diff --git a/.clang-tidy b/.clang-tidy index 05a83f9042025..6a17e66ee1428 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -18,7 +18,6 @@ misc-*,\ modernize-*,\ performance-*,\ readability-*,\ --cata-text-style,\ -bugprone-misplaced-widening-cast,\ -bugprone-narrowing-conversions,\ -bugprone-unused-return-value,\ diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 64849033283bb..32e97bc510a0a 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -149,6 +149,8 @@ If you are also looking for suggestions then mark it with [CR] — "comments req This can help speed up our review process by allowing us to only review the things that are ready for it, and will prevent anything that isn't completely ready from being merged in. +It is not required to solve or reference an open issue to file a PR, however, if you do so, you need to explain the problem your PR is solving in full detail. + ### All PRs should have a "Summary" line Summary is a one-line description of your change that will be extracted and added to the project changelog at https://github.com/CleverRaven/Cataclysm-DDA/blob/master/data/changelog.txt diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 31f3cceeb769d..aae7c6a86c06f 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -32,9 +32,9 @@ See the [Changelog Guidelines](https://github.com/CleverRaven/Cataclysm-DDA/blob #### Purpose of change diff --git a/Makefile b/Makefile index eec8f528a41ce..f7431a5b6d854 100644 --- a/Makefile +++ b/Makefile @@ -322,6 +322,7 @@ WARNINGS += -Wimplicit-fallthrough=0 endif CXXFLAGS += $(WARNINGS) $(DEBUG) $(DEBUGSYMS) $(PROFILE) $(OTHERS) -MMD -MP +TOOL_CXXFLAGS = -DCATA_IN_TOOL BINDIST_EXTRAS += README.md data doc BINDIST = $(BUILD_PREFIX)cataclysmdda-$(VERSION).tar.gz @@ -801,7 +802,7 @@ localization: lang/compile_mo.sh $(LANGUAGES) $(CHKJSON_BIN): $(CHKJSON_SOURCES) - $(CXX) $(CXXFLAGS) -Isrc/chkjson -Isrc $(CHKJSON_SOURCES) -o $(CHKJSON_BIN) + $(CXX) $(CXXFLAGS) $(TOOL_CXXFLAGS) -Isrc/chkjson -Isrc $(CHKJSON_SOURCES) -o $(CHKJSON_BIN) json-check: $(CHKJSON_BIN) ./$(CHKJSON_BIN) @@ -1040,7 +1041,8 @@ style-all-json: json_formatter find data -name "*.json" -print0 | xargs -0 -L 1 $(JSON_FORMATTER_BIN) json_formatter: $(JSON_FORMATTER_SOURCES) - $(CXX) $(CXXFLAGS) -Itools/format -Isrc $(JSON_FORMATTER_SOURCES) -o $(JSON_FORMATTER_BIN) + $(CXX) $(CXXFLAGS) $(TOOL_CXXFLAGS) -Itools/format -Isrc \ + $(JSON_FORMATTER_SOURCES) -o $(JSON_FORMATTER_BIN) tests: version $(BUILD_PREFIX)cataclysm.a $(MAKE) -C tests diff --git a/android/app/build.gradle b/android/app/build.gradle index b393eb0e88317..e9ea11a839860 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -9,8 +9,7 @@ def buildAsLibrary = project.hasProperty('BUILD_AS_LIBRARY'); def buildAsApplication = !buildAsLibrary if (buildAsApplication) { apply plugin: 'com.android.application' -} -else { +} else { apply plugin: 'com.android.library' } @@ -23,7 +22,7 @@ if (localPropertiesFile.exists()) { } def keystorePropertiesFilename = 'keystore.properties' -if( localProperties.getProperty('keystorePropertiesFilename') != null ) { +if (localProperties.getProperty('keystorePropertiesFilename') != null) { keystorePropertiesFilename = localProperties.getProperty("keystorePropertiesFilename") } @@ -37,85 +36,135 @@ if (keystorePropertiesFile.exists()) { def njobs = getProperty("j") +def localize = getProperty("localize").toBoolean() +def abi32 = getProperty("abi32").toBoolean() +def abi64 = getProperty("abi64").toBoolean() +def deps = getProperty("deps") +def override_version = getProperty("override_version") +def version_header_path = getProperty("version_header_path") + +if (!abi32 && !abi64) { + throw new GradleException("Both `abi32` and `abi64` properties are set to false") +} +if (!file(deps).exists()) { + throw new GradleException("Dependencies file does not exist:" + deps) +} + +if (!override_version.isEmpty()) { + if (version_header_path.isEmpty()) { + throw new GradleException("`version_header_path` cannot be empty when `override_version` is not empty") + } else { + println("Overriding version number to $override_version using path $version_header_path") + } +} + task unzipDeps(type: Copy) { - def zipFile = new File('./deps.zip') + println("Using dependencies file: $deps") + def zipFile = new File("$deps") def outputDir = new File('.') from zipTree(zipFile) into outputDir } -preBuild.dependsOn unzipDeps - -switch(OperatingSystem.current()) { - case OperatingSystem.LINUX: - task makeLocalization(type: Exec) { - workingDir './../..' - commandLine 'make', 'localization', 'LANGUAGES=all' - } - - preBuild.dependsOn makeLocalization - break - case OperatingSystem.WINDOWS: - task makeLocalization(type: Exec) { - workingDir './../..' - commandLine 'sh.exe', 'android/app/makelocalizations.sh' +task makeLocalization(type: Exec) { + if (localize) { + println("Building with localization'") + switch (OperatingSystem.current()) { + case OperatingSystem.LINUX: + workingDir './../..' + commandLine 'make', 'localization', 'LANGUAGES=all' + break + case OperatingSystem.WINDOWS: + workingDir './../..' + commandLine 'sh.exe', 'android/app/makelocalizations.sh' + break + default: + workingDir './../..' + commandLine 'echo', 'Building without localization' + break } - - unzipDeps.dependsOn makeLocalization - break + } else { + workingDir './../..' + commandLine 'echo', 'Building without localization' + } } +makeLocalization +unzipDeps.dependsOn makeLocalization +preBuild.dependsOn unzipDeps + android { compileSdkVersion 28 - if(OperatingSystem.current().isLinux()) { - exec { - workingDir './../..' - commandLine 'make', 'version' + if (override_version.isEmpty()) { + println("Generating version number to $version_header_path") + switch (OperatingSystem.current()) { + case OperatingSystem.LINUX: + exec { + workingDir './../..' + commandLine 'make', 'version' + } + break + case OperatingSystem.WINDOWS: + exec { + workingDir './../..' + commandLine 'sh.exe', '-c', 'make version' + } + break + default: + exec { + workingDir './../..' + commandLine 'make', 'version' + } + break } - } - if(OperatingSystem.current().isWindows()) { + } else { + println("Overriding version number to $override_version") exec { workingDir './../..' - commandLine 'sh.exe', '-c', 'make version' + commandLine 'echo', '#define VERSION $override_version', '>', '$version_header_path' } } defaultConfig { - minSdkVersion 21 + minSdkVersion 16 targetSdkVersion 28 - versionCode Integer.valueOf(System.env.UPSTREAM_BUILD_NUMBER ?: 1 ) - versionName new File('app/jni/src/version.h').text.split("\"")[1] + versionCode Integer.valueOf(System.env.UPSTREAM_BUILD_NUMBER ?: 1) + versionName new File("$version_header_path").text.split('\"')[1] if (buildAsApplication) { applicationId "com.cleverraven.cataclysmdda" setProperty("archivesBaseName", "cataclysmdda-" + versionName) } - splits { - // Configures multiple APKs based on ABI. - abi { - // Enables building multiple APKs per ABI. - enable true - // Resets the list of ABIs that Gradle should create APKs for to none. - reset() - // Specifies a list of ABIs that Gradle should create APKs for. - include "armeabi-v7a" - include "arm64-v8a" - // Specifies that we do not want to also generate a universal APK that includes all ABIs. - universalApk false + splits { + // Configures multiple APKs based on ABI. + abi { + // Enables building multiple APKs per ABI. + enable true + // Resets the list of ABIs that Gradle should create APKs for to none. + reset() + // Specifies a list of ABIs that Gradle should create APKs for. + if (abi32) { + include "armeabi-v7a" + } + if (abi64) { + include "arm64-v8a" + } + // Specifies that we do not want to also generate a universal APK that includes all ABIs. + universalApk false + } } - } - externalNativeBuild { - ndkBuild { - arguments "APP_PLATFORM=android-21", "-j$njobs" + externalNativeBuild { + ndkBuild { + arguments "APP_PLATFORM=android-16", "-j$njobs" + } } - } - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } signingConfigs { - if( keystoreProperties.getProperty('storeFile') != null ) { - if( file(keystoreProperties.getProperty('storeFile')).exists() ) { + if (keystoreProperties.getProperty('storeFile') != null) { + if (file(keystoreProperties.getProperty('storeFile')).exists()) { release { storeFile file(keystoreProperties.getProperty("storeFile")) storePassword keystoreProperties.getProperty("storePassword") @@ -131,7 +180,7 @@ android { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - if( signingConfigs.hasProperty("release") ) { + if (signingConfigs.hasProperty("release")) { signingConfig signingConfigs.release } externalNativeBuild { diff --git a/android/app/deps.zip b/android/app/deps.zip index 3d049f8e1ae65..75b4d2f68a635 100644 Binary files a/android/app/deps.zip and b/android/app/deps.zip differ diff --git a/android/app/src/main/java/org/libsdl/app/SDLActivity.java b/android/app/src/main/java/org/libsdl/app/SDLActivity.java index f370318a340ec..57ddc8a8c58cb 100644 --- a/android/app/src/main/java/org/libsdl/app/SDLActivity.java +++ b/android/app/src/main/java/org/libsdl/app/SDLActivity.java @@ -631,9 +631,9 @@ public void handleMessage(Message msg) { } else { int flags = View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_VISIBLE; window.getDecorView().setSystemUiVisibility(flags); - window.addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); - window.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); - SDLActivity.mFullscreenModeActive = false; + window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); + window.clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); + SDLActivity.mFullscreenModeActive = true; } } } else { @@ -1844,7 +1844,9 @@ public boolean onKey(View v, int keyCode, KeyEvent event) { if (source == InputDevice.SOURCE_UNKNOWN) { InputDevice device = InputDevice.getDevice(deviceId); - source = device.getSources(); + if (device != null) { + source = device.getSources(); + } } if ((source & InputDevice.SOURCE_KEYBOARD) != 0) { @@ -2119,24 +2121,17 @@ public boolean onKey(View v, int keyCode, KeyEvent event) { // @Override public boolean onKeyPreIme (int keyCode, KeyEvent event) { - // HACK: Make sure the SDL activity receives native events for back button, even if DummyEdit is in focus - if (keyCode == KeyEvent.KEYCODE_BACK) { - if (event.getAction()==KeyEvent.ACTION_DOWN) - SDLActivity.onNativeKeyDown(keyCode); - else if (event.getAction()==KeyEvent.ACTION_UP) - SDLActivity.onNativeKeyUp(keyCode); - } // As seen on StackOverflow: http://stackoverflow.com/questions/7634346/keyboard-hide-event // FIXME: Discussion at http://bugzilla.libsdl.org/show_bug.cgi?id=1639 // FIXME: This is not a 100% effective solution to the problem of detecting if the keyboard is showing or not // FIXME: A more effective solution would be to assume our Layout to be RelativeLayout or LinearLayout // FIXME: And determine the keyboard presence doing this: http://stackoverflow.com/questions/2150078/how-to-check-visibility-of-software-keyboard-in-android // FIXME: An even more effective way would be if Android provided this out of the box, but where would the fun be in that :) - //if (event.getAction()==KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) { - // if (SDLActivity.mTextEdit != null && SDLActivity.mTextEdit.getVisibility() == View.VISIBLE) { - // SDLActivity.onNativeKeyboardFocusLost(); - // } - //} + if (event.getAction()==KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK) { + if (SDLActivity.mTextEdit != null && SDLActivity.mTextEdit.getVisibility() == View.VISIBLE) { + SDLActivity.onNativeKeyboardFocusLost(); + } + } return super.onKeyPreIme(keyCode, event); } @@ -2144,7 +2139,7 @@ else if (event.getAction()==KeyEvent.ACTION_UP) public InputConnection onCreateInputConnection(EditorInfo outAttrs) { ic = new SDLInputConnection(this, true); - outAttrs.inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD; + outAttrs.inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_NORMAL; outAttrs.imeOptions = EditorInfo.IME_FLAG_NO_EXTRACT_UI | EditorInfo.IME_FLAG_NO_FULLSCREEN /* API 11 */; diff --git a/android/gradle.properties b/android/gradle.properties index 850bb8cec9752..ddd139c1216c7 100644 --- a/android/gradle.properties +++ b/android/gradle.properties @@ -19,3 +19,27 @@ org.gradle.jvmargs=-Xmx1536m # This property controls the number of jobs sent by -j switch to ndk-build # You can override this from the command line by passing "-Pj=#" j=2 + +# This property controls whether build should be run with localization +# You can override this from the command line by passing "-Plocalize=#" +localize=true + +# This property controls whether to build 32 bit ABI +# You can override this from the command line by passing "-Pabi32=#" +abi32=true + +# This property controls whether to build 64 bit ABI +# You can override this from the command line by passing "-Pabi64=#" +abi64=true + +# This property controls which dependencies file to use +# You can override this from the command line by passing "-Pdeps=#" +deps=./deps.zip + +# This property controls which override version number to use +# You can override this from the command line by passing "-Poverride_version=#" +override_version= + +# This property controls path where overriden version number header should be generated +# You can override this from the command line by passing "-pversion_header_path=#" +version_header_path=app/jni/src/version.h diff --git a/build-scripts/build.sh b/build-scripts/build.sh index acd9af20bf491..f8249440c0092 100755 --- a/build-scripts/build.sh +++ b/build-scripts/build.sh @@ -2,13 +2,14 @@ # Build script intended for use in Travis CI -set -ex +set -ex pipefail num_jobs=3 function run_tests { - $WINE "$@" -d yes --rng-seed time $EXTRA_TEST_OPTS + # The grep supresses lines that begin with "0.0## s:", which are timing lines for tests with a very short duration. + $WINE "$@" -d yes --use-colour yes --rng-seed time $EXTRA_TEST_OPTS | grep -Ev "^0\.0[0-9]{2} s:" } date +%s > build-start-time @@ -144,7 +145,7 @@ then cd android # Specify dumb terminal to suppress gradle's constatnt output of time spent building, which # fills the log with nonsense. - TERM=dumb ./gradlew assembleDebug -Pj=3 + TERM=dumb ./gradlew assembleRelease -Pj=$num_jobs -Plocalize=false -Pabi32=false -Pabi64=true -Pdeps=/home/travis/build/CleverRaven/Cataclysm-DDA/android/app/deps.zip else make -j "$num_jobs" RELEASE=1 CCACHE=1 BACKTRACE=1 CROSS="$CROSS_COMPILATION" LINTJSON=0 diff --git a/data/changelog.txt b/data/changelog.txt index cfe9ae3bb417b..c7cd20af3ca22 100644 --- a/data/changelog.txt +++ b/data/changelog.txt @@ -1,4 +1,4 @@ -# 0.E (2019-08-31) +# 0.E (2019-10-09) ## Features: Correctly set liquids as solid when they freeze. @@ -101,20 +101,59 @@ NPC will say what their current activity is + some infrastructure. Added ability to splint broken limbs to autodoc. Factions: start to implement useful faction relationship API. Riding animals and animal-pulled vehicles. -Allow quenching fires with any bashing item instead of wielded. -Add new mission type MGOAL_TALK_TO_NPC. -Way to manually put out controlled fire in a fireplace. -Adds skeletal shocker zombies. -Add furniture that can emit fields. -Give dynamic NPCs proper overmap pathing/travel. -Gutter downspouts to act as funnels. Faction ownership vehicles. -Implements baffle strikes on suppressors. -Use zone for designating a firewood source. -Add new mission/talk effect u_learn_recipe. -NPC activity rework - farming and generic multi-activity loop. -Add u_buy_monster talk effect. +Allow any rope-type item to tie animals up. +Gutter downspouts to act as funnels. +Give dynamic NPCs proper overmap pathing/travel. +Add furniture that can emit fields. +Way to manually put out controlled fire in a fireplace. +Add new mission type MGOAL_TALK_TO_NPC. +Adds vehicle part cargo weight percentage modifier. +Allow quenching fires with any bashing item instead of wielded. +Dogs only bark when they see danger. Pilotable combat and utility mech-suits. +Custom Filter loot zone. +Make secubots/turrets drop ammo and a salvageable robot carcass. +Allow different tiles for mounted creatures. +Dialogue writers can now directly add missions from JSON. +Add new MGOAL_CONDITION mission goal. +Add u/npc_has_skill condition. +Add new mapgen piece jmapgen_ter_furn_transform. +Allow player to pick up and handle frozen liquids. +Set r keybinding to Reload Item instead of a Reload Wielded Item. +Don't prompt for a direction for an action if there is only one direction possible. +Show needs in the comestible inventory windows. +Add u_buy_monster talk effect. +Eating raw fat has chance of parasites. +NPC activity rework - farming and generic multi-activity loop. +Add new mission/talk effect u_learn_recipe. +Use zone for designating a firewood source. +Implements baffle strikes on suppressors. +Add peeking through vehicle curtains. +NPC Fishing, Chopping logs and trees, and NPC butchery. +Charge bionics from UPS via Cable Charger System CBM. +Vehicle deconstruct zone for NPCs to work on. +Allow animal-drawn vehicles to follow a walking player. +NPCs: Improve the tactical AI and NPC QoL. +Adds SPEED option for enchantments. +Implements Damage Immunity Flags and Effects. +Add known factions to faction menu. +DROPS_AMMO monsters will drop their remaining ammo in magazines. +NPC missions: wrap the mission name in the selector UI. +Create dynamic micro-factions for dynamic NPCs. +NPCs: friendly NPCs consume from nearby camp stores. +Adds a NON_THRESHOLD flag to mutations so they don't count toward thresholds. +Adds RANDOM_ spell flags for duration, damage, and aoe. +Adds 'vomit' spell effect. +Basecamps: Basecamps anywhere. +Allow NPC to read books and learn on their own. +Allow NPCs to repair vehicles. +Allow player to use more multi-zone activities - chopping, deconstructing etc. +Adds REGEN_MANA and MAX_MANA to available enchantment values. +Allow martial arts techniques to target humanoids. +Add querry to stop trying to fall of sleep after 30min of trying. +Sleeping in a vehicle has the same features as sleeping on furnitures. +Basecamps: add an emergency recall option. ## Content: Adds refluffed and modified plasma gun. @@ -193,24 +232,32 @@ Bathtubs can be used like kegs or water heaters to store liquids. Added a metal motor boat with a single gasoline engine. Minefields will spawn only at the entry of the bridges. Adds in many missing descriptions for furniture and terrain. +Adds skeletal shocker zombies. +Prevent martial arts message when not using martial arts. +Adds new alien terrain types and a basic mi-go encampment map. Add deployable workspaces, and UI support for them. -Added several new types of portal environment. -Adds refluffed and modified plasma gun. -Change scenarios to be less restrictive and more generic. -Creates some monsters to inhabit mi-go encampments, adds prisoner NPCs, and adds mi-go camps to map spawns. -Adds polearm martial arts and one new weapon. -Adds new basic alien terrain types and a basic mi-go encampment map, does not yet spawn in-game. -Giant insects spawned from artifacts are now pets. Added CANPLAY flag to JSON to support it. -Added new "looters" map extra. -Ensure proper road connections, add subway connector level. -Add noise vehicle parts deconstruct (muffler, chimes, stereo, beeper). -Add sixty science fiction book snippets. -Add mi-go scout tower. +Added crashed airliner location. +Added hunting supply store location. +Add lighthouse. +Added a new mi-go monster with ranged capabilities. Adds steel mill location to the game. -Adds new foes to the collapsed tower. -Adds new absurdist texts. -Jsonify sewage treatment plant. -Adds speedloaders for shotguns. +Add mi-go scout tower. +Ensure proper road connections, add subway connector level. +Some Free Merchant missions will lead to minor changes around the Refugee Center. +Adds microlabs, small 4x4 labs that open only to the subway network. +Add Gazoline Fuel Cell CBM. +Rework secubot into a TALON UGV. +Added new human corpses types. +Add a new M240 equipped CROWS II to outposts. +Adds a new spell that provides invisibility. +Adds the Hounds of Tindalos, tough Nether monsters that can appear from teleglow. +Adds new faction camp expansion option, livestock area. +Gender-specific clothing on corpses. +Adds new faction expansion: storage house, includes: stone, log, wood panel, scrap metal and wattle/daub palettes. +Add Grocery bot to carry your groceries. +Add blackpowder loads for some cartridges. +Adds some islands for lakes. +Expand randomly-generated music descriptions. ## Interface: Corpses (not underwear) will be shown on top at the places of death in map extras. @@ -251,23 +298,41 @@ Add guidelines to vehicle interface for easier cursor location. Message cool-down - reduce similar message appearances. Wait option: Wait until you regain stamina. Auto-notes for map extras. -You can now view your missions from the overmap. -Add otpion to sepia tint remembered tiles instead of simply darkening them. -Selecting vehicle controls has been made smarter, and it won't prompt you if it doesn't need to. -Overmap mission UI improvements. -Adjust malnourishment to use bmi values. -Adjust mana panel code to only appear when the player knows spells. Show best tool quality when selecting butchering. -Show needs in the comestible inventory windows. -Don't prompt for a direction for an action if there is only one direction possible. -Allow different tiles for mounted creatures. -Fixed the Labels sidebar style. -Custom Filter loot zone. -Allow mission descriptions to refer to the effects of the mission. -Implement selective auto note preferences and a manager GUI to modify them. -Wait til Dawn/Dusk is changed to Daylight/Night. -Reordering and grouping skills list in @ menu. +Adjust mana panel code to only appear when the player knows spells. +Adjust malnourishment to use bmi values. +Genericize butchery messages for dissectables. +Overmap mission UI improvements. +Selecting vehicle controls has been made smarter, and it won't prompt you if it doesn't need to. +Added an option to position the item pickup panel. +You can now view your missions from the overmap. +Make windowed borderless fullscreen mode default on non-curses non-Android versions. +Debug tool for viewing map radiation. +Add movement mode coloration to panels, standardize mode letter fetching. +Tweaked @-menu (player stats description submenu) UI. +Allow map memory drawing mode selection through options. +Add new wide labels sidebar layout. refactor many panels functions. +Items inspected on the trade screen now show their description in addition to stats. +NPC trades will check for confirmation and inform players if they may not get full value. Show if monsters and NPCs are aware of the player in their description (visible when x - looking at them). +Reordering and grouping skills list in @ menu. +Wait til Dawn/Dusk is changed to Daylight/Night. +Implement selective auto note preferences and a manager GUI to modify them. +Allow mission descriptions to refer to the effects of the mission. +Map editor overhaul. +Always prompt before climbing or vaulting over terrain. +Fix water wheels and wind turbines not showing charge rate on vehicle overview. +Different starving messages for empty and non-empty stomach. +Replace kills window with new scores window showing additional info. +Rewrite some corpse descriptions. +Fixed "add/remove monster from safemode blacklist" text not visible in Look Around mode. +Show correct info about transform target's fitness. +Display craft name and % finished on top of screen. +Remove progress messages in exchange for progress popups. Add progress popup for disassembly. +Added ability to toggle minimap on and off in Look Around window. +Add visual indicators for dead zombies that can still revive. +Add run and crouch colors for the player's symbol in ASCII. +Display status for all long activities. ## Mods: Re-adds fictional martial arts as a mod. @@ -275,10 +340,20 @@ Added Aftershock sci-fi mod. Adds Mod: Buildable Hydroponics bays as furniture and adds Hydroponics in Labs. Adds the Magiclysm Mod. Add graphical mods category, put mods in it. -Adjust 'fast healing' mod name/description, fix duration data error. -Magiclysm: Black Dragons and related gear -Add Stats Through Kills Mod +Magiclysm: Add magic basement. +Add Stats Through Kills Mod. +Adds Bulettes and will-o-wisps to Magiclysm. +Magiclysm: Multiple Spell Effects. +Magiclysm: Adds daytime 'troll' monster to forests. +Magiclysm: Adds demon spiders and a demon spider queen lair. +Magiclysm: Add Used Bookstore and Nothic. Add personal and outer aura layers, as well as the intangible flag. +Spells can now be given a custom message when cast. +Magiclysm: Adds a new monster - black pudding. +Add Blood Power Generator CBM to Magiclysm. +My Sweet Cataclysm adds the ability to play as an humanoid made of sugar. +Heavy mining mod added. Add a mining car. +Adult Black Dragon lair. ## Balance: Remove reinforcement of non-cloth items. @@ -301,18 +376,15 @@ Player's weight varies with BMI and size. Nerf outlandish drug effects. Surgery consumes anesthetic at a rate of 2mL/mn. Reduce turn time to 1 second. -Changes game default start date to 30 days after Spring. -Salvaged CBM needs to be sterilized and re-conditioned. -Having a threshold mutation prerequisite no longer makes a particular mutation slightly less likely to occur. -Being grabbed drastically reduce your dodging ability. +Adjust turrets to reflect real world remote weapon systems. Vehicle wheels require vehicle mounts. Armored creatures won't take damage from stepping on a sharp or rough terrain types. -Handmade mags and clips require handfitting. Separates gunpowders by type. -Martial Arts rebalance project. -Tweaked turrets and military outpost mapgen. -Bionics add weight to character. -Makes vehicles and parts resistant to damage. +Make most bugs avoid fire and some avoid falling. +Cbms harvested from NPC are filthy and faulty. +Changes game default start date to 30 days after Spring. +Being grabbed drastically reduce your dodging ability. +Allow zombies to push each other when blocked. ## Bugfixes: Fixed long overmap location name being overwritten by "Distance to target:" string. @@ -334,16 +406,19 @@ Consume tool charges incrementally during crafting. Fixed bugs related to starting time, item rot and monster evolution. Refuel fires while waiting. Extreme cold and heat won't be damaging bandages or contaminate disinfected wounds no more. -Swapping profession in character creation removes previous traits. -Land zombies ignore fish in water. -Electric engines won't fail to start. -fix unpurifiable traits being mutated away. -Fix long durations displaying as 'forever'. -NPC running off fix. -Stop random NPC spawning in lakes and rivers. -Fix items spawning with bday at 0. -Vehicles: watercraft move in shallow water with sensible stamina loss. +Prevent fire from spreading through non-flammable walls. +Fixed the issue of NPCs shooting through you to get to zombies. +Fix NPCs reverting to the unrecruited state when asked to stop activity after save and load. +Fix crash observed when encountering Mi-go slavers with Magiclysm loaded. Fixed infinite loop on auto-sorting. +Avoid bug where monsters would sometimes go nuts with unnecessary movement. +vehicles: always apply a minimal slowdown. +Fix pulped Z raising anyway. +Fields are not spreading north-west when they shouldn't anymore. +Fix horses making engine sounds. +Fix items lying in furniture get damaged if one is throwing something at them. +Items piled up beyond a tile's limit can pass through walls. +You are still stuck in rubble even if you clear it with a shovel after getting stuck in it. ## Performance: Limit start location search radius. @@ -366,11 +441,19 @@ Avoid recalculating vision and lightmap unnecessarily. Only retrieve vehicle list once a turn. Increase performance by removing check for recipe every crafting turn. Allow member access to weather_datum to bypass unnecessary translation. -Speed up item::process_temperature_rot. -Defer testing validity of scent grid modification points until modification commit. -Remove dynamic_cast from Creature::sees and map::creature_in_field. +Speed up calls to get_wind_blockers. +Improve performance when fishing. Avoid unecessarally enumerating monsters. -Introduce a faster linked list implementation. +Remove dynamic_cast from Creature::sees and map::creature_in_field. +Defer testing validity of scent grid modification points until modification commit. +Speed up item::process_temperature_rot. +Optimize many NPC AI operations. +More NPC-at-rest optimization. +Minor vehicle performance optimizations. +Throttle NPC item search. +Optimize vine growth special attack. +Add adjustable 3D vision Z-level cap. +Skip sunlight calculation on uniform z-levels. ## Infrastructure: Npctalk: Complete overhaul of NPC conversation infrastructure. @@ -407,25 +490,90 @@ Cloaking is now tied to a json flag, allowing mods to introduce their own cloaki Mandate description of terrain and furniture. Basecamps: add a namespace and calculate workdays. Significant progress toward rationizing character/player/NPC classes. -Makes surgery a player_activity. -Add custom clang-tidy check to enforce consistent point initialization -Allow aliasing extendable lake shore terrain -Time audit. Saner calendar field names. -Use time_durations instead of ints for faults -Jsonize clothing mod. -Implement new item type for batteries. -Jsonize memory-related mutation modifiers. -Use point/tripoint rather than individual coordinates in overmapbuffer functions. -Add Spell fields as new members of spell_type. -Use time duration strings for effects. -Monsters can cast spells as a special attack. -JSON-ize terrain and furniture that produce light. -Change vehicle padding to a more optimal configuration. +Added weather change effect for carrying artifact with AEP_BAD_WEATHER property. +calc_ray_end can accept any integer properly. +Shift artifact effects to JSON. +Add lighting overlay (debug menu). Add energy units using units::quantity. -Add u/npc_adjust_var and u/npc_compare_var effects and conditions. -Introduce dedicated class to manage memorial log. -Add a prototype event bus and Cata-specific variant type. +Refactor player::calc_focus_equilibrium, disp_morale, update_mental_focus, reset_stats +Template read_from_json_string. +JSON-ize terrain and furniture that produce light. +Monsters can cast spells as a special attack. +Use time duration strings for effects. +Introduce a faster linked list implementation. +Add Spell fields as new members of spell_type. +Jsonize memory-related mutation modifiers. +Implement new item type for batteries. +Jsonize clothing mod. +Use time_durations instead of ints for faults. +Time audit. Saner calendar field names. +Unify spell effect functions to deprecate the if else ladder. +Allow aliasing extendable lake shore terrain. +Add custom clang-tidy check to enforce consistent point initialization. +Convert calendar into a namespace. +Magiclysm: Terrain (and furniture) alteration spell with example. +Add static analysis check for fields that could be replaced by points. +Jsonize Environemental protection form cbm. +Jsonize encumbrance from cbm. +Enforce use of point / tripoint overloads where available via a custom clang-tidy check. +Moved windows and flora (trees, shrubs, grass) into new files from terrain.json +Use bigger Travis ccache, and improve Travis log. +Kill all of the auto in item.cpp that is not an iterator or lambda. +Report a verbose error message in case of backtrace failing to grab the symbols. +Added support of various generator types for map extras. +Separates out liquid and door terrains. +Items in trades are better checked for errors. +Changed mutagen craft tools to crafting requirements. +clang-tidy now checks for use of point arithmetic and suggest refactoring to make more use thereof. +Introduce character_id type (rather than just using int). Jsonize Cbm power generation. +Change all instances of 'volume' in JSONs to be a metric string. +Allow spawning exactly one monster from a monster group and set it mission target. +Add a prototype event bus and Cata-specific variant type. +Overhaul of enum <-> string conversion code. +Track kills through event_bus in new dedicated kill_tracker class. +Change all instances of 'storage' in JSONs to be a metric string. +Jsonize Weight capacity modifier for armor and CBM. +Change all instances of 'volume' in JSONs to be a metric string again. +Allow missions to specify if they provide generic rewards. +Character: migrate my_fac down from npc. +Introduce dedicated class to manage memorial log. +Weight and weight_integral can be defined using a string. +Monsters casting spells can now get custom message. +Add u/npc_adjust_var and u/npc_compare_var effects and conditions. +Use mass strings for item weight. +Improve built-in support for (de)serialization of containers. +Show charges, damage, active, tags and item variables of items in debug mode. +Add new object to track event statistics for use in calculating scores. +Jsonize passive artifact effects. +NPCs: annotate talk_tags with the usage. +NPC can used fueled CBMs. +Simplify sterilizing CBM behind the scene logic. +Refactor object cloning to improve memory safety and simplify implementation. +Stricter json parsing; errors will occur in more places. +Added post-apocalyptic prices to all ammo types. +Improve AppStream data. +Support json-defined scores as a function of events. +Use clang-tidy to check gettext calls in static variables. +Jsonise passive stat bonus from bionics. +Introduce functions to assist with drawing tabbed windows. +Allow auto-wielding of items in professions. +Spells can teach new spells. +Enable Magiclysm on one Travis job. +Power gen bionic can emit heat, fields and warm part they occupy. +Preliminary tagging of all overmap locations for NPC AI. +Make possible to define `item_transform` and `cast_spell` item actions which are only allowed when wielding or wearing item. +Rework and unify teleport methods. +Can use string to specify price. +Make PR validator more robust. +Create enchantment cache for use with enchantment values. +Adds JSON capability to range_with_even_chance_of_good_hit. +Uses the units::energy infrastructure for bionic power. +Clarify some documentation relevant to monsters and basecamp recipes. +Add table of contents to JSON_INFO.md +Add a clang-tidy check to check for text style in the c++ code. +Encapsulate bionic power and use setter and getter functions. +Move player armor functions to Character scope. ## Build: Npctalk: add a python dialogue validator. @@ -433,11 +581,20 @@ Update homebrew install instructions. Adds Flatpak build recipe. Clarify the compiling directions for Visual Studio. Enable github bot that automates closing stale issues. -Fixed compilation with gcc 7.4. +Add cygwin to COMPILING.md, also add short descriptions of each option. +Android build updates. +simplify and improve flatpak support. +Allow building with Clang using MinGW-w64 libs. +Check translator comments with clang-tidy. ## I18N and A11Y: Use translation markers to increase performance. Make the translation for field name display. +Automatically switch IME mode between text input and raw input on Windows. +Correctly extract npc dialogue lines for translation. +Allow translation of non-character key names. +Add position marker to some format strings. +Support plural strings in the translation class. # 0.D (Danny) diff --git a/data/core/tips.json b/data/core/tips.json index 984817effb543..c75ea2b1e45b9 100644 --- a/data/core/tips.json +++ b/data/core/tips.json @@ -122,7 +122,7 @@ { "type": "snippet", "category": "tip", - "text": [ "Rotten food typically attracts bugs, and bugs got a lot bigger recently..." ] + "text": [ "Rotten food typically attracts bugs, and bugs got a lot bigger recently…" ] }, { "type": "snippet", @@ -222,7 +222,7 @@ { "type": "snippet", "category": "tip", - "text": [ "Routine kills. Stay alert! Don't let your guard down." ] + "text": [ "Routine kills. Stay alert! Don't let your guard down." ] }, { "type": "snippet", @@ -312,7 +312,7 @@ { "type": "snippet", "category": "tip", - "text": [ "A survivor saved is a friend earned. Most of the time..." ] + "text": [ "A survivor saved is a friend earned. Most of the time…" ] }, { "type": "snippet", diff --git a/data/json/bionics.json b/data/json/bionics.json index 70dcb57f63f43..a9e13c815999a 100644 --- a/data/json/bionics.json +++ b/data/json/bionics.json @@ -41,7 +41,7 @@ "id": "bio_armor_arms", "type": "bionic", "name": "Alloy Plating - Arms", - "description": "The flesh on your arms has been surgically replaced by alloy plating. Provides passive protection and can be used in conjunction with bionic martial arts.", + "description": "The flesh on your arms has been surgically replaced by alloy plating. Provides passive protection and can be used in conjunction with bionic martial arts.", "occupied_bodyparts": [ [ "ARM_L", 4 ], [ "ARM_R", 4 ] ], "flags": [ "BIONIC_NPC_USABLE", "BIONIC_SHOCKPROOF" ] }, @@ -59,14 +59,14 @@ "type": "bionic", "name": "Alloy Plating - Head", "description": "The flesh on your head has been surgically replaced by alloy plating, protecting both your head and jaw regions.", - "occupied_bodyparts": [ [ "HEAD", 5 ] ], + "occupied_bodyparts": [ [ "HEAD", 5 ], [ "MOUTH", 1 ] ], "flags": [ "BIONIC_NPC_USABLE", "BIONIC_SHOCKPROOF" ] }, { "id": "bio_armor_legs", "type": "bionic", "name": "Alloy Plating - Legs", - "description": "The flesh on your legs has been surgically replaced by alloy plating. Provides passive protection and can be used in conjunction with bionic martial arts.", + "description": "The flesh on your legs has been surgically replaced by alloy plating. Provides passive protection and can be used in conjunction with bionic martial arts.", "occupied_bodyparts": [ [ "LEG_L", 6 ], [ "LEG_R", 6 ] ], "flags": [ "BIONIC_NPC_USABLE", "BIONIC_SHOCKPROOF" ] }, @@ -82,9 +82,12 @@ "id": "bio_batteries", "type": "bionic", "name": "Battery System", - "capacity": 10, "description": "You have a battery draining attachment, and thus can make use of the energy contained in normal, everyday batteries. Use 'E' to drain charge from a battery. Can be toggled on and off at will.", "occupied_bodyparts": [ [ "TORSO", 25 ] ], + "fuel_options": [ "battery" ], + "fuel_efficiency": 1, + "fuel_capacity": 2000, + "time": 1, "flags": [ "BIONIC_POWER_SOURCE", "BIONIC_TOGGLED", "BIONIC_NPC_USABLE" ] }, { @@ -136,7 +139,6 @@ "id": "bio_cable", "type": "bionic", "name": "Cable Charger System", - "capacity": 10, "description": "You have a complex port surgically mounted above your hip. While active, it will recharge bionic power when connected to a power source via jumper cable.", "occupied_bodyparts": [ [ "TORSO", 10 ] ], "flags": [ "BIONIC_POWER_SOURCE", "BIONIC_SHOCKPROOF", "BIONIC_TOGGLED" ] @@ -323,17 +325,24 @@ "id": "bio_ethanol", "type": "bionic", "name": "Ethanol Burner", - "description": "You burn alcohol as fuel in an extremely efficient reaction. However, you will still suffer the inebriating effects of the substance.", + "description": "You burn alcohol as fuel in an extremely efficient reaction.", "occupied_bodyparts": [ [ "TORSO", 26 ] ], - "flags": [ "BIONIC_POWER_SOURCE", "BIONIC_NPC_USABLE", "BIONIC_SHOCKPROOF" ] + "fuel_options": [ "chem_ethanol", "chem_methanol", "denat_alcohol" ], + "fuel_capacity": 500, + "fuel_efficiency": 0.5, + "exothermic_power_gen": true, + "time": 1, + "flags": [ "BIONIC_POWER_SOURCE", "BIONIC_NPC_USABLE", "BIONIC_SHOCKPROOF", "BIONIC_TOGGLED" ] }, { "id": "bio_evap", "type": "bionic", "name": "Aero-Evaporator", - "description": "This unit draws moisture from the surrounding air, which then is poured from a fingertip in the form of water. It may fail in very dry environments.", - "occupied_bodyparts": [ [ "TORSO", 5 ], [ "HAND_R", 1 ] ], - "act_cost": "720 kJ" + "description": "This unit draws moisture from the surrounding air, which slowly trickles directly into your blood stream. It may fail in very dry environments.", + "occupied_bodyparts": [ [ "TORSO", 5 ] ], + "react_cost": "60 J", + "time": 1, + "flags": [ "BIONIC_TOGGLED" ] }, { "id": "bio_eye_enhancer", @@ -563,11 +572,11 @@ { "id": "bio_lighter", "type": "bionic", - "name": "Mini-Flamethrower", + "name": "Finger Lighter", "description": "The index fingers of both hands have powerful fire starters which extend from the tip.", "occupied_bodyparts": [ [ "HAND_L", 1 ], [ "HAND_R", 1 ] ], "fake_item": "fake_firestarter", - "act_cost": 75 + "act_cost": "3 kJ" }, { "id": "bio_lockpick", @@ -581,7 +590,7 @@ "id": "bio_magnet", "type": "bionic", "name": "Electromagnetic Unit", - "description": "Surgically embedded in your right hand is a powerful electromagnet, allowing you to indiscriminately pull all nearby magnetic objects towards you. Unlucky bystanders might be injured or killed by flying objects.", + "description": "Surgically embedded in your right hand is a powerful electromagnet, allowing you to use your own strength to pull all nearby magnetic objects towards you. Unlucky bystanders might be injured or killed by flying objects.", "occupied_bodyparts": [ [ "HAND_R", 3 ] ], "act_cost": "10 kJ" }, @@ -610,6 +619,9 @@ "name": "Metabolic Interchange", "description": "Your digestive system and power supply are interconnected; bionic energy is replenished by burning calories. Can be toggled on and off at will.", "occupied_bodyparts": [ [ "TORSO", 25 ] ], + "fuel_options": [ "metabolism" ], + "fuel_efficiency": 0.25, + "time": 1, "flags": [ "BIONIC_POWER_SOURCE", "BIONIC_TOGGLED", "BIONIC_NPC_USABLE" ] }, { @@ -624,15 +636,18 @@ "id": "bio_nanobots", "type": "bionic", "name": "Repair Nanobots", - "description": "Inside your body is a fleet of tiny dormant robots. While activated they will flit about your body, repairing damage at 1 HP/s and stopping bleeding at the cost of power.", + "description": "Inside your body is a fleet of tiny dormant robots. While activated they will flit about your body, repairing damage at 1 HP per minute and stopping bleeding at the cost of extra power and stored calories.", "occupied_bodyparts": [ [ "TORSO", 10 ] ], - "flags": [ "BIONIC_TOGGLED", "BIONIC_NPC_USABLE" ] + "flags": [ "BIONIC_TOGGLED", "BIONIC_NPC_USABLE" ], + "act_cost": "80 J", + "react_cost": "4 J", + "time": 1 }, { "id": "bio_night", "type": "bionic", "name": "Artificial Night Generator", - "description": "When active, this bionic eliminates all light within a 15 tile radius through destructive interference.", + "description": "When active, this bionic eliminates all light within a 2 tile radius through destructive interference.", "occupied_bodyparts": [ [ "TORSO", 16 ] ], "flags": [ "BIONIC_TOGGLED" ], "act_cost": "9 kJ", @@ -662,7 +677,7 @@ "id": "bio_nostril", "type": "bionic", "name": "Bionic Nostril", - "description": "You're really not sure how the CBM ended up in your nose, but no matter how it got there this badly misplaced bionic makes it difficult to breathe. Increases mouth encumbrance by one.", + "description": "You're really not sure how the CBM ended up in your nose, but no matter how it got there this badly misplaced bionic makes it difficult to breathe. Increases mouth encumbrance by ten.", "occupied_bodyparts": [ [ "HEAD", 2 ], [ "MOUTH", 1 ] ], "encumbrance": [ [ "MOUTH", 10 ] ], "flags": [ "BIONIC_FAULTY" ] @@ -690,7 +705,7 @@ "id": "bio_pokedeye", "type": "bionic", "name": "Bionic Visual Impairment", - "description": "Due to a badly misplaced dielectric stylette, you are now suffering from mild optic neuropathy. Increases eye encumbrance by one.", + "description": "Due to a badly misplaced dielectric stylette, you are now suffering from mild optic neuropathy. Increases eye encumbrance by ten.", "occupied_bodyparts": [ [ "EYES", 1 ] ], "encumbrance": [ [ "EYES", 10 ] ], "flags": [ "BIONIC_FAULTY" ] @@ -719,16 +734,16 @@ "id": "bio_power_storage", "type": "bionic", "name": "Power Storage", - "capacity": 100, - "description": "A Compact Bionics Module that increases your power capacity by 100 units. Having at least one of these is a prerequisite to using powered bionics. You will also need a power supply, found in various CBMs.", + "capacity": "100 kJ", + "description": "A Compact Bionics Module that increases your power capacity by 100 kJ. Having at least one of these is a prerequisite to using powered bionics. You will also need a power supply, found in various CBMs.", "flags": [ "BIONIC_NPC_USABLE" ] }, { "id": "bio_power_storage_mkII", "type": "bionic", "name": "Power Storage Mk. II", - "capacity": 250, - "description": "A Compact Bionics Module that increases your power capacity by 250 units.", + "capacity": "250 kJ", + "description": "A Compact Bionics Module that increases your power capacity by 250 kJ.", "flags": [ "BIONIC_NPC_USABLE" ] }, { @@ -967,7 +982,7 @@ "id": "bio_thumbs", "type": "bionic", "name": "Self-Locking Thumbs", - "description": "Self-locking thumbs hold tight (even when you really don't want them to) and don't let go (even when you'd rather they did). Increases hand encumbrance by two, while failing to improve your ability to hold objects whatsoever.", + "description": "Self-locking thumbs hold tight (even when you really don't want them to) and don't let go (even when you'd rather they did). Increases hand encumbrance by ten, while failing to improve your ability to hold objects whatsoever.", "occupied_bodyparts": [ [ "HAND_L", 1 ], [ "HAND_R", 1 ] ], "encumbrance": [ [ "HAND_L", 10 ], [ "HAND_R", 10 ] ], "flags": [ "BIONIC_FAULTY" ] @@ -1016,6 +1031,9 @@ "name": "Joint Torsion Ratchet", "description": "Your joints have been surgically equipped with torsion ratchets that slowly generate power when you move. Whilst this is toggled, moving will require more effort, though more power will be generated.", "occupied_bodyparts": [ [ "ARM_L", 8 ], [ "ARM_R", 8 ], [ "LEG_L", 12 ], [ "LEG_R", 12 ] ], + "fuel_options": [ "muscle" ], + "fuel_efficiency": 0.125, + "passive_fuel_efficiency": 0.00625, "flags": [ "BIONIC_POWER_SOURCE", "BIONIC_NPC_USABLE", "BIONIC_TOGGLED" ] }, { @@ -1080,7 +1098,7 @@ "id": "bio_fuel_cell_gasoline", "type": "bionic", "name": "Gasoline Fuel Cell CBM", - "description": "A small gasoline fuel cell fixed to your scapula. Despite its limited energy output compared to other fuel cells, this device still produces a significant amount of heat dissipated through a heat exhaust protruding from your back. A diffuse network of bio-plastic bladders has been meshed with your circulatory system and serves as a fuel tank.", + "description": "A small gasoline fuel cell fixed to your scapula. Despite its limited energy output compared to other fuel cells, this device still produces a significant amount of heat dissipated through a heat exhaust protruding from your back. A diffuse network of bio-plastic bladders has been meshed with your circulatory system and serves as a fuel tank.", "occupied_bodyparts": [ [ "TORSO", 8 ] ], "encumbrance": [ [ "TORSO", 5 ] ], "fuel_options": [ "gasoline" ], @@ -1118,7 +1136,7 @@ "id": "bio_taste_blocker", "type": "bionic", "name": "Taste Modifier", - "description": "A set of highly sensitive sensors is installed in your mouth, and a small yet sophisticated analyzer is installed in the cavity of your skull. The active bionic will nullify the taste of all comestibles with negative enjoyment value at the cost of draining bionic power.", + "description": "A set of highly sensitive sensors is installed in your mouth, and a small yet sophisticated analyzer is installed in the cavity of your skull. The active bionic will nullify the taste of all comestibles with negative enjoyment value at the cost of draining bionic power.", "occupied_bodyparts": [ [ "HEAD", 1 ], [ "MOUTH", 1 ] ], "flags": [ "BIONIC_TOGGLED" ] }, diff --git a/data/json/body_parts.json b/data/json/body_parts.json index c973a2db3f448..e1c442afe2631 100644 --- a/data/json/body_parts.json +++ b/data/json/body_parts.json @@ -13,7 +13,8 @@ "hit_size_relative": [ 20, 33.33, 36.57 ], "hit_difficulty": 1, "side": "both", - "legacy_id": "TORSO" + "legacy_id": "TORSO", + "bionic_slots": 80 }, { "id": "head", @@ -29,7 +30,8 @@ "hit_size_relative": [ 0, 2.33, 5.71 ], "hit_difficulty": 1.35, "side": "both", - "legacy_id": "HEAD" + "legacy_id": "HEAD", + "bionic_slots": 18 }, { "id": "eyes", @@ -44,7 +46,8 @@ "hit_size_relative": [ 0, 0.33, 0.57 ], "hit_difficulty": 1.15, "side": "both", - "legacy_id": "EYES" + "legacy_id": "EYES", + "bionic_slots": 4 }, { "id": "mouth", @@ -59,7 +62,8 @@ "hit_size_relative": [ 0, 0, 0 ], "hit_difficulty": 1.15, "side": "both", - "legacy_id": "MOUTH" + "legacy_id": "MOUTH", + "bionic_slots": 4 }, { "id": "arm_l", @@ -76,7 +80,8 @@ "hit_size_relative": [ 15, 20, 22.86 ], "hit_difficulty": 0.95, "side": "left", - "legacy_id": "ARM_L" + "legacy_id": "ARM_L", + "bionic_slots": 20 }, { "id": "arm_r", @@ -93,7 +98,8 @@ "hit_size_relative": [ 15, 20, 22.86 ], "hit_difficulty": 0.95, "side": "right", - "legacy_id": "ARM_R" + "legacy_id": "ARM_R", + "bionic_slots": 20 }, { "id": "hand_l", @@ -109,7 +115,8 @@ "hit_size_relative": [ 0, 0, 0 ], "hit_difficulty": 1.1, "side": "left", - "legacy_id": "HAND_L" + "legacy_id": "HAND_L", + "bionic_slots": 5 }, { "id": "hand_r", @@ -125,7 +132,8 @@ "hit_size_relative": [ 0, 0, 0 ], "hit_difficulty": 1.1, "side": "right", - "legacy_id": "HAND_R" + "legacy_id": "HAND_R", + "bionic_slots": 5 }, { "id": "leg_l", @@ -142,7 +150,8 @@ "hit_size_relative": [ 25, 12, 5.71 ], "hit_difficulty": 0.975, "side": "left", - "legacy_id": "LEG_L" + "legacy_id": "LEG_L", + "bionic_slots": 30 }, { "id": "leg_r", @@ -159,7 +168,8 @@ "hit_size_relative": [ 25, 12, 5.71 ], "hit_difficulty": 0.975, "side": "right", - "legacy_id": "LEG_R" + "legacy_id": "LEG_R", + "bionic_slots": 30 }, { "id": "foot_l", @@ -175,7 +185,8 @@ "hit_size_relative": [ 0, 0, 0 ], "hit_difficulty": 0.8, "side": "left", - "legacy_id": "FOOT_L" + "legacy_id": "FOOT_L", + "bionic_slots": 7 }, { "id": "foot_r", @@ -191,7 +202,8 @@ "hit_size_relative": [ 0, 0, 0 ], "hit_difficulty": 0.8, "side": "right", - "legacy_id": "FOOT_R" + "legacy_id": "FOOT_R", + "bionic_slots": 7 }, { "id": "num_bp", diff --git a/data/json/construction.json b/data/json/construction.json index 317e885fdb418..4b3349750762d 100644 --- a/data/json/construction.json +++ b/data/json/construction.json @@ -850,6 +850,38 @@ "pre_terrain": "t_pit_shallow", "post_terrain": "t_woodchips" }, + { + "type": "construction", + "description": "Make Gravel Floor", + "//": "Covers the floor with pebbles. Used for constructing railroads.", + "category": "CONSTRUCT", + "required_skills": [ [ "fabrication", 1 ] ], + "time": "40 m", + "components": [ [ [ "pebble", 100 ] ] ], + "post_terrain": "t_railroad_rubble" + }, + { + "type": "construction", + "description": "Build Straight Small Railroad Track", + "category": "CONSTRUCT", + "required_skills": [ [ "fabrication", 4 ] ], + "time": "30 m", + "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], + "components": [ [ [ "railroad_track_small", 1 ] ], [ [ "2x4", 4 ] ], [ [ "nail", 20 ] ], [ [ "sheet_metal_small", 2 ] ] ], + "pre_terrain": "t_railroad_rubble", + "post_terrain": "t_railroad_track_small" + }, + { + "type": "construction", + "description": "Build Diagonal Small Railroad Track", + "category": "CONSTRUCT", + "required_skills": [ [ "fabrication", 4 ] ], + "time": "30 m", + "qualities": [ [ { "id": "HAMMER", "level": 2 } ] ], + "components": [ [ [ "railroad_track_small", 1 ] ], [ [ "2x4", 4 ] ], [ [ "nail", 20 ] ], [ [ "sheet_metal_small", 2 ] ] ], + "pre_terrain": "t_railroad_rubble", + "post_terrain": "t_railroad_track_small_d" + }, { "type": "construction", "description": "Build Wooden Floor", @@ -1257,6 +1289,30 @@ "pre_special": "check_empty", "post_terrain": "t_chaingate_c" }, + { + "type": "construction", + "description": "Build Screen Door", + "category": "CONSTRUCT", + "required_skills": [ [ "fabrication", 2 ] ], + "time": "60 m", + "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], + "components": [ [ [ "screen_mesh", 1 ] ], [ [ "2x4", 4 ] ], [ [ "nail", 20 ] ], [ [ "hinge", 2 ] ] ], + "pre_note": "Needs to be supported on both sides by fencing, walls, etc.", + "pre_special": "check_empty", + "post_terrain": "t_screen_door_c" + }, + { + "type": "construction", + "description": "Build Screen Mesh Wall", + "category": "CONSTRUCT", + "required_skills": [ [ "fabrication", 2 ] ], + "time": "60 m", + "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 2 } ] ], + "components": [ [ [ "screen_mesh", 1 ] ], [ [ "2x4", 4 ] ], [ [ "nail", 10 ] ] ], + "pre_note": "Needs to be supported on both sides by fencing, walls, etc.", + "pre_special": "check_empty", + "post_terrain": "t_screened_porch_wall" + }, { "type": "construction", "description": "Build Chickenwire Fence", @@ -1390,6 +1446,17 @@ "pre_special": "check_empty", "post_terrain": "f_bookcase" }, + { + "type": "construction", + "description": "Build Entertainment Center", + "category": "FURN", + "required_skills": [ [ "fabrication", 2 ] ], + "time": "80 m", + "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 1 } ] ], + "components": [ [ [ "2x4", 14 ] ], [ [ "wood_sheet", 1 ], [ "wood_panel", 2 ] ], [ [ "nail", 20 ] ] ], + "pre_special": "check_empty", + "post_terrain": "f_entertainment_center" + }, { "type": "construction", "description": "Build Locker", @@ -1477,6 +1544,17 @@ "pre_special": "check_empty", "post_terrain": "f_table" }, + { + "type": "construction", + "description": "Build Coffee Table", + "category": "FURN", + "required_skills": [ [ "fabrication", 1 ] ], + "time": "30 m", + "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 1 } ] ], + "components": [ [ [ "2x4", 2 ] ], [ [ "wood_sheet", 1 ], [ "wood_panel", 1 ] ], [ [ "nail", 8 ] ] ], + "pre_special": "check_empty", + "post_terrain": "f_coffee_table" + }, { "type": "construction", "description": "Build Workbench", @@ -1575,7 +1653,7 @@ "required_skills": [ [ "fabrication", 4 ] ], "time": "60 m", "qualities": [ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "SAW_W", "level": 1 } ] ], - "components": [ [ [ "2x4", 12 ] ], [ [ "nail", 10 ] ], [ [ "mattress", 1 ] ] ], + "components": [ [ [ "2x4", 12 ] ], [ [ "nail", 10 ] ], [ [ "mattress", 1 ], [ "down_mattress", 1 ] ] ], "pre_special": "check_empty", "post_terrain": "f_bed" }, @@ -1596,7 +1674,7 @@ "category": "FURN", "required_skills": [ [ "fabrication", 0 ] ], "time": 5, - "components": [ [ [ "mattress", 1 ] ] ], + "components": [ [ [ "mattress", 1 ], [ "down_mattress", 1 ] ] ], "pre_terrain": "f_bed_frame", "post_terrain": "f_bed" }, @@ -2157,7 +2235,7 @@ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "DIG", "level": 2 } ] ], - "tools": [ [ [ "pickaxe", -1 ], [ "jackhammer", 30 ], [ "elec_jackhammer", 30 ] ] ], + "tools": [ [ [ "pickaxe", -1 ], [ "jackhammer", 140 ], [ "elec_jackhammer", 7000 ] ] ], "components": [ [ [ "2x4", 8 ], [ "log", 8 ] ], [ [ "rope_makeshift_30", 1 ], [ "rope_30", 1 ], [ "vine_30", 1 ] ] ], "pre_flags": "DIGGABLE", "post_special": "done_dig_stair" @@ -2173,7 +2251,7 @@ [ { "id": "HAMMER", "level": 2 } ], [ { "id": "DIG", "level": 2 } ] ], - "tools": [ [ [ "pickaxe", -1 ], [ "jackhammer", 30 ], [ "elec_jackhammer", 30 ] ] ], + "tools": [ [ [ "pickaxe", -1 ], [ "jackhammer", 160 ], [ "elec_jackhammer", 8000 ] ] ], "components": [ [ [ "2x4", 12 ], [ "log", 12 ] ], [ [ "rope_makeshift_30", 1 ], [ "rope_30", 1 ], [ "vine_30", 1 ] ] ], "pre_special": "check_down_OK", "pre_terrain": "t_rock_floor", @@ -2229,7 +2307,7 @@ [ { "id": "DIG", "level": 2 } ] ], "tools": [ - [ [ "pickaxe", -1 ], [ "jackhammer", 30 ], [ "elec_jackhammer", 30 ] ], + [ [ "pickaxe", -1 ], [ "jackhammer", 160 ], [ "elec_jackhammer", 8000 ] ], [ "miner_hat", "hat_hard", @@ -3112,7 +3190,7 @@ "components": [ [ [ "processor", 2 ] ], [ [ "RAM", 2 ] ], - [ [ "small_lcd_screen", 1 ] ], + [ [ "large_lcd_screen", 1 ] ], [ [ "e_scrap", 8 ] ], [ [ "frame", 1 ] ], [ [ "circuit", 4 ] ], @@ -3123,5 +3201,16 @@ ], "pre_flags": [ "FLAT" ], "post_terrain": "t_radio_controls" + }, + { + "type": "construction", + "description": "Build Log Stool", + "category": "FURN", + "required_skills": [ [ "survival", 1 ] ], + "time": "10 m", + "qualities": [ [ { "id": "CUT", "level": 1 } ] ], + "components": [ [ [ "log", 1 ] ] ], + "pre_special": "check_empty", + "post_terrain": "f_logstool" } ] diff --git a/data/json/dreams.json b/data/json/dreams.json index fc4a05962df2d..372a73dc0f75e 100644 --- a/data/json/dreams.json +++ b/data/json/dreams.json @@ -572,6 +572,13 @@ "type": "dream", "messages": [ "You dream of bees fighting over your sweet nectar. Mmm.", + "How grand it would be to sink your roots deep into the soil as the seasons pass you by.", + "You dream of a gigantic knot of roots, beating like a heart.", + "You have a disturbing dream of termites chewing all over your body.", + "You dream of sharing your roots with a vast forest, all plants provided for as the canopy grows ever upwards.", + "A family of caterpillars munches away at your leaves.", + "Fire rages around you, licking at your bark and engulfing the saplings and bushes near your roots. The once chatty forest is quiet in its wake.", + "You dream of communing with an ancient pine. Trees are the true survivors of this world, it tells you.", "A rather attractive triffid offers you a bouquet of ape heads. How thoughtful!" ], "category": "PLANT", diff --git a/data/json/effects.json b/data/json/effects.json index 154e692dde1ef..e8cc21f70ec52 100644 --- a/data/json/effects.json +++ b/data/json/effects.json @@ -734,15 +734,15 @@ "str_mod": [ -1 ], "dex_mod": [ -1 ], "vomit_chance": [ 1000, 1200 ], - "sleep_min": [ 60, 30 ], - "sleep_chance": [ -102 ] + "fatigue_min": [ 360, 180 ], + "fatigue_chance": [ -102 ] }, "scaling_mods": { "pain_max_val": [ 30, 20 ], "str_mod": [ -1, -0.5 ], "dex_mod": [ -1, -0.5 ], "vomit_chance": [ -400 ], - "sleep_chance": [ 101 ] + "fatigue_chance": [ 101 ] } }, { @@ -760,10 +760,10 @@ "str_mod": [ -1 ], "dex_mod": [ -1 ], "vomit_chance": [ 1000 ], - "sleep_min": [ 60 ], - "sleep_chance": [ -102 ] + "fatigue_min": [ 360 ], + "fatigue_chance": [ -102 ] }, - "scaling_mods": { "pain_max_val": [ 30 ], "str_mod": [ -1 ], "dex_mod": [ -1 ], "vomit_chance": [ -400 ], "sleep_chance": [ 101 ] } + "scaling_mods": { "pain_max_val": [ 30 ], "str_mod": [ -1 ], "dex_mod": [ -1 ], "vomit_chance": [ -400 ], "fatigue_chance": [ 101 ] } }, { "type": "effect_type", @@ -852,6 +852,17 @@ "miss_messages": [ [ "You tremble", 4 ] ], "base_mods": { "str_mod": [ -1 ], "dex_mod": [ -4 ] } }, + { + "type": "effect_type", + "id": "motor_seizure", + "name": [ "Seizure" ], + "//": "Intended to be applied with downed to make it nearly impossible for player to stand.", + "rating": "bad", + "remove_message": "You regain control of your muscles!", + "desc": [ "Your muscles have seized up, and you can't control them!" ], + "miss_messages": [ [ "Your muscles won't cooperate!", 20 ] ], + "base_mods": { "str_mod": [ -12 ], "dex_mod": [ -20 ] } + }, { "type": "effect_type", "id": "bleed", @@ -1260,8 +1271,8 @@ "base_mods": { "vomit_chance": [ -43 ], "sleep_chance": [ -1003 ], - "sleep_min": [ 2500 ], - "sleep_max": [ 3500 ], + "sleep_min": [ 15000 ], + "sleep_max": [ 21000 ], "pkill_amount": [ 3 ], "pkill_max_val": [ 3 ], "pkill_min": [ 1 ], @@ -1570,6 +1581,19 @@ "remove_message": "Your metabolism becomes more stable.", "rating": "bad" }, + { + "type": "effect_type", + "id": "toxin_buildup", + "name": [ "", "Concerning symptoms", "Unnerving symptoms" ], + "desc": [ + "", + "Your muscles keep twitching strangely.", + "Your nervous system is malfunctioning, almost like it's being torn apart from the inside." + ], + "base_mods": { "h_mod_min": [ -1 ], "h_mod_chance": [ 1 ], "h_mod_chance_bot": [ 5 ], "h_mod_tick": [ 1800 ] }, + "max_intensity": 3, + "scaling_mods": { "h_mod_min": [ -5 ] } + }, { "type": "effect_type", "id": "cough_suppress" @@ -1773,6 +1797,26 @@ "desc": [ "You've been struck by lightning, and feel... different." ], "base_mods": { "speed_mod": [ 50 ] } }, + { + "type": "effect_type", + "id": "grown_of_fuse", + "name": [ "Grown of Fusion" ], + "desc": [ "AI effect to increase stats after fusing with another critter. 1 stack means one absorbed max_hp." ], + "//": "stats modified by the zombie_fuse special attack.", + "//1": "scaling:", + "//2": "/48 HP: +0,5 melee_skill, +0,5 dodge_skill (unexpected movement), +5 Speed (bigger steps&more to attack with), +4 bash", + "//3": "/160 HP: +1 size", + "max_intensity": 480, + "base_mods": { "hit_mod": [ 0.0104 ], "dodge_mod": [ 0.0104 ], "speed_mod": [ 0.1042 ], "bash_mod": [ 0.08333 ] }, + "scaling_mods": { + "hit_mod": [ 0.0104 ], + "dodge_mod": [ 0.0104 ], + "speed_mod": [ 0.1042 ], + "bash_mod": [ 0.08333 ], + "size_mod": [ 0.00625 ] + }, + "int_decay_step": 0 + }, { "type": "effect_type", "id": "has_og_comm_freq" @@ -1780,5 +1824,15 @@ { "type": "effect_type", "id": "has_prospectus" + }, + { + "type": "effect_type", + "id": "recently_coughed" + }, + { + "type": "effect_type", + "id": "ignore_fall_damage", + "//": "Used for translocation via teleporter_list as a way to avoid fall damage by teleporting Z levels", + "flags": [ "EFFECT_FEATHER_FALL" ] } ] diff --git a/data/json/flags.json b/data/json/flags.json index 14b1550335b20..136f96447087e 100644 --- a/data/json/flags.json +++ b/data/json/flags.json @@ -195,6 +195,7 @@ "type": "json_flag", "context": [ "ARMOR", "TOOL_ARMOR" ], "//": "Zombie-dropped clothing giving various penalties if Filthy mod is active. Also CBMs harvested from zombies.", + "craft_inherit": true, "info": "This item is filthy." }, { @@ -693,5 +694,32 @@ { "id": "ELECTRIC_IMMUNE", "type": "json_flag" + }, + { + "id": "NO_CRAFT_INHERIT", + "type": "json_flag", + "//": "Crafted items with this flag won't inherit flags with craft_inherit from their components." + }, + { + "id": "HIDDEN_HALLU", + "type": "json_flag", + "context": [ "COMESTIBLE" ], + "craft_inherit": true, + "//": "Contains hallucinogenic compounds from foraged foods." + }, + { + "id": "HIDDEN_POISON", + "type": "json_flag", + "context": [ "COMESTIBLE" ], + "craft_inherit": true, + "//": "Contains poisonous compounds from foraged foods." + }, + { + "id": "BAD_TASTE", + "type": "json_flag", + "context": [ "COMESTIBLE" ], + "craft_inherit": true, + "//": "Has a bad taste or texture that can't be covered up through cooking.", + "info": "This food is unappetizing in a way that can't be covered up by most cooking." } ] diff --git a/data/json/furniture_and_terrain/furniture-appliances.json b/data/json/furniture_and_terrain/furniture-appliances.json index 4d0893c759c5b..8b1a5d4c3ae15 100644 --- a/data/json/furniture_and_terrain/furniture-appliances.json +++ b/data/json/furniture_and_terrain/furniture-appliances.json @@ -450,5 +450,162 @@ { "item": "pipe", "count": [ 1, 3 ] } ] } + }, + { + "type": "furniture", + "id": "f_shredder", + "name": "document shredder", + "description": "It's not all about hiding government secrets, sometimes you just want to stop identity theft.", + "symbol": "H", + "bgcolor": "white", + "move_cost_mod": 5, + "required_str": 6, + "looks_like": "f_filing_cabinet", + "flags": [ "TRANSPARENT", "CONTAINER", "PLACE_ITEM", "BLOCKSDOOR" ], + "deconstruct": { + "items": [ + { "item": "scrap", "count": [ 2, 6 ] }, + { "item": "steel_chunk", "count": [ 1, 3 ] }, + { "item": "steel_lump", "count": [ 1, 3 ] }, + { "item": "plastic_chunk", "count": [ 1, 3 ] }, + { "item": "sheet_metal_small", "count": [ 0, 4 ] }, + { "item": "sheet_metal", "count": [ 2, 4 ] }, + { "item": "pipe", "count": [ 1, 4 ] }, + { "item": "cable", "charges": [ 1, 15 ] }, + { "item": "motor", "count": 1 }, + { "item": "solder_wire", "charges": [ 1, 15 ] } + ] + }, + "bash": { + "str_min": 18, + "str_max": 50, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ + { "item": "scrap", "count": [ 2, 7 ] }, + { "item": "steel_chunk", "count": [ 0, 3 ] }, + { "item": "sheet_metal_small", "count": [ 8, 12 ] }, + { "item": "sheet_metal", "count": [ 1, 2 ] }, + { "item": "pipe", "count": [ 1, 2 ] }, + { "item": "cable", "charges": [ 1, 15 ] }, + { "item": "e_scrap", "count": [ 5, 10 ] }, + { "item": "plastic_chunk", "count": [ 0, 2 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_server", + "looks_like": "f_utility_shelf", + "name": "server stack", + "description": "This is a big pile of computers. They're all turned off.", + "symbol": ":", + "color": "blue_white", + "move_cost_mod": -1, + "coverage": 90, + "required_str": 8, + "flags": [ "BLOCKSDOOR" ], + "deconstruct": { + "items": [ + { "item": "sheet_metal_small", "count": [ 4, 6 ] }, + { "item": "plastic_chunk", "count": [ 2, 12 ] }, + { "item": "pipe", "count": [ 4, 8 ] }, + { "item": "laptop", "count": [ 2, 4 ] }, + { "item": "cable", "charges": [ 5, 10 ] } + ] + }, + "bash": { + "str_min": 16, + "str_max": 40, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ + { "item": "scrap", "count": [ 4, 8 ] }, + { "item": "plastic_chunk", "count": [ 1, 6 ] }, + { "item": "sheet_metal_small", "count": [ 1, 4 ] }, + { "item": "pipe", "count": 1 }, + { "item": "e_scrap", "count": [ 20, 50 ] }, + { "item": "cable", "charges": [ 2, 8 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_satellite", + "name": "large satellite dish", + "looks_like": "t_radio_tower", + "description": "Somewhere up there, there are still satellites, orbiting and doing their thing, sending signals down to an Earth that is no longer listening.", + "symbol": ")", + "color": "white_green", + "move_cost_mod": -1, + "coverage": 70, + "required_str": -1, + "deconstruct": { + "items": [ + { "item": "pipe", "count": [ 6, 12 ] }, + { "item": "rebar", "count": [ 6, 12 ] }, + { "item": "scrap", "count": [ 2, 6 ] }, + { "item": "steel_chunk", "count": [ 1, 3 ] }, + { "item": "steel_lump", "count": [ 4, 6 ] }, + { "item": "sheet_metal_small", "count": [ 0, 4 ] }, + { "item": "sheet_metal", "count": [ 8, 10 ] }, + { "item": "cable", "charges": [ 1, 15 ] }, + { "item": "motor", "count": 1 } + ] + }, + "bash": { + "str_min": 18, + "str_max": 50, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ + { "item": "pipe", "count": [ 1, 10 ] }, + { "item": "rebar", "count": [ 1, 10 ] }, + { "item": "scrap", "count": [ 6, 16 ] }, + { "item": "steel_chunk", "count": [ 1, 4 ] }, + { "item": "steel_lump", "count": [ 0, 6 ] }, + { "item": "sheet_metal_small", "count": [ 8, 12 ] }, + { "item": "sheet_metal", "count": [ 1, 2 ] }, + { "item": "cable", "charges": [ 1, 15 ] }, + { "item": "scrap_copper", "count": [ 0, 2 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_solar_unit", + "name": "mounted solar panel", + "description": "A mounted solar panel.", + "symbol": "#", + "color": "yellow", + "move_cost_mod": 2, + "required_str": -1, + "flags": [ "TRANSPARENT", "BASHABLE" ], + "deconstruct": { + "items": [ + { "item": "scrap", "count": [ 4, 6 ] }, + { "item": "plastic_chunk", "count": [ 1, 2 ] }, + { "item": "steel_chunk", "count": 3 }, + { "item": "pipe", "count": 4 }, + { "item": "2x4", "count": 4 }, + { "item": "solar_panel", "count": 1 } + ] + }, + "bash": { + "str_min": 10, + "str_max": 20, + "sound": "whack!", + "sound_fail": "clang!", + "items": [ + { "item": "solar_cell", "count": [ 1, 5 ] }, + { "item": "scrap", "count": [ 3, 6 ] }, + { "item": "amplifier", "prob": 50 }, + { "item": "cable", "charges": [ 10, 15 ] }, + { "item": "power_supply", "prob": 50 }, + { "item": "scrap", "count": [ 4, 6 ] }, + { "item": "plastic_chunk", "count": [ 1, 2 ] }, + { "item": "steel_chunk", "count": 3 } + ] + } } ] diff --git a/data/json/furniture_and_terrain/furniture-decorative.json b/data/json/furniture_and_terrain/furniture-decorative.json new file mode 100644 index 0000000000000..e4a2b4098c47c --- /dev/null +++ b/data/json/furniture_and_terrain/furniture-decorative.json @@ -0,0 +1,209 @@ +[ + { + "type": "furniture", + "id": "f_bigmirror", + "name": "standing mirror", + "symbol": "{", + "description": "Lookin' good - is that blood?", + "color": "white", + "move_cost_mod": 2, + "coverage": 80, + "required_str": 5, + "flags": [ "NOITEM", "BLOCKSDOOR" ], + "bash": { + "str_min": 5, + "str_max": 16, + "sound": "glass breaking", + "sound_fail": "whack!", + "sound_vol": 16, + "furn_set": "f_bigmirror_b", + "items": [ { "item": "glass_shard", "count": [ 25, 50 ] } ] + } + }, + { + "type": "furniture", + "id": "f_bigmirror_b", + "name": "broken standing mirror", + "description": "You could look at yourself, if the mirror wasn't covered in cracks and fractures.", + "symbol": "{", + "color": "light_gray", + "move_cost_mod": 2, + "coverage": 80, + "required_str": 5, + "flags": [ "NOITEM", "BLOCKSDOOR" ], + "bash": { + "str_min": 8, + "str_max": 30, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ { "item": "scrap", "count": [ 2, 4 ] } ] + } + }, + { + "id": "f_bitts", + "type": "furniture", + "name": "bitts", + "description": "Paired vertical iron posts mounted on a wharf, pier or quay. They are used to secure mooring lines, ropes, hawsers, or cables.", + "symbol": "B", + "color": [ "light_gray" ], + "move_cost_mod": 2, + "coverage": 30, + "required_str": 0, + "bash": { + "str_min": 80, + "str_max": 200, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ { "item": "steel_chunk", "count": [ 5, 10 ] } ] + }, + "flags": [ "TRANSPARENT", "MOUNTABLE", "SHORT" ] + }, + { + "id": "f_bitts", + "type": "furniture", + "name": "bitts", + "description": "Paired vertical iron posts mounted on a wharf, pier or quay. They are used to secure mooring lines, ropes, hawsers, or cables.", + "symbol": "B", + "color": [ "light_gray" ], + "move_cost_mod": 2, + "coverage": 30, + "required_str": 0, + "bash": { + "str_min": 80, + "str_max": 200, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ { "item": "steel_chunk", "count": [ 5, 10 ] } ] + }, + "flags": [ "TRANSPARENT", "MOUNTABLE", "SHORT" ] + }, + { + "type": "furniture", + "id": "f_shackle", + "name": "manacles", + "description": "Chain serfs in your dungeon. All you need now is an iron ball to chain to it.", + "symbol": "8", + "color": "light_gray", + "move_cost_mod": 1, + "required_str": -1, + "flags": [ "TRANSPARENT", "ALLOW_FIELD_EFFECT", "MOUNTABLE", "SHORT" ], + "bash": { + "str_min": 18, + "str_max": 40, + "sound": "smash!", + "sound_fail": "crack.", + "items": [ { "item": "chain", "count": [ 0, 2 ] } ] + } + }, + { + "type": "furniture", + "id": "f_statue", + "name": "statue", + "description": "A carved statue made of stone.", + "symbol": "S", + "color": "dark_gray", + "move_cost_mod": -1, + "coverage": 50, + "required_str": 10, + "flags": [ "PLACE_ITEM", "BLOCKSDOOR", "MINEABLE" ], + "bash": { + "str_min": 16, + "str_max": 40, + "sound": "smash!", + "sound_fail": "thump.", + "items": [ { "item": "rock", "count": [ 1, 6 ] } ] + } + }, + { + "type": "furniture", + "id": "f_mannequin", + "name": "mannequin", + "description": "Put clothes on it, talk to it. Who's around to judge you? Wait… did it just move?", + "symbol": "@", + "color": "brown", + "move_cost_mod": 2, + "coverage": 40, + "required_str": 5, + "flags": [ "PLACE_ITEM", "TRANSPARENT", "FLAMMABLE" ], + "bash": { + "str_min": 6, + "str_max": 40, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ { "item": "splinter", "count": [ 9, 12 ] } ] + } + }, + { + "type": "furniture", + "id": "f_birdbath", + "name": "birdbath", + "description": "A decorative cement birdbath and pedestal.", + "symbol": "o", + "color": "light_gray", + "move_cost_mod": -1, + "required_str": 10, + "flags": [ "PLACE_ITEM", "BLOCKSDOOR", "MINEABLE", "LIQUIDCONT" ], + "bash": { + "str_min": 16, + "str_max": 40, + "sound": "smash!", + "sound_fail": "thump.", + "items": [ { "item": "rock", "count": [ 1, 6 ] }, { "item": "rebar", "count": [ 1, 2 ] } ] + } + }, + { + "type": "furniture", + "id": "f_rotary_clothesline", + "name": "rotary clothes dryer line", + "description": "A umbrella shaped clothes line mounted on a pole.", + "symbol": "X", + "color": "white", + "move_cost_mod": -2, + "required_str": 10, + "flags": [ "TRANSPARENT", "BLOCKSDOOR", "BASHABLE", "PLACE_ITEM" ], + "deconstruct": { + "items": [ { "item": "pipe", "count": 6 }, { "item": "steel_chunk", "count": [ 2, 6 ] }, { "item": "wire", "count": 10 } ] + }, + "bash": { + "str_min": 6, + "str_max": 10, + "sound": "smash!", + "sound_fail": "clang!", + "items": [ { "item": "pipe", "count": [ 1, 6 ] }, { "item": "wire", "count": [ 1, 2 ] }, { "item": "scrap", "count": [ 1, 6 ] } ] + } + }, + { + "type": "furniture", + "id": "f_floor_lamp", + "name": "floor lamp", + "symbol": "T", + "looks_like": "f_rack_coat", + "description": "A tall standing lamp, meant to plug into a wall and light up a room.", + "color": "light_gray", + "move_cost_mod": 2, + "required_str": 1, + "flags": [ "BLOCKSDOOR", "PLACE_ITEM", "EASY_DECONSTRUCT" ], + "deconstruct": { + "items": [ + { "item": "cable", "charges": [ 1, 2 ] }, + { "item": "amplifier", "count": [ 1, 4 ] }, + { "item": "light_bulb", "count": [ 1, 4 ] }, + { "item": "steel_lump", "count": 1 }, + { "item": "pipe", "count": 1 } + ] + }, + "bash": { + "str_min": 12, + "str_max": 40, + "sound": "metal screeching!", + "sound_fail": "bonk!", + "items": [ + { "item": "scrap", "count": [ 1, 2 ] }, + { "item": "cable", "charges": [ 0, 1 ] }, + { "item": "e_scrap", "count": [ 0, 1 ] }, + { "item": "glass_shard", "count": [ 0, 8 ] }, + { "item": "pipe", "count": [ 0, 1 ] } + ] + } + } +] diff --git a/data/json/furniture_and_terrain/furniture-eggs.json b/data/json/furniture_and_terrain/furniture-eggs.json new file mode 100644 index 0000000000000..3c93235d58e73 --- /dev/null +++ b/data/json/furniture_and_terrain/furniture-eggs.json @@ -0,0 +1,53 @@ +[ + { + "type": "furniture", + "id": "f_egg_sackbw", + "name": "spider egg sack", + "description": "Much too large, off-white egg sack. Kind of icky. Something IS moving in there.", + "symbol": "O", + "color": "white", + "move_cost_mod": 3, + "required_str": 6, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "TINY" ], + "examine_action": "egg_sackbw", + "bash": { "str_min": 8, "str_max": 16, "sound": "splat!", "sound_fail": "whump.", "furn_set": "f_egg_sacke" } + }, + { + "type": "furniture", + "id": "f_egg_sackcs", + "name": "spider egg sack", + "description": "Bulbous mass of spider eggs. More than kind of icky. Something IS moving in there.", + "symbol": "O", + "color": "white", + "move_cost_mod": 3, + "required_str": 6, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "TINY" ], + "examine_action": "egg_sackcs", + "bash": { "str_min": 8, "str_max": 16, "sound": "splat!", "sound_fail": "whump.", "furn_set": "f_egg_sacke" } + }, + { + "type": "furniture", + "id": "f_egg_sackws", + "name": "spider egg sack", + "description": "A horrifyingly oversized egg sack. Something IS moving in there. If you're seeing this, you're already too close to it.", + "symbol": "O", + "color": "yellow", + "move_cost_mod": 3, + "required_str": 6, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "TINY" ], + "examine_action": "egg_sackws", + "bash": { "str_min": 4, "str_max": 8, "sound": "splat!", "sound_fail": "whump.", "furn_set": "f_egg_sacke" } + }, + { + "type": "furniture", + "id": "f_egg_sacke", + "name": "ruptured egg sack", + "description": "Super icky. Spider stuff's spilling out.", + "symbol": "X", + "color": "white", + "move_cost_mod": 3, + "required_str": 6, + "flags": [ "TRANSPARENT", "CONTAINER", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "TINY" ], + "bash": { "str_min": 2, "str_max": 6, "sound": "splat!", "sound_fail": "whump." } + } +] diff --git a/data/json/furniture_and_terrain/furniture-emitters.json b/data/json/furniture_and_terrain/furniture-emitters.json new file mode 100644 index 0000000000000..695dcd7112ce7 --- /dev/null +++ b/data/json/furniture_and_terrain/furniture-emitters.json @@ -0,0 +1,32 @@ +[ + { + "type": "furniture", + "id": "f_swamp_gas", + "name": "swamp gas", + "description": "This is a pool of murkey water, it occassionaly bubbles, releasing a mildly toxic gas.", + "looks_like": "t_water_sh", + "symbol": "~", + "color": "blue", + "move_cost_mod": 1, + "coverage": 0, + "required_str": -1, + "flags": [ "TRANSPARENT", "EMITTER" ], + "emissions": [ "emit_swamp_gas_leak" ], + "//": "a very mild toxicant, inducing nausea.", + "bash": { "str_min": 30, "str_max": 60, "sound": "splash!", "sound_fail": "splash!", "furn_set": "f_swamp_gas" } + }, + { + "type": "furniture", + "id": "f_fog", + "name": "fog", + "description": "This is a misty cloud of fog.", + "looks_like": "t_moss", + "symbol": "^", + "color": "light_gray", + "move_cost_mod": 2, + "coverage": 0, + "required_str": -1, + "flags": [ "TRANSPARENT", "EMITTER" ], + "emissions": [ "emit_fog_plume" ] + } +] diff --git a/data/json/furniture_and_terrain/furniture-fakes.json b/data/json/furniture_and_terrain/furniture-fakes.json new file mode 100644 index 0000000000000..7bd3baa8d2c56 --- /dev/null +++ b/data/json/furniture_and_terrain/furniture-fakes.json @@ -0,0 +1,42 @@ +[ + { + "type": "furniture", + "id": "f_fake_bench_hands", + "name": "fake workbench hands", + "description": "This fake workbench holds the stats for working on a wielded item.", + "symbol": "#", + "color": "red", + "move_cost_mod": 2, + "required_str": -1, + "workbench": { "multiplier": 1.0, "mass": 5000, "volume": "10L" } + }, + { + "type": "furniture", + "//": "This furniture object also gets used as a fake workbench whenever a player crafts on the ground anywhere else.", + "id": "f_ground_crafting_spot", + "name": "ground crafting spot", + "looks_like": "tr_firewood_source", + "description": "A cleared spot on the ground for crafting. Slower than using a workbench or holding a project in your hands, but readily available.", + "symbol": "x", + "color": "white", + "move_cost_mod": 2, + "required_str": 0, + "deconstruct": { "items": [ ] }, + "bash": { "str_min": 0, "str_max": 0, "items": [ ] }, + "flags": [ "PLACE_ITEM", "TRANSPARENT", "EASY_DECONSTRUCT" ], + "examine_action": "workbench", + "workbench": { "multiplier": 0.7, "mass": 1000000, "volume": "1000L" } + }, + { + "type": "furniture", + "id": "f_no_item", + "//": "This is used in a hack to clear furniture with the keg iexamine of all items execept the stored liquid before usage.", + "name": "seeing this is a bug", + "description": "Seeing this is a bug. If seen, please report and destroy.", + "symbol": "#", + "color": "black", + "move_cost_mod": 2, + "required_str": -1, + "flags": [ "NOITEM" ] + } +] diff --git a/data/json/furniture_and_terrain/furniture-flora.json b/data/json/furniture_and_terrain/furniture-flora.json index 39f9101c98e87..15a818826aa11 100644 --- a/data/json/furniture_and_terrain/furniture-flora.json +++ b/data/json/furniture_and_terrain/furniture-flora.json @@ -6,6 +6,7 @@ "description": "These strange flowers have appeared in the wake of the Cataclysm, and their buds can be used for medicinal purposes, like the seeds of the mundane poppy they're named after. The dirt around them gently churns as their roots writhe beneath the soil, and it's surrounded by an overwhelming floral smell that makes you feel sleepy.", "symbol": "f", "color": "light_red", + "looks_like": "f_dandelion", "move_cost_mod": 0, "required_str": -1, "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "FLOWER" ], @@ -33,6 +34,7 @@ "description": "Ahh, soothing chamomile tea.", "symbol": "f", "color": "white", + "looks_like": "f_dandelion", "move_cost_mod": 0, "required_str": -1, "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "FLOWER" ], @@ -47,7 +49,7 @@ "description": "A bright, colorful flower with petals forming a small cup at its top.", "symbol": "f", "looks_like": "f_mutpoppy", - "color": "magenta", + "color": "light_blue", "move_cost_mod": 0, "required_str": -1, "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "FLOWER" ], @@ -107,7 +109,7 @@ "description": "A yellow flower that has a dark ball in the middle. Sometimes known as an oxe-eye daisy.", "looks_like": "f_dandelion", "symbol": "f", - "color": "yellow", + "color": "light_green", "move_cost_mod": 0, "required_str": -1, "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "FLOWER" ], @@ -128,7 +130,7 @@ "description": "A pretty flower that comes in a variety of colors.", "looks_like": "f_flower_tulip", "symbol": "f", - "color": "magenta", + "color": "pink", "move_cost_mod": 0, "required_str": -1, "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "ORGANIC" ], @@ -197,6 +199,7 @@ "id": "f_bluebell", "name": "bluebell", "description": "A common bluebell flower. Pretty.", + "looks_like": "f_dandelion", "symbol": "f", "color": "blue", "move_cost_mod": 0, @@ -218,6 +221,7 @@ "description": "A puffy flower with many tightly layered petals.", "symbol": "f", "color": "magenta", + "looks_like": "f_dandelion", "move_cost_mod": 0, "required_str": -1, "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "FLOWER" ], @@ -231,6 +235,7 @@ "description": "A blue flower imported from Europe, also known as a Cornflower.", "symbol": "f", "color": "cyan", + "looks_like": "f_dandelion", "move_cost_mod": 0, "required_str": -1, "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "FLOWER" ], @@ -245,6 +250,7 @@ "description": "A pretty moonflower.", "symbol": "*", "color": "light_green", + "looks_like": "f_dandelion", "move_cost_mod": 1, "required_str": -1, "flags": [ "TRANSPARENT", "TINY", "FLAMMABLE_ASH", "NOCOLLIDE", "ORGANIC" ], @@ -264,6 +270,7 @@ "symbol": "#", "description": "A sizable pile of leaves. You could sleep on it if you don't care about comfort or warmth.", "color": "brown", + "looks_like": "t_dirtpile", "move_cost_mod": 3, "coverage": 35, "comfort": 1, diff --git a/data/json/furniture_and_terrain/furniture-fungal.json b/data/json/furniture_and_terrain/furniture-fungal.json index af6980b33c053..9230b5ee032ef 100644 --- a/data/json/furniture_and_terrain/furniture-fungal.json +++ b/data/json/furniture_and_terrain/furniture-fungal.json @@ -3,7 +3,7 @@ "type": "furniture", "id": "f_flower_marloss", "name": "marloss flower", - "description": "This flower is like the other flowers taken by the mushrooms, but its bulb is colored a brilliant cyan color, and it emits an aroma both overwhelming and... delicious?", + "description": "This flower is like the other flowers taken by the mushrooms, but its bulb is colored a brilliant cyan color, and it emits an aroma both overwhelming and… delicious?", "symbol": "f", "color": "cyan", "move_cost_mod": 1, diff --git a/data/json/furniture_and_terrain/furniture-graves.json b/data/json/furniture_and_terrain/furniture-graves.json new file mode 100644 index 0000000000000..9602d4df9119d --- /dev/null +++ b/data/json/furniture_and_terrain/furniture-graves.json @@ -0,0 +1,99 @@ +[ + { + "type": "furniture", + "id": "f_slab", + "name": "stone slab", + "description": "A flat slab of heavy stone.", + "symbol": "n", + "color": "dark_gray", + "move_cost_mod": 2, + "coverage": 30, + "required_str": 12, + "crafting_pseudo_item": "boulder_anvil", + "flags": [ "PLACE_ITEM", "BLOCKSDOOR", "TRANSPARENT", "ALLOW_FIELD_EFFECT", "MOUNTABLE", "SHORT", "MINEABLE" ], + "bash": { + "str_min": 20, + "str_max": 40, + "sound": "smash!", + "sound_fail": "thump.", + "items": [ { "item": "rock", "count": [ 2, 7 ] } ] + } + }, + { + "type": "furniture", + "id": "f_grave_head", + "name": "headstone", + "description": "Keeps the bodies.", + "symbol": "_", + "color": "light_gray", + "move_cost_mod": 0, + "required_str": -1, + "crafting_pseudo_item": "boulder_anvil", + "flags": [ "MINEABLE", "TRANSPARENT", "SHORT", "NOCOLLIDE", "ALLOW_FIELD_EFFECT", "MOUNTABLE", "PLACE_ITEM" ], + "bash": { + "str_min": 50, + "str_max": 150, + "sound": "crash!", + "sound_fail": "thump!", + "items": [ { "item": "rock", "count": [ 2, 4 ] } ] + } + }, + { + "type": "furniture", + "id": "f_grave_stone", + "name": "gravestone", + "description": "Keeps the bodies. More fancy.", + "symbol": "^", + "color": "light_gray", + "move_cost_mod": 2, + "coverage": 50, + "required_str": -1, + "crafting_pseudo_item": "boulder_anvil", + "flags": [ "MINEABLE", "NOITEM", "TRANSPARENT", "MOUNTABLE", "ROUGH", "PLACE_ITEM" ], + "bash": { + "str_min": 60, + "str_max": 160, + "sound": "crash!", + "sound_fail": "thump!", + "items": [ { "item": "rock", "count": [ 8, 14 ] } ] + } + }, + { + "type": "furniture", + "id": "f_grave_stone_old", + "name": "worn gravestone", + "description": "A worn-out gravestone.", + "symbol": "^", + "color": "dark_gray", + "move_cost_mod": 1.5, + "coverage": 50, + "required_str": -1, + "flags": [ "MINEABLE", "NOITEM", "TRANSPARENT", "MOUNTABLE", "ROUGH", "PLACE_ITEM", "UNSTABLE" ], + "bash": { + "str_min": 40, + "str_max": 120, + "sound": "crash!", + "sound_fail": "thump!", + "items": [ { "item": "rock", "count": [ 5, 10 ] } ] + } + }, + { + "type": "furniture", + "id": "f_grave_monument", + "name": "obelisk", + "description": "Monument to pride.", + "symbol": "$", + "color": "black_white", + "move_cost_mod": -1, + "coverage": 55, + "required_str": -1, + "flags": [ "MINEABLE", "NOITEM" ], + "bash": { + "str_min": 80, + "str_max": 180, + "sound": "crash!", + "sound_fail": "thunk!", + "items": [ { "item": "rock", "count": [ 18, 30 ] } ] + } + } +] diff --git a/data/json/furniture_and_terrain/furniture-industrial.json b/data/json/furniture_and_terrain/furniture-industrial.json new file mode 100644 index 0000000000000..557b592f69b44 --- /dev/null +++ b/data/json/furniture_and_terrain/furniture-industrial.json @@ -0,0 +1,123 @@ +[ + { + "type": "furniture", + "id": "f_robotic_assembler", + "name": "robotic assembler", + "looks_like": "f_robotic_arm", + "description": "A durable and versatile robotic arm with a tool fitted to the end, for working on an assembly line.", + "symbol": "3", + "color": "magenta_cyan", + "move_cost_mod": -1, + "coverage": 35, + "required_str": -1, + "bash": { + "str_min": 40, + "str_max": 150, + "sound_fail": "clang!", + "items": [ + { "item": "processor", "count": [ 1, 2 ] }, + { "item": "RAM", "count": [ 4, 8 ] }, + { "item": "cable", "charges": [ 4, 6 ] }, + { "item": "small_lcd_screen", "count": [ 1, 2 ] }, + { "item": "e_scrap", "count": [ 5, 8 ] }, + { "item": "circuit", "count": [ 3, 5 ] }, + { "item": "power_supply", "count": [ 1, 2 ] }, + { "item": "amplifier", "count": [ 1, 2 ] }, + { "item": "plastic_chunk", "count": [ 10, 12 ] }, + { "item": "scrap", "count": [ 6, 8 ] } + ] + }, + "deconstruct": { + "items": [ + { "item": "processor", "count": [ 2, 4 ] }, + { "item": "RAM", "count": [ 8, 16 ] }, + { "item": "cable", "charges": [ 8, 12 ] }, + { "item": "small_lcd_screen", "count": [ 2, 4 ] }, + { "item": "e_scrap", "count": [ 10, 16 ] }, + { "item": "circuit", "count": [ 6, 10 ] }, + { "item": "power_supply", "count": [ 2, 4 ] }, + { "item": "amplifier", "count": [ 2, 4 ] }, + { "item": "plastic_chunk", "count": [ 10, 12 ] }, + { "item": "scrap", "count": [ 6, 8 ] }, + { "item": "motor_small", "count": [ 0, 1 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_chemical_mixer", + "description": "When chemicals need to be mixed in large quantities at just the right combinations and temperatures, this is the tool for the job.", + "name": "chemical mixer", + "symbol": "0", + "color": "red_green", + "move_cost_mod": -1, + "coverage": 40, + "required_str": 16, + "bash": { + "str_min": 40, + "str_max": 150, + "sound_fail": "clang!", + "items": [ + { "item": "cable", "charges": [ 0, 4 ] }, + { "item": "scrap", "count": [ 8, 12 ] }, + { "item": "steel_chunk", "count": [ 2, 4 ] }, + { "item": "metal_tank_little", "count": [ 0, 2 ] }, + { "item": "jerrycan", "count": [ 0, 2 ] }, + { "item": "metal_tank", "count": [ 0, 2 ] } + ] + }, + "deconstruct": { + "items": [ + { "item": "cable", "charges": [ 4, 8 ] }, + { "item": "steel_chunk", "count": [ 4, 6 ] }, + { "item": "scrap", "count": [ 12, 16 ] }, + { "item": "metal_tank_little", "count": [ 2, 4 ] }, + { "item": "jerrycan", "count": [ 2, 4 ] }, + { "item": "metal_tank", "count": [ 2, 4 ] }, + { "item": "motor_small", "count": 1 } + ] + } + }, + { + "type": "furniture", + "id": "f_robotic_arm", + "name": "robotic arm", + "description": "Automation! Science! Industry! Make a better horse! This robot arm promises to do it all. Except it's currently unpowered. You could remove the casing and retrieve the electronics through disassembly.", + "symbol": "&", + "bgcolor": "yellow", + "move_cost_mod": 3, + "required_str": 18, + "flags": [ "TRANSPARENT", "MOUNTABLE" ], + "deconstruct": { + "items": [ + { "item": "processor", "prob": 75 }, + { "item": "RAM", "prob": 80 }, + { "item": "power_supply", "prob": 70 }, + { "item": "amplifier", "prob": 90 }, + { "item": "steel_chunk", "count": [ 1, 4 ] }, + { "item": "spring", "prob": 80 }, + { "item": "steel_lump", "prob": 60 }, + { "item": "sheet_metal", "prob": 50 }, + { "item": "motor", "prob": 60 } + ] + }, + "bash": { + "str_min": 8, + "str_max": 45, + "sound": "smash!", + "sound_fail": "thunk.", + "items": [ + { "item": "processor", "prob": 15 }, + { "item": "RAM", "prob": 30 }, + { "item": "power_supply", "prob": 50 }, + { "item": "amplifier", "prob": 70 }, + { "item": "steel_chunk", "count": [ 1, 3 ] }, + { "item": "spring", "prob": 80 }, + { "item": "steel_lump", "prob": 50 }, + { "item": "sheet_metal", "prob": 30 }, + { "item": "scrap", "count": [ 2, 5 ] }, + { "item": "motor", "prob": 30 } + ] + } + } +] diff --git a/data/json/furniture_and_terrain/furniture-medical.json b/data/json/furniture_and_terrain/furniture-medical.json index 7dd43708361d4..ed7fe56116d92 100644 --- a/data/json/furniture_and_terrain/furniture-medical.json +++ b/data/json/furniture_and_terrain/furniture-medical.json @@ -92,7 +92,6 @@ "coverage": 60, "required_str": 16, "max_volume": 4000, - "insulation": 2, "looks_like": "f_washer", "flags": [ "CONTAINER", "PLACE_ITEM", "BLOCKSDOOR", "FLAT_SURF" ], "deconstruct": { @@ -138,7 +137,6 @@ "coverage": 60, "required_str": 16, "max_volume": 4000, - "insulation": 2, "looks_like": "f_washer", "flags": [ "CONTAINER", "PLACE_ITEM", "BLOCKSDOOR", "FLAT_SURF", "SEALED" ], "deconstruct": { @@ -183,7 +181,6 @@ "coverage": 80, "required_str": 18, "max_volume": 7000, - "insulation": 6, "looks_like": "f_fridge", "flags": [ "CONTAINER", "PLACE_ITEM", "BLOCKSDOOR" ], "deconstruct": { diff --git a/data/json/furniture_and_terrain/furniture-migo.json b/data/json/furniture_and_terrain/furniture-migo.json index b8a4beb432f59..8fc9bad0eb932 100644 --- a/data/json/furniture_and_terrain/furniture-migo.json +++ b/data/json/furniture_and_terrain/furniture-migo.json @@ -32,7 +32,7 @@ "type": "furniture", "id": "f_alien_gasper", "name": "gasping tube", - "description": "This is a meaty green stalactite with a thickened hide like that of a starfish, extending from the floor to the ceiling. In the center is a series of ports somewhat like mouths, from which pour bursts of a vile smelling gas.", + "description": "This is a meaty green stalactite with a thickened hide like that of a starfish, extending from the floor to the ceiling. In the center is a series of ports somewhat like mouths, from which pour bursts of a vile smelling gas.", "symbol": "{", "color": "green", "move_cost_mod": 6, @@ -118,7 +118,7 @@ "type": "furniture", "id": "f_alien_table", "name": "fleshy altar", - "description": "This pulsing protuberance juts from the floor, its sides covered in scaled, oozing skin. The surface is flat, but undulates softly. A handful of unidentifiable appendages reach from the sides, suggesting a sort of nightmarish living autodoc.", + "description": "This pulsing protuberance juts from the floor, its sides covered in scaled, oozing skin. The surface is flat, but undulates softly. A handful of unidentifiable appendages reach from the sides, suggesting a sort of nightmarish living autodoc.", "symbol": "n", "color": "pink", "move_cost_mod": -1, diff --git a/data/json/furniture_and_terrain/furniture-recreation.json b/data/json/furniture_and_terrain/furniture-recreation.json index 8c7e0ac0189ae..6993d6cc7fdcf 100644 --- a/data/json/furniture_and_terrain/furniture-recreation.json +++ b/data/json/furniture_and_terrain/furniture-recreation.json @@ -255,7 +255,7 @@ "type": "furniture", "id": "f_treadmill", "name": "treadmill", - "description": "Used for training leg muscles. It'll be extra hard without power. Could be taken apart for its... parts.", + "description": "Used for training leg muscles. It'll be extra hard without power. Could be taken apart for its… parts.", "symbol": "L", "color": "dark_gray", "move_cost_mod": 1, @@ -315,7 +315,7 @@ "type": "furniture", "id": "f_piano", "name": "piano", - "description": "The ol' ebony and ivory. Really classes up the place. You could take it apart if you wanted... you monster.", + "description": "The ol' ebony and ivory. Really classes up the place. You could take it apart if you wanted… you monster.", "symbol": "P", "color": "i_black", "move_cost_mod": 6, @@ -347,5 +347,44 @@ { "item": "plastic_chunk", "count": [ 1, 5 ] } ] } + }, + { + "type": "furniture", + "id": "f_speaker_cabinet", + "name": "speaker cabinet", + "description": "A cabinet loaded with 12-inch speakers, intended to help make various things loud. It can't serve its original purpose these days, but it could be disassembled for various electronic parts.", + "symbol": "7", + "color": "blue", + "move_cost_mod": -1, + "coverage": 50, + "max_volume": 15, + "required_str": 7, + "flags": [ "TRANSPARENT", "FLAMMABLE", "PLACE_ITEM" ], + "deconstruct": { + "items": [ + { "item": "scrap", "count": [ 4, 6 ] }, + { "item": "e_scrap", "count": [ 1, 2 ] }, + { "item": "plastic_chunk", "count": [ 0, 2 ] }, + { "item": "wood_panel", "count": 1 }, + { "item": "2x4", "count": 4 }, + { "item": "nail", "charges": [ 8, 10 ] }, + { "item": "cable", "charges": [ 3, 4 ] } + ] + }, + "bash": { + "str_min": 8, + "str_max": 20, + "sound": "smash!", + "sound_fail": "whump!", + "items": [ + { "item": "splinter", "count": [ 0, 6 ] }, + { "item": "scrap", "count": [ 0, 3 ] }, + { "item": "2x4", "count": [ 1, 2 ] }, + { "item": "nail", "charges": [ 2, 6 ] }, + { "item": "cable", "charges": [ 1, 3 ] }, + { "item": "e_scrap", "prob": 25 }, + { "item": "plastic_chunk", "count": [ 0, 1 ] } + ] + } } ] diff --git a/data/json/furniture_and_terrain/furniture-roof.json b/data/json/furniture_and_terrain/furniture-roof.json index f84cbf4886041..b9f6e25c30d33 100644 --- a/data/json/furniture_and_terrain/furniture-roof.json +++ b/data/json/furniture_and_terrain/furniture-roof.json @@ -93,7 +93,7 @@ "items": [ { "item": "pipe", "count": [ 1, 6 ] }, { "item": "scrap", "count": [ 2, 6 ] }, - { "item": "cable", "count": [ 2, 6 ] } + { "item": "cable", "charges": [ 2, 6 ] } ] } }, diff --git a/data/json/furniture_and_terrain/furniture-seats.json b/data/json/furniture_and_terrain/furniture-seats.json index be502d2814df1..44d107e66e1bc 100644 --- a/data/json/furniture_and_terrain/furniture-seats.json +++ b/data/json/furniture_and_terrain/furniture-seats.json @@ -161,5 +161,72 @@ "sound_fail": "whump.", "items": [ { "item": "2x4", "count": 1 }, { "item": "nail", "charges": [ 1, 5 ] }, { "item": "splinter", "count": 3 } ] } + }, + { + "type": "furniture", + "id": "f_camp_chair", + "name": "camp chair", + "symbol": "#", + "looks_like": "f_chair", + "description": "Sit down, have a drink. It can folded for easy transportation.", + "color": "brown", + "move_cost_mod": 1, + "coverage": 35, + "floor_bedding_warmth": -1000, + "bonus_fire_warmth_feet": 1000, + "required_str": 3, + "deployed_item": "camp_chair", + "examine_action": "deployed_furniture", + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "CAN_SIT" ], + "max_volume": 3500, + "deconstruct": { "items": [ { "item": "camp_chair", "count": 1 } ] } + }, + { + "type": "furniture", + "id": "f_bench", + "name": "bench", + "symbol": "#", + "description": "Hobo bed. Airy. Use at your own risk.", + "color": "brown", + "move_cost_mod": 1, + "coverage": 35, + "comfort": 1, + "floor_bedding_warmth": -1500, + "bonus_fire_warmth_feet": 1000, + "required_str": 5, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "SHORT", "CAN_SIT" ], + "max_volume": 4000, + "deconstruct": { "items": [ { "item": "2x4", "count": 4 }, { "item": "nail", "charges": [ 6, 10 ] } ] }, + "bash": { + "str_min": 12, + "str_max": 40, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ { "item": "2x4", "count": [ 1, 3 ] }, { "item": "nail", "charges": [ 2, 6 ] }, { "item": "splinter", "count": 1 } ] + } + }, + { + "type": "furniture", + "id": "f_logstool", + "name": "log stool", + "symbol": "#", + "description": "A log tipped on its end with any rough edges cut off. Basically a very simple seat.", + "color": "brown", + "move_cost_mod": 1, + "coverage": 40, + "comfort": 1, + "floor_bedding_warmth": -1000, + "bonus_fire_warmth_feet": 1000, + "required_str": 5, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "SHORT", "CAN_SIT" ], + "max_volume": 3000, + "deconstruct": { "items": [ { "item": "log", "count": 1 } ] }, + "bash": { + "str_min": 12, + "str_max": 40, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ { "item": "splinter", "count": [ 2, 6 ] } ] + } } ] diff --git a/data/json/furniture_and_terrain/furniture-signs.json b/data/json/furniture_and_terrain/furniture-signs.json new file mode 100644 index 0000000000000..fd3c6d62dc145 --- /dev/null +++ b/data/json/furniture_and_terrain/furniture-signs.json @@ -0,0 +1,91 @@ +[ + { + "type": "furniture", + "id": "f_bulletin", + "name": "bulletin board", + "description": "A big, cork bulletin board capable of sporting various notices. Pin some notes for other survivors to read.", + "symbol": "6", + "color": "blue", + "move_cost_mod": -1, + "coverage": 75, + "required_str": -1, + "flags": [ "FLAMMABLE", "NOITEM", "ORGANIC", "TRANSPARENT" ], + "examine_action": "bulletin_board", + "deconstruct": { "items": [ { "item": "2x4", "count": 4 }, { "item": "nail", "charges": [ 4, 8 ] } ] }, + "bash": { + "str_min": 3, + "str_max": 40, + "sound": "crunch!", + "sound_fail": "whump.", + "items": [ + { "item": "2x4", "count": [ 0, 3 ] }, + { "item": "nail", "charges": [ 4, 6 ] }, + { "item": "splinter", "count": [ 1, 4 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_sign", + "name": "sign", + "symbol": "P", + "description": "Read it. Warnings ahead.", + "color": "brown", + "examine_action": "sign", + "move_cost_mod": 1, + "coverage": 35, + "required_str": -1, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "SIGN" ], + "deconstruct": { "items": [ { "item": "2x4", "count": 3 }, { "item": "nail", "charges": [ 2, 5 ] } ] }, + "bash": { + "str_min": 6, + "str_max": 40, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ { "item": "2x4", "count": [ 1, 2 ] }, { "item": "nail", "charges": [ 2, 4 ] }, { "item": "splinter", "count": 2 } ] + } + }, + { + "type": "furniture", + "id": "f_sign", + "name": "sign", + "symbol": "P", + "description": "Read it. Warnings ahead.", + "color": "brown", + "examine_action": "sign", + "move_cost_mod": 1, + "coverage": 35, + "required_str": -1, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "SIGN" ], + "deconstruct": { "items": [ { "item": "2x4", "count": 3 }, { "item": "nail", "charges": [ 2, 5 ] } ] }, + "bash": { + "str_min": 6, + "str_max": 40, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ { "item": "2x4", "count": [ 1, 2 ] }, { "item": "nail", "charges": [ 2, 4 ] }, { "item": "splinter", "count": 2 } ] + } + }, + { + "type": "furniture", + "id": "f_sign_warning", + "name": "warning sign", + "symbol": "P", + "description": "A triangle-shaped sign on a post meant to indicate something important or hazard.", + "color": "red", + "examine_action": "sign", + "looks_like": "f_sign", + "move_cost_mod": 1, + "coverage": 35, + "required_str": -1, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "SIGN" ], + "deconstruct": { "items": [ { "item": "2x4", "count": 3 }, { "item": "nail", "charges": [ 2, 5 ] } ] }, + "bash": { + "str_min": 6, + "str_max": 40, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ { "item": "2x4", "count": [ 1, 2 ] }, { "item": "nail", "charges": [ 2, 4 ] }, { "item": "splinter", "count": 2 } ] + } + } +] diff --git a/data/json/furniture_and_terrain/furniture-sleep.json b/data/json/furniture_and_terrain/furniture-sleep.json index f368e7167143a..4e527b9652f1c 100644 --- a/data/json/furniture_and_terrain/furniture-sleep.json +++ b/data/json/furniture_and_terrain/furniture-sleep.json @@ -80,7 +80,7 @@ { "type": "furniture", "id": "f_down_mattress", - "name": "down_mattress", + "name": "down mattress", "description": "A comfortable feather down mattress has been tossed on the floor for sleeping here. It's not quite as comfy as a real bed, but it's pretty close.", "symbol": "0", "color": "magenta", diff --git a/data/json/furniture_and_terrain/furniture-storage.json b/data/json/furniture_and_terrain/furniture-storage.json index bffd0a434d8c7..10b1edf65da2a 100644 --- a/data/json/furniture_and_terrain/furniture-storage.json +++ b/data/json/furniture_and_terrain/furniture-storage.json @@ -26,6 +26,35 @@ "items": [ { "item": "2x4", "count": [ 2, 6 ] }, { "item": "nail", "charges": [ 4, 12 ] }, { "item": "splinter", "count": 1 } ] } }, + { + "type": "furniture", + "id": "f_entertainment_center", + "name": "entertainment center", + "symbol": "{", + "description": "Stores audio visual equipment, books and collectible.", + "color": "brown", + "looks_like": "f_bookcase", + "move_cost_mod": -1, + "coverage": 80, + "required_str": 10, + "flags": [ "FLAMMABLE", "PLACE_ITEM", "ORGANIC", "BLOCKSDOOR" ], + "deconstruct": { + "items": [ { "item": "2x4", "count": 14 }, { "item": "wood_panel", "count": 2 }, { "item": "nail", "charges": [ 12, 20 ] } ] + }, + "max_volume": 8000, + "bash": { + "str_min": 6, + "str_max": 40, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ + { "item": "2x4", "count": [ 2, 12 ] }, + { "item": "nail", "charges": [ 4, 20 ] }, + { "item": "splinter", "count": [ 6, 10 ] }, + { "item": "wood_panel", "count": [ 0, 1 ] } + ] + } + }, { "type": "furniture", "id": "f_coffin_c", @@ -160,6 +189,31 @@ "items": [ { "item": "2x4", "count": [ 1, 5 ] }, { "item": "nail", "charges": [ 2, 10 ] } ] } }, + { + "type": "furniture", + "id": "f_cardboard_box", + "name": "large cardboard box", + "symbol": "X", + "description": "A large cardboard box: this could be used to store things, or as a hiding place.", + "color": "brown", + "move_cost_mod": 7, + "coverage": 90, + "comfort": 1, + "floor_bedding_warmth": 200, + "required_str": 3, + "deconstruct": { "items": [ { "item": "box_large", "count": 1 } ] }, + "max_volume": 6000, + "deployed_item": "box_large", + "examine_action": "deployed_furniture", + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "PLACE_ITEM", "ORGANIC", "EASY_DECONSTRUCT", "BASHABLE", "HIDE_PLACE", "NO_SIGHT" ], + "bash": { + "str_min": 2, + "str_max": 15, + "sound": "crumple!", + "sound_fail": "thud.", + "items": [ { "item": "paper", "charges": [ 50, 100 ] } ] + } + }, { "type": "furniture", "id": "f_cupboard", @@ -578,6 +632,64 @@ "items": [ { "item": "plastic_chunk", "count": [ 1, 2 ] } ] } }, + { + "type": "furniture", + "id": "f_wardrobe", + "name": "wardrobe", + "looks_like": "f_dresser", + "description": "A tall piece of furniture - basically a freestanding closet.", + "symbol": "{", + "color": "i_brown", + "move_cost_mod": -1, + "coverage": 85, + "required_str": 9, + "flags": [ "CONTAINER", "FLAMMABLE", "PLACE_ITEM", "ORGANIC", "BLOCKSDOOR", "MOUNTABLE" ], + "deconstruct": { + "items": [ { "item": "2x4", "count": 20 }, { "item": "nail", "charges": [ 16, 24 ] }, { "item": "pipe", "count": 2 } ] + }, + "max_volume": 2000, + "bash": { + "str_min": 12, + "str_max": 40, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ + { "item": "2x4", "count": [ 8, 12 ] }, + { "item": "nail", "charges": [ 8, 14 ] }, + { "item": "splinter", "count": [ 4, 10 ] }, + { "item": "pipe", "count": [ 0, 1 ] }, + { "item": "scrap", "count": [ 2, 5 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_filing_cabinet", + "name": "filing cabinet", + "looks_like": "f_rack", + "description": "A set of drawers in a sturdy metal cabinet, used to hold files. It can be locked to protect important information. If you're lucky, there are often keys nearby.", + "symbol": "}", + "color": "dark_gray", + "move_cost_mod": 2, + "coverage": 70, + "required_str": 7, + "flags": [ "PLACE_ITEM", "TRANSPARENT", "CONTAINER", "BLOCKSDOOR", "MOUNTABLE" ], + "deconstruct": { + "items": [ + { "item": "sheet_metal", "count": [ 2, 6 ] }, + { "item": "scrap", "count": [ 2, 6 ] }, + { "item": "lock", "count": [ 0, 1 ] } + ] + }, + "max_volume": 800, + "bash": { + "str_min": 8, + "str_max": 30, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ { "item": "scrap", "count": [ 0, 6 ] }, { "item": "sheet_metal", "count": [ 0, 4 ] } ] + } + }, { "type": "furniture", "id": "f_utility_shelf", @@ -647,5 +759,91 @@ { "item": "splinter", "count": 1 } ] } + }, + { + "type": "furniture", + "id": "f_displaycase", + "name": "display case", + "description": "Display your stuff fancily and securely.", + "symbol": "#", + "color": "light_cyan", + "move_cost_mod": 2, + "coverage": 80, + "required_str": 9, + "flags": [ "TRANSPARENT", "SEALED", "PLACE_ITEM" ], + "bash": { + "str_min": 6, + "str_max": 20, + "sound": "glass breaking", + "sound_fail": "whack!", + "sound_vol": 16, + "sound_fail_vol": 12, + "furn_set": "f_displaycase_b", + "items": [ { "item": "glass_shard", "count": [ 25, 50 ] } ] + } + }, + { + "type": "furniture", + "id": "f_displaycase_b", + "name": "broken display case", + "description": "Display your stuff. It'll get stolen.", + "symbol": "#", + "color": "light_gray", + "move_cost_mod": 2, + "coverage": 80, + "required_str": 9, + "flags": [ "TRANSPARENT", "PLACE_ITEM" ], + "bash": { + "str_min": 8, + "str_max": 30, + "sound": "crunch!", + "sound_fail": "whump.", + "items": [ { "item": "2x4", "count": [ 3, 6 ] }, { "item": "splinter", "count": [ 2, 4 ] } ] + } + }, + { + "type": "furniture", + "id": "f_standing_tank", + "name": "standing tank", + "description": "A large freestanding metal tank, useful for holding liquids.", + "symbol": "O", + "color": "light_gray", + "move_cost_mod": -1, + "coverage": 90, + "required_str": -1, + "flags": [ "BASHABLE", "CONTAINER", "DECONSTRUCT", "LIQUIDCONT", "NOITEM", "SEALED", "TRANSPARENT" ], + "deconstruct": { "items": [ { "item": "metal_tank", "count": 4 }, { "item": "water_faucet", "count": 1 } ] }, + "examine_action": "keg", + "keg_capacity": 1200, + "bash": { + "str_min": 10, + "str_max": 20, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ { "item": "scrap", "count": [ 8, 32 ] }, { "item": "water_faucet", "prob": 50 } ] + } + }, + { + "type": "furniture", + "id": "f_dumpster", + "name": "dumpster", + "description": "Stores trash. Doesn't get picked up anymore. Note the smell.", + "symbol": "{", + "color": "green", + "move_cost_mod": 3, + "coverage": 70, + "required_str": 16, + "flags": [ "CONTAINER", "PLACE_ITEM", "BLOCKSDOOR", "HIDE_PLACE", "NO_SIGHT" ], + "bash": { + "str_min": 8, + "str_max": 45, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ + { "item": "scrap", "count": [ 2, 8 ] }, + { "item": "steel_chunk", "count": [ 1, 3 ] }, + { "item": "pipe", "count": [ 1, 2 ] } + ] + } } ] diff --git a/data/json/furniture_and_terrain/furniture-surfaces.json b/data/json/furniture_and_terrain/furniture-surfaces.json index 1c8c062db2946..673529dfe9f0f 100644 --- a/data/json/furniture_and_terrain/furniture-surfaces.json +++ b/data/json/furniture_and_terrain/furniture-surfaces.json @@ -97,6 +97,41 @@ "examine_action": "workbench", "workbench": { "multiplier": 1.1, "mass": 200000, "volume": "75L" } }, + { + "type": "furniture", + "id": "f_workbench", + "name": "workbench", + "description": "A sturdy workbench built out of metal. It is perfect for crafting large and heavy things.", + "symbol": "#", + "color": "red", + "move_cost_mod": 2, + "required_str": -1, + "looks_like": "f_lab_bench", + "flags": [ "TRANSPARENT", "PLACE_ITEM", "MOUNTABLE", "FLAT_SURF" ], + "deconstruct": { + "items": [ + { "item": "pipe", "count": [ 6, 8 ] }, + { "item": "sheet_metal", "count": 2 }, + { "item": "sheet_metal_small", "count": [ 2, 4 ] } + ] + }, + "max_volume": 4000, + "bash": { + "str_min": 35, + "str_max": 80, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ + { "item": "pipe", "count": [ 4, 6 ] }, + { "item": "sheet_metal", "count": [ 0, 1 ] }, + { "item": "sheet_metal_small", "count": [ 12, 24 ] }, + { "item": "steel_chunk", "count": [ 4, 8 ] }, + { "item": "scrap", "count": [ 12, 24 ] } + ] + }, + "examine_action": "workbench", + "workbench": { "multiplier": 1.2, "mass": 500000, "volume": "200L" } + }, { "type": "furniture", "id": "f_leather_tarp", @@ -167,7 +202,7 @@ "type": "furniture", "id": "f_tourist_table", "name": "tourist table", - "description": "Small metal folding table, ideal for off-road trips into the wild. Can be used as a workbench in a pinch.", + "description": "Small metal folding table, ideal for off-road trips into the wild. Can be used as a workbench in a pinch.", "symbol": "#", "bgcolor": "light_gray", "move_cost_mod": 2, @@ -220,5 +255,36 @@ }, "examine_action": "workbench", "workbench": { "multiplier": 1.1, "mass": 200000, "volume": "75L" } + }, + { + "type": "furniture", + "id": "f_coffee_table", + "name": "table", + "description": "a low table for livingrooms.", + "symbol": "#", + "color": "red", + "looks_like": "f_table", + "move_cost_mod": 2, + "coverage": 50, + "required_str": 5, + "max_volume": 4000, + "flags": [ "TRANSPARENT", "FLAMMABLE", "ORGANIC", "MOUNTABLE", "SHORT", "FLAT_SURF" ], + "deconstruct": { + "items": [ { "item": "2x4", "count": 2 }, { "item": "wood_panel", "count": 1 }, { "item": "nail", "charges": [ 6, 8 ] } ] + }, + "bash": { + "str_min": 10, + "str_max": 50, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ + { "item": "2x4", "count": [ 1, 2 ] }, + { "item": "wood_panel", "count": [ 0, 1 ] }, + { "item": "nail", "charges": [ 4, 8 ] }, + { "item": "splinter", "count": 1 } + ] + }, + "examine_action": "workbench", + "workbench": { "multiplier": 0.85, "mass": 200000, "volume": "75L" } } ] diff --git a/data/json/furniture_and_terrain/furniture-terrains.json b/data/json/furniture_and_terrain/furniture-terrains.json new file mode 100644 index 0000000000000..ad6e9dae3aa90 --- /dev/null +++ b/data/json/furniture_and_terrain/furniture-terrains.json @@ -0,0 +1,674 @@ +[ + { + "id": "f_tatami", + "type": "furniture", + "name": "tatami mat", + "description": "A tatami is a type of mat used as a flooring material in traditional Japanese-style rooms.", + "symbol": "#", + "color": [ "brown" ], + "move_cost_mod": 0, + "comfort": 2, + "floor_bedding_warmth": -1500, + "max_volume": 4000, + "required_str": 7, + "bash": { + "str_min": 8, + "str_max": 30, + "sound": "crunch.", + "sound_fail": "whump.", + "items": [ + { "item": "straw_pile", "count": [ 5, 8 ] }, + { "item": "rag", "count": [ 2, 4 ] }, + { "item": "string_36", "count": [ 1, 2 ] } + ] + }, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC" ] + }, + { + "type": "furniture", + "id": "f_pillow_fort", + "name": "pillow fort", + "symbol": "^", + "description": "A comfy place to hide from the world. Not very defensible, though.", + "color": "white", + "move_cost_mod": 3, + "coverage": 90, + "comfort": 4, + "floor_bedding_warmth": 1000, + "required_str": -1, + "deconstruct": { "items": [ { "item": "pillow", "count": 19 }, { "item": "blanket", "count": 3 } ] }, + "max_volume": 4000, + "flags": [ + "TRANSPARENT", + "FLAMMABLE_ASH", + "PLACE_ITEM", + "ORGANIC", + "REDUCE_SCENT", + "EASY_DECONSTRUCT", + "BASHABLE", + "HIDE_PLACE", + "NO_SIGHT" + ], + "bash": { + "str_min": 1, + "str_max": 1, + "sound": "paf!", + "sound_fail": "poof.", + "items": [ { "item": "pillow", "count": 19 }, { "item": "blanket", "count": 3 } ] + } + }, + { + "type": "furniture", + "id": "f_cardboard_fort", + "name": "cardboard fort", + "symbol": "^", + "description": "A fort built by tipping a cardboard box on its side, lining it with blankets, and partly weather sealing it with a plastic sheet.", + "color": "brown", + "move_cost_mod": 3, + "coverage": 95, + "comfort": 4, + "floor_bedding_warmth": 700, + "required_str": 3, + "deconstruct": { + "items": [ + { "item": "box_large", "count": 1 }, + { "item": "plastic_sheet", "count": 1 }, + { "item": "blanket", "count": 2 }, + { "item": "pillow", "count": 4 } + ] + }, + "max_volume": 4000, + "flags": [ + "TRANSPARENT", + "FLAMMABLE_ASH", + "PLACE_ITEM", + "ORGANIC", + "REDUCE_SCENT", + "EASY_DECONSTRUCT", + "BASHABLE", + "HIDE_PLACE", + "NO_SIGHT", + "BLOCK_WIND" + ], + "bash": { + "str_min": 4, + "str_max": 15, + "sound": "crumple!", + "sound_fail": "thud.", + "items": [ { "item": "paper", "count": [ 50, 100 ] } ] + } + }, + { + "type": "furniture", + "id": "f_cardboard_wall", + "name": "cardboard wall", + "symbol": "#", + "bgcolor": "brown", + "move_cost_mod": -1, + "coverage": 100, + "description": "This is a pile of cardboard boxes that have been filled with rags and junk and stacked together like bricks to form a wall.", + "required_str": -1, + "flags": [ "NOITEM", "BLOCKSDOOR", "FLAMMABLE_ASH", "ORGANIC", "EASY_DECONSTRUCT", "BLOCK_WIND" ], + "deconstruct": { + "items": [ + { "item": "box_large", "count": 1 }, + { "item": "box_medium", "count": 2 }, + { "item": "box_small", "count": 4 }, + { "item": "rag", "count": 50 }, + { "item": "paper", "count": 50 }, + { "item": "plastic_chunk", "count": 20 }, + { "item": "plastic_sheet", "count": 2 } + ] + }, + "bash": { + "str_min": 8, + "str_max": 30, + "sound": "crash!", + "sound_fail": "whump.", + "items": [ + { "item": "box_large", "count": [ 0, 1 ] }, + { "item": "box_medium", "count": [ 0, 2 ] }, + { "item": "box_small", "count": [ 0, 4 ] }, + { "item": "rag", "count": [ 20, 50 ] }, + { "item": "paper", "count": [ 50, 150 ] }, + { "item": "plastic_chunk", "count": [ 5, 20 ] }, + { "item": "plastic_sheet", "count": [ 0, 2 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_beaded_door", + "name": "beaded curtain", + "description": "This beaded curtain could be pulled aside.", + "symbol": "+", + "color": "pink", + "looks_like": "f_canvas_door", + "move_cost_mod": 6, + "coverage": 90, + "required_str": -1, + "flags": [ "NOITEM", "DOOR", "PERMEABLE", "FLAMMABLE_ASH", "MOUNTABLE" ], + "open": "f_beaded_door_o", + "deconstruct": { + "items": [ { "item": "stick_long", "count": 1 }, { "item": "string_36", "count": 20 }, { "item": "wooden_bead", "count": 2000 } ] + }, + "bash": { + "str_min": 1, + "str_max": 1, + "sound": "clickity clack… clack… clack", + "sound_fail": "clickity clack… clack", + "sound_vol": 15, + "items": [ + { "item": "string_36", "count": [ 3, 15 ] }, + { "item": "stick_long", "count": 1 }, + { "item": "wooden_bead", "count": [ 200, 500 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_beaded_door_o", + "name": "open beaded curtain", + "description": "This beaded curtain has been pulled aside.", + "symbol": ".", + "color": "pink", + "looks_like": "f_canvas_door_o", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "FLAT" ], + "close": "f_beaded_door", + "deconstruct": { + "items": [ { "item": "stick_long", "count": 1 }, { "item": "string_36", "count": 20 }, { "item": "wooden_bead", "count": 2000 } ] + }, + "bash": { + "str_min": 1, + "str_max": 1, + "sound": "clickity clack… clack… clack!", + "sound_fail": "clickity clack… clack", + "sound_vol": 15, + "items": [ + { "item": "string_36", "count": [ 3, 15 ] }, + { "item": "stick_long", "count": 1 }, + { "item": "wooden_bead", "count": [ 200, 500 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_canvas_floor", + "name": "canvas floor", + "description": "Flooring made out of stretched, waterproof cloth. Helps keep the dirt out of the tent.", + "symbol": "#", + "color": "white", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "TRANSPARENT", "FLAMMABLE", "PLACE_ITEM" ] + }, + { + "type": "furniture", + "id": "f_canvas_wall", + "name": "canvas wall", + "description": "A wall made of stretched, waterproof cloth.", + "symbol": "#", + "color": "blue", + "move_cost_mod": -1, + "coverage": 95, + "required_str": -1, + "flags": [ "FLAMMABLE_HARD", "NOITEM", "BLOCK_WIND" ], + "bash": { + "str_min": 1, + "str_max": 8, + "sound": "rrrrip!", + "sound_fail": "slap!", + "sound_vol": 8, + "tent_centers": [ "f_groundsheet", "f_fema_groundsheet", "f_skin_groundsheet" ] + } + }, + { + "type": "furniture", + "id": "f_large_canvas_wall", + "name": "canvas wall", + "description": "A wall made of stretched, heavy-duty, waterproof cloth.", + "symbol": "#", + "color": "blue", + "move_cost_mod": -1, + "coverage": 95, + "required_str": -1, + "flags": [ "FLAMMABLE_HARD", "NOITEM", "BLOCK_WIND" ], + "bash": { + "str_min": 1, + "str_max": 8, + "sound": "rrrrip!", + "sound_fail": "slap!", + "sound_vol": 8, + "collapse_radius": 2, + "tent_centers": [ "f_center_groundsheet" ] + } + }, + { + "type": "furniture", + "id": "f_canvas_door", + "name": "canvas flap", + "description": "This canvas flap door could be pulled aside.", + "symbol": "+", + "color": "blue", + "move_cost_mod": -1, + "coverage": 95, + "required_str": -1, + "flags": [ "FLAMMABLE_HARD", "NOITEM", "DOOR", "BLOCK_WIND" ], + "open": "f_canvas_door_o", + "bash": { + "str_min": 1, + "str_max": 8, + "sound": "rrrrip!", + "sound_fail": "slap!", + "sound_vol": 8, + "tent_centers": [ "f_groundsheet", "f_fema_groundsheet", "f_skin_groundsheet" ] + } + }, + { + "type": "furniture", + "id": "f_canvas_door_o", + "name": "open canvas flap", + "description": "This canvas flap door has been pulled aside.", + "symbol": ".", + "color": "blue", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "TRANSPARENT" ], + "close": "f_canvas_door", + "bash": { + "str_min": 1, + "str_max": 8, + "sound": "rrrrip!", + "sound_fail": "slap!", + "sound_vol": 8, + "tent_centers": [ "f_groundsheet", "f_fema_groundsheet", "f_skin_groundsheet", "f_center_groundsheet" ] + } + }, + { + "type": "furniture", + "id": "f_large_canvas_door", + "name": "canvas flap", + "description": "This heavy canvas flap door could be pulled aside.", + "symbol": "+", + "color": "blue", + "move_cost_mod": -1, + "coverage": 95, + "required_str": -1, + "flags": [ "FLAMMABLE_HARD", "NOITEM", "DOOR", "BLOCK_WIND" ], + "open": "f_large_canvas_door_o", + "bash": { + "str_min": 1, + "str_max": 8, + "sound": "rrrrip!", + "sound_fail": "slap!", + "sound_vol": 8, + "collapse_radius": 2, + "tent_centers": [ "f_center_groundsheet" ] + } + }, + { + "type": "furniture", + "id": "f_large_canvas_door_o", + "name": "open canvas flap", + "description": "This heavy canvas flap door has been pulled aside.", + "symbol": ".", + "color": "blue", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "TRANSPARENT" ], + "close": "f_large_canvas_door", + "bash": { + "str_min": 1, + "str_max": 8, + "sound": "rrrrip!", + "sound_fail": "slap!", + "sound_vol": 8, + "collapse_radius": 2, + "tent_centers": [ "f_center_groundsheet" ] + } + }, + { + "type": "furniture", + "id": "f_groundsheet", + "name": "groundsheet", + "description": "This plastic groundsheet could keep you dry.", + "symbol": ";", + "color": "green", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "TRANSPARENT", "INDOORS", "NOCOLLIDE" ], + "examine_action": "portable_structure", + "deployed_item": "tent_kit", + "bash": { + "str_min": 1, + "str_max": 8, + "sound": "rrrrip!", + "sound_fail": "slap!", + "sound_vol": 8, + "items": [ { "item": "broketent" } ], + "tent_centers": [ "f_groundsheet", "f_fema_groundsheet", "f_skin_groundsheet" ] + } + }, + { + "type": "furniture", + "id": "f_large_groundsheet", + "name": "groundsheet", + "description": "This large plastic groundsheet could keep you dry.", + "symbol": ";", + "color": "green", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "TRANSPARENT", "INDOORS", "NOCOLLIDE" ], + "bash": { + "str_min": 1, + "str_max": 8, + "sound": "rrrrip!", + "sound_fail": "slap!", + "sound_vol": 8, + "collapse_radius": 2, + "tent_centers": [ "f_center_groundsheet" ] + } + }, + { + "type": "furniture", + "id": "f_center_groundsheet", + "name": "groundsheet", + "description": "This plastic groundsheet could keep you dry.", + "symbol": ";", + "color": "green", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "TRANSPARENT", "INDOORS", "NOCOLLIDE" ], + "examine_action": "portable_structure", + "deployed_item": "large_tent_kit", + "bash": { + "str_min": 1, + "str_max": 8, + "sound": "rrrrip!", + "sound_fail": "slap!", + "sound_vol": 8, + "collapse_radius": 2, + "items": [ { "item": "largebroketent" } ], + "tent_centers": [ "f_center_groundsheet" ] + } + }, + { + "type": "furniture", + "id": "f_fema_groundsheet", + "name": "groundsheet", + "description": "This plastic government-issue groundsheet could keep you dry, but was made by the lowest bidder.", + "symbol": ";", + "color": "green", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "TRANSPARENT", "INDOORS", "ORGANIC", "NOCOLLIDE" ], + "bash": { + "str_min": 1, + "str_max": 8, + "sound": "rrrrip!", + "sound_fail": "slap!", + "sound_vol": 8, + "tent_centers": [ "f_groundsheet", "f_fema_groundsheet", "f_skin_groundsheet" ] + } + }, + { + "type": "furniture", + "id": "f_skin_wall", + "name": "animalskin wall", + "symbol": "#", + "description": "Wall made out of animal skin. Either an amazing or horrifying sight.", + "color": "brown", + "move_cost_mod": -1, + "coverage": 95, + "required_str": -1, + "flags": [ "FLAMMABLE_HARD", "NOITEM", "BLOCK_WIND" ], + "bash": { + "str_min": 1, + "str_max": 8, + "sound": "rrrrip!", + "sound_fail": "slap!", + "sound_vol": 8, + "tent_centers": [ "f_groundsheet", "f_fema_groundsheet", "f_skin_groundsheet" ] + } + }, + { + "type": "furniture", + "id": "f_skin_door", + "name": "animalskin flap", + "description": "This animal skin flap could be pulled aside.", + "symbol": "+", + "color": "white", + "move_cost_mod": -1, + "coverage": 95, + "required_str": -1, + "flags": [ "FLAMMABLE_HARD", "NOITEM", "BLOCK_WIND" ], + "open": "f_skin_door_o", + "bash": { + "str_min": 1, + "str_max": 8, + "sound": "rrrrip!", + "sound_fail": "slap!", + "sound_vol": 8, + "tent_centers": [ "f_groundsheet", "f_fema_groundsheet", "f_skin_groundsheet" ] + } + }, + { + "type": "furniture", + "id": "f_skin_door_o", + "name": "open animalskin flap", + "description": "This animal skin flap has been pulled aside.", + "symbol": ".", + "color": "white", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "TRANSPARENT" ], + "close": "f_skin_door", + "bash": { + "str_min": 1, + "str_max": 8, + "sound": "rrrrip!", + "sound_fail": "slap!", + "sound_vol": 8, + "tent_centers": [ "f_groundsheet", "f_fema_groundsheet", "f_skin_groundsheet" ] + } + }, + { + "type": "furniture", + "id": "f_skin_groundsheet", + "name": "animalskin floor", + "description": "This animal skin groundsheet could keep you dry.", + "symbol": ";", + "color": "brown", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "TRANSPARENT", "INDOORS", "NOCOLLIDE" ], + "examine_action": "portable_structure", + "deployed_item": "shelter_kit", + "bash": { + "str_min": 1, + "str_max": 8, + "sound": "rrrrip!", + "sound_fail": "slap!", + "sound_vol": 8, + "items": [ { "item": "damaged_shelter_kit" } ], + "tent_centers": [ "f_groundsheet", "f_fema_groundsheet", "f_skin_groundsheet" ] + } + }, + { + "type": "furniture", + "id": "f_rubble", + "name": "pile of rubble", + "symbol": "^", + "description": "Pile of various metals, bricks, and other building materials. You could clear it with a shovel.", + "color": "light_gray", + "move_cost_mod": 6, + "max_volume": 3000, + "required_str": -1, + "flags": [ + "TRANSPARENT", + "UNSTABLE", + "ROUGH", + "PLACE_ITEM", + "MOUNTABLE", + "CONTAINER", + "SEALED", + "ALLOW_FIELD_EFFECT", + "TINY", + "RUBBLE" + ], + "examine_action": "rubble" + }, + { + "type": "furniture", + "id": "f_rubble_rock", + "name": "pile of rocky rubble", + "description": "Pile of rocks. Useless?", + "symbol": "^", + "color": "dark_gray", + "move_cost_mod": 6, + "max_volume": 3000, + "required_str": -1, + "flags": [ + "TRANSPARENT", + "UNSTABLE", + "ROUGH", + "PLACE_ITEM", + "MOUNTABLE", + "CONTAINER", + "SEALED", + "ALLOW_FIELD_EFFECT", + "SHORT", + "RUBBLE" + ], + "examine_action": "rubble" + }, + { + "type": "furniture", + "id": "f_rubble_landfill", + "name": "pile of trashy rubble", + "description": "Trash topped with dirt and grass, it smells gross, but another man's trash…", + "symbol": "#", + "color": "green", + "move_cost_mod": 8, + "max_volume": 3000, + "required_str": -1, + "flags": [ + "TRANSPARENT", + "UNSTABLE", + "ROUGH", + "PLACE_ITEM", + "MOUNTABLE", + "CONTAINER", + "SEALED", + "ALLOW_FIELD_EFFECT", + "SHORT", + "RUBBLE" + ], + "examine_action": "rubble" + }, + { + "type": "furniture", + "id": "f_wreckage", + "name": "metal wreckage", + "description": "Pile of various bent and twisted metals.", + "symbol": "#", + "color": "cyan", + "move_cost_mod": 6, + "max_volume": 3000, + "required_str": -1, + "flags": [ + "TRANSPARENT", + "UNSTABLE", + "ROUGH", + "SHARP", + "PLACE_ITEM", + "MOUNTABLE", + "CONTAINER", + "SEALED", + "ALLOW_FIELD_EFFECT", + "SHORT", + "RUBBLE" + ], + "examine_action": "rubble" + }, + { + "type": "furniture", + "id": "f_ash", + "name": "pile of ash", + "symbol": "#", + "description": "Some ash, from wood or possibly bodies.", + "color": "light_gray", + "move_cost_mod": 0, + "required_str": -1, + "flags": [ "TRANSPARENT", "NOCOLLIDE", "CONTAINER", "SEALED", "PLACE_ITEM", "RUBBLE" ], + "examine_action": "rubble" + }, + { + "type": "furniture", + "id": "f_boulder_small", + "name": "small boulder", + "description": "Blocking your path. Should be easy to move. It can be used as a primitive anvil.", + "symbol": "o", + "color": "dark_gray", + "move_cost_mod": 3, + "coverage": 30, + "required_str": 10, + "crafting_pseudo_item": "boulder_anvil", + "flags": [ "TRANSPARENT", "MINEABLE", "UNSTABLE", "MOUNTABLE", "TINY" ], + "bash": { + "str_min": 16, + "str_max": 40, + "sound": "smash!", + "sound_fail": "thump.", + "items": [ { "item": "rock", "count": [ 1, 6 ] }, { "item": "sharp_rock", "count": [ 0, 2 ] } ] + } + }, + { + "type": "furniture", + "id": "f_boulder_medium", + "name": "medium boulder", + "description": "Blocking your path. It'll be a struggle to move. It can be used as a primitive anvil.", + "symbol": "0", + "color": "dark_gray", + "move_cost_mod": 6, + "coverage": 45, + "required_str": 16, + "crafting_pseudo_item": "boulder_anvil", + "flags": [ "NOITEM", "TRANSPARENT", "MINEABLE", "UNSTABLE", "MOUNTABLE", "SHORT", "BASHABLE" ], + "bash": { + "str_min": 32, + "str_max": 80, + "sound": "smash!", + "sound_fail": "thump.", + "items": [ { "item": "rock", "count": [ 5, 11 ] }, { "item": "sharp_rock", "count": [ 1, 4 ] } ] + } + }, + { + "type": "furniture", + "id": "f_boulder_large", + "name": "large boulder", + "description": "Now how are you going to move this?", + "symbol": "O", + "color": "dark_gray", + "move_cost_mod": -1, + "coverage": 65, + "required_str": 32, + "flags": [ "NOITEM", "MINEABLE", "BASHABLE", "BLOCK_WIND" ], + "bash": { + "str_min": 64, + "str_max": 160, + "sound": "smash!", + "sound_fail": "thump.", + "items": [ + { "item": "rock", "count": [ 10, 22 ] }, + { "item": "sharp_rock", "count": [ 3, 7 ] }, + { "item": "material_limestone", "charges": [ 2, 5 ], "prob": 30 }, + { "item": "material_rocksalt", "count": [ 0, 1 ], "prob": 10 }, + { "item": "material_rhodonite", "count": [ 0, 1 ], "prob": 1 }, + { "item": "material_zincite", "count": [ 0, 5 ], "prob": 2 } + ] + } + } +] diff --git a/data/json/furniture_and_terrain/furniture-tools.json b/data/json/furniture_and_terrain/furniture-tools.json index 4075ca0343aa6..5bd4fad664b52 100644 --- a/data/json/furniture_and_terrain/furniture-tools.json +++ b/data/json/furniture_and_terrain/furniture-tools.json @@ -878,5 +878,233 @@ "sound_fail": "clang!", "items": [ { "item": "scrap", "count": [ 1, 3 ] }, { "item": "pipe", "count": [ 1, 3 ] } ] } + }, + { + "id": "f_hanging_meathook", + "type": "furniture", + "name": "hanging meathook", + "description": "A hefty hook suspended from a chain for stringing up corpses.", + "symbol": "g", + "required_str": -1, + "move_cost_mod": 2, + "color": "light_gray", + "deconstruct": { "items": [ { "item": "grip_hook", "count": 1 }, { "item": "chain", "count": 1 } ] }, + "flags": [ "TRANSPARENT", "BUTCHER_EQ" ] + }, + { + "type": "furniture", + "id": "f_wind_mill", + "name": "wind mill", + "description": "A small wind-powered mill that can convert starchy products into flour.", + "symbol": "T", + "bgcolor": "red", + "move_cost_mod": 2, + "required_str": -1, + "examine_action": "quern_examine", + "flags": [ "SEALED", "ALLOW_FIELD_EFFECT", "CONTAINER", "NOITEM", "BLOCKSDOOR" ], + "deconstruct": { "items": [ { "item": "wind_mill", "count": 1 } ] }, + "bash": { + "str_min": 16, + "str_max": 50, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ + { "item": "scrap", "count": [ 4, 8 ] }, + { "item": "pipe", "count": [ 1, 3 ] }, + { "item": "sheet_metal_small", "count": [ 4, 8 ] }, + { "item": "rock", "count": [ 8, 15 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_wind_mill_active", + "name": "active wind mill", + "description": "A small wind-powered mill that can convert starchy products into flour. Its brake has been removed and it is turning.", + "symbol": "T", + "bgcolor": "red", + "move_cost_mod": 2, + "required_str": -1, + "examine_action": "quern_examine", + "flags": [ "SEALED", "ALLOW_FIELD_EFFECT", "CONTAINER", "NOITEM", "BLOCKSDOOR" ], + "deconstruct": { "items": [ { "item": "wind_mill", "count": 1 } ] }, + "bash": { + "str_min": 16, + "str_max": 50, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ + { "item": "scrap", "count": [ 4, 8 ] }, + { "item": "pipe", "count": [ 1, 3 ] }, + { "item": "sheet_metal_small", "count": [ 4, 8 ] }, + { "item": "rock", "count": [ 8, 15 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_water_mill", + "name": "water mill", + "description": "A small water-powered mill that can convert starchy products into flour.", + "symbol": "*", + "bgcolor": "red", + "move_cost_mod": 2, + "required_str": -1, + "examine_action": "quern_examine", + "flags": [ "SEALED", "ALLOW_FIELD_EFFECT", "CONTAINER", "NOITEM", "BLOCKSDOOR" ], + "deconstruct": { "items": [ { "item": "water_mill", "count": 1 } ] }, + "bash": { + "str_min": 12, + "str_max": 50, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ + { "item": "2x4", "count": [ 1, 5 ] }, + { "item": "nail", "charges": [ 5, 15 ] }, + { "item": "splinter", "count": [ 20, 30 ] }, + { "item": "sheet_metal_small", "count": [ 2, 3 ] }, + { "item": "scrap", "count": [ 3, 5 ] }, + { "item": "rock", "count": [ 8, 15 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_water_mill_active", + "name": "active water mill", + "description": "A small water-powered mill that can convert starchy products into flour. Its brake has been removed and it is turning.", + "symbol": "*", + "bgcolor": "red", + "move_cost_mod": 2, + "required_str": -1, + "examine_action": "quern_examine", + "flags": [ "SEALED", "ALLOW_FIELD_EFFECT", "CONTAINER", "NOITEM", "BLOCKSDOOR" ], + "deconstruct": { "items": [ { "item": "water_mill", "count": 1 } ] }, + "bash": { + "str_min": 12, + "str_max": 50, + "sound": "smash!", + "sound_fail": "whump.", + "items": [ + { "item": "2x4", "count": [ 1, 5 ] }, + { "item": "nail", "charges": [ 5, 15 ] }, + { "item": "splinter", "count": [ 20, 30 ] }, + { "item": "sheet_metal_small", "count": [ 2, 3 ] }, + { "item": "scrap", "count": [ 3, 5 ] }, + { "item": "rock", "count": [ 8, 15 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_aut_gas_console", + "name": "automated gas console", + "description": "Automated gas flow control console.", + "symbol": "9", + "color": "blue", + "move_cost_mod": -1, + "coverage": 40, + "required_str": 25, + "flags": [ "SEALED", "ALARMED", "BLOCKSDOOR" ], + "examine_action": "pay_gas", + "bash": { "str_min": 7, "str_max": 30, "sound": "glass breaking!", "sound_fail": "whack!", "furn_set": "f_aut_gas_console_o" } + }, + { + "type": "furniture", + "id": "f_aut_gas_console_o", + "name": "broken automated gas console", + "description": "Automated gas flow control console. Broken. This is not a good thing.", + "symbol": "9", + "color": "dark_gray", + "move_cost_mod": -1, + "coverage": 40, + "required_str": 20, + "flags": [ "BLOCKSDOOR" ], + "bash": { + "str_min": 5, + "str_max": 45, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ + { "item": "scrap", "count": [ 2, 8 ] }, + { "item": "steel_chunk", "count": [ 0, 3 ] }, + { "item": "hose", "count": 1 }, + { "item": "cu_pipe", "count": [ 1, 4 ] }, + { "item": "scrap_copper", "count": [ 0, 2 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_vending_reinforced", + "name": "reinforced vending machine", + "description": "A bit tougher to crack open than regular vending machines. That just makes it all the sweeter a target, doesn't it?", + "symbol": "{", + "color": "light_red", + "move_cost_mod": -1, + "coverage": 90, + "required_str": 30, + "flags": [ "SEALED", "PLACE_ITEM", "ALARMED", "CONTAINER", "BLOCKSDOOR", "FLAMMABLE_HARD", "MINEABLE" ], + "examine_action": "vending", + "bash": { + "str_min": 150, + "str_max": 520, + "sound": "glass breaking!", + "sound_fail": "whack!", + "furn_set": "f_vending_o", + "items": [ + { "item": "glass_shard", "count": [ 8, 25 ] }, + { "item": "sheet_metal", "count": [ 0, 2 ] }, + { "item": "steel_chunk", "count": [ 1, 5 ] } + ] + } + }, + { + "type": "furniture", + "id": "f_vending_c", + "name": "vending machine", + "symbol": "{", + "description": "Buy stuff with a cash card.", + "color": "light_cyan", + "move_cost_mod": -1, + "coverage": 90, + "required_str": 12, + "flags": [ "SEALED", "PLACE_ITEM", "ALARMED", "CONTAINER", "BLOCKSDOOR", "MINEABLE" ], + "examine_action": "vending", + "bash": { + "str_min": 20, + "str_max": 40, + "sound": "glass breaking!", + "sound_fail": "whack!", + "sound_vol": 16, + "sound_fail_vol": 12, + "furn_set": "f_vending_o", + "items": [ { "item": "glass_shard", "count": [ 25, 50 ] } ] + } + }, + { + "type": "furniture", + "id": "f_vending_o", + "name": "broken vending machine", + "description": "Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, you wouldn't need to pay at all!", + "symbol": "{", + "color": "dark_gray", + "move_cost_mod": -1, + "coverage": 90, + "required_str": 12, + "flags": [ "PLACE_ITEM", "CONTAINER", "BLOCKSDOOR", "MINEABLE" ], + "bash": { + "str_min": 30, + "str_max": 50, + "sound": "metal screeching!", + "sound_fail": "clang!", + "items": [ + { "item": "scrap", "count": [ 2, 8 ] }, + { "item": "steel_chunk", "count": [ 0, 3 ] }, + { "item": "hose", "count": 1 }, + { "item": "cu_pipe", "count": [ 1, 4 ] }, + { "item": "scrap_copper", "count": [ 0, 2 ] } + ] + } } ] diff --git a/data/json/furniture_and_terrain/furniture.json b/data/json/furniture_and_terrain/furniture.json deleted file mode 100644 index e75a6ff32db25..0000000000000 --- a/data/json/furniture_and_terrain/furniture.json +++ /dev/null @@ -1,2012 +0,0 @@ -[ - { - "type": "furniture", - "id": "f_rubble", - "name": "pile of rubble", - "symbol": "^", - "description": "Pile of various metals, bricks, and other building materials. You could clear it with a shovel.", - "color": "light_gray", - "move_cost_mod": 6, - "max_volume": 3000, - "required_str": -1, - "flags": [ - "TRANSPARENT", - "UNSTABLE", - "ROUGH", - "PLACE_ITEM", - "MOUNTABLE", - "CONTAINER", - "SEALED", - "ALLOW_FIELD_EFFECT", - "TINY", - "RUBBLE" - ], - "examine_action": "rubble" - }, - { - "type": "furniture", - "id": "f_rubble_rock", - "name": "pile of rocky rubble", - "description": "Pile of rocks. Useless?", - "symbol": "^", - "color": "dark_gray", - "move_cost_mod": 6, - "max_volume": 3000, - "required_str": -1, - "flags": [ - "TRANSPARENT", - "UNSTABLE", - "ROUGH", - "PLACE_ITEM", - "MOUNTABLE", - "CONTAINER", - "SEALED", - "ALLOW_FIELD_EFFECT", - "SHORT", - "RUBBLE" - ], - "examine_action": "rubble" - }, - { - "type": "furniture", - "id": "f_rubble_landfill", - "name": "pile of trashy rubble", - "description": "Trash topped with dirt and grass, it smells gross, but another man's trash...", - "symbol": "#", - "color": "green", - "move_cost_mod": 8, - "max_volume": 3000, - "required_str": -1, - "flags": [ - "TRANSPARENT", - "UNSTABLE", - "ROUGH", - "PLACE_ITEM", - "MOUNTABLE", - "CONTAINER", - "SEALED", - "ALLOW_FIELD_EFFECT", - "SHORT", - "RUBBLE" - ], - "examine_action": "rubble" - }, - { - "type": "furniture", - "id": "f_wreckage", - "name": "metal wreckage", - "description": "Pile of various bent and twisted metals.", - "symbol": "#", - "color": "cyan", - "move_cost_mod": 6, - "max_volume": 3000, - "required_str": -1, - "flags": [ - "TRANSPARENT", - "UNSTABLE", - "ROUGH", - "SHARP", - "PLACE_ITEM", - "MOUNTABLE", - "CONTAINER", - "SEALED", - "ALLOW_FIELD_EFFECT", - "SHORT", - "RUBBLE" - ], - "examine_action": "rubble" - }, - { - "type": "furniture", - "id": "f_ash", - "name": "pile of ash", - "symbol": "#", - "description": "Some ash, from wood or possibly bodies.", - "color": "light_gray", - "move_cost_mod": 0, - "required_str": -1, - "flags": [ "TRANSPARENT", "NOCOLLIDE", "CONTAINER", "SEALED", "PLACE_ITEM", "RUBBLE" ], - "examine_action": "rubble" - }, - { - "type": "furniture", - "id": "f_bulletin", - "name": "bulletin board", - "description": "A big, cork bulletin board capable of sporting various notices. Pin some notes for other survivors to read.", - "symbol": "6", - "color": "blue", - "move_cost_mod": -1, - "coverage": 75, - "required_str": -1, - "flags": [ "FLAMMABLE", "NOITEM", "ORGANIC", "TRANSPARENT" ], - "examine_action": "bulletin_board", - "deconstruct": { "items": [ { "item": "2x4", "count": 4 }, { "item": "nail", "charges": [ 4, 8 ] } ] }, - "bash": { - "str_min": 3, - "str_max": 40, - "sound": "crunch!", - "sound_fail": "whump.", - "items": [ - { "item": "2x4", "count": [ 0, 3 ] }, - { "item": "nail", "charges": [ 4, 6 ] }, - { "item": "splinter", "count": [ 1, 4 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_sign", - "name": "sign", - "symbol": "P", - "description": "Read it. Warnings ahead.", - "color": "brown", - "examine_action": "sign", - "move_cost_mod": 1, - "coverage": 35, - "required_str": -1, - "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "SIGN" ], - "deconstruct": { "items": [ { "item": "2x4", "count": 3 }, { "item": "nail", "charges": [ 2, 5 ] } ] }, - "bash": { - "str_min": 6, - "str_max": 40, - "sound": "smash!", - "sound_fail": "whump.", - "items": [ { "item": "2x4", "count": [ 1, 2 ] }, { "item": "nail", "charges": [ 2, 4 ] }, { "item": "splinter", "count": 2 } ] - } - }, - { - "type": "furniture", - "id": "f_bench", - "name": "bench", - "symbol": "#", - "description": "Hobo bed. Airy. Use at your own risk.", - "color": "brown", - "move_cost_mod": 1, - "coverage": 35, - "comfort": 1, - "floor_bedding_warmth": -1500, - "bonus_fire_warmth_feet": 1000, - "required_str": 5, - "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "SHORT", "CAN_SIT" ], - "max_volume": 4000, - "deconstruct": { "items": [ { "item": "2x4", "count": 4 }, { "item": "nail", "charges": [ 6, 10 ] } ] }, - "bash": { - "str_min": 12, - "str_max": 40, - "sound": "smash!", - "sound_fail": "whump.", - "items": [ { "item": "2x4", "count": [ 1, 3 ] }, { "item": "nail", "charges": [ 2, 6 ] }, { "item": "splinter", "count": 1 } ] - } - }, - { - "type": "furniture", - "id": "f_table", - "name": "table", - "description": "Sit down when you eat!", - "symbol": "#", - "color": "red", - "move_cost_mod": 2, - "coverage": 50, - "required_str": 5, - "max_volume": 4000, - "flags": [ "TRANSPARENT", "FLAMMABLE", "ORGANIC", "MOUNTABLE", "SHORT", "FLAT_SURF" ], - "deconstruct": { - "items": [ { "item": "2x4", "count": 4 }, { "item": "wood_panel", "count": 1 }, { "item": "nail", "charges": [ 6, 8 ] } ] - }, - "bash": { - "str_min": 12, - "str_max": 50, - "sound": "smash!", - "sound_fail": "whump.", - "items": [ - { "item": "2x4", "count": [ 2, 4 ] }, - { "item": "wood_panel", "count": [ 0, 1 ] }, - { "item": "nail", "charges": [ 4, 8 ] }, - { "item": "splinter", "count": 1 } - ] - }, - "examine_action": "workbench", - "workbench": { "multiplier": 1.1, "mass": 200000, "volume": "75L" } - }, - { - "type": "furniture", - "id": "f_rack_coat", - "name": "coat rack", - "description": "A hooked rack for hanging jackets and hats.", - "symbol": "Y", - "color": "brown", - "move_cost_mod": -1, - "coverage": 30, - "required_str": 4, - "flags": [ "TRANSPARENT", "FLAMMABLE", "PLACE_ITEM", "BLOCKSDOOR", "MOUNTABLE" ], - "deconstruct": { "items": [ { "item": "nail", "charges": [ 2, 6 ] }, { "item": "2x4", "count": 2 } ] }, - "max_volume": 120, - "bash": { - "str_min": 6, - "str_max": 30, - "sound": "smash!", - "sound_fail": "whump.", - "items": [ { "item": "splinter", "count": [ 3, 8 ] }, { "item": "nail", "charges": [ 1, 3 ] }, { "item": "2x4", "count": 1 } ] - } - }, - { - "type": "furniture", - "id": "f_sign", - "name": "sign", - "symbol": "P", - "description": "Read it. Warnings ahead.", - "color": "brown", - "examine_action": "sign", - "move_cost_mod": 1, - "coverage": 35, - "required_str": -1, - "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "SIGN" ], - "deconstruct": { "items": [ { "item": "2x4", "count": 3 }, { "item": "nail", "charges": [ 2, 5 ] } ] }, - "bash": { - "str_min": 6, - "str_max": 40, - "sound": "smash!", - "sound_fail": "whump.", - "items": [ { "item": "2x4", "count": [ 1, 2 ] }, { "item": "nail", "charges": [ 2, 4 ] }, { "item": "splinter", "count": 2 } ] - } - }, - { - "type": "furniture", - "id": "f_sign_warning", - "name": "warning sign", - "symbol": "P", - "description": "A triangle-shaped sign on a post meant to indicate something important or hazard.", - "color": "red", - "examine_action": "sign", - "looks_like": "f_sign", - "move_cost_mod": 1, - "coverage": 35, - "required_str": -1, - "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "SIGN" ], - "deconstruct": { "items": [ { "item": "2x4", "count": 3 }, { "item": "nail", "charges": [ 2, 5 ] } ] }, - "bash": { - "str_min": 6, - "str_max": 40, - "sound": "smash!", - "sound_fail": "whump.", - "items": [ { "item": "2x4", "count": [ 1, 2 ] }, { "item": "nail", "charges": [ 2, 4 ] }, { "item": "splinter", "count": 2 } ] - } - }, - { - "type": "furniture", - "id": "f_bigmirror", - "name": "standing mirror", - "symbol": "{", - "description": "Lookin' good - is that blood?", - "color": "white", - "move_cost_mod": 2, - "coverage": 80, - "required_str": 5, - "flags": [ "NOITEM", "BLOCKSDOOR" ], - "bash": { - "str_min": 5, - "str_max": 16, - "sound": "glass breaking", - "sound_fail": "whack!", - "sound_vol": 16, - "furn_set": "f_bigmirror_b", - "items": [ { "item": "glass_shard", "count": [ 25, 50 ] } ] - } - }, - { - "type": "furniture", - "id": "f_bigmirror_b", - "name": "broken standing mirror", - "description": "You could look at yourself, if the mirror wasn't covered in cracks and fractures.", - "symbol": "{", - "color": "light_gray", - "move_cost_mod": 2, - "coverage": 80, - "required_str": 5, - "flags": [ "NOITEM", "BLOCKSDOOR" ], - "bash": { - "str_min": 8, - "str_max": 30, - "sound": "metal screeching!", - "sound_fail": "clang!", - "items": [ { "item": "scrap", "count": [ 2, 4 ] } ] - } - }, - { - "type": "furniture", - "id": "f_vending_c", - "name": "vending machine", - "symbol": "{", - "description": "Buy stuff with a cash card.", - "color": "light_cyan", - "move_cost_mod": -1, - "coverage": 90, - "required_str": 12, - "flags": [ "SEALED", "PLACE_ITEM", "ALARMED", "CONTAINER", "BLOCKSDOOR", "MINEABLE" ], - "examine_action": "vending", - "bash": { - "str_min": 20, - "str_max": 40, - "sound": "glass breaking!", - "sound_fail": "whack!", - "sound_vol": 16, - "sound_fail_vol": 12, - "furn_set": "f_vending_o", - "items": [ { "item": "glass_shard", "count": [ 25, 50 ] } ] - } - }, - { - "type": "furniture", - "id": "f_vending_o", - "name": "broken vending machine", - "description": "Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, you wouldn't need to pay at all!", - "symbol": "{", - "color": "dark_gray", - "move_cost_mod": -1, - "coverage": 90, - "required_str": 12, - "flags": [ "PLACE_ITEM", "CONTAINER", "BLOCKSDOOR", "MINEABLE" ], - "bash": { - "str_min": 30, - "str_max": 50, - "sound": "metal screeching!", - "sound_fail": "clang!", - "items": [ - { "item": "scrap", "count": [ 2, 8 ] }, - { "item": "steel_chunk", "count": [ 0, 3 ] }, - { "item": "hose", "count": 1 }, - { "item": "cu_pipe", "count": [ 1, 4 ] }, - { "item": "scrap_copper", "count": [ 0, 2 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_dumpster", - "name": "dumpster", - "description": "Stores trash. Doesn't get picked up anymore. Note the smell.", - "symbol": "{", - "color": "green", - "move_cost_mod": 3, - "coverage": 70, - "required_str": 16, - "flags": [ "CONTAINER", "PLACE_ITEM", "BLOCKSDOOR", "HIDE_PLACE", "NO_SIGHT" ], - "bash": { - "str_min": 8, - "str_max": 45, - "sound": "metal screeching!", - "sound_fail": "clang!", - "items": [ - { "item": "scrap", "count": [ 2, 8 ] }, - { "item": "steel_chunk", "count": [ 1, 3 ] }, - { "item": "pipe", "count": [ 1, 2 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_canvas_wall", - "name": "canvas wall", - "description": "A wall made of stretched, waterproof cloth.", - "symbol": "#", - "color": "blue", - "move_cost_mod": -1, - "coverage": 95, - "required_str": -1, - "flags": [ "FLAMMABLE_HARD", "NOITEM", "BLOCK_WIND" ], - "bash": { - "str_min": 1, - "str_max": 8, - "sound": "rrrrip!", - "sound_fail": "slap!", - "sound_vol": 8, - "tent_centers": [ "f_groundsheet", "f_fema_groundsheet", "f_skin_groundsheet" ] - } - }, - { - "type": "furniture", - "id": "f_large_canvas_wall", - "name": "canvas wall", - "description": "A wall made of stretched, heavy-duty, waterproof cloth.", - "symbol": "#", - "color": "blue", - "move_cost_mod": -1, - "coverage": 95, - "required_str": -1, - "flags": [ "FLAMMABLE_HARD", "NOITEM", "BLOCK_WIND" ], - "bash": { - "str_min": 1, - "str_max": 8, - "sound": "rrrrip!", - "sound_fail": "slap!", - "sound_vol": 8, - "collapse_radius": 2, - "tent_centers": [ "f_center_groundsheet" ] - } - }, - { - "type": "furniture", - "id": "f_canvas_door", - "name": "canvas flap", - "description": "This canvas flap door could be pulled aside.", - "symbol": "+", - "color": "blue", - "move_cost_mod": -1, - "coverage": 95, - "required_str": -1, - "flags": [ "FLAMMABLE_HARD", "NOITEM", "DOOR", "BLOCK_WIND" ], - "open": "f_canvas_door_o", - "bash": { - "str_min": 1, - "str_max": 8, - "sound": "rrrrip!", - "sound_fail": "slap!", - "sound_vol": 8, - "tent_centers": [ "f_groundsheet", "f_fema_groundsheet", "f_skin_groundsheet" ] - } - }, - { - "type": "furniture", - "id": "f_canvas_door_o", - "name": "open canvas flap", - "description": "This canvas flap door has been pulled aside.", - "symbol": ".", - "color": "blue", - "move_cost_mod": 0, - "required_str": -1, - "flags": [ "TRANSPARENT" ], - "close": "f_canvas_door", - "bash": { - "str_min": 1, - "str_max": 8, - "sound": "rrrrip!", - "sound_fail": "slap!", - "sound_vol": 8, - "tent_centers": [ "f_groundsheet", "f_fema_groundsheet", "f_skin_groundsheet", "f_center_groundsheet" ] - } - }, - { - "type": "furniture", - "id": "f_large_canvas_door", - "name": "canvas flap", - "description": "This heavy canvas flap door could be pulled aside.", - "symbol": "+", - "color": "blue", - "move_cost_mod": -1, - "coverage": 95, - "required_str": -1, - "flags": [ "FLAMMABLE_HARD", "NOITEM", "DOOR", "BLOCK_WIND" ], - "open": "f_large_canvas_door_o", - "bash": { - "str_min": 1, - "str_max": 8, - "sound": "rrrrip!", - "sound_fail": "slap!", - "sound_vol": 8, - "collapse_radius": 2, - "tent_centers": [ "f_center_groundsheet" ] - } - }, - { - "type": "furniture", - "id": "f_large_canvas_door_o", - "name": "open canvas flap", - "description": "This heavy canvas flap door has been pulled aside.", - "symbol": ".", - "color": "blue", - "move_cost_mod": 0, - "required_str": -1, - "flags": [ "TRANSPARENT" ], - "close": "f_large_canvas_door", - "bash": { - "str_min": 1, - "str_max": 8, - "sound": "rrrrip!", - "sound_fail": "slap!", - "sound_vol": 8, - "collapse_radius": 2, - "tent_centers": [ "f_center_groundsheet" ] - } - }, - { - "type": "furniture", - "id": "f_groundsheet", - "name": "groundsheet", - "description": "This plastic groundsheet could keep you dry.", - "symbol": ";", - "color": "green", - "move_cost_mod": 0, - "required_str": -1, - "flags": [ "TRANSPARENT", "INDOORS", "NOCOLLIDE" ], - "examine_action": "portable_structure", - "deployed_item": "tent_kit", - "bash": { - "str_min": 1, - "str_max": 8, - "sound": "rrrrip!", - "sound_fail": "slap!", - "sound_vol": 8, - "items": [ { "item": "broketent" } ], - "tent_centers": [ "f_groundsheet", "f_fema_groundsheet", "f_skin_groundsheet" ] - } - }, - { - "type": "furniture", - "id": "f_large_groundsheet", - "name": "groundsheet", - "description": "This large plastic groundsheet could keep you dry.", - "symbol": ";", - "color": "green", - "move_cost_mod": 0, - "required_str": -1, - "flags": [ "TRANSPARENT", "INDOORS", "NOCOLLIDE" ], - "bash": { - "str_min": 1, - "str_max": 8, - "sound": "rrrrip!", - "sound_fail": "slap!", - "sound_vol": 8, - "collapse_radius": 2, - "tent_centers": [ "f_center_groundsheet" ] - } - }, - { - "type": "furniture", - "id": "f_center_groundsheet", - "name": "groundsheet", - "description": "This plastic groundsheet could keep you dry.", - "symbol": ";", - "color": "green", - "move_cost_mod": 0, - "required_str": -1, - "flags": [ "TRANSPARENT", "INDOORS", "NOCOLLIDE" ], - "examine_action": "portable_structure", - "deployed_item": "large_tent_kit", - "bash": { - "str_min": 1, - "str_max": 8, - "sound": "rrrrip!", - "sound_fail": "slap!", - "sound_vol": 8, - "collapse_radius": 2, - "items": [ { "item": "largebroketent" } ], - "tent_centers": [ "f_center_groundsheet" ] - } - }, - { - "type": "furniture", - "id": "f_fema_groundsheet", - "name": "groundsheet", - "description": "This plastic government-issue groundsheet could keep you dry, but was made by the lowest bidder.", - "symbol": ";", - "color": "green", - "move_cost_mod": 0, - "required_str": -1, - "flags": [ "TRANSPARENT", "INDOORS", "ORGANIC", "NOCOLLIDE" ], - "bash": { - "str_min": 1, - "str_max": 8, - "sound": "rrrrip!", - "sound_fail": "slap!", - "sound_vol": 8, - "tent_centers": [ "f_groundsheet", "f_fema_groundsheet", "f_skin_groundsheet" ] - } - }, - { - "type": "furniture", - "id": "f_skin_wall", - "name": "animalskin wall", - "symbol": "#", - "description": "Wall made out of animal skin. Either an amazing or horrifying sight.", - "color": "brown", - "move_cost_mod": -1, - "coverage": 95, - "required_str": -1, - "flags": [ "FLAMMABLE_HARD", "NOITEM", "BLOCK_WIND" ], - "bash": { - "str_min": 1, - "str_max": 8, - "sound": "rrrrip!", - "sound_fail": "slap!", - "sound_vol": 8, - "tent_centers": [ "f_groundsheet", "f_fema_groundsheet", "f_skin_groundsheet" ] - } - }, - { - "type": "furniture", - "id": "f_skin_door", - "name": "animalskin flap", - "description": "This animal skin flap could be pulled aside.", - "symbol": "+", - "color": "white", - "move_cost_mod": -1, - "coverage": 95, - "required_str": -1, - "flags": [ "FLAMMABLE_HARD", "NOITEM", "BLOCK_WIND" ], - "open": "f_skin_door_o", - "bash": { - "str_min": 1, - "str_max": 8, - "sound": "rrrrip!", - "sound_fail": "slap!", - "sound_vol": 8, - "tent_centers": [ "f_groundsheet", "f_fema_groundsheet", "f_skin_groundsheet" ] - } - }, - { - "type": "furniture", - "id": "f_skin_door_o", - "name": "open animalskin flap", - "description": "This animal skin flap has been pulled aside.", - "symbol": ".", - "color": "white", - "move_cost_mod": 0, - "required_str": -1, - "flags": [ "TRANSPARENT" ], - "close": "f_skin_door", - "bash": { - "str_min": 1, - "str_max": 8, - "sound": "rrrrip!", - "sound_fail": "slap!", - "sound_vol": 8, - "tent_centers": [ "f_groundsheet", "f_fema_groundsheet", "f_skin_groundsheet" ] - } - }, - { - "type": "furniture", - "id": "f_skin_groundsheet", - "name": "animalskin floor", - "description": "This animal skin groundsheet could keep you dry.", - "symbol": ";", - "color": "brown", - "move_cost_mod": 0, - "required_str": -1, - "flags": [ "TRANSPARENT", "INDOORS", "NOCOLLIDE" ], - "examine_action": "portable_structure", - "deployed_item": "shelter_kit", - "bash": { - "str_min": 1, - "str_max": 8, - "sound": "rrrrip!", - "sound_fail": "slap!", - "sound_vol": 8, - "items": [ { "item": "damaged_shelter_kit" } ], - "tent_centers": [ "f_groundsheet", "f_fema_groundsheet", "f_skin_groundsheet" ] - } - }, - { - "type": "furniture", - "id": "f_statue", - "name": "statue", - "description": "A carved statue made of stone.", - "symbol": "S", - "color": "dark_gray", - "move_cost_mod": -1, - "coverage": 50, - "required_str": 10, - "flags": [ "PLACE_ITEM", "BLOCKSDOOR", "MINEABLE" ], - "bash": { - "str_min": 16, - "str_max": 40, - "sound": "smash!", - "sound_fail": "thump.", - "items": [ { "item": "rock", "count": [ 1, 6 ] } ] - } - }, - { - "type": "furniture", - "id": "f_mannequin", - "name": "mannequin", - "description": "Put clothes on it, talk to it. Who's around to judge you? Wait... did it just move?", - "symbol": "@", - "color": "brown", - "move_cost_mod": 2, - "coverage": 40, - "required_str": 5, - "flags": [ "PLACE_ITEM", "TRANSPARENT", "FLAMMABLE" ], - "bash": { - "str_min": 6, - "str_max": 40, - "sound": "smash!", - "sound_fail": "whump.", - "items": [ { "item": "splinter", "count": [ 9, 12 ] } ] - } - }, - { - "type": "furniture", - "id": "f_birdbath", - "name": "birdbath", - "description": "A decorative cement birdbath and pedestal.", - "symbol": "o", - "color": "light_gray", - "move_cost_mod": -1, - "required_str": 10, - "flags": [ "PLACE_ITEM", "BLOCKSDOOR", "MINEABLE", "LIQUIDCONT" ], - "bash": { - "str_min": 16, - "str_max": 40, - "sound": "smash!", - "sound_fail": "thump.", - "items": [ { "item": "rock", "count": [ 1, 6 ] }, { "item": "rebar", "count": [ 1, 2 ] } ] - } - }, - { - "type": "furniture", - "id": "f_rotary_clothesline", - "name": "rotary clothes dryer line", - "description": "A umbrella shaped clothes line mounted on a pole.", - "symbol": "X", - "color": "white", - "move_cost_mod": -2, - "required_str": 10, - "flags": [ "TRANSPARENT", "BLOCKSDOOR", "BASHABLE", "PLACE_ITEM" ], - "deconstruct": { - "items": [ { "item": "pipe", "count": 6 }, { "item": "steel_chunk", "count": [ 2, 6 ] }, { "item": "wire", "count": 10 } ] - }, - "bash": { - "str_min": 6, - "str_max": 10, - "sound": "smash!", - "sound_fail": "clang!", - "items": [ { "item": "pipe", "count": [ 1, 6 ] }, { "item": "wire", "count": [ 1, 2 ] }, { "item": "scrap", "count": [ 1, 6 ] } ] - } - }, - { - "type": "furniture", - "id": "f_solar_unit", - "name": "mounted solar panel", - "description": "A mounted solar panel.", - "symbol": "#", - "color": "yellow", - "move_cost_mod": 2, - "required_str": -1, - "flags": [ "TRANSPARENT", "BASHABLE" ], - "deconstruct": { - "items": [ - { "item": "scrap", "count": [ 4, 6 ] }, - { "item": "plastic_chunk", "count": [ 1, 2 ] }, - { "item": "steel_chunk", "count": 3 }, - { "item": "pipe", "count": 4 }, - { "item": "2x4", "count": 4 }, - { "item": "solar_panel", "count": 1 } - ] - }, - "bash": { - "str_min": 10, - "str_max": 20, - "sound": "whack!", - "sound_fail": "clang!", - "items": [ - { "item": "solar_cell", "count": [ 1, 5 ] }, - { "item": "scrap", "count": [ 3, 6 ] }, - { "item": "amplifier", "prob": 50 }, - { "item": "cable", "charges": [ 10, 15 ] }, - { "item": "power_supply", "prob": 50 }, - { "item": "scrap", "count": [ 4, 6 ] }, - { "item": "plastic_chunk", "count": [ 1, 2 ] }, - { "item": "steel_chunk", "count": 3 } - ] - } - }, - { - "type": "furniture", - "id": "f_egg_sackbw", - "name": "spider egg sack", - "description": "Much too large, off-white egg sack. Kind of icky. Something IS moving in there.", - "symbol": "O", - "color": "white", - "move_cost_mod": 3, - "required_str": 6, - "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "TINY" ], - "examine_action": "egg_sackbw", - "bash": { "str_min": 8, "str_max": 16, "sound": "splat!", "sound_fail": "whump.", "furn_set": "f_egg_sacke" } - }, - { - "type": "furniture", - "id": "f_egg_sackcs", - "name": "spider egg sack", - "description": "Bulbous mass of spider eggs. More than kind of icky. Something IS moving in there.", - "symbol": "O", - "color": "white", - "move_cost_mod": 3, - "required_str": 6, - "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "TINY" ], - "examine_action": "egg_sackcs", - "bash": { "str_min": 8, "str_max": 16, "sound": "splat!", "sound_fail": "whump.", "furn_set": "f_egg_sacke" } - }, - { - "type": "furniture", - "id": "f_egg_sackws", - "name": "spider egg sack", - "description": "A horrifyingly oversized egg sack. Something IS moving in there. If you're seeing this, you're already too close to it.", - "symbol": "O", - "color": "yellow", - "move_cost_mod": 3, - "required_str": 6, - "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "TINY" ], - "examine_action": "egg_sackws", - "bash": { "str_min": 4, "str_max": 8, "sound": "splat!", "sound_fail": "whump.", "furn_set": "f_egg_sacke" } - }, - { - "type": "furniture", - "id": "f_egg_sacke", - "name": "ruptured egg sack", - "description": "Super icky. Spider stuff's spilling out.", - "symbol": "X", - "color": "white", - "move_cost_mod": 3, - "required_str": 6, - "flags": [ "TRANSPARENT", "CONTAINER", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "TINY" ], - "bash": { "str_min": 2, "str_max": 6, "sound": "splat!", "sound_fail": "whump." } - }, - { - "type": "furniture", - "id": "f_vending_reinforced", - "name": "reinforced vending machine", - "description": "A bit tougher to crack open than regular vending machines. That just makes it all the sweeter a target, doesn't it?", - "symbol": "{", - "color": "light_red", - "move_cost_mod": -1, - "coverage": 90, - "required_str": 30, - "flags": [ "SEALED", "PLACE_ITEM", "ALARMED", "CONTAINER", "BLOCKSDOOR", "FLAMMABLE_HARD", "MINEABLE" ], - "examine_action": "vending", - "bash": { - "str_min": 150, - "str_max": 520, - "sound": "glass breaking!", - "sound_fail": "whack!", - "furn_set": "f_vending_o", - "items": [ - { "item": "glass_shard", "count": [ 8, 25 ] }, - { "item": "sheet_metal", "count": [ 0, 2 ] }, - { "item": "steel_chunk", "count": [ 1, 5 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_displaycase", - "name": "display case", - "description": "Display your stuff fancily and securely.", - "symbol": "#", - "color": "light_cyan", - "move_cost_mod": 2, - "coverage": 80, - "required_str": 9, - "flags": [ "TRANSPARENT", "SEALED", "PLACE_ITEM" ], - "bash": { - "str_min": 6, - "str_max": 20, - "sound": "glass breaking", - "sound_fail": "whack!", - "sound_vol": 16, - "sound_fail_vol": 12, - "furn_set": "f_displaycase_b", - "items": [ { "item": "glass_shard", "count": [ 25, 50 ] } ] - } - }, - { - "type": "furniture", - "id": "f_displaycase_b", - "name": "broken display case", - "description": "Display your stuff. It'll get stolen.", - "symbol": "#", - "color": "light_gray", - "move_cost_mod": 2, - "coverage": 80, - "required_str": 9, - "flags": [ "TRANSPARENT", "PLACE_ITEM" ], - "bash": { - "str_min": 8, - "str_max": 30, - "sound": "crunch!", - "sound_fail": "whump.", - "items": [ { "item": "2x4", "count": [ 3, 6 ] }, { "item": "splinter", "count": [ 2, 4 ] } ] - } - }, - { - "type": "furniture", - "id": "f_standing_tank", - "name": "standing tank", - "description": "A large freestanding metal tank, useful for holding liquids.", - "symbol": "O", - "color": "light_gray", - "move_cost_mod": -1, - "coverage": 90, - "required_str": -1, - "flags": [ "BASHABLE", "CONTAINER", "DECONSTRUCT", "LIQUIDCONT", "NOITEM", "SEALED", "TRANSPARENT" ], - "deconstruct": { "items": [ { "item": "metal_tank", "count": 4 }, { "item": "water_faucet", "count": 1 } ] }, - "examine_action": "keg", - "keg_capacity": 1200, - "bash": { - "str_min": 10, - "str_max": 20, - "sound": "metal screeching!", - "sound_fail": "clang!", - "items": [ { "item": "scrap", "count": [ 8, 32 ] }, { "item": "water_faucet", "prob": 50 } ] - } - }, - { - "type": "furniture", - "id": "f_canvas_floor", - "name": "canvas floor", - "description": "Flooring made out of stretched, waterproof cloth. Helps keep the dirt out of the tent.", - "symbol": "#", - "color": "white", - "move_cost_mod": 0, - "required_str": -1, - "flags": [ "TRANSPARENT", "FLAMMABLE", "PLACE_ITEM" ] - }, - { - "type": "furniture", - "id": "f_robotic_arm", - "name": "robotic arm", - "description": "Automation! Science! Industry! Make a better horse! This robot arm promises to do it all. Except it's currently unpowered. You could remove the casing and retrieve the electronics through disassembly.", - "symbol": "&", - "bgcolor": "yellow", - "move_cost_mod": 3, - "required_str": 18, - "flags": [ "TRANSPARENT", "MOUNTABLE" ], - "deconstruct": { - "items": [ - { "item": "processor", "prob": 75 }, - { "item": "RAM", "prob": 80 }, - { "item": "power_supply", "prob": 70 }, - { "item": "amplifier", "prob": 90 }, - { "item": "steel_chunk", "count": [ 1, 4 ] }, - { "item": "spring", "prob": 80 }, - { "item": "steel_lump", "prob": 60 }, - { "item": "sheet_metal", "prob": 50 }, - { "item": "motor", "prob": 60 } - ] - }, - "bash": { - "str_min": 8, - "str_max": 45, - "sound": "smash!", - "sound_fail": "thunk.", - "items": [ - { "item": "processor", "prob": 15 }, - { "item": "RAM", "prob": 30 }, - { "item": "power_supply", "prob": 50 }, - { "item": "amplifier", "prob": 70 }, - { "item": "steel_chunk", "count": [ 1, 3 ] }, - { "item": "spring", "prob": 80 }, - { "item": "steel_lump", "prob": 50 }, - { "item": "sheet_metal", "prob": 30 }, - { "item": "scrap", "count": [ 2, 5 ] }, - { "item": "motor", "prob": 30 } - ] - } - }, - { - "type": "furniture", - "id": "f_aut_gas_console", - "name": "automated gas console", - "description": "Automated gas flow control console.", - "symbol": "9", - "color": "blue", - "move_cost_mod": -1, - "coverage": 40, - "required_str": 25, - "flags": [ "SEALED", "ALARMED", "BLOCKSDOOR" ], - "examine_action": "pay_gas", - "bash": { "str_min": 7, "str_max": 30, "sound": "glass breaking!", "sound_fail": "whack!", "furn_set": "f_aut_gas_console_o" } - }, - { - "type": "furniture", - "id": "f_aut_gas_console_o", - "name": "broken automated gas console", - "description": "Automated gas flow control console. Broken. This is not a good thing.", - "symbol": "9", - "color": "dark_gray", - "move_cost_mod": -1, - "coverage": 40, - "required_str": 20, - "flags": [ "BLOCKSDOOR" ], - "bash": { - "str_min": 5, - "str_max": 45, - "sound": "metal screeching!", - "sound_fail": "clang!", - "items": [ - { "item": "scrap", "count": [ 2, 8 ] }, - { "item": "steel_chunk", "count": [ 0, 3 ] }, - { "item": "hose", "count": 1 }, - { "item": "cu_pipe", "count": [ 1, 4 ] }, - { "item": "scrap_copper", "count": [ 0, 2 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_boulder_small", - "name": "small boulder", - "description": "Blocking your path. Should be easy to move. It can be used as a primitive anvil.", - "symbol": "o", - "color": "dark_gray", - "move_cost_mod": 3, - "coverage": 30, - "required_str": 10, - "crafting_pseudo_item": "boulder_anvil", - "flags": [ "TRANSPARENT", "MINEABLE", "UNSTABLE", "MOUNTABLE", "TINY" ], - "bash": { - "str_min": 16, - "str_max": 40, - "sound": "smash!", - "sound_fail": "thump.", - "items": [ { "item": "rock", "count": [ 1, 6 ] }, { "item": "sharp_rock", "count": [ 0, 2 ] } ] - } - }, - { - "type": "furniture", - "id": "f_boulder_medium", - "name": "medium boulder", - "description": "Blocking your path. It'll be a struggle to move. It can be used as a primitive anvil.", - "symbol": "0", - "color": "dark_gray", - "move_cost_mod": 6, - "coverage": 45, - "required_str": 16, - "crafting_pseudo_item": "boulder_anvil", - "flags": [ "NOITEM", "TRANSPARENT", "MINEABLE", "UNSTABLE", "MOUNTABLE", "SHORT", "BASHABLE" ], - "bash": { - "str_min": 32, - "str_max": 80, - "sound": "smash!", - "sound_fail": "thump.", - "items": [ { "item": "rock", "count": [ 5, 11 ] }, { "item": "sharp_rock", "count": [ 1, 4 ] } ] - } - }, - { - "type": "furniture", - "id": "f_boulder_large", - "name": "large boulder", - "description": "Now how are you going to move this?", - "symbol": "O", - "color": "dark_gray", - "move_cost_mod": -1, - "coverage": 65, - "required_str": 32, - "flags": [ "NOITEM", "MINEABLE", "BASHABLE", "BLOCK_WIND" ], - "bash": { - "str_min": 64, - "str_max": 160, - "sound": "smash!", - "sound_fail": "thump.", - "items": [ - { "item": "rock", "count": [ 10, 22 ] }, - { "item": "sharp_rock", "count": [ 3, 7 ] }, - { "item": "material_limestone", "charges": [ 2, 5 ], "prob": 30 }, - { "item": "material_rocksalt", "count": [ 0, 1 ], "prob": 10 }, - { "item": "material_rhodonite", "count": [ 0, 1 ], "prob": 1 }, - { "item": "material_zincite", "count": [ 0, 5 ], "prob": 2 } - ] - } - }, - { - "type": "furniture", - "id": "f_slab", - "name": "stone slab", - "description": "A flat slab of heavy stone.", - "symbol": "n", - "color": "dark_gray", - "move_cost_mod": 2, - "coverage": 30, - "required_str": 12, - "crafting_pseudo_item": "boulder_anvil", - "flags": [ "PLACE_ITEM", "BLOCKSDOOR", "TRANSPARENT", "ALLOW_FIELD_EFFECT", "MOUNTABLE", "SHORT", "MINEABLE" ], - "bash": { - "str_min": 20, - "str_max": 40, - "sound": "smash!", - "sound_fail": "thump.", - "items": [ { "item": "rock", "count": [ 2, 7 ] } ] - } - }, - { - "type": "furniture", - "id": "f_shackle", - "name": "manacles", - "description": "Chain serfs in your dungeon. All you need now is an iron ball to chain to it.", - "symbol": "8", - "color": "light_gray", - "move_cost_mod": 1, - "required_str": -1, - "flags": [ "TRANSPARENT", "ALLOW_FIELD_EFFECT", "MOUNTABLE", "SHORT" ], - "bash": { - "str_min": 18, - "str_max": 40, - "sound": "smash!", - "sound_fail": "crack.", - "items": [ { "item": "chain", "count": [ 0, 2 ] } ] - } - }, - { - "type": "furniture", - "id": "f_grave_head", - "name": "headstone", - "description": "Keeps the bodies.", - "symbol": "_", - "color": "light_gray", - "move_cost_mod": 0, - "required_str": -1, - "crafting_pseudo_item": "boulder_anvil", - "flags": [ "MINEABLE", "TRANSPARENT", "SHORT", "NOCOLLIDE", "ALLOW_FIELD_EFFECT", "MOUNTABLE", "PLACE_ITEM" ], - "bash": { - "str_min": 50, - "str_max": 150, - "sound": "crash!", - "sound_fail": "thump!", - "items": [ { "item": "rock", "count": [ 2, 4 ] } ] - } - }, - { - "type": "furniture", - "id": "f_grave_stone", - "name": "gravestone", - "description": "Keeps the bodies. More fancy.", - "symbol": "^", - "color": "light_gray", - "move_cost_mod": 2, - "coverage": 50, - "required_str": -1, - "crafting_pseudo_item": "boulder_anvil", - "flags": [ "MINEABLE", "NOITEM", "TRANSPARENT", "MOUNTABLE", "ROUGH", "PLACE_ITEM" ], - "bash": { - "str_min": 60, - "str_max": 160, - "sound": "crash!", - "sound_fail": "thump!", - "items": [ { "item": "rock", "count": [ 8, 14 ] } ] - } - }, - { - "type": "furniture", - "id": "f_grave_stone_old", - "name": "worn gravestone", - "description": "A worn-out gravestone.", - "symbol": "^", - "color": "dark_gray", - "move_cost_mod": 1.5, - "coverage": 50, - "required_str": -1, - "flags": [ "MINEABLE", "NOITEM", "TRANSPARENT", "MOUNTABLE", "ROUGH", "PLACE_ITEM", "UNSTABLE" ], - "bash": { - "str_min": 40, - "str_max": 120, - "sound": "crash!", - "sound_fail": "thump!", - "items": [ { "item": "rock", "count": [ 5, 10 ] } ] - } - }, - { - "type": "furniture", - "id": "f_grave_monument", - "name": "obelisk", - "description": "Monument to pride.", - "symbol": "$", - "color": "black_white", - "move_cost_mod": -1, - "coverage": 55, - "required_str": -1, - "flags": [ "MINEABLE", "NOITEM" ], - "bash": { - "str_min": 80, - "str_max": 180, - "sound": "crash!", - "sound_fail": "thunk!", - "items": [ { "item": "rock", "count": [ 18, 30 ] } ] - } - }, - { - "type": "furniture", - "id": "f_camp_chair", - "name": "camp chair", - "symbol": "#", - "looks_like": "f_chair", - "description": "Sit down, have a drink. It can folded for easy transportation.", - "color": "brown", - "move_cost_mod": 1, - "coverage": 35, - "floor_bedding_warmth": -1000, - "bonus_fire_warmth_feet": 1000, - "required_str": 3, - "deployed_item": "camp_chair", - "examine_action": "deployed_furniture", - "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC", "MOUNTABLE", "CAN_SIT" ], - "max_volume": 3500, - "deconstruct": { "items": [ { "item": "camp_chair", "count": 1 } ] } - }, - { - "type": "furniture", - "id": "f_wind_mill", - "name": "wind mill", - "description": "A small wind-powered mill that can convert starchy products into flour.", - "symbol": "T", - "bgcolor": "red", - "move_cost_mod": 2, - "required_str": -1, - "examine_action": "quern_examine", - "flags": [ "SEALED", "ALLOW_FIELD_EFFECT", "CONTAINER", "NOITEM", "BLOCKSDOOR" ], - "deconstruct": { "items": [ { "item": "wind_mill", "count": 1 } ] }, - "bash": { - "str_min": 16, - "str_max": 50, - "sound": "metal screeching!", - "sound_fail": "clang!", - "items": [ - { "item": "scrap", "count": [ 4, 8 ] }, - { "item": "pipe", "count": [ 1, 3 ] }, - { "item": "sheet_metal_small", "count": [ 4, 8 ] }, - { "item": "rock", "count": [ 8, 15 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_wind_mill_active", - "name": "active wind mill", - "description": "A small wind-powered mill that can convert starchy products into flour. Its brake has been removed and it is turning.", - "symbol": "T", - "bgcolor": "red", - "move_cost_mod": 2, - "required_str": -1, - "examine_action": "quern_examine", - "flags": [ "SEALED", "ALLOW_FIELD_EFFECT", "CONTAINER", "NOITEM", "BLOCKSDOOR" ], - "deconstruct": { "items": [ { "item": "wind_mill", "count": 1 } ] }, - "bash": { - "str_min": 16, - "str_max": 50, - "sound": "metal screeching!", - "sound_fail": "clang!", - "items": [ - { "item": "scrap", "count": [ 4, 8 ] }, - { "item": "pipe", "count": [ 1, 3 ] }, - { "item": "sheet_metal_small", "count": [ 4, 8 ] }, - { "item": "rock", "count": [ 8, 15 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_water_mill", - "name": "water mill", - "description": "A small water-powered mill that can convert starchy products into flour.", - "symbol": "*", - "bgcolor": "red", - "move_cost_mod": 2, - "required_str": -1, - "examine_action": "quern_examine", - "flags": [ "SEALED", "ALLOW_FIELD_EFFECT", "CONTAINER", "NOITEM", "BLOCKSDOOR" ], - "deconstruct": { "items": [ { "item": "water_mill", "count": 1 } ] }, - "bash": { - "str_min": 12, - "str_max": 50, - "sound": "smash!", - "sound_fail": "whump.", - "items": [ - { "item": "2x4", "count": [ 1, 5 ] }, - { "item": "nail", "charges": [ 5, 15 ] }, - { "item": "splinter", "count": [ 20, 30 ] }, - { "item": "sheet_metal_small", "count": [ 2, 3 ] }, - { "item": "scrap", "count": [ 3, 5 ] }, - { "item": "rock", "count": [ 8, 15 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_water_mill_active", - "name": "active water mill", - "description": "A small water-powered mill that can convert starchy products into flour. Its brake has been removed and it is turning.", - "symbol": "*", - "bgcolor": "red", - "move_cost_mod": 2, - "required_str": -1, - "examine_action": "quern_examine", - "flags": [ "SEALED", "ALLOW_FIELD_EFFECT", "CONTAINER", "NOITEM", "BLOCKSDOOR" ], - "deconstruct": { "items": [ { "item": "water_mill", "count": 1 } ] }, - "bash": { - "str_min": 12, - "str_max": 50, - "sound": "smash!", - "sound_fail": "whump.", - "items": [ - { "item": "2x4", "count": [ 1, 5 ] }, - { "item": "nail", "charges": [ 5, 15 ] }, - { "item": "splinter", "count": [ 20, 30 ] }, - { "item": "sheet_metal_small", "count": [ 2, 3 ] }, - { "item": "scrap", "count": [ 3, 5 ] }, - { "item": "rock", "count": [ 8, 15 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_pillow_fort", - "name": "pillow fort", - "symbol": "^", - "description": "A comfy place to hide from the world. Not very defensible, though.", - "color": "white", - "move_cost_mod": 3, - "coverage": 90, - "comfort": 4, - "floor_bedding_warmth": 1000, - "required_str": -1, - "deconstruct": { "items": [ { "item": "pillow", "count": 19 }, { "item": "blanket", "count": 3 } ] }, - "max_volume": 4000, - "flags": [ - "TRANSPARENT", - "FLAMMABLE_ASH", - "PLACE_ITEM", - "ORGANIC", - "REDUCE_SCENT", - "EASY_DECONSTRUCT", - "BASHABLE", - "HIDE_PLACE", - "NO_SIGHT" - ], - "bash": { - "str_min": 1, - "str_max": 1, - "sound": "paf!", - "sound_fail": "poof.", - "items": [ { "item": "pillow", "count": 19 }, { "item": "blanket", "count": 3 } ] - } - }, - { - "type": "furniture", - "id": "f_cardboard_fort", - "name": "cardboard fort", - "symbol": "^", - "description": "A fort built by tipping a cardboard box on its side, lining it with blankets, and partly weather sealing it with a plastic sheet.", - "color": "brown", - "move_cost_mod": 3, - "coverage": 95, - "comfort": 4, - "floor_bedding_warmth": 700, - "required_str": 3, - "deconstruct": { - "items": [ - { "item": "box_large", "count": 1 }, - { "item": "plastic_sheet", "count": 1 }, - { "item": "blanket", "count": 2 }, - { "item": "pillow", "count": 4 } - ] - }, - "max_volume": 4000, - "flags": [ - "TRANSPARENT", - "FLAMMABLE_ASH", - "PLACE_ITEM", - "ORGANIC", - "REDUCE_SCENT", - "EASY_DECONSTRUCT", - "BASHABLE", - "HIDE_PLACE", - "NO_SIGHT", - "BLOCK_WIND" - ], - "bash": { - "str_min": 4, - "str_max": 15, - "sound": "crumple!", - "sound_fail": "thud.", - "items": [ { "item": "paper", "count": [ 50, 100 ] } ] - } - }, - { - "type": "furniture", - "id": "f_cardboard_wall", - "name": "cardboard wall", - "symbol": "#", - "bgcolor": "brown", - "move_cost_mod": -1, - "coverage": 100, - "description": "This is a pile of cardboard boxes that have been filled with rags and junk and stacked together like bricks to form a wall.", - "required_str": -1, - "flags": [ "NOITEM", "BLOCKSDOOR", "FLAMMABLE_ASH", "ORGANIC", "EASY_DECONSTRUCT", "BLOCK_WIND" ], - "deconstruct": { - "items": [ - { "item": "box_large", "count": 1 }, - { "item": "box_medium", "count": 2 }, - { "item": "box_small", "count": 4 }, - { "item": "rag", "count": 50 }, - { "item": "paper", "count": 50 }, - { "item": "plastic_chunk", "count": 20 }, - { "item": "plastic_sheet", "count": 2 } - ] - }, - "bash": { - "str_min": 8, - "str_max": 30, - "sound": "crash!", - "sound_fail": "whump.", - "items": [ - { "item": "box_large", "count": [ 0, 1 ] }, - { "item": "box_medium", "count": [ 0, 2 ] }, - { "item": "box_small", "count": [ 0, 4 ] }, - { "item": "rag", "count": [ 20, 50 ] }, - { "item": "paper", "count": [ 50, 150 ] }, - { "item": "plastic_chunk", "count": [ 5, 20 ] }, - { "item": "plastic_sheet", "count": [ 0, 2 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_cardboard_box", - "name": "large cardboard box", - "symbol": "X", - "description": "A large cardboard box: this could be used to store things, or as a hiding place.", - "color": "brown", - "move_cost_mod": 7, - "coverage": 90, - "comfort": 1, - "floor_bedding_warmth": 200, - "required_str": 3, - "deconstruct": { "items": [ { "item": "box_large", "count": 1 } ] }, - "max_volume": 6000, - "deployed_item": "box_large", - "examine_action": "deployed_furniture", - "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "PLACE_ITEM", "ORGANIC", "EASY_DECONSTRUCT", "BASHABLE", "HIDE_PLACE", "NO_SIGHT" ], - "bash": { - "str_min": 2, - "str_max": 15, - "sound": "crumple!", - "sound_fail": "thud.", - "items": [ { "item": "paper", "charges": [ 50, 100 ] } ] - } - }, - { - "type": "furniture", - "id": "f_beaded_door", - "name": "beaded curtain", - "description": "This beaded curtain could be pulled aside.", - "symbol": "+", - "color": "pink", - "looks_like": "f_canvas_door", - "move_cost_mod": 6, - "coverage": 90, - "required_str": -1, - "flags": [ "NOITEM", "DOOR", "PERMEABLE", "FLAMMABLE_ASH", "MOUNTABLE" ], - "open": "f_beaded_door_o", - "deconstruct": { - "items": [ { "item": "stick_long", "count": 1 }, { "item": "string_36", "count": 20 }, { "item": "wooden_bead", "count": 2000 } ] - }, - "bash": { - "str_min": 1, - "str_max": 1, - "sound": "clickity clack...clack...clack", - "sound_fail": "clickity clack...clack", - "sound_vol": 15, - "items": [ - { "item": "string_36", "count": [ 3, 15 ] }, - { "item": "stick_long", "count": 1 }, - { "item": "wooden_bead", "count": [ 200, 500 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_beaded_door_o", - "name": "open beaded curtain", - "description": "This beaded curtain has been pulled aside.", - "symbol": ".", - "color": "pink", - "looks_like": "f_canvas_door_o", - "move_cost_mod": 0, - "required_str": -1, - "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "FLAT" ], - "close": "f_beaded_door", - "deconstruct": { - "items": [ { "item": "stick_long", "count": 1 }, { "item": "string_36", "count": 20 }, { "item": "wooden_bead", "count": 2000 } ] - }, - "bash": { - "str_min": 1, - "str_max": 1, - "sound": "clickity clack...clack...clack!", - "sound_fail": "clickity clack...clack", - "sound_vol": 15, - "items": [ - { "item": "string_36", "count": [ 3, 15 ] }, - { "item": "stick_long", "count": 1 }, - { "item": "wooden_bead", "count": [ 200, 500 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_filing_cabinet", - "name": "filing cabinet", - "looks_like": "f_rack", - "description": "A set of drawers in a sturdy metal cabinet, used to hold files. It can be locked to protect important information. If you're lucky, there are often keys nearby.", - "symbol": "}", - "color": "dark_gray", - "move_cost_mod": 2, - "coverage": 70, - "required_str": 7, - "flags": [ "PLACE_ITEM", "TRANSPARENT", "CONTAINER", "BLOCKSDOOR", "MOUNTABLE" ], - "deconstruct": { - "items": [ - { "item": "sheet_metal", "count": [ 2, 6 ] }, - { "item": "scrap", "count": [ 2, 6 ] }, - { "item": "lock", "count": [ 0, 1 ] } - ] - }, - "max_volume": 800, - "bash": { - "str_min": 8, - "str_max": 30, - "sound": "metal screeching!", - "sound_fail": "clang!", - "items": [ { "item": "scrap", "count": [ 0, 6 ] }, { "item": "sheet_metal", "count": [ 0, 4 ] } ] - } - }, - { - "type": "furniture", - "id": "f_wardrobe", - "name": "wardrobe", - "looks_like": "f_dresser", - "description": "A tall piece of furniture - basically a freestanding closet.", - "symbol": "{", - "color": "i_brown", - "move_cost_mod": -1, - "coverage": 85, - "required_str": 9, - "flags": [ "CONTAINER", "FLAMMABLE", "PLACE_ITEM", "ORGANIC", "BLOCKSDOOR", "MOUNTABLE" ], - "deconstruct": { - "items": [ { "item": "2x4", "count": 20 }, { "item": "nail", "charges": [ 16, 24 ] }, { "item": "pipe", "count": 2 } ] - }, - "max_volume": 2000, - "bash": { - "str_min": 12, - "str_max": 40, - "sound": "smash!", - "sound_fail": "whump.", - "items": [ - { "item": "2x4", "count": [ 8, 12 ] }, - { "item": "nail", "charges": [ 8, 14 ] }, - { "item": "splinter", "count": [ 4, 10 ] }, - { "item": "pipe", "count": [ 0, 1 ] }, - { "item": "scrap", "count": [ 2, 5 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_robotic_assembler", - "name": "robotic assembler", - "looks_like": "f_robotic_arm", - "description": "A durable and versatile robotic arm with a tool fitted to the end, for working on an assembly line.", - "symbol": "3", - "color": "magenta_cyan", - "move_cost_mod": -1, - "coverage": 35, - "required_str": -1, - "bash": { - "str_min": 40, - "str_max": 150, - "sound_fail": "clang!", - "items": [ - { "item": "processor", "count": [ 1, 2 ] }, - { "item": "RAM", "count": [ 4, 8 ] }, - { "item": "cable", "charges": [ 4, 6 ] }, - { "item": "small_lcd_screen", "count": [ 1, 2 ] }, - { "item": "e_scrap", "count": [ 5, 8 ] }, - { "item": "circuit", "count": [ 3, 5 ] }, - { "item": "power_supply", "count": [ 1, 2 ] }, - { "item": "amplifier", "count": [ 1, 2 ] }, - { "item": "plastic_chunk", "count": [ 10, 12 ] }, - { "item": "scrap", "count": [ 6, 8 ] } - ] - }, - "deconstruct": { - "items": [ - { "item": "processor", "count": [ 2, 4 ] }, - { "item": "RAM", "count": [ 8, 16 ] }, - { "item": "cable", "charges": [ 8, 12 ] }, - { "item": "small_lcd_screen", "count": [ 2, 4 ] }, - { "item": "e_scrap", "count": [ 10, 16 ] }, - { "item": "circuit", "count": [ 6, 10 ] }, - { "item": "power_supply", "count": [ 2, 4 ] }, - { "item": "amplifier", "count": [ 2, 4 ] }, - { "item": "plastic_chunk", "count": [ 10, 12 ] }, - { "item": "scrap", "count": [ 6, 8 ] }, - { "item": "motor_small", "count": [ 0, 1 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_chemical_mixer", - "description": "When chemicals need to be mixed in large quantities at just the right combinations and temperatures, this is the tool for the job.", - "name": "chemical mixer", - "symbol": "0", - "color": "red_green", - "move_cost_mod": -1, - "coverage": 40, - "required_str": 16, - "bash": { - "str_min": 40, - "str_max": 150, - "sound_fail": "clang!", - "items": [ - { "item": "cable", "charges": [ 0, 4 ] }, - { "item": "scrap", "count": [ 8, 12 ] }, - { "item": "steel_chunk", "count": [ 2, 4 ] }, - { "item": "metal_tank_little", "count": [ 0, 2 ] }, - { "item": "jerrycan", "count": [ 0, 2 ] }, - { "item": "metal_tank", "count": [ 0, 2 ] } - ] - }, - "deconstruct": { - "items": [ - { "item": "cable", "charges": [ 4, 8 ] }, - { "item": "steel_chunk", "count": [ 4, 6 ] }, - { "item": "scrap", "count": [ 12, 16 ] }, - { "item": "metal_tank_little", "count": [ 2, 4 ] }, - { "item": "jerrycan", "count": [ 2, 4 ] }, - { "item": "metal_tank", "count": [ 2, 4 ] }, - { "item": "motor_small", "count": 1 } - ] - } - }, - { - "type": "furniture", - "id": "f_floor_lamp", - "name": "floor lamp", - "symbol": "T", - "looks_like": "f_rack_coat", - "description": "A tall standing lamp, meant to plug into a wall and light up a room.", - "color": "light_gray", - "move_cost_mod": 2, - "required_str": 1, - "flags": [ "BLOCKSDOOR", "PLACE_ITEM", "EASY_DECONSTRUCT" ], - "deconstruct": { - "items": [ - { "item": "cable", "charges": [ 1, 2 ] }, - { "item": "amplifier", "count": [ 1, 4 ] }, - { "item": "light_bulb", "count": [ 1, 4 ] }, - { "item": "steel_lump", "count": 1 }, - { "item": "pipe", "count": 1 } - ] - }, - "bash": { - "str_min": 12, - "str_max": 40, - "sound": "metal screeching!", - "sound_fail": "bonk!", - "items": [ - { "item": "scrap", "count": [ 1, 2 ] }, - { "item": "cable", "charges": [ 0, 1 ] }, - { "item": "e_scrap", "count": [ 0, 1 ] }, - { "item": "glass_shard", "count": [ 0, 8 ] }, - { "item": "pipe", "count": [ 0, 1 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_shredder", - "name": "document shredder", - "description": "It's not all about hiding government secrets, sometimes you just want to stop identity theft.", - "symbol": "H", - "bgcolor": "white", - "move_cost_mod": 5, - "required_str": 6, - "looks_like": "f_filing_cabinet", - "flags": [ "TRANSPARENT", "CONTAINER", "PLACE_ITEM", "BLOCKSDOOR" ], - "deconstruct": { - "items": [ - { "item": "scrap", "count": [ 2, 6 ] }, - { "item": "steel_chunk", "count": [ 1, 3 ] }, - { "item": "steel_lump", "count": [ 1, 3 ] }, - { "item": "plastic_chunk", "count": [ 1, 3 ] }, - { "item": "sheet_metal_small", "count": [ 0, 4 ] }, - { "item": "sheet_metal", "count": [ 2, 4 ] }, - { "item": "pipe", "count": [ 1, 4 ] }, - { "item": "cable", "charges": [ 1, 15 ] }, - { "item": "motor", "count": 1 }, - { "item": "solder_wire", "charges": [ 1, 15 ] } - ] - }, - "bash": { - "str_min": 18, - "str_max": 50, - "sound": "metal screeching!", - "sound_fail": "clang!", - "items": [ - { "item": "scrap", "count": [ 2, 7 ] }, - { "item": "steel_chunk", "count": [ 0, 3 ] }, - { "item": "sheet_metal_small", "count": [ 8, 12 ] }, - { "item": "sheet_metal", "count": [ 1, 2 ] }, - { "item": "pipe", "count": [ 1, 2 ] }, - { "item": "cable", "charges": [ 1, 15 ] }, - { "item": "e_scrap", "count": [ 5, 10 ] }, - { "item": "plastic_chunk", "count": [ 0, 2 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_server", - "looks_like": "f_utility_shelf", - "name": "server stack", - "description": "This is a big pile of computers. They're all turned off.", - "symbol": ":", - "color": "blue_white", - "move_cost_mod": -1, - "coverage": 90, - "required_str": 8, - "flags": [ "BLOCKSDOOR" ], - "deconstruct": { - "items": [ - { "item": "sheet_metal_small", "count": [ 4, 6 ] }, - { "item": "plastic_chunk", "count": [ 2, 12 ] }, - { "item": "pipe", "count": [ 4, 8 ] }, - { "item": "laptop", "count": [ 2, 4 ] }, - { "item": "cable", "charges": [ 5, 10 ] } - ] - }, - "bash": { - "str_min": 16, - "str_max": 40, - "sound": "metal screeching!", - "sound_fail": "clang!", - "items": [ - { "item": "scrap", "count": [ 4, 8 ] }, - { "item": "plastic_chunk", "count": [ 1, 6 ] }, - { "item": "sheet_metal_small", "count": [ 1, 4 ] }, - { "item": "pipe", "count": 1 }, - { "item": "e_scrap", "count": [ 20, 50 ] }, - { "item": "cable", "charges": [ 2, 8 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_satellite", - "name": "large satellite dish", - "looks_like": "t_radio_tower", - "description": "Somewhere up there, there are still satellites, orbiting and doing their thing, sending signals down to an Earth that is no longer listening.", - "symbol": ")", - "color": "white_green", - "move_cost_mod": -1, - "coverage": 70, - "required_str": -1, - "deconstruct": { - "items": [ - { "item": "pipe", "count": [ 6, 12 ] }, - { "item": "rebar", "count": [ 6, 12 ] }, - { "item": "scrap", "count": [ 2, 6 ] }, - { "item": "steel_chunk", "count": [ 1, 3 ] }, - { "item": "steel_lump", "count": [ 4, 6 ] }, - { "item": "sheet_metal_small", "count": [ 0, 4 ] }, - { "item": "sheet_metal", "count": [ 8, 10 ] }, - { "item": "cable", "charges": [ 1, 15 ] }, - { "item": "motor", "count": 1 } - ] - }, - "bash": { - "str_min": 18, - "str_max": 50, - "sound": "metal screeching!", - "sound_fail": "clang!", - "items": [ - { "item": "pipe", "count": [ 1, 10 ] }, - { "item": "rebar", "count": [ 1, 10 ] }, - { "item": "scrap", "count": [ 6, 16 ] }, - { "item": "steel_chunk", "count": [ 1, 4 ] }, - { "item": "steel_lump", "count": [ 0, 6 ] }, - { "item": "sheet_metal_small", "count": [ 8, 12 ] }, - { "item": "sheet_metal", "count": [ 1, 2 ] }, - { "item": "cable", "charges": [ 1, 15 ] }, - { "item": "scrap_copper", "count": [ 0, 2 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_workbench", - "name": "workbench", - "description": "A sturdy workbench built out of metal. It is perfect for crafting large and heavy things.", - "symbol": "#", - "color": "red", - "move_cost_mod": 2, - "required_str": -1, - "looks_like": "f_lab_bench", - "flags": [ "TRANSPARENT", "PLACE_ITEM", "MOUNTABLE", "FLAT_SURF" ], - "deconstruct": { - "items": [ - { "item": "pipe", "count": [ 6, 8 ] }, - { "item": "sheet_metal", "count": 2 }, - { "item": "sheet_metal_small", "count": [ 2, 4 ] } - ] - }, - "max_volume": 4000, - "bash": { - "str_min": 35, - "str_max": 80, - "sound": "metal screeching!", - "sound_fail": "clang!", - "items": [ - { "item": "pipe", "count": [ 4, 6 ] }, - { "item": "sheet_metal", "count": [ 0, 1 ] }, - { "item": "sheet_metal_small", "count": [ 12, 24 ] }, - { "item": "steel_chunk", "count": [ 4, 8 ] }, - { "item": "scrap", "count": [ 12, 24 ] } - ] - }, - "examine_action": "workbench", - "workbench": { "multiplier": 1.2, "mass": 500000, "volume": "200L" } - }, - { - "id": "f_hanging_meathook", - "type": "furniture", - "name": "hanging meathook", - "description": "A hefty hook suspended from a chain for stringing up corpses.", - "symbol": "g", - "required_str": -1, - "move_cost_mod": 2, - "color": "light_gray", - "deconstruct": { "items": [ { "item": "grip_hook", "count": 1 }, { "item": "chain", "count": 1 } ] }, - "flags": [ "TRANSPARENT", "BUTCHER_EQ" ] - }, - { - "type": "furniture", - "id": "f_fake_bench_hands", - "name": "fake workbench hands", - "description": "This fake workbench holds the stats for working on a wielded item.", - "symbol": "#", - "color": "red", - "move_cost_mod": 2, - "required_str": -1, - "workbench": { "multiplier": 1.0, "mass": 5000, "volume": "10L" } - }, - { - "type": "furniture", - "//": "This furniture object also gets used as a fake workbench whenever a player crafts on the ground anywhere else.", - "id": "f_ground_crafting_spot", - "name": "ground crafting spot", - "looks_like": "tr_firewood_source", - "description": "A cleared spot on the ground for crafting. Slower than using a workbench or holding a project in your hands, but readily available.", - "symbol": "x", - "color": "white", - "move_cost_mod": 2, - "required_str": 0, - "deconstruct": { "items": [ ] }, - "bash": { "str_min": 0, "str_max": 0, "items": [ ] }, - "flags": [ "PLACE_ITEM", "TRANSPARENT", "EASY_DECONSTRUCT" ], - "examine_action": "workbench", - "workbench": { "multiplier": 0.7, "mass": 1000000, "volume": "1000L" } - }, - { - "id": "f_tatami", - "type": "furniture", - "name": "tatami mat", - "description": "A tatami is a type of mat used as a flooring material in traditional Japanese-style rooms.", - "symbol": "#", - "color": [ "brown" ], - "move_cost_mod": 0, - "comfort": 2, - "floor_bedding_warmth": -1500, - "max_volume": 4000, - "required_str": 7, - "bash": { - "str_min": 8, - "str_max": 30, - "sound": "crunch.", - "sound_fail": "whump.", - "items": [ - { "item": "straw_pile", "count": [ 5, 8 ] }, - { "item": "rag", "count": [ 2, 4 ] }, - { "item": "string_36", "count": [ 1, 2 ] } - ] - }, - "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "ORGANIC" ] - }, - { - "id": "f_bitts", - "type": "furniture", - "name": "bitts", - "description": "Paired vertical iron posts mounted on a wharf, pier or quay. They are used to secure mooring lines, ropes, hawsers, or cables.", - "symbol": "B", - "color": [ "light_gray" ], - "move_cost_mod": 2, - "coverage": 30, - "required_str": 0, - "bash": { - "str_min": 80, - "str_max": 200, - "sound": "metal screeching!", - "sound_fail": "clang!", - "items": [ { "item": "steel_chunk", "count": [ 5, 10 ] } ] - }, - "flags": [ "TRANSPARENT", "MOUNTABLE", "SHORT" ] - }, - { - "type": "furniture", - "id": "f_speaker_cabinet", - "name": "speaker cabinet", - "description": "A cabinet loaded with 12-inch speakers, intended to help make various things loud. It can't serve its original purpose these days, but it could be disassembled for various electronic parts.", - "symbol": "7", - "color": "blue", - "move_cost_mod": -1, - "coverage": 50, - "max_volume": 15, - "required_str": 7, - "flags": [ "TRANSPARENT", "FLAMMABLE", "PLACE_ITEM" ], - "deconstruct": { - "items": [ - { "item": "scrap", "count": [ 4, 6 ] }, - { "item": "e_scrap", "count": [ 1, 2 ] }, - { "item": "plastic_chunk", "count": [ 0, 2 ] }, - { "item": "wood_panel", "count": 1 }, - { "item": "2x4", "count": 4 }, - { "item": "nail", "charges": [ 8, 10 ] }, - { "item": "cable", "charges": [ 3, 4 ] } - ] - }, - "bash": { - "str_min": 8, - "str_max": 20, - "sound": "smash!", - "sound_fail": "whump!", - "items": [ - { "item": "splinter", "count": [ 0, 6 ] }, - { "item": "scrap", "count": [ 0, 3 ] }, - { "item": "2x4", "count": [ 1, 2 ] }, - { "item": "nail", "charges": [ 2, 6 ] }, - { "item": "cable", "charges": [ 1, 3 ] }, - { "item": "e_scrap", "prob": 25 }, - { "item": "plastic_chunk", "count": [ 0, 1 ] } - ] - } - }, - { - "type": "furniture", - "id": "f_no_item", - "//": "This is used in a hack to clear furniture with the keg iexamine of all items execept the stored liquid before usage.", - "name": "seeing this is a bug", - "description": "Seeing this is a bug. If seen, please report and destroy.", - "symbol": "#", - "color": "black", - "move_cost_mod": 2, - "required_str": -1, - "flags": [ "NOITEM" ] - }, - { - "type": "furniture", - "id": "f_swamp_gas", - "name": "swamp gas", - "description": "This is a pool of murkey water, it occassionaly bubbles, releasing a mildly toxic gas.", - "looks_like": "t_water_sh", - "symbol": "~", - "color": "blue", - "move_cost_mod": 1, - "coverage": 0, - "required_str": -1, - "flags": [ "TRANSPARENT", "EMITTER" ], - "emissions": [ "emit_swamp_gas_leak" ], - "//": "a very mild toxicant, inducing nausea.", - "bash": { "str_min": 30, "str_max": 60, "sound": "splash!", "sound_fail": "splash!", "furn_set": "f_swamp_gas" } - }, - { - "type": "furniture", - "id": "f_fog", - "name": "fog", - "description": "This is a misty cloud of fog.", - "looks_like": "t_moss", - "symbol": "^", - "color": "light_gray", - "move_cost_mod": 2, - "coverage": 0, - "required_str": -1, - "flags": [ "TRANSPARENT", "EMITTER" ], - "emissions": [ "emit_fog_plume" ] - } -] diff --git a/data/json/furniture_and_terrain/terrain-bridges-docks.json b/data/json/furniture_and_terrain/terrain-bridges-docks.json index ee070e16a8248..8b39741fbce9e 100644 --- a/data/json/furniture_and_terrain/terrain-bridges-docks.json +++ b/data/json/furniture_and_terrain/terrain-bridges-docks.json @@ -32,7 +32,7 @@ "type": "terrain", "id": "t_dock_deep_pile", "name": "deep dock pile", - "description": "A sturdy pile made of wood extending all the way to the riverbed. A frame will be required to support a surface.", + "description": "A sturdy pile made of wood extending all the way to the riverbed. A frame will be required to support a surface.", "symbol": "|", "color": "brown", "move_cost": 8, @@ -53,7 +53,7 @@ "type": "terrain", "id": "t_dock_deep_frame", "name": "deep dock frame", - "description": "A log frame secured atop a wooden pile. Adding a wood surface will make this into a proper dock section.", + "description": "A log frame secured atop a wooden pile. Adding a wood surface will make this into a proper dock section.", "symbol": "#", "color": "brown", "move_cost": 6, @@ -73,7 +73,7 @@ "type": "terrain", "id": "t_dock_deep", "name": "deep dock", - "description": "A wooden platform held by a tall wooden pile that extend to the riverbed. Very sturdy, and likely to outlast you.", + "description": "A wooden platform held by a tall wooden pile that extend to the riverbed. Very sturdy, and likely to outlast you.", "symbol": "8", "color": "brown", "move_cost": 2, diff --git a/data/json/furniture_and_terrain/terrain-doors.json b/data/json/furniture_and_terrain/terrain-doors.json index b50dbbfcb4b65..62358e2d8ce97 100644 --- a/data/json/furniture_and_terrain/terrain-doors.json +++ b/data/json/furniture_and_terrain/terrain-doors.json @@ -97,6 +97,7 @@ "name": "closed reinforced glass door", "description": "A closed glass door reinforced with woven steel wires in a stylish, but practical pattern.", "symbol": "+", + "looks_like": "t_door_glass_c", "color": "light_cyan", "move_cost": 0, "roof": "t_flat_roof", @@ -123,6 +124,7 @@ "name": "closed reinforced glass door", "description": "A closed glass door reinforced with woven steel wires in a stylish, but practical pattern.", "symbol": "+", + "looks_like": "t_reinforced_door_glass_c", "color": "light_cyan", "move_cost": 0, "roof": "t_flat_roof", @@ -149,6 +151,7 @@ "name": "open reinforced glass door", "description": "A glass door reinforced with woven steel wires in a stylish, but practical pattern. Yep, it's open.", "symbol": "'", + "looks_like": "t_door_glass_o", "color": "light_cyan", "move_cost": 2, "roof": "t_flat_roof", @@ -175,6 +178,7 @@ "name": "open reinforced glass door", "description": "A glass door reinforced with woven steel wires in a stylish, but practical pattern. Yep, it's open.", "symbol": "'", + "looks_like": "t_reinforced_door_glass_o", "color": "light_cyan", "move_cost": 2, "roof": "t_flat_roof", @@ -238,6 +242,7 @@ "name": "closed wood door", "description": "A standard wooden door that doesn't look very resilient. It'd probably burn easily, too.", "symbol": "+", + "looks_like": "t_door_c", "color": "brown", "move_cost": 0, "coverage": 95, @@ -275,6 +280,7 @@ "name": "closed wood door", "description": "A standard wooden door that doesn't look very resilient. It'd probably burn easily, too.", "symbol": "+", + "looks_like": "t_door_c", "color": "brown", "move_cost": 0, "coverage": 95, @@ -312,6 +318,7 @@ "name": "closed wood door", "description": "A standard wooden door that doesn't look very resilient. It'd probably burn easily, too.", "symbol": "+", + "looks_like": "t_door_c", "color": "brown", "move_cost": 0, "coverage": 95, @@ -349,6 +356,7 @@ "name": "closed wood door", "description": "A standard wooden door that doesn't look very resilient. It'd probably burn easily, too.", "symbol": "+", + "looks_like": "t_door_c", "color": "brown", "move_cost": 0, "coverage": 95, @@ -386,6 +394,7 @@ "name": "closed wood door", "description": "A standard wooden door that doesn't look very resilient. It'd probably burn easily, too.", "symbol": "+", + "looks_like": "t_door_c", "color": "brown", "move_cost": 0, "coverage": 95, @@ -423,6 +432,7 @@ "name": "open wood door", "description": "A standard wooden door that doesn't look very resilient. It'd probably burn easily, too. This one is wide open.", "symbol": "'", + "looks_like": "t_door_o", "color": "brown", "move_cost": 2, "roof": "t_flat_roof", @@ -459,6 +469,7 @@ "name": "open wood door", "description": "A standard wooden door that doesn't look very resilient. It'd probably burn easily, too. This one is wide open.", "symbol": "'", + "looks_like": "t_door_o", "color": "brown", "move_cost": 2, "roof": "t_flat_roof", @@ -495,6 +506,7 @@ "name": "open wood door", "description": "A standard wooden door that doesn't look very resilient. It'd probably burn easily, too. This one is wide open.", "symbol": "'", + "looks_like": "t_door_o", "color": "brown", "move_cost": 2, "roof": "t_flat_roof", @@ -531,6 +543,7 @@ "name": "open wood door", "description": "A standard wooden door that doesn't look very resilient. It'd probably burn easily, too. This one is wide open.", "symbol": "'", + "looks_like": "t_door_o", "color": "brown", "move_cost": 2, "roof": "t_flat_roof", @@ -567,6 +580,7 @@ "name": "damaged wood door", "description": "A trashed wooden door, that is more of an obstacle than a door. Also, you can see right through it. It could be boarded up with a few two by fours.", "symbol": "&", + "looks_like": "t_door_b", "color": "brown", "move_cost": 0, "coverage": 60, @@ -602,6 +616,7 @@ "name": "damaged wood door", "description": "A trashed wooden door, that is more of an obstacle than a door. Also, you can see right through it. It could be boarded up with a few two by fours.", "symbol": "&", + "looks_like": "t_door_b", "color": "brown", "move_cost": 0, "coverage": 60, @@ -637,6 +652,7 @@ "name": "damaged wood door", "description": "A trashed wooden door, that is more of an obstacle than a door. Also, you can see right through it. It could be boarded up with a few two by fours.", "symbol": "&", + "looks_like": "t_door_b", "color": "brown", "move_cost": 0, "coverage": 60, @@ -672,6 +688,7 @@ "name": "damaged wood door", "description": "A trashed wooden door, that is more of an obstacle than a door. Also, you can see right through it. It could be boarded up with a few two by fours.", "symbol": "&", + "looks_like": "t_door_b", "color": "brown", "move_cost": 0, "coverage": 60, @@ -707,6 +724,7 @@ "name": "empty door frame", "description": "An empty door frame made from two by fours and nails. A variety of doors could be constructed here.", "symbol": ".", + "looks_like": "t_door_frame", "color": "brown", "move_cost": 2, "roof": "t_flat_roof", @@ -731,6 +749,7 @@ "name": "empty door frame", "description": "An empty door frame made from two by fours and nails. A variety of doors could be constructed here.", "symbol": ".", + "looks_like": "t_door_frame", "color": "brown", "move_cost": 2, "roof": "t_flat_roof", @@ -755,6 +774,7 @@ "name": "empty door frame", "description": "An empty door frame made from two by fours and nails. A variety of doors could be constructed here.", "symbol": ".", + "looks_like": "t_door_frame", "color": "brown", "move_cost": 2, "roof": "t_flat_roof", @@ -779,6 +799,7 @@ "name": "empty door frame", "description": "An empty door frame made from two by fours and nails. A variety of doors could be constructed here.", "symbol": ".", + "looks_like": "t_door_frame", "color": "brown", "move_cost": 2, "roof": "t_flat_roof", @@ -803,6 +824,7 @@ "name": "closed glass door", "description": "A sliding glass door, the kind that was on social media with people and animals running into. This one is closed, so don't hurt yourself.", "symbol": "+", + "looks_like": "t_door_glass_c", "color": "light_cyan", "move_cost": 0, "roof": "t_flat_roof", @@ -826,6 +848,7 @@ "name": "closed glass door", "description": "A sliding glass door, the kind that was on social media with people and animals running into. This one is closed, so don't hurt yourself.", "symbol": "+", + "looks_like": "t_door_glass_c", "color": "light_cyan", "move_cost": 0, "roof": "t_flat_roof", @@ -849,6 +872,7 @@ "name": "closed glass door", "description": "A sliding glass door, the kind that was on social media with people and animals running into. This one is closed, so don't hurt yourself.", "symbol": "+", + "looks_like": "t_door_glass_c", "color": "light_cyan", "move_cost": 0, "roof": "t_flat_roof", @@ -872,6 +896,7 @@ "name": "closed glass door", "description": "A sliding glass door, the kind that was on social media with people and animals running into. This one is closed, so don't hurt yourself.", "symbol": "+", + "looks_like": "t_door_glass_c", "color": "light_cyan", "move_cost": 0, "roof": "t_flat_roof", @@ -895,6 +920,7 @@ "name": "open glass door", "description": "A sliding glass door that has been left open for all manner of things to travel through.", "symbol": "'", + "looks_like": "t_door_glass_c", "color": "light_cyan", "move_cost": 2, "roof": "t_flat_roof", @@ -918,6 +944,7 @@ "name": "open glass door", "description": "A sliding glass door that has been left open for all manner of things to travel through.", "symbol": "'", + "looks_like": "t_door_glass_c", "color": "light_cyan", "move_cost": 2, "roof": "t_flat_roof", @@ -941,6 +968,7 @@ "name": "open glass door", "description": "A sliding glass door that has been left open for all manner of things to travel through.", "symbol": "'", + "looks_like": "t_door_glass_o", "color": "light_cyan", "move_cost": 2, "roof": "t_flat_roof", @@ -964,6 +992,7 @@ "name": "open glass door", "description": "A sliding glass door that has been left open for all manner of things to travel through.", "symbol": "'", + "looks_like": "t_door_glass_o", "color": "light_cyan", "move_cost": 2, "roof": "t_flat_roof", @@ -987,6 +1016,7 @@ "name": "closed wood door with peephole", "description": "A regular door made of ordinary wood, except this one has a peephole. If you examined it more closely, you'd be able to peek through the hole.", "symbol": "+", + "looks_like": "t_door_c", "color": "brown", "move_cost": 0, "coverage": 95, @@ -1025,6 +1055,7 @@ "name": "damaged wood door", "description": "A trashed wooden door, that is more of an obstacle than a door. Also, you can see right through it. It could be boarded up with a few two by fours.", "symbol": "&", + "looks_like": "t_door_c", "color": "brown", "move_cost": 0, "coverage": 60, @@ -1060,6 +1091,7 @@ "name": "damaged wood door", "description": "A trashed wooden door, that is more of an obstacle than a door. Also, you can see right through it. It could be boarded up with a few two by fours.", "symbol": "&", + "looks_like": "t_door_b", "color": "brown", "move_cost": 0, "coverage": 60, @@ -1096,6 +1128,7 @@ "//": "There's no need for a use-peephole, because the door is transparent", "description": "Bad news is the peephole is broken and you can't look outside the door. Good news is the door is nearly broken down, so there's nothing blocking the view. A few planks, nails and the right tools could patch up all the damage.", "symbol": "&", + "looks_like": "t_door_b", "color": "brown", "move_cost": 0, "coverage": 60, @@ -1168,6 +1201,7 @@ "name": "open wood door", "description": "A standard wooden door that doesn't look very resilient. It'd probably burn easily, too. This one is wide open.", "symbol": "'", + "looks_like": "t_door_o", "color": "brown", "move_cost": 2, "roof": "t_flat_roof", @@ -1203,6 +1237,7 @@ "name": "open wood door with peephole", "description": "A regular door made of ordinary wood, except this one has a peephole. If you examined it more closely, you'd be able to peek through the hole. Although, you don't need to peek through it since the door is open anyway.", "symbol": "'", + "looks_like": "t_door_o", "color": "brown", "move_cost": 2, "roof": "t_flat_roof", @@ -1241,6 +1276,7 @@ "name": "closed reinforced wood door", "description": "Just like other wooden doors, except this one has layers of nailed in two by fours and additional hinge for reinforcement. It might be barricaded, but still susceptible to fire.", "symbol": "+", + "looks_like": "t_door_c", "color": "red", "move_cost": 0, "coverage": 100, @@ -1277,6 +1313,7 @@ "name": "damaged reinforced wood door", "description": "There are splintering planks and visible holes in the wood, it looks like it could be smashed apart if not repaired.", "symbol": "&", + "looks_like": "t_door_b", "color": "red", "move_cost": 0, "coverage": 75, @@ -1312,6 +1349,7 @@ "name": "open reinforced wood door", "description": "Just like other wooden doors, except this one has layers of nailed in two by fours for reinforcement. It might be fortified, but still susceptible to fire. It's open so it's not stopping anything right now.", "symbol": "'", + "looks_like": "t_door_o", "color": "red", "move_cost": 2, "roof": "t_flat_roof", @@ -1348,6 +1386,7 @@ "name": "closed wood door", "description": "A standard wooden door that doesn't look very resilient. It'd probably burn easily, too. This one has an extra keyhole, so it's likely locked. You could pry it open or pick the lock.", "symbol": "+", + "looks_like": "t_door_locked", "color": "brown", "move_cost": 0, "coverage": 95, @@ -1376,6 +1415,7 @@ "name": "closed wood door", "description": "A standard wooden door that doesn't look very resilient. It'd probably burn easily, too. This one has a deadbolt keyhole, so it's likely locked. You could pry it open or pick the lock, or unlock the deadbolt from the inside.", "symbol": "+", + "looks_like": "t_door_c", "color": "brown", "move_cost": 0, "coverage": 95, @@ -1414,6 +1454,7 @@ "name": "closed wood door", "description": "A regular door made of ordinary wood, except this one has a peephole. If you examined it more closely, you'd be able to peek through the hole. This one has a deadbolt keyhole, so it's likely locked. You could pry it open or pick the lock, or unlock the deadbolt from the inside.", "symbol": "+", + "looks_like": "t_door_c_peep", "color": "brown", "move_cost": 0, "coverage": 95, @@ -1452,6 +1493,7 @@ "name": "closed wood door", "description": "A standard wooden door that doesn't look very resilient. It'd probably burn easily, too. This one has an extra keyhole, so it's likely locked. You could pry it open or pick the lock.", "symbol": "+", + "looks_like": "t_door_locked", "color": "brown", "move_cost": 0, "coverage": 95, @@ -1480,6 +1522,7 @@ "name": "closed door curtain", "description": "Repurposed curtains from a window acting as a door. Could be easily taken down for supplies or placed somewhere else.", "symbol": "+", + "looks_like": "t_curtains", "color": "dark_gray", "move_cost": 0, "coverage": 95, @@ -1512,6 +1555,7 @@ "name": "closed makeshift door", "description": "A makeshift screen consisting of two by fours bound together with vertical rope hanging from the top of the doorway. Could be easily taken down and re-purposed.", "symbol": "+", + "looks_like": "t_door_c", "color": "brown", "move_cost": 0, "coverage": 95, @@ -1541,6 +1585,7 @@ "name": "open door curtain", "description": "Repurposed curtains from a window acting as a door. Could be easily taken down for supplies or placed somewhere else. These curtains are open, bundled and tied next to the doorway.", "symbol": "'", + "looks_like": "t_door_frame", "color": "dark_gray", "move_cost": 2, "roof": "t_flat_roof", @@ -1572,6 +1617,7 @@ "name": "open makeshift door", "description": "A makeshift screen consisting of two by fours bound together with rope hanging from the top of the doorway. Could be easily taken down and re-purposed. The planks have been rolled up and attached to the top of the doorway, allowing free movement through.", "symbol": "'", + "looks_like": "t_door_o", "color": "brown", "move_cost": 2, "roof": "t_flat_roof", @@ -1600,6 +1646,7 @@ "name": "empty door frame", "description": "An empty door frame made from two by fours and nails. A variety of doors could be constructed here.", "symbol": ".", + "looks_like": "t_floor", "color": "brown", "move_cost": 2, "roof": "t_flat_roof", @@ -1624,6 +1671,7 @@ "name": "empty door frame", "description": "An empty door frame made from two by fours and nails. A variety of doors could be constructed here.", "symbol": ".", + "looks_like": "t_door_frame", "color": "brown", "move_cost": 2, "roof": "t_flat_roof", @@ -1648,6 +1696,7 @@ "name": "empty metal door frame", "description": "An empty door frame made of steel and assorted metal. A variety of doors could be constructed here.", "symbol": ".", + "looks_like": "t_door_frame", "color": "dark_gray", "move_cost": 2, "roof": "t_flat_roof", @@ -1667,6 +1716,7 @@ "name": "empty metal door frame", "description": "An empty door frame made of steel and assorted metal. A variety of doors could be constructed here.", "symbol": ".", + "looks_like": "t_mdoor_frame", "color": "dark_gray", "move_cost": 2, "roof": "t_flat_roof", @@ -1686,6 +1736,7 @@ "name": "empty metal window frame", "description": "An empty window frame constructed from assembled metal and carefully braced with various hardware.", "symbol": ".", + "looks_like": "t_mdoor_frame", "color": "dark_gray", "move_cost": 2, "roof": "t_flat_roof", @@ -1705,6 +1756,7 @@ "name": "boarded up door", "description": "A standard wooden door that has several planks across it, nailed down to board it up and increase its durability. Still flammable though.", "symbol": "#", + "looks_like": "t_door_locked", "color": "brown", "move_cost": 0, "coverage": 95, @@ -1732,6 +1784,7 @@ "name": "boarded up damaged door", "description": "A boarded up wooden door, except some of the planks are fractured or coming loose. Without repairs, it could be broken down easily.", "symbol": "#", + "looks_like": "t_door_b", "color": "brown", "move_cost": 0, "coverage": 95, @@ -1759,6 +1812,7 @@ "name": "boarded up door with peephole", "description": "A boarded up door made of ordinary wood, except this one has a peephole. Although it's been covered up in planks, you could still examine the peephole.", "symbol": "#", + "looks_like": "t_door_boarded", "color": "brown", "move_cost": 0, "coverage": 95, @@ -1786,6 +1840,7 @@ "name": "boarded up reinforced door", "description": "An additionally reinforced door of layered two by fours that has been boarded up with more wood to prevent it from opening. Still susceptible to fire.", "symbol": "#", + "looks_like": "t_door_boarded", "color": "brown", "move_cost": 0, "coverage": 95, @@ -1813,6 +1868,7 @@ "name": "boarded up damaged reinforced door", "description": "A battered and torn reinforced door with planks bursting from the joints. The boarded up two by fours are fragmented and in pieces, this doesn't look like an easy repair.", "symbol": "#", + "looks_like": "t_door_b", "color": "brown", "move_cost": 0, "coverage": 95, @@ -1840,6 +1896,7 @@ "name": "boarded up damaged door with peephole", "description": "A wrecked door made of ordinary wood, except this one has a peephole. Although it's been covered up in planks, the peephole was damaged and can't be used to see through.", "symbol": "#", + "looks_like": "t_door_boarded_damaged", "color": "brown", "move_cost": 0, "coverage": 95, @@ -1869,6 +1926,7 @@ "name": "closed metal door", "description": "An extremely resilient door made of assorted steel, carved and pounded into shape.", "symbol": "+", + "looks_like": "t_door_c", "color": "cyan", "move_cost": 0, "coverage": 95, @@ -1936,6 +1994,7 @@ "name": "closed metal door", "description": "An extremely resilient door made of assorted steel, carved and pounded into shape.", "symbol": "+", + "looks_like": "t_door_metal_c", "color": "cyan", "move_cost": 0, "coverage": 95, @@ -1961,6 +2020,7 @@ "name": "open metal door", "description": "An extremely resilient door made of assorted steel, carved and pounded into shape. It's open, so no tools are needed to break in.", "symbol": "'", + "looks_like": "t_door_o", "color": "cyan", "move_cost": 2, "roof": "t_flat_roof", @@ -1985,6 +2045,7 @@ "name": "open metal door", "description": "An extremely resilient door made of assorted steel, carved and pounded into shape. It's open, so no tools are needed to break in.", "symbol": "'", + "looks_like": "t_door_metal_o", "color": "cyan", "move_cost": 2, "roof": "t_flat_roof", @@ -2009,6 +2070,7 @@ "name": "closed metal door with peephole", "description": "An extremely resilient door made of assorted steel, carved and pounded into shape. If you examined it more closely, you'd be able to peek through the hole.", "symbol": "+", + "looks_like": "t_door_metal_c", "color": "cyan", "move_cost": 0, "coverage": 95, @@ -2036,6 +2098,7 @@ "name": "open metal door with peephole", "description": "An extremely resilient door made of assorted steel, carved and pounded into shape. If you examined it more closely, you'd be able to peek through the hole. Although, you don't need to peek through it since the door is open anyway.", "symbol": "'", + "looks_like": "t_door_metal_o", "color": "cyan", "move_cost": 2, "roof": "t_flat_roof", @@ -2062,6 +2125,7 @@ "description": "A galvanized steel door, forged to withstand punishment and impede anyone or anything. Typically used in conjunction with automated electronic locking mechanisms that require an external source to unlock.", "//": "Actually locked", "symbol": "+", + "looks_like": "t_door_metal_c", "color": "cyan", "move_cost": 0, "coverage": 95, @@ -2087,12 +2151,14 @@ "description": "An extremely resilient door made of assorted steel, carved and pounded into shape. This one has an extra keyhole, so it's likely locked. You could probably pick the lock.", "//": "Actually pickable, but locked", "symbol": "+", + "looks_like": "t_door_metal_locked", "color": "cyan", "move_cost": 0, "coverage": 95, "roof": "t_flat_roof", "flags": [ "NOITEM", "REDUCE_SCENT", "OPENCLOSE_INSIDE", "CONNECT_TO_WALL", "LOCKED", "MINEABLE", "BLOCK_WIND" ], "open": "t_door_metal_o", + "examine_action": "locked_object_pickable", "bash": { "str_min": 80, "str_max": 250, @@ -2113,6 +2179,7 @@ "description": "A detention door made up of crisscrossed stainless steel bars. The locking mechanism doesn't appear to be engaged.", "//": "Unlocked, only created at map gen", "symbol": "+", + "looks_like": "t_door_metal_c", "color": "cyan", "move_cost": 0, "roof": "t_flat_roof", @@ -2140,6 +2207,7 @@ "name": "open bar door", "description": "A detention door made up of crisscrossed stainless steel bars. It's swung wide open. Freedom!", "symbol": "'", + "looks_like": "t_door_metal_o", "color": "cyan", "move_cost": 2, "roof": "t_flat_roof", @@ -2167,10 +2235,12 @@ "description": "A detention door made up of crisscrossed stainless steel bars. The locking mechanism appears to be engaged. The mechanism could be picked open with enough skill.", "//": "Locked", "symbol": "+", + "looks_like": "t_door_metal_locked", "color": "cyan", "move_cost": 0, "roof": "t_flat_roof", "flags": [ "TRANSPARENT", "NOITEM", "PERMEABLE", "CONNECT_TO_WALL", "LOCKED", "THIN_OBSTACLE" ], + "examine_action": "locked_object_pickable", "bash": { "str_min": 30, "str_max": 210, @@ -2192,6 +2262,7 @@ "name": "closed glass door", "description": "A sliding glass door, the kind that was on social media with people and animals running into. This one is closed, so don't hurt yourself.", "symbol": "+", + "looks_like": "t_door_c", "color": "light_cyan", "move_cost": 0, "roof": "t_flat_roof", @@ -2215,6 +2286,7 @@ "name": "closed glass door", "description": "A sliding glass door, the kind that was on social media with people and animals running into. This one is closed, so don't hurt yourself.", "symbol": "+", + "looks_like": "t_door_glass_c", "color": "light_cyan", "move_cost": 0, "roof": "t_flat_roof", @@ -2238,6 +2310,7 @@ "name": "open glass door", "description": "A sliding glass door that has been left open for all manner of things to travel through.", "symbol": "'", + "looks_like": "t_door_o", "color": "light_cyan", "move_cost": 2, "roof": "t_flat_roof", @@ -2261,6 +2334,7 @@ "name": "open glass door", "description": "A sliding glass door that has been left open for all manner of things to travel through.", "symbol": "'", + "looks_like": "t_door_glass_o", "color": "light_cyan", "move_cost": 2, "roof": "t_flat_roof", @@ -2284,6 +2358,7 @@ "name": "closed frosted glass door", "description": "A sliding door of frosted white glass.", "symbol": "+", + "looks_like": "t_door_glass_c", "color": "white", "flags": [ "DOOR", "NOITEM", "CONNECT_TO_WALL", "BLOCK_WIND" ], "open": "t_door_glass_frosted_o", @@ -2295,6 +2370,7 @@ "name": "closed frosted glass door", "description": "A sliding door of frosted white glass.", "symbol": "+", + "looks_like": "t_door_glass_frosted_c", "color": "white", "flags": [ "DOOR", "NOITEM", "CONNECT_TO_WALL" ], "open": "t_door_glass_frosted_lab_o", @@ -2306,6 +2382,7 @@ "name": "open frosted glass door", "description": "A sliding glass door that has been left open for all manner of things to travel through.", "symbol": "'", + "looks_like": "t_door_glass_o", "color": "white", "flags": [ "TRANSPARENT", "FLAT", "CONNECT_TO_WALL", "ROAD" ], "close": "t_door_glass_frosted_c", @@ -2317,6 +2394,7 @@ "name": "open frosted glass door", "description": "A sliding glass door that has been left open for all manner of things to travel through.", "symbol": "'", + "looks_like": "t_door_glass_frosted_o", "color": "white", "flags": [ "TRANSPARENT", "FLAT", "CONNECT_TO_WALL", "ROAD" ], "close": "t_door_glass_frosted_lab_c", diff --git a/data/json/furniture_and_terrain/terrain-fences-gates.json b/data/json/furniture_and_terrain/terrain-fences-gates.json index 6b6db529e89f9..5208bd42c4e66 100644 --- a/data/json/furniture_and_terrain/terrain-fences-gates.json +++ b/data/json/furniture_and_terrain/terrain-fences-gates.json @@ -66,6 +66,7 @@ "move_cost": 0, "flags": [ "TRANSPARENT", "PERMEABLE", "LOCKED", "THIN_OBSTACLE", "BURROWABLE" ], "connects_to": "CHAINFENCE", + "examine_action": "locked_object_pickable", "bash": { "str_min": 10, "str_max": 150, @@ -198,6 +199,76 @@ ] } }, + { + "type": "terrain", + "id": "t_screen_door_c", + "name": "closed screen door", + "description": "A simple wooden doorway with screen mesh.", + "symbol": "+", + "color": "brown", + "looks_like": "t_chickenwire_gate_c", + "move_cost": 0, + "flags": [ "TRANSPARENT", "DOOR", "PERMEABLE", "BURROWABLE", "CONNECT_TO_WALL" ], + "open": "t_screen_door_o", + "deconstruct": { + "ter_set": "t_floor", + "items": [ + { "item": "2x4", "count": 4 }, + { "item": "screen_mesh", "count": 1 }, + { "item": "nail", "charges": 20 }, + { "item": "hinge", "count": [ 1, 2 ] } + ] + }, + "bash": { + "str_min": 5, + "str_max": 12, + "str_min_blocked": 5, + "str_max_blocked": 15, + "sound": "rattle!", + "sound_fail": "thump!", + "ter_set": "t_floor", + "items": [ + { "item": "screen_mesh", "count": [ 0, 1 ] }, + { "item": "2x4", "count": [ 2, 4 ] }, + { "item": "hinge", "count": [ 1, 2 ] } + ] + } + }, + { + "type": "terrain", + "id": "t_screen_door_o", + "name": "closed screen door", + "description": "A simple wooden doorway with screen mesh.", + "symbol": "+", + "color": "brown", + "looks_like": "t_chickenwire_gate_o", + "move_cost": 0, + "flags": [ "TRANSPARENT", "DOOR", "PERMEABLE", "BURROWABLE", "CONNECT_TO_WALL" ], + "close": "t_screen_door_c", + "deconstruct": { + "ter_set": "t_floor", + "items": [ + { "item": "2x4", "count": 4 }, + { "item": "screen_mesh", "count": 1 }, + { "item": "nail", "charges": 20 }, + { "item": "hinge", "count": [ 1, 2 ] } + ] + }, + "bash": { + "str_min": 5, + "str_max": 12, + "str_min_blocked": 5, + "str_max_blocked": 15, + "sound": "rattle!", + "sound_fail": "thump!", + "ter_set": "t_floor", + "items": [ + { "item": "screen_mesh", "count": [ 0, 1 ] }, + { "item": "2x4", "count": [ 2, 4 ] }, + { "item": "hinge", "count": [ 1, 2 ] } + ] + } + }, { "type": "terrain", "id": "t_chickenwire_gate_c", @@ -357,6 +428,34 @@ "items": [ { "item": "wire", "count": [ 5, 10 ] } ] } }, + { + "type": "terrain", + "id": "t_screened_porch_wall", + "name": "screen mesh wall", + "description": "A rather flimsy tall wall made of 2x4s and screen mesh, suitable for keeping the bugs out.", + "symbol": "LINE_OXOX", + "color": "brown", + "looks_like": "t_chickenwire_fence", + "move_cost": 0, + "flags": [ "TRANSPARENT", "NOITEM", "PERMEABLE", "AUTO_WALL_SYMBOL", "BURROWABLE", "AUTO_WALL_SYMBOL" ], + "examine_action": "chainfence", + "deconstruct": { + "ter_set": "t_null", + "items": [ { "item": "screen_mesh", "count": 1 }, { "item": "nail", "charges": 10 }, { "item": "2x4", "charges": 4 } ] + }, + "bash": { + "str_min": 5, + "str_max": 12, + "sound": "metal rattling!", + "sound_fail": "whack!", + "ter_set": "t_floor", + "items": [ + { "item": "screen_mesh", "count": [ 0, 1 ] }, + { "item": "nail", "charges": [ 5, 10 ] }, + { "item": "2x4", "count": [ 1, 3 ] } + ] + } + }, { "type": "terrain", "id": "t_chickenwire_fence_post", diff --git a/data/json/furniture_and_terrain/terrain-floors-outdoors.json b/data/json/furniture_and_terrain/terrain-floors-outdoors.json index 44b4bbc3bf7ce..2f832f031efce 100644 --- a/data/json/furniture_and_terrain/terrain-floors-outdoors.json +++ b/data/json/furniture_and_terrain/terrain-floors-outdoors.json @@ -235,7 +235,7 @@ "type": "terrain", "id": "t_floor_noroof", "name": "wooden floor", - "description": "Wooden floor created from boards, packed tightly together and nailed down. Common in patios.", + "description": "Wooden floor created from boards, packed tightly together and nailed down. Common in patios.", "symbol": ".", "color": "brown", "move_cost": 2, diff --git a/data/json/furniture_and_terrain/terrain-floors_indoor.json b/data/json/furniture_and_terrain/terrain-floors_indoor.json index c4c7627bd1e84..39d1835e8f84b 100644 --- a/data/json/furniture_and_terrain/terrain-floors_indoor.json +++ b/data/json/furniture_and_terrain/terrain-floors_indoor.json @@ -568,7 +568,7 @@ "id": "t_rad_platform", "looks_like": "t_blue_floor", "name": "radiation platform", - "description": "A dual purpose platform that serves as a containment, and as a device that exposes items places on in to the radioactive source, by temporarily hoisting the radioactive material stored within. Operated from external console.", + "description": "A dual purpose platform that serves as a containment, and as a device that exposes items places on in to the radioactive source, by temporarily hoisting the radioactive material stored within. Operated from external console.", "symbol": "0", "color": "light_blue", "move_cost": 100, @@ -640,7 +640,7 @@ "id": "t_rad_platform", "looks_like": "t_blue_floor", "name": "radiation platform", - "description": "A dual purpose platform that serves as a containment, and as a device that exposes items places on in to the radioactive source, by temporarily hoisting the radioactive material stored within. Operated from external console.", + "description": "A dual purpose platform that serves as a containment, and as a device that exposes items places on in to the radioactive source, by temporarily hoisting the radioactive material stored within. Operated from external console.", "symbol": "0", "color": "light_blue", "move_cost": 100, diff --git a/data/json/furniture_and_terrain/terrain-flora.json b/data/json/furniture_and_terrain/terrain-flora.json index ec135e496d65f..509d7c62eefce 100644 --- a/data/json/furniture_and_terrain/terrain-flora.json +++ b/data/json/furniture_and_terrain/terrain-flora.json @@ -5,7 +5,7 @@ "name": "walnut tree", "description": "A massive tree belonging to the 'Juglans' genus. If you look closely you can see some unharvested walnuts. You could cut it down with the right tools.", "symbol": "7", - "color": [ "green", "green", "brown_green", "brown" ], + "color": [ "green", "green", "yellow_yellow", "brown" ], "move_cost": 0, "coverage": 80, "flags": [ "FLAMMABLE_ASH", "NOITEM", "SUPPORTS_ROOF", "TREE", "REDUCE_SCENT" ], @@ -47,6 +47,7 @@ "type": "terrain", "id": "t_tree_blackjack", "name": "blackjack oak", + "looks_like": "t_tree", "description": "A deciduous tree of the genus 'Quercus', with bark cracked into rectangular black plates split by narrow orange fissures. You could peel off the bark sections if you examined the tree more closely. You could cut it down with the right tools.", "symbol": "7", "color": "brown", @@ -70,10 +71,11 @@ { "type": "terrain", "id": "t_tree_blackjack_harvested", + "looks_like": "t_tree_dead", "description": "A deciduous tree of the genus 'Quercus', with bark cracked into rectangular black plates split by narrow orange fissures. All usable bark has been stripped off. You could cut it down with the right tools.", "name": "blackjack oak", "symbol": "7", - "color": "brown", + "color": "green", "move_cost": 0, "coverage": 80, "flags": [ "FLAMMABLE_ASH", "NOITEM", "SUPPORTS_ROOF", "TREE", "REDUCE_SCENT" ], @@ -93,7 +95,7 @@ "name": "chestnut tree", "description": "A massive tree belonging to the 'Castanea' genus. If you look closely you can see some unharvested chestnuts. You could cut it down with the right tools.", "symbol": "7", - "color": [ "green", "green", "brown_green", "brown" ], + "color": [ "green", "green", "green_yellow", "brown" ], "move_cost": 0, "coverage": 80, "flags": [ "FLAMMABLE_ASH", "NOITEM", "SUPPORTS_ROOF", "TREE", "REDUCE_SCENT" ], @@ -137,7 +139,7 @@ "name": "beech tree", "description": "A massive tree belonging to the 'Fagus' genus. If you look closely you can see some unharvested beech nuts. You could cut it down with the right tools.", "symbol": "7", - "color": [ "green", "green", "brown_green", "brown" ], + "color": [ "green", "green", "black_green", "brown" ], "move_cost": 0, "coverage": 80, "flags": [ "FLAMMABLE_ASH", "NOITEM", "SUPPORTS_ROOF", "TREE", "REDUCE_SCENT" ], @@ -181,7 +183,7 @@ "name": "hazelnut tree", "description": "A stubby tree belonging to the 'Corylus' genus. If you look closely you can see some unharvested hazelnuts. You could cut it down with the right tools.", "symbol": "7", - "color": [ "green", "green", "brown_green", "brown" ], + "color": [ "green", "green", "light_green_yellow", "brown" ], "move_cost": 0, "coverage": 80, "flags": [ "FLAMMABLE_ASH", "NOITEM", "SUPPORTS_ROOF", "TREE", "REDUCE_SCENT" ], @@ -246,6 +248,7 @@ "type": "terrain", "id": "t_tree_harvested", "name": "oak tree", + "looks_like": "t_tree_dead", "description": "A massive deciduous tree belonging to the 'Quercus' genus, commonly found throughout New England region. You could cut it down with the right tools.", "symbol": "7", "color": [ "green", "green", "green", "brown" ], @@ -269,7 +272,7 @@ "looks_like": "t_tree", "description": "A large tree belonging to the 'Populus' genus, commonly found throughout New England region. You could cut it down with the right tools.", "symbol": "7", - "color": [ "green", "green", "brown_green", "brown" ], + "color": [ "green", "green", "green", "brown" ], "//": "Do something cool with this and have it spread cotton around the area or something.", "move_cost": 0, "coverage": 80, @@ -287,10 +290,10 @@ "type": "terrain", "id": "t_tree_elm", "name": "elm tree", - "looks_like": "t_tree", + "looks_like": "t_tree_cottonwood", "description": "A large tree belonging to the 'Ulmus' genus, commonly found throughout New England region. You could cut it down with the right tools.", "symbol": "7", - "color": [ "green", "green", "brown_green", "brown" ], + "color": [ "green", "green", "green", "brown" ], "move_cost": 0, "coverage": 80, "flags": [ "FLAMMABLE_ASH", "NOITEM", "SUPPORTS_ROOF", "TREE", "REDUCE_SCENT" ], @@ -307,6 +310,7 @@ "type": "terrain", "id": "t_tree_dead", "name": "dead tree", + "looks_like": "t_tree", "description": "An indiscernible tree that has withered away, whether by weather, fire or otherworldy. You could cut it down with the right tools.", "symbol": "7", "color": "brown", @@ -326,6 +330,7 @@ "type": "terrain", "id": "t_tree_young", "name": "young tree", + "looks_like": "t_tree", "description": "A relatively young sapling of an indeterminate species. It could take decades before reaching maturity, so there's no use waiting around.", "symbol": "1", "color": [ "green", "green", "green", "brown" ], @@ -345,6 +350,7 @@ "type": "terrain", "id": "t_tree_apple", "name": "apple tree", + "looks_like": "t_tree", "description": "This tree is a member of the 'Malus' genus, producing fruit commonly known as apples. If you examined the branches more closely, you could probably find a few mature ones in autumn. You could also cut it down with the right tools.", "symbol": "7", "color": [ "light_green", "light_green", "red_green", "brown" ], @@ -368,6 +374,7 @@ "type": "terrain", "id": "t_tree_apple_harvested", "name": "apple tree", + "looks_like": "t_tree_dead", "description": "This tree is a member of the 'Malus' genus, producing fruit commonly known as apples. There doesn't appear to be any ripe apples now. You could also cut it down with the right tools.", "symbol": "7", "color": [ "light_green", "light_green", "light_green", "brown" ], @@ -390,6 +397,7 @@ "type": "terrain", "id": "t_tree_pear", "name": "pear tree", + "looks_like": "t_tree_apple", "description": "This is 'Pyrus communis', or the common pear tree, which produces viable pears in the fall. If you examined the branches more closely, you could probably find a few mature ones. You could also cut it down with the right tools.", "symbol": "7", "color": [ "light_green", "light_green", "light_green_green", "brown" ], @@ -413,6 +421,7 @@ "type": "terrain", "id": "t_tree_pear_harvested", "name": "pear tree", + "looks_like": "t_tree_apple_harvested", "description": "This is 'Pyrus communis', or the common pear tree, which produces viable pears in the fall. Looks like all the ripe pears have been picked. You could also cut it down with the right tools.", "symbol": "7", "color": [ "light_green", "light_green", "light_green", "brown" ], @@ -490,6 +499,7 @@ "type": "terrain", "id": "t_tree_cherry", "name": "cherry tree", + "looks_like": "t_tree_apple", "description": "One of the several species of 'Prunus' trees found in New England, it bears cherries in the summer. If you examined the foliage more closely, you could probably find some viable clusters. You could also cut it down with the right tools.", "symbol": "7", "color": [ "light_green", "red_green", "light_green", "brown" ], @@ -513,6 +523,7 @@ "type": "terrain", "id": "t_tree_cherry_harvested", "name": "cherry tree", + "looks_like": "t_tree_apple_harvested", "description": "One of the several species of 'Prunus' trees found in New England, it bears cherries in the summer. Looks like all the ripe bunches of cherries have been picked. You could also cut it down with the right tools.", "symbol": "7", "color": [ "light_green", "light_green", "light_green", "brown" ], @@ -535,10 +546,10 @@ "type": "terrain", "id": "t_tree_juniper", "name": "juniper tree", - "description": "One of the species of 'Juniperus' that grows in New England, juniper berries grow over two to three years, first flowering. On the second year producing a green berry, the last, they produce their more famed blue varieties. If you examined the foliage more closely, you could probably find some viable clusters. You could also cut it down with the right tools.", - "symbol": "7", "looks_like": "t_tree_pine", - "color": [ "light_green", "blue_green", "light_green", "brown" ], + "description": "One of the species of 'Juniperus' that grows in New England, juniper berries grow over two to three years, first flowering. On the second year producing a green berry, the last, they produce their more famed blue varieties. If you examined the foliage more closely, you could probably find some viable clusters. You could also cut it down with the right tools.", + "symbol": "7", + "color": [ "light_green", "light_green", "blue_green", "brown" ], "//": "Can be picked at any point in the third year assuming the berries have turned blue. But it takes a long time to regrow.", "move_cost": 0, "coverage": 80, @@ -559,9 +570,9 @@ "type": "terrain", "id": "t_tree_juniper_harvested", "name": "juniper tree", + "looks_like": "t_tree_pine_harvested", "description": "One of the species of 'Juniperus' that grows in New England, juniper berries grow over two to three years. In the first year they flower, in the second year they produce a green berry, the last, they produce their more famed blue varieties. Looks like all the ripe bunches of berries have been picked. You could also cut it down with the right tools.", "symbol": "7", - "looks_like": "t_tree_pine", "color": [ "light_green", "light_green", "light_green", "brown" ], "//": "Will take three years to regrow, in reality.", "move_cost": 0, @@ -582,6 +593,7 @@ "type": "terrain", "id": "t_tree_peach", "name": "peach tree", + "looks_like": "t_tree_apple", "description": "One of the several species of 'Prunus' trees found in New England, it bears peaches in the summer. If you examined the branches more closely, you could probably find some mature peaches. You could also cut it down with the right tools.", "symbol": "7", "color": [ "light_green", "light_red_green", "light_green", "brown" ], @@ -605,6 +617,7 @@ "type": "terrain", "id": "t_tree_peach_harvested", "name": "peach tree", + "looks_like": "t_tree_apple_harvested", "description": "One of the several species of 'Prunus' trees found in New England, it bears peaches in the summer. Looks like all the ripe peaches have been picked. You could also cut it down with the right tools.", "symbol": "7", "color": [ "light_green", "light_green", "light_green", "brown" ], @@ -627,6 +640,7 @@ "type": "terrain", "id": "t_tree_apricot", "name": "apricot tree", + "looks_like": "t_tree_peach", "description": "A transplanted species of 'Prunus armeniaca', rarely found in New England. It produces apricots in the summer. If you examined the spurs more closely, you could probably find some mature apricots. You could also cut it down with the right tools.", "symbol": "7", "color": [ "light_green", "light_red_green", "light_green", "brown" ], @@ -650,6 +664,7 @@ "type": "terrain", "id": "t_tree_apricot_harvested", "name": "apricot tree", + "looks_like": "t_tree_peach_harvested", "description": "A transplanted species of 'Prunus armeniaca', rarely found in New England. It produces apricots in the summer. Looks like all the ripe apricots have been picked. You could also cut it down with the right tools.", "symbol": "7", "color": [ "light_green", "light_green", "light_green", "brown" ], @@ -672,6 +687,7 @@ "type": "terrain", "id": "t_tree_plum", "name": "plum tree", + "looks_like": "t_tree_apple", "description": "One of the several species of 'Prunus' trees found in New England, it produces plums in the summer. If you examined the spurs more closely, you could probably find some ripe plums. You could also cut it down with the right tools.", "symbol": "7", "color": [ "light_green", "magenta_green", "light_green", "brown" ], @@ -695,6 +711,7 @@ "type": "terrain", "id": "t_tree_plum_harvested", "name": "plum tree", + "looks_like": "t_tree_apple_harvested", "description": "One of the several species of 'Prunus' trees found in New England, it produces plums in the summer. Looks like all the ripe plums have been picked. You could also cut it down with the right tools.", "symbol": "7", "color": [ "light_green", "light_green", "light_green", "brown" ], @@ -719,7 +736,7 @@ "name": "mulberry tree", "description": "This tree is a member of the 'Morus' genus, producing fruit commonly known as mulberries. In the summer many berries can be picked. You could also cut it down with the right tools.", "symbol": "7", - "color": [ "light_green", "light_green", "red_green", "brown" ], + "color": [ "light_green", "red_green", "light_green", "brown" ], "//": "barren in winter, fruits in summer", "move_cost": 0, "coverage": 80, @@ -774,7 +791,7 @@ "name": "elderberry tree", "description": "This tree is a member of the 'Sambucus' genus, producing fruit commonly known as elderberries. In the summer many berries can be picked. You could also cut it down with the right tools.", "symbol": "7", - "color": [ "light_green", "light_green", "red_green", "brown" ], + "color": [ "light_green", "red_green", "light_green", "brown" ], "//": "barren in winter, fruits in summer", "move_cost": 0, "coverage": 80, @@ -827,6 +844,7 @@ "type": "terrain", "id": "t_tree_pine", "name": "pine tree", + "looks_like": "t_tree", "description": "A towering coniferous tree that belongs to the 'Pinus' genus, with the New England species varying from 'P. strobus', 'P. resinosa' and 'P. rigida'. If you examined the tree more closely, you might find usable sticky whorls and unharvested pinecones. Also, you could cut it down with the right tools.", "symbol": "4", "color": "green", @@ -856,7 +874,7 @@ "name": "pine tree", "description": "A towering coniferous tree that belongs to the 'Pinus' genus, with the New England species varying from 'P. strobus', 'P. resinosa' and 'P. rigida'. Some of the branches have been stripped away and many of the pinecones aren't developed fully yet, but given a season, it could be harvestable again. Also, you could cut it down with the right tools.", "symbol": "4", - "color": "green", + "color": "brown", "copy-from": "t_tree_pine", "looks_like": "t_tree_deadpine", "transforms_into": "t_tree_pine", @@ -866,6 +884,7 @@ "type": "terrain", "id": "t_tree_deadpine", "name": "dead pine tree", + "looks_like": "t_tree_dead", "description": "A towering coniferous tree that belongs to the 'Pinus' genus, with the New England species varying from 'P. strobus', 'P. resinosa' and 'P. rigida'. This trees branches are bare, and it appears to be dead. You could cut it down with the right tools.", "symbol": "4", "color": "brown", @@ -885,9 +904,10 @@ "type": "terrain", "id": "t_tree_birch", "name": "birch tree", + "looks_like": "t_tree", "description": "A tall deciduous tree of the 'Betula' genus, with the characteristic peeling bark. Species like 'B. alleghaniensis', 'B. papyrifera', and 'B. populifolia' are the most common in the New England region. You could tear off some strips of bark if you examined the tree more closely. You could cut it down with the right tools.", "symbol": "7", - "color": [ "light_green", "light_green", "light_green", "brown" ], + "color": "white", "//": "barren in winter, harvestable all year round", "move_cost": 0, "coverage": 80, @@ -910,6 +930,7 @@ "type": "terrain", "id": "t_tree_birch_harvested", "name": "birch tree", + "looks_like": "t_tree_harvested", "description": "A tall deciduous tree of the 'Betula' genus, with the characteristic peeling bark. Species like 'B. alleghaniensis', 'B. papyrifera', and 'B. populifolia' are the most common in the New England region. Looks like there isn't enough rhytidome to peel off yet. You could cut it down with the right tools.", "symbol": "7", "color": "green", @@ -930,6 +951,7 @@ "type": "terrain", "id": "t_tree_willow", "name": "willow tree", + "looks_like": "t_tree", "description": "A tall, wide deciduous tree of the 'Salix' genus, with long thin leafy branches that hang down like curtains. You could tear off some bark. You could cut it down with the right tools.", "symbol": "4", "color": [ "light_green", "light_green", "light_green", "brown" ], @@ -955,6 +977,7 @@ "type": "terrain", "id": "t_tree_willow_harvested", "name": "willow tree", + "looks_like": "t_tree_harvested", "description": "A tall, wide deciduous tree of the 'Salix' genus, with long thin leafy branches that hang down like curtains. Looks like all usable bark has been torn off, and new rhytidomes have not formed yet. You could cut it down with the right tools.", "symbol": "4", "color": [ "brown", "brown", "brown", "brown" ], @@ -975,6 +998,7 @@ "type": "terrain", "id": "t_tree_maple", "name": "maple tree", + "looks_like": "t_tree", "description": "A large deciduous tree of the 'Acer' genus. The leaves are distinctively shaped with five prongs. It could be tapped in order to extract maple syrup. You could cut it down with the right tools.", "symbol": "7", "color": [ "red", "light_green", "light_green", "red" ], @@ -995,6 +1019,7 @@ "type": "terrain", "id": "t_tree_maple_tapped", "name": "maple tree", + "looks_like": "t_tree_maple", "description": "A large deciduous tree of the 'Acer' genus. The leaves are distinctively shaped with five prongs. A spigot is wedged into the trunk, and sweet maple syrup can be extracted. You could cut it down with the right tools.", "symbol": "7", "color": [ "red", "light_green", "light_green", "red" ], @@ -1015,9 +1040,10 @@ "type": "terrain", "id": "t_tree_hickory", "name": "hickory tree", + "looks_like": "t_tree", "description": "A tall deciduous tree of the 'Carya' genus. You could look for hickory nuts if you examined the tree more closely. You could cut it down with the right tools.", "symbol": "7", - "color": [ "light_green", "light_green", "brown_green", "brown" ], + "color": [ "light_green", "light_green", "i_light_green", "brown" ], "//": "barren in winter, harvestable in autum", "move_cost": 0, "coverage": 80, @@ -1039,6 +1065,7 @@ { "type": "terrain", "id": "t_tree_hickory_harvested", + "looks_like": "t_tree_harvested", "description": "A tall deciduous tree of the 'Carya' genus. It looks like the tree has been picked clean of hickory nuts. You could cut it down with the right tools.", "name": "hickory tree", "symbol": "7", @@ -1154,6 +1181,7 @@ "type": "terrain", "id": "t_tree_pecan", "name": "pecan tree", + "looks_like": "t_tree_walnut", "description": "A tall deciduous tree of the 'Carya' genus. You could look for pecan nuts if you examined the tree more closely. You could cut it down with the right tools.", "//": "Pecan tree is not a local native and is only used in specific locations like orchards and gardens.", "symbol": "7", @@ -1177,6 +1205,7 @@ "type": "terrain", "id": "t_tree_pecan_harvested", "name": "pecan tree", + "looks_like": "t_tree_walnut_harvested", "description": "A tall deciduous tree of the 'Carya' genus. It doesn't look like there are any pecan nuts left on the tree. You could cut it down with the right tools.", "symbol": "7", "color": [ "light_green", "light_green", "light_green", "brown" ], @@ -1198,9 +1227,10 @@ "type": "terrain", "id": "t_tree_hickory_dead", "name": "dead hickory tree", + "looks_like": "t_tree_dead", "description": "The dead remnants of a tall deciduous tree of the 'Carya' genus. Nothing useful can be foraged from this poor, dead tree. You could cut it down with the right tools.", "symbol": "7", - "color": "green", + "color": "brown", "//": "dead, not usable at all", "move_cost": 0, "coverage": 80, @@ -1218,6 +1248,7 @@ "type": "terrain", "id": "t_underbrush", "name": "underbrush", + "looks_like": "t_shrub", "description": "Small plants and shrubs that decorate the forest. An observant forager could obtain edible plants, acorns, eggs, and mushrooms from it.", "symbol": "#", "color": "light_green", @@ -1237,6 +1268,7 @@ "type": "terrain", "id": "t_underbrush_harvested_spring", "name": "underbrush", + "looks_like": "t_underbrush", "description": "Small plants and shrubs that decorate the forest. It has been rummaged through and doesn't have anything useful left to forage from it.", "symbol": "#", "color": "green", @@ -1266,6 +1298,7 @@ "type": "terrain", "id": "t_underbrush_harvested_summer", "name": "underbrush", + "looks_like": "t_underbrush", "description": "Small plants and shrubs that decorate the forest. It has been rummaged through and doesn't have anything useful left to forage from it.", "symbol": "#", "color": "green", @@ -1295,6 +1328,7 @@ "type": "terrain", "id": "t_underbrush_harvested_autumn", "name": "underbrush", + "looks_like": "t_underbrush", "description": "Small plants and shrubs that decorate the forest. It has been rummaged through and doesn't have anything useful left to forage from it.", "symbol": "#", "color": "green", @@ -1324,6 +1358,7 @@ "type": "terrain", "id": "t_underbrush_harvested_winter", "name": "underbrush", + "looks_like": "t_underbrush", "description": "Small plants and shrubs that decorate the forest. It has been rummaged through and doesn't have anything useful left to forage from it. Frost covers it.", "symbol": "#", "color": "green", @@ -1372,6 +1407,7 @@ "type": "terrain", "id": "t_shrub_peanut", "name": "peanut bush", + "looks_like": "t_shrub", "description": "A small bush of crunchy peanuts.", "//": "Peanut bushes are not a local native so this is for use in specific locations like farms and gardens.", "symbol": "#", @@ -1395,9 +1431,10 @@ "type": "terrain", "id": "t_shrub_peanut_harvested", "name": "peanut bush", + "looks_like": "t_shrub", "description": "A small peanut bush that's fruitless.", "symbol": "#", - "color": "brown_green", + "color": "light_gray_green", "move_cost": 8, "coverage": 40, "flags": [ "TRANSPARENT", "CONTAINER", "FLAMMABLE_ASH", "THIN_OBSTACLE", "SHRUB", "SHORT", "HARVESTED" ], @@ -1416,6 +1453,7 @@ "type": "terrain", "id": "t_shrub_blueberry", "name": "blueberry bush", + "looks_like": "t_shrub", "description": "A small bush of sweet blueberries.", "symbol": "#", "color": "light_blue_green", @@ -1446,6 +1484,7 @@ "type": "terrain", "id": "t_shrub_blueberry_harvested", "name": "blueberry bush", + "looks_like": "t_shrub", "description": "A small blueberry bush that's fruitless.", "symbol": "#", "color": "blue_green", @@ -1467,6 +1506,7 @@ "type": "terrain", "id": "t_shrub_strawberry", "name": "strawberry bush", + "looks_like": "t_shrub", "description": "A small bush of juicy strawberries.", "symbol": "#", "color": "light_red_green", @@ -1497,6 +1537,7 @@ "type": "terrain", "id": "t_shrub_strawberry_harvested", "name": "strawberry bush", + "looks_like": "t_shrub", "description": "A small strawberry bush that's fruitless.", "symbol": "#", "color": "red_green", @@ -1551,7 +1592,7 @@ "name": "blackberry bush", "description": "A small blackberry bush that's fruitless. Watch out for its thorns!", "symbol": "#", - "color": "black_green", + "color": "white_green", "move_cost": 8, "coverage": 40, "flags": [ "TRANSPARENT", "CONTAINER", "FLAMMABLE_ASH", "THIN_OBSTACLE", "SHRUB", "SHORT", "SHARP", "HARVESTED" ], @@ -1778,13 +1819,13 @@ "name": "hydrangea bush", "description": "A fat, bush of fragrant blue hydrangeas.", "symbol": "#", - "color": "light_blue_green", + "color": "light_blue", "move_cost": 8, "coverage": 40, "flags": [ "TRANSPARENT", "CONTAINER", "FLAMMABLE_ASH", "THIN_OBSTACLE", "SHRUB", "SHORT" ], "transforms_into": "t_shrub_hydrangea_harvested", "examine_action": "harvest_ter_nectar", - "looks_like": "t_shrub_blueberry", + "looks_like": "t_shrub", "//": "Insert hydrangea harvest in autumn once flowers have a use (same for other generic flowers).", "bash": { "str_min": 4, @@ -1807,7 +1848,7 @@ "flags": [ "TRANSPARENT", "CONTAINER", "FLAMMABLE_ASH", "THIN_OBSTACLE", "SHRUB", "SHORT", "HARVESTED" ], "transforms_into": "t_shrub_hydrangea", "examine_action": "harvested_plant", - "looks_like": "t_shrub_blueberry_harvested", + "looks_like": "t_shrub", "bash": { "str_min": 4, "str_max": 60, @@ -1823,13 +1864,13 @@ "name": "lilac bush", "description": "A wide, bush of bright pinkish purple lilacs.", "symbol": "#", - "color": "magenta_green", + "color": "magenta", "move_cost": 8, "coverage": 40, "flags": [ "TRANSPARENT", "CONTAINER", "FLAMMABLE_ASH", "THIN_OBSTACLE", "SHRUB", "SHORT" ], "transforms_into": "t_shrub_lilac_harvested", "examine_action": "harvest_ter_nectar", - "looks_like": "t_shrub_hydrangea", + "looks_like": "t_shrub", "//": "Insert lilac harvest once flowers have a use (same for other generic flowers).", "bash": { "str_min": 4, @@ -1852,7 +1893,7 @@ "flags": [ "TRANSPARENT", "CONTAINER", "FLAMMABLE_ASH", "THIN_OBSTACLE", "SHRUB", "SHORT", "HARVESTED" ], "transforms_into": "t_shrub_lilac", "examine_action": "harvested_plant", - "looks_like": "t_shrub_hydrangea_harvested", + "looks_like": "t_shrub", "bash": { "str_min": 4, "str_max": 60, @@ -1940,6 +1981,7 @@ "type": "terrain", "id": "t_grass_white", "name": "white grass", + "looks_like": "t_grass", "description": "A section of Kentucky bluegrass covered in white latex-based paint, with neat lines designed for recreational sports.", "symbol": ".", "color": "white", @@ -1965,8 +2007,8 @@ "name": "tall grass", "description": "Tall grass about head high.", "looks_like": "t_shrub", - "symbol": ",", - "color": "brown_green", + "symbol": "'", + "color": "green", "move_cost": 5, "coverage": 50, "flags": [ "TRANSPARENT", "DIGGABLE", "PLOWABLE" ], @@ -2000,6 +2042,7 @@ "type": "terrain", "id": "t_golf_hole", "name": "golf hole", + "looks_like": "t_grass_golf", "description": "A small plastic cup embedded in the grass.", "symbol": "o", "color": "white", @@ -2012,9 +2055,9 @@ "id": "t_fern", "name": "fern", "description": "A short plant with thousands of leaves which grow in a fractal pattern from the stem.", - "symbol": "#", - "looks_like": "t_shrub", - "color": [ "green", "brown_green", "brown", "brown" ], + "symbol": ",", + "looks_like": "t_underbrush", + "color": [ "brown_green", "green", "green", "green" ], "move_cost": 3, "coverage": 20, "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "DIGGABLE", "FLAT", "THIN_OBSTACLE", "SHRUB" ], @@ -2035,9 +2078,9 @@ "id": "t_fern_harvested", "name": "fern", "description": "A short plant with thousands leaves which grow in a fractal pattern, without any curled shoots.", - "symbol": "#", - "looks_like": "t_underbrush_harvested_spring", - "color": [ "green", "brown_green", "brown", "brown" ], + "symbol": ",", + "looks_like": "t_grass_long", + "color": "green", "move_cost": 3, "coverage": 20, "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "DIGGABLE", "FLAT", "THIN_OBSTACLE", "SHRUB" ], diff --git a/data/json/furniture_and_terrain/terrain-liquids.json b/data/json/furniture_and_terrain/terrain-liquids.json index 21ada254267b2..e4bf0682d10e2 100644 --- a/data/json/furniture_and_terrain/terrain-liquids.json +++ b/data/json/furniture_and_terrain/terrain-liquids.json @@ -32,6 +32,7 @@ "name": "deep water", "description": "You're having trouble seeing the bottom through the deep water here. With a watertight container, you could gather fresh water from here. Not safe to drink as is.", "symbol": "~", + "looks_like": "t_water_sh", "color": "blue", "move_cost": 8, "flags": [ "TRANSPARENT", "LIQUID", "SWIMMABLE", "DEEP_WATER", "FISHABLE" ], @@ -143,6 +144,7 @@ "name": "shallow water", "description": "The water isn't too deep here. With a watertight container, you could gather salt water from here.", "symbol": "~", + "looks_like": "t_water_sh", "color": "light_blue", "move_cost": 5, "flags": [ "TRANSPARENT", "LIQUID", "SWIMMABLE", "SALT_WATER", "FISHABLE" ], @@ -170,6 +172,7 @@ "name": "deep water", "description": "You're having trouble seeing the bottom through the deep water here. With a watertight container, you could gather salt water from here.", "symbol": "~", + "looks_like": "t_water_dp", "color": "blue", "move_cost": 8, "flags": [ "TRANSPARENT", "LIQUID", "SWIMMABLE", "SALT_WATER", "DEEP_WATER", "FISHABLE" ], @@ -197,6 +200,7 @@ "name": "pool water", "description": "A deep pool full of water. Never swim without a lifeguard present. Even though monsters probably ate them.", "symbol": "~", + "looks_like": "t_water_dp", "color": "light_blue", "move_cost": 5, "flags": [ "TRANSPARENT", "LIQUID", "SWIMMABLE", "INDOORS", "DEEP_WATER" ], @@ -208,17 +212,43 @@ "name": "shallow pool water", "description": "A shallow pool of water.", "symbol": "~", + "looks_like": "t_water_pool", "color": "light_blue", "move_cost": 5, "flags": [ "TRANSPARENT", "LIQUID", "SWIMMABLE", "INDOORS" ], "examine_action": "water_source" }, + { + "type": "terrain", + "id": "t_water_pool_outdoors", + "name": "pool water", + "description": "A deep pool full of water. Never swim without a lifeguard present. Even though monsters probably ate them.", + "symbol": "~", + "looks_like": "t_water_pool", + "color": "light_blue", + "move_cost": 5, + "flags": [ "TRANSPARENT", "LIQUID", "SWIMMABLE", "DEEP_WATER" ], + "examine_action": "water_source" + }, + { + "type": "terrain", + "id": "t_water_pool_shallow_outdoors", + "name": "shallow pool water", + "description": "A shallow pool of water.", + "symbol": "~", + "looks_like": "t_water_pool", + "color": "light_blue", + "move_cost": 5, + "flags": [ "TRANSPARENT", "LIQUID", "SWIMMABLE" ], + "examine_action": "water_source" + }, { "type": "terrain", "id": "t_sewage", "name": "sewage", "description": "Gross. Sewage water flows through here. As if it needed saying, this isn't safe to drink.", "symbol": "~", + "looks_like": "t_water_murky", "color": "light_green", "move_cost": 6, "flags": [ "TRANSPARENT", "SWIMMABLE" ], @@ -270,6 +300,7 @@ "name": "ocean bed", "description": "You are standing at the bottom of a body of salt water. With a watertight container, you could gather salt water from here. Not safe to drink as is.", "symbol": "~", + "looks_like": "t_sand", "color": "blue", "move_cost": 8, "flags": [ "TRANSPARENT", "LIQUID", "SWIMMABLE", "DEEP_WATER", "GOES_UP" ], diff --git a/data/json/furniture_and_terrain/terrain-manufactured.json b/data/json/furniture_and_terrain/terrain-manufactured.json index 7b8f805aacacf..f0bd6b6afeb8d 100644 --- a/data/json/furniture_and_terrain/terrain-manufactured.json +++ b/data/json/furniture_and_terrain/terrain-manufactured.json @@ -139,7 +139,7 @@ "type": "terrain", "id": "t_atm", "name": "ATM", - "description": "For your banking convenience, this Automated Teller Machine is fully capable of operating autonomously in the event of complete network failure. You can deposit funds from cash cards and migrate all of your inflation-adjusted earnings to a single card. These things have seen better days. There's been a run on the bank, and this machine has the dents and cracks to prove it.", + "description": "For your banking convenience, this Automated Teller Machine is fully capable of operating autonomously in the event of complete network failure. You can deposit funds from cash cards and migrate all of your inflation-adjusted earnings to a single card. These things have seen better days. There's been a run on the bank, and this machine has the dents and cracks to prove it.", "symbol": "&", "color": "magenta", "move_cost": 0, @@ -294,7 +294,7 @@ { "item": "processor", "count": [ 1, 2 ] }, { "item": "RAM", "count": [ 4, 8 ] }, { "item": "cable", "charges": [ 4, 6 ] }, - { "item": "small_lcd_screen", "count": [ 1, 2 ] }, + { "item": "large_lcd_screen", "count": 1 }, { "item": "e_scrap", "count": [ 10, 16 ] }, { "item": "circuit", "count": [ 6, 10 ] }, { "item": "power_supply", "count": [ 2, 4 ] }, @@ -313,7 +313,7 @@ { "item": "processor", "prob": 25 }, { "item": "RAM", "count": [ 0, 2 ], "prob": 50 }, { "item": "cable", "charges": [ 1, 2 ], "prob": 50 }, - { "item": "small_lcd_screen", "prob": 25 }, + { "item": "large_lcd_screen", "prob": 25 }, { "item": "e_scrap", "count": [ 1, 4 ], "prob": 50 }, { "item": "circuit", "count": [ 0, 2 ], "prob": 50 }, { "item": "power_supply", "prob": 25 }, @@ -369,7 +369,7 @@ "type": "terrain", "id": "t_centrifuge", "name": "centrifuge", - "description": "This is a centrifuge, a liquid separating device with an automated analyzer unit. It could be used to analyze a medical fluid sample, such as blood, if a test tube was placed in it.", + "description": "This is a centrifuge, a liquid separating device with an automated analyzer unit. It could be used to analyze a medical fluid sample, such as blood, if a test tube was placed in it.", "symbol": "{", "color": "magenta", "move_cost": 0, @@ -640,6 +640,7 @@ { "item": "RAM", "count": [ 4, 8 ] }, { "item": "cable", "charges": [ 8, 16 ] }, { "item": "small_lcd_screen", "count": [ 2, 4 ] }, + { "item": "large_lcd_screen", "count": 1 }, { "item": "e_scrap", "count": [ 12, 24 ] }, { "item": "circuit", "count": [ 6, 10 ] }, { "item": "power_supply", "count": [ 4, 8 ] }, diff --git a/data/json/furniture_and_terrain/terrain-mechanisms.json b/data/json/furniture_and_terrain/terrain-mechanisms.json index 5d1fbaea6348b..7c2d7515c3063 100644 --- a/data/json/furniture_and_terrain/terrain-mechanisms.json +++ b/data/json/furniture_and_terrain/terrain-mechanisms.json @@ -16,7 +16,7 @@ { "item": "processor", "count": [ 1, 2 ] }, { "item": "RAM", "count": [ 4, 8 ] }, { "item": "cable", "charges": [ 4, 6 ] }, - { "item": "small_lcd_screen", "count": [ 1, 2 ] }, + { "item": "large_lcd_screen", "count": 1 }, { "item": "e_scrap", "count": [ 10, 16 ] }, { "item": "circuit", "count": [ 6, 10 ] }, { "item": "power_supply", "count": [ 2, 4 ] }, @@ -35,7 +35,7 @@ { "item": "processor", "prob": 25 }, { "item": "RAM", "count": [ 0, 2 ], "prob": 50 }, { "item": "cable", "charges": [ 1, 2 ], "prob": 50 }, - { "item": "small_lcd_screen", "prob": 25 }, + { "item": "large_lcd_screen", "prob": 25 }, { "item": "e_scrap", "count": [ 1, 4 ], "prob": 50 }, { "item": "circuit", "count": [ 0, 2 ], "prob": 50 }, { "item": "power_supply", "prob": 25 }, @@ -63,7 +63,7 @@ { "item": "processor", "count": [ 1, 2 ] }, { "item": "RAM", "count": [ 4, 8 ] }, { "item": "cable", "charges": [ 4, 6 ] }, - { "item": "small_lcd_screen", "count": [ 1, 2 ] }, + { "item": "large_lcd_screen", "count": 1 }, { "item": "e_scrap", "count": [ 10, 16 ] }, { "item": "circuit", "count": [ 6, 10 ] }, { "item": "power_supply", "count": [ 2, 4 ] }, @@ -82,7 +82,7 @@ { "item": "processor", "prob": 25 }, { "item": "RAM", "count": [ 0, 2 ], "prob": 50 }, { "item": "cable", "charges": [ 1, 2 ], "prob": 50 }, - { "item": "small_lcd_screen", "prob": 25 }, + { "item": "large_lcd_screen", "prob": 25 }, { "item": "e_scrap", "count": [ 1, 4 ], "prob": 50 }, { "item": "circuit", "count": [ 0, 2 ], "prob": 50 }, { "item": "power_supply", "prob": 25 }, diff --git a/data/json/furniture_and_terrain/terrain-migo.json b/data/json/furniture_and_terrain/terrain-migo.json index ef962b0dd83d7..511cb9a995394 100644 --- a/data/json/furniture_and_terrain/terrain-migo.json +++ b/data/json/furniture_and_terrain/terrain-migo.json @@ -98,7 +98,7 @@ "type": "terrain", "id": "t_resin_hole_c", "name": "closed resin portal", - "description": "A tricuspid hatch of some sort of damp, flexible, resinous material. This one is closed tightly, but it looks like a firm push would cause it to snap open.", + "description": "A tricuspid hatch of some sort of damp, flexible, resinous material. This one is closed tightly, but it looks like a firm push would cause it to snap open.", "symbol": "Y", "color": "light_gray", "move_cost": 0, @@ -120,7 +120,7 @@ "type": "terrain", "id": "t_resin_hole_o", "name": "open resin portal", - "description": "A tricuspid hatch of some sort of damp, flexible, resinous material. This one is open, the flaps held out by some sort of stringy mucus-like substance.", + "description": "A tricuspid hatch of some sort of damp, flexible, resinous material. This one is open, the flaps held out by some sort of stringy mucus-like substance.", "symbol": "D", "color": "light_gray", "move_cost": 2, diff --git a/data/json/furniture_and_terrain/terrain-railroads.json b/data/json/furniture_and_terrain/terrain-railroads.json index d99efa6e62a27..bafd65519450b 100644 --- a/data/json/furniture_and_terrain/terrain-railroads.json +++ b/data/json/furniture_and_terrain/terrain-railroads.json @@ -8,15 +8,15 @@ "color": [ "brown" ], "move_cost": 2, "bash": { - "str_min": 4, + "str_min": 30, "str_max": 40, - "ter_set": "t_rock_floor", + "ter_set": "t_null", "sound": "crunch!", "sound_fail": "whump!", "items": [ { "item": "pebble", "count": [ 1, 3 ] }, { "item": "sharp_rock", "count": [ 0, 1 ] } ] }, "deconstruct": { - "ter_set": "t_rock_floor", + "ter_set": "t_null", "items": [ { "item": "pebble", "count": [ 2, 6 ] }, { "item": "sharp_rock", "count": [ 1, 3 ] } ] }, "flags": [ "BASHABLE", "TRANSPARENT" ] @@ -562,5 +562,73 @@ "items": [ { "item": "pipe", "count": [ 2, 3 ] }, { "item": "scrap", "count": [ 0, 2 ] } ] }, "flags": [ "TRANSPARENT", "NOITEM" ] + }, + { + "id": "t_railroad_track_small", + "type": "terrain", + "name": "small railroad track", + "description": "Like a railroad track, only smaller. You could probably run a small vehicle on this.", + "symbol": "=", + "color": [ "cyan" ], + "move_cost": 3, + "looks_like": "t_railroad_track", + "bash": { + "str_min": 60, + "str_max": 210, + "sound": "metal screeching!", + "sound_fail": "clang!", + "ter_set": "t_railroad_rubble", + "items": [ + { "item": "steel_lump", "count": [ 0, 1 ] }, + { "item": "steel_chunk", "count": [ 0, 2 ] }, + { "item": "scrap", "count": [ 2, 6 ] }, + { "item": "splinter", "count": [ 6, 12 ] } + ] + }, + "deconstruct": { + "ter_set": "t_railroad_rubble", + "items": [ + { "item": "steel_lump", "count": [ 0, 1 ] }, + { "item": "steel_chunk", "count": [ 0, 2 ] }, + { "item": "scrap", "count": [ 2, 6 ] }, + { "item": "splinter", "count": [ 6, 12 ] } + ] + }, + "connects_to": "RAIL", + "flags": [ "BASHABLE", "RAIL", "TRANSPARENT" ] + }, + { + "id": "t_railroad_track_small_d", + "type": "terrain", + "name": "small railroad track", + "description": "Like a railroad track, only smaller. You could probably run a small vehicle on this.", + "symbol": "=", + "color": [ "cyan" ], + "looks_like": "t_railroad_track_d", + "move_cost": 3, + "bash": { + "str_min": 60, + "str_max": 210, + "sound": "metal screeching!", + "sound_fail": "clang!", + "ter_set": "t_railroad_rubble", + "items": [ + { "item": "steel_lump", "count": [ 0, 1 ] }, + { "item": "steel_chunk", "count": [ 0, 2 ] }, + { "item": "scrap", "count": [ 2, 6 ] }, + { "item": "splinter", "count": [ 6, 12 ] } + ] + }, + "deconstruct": { + "ter_set": "t_railroad_rubble", + "items": [ + { "item": "steel_lump", "count": [ 0, 1 ] }, + { "item": "steel_chunk", "count": [ 0, 2 ] }, + { "item": "scrap", "count": [ 2, 6 ] }, + { "item": "splinter", "count": [ 6, 12 ] } + ] + }, + "connects_to": "RAIL", + "flags": [ "BASHABLE", "RAIL", "TRANSPARENT" ] } ] diff --git a/data/json/furniture_and_terrain/terrain-recreational.json b/data/json/furniture_and_terrain/terrain-recreational.json index 1824976719054..52146b264b0e1 100644 --- a/data/json/furniture_and_terrain/terrain-recreational.json +++ b/data/json/furniture_and_terrain/terrain-recreational.json @@ -5,6 +5,7 @@ "name": "sandbox", "description": "Children used to play in this sandbox. The population of lice probably diminished considerably now that they no longer do.", "symbol": "#", + "looks_like": "t_sand", "color": "yellow", "move_cost": 3, "deconstruct": { @@ -36,6 +37,7 @@ "name": "slide", "description": "A children's slide. Too small to slide on comfortably anymore.", "symbol": "#", + "looks_like": "t_ladder_up", "color": "light_cyan", "move_cost": 4, "deconstruct": { "ter_set": "t_dirt", "items": [ { "item": "sheet_metal", "count": 1 }, { "item": "pipe", "count": [ 4, 8 ] } ] }, @@ -53,6 +55,7 @@ "type": "terrain", "id": "t_monkey_bars", "name": "monkey bars", + "looks_like": "t_ladder_up", "description": "A set of monkey bars, to be used by children to train their arms by hanging from the bars, and have fun.", "symbol": "#", "color": "cyan", @@ -73,6 +76,7 @@ "id": "t_backboard", "name": "backboard", "description": "A basketball backboard.", + "looks_like": "t_chainfence", "symbol": "7", "color": "red", "move_cost": 0, @@ -97,6 +101,7 @@ "name": "backboard", "description": "A metal backboard.", "symbol": "7", + "looks_like": "t_backboard", "color": [ "red" ], "move_cost": 0, "roof": "t_flat_roof", diff --git a/data/json/furniture_and_terrain/terrain-roofs.json b/data/json/furniture_and_terrain/terrain-roofs.json index 32ba328e06998..fd62eeac4bb63 100644 --- a/data/json/furniture_and_terrain/terrain-roofs.json +++ b/data/json/furniture_and_terrain/terrain-roofs.json @@ -43,6 +43,7 @@ "description": "Channels water from the roof towards the ground, it looks flimsy.", "name": "rain gutter", "symbol": "LINE_OXOX", + "looks_like": "t_metal_floor", "color": "white", "move_cost": 3, "flags": [ "TRANSPARENT", "NOITEM", "THIN_OBSTACLE", "MOUNTABLE", "TINY", "AUTO_WALL_SYMBOL", "UNSTABLE" ], @@ -66,6 +67,7 @@ "description": "Channels water from the roof towards the ground, it looks flimsy.", "name": "rain gutter", "symbol": "LINE_OXOX", + "looks_like": "t_gutter_north", "color": "white", "move_cost": 3, "flags": [ "TRANSPARENT", "NOITEM", "THIN_OBSTACLE", "MOUNTABLE", "TINY", "AUTO_WALL_SYMBOL", "UNSTABLE" ], @@ -89,6 +91,7 @@ "description": "Channels water from the roof towards the ground, it looks flimsy.", "name": "rain gutter", "symbol": "LINE_OXOX", + "looks_like": "t_gutter_north", "color": "white", "move_cost": 3, "flags": [ "TRANSPARENT", "NOITEM", "THIN_OBSTACLE", "MOUNTABLE", "TINY", "AUTO_WALL_SYMBOL", "UNSTABLE" ], @@ -112,6 +115,7 @@ "description": "Channels water from the roof towards the ground, it looks flimsy.", "name": "rain gutter", "symbol": "LINE_OXOX", + "looks_like": "t_gutter_north", "color": "white", "move_cost": 3, "flags": [ "TRANSPARENT", "NOITEM", "THIN_OBSTACLE", "MOUNTABLE", "TINY", "AUTO_WALL_SYMBOL", "UNSTABLE" ], @@ -133,8 +137,9 @@ "type": "terrain", "id": "t_gutter_drop", "name": "gutter drop", - "description": "Funnels water from gutter system towards the ground, it looks flimsy. You may be able to climb down here.", + "description": "Funnels water from gutter system towards the ground, it looks flimsy. You may be able to climb down here.", "symbol": "o", + "looks_like": "t_gutter_north", "color": "white", "move_cost": 3, "flags": [ "TRANSPARENT", "NOITEM", "THIN_OBSTACLE", "MOUNTABLE", "TINY", "AUTO_WALL_SYMBOL", "UNSTABLE", "CLIMBABLE" ], @@ -156,8 +161,9 @@ "type": "terrain", "id": "t_gutter_downspout", "name": "downspout", - "description": "A length of gutter running from the roof to the ground, you could place a container underneath it to collect rainwater. It looks flimsy. You may be able to climb down here.", + "description": "A length of gutter running from the roof to the ground, you could place a container underneath it to collect rainwater. It looks flimsy. You may be able to climb down here.", "symbol": "|", + "looks_like": "t_chainfence_posts", "color": "white", "move_cost": 3, "trap": "tr_downspout_funnel", @@ -181,6 +187,7 @@ "name": "flat roof", "description": "A flat, gray section of rooftop.", "symbol": ".", + "looks_like": "t_concrete", "color": "dark_gray", "move_cost": 2, "flags": [ "TRANSPARENT", "FLAT" ], @@ -294,6 +301,7 @@ "name": "skylight", "description": "A giant sheet of glass inserted into the roof, lets light pass through.", "symbol": "o", + "looks_like": "t_linoleum_white", "color": "cyan", "move_cost": 2, "trap": "tr_ledge", @@ -312,7 +320,7 @@ "id": "t_rock_roof", "name": "rock roof", "description": "A section of flat natural rock.", - "looks_like": "t_flat_roof", + "looks_like": "t_rock_floor", "symbol": ".", "color": "brown", "move_cost": 2, diff --git a/data/json/furniture_and_terrain/terrain-traps.json b/data/json/furniture_and_terrain/terrain-traps.json index 308ed4e601079..6d6d564d03819 100644 --- a/data/json/furniture_and_terrain/terrain-traps.json +++ b/data/json/furniture_and_terrain/terrain-traps.json @@ -8,7 +8,7 @@ "color": "black", "move_cost": 2, "trap": "tr_ledge", - "flags": [ "TRANSPARENT", "NOITEM" ] + "flags": [ "TRANSPARENT", "NOITEM", "NO_FLOOR" ] }, { "type": "terrain", diff --git a/data/json/furniture_and_terrain/terrain-walls.json b/data/json/furniture_and_terrain/terrain-walls.json index ff4b3f9235dd3..5a5f91f6c905b 100644 --- a/data/json/furniture_and_terrain/terrain-walls.json +++ b/data/json/furniture_and_terrain/terrain-walls.json @@ -6,8 +6,12 @@ "entries": [ { "item": "rock", "count": [ 0, 2 ] }, { "item": "wood_panel", "count": [ 0, 1 ] }, - { "item": "nail", "charges": [ 2, 8 ] }, - { "item": "splinter", "count": [ 1, 5 ] } + { "item": "nail", "charges": [ 4, 16 ] }, + { "item": "splinter", "count": [ 1, 5 ] }, + { "item": "2x4", "count": [ 1, 2 ], "prob": 25 }, + { "item": "pipe", "count": [ 0, 2 ], "prob": 10 }, + { "item": "cu_pipe", "count": [ 0, 2 ], "prob": 10 }, + { "item": "cable", "charges": [ 0, 200 ], "prob": 10 } ] }, { @@ -1220,7 +1224,7 @@ "type": "terrain", "id": "t_column_halfway", "name": "half-built column", - "description": "An empty wooden frame in the shape of a column, built around a concrete and rebar foundation. It isn't capable of supporting roofs or shelter, and appears to need more resources before being considered complete.", + "description": "An empty wooden frame in the shape of a column, built around a concrete and rebar foundation. It isn't capable of supporting roofs or shelter, and appears to need more resources before being considered complete.", "symbol": "*", "color": "light_gray", "move_cost": 5, diff --git a/data/json/furniture_and_terrain/terrain-windows.json b/data/json/furniture_and_terrain/terrain-windows.json index 5158db842bdd4..e3396f46b8c47 100644 --- a/data/json/furniture_and_terrain/terrain-windows.json +++ b/data/json/furniture_and_terrain/terrain-windows.json @@ -136,7 +136,16 @@ "move_cost": 4, "coverage": 60, "roof": "t_flat_roof", - "flags": [ "TRANSPARENT", "FLAMMABLE", "NOITEM", "OPENCLOSE_INSIDE", "MOUNTABLE", "CONNECT_TO_WALL", "THIN_OBSTACLE" ], + "flags": [ + "TRANSPARENT", + "FLAMMABLE", + "NOITEM", + "OPENCLOSE_INSIDE", + "MOUNTABLE", + "CONNECT_TO_WALL", + "THIN_OBSTACLE", + "SMALL_PASSAGE" + ], "close": "t_window_no_curtains", "bash": { "str_min": 3, @@ -211,7 +220,16 @@ "move_cost": 4, "coverage": 60, "roof": "t_flat_roof", - "flags": [ "TRANSPARENT", "FLAMMABLE", "NOITEM", "OPENCLOSE_INSIDE", "MOUNTABLE", "CONNECT_TO_WALL", "THIN_OBSTACLE" ], + "flags": [ + "TRANSPARENT", + "FLAMMABLE", + "NOITEM", + "OPENCLOSE_INSIDE", + "MOUNTABLE", + "CONNECT_TO_WALL", + "THIN_OBSTACLE", + "SMALL_PASSAGE" + ], "examine_action": "curtains", "close": "t_window_domestic", "bash": { @@ -337,7 +355,16 @@ "symbol": "0", "color": "yellow", "move_cost": 4, - "flags": [ "TRANSPARENT", "NOITEM", "FLAMMABLE", "SUPPORTS_ROOF", "MOUNTABLE", "CONNECT_TO_WALL", "THIN_OBSTACLE" ], + "flags": [ + "TRANSPARENT", + "NOITEM", + "FLAMMABLE", + "SUPPORTS_ROOF", + "MOUNTABLE", + "CONNECT_TO_WALL", + "THIN_OBSTACLE", + "SMALL_PASSAGE" + ], "bash": { "str_min": 10, "str_max": 70, @@ -371,7 +398,7 @@ "ter_set": "t_window_empty", "items": [ { "item": "glass_shard", "count": [ 6, 10 ] } ] }, - "flags": [ "TRANSPARENT", "SHARP", "FLAMMABLE", "NOITEM", "MOUNTABLE", "CONNECT_TO_WALL" ] + "flags": [ "TRANSPARENT", "SHARP", "FLAMMABLE", "NOITEM", "MOUNTABLE", "CONNECT_TO_WALL", "SMALL_PASSAGE" ] }, { "type": "terrain", diff --git a/data/json/furniture_and_terrain/terrain-zlevel-transitions.json b/data/json/furniture_and_terrain/terrain-zlevel-transitions.json index e443cdc68951d..eee796b62309c 100644 --- a/data/json/furniture_and_terrain/terrain-zlevel-transitions.json +++ b/data/json/furniture_and_terrain/terrain-zlevel-transitions.json @@ -153,7 +153,7 @@ "symbol": "<", "color": "dark_gray", "move_cost": 2, - "flags": [ "TRANSPARENT", "GOES_UP", "PLACE_ITEM" ] + "flags": [ "TRANSPARENT", "GOES_UP", "PLACE_ITEM", "DIFFICULT_Z" ] }, { "type": "terrain", @@ -163,7 +163,7 @@ "symbol": ">", "color": "dark_gray", "move_cost": 2, - "flags": [ "TRANSPARENT", "GOES_DOWN", "PLACE_ITEM" ] + "flags": [ "TRANSPARENT", "GOES_DOWN", "PLACE_ITEM", "DIFFICULT_Z" ] }, { "type": "terrain", @@ -193,7 +193,7 @@ "symbol": "<", "color": "white", "move_cost": 2, - "flags": [ "TRANSPARENT", "GOES_UP" ] + "flags": [ "TRANSPARENT", "GOES_UP", "DIFFICULT_Z" ] }, { "type": "terrain", diff --git a/data/json/gates.json b/data/json/gates.json index e9cb08b6858b5..e196db0af5b80 100644 --- a/data/json/gates.json +++ b/data/json/gates.json @@ -18,7 +18,7 @@ "t_strconc_wall" ], "messages": { - "pull": "You turn the handle...", + "pull": "You turn the handle…", "open": "The gate is opened!", "close": "The gate is closed!", "fail": "The gate can't be closed!" @@ -45,7 +45,7 @@ "t_strconc_wall" ], "messages": { - "pull": "You turn the handle...", + "pull": "You turn the handle…", "open": "The gate is opened!", "close": "The gate is closed!", "fail": "The gate can't be closed!" @@ -60,7 +60,7 @@ "floor": "t_dirtfloor", "walls": "t_wall_wood", "messages": { - "pull": "You pull the rope...", + "pull": "You pull the rope…", "open": "The barn doors opened!", "close": "The barn doors closed!", "fail": "The barn doors can't be closed!" @@ -75,7 +75,7 @@ "floor": "t_palisade_gate_o", "walls": "t_palisade", "messages": { - "pull": "You pull the rope...", + "pull": "You pull the rope…", "open": "The palisade gate swings open!", "close": "The palisade gate swings closed with a crash!", "fail": "The palisade gate can't be closed!" @@ -90,7 +90,7 @@ "floor": "t_metal_floor", "walls": "t_wall_metal", "messages": { - "pull": "You throw the lever...", + "pull": "You throw the lever…", "open": "The door rises!", "close": "The door slams shut!", "fail": "The door can't be closed!" diff --git a/data/json/harvest.json b/data/json/harvest.json index 2b837a01768d6..49512175917ee 100644 --- a/data/json/harvest.json +++ b/data/json/harvest.json @@ -130,6 +130,32 @@ { "drop": "fat", "type": "flesh", "mass_ratio": 0.07 } ] }, + { + "id": "human_fur", + "//": "drops regular stomach", + "type": "harvest", + "entries": [ + { "drop": "mutant_human_flesh", "type": "flesh", "mass_ratio": 0.34 }, + { "drop": "hstomach", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" }, + { "drop": "bone", "type": "bone", "mass_ratio": 0.15 }, + { "drop": "sinew", "type": "bone", "mass_ratio": 0.00035 }, + { "drop": "raw_fur", "type": "skin", "mass_ratio": 0.02 }, + { "drop": "mutant_human_fat", "type": "flesh", "mass_ratio": 0.07 } + ] + }, + { + "id": "human_large_fur", + "//": "drops large stomach", + "type": "harvest", + "entries": [ + { "drop": "mutant_human_flesh", "type": "flesh", "mass_ratio": 0.34 }, + { "drop": "hstomach_large", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" }, + { "drop": "bone", "type": "bone", "mass_ratio": 0.15 }, + { "drop": "sinew", "type": "bone", "mass_ratio": 0.00035 }, + { "drop": "raw_fur", "type": "skin", "mass_ratio": 0.02 }, + { "drop": "mutant_human_fat", "type": "flesh", "mass_ratio": 0.07 } + ] + }, { "id": "mammal_small_leather", "//": "does not drop stomach or other small organs", @@ -184,6 +210,25 @@ { "drop": "fat", "type": "flesh", "mass_ratio": 0.07 } ] }, + { + "id": "mutant_mammal_large_leather", + "//": "drops large stomach", + "type": "harvest", + "entries": [ + { "drop": "mutant_meat", "type": "flesh", "mass_ratio": 0.32 }, + { "drop": "mutant_meat_scrap", "type": "flesh", "mass_ratio": 0.01 }, + { "drop": "lung", "type": "flesh", "mass_ratio": 0.0035 }, + { "drop": "liver", "type": "offal", "mass_ratio": 0.01 }, + { "drop": "brain", "type": "flesh", "mass_ratio": 0.005 }, + { "drop": "sweetbread", "type": "flesh", "mass_ratio": 0.002 }, + { "drop": "kidney", "type": "offal", "mass_ratio": 0.002 }, + { "drop": "stomach_large", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" }, + { "drop": "bone", "type": "bone", "mass_ratio": 0.15 }, + { "drop": "sinew", "type": "bone", "mass_ratio": 0.00035 }, + { "drop": "raw_leather", "type": "skin", "mass_ratio": 0.02 }, + { "drop": "mutant_fat", "type": "flesh", "mass_ratio": 0.07 } + ] + }, { "id": "mammal_small_wool", "//": "does not drop stomach or other small organs", @@ -255,6 +300,24 @@ { "drop": "fat", "type": "flesh", "mass_ratio": 0.07 } ] }, + { + "id": "mutant_animal_large_noskin", + "//": "for those vertebrates that don't have something you can skin off of them", + "type": "harvest", + "entries": [ + { "drop": "mutant_meat", "type": "flesh", "mass_ratio": 0.32 }, + { "drop": "mutant_meat_scrap", "type": "flesh", "mass_ratio": 0.01 }, + { "drop": "lung", "type": "flesh", "mass_ratio": 0.0035 }, + { "drop": "liver", "type": "offal", "mass_ratio": 0.01 }, + { "drop": "brain", "type": "flesh", "mass_ratio": 0.005 }, + { "drop": "sweetbread", "type": "flesh", "mass_ratio": 0.002 }, + { "drop": "kidney", "type": "offal", "mass_ratio": 0.002 }, + { "drop": "stomach_large", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" }, + { "drop": "bone", "type": "bone", "mass_ratio": 0.15 }, + { "drop": "sinew", "type": "bone", "mass_ratio": 0.00035 }, + { "drop": "mutant_fat", "type": "flesh", "mass_ratio": 0.07 } + ] + }, { "id": "meatslug", "//": "no bones or organs", @@ -265,6 +328,16 @@ { "drop": "fat", "type": "offal", "mass_ratio": 0.1 } ] }, + { + "id": "mutant_meatslug", + "//": "no bones or organs", + "type": "harvest", + "entries": [ + { "drop": "mutant_meat", "type": "flesh", "mass_ratio": 0.4 }, + { "drop": "mutant_fat", "type": "flesh", "mass_ratio": 0.1 }, + { "drop": "mutant_fat", "type": "offal", "mass_ratio": 0.1 } + ] + }, { "id": "bird_tiny", "type": "harvest", @@ -287,9 +360,9 @@ "id": "bird_large", "type": "harvest", "entries": [ - { "drop": "meat", "type": "flesh", "mass_ratio": 0.3 }, - { "drop": "meat_scrap", "type": "flesh", "mass_ratio": 0.03 }, - { "drop": "fat", "type": "flesh", "mass_ratio": 0.18 }, + { "drop": "mutant_meat", "type": "flesh", "mass_ratio": 0.3 }, + { "drop": "mutant_meat_scrap", "type": "flesh", "mass_ratio": 0.03 }, + { "drop": "mutant_fat", "type": "flesh", "mass_ratio": 0.18 }, { "drop": "feather", "type": "skin", "mass_ratio": 0.02 }, { "drop": "bone", "type": "bone", "mass_ratio": 0.1 } ] @@ -338,8 +411,8 @@ "id": "arachnid", "type": "harvest", "entries": [ - { "drop": "meat", "type": "flesh", "mass_ratio": 0.33 }, - { "drop": "fat", "type": "flesh", "mass_ratio": 0.04 }, + { "drop": "mutant_meat", "type": "flesh", "mass_ratio": 0.33 }, + { "drop": "mutant_fat", "type": "flesh", "mass_ratio": 0.04 }, { "drop": "sinew", "type": "bone", "mass_ratio": 0.01 }, { "drop": "chitin_piece", "type": "bone", "mass_ratio": 0.1 } ] @@ -359,7 +432,7 @@ "//": "todo: add stinger here and remove drops from death", "type": "harvest", "entries": [ - { "drop": "meat", "type": "flesh", "mass_ratio": 0.33 }, + { "drop": "mutant_meat", "type": "flesh", "mass_ratio": 0.33 }, { "drop": "sinew", "type": "bone", "mass_ratio": 0.01 }, { "drop": "chitin_piece", "type": "bone", "mass_ratio": 0.1 } ] @@ -369,7 +442,7 @@ "//": "todo: add stinger here and remove drops from death", "type": "harvest", "entries": [ - { "drop": "meat", "type": "flesh", "mass_ratio": 0.33 }, + { "drop": "mutant_meat", "type": "flesh", "mass_ratio": 0.33 }, { "drop": "sinew", "type": "bone", "mass_ratio": 0.01 }, { "drop": "chitin_piece", "type": "bone", "mass_ratio": 0.1 } ] @@ -459,7 +532,19 @@ "entries": [ { "drop": "human_flesh", "type": "flesh", "mass_ratio": 0.2 }, { "drop": "hstomach", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" }, - { "drop": "fat", "type": "flesh", "mass_ratio": 0.1 }, + { "drop": "human_fat", "type": "flesh", "mass_ratio": 0.1 }, + { "drop": "bone_human", "type": "bone", "mass_ratio": 0.12 }, + { "drop": "sinew", "type": "bone", "mass_ratio": 0.001 }, + { "drop": "raw_leather", "type": "skin", "mass_ratio": 0.01 } + ] + }, + { + "id": "mutant_human", + "type": "harvest", + "entries": [ + { "drop": "mutant_human_flesh", "type": "flesh", "mass_ratio": 0.2 }, + { "drop": "hstomach", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" }, + { "drop": "mutant_human_fat", "type": "flesh", "mass_ratio": 0.1 }, { "drop": "bone_human", "type": "bone", "mass_ratio": 0.12 }, { "drop": "sinew", "type": "bone", "mass_ratio": 0.001 }, { "drop": "raw_leather", "type": "skin", "mass_ratio": 0.01 } @@ -472,7 +557,7 @@ { "drop": "human_flesh", "type": "flesh", "mass_ratio": 0.18 }, { "drop": "meat", "type": "flesh", "mass_ratio": 0.4 }, { "drop": "hstomach", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" }, - { "drop": "fat", "type": "flesh", "mass_ratio": 0.1 }, + { "drop": "human_fat", "type": "flesh", "mass_ratio": 0.1 }, { "drop": "bone_human", "type": "bone", "mass_ratio": 0.12 }, { "drop": "sinew", "type": "bone", "mass_ratio": 0.001 }, { "drop": "raw_leather", "type": "skin", "mass_ratio": 0.01 }, diff --git a/data/json/item_actions.json b/data/json/item_actions.json index cf01fb65d0cd8..e0d14f221888f 100644 --- a/data/json/item_actions.json +++ b/data/json/item_actions.json @@ -782,7 +782,7 @@ { "type": "item_action", "id": "RADIOCAR", - "name": "..." + "name": "…" }, { "type": "item_action", diff --git a/data/json/item_category.json b/data/json/item_category.json index c64f823b076d7..5ffa968ae86e2 100644 --- a/data/json/item_category.json +++ b/data/json/item_category.json @@ -3,54 +3,63 @@ "id": "guns", "type": "ITEM_CATEGORY", "name": "GUNS", + "zone": "LOOT_GUNS", "sort_rank": -23 }, { "id": "magazines", "type": "ITEM_CATEGORY", "name": "MAGAZINES", + "zone": "LOOT_MAGAZINES", "sort_rank": -22 }, { "id": "ammo", "type": "ITEM_CATEGORY", "name": "AMMO", + "zone": "LOOT_AMMO", "sort_rank": -21 }, { "id": "weapons", "type": "ITEM_CATEGORY", "name": "WEAPONS", + "zone": "LOOT_WEAPONS", "sort_rank": -20 }, { "id": "tools", "type": "ITEM_CATEGORY", "name": "TOOLS", + "zone": "LOOT_TOOLS", "sort_rank": -19 }, { "id": "clothing", "type": "ITEM_CATEGORY", "name": "CLOTHING", + "//": "zone is hardcoded due to filthy clothing", "sort_rank": -18 }, { "id": "food", "type": "ITEM_CATEGORY", "name": "FOOD", + "//": "zone is hardcoded", "sort_rank": -17 }, { "id": "drugs", "type": "ITEM_CATEGORY", "name": "DRUGS", + "zone": "LOOT_DRUGS", "sort_rank": -16 }, { "id": "books", "type": "ITEM_CATEGORY", "name": "BOOKS", + "zone": "LOOT_BOOKS", "sort_rank": -15 }, { @@ -63,66 +72,96 @@ "id": "mods", "type": "ITEM_CATEGORY", "name": "MODS", + "zone": "LOOT_MODS", "sort_rank": -13 }, { "id": "mutagen", "type": "ITEM_CATEGORY", "name": "MUTAGENS", + "zone": "LOOT_MUTAGENS", "sort_rank": -12 }, { "id": "bionics", "type": "ITEM_CATEGORY", "name": "BIONICS", + "zone": "LOOT_BIONICS", "sort_rank": -12 }, { "id": "veh_parts", "type": "ITEM_CATEGORY", "name": "VEHICLE PARTS", + "zone": "LOOT_VEHICLE_PARTS", "sort_rank": -10 }, { "id": "other", "type": "ITEM_CATEGORY", "name": "OTHER", + "zone": "LOOT_OTHER", "sort_rank": -9 }, { "id": "fuel", "type": "ITEM_CATEGORY", "name": "FUEL", + "zone": "LOOT_FUEL", "sort_rank": -8 }, { "id": "seeds", "type": "ITEM_CATEGORY", "name": "SEEDS", + "zone": "LOOT_SEEDS", "sort_rank": -7 }, { "id": "chems", "type": "ITEM_CATEGORY", "name": "CHEMICAL STUFF", + "zone": "LOOT_CHEMICAL", "sort_rank": 5 }, { "id": "spare_parts", "type": "ITEM_CATEGORY", "name": "SPARE PARTS", + "zone": "LOOT_SPARE_PARTS", "sort_rank": 8 }, + { + "id": "container", + "type": "ITEM_CATEGORY", + "name": "CONTAINERS", + "zone": "LOOT_CONTAINERS", + "sort_rank": 9 + }, { "id": "artifacts", "type": "ITEM_CATEGORY", "name": "ARTIFACTS", + "zone": "LOOT_ARTIFACTS", "sort_rank": 10 }, { "id": "armor", "type": "ITEM_CATEGORY", "name": "ARMOR", + "//": "zone is hardcoded due to filthy clothing", "sort_rank": 20 + }, + { + "id": "ITEMS_WORN", + "type": "ITEM_CATEGORY", + "name": "ITEMS WORN", + "sort_rank": -100 + }, + { + "id": "WEAPON_HELD", + "type": "ITEM_CATEGORY", + "name": "WEAPON HELD", + "sort_rank": -200 } ] diff --git a/data/json/itemgroups/SUS_specific_use_storage_items.json b/data/json/itemgroups/SUS_specific_use_storage_items.json index 0133f372f0ef4..9c428abddbf11 100644 --- a/data/json/itemgroups/SUS_specific_use_storage_items.json +++ b/data/json/itemgroups/SUS_specific_use_storage_items.json @@ -188,8 +188,8 @@ { "item": "towel", "count": [ 1, 3 ] }, { "item": "brush" }, { "item": "brush", "prob": 85 }, - { "item": "bleach", "prob": 75 }, - { "item": "ammonia", "prob": 65 } + { "item": "bleach", "prob": 75, "charges-min": 1 }, + { "item": "ammonia", "prob": 65, "charges-min": 1 } ] } ] diff --git a/data/json/itemgroups/ammo.json b/data/json/itemgroups/ammo.json index 2156da28544d9..4d76677a737f4 100644 --- a/data/json/itemgroups/ammo.json +++ b/data/json/itemgroups/ammo.json @@ -178,7 +178,9 @@ [ "3006", 20 ], [ "50_incendiary", 10 ], [ "50bmg", 30 ], + [ "50match", 30 ], [ "50ss", 10 ], + [ "50_mk211", 1 ], [ "556_incendiary", 15 ], [ "556", 85 ], [ "762_51_incendiary", 10 ], diff --git a/data/json/itemgroups/clothing.json b/data/json/itemgroups/clothing.json index 1d927003cead0..ea7c33317b601 100644 --- a/data/json/itemgroups/clothing.json +++ b/data/json/itemgroups/clothing.json @@ -279,7 +279,16 @@ { "id": "clothing_watch", "type": "item_group", - "items": [ [ "gold_watch", 10 ], [ "pocketwatch", 25 ], [ "wristwatch", 100 ] ] + "items": [ + { "item": "wristwatch", "prob": 90 }, + { "item": "silver_watch", "prob": 70 }, + { "item": "gold_watch", "prob": 40 }, + { "item": "platinum_watch", "prob": 10 }, + { "item": "sf_watch", "prob": 5 }, + { "item": "pocketwatch", "prob": 30 }, + { "item": "diving_watch", "prob": 20 }, + { "item": "game_watch", "prob": 20 } + ] }, { "id": "clothing_work_boots", @@ -445,6 +454,7 @@ [ "jersey", 40 ], [ "coat_rain", 15 ], [ "hood_rain", 15 ], + [ "unitard", 10 ], [ "gloves_wraps", 45 ], [ "jeans", 30 ], [ "sports_bra", 25 ], @@ -520,6 +530,8 @@ [ "nanoskirt", 30 ], [ "camisole", 60 ], [ "corset", 20 ], + [ "unitard", 5 ], + [ "leotard", 10 ], [ "stockings", 50 ], [ "leggings", 20 ], [ "tights", 50 ] @@ -551,16 +563,24 @@ "subtype": "distribution", "entries": [ { "item": "jeans", "prob": 90 }, - { "item": "pants_checkered", "prob": 5 }, + { "item": "jeans_red", "prob": 50 }, { "item": "shorts", "prob": 70 }, { "item": "shorts_denim", "prob": 35 }, + { "item": "b_shorts", "prob": 30 }, + { "item": "shorts_cargo", "prob": 50 }, + { "item": "postman_shorts", "prob": 12 }, + { "item": "under_armor_shorts", "prob": 5 }, { "item": "pants", "prob": 75 }, - { "item": "leather_belt", "prob": 30 }, { "item": "pants_leather", "prob": 60 }, { "item": "pants_cargo", "prob": 70 }, - { "item": "shorts_cargo", "prob": 50 }, - { "item": "under_armor_shorts", "prob": 20 }, - { "item": "postman_shorts", "prob": 5 }, + { "item": "pants_checkered", "prob": 55 }, + { "item": "pants_ski", "prob": 45 }, + { "item": "pants_fur", "prob": 5 }, + { "item": "pants_faux_fur", "prob": 15 }, + { "item": "hot_pants", "prob": 30 }, + { "item": "hot_pants_fur", "prob": 5 }, + { "item": "hot_pants_leather", "prob": 25 }, + { "item": "breeches", "prob": 25 }, { "item": "kilt", "prob": 5 } ] }, @@ -573,11 +593,2296 @@ { "item": "skirt", "prob": 75 }, { "item": "skirt_leather", "prob": 5 }, { "item": "leggings", "prob": 15 }, - { "item": "dress", "prob": 70 }, - { "item": "sundress", "prob": 50 }, - { "item": "dress_wedding", "prob": 1 }, - { "item": "b_shorts", "prob": 15 }, { "item": "nanoskirt", "prob": 10 } ] + }, + { + "type": "item_group", + "id": "dresser", + "ammo": 50, + "magazine": 100, + "items": [ + [ "jeans", 90 ], + [ "pants_checkered", 5 ], + [ "shorts", 70 ], + [ "shorts_denim", 50 ], + [ "pants", 75 ], + [ "leather_belt", 30 ], + [ "pants_leather", 60 ], + [ "pants_cargo", 70 ], + [ "shorts_cargo", 50 ], + [ "motorbike_pants", 5 ], + [ "breeches", 5 ], + [ "skirt", 75 ], + [ "dress", 70 ], + [ "sundress", 50 ], + [ "camisole", 60 ], + [ "bra", 70 ], + [ "hairpin", 30 ], + [ "fc_hairpin", 5 ], + [ "barrette", 15 ], + [ "tieclip", 10 ], + [ "collarpin", 10 ], + [ "undershirt", 70 ], + [ "boxer_shorts", 50 ], + [ "briefs", 40 ], + [ "boxer_briefs", 45 ], + [ "panties", 70 ], + [ "boy_shorts", 25 ], + [ "gown", 1 ], + [ "long_glove_white", 1 ], + [ "veil_wedding", 1 ], + [ "dress_wedding", 1 ], + [ "tshirt", 80 ], + [ "longshirt", 70 ], + [ "polo_shirt", 65 ], + [ "dress_shirt", 60 ], + [ "tank_top", 50 ], + [ "sweatshirt", 75 ], + [ "sweater", 75 ], + [ "hoodie", 65 ], + [ "jacket_light", 50 ], + [ "jacket_windbreaker", 25 ], + [ "jacket_jean", 35 ], + [ "blazer", 35 ], + [ "towel", 40 ], + [ "jacket_leather", 30 ], + [ "motorbike_armor", 5 ], + [ "poncho", 15 ], + [ "folding_poncho", 5 ], + [ "trenchcoat", 12 ], + [ "sleeveless_trenchcoat", 2 ], + [ "duster", 12 ], + [ "sleeveless_duster", 2 ], + [ "peacoat", 30 ], + [ "greatcoat", 15 ], + [ "vest", 15 ], + [ "mag_porn", 20 ], + [ "photo_album", 10 ], + [ "lighter", 60 ], + [ "ref_lighter", 2 ], + [ "sewing_kit", 30 ], + [ "thread", 40 ], + [ "flashlight", 40 ], + [ "suit", 60 ], + [ "waistcoat", 30 ], + [ "tophat", 10 ], + [ "bowhat", 10 ], + [ "cowboy_hat", 10 ], + [ "bullwhip", 1 ], + [ "10gal_hat", 5 ], + [ "glasses_monocle", 2 ], + [ "duct_tape", 60 ], + [ "firecracker_pack", 5 ], + [ "firecracker", 5 ], + [ "wolfsuit", 4 ], + [ "dinosuit", 4 ], + [ "zentai", 5 ], + [ "vibrator", 5 ], + { "item": "condom", "prob": 30, "count": [ 1, 5 ] }, + [ "snuggie", 5 ], + [ "flyer", 10 ], + [ "socks", 70 ], + [ "socks_wool", 30 ], + [ "pocketwatch", 5 ], + [ "flask_hip", 2 ], + [ "bholster", 5 ], + [ "tux", 1 ], + [ "dress_wedding", 1 ], + [ "clogs", 2 ], + [ "wristwatch", 15 ], + [ "maid_dress", 3 ], + [ "maid_hat", 3 ], + [ "knitting_needles", 1 ], + [ "survnote", 1 ], + [ "b_shorts", 15 ], + [ "halter_top", 30 ], + [ "linuxtshirt", 10 ], + [ "kilt", 5 ], + [ "nanoskirt", 10 ], + [ "sleeveless_tunic", 5 ], + [ "fedora", 10 ], + [ "straw_hat", 5 ], + [ "straw_fedora", 5 ], + [ "holy_symbol", 20 ], + [ "kufi", 5 ], + [ "kippah", 5 ], + [ "headscarf", 5 ], + { "item": "kirpan", "container-item": "sheath", "prob": 1 }, + { "item": "kirpan_cheap", "container-item": "sheath", "prob": 3 }, + [ "robe", 10 ], + [ "eboshi", 1 ], + [ "kariginu", 1 ], + [ "geta", 1 ], + [ "kimono", 2 ], + [ "yukata", 6 ], + [ "haori", 2 ], + [ "hakama", 4 ], + [ "eclipse_glasses", 1 ], + [ "thermos", 20 ] + ] + }, + { + "type": "item_group", + "id": "shoes", + "items": [ + [ "sneakers", 80 ], + [ "socks", 70 ], + [ "tights", 20 ], + [ "stockings", 20 ], + [ "knee_high_boots", 20 ], + [ "thigh_high_boots", 20 ], + [ "boots", 70 ], + [ "flip_flops", 35 ], + [ "lowtops", 45 ], + [ "dress_shoes", 50 ], + [ "dance_shoes", 5 ], + [ "heels", 50 ], + [ "golf_shoes", 20 ], + [ "boots_combat", 10 ], + [ "boots_hiking", 20 ], + [ "boots_western", 10 ], + [ "clogs", 1 ], + [ "leathersandals", 10 ], + [ "rollerskates", 1 ], + [ "roller_blades", 5 ], + [ "roller_shoes_off", 1 ], + [ "mocassins", 20 ] + ] + }, + { + "type": "item_group", + "id": "pants", + "items": [ + [ "jeans", 90 ], + [ "pants_checkered", 5 ], + [ "shorts", 70 ], + [ "shorts_denim", 35 ], + [ "pants", 75 ], + [ "leather_belt", 30 ], + [ "pants_leather", 60 ], + [ "pants_cargo", 70 ], + [ "shorts_cargo", 50 ], + [ "skirt", 75 ], + [ "skirt_leather", 5 ], + [ "leggings", 15 ], + [ "under_armor_shorts", 20 ], + [ "dress", 70 ], + [ "sundress", 50 ], + [ "dress_wedding", 1 ], + [ "postman_shorts", 5 ], + [ "b_shorts", 15 ], + [ "kilt", 5 ], + [ "nanoskirt", 10 ] + ] + }, + { + "type": "item_group", + "id": "shirts", + "items": [ + [ "tshirt", 80 ], + [ "longshirt", 80 ], + [ "polo_shirt", 65 ], + [ "dress_shirt", 60 ], + [ "tank_top", 50 ], + [ "sweatshirt", 75 ], + [ "sweater", 75 ], + [ "hoodie", 65 ], + [ "under_armor", 20 ], + [ "jersey", 40 ], + [ "camisole", 60 ], + [ "tie_clipon", 10 ], + [ "tie_necktie", 10 ], + [ "tie_skinny", 10 ], + [ "tieclip", 5 ], + [ "collarpin", 5 ], + [ "postman_shirt", 5 ], + [ "halter_top", 50 ], + [ "linuxtshirt", 10 ], + [ "sleeveless_tunic", 5 ], + [ "poncho", 20 ] + ] + }, + { + "type": "item_group", + "id": "jackets", + "items": [ + [ "jacket_light", 50 ], + [ "jacket_windbreaker", 25 ], + [ "jacket_jean", 35 ], + [ "blazer", 35 ], + [ "jacket_leather", 30 ], + [ "coat_rain", 50 ], + [ "trenchcoat", 12 ], + [ "duster", 12 ], + { "group": "neckties", "prob": 5 }, + [ "tieclip", 2 ], + [ "collarpin", 2 ], + [ "apron_leather", 1 ] + ] + }, + { + "type": "item_group", + "id": "suits", + "items": [ + [ "dress_shirt", 100 ], + { "group": "neckties", "prob": 50 }, + [ "tieclip", 30 ], + [ "collarpin", 30 ], + [ "undershirt", 100 ], + [ "suit", 100 ], + [ "waistcoat", 70 ], + [ "tophat", 30 ], + [ "tux", 50 ], + [ "gown", 50 ], + [ "long_glove_white", 30 ], + [ "breeches", 10 ] + ] + }, + { + "type": "item_group", + "id": "winter", + "ammo": 50, + "magazine": 100, + "items": [ + [ "coat_winter", 50 ], + [ "peacoat", 30 ], + [ "ski_jacket", 40 ], + [ "greatcoat", 15 ], + [ "gloves_light", 35 ], + [ "mittens", 30 ], + [ "gloves_wool", 33 ], + [ "thermal_socks", 10 ], + [ "thermal_gloves", 10 ], + [ "thermal_suit", 10 ], + [ "thermal_mask", 10 ], + [ "thermal_outfit", 5 ], + [ "gloves_winter", 40 ], + [ "gloves_liner", 25 ], + [ "gloves_leather", 45 ], + [ "scarf", 45 ], + [ "knit_scarf", 35 ], + [ "long_knit_scarf", 15 ], + [ "scarf_long", 2 ], + [ "hat_cotton", 45 ], + [ "hat_newsboy", 20 ], + [ "hat_knit", 25 ], + [ "hat_fur", 15 ], + [ "hat_faux_fur", 20 ], + [ "pants_ski", 60 ], + [ "mask_ski", 15 ], + [ "long_underpants", 40 ], + [ "long_undertop", 40 ], + [ "union_suit", 40 ], + [ "tights", 20 ], + [ "arm_warmers", 20 ], + [ "leg_warmers", 20 ], + [ "balclava", 15 ] + ] + }, + { + "type": "item_group", + "id": "fancyfurs", + "items": [ + [ "hat_fur", 300 ], + [ "hat_faux_fur", 300 ], + [ "sleeveless_trenchcoat_fur", 10 ], + [ "sleeveless_duster_fur", 10 ], + [ "sleeveless_trenchcoat_faux_fur", 10 ], + [ "coat_fur_sf", 100 ], + [ "coat_faux_fur", 300 ], + [ "coat_fur", 300 ], + [ "gloves_fur", 300 ], + [ "boots_fur", 200 ], + [ "trenchcoat_faux_fur", 50 ], + [ "duster_faux_fur", 50 ], + [ "pants_faux_fur", 50 ] + ] + }, + { + "type": "item_group", + "id": "hatstore_hats", + "items": [ + [ "hat_cotton", 30 ], + [ "hat_knit", 40 ], + [ "hat_faux_fur", 30 ], + [ "hat_fur", 20 ], + [ "hat_newsboy", 20 ], + [ "hat_sombrero", 30 ], + [ "fedora", 100 ], + [ "straw_hat", 100 ], + [ "straw_fedora", 100 ], + [ "hat_chef", 10 ], + [ "maid_hat", 30 ], + [ "hat_golf", 50 ], + [ "hat_ball", 100 ], + [ "postman_hat", 10 ], + [ "tophat", 50 ], + [ "bowhat", 50 ], + [ "cowboy_hat", 100 ], + [ "10gal_hat", 100 ], + [ "kufi", 30 ], + [ "kippah", 30 ], + [ "eboshi", 30 ], + [ "balclava", 20 ], + [ "porkpie", 30 ] + ] + }, + { + "type": "item_group", + "id": "hatstore_accessories", + "items": [ + [ "scarf", 50 ], + [ "knit_scarf", 50 ], + [ "long_knit_scarf", 30 ], + [ "scarf_long", 30 ], + [ "bandana", 100 ], + [ "hairpin", 50 ], + [ "fc_hairpin", 20 ], + [ "barrette", 30 ] + ] + }, + { + "type": "item_group", + "id": "shoestore_shoes", + "items": [ + [ "sneakers", 100 ], + [ "knee_high_boots", 40 ], + [ "thigh_high_boots", 40 ], + [ "boots", 100 ], + [ "flip_flops", 50 ], + [ "lowtops", 100 ], + [ "dress_shoes", 50 ], + [ "dance_shoes", 20 ], + [ "heels", 100 ], + [ "golf_shoes", 40 ], + [ "boots_hiking", 40 ], + [ "boots_western", 60 ], + [ "clogs", 60 ], + [ "leathersandals", 100 ], + [ "rollerskates", 10 ], + [ "roller_blades", 20 ], + [ "roller_shoes_off", 10 ], + [ "boots_rubber", 20 ], + [ "clownshoes", 10 ], + [ "mocassins", 40 ] + ] + }, + { + "type": "item_group", + "id": "shoestore_accessories", + "items": [ [ "socks", 100 ], [ "thermal_socks", 25 ], [ "socks_wool", 50 ], [ "string_36", 200 ] ] + }, + { + "type": "item_group", + "id": "bags", + "items": [ + [ "backpack", 38 ], + [ "backpack_hiking", 3 ], + [ "petpack", 3 ], + [ "backpack_tactical_large", 1 ], + [ "bigback", 1 ], + [ "travelpack", 5 ], + [ "purse", 40 ], + [ "mbag", 20 ], + [ "slingpack", 8 ], + [ "rucksack", 20 ], + [ "backpack_leather", 8 ], + [ "briefcase", 10 ] + ] + }, + { + "type": "item_group", + "id": "bags_trip", + "items": [ [ "suitcase_l", 37 ], [ "suitcase_m", 55 ], [ "duffelbag", 8 ] ] + }, + { + "type": "item_group", + "id": "dresses", + "items": [ [ "dress", 55 ], [ "sundress", 43 ], [ "gown", 10 ], [ "dress_wedding", 2 ] ] + }, + { + "type": "item_group", + "id": "female_underwear_top", + "items": [ + [ "bra", 70 ], + [ "sports_bra", 50 ], + [ "camisole", 30 ], + [ "halter_top", 30 ], + [ "bikini_top", 10 ], + [ "bikini_top_leather", 7 ], + [ "bikini_top_fur", 5 ], + [ "corset", 5 ] + ] + }, + { + "type": "item_group", + "id": "female_underwear_bottom", + "items": [ [ "panties", 70 ], [ "boy_shorts", 50 ], [ "bikini_bottom", 10 ] ] + }, + { + "type": "item_group", + "id": "male_underwear_top", + "items": [ [ "undershirt", 50 ], [ "long_undertop", 20 ], [ "thermal_shirt", 10 ], [ "under_armor", 20 ], [ "tank_top", 50 ] ] + }, + { + "type": "item_group", + "id": "male_underwear_bottom", + "items": [ + [ "boxer_shorts", 70 ], + [ "briefs", 30 ], + [ "boxer_briefs", 50 ], + [ "long_underpants", 20 ], + [ "under_armor_shorts", 20 ], + [ "trunks", 10 ] + ] + }, + { + "type": "item_group", + "id": "allclothes", + "items": [ + [ "jeans", 90 ], + [ "pants_checkered", 5 ], + [ "shorts", 70 ], + [ "shorts_denim", 35 ], + [ "ski_jacket", 40 ], + [ "pants", 75 ], + [ "breeches", 10 ], + [ "leather_belt", 30 ], + [ "suit", 60 ], + [ "waistcoat", 30 ], + [ "tophat", 10 ], + [ "bowhat", 10 ], + [ "cowboy_hat", 10 ], + [ "boots_western", 8 ], + [ "glasses_monocle", 2 ], + [ "pants_leather", 60 ], + [ "pants_cargo", 70 ], + [ "shorts_cargo", 50 ], + [ "skirt", 75 ], + [ "skirt_leather", 5 ], + [ "tshirt", 70 ], + [ "longshirt", 80 ], + [ "polo_shirt", 65 ], + [ "dress_shirt", 60 ], + [ "tank_top", 50 ], + [ "camisole", 30 ], + [ "bra", 30 ], + [ "undershirt", 30 ], + [ "boxer_shorts", 30 ], + [ "briefs", 15 ], + [ "boxer_briefs", 20 ], + [ "panties", 30 ], + [ "boy_shorts", 25 ], + [ "sweatshirt", 75 ], + [ "sweater", 75 ], + [ "hoodie", 65 ], + [ "jacket_light", 50 ], + [ "jacket_windbreaker", 25 ], + [ "jacket_jean", 35 ], + [ "blazer", 35 ], + [ "jacket_leather", 30 ], + [ "coat_winter", 50 ], + [ "peacoat", 30 ], + [ "greatcoat", 15 ], + [ "gloves_light", 35 ], + [ "mittens", 30 ], + [ "gloves_wool", 33 ], + [ "thermal_socks", 2 ], + [ "thermal_gloves", 2 ], + [ "thermal_suit", 2 ], + [ "thermal_mask", 2 ], + [ "thermal_outfit", 1 ], + [ "thermal_shirt", 1 ], + [ "gloves_winter", 40 ], + [ "gloves_liner", 25 ], + [ "gloves_leather", 45 ], + [ "gloves_work", 5 ], + [ "scarf", 45 ], + [ "hat_golf", 30 ], + [ "knit_scarf", 35 ], + [ "long_knit_scarf", 5 ], + [ "scarf_long", 1 ], + [ "hat_cotton", 45 ], + [ "hat_knit", 25 ], + [ "hat_newsboy", 20 ], + [ "hat_sombrero", 3 ], + [ "hat_fur", 15 ], + [ "hat_faux_fur", 20 ], + [ "under_armor", 20 ], + [ "under_armor_shorts", 20 ], + [ "tights", 20 ], + [ "leggings", 20 ], + [ "stockings", 20 ], + [ "balclava", 15 ], + [ "pants_ski", 60 ], + [ "long_underpants", 40 ], + [ "long_undertop", 40 ], + [ "union_suit", 20 ], + [ "leotard", 3 ], + [ "unitard", 1 ], + [ "arm_warmers", 20 ], + [ "leg_warmers", 20 ], + [ "trenchcoat_leather", 12 ], + [ "trenchcoat_faux_fur", 6 ], + [ "sleeveless_trenchcoat", 2 ], + [ "sleeveless_trenchcoat_leather", 2 ], + [ "sleeveless_trenchcoat_faux_fur", 2 ], + [ "trenchcoat_leather", 12 ], + [ "sleeveless_trenchcoat_fur", 1 ], + [ "duster_leather", 12 ], + [ "duster_faux_fur", 6 ], + [ "sleeveless_duster", 2 ], + [ "sleeveless_duster_leather", 2 ], + [ "sleeveless_duster_faux_fur", 2 ], + [ "sleeveless_duster_fur", 1 ], + [ "cloak", 5 ], + [ "cloak_wool", 5 ], + [ "house_coat", 25 ], + [ "flotation_vest", 1 ], + [ "fishing_waders", 5 ], + [ "wetsuit", 5 ], + [ "wetsuit_spring", 5 ], + [ "wetsuit_gloves", 10 ], + [ "wetsuit_booties", 10 ], + [ "wetsuit_hood", 5 ], + [ "dive_bag", 5 ], + [ "jedi_cloak", 1 ], + [ "apron_leather", 1 ], + [ "clown_suit", 1 ], + [ "clownshoes", 1 ], + [ "clown_wig", 1 ], + [ "clown_nose", 1 ], + [ "bondage_suit", 1 ], + [ "bondage_mask", 1 ], + [ "zentai", 1 ], + [ "corset", 10 ], + [ "chestwrap", 5 ], + [ "boots_combat", 10 ], + [ "pants_army", 10 ], + [ "jacket_army", 10 ], + [ "winter_pants_army", 10 ], + [ "winter_jacket_army", 10 ], + [ "winter_gloves_army", 10 ], + [ "army_top", 20 ], + [ "tux", 1 ], + [ "gown", 1 ], + [ "long_glove_white", 1 ], + [ "veil_wedding", 1 ], + [ "dress_wedding", 1 ], + [ "porkpie", 5 ], + [ "tie_bow", 5 ], + [ "tie_clipon", 5 ], + [ "tie_necktie", 5 ], + [ "tie_skinny", 5 ], + [ "tieclip", 2 ], + [ "collarpin", 2 ], + [ "jersey", 40 ], + [ "postman_shorts", 5 ], + [ "postman_shirt", 5 ], + [ "postman_hat", 5 ], + [ "maid_dress", 3 ], + [ "maid_hat", 3 ], + [ "halter_top", 50 ], + [ "linuxtshirt", 20 ], + [ "kilt", 5 ], + [ "nanoskirt", 10 ], + [ "sleeveless_tunic", 5 ], + [ "ear_spool", 30 ], + [ "fedora", 5 ], + [ "straw_hat", 5 ], + [ "straw_fedora", 5 ], + [ "kufi", 2 ], + [ "kippah", 2 ], + [ "thawb", 1 ], + [ "kittel", 1 ], + [ "cassock", 1 ], + [ "robe", 5 ], + [ "eboshi", 1 ], + [ "kariginu", 1 ], + [ "geta", 1 ], + [ "kimono", 2 ], + [ "yukata", 4 ], + [ "haori", 1 ], + [ "hakama", 2 ] + ] + }, + { + "type": "item_group", + "id": "allclothes_damaged", + "subtype": "distribution", + "items": [ { "group": "allclothes", "damage": [ 3, 4 ] } ] + }, + { + "type": "item_group", + "id": "swimmer_head", + "items": [ + [ "goggles_swim", 90 ], + [ "wetsuit_hood", 30 ], + [ "fancy_sunglasses", 1 ], + [ "rebreather", 1 ], + [ "fitover_sunglasses", 5 ], + [ "sunglasses", 10 ] + ] + }, + { + "type": "item_group", + "id": "swimmer_torso", + "items": [ [ "bikini_top", 50 ], [ "dive_bag", 5 ], [ "flotation_vest", 10 ], [ "scuba_tank", 2 ] ] + }, + { + "type": "item_group", + "id": "swimmer_pants", + "items": [ [ "trunks", 80 ], [ "bikini_bottom", 35 ], [ "hot_pants", 30 ] ] + }, + { + "type": "item_group", + "id": "swimmer_shoes", + "items": [ [ "flip_flops", 80 ], [ "swim_fins", 20 ] ] + }, + { + "type": "item_group", + "id": "swimmer_wetsuit", + "items": [ [ "wetsuit", 90 ], [ "wetsuit_spring", 10 ] ] + }, + { + "type": "item_group", + "id": "lab_shoes", + "items": [ [ "sneakers", 80 ], [ "boots", 70 ], [ "boots_steel", 50 ], [ "boots_hiking", 40 ], [ "dress_shoes", 50 ] ] + }, + { + "type": "item_group", + "id": "lab_torso", + "items": [ + [ "coat_lab", 20 ], + [ "coat_lab", 20 ], + [ "coat_lab", 20 ], + [ "coat_lab", 20 ], + [ "tshirt", 80 ], + [ "longshirt", 80 ], + [ "polo_shirt", 65 ], + [ "dress_shirt", 60 ], + [ "dress", 70 ], + [ "sweatshirt", 75 ], + [ "sweater", 75 ], + [ "hoodie", 65 ], + [ "jumpsuit", 20 ], + [ "badge_doctor", 10 ], + [ "hazmat_suit", 5 ], + [ "cleansuit", 10 ] + ] + }, + { + "type": "item_group", + "id": "lab_pants", + "items": [ [ "jeans", 90 ], [ "pants_checkered", 5 ], [ "pants", 75 ], [ "pants_cargo", 70 ], [ "skirt", 75 ] ] + }, + { + "type": "item_group", + "id": "postman_gear", + "items": [ + [ "postman_hat", 50 ], + [ "postman_shirt", 70 ], + [ "postman_shorts", 70 ], + [ "mbag", 40 ], + [ "newest_newspaper", 10 ], + [ "wristwatch", 50 ], + [ "leather_belt", 70 ], + [ "briefs", 90 ], + [ "socks", 70 ], + [ "sneakers", 70 ] + ] + }, + { + "type": "item_group", + "id": "mil_armor", + "items": [ + [ "pants_army", 10 ], + [ "jacket_army", 10 ], + [ "winter_pants_army", 30 ], + [ "winter_jacket_army", 30 ], + [ "winter_gloves_army", 30 ], + [ "army_top", 30 ], + [ "kevlar", 10 ], + [ "modularvest", 15 ], + [ "modularvestkevlar", 18 ], + [ "modularvestceramic", 25 ], + [ "modularveststeel", 20 ], + [ "modularvestsuper", 2 ], + [ "modularvesthard", 1 ], + [ "vest", 15 ], + [ "mask_gas", 10 ], + [ "goggles_nv", 1 ], + [ "goggles_ir", 1 ], + [ "optical_cloak", 1 ], + [ "holo_cloak", 1 ], + [ "backpack", 38 ], + [ "UPS_off", 5 ], + [ "adv_UPS_off", 3 ], + [ "tacvest", 10 ], + [ "molle_pack", 8 ], + [ "duffelbag", 15 ], + [ "dump_pouch", 20 ], + [ "legrig", 10 ], + [ "under_armor", 20 ], + [ "boots", 70 ], + [ "boots_combat", 70 ], + [ "gloves_tactical", 30 ], + [ "glasses_bal", 40 ], + [ "armguard_hard", 20 ], + [ "legguard_hard", 15 ], + [ "power_armor_helmet_basic", 3 ], + [ "power_armor_basic", 3 ], + [ "power_armor_frame", 4 ], + [ "helmet_army", 40 ], + [ "helmet_liner", 10 ], + [ "UPS_off", 5 ], + [ "adv_UPS_off", 3 ], + [ "beret", 50 ], + [ "beret_wool", 40 ], + [ "elbow_pads", 50 ], + [ "knee_pads", 50 ], + [ "solarpack", 5 ] + ] + }, + { + "type": "item_group", + "id": "mil_accessories", + "items": [ + [ "mask_gas", 10 ], + [ "duffelbag", 15 ], + [ "goggles_nv", 1 ], + [ "goggles_ir", 1 ], + [ "optical_cloak", 1 ], + [ "holo_cloak", 1 ], + [ "mess_kit", 9 ], + [ "mil_mess_kit", 1 ], + [ "backpack", 38 ], + [ "briefcase", 10 ], + [ "UPS_off", 5 ], + [ "adv_UPS_off", 3 ], + [ "armguard_hard", 20 ], + [ "legguard_hard", 15 ], + [ "power_armor_frame", 4 ], + [ "elbow_pads", 40 ], + [ "knee_pads", 40 ], + [ "mask_bal", 5 ], + [ "e_tool", 10 ], + [ "waterproof_gunmod", 8 ], + [ "grapnel", 3 ], + [ "glasses_bal", 30 ], + [ "sheath", 10 ], + [ "bootsheath", 8 ], + [ "holster", 15 ], + [ "sholster", 10 ], + [ "bandolier_shotgun", 8 ], + [ "solarpack", 5 ], + [ "chem_hexamine", 3 ], + [ "esbit_stove", 6 ], + [ "mess_tin", 4 ], + [ "survival_kit", 4 ] + ] + }, + { + "type": "item_group", + "id": "mil_armor_torso", + "items": [ + [ "kevlar", 10 ], + [ "modularvest", 15 ], + [ "modularvestkevlar", 18 ], + [ "modularvestceramic", 25 ], + [ "modularveststeel", 20 ], + [ "modularvestsuper", 2 ], + [ "modularvesthard", 1 ], + [ "winter_jacket_army", 30 ], + [ "vest", 15 ], + [ "tacvest", 10 ], + [ "molle_pack", 8 ], + [ "under_armor", 20 ], + [ "power_armor_basic", 5 ], + [ "army_top", 30 ], + [ "elbow_pads", 20 ] + ] + }, + { + "type": "item_group", + "id": "mil_armor_helmet", + "items": [ + [ "helmet_army", 40 ], + [ "helmet_liner", 20 ], + [ "beret", 50 ], + [ "beret_wool", 40 ], + [ "mask_bal", 10 ], + [ "power_armor_helmet_basic", 4 ] + ] + }, + { + "type": "item_group", + "id": "mil_armor_pants", + "items": [ + [ "pants_army", 10 ], + [ "winter_pants_army", 40 ], + [ "pants", 75 ], + [ "pants_cargo", 70 ], + [ "legrig", 10 ], + [ "knee_pads", 20 ] + ] + }, + { + "type": "item_group", + "id": "survival_armor", + "items": [ + [ "boots_steel", 50 ], + [ "boots_combat", 50 ], + [ "boots_hiking", 50 ], + [ "bootsheath", 8 ], + [ "pants_cargo", 70 ], + [ "shorts_cargo", 50 ], + [ "pants_army", 30 ], + [ "jacket_army", 30 ], + [ "winter_pants_army", 10 ], + [ "winter_jacket_army", 10 ], + [ "winter_gloves_army", 10 ], + [ "jumpsuit", 20 ], + [ "jacket_leather", 30 ], + [ "sleeveless_trenchcoat", 2 ], + [ "sleeveless_trenchcoat_leather", 5 ], + [ "sleeveless_duster", 2 ], + [ "sleeveless_duster_leather", 5 ], + [ "kevlar", 30 ], + [ "modularvest", 12 ], + [ "modularvestkevlar", 10 ], + [ "modularvestceramic", 8 ], + [ "modularveststeel", 5 ], + [ "modularvestsuper", 1 ], + [ "dump_pouch", 20 ], + [ "mask_bal", 5 ], + [ "vest", 15 ], + [ "gloves_fingerless", 20 ], + [ "gloves_tactical", 20 ], + [ "glasses_bal", 20 ], + [ "elbow_pads", 40 ], + [ "knee_pads", 40 ], + [ "mask_filter", 30 ], + [ "mask_gas", 10 ], + [ "goggles_ski", 30 ], + [ "helmet_skid", 30 ], + [ "armguard_hard", 20 ], + [ "legguard_hard", 15 ], + [ "under_armor", 20 ], + [ "long_underpants", 40 ], + [ "long_undertop", 40 ], + [ "union_suit", 20 ], + [ "helmet_ball", 45 ], + [ "helmet_riot", 25 ], + [ "helmet_motor", 40 ], + [ "touring_suit", 15 ], + [ "motorbike_armor", 5 ], + [ "motorbike_pants", 5 ], + [ "motorbike_boots", 5 ], + [ "holster", 8 ], + [ "sholster", 4 ], + [ "bootstrap", 3 ], + [ "legpouch", 12 ], + [ "legpouch_large", 6 ], + [ "chestpouch", 9 ], + [ "ammo_satchel", 4 ], + [ "UPS_off", 5 ], + [ "adv_UPS_off", 3 ], + [ "tacvest", 10 ], + [ "molle_pack", 8 ], + [ "legrig", 10 ], + [ "rucksack", 20 ], + [ "emer_blanket", 20 ], + [ "flotation_vest", 1 ], + [ "fishing_waders", 2 ], + [ "cloak", 5 ], + [ "cloak_wool", 5 ], + [ "tac_helmet", 5 ], + [ "tac_fullhelmet", 2 ], + [ "helmet_lobster", 2 ], + [ "apron_leather", 2 ], + [ "tool_belt", 5 ], + [ "bootsheath", 8 ], + [ "sheath", 5 ] + ] + }, + { + "type": "item_group", + "id": "construction_worker", + "items": [ + [ "boots", 70 ], + [ "boots_steel", 50 ], + [ "boots_hiking", 10 ], + [ "jumpsuit", 20 ], + [ "gloves_rubber", 20 ], + [ "gloves_leather", 45 ], + [ "gloves_work", 45 ], + [ "mask_filter", 30 ], + [ "glasses_safety", 40 ], + [ "hat_hard", 50 ], + [ "hat_hard_hooded", 25 ], + [ "wearable_light", 5 ], + [ "ear_plugs", 50 ], + { "group": "ammo_any_batteries_full", "prob": 50 }, + [ "flashlight", 40 ], + [ "boots_rubber", 20 ], + [ "toolbox", 1 ], + [ "apron_leather", 10 ] + ] + }, + { + "type": "item_group", + "id": "loincloth", + "items": [ [ "loincloth", 2 ], [ "loincloth_wool", 1 ], [ "loincloth_fur", 1 ], [ "loincloth_leather", 1 ] ] + }, + { + "type": "item_group", + "id": "fireman_torso", + "items": [ [ "bunker_coat", 80 ], [ "vest", 30 ] ] + }, + { + "type": "item_group", + "id": "fireman_pants", + "items": [ [ "bunker_pants", 80 ], [ "nomex_suit", 40 ], [ "pants_cargo", 10 ] ] + }, + { + "type": "item_group", + "id": "fireman_boots", + "items": [ + [ "boots_bunker", 70 ], + [ "boots_steel", 20 ], + [ "boots_combat", 5 ], + [ "boots_rubber", 10 ], + [ "boots_hiking", 5 ], + [ "nomex_socks", 40 ] + ] + }, + { + "type": "item_group", + "id": "fireman_gloves", + "items": [ + [ "fire_gauntlets", 60 ], + [ "gloves_medical", 5 ], + [ "gloves_tactical", 20 ], + [ "gloves_rubber", 10 ], + [ "nomex_gloves", 30 ] + ] + }, + { + "type": "item_group", + "id": "fireman_head", + "items": [ + [ "firehelmet", 60 ], + [ "hat_knit", 10 ], + [ "nomex_hood", 40 ], + [ "hat_hard", 5 ], + [ "hat_hard_hooded", 3 ], + [ "hat_noise_cancelling", 5 ] + ] + }, + { + "type": "item_group", + "id": "fireman_mask", + "items": [ + [ "mask_bunker", 70 ], + [ "mask_dust", 30 ], + [ "mask_gas", 20 ], + [ "mask_filter", 10 ], + [ "goggles_ir", 2 ], + [ "goggles_nv", 1 ] + ] + }, + { + "type": "item_group", + "id": "hazmat_torso", + "items": [ [ "cleansuit", 40 ], [ "jumpsuit", 60 ] ] + }, + { + "type": "item_group", + "id": "hazmat_boots", + "items": [ [ "boots_rubber", 1 ] ] + }, + { + "type": "item_group", + "id": "hazmat_gloves", + "items": [ [ "gloves_medical", 60 ], [ "gloves_rubber", 40 ] ] + }, + { + "type": "item_group", + "id": "hazmat_full", + "items": [ [ "hazmat_suit", 80 ], [ "anbc_suit", 20 ] ] + }, + { + "type": "item_group", + "id": "hazmat_mask", + "items": [ [ "mask_dust", 80 ], [ "mask_filter", 20 ], [ "mask_gas", 10 ] ] + }, + { + "type": "item_group", + "id": "hazmat_eyes", + "items": [ [ "glasses_safety", 50 ] ] + }, + { + "type": "item_group", + "id": "survivorzed_suits", + "items": [ + [ "survivor_suit", 8 ], + [ "lsurvivor_suit", 10 ], + [ "hsurvivor_suit", 6 ], + [ "wsurvivor_suit", 6 ], + [ "fsurvivor_suit", 4 ], + [ "h20survivor_suit", 2 ], + [ "touring_suit", 16 ], + [ "armor_larmor", 28 ], + [ "armor_blarmor", 14 ], + [ "armor_farmor", 8 ], + [ "armor_plarmor", 2 ], + [ "swat_armor", 6 ], + [ "aep_suit", 4 ], + [ "armor_scrapsuit", 12 ], + [ "armor_chitin", 2 ], + [ "armor_lightplate", 1 ], + [ "cuirass_lightplate", 2 ], + [ "armor_plate", 1 ], + [ "bondage_suit", 1 ], + [ "snuggie", 1 ] + ] + }, + { + "type": "item_group", + "id": "survivorzed_tops", + "items": [ + [ "trenchcoat_survivor", 5 ], + [ "sleeveless_trenchcoat_survivor", 2 ], + [ "duster_survivor", 5 ], + [ "sleeveless_duster_survivor", 2 ], + [ "vest", 40 ], + [ "kevlar", 16 ], + [ "jacket_army", 28 ], + [ "trenchcoat", 12 ], + [ "trenchcoat_leather", 10 ], + [ "trenchcoat_fur", 5 ], + [ "sleeveless_trenchcoat", 7 ], + [ "sleeveless_trenchcoat_leather", 5 ], + [ "sleeveless_trenchcoat_fur", 2 ], + [ "duster", 12 ], + [ "duster_leather", 10 ], + [ "duster_fur", 5 ], + [ "sleeveless_duster", 7 ], + [ "sleeveless_duster_leather", 5 ], + [ "sleeveless_duster_fur", 2 ], + [ "peacoat", 14 ], + [ "greatcoat", 7 ], + [ "vest_leather", 22 ], + [ "bunker_coat", 6 ], + [ "bookplate", 10 ], + [ "modularvest", 4 ], + [ "modularvesthard", 1 ], + [ "modularvestkevlar", 2 ], + [ "modularvestceramic", 2 ], + [ "modularveststeel", 1 ], + [ "modularvestsuper", 1 ], + [ "dragonskin", 1 ], + [ "corset", 1 ], + [ "football_armor", 18 ], + [ "jacket_leather", 12 ], + [ "jacket_jean", 8 ], + [ "jacket_flannel", 6 ], + [ "cuirass_scrap", 12 ] + ] + }, + { + "type": "item_group", + "id": "survivorzed_bottoms", + "items": [ + [ "pants_survivor", 10 ], + [ "pants_cargo", 40 ], + [ "shorts_cargo", 22 ], + [ "pants_army", 28 ], + [ "winter_pants_army", 10 ], + [ "bunker_pants", 14 ], + [ "pants_leather", 18 ], + [ "legguard_scrap", 12 ], + [ "skirt", 6 ], + [ "kilt", 1 ] + ] + }, + { + "type": "item_group", + "id": "survivorzed_gloves", + "items": [ + [ "gloves_lsurvivor", 10 ], + [ "gloves_survivor", 8 ], + [ "gloves_hsurvivor", 4 ], + [ "gloves_wsurvivor", 4 ], + [ "gloves_fsurvivor", 2 ], + [ "gloves_h20survivor", 1 ], + [ "gloves_fingerless", 28 ], + [ "gloves_fingerless_mod", 20 ], + [ "gloves_tactical", 12 ], + [ "gauntlets_larmor", 14 ], + [ "gauntlets_chitin", 2 ], + [ "armguard_larmor", 7 ], + [ "vambrace_larmor", 6 ], + [ "armguard_chitin", 1 ], + [ "armguard_scrap", 12 ], + [ "gloves_fur", 4 ], + [ "gloves_leather", 22 ], + [ "gloves_work", 22 ], + [ "gloves_plate", 2 ], + [ "gloves_wraps", 1 ] + ] + }, + { + "type": "item_group", + "id": "survivorzed_boots", + "items": [ + [ "boots_lsurvivor", 10 ], + [ "boots_survivor", 8 ], + [ "boots_hsurvivor", 4 ], + [ "boots_wsurvivor", 4 ], + [ "boots_fsurvivor", 2 ], + [ "boots_h20survivor", 1 ], + [ "boots", 20 ], + [ "boots_scrap", 12 ], + [ "boots_steel", 28 ], + [ "boots_hiking", 24 ], + [ "knee_high_boots", 8 ], + [ "boots_combat", 12 ], + [ "boots_larmor", 14 ], + [ "boots_fur", 22 ], + [ "boots_plate", 2 ], + [ "boots_bunker", 8 ], + [ "footrags", 1 ] + ] + }, + { + "type": "item_group", + "id": "survivorzed_head", + "items": [ + [ "hood_lsurvivor", 10 ], + [ "hood_survivor", 8 ], + [ "helmet_survivor", 8 ], + [ "helmet_hsurvivor", 4 ], + [ "hood_wsurvivor", 4 ], + [ "hood_fsurvivor", 2 ], + [ "hood_h20survivor", 1 ], + [ "helmet_army", 26 ], + [ "tac_helmet", 22 ], + [ "helmet_riot", 18 ], + [ "tac_fullhelmet", 8 ], + [ "helmet_lobster", 8 ], + [ "pot_helmet", 22 ], + [ "helmet_larmor", 14 ], + [ "pickelhaube", 1 ], + [ "firehelmet", 2 ], + [ "helmet_barbute", 1 ], + [ "helmet_plate", 1 ], + [ "helmet_scrap", 12 ], + [ "bondage_mask", 1 ], + [ "survivor_goggles", 10 ], + [ "hood_rain", 14 ] + ] + }, + { + "type": "item_group", + "id": "survivorzed_extra", + "items": [ + [ "daypack", 4 ], + [ "mask_lsurvivor", 10 ], + [ "mask_survivor", 8 ], + [ "mask_hsurvivor", 6 ], + [ "survivor_vest", 8 ], + [ "survivor_runner_pack", 6 ], + [ "survivor_pack", 5 ], + [ "survivor_rucksack", 4 ], + [ "survivor_duffel_bag", 3 ], + [ "dive_bag", 10 ], + [ "runner_bag", 20 ], + [ "molle_pack", 12 ], + [ "backpack", 40 ], + [ "backpack_leather", 32 ], + [ "mbag", 26 ], + [ "purse", 14 ], + [ "slingpack", 12 ], + [ "rucksack", 12 ], + [ "duffelbag", 8 ], + [ "mask_h20survivor", 1 ], + [ "mask_bal", 14 ], + [ "mask_hockey", 26 ], + [ "mask_gas", 24 ], + [ "mask_filter", 12 ], + [ "mask_bunker", 2 ], + [ "mask_wsurvivor", 4 ], + [ "mask_fsurvivor", 2 ], + [ "sunglasses", 12 ], + [ "fitover_sunglasses", 8 ], + [ "glasses_bal", 18 ], + [ "glasses_safety", 24 ], + [ "goggles_ski", 14 ], + [ "goggles_nv", 2 ], + [ "goggles_ir", 1 ], + [ "tacvest", 22 ], + [ "legrig", 22 ], + [ "tool_belt", 16 ], + [ "fanny", 12 ], + [ "dump_pouch", 6 ], + [ "ragpouch", 22 ], + [ "leather_pouch", 16 ], + [ "quiver", 14 ], + [ "quiver_large", 8 ], + [ "wristwatch", 24 ], + [ "diving_watch", 16 ], + [ "pocketwatch", 14 ], + [ "holster", 14 ], + [ "bandana", 18 ], + [ "scarf", 26 ], + [ "long_knit_scarf", 15 ], + [ "mask_gas_xl", 4 ], + [ "hat_boonie", 16 ], + [ "beret", 18 ], + [ "beret_wool", 14 ], + [ "balclava", 12 ], + [ "mask_survivorxl", 2 ], + [ "combatsaw_off", 1 ], + [ "firemachete_off", 1 ], + [ "shishkebab_off", 2 ], + [ "helsing", 1 ], + [ "tihar", 2 ], + [ "bigun", 2 ], + [ "ashot", 4 ], + [ "pickaxe", 1 ], + [ "makeshift_machete", 4 ], + [ "flamethrower_crude", 6 ], + [ "fungicide", 10 ], + [ "insecticide", 10 ], + [ "antifungal", 1 ], + [ "antiparasitic", 5 ], + [ "diazepam", 1 ], + [ "throw_extinguisher", 2 ], + [ "small_repairkit", 14 ], + [ "grapnel", 6 ], + [ "misc_repairkit", 8 ], + [ "survival_kit", 3 ], + [ "toolbox", 1 ], + [ "survivor_belt", 2 ], + [ "survivor_machete", 2 ], + [ "spear_survivor", 2 ], + [ "survivor_light", 24 ], + [ "survivor_mess_kit", 6 ], + [ "survivor_shavingkit", 3 ], + [ "survivor_hairtrimmer", 1 ], + [ "survivor_scope", 1 ], + [ "survnote", 30 ] + ] + }, + { + "type": "item_group", + "id": "bio_op_face", + "items": [ [ "glasses_bal", 40 ], [ "mask_filter", 30 ], [ "mask_bal", 30 ], [ "mask_gas", 40 ] ] + }, + { + "type": "item_group", + "id": "bio_op_torso", + "items": [ [ "dragonskin", 50 ], [ "winter_jacket_army", 10 ], [ "modularvestceramic", 40 ], [ "modularvestkevlar", 20 ] ] + }, + { + "type": "item_group", + "id": "bio_op_boots", + "items": [ [ "boots_combat", 1 ] ] + }, + { + "type": "item_group", + "id": "bio_op_gloves", + "items": [ [ "gloves_tactical", 60 ], [ "gloves_fingerless", 40 ], [ "winter_gloves_army", 40 ] ] + }, + { + "type": "item_group", + "id": "museum_armor", + "items": [ + [ "armor_plate", 60 ], + [ "gloves_plate", 60 ], + [ "boots_plate", 60 ], + [ "armor_lightplate", 45 ], + [ "cuirass_lightplate", 45 ], + [ "armguard_lightplate", 30 ], + [ "legguard_lightplate", 30 ], + [ "helmet_barbute", 50 ], + [ "helmet_conical", 30 ], + [ "armor_lamellar", 20 ], + [ "armor_lorica", 25 ], + [ "armor_samurai", 50 ], + [ "helmet_kabuto", 50 ], + [ "helmet_larmor", 40 ], + [ "helmet_nasal", 50 ], + [ "helmet_galea", 40 ], + [ "boots_larmor", 40 ], + [ "armor_larmor", 40 ], + [ "armguard_larmor", 40 ], + [ "vambrace_larmor", 20 ], + [ "gambeson", 50 ], + [ "legguard_metal", 10 ], + [ "helmet_corinthian", 45 ], + [ "armor_cuirass", 25 ], + [ "legguard_bronze", 20 ] + ] + }, + { + "type": "item_group", + "id": "museum_armor_torso", + "items": [ + [ "armor_plate", 60 ], + [ "armor_lightplate", 45 ], + [ "cuirass_lightplate", 45 ], + [ "armor_lamellar", 20 ], + [ "armor_lorica", 25 ], + [ "armor_samurai", 50 ], + [ "armor_larmor", 40 ], + [ "gambeson", 50 ], + [ "armor_cuirass", 25 ], + [ "chainmail_suit", 10 ], + [ "chainmail_vest", 3 ] + ] + }, + { + "type": "item_group", + "id": "museum_armor_legs", + "items": [ [ "legguard_lightplate", 30 ], [ "legguard_metal", 10 ], [ "legguard_bronze", 20 ], [ "chainmail_legs", 10 ] ] + }, + { + "type": "item_group", + "id": "museum_armor_feet", + "items": [ [ "boots_plate", 60 ], [ "boots_larmor", 40 ], [ "chainmail_feet", 40 ] ] + }, + { + "type": "item_group", + "id": "museum_armor_head", + "items": [ + [ "helmet_barbute", 50 ], + [ "helmet_conical", 30 ], + [ "helmet_kabuto", 50 ], + [ "helmet_larmor", 40 ], + [ "helmet_nasal", 50 ], + [ "helmet_galea", 40 ], + [ "chainmail_hood", 30 ] + ] + }, + { + "type": "item_group", + "id": "museum_armor_arms", + "items": [ + [ "armguard_lightplate", 30 ], + [ "armguard_larmor", 40 ], + [ "vambrace_larmor", 20 ], + [ "gloves_plate", 60 ], + [ "chainmail_arms", 30 ], + [ "chainmail_hands", 30 ] + ] + }, + { + "type": "item_group", + "id": "coat_rack", + "items": [ + [ "jacket_light", 50 ], + [ "jacket_windbreaker", 25 ], + [ "jacket_jean", 35 ], + [ "blazer", 35 ], + [ "jacket_leather", 30 ], + [ "coat_rain", 50 ], + [ "trenchcoat", 10 ], + [ "duster", 15 ], + [ "peacoat", 30 ], + [ "tophat", 10 ], + [ "hat_ball", 40 ], + [ "fedora", 15 ], + [ "hat_cotton", 30 ], + [ "hat_knit", 20 ] + ] + }, + { + "type": "item_group", + "id": "laundry", + "items": [ + [ "basket_laundry", 30 ], + [ "jeans", 90 ], + [ "pants_checkered", 5 ], + [ "shorts", 70 ], + [ "shorts_denim", 35 ], + [ "pants", 75 ], + [ "breeches", 10 ], + [ "suit", 60 ], + [ "waistcoat", 30 ], + [ "pants_leather", 60 ], + [ "pants_cargo", 70 ], + [ "shorts_cargo", 50 ], + [ "skirt", 75 ], + [ "skirt_leather", 5 ], + [ "tshirt", 70 ], + [ "longshirt", 80 ], + [ "polo_shirt", 65 ], + [ "dress_shirt", 60 ], + [ "tank_top", 50 ], + [ "camisole", 30 ], + [ "bra", 30 ], + [ "undershirt", 30 ], + [ "boxer_shorts", 30 ], + [ "briefs", 15 ], + [ "boxer_briefs", 20 ], + [ "panties", 30 ], + [ "boy_shorts", 25 ], + [ "sweatshirt", 75 ], + [ "sweater", 75 ], + [ "hoodie", 65 ], + [ "jacket_light", 50 ], + [ "jacket_windbreaker", 25 ], + [ "jacket_jean", 35 ], + [ "blazer", 35 ], + [ "gloves_light", 35 ], + [ "mittens", 30 ], + [ "thermal_socks", 2 ], + [ "thermal_gloves", 2 ], + [ "gloves_liner", 25 ], + [ "scarf", 45 ], + [ "scarf_long", 1 ], + [ "hat_cotton", 45 ], + [ "hat_knit", 25 ], + [ "hat_newsboy", 20 ], + [ "under_armor", 20 ], + [ "under_armor_shorts", 20 ], + [ "tights", 20 ], + [ "leggings", 20 ], + [ "stockings", 20 ], + [ "long_underpants", 40 ], + [ "long_undertop", 40 ], + [ "union_suit", 20 ], + [ "arm_warmers", 20 ], + [ "leg_warmers", 20 ], + [ "corset", 10 ], + [ "pants_army", 10 ], + [ "army_top", 20 ], + [ "tux", 1 ], + [ "gown", 1 ], + [ "jersey", 40 ], + [ "maid_dress", 3 ], + [ "halter_top", 50 ], + [ "linuxtshirt", 20 ], + [ "kilt", 5 ], + [ "nanoskirt", 10 ], + [ "robe", 50 ] + ] + }, + { + "type": "item_group", + "id": "common_gloves", + "items": [ + { "item": "gloves_light", "prob": 15 }, + { "item": "gloves_leather", "prob": 15 }, + { "item": "gloves_golf", "prob": 15 }, + { "item": "gloves_wool", "prob": 15 }, + { "item": "gloves_winter", "prob": 10 }, + { "item": "gloves_fingerless", "prob": 15 }, + { "item": "gloves_liner", "prob": 15 }, + { "item": "mittens", "prob": 5 }, + { "item": "thermal_gloves", "prob": 2 } + ] + }, + { + "id": "dollar_clothes", + "type": "item_group", + "items": [ + [ "bandana", 25 ], + [ "boxer_shorts", 25 ], + [ "boxer_briefs", 25 ], + [ "boy_shorts", 25 ], + [ "bra", 25 ], + [ "socks", 45 ], + [ "stockings", 20 ], + [ "hat_cotton", 35 ], + [ "copper_bracelet", 10 ], + [ "sunglasses", 25 ], + [ "tieclip", 15 ], + [ "hairpin", 15 ] + ] + }, + { + "id": "desks_bedroom_unisex", + "type": "item_group", + "//": "clothing and wearable items for domestic desks, tables, etc.", + "subtype": "collection", + "items": [ + { "group": "accesories_personal_unisex", "prob": 70, "count": [ 1, 4 ] }, + { "group": "accesories_personal_womens", "prob": 50 }, + { "group": "accesories_personal_mens", "prob": 50 }, + { "group": "masks_unisex", "prob": 20 }, + { "group": "socks_unisex", "prob": 60 }, + { "group": "scarfs_unisex", "prob": 30 }, + { "group": "gloves_womens", "prob": 10 }, + { "group": "gloves_unisex", "prob": 30 }, + { "group": "hats_unisex", "prob": 50 } + ] + }, + { + "id": "wardrobe_mens", + "type": "item_group", + "//": "clothing found in a man's wardrobe", + "subtype": "collection", + "items": [ + { "group": "shoes_unisex", "prob": 50 }, + { "item": "fishing_waders", "prob": 3 }, + { "item": "kilt", "prob": 10 }, + { "item": "football_armor", "prob": 10 }, + { "item": "sleeping_bag", "prob": 10 }, + { "item": "sleeping_bag_roll", "prob": 10 }, + { "item": "bscabbard", "prob": 5 }, + { "item": "kilt_leather", "prob": 5 }, + { "item": "chaps_leather", "prob": 5 }, + { "group": "coats_unisex", "prob": 50 }, + { "group": "suits_unisex", "prob": 30 }, + { "group": "suits_mens", "prob": 30 }, + { "group": "bags_unisex", "prob": 20 } + ] + }, + { + "id": "wardrobe_womens", + "type": "item_group", + "//": "clothing found in a woman's wardrobe", + "subtype": "collection", + "items": [ + { "group": "shoes_unisex", "prob": 50 }, + { "group": "shoes_womens", "prob": 60 }, + { "item": "fishing_waders", "prob": 2 }, + { "item": "football_armor", "prob": 5 }, + { "item": "skirt", "prob": 20 }, + { "item": "skirt_leather", "prob": 10 }, + { "item": "bscabbard", "prob": 3 }, + { "item": "sleeping_bag", "prob": 10 }, + { "item": "sleeping_bag_roll", "prob": 10 }, + { "item": "chaps_leather", "prob": 5 }, + { "group": "coats_unisex", "prob": 50 }, + { "group": "suits_unisex", "prob": 30 }, + { "group": "suits_womens", "prob": 40 }, + { "group": "bags_unisex", "prob": 20 } + ] + }, + { + "id": "dresser_mens", + "type": "item_group", + "//": "clothing found in a man's dresser", + "subtype": "collection", + "items": [ + { "group": "accesories_personal_unisex", "prob": 10 }, + { "group": "accesories_personal_mens", "prob": 10 }, + { "group": "masks_unisex", "prob": 5 }, + { "group": "socks_unisex", "prob": 70 }, + { "group": "scarfs_unisex", "prob": 20 }, + { "group": "shirts_unisex", "prob": 50 }, + { "group": "underwear_mens", "prob": 80 }, + { "group": "underwear_unisex", "prob": 80 }, + { "group": "pants_unisex", "prob": 50 }, + { "group": "pants_mens", "prob": 60 }, + { "group": "gloves_unisex", "prob": 20 } + ] + }, + { + "id": "dresser_womens", + "type": "item_group", + "//": "clothing found in a woman's dresser", + "subtype": "collection", + "items": [ + { "group": "accesories_personal_unisex", "prob": 30 }, + { "group": "accesories_personal_womens", "prob": 5 }, + { "group": "masks_unisex", "prob": 5 }, + { "group": "socks_unisex", "prob": 70 }, + { "group": "scarfs_unisex", "prob": 10 }, + { "group": "shirts_womens", "prob": 60 }, + { "group": "shirts_unisex", "prob": 50 }, + { "group": "underwear_womens", "prob": 80 }, + { "group": "underwear_unisex", "prob": 80 }, + { "group": "pants_unisex", "prob": 50 }, + { "group": "pants_womens", "prob": 60 }, + { "group": "gloves_womens", "prob": 5 }, + { "group": "gloves_unisex", "prob": 30 } + ] + }, + { + "id": "unisex_coat_rack", + "type": "item_group", + "//": "clothing found on a coat rack", + "subtype": "collection", + "items": [ + { "group": "scarfs_unisex", "prob": 30 }, + { "group": "bags_unisex", "prob": 20 }, + { "group": "coats_unisex", "prob": 70 }, + { "group": "hats_unisex", "prob": 70 } + ] + }, + { + "id": "hats_unisex", + "type": "item_group", + "//": "unisex hats for domestic locations", + "subtype": "distribution", + "items": [ + { + "distribution": [ + { "item": "tricorne", "prob": 5 }, + { "item": "10gal_hat", "prob": 30 }, + { "item": "tophat", "prob": 10 }, + { "item": "hat_sombrero", "prob": 10 } + ], + "prob": 5 + }, + { + "distribution": [ { "item": "kippah", "prob": 33 }, { "item": "turban", "prob": 33 }, { "item": "kufi", "prob": 33 } ], + "prob": 10 + }, + { + "distribution": [ + { "item": "helmet_motor", "prob": 20 }, + { "item": "helmet_bike", "prob": 50 }, + { "item": "headgear", "prob": 10 }, + { "item": "helmet_ball", "prob": 15 }, + { "item": "wetsuit_hood", "prob": 5 } + ], + "prob": 30 + }, + { + "distribution": [ + { "item": "hat_hunting", "prob": 20 }, + { "item": "hat_faux_fur", "prob": 10 }, + { "item": "hat_fur", "prob": 5 }, + { "item": "hat_boonie", "prob": 15 }, + { "item": "cowl_wool", "prob": 15 }, + { "item": "hood_rain", "prob": 25 } + ], + "prob": 50 + }, + { + "distribution": [ + { "item": "bowhat", "prob": 10 }, + { "item": "fedora", "prob": 40 }, + { "item": "hat_newsboy", "prob": 5 }, + { "item": "cowboy_hat", "prob": 20 }, + { "item": "straw_fedora", "prob": 5 }, + { "item": "hat_golf", "prob": 15 }, + { "item": "straw_hat", "prob": 15 }, + { "item": "beret_wool", "prob": 5 }, + { "item": "beret", "prob": 10 }, + { "item": "porkpie", "prob": 15 } + ], + "prob": 50 + }, + { "item": "hat_knit", "prob": 30 }, + { "item": "hat_cotton", "prob": 40 }, + { "item": "hat_ball", "prob": 50 } + ] + }, + { + "id": "masks_unisex", + "type": "item_group", + "//": "unisex masks for domestic locations", + "subtype": "distribution", + "items": [ + { "item": "bondage_mask", "prob": 10 }, + { "item": "mask_dust", "prob": 15 }, + { "item": "mask_guy_fawkes", "prob": 10 }, + { "item": "mask_hockey", "prob": 15 }, + { "item": "mouthpiece", "prob": 5 }, + { "item": "mask_filter", "prob": 5 } + ] + }, + { + "id": "socks_unisex", + "type": "item_group", + "//": "unisex socks", + "subtype": "distribution", + "items": [ { "item": "socks", "prob": 70 }, { "item": "socks_wool", "prob": 30 }, { "item": "thermal_socks", "prob": 10 } ] + }, + { + "id": "scarfs_unisex", + "type": "item_group", + "//": "unisex scarfs and fabric coverings", + "subtype": "distribution", + "items": [ + { "item": "bandana", "prob": 90 }, + { "item": "balclava", "prob": 50 }, + { "item": "headscarf", "prob": 50 }, + { "item": "scarf_fur_long", "prob": 10 }, + { "item": "scarf_fur", "prob": 20 }, + { "item": "scarf", "prob": 80 }, + { "item": "scarf_long", "prob": 40 }, + { "item": "long_knit_scarf", "prob": 40 }, + { "item": "knit_scarf", "prob": 80 }, + { "item": "keffiyeh", "prob": 30 }, + { "item": "mask_ski", "prob": 30 }, + { "item": "thermal_mask", "prob": 5 }, + { "item": "blindfold", "prob": 5 } + ] + }, + { + "id": "shirts_unisex", + "type": "item_group", + "//": "unisex shirts", + "subtype": "distribution", + "items": [ + { "item": "longshirt", "prob": 70 }, + { "item": "arm_warmers", "prob": 20 }, + { "item": "armguard_soft", "prob": 10 }, + { "item": "dress_shirt", "prob": 50 }, + { "item": "flag_shirt", "prob": 15 }, + { "item": "jersey", "prob": 30 }, + { "item": "linuxtshirt", "prob": 10 }, + { "item": "polo_shirt", "prob": 30 }, + { "item": "thermal_shirt", "prob": 20 }, + { "item": "sleeveless_tunic", "prob": 10 }, + { "item": "sweater", "prob": 40 }, + { "item": "sweatshirt", "prob": 50 }, + { "item": "tank_top", "prob": 30 }, + { "item": "tshirt", "prob": 80 }, + { "item": "tshirt_text", "prob": 50 }, + { "item": "tunic", "prob": 10 }, + { "item": "waistcoat", "prob": 10 }, + { "item": "wool_hoodie", "prob": 10 }, + { "item": "hoodie", "prob": 40 } + ] + }, + { + "id": "shirts_womens", + "type": "item_group", + "//": "womens shirts", + "subtype": "distribution", + "items": [ { "item": "halter_top", "prob": 30 } ] + }, + { + "id": "underwear_unisex", + "type": "item_group", + "//": "unisex underwear", + "subtype": "distribution", + "items": [ + { "item": "thermal_suit", "prob": 15 }, + { "item": "thermal_outfit", "prob": 5 }, + { "item": "long_undertop", "prob": 30 }, + { "item": "under_armor", "prob": 10 }, + { "item": "undershirt", "prob": 40 }, + { "item": "under_armor_shorts", "prob": 10 }, + { "item": "long_underpants", "prob": 30 } + ] + }, + { + "id": "underwear_womens", + "type": "item_group", + "//": "womens underwear.", + "subtype": "distribution", + "items": [ + { "item": "bikini_bottom", "prob": 20 }, + { "item": "boy_shorts", "prob": 30 }, + { "item": "bra", "prob": 60 }, + { "item": "panties", "prob": 70 }, + { "item": "bikini_top", "prob": 20 }, + { "item": "bikini_top_fur", "prob": 5 }, + { "item": "bikini_top_leather", "prob": 10 }, + { "item": "camisole", "prob": 30 }, + { "item": "corset", "prob": 10 }, + { "item": "sports_bra", "prob": 50 }, + { "item": "stockings", "prob": 20 }, + { "item": "tights", "prob": 20 } + ] + }, + { + "id": "underwear_mens", + "type": "item_group", + "//": "mens underwear.", + "subtype": "distribution", + "items": [ + { "item": "boxer_briefs", "prob": 30 }, + { "item": "boxer_shorts", "prob": 50 }, + { "item": "briefs", "prob": 50 }, + { "item": "trunks", "prob": 10 } + ] + }, + { + "id": "pants_unisex", + "type": "item_group", + "//": "pants and leg coverings for domestic locations.", + "subtype": "distribution", + "items": [ + { + "distribution": [ + { "item": "hot_pants", "prob": 40 }, + { "item": "hot_pants_fur", "prob": 5 }, + { "item": "hot_pants_leather", "prob": 35 } + ], + "prob": 10 + }, + { + "distribution": [ + { "item": "chaps_leather", "prob": 30 }, + { "item": "motorbike_pants", "prob": 35 }, + { "item": "breeches", "prob": 25 }, + { "item": "pants_ski", "prob": 45 }, + { "item": "pants_checkered", "prob": 55 }, + { "item": "pants_fur", "prob": 5 }, + { "item": "pants_faux_fur", "prob": 15 } + ], + "prob": 20 + }, + { "item": "jeans", "prob": 80 }, + { "item": "jeans_red", "prob": 20 }, + { "item": "leg_warmers", "prob": 20 }, + { "item": "leggings", "prob": 30 }, + { "item": "legguard_hard", "prob": 3 }, + { "item": "pants", "prob": 70 }, + { "item": "pants_cargo", "prob": 60 }, + { "item": "pants_leather", "prob": 20 }, + { "item": "shorts", "prob": 50 }, + { "item": "shorts_cargo", "prob": 60 }, + { "item": "shorts_denim", "prob": 40 }, + { "item": "b_shorts", "prob": 60 } + ] + }, + { + "id": "pants_womens", + "type": "item_group", + "//": "womens pants and leg coverings for domestic locations.", + "subtype": "distribution", + "items": [ { "item": "nanoskirt", "prob": 10 }, { "item": "skirt", "prob": 50 }, { "item": "skirt_leather", "prob": 10 } ] + }, + { + "id": "pants_mens", + "type": "item_group", + "//": "mens pants and leg coverings for domestic locations.", + "subtype": "distribution", + "items": [ { "item": "kilt", "prob": 10 }, { "item": "kilt_leather", "prob": 5 } ] + }, + { + "id": "gloves_unisex", + "type": "item_group", + "//": "gloves and mittens for domestic locations.", + "subtype": "distribution", + "items": [ + { "item": "gloves_leather", "prob": 60 }, + { "item": "gloves_light", "prob": 60 }, + { "item": "gloves_fingerless", "prob": 40 }, + { "item": "gloves_wool", "prob": 25 }, + { "item": "gloves_winter", "prob": 15 }, + { "item": "mittens", "prob": 30 }, + { "item": "gloves_work", "prob": 20 }, + { "item": "gloves_golf", "prob": 10 }, + { "item": "wetsuit_gloves", "prob": 5 }, + { "item": "gloves_fur", "prob": 5 }, + { "item": "thermal_gloves", "prob": 2 } + ] + }, + { + "id": "gloves_womens", + "type": "item_group", + "//": "womens gloves and mittens for domestic locations.", + "subtype": "distribution", + "items": [ { "item": "long_glove_white", "prob": 5 } ] + }, + { + "id": "bags_unisex", + "type": "item_group", + "//": "worn bags of all sorts for domestic buildings", + "subtype": "distribution", + "items": [ + { + "distribution": [ + { "item": "basket_laundry", "prob": 60 }, + { "item": "straw_basket", "prob": 35 }, + { "item": "suitcase_l", "prob": 15 }, + { "item": "suitcase_m", "prob": 25 } + ], + "prob": 20 + }, + { + "distribution": [ { "item": "2lcanteen", "prob": 50 }, { "item": "camelbak", "prob": 25 }, { "item": "canteen", "prob": 70 } ], + "prob": 5 + }, + { + "distribution": [ + { "item": "fanny", "prob": 60 }, + { "item": "mbag", "prob": 35 }, + { "item": "runner_bag", "prob": 45 }, + { "item": "slingpack", "prob": 65 }, + { "item": "purse", "prob": 70 }, + { "item": "briefcase", "prob": 40 }, + { "item": "hk_briefcase", "prob": 1 } + ], + "prob": 60 + }, + { + "distribution": [ + { "item": "case_violin", "prob": 5 }, + { "item": "quiver", "prob": 20 }, + { "item": "quiver_large", "prob": 15 }, + { "item": "solarpack", "prob": 5 }, + { "item": "ammo_satchel", "prob": 10 }, + { "item": "chestrig", "prob": 20 }, + { "item": "dive_bag", "prob": 50 }, + { "item": "petpack", "prob": 50 } + ], + "prob": 30 + }, + { + "distribution": [ + { "item": "daypack", "prob": 25 }, + { "item": "backpack_leather", "prob": 40 }, + { "item": "backpack", "prob": 85 }, + { "item": "backpack_hiking", "prob": 25 }, + { "item": "duffelbag", "prob": 80 }, + { "item": "travelpack", "prob": 25 }, + { "item": "gobag", "prob": 1 } + ], + "prob": 80 + } + ] + }, + { + "id": "suits_unisex", + "type": "item_group", + "//": "suits, full body coverage", + "subtype": "distribution", + "items": [ + { "item": "bondage_suit", "prob": 10 }, + { "item": "dinosuit", "prob": 5 }, + { "item": "yukata", "prob": 20 }, + { "item": "leotard", "prob": 40 }, + { "item": "motorbike_armor", "prob": 30 }, + { "item": "suit", "prob": 70 }, + { "item": "touring_suit", "prob": 40 }, + { "item": "wolfsuit", "prob": 5 }, + { "item": "wool_suit", "prob": 20 }, + { "item": "unitard", "prob": 60 }, + { "item": "zentai", "prob": 10 }, + { "item": "wetsuit", "prob": 5 }, + { "item": "union_suit", "prob": 40 }, + { "item": "wetsuit_spring", "prob": 5 } + ] + }, + { + "id": "suits_mens", + "type": "item_group", + "//": "suits, full body coverage for men.", + "subtype": "distribution", + "items": [ { "item": "tux", "prob": 30 }, { "item": "thawb", "prob": 10 }, { "item": "cassock", "prob": 10 } ] + }, + { + "id": "suits_womens", + "type": "item_group", + "//": "suits/dresses, full body coverage for women.", + "subtype": "distribution", + "items": [ + { "item": "dress_wedding", "prob": 5 }, + { "item": "sundress", "prob": 60 }, + { "item": "gown", "prob": 20 }, + { "item": "dress", "prob": 60 }, + { "item": "veil_wedding", "prob": 5 } + ] + }, + { + "id": "coats_unisex", + "type": "item_group", + "//": "unisex coats, jackets, cloaks, etc.", + "subtype": "distribution", + "items": [ + { + "distribution": [ + { "item": "cloak", "prob": 80 }, + { "item": "cloak_wool", "prob": 40 }, + { "item": "cloak_leather", "prob": 20 }, + { "item": "cloak_fur", "prob": 10 }, + { "item": "jedi_cloak", "prob": 5 } + ], + "prob": 20 + }, + { + "distribution": [ + { "item": "duster", "prob": 80 }, + { "item": "duster_leather", "prob": 60 }, + { "item": "duster_faux_fur", "prob": 30 }, + { "item": "duster_fur", "prob": 5 }, + { "item": "sleeveless_duster", "prob": 70 }, + { "item": "sleeveless_duster_leather", "prob": 50 }, + { "item": "sleeveless_duster_fur", "prob": 20 }, + { "item": "sleeveless_duster_faux_fur", "prob": 10 } + ], + "prob": 60 + }, + { + "distribution": [ + { "item": "trenchcoat", "prob": 80 }, + { "item": "trenchcoat_leather", "prob": 60 }, + { "item": "trenchcoat_faux_fur", "prob": 30 }, + { "item": "trenchcoat_fur", "prob": 5 }, + { "item": "sleeveless_trenchcoat", "prob": 40 }, + { "item": "sleeveless_trenchcoat_leather", "prob": 30 }, + { "item": "sleeveless_trenchcoat_fur", "prob": 10 }, + { "item": "sleeveless_trenchcoat_faux_fur", "prob": 20 } + ], + "prob": 40 + }, + { + "distribution": [ + { "item": "coat_rain", "prob": 80 }, + { "item": "coat_winter", "prob": 50 }, + { "item": "peacoat", "prob": 50 }, + { "item": "greatcoat", "prob": 35 }, + { "item": "coat_faux_fur", "prob": 20 }, + { "item": "coat_fur", "prob": 10 }, + { "item": "coat_fur_sf", "prob": 5 } + ], + "prob": 80 + }, + { + "distribution": [ + { "item": "jacket_jean", "prob": 80 }, + { "item": "jacket_flannel", "prob": 50 }, + { "item": "jacket_leather", "prob": 50 }, + { "item": "jacket_leather_red", "prob": 25 }, + { "item": "jacket_light", "prob": 60 }, + { "item": "jacket_windbreaker", "prob": 70 }, + { "item": "poncho", "prob": 30 }, + { "item": "ski_jacket", "prob": 25 } + ], + "prob": 60 + }, + { + "distribution": [ { "item": "house_coat", "prob": 80 }, { "item": "kimono", "prob": 20 }, { "item": "robe", "prob": 10 } ], + "prob": 30 + }, + { + "distribution": [ + { "item": "vest", "prob": 80 }, + { "item": "vest_leather", "prob": 20 }, + { "item": "army_top", "prob": 40 }, + { "item": "blazer", "prob": 70 } + ], + "prob": 40 + } + ] + }, + { + "id": "shoes_unisex", + "type": "item_group", + "//": "unisex shoes (there are no men's only shoes)", + "subtype": "distribution", + "items": [ + { + "distribution": [ + { "item": "boots", "prob": 80 }, + { "item": "boots_hiking", "prob": 50 }, + { "item": "boots_steel", "prob": 50 }, + { "item": "boots_combat", "prob": 45 }, + { "item": "boots_fur", "prob": 10 }, + { "item": "boots_western", "prob": 40 }, + { "item": "boots_winter", "prob": 30 }, + { "item": "knee_high_boots", "prob": 15 }, + { "item": "motorbike_boots", "prob": 35 }, + { "item": "thigh_high_boots", "prob": 5 } + ], + "prob": 60 + }, + { + "distribution": [ + { "item": "bastsandals", "prob": 20 }, + { "item": "straw_sandals", "prob": 20 }, + { "item": "flip_flops", "prob": 40 }, + { "item": "leathersandals", "prob": 35 } + ], + "prob": 60 + }, + { + "distribution": [ + { "item": "cleats", "prob": 20 }, + { "item": "golf_shoes", "prob": 20 }, + { "item": "dance_shoes", "prob": 30 }, + { "item": "roller_blades", "prob": 35 }, + { "item": "rollerskates", "prob": 35 }, + { "item": "roller_shoes_off", "prob": 45 } + ], + "prob": 20 + }, + { + "distribution": [ + { "item": "dress_shoes", "prob": 50 }, + { "item": "lowtops", "prob": 30 }, + { "item": "mocassins", "prob": 10 }, + { "item": "sneakers", "prob": 35 } + ], + "prob": 70 + }, + { + "distribution": [ + { "item": "boots_rubber", "prob": 50 }, + { "item": "clogs", "prob": 20 }, + { "item": "geta", "prob": 10 }, + { "item": "slippers", "prob": 75 } + ], + "prob": 70 + } + ] + }, + { + "id": "shoes_womens", + "type": "item_group", + "//": "womens only shoes", + "subtype": "distribution", + "items": [ { "item": "heels", "prob": 100 } ] + }, + { + "id": "accesories_personal_unisex", + "type": "item_group", + "//": "unisex personal accessories", + "subtype": "collection", + "items": [ + { "group": "clothing_glasses", "prob": 10 }, + { "group": "clothing_watch", "prob": 10 }, + { + "distribution": [ + { "item": "ring_wedding", "prob": 50, "count": [ 1, 2 ] }, + { "item": "copper_ring", "prob": 80, "count": [ 1, 3 ] }, + { "item": "silver_ring", "prob": 50, "count": [ 1, 3 ] }, + { "item": "gold_ring", "prob": 40, "count": [ 1, 3 ] }, + { "item": "diamond_ring", "prob": 10 }, + { "item": "platinum_ring", "prob": 10 } + ], + "prob": 15 + }, + { + "distribution": [ + { "item": "ear_spool", "prob": 20, "count": [ 1, 2 ] }, + { "item": "bead_ear", "prob": 70, "count": [ 1, 2 ] }, + { "item": "copper_ear", "prob": 60, "count": [ 1, 2 ] }, + { "item": "silver_ear", "prob": 40, "count": [ 1, 2 ] }, + { "item": "gold_ear", "prob": 40, "count": [ 1, 2 ] }, + { "item": "platinum_ear", "prob": 10 }, + { "item": "ear_plugs", "prob": 40 }, + { "item": "attached_ear_plugs_off", "prob": 30 } + ] + }, + { + "distribution": [ + { "item": "bead_bracelet", "prob": 80, "count": [ 1, 2 ] }, + { "item": "bracelet_friendship", "prob": 60, "count": [ 1, 2 ] }, + { "item": "copper_bracelet", "prob": 50, "count": [ 1, 2 ] }, + { "item": "silver_bracelet", "prob": 40, "count": [ 1, 2 ] }, + { "item": "gold_bracelet", "prob": 10, "count": [ 1, 2 ] }, + { "item": "platinum_bracelet", "prob": 10 } + ], + "prob": 15 + }, + { + "distribution": [ + { "item": "gold_dental_grill", "prob": 50, "count": [ 1, 2 ] }, + { "item": "platinum_dental_grill", "prob": 30, "count": [ 1, 2 ] }, + { "item": "diamond_dental_grill", "prob": 10 } + ], + "prob": 15 + }, + { + "distribution": [ + { "item": "bead_necklace", "prob": 80, "count": [ 1, 2 ] }, + { "item": "copper_necklace", "prob": 60, "count": [ 1, 2 ] }, + { "item": "silver_necklace", "prob": 40, "count": [ 1, 2 ] }, + { "item": "gold_necklace", "prob": 20, "count": [ 1, 2 ] }, + { "item": "platinum_necklace", "prob": 10, "count": [ 1, 2 ] }, + { "item": "copper_locket", "prob": 60, "count": [ 1, 2 ] }, + { "item": "silver_locket", "prob": 40, "count": [ 1, 2 ] }, + { "item": "gold_locket", "prob": 20, "count": [ 1, 2 ] }, + { "item": "platinum_locket", "prob": 10, "count": [ 1, 2 ] }, + { "item": "collarpin", "prob": 10 }, + { "item": "bronze_medal", "prob": 6 }, + { "item": "silver_medal", "prob": 4 }, + { "item": "gold_medal", "prob": 2 }, + { "item": "small_relic", "prob": 10 }, + { "item": "holy_symbol", "prob": 10 }, + { "item": "holy_symbol_wood", "prob": 10 } + ], + "prob": 15 + }, + { + "distribution": [ + { "item": "faux_fur_cat_ears", "prob": 80 }, + { "item": "leather_cat_ears", "prob": 50 }, + { "item": "fur_cat_ears", "prob": 10 }, + { "item": "faux_fur_cat_tail", "prob": 80 }, + { "item": "leather_cat_tail", "prob": 50 }, + { "item": "fur_cat_tail", "prob": 10 }, + { "item": "faux_fur_collar", "prob": 80 }, + { "item": "leather_collar", "prob": 50 }, + { "item": "fur_collar", "prob": 10 } + ], + "prob": 15 + }, + { + "distribution": [ + { "item": "bootstrap", "prob": 20 }, + { "item": "bootsheath", "prob": 50 }, + { "item": "sheath", "prob": 80 }, + { "item": "back_holster", "prob": 10 }, + { "item": "holster", "prob": 30 }, + { "item": "sholster", "prob": 10 }, + { "item": "bholster", "prob": 10 } + ], + "prob": 15 + }, + { + "distribution": [ + { "item": "elbow_pads", "prob": 50 }, + { "item": "knee_pads", "prob": 50 }, + { "item": "iggaak", "prob": 5 }, + { "item": "goggles_swim", "prob": 10 }, + { "item": "glasses_bal", "prob": 10 }, + { "item": "eclipse_glasses", "prob": 5 }, + { "item": "goggles_ski", "prob": 10 } + ], + "prob": 15 + }, + { "item": "folding_poncho", "prob": 10 }, + { "item": "american_flag", "prob": 2 }, + { "item": "tool_belt", "prob": 10 }, + { "item": "leather_belt", "prob": 60 }, + { "item": "wearable_light", "prob": 30 }, + { "item": "binoculars", "prob": 10 }, + { "item": "whistle", "prob": 30 }, + { "item": "harmonica_holder", "prob": 10 }, + { "group": "flask_liquor", "prob": 10 } + ] + }, + { + "id": "accesories_personal_womens", + "type": "item_group", + "//": "womens personal accessories", + "subtype": "distribution", + "items": [ + { "item": "hairpin", "prob": 90 }, + { "item": "fc_hairpin", "prob": 70 }, + { "item": "copper_hairpin", "prob": 60 }, + { "item": "silver_hairpin", "prob": 50 }, + { "item": "gold_hairpin", "prob": 30 }, + { "item": "platinum_hairpin", "prob": 10 }, + { "item": "ring_engagement", "prob": 5 }, + { "item": "ring_purity", "prob": 10 }, + { "item": "barrette", "prob": 60 }, + { "item": "pearl_collar", "prob": 5 }, + { "item": "jade_brooch", "prob": 5 } + ] + }, + { + "id": "accesories_personal_mens", + "type": "item_group", + "//": "men's personal accessories", + "subtype": "distribution", + "items": [ + { "item": "tie_bow", "prob": 30 }, + { "item": "tie_clipon", "prob": 10 }, + { "item": "tie_necktie", "prob": 80 }, + { "item": "tieclip", "prob": 20 }, + { "item": "cufflinks", "prob": 20 }, + { "item": "cufflinks_intricate", "prob": 5 }, + { "item": "ring_signet", "prob": 30 }, + { "item": "tie_skinny", "prob": 20 } + ] } ] diff --git a/data/json/itemgroups/defense_mode.json b/data/json/itemgroups/defense_mode.json index 8294c120df6a8..a0cd99314e559 100644 --- a/data/json/itemgroups/defense_mode.json +++ b/data/json/itemgroups/defense_mode.json @@ -27,7 +27,7 @@ { "item": "crossbow" }, { "item": "marlin_9a" }, { "item": "hk_mp5" }, - { "item": "taurus_38" }, + { "item": "taurus_spectrum" }, { "item": "deagle_44" }, { "item": "m1911" }, { "item": "hk_ump45" }, diff --git a/data/json/itemgroups/drugs.json b/data/json/itemgroups/drugs.json index 9c75e9970983c..ccb941e8d8c58 100644 --- a/data/json/itemgroups/drugs.json +++ b/data/json/itemgroups/drugs.json @@ -53,6 +53,7 @@ "items": [ [ "adderall", 100 ], [ "antibiotics", 100 ], + [ "strong_antibiotic", 45 ], [ "antifungal", 100 ], [ "antiparasitic", 100 ], [ "diazepam", 100 ], diff --git a/data/json/itemgroups/food.json b/data/json/itemgroups/food.json index 263b970e5b2a4..65c6a64fae8dc 100644 --- a/data/json/itemgroups/food.json +++ b/data/json/itemgroups/food.json @@ -145,8 +145,59 @@ [ "strawberries", 2 ], [ "raspberries", 7 ], [ "blackberries", 7 ], + [ "cholla_bud", 3 ], [ "garlic", 3 ], [ "pine_nuts", 2 ] ] + }, + { + "type": "item_group", + "id": "softdrinks_canned", + "items": [ + [ "cola", 60 ], + [ "colamdew", 55 ], + [ "creamsoda", 50 ], + [ "lemonlime", 50 ], + [ "orangesoda", 45 ], + [ "rootbeer", 40 ], + [ "crispycran", 35 ], + [ "purple_drink", 35 ], + [ "choc_drink", 25 ] + ] + }, + { + "type": "item_group", + "id": "candy_chocolate", + "items": [ + [ "chocolate", 70 ], + [ "candy", 70 ], + [ "candy2", 70 ], + [ "candy3", 70 ], + [ "maltballs", 60 ], + [ "mintpatties", 60 ], + [ "neccowafers", 55 ], + [ "powder_candy", 50 ], + [ "candycigarette", 15 ], + [ "maple_candy", 10 ] + ] + }, + { + "type": "item_group", + "id": "salty_snacks", + "items": [ + [ "chips", 65 ], + [ "chips2", 65 ], + [ "chips3", 65 ], + [ "pretzels", 55 ], + [ "jerky", 55 ], + [ "porkstick", 55 ], + [ "nachos", 50 ], + [ "chocpretzels", 40 ], + [ "popcorn", 25 ], + [ "popcorn2", 35 ], + [ "popcorn3", 35 ], + [ "cracklins", 25 ], + [ "fried_seeds", 25 ] + ] } ] diff --git a/data/json/itemgroups/food_service.json b/data/json/itemgroups/food_service.json index 7bd38c3bee335..63f2bcc83720c 100644 --- a/data/json/itemgroups/food_service.json +++ b/data/json/itemgroups/food_service.json @@ -130,8 +130,7 @@ [ "oj", 40 ], [ "juice", 35 ], [ "cranberry_juice", 35 ], - [ "cola", 50 ], - [ "lemonlime", 45 ], + { "group": "softdrinks_canned", "prob": 95 }, [ "V8", 15 ], [ "fries", 7 ], [ "cheese_fries", 5 ], @@ -247,18 +246,7 @@ { "id": "pizza_soda", "type": "item_group", - "items": [ - [ "purple_drink", 3 ], - [ "crispycran", 7 ], - [ "rootbeer", 15 ], - [ "colamdew", 9 ], - [ "orangesoda", 10 ], - [ "lemonlime", 9 ], - [ "creamsoda", 9 ], - [ "cola", 9 ], - [ "energy_drink", 5 ], - [ "lemonade", 8 ] - ] + "items": [ { "group": "softdrinks_canned", "prob": 70 }, [ "energy_drink", 5 ], [ "lemonade", 8 ] ] }, { "id": "pizza_table", @@ -284,7 +272,7 @@ [ "towel", 15 ], [ "soap", 15 ], [ "detergent", 15 ], - [ "bleach", 15 ], + { "item": "bleach", "prob": 15, "charges-min": 1 }, [ "broom", 13 ], [ "dinosuit", 7 ], [ "hat_ball", 19 ], @@ -416,7 +404,7 @@ [ "detergent", 8 ], [ "rag", 15 ], [ "broom", 8 ], - [ "bleach", 8 ], + { "item": "bleach", "prob": 8, "charges-min": 1 }, [ "hotplate", 1 ], [ "vinegar", 3 ] ] @@ -460,13 +448,7 @@ [ "cheeseburger", 15 ], [ "hamburger", 15 ], [ "fish_sandwich", 10 ], - [ "cola", 15 ], - [ "lemonlime", 10 ], - [ "orangesoda", 10 ], - [ "crispycran", 10 ], - [ "rootbeer", 13 ], - [ "colamdew", 10 ], - [ "lemonade", 7 ] + { "group": "softdrinks_canned", "prob": 75 } ] }, { @@ -533,7 +515,7 @@ [ "soap", 30 ], [ "detergent", 30 ], [ "rag", 30 ], - [ "bleach", 30 ], + { "item": "bleach", "prob": 30, "charges-min": 1 }, [ "vinegar", 30 ], [ "backpack", 5 ] ] @@ -621,15 +603,8 @@ [ "sports_drink", 40 ], [ "energy_drink", 40 ], [ "energy_drink_atomic", 5 ], - [ "cola", 35 ], - [ "creamsoda", 30 ], - [ "lemonlime", 40 ], - [ "orangesoda", 30 ], - [ "colamdew", 40 ], - [ "rootbeer", 30 ], + { "group": "softdrinks_canned", "prob": 290 }, [ "spezi", 10 ], - [ "crispycran", 35 ], - [ "purple_drink", 50 ], { "item": "cola", "prob": 30, "container-item": "bottle_plastic" }, { "item": "creamsoda", "prob": 20, "container-item": "bottle_plastic" }, { "item": "lemonlime", "prob": 20, "container-item": "bottle_plastic" }, @@ -1056,7 +1031,8 @@ [ "tongs", 10 ], [ "carver_off", 5 ], [ "meat", 1 ], - [ "hacksaw", 10 ] + [ "hacksaw", 10 ], + [ "gloves_cut_resistant", 10 ] ] } ] diff --git a/data/json/itemgroups/guns.json b/data/json/itemgroups/guns.json index 7e9a73e299d6b..84ee65c7ad9c5 100644 --- a/data/json/itemgroups/guns.json +++ b/data/json/itemgroups/guns.json @@ -15,6 +15,7 @@ { "item": "sw_22", "prob": 15, "charges-min": 0, "charges-max": 10 }, { "item": "sw_610", "prob": 20, "charges-min": 0, "charges-max": 6 }, { "item": "sw_619", "prob": 25, "charges-min": 0, "charges-max": 7 }, + { "item": "taurus_spectrum", "prob": 15, "charges-min": 0, "charges-max": 6 }, { "item": "p226_357sig", "prob": 20, "charges-min": 0, "charges-max": 15 }, { "item": "p320_357sig", "prob": 10, "charges-min": 0, "charges-max": 14 }, { "item": "kp32", "prob": 10, "charges-min": 0, "charges-max": 7 }, @@ -56,7 +57,6 @@ { "item": "sig_p230", "prob": 45, "charges-min": 0, "charges-max": 8 }, { "item": "sw_500", "prob": 25, "charges-min": 0, "charges-max": 5 }, { "item": "sw629", "prob": 40, "charges-min": 0, "charges-max": 6 }, - { "item": "taurus_38", "prob": 35, "charges-min": 0, "charges-max": 10 }, { "item": "usp_45", "prob": 70, "charges-min": 0, "charges-max": 12 }, { "item": "usp_9mm", "prob": 120, "charges-min": 0, "charges-max": 15 } ] diff --git a/data/json/itemgroups/item_groups.json b/data/json/itemgroups/item_groups.json index 7d91a1f5d2e86..741e858df2c12 100644 --- a/data/json/itemgroups/item_groups.json +++ b/data/json/itemgroups/item_groups.json @@ -3,27 +3,14 @@ "type": "item_group", "id": "child_items", "items": [ - [ "chocolate", 50 ], - [ "candy", 60 ], - [ "candy2", 60 ], - [ "candy3", 60 ], - [ "maple_candy", 10 ], + { "group": "candy_chocolate", "prob": 360 }, [ "toastem", 10 ], [ "toastem2", 10 ], [ "toastem3", 12 ], - [ "powder_candy", 40 ], - [ "neccowafers", 50 ], - [ "maltballs", 50 ], [ "cookies", 80 ], [ "crack", 8 ], [ "bat", 60 ], - [ "purple_drink", 12 ], - [ "cola", 6 ], - [ "creamsoda", 6 ], - [ "lemonlime", 6 ], - [ "orangesoda", 5 ], - [ "crispycran", 12 ], - [ "colamdew", 8 ], + { "group": "softdrinks_canned", "prob": 55 }, { "item": "cola", "prob": 6, "container-item": "bottle_plastic" }, { "item": "creamsoda", "prob": 6, "container-item": "bottle_plastic" }, { "item": "lemonlime", "prob": 6, "container-item": "bottle_plastic" }, @@ -55,7 +42,6 @@ [ "novel_pulp", 16 ], [ "fairy_tales", 20 ], [ "mag_comic", 20 ], - [ "candycigarette", 10 ], [ "radio_car_box", 1 ], [ "basketball", 8 ], [ "radiocontrol", 5 ], @@ -203,20 +189,12 @@ "ammo": 50, "magazine": 100, "items": [ - [ "rootbeer", 65 ], + { "group": "softdrinks_canned", "prob": 325 }, [ "mag_computer", 35 ], - [ "purple_drink", 35 ], - [ "creamsoda", 35 ], [ "basket_laundry", 20 ], - [ "lemonlime", 35 ], - [ "orangesoda", 20 ], - [ "crispycran", 20 ], - [ "colamdew", 35 ], [ "television", 30 ], [ "clock", 10 ], [ "fp_loyalty_card", 5 ], - [ "cola", 70 ], - [ "choc_drink", 10 ], { "item": "cola", "prob": 20, "container-item": "bottle_plastic" }, { "item": "rootbeer", "prob": 20, "container-item": "bottle_plastic" }, { "item": "lemonlime", "prob": 10, "container-item": "bottle_plastic" }, @@ -386,24 +364,7 @@ [ "nic_gum", 2 ], [ "oxygen_tank", 2 ], [ "smoxygen_tank", 1 ], - [ "holybook_bible1", 4 ], - [ "holybook_bible2", 3 ], - [ "holybook_quran", 3 ], - [ "holybook_hadith", 3 ], - [ "holybook_talmud", 2 ], - [ "holybook_tanakh", 2 ], - [ "holybook_vedas", 3 ], - [ "holybook_upanishads", 3 ], - [ "holybook_tripitaka", 3 ], - [ "holybook_sutras", 3 ], - [ "holybook_granth", 2 ], - [ "holybook_mormon", 1 ], - [ "holybook_kojiki", 1 ], - [ "holybook_havamal", 1 ], - [ "holybook_pastafarian", 1 ], - [ "holybook_slack", 1 ], - [ "holybook_kallisti", 1 ], - [ "holybook_scientology", 1 ], + { "group": "religious_books", "prob": 38 }, [ "leathersandals", 25 ], [ "phonebook", 5 ], [ "survnote", 1 ], @@ -426,9 +387,8 @@ "ammo": 75, "magazine": 100, "items": [ + { "group": "snacks", "prob": 370 }, [ "aluminum_foil", 25 ], - [ "chips", 65 ], - [ "fried_seeds", 15 ], [ "rolling_pin", 25 ], [ "cereal", 50 ], [ "cereal2", 60 ], @@ -439,7 +399,6 @@ [ "clock", 10 ], [ "hat_chef", 2 ], [ "jacket_chef", 2 ], - [ "kernels", 35 ], [ "pot", 25 ], [ "sponge", 30 ], [ "pot_copper", 15 ], @@ -481,20 +440,17 @@ [ "wine_noir", 2 ], [ "wine_marsala", 2 ], [ "wine_vermouth", 9 ], - [ "syrup", 20 ], [ "sweet_sausage", 2 ], - [ "coffee_syrup", 10 ], [ "roasted_coffee_bean", 10 ], [ "bacon", 25 ], - [ "bleach", 20 ], - [ "ammonia", 24 ], + { "item": "bleach", "prob": 20, "charges-min": 1 }, + { "item": "ammonia", "prob": 24, "charges-min": 1 }, [ "flour", 60 ], [ "yeast", 50 ], [ "molasses", 15 ], [ "milk_powder", 15 ], [ "cornmeal", 40 ], [ "powder_eggs", 20 ], - [ "granola", 5 ], { "item": "protein_powder", "prob": 12, @@ -509,7 +465,6 @@ [ "fchicken", 25 ], [ "lunchmeat", 10 ], [ "bologna", 10 ], - [ "nachos", 50 ], [ "nachosc", 10 ], [ "nachosm", 10 ], [ "nachosmc", 2 ], @@ -521,14 +476,11 @@ [ "brownie", 30 ], [ "cooking_oil", 20 ], [ "cooking_oil2", 20 ], - [ "fruit_leather", 15 ], [ "sugar", 40 ], [ "lemonade_powder", 15 ], [ "salt", 40 ], [ "pepper", 30 ], [ "cinnamon", 15 ], - [ "tea_raw", 10 ], - [ "coffee_raw", 15 ], [ "funnel", 50 ], [ "vac_sealer", 10 ], [ "seasoning_italian", 25 ], @@ -536,8 +488,6 @@ [ "cookbook_italian", 25 ], [ "family_cookbook", 6 ], [ "brewing_cookbook", 4 ], - [ "chips2", 65 ], - [ "chips3", 65 ], [ "pizza_veggy", 8 ], [ "pizza_meat", 8 ], [ "pizza_cheese", 8 ], @@ -671,15 +621,7 @@ [ "cranberry_juice", 50 ], [ "sports_drink", 30 ], [ "lemonade", 50 ], - [ "cola", 70 ], - [ "choc_drink", 30 ], - [ "rootbeer", 65 ], - [ "purple_drink", 35 ], - [ "creamsoda", 35 ], - [ "lemonlime", 35 ], - [ "orangesoda", 20 ], - [ "crispycran", 20 ], - [ "colamdew", 35 ], + { "group": "softdrinks_canned", "prob": 345 }, { "item": "cola", "prob": 15, "container-item": "bottle_twoliter" }, { "item": "creamsoda", "prob": 15, "container-item": "bottle_twoliter" }, { "item": "lemonlime", "prob": 15, "container-item": "bottle_twoliter" }, @@ -996,16 +938,11 @@ [ "firecracker", 5 ], [ "fried_seeds", 30 ], [ "chips", 65 ], - [ "cola", 70 ], - [ "lemonlime", 70 ], - [ "orangesoda", 60 ], - [ "crispycran", 30 ], - [ "creamsoda", 70 ], - [ "colamdew", 70 ], - [ "choc_drink", 10 ], + { "group": "softdrinks_canned", "prob": 380 }, [ "picklocks", 10 ], [ "wolfsuit", 4 ], [ "dinosuit", 4 ], + [ "zentai", 4 ], [ "glowstick", 60 ], [ "handflare", 40 ], [ "blanket", 10 ], @@ -1053,24 +990,7 @@ [ "alarmclock", 30 ], [ "maid_dress", 3 ], [ "maid_hat", 3 ], - [ "holybook_bible1", 4 ], - [ "holybook_bible2", 3 ], - [ "holybook_quran", 3 ], - [ "holybook_hadith", 3 ], - [ "holybook_talmud", 2 ], - [ "holybook_tanakh", 2 ], - [ "holybook_vedas", 3 ], - [ "holybook_upanishads", 3 ], - [ "holybook_tripitaka", 3 ], - [ "holybook_sutras", 3 ], - [ "holybook_granth", 2 ], - [ "holybook_mormon", 1 ], - [ "holybook_kojiki", 1 ], - [ "holybook_havamal", 1 ], - [ "holybook_pastafarian", 1 ], - [ "holybook_slack", 1 ], - [ "holybook_kallisti", 1 ], - [ "holybook_scientology", 1 ], + { "group": "religious_books", "prob": 38 }, [ "mouthpiece", 1 ], [ "leathersandals", 25 ], [ "survnote", 2 ], @@ -1084,130 +1004,6 @@ { "item": "condom", "prob": 50, "count": [ 1, 5 ] } ] }, - { - "type": "item_group", - "id": "dresser", - "ammo": 50, - "magazine": 100, - "items": [ - [ "jeans", 90 ], - [ "pants_checkered", 5 ], - [ "shorts", 70 ], - [ "shorts_denim", 50 ], - [ "pants", 75 ], - [ "leather_belt", 30 ], - [ "pants_leather", 60 ], - [ "pants_cargo", 70 ], - [ "shorts_cargo", 50 ], - [ "motorbike_pants", 5 ], - [ "breeches", 5 ], - [ "skirt", 75 ], - [ "dress", 70 ], - [ "sundress", 50 ], - [ "camisole", 60 ], - [ "bra", 70 ], - [ "hairpin", 30 ], - [ "fc_hairpin", 5 ], - [ "barrette", 15 ], - [ "tieclip", 10 ], - [ "collarpin", 10 ], - [ "undershirt", 70 ], - [ "boxer_shorts", 50 ], - [ "briefs", 40 ], - [ "boxer_briefs", 45 ], - [ "panties", 70 ], - [ "boy_shorts", 25 ], - [ "gown", 1 ], - [ "long_glove_white", 1 ], - [ "veil_wedding", 1 ], - [ "dress_wedding", 1 ], - [ "tshirt", 80 ], - [ "longshirt", 70 ], - [ "polo_shirt", 65 ], - [ "dress_shirt", 60 ], - [ "tank_top", 50 ], - [ "sweatshirt", 75 ], - [ "sweater", 75 ], - [ "hoodie", 65 ], - [ "jacket_light", 50 ], - [ "jacket_windbreaker", 25 ], - [ "jacket_jean", 35 ], - [ "blazer", 35 ], - [ "towel", 40 ], - [ "jacket_leather", 30 ], - [ "motorbike_armor", 5 ], - [ "poncho", 15 ], - [ "folding_poncho", 5 ], - [ "trenchcoat", 12 ], - [ "sleeveless_trenchcoat", 2 ], - [ "duster", 12 ], - [ "sleeveless_duster", 2 ], - [ "peacoat", 30 ], - [ "greatcoat", 15 ], - [ "vest", 15 ], - [ "mag_porn", 20 ], - [ "photo_album", 10 ], - [ "lighter", 60 ], - [ "ref_lighter", 2 ], - [ "sewing_kit", 30 ], - [ "thread", 40 ], - [ "flashlight", 40 ], - [ "suit", 60 ], - [ "waistcoat", 30 ], - [ "tophat", 10 ], - [ "bowhat", 10 ], - [ "cowboy_hat", 10 ], - [ "bullwhip", 1 ], - [ "10gal_hat", 5 ], - [ "glasses_monocle", 2 ], - [ "duct_tape", 60 ], - [ "firecracker_pack", 5 ], - [ "firecracker", 5 ], - [ "wolfsuit", 4 ], - [ "dinosuit", 4 ], - [ "vibrator", 5 ], - { "item": "condom", "prob": 30, "count": [ 1, 5 ] }, - [ "snuggie", 5 ], - [ "flyer", 10 ], - [ "socks", 70 ], - [ "socks_wool", 30 ], - [ "pocketwatch", 5 ], - [ "flask_hip", 2 ], - [ "tux", 1 ], - [ "dress_wedding", 1 ], - [ "clogs", 2 ], - [ "wristwatch", 15 ], - [ "maid_dress", 3 ], - [ "maid_hat", 3 ], - [ "knitting_needles", 1 ], - [ "survnote", 1 ], - [ "b_shorts", 15 ], - [ "halter_top", 30 ], - [ "linuxtshirt", 10 ], - [ "kilt", 5 ], - [ "nanoskirt", 10 ], - [ "sleeveless_tunic", 5 ], - [ "fedora", 10 ], - [ "straw_hat", 5 ], - [ "straw_fedora", 5 ], - [ "holy_symbol", 20 ], - [ "kufi", 5 ], - [ "kippah", 5 ], - [ "headscarf", 5 ], - { "item": "kirpan", "container-item": "sheath", "prob": 1 }, - { "item": "kirpan_cheap", "container-item": "sheath", "prob": 3 }, - [ "robe", 10 ], - [ "eboshi", 1 ], - [ "kariginu", 1 ], - [ "geta", 1 ], - [ "kimono", 2 ], - [ "yukata", 6 ], - [ "haori", 2 ], - [ "hakama", 4 ], - [ "eclipse_glasses", 1 ], - [ "thermos", 20 ] - ] - }, { "type": "item_group", "id": "dining", @@ -1234,34 +1030,15 @@ "type": "item_group", "id": "vending_food_items", "items": [ - [ "chips", 65 ], - [ "fried_seeds", 25 ], - [ "pretzels", 55 ], - [ "chocpretzels", 40 ], - [ "chocolate", 50 ], - [ "jerky", 55 ], - [ "cracklins", 25 ], - [ "porkstick", 55 ], - [ "candy", 80 ], - [ "candy2", 80 ], - [ "candy3", 80 ], - [ "maple_candy", 5 ], - [ "powder_candy", 60 ], - [ "neccowafers", 80 ], - [ "maltballs", 80 ], - [ "mintpatties", 80 ], + { "group": "candy_chocolate", "prob": 615 }, + { "group": "salty_snacks", "prob": 485 }, [ "peanut_unshelled", 60 ], [ "almond_unshelled", 60 ], [ "cashews", 60 ], [ "pistachio_unshelled", 60 ], [ "cookies", 80 ], [ "choco_coffee_beans", 10 ], - [ "nachos", 50 ], - [ "chips3", 65 ], - [ "fruit_leather", 25 ], - [ "popcorn", 25 ], - [ "popcorn2", 25 ], - [ "candycigarette", 20 ] + [ "fruit_leather", 25 ] ] }, { @@ -1278,8 +1055,7 @@ [ "lemonade", 50 ], [ "energy_drink", 55 ], [ "energy_drink_atomic", 4 ], - [ "crispycran", 40 ], - [ "choc_drink", 30 ], + { "group": "softdrinks_canned", "prob": 70 }, { "item": "cola", "prob": 70, "container-item": "bottle_plastic" }, { "item": "rootbeer", "prob": 20, "container-item": "bottle_plastic" }, { "item": "creamsoda", "prob": 60, "container-item": "bottle_plastic" }, @@ -1296,42 +1072,21 @@ "type": "item_group", "id": "snacks", "items": [ - [ "chips", 65 ], - [ "fried_seeds", 25 ], - [ "pretzels", 55 ], - [ "chocpretzels", 40 ], - [ "chocolate", 50 ], - [ "jerky", 55 ], - [ "cracklins", 25 ], + { "group": "candy_chocolate", "prob": 620 }, + { "group": "salty_snacks", "prob": 595 }, [ "pemmican", 5 ], [ "granola", 10 ], - [ "porkstick", 55 ], - [ "candy", 80 ], - [ "candy2", 80 ], - [ "candy3", 80 ], - [ "maple_candy", 10 ], - [ "powder_candy", 60 ], - [ "neccowafers", 80 ], - [ "maltballs", 80 ], - [ "mintpatties", 80 ], [ "cookies", 80 ], [ "tea_raw", 10 ], [ "coffee_raw", 15 ], [ "choco_coffee_beans", 10 ], - [ "nachos", 50 ], - [ "chips2", 65 ], - [ "chips3", 65 ], [ "salt", 10 ], [ "pepper", 10 ], [ "syrup", 10 ], [ "coffee_syrup", 10 ], - [ "popcorn", 25 ], - [ "popcorn2", 35 ], - [ "popcorn3", 35 ], [ "fruit_leather", 25 ], [ "kernels", 25 ], - [ "pine_nuts", 5 ], - [ "candycigarette", 20 ] + [ "pine_nuts", 5 ] ] }, { @@ -1366,15 +1121,7 @@ [ "energy_drink", 55 ], [ "herbal_tea", 30 ], [ "energy_drink_atomic", 4 ], - [ "cola", 70 ], - [ "creamsoda", 60 ], - [ "lemonlime", 60 ], - [ "orangesoda", 40 ], - [ "crispycran", 30 ], - [ "colamdew", 60 ], - [ "choc_drink", 30 ], - [ "rootbeer", 65 ], - [ "purple_drink", 45 ], + { "group": "softdrinks_canned", "prob": 460 }, [ "milk", 50 ], [ "yoghurt", 40 ], [ "pudding", 50 ], @@ -1432,16 +1179,9 @@ "type": "item_group", "id": "fast_food", "items": [ + { "group": "candy_chocolate", "prob": 480 }, + { "group": "softdrinks_canned", "prob": 480 }, [ "water_clean", 90 ], - [ "cola", 70 ], - [ "choc_drink", 30 ], - [ "rootbeer", 65 ], - [ "creamsoda", 60 ], - [ "lemonlime", 60 ], - [ "orangesoda", 60 ], - [ "crispycran", 30 ], - [ "colamdew", 60 ], - [ "purple_drink", 45 ], [ "sandwich_t", 30 ], [ "sandwich_pb", 30 ], [ "sandwich_pbj", 30 ], @@ -1456,14 +1196,6 @@ [ "pie_maple", 10 ], [ "chips", 65 ], [ "fried_seeds", 25 ], - [ "candy", 80 ], - [ "candy2", 80 ], - [ "candy3", 80 ], - [ "maple_candy", 2 ], - [ "powder_candy", 60 ], - [ "mintpatties", 60 ], - [ "maltballs", 60 ], - [ "neccowafers", 60 ], [ "cookies", 60 ], [ "mayonnaise", 60 ], [ "spork", 10 ], @@ -1503,17 +1235,12 @@ "type": "item_group", "id": "coffee_shop", "items": [ + { "group": "candy_chocolate", "prob": 530 }, + { "group": "softdrinks_canned", "prob": 470 }, + { "group": "snacks", "prob": 560 }, + [ "coffee_raw", 70 ], [ "water_clean", 90 ], [ "water_mineral", 10 ], - [ "cola", 70 ], - [ "choc_drink", 40 ], - [ "rootbeer", 65 ], - [ "creamsoda", 60 ], - [ "lemonlime", 60 ], - [ "orangesoda", 40 ], - [ "crispycran", 40 ], - [ "colamdew", 60 ], - [ "purple_drink", 35 ], [ "almond_milk", 30 ], [ "soy_milk", 30 ], [ "juice", 20 ], @@ -1534,41 +1261,16 @@ [ "hotdogs_cooked", 35 ], [ "corndogs_frozen", 30 ], [ "blt", 40 ], - [ "pretzels", 55 ], - [ "chocpretzels", 50 ], - [ "chocolate", 50 ], - [ "jerky", 55 ], - [ "cracklins", 25 ], [ "salted_fish", 15 ], - [ "porkstick", 55 ], - [ "candy", 80 ], - [ "powder_candy", 60 ], - [ "mintpatties", 80 ], - [ "maltballs", 80 ], - [ "tea_raw", 10 ], [ "pie", 20 ], [ "pie_meat", 20 ], [ "pie_veggy", 20 ], [ "pie_maple", 10 ], - [ "fried_seeds", 15 ], - [ "chips", 65 ], - [ "chips2", 50 ], - [ "chips3", 45 ], - [ "candy", 80 ], - [ "candy2", 80 ], - [ "candy3", 80 ], - [ "maple_candy", 20 ], - [ "cookies", 80 ], - [ "pepper", 10 ], [ "cinnamon", 15 ], - [ "coffee_raw", 85 ], - [ "choco_coffee_beans", 10 ], [ "coffee_bean", 20 ], [ "roasted_coffee_bean", 50 ], [ "restaurantmap", 5 ], [ "touristmap", 2 ], - [ "salt", 10 ], - [ "pine_nuts", 10 ], [ "brioche", 50 ] ] }, @@ -1763,6 +1465,7 @@ [ "thorazine", 7 ], [ "prozac", 10 ], [ "antibiotics", 25 ], + [ "strong_antibiotic", 5 ], [ "antifungal", 2 ], [ "antiparasitic", 3 ], [ "survnote", 1 ], @@ -1982,8 +1685,8 @@ "id": "cleaning", "items": [ [ "salt_water", 20 ], - [ "bleach", 20 ], - [ "ammonia", 24 ], + { "item": "bleach", "prob": 20, "charges-min": 1 }, + { "item": "ammonia", "prob": 24, "charges-min": 1 }, [ "broom", 30 ], [ "mop", 30 ], [ "sponge", 30 ], @@ -2069,6 +1772,7 @@ [ "aspirin", 85 ], [ "bat", 60 ], [ "boxing_gloves", 35 ], + [ "pool_cue", 30 ], [ "bat_metal", 60 ], [ "football_armor", 10 ], [ "helmet_football", 10 ], @@ -2079,6 +1783,8 @@ [ "longshirt", 70 ], [ "tank_top", 50 ], [ "sports_bra", 30 ], + [ "unitard", 10 ], + [ "leotard", 5 ], [ "trunks", 50 ], [ "bikini_top", 50 ], [ "arm_warmers", 20 ], @@ -2158,6 +1864,12 @@ [ "fencing_foil", 8 ], [ "fencing_sabre", 8 ], [ "fencing_epee", 8 ], + [ "lame_foil", 8 ], + [ "lame_saber", 8 ], + [ "plastron_cotton", 8 ], + [ "plastron_plastic", 8 ], + [ "gauntlet_fencing", 8 ], + [ "gauntlet_fencing_l", 1 ], [ "survnote", 1 ], [ "halter_top", 30 ], [ "linuxtshirt", 10 ], @@ -2552,6 +2264,12 @@ [ "fencing_foil", 10 ], [ "fencing_sabre", 10 ], [ "fencing_epee", 10 ], + [ "lame_foil", 10 ], + [ "lame_saber", 10 ], + [ "plastron_cotton", 10 ], + [ "plastron_plastic", 10 ], + [ "gauntlet_fencing", 8 ], + [ "gauntlet_fencing_l", 2 ], [ "survnote", 1 ], [ "slingshot", 10 ], [ "wristrocket", 5 ], @@ -2733,509 +2451,34 @@ [ "creepy_doll", 1 ], [ "straw_doll", 1 ], [ "striped_shirt", 1 ], - [ "striped_pants", 1 ], - [ "foodperson_mask", 1 ], - [ "razor_blade", 10 ], - [ "survnote", 5 ], - [ "eclipse_glasses", 1 ], - [ "plastic_sheet", 5 ], - [ "box_medium", 5 ], - [ "thermos", 30 ], - { "group": "tinware", "prob": 15 } - ] - }, - { - "type": "item_group", - "id": "trash_cart", - "items": [ - [ "bottle_plastic", 5 ], - [ "bottle_plastic_small", 15 ], - [ "bottle_glass", 2 ], - { "group": "tinware", "prob": 2 }, - [ "can_drink_unsealed", 5 ], - [ "plastic_shopping_bag", 13 ], - [ "bag_plastic", 15 ], - [ "wrapper", 30 ], - [ "flyer", 15 ], - [ "scorecard", 10 ], - [ "eclipse_glasses", 1 ], - [ "plastic_sheet", 5 ] - ] - }, - { - "type": "item_group", - "id": "shoes", - "items": [ - [ "sneakers", 80 ], - [ "socks", 70 ], - [ "tights", 20 ], - [ "stockings", 20 ], - [ "knee_high_boots", 20 ], - [ "thigh_high_boots", 20 ], - [ "boots", 70 ], - [ "flip_flops", 35 ], - [ "lowtops", 45 ], - [ "dress_shoes", 50 ], - [ "dance_shoes", 5 ], - [ "heels", 50 ], - [ "golf_shoes", 20 ], - [ "boots_combat", 10 ], - [ "boots_hiking", 20 ], - [ "boots_western", 10 ], - [ "clogs", 1 ], - [ "leathersandals", 10 ], - [ "rollerskates", 1 ], - [ "roller_blades", 5 ], - [ "roller_shoes_off", 1 ], - [ "mocassins", 20 ] - ] - }, - { - "type": "item_group", - "id": "pants", - "items": [ - [ "jeans", 90 ], - [ "pants_checkered", 5 ], - [ "shorts", 70 ], - [ "shorts_denim", 35 ], - [ "pants", 75 ], - [ "leather_belt", 30 ], - [ "pants_leather", 60 ], - [ "pants_cargo", 70 ], - [ "shorts_cargo", 50 ], - [ "skirt", 75 ], - [ "skirt_leather", 5 ], - [ "leggings", 15 ], - [ "under_armor_shorts", 20 ], - [ "dress", 70 ], - [ "sundress", 50 ], - [ "dress_wedding", 1 ], - [ "postman_shorts", 5 ], - [ "b_shorts", 15 ], - [ "kilt", 5 ], - [ "nanoskirt", 10 ] - ] - }, - { - "type": "item_group", - "id": "shirts", - "items": [ - [ "tshirt", 80 ], - [ "longshirt", 80 ], - [ "polo_shirt", 65 ], - [ "dress_shirt", 60 ], - [ "tank_top", 50 ], - [ "sweatshirt", 75 ], - [ "sweater", 75 ], - [ "hoodie", 65 ], - [ "under_armor", 20 ], - [ "jersey", 40 ], - [ "camisole", 60 ], - [ "tie_clipon", 10 ], - [ "tie_necktie", 10 ], - [ "tie_skinny", 10 ], - [ "tieclip", 5 ], - [ "collarpin", 5 ], - [ "postman_shirt", 5 ], - [ "halter_top", 50 ], - [ "linuxtshirt", 10 ], - [ "sleeveless_tunic", 5 ], - [ "poncho", 20 ] - ] - }, - { - "type": "item_group", - "id": "jackets", - "items": [ - [ "jacket_light", 50 ], - [ "jacket_windbreaker", 25 ], - [ "jacket_jean", 35 ], - [ "blazer", 35 ], - [ "jacket_leather", 30 ], - [ "coat_rain", 50 ], - [ "trenchcoat", 12 ], - [ "duster", 12 ], - { "group": "neckties", "prob": 5 }, - [ "tieclip", 2 ], - [ "collarpin", 2 ], - [ "apron_leather", 1 ] - ] - }, - { - "type": "item_group", - "id": "suits", - "items": [ - [ "dress_shirt", 100 ], - { "group": "neckties", "prob": 50 }, - [ "tieclip", 30 ], - [ "collarpin", 30 ], - [ "undershirt", 100 ], - [ "suit", 100 ], - [ "waistcoat", 70 ], - [ "tophat", 30 ], - [ "tux", 50 ], - [ "gown", 50 ], - [ "long_glove_white", 30 ], - [ "breeches", 10 ] - ] - }, - { - "type": "item_group", - "id": "winter", - "ammo": 50, - "magazine": 100, - "items": [ - [ "coat_winter", 50 ], - [ "peacoat", 30 ], - [ "ski_jacket", 40 ], - [ "greatcoat", 15 ], - [ "gloves_light", 35 ], - [ "mittens", 30 ], - [ "gloves_wool", 33 ], - [ "thermal_socks", 10 ], - [ "thermal_gloves", 10 ], - [ "thermal_suit", 10 ], - [ "thermal_mask", 10 ], - [ "thermal_outfit", 5 ], - [ "gloves_winter", 40 ], - [ "gloves_liner", 25 ], - [ "gloves_leather", 45 ], - [ "scarf", 45 ], - [ "knit_scarf", 35 ], - [ "long_knit_scarf", 15 ], - [ "scarf_long", 2 ], - [ "hat_cotton", 45 ], - [ "hat_newsboy", 20 ], - [ "hat_knit", 25 ], - [ "hat_fur", 15 ], - [ "hat_faux_fur", 20 ], - [ "pants_ski", 60 ], - [ "mask_ski", 15 ], - [ "long_underpants", 40 ], - [ "long_undertop", 40 ], - [ "union_suit", 40 ], - [ "tights", 20 ], - [ "arm_warmers", 20 ], - [ "leg_warmers", 20 ], - [ "balclava", 15 ] - ] - }, - { - "type": "item_group", - "id": "fancyfurs", - "items": [ - [ "hat_fur", 300 ], - [ "hat_faux_fur", 300 ], - [ "sleeveless_trenchcoat_fur", 10 ], - [ "sleeveless_duster_fur", 10 ], - [ "sleeveless_trenchcoat_faux_fur", 10 ], - [ "coat_fur_sf", 100 ], - [ "coat_faux_fur", 300 ], - [ "coat_fur", 300 ], - [ "gloves_fur", 300 ], - [ "boots_fur", 200 ], - [ "trenchcoat_faux_fur", 50 ], - [ "duster_faux_fur", 50 ], - [ "pants_faux_fur", 50 ] - ] - }, - { - "type": "item_group", - "id": "hatstore_hats", - "items": [ - [ "hat_cotton", 30 ], - [ "hat_knit", 40 ], - [ "hat_faux_fur", 30 ], - [ "hat_fur", 20 ], - [ "hat_newsboy", 20 ], - [ "hat_sombrero", 30 ], - [ "fedora", 100 ], - [ "straw_hat", 100 ], - [ "straw_fedora", 100 ], - [ "hat_chef", 10 ], - [ "maid_hat", 30 ], - [ "hat_golf", 50 ], - [ "hat_ball", 100 ], - [ "postman_hat", 10 ], - [ "tophat", 50 ], - [ "bowhat", 50 ], - [ "cowboy_hat", 100 ], - [ "10gal_hat", 100 ], - [ "kufi", 30 ], - [ "kippah", 30 ], - [ "eboshi", 30 ], - [ "balclava", 20 ], - [ "porkpie", 30 ] - ] - }, - { - "type": "item_group", - "id": "hatstore_accessories", - "items": [ - [ "scarf", 50 ], - [ "knit_scarf", 50 ], - [ "long_knit_scarf", 30 ], - [ "scarf_long", 30 ], - [ "bandana", 100 ], - [ "hairpin", 50 ], - [ "fc_hairpin", 20 ], - [ "barrette", 30 ] - ] - }, - { - "type": "item_group", - "id": "shoestore_shoes", - "items": [ - [ "sneakers", 100 ], - [ "knee_high_boots", 40 ], - [ "thigh_high_boots", 40 ], - [ "boots", 100 ], - [ "flip_flops", 50 ], - [ "lowtops", 100 ], - [ "dress_shoes", 50 ], - [ "dance_shoes", 20 ], - [ "heels", 100 ], - [ "golf_shoes", 40 ], - [ "boots_hiking", 40 ], - [ "boots_western", 60 ], - [ "clogs", 60 ], - [ "leathersandals", 100 ], - [ "rollerskates", 10 ], - [ "roller_blades", 20 ], - [ "roller_shoes_off", 10 ], - [ "boots_rubber", 20 ], - [ "clownshoes", 10 ], - [ "mocassins", 40 ] - ] - }, - { - "type": "item_group", - "id": "shoestore_accessories", - "items": [ [ "socks", 100 ], [ "thermal_socks", 25 ], [ "socks_wool", 50 ], [ "string_36", 200 ] ] - }, - { - "type": "item_group", - "id": "bags", - "items": [ - [ "backpack", 38 ], - [ "backpack_hiking", 3 ], - [ "petpack", 3 ], - [ "backpack_tactical_large", 1 ], - [ "bigback", 1 ], - [ "travelpack", 5 ], - [ "purse", 40 ], - [ "mbag", 20 ], - [ "slingpack", 8 ], - [ "rucksack", 20 ], - [ "backpack_leather", 8 ], - [ "briefcase", 10 ] - ] - }, - { - "type": "item_group", - "id": "bags_trip", - "items": [ [ "suitcase_l", 37 ], [ "suitcase_m", 55 ], [ "duffelbag", 8 ] ] - }, - { - "type": "item_group", - "id": "dresses", - "items": [ [ "dress", 55 ], [ "sundress", 43 ], [ "gown", 10 ], [ "dress_wedding", 2 ] ] - }, - { - "type": "item_group", - "id": "female_underwear_top", - "items": [ [ "bra", 70 ], [ "sports_bra", 50 ], [ "bikini_top", 10 ] ] - }, - { - "type": "item_group", - "id": "female_underwear_bottom", - "items": [ [ "panties", 70 ], [ "boy_shorts", 50 ], [ "bikini_bottom", 10 ] ] - }, - { - "type": "item_group", - "id": "male_underwear_top", - "items": [ [ "undershirt", 50 ], [ "long_undertop", 20 ], [ "under_armor", 20 ], [ "tank_top", 50 ] ] - }, - { - "type": "item_group", - "id": "male_underwear_bottom", - "items": [ - [ "boxer_shorts", 70 ], - [ "briefs", 30 ], - [ "boxer_briefs", 50 ], - [ "long_underpants", 20 ], - [ "under_armor_shorts", 20 ] - ] - }, - { - "type": "item_group", - "id": "allclothes", - "items": [ - [ "jeans", 90 ], - [ "pants_checkered", 5 ], - [ "shorts", 70 ], - [ "shorts_denim", 35 ], - [ "ski_jacket", 40 ], - [ "pants", 75 ], - [ "breeches", 10 ], - [ "leather_belt", 30 ], - [ "suit", 60 ], - [ "waistcoat", 30 ], - [ "tophat", 10 ], - [ "bowhat", 10 ], - [ "cowboy_hat", 10 ], - [ "boots_western", 8 ], - [ "glasses_monocle", 2 ], - [ "pants_leather", 60 ], - [ "pants_cargo", 70 ], - [ "shorts_cargo", 50 ], - [ "skirt", 75 ], - [ "skirt_leather", 5 ], - [ "tshirt", 70 ], - [ "longshirt", 80 ], - [ "polo_shirt", 65 ], - [ "dress_shirt", 60 ], - [ "tank_top", 50 ], - [ "camisole", 30 ], - [ "bra", 30 ], - [ "undershirt", 30 ], - [ "boxer_shorts", 30 ], - [ "briefs", 15 ], - [ "boxer_briefs", 20 ], - [ "panties", 30 ], - [ "boy_shorts", 25 ], - [ "sweatshirt", 75 ], - [ "sweater", 75 ], - [ "hoodie", 65 ], - [ "jacket_light", 50 ], - [ "jacket_windbreaker", 25 ], - [ "jacket_jean", 35 ], - [ "blazer", 35 ], - [ "jacket_leather", 30 ], - [ "coat_winter", 50 ], - [ "peacoat", 30 ], - [ "greatcoat", 15 ], - [ "gloves_light", 35 ], - [ "mittens", 30 ], - [ "gloves_wool", 33 ], - [ "thermal_socks", 2 ], - [ "thermal_gloves", 2 ], - [ "thermal_suit", 2 ], - [ "thermal_mask", 2 ], - [ "thermal_outfit", 1 ], - [ "gloves_winter", 40 ], - [ "gloves_liner", 25 ], - [ "gloves_leather", 45 ], - [ "gloves_work", 5 ], - [ "scarf", 45 ], - [ "hat_golf", 30 ], - [ "knit_scarf", 35 ], - [ "long_knit_scarf", 5 ], - [ "scarf_long", 1 ], - [ "hat_cotton", 45 ], - [ "hat_knit", 25 ], - [ "hat_newsboy", 20 ], - [ "hat_sombrero", 3 ], - [ "hat_fur", 15 ], - [ "hat_faux_fur", 20 ], - [ "under_armor", 20 ], - [ "under_armor_shorts", 20 ], - [ "tights", 20 ], - [ "leggings", 20 ], - [ "stockings", 20 ], - [ "balclava", 15 ], - [ "pants_ski", 60 ], - [ "long_underpants", 40 ], - [ "long_undertop", 40 ], - [ "union_suit", 20 ], - [ "arm_warmers", 20 ], - [ "leg_warmers", 20 ], - [ "trenchcoat_leather", 12 ], - [ "trenchcoat_faux_fur", 6 ], - [ "sleeveless_trenchcoat", 2 ], - [ "sleeveless_trenchcoat_leather", 2 ], - [ "sleeveless_trenchcoat_faux_fur", 2 ], - [ "trenchcoat_leather", 12 ], - [ "sleeveless_trenchcoat_fur", 1 ], - [ "duster_leather", 12 ], - [ "duster_faux_fur", 6 ], - [ "sleeveless_duster", 2 ], - [ "sleeveless_duster_leather", 2 ], - [ "sleeveless_duster_faux_fur", 2 ], - [ "sleeveless_duster_fur", 1 ], - [ "cloak", 5 ], - [ "cloak_wool", 5 ], - [ "house_coat", 25 ], - [ "flotation_vest", 1 ], - [ "fishing_waders", 5 ], - [ "wetsuit", 5 ], - [ "wetsuit_spring", 5 ], - [ "wetsuit_gloves", 10 ], - [ "wetsuit_booties", 10 ], - [ "wetsuit_hood", 5 ], - [ "dive_bag", 5 ], - [ "jedi_cloak", 1 ], - [ "apron_leather", 1 ], - [ "clown_suit", 1 ], - [ "clownshoes", 1 ], - [ "bondage_suit", 1 ], - [ "bondage_mask", 1 ], - [ "corset", 10 ], - [ "chestwrap", 5 ], - [ "boots_combat", 10 ], - [ "pants_army", 10 ], - [ "jacket_army", 10 ], - [ "winter_pants_army", 10 ], - [ "winter_jacket_army", 10 ], - [ "winter_gloves_army", 10 ], - [ "army_top", 20 ], - [ "tux", 1 ], - [ "gown", 1 ], - [ "long_glove_white", 1 ], - [ "veil_wedding", 1 ], - [ "dress_wedding", 1 ], - [ "porkpie", 5 ], - [ "tie_bow", 5 ], - [ "tie_clipon", 5 ], - [ "tie_necktie", 5 ], - [ "tie_skinny", 5 ], - [ "tieclip", 2 ], - [ "collarpin", 2 ], - [ "jersey", 40 ], - [ "postman_shorts", 5 ], - [ "postman_shirt", 5 ], - [ "postman_hat", 5 ], - [ "maid_dress", 3 ], - [ "maid_hat", 3 ], - [ "halter_top", 50 ], - [ "linuxtshirt", 20 ], - [ "kilt", 5 ], - [ "nanoskirt", 10 ], - [ "sleeveless_tunic", 5 ], - [ "ear_spool", 30 ], - [ "fedora", 5 ], - [ "straw_hat", 5 ], - [ "straw_fedora", 5 ], - [ "kufi", 2 ], - [ "kippah", 2 ], - [ "thawb", 1 ], - [ "kittel", 1 ], - [ "cassock", 1 ], - [ "robe", 5 ], - [ "eboshi", 1 ], - [ "kariginu", 1 ], - [ "geta", 1 ], - [ "kimono", 2 ], - [ "yukata", 4 ], - [ "haori", 1 ], - [ "hakama", 2 ] + [ "striped_pants", 1 ], + [ "foodperson_mask", 1 ], + [ "razor_blade", 10 ], + [ "survnote", 5 ], + [ "eclipse_glasses", 1 ], + [ "plastic_sheet", 5 ], + [ "box_medium", 5 ], + [ "thermos", 30 ], + { "group": "tinware", "prob": 15 } ] }, { "type": "item_group", - "id": "allclothes_damaged", - "subtype": "distribution", - "items": [ { "group": "allclothes", "damage": [ 3, 4 ] } ] + "id": "trash_cart", + "items": [ + [ "bottle_plastic", 5 ], + [ "bottle_plastic_small", 15 ], + [ "bottle_glass", 2 ], + { "group": "tinware", "prob": 2 }, + [ "can_drink_unsealed", 5 ], + [ "plastic_shopping_bag", 13 ], + [ "bag_plastic", 15 ], + [ "wrapper", 30 ], + [ "flyer", 15 ], + [ "scorecard", 10 ], + [ "eclipse_glasses", 1 ], + [ "plastic_sheet", 5 ] + ] }, { "type": "item_group", @@ -3463,70 +2706,6 @@ [ "survnote", 2 ] ] }, - { - "type": "item_group", - "id": "swimmer_head", - "items": [ - [ "goggles_swim", 90 ], - [ "wetsuit_hood", 30 ], - [ "fancy_sunglasses", 1 ], - [ "rebreather", 1 ], - [ "fitover_sunglasses", 5 ], - [ "sunglasses", 10 ] - ] - }, - { - "type": "item_group", - "id": "swimmer_torso", - "items": [ [ "bikini_top", 50 ], [ "dive_bag", 5 ], [ "flotation_vest", 10 ], [ "scuba_tank", 2 ] ] - }, - { - "type": "item_group", - "id": "swimmer_pants", - "items": [ [ "trunks", 80 ], [ "bikini_bottom", 35 ], [ "hot_pants", 30 ] ] - }, - { - "type": "item_group", - "id": "swimmer_shoes", - "items": [ [ "flip_flops", 80 ], [ "swim_fins", 20 ] ] - }, - { - "type": "item_group", - "id": "swimmer_wetsuit", - "items": [ [ "wetsuit", 90 ], [ "wetsuit_spring", 10 ] ] - }, - { - "type": "item_group", - "id": "lab_shoes", - "items": [ [ "sneakers", 80 ], [ "boots", 70 ], [ "boots_steel", 50 ], [ "boots_hiking", 40 ], [ "dress_shoes", 50 ] ] - }, - { - "type": "item_group", - "id": "lab_torso", - "items": [ - [ "coat_lab", 20 ], - [ "coat_lab", 20 ], - [ "coat_lab", 20 ], - [ "coat_lab", 20 ], - [ "tshirt", 80 ], - [ "longshirt", 80 ], - [ "polo_shirt", 65 ], - [ "dress_shirt", 60 ], - [ "dress", 70 ], - [ "sweatshirt", 75 ], - [ "sweater", 75 ], - [ "hoodie", 65 ], - [ "jumpsuit", 20 ], - [ "badge_doctor", 10 ], - [ "hazmat_suit", 5 ], - [ "cleansuit", 10 ] - ] - }, - { - "type": "item_group", - "id": "lab_pants", - "items": [ [ "jeans", 90 ], [ "pants_checkered", 5 ], [ "pants", 75 ], [ "pants_cargo", 70 ], [ "skirt", 75 ] ] - }, { "type": "item_group", "id": "hospital_lab", @@ -3534,7 +2713,7 @@ [ "blood", 20 ], [ "iodine", 5 ], [ "prussian_blue", 5 ], - [ "bleach", 20 ], + { "item": "bleach", "prob": 20, "charges-min": 10 }, [ "bandages", 50 ], [ "cotton_ball", 50 ], [ "syringe", 8 ], @@ -3571,6 +2750,8 @@ [ "jar_3l_glass", 15 ], [ "magnifying_glass", 5 ], [ "chem_hydrogen_peroxide", 5 ], + [ "strong_antibiotic", 1 ], + [ "antibiotics", 5 ], [ "weak_antibiotic", 15 ] ] }, @@ -3629,25 +2810,7 @@ [ "antiparasitic", 3 ], [ "diazepam", 3 ], [ "recipe_augs", 3 ], - [ "holybook_bible1", 4 ], - [ "holybook_bible2", 3 ], - [ "holybook_bible3", 6 ], - [ "holybook_quran", 3 ], - [ "holybook_hadith", 3 ], - [ "holybook_talmud", 2 ], - [ "holybook_tanakh", 2 ], - [ "holybook_vedas", 3 ], - [ "holybook_upanishads", 3 ], - [ "holybook_tripitaka", 3 ], - [ "holybook_sutras", 3 ], - [ "holybook_granth", 2 ], - [ "holybook_mormon", 1 ], - [ "holybook_kojiki", 1 ], - [ "holybook_havamal", 1 ], - [ "holybook_pastafarian", 1 ], - [ "holybook_slack", 1 ], - [ "holybook_kallisti", 1 ], - [ "holybook_scientology", 1 ], + { "group": "religious_books", "prob": 54 }, [ "recipe_medicalmut", 1 ], [ "survnote", 1 ], [ "badge_doctor", 1 ], @@ -3655,22 +2818,6 @@ [ "thermos", 10 ] ] }, - { - "type": "item_group", - "id": "postman_gear", - "items": [ - [ "postman_hat", 50 ], - [ "postman_shirt", 70 ], - [ "postman_shorts", 70 ], - [ "mbag", 40 ], - [ "newest_newspaper", 10 ], - [ "wristwatch", 50 ], - [ "leather_belt", 70 ], - [ "briefs", 90 ], - [ "socks", 70 ], - [ "sneakers", 70 ] - ] - }, { "type": "item_group", "id": "surgery", @@ -3715,12 +2862,7 @@ "ammo": 75, "magazine": 100, "items": [ - [ "cola", 70 ], - [ "creamsoda", 60 ], - [ "lemonlime", 60 ], - [ "orangesoda", 60 ], - [ "crispycran", 40 ], - [ "colamdew", 60 ], + { "group": "softdrinks_canned", "prob": 370 }, [ "file", 90 ], [ "mag_barter", 35 ], [ "mag_computer", 35 ], @@ -3733,7 +2875,6 @@ [ "mag_unarmed", 10 ], [ "decoy_anarch", 8 ], [ "recipe_augs", 8 ], - [ "choc_drink", 20 ], [ "aspirin", 85 ], [ "junk_burrito", 25 ], [ "cigar", 5 ], @@ -3788,13 +2929,7 @@ "type": "item_group", "id": "cubical_office", "items": [ - [ "cola", 70 ], - [ "choc_drink", 30 ], - [ "creamsoda", 60 ], - [ "lemonlime", 60 ], - [ "orangesoda", 60 ], - [ "crispycran", 40 ], - [ "colamdew", 60 ], + { "group": "softdrinks_canned", "prob": 560 }, [ "file", 90 ], [ "mag_barter", 15 ], [ "mag_computer", 35 ], @@ -3848,8 +2983,6 @@ [ "bubblewrap", 50 ], [ "coffee_raw", 15 ], [ "usb_drive", 5 ], - [ "rootbeer", 65 ], - [ "purple_drink", 55 ], [ "cig", 80 ], [ "tobacco", 10 ], [ "chaw", 20 ], @@ -3886,26 +3019,10 @@ "type": "item_group", "id": "office_breakroom", "items": [ - [ "cola", 100 ], - [ "choc_drink", 100 ], - [ "creamsoda", 100 ], - [ "lemonlime", 100 ], - [ "orangesoda", 100 ], - [ "crispycran", 100 ], - [ "colamdew", 100 ], - [ "rootbeer", 100 ], - [ "purple_drink", 100 ], - [ "maltballs", 60 ], - [ "chocolate", 100 ], + { "group": "softdrinks_canned", "prob": 900 }, + { "group": "candy_chocolate", "prob": 625 }, [ "cookies", 60 ], [ "brownie", 60 ], - [ "candy", 100 ], - [ "candy2", 100 ], - [ "candy3", 100 ], - [ "maple_candy", 5 ], - [ "powder_candy", 60 ], - [ "neccowafers", 60 ], - [ "mintpatties", 60 ], [ "aspirin", 40 ], [ "ecig", 20 ], [ "chaw", 20 ], @@ -3946,6 +3063,7 @@ "id": "school", "type": "item_group", "items": [ + { "group": "candy_chocolate", "prob": 292 }, [ "glasses_reading", 90 ], [ "purse", 40 ], [ "mbag", 20 ], @@ -4017,15 +3135,7 @@ [ "novel_horror", 18 ], [ "novel_tragedy", 8 ], [ "ZSG", 2 ], - [ "chocolate", 50 ], [ "cookies", 50 ], - [ "candy", 60 ], - [ "candy2", 60 ], - [ "candy3", 60 ], - [ "maple_candy", 2 ], - [ "powder_candy", 40 ], - [ "neccowafers", 60 ], - [ "mintpatties", 60 ], [ "backpack", 38 ], [ "backpack_leather", 18 ], [ "slingpack", 18 ], @@ -4077,24 +3187,7 @@ [ "poetry_book", 6 ], [ "philosophy_book", 2 ], [ "survivormap", 1 ], - [ "holybook_bible1", 4 ], - [ "holybook_bible2", 3 ], - [ "holybook_quran", 3 ], - [ "holybook_hadith", 3 ], - [ "holybook_talmud", 2 ], - [ "holybook_tanakh", 2 ], - [ "holybook_vedas", 3 ], - [ "holybook_upanishads", 3 ], - [ "holybook_tripitaka", 3 ], - [ "holybook_sutras", 3 ], - [ "holybook_granth", 2 ], - [ "holybook_mormon", 1 ], - [ "holybook_kojiki", 1 ], - [ "holybook_havamal", 1 ], - [ "holybook_pastafarian", 1 ], - [ "holybook_slack", 1 ], - [ "holybook_kallisti", 1 ], - [ "holybook_scientology", 1 ], + { "group": "religious_books", "prob": 38 }, [ "folding_poncho", 1 ], [ "pocketwatch", 10 ], [ "knitting_needles", 10 ], @@ -4106,7 +3199,8 @@ [ "thawb", 10 ], [ "kufi", 10 ], [ "kittel", 10 ], - [ "kippah", 10 ] + [ "kippah", 10 ], + [ "icon", 20 ] ] }, { @@ -4275,6 +3369,8 @@ [ "chainmail_vest", 3 ], [ "chainmail_arms", 3 ], [ "chainmail_legs", 3 ], + [ "chainmail_feet", 3 ], + [ "chainmail_hands", 3 ], [ "legguard_metal", 1 ], [ "textbook_weapwest", 5 ], [ "textbook_weapeast", 5 ], @@ -4688,6 +3784,8 @@ [ "chainmail_vest", 2 ], [ "chainmail_arms", 2 ], [ "chainmail_legs", 2 ], + [ "chainmail_feet", 2 ], + [ "chainmail_hands", 2 ], [ "motorbike_armor", 2 ], [ "motorbike_pants", 2 ], [ "motorbike_boots", 2 ], @@ -5011,8 +4109,8 @@ [ "decoy_elfa", 2 ], [ "water_clean", 90 ], [ "salt_water", 30 ], - [ "bleach", 10 ], - [ "ammonia", 12 ], + { "item": "bleach", "prob": 10, "charges-min": 6 }, + { "item": "ammonia", "prob": 12, "charges-min": 6 }, [ "mutagen", 1 ], [ "purifier", 1 ], [ "yeast", 3 ], @@ -5040,13 +4138,13 @@ [ "tin", 10 ], [ "chem_hydrogen_peroxide", 10 ], [ "chem_muriatic_acid", 5 ], - [ "chem_sulphur", 10 ], + { "item": "chem_sulphur", "prob": 10, "charges-min": 100 }, [ "chem_aluminium_powder", 5 ], - [ "chem_zinc_powder", 10 ], - [ "chem_zinc", 5 ], - [ "chem_manganese_dioxide", 10 ], + { "item": "chem_zinc_powder", "prob": 10, "charges-min": 100 }, + { "item": "chem_zinc", "prob": 5, "charges-min": 100 }, + { "item": "chem_manganese_dioxide", "prob": 10, "charges-min": 100 }, [ "chem_saltpetre", 10 ], - [ "chem_carbide", 10 ], + { "item": "chem_carbide", "prob": 10, "charges-min": 100 }, [ "denat_alcohol", 10 ] ] }, @@ -5061,8 +4159,8 @@ [ "adv_chemistry", 6 ], [ "water_clean", 80 ], [ "salt_water", 30 ], - [ "bleach", 20 ], - [ "ammonia", 24 ], + { "item": "bleach", "prob": 20, "charges-min": 1 }, + { "item": "ammonia", "prob": 24, "charges-min": 1 }, [ "yeast", 2 ], [ "royal_jelly", 8 ], [ "superglue", 20 ], @@ -5087,10 +4185,10 @@ [ "charcoal", 15 ], [ "tin", 15 ], [ "chem_hydrogen_peroxide", 15 ], - [ "chem_carbide", 10 ], - [ "chem_zinc_powder", 10 ], - [ "chem_manganese_dioxide", 5 ], - [ "chem_potassium_chloride", 5 ], + { "item": "chem_carbide", "prob": 10, "charges-min": 100 }, + { "item": "chem_zinc_powder", "prob": 10, "charges-min": 100 }, + { "item": "chem_manganese_dioxide", "prob": 5, "charges-min": 100 }, + { "item": "chem_potassium_chloride", "prob": 5, "charges-min": 100 }, [ "chem_muriatic_acid", 15 ], [ "denat_alcohol", 10 ] ] @@ -5119,8 +4217,8 @@ [ "recipe_labchem", 6 ], [ "water_clean", 90 ], [ "salt_water", 20 ], - [ "bleach", 20 ], - [ "ammonia", 24 ], + { "item": "bleach", "prob": 20, "charges-min": 1 }, + { "item": "ammonia", "prob": 24, "charges-min": 10 }, [ "royal_jelly", 8 ], [ "superglue", 30 ], [ "bottle_glass", 10 ], @@ -5145,18 +4243,18 @@ [ "thermometer", 3 ], [ "hygrometer", 3 ], [ "barometer", 3 ], - [ "chem_sulphur", 10 ], + { "item": "chem_sulphur", "prob": 10, "charges-min": 100 }, [ "chem_aluminium_powder", 10 ], [ "chem_hexamine", 10 ], [ "chem_saltpetre", 15 ], [ "chem_nitric_acid", 15 ], [ "chem_muriatic_acid", 20 ], - [ "chem_potassium_chloride", 5 ], - [ "chem_potassium_hydroxide", 10 ], - [ "chem_zinc", 10 ], - [ "chem_chromium_oxide", 10 ], - [ "chem_zinc_powder", 10 ], - [ "chem_manganese_dioxide", 5 ], + { "item": "chem_potassium_chloride", "prob": 5, "charges-min": 100 }, + { "item": "chem_potassium_hydroxide", "prob": 10, "charges-min": 100 }, + { "item": "chem_zinc", "prob": 10, "charges-min": 100 }, + { "item": "chem_chromium_oxide", "prob": 10, "charges-min": 100 }, + { "item": "chem_zinc_powder", "prob": 10, "charges-min": 100 }, + { "item": "chem_manganese_dioxide", "prob": 5, "charges-min": 100 }, [ "denat_alcohol", 10 ] ] }, @@ -5214,8 +4312,8 @@ [ "purifier", 10 ], [ "iv_purifier", 8 ], [ "syringe", 8 ], - [ "bleach", 20 ], - [ "ammonia", 24 ], + { "item": "bleach", "prob": 20, "charges-min": 1 }, + { "item": "ammonia", "prob": 24, "charges-min": 10 }, [ "lye_powder", 10 ], [ "oxy_powder", 12 ], [ "chemistry_set", 5 ], @@ -5351,7 +4449,7 @@ [ "emergency_book", 1 ], [ "recipe_creepy", 2 ], [ "recipe_labchem", 1 ], - [ "bleach", 20 ], + { "item": "bleach", "prob": 20, "charges-min": 6 }, [ "bandages", 50 ], [ "cotton_ball", 50 ], [ "string_6", 2 ], @@ -5608,10 +4706,9 @@ [ "firecracker", 1 ], [ "fried_seeds", 10 ], [ "chips", 65 ], - [ "cola", 70 ], + { "group": "softdrinks_canned", "prob": 90 }, [ "choco_coffee_beans", 20 ], [ "caffeine", 20 ], - [ "choc_drink", 20 ], [ "cola_meth", 1 ], [ "picklocks", 10 ], [ "wolfsuit", 4 ], @@ -5639,24 +4736,7 @@ [ "flask_hip", 5 ], [ "corset", 15 ], [ "tieclip", 3 ], - [ "holybook_bible1", 1 ], - [ "holybook_bible2", 1 ], - [ "holybook_quran", 1 ], - [ "holybook_hadith", 1 ], - [ "holybook_talmud", 1 ], - [ "holybook_tanakh", 1 ], - [ "holybook_vedas", 1 ], - [ "holybook_upanishads", 1 ], - [ "holybook_tripitaka", 1 ], - [ "holybook_sutras", 1 ], - [ "holybook_granth", 1 ], - [ "holybook_mormon", 1 ], - [ "holybook_kojiki", 1 ], - [ "holybook_havamal", 1 ], - [ "holybook_pastafarian", 1 ], - [ "holybook_slack", 1 ], - [ "holybook_kallisti", 1 ], - [ "holybook_scientology", 1 ], + { "group": "religious_books", "prob": 18 }, [ "collarpin", 3 ], [ "survnote", 1 ], [ "magnifying_glass", 2 ], @@ -5842,6 +4922,8 @@ [ "m134", 1 ], [ "m107a1", 8 ], [ "50bmg", 12 ], + [ "50match", 4 ], + [ "50_mk211", 1 ], [ "50ss", 8 ], [ "50_incendiary", 8 ], [ "8mm_fmj", 6 ], @@ -5875,141 +4957,6 @@ [ "c4", 50 ] ] }, - { - "type": "item_group", - "id": "mil_armor", - "items": [ - [ "pants_army", 10 ], - [ "jacket_army", 10 ], - [ "winter_pants_army", 30 ], - [ "winter_jacket_army", 30 ], - [ "winter_gloves_army", 30 ], - [ "army_top", 30 ], - [ "kevlar", 10 ], - [ "modularvest", 15 ], - [ "modularvestkevlar", 18 ], - [ "modularvestceramic", 25 ], - [ "modularveststeel", 20 ], - [ "modularvestsuper", 2 ], - [ "modularvesthard", 1 ], - [ "vest", 15 ], - [ "mask_gas", 10 ], - [ "goggles_nv", 1 ], - [ "goggles_ir", 1 ], - [ "optical_cloak", 1 ], - [ "holo_cloak", 1 ], - [ "backpack", 38 ], - [ "UPS_off", 5 ], - [ "adv_UPS_off", 3 ], - [ "tacvest", 10 ], - [ "molle_pack", 8 ], - [ "duffelbag", 15 ], - [ "dump_pouch", 20 ], - [ "legrig", 10 ], - [ "under_armor", 20 ], - [ "boots", 70 ], - [ "boots_combat", 70 ], - [ "gloves_tactical", 30 ], - [ "glasses_bal", 40 ], - [ "armguard_hard", 20 ], - [ "legguard_hard", 15 ], - [ "power_armor_helmet_basic", 3 ], - [ "power_armor_basic", 3 ], - [ "power_armor_frame", 4 ], - [ "helmet_army", 40 ], - [ "helmet_liner", 10 ], - [ "UPS_off", 5 ], - [ "adv_UPS_off", 3 ], - [ "beret", 50 ], - [ "beret_wool", 40 ], - [ "elbow_pads", 50 ], - [ "knee_pads", 50 ], - [ "solarpack", 5 ] - ] - }, - { - "type": "item_group", - "id": "mil_accessories", - "items": [ - [ "mask_gas", 10 ], - [ "duffelbag", 15 ], - [ "goggles_nv", 1 ], - [ "goggles_ir", 1 ], - [ "optical_cloak", 1 ], - [ "holo_cloak", 1 ], - [ "mess_kit", 9 ], - [ "mil_mess_kit", 1 ], - [ "backpack", 38 ], - [ "briefcase", 10 ], - [ "UPS_off", 5 ], - [ "adv_UPS_off", 3 ], - [ "armguard_hard", 20 ], - [ "legguard_hard", 15 ], - [ "power_armor_frame", 4 ], - [ "elbow_pads", 40 ], - [ "knee_pads", 40 ], - [ "mask_bal", 5 ], - [ "e_tool", 10 ], - [ "waterproof_gunmod", 8 ], - [ "grapnel", 3 ], - [ "glasses_bal", 30 ], - [ "sheath", 10 ], - [ "bootsheath", 8 ], - [ "holster", 15 ], - [ "sholster", 10 ], - [ "bandolier_shotgun", 8 ], - [ "solarpack", 5 ], - [ "chem_hexamine", 3 ], - [ "esbit_stove", 6 ], - [ "mess_tin", 4 ], - [ "survival_kit", 4 ] - ] - }, - { - "type": "item_group", - "id": "mil_armor_torso", - "items": [ - [ "kevlar", 10 ], - [ "modularvest", 15 ], - [ "modularvestkevlar", 18 ], - [ "modularvestceramic", 25 ], - [ "modularveststeel", 20 ], - [ "modularvestsuper", 2 ], - [ "modularvesthard", 1 ], - [ "winter_jacket_army", 30 ], - [ "vest", 15 ], - [ "tacvest", 10 ], - [ "molle_pack", 8 ], - [ "under_armor", 20 ], - [ "power_armor_basic", 5 ], - [ "army_top", 30 ], - [ "elbow_pads", 20 ] - ] - }, - { - "type": "item_group", - "id": "mil_armor_helmet", - "items": [ - [ "helmet_army", 40 ], - [ "helmet_liner", 20 ], - [ "beret", 50 ], - [ "beret_wool", 40 ], - [ "mask_bal", 10 ], - [ "power_armor_helmet_basic", 4 ] - ] - }, - { - "type": "item_group", - "id": "mil_armor_pants", - "items": [ - [ "pants_army", 10 ], - [ "winter_pants_army", 40 ], - [ "pants", 75 ], - [ "pants_cargo", 70 ], - [ "legrig", 10 ], - [ "knee_pads", 20 ] - ] - }, { "type": "item_group", "id": "mil_food", @@ -6249,113 +5196,34 @@ [ "hatchet", 10 ], [ "ax", 8 ], [ "knife_combat", 14 ], - [ "kukri", 2 ], - [ "knife_hunting", 4 ], - [ "knife_rambo", 8 ], - [ "knife_rm42", 2 ], - [ "throwing_knife", 7 ], - [ "throwing_axe", 6 ], - [ "punch_dagger", 6 ], - [ "pipe", 20 ], - [ "bat", 60 ], - [ "bullwhip", 10 ], - [ "machete", 5 ], - [ "baton", 8 ], - [ "blackjack", 10 ], - [ "tazer", 3 ], - [ "rapier", 3 ], - [ "cavalry_sabre", 2 ], - [ "bat_metal", 60 ], - [ "e_tool", 2 ], - [ "knife_trench", 7 ], - [ "switchblade", 4 ], - [ "tonfa", 10 ], - [ "tonfa_wood", 10 ], - [ "shocktonfa_off", 5 ], - [ "tanto", 7 ], - [ "wakizashi", 3 ], - [ "nodachi", 1 ], - [ "katana", 2 ], - [ "survnote", 1 ] - ] - }, - { - "type": "item_group", - "id": "survival_armor", - "items": [ - [ "boots_steel", 50 ], - [ "boots_combat", 50 ], - [ "boots_hiking", 50 ], - [ "bootsheath", 8 ], - [ "pants_cargo", 70 ], - [ "shorts_cargo", 50 ], - [ "pants_army", 30 ], - [ "jacket_army", 30 ], - [ "winter_pants_army", 10 ], - [ "winter_jacket_army", 10 ], - [ "winter_gloves_army", 10 ], - [ "jumpsuit", 20 ], - [ "jacket_leather", 30 ], - [ "sleeveless_trenchcoat", 2 ], - [ "sleeveless_trenchcoat_leather", 5 ], - [ "sleeveless_duster", 2 ], - [ "sleeveless_duster_leather", 5 ], - [ "kevlar", 30 ], - [ "modularvest", 12 ], - [ "modularvestkevlar", 10 ], - [ "modularvestceramic", 8 ], - [ "modularveststeel", 5 ], - [ "modularvestsuper", 1 ], - [ "dump_pouch", 20 ], - [ "mask_bal", 5 ], - [ "vest", 15 ], - [ "gloves_fingerless", 20 ], - [ "gloves_tactical", 20 ], - [ "glasses_bal", 20 ], - [ "elbow_pads", 40 ], - [ "knee_pads", 40 ], - [ "mask_filter", 30 ], - [ "mask_gas", 10 ], - [ "goggles_ski", 30 ], - [ "helmet_skid", 30 ], - [ "armguard_hard", 20 ], - [ "legguard_hard", 15 ], - [ "under_armor", 20 ], - [ "long_underpants", 40 ], - [ "long_undertop", 40 ], - [ "union_suit", 20 ], - [ "helmet_ball", 45 ], - [ "helmet_riot", 25 ], - [ "helmet_motor", 40 ], - [ "touring_suit", 15 ], - [ "motorbike_armor", 5 ], - [ "motorbike_pants", 5 ], - [ "motorbike_boots", 5 ], - [ "holster", 8 ], - [ "sholster", 4 ], - [ "bootstrap", 3 ], - [ "legpouch", 12 ], - [ "legpouch_large", 6 ], - [ "chestpouch", 9 ], - [ "ammo_satchel", 4 ], - [ "UPS_off", 5 ], - [ "adv_UPS_off", 3 ], - [ "tacvest", 10 ], - [ "molle_pack", 8 ], - [ "legrig", 10 ], - [ "rucksack", 20 ], - [ "emer_blanket", 20 ], - [ "flotation_vest", 1 ], - [ "fishing_waders", 2 ], - [ "cloak", 5 ], - [ "cloak_wool", 5 ], - [ "tac_helmet", 5 ], - [ "tac_fullhelmet", 2 ], - [ "helmet_lobster", 2 ], - [ "apron_leather", 2 ], - [ "tool_belt", 5 ], - [ "bootsheath", 8 ], - [ "sheath", 5 ] + [ "kukri", 2 ], + [ "knife_hunting", 4 ], + [ "knife_rambo", 8 ], + [ "knife_rm42", 2 ], + [ "throwing_knife", 7 ], + [ "throwing_axe", 6 ], + [ "punch_dagger", 6 ], + [ "pipe", 20 ], + [ "bat", 60 ], + [ "bullwhip", 10 ], + [ "machete", 5 ], + [ "baton", 8 ], + [ "blackjack", 10 ], + [ "tazer", 3 ], + [ "rapier", 3 ], + [ "cavalry_sabre", 2 ], + [ "bat_metal", 60 ], + [ "e_tool", 2 ], + [ "knife_trench", 7 ], + [ "switchblade", 4 ], + [ "tonfa", 10 ], + [ "tonfa_wood", 10 ], + [ "shocktonfa_off", 5 ], + [ "tanto", 7 ], + [ "wakizashi", 3 ], + [ "nodachi", 1 ], + [ "katana", 2 ], + [ "survnote", 1 ] ] }, { @@ -6407,30 +5275,6 @@ [ "chem_aluminium_sulphate", 20 ] ] }, - { - "type": "item_group", - "id": "construction_worker", - "items": [ - [ "boots", 70 ], - [ "boots_steel", 50 ], - [ "boots_hiking", 10 ], - [ "jumpsuit", 20 ], - [ "gloves_rubber", 20 ], - [ "gloves_leather", 45 ], - [ "gloves_work", 45 ], - [ "mask_filter", 30 ], - [ "glasses_safety", 40 ], - [ "hat_hard", 50 ], - [ "hat_hard_hooded", 25 ], - [ "wearable_light", 5 ], - [ "ear_plugs", 50 ], - { "group": "ammo_any_batteries_full", "prob": 50 }, - [ "flashlight", 40 ], - [ "boots_rubber", 20 ], - [ "toolbox", 1 ], - [ "apron_leather", 10 ] - ] - }, { "type": "item_group", "id": "mine_storage", @@ -6516,12 +5360,7 @@ "type": "item_group", "id": "radio", "items": [ - [ "cola", 70 ], - [ "choc_drink", 20 ], - [ "creamsoda", 60 ], - [ "lemonlime", 40 ], - [ "orangesoda", 40 ], - [ "colamdew", 60 ], + { "group": "softdrinks_canned", "prob": 290 }, [ "caffeine", 25 ], [ "maltballs", 30 ], [ "cig", 90 ], @@ -7147,6 +5986,8 @@ [ "bipod", 1 ], [ "50bmg", 3 ], [ "50ss", 2 ], + [ "50match", 1 ], + [ "50_mk211", 1 ], [ "small_repairkit", 10 ], [ "50_incendiary", 2 ], [ "water_clean", 90 ], @@ -7414,8 +6255,8 @@ { "group": "tools_science", "prob": 50 }, [ "ether", 5 ], [ "water_clean", 90 ], - [ "bleach", 20 ], - [ "ammonia", 24 ], + { "item": "bleach", "prob": 20, "charges-min": 1 }, + { "item": "ammonia", "prob": 24, "charges-min": 1 }, [ "mutagen", 8 ], [ "purifier", 12 ], [ "iodine", 5 ], @@ -7540,22 +6381,14 @@ "items": [ [ "water_clean", 90 ], [ "water_mineral", 5 ], - [ "cola", 70 ], - [ "creamsoda", 60 ], - [ "lemonlime", 60 ], - [ "orangesoda", 60 ], - [ "crispycran", 40 ], - [ "colamdew", 60 ], - [ "choc_drink", 30 ], + { "group": "softdrinks_canned", "prob": 380 }, + { "group": "salty_snacks", "prob": 135 }, { "item": "cola", "prob": 25, "container-item": "bottle_glass" }, { "item": "creamsoda", "prob": 25, "container-item": "bottle_glass" }, { "item": "lemonlime", "prob": 25, "container-item": "bottle_glass" }, { "item": "orangesoda", "prob": 25, "container-item": "bottle_glass" }, { "item": "colamdew", "prob": 25, "container-item": "bottle_glass" }, - [ "jerky", 55 ], - [ "cracklins", 25 ], [ "salted_fish", 35 ], - [ "porkstick", 55 ], [ "ravioli", 25 ], [ "cheese_hard", 15 ], [ "can_beans", 40 ], @@ -7627,9 +6460,7 @@ [ "whiskey", 16 ], [ "bum_wine", 10 ], [ "chem_ethanol", 12 ], - [ "jerky", 55 ], - [ "cracklins", 25 ], - [ "porkstick", 55 ], + { "group": "salty_snacks", "prob": 135 }, [ "bandages", 50 ], [ "cotton_ball", 50 ], [ "caffeine", 25 ], @@ -7670,6 +6501,7 @@ [ "backpack", 38 ], [ "backpack_leather", 28 ], [ "holster", 8 ], + [ "bholster", 2 ], [ "armguard_soft", 40 ], [ "armguard_hard", 20 ], [ "legguard_hard", 15 ], @@ -7755,8 +6587,8 @@ [ "meth", 90 ], [ "jar_glass", 80 ], [ "heroin", 1 ], - [ "bleach", 60 ], - [ "ammonia", 60 ], + { "item": "bleach", "prob": 60, "charges-min": 10 }, + { "item": "ammonia", "prob": 60, "charges-min": 10 }, [ "syringe", 30 ], [ "punch_dagger", 12 ], [ "water_clean", 80 ], @@ -7923,73 +6755,11 @@ "id": "cow", "items": [ [ "cow_bell", 1 ] ] }, - { - "type": "item_group", - "id": "loincloth", - "items": [ [ "loincloth", 2 ], [ "loincloth_wool", 1 ], [ "loincloth_fur", 1 ], [ "loincloth_leather", 1 ] ] - }, { "type": "item_group", "id": "dog_cop", "items": [ [ "kevlar_harness", 1 ] ] }, - { - "type": "item_group", - "id": "fireman_torso", - "items": [ [ "bunker_coat", 80 ], [ "vest", 30 ] ] - }, - { - "type": "item_group", - "id": "fireman_pants", - "items": [ [ "bunker_pants", 80 ], [ "nomex_suit", 40 ], [ "pants_cargo", 10 ] ] - }, - { - "type": "item_group", - "id": "fireman_boots", - "items": [ - [ "boots_bunker", 70 ], - [ "boots_steel", 20 ], - [ "boots_combat", 5 ], - [ "boots_rubber", 10 ], - [ "boots_hiking", 5 ], - [ "nomex_socks", 40 ] - ] - }, - { - "type": "item_group", - "id": "fireman_gloves", - "items": [ - [ "fire_gauntlets", 60 ], - [ "gloves_medical", 5 ], - [ "gloves_tactical", 20 ], - [ "gloves_rubber", 10 ], - [ "nomex_gloves", 30 ] - ] - }, - { - "type": "item_group", - "id": "fireman_head", - "items": [ - [ "firehelmet", 60 ], - [ "hat_knit", 10 ], - [ "nomex_hood", 40 ], - [ "hat_hard", 5 ], - [ "hat_hard_hooded", 3 ], - [ "hat_noise_cancelling", 5 ] - ] - }, - { - "type": "item_group", - "id": "fireman_mask", - "items": [ - [ "mask_bunker", 70 ], - [ "mask_dust", 30 ], - [ "mask_gas", 20 ], - [ "mask_filter", 10 ], - [ "goggles_ir", 2 ], - [ "goggles_nv", 1 ] - ] - }, { "type": "item_group", "id": "fireman_gear", @@ -8060,36 +6830,6 @@ [ "bag_body_bag", 5 ] ] }, - { - "type": "item_group", - "id": "hazmat_torso", - "items": [ [ "cleansuit", 40 ], [ "jumpsuit", 60 ] ] - }, - { - "type": "item_group", - "id": "hazmat_boots", - "items": [ [ "boots_rubber", 1 ] ] - }, - { - "type": "item_group", - "id": "hazmat_gloves", - "items": [ [ "gloves_medical", 60 ], [ "gloves_rubber", 40 ] ] - }, - { - "type": "item_group", - "id": "hazmat_full", - "items": [ [ "hazmat_suit", 80 ], [ "anbc_suit", 20 ] ] - }, - { - "type": "item_group", - "id": "hazmat_mask", - "items": [ [ "mask_dust", 80 ], [ "mask_filter", 20 ], [ "mask_gas", 10 ] ] - }, - { - "type": "item_group", - "id": "hazmat_eyes", - "items": [ [ "glasses_safety", 50 ] ] - }, { "type": "item_group", "id": "rad_gear", @@ -8104,280 +6844,6 @@ [ "iodine", 50 ] ] }, - { - "type": "item_group", - "id": "survivorzed_suits", - "items": [ - [ "survivor_suit", 8 ], - [ "lsurvivor_suit", 10 ], - [ "hsurvivor_suit", 6 ], - [ "wsurvivor_suit", 6 ], - [ "fsurvivor_suit", 4 ], - [ "h20survivor_suit", 2 ], - [ "touring_suit", 16 ], - [ "armor_larmor", 28 ], - [ "armor_blarmor", 14 ], - [ "armor_farmor", 8 ], - [ "armor_plarmor", 2 ], - [ "swat_armor", 6 ], - [ "aep_suit", 4 ], - [ "armor_scrapsuit", 12 ], - [ "armor_chitin", 2 ], - [ "armor_lightplate", 1 ], - [ "cuirass_lightplate", 2 ], - [ "armor_plate", 1 ], - [ "bondage_suit", 1 ], - [ "snuggie", 1 ] - ] - }, - { - "type": "item_group", - "id": "survivorzed_tops", - "items": [ - [ "trenchcoat_survivor", 5 ], - [ "sleeveless_trenchcoat_survivor", 2 ], - [ "duster_survivor", 5 ], - [ "sleeveless_duster_survivor", 2 ], - [ "vest", 40 ], - [ "kevlar", 16 ], - [ "jacket_army", 28 ], - [ "trenchcoat", 12 ], - [ "trenchcoat_leather", 10 ], - [ "trenchcoat_fur", 5 ], - [ "sleeveless_trenchcoat", 7 ], - [ "sleeveless_trenchcoat_leather", 5 ], - [ "sleeveless_trenchcoat_fur", 2 ], - [ "duster", 12 ], - [ "duster_leather", 10 ], - [ "duster_fur", 5 ], - [ "sleeveless_duster", 7 ], - [ "sleeveless_duster_leather", 5 ], - [ "sleeveless_duster_fur", 2 ], - [ "peacoat", 14 ], - [ "greatcoat", 7 ], - [ "vest_leather", 22 ], - [ "bunker_coat", 6 ], - [ "bookplate", 10 ], - [ "modularvest", 4 ], - [ "modularvesthard", 1 ], - [ "modularvestkevlar", 2 ], - [ "modularvestceramic", 2 ], - [ "modularveststeel", 1 ], - [ "modularvestsuper", 1 ], - [ "dragonskin", 1 ], - [ "corset", 1 ], - [ "football_armor", 18 ], - [ "jacket_leather", 12 ], - [ "jacket_jean", 8 ], - [ "jacket_flannel", 6 ], - [ "cuirass_scrap", 12 ] - ] - }, - { - "type": "item_group", - "id": "survivorzed_bottoms", - "items": [ - [ "pants_survivor", 10 ], - [ "pants_cargo", 40 ], - [ "shorts_cargo", 22 ], - [ "pants_army", 28 ], - [ "winter_pants_army", 10 ], - [ "bunker_pants", 14 ], - [ "pants_leather", 18 ], - [ "legguard_scrap", 12 ], - [ "skirt", 6 ], - [ "kilt", 1 ] - ] - }, - { - "type": "item_group", - "id": "survivorzed_gloves", - "items": [ - [ "gloves_lsurvivor", 10 ], - [ "gloves_survivor", 8 ], - [ "gloves_hsurvivor", 4 ], - [ "gloves_wsurvivor", 4 ], - [ "gloves_fsurvivor", 2 ], - [ "gloves_h20survivor", 1 ], - [ "gloves_fingerless", 28 ], - [ "gloves_fingerless_mod", 20 ], - [ "gloves_tactical", 12 ], - [ "gauntlets_larmor", 14 ], - [ "gauntlets_chitin", 2 ], - [ "armguard_larmor", 7 ], - [ "vambrace_larmor", 6 ], - [ "armguard_chitin", 1 ], - [ "armguard_scrap", 12 ], - [ "gloves_fur", 4 ], - [ "gloves_leather", 22 ], - [ "gloves_work", 22 ], - [ "gloves_plate", 2 ], - [ "gloves_wraps", 1 ] - ] - }, - { - "type": "item_group", - "id": "survivorzed_boots", - "items": [ - [ "boots_lsurvivor", 10 ], - [ "boots_survivor", 8 ], - [ "boots_hsurvivor", 4 ], - [ "boots_wsurvivor", 4 ], - [ "boots_fsurvivor", 2 ], - [ "boots_h20survivor", 1 ], - [ "boots", 20 ], - [ "boots_scrap", 12 ], - [ "boots_steel", 28 ], - [ "boots_hiking", 24 ], - [ "knee_high_boots", 8 ], - [ "boots_combat", 12 ], - [ "boots_larmor", 14 ], - [ "boots_fur", 22 ], - [ "boots_plate", 2 ], - [ "boots_bunker", 8 ], - [ "footrags", 1 ] - ] - }, - { - "type": "item_group", - "id": "survivorzed_head", - "items": [ - [ "hood_lsurvivor", 10 ], - [ "hood_survivor", 8 ], - [ "helmet_survivor", 8 ], - [ "helmet_hsurvivor", 4 ], - [ "hood_wsurvivor", 4 ], - [ "hood_fsurvivor", 2 ], - [ "hood_h20survivor", 1 ], - [ "helmet_army", 26 ], - [ "tac_helmet", 22 ], - [ "helmet_riot", 18 ], - [ "tac_fullhelmet", 8 ], - [ "helmet_lobster", 8 ], - [ "pot_helmet", 22 ], - [ "helmet_larmor", 14 ], - [ "pickelhaube", 1 ], - [ "firehelmet", 2 ], - [ "helmet_barbute", 1 ], - [ "helmet_plate", 1 ], - [ "helmet_scrap", 12 ], - [ "bondage_mask", 1 ], - [ "survivor_goggles", 10 ], - [ "hood_rain", 14 ] - ] - }, - { - "type": "item_group", - "id": "survivorzed_extra", - "items": [ - [ "daypack", 4 ], - [ "mask_lsurvivor", 10 ], - [ "mask_survivor", 8 ], - [ "mask_hsurvivor", 6 ], - [ "survivor_vest", 8 ], - [ "survivor_runner_pack", 6 ], - [ "survivor_pack", 5 ], - [ "survivor_rucksack", 4 ], - [ "survivor_duffel_bag", 3 ], - [ "dive_bag", 10 ], - [ "runner_bag", 20 ], - [ "molle_pack", 12 ], - [ "backpack", 40 ], - [ "backpack_leather", 32 ], - [ "mbag", 26 ], - [ "purse", 14 ], - [ "slingpack", 12 ], - [ "rucksack", 12 ], - [ "duffelbag", 8 ], - [ "mask_h20survivor", 1 ], - [ "mask_bal", 14 ], - [ "mask_hockey", 26 ], - [ "mask_gas", 24 ], - [ "mask_filter", 12 ], - [ "mask_bunker", 2 ], - [ "mask_wsurvivor", 4 ], - [ "mask_fsurvivor", 2 ], - [ "sunglasses", 12 ], - [ "fitover_sunglasses", 8 ], - [ "glasses_bal", 18 ], - [ "glasses_safety", 24 ], - [ "goggles_ski", 14 ], - [ "goggles_nv", 2 ], - [ "goggles_ir", 1 ], - [ "tacvest", 22 ], - [ "legrig", 22 ], - [ "tool_belt", 16 ], - [ "fanny", 12 ], - [ "dump_pouch", 6 ], - [ "ragpouch", 22 ], - [ "leather_pouch", 16 ], - [ "quiver", 14 ], - [ "quiver_large", 8 ], - [ "wristwatch", 24 ], - [ "diving_watch", 16 ], - [ "pocketwatch", 14 ], - [ "holster", 14 ], - [ "bandana", 18 ], - [ "scarf", 26 ], - [ "long_knit_scarf", 15 ], - [ "mask_gas_xl", 4 ], - [ "hat_boonie", 16 ], - [ "beret", 18 ], - [ "beret_wool", 14 ], - [ "balclava", 12 ], - [ "mask_survivorxl", 2 ], - [ "combatsaw_off", 1 ], - [ "firemachete_off", 1 ], - [ "shishkebab_off", 2 ], - [ "helsing", 1 ], - [ "tihar", 2 ], - [ "bigun", 2 ], - [ "ashot", 4 ], - [ "pickaxe", 1 ], - [ "makeshift_machete", 4 ], - [ "flamethrower_crude", 6 ], - [ "fungicide", 10 ], - [ "insecticide", 10 ], - [ "antifungal", 1 ], - [ "antiparasitic", 5 ], - [ "diazepam", 1 ], - [ "throw_extinguisher", 2 ], - [ "small_repairkit", 14 ], - [ "grapnel", 6 ], - [ "misc_repairkit", 8 ], - [ "survival_kit", 3 ], - [ "toolbox", 1 ], - [ "survivor_belt", 2 ], - [ "survivor_machete", 2 ], - [ "spear_survivor", 2 ], - [ "survivor_light", 24 ], - [ "survivor_mess_kit", 6 ], - [ "survivor_shavingkit", 3 ], - [ "survivor_hairtrimmer", 1 ], - [ "survivor_scope", 1 ], - [ "survnote", 30 ] - ] - }, - { - "type": "item_group", - "id": "bio_op_face", - "items": [ [ "glasses_bal", 40 ], [ "mask_filter", 30 ], [ "mask_bal", 30 ], [ "mask_gas", 40 ] ] - }, - { - "type": "item_group", - "id": "bio_op_torso", - "items": [ [ "dragonskin", 50 ], [ "winter_jacket_army", 10 ], [ "modularvestceramic", 40 ], [ "modularvestkevlar", 20 ] ] - }, - { - "type": "item_group", - "id": "bio_op_boots", - "items": [ [ "boots_combat", 1 ] ] - }, - { - "type": "item_group", - "id": "bio_op_gloves", - "items": [ [ "gloves_tactical", 60 ], [ "gloves_fingerless", 40 ], [ "winter_gloves_army", 40 ] ] - }, { "type": "item_group", "id": "trash_forest", @@ -8426,6 +6892,7 @@ [ "steel_chunk", 1 ], { "item": "scrap", "prob": 2, "count-min": 1, "count-max": 10 }, { "item": "glass_shard", "prob": 3, "count-min": 8, "count-max": 84 }, + { "item": "feather", "prob": 5, "count-min": 5, "count-max": 10 }, [ "wire", 1 ], [ "wire_barbed", 1 ], [ "splinter", 3 ], @@ -8445,6 +6912,8 @@ "ammo": 75, "magazine": 100, "items": [ + { "group": "candy_chocolate", "prob": 320 }, + { "group": "softdrinks_canned", "prob": 244 }, [ "bbgun", 30 ], [ "bb", 30 ], [ "portable_game", 60 ], @@ -8453,26 +6922,11 @@ [ "manual_dodge_kid", 5 ], [ "inflatable_boat", 10 ], [ "hand_pump", 15 ], - [ "chocolate", 30 ], - [ "candy", 45 ], - [ "candy2", 45 ], - [ "candy3", 45 ], - [ "maple_candy", 5 ], [ "toastem", 45 ], [ "toastem2", 45 ], [ "toastem3", 45 ], - [ "powder_candy", 45 ], - [ "neccowafers", 45 ], - [ "maltballs", 45 ], [ "cookies", 45 ], [ "bat", 15 ], - [ "purple_drink", 42 ], - [ "cola", 32 ], - [ "creamsoda", 42 ], - [ "lemonlime", 32 ], - [ "orangesoda", 32 ], - [ "crispycran", 32 ], - [ "colamdew", 32 ], [ "backpack", 20 ], [ "hairpin", 10 ], [ "fc_hairpin", 4 ], @@ -8487,7 +6941,6 @@ [ "novel_pulp", 30 ], [ "fairy_tales", 30 ], [ "mag_comic", 30 ], - [ "candycigarette", 45 ], [ "folding_bicycle", 3 ], [ "sunglasses", 25 ], [ "cowboy_hat", 25 ], @@ -8904,88 +7357,6 @@ [ "hand_axe", 50 ] ] }, - { - "type": "item_group", - "id": "museum_armor", - "items": [ - [ "armor_plate", 60 ], - [ "gloves_plate", 60 ], - [ "boots_plate", 60 ], - [ "armor_lightplate", 45 ], - [ "cuirass_lightplate", 45 ], - [ "armguard_lightplate", 30 ], - [ "legguard_lightplate", 30 ], - [ "helmet_barbute", 50 ], - [ "helmet_conical", 30 ], - [ "armor_lamellar", 20 ], - [ "armor_lorica", 25 ], - [ "armor_samurai", 50 ], - [ "helmet_kabuto", 50 ], - [ "helmet_larmor", 40 ], - [ "helmet_nasal", 50 ], - [ "helmet_galea", 40 ], - [ "boots_larmor", 40 ], - [ "armor_larmor", 40 ], - [ "armguard_larmor", 40 ], - [ "vambrace_larmor", 20 ], - [ "gambeson", 50 ], - [ "legguard_metal", 10 ], - [ "helmet_corinthian", 45 ], - [ "armor_cuirass", 25 ], - [ "legguard_bronze", 20 ] - ] - }, - { - "type": "item_group", - "id": "museum_armor_torso", - "items": [ - [ "armor_plate", 60 ], - [ "armor_lightplate", 45 ], - [ "cuirass_lightplate", 45 ], - [ "armor_lamellar", 20 ], - [ "armor_lorica", 25 ], - [ "armor_samurai", 50 ], - [ "armor_larmor", 40 ], - [ "gambeson", 50 ], - [ "armor_cuirass", 25 ], - [ "chainmail_suit", 10 ], - [ "chainmail_vest", 3 ] - ] - }, - { - "type": "item_group", - "id": "museum_armor_legs", - "items": [ [ "legguard_lightplate", 30 ], [ "legguard_metal", 10 ], [ "legguard_bronze", 20 ], [ "chainmail_legs", 10 ] ] - }, - { - "type": "item_group", - "id": "museum_armor_feet", - "items": [ [ "boots_plate", 60 ], [ "boots_larmor", 40 ] ] - }, - { - "type": "item_group", - "id": "museum_armor_head", - "items": [ - [ "helmet_barbute", 50 ], - [ "helmet_conical", 30 ], - [ "helmet_kabuto", 50 ], - [ "helmet_larmor", 40 ], - [ "helmet_nasal", 50 ], - [ "helmet_galea", 40 ], - [ "chainmail_hood", 30 ] - ] - }, - { - "type": "item_group", - "id": "museum_armor_arms", - "items": [ - [ "armguard_lightplate", 30 ], - [ "armguard_larmor", 40 ], - [ "vambrace_larmor", 20 ], - [ "gloves_plate", 60 ], - [ "chainmail_arms", 30 ] - ] - }, { "type": "item_group", "id": "museum_armor_pet", @@ -9358,8 +7729,7 @@ [ "water_clean", 50 ], [ "granola", 60 ], [ "fruit_leather", 50 ], - [ "jerky", 70 ], - [ "porkstick", 60 ], + { "group": "salty_snacks", "prob": 130 }, [ "aspirin", 80 ], [ "inhaler", 30 ], [ "vodka", 60 ], @@ -9387,6 +7757,8 @@ [ "armguard_soft", 50 ], [ "armguard_hard", 20 ], [ "legguard_hard", 50 ], + [ "leotard", 5 ], + [ "unitard", 5 ], [ "hat_ball", 100 ], [ "helmet_ball", 80 ], [ "baseball", 100 ], @@ -9472,14 +7844,9 @@ "type": "item_group", "id": "coffee_display", "items": [ + { "group": "salty_snacks", "prob": 121 }, [ "sandwich_t", 22 ], - [ "jerky", 17 ], - [ "porkstick", 18 ], [ "tea_raw", 50 ], - [ "fried_seeds", 5 ], - [ "chips", 28 ], - [ "chips2", 27 ], - [ "chips3", 26 ], [ "cookies", 25 ], [ "brownie", 25 ], [ "coffee_raw", 90 ], @@ -9496,11 +7863,8 @@ "items": [ [ "water_clean", 30 ], [ "water_mineral", 15 ], - [ "cola", 30 ], - [ "choc_drink", 30 ], + { "group": "softdrinks_canned", "prob": 121 }, [ "milk_UHT", 10 ], - [ "rootbeer", 33 ], - [ "creamsoda", 28 ], [ "juice", 31 ], [ "pie", 40 ], [ "pie_meat", 28 ], @@ -9573,8 +7937,7 @@ [ "textbook_chemistry", 15 ], [ "child_book", 15 ], [ "manual_dodge_kid", 5 ], - [ "holybook_bible1", 5 ], - [ "holybook_quran", 5 ], + { "group": "religious_books", "prob": 10 }, [ "novel_thriller", 15 ], [ "novel_sports", 15 ], [ "novel_war", 15 ], @@ -9617,7 +7980,8 @@ { "item": "two_way_radio", "prob": 30, "charges-min": 0, "charges-max": 15 }, [ "transponder", 25 ], [ "receiver", 25 ], - [ "small_lcd_screen", 20 ], + [ "small_lcd_screen", 10 ], + [ "large_lcd_screen", 10 ], [ "mobile_memory_card", 35 ], [ "mobile_memory_card_used", 35 ], [ "mobile_memory_card_encrypted", 35 ], @@ -9852,24 +8216,6 @@ [ "32_casing", 70 ] ] }, - { - "id": "dollar_clothes", - "type": "item_group", - "items": [ - [ "bandana", 25 ], - [ "boxer_shorts", 25 ], - [ "boxer_briefs", 25 ], - [ "boy_shorts", 25 ], - [ "bra", 25 ], - [ "socks", 45 ], - [ "stockings", 20 ], - [ "hat_cotton", 35 ], - [ "copper_bracelet", 10 ], - [ "sunglasses", 25 ], - [ "tieclip", 15 ], - [ "hairpin", 15 ] - ] - }, { "id": "dollar_books", "type": "item_group", @@ -9935,12 +8281,10 @@ "id": "dollar_food", "type": "item_group", "items": [ - [ "fruit_leather", 20 ], - [ "chips", 30 ], - [ "pretzels", 30 ], + { "group": "candy_chocolate", "prob": 45 }, + { "group": "salty_snacks", "prob": 80 }, [ "peanut_unshelled", 20 ], [ "almond_unshelled", 20 ], - [ "chocolate", 20 ], [ "cereal", 25 ], [ "cereal3", 25 ], [ "soup_tomato", 25 ], @@ -9955,29 +8299,8 @@ [ "dry_rice", 20 ], [ "dry_beans", 20 ], [ "dry_lentils", 50 ], - [ "bread", 40 ], [ "cookies", 25 ], - [ "candy", 20 ] - ] - }, - { - "type": "item_group", - "id": "coat_rack", - "items": [ - [ "jacket_light", 50 ], - [ "jacket_windbreaker", 25 ], - [ "jacket_jean", 35 ], - [ "blazer", 35 ], - [ "jacket_leather", 30 ], - [ "coat_rain", 50 ], - [ "trenchcoat", 10 ], - [ "duster", 15 ], - [ "peacoat", 30 ], - [ "tophat", 10 ], - [ "hat_ball", 40 ], - [ "fedora", 15 ], - [ "hat_cotton", 30 ], - [ "hat_knit", 20 ] + [ "bread", 40 ] ] }, { @@ -10027,82 +8350,7 @@ [ "touristmap", 3 ], [ "trailmap", 3 ], [ "phonebook", 60 ], - [ "holybook_bible1", 1 ], - [ "holybook_bible2", 1 ], - [ "holybook_quran", 1 ], - [ "holybook_scientology", 1 ] - ] - }, - { - "type": "item_group", - "id": "laundry", - "items": [ - [ "basket_laundry", 30 ], - [ "jeans", 90 ], - [ "pants_checkered", 5 ], - [ "shorts", 70 ], - [ "shorts_denim", 35 ], - [ "pants", 75 ], - [ "breeches", 10 ], - [ "suit", 60 ], - [ "waistcoat", 30 ], - [ "pants_leather", 60 ], - [ "pants_cargo", 70 ], - [ "shorts_cargo", 50 ], - [ "skirt", 75 ], - [ "skirt_leather", 5 ], - [ "tshirt", 70 ], - [ "longshirt", 80 ], - [ "polo_shirt", 65 ], - [ "dress_shirt", 60 ], - [ "tank_top", 50 ], - [ "camisole", 30 ], - [ "bra", 30 ], - [ "undershirt", 30 ], - [ "boxer_shorts", 30 ], - [ "briefs", 15 ], - [ "boxer_briefs", 20 ], - [ "panties", 30 ], - [ "boy_shorts", 25 ], - [ "sweatshirt", 75 ], - [ "sweater", 75 ], - [ "hoodie", 65 ], - [ "jacket_light", 50 ], - [ "jacket_windbreaker", 25 ], - [ "jacket_jean", 35 ], - [ "blazer", 35 ], - [ "gloves_light", 35 ], - [ "mittens", 30 ], - [ "thermal_socks", 2 ], - [ "thermal_gloves", 2 ], - [ "gloves_liner", 25 ], - [ "scarf", 45 ], - [ "scarf_long", 1 ], - [ "hat_cotton", 45 ], - [ "hat_knit", 25 ], - [ "hat_newsboy", 20 ], - [ "under_armor", 20 ], - [ "under_armor_shorts", 20 ], - [ "tights", 20 ], - [ "leggings", 20 ], - [ "stockings", 20 ], - [ "long_underpants", 40 ], - [ "long_undertop", 40 ], - [ "union_suit", 20 ], - [ "arm_warmers", 20 ], - [ "leg_warmers", 20 ], - [ "corset", 10 ], - [ "pants_army", 10 ], - [ "army_top", 20 ], - [ "tux", 1 ], - [ "gown", 1 ], - [ "jersey", 40 ], - [ "maid_dress", 3 ], - [ "halter_top", 50 ], - [ "linuxtshirt", 20 ], - [ "kilt", 5 ], - [ "nanoskirt", 10 ], - [ "robe", 50 ] + { "group": "religious_books", "prob": 4 } ] }, { @@ -10148,21 +8396,6 @@ { "item": "smart_phone", "prob": 1, "charges-min": 130, "charges-max": 130 } ] }, - { - "type": "item_group", - "id": "common_gloves", - "items": [ - { "item": "gloves_light", "prob": 15 }, - { "item": "gloves_leather", "prob": 15 }, - { "item": "gloves_golf", "prob": 15 }, - { "item": "gloves_wool", "prob": 15 }, - { "item": "gloves_winter", "prob": 10 }, - { "item": "gloves_fingerless", "prob": 15 }, - { "item": "gloves_liner", "prob": 15 }, - { "item": "mittens", "prob": 5 }, - { "item": "thermal_gloves", "prob": 2 } - ] - }, { "id": "sewing_group", "type": "item_group", diff --git a/data/json/itemgroups/locations.json b/data/json/itemgroups/locations.json index e8c9b1d061e5e..9a4b69c85f7a8 100644 --- a/data/json/itemgroups/locations.json +++ b/data/json/itemgroups/locations.json @@ -322,8 +322,7 @@ [ "oj", 40 ], [ "juice", 35 ], [ "cranberry_juice", 35 ], - [ "cola", 50 ], - [ "lemonlime", 45 ], + { "group": "softdrinks_canned", "prob": 95 }, [ "V8", 15 ], [ "gum", 15 ] ] @@ -337,8 +336,7 @@ [ "oj", 40 ], [ "juice", 35 ], [ "cranberry_juice", 35 ], - [ "cola", 50 ], - [ "lemonlime", 45 ], + { "group": "softdrinks_canned", "prob": 95 }, [ "V8", 15 ], [ "fries", 7 ], [ "cheese_fries", 5 ], @@ -685,13 +683,11 @@ "id": "ic_merch_vending", "//": "for cs_internet_cafe", "items": [ + { "group": "salty_snacks", "prob": 300 }, [ "water_clean", 100 ], [ "water_mineral", 100 ], [ "coffee", 100 ], - [ "atomic_coffee", 100 ], - [ "chips", 100 ], - [ "chips2", 100 ], - [ "chips3", 100 ] + [ "atomic_coffee", 100 ] ] }, { @@ -1072,6 +1068,8 @@ "//": "for ws_regional_dump", "items": [ { "group": "ammo_pocket_batteries", "prob": 30 }, + { "group": "candy_chocolate", "prob": 570 }, + { "group": "snacks", "prob": 820 }, [ "radio", 10 ], [ "eyedrops", 10 ], [ "rag", 30 ], @@ -1081,43 +1079,7 @@ [ "cell_phone", 10 ], [ "file", 40 ], [ "mag_mechanics", 20 ], - [ "manual_mechanics", 10 ], - [ "chips", 65 ], - [ "fried_seeds", 25 ], - [ "pretzels", 55 ], - [ "chocpretzels", 40 ], - [ "chocolate", 50 ], - [ "jerky", 55 ], - [ "cracklins", 25 ], - [ "pemmican", 5 ], - [ "granola", 10 ], - [ "porkstick", 55 ], - [ "candy", 80 ], - [ "candy2", 80 ], - [ "candy3", 80 ], - [ "maple_candy", 10 ], - [ "powder_candy", 60 ], - [ "neccowafers", 80 ], - [ "maltballs", 80 ], - [ "mintpatties", 80 ], - [ "cookies", 80 ], - [ "tea_raw", 10 ], - [ "coffee_raw", 15 ], - [ "choco_coffee_beans", 10 ], - [ "nachos", 50 ], - [ "chips2", 65 ], - [ "chips3", 65 ], - [ "salt", 10 ], - [ "pepper", 10 ], - [ "syrup", 10 ], - [ "coffee_syrup", 10 ], - [ "popcorn", 25 ], - [ "popcorn2", 35 ], - [ "popcorn3", 35 ], - [ "fruit_leather", 25 ], - [ "kernels", 25 ], - [ "pine_nuts", 5 ], - [ "candycigarette", 20 ] + [ "manual_mechanics", 10 ] ] }, { @@ -1369,7 +1331,8 @@ [ "e_scrap", 95 ], [ "antenna", 50 ], [ "circuit", 35 ], - [ "small_lcd_screen", 20 ], + [ "small_lcd_screen", 10 ], + [ "large_lcd_screen", 10 ], [ "RAM", 35 ], [ "processor", 10 ], [ "amplifier", 7 ], @@ -1462,6 +1425,27 @@ [ "fishing_hook_bone", 100 ] ] }, + { + "id": "hotel_coffee_bar", + "type": "item_group", + "subtype": "collection", + "entries": [ + { "item": "coffeemaker", "prob": 60, "charges": [ 0, 200 ] }, + { "group": "coffee_display", "prob": 60, "count": [ 1, 3 ] } + ] + }, + { + "id": "hotel_luggage", + "type": "item_group", + "subtype": "collection", + "entries": [ { "group": "bags_trip", "prob": 25 }, { "group": "dresser", "prob": 25, "count": [ 1, 4 ] } ] + }, + { + "type": "item_group", + "id": "book_hotel_tower_bible", + "subtype": "collection", + "items": [ { "item": "holybook_bible3", "prob": 100 } ] + }, { "id": "laundromat_bleach", "type": "item_group", diff --git a/data/json/itemgroups/magazines.json b/data/json/itemgroups/magazines.json index 5c2bb315a6f8b..4792860345c53 100644 --- a/data/json/itemgroups/magazines.json +++ b/data/json/itemgroups/magazines.json @@ -127,6 +127,7 @@ [ "ppq40mag_12rd", 2 ], [ "ppq40mag_14rd", 1 ], [ "ppq45mag", 1 ], + [ "taurus_spectrum_mag", 1 ], [ "hptc9", 1 ], [ "hptcf380", 1 ], [ "hptjcp", 1 ], @@ -171,7 +172,6 @@ [ "j22mag", 1 ], [ "kp32mag", 5 ], [ "fn1910mag", 2 ], - [ "taurus38mag", 30 ], [ "ppkmag", 15 ], [ "lw12mag", 5 ], [ "lw21mag", 5 ] diff --git a/data/json/itemgroups/mall_item_groups.json b/data/json/itemgroups/mall_item_groups.json index 42b983079b919..934f64c980d13 100644 --- a/data/json/itemgroups/mall_item_groups.json +++ b/data/json/itemgroups/mall_item_groups.json @@ -29,18 +29,7 @@ { "id": "candy_shop", "type": "item_group", - "items": [ - [ "chocolate", 50 ], - [ "cookies", 50 ], - [ "candy", 60 ], - [ "candy2", 60 ], - [ "candy3", 60 ], - [ "maple_candy", 25 ], - [ "powder_candy", 40 ], - [ "neccowafers", 60 ], - [ "candycigarette", 45 ], - [ "mintpatties", 60 ] - ] + "items": [ { "group": "candy_chocolate", "prob": 460 }, [ "cookies", 50 ] ] }, { "id": "tux_shop", @@ -313,6 +302,8 @@ [ "postman_shirt", 50 ], [ "postman_shorts", 30 ], [ "robe", 45 ], + [ "leotard", 5 ], + [ "zentai", 5 ], [ "kimono", 25 ], [ "yukata", 20 ], [ "coat_lab", 20 ], diff --git a/data/json/itemgroups/mansion.json b/data/json/itemgroups/mansion.json index 2eeb21becb850..353f90610d01a 100644 --- a/data/json/itemgroups/mansion.json +++ b/data/json/itemgroups/mansion.json @@ -57,37 +57,97 @@ "subtype": "collection", "entries": [ { "group": "everyday_gear", "prob": 40 }, - { "group": "shoes", "prob": 30, "damage": [ 0, 4 ] }, - { "group": "shirts", "prob": 60, "damage": [ 0, 4 ] }, - { "group": "jackets", "prob": 20, "damage": [ 0, 4 ] }, - { "group": "common_gloves", "prob": 20, "damage": [ 0, 4 ] }, - { "group": "hatstore_hats", "prob": 20, "damage": [ 0, 4 ] }, - { "group": "hatstore_accessories", "prob": 20, "damage": [ 0, 4 ] }, - { "group": "clothing_glasses", "prob": 20, "damage": [ 0, 4 ] }, - { "group": "jewelry_accessories", "prob": 15 }, - { - "distribution": [ - { "item": "wristwatch", "prob": 15 }, - { "item": "pocketwatch", "prob": 5 }, - { "item": "gold_watch", "prob": 5, "damage": [ 1, 4 ] }, - { "item": "diving_watch", "prob": 10, "damage": [ 1, 4 ] }, - { "item": "sf_watch", "prob": 5, "damage": [ 1, 4 ] } - ], - "prob": 20 - }, + { "group": "coats_unisex", "damage": [ 1, 4 ], "prob": 20 }, + { "group": "common_gloves", "damage": [ 1, 4 ], "prob": 20 }, + { "group": "hatstore_hats", "damage": [ 1, 4 ], "prob": 20 }, + { "group": "scarfs_unisex", "damage": [ 1, 4 ], "prob": 20 }, + { "group": "accesories_personal_unisex", "prob": 15 }, { "distribution": [ { "collection": [ - { "group": "male_underwear", "prob": 90, "damage": [ 0, 4 ] }, - { "group": "pants_male", "prob": 60, "damage": [ 0, 4 ] }, + { + "distribution": [ + { "group": "male_underwear", "prob": 90, "damage": [ 1, 4 ] }, + { "item": "union_suit", "prob": 10, "damage": [ 1, 4 ] } + ] + }, + { + "distribution": [ + { + "collection": [ + { "group": "pants_male", "prob": 60, "damage": [ 1, 4 ] }, + { "group": "shirts_unisex", "prob": 60, "damage": [ 1, 4 ] }, + { "item": "leather_belt", "prob": 30, "damage": [ 1, 4 ] } + ] + }, + { "item": "suit", "prob": 5, "damage": [ 1, 4 ] }, + { "item": "tux", "prob": 5, "damage": [ 1, 4 ] }, + { "item": "thawb", "prob": 10, "damage": [ 1, 4 ] }, + { "item": "cassock", "prob": 10, "damage": [ 1, 4 ] }, + { "item": "haori", "prob": 10, "damage": [ 1, 4 ] } + ] + }, + { "group": "neckties", "prob": 15, "damage": [ 1, 4 ] }, + { "group": "shoes_unisex", "prob": 30, "damage": [ 1, 4 ] }, + { "group": "socks_unisex", "damage": [ 1, 4 ], "prob": 50 }, + { "group": "accesories_personal_mens", "prob": 15, "damage": [ 1, 4 ] }, { "group": "corpse_male" } ] }, { "collection": [ - { "group": "female_underwear", "prob": 90, "damage": [ 0, 4 ] }, - { "group": "pants_female", "prob": 60, "damage": [ 0, 4 ] }, + { "group": "female_underwear", "prob": 90, "damage": [ 1, 4 ] }, + { "group": "accesories_personal_womens", "prob": 15, "damage": [ 1, 4 ] }, + { + "distribution": [ + { + "collection": [ + { "group": "pants_female", "prob": 60, "damage": [ 1, 4 ] }, + { "group": "shoes_unisex", "prob": 30, "damage": [ 1, 4 ] }, + { "group": "shirts_unisex", "prob": 60, "damage": [ 1, 4 ] }, + { + "distribution": [ + { + "distribution": [ { "item": "stockings", "prob": 50, "damage": [ 1, 4 ] }, { "item": "tights", "prob": 50, "damage": [ 1, 4 ] } ] + }, + { "group": "socks_unisex", "prob": 50, "damage": [ 1, 4 ] } + ] + } + ], + "prob": 70 + }, + { + "collection": [ + { + "distribution": [ + { "item": "gown", "prob": 10, "damage": [ 1, 4 ] }, + { "item": "dress", "prob": 70, "damage": [ 1, 4 ] }, + { "item": "sundress", "prob": 50, "damage": [ 1, 4 ] } + ] + }, + { "group": "dress_shoes", "prob": 30, "damage": [ 1, 4 ] }, + { + "distribution": [ { "item": "stockings", "prob": 50, "damage": [ 1, 4 ] }, { "item": "tights", "prob": 50, "damage": [ 1, 4 ] } ] + }, + { "item": "long_glove_white", "prob": 20, "damage": [ 1, 4 ] } + ], + "prob": 20 + }, + { + "collection": [ + { "item": "dress_wedding", "damage": [ 1, 4 ] }, + { "item": "veil_wedding", "damage": [ 1, 4 ] }, + { "group": "dress_shoes", "prob": 30, "damage": [ 1, 4 ] }, + { + "distribution": [ { "item": "stockings", "prob": 50, "damage": [ 1, 4 ] }, { "item": "tights", "prob": 50, "damage": [ 1, 4 ] } ] + }, + { "item": "long_glove_white", "prob": 20, "damage": [ 1, 4 ] } + ], + "prob": 10 + } + ] + }, { "group": "corpse_female" } ] }, @@ -95,6 +155,9 @@ "collection": [ { "group": "underwear", "prob": 90, "damage": [ 0, 4 ] }, { "group": "pants", "prob": 60, "damage": [ 0, 4 ] }, + { "group": "shoes_unisex", "prob": 30, "damage": [ 1, 4 ] }, + { "group": "shirts_unisex", "prob": 60, "damage": [ 1, 4 ] }, + { "group": "socks_unisex", "prob": 50, "damage": [ 1, 4 ] }, { "group": "corpse_child" } ] } @@ -631,6 +694,7 @@ { "item": "blood", "prob": 10, "container-item": "jar_3l_glass" }, [ "bone_human", 10 ], [ "bondage_mask", 10 ], + [ "zentai", 5 ], [ "bondage_suit", 5 ] ] }, @@ -660,6 +724,7 @@ [ "novel_erotic", 10 ], [ "bondage_suit", 10 ], [ "bondage_mask", 10 ], + [ "zentai", 2 ], [ "bullwhip", 10 ], [ "leather_cat_ears", 5 ], [ "leather_cat_tail", 5 ], @@ -700,6 +765,12 @@ [ "fencing_jacket", 10 ], [ "fencing_mask", 10 ], [ "fencing_pants", 10 ], + [ "lame_foil", 10 ], + [ "lame_saber", 10 ], + [ "plastron_cotton", 10 ], + [ "plastron_plastic", 10 ], + [ "gauntlet_fencing", 9 ], + [ "gauntlet_fencing_l", 1 ], [ "iceaxe", 4 ] ] }, @@ -1021,6 +1092,8 @@ [ "tshirt", 60 ], [ "sneakers", 60 ], [ "hot_pants", 44 ], + [ "leotard", 10 ], + [ "unitard", 10 ], [ "undershirt", 60 ], [ "hoodie", 50 ], [ "shorts", 60 ], @@ -1059,10 +1132,10 @@ "items": [ [ "broom", 40 ], [ "mop", 40 ], - [ "ammonia", 24 ], + { "item": "ammonia", "prob": 24, "charges-min": 1 }, [ "chem_hydrogen_peroxide", 20 ], [ "boots_rubber", 20 ], - [ "bleach", 20 ], + { "item": "bleach", "prob": 20, "charges-min": 1 }, { "item": "material_rocksalt", "prob": 10, "container-item": "bag_canvas" }, [ "vinegar", 10 ], { "item": "lye_powder", "prob": 5, "container-item": "bag_canvas_small" }, @@ -1209,6 +1282,8 @@ { "group": "bed", "prob": 30, "damage": [ 0, 2 ] }, [ "sewing_kit", 30 ], [ "rag", 30 ], + [ "lycra_patch", 15 ], + [ "nylon", 10 ], [ "tailors_kit", 20 ] ] }, @@ -1301,6 +1376,8 @@ [ "hoodie", 65 ], [ "under_armor", 20 ], [ "under_armor_shorts", 20 ], + [ "leotard", 5 ], + [ "unitard", 5 ], [ "long_underpants", 40 ], [ "long_undertop", 40 ], [ "union_suit", 20 ], @@ -1346,6 +1423,8 @@ [ "long_underpants", 40 ], [ "long_undertop", 40 ], [ "union_suit", 20 ], + [ "leotard", 5 ], + [ "unitard", 5 ], [ "corset", 10 ], [ "halter_top", 50 ], [ "nanoskirt", 10 ] diff --git a/data/json/itemgroups/supplies.json b/data/json/itemgroups/supplies.json index ae996fb4cd618..49a66fe386f9a 100644 --- a/data/json/itemgroups/supplies.json +++ b/data/json/itemgroups/supplies.json @@ -75,6 +75,7 @@ { "item": "brick", "prob": 40, "count": [ 5, 10 ] }, { "item": "pipe", "prob": 40, "count": [ 5, 10 ] }, { "item": "wire", "prob": 40, "count": [ 5, 10 ] }, + { "item": "screen_mesh", "prob": 40, "count": [ 5, 10 ] }, { "item": "spike", "prob": 40, "count": [ 5, 10 ] }, { "item": "nail", "prob": 60, "count": [ 5, 20 ] }, { "item": "hinge", "prob": 60, "count": [ 5, 10 ] } @@ -152,6 +153,28 @@ [ "pine_bough", 10 ] ] }, + { + "type": "item_group", + "id": "wood_workshop", + "//": "for domestic or small trade wood working shops", + "subtype": "collection", + "items": [ + { + "distribution": [ + { "item": "2x4", "prob": 100, "count": [ 4, 6 ] }, + { "item": "wood_beam", "prob": 10, "count": [ 1, 2 ] }, + { "item": "wood_sheet", "prob": 50, "count": [ 2, 3 ] }, + { "item": "wood_panel", "prob": 30, "count": [ 2, 3 ] }, + { "item": "stick_long", "prob": 30, "count": [ 5, 10 ] }, + { "item": "stick", "prob": 50, "count": [ 1, 7 ] }, + { "item": "nail", "prob": 100, "count": [ 5, 20 ] } + ], + "prob": 100 + }, + [ "plastic_sheet", 5 ], + [ "pine_bough", 3 ] + ] + }, { "id": "supplies_hardware", "type": "item_group", @@ -179,6 +202,7 @@ [ "frame", 20 ], [ "hdframe", 10 ], [ "metal_tank", 10 ], + [ "screen_mesh", 10 ], [ "metal_tank_little", 10 ], [ "water_faucet", 10 ], [ "wood_panel", 10 ], @@ -199,8 +223,8 @@ [ "chem_sulphuric_acid", 30 ], [ "chem_muriatic_acid", 35 ], [ "peephole", 25 ], - [ "chem_chromium_oxide", 5 ], - [ "chem_zinc_powder", 5 ], + { "item": "chem_chromium_oxide", "prob": 5, "charges-min": 100 }, + { "item": "chem_zinc_powder", "prob": 5, "charges-min": 100 }, [ "denat_alcohol", 5 ], [ "recharge_station", 10 ], [ "tarp", 15 ] @@ -214,8 +238,8 @@ [ "water_clean", 90 ], [ "salt_water", 20 ], [ "detergent", 10 ], - [ "bleach", 10 ], - [ "ammonia", 10 ], + { "item": "bleach", "prob": 10, "charges-min": 10 }, + { "item": "ammonia", "prob": 10, "charges-min": 10 }, [ "iodine", 10 ], [ "oxy_powder", 10 ], [ "ash", 5 ], @@ -223,7 +247,7 @@ [ "lye_powder", 10 ], [ "magnesium", 10 ], [ "charcoal", 10 ], - [ "chem_sulphur", 10 ], + { "item": "chem_sulphur", "prob": 10, "charges-min": 100 }, [ "chunk_sulfur", 5 ], [ "chem_aluminium_powder", 10 ], [ "chem_aluminium_sulphate", 10 ], @@ -234,11 +258,11 @@ [ "chem_acetic_acid", 10 ], [ "chem_formaldehyde", 10 ], [ "chem_acetone", 10 ], - [ "chem_carbide", 10 ], + { "item": "chem_carbide", "prob": 10, "charges-min": 100 }, [ "chem_ammonium_nitrate", 10 ], - [ "chem_chromium_oxide", 10 ], - [ "chem_zinc_powder", 10 ], - [ "chem_manganese_dioxide", 10 ], + { "item": "chem_chromium_oxide", "prob": 10, "charges-min": 100 }, + { "item": "chem_zinc_powder", "prob": 10, "charges-min": 100 }, + { "item": "chem_manganese_dioxide", "prob": 10, "charges-min": 100 }, [ "chem_hydrogen_peroxide_conc", 10 ], [ "material_rocksalt", 2 ], [ "ether", 10 ], diff --git a/data/json/itemgroups/tools.json b/data/json/itemgroups/tools.json index bf2b00c4012da..fcdc7a39561b4 100644 --- a/data/json/itemgroups/tools.json +++ b/data/json/itemgroups/tools.json @@ -112,6 +112,7 @@ [ "rope_30", 20 ], [ "flint_steel", 10 ], [ "tinderbox", 10 ], + [ "lifestraw", 4 ], [ "chem_hexamine", 10 ], [ "esbit_stove", 15 ], [ "mess_tin", 10 ] @@ -303,6 +304,7 @@ [ "mess_tin", 5 ], [ "riding_saddle", 3 ], [ "saddlebag", 5 ], + [ "lifestraw", 3 ], [ "acetylene_machine", 2 ] ] }, diff --git a/data/json/items/ammo.json b/data/json/items/ammo.json index 8054707640638..85b7836910917 100644 --- a/data/json/items/ammo.json +++ b/data/json/items/ammo.json @@ -27,7 +27,7 @@ "name": "betavoltaic cell", "symbol": "=", "color": "green", - "description": "Harness the power of radiation in your own home! This looks similar to a D-cell battery, but actually contains folded layers of radioactive material inside. It can produce electricity for several years at a steady voltage... but it's barely enough to power a small LED, and these batteries were worth hundreds of dollars. Mostly they're a good way to brag to your neighbors that you have a nuclear power source in your house.", + "description": "Harness the power of radiation in your own home! This looks similar to a D-cell battery, but actually contains folded layers of radioactive material inside. It can produce electricity for several years at a steady voltage… but it's barely enough to power a small LED, and these batteries were worth hundreds of dollars. Mostly they're a good way to brag to your neighbors that you have a nuclear power source in your house.", "material": [ "steel", "plastic", "lead" ], "flags": [ "LEAK_DAM", "RADIOACTIVE" ], "volume": "250 ml", @@ -100,6 +100,7 @@ "name": "sinew", "symbol": "=", "color": "light_red", + "looks_like": "thread", "description": "A tough sinew cut from a corpse, usable as thread.", "material": "flesh", "volume": "250 ml", @@ -116,6 +117,7 @@ "name": "plant fiber", "symbol": "=", "color": "light_green", + "looks_like": "thread", "description": "Tough thin fiber, taken from a plant. Can be used as thread.", "material": "veggy", "volume": "250 ml", @@ -132,6 +134,7 @@ "name": "yarn", "symbol": "=", "color": "white", + "looks_like": "thread", "description": "Wool yarn, could be used to knit wool clothing.", "material": "wool", "volume": "250 ml", @@ -255,6 +258,28 @@ "container": "metal_tank_little", "count": 10 }, + { + "type": "AMMO", + "id": "rock", + "symbol": "*", + "color": "light_gray", + "name": "rock", + "description": "A rock the size of a baseball. Makes a decent melee weapon, and is also good for throwing at enemies.", + "category": "spare_parts", + "material": "stone", + "ammo_type": "rock", + "flags": "TRADER_AVOID", + "weight": "657 g", + "volume": "250 ml", + "bashing": 7, + "damage": 7, + "range": 10, + "dispersion": 14, + "loudness": 0, + "to_hit": -2, + "effects": [ "NEVER_MISFIRES", "NON-FOULING", "RECOVER_80" ], + "qualities": [ [ "HAMMER", 1 ] ] + }, { "type": "AMMO", "id": "pebble", @@ -281,6 +306,7 @@ "name": "clay pellet", "symbol": "=", "color": "brown", + "looks_like": "pebble", "description": "A handful of round projectiles made of clay, useful for slings or slingshots.", "material": "clay", "volume": "250 ml", @@ -300,6 +326,7 @@ "name": "marble", "symbol": "=", "color": "light_gray", + "looks_like": "pebble", "description": "A handful of glass marbles, useful as ammunition for slings or slingshots.", "material": "glass", "volume": "250 ml", @@ -320,6 +347,7 @@ "name_plural": "bearings", "symbol": "=", "color": "dark_gray", + "looks_like": "pebble", "description": "A box of ball bearings, useful as ammunition for slings or slingshots.", "material": "steel", "volume": "250 ml", @@ -340,6 +368,7 @@ "name": "BB", "symbol": "=", "color": "light_gray", + "looks_like": "pebble", "description": "A box of small steel balls. They deal virtually no damage.", "material": "steel", "volume": "200ml", @@ -991,7 +1020,7 @@ "name": "spiked home-made rocket", "symbol": ",", "color": "dark_gray", - "description": "A hand-built rocket, consisting of a spike welded onto a pipe that was filled with improvised rocket fuel. Horribly inaccurate, as can be expected of this grade of weapon, but packs a fierce punch... if it hits.", + "description": "A hand-built rocket, consisting of a spike welded onto a pipe that was filled with improvised rocket fuel. Horribly inaccurate, as can be expected of this grade of weapon, but packs a fierce punch… if it hits.", "material": [ "steel", "powder" ], "volume": "1500 ml", "weight": "1510 g", @@ -1063,7 +1092,7 @@ "name": "unfinished calcium carbide", "symbol": "=", "color": "white", - "description": "The incomplete process of converting coal and lime into calcium carbide. Useless in this state/", + "description": "The incomplete process of converting coal and lime into calcium carbide. Useless in this state.", "material": "cac2powder", "volume": "250 ml", "weight": "300 g", diff --git a/data/json/items/ammo/410shot.json b/data/json/items/ammo/410shot.json index 69fe0ace77cec..d792ec61eaec2 100644 --- a/data/json/items/ammo/410shot.json +++ b/data/json/items/ammo/410shot.json @@ -4,7 +4,7 @@ "type": "AMMO", "name": ".410 000 shot", "description": "A .410 shell with 5 000 pellets. Good for a hunting or combat load.", - "weight": "32 g", + "weight": "16 g", "volume": "250 ml", "price": 175, "price_postapoc": 3500, @@ -16,9 +16,9 @@ "ammo_type": "410shot", "casing": "410shot_hull", "range": 12, - "damage": 50, - "recoil": 2500, - "loudness": 160, + "damage": 30, + "recoil": 1350, + "loudness": 90, "effects": [ "COOKOFF", "SHOT" ] }, { diff --git a/data/json/items/ammo/50.json b/data/json/items/ammo/50.json index 5e6822144efe2..e7786f0bfe7fc 100644 --- a/data/json/items/ammo/50.json +++ b/data/json/items/ammo/50.json @@ -3,17 +3,17 @@ "id": "50_incendiary", "copy-from": "50bmg", "type": "AMMO", - "name": ".50 BMG tracer", - "description": "A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to help keep the weapon they are fired from on target at the risk of igniting flammable substances.", + "name": ".50 BMG M17 tracer", + "description": "A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep the weapon they are fired from on target at the risk of igniting flammable substances.", "count": 10, "effects": [ "INCENDIARY" ], - "proportional": { "dispersion": 0.8 } + "dispersion": 310 }, { "id": "50bmg", "type": "AMMO", - "name": ".50 BMG Ball", - "description": "The .50 BMG is a very powerful rifle round designed for long-range use. Its stupendous accuracy and armor piercing capabilities make it one of the most deadly rounds available, offset only by its drastic recoil and noise.", + "name": ".50 BMG M33 Ball", + "description": ".50 BMG ammunition with mild steel cored 661gr FMJ bullets. The .50 BMG is a very powerful rifle round designed for anti-aircraft use, later adapted to anti-vehicular and anti-personnel roles. Its stupendous energy and armor piercing capabilities make it one of the most deadly rounds available, offset only by its drastic recoil and noise.", "weight": "114 g", "volume": "250 ml", "price": 2200, @@ -28,35 +28,59 @@ "range": 110, "damage": 131, "pierce": 28, - "dispersion": 30, + "dispersion": 150, "recoil": 26250, "effects": [ "COOKOFF", "NEVER_MISFIRES" ] }, + { + "id": "50match", + "copy-from": "50bmg", + "type": "AMMO", + "name": ".50 BMG Match", + "description": ".50 BMG FMJ lead core ammunition manufactured with tighter tolerances for long-range competition shooting or other precision rifle use.", + "count": 10, + "relative": { "damage": 2, "pierce": -4 }, + "dispersion": 100 + }, { "id": "50ss", "copy-from": "50bmg", "type": "AMMO", - "name": ".50 BMG AP", + "name": ".50 BMG M2 AP", "description": "Variant of the .50 BMG round that uses a core of very dense, hardened tungsten steel. Penetration is increased, but damage is reduced.", "count": 10, - "relative": { "damage": -10, "pierce": 20 } + "relative": { "damage": -10, "pierce": 20 }, + "dispersion": 600 + }, + { + "id": "50_mk211", + "copy-from": "50bmg", + "type": "AMMO", + "name": ".50 BMG Raufoss Mk 211", + "price": 60000, + "price_postapoc": 120000, + "description": "This variant of the .50 BMG round makes the most of the caliber's potential payload delivery: the tip is loaded with an incendiary mix, which ignites on impact, detonating the RDX or PETN charge. This also ignites a secondary zirconium powder incendiary charge that surrounds a tungsten carbide penetrator, both encased by a mild steel cup. Fragments from the cup and burning metallic powder follow the penetrator through armored targets, increasing lethality. These rare, complicated, and expensive rounds are not likely to be manufactured again; use them wisely.", + "effects": [ "INCENDIARY", "EXPLOSIVE_RAUFOSS" ], + "//": "mk 211 is estimated to be as effective as 20mm, which would have 65kJ energy, or 255 damage. ~181 damage is fair.", + "relative": { "damage": 50, "pierce": 20 }, + "dispersion": 100 }, { "id": "reloaded_50_incendiary", "copy-from": "50_incendiary", "type": "AMMO", "name": "reloaded .50 BMG tracer", - "description": "A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to help keep the weapon they are fired from on target at the risk of igniting flammable substances. This one has been hand-reloaded.", + "description": "A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep the weapon they are fired from on target at the risk of igniting flammable substances. This one has been hand-reloaded.", "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } }, { "id": "reloaded_50bmg", - "copy-from": "50bmg", + "copy-from": "50match", "type": "AMMO", - "name": "reloaded .50 BMG Ball", - "description": "The .50 BMG is a very powerful rifle round designed for long-range use. Its stupendous accuracy and armor piercing capabilities make it one of the most deadly rounds available, offset only by its drastic recoil and noise. This one has been hand-reloaded.", + "name": "reloaded .50 BMG Match", + "description": ".50 BMG ammunition with lead-cored FMJ bullets. The .50 BMG is a very powerful rifle round designed for anti-aircraft use, later adapted to anti-vehicular and anti-personnel roles. Its stupendous energy and armor piercing capabilities make it one of the most deadly rounds available, offset only by its drastic recoil and noise.", "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } @@ -66,7 +90,7 @@ "copy-from": "50ss", "type": "AMMO", "name": "reloaded .50 BMG AP", - "description": "Variant of the .50 BMG round that uses a core of very dense, hardened tungsten steel. Penetration is increased, but damage is reduced. This one has been hand-reloaded.", + "description": "Variant of the .50 BMG round that uses a core hardened steel. Penetration is increased, but damage is reduced. This one has been hand-reloaded.", "proportional": { "price": 0.7, "damage": 0.9, "dispersion": 1.1 }, "extend": { "effects": [ "RECYCLED" ] }, "delete": { "effects": [ "NEVER_MISFIRES" ] } diff --git a/data/json/items/ammo_types.json b/data/json/items/ammo_types.json index 90fb087e5be76..5cc3e23802b12 100644 --- a/data/json/items/ammo_types.json +++ b/data/json/items/ammo_types.json @@ -59,6 +59,12 @@ "name": "pebbles", "default": "pebble" }, + { + "type": "ammunition_type", + "id": "rock", + "name": "rocks", + "default": "rock" + }, { "type": "ammunition_type", "id": "shotcanister", @@ -563,6 +569,12 @@ "name": "milk", "default": "milk" }, + { + "type": "ammunition_type", + "id": "milk_raw", + "name": "raw milk", + "default": "milk_raw" + }, { "type": "ammunition_type", "id": "paintball", diff --git a/data/json/items/archery.json b/data/json/items/archery.json index e1ac39d78e832..99e737071c557 100644 --- a/data/json/items/archery.json +++ b/data/json/items/archery.json @@ -25,6 +25,7 @@ "name": "wooden bodkin arrow", "symbol": "=", "color": "green", + "looks_like": "arrow_fire_hardened_fletched", "description": "A fletched wooden arrow shaft with a pointed tip. Useful for piercing armor. Stands a decent chance of remaining intact once fired.", "material": [ "wood", "steel" ], "volume": "250 ml", @@ -45,6 +46,7 @@ "name": "simple wooden small game arrow", "symbol": "=", "color": "green", + "looks_like": "arrow_fire_hardened_fletched", "description": "A simple fletched wooden arrow shaft with a blunted tip. Useful for hunting small woodland creatures without splattering them all over the ground. Stands a low chance of remaining intact once fired.", "material": "wood", "volume": "250 ml", @@ -64,7 +66,8 @@ "name": "wooden broadhead arrow", "symbol": "=", "color": "green", - "description": "A fletched wooden arrow shaft with a bladed tip. Useful for maximising damage to the target. Stands a decent chance of remaining intact once fired.", + "looks_like": "arrow_fire_hardened_fletched", + "description": "A fletched wooden arrow shaft with a bladed tip. Useful for maximizing damage to the target. Stands a decent chance of remaining intact once fired.", "material": [ "wood", "steel" ], "volume": "250 ml", "weight": "55 g", @@ -85,6 +88,7 @@ "name": "simple wooden arrow", "symbol": "=", "color": "green", + "looks_like": "arrow_fire_hardened_fletched", "description": "A simple fletched wooden arrow shaft with a fire-hardened and sharpened tip. Stands a low chance of remaining intact once fired.", "material": "wood", "volume": "250 ml", @@ -104,6 +108,7 @@ "name": "wooden small game arrow", "symbol": "=", "color": "green", + "looks_like": "arrow_fire_hardened_fletched", "description": "A fletched wooden arrow shaft with a blunt tip. Useful for hunting small woodland creatures without splattering them all over the ground. Stands a decent chance of remaining intact once fired.", "material": [ "wood", "steel" ], "volume": "250 ml", @@ -123,6 +128,7 @@ "name": "makeshift wooden arrow", "symbol": "=", "color": "green", + "looks_like": "arrow_fire_hardened_fletched", "description": "A simple fletched wooden arrow shaft with a makeshift arrowhead. Stands a low chance of remaining intact once fired.", "material": "wood", "volume": "250 ml", @@ -143,6 +149,7 @@ "name": "simple metal arrow", "symbol": "=", "color": "green", + "looks_like": "arrow_fire_hardened_fletched", "description": "A simple fletched steel arrow shaft with a flattened and sharpened tip. Stands a somewhat low chance of remaining intact once fired.", "material": "steel", "volume": "250 ml", @@ -163,7 +170,8 @@ "name": "aluminum broadhead arrow", "symbol": "=", "color": "green", - "description": "A fletched aluminum arrow shaft with a bladed tip. Useful for maximising damage to the target. Stands a good chance of remaining intact once fired.", + "looks_like": "arrow_fire_hardened_fletched", + "description": "A fletched aluminum arrow shaft with a bladed tip. Useful for maximizing damage to the target. Stands a good chance of remaining intact once fired.", "material": [ "aluminum", "steel" ], "volume": "250 ml", "weight": "50 g", @@ -185,6 +193,7 @@ "name": "aluminum field point arrow", "symbol": "=", "color": "green", + "looks_like": "arrow_fire_hardened_fletched", "description": "A fletched aluminum arrow shaft with a pointed tip. Useful for piercing armor. Stands a good chance of remaining intact once fired.", "material": [ "aluminum", "steel" ], "volume": "250 ml", @@ -207,6 +216,7 @@ "name": "aluminum small game arrow", "symbol": "=", "color": "green", + "looks_like": "arrow_fire_hardened_fletched", "description": "A fletched aluminum arrow shaft with a blunt tip. Useful for hunting small woodland creatures without splattering them all over the ground. Stands a good chance of remaining intact once fired.", "material": [ "aluminum", "steel" ], "volume": "250 ml", @@ -228,6 +238,7 @@ "name": "carbon fiber hunting arrow", "symbol": "=", "color": "green", + "looks_like": "arrow_fire_hardened_fletched", "description": "A fletched carbon fiber arrow shaft with an expanding broadhead tip. Deals impressive damage to targets. Stands a good chance of remaining intact once fired.", "material": [ "kevlar_rigid", "steel" ], "volume": "250 ml", @@ -249,6 +260,7 @@ "name": "explosive arrow", "symbol": "=", "color": "green", + "looks_like": "arrow_fire_hardened_fletched", "description": "This arrow has a small IED strapped to its tip. Horribly inaccurate, heavy, and bulky, not only does this contraption require expert hands to pull off a shot, it requires one to loose this with a small measure of confidence that the shooter won't be caught in the blast radius.", "material": [ "steel", "powder" ], "volume": "500 ml", @@ -284,6 +296,7 @@ "name": "flaming arrow", "symbol": "=", "color": "green", + "looks_like": "arrow_fire_hardened_fletched", "description": "This arrow has a flaming rag wrapped around the shaft near the head. You should shoot it soon before it burns your bow.", "material": "steel", "volume": "500 ml", @@ -299,11 +312,12 @@ }, { "id": "selfbow", + "looks_like": "longbow", "type": "GUN", "symbol": "(", "color": "yellow", "name": "self bow", - "description": "A primitive bow fashioned from a single piece of wood, made specifically for the person using it. Weak and wildly inaccurate, it doesn't work that well, unfortunately...", + "description": "A primitive bow fashioned from a single piece of wood, made specifically for the person using it. Weak and wildly inaccurate, it doesn't work that well, unfortunately…", "price": 10000, "//": "Not exactly something that would have high resale value, I'm afraid.", "material": "wood", @@ -325,6 +339,7 @@ }, { "id": "shortbow", + "looks_like": "longbow", "type": "GUN", "symbol": "(", "color": "yellow", @@ -352,6 +367,7 @@ }, { "id": "compbow", + "looks_like": "longbow", "type": "GUN", "symbol": "(", "color": "yellow", @@ -426,6 +442,7 @@ }, { "id": "compositebow", + "looks_like": "longbow", "type": "GUN", "symbol": "(", "color": "yellow", @@ -453,6 +470,7 @@ }, { "id": "recurbow", + "looks_like": "longbow", "type": "GUN", "symbol": "(", "color": "yellow", @@ -480,6 +498,7 @@ }, { "id": "reflexbow", + "looks_like": "longbow", "type": "GUN", "symbol": "(", "color": "yellow", @@ -507,6 +526,7 @@ }, { "id": "hybridbow", + "looks_like": "longbow", "type": "GUN", "symbol": "(", "color": "yellow", @@ -534,6 +554,7 @@ }, { "id": "longbow", + "//": "Tileset whitelist for bows", "type": "GUN", "symbol": "(", "color": "yellow", @@ -579,6 +600,7 @@ }, { "id": "compgreatbow", + "looks_like": "longbow", "type": "GUN", "symbol": "(", "color": "yellow", @@ -605,6 +627,7 @@ }, { "id": "reflexrecurvebow", + "looks_like": "longbow", "type": "GUN", "symbol": "(", "color": "yellow", diff --git a/data/json/items/armor.json b/data/json/items/armor.json index 16e1b3e04df88..a3f4f28ea42da 100644 --- a/data/json/items/armor.json +++ b/data/json/items/armor.json @@ -9,6 +9,7 @@ "price": 17900, "material": [ "wool" ], "symbol": "[", + "looks_like": "cowboy_hat", "color": "brown", "covers": [ "HEAD" ], "coverage": 50, @@ -32,6 +33,7 @@ "bashing": 8, "material": [ "wood" ], "symbol": "[", + "looks_like": "arm_splint", "color": "brown", "covers": [ "ARMS" ], "coverage": 75, @@ -55,6 +57,7 @@ "bashing": 8, "material": [ "wood" ], "symbol": "[", + "looks_like": "leg_splint", "color": "brown", "covers": [ "LEGS" ], "coverage": 75, @@ -74,6 +77,7 @@ "price": 140000, "material": [ "kevlar", "plastic" ], "symbol": "[", + "looks_like": "hazmat_suit", "color": "light_red", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 100, @@ -95,6 +99,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "towel", "color": "light_red", "covers": [ "TORSO", "ARMS", "HANDS", "LEGS", "FEET" ], "coverage": 60, @@ -115,6 +120,7 @@ "to_hit": 1, "material": [ "leather" ], "symbol": "[", + "looks_like": "vest_leather", "color": "brown", "covers": [ "TORSO", "LEGS" ], "coverage": 70, @@ -135,6 +141,7 @@ "price": 20000, "material": [ "wood", "cotton" ], "symbol": "[", + "looks_like": "armguard_hard", "color": "white", "covers": [ "ARM_EITHER" ], "coverage": 75, @@ -149,6 +156,7 @@ "name": "arm splint XL", "description": "A tool to help set bones and hold them in place. It is specifically designed to fit Huge survivors.", "copy-from": "arm_splint", + "looks_like": "arm_splint", "weight": "600 g", "volume": "2 L", "price": 25000, @@ -166,6 +174,7 @@ "price": 1000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "armguard_larmor", "color": "light_gray", "covers": [ "ARMS" ], "coverage": 80, @@ -187,6 +196,7 @@ "to_hit": 1, "material": [ "chitin" ], "symbol": "[", + "looks_like": "armguard_hard", "color": "green", "covers": [ "ARMS" ], "coverage": 90, @@ -199,6 +209,7 @@ { "id": "armguard_acidchitin", "copy-from": "armguard_chitin", + "looks_like": "armguard_chitin", "type": "ARMOR", "name": "pair of biosilicified chitin arm guards", "name_plural": "pairs of biosilicified chitin arm guards", @@ -242,6 +253,7 @@ "to_hit": 1, "material": [ "leather" ], "symbol": "[", + "looks_like": "arm_warmers", "color": "brown", "covers": [ "ARMS" ], "coverage": 90, @@ -263,6 +275,7 @@ "to_hit": -1, "material": [ "steel", "leather" ], "symbol": "[", + "looks_like": "armguard_metal", "color": "light_gray", "covers": [ "ARMS" ], "coverage": 95, @@ -285,6 +298,7 @@ "to_hit": 1, "material": [ "iron" ], "symbol": "[", + "looks_like": "armguard_hard", "color": "light_gray", "covers": [ "ARMS" ], "coverage": 80, @@ -306,6 +320,7 @@ "to_hit": 1, "material": [ "paper" ], "symbol": "[", + "looks_like": "armguard_larmor", "color": "blue", "covers": [ "ARMS" ], "coverage": 80, @@ -329,6 +344,7 @@ "cutting": 1, "material": [ "steel", "iron" ], "symbol": "[", + "looks_like": "armguard_metal", "color": "light_gray", "covers": [ "ARMS" ], "coverage": 80, @@ -350,6 +366,7 @@ "to_hit": 1, "material": [ "neoprene", "cotton" ], "symbol": "[", + "looks_like": "arm_warmers", "color": "light_red", "covers": [ "ARMS" ], "coverage": 70, @@ -372,6 +389,7 @@ "bashing": 2, "material": [ "leather" ], "symbol": "[", + "looks_like": "armor_larmor", "color": "brown", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 90, @@ -394,6 +412,7 @@ "bashing": 2, "material": [ "chitin" ], "symbol": "[", + "looks_like": "armor_larmor", "color": "green", "covers": [ "LEGS", "TORSO" ], "coverage": 90, @@ -405,6 +424,7 @@ { "id": "armor_acidchitin", "copy-from": "armor_chitin", + "looks_like": "armor_chitin", "type": "ARMOR", "name": "biosilicified chitin armor", "description": "Leg and body armor crafted from the carefully cleaned and pruned biosilicified exoskeletons of acidic ants. Acid-resistant and very durable.", @@ -425,6 +445,7 @@ "bashing": 2, "material": [ "fur" ], "symbol": "[", + "looks_like": "armor_larmor", "color": "brown", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 90, @@ -437,17 +458,16 @@ { "id": "armor_lamellar", "type": "ARMOR", - "category": "armor", "name": "lamellar cuirass", "name_plural": "lamellar cuirasses", "description": "A cuirass made of multiple pieces of tough leather, laced together for durable yet flexible protection.", "weight": "2108 g", "volume": "9250 ml", "price": 26000, - "to_hit": -5, - "bashing": 2, "material": [ "leather", "cotton" ], "symbol": "[", + "looks_like": "vest_leather", + "copy-from": "armor_chitin", "color": "brown", "covers": [ "TORSO" ], "coverage": 80, @@ -469,6 +489,7 @@ "bashing": 2, "material": [ "leather" ], "symbol": "[", + "looks_like": "touring_suit", "color": "brown", "covers": [ "LEGS", "TORSO" ], "coverage": 90, @@ -491,6 +512,7 @@ "bashing": 8, "material": [ "steel", "leather" ], "symbol": "[", + "looks_like": "armor_larmor", "color": "light_gray", "covers": [ "TORSO", "LEGS", "ARMS" ], "coverage": 95, @@ -512,6 +534,7 @@ "bashing": 6, "material": [ "iron", "leather" ], "symbol": "[", + "looks_like": "armor_lamellar", "color": "light_gray", "covers": [ "TORSO", "ARMS" ], "coverage": 90, @@ -531,6 +554,7 @@ "to_hit": -3, "material": [ "cotton", "leather" ], "symbol": "[", + "looks_like": "touring_suit", "color": "light_red", "covers": [ "TORSO", "ARMS", "LEGS" ], "coverage": 95, @@ -578,6 +602,7 @@ "symbol": "[", "color": "brown", "covers": [ "LEGS", "TORSO", "ARMS" ], + "looks_like": "armor_larmor", "coverage": 90, "encumbrance": 24, "storage": "1500 ml", @@ -599,6 +624,7 @@ "bashing": 8, "material": [ "steel", "leather" ], "symbol": "[", + "looks_like": "armor_lightplate", "color": "light_gray", "covers": [ "TORSO", "LEGS", "ARMS" ], "coverage": 90, @@ -613,7 +639,6 @@ "category": "armor", "name": "riot armor", "description": "Black armor used by riot police officers. The padded layers and hard plastic shoulder guards offer good protection without much encumbrance. The word POLICE is emblazoned across the front.", - "looks_like": "kevlar", "weight": "4000 g", "volume": "7500 ml", "price": 35000, @@ -621,6 +646,7 @@ "bashing": 6, "material": [ "plastic", "cotton" ], "symbol": "[", + "looks_like": "kevlar", "color": "light_gray", "covers": [ "TORSO", "ARMS" ], "coverage": 70, @@ -641,6 +667,7 @@ "bashing": 8, "material": [ "iron", "leather" ], "symbol": "[", + "looks_like": "armor_lightplate", "color": "dark_gray", "covers": [ "TORSO", "LEGS", "ARMS", "HANDS" ], "coverage": 85, @@ -660,6 +687,7 @@ "to_hit": -3, "material": [ "kevlar", "cotton" ], "symbol": "[", + "looks_like": "armor_nomad", "color": "green", "covers": [ "TORSO", "ARMS", "LEGS" ], "coverage": 100, @@ -684,6 +712,7 @@ "cutting": 8, "material": [ "steel", "iron" ], "symbol": "[", + "looks_like": "armor_lightplate", "color": "light_gray", "covers": [ "TORSO", "LEGS", "ARMS" ], "coverage": 80, @@ -702,6 +731,7 @@ "price": 1500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "tank_top", "color": "green", "covers": [ "TORSO" ], "coverage": 60, @@ -720,6 +750,7 @@ "to_hit": 1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "shorts", "color": "cyan", "covers": [ "LEGS" ], "coverage": 50, @@ -738,6 +769,7 @@ "price": 3500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "hat_cotton", "color": "dark_gray", "covers": [ "HEAD", "MOUTH" ], "coverage": 95, @@ -757,6 +789,7 @@ "bashing": 4, "material": [ "leather", "wood" ], "symbol": "[", + "looks_like": "sheath", "color": "brown", "covers": [ "TORSO" ], "coverage": 10, @@ -783,6 +816,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "scarf", "color": "blue", "covers": [ "MOUTH" ], "coverage": 95, @@ -816,6 +850,7 @@ "bashing": 1, "material": [ "plastic" ], "symbol": ")", + "looks_like": "plastic_shopping_bag", "color": "light_gray", "covers": [ "ARMS", "HANDS" ], "coverage": 5, @@ -836,6 +871,7 @@ "to_hit": 1, "material": [ "leather" ], "symbol": "[", + "looks_like": "gloves_leather", "color": "white", "covers": [ "HANDS" ], "coverage": 100, @@ -855,6 +891,7 @@ "price": 4500, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "cowboy_hat", "color": "white", "covers": [ "HEAD", "EYES", "MOUTH" ], "coverage": 100, @@ -875,6 +912,7 @@ "to_hit": -5, "material": [ "cotton" ], "symbol": "[", + "looks_like": "hazmat_suit", "color": "white", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 100, @@ -895,6 +933,7 @@ "price": 1200, "material": [ "cotton" ], "symbol": "[", + "looks_like": "hat_cotton", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 40, @@ -912,6 +951,7 @@ "price": 1500, "material": [ "wool" ], "symbol": "[", + "looks_like": "beret", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 40, @@ -929,6 +969,7 @@ "price": 1000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "panties", "color": "light_red", "covers": [ "LEGS" ], "coverage": 15, @@ -946,6 +987,7 @@ "price": 1800, "material": [ "cotton" ], "symbol": "[", + "looks_like": "bra", "color": "light_red", "covers": [ "TORSO" ], "coverage": 10, @@ -962,6 +1004,7 @@ "price": 4900, "material": [ "fur" ], "symbol": "[", + "looks_like": "bikini_top", "color": "brown", "covers": [ "TORSO" ], "coverage": 10, @@ -979,6 +1022,7 @@ "price": 3500, "material": [ "leather" ], "symbol": "[", + "looks_like": "bikini_top", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 10, @@ -998,6 +1042,7 @@ "bashing": 4, "material": [ "cotton", "wood" ], "symbol": "[", + "looks_like": "plastic_shopping_bag", "color": "light_gray", "covers": [ "ARM_EITHER", "HAND_EITHER" ], "coverage": 4, @@ -1017,6 +1062,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "towel", "color": "blue", "covers": [ "TORSO", "ARMS", "HANDS", "LEGS", "FEET" ], "coverage": 100, @@ -1036,6 +1082,7 @@ "price": 12000, "material": [ "wool" ], "symbol": "[", + "looks_like": "jacket_light", "color": "dark_gray", "covers": [ "TORSO", "ARMS" ], "coverage": 85, @@ -1056,6 +1103,7 @@ "price": 600, "material": [ "cotton" ], "symbol": "[", + "looks_like": "scarf", "color": "dark_gray", "covers": [ "EYES" ], "coverage": 95, @@ -1076,6 +1124,7 @@ "to_hit": -3, "material": [ "leather" ], "symbol": "[", + "looks_like": "balclava", "color": "dark_gray", "covers": [ "HEAD", "EYES", "MOUTH" ], "coverage": 100, @@ -1098,6 +1147,7 @@ "name": "bondage mask (zipped)", "name_plural": "bondage masks (zipped)", "description": "A tight mask made of black leather. The eyes and mouth have been zipped closed.", + "looks_like": "bondage_mask", "flags": [ "VARSIZE", "BLIND" ], "use_action": { "menu_text": "Unzip", @@ -1117,6 +1167,7 @@ "to_hit": -3, "material": [ "leather" ], "symbol": "[", + "looks_like": "armor_larmor", "color": "dark_gray", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 75, @@ -1138,6 +1189,7 @@ "to_hit": -1, "material": [ "paper" ], "symbol": "O", + "looks_like": "armor_scrapsuit", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 80, @@ -1157,6 +1209,7 @@ "to_hit": -1, "material": [ "leather" ], "symbol": "[", + "looks_like": "sheath", "color": "brown", "covers": [ "FOOT_EITHER" ], "coverage": 5, @@ -1183,6 +1236,7 @@ "to_hit": -1, "material": [ "leather" ], "symbol": "[", + "looks_like": "bscabbard", "color": "brown", "covers": [ "TORSO" ], "coverage": 5, @@ -1209,6 +1263,7 @@ "price": 4500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "hat_cotton", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 50, @@ -1229,6 +1284,7 @@ "price": 1000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "shorts", "color": "light_gray", "covers": [ "LEGS" ], "coverage": 20, @@ -1247,6 +1303,7 @@ "price": 1000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "boxer_briefs", "color": "light_gray", "covers": [ "LEGS" ], "coverage": 25, @@ -1266,6 +1323,7 @@ "to_hit": 1, "material": [ "leather" ], "symbol": "[", + "looks_like": "gloves_leather", "color": "red", "covers": [ "HANDS" ], "coverage": 100, @@ -1286,6 +1344,7 @@ "price": 1000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "boxer_briefs", "color": "light_gray", "covers": [ "LEGS" ], "coverage": 25, @@ -1303,6 +1362,7 @@ "price": 1000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "tank_top", "color": "white", "covers": [ "TORSO" ], "coverage": 15, @@ -1322,6 +1382,7 @@ "to_hit": 1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "pants", "color": "brown", "covers": [ "LEGS" ], "coverage": 80, @@ -1342,6 +1403,7 @@ "bashing": 5, "material": [ "plastic" ], "symbol": "[", + "looks_like": "plastic_shopping_bag", "color": "light_gray", "covers": [ "ARM_EITHER", "HAND_EITHER" ], "coverage": 10, @@ -1354,6 +1416,7 @@ "id": "hk_briefcase", "type": "ARMOR", "copy-from": "briefcase", + "looks_like": "briefcase", "name": "H&K operational briefcase (empty)", "description": "This is a plain, hard-sided black briefcase with a trigger in the handle and a concealed hole in the side. Squeezing the trigger would currently do nothing, as it is empty. Don't forget to put a suitable MP5 back inside before you try to pay any ransom fees with lead.", "storage": "14500 ml", @@ -1371,6 +1434,7 @@ "price": 1000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "boxer-briefs", "color": "white", "covers": [ "LEGS" ], "coverage": 15, @@ -1389,6 +1453,7 @@ "bashing": 4, "material": [ "leather", "wood" ], "symbol": "[", + "looks_like": "baldric", "color": "brown", "covers": [ "TORSO" ], "coverage": 10, @@ -1416,6 +1481,7 @@ "to_hit": -1, "material": [ "nomex", "kevlar" ], "symbol": "[", + "looks_like": "coat_winter", "color": "yellow", "covers": [ "TORSO", "ARMS" ], "coverage": 100, @@ -1440,6 +1506,7 @@ "to_hit": -1, "material": [ "nomex", "kevlar" ], "symbol": "[", + "looks_like": "pants_cargo", "color": "dark_gray", "covers": [ "LEGS" ], "coverage": 100, @@ -1461,6 +1528,7 @@ "to_hit": -5, "material": [ "cotton" ], "symbol": "[", + "looks_like": "tank_top", "color": "light_blue", "covers": [ "TORSO" ], "coverage": 45, @@ -1478,6 +1546,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "]", + "looks_like": "cloak", "color": "pink", "covers": [ "TORSO" ], "coverage": 50, @@ -1498,6 +1567,7 @@ "to_hit": -5, "material": [ "cotton" ], "symbol": "[", + "looks_like": "robe", "color": "dark_gray", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 90, @@ -1519,6 +1589,7 @@ "to_hit": -1, "material": [ "iron", "cotton" ], "symbol": "[", + "looks_like": "armguard_metal", "color": "light_red", "covers": [ "ARMS" ], "coverage": 95, @@ -1538,6 +1609,7 @@ "to_hit": -1, "material": [ "iron", "cotton" ], "symbol": "[", + "looks_like": "balclava", "color": "light_red", "covers": [ "HEAD" ], "coverage": 95, @@ -1558,6 +1630,7 @@ "to_hit": -1, "material": [ "iron", "cotton" ], "symbol": "[", + "looks_like": "legguard_hard", "color": "light_red", "covers": [ "LEGS" ], "coverage": 95, @@ -1577,6 +1650,7 @@ "to_hit": -1, "material": [ "iron", "cotton" ], "symbol": "[", + "looks_like": "armor_blarmor", "color": "light_red", "covers": [ "TORSO", "ARMS", "LEGS" ], "coverage": 95, @@ -1597,6 +1671,7 @@ "to_hit": -1, "material": [ "iron", "cotton" ], "symbol": "[", + "looks_like": "touring_suit", "color": "light_red", "covers": [ "TORSO", "HEAD", "ARMS", "LEGS" ], "coverage": 95, @@ -1617,6 +1692,7 @@ "to_hit": -1, "material": [ "iron", "cotton" ], "symbol": "[", + "looks_like": "vest_leather", "color": "light_red", "covers": [ "TORSO" ], "coverage": 95, @@ -1624,6 +1700,65 @@ "material_thickness": 4, "flags": [ "VARSIZE", "STURDY" ] }, + { + "id": "chainmail_feet", + "type": "ARMOR", + "category": "armor", + "name": "pair of chainmail chausses", + "name_plural": "pairs of chainmail chausses", + "description": "Customized chainmail chausses that cover the feet, like booties made of chainmail.", + "weight": "2006 g", + "volume": "500 ml", + "price": 5012, + "to_hit": -1, + "material": [ "iron", "cotton" ], + "symbol": "[", + "color": "light_red", + "covers": [ "FEET" ], + "coverage": 100, + "encumbrance": 20, + "material_thickness": 4, + "flags": [ "VARSIZE", "STURDY" ] + }, + { + "id": "chainmail_hands", + "type": "ARMOR", + "category": "armor", + "name": "pair of chainmail gloves", + "name_plural": "pairs of chainmail gloves", + "description": "Customized chainmail gloves. They fully enclose the fingers and provide excellent protection, but are somewhat cumbersome.", + "weight": "2006 g", + "volume": "500 ml", + "price": 5012, + "to_hit": -1, + "material": [ "iron", "cotton" ], + "symbol": "[", + "color": "light_red", + "covers": [ "HANDS" ], + "coverage": 100, + "encumbrance": 30, + "material_thickness": 4, + "flags": [ "VARSIZE", "STURDY" ] + }, + { + "id": "chainmail_suit_faraday", + "type": "ARMOR", + "category": "armor", + "name": "faraday chainmail suit", + "description": "A fully customized chainmail suit that can be worn over your normal clothing. The suit is conductively interconnected, protecting against electricity.", + "weight": "23335 g", + "volume": "3500 ml", + "price": 35000, + "to_hit": -1, + "material": [ "iron", "cotton" ], + "symbol": "[", + "color": "light_red", + "covers": [ "TORSO", "HEAD", "ARMS", "HANDS", "LEGS", "FEET" ], + "coverage": 100, + "encumbrance": 30, + "material_thickness": 4, + "flags": [ "VARSIZE", "STURDY", "HELMET_COMPAT", "ELECTRIC_IMMUNE", "OUTER" ] + }, { "id": "chaps_leather", "type": "ARMOR", @@ -1636,6 +1771,7 @@ "to_hit": -1, "material": [ "leather" ], "symbol": "[", + "looks_like": "pants_leather", "color": "dark_gray", "covers": [ "LEGS" ], "coverage": 65, @@ -1656,6 +1792,7 @@ "to_hit": -2, "material": [ "plastic", "neoprene" ], "symbol": "H", + "looks_like": "cuirass_lightplate", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 90, @@ -1675,6 +1812,7 @@ "price": 500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "tshirt", "color": "brown", "covers": [ "TORSO" ], "coverage": 25, @@ -1692,6 +1830,7 @@ "price": 700, "material": [ "fur" ], "symbol": "[", + "looks_like": "chestwrap_leather", "color": "brown", "covers": [ "TORSO" ], "coverage": 25, @@ -1710,6 +1849,7 @@ "price": 525, "material": [ "leather" ], "symbol": "[", + "looks_like": "chestwrap", "color": "brown", "covers": [ "TORSO" ], "coverage": 25, @@ -1728,6 +1868,7 @@ "price": 500, "material": [ "wool" ], "symbol": "[", + "looks_like": "chestwrap", "color": "blue", "covers": [ "TORSO" ], "coverage": 25, @@ -1746,6 +1887,7 @@ "price": 7700, "material": [ "plastic" ], "symbol": "[", + "looks_like": "jumpsuit", "color": "white", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 100, @@ -1766,6 +1908,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "coat_rain", "color": "green", "covers": [ "TORSO", "ARMS", "LEGS" ], "coverage": 65, @@ -1786,6 +1929,7 @@ "to_hit": -1, "material": [ "fur" ], "symbol": "[", + "looks_like": "cloak_leather", "color": "brown", "covers": [ "TORSO", "ARMS", "LEGS" ], "coverage": 65, @@ -1806,6 +1950,7 @@ "to_hit": -1, "material": [ "leather" ], "symbol": "[", + "looks_like": "cloak", "color": "dark_gray", "covers": [ "TORSO", "ARMS", "LEGS" ], "coverage": 65, @@ -1826,6 +1971,7 @@ "to_hit": -1, "material": [ "wool" ], "symbol": "[", + "looks_like": "cloak", "color": "blue", "covers": [ "TORSO", "ARMS", "LEGS" ], "coverage": 65, @@ -1846,6 +1992,7 @@ "to_hit": -3, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "touring_suit", "color": "pink", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 90, @@ -1855,6 +2002,39 @@ "material_thickness": 2, "flags": [ "VARSIZE", "FANCY", "POCKETS", "OUTER" ] }, + { + "id": "clown_wig", + "type": "ARMOR", + "name": "clown wig", + "description": "A colorful and ridiculous wig fit for a clown.", + "weight": "125 g", + "volume": "1 L", + "price": 2500, + "to_hit": -3, + "material": [ "cotton" ], + "symbol": "[", + "color": "pink", + "covers": [ "HEAD" ], + "coverage": 60, + "encumbrance": 5, + "warmth": 20, + "material_thickness": 1, + "environmental_protection": 1, + "flags": [ "VARSIZE", "FANCY" ] + }, + { + "id": "clown_nose", + "type": "ARMOR", + "name": "clown nose", + "description": "A red latex nose often seen being worn by clowns.", + "weight": "150 g", + "volume": "100 ml", + "price": 800, + "material": [ "plastic" ], + "symbol": ".", + "color": "red", + "flags": [ "FANCY" ] + }, { "id": "coat_fur", "type": "ARMOR", @@ -1866,6 +2046,7 @@ "to_hit": -5, "material": [ "fur", "cotton" ], "symbol": "[", + "looks_like": "coat_winter", "color": "brown", "covers": [ "TORSO", "ARMS" ], "coverage": 95, @@ -1880,6 +2061,7 @@ "id": "coat_faux_fur", "type": "ARMOR", "copy-from": "coat_fur", + "looks_like": "coat_fur", "name": "faux fur coat", "description": "A garishly-colored faux fur coat with a couple small pockets. Although not as warm as the natural fur, it gives you some of that unique flair.", "material": [ "faux_fur", "cotton" ], @@ -1899,6 +2081,7 @@ "to_hit": -5, "material": [ "fur", "cotton" ], "symbol": "[", + "looks_like": "coat_fur", "color": "brown", "covers": [ "TORSO", "ARMS" ], "coverage": 95, @@ -1920,6 +2103,7 @@ "to_hit": -2, "material": [ "cotton" ], "symbol": "[", + "looks_like": "coat_winter", "color": "white", "covers": [ "TORSO", "ARMS" ], "coverage": 90, @@ -1939,6 +2123,7 @@ "price": 7900, "material": [ "plastic", "cotton" ], "symbol": "[", + "looks_like": "coat_winter", "color": "yellow", "covers": [ "TORSO", "ARMS" ], "coverage": 95, @@ -1959,6 +2144,7 @@ "price": 13000, "material": [ "gutskin" ], "symbol": "[", + "looks_like": "coat_rain", "color": "light_gray", "covers": [ "TORSO", "ARMS" ], "coverage": 95, @@ -1979,6 +2165,7 @@ "to_hit": -2, "material": [ "cotton" ], "symbol": "[", + "looks_like": "coat_rain", "color": "light_red", "covers": [ "TORSO", "ARMS" ], "coverage": 95, @@ -2000,6 +2187,7 @@ "to_hit": -3, "material": [ "leather" ], "symbol": "[", + "looks_like": "vest_leather", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 75, @@ -2019,6 +2207,7 @@ "price": 9500, "material": [ "leather" ], "symbol": "[", + "looks_like": "bowlhat", "color": "brown", "covers": [ "HEAD" ], "coverage": 50, @@ -2039,6 +2228,7 @@ "to_hit": -2, "material": [ "wool" ], "symbol": "[", + "looks_like": "scarf", "color": "white", "covers": [ "MOUTH" ], "coverage": 70, @@ -2057,6 +2247,7 @@ "price": 30000, "material": [ "gold" ], "symbol": "[", + "looks_like": "hat_cotton", "color": "yellow", "covers": [ "HEAD" ], "coverage": 30, @@ -2074,6 +2265,7 @@ "price": 30000, "material": [ "gold" ], "symbol": "[", + "looks_like": "crown_golden", "color": "yellow", "covers": [ "HEAD" ], "coverage": 30, @@ -2094,6 +2286,7 @@ "to_hit": -1, "material": [ "steel", "leather" ], "symbol": "[", + "looks_like": "chestguard_hard", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 95, @@ -2117,6 +2310,7 @@ "cutting": 3, "material": [ "steel", "iron" ], "symbol": "[", + "looks_like": "cuirass_lightplate", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 80, @@ -2131,6 +2325,7 @@ "name": "daypack", "description": "An ultralight nylon backpack intended for one-day hiking trips. Waterproof, slim, and spacious.", "symbol": "[", + "looks_like": "backpack", "color": "red", "weight": 411, "volume": "2 L", @@ -2146,8 +2341,7 @@ "max_encumbrance": 18, "storage": 96, "warmth": 5, - "flags": [ "BELTED", "OVERSIZE", "STURDY" ], - "looks_like": "backpack" + "flags": [ "BELTED", "OVERSIZE", "STURDY" ] }, { "id": "dinosuit", @@ -2160,6 +2354,7 @@ "to_hit": -3, "material": [ "cotton" ], "symbol": "[", + "looks_like": "wolfsuit", "color": "light_green", "covers": [ "LEGS", "TORSO", "ARMS", "HANDS", "HEAD", "FEET", "MOUTH", "EYES" ], "coverage": 100, @@ -2181,6 +2376,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "blanket", "color": "blue", "covers": [ "TORSO", "ARMS", "HANDS", "LEGS", "FEET" ], "coverage": 100, @@ -2203,6 +2399,7 @@ "bashing": 6, "material": [ "lightceramic", "kevlar" ], "symbol": "[", + "looks_like": "kevlar", "color": "light_red", "covers": [ "TORSO" ], "coverage": 95, @@ -2224,6 +2421,7 @@ "bashing": 6, "material": [ "kevlar" ], "symbol": "[", + "looks_like": "dragonskin", "color": "light_red", "covers": [ "TORSO" ], "coverage": 25, @@ -2244,6 +2442,7 @@ "to_hit": -5, "material": [ "cotton" ], "symbol": "[", + "looks_like": "robe", "color": "pink", "covers": [ "LEGS", "TORSO" ], "coverage": 85, @@ -2262,6 +2461,7 @@ "price": 1500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "longshirt", "color": "white", "covers": [ "TORSO", "ARMS" ], "coverage": 90, @@ -2271,6 +2471,25 @@ "material_thickness": 1, "flags": [ "VARSIZE", "FANCY" ] }, + { + "id": "drinking_hat", + "type": "ARMOR", + "category": "clothing", + "symbol": "[", + "color": "blue", + "name": "drinking hat", + "description": "This is an improvised harness that can be worn over other headgear or bare head, made from two small liquid containers, a rubber hose, a bundle of steel wire, and some cordage. A convenient and simple device for hands-free drinking, though the liquid inside would spill if you put it into your backpack.", + "price": 1000, + "material": [ "cotton", "aluminum" ], + "weight": "733 g", + "volume": "1500 ml", + "encumbrance": 5, + "covers": [ "HEAD" ], + "coverage": 15, + "material_thickness": 1, + "container_data": { "contains": "500 ml", "watertight": true }, + "flags": [ "OVERSIZE", "BELTED", "ALLOWS_NATURAL_ATTACKS", "WATER_FRIENDLY" ] + }, { "id": "dress_wedding", "type": "ARMOR", @@ -2283,6 +2502,7 @@ "to_hit": -5, "material": [ "cotton" ], "symbol": "[", + "looks_like": "dress", "color": "white", "covers": [ "LEGS", "TORSO" ], "coverage": 90, @@ -2304,6 +2524,7 @@ "bashing": 1, "material": [ "kevlar", "plastic" ], "symbol": "[", + "looks_like": "holster", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 10, @@ -2323,6 +2544,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "trenchcoat", "color": "dark_gray", "covers": [ "TORSO", "ARMS", "LEGS" ], "coverage": 90, @@ -2344,6 +2566,7 @@ "to_hit": -1, "material": [ "fur" ], "symbol": "[", + "looks_like": "duster_leather", "color": "brown", "covers": [ "TORSO", "ARMS", "LEGS" ], "coverage": 90, @@ -2358,6 +2581,7 @@ "id": "duster_faux_fur", "type": "ARMOR", "copy-from": "duster_fur", + "looks_like": "duster_fur", "name": "faux fur duster", "description": "A thick faux fur duster, falling below your knees. Has many pockets for storing things.", "material": [ "faux_fur", "cotton" ], @@ -2376,6 +2600,7 @@ "to_hit": -1, "material": [ "leather" ], "symbol": "[", + "looks_like": "duster", "color": "brown", "covers": [ "TORSO", "ARMS", "LEGS" ], "coverage": 90, @@ -2398,6 +2623,7 @@ "to_hit": -1, "material": [ "cotton", "kevlar" ], "symbol": "[", + "looks_like": "duster_leather", "color": "brown", "covers": [ "TORSO", "ARMS", "LEGS" ], "coverage": 85, @@ -2434,6 +2660,7 @@ "price": 7000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "bowlhat", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 60, @@ -2454,6 +2681,7 @@ "to_hit": 1, "material": [ "plastic", "cotton" ], "symbol": "[", + "looks_like": "armguards_hard", "color": "dark_gray", "covers": [ "ARMS" ], "coverage": 30, @@ -2472,6 +2700,7 @@ "to_hit": -2, "material": [ "glass", "plastic" ], "symbol": "[", + "looks_like": "sunglasses", "color": "dark_gray", "covers": [ "EYES" ], "coverage": 95, @@ -2493,6 +2722,7 @@ "bashing": 1, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "holster", "color": "green", "covers": [ "TORSO" ], "coverage": 10, @@ -2501,6 +2731,41 @@ "material_thickness": 1, "flags": [ "WAIST", "WATER_FRIENDLY" ] }, + { + "id": "plastron_cotton", + "type": "ARMOR", + "name": "underarm protector", + "description": "A sturdy cotton plastron that protects much of the torso, the dominant shoulder, and underarm while fencing.", + "weight": "110 g", + "volume": "500 ml", + "price": 1600, + "material": [ "cotton" ], + "symbol": "[", + "color": "white", + "covers": [ "TORSO" ], + "coverage": 65, + "warmth": 5, + "material_thickness": 3, + "flags": [ "SKINTIGHT" ] + }, + { + "id": "plastron_plastic", + "type": "ARMOR", + "name": "plastic chest protector", + "description": "A rigid plastic plastron with molded cups to be worn by female fencers for protection while fencing.", + "weight": "194 g", + "volume": "850 ml", + "price": 3000, + "material": [ "plastic" ], + "symbol": "[", + "color": "white", + "covers": [ "TORSO" ], + "coverage": 35, + "encumbrance": 2, + "warmth": 5, + "material_thickness": 3, + "flags": [ "SKINTIGHT" ] + }, { "id": "fencing_jacket", "type": "ARMOR", @@ -2510,15 +2775,52 @@ "weight": "800 g", "volume": "2500 ml", "price": 3000, - "material": [ "cotton", "kevlar" ], + "material": [ "cotton", "nylon" ], "symbol": "[", + "looks_like": "coat_lab", "color": "white", "covers": [ "TORSO", "ARMS" ], "coverage": 100, "encumbrance": 5, "warmth": 25, - "material_thickness": 2, - "flags": [ "OUTER" ] + "material_thickness": 3, + "flags": [ "STURDY" ] + }, + { + "id": "lame_foil", + "type": "ARMOR", + "name": "lamé (foil)", + "description": "A thin, lightweight conductive vest with the zipper on the back used by fencers for electronic scoring. Its outer layer is a woven mix of sturdy cotton and stainless steel strands.", + "weight": "843 g", + "volume": "2500 ml", + "price": 3000, + "material": [ "cotton", "budget_steel" ], + "symbol": "[", + "color": "light_gray", + "covers": [ "TORSO" ], + "coverage": 100, + "encumbrance": 8, + "warmth": 10, + "material_thickness": 1, + "flags": [ "VARSIZE", "OUTER" ] + }, + { + "id": "lame_saber", + "type": "ARMOR", + "name": "lamé (saber)", + "description": "A thin, lightweight conductive jacket used by fencers for electronic scoring. Its outer layer is a woven mix of sturdy cotton and stainless steel strands.", + "weight": "1043 g", + "volume": "2500 ml", + "price": 8500, + "material": [ "cotton", "budget_steel" ], + "symbol": "[", + "color": "light_gray", + "covers": [ "TORSO", "ARMS" ], + "coverage": 100, + "encumbrance": 8, + "warmth": 10, + "material_thickness": 1, + "flags": [ "VARSIZE", "OUTER" ] }, { "id": "fencing_mask", @@ -2530,6 +2832,7 @@ "price": 3500, "material": [ "cotton", "steel" ], "symbol": "[", + "looks_like": "balclava", "color": "dark_gray", "covers": [ "HEAD", "MOUTH", "EYES" ], "coverage": 90, @@ -2548,6 +2851,7 @@ "price": 2500, "material": [ "cotton", "kevlar" ], "symbol": "[", + "looks_like": "pants", "color": "white", "covers": [ "LEGS" ], "coverage": 95, @@ -2557,6 +2861,46 @@ "material_thickness": 2, "flags": [ "VARSIZE" ] }, + { + "id": "gauntlet_fencing", + "type": "ARMOR", + "name": "fencing gauntlet", + "description": "A single suede glove with sturdy cotton wrists, padded backs and well-fitting fingers.", + "weight": "175 g", + "volume": "250 ml", + "price": 6400, + "to_hit": -2, + "material": [ "leather", "cotton" ], + "symbol": "[", + "color": "white", + "covers": [ "HAND_R" ], + "encumbrance": 4, + "coverage": 100, + "warmth": 15, + "material_thickness": 3, + "environmental_protection": 1, + "flags": [ "STURDY" ] + }, + { + "id": "gauntlet_fencing_l", + "type": "ARMOR", + "name": "fencing gauntlet (left)", + "description": "A single suede glove with sturdy cotton wrists, padded backs and well-fitting fingers. This one is left-handed.", + "weight": "175 g", + "volume": "250 ml", + "price": 6400, + "to_hit": -2, + "material": [ "leather", "cotton" ], + "symbol": "[", + "color": "white", + "covers": [ "HAND_L" ], + "encumbrance": 4, + "coverage": 100, + "warmth": 15, + "material_thickness": 3, + "environmental_protection": 1, + "flags": [ "STURDY" ] + }, { "id": "fire_gauntlets", "type": "ARMOR", @@ -2570,6 +2914,7 @@ "to_hit": 2, "material": [ "leather", "nomex" ], "symbol": "[", + "looks_like": "gloves_leather", "color": "dark_gray", "covers": [ "HANDS" ], "coverage": 100, @@ -2592,6 +2937,7 @@ "bashing": 4, "material": [ "plastic", "nomex" ], "symbol": "[", + "looks_like": "hat_cowboy", "color": "yellow", "covers": [ "HEAD" ], "coverage": 75, @@ -2612,6 +2958,7 @@ "bashing": 5, "material": [ "leather", "steel" ], "symbol": "[", + "looks_like": "holster", "color": "yellow", "covers": [ "TORSO" ], "encumbrance": 4, @@ -2638,6 +2985,7 @@ "price": 10000, "material": [ "plastic" ], "symbol": "[", + "looks_like": "pants_ski", "color": "green", "covers": [ "TORSO", "LEGS", "FEET" ], "coverage": 100, @@ -2660,6 +3008,7 @@ "to_hit": -2, "material": [ "glass", "plastic" ], "symbol": "[", + "looks_like": "sunglasses", "color": "dark_gray", "covers": [ "EYES" ], "coverage": 90, @@ -2679,6 +3028,7 @@ "price": 6000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "tshirt", "color": "light_red", "covers": [ "TORSO" ], "coverage": 90, @@ -2698,6 +3048,7 @@ "bashing": 2, "material": [ "plastic", "cotton" ], "symbol": "[", + "looks_like": "vest_leather", "color": "yellow", "covers": [ "TORSO" ], "coverage": 40, @@ -2718,6 +3069,7 @@ "bashing": 2, "material": [ "leather" ], "symbol": "[", + "looks_like": "vest_leather", "color": "brown", "covers": [ "TORSO" ], "coverage": 40, @@ -2737,6 +3089,7 @@ "price": 11000, "material": [ "plastic", "cotton" ], "symbol": "[", + "looks_like": "chestguard_hard", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 45, @@ -2758,6 +3111,7 @@ "bashing": 6, "material": [ "kevlar", "nomex" ], "symbol": "[", + "looks_like": "survivor_suit", "color": "light_gray", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 100, @@ -2779,6 +3133,7 @@ "to_hit": -1, "material": [ "cotton", "fur" ], "symbol": "[", + "looks_like": "blanket", "color": "brown", "covers": [ "TORSO", "ARMS", "HANDS", "LEGS", "FEET" ], "coverage": 100, @@ -2799,6 +3154,7 @@ "to_hit": -5, "material": [ "cotton" ], "symbol": "[", + "looks_like": "coat_winter", "color": "light_gray", "covers": [ "TORSO", "ARMS", "LEGS" ], "coverage": 80, @@ -2821,6 +3177,7 @@ "bashing": 2, "material": [ "chitin" ], "symbol": "[", + "looks_like": "gauntlets_larmor", "color": "green", "covers": [ "HANDS" ], "coverage": 95, @@ -2833,6 +3190,7 @@ { "id": "gauntlets_acidchitin", "copy-from": "gauntlets_chitin", + "looks_like": "gauntlets_chitin", "type": "ARMOR", "name": "pair of biosilicified chitin gauntlets", "name_plural": "pairs of biosilicified chitin gauntlets", @@ -2855,6 +3213,7 @@ "bashing": 2, "material": [ "leather" ], "symbol": "[", + "looks_like": "gloves_leather", "color": "brown", "covers": [ "HANDS" ], "coverage": 60, @@ -2877,6 +3236,7 @@ "to_hit": -2, "material": [ "kevlar_rigid", "plastic" ], "symbol": "[", + "looks_like": "glasses_safety", "color": "dark_gray", "covers": [ "EYES" ], "coverage": 100, @@ -2899,6 +3259,7 @@ "to_hit": -2, "material": [ "paper" ], "symbol": "[", + "looks_like": "sunglasses", "color": "light_gray", "covers": [ "EYES" ], "coverage": 80, @@ -2920,6 +3281,7 @@ "to_hit": -2, "material": [ "glass", "plastic" ], "symbol": "[", + "looks_like": "glasses_eye", "color": "cyan", "covers": [ "EYES" ], "coverage": 75, @@ -2940,6 +3302,7 @@ "to_hit": -2, "material": [ "glass", "plastic" ], "symbol": "[", + "looks_like": "sunglasses", "color": "cyan", "covers": [ "EYES" ], "coverage": 75, @@ -2959,6 +3322,7 @@ "to_hit": -2, "material": [ "glass", "plastic" ], "symbol": "[", + "looks_like": "glasses_eye", "color": "cyan", "covers": [ "EYES" ], "coverage": 20, @@ -2978,6 +3342,7 @@ "to_hit": -2, "material": [ "glass", "plastic" ], "symbol": "[", + "looks_like": "glasses_eye", "color": "cyan", "covers": [ "EYES" ], "coverage": 75, @@ -2998,6 +3363,7 @@ "to_hit": -2, "material": [ "plastic" ], "symbol": "[", + "looks_like": "glasses_eye", "color": "light_gray", "covers": [ "EYES" ], "coverage": 95, @@ -3019,6 +3385,7 @@ "to_hit": 1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "gloves_leather", "color": "white", "covers": [ "HAND_R" ], "coverage": 95, @@ -3038,6 +3405,7 @@ "to_hit": -1, "material": [ "plastic" ], "symbol": "[", + "looks_like": "gloves_wraps", "color": "light_blue", "covers": [ "HANDS" ], "coverage": 70, @@ -3057,6 +3425,7 @@ "to_hit": 2, "material": [ "leather" ], "symbol": "[", + "looks_like": "gloves_light", "color": "dark_gray", "covers": [ "HANDS" ], "coverage": 50, @@ -3077,6 +3446,7 @@ "to_hit": 2, "material": [ "steel", "leather" ], "symbol": "[", + "looks_like": "gloves_fingerless", "color": "dark_gray", "covers": [ "HANDS" ], "coverage": 50, @@ -3098,6 +3468,7 @@ "to_hit": 2, "material": [ "kevlar", "nomex" ], "symbol": "[", + "looks_like": "fire_gauntlets", "color": "light_gray", "covers": [ "HANDS" ], "coverage": 100, @@ -3119,6 +3490,7 @@ "to_hit": 1, "material": [ "fur" ], "symbol": "[", + "looks_like": "fire_gauntlets", "color": "brown", "covers": [ "HANDS" ], "coverage": 95, @@ -3126,28 +3498,6 @@ "warmth": 70, "material_thickness": 3 }, - { - "id": "gloves_h20survivor", - "type": "ARMOR", - "category": "armor", - "name": "pair of survivor wetsuit gloves", - "name_plural": "pairs of survivor wetsuit gloves", - "description": "A pair of customized, Kevlar armored neoprene gloves, modified to be easy to wear while providing maximum protection under extreme conditions.", - "weight": "390 g", - "volume": "750 ml", - "price": 18000, - "to_hit": 2, - "material": [ "kevlar", "plastic", "neoprene" ], - "symbol": "[", - "color": "dark_gray", - "covers": [ "HANDS" ], - "coverage": 100, - "encumbrance": 25, - "warmth": 15, - "material_thickness": 1, - "environmental_protection": 10, - "flags": [ "VARSIZE", "WATER_FRIENDLY", "STURDY" ] - }, { "id": "gloves_hsurvivor", "type": "ARMOR", @@ -3161,6 +3511,7 @@ "to_hit": 2, "material": [ "kevlar", "steel" ], "symbol": "[", + "looks_like": "fire_gauntlets", "color": "dark_gray", "covers": [ "HANDS" ], "coverage": 100, @@ -3182,6 +3533,7 @@ "to_hit": 2, "material": [ "leather" ], "symbol": "[", + "looks_like": "gloves_light", "color": "dark_gray", "covers": [ "HANDS" ], "coverage": 95, @@ -3202,6 +3554,7 @@ "to_hit": 1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "gloves_leather", "color": "light_blue", "covers": [ "HANDS" ], "coverage": 95, @@ -3222,6 +3575,7 @@ "to_hit": 1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "gloves_light", "color": "light_gray", "covers": [ "HANDS" ], "coverage": 95, @@ -3243,6 +3597,7 @@ "to_hit": 2, "material": [ "kevlar", "cotton" ], "symbol": "[", + "looks_like": "gloves_survivor", "color": "green", "covers": [ "HANDS" ], "coverage": 100, @@ -3252,6 +3607,29 @@ "environmental_protection": 3, "flags": [ "VARSIZE", "WATERPROOF", "STURDY" ] }, + { + "id": "gloves_survivor_fingerless", + "type": "ARMOR", + "looks_like": "gloves_lsurvivor", + "category": "armor", + "name": "pair of fingerless survivor gloves", + "name_plural": "pairs of fingerless survivor gloves", + "description": "A pair of customized, Kevlar armored cloth gloves with no fingers, modified to be easy to wear while providing maximum protection under extreme conditions.", + "weight": "160 g", + "volume": "700 ml", + "price": 16000, + "to_hit": 2, + "material": [ "kevlar", "cotton" ], + "symbol": "[", + "color": "green", + "covers": [ "HANDS" ], + "coverage": 85, + "encumbrance": 8, + "warmth": 12, + "material_thickness": 3, + "environmental_protection": 3, + "flags": [ "VARSIZE", "WATERPROOF", "STURDY", "ALLOWS_NATURAL_ATTACKS" ] + }, { "id": "gloves_medical", "type": "ARMOR", @@ -3264,6 +3642,7 @@ "to_hit": 1, "material": [ "plastic" ], "symbol": "[", + "looks_like": "gloves_light", "color": "white", "covers": [ "HANDS" ], "coverage": 90, @@ -3286,6 +3665,7 @@ "bashing": 7, "material": [ "iron", "leather" ], "symbol": "[", + "looks_like": "fire_gauntlets", "color": "light_gray", "covers": [ "HANDS" ], "coverage": 100, @@ -3307,6 +3687,7 @@ "to_hit": 2, "material": [ "plastic" ], "symbol": "[", + "looks_like": "gloves_light", "color": "yellow", "covers": [ "HANDS" ], "coverage": 100, @@ -3329,6 +3710,7 @@ "to_hit": 2, "material": [ "kevlar", "leather" ], "symbol": "[", + "looks_like": "fire_gauntlets", "color": "brown", "covers": [ "HANDS" ], "coverage": 100, @@ -3351,6 +3733,7 @@ "to_hit": 2, "material": [ "kevlar", "leather" ], "symbol": "[", + "looks_like": "fire_gauntlets", "color": "dark_gray", "covers": [ "HANDS" ], "coverage": 100, @@ -3371,6 +3754,7 @@ "to_hit": 1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "gloves_leather", "color": "light_blue", "covers": [ "HANDS" ], "coverage": 100, @@ -3390,6 +3774,7 @@ "to_hit": 1, "material": [ "wool" ], "symbol": "[", + "looks_like": "gloves_winter", "color": "blue", "covers": [ "HANDS" ], "coverage": 95, @@ -3409,6 +3794,7 @@ "to_hit": 2, "material": [ "leather", "cotton" ], "symbol": "[", + "looks_like": "gloves_leather", "color": "brown", "covers": [ "HANDS" ], "coverage": 95, @@ -3430,8 +3816,8 @@ "to_hit": 2, "material": [ "steel", "cotton" ], "symbol": "[", - "color": "light_gray", "looks_like": "gloves_work", + "color": "light_gray", "covers": [ "HANDS" ], "coverage": 95, "encumbrance": 40, @@ -3452,6 +3838,7 @@ "to_hit": 2, "material": [ "cotton" ], "symbol": "[", + "looks_like": "gloves_light", "color": "white", "covers": [ "HANDS" ], "coverage": 50, @@ -3471,6 +3858,7 @@ "to_hit": 2, "material": [ "fur" ], "symbol": "[", + "looks_like": "gloves_wraps", "color": "white", "covers": [ "HANDS" ], "coverage": 50, @@ -3491,6 +3879,7 @@ "to_hit": 2, "material": [ "leather" ], "symbol": "[", + "looks_like": "gloves_wraps", "color": "white", "covers": [ "HANDS" ], "coverage": 50, @@ -3511,6 +3900,7 @@ "to_hit": 2, "material": [ "wool" ], "symbol": "[", + "looks_like": "gloves_wraps", "color": "blue", "covers": [ "HANDS" ], "coverage": 50, @@ -3532,6 +3922,7 @@ "to_hit": 2, "material": [ "kevlar", "fur" ], "symbol": "[", + "looks_like": "gloves_winter", "color": "light_gray", "covers": [ "HANDS" ], "coverage": 100, @@ -3554,6 +3945,7 @@ "to_hit": 2, "material": [ "kevlar", "leather" ], "symbol": "[", + "looks_like": "gloves_survivor", "color": "brown", "covers": [ "HANDS" ], "coverage": 100, @@ -3574,6 +3966,7 @@ "to_hit": -5, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "duffelbag", "color": "green", "covers": [ "TORSO", "ARMS" ], "coverage": 50, @@ -3588,6 +3981,7 @@ "type": "ARMOR", "name": "personal go bag", "description": "A huge duffel bag with backpack attached, both packed to the gills. You have packed this to be ready for deployment. Activate to unpack and enjoy.", + "looks_like": "gobag", "use_action": "GOBAG_PERSONAL", "copy-from": "gobag" }, @@ -3603,6 +3997,7 @@ "to_hit": -2, "material": [ "plastic" ], "symbol": "[", + "looks_like": "sunglasses", "color": "dark_gray", "covers": [ "EYES" ], "coverage": 100, @@ -3613,27 +4008,6 @@ "qualities": [ [ "GLARE", 1 ] ], "flags": [ "SUN_GLASSES" ] }, - { - "id": "goggles_swim", - "type": "ARMOR", - "name": "pair of swim goggles", - "name_plural": "pairs of swim goggles", - "description": "A small pair of goggles made for swimming.", - "weight": "81 g", - "volume": "250 ml", - "price": 1100, - "to_hit": -2, - "material": [ "plastic" ], - "symbol": "[", - "color": "light_blue", - "covers": [ "EYES" ], - "coverage": 100, - "encumbrance": 10, - "warmth": 10, - "material_thickness": 1, - "environmental_protection": 4, - "flags": [ "WATER_FRIENDLY", "SWIM_GOGGLES" ] - }, { "id": "goggles_welding", "type": "ARMOR", @@ -3646,6 +4020,7 @@ "to_hit": -3, "material": [ "plastic" ], "symbol": "[", + "looks_like": "glasses_safety", "color": "dark_gray", "covers": [ "EYES" ], "coverage": 100, @@ -3666,6 +4041,7 @@ "price": 21000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "dress", "color": "dark_gray", "covers": [ "TORSO", "LEGS" ], "coverage": 75, @@ -3685,6 +4061,7 @@ "to_hit": -3, "material": [ "wool" ], "symbol": "[", + "looks_like": "coat_winter", "color": "blue", "covers": [ "TORSO", "ARMS", "LEGS" ], "coverage": 95, @@ -3695,29 +4072,6 @@ "environmental_protection": 1, "flags": [ "VARSIZE", "POCKETS", "COLLAR", "OUTER" ] }, - { - "id": "h20survivor_suit", - "type": "ARMOR", - "category": "armor", - "name": "survivor wetsuit", - "description": "A lightweight, hand-built combination armor made from a cut-down bulletproof vest and a reinforced neoprene wetsuit. Protects from the elements as well as from harm.", - "weight": "6400 g", - "volume": "7 L", - "price": 110000, - "to_hit": -3, - "bashing": 6, - "material": [ "kevlar", "plastic", "neoprene" ], - "symbol": "[", - "color": "dark_gray", - "covers": [ "LEGS", "TORSO", "ARMS" ], - "coverage": 100, - "encumbrance": 20, - "storage": "11500 ml", - "warmth": 15, - "material_thickness": 2, - "environmental_protection": 10, - "flags": [ "VARSIZE", "WATER_FRIENDLY", "POCKETS", "HOOD", "RAINPROOF", "STURDY" ] - }, { "id": "hakama_gi", "type": "ARMOR", @@ -3728,6 +4082,7 @@ "price": 2500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "skirt", "color": "dark_gray", "covers": [ "LEGS" ], "coverage": 100, @@ -3746,6 +4101,7 @@ "price": 3000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "skirt", "color": "blue", "covers": [ "LEGS" ], "coverage": 100, @@ -3765,6 +4121,7 @@ "to_hit": -5, "material": [ "cotton" ], "symbol": "[", + "looks_like": "tank_top", "color": "pink", "covers": [ "TORSO" ], "coverage": 25, @@ -3783,6 +4140,7 @@ "price": 2500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "hat_cotton", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 50, @@ -3802,6 +4160,7 @@ "price": 1200, "material": [ "cotton" ], "symbol": "[", + "looks_like": "hat_cowboy", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 65, @@ -3821,6 +4180,7 @@ "price": 500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "hat_cotton", "color": "white", "covers": [ "HEAD" ], "coverage": 75, @@ -3839,6 +4199,7 @@ "price": 2000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "hat_ball", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 65, @@ -3856,6 +4217,7 @@ "price": 5000, "material": [ "fur" ], "symbol": "[", + "looks_like": "hat_knit", "color": "brown", "covers": [ "HEAD" ], "coverage": 95, @@ -3867,6 +4229,7 @@ "id": "hat_faux_fur", "type": "ARMOR", "copy-from": "hat_fur", + "looks_like": "hat_fur", "name": "faux fur hat", "description": "A stylish hat made of faux fur. Like real fur, but without the suffering, if the tag is to be believed. Very warm.", "material": [ "faux_fur", "cotton" ], @@ -3885,6 +4248,7 @@ "bashing": 6, "material": [ "plastic" ], "symbol": "[", + "looks_like": "hat_ball", "color": "yellow", "covers": [ "HEAD" ], "coverage": 80, @@ -3906,6 +4270,7 @@ "bashing": 6, "material": [ "plastic" ], "symbol": "[", + "looks_like": "hat_hard", "color": "yellow", "covers": [ "HEAD" ], "coverage": 80, @@ -3925,6 +4290,7 @@ "price": 3000, "material": [ "wool" ], "symbol": "[", + "looks_like": "hat_ball", "color": "light_red", "covers": [ "HEAD" ], "coverage": 85, @@ -3944,6 +4310,7 @@ "price": 3000, "material": [ "wool" ], "symbol": "[", + "looks_like": "hat_cotton", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 65, @@ -3961,6 +4328,7 @@ "price": 3000, "material": [ "wool" ], "symbol": "[", + "looks_like": "hat_ball", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 50, @@ -3978,6 +4346,7 @@ "price": 2500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "hat_cotton", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 5, @@ -3997,6 +4366,7 @@ "price": 5500, "material": [ "wool" ], "symbol": "[", + "looks_like": "hat_cowboy", "color": "light_red", "covers": [ "HEAD" ], "coverage": 50, @@ -4017,6 +4387,7 @@ "to_hit": 1, "material": [ "plastic", "leather" ], "symbol": "[", + "looks_like": "balclava", "color": "red", "covers": [ "HEAD" ], "coverage": 75, @@ -4039,6 +4410,7 @@ "bashing": 10, "material": [ "kevlar", "plastic" ], "symbol": "[", + "looks_like": "hat_hard", "color": "green", "covers": [ "HEAD" ], "coverage": 95, @@ -4061,6 +4433,7 @@ "bashing": 7, "material": [ "plastic", "iron" ], "symbol": "[", + "looks_like": "hat_hard", "color": "blue", "covers": [ "HEAD" ], "coverage": 95, @@ -4082,6 +4455,7 @@ "bashing": 10, "material": [ "steel", "leather" ], "symbol": "[", + "looks_like": "helmet_plate", "color": "light_gray", "covers": [ "HEAD" ], "coverage": 90, @@ -4103,6 +4477,7 @@ "bashing": 4, "material": [ "plastic" ], "symbol": "[", + "looks_like": "hat_hard", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 75, @@ -4124,6 +4499,7 @@ "bashing": 2, "material": [ "chitin" ], "symbol": "[", + "looks_like": "helmet_larmor", "color": "green", "covers": [ "HEAD", "EYES", "MOUTH" ], "coverage": 90, @@ -4145,6 +4521,7 @@ "bashing": 6, "material": [ "iron", "fur" ], "symbol": "[", + "looks_like": "helmet_barbute", "color": "brown", "covers": [ "HEAD" ], "coverage": 90, @@ -4157,6 +4534,7 @@ { "id": "helmet_acidchitin", "copy-from": "helmet_chitin", + "looks_like": "helmet_chitin", "type": "ARMOR", "name": "biosilicified chitin helmet", "description": "A helmet crafted from the carefully cleaned and pruned biosilicified exoskeletons of acidic ants. Covers the entire head; acid-resistant and very durable.", @@ -4175,6 +4553,7 @@ "price": 19800, "material": [ "plastic" ], "symbol": "[", + "looks_like": "helmet_motor", "color": "yellow", "covers": [ "HEAD" ], "coverage": 85, @@ -4196,6 +4575,7 @@ "bashing": 10, "material": [ "iron", "leather" ], "symbol": "[", + "looks_like": "helmet_barbute", "color": "light_gray", "covers": [ "HEAD" ], "coverage": 85, @@ -4218,6 +4598,7 @@ "bashing": 10, "material": [ "kevlar", "steel" ], "symbol": "[", + "looks_like": "helmet_survivor", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 100, @@ -4241,6 +4622,7 @@ "bashing": 6, "material": [ "iron", "leather" ], "symbol": "[", + "looks_like": "helmet_barbute", "color": "dark_gray", "covers": [ "HEAD", "EYES", "MOUTH" ], "coverage": 95, @@ -4262,6 +4644,7 @@ "price": 14000, "material": [ "leather" ], "symbol": "[", + "looks_like": "hat_hard", "color": "brown", "covers": [ "HEAD" ], "coverage": 85, @@ -4283,6 +4666,7 @@ "bashing": 1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "balclava", "color": "green", "covers": [ "HEAD" ], "coverage": 100, @@ -4303,6 +4687,7 @@ "bashing": 10, "material": [ "kevlar", "plastic" ], "symbol": "[", + "looks_like": "helmet_barbute", "color": "light_gray", "covers": [ "HEAD" ], "coverage": 98, @@ -4347,6 +4732,7 @@ "bashing": 10, "material": [ "iron", "leather" ], "symbol": "[", + "looks_like": "helmet_barbute", "color": "light_gray", "covers": [ "HEAD", "EYES" ], "coverage": 80, @@ -4367,6 +4753,7 @@ "to_hit": -3, "material": [ "cotton", "leather" ], "symbol": "[", + "looks_like": "balclava", "color": "white", "covers": [ "HEAD", "EYES", "MOUTH" ], "coverage": 95, @@ -4388,6 +4775,7 @@ "bashing": 10, "material": [ "steel", "leather" ], "symbol": "[", + "looks_like": "helmet_barbute", "color": "light_gray", "covers": [ "HEAD", "EYES", "MOUTH" ], "coverage": 100, @@ -4409,6 +4797,7 @@ "to_hit": -3, "material": [ "kevlar", "cotton" ], "symbol": "[", + "looks_like": "mask_gas", "color": "white", "covers": [ "HEAD", "EYES", "MOUTH" ], "coverage": 100, @@ -4432,6 +4821,7 @@ "cutting": 2, "material": [ "steel", "iron" ], "symbol": "[", + "looks_like": "helmet_plate", "color": "light_gray", "covers": [ "HEAD", "EYES", "MOUTH" ], "coverage": 80, @@ -4452,6 +4842,7 @@ "bashing": 8, "material": [ "plastic", "iron" ], "symbol": "[", + "looks_like": "helmet_bike", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 65, @@ -4473,6 +4864,7 @@ "bashing": 10, "material": [ "kevlar", "leather" ], "symbol": "[", + "looks_like": "helmet_army", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 100, @@ -4496,6 +4888,7 @@ "bashing": 10, "material": [ "kevlar", "leather" ], "symbol": "[", + "looks_like": "helmet_survivor", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 100, @@ -4514,7 +4907,9 @@ "name": "hide bag", "description": "The raw skin of an animal, quickly turned into a makeshift bag for storage. It will still rot, and needs to be cured and tanned.", "symbol": "[", + "looks_like": "plastic_shopping_bag", "color": "pink", + "proportional": { "weight": 6, "volume": 6, "price": 6, "quench": 6, "calories": 6, "healthy": 6, "fun": 6 }, "armor_data": { "covers": [ "ARM_EITHER", "HAND_EITHER" ], "coverage": 5, @@ -4532,7 +4927,9 @@ "name": "tainted hide bag", "description": "The raw skin of a monster, quickly turned into a makeshift bag for storage. It will still rot, and needs to be cured and tanned.", "symbol": "[", + "looks_like": "hide_bag", "color": "pink", + "proportional": { "weight": 6, "volume": 6, "price": 6, "quench": 6, "calories": 6, "healthy": 6, "fun": 6 }, "armor_data": { "covers": [ "ARM_EITHER", "HAND_EITHER" ], "coverage": 5, @@ -4555,6 +4952,7 @@ "bashing": 10, "material": [ "kevlar", "nomex" ], "symbol": "[", + "looks_like": "hood_survivor", "color": "light_gray", "covers": [ "HEAD" ], "coverage": 100, @@ -4564,28 +4962,6 @@ "environmental_protection": 10, "flags": [ "VARSIZE", "WATERPROOF", "STURDY", "OUTER", "HELMET_COMPAT" ] }, - { - "id": "hood_h20survivor", - "type": "ARMOR", - "category": "armor", - "name": "survivor wetsuit hood", - "description": "A customized armored neoprene and Kevlar hood, very strong and durable.", - "weight": "860 g", - "volume": "1500 ml", - "price": 58000, - "to_hit": -1, - "bashing": 10, - "material": [ "kevlar", "plastic", "neoprene" ], - "symbol": "[", - "color": "dark_gray", - "covers": [ "HEAD" ], - "coverage": 100, - "encumbrance": 25, - "warmth": 15, - "material_thickness": 2, - "environmental_protection": 10, - "flags": [ "VARSIZE", "WATER_FRIENDLY", "STURDY", "OUTER", "HELMET_COMPAT" ] - }, { "id": "hood_lsurvivor", "type": "ARMOR", @@ -4599,6 +4975,7 @@ "bashing": 10, "material": [ "kevlar", "cotton" ], "symbol": "[", + "looks_like": "hood_survivor", "color": "green", "covers": [ "HEAD" ], "coverage": 100, @@ -4618,6 +4995,7 @@ "price": 2000, "material": [ "plastic", "cotton" ], "symbol": "[", + "looks_like": "hat_cotton", "color": "yellow", "covers": [ "HEAD" ], "coverage": 100, @@ -4639,6 +5017,7 @@ "bashing": 10, "material": [ "kevlar", "leather" ], "symbol": "[", + "looks_like": "hood_rain", "color": "brown", "covers": [ "HEAD" ], "coverage": 100, @@ -4662,6 +5041,7 @@ "bashing": 10, "material": [ "kevlar", "fur" ], "symbol": "[", + "looks_like": "hood_survivor", "color": "light_gray", "covers": [ "HEAD" ], "coverage": 100, @@ -4684,6 +5064,7 @@ "bashing": 10, "material": [ "kevlar", "leather" ], "symbol": "[", + "looks_like": "hood_survivor", "color": "brown", "covers": [ "HEAD" ], "coverage": 100, @@ -4704,6 +5085,7 @@ "price": 3800, "material": [ "cotton" ], "symbol": "[", + "looks_like": "sweater", "color": "dark_gray", "covers": [ "TORSO", "ARMS" ], "coverage": 95, @@ -4724,6 +5106,7 @@ "price": 2500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "boxer_briefs", "color": "light_red", "covers": [ "LEGS" ], "coverage": 15, @@ -4741,6 +5124,7 @@ "price": 5500, "material": [ "fur" ], "symbol": "[", + "looks_like": "hot_pants_leather", "color": "brown", "covers": [ "LEGS" ], "coverage": 15, @@ -4759,6 +5143,7 @@ "price": 2500, "material": [ "leather" ], "symbol": "[", + "looks_like": "hot_pants", "color": "dark_gray", "covers": [ "LEGS" ], "coverage": 15, @@ -4777,6 +5162,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "coat_lab", "color": "blue", "covers": [ "TORSO", "ARMS", "LEGS" ], "coverage": 85, @@ -4800,6 +5186,7 @@ "bashing": 6, "material": [ "kevlar", "steel", "leather" ], "symbol": "[", + "looks_like": "survivor_suit", "color": "dark_gray", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 100, @@ -4822,6 +5209,7 @@ "to_hit": -2, "material": [ "bone" ], "symbol": "[", + "looks_like": "sunglasses", "color": "light_gray", "covers": [ "EYES" ], "coverage": 90, @@ -4842,6 +5230,7 @@ "price": 3500, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "coat_winter", "color": "green", "covers": [ "TORSO", "ARMS" ], "coverage": 95, @@ -4861,6 +5250,7 @@ "price": 7000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "coat_lab", "color": "white", "covers": [ "TORSO", "ARMS" ], "coverage": 95, @@ -4880,6 +5270,7 @@ "price": 1000, "material": [ "plastic", "cotton" ], "symbol": "[", + "looks_like": "jacket_leather", "color": "cyan", "covers": [ "TORSO", "ARMS" ], "coverage": 90, @@ -4899,6 +5290,7 @@ "price": 6000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "coat_winter", "color": "light_red", "covers": [ "TORSO", "ARMS" ], "coverage": 90, @@ -4918,6 +5310,7 @@ "price": 4000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "jacket_windbreaker", "color": "light_blue", "covers": [ "TORSO", "ARMS" ], "coverage": 90, @@ -4944,6 +5337,7 @@ "to_hit": 1, "material": [ "leather" ], "symbol": "[", + "looks_like": "jacket_windbreaker", "color": "dark_gray", "covers": [ "TORSO", "ARMS" ], "coverage": 90, @@ -4965,6 +5359,7 @@ "to_hit": 1, "material": [ "leather", "iron" ], "symbol": "[", + "looks_like": "jacket_leather", "color": "dark_gray", "covers": [ "TORSO", "ARMS" ], "coverage": 85, @@ -4986,6 +5381,7 @@ "to_hit": 1, "material": [ "leather" ], "symbol": "[", + "looks_like": "jacket_leather", "color": "red", "covers": [ "TORSO", "ARMS" ], "coverage": 90, @@ -5006,6 +5402,7 @@ "price": 4500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "jacket_windbreaker", "color": "blue", "covers": [ "TORSO", "ARMS" ], "coverage": 90, @@ -5025,6 +5422,7 @@ "price": 1000, "material": [ "plastic" ], "symbol": "[", + "looks_like": "jacket_light", "color": "cyan", "covers": [ "TORSO", "ARMS" ], "coverage": 90, @@ -5047,6 +5445,7 @@ "to_hit": 1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "pants", "color": "blue", "covers": [ "LEGS" ], "coverage": 95, @@ -5068,6 +5467,7 @@ "to_hit": 1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "jeans", "color": "red", "covers": [ "LEGS" ], "coverage": 95, @@ -5088,6 +5488,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "robe", "color": "brown", "covers": [ "TORSO", "HEAD", "ARMS", "HANDS", "LEGS" ], "coverage": 65, @@ -5108,6 +5509,7 @@ "price": 8900, "material": [ "cotton" ], "symbol": "[", + "looks_like": "tshirt", "color": "yellow", "covers": [ "TORSO", "ARMS" ], "coverage": 90, @@ -5237,6 +5639,7 @@ "price": 5000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "robe", "color": "white", "covers": [ "ARMS", "LEGS", "TORSO" ], "coverage": 95, @@ -5256,6 +5659,7 @@ "to_hit": -3, "material": [ "cotton" ], "symbol": "[", + "looks_like": "touring_suit", "color": "yellow", "covers": [ "LEGS", "ARMS", "TORSO" ], "coverage": 95, @@ -5269,6 +5673,7 @@ "id": "robofac_jumpsuit", "type": "ARMOR", "copy-from": "jumpsuit", + "looks_like": "jumpsuit", "name": "Hub 01 jumpsuit", "description": "A brown jumpsuit worn by the staff of Hub 01.", "color": "brown" @@ -5284,6 +5689,7 @@ "to_hit": -3, "material": [ "cotton" ], "symbol": "[", + "looks_like": "jumpsuit", "color": "yellow", "covers": [ "LEGS", "ARMS", "TORSO" ], "coverage": 95, @@ -5303,6 +5709,7 @@ "price": 5000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "judo_gi", "color": "white", "covers": [ "ARMS", "LEGS", "TORSO" ], "coverage": 80, @@ -5321,6 +5728,7 @@ "to_hit": -5, "material": [ "cotton" ], "symbol": "[", + "looks_like": "robe", "color": "white", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 100, @@ -5341,6 +5749,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "scarf", "color": "white", "covers": [ "MOUTH" ], "coverage": 85, @@ -5354,6 +5763,7 @@ "id": "marloss_scarf", "type": "ARMOR", "copy-from": "keffiyeh", + "looks_like": "scarf", "name": "cyan scarf", "description": "A simple cloth scarf worn by Marloss Voices. Wherever the Voices go, long sought peace soon follows, for better or for worse.", "color": "cyan", @@ -5369,6 +5779,7 @@ "price": 2500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "judo_gi", "color": "white", "covers": [ "ARMS", "TORSO" ], "coverage": 80, @@ -5389,6 +5800,7 @@ "bashing": 6, "material": [ "kevlar" ], "symbol": "[", + "looks_like": "vest_leather", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 85, @@ -5407,6 +5819,7 @@ "price": 6500, "material": [ "wool" ], "symbol": "[", + "looks_like": "skirt", "color": "dark_gray", "covers": [ "LEGS" ], "coverage": 50, @@ -5425,6 +5838,7 @@ "price": 6500, "material": [ "leather" ], "symbol": "[", + "looks_like": "kilt", "color": "dark_gray", "covers": [ "LEGS" ], "coverage": 50, @@ -5444,6 +5858,7 @@ "to_hit": -5, "material": [ "cotton" ], "symbol": "[", + "looks_like": "robe", "color": "white", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 90, @@ -5464,6 +5879,7 @@ "to_hit": -5, "material": [ "cotton" ], "symbol": "[", + "looks_like": "kimono", "color": "blue", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 80, @@ -5484,6 +5900,7 @@ "to_hit": -5, "material": [ "cotton" ], "symbol": "[", + "looks_like": "housecoat", "color": "black", "covers": [ "TORSO", "ARMS" ], "coverage": 60, @@ -5503,6 +5920,7 @@ "price": 5000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "hat_cotton", "color": "blue", "covers": [ "HEAD" ], "coverage": 40, @@ -5522,6 +5940,7 @@ "to_hit": -5, "material": [ "cotton" ], "symbol": "[", + "looks_like": "robe", "color": "white", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 80, @@ -5544,6 +5963,7 @@ "to_hit": 1, "material": [ "plastic", "cotton" ], "symbol": "[", + "looks_like": "legguard_hard", "color": "dark_gray", "covers": [ "LEGS" ], "coverage": 30, @@ -5561,6 +5981,7 @@ "price": 3000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "hat_cotton", "color": "white", "covers": [ "HEAD" ], "coverage": 50, @@ -5608,6 +6029,7 @@ "bashing": 1, "material": [ "leather" ], "symbol": "[", + "looks_like": "holster", "color": "brown", "covers": [ "TORSO" ], "coverage": 15, @@ -5622,7 +6044,6 @@ "name": "ammo pouch", "name_plural": "ammo pouches", "description": "A small pouch that can be used to store most types of small ammunition, rockets will not fit. Activate to store ammunition.", - "looks_like": "leather_pouch", "weight": "490 g", "rigid": false, "volume": "500 ml", @@ -5631,6 +6052,7 @@ "bashing": 1, "material": [ "leather" ], "symbol": "[", + "looks_like": "leather_pouch", "color": "brown", "covers": [ "TORSO" ], "coverage": 10, @@ -5699,6 +6121,7 @@ "price": 20000, "material": [ "wood", "cotton" ], "symbol": "[", + "looks_like": "legguard_hard", "color": "white", "covers": [ "LEG_EITHER" ], "coverage": 75, @@ -5730,6 +6153,7 @@ "price": 1000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "leggings", "color": "light_gray", "covers": [ "LEGS" ], "coverage": 60, @@ -5749,6 +6173,7 @@ "price": 20000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "leg_warmers", "color": "light_gray", "covers": [ "LEGS" ], "coverage": 60, @@ -5768,6 +6193,7 @@ "price": 25000, "material": [ "fur" ], "symbol": "[", + "looks_like": "leg_warmers_xl", "color": "light_gray", "covers": [ "FEET" ], "coverage": 60, @@ -5785,8 +6211,9 @@ "weight": "155 g", "volume": "500 ml", "price": 1000, - "material": [ "cotton", "plastic" ], + "material": [ "lycra" ], "symbol": "[", + "looks_like": "leg_warmers", "color": "dark_gray", "covers": [ "LEGS" ], "coverage": 100, @@ -5807,6 +6234,7 @@ "to_hit": 1, "material": [ "plastic", "neoprene" ], "symbol": "[", + "looks_like": "leg_warmers", "color": "dark_gray", "covers": [ "LEGS" ], "coverage": 75, @@ -5829,6 +6257,7 @@ "to_hit": -1, "material": [ "steel", "leather" ], "symbol": "[", + "looks_like": "legguard_hard", "color": "light_gray", "covers": [ "LEGS" ], "coverage": 95, @@ -5850,6 +6279,7 @@ "to_hit": 1, "material": [ "iron", "leather" ], "symbol": "[", + "looks_like": "legguard_lightplate", "color": "light_gray", "covers": [ "LEGS" ], "coverage": 70, @@ -5870,6 +6300,7 @@ "to_hit": 1, "material": [ "paper" ], "symbol": "[", + "looks_like": "legguard_hard", "color": "blue", "covers": [ "LEGS" ], "coverage": 80, @@ -5893,6 +6324,7 @@ "cutting": 1, "material": [ "steel", "iron" ], "symbol": "[", + "looks_like": "legguard_metal", "color": "light_gray", "covers": [ "LEGS" ], "coverage": 80, @@ -5920,6 +6352,24 @@ "material_thickness": 2, "flags": [ "VARSIZE", "WATER_FRIENDLY", "BELTED" ] }, + { + "id": "leotard", + "type": "ARMOR", + "name": "leotard", + "name_plural": "leotard", + "description": "A skin-tight spandex garment, covering the body from the groin to the shoulders. With its deep scoop-cut back and high waist cuts, this garment is perfect for showcasing your physique on the stage.", + "weight": "60 g", + "volume": "500 ml", + "price": 1000, + "material": [ "lycra" ], + "symbol": "[", + "color": "dark_gray", + "covers": [ "TORSO" ], + "coverage": 55, + "warmth": 5, + "material_thickness": 1, + "flags": [ "VARSIZE", "SKINTIGHT", "WATER_FRIENDLY" ] + }, { "id": "linuxtshirt", "type": "ARMOR", @@ -5930,6 +6380,7 @@ "price": 2000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "tshirt", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 90, @@ -5959,7 +6410,7 @@ }, { "id": "fedora", - "text": "A t-shirt with the Fedora logo on it, underneath it says \"Freedom. Friends. Features. First.\"" + "text": "A t-shirt with the Fedora logo on it, underneath it says \"Freedom. Friends. Features. First.\"" }, { "id": "redhat", @@ -5982,6 +6433,7 @@ "price": 900, "material": [ "cotton" ], "symbol": "[", + "looks_like": "briefs", "color": "brown", "covers": [ "LEGS" ], "coverage": 5, @@ -5998,6 +6450,7 @@ "price": 7500, "material": [ "fur" ], "symbol": "[", + "looks_like": "loincloth_leather", "color": "brown", "covers": [ "LEGS" ], "coverage": 5, @@ -6015,6 +6468,7 @@ "price": 7500, "material": [ "leather" ], "symbol": "[", + "looks_like": "loincloth", "color": "brown", "covers": [ "LEGS" ], "coverage": 5, @@ -6031,6 +6485,7 @@ "price": 900, "material": [ "wool" ], "symbol": "[", + "looks_like": "loincloth", "color": "blue", "covers": [ "LEGS" ], "coverage": 5, @@ -6050,6 +6505,7 @@ "to_hit": 1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "glove_light", "color": "light_blue", "covers": [ "HANDS", "ARMS" ], "coverage": 60, @@ -6067,6 +6523,7 @@ "price": 1500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "leggings", "color": "light_gray", "covers": [ "LEGS" ], "coverage": 95, @@ -6085,6 +6542,7 @@ "price": 1500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "longshirt", "color": "light_gray", "covers": [ "TORSO", "ARMS" ], "coverage": 95, @@ -6098,12 +6556,12 @@ "type": "ARMOR", "name": "sleeveless underwear top", "description": "A sleeveless underwear top that helps to maintain body temperature.", - "looks_like": "long_undertop", "weight": "80 g", "volume": "400 ml", "price": 1200, "material": [ "cotton" ], "symbol": "[", + "looks_like": "long_undertop", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 95, @@ -6122,6 +6580,7 @@ "price": 2000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "dress_shirt", "color": "blue", "covers": [ "TORSO", "ARMS" ], "coverage": 90, @@ -6141,6 +6600,7 @@ "price": 60000, "material": [ "kevlar", "cotton" ], "symbol": "[", + "looks_like": "survivor_armor", "color": "green", "covers": [ "TORSO" ], "coverage": 95, @@ -6163,6 +6623,7 @@ "price": 40000, "material": [ "kevlar", "cotton" ], "symbol": "[", + "looks_like": "survivor_pants", "color": "green", "covers": [ "LEGS" ], "coverage": 95, @@ -6184,6 +6645,7 @@ "price": 110000, "material": [ "kevlar", "cotton" ], "symbol": "[", + "looks_like": "survivor_suit", "color": "green", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 100, @@ -6205,6 +6667,7 @@ "price": 5000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "dress", "color": "blue", "covers": [ "TORSO", "ARMS", "LEGS" ], "coverage": 75, @@ -6224,6 +6687,7 @@ "price": 2500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "hat_cotton", "color": "white", "covers": [ "HEAD" ], "coverage": 25, @@ -6244,6 +6708,7 @@ "to_hit": -3, "material": [ "kevlar_rigid", "plastic" ], "symbol": "[", + "looks_like": "glasses_bal", "color": "dark_gray", "covers": [ "MOUTH", "EYES" ], "coverage": 95, @@ -6264,6 +6729,7 @@ "to_hit": -3, "material": [ "cotton" ], "symbol": "[", + "looks_like": "scarf", "color": "white", "covers": [ "MOUTH" ], "coverage": 100, @@ -6284,6 +6750,7 @@ "to_hit": -3, "material": [ "plastic" ], "symbol": "[", + "looks_like": "mask_hockey", "color": "white", "covers": [ "MOUTH", "EYES" ], "coverage": 95, @@ -6306,6 +6773,7 @@ "to_hit": -3, "material": [ "plastic" ], "symbol": "[", + "looks_like": "glasses_safety", "color": "white", "covers": [ "MOUTH", "EYES" ], "coverage": 95, @@ -6326,6 +6794,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "scarf", "color": "white", "covers": [ "MOUTH", "HEAD" ], "coverage": 90, @@ -6347,6 +6816,7 @@ "to_hit": 1, "material": [ "wool" ], "symbol": "[", + "looks_like": "gloves_wool", "color": "blue", "covers": [ "HANDS" ], "coverage": 100, @@ -6366,6 +6836,7 @@ "bashing": 8, "material": [ "kevlar", "cotton" ], "symbol": "[", + "looks_like": "jacket_leather", "color": "dark_gray", "covers": [ "TORSO", "ARMS" ], "coverage": 95, @@ -6387,6 +6858,7 @@ "price": 10000, "material": [ "kevlar", "cotton" ], "symbol": "[", + "looks_like": "pants_leather", "color": "dark_gray", "covers": [ "LEGS" ], "coverage": 100, @@ -6424,6 +6896,7 @@ "price": 3000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "skirt", "color": "pink", "covers": [ "LEGS" ], "coverage": 7, @@ -6442,6 +6915,7 @@ "to_hit": -5, "material": [ "nomex" ], "symbol": "[", + "looks_like": "gloves_light", "color": "light_gray", "covers": [ "HANDS" ], "coverage": 100, @@ -6462,6 +6936,7 @@ "to_hit": -5, "material": [ "nomex" ], "symbol": "[", + "looks_like": "hood_rain", "color": "light_gray", "covers": [ "HEAD" ], "coverage": 100, @@ -6483,6 +6958,7 @@ "to_hit": -5, "material": [ "nomex" ], "symbol": "[", + "looks_like": "socks", "color": "light_gray", "covers": [ "FEET" ], "coverage": 100, @@ -6503,6 +6979,7 @@ "to_hit": -5, "material": [ "nomex" ], "symbol": "[", + "looks_like": "jumpsuit", "color": "light_gray", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 100, @@ -6536,6 +7013,7 @@ "to_hit": -1, "material": [ "plastic" ], "symbol": "[", + "looks_like": "cloak", "color": "light_gray", "covers": [ "TORSO", "ARMS", "LEGS" ], "coverage": 65, @@ -6561,6 +7039,7 @@ "price": 1000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "briefs", "color": "white", "covers": [ "LEGS" ], "coverage": 15, @@ -6580,6 +7059,7 @@ "to_hit": 1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "jeans", "color": "brown", "covers": [ "LEGS" ], "coverage": 95, @@ -6600,6 +7080,7 @@ "price": 3500, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "pants_cargo", "color": "green", "covers": [ "LEGS" ], "coverage": 95, @@ -6620,6 +7101,7 @@ "price": 2500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "pants", "color": "light_gray", "covers": [ "LEGS" ], "coverage": 95, @@ -6640,6 +7122,7 @@ "price": 4000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "pants", "color": "dark_gray", "covers": [ "LEGS" ], "coverage": 95, @@ -6660,6 +7143,7 @@ "price": 1500, "material": [ "fur" ], "symbol": "[", + "looks_like": "leg_warmers", "color": "brown", "covers": [ "LEGS" ], "coverage": 60, @@ -6680,6 +7164,7 @@ "to_hit": 1, "material": [ "cotton", "fur" ], "symbol": "[", + "looks_like": "pants", "color": "brown", "covers": [ "LEGS" ], "coverage": 95, @@ -6712,6 +7197,7 @@ "to_hit": 1, "material": [ "leather" ], "symbol": "[", + "looks_like": "pants", "color": "dark_gray", "covers": [ "LEGS" ], "coverage": 95, @@ -6732,6 +7218,7 @@ "price": 6500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "pants", "color": "blue", "covers": [ "LEGS" ], "coverage": 95, @@ -6754,6 +7241,7 @@ "price": 38000, "material": [ "cotton", "kevlar" ], "symbol": "[", + "looks_like": "pants_army", "color": "green", "covers": [ "LEGS" ], "coverage": 100, @@ -6775,6 +7263,7 @@ "to_hit": -3, "material": [ "wool" ], "symbol": "[", + "looks_like": "coat_winter", "color": "blue", "covers": [ "TORSO", "ARMS" ], "coverage": 85, @@ -6813,6 +7302,7 @@ "cutting": 4, "material": [ "leather", "iron" ], "symbol": "[", + "looks_like": "helmet_plate", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 70, @@ -6845,13 +7335,13 @@ "type": "ARMOR", "name": "police duty belt", "description": "Black leather belt used by police officers. It has several pouches and a holder for a baton.", - "looks_like": "fireman_belt", "weight": "250 g", "volume": "2 L", "price": 10000, "bashing": 5, "material": [ "leather", "steel" ], "symbol": "[", + "looks_like": "fireman_belt", "color": "brown", "covers": [ "TORSO" ], "encumbrance": 6, @@ -6877,6 +7367,7 @@ "price": 1500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "tshirt", "color": "light_red", "covers": [ "TORSO" ], "coverage": 90, @@ -6896,6 +7387,7 @@ "to_hit": -1, "material": [ "wool" ], "symbol": "[", + "looks_like": "cloak", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 85, @@ -6915,6 +7407,7 @@ "price": 5500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "bowlhat", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 50, @@ -6934,6 +7427,7 @@ "price": 1000, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "hat_ball", "color": "blue", "covers": [ "HEAD" ], "coverage": 60, @@ -6953,6 +7447,7 @@ "price": 1500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "polo_shirt", "color": "light_blue", "covers": [ "TORSO" ], "coverage": 90, @@ -6973,6 +7468,7 @@ "to_hit": 1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "shorts_cargo", "color": "blue", "covers": [ "LEGS" ], "coverage": 40, @@ -6993,6 +7489,7 @@ "bashing": 10, "material": [ "iron" ], "symbol": "[", + "looks_like": "helmet_plate", "color": "light_gray", "covers": [ "HEAD" ], "coverage": 55, @@ -7013,6 +7510,7 @@ "bashing": 2, "material": [ "leather" ], "symbol": "[", + "looks_like": "bscabbard", "color": "brown", "covers": [ "LEG_EITHER" ], "coverage": 10, @@ -7032,6 +7530,7 @@ "bashing": 2, "material": [ "wood" ], "symbol": "[", + "looks_like": "quiver", "color": "light_gray", "covers": [ "LEG_EITHER" ], "coverage": 10, @@ -7051,6 +7550,7 @@ "bashing": 4, "material": [ "leather", "steel" ], "symbol": "[", + "looks_like": "quiver", "color": "brown", "covers": [ "TORSO" ], "coverage": 15, @@ -7070,6 +7570,7 @@ "bashing": 4, "material": [ "wood" ], "symbol": "[", + "looks_like": "quiver_birchbark", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 15, @@ -7111,6 +7612,7 @@ "to_hit": -5, "material": [ "cotton" ], "symbol": "[", + "looks_like": "cloak", "color": "brown", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 80, @@ -7131,6 +7633,7 @@ "bashing": 4, "material": [ "leather", "wood" ], "symbol": "[", + "looks_like": "holster", "color": "brown", "covers": [ "LEG_EITHER" ], "coverage": 15, @@ -7145,44 +7648,6 @@ }, "flags": [ "WAIST", "OVERSIZE", "WATER_FRIENDLY" ] }, - { - "id": "shark_suit", - "type": "ARMOR", - "name": "shark suit", - "description": "A one piece chainmail suit used by scuba divers for protection against shark bites. It comes with attached plastic helmet and booties.", - "weight": "3150 g", - "volume": "3500 ml", - "price": 35000, - "to_hit": -1, - "material": [ "steel", "plastic" ], - "symbol": "[", - "color": "light_red", - "covers": [ "TORSO", "HEAD", "ARMS", "HANDS", "LEGS", "FEET" ], - "coverage": 100, - "encumbrance": 30, - "warmth": 5, - "material_thickness": 3, - "flags": [ "VARSIZE", "STURDY", "WATER_FRIENDLY" ] - }, - { - "id": "shark_suit_faraday", - "type": "ARMOR", - "name": "faraday shark suit", - "description": "A one piece chainmail suit used by scuba divers for protection against shark bites. It has been conductively interconnected, protecting against electricity.", - "weight": "3250 g", - "volume": "3500 ml", - "price": 35000, - "to_hit": -1, - "material": [ "steel", "plastic" ], - "symbol": "[", - "color": "light_red", - "covers": [ "TORSO", "HEAD", "ARMS", "HANDS", "LEGS", "FEET" ], - "coverage": 100, - "encumbrance": 30, - "warmth": 5, - "material_thickness": 3, - "flags": [ "VARSIZE", "STURDY", "WATER_FRIENDLY", "ELECTRIC_IMMUNE", "HELMET_COMPAT" ] - }, { "id": "sheath", "type": "ARMOR", @@ -7194,6 +7659,7 @@ "price": 3500, "material": [ "leather" ], "symbol": "|", + "looks_like": "scabbard", "color": "brown", "covers": [ "LEG_EITHER" ], "coverage": 5, @@ -7219,6 +7685,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "blanket", "color": "white", "covers": [ "TORSO", "ARMS", "HANDS", "LEGS", "FEET" ], "coverage": 100, @@ -7237,6 +7704,7 @@ "price": 1100, "material": [ "cotton" ], "symbol": "[", + "looks_like": "dress_shirt", "color": "light_gray", "covers": [ "TORSO", "ARMS" ], "coverage": 90, @@ -7258,6 +7726,7 @@ "to_hit": 1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "boxers", "color": "brown", "covers": [ "LEGS" ], "coverage": 40, @@ -7279,6 +7748,7 @@ "to_hit": 1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "shorts", "color": "light_gray", "covers": [ "LEGS" ], "coverage": 40, @@ -7300,6 +7770,7 @@ "to_hit": 1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "shorts", "color": "light_blue", "covers": [ "LEGS" ], "coverage": 40, @@ -7309,6 +7780,23 @@ "material_thickness": 3, "flags": [ "VARSIZE" ] }, + { + "id": "thermal_shirt", + "type": "ARMOR", + "name": "thermal shirt", + "description": "A lightweight, form-fitting long-sleeved spandex undershirt that helps maintains body temperature.", + "weight": "92 g", + "volume": "250 ml", + "price": 3200, + "material": [ "lycra" ], + "symbol": "[", + "color": "dark_gray", + "covers": [ "TORSO", "ARMS" ], + "coverage": 95, + "warmth": 20, + "material_thickness": 1, + "flags": [ "VARSIZE", "SKINTIGHT", "WATER_FRIENDLY" ] + }, { "id": "tie_skinny", "type": "ARMOR", @@ -7332,6 +7820,7 @@ "price": 18000, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "coat_winter", "color": "light_blue", "covers": [ "TORSO", "ARMS" ], "coverage": 95, @@ -7340,8 +7829,7 @@ "warmth": 80, "material_thickness": 5, "environmental_protection": 3, - "flags": [ "VARSIZE", "POCKETS", "HOOD", "COLLAR", "OUTER" ], - "looks_like": "coat_winter" + "flags": [ "VARSIZE", "POCKETS", "HOOD", "COLLAR", "OUTER" ] }, { "id": "skirt", @@ -7353,6 +7841,7 @@ "price": 6500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "kilt", "color": "dark_gray", "covers": [ "LEGS" ], "coverage": 50, @@ -7371,6 +7860,7 @@ "price": 9500, "material": [ "leather" ], "symbol": "[", + "looks_like": "skirt", "color": "brown", "covers": [ "LEGS" ], "coverage": 35, @@ -7390,6 +7880,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "blanket", "color": "light_red", "covers": [ "TORSO", "HEAD", "MOUTH", "ARMS", "HANDS", "LEGS", "FEET" ], "coverage": 100, @@ -7416,6 +7907,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "(", + "looks_like": "duffelbag", "color": "light_red", "covers": [ "TORSO" ], "coverage": 10, @@ -7435,6 +7927,7 @@ "to_hit": -1, "material": [ "cotton", "fur" ], "symbol": "[", + "looks_like": "sleeping_bag", "color": "brown", "covers": [ "TORSO", "HEAD", "MOUTH", "ARMS", "HANDS", "LEGS", "FEET" ], "coverage": 100, @@ -7461,6 +7954,7 @@ "to_hit": -1, "material": [ "cotton", "fur" ], "symbol": "(", + "looks_like": "sleeping_bag_roll", "color": "brown", "covers": [ "TORSO" ], "coverage": 10, @@ -7486,6 +7980,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "duster", "color": "dark_gray", "covers": [ "TORSO", "LEGS" ], "coverage": 90, @@ -7508,6 +8003,7 @@ "to_hit": -1, "material": [ "fur" ], "symbol": "[", + "looks_like": "duster_fur", "color": "brown", "covers": [ "TORSO", "LEGS" ], "coverage": 90, @@ -7541,6 +8037,7 @@ "to_hit": -1, "material": [ "leather" ], "symbol": "[", + "looks_like": "duster_leather", "color": "brown", "covers": [ "TORSO", "LEGS" ], "coverage": 90, @@ -7564,6 +8061,7 @@ "to_hit": -1, "material": [ "cotton", "kevlar" ], "symbol": "[", + "looks_like": "duster_survivor", "color": "brown", "covers": [ "TORSO", "LEGS" ], "coverage": 85, @@ -7586,6 +8084,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "sleeveless_duster", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 90, @@ -7608,6 +8107,7 @@ "to_hit": -1, "material": [ "fur" ], "symbol": "[", + "looks_like": "sleeveless_duster_fur", "color": "brown", "covers": [ "TORSO" ], "coverage": 90, @@ -7641,6 +8141,7 @@ "to_hit": -1, "material": [ "leather" ], "symbol": "[", + "looks_like": "sleeveless_duster_leather", "color": "brown", "covers": [ "TORSO" ], "coverage": 90, @@ -7664,6 +8165,7 @@ "to_hit": -1, "material": [ "cotton", "kevlar" ], "symbol": "[", + "looks_like": "sleeveless_duster_survivor", "color": "brown", "covers": [ "TORSO" ], "coverage": 85, @@ -7685,6 +8187,7 @@ "to_hit": -5, "material": [ "cotton" ], "symbol": "[", + "looks_like": "vest_leather", "color": "dark_gray", "covers": [ "LEGS", "TORSO" ], "coverage": 65, @@ -7704,6 +8207,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "blanket", "color": "light_red", "covers": [ "TORSO", "ARMS", "LEGS" ], "coverage": 85, @@ -7724,6 +8228,7 @@ "price": 0, "material": [ "cotton" ], "symbol": "[", + "looks_like": "mittens", "color": "white", "covers": [ "HANDS" ], "coverage": 40, @@ -7742,6 +8247,7 @@ "price": 200, "material": [ "cotton" ], "symbol": "[", + "looks_like": "socks_wool", "color": "white", "covers": [ "FEET" ], "coverage": 100, @@ -7760,6 +8266,7 @@ "price": 50, "material": [ "plastic" ], "symbol": "[", + "looks_like": "socks", "color": "light_blue", "covers": [ "FEET" ], "coverage": 70, @@ -7778,6 +8285,7 @@ "price": 50, "material": [ "cotton" ], "symbol": "[", + "looks_like": "socks", "color": "white", "covers": [ "FEET" ], "coverage": 80, @@ -7795,6 +8303,7 @@ "price": 1200, "material": [ "wool" ], "symbol": "[", + "looks_like": "socks", "color": "blue", "covers": [ "FEET" ], "coverage": 100, @@ -7811,8 +8320,9 @@ "weight": "92 g", "volume": "500 ml", "price": 4200, - "material": [ "cotton", "plastic" ], + "material": [ "lycra" ], "symbol": "[", + "looks_like": "bra", "color": "white", "covers": [ "TORSO" ], "coverage": 30, @@ -7828,8 +8338,9 @@ "weight": "3481 g", "volume": "7500 ml", "price": 4500000, - "material": [ "plastic", "neoprene" ], + "material": [ "lycra", "neoprene" ], "symbol": "[", + "looks_like": "jumpsuit", "color": "dark_gray", "covers": [ "TORSO", "ARMS", "LEGS", "FEET" ], "coverage": 95, @@ -7849,6 +8360,7 @@ "price": 500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "leg_warmers", "color": "dark_gray", "covers": [ "FEET", "LEGS" ], "coverage": 75, @@ -7868,6 +8380,7 @@ "price": 400, "material": [ "cotton" ], "symbol": "[", + "looks_like": "arm_warmers", "color": "dark_gray", "covers": [ "HANDS", "ARMS" ], "coverage": 75, @@ -7887,6 +8400,7 @@ "price": 1200, "material": [ "cotton" ], "symbol": "[", + "looks_like": "leg_warmers", "color": "dark_gray", "covers": [ "FEET", "LEGS" ], "coverage": 75, @@ -7906,6 +8420,7 @@ "to_hit": -1, "material": "paper", "symbol": "[", + "looks_like": "plastic_shopping_bag", "color": "light_gray", "covers": [ "ARM_EITHER", "HAND_EITHER" ], "coverage": 4, @@ -7924,6 +8439,7 @@ "price": 300, "material": [ "paper" ], "symbol": "[", + "looks_like": "hat_cowboy", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 40, @@ -7944,6 +8460,7 @@ "to_hit": 1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "pants_checkered", "color": "white", "covers": [ "LEGS" ], "coverage": 95, @@ -7963,6 +8480,7 @@ "price": 500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "longshirt", "color": "white", "covers": [ "TORSO", "ARMS" ], "coverage": 90, @@ -7975,13 +8493,14 @@ "id": "subsuit_xl", "type": "ARMOR", "name": "subject suit", - "description": "A thin, short-sleeved and short-legged one-piece suit. Judging by the odd tailoring and adjustment points... maybe you don't want to know who wore it. Provides nominal storage and is not very encumbering.", + "description": "A thin, short-sleeved and short-legged one-piece suit. Judging by the odd tailoring and adjustment points… maybe you don't want to know who wore it. Provides nominal storage and is not very encumbering.", "weight": "810 g", "volume": "5 L", "price": 11000, "to_hit": -3, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "jumpsuit", "color": "yellow", "covers": [ "LEGS", "ARMS", "TORSO" ], "coverage": 95, @@ -8002,6 +8521,7 @@ "to_hit": -5, "material": [ "cotton" ], "symbol": "[", + "looks_like": "jumpsuit", "color": "light_gray", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 95, @@ -8022,6 +8542,7 @@ "price": 21000, "material": [ "plastic" ], "symbol": "[", + "looks_like": "suitcase_m", "color": "red", "covers": [ "ARM_EITHER", "HAND_EITHER", "LEG_EITHER" ], "coverage": 5, @@ -8040,6 +8561,7 @@ "price": 21000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "briefcase", "color": "blue", "covers": [ "ARM_EITHER", "HAND_EITHER" ], "coverage": 5, @@ -8060,6 +8582,7 @@ "to_hit": -5, "material": [ "cotton" ], "symbol": "[", + "looks_like": "dress", "color": "yellow", "covers": [ "LEGS", "TORSO" ], "coverage": 65, @@ -8078,6 +8601,7 @@ "to_hit": -2, "material": [ "glass", "plastic" ], "symbol": "[", + "looks_like": "glasses_eye", "color": "dark_gray", "covers": [ "EYES" ], "coverage": 85, @@ -8097,6 +8621,7 @@ "price": 15000, "material": [ "leather" ], "symbol": "[", + "looks_like": "holster", "color": "brown", "covers": [ "TORSO" ], "coverage": 15, @@ -8126,6 +8651,7 @@ "to_hit": -2, "material": [ "kevlar", "leather" ], "symbol": "[", + "looks_like": "glasses_bal", "color": "dark_gray", "covers": [ "EYES" ], "coverage": 100, @@ -8147,6 +8673,7 @@ "price": 150000, "material": [ "kevlar", "leather" ], "symbol": "[", + "looks_like": "touring_suit", "color": "brown", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 100, @@ -8168,6 +8695,7 @@ "to_hit": -5, "material": "cotton", "symbol": "[", + "looks_like": "duffelbag", "color": "brown", "covers": [ "ARM_EITHER", "HAND_EITHER" ], "coverage": 5, @@ -8190,6 +8718,7 @@ "bashing": 6, "material": [ "kevlar", "cotton" ], "symbol": "[", + "looks_like": "touring_suit", "color": "dark_gray", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 95, @@ -8210,6 +8739,7 @@ "price": 4500, "material": [ "wool" ], "symbol": "[", + "looks_like": "longshirt", "color": "blue", "covers": [ "TORSO", "ARMS" ], "coverage": 95, @@ -8228,6 +8758,7 @@ "price": 1800, "material": [ "cotton" ], "symbol": "[", + "looks_like": "longshirt", "color": "light_red", "covers": [ "TORSO", "ARMS" ], "coverage": 95, @@ -8247,6 +8778,7 @@ "price": 2500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "socks", "color": "dark_gray", "covers": [ "FEET" ], "coverage": 100, @@ -8265,6 +8797,7 @@ "price": 2500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "socks", "color": "white", "covers": [ "FEET" ], "coverage": 100, @@ -8285,6 +8818,7 @@ "bashing": 10, "material": [ "kevlar", "plastic" ], "symbol": "[", + "looks_like": "helmet_motor", "color": "dark_gray", "covers": [ "HEAD", "EYES", "MOUTH" ], "coverage": 100, @@ -8308,6 +8842,7 @@ "bashing": 10, "material": [ "kevlar", "plastic" ], "symbol": "[", + "looks_like": "tac_fullhelmet", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 95, @@ -8327,6 +8862,7 @@ "price": 500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "tshirt", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 40, @@ -8345,6 +8881,7 @@ "to_hit": 1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "pants", "color": "light_gray", "covers": [ "LEGS" ], "coverage": 95, @@ -8353,9 +8890,9 @@ "warmth": 15, "material_thickness": 2, "snippet_category": [ - { "id": "blue", "text": "A pair of blue work pants." }, - { "id": "gray", "text": "A pair of gray work pants." }, - { "id": "lightblue", "text": "A pair of light-blue work pants." } + { "id": "technician_pants_blue", "text": "A pair of blue work pants." }, + { "id": "technician_pants_gray", "text": "A pair of gray work pants." }, + { "id": "technician_pants_lightblue", "text": "A pair of light-blue work pants." } ], "flags": [ "VARSIZE", "POCKETS" ] }, @@ -8369,6 +8906,7 @@ "price": 1000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "polo_shirt", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 40, @@ -8377,9 +8915,9 @@ "warmth": 8, "material_thickness": 1, "snippet_category": [ - { "id": "blue", "text": "A blue work t-shirt with a small front pocket." }, - { "id": "gray", "text": "A gray work t-shirt with a small front pocket." }, - { "id": "lightblue", "text": "A light-blue work t-shirt with a small front pocket." } + { "id": "technician_shirt_blue", "text": "A blue work t-shirt with a small front pocket." }, + { "id": "technician_shirt_gray", "text": "A gray work t-shirt with a small front pocket." }, + { "id": "technician_shirt_lightblue", "text": "A light-blue work t-shirt with a small front pocket." } ], "flags": [ "VARSIZE" ] }, @@ -8395,6 +8933,7 @@ "to_hit": -5, "material": [ "cotton" ], "symbol": "[", + "looks_like": "robe", "color": "white", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 90, @@ -8454,6 +8993,7 @@ "price": 2000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "leggings", "color": "dark_gray", "covers": [ "FEET", "LEGS" ], "coverage": 100, @@ -8472,6 +9012,7 @@ "price": 16, "material": [ "aluminum" ], "symbol": "[", + "looks_like": "hat_cotton", "color": "yellow", "covers": [ "HEAD" ], "coverage": 90, @@ -8488,6 +9029,7 @@ "bashing": 5, "material": [ "leather" ], "symbol": "[", + "looks_like": "holster", "color": "brown", "covers": [ "TORSO" ], "coverage": 20, @@ -8517,6 +9059,7 @@ "price": 19500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "hat_porkpie", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 50, @@ -8538,6 +9081,7 @@ "bashing": 2, "material": [ "leather", "nomex" ], "symbol": "[", + "looks_like": "jumpsuit", "color": "light_red", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 95, @@ -8559,6 +9103,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "coat_winter", "color": "dark_gray", "covers": [ "TORSO", "ARMS" ], "coverage": 90, @@ -8580,6 +9125,7 @@ "to_hit": -1, "material": [ "fur" ], "symbol": "[", + "looks_like": "trenchcoat_leather", "color": "brown", "covers": [ "TORSO", "ARMS" ], "coverage": 90, @@ -8612,6 +9158,7 @@ "to_hit": -1, "material": [ "leather" ], "symbol": "[", + "looks_like": "trenchcoat", "color": "brown", "covers": [ "TORSO", "ARMS" ], "coverage": 90, @@ -8634,6 +9181,7 @@ "to_hit": -1, "material": [ "cotton", "kevlar" ], "symbol": "[", + "looks_like": "trenchcoat", "color": "brown", "covers": [ "TORSO", "ARMS" ], "coverage": 85, @@ -8654,6 +9202,7 @@ "price": 7500, "material": [ "leather" ], "symbol": "[", + "looks_like": "bowlhat", "color": "brown", "covers": [ "HEAD" ], "coverage": 50, @@ -8663,24 +9212,6 @@ "environmental_protection": 2, "flags": [ "VARSIZE", "WATERPROOF", "WATER_FRIENDLY", "FANCY" ] }, - { - "id": "trunks", - "type": "ARMOR", - "name": "pair of swimming trunks", - "name_plural": "pairs of swimming trunks", - "description": "A pair of swimming trunks, with netting.", - "weight": "210 g", - "volume": "750 ml", - "price": 1800, - "to_hit": 1, - "material": [ "cotton" ], - "symbol": "[", - "color": "blue", - "covers": [ "LEGS" ], - "coverage": 35, - "material_thickness": 1, - "flags": [ "VARSIZE", "WATER_FRIENDLY" ] - }, { "id": "tshirt", "type": "ARMOR", @@ -8691,6 +9222,7 @@ "price": 800, "material": [ "cotton" ], "symbol": "[", + "looks_like": "camisole", "color": "white", "covers": [ "TORSO" ], "coverage": 90, @@ -8708,6 +9240,7 @@ "price": 800, "material": [ "cotton" ], "symbol": "[", + "looks_like": "tshirt", "color": "white", "covers": [ "TORSO" ], "coverage": 90, @@ -8728,6 +9261,7 @@ "name": "tour t-shirt", "description": "A short-sleeved cotton shirt.", "price": 1000, + "looks_like": "tshirt", "price_postapoc": 1200, "color": "dark_gray", "snippet_category": [ @@ -8776,6 +9310,7 @@ "to_hit": -5, "material": "cotton", "symbol": "[", + "looks_like": "sweatshirt", "color": "dark_gray", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 75, @@ -8794,6 +9329,7 @@ "price": 70, "material": [ "cotton" ], "symbol": "[", + "looks_like": "tunic", "color": "light_red", "covers": [ "TORSO", "LEGS" ], "coverage": 65, @@ -8813,6 +9349,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "hat_cotton", "color": "white", "covers": [ "HEAD" ], "coverage": 50, @@ -8832,6 +9369,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "scarf", "color": "yellow", "covers": [ "HEAD" ], "coverage": 70, @@ -8851,6 +9389,7 @@ "to_hit": -5, "material": [ "cotton" ], "symbol": "[", + "looks_like": "suit", "color": "dark_gray", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 95, @@ -8868,8 +9407,9 @@ "weight": "92 g", "volume": "250 ml", "price": 2000, - "material": [ "cotton", "plastic" ], + "material": [ "lycra" ], "symbol": "[", + "looks_like": "longshirt", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 95, @@ -8886,8 +9426,9 @@ "weight": "82 g", "volume": "250 ml", "price": 2000, - "material": [ "cotton", "plastic" ], + "material": [ "lycra" ], "symbol": "[", + "looks_like": "shorts", "color": "dark_gray", "covers": [ "LEGS" ], "coverage": 45, @@ -8905,6 +9446,7 @@ "price": 1000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "tshirt", "color": "white", "covers": [ "TORSO" ], "coverage": 60, @@ -8922,6 +9464,7 @@ "price": 2500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "jumpsuit", "color": "light_gray", "covers": [ "TORSO", "ARMS", "LEGS" ], "coverage": 95, @@ -8943,6 +9486,7 @@ "to_hit": 1, "material": [ "leather" ], "symbol": "[", + "looks_like": "armguards_larmor", "color": "brown", "covers": [ "ARMS" ], "coverage": 50, @@ -8964,6 +9508,7 @@ "to_hit": -1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "scarf", "color": "white", "covers": [ "MOUTH", "EYES" ], "coverage": 100, @@ -8982,6 +9527,7 @@ "price": 3900, "material": [ "cotton" ], "symbol": "[", + "looks_like": "tank_top", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 60, @@ -9002,6 +9548,7 @@ "to_hit": 1, "material": [ "leather" ], "symbol": "[", + "looks_like": "vest", "color": "brown", "covers": [ "TORSO" ], "coverage": 90, @@ -9023,6 +9570,7 @@ "to_hit": 1, "material": [ "leather", "iron" ], "symbol": "[", + "looks_like": "vest_leather", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 90, @@ -9043,6 +9591,7 @@ "price": 5000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "blazer", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 60, @@ -9052,88 +9601,6 @@ "material_thickness": 1, "flags": [ "VARSIZE", "FANCY" ] }, - { - "id": "wetsuit", - "type": "ARMOR", - "name": "wetsuit", - "description": "A full-body neoprene wetsuit.", - "weight": "5110 g", - "volume": "5 L", - "price": 10000, - "to_hit": -3, - "material": [ "neoprene", "cotton" ], - "symbol": "[", - "color": "dark_gray", - "covers": [ "LEGS", "TORSO", "ARMS" ], - "coverage": 100, - "encumbrance": 15, - "storage": "1 L", - "warmth": 50, - "material_thickness": 1, - "environmental_protection": 2, - "flags": [ "VARSIZE", "WATER_FRIENDLY", "SKINTIGHT" ] - }, - { - "id": "wetsuit_gloves", - "type": "ARMOR", - "name": "pair of swimming gloves", - "name_plural": "pairs of swimming gloves", - "description": "A pair of very flexible neoprene-silicone rubber gloves, suitable for underwater use.", - "weight": "93 g", - "volume": "500 ml", - "price": 3000, - "to_hit": 1, - "material": [ "neoprene", "cotton" ], - "symbol": "[", - "color": "dark_gray", - "covers": [ "HANDS" ], - "coverage": 100, - "encumbrance": 10, - "warmth": 30, - "material_thickness": 1, - "environmental_protection": 1, - "flags": [ "VARSIZE", "WATER_FRIENDLY", "SKINTIGHT" ] - }, - { - "id": "wetsuit_hood", - "type": "ARMOR", - "name": "wetsuit hood", - "description": "A neoprene hood, commonly worn by divers.", - "weight": "270 g", - "volume": "1 L", - "price": 4500, - "material": [ "neoprene", "cotton" ], - "symbol": "[", - "color": "dark_gray", - "covers": [ "HEAD" ], - "coverage": 100, - "encumbrance": 10, - "warmth": 30, - "material_thickness": 1, - "environmental_protection": 1, - "flags": [ "VARSIZE", "WATER_FRIENDLY", "SKINTIGHT" ] - }, - { - "id": "wetsuit_spring", - "type": "ARMOR", - "name": "spring suit", - "description": "A long-sleeved spring wetsuit with pink color details and cleavage-enhancing, hip-accentuating construction. Not as protective as a full-body suit, but also less restrictive.", - "weight": "3120 g", - "volume": "4 L", - "price": 12000, - "to_hit": -3, - "material": [ "neoprene", "cotton" ], - "symbol": "[", - "color": "pink", - "covers": [ "TORSO", "ARMS" ], - "coverage": 90, - "encumbrance": 5, - "storage": "1 L", - "warmth": 30, - "material_thickness": 1, - "environmental_protection": 2, - "flags": [ "VARSIZE", "WATER_FRIENDLY", "SKINTIGHT" ] - }, { "id": "winter_gloves_army", "type": "ARMOR", @@ -9146,6 +9613,7 @@ "to_hit": 1, "material": [ "cotton" ], "symbol": "[", + "looks_like": "fire_gauntlets", "color": "white", "covers": [ "HANDS" ], "coverage": 100, @@ -9164,6 +9632,7 @@ "price": 4375, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "coat_winter", "color": "white", "covers": [ "TORSO", "ARMS" ], "coverage": 95, @@ -9184,6 +9653,7 @@ "price": 4375, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "pants_army", "color": "white", "covers": [ "LEGS" ], "coverage": 95, @@ -9204,6 +9674,7 @@ "to_hit": -3, "material": [ "cotton" ], "symbol": "[", + "looks_like": "dinosuit", "color": "light_gray", "covers": [ "LEGS", "TORSO", "ARMS", "HANDS", "HEAD", "FEET", "MOUTH", "EYES" ], "coverage": 100, @@ -9224,6 +9695,7 @@ "price": 3500, "material": [ "wool" ], "symbol": "[", + "looks_like": "hoodie", "color": "dark_gray", "covers": [ "TORSO", "ARMS" ], "coverage": 95, @@ -9244,6 +9716,7 @@ "to_hit": -1, "material": [ "wool" ], "symbol": "[", + "looks_like": "touring_suit", "color": "dark_gray", "covers": [ "TORSO", "HEAD", "ARMS", "LEGS", "FEET" ], "coverage": 95, @@ -9265,6 +9738,7 @@ "bashing": 6, "material": [ "kevlar", "fur" ], "symbol": "[", + "looks_like": "survivor_suit", "color": "light_gray", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 100, @@ -9288,6 +9762,7 @@ "bashing": 6, "material": [ "kevlar", "leather" ], "symbol": "[", + "looks_like": "survivor_suit", "color": "brown", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 100, @@ -9304,7 +9779,6 @@ "category": "armor", "name": "XL heavy survivor suit", "description": "A massive, heavy, hand-built combination armor made from a reinforced bulletproof vest and a metal-plated leather jumpsuit. Protects from the elements as well as from harm.", - "looks_like": "hsurvivor_suit", "weight": "16500 g", "volume": "18750 ml", "price": 200000, @@ -9312,6 +9786,7 @@ "bashing": 6, "material": [ "kevlar", "steel", "leather" ], "symbol": "[", + "looks_like": "hsurvivor_suit", "color": "dark_gray", "covers": [ "LEGS", "TORSO", "ARMS" ], "coverage": 100, @@ -9332,6 +9807,7 @@ "price": 2500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "pants", "color": "white", "covers": [ "LEGS" ], "coverage": 80, @@ -9352,6 +9828,7 @@ "bashing": 8, "material": [ "plastic", "steel", "leather" ], "symbol": "&", + "looks_like": "briefcase", "color": "dark_gray", "covers": [ "ARM_EITHER", "HAND_EITHER" ], "coverage": 10, @@ -9370,6 +9847,7 @@ "price": 117500, "material": [ "plastic" ], "symbol": "[", + "looks_like": "beekeeping_suit", "color": "yellow", "covers": [ "HEAD", "TORSO", "ARMS", "HANDS", "LEGS", "FEET" ], "coverage": 100, @@ -9390,6 +9868,7 @@ "price": 400000, "material": [ "kevlar", "plastic" ], "symbol": "[", + "looks_like": "hazmat_suit", "color": "light_red", "covers": [ "HEAD", "TORSO", "ARMS", "HANDS", "LEGS", "FEET" ], "coverage": 100, @@ -9409,6 +9888,7 @@ "price": 117500, "material": [ "nomex" ], "symbol": "[", + "looks_like": "hazmat_suit", "color": "brown", "covers": [ "HEAD", "TORSO", "ARMS", "HANDS", "LEGS", "FEET" ], "coverage": 100, @@ -9429,6 +9909,7 @@ "price": 240500, "material": [ "nomex", "kevlar" ], "symbol": "[", + "looks_like": "jumpsuit", "color": "light_gray", "covers": [ "HEAD", "TORSO", "ARMS", "HANDS", "LEGS", "FEET" ], "coverage": 100, @@ -9450,6 +9931,7 @@ "to_hit": 2, "material": [ "leather" ], "symbol": "[", + "looks_like": "gloves_light", "color": "dark_gray", "covers": [ "HANDS" ], "coverage": 90, @@ -9469,6 +9951,7 @@ "price": 2200, "material": [ "cotton" ], "symbol": "[", + "looks_like": "hat_ball", "color": "dark_gray", "covers": [ "HEAD" ], "coverage": 40, @@ -9490,6 +9973,7 @@ "rigid": false, "material": "leather", "symbol": "[", + "looks_like": "quiver", "color": "brown", "covers": [ "TORSO" ], "coverage": 30, @@ -9518,6 +10002,7 @@ "bashing": 10, "material": "steel", "symbol": "[", + "looks_like": "pot_helmet", "color": "light_gray", "covers": [ "HEAD" ], "coverage": 55, @@ -9539,6 +10024,7 @@ "bashing": 10, "material": [ "bronze" ], "symbol": "[", + "looks_like": "helmet_plate", "color": "yellow", "covers": [ "HEAD", "EYES", "MOUTH" ], "coverage": 90, @@ -9562,6 +10048,7 @@ "bashing": 6, "material": [ "bronze" ], "symbol": "[", + "looks_like": "cuirass_lightplate", "color": "yellow", "covers": [ "TORSO" ], "coverage": 90, @@ -9583,6 +10070,7 @@ "to_hit": 1, "material": [ "bronze", "leather" ], "symbol": "[", + "looks_like": "legguard_lightplate", "color": "yellow", "covers": [ "LEGS" ], "coverage": 70, @@ -9602,6 +10090,7 @@ "to_hit": -1, "material": [ "plastic" ], "symbol": "[", + "looks_like": "blanket", "color": "light_blue", "covers": [ "TORSO", "ARMS", "HANDS", "LEGS", "FEET" ], "coverage": 90, @@ -9610,5 +10099,39 @@ "material_thickness": 1, "environmental_protection": 1, "flags": [ "OVERSIZE", "OUTER", "WATERPROOF", "ALLOWS_NATURAL_ATTACKS" ] + }, + { + "id": "unitard", + "type": "ARMOR", + "name": "unitard", + "description": "A skin-tight spandex garment resembling a crew necked leotard combined with leggings. Commonly used by gymnasts, dancers and equestrian vaulters, the unitard provides overall coverage with great flexibility.", + "weight": "110 g", + "volume": "250 ml", + "price": 3100, + "material": [ "lycra" ], + "symbol": "[", + "color": "dark_gray", + "covers": [ "TORSO", "LEGS" ], + "coverage": 90, + "warmth": 20, + "material_thickness": 1, + "flags": [ "VARSIZE", "SKINTIGHT", "WATER_FRIENDLY" ] + }, + { + "id": "zentai", + "type": "ARMOR", + "name": "zentai", + "description": "Short for 'zenshin taitsu', a zentai is a form fitting full body nylon and spandex garment. Though it covers your face, you can see through the integrated hood. With a couple of these and some friends and you could put on some kabuki.", + "weight": "300 g", + "volume": "500 ml", + "price": 2500, + "material": [ "lycra" ], + "symbol": "[", + "color": "dark_gray", + "covers": [ "HEAD", "MOUTH", "EYES", "TORSO", "ARMS", "HANDS", "LEGS", "FEET" ], + "coverage": 100, + "warmth": 20, + "material_thickness": 1, + "flags": [ "VARSIZE", "SKINTIGHT", "WATER_FRIENDLY" ] } ] diff --git a/data/json/items/armor/ammo_pouch.json b/data/json/items/armor/ammo_pouch.json index 21504d34db9c4..f2f81f5026b52 100644 --- a/data/json/items/armor/ammo_pouch.json +++ b/data/json/items/armor/ammo_pouch.json @@ -10,6 +10,7 @@ "price_postapoc": 5000, "material": "cotton", "symbol": "[", + "looks_like": "pouch", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 20, @@ -38,6 +39,7 @@ "rigid": false, "material": "cotton", "symbol": "[", + "looks_like": "pouch", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 15, @@ -65,6 +67,7 @@ "rigid": false, "material": "cotton", "symbol": "[", + "looks_like": "tool_belt", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 15, @@ -87,6 +90,7 @@ "description": "This light vest is meant to carry your gear and ammunition comfortably distributed about your torso. They are popular amongst law enforcement, but less so than combination tactical vests incorporating kevlar. Lightweight and easy to don, this vest can hold four magazines close at hand in its many pouches.", "weight": "600 g", "volume": "1250 ml", + "looks_like": "vest", "price": 7400, "price_postapoc": 12000, "rigid": false, @@ -122,6 +126,7 @@ "price_postapoc": 4500, "material": "cotton", "symbol": "[", + "looks_like": "pouch", "color": "dark_gray", "covers": [ "FOOT_EITHER" ], "coverage": 5, @@ -150,6 +155,7 @@ "rigid": false, "material": "cotton", "symbol": "[", + "looks_like": "ammo_satchel", "color": "dark_gray", "covers": [ "LEG_EITHER" ], "coverage": 15, @@ -180,6 +186,7 @@ "bashing": 6, "material": [ "kevlar" ], "symbol": "[", + "looks_like": "modularvestkevlar", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 85, @@ -214,6 +221,7 @@ "bashing": 6, "material": [ "kevlar", "ceramic" ], "symbol": "[", + "looks_like": "modularvestkevlar", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 85, @@ -248,6 +256,7 @@ "bashing": 6, "material": [ "kevlar", "hardsteel" ], "symbol": "[", + "looks_like": "modularvestkevlar", "color": "light_cyan", "covers": [ "TORSO" ], "coverage": 85, @@ -282,6 +291,7 @@ "bashing": 6, "material": [ "kevlar", "kevlar_rigid" ], "symbol": "[", + "looks_like": "vest", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 85, @@ -316,6 +326,7 @@ "bashing": 8, "material": [ "kevlar", "steel" ], "symbol": "[", + "looks_like": "modularvestkevlar", "color": "light_cyan", "covers": [ "TORSO" ], "coverage": 85, @@ -350,6 +361,7 @@ "bashing": 8, "material": [ "kevlar", "superalloy" ], "symbol": "[", + "looks_like": "modularvestkevlar", "color": "light_cyan", "covers": [ "TORSO" ], "coverage": 85, diff --git a/data/json/items/armor/backpacks.json b/data/json/items/armor/backpacks.json index a44938418fc7e..a3b12162595d9 100644 --- a/data/json/items/armor/backpacks.json +++ b/data/json/items/armor/backpacks.json @@ -11,6 +11,7 @@ "rigid": false, "material": [ "cotton" ], "symbol": "[", + "looks_like": "pouch", "color": "green", "covers": [ "TORSO" ], "coverage": 30, @@ -33,6 +34,7 @@ "rigid": false, "material": [ "leather" ], "symbol": "[", + "looks_like": "backpack", "color": "brown", "covers": [ "TORSO" ], "coverage": 50, @@ -65,6 +67,7 @@ "rigid": false, "material": [ "cotton" ], "symbol": "[", + "looks_like": "backpack", "color": "green", "covers": [ "TORSO", "LEGS" ], "coverage": 75, @@ -87,6 +90,7 @@ "rigid": false, "material": [ "leather" ], "symbol": "[", + "looks_like": "backpack", "color": "brown", "covers": [ "TORSO" ], "coverage": 30, @@ -109,6 +113,7 @@ "rigid": false, "material": [ "leather" ], "symbol": "[", + "looks_like": "backpack", "color": "green", "covers": [ "TORSO" ], "coverage": 50, @@ -129,7 +134,9 @@ "price": 20000, "price_postapoc": 40000, "rigid": false, + "material": [ "leather" ], "symbol": "[", + "looks_like": "rucksack", "color": "black", "covers": [ "TORSO" ], "coverage": 50, @@ -152,6 +159,7 @@ "rigid": false, "material": [ "plastic" ], "symbol": "[", + "looks_like": "backpack", "color": "yellow", "covers": [ "TORSO" ], "coverage": 40, @@ -173,6 +181,7 @@ "rigid": false, "material": [ "cotton" ], "symbol": "[", + "looks_like": "rucksack", "color": "green", "covers": [ "TORSO" ], "coverage": 50, @@ -194,6 +203,7 @@ "price_postapoc": 7900, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "backpack", "color": "blue", "covers": [ "TORSO" ], "coverage": 40, @@ -217,6 +227,7 @@ "to_hit": -1, "material": [ "plastic", "cotton" ], "symbol": "[", + "looks_like": "backpack", "color": "green", "covers": [ "TORSO" ], "coverage": 40, @@ -238,6 +249,7 @@ "rigid": false, "material": [ "cotton" ], "symbol": "[", + "looks_like": "pouch", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 30, @@ -261,6 +273,7 @@ "to_hit": -2, "material": [ "cotton" ], "symbol": "[", + "looks_like": "pouch", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 40, @@ -286,6 +299,7 @@ "bashing": 1, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "purse", "color": "green", "covers": [ "TORSO" ], "coverage": 30, @@ -307,6 +321,7 @@ "rigid": false, "material": [ "cotton", "kevlar" ], "symbol": "[", + "looks_like": "backpack", "color": "green", "covers": [ "TORSO" ], "coverage": 35, @@ -331,6 +346,7 @@ "bashing": 2, "material": [ "leather" ], "symbol": "[", + "looks_like": "pouch", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 10, @@ -352,6 +368,7 @@ "rigid": false, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "backpack", "color": "green", "covers": [ "TORSO" ], "coverage": 40, @@ -376,6 +393,7 @@ "bashing": 1, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "backpack", "color": "green", "covers": [ "TORSO" ], "coverage": 20, @@ -400,6 +418,7 @@ "bashing": 1, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "purse", "color": "green", "covers": [ "TORSO" ], "coverage": 30, @@ -422,6 +441,7 @@ "rigid": false, "material": [ "leather", "cotton" ], "symbol": "[", + "looks_like": "rucksack", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 40, @@ -443,6 +463,7 @@ "rigid": false, "material": [ "leather", "cotton" ], "symbol": "[", + "looks_like": "backpack", "color": "brown", "covers": [ "TORSO" ], "coverage": 30, @@ -464,6 +485,7 @@ "rigid": false, "material": [ "leather", "cotton" ], "symbol": "[", + "looks_like": "rucksack", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 40, @@ -485,6 +507,7 @@ "rigid": false, "material": [ "leather", "cotton" ], "symbol": "[", + "looks_like": "backpack", "color": "brown", "covers": [ "TORSO" ], "coverage": 30, @@ -506,6 +529,7 @@ "rigid": false, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "quiver_large", "color": "green", "covers": [ "TORSO" ], "coverage": 35, @@ -536,6 +560,7 @@ "rigid": false, "material": [ "cotton" ], "symbol": "[", + "looks_like": "backpack", "color": "yellow", "covers": [ "TORSO" ], "coverage": 40, diff --git a/data/json/items/armor/bandolier.json b/data/json/items/armor/bandolier.json index 8fa00fcedc2ae..0bce8b165f478 100644 --- a/data/json/items/armor/bandolier.json +++ b/data/json/items/armor/bandolier.json @@ -10,6 +10,7 @@ "price_postapoc": 2900, "material": "leather", "symbol": "[", + "looks_like": "belt", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 10, @@ -18,7 +19,27 @@ "use_action": { "type": "bandolier", "capacity": 18, - "ammo": [ "32", "762x25", "38", "357mag", "38super", "40", "10mm", "44", "45", "45colt", "9x18", "9mm", "454", "500" ], + "ammo": [ + "32", + "762x25", + "38", + "357mag", + "357sig", + "380", + "38super", + "40", + "10mm", + "44", + "45", + "45colt", + "46", + "57", + "9x18", + "9mm", + "454", + "460", + "500" + ], "draw_cost": 20 }, "flags": [ "WATER_FRIENDLY", "WAIST", "OVERSIZE", "FANCY" ] @@ -34,6 +55,7 @@ "price_postapoc": 2900, "material": "leather", "symbol": "[", + "looks_like": "belt", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 10, @@ -42,7 +64,23 @@ "use_action": { "type": "bandolier", "capacity": 16, - "ammo": [ "22", "223", "5x50", "545x39", "3006", "308", "300", "762", "762R", "8x40mm" ], + "ammo": [ + "22", + "223", + "270win", + "300blk", + "5x50", + "545x39", + "3006", + "308", + "300", + "762", + "762R", + "8x40mm", + "4570", + "50", + "700nx" + ], "draw_cost": 20 }, "flags": [ "WATER_FRIENDLY", "WAIST", "OVERSIZE" ] @@ -58,12 +96,13 @@ "price_postapoc": 2900, "material": "leather", "symbol": "[", + "looks_like": "belt", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 10, "encumbrance": 2, "material_thickness": 1, - "use_action": { "type": "bandolier", "capacity": 25, "ammo": [ "410shot", "shot", "20x66mm", "shotcanister" ], "draw_cost": 25 }, + "use_action": { "type": "bandolier", "capacity": 25, "ammo": [ "410shot", "shot", "20x66mm", "signal_flare" ], "draw_cost": 25 }, "flags": [ "WATER_FRIENDLY", "WAIST", "OVERSIZE" ] }, { @@ -77,12 +116,13 @@ "price_postapoc": 6900, "material": "leather", "symbol": "[", + "looks_like": "belt", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 12, "encumbrance": 3, "material_thickness": 1, - "use_action": { "type": "bandolier", "capacity": 50, "ammo": [ "410shot", "shot", "20x66mm", "shotcanister" ], "draw_cost": 35 }, + "use_action": { "type": "bandolier", "capacity": 50, "ammo": [ "410shot", "shot", "20x66mm", "signal_flare" ], "draw_cost": 35 }, "flags": [ "WATER_FRIENDLY", "OVERSIZE", "BELTED" ] }, { @@ -97,12 +137,18 @@ "price_postapoc": 8900, "material": "leather", "symbol": "[", + "looks_like": "ammo_pouch", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 10, "encumbrance": 2, "material_thickness": 1, - "use_action": { "type": "bandolier", "capacity": 14, "ammo": [ "flintlock", "36paper", "44paper", "blunderbuss" ], "draw_cost": 20 }, + "use_action": { + "type": "bandolier", + "capacity": 14, + "ammo": [ "flintlock", "36paper", "44paper", "blunderbuss", "shotcanister", "shotpaper" ], + "draw_cost": 20 + }, "flags": [ "WATER_FRIENDLY", "WAIST", "OVERSIZE" ] }, { @@ -116,6 +162,7 @@ "price_postapoc": 5900, "material": "cotton", "symbol": "[", + "looks_like": "belt", "color": "dark_gray", "covers": [ "HAND_EITHER" ], "coverage": 5, @@ -124,7 +171,23 @@ "use_action": { "type": "bandolier", "capacity": 4, - "ammo": [ "22", "223", "5x50", "545x39", "3006", "308", "300", "762", "762R", "8x40mm" ], + "ammo": [ + "22", + "223", + "270win", + "300blk", + "5x50", + "545x39", + "3006", + "308", + "300", + "762", + "762R", + "8x40mm", + "4570", + "50", + "700nx" + ], "draw_cost": 20 }, "flags": [ "WATER_FRIENDLY", "BELTED", "ALLOWS_NATURAL_ATTACKS" ] @@ -141,6 +204,7 @@ "price_postapoc": 9900, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "ammo_satchel", "color": "dark_gray", "covers": [ "LEG_EITHER" ], "coverage": 10, @@ -149,6 +213,28 @@ "use_action": { "type": "bandolier", "capacity": 4, "ammo": [ "40mm" ], "draw_cost": 20 }, "flags": [ "WATER_FRIENDLY", "BELTED", "OVERSIZE" ] }, + { + "id": "stone_pouch", + "type": "ARMOR", + "name": "stone pouch", + "name_plural": "stone pouches", + "description": "A medium-sized pouch for storing rocks, with straps for attaching it to your belt or other webbing.", + "weight": "90 g", + "volume": "250 ml", + "price": 5900, + "price_postapoc": 9900, + "rigid": false, + "material": [ "cotton", "leather" ], + "symbol": "[", + "looks_like": "ammo_satchel", + "color": "dark_gray", + "covers": [ "LEG_EITHER" ], + "coverage": 10, + "encumbrance": 4, + "material_thickness": 1, + "use_action": { "type": "bandolier", "capacity": 10, "ammo": [ "rock" ], "draw_cost": 20 }, + "flags": [ "WATER_FRIENDLY", "BELTED", "OVERSIZE" ] + }, { "id": "grenadebandolier", "type": "ARMOR", @@ -162,6 +248,7 @@ "rigid": false, "material": "cotton", "symbol": "[", + "looks_like": "belt", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 15, diff --git a/data/json/items/armor/boots.json b/data/json/items/armor/boots.json index 22f2dd767b3e3..fbda446ccd05f 100644 --- a/data/json/items/armor/boots.json +++ b/data/json/items/armor/boots.json @@ -12,6 +12,7 @@ "to_hit": -2, "material": [ "cotton" ], "symbol": "[", + "looks_like": "flip_flops", "color": "brown", "covers": [ "FEET" ], "coverage": 40, @@ -33,6 +34,7 @@ "bashing": 1, "material": [ "leather" ], "symbol": "[", + "looks_like": "dress_shoes", "color": "dark_gray", "covers": [ "FEET" ], "coverage": 90, @@ -57,6 +59,7 @@ "bashing": 4, "material": [ "bone", "leather" ], "symbol": "[", + "looks_like": "boots", "color": "white", "covers": [ "FEET" ], "coverage": 95, @@ -80,6 +83,7 @@ "to_hit": 2, "material": [ "plastic", "nomex" ], "symbol": "[", + "looks_like": "steeltoed", "color": "dark_gray", "covers": [ "FEET" ], "coverage": 100, @@ -104,6 +108,7 @@ "bashing": 4, "material": [ "chitin" ], "symbol": "[", + "looks_like": "boots_bone", "color": "green", "covers": [ "FEET" ], "coverage": 95, @@ -139,6 +144,7 @@ "bashing": 1, "material": [ "kevlar", "leather" ], "symbol": "[", + "looks_like": "boots", "color": "dark_gray", "covers": [ "FEET" ], "coverage": 100, @@ -163,6 +169,7 @@ "bashing": 1, "material": [ "kevlar", "nomex" ], "symbol": "[", + "looks_like": "boots_combat", "color": "light_gray", "covers": [ "FEET" ], "coverage": 100, @@ -186,6 +193,7 @@ "bashing": 1, "material": [ "leather", "fur" ], "symbol": "[", + "looks_like": "boots", "color": "brown", "covers": [ "FEET" ], "coverage": 90, @@ -210,6 +218,7 @@ "bashing": 1, "material": [ "kevlar", "plastic", "neoprene" ], "symbol": "[", + "looks_like": "boots_bunker", "color": "dark_gray", "covers": [ "FEET" ], "coverage": 100, @@ -233,6 +242,7 @@ "bashing": 1, "material": [ "leather", "plastic" ], "symbol": "[", + "looks_like": "boots", "color": "brown", "covers": [ "FEET" ], "coverage": 95, @@ -257,6 +267,7 @@ "bashing": 1, "material": [ "kevlar", "steel" ], "symbol": "[", + "looks_like": "boots_combat", "color": "dark_gray", "covers": [ "FEET" ], "coverage": 100, @@ -281,6 +292,7 @@ "bashing": 4, "material": [ "leather" ], "symbol": "[", + "looks_like": "boots", "color": "brown", "covers": [ "FEET" ], "coverage": 95, @@ -305,6 +317,7 @@ "bashing": 1, "material": [ "kevlar", "cotton" ], "symbol": "[", + "looks_like": "boots_combat", "color": "green", "covers": [ "FEET" ], "coverage": 100, @@ -329,6 +342,7 @@ "bashing": 7, "material": [ "iron", "leather" ], "symbol": "[", + "looks_like": "boots_steel", "color": "light_gray", "covers": [ "FEET" ], "coverage": 100, @@ -351,6 +365,7 @@ "to_hit": 2, "material": [ "plastic" ], "symbol": "[", + "looks_like": "boots", "color": "dark_gray", "covers": [ "FEET" ], "coverage": 100, @@ -375,6 +390,7 @@ "bashing": 4, "material": [ "steel", "iron" ], "symbol": "[", + "looks_like": "boots_steel", "color": "light_gray", "covers": [ "FEET" ], "coverage": 80, @@ -398,6 +414,7 @@ "bashing": 4, "material": [ "leather", "steel" ], "symbol": "[", + "looks_like": "boots_combat", "color": "brown", "covers": [ "FEET" ], "coverage": 90, @@ -422,6 +439,7 @@ "bashing": 1, "material": [ "kevlar", "leather" ], "symbol": "[", + "looks_like": "boots_combat", "color": "brown", "covers": [ "FEET" ], "coverage": 100, @@ -456,6 +474,7 @@ "to_hit": -1, "material": [ "wool", "plastic" ], "symbol": "[", + "looks_like": "boots_larmor", "color": "light_gray", "covers": [ "FEET" ], "coverage": 90, @@ -480,6 +499,7 @@ "bashing": 1, "material": [ "kevlar", "fur" ], "symbol": "[", + "looks_like": "boots_fur", "color": "light_gray", "covers": [ "FEET" ], "coverage": 100, @@ -504,6 +524,7 @@ "bashing": 1, "material": [ "kevlar", "leather" ], "symbol": "[", + "looks_like": "boots_combat", "color": "brown", "covers": [ "FEET" ], "coverage": 100, @@ -526,6 +547,7 @@ "bashing": 2, "material": [ "cotton", "leather" ], "symbol": "[", + "looks_like": "sneakers", "color": "light_gray", "covers": [ "FEET" ], "coverage": 80, @@ -547,6 +569,7 @@ "bashing": 2, "material": [ "cotton", "leather" ], "symbol": "[", + "looks_like": "dress_shoes", "color": "light_gray", "covers": [ "FEET" ], "coverage": 70, @@ -569,6 +592,7 @@ "bashing": 5, "material": [ "wood" ], "symbol": "[", + "looks_like": "sandals", "color": "yellow", "covers": [ "FEET" ], "coverage": 85, @@ -592,6 +616,7 @@ "bashing": 14, "material": [ "leather" ], "symbol": "[", + "looks_like": "sneakers", "color": "light_red", "covers": [ "FEET" ], "coverage": 85, @@ -615,6 +640,7 @@ "bashing": 1, "material": [ "leather" ], "symbol": "[", + "looks_like": "dress_shoes", "color": "dark_gray", "covers": [ "FEET" ], "coverage": 60, @@ -637,6 +663,7 @@ "bashing": 1, "material": [ "leather" ], "symbol": "[", + "looks_like": "sneakers", "color": "dark_gray", "covers": [ "FEET" ], "coverage": 60, @@ -658,6 +685,7 @@ "to_hit": -2, "material": [ "plastic" ], "symbol": "[", + "looks_like": "sneakers", "color": "blue", "covers": [ "FEET" ], "coverage": 10, @@ -677,6 +705,7 @@ "price_postapoc": 500, "material": [ "cotton" ], "symbol": "[", + "looks_like": "socks", "color": "brown", "covers": [ "FEET" ], "coverage": 65, @@ -697,6 +726,7 @@ "price_postapoc": 700, "material": [ "fur" ], "symbol": "[", + "looks_like": "socks_wool", "color": "brown", "covers": [ "FEET" ], "coverage": 65, @@ -717,6 +747,7 @@ "price_postapoc": 525, "material": [ "leather" ], "symbol": "[", + "looks_like": "socks", "color": "brown", "covers": [ "FEET" ], "coverage": 65, @@ -737,6 +768,7 @@ "price_postapoc": 500, "material": [ "wool" ], "symbol": "[", + "looks_like": "socks_wool", "color": "blue", "covers": [ "FEET" ], "coverage": 65, @@ -759,6 +791,7 @@ "bashing": 5, "material": [ "wood", "cotton" ], "symbol": "[", + "looks_like": "clogs", "color": "yellow", "covers": [ "FEET" ], "coverage": 50, @@ -782,6 +815,7 @@ "bashing": 6, "material": [ "leather" ], "symbol": "[", + "looks_like": "dress_shoes", "color": "dark_gray", "covers": [ "FEET" ], "coverage": 30, @@ -803,6 +837,7 @@ "bashing": 1, "material": [ "leather" ], "symbol": "[", + "looks_like": "boots_larmor", "color": "dark_gray", "covers": [ "FEET", "LEGS" ], "coverage": 65, @@ -825,6 +860,7 @@ "to_hit": -2, "material": [ "leather" ], "symbol": "[", + "looks_like": "flip_flops", "color": "brown", "covers": [ "FEET" ], "coverage": 20, @@ -845,6 +881,7 @@ "to_hit": -2, "material": [ "cotton", "plastic" ], "symbol": "[", + "looks_like": "sneakers", "color": "dark_gray", "covers": [ "FEET" ], "coverage": 80, @@ -864,6 +901,7 @@ "price_postapoc": 5000, "material": [ "fur", "leather" ], "symbol": "[", + "looks_like": "Sandals", "color": "brown", "covers": [ "FEET" ], "coverage": 50, @@ -885,6 +923,7 @@ "bashing": 5, "material": [ "kevlar", "cotton" ], "symbol": "[", + "looks_like": "steeltoed", "color": "dark_gray", "covers": [ "FEET" ], "coverage": 95, @@ -907,6 +946,7 @@ "to_hit": -2, "material": [ "plastic", "cotton" ], "symbol": "[", + "looks_like": "rollerskates", "color": "light_gray", "covers": [ "FEET" ], "coverage": 100, @@ -930,6 +970,7 @@ "bashing": 6, "material": [ "leather", "steel" ], "symbol": "[", + "looks_like": "rollerblades", "color": "brown", "covers": [ "FEET" ], "coverage": 100, @@ -951,6 +992,7 @@ "price_postapoc": 3500, "material": [ "wood" ], "symbol": "[", + "looks_like": "clogs", "color": "light_gray", "covers": [ "FEET" ], "coverage": 50, @@ -971,6 +1013,7 @@ "price_postapoc": 1900, "material": [ "cotton", "leather" ], "symbol": "[", + "looks_like": "dress_shoes", "color": "light_blue", "covers": [ "FEET" ], "coverage": 80, @@ -992,6 +1035,7 @@ "to_hit": -2, "material": [ "cotton" ], "symbol": "[", + "looks_like": "socks_wool", "color": "brown", "covers": [ "FEET" ], "coverage": 30, @@ -1012,6 +1056,7 @@ "price_postapoc": 12000, "material": [ "cotton", "leather" ], "symbol": "[", + "looks_like": "shoes_bowling", "color": "light_blue", "covers": [ "FEET" ], "coverage": 80, @@ -1033,6 +1078,7 @@ "to_hit": -2, "material": [ "paper" ], "symbol": "[", + "looks_like": "sandals", "color": "light_gray", "covers": [ "FEET" ], "coverage": 30, @@ -1052,6 +1098,7 @@ "price_postapoc": 4000, "material": [ "plastic" ], "symbol": "[", + "looks_like": "clownshoes", "color": "dark_gray", "covers": [ "FEET" ], "coverage": 85, @@ -1074,6 +1121,7 @@ "bashing": 1, "material": [ "leather" ], "symbol": "[", + "looks_like": "boots_larmor", "color": "dark_gray", "covers": [ "FEET", "LEGS" ], "coverage": 80, @@ -1095,6 +1143,7 @@ "price_postapoc": 6900, "material": [ "neoprene", "cotton" ], "symbol": "[", + "looks_like": "boots_rubber", "color": "dark_gray", "covers": [ "FEET" ], "coverage": 100, @@ -1116,6 +1165,7 @@ "price_postapoc": 14000, "material": [ "cotton", "leather" ], "symbol": "[", + "looks_like": "sneakers", "color": "light_blue", "covers": [ "FEET" ], "coverage": 80, @@ -1137,6 +1187,7 @@ "price_postapoc": 14000, "material": [ "cotton", "leather" ], "symbol": "[", + "looks_like": "sneakers", "color": "light_blue", "covers": [ "FEET" ], "coverage": 80, diff --git a/data/json/items/armor/holster.json b/data/json/items/armor/holster.json index 9b7096be3a4bd..d9eac312df66a 100644 --- a/data/json/items/armor/holster.json +++ b/data/json/items/armor/holster.json @@ -10,6 +10,7 @@ "price_postapoc": 19000, "material": "leather", "symbol": "[", + "looks_like": "quiver_large", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 5, @@ -29,6 +30,7 @@ "price_postapoc": 12000, "material": "leather", "symbol": "[", + "looks_like": "holster", "color": "brown", "covers": [ "FOOT_EITHER" ], "coverage": 5, @@ -56,6 +58,7 @@ "price_postapoc": 9000, "material": [ "cotton" ], "symbol": "[", + "looks_like": "slingpack", "color": "green", "covers": [ "TORSO" ], "coverage": 5, @@ -75,6 +78,7 @@ "price_postapoc": 9000, "material": "leather", "symbol": "[", + "looks_like": "SHEATH_KNIFE", "color": "light_gray", "covers": [ "LEG_EITHER" ], "coverage": 5, @@ -102,7 +106,7 @@ "volume": "250 ml", "price": 3000, "price_postapoc": 1900, - "material": "plastic", + "material": "lycra", "covers": [ "LEGS" ], "encumbrance": 1, "use_action": { @@ -127,6 +131,7 @@ "price_postapoc": 20000, "material": [ "leather", "cotton" ], "symbol": "[", + "looks_like": "tacvest", "color": "green", "covers": [ "TORSO" ], "coverage": 20, @@ -148,6 +153,7 @@ "rigid": false, "material": "leather", "symbol": "[", + "looks_like": "quiver_large", "color": "light_gray", "covers": [ "LEG_EITHER" ], "coverage": 10, diff --git a/data/json/items/armor/jewelry.json b/data/json/items/armor/jewelry.json index f400c3c0d39c9..1f3e4dd15d8e9 100644 --- a/data/json/items/armor/jewelry.json +++ b/data/json/items/armor/jewelry.json @@ -27,6 +27,7 @@ "price_postapoc": 100, "material": [ "wood" ], "symbol": "[", + "looks_like": "earrings", "color": "brown" }, { @@ -71,6 +72,7 @@ "price_postapoc": 1000, "material": [ "iron" ], "symbol": "[", + "looks_like": "copper_locket", "color": "brown", "flags": [ "FANCY" ] }, @@ -87,6 +89,7 @@ "cutting": 3, "material": [ "gold" ], "symbol": "[", + "looks_like": "gold_dental_grill", "color": "yellow", "covers": [ "MOUTH" ], "encumbrance": 10, @@ -103,6 +106,7 @@ "price_postapoc": 1700, "material": [ "gold" ], "symbol": "[", + "looks_like": "ring_engagement", "color": "yellow", "flags": [ "FANCY" ] }, @@ -119,6 +123,7 @@ "to_hit": -1, "material": [ "steel" ], "symbol": "[", + "looks_like": "gold_watch", "color": "light_gray", "covers": [ "HAND_EITHER" ], "coverage": 5, @@ -136,6 +141,7 @@ "price_postapoc": 200, "material": [ "silver" ], "symbol": "[", + "looks_like": "tieclip", "color": "light_gray", "flags": [ "FANCY" ] }, @@ -150,6 +156,7 @@ "price_postapoc": 100, "material": [ "copper" ], "symbol": "[", + "looks_like": "bracelet", "color": "brown" }, { @@ -164,6 +171,7 @@ "price_postapoc": 50, "material": [ "copper" ], "symbol": "[", + "looks_like": "earrings", "color": "brown" }, { @@ -177,6 +185,7 @@ "price_postapoc": 500, "material": [ "copper" ], "symbol": "[", + "looks_like": "tieclip", "color": "brown" }, { @@ -190,6 +199,7 @@ "price_postapoc": 1000, "material": [ "copper" ], "symbol": "[", + "looks_like": "necklace", "color": "brown" }, { @@ -203,6 +213,7 @@ "price_postapoc": 1000, "material": [ "copper" ], "symbol": "[", + "looks_like": "necklace", "color": "brown" }, { @@ -216,6 +227,7 @@ "price_postapoc": 500, "material": [ "copper" ], "symbol": "[", + "looks_like": "ring_purity", "color": "brown" }, { diff --git a/data/json/items/armor/pets_dog_armor.json b/data/json/items/armor/pets_dog_armor.json index d1b113355ddc6..32b4ed40e3dce 100644 --- a/data/json/items/armor/pets_dog_armor.json +++ b/data/json/items/armor/pets_dog_armor.json @@ -3,6 +3,7 @@ "type": "PET_ARMOR", "id": "kevlar_harness", "symbol": "[", + "looks_like": "tacvest", "color": "blue", "name": "Kevlar dog harness", "name_plural": "Kevlar dog harnesses", diff --git a/data/json/items/armor/pets_horse_armor.json b/data/json/items/armor/pets_horse_armor.json index d7017b98344ab..c4640b3106bd2 100644 --- a/data/json/items/armor/pets_horse_armor.json +++ b/data/json/items/armor/pets_horse_armor.json @@ -3,6 +3,7 @@ "type": "PET_ARMOR", "id": "kevlar_armor_horse", "symbol": "[", + "looks_like": "hsurvivor_suit", "color": "yellow", "name": "Kevlar-lined horse peto", "description": "A heavy mattress-like armor of cloth, leather and thick linings of Kevlar, originally used as protection in bullfighting. You could put this on a friendly horse.", @@ -135,6 +136,7 @@ "price": 15000, "material": [ "leather" ], "symbol": "[", + "looks_like": "dump_pouch", "color": "green", "covers": [ "HANDS" ], "coverage": 50, diff --git a/data/json/items/armor/power_armor.json b/data/json/items/armor/power_armor.json index a91d001cb9455..6189ecb845272 100644 --- a/data/json/items/armor/power_armor.json +++ b/data/json/items/armor/power_armor.json @@ -14,6 +14,7 @@ "bashing": 1, "material": [ "steel" ], "symbol": "[", + "looks_like": "power_armor", "color": "light_gray", "covers": [ "TORSO", "ARMS", "HANDS", "LEGS", "FEET" ], "coverage": 95, @@ -38,6 +39,7 @@ "bashing": 1, "material": [ "steel" ], "symbol": "[", + "looks_like": "power_armor_helmet_basic", "color": "light_gray", "covers": [ "HEAD", "EYES", "MOUTH" ], "coverage": 95, @@ -62,6 +64,7 @@ "bashing": 1, "material": [ "steel" ], "symbol": "[", + "looks_like": "depowered_armor", "color": "light_gray", "covers": [ "TORSO", "ARMS", "HANDS", "LEGS", "FEET" ], "coverage": 100, @@ -88,6 +91,7 @@ "bashing": 1, "material": [ "steel" ], "symbol": "[", + "looks_like": "bigpack", "color": "light_gray", "coverage": 100, "encumbrance": 40, @@ -110,6 +114,7 @@ "bashing": 1, "material": [ "hardsteel", "steel" ], "symbol": "[", + "looks_like": "power_armor", "color": "dark_gray", "covers": [ "TORSO", "ARMS", "HANDS", "LEGS", "FEET" ], "coverage": 100, @@ -136,6 +141,7 @@ "bashing": 1, "material": [ "steel" ], "symbol": "[", + "looks_like": "depowered_helmet", "color": "light_gray", "covers": [ "HEAD", "EYES", "MOUTH" ], "coverage": 100, @@ -161,6 +167,7 @@ "bashing": 1, "material": [ "hardsteel", "steel" ], "symbol": "[", + "looks_like": "power_armor_helmet_basic", "color": "dark_gray", "covers": [ "HEAD", "EYES", "MOUTH" ], "coverage": 100, @@ -186,6 +193,7 @@ "bashing": 1, "material": [ "superalloy", "plastic" ], "symbol": "[", + "looks_like": "power_armor_helmet_basic", "color": "dark_gray", "covers": [ "HEAD", "EYES", "MOUTH" ], "coverage": 100, @@ -211,6 +219,7 @@ "bashing": 1, "material": [ "superalloy", "plastic" ], "symbol": "[", + "looks_like": "depowered_armor", "color": "dark_gray", "covers": [ "TORSO", "ARMS", "HANDS", "LEGS", "FEET" ], "coverage": 100, diff --git a/data/json/items/armor/swimming.json b/data/json/items/armor/swimming.json new file mode 100644 index 0000000000000..9b38db838f1f8 --- /dev/null +++ b/data/json/items/armor/swimming.json @@ -0,0 +1,239 @@ +[ + { + "id": "trunks", + "type": "ARMOR", + "name": "pair of swimming trunks", + "name_plural": "pairs of swimming trunks", + "description": "A pair of swimming trunks, with netting.", + "weight": "210 g", + "volume": "750 ml", + "price": 1800, + "to_hit": 1, + "material": [ "cotton" ], + "symbol": "[", + "looks_like": "shorts", + "color": "blue", + "covers": [ "LEGS" ], + "coverage": 35, + "material_thickness": 1, + "flags": [ "VARSIZE", "WATER_FRIENDLY" ] + }, + { + "id": "wetsuit", + "type": "ARMOR", + "name": "wetsuit", + "description": "A full-body neoprene wetsuit.", + "weight": "5110 g", + "volume": "5 L", + "price": 10000, + "to_hit": -3, + "material": [ "neoprene", "cotton" ], + "symbol": "[", + "looks_like": "wetsuit_spring", + "color": "dark_gray", + "covers": [ "LEGS", "TORSO", "ARMS" ], + "coverage": 100, + "encumbrance": 15, + "storage": "1 L", + "warmth": 50, + "material_thickness": 1, + "environmental_protection": 2, + "flags": [ "VARSIZE", "WATER_FRIENDLY", "SKINTIGHT" ] + }, + { + "id": "wetsuit_hood", + "type": "ARMOR", + "name": "wetsuit hood", + "description": "A neoprene hood, commonly worn by divers.", + "weight": "270 g", + "volume": "1 L", + "price": 4500, + "material": [ "neoprene", "cotton" ], + "symbol": "[", + "looks_like": "hood_rain", + "color": "dark_gray", + "covers": [ "HEAD" ], + "coverage": 100, + "encumbrance": 10, + "warmth": 30, + "material_thickness": 1, + "environmental_protection": 1, + "flags": [ "VARSIZE", "WATER_FRIENDLY", "SKINTIGHT" ] + }, + { + "id": "hood_h20survivor", + "type": "ARMOR", + "category": "armor", + "name": "survivor wetsuit hood", + "description": "A customized armored neoprene and Kevlar hood, very strong and durable.", + "weight": "860 g", + "volume": "1500 ml", + "price": 58000, + "to_hit": -1, + "bashing": 10, + "material": [ "kevlar", "plastic", "neoprene" ], + "symbol": "[", + "looks_like": "wetsuit_hood", + "color": "dark_gray", + "covers": [ "HEAD" ], + "coverage": 100, + "encumbrance": 25, + "warmth": 15, + "material_thickness": 2, + "environmental_protection": 10, + "flags": [ "VARSIZE", "WATER_FRIENDLY", "STURDY", "OUTER", "HELMET_COMPAT" ] + }, + { + "id": "h20survivor_suit", + "type": "ARMOR", + "category": "armor", + "name": "survivor wetsuit", + "description": "A lightweight, hand-built combination armor made from a cut-down bulletproof vest and a reinforced neoprene wetsuit. Protects from the elements as well as from harm.", + "weight": "6400 g", + "volume": "7 L", + "price": 110000, + "to_hit": -3, + "bashing": 6, + "material": [ "kevlar", "plastic", "neoprene" ], + "symbol": "[", + "looks_like": "wetsuit", + "color": "dark_gray", + "covers": [ "LEGS", "TORSO", "ARMS" ], + "coverage": 100, + "encumbrance": 20, + "storage": "11500 ml", + "warmth": 15, + "material_thickness": 2, + "environmental_protection": 10, + "flags": [ "VARSIZE", "WATER_FRIENDLY", "POCKETS", "HOOD", "RAINPROOF", "STURDY" ] + }, + { + "id": "gloves_h20survivor", + "type": "ARMOR", + "category": "armor", + "name": "pair of survivor wetsuit gloves", + "name_plural": "pairs of survivor wetsuit gloves", + "description": "A pair of customized, Kevlar armored neoprene gloves, modified to be easy to wear while providing maximum protection under extreme conditions.", + "weight": "390 g", + "volume": "750 ml", + "price": 18000, + "to_hit": 2, + "material": [ "kevlar", "plastic", "neoprene" ], + "symbol": "[", + "looks_like": "gloves_rubber", + "color": "dark_gray", + "covers": [ "HANDS" ], + "coverage": 100, + "encumbrance": 25, + "warmth": 15, + "material_thickness": 1, + "environmental_protection": 10, + "flags": [ "VARSIZE", "WATER_FRIENDLY", "STURDY" ] + }, + { + "id": "wetsuit_spring", + "type": "ARMOR", + "name": "spring suit", + "description": "A long-sleeved spring wetsuit with pink color details and cleavage-enhancing, hip-accentuating construction. Not as protective as a full-body suit, but also less restrictive.", + "weight": "1320 g", + "volume": "4 L", + "price": 12000, + "to_hit": -3, + "material": [ "neoprene", "cotton" ], + "symbol": "[", + "looks_like": "wetsuit", + "color": "pink", + "covers": [ "TORSO", "ARMS" ], + "coverage": 90, + "encumbrance": 5, + "storage": "1 L", + "warmth": 30, + "material_thickness": 1, + "environmental_protection": 2, + "flags": [ "VARSIZE", "WATER_FRIENDLY", "SKINTIGHT" ] + }, + { + "id": "shark_suit_faraday", + "type": "ARMOR", + "name": "faraday shark suit", + "description": "A one piece chainmail suit used by scuba divers for protection against shark bites. It has been conductively interconnected, protecting against electricity.", + "weight": "3250 g", + "volume": "3500 ml", + "price": 35000, + "to_hit": -1, + "material": [ "steel", "plastic" ], + "symbol": "[", + "looks_like": "chainmail_hauberk", + "color": "light_red", + "covers": [ "TORSO", "HEAD", "ARMS", "HANDS", "LEGS", "FEET" ], + "coverage": 100, + "encumbrance": 30, + "warmth": 5, + "material_thickness": 3, + "flags": [ "VARSIZE", "STURDY", "WATER_FRIENDLY", "ELECTRIC_IMMUNE", "HELMET_COMPAT" ] + }, + { + "id": "shark_suit", + "type": "ARMOR", + "name": "shark suit", + "description": "A one piece chainmail suit used by scuba divers for protection against shark bites. It comes with attached plastic helmet and booties.", + "weight": "3150 g", + "volume": "3500 ml", + "price": 35000, + "to_hit": -1, + "material": [ "steel", "plastic" ], + "symbol": "[", + "looks_like": "chainmail_suit", + "color": "light_red", + "covers": [ "TORSO", "HEAD", "ARMS", "HANDS", "LEGS", "FEET" ], + "coverage": 100, + "encumbrance": 30, + "warmth": 5, + "material_thickness": 3, + "flags": [ "VARSIZE", "STURDY", "WATER_FRIENDLY" ] + }, + { + "id": "goggles_swim", + "type": "ARMOR", + "name": "pair of swim goggles", + "name_plural": "pairs of swim goggles", + "description": "A small pair of goggles made for swimming.", + "weight": "81 g", + "volume": "250 ml", + "price": 1100, + "to_hit": -2, + "material": [ "plastic" ], + "symbol": "[", + "looks_like": "goggles_welding", + "color": "light_blue", + "covers": [ "EYES" ], + "coverage": 100, + "encumbrance": 10, + "warmth": 10, + "material_thickness": 1, + "environmental_protection": 4, + "flags": [ "WATER_FRIENDLY", "SWIM_GOGGLES" ] + }, + { + "id": "wetsuit_gloves", + "type": "ARMOR", + "name": "pair of swimming gloves", + "name_plural": "pairs of swimming gloves", + "description": "A pair of very flexible neoprene-silicone rubber gloves, suitable for underwater use.", + "weight": "93 g", + "volume": "500 ml", + "price": 3000, + "to_hit": 1, + "material": [ "neoprene", "cotton" ], + "symbol": "[", + "looks_like": "gloves_tactical", + "color": "dark_gray", + "covers": [ "HANDS" ], + "coverage": 100, + "encumbrance": 10, + "warmth": 30, + "material_thickness": 1, + "environmental_protection": 1, + "flags": [ "VARSIZE", "WATER_FRIENDLY", "SKINTIGHT" ] + } +] diff --git a/data/json/items/battery.json b/data/json/items/battery.json index 93d2ca43919a6..17b23244fb097 100644 --- a/data/json/items/battery.json +++ b/data/json/items/battery.json @@ -299,7 +299,7 @@ "category": "spare_parts", "name": "heavy disposable battery", "name_plural": "heavy disposable batteries", - "description": "This is a heavy battery cell, universally compatible with all kinds of industrial-grade equipment and large tools. The battery's chemistry means that it has a very high capacity, but cannot be recharged.", + "description": "This is a heavy battery cell, universally compatible with all kinds of industrial-grade equipment and large tools. The battery's chemistry means that it has a very high capacity, but cannot be recharged.", "weight": "950 g", "volume": "1000ml", "price": 10000, diff --git a/data/json/items/bionics.json b/data/json/items/bionics.json index 68855b52332f9..7e4307671b778 100644 --- a/data/json/items/bionics.json +++ b/data/json/items/bionics.json @@ -36,6 +36,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Adrenaline Pump CBM", + "looks_like": "bio_int_enhancer", "description": "A stimulator system that is implanted alongside the adrenal glands, allowing the user to trigger their body's adrenaline response at the cost of some bionic power.", "price": 4000, "weight": "250 g", @@ -46,6 +47,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Active Defense System CBM", + "looks_like": "bio_int_enhancer", "description": "This bionic projects a thin forcefield around the user's body. Anything attempting to penetrate this field has a chance of being deflected at the cost of energy, reducing their ability to deal damage. Bullets will be deflected more than swords and those in turn more than massive objects.", "price": 950000, "weight": "1000 g", @@ -56,6 +58,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Alarm System CBM", + "looks_like": "bio_int_enhancer", "description": "A motion-detecting alarm system will notice almost all movement within a fifteen-foot radius, and will silently alert the user. This is very useful during sleep, or if the user suspects a cloaked pursuer.", "price": 25000, "weight": "500 g", @@ -75,6 +78,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Protective Lenses CBM", + "looks_like": "bio_int_enhancer", "description": "A bionic package that seals the user's eye sockets with highly protective mirrored lenses and re-routes their tear ducts to their mouth. When the user cries, they must spit out or swallow their tears.", "price": 550000, "weight": "500 g", @@ -85,6 +89,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Head Alloy Plating CBM", + "looks_like": "bio_int_enhancer", "description": "Alloy plating that replaces the flesh on the user's head, protecting both their head and jaw regions.", "price": 350000, "weight": "1000 g", @@ -95,6 +100,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Legs Alloy Plating CBM", + "looks_like": "bio_int_enhancer", "description": "Alloy plating that replaces the flesh on the user's legs. Provides passive protection and can be used in conjunction with bionic martial arts.", "price": 350000, "difficulty": 3 @@ -104,6 +110,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Torso Alloy Plating CBM", + "looks_like": "bio_int_enhancer", "description": "Alloy plating that replaces the flesh on the user's torso, protecting it from physical trauma.", "price": 350000, "weight": "3000 g", @@ -114,6 +121,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Battery System CBM", + "looks_like": "bio_int_enhancer", "description": "A battery draining attachment to make use of the energy contained in normal, everyday batteries.", "price": 80000, "weight": "250 g", @@ -124,6 +132,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Monomolecular Blade CBM", + "looks_like": "bio_int_enhancer", "description": "A deadly foot-long blade made of advanced material that is installed inside the forearm, capable of being extended through the back of the user's wrist at the cost of a small amount of power. Though exceptionally sharp, it will prevent the user from holding anything else while extended.", "price": 8000, "weight": "250 g", @@ -134,6 +143,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Shotgun Arm CBM", + "looks_like": "bio_int_enhancer", "description": "A concealed, single shot 12 gauge shotgun that is implanted inside the left forearm. Perfect in a pinch.", "price": 220000, "difficulty": 3 @@ -143,6 +153,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Blood Analysis CBM", + "looks_like": "bio_int_enhancer", "description": "Small sensors that are implanted in the user's heart, allowing them to analyze their blood. This will detect many illnesses, drugs, and other conditions.", "price": 320000, "weight": "150 g", @@ -153,6 +164,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Blood Filter CBM", + "looks_like": "bio_int_enhancer", "description": "A filtration system that is installed in the heart and can actively filter out chemical impurities, primarily drugs, with limited impact on viruses. Note that it is not a targeted filter; ALL drugs in the system will be affected.", "price": 350000, "weight": "200 g", @@ -163,6 +175,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Cable Charger System CBM", + "looks_like": "bio_int_enhancer", "description": "A complex port that is mounted above the hip. While active, it will recharge bionic power when connected to a battery via jumper cable.", "price": 80000, "weight": "250 g", @@ -173,6 +186,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Subdermal Carbon Filament CBM", + "looks_like": "bio_int_enhancer", "description": "A thin armor made of carbon nanotubes, implanted just beneath the skin. This reduces bashing damage by 2 and cutting damage by 4.", "price": 750000, "difficulty": 9 @@ -182,6 +196,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Chain Lightning CBM", + "looks_like": "bio_int_enhancer", "description": "A chain lightning generator that emits a blast of lightning at a target, leaving a trail of lightning in its wake and jumping to additional targets within 4 tiles of the previous target.", "price": 220000, "difficulty": 4 @@ -191,6 +206,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Bionic Claws CBM", + "looks_like": "bio_int_enhancer", "description": "Vicious, retractable claws that are implanted inside the user's fingers. These do considerable cutting damage, but prevent the user from holding anything else while extended.", "price": 550000, "weight": "500 g", @@ -201,6 +217,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Internal Climate Control CBM", + "looks_like": "bio_int_enhancer", "description": "A network of thermal piping which eases the effects of high and low ambient temperatures once activated.", "price": 350000, "difficulty": 3 @@ -210,6 +227,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Cloaking System CBM", + "looks_like": "bio_int_enhancer", "description": "This high-power system uses a set of cameras and LEDs to make the user blend into their surroundings, rendering them fully invisible to eyes and optical sensors. However, this doesn't prevent detection from other means such as infrared, sonar, etc.", "price": 850000, "difficulty": 5 @@ -219,6 +237,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Close Quarters Battle CBM", + "looks_like": "bio_int_enhancer", "description": "A set of bionic processors and databanks, loaded with martial arts combat programs. Whilst active, the CQB module will improve the user's hand to hand combat skills, but prevents them from improving them through combat experience.", "price": 220000, "weight": "250 g", @@ -229,6 +248,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Wired Reflexes CBM", + "looks_like": "bio_int_enhancer", "description": "Bionic nerve stimulators that greatly enhance reaction times, granting a +2 bonus to dexterity.", "price": 800000, "weight": "500 g", @@ -239,6 +259,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Expanded Digestive System CBM", + "looks_like": "bio_int_enhancer", "description": "This module contains three synthetic stomachs and industrial-grade intestines. Not only will these extract much more nutrition from food, but also increase the user's resistance to foodborne illness, and occasionally allow the digestion of rotten food.", "price": 550000, "difficulty": 6 @@ -248,6 +269,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Enhanced Hearing CBM", + "looks_like": "bio_int_enhancer", "description": "While this bionic is active, the user's hearing will be drastically improved, allowing them to hear ten times better than the average person. Additionally, high-intensity sounds will be automatically dampened before they can damage their hearing.", "price": 500000, "weight": "500 g", @@ -258,6 +280,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Directional EMP CBM", + "looks_like": "bio_int_enhancer", "description": "Small parabolic EMP field generators that are mounted in the palm of the user's right hand. These can be be used to instantly fire a wide, but short-ranged blast which will disable electronics and robots.", "price": 720000, "difficulty": 5 @@ -267,6 +290,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "EMP Projector CBM", + "looks_like": "bio_int_enhancer", "description": "A ranged EMP generator system that is implanted in the user's right arm and hand. The system fires precise, single-target pulses that require time to aim. Extremely effective against electronic targets but mostly useless otherwise.", "price": 220000, "difficulty": 5 @@ -276,7 +300,8 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Ethanol Burner CBM", - "description": "A reactor that burns alcohol as fuel in an extremely efficient reaction. However, the user will still suffer the inebriating effects of the substance.", + "looks_like": "bio_int_enhancer", + "description": "A reactor that burns alcohol as fuel in an extremely efficient reaction. It can store up to 500ml and accept ethanol, methanol and denatured aclohol as fuel.", "price": 120000, "difficulty": 4 }, @@ -285,6 +310,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Aero-Evaporator CBM", + "looks_like": "bio_int_enhancer", "description": "This unit draws moisture from the surrounding air, which then is poured from a fingertip in the form of water. It may fail in very dry environments.", "price": 550000, "difficulty": 4 @@ -294,6 +320,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Diamond Cornea CBM", + "looks_like": "bio_int_enhancer", "description": "A set of diamond corneas which greatly enhance the user's vision, granting a +2 bonus to perception.", "price": 800000, "weight": "100 g", @@ -304,6 +331,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Telescopic Eyes CBM", + "looks_like": "bio_int_enhancer", "description": "An array of high-powered, auto-focusing lenses that replaces much of the material in the inner eye. This fixes any vision problems and allows for an increased vision range akin to binoculars.", "price": 500000, "weight": "100 g", @@ -314,6 +342,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Facial Distortion CBM", + "looks_like": "bio_int_enhancer", "description": "Through controlled application of electrochemical impulses, this bionic module lets the user alter their facial structure so as to subtly affect the reactions of others. This grants a bonus to all social interactions.", "price": 850000, "weight": "200 g", @@ -324,6 +353,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Dielectric Capacitance System CBM", + "looks_like": "bio_int_enhancer", "description": "A network of miniature piezoelectric capacitors, implanted throughout the body to protect from external electrical discharge.", "price": 5000, "weight": "500 g", @@ -334,7 +364,8 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Fingerhack CBM", - "description": "A miniature electrohack, surgically embedded in a finger of the right hand. This is an all-purpose hacking unit used to override control panels and the like, but not computers. Computer proficiency is important, and a failed use may cause damage.", + "looks_like": "bio_int_enhancer", + "description": "A miniature electrohack, surgically embedded in a finger of the right hand. This is an all-purpose hacking unit used to override control panels and the like, but not computers. Computer proficiency is important, and a failed use may cause damage.", "price": 350000, "weight": "100 g", "difficulty": 2 @@ -344,6 +375,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Flashbang Generator CBM", + "looks_like": "bio_int_enhancer", "description": "A combination of LEDs and speakers that create a flash and sound comparable to a flashbang grenade, deafening and blinding nearby enemies.", "price": 720000, "weight": "500 g", @@ -354,6 +386,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Cranial Flashlight CBM", + "looks_like": "bio_int_enhancer", "description": "A small, but powerful LED flashlight that is mounted between the eyes.", "price": 20000, "weight": "250 g", @@ -364,6 +397,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "LED Tattoo", + "looks_like": "bio_int_enhancer", "description": "An LED display implanted beneath the epidermis that can display patterns or pictures through the skin. When active it glows dimly, providing a very small amount of light.", "price": 20000, "weight": "20 g", @@ -374,6 +408,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Integrated Dosimeter CBM", + "looks_like": "bio_int_enhancer", "description": "Small radiation sensors that are implanted throughout the body, allowing the user to analyze their level of absorbed radiation. They will also alert the user whenever exposed to environmental radiation.", "price": 350000, "weight": "150 g", @@ -384,6 +419,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Respirator CBM", + "looks_like": "bio_int_enhancer", "description": "A complex respiration augmentation system that increases the user's maximal oxygen uptake and allows for underwater breathing akin to gills. Will automatically activate if the user is drowning.", "price": 450000, "weight": "700 g", @@ -394,6 +430,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Terranian Sonar CBM", + "looks_like": "bio_int_enhancer", "description": "Precision sonar equipment, implanted in the feet to allow the detection of below-ground movement, buried traps, and unstable terrain.", "price": 450000, "weight": "500 g", @@ -404,6 +441,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Heat Drain CBM", + "looks_like": "bio_int_enhancer", "description": "While fighting unarmed against a warm-blooded opponent, there is a chance that a successful hit will drain body heat, inflicting a small amount of extra damage, and recharging the user's bionic power reserves slightly.", "price": 550000, "weight": "500 g", @@ -414,6 +452,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Thermal Dissipation CBM", + "looks_like": "bio_int_enhancer", "description": "Powerful heatsinks and supermaterials are woven into the user's flesh. While powered, this system will prevent external heat damage up to 2000 degrees Fahrenheit. Note that this does not affect the internal body temperature.", "price": 350000, "difficulty": 3 @@ -423,6 +462,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Hydraulic Muscles CBM", + "looks_like": "bio_int_enhancer", "description": "A hydraulic muscle support system that when active, increases strength by 20.", "price": 400000, "difficulty": 6 @@ -432,6 +472,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Infrared Vision CBM", + "looks_like": "bio_int_enhancer", "description": "A bionic module that extends the range of vision into the infrared, allowing the user to see warm-blooded creatures in the dark and through smoke.", "price": 450000, "weight": "500 g", @@ -452,6 +493,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Finger-Mounted Laser CBM", + "looks_like": "bio_int_enhancer", "description": "A small, high-powered laser that is embedded in the fingertip. This long range weapon is not incredibly damaging, but is very accurate, and has the potential to start fires.", "price": 720000, "weight": "500 g", @@ -462,6 +504,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Leukocyte Breeder System CBM", + "looks_like": "bio_int_enhancer", "description": "Bionic stimulators which augment the user's haematopoiesis system, allowing them to accelerate white blood cell production using bionic power. It is designed for continuous use and may cause unpleasant side effects when turned off.", "price": 6000, "weight": "600 g", @@ -471,7 +514,8 @@ "id": "bio_lighter", "copy-from": "bionic_general", "type": "BIONIC_ITEM", - "name": "Mini-Flamethrower CBM", + "name": "Finger Lighter CBM", + "looks_like": "bio_int_enhancer", "description": "Powerful fire starters which extend from the tip of both hands' index fingers.", "price": 130000, "weight": "500 g", @@ -482,6 +526,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Fingerpick CBM", + "looks_like": "bio_int_enhancer", "description": "An electronic lockpick that is embedded in a fingertip. This automatic system will quickly unlock all but the most advanced key locks without any skill required on the part of the user.", "price": 350000, "weight": "200 g", @@ -492,6 +537,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Electromagnetic Unit CBM", + "looks_like": "bio_int_enhancer", "description": "A powerful electromagnet that is implanted into the user's right hand, allowing them to indiscriminately pull all nearby magnetic objects towards them. Unlucky bystanders might be injured or killed by flying objects.", "price": 200000, "weight": "700 g", @@ -502,6 +548,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Nictating Membrane CBM", + "looks_like": "bio_int_enhancer", "description": "A thin membrane that closes over the eyes while underwater, negating any vision penalties.", "price": 450000, "weight": "1 g", @@ -512,6 +559,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Enhanced Memory Banks CBM", + "looks_like": "bio_int_enhancer", "description": "A set of highly-advanced quantum storage drives used to enhance memory. While active, they increase the rate that the user learns skills, and give them near-perfect memory of skills and terrain.", "price": 1000000, "weight": "100 g", @@ -522,6 +570,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Metabolic Interchange CBM", + "looks_like": "bio_int_enhancer", "description": "This module interconnects the user's digestive system and power supply, letting them replenish bionic energy by burning calories.", "price": 70000, "weight": "700 g", @@ -532,6 +581,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Weather Reader CBM", + "looks_like": "bio_int_enhancer", "description": "A multitude of scientific instruments and sensors collect environmental data. The data is compiled and presented as a simple readout of the current weather. It also passively tells the user their external temperature.", "price": 350000, "weight": "700 g", @@ -542,6 +592,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Repair Nanobots CBM", + "looks_like": "bio_int_enhancer", "description": "A fleet of tiny dormant robots. While activated they will flit about the user's body, repairing damage and stopping bleeding at the cost of power.", "price": 950000, "weight": "200 g", @@ -552,6 +603,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Artificial Night Generator CBM", + "looks_like": "bio_int_enhancer", "description": "When active, this bionic eliminates all light within a 15 tile radius through destructive interference.", "price": 850000, "difficulty": 5 @@ -561,6 +613,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Implanted Night Vision CBM", + "looks_like": "bio_int_enhancer", "description": "This bionic module modifies the user's eyes to amplify existing light, allowing them to see in the dark.", "price": 900000, "weight": "100 g", @@ -571,6 +624,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Offensive Defense System CBM", + "looks_like": "bio_int_enhancer", "description": "A thin forcefield gets projected around the user's body, continually draining power. This field does not deflect attacks, but rather delivers a strong shock, damaging unarmed attackers and those with a conductive weapon.", "price": 950000, "weight": "1000 g", @@ -581,6 +635,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Sensory Dulling CBM", + "looks_like": "bio_int_enhancer", "description": "This module lets the user's nervous system inhibit pain signals, allowing them to dull their senses at will. However, the use of this system may cause delayed reaction times and drowsiness.", "price": 200000, "weight": "300 g", @@ -591,6 +646,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Power Armor Interface CBM", + "looks_like": "bio_int_enhancer", "description": "Interfaces the user's bionic power system with the internal charging port on suits of power armor, allowing them to draw from the user's bionic power banks.", "price": 120000, "weight": "500 g", @@ -601,7 +657,8 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Power Armor Mk. II Interface CBM", - "description": "Interfaces the user's bionic power system with the internal charging port on suits of power armor, allowing them to draw from the user's bionic power banks. Twice as efficient as the Mk. I model. The Mk. II was designed by DoubleTech Inc., to meet the popularity of the Mk. II power armor series.", + "looks_like": "bio_int_enhancer", + "description": "Interfaces the user's bionic power system with the internal charging port on suits of power armor, allowing them to draw from the user's bionic power banks. Twice as efficient as the Mk. I model. The Mk. II was designed by DoubleTech Inc., to meet the popularity of the Mk. II power armor series.", "price": 1000000, "weight": "400 g", "difficulty": 8 @@ -611,6 +668,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Power Storage CBM", + "looks_like": "bio_int_enhancer", "description": "A Compact Bionics Module that upgrades the user's power capacity by 100 units. Having at least one of these is a prerequisite to using powered bionics. The user will also need a power supply, found in various CBMs.", "price": 380000, "weight": "70 g", @@ -622,6 +680,7 @@ "type": "BIONIC_ITEM", "name": "Power Storage CBM Mk. II", "name_plural": "Power Storage CBM Mk. II", + "looks_like": "bio_int_enhancer", "description": "A Compact Bionics Module developed at DoubleTech Industries as a replacement for the highly successful Power Storage CBM. Increases the user's power capacity by 250 units.", "price": 1000000, "weight": "50 g", @@ -632,6 +691,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Probability Travel CBM", + "looks_like": "bio_int_enhancer", "description": "Increases the body's wavelength, allowing the user to quantum tunnel through walls, reappearing on the other side. Power drain in standby is minimal, but each tile tunneled through costs 250 bionic power.", "price": 1400000, "difficulty": 11 @@ -641,6 +701,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Air Filtration System CBM", + "looks_like": "bio_int_enhancer", "description": "An advanced filtration system that is implanted in the trachea. If toxins, or airborne diseases find their way into the windpipe, the filter will attempt to remove them.", "price": 450000, "weight": "100 g", @@ -651,6 +712,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Radiation Scrubber System CBM", + "looks_like": "bio_int_enhancer", "description": "A system of advanced piezomechanical blood filters that are implanted throughout your body, allowing the user to purge themself of absorbed radiation at the cost of some bionic power.", "price": 450000, "weight": "100 g", @@ -661,6 +723,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Railgun CBM", + "looks_like": "bio_int_enhancer", "description": "EM field generators in the user's arms increase the range and damage of thrown magnetic objects at a cost of 1 bionic power per throw. They will create a trail of electricity that can cause additional damage.", "price": 220000, "weight": "1000 g", @@ -671,6 +734,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Fingertip Razors CBM", + "looks_like": "bio_int_enhancer", "description": "A set of ten double-edged, four centimeter long razor-sharp claws that are implanted underneath the fingernails. These will deal a small amount of unarmed slashing damage whenever the user's fingertips are uncovered.", "price": 450000, "weight": "5 g", @@ -681,6 +745,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Gasoline Fuel Cell CBM", + "looks_like": "bio_int_enhancer", "description": "A small gasoline fuel cell able to convert gasoline to bionic power. It's connected to a diffuse network of bio-plastic bladders able to hold up to 500 ml of gasoline.", "price": 450000, "weight": 600, @@ -691,6 +756,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Recycler Unit CBM", + "looks_like": "bio_int_enhancer", "description": "A series of filters and processors that is implanted in the user's digestive system, allowing them to reclaim waste liquid and, to a lesser degree, nutrients. The net effect is a greatly reduced need to eat and drink.", "price": 850000, "weight": "1500 g", @@ -701,6 +767,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Remote Controller CBM", + "looks_like": "bio_int_enhancer", "description": "A small module that connects to the user's brain and allows them to interface with nearby devices with wireless capabilities.", "price": 600000, "weight": "250 g", @@ -711,6 +778,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Sonic Resonator CBM", + "looks_like": "bio_int_enhancer", "description": "This bionic module allows the user's entire body to resonate at very high power, creating a short-range shockwave. While it will not do much damage to creatures, solid objects such as walls and doors will be damaged.", "price": 1200000, "difficulty": 11 @@ -720,6 +788,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Olfactory Mask CBM", + "looks_like": "bio_int_enhancer", "description": "While this system is powered, the user's body will produce very little odor, making it nearly impossible for creatures to track them by scent.", "price": 850000, "weight": "1000 g", @@ -730,6 +799,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Scent Vision CBM", + "looks_like": "bio_int_enhancer", "description": "This system lets the user visually sense their own scent, making it possible for them to recognize their surroundings even in complete darkness.", "price": 450000, "weight": "100 g", @@ -740,6 +810,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Electroshock Unit CBM", + "looks_like": "bio_int_enhancer", "description": "While fighting unarmed, or with a weapon that conducts electricity, there is a chance that a successful hit will shock the user's opponent, inflicting extra damage and disabling them temporarily at the cost of some energy.", "price": 550000, "weight": "1000 g", @@ -750,6 +821,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Shockwave Generator CBM", + "looks_like": "bio_int_enhancer", "description": "This bionic module generates a powerful shockwave, knocking back all nearby creatures. Targets are stunned briefly, take damage and additional stun upon impact with impassable terrain, and knock back any creatures they collide with.", "price": 550000, "weight": "1000 g", @@ -760,6 +832,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Synaptic Accelerator CBM", + "looks_like": "bio_int_enhancer", "description": "Bionic stimulators that enhance the nervous system, granting a 10% boost to your speed.", "price": 10000, "weight": "400 g", @@ -770,6 +843,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Muscle Augmentation CBM", + "looks_like": "bio_int_enhancer", "description": "Myomer fibers that enhance the muscular system, granting a +2 bonus to strength.", "price": 800000, "weight": "1500 g", @@ -780,6 +854,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Autonomous Surgical Scalpels CBM", + "looks_like": "bio_int_enhancer", "description": "A system of surgical grade scalpels that is implanted in the user's fingers. They allow for automated precise cuts and can be used as a high-quality butchering tool.", "price": 220000, "weight": "20 g", @@ -790,6 +865,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Anti-Glare Compensators CBM", + "looks_like": "bio_int_enhancer", "description": "A set of quick-reacting transition lenses that are installed over the user's eyes. They negate glare penalties, partially protect from bright flashes, and protect the eyes when welding.", "price": 450000, "weight": "1 g", @@ -800,6 +876,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Targeting System CBM", + "looks_like": "bio_int_enhancer", "description": "This bionic module contains range finders and synchronizes the movement of the user's eyes with their arms, to a degree. Shots they fire will be much more accurate, particularly at long ranges.", "price": 650000, "weight": "250 g", @@ -810,6 +887,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Teleportation Unit CBM", + "looks_like": "bio_int_enhancer", "description": "This highly experimental unit folds space over short distances, instantly transporting the user's body up to 25 feet in a random duration at the cost of much power. Note that prolonged or frequent use may have dangerous side effects.", "price": 700000, "difficulty": 7 @@ -819,6 +897,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Time Dilation CBM", + "looks_like": "bio_int_enhancer", "description": "At the cost of all stored bionic power, the user may increase their body speed and reactions dramatically, essentially freezing time. Violent or rapid movements may cause damage due to friction.", "price": 1400000, "difficulty": 11 @@ -828,6 +907,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Integrated Toolset CBM", + "looks_like": "bio_int_enhancer", "description": "A surgically implanted set of tools - screwdriver, hammer, wrench, hacksaw, hand drill, welder and heating elements. These can be used in place of many tools when crafting.", "price": 800000, "difficulty": 6 @@ -837,6 +917,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Joint Torsion Ratchet CBM", + "looks_like": "bio_int_enhancer", "description": "Torsion ratchets that replace the user's joints to slowly generate power when they move. These can be toggled to generate more power, but movement will require more effort.", "price": 380000, "weight": "1000 g", @@ -847,6 +928,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Joint Servo CBM", + "looks_like": "bio_int_enhancer", "description": "A set of servomotors that get installed on leg joints to provide power-assisted movement. They are optimized for running, but walking also requires less effort while this bionic is active. However, when it's offline it will hamper the user's movement.", "price": 450000, "weight": "1000 g", @@ -857,6 +939,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Uncanny Dodge CBM", + "looks_like": "bio_int_enhancer", "description": "Bionic processors that augment the the user's nervous system, allowing them to dodge attacks beyond normal human capability, including bullets.", "price": 950000, "weight": "1000 g", @@ -867,6 +950,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Unified Power System CBM", + "looks_like": "bio_int_enhancer", "description": "A Unified Power System that is wired into the user's bionic power banks. Objects that run on a UPS can now directly draw power from the bionic power supply.", "price": 25000, "weight": "700 g", @@ -877,6 +961,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Internal Chronometer CBM", + "looks_like": "bio_int_enhancer", "description": "This bionic module contains an atomic clock, complete with silent alarm clock function.", "price": 1000, "weight": "10 g", @@ -887,6 +972,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Water Extraction Unit CBM", + "looks_like": "bio_int_enhancer", "description": "This module contains nanotubes that are embedded in the palm of the hand to pump any available fluid out of a dead body, cleanse it of impurities and convert it into potable water. Water container not included.", "price": 550000, "weight": "100 g", @@ -897,6 +983,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Intravenous Needletip CBM", + "looks_like": "bio_int_enhancer", "description": "A small tube with a retractable needle that terminates in a net of tiny hoses instead of a plunger. Installed, it allows the user to draw substances directly into their bloodstream akin to a regular syringe.", "price": 1000, "weight": "10 g", @@ -907,6 +994,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Titanium Skeletal Bracing CBM", + "looks_like": "bio_int_enhancer", "description": "A set of hinges, springs, and other synthetic augments for the skeletal structure. These artificial enhancers strengthen the knees and elbows, allowing the user to carry more weight.", "price": 50000, "weight": "3000 g", @@ -917,6 +1005,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Kinetic Shock Absorbers CBM", + "looks_like": "bio_int_enhancer", "description": "A set of hydraulic springs and foldable padding that replaces most of the flesh in the limbs and upper torso. While active, these absorbers will negate damage from severe impacts such as falling, at the cost of reducing the user's ability to move effectively.", "price": 10000, "weight": "3000 g", @@ -927,6 +1016,7 @@ "copy-from": "bionic_general", "type": "BIONIC_ITEM", "name": "Taste Modifier CBM", + "looks_like": "bio_int_enhancer", "description": "A set of highly sensitive sensors implanted in the user's mouth, combined with a sophisticated analyzer. While active, it will block all unpleasant taste and texture at the cost of bionic energy.", "price": 40000, "weight": "100 g", @@ -937,6 +1027,7 @@ "copy-from": "bionic_general_npc_usable", "type": "BIONIC_ITEM", "name": "Soporific Induction CBM", + "looks_like": "bio_int_enhancer", "description": "A microscopic electrode designed to gently stimulate a particular cluster of neurons in the hypothalamus, helping the user to fall asleep.", "price": 350000, "weight": "50 g", @@ -1002,7 +1093,7 @@ "copy-from": "bionic_general_faulty", "type": "BIONIC_ITEM", "name": "Glowy Thing", - "description": "It's a... thing? And it glows, at least it did when it was plugged in.", + "description": "It's a… thing? And it glows, at least it did when it was plugged in.", "weight": "5 g", "difficulty": 3 }, diff --git a/data/json/items/book/cooking.json b/data/json/items/book/cooking.json index 8c83843ce911e..dea59b662c498 100644 --- a/data/json/items/book/cooking.json +++ b/data/json/items/book/cooking.json @@ -63,7 +63,7 @@ "name": "To Serve Man", "name_plural": "To Serve Man", "//": "Wasn't commercially traded. ('Parody' only covers so much.) Should get a serious price modifier for non-Cannibals.", - "description": "It's... it's a cookbook!", + "description": "It's… it's a cookbook!", "weight": "454 g", "volume": "1 L", "price": 40000, @@ -198,7 +198,7 @@ "type": "BOOK", "name": "PE050 \"Alpha\": Preliminary Report", "name_plural": "PE050 \"Alpha\": Preliminary Report", - "description": "This sheaf of papers-dated two weeks before all this started-describes some new chemical formula, and its effects on human subjects. It's stamped \"APPROVED\"...", + "description": "This sheaf of papers-dated two weeks before all this started-describes some new chemical formula, and its effects on human subjects. It's stamped \"APPROVED\"…", "weight": "50 g", "volume": "500 ml", "price": 125000, @@ -238,7 +238,7 @@ "type": "BOOK", "name": "PE065 \"Chimera\": Best Practices", "name_plural": "PE065 \"Chimera\": Best Practices", - "description": "This sheaf of papers describes a new chemical formula in detail and supplies instructions for its use as some sort of ... crowd-control catalyst? That can't be right...", + "description": "This sheaf of papers describes a new chemical formula in detail and supplies instructions for its use as some sort of… crowd-control catalyst? That can't be right…", "weight": "50 g", "volume": "500 ml", "price": 125000, @@ -258,7 +258,7 @@ "type": "BOOK", "name": "lab journal-Smythe", "name_plural": "lab journals-Smythe", - "description": "This team logbook details several varieties of mutagenic experiments, focusing on those derived from flesh contaminated with XE037. The results look promising but the procurement methods seem awfully vague...", + "description": "This team logbook details several varieties of mutagenic experiments, focusing on those derived from flesh contaminated with XE037. The results look promising but the procurement methods seem awfully vague…", "weight": "1700 g", "volume": "500 ml", "price": 50000, @@ -277,7 +277,7 @@ "id": "recipe_elfa", "type": "BOOK", "name": "standpipe maintenance log", - "description": "This binder details the scheduled maintenance for several plumbing systems throughout the facility. However, some of the log sheets seem to be filled with...a chemical formula?", + "description": "This binder details the scheduled maintenance for several plumbing systems throughout the facility. However, some of the log sheets seem to be filled with… a chemical formula?", "weight": "400 g", "volume": "750 ml", "price": 400, @@ -337,7 +337,7 @@ "type": "BOOK", "name": "PE023 \"Medical\": Application and Findings", "name_plural": "PE023 \"Medical\": Application and Findings", - "description": "This binder of highly technical papers describes some new chemical formula, and its effects on human subjects. It's stamped \"APPROVED\"....", + "description": "This binder of highly technical papers describes some new chemical formula, and its effects on human subjects. It's stamped \"APPROVED\"…", "weight": "1934 g", "volume": "1750 ml", "price": 62000, diff --git a/data/json/items/book/electronics.json b/data/json/items/book/electronics.json index 31e07a1d34223..d7ff922f69fee 100644 --- a/data/json/items/book/electronics.json +++ b/data/json/items/book/electronics.json @@ -122,7 +122,7 @@ "type": "BOOK", "name": "lab journal-Herrera", "name_plural": "lab journals-Herrera", - "description": "This hefty binder contains a multitude of diagrams and technical specifications for various electronic materials. Some of the diagrams use symbols you've not seen before...", + "description": "This hefty binder contains a multitude of diagrams and technical specifications for various electronic materials. Some of the diagrams use symbols you've not seen before…", "weight": "2000 g", "volume": "500 ml", "price": 56000, diff --git a/data/json/items/book/fabrication.json b/data/json/items/book/fabrication.json index 375c6f48f284b..4b99daf6ff33c 100644 --- a/data/json/items/book/fabrication.json +++ b/data/json/items/book/fabrication.json @@ -119,7 +119,7 @@ "type": "BOOK", "name": "The Handloader's Helper", "name_plural": "The Handloader's Helper", - "description": "Everything you could ever want to know about handloading ammunition, sealed with a ...childproof cover. Apparently a liability thing, because the chapter on explosive rounds covers them in excellent detail too.", + "description": "Everything you could ever want to know about handloading ammunition, sealed with a… childproof cover. Apparently a liability thing, because the chapter on explosive rounds covers them in excellent detail too.", "weight": "1454 g", "volume": "1500 ml", "price": 12000, diff --git a/data/json/items/book/martial.json b/data/json/items/book/martial.json index 06c8509b29d73..044b573d37cde 100644 --- a/data/json/items/book/martial.json +++ b/data/json/items/book/martial.json @@ -248,7 +248,7 @@ "type": "GENERIC", "name": "Beautiful Springtime", "name_plural": "Beautiful Springtime", - "description": "A complete guide to Wing Chun Kung-fu. Includes a section on butterfly swords and the use of long poles at the end.", + "description": "A complete guide to Wing Chun Kung-fu.", "book_data": { "martial_art": "style_wingchun" } }, { @@ -257,7 +257,7 @@ "type": "GENERIC", "name": "Fior Di Battaglia", "name_plural": "Fior Di Battaglia", - "description": "A completely translated medieval guide teaching various techniques with polearms, there is a chapter about the many variations of common polearms... there are even pictures!", + "description": "A completely translated medieval guide teaching various techniques with polearms, there is a chapter about the many variations of common polearms… there are even pictures!", "book_data": { "martial_art": "style_medievalpole" } }, { diff --git a/data/json/items/book/mechanics.json b/data/json/items/book/mechanics.json index fe6bb97063a6c..bc404e925683d 100644 --- a/data/json/items/book/mechanics.json +++ b/data/json/items/book/mechanics.json @@ -71,7 +71,7 @@ "copy-from": "recipe_lab_cvd", "name": "lab journal-Curie", "name_plural": "lab journals-Curie", - "description": "This lab notebook is filled with the collective discoveries and refinements of a research team dedicated to nuclear energy. You don't think you're ready to start a second Cataclysm, but the general information provided might be useful...", + "description": "This lab notebook is filled with the collective discoveries and refinements of a research team dedicated to nuclear energy. You don't think you're ready to start a second Cataclysm, but the general information provided might be useful…", "skill": "mechanics", "required_level": 6 }, diff --git a/data/json/items/book/misc.json b/data/json/items/book/misc.json index 84eeb4076c118..3e165ae003767 100644 --- a/data/json/items/book/misc.json +++ b/data/json/items/book/misc.json @@ -856,11 +856,11 @@ "snippet_category": [ { "id": "scifi1_1", - "text": "This is a copy of Gibson's \"Neuromancer\". Written in the eighties, it was surprisingly accurate in predicting much of modern society... Until recently." + "text": "This is a copy of Gibson's \"Neuromancer\". Written in the eighties, it was surprisingly accurate in predicting much of modern society… Until recently." }, { "id": "scifi1_2", - "text": "This is a copy of \"The Stars My Destination\" by Alfred Bester. \n\nTyger, Tyger, Burning bright, \nIn the forests of the night: \nWhat immortal hand or eye, \nDare frame thy fearful symmetry?" + "text": "This is a copy of \"The Stars My Destination\" by Alfred Bester.\n\nTyger, Tyger, Burning bright,\nIn the forests of the night:\nWhat immortal hand or eye,\nDare frame thy fearful symmetry?" }, { "id": "scifi1_3", @@ -868,14 +868,10 @@ }, { "id": "scifi1_4", "text": "This is a copy of \"The Dispossessed\" by Ursula Le Guin." }, { "id": "scifi1_5", "text": "This copy of Ray Bradbury's \"Fahrenheit 451\"." }, - { - "id": "scifi1_5", - "text": "This is a well-worn copy of \"The Hitchhikers Guide to the Galaxy\" by Douglas Adams." - }, { "id": "scifi1_6", "text": "This is a copy of \"Hyperion\" by Dan Simmons." }, { "id": "scifi1_7", - "text": "This is a copy of \"Endymion\" by Dan Simmons. It opens with a poem by D.H. Lawrence:\n\nGive us gods. Oh give them us! \nGive us gods. \nWe are so tired of men \nAnd motor-power." + "text": "This is a copy of \"Endymion\" by Dan Simmons. It opens with a poem by D.H. Lawrence:\n\nGive us gods. Oh give them us!\nGive us gods.\nWe are so tired of men\nAnd motor-power." }, { "id": "scifi1_8", "text": "This is a copy of Philip K. Dick's \"Do Androids Dream of Electric Sheep?\"." }, { "id": "scifi1_9", "text": "This is a dog-eared copy of \"Nova Express\" by William Burroughs." }, @@ -974,10 +970,10 @@ { "id": "scifi1_42", "text": "This is a copy of \"Islands in the Sky\" by Arthur C. Clarke." }, { "id": "scifi1_43", "text": "This is a copy of H. G. Wells' \"The Island of Doctor Moreau\"." }, { "id": "scifi1_44", "text": "This is a copy of Stanislaw Lem's \"His Masters Voice\"." }, - { "id": "scifi_45", "text": "This is a copy of Fred Hoyle's \"The Black Cloud\"." }, - { "id": "scifi_46", "text": "This is a copy of \"Last and First Men\" by Olaf Stapeldon." }, - { "id": "scifi_47", "text": "This is a copy of Stanislaw Lem's \"Solaris\"." }, - { "id": "scifi_48", "text": "This is a copy of Theodore Sturgeon's \"More Than Human\"." }, + { "id": "scifi1_45", "text": "This is a copy of Fred Hoyle's \"The Black Cloud\"." }, + { "id": "scifi1_46", "text": "This is a copy of \"Last and First Men\" by Olaf Stapeldon." }, + { "id": "scifi1_47", "text": "This is a copy of Stanislaw Lem's \"Solaris\"." }, + { "id": "scifi1_48", "text": "This is a copy of Theodore Sturgeon's \"More Than Human\"." }, { "id": "scifi1_49", "text": "This is a copy of \"Vurt\" by Jeff Noon." }, { "id": "scifi1_50", "text": "This is a copy of \"A Canticle for Leibowitz\" by Walter M. Miller Jr." }, { "id": "scifi1_51", "text": "This is a copy of \"The War of The Worlds\" by H.G Wells." }, @@ -995,6 +991,10 @@ { "id": "scifi1_60", "text": "This is a copy of Larry Niven's \"Ringworld\". There are a couple of pages missing from the end of the book. Luckily only mail-order advertisements." + }, + { + "id": "scifi1_61", + "text": "This is a well-worn copy of \"The Hitchhikers Guide to the Galaxy\" by Douglas Adams." } ] }, @@ -1261,7 +1261,24 @@ { "id": "philosophy40", "text": "This is a copy of \"Up-Wingers: A Futurist Manifesto\" by FM-2030. It seems that the author's real name is Fereidoun M. Esfandiary." - } + }, + { + "id": "philosophy41", + "text": "This is a copy of \"The Bastiat Collection\", a large collection of essays by Frederic Bastiat." + }, + { + "id": "philosophy42", + "text": "This is a copy of \"Anarchy, State, and Utopia\" by Robert Nozick, one of the most influential books of modern libertarianism." + }, + { + "id": "philosophy43", + "text": "This is a copy of \"Socialism\" by Ludwig von Mises, a critical examination of socialism." + }, + { + "id": "philosophy44", + "text": "This is a copy of \"The ABC of Communism\" by Nikolai Bukharin, one of the most influential books of early Marxism-Leninism." + }, + { "id": "philosophy45", "text": "This is a copy of \"Anti-Capitalist Mentality\" by Ludwig von Mises." } ], "weight": "350 g", "volume": "750 ml", @@ -1370,7 +1387,7 @@ "id": "record_accounting", "type": "BOOK", "name": "corporate accounting ledger", - "description": "If you knew what to look for something might stand out...", + "description": "If you knew what to look for something might stand out…", "weight": "566 g", "volume": "1250 ml", "price": 2000, @@ -1570,7 +1587,31 @@ "text": "This is a hardcover copy of \"The Gates Have Opened\" by Arianna Methusalah. You feel like you've read this before, but can't remember where. Something about the book fills you with unease." }, { "id": "classic29", "text": "This is a copy of \"The Count of Monte Cristo\" by Dumas." }, - { "id": "classic30", "text": "This is a copy of \"The Secret Garden\" by Frances Burnett." } + { "id": "classic30", "text": "This is a copy of \"The Secret Garden\" by Frances Burnett." }, + { "id": "classic31", "text": "This is a copy of \"Lieutenant Hornblower\" by C.S. Forester." }, + { "id": "classic32", "text": "This is a copy of \"Master and Commander\" by Patrick O'Brian." }, + { "id": "classic33", "text": "This is a copy of \"The Warden\" by Anthony Trollope." }, + { "id": "classic34", "text": "This is a copy of \"The Far Side of the World\" by Patrick O'Brian." }, + { "id": "classic35", "text": "This is a copy of \"HMS Surprise\" by Patrick O'Brian." }, + { "id": "classic36", "text": "This is a copy of \"Barchester Towers\" by Anthony Trollope." }, + { "id": "classic37", "text": "This is a copy of \"The Land Ironclads\" by H.G. Wells." }, + { "id": "classic38", "text": "This is a copy of \"The Great Boer War\" by Arthur Conan Doyle." }, + { "id": "classic39", "text": "This is a copy of \"The Crime of the Congo\" by Arthur Conan Doyle." }, + { "id": "classic40", "text": "This is a copy of \"The Parasite\" by Arthur Conan Doyle." }, + { "id": "classic41", "text": "This is a copy of \"By Stroke of Sword\" by Andrew Balfour." }, + { "id": "classic42", "text": "This is a copy of \"The Secret Agent\" by Joseph Conrad." }, + { "id": "classic43", "text": "This is a copy of \"Lord Jim\" by Joseph Conrad." }, + { "id": "classic44", "text": "This is a copy of \"Vanity Fair\" by William Makepeace Thackeray." }, + { "id": "classic45", "text": "This is a copy of \"The Luck of Barry Lyndon\" by William Makepeace Thackeray." }, + { "id": "classic46", "text": "This is a copy of \"North and South\" by Elizabeth Gaskell." }, + { "id": "classic47", "text": "This is a copy of \"The Mayor of Casterbridge\" by Thomas Hardy." }, + { "id": "classic48", "text": "This is a copy of \"Wessex Tales\" by Thomas Hardy." }, + { "id": "classic49", "text": "This is a copy of \"Far from the Madding Crowd\" by Thomas Hardy." }, + { "id": "classic50", "text": "This is a copy of \"Captains Courageous\" by Rudyard Kipling." }, + { "id": "classic51", "text": "This is a copy of \"The Canterbury Tales\" by Geoffrey Chaucer." }, + { "id": "classic52", "text": "This is a copy of \"Harold, the Last of the Saxons\" by Edward Bulwer-Lytton." }, + { "id": "classic53", "text": "This is a copy of \"Mr Midshipman Easy\" by Frederick Marryat." }, + { "id": "classic54", "text": "This is a copy of \"Peter Simple\" by Frederick Marryat." } ], "weight": "350 g", "volume": "750 ml", diff --git a/data/json/items/chemicals_and_resources.json b/data/json/items/chemicals_and_resources.json index e1a88ee982596..235f9e49fbea7 100644 --- a/data/json/items/chemicals_and_resources.json +++ b/data/json/items/chemicals_and_resources.json @@ -25,14 +25,14 @@ "name_plural": "sulfur", "symbol": "=", "color": "yellow", - "description": "A handful of yellow grains of pure sulfur. Primarily used to make battery acid, sulfur is sometimes used as fuel for explosives. Can be burned to produce acidic smoke, that is deadly to bacteria and humans alike, or oxidized to make paper-bleaching agents.", + "description": "A handful of pure sulfur. Primarily used to make battery acid, sulfur is sometimes used as fuel for explosives. Can be burned to produce acidic smoke, that is deadly to bacteria and humans alike, or oxidized to make paper-bleaching agents.", "material": "powder", - "volume": "250 ml", - "weight": "5 g", - "//": "NOTE: Weights are given for ONE UNIT. The actual weight of a spawned pile of sulfur is now 5*100 = 500g. For reference, 1 C:DDA unit of volume is around a quarter of a liter (calculated from the weight of water).", + "volume": "16 ml", + "weight": "320 mg", + "//": "Density: 2g/cm3. NOTE: Weights for chemical powders are 1/100 mol. Weights are given for ONE UNIT. Volume is for all units.", "bashing": 1, "ammo_type": "components", - "container": "bag_canvas", + "container": "bottle_plastic_small", "count": 100 }, { @@ -44,10 +44,11 @@ "name_plural": "chunks of sulfur", "symbol": "*", "color": "yellow", - "description": "A large chunk of pure sulfur. Break it up to use it.", + "description": "A chunk of pure sulfur. Break it up to use it.", "material": "powder", - "volume": "1250 ml", + "volume": "250 ml", "weight": "500 g", + "//": "density is around 2g/cm3", "bashing": 1, "ammo_type": "components" }, @@ -176,10 +177,11 @@ "name_plural": "rhodonite", "symbol": "*", "color": "red", - "description": "A chunk of rhodonite. It has manganese dioxide covering and going through it in veins, which can be obtained using a chisel.", + "description": "A chunk of rhodonite. It has manganese dioxide covering and going through it in veins, which can be obtained using a chisel.", "material": "stone", - "volume": "2500 ml", - "weight": 500, + "volume": "250 ml", + "weight": "915 g", + "//": "density: 3.57–3.76 g/cm3", "bashing": 1 }, { @@ -191,10 +193,11 @@ "name_plural": "zincite", "symbol": "*", "color": "red", - "description": "A chunk of zincite. Could be refined into zinc oxide, then into zinc by reduction with a source of carbon.", + "description": "A chunk of zincite. Could be refined into zinc oxide, then into zinc by reduction with a source of carbon.", "material": "stone", - "volume": "2500 ml", - "weight": 500, + "volume": "250 ml", + "weight": "1412 g", + "//": "density: 5.64–5.68 g/cm3", "bashing": 1 }, { @@ -473,8 +476,9 @@ "color": "white", "description": "A handful of zinc powder. While commercially used mostly in cosmetics and for paints, hobbyists used to mix it with sulfur to make basic rocket fuel / smokescreen. When treated with a strong acid, it will produce hydrogen.", "material": "powder", - "volume": "250 ml", - "weight": "8400 mg", + "volume": "9 ml", + "weight": "654 mg", + "//": "density: 7.14 g/cm3", "bashing": 1, "ammo_type": "components", "container": "bottle_plastic_small", @@ -489,10 +493,11 @@ "name_plural": "zinc oxide", "symbol": "=", "color": "white", - "description": "A handful of zinc oxide. It can be reduced into zinc, or used for some other reactions of its own.", + "description": "A handful of zinc oxide. It can be reduced into zinc, or used for some other reactions of its own.", "material": "powder", - "volume": "250 ml", - "weight": 12.8, + "volume": "16 ml", + "weight": "814 mg", + "//": "density: 5.1 g/cm3", "bashing": 1, "ammo_type": "components", "container": "bottle_plastic_small", @@ -507,13 +512,14 @@ "name_plural": "manganese dioxide", "symbol": "=", "color": "white", - "description": "A handful of manganese dioxide powder. Occurring naturally in the mineral pyrolusite, it is used commercially in the production of alkaline and zinc-carbon batteries.", + "description": "A handful of manganese dioxide powder. Occurring naturally in the mineral pyrolusite, it is used commercially in the production of alkaline and zinc-carbon batteries.", "material": "powder", - "volume": "250 ml", - "weight": 12.6, + "volume": "17 ml", + "weight": "869 mg", + "//": "density: 5.026 g/cm3", "bashing": 1, "ammo_type": "components", - "container": "bag_plastic", + "container": "bottle_plastic_small", "count": 100 }, { @@ -525,13 +531,14 @@ "name_plural": "potassium chloride", "symbol": "=", "color": "white", - "description": "A handful of potassium chloride. Although it occurs naturally in the mineral sylvite, it can be produced as a byproduct of the reaction of saltpeter and hydrochloric acid. It can be used for making fertilizer, or potassium hydroxide by way of electrolysis.", + "description": "A handful of potassium chloride. Although it occurs naturally in the mineral sylvite, it can be produced as a byproduct of the reaction of saltpeter and hydrochloric acid. It can be used for making fertilizer, or potassium hydroxide by way of electrolysis.", "material": "powder", - "volume": "250 ml", - "weight": 5, + "volume": "38 ml", + "weight": "746 mg", + "//": "density: 1.984 g/cm3", "bashing": 1, "ammo_type": "components", - "container": "bag_plastic", + "container": "bottle_plastic_small", "count": 100 }, { @@ -543,13 +550,14 @@ "name_plural": "potassium hydroxide", "symbol": "=", "color": "white", - "description": "A handful of potassium hydroxide. Commonly called caustic potash, it was mainly used industrially for its caustic nature. It can be used as an electrolyte in alkaline batteries, among other applications.", + "description": "A handful of potassium hydroxide. Commonly called caustic potash, it was mainly used industrially for its caustic nature. It can be used as an electrolyte in alkaline batteries, among other applications.", "material": "powder", - "volume": "250 ml", - "weight": 5.1, + "volume": "26 ml", + "weight": "561 mg", + "//": "density: 2.12 g/cm3 (25 °C)", "bashing": 1, "ammo_type": "components", - "container": "bag_plastic", + "container": "bottle_plastic_small", "count": 100 }, { @@ -582,7 +590,7 @@ "symbol": "=", "color": "white", "flags": [ "DROP_ACTION_ONLY_IF_LIQUID" ], - "description": "Hydrochloric acid, also known as muriatic acid. It is a strong acid that has a distinctive smell, important and frequently used ever since its discovery. It still has a vast multitude of uses.", + "description": "Hydrochloric acid, also known as muriatic acid. It is a strong acid that has a distinctive smell, important and frequently used ever since its discovery. It still has a vast multitude of uses.", "volume": "250 ml", "weight": 460, "bashing": 1, @@ -638,13 +646,14 @@ "name_plural": "chromium oxide", "symbol": "=", "color": "green", - "description": "A handful of chromium oxide pellets. This substance, typically known as the only stable green pigment for paints, is also a mild oxidizer, which can be mixed with aluminum powder to make thermite for welding. If one had access to a CVD machine and a laboratory worth of reagents, they might be able to produce very durable ceramic layers.", + "description": "A handful of chromium oxide. This substance, typically known as the only stable green pigment for paints, is also a mild oxidizer, which can be mixed with aluminum powder to make thermite for welding. If one had access to a CVD machine and a laboratory worth of reagents, they might be able to produce very durable ceramic layers.", "material": "powder", - "volume": "250 ml", - "weight": "13050 mg", + "volume": "29 ml", + "weight": "1520 mg", + "//": "density: 5.22 g/cm3", "bashing": 1, "ammo_type": "components", - "container": "bag_canvas", + "container": "bottle_plastic_small", "count": 100 }, { @@ -656,13 +665,14 @@ "name_plural": "calcium carbide", "symbol": "=", "color": "white", - "description": "A handful of calcium carbide chunks, giving off a faint, garlic-like smell. Commercially, calcium carbide was used for on-the-spot manufacture of acetylene and historically to power acetylene lamps. If mixed with water and sealed, it will explode with little strength, but with relatively loud noise and could maybe be used as a decoy.", + "description": "A handful of calcium carbide, giving off a faint, garlic-like smell. Commercially, calcium carbide was used for on-the-spot manufacture of acetylene and historically to power acetylene lamps. If mixed with water and sealed, it will explode with little strength, but with relatively loud noise and could maybe be used as a decoy.", "material": "powder", - "volume": "250 ml", - "weight": "5550 mg", + "volume": "29 ml", + "weight": "641 mg", + "//": "density: 2.22 g/cm3", "bashing": 1, "ammo_type": "components", - "container": "bag_plastic", + "container": "bottle_plastic_small", "count": 100 }, { @@ -852,12 +862,12 @@ "color": "dark_gray", "description": "A handful of black gunpowder, made by mixing charcoal and sulfur with saltpeter. Pretty useless for making modern cartridges, as the soot produced when it burns will quickly clog any firearm, but it could be used to make some vicious bombs.", "material": "powder", - "volume": "250 ml", + "volume": "100 ml", "weight": "1 g", "bashing": 1, "ammo_type": "components", - "container": "bag_canvas", - "count": 250 + "container": "bag_plastic", + "count": 100 }, { "type": "AMMO", @@ -868,7 +878,7 @@ "name_plural": "match head powder", "symbol": "=", "color": "light_red", - "description": "Some match head powder from match heads, similar to black gunpowder but a bit weaker. It can be used in crafting explosives and fuses when other more suitable candidates are less available.", + "description": "Some match head powder from match heads, similar to black gunpowder but a bit weaker. It can be used in crafting explosives and fuses when other more suitable candidates are less available.", "material": "powder", "volume": "10 ml", "weight": "1 g", @@ -970,8 +980,7 @@ "category": "food", "symbol": "%", "color": "brown", - "name": "handful of hickory nuts", - "name_plural": "handfuls of hickory nuts", + "name": { "str": "hickory nuts", "str_pl": "hickory nuts" }, "description": "A handful of hard nuts from a hickory tree, still in their shell.", "//spoils_in": "180 days", "price": 0, @@ -985,8 +994,7 @@ "category": "food", "symbol": "%", "color": "brown", - "name": "handful of pecans", - "name_plural": "handfuls of pecans", + "name": { "str": "pecans", "str_pl": "pecans" }, "description": "A handful of hard nuts from a pecan tree, still in their shell.", "//spoils_in": "180 days", "price": 0, @@ -1000,8 +1008,7 @@ "category": "food", "symbol": "%", "color": "brown", - "name": "handful of pistachios", - "name_plural": "handfuls of pistachios", + "name": { "str": "pistachios", "str_pl": "pistachios" }, "description": "A handful of hard nuts from a pistachio tree, still in their shell.", "//spoils_in": "90 days", "price": 0, @@ -1015,8 +1022,7 @@ "category": "food", "symbol": "%", "color": "brown", - "name": "handful of almonds", - "name_plural": "handfuls of almonds", + "name": { "str": "almonds", "str_pl": "almonds" }, "description": "A handful of hard nuts from a almond tree, still in their shell.", "//spoils_in": "300 days", "price": 0, @@ -1030,8 +1036,7 @@ "category": "food", "symbol": "%", "color": "brown", - "name": "handful of peanuts", - "name_plural": "handfuls of peanuts", + "name": { "str": "peanuts", "str_pl": "peanuts" }, "description": "A handful of hard nuts from a peanut bush, still in their shell.", "//spoils_in": "240 days", "price": 0, @@ -1045,8 +1050,7 @@ "category": "food", "symbol": "%", "color": "brown", - "name": "handful of hazelnuts", - "name_plural": "handfuls of hazelnuts", + "name": { "str": "hazelnuts", "str_pl": "hazelnuts" }, "description": "A handful of hard nuts from a hazelnut tree, still in their shell.", "//spoils_in": "150 days", "price": 0, @@ -1060,8 +1064,7 @@ "category": "food", "symbol": "%", "color": "brown", - "name": "handful of chestnuts", - "name_plural": "handfuls of chestnuts", + "name": { "str": "chestnuts", "str_pl": "chestnuts" }, "description": "A handful of hard nuts from a chestnut tree, still in their shell.", "//spoils_in": "180 days", "price": 0, @@ -1075,8 +1078,7 @@ "category": "food", "symbol": "%", "color": "brown", - "name": "handful of walnuts", - "name_plural": "handfuls of walnuts", + "name": { "str": "walnuts", "str_pl": "walnuts" }, "description": "A handful of hard nuts from a walnut tree, still in their shell.", "//spoils_in": "180 days", "price": 0, @@ -1407,7 +1409,7 @@ "type": "COMESTIBLE", "name": "acetylene", "category": "chems", - "description": "A flammable gas that explodes under pressure. Combined with oxygen, acetylene makes a great welding gas.", + "description": "A flammable gas that explodes under pressure. Combined with oxygen, acetylene makes a great welding gas.", "weight": "40 g", "volume": "250 ml", "price": 1200, diff --git a/data/json/items/comestibles/alcohol.json b/data/json/items/comestibles/alcohol.json index bed238a898e08..cc7f759221217 100644 --- a/data/json/items/comestibles/alcohol.json +++ b/data/json/items/comestibles/alcohol.json @@ -548,7 +548,7 @@ "id": "long_island", "name": "Long Island iced tea", "name_plural": "Long Island iced tea", - "weight": "51 g", + "weight": "232 g", "color": "brown", "addiction_type": "alcohol", "use_action": "ALCOHOL", @@ -559,7 +559,7 @@ "quench": -10, "healthy": -2, "addiction_potential": 5, - "calories": 328, + "calories": 426, "description": "A blend of incredibly strong-flavored liquors that somehow tastes like none of them. It contains no tea, but the inclusion of cola gives it a tea-like color.", "price": 600, "material": [ "alcohol", "water" ], @@ -642,7 +642,7 @@ "quench": 25, "healthy": -2, "addiction_potential": 4, - "calories": 253, + "calories": 177, "description": "Suitable for tropical retreats and Canadian artists alike.", "price": 600, "material": [ "alcohol", "junk" ], @@ -1000,7 +1000,7 @@ "quench": 15, "healthy": 3, "addiction_potential": 6, - "calories": 35, + "calories": 68, "description": "Strawberries left to ferment with a few other choice ingredients offer up a surprisingly palatable mixture; you barely even have to force yourself to drink it after the first few gulps.", "price": 1600, "material": [ "alcohol", "water", "fruit" ], @@ -1029,7 +1029,7 @@ "quench": 15, "healthy": 1, "addiction_potential": 18, - "calories": 36, + "calories": 82, "description": "This fermented blueberry mixture is surprisingly hearty, though the soup-like consistency is slightly unsettling no matter how much you drink.", "price": 1400, "material": [ "alcohol", "water", "fruit" ], @@ -1164,11 +1164,11 @@ "quench": 25, "healthy": -1, "addiction_potential": 4, - "calories": 385, + "calories": 261, "description": "A mixed drink made of whiskey and lemon juice.", "price": 800, "material": "alcohol", - "volume": "500 ml", + "volume": "250 ml", "phase": "liquid", "flags": [ "EATEN_COLD" ], "freezing_point": -22, @@ -1266,7 +1266,7 @@ "symbol": "~", "quench": 5, "addiction_potential": 4, - "calories": 13, + "calories": 104, "description": "This is a popular cocktail made with gin and dry vermouth, dating from the Prohibition era.", "price": 850, "material": [ "alcohol", "water" ], diff --git a/data/json/items/comestibles/bread.json b/data/json/items/comestibles/bread.json index 9e7ad6b48cef5..b466e04ce3951 100644 --- a/data/json/items/comestibles/bread.json +++ b/data/json/items/comestibles/bread.json @@ -99,7 +99,7 @@ "looks_like": "bread", "volume": "750 ml", "charges": 8, - "flags": [ "EATEN_HOT" ], + "flags": [ "EATEN_HOT", "NUTRIENT_OVERRIDE" ], "fun": 2 }, { diff --git a/data/json/items/comestibles/brewing.json b/data/json/items/comestibles/brewing.json index 86d225ee20597..ace7f9a88528a 100644 --- a/data/json/items/comestibles/brewing.json +++ b/data/json/items/comestibles/brewing.json @@ -7,7 +7,7 @@ "weight": "33 g", "color": "white", "container": "bottle_glass", - "flags": [ "EATEN_COLD", "MYCUS_OK" ], + "flags": [ "EATEN_COLD", "MYCUS_OK", "NUTRIENT_OVERRIDE" ], "symbol": "~", "calories": 25, "quench": -5, @@ -53,7 +53,7 @@ "stim": -2, "container": "jug_plastic", "symbol": "~", - "calories": 9, + "calories": 26, "quench": 2, "healthy": -2, "fun": 2, @@ -99,7 +99,7 @@ "stim": -2, "container": "jug_plastic", "symbol": "~", - "calories": 9, + "calories": 26, "quench": 2, "healthy": -2, "fun": 2, @@ -189,7 +189,7 @@ "stim": -2, "container": "jug_plastic", "symbol": "~", - "calories": 9, + "calories": 26, "quench": 2, "healthy": -2, "fun": 2, @@ -337,7 +337,7 @@ "stim": -3, "container": "jug_plastic", "symbol": "~", - "calories": 9, + "calories": 33, "quench": -2, "healthy": -10, "fun": -20, @@ -374,7 +374,7 @@ "id": "brew_vinegar", "name": "unfermented vinegar", "description": "Mixture of water, alcohol and fruit juice that will eventually become vinegar.", - "weight": "127 g", + "weight": "15 g", "color": "yellow", "container": "jug_plastic", "symbol": "~", @@ -383,7 +383,7 @@ "fun": -15, "price": 0, "volume": "250 ml", - "charges": 2, + "charges": 16, "phase": "liquid", "comestible_type": "DRINK", "flags": [ "NUTRIENT_OVERRIDE" ], diff --git a/data/json/items/comestibles/carnivore.json b/data/json/items/comestibles/carnivore.json index e4d19698fa1c9..687883c18e86a 100644 --- a/data/json/items/comestibles/carnivore.json +++ b/data/json/items/comestibles/carnivore.json @@ -55,10 +55,37 @@ "description": "The stomach of a large humanoid creature. It is surprisingly durable.", "proportional": { "weight": 2.0, "volume": 2.0, "price": 1.5, "calories": 2.0 } }, + { + "id": "human_fat", + "copy-from": "fat", + "type": "COMESTIBLE", + "name": "chunk of human fat", + "name_plural": "chunks of human fat", + "description": "Freshly harvested from a human body.", + "material": "hflesh" + }, + { + "type": "COMESTIBLE", + "id": "human_tallow", + "name": "human tallow", + "copy-from": "tallow", + "description": "A smooth white block of cleaned and rendered human fat. It will remain edible for a very long time, and can be used as an ingredient in many foods and projects.", + "price": 500, + "//": "*May* have been commercially traded.", + "material": "hflesh" + }, + { + "type": "COMESTIBLE", + "id": "human_lard", + "name": "human lard", + "copy-from": "human_tallow", + "description": "A smooth white block of dry-rendered human fat. It will remain edible for a very long time, and can be used as an ingredient in many foods and projects." + }, { "id": "human_flesh", "copy-from": "meat", "type": "COMESTIBLE", + "cooks_like": "human_cooked", "name": "human flesh", "name_plural": "human fleshes", "description": "Freshly butchered from a human body.", @@ -69,6 +96,7 @@ { "id": "human_cooked", "copy-from": "human_flesh", + "calories": 402, "type": "COMESTIBLE", "name": "cooked creep", "description": "A freshly cooked slice of some unpleasant person. Tastes great.", @@ -109,6 +137,55 @@ "delete": { "flags": [ "SMOKABLE" ] }, "vitamins": [ [ "vitA", 0 ], [ "vitC", 0 ], [ "calcium", 0 ], [ "iron", 0 ], [ "vitB", 0 ] ] }, + { + "id": "mutant_meat", + "type": "COMESTIBLE", + "copy-from": "meat", + "name": "chunk of mutant meat", + "name_plural": "chunks of mutant meat", + "description": "Meat from a heavily mutated animal. It has an unsettling loose and spongy texture, but smells… mostly normal. There are strange tangles and formations in it that don't appear natural at all: bits of bone and hair crusted up inside the muscle, as if trying to form another organism. Still, seems digestible at least, if you cook it and remove the worst parts.", + "looks_like": "meat", + "cooks_like": "mutant_meat_cooked", + "proportional": { "price": 0.2, "calories": 0.5 }, + "vitamins": [ [ "vitC", 6 ], [ "calcium", 1 ], [ "iron", 26 ], [ "vitB", 389 ], [ "mutant_toxin", 25 ] ], + "flags": [ "SMOKABLE", "BAD_TASTE" ] + }, + { + "id": "mutant_meat_scrap", + "type": "COMESTIBLE", + "copy-from": "meat_scrap", + "name": "scrap of mutant meat", + "name_plural": "scraps of mutant meat", + "description": "A tiny scrap of meat from a heavily mutated animal. It smells a bit odd, and has bits of hair and bone mixed in that seem like they grew inside the muscle itself. Still, seems digestible at least, if you cook it and remove the worst parts.", + "looks_like": "meat_scrap", + "cooks_like": "mutant_meat_scrap_cooked", + "proportional": { "price": 0.2, "calories": 0.5 }, + "vitamins": [ [ "mutant_toxin", 2 ] ], + "flags": [ "BAD_TASTE" ] + }, + { + "id": "mutant_human_flesh", + "copy-from": "mutant_meat", + "type": "COMESTIBLE", + "cooks_like": "mutant_human_cooked", + "name": "mutant humanoid meat", + "description": "Freshly butchered from the body of a heavily mutated creature that was unsettlingly humanoid in appearance. It has odd bits of fur and other tissue lodged in it that clearly don't belong. You'd have to be crazy or starving to eat this.", + "material": "hflesh", + "smoking_result": "human_smoked" + }, + { + "id": "mutant_human_cooked", + "copy-from": "mutant_human_flesh", + "calories": 402, + "type": "COMESTIBLE", + "name": "cooked cretin", + "description": "Cooked meat from a heavily mutated humanoid. Now that the worst bits have been picked out, it's probably digestible, if not very appetizing.", + "proportional": { "price": 1.5 }, + "parasites": 0, + "healthy": 0, + "fun": 0, + "flags": [ "EATEN_HOT", "NUTRIENT_OVERRIDE", "BAD_TASTE" ] + }, { "type": "COMESTIBLE", "comestible_type": "FOOD", @@ -132,15 +209,16 @@ }, { "id": "meat_cooked", - "copy-from": "meat", + "copy-from": "flesh", + "weight": "296 g", + "volume": "250 ml", + "spoils_in": "1 day", "type": "COMESTIBLE", "name": "cooked meat", "description": "This is a chunk of freshly cooked meat. It's filling and nutritious, but unseasoned and a bit bland.", - "proportional": { "price": 1.5 }, + "price": 750, "parasites": 0, "calories": 402, - "healthy": 0, - "fun": 0, "vitamins": [ [ "vitC", 16 ], [ "calcium", 2 ], [ "iron", 69 ], [ "vitB", 778 ] ], "flags": [ "EATEN_HOT", "NUTRIENT_OVERRIDE" ] }, @@ -156,6 +234,33 @@ "flags": [ "NUTRIENT_OVERRIDE" ], "calories": 51 }, + { + "id": "mutant_meat_cooked", + "type": "COMESTIBLE", + "copy-from": "mutant_meat", + "name": "cooked mutant meat", + "description": "This is a cooked chunk of meat from a mutated animal. It has an unsettling, spongy texture, but otherwise tastes… mostly normal. Hopefully you got all the bits of hair and bone out…", + "looks_like": "meat_cooked", + "proportional": { "price": 1.5 }, + "parasites": 0, + "calories": 200, + "healthy": 0, + "fun": -1, + "flags": [ "EATEN_HOT", "NUTRIENT_OVERRIDE", "BAD_TASTE" ] + }, + { + "id": "mutant_meat_scrap_cooked", + "type": "COMESTIBLE", + "copy-from": "mutant_meat_scrap", + "name": "cooked scrap of mutant meat", + "name_plural": "cooked scraps of mutant meat", + "looks_like": "meat_scrap_cooked", + "parasites": 0, + "calories": 25, + "fun": 0, + "healthy": 0, + "flags": [ "NUTRIENT_OVERRIDE", "NO_CRAFT_INHERIT" ] + }, { "id": "offal", "copy-from": "meat", @@ -221,7 +326,7 @@ "volume": "250 ml", "price": 200, "spoils_in": "8 hours", - "calories": 40, + "calories": 60, "quench": 1, "healthy": -1, "fun": -15 @@ -254,7 +359,7 @@ "fun": 4, "calories": 348, "vitamins": [ [ "vitA", 0 ], [ "vitC", 0 ], [ "calcium", 2 ], [ "iron", 26 ], [ "vitB", 35 ] ], - "delete": { "flags": [ "SMOKABLE" ] }, + "flags": "NO_CRAFT_INHERIT", "proportional": { "price": 0.64 } }, { @@ -372,7 +477,7 @@ "name": "raw liver", "description": "The liver from an animal. Although many dislike the texture, it's one of the more vitamin rich parts of the animal. It is very good in sausages, but maybe a little less appetizing when cooked on its own.", "quench": -4, - "calories": 73, + "calories": 92, "vitamins": [ [ "vitA", 75 ], [ "vitC", 0 ], [ "calcium", 0 ], [ "iron", 8 ], [ "vitB", 336 ] ] }, { @@ -393,7 +498,7 @@ "looks_like": "offal", "name": "raw brains", "name_plural": "raw brains", - "description": "The brain from an animal. You wouldn't want to eat this raw...", + "description": "The brain from an animal. You wouldn't want to eat this raw…", "color": "light_gray", "healthy": -15, "quench": 10, @@ -459,7 +564,7 @@ "looks_like": "meat_cooked", "name": "cooked sweetbread", "fun": -4, - "description": "Normally a delicacy, it needs a little... something.", + "description": "Normally a delicacy, it needs a little… something.", "parasites": 0 }, { @@ -546,6 +651,58 @@ "copy-from": "tallow", "description": "A smooth white block of dry-rendered animal fat. It will remain edible for a very long time, and can be used as an ingredient in many foods and projects." }, + { + "id": "mutant_fat", + "type": "COMESTIBLE", + "copy-from": "fat", + "name": "chunk of mutant fat", + "name_plural": "chunks of mutant fat", + "description": "Freshly butchered fat from a heavily mutated animal. You could eat it raw, but it is better used as an ingredient in other foods or projects.", + "looks_like": "fat", + "proportional": { "price": 0.2 }, + "vitamins": [ [ "mutant_toxin", 360 ] ] + }, + { + "id": "mutant_tallow", + "type": "COMESTIBLE", + "copy-from": "tallow", + "name": "mutant tallow", + "description": "A smooth white block of cleaned and rendered fat sourced from a mutant animal. It will remain edible for a very long time, and can be used as an ingredient in many foods and projects.", + "looks_like": "tallow", + "proportional": { "price": 0.2 }, + "vitamins": [ [ "mutant_toxin", 180 ] ] + }, + { + "id": "mutant_lard", + "type": "COMESTIBLE", + "copy-from": "mutant_tallow", + "name": "mutant lard", + "description": "A smooth white block of dry-rendered fat sourced from a mutant animal. It will remain edible for a very long time, and can be used as an ingredient in many foods and projects." + }, + { + "id": "mutant_human_fat", + "type": "COMESTIBLE", + "copy-from": "mutant_fat", + "name": "chunk of mutant humanoid fat", + "name_plural": "chunks of mutant humanoid fat", + "description": "Freshly butchered fat from a heavily mutated humanoid.", + "material": "hflesh" + }, + { + "type": "COMESTIBLE", + "id": "mutant_human_tallow", + "name": "mutant humanoid tallow", + "copy-from": "mutant_tallow", + "description": "A smooth white block of cleaned and rendered fat sourced from a mutant humanoid. It won't rot for a very long time, and can be used as an ingredient in many foods and projects.", + "material": "hflesh" + }, + { + "type": "COMESTIBLE", + "id": "mutant_human_lard", + "name": "mutant humanoid lard", + "copy-from": "mutant_human_tallow", + "description": "A smooth white block of dry-rendered fat sourced from a mutant humanoid. It won't rot for a very long time, and can be used as an ingredient in many foods and projects." + }, { "type": "COMESTIBLE", "id": "meat_tainted", @@ -564,7 +721,7 @@ "material": "flesh", "volume": "250 ml", "fun": -10, - "flags": [ "TRADER_AVOID", "SMOKABLE" ], + "flags": [ "TRADER_AVOID", "SMOKABLE", "NUTRIENT_OVERRIDE" ], "smoking_result": "dry_meat_tainted" }, { @@ -627,7 +784,7 @@ "symbol": "%", "quench": -10, "healthy": -2, - "calories": 52, + "calories": 18, "description": "A smooth grayish block of cleaned and rendered monster fat. It will remain 'fresh' for a very long time, and can be used as an ingredient in many projects. You could eat it, but it will poison you.", "price": 0, "//": "Not for use in edible/foodsafe recipes. Inefficiency is handled by tainted tallow recipe requiring 200% as much materials input as regular tallow recipe.", @@ -640,18 +797,10 @@ { "type": "COMESTIBLE", "id": "stomach_boiled", + "copy-from": "small_stomach_boiled", "name": "large boiled stomach", - "weight": "145 g", - "color": "red", - "spoils_in": "1 day", - "comestible_type": "FOOD", - "symbol": ",", - "calories": 260, "description": "A boiled stomach from an animal, nothing else. It looks all but appetizing.", - "price": 750, - "material": "flesh", - "volume": "250 ml", - "flags": [ "EATEN_HOT" ], + "proportional": { "price": 2.0, "calories": 2.0, "volume": 2.0, "weight": 2.0 }, "fun": -5 }, { @@ -671,7 +820,7 @@ "spoils_in": "1 day", "comestible_type": "FOOD", "symbol": ",", - "calories": 130, + "calories": 60, "description": "A small boiled stomach from an animal, nothing else. It looks all but appetizing.", "price": 375, "material": "flesh", @@ -787,7 +936,7 @@ "healthy": -10, "calories": 347, "quench": 20, - "description": "A thick, hulking mass of flesh superficially resembling a mammalian heart, covered in ribbed grooves and easily the size of your head. It's still full of, er, whatever passes for blood in jabberwocks, and is heavy in your hands. After everything you've seen lately, you can't help but remember old sayings about eating the hearts of your enemies...", + "description": "A thick, hulking mass of flesh superficially resembling a mammalian heart, covered in ribbed grooves and easily the size of your head. It's still full of, er, whatever passes for blood in jabberwocks, and is heavy in your hands. After everything you've seen lately, you can't help but remember old sayings about eating the hearts of your enemies…", "price": 6500, "material": [ "flesh" ], "volume": "1 L", diff --git a/data/json/items/comestibles/dairy.json b/data/json/items/comestibles/dairy.json index 0c932f17b9e73..6447cac17229c 100644 --- a/data/json/items/comestibles/dairy.json +++ b/data/json/items/comestibles/dairy.json @@ -179,7 +179,8 @@ "primary_material": "cheese", "volume": "250 ml", "vitamins": [ [ "vitA", 5 ], [ "calcium", 32 ], [ "iron", 2 ] ], - "fun": 5 + "fun": 5, + "flags": [ "NUTRIENT_OVERRIDE" ] }, { "type": "COMESTIBLE", @@ -229,13 +230,13 @@ "id": "milk_powder", "name": "powdered milk", "name_plural": "powdered milk", - "weight": "7 g", + "weight": "30 g", "color": "white", "container": "bag_plastic", "comestible_type": "FOOD", "symbol": "%", "quench": -1, - "calories": 26, + "calories": 132, "description": "Dehydrated milk powder. Mix with water to make drinkable milk.", "price": 1100, "material": [ "powder", "milk" ], @@ -243,7 +244,7 @@ "volume": "250 ml", "cooks_like": "milk", "flags": [ "EDIBLE_FROZEN" ], - "charges": 10, + "charges": 4, "vitamins": [ [ "vitA", 3 ], [ "vitC", 1 ], [ "calcium", 7 ] ], "fun": -5 }, diff --git a/data/json/items/comestibles/drink.json b/data/json/items/comestibles/drink.json index 4b2152c33616c..fe8c862b4509b 100644 --- a/data/json/items/comestibles/drink.json +++ b/data/json/items/comestibles/drink.json @@ -237,7 +237,7 @@ "quench": 36, "healthy": 3, "calories": 11, - "description": "Toasted, ground chicory root steeped in boiling water. This bitter brew is used as a coffee substitute, though it tastes nothing like coffee.", + "description": "Toasted, ground chicory root steeped in boiling water. This bitter brew is used as a coffee substitute, though it tastes nothing like coffee.", "price": 125, "volume": "250 ml", "material": [ "water" ], diff --git a/data/json/items/comestibles/drink_other.json b/data/json/items/comestibles/drink_other.json index 070fa133a91f3..eaa708ec9cb96 100644 --- a/data/json/items/comestibles/drink_other.json +++ b/data/json/items/comestibles/drink_other.json @@ -3,7 +3,7 @@ "type": "COMESTIBLE", "id": "sauce_red", "name": "red sauce", - "weight": "32 g", + "weight": "64 g", "color": "red", "spoils_in": "3 days", "container": "can_food", @@ -16,7 +16,7 @@ "//": "Small cans--needs upsized after the string freeze.", "material": "tomato", "volume": "250 ml", - "charges": 8, + "charges": 4, "phase": "liquid", "flags": [ "EATEN_HOT" ], "fun": 1 @@ -38,8 +38,8 @@ "container": "metal_tank", "material": "water", "quench": 45, - "//": "need 40 parts maple sap to make 1 part maple syrup", - "proportional": { "calories": 0.025 }, + "//": "need 40 charges of maple sap to make 16 charges of maple syrup", + "proportional": { "calories": 0.4 }, "fun": 1, "flags": [ "EATEN_COLD" ], "phase": "liquid", diff --git a/data/json/items/comestibles/frozen.json b/data/json/items/comestibles/frozen.json index 9c4deed88c548..c84cb49bc2477 100644 --- a/data/json/items/comestibles/frozen.json +++ b/data/json/items/comestibles/frozen.json @@ -171,7 +171,7 @@ "name": "gelato", "name_plural": "gelato scoops", "description": "Italian-style ice cream. Less airy, and more dense, giving it a richer flavor and texture.", - "calories": 328, + "calories": 240, "price": 300, "weight": "90 g", "primary_material": "ice_cream", diff --git a/data/json/items/comestibles/fruit_dishes.json b/data/json/items/comestibles/fruit_dishes.json index 51ad0e8a9a5d3..4c8c8ddc58a86 100644 --- a/data/json/items/comestibles/fruit_dishes.json +++ b/data/json/items/comestibles/fruit_dishes.json @@ -100,15 +100,14 @@ { "type": "COMESTIBLE", "id": "lemonade_powder", - "name": "lemonade drink mix", - "name_plural": "servings of lemonade drink mix", + "name": { "str": "lemonade drink mix", "str_pl": "lemonade drink mix" }, "weight": "19 g", "color": "yellow", "container": "bottle_plastic_small", "comestible_type": "FOOD", "symbol": "%", "quench": -1, - "calories": 74, + "calories": 104, "description": "Tangy yellow powder that smells strongly of lemons. Can be mixed with water to make lemonade.", "price": 10, "material": [ "powder", "fruit" ], diff --git a/data/json/items/comestibles/junkfood.json b/data/json/items/comestibles/junkfood.json index a433ba52ee528..b7b2a3decd187 100644 --- a/data/json/items/comestibles/junkfood.json +++ b/data/json/items/comestibles/junkfood.json @@ -92,16 +92,17 @@ "id": "kernels", "name": "popcorn kernels", "name_plural": "popcorn kernels", - "weight": "85 g", + "weight": "32 g", "color": "brown", "container": "bag_plastic", "comestible_type": "FOOD", "symbol": "%", - "calories": 17, + "calories": 120, "description": "Dried kernels from a particular type of corn. Practically inedible raw, they can be cooked to make a tasty snack.", "price": 100, "material": "junk", "volume": "250 ml", + "charges": 8, "flags": [ "EDIBLE_FROZEN" ], "fun": -6 }, @@ -110,7 +111,7 @@ "id": "popcorn", "name": "popcorn", "name_plural": "popcorn", - "weight": "12 g", + "weight": "8 g", "color": "white", "spoils_in": "360 days", "container": "bag_plastic", @@ -118,11 +119,12 @@ "symbol": "%", "quench": -1, "healthy": 1, - "calories": 58, + "calories": 30, "description": "Plain and unseasoned popcorn. Not as tasty as other kinds, but healthier as a result.", "price": 115, "material": "veggy", - "volume": "250 ml", + "volume": "1 L", + "charges": 4, "flags": [ "EATEN_HOT", "FREEZERBURN" ], "fun": 4, "vitamins": [ [ "iron", 2 ] ] @@ -243,7 +245,7 @@ "container": "bag_plastic", "comestible_type": "FOOD", "symbol": "%", - "calories": 655, + "calories": 418, "description": "A pair of graham crackers with some chocolate and a marshmallow between them.", "price": 400, "material": [ "wheat", "junk" ], @@ -267,7 +269,7 @@ "quench": -1, "healthy": -1, "calories": 209, - "description": "A handful of peanut butter cups... your favorite!", + "description": "A handful of peanut butter cups… your favorite!", "price": 180, "material": "junk", "volume": "250 ml", @@ -356,7 +358,7 @@ "symbol": "%", "quench": -1, "healthy": -1, - "calories": 130, + "calories": 54, "description": "This golden, translucent leaf candy is made with pure maple syrup and melt slowly as you savor the taste of real maple.", "price": 600, "material": "junk", @@ -486,7 +488,7 @@ "copy-from": "jihelucake", "stim": 8, "quench": -5, - "description": "A cake coated in the thickest icing you've ever seen. Someone has written guff in quotation marks on it...", + "description": "A cake coated in the thickest icing you've ever seen. Someone has written guff in quotation marks on it…", "fun": 20 }, { @@ -559,7 +561,7 @@ "symbol": "%", "healthy": -2, "calories": 165, - "description": "A handful of soft chocolate-covered peppermint patties... yum!", + "description": "A handful of soft chocolate-covered peppermint patties… yum!", "price": 130, "material": "junk", "volume": "250 ml", @@ -857,12 +859,13 @@ "symbol": "%", "quench": -2, "healthy": -2, - "calories": 434, + "calories": 313, "description": "Now with ONE POUND of meat and ONE POUND of carbs! Not as appetizing or nutritious as it would be if heated up.", "price": 320, "material": [ "flesh", "junk" ], "primary_material": "processed_food", "volume": "1 L", + "charges": 2, "fun": -3 }, { diff --git a/data/json/items/comestibles/meat_dishes.json b/data/json/items/comestibles/meat_dishes.json index ebff6ac7e8a7c..1fa62d681eedf 100644 --- a/data/json/items/comestibles/meat_dishes.json +++ b/data/json/items/comestibles/meat_dishes.json @@ -369,7 +369,7 @@ "symbol": "%", "quench": -2, "healthy": 1, - "calories": 49, + "calories": 121, "description": "Lutefisk is preserved fish that has been dried in a lye solution. Vile and soap-like yet highly nutritious, it is reminiscent of the afterbirth of a dog or the world's largest chunk of phlegm.", "price": 200, "material": "flesh", @@ -400,6 +400,16 @@ "fun": -8, "vitamins": [ [ "iron", 3 ] ] }, + { + "type": "COMESTIBLE", + "id": "debug_nutrition", + "copy-from": "can_spam", + "name": "holy SPAM of debugging", + "calories": 2100, + "description": "A mysterious lump of SPAM that contains just enough calories and vitamins to feed you for a day. For debug use only.", + "//": "This is used for the all_nutrient_starve_test.", + "vitamins": [ [ "vitA", 96 ], [ "vitB", 96 ], [ "vitC", 96 ], [ "calcium", 96 ], [ "iron", 96 ] ] + }, { "type": "COMESTIBLE", "id": "can_sardine", @@ -806,6 +816,7 @@ "description": "Meat slices cured in brine. Salty but tasty in a pinch.", "price": 500, "material": "flesh", + "delete": { "flags": [ "NUTRIENT_OVERRIDE" ] }, "primary_material": "cured_meat", "fun": 2 }, @@ -956,6 +967,7 @@ "healthy": 1, "description": "This is a serving of crisply brined and canned meat. Tasty and nutritious.", "price": 250, + "delete": { "flags": [ "NUTRIENT_OVERRIDE" ] }, "fun": 6 }, { @@ -972,7 +984,7 @@ "material": "flesh", "primary_material": "cured_meat", "volume": "125 ml", - "flags": [ "EDIBLE_FROZEN" ] + "flags": [ "EDIBLE_FROZEN", "NO_CRAFT_INHERIT" ] }, { "type": "COMESTIBLE", @@ -982,6 +994,7 @@ "color": "light_red", "description": "Reconstituted meat flakes, which are much more enjoyable to eat now that they have been rehydrated.", "price": 900, + "delete": { "flags": [ "NUTRIENT_OVERRIDE" ] }, "fun": 2 }, { diff --git a/data/json/items/comestibles/med.json b/data/json/items/comestibles/med.json index 7271c66145381..880a26e0de13a 100644 --- a/data/json/items/comestibles/med.json +++ b/data/json/items/comestibles/med.json @@ -56,7 +56,7 @@ "comestible_type": "MED", "name": "antibiotics", "name_plural": "antibiotics", - "description": "A prescription-strength antibacterial medication designed to prevent or stop the spread of infection. It's the quickest and most reliable way to cure any infections you might have. One dose lasts twelve hours.", + "description": "A strong antibacterial medication designed to prevent or stop the spread of infection. It's the safest way to cure any infections you might have. One dose lasts twelve hours.", "weight": "1 g", "volume": "250 ml", "price": 9000, @@ -387,6 +387,7 @@ "quench": 15, "healthy": -8, "addiction_potential": 60, + "calories": 49, "description": "A potent cocktail of amphetamines, caffeine and corn syrup, this stuff puts a spring in your step, a fire in your eye, and a bad case of tachycardia tremors in your somersaulting heart.", "price": 9000, "material": "junk", @@ -1313,7 +1314,7 @@ "comestible_type": "MED", "name": "antiseptic soaked rag", "name_plural": "antiseptic soaked rags", - "description": "A rag soaked in antiseptic. Useful for light wounds, probaby won't help with deep bites.", + "description": "A rag soaked in antiseptic. Useful for light wounds, probaby won't help with deep bites.", "weight": "80 g", "//": "Can't copy-from rag, it breaks the stacking for some reason!", "volume": "250 ml", @@ -1400,7 +1401,7 @@ "comestible_type": "MED", "name": "Panaceus", "name_plural": "Panaceii", - "description": "An apple-red gel capsule the size of your thumbnail, filled with a thick oily liquid that shifts from black to purple at unpredictable intervals, flecked with tiny gray dots. Given the place you got it from, it's either very potent, or highly experimental. Holding it, all the little aches and pains seem to fade, just for a moment...", + "description": "An apple-red gel capsule the size of your thumbnail, filled with a thick oily liquid that shifts from black to purple at unpredictable intervals, flecked with tiny gray dots. Given the place you got it from, it's either very potent, or highly experimental. Holding it, all the little aches and pains seem to fade, just for a moment…", "weight": "15 g", "volume": "5 ml", "price": 1000000, @@ -1437,5 +1438,22 @@ "move_cost": 100, "effects": [ { "id": "pkill1", "duration": 720 } ] } + }, + { + "id": "strong_antibiotic", + "type": "COMESTIBLE", + "comestible_type": "MED", + "name": "destragon", + "description": "A prescription-strength antibacterial medication designed to prevent or stop the spread of infection. It contains nearly toxic levels of antibiotics, but can treat any bacterial infections you may encounter. One dose lasts twelve hours.", + "weight": "1 g", + "volume": "250 ml", + "price": 15000, + "charges": 5, + "stack_size": 200, + "symbol": "!", + "color": "white", + "healthy": -10, + "flags": "NPC_SAFE", + "use_action": { "type": "STRONG_ANTIBIOTIC" } } ] diff --git a/data/json/items/comestibles/mutagen.json b/data/json/items/comestibles/mutagen.json index 53a5599ce0e8b..4acbce1a61769 100644 --- a/data/json/items/comestibles/mutagen.json +++ b/data/json/items/comestibles/mutagen.json @@ -28,7 +28,7 @@ "type": "COMESTIBLE", "comestible_type": "MED", "name": "abstract iv mutagen flavor", - "description": "A super-concentrated mutagen. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen. You need a syringe to inject it… if you really want to?", "price": 200000, "weight": "10 g", "volume": "10ml", @@ -56,7 +56,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "alpha serum", - "description": "A super-concentrated mutagen strongly resembling blood. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen strongly resembling blood. You need a syringe to inject it… if you really want to?", "price": 1000000, "color": "red", "healthy": -4, @@ -67,7 +67,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "beast serum", - "description": "A super-concentrated mutagen as red as a matador's cape. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen as red as a matador's cape. You need a syringe to inject it… if you really want to?", "color": "red", "use_action": { "type": "mutagen_iv", "mutation_category": "BEAST" } }, @@ -76,7 +76,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "bird serum", - "description": "A super-concentrated mutagen the color of the pre-cataclysmic skies. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen the color of the pre-cataclysmic skies. You need a syringe to inject it… if you really want to?", "color": "cyan", "use_action": { "type": "mutagen_iv", "mutation_category": "BIRD" } }, @@ -85,7 +85,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "cattle serum", - "description": "A super-concentrated mutagen the color of grass. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen the color of grass. You need a syringe to inject it… if you really want to?", "color": "light_green", "use_action": { "type": "mutagen_iv", "mutation_category": "CATTLE" } }, @@ -94,7 +94,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "cephalopod serum", - "description": "A super-concentrated mutagen as black as ink. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen as black as ink. You need a syringe to inject it… if you really want to?", "color": "dark_gray", "use_action": { "type": "mutagen_iv", "mutation_category": "CEPHALOPOD" } }, @@ -103,7 +103,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "chimera serum", - "description": "A super-concentrated mutagen that churns with iridescence. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen that churns with iridescence. You need a syringe to inject it… if you really want to?", "price": 400000, "color": "red", "healthy": -15, @@ -116,7 +116,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "elf-a serum", - "description": "A super-concentrated mutagen that's a striking sylvan green. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen that's a striking sylvan green. You need a syringe to inject it… if you really want to?", "price": 400000, "color": "light_green", "use_action": { "type": "mutagen_iv", "mutation_category": "ELFA" } @@ -126,7 +126,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "feline serum", - "description": "A super-concentrated mutagen, yellow and highly reflective. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen, yellow and highly reflective. You need a syringe to inject it… if you really want to?", "color": "yellow", "use_action": { "type": "mutagen_iv", "mutation_category": "FELINE" } }, @@ -135,7 +135,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "fish serum", - "description": "A super-concentrated mutagen the color of the ocean, with white foam at the top. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen the color of the ocean, with white foam at the top. You need a syringe to inject it… if you really want to?", "color": "light_blue", "use_action": { "type": "mutagen_iv", "mutation_category": "FISH" } }, @@ -144,7 +144,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "insect serum", - "description": "A super-concentrated mutagen that's a beautiful amber color. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen that's a beautiful amber color. You need a syringe to inject it… if you really want to?", "color": "yellow", "use_action": { "type": "mutagen_iv", "mutation_category": "INSECT" } }, @@ -153,7 +153,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "lizard serum", - "description": "A super-concentrated mutagen that shifts between various shades of green. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen that shifts between various shades of green. You need a syringe to inject it… if you really want to?", "color": "light_green", "use_action": { "type": "mutagen_iv", "mutation_category": "LIZARD" } }, @@ -162,7 +162,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "lupine serum", - "description": "A super-concentrated mutagen as white as a full moon. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen as white as a full moon. You need a syringe to inject it… if you really want to?", "color": "white", "use_action": { "type": "mutagen_iv", "mutation_category": "LUPINE" } }, @@ -171,7 +171,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "medical serum", - "description": "A super-concentrated mutagen that looks like a mixture of bodily fluids. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen that looks like a mixture of bodily fluids. You need a syringe to inject it… if you really want to?", "price": 300000, "color": "light_red", "healthy": -4, @@ -182,7 +182,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "plant serum", - "description": "A super-concentrated mutagen that looks like pureed spinach. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen that looks like pureed spinach. You need a syringe to inject it… if you really want to?", "color": "green", "use_action": { "type": "mutagen_iv", "mutation_category": "PLANT" } }, @@ -191,7 +191,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "raptor serum", - "description": "A super-concentrated mutagen that seems to shift slightly whenever you look at it. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen that seems to shift slightly whenever you look at it. You need a syringe to inject it… if you really want to?", "price": 400000, "color": "green", "use_action": { "type": "mutagen_iv", "mutation_category": "RAPTOR" } @@ -201,7 +201,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "rat serum", - "description": "A super-concentrated mutagen that's a rather unappealing beige. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen that's a rather unappealing beige. You need a syringe to inject it… if you really want to?", "color": "brown", "use_action": { "type": "mutagen_iv", "mutation_category": "RAT" } }, @@ -210,7 +210,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "slime serum", - "description": "A super-concentrated mutagen that looks very much like the black ooze in the zombies' eyes. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen that looks very much like the black ooze in the zombies' eyes. You need a syringe to inject it… if you really want to?", "color": "dark_gray", "use_action": { "type": "mutagen_iv", "mutation_category": "SLIME" } }, @@ -219,7 +219,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "spider serum", - "description": "A super-concentrated mutagen with pale filaments suspended in it. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen with pale filaments suspended in it. You need a syringe to inject it… if you really want to?", "color": "light_gray", "use_action": { "type": "mutagen_iv", "mutation_category": "SPIDER" } }, @@ -228,7 +228,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "troglobite serum", - "description": "A super-concentrated mutagen that seems to recoil from the light. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen that seems to recoil from the light. You need a syringe to inject it… if you really want to?", "color": "dark_gray", "use_action": { "type": "mutagen_iv", "mutation_category": "TROGLOBITE" } }, @@ -237,7 +237,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "ursine serum", - "description": "A super-concentrated mutagen that's the color of honey, and is just as thick. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen that's the color of honey, and is just as thick. You need a syringe to inject it… if you really want to?", "color": "yellow", "use_action": { "type": "mutagen_iv", "mutation_category": "URSINE" } }, @@ -246,7 +246,7 @@ "copy-from": "iv_mutagen_flavor", "type": "COMESTIBLE", "name": "mouse serum", - "description": "A super-concentrated mutagen resembling liquefied metal. You need a syringe to inject it... if you really want to?", + "description": "A super-concentrated mutagen resembling liquefied metal. You need a syringe to inject it… if you really want to?", "color": "light_gray", "use_action": { "type": "mutagen_iv", "mutation_category": "MOUSE" } }, @@ -263,7 +263,7 @@ "copy-from": "mutagen", "type": "COMESTIBLE", "name": "congealed blood", - "description": "A thick, soupy red liquid. It looks and smells disgusting, and seems to bubble with an intelligence of its own...", + "description": "A thick, soupy red liquid. It looks and smells disgusting, and seems to bubble with an intelligence of its own…", "color": "red", "addiction_potential": 0, "charges": 5, diff --git a/data/json/items/comestibles/nuts.json b/data/json/items/comestibles/nuts.json index 73c921678a380..0e5c2e277e5c2 100644 --- a/data/json/items/comestibles/nuts.json +++ b/data/json/items/comestibles/nuts.json @@ -2,8 +2,7 @@ { "type": "COMESTIBLE", "id": "pine_nuts", - "name": "handful of pine nuts", - "name_plural": "handfuls of pine nuts", + "name": { "str": "pine nuts", "str_pl": "pine nuts" }, "weight": "30 g", "color": "brown", "spoils_in": 1080, @@ -25,8 +24,7 @@ { "type": "COMESTIBLE", "id": "juniper", - "name": "handful of junipers", - "name_plural": "handful of junipers", + "name": { "str": "junipers", "str_pl": "junipers" }, "weight": "122 g", "color": "blue", "comestible_type": "FOOD", @@ -44,8 +42,7 @@ { "type": "COMESTIBLE", "id": "pistachio_unshelled", - "name": "handful of shelled pistachios", - "name_plural": "handfuls of shelled pistachios", + "name": { "str": "shelled pistachios", "str_pl": "shelled pistachios" }, "weight": "30 g", "color": "green", "spoils_in": "90 days", @@ -67,8 +64,7 @@ { "type": "COMESTIBLE", "id": "pistachio_roasted", - "name": "handful of roasted pistachios", - "name_plural": "handfuls of roasted pistachios", + "name": { "str": "roasted pistachios", "str_pl": "roasted pistachios" }, "copy-from": "pistachio_unshelled", "healthy": 2, "description": "A handful of roasted nuts from an pistachio tree.", @@ -79,8 +75,7 @@ { "type": "COMESTIBLE", "id": "almond_unshelled", - "name": "handful of shelled almonds", - "name_plural": "handfuls of shelled almonds", + "name": { "str": "shelled almonds", "str_pl": "shelled almonds" }, "weight": "30 g", "color": "brown", "spoils_in": "300 days", @@ -99,11 +94,29 @@ "charges": 4, "fun": 1 }, + { + "type": "COMESTIBLE", + "id": "almond_pulp", + "name": "almond pulp", + "name_plural": "almond pulp", + "looks_like": "granola", + "weight": "30 g", + "color": "brown", + "spoils_in": "300 days", + "comestible_type": "FOOD", + "symbol": "%", + "calories": 184, + "description": "Pulp left over after making almond milk. It's gritty and incredibly bland.", + "price": 10, + "material": "nut", + "volume": "125 ml", + "flags": [ "EDIBLE_FROZEN" ], + "fun": -8 + }, { "type": "COMESTIBLE", "id": "almond_roasted", - "name": "handful of roasted almonds", - "name_plural": "handfuls of roasted almonds", + "name": { "str": "roasted almonds", "str_pl": "roasted almonds" }, "copy-from": "almond_unshelled", "healthy": 2, "description": "A handful of roasted nuts from an almond tree.", @@ -114,8 +127,7 @@ { "type": "COMESTIBLE", "id": "cashews", - "name": "handful of cashews", - "name_plural": "handfuls of cashews", + "name": { "str": "cashews", "str_pl": "cashews" }, "weight": "30 g", "color": "brown", "spoils_in": "240 days", @@ -137,8 +149,7 @@ { "type": "COMESTIBLE", "id": "pecan_unshelled", - "name": "handful of shelled pecans", - "name_plural": "handfuls of shelled pecans", + "name": { "str": "shelled pecans", "str_pl": "shelled pecans" }, "weight": "30 g", "color": "brown", "spoils_in": "180 days", @@ -160,8 +171,7 @@ { "type": "COMESTIBLE", "id": "pecan_roasted", - "name": "handful of roasted pecans", - "name_plural": "handfuls of roasted pecans", + "name": { "str": "roasted pecans", "str_pl": "roasted pecans" }, "copy-from": "pecan_unshelled", "description": "A handful of roasted nuts from a pecan tree.", "price": 150, @@ -171,8 +181,7 @@ { "type": "COMESTIBLE", "id": "peanut_unshelled", - "name": "handful of shelled peanuts", - "name_plural": "handful of shelled peanuts", + "name": { "str": "shelled peanuts", "str_pl": "shelled peanuts" }, "weight": "30 g", "color": "brown", "spoils_in": "240 days", @@ -194,8 +203,7 @@ { "type": "COMESTIBLE", "id": "beech_nuts", - "name": "handful of beech nuts", - "name_plural": "handfuls of beech nuts", + "name": { "str": "beech nuts", "str_pl": "beech nuts" }, "weight": "30 g", "color": "brown", "spoils_in": "90 days", @@ -215,8 +223,7 @@ { "type": "COMESTIBLE", "id": "walnut_unshelled", - "name": "handful of shelled walnuts", - "name_plural": "handfuls of shelled walnuts", + "name": { "str": "shelled walnuts", "str_pl": "shelled walnuts" }, "weight": "30 g", "color": "brown", "spoils_in": "180 days", @@ -237,8 +244,7 @@ { "type": "COMESTIBLE", "id": "walnut_roasted", - "name": "handful of roasted walnuts", - "name_plural": "handfuls of roasted walnuts", + "name": { "str": "roasted walnuts", "str_pl": "roasted walnuts" }, "copy-from": "walnut_unshelled", "healthy": 1, "description": "A handful of roasted nuts from a walnut tree.", @@ -249,8 +255,7 @@ { "type": "COMESTIBLE", "id": "chestnut_unshelled", - "name": "handful of shelled chestnuts", - "name_plural": "handfuls of shelled chestnuts", + "name": { "str": "shelled chestnuts", "str_pl": "shelled chestnuts" }, "weight": "30 g", "color": "brown", "spoils_in": "180 days", @@ -271,8 +276,7 @@ { "type": "COMESTIBLE", "id": "chestnut_roasted", - "name": "handful of roasted chestnuts", - "name_plural": "handfuls of roasted chestnuts", + "name": { "str": "roasted chestnuts", "str_pl": "roasted chestnuts" }, "copy-from": "chestnut_unshelled", "healthy": 1, "description": "A handful of roasted nuts from a chestnut tree.", @@ -283,8 +287,7 @@ { "type": "COMESTIBLE", "id": "hazelnut_unshelled", - "name": "handful of shelled hazelnuts", - "name_plural": "handfuls of shelled hazelnuts", + "name": { "str": "shelled hazelnuts", "str_pl": "shelled hazelnuts" }, "weight": "30 g", "color": "brown", "spoils_in": "150 days", @@ -305,8 +308,7 @@ { "type": "COMESTIBLE", "id": "edamame_roasted", - "name": "handful of roasted edamame", - "name_plural": "handful of roasted edamame", + "name": { "str": "roasted edamame", "str_pl": "roasted edamame" }, "weight": "30 g", "color": "brown", "spoils_in": "240 days", @@ -327,8 +329,7 @@ { "type": "COMESTIBLE", "id": "soy_nuts", - "name": "handful of roasted soy nuts", - "name_plural": "handful of roasted soy nuts", + "name": { "str": "roasted soy nuts", "str_pl": "roasted soy nuts" }, "weight": "30 g", "color": "brown", "spoils_in": "240 days", @@ -349,8 +350,7 @@ { "type": "COMESTIBLE", "id": "hazelnut_roasted", - "name": "handful of roasted hazelnuts", - "name_plural": "handfuls of roasted hazelnuts", + "name": { "str": "roasted hazelnuts", "str_pl": "roasted hazelnuts" }, "copy-from": "hazelnut_unshelled", "healthy": 1, "description": "A handful of roasted nuts from a hazelnut tree.", @@ -361,8 +361,7 @@ { "type": "COMESTIBLE", "id": "hickory_nut_unshelled", - "name": "handful of shelled hickory nuts", - "name_plural": "handfuls of shelled hickory nuts", + "name": { "str": "shelled hickory nuts", "str_pl": "shelled hickory nuts" }, "weight": "30 g", "color": "brown", "spoils_in": "180 days", @@ -383,8 +382,7 @@ { "type": "COMESTIBLE", "id": "hickory_nut_roasted", - "name": "handful of roasted hickory nuts", - "name_plural": "handfuls of roasted hickory nuts", + "name": { "str": "roasted hickory nuts", "str_pl": "roasted hickory nuts" }, "copy-from": "hickory_nut_unshelled", "healthy": 1, "description": "A handful of roasted nuts from a hickory tree.", @@ -417,8 +415,7 @@ { "type": "COMESTIBLE", "id": "acorns", - "name": "handful of acorns", - "name_plural": "handfuls of acorns", + "name": { "str": "acorns", "str_pl": "acorns" }, "weight": "30 g", "color": "brown", "spoils_in": "240 days", @@ -440,8 +437,7 @@ { "type": "COMESTIBLE", "id": "acorn_roasted", - "name": "handful of roasted acorns", - "name_plural": "handfuls of roasted acorns", + "name": { "str": "roasted acorns", "str_pl": "roasted acorns" }, "copy-from": "acorns", "healthy": 1, "description": "A handful roasted nuts from an oak tree.", diff --git a/data/json/items/comestibles/offal_dishes.json b/data/json/items/comestibles/offal_dishes.json index ec3376ac6fb3e..e2ce88b2aef52 100644 --- a/data/json/items/comestibles/offal_dishes.json +++ b/data/json/items/comestibles/offal_dishes.json @@ -34,9 +34,8 @@ "color": "brown", "weight": "206 g", "volume": "250 ml", - "charges": 2, "spoils_in": "1 day", - "calories": 327, + "calories": 398, "healthy": 2, "quench": -3, "flags": [ "EATEN_HOT", "FREEZERBURN" ], diff --git a/data/json/items/comestibles/other.json b/data/json/items/comestibles/other.json index b51a3f24a00c1..31ab474f86f18 100644 --- a/data/json/items/comestibles/other.json +++ b/data/json/items/comestibles/other.json @@ -81,7 +81,7 @@ "price": 20000, "//": "Didn't precisely exist pre-cataclysm, so tough to price.", "volume": "250 ml", - "flags": [ "EDIBLE_FROZEN" ], + "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE" ], "fun": 7 }, { @@ -195,6 +195,7 @@ "comestible_type": "FOOD", "symbol": "%", "description": "This is a grayish bone meal made from rotten bones.", + "calories": 4, "price": 0, "material": "powder", "volume": "250 ml", @@ -217,7 +218,7 @@ "price": 25, "material": "powder", "volume": "250 ml", - "flags": [ "EDIBLE_FROZEN" ], + "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE" ], "charges": 4, "fun": -10 }, @@ -230,7 +231,6 @@ "color": "white", "comestible_type": "FOOD", "symbol": "`", - "calories": 9, "description": "A piece of paper. Can be used for fires.", "price": 0, "material": "paper", @@ -468,6 +468,7 @@ "name_plural": "Kentucky coffee grounds", "container": "bag_plastic", "description": "Coffee grounds created through washing, cleaning, and roasting the pods from a Kentucky coffeetree. They can be used to create coffee.", + "flags": [ "EDIBLE_FROZEN", "NUTRIENT_OVERRIDE", "NO_CRAFT_INHERIT" ], "charges": 5, "stack_size": 20 }, @@ -496,7 +497,7 @@ "id": "can_tomato", "name": "canned tomato", "name_plural": "canned tomatoes", - "weight": "256 g", + "weight": "128 g", "color": "red", "spoils_in": "3 days 18 hours", "container": "can_food", @@ -504,7 +505,7 @@ "symbol": "%", "quench": 3, "healthy": 1, - "calories": 82, + "calories": 41, "description": "Canned tomato. A staple in many pantries, and useful for many recipes.", "price": 350, "material": "tomato", diff --git a/data/json/items/comestibles/protein.json b/data/json/items/comestibles/protein.json index 6b445c4f18969..26955af51a78c 100644 --- a/data/json/items/comestibles/protein.json +++ b/data/json/items/comestibles/protein.json @@ -13,8 +13,7 @@ "id": "hflesh_powder", "copy-from": "protein_powder", "type": "COMESTIBLE", - "name": "soylent green powder", - "name_plural": "servings of soylent green powder", + "name": { "str": "soylent green powder", "str_pl": "soylent green powder" }, "description": "Raw, refined protein made out of people! While quite nutritious, it is impossible to enjoy in its pure form, try adding water.", "material": [ "powder", "hflesh" ] }, @@ -59,8 +58,7 @@ "id": "protein_powder", "type": "COMESTIBLE", "comestible_type": "FOOD", - "name": "protein powder", - "name_plural": "servings of protein powder", + "name": { "str": "protein powder", "str_pl": "protein powder" }, "description": "Raw, refined protein. While quite nutritious, it is impossible to enjoy in its pure form, try adding water.", "//": "1 g of protein powder is 0.959 ml, 1 serving is 28g and 27ml", "weight": "28 g", diff --git a/data/json/items/comestibles/raw_fruit.json b/data/json/items/comestibles/raw_fruit.json index 139d4139992a8..c9efd13837d8c 100644 --- a/data/json/items/comestibles/raw_fruit.json +++ b/data/json/items/comestibles/raw_fruit.json @@ -85,8 +85,7 @@ { "type": "COMESTIBLE", "id": "blueberries", - "name": "handful of blueberries", - "name_plural": "handful of blueberries", + "name": { "str": "blueberries", "str_pl": "blueberries" }, "weight": "156 g", "color": "blue", "spoils_in": "2 days 12 hours", @@ -107,8 +106,7 @@ { "type": "COMESTIBLE", "id": "strawberries", - "name": "handful of strawberries", - "name_plural": "handful of strawberries", + "name": { "str": "strawberries", "str_pl": "strawberries" }, "weight": "144 g", "color": "red", "spoils_in": "2 days 12 hours", @@ -129,8 +127,7 @@ { "type": "COMESTIBLE", "id": "cranberries", - "name": "handful of cranberries", - "name_plural": "handful of cranberries", + "name": { "str": "cranberries", "str_pl": "cranberries" }, "weight": "116 g", "color": "red", "spoils_in": 640, @@ -151,8 +148,7 @@ { "type": "COMESTIBLE", "id": "raspberries", - "name": "handful of raspberries", - "name_plural": "handful of raspberries", + "name": { "str": "raspberries", "str_pl": "raspberries" }, "weight": "148 g", "color": "red", "spoils_in": "2 days 12 hours", @@ -173,8 +169,7 @@ { "type": "COMESTIBLE", "id": "huckleberries", - "name": "handful of huckleberries", - "name_plural": "handful of huckleberries", + "name": { "str": "huckleberries", "str_pl": "huckleberries" }, "weight": "150 g", "color": "blue", "spoils_in": "2 days 12 hours", @@ -195,8 +190,7 @@ { "type": "COMESTIBLE", "id": "mulberries", - "name": "handful of mulberries", - "name_plural": "handful of mulberries", + "name": { "str": "mulberries", "str_pl": "mulberries" }, "weight": "148 g", "color": "red", "spoils_in": "2 days 12 hours", @@ -217,8 +211,7 @@ { "type": "COMESTIBLE", "id": "elderberries", - "name": "handful of elderberries", - "name_plural": "handful of elderberries", + "name": { "str": "elderberries", "str_pl": "elderberries" }, "weight": "153 g", "color": "red", "spoils_in": "2 days 12 hours", @@ -239,8 +232,7 @@ { "type": "COMESTIBLE", "id": "rose_hips", - "name": "handful of rose hips", - "name_plural": "handful of rose hips", + "name": { "str": "rose hips", "str_pl": "rose hips" }, "weight": "134 g", "color": "red", "spoils_in": "2 days 12 hours", @@ -324,8 +316,7 @@ { "type": "COMESTIBLE", "id": "cherries", - "name": "handful of cherries", - "name_plural": "handful of cherries", + "name": { "str": "cherries", "str_pl": "cherries" }, "weight": "146 g", "color": "red", "spoils_in": "2 days 12 hours", @@ -367,8 +358,7 @@ { "type": "COMESTIBLE", "id": "grapes", - "name": "handful of grapes", - "name_plural": "handful of grapes", + "name": { "str": "grapes", "str_pl": "grapes" }, "weight": "97 g", "color": "light_green", "spoils_in": "5 days", @@ -502,8 +492,7 @@ { "type": "COMESTIBLE", "id": "blackberries", - "name": "handful of blackberries", - "name_plural": "handful of blackberries", + "name": { "str": "blackberries", "str_pl": "blackberries" }, "weight": "166 g", "color": "blue", "spoils_in": "2 days 12 hours", @@ -612,8 +601,7 @@ { "type": "COMESTIBLE", "id": "apricot", - "name": "handful of apricots", - "name_plural": "handful of apricots", + "name": { "str": "apricots", "str_pl": "apricots" }, "//": "a handful of apricots is about 4.6 apricots", "weight": "164 g", "color": "yellow", @@ -632,6 +620,27 @@ "smoking_result": "dry_fruit", "vitamins": [ [ "vitA", 17 ], [ "vitC", 18 ], [ "calcium", 2 ], [ "iron", 4 ] ] }, + { + "type": "COMESTIBLE", + "id": "cholla_bud", + "name": "cholla bud", + "weight": "92 g", + "color": "red", + "spoils_in": "6 days 16 hours", + "comestible_type": "FOOD", + "symbol": "%", + "quench": 6, + "healthy": 2, + "calories": 62, + "description": "Edible bud of a cholla cactus, with spines removed; the candy of the Mojave indigenous peoples. Tastes similar to asparagus.", + "price": 900, + "material": "fruit", + "volume": "175 ml", + "fun": 6, + "flags": [ "FREEZERBURN", "SMOKABLE" ], + "smoking_result": "dry_fruit", + "vitamins": [ [ "vitA", 2 ], [ "vitC", 18 ], [ "iron", 1 ] ] + }, { "type": "COMESTIBLE", "id": "cactus_pad", diff --git a/data/json/items/comestibles/raw_veggy.json b/data/json/items/comestibles/raw_veggy.json index 35c59677a353f..ce522cb5332e0 100644 --- a/data/json/items/comestibles/raw_veggy.json +++ b/data/json/items/comestibles/raw_veggy.json @@ -193,7 +193,7 @@ "description": "Neither tasty nor very nutritious, but it goes well with salad.", "price": 200, "material": "veggy", - "volume": "250 ml", + "volume": "1000 ml", "flags": [ "FREEZERBURN", "SMOKABLE" ], "smoking_result": "dry_veggy", "vitamins": [ [ "vitA", 3 ], [ "vitC", 4 ], [ "calcium", 4 ], [ "iron", 1 ] ] @@ -299,8 +299,7 @@ { "type": "COMESTIBLE", "id": "salsify_raw", - "name": "salsify", - "name_plural": "handfuls of salsify", + "name": { "str": "salsify", "str_pl": "salsify" }, "weight": "133 g", "color": "green", "spoils_in": "30 days", @@ -320,8 +319,7 @@ { "type": "COMESTIBLE", "id": "chicory_raw", - "name": "chicory", - "name_plural": "handfuls of chicory", + "name": { "str": "chicory", "str_pl": "chicory" }, "weight": "60 g", "color": "cyan", "spoils_in": "30 days", @@ -492,13 +490,14 @@ "id": "potato", "name": "raw potato", "name_plural": "raw potatoes", + "cooks_like": "potato_baked", "weight": "210 g", "color": "brown", "spoils_in": "60 days", "comestible_type": "FOOD", "symbol": "%", "healthy": -2, - "calories": 162, + "calories": 121, "description": "Mildly toxic and not very tasty raw. When cooked, it is delicious.", "price": 90, "material": "veggy", @@ -534,8 +533,7 @@ { "type": "COMESTIBLE", "id": "raw_dandelion", - "name": "handful of dandelions", - "name_plural": "handfuls of dandelions", + "name": { "str": "dandelions", "str_pl": "dandelions" }, "weight": "58 g", "color": "yellow", "spoils_in": "1 day 6 hours", @@ -621,14 +619,14 @@ "id": "tomato", "name": "tomato", "name_plural": "tomatoes", - "weight": "212 g", + "weight": "231 g", "color": "red", "spoils_in": "3 days 18 hours", "comestible_type": "FOOD", "symbol": "%", "quench": 28, "healthy": 1, - "calories": 32, + "calories": 41, "description": "Juicy red tomato. It gained popularity in Italy after being brought back from the New World.", "price": 90, "material": "tomato", @@ -762,8 +760,7 @@ { "type": "COMESTIBLE", "id": "fiddlehead_raw", - "name": "handful of fiddleheads", - "name_plural": "handfuls of fiddleheads", + "name": { "str": "fiddleheads", "str_pl": "fiddleheads" }, "weight": "50 g", "flags": [ "FREEZERBURN" ], "color": "light_green", diff --git a/data/json/items/comestibles/seed.json b/data/json/items/comestibles/seed.json index a4d9be0196ce8..1404d3fd2169a 100644 --- a/data/json/items/comestibles/seed.json +++ b/data/json/items/comestibles/seed.json @@ -753,6 +753,7 @@ "charges": 4, "fun": -10, "flags": [ "HIDDEN_POISON" ], + "use_action": "POISON", "//": "USDA states that the pods of the Kentucky coffeetree contain a toxic alkaloid broken down in the roasting process, so they're poisonous" }, { diff --git a/data/json/items/comestibles/veggy_dishes.json b/data/json/items/comestibles/veggy_dishes.json index f1ef9b954c92e..e744c3679d430 100644 --- a/data/json/items/comestibles/veggy_dishes.json +++ b/data/json/items/comestibles/veggy_dishes.json @@ -314,18 +314,18 @@ "id": "potato_baked", "name": "baked potato", "name_plural": "baked potatoes", - "weight": "241 g", + "weight": "170 g", "color": "brown", "spoils_in": "2 days", "comestible_type": "FOOD", "symbol": "%", "healthy": 1, - "calories": 359, + "calories": 162, "description": "A delicious baked potato. Got any sour cream?", "price": 150, "material": "veggy", "volume": "250 ml", - "flags": [ "EATEN_HOT" ], + "flags": [ "EATEN_HOT", "NUTRIENT_OVERRIDE" ], "fun": 3, "vitamins": [ [ "vitA", 1 ], [ "vitC", 9 ], [ "calcium", 13 ], [ "iron", 8 ] ] }, @@ -492,7 +492,7 @@ "symbol": "%", "quench": 5, "healthy": 1, - "calories": 111, + "calories": 230, "description": "This is a delicious sautee of lovely diced onions and sauerkraut. The smell alone is enough to make your mouth water.", "price": 500, "material": "veggy", diff --git a/data/json/items/comestibles/wheat.json b/data/json/items/comestibles/wheat.json index b2b5de4da92d8..322cbf78db5a6 100644 --- a/data/json/items/comestibles/wheat.json +++ b/data/json/items/comestibles/wheat.json @@ -54,7 +54,7 @@ "comestible_type": "FOOD", "symbol": "%", "calories": 222, - "description": "A type of pasta usually used when preparing spaghetti. It could be eaten raw if you're desperate, but is much better cooked.", + "description": "A type of pasta usually used when preparing spaghetti. It could be eaten raw if you're desperate, but is much better cooked.", "price": 120, "material": "wheat", "volume": "62 ml", @@ -74,7 +74,7 @@ "comestible_type": "FOOD", "symbol": "%", "calories": 222, - "description": "A pasta sheet used in making lasagne. It could be eaten raw if you're desperate, but is much better cooked.", + "description": "A pasta sheet used in making lasagne. It could be eaten raw if you're desperate, but is much better cooked.", "price": 120, "material": "wheat", "volume": "62 ml", diff --git a/data/json/items/containers.json b/data/json/items/containers.json index 11efe4121c85a..a386b62ec941f 100644 --- a/data/json/items/containers.json +++ b/data/json/items/containers.json @@ -2,7 +2,7 @@ { "id": "2lcanteen", "type": "CONTAINER", - "category": "clothing", + "category": "container", "name": "2.5L canteen", "description": "A large plastic water canteen, with a 2.5 liter capacity and carrying strap.", "weight": "155 g", @@ -22,7 +22,7 @@ { "id": "30gal_barrel", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "30 gallon barrel", "description": "A huge plastic barrel with a resealable lid.", "weight": "6800 g", @@ -41,7 +41,7 @@ { "id": "30gal_drum", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "steel drum (100L)", "name_plural": "steel drums (100L)", "description": "A huge steel barrel with a resealable lid.", @@ -61,7 +61,7 @@ { "id": "55gal_drum", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "steel drum (200L)", "name_plural": "steel drums (200L)", "description": "A massive steel barrel with a resealable lid.", @@ -81,7 +81,7 @@ { "id": "bag_canvas", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "canvas sack", "description": "A large and sturdy canvas sack. Smells faintly of earth and hard work.", "weight": "415 g", @@ -98,7 +98,7 @@ { "id": "bag_canvas_small", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "canvas bag", "description": "Small bag made of canvas. Looks fine to store dried herbs in.", "weight": "5 g", @@ -115,10 +115,10 @@ { "id": "bag_plastic", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "plastic bag", "description": "A small, open plastic bag. Essentially trash.", - "weight": "2 g", + "weight": "5 g", "volume": 0, "price": 0, "to_hit": -1, @@ -132,7 +132,7 @@ { "id": "bag_zipper", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "zipper bag", "looks_like": "bag_plastic", "description": "An inexpensive flexible rectangular storage bag on its typical small size. Transparent and made of plastic, it can be sealed and opened by a slider which works in a similar way to a zip fastener.", @@ -150,7 +150,7 @@ { "id": "bag_body_bag", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "body bag", "looks_like": "bag_canvas", "description": "A large, human size, rectangular bag made of strong plastic, with a zipper in the middle. Used to hold a dead body.", @@ -168,7 +168,7 @@ { "id": "bottle_glass", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "glass bottle", "description": "A resealable glass bottle, holds 750 ml of liquid.", "weight": "200 g", @@ -187,7 +187,7 @@ { "id": "bottle_plastic", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "plastic bottle", "description": "A resealable plastic bottle, holds 500 ml of liquid.", "weight": "13 g", @@ -204,7 +204,7 @@ { "id": "bottle_plastic_small", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "small plastic bottle", "description": "A resealable plastic bottle, holds 250 ml of liquid.", "weight": "7 g", @@ -221,7 +221,7 @@ { "id": "bottle_twoliter", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "large plastic bottle", "description": "It's a two-liter plastic bottle that can hold a lot of soda, or, nowadays, boiled water.", "weight": "13 g", @@ -238,7 +238,7 @@ { "id": "bowl_clay", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "clay bowl", "description": "A clay bowl with a waterproofed hide lid. Can be used as a container or as a tool. Holds 250 ml of liquid.", "weight": "60 g", @@ -256,7 +256,7 @@ { "id": "box_cigarette", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "pack", "name_plural": "packs", "description": "SURGEON GENERAL'S WARNING: Smoking Causes Lung Cancer, Heart Disease, Emphysema And May Complicate Pregnancy.", @@ -271,7 +271,7 @@ { "id": "box_small", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "small cardboard box", "name_plural": "small cardboard boxes", "description": "A small cardboard box. No bigger than a foot in dimension.", @@ -286,7 +286,7 @@ { "id": "box_medium", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "cardboard box", "name_plural": "cardboard boxes", "description": "A sturdy cardboard box, about the size of a banana box. Great for packing.", @@ -302,7 +302,7 @@ { "id": "box_large", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "large cardboard box", "name_plural": "large cardboard boxes", "description": "A very large cardboard box, the sort children would have loved to hide in, when there were still children.", @@ -319,7 +319,7 @@ { "id": "bucket", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "bucket", "name_plural": "buckets", "description": "A galvanized bucket for peanuts, chilled wine, iced beer, lobster, crab legs, French fries, animal feed, farm use, tailgating, crafts, planting flowers, holding gift baskets, containing a fruit basket and herbs, loose item storage or as an ice bucket.", @@ -336,7 +336,7 @@ { "id": "camelbak", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "hydration pack", "description": "A slim and lightweight insulated plastic bladder worn on the back. It has a large pocket and a capped mouth for filling with liquid with a hose that allows the wearer to drink hands-free.", "weight": "286 g", @@ -356,7 +356,7 @@ { "id": "can_drink", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "aluminum can", "description": "An aluminum can, like what soda comes in.", "weight": "13 g", @@ -387,9 +387,9 @@ { "id": "carton_sealed", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "paper carton", - "description": "A half gallon carton constructed of a paper, aluminum and plastic laminate. It has a threaded cap for easy resealing.", + "description": "A half gallon carton constructed of a paper, aluminum and plastic laminate. It has a threaded cap for easy resealing.", "weight": "28 g", "volume": "2 L", "price": 0, @@ -407,7 +407,7 @@ "copy-from": "carton_sealed", "type": "CONTAINER", "name": "opened paper carton", - "description": "A half gallon carton constructed of a paper, aluminum and plastic laminate. This one is open and its contents will spoil.", + "description": "A half gallon carton constructed of a paper, aluminum and plastic laminate. This one is open and its contents will spoil.", "symbol": ")", "color": "light_blue", "preserves": false, @@ -419,7 +419,7 @@ { "id": "plastic_bag_vac", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "vacuum-packed bag", "description": "This is a bag of vacuum-packed food.", "weight": "2 g", @@ -437,7 +437,7 @@ { "id": "can_food", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "tin can", "description": "A tin can, like what beans come in.", "weight": "40 g", @@ -466,7 +466,7 @@ { "id": "canteen", "type": "CONTAINER", - "category": "clothing", + "category": "container", "name": "plastic canteen", "description": "A military-style water canteen with a 1.5 liter capacity. Commonly worn at the hip.", "weight": "155 g", @@ -485,7 +485,7 @@ { "id": "thermos", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "thermos", "name_plural": "thermoses", "description": "A Thermos brand vacuum flask. Built for temperature retention, helps keep things hot or cold. Contains 1L of liquid.", @@ -503,7 +503,7 @@ { "id": "clay_canister", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "clay canister", "description": "A fragile clay vessel. It can be used to make crude impact grenades or to store liquid.", "weight": "268 g", @@ -521,7 +521,7 @@ { "id": "clay_hydria", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "clay hydria", "description": "A 15-liter clay pot with three handles for carrying and for pouring.", "weight": "1955 g", @@ -540,7 +540,7 @@ { "id": "clay_watercont", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "large clay pot", "description": "A bulky and heavy clay pot with a waterproofed hide lid, meant to store water, but can carry other liquids in a pinch.", "weight": "4887 g", @@ -558,7 +558,7 @@ { "id": "cup_plastic", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "plastic cup", "description": "A small, vacuum formed cup.", "weight": "6 g", @@ -586,7 +586,7 @@ { "id": "flask_glass", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "glass flask", "description": "A 250 ml laboratory conical flask, with a rubber bung.", "weight": "48 g", @@ -605,7 +605,7 @@ { "id": "test_tube", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "test tube", "description": "A 10ml laboratory cylindrical test tube, with a rubber stopper.", "weight": "36 g", @@ -624,7 +624,7 @@ { "id": "beaker", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "beaker", "description": "A 250ml laboratory beaker. Basically a cup with delusions of grandeur.", "weight": "150 g", @@ -642,7 +642,7 @@ { "id": "gradcylinder", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "graduated cylinder", "description": "A tall, narrow glass cylinder with precise markings for measuring fluid quantities. An important science tool, it is also useful for anal retentive chefs.", "weight": "150 g", @@ -660,7 +660,7 @@ { "id": "test_tube_micro", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "microcentrifuge tube", "description": "These plastic tubes, with little built in snap-caps, are a great way to store a tiny amount of liquid. Great for jello shooters if 1mL is enough for a shot for you. Cool people call these \"eppies\".", "weight": "1 g", @@ -678,7 +678,7 @@ { "id": "flask_hip", "type": "CONTAINER", - "category": "clothing", + "category": "container", "name": "hip flask", "description": "A 250 ml metal flask with a hinged screw-on lid, commonly used to discreetly transport alcohol.", "weight": "120 g", @@ -699,6 +699,7 @@ { "id": "jar_3l_glass", "type": "CONTAINER", + "category": "container", "name": "3L glass jar", "description": "A three-liter glass jar with a metal screw top lid, used for canning.", "weight": "365 g", @@ -718,7 +719,6 @@ "id": "jar_3l_glass_sealed", "copy-from": "jar_3l_glass", "type": "CONTAINER", - "category": "other", "name": "sealed 3L glass jar", "description": "A three-liter glass jar with a metal screw top lid, used for canning. Sealed tightly to preserve contents from rot.", "symbol": ")", @@ -730,7 +730,7 @@ { "id": "jar_glass", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "glass jar", "description": "A half-liter glass jar with a metal screw top lid, used for canning.", "weight": "150 g", @@ -761,7 +761,7 @@ { "id": "jerrycan", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "plastic jerrycan", "description": "A bulky plastic jerrycan, meant to carry fuel, but can carry other liquids in a pinch.", "weight": "1587 g", @@ -778,7 +778,7 @@ { "id": "jerrycan_big", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "steel jerrycan", "description": "A steel jerrycan, meant to carry fuel, but can carry other liquids in a pinch.", "weight": "4815 g", @@ -797,7 +797,7 @@ { "id": "jug_clay", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "clay jug", "description": "A clay container with a lid, used to hold and pour liquids.", "weight": "400 g", @@ -815,7 +815,7 @@ { "id": "jug_plastic", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "gallon jug", "description": "A standard plastic jug used for milk and household cleaning chemicals.", "weight": "190 g", @@ -832,7 +832,7 @@ { "id": "keg", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "aluminum keg", "description": "A reusable lightweight aluminum keg, used for shipping beer. It has a capacity of 50 liters.", "weight": "5040 g", @@ -851,7 +851,7 @@ { "id": "keg_steel", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "steel keg", "description": "A reusable heavy steel keg, used for shipping beer. It has a capacity of 50 liters.", "weight": "12600 g", @@ -870,7 +870,7 @@ { "id": "large_stomach_sealed", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "large sealed stomach", "description": "The stomach of a large creature, cleaned and sealed with strings. It can hold 3 liters of water.", "weight": "783 g", @@ -889,7 +889,7 @@ { "id": "metal_tank", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "metal tank (60L)", "name_plural": "metal tanks (60L)", "description": "A large metal tank for holding liquids. Useful for crafting.", @@ -909,7 +909,7 @@ { "id": "metal_tank_little", "type": "CONTAINER", - "category": "spare_parts", + "category": "container", "name": "metal tank (2L)", "name_plural": "metal tanks (2L)", "description": "A small metal tank for gas or liquids. Useful for crafting.", @@ -929,7 +929,7 @@ { "id": "canteen_wood", "type": "CONTAINER", - "category": "clothing", + "category": "container", "name": "wooden canteen", "description": "A water canteen made from wood, secured by metal bands and sealed with wax or pitch. Holds 1.5 liters and has a simple carry strap.", "weight": "232 g", @@ -948,7 +948,7 @@ { "id": "stomach_sealed", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "sealed stomach", "description": "The stomach of a creature, cleaned and sealed with a string. It can hold 1.5 liters of water.", "weight": "453 g", @@ -967,7 +967,7 @@ { "id": "waterskin", "type": "CONTAINER", - "category": "clothing", + "category": "container", "name": "small waterskin", "description": "A small watertight leather bag with a carrying strap, can hold 1.5 liters of water.", "weight": "453 g", @@ -988,7 +988,7 @@ { "id": "waterskin2", "type": "CONTAINER", - "category": "clothing", + "category": "container", "name": "waterskin", "description": "A watertight leather bag with a carrying strap, can hold 3 liters of water.", "weight": "783 g", @@ -1009,7 +1009,7 @@ { "id": "waterskin3", "type": "CONTAINER", - "category": "clothing", + "category": "container", "name": "large waterskin", "description": "A large watertight leather bag with a carrying strap, can hold 5 liters of water.", "weight": "990 g", @@ -1030,7 +1030,7 @@ { "id": "wooden_barrel", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "wooden barrel", "description": "Traditionally made of white oak; these vessels are known for delivering delicious whiskey to the future. It has a capacity of 100 liters.", "weight": "42408 g", @@ -1049,7 +1049,7 @@ { "id": "wrapper", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "paper wrapper", "description": "Just a piece of butcher's paper. Good for starting fires.", "weight": "3 g", @@ -1066,7 +1066,7 @@ { "id": "styrofoam_cup", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "styrofoam cup", "description": "A cheap, disposable cup with a plastic lid and straw.", "weight": "50 g", @@ -1082,7 +1082,7 @@ { "id": "plastic_bucket", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "plastic tub", "description": "A big, square plastic bucket usually used for carrying ice cream.", "weight": "1360 g", @@ -1099,7 +1099,7 @@ { "id": "condom", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "condom", "description": "A gentleman's balloon. A single use life preventer. A thumbless latex mitten. This could be used as a makeshift water container, but otherwise it's anyone's guess what it's for.", "weight": "5 g", @@ -1118,7 +1118,7 @@ { "id": "can_food_big", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "large tin can", "description": "A large tin can, like what beans come in. Holds a substantial amount of food.", "weight": "350 g", @@ -1147,9 +1147,9 @@ { "id": "survival_kit_box", "type": "CONTAINER", - "category": "other", + "category": "container", "name": "survival kit box", - "description": "An aluminum box that used to contain a small survival kit. Can hold 1 liter of liquid.", + "description": "An aluminum box that used to contain a small survival kit. Can hold 1 liter of liquid.", "weight": 200, "volume": "1 L", "price": 0, diff --git a/data/json/items/corpses.json b/data/json/items/corpses.json index 51f4c57b4d35a..fd7b918e8ab27 100644 --- a/data/json/items/corpses.json +++ b/data/json/items/corpses.json @@ -118,7 +118,7 @@ "id": "corpse_painful", "copy-from": "corpse", "name": "corpse", - "description": "A dead body with a frightful grimace. He appears to have been horribly mangled prior to his death.", + "description": "A dead body with a frightful grimace. He appears to have been horribly mangled prior to his death.", "looks_like": "corpse", "material": "hflesh" }, @@ -156,7 +156,7 @@ "id": "corpse_halved_upper", "copy-from": "corpse", "name": "corpse", - "description": "The upper half of a dead body, as if torn apart with enormous force. Some organs are hanging out.", + "description": "The upper half of a dead body, as if torn apart with enormous force. Some organs are hanging out.", "looks_like": "corpse", "volume": "30000 ml", "weight": "40000 g", diff --git a/data/json/items/corpses/inactive_bots.json b/data/json/items/corpses/inactive_bots.json index 75e7f304397d9..5c6be291af004 100644 --- a/data/json/items/corpses/inactive_bots.json +++ b/data/json/items/corpses/inactive_bots.json @@ -139,7 +139,7 @@ "price": 600000, "to_hit": -3, "bashing": 8, - "material": [ "superalloy", "plastic" ], + "material": [ "steel", "plastic" ], "symbol": ";", "color": "white", "use_action": { @@ -295,7 +295,7 @@ "id": "bot_secubot", "type": "TOOL", "name": "inactive TALON UGV", - "description": "This is an inactive TALON UGV equipped with an M16A4. Using this item involves loading the unit with the factory-loaded 5.56x45mm rounds in your inventory (if you wish to divide your ammunition, set aside whatever 5.56x45mm you do NOT want to give the robot) turning it on, and placing it on the ground. If reprogrammed and rewired successfully the security bot will then identify you as a friendly, roam around or follow you, and attack all enemies with its rifle.", + "description": "This is an inactive TALON UGV equipped with an M16A4. Using this item involves loading the unit with the factory-loaded 5.56x45mm rounds in your inventory (if you wish to divide your ammunition, set aside whatever 5.56x45mm you do NOT want to give the robot) turning it on, and placing it on the ground. If reprogrammed and rewired successfully the security bot will then identify you as a friendly, roam around or follow you, and attack all enemies with its rifle.", "weight": "40750 g", "volume": "30 L", "price": 750000, @@ -319,7 +319,7 @@ "id": "bot_talon_m202a1", "type": "TOOL", "name": "inactive M202A1 TALON UGV", - "description": "This is an inactive TALON UGV equipped with an M202A1. Using this item involves loading the unit with the M235 rockets in your inventory (if you wish to divide your ammunition, set aside whatever M235 rockets you do NOT want to give the robot) turning it on, and placing it on the ground. If reprogrammed and rewired successfully the security bot will then identify you as a friendly, roam around or follow you, and attack all enemies with its M202A1.", + "description": "This is an inactive TALON UGV equipped with an M202A1. Using this item involves loading the unit with the M235 rockets in your inventory (if you wish to divide your ammunition, set aside whatever M235 rockets you do NOT want to give the robot) turning it on, and placing it on the ground. If reprogrammed and rewired successfully the security bot will then identify you as a friendly, roam around or follow you, and attack all enemies with its M202A1.", "weight": "40750 g", "volume": "30 L", "price": 750000, @@ -415,7 +415,7 @@ "id": "bot_broken_cyborg", "type": "TOOL", "name": "inactive broken cyborg", - "description": "This is a deactivated broken cyborg, the last shreds of its humanity still rotting away. Using this item involves placing it on the ground and reactivating its mechanical body. If reprogrammed and rewired successfully the cyborg will then follow you and attack enemies. You monster.", + "description": "This is a deactivated broken cyborg, the last shreds of its humanity still rotting away. Using this item involves placing it on the ground and reactivating its mechanical body. If reprogrammed and rewired successfully the cyborg will then follow you and attack enemies. You monster.", "weight": "81500 g", "volume": "62500 ml", "//": "It is a disgusting mass of rotting flesh and jagged metal pieces, no one will buy it.", @@ -467,7 +467,7 @@ "id": "bot_chickenbot", "type": "TOOL", "name": "inactive chicken walker", - "description": "This is an inactive chicken walker. Using this item involves placing it on the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm cartridge grenades in your inventory (if you wish to divide your ammunition, set aside whatever ammunition you do NOT want to give the robot) and turning it on. If reprogrammed and rewired successfully the chicken walker will then identify you as a friendly, roam around or follow you, and attack all enemies with a built-in firearm and grenade launcher.", + "description": "This is an inactive chicken walker. Using this item involves placing it on the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm cartridge grenades in your inventory (if you wish to divide your ammunition, set aside whatever ammunition you do NOT want to give the robot) and turning it on. If reprogrammed and rewired successfully the chicken walker will then identify you as a friendly, roam around or follow you, and attack all enemies with a built-in firearm and grenade launcher.", "weight": "120000 g", "volume": "92500 ml", "price": 50000000, @@ -493,7 +493,7 @@ "looks_like": "broken_copbot", "type": "TOOL", "name": "inactive police bot", - "description": "This is an inactive police robot. Using this item involves placing it on the ground and turning it on. If reprogrammed and rewired successfully the police bot will then identify you as law enforcement, roam around or follow you, and attempt to detain lawbreakers.", + "description": "This is an inactive police robot. Using this item involves placing it on the ground and turning it on. If reprogrammed and rewired successfully the police bot will then identify you as law enforcement, roam around or follow you, and attempt to detain lawbreakers.", "weight": "81500 g", "volume": "62500 ml", "price": 100000, @@ -519,7 +519,7 @@ "looks_like": "broken_eyebot", "type": "TOOL", "name": "inactive eyebot", - "description": "This is an inactive eyebot. Using this item involves turning it on and launching the UAV. If reprogrammed and rewired successfully the eyebot will then keep watch for intruders.", + "description": "This is an inactive eyebot. Using this item involves turning it on and launching the UAV. If reprogrammed and rewired successfully the eyebot will then keep watch for intruders.", "weight": "40750 g", "volume": "30 L", "price": 10000, @@ -544,7 +544,7 @@ "id": "bot_hazmatbot", "type": "TOOL", "name": "inactive cleaner bot", - "description": "This is an inactive cleaner bot. Using this item involves placing it on the ground and turning it on. If reprogrammed and rewired successfully the cleaner bot will respond to future commands.", + "description": "This is an inactive cleaner bot. Using this item involves placing it on the ground and turning it on. If reprogrammed and rewired successfully the cleaner bot will respond to future commands.", "weight": "81500 g", "volume": "62500 ml", "price": 10000, @@ -570,7 +570,7 @@ "looks_like": "broken_molebot", "type": "TOOL", "name": "inactive miner bot", - "description": "This is an inactive mining robot. Using this item involves placing it on the ground and turning it on. If reprogrammed and rewired successfully the miner bot will respond to future commands.", + "description": "This is an inactive mining robot. Using this item involves placing it on the ground and turning it on. If reprogrammed and rewired successfully the miner bot will respond to future commands.", "weight": "81500 g", "volume": "62500 ml", "price": 25000, @@ -596,7 +596,7 @@ "looks_like": "broken_riotbot", "type": "TOOL", "name": "inactive riot control bot", - "description": "This is an inactive riot control bot. Using this item involves placing it on the ground and turning it on. If reprogrammed and rewired successfully the robot will bring order and peace to the horde.", + "description": "This is an inactive riot control bot. Using this item involves placing it on the ground and turning it on. If reprogrammed and rewired successfully the robot will bring order and peace to the horde.", "weight": "81500 g", "volume": "62500 ml", "price": 35000, @@ -622,7 +622,7 @@ "looks_like": "broken_skitterbot", "type": "TOOL", "name": "inactive skitterbot", - "description": "This is an inactive skitterbot. Using this item involves placing it on the ground and turning it on. If reprogrammed and rewired successfully the robot will race towards enemies and shock them.", + "description": "This is an inactive skitterbot. Using this item involves placing it on the ground and turning it on. If reprogrammed and rewired successfully the robot will race towards enemies and shock them.", "weight": "40750 g", "volume": "30 L", "price": 80000, @@ -674,7 +674,7 @@ "looks_like": "broken_tankbot", "type": "TOOL", "name": "inactive tank drone", - "description": "This is an inactive Beagle Mini-Tank UGV. Using this item involves placing it on the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm cartridge grenades in your inventory (if you wish to divide your ammunition, set aside whatever ammunition you do NOT want to give the robot) and turning it on. If reprogrammed and rewired successfully the tank drone will then identify you as a friendly, roam around or follow you, and attack all enemies with a built-in firearm and grenade launcher.", + "description": "This is an inactive Beagle Mini-Tank UGV. Using this item involves placing it on the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm cartridge grenades in your inventory (if you wish to divide your ammunition, set aside whatever ammunition you do NOT want to give the robot) and turning it on. If reprogrammed and rewired successfully the tank drone will then identify you as a friendly, roam around or follow you, and attack all enemies with a built-in firearm and grenade launcher.", "weight": "200000 g", "//": "cheating a bit with the volume due to lack of proper vehicle storage options", "volume": "250 L", @@ -701,7 +701,7 @@ "looks_like": "broken_tripod", "type": "TOOL", "name": "inactive tripod", - "description": "This is an inactive Honda Regnal. Using this item involves placing it on the ground, wondering how it fuels its flamethrower and turning it on. If reprogrammed and rewired successfully the tribot will then identify you as an ally, roam around or follow you, and impale hostiles with its spiked cable weapons.", + "description": "This is an inactive Honda Regnal. Using this item involves placing it on the ground, wondering how it fuels its flamethrower and turning it on. If reprogrammed and rewired successfully the tribot will then identify you as an ally, roam around or follow you, and impale hostiles with its spiked cable weapons.", "weight": "120000 g", "volume": "92500 ml", "price": 100000000, @@ -726,7 +726,7 @@ "id": "bot_turret_searchlight", "type": "TOOL", "name": "inactive milspec searchlight", - "description": "This is an inactive military-grade automated searchlight. Using this item involves placing it on the ground and turning it on. If reprogrammed and rewired successfully the searchlight will then identify you as an ally, survey the area, and illuminate approaching hostiles. Seems to have an unhealthy fascination with you.", + "description": "This is an inactive military-grade automated searchlight. Using this item involves placing it on the ground and turning it on. If reprogrammed and rewired successfully the searchlight will then identify you as an ally, survey the area, and illuminate approaching hostiles. Seems to have an unhealthy fascination with you.", "weight": "120000 g", "volume": "92500 ml", "price": 500000, diff --git a/data/json/items/crossbows.json b/data/json/items/crossbows.json index 7dc46ad9dccbd..cdd1f20007dc9 100644 --- a/data/json/items/crossbows.json +++ b/data/json/items/crossbows.json @@ -243,6 +243,7 @@ }, { "id": "hand_crossbow", + "looks_like": "crossbow", "type": "GUN", "reload_noise_volume": 10, "symbol": "(", @@ -275,6 +276,7 @@ }, { "id": "crossbow", + "//": "Tileset whitelist for crossbows", "type": "GUN", "reload_noise_volume": 5, "symbol": "(", @@ -311,6 +313,7 @@ }, { "id": "compositecrossbow", + "looks_like": "crossbow", "type": "GUN", "symbol": "(", "color": "green", @@ -347,6 +350,7 @@ }, { "id": "compcrossbow", + "looks_like": "crossbow", "type": "GUN", "symbol": "(", "color": "green", @@ -383,6 +387,7 @@ }, { "id": "huge_crossbow", + "looks_like": "crossbow", "type": "GUN", "reload_noise_volume": 10, "symbol": "(", @@ -420,6 +425,7 @@ }, { "id": "rep_crossbow", + "looks_like": "crossbow", "type": "GUN", "reload_noise_volume": 10, "symbol": "(", diff --git a/data/json/items/fake.json b/data/json/items/fake.json index 58e7a7614f424..7a8866283bb54 100644 --- a/data/json/items/fake.json +++ b/data/json/items/fake.json @@ -75,7 +75,7 @@ "symbol": "v", "color": "red", "name": "clairvoyance rod", - "description": "Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's a bug.", + "description": "Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's a bug.", "price": 5000, "material": [ "steel" ], "weight": "150 g", diff --git a/data/json/items/faults_bionic.json b/data/json/items/faults_bionic.json index 5f9021b03342c..401f145ccb52c 100644 --- a/data/json/items/faults_bionic.json +++ b/data/json/items/faults_bionic.json @@ -4,8 +4,15 @@ "type": "fault", "name": "Already deployed", "description": "This bionic needs to be reset to its factory state.", - "time": "45 m", - "skills": [ [ "mechanics", 3 ], [ "electronics", 2 ], [ "firstaid", 4 ] ], - "requirements": { "qualities": [ { "id": "WRENCH_FINE", "level": 1 }, { "id": "SCREW_FINE", "level": 1 } ] } + "mending_methods": [ + { + "id": "mend_fault_bonic_salvaged_reset", + "name": "Reset to factory state", + "success_msg": "You successfully reset the %s to its factory state", + "time": "45 m", + "skills": [ { "id": "mechanics", "level": 3 }, { "id": "electronics", "level": 2 }, { "id": "firstaid", "level": 4 } ], + "requirements": { "qualities": [ { "id": "WRENCH_FINE", "level": 1 }, { "id": "SCREW_FINE", "level": 1 } ] } + } + ] } ] diff --git a/data/json/items/fuel.json b/data/json/items/fuel.json index 151ce35758b6c..fdd7c424f2ab7 100644 --- a/data/json/items/fuel.json +++ b/data/json/items/fuel.json @@ -184,7 +184,7 @@ "name": "flamethrower fuel", "name_plural": "flamethrower fuel", "copy-from": "gasoline", - "description": "A mixture of gasoline and diesel oil in equal parts. Its combustion properties make it unfit for applications where you would use any of them separately, but it can be used to feed a flamethrower.", + "description": "A mixture of gasoline and diesel oil in equal parts. Its combustion properties make it unfit for applications where you would use any of them separately, but it can be used to feed a flamethrower.", "price": 400, "ammo_type": "flammable", "range": 0 diff --git a/data/json/items/generic.json b/data/json/items/generic.json index 33c7c52d55511..8ac168f0eb8d4 100644 --- a/data/json/items/generic.json +++ b/data/json/items/generic.json @@ -57,6 +57,20 @@ "flags": [ "PSEUDO", "PERPETUAL" ], "fuel": { "energy": 1 } }, + { + "type": "GENERIC", + "//": "pseudo item, used as fuel type for CBMs that are metabolism-powered", + "id": "metabolism", + "symbol": "?", + "color": "white", + "name": "metabolism", + "description": "seeing this is a bug", + "stackable": true, + "price": 0, + "volume": 0, + "flags": [ "PERPETUAL" ], + "fuel": { "energy": 1 } + }, { "type": "GENERIC", "//": "pseudo item, only used for as a required tool, checked for in player::amount_of", @@ -126,7 +140,7 @@ "symbol": "-", "color": "pink", "name": "foodplace loyalty card", - "description": "A bright pink loyalty card, all the points are stamped. This would definitely prove your fidelity to Foodplace, if it still meant anything...", + "description": "A bright pink loyalty card, all the points are stamped. This would definitely prove your fidelity to Foodplace, if it still meant anything…", "price": 0, "material": "paper", "flags": "TRADER_AVOID", @@ -167,6 +181,7 @@ "color": "pink", "name": "faux fur pelt", "description": "A small bolt of garishly colored faux fur. Can be made into clothing.", + "flags": [ "NO_SALVAGE" ], "material": [ "faux_fur" ] }, { @@ -282,6 +297,7 @@ "description": "A piece of an insect's exoskeleton. It is light and very durable.", "price": 0, "material": "chitin", + "flags": [ "NO_SALVAGE" ], "weight": "89 g", "volume": "250 ml", "bashing": 1, @@ -295,7 +311,7 @@ "color": "light_gray", "name": "set of 100 ceramic disk", "name_plural": "ceramic disks", - "description": "A set of small slightly elongated disks, made of high-grade ceramic. They remind you of scales", + "description": "A set of small slightly elongated disks, made of high-grade ceramic. They remind you of scales.", "price": 0, "material": "lightceramic", "weight": "100 g", @@ -311,6 +327,7 @@ "name_plural": "chunks of biosilicified chitin", "description": "A lump of exoskeleton that has undergone biosilicification. It is acid-resistant and remarkably sturdy.", "material": "acidchitin", + "flags": [ "NO_SALVAGE" ], "proportional": { "weight": 1.25 }, "relative": { "bashing": 2 } }, @@ -660,6 +677,20 @@ "to_hit": 2, "qualities": [ [ "HAMMER", 1 ] ] }, + { + "type": "GENERIC", + "id": "railroad_track_small", + "symbol": "=", + "color": "dark_gray", + "name": "small railroad track", + "description": "A length of track, made from some planks and rails.", + "category": "spare_parts", + "price": 7500, + "price_postapoc": 1000, + "material": [ "wood", "steel" ], + "weight": "40 kg", + "volume": "30000 ml" + }, { "type": "GENERIC", "id": "concrete", @@ -734,7 +765,7 @@ "price": 1000, "price_postapoc": 100, "material": "iron", - "weight": "3220 g", + "weight": "3000 g", "volume": "750 ml" }, { @@ -817,11 +848,11 @@ "symbol": ";", "color": "dark_gray", "name": "television", - "description": "A large cathode ray tube television, full of delicious electronics.", + "description": "A large LCD television, full of delicious electronics.", "price": 0, "material": "plastic", - "weight": "22600 g", - "volume": "3 L", + "weight": "15000 g", + "volume": "20 L", "bashing": 5, "to_hit": -5 }, @@ -1383,6 +1414,20 @@ "volume": "250 ml", "to_hit": -1 }, + { + "type": "GENERIC", + "id": "large_lcd_screen", + "symbol": ",", + "color": "dark_gray", + "name": "large LCD screen", + "category": "spare_parts", + "description": "A large backlit screen, used for displaying images. Useful in some electronics recipes.", + "price": 10000, + "material": "plastic", + "weight": "13000 g", + "volume": "15000 ml", + "to_hit": -4 + }, { "type": "GENERIC", "id": "small_lcd_screen", @@ -1510,8 +1555,8 @@ "description": "A very small electric motor like those used in RC cars. Useful in lots of electronics recipes.", "price": 1000, "material": [ "steel", "plastic" ], - "weight": "110 g", - "volume": "250 ml" + "weight": "125 g", + "volume": "25 ml" }, { "type": "GENERIC", @@ -1808,7 +1853,7 @@ "color": "white", "name": "Science SD-Memory card", "name_plural": "Science SD-Memory cards", - "description": "This memory card appears to be related to 'XEDRA', and is certainly encrypted. Looks * Interesting *, though...", + "description": "This memory card appears to be related to 'XEDRA', and is certainly encrypted. Looks *Interesting*, though…", "price": 10000, "price_postapoc": 0, "material": "plastic", @@ -1900,8 +1945,7 @@ { "type": "GENERIC", "id": "chamomile", - "name": "handful of chamomile flowers", - "name_plural": "handfuls of chamomile flowers", + "name": { "str": "chamomile flowers", "str_pl": "chamomile flowers" }, "description": "White chamomile flowers, used as a herbal remedy since the ancient times.", "weight": "50 g", "color": "white", @@ -2275,6 +2319,7 @@ "name": "cigar butt", "color": "dark_gray", "symbol": "!", + "weight": "1 g", "description": "A true gentleman always finishes his cigars.", "category": "other", "flags": [ "TRADER_AVOID" ] @@ -2306,8 +2351,9 @@ "name": "cigarette butt", "color": "dark_gray", "symbol": "!", - "description": "What was once a wonderfully addictive tube of dried tobacco leaf is now just a smelly piece of trash. What a tragedy!\nThe leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far...", + "description": "What was once a wonderfully addictive tube of dried tobacco leaf is now just a smelly piece of trash. What a tragedy!\nThe leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far…", "category": "other", + "weight": "1 g", "flags": [ "TRADER_AVOID" ] }, { @@ -2340,6 +2386,7 @@ "symbol": "!", "description": "The smoked-down butt of a joint, a reminder of some good times. Pretty much trash now. Bummer, man.\nA few of these could probably be used to roll another joint.", "category": "other", + "weight": "1 g", "flags": [ "TRADER_AVOID" ] }, { @@ -2359,8 +2406,7 @@ "id": "tobacco_raw", "symbol": "%", "color": "light_green", - "name": "raw tobacco", - "name_plural": "handfuls of raw tobacco", + "name": { "str": "raw tobacco", "str_pl": "raw tobacco" }, "description": "Various parts of tobacco plant, full of nicotine. They need to be dried to become smokable.", "looks_like": "wild_herbs", "price": 300, @@ -2375,8 +2421,8 @@ "color": "yellow", "name": "cash card", "description": "A yellow plastic card used to store money. These became popular once the government officially moved to all electronic money. It holds up to 2 million dollars.", - "price": 100, - "price_postapoc": 10, + "price": 1000, + "price_postapoc": 1, "material": "plastic", "flags": [ "NO_UNLOAD", "NO_RELOAD" ], "weight": "6 g", diff --git a/data/json/items/generic/casing.json b/data/json/items/generic/casing.json index e278185091429..365bc7964f2b8 100644 --- a/data/json/items/generic/casing.json +++ b/data/json/items/generic/casing.json @@ -22,6 +22,7 @@ { "id": "22_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": ".22 LR casing", "description": "An empty casing from a .22 LR round. These can't be hand-reloaded.", @@ -31,6 +32,7 @@ { "id": "3006_casing", "copy-from": "casing", + "looks_like": "223_casing", "type": "GENERIC", "name": ".30-06 casing", "description": "An empty casing from a .30-06 round.", @@ -40,6 +42,7 @@ { "id": "270win_casing", "copy-from": "casing", + "looks_like": "223_casing", "type": "GENERIC", "name": ".270 Winchester casing", "description": "An empty casing from a .270 Winchester round.", @@ -49,6 +52,7 @@ { "id": "300_casing", "copy-from": "casing", + "looks_like": "223_casing", "type": "GENERIC", "name": ".300 Win Mag casing", "description": "An empty casing from a .300 Winchester Magnum round.", @@ -58,6 +62,7 @@ { "id": "308_casing", "copy-from": "casing", + "looks_like": "223_casing", "type": "GENERIC", "name": ".308 casing", "description": "An empty casing from a .308 round.", @@ -67,6 +72,7 @@ { "id": "762_51_casing", "copy-from": "casing", + "looks_like": "223_casing", "type": "GENERIC", "name": "7.62x51mm casing", "description": "An empty casing from a 7.62x51mm M80 round.", @@ -76,6 +82,7 @@ { "id": "32_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": ".32 ACP casing", "description": "An empty casing from a .32 ACP round.", @@ -85,6 +92,7 @@ { "id": "38_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": ".38 Special casing", "description": "An empty casing from a .38 Special round.", @@ -94,6 +102,7 @@ { "id": "38super_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": ".38 Super casing", "description": "An empty casing from a .38 Super round.", @@ -103,6 +112,7 @@ { "id": "40_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": ".40 S&W casing", "description": "An empty casing from a .40 S&W round.", @@ -112,6 +122,7 @@ { "id": "10mm_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": "10mm Auto casing", "description": "An empty casing from a 10mm Auto round.", @@ -133,6 +144,7 @@ { "id": "44_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": ".44 Magnum casing", "description": "An empty casing from a .44 Magnum round.", @@ -142,6 +154,7 @@ { "id": "454_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": ".454 Casull casing", "description": "An empty casing from a .454 Casull round.", @@ -151,6 +164,7 @@ { "id": "45_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": ".45 ACP casing", "description": "An empty casing from a .45 ACP round.", @@ -160,6 +174,7 @@ { "id": "45colt_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": ".45 Colt casing", "description": "An empty casing from a .45 Colt round.", @@ -169,6 +184,7 @@ { "id": "4570_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": ".45-70 casing", "description": "An empty casing from a .45-70 Government round.", @@ -178,6 +194,7 @@ { "id": "46mm_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": "4.6x30mm casing", "description": "An empty casing from a 4.6x30mm round.", @@ -187,6 +204,7 @@ { "id": "460_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": ".460 Rowland casing", "description": "An empty casing from a .460 Rowland round. It looks deceptively like a .45ACP casing.", @@ -196,6 +214,7 @@ { "id": "5x50_hull", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": "5x50mm hull", "description": "An empty plastic hull from a 5x50mm flechette round.", @@ -207,6 +226,7 @@ { "id": "500_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": ".500 S&W Magnum casing", "description": "An empty casing from a .500 S&W Magnum round.", @@ -216,6 +236,7 @@ { "id": "50_casing", "copy-from": "casing", + "looks_like": "223_casing", "type": "GENERIC", "name": ".50 BMG casing", "description": "An empty casing from a .50 BMG round. These are rare, so you might want to hold onto these.", @@ -225,6 +246,7 @@ { "id": "545_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": "5.45x39mm casing", "description": "An empty casing from a 5.45x39mm round.", @@ -234,6 +256,7 @@ { "id": "57mm_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": "5.7x28mm casing", "description": "An empty casing from a 5.7x28mm round.", @@ -243,6 +266,7 @@ { "id": "700nx_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": ".700 NX casing", "description": "An empty casing from a .700 NX round. These are rare, so you might want to hold onto these.", @@ -252,6 +276,7 @@ { "id": "762R_casing", "copy-from": "casing", + "looks_like": "223_casing", "type": "GENERIC", "name": "7.62x54mmR casing", "description": "An empty casing from a 7.62x54mmR round.", @@ -261,6 +286,7 @@ { "id": "762_casing", "copy-from": "casing", + "looks_like": "223_casing", "type": "GENERIC", "name": "7.62x39mm casing", "description": "An empty casing from a 7.62x39mm round.", @@ -270,6 +296,7 @@ { "id": "762_25_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": "7.62x25mm casing", "description": "An empty casing from a 7.62x25mm round.", @@ -288,6 +315,7 @@ { "id": "357sig_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": ".357 SIG casing", "description": "An empty casing from a .357 SIG round.", @@ -297,6 +325,7 @@ { "id": "357mag_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": ".357 magnum casing", "description": "An empty casing from a .357 magnum round.", @@ -306,6 +335,7 @@ { "id": "9x18mm_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": "9x18mm casing", "description": "An empty casing from a 9x18mm round.", @@ -315,6 +345,7 @@ { "id": "380_casing", "copy-from": "casing", + "looks_like": "9mm_casing", "type": "GENERIC", "name": ".380 ACP casing", "description": "An empty casing from a .380 ACP round.", @@ -357,12 +388,14 @@ "stackable": true, "material": "plastic", "symbol": "=", + "looks_like": "shot_hull", "color": "red", "damage_states": [ 0, 0 ] }, { "id": "300blk_casing", "copy-from": "casing", + "looks_like": "223_casing", "type": "GENERIC", "name": ".300BLK casing", "description": "An empty casing from a .300 AAC Blackout round.", diff --git a/data/json/items/generic/currency.json b/data/json/items/generic/currency.json index 666d35ed9f6af..7bae6eb716fa6 100644 --- a/data/json/items/generic/currency.json +++ b/data/json/items/generic/currency.json @@ -53,5 +53,18 @@ "color": "white", "symbol": "$", "material": [ "paper" ] + }, + { + "type": "GENERIC", + "id": "icon", + "name": "icon", + "description": "This is a small picture, about the same size as an ID card, symbolizing a religious figure. On the back, there is a text that faintly reads 'New England Church Community'.", + "price": 200, + "price_postapoc": 320, + "weight": "1 g", + "to_hit": -3, + "color": "white", + "symbol": "$", + "material": [ "paper" ] } ] diff --git a/data/json/items/generic/dining_kitchen.json b/data/json/items/generic/dining_kitchen.json index 9e990334d0bb8..026a0ae40ccdd 100644 --- a/data/json/items/generic/dining_kitchen.json +++ b/data/json/items/generic/dining_kitchen.json @@ -356,7 +356,7 @@ "category": "other", "id": "fork", "name": "fork", - "description": "A fork, if you stab something with it you eat it right away. Wait... nevermind.", + "description": "A fork, if you stab something with it you eat it right away. Wait… nevermind.", "copy-from": "base_silverware", "flags": [ "STAB", "SHEATH_KNIFE" ] }, @@ -722,6 +722,7 @@ "copy-from": "base_cookpot", "material": "steel", "color": "light_gray", + "looks_like": "pan", "proportional": { "to_hit": 2 }, "weight": "528 g", "volume": "1 L", @@ -739,6 +740,7 @@ "copy-from": "base_cookpot", "material": "copper", "color": "light_red", + "looks_like": "pan", "proportional": { "to_hit": 2 }, "weight": "628 g", "volume": "1 L", diff --git a/data/json/items/grenades.json b/data/json/items/grenades.json index f5694c9d219b6..547584a62afe5 100644 --- a/data/json/items/grenades.json +++ b/data/json/items/grenades.json @@ -277,7 +277,7 @@ "id": "nail_bomb", "type": "TOOL", "name": "nail bomb", - "description": "A crude and bulky improvised bomb. Made from a container, an explosive surrounded by nails and a fuse. Use this item to light the fuse. You will then have five turns before it explodes; throwing it would be a good idea.", + "description": "A crude and bulky improvised bomb. Made from a container, an explosive surrounded by nails and a fuse. Use this item to light the fuse. You will then have five turns before it explodes; throwing it would be a good idea.", "category": "weapons", "weight": "470 g", "volume": "500 ml", @@ -305,7 +305,7 @@ "copy-from": "nail_bomb", "type": "TOOL", "name": "active nail bomb", - "description": "A crude and bulky improvised bomb. Made from a container, an explosive surrounded by nails and a fuse. The fuse has been lit, you should throw it.", + "description": "A crude and bulky improvised bomb. Made from a container, an explosive surrounded by nails and a fuse. The fuse has been lit, you should throw it.", "price": 0, "initial_charges": 5, "max_charges": 5, @@ -323,7 +323,7 @@ "id": "fragment_bomb", "type": "TOOL", "name": "fragment bomb", - "description": "A crude and bulky improvised bomb. Made from a container, an explosive surrounded by small pieces of metal and a fuse. Use this item to light the fuse. You will then have five turns before it explodes; throwing it would be a good idea.", + "description": "A crude and bulky improvised bomb. Made from a container, an explosive surrounded by small pieces of metal and a fuse. Use this item to light the fuse. You will then have five turns before it explodes; throwing it would be a good idea.", "category": "weapons", "weight": "470 g", "volume": "500 ml", @@ -351,7 +351,7 @@ "copy-from": "fragment_bomb", "type": "TOOL", "name": "active fragment bomb", - "description": "A crude and bulky improvised bomb. Made from a container, an explosive surrounded by small pieces of metal and a fuse. The fuse has been lit, you should throw it.", + "description": "A crude and bulky improvised bomb. Made from a container, an explosive surrounded by small pieces of metal and a fuse. The fuse has been lit, you should throw it.", "price": 0, "initial_charges": 5, "max_charges": 5, @@ -370,7 +370,7 @@ "type": "TOOL", "category": "weapons", "name": "can bomb", - "description": "This is a tin can filled to the brim with explosive and with a bit of fuse sticking out of it. Will produce metal shrapnel that can deal with armor ... you think.", + "description": "This is a tin can filled to the brim with explosive and with a bit of fuse sticking out of it. Will produce metal shrapnel that can deal with armor… you think.", "//": "40g of tin can and 250ml/412g of gunpowder", "weight": "452 g", "volume": "250 ml", @@ -397,7 +397,7 @@ "copy-from": "can_bomb", "type": "TOOL", "name": "active can bomb", - "description": "This is a tin can filled to the brim with explosive and with a bit of fuse sticking out of it. Will produce metal shrapnel that can deal with armor ... you think. The fuse has been lit, you should throw it.", + "description": "This is a tin can filled to the brim with explosive and with a bit of fuse sticking out of it. Will produce metal shrapnel that can deal with armor… you think. The fuse has been lit, you should throw it.", "price": 0, "initial_charges": 5, "max_charges": 5, @@ -418,6 +418,7 @@ "name": "smoke bomb", "description": "This is a canister grenade filled with a variety of pyrotechnic chemicals. Use this item to pull the pin and light the fuse, turning it into an active smoke bomb. Five turns after you do that, it will begin to expel a thick black smoke. This smoke will slow those who enter it, as well as obscuring vision and scent.", "price": 1800, + "weight": "569 g", "countdown_action": { "type": "transform", "target": "smokebomb_act" } }, { diff --git a/data/json/items/gun/12mm.json b/data/json/items/gun/12mm.json index f1e43da529350..3926edb362c36 100644 --- a/data/json/items/gun/12mm.json +++ b/data/json/items/gun/12mm.json @@ -2,6 +2,7 @@ { "id": "hk_g80", "copy-from": "gun_base", + "looks_like": "ar15", "type": "GUN", "name": "H&K G80 Railgun", "description": "Developed by Heckler & Koch in the first quarter of 21st century, the railgun magnetically propels a ferromagnetic projectile using an alternating current. Powered by UPS.", diff --git a/data/json/items/gun/20x66mm.json b/data/json/items/gun/20x66mm.json index 2c903c1145e18..0758ca553462f 100644 --- a/data/json/items/gun/20x66mm.json +++ b/data/json/items/gun/20x66mm.json @@ -1,6 +1,7 @@ [ { "id": "rm120c", + "looks_like": "remington_870", "type": "GUN", "reload_noise_volume": 10, "reload_noise": "chuk chuk.", @@ -37,6 +38,7 @@ }, { "id": "rm20", + "looks_like": "remington_870", "type": "GUN", "reload_noise_volume": 10, "name": "RM20 autoshotgun", @@ -53,7 +55,7 @@ "skill": "shotgun", "dispersion": 335, "durability": 9, - "burst": 4, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 2 ] ], "valid_mod_locations": [ [ "accessories", 4 ], [ "grip", 1 ], @@ -71,6 +73,7 @@ }, { "id": "rm228", + "looks_like": "remington_870", "type": "GUN", "reload_noise_volume": 10, "name": "RM228 PDW", diff --git a/data/json/items/gun/22.json b/data/json/items/gun/22.json index 7e31cf8e6cf4d..dddea2ae55977 100644 --- a/data/json/items/gun/22.json +++ b/data/json/items/gun/22.json @@ -1,6 +1,7 @@ [ { "id": "american_180", + "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, "name": "American-180", @@ -20,7 +21,7 @@ "dispersion": 280, "durability": 6, "min_cycle_recoil": 39, - "burst": 20, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 6 ] ], "barrel_length": 1, "valid_mod_locations": [ [ "accessories", 3 ], @@ -41,6 +42,7 @@ }, { "id": "marlin_9a", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "Marlin 39A", @@ -81,6 +83,7 @@ }, { "id": "moss_brownie", + "looks_like": "glock_17", "copy-from": "pistol_base", "type": "GUN", "name": "Mossberg Brownie", @@ -114,6 +117,7 @@ }, { "id": "rifle_22", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "pipe rifle: .22", @@ -152,6 +156,7 @@ }, { "id": "rm360_carbine", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "RM360 rotary carbine", @@ -171,7 +176,7 @@ "durability": 9, "blackpowder_tolerance": 24, "min_cycle_recoil": 39, - "burst": 20, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 6 ] ], "reload": 500, "valid_mod_locations": [ [ "accessories", 3 ], @@ -190,6 +195,7 @@ }, { "id": "ruger_1022", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "Ruger 10/22", @@ -230,6 +236,7 @@ }, { "id": "ruger_lcr_22", + "looks_like": "sw_619", "copy-from": "ruger_lcr_38", "type": "GUN", "name": "Ruger LCR .22", @@ -240,6 +247,7 @@ }, { "id": "sig_mosquito", + "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, "name": "SIG Mosquito", @@ -279,6 +287,7 @@ { "id": "sw_22", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "S&W 22A", "name_plural": "S&W 22A", @@ -300,6 +309,7 @@ { "id": "j22", "copy-from": "pistol_backup", + "looks_like": "glock_17", "type": "GUN", "name": "Jennings J-22", "description": "One of the quintessential 'saturday night specials', the Jennings J-22 was very affordably priced with its injection molded zinc slide and frame. Intended to fill the void left after small pocket pistols were banned from import, these were more commonly used by criminals unfazed by their glaring safety issues.", @@ -320,9 +330,10 @@ { "id": "walther_p22", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "Walther P22", - "description": "The Walther P22 is a blowback operated semi-automatic pistol. It is about half the size of most Walthers. It is made mostly with plastic, with the slide and key components being made of die-cast zinc alloy", + "description": "The Walther P22 is a blowback operated semi-automatic pistol. It is about half the size of most Walthers. It is made mostly with plastic, with the slide and key components being made of die-cast zinc alloy", "weight": "480 g", "volume": "263 ml", "price": 8500, diff --git a/data/json/items/gun/223.json b/data/json/items/gun/223.json index 3ba0c229f2964..fa463b758e29c 100644 --- a/data/json/items/gun/223.json +++ b/data/json/items/gun/223.json @@ -2,6 +2,7 @@ { "id": "acr", "copy-from": "rifle_auto", + "looks_like": "ar15", "type": "GUN", "name": "Remington ACR", "description": "This carbine was developed for military use in the early 21st century. It is damaging and accurate, though its rate of fire is a bit slower than competing .223 carbines.", @@ -18,7 +19,7 @@ "dispersion": 150, "durability": 8, "min_cycle_recoil": 1350, - "burst": 11, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "barrel_length": 1, "built_in_mods": [ "folding_stock" ], "magazines": [ [ "223", [ "stanag30", "stanag50", "survivor223mag" ] ] ] @@ -28,7 +29,7 @@ "copy-from": "rifle_semi", "type": "GUN", "name": "AR-15", - "//": "This is assumed to be the standard model matching the (currently not in-game) M16.", + "//": "This is assumed to be the standard model matching the (currently not in-game) M16. Tileset whitelist for rifles", "description": "This ubiquitous rifle is the forefather of M16 rifle series. It is lightweight and accurate, but will malfunction if not properly maintained. This one is a semi automatic civilian version.", "weight": "2815 g", "volume": "2 L", @@ -47,6 +48,7 @@ { "id": "h&k416a5", "copy-from": "rifle_auto", + "looks_like": "ar15", "type": "GUN", "name": "HK416 A5", "//": "*Current* milspec gear is now ridiculously overpriced, as seen with the M2010 IRL.", @@ -64,12 +66,13 @@ "dispersion": 180, "durability": 8, "min_cycle_recoil": 1350, - "burst": 14, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "magazines": [ [ "223", [ "stanag30", "stanag50", "survivor223mag" ] ] ] }, { "id": "hk_g36", "copy-from": "rifle_auto", + "looks_like": "ar15", "type": "GUN", "name": "H&K G36", "description": "Designed as a replacement for the early H&K G3 battle rifle, the G36 is more accurate, and uses the much-lighter .223 round, allowing for a higher ammo capacity.", @@ -85,12 +88,13 @@ "dispersion": 150, "durability": 8, "min_cycle_recoil": 1350, - "burst": 13, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "magazines": [ [ "223", [ "stanag30", "stanag50", "survivor223mag" ] ] ] }, { "id": "l_bak_223", "copy-from": "pistol_revolver", + "looks_like": "sw_619", "type": "GUN", "name": "L2037 Backup", "name_plural": "L2037 Backups", @@ -119,6 +123,7 @@ { "id": "l_base_223", "copy-from": "rifle_auto", + "looks_like": "ar15", "type": "GUN", "name": "L523 platform", "//": "Current milspec, so Expensive.", @@ -147,7 +152,7 @@ "description": "Leadworks LLC's bullpup L523 platform utilizes the ubiquitous 5.56 round in multiple applications, and is designed to part-swap quickly, safely, and effectively from one to the next. The carbine model incorporates Leadworks' proprietary gyro-stabilization technology and includes a red-dot sight and an integral laser sight. Additionally it comes with underslung shotgun for close range encounters. Like the rest of the family, doesn't accept third-party modifications.", "price": 520000, "durability": 9, - "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 5 ] ], + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "relative": { "weight": 400 }, "built_in_mods": [ "lead_red_dot_sight", "lead_barrel_small", "lead_laser_sight", "lead_u_shotgun", "lead_stabilizer" ], "valid_mod_locations": [ @@ -231,6 +236,7 @@ { "id": "m249", "copy-from": "rifle_auto", + "looks_like": "ar15", "type": "GUN", "name": "M249", "description": "The M249 is a mountable machine gun used by the US military and SWAT teams. Quite inaccurate and difficult to control, the M249 is designed to fire many rounds very quickly.", @@ -247,7 +253,7 @@ "durability": 7, "min_cycle_recoil": 1350, "reload": 400, - "modes": [ [ "DEFAULT", "auto", 12 ] ], + "modes": [ [ "DEFAULT", "burst", 4 ] ], "built_in_mods": [ "bipod" ], "valid_mod_locations": [ [ "accessories", 4 ], @@ -271,13 +277,14 @@ "name": "M27 IAR", "description": "A H&K416 carbine outfitted with a heavier barrel to enable higher amounts of suppressive fire while retaining a good degree of mobility.", "weight": "3495 g", - "burst": 13, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "magazines": [ [ "223", [ "stanag30", "stanag50", "survivor223mag" ] ] ], "relative": { "ranged_damage": 1, "durability": 1 } }, { "id": "m4a1", "copy-from": "rifle_auto", + "looks_like": "ar15", "type": "GUN", "name": "M4A1", "description": "A popular carbine, long used by the US military. Though accurate, small, and lightweight, it is infamous for its unreliability when not properly maintained.", @@ -294,12 +301,13 @@ "dispersion": 180, "durability": 6, "min_cycle_recoil": 1350, - "burst": 14, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "magazines": [ [ "223", [ "stanag30", "stanag50", "survivor223mag" ] ] ] }, { "id": "m16a4", "copy-from": "rifle_semi", + "looks_like": "ar15", "type": "GUN", "name": "M16A4", "description": "The M16 is a very common assault rifle descended from the AR-15, used by militaries across the world for over 50 years. It is a gas operated, rotating bolt rifle known for its accuracy and controllable recoil.", @@ -321,6 +329,7 @@ { "id": "rifle_223", "copy-from": "gun_base", + "looks_like": "ar15", "type": "GUN", "name": "pipe rifle: .223", "name_plural": "pipe rifles: .223", @@ -359,6 +368,7 @@ { "id": "ruger_mini", "copy-from": "rifle_semi", + "looks_like": "ar15", "type": "GUN", "name": "Ruger Mini-14", "description": "A small, lightweight semi-auto carbine designed for civilian and police use. Its superb accuracy and low recoil makes it more suitable than full-auto rifles for some situations.", @@ -395,6 +405,7 @@ { "id": "scar_l", "copy-from": "rifle_auto", + "looks_like": "ar15", "type": "GUN", "name": "FN SCAR-L", "description": "A highly accurate and modular assault rifle specially designed for the United States Special Operations Command. The 'L' in its name stands for light, as it uses the lightweight .223 round.", @@ -411,12 +422,13 @@ "dispersion": 150, "durability": 8, "min_cycle_recoil": 1350, - "burst": 10, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "magazines": [ [ "223", [ "stanag30", "stanag50", "survivor223mag" ] ] ] }, { "id": "sig552", "copy-from": "rifle_auto", + "looks_like": "ar15", "type": "GUN", "name": "SIG 552", "description": "A compact selective fire automatic rifle designed for the Swiss military. It features a three-round burst mode and an integrated folding stock.", @@ -430,13 +442,14 @@ "dispersion": 180, "durability": 9, "min_cycle_recoil": 1350, - "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "3 rd.", 3 ], [ "AUTO", "auto", 12 ] ], + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "3 rd.", 3 ], [ "AUTO", "auto", 4 ] ], "built_in_mods": [ "folding_stock" ], "magazines": [ [ "223", [ "stanag30", "stanag50", "survivor223mag" ] ] ] }, { "id": "steyr_aug", "copy-from": "rifle_auto", + "looks_like": "ar15", "type": "GUN", "name": "Steyr AUG", "description": "The Steyr AUG is an Austrian assault rifle that uses a bullpup design. It is used in the armed forces and police forces of many nations, and enjoys low recoil and high accuracy.", @@ -452,7 +465,7 @@ "dispersion": 140, "durability": 8, "min_cycle_recoil": 1350, - "burst": 12, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "built_in_mods": [ "grip" ], "valid_mod_locations": [ [ "accessories", 4 ], @@ -473,6 +486,7 @@ { "id": "surv_carbine_223", "copy-from": "rifle_semi", + "looks_like": "ar15", "type": "GUN", "name": "handmade carbine", "//": "It's smaller than an M4A1, plus it's a homemade firearm.", diff --git a/data/json/items/gun/270win.json b/data/json/items/gun/270win.json index dbadae8b0f5fb..c064656d5dda4 100644 --- a/data/json/items/gun/270win.json +++ b/data/json/items/gun/270win.json @@ -2,6 +2,7 @@ { "id": "remington700_270", "copy-from": "rifle_manual", + "looks_like": "ar15", "type": "GUN", "name": "Remington 700", "description": "A classic bolt action rifle chambered for .270 Winchester, very polular among hunters. This is a CDL SF model with a forged, fluted, 416 stainless steel barrel threaded into the receiver and a recessed bolt face. It has checkered walnut furniture and a recoil pad to reduce perceived recoil.", diff --git a/data/json/items/gun/300.json b/data/json/items/gun/300.json index f0f20f9ed3523..89c19811439e8 100644 --- a/data/json/items/gun/300.json +++ b/data/json/items/gun/300.json @@ -2,6 +2,7 @@ { "id": "m2010", "copy-from": "rifle_base", + "looks_like": "ar15", "type": "GUN", "name": "M2010 ESR", "name_plural": "M2010 ESR", @@ -24,6 +25,7 @@ { "id": "weatherby_5", "copy-from": "rifle_manual", + "looks_like": "ar15", "type": "GUN", "name": "Weatherby Mark V", "name_plural": "Weatherby Mark V", @@ -47,6 +49,7 @@ { "id": "win70", "copy-from": "rifle_manual", + "looks_like": "ar15", "type": "GUN", "name": "Winchester Model 70", "name_plural": "Winchester Model 70", diff --git a/data/json/items/gun/3006.json b/data/json/items/gun/3006.json index 4680cdf2909dd..993ddb3df9221 100644 --- a/data/json/items/gun/3006.json +++ b/data/json/items/gun/3006.json @@ -1,6 +1,7 @@ [ { "id": "browning_blr", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "Browning BLR", @@ -41,6 +42,7 @@ }, { "id": "garand", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "M1 Garand", @@ -79,6 +81,7 @@ { "id": "m1903", "copy-from": "rifle_manual", + "looks_like": "ar15", "type": "GUN", "name": "M1903 Springfield", "description": "A powerful military rifle chambered in .30-06, developed to replace the US Army's older Krag rifle. Served as the main American rifle in World War I, was used alongside the M1 Garand in World War II, and was used as a sniper rifle as late as the Vietnam War.", @@ -114,6 +117,7 @@ }, { "id": "m1918", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "Browning Automatic Rifle", @@ -131,7 +135,7 @@ "dispersion": 180, "durability": 8, "min_cycle_recoil": 3420, - "burst": 8, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], "barrel_length": 4, "valid_mod_locations": [ [ "accessories", 4 ], @@ -153,6 +157,7 @@ { "id": "remington_700", "copy-from": "rifle_manual", + "looks_like": "ar15", "type": "GUN", "name": "Remington 700", "name_plural": "Remington 700", @@ -174,6 +179,7 @@ }, { "id": "rifle_3006", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "pipe rifle: .30-06", diff --git a/data/json/items/gun/300BLK.json b/data/json/items/gun/300BLK.json index 74ebf2024189e..95459c058ae58 100644 --- a/data/json/items/gun/300BLK.json +++ b/data/json/items/gun/300BLK.json @@ -2,6 +2,7 @@ { "id": "acr_300blk", "copy-from": "rifle_auto", + "looks_like": "ar15", "type": "GUN", "name": "Remington ACR .300BLK", "description": "This carbine was developed for military use in the early 21st century. It is damaging and accurate, though its rate of fire is a bit slower than competing carbines. This version is chambered for the .300 AAC Blackout round.", @@ -18,7 +19,7 @@ "dispersion": 150, "durability": 8, "min_cycle_recoil": 1700, - "burst": 11, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "barrel_length": 1, "built_in_mods": [ "folding_stock" ], "magazines": [ [ "300blk", [ "stanag30", "stanag50", "survivor223mag" ] ] ] @@ -26,6 +27,7 @@ { "id": "iwi_tavor_x95_300blk", "copy-from": "rifle_semi", + "looks_like": "ar15", "type": "GUN", "name": "IWI Tavor X95 .300BLK", "description": "The IWI Tavor X95 (also called Micro-Tavor or MTAR) is an Israeli bullpup assault rifle designed and produced by Israel Weapon Industries. This is the civilian version chambered for .300 AAC Blackout.", @@ -60,24 +62,9 @@ }, { "id": "ar15_retool_300blk", - "copy-from": "rifle_semi", + "copy-from": "ar15", "type": "GUN", "name": "AR-15", - "//": "This is assumed to be the standard model matching the (currently not in-game) M16.", - "description": "This ubiquitous rifle is the forefather of M16 rifle series. It is lightweight and accurate, but will malfunction if not properly maintained. This one is a semi automatic civilian version.", - "weight": "2815 g", - "volume": "2 L", - "price": 125000, - "to_hit": -1, - "bashing": 12, - "material": [ "steel", "plastic" ], - "symbol": "(", - "color": "dark_gray", - "ammo": "223", - "dispersion": 150, - "durability": 7, - "min_cycle_recoil": 1350, - "default_mods": [ "retool_ar15_300blk" ], - "magazines": [ [ "223", [ "stanag30", "stanag50", "survivor223mag" ] ] ] + "default_mods": [ "retool_ar15_300blk" ] } ] diff --git a/data/json/items/gun/308.json b/data/json/items/gun/308.json index d2e1a61019d52..b302b3adf86f0 100644 --- a/data/json/items/gun/308.json +++ b/data/json/items/gun/308.json @@ -2,6 +2,7 @@ { "id": "fn_fal", "copy-from": "rifle_auto", + "looks_like": "ar15", "type": "GUN", "name": "FN FAL", "name_plural": "FN FAL", @@ -19,13 +20,14 @@ "dispersion": 150, "durability": 8, "min_cycle_recoil": 2700, - "burst": 12, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "barrel_length": 2, "magazines": [ [ "308", [ "falmag", "falbigmag" ] ] ] }, { "id": "hk_g3", "copy-from": "rifle_auto", + "looks_like": "ar15", "type": "GUN", "name": "H&K G3", "name_plural": "H&K G3", @@ -43,11 +45,12 @@ "dispersion": 150, "min_cycle_recoil": 2700, "durability": 8, - "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "3 rd.", 3 ], [ "AUTO", "auto", 10 ] ], + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "3 rd.", 3 ], [ "AUTO", "auto", 4 ] ], "magazines": [ [ "308", [ "g3mag", "g3bigmag" ] ] ] }, { "id": "m134", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "M134D-H Minigun", @@ -84,7 +87,7 @@ "weight": "4820 g", "price": 195000, "material": [ "steel", "plastic" ], - "burst": 12, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "valid_mod_locations": [ [ "accessories", 4 ], [ "barrel", 1 ], @@ -103,6 +106,7 @@ { "id": "m1a", "copy-from": "rifle_semi", + "looks_like": "ar15", "type": "GUN", "name": "M1A", "name_plural": "M1A", @@ -140,6 +144,7 @@ { "id": "m240", "copy-from": "rifle_auto", + "looks_like": "ar15", "type": "GUN", "name": "M240", "description": "The M240 is a medium machine gun used by the US military, replacing the older M60. Quite inaccurate and difficult to control, the M240 is designed to fire many rounds very quickly.", @@ -156,7 +161,7 @@ "durability": 9, "min_cycle_recoil": 2700, "reload": 400, - "modes": [ [ "DEFAULT", "auto", 11 ] ], + "modes": [ [ "DEFAULT", "burst", 4 ] ], "built_in_mods": [ "bipod" ], "valid_mod_locations": [ [ "accessories", 4 ], @@ -176,6 +181,7 @@ { "id": "m60", "copy-from": "rifle_auto", + "looks_like": "ar15", "type": "GUN", "name": "M60", "description": "The M60 is a general-purpose machine gun developed to replace the .30-caliber M1918 and M1919. Heavy and difficult to handle fired from the shoulder, as most people aren't action-movie heroes.", @@ -193,7 +199,7 @@ "durability": 7, "min_cycle_recoil": 2700, "reload": 400, - "modes": [ [ "DEFAULT", "auto", 11 ] ], + "modes": [ [ "DEFAULT", "burst", 4 ] ], "built_in_mods": [ "bipod" ], "valid_mod_locations": [ [ "accessories", 4 ], @@ -213,6 +219,7 @@ { "id": "rifle_308", "copy-from": "rifle_manual", + "looks_like": "ar15", "type": "GUN", "name": "pipe rifle: .308", "name_plural": "pipe rifles: .308", @@ -253,6 +260,7 @@ { "id": "savage_111f", "copy-from": "rifle_manual", + "looks_like": "ar15", "type": "GUN", "name": "Savage 111F", "name_plural": "Savage 111F", @@ -276,6 +284,7 @@ { "id": "scar_h", "copy-from": "scar_l", + "looks_like": "ar15", "type": "GUN", "name": "FN SCAR-H", "name_plural": "FN SCAR-H", @@ -289,10 +298,11 @@ { "id": "M24", "copy-from": "rifle_manual", + "looks_like": "ar15", "type": "GUN", "name": "M24", "name_plural": "M24", - "description": "The M24 Sniper is the military and police version of the Remington Model 700 rifle, M24 being the model name assigned by the United States Army after adoption as their standard sniper rifle in 1988. The M24 is referred to as a 'weapon system' because it consists of not only a rifle, but also a detachable telescopic sight and other accessories.", + "description": "The M24 Sniper is the military and police version of the Remington Model 700 rifle, M24 being the model name assigned by the United States Army after adoption as their standard sniper rifle in 1988. The M24 is referred to as a 'weapon system' because it consists of not only a rifle, but also a detachable telescopic sight and other accessories.", "weight": "4500 g", "volume": "2750 ml", "price": 350000, @@ -327,6 +337,7 @@ { "id": "hk417_13", "copy-from": "rifle_auto", + "looks_like": "ar15", "type": "GUN", "name": "HK417 A2", "description": "A German battle rifle with a 13\" barrel and telescopic stock. It is a gas operated, rotating bolt rifle with a short-stroke piston design similar to that of the G36.", @@ -343,13 +354,14 @@ "dispersion": 180, "durability": 8, "min_cycle_recoil": 2700, - "burst": 10, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "default_mods": [ "adjustable_stock" ], "magazines": [ [ "308", [ "hk417mag_20rd", "hk417mag_10rd" ] ] ] }, { "id": "m110a1", "copy-from": "rifle_semi", + "looks_like": "ar15", "type": "GUN", "name": "M110A1", "description": "A derivative of H&K's G28 with an aluminium upper reciever to meet US Army weight requirements. It is a gas operated, rotating bolt rifle accurate to 1.5 MOA with standard ammunition.", @@ -372,6 +384,7 @@ { "id": "ar10", "copy-from": "rifle_semi", + "looks_like": "ar15", "type": "GUN", "name": "AR-10", "description": "Somewhat similar to the later AR-15, the AR-10 is a gas operated, rotating bolt rifle chambered for 7.62x51mm rounds.", diff --git a/data/json/items/gun/32.json b/data/json/items/gun/32.json index 60a45d4b4f255..1667b4d01f7c5 100644 --- a/data/json/items/gun/32.json +++ b/data/json/items/gun/32.json @@ -1,6 +1,7 @@ [ { "id": "sig_p230", + "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, "name": "SIG Sauer P230", @@ -38,6 +39,7 @@ }, { "id": "skorpion_61", + "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, "name": "Skorpion Vz. 61", @@ -56,7 +58,7 @@ "dispersion": 360, "durability": 6, "min_cycle_recoil": 135, - "burst": 14, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 5 ] ], "built_in_mods": [ "folding_stock" ], "valid_mod_locations": [ [ "accessories", 3 ], @@ -77,6 +79,7 @@ }, { "id": "walther_ppk", + "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, "name": "Walther PPK", @@ -114,10 +117,11 @@ }, { "id": "kp32", + "looks_like": "glock_17", "copy-from": "pistol_backup", "type": "GUN", "name": "Kel-Tec P32", - "description": "One of Kel-tec's oldest designs, the P32 is a popular option for deep concealment and backup usage. Despite its extreme light weight and small size, its .32 ACP chambering makes for good handling and recoil control.", + "description": "One of Kel-tec's oldest designs, the P32 is a popular option for deep concealment and backup usage. Despite its extreme light weight and small size, its .32 ACP chambering makes for good handling and recoil control.", "weight": "186 g", "volume": "186ml", "price": 14000, diff --git a/data/json/items/gun/357sig.json b/data/json/items/gun/357sig.json index 9c4962fd88b4c..15dfae8dc94f8 100644 --- a/data/json/items/gun/357sig.json +++ b/data/json/items/gun/357sig.json @@ -2,6 +2,7 @@ { "id": "p226_357sig", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "SIG P226", "description": "A SIG Sauer P226 chambered for .357 SIG. The P226 is a DA/SA, short-recoil operated semi-automatic pistol.", @@ -31,6 +32,7 @@ { "id": "p320_357sig", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "SIG P320", "description": "The P320 is a semi automatic, short recoil operated pistol. This one is chambered for .357 SIG.", diff --git a/data/json/items/gun/36paper.json b/data/json/items/gun/36paper.json index 6faa9d58bb5b0..893f3d27446bb 100644 --- a/data/json/items/gun/36paper.json +++ b/data/json/items/gun/36paper.json @@ -2,6 +2,7 @@ { "id": "colt_navy", "copy-from": "pistol_revolver_cap_ball", + "looks_like": "sw_619", "type": "GUN", "name": "Colt M1861 Navy", "name_plural": "Colt M1861 Navy", diff --git a/data/json/items/gun/38.json b/data/json/items/gun/38.json index 3e90d7224714a..b8e643ce9e539 100644 --- a/data/json/items/gun/38.json +++ b/data/json/items/gun/38.json @@ -1,6 +1,7 @@ [ { "id": "2_shot_special", + "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, "name": "2 Shot Special", @@ -36,17 +37,17 @@ { "id": "cop_38", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", - "name": "COP .38", - "name_plural": "COP .38", - "description": "The COP .38 is a small, chubby derringer pistol that bears a slight resemblance to the Mossberg Brownie. It has four barrels arranged in a square formation.", + "name": "COP .357 Derringer", + "description": "A small, chubby derringer pistol bearing a slight resemblance to the Mossberg Brownie. It uses a rotating firing pin to fire the individual hammers of the four barrels arranged in a square formation.", "weight": "857 g", "volume": "399ml", "price": 120000, "to_hit": -1, "bashing": 3, "material": [ "steel", "wood" ], - "ammo": "38", + "ammo": [ "357mag", "38" ], "range": 3, "dispersion": 520, "durability": 6, @@ -68,6 +69,7 @@ { "id": "rifle_38", "copy-from": "gun_base", + "looks_like": "ar15", "type": "GUN", "name": "pipe rifle: .38 Special", "name_plural": "pipe rifles: .38 Special", @@ -105,6 +107,7 @@ { "id": "ruger_lcr_38", "copy-from": "pistol_revolver", + "looks_like": "sw_619", "type": "GUN", "name": "Ruger LCR .38", "name_plural": "Ruger LCR .38", @@ -139,6 +142,7 @@ { "id": "sw_619", "copy-from": "pistol_revolver", + "//": "Tileset whitelist for revolvers.", "type": "GUN", "name": "S&W 619", "name_plural": "S&W 619", @@ -168,42 +172,5 @@ [ "stock", 1 ], [ "underbarrel", 1 ] ] - }, - { - "id": "taurus_38", - "type": "GUN", - "reload_noise_volume": 10, - "name": "Taurus Pro .38", - "name_plural": "Taurus Pro .38", - "description": "A popular .38 pistol. Designed with numerous safety features and built from high-quality, durable materials.", - "weight": "515 g", - "volume": "500 ml", - "price": 64000, - "to_hit": -2, - "bashing": 8, - "material": [ "steel", "plastic" ], - "symbol": "(", - "color": "dark_gray", - "ammo": "38", - "skill": "pistol", - "dispersion": 480, - "durability": 7, - "min_cycle_recoil": 225, - "valid_mod_locations": [ - [ "accessories", 2 ], - [ "barrel", 1 ], - [ "bore", 1 ], - [ "brass catcher", 1 ], - [ "grip", 1 ], - [ "mechanism", 4 ], - [ "muzzle", 1 ], - [ "rail", 1 ], - [ "sights", 1 ], - [ "stock", 1 ], - [ "underbarrel", 1 ] - ], - "faults": [ "fault_gun_blackpowder", "fault_gun_dirt", "fault_gun_chamber_spent" ], - "magazine_well": 1, - "magazines": [ [ "38", [ "taurus38mag" ] ] ] } ] diff --git a/data/json/items/gun/380.json b/data/json/items/gun/380.json index 22a0d98f7561f..1650d4c0c0f2d 100644 --- a/data/json/items/gun/380.json +++ b/data/json/items/gun/380.json @@ -2,6 +2,7 @@ { "id": "mac_11", "copy-from": "mac_10", + "looks_like": "hk_mp5", "type": "GUN", "name": "MAC-11", "description": "A lesser known variant of the MAC-10, this machine pistol is chambered in .380 ACP for a smaller overall size while remaining inherently subsonic. Smaller in almost every dimension, this inexpensive automatic weapon was declared 'fit only for combat in a phone booth' due to its low weight and absurd fire rate ranging from 1200 to 1400 rounds per minute.", @@ -11,7 +12,7 @@ "bashing": 5, "ammo": "380", "min_cycle_recoil": 270, - "burst": 23, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 6 ] ], "magazines": [ [ "380", [ "mac11mag" ] ] ] }, { @@ -30,6 +31,7 @@ { "id": "fn1910", "copy-from": "pistol_backup", + "looks_like": "glock_17", "type": "GUN", "name": "FN 1910 .380", "description": "Made infamous in Sarajevo in 1914, the FN1910 was a popular pocket pistol, albeit in .32 ACP. Collectors value the .380 model for its notoriety and more modern terminal performance. If such a humble firearm could start a world war, could it perhaps protect you from the undead?", @@ -49,6 +51,7 @@ { "id": "rugerlcp", "copy-from": "pistol_backup", + "looks_like": "glock_17", "type": "GUN", "name": "Ruger LCP", "description": "One of the best selling modern day 'pocket pistol's, the LCP is an affordable, polymer framed pistol chambered in .380 ACP. Despite the round's relatively low power, the pistol's low weight and short sight radius make for a moderately poor handling pistol.", @@ -68,9 +71,10 @@ { "id": "hptcf380", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "Hi-Point CF-380", - "description": "The Hi-Point CF-380 is a blowback operated semi automatic pistol designed by Hi-Point Firearms, which is known for making inexpensive firearms, and for making said firearms bulky and uncomfortable. Hi-Points have slides made with a zinc pot-metal which is relatively fragile compared to steel slides.", + "description": "The Hi-Point CF-380 is a blowback operated semi automatic pistol designed by Hi-Point Firearms, which is known for making inexpensive firearms, and for making said firearms bulky and uncomfortable. Hi-Points have slides made with a zinc pot-metal which is relatively fragile compared to steel slides.", "weight": "709 g", "volume": "539 ml", "price": 7500, @@ -83,5 +87,28 @@ "durability": 7, "magazine_well": 1, "magazines": [ [ "380", [ "hptcf380mag_8rd", "hptcf380mag_10rd" ] ] ] + }, + { + "id": "taurus_spectrum", + "copy-from": "pistol_backup", + "looks_like": "glock_17", + "type": "GUN", + "name": "Taurus Spectrum", + "name_plural": "Taurus Spectrum", + "description": "A .380 subcompact pistol. Designed for concealed carry and built from high-quality, durable materials.", + "weight": "283 g", + "volume": "187 ml", + "price": 64000, + "to_hit": -2, + "bashing": 8, + "material": [ "steel", "aluminum" ], + "symbol": "(", + "color": "dark_gray", + "ammo": "380", + "dispersion": 480, + "durability": 7, + "min_cycle_recoil": 225, + "magazine_well": 1, + "magazines": [ [ "380", [ "taurus_spectrum_mag" ] ] ] } ] diff --git a/data/json/items/gun/38super.json b/data/json/items/gun/38super.json index b6221d38e8415..9331cee1c66ef 100644 --- a/data/json/items/gun/38super.json +++ b/data/json/items/gun/38super.json @@ -2,6 +2,7 @@ { "id": "m1911a1_38super", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "M1911A1", "description": "The M1911A1 is an extremely popular pistol known for its reliability. This one is chambered for .38 Super.", diff --git a/data/json/items/gun/40.json b/data/json/items/gun/40.json index 38b9ea39926fb..afd179307586a 100644 --- a/data/json/items/gun/40.json +++ b/data/json/items/gun/40.json @@ -1,6 +1,7 @@ [ { "id": "glock_22", + "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, "name": "Glock 22", @@ -41,6 +42,7 @@ { "id": "rifle_40", "copy-from": "gun_base", + "looks_like": "ar15", "type": "GUN", "name": "pipe rifle: .40 S&W", "name_plural": "pipe rifles: .40 S&W", @@ -77,6 +79,7 @@ }, { "id": "sig_40", + "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, "name": "SIG Pro .40", @@ -115,6 +118,7 @@ { "id": "smg_40", "copy-from": "smg_base", + "looks_like": "hk_mp5", "type": "GUN", "name": "Luty SMG: .40 S&W", "name_plural": "Luty SMGs: .40 S&W", @@ -133,7 +137,7 @@ "durability": 4, "blackpowder_tolerance": 24, "min_cycle_recoil": 425, - "modes": [ [ "DEFAULT", "auto", 10 ] ], + "modes": [ [ "DEFAULT", "burst", 5 ] ], "loudness": 25, "barrel_length": 1, "valid_mod_locations": [ @@ -153,6 +157,7 @@ }, { "id": "surv_six_shooter", + "looks_like": "sw_619", "type": "GUN", "reload_noise_volume": 10, "name": "handmade six-shooter", @@ -190,6 +195,7 @@ { "id": "sw_610", "copy-from": "pistol_revolver", + "looks_like": "sw_619", "type": "GUN", "name": "S&W 610", "name_plural": "S&W 610", @@ -223,9 +229,10 @@ { "id": "hi_power_40", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "Browning Hi-Power .40 S&W", - "description": "The Browning Hi-Power is a semi-automatic handgun developed shortly before the second world war. Widely issued since then, it remains in use by India, Canada and Australia. This is a commercial variant produced by Browning Arms in .40 S&W.", + "description": "The Browning Hi-Power is a semi-automatic handgun developed shortly before the second world war. Widely issued since then, it remains in use by India, Canada and Australia. This is a commercial variant produced by Browning Arms in .40 S&W.", "weight": "900 g", "volume": "418 ml", "price": 54000, @@ -242,6 +249,7 @@ { "id": "walther_ppq_40", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "Walther PPQ .40 S&W", "description": "The Walther PPQ is a semi-automatic pistol originating from the Walther P99QA, and maintains compatibility with some of its predecessor's accessories. This model is chambered in .40 S&W.", @@ -260,9 +268,10 @@ { "id": "hptjcp", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "Hi-Point Model JCP", - "description": "The Hi-Point Model JCP is a blowback operated semi automatic pistol designed by Hi-Point Firearms, which is known for making inexpensive firearms, and for making said firearms bulky and uncomfortable. Hi-Points have slides made with a zinc pot-metal which is relatively fragile compared to steel slides.", + "description": "The Hi-Point Model JCP is a blowback operated semi automatic pistol designed by Hi-Point Firearms, which is known for making inexpensive firearms, and for making said firearms bulky and uncomfortable. Hi-Points have slides made with a zinc pot-metal which is relatively fragile compared to steel slides.", "weight": "800 g", "volume": "703 ml", "price": 7500, diff --git a/data/json/items/gun/40mm.json b/data/json/items/gun/40mm.json index a9b605ed1ff50..8d535c4bf967d 100644 --- a/data/json/items/gun/40mm.json +++ b/data/json/items/gun/40mm.json @@ -2,6 +2,7 @@ { "id": "launcher_simple", "copy-from": "launcher_base", + "looks_like": "m79", "type": "GUN", "name": "tube 40mm launcher", "description": "A simple, home-made grenade launcher. Basically a tube with a pin firing mechanism to activate the grenade.", @@ -30,6 +31,7 @@ { "id": "m320", "copy-from": "launcher_base", + "looks_like": "m79", "type": "GUN", "name": "M320 stand alone launcher", "description": "Heckler & Koch's M320 grenade launcher offers the functionality of larger launchers in a very small package at the cost of decreased accuracy. This one is combined with a buttstock for stand alone operation.", @@ -49,6 +51,7 @@ { "id": "m79", "copy-from": "launcher_base", + "//": "Tileset whitelist for launchers.", "type": "GUN", "name": "M79 launcher", "description": "A widely-used grenade launcher that first saw use by American forces in the Vietnam war. Though mostly replaced by more modern launchers, the M79 still sees use with many units worldwide.", @@ -78,6 +81,7 @@ { "id": "mark19", "copy-from": "launcher_base", + "looks_like": "m79", "type": "GUN", "name": "Mark 19 grenade launcher", "description": "A heavy, tripod-mounted belt-fed grenade launcher used by the US Military since the start of the cold war all the way to the cataclysm, and if you can find some 40mm grenades, maybe even beyond.", @@ -102,13 +106,14 @@ [ "rail mount", 1 ], [ "underbarrel mount", 1 ] ], - "modes": [ [ "DEFAULT", "semi-auto", 1, "NPC_AVOID" ], [ "AUTO", "auto", 6, "NPC_AVOID" ] ], + "modes": [ [ "DEFAULT", "semi-auto", 1, "NPC_AVOID" ] ], "magazines": [ [ "40mm", [ "belt40mm" ] ] ], "flags": [ "MOUNTED_GUN" ] }, { "id": "mgl", "copy-from": "launcher_base", + "looks_like": "m79", "type": "GUN", "name": "Milkor MGL", "name_plural": "Milkor MGL", @@ -138,6 +143,7 @@ { "id": "rm802", "copy-from": "launcher_base", + "looks_like": "m79", "type": "GUN", "name": "RM802 grenade launcher", "//": "Either Rivtech or milspec would make it Expensive. Combined, you could buy a half-decent car for the price.", diff --git a/data/json/items/gun/410shot.json b/data/json/items/gun/410shot.json index cec4e28b82f9d..e9193a9f89732 100644 --- a/data/json/items/gun/410shot.json +++ b/data/json/items/gun/410shot.json @@ -2,6 +2,7 @@ { "id": "saiga_410", "copy-from": "shotgun_base", + "looks_like": "remington_870", "type": "GUN", "name": "Saiga-410", "description": "The Saiga-410 is a semi-automatic shotgun designed on the same Kalashnikov pattern as the AK47 rifle. It reloads with a magazine, rather than one shell at a time like most shotguns.", diff --git a/data/json/items/gun/44.json b/data/json/items/gun/44.json index ade01e1e26322..d5287ee4b4216 100644 --- a/data/json/items/gun/44.json +++ b/data/json/items/gun/44.json @@ -1,6 +1,7 @@ [ { "id": "deagle_44", + "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, "name": "Desert Eagle .44", @@ -40,6 +41,7 @@ { "id": "henry_big_boy", "copy-from": "rifle_manual", + "looks_like": "ar15", "type": "GUN", "name": "Henry Big Boy .44", "name_plural": "Henry Big Boy .44", @@ -75,6 +77,7 @@ { "id": "rifle_44", "copy-from": "gun_base", + "looks_like": "ar15", "type": "GUN", "name": "pipe rifle: .44 Magnum", "name_plural": "pipe rifles: .44 Magnum", @@ -112,6 +115,7 @@ { "id": "ruger_redhawk", "copy-from": "pistol_revolver", + "looks_like": "sw_619", "type": "GUN", "name": "Ruger Redhawk", "name_plural": "Ruger Redhawk", @@ -145,6 +149,7 @@ { "id": "sw629", "copy-from": "pistol_revolver", + "looks_like": "sw_619", "type": "GUN", "name": "S&W 629", "name_plural": "S&W 629", diff --git a/data/json/items/gun/44paper.json b/data/json/items/gun/44paper.json index 4a5494bb81311..ea204275beebc 100644 --- a/data/json/items/gun/44paper.json +++ b/data/json/items/gun/44paper.json @@ -2,6 +2,7 @@ { "id": "colt_army", "copy-from": "pistol_revolver_cap_ball", + "looks_like": "sw_619", "type": "GUN", "name": "Colt M1860 Army", "name_plural": "Colt M1860 Army", @@ -21,6 +22,7 @@ { "id": "lemat_revolver", "copy-from": "pistol_revolver_cap_ball", + "looks_like": "sw_619", "type": "GUN", "name": "LeMat revolver", "description": "A Pietta reproduction of the civil war era LeMat revolver, a rare and unusual cap & ball .44-caliber revolver. While its original non-standard .42 or .35 caliber curbed its usefulness for the CSA army, this reproduction is offered in more prevalent .44 caliber. Despite modern quality materials, the design is still rather delicate.", diff --git a/data/json/items/gun/45.json b/data/json/items/gun/45.json index efe45ffd50ba3..081546905bd71 100644 --- a/data/json/items/gun/45.json +++ b/data/json/items/gun/45.json @@ -1,6 +1,7 @@ [ { "id": "TDI", + "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, "name": "TDI Vector", @@ -18,7 +19,7 @@ "dispersion": 280, "durability": 7, "min_cycle_recoil": 540, - "burst": 20, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 6 ] ], "valid_mod_locations": [ [ "accessories", 3 ], [ "barrel", 1 ], @@ -39,6 +40,7 @@ }, { "id": "hk_ump45", + "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, "name": "H&K UMP45", @@ -57,7 +59,7 @@ "dispersion": 240, "durability": 8, "min_cycle_recoil": 540, - "burst": 10, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "valid_mod_locations": [ [ "accessories", 3 ], [ "barrel", 1 ], @@ -78,6 +80,7 @@ { "id": "m1911", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "M1911", "//": "You can get 'em for over US$1K if you want. This is a fairly cheap remake.", @@ -101,6 +104,7 @@ { "id": "m1911_MEU", "copy-from": "m1911", + "looks_like": "glock_17", "type": "GUN", "name": "M45A1", "description": "The M45A1 supplanted earlier M45 MEUSOC pistols in use by Force Recon elements of Marine Expeditionary Units. Where the original M45 pistols were gutted M1911A1's hand-fitted by USMC armorers, the updated M45A1's are hardly different from any other commercial 1911 design save for their dual recoil springs. Most were replaced in 2016 with Glock 19's due to logistics issues.", @@ -112,6 +116,7 @@ }, { "id": "mac_10", + "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, "name": "MAC-10", @@ -129,7 +134,7 @@ "dispersion": 520, "durability": 7, "min_cycle_recoil": 540, - "burst": 18, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 5 ] ], "built_in_mods": [ "wire_stock" ], "valid_mod_locations": [ [ "accessories", 3 ], @@ -151,6 +156,7 @@ }, { "id": "rifle_45", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "pipe rifle: .45", @@ -190,6 +196,7 @@ { "id": "smg_45", "copy-from": "smg_base", + "looks_like": "hk_mp5", "type": "GUN", "name": "Luty SMG: .45", "name_plural": "Luty SMGs: .45", @@ -208,7 +215,7 @@ "durability": 4, "blackpowder_tolerance": 24, "min_cycle_recoil": 456, - "modes": [ [ "DEFAULT", "auto", 10 ] ], + "modes": [ [ "DEFAULT", "burst", 5 ] ], "loudness": 25, "barrel_length": 1, "valid_mod_locations": [ @@ -229,6 +236,7 @@ { "id": "surv_hand_cannon", "copy-from": "pistol_revolver", + "looks_like": "sw_619", "type": "GUN", "name": "homemade hand cannon", "//": "On one hand, it's very big for a handgun. On the other, it's still a scrap weapon.", @@ -251,6 +259,7 @@ }, { "id": "tommygun", + "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, "name": "Thompson submachine gun", @@ -269,7 +278,7 @@ "dispersion": 360, "durability": 7, "min_cycle_recoil": 540, - "burst": 10, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "barrel_length": 2, "valid_mod_locations": [ [ "accessories", 3 ], @@ -312,6 +321,7 @@ { "id": "walther_ppq_45", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "Walther PPQ .45 ACP", "description": "The Walther PPQ is a semi-automatic pistol originating from the Walther P99QA, and maintains compatibility with some of its predecessor's accessories. This model is chambered in .45 ACP.", @@ -330,9 +340,10 @@ { "id": "hptjhp", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "Hi-Point Model JHP", - "description": "The Hi-Point Model JHP is a blowback operated semi automatic pistol designed by Hi-Point Firearms, which is known for making inexpensive firearms, and for making said firearms bulky and uncomfortable. Hi-Points have slides made with a zinc pot-metal which is relatively fragile compared to steel slides.", + "description": "The Hi-Point Model JHP is a blowback operated semi automatic pistol designed by Hi-Point Firearms, which is known for making inexpensive firearms, and for making said firearms bulky and uncomfortable. Hi-Points have slides made with a zinc pot-metal which is relatively fragile compared to steel slides.", "weight": "800 g", "volume": "720 ml", "price": 7500, diff --git a/data/json/items/gun/454.json b/data/json/items/gun/454.json index f77932835115d..3ba84f2375fed 100644 --- a/data/json/items/gun/454.json +++ b/data/json/items/gun/454.json @@ -2,6 +2,7 @@ { "id": "raging_bull", "copy-from": "pistol_revolver", + "looks_like": "sw_619", "type": "GUN", "name": "Taurus Raging Bull", "name_plural": "Taurus Raging Bull", diff --git a/data/json/items/gun/4570.json b/data/json/items/gun/4570.json index 676966f184572..10f8df2560f8a 100644 --- a/data/json/items/gun/4570.json +++ b/data/json/items/gun/4570.json @@ -2,6 +2,7 @@ { "id": "1895sbl", "copy-from": "rifle_manual", + "looks_like": "ar15", "type": "GUN", "name": "Marlin 1895 SBL", "description": "A handy but powerful lever-action rifle chambered for .45-70 Government. Designed for wilderness guides for defense against large predators such as grizzly bears, moose, and dinosaurs.", @@ -34,6 +35,7 @@ { "id": "bfr", "copy-from": "pistol_revolver", + "looks_like": "sw_619", "type": "GUN", "name": "Magnum Research BFR", "description": "A massive single-action revolver. While the .45-70 rifle round loses significant velocity in its short pistol barrel, it still competes with other large magnum handguns in terms of power.", @@ -64,6 +66,7 @@ { "id": "sharps", "copy-from": "gun_base", + "looks_like": "ar15", "type": "GUN", "name": "1874 Sharps", "name_plural": "1874 Sharps", diff --git a/data/json/items/gun/45colt.json b/data/json/items/gun/45colt.json index 65a6023bedc52..75c7f9a09d850 100644 --- a/data/json/items/gun/45colt.json +++ b/data/json/items/gun/45colt.json @@ -2,6 +2,7 @@ { "id": "colt_saa", "copy-from": "pistol_revolver", + "looks_like": "sw_619", "type": "GUN", "name": "Uberti Cattleman", "name_plural": "Uberti Cattleman", diff --git a/data/json/items/gun/46.json b/data/json/items/gun/46.json index e10f0cbb196a2..45dac19c34820 100644 --- a/data/json/items/gun/46.json +++ b/data/json/items/gun/46.json @@ -1,6 +1,7 @@ [ { "id": "hk_mp7", + "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, "name": "H&K MP7A2", @@ -18,7 +19,7 @@ "dispersion": 260, "durability": 8, "min_cycle_recoil": 81, - "burst": 16, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 5 ] ], "built_in_mods": [ "wire_stock" ], "valid_mod_locations": [ [ "accessories", 3 ], diff --git a/data/json/items/gun/460.json b/data/json/items/gun/460.json index 0714108e5c7b9..2e3772e6522ff 100644 --- a/data/json/items/gun/460.json +++ b/data/json/items/gun/460.json @@ -27,6 +27,7 @@ { "id": "l_enforcer_45", "copy-from": "pistol_revolver", + "looks_like": "sw_619", "type": "GUN", "name": "L2031 Enforcer", "name_plural": "L2031 Enforcer", @@ -59,6 +60,7 @@ }, { "id": "l_long_45", + "looks_like": "sw_619", "type": "GUN", "reload_noise_volume": 10, "name": "L1820 Long Ranger", diff --git a/data/json/items/gun/50.json b/data/json/items/gun/50.json index 34d771db244aa..b34f088fda80c 100644 --- a/data/json/items/gun/50.json +++ b/data/json/items/gun/50.json @@ -2,6 +2,7 @@ { "id": "m107a1", "copy-from": "rifle_base", + "looks_like": "ar15", "type": "GUN", "name": "Barrett M107A1", "name_plural": "Barrett M107A1", @@ -16,7 +17,7 @@ "ammo": "50", "range": 100, "ranged_damage": -5, - "dispersion": 90, + "dispersion": 130, "durability": 8, "barrel_length": 5, "default_mods": [ "bipod", "rifle_scope", "muzzle_brake" ], @@ -27,6 +28,7 @@ { "id": "m2browning", "copy-from": "gun_base", + "looks_like": "ar15", "type": "GUN", "name": "M2HB Browning HMG", "name_plural": "M2HB Browning HMG", @@ -40,11 +42,11 @@ "ammo": "50", "skill": "rifle", "range": 110, - "dispersion": 200, + "dispersion": 250, "durability": 8, "reload": 400, "barrel_length": 5, - "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 8 ] ], + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], "valid_mod_locations": [ [ "accessories", 4 ], [ "barrel", 1 ], @@ -89,13 +91,14 @@ { "id": "as50", "copy-from": "rifle_base", + "looks_like": "ar15", "type": "GUN", "name": "AI AS50", "description": ".50 caliber anti-materiel rifle made by Accuracy International. With high accuracy for long range target and high fire rate, this weapon is still being used by Greek national guard.", "weight": "14000 g", "volume": "3500 ml", "price": 1500000, - "to-hit": -1, + "to_hit": -1, "bashing": 13, "material": "steel", "ammo": "50", @@ -113,13 +116,14 @@ { "id": "tac50", "copy-from": "rifle_base", + "looks_like": "ar15", "type": "GUN", "name": "McMillan TAC-50", "description": "A long-range anti-materiel and anti-personnel sniper rifle made by McMillan Firearms, serving the Canadian Army since 2000 as the C15, and the Navy Seals as the Mk 15 Mod 0. This .50 caliber bolt-action rifle is capable of defeating light vehicles, radar installations and crew served weapons at extreme distances. It notably holds the longest range confirmed sniper kill, as well as the 4th and 5th longest.", "weight": "11800 g", "volume": "3127 ml", "price": 870000, - "to-hit": -1, + "to_hit": -1, "bashing": 12, "material": "steel", "ammo": "50", @@ -137,13 +141,14 @@ { "id": "bfg50", "copy-from": "rifle_base", + "looks_like": "ar15", "type": "GUN", "name": "Serbu BFG-50", "description": "A single-shot, bolt-action rifle made by Serbu Firearms, the BFG-50 is a very affordable firearm for those wishing to shoot .50 BMG.", "weight": "8504 g", "volume": "1387 ml", "price": 239500, - "to-hit": -1, + "to_hit": -1, "bashing": 12, "material": "steel", "ammo": "50", diff --git a/data/json/items/gun/500.json b/data/json/items/gun/500.json index 914e52db98862..6f3f6694b60f0 100644 --- a/data/json/items/gun/500.json +++ b/data/json/items/gun/500.json @@ -2,6 +2,7 @@ { "id": "bh_m89", "copy-from": "rifle_manual", + "looks_like": "ar15", "type": "GUN", "name": "Big Horn Model 89", "name_plural": "Big Horn Model 89", @@ -37,6 +38,7 @@ { "id": "sw_500", "copy-from": "pistol_revolver", + "looks_like": "sw_619", "type": "GUN", "name": "S&W 500", "name_plural": "S&W 500", diff --git a/data/json/items/gun/545x39.json b/data/json/items/gun/545x39.json index c4b827601b875..8f3fac8ea789c 100644 --- a/data/json/items/gun/545x39.json +++ b/data/json/items/gun/545x39.json @@ -1,6 +1,7 @@ [ { "id": "ak74", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "AK-74M", @@ -18,7 +19,7 @@ "skill": "rifle", "dispersion": 150, "durability": 8, - "burst": 10, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "barrel_length": 1, "valid_mod_locations": [ [ "accessories", 4 ], @@ -39,6 +40,7 @@ }, { "id": "an94", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "AN-94", @@ -56,7 +58,7 @@ "dispersion": 150, "durability": 7, "barrel_length": 1, - "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "2 rd.", 2 ], [ "AUTO", "auto", 10 ] ], + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "2 rd.", 2 ], [ "AUTO", "auto", 4 ] ], "valid_mod_locations": [ [ "accessories", 4 ], [ "barrel", 1 ], diff --git a/data/json/items/gun/57.json b/data/json/items/gun/57.json index dc9c8698600ce..0c2e2d8b7edd8 100644 --- a/data/json/items/gun/57.json +++ b/data/json/items/gun/57.json @@ -1,6 +1,7 @@ [ { "id": "fn57", + "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, "name": "FN Five-Seven", @@ -37,6 +38,7 @@ }, { "id": "fn_p90", + "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, "name": "FN P90", @@ -54,7 +56,7 @@ "dispersion": 260, "durability": 8, "min_cycle_recoil": 81, - "burst": 15, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 5 ] ], "valid_mod_locations": [ [ "accessories", 3 ], [ "barrel", 1 ], diff --git a/data/json/items/gun/5x50.json b/data/json/items/gun/5x50.json index 1827c111e41d3..f26e0aaedb6cc 100644 --- a/data/json/items/gun/5x50.json +++ b/data/json/items/gun/5x50.json @@ -1,6 +1,7 @@ [ { "id": "needlegun", + "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, "name": "RM216 SPIW", @@ -20,7 +21,7 @@ "dispersion": 220, "durability": 9, "barrel_length": 1, - "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "5 rd.", 5 ], [ "AUTO", "auto", 10 ] ], + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "5 rd.", 5 ], [ "AUTO", "auto", 4 ] ], "valid_mod_locations": [ [ "accessories", 3 ], [ "barrel", 1 ], @@ -40,6 +41,7 @@ }, { "id": "needlepistol", + "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, "name": "RM232 IDW", @@ -56,7 +58,7 @@ "skill": "pistol", "dispersion": 280, "durability": 9, - "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "2 rd.", 2 ], [ "AUTO", "auto", 5 ] ], + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "2 rd.", 2 ], [ "AUTO", "auto", 4 ] ], "valid_mod_locations": [ [ "accessories", 3 ], [ "brass catcher", 1 ], diff --git a/data/json/items/gun/66mm.json b/data/json/items/gun/66mm.json index c685a0d489b9b..80d5c0b625ab5 100644 --- a/data/json/items/gun/66mm.json +++ b/data/json/items/gun/66mm.json @@ -1,6 +1,7 @@ [ { "id": "m202_flash", + "looks_like": "m79", "type": "GUN", "symbol": "(", "color": "dark_gray", diff --git a/data/json/items/gun/700nx.json b/data/json/items/gun/700nx.json index b1f3c43d71b3b..a96641cf74f1d 100644 --- a/data/json/items/gun/700nx.json +++ b/data/json/items/gun/700nx.json @@ -1,6 +1,7 @@ [ { "id": "trex_gun", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "Elephant gun", diff --git a/data/json/items/gun/762.json b/data/json/items/gun/762.json index 875861494f443..745915174ea58 100644 --- a/data/json/items/gun/762.json +++ b/data/json/items/gun/762.json @@ -1,6 +1,7 @@ [ { "id": "ak47", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "AKM", @@ -17,7 +18,7 @@ "skill": "rifle", "dispersion": 180, "durability": 9, - "burst": 10, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "barrel_length": 1, "valid_mod_locations": [ [ "accessories", 4 ], @@ -38,6 +39,7 @@ }, { "id": "arx160", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "Beretta ARX-160", @@ -56,7 +58,7 @@ "skill": "rifle", "dispersion": 160, "durability": 9, - "burst": 12, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "barrel_length": 1, "default_mods": [ "folding_stock" ], "valid_mod_locations": [ @@ -77,6 +79,7 @@ }, { "id": "sks", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "SKS", diff --git a/data/json/items/gun/762R.json b/data/json/items/gun/762R.json index bf11bf1efe134..1ad817a62305d 100644 --- a/data/json/items/gun/762R.json +++ b/data/json/items/gun/762R.json @@ -36,6 +36,7 @@ { "id": "mosin91_30", "copy-from": "rifle_manual", + "looks_like": "ar15", "type": "GUN", "name": "Mosin-Nagant 1891/30", "name_plural": "Mosin-Nagant 1891/30", diff --git a/data/json/items/gun/762x25.json b/data/json/items/gun/762x25.json index 5390e997bf5e0..7b3aad011a54b 100644 --- a/data/json/items/gun/762x25.json +++ b/data/json/items/gun/762x25.json @@ -1,6 +1,7 @@ [ { "id": "ppsh", + "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, "name": "PPSh-41", @@ -21,7 +22,7 @@ "durability": 8, "min_cycle_recoil": 270, "barrel_length": 2, - "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 15 ] ], + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 5 ] ], "valid_mod_locations": [ [ "accessories", 3 ], [ "barrel", 1 ], @@ -41,6 +42,7 @@ { "id": "tokarev", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "Tokarev TT-33", "name_plural": "Tokarev TT-33", diff --git a/data/json/items/gun/84x246mm.json b/data/json/items/gun/84x246mm.json index 535f0635808f7..6ddbc30be2db1 100644 --- a/data/json/items/gun/84x246mm.json +++ b/data/json/items/gun/84x246mm.json @@ -1,6 +1,7 @@ [ { "id": "m3_carlgustav", + "looks_like": "m79", "type": "GUN", "reload_noise_volume": 10, "symbol": "(", diff --git a/data/json/items/gun/8x40mm.json b/data/json/items/gun/8x40mm.json index 9845f215b3620..f169ff2fcf163 100644 --- a/data/json/items/gun/8x40mm.json +++ b/data/json/items/gun/8x40mm.json @@ -1,6 +1,7 @@ [ { "id": "rm103a_pistol", + "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, "name": "RM103A automagnum", @@ -35,6 +36,7 @@ }, { "id": "rm11b_sniper_rifle", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "RM11B scout rifle", @@ -53,7 +55,7 @@ "ranged_damage": 10, "dispersion": 10, "durability": 9, - "burst": 2, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 2 ] ], "barrel_length": 3, "built_in_mods": [ "riv_scope", "riv_suppressor" ], "valid_mod_locations": [ @@ -71,6 +73,7 @@ }, { "id": "rm2000_smg", + "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, "name": "RM2000 submachine gun", @@ -87,7 +90,7 @@ "skill": "smg", "dispersion": 120, "durability": 9, - "burst": 5, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "valid_mod_locations": [ [ "accessories", 3 ], [ "grip", 1 ], @@ -123,7 +126,7 @@ "ranged_damage": 10, "dispersion": 90, "durability": 9, - "burst": 30, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 6 ] ], "reload": 400, "barrel_length": 6, "magazine_well": 6, @@ -150,7 +153,7 @@ "ranged_damage": 5, "dispersion": 50, "durability": 9, - "burst": 5, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], "valid_mod_locations": [ [ "accessories", 4 ], [ "grip", 1 ], @@ -187,7 +190,7 @@ "durability": 9, "reload": 200, "barrel_length": 2, - "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "4 rd.", 4 ], [ "AUTO", "auto", 20 ] ], + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "4 rd.", 4 ], [ "AUTO", "auto", 6 ] ], "valid_mod_locations": [ [ "accessories", 4 ], [ "barrel", 1 ], @@ -222,7 +225,7 @@ "ranged_damage": 10, "dispersion": 30, "durability": 9, - "burst": 10, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "barrel_length": 2, "valid_mod_locations": [ [ "accessories", 4 ], diff --git a/data/json/items/gun/9mm.json b/data/json/items/gun/9mm.json index 542d29cd3ea68..274a0b74924df 100644 --- a/data/json/items/gun/9mm.json +++ b/data/json/items/gun/9mm.json @@ -1,6 +1,7 @@ [ { "id": "calico", + "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, "name": "Calico M960", @@ -21,7 +22,7 @@ "dispersion": 280, "durability": 6, "min_cycle_recoil": 450, - "burst": 13, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "valid_mod_locations": [ [ "accessories", 3 ], [ "barrel", 1 ], @@ -42,6 +43,7 @@ }, { "id": "cx4", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "Cx4 Storm", @@ -83,6 +85,7 @@ { "id": "glock_19", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "Glock 19", "description": "Possibly the most popular pistol in existence. The Glock 19 is often derided for its plastic construction, but it is easy to shoot.", @@ -105,6 +108,7 @@ }, { "id": "hk_mp5", + "//": "Tileset whitelist for SMGs", "type": "GUN", "reload_noise_volume": 10, "name": "H&K MP5A2", @@ -124,7 +128,7 @@ "durability": 8, "min_cycle_recoil": 450, "blackpowder_tolerance": 32, - "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "3 rd.", 3 ], [ "AUTO", "auto", 13 ] ], + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "3 rd.", 3 ], [ "AUTO", "auto", 4 ] ], "valid_mod_locations": [ [ "accessories", 3 ], [ "barrel", 1 ], @@ -162,7 +166,7 @@ [ "sling", 1 ], [ "stock", 1 ] ], - "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "3 rd.", 3 ], [ "AUTO", "auto", 12 ] ], + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "3 rd.", 3 ], [ "AUTO", "auto", 4 ] ], "built_in_mods": [ "mp5sd_suppressor" ] }, { @@ -237,6 +241,7 @@ }, { "id": "ksub2000", + "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, "name": "Kel-Tec SUB-2000", @@ -278,6 +283,7 @@ { "id": "l_lookout_9mm", "copy-from": "l_enforcer_45", + "looks_like": "sw_619", "type": "GUN", "name": "L2032 Lookout", "name_plural": "L2032 Lookout", @@ -294,12 +300,13 @@ "//": "The M93R can go through up to 110 rounds in six seconds, FWIW.", "description": "A selective-firing 9x19mm handgun introduced by Leadworks LLC's, L39B provides accurate single-shot placement as well as controllable short-range firepower with its three-round burst mode. Users praised its accuracy and fearsome appearance. Comes with built in red dot and laser sights. Similar to other Leadworks products it doesn't accept third-party modifications.", "price": 95000, - "burst": 3, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "BURST", "3 rd.", 3 ] ], "relative": { "weight": 130, "durability": -1 } }, { "id": "l_sp_9mm", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "L39", "//": "L39s are based off the Robocop Auto-9, in turn a dolled-up Beretta 93R.", @@ -335,6 +342,7 @@ { "id": "m9", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "Beretta M9", "description": "A very popular 9x19mm pistol, the M9 has been the standard issue sidearm of the US army since 1985.", @@ -356,6 +364,7 @@ }, { "id": "rifle_9mm", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "pipe rifle: 9x19mm", @@ -396,6 +405,7 @@ { "id": "smg_9mm", "copy-from": "smg_base", + "looks_like": "hk_mp5", "type": "GUN", "name": "Luty SMG: 9x19mm", "name_plural": "Luty SMGs: 9x19mm", @@ -414,7 +424,7 @@ "durability": 4, "blackpowder_tolerance": 24, "min_cycle_recoil": 380, - "modes": [ [ "DEFAULT", "auto", 10 ] ], + "modes": [ [ "DEFAULT", "burst", 5 ] ], "loudness": 25, "barrel_length": 1, "valid_mod_locations": [ @@ -434,6 +444,7 @@ }, { "id": "sten", + "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 10, "name": "STEN", @@ -452,7 +463,7 @@ "durability": 5, "blackpowder_tolerance": 24, "min_cycle_recoil": 450, - "modes": [ [ "DEFAULT", "auto", 10 ] ], + "modes": [ [ "DEFAULT", "burst", 4 ] ], "valid_mod_locations": [ [ "accessories", 2 ], [ "muzzle", 1 ], @@ -468,6 +479,7 @@ }, { "id": "tec9", + "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, "name": "TEC-9", @@ -486,7 +498,7 @@ "dispersion": 520, "durability": 6, "min_cycle_recoil": 450, - "modes": [ [ "DEFAULT", "auto", 8 ] ], + "modes": [ [ "DEFAULT", "burst", 4 ] ], "valid_mod_locations": [ [ "accessories", 3 ], [ "barrel", 1 ], @@ -508,6 +520,7 @@ { "id": "usp_9mm", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "USP 9mm", "name_plural": "USP 9mm", @@ -532,6 +545,7 @@ { "id": "uzi", "copy-from": "smg_base", + "looks_like": "hk_mp5", "type": "GUN", "name": "Uzi 9mm", "name_plural": "Uzi 9mm", @@ -549,7 +563,7 @@ "dispersion": 360, "durability": 7, "min_cycle_recoil": 450, - "burst": 10, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "built_in_mods": [ "folding_stock" ], "valid_mod_locations": [ [ "accessories", 3 ], @@ -571,6 +585,7 @@ { "id": "glock_17", "copy-from": "pistol_base", + "//": "Tilelist whitelist for pistols.", "type": "GUN", "name": "Glock 17", "description": "Designed for all shooters, the Glock 17 is marketed towards law-enforcement and military.", @@ -598,7 +613,7 @@ "name": "Glock 18C", "description": "A selective fire variation on the Glock 17, originally designed for Austria's EKO Cobra unit. It has compensator cuts along its barrel to make recoil more manageable.", "price": 100000, - "burst": 20, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 6 ] ], "built_in_mods": [ "barrel_ported" ] }, { @@ -619,6 +634,7 @@ { "id": "m17", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "M17", "description": "The M17 is a semi automatic, short recoil operated pistol derived from the SIG Sauer P320.", @@ -639,9 +655,10 @@ { "id": "hi_power_9mm", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "Browning Hi-Power 9x19mm", - "description": "The Browning Hi-Power is a semi-automatic handgun developed shortly before the second world war. Widely issued since then, it remains in use by India, Canada and Australia. This is a commercial variant produced by Browning Arms in 9x19mm Parabellum.", + "description": "The Browning Hi-Power is a semi-automatic handgun developed shortly before the second world war. Widely issued since then, it remains in use by India, Canada and Australia. This is a commercial variant produced by Browning Arms in 9x19mm Parabellum.", "weight": "900 g", "volume": "418 ml", "price": 32000, @@ -658,9 +675,10 @@ { "id": "walther_p38", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "Walther P38", - "description": "The Walther P38 is a semi-automatic handgun adopted shortly before the second world war. Developed due to the high production costs of its predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. This early DA/SA locked-breech design would introduce features later seen on more modern firearms such as the Beretta 92 series, and served Germany until 2004.", + "description": "The Walther P38 is a semi-automatic handgun adopted shortly before the second world war. Developed due to the high production costs of its predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. This early DA/SA locked-breech design would introduce features later seen on more modern firearms such as the Beretta 92 series, and served Germany until 2004.", "weight": "950 g", "volume": "547 ml", "price": 39000, @@ -677,9 +695,10 @@ { "id": "walther_ppq_9mm", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "Walther PPQ 9mm", - "description": "The Walther PPQ is a semi-automatic pistol originating from the Walther P99QA, and maintains compatibility with some of its predecessor's accessories. This model is chambered in 9x19mm Parabellum.", + "description": "The Walther PPQ is a semi-automatic pistol originating from the Walther P99QA, and maintains compatibility with some of its predecessor's accessories. This model is chambered in 9x19mm Parabellum.", "weight": "615 g", "volume": "413 ml", "price": 65000, @@ -695,9 +714,10 @@ { "id": "hptc9", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "Hi-Point C-9", - "description": "The Hi-Point C-9 is a blowback operated semi automatic pistol designed by Hi-Point Firearms, which is known for making inexpensive firearms, and for making said firearms bulky and uncomfortable. Hi-Points have slides made with a zinc pot-metal which is relatively fragile compared to steel slides.", + "description": "The Hi-Point C-9 is a blowback operated semi automatic pistol designed by Hi-Point Firearms, which is known for making inexpensive firearms, and for making said firearms bulky and uncomfortable. Hi-Points have slides made with a zinc pot-metal which is relatively fragile compared to steel slides.", "weight": "709 g", "volume": "539 ml", "price": 7500, @@ -714,9 +734,10 @@ { "id": "cz75", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "CZ-75", - "description": "The CZ-75 is a semi-automatic pistol developed in Czechoslovakia, and is one of the original wonder nines. Though designed for export to western countries, it was declared a state secret; lack of international patent protection meant that many clones and variants were produced and distributed around the world, with Česká zbrojovka only joining in the 90's. This pistol remains wildly popular among competition shooters.", + "description": "The CZ-75 is a semi-automatic pistol developed in Czechoslovakia, and is one of the original wonder nines. Though designed for export to western countries, it was declared a state secret; lack of international patent protection meant that many clones and variants were produced and distributed around the world, with Česká zbrojovka only joining in the 90's. This pistol remains wildly popular among competition shooters.", "weight": "1120 g", "volume": "526 ml", "price": 10000, @@ -733,9 +754,10 @@ { "id": "walther_ccp", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "Walther CCP", - "description": "The Walther CCP is a gas-delayed blowback semi-automatic pistol intended for the concealed carry consumer market. Internally, it is nearly identical to the cult classic H&K P7. Its fixed barrel design makes it potentially more accurate than many other pistols, though this may difficult to realize with its average trigger and short sight radius.", + "description": "The Walther CCP is a gas-delayed blowback semi-automatic pistol intended for the concealed carry consumer market. Internally, it is nearly identical to the cult classic H&K P7. Its fixed barrel design makes it potentially more accurate than many other pistols, though this may difficult to realize with its average trigger and short sight radius.", "weight": "633 g", "volume": "318 ml", "price": 12500, diff --git a/data/json/items/gun/9x18.json b/data/json/items/gun/9x18.json index 78d0fb13b3bc9..6a3fd5e7c56a2 100644 --- a/data/json/items/gun/9x18.json +++ b/data/json/items/gun/9x18.json @@ -2,6 +2,7 @@ { "id": "makarov", "copy-from": "pistol_base", + "looks_like": "glock_17", "type": "GUN", "name": "Makarov PM", "//": "10 and 12-round magazines exist, but were made for the newer PMM, and are not compatible with the old PM.", @@ -36,6 +37,7 @@ { "id": "skorpion_82", "copy-from": "skorpion_61", + "looks_like": "hk_mp5", "type": "GUN", "name": "Skorpion Vz. 82", "//": "Total unloaded weight of gun 1451.496 grams, rounded to 1451. Current weight of folding stock 200 grams.", @@ -43,7 +45,7 @@ "weight": "1251 g", "ammo": "9x18", "min_cycle_recoil": 270, - "burst": 15, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 5 ] ], "magazines": [ [ "9x18", [ "skorpion82mag" ] ] ] } ] diff --git a/data/json/items/gun/atgm.json b/data/json/items/gun/atgm.json index 0f85ccb6cda32..d40799d31dffb 100644 --- a/data/json/items/gun/atgm.json +++ b/data/json/items/gun/atgm.json @@ -2,6 +2,7 @@ { "id": "atgm_launcher", "copy-from": "gun_base", + "looks_like": "m79", "type": "GUN", "name": "BGM-71F TOW", "name_plural": "BGM-71F TOW", diff --git a/data/json/items/gun/bio.json b/data/json/items/gun/bio.json index 1d7fef4a58782..421e1f75697e7 100644 --- a/data/json/items/gun/bio.json +++ b/data/json/items/gun/bio.json @@ -1,6 +1,7 @@ [ { "id": "bio_shotgun_gun", + "looks_like": "remington_870", "type": "GUN", "name": "bionic shotgun", "description": "Bionic one-shot retracting shotgun integrated with your arm.", @@ -39,7 +40,6 @@ "//": "This is a pulse, not a laser. It's a point and shoot system, like a shotgun but even more so since this is a single mass.", "durability": 10, "loudness": 20, - "reload": 0, "modes": [ [ "DEFAULT", "auto", 5 ] ], "ammo_effects": [ "DRAW_AS_LINE", "WIDE", "EMP" ], "flags": [ "NEVER_JAMS", "NO_UNLOAD", "TRADER_AVOID" ] @@ -62,7 +62,6 @@ "dispersion": 10, "durability": 10, "loudness": 7, - "reload": 500, "ammo_effects": [ "LASER", "INCENDIARY" ], "flags": [ "NEVER_JAMS", "TRADER_AVOID", "FIRESTARTER" ] }, @@ -83,7 +82,6 @@ "dispersion": 10, "durability": 10, "loudness": 10, - "reload": 500, "ammo_effects": [ "LIGHTNING", "BOUNCE" ], "flags": [ "NEVER_JAMS", "TRADER_AVOID" ] }, @@ -104,7 +102,6 @@ "dispersion": 600, "durability": 10, "loudness": 5, - "reload": 500, "ammo_effects": [ "SHOT" ], "flags": [ "NEVER_JAMS", "TRADER_AVOID" ] } diff --git a/data/json/items/gun/blunderbuss.json b/data/json/items/gun/blunderbuss.json index 1dbd7fac55f2b..cbd6e016dbf9f 100644 --- a/data/json/items/gun/blunderbuss.json +++ b/data/json/items/gun/blunderbuss.json @@ -1,6 +1,7 @@ [ { "id": "blunderbuss", + "looks_like": "remington_870", "type": "GUN", "reload_noise_volume": 10, "name": "blunderbuss", diff --git a/data/json/items/gun/chemical_spray.json b/data/json/items/gun/chemical_spray.json index 9e7dc9c1eb01e..f7c5cf6ab8f90 100644 --- a/data/json/items/gun/chemical_spray.json +++ b/data/json/items/gun/chemical_spray.json @@ -2,6 +2,7 @@ { "id": "chemical_thrower", "copy-from": "gun_base", + "looks_like": "m79", "type": "GUN", "reload_noise": "slosh.", "name": "makeshift chemical thrower", @@ -12,7 +13,7 @@ "to_hit": -1, "bashing": 9, "material": [ "steel", "plastic" ], - "flags": [ "FIRE_50", "NEVER_JAMS" ], + "flags": [ "FIRE_50", "NEVER_JAMS", "NON-FOULING" ], "skill": "launcher", "ammo": "chemical_spray", "dispersion": 300, diff --git a/data/json/items/gun/faults_gun.json b/data/json/items/gun/faults_gun.json index 4c483f4cfb25d..850ad97070071 100644 --- a/data/json/items/gun/faults_gun.json +++ b/data/json/items/gun/faults_gun.json @@ -3,33 +3,56 @@ "id": "fault_gun_blackpowder", "type": "fault", "name": "Blackpowder fouling", - "description": "Firing blackpowder loads from a gun fouls it, which reduces reliability and, if left uncleaned, leads to rust. It fouls the gun much faster than the use of modern smokeless powder cartridges. Fouling is only a significant impact on reliability at high levels, but black powder fouling accumulates quickly.", - "time": "50 m", - "skills": [ [ "mechanics", 1 ] ], - "requirements": { - "qualities": [ { "id": "SCREW", "level": 1 } ], - "tools": [ [ [ "pipe_cleaner", -1 ], [ "small_repairkit", -1 ], [ "large_repairkit", -1 ] ] ] - } + "description": "Firing blackpowder loads from a gun fouls it, which reduces reliability and, if left uncleaned, leads to rust. It fouls the gun much faster than the use of modern smokeless powder cartridges. Fouling is only a significant impact on reliability at high levels, but black powder fouling accumulates quickly.", + "mending_methods": [ + { + "id": "mend_fault_gun_blackpowder_clean", + "name": "Clean blackpowder fouling", + "success_msg": "You clean your %s.", + "time": "50 m", + "skills": [ { "id": "mechanics", "level": 1 } ], + "requirements": { + "qualities": [ { "id": "SCREW", "level": 1 } ], + "tools": [ [ [ "pipe_cleaner", -1 ], [ "small_repairkit", -1 ], [ "large_repairkit", -1 ] ] ] + } + } + ], + "flags": [ "SILENT" ] }, { "id": "fault_gun_chamber_spent", "type": "fault", "name": "Spent casing in chamber", "description": "This gun currently has an empty casing chambered. It will have to be removed before firing.", - "time": 50, - "skills": [ ], - "requirements": { } + "mending_methods": [ + { + "id": "mend_fault_gun_chamber_spent_eject", + "name": "Eject spent casing", + "success_msg": "You eject the spent casing from the %s.", + "time": "1 s", + "skills": [ ], + "requirements": { } + } + ] }, { "id": "fault_gun_dirt", "type": "fault", "name": "Fouling", - "description": "Fouling is caused by firing gunpowder loads repeatedly, which reduces reliability and can eventually cause damage to the gun. Fouling accumulates slowly (unless blackpowder is used) due to the design of modern smokeless powder found in the vast majority of retail cartridges and it is not a significant problem until high levels of fouling are reached due to firing thousands of rounds without cleaning your firearm.", - "time": "50 m", - "skills": [ [ "mechanics", 1 ] ], - "requirements": { - "qualities": [ { "id": "SCREW", "level": 1 } ], - "tools": [ [ [ "pipe_cleaner", -1 ], [ "small_repairkit", -1 ], [ "large_repairkit", -1 ] ] ] - } + "description": "Fouling is caused by firing gunpowder loads repeatedly, which reduces reliability and can eventually cause damage to the gun. Fouling accumulates slowly (unless blackpowder is used) due to the design of modern smokeless powder found in the vast majority of retail cartridges and it is not a significant problem until high levels of fouling are reached due to firing thousands of rounds without cleaning your firearm.", + "mending_methods": [ + { + "id": "mend_fault_gun_dirt_clean", + "name": "Clean gun", + "success_msg": "You clean you %s.", + "time": "50 m", + "skills": [ { "id": "mechanics", "level": 1 } ], + "requirements": { + "qualities": [ { "id": "SCREW", "level": 1 } ], + "tools": [ [ [ "pipe_cleaner", -1 ], [ "small_repairkit", -1 ], [ "large_repairkit", -1 ] ] ] + } + } + ], + "flags": [ "SILENT" ] } ] diff --git a/data/json/items/gun/flammable.json b/data/json/items/gun/flammable.json index f085a27d79d28..df307bda7cee2 100644 --- a/data/json/items/gun/flammable.json +++ b/data/json/items/gun/flammable.json @@ -2,6 +2,7 @@ { "id": "flamethrower", "copy-from": "flamethrower_base", + "looks_like": "m79", "type": "GUN", "name": "flamethrower", "description": "A large flamethrower with substantial gas reserves. Very menacing and deadly.", @@ -14,7 +15,7 @@ "range": 6, "dispersion": 300, "durability": 8, - "burst": 4, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "valid_mod_locations": [ [ "accessories", 1 ], [ "grip", 1 ], @@ -29,6 +30,7 @@ { "id": "rm451_flamethrower", "copy-from": "flamethrower_base", + "looks_like": "m79", "type": "GUN", "name": "RM451 flamethrower", "description": "A military-grade combat flamethrower designed by Rivtech, the RM451 flamethrower incorporates a cycling pressure rapid-feed fuel system with a high-speed piezoelectric igniter. Solidly built with durability in mind, it serves as an incredibly destructive weapon in the right hands.", @@ -42,9 +44,9 @@ "ranged_damage": 10, "dispersion": 240, "durability": 9, - "burst": 5, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "valid_mod_locations": [ [ "accessories", 4 ], [ "rail", 1 ], [ "grip", 1 ], [ "sling", 1 ], [ "stock", 1 ], [ "underbarrel", 1 ] ], - "extend": { "flags": [ "FIRE_20", "MODE_BURST" ] }, + "extend": { "flags": [ "FIRE_20", "MODE_BURST", "NON-FOULING" ] }, "delete": { "flags": [ "FIRE_100" ] }, "magazines": [ [ "flammable", [ "rm4502", "rm4504" ] ] ] } diff --git a/data/json/items/gun/flintlock.json b/data/json/items/gun/flintlock.json index 8a8c2a8ed0295..73378ff059229 100644 --- a/data/json/items/gun/flintlock.json +++ b/data/json/items/gun/flintlock.json @@ -2,6 +2,7 @@ { "id": "carbine_flintlock", "copy-from": "rifle_flintlock", + "looks_like": "ar15", "type": "GUN", "name": "flintlock carbine", "description": "This short rifle design once dominated the battlefields of ancient Europe, and may yet re-earn its feared status due to its ease of handling and ability to use easily-crafted ammunition.", @@ -30,6 +31,7 @@ }, { "id": "pistol_flintlock", + "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, "name": "flintlock pistol", @@ -63,6 +65,7 @@ }, { "id": "rifle_flintlock", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "flintlock rifle", diff --git a/data/json/items/gun/metal_rail.json b/data/json/items/gun/metal_rail.json index 53c94951b072b..cac810f95854b 100644 --- a/data/json/items/gun/metal_rail.json +++ b/data/json/items/gun/metal_rail.json @@ -1,6 +1,7 @@ [ { "id": "heavy_rail_rifle", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "heavy rail rifle", @@ -37,6 +38,7 @@ }, { "id": "rebar_rifle", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "ferromagnetic rail rifle", diff --git a/data/json/items/gun/nail.json b/data/json/items/gun/nail.json index 36568481ba639..a09a46bbdde22 100644 --- a/data/json/items/gun/nail.json +++ b/data/json/items/gun/nail.json @@ -2,6 +2,7 @@ { "id": "coilgun", "copy-from": "gun_base", + "looks_like": "ar15", "type": "GUN", "name": "coilgun", "//": "Hard to make, plentiful and cheap ammo, and silent - people will want this thing.", @@ -33,6 +34,7 @@ }, { "id": "nailgun", + "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, "name": "nail gun", @@ -57,13 +59,14 @@ { "id": "nailrifle", "copy-from": "nailgun", + "looks_like": "ar15", "type": "GUN", "name": "nail rifle", "description": "This is a nailgun that has been extensively modified with the addition of a short barrel, stock and hand guard. It can be reloaded using detachable magazines and is an overall much more effective weapon.", "to_hit": -1, "bashing": 12, "skill": "rifle", - "burst": 10, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], "clip_size": 0, "valid_mod_locations": [ [ "accessories", 4 ], diff --git a/data/json/items/gun/paintball.json b/data/json/items/gun/paintball.json index 5dfb5b8954cc7..013e18a6a7282 100644 --- a/data/json/items/gun/paintball.json +++ b/data/json/items/gun/paintball.json @@ -1,6 +1,7 @@ [ { "id": "paintballgun", + "looks_like": "hk_mp5", "type": "GUN", "reload_noise_volume": 6, "symbol": "(", @@ -9,7 +10,7 @@ "description": "A fairly harmless gun that shoots small paintballs.", "price": 8000, "material": [ "aluminum", "plastic" ], - "flags": "NEVER_JAMS", + "flags": [ "NEVER_JAMS", "NON-FOULING" ], "skill": "smg", "ammo": "paintball", "weight": "1600 g", diff --git a/data/json/items/gun/shot.json b/data/json/items/gun/shot.json index 4321239ab327c..5ddab3e6d5176 100644 --- a/data/json/items/gun/shot.json +++ b/data/json/items/gun/shot.json @@ -2,6 +2,7 @@ { "id": "abzats", "copy-from": "shotgun_base", + "looks_like": "remington_870", "type": "GUN", "name": "heavy automatic shotgun", "description": "Modified from the massive M2 Browning, this heavy machine gun has been re-chambered and re-bored for shotgun shells, and completely redesigned to be wielded unmounted by one user.", @@ -15,7 +16,7 @@ "color": "dark_gray", "dispersion": 450, "durability": 6, - "burst": 5, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], "loudness": 25, "reload": 400, "barrel_length": 3, @@ -23,6 +24,7 @@ }, { "id": "ashot", + "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, "name": "12 gauge pistol", @@ -56,6 +58,7 @@ { "id": "bigun", "copy-from": "shotgun_base", + "looks_like": "remington_870", "type": "GUN", "name": "manual autoshotgun", "//": "Hard to value this thing, but considering what a $2000 pricepoint puts it on par with, that is too much.", @@ -68,7 +71,7 @@ "material": [ "aluminum", "steel" ], "dispersion": 855, "durability": 6, - "burst": 6, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], "clip_size": 6, "reload": 110, "valid_mod_locations": [ @@ -85,6 +88,7 @@ { "id": "ksg", "copy-from": "shotgun_pump", + "looks_like": "remington_870", "type": "GUN", "name": "Kel-Tec KSG", "name_plural": "Kel-Tec KSG", @@ -117,6 +121,7 @@ { "id": "l_def_12", "copy-from": "shotgun_pump", + "looks_like": "remington_870", "type": "GUN", "name": "L12 Defender", "name_plural": "L12 Defender", @@ -148,6 +153,7 @@ { "id": "m1014", "copy-from": "shotgun_base", + "looks_like": "remington_870", "type": "GUN", "name": "M1014 shotgun", "name_plural": "M1014 shotguns", @@ -168,6 +174,7 @@ { "id": "mossberg_500", "copy-from": "shotgun_pump", + "looks_like": "remington_870", "type": "GUN", "name": "Mossberg 500", "name_plural": "Mossberg 500", @@ -187,6 +194,7 @@ { "id": "pipe_double_shotgun", "copy-from": "pipe_shotgun", + "looks_like": "remington_870", "type": "GUN", "name": "double-barrel pipe shotgun", "description": "A home-made double-barreled shotgun. It is simply two pipes attached to a stock, with a pair of hammers to strike the two rounds it holds.", @@ -208,6 +216,7 @@ { "id": "pipe_shotgun", "copy-from": "shotgun_base", + "looks_like": "remington_870", "type": "GUN", "name": "pipe shotgun", "description": "A home-made shotgun. It is simply a pipe attached to a stock, with a hammer to strike the single round it holds.", @@ -239,6 +248,7 @@ { "id": "remington_870", "copy-from": "shotgun_pump", + "//": "Tileset whitelist for shotguns.", "type": "GUN", "name": "Remington 870", "name_plural": "Remington 870", @@ -258,6 +268,7 @@ { "id": "revolver_shotgun", "copy-from": "shotgun_base", + "looks_like": "remington_870", "type": "GUN", "name": "shotgun revolver", "description": "A shotgun modified to use a revolver cylinder mechanism, it can hold 6 cartridges.", @@ -287,6 +298,7 @@ { "id": "saiga_12", "copy-from": "shotgun_base", + "looks_like": "remington_870", "type": "GUN", "name": "Saiga-12", "description": "The Saiga-12 is a semi-automatic shotgun designed on the same Kalashnikov pattern as the AK47 rifle. It reloads with a magazine, rather than one shell at a time like most shotguns.", @@ -328,6 +340,7 @@ { "id": "shotgun_s", "copy-from": "shotgun_base", + "looks_like": "remington_870", "type": "GUN", "name": "single barrel shotgun", "description": "An old shotgun, possibly antique. It is little more than a barrel, a wood stock, and a hammer to strike the cartridge. Its simple design keeps it both light and accurate.", @@ -358,6 +371,7 @@ { "id": "surv_levershotgun", "copy-from": "shotgun_base", + "looks_like": "remington_870", "type": "GUN", "name": "handmade lever shotgun", "description": "A well designed homemade lever-action shotgun. With a 8 round magazine, this is one of the better homemade weapons.", diff --git a/data/json/items/gun/signal_flare.json b/data/json/items/gun/signal_flare.json index 9c87aa5321cf6..6a42afd0be5b2 100644 --- a/data/json/items/gun/signal_flare.json +++ b/data/json/items/gun/signal_flare.json @@ -1,6 +1,7 @@ [ { "id": "flaregun", + "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, "name": "flaregun", diff --git a/data/json/items/gun/ups.json b/data/json/items/gun/ups.json index 31ce0f1b34b01..dac0f19ddc8b5 100644 --- a/data/json/items/gun/ups.json +++ b/data/json/items/gun/ups.json @@ -1,6 +1,7 @@ [ { "id": "emp_gun", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "XM34 EMP projector", @@ -19,7 +20,7 @@ "pierce": 20, "dispersion": 10, "durability": 10, - "burst": 3, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], "loudness": 23, "ups_charges": 70, "reload": 0, @@ -34,10 +35,11 @@ [ "underbarrel", 1 ] ], "ammo_effects": [ "DRAW_LASER_BEAM", "EMP" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD" ] + "flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING" ] }, { "id": "gatling_mech_laser", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 20, "name": "CMES laser cannon", @@ -61,10 +63,20 @@ "reload": 0, "modes": [ [ "DEFAULT", "3 rd.", 3 ], [ "BURST", "5 rd.", 5 ], [ "AUTO", "high auto", 15 ] ], "ammo_effects": [ "LASER", "INCENDIARY" ], - "flags": [ "NO_UNLOAD", "NEVER_JAMS", "MECH_WEAPON", "NO_UNWIELD", "NO_SALVAGE", "NO_REPAIR", "UNBREAKABLE_MELEE" ] + "flags": [ + "NO_UNLOAD", + "NEVER_JAMS", + "MECH_WEAPON", + "NO_UNWIELD", + "NO_SALVAGE", + "NO_REPAIR", + "UNBREAKABLE_MELEE", + "NON-FOULING" + ] }, { "id": "recon_mech_laser", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 2, "name": "RMES marksman system", @@ -91,6 +103,7 @@ }, { "id": "laser_cannon", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "handheld laser cannon", @@ -123,10 +136,11 @@ [ "underbarrel mount", 1 ] ], "ammo_effects": [ "LASER", "INCENDIARY" ], - "flags": [ "NO_UNLOAD" ] + "flags": [ "NO_UNLOAD", "NON-FOULING" ] }, { "id": "laser_rifle", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "name": "A7 laser rifle", @@ -145,7 +159,7 @@ "pierce": 15, "dispersion": 10, "durability": 8, - "burst": 5, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 4 ] ], "loudness": 12, "ups_charges": 40, "reload": 0, @@ -161,10 +175,11 @@ [ "underbarrel", 1 ] ], "ammo_effects": [ "LASER", "INCENDIARY" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD" ] + "flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING" ] }, { "id": "v29", + "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, "name": "V29 laser pistol", @@ -197,6 +212,6 @@ [ "underbarrel", 1 ] ], "ammo_effects": [ "LASER", "INCENDIARY" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD" ] + "flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING" ] } ] diff --git a/data/json/items/gunmod/barrel.json b/data/json/items/gunmod/barrel.json index f0ed2bdeb4c12..86b6fe88fb2de 100644 --- a/data/json/items/gunmod/barrel.json +++ b/data/json/items/gunmod/barrel.json @@ -19,7 +19,7 @@ "id": "upstest", "type": "GUNMOD", "name": "upstest", - "description": "Testmod for UPS drain on mods, this should never spawn, if you see this, it's a bug. 50x more UPS drain.", + "description": "Testmod for UPS drain on mods, this should never spawn, if you see this, it's a bug. 50x more UPS drain.", "weight": "450 g", "volume": "500 ml", "price": 20000, diff --git a/data/json/items/gunmod/laser_gunmods.json b/data/json/items/gunmod/laser_gunmods.json index 074e0d1b19643..1d44d81c4b3c2 100644 --- a/data/json/items/gunmod/laser_gunmods.json +++ b/data/json/items/gunmod/laser_gunmods.json @@ -21,7 +21,7 @@ "id": "focusing_lens", "type": "GUNMOD", "name": "focusing lens", - "description": "A set of optics to concentrate the laser beam on a smaller focus point. This increases range and damage output, but complicates targeting.", + "description": "A set of optics to concentrate the laser beam on a smaller focus point. This increases range and damage output, but complicates targeting.", "weight": "380 g", "volume": "250 ml", "price": 84000, @@ -58,7 +58,7 @@ "id": "effective_emitter", "type": "GUNMOD", "name": "effective emitter", - "description": "A set of electronics to optimize emitter workcycle and increase overall energy efficiency. Decreases power consumption.", + "description": "A set of electronics to optimize emitter workcycle and increase overall energy efficiency. Decreases power consumption.", "weight": "380 g", "volume": "250 ml", "integral_volume": 0, @@ -75,7 +75,7 @@ "id": "high_density_capacitor", "type": "GUNMOD", "name": "high density capacitor", - "description": "A capacitor with a higher energy density increases range and damage; at the cost of a markedly increased power consumption.", + "description": "A capacitor with a higher energy density increases range and damage; at the cost of a markedly increased power consumption.", "weight": "380 g", "volume": "250 ml", "integral_volume": 0, diff --git a/data/json/items/gunmod/mechanism.json b/data/json/items/gunmod/mechanism.json index 4449567615b9a..ec40ec110a2a9 100644 --- a/data/json/items/gunmod/mechanism.json +++ b/data/json/items/gunmod/mechanism.json @@ -37,7 +37,7 @@ "//install_time": "5 m", "dispersion_modifier": 10, "//durability_modifier": -1, - "mode_modifier": [ [ "AUTO", "auto", 13 ] ], + "mode_modifier": [ [ "AUTO", "auto", 4 ] ], "min_skills": [ [ "rifle", 2 ] ] }, { diff --git a/data/json/items/gunmod/muzzle.json b/data/json/items/gunmod/muzzle.json index ece02bb90238a..1acbf9774ef76 100644 --- a/data/json/items/gunmod/muzzle.json +++ b/data/json/items/gunmod/muzzle.json @@ -36,6 +36,14 @@ "loudness_modifier": 14, "min_skills": [ [ "weapon", 2 ] ] }, + { + "id": "muzzle_brake_mod", + "copy-from": "muzzle_brake", + "type": "GUNMOD", + "name": "modified muzzle brake", + "description": "A muzzle brake redirects exhaust gases to compensate for muzzle climb, improving recoil but increasing bulk, noise, and reducing accuracy slightly. This one was modified and customized to mount on pretty much any firearm other than launchers, if you so want.", + "mod_targets": [ "pistol", "smg", "rifle", "shotgun" ] + }, { "id": "crafted_suppressor", "type": "GUNMOD", @@ -121,9 +129,10 @@ "id": "shot_suppressor", "type": "GUNMOD", "name": "shotgun suppressor", - "description": "A suppressor designed to work with shotguns. It's a lot more complex than a suppressor for a pistol or rifle.", - "weight": "600 g", - "volume": "1 L", + "//": "SilencerCo Salvo 12", + "description": "A large suppressor designed to work with shotguns. It's a lot more complex than a suppressor for a pistol or rifle.", + "weight": "968 g", + "volume": "1286 ml", "price": 140000, "to_hit": 1, "bashing": 3, @@ -143,10 +152,10 @@ "id": "suppressor", "type": "GUNMOD", "name": "suppressor", - "//": "SilencerCo Saker ASR 556K", + "//": "SilencerCo Hybrid 46", "description": "A suppressor reduces the amount of noise and muzzle flash generated by the report of a firearm. Gunfire is extremely loud and can damage your hearing without protection; a suppressor will bring the loudness of a report down to generally safe levels.", - "weight": "402 g", - "volume": "156 ml", + "weight": "490 g", + "volume": "247 ml", "price": 77000, "to_hit": 1, "bashing": 3, @@ -183,8 +192,9 @@ "type": "GUNMOD", "name": "compact suppressor", "description": "A compact suppressor designed for pistols and best used with smaller calibers.", - "weight": "140 g", - "volume": "250 ml", + "weight": "303 g", + "//": "SilencerCo Omega 45K", + "volume": "179 ml", "price": 78000, "material": "steel", "symbol": ":", diff --git a/data/json/items/gunmod/rail.json b/data/json/items/gunmod/rail.json index 565a3bdf91463..7d4bdb2f6fa34 100644 --- a/data/json/items/gunmod/rail.json +++ b/data/json/items/gunmod/rail.json @@ -22,8 +22,16 @@ "clip_size": 1 }, "dispersion_modifier": 60, - "min_skills": [ [ "weapon", 2 ], [ "archery", 1 ] ], - "flags": [ "STR_RELOAD" ] + "min_skills": [ [ "weapon", 2 ], [ "rifle", 1 ] ], + "flags": [ "STR_RELOAD", "NON-FOULING" ] + }, + { + "id": "gun_crossbow_mod", + "copy-from": "gun_crossbow", + "type": "GUNMOD", + "name": "modified rail-mounted crossbow", + "description": "A kit to attach a pair of crossbow arms and a firing rail to the barrel of a long firearm. It allows crossbow bolts to be fired. This one was modified and customized to mount on pretty much any weapon other than pistols and SMGs, if you so want.", + "mod_targets": [ "rifle", "shotgun", "launcher", "crossbow" ] }, { "id": "offset_sights", @@ -38,6 +46,14 @@ "proportional": { "sight_dispersion": 1.25 }, "delete": { "flags": [ "DISABLE_SIGHTS" ] } }, + { + "id": "offset_sights_mod", + "copy-from": "offset_sights", + "type": "GUNMOD", + "name": { "str": "modified offset iron sights", "str_pl": "modified offset iron sights" }, + "description": "An alternative set of iron sights mounted at 45° for use when a scope or other modification prevents use of the primary sights. This one was modified and customized to mount on pretty much any weapon, if you so want.", + "mod_targets": [ "pistol", "smg", "rifle", "shotgun", "launcher", "crossbow" ] + }, { "id": "offset_sight_rail", "type": "GUNMOD", @@ -54,6 +70,14 @@ "min_skills": [ [ "gun", 1 ] ], "add_mod": [ [ "sights", 1 ] ] }, + { + "id": "offset_sight_rail_mod", + "copy-from": "offset_sight_rail", + "type": "GUNMOD", + "name": "modified offset sight rail", + "description": "An additional rail set at 45° for attaching a secondary optic. This one was modified and customized to mount on pretty much any weapon, if you so want.", + "mod_targets": [ "pistol", "smg", "rifle", "shotgun", "launcher", "crossbow" ] + }, { "id": "rail_laser_sight", "type": "GUNMOD", @@ -90,6 +114,14 @@ "handling_modifier": 6, "min_skills": [ [ "weapon", 6 ] ] }, + { + "id": "stabilizer_mod", + "copy-from": "stabilizer", + "type": "GUNMOD", + "name": "modified gyroscopic stabilizer", + "description": "An advanced unit that straps onto the side of your firearm and reduces vibration, greatly reducing recoil and slightly increasing accuracy. This one was modified and customized to mount on pretty much any weapon other than pistols, if you so want.", + "mod_targets": [ "smg", "rifle", "shotgun", "launcher", "crossbow" ] + }, { "id": "lead_stabilizer", "copy-from": "stabilizer", diff --git a/data/json/items/gunmod/sights.json b/data/json/items/gunmod/sights.json index af7142cfbfc28..908dc6a548d9a 100644 --- a/data/json/items/gunmod/sights.json +++ b/data/json/items/gunmod/sights.json @@ -50,7 +50,8 @@ "mod_targets": [ "bow" ], "sight_dispersion": 1, "aim_speed": 2, - "min_skills": [ [ "archery", 3 ] ] + "min_skills": [ [ "archery", 3 ] ], + "flags": [ "ZOOM" ] }, { "id": "holo_sight", @@ -104,7 +105,7 @@ "symbol": ":", "color": "dark_gray", "location": "sights", - "mod_targets": [ "pistol", "crossbow" ], + "mod_targets": [ "pistol", "smg" ], "sight_dispersion": 8, "aim_speed": 2, "min_skills": [ [ "weapon", 2 ], [ "gun", 4 ] ], @@ -149,6 +150,14 @@ "min_skills": [ [ "weapon", 2 ], [ "gun", 4 ] ], "flags": [ "DISABLE_SIGHTS", "ZOOM" ] }, + { + "id": "rifle_scope_mod", + "copy-from": "rifle_scope", + "type": "GUNMOD", + "name": "modified rifle scope", + "description": "A 3-18x44 rifle scope. It is adjustable for windage and elevation in 1/10th mrad increments and is remarkably small and light for its magnification. This one was modified and customized to mount on pretty much any weapon other than pistols and SMGs, if you so want.", + "mod_targets": [ "rifle", "shotgun", "launcher", "crossbow" ] + }, { "id": "acog_scope", "type": "GUNMOD", @@ -168,6 +177,14 @@ "min_skills": [ [ "weapon", 2 ], [ "gun", 4 ] ], "flags": [ "DISABLE_SIGHTS", "ZOOM" ] }, + { + "id": "acog_scope_mod", + "copy-from": "acog_scope", + "type": "GUNMOD", + "name": "modified ACOG scope", + "description": "A 4x32 TA01 Advanced Combat Optical Gunsight with a tritium illuminated crosshair. This one was modified and customized to mount on pretty much any weapon other than pistols, if you so want.", + "mod_targets": [ "smg", "rifle", "shotgun", "launcher", "crossbow" ] + }, { "id": "riv_scope", "copy-from": "rifle_scope", @@ -185,7 +202,7 @@ "id": "tele_sight", "type": "GUNMOD", "name": "telescopic sight", - "description": "A simple telescopic sight, essentially a small telescope with crosshairs. Increases weight but improves accuracy.", + "description": "A simple hand-crafted telescopic sight, essentially a small telescope with crosshairs. Not as good as the ones made before the cataclysm. Increases weight but improves accuracy.", "weight": "300 g", "volume": "250 ml", "price": 30000, @@ -193,14 +210,14 @@ "symbol": ":", "color": "dark_gray", "location": "sights", - "mod_targets": [ "smg", "rifle", "shotgun", "crossbow", "pistol", "launcher" ], + "mod_targets": [ "rifle", "shotgun", "crossbow", "launcher" ], "//install_time": "30 m", "consume_chance": 1000, "consume_divisor": 505, "sight_dispersion": 15, "aim_speed": 1, "min_skills": [ [ "weapon", 2 ], [ "gun", 3 ] ], - "flags": [ "DISABLE_SIGHTS", "CONSUMABLE" ] + "flags": [ "DISABLE_SIGHTS", "CONSUMABLE", "ZOOM" ] }, { "id": "tele_sight_pistol", @@ -214,13 +231,13 @@ "symbol": ":", "color": "dark_gray", "location": "sights", - "mod_targets": [ "pistol", "crossbow" ], + "mod_targets": [ "pistol", "smg" ], "sight_dispersion": 20, "aim_speed": 1, "consume_chance": 1000, "consume_divisor": 85, "min_skills": [ [ "weapon", 2 ], [ "gun", 3 ] ], - "flags": [ "DISABLE_SIGHTS", "CONSUMABLE" ] + "flags": [ "DISABLE_SIGHTS", "CONSUMABLE", "ZOOM" ] }, { "id": "lead_red_dot_sight", diff --git a/data/json/items/gunmod/underbarrel.json b/data/json/items/gunmod/underbarrel.json index 07fefb2addb72..d334be791a2ea 100644 --- a/data/json/items/gunmod/underbarrel.json +++ b/data/json/items/gunmod/underbarrel.json @@ -11,13 +11,12 @@ "symbol": ":", "color": "light_red", "location": "underbarrel", - "mod_targets": [ "rifle", "shotgun", "smg", "crossbow" ], + "mod_targets": [ "rifle", "shotgun", "smg", "crossbow", "launcher" ], "gun_data": { "ammo": "flammable", "skill": "launcher", "dispersion": 300, "durability": 10 }, "magazine_well": 1, "magazines": [ [ "flammable", [ "aux_pressurized_tank" ] ] ], - "dispersion_modifier": 30, "min_skills": [ [ "weapon", 2 ], [ "launcher", 1 ] ], - "flags": [ "FIRE_100" ] + "flags": [ "FIRE_100", "PUMP_RAIL_COMPATIBLE", "NON-FOULING" ] }, { "id": "bipod", @@ -38,6 +37,15 @@ "min_skills": [ [ "weapon", 2 ] ], "flags": [ "BIPOD", "SLOW_WIELD" ] }, + { + "id": "bipod_mod", + "copy-from": "bipod", + "type": "GUNMOD", + "name": "modified bipod", + "description": "Bipods are commonly used on rifles and machine guns to provide a forward rest and reduce motion. Although they greatly improve handling of recoil they are usable only on certain surfaces and are slow to equip. This one was modified and customized to mount on pretty much any weapon, if you so want.", + "mod_targets": [ "pistol", "smg", "rifle", "shotgun", "launcher", "crossbow" ], + "extend": { "flags": [ "PUMP_RAIL_COMPATIBLE" ] } + }, { "id": "combination_gun_shotgun", "type": "GUNMOD", @@ -53,7 +61,6 @@ "location": "underbarrel", "mod_targets": [ "rifle" ], "gun_data": { "ammo": "shot", "skill": "shotgun", "range": 2, "dispersion": 345, "durability": 10, "clip_size": 2 }, - "dispersion_modifier": 15, "flags": [ "IRREMOVABLE", "RELOAD_ONE", "RELOAD_EJECT" ] }, { @@ -91,6 +98,14 @@ "min_skills": [ [ "weapon", 2 ] ], "flags": [ "PUMP_RAIL_COMPATIBLE" ] }, + { + "id": "grip_mod", + "copy-from": "grip", + "type": "GUNMOD", + "name": "modified forward grip", + "description": "A grip placed forward on the barrel allows for greater control. Not as effective as a bipod but usable under all conditions. This one was modified and customized to mount on pretty much any weapon, if you so want.", + "mod_targets": [ "pistol", "smg", "rifle", "shotgun", "launcher", "crossbow" ] + }, { "id": "inter_bayonet", "type": "GUNMOD", @@ -106,7 +121,6 @@ "color": "light_gray", "location": "underbarrel", "mod_targets": [ "shotgun", "rifle" ], - "dispersion_modifier": 10, "mode_modifier": [ [ "REACH", "bayonet", 2, [ "MELEE", "REACH_ATTACK" ] ] ], "qualities": [ [ "CUT", 1 ], [ "COOK", 1 ], [ "BUTCHER", -18 ] ], "flags": [ "SLOW_WIELD", "IRREMOVABLE", "STAB" ] @@ -193,10 +207,17 @@ "location": "underbarrel", "mod_targets": [ "rifle", "crossbow" ], "gun_data": { "ammo": "40mm", "skill": "launcher", "dispersion": 300, "durability": 10, "clip_size": 1 }, - "dispersion_modifier": 30, "min_skills": [ [ "weapon", 2 ], [ "launcher", 1 ] ], "flags": [ "NEVER_JAMS", "RELOAD_EJECT" ] }, + { + "id": "m203_mod", + "copy-from": "m203", + "type": "GUNMOD", + "name": "modified M203", + "description": "The M203 was originally designed for use with M16 variants but today can be attached to almost any rifle. It allows a single 40mm grenade to be loaded and fired. This one was modified and customized to mount on pretty much any weapon other than pistols and pump-action guns, if you so want.", + "mod_targets": [ "smg", "rifle", "shotgun", "launcher", "crossbow" ] + }, { "id": "m320_mod", "type": "GUNMOD", @@ -212,10 +233,17 @@ "location": "underbarrel", "mod_targets": [ "rifle", "crossbow" ], "gun_data": { "ammo": "40mm", "skill": "launcher", "dispersion": 270, "durability": 10, "clip_size": 1 }, - "dispersion_modifier": 60, "min_skills": [ [ "weapon", 2 ], [ "launcher", 1 ] ], "flags": [ "NEVER_JAMS", "RELOAD_EJECT" ] }, + { + "id": "m320_mod_mod", + "copy-from": "m320_mod", + "type": "GUNMOD", + "name": "modified M320 GLM", + "description": "The M320 Grenade Launcher Module offers the functionality of larger launchers in a very small package at the cost of decreased accuracy. It can be either attached to a rifle or combined with a buttstock for stand alone use. This one was modified and customized to mount on pretty much any weapon other than pistols and pump-action guns, if you so want.", + "mod_targets": [ "smg", "rifle", "shotgun", "launcher", "crossbow" ] + }, { "id": "makeshift_bayonet", "copy-from": "spike", @@ -224,12 +252,12 @@ "description": "A makeshift version of a bayonet that consists of a mere spike with some string.", "gunmod_data": { "location": "underbarrel", - "mod_targets": [ "shotgun", "rifle", "smg", "crossbow" ], - "dispersion_modifier": 10, + "mod_targets": [ "shotgun", "rifle", "smg", "launcher", "crossbow" ], "mode_modifier": [ [ "REACH", "bayonet", 2, [ "MELEE", "REACH_ATTACK" ] ] ] }, "min_skills": [ [ "weapon", 2 ], [ "melee", 1 ] ], - "qualities": [ [ "COOK", 1 ] ] + "qualities": [ [ "COOK", 1 ] ], + "extend": { "flags": [ "PUMP_RAIL_COMPATIBLE" ] } }, { "id": "masterkey", @@ -245,15 +273,22 @@ "location": "underbarrel", "mod_targets": [ "rifle", "crossbow" ], "gun_data": { "ammo": "shot", "skill": "shotgun", "dispersion": 330, "durability": 10, "clip_size": 4 }, - "dispersion_modifier": 15, "min_skills": [ [ "weapon", 2 ], [ "shotgun", 1 ] ], "flags": [ "RELOAD_ONE" ] }, + { + "id": "masterkey_mod", + "copy-from": "masterkey", + "type": "GUNMOD", + "name": "modified masterkey shotgun", + "description": "A minimalist pump action shotgun, which can be mounted under the barrel of many rifles. It allows a total of four shotgun shells to be loaded and fired. This one was modified and customized to mount on pretty much any weapon other than pistols and pump-action guns, if you so want.", + "mod_targets": [ "smg", "rifle", "shotgun", "launcher", "crossbow" ] + }, { "id": "pipe_launcher40mm", "type": "GUNMOD", "name": "40mm pipe launcher", - "description": "This is a home built launcher tube that can be attached to almost any rifle. It allows a single 40mm grenade to be loaded and fired.", + "description": "This is a home built launcher tube that can be attached to almost any weapon except handguns. It allows a single 40mm grenade to be loaded and fired.", "weight": "2080 g", "volume": "750 ml", "price": 25000, @@ -261,9 +296,8 @@ "symbol": ":", "color": "light_gray", "location": "underbarrel", - "mod_targets": [ "rifle", "crossbow" ], + "mod_targets": [ "smg", "rifle", "shotgun", "launcher", "crossbow" ], "gun_data": { "ammo": "40mm", "skill": "launcher", "dispersion": 450, "durability": 10, "clip_size": 1 }, - "dispersion_modifier": 60, "min_skills": [ [ "weapon", 2 ], [ "launcher", 1 ] ] }, { @@ -281,7 +315,6 @@ "color": "light_gray", "location": "underbarrel", "mod_targets": [ "pistol" ], - "dispersion_modifier": 15, "min_skills": [ [ "weapon", 2 ], [ "melee", 1 ] ], "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 15 ] ], "flags": [ "STAB" ] @@ -300,12 +333,19 @@ "location": "underbarrel", "mod_targets": [ "rifle", "crossbow" ], "gun_data": { "ammo": "20x66mm", "skill": "shotgun", "dispersion": 320, "durability": 9, "reload": 125 }, - "dispersion_modifier": 30, "min_skills": [ [ "weapon", 2 ], [ "shotgun", 2 ] ], "magazine_well": 1, "magazines": [ [ "20x66mm", [ "20x66_10_mag" ] ] ], "flags": [ "WATERPROOF_GUN", "NEVER_JAMS" ] }, + { + "id": "rm121aux_mod", + "copy-from": "rm121aux", + "type": "GUNMOD", + "name": "modified RM121 aux shotgun", + "description": "The Rivtech RM121 auxiliary weapon system is a magazine-fed semi-automatic caseless shotgun, which can be mounted under the barrel of many rifles. Accepts RMSA10 box magazines. This one was modified and customized to mount on pretty much any weapon other than pistols, if you so want.", + "mod_targets": [ "smg", "rifle", "shotgun", "launcher", "crossbow" ] + }, { "id": "u_shotgun", "type": "GUNMOD", @@ -320,10 +360,17 @@ "location": "underbarrel", "mod_targets": [ "rifle", "crossbow" ], "gun_data": { "ammo": "shot", "skill": "shotgun", "dispersion": 375, "durability": 10, "clip_size": 2 }, - "dispersion_modifier": 30, "min_skills": [ [ "weapon", 2 ], [ "shotgun", 1 ] ], "flags": [ "RELOAD_ONE" ] }, + { + "id": "u_shotgun_mod", + "copy-from": "u_shotgun", + "type": "GUNMOD", + "name": "modified underslung shotgun", + "description": "A short shotgun with 2 barrels, which can be mounted under the barrel of many rifles. It allows two shotgun shells to be loaded and fired. This one was modified and customized to mount on pretty much any weapon other than pistols, if you so want.", + "mod_targets": [ "smg", "rifle", "shotgun", "launcher", "crossbow" ] + }, { "id": "lead_laser_sight", "copy-from": "laser_sight", @@ -366,7 +413,6 @@ "weight": "0 g", "volume": 0, "price": 0, - "dispersion_modifier": 0, "flags": [ "RELOAD_ONE", "IRREMOVABLE" ] }, { @@ -379,7 +425,6 @@ "weight": "0 g", "volume": 0, "price": 0, - "dispersion_modifier": 0, "flags": [ "NEVER_JAMS", "RELOAD_EJECT", "IRREMOVABLE" ] } ] diff --git a/data/json/items/items_holiday.json b/data/json/items/items_holiday.json index 1e394d6ebfbc2..84507be637bd9 100644 --- a/data/json/items/items_holiday.json +++ b/data/json/items/items_holiday.json @@ -29,7 +29,7 @@ "type": "TOOL", "name": "spooky jack o'lantern", "name_plural": "jack o'lanterns", - "description": "There is a thick LED candle inside the pumpkin face. It doesn't provide very much light, but it can burn for quite a long time. This candle is lit. The face shifts.", + "description": "There is a thick LED candle inside the pumpkin face. It doesn't provide very much light, but it can burn for quite a long time. This candle is lit. The face shifts.", "weight": "113 g", "volume": "3964 ml", "price": 0, @@ -46,8 +46,7 @@ "type": "transform", "target": "plastic_jack_o_lantern", "msg": "The candle winks out inside the lantern.", - "menu_text": "Extinguish", - "revert_to": "plastic_jack_o_lantern" + "menu_text": "Extinguish" }, "flags": [ "LIGHT_6", "TRADER_AVOID" ] } diff --git a/data/json/items/magazine/308.json b/data/json/items/magazine/308.json index 00f371e13def4..b7115fdcffa9e 100644 --- a/data/json/items/magazine/308.json +++ b/data/json/items/magazine/308.json @@ -48,7 +48,7 @@ "id": "g3bigmag", "type": "MAGAZINE", "name": "H&K G3 drum magazine", - "description": "An 50-round drum magazine for the H&K G3 rifle.", + "description": "A 50-round drum magazine for the H&K G3 rifle.", "weight": "650 g", "volume": "1 L", "price": 7900, @@ -118,7 +118,7 @@ "id": "scarhbigmag", "type": "MAGAZINE", "name": "FN SCAR-H drum magazine", - "description": "An 50-round drum magazine for the FN SCAR-H rifle.", + "description": "A 50-round drum magazine for the FN SCAR-H rifle.", "weight": "400 g", "volume": "1 L", "price": 8900, diff --git a/data/json/items/magazine/38.json b/data/json/items/magazine/38.json index d69500f3231d6..6105f9b878c53 100644 --- a/data/json/items/magazine/38.json +++ b/data/json/items/magazine/38.json @@ -1,20 +1,4 @@ [ - { - "id": "taurus38mag", - "type": "MAGAZINE", - "name": "Taurus .38 magazine", - "description": "A compact steel box magazine for use with the Taurus Pro .38 pistol.", - "weight": "80 g", - "volume": "250 ml", - "price": 3400, - "material": "steel", - "symbol": "#", - "color": "light_gray", - "ammo_type": "38", - "capacity": 10, - "reliability": 8, - "flags": [ "MAG_COMPACT" ] - }, { "id": "38_speedloader", "type": "MAGAZINE", diff --git a/data/json/items/magazine/380.json b/data/json/items/magazine/380.json index 7fa647be06f2e..6d84dc879511c 100644 --- a/data/json/items/magazine/380.json +++ b/data/json/items/magazine/380.json @@ -94,5 +94,21 @@ "capacity": 10, "reliability": 8, "flags": [ "MAG_COMPACT" ] + }, + { + "id": "taurus_spectrum_mag", + "type": "MAGAZINE", + "name": "Taurus Spectrum magazine", + "description": "A compact, 6-round steel box magazine for use with the Taurus Spectrum.", + "weight": "65 g", + "volume": "74 ml", + "price": 3400, + "material": "steel", + "symbol": "#", + "color": "light_gray", + "ammo_type": "380", + "capacity": 6, + "reliability": 8, + "flags": [ "MAG_COMPACT" ] } ] diff --git a/data/json/items/magazine/weldgas.json b/data/json/items/magazine/weldgas.json index 1d5aa9908e142..8fd3d58b8b750 100644 --- a/data/json/items/magazine/weldgas.json +++ b/data/json/items/magazine/weldgas.json @@ -32,22 +32,5 @@ "count": 240, "reliability": 10, "flags": [ "NO_UNLOAD", "NO_RELOAD" ] - }, - { - "id": "oxygen_cylinder", - "type": "MAGAZINE", - "name": "oxygen cylinder", - "description": "A large steel cylinder used for storing pressurized gas. It is marked with a faded, but legible O2 symbol.", - "weight": "12888 g", - "volume": "2500 ml", - "price": 13400, - "material": "steel", - "symbol": ";", - "color": "blue", - "ammo_type": "oxygen", - "capacity": 300, - "count": 300, - "reliability": 10, - "flags": [ "NO_UNLOAD", "NO_RELOAD" ] } ] diff --git a/data/json/items/melee.json b/data/json/items/melee.json index 053a89fae488c..67cc757dc1b6f 100644 --- a/data/json/items/melee.json +++ b/data/json/items/melee.json @@ -68,22 +68,6 @@ "category": "weapons", "qualities": [ [ "AXE", 2 ], [ "CUT", 1 ], [ "HAMMER", 2 ], [ "HAMMER_FINE", 1 ], [ "BUTCHER", 16 ] ] }, - { - "type": "GENERIC", - "id": "rock", - "symbol": "*", - "color": "light_gray", - "name": "rock", - "description": "A rock the size of a baseball. Makes a decent melee weapon, and is also good for throwing at enemies.", - "category": "spare_parts", - "material": "stone", - "flags": "TRADER_AVOID", - "weight": "657 g", - "volume": "250 ml", - "bashing": 7, - "to_hit": -2, - "qualities": [ [ "HAMMER", 1 ] ] - }, { "type": "GENERIC", "id": "sharp_rock", diff --git a/data/json/items/melee/bludgeons.json b/data/json/items/melee/bludgeons.json index 5214e80a08baa..e40977b669065 100644 --- a/data/json/items/melee/bludgeons.json +++ b/data/json/items/melee/bludgeons.json @@ -8,7 +8,7 @@ "color": "brown", "symbol": "/", "material": [ "wood", "steel" ], - "flags": "NONCONDUCTIVE", + "flags": [ "NONCONDUCTIVE", "ALWAYS_TWOHAND" ], "techniques": [ "WBLOCK_1", "BRUTAL", "WIDE", "SWEEP" ], "volume": "2500 ml", "bashing": 40, @@ -642,7 +642,7 @@ "type": "GENERIC", "id": "mjolnir", "name": "Mjölnir", - "description": "A large hammer, forged from the heart of a dying star. It bears the inscription:\n\nWhosoever holds this hammer,\nIf he be worthy,\nShall possess the power to...\nCRUSH!'", + "description": "A large hammer, forged from the heart of a dying star. It bears the inscription:\n\nWhosoever holds this hammer,\nIf he be worthy,\nShall possess the power to…\nCRUSH!'", "weight": "5443 g", "color": "light_gray", "symbol": "/", diff --git a/data/json/items/melee/spears_and_polearms.json b/data/json/items/melee/spears_and_polearms.json index aeb023ed32c86..ab84ca79b7891 100644 --- a/data/json/items/melee/spears_and_polearms.json +++ b/data/json/items/melee/spears_and_polearms.json @@ -39,7 +39,7 @@ "type": "TOOL", "category": "weapons", "name": "makeshift war scythe", - "description": "This farming tool has been modified into an improvised weapon by rotating its blade 90 degrees, transforming it into a deadly giant blade on the end of a stick. However it's quite fragile.", + "description": "This farming tool has been modified into an improvised weapon by rotating its blade 90 degrees, transforming it into a deadly giant blade on the end of a stick. However it's quite fragile.", "weight": "3013 g", "volume": "3250 ml", "price": 16000, diff --git a/data/json/items/melee/swords_and_blades.json b/data/json/items/melee/swords_and_blades.json index 7036d91aea17e..ea24d1bd9d857 100644 --- a/data/json/items/melee/swords_and_blades.json +++ b/data/json/items/melee/swords_and_blades.json @@ -100,7 +100,6 @@ "gunmod_data": { "location": "underbarrel", "mod_targets": [ "shotgun", "rifle", "smg", "crossbow" ], - "dispersion_modifier": 10, "mode_modifier": [ [ "REACH", "bayonet", 2, [ "MELEE", "REACH_ATTACK" ] ] ] }, "min_skills": [ [ "weapon", 2 ], [ "melee", 1 ] ], @@ -109,6 +108,20 @@ "thrown_damage": [ { "damage_type": "stab", "amount": 14 } ], "flags": [ "STAB", "DURABLE_MELEE", "SHEATH_KNIFE", "NPC_THROWN" ] }, + { + "id": "knife_combat_mod", + "copy-from": "knife_combat", + "type": "TOOL", + "name": "modified combat knife", + "name_plural": "modified combat knives", + "description": "This is a military combat knife. It is light and extremely sharp, and could be deadly in either the right hands or when attached as a bayonet. This one was modified and customized to mount on pretty much any weapon other than pistols, if you so want.", + "gunmod_data": { + "location": "underbarrel", + "mod_targets": [ "smg", "rifle", "shotgun", "launcher", "crossbow" ], + "mode_modifier": [ [ "REACH", "bayonet", 2, [ "MELEE", "REACH_ATTACK" ] ] ] + }, + "extend": { "flags": [ "PUMP_RAIL_COMPATIBLE" ] } + }, { "id": "knife_hunting", "type": "TOOL", @@ -166,7 +179,6 @@ "gunmod_data": { "location": "underbarrel", "mod_targets": [ "shotgun", "rifle" ], - "dispersion_modifier": 10, "mode_modifier": [ [ "REACH", "bayonet", 2, [ "MELEE", "REACH_ATTACK" ] ] ] }, "min_skills": [ [ "weapon", 2 ], [ "melee", 1 ] ], @@ -538,7 +550,7 @@ "symbol": "/", "color": "light_gray", "name": "estoc", - "description": "This is a thin thrusting sword, a sort of predecessor to the rapier. It requires a larger baldric or scabbard, compared to smaller swords. It seems a bit too bendy.", + "description": "This is a thin thrusting sword, a sort of predecessor to the rapier. It requires a larger baldric or scabbard, compared to smaller swords. It seems a bit too bendy.", "price": 13500, "price_postapoc": 0, "material": "budget_steel", @@ -651,6 +663,7 @@ "type": "GENERIC", "symbol": "/", "color": "light_gray", + "looks_like": "arming_sword", "name": "arming sword", "description": "This is a dull, cheaply made replica of a classic medieval sword, just the right size to use one-handed.", "price": 10000, @@ -670,6 +683,7 @@ "type": "TOOL", "symbol": "/", "color": "light_gray", + "looks_like": "arming_sword", "name": "arming sword", "description": "This is a classic medieval sword, just the right size to use one-handed. This one doesn't seem to have been made right.", "price": 100000, @@ -781,7 +795,6 @@ "gunmod_data": { "location": "underbarrel", "mod_targets": [ "shotgun", "rifle", "crossbow", "launcher" ], - "dispersion_modifier": 20, "mode_modifier": [ [ "REACH", "bayonet", 2, [ "MELEE", "REACH_ATTACK" ] ] ] }, "min_skills": [ [ "weapon", 2 ], [ "melee", 2 ] ], @@ -789,6 +802,14 @@ "qualities": [ [ "CUT", 1 ], [ "COOK", 1 ], [ "BUTCHER", 7 ] ], "flags": [ "DURABLE_MELEE", "SHEATH_SWORD" ] }, + { + "id": "sword_bayonet_mod", + "copy-from": "sword_bayonet", + "type": "TOOL", + "name": "modified sword bayonet", + "description": "A sword bayonet is a large slashing weapon that can be attached to the front of a firearm or crossbow converting it into a pike. This one was modified and customized to mount on pretty much any weapon other than pistols and SMGs, if you so want.", + "extend": { "flags": [ "PUMP_RAIL_COMPATIBLE" ] } + }, { "id": "tanto", "type": "TOOL", @@ -1071,8 +1092,8 @@ "type": "GENERIC", "symbol": "/", "color": "light_gray", - "name": "fencing epee", - "description": "A weapon used for fencing, the most noble of all sports. The epee is the heaviest and stiffest of the fencing weapons, and therefore perhaps the most useful.", + "name": "fencing épée", + "description": "A weapon used for fencing, the most noble of all sports. The épée is the heaviest and stiffest of the fencing weapons, and therefore perhaps the most useful.", "price": 2000, "price_postapoc": 1000, "material": "steel", @@ -1090,7 +1111,7 @@ "symbol": "/", "color": "light_gray", "name": "fencing saber", - "description": "A weapon used for fencing, the most noble of all sports. The fencing saber is marginally shorter than the foil and epee, but no less effective.", + "description": "A weapon used for fencing, the most noble of all sports. The fencing saber is marginally shorter than the foil and épée, but no less effective.", "price": 2000, "price_postapoc": 0, "material": "steel", @@ -1102,6 +1123,92 @@ "techniques": [ "PRECISE", "RAPID", "WBLOCK_2" ], "flags": [ "STAB", "SHEATH_SWORD" ] }, + { + "id": "fencing_foil_sharpened", + "type": "GENERIC", + "copy-from": "fencing_foil", + "looks_like": "fencing_foil", + "name": "sharpened foil", + "description": "This once mostly harmless fencing foil has had its electrical plunger assembly removed and has been crudely sharpened to a point. Though it still lacks a cutting edge, it is now somewhat more lethal, yet still familiar to the practiced fencer.", + "relative": { "weight": -25, "cutting": 2 } + }, + { + "id": "fencing_epee_sharpened", + "type": "GENERIC", + "copy-from": "fencing_epee", + "looks_like": "fencing_epee", + "name": "sharpened épée", + "description": "This once mostly harmless fencing épée has had its electrical plunger assembly removed and has been crudely sharpened to a point. Though it still lacks a cutting edge, it is now considerably more lethal, yet still familiar to the practiced fencer.", + "relative": { "weight": -35, "cutting": 5 } + }, + { + "id": "fencing_sabre_sharpened", + "type": "GENERIC", + "copy-from": "fencing_sabre", + "looks_like": "fencing_sabre", + "name": "sharpened saber", + "description": "This once mostly harmless fencing saber has had its rounded tip snapped off and has been crudely sharpened to a point. Though it still lacks a cutting edge, it is now considerably more lethal, yet still familiar to the practiced fencer.", + "relative": { "weight": -10, "cutting": 5 } + }, + { + "id": "shock_foil", + "type": "TOOL", + "copy-from": "fencing_foil_sharpened", + "name": "electrified foil", + "description": "The modifications made to this fencing foil may not be sporting, but they might give you an edge in this final competition. Extra effort has been made to insulate the grip and a high voltage stun gun has been attached to the guard, wired through the electronic scoring circuit to the tip. Thrusting the sharpened tip into a foe and activating the momentary switch will deliver a painful electric shock.", + "ammo": "battery", + "charges_per_use": 100, + "use_action": "TAZER", + "extend": { "flags": [ "NONCONDUCTIVE" ] }, + "relative": { "volume": "250 ml", "weight": "151 g" }, + "magazines": [ + [ + "battery", + [ "medium_battery_cell", "medium_plus_battery_cell", "medium_atomic_battery_cell", "medium_disposable_cell" ] + ] + ], + "magazine_well": 2 + }, + { + "id": "shock_epee", + "type": "TOOL", + "copy-from": "fencing_epee_sharpened", + "looks_like": "fencing_epee", + "name": "electrified épée", + "description": "The modifications made to this fencing épée may not be sporting, but they might give you an edge in this final competition. Extra effort has been made to insulate the grip and a high voltage stun gun has been attached to the guard, wired through the electronic scoring circuit to the tip. Thrusting the sharpened tip into a foe and activating the momentary switch will deliver a painful electric shock.", + "ammo": "battery", + "charges_per_use": 100, + "use_action": "TAZER", + "extend": { "flags": [ "NONCONDUCTIVE" ] }, + "relative": { "volume": "250 ml", "weight": "151 g" }, + "magazines": [ + [ + "battery", + [ "medium_battery_cell", "medium_plus_battery_cell", "medium_atomic_battery_cell", "medium_disposable_cell" ] + ] + ], + "magazine_well": 2 + }, + { + "id": "shock_sabre", + "type": "TOOL", + "copy-from": "fencing_sabre_sharpened", + "looks_like": "fencing_sabre", + "name": "electrified saber", + "description": "The modifications made to this fencing saber may not be sporting, but they might give you an edge in this final competition. Extra effort has been made to insulate the grip and a high voltage stun gun has been attached to the guard, wired to the tip along the saber's groove. Thrusting the sharpened tip into a foe and activating the momentary switch will deliver a painful electric shock.", + "ammo": "battery", + "charges_per_use": 100, + "use_action": "TAZER", + "extend": { "flags": [ "NONCONDUCTIVE" ] }, + "relative": { "volume": "250 ml", "weight": "151 g" }, + "magazines": [ + [ + "battery", + [ "medium_battery_cell", "medium_plus_battery_cell", "medium_atomic_battery_cell", "medium_disposable_cell" ] + ] + ], + "magazine_well": 2 + }, { "id": "hollow_cane", "type": "GENERIC", diff --git a/data/json/items/migration.json b/data/json/items/migration.json index 28d45850b2ddf..c0a79915b0c58 100644 --- a/data/json/items/migration.json +++ b/data/json/items/migration.json @@ -713,5 +713,15 @@ "id": "tool_black_powder_bomb", "type": "MIGRATION", "replace": "can_bomb" + }, + { + "id": "taurus_38", + "type": "MIGRATION", + "replace": "taurus_spectrum" + }, + { + "id": "taurus38mag", + "type": "MIGRATION", + "replace": "taurus_spectrum_mag" } ] diff --git a/data/json/items/obsolete.json b/data/json/items/obsolete.json index a752625f026bf..8aa0c3e9cd200 100644 --- a/data/json/items/obsolete.json +++ b/data/json/items/obsolete.json @@ -23,7 +23,7 @@ "color": "light_gray", "name": "leaf spring", "category": "spare_parts", - "description": "A large, heavy-duty leaf spring. Probably from some car or truck, and looks an awful lot like a bow. You can barely bend it...", + "description": "A large, heavy-duty leaf spring. Probably from some car or truck, and looks an awful lot like a bow. You can barely bend it…", "price": 5000, "price_postapoc": 500, "material": "steel", @@ -939,5 +939,36 @@ "material": [ "veggy" ], "volume": "250 ml", "price": 200 + }, + { + "id": "hobo_stove_on", + "type": "TOOL", + "name": "hobo stove (lit)", + "name_plural": "hobo stoves (lit)", + "description": "This is a small improvised wood stove, made from a metal can or similar container of the right size. Useful for defrosting and reheating food, uses simple tinder.", + "weight": "500 g", + "volume": "250 ml", + "price": 0, + "to_hit": -1, + "bashing": 2, + "material": "steel", + "symbol": ",", + "color": "light_gray", + "ammo": "tinder", + "max_charges": 100, + "charges_per_use": 25, + "turns_per_charge": 300, + "revert_to": "hobo_stove", + "use_action": [ + "HOTPLATE", + { + "target": "hobo_stove", + "msg": "The ember is extinguished.", + "active": false, + "menu_text": "Extinguish", + "type": "transform" + } + ], + "flags": [ "LIGHT_3", "ALLOWS_REMOTE_USE" ] } ] diff --git a/data/json/items/ranged.json b/data/json/items/ranged.json index 626ee05dc0d27..70ee012afc17c 100644 --- a/data/json/items/ranged.json +++ b/data/json/items/ranged.json @@ -2,6 +2,7 @@ { "id": "bbgun", "type": "GUN", + "looks_like": "ar15", "reload_noise_volume": 10, "symbol": "(", "color": "brown", @@ -35,6 +36,7 @@ }, { "id": "sling", + "looks_like": "slingshot", "type": "GUN", "symbol": "(", "color": "brown", @@ -55,8 +57,43 @@ "durability": 6, "clip_size": 1 }, + { + "id": "staff_sling", + "looks_like": "slingshot", + "type": "GUN", + "symbol": "(", + "color": "brown", + "name": "staff sling", + "description": "A leather sling attached to a staff, easy to use and accurate. It uses rocks as ammunition.", + "price": 150, + "//": "The staff sling,consists of a staff with a short sling at one end. ", + "material": [ "wood", "leather" ], + "flags": [ + "RELOAD_AND_SHOOT", + "NEVER_JAMS", + "PRIMITIVE_RANGED_WEAPON", + "BELTED", + "DURABLE_MELEE", + "NONCONDUCTIVE", + "SHEATH_SPEAR", + "ALWAYS_TWOHAND" + ], + "techniques": [ "WBLOCK_2", "RAPID", "SWEEP" ], + "skill": "throw", + "ammo": "rock", + "weight": "2000 g", + "volume": "3 L", + "to_hit": 1, + "ranged_damage": 10, + "bashing": 18, + "range": 10, + "dispersion": 200, + "durability": 8, + "clip_size": 1 + }, { "id": "slingshot", + "//": "Tileset whitelist for sling & slingshots.", "type": "GUN", "symbol": "(", "color": "brown", @@ -79,6 +116,7 @@ }, { "id": "wristrocket", + "looks_like": "sling", "type": "GUN", "symbol": "(", "color": "dark_gray", @@ -136,6 +174,7 @@ { "id": "LAW", "type": "GUN", + "looks_like": "m79", "symbol": "(", "color": "green", "name": "M72 LAW", @@ -166,6 +205,7 @@ }, { "id": "TANK", + "looks_like": "m79", "type": "GUN", "symbol": "(", "color": "green", @@ -187,6 +227,7 @@ }, { "id": "plasma_rifle", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "symbol": "(", @@ -195,7 +236,7 @@ "description": "Boeing developed the focused plasma weaponry together with DARPA. It heats solid hydrogen to create plasma and envelops it with polymers to reduce blooming. While powerful, it suffers from short range. Powered by UPS.", "price": 1750000, "material": "steel", - "flags": [ "MODE_BURST", "NEVER_JAMS" ], + "flags": [ "MODE_BURST", "NEVER_JAMS", "NON-FOULING" ], "ups_charges": 5, "ammo_effects": [ "PLASMA", "EXPLOSIVE_SMALL", "FLAME" ], "skill": "rifle", @@ -207,7 +248,7 @@ "ranged_damage": 5, "dispersion": 60, "durability": 8, - "burst": 5, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], "clip_size": 25, "reload": 700, "valid_mod_locations": [ @@ -224,16 +265,17 @@ }, { "id": "plasma_gun", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "symbol": "(", "color": "light_gray", "name": "PPA-5", - "description": "Portable Plasma Accelerator Model Five, developed by Lockheed Martin Corporation. This device uses highly advanced capacitor banks to create a torus of superheated hydrogen plasma and accelerate it to incredible speed. It was designed to take down heavy vehicles, and was expected to fully enter US Army service not long before the Cataclysm.", + "description": "Portable Plasma Accelerator Model Five, developed by Lockheed Martin Corporation. This device uses highly advanced capacitor banks to create a torus of superheated hydrogen plasma and accelerate it to incredible speed. It was designed to take down heavy vehicles, and was expected to fully enter US Army service not long before the Cataclysm.", "price": 980000, "material": [ "steel", "plastic" ], "ammo_effects": [ "PLASMA", "FLAME", "EMP", "EXPLOSIVE_SMALL" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD" ], + "flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING" ], "ups_charges": 100, "skill": "rifle", "ammo": "plasma", @@ -261,6 +303,7 @@ }, { "id": "pipe_combination_gun", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "symbol": "(", @@ -297,6 +340,7 @@ }, { "id": "tihar", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "symbol": "(", @@ -316,7 +360,7 @@ "range": 15, "dispersion": 75, "durability": 7, - "burst": 5, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], "clip_size": 15, "reload": 6000, "loudness": 18, @@ -333,6 +377,7 @@ }, { "id": "helsing", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "symbol": "(", @@ -368,11 +413,11 @@ }, { "id": "pneumatic_shotgun", + "looks_like": "pipe_double_shotgun", "type": "GUN", "reload_noise_volume": 10, "symbol": "(", "color": "dark_gray", - "looks_like": "pipe_double_shotgun", "name": "pneumatic shotgun", "description": "A double-barreled pneumatic air shotgun handcrafted from scrap. Though it's firepower is lacking compared to more conventional shotguns, this thing can still pack quite a punch. That is, if your target is directly in front of you.", "price": 220000, @@ -405,6 +450,7 @@ }, { "id": "mininuke_launcher", + "looks_like": "m79", "type": "GUN", "reload_noise_volume": 10, "symbol": "(", @@ -413,7 +459,7 @@ "description": "A powerful handheld launcher handcrafted from scrap. Made to launch modified handheld nuclear weapons, it is an exceedingly powerful weapon.", "price": 750000, "material": [ "aluminum", "wood" ], - "flags": [ "STR_RELOAD", "NEVER_JAMS" ], + "flags": [ "STR_RELOAD", "NEVER_JAMS", "NON-FOULING" ], "skill": "launcher", "ammo": "mininuke_mod", "weight": "11260 g", @@ -429,6 +475,7 @@ }, { "id": "RPG", + "looks_like": "m79", "type": "GUN", "reload_noise_volume": 10, "symbol": "(", @@ -462,6 +509,7 @@ }, { "id": "speargun", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "symbol": "(", @@ -470,7 +518,7 @@ "description": "An underwater fishing implement designed to fire a specialized type of spear using tension in a rubber band. While highly effective when used underwater, it is nearly useless on dry land.", "price": 11500, "material": [ "wood", "plastic" ], - "flags": [ "STR_RELOAD", "WATERPROOF_GUN", "UNDERWATER_GUN", "NEVER_JAMS" ], + "flags": [ "STR_RELOAD", "WATERPROOF_GUN", "UNDERWATER_GUN", "NEVER_JAMS", "NON-FOULING" ], "skill": "rifle", "ammo": "fishspear", "weight": "2100 g", @@ -495,6 +543,7 @@ }, { "id": "minispeargun", + "looks_like": "glock_17", "type": "GUN", "reload_noise_volume": 10, "symbol": "(", @@ -503,7 +552,7 @@ "description": "A small underwater fishing implement designed to fire a specialized type of spear using tension in a rubber band. While highly effective when used underwater, it is nearly useless on dry land.", "price": 10000, "material": [ "wood", "plastic" ], - "flags": [ "STR_RELOAD", "WATERPROOF_GUN", "UNDERWATER_GUN", "NEVER_JAMS" ], + "flags": [ "STR_RELOAD", "WATERPROOF_GUN", "UNDERWATER_GUN", "NEVER_JAMS", "NON-FOULING" ], "skill": "pistol", "ammo": "fishspear", "weight": "840 g", @@ -525,6 +574,7 @@ }, { "id": "doublespeargun", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "symbol": "(", @@ -533,7 +583,7 @@ "description": "A double-loading underwater fishing implement designed to fire a specialized type of spear using tension in a rubber band. While highly effective when used underwater, it is nearly useless on dry land.", "price": 17500, "material": [ "wood", "plastic" ], - "flags": [ "RELOAD_ONE", "STR_RELOAD", "WATERPROOF_GUN", "UNDERWATER_GUN", "NEVER_JAMS" ], + "flags": [ "RELOAD_ONE", "STR_RELOAD", "WATERPROOF_GUN", "UNDERWATER_GUN", "NEVER_JAMS", "NON-FOULING" ], "skill": "rifle", "ammo": "fishspear", "weight": "3060 g", @@ -558,6 +608,7 @@ }, { "id": "airspeargun", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "symbol": "(", @@ -566,7 +617,7 @@ "description": "A sophisticated underwater fishing implement designed to fire a specialized type of spear using a hand-pump pressure system. While highly effective when used underwater, it is nearly useless on dry land.", "price": 25000, "material": [ "plastic", "steel" ], - "flags": [ "RELOAD_ONE", "STR_RELOAD", "WATERPROOF_GUN", "UNDERWATER_GUN" ], + "flags": [ "RELOAD_ONE", "STR_RELOAD", "WATERPROOF_GUN", "UNDERWATER_GUN", "NON-FOULING" ], "skill": "rifle", "ammo": "fishspear", "weight": "3460 g", @@ -592,6 +643,7 @@ }, { "id": "combination_gun", + "looks_like": "ar15", "type": "GUN", "reload_noise_volume": 10, "symbol": "(", @@ -630,6 +682,7 @@ }, { "id": "surv_rocket_launcher", + "looks_like": "m79", "type": "GUN", "reload_noise_volume": 10, "symbol": "/", @@ -647,7 +700,7 @@ "to_hit": -3, "dispersion": 300, "durability": 5, - "burst": 1, + "modes": [ [ "DEFAULT", "semi-auto", 1 ] ], "clip_size": 1, "reload": 800, "loudness": 200, @@ -655,6 +708,7 @@ }, { "id": "watercannon", + "looks_like": "m79", "type": "GUN", "symbol": "&", "color": "dark_gray", @@ -662,7 +716,7 @@ "description": "A water cannon from a fire truck. Mounted on a vehicle, it could be used to stop fires or \"protesters\".", "price": 50000, "material": "steel", - "flags": [ "MODE_BURST", "NEVER_JAMS", "MOUNTED_GUN", "NO_RELOAD" ], + "flags": [ "MODE_BURST", "NEVER_JAMS", "MOUNTED_GUN", "NO_RELOAD", "NON-FOULING" ], "ammo_effects": [ "JET", "BEANBAG", "NEVER_MISFIRES", "RECOVER_10" ], "skill": "launcher", "ammo": "water", @@ -673,7 +727,7 @@ "range": 10, "dispersion": 450, "durability": 10, - "burst": 5, + "modes": [ [ "DEFAULT", "burst", 4 ] ], "clip_size": 100, "reload": 0, "valid_mod_locations": [ [ "sling", 1 ] ] diff --git a/data/json/items/resources/chemicals.json b/data/json/items/resources/chemicals.json new file mode 100644 index 0000000000000..d6d7c84b6513e --- /dev/null +++ b/data/json/items/resources/chemicals.json @@ -0,0 +1,34 @@ +[ + { + "id": "chem_potassium_alum", + "type": "AMMO", + "category": "chems", + "name": "potassium alum", + "description": "Small water-soluble white crystals with watery metallic odor, historically used for many different purposes. Also known as potash alum and potassium aluminum sulfate; often called simply alum, as it's the most important member of the generic class of compounds called alums.", + "container": "bottle_plastic_small", + "weight": "1725 mg", + "volume": "250 ml", + "price": 2500, + "material": "powder_nonflam", + "symbol": "=", + "color": "dark_gray", + "count": 250, + "ammo_type": "components" + }, + { + "id": "dye_powder", + "type": "AMMO", + "category": "chems", + "name": "cloth dye powder", + "description": "This is a powdered colorful cloth dye, which can be used to dye many fabrics if combined with water and some mordant.", + "container": "bottle_plastic_small", + "weight": "1540 mg", + "volume": "250 ml", + "price": 2500, + "material": "powder_nonflam", + "symbol": "=", + "color": "dark_gray", + "count": 250, + "ammo_type": "components" + } +] diff --git a/data/json/items/resources/fasteners.json b/data/json/items/resources/fasteners.json new file mode 100644 index 0000000000000..9d442a606f0bf --- /dev/null +++ b/data/json/items/resources/fasteners.json @@ -0,0 +1,92 @@ +[ + { + "id": "buckle_steel", + "type": "AMMO", + "category": "spare_parts", + "name": "steel buckle", + "description": "A steel buckle, like that usually found on belts.", + "weight": "24 g", + "volume": "5 ml", + "price": 100, + "material": "steel", + "symbol": "=", + "color": "dark_gray", + "ammo_type": "components" + }, + { + "id": "button_plastic", + "type": "AMMO", + "category": "spare_parts", + "name": "plastic button", + "description": "A plastic button, usually found on clothing.", + "weight": "1 g", + "volume": "20 ml", + "price": 100, + "material": "plastic", + "symbol": "=", + "color": "dark_gray", + "count": 20, + "ammo_type": "components" + }, + { + "id": "button_steel", + "copy-from": "button_plastic", + "type": "AMMO", + "name": "steel button", + "description": "A steel button, usually found on clothing.", + "weight": "8 g", + "price": 300, + "material": "steel" + }, + { + "id": "button_wood", + "copy-from": "button_plastic", + "type": "AMMO", + "name": "wooden button", + "description": "A crude wooden button, usually found on very old clothing.", + "material": "wood" + }, + { + "id": "snapfastener_steel", + "copy-from": "button_steel", + "type": "AMMO", + "name": "steel snap fastener", + "description": "A steel snap fastener, usually found on clothing." + }, + { + "id": "touch_fastener", + "type": "AMMO", + "category": "spare_parts", + "name": "touch fastener", + "description": "This is a pair of cloth strips, one of which has tiny hooks and another has tiny loops. Useful as a fastener for clothing and footwear.", + "weight": "2 g", + "volume": "2 ml", + "price": 100, + "material": "cotton", + "symbol": "=", + "color": "dark_gray", + "ammo_type": "components" + }, + { + "id": "zipper_long_plastic", + "copy-from": "zipper_short_plastic", + "type": "AMMO", + "name": "long plastic zipper", + "description": "A long zipper made from plastic, usually found on clothing.", + "proportional": { "weight": 3, "volume": 3, "price": 3 } + }, + { + "id": "zipper_short_plastic", + "type": "AMMO", + "category": "spare_parts", + "name": "short plastic zipper", + "description": "A short zipper made from plastic, usually found on footwear or clothing pockets.", + "weight": 4, + "volume": "4 ml", + "price": 100, + "material": [ "plastic", "cotton" ], + "symbol": "=", + "color": "dark_gray", + "ammo_type": "components" + } +] diff --git a/data/json/items/resources/home_improvement.json b/data/json/items/resources/home_improvement.json index fa83df19b998a..461febfa50716 100644 --- a/data/json/items/resources/home_improvement.json +++ b/data/json/items/resources/home_improvement.json @@ -168,5 +168,20 @@ "weight": "5 g", "volume": "250 ml", "to_hit": -3 + }, + { + "type": "GENERIC", + "id": "screen_mesh", + "symbol": "#", + "color": "brown", + "looks_like": "r_carpet", + "name": "mesh screen", + "category": "spare_parts", + "description": "A roll of fine mesh screen for bug barriers on porches.", + "price": 1200, + "material": [ "plastic" ], + "weight": "25 g", + "volume": "1000 ml", + "to_hit": -3 } ] diff --git a/data/json/items/resources/metal.json b/data/json/items/resources/metal.json index 4df3613fbd346..60271bdc9c3d5 100644 --- a/data/json/items/resources/metal.json +++ b/data/json/items/resources/metal.json @@ -74,7 +74,7 @@ "type": "GENERIC", "category": "spare_parts", "name": "aluminum ingot", - "description": "A small aluminum ingot, standardized for further processing. Light but durable, this could be cast into various shapes for construction or ground down to a powder, for more... high-profile applications.", + "description": "A small aluminum ingot, standardized for further processing. Light but durable, this could be cast into various shapes for construction or ground down to a powder, for more… high-profile applications.", "weight": "675 g", "//": "Density 2.70g/cm³ = 675g/250ml", "volume": "250 ml", @@ -147,7 +147,7 @@ "category": "spare_parts", "name": "zinc", "name_plural": "zinc", - "description": "A slightly brittle metal. Apart from being an essential mineral that the body needs, it reacts readily with acids, alkalis and other non-metals. It can be crushed to make zinc powder, used in the production of batteries, among other things.", + "description": "A slightly brittle metal. Apart from being an essential mineral that the body needs, it reacts readily with acids, alkalis and other non-metals. It can be crushed to make zinc powder, used in the production of batteries, among other things.", "weight": 7, "volume": "50ml", "price": 3000, @@ -277,7 +277,7 @@ "type": "AMMO", "category": "spare_parts", "name": "door hinge", - "description": "A small metal hinge with two metal plates with screw holes. Useful for making doors.", + "description": "A small metal hinge with two metal plates with screw holes. Useful for making doors.", "weight": "300 g", "volume": "250 ml", "price": 3000, @@ -319,8 +319,8 @@ "description": "A small chunk of copper, usable for crafting or repairs.", "price": 1000, "material": "copper", - "weight": "200 g", - "volume": "250 ml", + "weight": "50 g", + "volume": "62 ml", "bashing": 1, "to_hit": -2 }, @@ -332,7 +332,7 @@ "name": "tin powder", "symbol": "=", "color": "light_gray", - "description": "A fine gray powder composed of tin, usable for making solder and lining containers to prevent corrosion.", + "description": "A fine gray powder composed of tin, usable for making solder and lining containers to prevent corrosion.", "material": "tin", "volume": "50ml", "weight": "2 g", diff --git a/data/json/items/resources/misc.json b/data/json/items/resources/misc.json index da084aeceba7e..32eeb54d5f63d 100644 --- a/data/json/items/resources/misc.json +++ b/data/json/items/resources/misc.json @@ -37,10 +37,10 @@ "id": "down_mattress", "type": "GENERIC", "category": "spare_parts", - "name": "down_mattress", - "name_plural": "down_mattresses", + "name": "down mattress", + "name_plural": "down mattresses", "description": "This is a single, or twin, sized down filled mattress.", - "weight": 20000, + "weight": "6 kg", "volume": "300000 ml", "price": 1000, "material": [ "cotton" ], @@ -65,5 +65,19 @@ "count": 50, "ammo_type": "components", "effects": [ "COOKOFF" ] + }, + { + "id": "sole_rubber", + "type": "AMMO", + "category": "spare_parts", + "name": "rubber sole", + "description": "This is a sole made from rubber, usually found on the bottoms of boots. Can be used for making actual boots.", + "weight": "140 g", + "volume": "500 ml", + "price": 100, + "material": "plastic", + "symbol": "=", + "color": "dark_gray", + "ammo_type": "components" } ] diff --git a/data/json/items/resources/plastic.json b/data/json/items/resources/plastic.json index baea60252b7ab..6795301d82255 100644 --- a/data/json/items/resources/plastic.json +++ b/data/json/items/resources/plastic.json @@ -5,7 +5,7 @@ "category": "spare_parts", "name": "plastic chunk", "description": "This is a piece of plastic. It could be used to fabricate, repair, or reinforce plastic items.", - "weight": "70 g", + "weight": "50 g", "volume": "250 ml", "price": 0, "material": "plastic", @@ -13,6 +13,35 @@ "color": "light_blue", "flags": [ "NO_SALVAGE" ] }, + { + "id": "nylon", + "type": "TOOL", + "category": "spare_parts", + "name": "synthetic fabric", + "description": "This is small bolt of synthetic fabric. Unlike you and other natural materials, it won't degrade much with age. Maybe that's less of a bad thing now.", + "weight": "55 g", + "volume": "250 ml", + "price": 0, + "material": "nylon", + "symbol": ",", + "color": "white", + "flags": [ "NO_SALVAGE" ] + }, + { + "id": "lycra_patch", + "type": "TOOL", + "category": "spare_parts", + "name": "lycra patch", + "name_plural": "lycra patches", + "description": "This is a small bolt of a synthetic fabric blended with stretchy lycra fibers. It could be used to make flexible yet strong clothing. Stylish, but bad for the environment; at least you're recycling it.", + "weight": "87 g", + "volume": "250 ml", + "price": 0, + "material": "lycra", + "symbol": ",", + "color": "light_blue", + "flags": [ "NO_SALVAGE" ] + }, { "id": "plastic_sheet", "type": "GENERIC", diff --git a/data/json/items/resources/tailoring.json b/data/json/items/resources/tailoring.json new file mode 100644 index 0000000000000..cfeeb9801300a --- /dev/null +++ b/data/json/items/resources/tailoring.json @@ -0,0 +1,347 @@ +[ + { + "id": "scrap_cotton", + "type": "AMMO", + "category": "other", + "name": "cotton scraps", + "name_plural": "cotton scraps", + "description": "Oddly-shaped smallish bits of cotton, waste material from tailoring projects. Not useful for much and usually disposed of, but can be recycled into some thread if you really want.", + "weight": "1 g", + "volume": "1 ml", + "price": 1, + "material": "cotton", + "symbol": "=", + "color": "dark_gray", + "ammo_type": "components", + "flags": [ "NO_SALVAGE" ] + }, + { + "id": "scrap_faux_fur", + "copy-from": "scrap_cotton", + "type": "AMMO", + "name": "faux fur scraps", + "name_plural": "faux fur scraps", + "description": "Oddly-shaped smallish bits of faux fur, waste material from tailoring projects. Not useful for much and usually disposed of.", + "price": 0, + "material": "faux_fur" + }, + { + "id": "scrap_felt", + "copy-from": "scrap_cotton", + "type": "AMMO", + "name": "felt scraps", + "name_plural": "felt scraps", + "description": "Oddly-shaped smallish bits of felt, waste material from tailoring projects. Not useful for much and usually disposed of, but can be recycled into some wool fiber if you really want.", + "material": "wool" + }, + { + "id": "scrap_fur", + "copy-from": "scrap_cotton", + "type": "AMMO", + "name": "fur scraps", + "name_plural": "fur scraps", + "description": "Oddly-shaped smallish bits of fur, waste material from tailoring projects. Not useful for much and usually disposed of.", + "price": 0, + "material": "fur" + }, + { + "id": "scrap_kevlar", + "copy-from": "scrap_cotton", + "type": "AMMO", + "name": "Kevlar scraps", + "name_plural": "Kevlar scraps", + "description": "Oddly-shaped smallish bits of Kevlar fabric, waste material from tailoring projects. Normally it's disposed of, but since Kevlar would be very difficult to make in a post-apocalyptic world, it might be worth recycling it for Kevlar thread.", + "price": 5, + "material": "kevlar" + }, + { + "id": "scrap_leather", + "copy-from": "scrap_cotton", + "type": "AMMO", + "name": "leather scraps", + "name_plural": "leather scraps", + "description": "Oddly-shaped smallish bits of leather, waste material from tailoring projects. Not useful for much and usually disposed of.", + "price": 0, + "material": "leather" + }, + { + "id": "scrap_lycra", + "copy-from": "scrap_cotton", + "type": "AMMO", + "name": "lycra scraps", + "name_plural": "lycra scraps", + "description": "Oddly-shaped smallish bits of lycra, waste material from tailoring projects. Not useful for much and usually disposed of.", + "price": 0, + "material": "lycra" + }, + { + "id": "scrap_neoprene", + "copy-from": "scrap_cotton", + "type": "AMMO", + "name": "neoprene scraps", + "name_plural": "neoprene scraps", + "description": "Oddly-shaped smallish bits of neoprene, waste material from tailoring projects. Not useful for much and usually disposed of.", + "price": 0, + "material": "neoprene" + }, + { + "id": "scrap_nylon", + "copy-from": "scrap_cotton", + "type": "AMMO", + "name": "synthetic fabric scraps", + "name_plural": "synthetic fabric scraps", + "description": "Oddly-shaped smallish bits of synthetic fabric, waste material from tailoring projects. Not useful for much and usually disposed of.", + "price": 0, + "material": "nylon" + }, + { + "id": "scrap_nomex", + "copy-from": "scrap_cotton", + "type": "AMMO", + "name": "Nomex scraps", + "name_plural": "Nomex scraps", + "description": "Oddly-shaped smallish bits of heat-resistant Nomex fabric, waste material from tailoring projects. Normally it's disposed of, but since Nomex would be very difficult to make in a post-apocalyptic world, it might be worth recycling it.", + "price": 5, + "material": "nomex" + }, + { + "id": "sheet_cotton", + "type": "AMMO", + "category": "spare_parts", + "name": "cotton sheet", + "description": "A sheet of cotton fabric, suitable for making clothing.", + "weight": "5 g", + "volume": "300 ml", + "price": 1000, + "material": "cotton", + "symbol": "=", + "color": "dark_gray", + "count": 100, + "ammo_type": "components" + }, + { + "id": "sheet_cotton_patchwork", + "copy-from": "sheet_cotton", + "type": "AMMO", + "name": "patchwork cotton clothing parts", + "name_plural": "patchwork cotton clothing parts", + "description": "A selection of various clothing parts, sewn together from cotton patches in a patchwork fashion. Suitable for making most clothing, though it's much less time-efficient than if using proper material sheets.", + "weight": "100 g", + "volume": "60 ml", + "price": 200, + "count": 1 + }, + { + "id": "sheet_faux_fur", + "type": "AMMO", + "category": "spare_parts", + "name": "faux fur sheet", + "description": "A sheet of fake synthetic colorful fur, suitable for making clothing.", + "weight": "10 g", + "volume": "4500 ml", + "price": 5000, + "material": "faux_fur", + "symbol": "=", + "color": "dark_gray", + "count": 100, + "ammo_type": "components" + }, + { + "id": "sheet_faux_fur_patchwork", + "copy-from": "sheet_faux_fur", + "type": "AMMO", + "name": "patchwork faux fur clothing parts", + "name_plural": "patchwork faux fur clothing parts", + "description": "A selection of various clothing parts, sewn together from faux fur patches in a patchwork fashion. Suitable for making most clothing, though it's much less time-efficient than if using proper material sheets.", + "weight": "200 g", + "volume": "900 ml", + "price": 1000, + "count": 1 + }, + { + "id": "sheet_felt", + "type": "AMMO", + "category": "spare_parts", + "name": "felt sheet", + "description": "A sheet of felt, suitable for making clothing.", + "weight": "8 g", + "volume": "1800 ml", + "price": 2500, + "material": "wool", + "symbol": "=", + "color": "dark_gray", + "count": 100, + "ammo_type": "components" + }, + { + "id": "sheet_felt_patchwork", + "copy-from": "sheet_felt", + "type": "AMMO", + "name": "patchwork felt clothing parts", + "name_plural": "patchwork felt clothing parts", + "description": "A selection of various clothing parts, sewn together from felt patches in a patchwork fashion. Suitable for making most clothing, though it's much less time-efficient than if using proper material sheets.", + "weight": "160 g", + "volume": "360 ml", + "price": 500, + "count": 1 + }, + { + "id": "sheet_kevlar", + "type": "AMMO", + "category": "spare_parts", + "name": "Kevlar sheet", + "description": "A sheet of Kevlar synthetic fabric, suitable for making bulletproof armor. In this form, unlike rigid plates, it can be stitched.", + "weight": "5 g", + "volume": "300 ml", + "price": 15000, + "material": "kevlar", + "symbol": "=", + "color": "dark_gray", + "count": 100, + "ammo_type": "components" + }, + { + "id": "sheet_lycra", + "type": "AMMO", + "category": "spare_parts", + "name": "lycra sheet", + "description": "A sheet of synthetic fabric blended with stretchy lycra fibers, suitable for making flexible yet strong clothing.", + "weight": "3 g", + "volume": "300 ml", + "price": 5000, + "material": "lycra", + "symbol": "=", + "color": "dark_gray", + "count": 100, + "ammo_type": "components" + }, + { + "id": "sheet_lycra_patchwork", + "copy-from": "sheet_lycra", + "type": "AMMO", + "name": "patchwork lycra clothing parts", + "name_plural": "patchwork lycra clothing parts", + "description": "A selection of various clothing parts, sewn together from lycra patches in a patchwork fashion. Suitable for making most clothing, though it's much less time-efficient than if using proper material sheets.", + "weight": "60 g", + "volume": "60 ml", + "price": 1000, + "count": 1 + }, + { + "id": "sheet_neoprene", + "type": "AMMO", + "category": "spare_parts", + "name": "neoprene sheet", + "description": "A sheet of neoprene, a synthetic rubber, suitable for making underwater gear.", + "weight": "6 g", + "volume": "300 ml", + "price": 5000, + "material": "neoprene", + "symbol": "=", + "color": "dark_gray", + "count": 100, + "ammo_type": "components" + }, + { + "id": "sheet_neoprene_patchwork", + "copy-from": "sheet_neoprene", + "type": "AMMO", + "name": "patchwork neoprene clothing parts", + "name_plural": "patchwork neoprene clothing parts", + "description": "A selection of various clothing parts, sewn together from neoprene patches in a patchwork fashion, with waterproofed seams. Suitable for making most clothing, though it's much less time-efficient than if using proper material sheets.", + "weight": "120 g", + "volume": "60 ml", + "price": 1000, + "count": 1 + }, + { + "id": "sheet_nomex", + "type": "AMMO", + "category": "spare_parts", + "name": "Nomex sheet", + "description": "A sheet of Nomex synthetic fabric, suitable for making heat-resistant clothing.", + "weight": "5 g", + "volume": "300 ml", + "price": 15000, + "material": "nomex", + "symbol": "=", + "color": "dark_gray", + "count": 100, + "ammo_type": "components" + }, + { + "id": "sheet_nomex_patchwork", + "copy-from": "sheet_nomex", + "type": "AMMO", + "name": "patchwork Nomex clothing parts", + "name_plural": "patchwork Nomex clothing parts", + "description": "A selection of various clothing parts, sewn together with Nomex thread from Nomex patches in a patchwork fashion. Suitable for making most clothing, though it's much less time-efficient than if using proper material sheets.", + "weight": "100 g", + "volume": "60 ml", + "price": 3000, + "count": 1 + }, + { + "id": "sheet_nylon", + "type": "AMMO", + "category": "spare_parts", + "name": "synthetic fabric sheet", + "description": "A sheet of synthetic fabric, suitable for making clothing.", + "weight": "3 g", + "volume": "300 ml", + "price": 5000, + "material": "nylon", + "symbol": "=", + "color": "dark_gray", + "count": 100, + "ammo_type": "components" + }, + { + "id": "sheet_nylon_patchwork", + "copy-from": "sheet_nylon", + "type": "AMMO", + "name": "patchwork synthetic fabric clothing parts", + "name_plural": "patchwork synthetic fabric clothing parts", + "description": "A selection of various clothing parts, sewn together from synthetic fabric patches in a patchwork fashion. Suitable for making most clothing, though it's much less time-efficient than if using proper material sheets.", + "weight": "60 g", + "volume": "60 ml", + "price": 1000, + "count": 1 + }, + { + "type": "AMMO", + "id": "thread_kevlar", + "category": "spare_parts", + "price": 5000, + "name": "Kevlar thread", + "symbol": "=", + "color": "light_gray", + "looks_like": "thread", + "description": "Some very durable Kevlar thread that would be particularly useful for making ballistic armor, though it's fine to use in place of normal thread too, in most cases. Making armor-grade Kevlar sheets from this would need a particularly tight weave, and so would need some specialized machinery.", + "material": "kevlar", + "flags": [ "NO_SALVAGE" ], + "volume": "200 ml", + "weight": "1 g", + "ammo_type": "thread", + "count": 50, + "stack_size": 200 + }, + { + "type": "AMMO", + "id": "thread_nomex", + "category": "spare_parts", + "price": 5000, + "name": "Nomex thread", + "symbol": "=", + "color": "light_gray", + "looks_like": "thread", + "description": "Some heat-resistant Nomex thread that would be particularly useful for making heat protection gear, though it's fine to use in place of normal thread too, in most cases.", + "material": "nomex", + "flags": [ "NO_SALVAGE" ], + "volume": "200 ml", + "weight": "1 g", + "ammo_type": "thread", + "count": 50, + "stack_size": 200 + } +] diff --git a/data/json/items/resources/wood.json b/data/json/items/resources/wood.json index a46fd6e28c63b..f13f619f194cb 100644 --- a/data/json/items/resources/wood.json +++ b/data/json/items/resources/wood.json @@ -25,7 +25,7 @@ "description": "A splintered piece of wood, could be used as a skewer or for kindling.", "category": "other", "material": "wood", - "weight": "453 g", + "weight": "225 g", "volume": "250 ml", "bashing": 4, "to_hit": 1, @@ -131,6 +131,7 @@ "weight": "15000 g", "to_hit": 1, "color": "brown", + "looks_like": "2x4", "symbol": "H", "material": [ "wood" ], "techniques": [ "WBLOCK_1" ], diff --git a/data/json/items/tool/lighting.json b/data/json/items/tool/lighting.json index 5f7b8aeab9df2..a0ef935c04922 100644 --- a/data/json/items/tool/lighting.json +++ b/data/json/items/tool/lighting.json @@ -27,7 +27,15 @@ "magazines": [ [ "battery", - [ "medium_battery_cell", "medium_plus_battery_cell", "medium_atomic_battery_cell", "medium_disposable_cell" ] + [ + "light_minus_battery_cell", + "light_minus_disposable_cell", + "light_minus_atomic_battery_cell", + "light_battery_cell", + "light_disposable_cell", + "light_plus_battery_cell", + "light_atomic_battery_cell" + ] ] ], "magazine_well": 2 @@ -38,7 +46,7 @@ "type": "TOOL", "name": "electric lantern (on)", "name_plural": "electric lanterns (on)", - "power_draw": 5000, + "power_draw": 1000, "revert_to": "electric_lantern", "use_action": { "menu_text": "Turn off", "type": "transform", "target": "electric_lantern", "msg": "You turn the lamp off." }, "flags": [ "RADIO_MODABLE", "LIGHT_15", "TRADER_AVOID", "ALLOWS_REMOTE_USE" ] diff --git a/data/json/items/tool/radio_tools.json b/data/json/items/tool/radio_tools.json index e55094ce8b951..466c9eab5f5d3 100644 --- a/data/json/items/tool/radio_tools.json +++ b/data/json/items/tool/radio_tools.json @@ -132,7 +132,7 @@ "id": "two_way_radio", "type": "TOOL", "name": "two-way radio", - "description": "This is a radio with a transmitting unit. You could use it to contact someone who also has one. Unfortunately no one seems to use those nowadays...", + "description": "This is a radio with a transmitting unit. You could use it to contact someone who also has one. Unfortunately no one seems to use those nowadays…", "weight": "431 g", "volume": "500 ml", "price": 2000, diff --git a/data/json/items/tool/science.json b/data/json/items/tool/science.json index 14d107da55f11..26fef354db78c 100644 --- a/data/json/items/tool/science.json +++ b/data/json/items/tool/science.json @@ -261,7 +261,7 @@ "type": "TOOL", "category": "tools", "name": "microscope", - "description": "A classic tool for the ages! This hefty, durable piece of lab equipment makes small things look bigger. Without electricity the light doesn't work, but the rest of it is surprisingly functional. Unfortunately it's not useful for very much at the moment.", + "description": "A classic tool for the ages! This hefty, durable piece of lab equipment makes small things look bigger. Without electricity the light doesn't work, but the rest of it is surprisingly functional. Unfortunately it's not useful for very much at the moment.", "weight": "2000 g", "volume": "3800ml", "price": 3000, diff --git a/data/json/items/tool/tailoring.json b/data/json/items/tool/tailoring.json index 3d0973451bfb6..43f3309e997f7 100644 --- a/data/json/items/tool/tailoring.json +++ b/data/json/items/tool/tailoring.json @@ -29,5 +29,45 @@ "material": [ "steel", "wood" ], "delete": { "qualities": [ [ "LEATHER_AWL", 1 ] ] }, "extend": { "qualities": [ [ "LEATHER_AWL", 2 ] ] } + }, + { + "id": "loom_frame", + "type": "GENERIC", + "category": "tools", + "name": "frame loom", + "description": "This is a rather bulky and primitive wooden frame which can be used to weave cloth sheets. It is very slow, though.", + "weight": "3804 g", + "volume": "6000 ml", + "price": 4000, + "material": "wood", + "symbol": ";", + "color": "yellow" + }, + { + "id": "shed_stick", + "type": "GENERIC", + "category": "tools", + "name": "wooden shed stick", + "description": "This is a short thin flat wooden stick, used as a tool while weaving cloth with a frame loom.", + "weight": "300 g", + "volume": "250 ml", + "price": 100, + "bashing": 2, + "material": "wood", + "symbol": ";", + "color": "yellow" + }, + { + "id": "tailoring_pattern_set", + "type": "GENERIC", + "category": "tools", + "name": "tailoring pattern set", + "description": "This is a large set of tailoring patterns made from paper. They're useful for making any kind of cloth or leather items from scratch, but are necessary for more advanced projects.", + "weight": "1000 g", + "volume": "833 ml", + "price": 4000, + "material": "paper", + "symbol": ";", + "color": "yellow" } ] diff --git a/data/json/items/tool/workshop.json b/data/json/items/tool/workshop.json index 0a057518f3f48..5ac218ea5d822 100644 --- a/data/json/items/tool/workshop.json +++ b/data/json/items/tool/workshop.json @@ -7,7 +7,7 @@ "material": "steel", "symbol": ";", "color": "light_gray", - "weight": "7000 g", + "weight": "5000 g", "volume": "1500 ml", "price": 18000, "bashing": 8, diff --git a/data/json/items/tool_armor.json b/data/json/items/tool_armor.json index 16db53248a536..87d77053bbb37 100644 --- a/data/json/items/tool_armor.json +++ b/data/json/items/tool_armor.json @@ -590,6 +590,49 @@ "covers": [ "HEAD" ], "magazine_well": 1 }, + { + "id": "wearable_atomic_light", + "type": "TOOL_ARMOR", + "category": "clothing", + "symbol": "[", + "color": "blue", + "looks_like": "survivor_light_on", + "name": "atomic headlamp", + "description": "This is a custom made reinforced headlamp powered by the magic of nuclear decay, focused for more usable brightness. The adjustable strap allows it to be comfortably worn on your head or attached to your helmet. Use it to close the cover and hide the light.", + "price": 4000, + "material": [ "steel", "plastic" ], + "flags": [ "LIGHT_200", "LEAK_DAM", "RADIOACTIVE", "DURABLE_MELEE", "OVERSIZE", "BELTED", "ALLOWS_NATURAL_ATTACKS" ], + "weight": "1 kg", + "volume": "1500 ml", + "bashing": 2, + "use_action": { + "type": "transform", + "msg": "You close the headlamp's cover.", + "menu_text": "Close cover", + "target": "wearable_atomic_light_off", + "active": true + }, + "covers": [ "HEAD" ], + "encumbrance": 5, + "coverage": 20, + "material_thickness": 1 + }, + { + "id": "wearable_atomic_light_off", + "copy-from": "wearable_atomic_light", + "type": "TOOL_ARMOR", + "looks_like": "survivor_light", + "name": "atomic headlamp (covered)", + "name_plural": "atomic headlamps (covered)", + "description": "This is a custom made reinforced headlamp powered by the magic of nuclear decay, focused for more usable brightness. The adjustable strap allows it to be comfortably worn on your head or attached to your helmet. Use it to open the cover and show the light.", + "flags": [ "LEAK_DAM", "RADIOACTIVE", "DURABLE_MELEE", "OVERSIZE", "BELTED", "ALLOWS_NATURAL_ATTACKS" ], + "use_action": { + "type": "transform", + "msg": "You open the headlamp's cover.", + "menu_text": "Open cover", + "target": "wearable_atomic_light" + } + }, { "id": "rm13_armor", "type": "TOOL_ARMOR", @@ -693,7 +736,7 @@ "target": "dimensional_anchor" }, "covers": [ "TORSO" ], - "flags": [ "DIMENSIONAL_ANCHOR" ] + "flags": [ "DIMENSIONAL_ANCHOR", "OVERSIZE", "STRAPPED" ] }, { "id": "phase_immersion_suit", @@ -714,13 +757,13 @@ "initial_charges": 1000, "use_action": { "type": "transform", - "msg": "Initiating \nRunning suit integrity diagnostics...\nAll systems operational.", - "target": "dimensional_anchor_on", + "msg": "Initiating\nRunning suit integrity diagnostics…\nAll systems operational.", + "target": "phase_immersion_suit_on", "active": true, "need_charges": 1, "need_charges_msg": "Warning: Operating on minimal power. Protection compromised." }, - "covers": [ "TORSO" ], + "covers": [ "HEAD", "MOUTH", "EYES", "TORSO", "ARMS", "HANDS", "LEGS", "FEET" ], "warmth": 30, "environmental_protection": 10, "coverage": 100, @@ -751,15 +794,21 @@ "turns_per_charge": 25, "revert_to": "phase_immersion_suit", "use_action": { "type": "transform", "menu_text": "Turn off", "msg": "Suit shutting down.", "target": "phase_immersion_suit" }, - "covers": [ "TORSO" ], + "covers": [ "HEAD", "MOUTH", "EYES", "TORSO", "ARMS", "HANDS", "LEGS", "FEET" ], "environmental_protection": 80, "flags": [ - "VARSIZE", + "RAD_PROOF", "STURDY", "WATERPROOF", + "HYGROMETER", + "THERMOMETER", + "SUPER_FANCY", "RAINPROOF", + "WATCH", + "ALARMCLOCK", "SWIM_GOGGLES", "SUN_GLASSES", + "STURDY", "ELECTRIC_IMMUNE", "PARTIAL_DEAF", "GAS_PROOF", @@ -1560,7 +1609,8 @@ "max_volume": "1 L", "flags": [ "SHEATH_KNIFE", "SHEATH_SWORD" ] }, - "CROWBAR" + "CROWBAR", + "HAMMER" ], "qualities": [ [ "HAMMER", 3 ], @@ -2425,8 +2475,8 @@ "color": "blue", "name": "shooter's earmuffs", "name_plural": "shooter's earmuffs", - "description": "A pair of earmuffs favored by shooters. The earmuffs are turned off. They will block sounds over a certain decibel amount, assuming it is charged with batteries.", - "flags": [ "OVERSIZE", "BELTED", "ALLOWS_NATURAL_ATTACKS" ], + "description": "A pair of earmuffs favored by shooters. Without batteries or when turned off they function like normal earmuffs and block all sound. They will block sounds over a certain decibel amount when turned on. The earmuffs are currently off.", + "flags": [ "DEAFEN", "OVERSIZE", "BELTED", "ALLOWS_NATURAL_ATTACKS" ], "price": 12500, "material": [ "plastic" ], "weight": "179 g", diff --git a/data/json/items/tools.json b/data/json/items/tools.json index 43537f97d7627..a5f4a67715128 100644 --- a/data/json/items/tools.json +++ b/data/json/items/tools.json @@ -256,7 +256,7 @@ "id": "water_mill", "type": "TOOL", "name": "water mill", - "description": "A small water-powered mill that can convert starchy products into flour. Can be placed via the construction menu.", + "description": "A small water-powered mill that can convert starchy products into flour. Can be placed via the construction menu.", "weight": "120000 g", "volume": "22500 ml", "price": 100000, @@ -271,7 +271,7 @@ "id": "wind_mill", "type": "TOOL", "name": "wind mill", - "description": "A small wind-powered mill that can convert starchy products into flour. Can be placed via the construction menu.", + "description": "A small wind-powered mill that can convert starchy products into flour. Can be placed via the construction menu.", "weight": "120000 g", "volume": "22500 ml", "price": 100000, @@ -287,7 +287,7 @@ "type": "GENERIC", "category": "tools", "name": "atomic coffee maker", - "description": "This is a Curie-G coffeemaker, by CuppaTech. It famously uses a radioactive generator to heat water for coffee. Normally the water is heated using energy stored in a capacitor, and makes ordinary coffee. However, as a special feature, water from the RTG containment area can be used, giving the coffee a very special kick. The Curie-G is illegal in most countries.", + "description": "This is a Curie-G coffeemaker, by CuppaTech. It famously uses a radioactive generator to heat water for coffee. Normally the water is heated using energy stored in a capacitor, and makes ordinary coffee. However, as a special feature, water from the RTG containment area can be used, giving the coffee a very special kick. The Curie-G is illegal in most countries.", "weight": "6102 g", "volume": "1000 ml", "price": 100000, @@ -454,7 +454,7 @@ "type": "TOOL", "name": "bear trap", "description": "This is a spring-loaded pair of steel jaws connected to a sensitive pressure plate. Use it to set it on the ground, creating a trap that will ensnare and damage anything that steps on it. If you are carrying a shovel, you will have the option of burying it.", - "weight": "11793 g", + "weight": "14000 g", "volume": "1500 ml", "price": 6000, "to_hit": -2, @@ -924,7 +924,7 @@ "type": "TOOL", "name": "electric carver (off)", "name_plural": "electric carvers (off)", - "description": "An electric meat carver powered by batteries. Two serrated blades that vibrate together to slice just about anything from turkey to ham... even zombies!", + "description": "An electric meat carver powered by batteries. Two serrated blades that vibrate together to slice just about anything from turkey to ham… even zombies!", "weight": "1106 g", "volume": "1500 ml", "price": 2000, @@ -1021,7 +1021,7 @@ "power_draw": 500, "revert_to": "cell_phone", "use_action": { "target": "cell_phone", "msg": "You stop lighting up the screen.", "menu_text": "Turn off", "type": "transform" }, - "flags": [ "WATCH", "LIGHT_15", "CHARGEDIM", "TRADER_AVOID" ] + "flags": [ "WATCH", "LIGHT_8", "CHARGEDIM", "TRADER_AVOID" ] }, { "id": "smart_phone", @@ -1074,7 +1074,7 @@ "type": "TOOL", "name": "smartphone - Flashlight", "name_plural": "smartphones - Flashlight", - "power_draw": 500, + "power_draw": 1500, "revert_to": "smart_phone", "use_action": { "target": "smart_phone", @@ -1174,6 +1174,26 @@ "use_action": "WATER_PURIFIER", "flags": [ "ALLOWS_REMOTE_USE" ] }, + { + "id": "lifestraw", + "type": "TOOL", + "name": "lifestraw", + "description": "Set the lifestraw in suspect water, let sit for one minute then drink. The two part filtration system will purify the water you drink. Water taken from uncertain sources like a river may be dirty.", + "weight": "104 g", + "volume": "592 ml", + "price": 4000, + "price_postapoc": 75000, + "to_hit": -3, + "bashing": 1, + "material": [ "cotton", "plastic" ], + "symbol": "i", + "looks_like": "advanced_ecig", + "color": "light_cyan", + "initial_charges": 4000, + "max_charges": 4000, + "charges_per_use": 1, + "use_action": "WATER_PURIFIER" + }, { "id": "char_smoker", "type": "TOOL", @@ -1598,7 +1618,7 @@ "symbol": ";", "color": "dark_gray", "qualities": [ [ "PRY", 3 ], [ "HAMMER", 1 ] ], - "use_action": "CROWBAR", + "use_action": [ "HAMMER", "CROWBAR" ], "techniques": [ "WBLOCK_1" ], "flags": [ "BELT_CLIP" ] }, @@ -1769,7 +1789,7 @@ "//": "Too small to be effectively used for butchering, still not bad at it due to serrated edge.", "description": "This is a short, sturdy knife with a serrated edge for cutting lines and straps, and a blunt tip for prying. Used primarily by divers, it is very light and takes up virtually no space in one's pockets.", "weight": "226 g", - "volume": 0, + "volume": "250 ml", "price": 14000, "cutting": 12, "material": [ "steel", "plastic" ], @@ -1894,7 +1914,7 @@ "type": "TOOL", "name": "electronic handcuffs", "name_plural": "electronic handcuffs", - "description": "A pair of electronic handcuffs, used by police and riot bots to detain captives. Their continuous siren clearly identifies the wearer as an arrested criminal and alerts human police. Wait for their arrival, don't try to escape or to remove the cuffs - they will administer an electric shock.\nHowever, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative...", + "description": "A pair of electronic handcuffs, used by police and riot bots to detain captives. Their continuous siren clearly identifies the wearer as an arrested criminal and alerts human police. Wait for their arrival, don't try to escape or to remove the cuffs - they will administer an electric shock.\nHowever, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative…", "weight": "2000 g", "volume": "250 ml", "price": 0, @@ -2056,9 +2076,9 @@ "symbol": ";", "color": "light_gray", "ammo": "battery", - "initial_charges": 3500, - "max_charges": 7000, - "charges_per_use": 3500, + "initial_charges": 4000, + "max_charges": 8000, + "charges_per_use": 500, "use_action": "JACKHAMMER", "flags": [ "STAB", "DIG_TOOL", "POWERED", "USE_UPS", "NO_UNLOAD", "NO_RELOAD" ] }, @@ -2874,7 +2894,7 @@ "type": "GENERIC", "category": "tools", "name": "grappling hook", - "description": "A folding grappling hook attached to a stout 30-foot long piece of lightweight cord. Useful for keeping yourself safe from falls. Can be used in place of a long rope for butchering, in a pinch.", + "description": "A folding grappling hook attached to a stout 30-foot long piece of lightweight cord. Useful for keeping yourself safe from falls. Can be used in place of a long rope for butchering, in a pinch.", "weight": "760 g", "volume": "750 ml", "price": 25000, @@ -2921,7 +2941,7 @@ "color": "dark_gray", "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ], "qualities": [ [ "PRY", 4 ], [ "HAMMER", 2 ], [ "DIG", 1 ] ], - "use_action": "CROWBAR", + "use_action": [ "HAMMER", "CROWBAR" ], "flags": [ "DURABLE_MELEE", "BELT_CLIP" ] }, { @@ -3267,7 +3287,7 @@ "category": "spare_parts", "name": "Kevlar plate", "description": "This is a plate of reinforced Kevlar. It could be used to repair items made of Kevlar.", - "weight": "360 g", + "weight": "300 g", "volume": "250 ml", "price": 1000, "material": "kevlar", @@ -3402,7 +3422,7 @@ [ "SCREW", 1 ], [ "CHISEL", 3 ] ], - "use_action": [ "GUN_REPAIR", "CROWBAR" ], + "use_action": [ "GUN_REPAIR", "CROWBAR", "HAMMER" ], "magazines": [ [ "battery", @@ -4085,7 +4105,7 @@ "use_action": { "type": "repair_item", "item_action_type": "repair_fabric", - "materials": [ "cotton", "leather", "wool", "fur", "faux_fur", "nomex", "kevlar", "gutskin" ], + "materials": [ "cotton", "leather", "lycra", "nylon", "wool", "fur", "faux_fur", "nomex", "kevlar", "gutskin" ], "skill": "tailor", "tool_quality": -1, "cost_scaling": 0.1, @@ -4139,7 +4159,7 @@ "use_action": { "type": "repair_item", "item_action_type": "repair_fabric", - "materials": [ "cotton", "leather", "wool", "fur", "faux_fur", "nomex", "gutskin" ], + "materials": [ "cotton", "lycra", "nylon", "leather", "wool", "fur", "faux_fur", "nomex", "gutskin" ], "skill": "tailor", "tool_quality": -1, "cost_scaling": 0.1, @@ -4271,6 +4291,24 @@ "charges_per_use": 1, "use_action": "OXYGEN_BOTTLE" }, + { + "id": "oxygen_cylinder", + "type": "TOOL", + "name": "oxygen cylinder", + "description": "A large steel cylinder used for storing pressurized gas. It is marked with a faded, but legible O2 symbol.", + "weight": "12888 g", + "volume": "2500 ml", + "price": 13400, + "to_hit": -4, + "bashing": 10, + "material": [ "steel", "plastic" ], + "symbol": ";", + "color": "blue", + "initial_charges": 300, + "max_charges": 300, + "charges_per_use": 10, + "use_action": "OXYGEN_BOTTLE" + }, { "id": "nitrogen_tank", "type": "TOOL", @@ -4765,7 +4803,7 @@ "id": "sponge", "type": "TOOL", "name": "sponge", - "description": "A sponge is a tool or cleaning aid made of soft, porous material. Typically used for cleaning impervious surfaces.", + "description": "A sponge is a tool or cleaning aid made of soft, porous material. Typically used for cleaning impervious surfaces.", "weight": "80 g", "volume": "250 ml", "price": 0, @@ -4811,20 +4849,7 @@ "need_charges_msg": "The reading light winks out.", "type": "transform" }, - "magazines": [ - [ - "battery", - [ - "light_disposable_cell", - "light_minus_disposable_cell", - "light_battery_cell", - "light_plus_battery_cell", - "light_minus_battery_cell", - "light_atomic_battery_cell", - "light_minus_atomic_battery_cell" - ] - ] - ], + "magazines": [ [ "battery", [ "light_minus_disposable_cell", "light_minus_battery_cell", "light_minus_atomic_battery_cell" ] ] ], "magazine_well": 1 }, { @@ -4834,10 +4859,10 @@ "name": "reading light (active)", "name_plural": "reading lights (active)", "description": "A little clip-on LED light, meant for reading books in the dark. This one is turned on.", - "power_draw": 6000, + "power_draw": 1000, "revert_to": "reading_light", "use_action": { "target": "reading_light", "msg": "You switch off the reading light.", "menu_text": "Turn off", "type": "transform" }, - "flags": [ "LIGHT_8", "CHARGEDIM" ] + "flags": [ "LIGHT_15", "CHARGEDIM" ] }, { "id": "ref_lighter", @@ -5146,7 +5171,7 @@ "use_action": { "type": "repair_item", "item_action_type": "repair_fabric", - "materials": [ "cotton", "leather", "wool", "fur", "faux_fur", "nomex", "kevlar", "gutskin" ], + "materials": [ "cotton", "leather", "lycra", "nylon", "wool", "fur", "faux_fur", "nomex", "kevlar", "gutskin" ], "skill": "tailor", "tool_quality": 0, "cost_scaling": 0.1, @@ -5231,7 +5256,6 @@ "max_charges": 50, "use_action": { "type": "fireweapon_off", - "active": true, "target_id": "shishkebab_on", "moves": 10, "noise": 10, @@ -5372,7 +5396,7 @@ [ "SCREW", 1 ], [ "CHISEL", 3 ] ], - "use_action": [ "GUN_REPAIR", "CROWBAR" ], + "use_action": [ "GUN_REPAIR", "CROWBAR", "HAMMER" ], "magazines": [ [ "battery", @@ -5703,7 +5727,7 @@ { "type": "repair_item", "item_action_type": "repair_fabric", - "materials": [ "cotton", "leather", "wool", "fur", "faux_fur", "nomex", "kevlar", "neoprene", "gutskin" ], + "materials": [ "cotton", "leather", "lycra", "nylon", "wool", "fur", "faux_fur", "nomex", "kevlar", "neoprene", "gutskin" ], "skill": "tailor", "tool_quality": 1, "cost_scaling": 0.1, @@ -5711,7 +5735,21 @@ }, { "type": "sew_advanced", - "materials": [ "cotton", "leather", "wool", "fur", "faux_fur", "nomex", "kevlar", "neoprene", "gutskin", "plastic", "kevlar_rigid" ], + "materials": [ + "cotton", + "leather", + "lycra", + "nylon", + "wool", + "fur", + "faux_fur", + "nomex", + "kevlar", + "neoprene", + "gutskin", + "plastic", + "kevlar_rigid" + ], "skill": "tailor", "clothing_mods": [ "leather_padded", "kevlar_padded", "furred", "wooled" ] } @@ -6084,7 +6122,7 @@ "type": "TOOL", "category": "weapons", "name": "black gunpowder charge", - "description": "This is a home-made explosive device, consisting of a large plastic jug filled with black gunpowder and scrap metal, equipped with a long fuse. Use this item to light the fuse. Should explode in a few minutes...", + "description": "This is a home-made explosive device, consisting of a large plastic jug filled with black gunpowder and scrap metal, equipped with a long fuse. Use this item to light the fuse. Should explode in a few minutes…", "weight": "5000 g", "volume": "4 L", "price": 20000, @@ -7073,48 +7111,7 @@ "ammo": "tinder", "max_charges": 100, "charges_per_use": 25, - "use_action": [ - { - "target": "hobo_stove_on", - "msg": "The hobo stove is lit.", - "need_fire": 1, - "need_fire_msg": "You need a source of fire!", - "active": false, - "menu_text": "Light", - "type": "transform" - } - ] - }, - { - "id": "hobo_stove_on", - "type": "TOOL", - "name": "hobo stove (lit)", - "name_plural": "hobo stoves (lit)", - "description": "This is a small improvised wood stove, made from a metal can or similar container of the right size. Useful for defrosting and reheating food, uses simple tinder.", - "weight": "500 g", - "volume": "250 ml", - "price": 0, - "to_hit": -1, - "bashing": 2, - "material": "steel", - "symbol": ",", - "color": "light_gray", - "ammo": "tinder", - "max_charges": 100, - "charges_per_use": 25, - "turns_per_charge": 300, - "revert_to": "hobo_stove", - "use_action": [ - "HOTPLATE", - { - "target": "hobo_stove", - "msg": "The ember is extinguished.", - "active": false, - "menu_text": "Extinguish", - "type": "transform" - } - ], - "flags": [ "LIGHT_3", "ALLOWS_REMOTE_USE" ] + "use_action": "HOTPLATE" }, { "id": "tinderbox", @@ -7135,6 +7132,8 @@ "active": true, "need_fire": 1, "need_fire_msg": "You need a lighter or fire to light this.", + "need_charges": 1, + "need_charges_msg": "The ember carrier is out of tinder.", "type": "transform" } }, @@ -7328,7 +7327,7 @@ "category": "weapons", "id": "grip_hook", "name": "grip hook", - "description": "A simple steel meathook with a circular steel handle. Makes a passable melee weapon.", + "description": "A simple steel meathook with a circular steel handle. Makes a passable melee weapon.", "weight": "900 g", "to_hit": 1, "color": "light_gray", diff --git a/data/json/items/vehicle/boat.json b/data/json/items/vehicle/boat.json index 5e95b547ac3b7..8951464d34fa9 100644 --- a/data/json/items/vehicle/boat.json +++ b/data/json/items/vehicle/boat.json @@ -71,7 +71,7 @@ "name": "sail", "name_plural": "sails", "description": "Sails for a boat.", - "weight": "945 g", + "weight": "7904 g", "to_hit": -1, "color": "light_gray", "symbol": ":", diff --git a/data/json/items/vehicle/cables.json b/data/json/items/vehicle/cables.json index dfc1f6a836a33..318992dbbbe1c 100644 --- a/data/json/items/vehicle/cables.json +++ b/data/json/items/vehicle/cables.json @@ -22,7 +22,7 @@ "type": "TOOL", "id": "jumper_cable_heavy", "name": "heavy-duty cable", - "description": "A long, thick, heavy-duty cable with power leads on either end. It looks like you could use it to hook up two vehicles to each other, though you expect the power loss would be noticeable. Can also link other electrical systems.", + "description": "A long, thick, heavy-duty cable with power leads on either end. It looks like you could use it to hook up two vehicles to each other, though you expect the power loss would be noticeable. Can also link other electrical systems.", "volume": "1500 ml", "weight": "750 g", "max_charges": 20, diff --git a/data/json/items/vehicle/controls.json b/data/json/items/vehicle/controls.json index 3dda828dde67f..63ec8a5773d16 100644 --- a/data/json/items/vehicle/controls.json +++ b/data/json/items/vehicle/controls.json @@ -68,5 +68,17 @@ "bashing": 1, "price": 20000, "copy-from": "vehicle_controls" + }, + { + "type": "GENERIC", + "id": "turret_controls", + "name": "turret control unit", + "description": "A set of motor, camera, and various electronic modules banded together to allow for tracking targets, friend-or-foe identification, and firing the connected turret in full automatic mode.", + "weight": "4000 g", + "color": "white", + "symbol": "&", + "volume": "9 L", + "price": 500000, + "copy-from": "vehicle_controls" } ] diff --git a/data/json/items/vehicle/motors.json b/data/json/items/vehicle/motors.json index 1ab79453459a2..37e30c90df8d5 100644 --- a/data/json/items/vehicle/motors.json +++ b/data/json/items/vehicle/motors.json @@ -4,11 +4,11 @@ "id": "motor", "name": "electric motor", "description": "A powerful electric motor. Useful for crafting.", - "weight": "27200 g", + "weight": "25 kg", "color": "light_cyan", "symbol": ",", "material": [ "steel" ], - "volume": "9700 ml", + "volume": "5 L", "bashing": 4, "category": "veh_parts", "price": 12000 @@ -18,9 +18,9 @@ "id": "motor_enhanced", "name": "enhanced electric motor", "description": "A very powerful and yet lightweight electric motor. Useful for crafting.", - "weight": "81600 g", + "weight": "100 kg", "material": [ "superalloy" ], - "volume": "2650 ml", + "volume": "20 L", "price": 68000, "copy-from": "motor" }, @@ -29,8 +29,8 @@ "id": "motor_super", "name": "super electric motor", "description": "The most powerfull electric motor on the market. Useful for crafting.", - "weight": "133800 g", - "volume": "111 L", + "weight": "125 kg", + "volume": "25 L", "price": 80000, "copy-from": "motor" }, @@ -39,10 +39,10 @@ "id": "motor_large", "name": "large electric motor", "description": "A large and very powerful electric motor. Useful for crafting.", - "weight": "68000 g", + "weight": "75 kg", "to_hit": -3, "symbol": ":", - "volume": "1740 ml", + "volume": "15 L", "bashing": 9, "price": 22000, "copy-from": "motor" @@ -52,8 +52,8 @@ "id": "motor_small", "name": "small electric motor", "description": "A small electric motor. Useful for crafting.", - "weight": "7500 g", - "volume": "5 L", + "weight": "5 kg", + "volume": "1 L", "bashing": 1, "price": 2000, "copy-from": "motor" @@ -63,11 +63,11 @@ "id": "motor_tiny", "name": "tiny electric motor", "description": "A tiny electric motor. Useful for crafting.", - "weight": "5800 g", + "weight": "625 g", "color": "light_cyan", "symbol": ",", "material": [ "steel", "plastic" ], - "volume": "500 ml", + "volume": "125 ml", "category": "veh_parts", "price": 2000 } diff --git a/data/json/items/vehicle/utilities.json b/data/json/items/vehicle/utilities.json index a94d4656f20dd..b72355505ea4b 100644 --- a/data/json/items/vehicle/utilities.json +++ b/data/json/items/vehicle/utilities.json @@ -14,6 +14,21 @@ "category": "veh_parts", "price": 60000 }, + { + "type": "GENERIC", + "id": "programmable_autopilot", + "name": "programmable autopilot", + "description": "A computer system hooked up to the steering and engine of a vehicle to allow it to follow simple paths.", + "weight": "11246 g", + "to_hit": -2, + "color": "light_blue", + "symbol": "A", + "material": "steel", + "volume": "10 L", + "bashing": 3, + "category": "veh_parts", + "price": 90000 + }, { "type": "GENERIC", "id": "vh_autoclave", diff --git a/data/json/items/vehicle/wheel.json b/data/json/items/vehicle/wheel.json index d42c3bf2b4d27..5d756050043d5 100644 --- a/data/json/items/vehicle/wheel.json +++ b/data/json/items/vehicle/wheel.json @@ -17,7 +17,7 @@ "type": "GENERIC", "category": "veh_parts", "name": "medium wheel hub assembly", - "description": "A metal assembly that allows bolting a wheel on a car. Fit for a car wheel.", + "description": "A metal assembly that allows bolting a wheel on a car. Fit for a car wheel.", "weight": 5000, "volume": "6 L", "price": 3000, @@ -32,7 +32,7 @@ "type": "GENERIC", "category": "veh_parts", "name": "heavy wheel hub assembly", - "description": "A heavy metal assembly that allows bolting a wheel on a car. Fit for a large car wheel.", + "description": "A heavy metal assembly that allows bolting a wheel on a car. Fit for a large car wheel.", "weight": 6000, "volume": "7 L", "price": 5000, @@ -186,6 +186,19 @@ "diameter": 20, "width": 4 }, + { + "id": "wheel_rail_small_pair", + "name": "pair of small rail wheels", + "type": "WHEEL", + "description": "A pair of small rail wheels. It fits small railroad rails found in places like amusement parks. Mostly for hobby purposes rather then transportation.", + "copy-from": "wheel_rail", + "price": 900, + "weight": "12239 g", + "price_postapoc": 750, + "symbol": "=", + "diameter": 10, + "width": 3 + }, { "id": "wheel_motorbike", "type": "WHEEL", diff --git a/data/json/legacy_artifact_active.json b/data/json/legacy_artifact_active.json index c822e0c3c7629..8bcbf90fe23ad 100644 --- a/data/json/legacy_artifact_active.json +++ b/data/json/legacy_artifact_active.json @@ -408,7 +408,7 @@ "valid_targets": [ "self" ], "min_aoe": 20, "max_aoe": 20, - "message": "You have a vision of the surrounding area...", + "message": "You have a vision of the surrounding area…", "base_casting_time": 100 }, { diff --git a/data/json/loot_zones.json b/data/json/loot_zones.json new file mode 100644 index 0000000000000..fe6001d53d538 --- /dev/null +++ b/data/json/loot_zones.json @@ -0,0 +1,188 @@ +[ + { + "id": "LOOT_UNSORTED", + "type": "LOOT_ZONE", + "name": "Loot: Unsorted", + "description": "Place to drop unsorted loot. You can use \"sort out loot\" zone-action to sort items inside. It can overlap with Loot zones of different types." + }, + { + "id": "LOOT_FOOD", + "type": "LOOT_ZONE", + "name": "Loot: Food", + "description": "Destination for comestibles. If more specific food zone is not defined, all food is moved here." + }, + { + "id": "LOOT_PFOOD", + "type": "LOOT_ZONE", + "name": "Loot: P.Food", + "description": "Destination for perishable comestibles. Does include perishable drinks if such zone is not specified." + }, + { + "id": "LOOT_DRINK", + "type": "LOOT_ZONE", + "name": "Loot: Drink", + "description": "Destination for drinks. Does include perishable drinks if such zone is not specified." + }, + { + "id": "LOOT_PDRINK", + "type": "LOOT_ZONE", + "name": "Loot: P.Drink", + "description": "Destination for perishable drinks." + }, + { + "id": "LOOT_CONTAINERS", + "type": "LOOT_ZONE", + "name": "Loot: Containers", + "description": "Destination for empty containers." + }, + { + "id": "LOOT_GUNS", + "type": "LOOT_ZONE", + "name": "Loot: Guns", + "description": "Destination for guns, bows and similar wearpons." + }, + { + "id": "LOOT_MAGAZINES", + "type": "LOOT_ZONE", + "name": "Loot: Magazines", + "description": "Destination for gun magazines." + }, + { + "id": "LOOT_AMMO", + "type": "LOOT_ZONE", + "name": "Loot: Ammo", + "description": "Destination for ammo." + }, + { + "id": "LOOT_WEAPONS", + "type": "LOOT_ZONE", + "name": "Loot: Weapons", + "description": "Destination for melee weapons." + }, + { + "id": "LOOT_TOOLS", + "type": "LOOT_ZONE", + "name": "Loot: Tools", + "description": "Destination for tools." + }, + { + "id": "LOOT_CLOTHING", + "type": "LOOT_ZONE", + "name": "Loot: Clothing", + "description": "Destination for clothing. Does include filthy clothing if such zone is not specified." + }, + { + "id": "LOOT_FCLOTHING", + "type": "LOOT_ZONE", + "name": "Loot: F.Clothing", + "description": "Destination for filthy clothing." + }, + { + "id": "LOOT_DRUGS", + "type": "LOOT_ZONE", + "name": "Loot: Drugs", + "description": "Destination for drugs and other medical items." + }, + { + "id": "LOOT_BOOKS", + "type": "LOOT_ZONE", + "name": "Loot: Books", + "description": "Destination for books and magazines." + }, + { + "id": "LOOT_MODS", + "type": "LOOT_ZONE", + "name": "Loot: Mods", + "description": "Destination for firearm modifications and similar items." + }, + { + "id": "LOOT_MUTAGENS", + "type": "LOOT_ZONE", + "name": "Loot: Mutagens", + "description": "Destination for mutagens, serums, and purifiers." + }, + { + "id": "LOOT_BIONICS", + "type": "LOOT_ZONE", + "name": "Loot: Bionics", + "description": "Destination for Compact Bionics Modules, a.k.a. CBMS." + }, + { + "id": "LOOT_VEHICLE_PARTS", + "type": "LOOT_ZONE", + "name": "Loot: V.Parts", + "description": "Destination for vehicle parts." + }, + { + "id": "LOOT_OTHER", + "type": "LOOT_ZONE", + "name": "Loot: Other", + "description": "Destination for other miscellaneous items." + }, + { + "id": "LOOT_FUEL", + "type": "LOOT_ZONE", + "name": "Loot: Fuel", + "description": "Destination for gasoline, diesel, lamp oil and other substances used as a fuel." + }, + { + "id": "LOOT_SEEDS", + "type": "LOOT_ZONE", + "name": "Loot: Seeds", + "description": "Destination for seeds, stems and similar items." + }, + { + "id": "LOOT_CHEMICAL", + "type": "LOOT_ZONE", + "name": "Loot: Chemical", + "description": "Destination for chemicals." + }, + { + "id": "LOOT_SPARE_PARTS", + "type": "LOOT_ZONE", + "name": "Loot: S.Parts", + "description": "Destination for spare parts." + }, + { + "id": "LOOT_ARTIFACTS", + "type": "LOOT_ZONE", + "name": "Loot: Artifacts", + "description": "Destination for artifacts" + }, + { + "id": "LOOT_CORPSE", + "type": "LOOT_ZONE", + "name": "Loot: Corpses", + "description": "Destination for corpses" + }, + { + "id": "LOOT_ARMOR", + "type": "LOOT_ZONE", + "name": "Loot: Armor", + "description": "Destination for armor. Does include filthy armor if such zone is not specified." + }, + { + "id": "LOOT_FARMOR", + "type": "LOOT_ZONE", + "name": "Loot: F.Armor", + "description": "Destination for filthy armor." + }, + { + "id": "LOOT_WOOD", + "type": "LOOT_ZONE", + "name": "Loot: Wood", + "description": "Destination for firewood and items that can be used as such." + }, + { + "id": "LOOT_CUSTOM", + "type": "LOOT_ZONE", + "name": "Loot: Custom", + "description": "Destination for loot with a custom filter that you can modify" + }, + { + "id": "LOOT_IGNORE", + "type": "LOOT_ZONE", + "name": "Loot: Ignore", + "description": "Items inside of this zone are ignored by \"sort out loot\" zone-action." + } +] diff --git a/data/json/mapgen/basecamps/modular_firestation1.json b/data/json/mapgen/basecamps/modular_firestation1.json index 56a5ea0a1157a..070983896923f 100644 --- a/data/json/mapgen/basecamps/modular_firestation1.json +++ b/data/json/mapgen/basecamps/modular_firestation1.json @@ -50,14 +50,14 @@ ], "palettes": [ "fbmc_firestation1_palette" ], "place_furniture": [ - { "furn": "f_null", "x": 0, "y": 2, "chance": 100 }, - { "furn": "f_null", "x": 0, "y": 3, "chance": 100 }, - { "furn": "f_null", "x": 1, "y": 2, "chance": 100 }, - { "furn": "f_null", "x": 1, "y": 3, "chance": 100 }, - { "furn": "f_null", "x": 1, "y": 4, "chance": 100 }, - { "furn": "f_null", "x": 2, "y": 2, "chance": 100 }, - { "furn": "f_null", "x": 2, "y": 3, "chance": 100 }, - { "furn": "f_null", "x": 2, "y": 4, "chance": 100 } + { "furn": "f_null", "x": 0, "y": 2 }, + { "furn": "f_null", "x": 0, "y": 3 }, + { "furn": "f_null", "x": 1, "y": 2 }, + { "furn": "f_null", "x": 1, "y": 3 }, + { "furn": "f_null", "x": 1, "y": 4 }, + { "furn": "f_null", "x": 2, "y": 2 }, + { "furn": "f_null", "x": 2, "y": 3 }, + { "furn": "f_null", "x": 2, "y": 4 } ] } }, @@ -69,7 +69,7 @@ "place_nested": [ { "chunks": [ "fbmc_firestation1_kitchen1" ], "x": 1, "y": 9 } ], "place_loot": [ { "item": "2x4", "repeat": 24, "x": 2, "y": 10, "chance": 100 }, - { "item": "nail", "charges": 36, "x": 2, "y": 10, "chance": 100 } + { "item": "nail", "repeat": 36, "x": 2, "y": 10, "chance": 100 } ] } }, @@ -135,14 +135,14 @@ "object": { "mapgensize": [ 6, 6 ], "place_furniture": [ - { "furn": "f_null", "x": 0, "y": 3, "chance": 100 }, - { "furn": "f_null", "x": 0, "y": 4, "chance": 100 }, - { "furn": "f_null", "x": 2, "y": 1, "chance": 100 }, - { "furn": "f_null", "x": 2, "y": 2, "chance": 100 }, - { "furn": "f_null", "x": 1, "y": 0, "chance": 100 }, - { "furn": "f_null", "x": 0, "y": 0, "chance": 100 }, - { "furn": "f_null", "x": 1, "y": 1, "chance": 100 }, - { "furn": "f_null", "x": 1, "y": 2, "chance": 100 } + { "furn": "f_null", "x": 0, "y": 3 }, + { "furn": "f_null", "x": 0, "y": 4 }, + { "furn": "f_null", "x": 2, "y": 1 }, + { "furn": "f_null", "x": 2, "y": 2 }, + { "furn": "f_null", "x": 1, "y": 0 }, + { "furn": "f_null", "x": 0, "y": 0 }, + { "furn": "f_null", "x": 1, "y": 1 }, + { "furn": "f_null", "x": 1, "y": 2 } ] } }, diff --git a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_common.json b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_common.json new file mode 100644 index 0000000000000..4f1c2300cf5c4 --- /dev/null +++ b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_common.json @@ -0,0 +1,73 @@ +[ + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmsw_0", + "object": { + "mapgensize": [ 6, 6 ], + "rows": [ + " ", + " ", + " ", + " ", + " ", + " " + ], + "palettes": [ "fbmsw_wood_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "faction_base_saltworks_0", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_0" ], "x": 15, "y": 3 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmsw_brewery1_still", + "object": { + "mapgensize": [ 7, 7 ], + "rows": [ + " ", + " ", + " ", + " ^ ", + " # ", + " s tr ", + " " + ], + "palettes": [ "fbmsw_wad_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmsw_brewery1_southwest", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_brewery1_still" ], "x": 3, "y": 14 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmsw_brewery2_kegs", + "object": { + "mapgensize": [ 7, 7 ], + "rows": [ + " ", + " H r ", + " ", + " ", + " H ", + " H ", + " " + ], + "palettes": [ "fbmsw_wad_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmsw_brewery2_southwest", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_brewery2_kegs" ], "x": 3, "y": 14 } ] } + } +] diff --git a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_log.json b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_log.json new file mode 100644 index 0000000000000..4d9b0fafeb6b8 --- /dev/null +++ b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_log.json @@ -0,0 +1,108 @@ +[ + { + "type": "palette", + "id": "fbmsw_log_palette", + "terrain": { + ".": "t_floor_primitive", + "b": "t_floor_primitive", + "r": "t_floor_primitive", + "t": "t_floor_primitive", + "#": "t_floor_primitive", + "H": "t_floor_primitive", + "^": "t_floor_primitive", + "s": "t_floor_primitive", + "~": "t_swater_sh", + "o": "t_window_no_curtains", + "w": "t_wall_log", + "+": "t_door_c" + }, + "furniture": { + "b": "f_bench", + "r": "f_rack", + "t": "f_table", + "#": "f_stool", + "c": "f_counter", + "H": "f_wood_keg", + "O": "f_fvat_empty", + "^": "f_still", + "s": "f_woodstove" + } + }, + { + "type": "mapgen", + "update_mapgen_id": "faction_base_saltworks_0", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_0" ], "x": 15, "y": 3 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmsw_saltpan_log", + "object": { + "mapgensize": [ 7, 7 ], + "rows": [ + "wwwowww", + "w.....w", + "w.c.c.w", + "o.~t~.o", + "w.~#~.w", + "w.....w", + "www+www" + ], + "palettes": [ "fbmsw_log_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmsw_saltpan_log_northeast", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_saltpan_log" ], "x": 14, "y": 3 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmsw_shack_log", + "object": { + "mapgensize": [ 6, 6 ], + "rows": [ + " ", + " woww", + " wwrrw", + " +..to", + " orrrw", + " wwoww" + ], + "palettes": [ "fbmsw_log_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmsw_shack_log_southeast", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_shack_log" ], "x": 15, "y": 15 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmsw_brewery0_log", + "object": { + "mapgensize": [ 7, 7 ], + "rows": [ + "wwwwwww", + "w.rrr.w", + "oH....+", + "wO....w", + "o.....w", + "w.....w", + "wwwwwww" + ], + "palettes": [ "fbmsw_log_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmsw_brewery0_log_southwest", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_brewery0_log" ], "x": 3, "y": 14 } ] } + } +] diff --git a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_metal.json b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_metal.json new file mode 100644 index 0000000000000..ac5c4d2c2c288 --- /dev/null +++ b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_metal.json @@ -0,0 +1,102 @@ +[ + { + "type": "palette", + "id": "fbmsw_metal_palette", + "terrain": { + ".": "t_metal_floor", + "b": "t_metal_floor", + "r": "t_metal_floor", + "t": "t_metal_floor", + "#": "t_metal_floor", + "H": "t_metal_floor", + "^": "t_metal_floor", + "s": "t_metal_floor", + "~": "t_swater_sh", + "o": "t_window_no_curtains", + "w": "t_scrap_wall", + "+": "t_door_c" + }, + "furniture": { + "b": "f_bench", + "r": "f_rack", + "t": "f_table", + "#": "f_stool", + "c": "f_counter", + "H": "f_wood_keg", + "O": "f_fvat_empty", + "^": "f_still", + "s": "f_woodstove" + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmsw_saltpan_metal", + "object": { + "mapgensize": [ 7, 7 ], + "rows": [ + "wwwowww", + "w.....w", + "w.c.c.w", + "o.~t~.o", + "w.~#~.w", + "w.....w", + "www+www" + ], + "palettes": [ "fbmsw_metal_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmsw_saltpan_metal_northeast", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_saltpan_metal" ], "x": 14, "y": 3 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmsw_shack_metal", + "object": { + "mapgensize": [ 6, 6 ], + "rows": [ + " ", + " woww", + " wwrrw", + " +..to", + " orrrw", + " wwoww" + ], + "palettes": [ "fbmsw_metal_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmsw_shack_metal_southeast", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_shack_metal" ], "x": 15, "y": 15 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmsw_brewery0_metal", + "object": { + "mapgensize": [ 7, 7 ], + "rows": [ + "wwwwwww", + "w.rrr.w", + "oH....+", + "wO....w", + "o.....w", + "w.....w", + "wwwwwww" + ], + "palettes": [ "fbmsw_metal_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmsw_brewery0_metal_southwest", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_brewery0_metal" ], "x": 3, "y": 14 } ] } + } +] diff --git a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_rock.json b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_rock.json new file mode 100644 index 0000000000000..5e418f5a22370 --- /dev/null +++ b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_rock.json @@ -0,0 +1,102 @@ +[ + { + "type": "palette", + "id": "fbmsw_rock_palette", + "terrain": { + ".": "t_rock_floor", + "b": "t_rock_floor", + "r": "t_rock_floor", + "t": "t_rock_floor", + "#": "t_rock_floor", + "H": "t_rock_floor", + "^": "t_rock_floor", + "s": "t_rock_floor", + "~": "t_swater_sh", + "o": "t_window_no_curtains", + "w": "t_rock_wall", + "+": "t_door_c" + }, + "furniture": { + "b": "f_bench", + "r": "f_rack", + "t": "f_table", + "#": "f_stool", + "c": "f_counter", + "H": "f_wood_keg", + "O": "f_fvat_empty", + "^": "f_still", + "s": "f_woodstove" + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmsw_saltpan_rock", + "object": { + "mapgensize": [ 7, 7 ], + "rows": [ + "wwwowww", + "w.....w", + "w.c.c.w", + "o.~t~.o", + "w.~#~.w", + "w.....w", + "www+www" + ], + "palettes": [ "fbmsw_rock_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmsw_saltpan_rock_northeast", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_saltpan_rock" ], "x": 14, "y": 3 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmsw_shack_rock", + "object": { + "mapgensize": [ 6, 6 ], + "rows": [ + " ", + " woww", + " wwrrw", + " +..to", + " orrrw", + " wwoww" + ], + "palettes": [ "fbmsw_rock_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmsw_shack_rock_southeast", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_shack_rock" ], "x": 15, "y": 15 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmsw_brewery0_rock", + "object": { + "mapgensize": [ 7, 7 ], + "rows": [ + "wwwwwww", + "w.rrr.w", + "oH....+", + "wO....w", + "o.....w", + "w.....w", + "wwwwwww" + ], + "palettes": [ "fbmsw_rock_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmsw_brewery0_rock_southwest", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_brewery0_rock" ], "x": 3, "y": 14 } ] } + } +] diff --git a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_wad.json b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_wad.json new file mode 100644 index 0000000000000..43fbdfb7ce1f3 --- /dev/null +++ b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_wad.json @@ -0,0 +1,89 @@ +[ + { + "type": "palette", + "id": "fbmsw_wad_palette", + "terrain": { ".": "t_dirtfloor", "~": "t_swater_sh", "o": "t_wall_wattle_half", "w": "t_wall_wattle", "+": "t_door_makeshift_c" }, + "furniture": { + "b": "f_bench", + "r": "f_rack", + "t": "f_table", + "#": "f_stool", + "c": "f_counter", + "H": "f_wood_keg", + "O": "f_fvat_empty", + "^": "f_still", + "s": "f_woodstove" + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmsw_saltpan_wad", + "object": { + "mapgensize": [ 7, 7 ], + "rows": [ + "wwwowww", + "w.....w", + "w.c.c.w", + "o.~t~.o", + "w.~#~.w", + "w.....w", + "www+www" + ], + "palettes": [ "fbmsw_wad_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmsw_saltpan_wad_northeast", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_saltpan_wad" ], "x": 14, "y": 3 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmsw_shack_wad", + "object": { + "mapgensize": [ 6, 6 ], + "rows": [ + " ", + " woww", + " wwrrw", + " +..to", + " orrrw", + " wwoww" + ], + "palettes": [ "fbmsw_wad_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmsw_shack_wad_southeast", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_shack_wad" ], "x": 15, "y": 15 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmsw_brewery0_wad", + "object": { + "mapgensize": [ 7, 7 ], + "rows": [ + "wwwwwww", + "w.rrr.w", + "oH....+", + "wO....w", + "o.....w", + "w.....w", + "wwwwwww" + ], + "palettes": [ "fbmsw_wad_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmsw_brewery0_wad_southwest", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_brewery0_wad" ], "x": 3, "y": 14 } ] } + } +] diff --git a/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_wood.json b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_wood.json new file mode 100644 index 0000000000000..83b9392c33229 --- /dev/null +++ b/data/json/mapgen/basecamps/modular_saltworks/modular_saltworks_wood.json @@ -0,0 +1,102 @@ +[ + { + "type": "palette", + "id": "fbmsw_wood_palette", + "terrain": { + ".": "t_floor", + "b": "t_floor", + "r": "t_floor", + "t": "t_floor", + "#": "t_floor", + "H": "t_floor", + "^": "t_floor", + "s": "t_floor", + "~": "t_swater_sh", + "o": "t_window_no_curtains", + "w": "t_wall_wood", + "+": "t_door_c" + }, + "furniture": { + "b": "f_bench", + "r": "f_rack", + "t": "f_table", + "#": "f_stool", + "c": "f_counter", + "H": "f_wood_keg", + "O": "f_fvat_empty", + "^": "f_still", + "s": "f_woodstove" + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmsw_saltpan_wood", + "object": { + "mapgensize": [ 7, 7 ], + "rows": [ + "wwwowww", + "w.....w", + "w.c.c.w", + "o.~t~.o", + "w.~#~.w", + "w.....w", + "www+www" + ], + "palettes": [ "fbmsw_wood_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmsw_saltpan_wood_northeast", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_saltpan_wood" ], "x": 14, "y": 3 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmsw_shack_wood", + "object": { + "mapgensize": [ 6, 6 ], + "rows": [ + " ", + " woww", + " wwrrw", + " +..to", + " orrrw", + " wwoww" + ], + "palettes": [ "fbmsw_wood_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmsw_shack_wood_southeast", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_shack_wood" ], "x": 15, "y": 15 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmsw_brewery0_wood", + "object": { + "mapgensize": [ 7, 7 ], + "rows": [ + "wwwwwww", + "w.rrr.w", + "oH....+", + "wO....w", + "o.....w", + "w.....w", + "wwwwwww" + ], + "palettes": [ "fbmsw_wood_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmsw_brewery0_wood_southwest", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmsw_brewery0_wood" ], "x": 3, "y": 14 } ] } + } +] diff --git a/data/json/mapgen/basecamps/modular_shelter/modular_shelter_common.json b/data/json/mapgen/basecamps/modular_shelter/modular_shelter_common.json index b57a89a18abc4..09cd4d6977119 100644 --- a/data/json/mapgen/basecamps/modular_shelter/modular_shelter_common.json +++ b/data/json/mapgen/basecamps/modular_shelter/modular_shelter_common.json @@ -70,112 +70,6 @@ "method": "json", "object": { "set": [ { "point": "terrain", "id": "t_water_pump", "x": 16, "y": 9 } ] } }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_SE", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wwww", - "w ", - "d ", - "w " - ], - "palettes": [ "fbmc_shelter_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_se", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_SE" ], "x": 15, "y": 19 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_E", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wwww", - "w ", - "d ", - "w " - ], - "palettes": [ "fbmc_shelter_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_e", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_E" ], "x": 15, "y": 15 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_SW", - "object": { - "mapgensize": [ 5, 5 ], - "rows": [ - " wwww", - " w", - " d", - " w", - " www" - ], - "palettes": [ "fbmc_shelter_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_SW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_SW" ], "x": 4, "y": 16 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_W", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - "wwww", - " w", - " d", - " w" - ], - "palettes": [ "fbmc_shelter_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_W", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_W" ], "x": 5, "y": 12 } ] } - }, - { - "type": "mapgen", - "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_NW", - "object": { - "mapgensize": [ 4, 4 ], - "rows": [ - " ", - " w", - " d", - " w" - ], - "palettes": [ "fbmc_shelter_palette" ] - } - }, - { - "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_NW", - "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_NW" ], "x": 5, "y": 8 } ] } - }, { "type": "mapgen", "method": "json", diff --git a/data/json/mapgen/basecamps/modular_shelter/modular_shelter_standard.json b/data/json/mapgen/basecamps/modular_shelter/modular_shelter_standard.json index d0ea3612852bc..b9b9d6c94e010 100644 --- a/data/json/mapgen/basecamps/modular_shelter/modular_shelter_standard.json +++ b/data/json/mapgen/basecamps/modular_shelter/modular_shelter_standard.json @@ -1,26 +1,8 @@ [ - { - "type": "palette", - "id": "fbmc_shelter_palette_rock", - "terrain": { "w": "t_rock_wall", "d": "t_door_c" }, - "furniture": { - "h": "f_chair", - "t": "f_table", - "c": "f_workbench", - "r": "f_rack", - "b": "f_bed", - "m": "f_straw_bed", - "n": "f_makeshift_bed", - "L": "f_locker", - "s": "f_sofa", - "C": "f_armchair", - "B": "f_bookcase" - } - }, { "type": "mapgen", "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_SE_rock", + "nested_mapgen_id": "fbmc_shelter_bedroom_SE", "object": { "mapgensize": [ 4, 4 ], "rows": [ @@ -29,19 +11,19 @@ "d ", "w " ], - "palettes": [ "fbmc_shelter_palette_rock" ] + "palettes": [ "fbmc_shelter_palette" ] } }, { "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_se_rock", + "update_mapgen_id": "fbmc_shelter_bedroom_se", "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_SE_rock" ], "x": 15, "y": 19 } ] } + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_SE" ], "x": 15, "y": 19 } ] } }, { "type": "mapgen", "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_E_rock", + "nested_mapgen_id": "fbmc_shelter_bedroom_E", "object": { "mapgensize": [ 4, 4 ], "rows": [ @@ -50,19 +32,19 @@ "d ", "w " ], - "palettes": [ "fbmc_shelter_palette_rock" ] + "palettes": [ "fbmc_shelter_palette" ] } }, { "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_e_rock", + "update_mapgen_id": "fbmc_shelter_bedroom_e", "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_E_rock" ], "x": 15, "y": 15 } ] } + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_E" ], "x": 15, "y": 15 } ] } }, { "type": "mapgen", "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_SW_rock", + "nested_mapgen_id": "fbmc_shelter_bedroom_SW", "object": { "mapgensize": [ 5, 5 ], "rows": [ @@ -72,19 +54,19 @@ " w", " www" ], - "palettes": [ "fbmc_shelter_palette_rock" ] + "palettes": [ "fbmc_shelter_palette" ] } }, { "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_SW_rock", + "update_mapgen_id": "fbmc_shelter_bedroom_SW", "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_SW_rock" ], "x": 4, "y": 16 } ] } + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_SW" ], "x": 4, "y": 16 } ] } }, { "type": "mapgen", "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_W_rock", + "nested_mapgen_id": "fbmc_shelter_bedroom_W", "object": { "mapgensize": [ 4, 4 ], "rows": [ @@ -93,19 +75,19 @@ " d", " w" ], - "palettes": [ "fbmc_shelter_palette_rock" ] + "palettes": [ "fbmc_shelter_palette" ] } }, { "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_W_rock", + "update_mapgen_id": "fbmc_shelter_bedroom_W", "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_W_rock" ], "x": 5, "y": 12 } ] } + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_W" ], "x": 5, "y": 12 } ] } }, { "type": "mapgen", "method": "json", - "nested_mapgen_id": "fbmc_shelter_bedroom_NW_rock", + "nested_mapgen_id": "fbmc_shelter_bedroom_NW", "object": { "mapgensize": [ 4, 4 ], "rows": [ @@ -114,13 +96,13 @@ " d", " w" ], - "palettes": [ "fbmc_shelter_palette_rock" ] + "palettes": [ "fbmc_shelter_palette" ] } }, { "type": "mapgen", - "update_mapgen_id": "fbmc_shelter_bedroom_NW_rock", + "update_mapgen_id": "fbmc_shelter_bedroom_NW", "method": "json", - "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_NW_rock" ], "x": 5, "y": 8 } ] } + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_bedroom_NW" ], "x": 5, "y": 8 } ] } } ] diff --git a/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_common.json b/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_common.json new file mode 100644 index 0000000000000..e0dad10157f68 --- /dev/null +++ b/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_common.json @@ -0,0 +1,494 @@ +[ + { + "type": "palette", + "id": "fbmc_shelter_1_palette", + "terrain": { "w": "t_wall_w", "d": "t_door_c" }, + "furniture": { + "h": "f_chair", + "t": "f_table", + "x": "f_coffee_table", + "c": "f_workbench", + "r": "f_rack", + "b": "f_bed", + "m": "f_straw_bed", + "n": "f_makeshift_bed", + "L": "f_locker", + "s": "f_sofa", + "C": "f_armchair", + "B": "f_bookcase" + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_0", + "method": "json", + "object": { + "set": [ + { "point": "terrain", "id": "t_floor", "x": 15, "y": 15 }, + { "point": "furniture", "id": "f_bulletin", "x": 15, "y": 15 } + ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_fireplace", + "method": "json", + "object": { + "set": [ + { "point": "furniture", "id": "f_fireplace", "x": 18, "y": 14 }, + { "point": "furniture", "id": "f_table", "x": 18, "y": 15 } + ], + "place_loot": [ { "item": "pot", "x": 18, "y": 15, "chance": 100 } ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_brazier", + "method": "json", + "object": { + "set": [ + { "point": "furniture", "id": "f_brazier", "x": 18, "y": 14 }, + { "point": "furniture", "id": "f_table", "x": 18, "y": 15 } + ], + "place_loot": [ { "item": "pot", "x": 18, "y": 15, "chance": 100 } ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_stove", + "method": "json", + "object": { + "set": [ + { "point": "furniture", "id": "f_woodstove", "x": 18, "y": 14 }, + { "point": "furniture", "id": "f_table", "x": 18, "y": 15 } + ], + "place_loot": [ { "item": "pot", "x": 18, "y": 15, "chance": 100 } ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_well", + "method": "json", + "object": { "set": [ { "point": "terrain", "id": "t_water_pump", "x": 16, "y": 18 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bed_straw_nw_wall", + "object": { "mapgensize": [ 2, 2 ], "rows": [ + "mL", + "m " + ], "palettes": [ "fbmc_shelter_1_palette" ] } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_straw_NW", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_straw_nw_wall" ], "x": 8, "y": 8 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bed_makeshift_nw_wall", + "object": { "mapgensize": [ 2, 2 ], "rows": [ + "nL", + "n " + ], "palettes": [ "fbmc_shelter_1_palette" ] } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_makeshift_NW", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_makeshift_nw_wall" ], "x": 8, "y": 8 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_standard_bed_nw_wall", + "object": { "mapgensize": [ 2, 2 ], "rows": [ + "bL", + "b " + ], "palettes": [ "fbmc_shelter_1_palette" ] } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_standard_NW", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_standard_bed_nw_wall" ], "x": 8, "y": 8 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bed_w1_wall", + "object": { "mapgensize": [ 2, 2 ], "rows": [ + "bb", + "L " + ], "palettes": [ "fbmc_shelter_1_palette" ] } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_W1", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_w1_wall" ], "x": 5, "y": 10 } ] } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_W2", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_w1_wall" ], "x": 5, "y": 13 } ] } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_W3", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_w1_wall" ], "x": 5, "y": 16 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bed_straw_west_wall", + "object": { "mapgensize": [ 2, 2 ], "rows": [ + "mm", + "L " + ], "palettes": [ "fbmc_shelter_1_palette" ] } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_straw_W1", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_straw_west_wall" ], "x": 5, "y": 10 } ] } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_straw_W2", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_straw_west_wall" ], "x": 5, "y": 13 } ] } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_straw_W3", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_straw_west_wall" ], "x": 5, "y": 16 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bed_makeshift_west_wall", + "object": { "mapgensize": [ 2, 2 ], "rows": [ + "nn", + "L " + ], "palettes": [ "fbmc_shelter_1_palette" ] } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_makeshift_W1", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_makeshift_west_wall" ], "x": 5, "y": 10 } ] } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_makeshift_W2", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_makeshift_west_wall" ], "x": 5, "y": 13 } ] } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_makeshift_W3", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_makeshift_west_wall" ], "x": 5, "y": 16 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bed_standard_southwest_wall", + "object": { + "mapgensize": [ 4, 4 ], + "rows": [ + "L ", + " ", + "b ", + "bt " + ], + "palettes": [ "fbmc_shelter_1_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_standard_SW", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_standard_southwest_wall" ], "x": 5, "y": 19 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bed_standard_southwest_wall", + "object": { + "mapgensize": [ 4, 4 ], + "rows": [ + "L ", + " ", + "b ", + "bt " + ], + "palettes": [ "fbmc_shelter_1_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_standard_SW", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_standard_southwest_wall" ], "x": 5, "y": 19 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bed_straw_southwest_wall", + "object": { + "mapgensize": [ 4, 4 ], + "rows": [ + "L ", + " ", + "m ", + "mt " + ], + "palettes": [ "fbmc_shelter_1_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_straw_SW", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_straw_southwest_wall" ], "x": 5, "y": 19 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bed_makeshift_southwest_wall", + "object": { + "mapgensize": [ 4, 4 ], + "rows": [ + "L ", + " ", + "n ", + "nt " + ], + "palettes": [ "fbmc_shelter_1_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_makeshift_SW", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_makeshift_southwest_wall" ], "x": 5, "y": 19 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bed_standard_south1_wall", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + "L L", + "b b", + "btb" + ], + "palettes": [ "fbmc_shelter_1_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_standard_S1", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_standard_south1_wall" ], "x": 8, "y": 20 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bed_straw_south1_wall", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + "L L", + "m m", + "mtm" + ], + "palettes": [ "fbmc_shelter_1_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_straw_S1", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_straw_south1_wall" ], "x": 8, "y": 20 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bed_makeshift_south1_wall", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + "L L", + "n n", + "ntn" + ], + "palettes": [ "fbmc_shelter_1_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_makeshift_S1", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_makeshift_south1_wall" ], "x": 8, "y": 20 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bed_standard_south2_wall", + "object": { + "mapgensize": [ 4, 4 ], + "rows": [ + " L", + " bb", + " L", + " bb" + ], + "palettes": [ "fbmc_shelter_1_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_standard_S2", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_standard_south2_wall" ], "x": 11, "y": 19 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bed_straw_south2_wall", + "object": { + "mapgensize": [ 4, 4 ], + "rows": [ + " L", + " mm", + " L", + " mm" + ], + "palettes": [ "fbmc_shelter_1_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_straw_S2", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_straw_south2_wall" ], "x": 11, "y": 19 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bed_makeshift_south2_wall", + "object": { + "mapgensize": [ 4, 4 ], + "rows": [ + " L", + " nn", + " L", + " nn" + ], + "palettes": [ "fbmc_shelter_1_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bed_makeshift_S2", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bed_makeshift_south2_wall" ], "x": 11, "y": 19 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_dining_room", + "object": { + "mapgensize": [ 4, 4 ], + "rows": [ + " hth", + " hth", + " hth", + " hth" + ], + "palettes": [ "fbmc_shelter_1_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_dining", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_dining_room" ], "x": 12, "y": 9 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_living_room", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + "sss", + " ", + "xxx" + ], + "palettes": [ "fbmc_shelter_1_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_livingroom", + "method": "json", + "object": { + "place_nested": [ { "chunks": [ "fbmc_shelter_1_living_room" ], "x": 9, "y": 12 } ], + "set": [ + { "point": "furniture", "id": "f_bookcase", "x": 8, "y": 16 }, + { "point": "furniture", "id": "f_bookcase", "x": 9, "y": 16 }, + { "point": "furniture", "id": "f_bookcase", "x": 10, "y": 16 } + ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_pantry", + "method": "json", + "object": { + "set": [ + { "point": "furniture", "id": "f_rack_wood", "x": 18, "y": 16 }, + { "point": "furniture", "id": "f_rack_wood", "x": 18, "y": 17 }, + { "point": "furniture", "id": "f_rack_wood", "x": 13, "y": 15 }, + { "point": "furniture", "id": "f_rack_wood", "x": 14, "y": 15 }, + { "point": "furniture", "id": "f_rack_wood", "x": 18, "y": 20 }, + { "point": "furniture", "id": "f_rack_wood", "x": 18, "y": 21 }, + { "point": "furniture", "id": "f_rack_wood", "x": 18, "y": 22 } + ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_craftspot", + "method": "json", + "object": { + "set": [ + { "point": "furniture", "id": "f_workbench", "x": 16, "y": 15 }, + { "point": "furniture", "id": "f_workbench", "x": 16, "y": 16 }, + { "point": "furniture", "id": "f_workbench", "x": 17, "y": 11 } + ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_radio_console", + "method": "json", + "object": { + "set": [ + { "point": "terrain", "id": "t_radio_tower", "x": 18, "y": 8 }, + { "point": "terrain", "id": "t_radio_controls", "x": 18, "y": 9 } + ] + } + } +] diff --git a/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_log.json b/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_log.json new file mode 100644 index 0000000000000..317b9c6f703a3 --- /dev/null +++ b/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_log.json @@ -0,0 +1,157 @@ +[ + { + "type": "palette", + "id": "fbmc_shelter_1_palette_log", + "terrain": { "w": "t_wall_log", "d": "t_door_c" }, + "furniture": { + "h": "f_chair", + "t": "f_table", + "x": "f_coffee_table", + "c": "f_workbench", + "r": "f_rack", + "b": "f_bed", + "m": "f_straw_bed", + "n": "f_makeshift_bed", + "L": "f_locker", + "s": "f_sofa", + "C": "f_armchair", + "B": "f_bookcase" + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_NW_log", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " w", + "wdw" + ], + "palettes": [ "fbmc_shelter_1_palette_log" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_NW_log", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_NW_log" ], "x": 8, "y": 8 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_W1_log", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " d", + "www" + ], + "palettes": [ "fbmc_shelter_1_palette_log" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_W1_log", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W1_log" ], "x": 5, "y": 10 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_W2_log", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " d", + "www" + ], + "palettes": [ "fbmc_shelter_1_palette_log" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_W2", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W2_log" ], "x": 5, "y": 13 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_W3_log", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " X ", + " d" + ], + "palettes": [ "fbmc_shelter_1_palette_log" ], + "terrain": { "X": "t_floor" } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_SW_log", + "object": { + "mapgensize": [ 4, 4 ], + "rows": [ + " ww", + " w ", + " w ", + " w " + ], + "palettes": [ "fbmc_shelter_1_palette_log" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_SW_log", + "method": "json", + "object": { + "place_nested": [ + { "chunks": [ "fbmc_shelter_1_bedroom_SW_log" ], "x": 5, "y": 19 }, + { "chunks": [ "fbmc_shelter_1_bedroom_W3_log" ], "x": 5, "y": 16 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_S1_log", + "object": { + "mapgensize": [ 4, 4 ], + "rows": [ + " dww", + " w", + " w", + " w" + ], + "palettes": [ "fbmc_shelter_1_palette_log" ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_S2_log", + "object": { "mapgensize": [ 2, 2 ], "rows": [ + "dw", + " " + ], "palettes": [ "fbmc_shelter_1_palette_log" ] } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_S_log", + "method": "json", + "object": { + "place_nested": [ + { "chunks": [ "fbmc_shelter_1_bedroom_S1_log" ], "x": 8, "y": 19 }, + { "chunks": [ "fbmc_shelter_1_bedroom_S2_log" ], "x": 12, "y": 19 } + ] + } + } +] diff --git a/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_rock.json b/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_rock.json new file mode 100644 index 0000000000000..513841147063c --- /dev/null +++ b/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_rock.json @@ -0,0 +1,157 @@ +[ + { + "type": "palette", + "id": "fbmc_shelter_1_palette_rock", + "terrain": { "w": "t_rock_wall", "d": "t_door_c" }, + "furniture": { + "h": "f_chair", + "t": "f_table", + "x": "f_coffee_table", + "c": "f_workbench", + "r": "f_rack", + "b": "f_bed", + "m": "f_straw_bed", + "n": "f_makeshift_bed", + "L": "f_locker", + "s": "f_sofa", + "C": "f_armchair", + "B": "f_bookcase" + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_NW_rock", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " w", + "wdw" + ], + "palettes": [ "fbmc_shelter_1_palette_rock" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_NW_rock", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_NW_rock" ], "x": 8, "y": 8 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_W1_rock", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " d", + "www" + ], + "palettes": [ "fbmc_shelter_1_palette_rock" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_W1_rock", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W1_rock" ], "x": 5, "y": 10 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_W2_rock", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " d", + "www" + ], + "palettes": [ "fbmc_shelter_1_palette_rock" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_W2", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W2_rock" ], "x": 5, "y": 13 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_W3_rock", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " X ", + " d" + ], + "palettes": [ "fbmc_shelter_1_palette_rock" ], + "terrain": { "X": "t_floor" } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_SW_rock", + "object": { + "mapgensize": [ 4, 4 ], + "rows": [ + " ww", + " w ", + " w ", + " w " + ], + "palettes": [ "fbmc_shelter_1_palette_rock" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_SW_rock", + "method": "json", + "object": { + "place_nested": [ + { "chunks": [ "fbmc_shelter_1_bedroom_SW_rock" ], "x": 5, "y": 19 }, + { "chunks": [ "fbmc_shelter_1_bedroom_W3_rock" ], "x": 5, "y": 16 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_S1_rock", + "object": { + "mapgensize": [ 4, 4 ], + "rows": [ + " dww", + " w", + " w", + " w" + ], + "palettes": [ "fbmc_shelter_1_palette_rock" ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_S2_rock", + "object": { "mapgensize": [ 2, 2 ], "rows": [ + "dw", + " " + ], "palettes": [ "fbmc_shelter_1_palette_rock" ] } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_S_rock", + "method": "json", + "object": { + "place_nested": [ + { "chunks": [ "fbmc_shelter_1_bedroom_S1_rock" ], "x": 8, "y": 19 }, + { "chunks": [ "fbmc_shelter_1_bedroom_S2_rock" ], "x": 12, "y": 19 } + ] + } + } +] diff --git a/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_standard.json b/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_standard.json new file mode 100644 index 0000000000000..270ab9e69df87 --- /dev/null +++ b/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_standard.json @@ -0,0 +1,138 @@ +[ + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_NW", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " w", + "wdw" + ], + "palettes": [ "fbmc_shelter_1_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_NW", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_NW" ], "x": 8, "y": 8 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_W1", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " d", + "www" + ], + "palettes": [ "fbmc_shelter_1_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_W1", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W1" ], "x": 5, "y": 10 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_W2", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " d", + "www" + ], + "palettes": [ "fbmc_shelter_1_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_W2", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W2" ], "x": 5, "y": 13 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_W3", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " X ", + " d" + ], + "palettes": [ "fbmc_shelter_1_palette" ], + "terrain": { "X": "t_floor" } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_SW", + "object": { + "mapgensize": [ 4, 4 ], + "rows": [ + " ww", + " w ", + " w ", + " w " + ], + "palettes": [ "fbmc_shelter_1_palette" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_standard_bedroom_SW", + "method": "json", + "object": { + "place_nested": [ + { "chunks": [ "fbmc_shelter_1_bedroom_SW" ], "x": 5, "y": 19 }, + { "chunks": [ "fbmc_shelter_1_bedroom_W3" ], "x": 5, "y": 16 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_S1", + "object": { + "mapgensize": [ 4, 4 ], + "rows": [ + " dww", + " w", + " w", + " w" + ], + "palettes": [ "fbmc_shelter_1_palette" ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_S2", + "object": { "mapgensize": [ 2, 2 ], "rows": [ + "dw", + " " + ], "palettes": [ "fbmc_shelter_1_palette" ] } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_S", + "method": "json", + "object": { + "place_nested": [ + { "chunks": [ "fbmc_shelter_1_bedroom_S1" ], "x": 8, "y": 19 }, + { "chunks": [ "fbmc_shelter_1_bedroom_S2" ], "x": 12, "y": 19 } + ] + } + } +] diff --git a/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_wad.json b/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_wad.json new file mode 100644 index 0000000000000..007ad5abd03eb --- /dev/null +++ b/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_wad.json @@ -0,0 +1,157 @@ +[ + { + "type": "palette", + "id": "fbmc_shelter_1_palette_wad", + "terrain": { "w": "t_wall_wattle", "d": "t_door_makeshift_c" }, + "furniture": { + "h": "f_chair", + "t": "f_table", + "x": "f_coffee_table", + "c": "f_workbench", + "r": "f_rack", + "b": "f_bed", + "m": "f_straw_bed", + "n": "f_makeshift_bed", + "L": "f_locker", + "s": "f_sofa", + "C": "f_armchair", + "B": "f_bookcase" + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_NW_wad", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " w", + "wdw" + ], + "palettes": [ "fbmc_shelter_1_palette_wad" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_NW_wad", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_NW_wad" ], "x": 8, "y": 8 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_W1_wad", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " d", + "www" + ], + "palettes": [ "fbmc_shelter_1_palette_wad" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_W1_wad", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W1_wad" ], "x": 5, "y": 10 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_W2_wad", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " d", + "www" + ], + "palettes": [ "fbmc_shelter_1_palette_wad" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_W2", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W2_wad" ], "x": 5, "y": 13 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_W3_wad", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " X ", + " d" + ], + "palettes": [ "fbmc_shelter_1_palette_wad" ], + "terrain": { "X": "t_floor" } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_SW_wad", + "object": { + "mapgensize": [ 4, 4 ], + "rows": [ + " ww", + " w ", + " w ", + " w " + ], + "palettes": [ "fbmc_shelter_1_palette_wad" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_SW_wad", + "method": "json", + "object": { + "place_nested": [ + { "chunks": [ "fbmc_shelter_1_bedroom_SW_wad" ], "x": 5, "y": 19 }, + { "chunks": [ "fbmc_shelter_1_bedroom_W3_wad" ], "x": 5, "y": 16 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_S1_wad", + "object": { + "mapgensize": [ 4, 4 ], + "rows": [ + " dww", + " w", + " w", + " w" + ], + "palettes": [ "fbmc_shelter_1_palette_wad" ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_S2_wad", + "object": { "mapgensize": [ 2, 2 ], "rows": [ + "dw", + " " + ], "palettes": [ "fbmc_shelter_1_palette_wad" ] } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_S_wad", + "method": "json", + "object": { + "place_nested": [ + { "chunks": [ "fbmc_shelter_1_bedroom_S1_wad" ], "x": 8, "y": 19 }, + { "chunks": [ "fbmc_shelter_1_bedroom_S2_wad" ], "x": 12, "y": 19 } + ] + } + } +] diff --git a/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_wood.json b/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_wood.json new file mode 100644 index 0000000000000..5baa147d8b3ac --- /dev/null +++ b/data/json/mapgen/basecamps/modular_shelter_1/modular_shelter_1_wood.json @@ -0,0 +1,157 @@ +[ + { + "type": "palette", + "id": "fbmc_shelter_1_palette_wood", + "terrain": { "w": "t_wall_wood", "d": "t_door_c" }, + "furniture": { + "h": "f_chair", + "t": "f_table", + "x": "f_coffee_table", + "c": "f_workbench", + "r": "f_rack", + "b": "f_bed", + "m": "f_straw_bed", + "n": "f_makeshift_bed", + "L": "f_locker", + "s": "f_sofa", + "C": "f_armchair", + "B": "f_bookcase" + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_NW_wood", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " w", + "wdw" + ], + "palettes": [ "fbmc_shelter_1_palette_wood" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_NW_wood", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_NW_wood" ], "x": 8, "y": 8 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_W1_wood", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " d", + "www" + ], + "palettes": [ "fbmc_shelter_1_palette_wood" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_W1_wood", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W1_wood" ], "x": 5, "y": 10 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_W2_wood", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " d", + "www" + ], + "palettes": [ "fbmc_shelter_1_palette_wood" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_W2", + "method": "json", + "object": { "place_nested": [ { "chunks": [ "fbmc_shelter_1_bedroom_W2_wood" ], "x": 5, "y": 13 } ] } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_W3_wood", + "object": { + "mapgensize": [ 3, 3 ], + "rows": [ + " w", + " X ", + " d" + ], + "palettes": [ "fbmc_shelter_1_palette_wood" ], + "terrain": { "X": "t_floor" } + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_SW_wood", + "object": { + "mapgensize": [ 4, 4 ], + "rows": [ + " ww", + " w ", + " w ", + " w " + ], + "palettes": [ "fbmc_shelter_1_palette_wood" ] + } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_SW_wood", + "method": "json", + "object": { + "place_nested": [ + { "chunks": [ "fbmc_shelter_1_bedroom_SW_wood" ], "x": 5, "y": 19 }, + { "chunks": [ "fbmc_shelter_1_bedroom_W3_wood" ], "x": 5, "y": 16 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_S1_wood", + "object": { + "mapgensize": [ 4, 4 ], + "rows": [ + " dww", + " w", + " w", + " w" + ], + "palettes": [ "fbmc_shelter_1_palette_wood" ] + } + }, + { + "type": "mapgen", + "method": "json", + "nested_mapgen_id": "fbmc_shelter_1_bedroom_S2_wood", + "object": { "mapgensize": [ 2, 2 ], "rows": [ + "dw", + " " + ], "palettes": [ "fbmc_shelter_1_palette_wood" ] } + }, + { + "type": "mapgen", + "update_mapgen_id": "fbmc_shelter_1_bedroom_S_wood", + "method": "json", + "object": { + "place_nested": [ + { "chunks": [ "fbmc_shelter_1_bedroom_S1_wood" ], "x": 8, "y": 19 }, + { "chunks": [ "fbmc_shelter_1_bedroom_S2_wood" ], "x": 12, "y": 19 } + ] + } + } +] diff --git a/data/json/mapgen/basement/basement_chem.json b/data/json/mapgen/basement/basement_chem.json index 21ba2910a8007..7f8132666ab1f 100644 --- a/data/json/mapgen/basement/basement_chem.json +++ b/data/json/mapgen/basement/basement_chem.json @@ -3,43 +3,194 @@ "type": "mapgen", "method": "json", "om_terrain": [ "basement" ], - "weight": 500, + "weight": 250, "object": { - "fill_ter": "t_rock", "rotation": [ 0, 3 ], + "fill_ter": "t_rock", "rows": [ - "|----------------------|", - "|c....................c|", - "|c....................c|", - "|c....................c|", - "|c....................c|", - "|c....................c|", - "|c....................c|", - "|c....................c|", - "|c....................c|", - "|c....................c|", - "|c....................c|", - "|c....................c|", - "|c....................c|", - "|c....................c|", - "|c....................c|", - "|......................|", - "|.........|++|.........|", - "|.........|..|.........|", - "|.........|<<|.........|", - "------------------------", + " ", + " ", + " ", + " ", + " ", + " ", + " |||||||||||| ", + " |F_XXX|X__c| ", + " |?_XXX|X__4| ", + " |?__XX|X__c| ", + " |||+|||X__H| ", + " |R________U| ", + " |R__TTTT__U| ", + " |R___TTh__c| ", + " |R___TT___c| ", + " |R________i| ", + " |||+|++||||| ", + " |W__|..| ", + " |E_R|<<| ", + " |||||||| ", " ", " ", " ", " " ], - "terrain": { "+": "t_door_c", "-": "t_wall", ".": "t_rock_floor", "<": "t_stairs_up", "c": "t_rock_floor", "|": "t_wall" }, - "furniture": { "c": "f_counter" }, - "place_loot": [ - { "group": "chem_home", "x": 1, "y": [ 1, 14 ], "chance": 10, "repeat": [ 1, 10 ] }, - { "group": "electronics", "x": 22, "y": [ 1, 14 ], "chance": 10, "repeat": [ 1, 10 ] } + "terrain": { + "|": "t_wall", + "<": "t_stairs_up", + "+": "t_door_c", + ".": "t_floor", + "_": "t_linoleum_gray", + "c": "t_linoleum_gray", + "U": "t_linoleum_gray", + "X": "t_linoleum_gray", + "W": "t_linoleum_gray", + "E": "t_linoleum_gray", + "i": "t_linoleum_gray", + "H": "t_linoleum_gray", + "4": "t_machinery_old", + "R": "t_linoleum_gray", + "?": "t_linoleum_gray", + "h": "t_linoleum_gray", + "T": "t_linoleum_gray", + "F": "t_linoleum_gray" + }, + "liquids": { "E": { "liquid": "water_clean", "amount": [ 0, 100 ] } }, + "furniture": { + "T": "f_workbench", + "c": "f_counter", + "h": "f_chair", + "R": "f_rack", + "E": "f_water_heater", + "W": "f_water_purifier", + "X": [ "f_crate_c", "f_crate_o", "f_cardboard_box" ], + "U": "f_utility_shelf", + "H": "f_bookcase", + "F": "f_fridge", + "i": "f_sink", + "?": "f_sofa" + }, + "items": { + "U": [ { "item": "cleaning", "chance": 30 }, { "item": "home_hw", "chance": 50 } ], + "c": [ { "item": "home_hw", "chance": 70 } ], + "R": [ { "item": "supplies_hardware", "chance": 30 } ], + "X": [ + { "item": "electronics", "chance": 30 }, + { "item": "supplies_electronics", "chance": 30 }, + { "item": "supplies_reagents_lab", "chance": 10 } + ], + "i": [ { "item": "trash", "chance": 60 } ], + "F": [ { "item": "fridgesnacks", "chance": 60 } ], + "T": [ { "item": "chem_home", "chance": 10 }, { "item": "electronics", "chance": 30 } ], + "H": [ { "item": "magazines", "chance": 30, "repeat": [ 1, 2 ] }, { "item": "hardware_books", "chance": 30 } ] + }, + "toilets": { "&": { } }, + "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 9, 16 ], "y": [ 9, 14 ], "chance": 4 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "basement" ], + "weight": 200, + "object": { + "rotation": [ 0, 3 ], + "fill_ter": "t_rock", + "rows": [ + " ", + " ", + " ", + " ", + " ", + " ", + " |||||||||||| ", + " |T8T5CfHH??| ", + " |,h,,,,,,,?| ", + " |n,,,,,,???| ", + " ||||,,,,|||| ", + " |ffG,,,,ACA| ", + " ||||,,,,,,,,,,||||| ", + " |&_+,,,,,,,TTT|EWU| ", + " |i_|,,TT,,,,,,+___| ", + " |||||+||,,||+|||||| ", + " |i,A,F|++|U__XU| ", + " |D,,,T|..|U___c| ", + " |b,,hT|<<|U___c| ", + " |b,n,T||||U_U_U| ", + " ||||||| ||||||| ", + " ", + " ", + " " ], - "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 2, 23 ], "y": [ 1, 19 ], "chance": 2 } ] + "terrain": { + "|": "t_wall", + "<": "t_stairs_up", + "+": "t_door_c", + ".": "t_floor", + "_": "t_linoleum_gray", + "c": "t_linoleum_gray", + "U": "t_linoleum_gray", + "X": "t_linoleum_gray", + "W": "t_linoleum_gray", + "E": "t_linoleum_gray", + "i": "t_linoleum_gray", + "&": "t_linoleum_gray", + ",": "t_linoleum_white", + "C": "t_linoleum_white", + "?": "t_linoleum_white", + "A": "t_linoleum_white", + "h": "t_linoleum_white", + "D": "t_linoleum_white", + "5": "t_linoleum_white", + "F": "t_linoleum_white", + "f": "t_linoleum_white", + "G": "t_linoleum_white", + "b": "t_linoleum_white", + "n": "t_linoleum_white", + "H": "t_linoleum_white", + "T": "t_linoleum_white", + "8": "t_console_broken" + }, + "liquids": { "E": { "liquid": "water_clean", "amount": [ 0, 100 ] } }, + "furniture": { + "T": "f_workbench", + "G": "f_glass_cabinet", + "c": "f_counter", + "h": "f_chair", + "A": "f_air_filter", + "C": "f_air_conditioner", + "E": "f_water_heater", + "W": [ "f_water_purifier", "f_home_furnace" ], + "X": [ "f_crate_c", "f_crate_o", "f_cardboard_box" ], + "U": "f_utility_shelf", + "H": "f_bookcase", + "F": "f_glass_fridge", + "i": "f_sink", + "?": "f_sofa", + "n": "f_trashcan", + "f": "f_filing_cabinet", + "5": "f_server", + "b": "f_lab_bench", + "D": "f_fume_hood" + }, + "items": { + "U": [ + { "item": "cleaning", "chance": 30 }, + { "item": "supplies_reagents_lab", "chance": 10 }, + { "item": "home_hw", "chance": 50 }, + { "item": "supplies_electronics", "chance": 50 } + ], + "c": [ { "item": "home_hw", "chance": 70 } ], + "X": [ { "item": "electronics", "chance": 70 } ], + "b": [ { "item": "chem_home", "chance": 30 } ], + "D": [ { "item": "chem_home", "chance": 60 } ], + "i": [ { "item": "trash", "chance": 60 } ], + "F": [ { "item": "chem_home", "chance": 50 }, { "item": "supplies_reagents_lab", "chance": 20 } ], + "T": [ { "item": "chem_home", "chance": 30 }, { "item": "electronics", "chance": 50 } ], + "f": [ { "item": "file_room", "chance": 70, "repeat": [ 1, 5 ] } ], + "G": [ { "item": "office_paper", "chance": 30 } ], + "H": [ { "item": "magazines", "chance": 40, "repeat": [ 1, 2 ] }, { "item": "lab_bookshelves", "chance": 20 } ] + }, + "toilets": { "&": { } }, + "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 9, 16 ], "y": [ 9, 14 ] } ] } } ] diff --git a/data/json/mapgen/basement/basement_messed.json b/data/json/mapgen/basement/basement_messed.json new file mode 100644 index 0000000000000..4372b320c3dae --- /dev/null +++ b/data/json/mapgen/basement/basement_messed.json @@ -0,0 +1,90 @@ +[ + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "basement" ], + "weight": 250, + "object": { + "rotation": [ 0, 3 ], + "fill_ter": "t_rock", + "rows": [ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " |||||||||||| ", + " |a.aaHHbbbr| ", + " |a.......ar| ", + " |a..a||||||| ", + " |a..aaaarrr| ", + " |a.a.aaaaaa| ", + " |aa....arrr| ", + " |||..|++|||| ", + " |E..a|..| ", + " |W..r|<<| ", + " ||||||||| ", + " ", + " ", + " ", + " " + ], + "terrain": { + "+": "t_door_c", + "-": "t_wall", + ".": "t_floor", + "a": "t_floor", + "r": "t_floor", + "E": "t_floor", + "c": "t_floor", + "H": "t_floor", + "W": "t_floor", + "b": "t_floor", + "<": "t_stairs_up", + "|": "t_wall" + }, + "liquids": { "E": { "liquid": "water_clean", "amount": [ 0, 100 ] } }, + "furniture": { + "c": "f_counter", + "r": "f_rack", + "E": "f_water_heater", + "W": [ "f_water_purifier", "f_home_furnace" ], + "a": [ + [ "f_table", 30 ], + [ "f_armchair", 30 ], + [ "f_chair", 60 ], + [ "f_counter", 30 ], + [ "f_cupboard", 30 ], + [ "f_floor_lamp", 15 ], + [ "f_desk", 30 ], + [ "f_null", 50 ] + ], + "H": "f_bookcase", + "b": "f_workbench" + }, + "items": { + ".": [ { "item": "trash", "chance": 5 } ], + "r": [ + { "item": "livingroom", "chance": 30 }, + { "item": "bedroom", "chance": 30 }, + { "item": "allclothes", "chance": 50 }, + { "item": "kitchen_appliances", "chance": 20 }, + { "item": "pawn", "chance": 5 }, + { "item": "musicstore_showpiece", "chance": 10 }, + { "item": "sports", "chance": 30 } + ], + "H": [ + { "item": "magazines", "chance": 60, "repeat": [ 0, 3 ] }, + { "item": "homebooks", "chance": 50 }, + { "item": "exotic_books", "chance": 5 } + ], + "b": [ { "item": "home_hw", "chance": 60 }, { "item": "mechanics", "chance": 30 } ] + }, + "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 9, 16 ], "y": [ 12, 16 ] } ] + } + } +] diff --git a/data/json/mapgen/basement/basement_weed.json b/data/json/mapgen/basement/basement_weed.json index ac2b01e5fc57d..5b428d917d6c5 100644 --- a/data/json/mapgen/basement/basement_weed.json +++ b/data/json/mapgen/basement/basement_weed.json @@ -1,55 +1,100 @@ [ + { + "id": "weed_farm", + "type": "item_group", + "items": [ + { "item": "weed", "prob": 70, "count-min": 0, "count-max": 4 }, + { "item": "seed_weed", "prob": 60 }, + { "item": "cannabis", "prob": 50 }, + { "item": "withered", "prob": 70 } + ] + }, { "type": "mapgen", "method": "json", "om_terrain": [ "basement" ], - "weight": 500, + "weight": 250, "object": { - "fill_ter": "t_rock", "rotation": [ 0, 3 ], + "fill_ter": "t_rock", "rows": [ - "|----------------------|", - "|c....................c|", - "|c.ddd..ddd..ddd..ddd.c|", - "|c.ddd..ddd..ddd..ddd.c|", - "|c.ddd..ddd..ddd..ddd.c|", - "|c....................c|", - "|c.ddd..ddd..ddd..ddd.c|", - "|c.ddd..ddd..ddd..ddd.c|", - "|c.ddd..ddd..ddd..ddd.c|", - "|c....................c|", - "|c.ddd..ddd..ddd..ddd.c|", - "|c.ddd..ddd..ddd..ddd.c|", - "|c.ddd..ddd..ddd..ddd.c|", - "|c....................c|", - "|c....................c|", - "|......................|", - "|.........|++|.........|", - "|.........|..|.........|", - "|.........|<<|.........|", - "------------------------", + " ", + " ", + " ||||||||| ", + " |R__Gccc| ", + " |R____hc| ", + " |R_____R| ", + " ||||||||+|||||||| ", + " |QQQQQQ,,,QQQQQQ| ", + " |T,,,,,,,,,,,,,T| ", + " |QQQQQQT,TQQQQQQ| ", + " |A,,,,,,,,,,,,,A| ", + " |QQQQQQ,,,QQQQQQ| ", + " ||||||||++||||||| ", + " |C_____+__XXX| ", + " |C_U|WH|__XXX| ", + " ||||||||__|||| ", + " |++| ", + " |..| ", + " |<<| ", + " |||| ", " ", " ", " ", " " ], "terrain": { - "+": "t_door_c", - "-": "t_wall", - ".": "t_rock_floor", + "|": "t_wall", "<": "t_stairs_up", - "c": "t_rock_floor", - "d": "t_dirt", - "|": "t_wall" + "+": "t_door_c", + ".": "t_floor", + "_": "t_linoleum_gray", + "C": "t_linoleum_gray", + "X": "t_linoleum_gray", + "W": "t_linoleum_gray", + "G": "t_linoleum_gray", + "R": "t_linoleum_gray", + "H": "t_linoleum_gray", + "c": "t_linoleum_gray", + "h": "t_linoleum_gray", + "U": "t_linoleum_gray", + ",": "t_linoleum_white", + "A": "t_linoleum_white", + "Q": "t_linoleum_white", + "T": "t_linoleum_white" }, - "furniture": { "c": "f_counter" }, - "place_loot": [ - { "item": "seed_weed", "x": [ 3, 20 ], "y": [ 2, 12 ], "chance": 96, "repeat": [ 1, 10 ] }, - { "item": "weed", "x": [ 3, 20 ], "y": [ 2, 12 ], "chance": 80, "repeat": [ 1, 10 ] }, - { "group": "stoner", "x": 1, "y": [ 1, 14 ], "chance": 10, "repeat": [ 1, 10 ] }, - { "group": "stoner", "x": 22, "y": [ 1, 14 ], "chance": 10, "repeat": [ 1, 10 ] } - ], - "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 2, 23 ], "y": [ 1, 19 ], "chance": 2 } ] + "liquids": { "H": { "liquid": "water_clean", "amount": [ 0, 100 ] } }, + "sealed_item": { "Q": { "item": { "item": "seed_weed" }, "furniture": "f_planter_mature" } }, + "furniture": { + "T": "f_workbench", + "G": "f_glass_cabinet", + "c": "f_table", + "h": "f_chair", + "R": "f_rack", + "A": "f_air_filter", + "C": "f_air_conditioner", + "H": "f_water_heater", + "W": [ "f_water_purifier", "f_home_furnace" ], + "X": [ "f_crate_c", "f_crate_o", "f_cardboard_box" ], + "U": "f_utility_shelf" + }, + "items": { + "T": [ { "item": "supplies_farming", "chance": 70 }, { "item": "weed_farm", "chance": 50 } ], + "R": [ { "item": "weed_farm", "chance": 70 } ], + "c": [ + { "item": "stoner", "chance": 70 }, + { "item": "office_breakroom", "chance": 30 }, + { "item": "homeguns", "chance": 5 } + ], + "G": [ { "item": "office_paper", "chance": 40 }, { "item": "dollar_books", "chance": 40 } ], + "U": [ { "item": "home_hw", "chance": 50 } ], + "X": [ + { "item": "supplies_farming", "chance": 50 }, + { "item": "cleaning", "chance": 50 }, + { "item": "chem_home", "chance": 50 } + ] + }, + "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 6, 23 ], "y": [ 6, 12 ] } ] } } ] diff --git a/data/json/mapgen/cemetery_4square.json b/data/json/mapgen/cemetery_4square.json index 763a95ec7619e..a621df08c00d8 100644 --- a/data/json/mapgen/cemetery_4square.json +++ b/data/json/mapgen/cemetery_4square.json @@ -414,7 +414,7 @@ { "item": "church", "x": [ 11, 12 ], "y": [ 5, 6 ], "chance": 65 }, { "item": "jackets", "x": [ 12 ], "y": [ 14 ], "chance": 50 } ], - "place_npcs": [ { "chance": 7, "class": "SEER_Brigitte_LaCroix", "x": 18, "y": 6 } ] + "place_npcs": [ { "class": "SEER_Brigitte_LaCroix", "x": 18, "y": 6 } ] } } ] diff --git a/data/json/mapgen/faction_buildings.json b/data/json/mapgen/faction_buildings.json index 9efd3ca6e35ee..051b7c25c071e 100644 --- a/data/json/mapgen/faction_buildings.json +++ b/data/json/mapgen/faction_buildings.json @@ -1,7 +1,7 @@ [ { "type": "mapgen", - "om_terrain": [ "faction_base_camp_0" ], + "om_terrain": [ "faction_base_camp_0", "faction_base_camp_new_0" ], "method": "json", "weight": 250, "object": { @@ -2441,6 +2441,43 @@ "palettes": [ "acidia_camp_palette" ] } }, + { + "type": "mapgen", + "om_terrain": "faction_base_saltworks_0", + "method": "json", + "weight": 250, + "object": { + "faction_owner": [ { "id": "your_followers", "x": [ 0, 23 ], "y": [ 0, 23 ] } ], + "fill_ter": "t_grass", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,," + ], + "palettes": [ "acidia_camp_palette" ] + } + }, { "type": "mapgen", "om_terrain": "faction_base_workshop_0", diff --git a/data/json/mapgen/farm_2side.json b/data/json/mapgen/farm_2side.json index 36845d5e79bf5..3a11dcaea843d 100644 --- a/data/json/mapgen/farm_2side.json +++ b/data/json/mapgen/farm_2side.json @@ -10,9 +10,8 @@ ], "weight": 250, "object": { - "fill_ter": "t_dirt", + "fill_ter": "t_floor", "rows": [ - " ", " FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ", " F ,,,,,,,,,, , , , $$$F t $ F , , , , ,F ", " F,,~~~~~~,,,, , , , F F DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD F ", @@ -39,7 +38,7 @@ " ##### , ,F #++###MMMMMMMM### IIII F, , ,,,,, , , ,F ", " F,,,, , , F ,,,,,,,,,,,,,O IIIiiIII F DDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", " F , F ,,,,,,,, IIiiiiiiII F , ,,,,, , , F ", - " F $ t , , , F t ,,,,,,,, t IiiiiiiiiI F DDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", + " F $ t , , , F t ,,,,,,,, t KiiiiiiiiI F DDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", " F $ , , F $ ,,,,,,,, $ IIiiiiiiII F , ,,,,, , , F ", " F , t , ,F $ ,,,,,,,, $ IIIiiIII F DDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", " Ft , F $ ,,,,,,,, $ IIII F, , ,,,,, , Q ,F ", @@ -55,7 +54,7 @@ " F , , F $ ,,,,,,,, $ IIII F , , , , F ", " F , , F $ ,,,,,,,, $ IIIiiIII F,DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD F ", " F , F $ ,,,,,,,, $ IIiiiiiiII F , , Q , F ", - " F , , , ,F t ,,,,,,,, t IiiiiiiiiI F DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD F ", + " F , , , ,F t ,,,,,,,, t KiiiiiiiiI F DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD F ", " F , , , F $ ,,,,,,,, $ IIiiiiiiII F, , , , , ,F ", " F , , F $ ,,,,,,,, $ IIIiiIII F DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD F ", " F , , F $ ,,,,,,,, $ IIII F, , , , F ", @@ -72,26 +71,26 @@ " F ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, , F ", " F DDDDDDD,,,,,DDDDDDDD F ,,,,,,,,,,,,,,,,,, F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", " F , ,,,,, F ,,,,,,,,,,,,,,,, F, , ,,,,, , F ", - " F DDDDDDD,,,,,DDDDDDDD F $$$$ ,, $$$$ F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD,F ", - " F ,,,,, F |--ww----++----ww--| F , ,,,,, , F ", - " F DDDDDDD,,,,,DDDDDDDD F |u.u....Y..|..H...d| F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", - " F Q ,,,,, F -|u.uh......|.....BB| F , ,,,,, , Q , F ", - " F DDDDDDD,,,,,DDDDDDDD F wo.....hnnh.|.....BB| F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", - " F ,,,,, F we..u..hnnh.|...|---| F , ,,,,, , F ", - " F DDDDDDD,,,,,DDDDDDDD F -|----+---|.+...+'ST| F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", - " F, ,,,,, , F |d..|ST|.|.|---|'''| F, ,,,,, , ,F ", - " F DDDDDDD,,,,,DDDDDDDD F wBB.|--|.+.+...+'bb| F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", - " F ,,,,, ,F wBB......|.|...|---| F Q ,, ,,,,, , F ", - " F DDDDDDD,,,,,DDDDDDDD F |d...H...|+|.....BB| F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", - " F , ,,,,, F |---ww---|s|d.....d| F , ,,,,, , ,F ", - " F DDDDDDD,,,,,DDDDDDDD Fsssssssssssss|dh...BB| F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", + " F DDDDDDD,,,,,DDDDDDDD F 8888 ,, 88888 F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD,F ", + " F ,,,,, F |--ww----++---www--| F , ,,,,, , F ", + " F DDDDDDD,,,,,DDDDDDDD F |uuuue.....Y.2222.6| F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", + " F Q ,,,,, F -|u.....hhh...2.77.6| F , ,,,,, , Q , F ", + " F DDDDDDD,,,,,DDDDDDDD F wo......nnn........6| F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", + " F ,,,,, F wS......hhh....3|---| F , ,,,,, , F ", + " F DDDDDDD,,,,,DDDDDDDD F -|-----........H|S'T| F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", + " F, ,,,,, , F 4|d..3|AAA|H....+'''w F, ,,,,, , ,F ", + " F DDDDDDD,,,,,DDDDDDDD F wBB..|---|....H|'bb| F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", + " F ,,,,, ,F wBB...99.+.|-+-|---| F Q ,, ,,,,, , F ", + " F DDDDDDD,,,,,DDDDDDDD F |d.......|+|.....BB| F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", + " F , ,,,,, F |---ww---|s|d..h..d| F , ,,,,, , ,F ", + " F DDDDDDD,,,,,DDDDDDDD Fsssssssssssss|d.kk.BB| F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", " F ,,,,, Fsssssssssssss|--www--| F , ,,,,, , F ", - " F DDDDDDD,,,,,DDDDDDDD Fss~~~~~~~ss& t $ F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", - " F , ,,,,, , Fss~~~~~~~ss $ t$ F , ,,,,, , F ", - " F DDDDDDD,,,,,DDDDDDDD Fss~~~~~~~ss $ F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", - " F, ,,,,, Fss~~~~~~~ss t ##### F , , ,,,,, F ", - " F DDDDDDD,,,,,DDDDDDDD Fss~~~~~~~ss , ,#lll# F,DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD,F ", - " F ,,,,,, Q ,Fsssssssssss, , ,,+...# F , ,,,,, , F ", + " F DDDDDDD,,,,,DDDDDDDD Fss*******ss& t $ F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", + " F , ,,,,, , Fss*******ss $ t$ F , ,,,,, , F ", + " F DDDDDDD,,,,,DDDDDDDD Fss*******ss $ F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", + " F, ,,,,, Fss*******ss t ##### F , , ,,,,, F ", + " F DDDDDDD,,,,,DDDDDDDD Fss*******ss , ,#lll# F,DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD,F ", + " F ,,,,,, Q ,Fsssssssssss, , ,,+___# F , ,,,,, , F ", " F DDDDDDD,,,,,DDDDDDDD Fsssssssssss $##### F DDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", " F , ,,,,, , FFFFFFFFFFFFFFFFFFFFFFFFFF , , ,,,,, , Q , F ", " F DDDDDDD,,,,,DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD,,,,,DDDDDDDDDDDDDDDDDD F ", @@ -107,6 +106,7 @@ " F DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD F ", " F , , , , , , , F ", " FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ", + " ", " " ], "terrain": { @@ -117,46 +117,49 @@ "i": [ "t_metal_floor" ], "$": [ "t_shrub" ], "~": [ "t_water_sh" ], + "*": "t_water_pool_outdoors", "t": [ "t_tree" ], "&": [ "t_water_pump" ], "s": [ "t_sidewalk" ], "+": [ "t_door_c" ], ",": [ "t_dirt" ], - "-": [ "t_wall" ], + "-": [ "t_wall_w" ], ".": [ "t_floor" ], "'": [ "t_linoleum_white" ], "1": [ "t_column" ], + "4": "t_gutter_downspout", "5": [ "t_palisade_pulley" ], - "B": [ "t_floor" ], + "8": [ "t_shrub_lilac", "t_shrub_hydrangea", "t_shrub_rose" ], "D": [ "t_dirtmound" ], "E": [ "t_dirtmoundfloor" ], - "F": [ "t_fence_v" ], - "H": [ "t_floor" ], + "F": [ "t_splitrail_fence" ], "M": [ "t_door_metal_locked" ], "O": [ "t_barndoor" ], "P": [ "t_grass" ], + "K": "t_door_metal_pickable", "S": [ "t_linoleum_white" ], "T": [ "t_linoleum_white" ], "W": [ "t_window_boarded" ], - "Y": [ "t_floor" ], "_": [ "t_dirtfloor" ], + "l": [ "t_dirtfloor" ], "b": [ "t_linoleum_white" ], - "d": [ "t_floor" ], "e": [ "t_linoleum_white" ], - "g": [ "t_fencegate_c" ], - "h": [ "t_floor" ], - "n": [ "t_floor" ], - "k": [ "t_floor" ], - "l": [ "t_floor" ], + "g": [ "t_splitrail_fencegate_c" ], "o": [ "t_linoleum_white" ], "u": [ "t_floor" ], "w": [ "t_window_domestic" ], "y": [ "t_dirtfloor" ], - "|": [ "t_wall" ] + "|": [ "t_wall_w" ] }, "furniture": { + "2": "f_sofa", + "3": "f_armchair", + "6": "f_entertainment_center", + "7": "f_coffee_table", + "9": "f_bookcase", "B": [ "f_bed" ], - "H": [ "f_armchair" ], + "A": "f_rack_wood", + "H": [ "f_indoor_plant_y", "f_indoor_plant" ], "P": [ "f_mailbox" ], "S": [ "f_sink" ], "T": [ "f_toilet" ], @@ -176,14 +179,28 @@ "items": { "B": { "item": "bed", "chance": 60 }, "D": { "item": "hydro", "chance": 5 }, - "H": { "item": "livingroom", "chance": 65 }, + "o": { "item": "oven", "chance": 40, "repeat": [ 2, 3 ] }, + "7": { "item": "livingroom", "chance": 65 }, + "9": { "item": "homebooks", "chance": 65 }, + "H": { "item": "trash", "chance": 65 }, "b": { "item": "softdrugs", "chance": 70 }, - "d": [ { "item": "dresser", "chance": 80 }, { "item": "homeguns", "chance": 20 } ], + "d": [ + { "item": "dresser_mens", "chance": 50 }, + { "item": "homeguns", "chance": 20 }, + { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } + ], "e": { "item": "fridge", "chance": 65, "repeat": [ 1, 8 ] }, - "h": { "item": "bedroom", "chance": 65 }, + "n": { "item": "bedroom", "chance": 65 }, "k": { "item": "bedroom", "chance": 65 }, "Y": { "item": "coat_rack", "chance": 35, "repeat": [ 1, 4 ] }, "P": { "item": "mail", "chance": 30, "repeat": [ 2, 5 ] }, + "A": [ + { "item": "preserved_food", "chance": 20, "repeat": [ 1, 2 ] }, + { "item": "dry_goods", "chance": 30, "repeat": [ 1, 2 ] }, + { "item": "pet_food", "chance": 30, "repeat": [ 1, 2 ] }, + { "item": "condiments", "chance": 30, "repeat": [ 1, 2 ] }, + { "item": "pantry_liquids", "chance": 10 } + ], "l": [ { "item": "tools_earthworking", "chance": 65 }, { "item": "mechanics", "chance": 40 }, @@ -193,7 +210,12 @@ "u": [ { "item": "kitchen", "chance": 70, "repeat": [ 1, 2 ] }, { "item": "cannedfood", "chance": 65, "repeat": [ 1, 3 ] }, - { "item": "moonshine_brew", "chance": 65 } + { "item": "moonshine_brew", "chance": 65 }, + { "item": "dishes_utility", "chance": 30 }, + { "item": "condiments", "chance": 40, "repeat": [ 1, 2 ] }, + { "item": "SUS_knife_drawer", "chance": 20, "repeat": [ 1, 2 ] }, + { "item": "SUS_junk_drawer", "chance": 10, "repeat": [ 1, 2 ] }, + { "item": "SUS_cookware", "chance": 20 } ], "Q": { "item": "farming_tools", "chance": 15 } }, @@ -201,6 +223,7 @@ "_": [ { "item": "straw_pile", "chance": 3 }, { "item": "cattlefodder", "chance": 2 } ], "i": { "item": "wheat", "chance": 40, "repeat": 10 } }, + "place_loot": [ { "item": "television", "x": 45, "y": 62, "chance": 100 }, { "item": "stereo", "x": 45, "y": 61, "chance": 50 } ], "place_items": [ ], "place_item": [ ], "place_monsters": [ @@ -209,5 +232,103 @@ ], "place_vehicles": [ { "vehicle": "farm_vehicles", "x": 36, "y": 18, "chance": 100, "rotation": 270 } ] } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ [ "2farm_roof_4", "2farm_roof_3" ] ], + "weight": 250, + "object": { + "fill_ter": "t_shingle_flat_roof", + "rows": [ + " ", + " ", + " ", + " ............. ", + " ............. ", + " ............. ", + " ................. ", + " ................. ", + " .................... ", + " .................... ", + " .................... ", + " .................... ", + " .................... ", + " .................... ", + " ..... .................... ", + " ..... .................... ", + " ..... .................... ", + " ..... .................... ", + " ..... .................... ", + " ..... .................... ", + " ..... .................... ", + " ..... ................. ", + " ..... ................. ", + " ..... ................. " + ], + "palettes": [ "roof_palette" ], + "terrain": { ".": "t_shingle_flat_roof" } + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ [ "2farm_roof_11" ], [ "2farm_roof_15" ] ], + "weight": 250, + "object": { + "fill_ter": "t_shingle_flat_roof", + "rows": [ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " |2222222222222222223 ", + " |..................3 ", + " ||...............X..3 ", + " |....&..............3 ", + " |...................3 ", + " |5..................3 ", + " |................=.3 ", + " |..................3 ", + " |..................3 ", + " |........3-|.......3 ", + " |--------3 |.......3 ", + " |.......3 ", + " |-------3 ", + " ", + " ", + " ", + " .....", + " .....", + " .....", + " .....", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + ], + "palettes": [ "roof_palette" ], + "terrain": { ".": "t_shingle_flat_roof" } + } } ] diff --git a/data/json/mapgen/gambling_hall.json b/data/json/mapgen/gambling_hall.json index bae727001e2c7..ab901fddbb157 100644 --- a/data/json/mapgen/gambling_hall.json +++ b/data/json/mapgen/gambling_hall.json @@ -199,7 +199,7 @@ "rows": [ "_____sss_____d__________", "_d__|+-+|______________d", - "____-...-__dSdSdSdSdSd__", + "____-...-__d9d9d9d9d9d__", "__|||...|||||||||||||||_", "__|a....{{.#t#....#.&^|_", "__|^..................|_", @@ -229,7 +229,7 @@ "6": "t_slot_machine", "D": "t_pavement", "P": "t_pavement", - "S": "t_shrub", + "9": "t_shrub", "_": [ [ "t_grass", 5 ], [ "t_grass_long", 2 ], "t_dirt" ], "a": "t_atm", "b": "t_door_metal_c", diff --git a/data/json/mapgen/hotel_tower.json b/data/json/mapgen/hotel_tower.json index e3d3f5b8185bb..19fdc6abcb07a 100644 --- a/data/json/mapgen/hotel_tower.json +++ b/data/json/mapgen/hotel_tower.json @@ -1,205 +1,137 @@ [ { - "id": "hotel_coffee_bar", - "type": "item_group", - "subtype": "collection", - "entries": [ - { "item": "coffeemaker", "prob": 60, "charges": [ 0, 200 ] }, - { "group": "coffee_display", "prob": 60, "count": [ 1, 3 ] } - ] - }, - { - "id": "hotel_luggage", - "type": "item_group", - "subtype": "collection", - "entries": [ { "group": "bags_trip", "prob": 25 }, { "group": "dresser", "prob": 25, "count": [ 1, 4 ] } ] - }, - { - "type": "item_group", - "id": "book_hotel_tower_bible", - "subtype": "collection", - "items": [ { "item": "holybook_bible3", "prob": 100 } ] - }, - { - "name": "GROUP_HOTEL_POOL", - "type": "monstergroup", - "default": "mon_zombie_swimmer", - "monsters": [ - { "monster": "mon_zombie_swimmer", "freq": 100, "cost_multiplier": 2 }, - { "monster": "mon_zombie_swimmer", "freq": 50, "cost_multiplier": 10, "pack_size": [ 3, 8 ] }, - { "monster": "mon_zombie_child", "freq": 35, "cost_multiplier": 1 } - ] - }, - { - "name": "GROUP_HOTEL_GYM", - "type": "monstergroup", - "default": "mon_zombie_fat", - "monsters": [ - { "monster": "mon_zombie_fat", "freq": 30, "cost_multiplier": 2 }, - { "monster": "mon_zombie_fat", "freq": 15, "cost_multiplier": 8, "pack_size": [ 2, 6 ] }, - { "monster": "mon_zombie_tough", "freq": 8, "cost_multiplier": 3 } - ] - }, - { - "type": "mapgen", "method": "json", - "om_terrain": [ "hotel_tower_1_1" ], - "weight": 250, - "object": { - "rows": [ - "ssssssssssssssssssssssss", - "_____,_____,_____,_____s", - "_____,_____,_____,_____s", - "_____,_____,_V___,_____s", - "_____,_____,_____,_____s", - "_____,_____,_____,_____s", - "_____,_____,_____,_____s", - "_______________________s", - "_______________________s", - "_______________________s", - "_______________________s", - "_______________________s", - "_____,_____,_____,_____s", - "_____,_____,_____,_____s", - "_____,_V___,_V___,_____s", - "_____,_____,_____,_____s", - "_____,_____,_____,_____s", - "_____,_____,_____,_____s", - "ssssssssssssssssssssssss", - "ssssssssssssssssssssssss", - "_____,_____,_____,_____s", - "_____,_____,_____,_____s", - "_____,_____,_____,_____s", - "_____,_____,_____,_____s" - ], - "terrain": { ",": "t_pavement_y", "V": "t_pavement", "_": "t_pavement", "s": "t_sidewalk" }, - "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 2 } ], - "vehicles": { "V": { "vehicle": "suburban_home", "chance": 50, "rotation": 270 } } - } - }, - { + "om_terrain": [ [ "hotel_tower_1_3", "hotel_tower_1_2", "hotel_tower_1_1" ] ], "type": "mapgen", - "method": "json", - "om_terrain": [ "hotel_tower_1_2" ], "weight": 250, "object": { + "fill_ter": "t_pavement", "rows": [ - "ss________sssss________s", - "_,________s'''s________,", - "_,________s'''s________,", - "_,________s'''s________,", - "_,________s'''s________,", - "_,________sssss________,", - "_,_____________________,", - "________________________", - "________________________", - "________________________", - "________________________", - "________________________", - "_,_____________________,", - "_,________sssss________,", - "_,________s'''s________,", - "_,________s'''s________,", - "_,________s'''s________,", - "_,________s'''s________,", - "ss________s'''s________s", - "ss________s'''s________s", - "_,________s'''s________,", - "_,________s'''s________,", - "_,________sssss________,", - "_,_____________________," + " sssssssssssssssssssssssss________sssss________sssssssssssssssssssssssss", + " s_____,_____,_____,_____,________s'''s________,_____,_____,_____,_____s", + " s_____,_____,_____,_____,________s'''s________,_____,_____,_____,_____s", + " s_____,_V___,_____,_V___,________s'''s________,_V___,_____,_V___,_____s", + " s_____,_____,_____,_____,________s'''s________,_____,_____,_____,_____s", + " s_____,_____,_____,_____,________sssss________,_____,_____,_____,_____s", + " s_____,_____,_____,_____,_____________________,_____,_____,_____,_____s", + " s_____________________________________________________________________s", + " s_____________________________________________________________________s", + " s_____________________________________________________________________s", + " s_____________________________________________________________________s", + " s_____________________________________________________________________s", + " s_____,_____,_____,_____,_____________________,_____,_____,_____,_____s", + " s___V_,_____,___V_,_____,________sssss________,_____,_V___,_____,_V___s", + " s_____,_____,_____,_____,________s'''s________,_____,_____,_____,_____s", + " s_____,_____,_____,_____,________s'''s________,_____,_____,_____,_____s", + " s_____,_____,_____,_____,________s'''s________,_____,_____,_____,_____s", + " s_____,_____,_____,_____,________s'''s________,_____,_____,_____,_____s", + " sssssssssssssssssssssssss________s'''s________sssssssssssssssssssssssss", + " sssssssssssssssssssssssss________s'''s________sssssssssssssssssssssssss", + " s_____,_____,_____,_____,________s'''s________,_____,_____,_____,_____s", + " s_____,_____,_____,_____,________s'''s________,_____,_____,_____,_____s", + " s_____,_____,_____,_____,________sssss________,_____,_____,_____,_____s", + " s_____,_____,_____,_____,_____________________,_____,_____,_____,_____s" ], - "terrain": { "'": "t_grass", ",": "t_pavement_y", "_": "t_pavement", "s": "t_sidewalk" }, - "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 2 } ] + "palettes": [ "hotel_tower_palette.json" ], + "vehicles": { "V": { "vehicle": "suburban_home", "chance": 50, "rotation": 270 } }, + "terrain": { "V": "t_pavement" }, + "place_monsters": [ + { "monster": "GROUP_ZOMBIE", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 2 }, + { "monster": "GROUP_ZOMBIE", "x": [ 24, 47 ], "y": [ 0, 23 ], "chance": 2 }, + { "monster": "GROUP_ZOMBIE", "x": [ 48, 71 ], "y": [ 0, 23 ], "chance": 2 } + ] } }, { - "type": "mapgen", "method": "json", - "om_terrain": [ "hotel_tower_1_3" ], + "om_terrain": [ [ "hotel_tower_1_6", "hotel_tower_1_5", "hotel_tower_1_4" ] ], + "type": "mapgen", "weight": 250, "object": { - "fill_ter": "t_pavement", + "fill_ter": "t_floor", "rows": [ - " sssssssssssssssssssssss", - " s_____,_____,_____,____", - " s_____,_____,_____,____", - " s_____,_____,_____,____", - " s_____,_V___,_____,____", - " s_____,_____,_____,____", - " s_____,_____,_____,____", - " s______________________", - " s______________________", - " s______________________", - " s______________________", - " s______________________", - " s_____,_____,_____,____", - " s_____,_____,_____,____", - " s_____,_____,_____,____", - " s_____,_____,_____,____", - " s_____,_____,___v_,____", - " s_____,_____,_____,____", - " sssssssssssssssssssssss", - " sssssssssssssssssssssss", - " s_____,_____,_____,____", - " s_____,_____,_____,____", - " s_____,_____,_____,____", - " s_____,_____,_____,____" + " s_____,_____,_____,_____,_____________________,_____,_____,_____,_____s", + " s_____,_____,_____,_____,_____________________,_____,_____,_____,_____s", + " s_____________________________________________________________________s", + " s_____________________________________________________________________s", + " s_____________________________________________________________________s", + " s_____________________________________________________________________s", + " s_____________________________________________________________________s", + " s___________________________sssssssssssssss___________________________s", + " s_____,_____,_____,_____,_sssssssssssssssssss_,_____,_____,_____,_____s", + " s_____,_____,_____,_____,sssssssssssssssssssss,_____,_V___,_____,_____s", + " s_____,_____,_____,_____,ssssss%HHGGGHH%ssssss,_____,_____,_____,_____s", + " s_____,___v_,_____,_____,sssss%%^.....^%%sssss,_____,_____,_____,___v_s", + " s_____,_____,_____,_____,ssss%%^......Yc%%ssss,_____,_____,_____,_____s", + " s_____,_____,_____,_____,sss%%^.......YcD%%sss,_____,_____,_____,_____s", + " ssssssssssssssssssssssssssssH^........YcxDHssssssssssssssssssssssssssss", + " ssssssssssssssssssssssssssssH..........ch.Hssssssssssssssssssssssssssss", + " s'''''''''''''''''''''''''''H.j.t......c..H'''''''''''''''''''''''''''s", + " s'''''''''''''''''''''''''''H.j.t......ch.H'''''''''''''''''''''''''''s", + " s''''''''''T'''''T'''''''T''H.j........c..H''T'''''''T'''''T''''''''''s", + " s'''''''''''''''''''''''''''%.jjj......c.L%'''''''''''''''''''''''''''s", + " s''''%%www%%%www%%%www%%%www%%.........%+%%www%%%www%%%www%%%www%%''''s", + " s''''%...Ld|....d|....d|....d|...........|d..ht|d....|d..L.|d....%''''s", + " s''''%c..BB|o..BB|c.LBB|c..BB|h.........h|BB..h|BB..o|BB..c|BB..c%''''s", + " s''''%c..BB|c..BB|o..BB|c.LBB|t.........t|BB..c|BB..c|BB..o|BB..o%''''s" ], - "terrain": { " ": [ "t_grass", "t_grass", "t_grass", "t_dirt" ], ",": "t_pavement_y", "_": "t_pavement", "s": "t_sidewalk" }, - "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 0, 23 ], "y": [ 0, 23 ], "chance": 2 } ], + "palettes": [ "hotel_tower_palette.json" ], + "terrain": { "V": "t_pavement", "w": "t_window_domestic", "x": "t_console_broken" }, + "furniture": { "D": "f_desk" }, + "items": { + "B": { "item": "bed", "chance": 50 }, + "L": { "item": "hotel_luggage", "chance": 100 }, + "c": { "item": "magazines", "chance": 15 }, + "d": { "item": "book_hotel_tower_bible", "chance": 2 }, + "o": { "item": "hotel_coffee_bar", "chance": 100 } + }, "vehicles": { - "V": { "vehicle": "suburban_home", "chance": 50, "rotation": 270 }, - "v": { "vehicle": "suburban_home", "chance": 50, "rotation": 90 } - } + "V": { "vehicle": "suburban_home", "chance": 60, "rotation": 270 }, + "v": { "vehicle": "suburban_home", "chance": 60, "rotation": 90 } + }, + "place_monsters": [ + { "monster": "GROUP_ZOMBIE", "x": [ 7, 23 ], "y": [ 0, 23 ] }, + { "monster": "GROUP_ZOMBIE", "x": [ 24, 47 ], "y": [ 7, 23 ], "repeat": 2 }, + { "monster": "GROUP_ZOMBIE", "x": [ 49, 65 ], "y": [ 0, 23 ] } + ] } }, { - "type": "mapgen", "method": "json", - "om_terrain": [ "hotel_tower_1_4" ], + "om_terrain": [ [ "hotel_tower_flr2_1_6", "hotel_tower_flr2_1_5", "hotel_tower_flr2_1_4" ] ], + "type": "mapgen", "weight": 250, "object": { "fill_ter": "t_floor", "rows": [ - "_____,_____,_____,_____s", - "_____,_____,_____,_____s", - "_______________________s", - "_______________________s", - "_______________________s", - "_______________________s", - "_______________________s", - "_______________________s", - "_____,_____,_____,_____s", - "_____,_V___,_____,_____s", - "_____,_____,_____,_____s", - "_____,_____,_____,_____s", - "_____,_____,_____,___v_s", - "_____,_____,_____,_____s", - "ssssssssssssssssssssssss", - "ssssssssssssssssssssssss", - "'''''''''''''''''''''''s", - "'''''''''''''''''''''''s", - "''''''T'''''T''''''''''s", - "'''''''''''''''''''''''s", - "|-www-|-www-|-www-|''''s", - "|d....|d..L.|d....|''''s", - "|BB..o|BB..c|BB..c|''''s", - "|BB..c|BB..o|BB..o|''''s" + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "********************************111111111*******************************", + "*******************************11111011111******************************", + "******************************1111100011111*****************************", + "*****************************111110000011111****************************", + "*****************************111100000001111****************************", + "*****************************111000000000111****************************", + "*****************************111000000000111****************************", + "*****************************111000000000111****************************", + "*****************************111000000000111****************************", + "*****************************111111111111111****************************", + "******%%www%%%www%%%www%%%www%%H%%HHHHH%%H%%www%%%www%%%www%%%www%%*****", + "******%...Ld|....d|....d|....d|^...^^....^|d..ht|d....|d..L.|d....%*****", + "******%c..BB|o..BB|c.LBB|c..BB|h.........h|BB..h|BB..o|BB..c|BB..c%*****", + "******%c..BB|c..BB|o..BBXc.LBB|t.........t|BB..cXBB..c|BB..o|BB..o%*****" ], - "terrain": { - "'": "t_grass", - ",": "t_pavement_y", - "-": "t_wall", - "T": "t_tree_young", - "V": "t_pavement", - "_": "t_pavement", - "s": "t_sidewalk", - "v": "t_pavement", - "w": "t_window_domestic", - "|": "t_wall" - }, - "furniture": { "B": "f_bed", "c": "f_counter", "d": "f_dresser", "o": "f_counter" }, + "palettes": [ "hotel_tower_palette.json" ], + "terrain": { "w": "t_window_domestic", "x": "t_console_broken" }, + "furniture": { "D": "f_desk" }, "items": { "B": { "item": "bed", "chance": 50 }, "L": { "item": "hotel_luggage", "chance": 100 }, @@ -207,271 +139,236 @@ "d": { "item": "book_hotel_tower_bible", "chance": 2 }, "o": { "item": "hotel_coffee_bar", "chance": 100 } }, - "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 1, 17 ], "y": [ 0, 23 ] } ], - "vehicles": { - "V": { "vehicle": "suburban_home", "chance": 60, "rotation": 270 }, - "v": { "vehicle": "suburban_home", "chance": 60, "rotation": 90 } - } + "place_monsters": [ + { "monster": "GROUP_ZOMBIE", "x": [ 7, 23 ], "y": [ 21, 23 ] }, + { "monster": "GROUP_ZOMBIE", "x": [ 24, 47 ], "y": [ 21, 23 ], "repeat": 2 }, + { "monster": "GROUP_ZOMBIE", "x": [ 49, 65 ], "y": [ 21, 23 ] } + ] } }, { - "type": "mapgen", "method": "json", - "om_terrain": [ "hotel_tower_1_5" ], + "om_terrain": [ [ "hotel_tower_flr3_1_6", "hotel_tower_flr3_1_5", "hotel_tower_flr3_1_4" ] ], + "type": "mapgen", "weight": 250, "object": { "fill_ter": "t_floor", "rows": [ - "_,_____________________,", - "_,_____________________,", - "________________________", - "________________________", - "________________________", - "________________________", - "________________________", - "__sssssssssssssssssssss_", - "_,sssssCsssssssssCsssss,", - "_,sssssssssssssssssssss,", - "_,sss|HHHGGHHHGGHHH|sss,", - "_,sssV............^|sss,", - "_,sssV^............Vsss,", - "_,sss|cccc.........Vsss,", - "sssss|LL.c.........Vssss", - "sssss|...x......hh.|ssss", - "'''''|h..c......tt.V''''", - "'''''|D.r|......tt.V''''", - "''T''|-+-|......hh.V''T'", - "'''''|^............|''''", - "|-www||...........||www-", - "|....d|...........|d..ht", - "|c..BB|h.........h|BB..h", - "|c.LBB|t.........t|BB..c" + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "******%%www%%%www%%%www%%%www%%%H%%HHH%%H%%%www%%%www%%%www%%%www%%*****", + "******%...Ld|....d|....d|....d|^.........^|d..ht|d....|d..L.|d....%*****", + "******%c..BB|o..BB|c.LBB|c..BB|h.........h|BB..h|BB..o|BB..c|BB..c%*****", + "******%c..BB|c..BB|o..BB|c.LBB|t.........t|BB..c|BB..c|BB..o|BB..o%*****" ], - "terrain": { - "'": "t_grass", - "+": [ "t_door_c", "t_door_c", "t_door_o" ], - ",": "t_pavement_y", - "-": "t_wall", - "C": "t_column", - "G": "t_door_glass_c", - "H": "t_wall_glass", - "T": "t_tree_young", - "V": "t_wall_glass", - "_": "t_pavement", - "s": "t_sidewalk", - "w": "t_window_domestic", - "x": "t_console_broken", - "|": "t_wall" - }, - "furniture": { - "B": "f_bed", - "D": "f_desk", - "^": "f_indoor_plant", - "c": "f_counter", - "d": "f_dresser", - "h": "f_chair", - "o": "f_counter", - "r": "f_rack", - "t": "f_table" - }, + "palettes": [ "hotel_tower_palette.json" ], + "terrain": { "w": "t_window_domestic", "x": "t_console_broken" }, + "furniture": { "D": "f_desk" }, "items": { "B": { "item": "bed", "chance": 50 }, "L": { "item": "hotel_luggage", "chance": 100 }, "c": { "item": "magazines", "chance": 15 }, - "d": { "item": "book_hotel_tower_bible", "chance": 2 } + "d": { "item": "book_hotel_tower_bible", "chance": 2 }, + "o": { "item": "hotel_coffee_bar", "chance": 100 } }, - "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 0, 23 ], "y": [ 7, 23 ], "repeat": 2 } ], - "place_vehicles": [ { "vehicle": "luggage_cart", "x": [ 10, 15 ], "y": [ 11, 19 ], "chance": 100, "repeat": [ 1, 3 ] } ] + "place_monsters": [ + { "monster": "GROUP_ZOMBIE", "x": [ 7, 23 ], "y": [ 21, 23 ] }, + { "monster": "GROUP_ZOMBIE", "x": [ 24, 47 ], "y": [ 21, 23 ], "repeat": 2 }, + { "monster": "GROUP_ZOMBIE", "x": [ 49, 65 ], "y": [ 21, 23 ] } + ] } }, { - "type": "mapgen", "method": "json", - "om_terrain": [ "hotel_tower_1_5" ], + "om_terrain": [ [ "hotel_tower_flr4_1_6", "hotel_tower_flr4_1_5", "hotel_tower_flr4_1_4" ] ], + "type": "mapgen", "weight": 250, "object": { "fill_ter": "t_floor", "rows": [ - "________________________", - "________________________", - "________________________", - "________________________", - "________________________", - "__,,,,,,,,,,,,,,,,,,,,,_", - "___C_____C_____C_____C__", - "________________________", - "________________________", - "________________________", - "________________________", - "________________________", - "________________________", - "__'''''''''''''''''''''_", - "ssssssssssssssssssssssss", - "sssss|---HGGHGGH---|ssss", - "'''''|.............|''''", - "'''''V.............V''''", - "''T''V....ccccc....V''T'", - "'''''|^...cDxDc...^|''''", - "|-www||......hc...||www-", - "|....d|...ccccc...|d..ht", - "|c..BB|...........|BB..h", - "|c.LBB|h.........h|BB..c" + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "************************************************************************", + "******%%www%%%www%%%www%%%www%%%H%%HHH%%H%%%www%%%www%%%www%%%www%%*****", + "******%...Ld|....d|....d|....d|^.........^|d..ht|d....|d..L.|d....%*****", + "******%c..BB|o..BB|c.LBB|c..BB|h.........h|BB..h|BB..o|BB..c|BB..c%*****", + "******%c..BB|c..BB|o..BB|c.LBB|t.........t|BB..c|BB..c|BB..o|BB..o%*****" ], - "terrain": { - "'": "t_grass", - "+": [ "t_door_c", "t_door_c", "t_door_o" ], - ",": "t_pavement_y", - "-": "t_wall", - "C": "t_column", - "G": "t_door_glass_c", - "H": "t_wall_glass", - "T": "t_tree_young", - "V": "t_wall_glass", - "_": "t_pavement", - "s": "t_sidewalk", - "w": "t_window_domestic", - "x": "t_console_broken", - "|": "t_wall", - "~": "t_thconc_floor" - }, - "furniture": { - "B": "f_bed", - "D": "f_desk", - "^": "f_indoor_plant", - "c": "f_counter", - "d": "f_dresser", - "h": "f_chair", - "o": "f_counter", - "r": "f_rack", - "t": "f_table" - }, + "palettes": [ "hotel_tower_palette.json" ], + "terrain": { "w": "t_window_domestic", "x": "t_console_broken" }, + "furniture": { "D": "f_desk" }, "items": { "B": { "item": "bed", "chance": 50 }, "L": { "item": "hotel_luggage", "chance": 100 }, "c": { "item": "magazines", "chance": 15 }, - "d": { "item": "book_hotel_tower_bible", "chance": 2 } + "d": { "item": "book_hotel_tower_bible", "chance": 2 }, + "o": { "item": "hotel_coffee_bar", "chance": 100 } }, - "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 0, 23 ], "y": [ 7, 23 ], "repeat": 2 } ], - "place_vehicles": [ { "vehicle": "luggage_cart", "x": [ 3, 21 ], "y": [ 11, 17 ], "chance": 100, "repeat": [ 1, 3 ] } ] + "place_monsters": [ + { "monster": "GROUP_ZOMBIE", "x": [ 7, 23 ], "y": [ 21, 23 ] }, + { "monster": "GROUP_ZOMBIE", "x": [ 24, 47 ], "y": [ 21, 23 ], "repeat": 2 }, + { "monster": "GROUP_ZOMBIE", "x": [ 49, 65 ], "y": [ 21, 23 ] } + ] } }, { + "method": "json", + "om_terrain": [ [ "hotel_tower_roof_1_6", "hotel_tower_roof_1_5", "hotel_tower_roof_1_4" ] ], "type": "mapgen", + "weight": 250, + "object": { + "fill_ter": "t_flat_roof", + "rows": [ + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " |222222222222222222222222222222222222222222222222222222222223 ", + " |...........................................................3 ", + " |...........................................................3 ", + " |...........................................................3 " + ], + "palettes": [ "roof_palette" ] + } + }, + { "method": "json", - "om_terrain": [ "hotel_tower_1_5" ], + "om_terrain": [ [ "hotel_tower_1_9", "hotel_tower_1_8", "hotel_tower_1_7" ] ], + "type": "mapgen", "weight": 250, "object": { "fill_ter": "t_floor", "rows": [ - "_,_____________________,", - "_,_____________________,", - "________________________", - "________________________", - "________________________", - "________________________", - "________________________", - "_____sssssssssssssss____", - "_,_sssssssssssssssssss_,", - "_,sssssssssssssssssssss,", - "_,ssssss-HHGGGHH-ssssss,", - "_,sssss||^.....^||sssss,", - "_,ssss||^......Yc||ssss,", - "_,sss||^.......YcD||sss,", - "sssssV^........YcxDVssss", - "sssssV..........ch.Vssss", - "'''''V.j.t......c..V''''", - "'''''V.j.t......ch.V''''", - "''T''V.j........c..V''T'", - "'''''|.jjj......c.L|''''", - "|-www||.........-+||www-", - "|....d|...........|d..ht", - "|c..BB|h.........h|BB..h", - "|c.LBB|t.........t|BB..c" + " s''''%o....|c....|c....|c....|t.........t|d...c|....c|....c|....c%''''s", + " s''''%....h|...Lh|....h|....h|h.........h|BB..c|h...L|h....|h....%''''s", + " s''''%...ht|...ht|...ht|...ht|^.........^|BB...|th...|th...|th...%''''s", + " s''''%..|--|..|--|..|--|..|--|---|...|---|--|..|--|..|--|..|--|..%''''s", + " s''''%..+.S|..+.S|..+.S|..+.S|888G...|x88|S.+..|S.+..|S.+..|S.+..%''''s", + " s'''4%..|.&|..|.&|..|.&|..|.&|888G...G888|&.|..|&.|..|&.|..|&.|..%4'''s", + " s'%%%%..|bb|..|bb|..|bb|..|bb|88x|...G888|bb|..|bb|..|bb|..|bb|..%%%%'s", + " s'%<>%-7|--|-7|--|-7|--|-7|--|---|...|---|--|7-|--|7-|--|7-|--|7-%><%'s", + " ss%..%...........................................................%..%ss", + " ss=..+...........................................................+..=ss", + " ss%..%^..........................................................%..%ss", + " %UF%-7|--|-7|--|-7|--|-7|--|-7|--|--|7-|--|7-|--|7-|--|7-|--|7-%UF% ", + " %%%%..|bb|..|bb|..|bb|..|bb|..|bb|bb|..|bb|..|bb|..|bb|..|bb|..%%%% ", + " %..|.&|..|.&|..|.&|..|.&|..|.&|&.|..|&.|..|&.|..|&.|..|&.|..% ", + " %..+.S|..+.S|..+.S|..+.S|..+.S|S.+..|S.+..|S.+..|S.+..|S.+..% ", + " %..|--|..|--|..|--|..|--|..|--|--|..|--|..|--|..|--|..|--|..% ", + " %..Lht|..LBB|...ht|...ht|...ht|BB..L|th...|th...|BB...|th...% ", + " %....h|o..BB|....h|....h|....h|BB..c|h....|h....|BB..c|h....% ", + " %c....|c...d|c....|c...L|o....|d...c|....c|....o|dL..c|....o% ", + " %o..BB|c..BB|c..BB|c..BB|c..BB|BB..o|BB..o|BB..c|BB..o|BB..c% ", + " %c..BB|h..BB|o..BB|o..BB|c..BB|BB..h|BB..c|BB..c|BB..h|BB..c% ", + " %....d|th..d|....d|....d|....d|d..ht|d....|dL...|d..ht|d....% ", + " %%www%%%www%%%www%%%www%%%www%%%www%%%www%%%www%%%www%%%www%% ", + " " ], - "terrain": { - "'": "t_grass", - "+": [ "t_door_c", "t_door_c", "t_door_o" ], - ",": "t_pavement_y", - "-": "t_wall", - "C": "t_column", - "G": "t_door_glass_c", - "H": "t_wall_glass", - "T": "t_tree_young", - "V": "t_wall_glass", - "_": "t_pavement", - "s": "t_sidewalk", - "w": "t_window_domestic", - "x": "t_console_broken", - "|": "t_wall" - }, - "furniture": { - "B": "f_bed", - "D": "f_desk", - "^": "f_indoor_plant", - "c": "f_counter", - "d": "f_dresser", - "h": "f_chair", - "j": "f_sofa", - "o": "f_counter", - "r": "f_rack", - "t": "f_table" - }, + "palettes": [ "hotel_tower_palette.json" ], + "terrain": { "+": [ "t_door_c", "t_door_c", "t_door_o" ], "w": "t_window_domestic" }, + "toilets": { "&": { } }, "items": { "B": { "item": "bed", "chance": 50 }, "L": { "item": "hotel_luggage", "chance": 100 }, + "c": { "item": "magazines", "chance": 15 }, "d": { "item": "book_hotel_tower_bible", "chance": 2 }, - "t": { "item": "magazines", "chance": 25 } + "o": { "item": "hotel_coffee_bar", "chance": 100 } }, - "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 0, 23 ], "y": [ 7, 23 ], "repeat": 2 } ], - "vehicles": { "Y": { "vehicle": "luggage_cart", "chance": 85 } } + "item": { "S": { "item": "towel", "chance": 3, "amount": [ 1, 2 ] } }, + "place_monsters": [ + { "monster": "GROUP_ZOMBIE", "x": [ 7, 23 ], "y": [ 0, 22 ], "repeat": 2 }, + { "monster": "GROUP_ZOMBIE", "x": [ 24, 47 ], "y": [ 23, 3 ], "repeat": 2 }, + { "monster": "GROUP_ZOMBIE", "x": [ 49, 65 ], "y": [ 0, 22 ], "repeat": 2 } + ] } }, { - "type": "mapgen", "method": "json", - "om_terrain": [ "hotel_tower_1_6" ], + "om_terrain": [ [ "hotel_tower_flr2_1_9", "hotel_tower_flr2_1_8", "hotel_tower_flr2_1_7" ] ], + "type": "mapgen", "weight": 250, "object": { "fill_ter": "t_floor", "rows": [ - " s_____,_____,_____,____", - " s_____,_____,_____,____", - " s______________________", - " s______________________", - " s______________________", - " s______________________", - " s______________________", - " s______________________", - " s_____,_____,_____,____", - " s_____,_____,_____,____", - " s_____,_____,_____,____", - " s_____,_____,_____,____", - " s_____,___v_,_____,____", - " s_____,_____,_____,____", - " sssssssssssssssssssssss", - " sssssssssssssssssssssss", - " s''''''''''''''''''''''", - " s''''''''''''''''''''''", - " s''''''''''T'''''T'''''", - " s''''''''''''''''''''''", - " s''''|-www-|-www-|-www-", - " s''''|...Ld|....d|....d", - " s''''|c..BB|o..BB|c.LBB", - " s''''|c..BB|c..BB|o..BB" + "******%o....|c....|c....|c....|t.........t|d...c|....c|....c|....c%*****", + "******%....h|...Lh|....h|....h|h.........h|BB..c|h...L|h....|h....%*****", + "******%...ht|...ht|...ht|...ht|^.........^|BB...|th...|th...|th...%*****", + "******%..|--|..|--|..|--|..|--|---|...|---|--|..|--|..|--|..|--|..%*****", + "******%..+.S|..+.S|..+.S|..+.S|888G...|x88|S.+..|S.+..|S.+..|S.+..%*****", + "****4*%..|.&|..|.&|..|.&|..|.&|888G...G888|&.|..|&.|..|&.|..|&.|..%*4***", + "***%%%%..|bb|..|bb|..|bb|..|bb|88x|...G888|bb|..|bb|..|bb|..|bb|..%%%%**", + "***%><%-7|--|-7|--|-7|--|-7|--|---|...|---|--|7-|--|7-|--|7-|--|7-%<>%**", + "***H..%...........................................................%..H**", + "***H..+...........................................................+..H**", + "***H..%^..........................................................%..H**", + "***%UF%-7|--|-7|--|-7|--|-7|--|-7|--|--|7-|--|7-|--|7-|--|7-|--|7-%UF%**", + "***%%%%..|bb|..|bb|..|bb|..|bb|..|bb|bb|..|bb|..|bb|..|bb|..|bb|..%%%%**", + "******%..|.&|..|.&|..|.&|..|.&|..|.&|&.|..|&.|..|&.|..|&.|..|&.|..%*****", + "******%..+.S|..+.S|..+.S|..+.S|..+.S|S.+..|S.+..|S.+..|S.+..|S.+..%*****", + "******%..|--|..|--|..|--|..|--|..|--|--|..|--|..|--|..|--|..|--|..%*****", + "******%..Lht|..LBB|...ht|...ht|...ht|BB..L|th...|th...|BB...|th...%*****", + "******%....h|o..BB|....h|....h|....h|BB..c|h....|h....|BB..c|h....%*****", + "******%c....|c...d|c....|c...L|o....|d...c|....c|....o|dL..c|....o%*****", + "******%o..BB|c..BB|c..BB|c..BB|c..BB|BB..o|BB..o|BB..c|BB..o|BB..c%*****", + "******%c..BB|h..BB|o..BB|o..BB|c..BB|BB..h|BB..c|BB..c|BB..h|BB..c%*****", + "******%....d|th..d|....d|....d|....d|d..ht|d....|dL...|d..ht|d....%*****", + "******%%www%%%www%%%www%%%www%%%www%%%www%%%www%%%www%%%www%%%www%%*****", + "*************************************************************************" ], - "terrain": { - " ": [ "t_grass", "t_grass", "t_grass", "t_dirt" ], - "'": "t_grass", - ",": "t_pavement_y", - "-": "t_wall", - "T": "t_tree_young", - "_": "t_pavement", - "s": "t_sidewalk", - "v": "t_pavement", - "w": "t_window_domestic", - "|": "t_wall" - }, - "furniture": { "B": "f_bed", "c": "f_counter", "d": "f_dresser", "o": "f_counter" }, + "palettes": [ "hotel_tower_palette.json" ], + "terrain": { "+": [ "t_door_c", "t_door_c", "t_door_o" ], "w": "t_window_domestic" }, + "toilets": { "&": { } }, "items": { "B": { "item": "bed", "chance": 50 }, "L": { "item": "hotel_luggage", "chance": 100 }, @@ -479,67 +376,50 @@ "d": { "item": "book_hotel_tower_bible", "chance": 2 }, "o": { "item": "hotel_coffee_bar", "chance": 100 } }, - "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 7, 23 ], "y": [ 0, 23 ] } ], - "vehicles": { "v": { "vehicle": "suburban_home", "chance": 60, "rotation": 90 } } + "item": { "S": { "item": "towel", "chance": 3, "amount": [ 1, 2 ] } }, + "place_monsters": [ + { "monster": "GROUP_ZOMBIE", "x": [ 7, 23 ], "y": [ 0, 22 ], "repeat": 2 }, + { "monster": "GROUP_ZOMBIE", "x": [ 24, 47 ], "y": [ 23, 3 ], "repeat": 2 }, + { "monster": "GROUP_ZOMBIE", "x": [ 49, 65 ], "y": [ 0, 22 ], "repeat": 2 } + ] } }, { - "type": "mapgen", "method": "json", - "om_terrain": [ "hotel_tower_1_7" ], + "om_terrain": [ [ "hotel_tower_flr3_1_9", "hotel_tower_flr3_1_8", "hotel_tower_flr3_1_7" ] ], + "type": "mapgen", "weight": 250, "object": { "fill_ter": "t_floor", "rows": [ - "|....c|....c|....c|''''s", - "|h...L|h....|h....|''''s", - "|th...|th...|th...|''''s", - "|--|..|--|..|--|..|''''s", - "|S.+..|S.+..|S.+..|''''s", - "|T.|..|T.|..|T.|..|''''s", - "|bb|..|bb|..|bb|..|--|'s", - "|--|D-|--|D-|--|D-|<.|'s", - "..................|..|ss", - "..................+..=ss", - "..................|..|ss", - "|--|D-|--|D-|--|D-|..| ", - "|bb|..|bb|..|bb|..|--| ", - "|T.|..|T.|..|T.|..| ", - "|S.+..|S.+..|S.+..| ", - "|--|..|--|..|--|..| ", - "|th...|BB...|th...| ", - "|h....|BB..c|h....| ", - "|....o|dL..c|....o| ", - "|BB..c|BB..o|BB..c| ", - "|BB..c|BB..h|BB..c| ", - "|dL...|d..ht|d....| ", - "|-www-|-www-|-www-| ", - " " + "******%o....|c....|c....|c....|t.........t|d...c|....c|....c|....c%*****", + "******%....h|...Lh|....h|....h|h.........h|BB..c|h...L|h....|h....%*****", + "******%...ht|...ht|...ht|...ht|^.........^|BB...|th...|th...|th...%*****", + "******%..|--|..|--|..|--|..|--|---|...|---|--|..|--|..|--|..|--|..%*****", + "******%..+.S|..+.S|..+.S|..+.S|888G...|x88|S.+..|S.+..|S.+..|S.+..%*****", + "*****4%..|.&|..|.&|..|.&|..|.&|888G...G888|&.|..|&.|..|&.|..|&.|..%4****", + "***%%%%..|bb|..|bb|..|bb|..|bb|88x|...G888|bb|..|bb|..|bb|..|bb|..%%%%**", + "***%<>%-7|--|-7|--|-7|--|-7|--|---|...|---|--|7-|--|7-|--|7-|--|7-%><%**", + "***H..%...........................................................%..H**", + "***H..+...........................................................+..H**", + "***H..%^..........................................................%..H**", + "***%UF%-7|--|-7|--|-7|--|-7|--|-7|--|--|7-|--|7-|--|7-|--|7-|--|7-%UF%**", + "***%%%%..|bb|..|bb|..|bb|..|bb|..|bb|bb|..|bb|..|bb|..|bb|..|bb|..%%%%**", + "******%..|.&|..|.&|..|.&|..|.&|..|.&|&.|..|&.|..|&.|..|&.|..|&.|..%*****", + "******%..+.S|..+.S|..+.S|..+.S|..+.S|S.+..|S.+..|S.+..|S.+..|S.+..%*****", + "******%..|--|..|--|..|--|..|--|..|--|--|..|--|..|--|..|--|..|--|..%*****", + "******%..Lht|..LBB|...ht|...ht|...ht|BB..L|th...|th...|BB...|th...%*****", + "******%....h|o..BB|....h|....h|....h|BB..c|h....|h....|BB..c|h....%*****", + "******%c....|c...d|c....|c...L|o....|d...c|....c|....o|dL..c|....o%*****", + "******%o..BB|c..BB|c..BB|c..BB|c..BB|BB..o|BB..o|BB..c|BB..o|BB..c%*****", + "******%c..BB|h..BB|o..BB|o..BB|c..BB|BB..h|BB..c|BB..c|BB..h|BB..c%*****", + "******%....d|th..d|....d|....d|....d|d..ht|d....|dL...|d..ht|d....%*****", + "******%%www%%%www%%%www%%%www%%%www%%%www%%%www%%%www%%%www%%%www%%*****", + "*************************************************************************" ], - "terrain": { - " ": [ "t_grass", "t_grass", "t_grass", "t_dirt" ], - "'": "t_grass", - "+": [ "t_door_c", "t_door_c", "t_door_o" ], - "-": "t_wall", - "<": "t_stairs_down", - "=": "t_door_locked", - "D": "t_door_locked_interior", - "s": "t_sidewalk", - "w": "t_window_domestic", - "|": "t_wall" - }, - "furniture": { - "B": "f_bed", - "S": "f_sink", - "T": "f_toilet", - "b": "f_bathtub", - "c": "f_counter", - "d": "f_dresser", - "h": "f_chair", - "o": "f_counter", - "t": "f_table" - }, - "toilets": { "T": { } }, + "palettes": [ "hotel_tower_palette.json" ], + "terrain": { "+": [ "t_door_c", "t_door_c", "t_door_o" ], "w": "t_window_domestic" }, + "toilets": { "&": { } }, "items": { "B": { "item": "bed", "chance": 50 }, "L": { "item": "hotel_luggage", "chance": 100 }, @@ -548,65 +428,49 @@ "o": { "item": "hotel_coffee_bar", "chance": 100 } }, "item": { "S": { "item": "towel", "chance": 3, "amount": [ 1, 2 ] } }, - "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 1, 17 ], "y": [ 0, 22 ], "repeat": 2 } ] + "place_monsters": [ + { "monster": "GROUP_ZOMBIE", "x": [ 7, 23 ], "y": [ 0, 22 ], "repeat": 2 }, + { "monster": "GROUP_ZOMBIE", "x": [ 24, 47 ], "y": [ 23, 3 ], "repeat": 2 }, + { "monster": "GROUP_ZOMBIE", "x": [ 49, 65 ], "y": [ 0, 22 ], "repeat": 2 } + ] } }, { - "type": "mapgen", "method": "json", - "om_terrain": [ "hotel_tower_1_8" ], + "om_terrain": [ [ "hotel_tower_flr4_1_9", "hotel_tower_flr4_1_8", "hotel_tower_flr4_1_7" ] ], + "type": "mapgen", "weight": 250, "object": { "fill_ter": "t_floor", "rows": [ - "|c....|t.........t|d...c", - "|....h|h.........h|BB..c", - "|...ht|^.........^|BB...", - "|..|--|---|...|---|--|..", - "|..+.S|EEE=...|xEE|S.+..", - "|..|.T|EEE=...=EEE|T.|..", - "|..|bb|EEx|...=EEE|bb|..", - "|-D|--|---|...|---|--|D-", - "........................", - "........................", - "........................", - "|-D|--|-D|--|--|D-|--|D-", - "|..|bb|..|bb|bb|..|bb|..", - "|..|.T|..|.T|T.|..|T.|..", - "|..+.S|..+.S|S.+..|S.+..", - "|..|--|..|--|--|..|--|..", - "|...ht|...ht|BB..L|th...", - "|....h|....h|BB..c|h....", - "|c...L|o....|d...c|....c", - "|c..BB|c..BB|BB..o|BB..o", - "|o..BB|c..BB|BB..h|BB..c", - "|....d|....d|d..ht|d....", - "|-www-|-www-|-www-|-www-", - " " + "******%o....|c....|c....|c....|t.........t|d...c|....c|....c|....c%*****", + "******%....h|...Lh|....h|....h|h.........h|BB..c|h...L|h....|h....%*****", + "******%...ht|...ht|...ht|...ht|^.........^|BB...|th...|th...|th...%*****", + "******%..|--|..|--|..|--|..|--|---|...|---|--|..|--|..|--|..|--|..%*****", + "******%..+.S|..+.S|..+.S|..+.S|888G...|x88|S.+..|S.+..|S.+..|S.+..%*****", + "****4*%..|.&|..|.&|..|.&|..|.&|888G...G888|&.|..|&.|..|&.|..|&.|..%*4***", + "***%%%%..|bb|..|bb|..|bb|..|bb|88x|...G888|bb|..|bb|..|bb|..|bb|..%%%%**", + "***%>F%-7|--|-7|--|-7|--|-7|--|---|...|---|--|7-|--|7-|--|7-|--|7-%F>%**", + "***H.U%...........................................................%U.H**", + "***H..+...........................................................+..H**", + "***%7%%^..........................................................%%7%**", + "***%.<%-7|--|-7|--|-7|--|-7|--|-7|--|--|7-|--|7-|--|7-|--|7-|--|7-%<.%**", + "***%%%%..|bb|..|bb|..|bb|..|bb|..|bb|bb|..|bb|..|bb|..|bb|..|bb|..%%%%**", + "******%..|.&|..|.&|..|.&|..|.&|..|.&|&.|..|&.|..|&.|..|&.|..|&.|..%*****", + "******%..+.S|..+.S|..+.S|..+.S|..+.S|S.+..|S.+..|S.+..|S.+..|S.+..%*****", + "******%..|--|..|--|..|--|..|--|..|--|--|..|--|..|--|..|--|..|--|..%*****", + "******%..Lht|..LBB|...ht|...ht|...ht|BB..L|th...|th...|BB...|th...%*****", + "******%....h|o..BB|....h|....h|....h|BB..c|h....|h....|BB..c|h....%*****", + "******%c....|c...d|c....|c...L|o....|d...c|....c|....o|dL..c|....o%*****", + "******%o..BB|c..BB|c..BB|c..BB|c..BB|BB..o|BB..o|BB..c|BB..o|BB..c%*****", + "******%c..BB|h..BB|o..BB|o..BB|c..BB|BB..h|BB..c|BB..c|BB..h|BB..c%*****", + "******%....d|th..d|....d|....d|....d|d..ht|d....|dL...|d..ht|d....%*****", + "******%%www%%%www%%%www%%%www%%%www%%%www%%%www%%%www%%%www%%%www%%*****", + "*************************************************************************" ], - "terrain": { - "+": [ "t_door_c", "t_door_c", "t_door_o" ], - "-": "t_wall", - "=": "t_door_metal_c", - "D": "t_door_locked_interior", - "E": "t_elevator", - "w": "t_window_domestic", - "x": "t_elevator_control_off", - "|": "t_wall" - }, - "furniture": { - "B": "f_bed", - "S": "f_sink", - "T": "f_toilet", - "^": "f_indoor_plant", - "b": "f_bathtub", - "c": "f_counter", - "d": "f_dresser", - "h": "f_chair", - "o": "f_counter", - "t": "f_table" - }, - "toilets": { "T": { } }, + "palettes": [ "hotel_tower_palette.json" ], + "terrain": { "+": [ "t_door_c", "t_door_c", "t_door_o" ], "w": "t_window_domestic" }, + "toilets": { "&": { } }, "items": { "B": { "item": "bed", "chance": 50 }, "L": { "item": "hotel_luggage", "chance": 100 }, @@ -615,246 +479,308 @@ "o": { "item": "hotel_coffee_bar", "chance": 100 } }, "item": { "S": { "item": "towel", "chance": 3, "amount": [ 1, 2 ] } }, - "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 0, 23 ], "y": [ 23, 3 ], "repeat": 2 } ] + "place_monsters": [ + { "monster": "GROUP_ZOMBIE", "x": [ 7, 23 ], "y": [ 0, 22 ], "repeat": 2 }, + { "monster": "GROUP_ZOMBIE", "x": [ 24, 47 ], "y": [ 23, 3 ], "repeat": 2 }, + { "monster": "GROUP_ZOMBIE", "x": [ 49, 65 ], "y": [ 0, 22 ], "repeat": 2 } + ] } }, { - "type": "mapgen", "method": "json", - "om_terrain": [ "hotel_tower_1_9" ], + "om_terrain": [ [ "hotel_tower_roof_1_9", "hotel_tower_roof_1_8", "hotel_tower_roof_1_7" ] ], + "type": "mapgen", "weight": 250, "object": { - "fill_ter": "t_floor", + "fill_ter": "t_flat_roof", "rows": [ - " s''''|o....|c....|c....", - " s''''|....h|...Lh|....h", - " s''''|...ht|...ht|...ht", - " s''''|..|--|..|--|..|--", - " s''''|..+.S|..+.S|..+.S", - " s''''|..|.T|..|.T|..|.T", - " s'|--|..|bb|..|bb|..|bb", - " s'|.<|-D|--|-D|--|-D|--", - " ss|..|.................", - " ss=..+.................", - " ss|..|^................", - " |..|-D|--|-D|--|-D|--", - " |--|..|bb|..|bb|..|bb", - " |..|.T|..|.T|..|.T", - " |..+.S|..+.S|..+.S", - " |..|--|..|--|..|--", - " |..Lht|..LBB|...ht", - " |....h|o..BB|....h", - " |c....|c...d|c....", - " |o..BB|c..BB|c..BB", - " |c..BB|h..BB|o..BB", - " |....d|th..d|....d", - " |-www-|-www-|-www-", - " " + " |...........................................................3 ", + " |...........................................................3 ", + " |...........................................................3 ", + " |...........................................................3 ", + " |...........................................................3 ", + " |...........................................................3 ", + " |-5|..%%%%%%%%%%%%%%%%%%%%%%%%%DD%%%%%%%%%%%%%%%%%%%%%%%%%%%%..35-3 ", + " |.....%.....................................................%.....3 ", + " |.....%.....YYYYY.................................YYYYY.....%.....3 ", + " ########....66666.................................66666.....####### ", + " #______+.....................AAAAAA.........................+____H# ", + " #_>_HHH#.....................AAAAAA.........................#___>H# ", + " ########.....................AAAAAA.........................####### ", + " |..%.....66666.................................66666.....%..3 ", + " |..%.....YYYYY.................................YYYYY.....%..3 ", + " |..%.....................................................%..3 ", + " |..%%%%%%%%%%%%%%%%%%%%%%%%%DD%%%%%%%%%%%%%%%%%%%%%%%%%%%%..3 ", + " |...........................................................3 ", + " |...........................................................3 ", + " |...........................................................3 ", + " |...........................................................3 ", + " |...........................................................3 ", + " |-----------------------------------------------------------3 ", + " " ], + "palettes": [ "roof_palette" ], "terrain": { - " ": [ "t_grass", "t_grass", "t_grass", "t_dirt" ], - "'": "t_grass", - "+": [ "t_door_c", "t_door_c", "t_door_o" ], - "-": "t_wall", - "<": "t_stairs_down", - "=": "t_door_locked", - "D": "t_door_locked_interior", - "s": "t_sidewalk", - "w": "t_window_domestic", - "|": "t_wall" - }, - "furniture": { - "B": "f_bed", - "S": "f_sink", - "T": "f_toilet", - "^": "f_indoor_plant", - "b": "f_bathtub", - "c": "f_counter", - "d": "f_dresser", - "h": "f_chair", - "o": "f_counter", - "t": "f_table" + ">": [ "t_stairs_down" ], + "#": "t_adobe_brick_wall", + "_": "t_thconc_floor", + "+": "t_door_metal_c", + "D": "t_chaingate_l", + "%": "t_chainfence", + "H": "t_generator_broken" }, - "toilets": { "T": { } }, + "furniture": { "Y": "f_standing_tank", "6": "f_water_heater", "7": "f_roof_turbine_vent" }, + "liquids": { "6": { "liquid": "water_clean", "amount": [ 0, 100 ] }, "Y": { "liquid": "water_clean", "amount": [ 100, 1000 ] } }, + "place_monsters": [ + { "monster": "GROUP_ZOMBIE", "x": [ 7, 23 ], "y": [ 0, 22 ], "repeat": 2 }, + { "monster": "GROUP_ZOMBIE", "x": [ 24, 47 ], "y": [ 23, 3 ], "repeat": 2 }, + { "monster": "GROUP_ZOMBIE", "x": [ 49, 65 ], "y": [ 0, 22 ], "repeat": 2 } + ] + } + }, + { + "method": "json", + "om_terrain": [ [ "hotel_tower_b_3", "hotel_tower_b_2", "hotel_tower_b_1" ] ], + "type": "mapgen", + "weight": 250, + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "########################|-----|-----------|-----|#######################", + "########################|&+...|.rrr...l..l|...+&|#######################", + "########################|-|..c|..........l|c..|-|#######################", + "########################|&+..S|---|-+-|---|S..+&|#######################", + "########################|-|..c|888+..^|x88|c..|-|#######################", + "########################|.+..S|888+...+888|S..+.|#######################", + "###|--|#################|&|..c|88x|...+888|c..|&|#################|--|##", + "###|UF|-----------------|---+-|---|HGH|---|-+---|-----------------|UF|##", + "###|..|^.............mmmm......................mmmm..............^|..|##", + "###|..+...........................................................+..|##", + "###|..|...........................................................|..|##", + "###|.<|-------++---|...............................|-HHHHHHHH-----|<.|##", + "###|--|cWWWW......r|m...sssssssssssssssssssssss....|^.............|--|##", + "######|c..........r|m...s999999999999999999999s....6..E..E..E..E..|#####", + "######|S..........r|m...s999999999999999999999s....6..............|#####", + "######|cDDDDrr....r|....s999999999999999999999s....G..E..E..E..E..|#####", + "######|--------=---|.ssss999999999999999999999s....6..............|#####", + "######|............|.swwwwww999999999999999999s....6...22222222...|#####", + "######|...$........|.swwwwww999999999999999999s....6...22222222...|#####", + "######|...$........|.swwwwwwsssssssssssssssssss....6...22222222...|#####", + "######|$$$$$PP$$$$.|.swwwwwws......................|..............|#####", + "######|............|^ssssssss..^rrr^..........mmmm^|...UF.mmm.mmm.|#####", + "######|------------|-------------------------------|--------------|#####", + "########################################################################" + ], + "palettes": [ "hotel_tower_palette.json" ], + "set": [ + { "point": "trap", "id": "tr_rollmat", "x": [ 56, 61 ], "y": 17, "repeat": [ 2, 4 ] }, + { "point": "trap", "id": "tr_rollmat", "x": [ 56, 61 ], "y": 18, "repeat": [ 2, 4 ] }, + { "point": "trap", "id": "tr_rollmat", "x": [ 56, 61 ], "y": 19, "repeat": [ 2, 4 ] } + ], + "terrain": { "=": "t_door_locked_interior", ".": "t_thconc_floor", "|": "t_concrete_wall", "-": "t_concrete_wall" }, + "vendingmachines": { "U": { "item_group": "vending_drink" }, "F": { "item_group": "vending_food" } }, + "items": { "l": { "item": "cleaning", "chance": 60 } }, + "item": { "r": { "item": "towel", "chance": 2, "amount": [ 1, 2 ] } }, + "toilets": { "&": { } }, + "place_monsters": [ + { "monster": "GROUP_HOTEL_POOL", "x": [ 24, 46 ], "y": [ 12, 19 ], "repeat": 2 }, + { "monster": "GROUP_HOTEL_GYM", "x": [ 52, 65 ], "y": [ 12, 21 ], "repeat": 2 } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": [ "hotel_tower_1_5B" ], + "weight": 250, + "object": { + "fill_ter": "t_floor", + "rows": [ + "_,_____________________,", + "_,_____________________,", + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "__sssssssssssssssssssss_", + "_,sssssssssssssssssssss,", + "_,sssssssssssssssssssss,", + "_,sss%HHHGGHHHGGHHH%sss,", + "_,sssH............^%sss,", + "_,sssH^............Hsss,", + "_,sss%cccc.........Hsss,", + "sssss%LL.c.........Hssss", + "sssss%...x......hh.%ssss", + "'''''%h..c......tt.H''''", + "'''''%D.r%......tt.H''''", + "''T''%%+%%......hh.H''T'", + "'''''%^............%''''", + "%%www%%...........%%www%", + "%....d|...........|d..ht", + "%c..BB|h.........h|BB..h", + "%c.LBB|t.........t|BB..c" + ], + "palettes": [ "hotel_tower_palette.json" ], + "terrain": { "+": [ "t_door_c", "t_door_c", "t_door_o" ], "w": "t_window_domestic", "x": "t_console_broken" }, + "furniture": { "D": "f_desk" }, "items": { "B": { "item": "bed", "chance": 50 }, "L": { "item": "hotel_luggage", "chance": 100 }, "c": { "item": "magazines", "chance": 15 }, - "d": { "item": "book_hotel_tower_bible", "chance": 2 }, - "o": { "item": "hotel_coffee_bar", "chance": 100 } + "d": { "item": "book_hotel_tower_bible", "chance": 2 } }, - "item": { "S": { "item": "towel", "chance": 3, "amount": [ 1, 2 ] } }, - "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 7, 23 ], "y": [ 0, 22 ], "repeat": 2 } ] + "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 0, 23 ], "y": [ 7, 23 ], "repeat": 2 } ], + "place_vehicles": [ { "vehicle": "luggage_cart", "x": [ 10, 15 ], "y": [ 11, 19 ], "chance": 100, "repeat": [ 1, 3 ] } ] } }, { "type": "mapgen", "method": "json", - "om_terrain": [ "hotel_tower_b_1" ], + "om_terrain": [ "hotel_tower_flr2_1_5B" ], "weight": 250, "object": { "fill_ter": "t_floor", "rows": [ - "|#######################", - "|#######################", - "|#######################", - "|#######################", - "|#######################", - "|#######################", - "|#################|--|##", - "|-----------------|..|##", - "tth..............^|..|##", - "..................+..|##", - "..................|..|##", - "...|-HHHHHHHH-----|<.|##", - "...|^.............|--|##", - "...V..E..E..E..E..|#####", - "...V..............|#####", - "...G..............|#####", - "...V..............|#####", - "...V..E.........E.|#####", - "...V..............|#####", - "...V..E...........|#####", - "...|..............|#####", - "th^|...ee..E......|#####", - "---|--------------|#####", - "########################" + "************************", + "************************", + "************************", + "************************", + "************************", + "************************", + "************************", + "************************", + "************************", + "************************", + "*****111111111111111****", + "*****111111111111111****", + "*****111111111111111****", + "*****111111111111111****", + "*****111111111000111****", + "*****111111111000111****", + "*****111111111000111****", + "*****111111111111111****", + "*****111111111111111****", + "*****111111111111111****", + "%%www%%%%H%HHHH%H%%%www%", + "|....d|...^jjjj^..|d..ht", + "|c..BB|h.........h|BB..h", + "|c.LBB|t.........t|BB..c" ], - "terrain": { - "#": "t_rock", - "+": "t_door_c", - "-": "t_wall", - "<": "t_stairs_up", - "G": "t_door_glass_c", - "H": "t_wall_glass", - "V": "t_wall_glass", - "|": "t_wall" + "palettes": [ "hotel_tower_palette.json" ], + "terrain": { "+": [ "t_door_c", "t_door_c", "t_door_o" ], "w": "t_window_domestic", "x": "t_console_broken" }, + "furniture": { "D": "f_desk" }, + "items": { + "B": { "item": "bed", "chance": 50 }, + "L": { "item": "hotel_luggage", "chance": 100 }, + "c": { "item": "magazines", "chance": 15 }, + "d": { "item": "book_hotel_tower_bible", "chance": 2 } }, - "furniture": { "E": "f_exercise", "^": "f_indoor_plant", "e": "f_fridge", "h": "f_chair", "t": "f_table" }, - "place_monsters": [ { "monster": "GROUP_HOTEL_GYM", "x": [ 4, 17 ], "y": [ 12, 21 ], "repeat": 2 } ] + "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 7, 23 ], "y": [ 21, 23 ] } ], + "place_vehicles": [ { "vehicle": "luggage_cart", "x": [ 10, 15 ], "y": [ 11, 19 ], "chance": 100, "repeat": [ 1, 3 ] } ] } }, { "type": "mapgen", "method": "json", - "om_terrain": [ "hotel_tower_b_2" ], + "om_terrain": [ "hotel_tower_1_5C" ], "weight": 250, "object": { "fill_ter": "t_floor", "rows": [ - "|-----|-----------|-----", - "|T+...|.rrr...l..l|...+T", - "|-|..c|..........l|c..|-", - "|T+..S|---|-+-|---|S..+T", - "|-|..c|EEE+..^|xEE|c..|-", - "|.+..S|EEE+...+EEE|S..+.", - "|T|..c|EEx|...+EEE|c..|T", - "|---+-|---|HGH|---|-+---", - "h......................h", - "........................", - "........................", - "........................", - "sssssssssssssssssssssss.", - "swwwwwwwwwwwwWWWWWWWWWs.", - "swwwwwwwwwwwwWWWWWWWWWs.", - "swwwwwwwwwwwwWWWWWWWWWs.", - "swwwwwwwwwwwwWWWWWWWWWs.", - "swwwwwwwwwwwwWWWWWWWWWs.", - "swwwwwwwwwwwwWWWWWWWWWs.", - "sssssssssssssssssssssss.", - "........................", - ".......^rrr^..........ht", - "------------------------", - "########################" + "________________________", + "________________________", + "________________________", + "________________________", + "________________________", + "__,,,,,,,,,,,,,,,,,,,,,_", + "___X_____X_____X_____X__", + "________________________", + "________________________", + "________________________", + "_____________V__________", + "________________________", + "________________________", + "___MMMMMMsssssssMMMMMM__", + "sssXsssssssssssssssssXss", + "sssss%%%%HGGHGGH%%%%ssss", + "'''''%.............%''''", + "'''''H.............H''''", + "''T''H....ccccc....H''T'", + "'''''%^...cDxDc...^%''''", + "%%www%%......hc...%%www%", + "|....d|...ccccc...|d..ht", + "|c..BB|...........|BB..h", + "|c.LBB|h.........h|BB..c" ], + "palettes": [ "hotel_tower_palette.json" ], "terrain": { - "#": "t_rock", - "+": "t_door_c", - "-": "t_wall", - "E": "t_elevator", + "+": [ "t_door_c", "t_door_c", "t_door_o" ], "G": "t_door_glass_c", - "H": "t_wall_glass", - "W": "t_water_dp", - "s": "t_sidewalk", - "w": "t_water_sh", - "x": "t_elevator_control_off", - "|": "t_wall" + "w": "t_window_domestic", + "V": "t_pavement", + "x": "t_console_broken" }, - "furniture": { - "S": "f_sink", - "T": "f_toilet", - "^": "f_indoor_plant", - "c": "f_counter", - "h": "f_chair", - "l": "f_locker", - "r": "f_rack", - "t": "f_table" + "furniture": { "D": "f_desk" }, + "items": { + "B": { "item": "bed", "chance": 50 }, + "L": { "item": "hotel_luggage", "chance": 100 }, + "c": { "item": "magazines", "chance": 15 }, + "d": { "item": "book_hotel_tower_bible", "chance": 2 } }, - "toilets": { "T": { } }, - "items": { "l": { "item": "cleaning", "chance": 60 } }, - "item": { "r": { "item": "towel", "chance": 2, "amount": [ 1, 2 ] } }, - "place_monsters": [ { "monster": "GROUP_HOTEL_POOL", "x": [ 0, 22 ], "y": [ 12, 19 ], "repeat": 2 } ] + "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 0, 23 ], "y": [ 7, 23 ], "repeat": 2 } ], + "place_vehicles": [ { "vehicle": "luggage_cart", "x": [ 3, 21 ], "y": [ 16, 17 ], "chance": 100, "repeat": [ 1, 3 ] } ], + "vehicles": { "V": { "vehicle": "suburban_home", "chance": 100, "rotation": 180 } } } }, { "type": "mapgen", "method": "json", - "om_terrain": [ "hotel_tower_b_3" ], + "om_terrain": [ "hotel_tower_flr2_1_5C" ], "weight": 250, "object": { "fill_ter": "t_floor", "rows": [ - "########################", - "########################", - "########################", - "########################", - "########################", - "########################", - "###|--|#################", - "###|..|-----------------", - "###|..|^.............htt", - "###|..+.................", - "###|..|.................", - "###|.<|-------++---|....", - "###|--|cWWWW......r|....", - "######|c..........r|....", - "######|S..........r|....", - "######|cDDDDrr....r|....", - "######|--------=---|....", - "######|............|....", - "######|...$........|....", - "######|...$........|....", - "######|$$$$$PP$$$$.|....", - "######|............|^...", - "######|------------|----", - "########################" + "************************", + "************************", + "************************", + "************************", + "************************", + "************************", + "***1111111111111111111**", + "***1000000000000000001**", + "***1000000000000000001**", + "***1000000000000000001**", + "***1000000000000000001**", + "***1000000000000000001**", + "***1000000000000000001**", + "***1000000000000000001**", + "***1111111111111111111**", + "*****111111111111111****", + "*****111111111111111****", + "*****111111111111111****", + "*****111111111111111****", + "*****111111111111111****", + "%%www%%%H%%HHHH%%H%%www%", + "|....d|...^jjjj^..|d..ht", + "|c..BB|h.........h|BB..h", + "|c.LBB|t.........t|BB..c" ], + "palettes": [ "hotel_tower_palette.json" ], "terrain": { - "#": "t_rock", - "$": "t_sewage_pipe", - "+": "t_door_c", - "-": "t_wall", - "<": "t_stairs_up", - "=": "t_door_locked_interior", - "P": "t_sewage_pump", - "|": "t_wall" - }, - "furniture": { - "D": "f_dryer", - "S": "f_sink", - "W": "f_washer", - "^": "f_indoor_plant", - "c": "f_counter", - "h": "f_chair", - "r": "f_rack", - "t": "f_table" + "+": [ "t_door_c", "t_door_c", "t_door_o" ], + "G": "t_door_glass_c", + "w": "t_window_domestic", + "x": "t_console_broken" }, + "furniture": { "D": "f_desk" }, "items": { - "D": { "item": "dresser", "chance": 25 }, - "W": { "item": "dresser", "chance": 25 }, - "r": { "item": "home_hw", "chance": 60 } + "B": { "item": "bed", "chance": 50 }, + "L": { "item": "hotel_luggage", "chance": 100 }, + "c": { "item": "magazines", "chance": 15 }, + "d": { "item": "book_hotel_tower_bible", "chance": 2 } }, - "item": { "D": { "item": "blanket", "chance": 12 }, "W": { "item": "blanket", "chance": 12 } } + "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 7, 23 ], "y": [ 21, 23 ] } ] } } ] diff --git a/data/json/mapgen/house/house_w_1.json b/data/json/mapgen/house/house_w_1.json index fdd0d031ba932..cb7814bc0ddc4 100644 --- a/data/json/mapgen/house/house_w_1.json +++ b/data/json/mapgen/house/house_w_1.json @@ -7,31 +7,32 @@ "fill_ter": "t_floor", "rows": [ "..........Gss...........", - ".||oooo||CsssssC........", - ".|5 +sssssssss......", - ".| ||o|oo||.s......", - ".o |4 |.s......", - ".| | |.s......", - ".| o.ss.....", - ".o7 o..s.....", - ".| | |..s.....", - ".| | |..s.....", - ".|||||| | ||||||.ss.....", - ".|1 | | yJJl|ssss.....", - ".| | | +ssss.....", - ".o | | AJ Yoss.......", - ".| + + AJ K|.........", - ".||+||| | i|.........", - ".|OO| + |yKKnK|.........", - ".|||| |+||||o||.........", - ".|2 | TT|.............", - ".| |j o.............", - ".| |||+|.............", - ".| +O|t|.............", - ".|||o||||||.............", + ".##oooo##CsssssC........", + ".#5 *sssssssss......", + ".# ##o#oo##ps......", + ".o |4 #ps......", + ".# | #ps......", + ".# opss.....", + ".o7 opXs.....", + ".# | #p.s.....", + ".# | #p.s.....", + ".#||||| | ||||##pss.....", + ".#1 | | yJJl#ssss.....", + ".# | | *ssss.....", + ".o | | AJ Yossps.....", + ".# + + AJ K###ps.....", + ".#|+||| | i#g*ss.....", + ".#OO| + |yKKnK###.s.....", + ".#||| |+||##o##.........", + ".#2 | TT#^............", + ".# |j o.............", + ".# |||+#.............", + ".# +O|t#.............", + ".###o######.............", "........................" ], "palettes": [ "house_w_foundation_palette" ], + "terrain": { "#": "t_brick_wall" }, "nested": { "1": { "chunks": [ @@ -77,7 +78,56 @@ [ "bonus_room_3x3_W_8", 50 ] ] } - } + }, + "place_nested": [ + { + "chunks": [ + [ "null", 40 ], + [ "roof_6x6_garden_4", 5 ], + [ "roof_6x6_garden_1", 15 ], + [ "greenhouse_6x6_herbal", 10 ], + [ "pond_6x6", 15 ] + ], + "x": 16, + "y": 17 + } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "house_w_1_roof", + "object": { + "fill_ter": "t_shingle_flat_roof", + "rows": [ + " ", + " |2222223 ", + " |......3 ", + " |......32222223 ", + " |.............3 ", + " |.............3 ", + " |.............3 ", + " |.............3 ", + " |.............3 ", + " |.............3 ", + " |............-3 ", + " |............3 ", + " |............3 ", + " |............3 ", + " |............323 ", + " |..............3 ", + " |............--3 ", + " |........5---- ", + " |........3 ", + " |........3 ", + " |........3 ", + " |........3 ", + " |--------3 ", + " " + ], + "palettes": [ "roof_palette" ], + "terrain": { ".": "t_shingle_flat_roof" } } } ] diff --git a/data/json/mapgen/house/house_w_2.json b/data/json/mapgen/house/house_w_2.json index 5064fb663619b..3320871ce0cbb 100644 --- a/data/json/mapgen/house/house_w_2.json +++ b/data/json/mapgen/house/house_w_2.json @@ -1,69 +1,123 @@ -{ - "type": "mapgen", - "method": "json", - "om_terrain": "house_w_2", - "object": { - "fill_ter": "t_floor", - "rows": [ - "........G.sss...........", - "...CsssCssssssCsssC.....", - "...ssssssssssssssss.....", - "..||o|o|||+|||o||o||....", - "..|1 | a|5 6 |....", - "..| | I| |....", - "..| | I| |....", - "..| + |||| |||....", - "..||+|||| |....", - "..|O O| + 7 o....", - "..||||||| 8 o....", - "..|4 |....", - "..o | |||||||||....", - "..| | y| tT|.......", - "..o | + To.......", - "..| | |j |.......", - "..||+|||||+||||+|.......", - "..|J K|2 |w|.......", - "..|J L K| |||.......", - "..on L i| |O|.......", - "..|J K| + |.......", - "..|lJJ a| |O|.......", - "..||o|+|||o||||||.......", - "...ssssss..............." - ], - "palettes": [ "house_w_foundation_palette" ], - "nested": { - "1": { "chunks": [ [ "bedroom_4x4_adult_1_N", 20 ] ] }, - "2": { - "chunks": [ - [ "bedroom_5x5_adult_S_1", 50 ], - [ "bedroom_5x5_adult_W_1", 50 ], - [ "bedroom_5x5_adult_N_2", 50 ], - [ "bedroom_5x5_adult_S_2", 50 ], - [ "bedroom_5x5_adult_E_2", 50 ], - [ "bedroom_5x5_adult_W_2", 50 ] - ] +[ + { + "type": "mapgen", + "method": "json", + "om_terrain": "house_w_2", + "object": { + "fill_ter": "t_floor", + "rows": [ + "..MMppMMMGsssMMMppMM....", + "..MCsssCssssssCsssCM....", + "...ssssssssssssssss.....", + "..##o#o###+###o##o##....", + "..#1 | a|5 6 #....", + "..# | I| #....", + "..# | I| #....", + "..# + |||| ||#....", + "..#|+|||| 8 #....", + "..#O O| + 7 o....", + "..#|||||| o....", + "..#4 #....", + "..o | |||||####....", + "..# | y| tT#^......", + "..o | + To.......", + "..# | |j #.......", + "..#|+|||||+||||+#.......", + "..#J K|2 |w#.......", + "..#J L K| ||#.......", + "..on L i| |O#.......", + "..#J K| + #.......", + "..#lJJ a| |O#.......", + "..##o#+###o######.......", + "...ssssss..............." + ], + "palettes": [ "house_w_foundation_palette" ], + "terrain": { "#": "t_adobe_brick_wall" }, + "nested": { + "1": { "chunks": [ [ "bedroom_4x4_adult_1_N", 20 ] ] }, + "2": { + "chunks": [ + [ "bedroom_5x5_adult_S_1", 50 ], + [ "bedroom_5x5_adult_W_1", 50 ], + [ "bedroom_5x5_adult_N_2", 50 ], + [ "bedroom_5x5_adult_S_2", 50 ], + [ "bedroom_5x5_adult_E_2", 50 ], + [ "bedroom_5x5_adult_W_2", 50 ] + ] + }, + "4": { "chunks": [ [ "diningroom_5x5_N_S", 50 ], [ "diningroom_5x5_E_W", 50 ] ] }, + "5": { + "chunks": [ + [ "bonus_room_2x2_1", 50 ], + [ "bonus_room_2x2_2", 50 ], + [ "bonus_room_2x2_4_W", 50 ], + [ "bonus_room_3x3_1", 50 ], + [ "bonus_room_3x3_2", 50 ] + ] + }, + "6": { + "chunks": [ + [ "bonus_room_3x3_4", 50 ], + [ "bonus_room_3x3_N_6", 50 ], + [ "bonus_room_3x3_E_6", 50 ], + [ "bonus_room_3x3_N_8", 50 ], + [ "bonus_room_3x3_E_8", 50 ] + ] + }, + "7": { "chunks": [ [ "bonus_room_3x3_S_5", 50 ], [ "bonus_room_3x3_E_5", 50 ] ] }, + "8": { "chunks": [ [ "bonus_room_2x2_1", 50 ], [ "bonus_room_2x2_2", 50 ] ] } }, - "4": { "chunks": [ [ "diningroom_5x5_N_S", 50 ], [ "diningroom_5x5_E_W", 50 ] ] }, - "5": { - "chunks": [ - [ "bonus_room_2x2_1", 50 ], - [ "bonus_room_2x2_2", 50 ], - [ "bonus_room_2x2_4_W", 50 ], - [ "bonus_room_3x3_1", 50 ], - [ "bonus_room_3x3_2", 50 ] - ] - }, - "6": { - "chunks": [ - [ "bonus_room_3x3_4", 50 ], - [ "bonus_room_3x3_N_6", 50 ], - [ "bonus_room_3x3_E_6", 50 ], - [ "bonus_room_3x3_N_8", 50 ], - [ "bonus_room_3x3_E_8", 50 ] - ] - }, - "7": { "chunks": [ [ "bonus_room_3x3_5", 50 ] ] }, - "8": { "chunks": [ [ "bonus_room_2x2_1", 50 ], [ "bonus_room_2x2_2", 50 ] ] } + "place_nested": [ + { + "chunks": [ + [ "null", 30 ], + [ "reflecting_pool_5x5_1", 10 ], + [ "reflecting_pool_5x5_2", 10 ], + [ "playset_4x4_1", 10 ], + [ "playset_4x4_2", 10 ], + [ "firepit_5x5_1", 10 ], + [ "firepit_5x5_2", 10 ] + ], + "x": 18, + "y": [ 14, 17 ] + } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "house_w_2_roof", + "object": { + "fill_ter": "t_shingle_flat_roof", + "rows": [ + " ", + " ................ ", + " ................ ", + " |22222222222222223 ", + " |................3 ", + " |................3 ", + " |................3 ", + " |................3 ", + " |................3 ", + " |................3 ", + " |................3 ", + " |................3 ", + " |.............5--3 ", + " |.............3 ", + " |.............3 ", + " |.............3 ", + " |.............3 ", + " |.............3 ", + " |.............3 ", + " |.............3 ", + " |.............3 ", + " |.............3 ", + " |-------------3 ", + " " + ], + "palettes": [ "roof_palette" ], + "terrain": { ".": "t_shingle_flat_roof" } } } -} +] diff --git a/data/json/mapgen/house/house_w_3.json b/data/json/mapgen/house/house_w_3.json index 1caa1966a57cd..c8b80e0d6249f 100644 --- a/data/json/mapgen/house/house_w_3.json +++ b/data/json/mapgen/house/house_w_3.json @@ -1,85 +1,144 @@ -{ - "type": "mapgen", - "method": "json", - "om_terrain": "house_w_3", - "object": { - "fill_ter": "t_floor", - "rows": [ - "......G..ss.............", - ".........ss.............", - "......CssssssC..........", - "......ssssssss..........", - "......ssssssss..........", - "||o|o|||o++o|||ooo||....", - "|1 | |6 y|s...", - "| |5 | 7 +s...", - "| | + |s...", - "o | |a |....", - "| + |||||||....", - "|+||||| + d|v|....", - "|O|O|w+ |j t|Q|....", - "|||+|||4 |||||+|....", - "|2 + |QQQY |....", - "o | no....", - "| | |J K|....", - "| | |J i|....", - "| | |lnJJK|....", - "||||o|||o||o|||o||||....", - "........................", - "........................", - "........................", - "........................" - ], - "palettes": [ "house_w_foundation_palette" ], - "nested": { - "1": { - "chunks": [ - [ "bedroom_5x5_adult_N_1", 50 ], - [ "bedroom_5x5_adult_S_1", 50 ], - [ "bedroom_5x5_adult_N_2", 50 ], - [ "bedroom_5x5_adult_S_2", 50 ], - [ "bedroom_5x5_adult_E_2", 50 ], - [ "bedroom_5x5_adult_W_2", 50 ] - ] +[ + { + "type": "mapgen", + "method": "json", + "om_terrain": "house_w_3", + "object": { + "fill_ter": "t_floor", + "rows": [ + "........Gss.............", + ".........ss.............", + "......CssssssC..........", + ".....MssssssssM.........", + "..pppMssssssssMppp......", + "##o#o###o**o###ooo##....", + "#1 | |6 y#s...", + "# |5 | 7 *s...", + "# | + #sss.", + "o | |a #pps.", + "# + ||||||###s.", + "#||+||| + d|v|U*s.", + "#O|O|w+ |j t|Q|g#..", + "#+|||||4 |||||+###..", + "#2 + |QQQY #^...", + "o | no....", + "# | |J K#....", + "# | |J i#....", + "# | |lnJJK#....", + "####o###o##o###o####....", + "........................", + "........................", + "........................", + "........................" + ], + "palettes": [ "house_w_foundation_palette" ], + "terrain": { "#": "t_rock_wall" }, + "nested": { + "1": { + "chunks": [ + [ "bedroom_5x5_adult_N_1", 50 ], + [ "bedroom_5x5_adult_N_2", 50 ], + [ "bedroom_5x5_adult_E_2", 50 ], + [ "bedroom_5x5_adult_W_2", 50 ] + ] + }, + "2": { + "chunks": [ + [ "bedroom_5x5_adult_S_1", 50 ], + [ "bedroom_5x5_adult_E_1", 50 ], + [ "bedroom_5x5_adult_W_1", 50 ], + [ "bedroom_5x5_adult_S_2", 50 ], + [ "bedroom_5x5_adult_E_2", 50 ], + [ "bedroom_5x5_adult_W_2", 50 ] + ] + }, + "4": { + "chunks": [ + [ "diningroom_6x6_N_S_1A", 20 ], + [ "diningroom_6x6_E_W_1", 20 ], + [ "diningroom_6x6_E_W_2", 20 ], + [ "diningroom_6x6_N_S_2", 20 ] + ] + }, + "5": { "chunks": [ [ "livingroom_5x5_N_1", 20 ], [ "livingroom_5x5_S_1", 20 ] ] }, + "6": { + "chunks": [ + [ "bonus_room_2x2_1", 50 ], + [ "bonus_room_2x2_2", 50 ], + [ "bonus_room_2x2_4_W", 50 ], + [ "bonus_room_2x2_4_N", 50 ], + [ "bonus_room_3x3_1", 50 ], + [ "bonus_room_3x3_2", 50 ] + ] + }, + "7": { + "chunks": [ + [ "bonus_room_3x3_4", 50 ], + [ "bonus_room_3x3_W_6", 50 ], + [ "bonus_room_3x3_S_6", 50 ], + [ "bonus_room_3x3_W_8", 50 ], + [ "bonus_room_3x3_S_8", 50 ] + ] + } }, - "2": { - "chunks": [ - [ "bedroom_5x5_adult_S_1", 50 ], - [ "bedroom_5x5_adult_E_1", 50 ], - [ "bedroom_5x5_adult_W_1", 50 ], - [ "bedroom_5x5_adult_S_2", 50 ], - [ "bedroom_5x5_adult_E_2", 50 ], - [ "bedroom_5x5_adult_W_2", 50 ] - ] - }, - "4": { - "chunks": [ - [ "diningroom_6x6_N_S_1A", 20 ], - [ "diningroom_6x6_E_W_1", 20 ], - [ "diningroom_6x6_E_W_2", 20 ], - [ "diningroom_6x6_N_S_2", 20 ] - ] - }, - "5": { "chunks": [ [ "livingroom_5x5_N_1", 20 ], [ "livingroom_5x5_S_1", 20 ] ] }, - "6": { - "chunks": [ - [ "bonus_room_2x2_1", 50 ], - [ "bonus_room_2x2_2", 50 ], - [ "bonus_room_2x2_4_W", 50 ], - [ "bonus_room_2x2_4_N", 50 ], - [ "bonus_room_3x3_1", 50 ], - [ "bonus_room_3x3_2", 50 ] - ] - }, - "7": { - "chunks": [ - [ "bonus_room_3x3_4", 50 ], - [ "bonus_room_3x3_W_6", 50 ], - [ "bonus_room_3x3_S_6", 50 ], - [ "bonus_room_3x3_W_8", 50 ], - [ "bonus_room_3x3_S_8", 50 ] - ] - } + "place_nested": [ + { + "chunks": [ [ "null", 30 ], [ "garden_3x3_1", 20 ], [ "garden_3x3_2", 20 ], [ "garden_3x3_3", 20 ] ], + "x": 2, + "y": 21 + }, + { + "chunks": [ [ "null", 30 ], [ "garden_3x3_1", 20 ], [ "garden_3x3_2", 20 ], [ "garden_3x3_3", 20 ] ], + "x": 6, + "y": 21 + }, + { + "chunks": [ [ "null", 30 ], [ "garden_3x3_1", 20 ], [ "garden_3x3_2", 20 ], [ "garden_3x3_3", 20 ] ], + "x": 10, + "y": 21 + }, + { + "chunks": [ [ "null", 30 ], [ "garden_3x3_1", 20 ], [ "garden_3x3_2", 20 ], [ "garden_3x3_3", 20 ] ], + "x": 14, + "y": 21 + } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "house_w_3_roof", + "object": { + "fill_ter": "t_shingle_flat_roof", + "rows": [ + " ", + " ", + " ........ ", + " ........ ", + " ........ ", + "|2222222222222222223 ", + "|..................3 ", + "|..................3 ", + "|..................3 ", + "|..................3 ", + "|..................223 ", + "|....................3 ", + "|....................3 ", + "|..................5-3 ", + "|..................3 ", + "|..................3 ", + "|..................3 ", + "|..................3 ", + "|..................3 ", + "|------------------3 ", + " ", + " ", + " ", + " " + ], + "palettes": [ "roof_palette" ], + "terrain": { ".": "t_shingle_flat_roof" } } } -} +] diff --git a/data/json/mapgen/house/house_w_4.json b/data/json/mapgen/house/house_w_4.json index a10779b3bdb41..6578f0ba210f7 100644 --- a/data/json/mapgen/house/house_w_4.json +++ b/data/json/mapgen/house/house_w_4.json @@ -1,73 +1,130 @@ -{ - "type": "mapgen", - "method": "json", - "om_terrain": "house_w_4", - "object": { - "fill_ter": "t_floor", - "rows": [ - ".........sG.............", - ".........s..............", - "........sss.............", - "...||ooo|+||oo|o|.......", - "...|5 |R 7 |.......", - "...| |R o.......", - "...| o.......", - "...| |6 o.......", - "...| | |.......", - ".|o|||||||||| |||.......", - ".|4 |KKlKy J|........", - ".o io........", - ".o A no........", - ".o |a JJJ |........", - ".| ||+||||+|........", - ".|o||||| |Q |........", - "...|w + |QQ|........", - "...||||||| |||||||.....", - "...|1 + +2 |.....", - "...o ||+| |.....", - "...| |t | |.....", - "...| |T | |.....", - "...| |Tj| |.....", - "...||||o|||o||o||||....." - ], - "palettes": [ "house_w_foundation_palette" ], - "nested": { - "1": { - "chunks": [ - [ "bedroom_5x5_adult_N_1", 50 ], - [ "bedroom_5x5_adult_W_1", 50 ], - [ "bedroom_5x5_adult_N_2", 50 ], - [ "bedroom_5x5_adult_S_2", 50 ], - [ "bedroom_5x5_adult_E_2", 50 ], - [ "bedroom_5x5_adult_W_2", 50 ] - ] +[ + { + "type": "mapgen", + "method": "json", + "om_terrain": "house_w_4", + "object": { + "fill_ter": "t_floor", + "rows": [ + ".........sG.............", + "..$.....psp......$....$.", + ".......MsssM............", + "...##ooo#*##oo#o#...$...", + "...#5 |R 7 #.......", + "...# |R oM..$...", + "...# oM......", + "...# |6 oM......", + "...# | #.......", + ".#o#||||||||| |##.......", + ".#4 |KKlKy J#........", + "Mo iop.......", + "Mo AAA nop.......", + "Mo |a JJJ #........", + ".# ||+||||+#........", + ".#o#|+||y RR|Q #........", + "..^#W Z| R|QQ#........", + "...#|||||| |||####.....", + ".$.#1 + +2 #.....", + "...o ||+| o.....", + "...# |t | #.....", + ".$.# |T | o.....", + "...# |Tj| #.....", + "$..####o###o##o####....." + ], + "palettes": [ "house_w_foundation_palette" ], + "terrain": { "#": "t_brick_wall" }, + "nested": { + "1": { + "chunks": [ + [ "bedroom_5x5_adult_W_1", 50 ], + [ "bedroom_5x5_adult_N_2", 50 ], + [ "bedroom_5x5_adult_S_2", 50 ], + [ "bedroom_5x5_adult_E_2", 50 ], + [ "bedroom_5x5_adult_W_2", 50 ] + ] + }, + "2": { + "chunks": [ + [ "bedroom_5x5_adult_N_1", 50 ], + [ "bedroom_5x5_adult_S_1", 50 ], + [ "bedroom_5x5_adult_E_1", 50 ], + [ "bedroom_5x5_adult_N_2", 50 ], + [ "bedroom_5x5_adult_S_2", 50 ], + [ "bedroom_5x5_adult_E_2", 50 ], + [ "bedroom_5x5_adult_W_2", 50 ] + ] + }, + "4": { "chunks": [ [ "diningroom_5x5_N_S", 50 ], [ "diningroom_5x5_E_W", 50 ] ] }, + "5": { "chunks": [ [ "livingroom_5x5_S_1", 20 ], [ "livingroom_5x5_E_1", 20 ], [ "livingroom_5x5_W_1", 20 ] ] }, + "6": { + "chunks": [ [ "bonus_room_2x2_1", 50 ], [ "bonus_room_2x2_2", 50 ], [ "bonus_room_2x2_4_S", 50 ], [ "bonus_room_2x2_4_W", 50 ] ] + }, + "7": { + "chunks": [ + [ "bonus_room_3x3_4", 40 ], + [ "bonus_room_3x3_E_6", 20 ], + [ "bonus_room_3x3_N_6", 20 ], + [ "bonus_room_3x3_E_8", 30 ], + [ "bonus_room_3x3_N_8", 30 ] + ] + } }, - "2": { - "chunks": [ - [ "bedroom_5x5_adult_N_1", 50 ], - [ "bedroom_5x5_adult_S_1", 50 ], - [ "bedroom_5x5_adult_E_1", 50 ], - [ "bedroom_5x5_adult_W_1", 50 ], - [ "bedroom_5x5_adult_N_2", 50 ], - [ "bedroom_5x5_adult_S_2", 50 ], - [ "bedroom_5x5_adult_E_2", 50 ], - [ "bedroom_5x5_adult_W_2", 50 ] - ] - }, - "4": { "chunks": [ [ "diningroom_5x5_N_S", 50 ], [ "diningroom_5x5_E_W", 50 ] ] }, - "5": { "chunks": [ [ "livingroom_5x5_S_1", 20 ], [ "livingroom_5x5_E_1", 20 ], [ "livingroom_5x5_W_1", 20 ] ] }, - "6": { - "chunks": [ [ "bonus_room_2x2_1", 50 ], [ "bonus_room_2x2_2", 50 ], [ "bonus_room_2x2_4_S", 50 ], [ "bonus_room_2x2_4_W", 50 ] ] - }, - "7": { - "chunks": [ - [ "bonus_room_3x3_4", 40 ], - [ "bonus_room_3x3_E_6", 20 ], - [ "bonus_room_3x3_N_6", 20 ], - [ "bonus_room_3x3_E_8", 30 ], - [ "bonus_room_3x3_N_8", 30 ] - ] - } + "place_nested": [ + { + "chunks": [ + [ "null", 50 ], + [ "reflecting_pool_5x5_1", 5 ], + [ "reflecting_pool_5x5_2", 5 ], + [ "playset_4x4_1", 10 ], + [ "playset_4x4_2", 10 ], + [ "firepit_5x5_1", 10 ], + [ "firepit_5x5_2", 10 ] + ], + "x": 18, + "y": [ 9, 12 ] + }, + { + "chunks": [ [ "null", 40 ], [ "garden_3x3_1", 20 ], [ "garden_3x3_2", 20 ], [ "garden_3x3_3", 20 ] ], + "x": 20, + "y": 19 + } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "house_w_4_roof", + "object": { + "fill_ter": "t_shingle_flat_roof", + "rows": [ + " ", + " ", + " ", + " |2222222222223 ", + " |............3 ", + " |............3 ", + " |............3 ", + " |............3 ", + " |............3 ", + " |22...........33 ", + " |.............3 ", + " |.............3 ", + " |.............3 ", + " |.............3 ", + " |.............3 ", + " |-5...&.......3 ", + " |...........3 ", + " |...........3223 ", + " |..............3 ", + " |..............3 ", + " |..............3 ", + " |..............3 ", + " |..............3 ", + " |--------------3 " + ], + "palettes": [ "roof_palette" ], + "terrain": { ".": "t_shingle_flat_roof" } } } -} +] diff --git a/data/json/mapgen/house/house_w_5.json b/data/json/mapgen/house/house_w_5.json index c16fb33b7e276..2c08e21beaeea 100644 --- a/data/json/mapgen/house/house_w_5.json +++ b/data/json/mapgen/house/house_w_5.json @@ -1,75 +1,128 @@ -{ - "type": "mapgen", - "method": "json", - "om_terrain": "house_w_5", - "object": { - "fill_ter": "t_floor", - "rows": [ - "........ss...G...ss.ss..", - "......CssssC.....ss.ss..", - ".....ssssssss....ss.ssu.", - "..||oo||+||||o|||xxxxx||", - "..|5 |y7 |~~~~~~u|", - "..| |~~~~~~U|", - "..| Y |~~~~~~~o", - "..| ||||||~~~~~~U|", - "..| +w| t|~~~~~~~o", - "..|||||| |||+||~~~~~~U|", - "..|4 +~~~~~UU|", - "..o ||||||||~|o||||", - "..o | 1 |sss.....", - "..o | o........", - "..| | o........", - "||| ||| | |........", - "|lK |+|||+|........", - "oK J| |O|O|........", - "on i||+|+|+|||........", - "|K Jy |t |6 |........", - "|| || |T | 3 o........", - "|QLQ| |Tj| |........", - "||o||+||o|||o|||........", - "....ssss................" - ], - "palettes": [ "house_w_foundation_palette" ], - "terrain": { "U": "t_thconc_floor" }, - "nested": { - "1": { - "chunks": [ - [ "bedroom_4x4_adult_1_E", 20 ], - [ "bedroom_4x4_adult_1_N", 20 ], - [ "bedroom_4x4_adult_2_E", 20 ], - [ "bedroom_4x4_adult_2_N", 20 ] - ] +[ + { + "type": "mapgen", + "method": "json", + "om_terrain": "house_w_5", + "object": { + "fill_ter": "t_floor", + "rows": [ + "...$....ssG......ss.ss..", + ".$...MCssssCM..$.ss.ss..", + "....MssssssssM...ss.ssu.", + "..##oo##*####o###xxxxx%#", + "..#5 |y7 #~~~~~~u#", + "..# #~~~~~~U#", + "..# Y #~~~~~~~o", + "..# |||||#~~~~~~U#", + "..# +w| t#~~~~~~~o", + "..#||||| |||+|#~~~~~~U#", + "..#4 *~~~~~UU#", + ".Mo ||||||##~#o####", + ".po | 1 #sssssss.", + ".Mo | oMsp$pss.", + ".^# | opssssss.", + "### ||| | #........", + "#lK |+|||+#........", + "oK J| |O|O#........", + "on i||+|+|+||#........", + "#K Jy |t |6 #........", + "#| || |T | 3 o........", + "#QLQ| |Tj| #........", + "##o##*##o###o###........", + "..M.ssss................" + ], + "palettes": [ "house_w_foundation_palette" ], + "terrain": { "#": "t_adobe_brick_wall", "U": "t_thconc_floor", "%": "t_wall_w" }, + "place_vehicles": [ + { "vehicle": "showroom_small_vehicles", "x": 17, "y": 7, "rotation": 270, "chance": 20, "status": 0 }, + { "vehicle": "showroom_small_vehicles", "x": 19, "y": 7, "rotation": 270, "chance": 20, "status": 0 } + ], + "nested": { + "1": { + "chunks": [ + [ "bedroom_4x4_adult_1_E", 20 ], + [ "bedroom_4x4_adult_1_N", 20 ], + [ "bedroom_4x4_adult_2_E", 20 ], + [ "bedroom_4x4_adult_2_N", 20 ] + ] + }, + "4": { "chunks": [ [ "diningroom_5x5_N_S", 50 ], [ "diningroom_5x5_E_W", 50 ] ] }, + "3": { + "chunks": [ [ "bonus_room_2x2_2", 50 ], [ "bonus_room_2x2_3", 50 ], [ "bonus_room_2x2_4_S", 50 ], [ "bonus_room_2x2_4_E", 50 ] ] + }, + "5": { + "chunks": [ + [ "livingroom_5x5_N_1", 20 ], + [ "livingroom_5x5_S_1", 20 ], + [ "livingroom_5x5_E_1", 20 ], + [ "livingroom_5x5_W_1", 20 ] + ] + }, + "6": { + "chunks": [ [ "bonus_room_3x3_1", 40 ], [ "bonus_room_3x3_S_5", 20 ], [ "bonus_room_3x3_E_7", 40 ], [ "bonus_room_3x3_S_7", 40 ] ] + }, + "7": { + "chunks": [ + [ "bonus_room_3x3_4", 20 ], + [ "bonus_room_3x3_E_6", 20 ], + [ "bonus_room_3x3_S_6", 20 ], + [ "bonus_room_3x3_E_8", 30 ], + [ "bonus_room_3x3_S_8", 30 ] + ] + } }, - "4": { "chunks": [ [ "diningroom_5x5_N_S", 50 ], [ "diningroom_5x5_E_W", 50 ] ] }, - "3": { - "chunks": [ [ "bonus_room_2x2_2", 50 ], [ "bonus_room_2x2_3", 50 ], [ "bonus_room_2x2_4_S", 50 ], [ "bonus_room_2x2_4_E", 50 ] ] - }, - "5": { - "chunks": [ - [ "livingroom_5x5_N_1", 20 ], - [ "livingroom_5x5_S_1", 20 ], - [ "livingroom_5x5_E_1", 20 ], - [ "livingroom_5x5_W_1", 20 ] - ] - }, - "6": { - "chunks": [ - [ "bonus_room_3x3_1", 100 ], - [ "bonus_room_3x3_S_5", 20 ], - [ "bonus_room_3x3_E_7", 40 ], - [ "bonus_room_3x3_S_7", 40 ] - ] - }, - "7": { - "chunks": [ - [ "bonus_room_3x3_4", 20 ], - [ "bonus_room_3x3_E_6", 20 ], - [ "bonus_room_3x3_S_6", 20 ], - [ "bonus_room_3x3_E_8", 30 ], - [ "bonus_room_3x3_S_8", 30 ] - ] - } + "place_nested": [ + { + "chunks": [ + [ "null", 50 ], + [ "roof_6x6_garden_4", 15 ], + [ "roof_6x6_garden_1", 15 ], + [ "greenhouse_6x6_herbal", 25 ], + [ "greenhouse_6x6_vegetable", 25 ], + [ "pond_6x6", 25 ], + [ "shed_6x6_junk", 25 ], + [ "shed_6x6_woodworker", 25 ] + ], + "x": 17, + "y": 15 + } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "house_w_5_roof", + "object": { + "fill_ter": "t_shingle_flat_roof", + "rows": [ + " ", + " ...... ", + " ...... ", + " |222222222222222222223", + " |....................3", + " |.X..................3", + " |....................3", + " |.........&..........3", + " |....................3", + " |....................3", + " |....................3", + " |............3-------3", + " |............3 ", + " |............3 ", + " |............3 ", + "|25............3 ", + "|..............3 ", + "|..............3 ", + "|..............3 ", + "|..............3 ", + "|......=.......3 ", + "|..............3 ", + "|--------------3 ", + " " + ], + "palettes": [ "roof_palette" ], + "terrain": { ".": "t_shingle_flat_roof" } } } -} +] diff --git a/data/json/mapgen/house/house_w_6.json b/data/json/mapgen/house/house_w_6.json new file mode 100644 index 0000000000000..6ff717ee0d8d2 --- /dev/null +++ b/data/json/mapgen/house/house_w_6.json @@ -0,0 +1,187 @@ +[ + { + "type": "mapgen", + "method": "json", + "om_terrain": "house_w_6", + "object": { + "fill_ter": "t_floor", + "rows": [ + "..........GssM..........", + "...$..MMMMMssMMMMM......", + "......C~~~~~~~~~~C..$...", + ".$..$.~~~~~~~~~~~~....$.", + "....MM~~~~~~~~FFF~MM....", + "....##oo##o**##ooo##....", + "....#3 R|E |5 #....", + "....# R|L | #....", + "....# ||++| #....", + "....#Yv | h#....", + "..M##||||| #....", + "..Mo< #....", + "..MoRRRa y|+|||| |#....", + "..M##||| ||jt|4 y#....", + "...^#KiK l|||| #....", + "...Mon Y|QQ| oM...", + "...MoJ oM...", + "...M#J yJJ|QQ|a y#....", + "....##*o#######o#o##....", + ".....MsM................", + ".....sss................", + ".....sss................", + "........................", + "........................" + ], + "palettes": [ "house_w_foundation_palette" ], + "terrain": { "#": "t_brick_wall", "F": "t_thconc_floor" }, + "nested": { + "4": { "chunks": [ [ "diningroom_5x5_N_S", 50 ], [ "diningroom_5x5_E_W", 50 ] ] }, + "3": { + "chunks": [ + [ "bonus_room_3x3_2", 50 ], + [ "bonus_room_3x3_3", 50 ], + [ "bonus_room_3x3_4", 50 ], + [ "bonus_room_3x3_5", 50 ], + [ "bonus_room_3x3_N_6", 50 ], + [ "bonus_room_3x3_W_6", 50 ] + ] + }, + "5": { + "chunks": [ + [ "livingroom_5x5_N_1", 10 ], + [ "livingroom_5x5_S_1", 10 ], + [ "livingroom_5x5_N_2", 200 ], + [ "livingroom_5x5_S_2", 200 ], + [ "livingroom_5x5_E_2", 200 ], + [ "livingroom_5x5_W_2", 200 ] + ] + }, + "7": { + "chunks": [ + [ "bonus_room_3x3_4", 20 ], + [ "bonus_room_3x3_E_6", 20 ], + [ "bonus_room_3x3_S_6", 20 ], + [ "bonus_room_3x3_E_8", 30 ], + [ "bonus_room_3x3_S_8", 30 ] + ] + } + }, + "place_nested": [ + { + "chunks": [ [ "null", 50 ], [ "firepit_5x5_2", 15 ], [ "reflecting_pool_5x5_1", 15 ], [ "reflecting_pool_5x5_2", 25 ] ], + "x": [ 9, 13 ], + "y": 19 + } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "house_w_6_2ndfloor", + "object": { + "fill_ter": "t_floor", + "rows": [ + "------------------------", + "------------------------", + "------%%%%%%%%%%%%------", + "------%%%%%%%%%%%%------", + "------%%%%%%%%%%%%------", + "----##oo########oo##----", + "----#1 +O| +2 L#----", + "----# H|||O| #----", + "----# L|w||| #----", + "----#L |+| + h#----", + "---##||||+| |||||#----", + "---o> +w|vO#----", + "---oRR|||+||| ||||+#----", + "---##||Ry +O| + II #----", + "----#3 |||+|4 A #----", + "---^# |t | o----", + "----o |j | o----", + "----#L |TTT|y L#----", + "----###o####o####o##----", + "------------------------", + "------------------------", + "------------------------", + "------------------------", + "------------------------" + ], + "palettes": [ "house_w_foundation_palette" ], + "terrain": { "#": "t_brick_wall", ".": "t_open_air", "%": "t_shingle_flat_roof" }, + "nested": { + "1": { + "chunks": [ + [ "bedroom_4x4_adult_1_N", 20 ], + [ "bedroom_4x4_adult_1_S", 20 ], + [ "bedroom_4x4_adult_2_N", 20 ], + [ "bedroom_4x4_adult_3_S", 200 ], + [ "bedroom_4x4_adult_3_N", 200 ] + ] + }, + "2": { + "chunks": [ + [ "bedroom_4x4_adult_1_S", 20 ], + [ "bedroom_4x4_adult_3_S", 200 ], + [ "bedroom_4x4_adult_3_N", 200 ], + [ "bedroom_4x4_adult_3_E", 200 ], + [ "bedroom_4x4_adult_3_W", 200 ] + ] + }, + "3": { + "chunks": [ + [ "bedroom_4x4_adult_1_S", 20 ], + [ "bedroom_4x4_adult_2_W", 20 ], + [ "bedroom_4x4_adult_2_S", 20 ], + [ "bedroom_4x4_adult_3_S", 200 ], + [ "bedroom_4x4_adult_3_W", 200 ] + ] + }, + "4": { + "chunks": [ + [ "bedroom_4x4_adult_1_E", 20 ], + [ "bedroom_4x4_adult_2_W", 20 ], + [ "bedroom_4x4_adult_2_W", 20 ], + [ "bedroom_4x4_adult_3_E", 200 ], + [ "bedroom_4x4_adult_3_W", 200 ] + ] + } + } + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "house_w_6_roof", + "object": { + "fill_ter": "t_shingle_flat_roof", + "rows": [ + " ", + " ", + " ", + " ", + " ", + " |222222222222223 ", + " |..............3 ", + " |..............3 ", + " |..............3 ", + " |.............Z3 ", + " ||..............3 ", + " |...............3 ", + " |...............3 ", + " ||..............3 ", + " |......&.......3 ", + " 5..............3 ", + " |..............3 ", + " |..............3 ", + " |--------------3 ", + " ", + " ", + " ", + " ", + " " + ], + "palettes": [ "roof_palette" ], + "terrain": { ".": "t_shingle_flat_roof" } + } + } +] diff --git a/data/json/mapgen/junkyard.json b/data/json/mapgen/junkyard.json index 9b631b4c9403f..96c198f853a93 100644 --- a/data/json/mapgen/junkyard.json +++ b/data/json/mapgen/junkyard.json @@ -1,382 +1,156 @@ [ { "method": "json", + "om_terrain": [ [ "junkyard_1a", "junkyard_1b" ] ], + "type": "mapgen", + "weight": 100, "object": { - "furniture": { - "#": "f_bench", - "$": "f_null", - "&": "f_trashcan", - "-": "f_null", - ".": "f_null", - "C": "f_counter", - "D": "f_null", - "S": "f_null", - "T": "f_toilet", - "_": "f_null", - "a": "f_chair", - "b": "f_sink", - "c": "f_null", - "d": "f_desk", - "f": "f_null", - "r": "f_null", - "s": "f_null", - "t": "f_table", - "{": "f_vending_c", - "|": "f_null" - }, + "fill_ter": "t_floor", + "rows": [ + "__......________________________________......__", + "__......e_%%%---%r%---%%%4_____________e......__", + "_$qqqqqq%$%ffBBBfffBBBff%%%%%%%%%%%%%%$%dddddd$_", + "_$......e_%ffffffffffffff%ttttttttttt%_e......$_", + "_$......__%KffcccccccffffDtttttttttttD__......$_", + "_$......__%fffccnnnccfUUf%tttttttttte%e.......$_", + "_$......__%fffccnnnccfxff%Cttmmmmmmmmd........$_", + "_$......__%FffcccccccfUaf%Cttmmmmmmmmd........$_", + "_$......__%fffffffffffUff%Cttmmmmmmmmd........$_", + "_$......__%%D%ffpppfffUff%&ttmmmmmmmmd........$_", + "_$......__%Rf%r---------r%Cttmmmmmmmmd........$_", + "_$......__%bf%fffffffffff%Cttmmmmmmmmd........$_", + "_$......__%ff%fIIfIIfffff%Ctttttttttt%_.......$_", + "_$......__%fT%ffaffafffff%ttttttttttt%__......$_", + "_$......__%%%%%%%%%%%%%D%%%%%%%%%%%%%%__......$_", + "_$......__sssss__sssss_SS_sssss__sssss__......$_", + "_$......__sssss__sssss_SS_sssss__sssss__......$_", + "_$......__sssss__sssss_SS_sssss__sssss__......$_", + "_$......__sssss__sssss_SS_sssss__sssss__......$_", + "_$......__sssss__sssss_SS_sssss__sssss__......$_", + "_$......__sssss__sssss_SS_sssss__sssss_.......$_", + "_$......._sssss__sssss_SS_sssss__sssss........$_", + "_$............................................$_", + "_$............................................$_" + ], + "palettes": [ "junkyard_palette" ], + "place_toilets": [ { "x": 12, "y": 13 } ], + "vendingmachines": { "K": { "item_group": "vending_drink" }, "F": { "item_group": "vending_food" } }, + "place_loot": [ { "item": "television", "x": 17, "y": 9, "chance": 100 } ], "place_items": [ { "chance": 25, "item": "cubical_office", "x": [ 18, 19 ], "y": 12 }, { "chance": 25, "item": "cubical_office", "x": [ 15, 16 ], "y": 12 }, { "chance": 30, "item": "trash", "x": 11, "y": 10 }, { "chance": 75, "item": "vending_food_items", "x": 11, "y": 4 }, { "chance": 75, "item": "vending_drink_items", "x": 11, "y": 7 }, - { "chance": 40, "repeat": 3, "item": "magazines", "x": [ 16, 18 ], "y": [ 5, 6 ] } + { "chance": 40, "repeat": 3, "item": "magazines", "x": [ 16, 18 ], "y": [ 5, 6 ] }, + { "chance": 20, "repeat": 2, "item": "tools_mechanic", "x": 26, "y": [ 10, 12 ] }, + { "chance": 20, "repeat": 2, "item": "tools_mechanic", "x": 26, "y": [ 6, 8 ] }, + { "chance": 25, "repeat": 2, "item": "trash", "x": 26, "y": 9 } ], - "place_toilets": [ { "x": 12, "y": 13 } ], "place_vehicles": [ - { "chance": 75, "fuel": 0, "rotation": 270, "status": 1, "vehicle": "junkyard_vehicles", "x": 12, "y": 17 }, - { "chance": 75, "fuel": 0, "rotation": 270, "status": 1, "vehicle": "junkyard_vehicles", "x": 19, "y": 17 } - ], - "rows": [ - "__......________________", - "__......e_|||---|r|---||", - "_$qqqqqq|$|ff###fff###ff", - "_$......e_|fffffffffffff", - "_$......__|{ffcccccccfff", - "_$......__|fffcctttccfCC", - "_$......__|fffcctttccfCf", - "_$......__|{ffcccccccfCf", - "_$......__|fffffffffffCf", - "_$......__||D|ffffffffCf", - "_$......__|&f|f||||||fff", - "_$......__|bf|ffffffffff", - "_$......__|ff|fddfddffff", - "_$......__|fT|ffaffaffff", - "_$......__|||||||||||||D", - "_$......__sssss__sssss_S", - "_$......__sssss__sssss_S", - "_$......__sssss__sssss_S", - "_$......__sssss__sssss_S", - "_$......__sssss__sssss_S", - "_$......__sssss__sssss_S", - "_$......._sssss__sssss_S", - "_$......................", - "_$......................" - ], - "terrain": { - "#": "t_floor", - "$": "t_fence_barbed", - "&": "t_floor", - "e": "t_gates_mech_control", - "-": "t_wall_glass", - ".": [ - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_dirt", - "t_dirt", - "t_grass" - ], - "C": "t_floor", - "D": "t_door_c", - "S": "t_sidewalk", - "T": "t_floor", - "_": [ "t_grass", "t_grass", "t_grass", "t_grass", "t_grass", "t_dirt" ], - "a": "t_floor", - "b": "t_floor", - "q": "t_door_metal_locked", - "c": "t_carpet_red", - "d": "t_floor", - "f": "t_floor", - "r": "t_reinforced_door_glass_c", - "s": [ "t_dirt", "t_dirt", "t_dirt", "t_dirt", "t_dirt", "t_grass" ], - "t": "t_carpet_red", - "{": "t_floor", - "|": "t_brick_wall" - } - }, - "om_terrain": "junkyard_1a", - "type": "mapgen", - "weight": 100 + { "chance": 75, "fuel": 0, "rotation": 270, "status": 1, "vehicle": "junkyard_vehicles", "x": 12, "y": 18 }, + { "chance": 75, "fuel": 0, "rotation": 270, "status": 1, "vehicle": "junkyard_vehicles", "x": 19, "y": 18 }, + { "chance": 90, "fuel": 0, "rotation": 0, "status": -1, "vehicle": "engine_crane", "x": 28, "y": 3 }, + { "chance": 90, "fuel": 0, "rotation": 90, "status": -1, "vehicle": "handjack", "x": 31, "y": 3 }, + { "chance": 90, "fuel": 30, "rotation": 180, "status": -1, "vehicle": "welding_cart", "x": 34, "y": 3 }, + { "chance": 75, "fuel": 0, "rotation": 180, "status": -1, "vehicle": "junkyard_vehicles", "x": 31, "y": 9 }, + { "chance": 75, "fuel": 0, "rotation": 270, "status": 1, "vehicle": "junkyard_vehicles", "x": 28, "y": 18 }, + { "chance": 75, "fuel": 0, "rotation": 270, "status": 1, "vehicle": "junkyard_vehicles", "x": 35, "y": 18 } + ] + } }, { "method": "json", + "om_terrain": [ [ "junkyard_roof_1a", "junkyard_roof_1b" ] ], + "type": "mapgen", + "weight": 100, "object": { - "furniture": { - "#": "f_counter", - "$": "f_null", - "&": "f_trashcan", - ".": "f_null", - "D": "f_null", - "S": "f_null", - "_": "f_null", - "d": "f_null", - "f": "f_null", - "m": "f_null", - "s": "f_null", - "t": "f_null", - "|": "f_null" - }, - "place_items": [ - { "chance": 20, "repeat": 2, "item": "tools_mechanic", "x": 2, "y": [ 10, 12 ] }, - { "chance": 20, "repeat": 2, "item": "tools_mechanic", "x": 2, "y": [ 6, 8 ] }, - { "chance": 25, "repeat": 2, "item": "trash", "x": 2, "y": 9 } - ], - "place_vehicles": [ - { "chance": 90, "fuel": 0, "rotation": 0, "status": -1, "vehicle": "engine_crane", "x": 4, "y": 3 }, - { "chance": 90, "fuel": 0, "rotation": 90, "status": -1, "vehicle": "handjack", "x": 7, "y": 3 }, - { "chance": 90, "fuel": 30, "rotation": 180, "status": -1, "vehicle": "welding_cart", "x": 10, "y": 3 }, - { "chance": 75, "fuel": 0, "rotation": 180, "status": -1, "vehicle": "junkyard_vehicles", "x": 7, "y": 9 }, - { "chance": 75, "fuel": 0, "rotation": 270, "status": 1, "vehicle": "junkyard_vehicles", "x": 4, "y": 17 }, - { "chance": 75, "fuel": 0, "rotation": 270, "status": 1, "vehicle": "junkyard_vehicles", "x": 11, "y": 17 } - ], + "fill_ter": "t_flat_roof", "rows": [ - "________________......__", - "_______________e......__", - "||||||||||||||$|dddddd$_", - "f|ttttttttttt|_e......$_", - "fDtttttttttttD__......$_", - "f|tttttttttte|e.......$_", - "f|#ttmmmmmmmmd........$_", - "f|#ttmmmmmmmmd........$_", - "f|#ttmmmmmmmmd........$_", - "f|&ttmmmmmmmmd........$_", - "f|#ttmmmmmmmmd........$_", - "f|#ttmmmmmmmmd........$_", - "f|#tttttttttt|_.......$_", - "f|ttttttttttt|__......$_", - "||||||||||||||__......$_", - "S_sssss__sssss__......$_", - "S_sssss__sssss__......$_", - "S_sssss__sssss__......$_", - "S_sssss__sssss__......$_", - "S_sssss__sssss__......$_", - "S_sssss__sssss_.......$_", - "S_sssss__sssss........$_", - "......................$_", - "......................$_" + " ", + " |22222222222222 ", + " |......AA.....52222222222223 ", + " |..........................3 ", + " |.......................X..3 ", + " |..........................3 ", + " |..........................3 ", + " |..........................3 ", + " |..........................3 ", + " |.......&...........&......3 ", + " |..........................3 ", + " |.=........................3 ", + " |..........................3 ", + " |.......................:..3 ", + " |--------------------------3 ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " ], - "terrain": { - "#": "t_thconc_floor", - "$": "t_fence_barbed", - "&": "t_thconc_floor", - "e": "t_gates_mech_control", - ".": [ - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_dirt", - "t_dirt", - "t_grass" - ], - "D": "t_door_c", - "S": "t_sidewalk", - "_": [ "t_grass", "t_grass", "t_grass", "t_grass", "t_grass", "t_dirt" ], - "d": "t_door_metal_locked", - "f": "t_floor", - "m": "t_metal_floor", - "s": [ "t_dirt", "t_dirt", "t_dirt", "t_dirt", "t_dirt", "t_grass" ], - "t": "t_thconc_floor", - "|": "t_brick_wall" - } - }, - "om_terrain": "junkyard_1b", - "type": "mapgen", - "weight": 100 + "palettes": [ "roof_palette" ] + } }, { "method": "json", + "om_terrain": [ [ "junkyard_2a", "junkyard_2b" ] ], + "type": "mapgen", + "weight": 100, "object": { - "place_item": [ { "item": "bowl_plastic", "x": 22, "y": 4 } ], - "furniture": { "-": "f_null", ".": "f_null", "#": "f_straw_bed", "_": "f_null", "g": "f_null", "|": "f_null" }, - "place_monsters": [ { "chance": 65, "density": 1, "monster": "GROUP_DOGS", "x": 23, "y": [ 4, 6 ] } ], - "place_liquids": [ { "liquid": "water_clean", "chance": 2, "amount": [ 1, 3 ], "x": 22, "y": 4 } ], + "fill_ter": "t_dirt", + "rows": [ + "g|............................................$g", + "g|............................................$g", + "g|............................................$g", + "g|......g_____gg_____gggggg_____gg_____.......$g", + "g|......g_____gg_____gggggg_____gg_____g......$g", + "g|......g_____gg_____g9##9g_____gg_____g......$g", + "g|......g_____gg_____g9##9g_____gg_____g......$g", + "g|......g_____gg_____g9999g_____gg_____g......$g", + "g|......g_____gg_____gggNgg_____gg_____g......$g", + "g|......._____gg_____gggggg_____gg_____.......$g", + "g|............................................$g", + "g|............................................$g", + "g|g...........................................$g", + "g|g..........................................g$g", + "g|gg........................................gg$g", + "g|gg_____gg_____gg_____gg_____gg_____gg_____gg$g", + "g|gg_____gg_____gg_____gg_____gg_____gg_____gg$g", + "g|gg_____gg_____gg_____gg_____gg_____gg_____gg$g", + "g|gg_____gg_____gg_____gg_____gg_____gg_____gg$g", + "g|gg_____gg_____gg_____gg_____gg_____gg_____gg$g", + "g|gg_____gg_____gg_____gg_____gg_____gg_____gg$g", + "g|gg_____gg_____gg_____gg_____gg_____gg_____gg$g", + "g|||||||||||||||||||||||$$$$$$$$$$$$$$$$$$$$$$$g", + "gggggggggggggggggggggggggggggggggggggggggggggggg" + ], + "palettes": [ "junkyard_palette" ], + "place_monsters": [ + { "chance": 65, "density": 1, "monster": "GROUP_DOGS", "x": 23, "y": [ 4, 6 ] }, + { "chance": 65, "density": 1, "monster": "GROUP_DOGS", "x": 24, "y": [ 4, 6 ] } + ], "place_vehicles": [ { "chance": 75, "fuel": 0, "rotation": 90, "status": 1, "vehicle": "junkyard_vehicles", "x": 11, "y": 7 }, { "chance": 75, "fuel": 0, "rotation": 90, "status": 1, "vehicle": "junkyard_vehicles", "x": 18, "y": 7 }, { "chance": 75, "fuel": 0, "rotation": 90, "status": 1, "vehicle": "junkyard_vehicles", "x": 6, "y": 19 }, { "chance": 75, "fuel": 0, "rotation": 90, "status": 1, "vehicle": "junkyard_vehicles", "x": 13, "y": 19 }, - { "chance": 75, "fuel": 0, "rotation": 90, "status": 1, "vehicle": "junkyard_vehicles", "x": 20, "y": 19 } + { "chance": 75, "fuel": 0, "rotation": 90, "status": 1, "vehicle": "junkyard_vehicles", "x": 20, "y": 19 }, + { "chance": 75, "fuel": 0, "rotation": 90, "status": 1, "vehicle": "junkyard_vehicles", "x": 29, "y": 7 }, + { "chance": 75, "fuel": 0, "rotation": 90, "status": 1, "vehicle": "junkyard_vehicles", "x": 36, "y": 7 }, + { "chance": 75, "fuel": 0, "rotation": 90, "status": 1, "vehicle": "junkyard_vehicles", "x": 27, "y": 19 }, + { "chance": 75, "fuel": 0, "rotation": 90, "status": 1, "vehicle": "junkyard_vehicles", "x": 34, "y": 19 }, + { "chance": 75, "fuel": 0, "rotation": 90, "status": 1, "vehicle": "junkyard_vehicles", "x": 41, "y": 19 } ], - "rows": [ - "g|......................", - "g|......................", - "g|......................", - "g|......g_____gg_____ggg", - "g|......g_____gg_____ggg", - "g|......g_____gg_____g-#", - "g|......g_____gg_____g-#", - "g|......g_____gg_____g--", - "g|......g_____gg_____ggg", - "g|......._____gg_____ggg", - "g|......................", - "g|......................", - "g|g.....................", - "g|g.....................", - "g|gg....................", - "g|gg_____gg_____gg_____g", - "g|gg_____gg_____gg_____g", - "g|gg_____gg_____gg_____g", - "g|gg_____gg_____gg_____g", - "g|gg_____gg_____gg_____g", - "g|gg_____gg_____gg_____g", - "g|gg_____gg_____gg_____g", - "g|||||||||||||||||||||||", - "gggggggggggggggggggggggg" + "place_item": [ + { "item": "bowl_plastic", "x": 22, "y": 4 }, + { "item": "meat", "repeat": [ 1, 4 ], "chance": 50, "x": 25, "y": 4 }, + { "item": "bowl_plastic", "x": 25, "y": 4 } ], - "terrain": { - "-": "t_wall_wood", - ".": [ - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_dirt", - "t_dirt", - "t_grass" - ], - "#": "t_dirt", - "_": [ "t_dirt", "t_dirt", "t_dirt", "t_dirt", "t_dirt", "t_grass" ], - "g": [ "t_grass", "t_grass", "t_grass", "t_grass", "t_grass", "t_dirt" ], - "|": "t_fence_barbed" - } - }, - "om_terrain": "junkyard_2a", - "type": "mapgen", - "weight": 100 - }, - { - "method": "json", - "object": { - "place_item": [ { "item": "meat", "repeat": [ 1, 4 ], "chance": 50, "x": 1, "y": 4 }, { "item": "bowl_plastic", "x": 1, "y": 4 } ], - "furniture": { "#": "f_straw_bed", "$": "f_null", ".": "f_null", "_": "f_null", "g": "f_null", "|": "f_null" }, - "place_monsters": [ { "chance": 65, "density": 1, "monster": "GROUP_DOGS", "x": 0, "y": [ 4, 6 ] } ], - "place_vehicles": [ - { "chance": 75, "fuel": 0, "rotation": 90, "status": 1, "vehicle": "junkyard_vehicles", "x": 5, "y": 7 }, - { "chance": 75, "fuel": 0, "rotation": 90, "status": 1, "vehicle": "junkyard_vehicles", "x": 12, "y": 7 }, - { "chance": 75, "fuel": 0, "rotation": 90, "status": 1, "vehicle": "junkyard_vehicles", "x": 3, "y": 19 }, - { "chance": 75, "fuel": 0, "rotation": 90, "status": 1, "vehicle": "junkyard_vehicles", "x": 10, "y": 19 }, - { "chance": 75, "fuel": 0, "rotation": 90, "status": 1, "vehicle": "junkyard_vehicles", "x": 17, "y": 19 } - ], - "rows": [ - "......................$g", - "......................$g", - "......................$g", - "ggg_____gg_____.......$g", - "ggg_____gg_____g......$g", - "#|g_____gg_____g......$g", - "#|g_____gg_____g......$g", - "||g_____gg_____g......$g", - "ggg_____gg_____g......$g", - "ggg_____gg_____.......$g", - "......................$g", - "......................$g", - "......................$g", - ".....................g$g", - "....................gg$g", - "g_____gg_____gg_____gg$g", - "g_____gg_____gg_____gg$g", - "g_____gg_____gg_____gg$g", - "g_____gg_____gg_____gg$g", - "g_____gg_____gg_____gg$g", - "g_____gg_____gg_____gg$g", - "g_____gg_____gg_____gg$g", - "$$$$$$$$$$$$$$$$$$$$$$$g", - "gggggggggggggggggggggggg" - ], - "terrain": { - "|": "t_wall_wood", - ".": [ - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_pavement", - "t_dirt", - "t_dirt", - "t_grass" - ], - "#": "t_dirt", - "_": [ "t_dirt", "t_dirt", "t_dirt", "t_dirt", "t_dirt", "t_grass" ], - "g": [ "t_grass", "t_grass", "t_grass", "t_grass", "t_grass", "t_dirt" ], - "$": "t_fence_barbed" - } - }, - "om_terrain": "junkyard_2b", - "type": "mapgen", - "weight": 100 + "place_liquids": [ { "liquid": "water_clean", "chance": 2, "amount": [ 1, 3 ], "x": 22, "y": 4 } ] + } } ] diff --git a/data/json/mapgen/lab/lab_common.json b/data/json/mapgen/lab/lab_common.json index b12a7742b86ac..cf354bcd823d9 100644 --- a/data/json/mapgen/lab/lab_common.json +++ b/data/json/mapgen/lab/lab_common.json @@ -40,7 +40,12 @@ "id": "lab_loot_research", "mapping": { "c": { - "items": [ { "item": "dissection", "chance": 10 }, { "item": "chem_lab", "chance": 10 }, { "item": "mut_lab", "chance": 2 } ] + "items": [ + { "item": "tools_science", "chance": 10 }, + { "item": "dissection", "chance": 10 }, + { "item": "chem_lab", "chance": 10 }, + { "item": "mut_lab", "chance": 2 } + ] }, "S": { "items": [ { "item": "drugs_heal_simple", "chance": 10 }, { "item": "harddrugs", "chance": 5 } ] }, "X": { diff --git a/data/json/mapgen/lab/lab_floorplans.json b/data/json/mapgen/lab/lab_floorplans.json index df170ba3e4030..63daffe762179 100644 --- a/data/json/mapgen/lab/lab_floorplans.json +++ b/data/json/mapgen/lab/lab_floorplans.json @@ -209,7 +209,7 @@ "=": "t_conveyor", "%": "t_machinery_heavy" }, - "mapping": { "c": { "items": [ { "item": "chem_lab", "chance": 20 } ] } }, + "mapping": { "c": { "items": [ { "item": "chem_lab", "chance": 20 }, { "item": "tools_science", "chance": 20 } ] } }, "place_nested": [ { "chunks": [ "lab_spawn_9x9_wall_sw" ], "x": 13, "y": 1 }, { "chunks": [ "sub_t_concrete_wall" ], "x": 13, "y": 10 }, @@ -261,7 +261,7 @@ "C": "t_centrifuge" }, "mapping": { - "c": { "items": [ { "item": "chem_lab", "chance": 10 } ] }, + "c": { "items": [ { "item": "chem_lab", "chance": 10 }, { "item": "tools_science", "chance": 10 } ] }, "r": { "items": [ { "item": "cleaning", "chance": 30 } ] } }, "place_nested": [ @@ -486,7 +486,7 @@ ] }, "r": { "items": [ { "item": "mine_equipment", "chance": 30 } ] }, - "c": { "items": [ { "item": "chem_lab", "chance": 30 } ] } + "c": { "items": [ { "item": "chem_lab", "chance": 30 }, { "item": "tools_science", "chance": 30 } ] } }, "place_monster": [ { "monster": "mon_turret_rifle", "x": 11, "y": 9, "chance": 20 } ], "place_nested": [ @@ -547,6 +547,7 @@ "r": { "items": [ { "item": "dissection", "chance": 60 }, + { "item": "tools_science", "chance": 20 }, { "item": "bionics_common", "chance": 10 }, { "item": "mut_lab", "chance": 5 } ] @@ -683,7 +684,10 @@ ], "palettes": [ "lab_palette" ], "terrain": { "C": "t_centrifuge", "7": "t_console", ",": "t_floor_blue" }, - "mapping": { "c": { "items": [ { "item": "office", "chance": 30 } ] }, "l": { "items": [ { "item": "science", "chance": 60 } ] } }, + "mapping": { + "c": { "items": [ { "item": "office", "chance": 30 }, { "item": "tools_science", "chance": 15 } ] }, + "l": { "items": [ { "item": "science", "chance": 60 } ] } + }, "computers": { "6": { "name": "Containment Control", diff --git a/data/json/mapgen/megastore.json b/data/json/mapgen/megastore.json new file mode 100644 index 0000000000000..766414abc9595 --- /dev/null +++ b/data/json/mapgen/megastore.json @@ -0,0 +1,2671 @@ +[ + { + "type": "palette", + "id": "megastore", + "terrain": { + "#": "t_open_air", + " ": "t_open_air_rooved", + "~": "t_flat_roof", + ".": "t_thconc_floor", + "^": "t_glass_roof", + "1": "t_metal_railing", + "%": "t_grate", + ",": "t_grass", + "-": "t_concrete_wall", + "|": "t_concrete_wall", + "+": "t_door_glass_c", + "[": "t_door_metal_locked", + "]": "t_door_metal_locked", + "!": "t_door_metal_c", + "g": "t_wall_glass_alarm", + "I": "t_support_l", + "P": "t_pavement", + "W": "t_sidewalk", + "<": "t_stairs_up", + ">": "t_stairs_down", + "6": "t_console_broken", + "Y": "t_switchgear_s" + }, + "furniture": { + "a": "f_armchair", + "A": "f_sofa", + "b": "f_bookcase", + "B": "f_bed", + "c": "f_chair", + "C": "f_counter", + "d": "f_dresser", + "D": "f_desk", + "e": "f_counter", + "F": "f_glass_fridge", + "f": "f_glass_fridge", + "G": "f_glass_cabinet", + "H": "f_dumpster", + "i": "f_trashcan", + "J": "f_indoor_plant", + "j": "f_indoor_plant_y", + "k": "f_rack", + "K": "f_rack", + "L": "f_locker", + "l": "f_locker", + "M": "f_air_filter", + "q": "f_air_conditioner", + "Q": "f_glass_cabinet", + "N": "f_server", + "n": "f_bench", + "o": "f_oven", + "r": "f_rack", + "R": "f_rack", + "s": "f_sink", + "S": "f_shower", + "t": "f_trashcan", + "T": "f_table", + "U": "f_cupboard", + "x": "f_crate_o", + "X": "f_crate_c", + ":": "f_shredder" + }, + "toilets": { "&": { "amount": [ 0, 50 ] } }, + "items": { + "D": { "item": "office", "chance": 60 }, + "l": { "item": "jackets", "chance": 5 }, + "L": { "item": "home_hw", "chance": 50 }, + "o": { "item": "oven", "chance": 70 }, + "t": { "item": "trash", "chance": 60 }, + "U": { "item": "kitchen", "chance": 40 }, + "Q": { "item": "office_mess", "chance": 50, "repeat": [ 1, 3 ] } + } + }, + { + "type": "palette", + "id": "mega_goods_a", + "items": { + "b": { "item": "novels", "chance": 15, "repeat": [ 1, 2 ] }, + "f": { "item": "produce", "chance": 15 }, + "F": { "item": "fridgesnacks", "chance": 15 }, + "k": { "item": "shirts", "chance": 15 }, + "K": { "item": "shoes", "chance": 15, "repeat": [ 1, 2 ] }, + "r": { "item": "pants", "chance": 15 }, + "R": { "item": "jackets", "chance": 15 }, + "x": { "item": "child_items", "chance": 15 }, + "X": { "item": "construction_worker", "chance": 15 } + } + }, + { + "type": "palette", + "id": "mega_goods_b", + "items": { + "b": { "item": "homebooks", "chance": 20 }, + "f": { "item": "fridgesnacks", "chance": 15, "repeat": [ 1, 2 ] }, + "F": { "item": "fridge", "chance": 15, "repeat": [ 1, 2 ] }, + "k": { "item": "shoes", "chance": 15 }, + "K": { "item": "cannedfood", "chance": 15 }, + "r": { "item": "hardware", "chance": 15 }, + "R": { "item": "mischw", "chance": 15 }, + "x": { "item": "shelter", "chance": 15 }, + "X": { "item": "cannedfood", "chance": 15 } + } + }, + { + "type": "palette", + "id": "mega_goods_c", + "items": { + "b": { "item": "waitingroom", "chance": 10 }, + "f": { "item": "fridge", "chance": 15 }, + "F": { "item": "produce", "chance": 15, "repeat": [ 1, 3 ] }, + "k": { "item": "cannedfood", "chance": 15 }, + "K": { "item": "pasta", "chance": 15 }, + "r": { "item": "hardware", "chance": 15 }, + "R": { "item": "cleaning", "chance": 15, "repeat": [ 1, 2 ] }, + "x": { "item": "shoes", "chance": 15 }, + "X": { "item": "dresser", "chance": 15 } + } + }, + { + "type": "palette", + "id": "mega_goods_d", + "items": { + "b": { "item": "waitingroom", "chance": 15, "repeat": [ 1, 4 ] }, + "f": { "item": "vending_food_items", "chance": 15, "repeat": [ 1, 2 ] }, + "F": { "item": "kitchen", "chance": 15 }, + "k": { "item": "pasta", "chance": 15 }, + "K": { "item": "winter", "chance": 15 }, + "r": { "item": "sports", "chance": 15 }, + "R": { "item": "camping", "chance": 15 }, + "x": { "item": "cleaning", "chance": 15, "repeat": [ 1, 2 ] }, + "X": { "item": "pasta", "chance": 15 } + } + }, + { + "type": "palette", + "id": "mega_goods_e", + "items": { + "b": { "item": "waitingroom", "chance": 15 }, + "f": { "item": "produce", "chance": 15 }, + "F": { "item": "vending_drink_items", "chance": 15, "repeat": [ 1, 3 ] }, + "k": { "item": "cleaning", "chance": 15 }, + "K": { "item": "camping", "chance": 15 }, + "r": { "item": "mechanics", "chance": 15 }, + "R": { "item": "construction_worker", "chance": 15 }, + "x": { "item": "kitchen", "chance": 15 }, + "X": { "item": "school", "chance": 15 } + } + }, + { + "type": "palette", + "id": "mega_goods_f", + "items": { + "b": { "item": "novels", "chance": 15 }, + "f": { "item": "fridgesnacks", "chance": 15 }, + "F": { "item": "vending_drink_items", "chance": 15, "repeat": [ 1, 3 ] }, + "k": { "item": "shirts", "chance": 15 }, + "K": { "item": "shoes", "chance": 15 }, + "r": { "item": "snacks", "chance": 25, "repeat": [ 1, 2 ] }, + "R": { "item": "shelter", "chance": 15 }, + "x": { "item": "textbooks", "chance": 15 }, + "X": { "item": "dresser", "chance": 15 } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_parking", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_pavement", + "rows": [ + "#W....................WT", + "W......................W", + "........................", + "______............______", + "........................", + ".....v.............v....", + "........................", + "........................", + "______............______", + "........................", + "........................", + "......................v.", + "........................", + "______............______", + "...........v..v.........", + "........................", + "........................", + "........................", + "______............______", + "........................", + ".....v..................", + "........................", + "W_____............_____W", + "TW....................W#" + ], + "rotation": 0, + "terrain": { + ".": "t_pavement", + "_": "t_pavement_y", + "#": [ "t_underbrush", "t_grass" ], + "T": [ "t_tree_young", "t_tree" ], + "W": "t_sidewalk" + }, + "vehicles": { "v": { "vehicle": "city_vehicles", "chance": 10 } } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_0_0", + "//": "ground floor. top left corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,--------------------", + ",,,,|I..l|&...|l..I|<<|.", + ",,,,|n..l|--!-|l..n|<<|.", + ",,,,|n..l|s...|l..n|!!|.", + ",,,,|...l|s...|l...|....", + ",,,,|-!-----!----!-|....", + ",,,,|p.............|....", + ",,,,|..............|....", + ",,,,|....cTTTT.....|....", + ",,,,|....cTTTT.....|....", + ",,,,[..........--!-|....", + ",,,,].....c.c..|...!....", + ",,,,|..CCCCCCCC|...|....", + ",,-------------------!--", + ",,|CCICC%%%CeeeCCCI.....", + ",,|e..............g.....", + ",,|e....eeeee.....g.....", + ",,|e..............g.....", + ",,|ggggg......C6CCC.....", + ",,|....................." + ], + "rotation": 0, + "palettes": [ "megastore", "mega_goods_a" ], + "items": { + "C": { "item": "coffee_table", "chance": 30 }, + "l": { "item": "everyday_gear", "chance": 75 }, + "T": { "item": "office", "chance": 20 } + } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_0_0", + "//": "ground floor. top left corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,--------------------", + ",,,,|I..l|&...|l..I|<<|.", + ",,,,|n..l|--!-|l..n|<<|.", + ",,,,|n..l|s...|l..n|!!|.", + ",,,,|...l|s...|l...|....", + ",,,,|-!-----!----!-|....", + ",,,,|p.............|....", + ",,,,|..............|....", + ",,,,|....cTTTT.....|....", + ",,,,|....cTTTT.....|....", + ",,,,[..........--!-|....", + ",,,,].....c.c..|...!....", + ",,,,|..CCCCCCCC|...|....", + ",,---------------!------", + ",,|..I............I.....", + ",,|.....................", + ",,|.....................", + ",,|.....................", + ",,|.....................", + ",,|....................." + ], + "rotation": 0, + "palettes": [ "megastore", "mega_goods_c" ], + "items": { + "C": { "item": "coffee_table", "chance": 30 }, + "l": { "item": "everyday_gear", "chance": 75 }, + "T": { "item": "office", "chance": 20 } + } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_0_0", + "//": "ground floor. top left corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,--------------------", + ",,,,|I..l|&...|l..I|<<|.", + ",,,,|n..l|--!-|l..n|<<|.", + ",,,,|n..l|s...|l..n|!!|.", + ",,,,|...l|s...|l...|....", + ",,,,|-!-----!----!-|....", + ",,,,|p.............|x...", + ",,,,|..............|x...", + ",,,,|....cTTTT.....|x...", + ",,,,|....cTTTT.....|....", + ",,,,[..........--!-|....", + ",,,,].....c.c..|...!....", + ",,,,|..CCCCCCCC|...|....", + ",,---------------!------", + ",,|.&I|KKKK.......Irrrrr", + ",,|+--|.................", + ",,|..s|.................", + ",,|+---....rrrrrrrrrrrrr", + ",,|........rrrrrrrrrrrrr", + ",,|....................." + ], + "rotation": 0, + "palettes": [ "megastore", "mega_goods_b" ], + "items": { + "C": { "item": "coffee_table", "chance": 30 }, + "l": { "item": "everyday_gear", "chance": 75 }, + "T": { "item": "office", "chance": 20 } + } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_0_0", + "//": "ground floor. top left corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,--------------------", + ",,,,|I..l|&...|l..I|<<|x", + ",,,,|n..l|--!-|l..n|<<|x", + ",,,,|n..l|s...|l..n|!!|.", + ",,,,|...l|s...|l...|....", + ",,,,|-!-----!----!-|....", + ",,,,|p.............|....", + ",,,,|..............|XX..", + ",,,,|....cTTTT.....|XX..", + ",,,,|....cTTTT.....|....", + ",,,,[..........--!-|....", + ",,,,].....c.c..|...!....", + ",,,,|..CCCCCCCC|...|....", + ",,---------------!------", + ",,|K.I............Irrrrr", + ",,|K....................", + ",,|K.....K..K...........", + ",,|K..K..K..K.....rrrrrr", + ",,|K..K..K..K...........", + ",,|K..K..K..K..........." + ], + "rotation": 0, + "palettes": [ "megastore", "mega_goods_d" ], + "items": { + "C": { "item": "coffee_table", "chance": 30 }, + "l": { "item": "everyday_gear", "chance": 75 }, + "T": { "item": "office", "chance": 20 } + } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_0_0", + "//": "ground floor. top left corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,--------------------", + ",,,,|I..l|&...|l..I|<<|.", + ",,,,|n..l|--!-|l..n|<<|.", + ",,,,|n..l|s...|l..n|!!|.", + ",,,,|...l|s...|l...|....", + ",,,,|-!-----!----!-|XX..", + ",,,,|p.............|XX..", + ",,,,|..............|....", + ",,,,|....cTTTT.....|....", + ",,,,|....cTTTT.....|....", + ",,,,[..........--!-|....", + ",,,,].....c.c..|...!....", + ",,,,|..CCCCCCCC|...|....", + ",,---------------!------", + ",,|rrIrrrrrrrrrrr.Irrrrr", + ",,|.....................", + ",,|..rrrrrrrrrrrrrrrrrr.", + ",,|.....................", + ",,|..rrrrrrrrrrrrrrrrrr.", + ",,|....................." + ], + "rotation": 0, + "palettes": [ "megastore", "mega_goods_e" ], + "items": { + "C": { "item": "coffee_table", "chance": 30 }, + "l": { "item": "everyday_gear", "chance": 75 }, + "T": { "item": "office", "chance": 20 } + } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_1_0_0", + "//": "ground floor. top edge", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + "------------------------", + ".....ILLLLLLLLLLLLIXX...", + "...................XXxx.", + ".....................xx.", + "........................", + "........................", + "........................", + "........................", + "........................", + "........................", + "........................", + "........................", + "...................LLXX.", + "---!--------------------", + ".....IkkkkkkkkkkkkIkkkkk", + "........................", + "........................", + ".....kkkkkkkkkkkkkkkkkkk", + "........................", + "........................" + ], + "rotation": 0, + "palettes": [ "megastore", "mega_goods_a" ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_1_0_0", + "//": "ground floor. top edge", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + "------------------------", + ".....IRRRRRRRRRRRRI.....", + "........................", + "..XX.....XX.............", + "..XX.....XX.............", + ".....XX............x....", + ".....XX..........x...x..", + "........................", + "...............x...x.x..", + "..XX..............x.....", + "..XX................x.x.", + "........................", + "rrrrrrr........rrrrrrrrr", + "-----------!!-----------", + "RRRRRIRRRRR..RRRRRIRRRRR", + "........................", + "........................", + ".fffffffffff..FFFFFFFFF.", + ".fffffffffff..FFFFFFFFF.", + "........................" + ], + "rotation": 0, + "palettes": [ "megastore", "mega_goods_b" ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_1_0_0", + "//": "ground floor. top edge", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + "------------------------", + ".....IKKKKKKKKKKKKI.....", + "......................xx", + "..XX..rrrrrrrrrrrr....xx", + "..XX....................", + ".....XX.................", + "...xxXX.................", + "...xx...................", + "........................", + "...xx............xx.....", + "...xx............xx.....", + ".........xx..xx.........", + ".........xx..xx....LLL..", + "-----------!!-----------", + "RRRRRIRRRR....RRRRIRRRRR", + "........................", + ".RRRRRRRRRRRRRRRRRRRRRR.", + "........................", + ".RRRRRRRRRRRRRRRRRRRRRR.", + "........................" + ], + "rotation": 0, + "palettes": [ "megastore", "mega_goods_c" ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_1_0_0", + "//": "ground floor. top edge", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + "------------------------", + "...XXI.R.R..R.R.R.I.....", + "...XXR.R.R..R.R.R.R.....", + ".....R.R.R..R.R.R.R.....", + "....XX..................", + "....XX..................", + "........................", + "..xx....................", + "..xx....................", + "........................", + ".XX.....................", + ".XX.....................", + "........................", + "---------------------!--", + "rrrr|IkkkkkkkkkkkkI|....", + "....|k............k|....", + "....|k............k|....", + "....|k...TTTTTT...k|....", + "........................", + "........................" + ], + "rotation": 0, + "palettes": [ "megastore", "mega_goods_d" ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_1_0_0", + "//": "ground floor. top edge", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + "------------------------", + "x....ILLLLLLLLLLLLI.XX..", + "x...................XX..", + "........................", + "...xx.................XX", + "...xx.................XX", + "........................", + "........................", + "........................", + "........................", + "..................XX....", + "..................XX....", + "........................", + "------!!----------------", + "KKKKKI...RRRRRRRRRIRRRRR", + "........................", + "........................", + "......KKKKKKKKKKKK......", + "......KKKKKKKKKKKK......", + "........................" + ], + "rotation": 0, + "palettes": [ "megastore", "mega_goods_e" ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_0_0", + "//": "ground floor. top right corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,PPPPPPPPPPPP,,,,,,,", + ",,,,,PPPPPPPPPPPP,,,,,,,", + ",,,,,PPPPPPPPPPPP--[----", + ",,,,,PPPPPPPPPPPP|<..|..", + ",,,,--][[][][][]-|l..!..", + ",,,,|I..........%|I..|..", + ",,,,|............|---|..", + ",,,,|............|Css|..", + ",,,,|............|...!..", + ",,,,|............|&|t|..", + ",,,,|............|---|..", + ",,,,|...x........|&|t|..", + ",,,,|............|...!..", + ",,,,|.....X...X..|Css|..", + ",,,,|............|----..", + ",,,,|....x.......|f.....", + ",,,,|l..xX...X..v|f.....", + ",,,,|----....----|f.....", + ",,,,|I.....x...x.|I.....", + ",,,,|.....x......|f.....", + ",,,,|..X.....x...|f.....", + ",,,,|.....X......|f.....", + ",,,,|x..x.......x|f.....", + ",,,,|..xx........|f....." + ], + "rotation": 1, + "palettes": [ "megastore", "mega_goods_a" ], + "terrain": { "%": "t_gates_mech_control", "m": "t_mdoor_frame" }, + "vehicles": { "v": { "vehicle": "shopping_cart", "chance": 30, "status": 0 } } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_0_0", + "//": "ground floor. top right corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,PPPPPPPPPPPP,,,,,,,", + ",,,,,PPPPPPPPPPPP,,,,,,,", + ",,,,,PPPPPPPPPPPP--[----", + ",,,,,PPPPPPPPPPPP|<..|..", + ",,,,--][[][][][]-|l..!..", + ",,,,|I..........%|I..|..", + ",,,,|............|---|..", + ",,,,|............|Css|..", + ",,,,|............|...!..", + ",,,,|............|&|t|..", + ",,,,|............|---|..", + ",,,,|............|&|t|..", + ",,,,|............|...!..", + ",,,,|............|Css|..", + ",,,,|............|----..", + ",,,,|............|RCCC..", + ",,,,|l..........v|C.....", + ",,,,|----....----|C.....", + ",,,,|I.........XX|ICCC..", + ",,,,|..........XX|......", + ",,,,|............|......", + ",,,,|.........XX.|r.....", + ",,,,|.........XX.|r.....", + ",,,,|............|r....." + ], + "rotation": 1, + "palettes": [ "megastore", "mega_goods_b" ], + "terrain": { "%": "t_gates_mech_control" }, + "vehicles": { "v": { "vehicle": "shopping_cart", "chance": 30, "status": 0 } } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_0_0", + "//": "ground floor. top right corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,PPPPPPPPPPPP,,,,,,,", + ",,,,,PPPPPPPPPPPP,,,,,,,", + ",,,,,PPPPPPPPPPPP--[----", + ",,,,,PPPPPPPPPPPP|<..|..", + ",,,,--][[][][][]-|l..!..", + ",,,,|I..........%|I..|..", + ",,,,|............|---|..", + ",,,,|............|Css|..", + ",,,,|............|...!..", + ",,,,|xx....XX....|&|t|..", + ",,,,|xx....XX....|---|..", + ",,,,|............|&|t|..", + ",,,,|............|...!..", + ",,,,|............|Css|..", + ",,,,|............|----..", + ",,,,|............|K.....", + ",,,,|l..........v|k.....", + ",,,,|----....----|R.....", + ",,,,|I........LLL|I.....", + ",,,,|...........L|R.....", + ",,,,|............|K.....", + ",,,,|............|K.....", + ",,,,|...........L|r.....", + ",,,,|............|r....." + ], + "rotation": 1, + "palettes": [ "megastore", "mega_goods_c" ], + "terrain": { "%": "t_gates_mech_control", "m": "t_mdoor_frame" }, + "vehicles": { "v": { "vehicle": "shopping_cart", "chance": 30, "status": 0 } } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_0_0", + "//": "ground floor. top right corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,PPPPPPPPPPPP,,,,,,,", + ",,,,,PPPPPPPPPPPP,,,,,,,", + ",,,,,PPPPPPPPPPPP--[----", + ",,,,,PPPPPPPPPPPP|<..|..", + ",,,,--][[][][][]-|l..!..", + ",,,,|I..........%|I..|..", + ",,,,|............|---|..", + ",,,,|............|Css|..", + ",,,,|............|...!..", + ",,,,|............|&|t|..", + ",,,,|............|---|..", + ",,,,|............|&|t|..", + ",,,,|............|...!..", + ",,,,|L...........|Css|..", + ",,,,|L...........|----..", + ",,,,|L...........|R.....", + ",,,,|L..........v|R.....", + ",,,,|----....----|R..KK.", + ",,,,|IX........xx|I..KK.", + ",,,,|XX........xx|R.....", + ",,,,|............|R.....", + ",,,,|..........xx|R.....", + ",,,,|..........xx|R.....", + ",,,,|............|R....." + ], + "rotation": 1, + "palettes": [ "megastore", "mega_goods_d" ], + "terrain": { "%": "t_gates_mech_control", "m": "t_mdoor_frame" }, + "vehicles": { "v": { "vehicle": "shopping_cart", "chance": 30, "status": 0 } } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_0_0", + "//": "ground floor. top right corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,PPPPPPPPPPPP,,,,,,,", + ",,,,,PPPPPPPPPPPP,,,,,,,", + ",,,,,PPPPPPPPPPPP--[----", + ",,,,,PPPPPPPPPPPP|<..|kk", + ",,,,--][[][][][]-|l..!..", + ",,,,|I..........%|I..|..", + ",,,,|............|---|..", + ",,,,|............|Css|..", + ",,,,|............|...!..", + ",,,,|............|&|t|..", + ",,,,|............|---|..", + ",,,,|............|&|t|..", + ",,,,|............|...!..", + ",,,,|............|Css|..", + ",,,,|............|----..", + ",,,,|............|K.....", + ",,,,|l..........v|K.....", + ",,,,|----....----|K.....", + ",,,,|IRR......rrr|I.....", + ",,,,|............|K.....", + ",,,,|RRR......rrr|K.....", + ",,,,|............|K.....", + ",,,,|xx.......rrr|K.....", + ",,,,|xx..........|K....." + ], + "rotation": 1, + "palettes": [ "megastore", "mega_goods_e" ], + "terrain": { "%": "t_gates_mech_control", "m": "t_mdoor_frame" }, + "vehicles": { "v": { "vehicle": "shopping_cart", "chance": 30, "status": 0 } } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_1_0", + "//": "ground floor. left edge", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + "------------------------", + "rrrrrrrrrrrrrrrrrrrrrrrr", + "........................", + ".....I............I.....", + "........................", + "........................", + "........................", + "........................", + "........................", + ".KK..KK.................", + ".KK..KK.................", + ".....KK.................", + ".....KK.................", + ".KK..KK.................", + ".KK..KK.................", + "........................", + ".KK..IK...RRRRRRRRIRRR..", + ".KK..KK.................", + "..........RRRRRRRRRRRR..", + "........................", + "..RRRRRRRRRRRRRRRRRRRR..", + "........................" + ], + "rotation": 3, + "palettes": [ "megastore", "mega_goods_a" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_1_0", + "//": "ground floor. left edge", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + "------------------------", + "rrrrr|CCCCCCCCCCCC|RRRRR", + "....r|...........%|.....", + "....rI..CCCCCCC..%I.....", + "....r|...........%|..RR.", + "....r|....CCC....%|..RR.", + "....r|....6......%|.....", + ".....C....C......%|..RR.", + ".....C....CCC%%%%CC..RR.", + "........................", + "........................", + "........................", + "....kkkkkkkkkkkkkkkk....", + "....kkkkkkkkkkkkkkkk....", + "........................", + "........................", + "....RI..R..RR..R..IR....", + "....RR..R..RR..R..RR....", + ".....R..R..RR..R..R.....", + ".....R..R..RR..R..R.....", + ".....R..R..RR..R..R.....", + "........................" + ], + "rotation": 3, + "palettes": [ "megastore", "mega_goods_b" ], + "furniture": { "%": "f_displaycase" }, + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ], + "items": { "C": { "item": "consumer_electronics", "chance": 60 }, "%": { "item": "jewelry_front", "chance": 60 } } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_1_0", + "//": "ground floor. left edge", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + "------------------------", + "rrrrrrRRRRRRRRRRRRRRRRRR", + ".....rR.................", + ".....IR..RR......RI.....", + ".....rR..RR..RR..RR..RR.", + ".....rR..RR..RR..RR..RR.", + ".....rR..RR..RR..RR..RR.", + ".....rR..RR..RR..RR..RR.", + ".....rR..RR..RR..RR..RR.", + "rr...rR..RR..RR..RR..RR.", + "........................", + "........................", + "........................", + "..FFFFFFFF...KK..KK.....", + "..FFFFFFFF...KK..KK.....", + ".............KK..KK.....", + "..FFIFFFFF...KK..KI.....", + "..ffffffff...KK..KK.....", + ".............KK..KK.....", + "..ffffffff...KK..KK.....", + "..ffffffff...KK..KK.....", + "........................" + ], + "rotation": 3, + "palettes": [ "megastore", "mega_goods_c" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_1_0", + "//": "ground floor. left edge", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + "------------------------", + ".....................rrr", + "........................", + ".b.b.I.k.k.k..RR..IR....", + ".b.b.k.k.k.k..RR..RR....", + ".b.b.k.k.k.k............", + ".b.b.k.k.k.k............", + ".b.b.k.k.k.k..RR..RR....", + ".b.b.k.k.k.k..RR..RR....", + ".b.b.k.k.k.k............", + ".b.b.k.k.k.k..RR..RR....", + ".b.b.k.k.k.k..RR..RR....", + "........................", + "........................", + "........................", + "...ffffffffffffffffff...", + "...ffIffffffffffffIff...", + "........................", + "........................", + "...ffffffffffffffffff...", + "...ffffffffffffffffff...", + "........................" + ], + "rotation": 3, + "palettes": [ "megastore", "mega_goods_d" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_1_0", + "//": "ground floor. left edge", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + "------------------------", + "kkkkkkkkkkkkkkkkRRRRRRRR", + "........................", + ".kkkkIkkkkkkkkkkRRIRRRR.", + "........................", + ".kkkkkkkkkkkkkkkkkRRRRR.", + "........................", + ".................RR..RR.", + ".................RR..RR.", + "........................", + "..r..r..r..r.....RR..RR.", + "..r..r..r..r.....RR..RR.", + "..r..r..r..r............", + "..r..r..r..r.....RR..RR.", + "..r..r..r..r.....RR..RR.", + "..r..r..r..r............", + "..r..I..r..r.....RI..RR.", + "..r..r..r..r.....RR..RR.", + "..r..r..r..r............", + "..r..r..r..r.....RR..RR.", + "..r..r..r..r.....RR..RR.", + "........................" + ], + "rotation": 3, + "palettes": [ "megastore", "mega_goods_e" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_1_1_0", + "//": "ground floor. middle area", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "........................", + ".KKKKKKKKKKKKKK..RR..RR.", + ".KKKKKKKKKKKKKK..RR..RR.", + ".................RR..RR.", + ".KKKKKKKKKKKKKK..RR..RR.", + ".KKKKKIKKKKKKKK..RI..RR.", + ".................RR..RR.", + ".KKKKKKKKKKKKKK..RR..RR.", + ".KKKKKKKKKKKKKK..RR..RR.", + ".................RR..RR.", + ".................RR..RR.", + ".kk..kk..........RR..RR.", + ".kk..kk.................", + ".kk..kk.................", + ".kk..kk..rrrrrrrrrrrrrrr", + ".kk..kk.................", + ".kk..kk..rrrrrrrrrrrrrrr", + ".kk..kk.................", + ".kk..Ik..rrrrrrrrrrrrrrr", + ".kk..kk.................", + ".kk..kk..rrrrrrrrrrrrrrr", + ".kk..kk.................", + ".kk..kk..rrrrrrrrrrrrrrr", + "........................" + ], + "rotation": [ 0, 3 ], + "palettes": [ "megastore", "mega_goods_a" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_1_1_0", + "//": "ground floor. middle area", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "........................", + ".....r...rr.............", + ".....r...rr...b...b...b.", + ".....r...rr...b...b...b.", + ".....r...rr...b...b...b.", + ".rrrrI...rr...b...I...b.", + ".........rr...b...b...b.", + ".........rr...b...b...b.", + ".rrrrrrrrrr...b...b...b.", + ".rrrrrrrrrr...b...b...b.", + "........................", + "........................", + ".kkkkkkkkkkkkkkkkkkkkkk.", + "........................", + ".kkkkkkkkkkkkkkkkkkkkkk.", + "........................", + "........................", + "........................", + "....RI.RR......RR.IR....", + "....RR.RR......RR.RR....", + "........................", + "....RR............RR....", + "....RR............RR....", + "........................" + ], + "rotation": [ 0, 3 ], + "palettes": [ "megastore", "mega_goods_b" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_1_1_0", + "//": "ground floor. middle area", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ".....rr..........rr.....", + ".....rr....rr....rr.....", + ".....rr....rr....rr.....", + "........................", + "........................", + "..FFFIFFFFFFFFFFFFIFFF..", + "..FFFFFFFFFFFFFFFFFFFF..", + "........................", + "........................", + "..FFFFFFFFFFFFFFFFFFFF..", + "..FFFFFFFFFFFFFFFFFFFF..", + "........................", + "........................", + "..FFFFFFFFFFFFFFFFFFFF..", + "..ffffffffffffffffffff..", + "........................", + "........................", + "..ffffffffffffffffffff..", + "..fffIffffffffffffIfff..", + "........................", + "........................", + "..ffffffffffffffffffff..", + "..KKKKKKKKKKKKKKKKKKKK..", + "........................" + ], + "rotation": [ 0, 3 ], + "palettes": [ "megastore", "mega_goods_c" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_1_1_0", + "//": "ground floor. middle area", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ".RR..RR..RR.............", + ".RR..RR..RR....FFFFFFF..", + "...............FFFFFFF..", + "........................", + ".RR..RR..RR....FFFFFFF..", + ".RR..IR..RR....FFFIFFF..", + "........................", + "...............FFFFFFF..", + ".RR..RR..RR....FFFFFFF..", + ".RR..RR..RR.............", + "........................", + "........................", + ".....k..k..kk..k..k.....", + ".....k..k..kk..k..k.....", + ".....k..k..kk..k..k.....", + ".....k..k..kk..k..k.....", + ".....k..k..kk..k..k.....", + ".....k..k..kk..k..k.....", + ".....I..k..kk..k..I.....", + ".....k..k..kk..K..k.....", + ".....k..k..kk..K..k.....", + ".....k..k..kk..k..k.....", + "........................", + "........................" + ], + "rotation": [ 0, 3 ], + "palettes": [ "megastore", "mega_goods_d" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_1_1_0", + "//": "ground floor. middle area", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "........................", + "rrrrrrrrrr..............", + ".............KK..KK..KK.", + "rrrrrrrrrr...KK..KK..KK.", + ".............KK......KK.", + ".f.f.I.f.....KK..KI..KK.", + ".f.f.f.f.....KK..KK..KK.", + ".f.f.f.f.....KK......KK.", + ".f.f.f.f.....KK..KK..KK.", + ".f.f.f.f.....KK......KK.", + ".f.f.f.f.....KK..KK..KK.", + ".f.f.f.f.....KK..KK..KK.", + ".f.f.f.f.....KK......KK.", + ".f.f.f.f.....KK..KK..KK.", + ".............KK..KK..kk.", + "........................", + ".............bbbbbbbbbb.", + "........................", + ".RR.RI.......bbbbbIbbbb.", + ".RR.RR..................", + ".............bbbbbbbbbb.", + ".RR.RR..................", + ".RR.RR.......bbbbbbbbbb.", + "........................" + ], + "rotation": [ 0, 3 ], + "palettes": [ "megastore", "mega_goods_e" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_1_0", + "//": "ground floor. right edge", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + "------------------------", + "fffffffffff.............", + "........................", + "fffffIfffff.....r.I.r.r.", + "FFFFFFFFFFF.....r.r.r.r.", + "................r.r.r.r.", + "FFFFFFFFFFF.....r.r.r.r.", + "bbbbbbbbbbb.....r.r.r.r.", + "................r.r.r.r.", + "bbbbbbbbbbb.....r.r.r.r.", + "bbbbbbbbbbb.....r.r.r.r.", + "................r.r.r.r.", + "bbbbbbbbbbb.....r.r.r.r.", + "bbbbbbbbbbb.....r.r.r.r.", + "........................", + "........................", + ".kk..Ik..kk...rrrrIrrr..", + ".kk..kk..kk.............", + "..............rrrrrrrr..", + ".kk..kk..kk.............", + ".kk..kk..kk...rrrrrrrr..", + "........................" + ], + "rotation": 1, + "palettes": [ "megastore", "mega_goods_a" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_1_0", + "//": "ground floor. right edge", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + "------------------------", + "rrrrrrrrrrrrrrrrrrrrrrrr", + "........................", + "...rrIrrrrrrrrrrrrIrr...", + "........................", + "...rrrrrrrrrrrrrrrrrr...", + "........................", + "...rrrrrrrrrrrrrrrrrr...", + "........................", + "...rrrrrrrrrrrrrrrrrr...", + "........................", + "...rrrrrrrkkkkkkkkkkk...", + "........................", + "........................", + "........................", + "........................", + "....RI..RR...RR..RI.....", + "....RR..RR...RR..RR.....", + "....RR..RR...RR..RR.....", + "....RR..RR...RR..RR.....", + "....RR..RR...RR..RR.....", + "........................" + ], + "rotation": 1, + "palettes": [ "megastore", "mega_goods_b" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_1_0", + "//": "ground floor. right edge", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + "------------------------", + "kkkkkkkkkk.AA.kkkkkkkkkk", + "........................", + "...kkIkkkkk..bbbbbIbb...", + "........................", + "...kkkkkkkk..bbbbbbbb...", + "........................", + "...kkkkkkkk..bbbbbbbb...", + "........................", + "...kkkkkkkk..bbbbbbbb...", + "........................", + "...kkkkkkkk..bbbbbbbb...", + "........................", + "........................", + "........................", + ".....KK....KK....KK.....", + ".....IK....KK....KI.....", + "........................", + ".....KK..........KK.....", + ".....KK....KK....KK.....", + "........................", + "........................" + ], + "rotation": 1, + "palettes": [ "megastore", "mega_goods_c" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_1_0", + "//": "ground floor. right edge", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + "------------------------", + "rrrrrrrrrrrrrrrrrrrrrrrr", + "........................", + "..rrrIrrrrr..rrrrrIrrr..", + "........................", + "..rrrrrrrrr..rrrrrrrrr..", + "........................", + "..rrrrrrrrr..rrrrrrrrr..", + "........................", + "........................", + "........................", + ".KK.KK..................", + ".KK.KK..................", + ".KK.KK..................", + ".KK.KK..................", + ".KK.KK..................", + ".KK.KI......CCCCCCI.....", + "..................C.....", + "............C.c...C.....", + ".RR.........C6CCCCC.....", + ".RR.....................", + "........................" + ], + "rotation": 1, + "palettes": [ "megastore", "mega_goods_d" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ], + "items": { "C": { "item": "consumer_electronics", "chance": 60 } } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_1_0", + "//": "ground floor. right edge", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + "------------------------", + "bbbbbbbbbbbrrrrrrrrrrrrr", + "........................", + ".bbbbIbbbbb......KI.....", + ".................KK.....", + ".................KK.....", + ".bbbbbbbbbb......KK.....", + ".................KK.....", + ".................KK.....", + ".bbbbbbbbbb......KK.....", + ".................KK.....", + ".RR..RR..RR..KK..KK.....", + ".RR..RR..RR..KK..KK.....", + ".RR..RR..RR..KK..KK.....", + ".RR..RR..RR..KK..KK.....", + ".RR..RR..KK..KK..KK.....", + ".RR..IR..KK..KK..KI.....", + ".RR..RR..KK..KK..KK.....", + ".RR..RR..KK..KK..KK..rr.", + ".RR..RR..KK..KK..KK..rr.", + "........................", + "........................" + ], + "rotation": 1, + "palettes": [ "megastore", "mega_goods_e" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_2_0", + "//": "ground floor. bottom left corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,-------", + ",,,,,,,,,,,,,,,,,|KKKKKK", + ",,----------------......", + ",,|KKIKKKKKKKKKKKKI.....", + ",,|.....................", + ",,|.....................", + ",,|k.k.k.k..FFFFFFFFFF..", + ",,|k.k.k.k..FFFFFFFFFF..", + ",,|k.k.k.k..............", + ",,|k.k.k.k..............", + ",,|k.k.k.k..ffffffffff..", + ",,|k...k.k..ffffffffff..", + ",,|---.k.k..............", + ",,|..|..................", + ",,|..!..................", + ",,|..|..................", + ",,|..I.........CCCI.....", + ",,----....CCCr.6........", + ",,WW|.....6.............", + ",,WWg..........CCCr.....", + ",,WWg.....CCCr.6........", + ",,WWg.....6............." + ], + "rotation": 3, + "palettes": [ "megastore", "mega_goods_a" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_2_0", + "//": "ground floor. bottom left corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,-------", + ",,,,,,,,,,,,,,,,,|......", + ",,----------------......", + ",,|U.I|CCCCffFffF|I.....", + ",,|o..!..........!......", + ",,|o..|.......TTo|......", + ",,|----C6CC6CC---|......", + ",,|..............|......", + ",,|..c..................", + ",,|......TT...c.........", + ",,|..TT..TT..TT.........", + ",,|.cTT......TT.........", + ",,|............c........", + ",,|----gggggggg----.....", + ",,|s..!.................", + ",,|-+-|.................", + ",,|&.I|........CCCI.....", + ",,-----...CCCr.6........", + ",,WWg.....6.............", + ",,WWg..........CCCr.....", + ",,WWg.....CCCr.6........", + ",,WWg.....6............." + ], + "rotation": 3, + "palettes": [ "megastore", "mega_goods_b" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_2_0", + "//": "ground floor. bottom left corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,-------", + ",,,,,,,,,,,,,,,,,|RRRRRR", + ",,----------------......", + ",,|FFIFFFFFFFFFFFFI.....", + ",,|.....................", + ",,|.FFFFFFFFFFFFFF......", + ",,|.....................", + ",,|.KKKKKKKKKKKKKK......", + ",,|.....................", + ",,|.KKKKKKKKKKKKKK......", + ",,|.....................", + ",,|.kkkkkkkkkkkkkk......", + ",,|.....................", + ",,|%....................", + ",,|%....................", + ",,|.....................", + ",,|%%I.........CCCI.....", + ",,---.....CCCr.6........", + ",,WW|.....6.............", + ",,WWg..........CCCr.....", + ",,WWg.....CCCr.6........", + ",,WWg.....6............." + ], + "rotation": 3, + "palettes": [ "megastore", "mega_goods_c" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ], + "furniture": { "%": "f_vending_c" } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_2_0", + "//": "ground floor. bottom left corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,-------", + ",,,,,,,,,,,,,,,,,|RRRRRR", + ",,----------------......", + ",,|kkIkkkkkkkkkkkkI.....", + ",,|.....................", + ",,|.....................", + ",,|..kkkkkkkkkkkkkk.....", + ",,|.....................", + ",,|.....................", + ",,|..kkkkkkkkkkkkkk.....", + ",,|.....................", + ",,|.....................", + ",,|..kkkkkkkkkkkkkk.....", + ",,|.....................", + ",,|.....................", + ",,|.....................", + ",,|ppI.........CCCI.....", + ",,---.....CCCr.6........", + ",,WW|.....6.............", + ",,WWg..........CCCr.....", + ",,WWg.....CCCr.6........", + ",,WWg.....6............." + ], + "rotation": 3, + "palettes": [ "megastore", "mega_goods_d" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_2_0", + "//": "ground floor. bottom left corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,-------", + ",,,,,,,,,,,,,,,,,|RRRRRR", + ",,----------------......", + ",,|r.IrrrrrrrrrrrrI..RR.", + ",,|r.................RR.", + ",,|r..rrrrrrrrrrrrr..RR.", + ",,|r.................RR.", + ",,|r..rrrrrrrrrrrrr..RR.", + ",,|r.................RR.", + ",,|r..rrrrrrrrrrrrr..RR.", + ",,|r....................", + ",,|r..rrrrrrrrrrrrr.....", + ",,|.....................", + ",,|...v.........v.......", + ",,|.....................", + ",,|.....................", + ",,|FFIFFF......CCCI.....", + ",,---.....CCCr.6........", + ",,WW|.....6.............", + ",,WWg..........CCCr.....", + ",,WWg.....CCCr.6........", + ",,WW|.....6............." + ], + "rotation": 3, + "palettes": [ "megastore", "mega_goods_e" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ], + "vehicles": { "v": { "vehicle": "food_cart", "chance": 50, "status": 0 } } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_1_2_0", + "//": "ground floor. entrance", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "WWWWWWWWWWWWWWWWWWWWWWWW", + "WWWWWWWWWWWWWWWWWWWWWWWW", + "WWWWW-gg++gg-++g++-WWWWW", + "WWWWW|......|.....|WWWWW", + "-ggg-|......g.....|ggggg", + "....%I......|mm-mmI.....", + "............g...........", + "............g...........", + "............g...........", + ".......vvvvv|...........", + "....vvvvvvvv|...........", + ".-----------|...........", + ".|eeeeeee...|6C..6C..6C.", + ".|.........D|.C...C...C.", + ".|EEEEEEE.cD|.r...r...r.", + ".|.........D|...........", + ".|eeeee.....|.6C..6C..6C", + ".|..........|..C...C...C", + ".--!-I--CCC--..r..Ir...r", + "........................", + "........................", + "........................", + "........................", + "........................" + ], + "rotation": 2, + "palettes": [ "megastore", "mega_goods_f" ], + "terrain": { "%": "t_atm", "m": "t_mdoor_frame" }, + "items": { "e": { "item": "softdrugs", "chance": 40 }, "E": { "item": "harddrugs", "chance": 10 } }, + "vehicles": { "v": { "vehicle": "shopping_cart", "chance": 30, "status": 0 } } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_1_2_0", + "//": "ground floor. entrance", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "WWWWWWWWWWWWWWWWWWWWWWWW", + "WWWWWWWWWWWWWWWWWWWWWWWW", + "WWWWW-gg++gg-++g++-WWWWW", + "WWWWW|......|.....|WWWWW", + "-ggg-|......g.....|ggggg", + "....%I......|mm-mmI.....", + "............g...........", + "............g...........", + ".........vvvg...........", + "...vvvvvvvvv|...........", + ".vvvvvvvvvvv|...........", + ".-----------|...........", + "..TTTT..!..U|6C..6C..6C.", + "........|..U|.C...C...C.", + "........C..C|.r...r...r.", + "........C..f|...........", + "........C..f|.6C..6C..6C", + "........6..s|..C...C...C", + ".....I-------..r..Ir...r", + "........................", + "........................", + "..R..R..R..R...FFFF.....", + "..R..R..R..R...FFFF.....", + "..R..R..R..R............" + ], + "rotation": 2, + "palettes": [ "megastore", "mega_goods_f" ], + "terrain": { "%": "t_atm", "m": "t_mdoor_frame" }, + "vehicles": { "v": { "vehicle": "shopping_cart", "chance": 25, "status": 0 } } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_2_0", + "//": "ground floor. bottom right corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,----------------WWWW", + ",,,,|C.....ffCCUUUU|WWWW", + ",,,,|C..|..........--gg-", + ",,,,|I..|C........I|....", + ",,,,|o..|C........U|....", + ",,,,|--!--CCCCCCC---....", + ",,,,|...................", + ",,,,|...................", + ",,,,|b...nnnnn..........", + ",,,,|b..................", + ",,,,|b...nnnnn..........", + ",,,,|b...........TT.....", + ",,,,|b...nnnnn...TT.....", + ",,,,|b..........cTT.....", + ",,,,|b..................", + ",,---b..................", + ",,|r.I...bbbbbbbbbIbb...", + ",,|r.....rrrrrrrrrrrr...", + ",,|r....................", + ",,|r.r.r.r.r.r.r.r.r.r..", + ",,|r.r.r.r.r.r.r.r.r.r..", + ",,|r.r.r.r.r.r.r.r.r.r.." + ], + "rotation": 2, + "palettes": [ "megastore", "mega_goods_a" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ], + "items": { "C": { "item": "coffee_display", "chance": 30 } } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_2_0", + "//": "ground floor. bottom right corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,----------------WWWW", + ",,,,|ffffffffffffff|WWWW", + ",,,,|..............--gg-", + ",,,,|I............I|....", + ",,,,|----.......----....", + ",,,,|K..................", + ",,,,|K......KK..........", + ",,,,|K..KK..KK..........", + ",,,,|K..KK......KK......", + ",,,,|K......KK..KK......", + ",,,,|K..KK..KK.....KK...", + ",,,,|K..KK......KK.KK...", + ",,,,|K......KK..KK......", + ",,,,|K..KK..KK..........", + ",,,,|K..KK..............", + ",,---K..................", + ",,|rrIrrrrrrrrrrrrIrrr..", + ",,|.....................", + ",,|...rrrrrrrrrrrrrrrr..", + ",,|.....................", + ",,|...rrrrrrrrrrrrrrrr..", + ",,|....................." + ], + "rotation": 2, + "palettes": [ "megastore", "mega_goods_b" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_2_0", + "//": "ground floor. bottom right corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,----------------WWWW", + ",,,,|CCCCCCCCCCCCCC|WWWW", + ",,,,|C............C--gg-", + ",,,,|I...CCCCCC...I.....", + ",,,,|C...CCCCCC.........", + ",,,,|...................", + ",,,,|...................", + ",,,,|..rrrrrrrrrrrrrrrr.", + ",,,,|...................", + ",,,,|..rrrrrrrrrrrrrrrr.", + ",,,,|...................", + ",,,,|..rrrrrrrrrrrrrrrr.", + ",,,,|...................", + ",,,,|..RRRRRRRRRRRRRRR..", + ",,,,|...................", + ",,---...................", + ",,|RRIRRRRRRR..RRRRIRRR.", + ",,|R....................", + ",,|R....................", + ",,|R..RRRRRRR..RRRRRRRR.", + ",,|R....................", + ",,|R...................." + ], + "rotation": 2, + "palettes": [ "megastore", "mega_goods_c" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ], + "items": { "C": { "item": "produce", "chance": 30, "repeat": 3 } } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_2_0", + "//": "ground floor. bottom right corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,----------------WWWW", + ",,,,|k............K|WWWW", + ",,,,|k....kk..KK..K--gg-", + ",,,,|I....kk..KK..IK....", + ",,,,|k....kk..KK..KK....", + ",,,,|k....kk..KK..KK....", + ",,,,|k....kk..KK..KK....", + ",,,,|k....kk..KK..KK....", + ",,,,|k....kk..KK..KK....", + ",,,,|k....kk..KK..KK....", + ",,,,|k..................", + ",,,,|k..................", + ",,,,|k..RRRRRRRRRRRRRR..", + ",,,,|k..................", + ",,,,|k..RRRRRRRRRRRRRR..", + ",,---k..................", + ",,|RRI..RRRRRRRRRRIRRR..", + ",,|R....................", + ",,|R...RRRRRRRRRRRRRRR..", + ",,|R....................", + ",,|R...RRRRRRRRRRRRRRR..", + ",,|R...................." + ], + "rotation": 2, + "palettes": [ "megastore", "mega_goods_d" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_2_0", + "//": "ground floor. bottom right corner", + "weight": 100, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,,,,,,,,,,,,,,,,,,,,,", + ",,,,----------------WWWW", + ",,,,|f..ff....ff..f|WWWW", + ",,,,|f..ff....ff..f--gg-", + ",,,,|I..ff....ff..I.....", + ",,,,|f..ff....ff..f.....", + ",,,,|f..ff....ff..f.....", + ",,,,|f..ff....ff..f.....", + ",,,,|f..ff....ff..f.....", + ",,,,|...................", + ",,,,|...................", + ",,,,|r..rrrrrrrrrrrrrr..", + ",,,,|r..................", + ",,,,|r..rrrrrrrrrrrrrr..", + ",,,,|r..................", + ",,,,|r..rrrrrrrrrrrrrr..", + ",,---r..................", + ",,|RRI..rrrrrrrrrrIrrr..", + ",,|R....................", + ",,|R....................", + ",,|R.RR..RR..RR..RR.....", + ",,|R.RR..RR..RR..RR.....", + ",,|R...................." + ], + "rotation": 2, + "palettes": [ "megastore", "mega_goods_e" ], + "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_0_1", + "//": "second floor. top left corner", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "########################", + "########################", + "########################", + "########################", + "####--------------------", + "####|IQ..a.|AAAjAAI|>>| ", + "####|J.tD6D|.......!>>| ", + "####|......+.......|--- ", + "####|qAAA.J|J...Jcc| ", + "####|----------+---| ", + "####|.c.QQ.c.Q...c.| ", + "####|D6D..D6D...D6D| ", + "####|j.............g ", + "####|D6D..D6Dj.....g ", + "####|tc....ct......g ", + "####|.c...........:| ", + "####|D6DQQ....qNNTT| ", + "##--------gggg----------", + "##| I I ", + "##| ", + "##| ", + "##| ", + "##| ", + "##| " + ], + "rotation": 0, + "palettes": [ "megastore" ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_1_0_1", + "//": "second floor. top edge", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "########################", + "########################", + "########################", + "########################", + "--------ggg--ggg--------", + " I I ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "------------------------", + " I I ", + " ", + " ", + " ", + " ", + " " + ], + "rotation": 0, + "palettes": [ "megastore" ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_0_1", + "//": "second floor top right corner", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "########################", + "########################", + "#################-------", + "#################|>.<| ", + "####-------------|...| ", + "####|I |..q| ", + "####| |..L| ", + "####| |..L| ", + "####| |..M| ", + "####| |Y.%| ", + "####| |Y.%| ", + "####| |Y.M| ", + "####| |%.M| ", + "####| |q.%| ", + "####| |---- ", + "####| | ", + "####| | ", + "####|---- ----| ", + "####|I |I ", + "####| | ", + "####| | ", + "####| | ", + "####| | ", + "####| | " + ], + "rotation": 1, + "palettes": [ "megastore" ], + "terrain": { "%": "t_machinery_heavy" } + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_1_1", + "//": "second floor left edge", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "########################", + "########################", + "------------------------", + " ", + " ", + " I I ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " I I ", + " ", + " ", + " ", + " ", + " " + ], + "rotation": 3, + "palettes": [ "megastore" ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_1_1_1", + "//": "second floor. middle area", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + " ", + " ", + " ", + " ", + " ", + " I I ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " I I ", + " ", + " ", + " ", + " ", + " " + ], + "rotation": [ 0, 3 ], + "palettes": [ "megastore" ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_1_1", + "//": "second floor. right edge", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "########################", + "########################", + "------------------------", + " ", + " ", + " I I ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " I I ", + " ", + " ", + " ", + " ", + " " + ], + "rotation": 1, + "palettes": [ "megastore" ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_2_1", + "//": "second floor. bottom left corner", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_open_air", + "rows": [ + "########################", + "########################", + "#################-------", + "#################| ", + "##---------------- ", + "##| I I ", + "##| ", + "##| ", + "##| ", + "##| ", + "##| ", + "##| ", + "##| ", + "##| ", + "##| ", + "##| ", + "##| ", + "##| ", + "##| I I ", + "##--- ", + "####| ", + "####| ", + "####| ", + "####| " + ], + "rotation": 3, + "palettes": [ "megastore" ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_1_2_1", + "//": "second floor. bottom edge", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "########################", + "########################", + "#####--------------#####", + "#####| |#####", + "-----| |-----", + " I I ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " I I ", + " ", + " ", + " ", + " ", + " " + ], + "rotation": 2, + "palettes": [ "megastore" ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_2_1", + "//": "second floor bottom right corner", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_thconc_floor", + "rows": [ + "########################", + "########################", + "####----------------####", + "####| | ####", + "####| -----", + "####|I I ", + "####| ", + "####| ", + "####| ", + "####| ", + "####| ", + "####| ", + "####| ", + "####| ", + "####| ", + "####| ", + "####| ", + "##--- ", + "##| I I ", + "##| ", + "##| ", + "##| ", + "##| ", + "##| " + ], + "rotation": 2, + "palettes": [ "megastore" ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_0_roof", + "//": "roof. top left corner.", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_flat_roof", + "rows": [ + "########################", + "########################", + "########################", + "########################", + "####11111111111111111111", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "##111===================", + "##1=====================", + "##1=====================", + "##1=====================", + "##1=====================", + "##1=====================", + "##1=====================" + ], + "rotation": 0, + "palettes": [ "megastore" ], + "place_nested": [ + { + "chunks": [ + [ "null", 5 ], + [ "roof_16x16_help", 5 ], + [ "roof_2x2_infrastructure", 80 ], + [ "roof_2x2_infrastructure_2", 40 ], + [ "roof_2x2_utilities", 40 ], + [ "roof_6x6_survivor", 5 ] + ], + "x": [ 7, 22 ], + "y": [ 6, 22 ] + } + ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_1_0_roof", + "//": "roof. top edge", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_flat_roof", + "rows": [ + "########################", + "########################", + "########################", + "########################", + "111111111111111111111111", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================" + ], + "rotation": 0, + "palettes": [ "megastore" ], + "place_nested": [ + { + "chunks": [ + [ "null", 5 ], + [ "roof_16x16_help", 5 ], + [ "roof_2x2_infrastructure", 80 ], + [ "roof_2x2_infrastructure_2", 40 ], + [ "roof_2x2_utilities", 40 ], + [ "roof_6x6_survivor", 5 ] + ], + "x": [ 1, 22 ], + "y": [ 6, 22 ] + } + ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_0_roof", + "//": "third floor. top right corner", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_flat_roof", + "rows": [ + "########################", + "########################", + "#################1111111", + "#################1=%>%==", + "####11111111111111=%%%==", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================" + ], + "rotation": 1, + "palettes": [ "megastore" ], + "place_nested": [ + { + "chunks": [ + [ "null", 5 ], + [ "roof_16x16_help", 5 ], + [ "roof_2x2_infrastructure", 80 ], + [ "roof_2x2_infrastructure_2", 40 ], + [ "roof_2x2_utilities", 40 ], + [ "roof_6x6_survivor", 5 ] + ], + "x": [ 6, 22 ], + "y": [ 7, 22 ] + } + ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_1_roof", + "//": "roof. left edge", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_flat_roof", + "rows": [ + "########################", + "########################", + "111111111111111111111111", + "========================", + "========================", + "========================", + "========================", + "========================", + "========11111111========", + "========1^^^^^^1========", + "========1^^^^^^1========", + "========1^^^^^^1========", + "========1^^^^^^1========", + "========1^^^^^^1========", + "========1^^^^^^1========", + "========11111111========", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================" + ], + "rotation": 3, + "palettes": [ "megastore" ], + "place_monsters": [ + { "monster": "GROUP_ZOMBIE", "x": [ 1, 22 ], "y": [ 1, 22 ] }, + { "monster": "GROUP_SCHOOL", "x": [ 1, 22 ], "y": [ 1, 22 ], "chance": 20 } + ], + "place_nested": [ + { + "chunks": [ + [ "null", 5 ], + [ "roof_2x2_infrastructure", 80 ], + [ "roof_2x2_infrastructure_2", 40 ], + [ "roof_2x2_utilities", 40 ], + [ "roof_6x6_survivor", 5 ] + ], + "x": [ 1, 22 ], + "y": [ 18, 22 ] + } + ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_1_1_roof", + "//": "roof. middle area", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_flat_roof", + "rows": [ + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========11111111========", + "========1^^^^^^1========", + "========1^^^^^^1========", + "========1^^^^^^1========", + "========1^^^^^^1========", + "========1^^^^^^1========", + "========1^^^^^^1========", + "========11111111========", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================" + ], + "rotation": [ 0, 3 ], + "palettes": [ "megastore" ], + "place_nested": [ + { + "chunks": [ [ "null", 5 ], [ "roof_2x2_infrastructure", 20 ], [ "roof_2x2_infrastructure_2", 20 ], [ "roof_2x2_utilities", 20 ] ], + "x": [ 1, 22 ], + "y": [ 1, 6 ] + } + ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_1_roof", + "//": "roof. right edge", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_flat_roof", + "rows": [ + "########################", + "########################", + "111111111111111111111111", + "========================", + "========================", + "========================", + "========================", + "========================", + "========11111111========", + "========1^^^^^^1========", + "========1^^^^^^1========", + "========1^^^^^^1========", + "========1^^^^^^1========", + "========1^^^^^^1========", + "========1^^^^^^1========", + "========11111111========", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================" + ], + "rotation": 1, + "palettes": [ "megastore" ], + "place_nested": [ + { + "chunks": [ + [ "null", 5 ], + [ "roof_2x2_infrastructure", 80 ], + [ "roof_2x2_infrastructure_2", 40 ], + [ "roof_2x2_utilities", 40 ], + [ "roof_6x6_survivor", 5 ] + ], + "x": [ 1, 22 ], + "y": [ 18, 22 ] + } + ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_0_2_roof", + "//": "third floor. bottom left corner", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_flat_roof", + "rows": [ + "########################", + "########################", + "#################1111111", + "#################1======", + "##1111111111111111======", + "##1=====================", + "##1=====================", + "##1=====================", + "##1=====11111111========", + "##1=====1^^^^^^1========", + "##1=====1^^^^^^1========", + "##1=====1^^^^^^1========", + "##1=====1^^^^^^1========", + "##1=====1^^^^^^1========", + "##1=====1^^^^^^1========", + "##1=====11111111========", + "##1=====================", + "##1=====================", + "##1=====================", + "##111===================", + "####1===================", + "####1===================", + "####1===================", + "####1===================" + ], + "rotation": 3, + "palettes": [ "megastore" ], + "place_nested": [ + { + "chunks": [ [ "null", 5 ], [ "roof_2x2_infrastructure", 80 ], [ "roof_2x2_infrastructure_2", 40 ], [ "roof_2x2_utilities", 40 ] ], + "x": [ 1, 22 ], + "y": [ 18, 22 ] + } + ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_1_2_roof", + "//": "roof. bottom edge", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_flat_roof", + "rows": [ + "########################", + "########################", + "#####11111111111111#####", + "#####1============1#####", + "111111============111111", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================", + "========================" + ], + "rotation": 2, + "palettes": [ "megastore" ], + "place_nested": [ + { + "chunks": [ + [ "null", 5 ], + [ "roof_2x2_infrastructure", 80 ], + [ "roof_2x2_infrastructure_2", 40 ], + [ "roof_2x2_utilities", 40 ], + [ "roof_6x6_survivor", 5 ] + ], + "x": [ 1, 22 ], + "y": [ 7, 22 ] + } + ] + } + }, + { + "type": "mapgen", + "om_terrain": "megastore_2_2_roof", + "//": "third floor bottom right corner", + "weight": 10, + "method": "json", + "object": { + "fill_ter": "t_flat_roof", + "rows": [ + "########################", + "########################", + "####1111111111111111####", + "####1==============1####", + "####1==============11111", + "####1===================", + "####1===================", + "####1===================", + "####1===11111111========", + "####1===1^^^^^^1========", + "####1===1^^^^^^1========", + "####1===1^^^^^^1========", + "####1===1^^^^^^1========", + "####1===1^^^^^^1========", + "####1===1^^^^^^1========", + "####1===11111111========", + "####1===================", + "##111===================", + "##1=====================", + "##1=====================", + "##1=====================", + "##1=====================", + "##1=====================", + "##1=====================" + ], + "rotation": 2, + "palettes": [ "megastore" ], + "place_nested": [ + { + "chunks": [ [ "null", 5 ], [ "roof_2x2_infrastructure", 80 ], [ "roof_2x2_infrastructure_2", 40 ], [ "roof_2x2_utilities", 40 ] ], + "x": [ 7, 22 ], + "y": [ 18, 22 ] + } + ] + } + } +] diff --git a/data/json/mapgen/microlab/microlab_special_tiles.json b/data/json/mapgen/microlab/microlab_special_tiles.json index 0c2a58fa3f6c4..f831fcbc02f42 100644 --- a/data/json/mapgen/microlab/microlab_special_tiles.json +++ b/data/json/mapgen/microlab/microlab_special_tiles.json @@ -90,9 +90,9 @@ " |------------------|6 ", " |-F cccccc -lll -|r ", "|||-F 2 c-||2", - " |--- cc cc - h6-| ", - " |-F cc cc - h c-|c ", - " |-F cc cc -cccc-|c ", + " |--- cc pp - h6-| ", + " |-F cc pt - h c-|c ", + " |-F cc pp -cccc-|c ", " |--- -((((-| ", "2|G 2 7-|||", " 5 T----22---- @@-| ", @@ -111,7 +111,9 @@ ], "palettes": [ "microlab" ], "terrain": { "0": "t_vat", "G": "t_card_science" }, + "furniture": { "t": "f_counter", "p": "f_counter" }, "monster": { "T": { "monster": "mon_turret_rifle" } }, + "item": { "0": { "item": "fetus" }, "t": { "item": "iv_mutagen_alpha" } }, "place_monsters": [ { "monster": "GROUP_LAB", "chance": 2, "x": [ 2, 21 ], "y": [ 2, 21 ], "repeat": [ 1, 5 ] } ] } }, diff --git a/data/json/mapgen/miniature_railway/miniature_railway_z1.json b/data/json/mapgen/miniature_railway/miniature_railway_z1.json new file mode 100644 index 0000000000000..022bf8da2c6e8 --- /dev/null +++ b/data/json/mapgen/miniature_railway/miniature_railway_z1.json @@ -0,0 +1,71 @@ +[ + { + "type": "mapgen", + "method": "json", + "om_terrain": [ [ "miniaturerailway_0_0_0", "miniaturerailway_1_0_0" ], [ "miniaturerailway_0_1_0", "miniaturerailway_1_1_0" ] ], + "object": { + "fill_ter": "t_grass", + "rows": [ + ".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.", + ".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.", + ".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.", + ".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.", + ".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.", + ".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.", + ".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.", + ".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.", + ".@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@.", + ".@@@@@`@@@@`@@@@`@@@@`@@@@`@@@@`@@@@`@pppppppp@.", + ".@@@@@`@@@@`@@@@`@@@@`@@@@`@@@@`@@@@`@pppppppp@.", + ".@@@@@`@@@@`@@@@`@@@@`@@@@`@@@@`@@@@`@pppppppp@.", + ".@@@@@`@@@@`@@@@`@@@@`@@@@`@@@@`@@@@`@pppppppp@.", + ".@@@@@`@@@@`@@@@`@@@@`@@@@`@@@@`@@@@`@pppppppp@.", + ".@@@@@`@@@@`@@@@`@@@@`@@@@`@@@@`@@@@`@pppppppp@.", + ".@@@@@`@@@@`@@@@`@@@@`@@@@`@@@@`@@@@`@pppppppp@.", + ".@@@@@`@@@@`@@@@`@@@@`@@@@`@@@@`@@@@`@pppppppp@.", + ".pppppppppppppppppppppppppppppppppppppppppppppp.", + ".%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%HHHHHHHH__HHHH.", + ".%uuuuu.............uuuuuuuuuuu..HtHtHD||||H7|H.", + ".%uu....X======X....uuuuuuuuuuu..H|H|HV||||*dhH.", + ".%uuu..XX.uuuu.XX...uuuuuuuuuuu..H_H_H|||||H||H.", + ".%uuu.XX.uuuuuu.XX..uuuuuuuuuuu..H|||||||||_||H.", + ".%uuuXX.uuuuuuuu.=..uuuuuuuuuuu..HHHHHHHH__HHHH.", + ".%uuu=..uuuuuuu..=........................p.uu%.", + ".%uuu=..uuuuuuu..=........................p.uu%.", + ".%uuu=.uuuuuuuu..=...pppppppp.............p.uu%.", + ".%uuu=.uuuuuuuu.XX...pWWppWWp.............p.uu%.", + ".%uuu=.uuuuuuu.XX....pppppppp.............p.uu%.", + ".%uuu=.uuuuuu.XX.....pWWppWWppppppppppppppp.uu%.", + ".%uuu=.uuuuuu.=......pppppppp.............p.uu%.", + ".%uuu=.uuuuuu.=.........p.................p.uu%.", + ".%uuu=.uuuuuu.XX........p................=p.uu%.", + ".%uuu=.uuuuuu..XX..ppppppppppppppp.......=p.uu%.", + ".%uuu=.uuuuuuu..X==================X...5|=||5.%.", + ".%uuu=..uuuuuuuu...ppppppppppppppp.XX..5|=||5.%.", + ".%uuu=.uuuuuuuuuu.......p.uuuuuuuu..XX.5|=||5.%.", + ".%uuu=.uuuuuuuuuuuu.....p.uuuuuuuuu..=.5|=||5.%.", + ".%uuu=.uuuuuuuuuuuuu....p.uuuuuuuuu..=.5|=||5.%.", + ".%uuu=.......ww.........p....ww......=.5|=|l5.%.", + ".%uuuXX.....pppppppppppppppppppp....XX.5|=|s5.%.", + ".%uuu.XX.....ww..............ww....XX..5|=|s5.%.", + ".%uuuu.XX...uuuuuuuuuuuuuuuuuu....XX...5|=|l5.%.", + ".%uuuuu.XX..uuuuuuuuuuuuuuuuuu...XX....5|=||5.%.", + ".%uuuuu..X=======================X.....555555.%.", + ".%uuuuuu..............................uuuuuuu.%.", + ".%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.", + "................................................" + ], + "terrain": { }, + "furniture": { }, + "palettes": [ "miniature_railway_palette" ], + "place_monsters": [ + { "monster": "GROUP_SCHOOL", "x": [ 35, 40 ], "y": [ 10, 15 ], "repeat": [ 0, 1 ], "density": 1 }, + { "monster": "GROUP_SCHOOL", "x": [ 35, 40 ], "y": [ 35, 40 ], "repeat": [ 0, 1 ], "density": 1 } + ], + "place_vehicles": [ + { "vehicle": "miniature_train_loco", "x": 5, "y": 31, "chance": 5, "fuel": 20, "status": 25, "rotation": 270 }, + { "vehicle": "miniature_train_loco", "x": 41, "y": 41, "chance": 5, "fuel": 5, "status": 15, "rotation": 270 } + ] + } + } +] diff --git a/data/json/mapgen/miniature_railway/miniature_railway_z2.json b/data/json/mapgen/miniature_railway/miniature_railway_z2.json new file mode 100644 index 0000000000000..0bef755b407b4 --- /dev/null +++ b/data/json/mapgen/miniature_railway/miniature_railway_z2.json @@ -0,0 +1,63 @@ +[ + { + "type": "mapgen", + "method": "json", + "om_terrain": [ [ "miniaturerailway_0_0_1", "miniaturerailway_1_0_1" ], [ "miniaturerailway_0_1_1", "miniaturerailway_1_1_1" ] ], + "object": { + "fill_ter": "t_grass", + "rows": [ + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + ":::::::::::::::::::::::::::::::::rrrrrrrrrrrrrr:", + ":::::::::::::::::::::::::::::::::rrrrrrrrrrrrrr:", + ":::::::::::::::::::::::::::::::::rrrrrrrrrrrrrr:", + ":::::::::::::::::::::::::::::::::rrrrrrrrrrrrrr:", + ":::::::::::::::::::::::::::::::::rrrrrrrrrrrrrr:", + ":::::::::::::::::::::::::::::::::rrrrrrrrrrrrrr:", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + ":::::::::::::::::::::::::::::::::::::::rrrrrr:::", + ":::::::::::::::::::::::::::::::::::::::rrrrrr:::", + ":::::::::::::::::::::::::::::::::::::::rrrrrr:::", + ":::::::::::::::::::::::::::::::::::::::rrrrrr:::", + ":::::::::::::::::::::::::::::::::::::::rrrrrr:::", + ":::::::::::::::::::::::::::::::::::::::rrrrrr:::", + ":::::::::::::::::::::::::::::::::::::::rrrrrr:::", + ":::::::::::::::::::::::::::::::::::::::rrrrrr:::", + ":::::::::::::::::::::::::::::::::::::::rrrrrr:::", + ":::::::::::::::::::::::::::::::::::::::rrrrrr:::", + ":::::::::::::::::::::::::::::::::::::::rrrrrr:::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::", + "::::::::::::::::::::::::::::::::::::::::::::::::" + ], + "terrain": { }, + "furniture": { }, + "palettes": [ "miniature_railway_palette" ] + } + } +] diff --git a/data/json/mapgen/movie_theater.json b/data/json/mapgen/movie_theater.json index 19a1dc5c8ea3b..828860f9074b9 100644 --- a/data/json/mapgen/movie_theater.json +++ b/data/json/mapgen/movie_theater.json @@ -1,732 +1,264 @@ [ { "method": "json", - "object": { - "furniture": { - "#": "f_counter", - "&": "f_toilet", - "+": "f_null", - ".": "f_null", - "6": "f_arcade_machine", - "7": "f_pinball_machine", - "_": "f_null", - "c": "f_chair", - "s": "f_sink", - "t": "f_trashcan", - "{": "f_vending_c", - "|": "f_null" - }, - "place_items": [ - { "chance": 35, "item": "trash_cart", "x": 3, "y": 21 }, - { "chance": 35, "item": "trash_cart", "x": 22, "y": 17 }, - { "chance": 35, "item": "trash_cart", "x": 10, "y": 17 }, - { "chance": 35, "item": "trash_cart", "x": 2, "y": 15 }, - { "chance": 35, "item": "trash_cart", "x": 3, "y": 10 }, - { "chance": 35, "item": "trash_cart", "x": 12, "y": 2 }, - { "chance": 75, "item": "vending_food_items", "x": [ 1, 2 ], "y": 13 }, - { "chance": 35, "item": "misc_smoking", "x": 5, "y": 7 }, - { "chance": 75, "item": "vending_drink_items", "x": [ 3, 4 ], "y": 13 }, - { "chance": 45, "item": "toy_store", "x": 21, "y": 22 }, - { "chance": 45, "item": "toy_store", "x": 8, "y": 14 }, - { "chance": 55, "item": "trash", "x": 17, "y": 11 }, - { "chance": 55, "item": "trash", "x": 18, "y": 1 }, - { "chance": 45, "item": "candy_shop", "x": 14, "y": 19 } - ], - "place_monsters": [ { "chance": 15, "density": 0.25, "monster": "GROUP_ZOMBIE", "x": 12, "y": 15 } ], - "place_toilets": [ - { "x": 1, "y": 5 }, - { "x": 3, "y": 5 }, - { "x": 5, "y": 5 }, - { "x": 7, "y": 5 }, - { "x": 9, "y": 5 }, - { "x": 11, "y": 5 }, - { "x": 13, "y": 5 }, - { "x": 15, "y": 5 }, - { "x": 17, "y": 5 }, - { "x": 19, "y": 5 }, - { "x": 1, "y": 7 }, - { "x": 3, "y": 7 }, - { "x": 5, "y": 7 }, - { "x": 7, "y": 7 }, - { "x": 9, "y": 7 }, - { "x": 11, "y": 7 }, - { "x": 13, "y": 7 } - ], - "rows": [ - "||||||||||||||||||||||||", - "|#s#s#s#s#s#s#s#s#t....|", - "|......................|", - "|......................|", - "|_|+|_|_|_|+|_|+|+|_|..|", - "|&|&|&|&|&|&|&|&|&|&|..|", - "|||||||||||||||||||||...", - "|&|&|&|&|&|&|&|&|&|&|...", - "|_|_|+|_|+|_|_|.....||||", - "|...................||||", - "|.......................", - "|#s#s#s#s#s#s#s##t......", - "||||||||||||||||||||||||", - "|{{{{|6.6.6...7.7..66..|", - "|....|c.c.c............|", - "|.......................", - "|......c........c.......", - "|...66666....6666.......", - "|...66666....6666.......", - "|...c.c.......c........|", - "|....................c6|", - "|7...................c6|", - "|....................c6|", - "|...7.7.7.7.7.7.7.7....|" - ], - "terrain": { - "#": "t_floor", - "&": "t_floor", - "+": "t_door_metal_c", - ".": "t_floor", - "6": "t_floor", - "7": "t_floor", - "_": "t_door_metal_o", - "c": "t_floor", - "s": "t_floor", - "t": "t_floor", - "{": "t_floor", - "|": "t_wall" - } - }, - "om_terrain": "movietheater_0_0", "type": "mapgen", - "weight": 100 - }, - { - "method": "json", - "object": { - "furniture": { "#": "f_chair", "-": "f_null", ".": "f_null", "H": "f_armchair", "|": "f_null" }, - "place_items": [ - { "chance": 5, "item": "alcohol", "x": 22, "y": 3 }, - { "chance": 5, "item": "alcohol", "x": 23, "y": 1 }, - { "chance": 25, "item": "jackets", "x": 23, "y": 16 }, - { "chance": 25, "item": "jackets", "x": 6, "y": 11 }, - { "chance": 25, "item": "jackets", "x": 23, "y": 2 }, - { "chance": 15, "item": "bags", "x": 15, "y": 9 }, - { "chance": 15, "item": "bags", "x": 4, "y": 5 }, - { "chance": 35, "item": "trash_cart", "x": 16, "y": 22 }, - { "chance": 35, "item": "trash_cart", "x": 6, "y": 20 }, - { "chance": 35, "item": "trash_cart", "x": 20, "y": 18 }, - { "chance": 35, "item": "trash_cart", "x": 7, "y": 17 }, - { "chance": 35, "item": "trash_cart", "x": 17, "y": 16 }, - { "chance": 35, "item": "trash_cart", "x": 14, "y": 14 }, - { "chance": 35, "item": "trash_cart", "x": 20, "y": 13 }, - { "chance": 35, "item": "trash_cart", "x": 4, "y": 13 }, - { "chance": 35, "item": "trash_cart", "x": 10, "y": 12 }, - { "chance": 35, "item": "trash_cart", "x": 13, "y": 11 }, - { "chance": 35, "item": "trash_cart", "x": 21, "y": 9 }, - { "chance": 35, "item": "trash_cart", "x": 6, "y": 8 }, - { "chance": 35, "item": "trash_cart", "x": 16, "y": 7 }, - { "chance": 35, "item": "trash_cart", "x": 10, "y": 7 }, - { "chance": 35, "item": "trash_cart", "x": 14, "y": 5 }, - { "chance": 35, "item": "trash_cart", "x": 19, "y": 4 }, - { "chance": 35, "item": "trash_cart", "x": 9, "y": 4 }, - { "chance": 35, "item": "trash_cart", "x": 17, "y": 1 } - ], - "place_monsters": [ { "chance": 15, "density": 0.25, "monster": "GROUP_ZOMBIE", "x": 12, "y": 10 } ], - "rows": [ - "||||||||||||||||||||||||", - "|......................#", - "D........#.#.#.#.#.#.#.#", - "|........#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|........#.#.#.#.#.#.#.#", - "|........#.#.#.#.#.#.#.#", - "|......................#", - "|.......----.-----||||||", - "|.......................", - "|.......................", - "|.......................", - "||||||||||||||||||||||||" - ], - "terrain": { "#": "t_floor", "D": "t_door_c", "-": "t_railing_h", ".": "t_floor", "H": "t_floor", "|": "t_wall" } - }, - "om_terrain": "movietheater_0_1", - "type": "mapgen", - "weight": 100 - }, - { - "method": "json", + "weight": 100, + "om_terrain": [ + [ "movietheater_0_0", "movietheater_1_0", "movietheater_2_0" ], + [ "movietheater_0_1", "movietheater_1_1", "movietheater_2_1" ], + [ "movietheater_0_2", "movietheater_1_2", "movietheater_2_2" ] + ], "object": { - "furniture": { "#": "f_chair", "-": "f_null", ".": "f_null", "H": "f_armchair", "|": "f_null" }, - "place_items": [ - { "chance": 5, "item": "alcohol", "x": 22, "y": 3 }, - { "chance": 5, "item": "alcohol", "x": 23, "y": 1 }, - { "chance": 25, "item": "jackets", "x": 23, "y": 16 }, - { "chance": 25, "item": "jackets", "x": 6, "y": 11 }, - { "chance": 25, "item": "jackets", "x": 23, "y": 2 }, - { "chance": 15, "item": "bags", "x": 15, "y": 9 }, - { "chance": 15, "item": "bags", "x": 4, "y": 5 }, - { "chance": 35, "item": "trash_cart", "x": 16, "y": 22 }, - { "chance": 35, "item": "trash_cart", "x": 6, "y": 20 }, - { "chance": 35, "item": "trash_cart", "x": 20, "y": 18 }, - { "chance": 35, "item": "trash_cart", "x": 7, "y": 17 }, - { "chance": 35, "item": "trash_cart", "x": 17, "y": 16 }, - { "chance": 35, "item": "trash_cart", "x": 14, "y": 14 }, - { "chance": 35, "item": "trash_cart", "x": 20, "y": 13 }, - { "chance": 35, "item": "trash_cart", "x": 4, "y": 13 }, - { "chance": 35, "item": "trash_cart", "x": 10, "y": 12 }, - { "chance": 35, "item": "trash_cart", "x": 13, "y": 11 }, - { "chance": 35, "item": "trash_cart", "x": 21, "y": 9 }, - { "chance": 35, "item": "trash_cart", "x": 6, "y": 8 }, - { "chance": 35, "item": "trash_cart", "x": 16, "y": 7 }, - { "chance": 35, "item": "trash_cart", "x": 10, "y": 7 }, - { "chance": 35, "item": "trash_cart", "x": 14, "y": 5 }, - { "chance": 35, "item": "trash_cart", "x": 19, "y": 4 }, - { "chance": 35, "item": "trash_cart", "x": 9, "y": 4 }, - { "chance": 35, "item": "trash_cart", "x": 17, "y": 1 } - ], - "place_monsters": [ { "chance": 15, "density": 0.25, "monster": "GROUP_ZOMBIE", "x": 12, "y": 10 } ], + "fill_ter": "t_thconc_floor", "rows": [ - "||||||||||||||||||||||||", - "|......................#", - "D........#.#.#.#.#.#.#.#", - "|........#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|...H.H..#.#.#.#.#.#.#.#", - "|........#.#.#.#.#.#.#.#", - "|........#.#.#.#.#.#.#.#", - "|......................#", - "|.......----.-----||||||", - "|.......................", - "|.......................", - "|.......................", - "||||||||||||||||||||||||" + "!!!!!!!!!!!!!!!!!!!!!!!!!!%%^^%%%%%^^%%%%%^^%%!!!!!!!!!!!!!!!!!!!!!!!!!!", + "!TsTsTsTsTsTsTsTsTG....|________________________|.......-....|..TT|.XXX!", + "!......................|________________________|.......-....+...T|...X!", + "!......................|||%%^^%%%%%^^%%%%%^^%%|||....!!G-.-..|...T|...X!", + "!+|+|+|+|+|+|+|+|+|+|..|___******************_vv|....!!G-.-..T...T|X..X!", + "!&|&|&|&|&|&|&|&|&|&|..|___*$$$$$$$$$$$$$$$$*___........-.-..Tc..T|X...!", + "!||||||||||||||||||||...___*$**************$*___@%@.....-.-..T...g|....!", + "!&|&|&|&|&|&|&|&|&|&|...___*$$$$********$$$$*___@%@.....-.-..T...g|...X!", + "!+|+|+|+|+|+|+|.....||||___****$********$****___@%@.....-.-..T...r|t..X!", + "!...................||||______*$*|Z%Z%|*$*______@%@.......-..T...r|t..X!", + "!.......................______*$*d*e*e|*$*______..........-..|...o|....!", + "!TsTsTsTsTsTsTsTTG......____!_*$*||||||*$*_!____........RR-..|.........!", + "!|||||||||||||||||||||||______*$********$*______@%@..........|.........!", + "!vFvF|6.6.6...7.7..66..|______*$********$*______@%@..........|gg..|....!", + "!....|c.c.c...........G|____!_*$********$*_!____@%@..!!G.....||||||{...!", + "!.......................______*$********$*______@%@..!!G.....|vFTT|{...!", + "!......c........c.......______*$********$*______.............|...T|{...!", + "!...66666....6666.......____!_*$********$*_!____.............|...T||+||!", + "!...66666....6666.......______*$********$*______@%@..............T|..{{!", + "!...c.c.......c.......G|______*$********$*______@%@..............T|....!", + "!....................c6|______*$********$*______@%@..!!G.........T|..ct!", + "!7...................c6|______*$********$*______@%@..!!G.........T|..ct!", + "!....................c6|______*$********$*______.............|...T||+||!", + "!...7.7.7.7.7.7.7.7....|______*$********$*______.............|...T|<.XX!", + "!|||||||||||||||||||||||||||||*$********$*|||||||||||||||||||||||||||||!", + "!......................#|__tt|*$********$*|tt__|#......................!", + "D........#.#.#.#.#.#.#.#|__tt|b$********$b|tt__|#.#.#.#.#.#.#.#........D", + "!........#.#.#.#.#.#.#.#|____|b$***!!***$b|____|#.#.#.#.#.#.#.#........!", + "!...H.H..#.#.#.#.#.#.#.#|____|b$***!!***$b|___c|#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#|t___|b$********$b|___t|#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#wt___|b$********$b|__ctw#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#wZc__|b$********$b|___Zw#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#|____|*$********$*|____|#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#|___G|*$********$*|G___|#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#|__|||*$********$*|||__|#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#|__|a_*$********$*_F|__|#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#|__|__*$********$*_y|__|#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#|__|__*$********$*_v|__|#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#|__|F_*$********$*_y|__|#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#|__|y_*$***Ki***$*_F|__|#.#.#.#.#.#.#.#..H.H...!", + "!........#.#.#.#.#.#.#.#|__|v_*$***iK***$*__|__|#.#.#.#.#.#.#.#........!", + "!........#.#.#.#.#.#.#.#|l_|y_*$********$*__|_l|#.#.#.#.#.#.#.#........!", + "!......................#|l_|F_*$********$*_a|_l|#......................!", + "!.......----.-----||||||||+|||*$********$*|||+||||||||||----.-----.....!", + "!.......................+******$********$******+.......................!", + "!.......................|*$$$$$$********$$$$$$*|.......................!", + "!.......................+******$********$******+.......................!", + "!|||||||||||||||||||||||||||||*$********$*|||||||||||||||||||||||||||||!", + "!|||||||||||||||||||||||||||||*$********$*|||||||||||||||||||||||||||||!", + "!......................#|__tt|*$********$*|tt__|#......................!", + "D........#.#.#.#.#.#.#.#|__tt|b$********$b|tt__|#.#.#.#.#.#.#.#........D", + "!........#.#.#.#.#.#.#.#|____|b$***!!***$b|____|#.#.#.#.#.#.#.#........!", + "!...H.H..#.#.#.#.#.#.#.#|____|b$***!!***$b|___c|#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#|t___|b$********$b|___t|#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#wt___|b$********$b|__ctw#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#wZc__|b$********$b|___Zw#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#|____|*$********$*|____|#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#|___G|*$********$*|G___|#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#|__|||*$********$*|||__|#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#|__|a_*$********$*_v|__|#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#|__|__*$********$*_y|__|#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#|__|__*$********$*_F|__|#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#|__|v_*$********$*_y|__|#.#.#.#.#.#.#.#..H.H...!", + "!...H.H..#.#.#.#.#.#.#.#|__|y_*$***Ki***$*_v|__|#.#.#.#.#.#.#.#..H.H...!", + "!........#.#.#.#.#.#.#.#|__|F_*$***iK***$*__|__|#.#.#.#.#.#.#.#........!", + "!........#.#.#.#.#.#.#.#|l_|y_*$********$*__|_l|#.#.#.#.#.#.#.#........!", + "!......................#|l_|v_*$********$*_a|_l|#......................!", + "!.......----.-----||||||||+|||*$********$*|||+||||||||||----.-----.....!", + "!.......................+******$********$******+.......................!", + "!.......................|*$$$$$$$$$$$$$$$$$$$$*|.......................!", + "!.......................+**********************+.......................!", + "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" ], - "terrain": { "#": "t_floor", "D": "t_door_c", "-": "t_railing_h", ".": "t_floor", "H": "t_floor", "|": "t_wall" } - }, - "om_terrain": "movietheater_0_2", - "type": "mapgen", - "weight": 100 - }, - { - "method": "json", - "object": { - "furniture": { - "#": "f_counter", - "&": "f_null", - "+": "f_null", - "-": "f_null", - ".": "f_null", - "_": "f_null", - "d": "f_null", - "|": "f_null" + "palettes": [ "movie_theater_palette.json" ], + "terrain": { "#": "t_thconc_floor", "H": "t_thconc_floor", "y": "t_thconc_floor" }, + "toilets": { "&": { } }, + "vendingmachines": { "v": { "item_group": "vending_drink" }, "F": { "item_group": "vending_food" } }, + "items": { + "&": { "item": "alcohol", "chance": 10 }, + "T": { "item": "snacks", "chance": 5 }, + "X": { "item": "snacks", "chance": 30, "repeat": [ 6, 12 ] }, + "g": { "item": "fridgesnacks", "chance": 70, "repeat": [ 6, 12 ] }, + "G": { "item": "trash", "chance": 20, "repeat": [ 2, 4 ] }, + "t": [ + { "item": "snacks", "chance": 3 }, + { "item": "consumer_electronics", "chance": 4 }, + { "item": "cubical_office", "chance": 10 }, + { "item": "office_breakroom", "chance": 5 } + ], + "#": [ + { "item": "jackets", "chance": 3 }, + { "item": "bags", "chance": 4 }, + { "item": "trash_cart", "chance": 8 }, + { "item": "hatstore_accessories", "chance": 5 } + ], + "H": [ + { "item": "jackets", "chance": 3 }, + { "item": "bags", "chance": 4 }, + { "item": "trash_cart", "chance": 10 }, + { "item": "hatstore_accessories", "chance": 5 } + ], + "{": [ + { "item": "jackets", "chance": 3 }, + { "item": "bags", "chance": 4 }, + { "item": "consumer_electronics", "chance": 5 }, + { "item": "hatstore_accessories", "chance": 5 }, + { "item": "manuals", "chance": 5 }, + { "item": "textbooks", "chance": 5 } + ], + "l": [ + { "item": "softdrugs", "chance": 10 }, + { "item": "bags", "chance": 20 }, + { "item": "consumer_electronics", "chance": 5 }, + { "item": "alcohol", "chance": 5 }, + { "item": "manuals", "chance": 5 }, + { "item": "textbooks", "chance": 5 } + ] }, "place_items": [ - { "chance": 35, "item": "trash_cart", "x": 21, "y": 21 }, - { "chance": 35, "item": "trash_cart", "x": 1, "y": 19 }, - { "chance": 35, "item": "trash_cart", "x": 14, "y": 16 }, - { "chance": 35, "item": "trash_cart", "x": 6, "y": 7 }, - { "chance": 35, "item": "trash_cart", "x": 19, "y": 6 }, - { "chance": 35, "item": "trash_cart", "x": 2, "y": 2 }, - { "chance": 35, "item": "trash_cart", "x": 15, "y": 1 }, - { "chance": 5, "item": "jackets", "x": 9, "y": 13 }, - { "chance": 15, "item": "consumer_electronics", "x": 8, "y": 20 }, - { "chance": 5, "item": "shoes", "x": 14, "y": 8 }, - { "chance": 35, "item": "cubical_office", "x": [ 10, 11 ], "y": 20 } + { "chance": 35, "item": "misc_smoking", "x": 5, "y": 7 }, + { "chance": 45, "item": "toy_store", "x": 21, "y": 22 }, + { "chance": 45, "item": "toy_store", "x": 8, "y": 14 } ], - "rows": [ - "--||++|||||++|||||++||--", - "________________________", - "________________________", - "--||++|||||++|||||++||--", - "___.................._&&", - "___..................___", - "___..................___", - "___..................___", - "___..................___", - "______............______", - "______............______", - "____-_............_-____", - "______............______", - "______............______", - "____-_............_-____", - "______............______", - "______............______", - "____-_............_-____", - "______............______", - "______............______", - "______.-####-.....______", - "______.d....-.....______", - "______.------.....______", - "______............______" + "place_monsters": [ + { "chance": 15, "density": 0.25, "monster": "GROUP_ZOMBIE", "x": 12, "y": 15 }, + { "chance": 15, "density": 0.25, "monster": "GROUP_ZOMBIE", "x": 57, "y": 15 }, + { "chance": 15, "density": 0.0, "monster": "GROUP_ZOMBIE", "x": 69, "y": 11 }, + { "chance": 15, "density": 0.25, "monster": "GROUP_ZOMBIE", "x": 12, "y": 34 }, + { "chance": 15, "density": 0.25, "monster": "GROUP_ZOMBIE", "x": 60, "y": 34 }, + { "chance": 15, "density": 0.25, "monster": "GROUP_ZOMBIE", "x": 12, "y": 58 }, + { "chance": 15, "density": 0.25, "monster": "GROUP_ZOMBIE", "x": 60, "y": 58 } ], - "terrain": { - "#": "t_carpet_purple", - "&": "t_atm", - "+": "t_door_glass_c", - "-": "t_wall", - ".": "t_carpet_purple", - "_": "t_floor", - "d": "t_door_c", - "|": "t_wall_glass" - } - }, - "om_terrain": "movietheater_1_0", - "type": "mapgen", - "weight": 100 + "place_item": [ + { "item": "ketchup", "repeat": 1, "x": 65, "y": 16 }, + { "item": "ketchup", "repeat": 1, "x": 65, "y": 17 }, + { "item": "ketchup", "repeat": 1, "x": 65, "y": 18 }, + { "item": "mustard", "repeat": 1, "x": 65, "y": 20 }, + { "item": "mustard", "repeat": 1, "x": 65, "y": 21 }, + { "item": "mustard", "repeat": 1, "x": 65, "y": 22 }, + { "item": "vinegar", "repeat": 1, "x": 65, "y": 22 } + ] + } }, { "method": "json", - "object": { - "furniture": { - "#": "f_table", - "&": "f_trashcan", - "+": "f_null", - ".": "f_null", - "H": "f_armchair", - "^": "f_indoor_plant", - "_": "f_null", - "a": "f_null", - "b": "f_bench", - "c": "f_chair", - "d": "f_null", - "i": "f_indoor_plant", - "l": "f_locker", - "w": "f_null", - "{": "f_vending_c", - "|": "f_null" - }, - "place_items": [ - { "chance": 45, "item": "jackets", "x": 1, "y": 17 }, - { "chance": 75, "item": "vending_food_items", "x": 4, "y": 18 }, - { "chance": 75, "item": "vending_food_items", "x": 19, "y": 11 }, - { "chance": 45, "item": "softdrugs", "x": 22, "y": 17 }, - { "chance": 35, "item": "cubical_office", "x": 22, "y": 5 }, - { "chance": 35, "item": "cubical_office", "x": 1, "y": 5 }, - { "chance": 35, "item": "cubical_office", "x": 19, "y": [ 1, 2 ] }, - { "chance": 35, "item": "cubical_office", "x": 3, "y": 1 }, - { "chance": 55, "item": "trash", "x": 19, "y": 9 }, - { "chance": 55, "item": "trash", "x": 4, "y": 9 }, - { "chance": 15, "item": "bags", "x": 1, "y": 18 }, - { "chance": 35, "item": "trash_cart", "x": 10, "y": 21 }, - { "chance": 35, "item": "trash_cart", "x": 19, "y": 20 }, - { "chance": 35, "item": "trash_cart", "x": 6, "y": 14 }, - { "chance": 35, "item": "trash_cart", "x": 8, "y": 9 }, - { "chance": 35, "item": "trash_cart", "x": 14, "y": 5 }, - { "chance": 75, "item": "vending_drink_items", "x": 4, "y": 16 }, - { "chance": 75, "item": "vending_drink_items", "x": 19, "y": 15 }, - { "chance": 75, "item": "vending_drink_items", "x": 4, "y": 14 }, - { "chance": 75, "item": "vending_drink_items", "x": 19, "y": 13 }, - { "chance": 25, "item": "manuals", "x": 20, "y": 1 } - ], - "rows": [ - "||||||............||||||", - "|__##|............|##__|", - "|__##|b..........b|##__|", - "|____|b....||....b|____|", - "|____|b....||....b|___c|", - "|#___|b..........b|___#|", - "w#___|b..........b|__c#w", - "wTc__|b..........b|___Tw", - "|____|............|____|", - "|___&|............|&___|", - "|__|||............|||__|", - "|__|a_............_{|__|", - "|__|__............_^|__|", - "|__|__............_{|__|", - "|__|{_............_^|__|", - "|__|^_.....Hi....._{|__|", - "|__|{_.....iH.....__|__|", - "|l_|^_............__|_l|", - "|l_|{_............_a|_l|", - "||+|||............|||+||", - "+......................d", - "|......................|", - "d......................+", - "||||||............||||||" - ], - "terrain": { - "#": "t_floor", - "&": "t_floor", - "+": "t_door_metal_c", - ".": "t_carpet_purple", - "H": "t_carpet_purple", - "^": "t_floor", - "_": "t_floor", - "a": "t_atm", - "b": "t_carpet_purple", - "c": "t_floor", - "d": "t_door_metal_o", - "i": "t_carpet_purple", - "l": "t_floor", - "w": "t_window", - "{": "t_floor", - "T": "t_console_broken", - "|": "t_wall" - } - }, - "om_terrain": "movietheater_1_1", "type": "mapgen", - "weight": 100 - }, - { - "method": "json", + "weight": 100, + "om_terrain": [ + [ "movietheater_roof_0_0", "movietheater_roof_1_0", "movietheater_roof_2_0" ], + [ "movietheater_roof_0_1", "movietheater_roof_1_1", "movietheater_roof_2_1" ], + [ "movietheater_roof_0_2", "movietheater_roof_1_2", "movietheater_roof_2_2" ] + ], "object": { - "furniture": { - "#": "f_table", - "&": "f_trashcan", - "+": "f_null", - ".": "f_null", - "H": "f_armchair", - "^": "f_indoor_plant", - "_": "f_null", - "a": "f_null", - "b": "f_bench", - "c": "f_chair", - "d": "f_null", - "i": "f_indoor_plant", - "l": "f_locker", - "w": "f_null", - "{": "f_vending_c", - "|": "f_null" - }, - "place_items": [ - { "chance": 45, "item": "jackets", "x": 1, "y": 17 }, - { "chance": 75, "item": "vending_food_items", "x": 4, "y": 18 }, - { "chance": 75, "item": "vending_food_items", "x": 19, "y": 11 }, - { "chance": 35, "item": "cubical_office", "x": 22, "y": 5 }, - { "chance": 35, "item": "cubical_office", "x": 1, "y": 5 }, - { "chance": 35, "item": "cubical_office", "x": 19, "y": [ 1, 2 ] }, - { "chance": 35, "item": "cubical_office", "x": 3, "y": 1 }, - { "chance": 55, "item": "trash", "x": 19, "y": 9 }, - { "chance": 55, "item": "trash", "x": 4, "y": 9 }, - { "chance": 15, "item": "bags", "x": 1, "y": 18 }, - { "chance": 25, "item": "hatstore_hats", "x": 22, "y": 17 }, - { "chance": 35, "item": "trash_cart", "x": 10, "y": 21 }, - { "chance": 35, "item": "trash_cart", "x": 19, "y": 20 }, - { "chance": 35, "item": "trash_cart", "x": 6, "y": 14 }, - { "chance": 35, "item": "trash_cart", "x": 8, "y": 9 }, - { "chance": 35, "item": "trash_cart", "x": 14, "y": 5 }, - { "chance": 35, "item": "textbooks", "x": 22, "y": 18 }, - { "chance": 75, "item": "vending_drink_items", "x": 4, "y": 16 }, - { "chance": 75, "item": "vending_drink_items", "x": 19, "y": 15 }, - { "chance": 75, "item": "vending_drink_items", "x": 4, "y": 14 }, - { "chance": 75, "item": "vending_drink_items", "x": 19, "y": 13 }, - { "chance": 15, "item": "jackets", "x": 17, "y": 3 }, - { "chance": 25, "item": "manuals", "x": 20, "y": 1 } - ], + "fill_ter": "t_thconc_floor", "rows": [ - "||||||............||||||", - "|__##|............|##__|", - "|__##|b..........b|##__|", - "|____|b....||....b|____|", - "|____|b....||....b|___c|", - "|#___|b..........b|___#|", - "w#___|b..........b|__c#w", - "wTc__|b..........b|___Tw", - "|____|............|____|", - "|___&|............|&___|", - "|__|||............|||__|", - "|__|a_............_{|__|", - "|__|__............_^|__|", - "|__|__............_{|__|", - "|__|{_............_^|__|", - "|__|^_.....Hi....._{|__|", - "|__|{_.....iH.....__|__|", - "|l_|^_............__|_l|", - "|l_|{_............_a|_l|", - "||+|||............|||+||", - "+......................d", - "|......................|", - "d......................+", - "||||||||||||||||||||||||" + "222222222222222222222222222222222222222222222222222222222222222222222222", + "|......................................................................3", + "|......=............................................................:..3", + "|......................................................................3", + "|......&..&..&.............................................&...........3", + "|.................................................................=....3", + "|......................................................................3", + "|......&..&..&.............................................&...........3", + "|......................................................................3", + "|....=............................................................=....3", + "|..........................................................&...........3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|...........................................%%%D%%%%%%%%%%%%%%%%%%%%%..3", + "|...........................................%...........AAAAA.AAAAA.%..3", + "|...........................................%...YY..................%..3", + "|...........................................%...YY...################..3", + "|...........................................%........#6666______#pHH#..3", + "|...........................................%........+__________#_HH#..3", + "|...........................................%........#6666______+__p#..3", + "|...........................................%........#__________#####..3", + "|...........................................%........#__________#__>#..3", + "|...........................................D........#__________##+##..3", + "|...........................................%........#______________#..3", + "|...........................................%........+__________CCC_#..3", + "|...........................................%........#__C______CCC_p#..3", + "|...........................................%..X.....#_CCC______C__p#..3", + "|...........................................%........#___C_______CCC#..3", + "|...........................................%%%%%%%%%################..3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......:..................................................:............3", + "5......................................................................5", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|......................................................................3", + "|----------------------------------------------------------------------3" ], + "palettes": [ "roof_palette" ], + "liquids": { "6": { "liquid": "water_clean", "amount": [ 0, 100 ] }, "Y": { "liquid": "water_clean", "amount": [ 100, 1000 ] } }, "terrain": { - "#": "t_floor", - "&": "t_floor", + ">": "t_ladder_down", + "_": "t_thconc_floor", + "#": "t_brick_wall", "+": "t_door_metal_c", - ".": "t_carpet_purple", - "H": "t_carpet_purple", - "^": "t_floor", - "_": "t_floor", - "a": "t_atm", - "b": "t_carpet_purple", - "c": "t_floor", - "d": "t_door_metal_o", - "i": "t_carpet_purple", - "l": "t_floor", - "w": "t_window", - "{": "t_floor", - "T": "t_console_broken", - "|": "t_wall" - } - }, - "om_terrain": "movietheater_1_2", - "type": "mapgen", - "weight": 100 - }, - { - "method": "json", - "object": { - "place_item": [ - { "item": "ketchup", "repeat": 1, "x": 17, "y": 16 }, - { "item": "ketchup", "repeat": 1, "x": 17, "y": 17 }, - { "item": "ketchup", "repeat": 1, "x": 17, "y": 18 }, - { "item": "mustard", "repeat": 1, "x": 17, "y": 20 }, - { "item": "mustard", "repeat": 1, "x": 17, "y": 21 }, - { "item": "mustard", "repeat": 1, "x": 17, "y": 22 }, - { "item": "vinegar", "repeat": 1, "x": 17, "y": 22 } - ], - "furniture": { - "#": "f_counter", - "+": "f_null", - "-": "f_null", - ".": "f_null", - "R": "f_null", - "X": "f_crate_c", - "c": "f_chair", - "g": "f_glass_fridge", - "o": "f_oven", - "r": "f_rack", - "t": "f_table", - "v": "f_vending_c", - "{": "f_locker", - "|": "f_null" + "D": "t_chaingate_l", + "%": "t_chainfence", + "H": "t_generator_broken", + "&": "t_flat_roof", + "A": "t_flat_roof", + ":": "t_flat_roof", + "Y": "t_flat_roof", + "X": "t_flat_roof", + "=": "t_flat_roof", + "p": "t_machinery_old" }, - "place_items": [ - { "chance": 45, "item": "jackets", "x": 22, "y": 18 }, - { "chance": 75, "item": "vending_food_items", "x": 14, "y": 15 }, - { "chance": 75, "item": "vending_food_items", "x": 22, "y": 8 }, - { "chance": 75, "item": "vending_food_items", "x": 22, "y": 2 }, - { "chance": 75, "item": "vending_food_items", "x": 21, "y": 1 }, - { "chance": 55, "item": "office_breakroom", "x": [ 21, 22 ], "y": 21 }, - { "chance": 35, "item": "school", "x": 21, "y": 23 }, - { "chance": 65, "item": "snacks", "x": 22, "y": 9 }, - { "chance": 65, "item": "snacks", "x": 17, "y": [ 8, 9 ] }, - { "chance": 65, "item": "snacks", "x": 22, "y": 7 }, - { "chance": 65, "item": "snacks", "x": 19, "y": 5 }, - { "chance": 65, "item": "snacks", "x": 22, "y": [ 3, 4 ] }, - { "chance": 65, "item": "snacks", "x": 17, "y": [ 3, 4 ] }, - { "chance": 65, "item": "snacks", "x": 22, "y": 1 }, - { "chance": 15, "item": "bags", "x": 21, "y": 18 }, - { "chance": 35, "item": "trash_cart", "x": 8, "y": 20 }, - { "chance": 35, "item": "trash_cart", "x": 1, "y": 15 }, - { "chance": 35, "item": "trash_cart", "x": 12, "y": 1 }, - { "chance": 75, "item": "vending_drink_items", "x": 15, "y": 15 }, - { "chance": 75, "item": "vending_drink_items", "x": 19, "y": 4 }, - { "chance": 75, "item": "vending_drink_items", "x": 20, "y": 1 }, - { "chance": 55, "item": "coffee_shop", "x": 17, "y": [ 6, 7 ] }, - { "chance": 45, "item": "dining", "x": 17, "y": 2 }, - { "chance": 45, "item": "fridgesnacks", "x": [ 14, 15 ], "y": 13 } - ], - "place_monsters": [ - { "chance": 15, "density": 0.25, "monster": "GROUP_ZOMBIE", "x": 9, "y": 15 }, - { "chance": 15, "density": 0.0, "monster": "GROUP_ZOMBIE", "x": 21, "y": 11 } - ], - "rows": [ - "||||||||||||||||||||||||", - "|.......-....|..##|.XXX|", - "|.......-....+...#|...X|", - "|....||.-.-..|...#|...X|", - "|....||.-.-..#...#|X..X|", - "........-.-..#c..#|X...|", - "........-.-..#...g|....|", - "........-.-..#...g|...X|", - "........-.-..#...r|t..X|", - "..........-..#...r|t..X|", - "..........-..|...o|....|", - "........RR-..|.........|", - ".............|.........|", - ".............|gg..|....|", - ".....||......||||||{...|", - ".....||......|vv##|{...|", - ".............|...#|{...|", - ".............|...#||+|||", - ".................#|..{{|", - ".................#|....|", - ".....||..........#|..c.|", - ".....||..........#|..tt|", - ".............|...#|.ctt|", - ".............|...#|.ctt|" - ], - "terrain": { - "#": "t_floor", - "+": "t_door_c", - "-": "t_railing_v", - ".": "t_floor", - "R": "t_railing_h", - "X": "t_floor", - "c": "t_floor", - "g": "t_floor", - "o": "t_floor", - "r": "t_floor", - "t": "t_floor", - "v": "t_floor", - "{": "t_floor", - "|": "t_wall" - } - }, - "om_terrain": "movietheater_2_0", - "type": "mapgen", - "weight": 100 - }, - { - "method": "json", - "object": { - "furniture": { "#": "f_chair", "-": "f_null", ".": "f_null", "H": "f_armchair", "|": "f_null" }, - "place_items": [ - { "chance": 5, "item": "alcohol", "x": 0, "y": 17 }, - { "chance": 5, "item": "alcohol", "x": 0, "y": 1 }, - { "chance": 25, "item": "jackets", "x": 6, "y": 11 }, - { "chance": 25, "item": "jackets", "x": 19, "y": 7 }, - { "chance": 25, "item": "jackets", "x": 2, "y": 7 }, - { "chance": 15, "item": "bags", "x": 15, "y": 9 }, - { "chance": 15, "item": "bags", "x": 4, "y": 5 }, - { "chance": 35, "item": "trash_cart", "x": 16, "y": 22 }, - { "chance": 35, "item": "trash_cart", "x": 8, "y": 22 }, - { "chance": 35, "item": "trash_cart", "x": 10, "y": 20 }, - { "chance": 35, "item": "trash_cart", "x": 6, "y": 20 }, - { "chance": 35, "item": "trash_cart", "x": 20, "y": 18 }, - { "chance": 35, "item": "trash_cart", "x": 7, "y": 17 }, - { "chance": 35, "item": "trash_cart", "x": 17, "y": 16 }, - { "chance": 35, "item": "trash_cart", "x": 1, "y": 15 }, - { "chance": 35, "item": "trash_cart", "x": 14, "y": 14 }, - { "chance": 35, "item": "trash_cart", "x": 20, "y": 13 }, - { "chance": 35, "item": "trash_cart", "x": 4, "y": 13 }, - { "chance": 35, "item": "trash_cart", "x": 17, "y": 12 }, - { "chance": 35, "item": "trash_cart", "x": 10, "y": 12 }, - { "chance": 35, "item": "trash_cart", "x": 13, "y": 11 }, - { "chance": 35, "item": "trash_cart", "x": 0, "y": 11 }, - { "chance": 35, "item": "trash_cart", "x": 19, "y": 10 }, - { "chance": 35, "item": "trash_cart", "x": 6, "y": 8 }, - { "chance": 35, "item": "trash_cart", "x": 16, "y": 7 }, - { "chance": 35, "item": "trash_cart", "x": 10, "y": 7 }, - { "chance": 35, "item": "trash_cart", "x": 14, "y": 5 }, - { "chance": 35, "item": "trash_cart", "x": 19, "y": 4 }, - { "chance": 35, "item": "trash_cart", "x": 9, "y": 4 }, - { "chance": 35, "item": "trash_cart", "x": 1, "y": 4 }, - { "chance": 35, "item": "trash_cart", "x": 12, "y": 3 }, - { "chance": 35, "item": "trash_cart", "x": 17, "y": 1 } - ], - "place_monsters": [ { "chance": 15, "density": 0.25, "monster": "GROUP_ZOMBIE", "x": 12, "y": 10 } ], - "rows": [ - "||||||||||||||||||||||||", - "#......................|", - "#.#.#.#.#.#.#.#........D", - "#.#.#.#.#.#.#.#........|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#........|", - "#.#.#.#.#.#.#.#........|", - "#......................|", - "||||||||----.-----.....|", - ".......................|", - ".......................|", - ".......................|", - "||||||||||||||||||||||||" - ], - "terrain": { "#": "t_floor", "D": "t_door_c", "-": "t_railing_h", ".": "t_floor", "H": "t_floor", "|": "t_wall" } - }, - "om_terrain": "movietheater_2_1", - "type": "mapgen", - "weight": 100 - }, - { - "method": "json", - "object": { - "furniture": { "#": "f_chair", "-": "f_null", ".": "f_null", "H": "f_armchair", "|": "f_null" }, - "place_items": [ - { "chance": 5, "item": "alcohol", "x": 0, "y": 17 }, - { "chance": 5, "item": "alcohol", "x": 0, "y": 1 }, - { "chance": 25, "item": "jackets", "x": 6, "y": 11 }, - { "chance": 25, "item": "jackets", "x": 19, "y": 7 }, - { "chance": 25, "item": "jackets", "x": 2, "y": 7 }, - { "chance": 15, "item": "bags", "x": 15, "y": 9 }, - { "chance": 15, "item": "bags", "x": 4, "y": 5 }, - { "chance": 35, "item": "trash_cart", "x": 16, "y": 22 }, - { "chance": 35, "item": "trash_cart", "x": 8, "y": 22 }, - { "chance": 35, "item": "trash_cart", "x": 10, "y": 20 }, - { "chance": 35, "item": "trash_cart", "x": 6, "y": 20 }, - { "chance": 35, "item": "trash_cart", "x": 20, "y": 18 }, - { "chance": 35, "item": "trash_cart", "x": 7, "y": 17 }, - { "chance": 35, "item": "trash_cart", "x": 17, "y": 16 }, - { "chance": 35, "item": "trash_cart", "x": 1, "y": 15 }, - { "chance": 35, "item": "trash_cart", "x": 14, "y": 14 }, - { "chance": 35, "item": "trash_cart", "x": 20, "y": 13 }, - { "chance": 35, "item": "trash_cart", "x": 4, "y": 13 }, - { "chance": 35, "item": "trash_cart", "x": 17, "y": 12 }, - { "chance": 35, "item": "trash_cart", "x": 10, "y": 12 }, - { "chance": 35, "item": "trash_cart", "x": 13, "y": 11 }, - { "chance": 35, "item": "trash_cart", "x": 0, "y": 11 }, - { "chance": 35, "item": "trash_cart", "x": 19, "y": 10 }, - { "chance": 35, "item": "trash_cart", "x": 6, "y": 8 }, - { "chance": 35, "item": "trash_cart", "x": 16, "y": 7 }, - { "chance": 35, "item": "trash_cart", "x": 10, "y": 7 }, - { "chance": 35, "item": "trash_cart", "x": 14, "y": 5 }, - { "chance": 35, "item": "trash_cart", "x": 19, "y": 4 }, - { "chance": 35, "item": "trash_cart", "x": 9, "y": 4 }, - { "chance": 35, "item": "trash_cart", "x": 1, "y": 4 }, - { "chance": 35, "item": "trash_cart", "x": 12, "y": 3 }, - { "chance": 35, "item": "trash_cart", "x": 17, "y": 1 } - ], - "place_monsters": [ { "chance": 15, "density": 0.25, "monster": "GROUP_ZOMBIE", "x": 12, "y": 10 } ], - "rows": [ - "||||||||||||||||||||||||", - "#......................|", - "#.#.#.#.#.#.#.#........D", - "#.#.#.#.#.#.#.#........|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#..H.H...|", - "#.#.#.#.#.#.#.#........|", - "#.#.#.#.#.#.#.#........|", - "#......................|", - "||||||||----.-----.....|", - ".......................|", - ".......................|", - ".......................|", - "||||||||||||||||||||||||" - ], - "terrain": { "#": "t_floor", "D": "t_door_c", "-": "t_railing_h", ".": "t_floor", "H": "t_floor", "|": "t_wall" } - }, - "om_terrain": "movietheater_2_2", - "type": "mapgen", - "weight": 100 + "furniture": { "Y": "f_standing_tank", "6": "f_water_heater", "7": "f_roof_turbine_vent" }, + "items": { "C": { "item": "snacks", "chance": 30, "repeat": [ 6, 12 ] } } + } } ] diff --git a/data/json/mapgen/nested/house_nested.json b/data/json/mapgen/nested/house_nested.json index 5e15d1aa9634f..425fa09e0c10b 100644 --- a/data/json/mapgen/nested/house_nested.json +++ b/data/json/mapgen/nested/house_nested.json @@ -15,13 +15,7 @@ ], "palettes": [ "house_w_nest_palette" ], "items": { - "O": [ - { "item": "victoria_shop", "chance": 40 }, - { "item": "pants", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "shirts", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "hatstore_accessories", "chance": 10, "repeat": [ 1, 2 ] }, - { "item": "dresser", "chance": 20 } - ], + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, "L": { "item": "bedroom", "chance": 20, "repeat": [ 1, 2 ] } } @@ -43,14 +37,9 @@ ], "palettes": [ "house_w_nest_palette" ], "items": { - "O": [ - { "item": "victoria_shop", "chance": 40 }, - { "item": "pants", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "shirts", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "hatstore_accessories", "chance": 10, "repeat": [ 1, 2 ] }, - { "item": "dresser", "chance": 20 } - ], + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, + "a": { "item": "unisex_coat_rack", "chance": 100, "repeat": [ 1, 2 ] }, "L": { "item": "bedroom", "chance": 20, "repeat": [ 1, 2 ] } } } @@ -71,13 +60,7 @@ ], "palettes": [ "house_w_nest_palette" ], "items": { - "O": [ - { "item": "victoria_shop", "chance": 40 }, - { "item": "pants", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "shirts", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "hatstore_accessories", "chance": 10, "repeat": [ 1, 2 ] }, - { "item": "dresser", "chance": 20 } - ], + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, "L": { "item": "bedroom", "chance": 20, "repeat": [ 1, 2 ] } } @@ -99,14 +82,9 @@ ], "palettes": [ "house_w_nest_palette" ], "items": { - "O": [ - { "item": "victoria_shop", "chance": 40 }, - { "item": "pants", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "shirts", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "hatstore_accessories", "chance": 10, "repeat": [ 1, 2 ] }, - { "item": "dresser", "chance": 20 } - ], + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], "E": { "item": "bed", "chance": 30, "repeat": [ 1, 2 ] }, + "a": { "item": "unisex_coat_rack", "chance": 100, "repeat": [ 1, 2 ] }, "L": { "item": "bedroom", "chance": 20, "repeat": [ 1, 2 ] } } } @@ -127,15 +105,9 @@ ], "palettes": [ "house_w_nest_palette" ], "items": { - "O": [ - { "item": "victoria_shop", "chance": 40 }, - { "item": "pants", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "shirts", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "hatstore_accessories", "chance": 10, "repeat": [ 1, 2 ] }, - { "item": "dresser", "chance": 20 } - ], + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, - "I": { "item": "bedroom", "chance": 40, "repeat": [ 1, 2 ] }, + "I": { "item": "desks_bedroom_unisex", "chance": 40, "repeat": [ 1, 2 ] }, "L": { "item": "bedroom", "chance": 20, "repeat": [ 1, 2 ] } } } @@ -156,15 +128,10 @@ ], "palettes": [ "house_w_nest_palette" ], "items": { - "O": [ - { "item": "victoria_shop", "chance": 40 }, - { "item": "pants", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "shirts", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "hatstore_accessories", "chance": 10, "repeat": [ 1, 2 ] }, - { "item": "dresser", "chance": 20 } - ], + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, - "I": { "item": "bedroom", "chance": 40, "repeat": [ 1, 2 ] }, + "I": { "item": "desks_bedroom_unisex", "chance": 40, "repeat": [ 1, 2 ] }, + "a": { "item": "unisex_coat_rack", "chance": 100, "repeat": [ 1, 2 ] }, "L": { "item": "bedroom", "chance": 20, "repeat": [ 1, 2 ] } } } @@ -185,15 +152,9 @@ ], "palettes": [ "house_w_nest_palette" ], "items": { - "O": [ - { "item": "victoria_shop", "chance": 40 }, - { "item": "pants", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "shirts", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "hatstore_accessories", "chance": 10, "repeat": [ 1, 2 ] }, - { "item": "dresser", "chance": 20 } - ], + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, - "I": { "item": "bedroom", "chance": 40, "repeat": [ 1, 2 ] }, + "I": { "item": "desks_bedroom_unisex", "chance": 40, "repeat": [ 1, 2 ] }, "L": { "item": "bedroom", "chance": 20, "repeat": [ 1, 2 ] } } } @@ -214,19 +175,101 @@ ], "palettes": [ "house_w_nest_palette" ], "items": { - "O": [ - { "item": "victoria_shop", "chance": 40 }, - { "item": "pants", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "shirts", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "hatstore_accessories", "chance": 10, "repeat": [ 1, 2 ] }, - { "item": "dresser", "chance": 20 } - ], + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, - "I": { "item": "bedroom", "chance": 40, "repeat": [ 1, 2 ] }, + "I": { "item": "desks_bedroom_unisex", "chance": 40, "repeat": [ 1, 2 ] }, "L": { "item": "homebooks", "chance": 10, "repeat": [ 1, 2 ] } } } }, + { + "type": "mapgen", + "method": "json", + "//": "compass direction indicates head of bed, works for rooms with corner doors.", + "nested_mapgen_id": "bedroom_4x4_adult_3_S", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + " CR ", + "O ", + " EE ", + " EE " + ], + "palettes": [ "house_w_nest_palette" ], + "items": { + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], + "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, + "R": { "item": "homebooks", "chance": 10, "repeat": [ 1, 2 ] } + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "compass direction indicates head of bed, works for rooms with corner doors.", + "nested_mapgen_id": "bedroom_4x4_adult_3_N", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + " EE ", + " EE ", + "O ", + " CR " + ], + "palettes": [ "house_w_nest_palette" ], + "items": { + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], + "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, + "R": { "item": "homebooks", "chance": 10, "repeat": [ 1, 2 ] } + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "compass direction indicates head of bed, works for rooms with corner doors.", + "nested_mapgen_id": "bedroom_4x4_adult_3_E", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + " ", + "C EE", + "R EE", + " O " + ], + "palettes": [ "house_w_nest_palette" ], + "items": { + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], + "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, + "R": { "item": "homebooks", "chance": 10, "repeat": [ 1, 2 ] } + } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "compass direction indicates head of bed, works for rooms with corner doors.", + "nested_mapgen_id": "bedroom_4x4_adult_3_W", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + " ", + "EE C", + "EE R", + " O " + ], + "palettes": [ "house_w_nest_palette" ], + "items": { + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], + "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, + "R": { "item": "homebooks", "chance": 10, "repeat": [ 1, 2 ] } + } + } + }, { "type": "mapgen", "method": "json", @@ -244,15 +287,9 @@ ], "palettes": [ "house_w_nest_palette" ], "items": { - "O": [ - { "item": "victoria_shop", "chance": 40 }, - { "item": "pants", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "shirts", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "hatstore_accessories", "chance": 10, "repeat": [ 1, 2 ] }, - { "item": "dresser", "chance": 20 } - ], + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, - "I": { "item": "bedroom", "chance": 40, "repeat": [ 1, 2 ] }, + "I": { "item": "desks_bedroom_unisex", "chance": 40, "repeat": [ 1, 2 ] }, "L": { "item": "homebooks", "chance": 10, "repeat": [ 1, 2 ] } } } @@ -274,15 +311,9 @@ ], "palettes": [ "house_w_nest_palette" ], "items": { - "O": [ - { "item": "victoria_shop", "chance": 40 }, - { "item": "pants", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "shirts", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "hatstore_accessories", "chance": 10, "repeat": [ 1, 2 ] }, - { "item": "dresser", "chance": 20 } - ], + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, - "I": { "item": "bedroom", "chance": 40, "repeat": [ 1, 2 ] }, + "I": { "item": "desks_bedroom_unisex", "chance": 40, "repeat": [ 1, 2 ] }, "L": { "item": "homebooks", "chance": 10, "repeat": [ 1, 2 ] } } } @@ -304,15 +335,9 @@ ], "palettes": [ "house_w_nest_palette" ], "items": { - "O": [ - { "item": "victoria_shop", "chance": 40 }, - { "item": "pants", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "shirts", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "hatstore_accessories", "chance": 10, "repeat": [ 1, 2 ] }, - { "item": "dresser", "chance": 20 } - ], + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, - "I": { "item": "bedroom", "chance": 40, "repeat": [ 1, 2 ] }, + "I": { "item": "desks_bedroom_unisex", "chance": 40, "repeat": [ 1, 2 ] }, "L": { "item": "homebooks", "chance": 10, "repeat": [ 1, 2 ] } } } @@ -334,15 +359,9 @@ ], "palettes": [ "house_w_nest_palette" ], "items": { - "O": [ - { "item": "victoria_shop", "chance": 40 }, - { "item": "pants", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "shirts", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "hatstore_accessories", "chance": 10, "repeat": [ 1, 2 ] }, - { "item": "dresser", "chance": 20 } - ], + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, - "I": { "item": "bedroom", "chance": 40, "repeat": [ 1, 2 ] }, + "I": { "item": "desks_bedroom_unisex", "chance": 40, "repeat": [ 1, 2 ] }, "L": { "item": "homebooks", "chance": 10, "repeat": [ 1, 2 ] } } } @@ -364,15 +383,10 @@ ], "palettes": [ "house_w_nest_palette" ], "items": { - "O": [ - { "item": "victoria_shop", "chance": 40 }, - { "item": "pants", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "shirts", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "hatstore_accessories", "chance": 10, "repeat": [ 1, 2 ] }, - { "item": "dresser", "chance": 20 } - ], + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, - "I": { "item": "bedroom", "chance": 40, "repeat": [ 1, 2 ] }, + "I": { "item": "desks_bedroom_unisex", "chance": 40, "repeat": [ 1, 2 ] }, + "a": { "item": "unisex_coat_rack", "chance": 100, "repeat": [ 1, 2 ] }, "L": { "item": "homebooks", "chance": 10, "repeat": [ 1, 2 ] } } } @@ -394,15 +408,10 @@ ], "palettes": [ "house_w_nest_palette" ], "items": { - "O": [ - { "item": "victoria_shop", "chance": 40 }, - { "item": "pants", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "shirts", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "hatstore_accessories", "chance": 10, "repeat": [ 1, 2 ] }, - { "item": "dresser", "chance": 20 } - ], + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, - "I": { "item": "bedroom", "chance": 40, "repeat": [ 1, 2 ] }, + "I": { "item": "desks_bedroom_unisex", "chance": 40, "repeat": [ 1, 2 ] }, + "a": { "item": "unisex_coat_rack", "chance": 100, "repeat": [ 1, 2 ] }, "L": { "item": "homebooks", "chance": 10, "repeat": [ 1, 2 ] } } } @@ -424,15 +433,9 @@ ], "palettes": [ "house_w_nest_palette" ], "items": { - "O": [ - { "item": "victoria_shop", "chance": 40 }, - { "item": "pants", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "shirts", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "hatstore_accessories", "chance": 10, "repeat": [ 1, 2 ] }, - { "item": "dresser", "chance": 20 } - ], + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, - "I": { "item": "bedroom", "chance": 40, "repeat": [ 1, 2 ] }, + "I": { "item": "desks_bedroom_unisex", "chance": 40, "repeat": [ 1, 2 ] }, "L": { "item": "homebooks", "chance": 10, "repeat": [ 1, 2 ] }, "R": { "item": "homebooks", "chance": 30, "repeat": [ 1, 2 ] } } @@ -455,16 +458,11 @@ ], "palettes": [ "house_w_nest_palette" ], "items": { - "O": [ - { "item": "victoria_shop", "chance": 40 }, - { "item": "pants", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "shirts", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "hatstore_accessories", "chance": 10, "repeat": [ 1, 2 ] }, - { "item": "dresser", "chance": 20 } - ], + "O": [ { "item": "dresser_mens", "chance": 50 }, { "item": "dresser_womens", "chance": 50, "repeat": [ 1, 2 ] } ], "E": { "item": "bed", "chance": 40, "repeat": [ 1, 2 ] }, - "I": { "item": "bedroom", "chance": 40, "repeat": [ 1, 2 ] }, + "I": { "item": "desks_bedroom_unisex", "chance": 40, "repeat": [ 1, 2 ] }, "L": { "item": "homebooks", "chance": 10, "repeat": [ 1, 2 ] }, + "a": { "item": "unisex_coat_rack", "chance": 100, "repeat": [ 1, 2 ] }, "R": { "item": "homebooks", "chance": 30, "repeat": [ 1, 2 ] } } } @@ -674,12 +672,12 @@ "rows": [ "y@@@L", " ", - " LLL ", + " ppp ", " ", "aCLC " ], "palettes": [ "house_w_nest_palette" ], - "items": { "L": [ { "item": "livingroom", "chance": 30 } ] } + "items": { "p": [ { "item": "livingroom", "chance": 30 } ] } } }, { @@ -691,14 +689,14 @@ "mapgensize": [ 5, 5 ], "rotation": [ 0, 3 ], "rows": [ - " CLCa", + " CpCa", " ", - " LLL ", + " ppp ", " ", "y@@@L" ], "palettes": [ "house_w_nest_palette" ], - "items": { "L": [ { "item": "livingroom", "chance": 30 } ] } + "items": { "p": [ { "item": "livingroom", "chance": 30 } ] } } }, { @@ -711,13 +709,13 @@ "rotation": [ 0, 3 ], "rows": [ "a L", - "C L @", - "L L @", - "C L @", + "C p @", + "L p @", + "C p @", " y" ], "palettes": [ "house_w_nest_palette" ], - "items": { "L": [ { "item": "livingroom", "chance": 30 } ] } + "items": { "p": [ { "item": "livingroom", "chance": 30 } ] } } }, { @@ -730,13 +728,109 @@ "rotation": [ 0, 3 ], "rows": [ "y a", - "@ L C", - "@ L L", - "@ L C", + "@ p C", + "@ p L", + "@ p C", "L y" ], "palettes": [ "house_w_nest_palette" ], - "items": { "L": [ { "item": "livingroom", "chance": 30 } ] } + "items": { "p": [ { "item": "livingroom", "chance": 30 } ] } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "compass direction indicates sofa orientation", + "nested_mapgen_id": "livingroom_5x5_N_2", + "object": { + "mapgensize": [ 5, 5 ], + "rotation": [ 0, 3 ], + "rows": [ + " @@p ", + " R", + " pp R", + " ", + " xxx " + ], + "palettes": [ "house_w_nest_palette" ], + "place_loot": [ + { "item": "television", "x": 2, "y": 4, "chance": 100 }, + { "item": "stereo", "x": 1, "y": 4, "chance": 60 }, + { "group": "consumer_electronics", "x": 3, "y": 4, "chance": 60, "repeat": [ 1, 4 ] } + ], + "items": { "p": [ { "item": "livingroom", "chance": 30 } ] } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "compass direction indicates sofa orientation", + "nested_mapgen_id": "livingroom_5x5_S_2", + "object": { + "mapgensize": [ 5, 5 ], + "rotation": [ 0, 3 ], + "rows": [ + " xxx ", + " ", + "@ pp ", + "@ ", + " @@@ " + ], + "palettes": [ "house_w_nest_palette" ], + "place_loot": [ + { "item": "television", "x": 2, "y": 0, "chance": 100 }, + { "item": "stereo", "x": 1, "y": 0, "chance": 60 }, + { "group": "consumer_electronics", "x": 3, "y": 0, "chance": 60, "repeat": [ 1, 4 ] } + ], + "items": { "p": [ { "item": "livingroom", "chance": 30 } ] } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "compass direction indicates sofa orientation", + "nested_mapgen_id": "livingroom_5x5_E_2", + "object": { + "mapgensize": [ 5, 5 ], + "rotation": [ 0, 3 ], + "rows": [ + " C p", + "x p @", + "x p @", + "x @", + " " + ], + "palettes": [ "house_w_nest_palette" ], + "place_loot": [ + { "item": "television", "x": 0, "y": 2, "chance": 100 }, + { "item": "stereo", "x": 0, "y": 1, "chance": 60 }, + { "group": "consumer_electronics", "x": 0, "y": 3, "chance": 60, "repeat": [ 1, 4 ] } + ], + "items": { "p": [ { "item": "livingroom", "chance": 30 } ] } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "compass direction indicates sofa orientation", + "nested_mapgen_id": "livingroom_5x5_W_2", + "object": { + "mapgensize": [ 5, 5 ], + "rotation": [ 0, 3 ], + "rows": [ + " ", + "@ p x", + "@ p x", + "@ x", + " @@p " + ], + "palettes": [ "house_w_nest_palette" ], + "place_loot": [ + { "item": "television", "x": 4, "y": 2, "chance": 100 }, + { "item": "stereo", "x": 4, "y": 1, "chance": 60 }, + { "group": "elecsto_persele", "x": 4, "y": 3, "chance": 60, "repeat": [ 1, 4 ] } + ], + "items": { "p": [ { "item": "livingroom", "chance": 30 } ] } } }, { @@ -765,7 +859,7 @@ "rotation": [ 0, 3 ], "rows": [ "C ", - "RH" + "R " ], "palettes": [ "house_w_nest_palette" ], "items": { "R": [ { "item": "homebooks", "chance": 30 } ] } @@ -930,10 +1024,10 @@ "rows": [ "@@@", " ", - "CLL" + "Cpp" ], "palettes": [ "house_w_nest_palette" ], - "items": { "L": [ { "item": "livingroom", "chance": 30 } ] } + "items": { "p": [ { "item": "livingroom", "chance": 30 } ] } } }, { @@ -953,6 +1047,23 @@ "items": { "L": [ { "item": "livingroom", "chance": 30 } ] } } }, + { + "type": "mapgen", + "method": "json", + "//": "small furniture groupings for studies, workrooms, hobby rooms, etc", + "nested_mapgen_id": "bonus_room_3x3_E_5", + "object": { + "mapgensize": [ 3, 3 ], + "rotation": [ 0, 3 ], + "rows": [ + "T @", + "T @", + "C @" + ], + "palettes": [ "house_w_nest_palette" ], + "items": { "L": [ { "item": "livingroom", "chance": 30 } ] } + } + }, { "type": "mapgen", "method": "json", @@ -1122,5 +1233,318 @@ "palettes": [ "house_w_nest_palette" ], "items": { "E": [ { "item": "bed", "chance": 30 } ], "L": [ { "item": "bedroom", "chance": 30 } ] } } + }, + { + "type": "mapgen", + "method": "json", + "//": "a nested map for lawns", + "nested_mapgen_id": "greenhouse_6x6_herbal", + "object": { + "mapgensize": [ 6, 6 ], + "rotation": [ 0, 3 ], + "rows": [ + " s ", + "BBCBB ", + "D4R4Dc", + "B5R2Bc", + "D2R3Dc", + "BBCBB " + ], + "palettes": [ "house_w_nest_garden_palette" ], + "terrain": { "s": "t_concrete" }, + "place_items": [ + { "item": "farming_tools", "x": 2, "y": [ 2, 4 ], "chance": 25, "repeat": [ 1, 3 ] }, + { "item": "farming_seeds", "x": 2, "y": [ 2, 4 ], "chance": 25, "repeat": [ 1, 3 ] }, + { "item": "flower_pots", "x": 5, "y": [ 2, 4 ], "chance": 55, "repeat": [ 1, 4 ] } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "a nested map for lawns", + "nested_mapgen_id": "greenhouse_6x6_vegetable", + "object": { + "mapgensize": [ 6, 6 ], + "rotation": [ 0, 3 ], + "rows": [ + " s ", + "BBCBB ", + "D6R6Dc", + "B7R7Bc", + "D9R8Dc", + "BBCBB " + ], + "palettes": [ "house_w_nest_garden_palette" ], + "terrain": { "s": "t_concrete" }, + "place_items": [ + { "item": "farming_tools", "x": 2, "y": [ 2, 4 ], "chance": 25, "repeat": [ 1, 3 ] }, + { "item": "farming_seeds", "x": 2, "y": [ 2, 4 ], "chance": 25, "repeat": [ 1, 3 ] }, + { "item": "flower_pots", "x": 5, "y": [ 2, 4 ], "chance": 55, "repeat": [ 1, 4 ] } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "a nested map for lawns", + "nested_mapgen_id": "shed_6x6_junk", + "object": { + "mapgensize": [ 6, 6 ], + "rotation": [ 0, 3 ], + "rows": [ + "||++||", + "|O Q|", + "|z Q|", + "|zzSQ|", + "|SzzQ|", + "||||||" + ], + "palettes": [ "house_w_nest_palette" ], + "terrain": { + "|": "t_wall_metal", + "+": "t_door_metal_pickable", + " ": "t_thconc_floor", + "S": "t_thconc_floor", + "z": "t_thconc_floor", + "Q": "t_thconc_floor", + "O": "t_thconc_floor" + }, + "place_items": [ + { "item": "home_hw", "x": 4, "y": [ 1, 4 ], "chance": 25, "repeat": [ 1, 3 ] }, + { "item": "allclothes", "x": 1, "y": 1, "chance": 25, "repeat": [ 1, 3 ] }, + { "item": "livingroom", "x": 1, "y": [ 2, 3 ], "chance": 55, "repeat": [ 1, 4 ] }, + { "item": "bedroom", "x": 2, "y": [ 3, 4 ], "chance": 55, "repeat": [ 1, 4 ] } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "a nested map for lawns", + "nested_mapgen_id": "shed_6x6_woodworker", + "object": { + "mapgensize": [ 6, 6 ], + "rotation": [ 0, 3 ], + "rows": [ + "||++||", + "|GF A|", + "|G C|", + "|G FD|", + "|GEEB|", + "||oo||" + ], + "terrain": { + "|": "t_wall_wood", + "+": "t_door_locked", + "o": "t_curtains", + " ": "t_thconc_floor", + "A": "t_thconc_floor", + "B": "t_thconc_floor", + "C": "t_thconc_floor", + "D": "t_thconc_floor", + "E": "t_thconc_floor", + "F": "t_thconc_floor", + "G": "t_thconc_floor" + }, + "furniture": { + "A": [ "f_drill_press", "f_planer" ], + "B": [ "f_jointer", "f_router", "f_mitresaw" ], + "C": "f_tablesaw", + "D": "f_bandsaw", + "E": "f_workbench", + "F": "f_stool", + "G": "f_rack_wood" + }, + "place_items": [ + { "item": "home_hw", "x": [ 1, 3 ], "y": 4, "chance": 50, "repeat": [ 1, 3 ] }, + { "item": "wood_workshop", "x": 1, "y": [ 1, 4 ], "chance": 70, "repeat": [ 1, 3 ] } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "a nested map for lawns", + "nested_mapgen_id": "pond_6x6", + "object": { + "mapgensize": [ 6, 6 ], + "rotation": [ 0, 3 ], + "rows": [ + " N ", + " Kk ", + "kKkKK ", + "NKKK ", + " Kcc ", + " cZ " + ], + "palettes": [ "house_w_nest_garden_palette" ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "a nested map for lawns", + "nested_mapgen_id": "playset_4x4_1", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + "GG c", + "GG c", + " II", + "N II" + ], + "palettes": [ "house_w_nest_garden_palette" ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "a nested map for lawns", + "nested_mapgen_id": "playset_4x4_2", + "object": { + "mapgensize": [ 4, 4 ], + "rotation": [ 0, 3 ], + "rows": [ + "H ", + "H I", + "G I", + " ccI" + ], + "palettes": [ "house_w_nest_garden_palette" ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "a nested map for lawns", + "nested_mapgen_id": "firepit_5x5_1", + "object": { + "mapgensize": [ 5, 5 ], + "rotation": [ 0, 3 ], + "rows": [ + " ccc ", + " ", + " i ", + " ", + " ccc " + ], + "palettes": [ "house_w_nest_garden_palette" ], + "place_items": [ { "item": "stash_wood", "x": 1, "y": 2, "chance": 100, "repeat": [ 2, 10 ] } ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "a nested map for lawns", + "nested_mapgen_id": "firepit_5x5_2", + "object": { + "mapgensize": [ 5, 5 ], + "rotation": [ 0, 3 ], + "rows": [ + " ", + "S S", + "S i S", + "S ", + " " + ], + "palettes": [ "house_w_nest_garden_palette" ], + "place_items": [ { "item": "stash_wood", "x": 2, "y": 1, "chance": 100, "repeat": [ 2, 10 ] } ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "a nested map for lawns", + "nested_mapgen_id": "reflecting_pool_5x5_1", + "object": { + "mapgensize": [ 5, 5 ], + "rotation": [ 0, 3 ], + "rows": [ + " ", + " MMM ", + " fMf ", + " MMM ", + " " + ], + "palettes": [ "house_w_nest_garden_palette" ], + "terrain": { " ": "t_concrete", "f": "t_concrete" } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "a nested map for lawns", + "nested_mapgen_id": "reflecting_pool_5x5_2", + "object": { + "mapgensize": [ 5, 5 ], + "rotation": [ 0, 3 ], + "rows": [ + " ", + " MMM ", + " MZM ", + " MMM ", + " " + ], + "palettes": [ "house_w_nest_garden_palette" ], + "terrain": { " ": "t_concrete" } + } + }, + { + "type": "mapgen", + "method": "json", + "//": "a nested map for lawns", + "nested_mapgen_id": "garden_3x3_1", + "object": { + "mapgensize": [ 3, 3 ], + "rotation": [ 0, 3 ], + "rows": [ + "PPP", + "PPP", + "PPP" + ], + "palettes": [ "house_w_nest_garden_palette" ], + "place_items": [ + { "item": "farming_tools", "x": [ 0, 2 ], "y": [ 0, 2 ], "chance": 5, "repeat": [ 1, 3 ] }, + { "item": "farming_seeds", "x": [ 0, 2 ], "y": [ 0, 2 ], "chance": 75, "repeat": [ 1, 3 ] } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "a nested map for lawns", + "nested_mapgen_id": "garden_3x3_2", + "object": { + "mapgensize": [ 3, 3 ], + "rotation": [ 0, 3 ], + "rows": [ + "111", + " ", + "111" + ], + "palettes": [ "house_w_nest_garden_palette" ], + "place_items": [ + { "item": "farming_tools", "x": [ 0, 2 ], "y": [ 0, 2 ], "chance": 5, "repeat": [ 1, 3 ] }, + { "item": "farming_seeds", "x": [ 0, 2 ], "y": [ 0, 2 ], "chance": 75, "repeat": [ 1, 3 ] } + ] + } + }, + { + "type": "mapgen", + "method": "json", + "//": "a nested map for lawns", + "nested_mapgen_id": "garden_3x3_3", + "object": { + "mapgensize": [ 3, 3 ], + "rotation": [ 0, 3 ], + "rows": [ + "111", + "1Z1", + "111" + ], + "palettes": [ "house_w_nest_garden_palette" ] + } } ] diff --git a/data/json/mapgen/outpost.json b/data/json/mapgen/outpost.json index 8fb96a893273a..ae48f395fd14d 100644 --- a/data/json/mapgen/outpost.json +++ b/data/json/mapgen/outpost.json @@ -95,13 +95,13 @@ "toilets": { "&": { } }, "place_monster": [ { "monster": "mon_crows_m240", "x": 10, "y": 1 }, - { "monster": "mon_laserturret", "x": 13, "y": 1 }, + { "monster": "mon_turret_bmg", "x": 13, "y": 1 }, { "monster": "mon_crows_m240", "x": 1, "y": 10 }, - { "monster": "mon_laserturret", "x": 1, "y": 13 }, + { "monster": "mon_turret_bmg", "x": 1, "y": 13 }, { "monster": "mon_crows_m240", "x": 22, "y": 10 }, - { "monster": "mon_laserturret", "x": 22, "y": 13 }, + { "monster": "mon_turret_bmg", "x": 22, "y": 13 }, { "monster": "mon_crows_m240", "x": 10, "y": 22 }, - { "monster": "mon_laserturret", "x": 13, "y": 22 }, + { "monster": "mon_turret_bmg", "x": 13, "y": 22 }, { "monster": "mon_turret_searchlight", "x": 1, "y": 1 }, { "monster": "mon_turret_searchlight", "x": 22, "y": 22 }, { "monster": "mon_turret_searchlight", "x": 1, "y": 22 }, @@ -113,7 +113,7 @@ { "monster": "mon_zombie_bio_op", "chance": 1 }, { "monster": "mon_dispatch", "chance": 1 }, { "monster": "mon_dispatch_military", "chance": 1 }, - { "monster": "mon_talon_m202a1", "chance": 1 }, + { "monster": "mon_secubot", "chance": 5 }, { "monster": "mon_zombie_flamer", "chance": 1 } ] } @@ -221,13 +221,13 @@ "toilets": { "&": { } }, "place_monster": [ { "monster": "mon_crows_m240", "x": 10, "y": 1 }, - { "monster": "mon_laserturret", "x": 13, "y": 1 }, + { "monster": "mon_turret_bmg", "x": 13, "y": 1 }, { "monster": "mon_crows_m240", "x": 1, "y": 10 }, - { "monster": "mon_laserturret", "x": 1, "y": 13 }, + { "monster": "mon_turret_bmg", "x": 1, "y": 13 }, { "monster": "mon_crows_m240", "x": 22, "y": 10 }, - { "monster": "mon_laserturret", "x": 22, "y": 13 }, + { "monster": "mon_turret_bmg", "x": 22, "y": 13 }, { "monster": "mon_crows_m240", "x": 10, "y": 22 }, - { "monster": "mon_laserturret", "x": 13, "y": 22 }, + { "monster": "mon_turret_bmg", "x": 13, "y": 22 }, { "monster": "mon_turret_searchlight", "x": 1, "y": 1 }, { "monster": "mon_turret_searchlight", "x": 22, "y": 22 }, { "monster": "mon_turret_searchlight", "x": 1, "y": 22 }, @@ -239,7 +239,7 @@ { "monster": "mon_zombie_bio_op", "chance": 1 }, { "monster": "mon_dispatch", "chance": 1 }, { "monster": "mon_dispatch_military", "chance": 1 }, - { "monster": "mon_talon_m202a1", "chance": 1 }, + { "monster": "mon_secubot", "chance": 5 }, { "monster": "mon_zombie_flamer", "chance": 1 } ] } diff --git a/data/json/mapgen/pharmacy.json b/data/json/mapgen/pharmacy.json index f0fc6c585d9b1..f6b4bc86c3a56 100644 --- a/data/json/mapgen/pharmacy.json +++ b/data/json/mapgen/pharmacy.json @@ -10,19 +10,19 @@ "________________________", "________________________", "|--OOOO----**----OOOO--|", - "|} #................y|", - "|} #..{}...{}...{}...|", - "|} #..{}...{}...{}...|", - "|} h#..{}...{}...{}...|", - "|} #..{}...{}...{}...|", - "| #..{}...{}...{}...|", - "| ####..{}...{}...{}...|", + "|8 #................y|", + "|8 #..12...23...35...|", + "|8 #..12...23...35...|", + "|8 h#..12...23...35...|", + "|8 #..12...23...35...|", + "| #..12...23...35...|", + "| ####..12...23...35...|", "|......................|", - "|f......}}}}}}}}}}}}...|", - "|f......}}}}}}}}}}}}...|", + "|f......666666666666...|", + "|f......666666666666...|", "|f.....................|", - "|f......}}}}}}}}}}}}...|", - "|f......}}}}}}}}}}}}...|", + "|f......777777777777...|", + "|f......999999999999...|", "|y.....................|", "|..................ffff|", "|*!!!!!!!!!------------|", @@ -48,8 +48,14 @@ }, "furniture": { "%": "f_sink", - "{": "f_rack", - "}": "f_rack", + "1": "f_rack", + "2": "f_rack", + "3": "f_rack", + "5": "f_rack", + "6": "f_rack", + "7": "f_rack", + "8": "f_rack", + "9": "f_rack", "h": "f_chair", "f": "f_glass_fridge", "L": "f_glass_cabinet", @@ -57,19 +63,19 @@ "y": [ "f_indoor_plant_y", "f_indoor_plant" ] }, "toilets": { "&": { } }, - "place_loot": [ - { "group": "drugs_pharmacy", "x": [ 12, 19 ], "y": 19, "chance": 70, "repeat": [ 1, 2 ] }, - { "group": "drugs_pharmacy", "x": [ 12, 19 ], "y": 21, "chance": 70, "repeat": [ 1, 2 ] }, - { "group": "drugs_pharmacy", "x": [ 1, 10 ], "y": 21, "chance": 70, "repeat": [ 1, 2 ] }, - { "group": "behindcounter", "x": 1, "y": [ 2, 6 ], "chance": 70, "repeat": [ 1, 2 ] }, - { "group": "fridgesnacks", "x": 1, "y": [ 11, 15 ], "chance": 70, "repeat": [ 1, 2 ] }, - { "group": "fridgesnacks", "x": [ 19, 22 ], "y": 17, "chance": 70, "repeat": [ 1, 2 ] }, - { "group": "snacks", "x": [ 8, 9 ], "y": [ 4, 9 ], "chance": 70, "repeat": [ 1, 3 ] }, - { "group": "magazines", "x": [ 13, 14 ], "y": [ 4, 9 ], "chance": 70, "repeat": [ 1, 3 ] }, - { "group": "cleaning", "x": [ 18, 19 ], "y": [ 4, 9 ], "chance": 70, "repeat": [ 1, 3 ] }, - { "group": "softdrugs", "x": [ 8, 19 ], "y": [ 11, 12 ], "chance": 70, "repeat": [ 1, 3 ] }, - { "group": "softdrugs", "x": [ 8, 19 ], "y": [ 14, 15 ], "chance": 70, "repeat": [ 1, 3 ] } - ], + "items": { + "#": [ { "item": "magazines", "chance": 10 } ], + "f": { "item": "fridgesnacks", "chance": 20, "repeat": [ 1, 3 ] }, + "1": { "item": "magazines", "chance": 20, "repeat": [ 1, 3 ] }, + "2": { "item": "snacks", "chance": 20, "repeat": [ 1, 3 ] }, + "3": { "item": "tools_home", "chance": 20, "repeat": [ 1, 3 ] }, + "5": { "item": "beauty", "chance": 20, "repeat": [ 1, 3 ] }, + "6": { "item": "vitamin_shop", "chance": 20, "repeat": [ 1, 3 ] }, + "7": { "item": "cleaning", "chance": 20, "repeat": [ 1, 3 ] }, + "8": { "item": "behindcounter", "chance": 20, "repeat": [ 1, 3 ] }, + "9": { "item": "pet_food", "chance": 20, "repeat": [ 1, 3 ] }, + "L": { "item": "drugs_pharmacy", "chance": 30, "repeat": [ 1, 3 ] } + }, "vehicles": { ".": { "vehicle": "shopping_cart", "chance": 1, "status": 1 } }, "place_monsters": [ { "monster": "GROUP_PHARM", "x": [ 2, 7 ], "y": [ 10, 17 ], "chance": 2 } ] } @@ -147,16 +153,16 @@ "________________________", "________________________", "|--OOOO--|______________", - "|l +______________", + "|m +______________", "|l +______________", "| |--OOO---OOO--|", "|#### |", - "| # rr rrrrrrr f|", - "|r # rr rrrrrrr f|", - "|r # rr f|", - "|r # rr rrrrrrr f|", - "|r # rr rrrrrrr f|", - "|r # b|", + "| # 12 5555555 f|", + "|8 # 12 6666666 f|", + "|8 # 12 f|", + "|8 # 12 7777777 f|", + "|8 # 12 3339999 f|", + "|7 # b|", "| # b|", "| bby| |ybb|", "|--+---+------%%%%%----|", @@ -194,24 +200,36 @@ "c": "f_chair", "f": "f_glass_fridge", "l": "f_vending_c", - "r": "f_rack", + "1": "f_rack", + "2": "f_rack", + "3": "f_rack", + "5": "f_rack", + "6": "f_rack", + "7": "f_rack", + "8": "f_rack", + "9": "f_rack", "S": "f_sink", "y": [ "f_indoor_plant_y", "f_indoor_plant" ], "x": "f_glass_cabinet" }, "toilets": { "T": { } }, - "place_loot": [ - { "group": "drugs_pharmacy", "x": [ 10, 22 ], "y": [ 19, 19 ], "chance": 70, "repeat": [ 2, 6 ] }, - { "group": "behindcounter", "x": [ 1, 3 ], "y": [ 7, 12 ], "chance": 50 }, - { "group": "behindcounter", "x": [ 1, 1 ], "y": [ 8, 11 ], "chance": 70 }, - { "group": "vending_drink", "x": [ 1, 1 ], "y": [ 3, 4 ], "chance": 80, "repeat": [ 1, 1 ] }, - { "group": "softdrugs", "x": [ 9, 10 ], "y": [ 7, 11 ], "chance": 40, "repeat": [ 1, 3 ] }, - { "group": "snacks", "x": [ 13, 19 ], "y": [ 7, 8 ], "chance": 70, "repeat": [ 1, 2 ] }, - { "group": "magazines", "x": [ 13, 19 ], "y": [ 10, 11 ], "chance": 70, "repeat": [ 1, 2 ] }, - { "group": "fridgesnacks", "x": [ 22, 22 ], "y": [ 7, 11 ], "chance": 70, "repeat": [ 1, 3 ] }, - { "group": "jackets", "x": 8, "y": [ 16, 17 ], "chance": 70, "repeat": [ 1, 2 ] }, - { "group": "cleaning", "x": 8, "y": [ 16, 17 ], "chance": 70, "repeat": [ 1, 2 ] } - ] + "vendingmachines": { "l": { "item_group": "vending_drink" }, "m": { "item_group": "vending_food" } }, + "items": { + "#": [ { "item": "snacks", "chance": 10 } ], + "f": { "item": "fridgesnacks", "chance": 20, "repeat": [ 1, 3 ] }, + "1": { "item": "magazines", "chance": 20, "repeat": [ 1, 3 ] }, + "2": { "item": "snacks", "chance": 20, "repeat": [ 1, 3 ] }, + "3": { "item": "tools_home", "chance": 20, "repeat": [ 1, 3 ] }, + "5": { "item": "beauty", "chance": 20, "repeat": [ 1, 3 ] }, + "6": { "item": "vitamin_shop", "chance": 20, "repeat": [ 1, 3 ] }, + "7": { "item": "cleaning", "chance": 20, "repeat": [ 1, 3 ] }, + "8": { "item": "behindcounter", "chance": 20, "repeat": [ 1, 3 ] }, + "9": { "item": "pet_food", "chance": 20, "repeat": [ 1, 3 ] }, + "x": { "item": "drugs_pharmacy", "chance": 30, "repeat": [ 1, 3 ] }, + "&": { "item": "jackets", "chance": 30 }, + "G": { "item": "behindcounter", "chance": 30 }, + "S": { "item": "softdrugs", "chance": 30 } + } } }, { diff --git a/data/json/mapgen/pool.json b/data/json/mapgen/pool.json index ac61fde66cee5..15282174d1925 100644 --- a/data/json/mapgen/pool.json +++ b/data/json/mapgen/pool.json @@ -40,7 +40,7 @@ { "chance": 15, "item": "magazines", "x": 6, "y": 2 } ], "place_toilets": [ { "x": 3, "y": 20 }, { "x": 20, "y": 20 } ], - "place_monsters": [ { "monster": "GROUP_MAPGEN_POOL", "x": [ 6, 17 ], "y": [ 6, 15 ], "repeat": [ 1, 5 ] } ], + "place_monsters": [ { "monster": "GROUP_MAPGEN_POOL", "x": [ 6, 17 ], "y": [ 6, 15 ], "repeat": [ 1, 3 ] } ], "rows": [ "sssssssssssssssssssssss_", "_||||||||||++||||||||||_", @@ -297,6 +297,7 @@ { "chance": 10, "repeat": [ 1, 2 ], "item": "magazines", "x": 2, "y": 17 } ], "place_toilets": [ { "x": 6, "y": 3 }, { "x": 8, "y": 3 }, { "x": 15, "y": 3 }, { "x": 17, "y": 3 } ], + "place_monsters": [ { "monster": "GROUP_MAPGEN_POOL", "x": [ 5, 18 ], "y": [ 5, 18 ], "repeat": [ 1, 3 ] } ], "rows": [ "ssssssssssssssssssssssss", "ssssssssssssssssssssssss", @@ -473,6 +474,7 @@ "{": "t_floor", "|": "t_brick_wall" }, + "place_monsters": [ { "monster": "GROUP_MAPGEN_POOL", "x": [ 5, 18 ], "y": [ 5, 18 ], "repeat": [ 1, 3 ] } ], "place_signs": [ { "signage": "Women", "x": 9, "y": 19 }, { "signage": "Men", "x": 14, "y": 19 } ] }, "om_terrain": "pool_3", @@ -690,7 +692,7 @@ "s": "t_sidewalk" }, "furniture": { "n": "f_dive_block" }, - "place_monsters": [ { "monster": "GROUP_MAPGEN_POOL", "x": [ 5, 18 ], "y": [ 5, 18 ], "repeat": [ 1, 6 ] } ] + "place_monsters": [ { "monster": "GROUP_MAPGEN_POOL", "x": [ 5, 18 ], "y": [ 5, 18 ], "repeat": [ 1, 3 ] } ] } }, { @@ -741,13 +743,13 @@ "n": "f_dive_block", "x": [ "f_datura", "f_bluebell", "f_mutpoppy", "f_dahlia", "f_flower_tulip", "f_chamomile", "f_flower_spurge", "f_lily" ] }, - "place_monsters": [ { "monster": "GROUP_MAPGEN_POOL", "x": [ 5, 18 ], "y": [ 5, 18 ], "repeat": [ 2, 7 ] } ] + "place_monsters": [ { "monster": "GROUP_MAPGEN_POOL", "x": [ 5, 18 ], "y": [ 5, 18 ], "repeat": [ 1, 3 ] } ] } }, { "name": "GROUP_MAPGEN_POOL", "type": "monstergroup", "default": "mon_null", - "monsters": [ { "monster": "mon_zombie_swimmer", "freq": 450, "cost_multiplier": 0 } ] + "monsters": [ { "monster": "mon_zombie_swimmer", "freq": 300, "cost_multiplier": 0 } ] } ] diff --git a/data/json/mapgen/prison_1.json b/data/json/mapgen/prison_1.json index 775ffe348f7b3..50f4595fb32a2 100644 --- a/data/json/mapgen/prison_1.json +++ b/data/json/mapgen/prison_1.json @@ -293,14 +293,14 @@ "````~~~~~~~~~ ** ^^^ F___(__((((((((__(___F $Y,,,,,?,,,,,?,,111$ $I,,,+,,,$A,,t,,,,o$,,,$$000$ **^^^)~~~````", "```~~~~~~~~~~ ***** ^^^^ F___(__(______(__(___F $$$$$$$$,,,,,$$$$$$$ wC,hd$,,,$A,,t,,,,o$,,,$$,,0$**^^^)~~~~````", "``~~~~~~~~~~ ********^^^ F___(__(______(__(___F $o,,,,1$,,,,,$S,=,T$ $$$$$$,,,$A,,,,,,,J$,,,+G,,0$*^^^)~~~~~````", - "```~~~~~~~~~ **********^^^F____(_(______(_(____F gdd,,,,?,,,,,$,,$$$$ $I,,,+,,,$$$$$+$$$$$,,,$$,,0$*^^^)~~~~~````", - "````~~~~~~~~~ ** ****^^^F_____(________(_____F $h,,,,Y$,,,,,=,,=,T$ wC,hd$,,,,,,,,,,,,,,,,,$$000$*^^^)~~~~~````", - "```~~~~~~~~~~ * ****** ^^^F______((((((((______F $$$$$$$$$$+$$$$$$$$$ $$$$$$$$$$$$$$+$$$$$$$$$$$$$$**^^)~~~~~~```", + "```~~~~~~~~~ ***'******^^^F____(_(______(_(____F gdd,,,,?,,,,,$,,$$$$ $I,,,+,,,$$$$$+$$$$$,,,$$,,0$*^^^)~~~~~````", + "````~~~~~~~~~ **'' ****^^^F_____(________(_____F $h,,,,Y$,,,,,=,,=,T$ wC,hd$,,,,,,,,,,,,,,,,,$$000$*^^^)~~~~~````", + "```~~~~~~~~~~ ''****** ^^^F______((((((((______F $$$$$$$$$$+$$$$$$$$$ $$$$$$$$$$$$$$+$$$$$$$$$$$$$$**^^)~~~~~~```", "```~~~~~~~~ *** ^^^FffffffffffHfffffffffF^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^*^^)~~~~~~```", "```~~~~~~~~ **|-----|^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^|-----|^*^^)~~~~~~~``", - "````~~~~~~~~ **'|>,,,,|%%%%%%%%%%V%%%%%%%%%%V%%%%%%%%%%V%%%%%%%%%%V%%%%%%%%%%V%%%%%%%%^^^%%V%%%%|,,,,>|^*^^)))))~~```", - "``~~~~~~~~~~ **''|,,,,,+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''%^^^H''''''+,,,,,|^**^^^^^)~~~``", - "```~~~~~~~~ *''|,,,,,|ffffffffffVffffffffffVffffffffffVffffffffffVffffffffffVffffffffHHHffVffff|,,,,,|^^**^^^^) ~~``", + "````~~~~~~~~ ** |>,,,,|%%%%%%%%%%V%%%%%%%%%%V%%%%%%%%%%V%%%%%%%%%%V%%%%%%%%%%V%%%%%%%%^^^%%V%%%%|,,,,>|^*^^)))))~~```", + "``~~~~~~~~~~ ** |,,,,,+''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''%^^^H''''''+,,,,,|^**^^^^^)~~~``", + "```~~~~~~~~ * |,,,,,|ffffffffffVffffffffffVffffffffffVffffffffffVffffffffffVffffffffHHHffVffff|,,,,,|^^**^^^^) ~~``", "```~~~~~~~~ ***|--+--| ^^^ |--+--|^^****^^) ~~~`", "``~~~~~~~~ * %'F ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ F'% *^^****^^) ~~`", "```~~~~~~~ ** %'F |--------------------|--|------------|GB|-------------|--gg--|-g+g-|-gg-| F'% *^^****^^) ~~`", @@ -326,9 +326,9 @@ "`````~~~~~~~~~ * %'F |6,,,6,,,6|,,|,,,,,,P|,,|----|-----|----|----|,,,,,|----|----|,,,,,|----| F'% ~~~~```", "````~~~~~~~~~~ ** %'F |6,,,6,,,6|,,|M,,,,,N|,,|^^^^^^^^^^^^^^^|T,,,B,,,,,B,,,T|T,,,B,,,,,B,,,T| F'% ~~~~````", "````~~~~~~~~~ * %'F |---------|,,|,,,,,,N|,,+^^^^^^^^^^^^^^^|bb,,G,,,,,G,,bb|bb,,G,,,,,G,,bb| F'% ~~~~````", - "```~~~~~~~~~~ ** %'F |DDDDD,rr,B,,|-------|+-|^^^^E^^888^^K^^|----|,,,,,|----|----|,,,,,|----| F'% ~~~~````", + "```~~~~~~~~~~ ** %'F |DDDDD,yy,B,,|-------|+-|^^^^E^^888^^K^^|----|,,,,,|----|----|,,,,,|----| F'% ~~~~````", "``````~~~~~~ *** %'F |,,,,,,,,,G,,|U|U|U|U|,,|^^^^^^^^^^^^^^^|T,,,B,,,,,B,,,T|T,,,B,,,,,B,,,T| F'% ~~~`````", - "```~~~~~~~~ ** V'V |WWWWW,rr,B,,|H|H|H|H|,,|^^^^E^^888^^E^^|bb,,G,,,,,G,,bb|bb,,G,,,,,G,,bb| V'V ~~~~````", + "```~~~~~~~~ ** V'V |WWWWW,yy,B,,|H|H|H|H|,,|^^^^E^^888^^E^^|bb,,G,,,,,G,,bb|bb,,G,,,,,G,,bb| V'V ~~~~````", "`````~~~~~ ** %'F |---------|--|,,,,,,,,,,|^^^^^^^^^^^^^^^|----|,,,,,|----|----|,,,,,|----| F'% ~~~~`````", "```~~~~~~ ** %'F F::;;;:::::::H,,,,,,,,,h|^^^^E^^888^^E^^|T,,,B,,,,,B,,,T|T,,,B,,,,,B,,,T| F'% ~~~~~`````", "```~~~~~~ ***** %'F F::::::::::::|ScRRRQQQdd|^^^^^^^^^^^^^^^|bb,,G,,,,,G,,bb|bb,,G,,,,,G,,bb| F'% ~~~~~`````", @@ -458,7 +458,7 @@ "U": { "monster": "mon_dog_gshepherd", "chance": 10 }, ":": { "monster": "mon_dog_gshepherd", "chance": 1 } }, - "place_graffiti": [ { "text": "Dufresne was here", "x": 18, "y": 28 } ] + "place_graffiti": [ { "text": "Dufresne was here", "x": 19, "y": 22 } ] } }, { diff --git a/data/json/mapgen/railroad/railroad_station.json b/data/json/mapgen/railroad/railroad_station.json index 02f2c8fc9ff4a..da16e84fd5b80 100644 --- a/data/json/mapgen/railroad/railroad_station.json +++ b/data/json/mapgen/railroad/railroad_station.json @@ -109,6 +109,16 @@ " ^X^^^X^ ^X^^^X^ #######$$.......::.......$$ " ], "palettes": [ "railroad", "railroad_station" ], + "place_monsters": [ + { "monster": "GROUP_ZOMBIE", "x": [ 25, 46 ], "y": [ 1, 22 ], "repeat": [ 0, 1 ], "density": 1 }, + { "monster": "GROUP_ZOMBIE", "x": [ 49, 70 ], "y": [ 1, 22 ], "repeat": [ 0, 1 ], "density": 1 }, + { "monster": "GROUP_ZOMBIE", "x": [ 1, 22 ], "y": [ 25, 46 ], "repeat": [ 0, 1 ], "density": 1 }, + { "monster": "GROUP_ZOMBIE", "x": [ 25, 46 ], "y": [ 25, 46 ], "repeat": [ 0, 1 ], "density": 1 }, + { "monster": "GROUP_ZOMBIE", "x": [ 1, 22 ], "y": [ 49, 70 ], "repeat": [ 0, 1 ], "density": 1 }, + { "monster": "GROUP_ZOMBIE", "x": [ 49, 70 ], "y": [ 49, 70 ], "repeat": [ 0, 1 ], "density": 1 }, + { "monster": "GROUP_ZOMBIE", "x": [ 25, 46 ], "y": [ 73, 94 ], "repeat": [ 0, 1 ], "density": 1 }, + { "monster": "GROUP_ZOMBIE", "x": [ 49, 70 ], "y": [ 73, 94 ], "repeat": [ 0, 1 ], "density": 1 } + ], "vendingmachines": { "6": { "item_group": "vending_drink" }, "7": { "item_group": "vending_food" }, diff --git a/data/json/mapgen/robofachq_static.json b/data/json/mapgen/robofachq_static.json index 5b7e602ba833a..055c1c9b74b10 100644 --- a/data/json/mapgen/robofachq_static.json +++ b/data/json/mapgen/robofachq_static.json @@ -53,20 +53,20 @@ ",,|,____________________sssssssssssssssssssssssssssssssss___________,U,,,,,,,,,,,,,,,,,,,,,,,|,,", ",,|,____________________ss,,,,,,,,ss,,,,,,,,,,,,,,,,,,,,,___________,U,,,,,,,,,,,,,,,,,,,,,,,|,,", ",,|,____________________ss,|((((||22||||||||||||(((((||||___________|||,,,,,,,,,,,,,,,,,,,,,,|,,", - ",,|,____________________ss,| |d h |;i| B||||___________|||,,,,,,,,,,,,,,,,,,,,,,|,,", - ",,|,____________________ss,|? (dh | | dh B||||55555555555|||,,,,,,,,,,,,,,,,,,,,,,|,,", - ",,|,____________________ss,|? t (dd66d ||2|hd | |,,,,,,,,,,,,,,,,,,,,,,|,,", - ",,|,__________yyyyyyyyyyss,|? t ||((((22| |(((([| |,,,,,,,,,,,,,,,,,,,,,,|,,", - ",,|,____________________ss,|? 2 YY 5 |,,,,,,,,,,,,,,,,,,,,,,|,,", - ",,|,____________________ss,|^a a 2 5 |,,,,,,,,,,,,,,,,,,,,,,|,,", - ",,|,____________________ss,|||||||||||||55GI||||55|||| |,,,,,,,,,,,,,,,,,,,,,,|,,", - ",,|,____________________ss,|hhhhhhhhh| | | |; | |,,,,,,,,,,,,,,,,,,,,,,|,,", - ",,|,__________yyyyyyyyyyss,| 2 | | 2 i| |,,,,,,,,,,,,,,,,,,,,,,|,,", - ",,|,____________________ss,| lllllll | ||||55|||| |,,,,,,,,,,,,,,,,,,,,,,|,,", - ",,|,____________________ss,|2|||||||2|eeeeee(d d( |,,,,,,,,,,,,,,,,,,,,,,|,,", - ",,|,____________________ss,| 2~|~2 |eeeeee(6h 66 h6( |,,,,,,,,,,,,,,,,,,,,,,|,,", - ",,|,____________________ss,|i ||||| i|Eeeeee(d 66 d( |,,,,,,,,,,,,,,,,,,,,,,|,,", - ",,|,__________yyyyyyyyyyss,|i 2~|~2 i|eeeeee| | |,,,,,,,,,,,,,,,,,,,,,,|,,", + ",,|,____________________ss,| |d h |;i| B||||55555555555|||,,,,,,,,,,,,,,,,,,,,,,|,,", + ",,|,____________________ss,|? (dh | | dh B||||eeeeeeeeeee|||,,,,,,,,,,,,,,,,,,,,,,|,,", + ",,|,____________________ss,|? t (dd66d ||2|hd | eeeeeeeeeee |,,,,,,,,,,,,,,,,,,,,,,|,,", + ",,|,__________yyyyyyyyyyss,|? t ||((((22| |(((([| eeeeeeeeeee |,,,,,,,,,,,,,,,,,,,,,,|,,", + ",,|,____________________ss,|? 2 YY 5 eeeeeeeeeee |,,,,,,,,,,,,,,,,,,,,,,|,,", + ",,|,____________________ss,|^a a 2 5 eeeeeeeeeee |,,,,,,,,,,,,,,,,,,,,,,|,,", + ",,|,____________________ss,|||||||||||||55GI||||55|||| eeeeeeeeeee |,,,,,,,,,,,,,,,,,,,,,,|,,", + ",,|,____________________ss,|hhhhhhhhh| | | |; | eeeeeeeeeee. |,,,,,,,,,,,,,,,,,,,,,,|,,", + ",,|,__________yyyyyyyyyyss,| 2 | | 2 i| eeeeeeeeeee |,,,,,,,,,,,,,,,,,,,,,,|,,", + ",,|,____________________ss,| lllllll | ||||55|||| eeeeeeeeeee |,,,,,,,,,,,,,,,,,,,,,,|,,", + ",,|,____________________ss,|2|||||||2|Eeeeee(d d( eeeeeeeeeee |,,,,,,,,,,,,,,,,,,,,,,|,,", + ",,|,____________________ss,| 2~|~2 |eeeeee(6h 66 h6( eeeeeeeeeee |,,,,,,,,,,,,,,,,,,,,,,|,,", + ",,|,____________________ss,|i ||||| i|eeeeee(d 66 d( eeeeeeeeeee |,,,,,,,,,,,,,,,,,,,,,,|,,", + ",,|,__________yyyyyyyyyyss,|i 2~|~2 i|Eeeeee| | eeeeeeeeeee |,,,,,,,,,,,,,,,,,,,,,,|,,", ",,|,__________ssssssssssss,||||||||||||||||||||||||||||||||||||||||||||,,,,,,,,,,,,,,,,,,,,,,|,,", ",,|,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,|,,", ",,|,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,|,,", @@ -113,79 +113,98 @@ { "type": "mapgen", "om_terrain": [ - [ "robofachq_hab_a0", "robofachq_hab_a1", "robofachq_hab_a2", "robofachq_hab_a3" ], - [ "robofachq_hab_b0", "robofachq_hab_b1", "robofachq_hab_b2", "robofachq_hab_b3" ] + [ "robofachq_exe_a0", "robofachq_exe_a1", "robofachq_exe_a2", "robofachq_exe_a3" ], + [ "robofachq_exe_b0", "robofachq_exe_b1", "robofachq_exe_b2", "robofachq_exe_b3" ] ], "method": "json", "object": { "fill_ter": "t_thconc_floor", "rows": [ - "################################################################################################", - "#################################################################||||||||||||||||||||||||||||||#", - "#################################################################|; | i|;Y|FFFFFF|FFFF|FFFFFF|#", - "########################|||||||||||##############################| 2 i|i | Y | Y | Y |#", - "########################|^BB6::::B|##########################|||||||||2|||2||2|||||5||||5||||||#", - "########################| YY c|###########################|; |ii| |rY Y|#", - "########################|r cc c|##|||||||||||##############| 2 2 |rY Y|#", - "########################|r ch c||||rrrrrrrrr|||||||||||||||||||||| |||2| i|FY |||||||||| |#", - "#############||||||||||||r YY (Y ???| htth hh htth G |Yi|F iKKKKooK| |#", - "#############|6:::::::::|c ( ccccc6 ^|h tth tt htth cYK|FY YY c| |#", - "#############| |c cc ( ???| htth hh cYK| iKKooK |#", - "#############| 66::::6 |c cc ( ccccc6 ||||Y YccY YcY Y YY |#", - "#########||||| G 4 YY 2 ???|Y YccY YcY iKKooK FFF|#", - "#########|666||||| ||||||(((((((((|G ^| htth hh hh ||||2(((||||||||||||#", - "#########| 5 Y Y ???| htth tt tt W|#| Y |############", - "#########| 5 Y Y ||22|||| hh hh t|#|hdh |############", - "########|| |||22||||(((((2(|||| | |Y Y||==========]]==========|||||||||############", - "########|6 |c r|^ ^| 4 |Y Y|? . G,,,,,,,,,|^BBB^ |#|||||######", - "########|||44|||c r| hhh |&i| ||||||||? ,,,,,,,,(YY |||:::|######", - "########|6 6|c r| ttttt ||||55|eeeeee d (,,,,,,t6t ,,,,,,,,(H dd 5T Y|######", - "########|6 6|c r|Y hhh Y| |eeeeee Y d (,,,,,,Y Y2 6h Y5 6|######", - "########|6 66 6|c r|^ ^|66666|Eeeeee Y dh(,,,,,,Yt Y2 hd QY5 :|######", - "########||||||||||||||||||||||||||||||eeeeee d (,,,,,,t6t ,,,,,,,,( dd 5T Y|######", - "#####################################||||||||G ,,,,,,,,(YY |||:::|######", - "#########################################|> 5 G,,,,,,,,,|^ A ^|#|||||######", - "##########|||||||||#|||||||||#|||||||||#|||||Y Y||==========]]==========||||5||||############", - "##########|~ ;|~ ;|#|~ ;|~ ;|#|~ ;|~ ;|#|~ ;||22||||B B| ^|##||||||######", - "##########|~Yi|~Yi|#|~Yi|~Yi|#|~Yi|~Yi|#|~Yi| d |B htth t B htth B|th ^||||i; ~|######", - "#########|||2|||2|||||||||2|||||2|||2|||||2|| dh|BYhtthYt Y Y BYhtthYB|thY Y 2 Y ~|######", - "#########|D @|# @|D @|D @|D @|D @|@ D| d |B t B htth B| B|2|||||||######", - "#########|B @|# @|B @|B @|B @|B @|@ B| |B B| B| h6|#########", - "########||| Y|||Y ||| Y|||Y ||| Y|||Y ||| Y||G |||BBBB^YH YBBBBB||| h B| t|#########", - "########|^||2|^|2||^||2|^|2||^||2|^|2||^||2| ||||||||||]]|||||||||,|ccY ||@Y B|#########", - "########|^ Y Y Y Y Y ] ,,,,| c|@ B|#########", - "########|^G ] ,,,,|KFoKK||||||#########", - "########|^ Y Y Y Y Y |h tt YYtt ,,,,|||||||##############", - "########|^||2|^|2||^||2|^|2||^||2|^|2||^||2| |t ? ? ,,,,|####################", - "########||| Y|||Y ||| Y|||Y ||| Y|||Y ||| Y|| |||h ????^ G ^????t,,,,|####################", - "#########|B @|B @|B @|B @|B @|B @|B @||||||||#|||||||||||||||||||||,|####################", - "#########|D @|D @|D @|D @|D @|D @|D @|############################|||####################", - "##########||2|||2|||||2|||2|||||2|||2|||||2||###################################################", - "##########|~Yi|~Yi|#|~Yi|~Yi|#|~Yi|~Yi|#|~Yi|###################################################", - "##########|~ ;|~ ;|#|~ ;|~ ;|#|~ ;|~ ;|#|~ ;|###################################################", - "##########|||||||||#|||||||||#|||||||||#|||||###################################################", - "################################################################################################", - "################################################################################################", - "################################################################################################", + "############################################| |############################################", + "########|||||||||||||||||||||||||#|||||||||||||22|||############################################", + "########|k ht|A h ^|#|lll|lllll| YY |############################################", + "########|i k k htth ht| Cd6ddC |#|bYb|bYbYb|T YY T|########||||||||############################", + "########|k o k htth ht| CCCCCC |#|b b|b b b|| YY ||######||=A6666A=||##########################", + "########| W ^|^ h ^|#|l l|l l l| YY |######|,=Y Y=,|##########################", + "########|FFFF| htth ?||||[[||||||l l|l l l|T YY T|######|,= htth =,|##########################", + "########|||||| htth ?||^^ ^^|| |||22||||||||||,= htth =,|##########################", + "########|ffff| 2 YY 2Y bbb bbbb| |L | i|,= htth =,|##########################", + "########| |^??t t??^| ,, ||||||||||||| |LY2 Y;|,= htth =,|##########################", + "###||||||hd ||||||||||| ,, 2 r r r| d( Y b|||||2||,= htth =,|##########################", + "###|;i|T|dd 2 2 (d r r r| Gd( Y b|AhQ ^|,= =,|##########################", + "###|@ 2Y2 | T T |G YY G(dh r| 2 Y b|ddd H|,[Y Y[,|##########################", + "###|||| |||||||||||||||||||22|||||||||||||||| ^| h ||||| |||||##########################", + "###|;i| |''''''''''''''''R R''''''''''''''( ^| YH|###|YY|##############################", + "###|@ 2Yh|''''''''''''''''R R''''''''''''''|||22|||====[=|||||22|||||||||||####################", + "###|||| t|''''''''''''''''R R''''''''''''''(< GY Y =,,,,,,,,|||||||||############", + "###|;i| h|''''''''''''''''R R''''''''''''''(> CC Y G=,,,,,,,,|^BB ^^|#|||||######", + "###|@ 2Y |''''''''''''''''R R'''''''|======|| CC ||(RRRRRRRR =======[=(YY CCC |||:::|######", + "###|||||||''''''''''''''''R R'''''''=Eeeeee2Y CC ^('''''''([( Y Y(H Cdd 5T Y|######", + "#########|''''''''''''''''RYYR'''''''=eeeeee2CCCC.dG('''''''R<( CCCCCCCCCC 2 C6C Y5 6|######", + "#########|''''''''''''''''RYYR'''''''=eeeeee2CCCC dh('''''''R>( CCCCCCCCCC 2 hCdh Y5 :|######", + "#########|''''''''''''''''R R'''''''=Eeeeee2Y CC ^('''''''([( Y Y( Cdd 5T Y|######", + "#########|''''''''''''''''R R'''''''|======|| CC ||(RRRRRRRR =======[=(YY CCC |||:::|######", + "#########|''''''''''''''''R R''''''''''''''(> CC Y G=,,,,,,,,|^ A ^|#|||||######", + "#########|''''''''''''''''R R''''''''''''''(< GY Y =,,,,,,,,||||55||||###########", + "#########|''''''''''''''''R R''''''''''''''|||22|||((2||||||||22|||||||||||^ ^|###########", + "#########|''''''''''''''''R R''''''''''''''( Y(dG L|L6dd|^YY^|::::::::| YY |###########", + "#########|====|====|=====||22||=======||||||| Y(dh 2 Yhd|^ ^| Y Y | htth |###########", + "#########| h ^|h B|h B| |A dh B|A dCCCCCCC ||||||||||||| ||[=======| htth |###########", + "#########|dd ^|dd B|dd B| |Bh6 ^| hdCCCCCCC 5Y |Wt| dh dh dh f| h tth |###########", + "#|||||||||^h Y|h Y^|h Y^| |B Y2 dCCCCCCC 5Y d d d f| htth |###########", + "#|iii |===[|==[=|===[=||YY|||||||||| ((((( d dh dh Y f| YY |###########", + "#|Y Y Y |Y ^ ^ ^ ^ Y(,,,(. dh d dY Y d d d Yf|^ ^|###########", + "#|2|2|2| |Y CCC Y(,,,[ dh dh dh f||||66||||###########", + "#|;|;|;|Y =========================t CCC (,,,[ dh d dY Yf|##||||##############", + "#|||||||Y [,,,,,,,,,,,,,,,,,,,,,,,=t CCC (,,,( d dh dh Y d d d f|||||||||||||########", + "#|;|;|;|Y =========================t cCC ((((( Y dh dh dh f|^^^^^^^^^^^|########", + "#|2|2|2| |YG CCC Y 5Y Y ^|########", + "#|Y Y Y |Y Y 5Y G Y ^|########", + "#|iii |====[[||=====|===[=|===[|[==||==[=||2||2|||[=======|| |||=====||||||2|||2||||########", + "#||||||||| ^| hd^|^ H| | |^ |f ff f| d dh dh| |Y Y^|;2Y | Y2;|########", + "#########|dd ] dh|h t|h h | | d |f ff f| dh d d | 2 hhhhh ^||| ||| |||########", + "#########| h ] hh |6dd H|ddd |6dd |hd |f ff f| Y Y| 2 ttttt ^|;2Y i|i Y2;|########", + "#########|dd dd|Y |h YB|Yh |Yhd |^ Y|f f| d d dh| | hhh h ^||| i|i |||########", + "#########|Yh h|BBBB^|^^BBB|A6^^| |BBBB|ffffff| dh d d |^^|Y h Y^|;2Y i|i Y2;|########", + "#########|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||########", "################################################################################################" ], "palettes": [ "robofachq" ], "terrain": { ",": [ "t_shrub_rose", "t_shrub", "t_grass", "t_grass", "t_grass_tall" ], "-": "t_wall_metal", + "'": "t_open_air", "e": "t_elevator", + "C": "t_carpet_red", "E": "t_elevator_control", "Y": "t_thconc_floor_olight", "#": "t_rock", "6": "t_console", + "R": "t_railing", "W": "t_water_dispenser" }, - "furniture": { ":": "f_server", "K": "f_counter" }, + "furniture": { ":": "f_server", "K": "f_counter", "H": "f_armchair", "L": "f_locker", "f": "f_filing_cabinet" }, + "item": { "A": { "item": "american_flag" } }, "items": { "F": { "item": "fridge", "chance": 80 }, + "f": { "item": "file_room", "repeat": [ 10, 30 ] }, "@": { "item": "bed", "chance": 80 }, + "r": [ + { "item": "cop_armory", "chance": 80 }, + { "item": "energy_weapon_armory", "chance": 33 }, + { "item": "ammo_milspec", "chance": 40 }, + { "item": "mags_milspec", "chance": 40 }, + { "item": "guns_milspec", "chance": 40 } + ], + "L": [ + { "item": "energy_weapon_armory", "chance": 33 }, + { "item": "ammo_milspec", "chance": 40 }, + { "item": "mags_milspec", "chance": 40 }, + { "item": "guns_milspec", "chance": 40 } + ], "K": { "item": "kitchen", "chance": 40 }, "o": { "item": "oven", "chance": 70 }, + "d": [ { "item": "office_supplies", "chance": 70 }, { "item": "office_mess", "chance": 70, "repeat": [ 1, 3 ] } ], "D": { "item": "NC_ROBOFAC_SCIENTIST_worn", "chance": 50 }, "B": [ { "item": "magazines", "chance": 75, "repeat": [ 1, 5 ] }, @@ -195,6 +214,218 @@ "npcs": { "G": { "class": "hub_security" }, "Q": { "class": "hub_security_head" } } } }, + { + "type": "mapgen", + "om_terrain": [ + [ "robofachq_hab_a0", "robofachq_hab_a1", "robofachq_hab_a2", "robofachq_hab_a3" ], + [ "robofachq_hab_b0", "robofachq_hab_b1", "robofachq_hab_b2", "robofachq_hab_b3" ] + ], + "method": "json", + "object": { + "fill_ter": "t_concrete", + "rows": [ + "################################################################################################", + "################################||||||||||######################################################", + "################################|FFFF|FFF|######################################################", + "#############||||||||||||||||||||F F|F F||||#####||||||##||||||################################", + "#############|KiKKKKKiKooKKKK K|F F|F F|;Y|#####|~Y ~|##|~ Y~|################################", + "#############|K K YY o K|F F|F f|i |#####|| |||##||| ||################################", + "#############|k K iKKoK K K||2||||2|||2|||||||i 2;|##|;2 i|################################", + "#############| i i| Y Y Y|^^^^^|i |||##||| i|################################", + "#############|FFFFFFFF 2 | Y2;||||;2Y |||||############################", + "####|||||||||||||||||||YY|||||||||||||||||||||| ||2||||FF|||2||FFF|||||||||||||||||||||||######", + "####|,,,.| htth Yffff i|'''''''''''''''(Y Y|Y X X X EE|rrrrrrrrrrrrp|######", + "####|,,,,= htth Mi|'''''''''''''''(G CC | TT TT b CCC X X Y | p|######", + "####|,,,, ccccccff||||'''''''''''''''( CC | b CCC EE| c cccc p|######", + "####|,,,,= htth |WW|RRRRRRRRRRRRRRR| CC | TT TT b CCC X X Y | h6 p|######", + "####|,,,,= htth h Y CC |Y ^ ^ X X X EE|ccccYYcccc p|######", + "####|,,,,= htth hth Y RRRRRR CC ||=========||22||=======||||||22||||||||######", + "####|,,,,= ^| ,,,,,R'''R>YCC Y =,,,,,,,,|cccAYYApppppp|######", + "####|,,,,= htth htth htth ^|^bb^ ,,,,,R'''RYCC Y =,,,,,,,,|PPPPPPP P P P|######", + "####|,,,,= MM Y RRRRRR CC ||=========||22||========|||||||||||||||######", + "####|,,,,= MM Y CC |Y BB BB B|####################", + "####|,,,,= hth htth|WW|RRRRRRRRRRRRRRR| CC |htth hhh htth B|####################", + "####|,,,,= hth thht htth||||'''''''''''''''( CC |htth ttt ^^ htth B|####################", + "####|,,,,= hth thht htth|##|'''''''''''''''( CC |Y B B B|####################", + "#||||||||| hth YY htth|##|'''''''''''''''(Y Y|BBBBBBBBBBBBBBBBBBBBBBBB|####################", + "#|iii | |||||||||||||||||||||||||||||||||||22|||||||||||||||||||||||||||||||||||############", + "#|Y Y Y | ^|##|~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|^ t ^ |~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|############", + "#|2|2|2| | ^|##|~ i|~ i|~ i|~ i|~ i|~ i|? H^ htth |~ i|~ i|~ i|~ i|~ i|~ i|~ i|||||||||||||", + "#|;|;|;|Y ^|##||2|||2|||2|||2|||2|||2||? t ^ htth ||2|||2|||2|||2|||2|||2|||2||~2 |@@ D @@|", + "#|||||||Y ^|##|@ D|@ D|@ D|@ D|@ D|@ D|? t H^ |@ D|@ D|@ D|@ D|@ D|@ D| D||| |D @ D|", + "#|;|;|;|Y|YY^|##|@ D|@ D|@ D|@ D|@ D|@ D| htth |@ D|@ D|@ D|@ D|@ D|@ D| D|~2 |@@ @ @@|", + "#|2|2|2| |||||||||5|||5|||5|||5|||5|||2||Ht H ||5|||5|||5|||5|||5|||5|||5||||2|D D|", + "#|Y Y Y |###|,,,=Y Y 2 S @@|", + "#|iii |###|,,,=Y Y 2 D|", + "#|||||||||###|||||5|||5|||5|||5|||5|||2||G ? t ?||5|||5|||5|||5|||5|||5|||5||||2| @@|", + "#############|##|@ D|@ D|@ D|@ D|@ D|@ D|^ h ? t ?|@ D|@ D|@ D|@ D|@ D|@ D|@ D|i |D D|", + "#############|##|@ D|@ D|@ D|@ D|@ D|@ D|t??t ^|@ D|@ D|@ D|@ D|@ D|@ D|@ D|i |@@ @ @@|", + "#############|##||2|||2|||2|||2|||2|||2||======[[======||2|||2|||2|||2|||2|||2|||2|| |D @ D|", + "#############|##|~ i|~ i|~ i|~ i|~ i|~ i|,,,,,,,,,,,,,,|~ i|~ i|~ i|~ i|~ i|~ i|~ i|2|2|@@ D @@|", + "#############|##|~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|,,,,,,,,,,,,,,|~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|;|;|||||||||", + "#############|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||########" + ], + "palettes": [ "robofachq" ], + "terrain": { + ",": [ "t_shrub_rose", "t_shrub", "t_grass_tall" ], + "-": "t_wall_metal", + "'": "t_open_air", + "e": "t_elevator", + "C": "t_carpet_red", + "E": "t_elevator_control", + "Y": "t_thconc_floor_olight", + "#": "t_rock", + "6": "t_console", + "R": "t_railing", + "W": "t_water_dispenser" + }, + "furniture": { + "K": "f_counter", + "M": "f_counter", + "A": "f_canvas_wall", + "%": "f_canvas_door", + "E": "f_ergometer", + "T": "f_treadmill", + "X": "f_exercise" + }, + "sealed_item": { + "P": { "item": { "item": "seed_tomato" }, "furniture": "f_planter_mature" }, + "p": { "item": { "item": "seed_wheat" }, "furniture": "f_planter_mature" } + }, + "items": { + "F": { "item": "fridge", "chance": 80, "repeat": [ 2, 6 ] }, + "@": { "item": "bed", "chance": 80 }, + "M": [ + { "item": "SUS_dishes", "chance": 80, "repeat": [ 1, 3 ] }, + { "item": "SUS_silverware", "chance": 33, "repeat": [ 1, 3 ] } + ], + "k": [ + { "item": "kitchen", "chance": 33, "repeat": [ 1, 3 ] }, + { "item": "SUS_knife_drawer", "chance": 40, "repeat": [ 1, 3 ] }, + { "item": "SUS_cookware", "chance": 40, "repeat": [ 1, 3 ] } + ], + "K": { "item": "kitchen", "chance": 40 }, + "o": { "item": "oven", "chance": 70 }, + "d": [ { "item": "office_supplies", "chance": 70 }, { "item": "office_mess", "chance": 70, "repeat": [ 1, 3 ] } ], + "r": [ { "item": "tools_earthworking", "chance": 50 }, { "item": "supplies_farming", "chance": 70, "repeat": [ 1, 3 ] } ], + "D": { "item": "NC_ROBOFAC_SCIENTIST_worn", "chance": 50 }, + "B": [ + { "item": "magazines", "chance": 75, "repeat": [ 1, 5 ] }, + { "item": "lab_bookshelves", "chance": 55, "repeat": [ 1, 3 ] } + ] + }, + "npcs": { "G": { "class": "hub_security" } } + } + }, + { + "type": "mapgen", + "om_terrain": [ + [ "robofachq_res_a0", "robofachq_res_a1", "robofachq_res_a2", "robofachq_res_a3" ], + [ "robofachq_res_b0", "robofachq_res_b1", "robofachq_res_b2", "robofachq_res_b3" ] + ], + "method": "json", + "object": { + "fill_ter": "t_concrete", + "rows": [ + "############################################| |#############################################", + "################################||||||||||##| |#############################################", + "################################|FFFF|FFF|##| |#############################################", + "#############||||||||||||||||||||F F|F F|||||222|||||||||||||||||||||||||||####################", + "#############| |^ ^| :|####################", + "#############| |^ ^| === === === === === :|####################", + "#############| |^ ^| =6= =6= =6= =6= =6= :|####################", + "#############| |^ ^| =2= =2= =2= =2= =2= :|####################", + "#############| AAAA |^ ^| :|####################", + "####||||||||||||||||||||||||||||YY||||||||||||222|| === === === === === :|||||||||||||||######", + "####|,,,.|SSSS6SSSS| h B|##|,,( (,,,,,,,,,( | =6= =6= =6= =6= =6= :|:::::::::::::|######", + "####|,,,,|S S|ddd B|##|,,( (,,,,,,,,,( | =2= =2= =2= =2= =2= :| :|######", + "####|,,,,|SSS SSSS| h B||||,,( (,,,,,,,,,( | :| 66 66 6 :|######", + "####|,,,,|====[====|=[===|YY|((( ((((((((((| | d d d d 2 66 66 6 :|######", + "####|,,,,= G Y | dh dh dh dh 2 :|######", + "####|,,,,= Y RRRRR ||====[==|||||||||||||||||2(||||||||||||######", + "####|,,,,= ||||||| (((((((( ======'''(> 2 G Y(:::::::::::::::| : : : : : |######", + "####|,,,,= = 666 = (''''''(^bb^ =,,,,='''( 2 G Y(:::::::::::::::| : : : : : |######", + "####|,,,,= RRRRRR ||=[=====|||||||||||||||||2(||||||||||||######", + "####|,,,,= |? [ 2 |#################", + "####|,,,,= |=[===|=[===|YY|((( ((((((((((|||||||? [ ( Y|#################", + "####|,,,,= |S S|s S||||,,( (,,,,,,,,,( ^|^ |[=======|===[|[====||||#################", + "####|,,,,= |S hS|S hS|##|,,( (,,,,,,,,,( hdhd|ddd | hhhh ^|h Y|Y h |####################", + "#||||||||| ||S6SSS|S6SSS|##|,,( (,,,,,,,,,( d6d| h | tttt 6|d6d | dd6|####################", + "#|iii | ^||||||||||||||||((|YY|(((((((((|[[|||| | hhhh | h | h|####################", + "#|Y Y Y | ^|lllll|^Y dh = dh^|Y B| |ffff|Y Y|BBBB|BBBBB|####################", + "#|2|2|2| | ^|l |B h6 [ d | hdhB|AAAAA||||||||||||||||||||||||||||||||||||||||||||||", + "#|;|;|;|Y |l ll |B d ^|||| ||2|Y d B|SSSSSSSS9S|SlllSSSS llSSSS SSS=YDSS SSS SSSll ll|", + "#|||||||Y ^|||||2|BY HtH| G|2|||||| hy|SY G Y= Y|", + "#|;|;|;|Y|YY^|S |||||||||| A Y|S SSSSS hS hS sh= |", + "#|2|2|2| |||||Sh SS6 SSS= y% Y|| SSSSS SS SS SS= SSS t 7966 6|", + "#|Y Y Y |###|S h ] Y% SSS Y2Y G ]Y hSSS t 7966 6|", + "#|iii |###|S 2 66 A h6SS Y2Y G Y]Y 688 t Y|", + "#|||||||||###|||||2|========|]=====]=======|AA%AA|AAAAA||yyyyyyyyyyyyyyyyyy = 9 t &&66 6|", + "#############|l ll |Sh SSSS|h d| y6 y = 9 &&66 6|", + "#############|l l |SSSSS 6| hhdA y y =t8898888 7|", + "#############|l l|S hS| h hdA y y =Y 6 7|", + "#############|lllll|SSSSSYYll 6 llYYSSS|ddd h %Y y yY=t77 t7799988ttt777|", + "#############|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||", + "################################################################################################" + ], + "palettes": [ "robofachq" ], + "terrain": { + ",": [ "t_shrub_rose", "t_shrub", "t_grass_tall" ], + "-": "t_wall_metal", + "'": "t_open_air", + "e": "t_elevator", + "C": "t_carpet_red", + "E": "t_elevator_control", + "Y": "t_thconc_floor_olight", + "#": "t_rock", + "6": "t_console", + "R": "t_railing", + "9": "t_conveyor", + "7": "t_machinery_light", + "8": "t_machinery_heavy", + "&": "t_machinery_electronic" + }, + "furniture": { + "K": "f_counter", + "S": "f_table", + "A": "f_canvas_wall", + "%": "f_canvas_door", + "H": "f_armchair", + "E": "f_ergometer", + "T": "f_treadmill", + "X": "f_exercise" + }, + "items": { + "S": [ + { "item": "tools_robotics", "chance": 30, "repeat": [ 1, 3 ] }, + { "item": "robots", "chance": 50, "repeat": [ 1, 3 ] }, + { "item": "supplies_electronics", "chance": 50, "repeat": [ 1, 3 ] } + ], + "d": [ { "item": "office_supplies", "chance": 70 }, { "item": "office_mess", "chance": 70, "repeat": [ 1, 3 ] } ], + "B": [ + { "item": "magazines", "chance": 75, "repeat": [ 1, 5 ] }, + { "item": "lab_bookshelves", "chance": 55, "repeat": [ 1, 3 ] } + ] + }, + "npcs": { "G": { "class": "hub_security" } } + } + }, { "type": "mapgen", "om_terrain": [ [ "robofachq_sub_a0", "robofachq_sub_a1", "robofachq_sub_a2", "robofachq_sub_a3" ] ], @@ -202,14 +433,14 @@ "object": { "fill_ter": "t_thconc_floor", "rows": [ - "#######################| |##############################", - "#######################| |##############################", - "#######################| bb bbb bb bb |##############################", - "#######################| |##############################", - "#######################|Y Y|##############################", - "#######################|||||||||||||||||||||||| |(((((|||||||##############################", - "##############################################||2222||ttttt|####################################", - "#####################################||||||||||^ ^| hY |####################################", + "#######################| ||||||||||||||####################################", + "#######################|Y Y (tt ^|####################################", + "#######################| bb bbb bb (th |####################################", + "#######################| (t |####################################", + "#######################|Y ^bb^ ^bbb^ ^bb Y (t ^|####################################", + "#######################|||||||||||||||||||||||| |||2|||####################################", + "##############################################||5555||tt tt|####################################", + "#####################################||||||||||^ ^| h h|####################################", "#####################################|rrrrrrrr|^ ^| |####################################", "#####################################|r r|| ||||2|||####################################", "#####################################|r YY 2 (t G|####################################", @@ -221,11 +452,11 @@ "#####################################| ~| |~ |^ Y^|####################################", "#####################################| i| |i |^ Y^|####################################", "#####################################||||||||||| ||||||||####################################", - "#####################################|eeeeee5 ^|##########################################", - "#####################################|eeeeee5 YY ^|##########################################", - "#####################################|Eeeeee5 YY ^|##########################################", - "#####################################|eeeeee5 ^|##########################################", - "#####################################|||||||||||||||||##########################################" + "#####################################|lll 2 ^|##########################################", + "#####################################|^ ( YY ^|##########################################", + "#####################################| d ( YY ^|##########################################", + "#####################################|^hdh ( ^|##########################################", + "#####################################|||||||| ||||##########################################" ], "palettes": [ "robofachq" ], "terrain": { "-": "t_wall_metal", "e": "t_elevator", "E": "t_elevator_control", "Y": "t_utility_light", "I": "t_intercom" }, @@ -233,8 +464,7 @@ "l": [ { "item": "NC_ROBOFAC_FIELD_RESEARCHER_worn", "chance": 50 }, { "item": "NC_ROBOFAC_SCIENTIST_worn", "chance": 50 } ], "i": { "item": "cleaning", "chance": 50 }, "B": [ { "item": "textbooks", "chance": 50 }, { "item": "manuals", "chance": 50 } ] - }, - "place_npcs": [ { "class": "robofac_intercom", "x": 46, "y": 17 } ] + } } }, { diff --git a/data/json/mapgen/shelter.json b/data/json/mapgen/shelter.json index 2d8b771b5e9f9..6481427e2a950 100644 --- a/data/json/mapgen/shelter.json +++ b/data/json/mapgen/shelter.json @@ -112,8 +112,8 @@ " `!!!!`!!!!`!!!!` ", " `!!!!`!!!!`!!!!` ", " `!!!!`!!!!`!!!!` ", - " &&&&&&&&&&&&&&&& ", - " |---++---| ", + " &&&|---++---|&&& ", + " |........| ", " |-:|........| ", " |...........|:-| ", " |.bbbbb.....c.6| ", @@ -159,10 +159,10 @@ " ", " ", " ", - " ", " 4444444444 ", - " |443........| ", - " |...........|443 ", + " |........3 ", + " |44|........3 ", + " |...........3443 ", " |..............3 ", " |..............3 ", " |..............3 ", diff --git a/data/json/mapgen_palettes/hotel_tower_palette.json b/data/json/mapgen_palettes/hotel_tower_palette.json new file mode 100644 index 0000000000000..0b1d665dc2f77 --- /dev/null +++ b/data/json/mapgen_palettes/hotel_tower_palette.json @@ -0,0 +1,63 @@ +[ + { + "type": "palette", + "id": "hotel_tower_palette.json", + "furniture": { + "B": "f_bed", + "c": "f_counter", + "m": "f_bench", + "d": "f_dresser", + "o": "f_counter", + "D": "f_dryer", + "^": [ "f_indoor_plant_y", "f_indoor_plant" ], + "h": "f_chair", + "r": "f_rack", + "t": "f_table", + "j": "f_sofa", + "S": "f_sink", + "&": "f_toilet", + "b": "f_bathtub", + "E": [ "f_exercise", "f_ergometer", "f_treadmill" ], + "e": "f_fridge", + "l": "f_locker", + "W": "f_washer", + "F": "f_vending_c", + "U": "f_vending_c" + }, + "terrain": { + ",": "t_pavement_y", + "1": "t_flat_roof", + "0": "t_glass_roof", + "*": "t_open_air", + "6": "t_wall_glass", + "_": "t_pavement", + "2": "t_carpet_green", + "s": "t_sidewalk", + "'": [ [ "t_grass", 5 ], "t_dirt", "t_shrub" ], + "M": [ "t_shrub_lilac", "t_shrub_hydrangea" ], + " ": [ [ "t_grass", 5 ], "t_dirt", "t_shrub" ], + "-": "t_wall_w", + "|": "t_wall_w", + "%": "t_adobe_brick_wall", + "T": "t_tree_young", + "v": "t_pavement", + "w": "t_water_pool_shallow", + "9": "t_water_pool", + "+": "t_door_c", + "G": "t_door_glass_c", + "=": "t_door_locked", + "7": "t_door_locked_interior", + "X": "t_column", + "H": "t_wall_glass", + "x": "t_elevator_control_off", + "8": "t_elevator", + "~": "t_thconc_floor", + "<": "t_stairs_up", + ">": "t_stairs_down", + "#": "t_rock", + "$": "t_sewage_pipe", + "4": "t_gutter_downspout", + "P": "t_sewage_pump" + } + } +] diff --git a/data/json/mapgen_palettes/house_w_palette.json b/data/json/mapgen_palettes/house_w_palette.json index 8bf756f78828d..d2e1f065c0e8f 100644 --- a/data/json/mapgen_palettes/house_w_palette.json +++ b/data/json/mapgen_palettes/house_w_palette.json @@ -19,11 +19,11 @@ "L": "f_table", "M": "f_displaycase", "N": "f_workbench", - "O": [ "f_wardrobe", "f_dresser" ], + "O": "f_dresser", "P": "f_locker", "Q": "f_rack", "R": "f_bookcase", - "S": [ "f_filing_cabinet", "f_shredder" ], + "S": [ [ "f_filing_cabinet", 80 ], [ "f_shredder", 20 ] ], "U": "f_utility_shelf", "V": "f_glass_cabinet", "W": "f_washer", @@ -42,11 +42,13 @@ "l": "f_fridge", "m": "f_glass_fridge", "n": "f_dishwasher", + "p": "f_coffee_table", "r": "f_wood_keg", "s": "f_metal_butcher_rack", "u": "f_rotary_clothesline", "v": [ "f_gun_safe_el", "f_safe_l" ], "w": "f_rack_wood", + "x": "f_entertainment_center", "y": [ "f_indoor_plant", "f_indoor_plant_y" ], "z": [ [ "f_cardboard_box", 5 ], "f_crate_c" ] }, @@ -58,12 +60,10 @@ "<": "t_stairs_up", ">": "t_stairs_down", "-": "t_dirt", - "|": "t_dirt", + "|": "t_wall", "#": "t_glass_railing", - "+": "t_dirt", + "+": "t_door_c", "=": "t_dirt", - "p": "t_dirt", - "x": "t_dirt", "2": "t_dirt", "5": "t_dirt", "6": "t_carpet_red", @@ -72,7 +72,8 @@ "9": "t_carpet_yellow", "?": "t_console_broken" }, - "toilets": { "t": { } } + "toilets": { "t": { } }, + "liquids": { "g": { "liquid": "water_clean", "amount": [ 0, 100 ] } } }, { "type": "palette", @@ -81,14 +82,16 @@ "A": "f_stool", "B": "f_rotary_clothesline", "D": "f_camp_chair", + "E": "f_rack_coat", "F": "f_bench", "G": "f_mailbox", + "H": "f_armchair", "I": "f_desk", "J": "f_counter", "K": "f_cupboard", "L": "f_table", "N": "f_workbench", - "O": [ "f_wardrobe", "f_dresser" ], + "O": "f_wardrobe", "P": "f_locker", "Q": "f_rack", "R": "f_bookcase", @@ -107,38 +110,85 @@ "k": "f_woodstove", "l": "f_fridge", "m": "f_glass_fridge", + "p": [ + "f_datura", + "f_bluebell", + "f_mutpoppy", + "f_dahlia", + "f_flower_tulip", + "f_chamomile", + "f_flower_spurge", + "f_lily", + "f_sunflower", + "f_chicory", + "f_black_eyed_susan", + "f_dandelion" + ], "r": "f_wood_keg", - "v": [ "f_gun_safe_el", "f_safe_l", "f_cardboard_box" ], + "v": [ [ "f_safe_l", 25 ], [ "f_cardboard_box", 75 ] ], "w": "f_rack_wood", "y": [ "f_indoor_plant", "f_indoor_plant_y" ], "z": "f_metal_butcher_rack" }, "terrain": { - ".": [ [ "t_grass", 5 ], [ "t_grass_long", 2 ], "t_dirt", "t_shrub" ], + ".": [ [ "t_grass", 10 ], [ "t_dirt", 2 ], "t_shrub" ], + "-": "t_open_air", "G": "t_grass", + "p": "t_grass", + "X": "t_grass", " ": "t_floor", "|": "t_wall_w", "<": "t_stairs_up", ">": "t_stairs_down", - "o": [ "t_window_domestic", "t_window_no_curtains", "t_window_no_curtains_open", "t_window_open", "t_curtains" ], - "+": "t_door_c", + "o": [ + [ "t_window_domestic", 10 ], + "t_window_no_curtains", + "t_window_open", + "t_window_no_curtains_open", + [ "t_curtains", 5 ] + ], + "+": [ [ "t_door_c", 10 ], [ "t_door_o", 5 ], [ "t_door_locked_interior", 3 ] ], + "*": [ [ "t_door_locked_peep", 2 ], "t_door_locked_alarm", [ "t_door_locked", 10 ], "t_door_c" ], "s": "t_concrete", "~": "t_thconc_floor", "u": "t_gates_mech_control", "x": "t_door_metal_locked", "C": "t_column", + "^": "t_gutter_downspout", ",": "t_linoleum_white", - ";": "t_linoleum_gray" + ";": "t_linoleum_gray", + "M": [ "t_shrub_lilac", "t_shrub_hydrangea", "t_shrub_rose" ], + "$": [ + "t_tree_blackjack", + "t_tree_walnut", + "t_tree_chestnut", + "t_tree_beech", + "t_tree_hazelnut", + "t_tree_cottonwood", + "t_tree", + "t_tree_elm", + "t_tree_dead", + "t_tree_apple", + "t_tree_pear", + "t_tree_cherry", + "t_tree_peach", + "t_tree_apricot", + "t_tree_plum", + "t_tree_mulberry", + "t_tree_elderberry", + "t_tree_pine", + "t_tree_birch", + "t_tree_willow", + "t_tree_maple", + "t_tree_hickory", + "t_tree_almond", + "t_tree_pecan" + ] }, "toilets": { "t": { } }, + "liquids": { "g": { "liquid": "water_clean", "amount": [ 0, 100 ] } }, "items": { - "O": [ - { "item": "victoria_shop", "chance": 40 }, - { "item": "pants", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "shirts", "chance": 50, "repeat": [ 1, 2 ] }, - { "item": "hatstore_accessories", "chance": 10, "repeat": [ 1, 2 ] }, - { "item": "dresser", "chance": 20 } - ], + "O": [ { "item": "wardrobe_mens", "chance": 50 }, { "item": "wardrobe_womens", "chance": 50, "repeat": [ 1, 2 ] } ], "Q": [ { "item": "preserved_food", "chance": 20, "repeat": [ 1, 2 ] }, { "item": "dry_goods", "chance": 30, "repeat": [ 1, 2 ] }, @@ -163,6 +213,12 @@ { "item": "cleaning", "chance": 30, "repeat": [ 1, 2 ] }, { "item": "bed", "chance": 30, "repeat": [ 1, 2 ] } ], + "v": [ + { "item": "art", "chance": 5 }, + { "item": "drugdealer", "chance": 10, "repeat": [ 1, 2 ] }, + { "item": "maps", "chance": 2 }, + { "item": "college_sports", "chance": 30, "repeat": [ 1, 2 ] } + ], "U": [ { "item": "home_hw", "chance": 20, "repeat": [ 1, 2 ] }, { "item": "cleaning", "chance": 30, "repeat": [ 1, 2 ] }, @@ -180,5 +236,111 @@ "Y": { "item": "trash", "chance": 30, "repeat": [ 1, 2 ] }, "R": { "item": "homebooks", "chance": 30, "repeat": [ 1, 2 ] } } + }, + { + "type": "palette", + "id": "house_w_nest_garden_palette", + "terrain": { + ".": [ [ "t_grass", 5 ], [ "t_grass_long", 2 ], "t_dirt" ], + "A": [ "t_shrub", "t_fern" ], + "B": "t_reinforced_glass_shutter_open", + "C": "t_reinforced_door_glass_c", + "D": "t_reinforced_glass_shutter", + "E": "t_chickenwire_gate_c", + "F": "t_chickenwire_fence", + "G": "t_sandbox", + "H": "t_slide", + "I": "t_monkey_bars", + "J": "t_water_pump", + "K": "t_water_sh", + "k": "t_water_sh", + "L": "t_water_pool_outdoors", + "M": "t_water_pool_shallow_outdoors", + "N": [ "t_shrub_lilac", "t_shrub_hydrangea", "t_shrub_rose" ], + "O": [ + "t_shrub_grape", + "t_shrub_raspberry", + "t_shrub_huckleberry", + "t_shrub_blackberry", + "t_shrub_strawberry", + "t_shrub_blueberry" + ], + "P": "t_dirtmound", + "Q": "t_dirt", + "R": "t_dirtfloor", + "S": "t_trunk", + "Z": [ + "t_tree_blackjack", + "t_tree_walnut", + "t_tree_chestnut", + "t_tree_beech", + "t_tree_hazelnut", + "t_tree_cottonwood", + "t_tree", + "t_tree_elm", + "t_tree_dead", + "t_tree_apple", + "t_tree_pear", + "t_tree_cherry", + "t_tree_peach", + "t_tree_apricot", + "t_tree_plum", + "t_tree_mulberry", + "t_tree_elderberry", + "t_tree_pine", + "t_tree_birch", + "t_tree_willow", + "t_tree_maple", + "t_tree_hickory", + "t_tree_almond", + "t_tree_pecan" + ], + "g": "t_sandbox", + "1": "t_dirtfloor", + "2": "t_dirtfloor", + "3": "t_dirtfloor", + "4": "t_dirtfloor", + "5": "t_dirtfloor", + "6": "t_dirtfloor" + }, + "furniture": { + "a": "f_stool", + "b": "f_camp_chair", + "c": "f_bench", + "d": "f_tourist_table", + "e": "f_bookcase", + "f": "f_statue", + "g": [ "f_boulder_medium", "f_boulder_large" ], + "h": [ "f_indoor_plant", "f_indoor_plant_y" ], + "i": "f_firering", + "j": "f_brazier", + "k": [ "f_cattails", "f_lotus", "f_lilypad" ], + "l": "f_birdbath", + "p": [ + "f_datura", + "f_bluebell", + "f_mutpoppy", + "f_dahlia", + "f_flower_tulip", + "f_chamomile", + "f_flower_spurge", + "f_lily", + "f_sunflower", + "f_chicory", + "f_black_eyed_susan", + "f_dandelion" + ] + }, + "sealed_item": { + "1": { "item": { "item": "seed_rose" }, "furniture": "f_planter_seedling" }, + "2": { "item": { "item": "seed_chamomile" }, "furniture": "f_planter_harvest" }, + "3": { "item": { "item": "seed_thyme" }, "furniture": "f_planter_harvest" }, + "4": { "item": { "item": "seed_bee_balm" }, "furniture": "f_planter_harvest" }, + "5": { "item": { "item": "seed_mugwort" }, "furniture": "f_planter_harvest" }, + "6": { "item": { "item": "seed_tomato" }, "furniture": "f_planter_harvest" }, + "7": { "item": { "item": "seed_cucumber" }, "furniture": "f_planter_harvest" }, + "8": { "item": { "item": "soybean_seed" }, "furniture": "f_planter_harvest" }, + "9": { "item": { "item": "seed_zucchini" }, "furniture": "f_planter_harvest" } + } } ] diff --git a/data/json/mapgen_palettes/junkyard_palette.json b/data/json/mapgen_palettes/junkyard_palette.json new file mode 100644 index 0000000000000..229fb4dfbb925 --- /dev/null +++ b/data/json/mapgen_palettes/junkyard_palette.json @@ -0,0 +1,49 @@ +[ + { + "type": "palette", + "id": "junkyard_palette", + "terrain": { + ".": [ [ "t_pavement", 22 ], [ "t_dirt", 2 ], "t_grass" ], + "g": [ [ "t_grass", 5 ], "t_dirt" ], + "_": [ [ "t_dirt", 5 ], "t_grass" ], + "|": "t_fence_barbed", + "$": "t_fence_barbed", + "-": "t_laminated_glass", + "s": [ [ "t_dirt", 5 ], "t_grass" ], + "D": "t_door_c", + "S": "t_sidewalk", + "q": "t_door_metal_locked", + "c": "t_carpet_red", + "n": "t_carpet_red", + "r": "t_reinforced_door_glass_c", + "%": "t_brick_wall", + "C": "t_thconc_floor", + "&": "t_thconc_floor", + "#": "t_thconc_floor", + "t": "t_thconc_floor", + "e": "t_gates_mech_control", + "d": "t_door_metal_locked", + "m": "t_metal_floor", + "9": "t_wall_wood", + "x": "t_console_broken", + "4": "t_gutter_downspout" + }, + "furniture": { + "#": "f_straw_bed", + "N": "f_ladder", + "B": "f_bench", + "&": "f_trashcan", + "R": "f_trashcan", + "C": "f_counter", + "U": "f_counter", + "T": "f_toilet", + "a": "f_chair", + "b": "f_sink", + "I": "f_desk", + "n": "f_table", + "p": "f_table", + "F": "f_vending_c", + "K": "f_vending_c" + } + } +] diff --git a/data/json/mapgen_palettes/miniature_railway_palette.json b/data/json/mapgen_palettes/miniature_railway_palette.json new file mode 100644 index 0000000000000..863d0d16ce1c7 --- /dev/null +++ b/data/json/mapgen_palettes/miniature_railway_palette.json @@ -0,0 +1,54 @@ +[ + { + "type": "palette", + "id": "miniature_railway_palette", + "terrain": { + ".": [ "t_grass", "t_grass", "t_grass", "t_grass_long", "t_grass_dead", "t_grass_dead", "t_dirt" ], + "u": [ [ "t_grass", 27 ], [ "t_grass_long", 10 ], [ "t_dirt", 14 ], [ "t_underbrush", 4 ], [ "t_tree", 5 ] ], + "w": [ "t_grass" ], + "_": [ "t_door_locked" ], + "@": [ "t_pavement" ], + "X": [ "t_railroad_track_small_d" ], + "=": [ "t_railroad_track_small" ], + "H": [ "t_wall" ], + "*": [ "t_wall_glass" ], + "%": [ "t_fence" ], + "|": [ "t_floor" ], + "d": [ "t_floor" ], + "h": [ "t_floor" ], + "D": [ "t_floor" ], + "7": [ "t_floor" ], + "l": [ "t_floor" ], + "s": [ "t_floor" ], + "V": [ "t_floor" ], + "t": [ "t_floor" ], + "p": [ "t_sidewalk" ], + "W": [ "t_sidewalk" ], + "5": [ "t_wall_wood" ], + ":": [ "t_open_air" ], + "r": [ "t_flat_roof" ], + "`": [ "t_pavement_y" ] + }, + "furniture": { + "h": [ "f_chair" ], + "d": [ "f_desk" ], + "s": [ "f_utility_shelf" ], + "l": [ "f_locker" ], + "W": [ "f_bench" ], + "w": [ "f_bench" ], + "D": [ "f_vending_c" ], + "V": [ "f_vending_c" ], + "7": [ "f_filing_cabinet" ] + }, + "items": { + "d": { "item": "office", "chance": 30 }, + "s": { "item": "metal_workshop", "chance": 10 }, + "l": { "item": "metal_workshop", "chance": 10 }, + "W": [ { "item": "snacks", "chance": 10 }, { "item": "novels", "chance": 10 }, { "item": "alcohol", "chance": 5 } ], + "w": [ { "item": "snacks", "chance": 10 }, { "item": "novels", "chance": 10 }, { "item": "alcohol", "chance": 5 } ], + "7": { "item": "office_paper", "chance": 30 } + }, + "toilets": { "t": { } }, + "vendingmachines": { "D": { "item_group": "vending_drink" }, "V": { "item_group": "vending_food" } } + } +] diff --git a/data/json/mapgen_palettes/movie_theater_palette.json b/data/json/mapgen_palettes/movie_theater_palette.json new file mode 100644 index 0000000000000..5c53aa82be8c4 --- /dev/null +++ b/data/json/mapgen_palettes/movie_theater_palette.json @@ -0,0 +1,58 @@ +[ + { + "type": "palette", + "id": "movie_theater_palette.json", + "furniture": { + "T": "f_counter", + "f": "f_counter", + "&": "f_toilet", + "6": "f_arcade_machine", + "7": "f_pinball_machine", + "c": "f_stool", + "e": "f_stool", + "#": "f_chair", + "s": "f_sink", + "t": "f_table", + "{": "f_locker", + "H": "f_armchair", + "K": "f_armchair", + "b": "f_bench", + "y": [ "f_indoor_plant", "f_indoor_plant_y" ], + "i": [ "f_indoor_plant", "f_indoor_plant_y" ], + "l": "f_locker", + "G": "f_trashcan", + "X": [ [ "f_cardboard_box", 5 ], "f_crate_c" ], + "g": "f_glass_fridge", + "@": "f_sofa", + "o": "f_oven", + "r": "f_rack", + "F": "f_vending_c", + "v": "f_vending_c" + }, + "terrain": { + "$": "t_carpet_green", + "#": "t_carpet_purple", + "K": "t_carpet_purple", + "b": "t_carpet_purple", + "i": "t_carpet_purple", + "*": "t_carpet_purple", + "f": "t_carpet_purple", + "e": "t_carpet_purple", + ".": "t_thconc_floor", + "!": "t_brick_wall", + "|": "t_wall_b", + "%": "t_wall_glass", + "+": "t_door_metal_c", + "^": "t_door_glass_c", + "&": "t_atm", + "D": "t_door_c", + "d": "t_door_c", + "a": "t_atm", + "w": "t_window", + "Z": "t_console_broken", + "-": "t_railing_h", + "R": "t_railing_h", + "<": "t_ladder_up" + } + } +] diff --git a/data/json/martialarts.json b/data/json/martialarts.json index 57b09db2767bf..24ca0f952f48c 100644 --- a/data/json/martialarts.json +++ b/data/json/martialarts.json @@ -298,6 +298,7 @@ "baton-extended", "bee_sting", "bowling_pin", + "butterfly_swords", "cane", "copper_knife", "cudgel", @@ -327,6 +328,9 @@ "scissors", "screwdriver", "sharp_toothbrush", + "shillelagh", + "shillelagh_fake", + "shillelagh_weighted", "shishkebab_off", "shishkebab_on", "shocktonfa_off", @@ -401,11 +405,20 @@ "fencing_foil", "fencing_sabre", "fencing_epee", + "fencing_foil_sharpened", + "fencing_sabre_sharpened", + "fencing_epee_sharpened", + "shock_foil", + "shock_sabre", + "shock_epee", "pointy_stick", "pipe", "PR24-extended", "rapier", "rapier_fake", + "shillelagh", + "shillelagh_fake", + "shillelagh_weighted", "sword_cane", "umbrella" ] @@ -579,6 +592,7 @@ ], "weapons": [ "baton-extended", + "butterfly_swords", "copper_knife", "cudgel", "diveknife", @@ -870,6 +884,7 @@ "broadsword_fake", "broadfire_off", "broadfire_on", + "butterfly_swords", "cavalry_sabre", "cavalry_sabre_fake", "copper_knife", @@ -911,6 +926,9 @@ "scimitar", "scimitar_fake", "scimitar_inferior", + "shillelagh", + "shillelagh_fake", + "shillelagh_weighted", "shishkebab_off", "shishkebab_on", "shock_staff", @@ -1100,6 +1118,7 @@ "weapons": [ "baton-extended", "bowling_pin", + "butterfly_swords", "cudgel", "diveknife", "firemachete_off", @@ -1139,6 +1158,9 @@ "shocktonfa_off", "shocktonfa_on", "sickle", + "shillelagh", + "shillelagh_fake", + "shillelagh_weighted", "shishkebab_off", "shishkebab_on", "spear_knife", @@ -1258,121 +1280,225 @@ "spear_wood" ] }, + { + "type": "martial_art", + "id": "style_taekwondo", + "name": "Taekwondo", + "description": "Taekwondo is the national sport of Korea, and was used by the South Korean army in the 20th century. Focused on kicks and so it does not benefit from wielded weapons. It also includes strength training; your blocks absorb extra damage and your attacks do more damage if you are not holding anything.", + "initiate": [ "You adopt a narrow fighting stance.", "You adopts a narrow fighting stance." ], + "learn_difficulty": 5, + "arm_block": 1, + "leg_block": 3, + "force_unarmed": true, + "static_buffs": [ + { + "id": "buff_taekwondo_static", + "name": "Taekwondo Stance", + "description": "Using your legs to attack allows your hands to be free for better defense.\n\nBlocked damage decreased by 50%% of Strength.", + "unarmed_allowed": true, + "flat_bonuses": [ [ "block", "str", 0.5 ] ] + }, + { + "id": "buff_taekwondo_static2", + "name": "Unhindered", + "description": "Your attacks are stronger if you are not holding anything in your hands.\n\n+33%% bash damage when not using a weapon.", + "unarmed_allowed": true, + "min_unarmed": 0, + "mult_bonuses": [ [ "damage", "bash", 1.33 ] ] + } + ], + "techniques": [ "tec_taekwondo_disarm", "tec_taekwondo_precise", "tec_taekwondo_push", "tec_taekwondo_sweep" ] + }, { "type": "martial_art", "id": "style_tai_chi", "name": "Tai Chi", - "description": "Though Tai Chi is often seen as a form of mental and physical exercise, it is a legitimate martial art, focused on self-defense. Its ability to absorb the force of an attack makes your Perception decrease damage further on a block.", + "description": "Though Tai Chi is often seen as a form of mental and physical exercise, it is a legitimate martial art, focused on self-defense. Its ability to absorb the force of an attack makes your Perception decrease damage further on a block. Pausing for a moment enables powerful palm strike techniques.", "initiate": [ "You settle into a gentle stance and prepare to defend yourself.", "%s settles into a gentle stance." ], "learn_difficulty": 4, - "arm_block": 1, - "leg_block": 99, + "arm_block": 0, "static_buffs": [ { - "id": "tai_chi_block", - "name": "Tai Chi", + "id": "buff_tai_chi_static", + "name": "Tai Chi Stance", + "description": "You are focused of defense and predicting your opponents attacks.\n\n+1 Block attempts, blocked damage reduced by 100%% Perception.", "unarmed_allowed": true, "min_unarmed": 0, + "bonus_blocks": 1, + "flat_bonuses": [ [ "block", "per", 1.0 ] ] + } + ], + "ondodge_buffs": [ + { + "id": "buff_tai_chi_ondodge", + "name": "Repulse the Monkey", + "description": "By perfectly positioning yourself and your opponent, you have become more accurate and can bypass your opponent's defenses.\n\nAccuracy increased by 20%% of Perception, gain bash Armor Pentration equal to 50%% of Perception.\nLasts 2 turns.", + "unarmed_allowed": true, + "min_unarmed": 3, "buff_duration": 2, - "flat_bonuses": [ [ "block", "per", 1.0 ] ], - "description": "+1 Block. Perception decreases damage when blocking.", - "bonus_blocks": 1 + "flat_bonuses": [ [ "arpen", "bash", "per", 0.5 ], [ "hit", "per", 0.2 ] ] + } + ], + "onpause_buffs": [ + { + "id": "buff_tai_chi_onpause", + "name": "Cross Hands", + "description": "By taking a moment to prepare yourself, you are able to use your entire body fully for attacking and defending.\n\n+1.0 Dodge skill, blocked damage reduced by 50%% of Perception.\nEnables \"Palm Strike\" and \"Double Palm Strike\" techniques.\nLasts 3 turns.", + "unarmed_allowed": true, + "min_unarmed": 1, + "buff_duration": 3, + "flat_bonuses": [ [ "block", "per", 0.5 ], [ "dodge", 1.0 ] ] } ], - "techniques": [ "tec_taichi_disarm", "tec_taichi_precise" ] + "techniques": [ "tec_taichi_disarm", "tec_taichi_palm", "tec_taichi_counter", "tec_taichi_precise" ] }, { "type": "martial_art", - "id": "style_taekwondo", - "name": "Taekwondo", - "description": "Taekwondo is the national sport of Korea, and was used by the South Korean army in the 20th century. Focused on kicks and so it does not benefit from wielded weapons. It also includes strength training; your blocks absorb extra damage the stronger you are.", - "initiate": [ "You adopt a narrow fighting stance.", "You adopts a narrow fighting stance." ], - "learn_difficulty": 5, - "arm_block": 2, - "leg_block": 3, - "force_unarmed": true, + "id": "style_tiger", + "name": "Tiger Kung Fu", + "description": "One of the five Shaolin animal styles. The Tiger focuses on relentless attacks above all else. Your Strength determines your accuracy, and your attacks do increasing damage as you continue attacking.", + "initiate": [ "You clench your hands into ferocious, tiger-like claws.", "%s assumes a tiger-like stance." ], + "learn_difficulty": 10, "static_buffs": [ { - "id": "taekwondo_static", - "name": "Taekwondo", + "id": "buff_tiger_static", + "name": "Tiger's Strength", + "description": "You do not need defense. You do not need a plan. You need strength. Strength will break your opponents' defenses and overwhelm them completely.\n\nStrength increases Accuracy instead of Dexterity.\n\nAccuracy increased by 25%% of Strength but decreased by 25%% of Dexterity.", + "min_unarmed": 0, + "unarmed_allowed": true, + "flat_bonuses": [ [ "hit", "str", 0.25 ], [ "hit", "dex", -0.25 ] ] + } + ], + "onhit_buffs": [ + { + "id": "buff_tiger_onhit", + "name": "Tiger Fury", + "description": "You attack with an endless barrage of strikes. The more you hit, the stronger you become.\n\n+10%% damage.\nLasts 3 turns. Stacks 4 times.", + "unarmed_allowed": true, + "min_unarmed": 2, + "buff_duration": 3, + "max_stacks": 4, + "mult_bonuses": [ [ "damage", "bash", 1.1 ], [ "damage", "cut", 1.1 ], [ "damage", "stab", 1.1 ] ] + } + ], + "oncrit_buffs": [ + { + "id": "buff_tiger_oncrit", + "name": "Tiger Rampage", + "description": "Your opponent's lose is your gain. Your next attack will break through your opponent's guard.\n\nGain Armor Penetration equal to 50%% of Strength.\nLasts 1 turns. Stacks 2 times.", "unarmed_allowed": true, - "flat_bonuses": [ [ "block", "str", 0.5 ] ], - "description": "Strength decreases damage when blocking." + "min_unarmed": 3, + "buff_duration": 1, + "max_stacks": 2, + "flat_bonuses": [ [ "arpen", "bash", "str", 0.5 ], [ "arpen", "cut", "str", 0.5 ], [ "arpen", "stab", "str", 0.5 ] ] } ], - "techniques": [ "tec_taekwondo_precise", "tec_taekwondo_push", "tec_taekwondo_sweep" ] + "techniques": [ "tec_tiger_palm", "tec_tiger_takedown" ] }, { "type": "martial_art", - "id": "style_zui_quan", - "name": "Zui Quan", - "description": "AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse the enemy, giving you a passive dodge bonus based on your intelligence. The turn after you attack, you may dodge any number of attacks with no penalty, and successfully dodging an attack gives you bonus damage and to-hit based on your intelligence.", - "initiate": [ "You begin to sway to and fro with a confident swagger.", "%s stumbles as if pretending to be drunk." ], + "id": "style_wingchun", + "name": "Wing Chun", + "description": "Wing Chun is a Chinese martial art that began by selecting the easiest-to-learn effective techniques from the various Shaolin animal forms. It has a high stance, with weight entirely on the rear leg. Wing Chun focuses on sensitivity to the opponent's direction of force, and flowing around it to get back to hitting.", + "initiate": [ + "You take your stance and prepare to receive the gift of violence.", + "%s patiently assumes a curiously pigeon-toed stance." + ], "learn_difficulty": 8, - "arm_block": 99, - "leg_block": 99, + "arm_block": 2, + "leg_block": 3, "static_buffs": [ { - "id": "zuiquan_static", - "name": "Zui Quan", - "description": "Intelligence increases dodging ability", + "id": "buff_wingchun_static", + "name": "Chi-Sao Sensitivity", + "description": "You have a greater understanding of balance and technique. This gives you a better chance to avoid your opponent's attacks.\n\n Dodging Skill increased by 15%% of Perception. Blocked damage reduced by 50%% of Perception.", + "min_unarmed": 0, "unarmed_allowed": true, - "flat_bonuses": [ [ "dodge", "int", 0.12 ] ] + "flat_bonuses": [ [ "block", "per", 0.5 ], [ "dodge", "per", 0.15 ] ] } ], - "onattack_buffs": [ + "onhit_buffs": [ { - "id": "zuiquan_attack_buff", - "name": "Drunken Dodging", - "description": "Unlimited dodges after attacking", - "buff_duration": 4, + "id": "buff_wingchun_onhit", + "name": "Chain Punch", + "description": "Your punches are properly timed to give your opponent no rest from your strikes.\n\n-10%% move cost.\nLasts 1 turn. Stacks 3 times.", + "min_unarmed": 1, "unarmed_allowed": true, - "bonus_dodges": 100 + "buff_duration": 1, + "max_stacks": 3, + "mult_bonuses": [ [ "movecost", 0.9 ] ] } ], - "ondodge_buffs": [ + "onpause_buffs": [ { - "id": "zuiquan_dodge_buff", - "name": "Counter Strike", - "description": "Extra damage and to-hit after successful dodge", + "id": "buff_wingchun_onpause", + "name": "Biu Ji", + "description": "Through the perfect application of the Thrusting Fingers form, you can strike your opponents' weak points, force them away, and follow!\n\nAccuracy increased by 20%% of Perception, Enables \"Straight Punch (Knockback)\" and \"L-Hook (Knockback)\" techniques.\nLasts 2 turns.", + "min_unarmed": 4, "unarmed_allowed": true, - "max_stacks": 2, - "flat_bonuses": [ [ "damage", "bash", "int", 0.5 ], [ "hit", "int", 0.2 ] ] + "buff_duration": 2, + "flat_bonuses": [ [ "hit", "per", 0.2 ] ] } ], - "techniques": [ "tec_zuiquan_feint", "tec_zuiquan_counter" ] + "techniques": [ + "tec_wingchun_punch", + "tec_wingchun_hook", + "tec_wingchun_punch_knockback", + "tec_wingchun_hook_knockback", + "tec_wingchun_feint", + "tec_wingchun_counter" + ] }, { "type": "martial_art", - "id": "style_tiger", - "name": "Tiger Kung Fu", - "description": "One of the five Shaolin animal styles. The Tiger focuses on relentless attacks above all else. Your Strength determines your accuracy, and your attacks do increasing damage as you continue attacking.", - "initiate": [ "You clench your hands into ferocious, tiger-like claws.", "%s assumes a tiger-like stance." ], - "learn_difficulty": 10, - "arm_block": 99, - "leg_block": 99, + "id": "style_zui_quan", + "name": "Zui Quan", + "description": "AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse the enemy. You gain a passive dodge bonus and accuracy bonus based on your intelligence. Moving gives you additional dodge attempts and each time you dodge, you inflict more damage with your counterattack for until the end of your next turn.", + "initiate": [ "You begin to sway to and fro with a confident swagger.", "%s stumbles as if pretending to be drunk." ], + "learn_difficulty": 8, "static_buffs": [ { - "id": "tiger_static", - "name": "Tiger Strength", - "description": "Strength provides additional damage bonus.", + "id": "buff_zuiquan_static", + "name": "Zui Quan Stance", + "description": "Others might think you stumble about at random but you know better. Each movement is calculated to make evading harm easier.\n\nDodging Skill increased by 15%% of Intelligence.", + "min_unarmed": 0, + "unarmed_allowed": true, + "flat_bonuses": [ [ "dodge", "int", 0.15 ] ] + }, + { + "id": "buff_zuiquan_static2", + "name": "Advanced Zui Quan", + "description": "You have a greater understanding of Zui Quan. Your skills at dodging and landing attacks are much better as a result.\n\n+1 Dodge attempts, Accuracy increased by 15%% of Intelligence.", + "min_unarmed": 3, "unarmed_allowed": true, - "flat_bonuses": [ [ "damage", "bash", "str", 0.8 ] ] + "bonus_dodges": 1, + "flat_bonuses": [ [ "hit", "int", 0.15 ] ] } ], - "onhit_buffs": [ + "onmove_buffs": [ { - "id": "tiger_hit_buff", - "name": "Tiger Fury", - "description": "+3 Bash/atk", + "id": "buff_zuiquan_onmove", + "name": "Drunken Stumble", + "description": "With a few quick steps, you can completely change your orientation and dodge additional attacks.\n\n+2 Dodge attempts.\nLasts 3 turns.", + "min_unarmed": 5, "unarmed_allowed": true, - "min_unarmed": 2, "buff_duration": 3, - "max_stacks": 8, - "flat_bonuses": [ [ "damage", "bash", 3.0 ] ] + "bonus_dodges": 2 } ], - "techniques": [ "tec_tiger_grab" ] + "ondodge_buffs": [ + { + "id": "buff_zuiquan_ondodge", + "name": "Drunken Dodging", + "description": "Each time you dodge, your positional advantage increases against your opponents. This makes your attacks hit harder with each successful dodge.\n\nGain Armor Penetration equal to 25%% of Intelligence.\nLasts 1 turn. Stacks 4 times.", + "min_unarmed": 1, + "unarmed_allowed": true, + "buff_duration": 1, + "max_stacks": 4, + "flat_bonuses": [ [ "arpen", "bash", "int", 0.25 ], [ "arpen", "cut", "int", 0.25 ], [ "arpen", "stab", "int", 0.25 ] ] + } + ], + "techniques": [ "tec_zuiquan_feint", "tec_zuiquan_break", "tec_zuiquan_counter" ] }, { "type": "martial_art", @@ -1432,37 +1558,5 @@ } ], "techniques": [ "tec_debug_slow", "tec_debug_arpen" ] - }, - { - "type": "martial_art", - "id": "style_wingchun", - "name": "Wing Chun", - "description": "Wing Chun is a Chinese martial art that began by selecting the easiest-to-learn effective techniques from the various Shaolin animal forms. It has a high stance, with weight entirely on the rear leg. Wing Chun focuses on sensitivity to the opponent's direction of force, and flowing around it to get back to hitting.", - "initiate": [ - "You take your stance and prepare to receive the gift of violence.", - "%s patiently assumes a curiously pigeon-toed stance." - ], - "learn_difficulty": 8, - "arm_block": 99, - "leg_block": 99, - "static_buffs": [ - { - "id": "wingchun_static", - "name": "Chi-Sao Sensitivity", - "description": "Perception increases dodging ability, +1 dodges per turn", - "unarmed_allowed": true, - "flat_bonuses": [ [ "dodge", "per", 0.12 ] ], - "bonus_dodges": 1 - } - ], - "techniques": [ - "tec_wingchun_chainpunch", - "tec_wingchun_break", - "tec_wingchun_feint", - "tec_wingchun_stumble", - "tec_wingchun_counter", - "tec_wingchun_disarm" - ], - "weapons": [ "butterfly_swords", "long_pole" ] } ] diff --git a/data/json/martialarts_fictional.json b/data/json/martialarts_fictional.json index 43ff2567233f3..4d677f5c9b8cd 100644 --- a/data/json/martialarts_fictional.json +++ b/data/json/martialarts_fictional.json @@ -171,16 +171,15 @@ "type": "martial_art", "id": "style_toad", "name": "Toad Kung Fu", - "description": "One of the Five Deadly Venoms. Masters of Toad Style can focus themselves against all attacks. You can meditate by pausing, giving you armor, though you will lose focus when you move.", + "description": "One of the Five Deadly Venoms, used by Liang Shen. Masters of Toad Style can focus themselves to protect against all attacks. You have powerful armor against physical attacks, though you will lose focus when you move. You can meditate by pausing, giving yourself more armor for a short time.", "initiate": [ "You pause for a moment and focus on your invincible body.", "%s assumes a toad-like stance." ], "learn_difficulty": 10, "arm_block": 3, - "leg_block": 99, "static_buffs": [ { - "id": "toad_static", + "id": "buff_toad_static", "name": "Toad's Iron Skin", - "description": "Gain up to +6 armor while standing still", + "description": "Your body is as strong as iron but only if you don't move.\n\n+6 bash, cut, and stab armor.", "//": "FWIW, this is twice the amount of armor provided by bionic plating.", "unarmed_allowed": true, "flat_bonuses": [ [ "armor", "bash", 6.0 ], [ "armor", "cut", 6.0 ], [ "armor", "stab", 6.0 ] ] @@ -188,59 +187,74 @@ ], "onmove_buffs": [ { - "id": "toad_armor_dissipate", + "id": "buff_toad_onmove", "name": "Iron Skin Dissipation", - "description": "Iron Skin softens when you move!", + "description": "Moving causes you to lose your iron skin.\n\n-1 bash, cut, and stab armor.\nLasts 6 turns. Stacks 6 times.", "unarmed_allowed": true, - "min_unarmed": 0, "buff_duration": 6, "max_stacks": 6, "flat_bonuses": [ [ "armor", "bash", -1.0 ], [ "armor", "cut", -1.0 ], [ "armor", "stab", -1.0 ] ] } ], - "techniques": [ "tec_toad_grab" ] + "onpause_buffs": [ + { + "id": "buff_toad_onpause", + "name": "Toad's Meditation", + "description": "By concentrating for a moment, you can bolster the strength of your iron skin.\n\n+3 bash, cut, and stab armor.\nLasts 2 turns.", + "min_unarmed": 5, + "unarmed_allowed": true, + "buff_duration": 2, + "flat_bonuses": [ [ "armor", "bash", 3.0 ], [ "armor", "cut", 3.0 ], [ "armor", "stab", 3.0 ] ] + } + ], + "ongethit_buffs": [ + { + "id": "toad_ongethit", + "name": "Toad's Venom", + "description": "Your venom is just another lesson about the strength of your iron body.\n\n+2 bash damage.\nLasts 5 turns.", + "min_unarmed": 2, + "unarmed_allowed": true, + "buff_duration": 5, + "flat_bonuses": [ [ "damage", "bash", 2.0 ] ] + } + ], + "techniques": [ "tec_toad_counter", "tec_toad_critcounter", "tec_toad_grab" ] }, { "type": "martial_art", "id": "style_venom_snake", "name": "Viper Kung Fu", - "description": "A legacy of the Five Deadly Venoms. Viper Style has a unique three-part combo, which initiates on a dodge, then counters with a stunning chop and the legendary Viper Strike.", + "description": "A legacy of the Five Deadly Venoms, use by Qi Dong. Viper Style (originally called Snake Style) has a unique three-part combo, which initiates on a dodge, then follows up with a stunning Viper Bite and then finishes with the legendary Viper Strike.", "initiate": [ "You prepare to strike your foes' weaknesses.", "%s assumes a viper-like stance." ], "learn_difficulty": 10, - "arm_block": 99, - "leg_block": 99, + "arm_block": 1, "static_buffs": [ { - "id": "venom_snake_static", - "name": "Viper Patience", - "description": "+2 Dodge. Dodging an attack initiates a combo.", + "id": "buff_venom_snake_static", + "name": "Viper's Patience", + "description": "Every snake waits for the perfect moment to strike. Turn your opponents' mistakes into your opportunity to strike!\n\n+1.0 Dodge skill.", + "min_unarmed": 0, "unarmed_allowed": true, - "flat_bonuses": [ [ "dodge", 2.0 ] ] + "flat_bonuses": [ [ "dodge", 1.0 ] ] } ], "ondodge_buffs": [ { - "id": "venom_snake_combo_initiate", - "name": "Viper Ambush", - "description": "You've lured 'em in! Your next attack will be a Viper Bite.", + "id": "buff_venom_snake_ondodge1", + "name": "Viper's Ambush", + "description": "Your evasiveness has left your opponent wide open to painful bite.\n\nEnables \"Viper Bite\" technique.\nLasts 1 turn.", + "min_unarmed": 2, "unarmed_allowed": true, - "min_unarmed": 0, - "buff_duration": 2, - "max_stacks": 1, - "mult_bonuses": [ [ "damage", "bash", 1.5 ] ] - } - ], - "onhit_buffs": [ + "buff_duration": 1 + }, { - "id": "venom_snake_combo_continue", - "name": "Viper Lock", - "description": "You bit true! Your next attack will be the Viper Strike!", + "id": "buff_venom_snake_ondodge2", + "name": "Viper's Venom", + "description": "Your venom is a harsh reminder to never tease a predator.\n\n+2 bash damage.\nLasts 3 turn.", + "min_unarmed": 1, "unarmed_allowed": true, - "min_unarmed": 0, - "req_buffs": [ "venom_snake_combo_initiate" ], - "buff_duration": 2, - "max_stacks": 1, - "mult_bonuses": [ [ "damage", "bash", 3 ] ] + "buff_duration": 3, + "flat_bonuses": [ [ "damage", "bash", 2.0 ] ] } ], "techniques": [ @@ -401,43 +415,52 @@ "type": "technique", "id": "tec_venom_snake_feint", "name": "Viper Hiss", + "messages": [ "You hiss threateningly at %s", " hisses threateningly at %s" ], + "min_unarmed": 3, "unarmed_allowed": true, "melee_allowed": true, "defensive": true, - "miss_recovery": true, - "messages": [ "You hiss threateningly at %s", " hisses threateningly at %s" ] + "miss_recovery": true }, { "type": "technique", "id": "tec_venom_snake_rapid", "name": "Viper Fist", - "min_unarmed": 3, + "messages": [ "You quickly chop %s", " quickly chops %s" ], + "min_unarmed": 0, "unarmed_allowed": true, - "mult_bonuses": [ [ "movecost", 0.5 ], [ "damage", "bash", 0.66 ], [ "damage", "cut", 0.66 ], [ "damage", "stab", 0.66 ] ], - "messages": [ "You quickly chop %s", " quickly chops %s" ] + "mult_bonuses": [ [ "movecost", 0.5 ], [ "damage", "bash", 0.66 ], [ "damage", "cut", 0.66 ], [ "damage", "stab", 0.66 ] ] }, { "type": "technique", "id": "tec_venom_snake_bite", "name": "Viper Bite", - "min_unarmed": 0, + "messages": [ "You lash out at %s with a Viper Bite", " lash out at %s with a Viper Bite" ], + "min_unarmed": 2, "unarmed_allowed": true, - "req_buffs": [ "venom_snake_combo_initiate" ], - "messages": [ "You Snakebite %s", " Snakebites %s" ] + "req_buffs": [ "buff_venom_snake_ondodge1" ], + "crit_tec": true, + "stun_dur": 2, + "mult_bonuses": [ [ "damage", "bash", 1.33 ] ] }, { "type": "technique", "id": "tec_venom_snake_strike", "name": "Viper Strike", - "min_unarmed": 0, + "messages": [ "You hit %s with a spectacular Viper Strike", " hits %s with a spectacular Viper Strike" ], + "min_unarmed": 5, "unarmed_allowed": true, - "req_buffs": [ "venom_snake_combo_continue" ], - "messages": [ "You Viper Strike %s", " Viper Strikes %s" ] + "stunned_target": true, + "weighting": 2, + "crit_ok": true, + "mult_bonuses": [ [ "damage", "bash", 2.0 ] ] }, { "type": "technique", "id": "tec_venom_snake_break", "name": "Viper Writhe", + "messages": [ "The %s tries to grab you, but you writhe free!", "The %s tries to grab , but they writhe free!" ], + "min_unarmed": 4, "unarmed_allowed": true, "melee_allowed": true, "defensive": true, @@ -476,15 +499,39 @@ "stun_dur": 1, "mult_bonuses": [ [ "damage", "bash", 1.25 ] ] }, + { + "type": "technique", + "id": "tec_toad_counter", + "name": "Toad Smack", + "messages": [ "You disregard %s's attack and knock them down", " disregards %s's attack and knocks them down" ], + "min_unarmed": 4, + "unarmed_allowed": true, + "block_counter": true, + "down_dur": 1, + "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "bash", 1.25 ] ] + }, + { + "type": "technique", + "id": "tec_toad_critcounter", + "name": "Toad Slam", + "messages": [ "You meet %s's attack head on with a stunning counter", " meet %s's attack head on with a stunning counter" ], + "min_unarmed": 4, + "unarmed_allowed": true, + "block_counter": true, + "crit_tec": true, + "down_dur": 1, + "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "bash", 2.0 ] ] + }, { "type": "technique", "id": "tec_toad_grab", "name": "Toad's Tongue", - "min_unarmed": 4, + "messages": [ "You snatch and slug %s", " snatches and slug %s" ], + "min_unarmed": 1, "unarmed_allowed": true, - "mult_bonuses": [ [ "movecost", 0.5 ] ], + "crit_ok": true, "down_dur": 1, - "messages": [ "You snatch and slug %s", " snatches and slug %s" ] + "mult_bonuses": [ [ "movecost", 0.5 ] ] }, { "type": "technique", diff --git a/data/json/materials.json b/data/json/materials.json index 8291a878f1d0c..c733aa1eacc5c 100644 --- a/data/json/materials.json +++ b/data/json/materials.json @@ -737,6 +737,34 @@ { "fuel": 1, "smoke": 3, "burn": 2 } ] }, + { + "type": "material", + "ident": "lycra", + "name": "Lycra", + "//": "not actually pure lycra, but poly/nylon and lycra blend", + "density": 2, + "specific_heat_liquid": 1.7, + "specific_heat_solid": 1.7, + "latent_heat": 27, + "soft": true, + "reinforces": true, + "bash_resist": 2, + "cut_resist": 2, + "acid_resist": 9, + "fire_resist": 2, + "elec_resist": 2, + "chip_resist": 6, + "repaired_with": "lycra_patch", + "salvaged_into": "lycra_patch", + "dmg_adj": [ "ripped", "torn", "shredded", "tattered" ], + "bash_dmg_verb": "ripped", + "cut_dmg_verb": "cut", + "burn_data": [ + { "fuel": 1, "smoke": 2, "burn": 1, "volume_per_turn": "650 ml" }, + { "fuel": 1, "smoke": 3, "burn": 3 }, + { "fuel": 1, "smoke": 5, "burn": 5 } + ] + }, { "type": "material", "ident": "milk", @@ -1103,6 +1131,34 @@ "bash_dmg_verb": "dented", "cut_dmg_verb": "scratched" }, + { + "type": "material", + "ident": "nylon", + "name": "Synthetic Fabric", + "//": "blend between nylon 6 and 6,6", + "density": 2, + "specific_heat_liquid": 1.7, + "specific_heat_solid": 1.7, + "latent_heat": 42, + "soft": true, + "reinforces": true, + "bash_resist": 3, + "cut_resist": 3, + "acid_resist": 9, + "fire_resist": 2, + "elec_resist": 2, + "chip_resist": 7, + "repaired_with": "nylon", + "salvaged_into": "nylon", + "dmg_adj": [ "ripped", "torn", "shredded", "tattered" ], + "bash_dmg_verb": "ripped", + "cut_dmg_verb": "cut", + "burn_data": [ + { "fuel": 1, "smoke": 1, "burn": 1, "volume_per_turn": "650 ml" }, + { "fuel": 1, "smoke": 1, "burn": 1 }, + { "fuel": 1, "smoke": 1, "burn": 2 } + ] + }, { "type": "material", "ident": "tin", diff --git a/data/json/monsterdrops/monster_drops.json b/data/json/monsterdrops/monster_drops.json index 35945faecd42f..292cf5b945653 100644 --- a/data/json/monsterdrops/monster_drops.json +++ b/data/json/monsterdrops/monster_drops.json @@ -5,21 +5,99 @@ "//": "contains cloth for an average zombie", "id": "default_zombie_clothes", "entries": [ - { "group": "pants", "damage": [ 1, 4 ] }, - { "group": "shirts", "damage": [ 1, 4 ] }, - { "group": "shoes", "damage": [ 1, 4 ] }, - { "group": "underwear", "damage": [ 1, 4 ] }, - { "group": "jackets", "damage": [ 1, 4 ], "prob": 20 }, - { "group": "suits", "damage": [ 1, 4 ], "prob": 20 }, + { "group": "coats_unisex", "damage": [ 1, 4 ], "prob": 20 }, + { "group": "common_gloves", "damage": [ 1, 4 ], "prob": 20 }, + { "group": "hatstore_hats", "damage": [ 1, 4 ], "prob": 20 }, + { "group": "scarfs_unisex", "damage": [ 1, 4 ], "prob": 20 }, + { "group": "accesories_personal_unisex", "damage": [ 1, 4 ], "prob": 15 }, { "distribution": [ - { "item": "wristwatch", "prob": 15 }, - { "item": "pocketwatch", "prob": 5 }, - { "item": "gold_watch", "prob": 5, "damage": [ 1, 4 ] }, - { "item": "diving_watch", "prob": 10, "damage": [ 1, 4 ] }, - { "item": "sf_watch", "prob": 5, "damage": [ 1, 4 ] } - ], - "prob": 20 + { + "collection": [ + { + "distribution": [ + { "group": "male_underwear", "prob": 90, "damage": [ 1, 4 ] }, + { "item": "union_suit", "prob": 10, "damage": [ 1, 4 ] } + ] + }, + { + "distribution": [ + { + "collection": [ + { "group": "pants_male", "prob": 60, "damage": [ 1, 4 ] }, + { "group": "shirts_unisex", "prob": 60, "damage": [ 1, 4 ] }, + { "item": "leather_belt", "prob": 30, "damage": [ 1, 4 ] } + ] + }, + { "item": "suit", "prob": 5, "damage": [ 1, 4 ] }, + { "item": "tux", "prob": 5, "damage": [ 1, 4 ] }, + { "item": "thawb", "prob": 10, "damage": [ 1, 4 ] }, + { "item": "cassock", "prob": 10, "damage": [ 1, 4 ] }, + { "item": "haori", "prob": 10, "damage": [ 1, 4 ] } + ] + }, + { "group": "neckties", "prob": 15, "damage": [ 1, 4 ] }, + { "group": "shoes_unisex", "prob": 30, "damage": [ 1, 4 ] }, + { "group": "socks_unisex", "damage": [ 1, 4 ], "prob": 50 }, + { "group": "accesories_personal_mens", "prob": 15, "damage": [ 1, 4 ] } + ] + }, + { + "collection": [ + { "group": "female_underwear", "prob": 90, "damage": [ 1, 4 ] }, + { "group": "accesories_personal_womens", "prob": 15, "damage": [ 1, 4 ] }, + { + "distribution": [ + { + "collection": [ + { "group": "pants_female", "prob": 60, "damage": [ 1, 4 ] }, + { "group": "shoes_unisex", "prob": 30, "damage": [ 1, 4 ] }, + { "group": "shirts_unisex", "prob": 60, "damage": [ 1, 4 ] }, + { + "distribution": [ + { + "distribution": [ { "item": "stockings", "prob": 50, "damage": [ 1, 4 ] }, { "item": "tights", "prob": 50, "damage": [ 1, 4 ] } ] + }, + { "group": "socks_unisex", "prob": 50, "damage": [ 1, 4 ] } + ] + } + ], + "prob": 70 + }, + { + "collection": [ + { + "distribution": [ + { "item": "gown", "prob": 10, "damage": [ 1, 4 ] }, + { "item": "dress", "prob": 70, "damage": [ 1, 4 ] }, + { "item": "sundress", "prob": 50, "damage": [ 1, 4 ] } + ] + }, + { "group": "dress_shoes", "prob": 30, "damage": [ 1, 4 ] }, + { + "distribution": [ { "item": "stockings", "prob": 50, "damage": [ 1, 4 ] }, { "item": "tights", "prob": 50, "damage": [ 1, 4 ] } ] + }, + { "item": "long_glove_white", "prob": 20, "damage": [ 1, 4 ] } + ], + "prob": 20 + }, + { + "collection": [ + { "item": "dress_wedding", "damage": [ 1, 4 ] }, + { "item": "veil_wedding", "damage": [ 1, 4 ] }, + { "group": "dress_shoes", "prob": 30, "damage": [ 1, 4 ] }, + { + "distribution": [ { "item": "stockings", "prob": 50, "damage": [ 1, 4 ] }, { "item": "tights", "prob": 50, "damage": [ 1, 4 ] } ] + }, + { "item": "long_glove_white", "prob": 20, "damage": [ 1, 4 ] } + ], + "prob": 10 + } + ] + } + ] + } + ] }, { "distribution": [ @@ -27,12 +105,7 @@ { "group": "clothing_biker", "damage": [ 1, 4 ], "prob": 50 } ], "prob": 10 - }, - { "group": "common_gloves", "damage": [ 1, 4 ], "prob": 20 }, - { "group": "hatstore_hats", "damage": [ 1, 4 ], "prob": 20 }, - { "group": "hatstore_accessories", "damage": [ 1, 4 ], "prob": 20 }, - { "group": "clothing_glasses", "damage": [ 1, 4 ], "prob": 20 }, - { "group": "jewelry_accessories", "prob": 15 } + } ] }, { @@ -414,5 +487,87 @@ { "item": "cable", "charges-min": 20, "charges-max": 50 }, { "item": "amplifier", "count": [ 0, 3 ] } ] + }, + { + "type": "item_group", + "subtype": "collection", + "//": "contains cloth for an average zombie child", + "id": "default_zombie_children_clothes", + "entries": [ + { "group": "coats_unisex", "damage": [ 1, 4 ], "prob": 20 }, + { "group": "common_gloves", "damage": [ 1, 4 ], "prob": 20 }, + { "group": "hatstore_hats", "damage": [ 1, 4 ], "prob": 20 }, + { "group": "scarfs_unisex", "damage": [ 1, 4 ], "prob": 20 }, + { "group": "accesories_personal_unisex", "damage": [ 1, 4 ], "prob": 15 }, + { + "distribution": [ + { + "collection": [ + { + "distribution": [ + { "group": "male_underwear", "prob": 90, "damage": [ 1, 4 ] }, + { "item": "union_suit", "prob": 10, "damage": [ 1, 4 ] } + ] + }, + { + "distribution": [ + { + "collection": [ + { "group": "pants_male", "prob": 60, "damage": [ 1, 4 ] }, + { "group": "shirts_unisex", "prob": 60, "damage": [ 1, 4 ] }, + { "item": "leather_belt", "prob": 30, "damage": [ 1, 4 ] } + ] + }, + { "item": "suit", "prob": 5, "damage": [ 1, 4 ] }, + { "item": "tux", "prob": 5, "damage": [ 1, 4 ] } + ] + }, + { "group": "neckties", "prob": 15, "damage": [ 1, 4 ] }, + { "group": "shoes_unisex", "prob": 30, "damage": [ 1, 4 ] }, + { "group": "socks_unisex", "damage": [ 1, 4 ], "prob": 50 }, + { "group": "accesories_personal_mens", "prob": 15, "damage": [ 1, 4 ] } + ] + }, + { + "collection": [ + { "group": "female_underwear", "prob": 90, "damage": [ 1, 4 ] }, + { "group": "accesories_personal_womens", "prob": 15, "damage": [ 1, 4 ] }, + { + "distribution": [ + { + "collection": [ + { "group": "pants_female", "prob": 60, "damage": [ 1, 4 ] }, + { "group": "shoes_unisex", "prob": 30, "damage": [ 1, 4 ] }, + { "group": "shirts_unisex", "prob": 60, "damage": [ 1, 4 ] }, + { + "distribution": [ + { + "distribution": [ { "item": "stockings", "prob": 50, "damage": [ 1, 4 ] }, { "item": "tights", "prob": 50, "damage": [ 1, 4 ] } ] + }, + { "group": "socks_unisex", "prob": 50, "damage": [ 1, 4 ] } + ] + } + ], + "prob": 80 + }, + { + "collection": [ + { + "distribution": [ { "item": "dress", "prob": 70, "damage": [ 1, 4 ] }, { "item": "sundress", "prob": 50, "damage": [ 1, 4 ] } ] + }, + { "group": "dress_shoes", "prob": 30, "damage": [ 1, 4 ] }, + { + "distribution": [ { "item": "stockings", "prob": 50, "damage": [ 1, 4 ] }, { "item": "tights", "prob": 50, "damage": [ 1, 4 ] } ] + } + ], + "prob": 20 + } + ] + } + ] + } + ] + } + ] } ] diff --git a/data/json/monstergroups/mi-go.json b/data/json/monstergroups/mi-go.json index 6e100677d855d..d980fade9dd7b 100644 --- a/data/json/monstergroups/mi-go.json +++ b/data/json/monstergroups/mi-go.json @@ -3,7 +3,7 @@ "type": "monstergroup", "name": "GROUP_MI-GO_CAMP_OM", "//": "Mi-go raiding parties spawning in the vicinity of a mi-go camp. Puts slavers later on and keeps large groups from spawning until the player can deal with them.", - "default": "mon_mi_go_slaver", + "default": "mon_mi_go", "monsters": [ { "monster": "mon_mi_go", "freq": 100, "cost_multiplier": 20, "pack_size": [ 2, 4 ] }, { "monster": "mon_mi_go", "freq": 100, "cost_multiplier": 10, "pack_size": [ 4, 8 ] }, @@ -18,7 +18,7 @@ "type": "monstergroup", "name": "GROUP_MI-GO_BASE_COMMON", "//": "Basic mi-go base defenders.", - "default": "mon_mi_go_slaver", + "default": "mon_mi_go_guard", "monsters": [ { "monster": "mon_mi_go", "freq": 100, "cost_multiplier": 1, "pack_size": [ 2, 4 ] }, { "monster": "mon_mi_go", "freq": 100, "cost_multiplier": 3, "pack_size": [ 2, 4 ] }, diff --git a/data/json/monstergroups/monstergroups.json b/data/json/monstergroups/monstergroups.json index 6098eb62aefde..43a78b86e62ba 100644 --- a/data/json/monstergroups/monstergroups.json +++ b/data/json/monstergroups/monstergroups.json @@ -5266,6 +5266,7 @@ "monsters": [ { "monster": "mon_zombie_technician", "freq": 150, "cost_multiplier": 1 }, { "monster": "mon_zombie_fat", "freq": 150, "cost_multiplier": 1 }, + { "monster": "mon_zombie_wretched", "freq": 120, "cost_multiplier": 1 }, { "monster": "mon_zombie_crawler", "freq": 100, "cost_multiplier": 1 }, { "monster": "mon_zombie_survivor", "freq": 70, "cost_multiplier": 1 } ] @@ -5350,5 +5351,25 @@ { "monster": "mon_dog_auscattle", "freq": 50, "cost_multiplier": 0 }, { "monster": "mon_dog_auscattle_pup", "freq": 5, "cost_multiplier": 0 } ] + }, + { + "name": "GROUP_HOTEL_POOL", + "type": "monstergroup", + "default": "mon_zombie_swimmer", + "monsters": [ + { "monster": "mon_zombie_swimmer", "freq": 100, "cost_multiplier": 2 }, + { "monster": "mon_zombie_swimmer", "freq": 50, "cost_multiplier": 10, "pack_size": [ 3, 8 ] }, + { "monster": "mon_zombie_child", "freq": 35, "cost_multiplier": 1 } + ] + }, + { + "name": "GROUP_HOTEL_GYM", + "type": "monstergroup", + "default": "mon_zombie_fat", + "monsters": [ + { "monster": "mon_zombie_fat", "freq": 30, "cost_multiplier": 2 }, + { "monster": "mon_zombie_fat", "freq": 15, "cost_multiplier": 8, "pack_size": [ 2, 6 ] }, + { "monster": "mon_zombie_tough", "freq": 8, "cost_multiplier": 3 } + ] } ] diff --git a/data/json/monsters/drones.json b/data/json/monsters/drones.json index 2ffd504059a9c..36673a089fa3c 100644 --- a/data/json/monsters/drones.json +++ b/data/json/monsters/drones.json @@ -112,7 +112,7 @@ "copy-from": "base_drone", "type": "MONSTER", "name": "mininuke hack", - "description": "Many times as large as a normal manhack, this flying quadcopter drone appears to have a mininuke inside. If this is targeting you... Run.", + "description": "Many times as large as a normal manhack, this flying quadcopter drone appears to have a mininuke inside. If this is targeting you… Run.", "diff": 40, "hp": 20, "speed": 150, diff --git a/data/json/monsters/fish.json b/data/json/monsters/fish.json index 28be6b66aaa69..d7fa4c1a39775 100644 --- a/data/json/monsters/fish.json +++ b/data/json/monsters/fish.json @@ -457,7 +457,7 @@ "id": "mon_fish_lobster", "type": "MONSTER", "name": "lobster", - "description": "These things were once considered pests not worth eating, then some marketing genius started selling them to people as a delicacy and they took off in popularity... and price.", + "description": "These things were once considered pests not worth eating, then some marketing genius started selling them to people as a delicacy and they took off in popularity… and price.", "default_faction": "fish", "bodytype": "crab", "categories": [ "WILDLIFE" ], @@ -486,7 +486,7 @@ "id": "mon_fish_crayfish", "type": "MONSTER", "name": { "str": "crayfish", "str_pl": "crayfish" }, - "description": "If you could get ahold of a bunch more of these, a hefty pot of boiling water, and some spicy seasonings...", + "description": "If you could get ahold of a bunch more of these, a hefty pot of boiling water, and some spicy seasonings…", "default_faction": "fish", "bodytype": "crab", "categories": [ "WILDLIFE" ], diff --git a/data/json/monsters/mammal.json b/data/json/monsters/mammal.json index 4f80a88c41a27..580b8e9f310d7 100644 --- a/data/json/monsters/mammal.json +++ b/data/json/monsters/mammal.json @@ -312,7 +312,7 @@ "melee_cut": 6, "dodge": 2, "armor_bash": 2, - "starting_ammo": { "milk": 10 }, + "starting_ammo": { "milk_raw": 10 }, "path_settings": { "max_dist": 10 }, "anger_triggers": [ "HURT" ], "fear_triggers": [ "PLAYER_CLOSE" ], @@ -1542,7 +1542,7 @@ "armor_cut": 2, "vision_day": 0, "vision_night": 0, - "harvest": "mammal_large_leather", + "harvest": "mutant_mammal_large_leather", "special_attacks": [ [ "SHRIEK_ALERT", 10 ], [ "SHRIEK_STUN", 1 ], { "type": "bite", "cooldown": 6 }, [ "impale", 10 ] ], "anger_triggers": [ "HURT", "SOUND", "STALK" ], "fear_triggers": [ "FIRE" ], @@ -1770,7 +1770,7 @@ "id": "mon_sewer_rat", "type": "MONSTER", "name": "sewer rat", - "description": "A worm-tailed rodent with long whiskers and beady eyes. The way it squeaks makes it sound... hungry.", + "description": "A worm-tailed rodent with long whiskers and beady eyes. The way it squeaks makes it sound… hungry.", "default_faction": "rat", "bodytype": "pig", "categories": [ "WILDLIFE" ], @@ -1850,7 +1850,7 @@ "melee_dice_sides": 6, "melee_cut": 2, "dodge": 2, - "starting_ammo": { "milk": 2 }, + "starting_ammo": { "milk_raw": 2 }, "anger_triggers": [ ], "harvest": "mammal_large_wool", "reproduction": { "baby_monster": "mon_sheep_lamb", "baby_count": 1, "baby_timer": 20 }, diff --git a/data/json/monsters/monsters.json b/data/json/monsters/monsters.json index a3b7399d9e864..b187f431bcd6a 100644 --- a/data/json/monsters/monsters.json +++ b/data/json/monsters/monsters.json @@ -489,7 +489,7 @@ "id": "mon_boomer_huge", "type": "MONSTER", "name": "huge boomer", - "description": "This boomer, normally swollen and ready to burst, has strengthened and solidified. The bile dribbling from its mouth also appears to have changed...", + "description": "This boomer, normally swollen and ready to burst, has strengthened and solidified. The bile dribbling from its mouth also appears to have changed…", "default_faction": "zombie", "bodytype": "human", "species": [ "ZOMBIE", "HUMAN" ], @@ -531,6 +531,56 @@ "FILTHY" ] }, + { + "id": "mon_devourer", + "type": "MONSTER", + "name": "dissoluted devourer", + "description": "Human bodies fused together into a colossus with heads and limbs sticking out of its bloated body. You may have trouble estimating its healthiness and its capabilities might change.", + "default_faction": "zombie", + "bodytype": "human", + "species": [ "ZOMBIE", "HUMAN" ], + "diff": 8, + "volume": "62500 ml", + "weight": 81500, + "hp": 112, + "speed": 60, + "material": [ "flesh" ], + "symbol": "Z", + "color": "dark_gray_yellow", + "aggression": 100, + "morale": 100, + "melee_skill": 4, + "melee_dice": 3, + "melee_dice_sides": 3, + "melee_cut": 0, + "armor_bash": 5, + "armor_cut": 5, + "vision_night": 3, + "harvest": "zombie", + "special_attacks": [ [ "GRAB", 7 ], [ "scratch", 20 ], [ "ZOMBIE_FUSE", 80 ] ], + "death_drops": { + "subtype": "collection", + "groups": [ "default_zombie_death_drops", "default_zombie_death_drops", "default_zombie_death_drops" ] + }, + "death_function": [ "NORMAL" ], + "flags": [ + "SEES", + "HEARS", + "SMELLS", + "STUMBLES", + "WARM", + "BASHES", + "GROUP_BASH", + "POISON", + "NO_BREATHE", + "REVIVES", + "BILE_BLOOD", + "PUSH_MON", + "PATH_AVOID_DANGER_1", + "FILTHY", + "REGENERATES_1" + ] + }, { "id": "mon_breather", "type": "MONSTER", @@ -618,7 +668,7 @@ "id": "mon_prototype_cyborg", "type": "MONSTER", "name": "prototype cyborg", - "description": "A human fused with a mess of metal parts and wires. While its eyes are empty, flashes of pain pass across its face reminiscent of the person trapped in this grotesque body. With enough surgical skills one might be able to give them back some humanity. If only they cared...", + "description": "A human fused with a mess of metal parts and wires. While its eyes are empty, flashes of pain pass across its face reminiscent of the person trapped in this grotesque body. With enough surgical skills one might be able to give them back some humanity. If only they cared…", "default_faction": "science", "bodytype": "human", "species": [ "ROBOT" ], @@ -743,7 +793,7 @@ "melee_dice_sides": 6, "melee_cut": 0, "dodge": 3, - "harvest": "human", + "harvest": "mutant_human", "path_settings": { "max_dist": 10 }, "special_attacks": [ [ "scratch", 15 ] ], "death_drops": { @@ -1514,7 +1564,7 @@ "armor_bash": 4, "armor_cut": 4, "harvest": "fungaloid", - "special_attacks": [ [ "FUNGUS_GROWTH", 100 ] ], + "special_attacks": [ [ "FUNGUS_GROWTH", 10000 ] ], "death_function": [ "NORMAL" ], "flags": [ "HEARS", "POISON", "NO_BREATHE", "NOHEAD" ] }, @@ -1710,7 +1760,7 @@ "melee_dice_sides": 6, "melee_cut": 0, "armor_bash": 2, - "harvest": "meatslug", + "harvest": "mutant_meatslug", "death_function": [ "NORMAL" ], "flags": [ "DIGS", "HEARS", "GOODHEARING", "WARM" ] }, @@ -2313,7 +2363,7 @@ "melee_dice_sides": 4, "melee_cut": 0, "dodge": 5, - "harvest": "human", + "harvest": "mutant_human", "death_drops": { "subtype": "collection", "groups": [ [ "subway", 40 ], [ "sewer", 20 ], [ "trash", 5 ], [ "bedroom", 1 ], [ "dresser", 5 ], [ "ammo", 18 ] ] @@ -2491,7 +2541,7 @@ "id": "mon_shia", "type": "MONSTER", "name": { "str": "Shia LaBeouf", "str_pl": "Shia LaBeouf" }, - "description": "Living in the woods, \nkilling for sport, \neating all the bodies, \nactual cannibal Shia LaBeouf.", + "description": "Living in the woods,\nkilling for sport,\neating all the bodies,\nactual cannibal Shia LaBeouf.", "default_faction": "zombie", "bodytype": "human", "species": [ "ZOMBIE" ], @@ -2744,7 +2794,7 @@ "armor_bash": 8, "armor_cut": 2, "vision_day": 30, - "harvest": "meatslug", + "harvest": "mutant_meatslug", "special_attacks": [ [ "ACID", 10 ] ], "anger_triggers": [ "PLAYER_CLOSE" ], "death_function": [ "NORMAL" ], @@ -2962,7 +3012,7 @@ "melee_dice_sides": 6, "melee_cut": 3, "armor_bash": 2, - "harvest": "meatslug", + "harvest": "mutant_meatslug", "death_function": [ "WORM" ], "flags": [ "DIGS", "HEARS", "GOODHEARING", "WARM" ] }, @@ -3102,6 +3152,54 @@ "FILTHY" ] }, + { + "id": "mon_zombie_wretched", + "type": "MONSTER", + "name": "wretched puker", + "description": "A degenerate corpse, shambling as it walks. Several junks and waste materials have unified into its skin and wounds around it reeks in black goo.", + "default_faction": "zombie", + "bodytype": "human", + "species": [ "ZOMBIE", "HUMAN" ], + "diff": 2, + "volume": "62500 ml", + "//": "Higher weight from attached junks.", + "weight": 84500, + "hp": 55, + "speed": 65, + "material": [ "flesh" ], + "symbol": "Z", + "looks_like": "mon_zombie_acidic", + "color": "dark_gray_yellow", + "aggression": 100, + "morale": 100, + "melee_skill": 2, + "melee_dice": 2, + "melee_dice_sides": 2, + "melee_cut": 1, + "vision_day": 14, + "harvest": "zombie", + "special_attacks": [ [ "ACID_BARF", 22 ] ], + "death_drops": "default_zombie_death_drops", + "death_function": [ "ACID", "NORMAL" ], + "burn_into": "mon_zombie_scorched", + "upgrades": { "half_life": 8, "into": "mon_zombie_acidic" }, + "flags": [ + "SEES", + "HEARS", + "SMELLS", + "STUMBLES", + "WARM", + "BASHES", + "GROUP_BASH", + "POISON", + "ACIDPROOF", + "ACID_BLOOD", + "NO_BREATHE", + "REVIVES", + "PUSH_MON", + "FILTHY" + ] + }, { "id": "mon_zombie_acidic", "type": "MONSTER", @@ -3640,7 +3738,7 @@ "id": "mon_zombie_dancer", "type": "MONSTER", "name": "zombie dancer", - "description": "The foulest stench is in the air, \nThe funk of forty thousand years, \nAnd grisly ghouls from every tomb, \nAre closing in to seal your doom!\n\nThe dancer doesn't even notice you, it seems like something nearby is controlling it.", + "description": "The foulest stench is in the air,\nThe funk of forty thousand years,\nAnd grisly ghouls from every tomb,\nAre closing in to seal your doom!\n\nThe dancer doesn't even notice you, it seems like something nearby is controlling it.", "default_faction": "zombie", "bodytype": "human", "species": [ "ZOMBIE", "HUMAN" ], @@ -4428,7 +4526,7 @@ "id": "mon_zombie_jackson", "type": "MONSTER", "name": "Thriller", - "description": "And though you fight to stay alive, \nYour body starts to shiver. \nFor no mere mortal can resist, \nThe evil of the thriller.", + "description": "And though you fight to stay alive,\nYour body starts to shiver.\nFor no mere mortal can resist,\nThe evil of the thriller.", "default_faction": "zombie", "bodytype": "human", "species": [ "ZOMBIE", "HUMAN" ], @@ -4727,6 +4825,7 @@ "death_drops": "default_zombie_death_drops", "death_function": [ "NORMAL" ], "burn_into": "mon_zombie_scorched", + "upgrades": { "half_life": 23, "into": "mon_devourer" }, "flags": [ "SEES", "HEARS", diff --git a/data/json/monsters/mutant.json b/data/json/monsters/mutant.json index eb224059b0555..0390c6f8c28ea 100644 --- a/data/json/monsters/mutant.json +++ b/data/json/monsters/mutant.json @@ -24,7 +24,7 @@ "armor_cut": 5, "vision_day": 25, "vision_night": 5, - "harvest": "mammal_fur", + "harvest": "human_fur", "special_attacks": [ [ "PARROT", 80 ], { @@ -73,7 +73,7 @@ "armor_bash": 7, "armor_cut": 7, "vision_night": 15, - "harvest": "mammal_large_fur", + "harvest": "human_large_fur", "special_attacks": [ [ "PARROT", 80 ], [ "SMASH", 20 ], diff --git a/data/json/monsters/obsolete.json b/data/json/monsters/obsolete.json index bb8bafdb36263..a12dcc9c8cef5 100644 --- a/data/json/monsters/obsolete.json +++ b/data/json/monsters/obsolete.json @@ -13,6 +13,7 @@ "material": [ "iflesh" ], "symbol": ".", "color": "brown", + "looks_like": "mon_centipede_giant", "melee_cut": 0, "dodge": 1, "harvest": "arachnid", diff --git a/data/json/monsters/reptile_amphibian.json b/data/json/monsters/reptile_amphibian.json index 968971309a153..d9c73d3009516 100644 --- a/data/json/monsters/reptile_amphibian.json +++ b/data/json/monsters/reptile_amphibian.json @@ -22,7 +22,7 @@ "melee_cut": 1, "dodge": 2, "armor_bash": 4, - "harvest": "animal_large_noskin", + "harvest": "mutant_animal_large_noskin", "path_settings": { "max_dist": 5 }, "special_attacks": [ { "type": "leap", "cooldown": 10, "move_cost": 0, "max_range": 10, "min_consider_range": 2 } ], "anger_triggers": [ "STALK", "PLAYER_WEAK", "PLAYER_CLOSE" ], @@ -139,7 +139,7 @@ "armor_cut": 4, "vision_day": 30, "vision_night": 5, - "harvest": "animal_large_noskin", + "harvest": "mutant_animal_large_noskin", "special_attacks": [ [ "RATTLE", 6 ], { @@ -180,7 +180,7 @@ "dodge": 1, "vision_day": 1, "vision_night": 30, - "harvest": "animal_large_noskin", + "harvest": "mutant_animal_large_noskin", "path_settings": { "max_dist": 5 }, "death_function": [ "NORMAL" ], "flags": [ "SEES", "SMELLS", "WARM", "VENOM", "SWIMS" ] diff --git a/data/json/monsters/zed_children.json b/data/json/monsters/zed_children.json index acf825abd1f16..a61cdfa40a73c 100644 --- a/data/json/monsters/zed_children.json +++ b/data/json/monsters/zed_children.json @@ -60,8 +60,8 @@ "special_attacks": [ [ "scratch", 15 ] ], "death_drops": { "subtype": "collection", - "groups": [ [ "default_zombie_clothes", 100 ], [ "child_items", 65 ] ], - "//": "cloth as any other zombie (always), additional items from child_items (sometimes)" + "groups": [ [ "default_zombie_children_clothes", 100 ], [ "child_items", 65 ] ], + "//": "default zombie children clothing (always), additional items from child_items (sometimes)" }, "death_function": [ "NORMAL" ], "burn_into": "mon_zombie_child_scorched", diff --git a/data/json/mutations/mutation_appearance.json b/data/json/mutations/mutation_appearance.json index 9ff276ac0a6fe..8c992318c08e7 100644 --- a/data/json/mutations/mutation_appearance.json +++ b/data/json/mutations/mutation_appearance.json @@ -591,7 +591,7 @@ "id": "FACIAL_HAIR_ANCHOR", "type": "mutation", "name": "Facial hair: anchor beard", - "description": "You have a moustache and a beard starting with a strip going down from the bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus the name.", + "description": "You have a moustache and a beard starting with a strip going down from the bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus the name.", "points": 0, "valid": false, "starting_trait": true, @@ -603,7 +603,7 @@ "id": "FACIAL_HAIR_SHORTBOXED", "type": "mutation", "name": "Facial hair: short boxed beard", - "description": "You have a moustache and a short beard with trimmed sides. Thin patches connect them both, forming a 'box' around the lips, thus the name.", + "description": "You have a moustache and a short beard with trimmed sides. Thin patches connect them both, forming a 'box' around the lips, thus the name.", "points": 0, "valid": false, "starting_trait": true, @@ -747,7 +747,7 @@ "id": "FACIAL_HAIR_NECKBEARD", "type": "mutation", "name": "Facial hair: neckbeard", - "description": "You have a beard formed from hair grown on neck below the chin line. No moustache included.", + "description": "You have a beard formed from hair grown on neck below the chin line. No moustache included.", "points": 0, "valid": false, "starting_trait": true, diff --git a/data/json/mutations/mutations.json b/data/json/mutations/mutations.json index 7d8703dd1ec18..c4d1a6f7399b6 100644 --- a/data/json/mutations/mutations.json +++ b/data/json/mutations/mutations.json @@ -11,6 +11,36 @@ "types": [ "RUNNING" ], "movecost_flatground_modifier": 0.85 }, + { + "type": "mutation", + "id": "BIOLUM1", + "name": "Weak Photophore", + "points": 2, + "description": "A photophore has grown from your head, you can make it glow soflty. This will make you very visible in the dark, ideal to attract a partner during mating season.", + "active": true, + "cost": 1, + "time": 810000, + "hunger": true, + "encumbrance_covered": [ [ "HEAD", 5 ] ], + "changes_to": [ "BIOLUM2" ], + "category": [ "ELFA", "INSECT", "FISH" ], + "lumination": [ [ "HEAD", 8 ] ] + }, + { + "type": "mutation", + "id": "BIOLUM2", + "name": "Photophore", + "points": 3, + "description": "Your can make your photophore glow brightly.", + "active": true, + "cost": 1, + "time": 405000, + "hunger": true, + "encumbrance_covered": [ [ "HEAD", 5 ] ], + "prereqs": [ "BIOLUM1" ], + "category": [ "ELFA", "INSECT", "FISH" ], + "lumination": [ [ "HEAD", 20 ] ] + }, { "type": "mutation", "id": "GOODHEARING", @@ -494,7 +524,7 @@ "cancels": [ "NONADDICTIVE" ], "points": 2, "mixed_effect": true, - "description": "You have a unique history with stimulants (like coffee or amphetamines). You can tolerate a lot more of them without overdosing, but if you indulge too much, you start seeing things...", + "description": "You have a unique history with stimulants (like coffee or amphetamines). You can tolerate a lot more of them without overdosing, but if you indulge too much, you start seeing things…", "starting_trait": true, "valid": false }, @@ -623,7 +653,7 @@ "id": "MARTIAL_ARTS5", "name": "Melee Weapon Training", "points": 3, - "description": "You have practiced fighting with weapons. You start with your choice of Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-Ryu, Pentjak Silat, or Sōjutsu.", + "description": "You have practiced fighting with weapons. You start with your choice of Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-Ryu, Pentjak Silat, or Sōjutsu.", "starting_trait": true, "initial_ma_styles": [ "style_eskrima", @@ -636,6 +666,16 @@ ], "valid": false }, + { + "type": "mutation", + "id": "MARTIAL_FENCING", + "name": "Competitive Fencer", + "points": 0, + "description": "You were an avid fencer, starting with foil and moving onto saber, then épée. You competed nationally and dabbled with some of the historical fencing weapons afforded by HEMA's popularity.", + "starting_trait": false, + "initial_ma_styles": [ "style_fencing" ], + "valid": false + }, { "type": "mutation", "id": "WEAKSCENT", @@ -1352,7 +1392,7 @@ "id": "ELFAEYES", "name": "Fey Eyes", "points": 1, - "description": "Your eyes have turned...green. It's tough to tell the exact shade as it seems to shift. The effect is ...pleasant.", + "description": "Your eyes have turned… green. It's tough to tell the exact shade as it seems to shift. The effect is… pleasant.", "leads_to": [ "ELFA_NV" ], "valid": false, "cancels": [ "BIRD_EYE", "LIZ_EYE", "FEL_EYE", "URSINE_EYE", "COMPOUND_EYES" ], @@ -2497,7 +2537,7 @@ "id": "MARLOSS", "name": "Marloss Carrier", "points": 4, - "description": "Ever since you ate that Marloss berry, you can't get its scent out of your nose, and you have a strong desire to try some seeds and...sap?", + "description": "Ever since you ate that Marloss berry, you can't get its scent out of your nose, and you have a strong desire to try some seeds and… sap?", "purifiable": false, "valid": false, "category": [ "MARLOSS" ], @@ -2508,7 +2548,7 @@ "id": "MARLOSS_BLUE", "name": "Marloss Vessel", "points": 4, - "description": "Ever since you ate that Marloss seed, you can't get its taste off of your tongue, and you have a strong desire to try some berries and...sap?", + "description": "Ever since you ate that Marloss seed, you can't get its taste off of your tongue, and you have a strong desire to try some berries and… sap?", "purifiable": false, "valid": false, "category": [ "MARLOSS" ], @@ -2915,7 +2955,7 @@ "visibility": 10, "ugliness": 8, "mixed_effect": true, - "description": "Your fangs have grown extremely large and incredibly sharp. They make it impossible to wear mouthgear and difficult to eat... but leave nasty wounds when you bite.", + "description": "Your fangs have grown extremely large and incredibly sharp. They make it impossible to wear mouthgear and difficult to eat… but leave nasty wounds when you bite.", "types": [ "TEETH" ], "prereqs": [ "FANGS" ], "threshreq": [ "THRESH_FELINE", "THRESH_CHIMERA" ], @@ -4402,7 +4442,7 @@ "points": -1, "visibility": 4, "ugliness": 3, - "description": "Your face and jaw have begun...changing. Masks and such fit OK, but you're noticeably mutated.", + "description": "Your face and jaw have begun… changing. Masks and such fit OK, but you're noticeably mutated.", "changes_to": [ "BEAK", "BEAK_HUM", "BEAK_PECK", "PROBOSCIS", "MINOTAUR", "MUZZLE", "MUZZLE_BEAR", "MUZZLE_LONG", "MUZZLE_RAT" ], "category": [ "FELINE" ] }, @@ -5285,7 +5325,7 @@ "name": "Ectothermic", "points": 0, "mixed_effect": true, - "description": "Your body has become permanently cold-blooded. Your speed lowers--or raises--for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to eat half as much as an average human.", + "description": "Your body has become permanently cold-blooded. Your speed lowers or raises 1% for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to eat half as much as an average human.", "prereqs": [ "COLDBLOOD3" ], "threshreq": [ "THRESH_LIZARD", "THRESH_PLANT" ], "purifiable": false, @@ -5717,7 +5757,7 @@ "id": "THRESH_INSECT", "name": "Insect", "points": 1, - "description": "It would be good to be a Queen, having workers constantly servicing your every need...but how would you keep them in line?", + "description": "It would be good to be a Queen, having workers constantly servicing your every need… but how would you keep them in line?", "valid": false, "purifiable": false, "threshold": true @@ -5737,7 +5777,7 @@ "id": "THRESH_SLIME", "name": "Aqueous", "points": 1, - "description": "What was that old advertisement, 'paint the planet'? That might be a good long-term goal, but for now...", + "description": "What was that old advertisement, 'paint the planet'? That might be a good long-term goal, but for now…", "valid": false, "purifiable": false, "threshold": true diff --git a/data/json/npcs/Backgrounds/burger_flipper_1.json b/data/json/npcs/Backgrounds/burger_flipper_1.json index 7948d5d1d8249..532d2adb938ef 100644 --- a/data/json/npcs/Backgrounds/burger_flipper_1.json +++ b/data/json/npcs/Backgrounds/burger_flipper_1.json @@ -22,7 +22,7 @@ { "id": "BGSS_BURGER_FLIPPER_1_STORY3", "type": "talk_topic", - "dynamic_line": "I haven't found them yet. Whenever I see a , a little part of me is afraid it's going to be one of them. But then, maybe not. Maybe they were evacuated, maybe they fought and tried to wait for me but the military took them anyway? I've heard that sort of thing happened. I don't know if I'll ever know.", + "dynamic_line": "I haven't found them yet. Whenever I see a , a little part of me is afraid it's going to be one of them. But then, maybe not. Maybe they were evacuated, maybe they fought and tried to wait for me but the military took them anyway? I've heard that sort of thing happened. I don't know if I'll ever know.", "responses": [ { "text": "So, did you evacuate?", "topic": "BGSS_BURGER_FLIPPER_1_STORY3" }, { "text": "", "topic": "TALK_FRIEND" }, diff --git a/data/json/npcs/Backgrounds/codger.json b/data/json/npcs/Backgrounds/codger.json index 354225bd62cfb..44a2f40b3c602 100644 --- a/data/json/npcs/Backgrounds/codger.json +++ b/data/json/npcs/Backgrounds/codger.json @@ -74,7 +74,7 @@ "dynamic_line": "Anyway, long story short, I were headin' back up to Mount Greenwood to check on th'old ranger station again when I heard them bombs fallin and choppers flyin. Decided to camp out there to see it all through, but it didn't ever end, now, did it? So here I am.", "responses": [ { "text": "Thanks for the story!", "topic": "TALK_FRIEND" }, - { "text": "...", "topic": "TALK_FRIEND" }, + { "text": "…", "topic": "TALK_FRIEND" }, { "text": ".", "topic": "TALK_DONE" } ] } diff --git a/data/json/npcs/Backgrounds/dreamer.json b/data/json/npcs/Backgrounds/dreamer.json index c2e7e823f4cd9..76fcd39c2c7ac 100644 --- a/data/json/npcs/Backgrounds/dreamer.json +++ b/data/json/npcs/Backgrounds/dreamer.json @@ -2,7 +2,7 @@ { "id": "BGSS_DREAMER_STORY1", "type": "talk_topic", - "dynamic_line": "OK, this is gonna sound crazy but I, like, I knew this was going to happen. Like, before it did. You can even ask my psychic except, like, I think she's dead now. I told her about my dreams a week before the world ended. Serious!", + "dynamic_line": "OK, this is gonna sound crazy but I, like, I knew this was going to happen. Like, before it did. You can even ask my psychic except, like, I think she's dead now. I told her about my dreams a week before the world ended. Serious!", "responses": [ { "text": "What were your dreams?", "topic": "BGSS_DREAMER_STORY2" }, { "text": "", "topic": "TALK_FRIEND" }, diff --git a/data/json/npcs/Backgrounds/evacuee_5.json b/data/json/npcs/Backgrounds/evacuee_5.json index fbf1115fa79e4..67f7866f4ed82 100644 --- a/data/json/npcs/Backgrounds/evacuee_5.json +++ b/data/json/npcs/Backgrounds/evacuee_5.json @@ -7,7 +7,7 @@ "responses": [ { "text": "Giant bees? Tell me more.", "topic": "BGSS_EVACUEE_5_BEES" }, { - "text": "But bees aren't usually aggressive...", + "text": "But bees aren't usually aggressive…", "topic": "BGSS_EVACUEE_5_WASPS", "condition": { "u_has_perception": 8 } }, @@ -21,7 +21,7 @@ "dynamic_line": "Yeah, I'm sure you've seen them, they're everywhere. Like something out of an old sci-fi movie. Some of the others in the evac shelter got stung, it was no joke. I didn't stick around to see what the lasting effect was though. I'm not ashamed to admit I ran like a chicken.", "responses": [ { - "text": "But bees aren't usually aggressive... Do you mean wasps?", + "text": "But bees aren't usually aggressive… Do you mean wasps?", "topic": "BGSS_EVACUEE_5_WASPS", "condition": { "u_has_perception": 8 } }, diff --git a/data/json/npcs/Backgrounds/hospital_2.json b/data/json/npcs/Backgrounds/hospital_2.json index 58e918d9daacc..26965d79fe90b 100644 --- a/data/json/npcs/Backgrounds/hospital_2.json +++ b/data/json/npcs/Backgrounds/hospital_2.json @@ -45,7 +45,7 @@ "dynamic_line": "No. I can't. Just, no.", "responses": [ { - "text": "Sorry... I'll let you be.", + "text": "Sorry… I'll let you be.", "effect": { "npc_add_effect": "player_BGSS_SAIDNO", "duration": 14000 }, "topic": "TALK_DONE" } diff --git a/data/json/npcs/Backgrounds/lab_1.json b/data/json/npcs/Backgrounds/lab_1.json index 5ccf77097bbcb..2fae18844bdd1 100644 --- a/data/json/npcs/Backgrounds/lab_1.json +++ b/data/json/npcs/Backgrounds/lab_1.json @@ -14,7 +14,7 @@ "type": "talk_topic", "dynamic_line": "Well, the references weren't quite right. Pat referred to things that we'd never played. The situations were close, but not right, and when I put it all together, it told a story. A story about a scholar whose kids were being held captive by a corrupt government, forced to research dark magic for them. And there was a clincher: A warning that the magic had escaped, a warning that all heroes had to leave the kingdom before it fell.", "responses": [ - { "text": "Okay...", "topic": "BGSS_LAB_1_STORY3" }, + { "text": "Okay…", "topic": "BGSS_LAB_1_STORY3" }, { "text": "", "topic": "TALK_FRIEND" }, { "text": "", "topic": "TALK_DONE" } ] diff --git a/data/json/npcs/Backgrounds/lost_partner_2.json b/data/json/npcs/Backgrounds/lost_partner_2.json index 1e0c539816c68..fe727af86ddd9 100644 --- a/data/json/npcs/Backgrounds/lost_partner_2.json +++ b/data/json/npcs/Backgrounds/lost_partner_2.json @@ -55,7 +55,7 @@ "id": "BGSS_LOST_PARTNER_2_FUCKOFF", "type": "talk_topic", "dynamic_line": "Oh, . This doesn't have anything to do with you, or with us.", - "responses": [ { "text": "...", "effect": { "npc_add_effect": "player_BGSS_SAIDNO", "duration": 14000 }, "topic": "TALK_DONE" } ] + "responses": [ { "text": "…", "effect": { "npc_add_effect": "player_BGSS_SAIDNO", "duration": 14000 }, "topic": "TALK_DONE" } ] }, { "id": "BGSS_LOST_PARTNER_2_STORY2", diff --git a/data/json/npcs/Backgrounds/no_past_3.json b/data/json/npcs/Backgrounds/no_past_3.json index 1dffa6dbac210..956e1b4e370b4 100644 --- a/data/json/npcs/Backgrounds/no_past_3.json +++ b/data/json/npcs/Backgrounds/no_past_3.json @@ -5,7 +5,7 @@ "dynamic_line": "This is gonna sound crazy, but I woke up in the forest in the middle of nowhere, freezing cold, about a week before I met you. I had my clothes, a splitting headache, and absolutely no memory of anything. Like, I know stuff. I can talk, I have skills and understanding... but I don't remember where any of it comes from. I had a driver's license in my pocket and that's the only way I even know my name.", "responses": [ { "text": "What do you think happened?", "topic": "BGSS_NO_PAST_3_STORY2" }, - { "text": "That does sound a little crazy...", "topic": "BGSS_NO_PAST_3_CRAZY" }, + { "text": "That does sound a little crazy…", "topic": "BGSS_NO_PAST_3_CRAZY" }, { "text": "", "topic": "TALK_NONE" }, { "text": "", "topic": "TALK_DONE" } ] @@ -16,7 +16,7 @@ "dynamic_line": "There were some clues. Like, I had a nasty headache that lasted a few days, but no cuts or bruises. And there were scorch marks on the trees in weird slashing patterns around me. Whatever happened to me, I think it was some weird shit.", "responses": [ { "text": "Are you trying to get your memory back then?", "topic": "BGSS_NO_PAST_3_STORY3" }, - { "text": "That does sound a little crazy...", "topic": "BGSS_NO_PAST_3_CRAZY" }, + { "text": "That does sound a little crazy…", "topic": "BGSS_NO_PAST_3_CRAZY" }, { "text": "", "topic": "TALK_FRIEND" }, { "text": "", "topic": "TALK_DONE" } ] @@ -26,7 +26,7 @@ "type": "talk_topic", "dynamic_line": "Well, not having a memory is weird as heck, but I'll be honest: I think it might be better? With what's going on, I bet you my memories weren't happy ones. Besides my driver's license, there were pictures of kids in my wallet... not that that sparked any reaction from me. I didn't see any kids around. Maybe losing my mind is a mercy. Hell, maybe it's some kind of psychotic break and my brain did this to itself. To be honest with you I think I'd rather focus on surviving, and not worry about it.", "responses": [ - { "text": "That does sound a little crazy...", "topic": "BGSS_NO_PAST_3_CRAZY" }, + { "text": "That does sound a little crazy…", "topic": "BGSS_NO_PAST_3_CRAZY" }, { "text": "", "topic": "TALK_FRIEND" }, { "text": "", "topic": "TALK_DONE" } ] diff --git a/data/json/npcs/Backgrounds/no_past_4.json b/data/json/npcs/Backgrounds/no_past_4.json index 4f4aaa9eacab3..e27c6e60eab30 100644 --- a/data/json/npcs/Backgrounds/no_past_4.json +++ b/data/json/npcs/Backgrounds/no_past_4.json @@ -6,7 +6,7 @@ "responses": [ { "text": "What happened to you after that?", "topic": "BGSS_NO_PAST_4_STORY2" }, { - "text": "It can't be healthy to abandon your past like that...", + "text": "It can't be healthy to abandon your past like that…", "topic": "BGSS_NO_PAST_4_DROPIT", "opinion": { "anger": 3 } }, @@ -20,7 +20,7 @@ "dynamic_line": "I went on, running when I had to and fighting when I could, like the rest of us. Started learning who I am now. Lost the bat in a fight against some crazy electric lightning shooting zombie. It was arcing electricity through my bat so I dropped it and used a nearby two-by-four, but I wound up having to run and leave the ol' slugger behind. I nearly died that day.", "responses": [ { - "text": "It can't be healthy to abandon your past like that...", + "text": "It can't be healthy to abandon your past like that…", "topic": "BGSS_NO_PAST_4_DROPIT", "opinion": { "anger": 3 } }, diff --git a/data/json/npcs/Backgrounds/religious_1.json b/data/json/npcs/Backgrounds/religious_1.json index b862080acf881..be49842912c93 100644 --- a/data/json/npcs/Backgrounds/religious_1.json +++ b/data/json/npcs/Backgrounds/religious_1.json @@ -4,7 +4,7 @@ "type": "talk_topic", "dynamic_line": "My story. Huh. It's nothing special. I had people, but they've risen to be with the Lord. I don't understand why He didn't take me too, but I suppose it'll all be clear in time.", "responses": [ - { "text": "Do you mean in a religious sense, or...?", "topic": "BGSS_RELIGIOUS_1_STORY2" }, + { "text": "Do you mean in a religious sense, or…?", "topic": "BGSS_RELIGIOUS_1_STORY2" }, { "text": "", "topic": "TALK_FRIEND" }, { "text": "", "topic": "TALK_DONE" } ] diff --git a/data/json/npcs/Backgrounds/scientist_1.json b/data/json/npcs/Backgrounds/scientist_1.json index d6061779c4dcc..188c87a09dc05 100644 --- a/data/json/npcs/Backgrounds/scientist_1.json +++ b/data/json/npcs/Backgrounds/scientist_1.json @@ -6,7 +6,7 @@ "responses": [ { "text": "What came of it?", "topic": "BGSS_SCIENTIST_1_STORY2" }, { - "text": "If I got you the right stuff, do you think you'd be able to like... do science to it?", + "text": "If I got you the right stuff, do you think you'd be able to like… do science to it?", "topic": "BGSS_SCIENTIST_1_SCIENCEHELP" }, { "text": "", "topic": "TALK_FRIEND" }, @@ -20,7 +20,7 @@ "responses": [ { "text": "What happened with your leadership run?", "topic": "BGSS_SCIENTIST_1_STORY3" }, { - "text": "If I got you the right stuff, do you think you'd be able to like... do science to it?", + "text": "If I got you the right stuff, do you think you'd be able to like… do science to it?", "topic": "BGSS_SCIENTIST_1_SCIENCEHELP" }, { "text": "", "topic": "TALK_FRIEND" }, @@ -34,7 +34,7 @@ "//": "TK, this survivor could give a quest to locate the other survivor.", "responses": [ { - "text": "If I got you the right stuff, do you think you'd be able to like... do science to it?", + "text": "If I got you the right stuff, do you think you'd be able to like… do science to it?", "topic": "BGSS_SCIENTIST_1_SCIENCEHELP" }, { "text": "I'm sorry to hear that. ", "topic": "TALK_FRIEND" }, diff --git a/data/json/npcs/Backgrounds/wedding_1.json b/data/json/npcs/Backgrounds/wedding_1.json index b15c38baec443..71d4359063954 100644 --- a/data/json/npcs/Backgrounds/wedding_1.json +++ b/data/json/npcs/Backgrounds/wedding_1.json @@ -4,7 +4,7 @@ "type": "talk_topic", "dynamic_line": "Oh, that's quite the story. happened on my wedding day.", "responses": [ - { "text": "Oh, I'm sorry...", "topic": "BGSS_WEDDING_1_STORY2" }, + { "text": "Oh, I'm sorry…", "topic": "BGSS_WEDDING_1_STORY2" }, { "text": "", "topic": "TALK_NONE" }, { "text": "", "topic": "TALK_DONE" } ] diff --git a/data/json/npcs/NPC_Brigitte_LaCroix.json b/data/json/npcs/NPC_Brigitte_LaCroix.json index c6e039765f692..885ca662666c1 100644 --- a/data/json/npcs/NPC_Brigitte_LaCroix.json +++ b/data/json/npcs/NPC_Brigitte_LaCroix.json @@ -115,18 +115,18 @@ "speaker_effect": { "effect": { "u_add_var": "talked_to_seer", "type": "dialogue", "context": "first_meeting", "value": "yes" } }, "responses": [ { - "text": "What? What do you mean? What song?", + "text": "What? What do you mean? What song?", "topic": "TALK_BONE_SEER_SONG", "condition": { "not": { "u_has_var": "asked_about_song", "type": "dialogue", "context": "song", "value": "yes" } }, "effect": { "u_add_var": "asked_about_song", "type": "dialogue", "context": "song", "value": "yes" } }, { - "text": "So about the songs...", + "text": "So about the songs…", "topic": "TALK_BONE_SEER_SONG", "condition": { "u_has_var": "asked_about_song", "type": "dialogue", "context": "song", "value": "yes" } }, { - "text": "You mentioned some cycle before, when I gave you the bones. What does that mean?", + "text": "You mentioned some cycle before, when I gave you the bones. What does that mean?", "topic": "TALK_BONE_SEER_CYCLE", "condition": { "u_has_var": "NC_SEER_MISSION_1", "type": "general", "context": "mission", "value": "yes" } }, @@ -141,7 +141,7 @@ "topic": "TALK_MISSION_LIST_SEER", "condition": { "u_has_var": "asked_about_song", "type": "dialogue", "context": "song", "value": "yes" } }, - { "text": "I have to get going. Take care, Seer.", "topic": "TALK_DONE" } + { "text": "I have to get going. Take care, Seer.", "topic": "TALK_DONE" } ] }, { @@ -149,8 +149,8 @@ "id": "TALK_BONE_SEER_SONG", "dynamic_line": "Listen carefully. The bones... they sing. Can you hear it? The song they weave? The stories they hold?", "responses": [ - { "text": "What? Singing bones? What are you talking about?", "topic": "TALK_BONE_SEER_SONG2" }, - { "text": "Uh... yeah, sure. I think I'll just be on my way.", "topic": "TALK_DONE" } + { "text": "What? Singing bones? What are you talking about?", "topic": "TALK_BONE_SEER_SONG2" }, + { "text": "Uh… yeah, sure. I think I'll just be on my way.", "topic": "TALK_DONE" } ] }, { @@ -175,14 +175,14 @@ "dynamic_line": "There are others who follow this cause. You'd do well to aid them, for though we may not be numerous, we are emboldened by the songs we carry.", "responses": [ { "text": "I will bear that in mind", "topic": "TALK_NONE" }, - { "text": "Cause? Why do you gather these bones anyway?", "topic": "TALK_BONE_SEER_BONES" } + { "text": "Cause? Why do you gather these bones anyway?", "topic": "TALK_BONE_SEER_BONES" } ] }, { "type": "talk_topic", "id": "TALK_BONE_SEER_BONES", "dynamic_line": "The song can be weaved in many forms. Carved bone charms, weapons and armor all hold immense power, and when the time comes, me and my kindred shall gather a great amount of song and sing it to restore this world. Restore it, or end it. Makes no difference.", - "responses": [ { "text": "End the world? What?", "topic": "TALK_BONE_SEER_END" } ] + "responses": [ { "text": "End the world? What?", "topic": "TALK_BONE_SEER_END" } ] }, { "type": "talk_topic", @@ -190,7 +190,7 @@ "dynamic_line": "We believe that enough power in one song could revert the Cataclysm - or accelerate it to a time beyond all, ending it all the same. But with the world looking as is, both options are preferable.", "responses": [ { - "text": "Sounds somewhat... doomsday-ish, but I suppose it's a belief like any other. Still, at least you have a goal to help the world, one way or another.", + "text": "Sounds somewhat… doomsday-ish, but I suppose it's a belief like any other. Still, at least you have a goal to help the world, one way or another.", "topic": "TALK_BONE_SEER_ACOLYTE" }, { "text": "You're nuts.", "topic": "TALK_BONE_SEER_INSULT" } @@ -200,7 +200,7 @@ "type": "talk_topic", "id": "TALK_BONE_SEER_ACOLYTE", "dynamic_line": "Your mind is open. More than most. Perhaps one day, you too will feel the power of the song and become Kindred. For now, Acolyte, listen, listen and feel the song.", - "responses": [ { "text": "I... thank you.", "topic": "TALK_BONE_SEER" } ] + "responses": [ { "text": "I… thank you.", "topic": "TALK_BONE_SEER" } ] }, { "type": "talk_topic", @@ -211,7 +211,7 @@ { "id": "MISSION_SEER_GATHER_BONE", "type": "mission_definition", - "name": "Gather bones for the Brigitte. About 8 should do it.", + "name": "Gather bones for the Brigitte. About 8 should do it.", "difficulty": 1, "value": 10000, "goal": "MGOAL_FIND_ITEM", @@ -220,13 +220,8 @@ "origins": [ "ORIGIN_SECONDARY" ], "end": { "effect": [ - { - "u_add_var": "NC_SEER_MISSION_1", - "type": "general", - "context": "mission", - "value": "yes", - "u_add_trait": "seer_mark" - } + { "u_add_var": "NC_SEER_MISSION_1", "type": "general", "context": "mission", "value": "yes" }, + { "u_add_trait": "seer_mark" } ] }, "dialogue": { @@ -244,7 +239,6 @@ { "id": "TALK_MISSION_LIST_SEER", "type": "talk_topic", - "category": "CATEGORY_MISSION_SEER", "dynamic_line": { "has_no_available_mission": { "has_no_assigned_mission": "The song is... quiet for now. Perhaps with time, more notes will be etched in the bones of this world.", @@ -284,11 +278,10 @@ { "id": "TALK_MISSION_OFFER_SEER", "type": "talk_topic", - "category": "CATEGORY_MISSION_SEER", "dynamic_line": "If you wish to be set on the path to enlightenment, first you must learn to listen and hear the song. Go out, butcher a creature and feel the power between your fingertips. Then bring me the bones and I shall carve them for you. ", "responses": [ { - "text": "Well, I guess I oughta see where this goes. I'm in.", + "text": "Well, I guess I oughta see where this goes. I'm in.", "topic": "TALK_MISSION_ACCEPTED_SEER", "effect": "assign_mission" }, @@ -298,10 +291,9 @@ { "id": "TALK_MISSION_ACCEPTED_SEER", "type": "talk_topic", - "category": "CATEGORY_MISSION_SEER", "dynamic_line": "Excellent. Now be on your way.", "responses": [ - { "text": "Consider it done. But I also wanted to ask...", "topic": "TALK_BONE_SEER" }, + { "text": "Consider it done. But I also wanted to ask…", "topic": "TALK_BONE_SEER" }, { "text": "Where should I start?", "topic": "TALK_MISSION_ADVICE_SEER" }, { "text": "Can you share some equipment to aid me in this?", "topic": "TALK_SHARE_EQUIPMENT_SEER" }, { "text": "I'm off then.", "topic": "TALK_DONE" } @@ -310,30 +302,25 @@ { "id": "TALK_MISSION_ADVICE_SEER", "type": "talk_topic", - "category": "CATEGORY_MISSION_SEER", "dynamic_line": "The shambling corpses we see all around move in discord. Their song can be used, but for an Acolyte, this would be needlessly hard. Be sure to carve an unspoiled living creature.", - "responses": [ { "text": "So, a creature that isn't a zombie, or a monster. Got it.", "topic": "TALK_NONE" } ] + "responses": [ { "text": "So, a creature that isn't a zombie, or a monster. Got it.", "topic": "TALK_NONE" } ] }, { "id": "TALK_SHARE_EQUIPMENT_SEER", "type": "talk_topic", - "category": "CATEGORY_MISSION_SEER", "dynamic_line": "The path to enlightenment is for you to walk. For me to aid you would ultimately impede your progress and muddle your song.", - "responses": [ { "text": "I see. Very well then.", "topic": "TALK_NONE" } ] + "responses": [ { "text": "I see. Very well then.", "topic": "TALK_NONE" } ] }, { "id": "TALK_SUGGEST_FOLLOW_SEER", "type": "talk_topic", "dynamic_line": { "u_has_trait": "seer_mark", - "type": "dialogue", - "context": "mark_of_the_seer", - "value": "yes", "no": "Only those who bear my mark will prove themselves worthy of my skills.", "yes": "You bear my mark, meaning I believe you have potential to learn to truly listen to the Song. Yes, I will lend my skills to you, for now." }, "responses": [ - { "text": "I see. Very well then.", "topic": "TALK_NONE", "condition": { "not": { "u_has_trait": "seer_mark" } } }, + { "text": "I see. Very well then.", "topic": "TALK_NONE", "condition": { "not": { "u_has_trait": "seer_mark" } } }, { "text": "I am glad to hear it. Let's go then.", "effect": "follow", @@ -341,7 +328,7 @@ "topic": "TALK_DONE" }, { - "text": "That's good, but I need to go at it alone right now. Maybe later.", + "text": "That's good, but I need to go at it alone right now. Maybe later.", "condition": { "u_has_trait": "seer_mark" }, "topic": "TALK_NONE" } @@ -352,7 +339,7 @@ "type": "talk_topic", "dynamic_line": "I understand your reluctancy. Feel free to return when you see the way.", "responses": [ - { "text": "Maybe some other time. Changing the topic...", "topic": "TALK_NONE" }, + { "text": "Maybe some other time. Changing the topic…", "topic": "TALK_NONE" }, { "text": "Alright, but I have to go now.", "topic": "TALK_DONE" } ] }, @@ -362,10 +349,10 @@ "dynamic_line": "It's not just walking horrors and monsters that have changed with the Cataclysm. It started a... cycle, of sorts. Everything repeats. We can only see it in others, but it happens to us, even you and I. How many times have you fallen? Your flesh rent from your body, devoured. Or perhaps it was the quiet whimper of death to exposure. But your bones rose again. Different flesh, different name, sometimes even different knowledge, but the bones, the same. We are all trapped in the same cycle. We just keep forgetting. That's why we need to amass the Song. That's why it has to end, even if it means the destruction, not restoration.", "responses": [ { - "text": "That is... that's really one hell of a belief. Well, if it helps you deal with the world, who am I to argue.", + "text": "That is… that's really one hell of a belief. Well, if it helps you deal with the world, who am I to argue.", "topic": "TALK_NONE" }, - { "text": "And here I thought you were nuts before. I'm out of here.", "topic": "TALK_DONE" } + { "text": "And here I thought you were nuts before. I'm out of here.", "topic": "TALK_DONE" } ] } ] diff --git a/data/json/npcs/TALK_ALLY_TUTORIAL.json b/data/json/npcs/TALK_ALLY_TUTORIAL.json index 4c3e35cc2a92d..ed77c9f53697e 100644 --- a/data/json/npcs/TALK_ALLY_TUTORIAL.json +++ b/data/json/npcs/TALK_ALLY_TUTORIAL.json @@ -2,10 +2,11 @@ { "id": "TALK_ALLY_TUTORIAL", "type": "talk_topic", - "dynamic_line": "I'm my own person, but I'm willing to follow your lead. I can do a lot of things for you: I can fight, I can train you or you can train me, I can carry stuff, I can bandage your wounds, I can build faction camps, I can do some other activites, I can ride horses, I can go places, I can guard things, I can use some bionics, I can even chit-chat with you or give you tips or talk about my background. You can give me instructions in conversation or by radio or shout commands at me.\n What do you want to know more about?", + "dynamic_line": "I'm my own person, but I'm mostly willing to follow your lead. I can do a lot of things for you: I can fight, I can train you or you can train me, I can carry stuff, I can bandage your wounds, I can build faction camps, I can do some other activites, I can ride horses, I can go places, I can guard things, I can use some bionics, I can even chit-chat with you or give you tips or talk about my background. You can give me instructions in conversation or by radio or shout commands at me.\n What do you want to know more about?", "responses": [ { "text": "Forget I asked.", "topic": "TALK_FRIEND" }, { "text": "Skip it, let's get going.", "topic": "TALK_DONE" }, + { "text": "What do you mean, \"mostly\" willing to follow my lead?", "topic": "TALK_ALLY_TUTORIAL_MUTINY" }, { "text": "What's that about giving instructions?", "topic": "TALK_ALLY_TUTORIAL_TALK" }, { "text": "We can talk with radios?", "topic": "TALK_ALLY_TUTORIAL_RADIO" }, { "text": "How do shouted commands work?", "topic": "TALK_ALLY_TUTORIAL_SHOUTS" }, @@ -23,10 +24,19 @@ { "text": "What do you do as a guard?", "topic": "TALK_ALLY_TUTORIAL_GUARD" }, { "text": "You can use bionics? How does that work?", "topic": "TALK_ALLY_TUTORIAL_CBMS" }, { "text": "What about chit-chatting and your background?", "topic": "TALK_ALLY_TUTORIAL_SOCIAL" }, - { "text": "Anything else I should know?", "topic": "TALK_ALLY_TUTORIAL_MISC" }, + { + "text": "Anything else I should know, like making you pulp zombies or assigning you a seat in my vehicle?", + "topic": "TALK_ALLY_TUTORIAL_MISC" + }, { "text": "Any new abilities recently?", "topic": "TALK_ALLY_TUTORIAL_CHANGES" } ] }, + { + "id": "TALK_ALLY_TUTORIAL_MUTINY", + "type": "talk_topic", + "dynamic_line": "You and me, we better stick together to survive, right? But that doesn't mean I'll tolerate infinite abuse. Mistreat me too much, or especially fail to keep me fed, and I'll like you less and less. If it gets bad enough, I'll mutiny - and if you have anyone else following you, I may convince some of them to join my mutiny and we'll form our own little band.\n Obviously, if I quit in a huff, there's going to be bad blood between us, and you're probably going to want to kill me for betrayal and I may need to kill you to get my fair share of the loot. So keep me fed and satisfied so it doesn't come to that.", + "responses": [ { "text": "Sure. Is there any easy way to keep you fed?", "topic": "TALK_CAMP_TUTORIAL_INTRO" } ] + }, { "id": "TALK_ALLY_TUTORIAL_TALK", "type": "talk_topic", @@ -73,7 +83,7 @@ { "id": "TALK_ALLY_TUTORIAL_TRAINING", "type": "talk_topic", - "dynamic_line": "If I'm better at a skill than you, I can help you improve. But it's boring to teach a lot, so I'm not going to do it very often. And I'm not going to do it when we're in danger or if I'm hungry or tired or if you're driving.\n If we're someplace safe and you're reading a book that improves skills, I'll listen if I don't have that skill. You can even read me books for skills that you already have.", + "dynamic_line": "If I'm better at a skill than you, I can help you improve. But it's boring to teach a lot, so I'm not going to do it very often. And I'm not going to do it when we're in danger or if I'm hungry or tired or if you're driving.\n If we're someplace safe and you're reading a book that improves skills, I'll listen if I don't have that skill. You can even read me books for skills that you already have.\n If you give me a book that teaches a skill and that's accessible to someone with my current skill, you can ask me about my current activity and tell me to read it, and I'll learn from the book. But while I'm reading, I won't be following you around, so make sure I'm in a safe place.\n And don't bother asking me about learning or teaching martial arts style. My brain just doesn't work that way, so I don't know any to teach you and it's pointless trying to get me to learn any.", "responses": [ { "text": "Instead of reading to you, can we just talk?", "topic": "TALK_ALLY_TUTORIAL_SOCIAL" } ] }, { @@ -100,7 +110,7 @@ { "id": "TALK_ALLY_TUTORIAL_ACTIVITIES", "type": "talk_topic", - "dynamic_line": "I can help with some tasks if you show me where to work.\n Use the zone manager (keybind 'Y') to set up sorting zones for your loot, or to draw blueprints for a building, or to define where you want to plant some crops, or where you'd like some trees cut down, or where you want a vehicle dismantled. Then tell me to sort stuff, or build stuff, or cut down trees, or dismantle a vehicle or do farmwork, and I'll go off and do my best to get what you want done. If I need tools, you should leave them pretty close to where you want me to work - axes for logging, shovels and seeds and fertilizer for farming, wrenches and hacksaws or a toolbox to take apart a vehicle. I can pretty much sort out our stuff without needing tools, but keep the piles of unsorted and sorted stuff kind of close together because I don't want to walk back and forth carrying junk too much.", + "dynamic_line": "I can help with some tasks if you show me where to work.\n Use the zone manager (keybind 'Y') to set up sorting zones for your loot, or to draw blueprints for a building, or to define where you want to plant some crops, or where you'd like some trees cut down, or where you want a vehicle dismantled or repaired, or a good fishing spot. Then talk to me about my current activity and tell me to sort stuff, or build stuff, or cut down trees, or repair or dismantle a vehicle, or do farmwork, or catch some fish, and I'll go off and do my best to get what you want done.\n If I need tools, you should leave them in a loot zone near where you want me to work - axes for logging, shovels and seeds and fertilizer for farming, wrenches and hacksaws or a toolbox to take apart a vehicle. I promise to put stuff back in an unsorted loot zone when I'm finished.\n I can pretty much sort out our stuff without needing tools, but keep the piles of unsorted and sorted stuff kind of close together because I don't want to walk back and forth carrying junk too much.", "responses": [ { "text": "Good to know. Can you perform first aid?", "topic": "TALK_ALLY_TUTORIAL_MEDIC" }, { "text": "What about carrying stuff in general?", "topic": "TALK_ALLY_TUTORIAL_MULE" }, @@ -127,8 +137,11 @@ { "id": "TALK_ALLY_TUTORIAL_GUARD", "type": "talk_topic", - "dynamic_line": "You tell me to guard, I'll stay where I am and guard it - unless I'm in a vehicle, in which case I'll stick with the vehicle.\n I'm not a potted plant, though, so if I hear something dangerous happening, I'm going to go see what it is instead of getting jumped in the dark. If you want me to stay put, tell me not to investigate noises - but if I get shot by some bandit because I can't see where he is and you don't want me to go looking, I won't be happy.\n You can also use the zone manager (keybind 'Y') to set up no-investigate zone, so if there's some monsters behind a door that you know about, I can ignore them. You can also set on an investigate-only zone, and I won't investigate noises coming from outside the zone. The no-investigate zone takes precedence over the investigate-only, if there's a noise coming from some place in both zones. And if you've got an investigate-only zone set anywhere, even if it's far away, I won't investigate noises coming from outside of it, so be careful with those zones. Like I said, I don't want to get sniped by some bandit because you told me not to go looking for him - but I also don't want to go investigate something pounding at door only to find out it's some horrible monster you forgot to warn me about.", - "responses": [ { "text": "Just in case - how else can I tell you to stay put?", "topic": "TALK_ALLY_TUTORIAL_MISC" } ] + "dynamic_line": "You tell me to guard, I'll stay where I am and guard it - unless I'm in a vehicle, in which case I'll stick with the vehicle. I might not be able to sop a horde of zombies, but I can keep people other people from stealing our stuff. Well, unless they try to kill me.\n Also, I'm not a potted plant, so if I hear something dangerous happening, I'm going to go see what it is instead of getting jumped in the dark. If you want me to stay put, tell me not to investigate noises - but if I get shot by some bandit because I can't see where he is and you don't want me to go looking, I won't be happy.\n You can also use the zone manager (keybind 'Y') to set up no-investigate zone, so if there's some monsters behind a door that you know about, I can ignore them. You can also set on an investigate-only zone, and I won't investigate noises coming from outside the zone. The no-investigate zone takes precedence over the investigate-only, if there's a noise coming from some place in both zones. And if you've got an investigate-only zone set anywhere, even if it's far away, I won't investigate noises coming from outside of it, so be careful with those zones. Like I said, I don't want to get sniped by some bandit because you told me not to go looking for him - but I also don't want to go investigate something pounding at door only to find out it's some horrible monster you forgot to warn me about.", + "responses": [ + { "text": "Just in case - how else can I tell you to stay put?", "topic": "TALK_ALLY_TUTORIAL_MISC" }, + { "text": "Hang on, other people can steal our stuff?", "topic": "TALK_ALLY_TUTORIAL_OTHER_FACTIONS" } + ] }, { "id": "TALK_ALLY_TUTORIAL_CBMS", @@ -161,14 +174,28 @@ } ] }, + { + "id": "TALK_ALLY_TUTORIAL_OTHER_FACTIONS", + "type": "talk_topic", + "dynamic_line": "Just about everyone is dead, but some people survived, right? But just like you go around breaking into houses and taking whatever you think you need or want, well, other survivors do the same thing. And that stack of loot you've been accumulating looks just like some random dead person's loot when it's left alone. If some other scavenger comes around and sees that loot, and you or I or another ally isn't around to claim it, that other survivor is just going to take it. So try to detail someone to watch your stuff - whether its at a base or in a vehicle.\n Also, we've teamed up to better our chances of survival. Other people are going to do the same, forming little factions just like we did. If you open the faction manager (keybind '#'), you can see a list of all your allies, as well as all the other factions you've met so far. Some factions are really just some guy trying to survive on his own, but other factions have dozens of members and fortified bases and such. You might want to find some of them and try to make friends with them.", + "responses": [ + { "text": "Anything else I can do in the faction manager?", "topic": "TALK_ALLY_TUTORIAL_RADIO" }, + { "text": "Is there any way we can build base for our faction?", "topic": "TALK_CAMP_TUTORIAL_INTRO" } + ] + }, { "id": "TALK_ALLY_TUTORIAL_CHANGES", "type": "talk_topic", - "dynamic_line": "Well, this conversation is pretty new! But there's been some other changes.\n I've been able to install CBMs on you, and have passive bionics installed in me, for a while. But now I can use some active bionics, and I can explain some details on how I use bionics.\n I can also ride horses, and you can give me orders to do things like farmwork, cutting trees, or even building houses from a blueprint.", + "dynamic_line": "Well, this conversation is pretty new! But there's been some other changes.\n I've been able to install CBMs on you, and have passive bionics installed in me, for a while. But now I can use some active bionics, and I can explain some details on how I use bionics.\n I can also ride horses, and you can give me orders to do things like farmwork, cutting trees, or even building houses from a blueprint.\n I can even read books to improve my skills, so you don't have to spend time reading to me.\n If you've got a faction camp, and we're near it, I'll eat from the camp's food reserves when I'm hungry. And if the camp has a well, I'll drink from the well when thirsty. Be careful, though - if other people are out on missions, I may eat the food they expected to eat when they got done!", "responses": [ { "text": "You can use bionics? How does that work?", "topic": "TALK_ALLY_TUTORIAL_CBMS" }, { "text": "You can ride horses? Can I ride horses?", "topic": "TALK_ALLY_TUTORIAL_HORSES" }, - { "text": "Tell me more about the activities you can do now.", "topic": "TALK_ALLY_TUTORIAL_ACTIVITIES" } + { "text": "Tell me more about the activities you can do now.", "topic": "TALK_ALLY_TUTORIAL_ACTIVITIES" }, + { + "text": "Hey, you can teach yourself from a book. How does that work?", + "topic": "TALK_ALLY_TUTORIAL_TRAINING" + }, + { "text": "Tell me about faction camps.", "topic": "TALK_CAMP_TUTORIAL_INTRO" } ] }, { @@ -183,6 +210,8 @@ "TALK_ALLY_TUTORIAL_HORSES", "TALK_ALLY_TUTORIAL_MEDIC", "TALK_ALLY_TUTORIAL_MOVEMENT", + "TALK_ALLY_TUTORIAL_MUTINY", + "TALK_ALLY_TUTORIAL_OTHER_FACTIONS", "TALK_ALLY_TUTORIAL_GUARD", "TALK_ALLY_TUTORIAL_CBMS", "TALK_ALLY_TUTORIAL_SOCIAL", diff --git a/data/json/npcs/TALK_COMMON_ALLY.json b/data/json/npcs/TALK_COMMON_ALLY.json index 8f00daf1920e8..205e4577ea67e 100644 --- a/data/json/npcs/TALK_COMMON_ALLY.json +++ b/data/json/npcs/TALK_COMMON_ALLY.json @@ -275,15 +275,15 @@ ] }, "responses": [ - { "text": "Change your engagement rules...", "topic": "TALK_COMBAT_ENGAGEMENT" }, - { "text": "Change your aiming rules...", "topic": "TALK_AIM_RULES" }, + { "text": "Change your engagement rules…", "topic": "TALK_COMBAT_ENGAGEMENT" }, + { "text": "Change your aiming rules…", "topic": "TALK_AIM_RULES" }, { - "text": "Change your bionic power reserve rules...", + "text": "Change your bionic power reserve rules…", "topic": "TALK_CBM_RESERVE_RULES", "condition": { "npc_has_bionics": "ANY" } }, { - "text": "Change your bionic power recharge rules...", + "text": "Change your bionic power recharge rules…", "topic": "TALK_CBM_RECHARGE_RULES", "condition": { "npc_has_bionics": "ANY" } }, @@ -299,8 +299,8 @@ { "truefalsetext": { "condition": { "npc_rule": "follow_distance_2" }, - "true": "", - "false": "" + "false": "", + "true": "" }, "topic": "TALK_COMBAT_COMMANDS", "effect": { "toggle_npc_rule": "follow_distance_2" } @@ -771,7 +771,7 @@ "id": "TALK_RADIO", "type": "talk_topic", "responses": [ - { "text": "Please go to this location...", "topic": "TALK_GOTO_LOCATION_RADIO", "effect": "goto_location" }, + { "text": "Please go to this location…", "topic": "TALK_GOTO_LOCATION_RADIO", "effect": "goto_location" }, { "text": "Stay at your current position.", "topic": "TALK_DONE", "effect": "assign_guard" }, { "text": "Show me what needs to be done at the camp.", @@ -911,7 +911,7 @@ ], "responses": [ { - "text": "Oh you know, not bad, not bad...", + "text": "Oh you know, not bad, not bad…", "topic": "TALK_DONE", "switch": true, "effect": [ "morale_chat_activity", { "npc_add_effect": "asked_to_socialize", "duration": 7000 } ] diff --git a/data/json/npcs/TALK_COMMON_MISSION.json b/data/json/npcs/TALK_COMMON_MISSION.json index fd26b188fc3b1..f8519ca7931c3 100644 --- a/data/json/npcs/TALK_COMMON_MISSION.json +++ b/data/json/npcs/TALK_COMMON_MISSION.json @@ -18,9 +18,9 @@ "TALK_CITY_COP" ], "responses": [ - { "text": "About that job...", "topic": "TALK_MISSION_INQUIRE", "condition": "has_assigned_mission" }, + { "text": "About that job…", "topic": "TALK_MISSION_INQUIRE", "condition": "has_assigned_mission" }, { - "text": "About one of those jobs...", + "text": "About one of those jobs…", "topic": "TALK_MISSION_LIST_ASSIGNED", "condition": "has_many_assigned_missions" } @@ -110,7 +110,7 @@ "type": "talk_topic", "responses": [ { - "text": "I'm sorry... I failed.", + "text": "I'm sorry… I failed.", "condition": "mission_failed", "topic": "TALK_MISSION_FAILURE", "opinion": { "trust": -1, "value": -1, "anger": 1 } @@ -144,7 +144,7 @@ }, { "text": "No. I'll get back to it, bye!", "condition": "mission_incomplete", "topic": "TALK_NONE" }, { - "text": "Yup! Here it is!", + "text": "Yup! Here it is!", "topic": "TALK_MISSION_SUCCESS", "condition": { "and": [ diff --git a/data/json/npcs/TALK_COMMON_OTHER.json b/data/json/npcs/TALK_COMMON_OTHER.json index 1a2fc78947aaf..4e03839bc26a9 100644 --- a/data/json/npcs/TALK_COMMON_OTHER.json +++ b/data/json/npcs/TALK_COMMON_OTHER.json @@ -169,7 +169,7 @@ "type": "talk_topic", "dynamic_line": "Alright. You can lead now.", "responses": [ - { "text": "Good. Something else...", "topic": "TALK_FRIEND" }, + { "text": "Good. Something else…", "topic": "TALK_FRIEND" }, { "text": "Alright, let's go.", "topic": "TALK_NONE" } ] }, @@ -271,7 +271,7 @@ "id": "TALK_DENY_PERSONAL", "type": "talk_topic", "dynamic_line": "I'd prefer to keep that to myself.", - "responses": [ { "text": "I understand...", "topic": "TALK_FRIEND" } ] + "responses": [ { "text": "I understand…", "topic": "TALK_FRIEND" } ] }, { "id": "TALK_SHARE_EQUIPMENT", @@ -305,7 +305,7 @@ "failure": { "topic": "TALK_DENY_EQUIPMENT", "opinion": { "value": -1 } } }, { - "text": "Well, I am helping you out...", + "text": "Well, I am helping you out…", "switch": true, "default": true, "condition": { "or": [ "has_assigned_mission", "has_many_assigned_missions" ] }, @@ -377,21 +377,21 @@ "failure": { "topic": "TALK_DONE", "effect": [ "hostile", { "u_faction_rep": -75 } ] } }, { - "text": "Look, I really need this. Please let me have it.", + "text": "Look, I really need this. Please let me have it.", "condition": "u_has_stolen_item", "trial": { "type": "PERSUADE", "difficulty": 20, "mod": [ [ "TRUST", 3 ], [ "VALUE", 3 ], [ "ANGER", -3 ] ] }, "success": { "topic": "TALK_ALLOW_KEEP_ITEM", "effect": { "u_faction_rep": -1 } }, "failure": { "topic": "TALK_DISALLOW_KEEP_ITEM", "opinion": { "trust": -3, "anger": 2 }, "effect": { "u_faction_rep": -15 } } }, { - "text": "What, this? It's not the same one, you are mistaken.", + "text": "What, this? It's not the same one, you are mistaken.", "condition": "u_has_stolen_item", "trial": { "type": "LIE", "difficulty": 25, "mod": [ [ "TRUST", 3 ] ] }, "success": { "topic": "TALK_DONE", "effect": "remove_stolen_status" }, "failure": { "topic": "TALK_DISALLOW_KEEP_ITEM", "opinion": { "trust": -3, "value": -1, "anger": 2 } } }, { - "text": "I'm sorry. Look, I already dropped it, okay?", + "text": "I'm sorry. Look, I already dropped it, okay?", "topic": "TALK_DONE", "effect": [ "remove_stolen_status", { "u_faction_rep": -5 } ], "condition": { "not": "u_has_stolen_item" } @@ -402,7 +402,7 @@ "id": "TALK_DISALLOW_KEEP_ITEM", "type": "talk_topic", "dynamic_line": "Don't try and talk yourself out of this, drop it now.", - "responses": [ { "text": "Okay, I'm dropping it...", "effect": "drop_stolen_item", "topic": "TALK_DONE" } ] + "responses": [ { "text": "Okay, I'm dropping it…", "effect": "drop_stolen_item", "topic": "TALK_DONE" } ] }, { "id": "TALK_ALLOW_KEEP_ITEM", @@ -441,6 +441,6 @@ "id": "TALK_DELIVER_CONFIRM", "type": "talk_topic", "dynamic_line": "Pleasure doing business!", - "responses": [ { "text": "You might be seeing more of me...", "topic": "TALK_DONE", "effect": "u_bulk_trade_accept" } ] + "responses": [ { "text": "You might be seeing more of me…", "topic": "TALK_DONE", "effect": "u_bulk_trade_accept" } ] } ] diff --git a/data/json/npcs/TALK_CYBORG_1.json b/data/json/npcs/TALK_CYBORG_1.json index 1cdf5099dcab2..4545accc8f5b4 100644 --- a/data/json/npcs/TALK_CYBORG_1.json +++ b/data/json/npcs/TALK_CYBORG_1.json @@ -15,13 +15,13 @@ { "switch": true, "condition": { "npc_has_var": "cyborg_has_talked", "type": "dialogue", "context": "cyborg", "value": "yes" }, - "text": "Hey. Let's chat for a second.", + "text": "Hey. Let's chat for a second.", "topic": "TALK_STRANGER_NEUTRAL" }, { "switch": true, "default": true, - "text": "That's because I saved you. Listen, I could use your help...", + "text": "That's because I saved you. Listen, I could use your help…", "trial": { "type": "PERSUADE", "difficulty": 0 }, "success": { "topic": "TALK_CYBORG_FRIENDLY", "opinion": { "trust": 1, "value": 1 } }, "failure": { "topic": "TALK_CYBORG_WARY", "opinion": { "anger": 1, "fear": 1 } } @@ -29,7 +29,7 @@ { "switch": true, "default": true, - "text": "Big fucking deal. Do what I say or I'll shove that chip back where it belongs.", + "text": "Big fucking deal. Do what I say or I'll shove that chip back where it belongs.", "trial": { "type": "INTIMIDATE", "difficulty": 20, "mod": [ [ "AGGRESSION", -2 ], [ "BRAVERY", -2 ] ] }, "success": { "topic": "TALK_CYBORG_FEARFUL", "opinion": { "trust": -4, "fear": 3, "value": -1, "anger": 4 } }, "failure": { "topic": "TALK_CYBORG_BREAKDOWN", "opinion": { "trust": -4, "value": -5, "anger": 10 } } @@ -37,7 +37,7 @@ { "switch": true, "default": true, - "text": "Sorry, I'm nobody. Enjoy your freedom, I guess.", + "text": "Sorry, I'm nobody. Enjoy your freedom, I guess.", "topic": "TALK_DONE" } ] @@ -53,7 +53,7 @@ "success": { "topic": "TALK_AGREE_FOLLOW", "effect": "follow", "opinion": { "trust": 1, "value": 1 } }, "failure": { "topic": "TALK_DENY_FOLLOW", "effect": "deny_follow", "opinion": { "trust": -1, "fear": 1 } } }, - { "text": "We both go our separate ways. Enjoy your freedom.", "topic": "TALK_DONE" } + { "text": "We both go our separate ways. Enjoy your freedom.", "topic": "TALK_DONE" } ] }, { @@ -68,7 +68,7 @@ "failure": { "topic": "TALK_CYBORG_LEAVES" } }, { - "text": "For all you know, I did. I'm being nice for now. You'd better hope that it lasts.", + "text": "For all you know, I did. I'm being nice for now. You'd better hope that it lasts.", "trial": { "type": "INTIMIDATE", "difficulty": 20, "mod": [ [ "AGGRESSION", -2 ], [ "BRAVERY", -2 ] ] }, "success": { "topic": "TALK_CYBORG_FEARFUL", "opinion": { "trust": -4, "fear": 3, "value": -1, "anger": 4 } }, "failure": { "topic": "TALK_CYBORG_BREAKDOWN", "opinion": { "trust": -4, "value": -5, "anger": 10 } } @@ -94,7 +94,7 @@ "opinion": { "trust": -1, "fear": -2, "anger": -2 } }, { - "text": "No, *I'm* sorry, I didn't mean that. Go do what you want.", + "text": "No, *I'm* sorry, I didn't mean that. Go do what you want.", "trial": { "type": "PERSUADE", "difficulty": 10 }, "success": { "topic": "TALK_DONE", "opinion": { "trust": 1, "value": 1, "anger": -1 } }, "failure": { "topic": "TALK_CYBORG_BREAKDOWN", "opinion": { "trust": 4, "value": -5, "anger": 10 } } @@ -114,7 +114,7 @@ }, { "text": "Not if I kill you first!", "topic": "TALK_DONE", "effect": "hostile" }, { - "text": "I'm sorry! I shouldn't have said that!", + "text": "I'm sorry! I shouldn't have said that!", "trial": { "type": "PERSUADE", "difficulty": 30 }, "success": { "topic": "TALK_DONE", "opinion": { "trust": 1, "value": 1, "anger": -1 } }, "failure": { "topic": "TALK_DONE", "effect": "hostile" } diff --git a/data/json/npcs/TALK_FACTION_CAMP.json b/data/json/npcs/TALK_FACTION_CAMP.json index 6d8171c9277e7..ca3fca864c806 100644 --- a/data/json/npcs/TALK_FACTION_CAMP.json +++ b/data/json/npcs/TALK_FACTION_CAMP.json @@ -34,9 +34,31 @@ { "id": "TALK_CAMP_TUTORIAL_INTRO", "type": "talk_topic", - "dynamic_line": "The faction camp system is designed to give you greater control over your companions by allowing you to assign them to their own missions. These missions can range from gathering and crafting to eventual combat patrols.", + "dynamic_line": "The faction camp system allows you to use friendly NPCs to take over existing buildings or construct new buildings and use them to extend the usefulness of your allies. When you have a faction camp, you can order your companions to perform missions, such as crafting new items, building up the camp, hunting for food, or recruiting more allies. Faction camps also simplify some aspects of managing your companions.", "responses": [ - { "text": "Go on.", "topic": "TALK_CAMP_TUTORIAL_FOOD" }, + { "text": "Give me an overview of how camps work.", "topic": "TALK_CAMP_TUTORIAL_OVERVIEW" }, + { "text": "Tell me more about faction camps and food.", "topic": "TALK_CAMP_TUTORIAL_FOOD" }, + { "text": "Tell me more about camp missions.", "topic": "TALK_CAMP_TUTORIAL_MISSIONS" }, + { "text": "Tell me about building a camp.", "topic": "TALK_CAMP_TUTORIAL_BUILDING" }, + { "text": "Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, + { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, + { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, + { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, + { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, + { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } + ] + }, + { + "id": "TALK_CAMP_TUTORIAL_OVERVIEW", + "type": "talk_topic", + "dynamic_line": "Each faction camp starts with a bulletin board. You can 'e'xamine the bulletin board to get a list of available missions with descriptions, and to assign an NPC to work on a mission. The bulletin board is the primary way to access the camp.\n If both you and a companion have two-way radios, you can assign missions to the companion remotely by talking on the radio.\n When you ask a companion to start a camp, they'll build a bulletin board at the current location, and that will establish a faction camp at that overmap tile. A faction camp has a central tile where the bulletin board is, and possibly one or more expansions that are in adjacent tiles.\n All of your faction camps can be stocked with food, and your companions will eat from that food when performing camp missions, or even when they're just hungry and near the camp.\n Currently, faction camps can be created in fields, in fire stations, and in some evac shelters.", + "responses": [ + { "text": "Wait, we can talk with radios?", "topic": "TALK_ALLY_TUTORIAL_RADIO" }, + { "text": "Tell me more about faction camps and food.", "topic": "TALK_CAMP_TUTORIAL_FOOD" }, + { "text": "Tell me more about camp missions.", "topic": "TALK_CAMP_TUTORIAL_MISSIONS" }, + { "text": "Tell me about building a camp.", "topic": "TALK_CAMP_TUTORIAL_BUILDING" }, + { "text": "Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, + { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, @@ -46,49 +68,91 @@ { "id": "TALK_CAMP_TUTORIAL_FOOD", "type": "talk_topic", - "dynamic_line": "Food is required for or produced during every mission. Missions that are for a fixed amount of time will require you to pay in advance while repeating missions, like gathering firewood, are paid upon completion. Not having the food needed to pay a companion will result in a loss of reputation across the faction. Which can lead to VERY bad things if it gets too low.", + "dynamic_line": "Faction camps require food, but simplify managing your companions.\n When you activate a camp's bulletin board, you'll be required to make some zones if you haven't already. One of those zones must be a camp food zone. If you drop food in the camp food zone and select the 'Distribute Food' mission, then the food will disappear and be converted into stored kcalories.\n When you send companions out on camp missions, they'll eat from the stored food when they return at the rate of 2,500 kcalories per day. Some missions have variable length, and companions will become upset if there isn't enough food when they come back, so try to keep a healthy surplus of food on hand.\n Companions who aren't on camp missions, but who are following you, will also eat from the camp food stores whenever they're hungry and within 2 overmap tiles of the camp. This drastically simplifies keeping your followers fed, so it's worthwhile to build a minimal faction camp just for this feature.\n You can upgrade a camp to include a water well. If you do, your followers will also drink from the well when they're thirsty.", + "responses": [ + { "text": "Tell me more about camp missions.", "topic": "TALK_CAMP_TUTORIAL_MISSIONS" }, + { "text": "Tell me about building a camp.", "topic": "TALK_CAMP_TUTORIAL_BUILDING" }, + { "text": "Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, + { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, + { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, + { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, + { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, + { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } + ] + }, + { + "id": "TALK_CAMP_TUTORIAL_MISSIONS", + "type": "talk_topic", + "dynamic_line": "When you assign an NPC to a faction camp mission, they'll disappear while they go do whatever you want them to do. When the duration of the mission has elapsed, you'll see a new mission on the bulletin board to have them return and complete the mission by upgrading your camp, returning their hunting kills, dropping off whatever they were crafting, or whatever else the mission results are.\n There are all kinds of faction camp missions: building up the camp, recruiting new allies, hunting and trapping game, scrounging for materials, farming, disassembling cars, and more. Not all activities can be done at every camp - you may need to build some additional buildings, or expand the camp, to get access to some missions.\n Some faction camp missions can be duplicated by companion activities, but building up the camp can only be done via faction camp missions.\n You assign missions by interacting with the bulletin board. You'll see a list of available missions for your central camp tile. If your camp has expansions, you can tab through the expansions to see the available missions at each expansion.\n Remember, companions on camp missions need to be fed, and will become angry if they complete a mission but there isn't any food in the larder.\n There is one special mission called 'Emergency Recall'. You can use this to retrieve any companion on a faction camp mission, but this cancels the mission and wastes any resources used on it. Only use it to recover allies when something has gone really wrong with your camp and you can't get them to come back any ohter way.", + "responses": [ + { "text": "What do you mean by angry?", "topic": "TALK_ALLY_TUTORIAL_MUTINY" }, + { "text": "Tell me more about faction camps and food.", "topic": "TALK_CAMP_TUTORIAL_FOOD" }, + { "text": "Tell me about building a camp.", "topic": "TALK_CAMP_TUTORIAL_BUILDING" }, + { "text": "Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, + { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, + { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, + { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, + { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, + { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } + ] + }, + { + "id": "TALK_CAMP_TUTORIAL_BUILDING", + "type": "talk_topic", + "dynamic_line": "Currently, there are three types of camps that you can start building: modular field camps, fire station camps, and evac shelter camps. There used to be a fourth called the primitive field camp, but you can't start those anymore, only upgrade them.\n Modular field camps are the most flexible kind of camp since you can build them almost anywhere and can locate them to have plenty of space for expansions, but you start with nothing in a field and have to build every building, so they can require a lot of resources. Fire station and evac shelter camps are faster to build since you start in an existing building, but you have to establish them in an existing building and there may not be any space for expansions.\n Each camp location will have a variety of upgrade missions for it. The various missions have descriptions. In general, though, you'll need to establish housing if you want to expand, and some missions such as hunting or recruiting will require that you have some kind of kitchen or office that you can use to help schedule activities.", "responses": [ - { "text": "Go on.", "topic": "TALK_CAMP_TUTORIAL_CONTROL" }, + { "text": "Tell me about modular field camps.", "topic": "TALK_CAMP_TUTORIAL_MFC" }, + { "text": "Tell me about fire station camps.", "topic": "TALK_CAMP_TUTORIAL_FIRE_STATION" }, + { "text": "Tell me about evac shelter camps.", "topic": "TALK_CAMP_TUTORIAL_EVAC_SHELTER" }, + { "text": "Tell me about expansions.", "topic": "TALK_CAMP_TUTORIAL_EXPANSIONS" }, + { "text": "Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, + { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, - { "text": "Wait, repeat what you said.", "topic": "TALK_NONE" }, { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } ] }, { - "id": "TALK_CAMP_TUTORIAL_CONTROL", + "id": "TALK_CAMP_TUTORIAL_MFC", "type": "talk_topic", - "dynamic_line": "Each faction camp has a bulletin board associated with it. You can 'e'xamine the bulletin board to get a list of tasks that can be done and that are currently complete at the camp. You can select a task and choose an allied NPC to perform the task. \nThe task list shows tasks for the central camp. If you have expansions, you can hit 'TAB' to move between the central camp and each expansion and see the tasks for the expansions. \nIf you have a two way radio, you can use it to assign tasks remotely to any friendly NPC who also has a two way radio.", + "dynamic_line": "Modular field camps are the most flexible kind of camp, but they require a lot of time and resources to build. You start with an empty field - and it has to be a real empty field, not a field on a ranch or farm - and build up from nothing. You can build from wattle-and-dab if you're feeling primitive, wood panels if you have a lot of nails, metal plate if you're a welder, or tents if you're in a hurry.\n You start by building a lean-to and a bed in the northeast corner of the central camp, and then add a fire place, and expand out until you have a small shelter for two people. When that is complete, you can expand the camp in a variety of ways:\n 1. You can build up to 5 more rooms or shacks, 3 on each side of the camp.\n 2. You can build a central building in the south half of the camp, between the rooms. The central building will act as a command center, allowing your camp to perform hunting, recruiting, and combat patrol missions.\n 3. You can dig trenches on all sides of the camp, which can possibly connect to the rooms on the sides to minimize the amount of trenching you need to do.\n 4. You can build various small features such as root cellars to preserve food or a radio tower to make it easier to recruit more companions.\n Each new construction in a modular camp can be made from a different material, so you aren't constrained by what you start with. Tents are fast to put up, but fragile and likely to get destroyed by zombies. The central building has to be made from wattle-and-daub, wood, or metal, and requires more materials if the side rooms are made from tents.", "responses": [ - { "text": "Go on.", "topic": "TALK_CAMP_TUTORIAL_SETUP" }, + { "text": "Got it. Tell me about expansions.", "topic": "TALK_CAMP_TUTORIAL_EXPANSIONS" }, + { "text": "Can we review how camps work?", "topic": "TALK_CAMP_TUTORIAL_OVERVIEW" }, + { "text": "Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, + { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, - { "text": "Wait, repeat what you said.", "topic": "TALK_NONE" }, { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } ] }, { - "id": "TALK_CAMP_TUTORIAL_SETUP", + "id": "TALK_CAMP_TUTORIAL_FIRE_STATION", "type": "talk_topic", - "dynamic_line": "For your first camp, pick a site that has fields in the 8 adjacent tiles and lots of forests around it. Forests are your primary source of construction materials in the early game while fields can be used for farming. You don't have to be too picky, you can build as many camps as you want. You need a friendly NPC to perform tasks at the camp. \nAlthough you can build a camp from scratch in a field, you can also take over some other buildings. If you talk to a friendly NPC about faction camps and the NPC is standing in a building that can be used as a basecamp, you'll get the option to build a camp in that building.", + "dynamic_line": "Fire stations make good basecamps. You start with a brick building with secure metal doors, so you're not going to see your efforts destroyed by zombies. On the downside, there may not be many fields around, so you may not be able to expand much.\n Fire station camps are also very compact. There isn't much living space, but you can build a small pottery or blacksmithy, a chop shop in one of the garage bays, and even tear up some of the pavement to create a garden. The existing kitchen makes it easy to cook from the start, though you may need to spruce it up a bit.", "responses": [ - { "text": "Go on.", "topic": "TALK_CAMP_TUTORIAL_UPGRADES" }, + { "text": "Got it. Tell me about expansions.", "topic": "TALK_CAMP_TUTORIAL_EXPANSIONS" }, + { "text": "Can we review how camps work?", "topic": "TALK_CAMP_TUTORIAL_OVERVIEW" }, + { "text": "Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, + { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, - { "text": "Wait, repeat what you said.", "topic": "TALK_NONE" }, + { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } ] }, { - "id": "TALK_CAMP_TUTORIAL_UPGRADES", + "id": "TALK_CAMP_TUTORIAL_EVAC_SHELTER", "type": "talk_topic", - "dynamic_line": "After you pick a site you will need to find or make materials to upgrade the camp further to access new missions. The first new missions are focused on gathering materials to upgrade the camp so you don't have to. After two or three upgrades you will have access to the [Menial Labor] mission which will allow you to task companions with sorting all of the items around your camp into categories. Later upgrades allow you to send companions to recruit new members, build overmap fortifications, or even conduct combat patrols", + "dynamic_line": "You can build a faction camp in the common evac shelter - the basic design with a single, wide open room. Evac shelters are everywhere and often have fields surrounding them, so they're a little more flexible than a modular field camp but still make it easy to add expansions.\n Evac center camps can be built up in several ways. You basically need to decide between building more bedrooms or adding for crafting and cooking space.", "responses": [ - { "text": "Go on.", "topic": "TALK_CAMP_TUTORIAL_EXPANSIONS" }, + { "text": "Got it. Tell me about expansions.", "topic": "TALK_CAMP_TUTORIAL_EXPANSIONS" }, + { "text": "Can we review how camps work?", "topic": "TALK_CAMP_TUTORIAL_OVERVIEW" }, + { "text": "Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, + { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, - { "text": "Wait, repeat what you said.", "topic": "TALK_NONE" }, { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } @@ -97,10 +161,29 @@ { "id": "TALK_CAMP_TUTORIAL_EXPANSIONS", "type": "talk_topic", - "dynamic_line": "When you upgrade your first tent all the way you will unlock the ability to construct expansions. Expansions allow you to specialize each camp you build by focusing on the industries that you need. A [Farm] is recommended for players that want to pursue a large faction while a [Kitchen] is better for players that just want the quality of life improvement of having an NPC do all of their cooking. A [Garage] is useful for chop shop type missions that let you trade vehicles for large amounts of parts and resources. All those resources can be turning into valuable equipment in the [Blacksmith Shop]. You can build an additional expansion every other level after the first is unlocked and when one camp is full you can just as easily build another.", + "dynamic_line": "Each camp can have up to 8 expansions, one in each adjacent overmap tile. Expansions add to the capabilities of your camp, such as adding a farm field or a manufactory for crafting all kinds of things.\n You need two beds in a room in your central camp for each expansion, and currently, expansions can only be built in fields and have to be built up from scratch.\n Expansion missions show up in separate tabs in the bulletin board, one set of missions per location, and you'll need to hit 'tab' to see them. The currently available expansions are:\n -- Farm: This is a full tile of plowed fields that you can maintain or send companions on missions to maintain. Plants grow here normally.\n -- Garage: This is a large building. Companions can be sent on missions here to disassemble vehicles. Of course, you can also assign companions to disassemble vehicles without a garage, so this expansion is not very useful.\n -- Canteen: This is an expanded kitchen, dining area, and pantry.\n --Livestock Area: This is a modular set of buildings for holding livestock such as cows, horses, or chickens. Animals are not included!\n Saltworks Area: This is a small expansion for processing salt.\n Fabrication Workshop: This is a large expansion for doing all kinds of crafts. Companions can use some of the furniture in this expansion to craft some items much faster than you can do by yourself by hand.\n Central Storage Building: This is a large building for storing goods.", "responses": [ - { "text": "Thanks, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, - { "text": "Wait, repeat what you said.", "topic": "TALK_NONE" }, + { "text": "Got it. Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, + { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, + { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, + { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, + { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, + { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } + ] + }, + { + "id": "TALK_CAMP_TUTORIAL_ADVICE", + "type": "talk_topic", + "dynamic_line": "Starting a camp doesn't take much time, and you can use a faction camp to keep your companions fed without needing to regularly give them food, so it's a good idea to establish a minimal camp anywhere you intend to be for a while.\n How much you want to expand your camps is up to you. A modular field camp can be very resource intensive, but building one up allows you to send companions off to hunt and farm for you, so there's quite the pay-off. If nothing else, you should consider upgrading the northeast tent to the point where you can build a water well, or if you started with a fire station or evac shelter camp, you should build a water well as soon as you can.\n If you have access to a fire station or evac shelter, you may want to build your camp in them. Both of those camps are are very compact, but have much of the same functionality as an upgraded field camp without requiring so many resources.\n If you are adding expansions to your camp, consider starting with a farm or fabrication workshop. The farm makes it easy to grow your own food, while the fabrication workshop can allow you to craft some of the resources you need to upgrade your camp.\n The canteen, saltworks, livestock area, and storage area probably shouldn't be your first expansions, but they all have their uses.", + "responses": [ + { "text": "Give me an overview of how camps work.", "topic": "TALK_CAMP_TUTORIAL_OVERVIEW" }, + { "text": "Tell me about modular field camps.", "topic": "TALK_CAMP_TUTORIAL_MFC" }, + { "text": "Tell me about fire station camps.", "topic": "TALK_CAMP_TUTORIAL_FIRE_STATION" }, + { "text": "Tell me about evac shelter camps.", "topic": "TALK_CAMP_TUTORIAL_EVAC_SHELTER" }, + { "text": "Tell me about expansions.", "topic": "TALK_CAMP_TUTORIAL_EXPANSIONS" }, + { "text": "Give me some advice on building a camp.", "topic": "TALK_CAMP_TUTORIAL_ADVICE" }, + { "text": "I know the basics. Just tell me what changed.", "topic": "TALK_CAMP_TUTORIAL_CHANGES" }, + { "text": "Never mind, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, { "text": "Never mind, let's talk about other things you can do.", "topic": "TALK_ALLY_TUTORIAL" }, { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } @@ -111,7 +194,14 @@ "type": "talk_topic", "dynamic_line": "\n1. Faction camps used to require a second NPC to act as overseer and camp manager, but that's been replaced by the bulletin board and two-way radio.\n2. It used to be impossible to upgrade faction camps if there was a vehicle, even a cart, on the same map. You can now upgrade camps even if there is a vehicle on the map, as long as the upgrade doesn't change the area under the vehicle.\n3. Faction camps used to upgrade by completely redrawing the map. Damage to the camp would be replaced when the camp was upgraded. Now upgrades only change the actual area being upgraded, and you will have to repair damage to the camp yourself.\n4. There used to be a single path for upgrading the main camp. Now, after you have completed the first tent, you will have many options for your next upgrade, and you can have different companions working on different upgrades of the main camp at the same time.\n5. Friendly NPCs who are near a camp will feed themselves from the camp's food stores, and if the camp has a well, they'll use it to quench their thirst.\n6. You can now set up faction camps in select buildings. The list of available buildings is constantly growing, so you'll have to experiment.", "responses": [ - { "text": "Thanks, let's go back to talking about camps.", "topic": "TALK_NONE" }, + { "text": "Wait, let's go back over from the start.", "topic": "TALK_CAMP_TUTORIAL_INTRO" }, + { "text": "Give me an overview of how camps work.", "topic": "TALK_CAMP_TUTORIAL_OVERVIEW" }, + { "text": "Tell me more about faction camps and food.", "topic": "TALK_CAMP_TUTORIAL_FOOD" }, + { "text": "Tell me about modular field camps.", "topic": "TALK_CAMP_TUTORIAL_MFC" }, + { "text": "Tell me about fire station camps.", "topic": "TALK_CAMP_TUTORIAL_FIRE_STATION" }, + { "text": "Tell me about evac shelter camps.", "topic": "TALK_CAMP_TUTORIAL_EVAC_SHELTER" }, + { "text": "Tell me about expansions.", "topic": "TALK_CAMP_TUTORIAL_EXPANSIONS" }, + { "text": "Thanks, let's go back to talking about camps.", "topic": "TALK_CAMP_GENERAL" }, { "text": "Never mind, let's talk about something else.", "topic": "TALK_FRIEND" }, { "text": "Forget it. Let's go.", "topic": "TALK_DONE" } ] diff --git a/data/json/npcs/TALK_MARLOSS_VOICE.json b/data/json/npcs/TALK_MARLOSS_VOICE.json index 07961e70390d5..f27f620e9820e 100644 --- a/data/json/npcs/TALK_MARLOSS_VOICE.json +++ b/data/json/npcs/TALK_MARLOSS_VOICE.json @@ -44,8 +44,8 @@ "dynamic_line": "Dangerous? It may look different, but this land cares and provides for us. We are celebrating with a feast, in fact. Do you care to join us?", "responses": [ { "text": "Well, sure.", "topic": "TALK_MARLOSS_VOICE_OFFER_BERRY" }, - { "text": "I'd... rather not.", "topic": "TALK_MARLOSS_VOICE" }, - { "text": "I'm sorry... I have places to be.", "topic": "TALK_DONE" } + { "text": "I'd… rather not.", "topic": "TALK_MARLOSS_VOICE" }, + { "text": "I'm sorry… I have places to be.", "topic": "TALK_DONE" } ] }, { @@ -71,7 +71,7 @@ "type": "talk_topic", "id": "TALK_MARLOSS_VOICE_WITH_US", "dynamic_line": "Oh, but you already have.", - "responses": [ { "text": "Yes... yes I have.", "topic": "TALK_DONE" } ] + "responses": [ { "text": "Yes… yes I have.", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", diff --git a/data/json/npcs/TALK_SURVIVOR_CHEF.json b/data/json/npcs/TALK_SURVIVOR_CHEF.json index 2182096f8236b..0468087a639ac 100644 --- a/data/json/npcs/TALK_SURVIVOR_CHEF.json +++ b/data/json/npcs/TALK_SURVIVOR_CHEF.json @@ -49,7 +49,7 @@ "id": "TALK_NC_SURVIVOR_CHEF_STORY2", "dynamic_line": "Some lunatic covered in a film of goo, black as oil, had fallen through one of the large glass windows. There were glass shards stuck in its head and neck. I thought the poor guy, girl-thing-whatever was dead. People began to crowd around it, some were taking pictures.", "responses": [ - { "text": "Horrible. Did you get any pictures yourself?", "topic": "TALK_NC_SURVIVOR_CHEF_STORY3" }, + { "text": "Horrible. Did you get any pictures yourself?", "topic": "TALK_NC_SURVIVOR_CHEF_STORY3" }, { "text": "What did you do before the cataclysm?", "topic": "TALK_NC_SURVIVOR_CHEF_EXPERTISE" }, { "text": "Let's trade items.", "topic": "TALK_NONE", "effect": "start_trade" }, { "text": "I'm sorry, I gotta go.", "topic": "TALK_DONE" } diff --git a/data/json/npcs/TALK_TEST.json b/data/json/npcs/TALK_TEST.json index 92f60c2425ee6..b9fb8c832f221 100644 --- a/data/json/npcs/TALK_TEST.json +++ b/data/json/npcs/TALK_TEST.json @@ -172,7 +172,11 @@ "responses": [ { "text": "This is a basic test response.", "topic": "TALK_DONE" }, { "text": "This is a npc allies 1 test response.", "topic": "TALK_DONE", "condition": { "npc_allies": 1 } }, - { "text": "This an error! npc allies 2 test response.", "topic": "TALK_DONE", "condition": { "npc_allies": 2 } } + { + "text": "This an error! npc allies 2 test response.", + "topic": "TALK_DONE", + "condition": { "npc_allies": 2 } + } ] }, { @@ -524,7 +528,7 @@ "condition": { "u_has_items": { "item": "beer", "count": 2 } } }, { - "text": "Test failure! This is a u_has_items test response.", + "text": "Test failure! This is a u_has_items test response.", "topic": "TALK_DONE", "condition": { "u_has_items": { "item": "bottle_glass", "count": 2 } } }, @@ -539,7 +543,7 @@ "condition": { "u_has_item_category": "books", "count": 2 } }, { - "text": "Failure! This is a u_has_item_category books count 3 test response.", + "text": "Failure! This is a u_has_item_category books count 3 test response.", "topic": "TALK_DONE", "condition": { "u_has_item_category": "books", "count": 3 } } @@ -701,7 +705,7 @@ "condition": { "u_has_bionics": "bio_ads" } }, { - "text": "Failure! This is a npc_has_bionics bio_ads test response.", + "text": "Failure! This is a npc_has_bionics bio_ads test response.", "topic": "TALK_DONE", "condition": { "npc_has_bionics": "bio_ads" } }, diff --git a/data/json/npcs/TALK_TRUE_FOODPERSON.json b/data/json/npcs/TALK_TRUE_FOODPERSON.json index f91bd171d4325..947dc1aef9fb9 100644 --- a/data/json/npcs/TALK_TRUE_FOODPERSON.json +++ b/data/json/npcs/TALK_TRUE_FOODPERSON.json @@ -80,7 +80,7 @@ } ] }, - "text": "Greetings... Foodperson?", + "text": "Greetings… Foodperson?", "topic": "TALK_FOODPERSON_INTRODUCTION" }, { @@ -153,7 +153,7 @@ "success": { "topic": "TALK_FOODPERSON_MAIN", "opinion": { "trust": 2, "value": 2 } }, "failure": { "topic": "TALK_FOODPERSON_VEXED", "opinion": { "trust": -5, "value": -5 } } }, - { "text": "Ah... Well, nice to meet you Foodperson.", "topic": "TALK_FOODPERSON_MAIN" } + { "text": "Ah… Well, nice to meet you Foodperson.", "topic": "TALK_FOODPERSON_MAIN" } ] }, { @@ -162,7 +162,7 @@ "dynamic_line": "Do not mock me, for my strength is quite real! Get out of here now!", "responses": [ { "text": "Sheesh, ok, calm down, I'm leaving!", "topic": "TALK_DONE" }, - { "text": "Forgive me, I didn't mean to disrespect you.", "topic": "TALK_FOODPERSON_MAIN" }, + { "text": "Forgive me, I didn't mean to disrespect you.", "topic": "TALK_FOODPERSON_MAIN" }, { "text": "Oh yeah? Show me what you can do!", "topic": "TALK_DONE", "effect": "hostile" } ] }, @@ -172,7 +172,7 @@ "dynamic_line": "A common mistake, but I can assure you that I'm very real!", "responses": [ { "text": "Sure, whatever.", "topic": "TALK_DONE" }, - { "text": "Ok... I believe you.", "topic": "TALK_FOODPERSON_MAIN" } + { "text": "Ok… I believe you.", "topic": "TALK_FOODPERSON_MAIN" } ] }, { @@ -397,7 +397,7 @@ "type": "talk_topic", "dynamic_line": "Alright let's see what you've got.", "speaker_effect": { "effect": { "npc_add_var": "npc_succes_trade", "type": "dialogue", "context": "foodperson", "value": "yes" } }, - "responses": [ { "text": "...", "topic": "TALK_DONE", "effect": "start_trade" } ] + "responses": [ { "text": "…", "topic": "TALK_DONE", "effect": "start_trade" } ] }, { "id": "TALK_FOODPERSON_NOTRAINING", @@ -411,7 +411,7 @@ "type": "talk_topic", "dynamic_line": "I can teach you a few tricks.", "speaker_effect": { "effect": { "npc_add_var": "npc_succes_training", "type": "dialogue", "context": "foodperson", "value": "yes" } }, - "responses": [ { "text": "...", "topic": "TALK_TRAIN" }, { "text": "Nevermind.", "topic": "TALK_DONE" } ] + "responses": [ { "text": "…", "topic": "TALK_TRAIN" }, { "text": "Nevermind.", "topic": "TALK_DONE" } ] }, { "id": "TALK_FOODPERSON_NOSHELTER", @@ -441,13 +441,13 @@ "speaker_effect": { "effect": { "npc_add_var": "npc_sidekick_offer", "type": "dialogue", "context": "foodperson", "value": "yes" } }, "responses": [ { "condition": { "not": "has_assigned_mission" }, "text": "That sounds great!", "topic": "TALK_MISSION_LIST" }, - { "condition": { "not": "has_assigned_mission" }, "text": "Ok...", "topic": "TALK_MISSION_LIST" }, + { "condition": { "not": "has_assigned_mission" }, "text": "Ok…", "topic": "TALK_MISSION_LIST" }, { "condition": { "not": "has_assigned_mission" }, "text": "I need to think about it.", "topic": "TALK_FOODPERSON_MAIN" }, - { "condition": { "not": "has_assigned_mission" }, "text": "Huh... No thanks.", "topic": "TALK_DONE" }, + { "condition": { "not": "has_assigned_mission" }, "text": "Huh… No thanks.", "topic": "TALK_DONE" }, { "condition": "has_assigned_mission", "text": "There's other things I'd like to discuss.", @@ -462,7 +462,7 @@ "dynamic_line": "The way you talk, the way you move... You're... You're me? But how?", "responses": [ { - "text": "I... I don't know. It probably has something to do with ! What do you say we team up to find out?", + "text": "I… I don't know. It probably has something to do with ! What do you say we team up to find out?", "effect": { "npc_add_var": "foodperson_meeting_solved", "type": "dialogue", "context": "foodperson", "value": "yes" }, "topic": "TALK_FOODPERSON_TEAMUP" }, @@ -531,7 +531,7 @@ { "text": "I AM THE ONE!", "topic": "TALK_DONE", "effect": "hostile", "opinion": { "trust": -20, "value": -20 } }, { "condition": { "not": { "u_has_trait": "PROF_FOODP" } }, - "text": "Wow calm down, it's just a prank bro.", + "text": "Wow calm down, it's just a prank bro.", "topic": "TALK_DONE", "opinion": { "trust": -20, "value": -20 } }, diff --git a/data/json/npcs/classes.json b/data/json/npcs/classes.json index 229f5c90c72ae..275401f058bca 100644 --- a/data/json/npcs/classes.json +++ b/data/json/npcs/classes.json @@ -141,7 +141,7 @@ "type": "npc_class", "id": "NC_SCIENTIST", "name": "Scientist", - "job_description": "I'm looking for clues concerning these monsters' origins...", + "job_description": "I'm looking for clues concerning these monsters' origins…", "traits": [ { "group": "BG_survival_story_LAB" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ], "bonus_str": { "rng": [ -1, -3 ] }, "bonus_dex": { "rng": [ -1, 0 ] }, @@ -334,7 +334,7 @@ "type": "npc_class", "id": "NC_HALLU", "name": "Real Person", - "job_description": "I'm just wandering, like a totally real and normal NP... Person!", + "job_description": "I'm just wandering, like a totally real and normal NP… Person!", "traits": [ { "group": "BG_survival_story_UNIVERSAL" }, { "group": "NPC_starting_traits" }, [ "HALLUCINATION", 100 ] ], "common": false, "skills": [ @@ -362,7 +362,7 @@ "type": "npc_class", "id": "NC_TRUE_FOODPERSON", "name": "Foodperson", - "job_description": "I AM FOODPERSON. AND I BRING SUSTENANCE!", + "job_description": "I AM FOODPERSON. AND I BRING SUSTENANCE!", "traits": [ { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" }, [ "PROF_FOODP", 100 ] ], "common": false, "worn_override": "NC_TRUE_FOODPERSON_worn", @@ -379,7 +379,7 @@ "type": "npc_class", "id": "NC_CYBORG", "name": "Cyborg", - "job_description": "Zzzzzt... I...I'm a Cy...BEEEEEP...borg.", + "job_description": "Zzzzzt… I… I'm a Cy… BEEEEEP… borg.", "traits": [ { "group": "BG_survival_story_CYBORG" }, { "group": "NPC_starting_traits" }, { "group": "Appearance_demographics" } ], "skills": [ { "skill": "ALL", "level": { "mul": [ { "one_in": 3 }, { "sum": [ { "dice": [ 4, 2 ] }, { "rng": [ -4, -1 ] } ] } ] } } diff --git a/data/json/npcs/destination_locations.json b/data/json/npcs/destination_locations.json index f9218d44ec97e..a3ff6c846ad53 100644 --- a/data/json/npcs/destination_locations.json +++ b/data/json/npcs/destination_locations.json @@ -2,84 +2,126 @@ { "type": "overmap_location", "id": "source_of_anything", - "terrains": [ - "house", - "s_gas", - "s_pharm", - "s_hardware", - "s_sports", - "s_liquor", - "s_gun", - "s_library", - "megastore_entrance", - "fire_station", - "mil_surplus", - "mansion_entry" - ] + "flags": [ "GENERIC_LOOT" ] }, { "type": "overmap_location", "id": "source_of_ammo", - "terrains": [ "house", "s_gun", "mil_surplus", "mansion_entry" ] + "flags": [ "SOURCE_AMMO" ] }, { "type": "overmap_location", - "id": "source_of_gun", - "terrains": [ "s_gun", "pawn", "hdwr_large_entrance", "mansion_entry" ] + "id": "source_of_guns", + "flags": [ "SOURCE_GUN" ] }, { "type": "overmap_location", - "id": "source_of_weapon", - "terrains": [ "s_gun", "s_sports", "s_hardware", "megastore_entrance", "hdwr_large_entrance", "fire_station", "mansion_entry" ] + "id": "source_of_weapons", + "flags": [ "SOURCE_WEAPON", "SOURCE_GUN" ] }, { "type": "overmap_location", "id": "source_of_drink", - "terrains": [ - "s_gas", - "s_pharm", - "s_pharm_1", - "s_restaurant", - "s_restaurant_1", - "s_restaurant_2", - "s_restaurant_3", - "s_restaurant_coffee", - "s_restaurant_coffee_1", - "s_restaurant_coffee_2", - "s_teashop", - "s_teashop_1", - "bar", - "bar_1", - "s_liquor", - "s_grocery", - "megastore_entrance", - "mansion_entry" - ] + "flags": [ "SOURCE_DRINK" ] }, { "type": "overmap_location", "id": "source_of_food", - "terrains": [ - "s_grocery", - "farm_1", - "2farm_1", - "dairy_farm_NW", - "sugar_house", - "orchard_stall", - "s_restaurant", - "s_restaurant_1", - "s_restaurant_2", - "s_restaurant_3", - "s_restaurant_fast", - "s_restaurant_fast_1", - "s_butcher", - "s_butcher_1", - "s_butcher_2", - "s_pizza_parlor", - "s_pizza_parlor_1", - "megastore_entrance", - "bakery", - "mansion_entry" - ] + "flags": [ "SOURCE_FOOD" ] + }, + { + "type": "overmap_location", + "id": "source_of_fuel", + "flags": [ "SOURCE_FUEL" ] + }, + { + "type": "overmap_location", + "id": "source_of_farming", + "flags": [ "SOURCE_FARMING" ] + }, + { + "type": "overmap_location", + "id": "source_of_fabricaton", + "flags": [ "SOURCE_FABRICATION" ] + }, + { + "type": "overmap_location", + "id": "source_of_books", + "flags": [ "SOURCE_BOOKS" ] + }, + { + "type": "overmap_location", + "id": "source_of_forage", + "flags": [ "SOURCE_FORAGE" ] + }, + { + "type": "overmap_location", + "id": "source_of_cooking", + "flags": [ "SOURCE_COOKING" ] + }, + { + "type": "overmap_location", + "id": "source_of_tailoring", + "flags": [ "SOURCE_TAILORING" ] + }, + { + "type": "overmap_location", + "id": "source_of_vehicles", + "flags": [ "SOURCE_VEHICLES" ] + }, + { + "type": "overmap_location", + "id": "source_of_electronics", + "flags": [ "SOURCE_ELECTRONICS" ] + }, + { + "type": "overmap_location", + "id": "source_of_construction", + "flags": [ "SOURCE_CONSTRUCTION" ] + }, + { + "type": "overmap_location", + "id": "source_of_chemistry", + "flags": [ "SOURCE_CHEMISTRY" ] + }, + { + "type": "overmap_location", + "id": "source_of_clothing", + "flags": [ "SOURCE_CLOTHING" ] + }, + { + "type": "overmap_location", + "id": "source_of_safety", + "flags": [ "SOURCE_SAFETY" ] + }, + { + "type": "overmap_location", + "id": "source_of_animals", + "flags": [ "SOURCE_ANIMALS" ] + }, + { + "type": "overmap_location", + "id": "source_of_medicine", + "flags": [ "SOURCE_MEDICINE" ] + }, + { + "type": "overmap_location", + "id": "source_of_luxuries", + "flags": [ "SOURCE_LUXURY" ] + }, + { + "type": "overmap_location", + "id": "source_of_people", + "flags": [ "SOURCE_PEOPLE" ] + }, + { + "type": "overmap_location", + "id": "risk_high", + "flags": [ "RISK_HIGH" ] + }, + { + "type": "overmap_location", + "id": "risk_low", + "flags": [ "RISK_LOW" ] } ] diff --git a/data/json/npcs/epilogues.json b/data/json/npcs/epilogues.json index 2f7039991d345..df79c05640e59 100644 --- a/data/json/npcs/epilogues.json +++ b/data/json/npcs/epilogues.json @@ -156,6 +156,174 @@ "id": "npc_male_27", "text": " Was detained and handcuffed by a police robot on multiple counts of looting and vandalism that were tracked and recorded by the few remaining security systems. While being held on the ground awaiting additional police response units he was torn to pieces by the undead that were attracted by the commotion." }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_28", + "text": " Became a hunter after your death, living alone in the woods. Traced back to his cabin, he was murdered and devoured in his sleep by an actual cannibal." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_29", + "text": " Survived for many years, and became a renowned scavenger, eventually setting up a small shop in a Free Merchant outpost. Survived by two sons, he died after a rare artifact poisoned his blood with acid." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_30", + "text": " He wandered and scavenged the land for years after your death, eventually becoming a skilled mechanic. Employed by the Free Merchants, he lived a comfortable, if rather uneventful life, dying of cancer, a rare luxury these days." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_31", + "text": " Became truly depressed after your death and hid in the woods. If rumors are to be believed, he spent years living as a deranged hermit in a distant cave, worshiping stones and sacrificing dogs." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_32", + "text": " After your death, he became obsessed with preserving old knowledge and eventually became known as 'the lorekeeper'. Hired by the Old Guard as a librarian, he spent his life amongst dusty old books, trying to convince others of their value. He even changed his name to Frederic Bastiat, in honor of an old French philosopher." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_33", + "text": " He found faith after your death, eventually joining an Anglican community and becoming a Vicar. The crucifix provided him with a sense of meaning, before dying horribly at the hands of raiders. He was still praying when they roasted him alive." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_34", + "text": " Lost and damned, he joined a bloody cult after your death, kidnapping and sacrificing young women. His entire group was killed after being discovered by the Old Guard. His head was put on a spike as a reminder that cultists will not be tolerated." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_35", + "text": " He did not survive for long after your death. Electrocuted in an old cellar, he kept screaming your name. His body was never found." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_36", + "text": " Survived you by just a few days, he drowned trying to escape from a horde." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_37", + "text": " He wandered alone for days, before finding a Free Merchant outpost. He spent a few years as a caravan guard, often drinking himself half blind and enjoying any woman he could find. Booze made his grip unsteady and he was eventually fired. He died of alcohol poisoning the same day." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_38", + "text": " Obsessed with the idea of settling down, he eventually found love and retired to a farm in the middle of nowhere. Relatively safe from the monsters, he thrived for years. Survived by seven sons and two daughters." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_39", + "text": " Became famous in the wastes after finding an old brewery and copying their recipe. His chilled beer, a known delicacy, is traded far and wide by the Free Merchants." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_40", + "text": " Found a whole cellar of single malt whisky. Drank himself to death." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_41", + "text": " Depressed after your death, he would hang himself after just a few days." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_42", + "text": " Wandered for months, before finding a small community that would accept him. Became a farmer and spent the rest of his uneventful life tending to crops, glad that he was no longer alone." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_43", + "text": " Obsessed with finding 'the Cure', he died a few weeks later in an old lab, torn to shreds by a security turret." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_44", + "text": " Became a runner for the Refugee Center and died after a few months." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_45", + "text": " Joined a raider gang and died in a firefight a few weeks later, trying to rob a Free Merchant caravan." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_46", + "text": " Traveled north, he eventually found an intact baseball field and built a prosperous farming community there." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_47", + "text": " He spent the rest of his short life looking for a new fix. Died of an overdose in an abandoned basement." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_48", + "text": " Traveled south and joined a small fishing village. Died a few years later in a raider attack, alongside his young son." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_49", + "text": " Thoroughly terrified by your death, he retired to an old LMOE shelter, vowing never to leave. He died of starvation inside." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_50", + "text": " He became a very prosperous game hunter, trading meat and furs, and providing many settlements with food in exchange for booze and male company. He died years later of an STD." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_51", + "text": " Retired to the woods, he spent the rest of his life fishing and hunting in a desolate cabin, rarely interacting with anyone else." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_52", + "text": " Died en route to California, deliriously dreaming of a better life as he was slowly devoured by spiders." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_53", + "text": " He tried to cope with loneliness after your death, but failed. He was blind drunk when a group of zombies found his hideout and didn't stand a chance." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_54", + "text": " He didn't survive for long, waking up to a horde of zombies. They smashed through his fortified windows in a pinch and only the last bullet prevented him from being devoured alive." + }, + { + "type": "epilogue", + "group": "male", + "id": "npc_male_55", + "text": " He got sick soon after your death, and died without any medical help. His last words were 'Why did I live long enough to suffer like that?'" + }, { "type": "epilogue", "group": "female", @@ -311,5 +479,155 @@ "group": "female", "id": "npc_female_26", "text": " Was detained and incarcerated by a police robot on multiple counts of looting and vandalism that were tracked and recorded by the few remaining security systems. Trapped in a cell awaiting police review, she spent weeks crying out for help and slowly consuming what supplies she carried. Two weeks after being dragged to her cell she died from dehydration." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_27", + "text": " Shot by the Old Guard a few weeks later, hunted down after she robbed an important caravan." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_28", + "text": " Traveled north, she eventually found a quiet community there and spent the rest of her life farming. She's survived by four daughters." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_29", + "text": " She became a runner for the Old Guard and was eventually permitted to join. She spent the rest of her life hunting raiders. She died in a skirmish after a few years, sacrificing her life to let her unit retreat. Her name is venerated in songs and inscriptions." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_30", + "text": " Shortly after your death she joined the Free Merchants, becoming a caravan guard and after a few months became the new liaison in the Refugee Center. She died a few years later of a mysterious illness." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_31", + "text": " She was found half-dead by the Old Guard who took her in. She became a famous scavenger, known for finding an intact stash of experimental antibiotics." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_32", + "text": " She retired to the forest, where she built her own cabin and spending the rest of her life fishing." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_33", + "text": " Captured by raiders, she spent the rest of her miserable life as a slave. Hopeless, she slit her wrists with a rusty knife." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_34", + "text": " Depressed, she joined a protestant community and became a paragon of virtue. Devoting her life to bible study, she spent the rest of her life in relative peace." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_35", + "text": " Killed and devoured by a cannibal just a few days after your death, hardly anyone remembers her name." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_36", + "text": " Became a renowned merchant after your death, she built her own outpost in the west. An avid book collector, she established a great library to keep the flame of knowledge burning." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_37", + "text": " Traveled around for months before finding an old farm. She spent a few years tending to her crops and living the life of a hermit before being killed by raiders for fun." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_38", + "text": " Traveled south and joined a settlement there. She became a renowned engineer, building the largest steam engine in New England." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_39", + "text": " Joined a gang after your death, she spent months preying on the innocent, before dying in a dispute with a fellow brute." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_40", + "text": " Devoured alive by a group of zombies, she kept thinking of you as she died." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_41", + "text": " She found an abandoned APC and spent years traveling around and collecting personal stories. She wrote one of the few post-apocalyptic books, detailing the life after the end." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_42", + "text": " Kept wandering for years. Her life was cut short when a group of raiders used her as a target practice." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_43", + "text": " She became a skilled game hunter and one of the best shots in the wasteland. Years later she joined the Old Guard and was given the position of Marshal." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_44", + "text": " Desperate to save humanity from extinction, she organized her own group of survivors, whose job was to hunt bandits and decorate roads with their mutilated bodies. She died in a skirmish a few months later." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_45", + "text": " She became an arsonist, and was incinerated a few weeks later in a fire she set." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_46", + "text": " She kept wandering for a few weeks but eventually died after drinking untreated water." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_47", + "text": " She wandered north and joined a local community there. She became known for her trapping skills and ensured that the locals always had fresh meat on their tables." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_48", + "text": " She joined the Free Merchants and led their first caravan to Canada. She died a few years later of dysentery." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_49", + "text": " She built a boat and sailed east towards Europe, hoping that it was not affected by the apocalypse. She was never heard from again." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_50", + "text": " She led a doomsday cult for a few years, she was sacrificed to their gods after a particularly terrible harvest." + }, + { + "type": "epilogue", + "group": "female", + "id": "npc_female_51", + "text": " Became obsessed with chems, and died of an overdose a few months after your death." } ] diff --git a/data/json/npcs/factions.json b/data/json/npcs/factions.json index 671d0c785c96d..b89389a8a3ad4 100644 --- a/data/json/npcs/factions.json +++ b/data/json/npcs/factions.json @@ -482,14 +482,80 @@ { "type": "faction", "id": "gods_community", - "name": "God's Community", - "likes_u": 35, - "respects_u": 35, + "name": "New England Church Community", + "likes_u": 30, + "respects_u": 20, "known_by_u": false, - "size": 20, - "power": 50, - "food_supply": 20000, - "wealth": 10000, + "size": 25, + "power": 20, + "currency": "icon", + "food_supply": 87500, + "wealth": 82500, + "relations": { + "free_merchants": { + "kill on sight": false, + "watch your back": true, + "share my stuff": true, + "guard your stuff": true, + "lets you in": true, + "defends your space": true, + "knows your voice": true + }, + "old_guard": { + "kill on sight": false, + "watch your back": false, + "share my stuff": false, + "guard your stuff": false, + "lets you in": false, + "defends your space": false, + "knows your voice": false + }, + "tacoma_commune": { + "kill on sight": false, + "watch your back": true, + "share my stuff": true, + "guard your stuff": true, + "lets you in": true, + "defends your space": true + }, + "lobby_beggars": { + "kill on sight": false, + "watch your back": false, + "share my stuff": false, + "guard your stuff": true, + "lets you in": true, + "defends your space": false + }, + "no_faction": { + "kill on sight": false, + "watch your back": false, + "share my stuff": false, + "guard your stuff": false, + "lets you in": true, + "defends your space": false, + "knows your voice": true + }, + "wasteland_scavengers": { + "kill on sight": false, + "watch your back": true, + "share my stuff": false, + "guard your stuff": true, + "lets you in": true, + "defends your space": false, + "knows your voice": true + }, + "isherwood_family": { + "kill on sight": false, + "watch your back": true, + "share my stuff": false, + "guard your stuff": true, + "lets you in": true, + "defends your space": true, + "knows your voice": true + }, + "hells_raiders": { "kill on sight": true }, + "marloss": { "kill on sight": true } + }, "description": "A small group of churchgoers that formed a community in the woods. They welcome anyone in their faction, but hate the unnatural." } ] diff --git a/data/json/npcs/hints.json b/data/json/npcs/hints.json index 6ea97e520122a..9960032426e53 100644 --- a/data/json/npcs/hints.json +++ b/data/json/npcs/hints.json @@ -11,34 +11,34 @@ "Those acid-spitting zombies are pretty nasty, but if you're smart, you can get other zombies to wade through the acid.", "If there's a pool of acid blocking your way, trying tossing a junk item into it. Eating up items will help neutralize the acid faster.", "Rubber boots aren't as tough as combat boots and you don't run very fast in them. But I've seen zombies vomiting puddles of acid, and I'd hate to have my feet melt off, so I'd consider having a pair of those.", - "There's this type of zombie that can shoot bolts of lightning! Stay away from walls and stuff when they do... the electricity can travel along solid surfaces.", + "There's this type of zombie that can shoot bolts of lightning! Stay away from walls and stuff when they do… the electricity can travel along solid surfaces.", "Zombie hulks are NASTY, but they're easy to outsmart. If there's other monsters between you and them, they'll kill the monster for you!", "If you run into a zombie hulk, it's probably a good idea to run. They're fast as hell, but pretty dumb; they'll try to smash through obstacles rather than going around, and that slows them down a lot.", "Zombie brutes and hulks have really tough hide, but skeletal juggernauts with their bone plates are the worst. Don't bother shooting at them with lower-caliber guns, the bullet will bounce right off!", "Try not to kill a boomer if it's standing right next to you. They tend to explode when they die, and that pink goop will get all over you.", "Skeletons are a tough target for a gun. They're so skinny and full of holes that it's hard to make a good hit. And those big ones are hard as nails too.", "Small skeletons are too delicate to smash through doors or windows. Big ones can walk in through a wall. At least they can't smell you, unlike zombies, so if you turn your light off at night you can sneak right past.", - "Don't try to take on a skeleton with a bladed weapon... you'll just leave scratch marks. You've got to shatter those bones with a hammer or something.", + "Don't try to take on a skeleton with a bladed weapon… you'll just leave scratch marks. You've got to shatter those bones with a hammer or something.", "It's a good idea to butcher corpses if you have the time. I've seen these weird zombies bring their friends back from the dead!", - "I have a buddy who was sleeping in this cabin way out in the woods, when he suddenly woke up to trees and vines growing right up through the floor and walls! He said it was some kind of huge tree beast...", - "Oh man, have you gone down into the old subway systems? I'd be careful... there's these things down there that are like zombies, but tougher.", + "I have a buddy who was sleeping in this cabin way out in the woods, when he suddenly woke up to trees and vines growing right up through the floor and walls! He said it was some kind of huge tree beast…", + "Oh man, have you gone down into the old subway systems? I'd be careful… there's these things down there that are like zombies, but tougher.", "There's snakes down in most of the old sewer systems. They're slow on land, but boy, those suckers can swim fast!", "If you're planning on wandering around the sewers--not that you'd have a reason too--watch out for those fish. Those suckers are fast, and vicious too!", - "Have you seen those eyebots flying around? It's hard to say, but some faction's controlling them--maybe the military. All I know is, I don't want them taking my picture...", + "Have you seen those eyebots flying around? It's hard to say, but some faction's controlling them--maybe the military. All I know is, I don't want them taking my picture…", "Ever go toe-to-toe with a manhack? Tiny little helicopters covered in knives. Best be packing a shotgun!", - "They're rare, but molebots are nasty things. They bore through the ground, then pop up to stab ya. Still, you're safe from them if you stay on pavement...", + "They're rare, but molebots are nasty things. They bore through the ground, then pop up to stab ya. Still, you're safe from them if you stay on pavement…", "Don't fire your gun if you can help it - the noise attracts monsters. If you could get a silencer, or make one, it would give you some advantage.", "Standing behind a window is a good tactic. It takes zombies a long time to crawl through, giving you lots of opportunities to hit them.", - "Zombies are pretty dumb... heck, most monsters are! If you can get a fire going between you and them, they'll just run straight through it.", + "Zombies are pretty dumb… heck, most monsters are! If you can get a fire going between you and them, they'll just run straight through it.", "I know it's tempting to just go full-auto and unload as many bullets as possible, but don't except as a last resort. It's inaccurate and wastes ammo.", "If there's a bunch of zombies in a straight line, try unloading a burst from your gun. Be sure to aim at the zombie furthest away; you'll hit more of them that way.", "If you shoot a zombie, but don't quite kill it, try to finish it off with a punch or something instead of wasting a bullet.", "If you're in a corridor or something, and there's a bunch of zombies chasing you down it, try to wound the guy in front badly. He'll start moving slow and cause a serious traffic jam!", "Here's a trick for taking care of a huge swarm of zombies chasing you: head into a liquor store, shoot out as many bottles as you can, then light the alcohol on fire. Then duck out the back door, and watch the zombies run into a burning building!", "Sledge hammers may seem like a great weapon, but swinging them is really slow, and you won't do much damage unless you're really strong.", - "For a good melee weapon, you can't beat a machete. I've seen a guy take down a zombie brute with one! Of course, if you can find a katana, that might be even better...", - "A knife spear makes a good weapon in a pinch, but a spike strapped to a stick isn't the sturdiest construction. At least you can strap the spike back on when it comes off.", - "You know, a glass bottle can make a good weapon in a pinch. If you break it over someone's head, the shattering glass will hurt them extra. Of course, it might hurt your hands, too...", + "For a good melee weapon, you can't beat a machete. I've seen a guy take down a zombie brute with one! Of course, if you can find a katana, that might be even better…", + "A knife spear makes a good weapon in a pinch, but a spike strapped to a stick isn't the sturdiest construction. At least you can strap the spike back on when it comes off.", + "You know, a glass bottle can make a good weapon in a pinch. If you break it over someone's head, the shattering glass will hurt them extra. Of course, it might hurt your hands, too…", "You know what makes a nice weapon? Take a two by four, or a baseball bat or something, and stick a bunch of nails through the end!", "BB guns may seem like a joke, but they've got their uses. They're good for hunting small game, or getting to know the basics of rifles.", "Crossbows are a great weapon for long term use. Most of the time, you can retrieve the bolt after shooting it, so running out of ammo is less of a concern.", @@ -49,12 +49,12 @@ "A good submachine gun can't be beat. Most of them use common ammo, they're good at short and long range, and you can burst-fire if you need to!", "Hunting rifles are great at long range, but suck close up. Plus, most of them don't carry many rounds. Keep a pistol as a sidearm if you use a rifle.", "You know, you don't have to go full auto with an assault rifle. Firing single shots is more accurate and efficient!", - "I've seen a couple guys running around with laser pistols. They seem like the perfect weapon... quiet, accurate, and deadly. But I've never found one, and I bet ammo is wicked scarce...", + "I've seen a couple guys running around with laser pistols. They seem like the perfect weapon… quiet, accurate, and deadly. But I've never found one, and I bet ammo is wicked scarce…", "When it comes to footwear, you've got two basic choices as far as I see it; sneakers, for running extra fast, or boots for durability. Depends on your style, I guess.", "You don't really need to wear gloves most of the time, but once in a while they'll really come in handy.", "I wish I could still use those rollerblades. I would be so fast. But I took an arrow to the knee, and all that.", "It's good to keep a filter mask or gas mask handy. You never know when you'll have to go into a smoke-filled room or something.", - "There's basically no reason not to wear safety glasses... nothing is worse than taking a hit to the eyes and getting blinded for a few seconds.", + "There's basically no reason not to wear safety glasses… nothing is worse than taking a hit to the eyes and getting blinded for a few seconds.", "Ski goggles are a great choice if you're worried about getting stuff in your eyes. Perfect for dealing with boomers!", "If you get a pair of night vision goggles, hold on to them! A flashlight will give you away, but with goggles you can be sneaky. Beware that some types of zombies are camouflaged against it, and require proper light to be visible.", "I know they look dumb, but wearing a fanny pack gives you that extra bit of storage without encumbering you.", @@ -92,7 +92,7 @@ "I've found more good weapons in hardware stores than anywhere else. Except gun stores, of course.", "Liquor stores are a great place to pick up non-alcoholic beverages, too. Not that I mind alcohol!", "Most gun stores follow pretty similar layouts. The restricted stuff - SMGs, assault rifles, and most importantly ammo - are always behind the counter.", - "I've spent many nights in the changing rooms at the back of clothing stores. Walls on four sides, far from the store's entrance, a corridor for easy defense... it's perfect!", + "I've spent many nights in the changing rooms at the back of clothing stores. Walls on four sides, far from the store's entrance, a corridor for easy defense… it's perfect!", "If you're getting chased by a hoard of zombies, try ducking into the subways and traveling a block or two, then coming back up.", "Have you seen those weird science labs out in the middle of nowhere? I think you need some kind of special ID card to get in.", "I have a dream of raiding a military bunker, but I well know that good protection plus zombie soldiers are a bad mix. The sheer thought of being sprayed with bullets by a turret is giving me the shivers.", @@ -112,14 +112,14 @@ "Boil first, then drink. Ten men caravan once drank from a spring, and they are now known as a three man caravan.", "I've once seen a full duffel bag pass hands five times in a week. Having a lot of stuff is a moot point if you can't run from zombies.", "Tim says you can drive a car through a horde of zombies. Tim is now a zombie. Any questions?", - "They said: go solar, save the environment and yourself. Well... there is no environment to save now, but one can still save thyself I guess.", + "They said: go solar, save the environment and yourself. Well… there is no environment to save now, but one can still save thyself I guess.", "If you can't find a knife try smashing potted plants. It just might give you everything you need to make one.", "What's the difference between a good and a bad choke point? The good one has another back door behind you.", - "So, methinks: if you could convince the cop-bots that you are their superior...", + "So, methinks: if you could convince the cop-bots that you are their superior…", "You'd be surprised how many items can be disassembled into their components. A guy around here, McSomething whatever his name is, is a master at this.", "A soldering iron can be an aspiring mechanics' best friend. You can also cauterize a wound with it, but as many people died as lived from that treatment, so I guess it's a last resort.", "I've seen some folks running with freshly installed CBMs. That means there is a way to get them from places other than ransacked shops. Maybe that explains those cut-up bodies I've seen around.", - "I'm fed up with smoked meat, but it lasts so long. Well... if I had more heart for learning cooking I guess I'd be able to diversify my food without sacrificing its shelf life.", + "I'm fed up with smoked meat, but it lasts so long. Well… if I had more heart for learning cooking I guess I'd be able to diversify my food without sacrificing its shelf life.", "Tricky Joe was hanged for his inventive ways of killing zombies. Yeah, burning down a building to smoke few hordes is ok, but burning a whole town with all the loot certainly is not.", "Mr Tombstone always said: take nothing with you for the raids, save the space for loot. He was known as Joe then and he rightfully earned his nickname as the first tombstone 'owner' around this place.", "When the whole town is one big supermarket a shopping cart becomes your best friend.", @@ -128,13 +128,13 @@ "Not sure if Mike is sane any more. He was unfortunate enough to be driven in to a school one time. This experience broke more than his ribs then.", "A thought about explosives. If you can still run and it did not went boom yet, run some more. There is no such thing as excess space between you and a stick of dynamite.", "Avoid using launchers in narrow hallways, you might miss.", - "Met a mad chemist once. She made a battery from a potato... or was it lemon?", + "Met a mad chemist once. She made a battery from a potato… or was it lemon?", "Police brutality lives on it seems. It's just more mechanical now, with all the cops dead and cop robots roaming free on the loose. If you'll get arrested who will give you justice? A zombie judge? Will they put you in a zombie prison? No thanks, I'll pass.", "Is it dead yet? How can you tell if it was dead before and it's dead now? I prefer asking: are? *smash* you? *smash* dead? *smash* yet? *smash smash smash*", "I hear there's strange big berries around, but why don't I hear first hand if they are filling for their size or not?", - "I've heard of a gang called The Doctors. You know, bank robbers wearing stethoscopes. What are they trying to achieve? I use paper money to start fires now.", + "I've heard of a gang called The Doctors. You know, bank robbers wearing stethoscopes. What are they trying to achieve? I use paper money to start fires now.", "You can hole up on a roof if you need to. Yeah, the rain will fall on your head, but it's harder for the dead to get you there. Get a tent, a rollmat, a sleeping bag and you're set.", - "I thought about putting a bag on my dog to carry some of my stuff. It didn't work, because it was a chihuahua, and it was eaten by a rottweiler. Should have put some kevlar on it like those Z9. Oh well...", + "I thought about putting a bag on my dog to carry some of my stuff. It didn't work, because it was a chihuahua, and it was eaten by a rottweiler. Should have put some kevlar on it like those Z9. Oh well…", "Stuff from zombies is filthy but perfectly fine otherwise. Using soap or other detergents won't hurt you. Quick wash and you're equipped for days.", "Civilization has made a step back in time, so let's learn from the past. No fridges? Build a root cellar or keep food cool in the basement. No guns? Make a pointy stick or a cudgel, and work from there. The end of the world is not the end, it seems.", "Hey, if you happen to find a set of two two-way radios, give one to me and we will be able to talk while being away from each other.", @@ -154,7 +154,7 @@ "A friend of mine was a hunter and told me, that if you field dress a corpse, it will stay fresh a bit longer.", "Look at the sky before you go for adventure. You will know what weather to expect. It's nothing compared to the old meteorology and satellite pictures, but at least you may know if you need the umbrella.", "Be extra careful on roads. They are easy to travel on, but occasional minefield or a road block can make you feel sorry in an instant. I've even seen a tank once. I ran away like never before.", - "I know it's not best of times, but try to sleep well. You're not yourself if you're sleep deprived. Grab a pillow and a blanket. If you can't, even a teddy bear under your head and a pile of clothes to keep you warm can make a difference. And pick a spot well, even a chair or a bench is better than a cold ground.", + "I know it's not best of times, but try to sleep well. You're not yourself if you're sleep deprived. Grab a pillow and a blanket. If you can't, even a teddy bear under your head and a pile of clothes to keep you warm can make a difference. And pick a spot well, even a chair or a bench is better than a cold ground.", "There are two ways of throwing grenades. The smart one is throwing from behind a corner. The less smart one involves getting shot while throwing in the open and being torn apart by the resulting explosion." ] } diff --git a/data/json/npcs/isherwood_farm/NPC_Carlos_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Carlos_Isherwood.json index f982b0d777dbf..a6c72e083478b 100644 --- a/data/json/npcs/isherwood_farm/NPC_Carlos_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Carlos_Isherwood.json @@ -53,7 +53,7 @@ "condition": { "u_is_wearing": "badge_marshal" } }, { - "text": "...", + "text": "…", "topic": "TALK_LEAVE_NOW", "opinion": { "trust": -20, "value": -20 }, "condition": { "u_is_wearing": "badge_marshal" } @@ -88,7 +88,7 @@ { "type": "talk_topic", "id": "TALK_ISHERWOOD_CARLOS_TALK1", - "dynamic_line": "It is coming together. I want to make our own tools, repair our items and even create some weapons and ammuntion reloading.", + "dynamic_line": "It is coming together. I want to make our own tools, repair our items and even create some weapons and ammunition reloading.", "responses": [ { "text": "What do you need?", "topic": "TALK_MISSION_LIST" }, { @@ -108,7 +108,7 @@ { "type": "talk_topic", "id": "TALK_CARLOS_BARRY", - "dynamic_line": "It was pink and really fast, it had lots of limbs, definitly not human. It easily kept up with us when we tried to escape, horrifying stuff. Barry just dropped to the ground, and the thing swept him away.", + "dynamic_line": "It was pink and really fast, it had lots of limbs, definitely not human. It easily kept up with us when we tried to escape, horrifying stuff. Barry just dropped to the ground, and the thing swept him away.", "responses": [ { "text": "You all just gonna leave him out there to his fate?", "topic": "TALK_CARLOS_BARRY2" }, { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_CARLOS_TOPICS" }, @@ -146,7 +146,7 @@ "type": "talk_topic", "id": "TALK_LEAVE_NOW", "dynamic_line": "You should get off my farm, I won't deal with a a government stooge.", - "responses": [ { "text": "...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "…", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", diff --git a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json index 7e0b94829f1d5..b2da6222b390e 100644 --- a/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Chris_Isherwood.json @@ -41,12 +41,12 @@ "id": "TALK_ISHERWOOD_CHRIS", "dynamic_line": { "u_is_wearing": "badge_marshal", - "yes": "I see that badge, You need to leave our land, my relatives have no fondess for Marshals.", + "yes": "I see that badge, You need to leave our land, my relatives have no fondness for Marshals.", "no": "Hi, what's up?" }, "responses": [ { - "text": "...", + "text": "…", "topic": "TALK_LEAVE_NOW", "opinion": { "trust": -20, "value": -20 }, "condition": { "u_is_wearing": "badge_marshal" } @@ -139,7 +139,7 @@ "type": "talk_topic", "id": "TALK_LEAVE_NOW", "dynamic_line": "You should leave before my family sees you.", - "responses": [ { "text": "...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "…", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", diff --git a/data/json/npcs/isherwood_farm/NPC_Claire_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Claire_Isherwood.json index 678b595f475ab..671d54996e585 100644 --- a/data/json/npcs/isherwood_farm/NPC_Claire_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Claire_Isherwood.json @@ -106,7 +106,7 @@ "condition": { "u_is_wearing": "badge_marshal" } }, { - "text": "...", + "text": "…", "topic": "TALK_LEAVE_NOW", "opinion": { "trust": -20, "value": -20 }, "condition": { "u_is_wearing": "badge_marshal" } @@ -171,7 +171,7 @@ "responses": [ { "text": "He did mention you make remedies, are they effective?", "topic": "TALK_CLAIRE_MEDICINE" }, { "text": "Must be nice, to have the quiet place amid so much madness.", "topic": "TALK_CLAIRE_FARM" }, - { "text": "I'd like to ask you something else...", "topic": "TALK_ISHERWOOD_CLAIRE_TOPICS" }, + { "text": "I'd like to ask you something else…", "topic": "TALK_ISHERWOOD_CLAIRE_TOPICS" }, { "text": "I'd better get going.", "topic": "TALK_DONE" } ] }, @@ -180,7 +180,7 @@ "id": "TALK_CLAIRE_MEDICINE", "dynamic_line": "I have always studied and made some natural remedies, but now they are more essential than ever. Who knows the next time we'll see a trained doctor. These remedies aren't always as effective, but they can do the job in a pinch.", "responses": [ - { "text": "I'd like to ask you something else...", "topic": "TALK_ISHERWOOD_CLAIRE_TOPICS" }, + { "text": "I'd like to ask you something else…", "topic": "TALK_ISHERWOOD_CLAIRE_TOPICS" }, { "text": "I'd better get going.", "topic": "TALK_DONE" } ] }, @@ -190,7 +190,7 @@ "dynamic_line": "Some of their cows were killed before we realized what was happening, Barry and Carlos went into the forest to find the predator but it was like nothing they'd ever seen. Carlos may be willing to tell you more.", "responses": [ { - "text": "I'd like to ask you something else...", + "text": "I'd like to ask you something else…", "topic": "TALK_ISHERWOOD_CLAIRE_TOPICS", "effect": { "u_add_var": "u_learned_about_barry", "type": "general", "context": "meeting", "value": "yes" } }, @@ -206,7 +206,7 @@ "id": "TALK_CLAIRE_FARM", "dynamic_line": "We've always tried to live a quiet life out here, I suppose we are doing better than most.", "responses": [ - { "text": "I'd like to ask you something else...", "topic": "TALK_ISHERWOOD_CLAIRE_TOPICS" }, + { "text": "I'd like to ask you something else…", "topic": "TALK_ISHERWOOD_CLAIRE_TOPICS" }, { "text": "I'd better get going.", "topic": "TALK_DONE" } ] }, @@ -215,7 +215,7 @@ "id": "TALK_CLAIRE_HUSBAND", "dynamic_line": "Jack and I have been together for 40 years. He's been my anchor through all of this chaos.", "responses": [ - { "text": "I'd like to ask you something else...", "topic": "TALK_ISHERWOOD_CLAIRE_TOPICS" }, + { "text": "I'd like to ask you something else…", "topic": "TALK_ISHERWOOD_CLAIRE_TOPICS" }, { "text": "I'd better get going.", "topic": "TALK_DONE" } ] }, @@ -224,7 +224,7 @@ "id": "TALK_CLAIRE_DAUGHTER", "dynamic_line": "Jesse and her family live up at the horse farm. They may have some jobs for you.", "responses": [ - { "text": "I'd like to ask you something else...", "topic": "TALK_ISHERWOOD_CLAIRE_TOPICS" }, + { "text": "I'd like to ask you something else…", "topic": "TALK_ISHERWOOD_CLAIRE_TOPICS" }, { "text": "I'd better get going.", "topic": "TALK_DONE" } ] }, @@ -233,7 +233,7 @@ "id": "TALK_CLAIRE_BROTHER", "dynamic_line": "Eddie's dairy is at the end of the road. He's may have some jobs for you if you are interested.", "responses": [ - { "text": "I'd like to ask you something else...", "topic": "TALK_ISHERWOOD_CLAIRE_TOPICS" }, + { "text": "I'd like to ask you something else…", "topic": "TALK_ISHERWOOD_CLAIRE_TOPICS" }, { "text": "I'd better get going.", "topic": "TALK_DONE" } ] }, @@ -241,7 +241,7 @@ "type": "talk_topic", "id": "TALK_LEAVE_NOW", "dynamic_line": "You should get off our land, you have no business here.", - "responses": [ { "text": "...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "…", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", @@ -346,7 +346,7 @@ "describe": "I could use a barn cat to keep the mice down.", "offer": "I saw some feral cats out by the old cabin. Can you capture one for me?", "accepted": "Thank you! Please hurry back! Take this cage so you have a chance of capturing one.", - "rejected": "I did't want to use chemicals on these rats.", + "rejected": "I didn't want to use chemicals on these rats.", "advice": "Take this pet carrier; if you can get close to a cat, you can put it inside. If you're having problems, try befriending it with cat food.", "inquire": "Have you found a cat?", "success": "Thank you so much, I want you to have this copy of my natural remedy journal. I'll name this handsome fellow Joshua.", diff --git a/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json index 0fdf003f51bbc..d2ce435f3e92a 100644 --- a/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Eddie_Isherwood.json @@ -66,7 +66,7 @@ "condition": { "u_is_wearing": "badge_marshal" } }, { - "text": "...", + "text": "…", "topic": "TALK_LEAVE_NOW", "opinion": { "trust": -20, "value": -20 }, "condition": { "u_is_wearing": "badge_marshal" } @@ -175,7 +175,7 @@ "type": "talk_topic", "id": "TALK_LEAVE_NOW", "dynamic_line": "You should get off my farm, I won't deal with a a government stooge.", - "responses": [ { "text": "...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "…", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", diff --git a/data/json/npcs/isherwood_farm/NPC_Jack_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Jack_Isherwood.json index 3f0fac9afa615..601a7a6927e79 100644 --- a/data/json/npcs/isherwood_farm/NPC_Jack_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Jack_Isherwood.json @@ -116,7 +116,7 @@ "dynamic_line": { "u_is_wearing": "badge_marshal", "yes": "Is that a U.S. Marshal's badge you're wearing?", - "no": { "u_male": true, "yes": "Hello travler, what brings you here?", "no": "Hello traveler, what brings you here?" } + "no": { "u_male": true, "yes": "Hello traveler, what brings you here?", "no": "Hello traveler, what brings you here?" } }, "responses": [ { @@ -127,7 +127,7 @@ "condition": { "u_is_wearing": "badge_marshal" } }, { - "text": "...", + "text": "…", "topic": "TALK_LEAVE_NOW", "opinion": { "trust": -20, "value": -20 }, "condition": { "u_is_wearing": "badge_marshal" } @@ -188,7 +188,7 @@ { "type": "talk_topic", "id": "TALK_ISHERWOOD_JACK2", - "dynamic_line": "We've had our losses... now we stay close to home, preparing for trouble. We've always taken disaster prepardness seriously, but we didn't expect anything like this though.", + "dynamic_line": "We've had our losses... now we stay close to home, preparing for trouble. We've always taken disaster preparedness seriously, but we didn't expect anything like this though.", "responses": [ { "text": "Let's talk about something else.", "topic": "TALK_ISHERWOOD_JACK_TOPICS" }, { "text": "I'd better get going.", "topic": "TALK_DONE" } @@ -250,8 +250,8 @@ { "type": "talk_topic", "id": "TALK_LEAVE_NOW", - "dynamic_line": "You should get off my land, the governemnt proved its incompetence with this catastrophe.", - "responses": [ { "text": "...", "topic": "TALK_DONE" } ] + "dynamic_line": "You should get off my land, the government proved its incompetence with this catastrophe.", + "responses": [ { "text": "…", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", diff --git a/data/json/npcs/isherwood_farm/NPC_Jesse_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Jesse_Isherwood.json index ab02048c623f2..8beb529b3c52f 100644 --- a/data/json/npcs/isherwood_farm/NPC_Jesse_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Jesse_Isherwood.json @@ -57,7 +57,7 @@ "condition": { "u_is_wearing": "badge_marshal" } }, { - "text": "...", + "text": "…", "topic": "TALK_LEAVE_NOW", "opinion": { "trust": -20, "value": -20 }, "condition": { "u_is_wearing": "badge_marshal" } @@ -126,7 +126,7 @@ "responses": [ { "text": "I'd like to speak with Carlos too about some work.", "topic": "TALK_JESSE_CARLOS" }, { - "text": "Is Chris around? I'd like to know what he's run into out in the woods.", + "text": "Is Chris around? I'd like to know what he's run into out in the woods.", "topic": "TALK_JESSE_CHRIS" }, { "text": "What needs killing?", "topic": "TALK_MISSION_LIST" }, @@ -165,7 +165,7 @@ "type": "talk_topic", "id": "TALK_LEAVE_NOW", "dynamic_line": "You should get off my farm, I won't deal with a a government stooge.", - "responses": [ { "text": "...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "…", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", diff --git a/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json index 6d3e1ae07e415..4b4c9e6cc580c 100644 --- a/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Lisa_Isherwood.json @@ -44,7 +44,7 @@ }, "responses": [ { - "text": "...", + "text": "…", "topic": "TALK_LEAVE_NOW", "opinion": { "trust": -20, "value": -20 }, "condition": { "u_is_wearing": "badge_marshal" } @@ -134,6 +134,6 @@ "type": "talk_topic", "id": "TALK_LEAVE_NOW", "dynamic_line": "You should get off my farm, I won't deal with a a government stooge.", - "responses": [ { "text": "...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "…", "topic": "TALK_DONE" } ] } ] diff --git a/data/json/npcs/isherwood_farm/NPC_Luke_Isherwood.json b/data/json/npcs/isherwood_farm/NPC_Luke_Isherwood.json index 09ee12edfefff..100a2738a1197 100644 --- a/data/json/npcs/isherwood_farm/NPC_Luke_Isherwood.json +++ b/data/json/npcs/isherwood_farm/NPC_Luke_Isherwood.json @@ -46,7 +46,7 @@ }, "responses": [ { - "text": "...", + "text": "…", "topic": "TALK_LEAVE_NOW", "opinion": { "trust": -20, "value": -20 }, "condition": { "u_is_wearing": "badge_marshal" } @@ -137,7 +137,7 @@ "type": "talk_topic", "id": "TALK_LEAVE_NOW", "dynamic_line": "You won't find any help here.", - "responses": [ { "text": "...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "…", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", @@ -192,7 +192,7 @@ "dialogue": { "describe": "I need more knowledge to get better pottery.", "offer": "I could really use the book, DIY Compendium. With the internet gone, I don't have any handy references.", - "accepted": "Fantasic, I'm not supposed to leave our land.", + "accepted": "Fantastic, I'm not supposed to leave our land.", "rejected": "Oh well, figured I'd have to do a lot of practice anyway.", "advice": "A library, bookstore should have one, schools are another good idea.", "inquire": "Do you have the book?", diff --git a/data/json/npcs/missiondef.json b/data/json/npcs/missiondef.json index 39c0ed3febcfa..2a20d8cca97df 100644 --- a/data/json/npcs/missiondef.json +++ b/data/json/npcs/missiondef.json @@ -421,8 +421,8 @@ "monster_kill_goal": 100, "difficulty": 5, "value": 250000, - "start": { "effect": "follow" }, - "end": { "effect": "leave" }, + "start": { "effect": "follow_only" }, + "end": { "effect": "stop_following" }, "origins": [ "ORIGIN_SECONDARY" ], "followup": "MISSION_KILL_HORDE_MASTER", "dialogue": { @@ -446,7 +446,7 @@ "value": 250000, "urgent": true, "start": "kill_horde_master", - "end": { "effect": "leave" }, + "end": { "effect": "stop_following" }, "origins": [ "ORIGIN_SECONDARY" ], "followup": "MISSION_RECRUIT_TRACKER", "dialogue": { @@ -528,8 +528,8 @@ "goal": "MGOAL_GO_TO_TYPE", "difficulty": 2, "value": 60000, - "start": { "effect": "follow" }, - "end": { "effect": "leave" }, + "start": { "effect": "follow_only" }, + "end": { "effect": "stop_following" }, "origins": [ "ORIGIN_SECONDARY" ], "destination": "farm_2", "dialogue": { @@ -551,7 +551,7 @@ "goal": "MGOAL_GO_TO_TYPE", "difficulty": 2, "value": 60000, - "start": { "effect": "follow" }, + "start": { "effect": "follow_only" }, "origins": [ "ORIGIN_SECONDARY" ], "followup": "MISSION_REACH_FARM_HOUSE", "destination": "fema", diff --git a/data/json/npcs/necropolis/NPC_Old_Guard_Captain.json b/data/json/npcs/necropolis/NPC_Old_Guard_Captain.json index 8f58290c50388..eedf075c97a9d 100644 --- a/data/json/npcs/necropolis/NPC_Old_Guard_Captain.json +++ b/data/json/npcs/necropolis/NPC_Old_Guard_Captain.json @@ -39,29 +39,29 @@ "condition": { "u_is_wearing": "badge_marshal" } }, { - "text": "About the mission...", + "text": "About the mission…", "topic": "TALK_MISSION_INQUIRE", "condition": { "and": [ "has_assigned_mission", { "u_is_wearing": "badge_marshal" } ] } }, { - "text": "About one of those missions...", + "text": "About one of those missions…", "topic": "TALK_MISSION_LIST_ASSIGNED", "condition": { "and": [ "has_many_assigned_missions", { "u_is_wearing": "badge_marshal" } ] } }, - { "text": "I've got to go...", "topic": "TALK_DONE" } + { "text": "I've got to go…", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", "id": "TALK_OLD_GUARD_NEC_CPT_GOAL", "dynamic_line": "I'm leading what remains of my company on a mission to re-secure this facility. We entered the complex with two dozen men and immediately went about securing this control room. From here I dispatched my men to secure vital systems located on this floor and the floors below this one. If we are successful, this facility can be cleared and used as a permanent base of operations in the region. Most importantly it will allow us to redirect refugee traffic away from overcrowded outposts and free up more of our forces to conduct recovery operations.", - "responses": [ { "text": "Seems like a decent plan...", "topic": "TALK_NONE" } ] + "responses": [ { "text": "Seems like a decent plan…", "topic": "TALK_NONE" } ] }, { "type": "talk_topic", "id": "TALK_OLD_GUARD_NEC_CPT_VAULT", "dynamic_line": "This facility was constructed to provide a safe haven in the event of a global conflict. The vault can support several thousand people for a few years if all systems are operational and sufficient notification is given. Unfortunately, the power system was damaged or sabotaged at some point and released a single extremely lethal burst of radiation. The catastrophic event lasted for several minutes and resulted in the deaths of most people located on the 2nd and lower floors. Those working on this floor were able to seal the access ways to the lower floors before succumbing to radiation sickness. The only other thing the logs tell us is that all water pressure was diverted to the lower levels.", - "responses": [ { "text": "Whatever they did it must have worked since we are still alive...", "topic": "TALK_NONE" } ] + "responses": [ { "text": "Whatever they did it must have worked since we are still alive…", "topic": "TALK_NONE" } ] }, { "id": "MISSION_OLD_GUARD_NEC_1", diff --git a/data/json/npcs/necropolis/NPC_Old_Guard_Commo.json b/data/json/npcs/necropolis/NPC_Old_Guard_Commo.json index cb19460c1aeb3..833e98c74195b 100644 --- a/data/json/npcs/necropolis/NPC_Old_Guard_Commo.json +++ b/data/json/npcs/necropolis/NPC_Old_Guard_Commo.json @@ -46,12 +46,12 @@ "condition": { "and": [ { "u_has_effect": "has_og_comm_freq" }, { "u_is_wearing": "badge_marshal" } ] } }, { - "text": "About the mission...", + "text": "About the mission…", "topic": "TALK_MISSION_INQUIRE", "condition": { "and": [ "has_assigned_mission", { "u_is_wearing": "badge_marshal" } ] } }, { - "text": "About one of those missions...", + "text": "About one of those missions…", "topic": "TALK_MISSION_LIST_ASSIGNED", "condition": { "and": [ "has_many_assigned_missions", { "u_is_wearing": "badge_marshal" } ] } }, @@ -62,7 +62,7 @@ "type": "talk_topic", "id": "TALK_OLD_GUARD_NEC_COMMO_GOAL", "dynamic_line": "We are securing the external communications array for this facility. I'm rather restricted in what I can release... go find my commander if you have any questions.", - "responses": [ { "text": "I'll try and find your commander then...", "topic": "TALK_NONE" } ] + "responses": [ { "text": "I'll try and find your commander then…", "topic": "TALK_NONE" } ] }, { "type": "talk_topic", diff --git a/data/json/npcs/necropolis/NPC_Old_Guard_Soldier.json b/data/json/npcs/necropolis/NPC_Old_Guard_Soldier.json index 5e3d3c69c6136..0b3f4c71e8af1 100644 --- a/data/json/npcs/necropolis/NPC_Old_Guard_Soldier.json +++ b/data/json/npcs/necropolis/NPC_Old_Guard_Soldier.json @@ -32,6 +32,6 @@ } ] }, - "responses": [ { "text": "Don't mind me...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "Don't mind me…", "topic": "TALK_DONE" } ] } ] diff --git a/data/json/npcs/npc.json b/data/json/npcs/npc.json index 8be2d3fd8fec7..038da474ab041 100644 --- a/data/json/npcs/npc.json +++ b/data/json/npcs/npc.json @@ -72,7 +72,7 @@ "//": "Foodperson mascot, except if you ask them Foodperson is a real hero and it's them!", "name_unique": "Foodperson", "class": "NC_TRUE_FOODPERSON", - "attitude": 7, + "attitude": 0, "mission": 7, "chat": "TALK_TRUE_FOODPERSON", "mission_offered": "MISSION_PROVE_YOUR_WORTH", diff --git a/data/json/npcs/refugee_center/beggars/BEGGAR_1_Reena_Sandhu.json b/data/json/npcs/refugee_center/beggars/BEGGAR_1_Reena_Sandhu.json index 1dab7ecbb330b..b5b6562e4f7a1 100644 --- a/data/json/npcs/refugee_center/beggars/BEGGAR_1_Reena_Sandhu.json +++ b/data/json/npcs/refugee_center/beggars/BEGGAR_1_Reena_Sandhu.json @@ -98,7 +98,7 @@ "topic": "TALK_REFUGEE_BEGGAR_1_GIVE_FOOD" }, { "text": "Get away from me.", "topic": "TALK_DONE", "opinion": { "trust": -1, "value": -1, "anger": 1 } }, - { "text": "...", "topic": "TALK_DONE" } + { "text": "…", "topic": "TALK_DONE" } ] }, { diff --git a/data/json/npcs/refugee_center/beggars/BEGGAR_2_Dino_Dave.json b/data/json/npcs/refugee_center/beggars/BEGGAR_2_Dino_Dave.json index 8fa2a84e78895..19ff822b1017e 100644 --- a/data/json/npcs/refugee_center/beggars/BEGGAR_2_Dino_Dave.json +++ b/data/json/npcs/refugee_center/beggars/BEGGAR_2_Dino_Dave.json @@ -65,7 +65,7 @@ "no": "Have I told you about cardboard, friend? Do you have any?" }, "responses": [ - { "condition": "has_assigned_mission", "text": "About that shopping list of yours...", "topic": "TALK_MISSION_INQUIRE" }, + { "condition": "has_assigned_mission", "text": "About that shopping list of yours…", "topic": "TALK_MISSION_INQUIRE" }, { "condition": { "and": [ @@ -107,7 +107,7 @@ "text": "Get away from me.", "topic": "TALK_DONE" }, - { "text": "...", "topic": "TALK_DONE" } + { "text": "…", "topic": "TALK_DONE" } ] }, { @@ -149,7 +149,7 @@ { "text": "Would you like me to give you some cardboard?", "topic": "TALK_REFUGEE_BEGGAR_2_GIVECARDBOARD" }, { "text": "Why are you sitting out here?", "topic": "TALK_REFUGEE_BEGGAR_2_REFUGEE" }, { "text": "Are you seriously wearing a dinosaur costume?", "topic": "TALK_REFUGEE_BEGGAR_2_DINOSAUR" }, - { "text": "I think I have to get going...", "topic": "TALK_DONE" } + { "text": "I think I have to get going…", "topic": "TALK_DONE" } ] }, { @@ -160,7 +160,7 @@ { "text": "Would you like me to give you some cardboard?", "topic": "TALK_REFUGEE_BEGGAR_2_GIVECARDBOARD" }, { "text": "Why are you sitting out here?", "topic": "TALK_REFUGEE_BEGGAR_2_REFUGEE" }, { "text": "Are you seriously wearing a dinosaur costume?", "topic": "TALK_REFUGEE_BEGGAR_2_DINOSAUR" }, - { "text": "I think I have to get going...", "topic": "TALK_DONE" } + { "text": "I think I have to get going…", "topic": "TALK_DONE" } ] }, { @@ -171,7 +171,7 @@ "responses": [ { "text": "What's next on the list?", "topic": "TALK_MISSION_LIST" }, { "text": "What were you saying before?", "topic": "TALK_NONE" }, - { "text": "I think I have to get going...", "topic": "TALK_DONE" } + { "text": "I think I have to get going…", "topic": "TALK_DONE" } ] }, { @@ -179,8 +179,8 @@ "id": "TALK_REFUGEE_BEGGAR_2_SANDMAN", "dynamic_line": "If you don't know who he is, I definitely can't tell you. He talks to everyone, if you didn't hear him that means you can't be trusted, except to help me out.", "responses": [ - { "text": "... What were you saying before?", "topic": "TALK_NONE" }, - { "text": "I think I have to get going...", "topic": "TALK_DONE" } + { "text": "…What were you saying before?", "topic": "TALK_NONE" }, + { "text": "I think I have to get going…", "topic": "TALK_DONE" } ] }, { @@ -189,7 +189,7 @@ "dynamic_line": "These cowards are afraid of me. They won't let me into their base. I'm going to build my new house and I won't let them in.", "responses": [ { "text": "You said you were building a house?", "topic": "TALK_REFUGEE_BEGGAR_2_CARDBOARD" }, - { "text": "I think I have to get going...", "topic": "TALK_DONE" } + { "text": "I think I have to get going…", "topic": "TALK_DONE" } ] }, { @@ -197,10 +197,10 @@ "id": "TALK_REFUGEE_BEGGAR_2_DINOSAUR", "dynamic_line": "No.", "responses": [ - { "text": "I... I can see you wearing it. Why are you wearing that?", "topic": "TALK_REFUGEE_BEGGAR_2_WEARING" }, + { "text": "I… I can see you wearing it. Why are you wearing that?", "topic": "TALK_REFUGEE_BEGGAR_2_WEARING" }, { "text": "What was that about cardboard?", "topic": "TALK_REFUGEE_BEGGAR_2_CARDBOARD" }, { "text": "Why are you sitting out here?", "topic": "TALK_REFUGEE_BEGGAR_2_REFUGEE" }, - { "text": "I think I have to get going...", "topic": "TALK_DONE" } + { "text": "I think I have to get going…", "topic": "TALK_DONE" } ] }, { @@ -210,7 +210,7 @@ "responses": [ { "text": "What was that about cardboard?", "topic": "TALK_REFUGEE_BEGGAR_2_CARDBOARD" }, { "text": "Why are you sitting out here?", "topic": "TALK_REFUGEE_BEGGAR_2_REFUGEE" }, - { "text": "I think I have to get going...", "topic": "TALK_DONE" } + { "text": "I think I have to get going…", "topic": "TALK_DONE" } ] }, { diff --git a/data/json/npcs/refugee_center/beggars/BEGGAR_3_Luo_Meizhen.json b/data/json/npcs/refugee_center/beggars/BEGGAR_3_Luo_Meizhen.json index 768f2e8fa6df3..64705c83fa6d4 100644 --- a/data/json/npcs/refugee_center/beggars/BEGGAR_3_Luo_Meizhen.json +++ b/data/json/npcs/refugee_center/beggars/BEGGAR_3_Luo_Meizhen.json @@ -154,7 +154,7 @@ "topic": "TALK_REFUGEE_BEGGAR_3_MYCUS4_NOTREADY", "effect": { "npc_add_var": "luo_owed", "type": "general", "context": "recruit", "value": "yes" } }, - { "text": "Ok... see ya.", "topic": "TALK_DONE" } + { "text": "Ok… see ya.", "topic": "TALK_DONE" } ] }, { @@ -257,7 +257,7 @@ "text": "I found a sample of alien fungus for you.", "topic": "TALK_REFUGEE_BEGGAR_3_MYCUS4_RECRUIT" }, - { "text": "Ok... see ya.", "topic": "TALK_DONE" }, + { "text": "Ok… see ya.", "topic": "TALK_DONE" }, { "text": "I'd better get going.", "topic": "TALK_DONE" } ] }, @@ -287,7 +287,7 @@ } ] }, - "text": "I mean, racism could definitely be a part of it... but you are visibly in poor shape. They need strong survivor material.", + "text": "I mean, racism could definitely be a part of it… but you are visibly in poor shape. They need strong survivor material.", "topic": "TALK_REFUGEE_BEGGAR_3_INSULTED" }, { "text": "I'd better get going.", "topic": "TALK_DONE" } @@ -332,7 +332,7 @@ { "not": { "u_has_var": "luo_recruited", "type": "general", "context": "recruit", "value": "yes" } } ] }, - "text": "So, about that doctorate of yours...", + "text": "So, about that doctorate of yours…", "topic": "TALK_REFUGEE_BEGGAR_3_DOCTORATE1" }, { "text": "What were you saying before?", "topic": "TALK_NONE" }, @@ -368,7 +368,7 @@ ] } ], - "responses": [ { "text": "...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "…", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", @@ -416,7 +416,7 @@ { "not": { "u_has_var": "luo_recruited", "type": "general", "context": "recruit", "value": "yes" } } ] }, - "text": "So, about that doctorate of yours...", + "text": "So, about that doctorate of yours…", "topic": "TALK_REFUGEE_BEGGAR_3_DOCTORATE1" }, { "text": "What did you do before ?", "topic": "TALK_REFUGEE_BEGGAR_3_EXPERTISE" }, @@ -436,7 +436,7 @@ { "not": { "u_has_var": "luo_recruited", "type": "general", "context": "recruit", "value": "yes" } } ] }, - "text": "So, about that doctorate of yours...", + "text": "So, about that doctorate of yours…", "topic": "TALK_REFUGEE_BEGGAR_3_DOCTORATE1" }, { "text": "What did you do before ?", "topic": "TALK_REFUGEE_BEGGAR_3_EXPERTISE" }, @@ -456,7 +456,7 @@ { "not": { "u_has_var": "luo_recruited", "type": "general", "context": "recruit", "value": "yes" } } ] }, - "text": "So, about that doctorate of yours...", + "text": "So, about that doctorate of yours…", "topic": "TALK_REFUGEE_BEGGAR_3_DOCTORATE1" }, { "text": "What did you do before ?", "topic": "TALK_REFUGEE_BEGGAR_3_EXPERTISE" }, @@ -521,7 +521,7 @@ "dynamic_line": "No, no I don't, and I'd appreciate you not leaving me hanging on that. There are fungal zombies?", "responses": [ { - "text": "Encroaching alien mushrooms, fungal towers, tough mycelium invading ground and trees, zombies taken over by aggressive mold... Yeah. It's ugly stuff.", + "text": "Encroaching alien mushrooms, fungal towers, tough mycelium invading ground and trees, zombies taken over by aggressive mold… Yeah. It's ugly stuff.", "topic": "TALK_REFUGEE_BEGGAR_3_MYCUS2" }, { "text": "What was it you were saying before?", "topic": "TALK_NONE" }, diff --git a/data/json/npcs/refugee_center/beggars/BEGGAR_4_Brandon_Garder.json b/data/json/npcs/refugee_center/beggars/BEGGAR_4_Brandon_Garder.json index 81e40213b77bc..80d680783bc92 100644 --- a/data/json/npcs/refugee_center/beggars/BEGGAR_4_Brandon_Garder.json +++ b/data/json/npcs/refugee_center/beggars/BEGGAR_4_Brandon_Garder.json @@ -105,7 +105,7 @@ "text": "I've talked to the others, and they're all willing to come. So, you joining us?", "topic": "TALK_REFUGEE_BEGGAR_4_RECRUITED" }, - { "text": "I could maybe help you out... want something to eat?", "topic": "TALK_REFUGEE_BEGGAR_4_GIVE_FOOD" }, + { "text": "I could maybe help you out… want something to eat?", "topic": "TALK_REFUGEE_BEGGAR_4_GIVE_FOOD" }, { "text": "What's wrong with you?", "topic": "TALK_REFUGEE_BEGGAR_4_TALK2" }, { "text": "They won't let you in because you're sick?", "topic": "TALK_REFUGEE_BEGGAR_4_SICKLY" }, { "text": "How did you even get here if you're so sick?", "topic": "TALK_REFUGEE_BEGGAR_4_ARRIVAL" }, diff --git a/data/json/npcs/refugee_center/surface_refugees/NPC_Alonso_Lautrec.json b/data/json/npcs/refugee_center/surface_refugees/NPC_Alonso_Lautrec.json index 79cd24841db51..9f57d1e52d6fc 100644 --- a/data/json/npcs/refugee_center/surface_refugees/NPC_Alonso_Lautrec.json +++ b/data/json/npcs/refugee_center/surface_refugees/NPC_Alonso_Lautrec.json @@ -62,7 +62,7 @@ "//": "common talk responses", "id": [ "TALK_REFUGEE_Alonso_2", "TALK_REFUGEE_Alonso_Background", "TALK_REFUGEE_Alonso_Situation" ], "responses": [ - { "text": "You seem a little forward...", "topic": "TALK_REFUGEE_Alonso_Forward" }, + { "text": "You seem a little forward…", "topic": "TALK_REFUGEE_Alonso_Forward" }, { "text": "[PERCEPTION 10] What is up with you? What's with the fake accent, and speaking in the third person?", "topic": "TALK_REFUGEE_Alonso_CalledOut1", diff --git a/data/json/npcs/refugee_center/surface_refugees/NPC_Dana_Nunez.json b/data/json/npcs/refugee_center/surface_refugees/NPC_Dana_Nunez.json index a3878b093b356..54e3131eae2b6 100644 --- a/data/json/npcs/refugee_center/surface_refugees/NPC_Dana_Nunez.json +++ b/data/json/npcs/refugee_center/surface_refugees/NPC_Dana_Nunez.json @@ -94,7 +94,7 @@ "condition": { "u_has_var": "Pablo_ask_recruit", "type": "recruit", "context": "general", "value": "yes" } }, { - "text": "About that sourdough starter you had me looking for...", + "text": "About that sourdough starter you had me looking for…", "topic": "TALK_MISSION_INQUIRE", "condition": { "u_has_var": "Dana_Sourdough", "type": "mission", "context": "flag", "value": "in_progress" } }, diff --git a/data/json/npcs/refugee_center/surface_refugees/NPC_Draco_Dune.json b/data/json/npcs/refugee_center/surface_refugees/NPC_Draco_Dune.json index 3eee868c84401..dbe7e9c5f8fd3 100644 --- a/data/json/npcs/refugee_center/surface_refugees/NPC_Draco_Dune.json +++ b/data/json/npcs/refugee_center/surface_refugees/NPC_Draco_Dune.json @@ -153,7 +153,7 @@ "dynamic_line": "Oh you don't have time for all that, do you? Well, I'll give you the short version. I've gotten kinda tired of it in the telling. Frankly, it's not as heroic, not as inspiring, not as tragic, and certainly not as funny as some of the tales around here. But it's mine, ya know? I'm a musician. Guitar's my baby. You like folk and the blues, friend? Well, that was my bag and I sure could please my own ear with em, anyway. Folks who's bein' generous might also say it pleased theirs. Problem is, I seem to be between guitars right now, you know? Temporarily guitar-light, if you get my saying. Problem is, in the run for my life, I had to use old Jasmine as a bit of a billy club. Had to curb some rowdy dudes on my way here. It was her or me, you understand? You wouldn't begrudge a man breakin' his instrument to save his life, would ya?", "responses": [ { "text": "I think I would've done the same. Nobody around here has a guitar?", "topic": "TALK_REFUGEE_Draco_4" }, - { "text": "Yes, yes I would... you monster.", "topic": "TALK_DONE" } + { "text": "Yes, yes I would… you monster.", "topic": "TALK_DONE" } ] }, { diff --git a/data/json/npcs/refugee_center/surface_refugees/NPC_Garry_Villeneuve.json b/data/json/npcs/refugee_center/surface_refugees/NPC_Garry_Villeneuve.json index b1007e76eb01a..b1aa63935d9a6 100644 --- a/data/json/npcs/refugee_center/surface_refugees/NPC_Garry_Villeneuve.json +++ b/data/json/npcs/refugee_center/surface_refugees/NPC_Garry_Villeneuve.json @@ -130,7 +130,7 @@ "id": "TALK_REFUGEE_Garry_Background", "dynamic_line": "Before the apocalypse I was an electrician. Boris here is my brother-in-law, and we were a decent contractor team. When the evacuations sounded, we left together with our... with our families. We got stuck into a crowded evac shelter, then onto a crowded bus. Then... everything went wrong. The bus was attacked, destroyed. Nearly everyone died. A few of us made it back... not enough.", "responses": [ - { "text": "You lost someone...", "topic": "TALK_REFUGEE_Garry_Background_loss" }, + { "text": "You lost someone…", "topic": "TALK_REFUGEE_Garry_Background_loss" }, { "text": "What were you saying before?", "topic": "TALK_NONE" }, { "text": "I'd better get going.", "topic": "TALK_DONE" } ] diff --git a/data/json/npcs/refugee_center/surface_refugees/NPC_Guneet_Singh.json b/data/json/npcs/refugee_center/surface_refugees/NPC_Guneet_Singh.json index 150f21cc7ed59..ad4f11b0484e6 100644 --- a/data/json/npcs/refugee_center/surface_refugees/NPC_Guneet_Singh.json +++ b/data/json/npcs/refugee_center/surface_refugees/NPC_Guneet_Singh.json @@ -40,8 +40,7 @@ { "item": "tshirt_text" }, { "item": "jeans_red" }, { "item": "turban" }, - { "item": "sneakers" }, - { "item": "scabbard" } + { "item": "sneakers" } ] }, { diff --git a/data/json/npcs/refugee_center/surface_refugees/NPC_John_Clemens.json b/data/json/npcs/refugee_center/surface_refugees/NPC_John_Clemens.json index 50d56f0889a07..96c35c24304c4 100644 --- a/data/json/npcs/refugee_center/surface_refugees/NPC_John_Clemens.json +++ b/data/json/npcs/refugee_center/surface_refugees/NPC_John_Clemens.json @@ -133,7 +133,7 @@ "dynamic_line": "My story? Just a wanderin' cowhand, eatin' dust on the trail. I settled here for a spell after I came upon some hard times.", "responses": [ { - "text": "You... you do know what's going on here, right? With the evacuation and stuff?", + "text": "You… you do know what's going on here, right? With the evacuation and stuff?", "topic": "TALK_REFUGEE_John_Background_cataclysm" }, { "text": "What were you saying before?", "topic": "TALK_NONE" }, diff --git a/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_broker.json b/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_broker.json index 96291528fa22b..6323c33d6adc2 100644 --- a/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_broker.json +++ b/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_broker.json @@ -131,7 +131,7 @@ "dynamic_line": "All three are easy to locally produce in significant quantities and are non-perishable. We have a local farmer or two and a few hunter types that have been making attempts to provide us with the nutritious supplies. We do always need more suppliers though. This stuff is rather cheap in bulk, so I can pay a premium for any you have on you. Canned food and other edibles are handled by the merchant in the front in trade.", "responses": [ { "text": "Are you looking to buy anything else?", "topic": "TALK_FREE_MERCHANT_STOCKS_ALL" }, - { "text": "Very well... let's talk about something else.", "topic": "TALK_FREE_MERCHANT_STOCKS" } + { "text": "Very well… let's talk about something else.", "topic": "TALK_FREE_MERCHANT_STOCKS" } ] }, { diff --git a/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_guard1.json b/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_guard1.json index 15ba4d79443ed..c42ac20006ba6 100644 --- a/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_guard1.json +++ b/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_guard1.json @@ -105,7 +105,7 @@ "type": "talk_topic", "id": "TALK_EVAC_GUARD1_BYE", "dynamic_line": "Stay safe out there. Hate to have to kill you after you've already died.", - "responses": [ { "text": "...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "…", "topic": "TALK_DONE" } ] }, { "id": "MISSION_EVAC_SMOKER_GET_CIGARETTES", diff --git a/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_guard2.json b/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_guard2.json index 4c94b34bec017..f39d6d854f29e 100644 --- a/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_guard2.json +++ b/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_guard2.json @@ -27,7 +27,7 @@ "type": "talk_topic", "id": "TALK_EVAC_GUARD2_NEW", "dynamic_line": "Yes of course. Just don't bring any trouble and it's all fine by me.", - "responses": [ { "text": "...", "topic": "TALK_EVAC_GUARD2" } ] + "responses": [ { "text": "…", "topic": "TALK_EVAC_GUARD2" } ] }, { "type": "talk_topic", @@ -42,7 +42,7 @@ "type": "talk_topic", "id": "TALK_EVAC_GUARD2_RULES_BASEMENT", "dynamic_line": "In short, we had a problem when a sick refugee died and turned into a zombie. We had to expel the refugees and most of our surviving group now stays to the basement to prevent it from happening again. Unless you really prove your worth I don't foresee any exceptions to that rule.", - "responses": [ { "text": "...", "topic": "TALK_EVAC_GUARD2" } ] + "responses": [ { "text": "…", "topic": "TALK_EVAC_GUARD2" } ] }, { "type": "talk_topic", @@ -54,6 +54,6 @@ "type": "talk_topic", "id": "TALK_EVAC_GUARD2_TRADE", "dynamic_line": "You are asking the wrong person, should look for our merchant by the main entrance. Perhaps one of the scavengers is also interested.", - "responses": [ { "text": "...", "topic": "TALK_EVAC_GUARD2" } ] + "responses": [ { "text": "…", "topic": "TALK_EVAC_GUARD2" } ] } ] diff --git a/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_guard3.json b/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_guard3.json index 1b03df507c6fd..76113d7c858e7 100644 --- a/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_guard3.json +++ b/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_guard3.json @@ -18,27 +18,27 @@ { "text": "What do you do around here?", "topic": "TALK_EVAC_GUARD3_NEW" }, { "text": "Got tips for avoiding trouble?", "topic": "TALK_EVAC_GUARD3_RULES" }, { "text": "Have you seen anyone who might be hiding something?", "topic": "TALK_EVAC_GUARD3_HIDE1" }, - { "text": "Bye...", "topic": "TALK_DONE" } + { "text": "Bye…", "topic": "TALK_DONE" } ] }, { "id": "TALK_EVAC_GUARD3_NEW", "type": "talk_topic", "dynamic_line": "I haven't been here for long but I do my best to watch who comes and goes. You can't always predict who will bring trouble.", - "responses": [ { "text": "...", "topic": "TALK_EVAC_GUARD3" } ] + "responses": [ { "text": "…", "topic": "TALK_EVAC_GUARD3" } ] }, { "id": "TALK_EVAC_GUARD3_RULES", "type": "talk_topic", "dynamic_line": "Keep your head down and stay out of my way.", - "responses": [ { "text": "OK...", "topic": "TALK_EVAC_GUARD3" } ] + "responses": [ { "text": "OK…", "topic": "TALK_EVAC_GUARD3" } ] }, { "id": "TALK_EVAC_GUARD3_HIDE1", "type": "talk_topic", "dynamic_line": "Like what?", "responses": [ - { "text": "I'm not sure...", "topic": "TALK_EVAC_GUARD3_WASTE" }, + { "text": "I'm not sure…", "topic": "TALK_EVAC_GUARD3_WASTE" }, { "text": "Like they could be working for someone else?", "topic": "TALK_EVAC_GUARD3_HIDE2" } ] }, @@ -62,7 +62,7 @@ "success": { "topic": "TALK_EVAC_GUARD3_DEAD", "effect": { "npc_change_faction": "hells_raiders" } }, "failure": { "topic": "TALK_EVAC_GUARD3_INSULT", "effect": { "u_faction_rep": -5 } } }, - { "text": "Sorry, I didn't mean to offend you...", "topic": "TALK_EVAC_GUARD3_WASTE" } + { "text": "Sorry, I didn't mean to offend you…", "topic": "TALK_EVAC_GUARD3_WASTE" } ] }, { @@ -75,18 +75,18 @@ "id": "TALK_EVAC_GUARD3_DEAD", "type": "talk_topic", "dynamic_line": "That's it, you're dead!", - "responses": [ { "text": "I didn't mean it!", "topic": "TALK_DONE" }, { "text": "...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "I didn't mean it!", "topic": "TALK_DONE" }, { "text": "…", "topic": "TALK_DONE" } ] }, { "id": "TALK_EVAC_GUARD3_HOSTILE", "type": "talk_topic", "dynamic_line": "You must really have a death wish!", - "responses": [ { "text": "I didn't mean it!", "topic": "TALK_DONE" }, { "text": "...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "I didn't mean it!", "topic": "TALK_DONE" }, { "text": "…", "topic": "TALK_DONE" } ] }, { "id": "TALK_EVAC_GUARD3_INSULT", "type": "talk_topic", "dynamic_line": "We don't put-up with garbage like you, finish your business and get the hell out.", - "responses": [ { "text": "...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "…", "topic": "TALK_DONE" } ] } ] diff --git a/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_guard_generic.json b/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_guard_generic.json index 86013d6887da1..7c5306be2a3f2 100644 --- a/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_guard_generic.json +++ b/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_guard_generic.json @@ -22,6 +22,6 @@ "no": [ "Ma'am", "Ma'am, you really shouldn't be traveling out there." ] } ], - "responses": [ { "text": "Don't mind me...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "Don't mind me…", "topic": "TALK_DONE" } ] } ] diff --git a/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_shopkeep.json b/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_shopkeep.json index 867e05c2bf345..f0a91268f0ec3 100644 --- a/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_shopkeep.json +++ b/data/json/npcs/refugee_center/surface_staff/NPC_free_merchant_shopkeep.json @@ -225,7 +225,7 @@ ], "type": "talk_topic", "responses": [ - { "text": "I heard this place was a refugee center...", "topic": "TALK_EVAC_MERCHANT_NEW" }, + { "text": "I heard this place was a refugee center…", "topic": "TALK_EVAC_MERCHANT_NEW" }, { "text": "What are you doing here?", "topic": "TALK_EVAC_MERCHANT_PLANS" }, { "text": "Heard anything about the outside world?", "topic": "TALK_EVAC_MERCHANT_WORLD" }, { "text": "Is there any way I can join your group?", "topic": "TALK_EVAC_MERCHANT_ASK_JOIN" }, @@ -247,7 +247,7 @@ { "text": "Can I do anything for the center?", "topic": "TALK_MISSION_LIST" }, { "text": "Let's trade then.", "effect": "start_trade", "topic": "TALK_EVAC_MERCHANT" }, { - "text": "I figured you might be looking for some help...", + "text": "I figured you might be looking for some help…", "topic": "TALK_NONE", "effect": { "companion_mission": "REFUGEE_MERCHANT" }, "condition": { "u_has_any_trait": [ "NPC_MISSION_LEV_1" ] } @@ -279,7 +279,7 @@ "dynamic_line": "I'm sorry, but the only way we're going to make it is if we keep our gates buttoned fast. The guards in the basement have orders to shoot on sight, if you so much as peep your head in the lower levels. I don't know what made the scavengers out there so ruthless but some of us have had to kill our own bloody kids... don't even think about strong arming us.", "responses": [ { - "text": "[INT 10] Wait, six buses and refugees... how many people do you still have crammed in here?", + "text": "[INT 10] Wait, six buses and refugees… how many people do you still have crammed in here?", "topic": "TALK_EVAC_MERCHANT_PLANS3", "condition": { "u_has_intelligence": 10 } } @@ -310,13 +310,13 @@ "id": "TALK_EVAC_MERCHANT_NO", "type": "talk_topic", "dynamic_line": "I'm sorry, not a risk we are willing to take right now.", - "responses": [ { "text": "Fine...", "topic": "TALK_EVAC_MERCHANT" } ] + "responses": [ { "text": "Fine…", "topic": "TALK_EVAC_MERCHANT" } ] }, { "id": "TALK_EVAC_MERCHANT_HELL_NO", "type": "talk_topic", "dynamic_line": "There isn't a chance in hell! We had one guy come in here with bloody fur all over his body... well I guess that isn't all that strange but I'm pretty sure whatever toxic waste is still out there is bound to mutate more than just his hair.", - "responses": [ { "text": "Fine... *coughupyourscough*", "topic": "TALK_EVAC_MERCHANT" } ] + "responses": [ { "text": "Fine… *coughupyourscough*", "topic": "TALK_EVAC_MERCHANT" } ] }, { "id": "TALK_EVAC_MERCHANT_ASK_JOIN", @@ -335,7 +335,7 @@ "topic": "TALK_EVAC_MERCHANT_NO", "condition": { "and": [ { "not": { "u_has_intelligence": 7 } }, { "u_has_strength": 11 } ] } }, - { "text": "I guess I'll look somewhere else...", "topic": "TALK_EVAC_MERCHANT" } + { "text": "I guess I'll look somewhere else…", "topic": "TALK_EVAC_MERCHANT" } ] }, { @@ -345,7 +345,7 @@ "responses": [ { "text": "Hordes?", "topic": "TALK_EVAC_MERCHANT_HORDES" }, { "text": "Heard of anything better than the odd gun cache?", "topic": "TALK_EVAC_MERCHANT_PRIME_LOOT" }, - { "text": "Was hoping for something more...", "topic": "TALK_EVAC_MERCHANT" } + { "text": "Was hoping for something more…", "topic": "TALK_EVAC_MERCHANT" } ] }, { diff --git a/data/json/npcs/refugee_center/surface_staff/NPC_old_guard_doctor.json b/data/json/npcs/refugee_center/surface_staff/NPC_old_guard_doctor.json index 3f4010faa9211..216a3c5052915 100644 --- a/data/json/npcs/refugee_center/surface_staff/NPC_old_guard_doctor.json +++ b/data/json/npcs/refugee_center/surface_staff/NPC_old_guard_doctor.json @@ -30,7 +30,7 @@ "dynamic_line": "I'm a doctor, one of the several at the outpost. We were the lucky ones. Came here right went things started to go wrong, never left.", "responses": [ { "text": "So what are you doing right now?", "topic": "TALK_SCIENCE_REP_NEW_DOING" }, - { "text": "Never mind...", "topic": "TALK_SCIENCE_REP" } + { "text": "Never mind…", "topic": "TALK_SCIENCE_REP" } ] }, { @@ -39,26 +39,26 @@ "dynamic_line": "The Old Guard--that's what's left of the feds--set me up here to screen any new arrivals for infection risks. Can't be too paranoid these days. Sad to have to turn people away, but I like the assignment for the chance to get news about the outside world.", "responses": [ { "text": "What kind of news?", "topic": "TALK_SCIENCE_REP_NEW_NEWS" }, - { "text": "Never mind...", "topic": "TALK_SCIENCE_REP" } + { "text": "Never mind…", "topic": "TALK_SCIENCE_REP" } ] }, { "id": "TALK_SCIENCE_REP_NEW_NEWS", "type": "talk_topic", "dynamic_line": "Sightings of unusual living dead or new mutations. The more we know about what's happening, the closer we can get to a treatment or maybe even a cure. It's a long shot, but you have hope to survive.", - "responses": [ { "text": "Good luck with that...", "topic": "TALK_SCIENCE_REP" } ] + "responses": [ { "text": "Good luck with that…", "topic": "TALK_SCIENCE_REP" } ] }, { "id": "TALK_SCIENCE_REP_WORLD", "type": "talk_topic", "dynamic_line": "This is no classic zombie outbreak. The dead seem to be getting stronger as the days go on. Some survivors too, come in here with... adaptations. Maybe they're related.", - "responses": [ { "text": "Never mind...", "topic": "TALK_SCIENCE_REP" } ] + "responses": [ { "text": "Never mind…", "topic": "TALK_SCIENCE_REP" } ] }, { "id": "TALK_SCIENCE_REP_ASK_TRADE", "type": "talk_topic", "dynamic_line": "We can't. There's nothing we can spare to sell and I've got no budget to buy from you. I don't suppose you want to donate?", - "responses": [ { "text": "...", "topic": "TALK_SCIENCE_REP" } ] + "responses": [ { "text": "…", "topic": "TALK_SCIENCE_REP" } ] }, { "id": "MISSION_SCIENCE_REP_1", diff --git a/data/json/npcs/refugee_center/surface_visitors/NPC_arsonist.json b/data/json/npcs/refugee_center/surface_visitors/NPC_arsonist.json index 41e6de2bc0ee5..5dd39f169c446 100644 --- a/data/json/npcs/refugee_center/surface_visitors/NPC_arsonist.json +++ b/data/json/npcs/refugee_center/surface_visitors/NPC_arsonist.json @@ -34,20 +34,20 @@ "type": "talk_topic", "id": "TALK_ARSONIST_NEW", "dynamic_line": "Guess that makes two of us. Well, kind of. I don't think we're open, though. Full up as hell; it's almost a crowd downstairs. Did you see the trader at the entrance? There's the one to ask.", - "responses": [ { "text": "Sucks...", "topic": "TALK_ARSONIST" } ] + "responses": [ { "text": "Sucks…", "topic": "TALK_ARSONIST" } ] }, { "type": "talk_topic", "id": "TALK_ARSONIST_DOING_REBAR", "dynamic_line": "Well, there's a guy downstairs who got a working pneumatic cannon. It shoots metal like... like a cannon without the bang. Cost-efficient as hell. And there's no shortage of improvised weapons you can make. The big thing though, seems to be continuing construction of fortifications. Very few of those monsters seem to be able to break through a fence or wall constructed with the stuff.", - "responses": [ { "text": "Well, then...", "topic": "TALK_ARSONIST" } ] + "responses": [ { "text": "Well, then…", "topic": "TALK_ARSONIST" } ] }, { "type": "talk_topic", "id": "TALK_ARSONIST_WORLD", "dynamic_line": "Nothing optimistic, at least. Had a pal on the road with a ham radio, but she's gone and so is that thing. Kaput.", "responses": [ - { "text": "...", "topic": "TALK_ARSONIST" }, + { "text": "…", "topic": "TALK_ARSONIST" }, { "text": "Nothing optimistic?", "topic": "TALK_ARSONIST_WORLD_OPTIMISTIC" } ] }, @@ -61,7 +61,7 @@ "type": "talk_topic", "id": "TALK_ARSONIST_JOIN", "dynamic_line": "I don't know. I mean, if you can make yourself useful. But that's become a real hazy thing nowadays. It depends who you ask. The merchant definitely doesn't want me here when I'm not selling, but... some people get away with it.", - "responses": [ { "text": "...", "topic": "TALK_ARSONIST" } ] + "responses": [ { "text": "…", "topic": "TALK_ARSONIST" } ] }, { "type": "talk_topic", @@ -95,7 +95,7 @@ }, "responses": [ { - "text": "...", + "text": "…", "success": { "effect": "end_conversation", "opinion": { "trust": -1, "fear": -2, "value": -1, "anger": 1 }, "topic": "TALK_DONE" } } ] diff --git a/data/json/npcs/refugee_center/surface_visitors/NPC_hunter.json b/data/json/npcs/refugee_center/surface_visitors/NPC_hunter.json index bab949d90df24..66ba8fe6d5661 100644 --- a/data/json/npcs/refugee_center/surface_visitors/NPC_hunter.json +++ b/data/json/npcs/refugee_center/surface_visitors/NPC_hunter.json @@ -19,7 +19,7 @@ "no": "Huh, thought I smelled someone new. Can I help you?" }, "responses": [ - { "text": "You... smelled me?", "topic": "TALK_EVAC_HUNTER_SMELL" }, + { "text": "You… smelled me?", "topic": "TALK_EVAC_HUNTER_SMELL" }, { "text": "What do you do around here?", "topic": "TALK_EVAC_HUNTER_DO" }, { "text": "Got anything for sale?", "topic": "TALK_EVAC_HUNTER_SALE" }, { "text": "Got any survival advice?", "topic": "TALK_EVAC_HUNTER_ADVICE" }, @@ -45,19 +45,19 @@ "id": "TALK_EVAC_HUNTER_LIFE", "type": "talk_topic", "dynamic_line": "Not really, just trying to lead my life.", - "responses": [ { "text": "...", "topic": "TALK_EVAC_HUNTER" } ] + "responses": [ { "text": "…", "topic": "TALK_EVAC_HUNTER" } ] }, { "id": "TALK_EVAC_HUNTER_HUNT", "type": "talk_topic", "dynamic_line": "Yep. Whatever game I spot, I bag and sell the meat and other parts here. Got the occasional fish and basket full of wild fruit, but nothing comes close to a freshly-cooked moose steak for supper!", - "responses": [ { "text": "Great, now my mouth is watering...", "topic": "TALK_EVAC_HUNTER" } ] + "responses": [ { "text": "Great, now my mouth is watering…", "topic": "TALK_EVAC_HUNTER" } ] }, { "id": "TALK_EVAC_HUNTER_SALE", "type": "talk_topic", "dynamic_line": "Sure, just bagged a fresh batch of meat. You may want to grill it up before it gets too, uh... 'tender'.", - "responses": [ { "text": "...", "effect": "start_trade", "topic": "TALK_EVAC_HUNTER" } ] + "responses": [ { "text": "…", "effect": "start_trade", "topic": "TALK_EVAC_HUNTER" } ] }, { "id": "TALK_EVAC_HUNTER_ADVICE", @@ -71,12 +71,12 @@ "A steady diet of cooked meat and clean water will keep you alive forever, but your taste buds and your colon may start to get angry at you. Eat a piece of fruit every once in a while.", "Smoke crack to get more shit done." ], - "responses": [ { "text": "...", "topic": "TALK_EVAC_HUNTER" } ] + "responses": [ { "text": "…", "topic": "TALK_EVAC_HUNTER" } ] }, { "id": "TALK_EVAC_HUNTER_BYE", "type": "talk_topic", "dynamic_line": "Watch your back out there.", - "responses": [ { "text": "...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "…", "topic": "TALK_DONE" } ] } ] diff --git a/data/json/npcs/refugee_center/surface_visitors/NPC_old_guard_representative.json b/data/json/npcs/refugee_center/surface_visitors/NPC_old_guard_representative.json index 98b29eb6e53c5..aec2b252ca751 100644 --- a/data/json/npcs/refugee_center/surface_visitors/NPC_old_guard_representative.json +++ b/data/json/npcs/refugee_center/surface_visitors/NPC_old_guard_representative.json @@ -40,7 +40,7 @@ "dynamic_line": "I'm the region's federal liaison. Most people here call us the 'Old Guard' and I rather like the sound of it. Despite how things currently appear, the federal government was not entirely destroyed. After the outbreak I was chosen to coordinate civilian and militia efforts in support of military operations.", "responses": [ { "text": "So what are you actually doing here?", "topic": "TALK_OLD_GUARD_REP_NEW_DOING" }, - { "text": "Never mind...", "topic": "TALK_OLD_GUARD_REP" } + { "text": "Never mind…", "topic": "TALK_OLD_GUARD_REP" } ] }, { @@ -50,14 +50,14 @@ "responses": [ { "text": "Is there a catch?", "topic": "TALK_OLD_GUARD_REP_NEW_DOWNSIDE" }, { "text": "Anything more to it?", "topic": "TALK_OLD_GUARD_REP_NEW_DOWNSIDE" }, - { "text": "Never mind...", "topic": "TALK_OLD_GUARD_REP" } + { "text": "Never mind…", "topic": "TALK_OLD_GUARD_REP" } ] }, { "id": "TALK_OLD_GUARD_REP_NEW_DOWNSIDE", "type": "talk_topic", "dynamic_line": "Well... I was like any other civilian till they conscripted me so I'll tell it to you straight. They're the best hope we got right now. They are stretched impossibly thin but are willing to do what is needed to maintain order. They don't care much about looters since they understand most everyone is dead, but if you have something they need... you WILL give it to them. Since most survivors here have nothing they want, they are welcomed as champions.", - "responses": [ { "text": "Hmmm...", "topic": "TALK_OLD_GUARD_REP" } ] + "responses": [ { "text": "Hmmm…", "topic": "TALK_OLD_GUARD_REP" } ] }, { "id": "TALK_OLD_GUARD_REP_WORLD", @@ -66,26 +66,26 @@ "responses": [ { "text": "The 2nd Fleet?", "topic": "TALK_OLD_GUARD_REP_WORLD_2NDFLEET" }, { "text": "Tell me about the footholds.", "topic": "TALK_OLD_GUARD_REP_WORLD_FOOTHOLDS" }, - { "text": "Never mind...", "topic": "TALK_OLD_GUARD_REP" } + { "text": "Never mind…", "topic": "TALK_OLD_GUARD_REP" } ] }, { "id": "TALK_OLD_GUARD_REP_WORLD_2NDFLEET", "type": "talk_topic", "dynamic_line": "I don't know much about how it formed but it is the armada of military and commercial ships that's floating off the coast. They have everything from supertankers and carriers to fishing trawlers... even a few NATO ships. Most civilians are offered a cabin on one of the liners to retire to if they serve as a federal employee for a few years.", - "responses": [ { "text": "Hmmm...", "topic": "TALK_OLD_GUARD_REP" } ] + "responses": [ { "text": "Hmmm…", "topic": "TALK_OLD_GUARD_REP" } ] }, { "id": "TALK_OLD_GUARD_REP_WORLD_FOOTHOLDS", "type": "talk_topic", "dynamic_line": "They may just be propaganda but apparently one or two cities were successful in 'walling themselves off.' Around here I was told that there were a few places like this one but I couldn't tell you where.", - "responses": [ { "text": "Hmmm...", "topic": "TALK_OLD_GUARD_REP" } ] + "responses": [ { "text": "Hmmm…", "topic": "TALK_OLD_GUARD_REP" } ] }, { "id": "TALK_OLD_GUARD_REP_ASK_JOIN", "type": "talk_topic", "dynamic_line": "You can't actually join unless you go through a recruiter. We can usually use help though, ask me from time to time if there is any work available. Completing missions as a contractor is a great way to make a name for yourself among the most powerful men left in the world.", - "responses": [ { "text": "Hmmm...", "topic": "TALK_OLD_GUARD_REP" } ] + "responses": [ { "text": "Hmmm…", "topic": "TALK_OLD_GUARD_REP" } ] }, { "id": "MISSION_OLD_GUARD_REP_1", diff --git a/data/json/npcs/refugee_center/surface_visitors/NPC_scavenger_mercenary.json b/data/json/npcs/refugee_center/surface_visitors/NPC_scavenger_mercenary.json index 29962e56992db..a854201ed0147 100644 --- a/data/json/npcs/refugee_center/surface_visitors/NPC_scavenger_mercenary.json +++ b/data/json/npcs/refugee_center/surface_visitors/NPC_scavenger_mercenary.json @@ -78,7 +78,7 @@ { "id": "TALK_SCAVENGER_MERC", "type": "talk_topic", - "dynamic_line": { "u_is_wearing": "badge_marshal", "yes": "I haven't done anything wrong...", "no": "..." }, + "dynamic_line": { "u_is_wearing": "badge_marshal", "yes": "I haven't done anything wrong…", "no": "…" }, "responses": [ { "text": "Who are you?", "topic": "TALK_SCAVENGER_MERC_NEW" }, { "text": "Any tips for surviving?", "topic": "TALK_SCAVENGER_MERC_TIPS" }, @@ -90,7 +90,7 @@ "id": "TALK_SCAVENGER_MERC_NEW", "type": "talk_topic", "dynamic_line": "I'm just a hired hand. Someone pays me and I do what needs to be done.", - "responses": [ { "text": "...", "topic": "TALK_SCAVENGER_MERC" } ] + "responses": [ { "text": "…", "topic": "TALK_SCAVENGER_MERC" } ] }, { "id": "TALK_SCAVENGER_MERC_TIPS", diff --git a/data/json/npcs/robofac/NPC_ROBOFAC_INTERCOM.json b/data/json/npcs/robofac/NPC_ROBOFAC_INTERCOM.json index 1a975cdf204bf..4afcaaae14dce 100644 --- a/data/json/npcs/robofac/NPC_ROBOFAC_INTERCOM.json +++ b/data/json/npcs/robofac/NPC_ROBOFAC_INTERCOM.json @@ -137,7 +137,7 @@ "has_generic_rewards": false, "followup": "MISSION_ROBOFAC_INTERCOM_3", "dialogue": { - "describe": "...", + "describe": "…", "offer": "When the portal storms started, the Government issued an evacuation order for critical XEDRA personnel and sent convoys to retrieve them, with our head of AI research among the recalled. We recently discovered that he died when the convoy transferring him was ambushed in the initial chaos, but his corpse and memory bionic might remain intact enough for us to extract valuable knowledge. We want you to travel to the location, make a copy of his Bionic Memory Unit, and return it to us.", "accepted": "Remember, perform the extraction /exactly/ as specified, otherwise the bionic will self-destruct.", "rejected": "Yes, we recognize that our request is exceptional. Return if you change your mind.", @@ -152,7 +152,7 @@ "id": "MISSION_ROBOFAC_INTERCOM_3", "type": "mission_definition", "name": "Light retrieval", - "description": "Reach the collapsed tower basement, and search the ruins for a photonic circuitry template. The intercom warned you about heavy enemy prescence, and of the existence of a hazardous enviroment.", + "description": "Reach the collapsed tower basement, and search the ruins for a photonic circuitry template. The intercom warned you about heavy enemy presence, and of the existence of a hazardous environment.", "goal": "MGOAL_FIND_ITEM", "difficulty": 5, "item": "template_photonics", @@ -172,7 +172,7 @@ "origins": [ "ORIGIN_SECONDARY" ], "has_generic_rewards": false, "dialogue": { - "describe": "...", + "describe": "…", "offer": "Our facility once sourced advanced photonic circuitry from a nearby robotics manufacturer. Their building suffered major damage during the portal storms, and collapsed almost entirely. However, preliminary scouting reveals that the basement prototyping lab likely remains intact.\n\nthe intercom: We ask you to investigate the ruins, and if possible, retrieve a template for the fabrication of said photonic circuitry.", "accepted": "We expect your success, mercenary.", "rejected": "Return if you change your mind.", @@ -286,7 +286,7 @@ "effect": { "npc_add_var": "npc_failed_intercom_trade", "type": "dialogue", "context": "intercom", "value": "yes" }, "sentinel": "no_intercom_trade" }, - "responses": [ { "text": "...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "…", "topic": "TALK_DONE" } ] }, { "id": "TALK_ROBOFAC_INTERCOM_TRADE", @@ -296,13 +296,13 @@ "effect": { "npc_add_var": "npc_intercom_trade", "type": "dialogue", "context": "intercom", "value": "yes" }, "sentinel": "intercom_trade" }, - "responses": [ { "text": "...", "effect": "start_trade", "topic": "TALK_DONE" } ] + "responses": [ { "text": "…", "effect": "start_trade", "topic": "TALK_DONE" } ] }, { "id": "TALK_ROBOFAC_INTERCOM_PROTOTYPE_ASK", "type": "talk_topic", "dynamic_line": "It was a modified Wraitheon chassis, with a custom AI. We hoped it would interact with the outside world for us, but you know how well it went... Shame about what happened, with the evisceration and all...", - "responses": [ { "text": "...", "topic": "TALK_ROBOFAC_INTERCOM" } ] + "responses": [ { "text": "…", "topic": "TALK_ROBOFAC_INTERCOM" } ] }, { "id": "TALK_ROBOFAC_INTERCOM_BUY_PROTECTIVE_GEAR", @@ -327,7 +327,7 @@ { "id": "TALK_ROBOFAC_INTERCOM_PLEAD", "type": "talk_topic", - "dynamic_line": { "u_has_mission": "MISSION_ROBOFAC_INTERCOM_1", "yes": "...", "no": "Just leave." }, + "dynamic_line": { "u_has_mission": "MISSION_ROBOFAC_INTERCOM_1", "yes": "…", "no": "Just leave." }, "responses": [ { "text": "Wait! Maybe I can help you!", diff --git a/data/json/npcs/robofac/NPC_ROBOFAC_MERC_1.json b/data/json/npcs/robofac/NPC_ROBOFAC_MERC_1.json index ce9dfa840a4b7..1ff32ac279157 100644 --- a/data/json/npcs/robofac/NPC_ROBOFAC_MERC_1.json +++ b/data/json/npcs/robofac/NPC_ROBOFAC_MERC_1.json @@ -70,7 +70,7 @@ { "id": "TALK_ROBOFAC_MERC_1", "type": "talk_topic", - "dynamic_line": [ "Something to say?", "I charge hourly, so be quick...", "Hey.", "...", "Yes?", "What's up?", "Good to see you." ], + "dynamic_line": [ "Something to say?", "I charge hourly, so be quick…", "Hey.", "…", "Yes?", "What's up?", "Good to see you." ], "responses": [ { "text": "Who are you?", @@ -121,9 +121,9 @@ "Well?", "Good to have some company, I guess.", "Have something to say?", - "...", + "…", "Didn't you want something?", - "..." + "…" ], "responses": [ { "text": "Anything interesting going on?", "topic": "TALK_ROBOFAC_MERC_1_GOING_ON" }, @@ -156,14 +156,14 @@ "id": "TALK_ROBOFAC_MERC_1_GOING_ON", "type": "talk_topic", "dynamic_line": [ "Just came back from a job. Trying to rest for a short while." ], - "responses": [ { "text": "...", "topic": "TALK_ROBOFAC_MERC_1_MAIN" } ] + "responses": [ { "text": "…", "topic": "TALK_ROBOFAC_MERC_1_MAIN" } ] }, { "id": "TALK_ROBOFAC_MERC_1_COINS", "type": "talk_topic", "dynamic_line": "Have you noticed they pay us in tiny little gold coins, it's bizarre I say. One would think they have a gold mine in there, but no, they don't, so they make me cross the damned world grabbing gold bars. ", "responses": [ - { "text": "I guess I could help with that...", "topic": "TALK_ROBOFAC_MERC_1_GOLD_MISSION" }, + { "text": "I guess I could help with that…", "topic": "TALK_ROBOFAC_MERC_1_GOLD_MISSION" }, { "text": "Now that you mention it, it does seem rather strange.", "topic": "TALK_ROBOFAC_MERC_1_MAIN" } ] }, @@ -178,7 +178,7 @@ "I heard some strange dimensional resonance caused all this, do you think it has happened to other places?", "You noticed this place has working WI-FI? Well not the rest of the net works anyways." ], - "responses": [ { "text": "...", "topic": "TALK_ROBOFAC_MERC_1_MAIN" } ] + "responses": [ { "text": "…", "topic": "TALK_ROBOFAC_MERC_1_MAIN" } ] }, { "id": "TALK_ROBOFAC_MERC_1_GOLD_MISSION", diff --git a/data/json/npcs/robofac/NPC_robofac_generic_security.json b/data/json/npcs/robofac/NPC_robofac_generic_security.json index 399d9c21176c3..dc8a913a46c17 100644 --- a/data/json/npcs/robofac/NPC_robofac_generic_security.json +++ b/data/json/npcs/robofac/NPC_robofac_generic_security.json @@ -64,6 +64,6 @@ "id": "TALK_HUB_SECURITY", "type": "talk_topic", "dynamic_line": [ "Keep it civil, merc.", "Just on watch, move along.", { "u_male": [ "Sir." ], "no": [ "Ma'am" ] } ], - "responses": [ { "text": "...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "…", "topic": "TALK_DONE" } ] } ] diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_barber.json b/data/json/npcs/tacoma_ranch/NPC_ranch_barber.json index 99c2c3d4775ce..f9c6317d45c04 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_barber.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_barber.json @@ -29,7 +29,7 @@ "condition": { "u_has_items": { "item": "FMCNote", "count": 6 } }, "effect": [ "buy_haircut", { "u_sell_item": "FMCNote", "count": 6 }, "barber_hair" ] }, - { "text": "Maybe another time...", "topic": "TALK_DONE" } + { "text": "Maybe another time…", "topic": "TALK_DONE" } ] }, { @@ -48,6 +48,6 @@ "type": "talk_topic", "id": "TALK_RANCH_BARBER_CUT", "dynamic_line": "Stand still while I get my clippers...", - "responses": [ { "text": "Thanks...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "Thanks…", "topic": "TALK_DONE" } ] } ] diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_bartender.json b/data/json/npcs/tacoma_ranch/NPC_ranch_bartender.json index c218acc8c3239..afa3ace311ea3 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_bartender.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_bartender.json @@ -25,7 +25,7 @@ "effect": "start_trade" }, { "text": "What do you have on tap?", "topic": "TALK_RANCH_BARKEEP_TAP" }, - { "text": "I'll be going...", "topic": "TALK_DONE" } + { "text": "I'll be going…", "topic": "TALK_DONE" } ] }, { diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_carpenter1.json b/data/json/npcs/tacoma_ranch/NPC_ranch_carpenter1.json index 42f609e5615ee..93a656771124e 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_carpenter1.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_carpenter1.json @@ -14,6 +14,6 @@ "type": "talk_topic", "id": "TALK_RANCH_CONSTRUCTION_1", "dynamic_line": "My partner is in charge of fortifying this place, you should ask him about what needs to be done.", - "responses": [ { "text": "I'll talk to him then...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "I'll talk to him then…", "topic": "TALK_DONE" } ] } ] diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_carpenter2.json b/data/json/npcs/tacoma_ranch/NPC_ranch_carpenter2.json index d0e2fba5acc82..b22b9b20439df 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_carpenter2.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_carpenter2.json @@ -16,7 +16,7 @@ "dynamic_line": "Howdy.", "responses": [ { "text": "What are you doing here?", "topic": "TALK_RANCH_CONSTRUCTION_2_JOB" }, - { "text": "I've got to go...", "topic": "TALK_DONE" } + { "text": "I've got to go…", "topic": "TALK_DONE" } ] }, { diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_crop_overseer.json b/data/json/npcs/tacoma_ranch/NPC_ranch_crop_overseer.json index a0a39ff2461d5..74e253a615289 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_crop_overseer.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_crop_overseer.json @@ -17,12 +17,12 @@ "responses": [ { "text": "What are you doing here?", "topic": "TALK_RANCH_CROP_OVERSEER_JOB" }, { - "text": "I'm interested in investing in agriculture...", + "text": "I'm interested in investing in agriculture…", "topic": "TALK_RANCH_CROP_OVERSEER", "effect": { "companion_mission": "COMMUNE CROPS" } }, { "text": "What do you need done?", "topic": "TALK_MISSION_LIST" }, - { "text": "I've got to go...", "topic": "TALK_DONE" } + { "text": "I've got to go…", "topic": "TALK_DONE" } ] }, { diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_doctor.json b/data/json/npcs/tacoma_ranch/NPC_ranch_doctor.json index eba24015f4397..83c4a03ad0caa 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_doctor.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_doctor.json @@ -16,7 +16,7 @@ "dynamic_line": "I'm sorry, I don't have time to see you at the moment.", "responses": [ { "text": "For the right price could I borrow your services?", "topic": "TALK_RANCH_DOCTOR_BIONICS" }, - { "text": "...", "topic": "TALK_DONE" } + { "text": "…", "topic": "TALK_DONE" } ] }, { @@ -25,11 +25,11 @@ "dynamic_line": "I imagine we might be able to work something out.", "responses": [ { - "text": "I was wondering if you could install a cybernetic implant...", + "text": "I was wondering if you could install a cybernetic implant…", "topic": "TALK_DONE", "effect": "bionic_install" }, - { "text": "I need help removing an implant...", "topic": "TALK_DONE", "effect": "bionic_remove" } + { "text": "I need help removing an implant…", "topic": "TALK_DONE", "effect": "bionic_remove" } ] } ] diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_farmer1.json b/data/json/npcs/tacoma_ranch/NPC_ranch_farmer1.json index 7c376372613c1..8ee28f999489d 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_farmer1.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_farmer1.json @@ -13,18 +13,18 @@ { "type": "talk_topic", "id": "TALK_RANCH_FARMER_1", - "dynamic_line": "...", + "dynamic_line": "…", "responses": [ { "text": "What are you doing here?", "topic": "TALK_RANCH_FARMER_1_JOB" }, { "text": "I'd like to hire your services.", "topic": "TALK_RANCH_FARMER_1_HIRE" }, - { "text": "I've got to go...", "topic": "TALK_DONE" } + { "text": "I've got to go…", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", "id": "TALK_RANCH_FARMER_1_JOB", "dynamic_line": "I was sent here to assist in setting-up the farm. Most of us have no real skills that transfer from before the cataclysm so things are a bit of trial and error.", - "responses": [ { "text": "...", "topic": "TALK_RANCH_FARMER_1" } ] + "responses": [ { "text": "…", "topic": "TALK_RANCH_FARMER_1" } ] }, { "type": "talk_topic", diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_farmer2.json b/data/json/npcs/tacoma_ranch/NPC_ranch_farmer2.json index 66e53f8f07cbf..8caf247cb420e 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_farmer2.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_farmer2.json @@ -17,19 +17,19 @@ "responses": [ { "text": "What are you doing here?", "topic": "TALK_RANCH_FARMER_2_JOB" }, { "text": "I'd like to hire your services.", "topic": "TALK_RANCH_FARMER_2_HIRE" }, - { "text": "I've got to go...", "topic": "TALK_DONE" } + { "text": "I've got to go…", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", "id": "TALK_RANCH_FARMER_2_JOB", "dynamic_line": "I'm just a lucky guy that went from being chased by the undead to the noble life of a dirt farmer. We get room and board but won't see a share of our labor unless the crop is a success.", - "responses": [ { "text": "It could be worse...", "topic": "TALK_RANCH_FARMER_2" } ] + "responses": [ { "text": "It could be worse…", "topic": "TALK_RANCH_FARMER_2" } ] }, { "type": "talk_topic", "id": "TALK_RANCH_FARMER_2_HIRE", "dynamic_line": "I've got no time for you. If you want to make a trade or need a job look for the foreman or crop overseer.", - "responses": [ { "text": "I'll talk with them then...", "topic": "TALK_RANCH_FARMER_2" } ] + "responses": [ { "text": "I'll talk with them then…", "topic": "TALK_RANCH_FARMER_2" } ] } ] diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_foreman.json b/data/json/npcs/tacoma_ranch/NPC_ranch_foreman.json index 08e7419f0dbaf..cf186a7739cf7 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_foreman.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_foreman.json @@ -29,7 +29,7 @@ { "text": "What's your job here?", "topic": "TALK_RANCH_FOREMAN_JOB" }, { "text": "What do you need done?", "topic": "TALK_MISSION_LIST" }, { - "text": "I figured you might be looking for some help...", + "text": "I figured you might be looking for some help…", "topic": "TALK_RANCH_FOREMAN", "effect": { "companion_mission": "FOREMAN" } }, @@ -38,7 +38,7 @@ "topic": "TALK_RANCH_FOREMAN_Nunez", "condition": { "u_has_var": "Nunez_Tacoma", "type": "recruit", "context": "general", "value": "phase_1" } }, - { "text": "I've got to go...", "topic": "TALK_DONE" } + { "text": "I've got to go…", "topic": "TALK_DONE" } ] }, { @@ -63,7 +63,7 @@ "type": "talk_topic", "id": "TALK_RANCH_FOREMAN_REFUGEES", "dynamic_line": "Could easily be hundreds as far as I know. They chose this ranch because of its rather remote location, decent fence, and huge cleared field. With as much land as we have fenced off we could build a village if we had the materials. We would have tried to secure a small town or something but the lack of good farmland and number of undead makes it more practical for us to build from scratch. The refugee center I came from is constantly facing starvation and undead assaults.", - "responses": [ { "text": "Hopefully moving out here was worth it...", "topic": "TALK_RANCH_FOREMAN" } ] + "responses": [ { "text": "Hopefully moving out here was worth it…", "topic": "TALK_RANCH_FOREMAN" } ] }, { "type": "talk_topic", diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_guard.json b/data/json/npcs/tacoma_ranch/NPC_ranch_guard.json index c77fc2e1971f5..d1af5c89f34c0 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_guard.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_guard.json @@ -22,6 +22,6 @@ "no": [ "Ma'am", "Ma'am, you really shouldn't be traveling out there." ] } ], - "responses": [ { "text": "Don't mind me...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "Don't mind me…", "topic": "TALK_DONE" } ] } ] diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_nurse.json b/data/json/npcs/tacoma_ranch/NPC_ranch_nurse.json index 6adc2e572ef44..7375c56371100 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_nurse.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_nurse.json @@ -20,7 +20,7 @@ { "text": "What is your job here?", "topic": "TALK_RANCH_NURSE_JOB" }, { "text": "Do you need any help?", "topic": "TALK_RANCH_NURSE_HIRE" }, { "text": "I could use your medical assistance.", "topic": "TALK_RANCH_NURSE_AID" }, - { "text": "I've got to go...", "topic": "TALK_DONE" } + { "text": "I've got to go…", "topic": "TALK_DONE" } ] }, { @@ -92,7 +92,7 @@ "type": "talk_topic", "id": "TALK_RANCH_NURSE_AID_DONE", "dynamic_line": "That's the best I can do on short notice.", - "responses": [ { "text": "...", "topic": "TALK_DONE" } ] + "responses": [ { "text": "…", "topic": "TALK_DONE" } ] }, { "id": "MISSION_RANCH_NURSE_1", diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_scavenger.json b/data/json/npcs/tacoma_ranch/NPC_ranch_scavenger.json index 6ef7c9293058a..1d76a081bd4e1 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_scavenger.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_scavenger.json @@ -19,7 +19,7 @@ { "text": "What is your job here?", "topic": "TALK_RANCH_SCAVENGER_1_JOB" }, { "text": "Do you need any help?", "topic": "TALK_RANCH_SCAVENGER_1_HIRE" }, { "text": "Let's see what you've managed to find.", "topic": "TALK_RANCH_SCAVENGER_1", "effect": "start_trade" }, - { "text": "I've got to go...", "topic": "TALK_DONE" } + { "text": "I've got to go…", "topic": "TALK_DONE" } ] }, { diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_scrapper.json b/data/json/npcs/tacoma_ranch/NPC_ranch_scrapper.json index bfc258974a5b7..f18a534df8786 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_scrapper.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_scrapper.json @@ -17,7 +17,7 @@ "responses": [ { "text": "What is your job here?", "topic": "TALK_RANCH_SCRAPPER_JOB" }, { "text": "Do you need any help?", "topic": "TALK_RANCH_SCRAPPER_HIRE" }, - { "text": "I've got to go...", "topic": "TALK_DONE" } + { "text": "I've got to go…", "topic": "TALK_DONE" } ] }, { diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_sickly_laborer.json b/data/json/npcs/tacoma_ranch/NPC_ranch_sickly_laborer.json index 5f8a3a0c204dc..fd43d2fa40cee 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_sickly_laborer.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_sickly_laborer.json @@ -18,7 +18,7 @@ { "text": "What is your job here?", "topic": "TALK_RANCH_ILL_1_JOB" }, { "text": "Do you need any help?", "topic": "TALK_RANCH_ILL_1_HIRE" }, { "text": "What's wrong?", "topic": "TALK_RANCH_ILL_1_SICK" }, - { "text": "I've got to go...", "topic": "TALK_DONE" } + { "text": "I've got to go…", "topic": "TALK_DONE" } ] }, { diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_woodcutter1.json b/data/json/npcs/tacoma_ranch/NPC_ranch_woodcutter1.json index 194e5023eb3b4..e6cc62292c266 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_woodcutter1.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_woodcutter1.json @@ -17,7 +17,7 @@ "responses": [ { "text": "What are you doing here?", "topic": "TALK_RANCH_WOODCUTTER_JOB" }, { "text": "I'd like to hire your services.", "topic": "TALK_RANCH_WOODCUTTER_HIRE" }, - { "text": "I've got to go...", "topic": "TALK_DONE" } + { "text": "I've got to go…", "topic": "TALK_DONE" } ] }, { diff --git a/data/json/npcs/tacoma_ranch/NPC_ranch_woodcutter2.json b/data/json/npcs/tacoma_ranch/NPC_ranch_woodcutter2.json index 49fc6b1759146..a842f1581c21d 100644 --- a/data/json/npcs/tacoma_ranch/NPC_ranch_woodcutter2.json +++ b/data/json/npcs/tacoma_ranch/NPC_ranch_woodcutter2.json @@ -17,14 +17,14 @@ "responses": [ { "text": "What is your job here?", "topic": "TALK_RANCH_WOODCUTTER_2_JOB" }, { "text": "Do you need any help?", "topic": "TALK_RANCH_WOODCUTTER_2_HIRE" }, - { "text": "I've got to go...", "topic": "TALK_DONE" } + { "text": "I've got to go…", "topic": "TALK_DONE" } ] }, { "type": "talk_topic", "id": "TALK_RANCH_WOODCUTTER_2_JOB", "dynamic_line": "I turn the logs that laborers bring in into lumber to expand the outpost. Maintaining the saw is a chore but breaks the monotony.", - "responses": [ { "text": "...", "topic": "TALK_RANCH_WOODCUTTER_2" } ] + "responses": [ { "text": "…", "topic": "TALK_RANCH_WOODCUTTER_2" } ] }, { "type": "talk_topic", diff --git a/data/json/npcs/talk_tags.json b/data/json/npcs/talk_tags.json index 9098630d46e82..6384cc419db6d 100644 --- a/data/json/npcs/talk_tags.json +++ b/data/json/npcs/talk_tags.json @@ -9,8 +9,8 @@ "Thorazine is bad for you, you know.", "Thorazine is poison.", "You don't need thorazine, it's limiting you.", - "Thorazine... That's what 'they' use to keep you tame.", - "Don't. This thorazine seriously clouds your mind. You need to stay sharp." + "Thorazine… That's what 'they' use to keep you tame.", + "Don't. This thorazine seriously clouds your mind. You need to stay sharp." ] }, { @@ -18,13 +18,13 @@ "category": "", "//": "Hallucinatry NPCs say these things to encourage the avatar to extend the hallucination", "text": [ - "Pink tablets! I love those!", + "Pink tablets! I love those!", "Hey there's some pink tablets, take some!", "Look, some LSD, let's play cataclysm: fun times ahead!", "Say yes to LSD, say yes to Fun!", "Perfect, those pink tablets will keep us going, take some!", - "You know what would make all this more bearable? Pink Tablets!", - "An odd pink tablet from the ground? I don't see why not!", + "You know what would make all this more bearable? Pink Tablets!", + "An odd pink tablet from the ground? I don't see why not!", "Finally, something to take the edge off." ] }, @@ -35,7 +35,7 @@ "text": [ "No thanks, I'm good.", "I don't want to trade with you.", - "I have the best stuff. And I'm keeping it!", + "I have the best stuff. And I'm keeping it!", "No trading, that's my rule.", "I'm not interested.", "How about no?", @@ -53,7 +53,7 @@ "I have better things to do.", "I'll pass, it's too much work.", "Who put you in charge of what I do?", - "Great idea! Call me when you find SOMEONE ELSE to do it.", + "Great idea! Call me when you find SOMEONE ELSE to do it.", "Not exactly the settlin' type." ] }, @@ -130,13 +130,13 @@ "When we drinkin'?", "When was the last time I had a drink?", "I'm parched, I need to drink something.", - "I'm thirsty...", + "I'm thirsty…", "I'm thirsty.", "I'm thirsty.", "Can you give me something to drink, ?", "I need to get some water.", " if I don't drink something.", - "Water... Is there an oasis nearby?", + "Water… Is there an oasis nearby?", "Did you know that lack of water kills faster than lack of rest?", "I'd kill for a sip of water right now." ] @@ -149,8 +149,8 @@ "Yeah sure, can't help but notice you got beer with you! Let's crack a cold one and chat, , how goes it?", "Oh definitely, how about one of those beers I see on you? What's up anyway?", "Yeah you share those beers I see you hoarding and then we chat all you like! Only joking, what's up ?", - "Hey , I bet a chat would be all the sweeter with a nice, cold beer in hand. How's it going?", - "While we chat, what say you we open a beer and just... pretend the world isn't ending, just for a while?" + "Hey , I bet a chat would be all the sweeter with a nice, cold beer in hand. How's it going?", + "While we chat, what say you we open a beer and just… pretend the world isn't ending, just for a while?" ] }, { @@ -169,9 +169,9 @@ "Always ready for a good chat! But why, you OK?", "OK , we should get to know each other, how are you coping?", "Definitely, I'm game. How you holding up?", - "Good idea . Let's forget the world for a while. How you doin'?", - "Ah, what the heck. How's life been treating you?", - "Sure. So, how about that weather ey?" + "Good idea . Let's forget the world for a while. How you doin'?", + "Ah, what the heck. How's life been treating you?", + "Sure. So, how about that weather ey?" ] }, { @@ -210,9 +210,9 @@ "unhappy", " ", "dejected", - "down", + { "text": { "ctxt": "", "str": "down" } }, "glum", - "blue", + { "text": { "ctxt": "", "str": "blue" } }, "dismal", "sorrowful", "despondent" @@ -244,7 +244,7 @@ "//": "Generally emphatic negative responses to a request or command", "text": [ "never", - "no", + { "text": { "ctxt": "", "str": "no" } }, "not gonna happen", "not happening", "over my dead body", @@ -276,7 +276,7 @@ "Bye bye, !", "See you later, alligator.", "Our paths must part, for now at least.", - "There's something I gotta do on my own. Sorry." + "There's something I gotta do on my own. Sorry." ] }, { @@ -366,7 +366,7 @@ "I prefer to work uninhibited by that kind of connection.", "I haven't found one that's good enough for me.", "I don't belong to a faction, .", - "I'm currently not under any contract. Why, you hiring?" + "I'm currently not under any contract. Why, you hiring?" ] }, { @@ -426,7 +426,7 @@ "When we sleepin'?", "*Yawn*", "What time is it?", - "I'm tired...", + "I'm tired…", "I'm tired.", "I'm tired.", "Can we rest for a while, ?", @@ -434,9 +434,9 @@ " if we don't stop for a moment.", "Did you know that lack of rest kills faster than lack of food?", "I'll just go to sleep, ?", - "I just...gotta close my eyes for a bit, okay?", + "I just… gotta close my eyes for a bit, okay?", "Can't remember the last time I had a proper kip.", - "I can't keep going for long . I need some rest, bad." + "I can't keep going for long . I need some rest, bad." ] }, { @@ -450,7 +450,7 @@ "Time for bed! See you in the morning.", "There's a bed calling my name, and I'm going to it.", "Good night! Wake me if you need me.", - "Calling it a night for now. You get some rest too, okay?" + "Calling it a night for now. You get some rest too, okay?" ] }, { @@ -488,7 +488,19 @@ "type": "snippet", "category": "", "//": "General terms of acknowledgement for an order", - "text": [ "fine", "okay", "get it", "you dig", "dig", "got it", "you see", "see, ", "alright", "that clear", "capiche" ] + "text": [ + { "text": { "ctxt": "", "str": "fine" } }, + { "text": { "ctxt": "", "str": "okay" } }, + "get it", + "you dig", + { "text": { "ctxt": "", "str": "dig" } }, + "got it", + "you see", + "see, ", + "alright", + "that clear", + "capiche" + ] }, { "type": "snippet", @@ -539,12 +551,12 @@ "See you later, !", "See you in hell, !", "Hasta luego, !", - "I'm outta here! ", + "I'm outta here! ", "Bye bye, !", "Thanks, !", "Pleasure doing business with you.", "Now beat it, you .", - "Good haul. See you around" + "Good haul. See you around" ] }, { @@ -552,17 +564,17 @@ "category": "", "//": "Warning from non-hostile NPCs when the player steals something.", "text": [ - "Hey! I saw you take that ! Drop it. Now.", + "Hey! I saw you take that ! Drop it. Now.", "You best be dropping what you just picked up right now .", "I've got eyes, you thief!", - "Hey! That belongs to us! Drop it.", + "Hey! That belongs to us! Drop it.", ", I've seen a thief!", - "I saw that! Drop what you just stole!", + "I saw that! Drop what you just stole!", "Thieves will not last long around me , please drop that.", "Consider this a warning , thieves will not be tolerated, drop it.", - "You think I'm blind ? Don't touch our stuff.", + "You think I'm blind ? Don't touch our stuff.", "You have one chance to put it back.", - "Return the stolen goods. You have to the count of three to comply.", + "Return the stolen goods. You have to the count of three to comply.", "You're not leaving here with stolen goods, ." ] }, @@ -601,8 +613,8 @@ "Drop your weapon, !", "Put down your !", "Alright, drop the !", - "Please put down your weapon. I'll give you to the count of three. One...", - "Let's take it easy now, okay? Put the weapon down." + "Please put down your weapon. I'll give you to the count of three. One…", + "Let's take it easy now, okay? Put the weapon down." ] }, { @@ -638,7 +650,7 @@ "Wait up, ?", "Let's talk, !", "Look, let's talk!", - "Hey, what's the rush? Let's chat a tad." + "Hey, what's the rush? Let's chat a tad." ] }, { @@ -688,7 +700,7 @@ "When we eatin'?", "I'd eat a burger if I had one.", "Perfect time for a lunch break.", - "I'm hungry...", + "I'm hungry…", "I'm hungry.", "I'm hungry.", "So, , when we eatin'?", @@ -767,7 +779,7 @@ "I need to get some distance.", "Fire in the hole, motherfuckers!", "Bombs away!", - "Shrapnel, incoming! Watch it!", + "Shrapnel, incoming! Watch it!", "Making some noise!", "Hit the deck!" ] @@ -784,7 +796,7 @@ ", I'm doomed! There's a ", ", here comes a ", "Incoming!", - "Prepare yourself! We have a", + "Prepare yourself! We have a", "" ] }, @@ -872,7 +884,7 @@ "How do we get out of here?", "Is that the last of them?", "I'd kill for a coke.", - "Weapons check everyone. There may be more.", + "Weapons check everyone. There may be more.", "That's that, then.", "That's the last of them for now.", "Clearing the world, one at a time", @@ -968,8 +980,8 @@ "These bandages ain't much, but they will do for now.", "Hold up, gotta plug this hole in me.", "Watch my back while I stitch my arm back on .", - "Gotta bandage this or I'll bleed out. Give me a sec.", - "I ain't got time to ble-wait, that's a lot of blood. Give me a second while I patch this." + "Gotta bandage this or I'll bleed out. Give me a sec.", + "I ain't got time to ble-wait, that's a lot of blood. Give me a second while I patch this." ] }, { @@ -1032,7 +1044,7 @@ "category": "", "//": "Complaint when the NPC is near the avatar who is smoking marijuana.", "text": [ - "Whew... smells like skunk!", + "Whew… smells like skunk!", "Man, that smells like some good shit!", "Hey, don't bogart the joint!", "C'mon, , I can smell it, pass it over.", @@ -1050,14 +1062,14 @@ "category": "", "//": "Complaint when the NPC is near the avatar who is smoking meth.", "text": [ - "I don't know... should you really be smoking that stuff?", + "I don't know… should you really be smoking that stuff?", ", that's going to ruin your nose.", "Man, that stinks. Put it out!", "You're going to kill yourself smoking that stuff, .", - "Oh, wow, that smell... Can I have some?", + "Oh, wow, that smell… Can I have some?", "Are you sure it's a good idea to smoke that now?", "I smell heresy.", - "Seriously? You're smoking that?", + "Seriously? You're smoking that?", "Well that's one way to guarantee the zombies don't kill you.", "Come on , you're better than this." ] @@ -1076,7 +1088,7 @@ "I need some batteries to power my CBMs.", "I can't recharge my CBMs without some batteries.", "Hey, , can I get some batteries here? I need to recharge.", - "Internal batteries running low. How many batteries can you spare right now?", + "Internal batteries running low. How many batteries can you spare right now?", "I can do a lot more for you if you pass me a couple batteries to recharge.", "All these implants I got are going to turn to useless scrap real soon if I don't get some batteries to recharge." ] @@ -1084,14 +1096,12 @@ { "type": "snippet", "category": "", - "//": "NPC complaint when they are low on CBM power and have an ethanol burner system. Additional versions should continue to specify that the NPC needs alcohol and they need them to recharge their power CBMs.", + "//": "NPC complaint when they are low on CBM power and have an ethanol burner system. Additional versions should continue to specify that the NPC needs ethanol or methanol and they need them to recharge their power CBMs.", "text": [ - "Pass me a beer, I need to power my ethanol burner.", - "Ethanol burners! The power source that's fun to recharge. Get me a drink, please!", + "Pass some ethanol, I need to power my ethanol burner.", "Waiter! I need a refill, my ethanol burner is running out of charge!", - "I require ethanol-based drinks for my internal power supply. Anything on you?", - "Got any alcohol to spare? Need to recharge my drives. Mead, if you have any.", - "This ethanol-burning power supply is the best implant I ever got. Speaking of which, got some booze to top me off?" + "I require ethanol for my internal power supply. Anything on you?", + "Got any alcohol to spare? Need to recharge my drives. Methanol, would do." ] }, { @@ -1150,8 +1160,8 @@ "Let's talk about something else.", "Let's change the subject.", "I'd like to ask you about something else.", - "Moving on...", - "Anyway..." + "Moving on…", + "Anyway…" ] }, { @@ -1162,10 +1172,10 @@ "We should probably get going.", "We'd better get moving.", "Let's head out.", - "Time's a-wasting. Let's head out.", + "Time's a-wasting. Let's head out.", "Come on. We got stuff to do.", "Let's hit the road.", - "We'll pick this up another time. Let's go.", + "We'll pick this up another time. Let's go.", "Let's put a pin in this chat for now.", "Talk to you later." ] @@ -1256,7 +1266,7 @@ "Me go, you stay.", "Not that way! Go left!", "!", - "Retreat! Retreat!", + "Retreat! Retreat!", "Book it!", "Leg it!", "Thank fuck for all the cardio!" @@ -1281,7 +1291,7 @@ "Call the fire department! Wait, they're dead! Run away!", "This place is on fire. I'm leaving.", "Put the fire out! Put it out!", - "Fire bad! !", + "Fire bad! !", "Fire, fire, FIRE!", "Get an extinguisher!", "Danger hot!" diff --git a/data/json/obsolete.json b/data/json/obsolete.json index 402d6f4d9e530..6671b6357e6bb 100644 --- a/data/json/obsolete.json +++ b/data/json/obsolete.json @@ -43,7 +43,7 @@ "name": "Internal Furnace", "description": "When this bionic is active, you can burn nearly any organic material as fuel (use 'E'), recharging your power level. Some materials will burn better than others.", "occupied_bodyparts": [ [ "TORSO", 40 ] ], - "flags": [ "BIONIC_POWER_SOURCE", "BIONIC_TOGGLED" ] + "flags": [ "BIONIC_POWER_SOURCE", "BIONIC_TOGGLED", "BIONIC_NPC_USABLE" ] }, { "id": "bio_storage", @@ -404,7 +404,17 @@ "id": "fault_gun_clogged", "type": "fault", "name": "Dusty", - "description": "It's dusty. Has no effect - obsolete fault.", - "time": "1 s" + "description": "It's dusty. Has no effect - obsolete fault.", + "mending_methods": [ + { + "id": "mend_fault_gun_clogged", + "name": "Wipe clean", + "success_msg": "You clean you %s.", + "time": "1 s", + "skills": [ ], + "requirements": { } + } + ], + "flags": [ "SILENT" ] } ] diff --git a/data/json/obsolete_terrains.json b/data/json/obsolete_terrains.json index 92f7922e98a0b..6efe843d24515 100644 --- a/data/json/obsolete_terrains.json +++ b/data/json/obsolete_terrains.json @@ -267,7 +267,9 @@ "dairy_farm_NW", "dairy_farm_NE", "dairy_farm_SW", - "dairy_farm_SE" + "dairy_farm_SE", + "megastore", + "megastore_entrance" ] } ] diff --git a/data/json/overmap/multitile_city_buildings.json b/data/json/overmap/multitile_city_buildings.json index 687d4de1f26de..d3f3460264f36 100644 --- a/data/json/overmap/multitile_city_buildings.json +++ b/data/json/overmap/multitile_city_buildings.json @@ -15,6 +15,67 @@ { "point": [ 0, 0, -1 ], "overmap": "basement" } ] }, + { + "type": "city_building", + "id": "house_w_5", + "locations": [ "land" ], + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "house_w_5_north" }, + { "point": [ 0, 0, 1 ], "overmap": "house_w_5_roof_north" }, + { "point": [ 0, 0, -1 ], "overmap": "basement" } + ] + }, + { + "type": "city_building", + "id": "house_w_6", + "locations": [ "land" ], + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "house_w_6_north" }, + { "point": [ 0, 0, 1 ], "overmap": "house_w_6_2ndfloor_north" }, + { "point": [ 0, 0, 2 ], "overmap": "house_w_6_roof_north" }, + { "point": [ 0, 0, -1 ], "overmap": "basement" } + ] + }, + { + "type": "city_building", + "id": "house_w_1", + "locations": [ "land" ], + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "house_w_1_north" }, + { "point": [ 0, 0, 1 ], "overmap": "house_w_1_roof_north" }, + { "point": [ 0, 0, -1 ], "overmap": "basement" } + ] + }, + { + "type": "city_building", + "id": "house_w_2", + "locations": [ "land" ], + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "house_w_2_north" }, + { "point": [ 0, 0, 1 ], "overmap": "house_w_2_roof_north" }, + { "point": [ 0, 0, -1 ], "overmap": "basement" } + ] + }, + { + "type": "city_building", + "id": "house_w_3", + "locations": [ "land" ], + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "house_w_3_north" }, + { "point": [ 0, 0, 1 ], "overmap": "house_w_3_roof_north" }, + { "point": [ 0, 0, -1 ], "overmap": "basement" } + ] + }, + { + "type": "city_building", + "id": "house_w_4", + "locations": [ "land" ], + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "house_w_4_north" }, + { "point": [ 0, 0, 1 ], "overmap": "house_w_4_roof_north" }, + { "point": [ 0, 0, -1 ], "overmap": "basement" } + ] + }, { "type": "city_building", "id": "s_electronics", @@ -779,7 +840,7 @@ }, { "type": "city_building", - "id": "hotel", + "id": "hotel_1", "locations": [ "land" ], "overmaps": [ { "point": [ 1, 0, 0 ], "overmap": "road_end_north" }, @@ -787,11 +848,123 @@ { "point": [ 1, 1, 0 ], "overmap": "hotel_tower_1_2_north" }, { "point": [ 2, 1, 0 ], "overmap": "hotel_tower_1_1_north" }, { "point": [ 0, 2, 0 ], "overmap": "hotel_tower_1_6_north" }, + { "point": [ 0, 2, 1 ], "overmap": "hotel_tower_flr2_1_6_north" }, + { "point": [ 0, 2, 2 ], "overmap": "hotel_tower_flr3_1_6_north" }, + { "point": [ 0, 2, 3 ], "overmap": "hotel_tower_flr4_1_6_north" }, + { "point": [ 0, 2, 4 ], "overmap": "hotel_tower_roof_1_6_north" }, { "point": [ 1, 2, 0 ], "overmap": "hotel_tower_1_5_north" }, + { "point": [ 1, 2, 1 ], "overmap": "hotel_tower_flr2_1_5_north" }, + { "point": [ 1, 2, 2 ], "overmap": "hotel_tower_flr3_1_5_north" }, + { "point": [ 1, 2, 3 ], "overmap": "hotel_tower_flr4_1_5_north" }, + { "point": [ 1, 2, 4 ], "overmap": "hotel_tower_roof_1_5_north" }, + { "point": [ 2, 2, 0 ], "overmap": "hotel_tower_1_4_north" }, + { "point": [ 2, 2, 1 ], "overmap": "hotel_tower_flr2_1_4_north" }, + { "point": [ 2, 2, 2 ], "overmap": "hotel_tower_flr3_1_4_north" }, + { "point": [ 2, 2, 3 ], "overmap": "hotel_tower_flr4_1_4_north" }, + { "point": [ 2, 2, 4 ], "overmap": "hotel_tower_roof_1_4_north" }, + { "point": [ 0, 3, 0 ], "overmap": "hotel_tower_1_9_north" }, + { "point": [ 0, 3, 1 ], "overmap": "hotel_tower_flr2_1_9_north" }, + { "point": [ 0, 3, 2 ], "overmap": "hotel_tower_flr3_1_9_north" }, + { "point": [ 0, 3, 3 ], "overmap": "hotel_tower_flr4_1_9_north" }, + { "point": [ 0, 3, 4 ], "overmap": "hotel_tower_roof_1_9_north" }, + { "point": [ 1, 3, 0 ], "overmap": "hotel_tower_1_8_north" }, + { "point": [ 1, 3, 1 ], "overmap": "hotel_tower_flr2_1_8_north" }, + { "point": [ 1, 3, 2 ], "overmap": "hotel_tower_flr3_1_8_north" }, + { "point": [ 1, 3, 3 ], "overmap": "hotel_tower_flr4_1_8_north" }, + { "point": [ 1, 3, 4 ], "overmap": "hotel_tower_roof_1_8_north" }, + { "point": [ 2, 3, 0 ], "overmap": "hotel_tower_1_7_north" }, + { "point": [ 2, 3, 1 ], "overmap": "hotel_tower_flr2_1_7_north" }, + { "point": [ 2, 3, 2 ], "overmap": "hotel_tower_flr3_1_7_north" }, + { "point": [ 2, 3, 3 ], "overmap": "hotel_tower_flr4_1_7_north" }, + { "point": [ 2, 3, 4 ], "overmap": "hotel_tower_roof_1_7_north" }, + { "point": [ 0, 3, -1 ], "overmap": "hotel_tower_b_3_north" }, + { "point": [ 1, 3, -1 ], "overmap": "hotel_tower_b_2_north" }, + { "point": [ 2, 3, -1 ], "overmap": "hotel_tower_b_1_north" } + ] + }, + { + "type": "city_building", + "id": "hotel_2", + "locations": [ "land" ], + "overmaps": [ + { "point": [ 1, 0, 0 ], "overmap": "road_end_north" }, + { "point": [ 0, 1, 0 ], "overmap": "hotel_tower_1_3_north" }, + { "point": [ 1, 1, 0 ], "overmap": "hotel_tower_1_2_north" }, + { "point": [ 2, 1, 0 ], "overmap": "hotel_tower_1_1_north" }, + { "point": [ 0, 2, 0 ], "overmap": "hotel_tower_1_6_north" }, + { "point": [ 0, 2, 1 ], "overmap": "hotel_tower_flr2_1_6_north" }, + { "point": [ 0, 2, 2 ], "overmap": "hotel_tower_flr3_1_6_north" }, + { "point": [ 0, 2, 3 ], "overmap": "hotel_tower_flr4_1_6_north" }, + { "point": [ 0, 2, 4 ], "overmap": "hotel_tower_roof_1_6_north" }, + { "point": [ 1, 2, 0 ], "overmap": "hotel_tower_1_5B_north" }, + { "point": [ 1, 2, 1 ], "overmap": "hotel_tower_flr2_1_5B_north" }, + { "point": [ 1, 2, 2 ], "overmap": "hotel_tower_flr3_1_5_north" }, + { "point": [ 1, 2, 3 ], "overmap": "hotel_tower_flr4_1_5_north" }, + { "point": [ 1, 2, 4 ], "overmap": "hotel_tower_roof_1_5_north" }, + { "point": [ 2, 2, 0 ], "overmap": "hotel_tower_1_4_north" }, + { "point": [ 2, 2, 1 ], "overmap": "hotel_tower_flr2_1_4_north" }, + { "point": [ 2, 2, 2 ], "overmap": "hotel_tower_flr3_1_4_north" }, + { "point": [ 2, 2, 3 ], "overmap": "hotel_tower_flr4_1_4_north" }, + { "point": [ 2, 2, 4 ], "overmap": "hotel_tower_roof_1_4_north" }, + { "point": [ 0, 3, 0 ], "overmap": "hotel_tower_1_9_north" }, + { "point": [ 0, 3, 1 ], "overmap": "hotel_tower_flr2_1_9_north" }, + { "point": [ 0, 3, 2 ], "overmap": "hotel_tower_flr3_1_9_north" }, + { "point": [ 0, 3, 3 ], "overmap": "hotel_tower_flr4_1_9_north" }, + { "point": [ 0, 3, 4 ], "overmap": "hotel_tower_roof_1_9_north" }, + { "point": [ 1, 3, 0 ], "overmap": "hotel_tower_1_8_north" }, + { "point": [ 1, 3, 1 ], "overmap": "hotel_tower_flr2_1_8_north" }, + { "point": [ 1, 3, 2 ], "overmap": "hotel_tower_flr3_1_8_north" }, + { "point": [ 1, 3, 3 ], "overmap": "hotel_tower_flr4_1_8_north" }, + { "point": [ 1, 3, 4 ], "overmap": "hotel_tower_roof_1_8_north" }, + { "point": [ 2, 3, 0 ], "overmap": "hotel_tower_1_7_north" }, + { "point": [ 2, 3, 1 ], "overmap": "hotel_tower_flr2_1_7_north" }, + { "point": [ 2, 3, 2 ], "overmap": "hotel_tower_flr3_1_7_north" }, + { "point": [ 2, 3, 3 ], "overmap": "hotel_tower_flr4_1_7_north" }, + { "point": [ 2, 3, 4 ], "overmap": "hotel_tower_roof_1_7_north" }, + { "point": [ 0, 3, -1 ], "overmap": "hotel_tower_b_3_north" }, + { "point": [ 1, 3, -1 ], "overmap": "hotel_tower_b_2_north" }, + { "point": [ 2, 3, -1 ], "overmap": "hotel_tower_b_1_north" } + ] + }, + { + "type": "city_building", + "id": "hotel_3", + "locations": [ "land" ], + "overmaps": [ + { "point": [ 1, 0, 0 ], "overmap": "road_end_north" }, + { "point": [ 0, 1, 0 ], "overmap": "hotel_tower_1_3_north" }, + { "point": [ 1, 1, 0 ], "overmap": "hotel_tower_1_2_north" }, + { "point": [ 2, 1, 0 ], "overmap": "hotel_tower_1_1_north" }, + { "point": [ 0, 2, 0 ], "overmap": "hotel_tower_1_6_north" }, + { "point": [ 0, 2, 1 ], "overmap": "hotel_tower_flr2_1_6_north" }, + { "point": [ 0, 2, 2 ], "overmap": "hotel_tower_flr3_1_6_north" }, + { "point": [ 0, 2, 3 ], "overmap": "hotel_tower_flr4_1_6_north" }, + { "point": [ 0, 2, 4 ], "overmap": "hotel_tower_roof_1_6_north" }, + { "point": [ 1, 2, 0 ], "overmap": "hotel_tower_1_5C_north" }, + { "point": [ 1, 2, 1 ], "overmap": "hotel_tower_flr2_1_5C_north" }, + { "point": [ 1, 2, 2 ], "overmap": "hotel_tower_flr3_1_5_north" }, + { "point": [ 1, 2, 3 ], "overmap": "hotel_tower_flr4_1_5_north" }, + { "point": [ 1, 2, 4 ], "overmap": "hotel_tower_roof_1_5_north" }, { "point": [ 2, 2, 0 ], "overmap": "hotel_tower_1_4_north" }, + { "point": [ 2, 2, 1 ], "overmap": "hotel_tower_flr2_1_4_north" }, + { "point": [ 2, 2, 2 ], "overmap": "hotel_tower_flr3_1_4_north" }, + { "point": [ 2, 2, 3 ], "overmap": "hotel_tower_flr4_1_4_north" }, + { "point": [ 2, 2, 4 ], "overmap": "hotel_tower_roof_1_4_north" }, { "point": [ 0, 3, 0 ], "overmap": "hotel_tower_1_9_north" }, + { "point": [ 0, 3, 1 ], "overmap": "hotel_tower_flr2_1_9_north" }, + { "point": [ 0, 3, 2 ], "overmap": "hotel_tower_flr3_1_9_north" }, + { "point": [ 0, 3, 3 ], "overmap": "hotel_tower_flr4_1_9_north" }, + { "point": [ 0, 3, 4 ], "overmap": "hotel_tower_roof_1_9_north" }, { "point": [ 1, 3, 0 ], "overmap": "hotel_tower_1_8_north" }, + { "point": [ 1, 3, 1 ], "overmap": "hotel_tower_flr2_1_8_north" }, + { "point": [ 1, 3, 2 ], "overmap": "hotel_tower_flr3_1_8_north" }, + { "point": [ 1, 3, 3 ], "overmap": "hotel_tower_flr4_1_8_north" }, + { "point": [ 1, 3, 4 ], "overmap": "hotel_tower_roof_1_8_north" }, { "point": [ 2, 3, 0 ], "overmap": "hotel_tower_1_7_north" }, + { "point": [ 2, 3, 1 ], "overmap": "hotel_tower_flr2_1_7_north" }, + { "point": [ 2, 3, 2 ], "overmap": "hotel_tower_flr3_1_7_north" }, + { "point": [ 2, 3, 3 ], "overmap": "hotel_tower_flr4_1_7_north" }, + { "point": [ 2, 3, 4 ], "overmap": "hotel_tower_roof_1_7_north" }, { "point": [ 0, 3, -1 ], "overmap": "hotel_tower_b_3_north" }, { "point": [ 1, 3, -1 ], "overmap": "hotel_tower_b_2_north" }, { "point": [ 2, 3, -1 ], "overmap": "hotel_tower_b_1_north" } @@ -802,15 +975,44 @@ "id": "megastore", "locations": [ "land" ], "overmaps": [ - { "point": [ 0, 0, 0 ], "overmap": "megastore" }, - { "point": [ 1, 0, 0 ], "overmap": "megastore_entrance" }, - { "point": [ 2, 0, 0 ], "overmap": "megastore" }, - { "point": [ 0, 1, 0 ], "overmap": "megastore" }, - { "point": [ 1, 1, 0 ], "overmap": "megastore" }, - { "point": [ 2, 1, 0 ], "overmap": "megastore" }, - { "point": [ 0, 2, 0 ], "overmap": "megastore" }, - { "point": [ 1, 2, 0 ], "overmap": "megastore" }, - { "point": [ 2, 2, 0 ], "overmap": "megastore" } + { "point": [ 0, 0, 0 ], "overmap": "megastore_0_0_0_north" }, + { "point": [ 1, 0, 0 ], "overmap": "megastore_1_0_0_north" }, + { "point": [ 2, 0, 0 ], "overmap": "megastore_2_0_0_north" }, + { "point": [ 3, 0, 0 ], "overmap": "megastore_parking_north" }, + { "point": [ 0, 1, 0 ], "overmap": "megastore_0_1_0_north" }, + { "point": [ 1, 1, 0 ], "overmap": "megastore_1_1_0_north" }, + { "point": [ 2, 1, 0 ], "overmap": "megastore_2_1_0_north" }, + { "point": [ 3, 1, 0 ], "overmap": "megastore_parking_north" }, + { "point": [ 0, 2, 0 ], "overmap": "megastore_0_2_0_north" }, + { "point": [ 1, 2, 0 ], "overmap": "megastore_1_2_0_north" }, + { "point": [ 2, 2, 0 ], "overmap": "megastore_2_2_0_north" }, + { "point": [ 3, 2, 0 ], "overmap": "megastore_parking_north" }, + { "point": [ 0, 3, 0 ], "overmap": "megastore_parking_north" }, + { "point": [ 1, 3, 0 ], "overmap": "megastore_parking_north" }, + { "point": [ 2, 3, 0 ], "overmap": "megastore_parking_north" }, + { "point": [ 3, 3, 0 ], "overmap": "megastore_parking_north" }, + { "point": [ 0, 4, 0 ], "overmap": "megastore_parking_north" }, + { "point": [ 1, 4, 0 ], "overmap": "megastore_parking_north" }, + { "point": [ 2, 4, 0 ], "overmap": "megastore_parking_north" }, + { "point": [ 3, 4, 0 ], "overmap": "megastore_parking_north" }, + { "point": [ 0, 0, 1 ], "overmap": "megastore_0_0_1_north" }, + { "point": [ 1, 0, 1 ], "overmap": "megastore_1_0_1_north" }, + { "point": [ 2, 0, 1 ], "overmap": "megastore_2_0_1_north" }, + { "point": [ 0, 1, 1 ], "overmap": "megastore_0_1_1_north" }, + { "point": [ 1, 1, 1 ], "overmap": "megastore_1_1_1_north" }, + { "point": [ 2, 1, 1 ], "overmap": "megastore_2_1_1_north" }, + { "point": [ 0, 2, 1 ], "overmap": "megastore_0_2_1_north" }, + { "point": [ 1, 2, 1 ], "overmap": "megastore_1_2_1_north" }, + { "point": [ 2, 2, 1 ], "overmap": "megastore_2_2_1_north" }, + { "point": [ 0, 0, 2 ], "overmap": "megastore_0_0_roof_north" }, + { "point": [ 1, 0, 2 ], "overmap": "megastore_1_0_roof_north" }, + { "point": [ 2, 0, 2 ], "overmap": "megastore_2_0_roof_north" }, + { "point": [ 0, 1, 2 ], "overmap": "megastore_0_1_roof_north" }, + { "point": [ 1, 1, 2 ], "overmap": "megastore_1_1_roof_north" }, + { "point": [ 2, 1, 2 ], "overmap": "megastore_2_1_roof_north" }, + { "point": [ 0, 2, 2 ], "overmap": "megastore_0_2_roof_north" }, + { "point": [ 1, 2, 2 ], "overmap": "megastore_1_2_roof_north" }, + { "point": [ 2, 2, 2 ], "overmap": "megastore_2_2_roof_north" } ] }, { @@ -1477,14 +1679,23 @@ "locations": [ "land" ], "overmaps": [ { "point": [ 0, 0, 0 ], "overmap": "movietheater_0_0_north" }, + { "point": [ 0, 0, 1 ], "overmap": "movietheater_roof_0_0_north" }, { "point": [ 1, 0, 0 ], "overmap": "movietheater_1_0_north" }, + { "point": [ 1, 0, 1 ], "overmap": "movietheater_roof_1_0_north" }, { "point": [ 2, 0, 0 ], "overmap": "movietheater_2_0_north" }, + { "point": [ 2, 0, 1 ], "overmap": "movietheater_roof_2_0_north" }, { "point": [ 0, 1, 0 ], "overmap": "movietheater_0_1_north" }, + { "point": [ 0, 1, 1 ], "overmap": "movietheater_roof_0_1_north" }, { "point": [ 1, 1, 0 ], "overmap": "movietheater_1_1_north" }, + { "point": [ 1, 1, 1 ], "overmap": "movietheater_roof_1_1_north" }, { "point": [ 2, 1, 0 ], "overmap": "movietheater_2_1_north" }, + { "point": [ 2, 1, 1 ], "overmap": "movietheater_roof_2_1_north" }, { "point": [ 0, 2, 0 ], "overmap": "movietheater_0_2_north" }, + { "point": [ 0, 2, 1 ], "overmap": "movietheater_roof_0_2_north" }, { "point": [ 1, 2, 0 ], "overmap": "movietheater_1_2_north" }, - { "point": [ 2, 2, 0 ], "overmap": "movietheater_2_2_north" } + { "point": [ 1, 2, 1 ], "overmap": "movietheater_roof_1_2_north" }, + { "point": [ 2, 2, 0 ], "overmap": "movietheater_2_2_north" }, + { "point": [ 2, 2, 1 ], "overmap": "movietheater_roof_2_2_north" } ] }, { diff --git a/data/json/overmap/overmap_special/specials.json b/data/json/overmap/overmap_special/specials.json index 721b924757e93..5114a8e66ba5a 100644 --- a/data/json/overmap/overmap_special/specials.json +++ b/data/json/overmap/overmap_special/specials.json @@ -276,7 +276,9 @@ "id": "Farm_2side", "overmaps": [ { "point": [ 0, 0, 0 ], "overmap": "2farm_4_north" }, + { "point": [ 0, 0, 1 ], "overmap": "2farm_roof_4_north" }, { "point": [ 1, 0, 0 ], "overmap": "2farm_3_north" }, + { "point": [ 1, 0, 1 ], "overmap": "2farm_roof_3_north" }, { "point": [ 2, 0, 0 ], "overmap": "2farm_2_north" }, { "point": [ 3, 0, 0 ], "overmap": "2farm_1_north" }, { "point": [ 0, 1, 0 ], "overmap": "2farm_8_north" }, @@ -285,10 +287,12 @@ { "point": [ 3, 1, 0 ], "overmap": "2farm_5_north" }, { "point": [ 0, 3, 0 ], "overmap": "2farm_12_north" }, { "point": [ 1, 3, 0 ], "overmap": "2farm_11_north" }, + { "point": [ 1, 3, 1 ], "overmap": "2farm_roof_11_north" }, { "point": [ 2, 3, 0 ], "overmap": "2farm_10_north" }, { "point": [ 3, 3, 0 ], "overmap": "2farm_9_north" }, { "point": [ 0, 4, 0 ], "overmap": "2farm_16_north" }, { "point": [ 1, 4, 0 ], "overmap": "2farm_15_north" }, + { "point": [ 1, 4, 1 ], "overmap": "2farm_roof_15_north" }, { "point": [ 2, 4, 0 ], "overmap": "2farm_14_north" }, { "point": [ 3, 4, 0 ], "overmap": "2farm_13_north" } ], @@ -3595,7 +3599,9 @@ "id": "junkyard", "overmaps": [ { "point": [ 0, 0, 0 ], "overmap": "junkyard_1a_north" }, + { "point": [ 0, 0, 1 ], "overmap": "junkyard_roof_1a_north" }, { "point": [ 1, 0, 0 ], "overmap": "junkyard_1b_north" }, + { "point": [ 1, 0, 1 ], "overmap": "junkyard_roof_1b_north" }, { "point": [ 0, 1, 0 ], "overmap": "junkyard_2a_north" }, { "point": [ 1, 1, 0 ], "overmap": "junkyard_2b_north" } ], @@ -3773,14 +3779,23 @@ "id": "Movie Theater", "overmaps": [ { "point": [ 0, 0, 0 ], "overmap": "movietheater_0_0_north" }, + { "point": [ 0, 0, 1 ], "overmap": "movietheater_roof_0_0_north" }, { "point": [ 1, 0, 0 ], "overmap": "movietheater_1_0_north" }, + { "point": [ 1, 0, 1 ], "overmap": "movietheater_roof_1_0_north" }, { "point": [ 2, 0, 0 ], "overmap": "movietheater_2_0_north" }, + { "point": [ 2, 0, 1 ], "overmap": "movietheater_roof_2_0_north" }, { "point": [ 0, 1, 0 ], "overmap": "movietheater_0_1_north" }, + { "point": [ 0, 1, 1 ], "overmap": "movietheater_roof_0_1_north" }, { "point": [ 1, 1, 0 ], "overmap": "movietheater_1_1_north" }, + { "point": [ 1, 1, 1 ], "overmap": "movietheater_roof_1_1_north" }, { "point": [ 2, 1, 0 ], "overmap": "movietheater_2_1_north" }, + { "point": [ 2, 1, 1 ], "overmap": "movietheater_roof_2_1_north" }, { "point": [ 0, 2, 0 ], "overmap": "movietheater_0_2_north" }, + { "point": [ 0, 2, 1 ], "overmap": "movietheater_roof_0_2_north" }, { "point": [ 1, 2, 0 ], "overmap": "movietheater_1_2_north" }, - { "point": [ 2, 2, 0 ], "overmap": "movietheater_2_2_north" } + { "point": [ 1, 2, 1 ], "overmap": "movietheater_roof_1_2_north" }, + { "point": [ 2, 2, 0 ], "overmap": "movietheater_2_2_north" }, + { "point": [ 2, 2, 1 ], "overmap": "movietheater_roof_2_2_north" } ], "connections": [ { "point": [ 1, -1, 0 ], "terrain": "road" } ], "locations": [ "land" ], @@ -3984,18 +3999,40 @@ { "point": [ 1, 1, 0 ], "overmap": "robofachq_surface_b1_north" }, { "point": [ 2, 1, 0 ], "overmap": "robofachq_surface_b2_north" }, { "point": [ 3, 1, 0 ], "overmap": "robofachq_surface_b3_north" }, - { "point": [ 0, 0, -2 ], "overmap": "robofachq_hab_a0_north" }, - { "point": [ 1, 0, -2 ], "overmap": "robofachq_hab_a1_north" }, - { "point": [ 2, 0, -2 ], "overmap": "robofachq_hab_a2_north" }, - { "point": [ 3, 0, -2 ], "overmap": "robofachq_hab_a3_north" }, - { "point": [ 0, 1, -2 ], "overmap": "robofachq_hab_b0_north" }, - { "point": [ 1, 1, -2 ], "overmap": "robofachq_hab_b1_north" }, - { "point": [ 2, 1, -2 ], "overmap": "robofachq_hab_b2_north" }, - { "point": [ 3, 1, -2 ], "overmap": "robofachq_hab_b3_north" }, - { "point": [ 0, 0, -4 ], "overmap": "robofachq_sub_a0_north" }, - { "point": [ 1, 0, -4 ], "overmap": "robofachq_sub_a1_north" }, - { "point": [ 2, 0, -4 ], "overmap": "robofachq_sub_a2_north" }, - { "point": [ 3, 0, -4 ], "overmap": "robofachq_sub_a3_north" }, + { "point": [ 1, -2, -2 ], "overmap": "microlab_sub_connector_north" }, + { "point": [ 0, -1, -2 ], "overmap": "robofachq_sub_a0_north" }, + { "point": [ 1, -1, -2 ], "overmap": "robofachq_sub_a1_north" }, + { "point": [ 2, -1, -2 ], "overmap": "robofachq_sub_a2_north" }, + { "point": [ 3, -1, -2 ], "overmap": "robofachq_sub_a3_north" }, + { "point": [ 0, 0, -2 ], "overmap": "robofachq_exe_a0_north" }, + { "point": [ 1, 0, -2 ], "overmap": "robofachq_exe_a1_north" }, + { "point": [ 2, 0, -2 ], "overmap": "robofachq_exe_a2_north" }, + { "point": [ 3, 0, -2 ], "overmap": "robofachq_exe_a3_north" }, + { "point": [ 0, 1, -2 ], "overmap": "robofachq_exe_b0_north" }, + { "point": [ 1, 1, -2 ], "overmap": "robofachq_exe_b1_north" }, + { "point": [ 2, 1, -2 ], "overmap": "robofachq_exe_b2_north" }, + { "point": [ 3, 1, -2 ], "overmap": "robofachq_exe_b3_north" }, + { "point": [ 0, 0, -3 ], "overmap": "robofachq_hab_a0_north" }, + { "point": [ 1, 0, -3 ], "overmap": "robofachq_hab_a1_north" }, + { "point": [ 2, 0, -3 ], "overmap": "robofachq_hab_a2_north" }, + { "point": [ 3, 0, -3 ], "overmap": "robofachq_hab_a3_north" }, + { "point": [ 0, 1, -3 ], "overmap": "robofachq_hab_b0_north" }, + { "point": [ 1, 1, -3 ], "overmap": "robofachq_hab_b1_north" }, + { "point": [ 2, 1, -3 ], "overmap": "robofachq_hab_b2_north" }, + { "point": [ 3, 1, -3 ], "overmap": "robofachq_hab_b3_north" }, + { "point": [ 1, -2, -4 ], "overmap": "microlab_sub_connector_north" }, + { "point": [ 0, -1, -4 ], "overmap": "robofachq_sub_a0_north" }, + { "point": [ 1, -1, -4 ], "overmap": "robofachq_sub_a1_north" }, + { "point": [ 2, -1, -4 ], "overmap": "robofachq_sub_a2_north" }, + { "point": [ 3, -1, -4 ], "overmap": "robofachq_sub_a3_north" }, + { "point": [ 0, 0, -4 ], "overmap": "robofachq_res_a0_north" }, + { "point": [ 1, 0, -4 ], "overmap": "robofachq_res_a1_north" }, + { "point": [ 2, 0, -4 ], "overmap": "robofachq_res_a2_north" }, + { "point": [ 3, 0, -4 ], "overmap": "robofachq_res_a3_north" }, + { "point": [ 0, 1, -4 ], "overmap": "robofachq_res_b0_north" }, + { "point": [ 1, 1, -4 ], "overmap": "robofachq_res_b1_north" }, + { "point": [ 2, 1, -4 ], "overmap": "robofachq_res_b2_north" }, + { "point": [ 3, 1, -4 ], "overmap": "robofachq_res_b3_north" }, { "point": [ 0, 0, -6 ], "overmap": "robofachq_ai_a0_north" }, { "point": [ 1, 0, -6 ], "overmap": "robofachq_ai_a1_north" }, { "point": [ 2, 0, -6 ], "overmap": "robofachq_ai_a2_north" }, @@ -4021,6 +4058,7 @@ "city_distance": [ 3, -1 ], "city_sizes": [ 1, 16 ], "occurrences": [ 1, 1 ], + "rotate": false, "flags": [ "UNIQUE" ] }, { @@ -6061,7 +6099,7 @@ "city_distance": [ 20, -1 ], "city_sizes": [ 1, 20 ], "occurrences": [ 0, 1 ], - "flags": [ "CLASSIC", "UNIQUE" ] + "flags": [ "CLASSIC" ] }, { "id": "airliner_crashed", @@ -6252,5 +6290,25 @@ "city_sizes": [ 3, 12 ], "occurrences": [ 0, 1 ], "flags": [ "CLASSIC" ] + }, + { + "type": "overmap_special", + "id": "miniature railway", + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "miniaturerailway_0_0_0_north" }, + { "point": [ 0, 1, 0 ], "overmap": "miniaturerailway_0_1_0_north" }, + { "point": [ 1, 0, 0 ], "overmap": "miniaturerailway_1_0_0_north" }, + { "point": [ 1, 1, 0 ], "overmap": "miniaturerailway_1_1_0_north" }, + { "point": [ 0, 0, 1 ], "overmap": "miniaturerailway_0_0_1_north" }, + { "point": [ 0, 1, 1 ], "overmap": "miniaturerailway_0_1_1_north" }, + { "point": [ 1, 0, 1 ], "overmap": "miniaturerailway_1_0_1_north" }, + { "point": [ 1, 1, 1 ], "overmap": "miniaturerailway_1_1_1_north" } + ], + "locations": [ "wilderness", "land" ], + "connections": [ { "point": [ 1, -1, 0 ], "terrain": "road", "connection": "local_road", "from": [ 1, 1, 0 ] } ], + "city_distance": [ 10, 100 ], + "city_sizes": [ 3, 12 ], + "occurrences": [ 0, 1 ], + "flags": [ "CLASSIC" ] } ] diff --git a/data/json/overmap/overmap_terrain/overmap_terrain_agricultural.json b/data/json/overmap/overmap_terrain/overmap_terrain_agricultural.json index 095597733e130..fa61b0a75aeb9 100644 --- a/data/json/overmap/overmap_terrain/overmap_terrain_agricultural.json +++ b/data/json/overmap/overmap_terrain/overmap_terrain_agricultural.json @@ -237,6 +237,16 @@ "extras": "field", "mondensity": 2 }, + { + "type": "overmap_terrain", + "id": "2farm_roof_3", + "name": "farm", + "sym": "#", + "color": "i_brown", + "see_cost": 5, + "extras": "field", + "mondensity": 2 + }, { "type": "overmap_terrain", "id": "2farm_4", @@ -247,6 +257,16 @@ "extras": "field", "mondensity": 2 }, + { + "type": "overmap_terrain", + "id": "2farm_roof_4", + "name": "farm", + "sym": "#", + "color": "i_brown", + "see_cost": 5, + "extras": "field", + "mondensity": 2 + }, { "type": "overmap_terrain", "id": "2farm_5", @@ -318,6 +338,16 @@ "mondensity": 2, "flags": [ "SOURCE_FOOD", "SOURCE_SAFETY", "RISK_LOW", "SOURCE_FARMING" ] }, + { + "type": "overmap_terrain", + "id": "2farm_roof_11", + "name": "farm house", + "sym": "^", + "color": "i_brown", + "see_cost": 5, + "extras": "field", + "mondensity": 2 + }, { "type": "overmap_terrain", "id": "2farm_12", @@ -358,6 +388,16 @@ "extras": "field", "mondensity": 2 }, + { + "type": "overmap_terrain", + "id": "2farm_roof_15", + "name": "farm field", + "sym": "#", + "color": "i_brown", + "see_cost": 5, + "extras": "field", + "mondensity": 2 + }, { "type": "overmap_terrain", "id": "2farm_16", diff --git a/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json b/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json index a704de3c765bf..bc95887c2e749 100644 --- a/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json +++ b/data/json/overmap/overmap_terrain/overmap_terrain_commercial.json @@ -1291,16 +1291,68 @@ }, { "type": "overmap_terrain", - "id": "megastore_entrance", + "id": "megastore_parking", + "name": "megastore parking lot", + "sym": "O", + "color": "dark_gray", + "extras": "build", + "see_cost": 5, + "mondensity": 2, + "spawns": { "group": "GROUP_VANILLA", "population": [ 4, 12 ], "chance": 100 } + }, + { + "type": "overmap_terrain", + "id": "megastore_0_0_0", + "name": "megastore", + "sym": "M", + "color": "blue", + "extras": "build", + "see_cost": 2, + "mondensity": 2, + "spawns": { "group": "GROUP_VANILLA", "population": [ 10, 20 ], "chance": 100 } + }, + { + "type": "overmap_terrain", + "id": "megastore_1_0_0", + "copy-from": "megastore_0_0_0" + }, + { + "type": "overmap_terrain", + "id": "megastore_2_0_0", + "copy-from": "megastore_0_0_0" + }, + { + "type": "overmap_terrain", + "id": "megastore_0_1_0", + "copy-from": "megastore_0_0_0" + }, + { + "type": "overmap_terrain", + "id": "megastore_1_1_0", + "copy-from": "megastore_0_0_0" + }, + { + "type": "overmap_terrain", + "id": "megastore_2_1_0", + "copy-from": "megastore_0_0_0" + }, + { + "type": "overmap_terrain", + "id": "megastore_0_2_0", + "copy-from": "megastore_0_0_0" + }, + { + "type": "overmap_terrain", + "id": "megastore_1_2_0", "name": "megastore", "sym": "+", "color": "light_blue", - "see_cost": 5, "extras": "build", + "see_cost": 5, "mondensity": 2, + "spawns": { "group": "GROUP_VANILLA", "population": [ 10, 20 ], "chance": 100 }, "flags": [ "SIDEWALK", - "NO_ROTATE", "RISK_HIGH", "SOURCE_FOOD", "SOURCE_DRINK", @@ -1320,14 +1372,108 @@ }, { "type": "overmap_terrain", - "id": "megastore", - "name": "megastore", + "id": "megastore_2_2_0", + "copy-from": "megastore_0_0_0" + }, + { + "type": "overmap_terrain", + "id": "megastore_0_0_1", + "name": "megastore, second floor", "sym": "M", "color": "blue", - "see_cost": 5, "extras": "build", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "megastore_1_0_1", + "copy-from": "megastore_0_0_1" + }, + { + "type": "overmap_terrain", + "id": "megastore_2_0_1", + "copy-from": "megastore_0_0_1" + }, + { + "type": "overmap_terrain", + "id": "megastore_0_1_1", + "copy-from": "megastore_0_0_1" + }, + { + "type": "overmap_terrain", + "id": "megastore_1_1_1", + "copy-from": "megastore_0_0_1" + }, + { + "type": "overmap_terrain", + "id": "megastore_2_1_1", + "copy-from": "megastore_0_0_1" + }, + { + "type": "overmap_terrain", + "id": "megastore_0_2_1", + "copy-from": "megastore_0_0_1" + }, + { + "type": "overmap_terrain", + "id": "megastore_1_2_1", + "copy-from": "megastore_0_0_1" + }, + { + "type": "overmap_terrain", + "id": "megastore_2_2_1", + "copy-from": "megastore_0_0_1" + }, + { + "type": "overmap_terrain", + "id": "megastore_0_0_roof", + "name": "megastore roof", + "sym": "M", + "color": "blue", + "extras": "build", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "megastore_1_0_roof", + "copy-from": "megastore_0_0_roof" + }, + { + "type": "overmap_terrain", + "id": "megastore_2_0_roof", + "copy-from": "megastore_0_0_roof" + }, + { + "type": "overmap_terrain", + "id": "megastore_0_1_roof", + "copy-from": "megastore_0_0_roof" + }, + { + "type": "overmap_terrain", + "id": "megastore_1_1_roof", + "copy-from": "megastore_0_0_roof", "mondensity": 2, - "flags": [ "SIDEWALK", "NO_ROTATE" ] + "spawns": { "group": "GROUP_VANILLA", "population": [ 8, 12 ], "chance": 100 } + }, + { + "type": "overmap_terrain", + "id": "megastore_2_1_roof", + "copy-from": "megastore_0_0_roof" + }, + { + "type": "overmap_terrain", + "id": "megastore_0_2_roof", + "copy-from": "megastore_0_0_roof" + }, + { + "type": "overmap_terrain", + "id": "megastore_1_2_roof", + "copy-from": "megastore_0_0_roof" + }, + { + "type": "overmap_terrain", + "id": "megastore_2_2_roof", + "copy-from": "megastore_0_0_roof" }, { "type": "overmap_terrain", @@ -1361,6 +1507,38 @@ "sym": "h", "color": "light_blue" }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr2_1_4", + "copy-from": "generic_city_building", + "name": "hotel parking", + "sym": "h", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr3_1_4", + "copy-from": "generic_city_building", + "name": "hotel parking", + "sym": "h", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr4_1_4", + "copy-from": "generic_city_building", + "name": "hotel parking", + "sym": "h", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_roof_1_4", + "copy-from": "generic_city_building", + "name": "hotel", + "sym": "h", + "color": "light_blue" + }, { "type": "overmap_terrain", "id": "hotel_tower_1_5", @@ -1369,14 +1547,110 @@ "sym": "H", "color": "light_blue" }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr2_1_5", + "copy-from": "generic_city_building", + "name": "hotel", + "sym": "h", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr3_1_5", + "copy-from": "generic_city_building", + "name": "hotel", + "sym": "h", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr4_1_5", + "copy-from": "generic_city_building", + "name": "hotel", + "sym": "h", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_roof_1_5", + "copy-from": "generic_city_building", + "name": "hotel entrance", + "sym": "H", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_1_5B", + "copy-from": "generic_city_building", + "name": "hotel entrance", + "sym": "H", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr2_1_5B", + "copy-from": "generic_city_building", + "name": "hotel", + "sym": "h", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_1_5C", + "copy-from": "generic_city_building", + "name": "hotel entrance", + "sym": "H", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr2_1_5C", + "copy-from": "generic_city_building", + "name": "hotel", + "sym": "h", + "color": "light_blue" + }, { "type": "overmap_terrain", "id": "hotel_tower_1_6", "copy-from": "generic_city_building", + "name": "hotel", + "sym": "h", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr2_1_6", + "copy-from": "generic_city_building", + "name": "hotel parking", + "sym": "h", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr3_1_6", + "copy-from": "generic_city_building", + "name": "hotel parking", + "sym": "h", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr4_1_6", + "copy-from": "generic_city_building", "name": "hotel parking", "sym": "h", "color": "light_blue" }, + { + "type": "overmap_terrain", + "id": "hotel_tower_roof_1_6", + "copy-from": "generic_city_building", + "name": "hotel", + "sym": "h", + "color": "light_blue" + }, { "type": "overmap_terrain", "id": "hotel_tower_1_7", @@ -1385,6 +1659,38 @@ "sym": "H", "color": "light_blue" }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr2_1_7", + "copy-from": "generic_city_building", + "name": "hotel tower", + "sym": "H", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr3_1_7", + "copy-from": "generic_city_building", + "name": "hotel tower", + "sym": "H", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr4_1_7", + "copy-from": "generic_city_building", + "name": "hotel tower", + "sym": "H", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_roof_1_7", + "copy-from": "generic_city_building", + "name": "hotel tower", + "sym": "H", + "color": "light_blue" + }, { "type": "overmap_terrain", "id": "hotel_tower_1_8", @@ -1393,6 +1699,38 @@ "sym": "H", "color": "light_blue" }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr2_1_8", + "copy-from": "generic_city_building", + "name": "hotel tower", + "sym": "H", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr3_1_8", + "copy-from": "generic_city_building", + "name": "hotel tower", + "sym": "H", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr4_1_8", + "copy-from": "generic_city_building", + "name": "hotel tower", + "sym": "H", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_roof_1_8", + "copy-from": "generic_city_building", + "name": "hotel tower", + "sym": "H", + "color": "light_blue" + }, { "type": "overmap_terrain", "id": "hotel_tower_1_9", @@ -1401,6 +1739,38 @@ "sym": "H", "color": "light_blue" }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr2_1_9", + "copy-from": "generic_city_building", + "name": "hotel tower", + "sym": "H", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr3_1_9", + "copy-from": "generic_city_building", + "name": "hotel tower", + "sym": "H", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_flr4_1_9", + "copy-from": "generic_city_building", + "name": "hotel tower", + "sym": "H", + "color": "light_blue" + }, + { + "type": "overmap_terrain", + "id": "hotel_tower_roof_1_9", + "copy-from": "generic_city_building", + "name": "hotel tower", + "sym": "H", + "color": "light_blue" + }, { "type": "overmap_terrain", "id": "hotel_tower_b_1", diff --git a/data/json/overmap/overmap_terrain/overmap_terrain_faction_base.json b/data/json/overmap/overmap_terrain/overmap_terrain_faction_base.json index 4eb7af736282c..58f367dbc327a 100644 --- a/data/json/overmap/overmap_terrain/overmap_terrain_faction_base.json +++ b/data/json/overmap/overmap_terrain/overmap_terrain_faction_base.json @@ -8,6 +8,15 @@ "see_cost": 5, "flags": [ "NO_ROTATE", "SOURCE_PEOPLE" ] }, + { + "type": "overmap_terrain", + "id": "faction_base_camp_new_0", + "name": "survivor camp", + "sym": "+", + "color": "white", + "see_cost": 5, + "flags": [ "SOURCE_PEOPLE" ] + }, { "type": "overmap_terrain", "id": "faction_base_camp_1", @@ -461,7 +470,7 @@ { "type": "overmap_terrain", "id": "faction_base_workshop_0", - "name": "store survey", + "name": "fabrication workshop survey", "sym": "+", "color": "cyan", "see_cost": 5, @@ -596,12 +605,21 @@ { "type": "overmap_terrain", "id": "faction_base_storehouse_0", - "name": "store survey", + "name": "store house survey", "sym": "+", "color": "cyan", "see_cost": 5, "flags": [ "NO_ROTATE" ] }, + { + "type": "overmap_terrain", + "id": "faction_base_saltworks_0", + "name": "saltworks survey", + "sym": "+", + "color": "red", + "see_cost": 5, + "flags": [ "NO_ROTATE" ] + }, { "type": "overmap_terrain", "id": "faction_base_canteen_0", diff --git a/data/json/overmap/overmap_terrain/overmap_terrain_recreational.json b/data/json/overmap/overmap_terrain/overmap_terrain_recreational.json index bacdccdda0fe0..84f2bc3848232 100644 --- a/data/json/overmap/overmap_terrain/overmap_terrain_recreational.json +++ b/data/json/overmap/overmap_terrain/overmap_terrain_recreational.json @@ -514,6 +514,70 @@ "mondensity": 2, "flags": [ "SOURCE_GUN", "SOURCE_AMMO" ] }, + { + "type": "overmap_terrain", + "id": "miniaturerailway_0_0_0", + "copy-from": "generic_city_building_no_sidewalk", + "name": "miniature railway", + "sym": "R", + "color": "green" + }, + { + "type": "overmap_terrain", + "id": "miniaturerailway_0_1_0", + "copy-from": "generic_city_building_no_sidewalk", + "name": "miniature railway", + "sym": "R", + "color": "green" + }, + { + "type": "overmap_terrain", + "id": "miniaturerailway_1_0_0", + "copy-from": "generic_city_building_no_sidewalk", + "name": "miniature railway", + "sym": "R", + "color": "green" + }, + { + "type": "overmap_terrain", + "id": "miniaturerailway_1_1_0", + "copy-from": "generic_city_building_no_sidewalk", + "name": "miniature railway", + "sym": "R", + "color": "green" + }, + { + "type": "overmap_terrain", + "id": "miniaturerailway_0_0_1", + "copy-from": "generic_city_building_no_sidewalk", + "name": "miniature railway", + "sym": "R", + "color": "green" + }, + { + "type": "overmap_terrain", + "id": "miniaturerailway_0_1_1", + "copy-from": "generic_city_building_no_sidewalk", + "name": "miniature railway", + "sym": "R", + "color": "green" + }, + { + "type": "overmap_terrain", + "id": "miniaturerailway_1_0_1", + "copy-from": "generic_city_building_no_sidewalk", + "name": "miniature railway", + "sym": "R", + "color": "green" + }, + { + "type": "overmap_terrain", + "id": "miniaturerailway_1_1_1", + "copy-from": "generic_city_building_no_sidewalk", + "name": "miniature railway", + "sym": "R", + "color": "green" + }, { "type": "overmap_terrain", "id": "golfcourse_00", @@ -1018,6 +1082,78 @@ "sym": "M", "color": "i_yellow" }, + { + "type": "overmap_terrain", + "id": "movietheater_roof_0_0", + "copy-from": "generic_city_building", + "name": "movie theater", + "sym": "M", + "color": "i_yellow" + }, + { + "type": "overmap_terrain", + "id": "movietheater_roof_1_0", + "copy-from": "generic_city_building", + "name": "movie theater entrance", + "sym": "M", + "color": "i_yellow" + }, + { + "type": "overmap_terrain", + "id": "movietheater_roof_2_0", + "copy-from": "generic_city_building", + "name": "movie theater", + "sym": "M", + "color": "i_yellow" + }, + { + "type": "overmap_terrain", + "id": "movietheater_roof_0_1", + "copy-from": "generic_city_building", + "name": "movie theater", + "sym": "M", + "color": "i_yellow" + }, + { + "type": "overmap_terrain", + "id": "movietheater_roof_1_1", + "name": "movie theater", + "copy-from": "generic_city_building", + "sym": "M", + "color": "i_yellow" + }, + { + "type": "overmap_terrain", + "id": "movietheater_roof_2_1", + "copy-from": "generic_city_building", + "name": "movie theater", + "sym": "M", + "color": "i_yellow" + }, + { + "type": "overmap_terrain", + "id": "movietheater_roof_0_2", + "copy-from": "generic_city_building", + "name": "movie theater", + "sym": "M", + "color": "i_yellow" + }, + { + "type": "overmap_terrain", + "id": "movietheater_roof_1_2", + "copy-from": "generic_city_building", + "name": "movie theater", + "sym": "M", + "color": "i_yellow" + }, + { + "type": "overmap_terrain", + "id": "movietheater_roof_2_2", + "copy-from": "generic_city_building", + "name": "movie theater", + "sym": "M", + "color": "i_yellow" + }, { "type": "overmap_terrain", "id": "paintball_field", diff --git a/data/json/overmap/overmap_terrain/overmap_terrain_residential.json b/data/json/overmap/overmap_terrain/overmap_terrain_residential.json index 37e780595c692..13c20b0b7c1de 100644 --- a/data/json/overmap/overmap_terrain/overmap_terrain_residential.json +++ b/data/json/overmap/overmap_terrain/overmap_terrain_residential.json @@ -363,6 +363,14 @@ "see_cost": 2, "flags": [ "SIDEWALK", "GENERIC_LOOT" ] }, + { + "type": "overmap_terrain", + "id": "house_w_2_roof", + "name": "house", + "copy-from": "generic_city_building", + "color": "light_green", + "see_cost": 2 + }, { "type": "overmap_terrain", "id": "house_w_3", @@ -372,6 +380,14 @@ "see_cost": 2, "flags": [ "SIDEWALK", "GENERIC_LOOT" ] }, + { + "type": "overmap_terrain", + "id": "house_w_3_roof", + "name": "house", + "copy-from": "generic_city_building", + "color": "light_green", + "see_cost": 2 + }, { "type": "overmap_terrain", "id": "house_w_4", @@ -381,6 +397,14 @@ "see_cost": 2, "flags": [ "SIDEWALK", "GENERIC_LOOT" ] }, + { + "type": "overmap_terrain", + "id": "house_w_4_roof", + "name": "house", + "copy-from": "generic_city_building", + "color": "light_green", + "see_cost": 2 + }, { "type": "overmap_terrain", "id": "house_w_5", @@ -390,6 +414,40 @@ "see_cost": 2, "flags": [ "SIDEWALK", "GENERIC_LOOT" ] }, + { + "type": "overmap_terrain", + "id": "house_w_5_roof", + "name": "house", + "copy-from": "generic_city_building", + "color": "light_green", + "see_cost": 2 + }, + { + "type": "overmap_terrain", + "id": "house_w_6", + "name": "house", + "copy-from": "generic_city_building", + "color": "light_green", + "see_cost": 2, + "flags": [ "SIDEWALK", "GENERIC_LOOT" ] + }, + { + "type": "overmap_terrain", + "id": "house_w_6_2ndfloor", + "name": "house", + "copy-from": "generic_city_building", + "color": "light_green", + "see_cost": 2, + "flags": [ "SIDEWALK", "GENERIC_LOOT" ] + }, + { + "type": "overmap_terrain", + "id": "house_w_6_roof", + "name": "house", + "copy-from": "generic_city_building", + "color": "light_green", + "see_cost": 2 + }, { "type": "overmap_terrain", "id": "emptyresidentiallot", @@ -435,5 +493,13 @@ "color": "light_green", "see_cost": 2, "flags": [ "SIDEWALK", "GENERIC_LOOT" ] + }, + { + "type": "overmap_terrain", + "id": "house_w_1_roof", + "name": "house", + "copy-from": "generic_city_building", + "color": "light_green", + "see_cost": 2 } ] diff --git a/data/json/overmap/overmap_terrain/overmap_terrain_robofachq.json b/data/json/overmap/overmap_terrain/overmap_terrain_robofachq.json index 1b2421f404ae8..1f1457c87cd2b 100644 --- a/data/json/overmap/overmap_terrain/overmap_terrain_robofachq.json +++ b/data/json/overmap/overmap_terrain/overmap_terrain_robofachq.json @@ -93,6 +93,70 @@ "color": "light_blue", "see_cost": 5 }, + { + "type": "overmap_terrain", + "id": "robofachq_exe_a0", + "name": "hub 01", + "sym": "0", + "color": "light_blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "robofachq_exe_a1", + "name": "hub 01", + "sym": "0", + "color": "light_blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "robofachq_exe_a2", + "name": "hub 01", + "sym": "0", + "color": "light_blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "robofachq_exe_a3", + "name": "hub 01", + "sym": "0", + "color": "light_blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "robofachq_exe_b0", + "name": "hub 01", + "sym": "0", + "color": "light_blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "robofachq_exe_b1", + "name": "hub 01", + "sym": "0", + "color": "light_blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "robofachq_exe_b2", + "name": "hub 01", + "sym": "0", + "color": "light_blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "robofachq_exe_b3", + "name": "hub 01", + "sym": "0", + "color": "light_blue", + "see_cost": 5 + }, { "type": "overmap_terrain", "id": "robofachq_hab_a0", @@ -189,6 +253,70 @@ "color": "light_blue", "see_cost": 5 }, + { + "type": "overmap_terrain", + "id": "robofachq_res_a0", + "name": "hub 01", + "sym": "0", + "color": "light_blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "robofachq_res_a1", + "name": "hub 01", + "sym": "0", + "color": "light_blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "robofachq_res_a2", + "name": "hub 01", + "sym": "0", + "color": "light_blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "robofachq_res_a3", + "name": "hub 01", + "sym": "0", + "color": "light_blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "robofachq_res_b0", + "name": "hub 01", + "sym": "0", + "color": "light_blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "robofachq_res_b1", + "name": "hub 01", + "sym": "0", + "color": "light_blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "robofachq_res_b2", + "name": "hub 01", + "sym": "0", + "color": "light_blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "robofachq_res_b3", + "name": "hub 01", + "sym": "0", + "color": "light_blue", + "see_cost": 5 + }, { "type": "overmap_terrain", "id": "robofachq_ai_a0", diff --git a/data/json/overmap/overmap_terrain/overmap_terrain_waste_junk.json b/data/json/overmap/overmap_terrain/overmap_terrain_waste_junk.json index c89e3dd8bd0dd..425a35682b766 100644 --- a/data/json/overmap/overmap_terrain/overmap_terrain_waste_junk.json +++ b/data/json/overmap/overmap_terrain/overmap_terrain_waste_junk.json @@ -290,6 +290,15 @@ "color": "i_brown", "flags": [ "SOURCE_FABRICATION", "SOURCE_CONSTRUCTION", "SOURCE_VEHICLES" ] }, + { + "type": "overmap_terrain", + "id": "junkyard_roof_1a", + "copy-from": "generic_city_building", + "name": "junkyard", + "sym": "J", + "color": "i_brown", + "flags": [ "SOURCE_FABRICATION", "SOURCE_CONSTRUCTION", "SOURCE_VEHICLES" ] + }, { "type": "overmap_terrain", "id": "junkyard_1b", @@ -299,6 +308,15 @@ "color": "i_brown", "flags": [ "SOURCE_FABRICATION", "SOURCE_CONSTRUCTION", "SOURCE_VEHICLES" ] }, + { + "type": "overmap_terrain", + "id": "junkyard_roof_1b", + "copy-from": "generic_city_building", + "name": "junkyard", + "sym": "J", + "color": "i_brown", + "flags": [ "SOURCE_FABRICATION", "SOURCE_CONSTRUCTION", "SOURCE_VEHICLES" ] + }, { "type": "overmap_terrain", "id": "junkyard_2a", diff --git a/data/json/player_activities.json b/data/json/player_activities.json index 24edb789ea0e1..edcf74fee6472 100644 --- a/data/json/player_activities.json +++ b/data/json/player_activities.json @@ -31,6 +31,8 @@ "activity_level": "ACTIVE_EXERCISE", "verb": "constructing", "based_on": "neither", + "suspendable": false, + "no_resume": true, "multi_activity": true }, { @@ -129,6 +131,7 @@ "activity_level": "MODERATE_EXERCISE", "verb": "disassembly", "suspendable": false, + "rooted": true, "based_on": "speed", "refuel_fires": true }, @@ -282,6 +285,13 @@ "rooted": true, "based_on": "time" }, + { + "id": "ACT_HEATING", + "type": "activity_type", + "activity_level": "NO_EXERCISE", + "verb": "heating", + "based_on": "time" + }, { "id": "ACT_VIBE", "type": "activity_type", @@ -358,15 +368,6 @@ "verb": "sorting out the loot", "based_on": "neither" }, - { - "id": "ACT_TILL_PLOT", - "type": "activity_type", - "activity_level": "ACTIVE_EXERCISE", - "verb": "tilling the farm plot", - "suspendable": false, - "based_on": "neither", - "no_resume": true - }, { "id": "ACT_FETCH_REQUIRED", "type": "activity_type", @@ -386,24 +387,6 @@ "no_resume": true, "multi_activity": true }, - { - "id": "ACT_PLANT_PLOT", - "type": "activity_type", - "activity_level": "MODERATE_EXERCISE", - "verb": "planting seeds", - "suspendable": false, - "based_on": "neither", - "no_resume": true - }, - { - "id": "ACT_HARVEST_PLOT", - "type": "activity_type", - "activity_level": "ACTIVE_EXERCISE", - "verb": "harvesting plots", - "suspendable": false, - "based_on": "neither", - "no_resume": true - }, { "id": "ACT_FERTILIZE_PLOT", "type": "activity_type", @@ -488,7 +471,6 @@ "activity_level": "NO_EXERCISE", "verb": "trying to start the vehicle", "suspendable": false, - "rooted": true, "based_on": "time" }, { @@ -503,6 +485,7 @@ "type": "activity_type", "activity_level": "NO_EXERCISE", "verb": "cracking", + "rooted": true, "based_on": "speed" }, { @@ -510,6 +493,7 @@ "type": "activity_type", "activity_level": "NO_EXERCISE", "verb": "repairing", + "rooted": true, "based_on": "neither", "refuel_fires": true }, @@ -518,6 +502,7 @@ "type": "activity_type", "activity_level": "NO_EXERCISE", "verb": "mending", + "rooted": true, "based_on": "speed", "refuel_fires": true }, @@ -575,6 +560,7 @@ "type": "activity_type", "activity_level": "MODERATE_EXERCISE", "verb": "washing", + "rooted": true, "based_on": "speed" }, { @@ -646,6 +632,7 @@ "type": "activity_type", "activity_level": "NO_EXERCISE", "verb": "shaving", + "rooted": true, "based_on": "speed" }, { @@ -653,6 +640,7 @@ "type": "activity_type", "activity_level": "NO_EXERCISE", "verb": "cutting your hair", + "rooted": true, "based_on": "speed" }, { @@ -721,6 +709,7 @@ "activity_level": "NO_EXERCISE", "verb": "eating", "suspendable": false, + "rooted": true, "based_on": "neither", "no_resume": true }, @@ -730,6 +719,7 @@ "activity_level": "NO_EXERCISE", "verb": "consuming", "suspendable": false, + "rooted": true, "based_on": "neither", "no_resume": true }, @@ -776,6 +766,7 @@ "type": "activity_type", "activity_level": "NO_EXERCISE", "verb": "using the mind splicer", + "rooted": true, "based_on": "speed", "no_resume": true }, diff --git a/data/json/professions.json b/data/json/professions.json index 24b9942ebb796..c0f3b41ec4644 100644 --- a/data/json/professions.json +++ b/data/json/professions.json @@ -94,6 +94,84 @@ "id": "shotgun_d_roadwarrior", "entries": [ { "item": "shotgun_d", "ammo-item": "reloaded_shot_00", "contents-item": [ "barrel_small" ] } ] }, + { + "type": "item_group", + "subtype": "collection", + "id": "quiver_bow_hunter", + "entries": [ { "item": "arrow_cf", "charges": 8 } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "quiver_crossbow_hunter", + "entries": [ { "item": "bolt_metal", "charges": 9 } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "bandolier_shotgun_hunter", + "entries": [ { "item": "shot_00", "charges": 18 } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "bandolier_rifle_hunter", + "entries": [ { "item": "270win_jsp", "charges": 16 } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "bandolier_swat_cqc1", + "entries": [ { "item": "shot_00", "charges": 12 } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "bandolier_swat_cqc2", + "entries": [ { "item": "shot_slug", "charges": 12 } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "quiver_bionic_prepper", + "entries": [ { "item": "bolt_steel", "charges": 20 } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "quiver_naturalist", + "entries": [ { "item": "arrow_wood", "charges": 20 } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "bandolier_ww_gunslinger", + "entries": [ { "item": "45colt_jhp", "charges": 18 } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "quiver_winter_surivor", + "entries": [ { "item": "bolt_wood", "charges": 29 } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "bandolier_roadwarrior", + "entries": [ { "item": "reloaded_shot_00", "charges": 18 } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "bandolier_waste_ranger", + "entries": [ { "item": "reloaded_shot_00", "charges": 19 } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "quiver_waste_ranger", + "entries": [ { "item": "bolt_steel", "charges": 12 } ] + }, { "type": "profession_item_substitutions", "substitutions": [ @@ -270,7 +348,7 @@ ], "entries": [ { "item": "crossbow", "ammo-item": "bolt_steel", "charges": 1, "contents-item": "shoulder_strap" }, - { "item": "bolt_steel", "charges": 20, "container-item": "quiver" }, + { "item": "quiver", "contents-group": "quiver_bionic_prepper" }, { "item": "machete", "container-item": "scabbard" } ] }, @@ -746,7 +824,8 @@ "entries": [ { "group": "charged_cell_phone" }, { "item": "glock_19", "ammo-item": "9mm", "container-item": "sholster", "charges": 15 }, - { "item": "9mm", "charges": 35 }, + { "item": "glockmag", "ammo-item": "9mm", "charges": 15 }, + { "item": "glockmag", "ammo-item": "9mm", "charges": 15 }, { "item": "lighter", "charges": 100 } ] }, @@ -767,7 +846,8 @@ { "group": "charged_cell_phone" }, { "group": "charged_flashlight" }, { "item": "m9", "ammo-item": "9mm", "charges": 15, "container-item": "holster" }, - { "item": "9mm", "charges": 35 } + { "item": "m9mag", "ammo-item": "9mm", "charges": 15 }, + { "item": "m9mag", "ammo-item": "9mm", "charges": 15 } ] }, "male": [ "boxer_shorts" ], @@ -1084,8 +1164,8 @@ "entries": [ { "group": "charged_two_way_radio" }, { "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] }, - { "item": "shot_00", "charges": 12, "container-item": "bandolier_shotgun" }, - { "item": "shot_slug", "charges": 12, "container-item": "bandolier_shotgun" }, + { "item": "bandolier_shotgun", "contents-group": "bandolier_swat_cqc1" }, + { "item": "bandolier_shotgun", "contents-group": "bandolier_swat_cqc2" }, { "item": "legpouch_large", "contents-group": "army_mags_usp9" }, { "item": "usp_9mm", "ammo-item": "9mmfmj", "charges": 15, "container-item": "sholster" }, { "item": "baton-extended", "container-item": "police_belt" }, @@ -1212,7 +1292,7 @@ ], "entries": [ { "group": "charged_cell_phone" }, - { "item": "quiver", "charges": 8, "contents-item": "arrow_cf" }, + { "item": "quiver", "contents-group": "quiver_bow_hunter" }, { "item": "sheath", "contents-item": "knife_hunting" } ] }, @@ -1233,7 +1313,7 @@ "entries": [ { "group": "charged_cell_phone" }, { "item": "crossbow", "ammo-item": "bolt_metal", "charges": 1, "contents-item": "shoulder_strap" }, - { "item": "bolt_metal", "charges": 9, "container-item": "quiver" }, + { "item": "quiver", "contents-group": "quiver_crossbow_hunter" }, { "item": "sheath", "contents-item": "knife_hunting" } ] }, @@ -1255,7 +1335,7 @@ { "group": "charged_cell_phone" }, { "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] }, { "item": "shotgun_d", "ammo-item": "shot_00", "charges": 2, "contents-item": "shoulder_strap" }, - { "item": "shot_00", "charges": 18, "container-item": "bandolier_shotgun" }, + { "item": "bandolier_shotgun", "contents-group": "bandolier_shotgun_hunter" }, { "item": "sheath", "contents-item": "knife_hunting" } ] }, @@ -1277,7 +1357,7 @@ { "group": "charged_cell_phone" }, { "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] }, { "item": "remington700_270", "ammo-item": "270win_jsp", "charges": 4, "contents-item": "shoulder_strap" }, - { "item": "270win_jsp", "charges": 16, "container-item": "bandolier_rifle" }, + { "item": "bandolier_rifle", "contents-group": "bandolier_rifle_hunter" }, { "item": "sheath", "contents-item": "knife_hunting" } ] }, @@ -1414,7 +1494,7 @@ "name": "Shower Victim", "description": "You were in the middle of a nice, hot shower when the cataclysm struck! You barely managed to escape with some soap and the most massively useful thing ever... a towel.", "points": -1, - "items": { "both": [ "soap", "towel_wet" ] } + "items": { "both": { "items": [ "towel_wet" ], "entries": [ { "item": "soap", "custom-flags": [ "auto_wield" ] } ] } } }, { "type": "profession", @@ -1760,7 +1840,12 @@ { "group": "charged_two_way_radio" }, { "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] }, { "item": "sheath", "contents-item": "knife_combat" }, - { "item": "h&k416a5", "ammo-item": "556", "contents-item": [ "shoulder_strap", "acog_scope" ] }, + { + "item": "h&k416a5", + "ammo-item": "556", + "charges": 30, + "contents-item": [ "shoulder_strap", "acog_scope" ] + }, { "item": "modularvestceramic", "contents-group": "army_mags_m4" } ] }, @@ -1820,6 +1905,7 @@ { "item": "m2010", "ammo-item": "300_winmag", + "charges": 5, "contents-item": [ "shoulder_strap", "rifle_scope", "bipod" ] }, { "item": "usp_45", "ammo-item": "45_acp", "charges": 12, "container-item": "holster" }, @@ -2018,7 +2104,10 @@ "description": "All you ever wanted was to make people laugh. Dropping out of school and performing at kids' parties was a dream come true until the world ended. There's precious few balloon animals in your future now.", "points": -1, "items": { - "both": { "items": [ "clown_suit", "socks", "clownshoes", "airhorn" ], "entries": [ { "group": "charged_cell_phone" } ] }, + "both": { + "items": [ "clown_wig", "clown_suit", "clown_nose", "socks", "clownshoes", "airhorn" ], + "entries": [ { "group": "charged_cell_phone" } ] + }, "male": [ "briefs" ], "female": [ "bra", "panties" ] } @@ -2615,18 +2704,20 @@ "traits": [ "PROF_BOXER" ], "skills": [ { "level": 2, "name": "melee" }, { "level": 2, "name": "unarmed" }, { "level": 2, "name": "dodge" } ], "items": { - "both": [ - "under_armor_shorts", - "under_armor", - "shorts", - "gloves_wraps", - "boxing_gloves", - "headgear", - "mouthpiece", - "socks", - "boots", - "towel" - ], + "both": { + "items": [ + "under_armor_shorts", + "under_armor", + "shorts", + "gloves_wraps", + "boxing_gloves", + "headgear", + "mouthpiece", + "socks", + "boots" + ], + "entries": [ { "item": "towel", "custom-flags": [ "no_auto_equip" ] } ] + }, "female": [ "sports_bra" ] } }, @@ -2820,8 +2911,8 @@ "entries": [ { "item": "medium_battery_cell", "ammo-item": "battery", "charges": 500, "container-item": "mess_kit" }, { "item": "kukri", "container-item": "sheath" }, - { "item": "crossbow", "ammo-item": "bolt_wood", "contents-item": "shoulder_strap" }, - { "item": "bolt_wood", "charges": 29, "container-item": "quiver_large" } + { "item": "crossbow", "ammo-item": "bolt_wood", "charges": 1, "contents-item": "shoulder_strap" }, + { "item": "quiver_large", "contents-group": "quiver_winter_surivor" } ] }, "male": [ "boxer_shorts" ], @@ -2953,7 +3044,7 @@ { "item": "knife_combat", "container-item": "sheath" }, { "item": "gasoline_cooker", "ammo-item": "gasoline", "charges": 500 }, { "item": "XL_holster", "contents-group": "shotgun_d_roadwarrior" }, - { "item": "reloaded_shot_00", "charges": 18, "container-item": "bandolier_shotgun" }, + { "item": "bandolier_shotgun", "contents-group": "bandolier_roadwarrior" }, { "item": "light_battery_cell", "charges": 100, "container-item": "wearable_light" } ] }, @@ -2995,9 +3086,9 @@ "entries": [ { "item": "knife_trench", "container-item": "sheath" }, { "item": "ashot", "ammo-item": "reloaded_shot_00", "container-item": "holster" }, - { "item": "reloaded_shot_00", "charges": 19, "container-item": "bandolier_shotgun" }, + { "item": "bandolier_shotgun", "contents-group": "bandolier_waste_ranger" }, { "item": "helsing", "ammo-item": "bolt_steel", "contents-item": "shoulder_strap" }, - { "item": "bolt_steel", "charges": 12, "container-item": "quiver" }, + { "item": "quiver", "contents-group": "quiver_waste_ranger" }, { "item": "survivor_mess_kit", "charges": [ 20, 30 ] } ] }, @@ -3037,8 +3128,7 @@ "heavy_flashlight", "knuckle_steel", "ref_lighter", - "wristwatch", - "mess_kit" + "wristwatch" ], "entries": [ { @@ -3047,6 +3137,7 @@ "charges": 50, "contents-item": [ "shoulder_strap", "folding_stock" ] }, + { "item": "medium_battery_cell", "ammo-item": "battery", "charges": 500, "container-item": "mess_kit" }, { "item": "makeshift_machete", "container-item": "scabbard" }, { "item": "nailmag", "ammo-item": "combatnail", "charges": 50, "container-item": "chestpouch" } ] @@ -3109,7 +3200,7 @@ ], "entries": [ { "item": "primitive_knife", "container-item": "sheath" }, - { "item": "arrow_wood", "charges": 20, "container-item": "quiver" } + { "item": "quiver", "contents-group": "quiver_naturalist" } ] }, "male": [ "chestwrap_fur", "loincloth_fur" ], @@ -3226,7 +3317,6 @@ "hat_fur", "purse", "oil_lamp", - "needle_wood", "pot", "cornmeal", "salt" @@ -3246,6 +3336,7 @@ "entries": [ { "item": "rifle_flintlock", "ammo-item": "flintlock_ammo", "charges": 1, "contents-item": "shoulder_strap" }, { "item": "flintlock_ammo", "charges": 14, "container-item": "flintlock_pouch" }, + { "item": "needle_wood", "charges": 50 }, { "item": "flintlock_ammo", "charges": 15 } ] } @@ -3530,7 +3621,6 @@ "rollmat", "sleeping_bag_roll", "knife_swissarmy", - "mess_kit", "gasoline_lantern", "canteen", "granola", @@ -3538,7 +3628,10 @@ "wristwatch", "1st_aid" ], - "entries": [ { "group": "charged_cell_phone" } ] + "entries": [ + { "group": "charged_cell_phone" }, + { "item": "medium_battery_cell", "ammo-item": "battery", "charges": 500, "container-item": "mess_kit" } + ] }, "male": [ "briefs" ], "female": [ "sports_bra", "boy_shorts" ] @@ -3559,7 +3652,6 @@ "knee_pads", "jumpsuit", "mask_gas", - "jackhammer", "canteen", "e_tool", "tool_belt", @@ -3569,6 +3661,7 @@ ], "entries": [ { "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] }, + { "item": "jackhammer", "charges": 400 }, { "item": "light_minus_disposable_cell", "charges": 100 }, { "item": "light_minus_disposable_cell", "charges": 100, "container-item": "miner_hat" } ] @@ -3764,23 +3857,25 @@ "skills": [ { "level": 8, "name": "firstaid" } ], "traits": [ "PROF_MED" ], "items": { - "both": [ - "gloves_medical", - "socks", - "mask_dust", - "dress_shirt", - "pants", - "dress_shoes", - "coat_lab", - "stethoscope", - "bfipowder", - "antibiotics", - "oxycodone", - "1st_aid", - "smart_phone", - "wristwatch", - "medium_battery_cell" - ], + "both": { + "items": [ + "gloves_medical", + "socks", + "mask_dust", + "dress_shirt", + "pants", + "dress_shoes", + "coat_lab", + "stethoscope", + "bfipowder", + "antibiotics", + "oxycodone", + "1st_aid", + "smart_phone", + "wristwatch" + ], + "entries": [ { "item": "medium_battery_cell", "charges": 500 } ] + }, "male": [ "boxer_shorts" ], "female": [ "bra", "panties" ] } @@ -3800,6 +3895,32 @@ "female": [ "chestwrap" ] } }, + { + "type": "profession", + "ident": "fencer", + "name": "Competetive Fencer", + "description": "You were an avid sport fencer, always practicing at local clubs and competing in tournaments. You were on your way to have a few bouts at the club when the world ended. Now you're in your most important tournament, the refs are all dead, and none of your opponents follow the rules.", + "points": 5, + "skills": [ { "level": 2, "name": "melee" }, { "level": 2, "name": "dodge" } ], + "traits": [ "MARTIAL_FENCING" ], + "items": { + "both": { + "items": [ + "fencing_pants", + "fencing_jacket", + "gauntlet_fencing", + "plastron_cotton", + "under_armor_shorts", + "socks", + "sneakers", + "fencing_epee", + "duffelbag" + ], + "entries": [ { "item": "fencing_mask", "custom-flags": [ "no_auto_equip" ] }, { "group": "charged_cell_phone" } ] + }, + "female": [ "plastron_plastic" ] + } + }, { "type": "profession", "ident": "politician", @@ -3934,7 +4055,7 @@ ], "entries": [ { "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] }, - { "item": "45colt_jhp", "charges": 18, "container-item": "bandolier_pistol" }, + { "item": "bandolier_pistol", "contents-group": "bandolier_ww_gunslinger" }, { "item": "whiskey", "container-item": "bottle_glass" }, { "item": "colt_saa", "ammo-item": "45colt_jhp", "charges": 6, "container-item": "sholster" } ] diff --git a/data/json/recipes/ammo/pistol.json b/data/json/recipes/ammo/pistol.json index bc3a2e40381a2..d4c9dee7dea06 100644 --- a/data/json/recipes/ammo/pistol.json +++ b/data/json/recipes/ammo/pistol.json @@ -287,6 +287,22 @@ "using": [ [ "bullet_forming", 2 ], [ "ammo_bullet", 2 ], [ "ammo_380", 1 ] ], "components": [ [ [ "chem_black_powder", 3 ] ], [ [ "copper", 1 ] ] ] }, + { + "result": "bp_57mm", + "type": "recipe", + "category": "CC_AMMO", + "subcategory": "CSC_AMMO_PISTOL", + "skill_used": "fabrication", + "difficulty": 3, + "skills_required": [ "gun", 1 ], + "time": "2 m", + "batch_time_factors": [ 60, 5 ], + "book_learn": [ [ "manual_pistol", 2 ], [ "manual_smg", 2 ], [ "recipe_bullets", 3 ] ], + "charges": 1, + "reversible": true, + "using": [ [ "bullet_forming", 2 ], [ "ammo_bullet", 2 ], [ "ammo_57", 1 ] ], + "components": [ [ [ "chem_black_powder", 3 ] ], [ [ "copper", 1 ] ] ] + }, { "result": "36navy", "type": "recipe", @@ -398,6 +414,38 @@ "using": [ [ "bullet_forming", 2 ], [ "ammo_bullet", 2 ], [ "ammo_38super", 1 ] ], "components": [ [ [ "gunpowder", 3 ], [ "gunpowder_pistol", 3 ], [ "gunpowder_shotgun", 3 ] ] ] }, + { + "result": "reloaded_357sig_fmj", + "type": "recipe", + "category": "CC_AMMO", + "subcategory": "CSC_AMMO_PISTOL", + "skill_used": "fabrication", + "difficulty": 3, + "skills_required": [ "gun", 1 ], + "time": "2 m", + "batch_time_factors": [ 60, 5 ], + "book_learn": [ [ "manual_pistol", 3 ], [ "recipe_bullets", 4 ] ], + "charges": 1, + "reversible": true, + "using": [ [ "bullet_forming", 2 ], [ "ammo_bullet", 2 ], [ "ammo_357sig", 1 ] ], + "components": [ [ [ "gunpowder", 5 ], [ "gunpowder_rifle", 5 ], [ "gunpowder_magnum_pistol", 5 ] ], [ [ "copper", 1 ] ] ] + }, + { + "result": "reloaded_357sig_jhp", + "type": "recipe", + "category": "CC_AMMO", + "subcategory": "CSC_AMMO_PISTOL", + "skill_used": "fabrication", + "difficulty": 3, + "skills_required": [ "gun", 1 ], + "time": "2 m", + "batch_time_factors": [ 60, 5 ], + "book_learn": [ [ "manual_pistol", 3 ], [ "recipe_bullets", 4 ] ], + "charges": 1, + "reversible": true, + "using": [ [ "bullet_forming", 2 ], [ "ammo_bullet", 2 ], [ "ammo_357sig", 1 ] ], + "components": [ [ [ "gunpowder", 5 ], [ "gunpowder_rifle", 5 ], [ "gunpowder_magnum_pistol", 5 ] ] ] + }, { "result": "reloaded_357mag_fmj", "type": "recipe", diff --git a/data/json/recipes/ammo/weldgas.json b/data/json/recipes/ammo/weldgas.json index bf2243904d22d..f99e15b3cff12 100644 --- a/data/json/recipes/ammo/weldgas.json +++ b/data/json/recipes/ammo/weldgas.json @@ -23,7 +23,7 @@ "charges": 12, "book_learn": [ [ "textbook_chemistry", 4 ], [ "textbook_gaswarfare", 5 ], [ "atomic_survival", 3 ] ], "tools": [ [ [ "acetylene_machine", -1 ] ] ], - "components": [ [ [ "water", 12 ], [ "water_clean", 12 ] ], [ [ "chem_carbide", 48 ] ] ] + "components": [ [ [ "water", 12 ], [ "water_clean", 12 ] ], [ [ "chem_carbide", 326 ] ] ] }, { "result": "tinyweldtank", diff --git a/data/json/recipes/armor/arms.json b/data/json/recipes/armor/arms.json index 998cbe037d785..2ba0bc4b57a17 100644 --- a/data/json/recipes/armor/arms.json +++ b/data/json/recipes/armor/arms.json @@ -34,7 +34,7 @@ "difficulty": 5, "time": "30 m", "autolearn": true, - "components": [ [ [ "string_36", 1 ], [ "string_6", 4 ] ], [ [ "chitin_piece", 4 ] ] ] + "components": [ [ [ "string_36", 1 ], [ "string_6", 4 ] ], [ [ "chitin_piece", 12 ] ] ] }, { "result": "armguard_acidchitin", @@ -47,7 +47,7 @@ "time": "60 m", "autolearn": true, "qualities": [ { "id": "CUT_FINE", "level": 1 }, { "id": "SEW", "level": 1 } ], - "components": [ [ [ "string_36", 1 ], [ "string_6", 4 ] ], [ [ "acidchitin_piece", 6 ] ] ] + "components": [ [ [ "string_36", 1 ], [ "string_6", 4 ] ], [ [ "acidchitin_piece", 12 ] ] ] }, { "result": "armguard_hard", @@ -83,12 +83,10 @@ "difficulty": 7, "time": "180 m", "book_learn": [ [ "textbook_armwest", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], - "components": [ - [ [ "steel_lump", 6 ], [ "steel_chunk", 24 ] ], - [ [ "fur", 6 ], [ "tanned_pelt", 1 ], [ "leather", 6 ], [ "tanned_hide", 1 ] ] - ] + "using": [ [ "blacksmithing_standard", 24 ], [ "steel_standard", 6 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "fur", 6 ], [ "tanned_pelt", 1 ], [ "leather", 6 ], [ "tanned_hide", 1 ] ] ] }, { "result": "armguard_metal", @@ -100,9 +98,8 @@ "time": "30 m", "autolearn": true, "book_learn": [ [ "recipe_melee", 3 ] ], - "using": [ [ "cordage", 1 ] ], - "qualities": [ { "id": "HAMMER", "level": 2 } ], - "components": [ [ [ "steel_chunk", 2 ], [ "scrap", 6 ] ] ] + "using": [ [ "cordage", 1 ], [ "steel_tiny", 2 ] ], + "qualities": [ { "id": "HAMMER", "level": 2 } ] }, { "result": "armguard_paper", diff --git a/data/json/recipes/armor/feet.json b/data/json/recipes/armor/feet.json index 5f5b3eb907e4a..eafe9d04be58c 100644 --- a/data/json/recipes/armor/feet.json +++ b/data/json/recipes/armor/feet.json @@ -33,7 +33,7 @@ "time": "40 m", "autolearn": true, "using": [ [ "cordage", 1 ] ], - "components": [ [ [ "chitin_piece", 8 ] ], [ [ "leather", 4 ], [ "fur", 4 ], [ "rag", 4 ] ] ] + "components": [ [ [ "chitin_piece", 20 ] ], [ [ "leather", 4 ], [ "fur", 4 ], [ "rag", 4 ] ] ] }, { "result": "boots_acidchitin", @@ -47,7 +47,7 @@ "autolearn": true, "using": [ [ "cordage", 1 ] ], "qualities": [ { "id": "CUT_FINE", "level": 1 }, { "id": "SEW", "level": 1 } ], - "components": [ [ [ "acidchitin_piece", 12 ] ], [ [ "leather", 4 ], [ "fur", 4 ], [ "rag", 4 ] ] ] + "components": [ [ [ "acidchitin_piece", 20 ] ], [ [ "leather", 4 ], [ "fur", 4 ], [ "rag", 4 ] ] ] }, { "result": "boots_fsurvivor", @@ -164,12 +164,10 @@ "difficulty": 5, "time": "8 h", "book_learn": [ [ "textbook_armwest", 4 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 250 ], [ "oxy_torch", 50 ] ] ], - "components": [ - [ [ "steel_lump", 8 ], [ "steel_chunk", 32 ], [ "scrap", 96 ] ], - [ [ "fur", 16 ], [ "tanned_pelt", 3 ], [ "leather", 16 ], [ "tanned_hide", 3 ] ] - ] + "using": [ [ "blacksmithing_standard", 32 ], [ "steel_standard", 8 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "fur", 16 ], [ "tanned_pelt", 3 ], [ "leather", 16 ], [ "tanned_hide", 3 ] ] ] }, { "result": "boots_scrap", @@ -487,5 +485,17 @@ "using": [ [ "sewing_standard", 10 ] ], "tools": [ [ [ "soldering_iron", 5 ], [ "welder", 5 ], [ "hotplate", 5 ], [ "toolset", 5 ] ] ], "components": [ [ [ "neoprene", 2 ] ], [ [ "rag", 2 ] ] ] + }, + { + "result": "chainmail_feet", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_FEET", + "skill_used": "fabrication", + "difficulty": 7, + "time": "20 m", + "book_learn": [ [ "textbook_armwest", 6 ], [ "textbook_fabrication", 6 ], [ "recipe_melee", 6 ] ], + "using": [ [ "chainmail_standard", 2 ] ], + "components": [ [ [ "link_sheet", 2 ] ], [ [ "chain_link", 50 ] ], [ [ "wire", 1 ] ], [ [ "rag", 4 ] ] ] } ] diff --git a/data/json/recipes/armor/hands.json b/data/json/recipes/armor/hands.json index ff130c20358c7..649b6e51b8c26 100644 --- a/data/json/recipes/armor/hands.json +++ b/data/json/recipes/armor/hands.json @@ -8,7 +8,7 @@ "difficulty": 4, "time": "30 m", "autolearn": true, - "components": [ [ [ "string_36", 1 ], [ "string_6", 4 ] ], [ [ "chitin_piece", 4 ] ] ] + "components": [ [ [ "string_36", 1 ], [ "string_6", 4 ] ], [ [ "chitin_piece", 10 ] ] ] }, { "result": "gauntlets_acidchitin", @@ -21,7 +21,7 @@ "time": "1 h", "autolearn": true, "qualities": [ { "id": "CUT_FINE", "level": 1 }, { "id": "SEW", "level": 1 } ], - "components": [ [ [ "string_36", 1 ], [ "string_6", 4 ] ], [ [ "acidchitin_piece", 6 ] ] ] + "components": [ [ [ "string_36", 1 ], [ "string_6", 4 ] ], [ [ "acidchitin_piece", 10 ] ] ] }, { "result": "gauntlets_larmor", @@ -228,6 +228,17 @@ ] ] }, + { + "result": "gloves_survivor_fingerless", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_HANDS", + "skill_used": "tailor", + "time": "16 m", + "autolearn": true, + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "gloves_lsurvivor", 1 ] ] ] + }, { "result": "gloves_plate", "type": "recipe", @@ -237,9 +248,9 @@ "difficulty": 6, "time": "7 h", "book_learn": [ [ "textbook_armwest", 5 ] ], - "using": [ [ "forging_standard", 15 ], [ "steel_standard", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 300 ], [ "oxy_torch", 60 ] ] ], + "using": [ [ "blacksmithing_standard", 24 ], [ "steel_standard", 6 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], "components": [ [ [ "fur", 10 ], [ "tanned_pelt", 2 ], [ "leather", 10 ], [ "tanned_hide", 2 ] ] ] }, { @@ -446,5 +457,17 @@ "using": [ [ "sewing_standard", 5 ] ], "tools": [ [ [ "soldering_iron", 3 ], [ "welder", 3 ], [ "hotplate", 3 ], [ "toolset", 3 ] ] ], "components": [ [ [ "neoprene", 1 ] ], [ [ "rag", 1 ] ] ] + }, + { + "result": "chainmail_hands", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_HANDS", + "skill_used": "fabrication", + "difficulty": 7, + "time": "20 m", + "book_learn": [ [ "textbook_armwest", 6 ], [ "textbook_fabrication", 6 ], [ "recipe_melee", 6 ] ], + "using": [ [ "chainmail_standard", 2 ] ], + "components": [ [ [ "link_sheet", 2 ] ], [ [ "chain_link", 50 ] ], [ [ "wire", 1 ] ], [ [ "rag", 4 ] ] ] } ] diff --git a/data/json/recipes/armor/head.json b/data/json/recipes/armor/head.json index 6cbe5d9a80a9f..462dfb0a859dd 100644 --- a/data/json/recipes/armor/head.json +++ b/data/json/recipes/armor/head.json @@ -116,10 +116,50 @@ "difficulty": 6, "time": "10 h", "book_learn": [ [ "jewelry_book", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 50 ], [ "oxy_torch", 10 ] ] ], + "using": [ [ "blacksmithing_standard", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], "components": [ [ [ "gold_small", 300 ] ] ] }, + { + "type": "recipe", + "result": "drinking_hat", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_HEAD", + "skill_used": "fabrication", + "difficulty": 1, + "time": "5 m", + "reversible": true, + "autolearn": true, + "using": [ [ "cordage_short", 2 ] ], + "components": [ + [ + [ "can_drink_unsealed", 1 ], + [ "can_food_unsealed", 1 ], + [ "canister_empty", 1 ], + [ "bottle_plastic_small", 1 ], + [ "sippy_cup", 1 ], + [ "clay_canister", 1 ], + [ "flask_glass", 1 ], + [ "beaker", 1 ], + [ "flask_hip", 1 ] + ], + [ + [ "can_drink_unsealed", 1 ], + [ "can_food_unsealed", 1 ], + [ "canister_empty", 1 ], + [ "bottle_plastic_small", 1 ], + [ "sippy_cup", 1 ], + [ "clay_canister", 1 ], + [ "flask_glass", 1 ], + [ "beaker", 1 ], + [ "flask_hip", 1 ] + ], + [ [ "wire", 1 ] ], + [ [ "hose", 1 ] ] + ], + "flags": [ "BLIND_HARD" ] + }, { "result": "fur_cat_ears", "type": "recipe", @@ -309,9 +349,9 @@ "difficulty": 6, "time": "9 h", "book_learn": [ [ "textbook_armwest", 5 ] ], - "using": [ [ "forging_standard", 15 ], [ "steel_standard", 10 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], + "using": [ [ "blacksmithing_standard", 40 ], [ "steel_standard", 10 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ [ [ "fur", 4 ], [ "leather", 4 ] ] ] }, { @@ -323,7 +363,7 @@ "difficulty": 6, "time": "1 h", "autolearn": true, - "components": [ [ [ "string_36", 1 ], [ "string_6", 5 ] ], [ [ "chitin_piece", 5 ] ] ] + "components": [ [ [ "string_36", 1 ], [ "string_6", 5 ] ], [ [ "chitin_piece", 12 ] ] ] }, { "result": "helmet_conical", @@ -334,9 +374,9 @@ "difficulty": 6, "time": "7 h 12 m", "book_learn": [ [ "textbook_armschina", 5 ] ], - "using": [ [ "sewing_standard", 18 ], [ "forging_standard", 3 ], [ "steel_standard", 2 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], + "using": [ [ "sewing_standard", 18 ], [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ [ [ "fur", 6 ], [ "tanned_pelt", 1 ] ] ] }, { @@ -350,7 +390,7 @@ "time": "2 h", "autolearn": true, "qualities": [ { "id": "CUT_FINE", "level": 1 }, { "id": "SEW", "level": 1 } ], - "components": [ [ [ "string_36", 1 ], [ "string_6", 5 ] ], [ [ "acidchitin_piece", 8 ] ] ] + "components": [ [ [ "string_36", 1 ], [ "string_6", 5 ] ], [ [ "acidchitin_piece", 12 ] ] ] }, { "result": "helmet_galea", @@ -361,9 +401,9 @@ "difficulty": 7, "time": "7 h 12 m", "book_learn": [ [ "textbook_armwest", 5 ] ], - "using": [ [ "forging_standard", 3 ], [ "steel_standard", 2 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ [ [ "fur", 4 ], [ "leather", 4 ] ] ] }, { @@ -407,9 +447,9 @@ "difficulty": 9, "time": "10 h", "book_learn": [ [ "textbook_armeast", 8 ] ], - "using": [ [ "forging_standard", 23 ], [ "steel_standard", 12 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], + "using": [ [ "blacksmithing_standard", 48 ], [ "steel_standard", 12 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ [ [ "fur", 14 ], [ "tanned_pelt", 2 ], [ "leather", 14 ], [ "tanned_hide", 2 ] ], [ [ "rag", 4 ] ] ] }, { @@ -433,9 +473,9 @@ "difficulty": 5, "time": "7 h 12 m", "book_learn": [ [ "textbook_armwest", 4 ] ], - "using": [ [ "forging_standard", 2 ], [ "steel_standard", 1 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ [ [ "fur", 3 ], [ "leather", 3 ] ] ] }, { @@ -463,9 +503,9 @@ "difficulty": 7, "time": "9 h", "book_learn": [ [ "textbook_armwest", 6 ] ], - "using": [ [ "forging_standard", 18 ], [ "steel_standard", 14 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "forge", 350 ], [ "oxy_torch", 70 ] ] ], + "using": [ [ "blacksmithing_standard", 56 ], [ "steel_standard", 14 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ [ [ "fur", 4 ], [ "leather", 4 ] ] ] }, { @@ -1318,7 +1358,7 @@ "using": [ [ "sewing_standard", 20 ] ], "components": [ [ [ "leather", 8 ], [ "tanned_hide", 1 ] ], - [ [ "tallow", 1 ], [ "tallow_tainted", 1 ], [ "cooking_oil", 8 ], [ "cooking_oil2", 8 ], [ "lamp_oil", 200 ] ] + [ [ "any_tallow", 1, "LIST" ], [ "cooking_oil", 8 ], [ "cooking_oil2", 8 ], [ "lamp_oil", 200 ] ] ] }, { @@ -1342,9 +1382,9 @@ "difficulty": 5, "time": "9 h", "autolearn": true, - "using": [ [ "forging_standard", 16 ], [ "steel_standard", 4 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], + "using": [ [ "blacksmithing_standard", 16 ], [ "steel_standard", 4 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ [ [ "goggles_welding", 1 ] ] ] }, { diff --git a/data/json/recipes/armor/legs.json b/data/json/recipes/armor/legs.json index 20f98c70da0bd..e10e784d3d1ef 100644 --- a/data/json/recipes/armor/legs.json +++ b/data/json/recipes/armor/legs.json @@ -225,6 +225,19 @@ "using": [ [ "sewing_standard", 10 ] ], "components": [ [ [ "fur", 10 ], [ "tanned_pelt", 2 ] ] ] }, + { + "result": "leggings", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_LEGS", + "skill_used": "tailor", + "difficulty": 3, + "time": "35 m", + "autolearn": true, + "book_learn": [ [ "mag_tailor", 2 ], [ "manual_tailor", 2 ] ], + "using": [ [ "sewing_standard", 15 ] ], + "components": [ [ [ "lycra_patch", 10 ] ] ] + }, { "result": "legguard_hard", "type": "recipe", @@ -247,12 +260,10 @@ "difficulty": 7, "time": "190 m", "book_learn": [ [ "textbook_armwest", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 150 ], [ "oxy_torch", 30 ] ] ], - "components": [ - [ [ "steel_lump", 7 ], [ "steel_chunk", 28 ] ], - [ [ "fur", 6 ], [ "tanned_pelt", 1 ], [ "leather", 6 ], [ "tanned_hide", 1 ] ] - ] + "using": [ [ "blacksmithing_standard", 28 ], [ "steel_standard", 7 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "fur", 6 ], [ "tanned_pelt", 1 ], [ "leather", 6 ], [ "tanned_hide", 1 ] ] ] }, { "result": "legguard_metal", @@ -264,12 +275,9 @@ "time": "45 m", "autolearn": true, "book_learn": [ [ "textbook_armwest", 4 ], [ "recipe_melee", 4 ] ], - "using": [ [ "cordage", 4 ] ], + "using": [ [ "cordage", 4 ], [ "steel_tiny", 4 ] ], "qualities": [ { "id": "HAMMER", "level": 2 } ], - "components": [ - [ [ "fur", 6 ], [ "tanned_pelt", 1 ], [ "leather", 6 ], [ "tanned_hide", 1 ] ], - [ [ "steel_chunk", 4 ], [ "scrap", 12 ] ] - ] + "components": [ [ [ "fur", 6 ], [ "tanned_pelt", 1 ], [ "leather", 6 ], [ "tanned_hide", 1 ] ] ] }, { "result": "legguard_paper", @@ -572,6 +580,19 @@ "using": [ [ "sewing_standard", 24 ] ], "components": [ [ [ "rag", 30 ] ] ] }, + { + "result": "under_armor_shorts", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_LEGS", + "skill_used": "tailor", + "difficulty": 3, + "time": "25 m", + "autolearn": true, + "book_learn": [ [ "mag_tailor", 2 ], [ "manual_tailor", 2 ] ], + "using": [ [ "sewing_standard", 10 ] ], + "components": [ [ [ "lycra_patch", 5 ] ] ] + }, { "result": "chainmail_legs", "type": "recipe", diff --git a/data/json/recipes/armor/other.json b/data/json/recipes/armor/other.json index ecaa1e4ea3bc1..fabd2eec5d35e 100644 --- a/data/json/recipes/armor/other.json +++ b/data/json/recipes/armor/other.json @@ -6,7 +6,6 @@ "subcategory": "CSC_ARMOR_OTHER", "skill_used": "tailor", "time": "80 m", - "reversible": true, "autolearn": true, "using": [ [ "sewing_standard", 20 ] ], "components": [ [ [ "rag", 35 ] ] ] @@ -33,8 +32,9 @@ "difficulty": 6, "time": "120 m", "book_learn": [ [ "jewelry_book", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 50 ], [ "oxy_torch", 10 ] ] ], + "using": [ [ "blacksmithing_standard", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], "components": [ [ [ "gold_small", 3 ] ] ] }, { @@ -46,24 +46,27 @@ "difficulty": 6, "time": "120 m", "book_learn": [ [ "jewelry_book", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 50 ], [ "oxy_torch", 10 ] ] ], + "using": [ [ "blacksmithing_standard", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], "components": [ [ [ "gold_small", 12 ] ] ] }, { "result": "copper_bracelet", + "type": "recipe", "category": "CC_ARMOR", "subcategory": "CSC_ARMOR_OTHER", "skill_used": "fabrication", "difficulty": 6, "time": "120 m", "book_learn": [ [ "jewelry_book", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 50 ], [ "oxy_torch", 10 ] ] ], - "type": "recipe", + "using": [ [ "blacksmithing_standard", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], "components": [ [ [ "copper", 60 ] ] ] }, { + "type": "recipe", "result": "silver_bracelet", "category": "CC_ARMOR", "subcategory": "CSC_ARMOR_OTHER", @@ -71,12 +74,13 @@ "difficulty": 6, "time": "120 m", "book_learn": [ [ "jewelry_book", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 50 ], [ "oxy_torch", 10 ] ] ], - "type": "recipe", + "using": [ [ "blacksmithing_standard", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], "components": [ [ [ "silver_small", 15 ] ] ] }, { + "type": "recipe", "result": "bead_bracelet", "category": "CC_ARMOR", "subcategory": "CSC_ARMOR_OTHER", @@ -84,7 +88,6 @@ "time": "10 m", "reversible": true, "autolearn": true, - "type": "recipe", "components": [ [ [ "wooden_bead", 10 ] ], [ [ "string_6", 1 ] ] ] }, { @@ -106,7 +109,6 @@ "skill_used": "tailor", "difficulty": 1, "time": "85 m", - "reversible": true, "autolearn": true, "using": [ [ "sewing_standard", 20 ] ], "components": [ [ [ "rag", 35 ] ], [ [ "down_feather", 160 ] ] ] diff --git a/data/json/recipes/armor/pets_horse.json b/data/json/recipes/armor/pets_horse.json index 00c042730a25e..fb9d27f30aabf 100644 --- a/data/json/recipes/armor/pets_horse.json +++ b/data/json/recipes/armor/pets_horse.json @@ -73,7 +73,14 @@ "using": [ [ "sewing_standard", 190 ], [ "surface_heat", 60, "LIST" ] ], "components": [ [ [ "water", 30 ], [ "water_clean", 30 ] ], - [ [ "wax", 6 ], [ "tallow", 24 ], [ "tallow_tainted", 24 ], [ "vinegar", 30 ], [ "pine_bough", 60 ] ], + [ + [ "wax", 6 ], + [ "tallow", 24 ], + [ "mutant_tallow", 24 ], + [ "tallow_tainted", 24 ], + [ "vinegar", 30 ], + [ "pine_bough", 60 ] + ], [ [ "salt", 150 ] ], [ [ "leather", 105 ], [ "tanned_hide", 17 ] ], [ [ "rag", 18 ] ] @@ -125,7 +132,7 @@ "tools": [ [ [ "surface_heat", 60, "LIST" ] ] ], "components": [ [ [ "water", 30 ], [ "water_clean", 30 ] ], - [ [ "wax", 6 ], [ "tallow", 24 ], [ "tallow_tainted", 24 ], [ "vinegar", 30 ], [ "pine_bough", 60 ] ], + [ [ "wax", 6 ], [ "any_tallow", 24, "LIST" ], [ "vinegar", 30 ], [ "pine_bough", 60 ] ], [ [ "salt", 150 ] ], [ [ "bone", 39 ], [ "bone_human", 39 ], [ "bone_tainted", 75 ] ], [ [ "leather", 105 ], [ "tanned_hide", 17 ] ] diff --git a/data/json/recipes/armor/storage.json b/data/json/recipes/armor/storage.json index d761c968e66cf..c32d9a29d516f 100644 --- a/data/json/recipes/armor/storage.json +++ b/data/json/recipes/armor/storage.json @@ -29,6 +29,19 @@ "qualities": [ { "id": "SEW", "level": 1 } ], "components": [ [ [ "leather", 8 ], [ "rag", 8 ] ], [ [ "filament", 300, "LIST" ], [ "cordage", 1, "LIST" ] ] ] }, + { + "result": "stone_pouch", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_STORAGE", + "skill_used": "tailor", + "difficulty": 3, + "skills_required": [ [ "throw", 1 ] ], + "time": "1 h 20 m", + "autolearn": true, + "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "rag", 8 ] ], [ [ "leather", 4 ] ], [ [ "filament", 600, "LIST" ], [ "cordage", 2, "LIST" ] ] ] + }, { "result": "chestrig", "type": "recipe", @@ -162,6 +175,19 @@ "qualities": [ { "id": "SEW", "level": 1 } ], "components": [ [ [ "rag", 4 ] ], [ [ "string_6", 4 ], [ "filament", 200, "LIST" ] ] ] }, + { + "result": "bholster", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_STORAGE", + "skill_used": "tailor", + "difficulty": 1, + "skills_required": [ [ "gun", 1 ], [ "pistol", 1 ] ], + "time": "10 m", + "autolearn": true, + "using": [ [ "sewing_standard", 18 ] ], + "components": [ [ [ "lycra_patch", 12 ] ] ] + }, { "result": "bindle", "type": "recipe", @@ -327,7 +353,7 @@ "time": "36 s", "reversible": true, "autolearn": true, - "components": [ [ [ "raw_tainted_leather", 50 ], [ "raw_tainted_fur", 50 ] ] ], + "components": [ [ [ "raw_tainted_leather", 6 ], [ "raw_tainted_fur", 6 ] ] ], "flags": [ "BLIND_EASY" ] }, { diff --git a/data/json/recipes/armor/suit.json b/data/json/recipes/armor/suit.json index e5ecf5588d7b6..e77d77be39ef4 100644 --- a/data/json/recipes/armor/suit.json +++ b/data/json/recipes/armor/suit.json @@ -58,7 +58,7 @@ "tools": [ [ [ "surface_heat", 20, "LIST" ] ] ], "components": [ [ [ "water", 10 ], [ "water_clean", 10 ] ], - [ [ "wax", 2 ], [ "tallow", 8 ], [ "tallow_tainted", 8 ], [ "vinegar", 10 ], [ "pine_bough", 20 ] ], + [ [ "wax", 2 ], [ "any_tallow", 8, "LIST" ], [ "vinegar", 10 ], [ "pine_bough", 20 ] ], [ [ "salt", 50 ] ], [ [ "armor_larmor", 1 ] ], [ [ "armguard_larmor", 1 ] ] @@ -75,7 +75,7 @@ "autolearn": true, "book_learn": [ [ "textbook_tailor", 5 ], [ "tailor_portfolio", 5 ] ], "using": [ [ "cordage", 2 ] ], - "components": [ [ [ "chitin_piece", 15 ] ] ] + "components": [ [ [ "chitin_piece", 72 ] ] ] }, { "result": "armor_acidchitin", @@ -89,7 +89,7 @@ "autolearn": true, "using": [ [ "cordage", 2 ] ], "qualities": [ { "id": "CUT_FINE", "level": 1 }, { "id": "SEW", "level": 1 } ], - "components": [ [ [ "acidchitin_piece", 15 ] ] ] + "components": [ [ [ "acidchitin_piece", 72 ] ] ] }, { "result": "armor_farmor", @@ -125,12 +125,10 @@ "difficulty": 8, "time": "9 h 20 m", "book_learn": [ [ "textbook_armwest", 7 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 400 ], [ "oxy_torch", 80 ] ] ], - "components": [ - [ [ "steel_lump", 20 ], [ "steel_chunk", 80 ] ], - [ [ "fur", 20 ], [ "tanned_pelt", 3 ], [ "leather", 20 ], [ "tanned_hide", 3 ] ] - ] + "using": [ [ "blacksmithing_standard", 80 ], [ "steel_standard", 20 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "fur", 20 ], [ "tanned_pelt", 3 ], [ "leather", 20 ], [ "tanned_hide", 3 ] ] ] }, { "result": "armor_lightplate", @@ -218,9 +216,10 @@ "difficulty": 9, "time": "10 h", "book_learn": [ [ "textbook_armwest", 8 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 450 ], [ "oxy_torch", 90 ] ] ], - "components": [ [ [ "steel_lump", 30 ] ], [ [ "fur", 16 ], [ "tanned_pelt", 3 ], [ "leather", 16 ], [ "tanned_hide", 3 ] ] ] + "using": [ [ "blacksmithing_standard", 120 ], [ "steel_standard", 30 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "fur", 16 ], [ "tanned_pelt", 3 ], [ "leather", 16 ], [ "tanned_hide", 3 ] ] ] }, { "result": "armor_samurai", @@ -231,13 +230,10 @@ "difficulty": 9, "time": "9 h 20 m", "book_learn": [ [ "textbook_armeast", 8 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 450 ], [ "oxy_torch", 90 ] ] ], - "components": [ - [ [ "steel_lump", 16 ], [ "steel_chunk", 64 ] ], - [ [ "fur", 28 ], [ "tanned_pelt", 6 ], [ "leather", 28 ], [ "tanned_hide", 6 ] ], - [ [ "rag", 10 ] ] - ] + "using": [ [ "blacksmithing_standard", 64 ], [ "steel_standard", 16 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "fur", 28 ], [ "tanned_pelt", 6 ], [ "leather", 28 ], [ "tanned_hide", 6 ] ], [ [ "rag", 10 ] ] ] }, { "result": "armor_scavenger", @@ -331,6 +327,29 @@ "autolearn": true, "components": [ [ [ "chainmail_hood", 1 ] ], [ [ "chainmail_hauberk", 1 ] ] ] }, + { + "result": "chainmail_suit_faraday", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_SUIT", + "skill_used": "fabrication", + "difficulty": 7, + "skills_required": [ "electronics", 3 ], + "time": "180 m", + "book_learn": [ [ "textbook_fabrication", 6 ], [ "advanced_electronics", 6 ], [ "textbook_electronics", 6 ] ], + "using": [ [ "chainmail_standard", 20 ] ], + "components": [ + [ [ "link_sheet", 2 ], [ "chainmail_hood", 1 ] ], + [ [ "link_sheet", 7 ], [ "chainmail_vest", 1 ] ], + [ [ "link_sheet", 3 ], [ "chainmail_arms", 1 ] ], + [ [ "link_sheet", 4 ], [ "chainmail_legs", 1 ] ], + [ [ "link_sheet", 2 ], [ "chainmail_hands", 1 ] ], + [ [ "link_sheet", 2 ], [ "chainmail_feet", 1 ] ], + [ [ "chain_link", 500 ] ], + [ [ "wire", 5 ] ], + [ [ "rag", 26 ] ] + ] + }, { "result": "cloak", "type": "recipe", @@ -863,5 +882,17 @@ "book_learn": [ [ "tailor_japanese", 3 ] ], "using": [ [ "sewing_standard", 18 ] ], "components": [ [ [ "rag", 16 ] ] ] + }, + { + "result": "zentai", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_SUIT", + "skill_used": "tailor", + "difficulty": 4, + "time": "2 h", + "book_learn": [ [ "mag_animecon", 1 ] ], + "using": [ [ "sewing_standard", 36 ] ], + "components": [ [ [ "lycra_patch", 34 ] ] ] } ] diff --git a/data/json/recipes/armor/torso.json b/data/json/recipes/armor/torso.json index 8a4b66516eaf2..227c000375b6a 100644 --- a/data/json/recipes/armor/torso.json +++ b/data/json/recipes/armor/torso.json @@ -210,12 +210,10 @@ "difficulty": 8, "time": "3 h 10 m", "book_learn": [ [ "textbook_armwest", 7 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 150 ], [ "oxy_torch", 30 ] ] ], - "components": [ - [ [ "steel_lump", 8 ], [ "steel_chunk", 32 ] ], - [ [ "fur", 6 ], [ "tanned_pelt", 1 ], [ "leather", 6 ], [ "tanned_hide", 1 ] ] - ] + "using": [ [ "blacksmithing_standard", 32 ], [ "steel_standard", 8 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "fur", 6 ], [ "tanned_pelt", 1 ], [ "leather", 6 ], [ "tanned_hide", 1 ] ] ] }, { "result": "cuirass_scrap", @@ -399,6 +397,18 @@ "qualities": [ { "id": "HAMMER", "level": 2 } ], "components": [ [ [ "jacket_leather", 1 ], [ "jacket_leather_red", 1 ] ], [ [ "scrap", 9 ] ] ] }, + { + "result": "leotard", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_TORSO", + "skill_used": "tailor", + "difficulty": 2, + "time": "30 m", + "autolearn": true, + "using": [ [ "sewing_standard", 13 ] ], + "components": [ [ [ "lycra_patch", 8 ] ] ] + }, { "result": "long_undertop", "type": "recipe", @@ -942,6 +952,18 @@ "using": [ [ "sewing_standard", 8 ] ], "components": [ [ [ "rag", 8 ] ] ] }, + { + "result": "sports_bra", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_TORSO", + "skill_used": "tailor", + "difficulty": 3, + "time": "35 m", + "autolearn": true, + "using": [ [ "sewing_standard", 15 ] ], + "components": [ [ [ "lycra_patch", 2 ] ] ] + }, { "result": "sundress", "type": "recipe", @@ -979,6 +1001,18 @@ "using": [ [ "sewing_standard", 4 ] ], "components": [ [ [ "rag", 4 ] ] ] }, + { + "result": "thermal_shirt", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_TORSO", + "skill_used": "tailor", + "difficulty": 3, + "time": "42 m", + "autolearn": true, + "using": [ [ "sewing_standard", 8 ] ], + "components": [ [ [ "lycra_patch", 7 ] ] ] + }, { "result": "trenchcoat", "type": "recipe", @@ -1096,6 +1130,18 @@ "using": [ [ "sewing_standard", 10 ] ], "components": [ [ [ "rag", 10 ] ] ] }, + { + "result": "under_armor", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_TORSO", + "skill_used": "tailor", + "difficulty": 3, + "time": "35 m", + "autolearn": true, + "using": [ [ "sewing_standard", 15 ] ], + "components": [ [ [ "lycra_patch", 4 ] ] ] + }, { "result": "undershirt", "type": "recipe", @@ -1108,6 +1154,18 @@ "using": [ [ "sewing_standard", 15 ] ], "components": [ [ [ "rag", 4 ] ] ] }, + { + "result": "unitard", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_TORSO", + "skill_used": "tailor", + "difficulty": 2, + "time": "35 m", + "autolearn": true, + "using": [ [ "sewing_standard", 15 ] ], + "components": [ [ [ "lycra_patch", 10 ] ] ] + }, { "result": "xlkevlar", "type": "recipe", diff --git a/data/json/recipes/basecamps/recipe_groups.json b/data/json/recipes/basecamps/recipe_groups.json index 03b6c929953ae..af498215d77cc 100644 --- a/data/json/recipes/basecamps/recipe_groups.json +++ b/data/json/recipes/basecamps/recipe_groups.json @@ -6,7 +6,8 @@ "recipes": [ { "id": "faction_base_modular_hub_field_0", "description": "Field Camp", "om_terrains": [ "field" ] }, { "id": "faction_base_firestation_0", "description": "Firestation Base", "om_terrains": [ "fire_station" ] }, - { "id": "faction_base_shelter_0", "description": "Evac Shelter Base", "om_terrains": [ "shelter" ] } + { "id": "faction_base_shelter_0", "description": "Evac Shelter Base", "om_terrains": [ "shelter" ] }, + { "id": "faction_base_shelter_1_0", "description": "Evac Shelter Base", "om_terrains": [ "shelter_1" ] } ] }, { @@ -19,6 +20,7 @@ { "id": "faction_base_canteen_0", "description": "Canteen", "om_terrains": [ "field" ] }, { "id": "faction_base_livestock_0", "description": "Livestock Area", "om_terrains": [ "field" ] }, { "id": "faction_base_storehouse_0", "description": "Central Storage Building", "om_terrains": [ "field" ] }, + { "id": "faction_base_saltworks_0", "description": "Saltworks Area", "om_terrains": [ "field" ] }, { "id": "faction_base_workshop_0", "description": "Fabrication Workshop", "om_terrains": [ "field" ] } ] }, diff --git a/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_common.json b/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_common.json index 5eac4fe94cdba..db366856e8862 100644 --- a/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_common.json +++ b/data/json/recipes/basecamps/recipe_modular_canteen/recipe_modular_canteen_common.json @@ -52,7 +52,7 @@ { "type": "recipe", "result": "faction_base_modular_canteen_well", - "description": "We should build a well. This will make cooking more convenient.", + "description": "We should build a well. This will make cooking more convenient.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, diff --git a/data/json/recipes/basecamps/recipe_modular_field_common.json b/data/json/recipes/basecamps/recipe_modular_field_common.json index d352d4bf85962..e0387d8a12eb1 100644 --- a/data/json/recipes/basecamps/recipe_modular_field_common.json +++ b/data/json/recipes/basecamps/recipe_modular_field_common.json @@ -594,7 +594,7 @@ "components": [ [ [ "processor", 2 ] ], [ [ "RAM", 2 ] ], - [ [ "small_lcd_screen", 1 ] ], + [ [ "large_lcd_screen", 1 ] ], [ [ "e_scrap", 8 ] ], [ [ "frame", 1 ] ], [ [ "circuit", 4 ] ], diff --git a/data/json/recipes/basecamps/recipe_modular_firestation1.json b/data/json/recipes/basecamps/recipe_modular_firestation1.json index 06ba4edd51074..d8d65413bb605 100644 --- a/data/json/recipes/basecamps/recipe_modular_firestation1.json +++ b/data/json/recipes/basecamps/recipe_modular_firestation1.json @@ -41,7 +41,7 @@ { "type": "recipe", "result": "faction_base_modular_firestation1_well", - "description": "We should build a well, put it near that winch. This will make our future here more secure.", + "description": "We should build a well, put it near that winch. This will make our future here more secure.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -145,7 +145,7 @@ { "type": "recipe", "result": "faction_base_modular_firestation1_brazier", - "description": "Now that we have some cover, we should set up a brazier for cooking, and grab a pot. Let's put it in that dining area.", + "description": "Now that we have some cover, we should set up a brazier for cooking, and grab a pot. Let's put it in that dining area.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "skill_used": "fabrication", diff --git a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_common.json b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_common.json new file mode 100644 index 0000000000000..7378c7ef2613a --- /dev/null +++ b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_common.json @@ -0,0 +1,47 @@ +[ + { + "type": "recipe", + "result": "faction_base_saltworks_0", + "description": "Survey land for a saltworks area.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "skill_used": "fabrication", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "faction_base_saltworks_0", + "blueprint_name": "Saltworks survey", + "time": "180 m", + "blueprint_requires": [ { "id": "not_an_upgrade" } ], + "blueprint_provides": [ { "id": "fbmsw_0" } ] + }, + { + "type": "recipe", + "result": "faction_base_modular_brewery1_southwest", + "description": "We could uprade the workspace in the brewery to add a still, wood stove and work table.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmsw_brewery1_southwest", + "blueprint_name": "SW brewery still", + "blueprint_requires": [ { "id": "fbmsw_southwest" } ], + "blueprint_provides": [ { "id": "fbmsw_southwest1_still" } ], + "blueprint_excludes": [ { "id": "fbmsw_southwest1_still" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_brewery2_southwest", + "description": "We could use fill out the space with extra kegs and storage racks.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmsw_brewery2_southwest", + "blueprint_name": "SW brewery kegs", + "blueprint_requires": [ { "id": "fbmsw_southwest1_still" } ], + "blueprint_provides": [ { "id": "fbmsw_southwest2_kegs" } ], + "blueprint_excludes": [ { "id": "fbmsw_southwest2_kegs" } ], + "blueprint_autocalc": true + } +] diff --git a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_log.json b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_log.json new file mode 100644 index 0000000000000..038b236c7d2e3 --- /dev/null +++ b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_log.json @@ -0,0 +1,47 @@ +[ + { + "type": "recipe", + "result": "faction_base_modular_saltpan_log_northeast", + "description": "We could divert saltwater from the swamp nearby to create a steady supply of salt for our needs in a log building.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmsw_saltpan_log_northeast", + "blueprint_name": "NE log wall saltpan", + "blueprint_requires": [ { "id": "fbmsw_0" } ], + "blueprint_provides": [ { "id": "fbmsw_northeast" } ], + "blueprint_excludes": [ { "id": "fbmsw_northeast" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shack_log_southeast", + "description": "We could use a storage room for chemicals and tools, so build a log shack with a roof on the southeast side of the saltworks field.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmsw_shack_log_southeast", + "blueprint_name": "SE log wall storage room", + "blueprint_requires": [ { "id": "fbmsw_0" } ], + "blueprint_provides": [ { "id": "fbmsw_southeast" } ], + "blueprint_excludes": [ { "id": "fbmsw_southeast" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_brewery0_log_southwest", + "description": "We could take advantage of the the designation of this area to build a log brewery.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmsw_brewery0_log_southwest", + "blueprint_name": "SW log wall brewery", + "blueprint_requires": [ { "id": "fbmsw_0" } ], + "blueprint_provides": [ { "id": "fbmsw_southwest" }, { "id": "brewery" } ], + "blueprint_excludes": [ { "id": "fbmsw_southwest" } ], + "blueprint_autocalc": true + } +] diff --git a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_metal.json b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_metal.json new file mode 100644 index 0000000000000..5ea0e1d68a8da --- /dev/null +++ b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_metal.json @@ -0,0 +1,47 @@ +[ + { + "type": "recipe", + "result": "faction_base_modular_saltpan_metal_northeast", + "description": "We could divert saltwater from the swamp nearby to create a steady supply of salt for our needs in a metal shed.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmsw_saltpan_metal_northeast", + "blueprint_name": "NE metal wall saltpan", + "blueprint_requires": [ { "id": "fbmsw_0" } ], + "blueprint_provides": [ { "id": "fbmsw_northeast" } ], + "blueprint_excludes": [ { "id": "fbmsw_northeast" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shack_metal_southeast", + "description": "We could use a storage room for chemicals and tools, so build a metal shack with a roof on the southeast side of the saltworks field.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmsw_shack_metal_southeast", + "blueprint_name": "SE metal wall storage room", + "blueprint_requires": [ { "id": "fbmsw_0" } ], + "blueprint_provides": [ { "id": "fbmsw_southeast" } ], + "blueprint_excludes": [ { "id": "fbmsw_southeast" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_brewery0_metal_southwest", + "description": "We could take advantage of the the designation of this area to build a metal wall brewery.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmsw_brewery0_metal_southwest", + "blueprint_name": "SW metal wall brewery", + "blueprint_requires": [ { "id": "fbmsw_0" } ], + "blueprint_provides": [ { "id": "fbmsw_southwest" }, { "id": "brewery" } ], + "blueprint_excludes": [ { "id": "fbmsw_southwest" } ], + "blueprint_autocalc": true + } +] diff --git a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_stone.json b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_stone.json new file mode 100644 index 0000000000000..5db58fd5ee3ea --- /dev/null +++ b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_stone.json @@ -0,0 +1,47 @@ +[ + { + "type": "recipe", + "result": "faction_base_modular_saltpan_rock_northeast", + "description": "We could divert saltwater from the swamp nearby to create a steady supply of salt for our needs in a stone building.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmsw_saltpan_rock_northeast", + "blueprint_name": "NE stone wall saltpan", + "blueprint_requires": [ { "id": "fbmsw_0" } ], + "blueprint_provides": [ { "id": "fbmsw_northeast" }, { "id": "Salt_Pan" } ], + "blueprint_excludes": [ { "id": "fbmsw_northeast" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shack_rock_southeast", + "description": "We could use a storage room for chemicals and tools, so build a stone wall shack with a roof on the southeast side of the saltworks field.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmsw_shack_rock_southeast", + "blueprint_name": "SE stone wall storage room", + "blueprint_requires": [ { "id": "fbmsw_0" } ], + "blueprint_provides": [ { "id": "fbmsw_southeast" } ], + "blueprint_excludes": [ { "id": "fbmsw_southeast" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_brewery0_rock_southwest", + "description": "We could take advantage of the the designation of this area to build a stone brewery.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmsw_brewery0_rock_southwest", + "blueprint_name": "SW stone wall brewery", + "blueprint_requires": [ { "id": "fbmsw_0" } ], + "blueprint_provides": [ { "id": "fbmsw_southwest" }, { "id": "brewery" } ], + "blueprint_excludes": [ { "id": "fbmsw_southwest" } ], + "blueprint_autocalc": true + } +] diff --git a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_wad.json b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_wad.json new file mode 100644 index 0000000000000..03ca859d26b4a --- /dev/null +++ b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_wad.json @@ -0,0 +1,47 @@ +[ + { + "type": "recipe", + "result": "faction_base_modular_saltpan_wad_northeast", + "description": "We could divert saltwater from the swamp nearby to create a steady supply of salt for our needs in an adobe hut.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmsw_saltpan_wad_northeast", + "blueprint_name": "NE wattle and daub saltpan", + "blueprint_requires": [ { "id": "fbmsw_0" } ], + "blueprint_provides": [ { "id": "fbmsw_northeast" }, { "id": "Salt_Pan" } ], + "blueprint_excludes": [ { "id": "fbmsw_northeast" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shack_wad_southeast", + "description": "We could use a storage room for chemicals and tools, so build an adobe shack with a roof on the southeast side of the saltworks field.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmsw_shack_wad_southeast", + "blueprint_name": "SE wattle and daub storage room", + "blueprint_requires": [ { "id": "fbmsw_0" } ], + "blueprint_provides": [ { "id": "fbmsw_southeast" } ], + "blueprint_excludes": [ { "id": "fbmsw_southeast" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_brewery0_wad_southwest", + "description": "We could take advantage of the the designation of this area to build an wattle and daub brewery.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmsw_brewery0_wad_southwest", + "blueprint_name": "SW wattle and daub brewery", + "blueprint_requires": [ { "id": "fbmsw_0" } ], + "blueprint_provides": [ { "id": "fbmsw_southwest" }, { "id": "brewery" } ], + "blueprint_excludes": [ { "id": "fbmsw_southwest" } ], + "blueprint_autocalc": true + } +] diff --git a/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_wood.json b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_wood.json new file mode 100644 index 0000000000000..4f34eda44bb0f --- /dev/null +++ b/data/json/recipes/basecamps/recipe_modular_saltworks/recipe_modular_saltworks_wood.json @@ -0,0 +1,47 @@ +[ + { + "type": "recipe", + "result": "faction_base_modular_saltpan_wood_northeast", + "description": "We could divert saltwater from the swamp nearby to create a steady supply of salt for our needs in a wooden shed.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmsw_saltpan_wood_northeast", + "blueprint_name": "NE wood panel saltpan", + "blueprint_requires": [ { "id": "fbmsw_0" } ], + "blueprint_provides": [ { "id": "fbmsw_northeast" }, { "id": "Salt_Pan" } ], + "blueprint_excludes": [ { "id": "fbmsw_northeast" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shack_wood_southeast", + "description": "We could use a storage room for chemicals and tools, so build a wood panel shack with a roof on the southeast side of the saltworks field.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmsw_shack_wood_southeast", + "blueprint_name": "SE wood panel storage room", + "blueprint_requires": [ { "id": "fbmsw_0" } ], + "blueprint_provides": [ { "id": "fbmsw_southeast" } ], + "blueprint_excludes": [ { "id": "fbmsw_southeast" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_brewery0_wood_southwest", + "description": "We could take advantage of the the designation of this area to build a wooden brewery.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmsw_brewery0_wood_southwest", + "blueprint_name": "SW wood panel brewery", + "blueprint_requires": [ { "id": "fbmsw_0" } ], + "blueprint_provides": [ { "id": "fbmsw_southwest" }, { "id": "brewery" } ], + "blueprint_excludes": [ { "id": "fbmsw_southwest" } ], + "blueprint_autocalc": true + } +] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_common.json b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_common.json index a1c49a9ab359c..c814b4dcda997 100644 --- a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_common.json +++ b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_common.json @@ -97,7 +97,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_well", - "description": "We should build a well, put it near the terminal. This will make our future here more secure.", + "description": "We should build a well, put it near the terminal. This will make our future here more secure.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, diff --git a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_log.json b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_log.json index 9dba04796cec7..372806a57cca7 100644 --- a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_log.json +++ b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_log.json @@ -2,7 +2,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom1_log", - "description": "Let's build some living quarters so we can expand. We will start in the southeast corner.", + "description": "Let's build some living quarters so we can expand. We will start in the southeast corner.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -17,7 +17,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom2_log", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -32,7 +32,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom3_log", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -47,7 +47,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom4_log", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -62,7 +62,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom5_log", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, diff --git a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_rock.json b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_rock.json index de9b124b65bf4..3ecd183e923b4 100644 --- a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_rock.json +++ b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_rock.json @@ -2,7 +2,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom1_rock", - "description": "Let's build some living quarters so we can expand. We will start in the southeast corner.", + "description": "Let's build some living quarters so we can expand. We will start in the southeast corner.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -17,7 +17,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom2_rock", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -32,7 +32,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom3_rock", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -47,7 +47,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom4_rock", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -62,7 +62,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom5_rock", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, diff --git a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_standard.json b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_standard.json index cb5d72b15cdff..31d2b964bcce4 100644 --- a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_standard.json +++ b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_standard.json @@ -2,7 +2,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom1", - "description": "Let's build some living quarters so we can expand. We will start in the southeast corner.", + "description": "Let's build some living quarters so we can expand. We will start in the southeast corner.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -17,7 +17,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom2", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -32,7 +32,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom3", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -47,7 +47,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom4", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -62,7 +62,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom5", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, diff --git a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_wad.json b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_wad.json index a2d39a505feb3..8f031bd33c92e 100644 --- a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_wad.json +++ b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_wad.json @@ -2,7 +2,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom1_wad", - "description": "Let's build some living quarters so we can expand. We will start in the southeast corner.", + "description": "Let's build some living quarters so we can expand. We will start in the southeast corner.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -17,7 +17,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom2_wad", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -32,7 +32,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom3_wad", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -47,7 +47,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom4_wad", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -62,7 +62,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom5_wad", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, diff --git a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_wood.json b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_wood.json index 0767d7af71c74..b64d6cb31e6b6 100644 --- a/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_wood.json +++ b/data/json/recipes/basecamps/recipe_modular_shelter/recipe_modular_shelter_wood.json @@ -2,7 +2,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom1_wood", - "description": "Let's build some living quarters so we can expand. We will start in the southeast corner.", + "description": "Let's build some living quarters so we can expand. We will start in the southeast corner.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -17,7 +17,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom2_wood", - "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -32,7 +32,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom3_wood", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -47,7 +47,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom4_wood", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -62,7 +62,7 @@ { "type": "recipe", "result": "faction_base_modular_shelter_bedroom5_wood", - "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", + "description": "Let's build some living quarters so we can expand. We will continue along the other wall.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, diff --git a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_common.json b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_common.json new file mode 100644 index 0000000000000..39ae0c9ca41df --- /dev/null +++ b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_common.json @@ -0,0 +1,502 @@ +[ + { + "type": "recipe", + "result": "faction_base_shelter_1_0", + "description": "We should survey the base site and set up a bulletin board.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "skill_used": "fabrication", + "autolearn": false, + "never_learn": true, + "time": "1 h", + "construction_blueprint": "fbmc_shelter_1_0", + "blueprint_provides": [ + { "id": "gathering" }, + { "id": "primitive_camp_recipes_1" }, + { "id": "fbmc_shelter_1_0" }, + { "id": "firewood" }, + { "id": "foraging" }, + { "id": "sorting" }, + { "id": "logging" } + ], + "blueprint_requires": [ { "id": "not_an_upgrade" } ], + "blueprint_name": "basic survey" + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_fireplace", + "description": "We should build a fireplace for cooking and grab a pot. Let's set up near the working terminal.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_fireplace", + "blueprint_name": "build a fireplace", + "blueprint_requires": [ { "id": "fbmc_shelter_1_0" } ], + "blueprint_provides": [ + { "id": "fbmc_shelter_1_fire" }, + { "id": "trapping" }, + { "id": "hunting" }, + { "id": "kitchen" }, + { "id": "kitchen_recipes_1" } + ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_fire" } ], + "blueprint_resources": [ "fake_fireplace", "pot" ], + "blueprint_autocalc": true, + "components": [ [ [ "pot", 1 ], [ "rock_pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ] ] + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_brazier", + "description": "We should build a brazier for cooking and grab a pot. Let's set up near the working terminal.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "skill_used": "fabrication", + "autolearn": false, + "never_learn": true, + "time": "5 m", + "construction_blueprint": "fbmc_shelter_1_brazier", + "blueprint_name": "build a brazier", + "blueprint_requires": [ { "id": "fbmc_shelter_1_0" } ], + "blueprint_provides": [ + { "id": "fbmc_shelter_1_fire" }, + { "id": "trapping" }, + { "id": "hunting" }, + { "id": "kitchen" }, + { "id": "kitchen_recipes_1" } + ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_fire" } ], + "blueprint_resources": [ "fake_fireplace", "pot" ], + "blueprint_autocalc": true, + "components": [ [ [ "brazier", 1 ] ], [ [ "pot", 1 ], [ "rock_pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ] ] + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_stove", + "description": "We should build a wood stove for cooking and grab a pot. Let's set up near the working terminal.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "skill_used": "fabrication", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_stove", + "blueprint_name": "build a wood stove", + "blueprint_requires": [ { "id": "fbmc_shelter_1_0" } ], + "blueprint_provides": [ + { "id": "fbmc_shelter_1_fire" }, + { "id": "trapping" }, + { "id": "hunting" }, + { "id": "kitchen" }, + { "id": "kitchen_recipes_1" } + ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_fire" } ], + "blueprint_resources": [ "fake_fireplace", "pot" ], + "blueprint_autocalc": true, + "components": [ [ [ "pot", 1 ], [ "rock_pot", 1 ], [ "pot_copper", 1 ], [ "clay_pot", 1 ] ] ] + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_well", + "description": "We should build a well, put it near the terminal. This will make our future here more secure.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_well", + "blueprint_name": "build a well", + "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_well" }, { "id": "relaying" }, { "id": "scouting" }, { "id": "patrolling" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_well" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bed_standard_NW", + "description": "Let's furnish the southeast bedroom with a regular bed.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_standard_NW", + "blueprint_name": "furnish the NW bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom1" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_nw" }, { "id": "bed", "amount": 1 } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_nw" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_beds_standard_W1", + "description": "Let's furnish the west bedroom with regular beds.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_W1", + "blueprint_name": "furnish the W bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom2" }, { "id": "fbmc_shelter_1_bed_nw" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom_w1" }, { "id": "bed", "amount": 2 } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom_w1" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_beds_standard_W2", + "description": "Let's furnish the west bedroom with regular beds.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_W2", + "blueprint_name": "furnish the W bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom3" }, { "id": "fbmc_shelter_1_bedroom_w1" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom_w2" }, { "id": "bed", "amount": 3 } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom_w2" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_beds_standard_W3", + "description": "Let's furnish the west bedroom with regular beds.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_W3", + "blueprint_name": "furnish the W bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom5" }, { "id": "fbmc_shelter_1_bedroom_w2" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom_w3" }, { "id": "bed", "amount": 4 } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom_w3" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bed_straw_NW", + "description": "Let's furnish the southeast bedroom with a straw bed.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_straw_NW", + "blueprint_name": "furnish the NW bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom1" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_nw" }, { "id": "bed", "amount": 1 } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_nw" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_beds_straw_W1", + "description": "Let's furnish the west bedroom with a straw bed.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_straw_W1", + "blueprint_name": "furnish the W bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom2" }, { "id": "fbmc_shelter_1_bed_nw" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom_w1" }, { "id": "bed", "amount": 2 } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom_w1" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_beds_straw_W2", + "description": "Let's furnish the west bedroom with a straw bed.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_straw_W2", + "blueprint_name": "furnish the W bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom3" }, { "id": "fbmc_shelter_1_bedroom_w1" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom_w2" }, { "id": "bed", "amount": 3 } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom_w2" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_beds_straw_W3", + "description": "Let's furnish the west bedroom with straw beds.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_straw_W3", + "blueprint_name": "furnish the W bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom5" }, { "id": "fbmc_shelter_1_bedroom_w2" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom_w3" }, { "id": "bed", "amount": 4 } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom_w3" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bed_makeshift_NW", + "description": "Let's furnish the southeast bedroom with a makeshift bed.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_makeshift_NW", + "blueprint_name": "furnish the NW bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom1" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_nw" }, { "id": "bed", "amount": 1 } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_nw" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_beds_makeshift_W1", + "description": "Let's furnish the west bedroom with a makeshift bed.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_makeshift_W1", + "blueprint_name": "furnish the W bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom2" }, { "id": "fbmc_shelter_1_bed_nw" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom_w1" }, { "id": "bed", "amount": 2 } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom_w1" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_beds_makeshift_W2", + "description": "Let's furnish the west bedroom with a makeshift bed.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_makeshift_W2", + "blueprint_name": "furnish the W bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom3" }, { "id": "fbmc_shelter_1_bedroom_w1" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom_w2" }, { "id": "bed", "amount": 3 } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom_w2" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_beds_makeshift_W3", + "description": "Let's furnish the west bedroom with makeshift beds.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_makeshift_W3", + "blueprint_name": "furnish the W bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom5" }, { "id": "fbmc_shelter_1_bedroom_w2" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom_w3" }, { "id": "bed", "amount": 4 } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom_w3" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bed_standard_SW", + "description": "Let's furnish the southwest bedroom with a regular bed.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_standard_SW", + "blueprint_name": "furnish the SW bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom_w3" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_sw" }, { "id": "bed", "amount": 5 } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_sw" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bed_straw_SW", + "description": "Let's furnish the southwest bedroom with a straw bed.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_straw_SW", + "blueprint_name": "furnish the SW bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom_w3" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_sw" }, { "id": "bed", "amount": 5 } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_sw" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bed_makeshift_SW", + "description": "Let's furnish the southwest bedroom with a makeshift bed.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_makeshift_SW", + "blueprint_name": "furnish the SW bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom_w3" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_sw" }, { "id": "bed", "amount": 5 } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_sw" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_beds_standard_S1", + "description": "Let's furnish the southern bedroom with a regular beds.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_standard_S1", + "blueprint_name": "furnish the S bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bed_sw" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_s1" }, { "id": "bed", "amount": 7 } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_s1" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_beds_straw_S1", + "description": "Let's furnish the southern bedroom with a straw beds.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_straw_S1", + "blueprint_name": "furnish the S bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bed_sw" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_s1" }, { "id": "bed", "amount": 7 } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_s1" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_beds_makeshift_S1", + "description": "Let's furnish the southern bedroom with a makeshift beds.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_makeshift_S1", + "blueprint_name": "furnish the S bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bed_sw" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_s1" }, { "id": "bed", "amount": 7 } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_s1" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_beds_standard_S2", + "description": "Let's furnish the southern bedroom with regular beds.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_standard_S2", + "blueprint_name": "furnish the S bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bed_s1" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_s2" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_s2" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_beds_straw_S2", + "description": "Let's furnish the southern bedroom with straw beds.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_straw_S2", + "blueprint_name": "furnish the S bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bed_s1" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_s2" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_s2" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_beds_makeshift_S2", + "description": "Let's furnish the southern bedroom with makeshift beds.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bed_makeshift_S2", + "blueprint_name": "furnish the S bedroom", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bed_s1" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bed_s2" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bed_s2" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_diningroom", + "description": "Let's make a dining area.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_dining", + "blueprint_name": "furnish the dining room", + "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_dining" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_dining" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_livingroom", + "description": "Let's make a living room area.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_livingroom", + "blueprint_name": "furnish the living room", + "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_livingroom" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_livingroom" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_pantry", + "description": "Let's build some pantry storage.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_pantry", + "blueprint_name": "build some wooden racks", + "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_pantry" }, { "id": "pantry" }, { "id": "sorting" }, { "id": "tool_storage" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_pantry" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_craftspot", + "description": "Let's build a work bench.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_craftspot", + "blueprint_name": "build a work bench", + "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_craftspot" }, { "id": "tool_storage" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_craftspot" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_radio", + "description": "Let's set up a radio tower to improve our recruitment efforts.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_radio_console", + "blueprint_name": "build a radio tower and console", + "blueprint_requires": [ { "id": "fbmc_shelter_1_well" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_radio" }, { "id": "recruiting" }, { "id": "radio" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_radio" } ], + "blueprint_autocalc": true + } +] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_log.json b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_log.json new file mode 100644 index 0000000000000..b8aebc819a077 --- /dev/null +++ b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_log.json @@ -0,0 +1,77 @@ +[ + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom1_log", + "description": "Let's build some living quarters so we can expand. We will start in the northwest corner.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_NW_log", + "blueprint_name": "build NW log bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom1" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom1" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom2_log", + "description": "Let's build some living quarters so we can expand. We will continue along the west wall.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_W1_log", + "blueprint_name": "build W log bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom1" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom2" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom2" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom3_log", + "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_W2", + "blueprint_name": "build W log bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom2" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom3" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom3" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom5_log", + "description": "Let's build some living quarters so we can expand. We will continue along the southwest corner.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_SW_log", + "blueprint_name": "build SW log bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom3" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom5" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom5" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom6_log", + "description": "Let's build some living quarters so we can expand. We will continue along the south wall.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_S_log", + "blueprint_name": "build S log bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom5" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom6" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom6" } ], + "blueprint_autocalc": true + } +] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_rock.json b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_rock.json new file mode 100644 index 0000000000000..20eda8b11f65c --- /dev/null +++ b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_rock.json @@ -0,0 +1,77 @@ +[ + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom1_rock", + "description": "Let's build some living quarters so we can expand. We will start in the northwest corner.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_NW_rock", + "blueprint_name": "build NW rock bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom1" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom1" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom2_rock", + "description": "Let's build some living quarters so we can expand. We will continue along the west wall.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_W1_rock", + "blueprint_name": "build W rock bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom1" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom2" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom2" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom3_rock", + "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_W2", + "blueprint_name": "build W rock bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom2" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom3" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom3" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom5_rock", + "description": "Let's build some living quarters so we can expand. We will continue along the southwest corner.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_SW_rock", + "blueprint_name": "build SW rock bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom3" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom5" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom5" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom6_rock", + "description": "Let's build some living quarters so we can expand. We will continue along the south wall.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_S_rock", + "blueprint_name": "build S rock bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom5" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom6" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom6" } ], + "blueprint_autocalc": true + } +] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_standard.json b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_standard.json new file mode 100644 index 0000000000000..7a0d65e97a033 --- /dev/null +++ b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_standard.json @@ -0,0 +1,77 @@ +[ + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom1", + "description": "Let's build some living quarters so we can expand. We will start in the northwest corner.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_NW", + "blueprint_name": "build NW standard bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom1" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom1" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom2", + "description": "Let's build some living quarters so we can expand. We will continue along the west wall.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_W1", + "blueprint_name": "build W standard bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom1" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom2" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom2" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom3", + "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_W2", + "blueprint_name": "build W standard bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom2" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom3" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom3" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom5", + "description": "Let's build some living quarters so we can expand. We will continue along the southwest corner.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_standard_bedroom_SW", + "blueprint_name": "build SW standard bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom3" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom5" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom5" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom6", + "description": "Let's build some living quarters so we can expand. We will continue along the south wall.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_S", + "blueprint_name": "build S standard bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom5" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom6" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom6" } ], + "blueprint_autocalc": true + } +] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_wad.json b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_wad.json new file mode 100644 index 0000000000000..dd60644cede08 --- /dev/null +++ b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_wad.json @@ -0,0 +1,77 @@ +[ + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom1_wad", + "description": "Let's build some living quarters so we can expand. We will start in the northwest corner.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_NW_wad", + "blueprint_name": "build NW wattle and daub bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom1" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom1" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom2_wad", + "description": "Let's build some living quarters so we can expand. We will continue along the west wall.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_W1_wad", + "blueprint_name": "build W wattle and daub bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom1" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom2" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom2" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom3_wad", + "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_W2", + "blueprint_name": "build W wattle and daub bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom2" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom3" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom3" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom5_wad", + "description": "Let's build some living quarters so we can expand. We will continue along the southwest corner.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_SW_wad", + "blueprint_name": "build SW wattle and daub bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom3" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom5" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom5" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom6_wad", + "description": "Let's build some living quarters so we can expand. We will continue along the south wall.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_S_wad", + "blueprint_name": "build S wattle and daub bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom5" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom6" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom6" } ], + "blueprint_autocalc": true + } +] diff --git a/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_wood.json b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_wood.json new file mode 100644 index 0000000000000..a84d7bc2a2bca --- /dev/null +++ b/data/json/recipes/basecamps/recipe_modular_shelter_1/recipe_modular_shelter_1_wood.json @@ -0,0 +1,77 @@ +[ + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom1_wood", + "description": "Let's build some living quarters so we can expand. We will start in the northwest corner.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_NW_wood", + "blueprint_name": "build NW wood bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_fire" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom1" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom1" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom2_wood", + "description": "Let's build some living quarters so we can expand. We will continue along the west wall.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_W1_wood", + "blueprint_name": "build W wood bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom1" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom2" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom2" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom3_wood", + "description": "Let's build some living quarters so we can expand. We will continue along the same wall.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_W2", + "blueprint_name": "build W wood bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom2" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom3" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom3" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom5_wood", + "description": "Let's build some living quarters so we can expand. We will continue along the southwest corner.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_SW_wood", + "blueprint_name": "build SW wood bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom3" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom5" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom5" } ], + "blueprint_autocalc": true + }, + { + "type": "recipe", + "result": "faction_base_modular_shelter_1_bedroom6_wood", + "description": "Let's build some living quarters so we can expand. We will continue along the south wall.", + "category": "CC_BUILDING", + "subcategory": "CSC_BUILDING_BASES", + "autolearn": false, + "never_learn": true, + "construction_blueprint": "fbmc_shelter_1_bedroom_S_wood", + "blueprint_name": "build S wood bedroom walls", + "blueprint_requires": [ { "id": "fbmc_shelter_1_bedroom5" } ], + "blueprint_provides": [ { "id": "fbmc_shelter_1_bedroom6" } ], + "blueprint_excludes": [ { "id": "fbmc_shelter_1_bedroom6" } ], + "blueprint_autocalc": true + } +] diff --git a/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_wood.json b/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_wood.json index 0b8c23a0f3be7..5e74060cf803d 100644 --- a/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_wood.json +++ b/data/json/recipes/basecamps/recipe_modular_storehouse/recipe_modular_storehouse_wood.json @@ -197,7 +197,7 @@ { "type": "recipe", "result": "faction_base_modular_decorative1_northwest", - "description": "Some benches around the outside would be nice. Build some to the northwest.", + "description": "Some benches around the outside would be nice. Build some to the northwest.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -212,7 +212,7 @@ { "type": "recipe", "result": "faction_base_modular_decorative2_northeast", - "description": "Some benches around the outside would be nice. Build some to the northeast.", + "description": "Some benches around the outside would be nice. Build some to the northeast.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -227,7 +227,7 @@ { "type": "recipe", "result": "faction_base_modular_decorative3_southeast", - "description": "Some benches around the outside would be nice. Build some to the southeast.", + "description": "Some benches around the outside would be nice. Build some to the southeast.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, @@ -242,7 +242,7 @@ { "type": "recipe", "result": "faction_base_modular_decorative4_southwest", - "description": "Some benches around the outside would be nice. Build some to the southwest.", + "description": "Some benches around the outside would be nice. Build some to the southwest.", "category": "CC_BUILDING", "subcategory": "CSC_BUILDING_BASES", "autolearn": false, diff --git a/data/json/recipes/basecamps/recipe_primitive_field.json b/data/json/recipes/basecamps/recipe_primitive_field.json index ffebaf7ae5406..98f016cf25bc0 100644 --- a/data/json/recipes/basecamps/recipe_primitive_field.json +++ b/data/json/recipes/basecamps/recipe_primitive_field.json @@ -442,7 +442,7 @@ "components": [ [ [ "processor", 2 ] ], [ [ "RAM", 2 ] ], - [ [ "small_lcd_screen", 1 ] ], + [ [ "large_lcd_screen", 1 ] ], [ [ "e_scrap", 8 ] ], [ [ "frame", 1 ] ], [ [ "circuit", 4 ] ], @@ -893,7 +893,7 @@ "autolearn": false, "never_learn": true, "time": "510 m", - "blueprint_requires": [ { "id": "not_an_upgrade" } ], + "//blueprint_requires": [ { "id": "not_an_upgrade" } ], "qualities": [ [ { "id": "DIG", "level": 1 } ] ], "components": [ [ [ "stick", 3 ] ] ] }, @@ -908,7 +908,7 @@ "autolearn": false, "never_learn": true, "time": "1530 m", - "blueprint_requires": [ { "id": "not_an_upgrade" } ], + "//blueprint_requires": [ { "id": "not_an_upgrade" } ], "qualities": [ [ { "id": "DIG", "level": 2 } ] ], "components": [ [ [ "pointy_stick", 68 ] ] ] }, diff --git a/data/json/recipes/chem/fuel.json b/data/json/recipes/chem/fuel.json index 749fbfd117a59..50f821a3f24c1 100644 --- a/data/json/recipes/chem/fuel.json +++ b/data/json/recipes/chem/fuel.json @@ -63,10 +63,9 @@ [ [ "cooking_oil", 64 ], [ "cooking_oil2", 64 ], - [ "lard", 8 ], - [ "tallow", 8 ], + [ "edible_tallow_lard", 8, "LIST" ], [ "tallow_tainted", 8 ], - [ "fat", 16 ], + [ "any_fat", 16, "LIST" ], [ "fat_tainted", 16 ], [ "lamp_oil", 1000 ] ] @@ -87,12 +86,11 @@ "components": [ [ [ "water", 1 ], [ "water_clean", 1 ] ], [ - [ "tallow", 2 ], + [ "edible_tallow_lard", 2, "LIST" ], [ "tallow_tainted", 2 ], - [ "lard", 2 ], [ "cooking_oil", 16 ], [ "cooking_oil2", 16 ], - [ "fat", 6 ], + [ "any_fat", 6, "LIST" ], [ "fat_tainted", 6 ] ] ], diff --git a/data/json/recipes/food/dry.json b/data/json/recipes/food/dry.json index 6db23c894df33..ef158c8d40079 100644 --- a/data/json/recipes/food/dry.json +++ b/data/json/recipes/food/dry.json @@ -29,6 +29,7 @@ { "type": "recipe", "result": "dry_beans", + "charges": 1, "category": "CC_FOOD", "subcategory": "CSC_FOOD_DRY", "skill_used": "cooking", @@ -42,6 +43,7 @@ { "type": "recipe", "result": "dry_beans", + "charges": 1, "category": "CC_FOOD", "id_suffix": "frozen_ingredients", "subcategory": "CSC_FOOD_DRY", @@ -118,7 +120,7 @@ "batch_time_factors": [ 67, 5 ], "book_learn": [ [ "cookbook_human", 4 ] ], "tools": [ [ [ "dehydrator", 25 ], [ "char_smoker", 25 ] ] ], - "components": [ [ [ "human_flesh", 1 ] ] ] + "components": [ [ [ "human_meat", 1, "LIST" ] ] ] }, { "result": "dry_hflesh", @@ -132,7 +134,7 @@ "batch_time_factors": [ 67, 5 ], "book_learn": [ [ "cookbook_human", 4 ] ], "tools": [ [ [ "dehydrator", 25 ], [ "char_smoker", 25 ] ], [ [ "surface_heat", 5, "LIST" ] ] ], - "components": [ [ [ "human_flesh", 1 ] ] ] + "components": [ [ [ "human_meat", 1, "LIST" ] ] ] }, { "type": "recipe", @@ -145,7 +147,7 @@ "autolearn": true, "batch_time_factors": [ 67, 5 ], "tools": [ [ [ "dehydrator", 25 ], [ "char_smoker", 25 ] ] ], - "components": [ [ [ "meat", 1 ], [ "meat_scrap", 10 ] ] ] + "components": [ [ [ "meat_red_raw", 1, "LIST" ] ] ] }, { "type": "recipe", @@ -159,7 +161,7 @@ "autolearn": true, "batch_time_factors": [ 67, 5 ], "tools": [ [ [ "dehydrator", 25 ], [ "char_smoker", 25 ] ], [ [ "surface_heat", 5, "LIST" ] ] ], - "components": [ [ [ "meat", 1 ], [ "meat_scrap", 10 ] ] ] + "components": [ [ [ "meat_red_raw", 1, "LIST" ] ] ] }, { "result": "dry_meat_tainted", @@ -218,6 +220,7 @@ { "type": "recipe", "result": "dry_veggy", + "charges": 1, "category": "CC_FOOD", "subcategory": "CSC_FOOD_DRY", "skill_used": "cooking", @@ -231,6 +234,7 @@ { "type": "recipe", "result": "dry_veggy", + "charges": 1, "category": "CC_FOOD", "id_suffix": "frozen_ingredients", "subcategory": "CSC_FOOD_DRY", @@ -244,6 +248,7 @@ }, { "result": "dry_veggy_tainted", + "charges": 1, "type": "recipe", "category": "CC_FOOD", "subcategory": "CSC_FOOD_DRY", @@ -257,6 +262,7 @@ }, { "result": "dry_veggy_tainted", + "charges": 1, "type": "recipe", "category": "CC_FOOD", "id_suffix": "frozen_ingredients", @@ -276,6 +282,7 @@ "subcategory": "CSC_FOOD_DRY", "skill_used": "cooking", "difficulty": 4, + "charges": 4, "time": "12 m", "batch_time_factors": [ 83, 3 ], "book_learn": [ [ "cookbook_human", 4 ] ], @@ -291,6 +298,7 @@ "subcategory": "CSC_FOOD_DRY", "skill_used": "cooking", "difficulty": 4, + "charges": 4, "time": "9 m", "batch_time_factors": [ 83, 3 ], "book_learn": [ [ "cookbook_human", 4 ] ], @@ -363,13 +371,13 @@ "subcategory": "CSC_FOOD_DRY", "skill_used": "cooking", "difficulty": 4, - "charges": 3, + "charges": 4, "time": "12 m", "batch_time_factors": [ 83, 3 ], "autolearn": true, "qualities": [ { "id": "CHEM", "level": 2 } ], "tools": [ [ [ "mortar_pestle", -1 ] ], [ [ "surface_heat", 25, "LIST" ] ] ], - "components": [ [ [ "dry_meat", 1 ], [ "dry_fish", 1 ] ] ] + "components": [ [ [ "dry_meat", 1 ], [ "dry_fish", 3 ] ] ] }, { "result": "protein_powder", @@ -379,17 +387,18 @@ "subcategory": "CSC_FOOD_DRY", "skill_used": "cooking", "difficulty": 4, - "charges": 3, + "charges": 4, "time": "9 m", "batch_time_factors": [ 83, 3 ], "autolearn": true, "qualities": [ { "id": "CHEM", "level": 2 } ], "tools": [ [ [ "food_processor", 20 ] ], [ [ "surface_heat", 10, "LIST" ] ] ], - "components": [ [ [ "dry_meat", 1 ], [ "dry_fish", 1 ] ] ] + "components": [ [ [ "dry_meat", 1 ], [ "dry_fish", 3 ] ] ] }, { "type": "recipe", "result": "dry_lentils", + "charges": 1, "category": "CC_FOOD", "subcategory": "CSC_FOOD_DRY", "skill_used": "cooking", @@ -403,6 +412,7 @@ { "type": "recipe", "result": "dry_lentils", + "charges": 1, "category": "CC_FOOD", "id_suffix": "frozen_ingredients", "subcategory": "CSC_FOOD_DRY", diff --git a/data/json/recipes/food/frozen.json b/data/json/recipes/food/frozen.json index d367b161e54a8..de4b00b2a1eac 100644 --- a/data/json/recipes/food/frozen.json +++ b/data/json/recipes/food/frozen.json @@ -201,7 +201,7 @@ "autolearn": true, "qualities": [ { "id": "COOK", "level": 3 } ], "tools": [ [ [ "rock_quern", -1 ], [ "clay_quern", -1 ], [ "mortar_pestle", -1 ], [ "food_processor", 10 ] ] ], - "components": [ [ [ "milk_standard", 2, "LIST" ] ], [ [ "yoghurt", 1 ] ], [ [ "sugar", 5 ] ] ] + "components": [ [ [ "yoghurt", 1 ] ], [ [ "sugar", 5 ] ] ] }, { "result": "icecream_sorbet", diff --git a/data/json/recipes/food/offal_dishes.json b/data/json/recipes/food/offal_dishes.json index 085427124bf2a..3b8ad6a5d1996 100644 --- a/data/json/recipes/food/offal_dishes.json +++ b/data/json/recipes/food/offal_dishes.json @@ -68,6 +68,7 @@ { "type": "recipe", "result": "liver_onion", + "result_mult": 2, "category": "CC_FOOD", "subcategory": "CSC_FOOD_MEAT", "skill_used": "cooking", @@ -77,7 +78,7 @@ "book_learn": [ [ "scots_cookbook", 2 ], [ "family_cookbook", 0 ], [ "cookbook", 0 ] ], "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 50, "LIST" ] ] ], - "components": [ [ [ "liver", 2 ] ], [ [ "onion", 1 ], [ "irradiated_onion", 1 ] ] ] + "components": [ [ [ "liver", 8 ] ], [ [ "onion", 1 ], [ "irradiated_onion", 1 ] ] ] }, { "type": "recipe", @@ -180,7 +181,7 @@ "tools": [ [ [ "surface_heat", 75, "LIST" ] ], [ [ "rock_quern", -1 ], [ "clay_quern", -1 ], [ "food_processor", 20 ] ] ], "components": [ [ [ "liver", 8 ] ], - [ [ "fat", 2 ], [ "lard", 2 ] ], + [ [ "edible_fat", 2, "LIST" ], [ "lard", 2 ], [ "mutant_lard", 2 ] ], [ [ "powder_eggs", 10 ], [ "eggs_bird", 2, "LIST" ] ], [ [ "onion", 1 ], [ "irradiated_onion", 1 ] ], [ [ "flour", 2 ] ], @@ -235,6 +236,7 @@ { "type": "recipe", "result": "grilled_sweetbread", + "charges": 1, "category": "CC_FOOD", "subcategory": "CSC_FOOD_MEAT", "skill_used": "cooking", diff --git a/data/json/recipes/food/pasta.json b/data/json/recipes/food/pasta.json index 557267985fe5b..4599663dbffb9 100644 --- a/data/json/recipes/food/pasta.json +++ b/data/json/recipes/food/pasta.json @@ -48,8 +48,8 @@ [ [ "water", 1 ], [ "water_clean", 1 ] ], [ [ "seasoning_italian", 4 ], - [ "sauce_red", 1 ], - [ "tomato", 2 ], + [ "sauce_red", 2 ], + [ "tomato", 1 ], [ "irradiated_tomato", 1 ], [ "can_tomato", 1 ], [ "wild_herbs", 10 ] @@ -74,7 +74,7 @@ [ [ "water", 1 ], [ "water_clean", 1 ] ], [ [ "seasoning_italian", 4 ], - [ "sauce_red", 1 ], + [ "sauce_red", 2 ], [ "tomato", 1 ], [ "irradiated_tomato", 1 ], [ "can_tomato", 1 ], @@ -101,14 +101,14 @@ [ [ "water", 1 ], [ "water_clean", 1 ] ], [ [ "seasoning_italian", 4 ], - [ "sauce_red", 1 ], + [ "sauce_red", 2 ], [ "tomato", 1 ], [ "irradiated_tomato", 1 ], [ "can_tomato", 1 ], [ "wild_herbs", 10 ] ], [ [ "cheese", 1 ], [ "cheese_hard", 1 ], [ "can_cheese", 1 ] ], - [ [ "human_flesh", 1 ], [ "human_canned", 1 ], [ "rehydrated_hflesh", 1 ], [ "dry_hflesh", 1 ] ] + [ [ "human_meat", 1, "LIST" ], [ "human_canned", 1 ], [ "rehydrated_hflesh", 1 ], [ "dry_hflesh", 1 ] ] ] }, { @@ -128,13 +128,13 @@ [ [ "water", 1 ], [ "water_clean", 1 ] ], [ [ "seasoning_italian", 4 ], - [ "sauce_red", 1 ], - [ "tomato", 2 ], + [ "sauce_red", 2 ], + [ "tomato", 1 ], [ "irradiated_tomato", 1 ], [ "can_tomato", 1 ], [ "wild_herbs", 10 ] ], - [ [ "human_flesh", 1 ], [ "human_canned", 1 ], [ "rehydrated_hflesh", 1 ], [ "dry_hflesh", 1 ] ] + [ [ "human_meat", 1, "LIST" ], [ "human_canned", 1 ], [ "rehydrated_hflesh", 1 ], [ "dry_hflesh", 1 ] ] ] }, { @@ -175,7 +175,7 @@ "time": "30 m", "autolearn": true, "tools": [ [ [ "surface_heat", 25, "LIST" ] ], [ [ "pastaextruder", -1 ] ] ], - "components": [ [ [ "flour", 9 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] + "components": [ [ [ "flour", 7 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] }, { "result": "spaghetti_raw", @@ -260,7 +260,7 @@ "tools": [ [ [ "surface_heat", 4, "LIST" ] ] ], "components": [ [ [ "spaghetti_raw", 1 ], [ "macaroni_raw", 1 ], [ "noodles_fast", 1 ] ], - [ [ "human_flesh", 1 ], [ "dry_hflesh", 1 ], [ "rehydrated_hflesh", 1 ] ], + [ [ "human_meat", 1, "LIST" ], [ "dry_hflesh", 1 ], [ "rehydrated_hflesh", 1 ] ], [ [ "cheese", 1 ], [ "cheese_hard", 1 ], [ "can_cheese", 1 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] diff --git a/data/json/recipes/food/seed.json b/data/json/recipes/food/seed.json index 9adc21a453611..a0adc992e9195 100644 --- a/data/json/recipes/food/seed.json +++ b/data/json/recipes/food/seed.json @@ -501,5 +501,18 @@ "autolearn": true, "components": [ [ [ "chamomile", 1 ] ] ], "flags": [ "ALLOW_ROTTEN" ] + }, + { + "result": "seed_sugar_beet", + "type": "recipe", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_SEEDS", + "skill_used": "survival", + "difficulty": 2, + "time": "5 m", + "autolearn": true, + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "sugar_beet", 1 ] ] ], + "flags": [ "ALLOW_ROTTEN" ] } ] diff --git a/data/json/recipes/other/containers.json b/data/json/recipes/other/containers.json index 5d8e9886bdf9c..f00dbe49f849f 100644 --- a/data/json/recipes/other/containers.json +++ b/data/json/recipes/other/containers.json @@ -73,9 +73,9 @@ "difficulty": 8, "time": "164 m", "autolearn": true, - "using": [ [ "forging_standard", 8 ], [ "steel_standard", 13 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ] + "using": [ [ "blacksmithing_standard", 52 ], [ "steel_standard", 13 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ] }, { "type": "recipe", @@ -140,8 +140,7 @@ "difficulty": 2, "time": 90000, "autolearn": true, - "qualities": [ { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "anvil", -1 ] ], [ [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], - "components": [ [ [ "steel_lump", 1 ], [ "steel_chunk", 2 ], [ "scrap", 6 ] ] ] + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ] } ] diff --git a/data/json/recipes/other/medical.json b/data/json/recipes/other/medical.json index 87e6a63ff1808..5d5679f13ffe7 100644 --- a/data/json/recipes/other/medical.json +++ b/data/json/recipes/other/medical.json @@ -113,7 +113,6 @@ "subcategory": "CSC_OTHER_MEDICAL", "skill_used": "survival", "difficulty": 1, - "skills_required": [ "survival", 1 ], "time": "5 m", "book_learn": [ [ "emergency_book", 1 ], diff --git a/data/json/recipes/other/other.json b/data/json/recipes/other/other.json index ecd9e5481aeae..8080d5396999a 100644 --- a/data/json/recipes/other/other.json +++ b/data/json/recipes/other/other.json @@ -11,6 +11,7 @@ "components": [ [ [ "meat", 1 ], + [ "mutant_meat", 1 ], [ "fish", 1 ], [ "corn", 1 ], [ "irradiated_corn", 1 ], diff --git a/data/json/recipes/other/parts.json b/data/json/recipes/other/parts.json index 841a1ea833a09..3d92677546f09 100644 --- a/data/json/recipes/other/parts.json +++ b/data/json/recipes/other/parts.json @@ -1,4 +1,30 @@ [ + { + "result": "circsaw_blade", + "type": "recipe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "difficulty": 6, + "time": "10 h", + "autolearn": true, + "using": [ [ "blacksmithing_standard", 2 ], [ "steel_tiny", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] + }, + { + "result": "blade_scythe", + "type": "recipe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "difficulty": 5, + "time": "5 h", + "autolearn": true, + "using": [ [ "blacksmithing_standard", 6 ], [ "steel_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] + }, { "result": "hinge", "type": "recipe", diff --git a/data/json/recipes/other/tool.json b/data/json/recipes/other/tool.json index d175cac33fd52..bfef49b9cbea2 100644 --- a/data/json/recipes/other/tool.json +++ b/data/json/recipes/other/tool.json @@ -1,4 +1,138 @@ [ + { + "result": "g_shovel", + "type": "recipe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_TOOLS", + "skill_used": "fabrication", + "difficulty": 4, + "time": "3 h", + "autolearn": true, + "using": [ [ "blacksmithing_standard", 1 ], [ "steel_tiny", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ] ] + }, + { + "result": "sickle", + "type": "recipe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_TOOLS", + "skill_used": "fabrication", + "difficulty": 5, + "time": "3 h", + "autolearn": true, + "using": [ [ "blacksmithing_standard", 6 ], [ "steel_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ] ] + }, + { + "result": "knife_paring", + "type": "recipe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_TOOLS", + "skill_used": "fabrication", + "difficulty": 3, + "time": "3 h", + "autolearn": true, + "using": [ [ "blacksmithing_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "scrap", 2 ] ] ] + }, + { + "result": "knife_chef", + "type": "recipe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_TOOLS", + "skill_used": "fabrication", + "difficulty": 3, + "time": "3 h", + "autolearn": true, + "using": [ [ "blacksmithing_standard", 1 ], [ "steel_tiny", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] + }, + { + "result": "knife_carving", + "type": "recipe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_TOOLS", + "skill_used": "fabrication", + "difficulty": 4, + "time": "3 h", + "autolearn": true, + "using": [ [ "blacksmithing_standard", 1 ], [ "steel_tiny", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] + }, + { + "result": "knife_bread", + "type": "recipe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_TOOLS", + "skill_used": "fabrication", + "difficulty": 3, + "time": "3 h", + "autolearn": true, + "using": [ [ "blacksmithing_standard", 1 ], [ "steel_tiny", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] + }, + { + "result": "knife_vegetable_cleaver", + "type": "recipe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_TOOLS", + "skill_used": "fabrication", + "difficulty": 4, + "time": "3 h", + "autolearn": true, + "using": [ [ "blacksmithing_standard", 1 ], [ "steel_tiny", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] + }, + { + "result": "knife_meat_cleaver", + "type": "recipe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_TOOLS", + "skill_used": "fabrication", + "difficulty": 4, + "time": "3 h", + "autolearn": true, + "using": [ [ "blacksmithing_standard", 2 ], [ "steel_tiny", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] + }, + { + "result": "knife_folding", + "type": "recipe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_TOOLS", + "skill_used": "fabrication", + "difficulty": 7, + "time": "5 h", + "autolearn": true, + "using": [ [ "blacksmithing_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "scrap", 4 ] ], [ [ "plastic_chunk", 1 ] ] ] + }, + { + "result": "steel_pan", + "type": "recipe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_TOOLS", + "skill_used": "fabrication", + "difficulty": 2, + "time": "1 h", + "autolearn": true, + "using": [ [ "blacksmithing_standard", 3 ], [ "steel_tiny", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] + }, { "result": "awl_bone", "type": "recipe", @@ -39,20 +173,6 @@ "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "mold_plastic", -1 ] ] ], "components": [ [ [ "plastic_chunk", 1 ] ], [ [ "scrap", 2 ] ] ] }, - { - "type": "recipe", - "result": "xacto", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_TOOLS", - "skill_used": "fabrication", - "difficulty": 7, - "time": "5 h", - "autolearn": true, - "using": [ [ "forging_standard", 5 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ] ], - "components": [ [ [ "plastic_chunk", 1 ] ], [ [ "scrap", 1 ] ] ] - }, { "result": "fishing_rod_professional", "type": "recipe", @@ -90,7 +210,7 @@ "skills_required": [ "mechanics", 3 ], "time": "300 m", "book_learn": [ [ "manual_mechanics", 3 ], [ "manual_fabrication", 5 ], [ "textbook_fabrication", 5 ] ], - "using": [ [ "forging_standard", 10 ], [ "steel_standard", 1 ] ], + "using": [ [ "forging_standard", 10 ], [ "steel_standard", 5 ] ], "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "swage", -1 ] ] ] }, @@ -311,9 +431,7 @@ "difficulty": 2, "time": 80000, "autolearn": true, - "qualities": [ { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "anvil", -1 ] ], [ [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], - "components": [ [ [ "steel_lump", 1 ], [ "steel_chunk", 4 ], [ "scrap", 12 ] ] ] + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ] }, { "result": "crowbar", @@ -416,7 +534,7 @@ "batch_time_factors": [ 50, 5 ], "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 7, "LIST" ] ] ], - "components": [ [ [ "stick", 1 ], [ "2x4", 1 ], [ "splinter", 1 ], [ "pool_cue", 1 ], [ "torch_done", 1 ] ], [ [ "pine_bough", 2 ] ] ] + "components": [ [ [ "stick", 1 ], [ "2x4", 1 ], [ "pool_cue", 1 ], [ "torch_done", 1 ] ], [ [ "pine_bough", 2 ] ] ] }, { "type": "recipe", diff --git a/data/json/recipes/other/vehicle.json b/data/json/recipes/other/vehicle.json index 89b720188af6d..c13b9da298930 100644 --- a/data/json/recipes/other/vehicle.json +++ b/data/json/recipes/other/vehicle.json @@ -107,9 +107,9 @@ "difficulty": 4, "time": "60 m", "autolearn": true, - "using": [ [ "rope_natural", 4 ], [ "welding_standard", 12 ] ], + "using": [ [ "rope_natural", 4 ], [ "welding_standard", 12 ], [ "steel_standard", 2 ] ], "qualities": [ { "id": "HAMMER", "level": 2 }, { "id": "SAW_M", "level": 1 }, { "id": "WRENCH", "level": 1 } ], - "components": [ [ [ "frame", 4 ] ], [ [ "steel_chunk", 4 ], [ "scrap", 12 ], [ "pipe", 12 ] ] ] + "components": [ [ [ "frame", 4 ] ], [ [ "pipe", 11 ] ] ] }, { "type": "recipe", @@ -122,7 +122,7 @@ "difficulty": 4, "time": "60 m", "autolearn": true, - "using": [ [ "welding_standard", 2 ] ], + "using": [ [ "welding_standard", 2 ], [ "steel_standard", 1 ] ], "qualities": [ { "id": "HAMMER", "level": 2 }, { "id": "SAW_M", "level": 1 }, { "id": "WRENCH", "level": 1 } ], "components": [ [ [ "pipe", 12 ] ], [ [ "cargo_rack", 1 ] ] ] }, diff --git a/data/json/recipes/recipe_ammo.json b/data/json/recipes/recipe_ammo.json index 96a72de8be44d..66a343a1d4dde 100644 --- a/data/json/recipes/recipe_ammo.json +++ b/data/json/recipes/recipe_ammo.json @@ -68,7 +68,8 @@ "time": "45 m", "autolearn": true, "book_learn": [ [ "textbook_fabrication", 1 ] ], - "tools": [ [ [ "press", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], + "using": [ [ "forging_standard", 5 ], [ "steel_standard", 6 ] ], + "tools": [ [ [ "press", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ [ [ "weights", 10, "LIST" ] ] ] }, { @@ -711,9 +712,9 @@ "difficulty": 2, "time": "100 m", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "forge", 200 ], [ "oxy_torch", 40 ] ] ], - "components": [ [ [ "steel_lump", 4 ], [ "steel_chunk", 16 ], [ "scrap", 48 ] ] ] + "using": [ [ "blacksmithing_standard", 16 ], [ "steel_standard", 4 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ] }, { "type": "recipe", @@ -725,9 +726,9 @@ "difficulty": 2, "time": "180 m", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 50 ], [ "oxy_torch", 10 ] ] ], - "components": [ [ [ "steel_chunk", 1 ], [ "scrap", 3 ] ] ] + "using": [ [ "blacksmithing_standard", 1 ], [ "steel_tiny", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] }, { "type": "recipe", @@ -846,7 +847,7 @@ "book_learn": [ [ "textbook_gaswarfare", 4 ], [ "textbook_chemistry", 4 ], [ "adv_chemistry", 4 ], [ "recipe_labchem", 4 ] ], "qualities": [ { "id": "CHEM", "level": 1 } ], "tools": [ [ [ "surface_heat", 5, "LIST" ] ] ], - "components": [ [ [ "fungicide", 50 ] ], [ [ "chem_sulphur", 10 ] ] ] + "components": [ [ [ "fungicide", 50 ] ], [ [ "chem_sulphur", 150 ] ] ] }, { "type": "recipe", diff --git a/data/json/recipes/recipe_deconstruction.json b/data/json/recipes/recipe_deconstruction.json index dc84eb41d4dc5..01e83e463285c 100644 --- a/data/json/recipes/recipe_deconstruction.json +++ b/data/json/recipes/recipe_deconstruction.json @@ -518,13 +518,15 @@ "qualities": [ { "id": "SCREW", "level": 1 } ], "components": [ [ [ "ai_module", 1 ] ], + [ [ "identification_module", 1 ] ], + [ [ "pathfinding_module", 1 ] ], + [ [ "sensor_module", 1 ] ], [ [ "small_storage_battery", 1 ] ], [ [ "RAM", 1 ] ], + [ [ "processor", 1 ] ], [ [ "scrap", 1 ] ], [ [ "quad_rotors", 1 ] ], - [ [ "sensor_module", 1 ] ], - [ [ "lens", 1 ] ], - [ [ "identification_module", 1 ] ] + [ [ "lens", 1 ] ] ] }, { @@ -632,7 +634,7 @@ [ [ "memory_module", 1 ] ], [ [ "pathfinding_module", 1 ] ], [ [ "medium_storage_battery", 1 ] ], - [ [ "motor", 1 ] ], + [ [ "robot_controls", 1 ] ], [ [ "steel_chunk", 20 ] ] ] }, @@ -736,13 +738,14 @@ "qualities": [ { "id": "SCREW", "level": 1 } ], "components": [ [ [ "ai_module", 1 ] ], - [ [ "RAM", 1 ] ], - [ [ "gun_module", 2 ] ], - [ [ "hk_mp5", 2 ] ], - [ [ "small_storage_battery", 1 ] ], - [ [ "sensor_module", 1 ] ], [ [ "identification_module", 1 ] ], + [ [ "targeting_module", 1 ] ], + [ [ "gun_module", 1 ] ], + [ [ "sensor_module", 1 ] ], + [ [ "small_storage_battery", 1 ] ], [ [ "power_supply", 1 ] ], + [ [ "robot_controls", 1 ] ], + [ [ "hk_mp5", 1 ] ], [ [ "turret_chassis", 1 ] ] ] }, @@ -756,13 +759,14 @@ "qualities": [ { "id": "SCREW", "level": 1 } ], "components": [ [ [ "ai_module", 1 ] ], - [ [ "RAM", 1 ] ], [ [ "gun_module", 1 ] ], + [ [ "targeting_module", 1 ] ], + [ [ "identification_module", 1 ] ], + [ [ "sensor_module", 1 ] ], [ [ "m249", 1 ] ], [ [ "small_storage_battery", 1 ] ], - [ [ "sensor_module", 1 ] ], - [ [ "identification_module", 1 ] ], [ [ "power_supply", 1 ] ], + [ [ "robot_controls", 1 ] ], [ [ "turret_chassis", 1 ] ] ] }, @@ -776,13 +780,14 @@ "qualities": [ { "id": "SCREW", "level": 1 } ], "components": [ [ [ "ai_module", 1 ] ], - [ [ "RAM", 1 ] ], [ [ "gun_module", 1 ] ], + [ [ "targeting_module", 1 ] ], + [ [ "identification_module", 1 ] ], + [ [ "sensor_module", 1 ] ], [ [ "m240", 1 ] ], [ [ "small_storage_battery", 1 ] ], - [ [ "sensor_module", 1 ] ], - [ [ "identification_module", 1 ] ], [ [ "power_supply", 1 ] ], + [ [ "robot_controls", 1 ] ], [ [ "turret_chassis", 1 ] ] ] }, @@ -796,12 +801,13 @@ "qualities": [ { "id": "SCREW", "level": 1 } ], "components": [ [ [ "ai_module", 1 ] ], - [ [ "RAM", 1 ] ], + [ [ "identification_module", 1 ] ], + [ [ "sensor_module", 1 ] ], [ [ "gun_module", 1 ] ], + [ [ "targeting_module", 1 ] ], [ [ "m2browning", 1 ] ], [ [ "small_storage_battery", 1 ] ], - [ [ "sensor_module", 1 ] ], - [ [ "identification_module", 1 ] ], + [ [ "robot_controls", 1 ] ], [ [ "power_supply", 1 ] ], [ [ "turret_chassis", 1 ] ] ] @@ -816,14 +822,15 @@ "qualities": [ { "id": "SCREW", "level": 1 } ], "components": [ [ [ "ai_module", 1 ] ], - [ [ "RAM", 1 ] ], [ [ "gun_module", 1 ] ], + [ [ "targeting_module", 1 ] ], + [ [ "identification_module", 1 ] ], + [ [ "sensor_module", 1 ] ], [ [ "laser_cannon", 1 ] ], [ [ "medium_storage_battery", 1 ] ], - [ [ "sensor_module", 1 ] ], - [ [ "identification_module", 1 ] ], [ [ "solar_cell", 4 ] ], [ [ "power_supply", 1 ] ], + [ [ "robot_controls", 1 ] ], [ [ "turret_chassis", 1 ] ] ] }, @@ -1514,13 +1521,6 @@ "qualities": [ { "id": "SCREW", "level": 1 } ], "components": [ [ [ "plastic_chunk", 1 ] ], [ [ "processor", 1 ] ], [ [ "light_minus_battery_cell", 1 ] ] ] }, - { - "result": "down_blanket", - "type": "uncraft", - "time": "2 m", - "qualities": [ { "id": "CUT", "level": 1 } ], - "components": [ [ [ "rag", 35 ] ], [ [ "down_feather", 160 ] ] ] - }, { "result": "down_pillow", "type": "uncraft", @@ -1762,6 +1762,22 @@ [ [ "small_storage_battery", 2 ] ] ] }, + { + "result": "large_lcd_screen", + "type": "uncraft", + "skill_used": "electronics", + "time": "30 m", + "using": [ [ "soldering_standard", 15 ] ], + "components": [ [ [ "e_scrap", 3 ] ], [ [ "plastic_chunk", 5 ] ] ] + }, + { + "result": "small_lcd_screen", + "type": "uncraft", + "skill_used": "electronics", + "time": "10 m", + "using": [ [ "soldering_standard", 5 ] ], + "components": [ [ [ "e_scrap", 1 ] ], [ [ "plastic_chunk", 2 ] ] ] + }, { "result": "basket_laundry", "type": "uncraft", @@ -1920,7 +1936,7 @@ "time": "30 m", "using": [ [ "soldering_standard", 40 ], [ "welding_standard", 3 ] ], "qualities": [ { "id": "SCREW", "level": 1 }, { "id": "WRENCH", "level": 1 }, { "id": "SAW_M", "level": 1 } ], - "components": [ [ [ "amplifier", 2 ] ], [ [ "cable", 20 ] ], [ [ "bearing", 20 ] ], [ [ "steel_chunk", 3 ] ] ] + "components": [ [ [ "amplifier", 2 ] ], [ [ "cable", 20 ] ], [ [ "bearing", 10 ] ], [ [ "steel_lump", 5 ] ], [ [ "e_scrap", 5 ] ] ] }, { "result": "motor_large", @@ -1935,7 +1951,8 @@ [ [ "amplifier", 4 ] ], [ [ "cable", 30 ] ], [ [ "bearing", 40 ] ], - [ [ "steel_chunk", 7 ] ] + [ [ "steel_lump", 15 ] ], + [ [ "e_scrap", 5 ] ] ] }, { @@ -2250,7 +2267,7 @@ "type": "uncraft", "time": "1 m 30 s", "qualities": [ { "id": "HAMMER", "level": 1 } ], - "components": [ [ [ "scrap", 7 ] ] ] + "components": [ [ [ "scrap", 54 ] ] ] }, { "result": "stick_long", @@ -2337,6 +2354,7 @@ "time": "1 h", "qualities": [ { "id": "SCREW", "level": 1 } ], "components": [ + [ [ "large_lcd_screen", 1 ] ], [ [ "processor", 1 ] ], [ [ "RAM", 2 ] ], [ [ "cable", 8 ] ], diff --git a/data/json/recipes/recipe_electronics.json b/data/json/recipes/recipe_electronics.json index 12892f6a0aa30..da8906f65b656 100644 --- a/data/json/recipes/recipe_electronics.json +++ b/data/json/recipes/recipe_electronics.json @@ -479,9 +479,8 @@ "time": "1 h", "decomp_learn": 4, "book_learn": [ [ "textbook_survival", 3 ], [ "advanced_electronics", 3 ], [ "manual_electronics", 3 ] ], - "using": [ [ "soldering_standard", 10 ], [ "forging_standard", 10 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "SCREW", "level": 1 }, { "id": "HAMMER", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ] ], + "using": [ [ "soldering_standard", 10 ], [ "blacksmithing_standard", 10 ] ], + "qualities": [ { "id": "SCREW", "level": 1 } ], "components": [ [ [ "element", 3 ] ], [ [ "amplifier", 1 ] ], @@ -1289,11 +1288,12 @@ "components": [ [ [ "ai_module", 1 ] ], [ [ "identification_module", 1 ] ], - [ [ "RAM", 1 ] ], - [ [ "camera", 1 ] ], + [ [ "targeting_module", 1 ] ], + [ [ "gun_module", 1 ] ], + [ [ "camera", 1 ], [ "camera_pro", 1 ], [ "omnicamera", 1 ], [ "sensor_module", 1 ] ], [ [ "small_storage_battery", 1 ] ], [ [ "power_supply", 1 ] ], - [ [ "motor_tiny", 3 ] ], + [ [ "robot_controls", 1 ] ], [ [ "hk_mp5", 1 ] ], [ [ "mp5mag", 1 ] ], [ [ "sheet_metal", 2 ] ], @@ -1322,14 +1322,15 @@ ], "components": [ [ [ "ai_module", 1 ] ], - [ [ "RAM", 1 ] ], [ [ "gun_module", 1 ] ], + [ [ "targeting_module", 1 ] ], + [ [ "identification_module", 1 ] ], + [ [ "sensor_module", 1 ] ], [ [ "laser_cannon", 1 ] ], [ [ "medium_storage_battery", 1 ] ], - [ [ "sensor_module", 1 ] ], - [ [ "identification_module", 1 ] ], [ [ "solar_cell", 4 ] ], [ [ "power_supply", 1 ] ], + [ [ "robot_controls", 1 ] ], [ [ "turret_chassis", 1 ] ] ] }, @@ -1354,13 +1355,14 @@ ], "components": [ [ [ "ai_module", 1 ] ], - [ [ "RAM", 1 ] ], [ [ "gun_module", 1 ] ], + [ [ "targeting_module", 1 ] ], + [ [ "identification_module", 1 ] ], + [ [ "sensor_module", 1 ] ], [ [ "m249", 1 ] ], [ [ "small_storage_battery", 1 ] ], - [ [ "sensor_module", 1 ] ], - [ [ "identification_module", 1 ] ], [ [ "power_supply", 1 ] ], + [ [ "robot_controls", 1 ] ], [ [ "turret_chassis", 1 ] ] ] }, @@ -1385,13 +1387,14 @@ ], "components": [ [ [ "ai_module", 1 ] ], - [ [ "RAM", 1 ] ], [ [ "gun_module", 1 ] ], + [ [ "targeting_module", 1 ] ], + [ [ "identification_module", 1 ] ], + [ [ "sensor_module", 1 ] ], [ [ "m240", 1 ] ], [ [ "small_storage_battery", 1 ] ], - [ [ "sensor_module", 1 ] ], - [ [ "identification_module", 1 ] ], [ [ "power_supply", 1 ] ], + [ [ "robot_controls", 1 ] ], [ [ "turret_chassis", 1 ] ] ] }, @@ -1543,13 +1546,15 @@ ], "components": [ [ [ "ai_module", 1 ] ], + [ [ "identification_module", 1 ] ], + [ [ "pathfinding_module", 1 ] ], + [ [ "sensor_module", 1 ] ], [ [ "small_storage_battery", 1 ] ], [ [ "RAM", 1 ] ], + [ [ "processor", 1 ] ], [ [ "scrap", 1 ] ], [ [ "quad_rotors", 1 ] ], - [ [ "sensor_module", 1 ] ], - [ [ "lens", 1 ] ], - [ [ "identification_module", 1 ] ] + [ [ "lens", 1 ] ] ] }, { @@ -1577,7 +1582,7 @@ [ [ "memory_module", 1 ] ], [ [ "pathfinding_module", 1 ] ], [ [ "medium_storage_battery", 1 ] ], - [ [ "motor", 1 ] ], + [ [ "robot_controls", 1 ] ], [ [ "steel_chunk", 20 ] ] ] }, @@ -1703,7 +1708,6 @@ ], "components": [ [ [ "ai_module", 1 ] ], - [ [ "RAM", 1 ] ], [ [ "small_storage_battery", 1 ] ], [ [ "scrap", 1 ] ], [ [ "spidery_legs_small", 1 ] ], @@ -1881,12 +1885,13 @@ ], "components": [ [ [ "ai_module", 1 ] ], - [ [ "RAM", 1 ] ], + [ [ "identification_module", 1 ] ], + [ [ "sensor_module", 1 ] ], [ [ "gun_module", 1 ] ], + [ [ "targeting_module", 1 ] ], [ [ "m2browning", 1 ] ], [ [ "small_storage_battery", 1 ] ], - [ [ "sensor_module", 1 ] ], - [ [ "identification_module", 1 ] ], + [ [ "robot_controls", 1 ] ], [ [ "power_supply", 1 ] ], [ [ "turret_chassis", 1 ] ] ] @@ -2035,7 +2040,7 @@ "book_learn": [ [ "manual_electronics", 2 ], [ "mag_electronics", 2 ] ], "using": [ [ "soldering_standard", 5 ] ], "qualities": [ { "id": "SCREW", "level": 1 } ], - "components": [ [ [ "e_scrap", 1 ] ], [ [ "scrap", 1 ] ], [ [ "cable", 3 ] ] ] + "components": [ [ [ "e_scrap", 1 ] ], [ [ "scrap", 1 ] ], [ [ "cable", 1 ] ] ] }, { "type": "recipe", @@ -2049,9 +2054,9 @@ "reversible": true, "decomp_learn": 2, "book_learn": [ [ "manual_electronics", 2 ], [ "mag_electronics", 2 ], [ "manual_mechanics", 2 ] ], - "using": [ [ "soldering_standard", 5 ], [ "steel_standard", 5 ] ], + "using": [ [ "soldering_standard", 5 ], [ "steel_tiny", 1 ] ], "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "SCREW_FINE", "level": 1 } ], - "components": [ [ [ "plastic_chunk", 1 ] ], [ [ "cable", 3 ] ], [ [ "e_scrap", 5 ] ] ] + "components": [ [ [ "cable", 3 ] ], [ [ "e_scrap", 3 ] ] ] }, { "type": "recipe", @@ -2065,9 +2070,9 @@ "reversible": true, "decomp_learn": 2, "book_learn": [ [ "manual_electronics", 2 ], [ "mag_electronics", 2 ], [ "manual_mechanics", 2 ] ], - "using": [ [ "soldering_standard", 5 ] ], + "using": [ [ "soldering_standard", 5 ], [ "steel_standard", 1 ] ], "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "SCREW", "level": 1 } ], - "components": [ [ [ "steel_chunk", 2 ] ], [ [ "scrap", 2 ] ], [ [ "cable", 6 ] ] ] + "components": [ [ [ "e_scrap", 5 ] ], [ [ "cable", 6 ] ] ] }, { "type": "recipe", @@ -2157,7 +2162,7 @@ [ [ "antenna", 1 ] ], [ [ "processor", 1 ] ], [ [ "RAM", 1 ] ], - [ [ "small_lcd_screen", 1 ] ] + [ [ "large_lcd_screen", 1 ] ] ] }, { @@ -2398,12 +2403,13 @@ "difficulty": 6, "time": "45 m", "book_learn": [ [ "adv_chemistry", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "forge", 20 ], [ "oxy_torch", 4 ] ] ], + "using": [ [ "blacksmithing_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ - [ [ "chem_manganese_dioxide", 2 ] ], + [ [ "chem_manganese_dioxide", 29 ] ], [ [ "zinc_metal", 2 ] ], - [ [ "chem_potassium_hydroxide", 1 ] ], + [ [ "chem_potassium_hydroxide", 7 ] ], [ [ "water_clean", 1 ] ], [ [ "steel_chunk", 1 ], [ "scrap", 2 ] ] ] @@ -2418,12 +2424,13 @@ "difficulty": 6, "time": "1 h", "book_learn": [ [ "adv_chemistry", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "forge", 20 ], [ "oxy_torch", 4 ] ] ], + "using": [ [ "blacksmithing_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ - [ [ "chem_manganese_dioxide", 6 ] ], + [ [ "chem_manganese_dioxide", 87 ] ], [ [ "zinc_metal", 6 ] ], - [ [ "chem_potassium_hydroxide", 3 ] ], + [ [ "chem_potassium_hydroxide", 20 ] ], [ [ "water_clean", 3 ] ], [ [ "steel_chunk", 3 ], [ "scrap", 6 ] ] ] @@ -2438,12 +2445,13 @@ "difficulty": 6, "time": "1 h 20 m", "book_learn": [ [ "adv_chemistry", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "forge", 20 ], [ "oxy_torch", 4 ] ] ], + "using": [ [ "blacksmithing_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ - [ [ "chem_manganese_dioxide", 24 ] ], + [ [ "chem_manganese_dioxide", 348 ] ], [ [ "zinc_metal", 24 ] ], - [ [ "chem_potassium_hydroxide", 12 ] ], + [ [ "chem_potassium_hydroxide", 82 ] ], [ [ "water_clean", 12 ] ], [ [ "steel_chunk", 12 ], [ "scrap", 24 ] ] ] @@ -2458,12 +2466,13 @@ "difficulty": 6, "time": "1 h 45 m", "book_learn": [ [ "adv_chemistry", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "forge", 20 ], [ "oxy_torch", 4 ] ] ], + "using": [ [ "blacksmithing_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ - [ [ "chem_manganese_dioxide", 50 ] ], + [ [ "chem_manganese_dioxide", 725 ] ], [ [ "zinc_metal", 50 ] ], - [ [ "chem_potassium_hydroxide", 25 ] ], + [ [ "chem_potassium_hydroxide", 170 ] ], [ [ "water_clean", 25 ] ], [ [ "steel_chunk", 25 ], [ "scrap", 50 ] ] ] diff --git a/data/json/recipes/recipe_food.json b/data/json/recipes/recipe_food.json index a34d87f208059..8fd1e41c8cc3a 100644 --- a/data/json/recipes/recipe_food.json +++ b/data/json/recipes/recipe_food.json @@ -32,8 +32,8 @@ "autolearn": true, "qualities": [ { "id": "COOK", "level": 2 }, { "id": "CUT", "level": 1 } ], "tools": [ [ [ "surface_heat", 5, "LIST" ] ] ], - "charges": 4, - "components": [ [ [ "flour", 1 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ], [ [ "salt", 5 ] ], [ [ "sugar", 16 ] ] ] + "charges": 8, + "components": [ [ [ "flour", 10 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ], [ [ "salt", 1 ] ], [ [ "sugar", 5 ] ] ] }, { "type": "recipe", @@ -123,6 +123,41 @@ "tools": [ [ [ "surface_heat", 1, "LIST" ] ] ], "components": [ [ [ "meat_scrap", 1 ] ] ] }, + { + "type": "recipe", + "result": "mutant_meat_cooked", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_MEAT", + "skill_used": "cooking", + "time": "15 m", + "autolearn": true, + "batch_time_factors": [ 67, 5 ], + "qualities": [ { "id": "COOK", "level": 1 } ], + "tools": [ [ [ "surface_heat", 7, "LIST" ] ] ], + "components": [ [ [ "mutant_meat", 1 ] ] ] + }, + { + "type": "recipe", + "result": "mutant_meat_scrap_cooked", + "copy-from": "mutant_meat_cooked", + "time": "45 s", + "qualities": [ { "id": "COOK", "level": 1 } ], + "tools": [ [ [ "surface_heat", 1, "LIST" ] ] ], + "components": [ [ [ "mutant_meat_scrap", 1 ] ] ] + }, + { + "type": "recipe", + "result": "mutant_human_cooked", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_MEAT", + "skill_used": "cooking", + "time": "15 m", + "autolearn": true, + "batch_time_factors": [ 67, 5 ], + "qualities": [ { "id": "COOK", "level": 1 } ], + "tools": [ [ [ "surface_heat", 7, "LIST" ] ] ], + "components": [ [ [ "mutant_human_flesh", 1 ] ] ] + }, { "result": "offal_canned", "type": "recipe", @@ -286,6 +321,38 @@ "tools": [ [ [ "surface_heat", 7, "LIST" ] ] ], "components": [ [ [ "fat", 2 ] ] ] }, + { + "type": "recipe", + "result": "mutant_tallow", + "copy-from": "tallow", + "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], + "tools": [ [ [ "surface_heat", 7, "LIST" ] ] ], + "components": [ [ [ "mutant_fat", 3 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] + }, + { + "type": "recipe", + "result": "mutant_lard", + "copy-from": "lard", + "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], + "tools": [ [ [ "surface_heat", 7, "LIST" ] ] ], + "components": [ [ [ "mutant_fat", 2 ] ] ] + }, + { + "type": "recipe", + "result": "mutant_human_tallow", + "copy-from": "tallow", + "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], + "tools": [ [ [ "surface_heat", 7, "LIST" ] ] ], + "components": [ [ [ "mutant_human_fat", 3 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] + }, + { + "type": "recipe", + "result": "mutant_human_lard", + "copy-from": "lard", + "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], + "tools": [ [ [ "surface_heat", 7, "LIST" ] ] ], + "components": [ [ [ "mutant_human_fat", 2 ] ] ] + }, { "type": "recipe", "result": "cooking_oil", @@ -322,7 +389,7 @@ "batch_time_factors": [ 80, 4 ], "qualities": [ { "id": "BOIL", "level": 1 }, { "id": "COOK", "level": 2 } ], "tools": [ [ [ "water_boiling_heat", 2, "LIST" ] ] ], - "components": [ [ [ "fat", 1 ], [ "tallow", 2 ], [ "lard", 2 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] + "components": [ [ [ "edible_fat", 1, "LIST" ], [ "edible_tallow_lard", 2, "LIST" ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] }, { "type": "recipe", @@ -346,7 +413,7 @@ "autolearn": true, "flags": [ "BLIND_HARD" ], "qualities": [ { "id": "CONTAIN", "level": 1 } ], - "components": [ [ [ "dry_fish", 2 ] ], [ [ "water_clean", 1 ] ] ] + "components": [ [ [ "dry_fish", 1 ] ], [ [ "water_clean", 1 ] ] ] }, { "type": "recipe", @@ -358,7 +425,7 @@ "book_learn": [ [ "cookbook_human", 4 ] ], "flags": [ "BLIND_HARD" ], "qualities": [ { "id": "CONTAIN", "level": 1 } ], - "components": [ [ [ "dry_hflesh", 2 ] ], [ [ "water_clean", 1 ] ] ] + "components": [ [ [ "dry_hflesh", 1 ] ], [ [ "water_clean", 1 ] ] ] }, { "type": "recipe", @@ -370,7 +437,7 @@ "autolearn": true, "flags": [ "BLIND_HARD" ], "qualities": [ { "id": "CONTAIN", "level": 1 } ], - "components": [ [ [ "dry_veggy", 2 ] ], [ [ "water_clean", 1 ] ] ] + "components": [ [ [ "dry_veggy", 1 ] ], [ [ "water_clean", 1 ] ] ] }, { "type": "recipe", @@ -382,7 +449,7 @@ "autolearn": true, "flags": [ "BLIND_HARD" ], "qualities": [ { "id": "CONTAIN", "level": 1 } ], - "components": [ [ [ "dry_fruit", 2 ] ], [ [ "water_clean", 1 ] ] ] + "components": [ [ [ "dry_fruit", 1 ] ], [ [ "water_clean", 1 ] ] ] }, { "type": "recipe", @@ -423,7 +490,7 @@ "batch_time_factors": [ 83, 3 ], "qualities": [ { "id": "COOK", "level": 1 } ], "tools": [ [ [ "char_smoker", 15 ] ] ], - "components": [ [ [ "meat", 1 ], [ "meat_scrap", 10 ] ] ] + "components": [ [ [ "meat_red_raw", 1, "LIST" ] ] ] }, { "type": "recipe", @@ -748,7 +815,7 @@ "tools": [ [ [ "char_smoker", 10 ] ] ], "components": [ [ [ "meat_red", 2, "LIST" ], [ "liver", 10 ] ], - [ [ "fat", 1 ], [ "tallow", 2 ], [ "lard", 2 ] ], + [ [ "edible_fat", 1, "LIST" ], [ "edible_tallow_lard", 2, "LIST" ] ], [ [ "salt", 4 ], [ "soysauce", 2 ], @@ -773,7 +840,7 @@ "tools": [ [ [ "surface_heat", 7, "LIST" ] ] ], "components": [ [ [ "meat_red", 2, "LIST" ], [ "can_chicken", 2 ] ], - [ [ "fat", 1 ], [ "tallow", 2 ], [ "lard", 2 ] ], + [ [ "edible_fat", 1, "LIST" ], [ "edible_tallow_lard", 2, "LIST" ] ], [ [ "salt", 4 ], [ "soysauce", 2 ], @@ -798,7 +865,7 @@ "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 1 } ], "components": [ [ [ "meat_red", 2, "LIST" ], [ "liver", 10 ] ], - [ [ "fat", 1 ], [ "tallow", 2 ], [ "lard", 2 ] ], + [ [ "edible_fat", 1, "LIST" ], [ "edible_tallow_lard", 2, "LIST" ] ], [ [ "salt", 4 ], [ "soysauce", 2 ], @@ -855,10 +922,39 @@ "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 1 } ], "tools": [ [ [ "char_smoker", 5 ] ] ], "components": [ - [ [ "human_flesh", 1 ] ], + [ [ "human_meat", 1, "LIST" ] ], [ [ "salt", 2 ], [ "soysauce", 1 ], [ "seasoning_italian", 2 ], [ "wild_herbs", 2 ], [ "seasoning_salt", 2 ] ] ] }, + { + "type": "recipe", + "result": "human_tallow", + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_MEAT", + "skill_used": "cooking", + "difficulty": 2, + "time": "10 m", + "charges": 6, + "autolearn": true, + "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], + "tools": [ [ [ "surface_heat", 7, "LIST" ] ] ], + "components": [ [ [ "human_fat", 3 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] + }, + { + "type": "recipe", + "result": "human_lard", + "byproducts": [ [ "cracklins" ] ], + "category": "CC_FOOD", + "subcategory": "CSC_FOOD_MEAT", + "skill_used": "cooking", + "difficulty": 3, + "time": "10 m", + "charges": 3, + "autolearn": true, + "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], + "tools": [ [ [ "surface_heat", 7, "LIST" ] ] ], + "components": [ [ [ "human_fat", 2 ] ] ] + }, { "type": "recipe", "result": "human_cooked", @@ -884,7 +980,7 @@ "batch_time_factors": [ 83, 3 ], "qualities": [ { "id": "COOK", "level": 1 } ], "tools": [ [ [ "char_smoker", 15 ] ] ], - "components": [ [ [ "human_flesh", 1 ] ] ] + "components": [ [ [ "human_meat", 1, "LIST" ] ] ] }, { "type": "recipe", @@ -900,8 +996,8 @@ "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 1 } ], "tools": [ [ [ "char_smoker", 10 ] ] ], "components": [ - [ [ "human_flesh", 1 ], [ "rehydrated_hflesh", 1 ] ], - [ [ "fat", 1 ], [ "tallow", 2 ], [ "lard", 2 ] ], + [ [ "human_meat", 1, "LIST" ], [ "rehydrated_hflesh", 1 ] ], + [ [ "edible_fat", 1, "LIST" ], [ "edible_tallow_lard", 2, "LIST" ] ], [ [ "salt", 4 ], [ "soysauce", 2 ], @@ -1210,7 +1306,7 @@ "autolearn": true, "qualities": [ { "id": "COOK", "level": 2 }, { "id": "CUT", "level": 1 } ], "tools": [ [ [ "surface_heat", 5, "LIST" ] ] ], - "components": [ [ [ "raw_dandelion", 2 ] ], [ [ "water", 2 ], [ "water_clean", 2 ] ] ] + "components": [ [ [ "raw_dandelion", 1 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] }, { "type": "recipe", @@ -1250,7 +1346,7 @@ "time": "5 m", "autolearn": true, "tools": [ [ [ "surface_heat", 3, "LIST" ] ] ], - "components": [ [ [ "frozen_dinner", 1 ] ] ] + "components": [ [ [ "frozen_dinner", 2 ] ] ] }, { "type": "recipe", @@ -1288,13 +1384,19 @@ "difficulty": 3, "time": "16 m", "autolearn": true, + "//": "Even assuming the crafter is reusing oil, some still gets absorbed into the potato.", "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 8, "LIST" ] ], [ [ "frying_oil", 1, "LIST" ] ] ], - "components": [ [ [ "potato", 1 ], [ "irradiated_potato", 1 ] ], [ [ "salt", 2 ], [ "seasoning_salt", 2 ] ] ] + "components": [ + [ [ "potato", 1 ], [ "irradiated_potato", 1 ] ], + [ [ "salt", 2 ], [ "seasoning_salt", 2 ] ], + [ [ "cooking_oil", 2 ], [ "cooking_oil2", 2 ] ] + ] }, { "type": "recipe", "result": "fried_seeds", + "charges": 1, "category": "CC_FOOD", "subcategory": "CSC_FOOD_SNACK", "skill_used": "cooking", @@ -1316,7 +1418,7 @@ "autolearn": true, "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 8, "LIST" ] ], [ [ "frying_oil", 1, "LIST" ] ] ], - "components": [ [ [ "tortilla_corn", 1 ] ], [ [ "salt", 2 ], [ "seasoning_salt", 2 ] ] ] + "components": [ [ [ "tortilla_corn", 5 ] ], [ [ "salt", 2 ], [ "seasoning_salt", 2 ] ] ] }, { "type": "recipe", @@ -1368,11 +1470,11 @@ "subcategory": "CSC_FOOD_SNACK", "skill_used": "cooking", "time": "20 m", - "charges": 3, + "charges": 5, "book_learn": [ [ "cookbook_human", 0 ] ], "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 3, "LIST" ] ] ], - "components": [ [ [ "human_flesh", 1 ], [ "dry_hflesh", 1 ], [ "rehydrated_hflesh", 1 ] ], [ [ "nachos", 3 ] ] ] + "components": [ [ [ "human_meat", 1, "LIST" ], [ "dry_hflesh", 1 ], [ "rehydrated_hflesh", 1 ] ], [ [ "nachos", 3 ] ] ] }, { "type": "recipe", @@ -1386,7 +1488,7 @@ "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 3, "LIST" ] ] ], "components": [ - [ [ "human_flesh", 1 ], [ "dry_hflesh", 1 ], [ "rehydrated_hflesh", 1 ] ], + [ [ "human_meat", 1, "LIST" ], [ "dry_hflesh", 1 ], [ "rehydrated_hflesh", 1 ] ], [ [ "cheese", 1 ], [ "cheese_hard", 1 ], [ "can_cheese", 1 ] ], [ [ "nachos", 3 ] ] ] @@ -1394,16 +1496,21 @@ { "type": "recipe", "result": "fresh_fries", + "result_mult": 3, "category": "CC_FOOD", "subcategory": "CSC_FOOD_VEGGI", "skill_used": "cooking", "difficulty": 3, "time": "16 m", "autolearn": true, - "//": "the cooking oil isn't supposed to be expended since you can recycle it after frying the potatoes", + "//": "Even assuming the crafter is reusing oil, some still gets absorbed into the potato.", "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 8, "LIST" ] ], [ [ "frying_oil", 1, "LIST" ] ] ], - "components": [ [ [ "potato", 1 ], [ "irradiated_potato", 1 ] ], [ [ "salt", 2 ], [ "seasoning_salt", 2 ] ] ] + "components": [ + [ [ "potato", 1 ], [ "irradiated_potato", 1 ] ], + [ [ "salt", 2 ], [ "seasoning_salt", 2 ] ], + [ [ "cooking_oil", 4 ], [ "cooking_oil2", 4 ] ] + ] }, { "type": "recipe", @@ -1432,6 +1539,7 @@ { "type": "recipe", "result": "popcorn2", + "charges": 1, "category": "CC_FOOD", "subcategory": "CSC_FOOD_SNACK", "skill_used": "cooking", @@ -1652,6 +1760,8 @@ { "type": "recipe", "result": "almond_milk", + "result_mult": 3, + "byproducts": [ [ "almond_pulp" ] ], "id_suffix": "mortar", "category": "CC_FOOD", "subcategory": "CSC_FOOD_DRINKS", @@ -1661,11 +1771,13 @@ "qualities": [ { "id": "CONTAIN", "level": 1 } ], "tools": [ [ [ "rag", -1 ] ], [ [ "mortar_pestle", -1 ] ] ], "autolearn": true, - "components": [ [ [ "almond_unshelled", 2 ] ], [ [ "water_clean", 2 ] ] ] + "components": [ [ [ "almond_unshelled", 2 ] ], [ [ "water_clean", 3 ] ] ] }, { "type": "recipe", "result": "almond_milk", + "result_mult": 3, + "byproducts": [ [ "almond_pulp" ] ], "category": "CC_FOOD", "subcategory": "CSC_FOOD_DRINKS", "skill_used": "cooking", @@ -1674,7 +1786,7 @@ "qualities": [ { "id": "CONTAIN", "level": 1 } ], "tools": [ [ [ "food_processor", 20 ] ], [ [ "rag", -1 ] ] ], "autolearn": true, - "components": [ [ [ "almond_unshelled", 2 ] ], [ [ "water_clean", 2 ] ] ] + "components": [ [ [ "almond_unshelled", 2 ] ], [ [ "water_clean", 3 ] ] ] }, { "type": "recipe", @@ -1718,18 +1830,18 @@ "type": "recipe", "result": "milk_reconstituted", "id_suffix": "from_condensed", - "result_mult": 2, + "result_mult": 4, "category": "CC_FOOD", "subcategory": "CSC_FOOD_DRINKS", "skill_used": "cooking", "time": "1 m", "autolearn": true, - "components": [ [ [ "con_milk", 5 ] ], [ [ "water_clean", 1 ] ] ] + "components": [ [ [ "con_milk", 5 ] ], [ [ "water_clean", 3 ] ] ] }, { "type": "recipe", "result": "can_coconut", - "byproducts": [ [ "juice_pulp" ] ], + "byproducts": [ [ "juice_pulp", 2 ] ], "category": "CC_FOOD", "subcategory": "CSC_FOOD_DRINKS", "skill_used": "cooking", @@ -1738,7 +1850,7 @@ "autolearn": true, "qualities": [ { "id": "CONTAIN", "level": 1 }, { "id": "CUT", "level": 1 } ], "tools": [ [ [ "rag", -1 ] ] ], - "components": [ [ [ "coconut", 1 ] ], [ [ "water_clean", 1 ] ] ] + "components": [ [ [ "coconut", 2 ] ], [ [ "water_clean", 2 ] ] ] }, { "type": "recipe", @@ -1800,7 +1912,7 @@ { "type": "recipe", "result": "cranberry_juice", - "byproducts": [ [ "juice_pulp" ] ], + "byproducts": [ [ "juice_pulp", 2 ] ], "category": "CC_FOOD", "subcategory": "CSC_FOOD_DRINKS", "skill_used": "cooking", @@ -1809,12 +1921,12 @@ "autolearn": true, "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "CONTAIN", "level": 1 } ], "tools": [ [ [ "rag", -1 ] ] ], - "components": [ [ [ "cranberries", 1 ], [ "irradiated_cranberries", 1 ] ], [ [ "water_clean", 1 ] ] ] + "components": [ [ [ "cranberries", 3 ], [ "irradiated_cranberries", 3 ] ], [ [ "water_clean", 1 ] ] ] }, { "type": "recipe", "result": "apple_cider", - "byproducts": [ [ "juice_pulp" ] ], + "byproducts": [ [ "juice_pulp", 2 ] ], "category": "CC_FOOD", "subcategory": "CSC_FOOD_DRINKS", "skill_used": "cooking", @@ -1823,11 +1935,12 @@ "autolearn": true, "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "CONTAIN", "level": 1 } ], "tools": [ [ [ "rag", -1 ] ] ], - "components": [ [ [ "irradiated_apple", 3 ], [ "apple", 3 ] ] ] + "components": [ [ [ "irradiated_apple", 2 ], [ "apple", 2 ] ] ] }, { "type": "recipe", "result": "lemonade", + "result_mult": 2, "category": "CC_FOOD", "subcategory": "CSC_FOOD_DRINKS", "skill_used": "cooking", @@ -1835,7 +1948,7 @@ "time": "5 m", "autolearn": true, "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "CONTAIN", "level": 1 } ], - "components": [ [ [ "irradiated_lemon", 2 ], [ "lemon", 2 ] ], [ [ "sugar", 10 ] ], [ [ "water_clean", 1 ] ] ] + "components": [ [ [ "irradiated_lemon", 1 ], [ "lemon", 1 ] ], [ [ "sugar", 10 ] ], [ [ "water_clean", 1 ] ] ] }, { "type": "recipe", @@ -1964,6 +2077,7 @@ [ [ "meat_red", 1, "LIST" ], [ "meat_cooked", 1 ], + [ "mutant_meat_cooked", 1 ], [ "can_salmon", 2 ], [ "can_herring", 2 ], [ "fish", 2 ], @@ -2006,7 +2120,7 @@ "tools": [ [ [ "surface_heat", 7, "LIST" ] ] ], "components": [ [ [ "broth_bone", 1 ], [ "broth_human", 1 ] ], - [ [ "human_flesh", 1 ], [ "human_cooked", 1 ] ], + [ [ "human_meat", 1, "LIST" ], [ "human_meat_cooked", 1, "LIST" ] ], [ [ "water_clean", 1 ], [ "water", 1 ] ] ] }, @@ -2032,7 +2146,7 @@ [ "pepper", 2 ], [ "chem_saltpetre", 1 ] ], - [ [ "meat", 1 ], [ "meat_scrap", 10 ] ] + [ [ "meat_red_raw", 1, "LIST" ] ] ] }, { @@ -2081,7 +2195,7 @@ [ "pepper", 2 ], [ "chem_saltpetre", 1 ] ], - [ [ "human_flesh", 1 ] ] + [ [ "human_meat", 1, "LIST" ] ] ] }, { @@ -2096,7 +2210,7 @@ "autolearn": true, "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ], - "components": [ [ [ "fat", 1 ] ] ] + "components": [ [ [ "edible_fat", 1, "LIST" ] ] ] }, { "type": "recipe", @@ -2111,7 +2225,7 @@ "qualities": [ { "id": "CUT", "level": 1 } ], "tools": [ [ [ "surface_heat", 20, "LIST" ] ] ], "components": [ - [ [ "tallow", 1 ], [ "lard", 1 ] ], + [ [ "edible_tallow_lard", 1, "LIST" ] ], [ [ "jerky", 2 ], [ "dry_meat", 2 ], @@ -2147,7 +2261,7 @@ "subcategory": "CSC_FOOD_DRINKS", "skill_used": "cooking", "difficulty": 2, - "charges": 2, + "charges": 3, "time": "5 m", "autolearn": true, "components": [ @@ -2162,24 +2276,24 @@ "result": "V8", "id_suffix": "jarred", "byproducts": [ [ "water", 10 ] ], - "container": "jar_glass_sealed", + "container": "jar_3l_glass_sealed", "category": "CC_FOOD", "subcategory": "CSC_FOOD_VEGGI", "skill_used": "cooking", "skills_required": [ "mechanics", 1 ], "difficulty": 4, - "time": "30 m", - "charges": 2, + "time": "40 m", + "charges": 12, "autolearn": true, "batch_time_factors": [ 83, 5 ], "qualities": [ { "id": "COOK", "level": 3 } ], - "tools": [ [ [ "surface_heat", 100, "LIST" ] ], [ [ "pot_canning", -1 ] ] ], + "tools": [ [ [ "surface_heat", 200, "LIST" ] ], [ [ "pot_canning", -1 ] ] ], "components": [ - [ [ "jar_glass", 1 ] ], - [ [ "water", 10 ], [ "water_clean", 10 ] ], - [ [ "irradiated_tomato", 2 ], [ "can_tomato", 2 ], [ "tomato", 2 ] ], - [ [ "irradiated_broccoli", 1 ], [ "broccoli", 1 ] ], - [ [ "irradiated_zucchini", 1 ], [ "zucchini", 1 ] ] + [ [ "jar_3l_glass", 1 ] ], + [ [ "water", 16 ], [ "water_clean", 16 ] ], + [ [ "irradiated_tomato", 4 ], [ "can_tomato", 4 ], [ "tomato", 4 ] ], + [ [ "irradiated_broccoli", 4 ], [ "broccoli", 4 ] ], + [ [ "irradiated_zucchini", 4 ], [ "zucchini", 4 ] ] ] }, { @@ -2577,7 +2691,7 @@ [ "beans_cooked", 1 ], [ "acorns_cooked", 1 ] ], - [ [ "dry_hflesh", 1 ], [ "rehydrated_hflesh", 1 ], [ "human_flesh", 1 ] ] + [ [ "dry_hflesh", 1 ], [ "rehydrated_hflesh", 1 ], [ "human_meat", 1, "LIST" ] ] ] }, { @@ -2755,8 +2869,8 @@ [ "honey_bottled", 2 ], [ "honey_glassed", 2 ] ], - [ [ "meat", 1 ] ], - [ [ "cooking_oil", 8 ], [ "cooking_oil2", 8 ], [ "tallow", 1 ], [ "lard", 1 ] ], + [ [ "meat", 1 ], [ "mutant_meat", 1 ] ], + [ [ "cooking_oil", 8 ], [ "cooking_oil2", 8 ], [ "edible_tallow_lard", 1, "LIST" ] ], [ [ "veggy_any", 1, "LIST" ] ], [ [ "salt", 1 ], [ "soysauce", 1 ], [ "seasoning_salt", 1 ], [ "pepper", 1 ] ] ] @@ -2777,7 +2891,7 @@ "components": [ [ [ "syrup", 1 ] ], [ [ "meat_red", 3, "LIST" ], [ "can_chicken", 6 ] ], - [ [ "fat", 1 ], [ "tallow", 2 ], [ "lard", 2 ] ], + [ [ "edible_fat", 1, "LIST" ], [ "edible_tallow_lard", 2, "LIST" ] ], [ [ "salt", 10 ], [ "soysauce", 1 ], @@ -2809,13 +2923,13 @@ "subcategory": "CSC_FOOD_BREAD", "skill_used": "cooking", "difficulty": 2, - "charges": 10, - "time": "18 m", - "batch_time_factors": [ 50, 4 ], + "charges": 1, + "time": "15 m", + "batch_time_factors": [ 80, 3 ], "autolearn": true, "qualities": [ { "id": "COOK", "level": 2 } ], - "tools": [ [ [ "surface_heat", 8, "LIST" ] ] ], - "components": [ [ [ "cooking_oil", 2 ], [ "cooking_oil2", 2 ] ], [ [ "cornmeal", 9 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] + "tools": [ [ [ "surface_heat", 3, "LIST" ] ] ], + "components": [ [ [ "cornmeal", 1 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] }, { "type": "recipe", @@ -2824,13 +2938,13 @@ "subcategory": "CSC_FOOD_BREAD", "skill_used": "cooking", "difficulty": 1, - "charges": 5, + "charges": 1, "time": "18 m", "batch_time_factors": [ 50, 4 ], "autolearn": true, "qualities": [ { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 8, "LIST" ] ] ], - "components": [ [ [ "cornmeal", 5 ] ], [ [ "water", 2 ], [ "water_clean", 2 ] ] ] + "components": [ [ [ "cornmeal", 4 ] ], [ [ "water", 2 ], [ "water_clean", 2 ] ] ] }, { "type": "recipe", @@ -2859,7 +2973,7 @@ "skill_used": "cooking", "difficulty": 2, "time": "28 m", - "charges": 8, + "charges": 10, "batch_time_factors": [ 50, 4 ], "autolearn": true, "qualities": [ { "id": "COOK", "level": 2 } ], @@ -2906,6 +3020,7 @@ { "type": "recipe", "result": "lentils_cooked", + "charges": 1, "category": "CC_FOOD", "subcategory": "CSC_FOOD_VEGGI", "skill_used": "cooking", @@ -3232,6 +3347,7 @@ { "type": "recipe", "result": "buckwheat_cooked", + "charges": 1, "category": "CC_FOOD", "subcategory": "CSC_FOOD_VEGGI", "skill_used": "cooking", @@ -3521,6 +3637,7 @@ [ [ "bacon", 2 ], [ "meat_cooked", 1 ], + [ "mutant_meat_cooked", 1 ], [ "meat_smoked", 1 ], [ "dry_meat", 1 ], [ "rehydrated_meat", 1 ], @@ -3562,6 +3679,7 @@ [ [ "bacon", 2 ], [ "meat_cooked", 1 ], + [ "mutant_meat_cooked", 1 ], [ "meat_smoked", 1 ], [ "dry_meat", 1 ], [ "rehydrated_meat", 1 ], @@ -3798,7 +3916,6 @@ "subcategory": "CSC_FOOD_SNACK", "skill_used": "cooking", "difficulty": 1, - "result_mult": 2, "time": "6 m", "autolearn": true, "qualities": [ { "id": "COOK", "level": 2 } ], @@ -3812,7 +3929,7 @@ "subcategory": "CSC_FOOD_SNACK", "skill_used": "cooking", "difficulty": 1, - "result_mult": 2, + "charges": 2, "time": "6 m", "autolearn": true, "qualities": [ { "id": "COOK", "level": 2 } ], @@ -3949,7 +4066,7 @@ "tools": [ [ [ "surface_heat", 6, "LIST" ] ] ], "components": [ [ [ "flour", 30 ] ], - [ [ "human_flesh", 1 ], [ "rehydrated_hflesh", 2 ], [ "dry_hflesh", 1 ] ], + [ [ "human_meat", 1, "LIST" ], [ "rehydrated_hflesh", 2 ], [ "dry_hflesh", 1 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] }, @@ -4097,7 +4214,7 @@ [ "dry_veggy", 2 ] ], [ [ "tomato", 1 ], [ "irradiated_tomato", 1 ], [ "can_tomato", 1 ] ], - [ [ "human_flesh", 1 ], [ "dry_hflesh", 1 ], [ "rehydrated_hflesh", 1 ], [ "human_canned", 2 ] ], + [ [ "human_meat", 1, "LIST" ], [ "dry_hflesh", 1 ], [ "rehydrated_hflesh", 1 ], [ "human_canned", 2 ] ], [ [ "can_beans", 1 ], [ "raw_beans", 1 ], [ "dry_beans", 1 ] ], [ [ "sauce_red", 1 ], [ "chilly-p", 2 ], [ "chili_pepper", 1 ] ] ] @@ -4221,7 +4338,7 @@ "components": [ [ [ "flour", 30 ] ], [ - [ "human_flesh", 2 ], + [ "human_meat", 2, "LIST" ], [ "human_canned", 2 ], [ "hflesh_salted", 2 ], [ "rehydrated_hflesh", 2 ], @@ -4363,7 +4480,7 @@ "result_mult": 2, "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 3 } ], "tools": [ [ [ "surface_heat", 100, "LIST" ] ], [ [ "pot_canning", -1 ] ] ], - "components": [ [ [ "water", 11 ], [ "water_clean", 11 ] ], [ [ "jar_glass", 1 ] ], [ [ "meat", 2 ], [ "meat_scrap", 20 ] ] ] + "components": [ [ [ "water", 11 ], [ "water_clean", 11 ] ], [ [ "jar_glass", 1 ] ], [ [ "meat_red_raw", 2, "LIST" ] ] ] }, { "type": "recipe", @@ -4386,6 +4503,7 @@ { "type": "recipe", "result": "human_canned", + "result_mult": 2, "id_suffix": "jarred", "byproducts": [ [ "water", 10 ] ], "container": "jar_glass_sealed", @@ -4398,7 +4516,7 @@ "batch_time_factors": [ 83, 5 ], "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 3 } ], "tools": [ [ [ "surface_heat", 100, "LIST" ] ], [ [ "pot_canning", -1 ] ] ], - "components": [ [ [ "water", 11 ], [ "water_clean", 11 ] ], [ [ "jar_glass", 1 ] ], [ [ "human_flesh", 2 ] ] ] + "components": [ [ [ "water", 11 ], [ "water_clean", 11 ] ], [ [ "jar_glass", 1 ] ], [ [ "human_meat", 2, "LIST" ] ] ] }, { "type": "recipe", @@ -4707,7 +4825,7 @@ [ "beans_cooked", 2 ], [ "acorns_cooked", 2 ] ], - [ [ "dry_hflesh", 2 ], [ "rehydrated_hflesh", 2 ], [ "human_flesh", 2 ] ] + [ [ "dry_hflesh", 2 ], [ "rehydrated_hflesh", 2 ], [ "human_meat", 2, "LIST" ] ] ] }, { @@ -4807,7 +4925,7 @@ "components": [ [ [ "water", 1 ], [ "water_clean", 1 ] ], [ [ "bag_plastic", 1 ] ], - [ [ "meat", 1 ], [ "meat_scrap", 10 ] ], + [ [ "meat_red_raw", 1, "LIST" ] ], [ [ "salt_water", 1 ], [ "saline", 1 ], [ "salt", 2 ], [ "chem_saltpetre", 1 ] ] ] }, @@ -4849,7 +4967,7 @@ "components": [ [ [ "water", 1 ], [ "water_clean", 1 ] ], [ [ "bag_plastic", 1 ] ], - [ [ "human_flesh", 1 ] ], + [ [ "human_meat", 1, "LIST" ] ], [ [ "salt_water", 1 ], [ "saline", 1 ], [ "salt", 2 ], [ "chem_saltpetre", 1 ] ] ] }, @@ -4922,6 +5040,7 @@ { "type": "recipe", "result": "fried_spam", + "charges": 1, "category": "CC_FOOD", "subcategory": "CSC_FOOD_MEAT", "skill_used": "cooking", @@ -4960,6 +5079,7 @@ { "type": "recipe", "result": "cornmeal", + "charges": 3, "category": "CC_FOOD", "subcategory": "CSC_FOOD_OTHER", "skill_used": "cooking", @@ -5232,7 +5352,7 @@ [ "human_canned", 1 ], [ "hflesh_aspic", 1 ], [ "human_smoked", 1 ], - [ "human_cooked", 1 ], + [ "human_meat_cooked", 1, "LIST" ], [ "hfleshbologna", 2 ], [ "rehydrated_hflesh", 1 ], [ "human_pickled", 1 ], @@ -5378,7 +5498,7 @@ "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ], "components": [ - [ [ "human_flesh", 1 ] ], + [ [ "human_meat", 1, "LIST" ] ], [ [ "flatbread", 2 ], [ "bread", 2 ], [ "cornbread", 2 ], [ "wastebread", 2 ], [ "sourdough_bread", 2 ] ], [ [ "cheese", 1 ], [ "cheese_hard", 1 ], [ "can_cheese", 1 ] ], [ @@ -5469,7 +5589,7 @@ "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ], "components": [ - [ [ "human_flesh", 1 ], [ "dry_hflesh", 1 ], [ "rehydrated_hflesh", 1 ], [ "human_canned", 1 ] ], + [ [ "human_meat", 1, "LIST" ], [ "dry_hflesh", 1 ], [ "rehydrated_hflesh", 1 ], [ "human_canned", 1 ] ], [ [ "tortilla_corn", 3 ] ], [ [ "salt", 1 ], [ "seasoning_salt", 1 ] ] ] @@ -5557,7 +5677,7 @@ [ "dry_meat", 1 ], [ "can_chicken", 1 ] ], - [ [ "tallow", 1 ], [ "lard", 1 ] ], + [ [ "edible_tallow_lard", 1, "LIST" ] ], [ [ "flour", 1 ], [ "cornmeal", 1 ] ], [ [ "mushroom", 2 ], [ "dry_mushroom", 2 ] ] ] @@ -5579,12 +5699,12 @@ [ "mannwurst", 1 ], [ "mannwurst_cooked", 1 ], [ "mann_bratwurst", 1 ], - [ "human_flesh", 1 ], + [ "human_meat", 1, "LIST" ], [ "rehydrated_hflesh", 1 ], [ "dry_hflesh", 1 ], [ "human_canned", 1 ] ], - [ [ "tallow", 1 ], [ "lard", 1 ] ], + [ [ "edible_tallow_lard", 1, "LIST" ] ], [ [ "flour", 1 ], [ "cornmeal", 1 ] ], [ [ "mushroom", 2 ], [ "dry_mushroom", 2 ] ] ] @@ -5668,7 +5788,7 @@ "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ], "components": [ - [ [ "human_flesh", 1 ] ], + [ [ "human_meat", 1, "LIST" ] ], [ [ "flatbread", 2 ], [ "bread", 2 ], [ "cornbread", 2 ], [ "wastebread", 2 ], [ "sourdough_bread", 2 ] ], [ [ "pickle", 1 ], @@ -5722,7 +5842,7 @@ "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ], "components": [ [ [ "flatbread", 2 ], [ "bread", 2 ], [ "cornbread", 2 ], [ "wastebread", 2 ], [ "sourdough_bread", 2 ] ], - [ [ "sauce_red", 1 ], [ "irradiated_tomato", 2 ], [ "can_tomato", 1 ], [ "tomato", 2 ] ], + [ [ "sauce_red", 2 ], [ "irradiated_tomato", 1 ], [ "can_tomato", 1 ], [ "tomato", 1 ] ], [ [ "meat_red", 1, "LIST" ], [ "dry_meat", 1 ], [ "can_chicken", 1 ] ] ] }, @@ -5740,8 +5860,8 @@ "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ], "components": [ [ [ "flatbread", 2 ], [ "bread", 2 ], [ "cornbread", 2 ], [ "wastebread", 2 ], [ "sourdough_bread", 2 ] ], - [ [ "sauce_red", 1 ], [ "irradiated_tomato", 2 ], [ "can_tomato", 1 ], [ "tomato", 2 ] ], - [ [ "human_flesh", 1 ], [ "dry_hflesh", 1 ], [ "rehydrated_hflesh", 1 ] ] + [ [ "sauce_red", 2 ], [ "irradiated_tomato", 1 ], [ "can_tomato", 1 ], [ "tomato", 1 ] ], + [ [ "human_meat", 1, "LIST" ], [ "dry_hflesh", 1 ], [ "rehydrated_hflesh", 1 ] ] ] }, { @@ -5824,7 +5944,7 @@ "qualities": [ { "id": "CUT", "level": 1 } ], "components": [ [ [ "flatbread", 2 ], [ "bread", 2 ], [ "cornbread", 2 ], [ "wastebread", 2 ], [ "sourdough_bread", 2 ] ], - [ [ "human_cooked", 1 ], [ "hfleshbologna", 5 ] ] + [ [ "human_meat_cooked", 1, "LIST" ], [ "hfleshbologna", 5 ] ] ] }, { @@ -6018,7 +6138,7 @@ "components": [ [ [ "water", 1 ], [ "water_clean", 1 ], [ "salt_water", 1 ], [ "saline", 5 ] ], [ [ "jar_glass", 1 ] ], - [ [ "meat", 2 ], [ "meat_scrap", 20 ] ], + [ [ "meat_red_raw", 2, "LIST" ] ], [ [ "vinegar", 1 ] ] ] }, @@ -6061,7 +6181,7 @@ "components": [ [ [ "water", 1 ], [ "water_clean", 1 ], [ "salt_water", 1 ], [ "saline", 5 ] ], [ [ "jar_glass", 1 ] ], - [ [ "human_flesh", 1 ] ], + [ [ "human_meat", 1, "LIST" ] ], [ [ "vinegar", 1 ] ] ] }, @@ -6138,7 +6258,7 @@ [ [ "milk_standard_raw", 1, "LIST" ], [ "milk_powder", 1 ] ], [ [ "powder_eggs", 2 ], [ "eggs_bird", 2, "LIST" ], [ "egg_reptile", 2 ] ], [ [ "sugar", 2 ] ], - [ [ "cooking_oil", 8 ], [ "cooking_oil2", 8 ], [ "tallow", 1 ], [ "lard", 1 ] ], + [ [ "cooking_oil", 8 ], [ "cooking_oil2", 8 ], [ "edible_tallow_lard", 1, "LIST" ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] }, @@ -6248,11 +6368,12 @@ "subcategory": "CSC_FOOD_OTHER", "skill_used": "cooking", "difficulty": 3, + "charges": 3, "time": "3 m 30 s", "autolearn": true, "qualities": [ { "id": "COOK", "level": 2 } ], "tools": [ [ [ "surface_heat", 2, "LIST" ] ] ], - "components": [ [ [ "sugar", 10 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] + "components": [ [ [ "sugar", 40 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] ] }, { "type": "recipe", @@ -6265,7 +6386,13 @@ "book_learn": [ [ "recipe_creepy", 5 ], [ "recipe_serum", 6 ] ], "qualities": [ { "id": "CONTAIN", "level": 1 }, { "id": "CUT", "level": 1 } ], "components": [ - [ [ "meat", 1 ], [ "human_flesh", 1 ], [ "rehydrated_meat", 1 ], [ "rehydrated_hflesh", 1 ] ], + [ + [ "meat", 1 ], + [ "mutant_meat", 1 ], + [ "human_meat", 1, "LIST" ], + [ "rehydrated_meat", 1 ], + [ "rehydrated_hflesh", 1 ] + ], [ [ "slime_scrap", 2 ] ], [ [ "water", 1 ] ] ] @@ -6332,7 +6459,7 @@ [ [ "canister_empty", 1 ], [ "can_food_unsealed", 1 ] ], [ [ "scrap", 1 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ], - [ [ "meat", 1 ], [ "meat_scrap", 10 ] ] + [ [ "meat_red_raw", 1, "LIST" ] ] ] }, { @@ -6382,7 +6509,7 @@ [ [ "canister_empty", 1 ], [ "can_food_unsealed", 1 ] ], [ [ "scrap", 1 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ], - [ [ "human_flesh", 1 ] ] + [ [ "human_meat", 1, "LIST" ] ] ] }, { @@ -6688,7 +6815,7 @@ [ "beans_cooked", 1 ], [ "acorns_cooked", 1 ] ], - [ [ "dry_hflesh", 1 ], [ "rehydrated_hflesh", 1 ], [ "human_flesh", 1 ] ] + [ [ "dry_hflesh", 1 ], [ "rehydrated_hflesh", 1 ], [ "human_meat", 1, "LIST" ] ] ] }, { @@ -7026,7 +7153,7 @@ "time": "3 m", "autolearn": true, "flags": [ "BLIND_HARD" ], - "components": [ [ [ "lemon", 1 ], [ "irradiated_lemon", 1 ] ], [ [ "whiskey", 1 ], [ "single_malt_whiskey", 1 ] ] ] + "components": [ [ [ "lemon", 1 ], [ "irradiated_lemon", 1 ] ], [ [ "whiskey", 3 ], [ "single_malt_whiskey", 3 ] ] ] }, { "type": "recipe", @@ -7117,7 +7244,7 @@ { "type": "recipe", "result": "honey_bottled", - "byproducts": [ [ "wax", 4 ] ], + "charges": 6, "category": "CC_FOOD", "subcategory": "CSC_FOOD_OTHER", "skill_used": "cooking", @@ -7126,7 +7253,7 @@ "autolearn": true, "qualities": [ { "id": "CUT", "level": 1 } ], "tools": [ [ [ "rag", -1 ] ] ], - "components": [ [ [ "honeycomb", 2 ] ] ] + "components": [ [ [ "honeycomb", 1 ] ] ] }, { "type": "recipe", @@ -7136,7 +7263,7 @@ "subcategory": "CSC_FOOD_OTHER", "skill_used": "cooking", "difficulty": 1, - "charges": 5, + "charges": 14, "time": "20 m", "batch_time_factors": [ 80, 4 ], "autolearn": true, @@ -7208,7 +7335,7 @@ [ [ "hstomach", 1 ] ], [ [ "oatmeal", 2 ], [ "buckwheat", 1 ] ], [ - [ "human_flesh", 1 ], + [ "human_meat", 1, "LIST" ], [ "rehydrated_hflesh", 1 ], [ "dry_hflesh", 1 ], [ "human_canned", 1 ], @@ -7252,7 +7379,7 @@ "components": [ [ [ "oatmeal", 1 ], [ "flour", 5 ], [ "buckwheat", 1 ] ], [ [ "dry_fruit", 1 ] ], - [ [ "tallow", 1 ], [ "lard", 1 ] ], + [ [ "edible_tallow_lard", 1, "LIST" ] ], [ [ "sugar", 10 ], [ "syrup", 1 ], @@ -7275,7 +7402,7 @@ "time": "10 m", "autolearn": true, "qualities": [ { "id": "CONTAIN", "level": 1 } ], - "components": [ [ [ "honey_bottled", 5 ] ], [ [ "sugar", 35 ] ] ] + "components": [ [ [ "honey_bottled", 14 ] ] ] }, { "type": "recipe", @@ -7390,6 +7517,7 @@ "result": "cornmeal", "type": "recipe", "id_suffix": "with_from_food_processor", + "charges": 3, "category": "CC_FOOD", "subcategory": "CSC_FOOD_OTHER", "skill_used": "cooking", @@ -7690,6 +7818,7 @@ "type": "recipe", "result": "cornmeal", "id_suffix": "mortar", + "charges": 3, "category": "CC_FOOD", "subcategory": "CSC_FOOD_OTHER", "skill_used": "cooking", @@ -7762,7 +7891,7 @@ "qualities": [ { "id": "CUT", "level": 1 } ], "tools": [ [ [ "surface_heat", 20, "LIST" ] ] ], "components": [ - [ [ "tallow", 1 ], [ "lard", 1 ] ], + [ [ "edible_tallow_lard", 1, "LIST" ] ], [ [ "jerky_human", 1 ], [ "dry_hflesh", 1 ], [ "human_smoked", 1 ] ], [ [ "dry_veggy", 2 ], @@ -7843,7 +7972,7 @@ "batch_time_factors": [ 83, 5 ], "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 3 } ], "tools": [ [ [ "surface_heat", 200, "LIST" ] ], [ [ "pot_canning", -1 ] ] ], - "components": [ [ [ "water", 16 ], [ "water_clean", 16 ] ], [ [ "jar_3l_glass", 1 ] ], [ [ "meat", 12 ], [ "meat_scrap", 120 ] ] ] + "components": [ [ [ "water", 16 ], [ "water_clean", 16 ] ], [ [ "jar_3l_glass", 1 ] ], [ [ "meat_red_raw", 12, "LIST" ] ] ] }, { "type": "recipe", @@ -8015,7 +8144,7 @@ "components": [ [ [ "water", 6 ], [ "water_clean", 6 ], [ "salt_water", 6 ], [ "saline", 30 ] ], [ [ "jar_3l_glass", 1 ] ], - [ [ "human_flesh", 12 ] ], + [ [ "human_meat", 12, "LIST" ] ], [ [ "vinegar", 6 ] ] ] }, @@ -8037,7 +8166,7 @@ "components": [ [ [ "water", 6 ], [ "water_clean", 6 ], [ "salt_water", 6 ], [ "saline", 30 ] ], [ [ "jar_3l_glass", 1 ] ], - [ [ "meat", 12 ], [ "meat_scrap", 120 ] ], + [ [ "meat_red_raw", 12, "LIST" ] ], [ [ "vinegar", 6 ] ] ] }, @@ -8347,7 +8476,7 @@ [ "beans_cooked", 12 ], [ "acorns_cooked", 12 ] ], - [ [ "dry_hflesh", 12 ], [ "rehydrated_hflesh", 12 ], [ "human_flesh", 12 ] ] + [ [ "dry_hflesh", 12 ], [ "rehydrated_hflesh", 12 ], [ "human_meat", 12, "LIST" ] ] ] }, { @@ -8437,7 +8566,7 @@ "subcategory": "CSC_FOOD_VEGGI", "skill_used": "cooking", "difficulty": 3, - "charges": 4, + "charges": 2, "time": "45 m", "autolearn": true, "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 3 } ], @@ -8477,6 +8606,7 @@ "skill_used": "cooking", "difficulty": 4, "time": "40 m", + "result_mult": 2, "autolearn": true, "batch_time_factors": [ 80, 4 ], "qualities": [ { "id": "CUT", "level": 1 }, { "id": "COOK", "level": 3 } ], @@ -8788,9 +8918,8 @@ [ "cooking_oil", 1 ], [ "cooking_oil2", 1 ], [ "butter", 1 ], - [ "fat", 1 ], - [ "lard", 1 ], - [ "tallow", 1 ], + [ "edible_fat", 1, "LIST" ], + [ "edible_tallow_lard", 1, "LIST" ], [ "ghee", 1 ] ], [ [ "water", 1 ], [ "water_clean", 1 ] ] @@ -8815,9 +8944,8 @@ [ "cooking_oil", 1 ], [ "cooking_oil2", 1 ], [ "butter", 1 ], - [ "fat", 1 ], - [ "lard", 1 ], - [ "tallow", 1 ], + [ "edible_fat", 1, "LIST" ], + [ "edible_tallow_lard", 1, "LIST" ], [ "ghee", 1 ] ] ] diff --git a/data/json/recipes/recipe_medsandchemicals.json b/data/json/recipes/recipe_medsandchemicals.json index d6e0b2fe6e117..545418d326dcc 100644 --- a/data/json/recipes/recipe_medsandchemicals.json +++ b/data/json/recipes/recipe_medsandchemicals.json @@ -300,7 +300,7 @@ "qualities": [ { "id": "CHEM", "level": 2 } ], "tools": [ [ [ "surface_heat", 2, "LIST" ] ] ], "components": [ - [ [ "chem_sulphur", 10 ] ], + [ [ "chem_sulphur", 150 ] ], [ [ "oxy_powder", 100 ] ], [ [ "ammonia", 5 ] ], [ [ "acid", 1 ] ], @@ -716,7 +716,7 @@ "autolearn": true, "tools": [ [ [ "surface_heat", 18, "LIST" ] ] ], "components": [ - [ [ "tallow", 2 ], [ "lard", 2 ], [ "cooking_oil", 16 ], [ "cooking_oil2", 16 ] ], + [ [ "edible_tallow_lard", 2, "LIST" ], [ "cooking_oil", 16 ], [ "cooking_oil2", 16 ] ], [ [ "lye", 2 ], [ "lye_powder", 75 ] ], [ [ "water", 2 ], [ "water_clean", 2 ] ] ], @@ -797,7 +797,7 @@ "autolearn": true, "qualities": [ { "id": "BOIL", "level": 2 }, { "id": "CHEM", "level": 2 } ], "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ], - "components": [ [ [ "chem_hydrogen_peroxide_conc", 1 ] ], [ [ "chem_sulphur", 25 ] ] ] + "components": [ [ [ "chem_hydrogen_peroxide_conc", 1 ] ], [ [ "chem_sulphur", 375 ] ] ] }, { "type": "recipe", @@ -876,6 +876,7 @@ "subcategory": "CSC_CHEM_CHEMICALS", "skill_used": "cooking", "difficulty": 5, + "charges": 680, "time": "45 m", "book_learn": [ [ "textbook_chemistry", 4 ], [ "adv_chemistry", 5 ] ], "tools": [ @@ -927,7 +928,7 @@ "time": "20 m", "book_learn": [ [ "textbook_anarch", 6 ], [ "recipe_labchem", 4 ], [ "textbook_chemistry", 5 ], [ "textbook_armschina", 5 ] ], "qualities": [ { "id": "CONTAIN", "level": 1 } ], - "components": [ [ [ "chem_saltpetre", 150 ] ], [ [ "chem_sulphur", 20 ] ], [ [ "charcoal", 10 ], [ "coal_lump", 10 ] ] ] + "components": [ [ [ "chem_saltpetre", 150 ] ], [ [ "chem_sulphur", 300 ] ], [ [ "charcoal", 10 ], [ "coal_lump", 10 ] ] ] }, { "type": "recipe", @@ -984,7 +985,7 @@ "autolearn": true, "qualities": [ { "id": "FINE_DISTILL", "level": 1 } ], "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ], - "components": [ [ [ "vinegar", 160 ] ] ] + "components": [ [ [ "vinegar", 320 ] ] ] }, { "type": "recipe", @@ -1066,7 +1067,7 @@ "time": "2 m", "autolearn": true, "qualities": [ { "id": "BOIL", "level": 2 } ], - "components": [ [ [ "chem_aluminium_powder", 50 ] ], [ [ "chem_chromium_oxide", 50 ] ] ] + "components": [ [ [ "chem_aluminium_powder", 50 ] ], [ [ "chem_chromium_oxide", 430 ] ] ] }, { "type": "recipe", @@ -1090,7 +1091,7 @@ "time": "5 m", "book_learn": [ [ "textbook_anarch", 5 ], [ "recipe_labchem", 4 ], [ "textbook_chemistry", 5 ] ], "qualities": [ { "id": "BOIL", "level": 2 } ], - "components": [ [ [ "chem_zinc_powder", 50 ] ], [ [ "chem_sulphur", 50 ] ], [ [ "superglue", 2 ] ] ] + "components": [ [ [ "chem_zinc_powder", 645 ] ], [ [ "chem_sulphur", 750 ] ], [ [ "superglue", 2 ] ] ] }, { "type": "recipe", @@ -1161,6 +1162,7 @@ "subcategory": "CSC_CHEM_CHEMICALS", "skill_used": "cooking", "difficulty": 3, + "charges": 200, "time": "2 h", "autolearn": true, "byproducts": [ [ "chem_zinc" ] ], @@ -1174,10 +1176,11 @@ "subcategory": "CSC_CHEM_CHEMICALS", "skill_used": "cooking", "difficulty": 3, + "charges": 785, "time": "2 h", "autolearn": true, "qualities": [ { "id": "CONTAIN", "level": 1 }, { "id": "BOIL", "level": 2 } ], - "components": [ [ [ "chem_zinc", 50 ] ], [ [ "coal_lump", 25 ], [ "charcoal", 50 ] ] ] + "components": [ [ [ "chem_zinc", 785 ] ], [ [ "coal_lump", 25 ], [ "charcoal", 50 ] ] ] }, { "result": "chem_manganese_dioxide", @@ -1186,9 +1189,10 @@ "subcategory": "CSC_CHEM_CHEMICALS", "skill_used": "fabrication", "difficulty": 4, + "charges": 400, + "//": "rhodonite has up to 42% manganese. 915g/869mg*40%=421", "time": "1 h", "autolearn": true, - "byproducts": [ [ "chem_manganese_dioxide", 50 ] ], "qualities": [ { "id": "CHISEL", "level": 2 }, { "id": "HAMMER", "level": 2 } ], "components": [ [ [ "material_rhodonite", 1 ] ] ] } diff --git a/data/json/recipes/recipe_obsolete.json b/data/json/recipes/recipe_obsolete.json index 42944b3d47e87..d81e4c1a579e9 100644 --- a/data/json/recipes/recipe_obsolete.json +++ b/data/json/recipes/recipe_obsolete.json @@ -1915,5 +1915,15 @@ "type": "recipe", "result": "tool_rdx_sand_bomb", "obsolete": true + }, + { + "type": "recipe", + "result": "pressure_cooker", + "obsolete": true + }, + { + "type": "recipe", + "result": "xacto", + "obsolete": true } ] diff --git a/data/json/recipes/recipe_others.json b/data/json/recipes/recipe_others.json index fa4a6dcc32f2c..fb4de61317ae9 100644 --- a/data/json/recipes/recipe_others.json +++ b/data/json/recipes/recipe_others.json @@ -9,9 +9,9 @@ "difficulty": 2, "time": "1 h 40 m", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 50 ], [ "oxy_torch", 10 ] ] ], - "components": [ [ [ "steel_chunk", 1 ], [ "scrap", 3 ] ] ] + "using": [ [ "blacksmithing_standard", 1 ], [ "steel_tiny", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] }, { "type": "recipe", @@ -384,10 +384,10 @@ "skills_required": [ "gun", 2 ], "difficulty": 5, "time": "45 m", + "using": [ [ "blacksmithing_standard", 1 ], [ "steel_tiny", 1 ] ], "book_learn": [ [ "manual_shotgun", 2 ], [ "manual_rifle", 2 ], [ "manual_smg", 2 ], [ "manual_pistol", 3 ], [ "recipe_bullets", 2 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 50 ], [ "oxy_torch", 10 ] ] ], - "components": [ [ [ "scrap", 6 ] ], [ [ "element", 2 ], [ "hotplate", 1 ] ], [ [ "cable", 2 ] ] ] + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "element", 2 ], [ "hotplate", 1 ] ], [ [ "cable", 2 ] ] ] }, { "type": "recipe", @@ -506,6 +506,35 @@ ] ] }, + { + "type": "recipe", + "result": "wearable_atomic_light", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_TOOLS", + "skill_used": "electronics", + "skills_required": [ "survival", 3 ], + "difficulty": 2, + "time": "20 m", + "reversible": true, + "autolearn": true, + "using": [ [ "soldering_standard", 10 ] ], + "qualities": [ { "id": "CUT", "level": 1 }, { "id": "SCREW", "level": 1 } ], + "components": [ + [ [ "betavoltaic", 4 ] ], + [ [ "power_supply", 1 ] ], + [ [ "scrap", 2 ] ], + [ [ "wire", 2 ] ], + [ [ "lens", 1 ], [ "lens_small", 1 ] ], + [ + [ "rag", 4 ], + [ "leather", 4 ], + [ "duct_tape", 20 ], + [ "medical_tape", 40 ], + [ "cordage", 1, "LIST" ], + [ "filament", 300, "LIST" ] + ] + ] + }, { "type": "recipe", "result": "oil_lamp", @@ -1315,8 +1344,9 @@ "difficulty": 3, "time": "30 m", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "forge", 50 ], [ "oxy_torch", 10 ] ] ], + "using": [ [ "blacksmithing_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ [ [ "scrap", 1 ] ] ] }, { @@ -1355,7 +1385,7 @@ "autolearn": true, "qualities": [ { "id": "CONTAIN", "level": 1 } ], "tools": [ [ [ "lighter", 5 ], [ "ref_lighter", 5 ], [ "surface_heat", 2, "LIST" ] ] ], - "components": [ [ [ "wax", 1 ], [ "tallow", 4 ], [ "tallow_tainted", 4 ] ], [ [ "string_6", 1 ] ] ] + "components": [ [ [ "wax", 1 ], [ "any_tallow", 4, "LIST" ] ], [ [ "string_6", 1 ] ] ] }, { "type": "recipe", @@ -1414,15 +1444,9 @@ "difficulty": 6, "time": "3 h", "autolearn": true, - "using": [ [ "forging_standard", 10 ], [ "steel_tiny", 2 ] ], - "qualities": [ - { "id": "ANVIL", "level": 3 }, - { "id": "HAMMER", "level": 3 }, - { "id": "CHISEL", "level": 3 }, - { "id": "SAW_M", "level": 2 }, - { "id": "CUT", "level": 1 } - ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], + "using": [ [ "blacksmithing_standard", 2 ], [ "steel_tiny", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 }, { "id": "SAW_M", "level": 2 }, { "id": "CUT", "level": 1 } ], + "tools": [ [ [ "swage", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ [ [ "plastic_chunk", 2 ], [ "2x4", 1 ], [ "stick", 2 ] ] ] }, { @@ -1452,256 +1476,6 @@ "tools": [ [ [ "surface_heat", 5, "LIST" ] ] ], "components": [ [ [ "superglue", 1 ] ], [ [ "rag", 6 ] ], [ [ "plastic_chunk", 1 ] ] ] }, - { - "type": "recipe", - "result": "basket", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_PARTS", - "skill_used": "fabrication", - "difficulty": 2, - "time": "50 m", - "reversible": true, - "autolearn": true, - "using": [ [ "welding_standard", 5 ], [ "cutting_wire_standard", 1 ] ], - "components": [ [ [ "wire", 40 ] ] ] - }, - { - "type": "recipe", - "result": "folding_basket", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_PARTS", - "skill_used": "fabrication", - "difficulty": 2, - "time": "1 h", - "reversible": true, - "autolearn": true, - "using": [ [ "welding_standard", 5 ], [ "cutting_wire_standard", 1 ] ], - "components": [ [ [ "wire", 40 ], [ "basket", 1 ] ], [ [ "scrap", 8 ] ] ] - }, - { - "type": "recipe", - "result": "bike_basket", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_PARTS", - "skill_used": "fabrication", - "difficulty": 1, - "time": "35 m", - "reversible": true, - "autolearn": true, - "using": [ [ "welding_standard", 2 ], [ "cutting_wire_standard", 1 ] ], - "components": [ [ [ "wire", 8 ] ] ] - }, - { - "type": "recipe", - "result": "foldframe", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_PARTS", - "skill_used": "fabrication", - "difficulty": 1, - "time": "8 m", - "reversible": true, - "autolearn": true, - "using": [ [ "welding_standard", 6 ] ], - "components": [ [ [ "pipe", 4 ] ] ] - }, - { - "type": "recipe", - "result": "foldwoodframe", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_PARTS", - "skill_used": "fabrication", - "difficulty": 2, - "time": "9 m", - "reversible": true, - "autolearn": true, - "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "CUT", "level": 1 } ], - "components": [ [ [ "2x4", 5 ] ], [ [ "stick", 2 ] ], [ [ "nail", 20 ] ] ] - }, - { - "type": "recipe", - "result": "wheel_wheelchair", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_PARTS", - "skill_used": "fabrication", - "difficulty": 2, - "time": "5 m", - "reversible": true, - "autolearn": true, - "using": [ [ "welding_standard", 4 ] ], - "qualities": [ { "id": "HAMMER", "level": 2 }, { "id": "SAW_M", "level": 1 } ], - "components": [ [ [ "pipe", 2 ] ], [ [ "wheel_bicycle", 2 ] ] ] - }, - { - "type": "recipe", - "result": "hand_rims", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_PARTS", - "skill_used": "fabrication", - "difficulty": 1, - "time": "4 m", - "reversible": true, - "autolearn": true, - "using": [ [ "welding_standard", 2 ] ], - "qualities": [ { "id": "HAMMER", "level": 2 }, { "id": "SAW_M", "level": 1 } ], - "components": [ [ [ "pipe", 2 ] ] ] - }, - { - "type": "recipe", - "result": "frame", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_PARTS", - "skill_used": "fabrication", - "difficulty": 1, - "time": "45 m", - "reversible": true, - "autolearn": true, - "using": [ [ "steel_standard", 20 ] ], - "qualities": [ { "id": "GLARE", "level": 2 } ], - "tools": [ - [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], - [ [ "welder", 50 ], [ "welder_crude", 75 ], [ "toolset", 75 ], [ "forge", 50 ], [ "oxy_torch", 10 ] ] - ] - }, - { - "type": "recipe", - "result": "hdframe", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_PARTS", - "skill_used": "fabrication", - "difficulty": 1, - "time": "1 h 30 m", - "reversible": true, - "autolearn": true, - "qualities": [ { "id": "GLARE", "level": 2 } ], - "using": [ [ "steel_standard", 100 ] ], - "tools": [ - [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], - [ [ "welder", 50 ], [ "welder_crude", 75 ], [ "toolset", 75 ], [ "forge", 50 ], [ "oxy_torch", 10 ] ] - ] - }, - { - "type": "recipe", - "result": "frame_wood", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_PARTS", - "skill_used": "fabrication", - "difficulty": 1, - "time": "6 m", - "reversible": true, - "autolearn": true, - "qualities": [ { "id": "HAMMER", "level": 1 } ], - "components": [ [ [ "2x4", 5 ] ], [ [ "nail", 20 ] ] ] - }, - { - "type": "recipe", - "result": "frame_wood_light", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_PARTS", - "skill_used": "fabrication", - "time": "4 m", - "reversible": true, - "autolearn": true, - "using": [ [ "rope_natural_short", 3 ] ], - "components": [ [ [ "2x4", 3 ], [ "stick", 6 ] ] ] - }, - { - "type": "recipe", - "result": "wheel_wood", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_PARTS", - "skill_used": "fabrication", - "difficulty": 3, - "time": "6 m", - "reversible": true, - "autolearn": true, - "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "SAW_W", "level": 1 } ], - "components": [ [ [ "2x4", 5 ] ], [ [ "nail", 20 ] ] ] - }, - { - "type": "recipe", - "result": "wheel_wood_b", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_PARTS", - "skill_used": "fabrication", - "difficulty": 4, - "time": "12 m", - "reversible": true, - "autolearn": true, - "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "SAW_W", "level": 1 } ], - "components": [ [ [ "2x4", 5 ] ], [ [ "nail", 30 ] ], [ [ "scrap", 5 ] ] ] - }, - { - "type": "recipe", - "result": "wood_plate", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_PARTS", - "skill_used": "fabrication", - "difficulty": 2, - "time": "6 m", - "reversible": true, - "autolearn": true, - "using": [ [ "rope_natural_short", 2 ] ], - "components": [ [ [ "2x4", 6 ] ] ] - }, - { - "type": "recipe", - "result": "steel_plate", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_PARTS", - "skill_used": "fabrication", - "difficulty": 4, - "time": "12 m", - "reversible": true, - "//": "sawing it down doesn't teach anything useful", - "autolearn": true, - "qualities": [ { "id": "GLARE", "level": 2 } ], - "tools": [ [ [ "welder", 100 ], [ "welder_crude", 150 ], [ "toolset", 150 ], [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], - "components": [ [ [ "steel_lump", 8 ] ] ] - }, - { - "type": "recipe", - "result": "steel_armor", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_MATERIALS", - "skill_used": "fabrication", - "difficulty": 4, - "time": "12 m", - "reversible": true, - "//": "sawing it down doesn't teach anything useful", - "autolearn": true, - "qualities": [ { "id": "GLARE", "level": 2 } ], - "tools": [ [ [ "welder", 50 ], [ "welder_crude", 75 ], [ "toolset", 75 ], [ "forge", 50 ], [ "oxy_torch", 10 ] ] ], - "components": [ [ [ "steel_lump", 4 ] ] ] - }, - { - "type": "recipe", - "result": "spiked_plate", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_PARTS", - "skill_used": "fabrication", - "difficulty": 4, - "time": "12 m", - "reversible": true, - "book_learn": [ [ "textbook_fabrication", 3 ], [ "welding_book", 3 ], [ "textbook_mechanics", 4 ] ], - "qualities": [ { "id": "GLARE", "level": 2 } ], - "tools": [ [ [ "welder", 100 ], [ "welder_crude", 150 ], [ "toolset", 150 ], [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], - "components": [ [ [ "steel_lump", 8 ], [ "steel_plate", 1 ] ], [ [ "steel_chunk", 4 ], [ "scrap", 12 ], [ "spike", 4 ] ] ] - }, - { - "type": "recipe", - "result": "hard_plate", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_PARTS", - "skill_used": "fabrication", - "difficulty": 6, - "//": "hardened metal tools require high fabrication, so +1 diff here", - "time": "12 m", - "reversible": true, - "book_learn": [ [ "textbook_fabrication", 5 ], [ "adv_chemistry", 6 ], [ "welding_book", 5 ] ], - "qualities": [ { "id": "GLARE", "level": 2 } ], - "tools": [ [ [ "welder", 100 ], [ "welder_crude", 150 ], [ "toolset", 150 ], [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], - "components": [ [ [ "steel_lump", 24 ] ] ] - }, { "type": "recipe", "result": "tree_spile", @@ -1774,9 +1548,11 @@ "reversible": true, "decomp_learn": 2, "autolearn": true, + "using": [ [ "forging_standard", 3 ], [ "steel_standard", 11 ] ], "book_learn": [ [ "mag_traps", 1 ], [ "manual_mechanics", 2 ], [ "manual_traps", 1 ], [ "howto_traps", 1 ] ], - "qualities": [ { "id": "WRENCH", "level": 1 } ], - "components": [ [ [ "scrap", 3 ] ], [ [ "spring", 1 ] ] ] + "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "WRENCH", "level": 1 } ], + "tools": [ [ [ "tongs", -1 ] ] ], + "components": [ [ [ "spring", 1 ] ] ] }, { "type": "recipe", @@ -2030,7 +1806,7 @@ "autolearn": true, "qualities": [ { "id": "HAMMER", "level": 1 } ], "tools": [ [ [ "surface_heat", 10, "LIST" ] ] ], - "components": [ [ [ "copper", 100 ] ] ] + "components": [ [ [ "copper", 25 ] ] ] }, { "type": "recipe", @@ -2093,13 +1869,9 @@ "difficulty": 3, "time": "2 h", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ - [ [ "tongs", -1 ] ], - [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], - [ [ "swage", -1 ] ], - [ [ "forge", 150 ], [ "oxy_torch", 30 ] ] - ], + "using": [ [ "blacksmithing_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "swage", -1 ] ] ], "components": [ [ [ "scrap", 2 ] ] ] }, { @@ -2411,9 +2183,7 @@ [ "textbook_armeast", 5 ], [ "textbook_armwest", 5 ] ], - "using": [ [ "forging_standard", 4 ], [ "steel_standard", 1 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ] ] + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ] }, { "type": "recipe", @@ -2431,9 +2201,9 @@ [ "textbook_armeast", 5 ], [ "textbook_armwest", 5 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "forge", 250 ], [ "oxy_torch", 50 ] ] ], - "components": [ [ [ "steel_lump", 2 ], [ "steel_chunk", 8 ], [ "scrap", 24 ] ] ] + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "tongs", -1 ] ] ] }, { "type": "recipe", @@ -2444,9 +2214,10 @@ "difficulty": 5, "time": "2 h", "autolearn": true, + "using": [ [ "forging_standard", 12 ], [ "steel_standard", 1 ] ], "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 2 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "forge", 250 ], [ "oxy_torch", 50 ] ] ], - "components": [ [ [ "steel_lump", 1 ], [ "steel_chunk", 4 ], [ "scrap", 12 ] ], [ [ "2x4", 1 ], [ "stick", 2 ] ] ] + "tools": [ [ [ "tongs", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ] ] }, { "type": "recipe", @@ -2457,9 +2228,10 @@ "difficulty": 5, "time": "2 h 20 m", "autolearn": true, + "using": [ [ "forging_standard", 12 ], [ "steel_standard", 2 ] ], "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 2 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "forge", 250 ], [ "oxy_torch", 50 ] ] ], - "components": [ [ [ "steel_lump", 2 ], [ "steel_chunk", 6 ], [ "scrap", 18 ] ], [ [ "2x4", 1 ], [ "stick", 2 ], [ "splinter", 6 ] ] ] + "tools": [ [ [ "tongs", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ], [ "splinter", 6 ] ] ] }, { "type": "recipe", @@ -2470,9 +2242,9 @@ "difficulty": 1, "time": "3 h", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 2 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 50 ], [ "oxy_torch", 10 ] ] ], - "components": [ [ [ "steel_chunk", 1 ], [ "scrap", 3 ] ] ] + "using": [ [ "blacksmithing_standard", 1 ], [ "steel_tiny", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] }, { "type": "recipe", @@ -2483,9 +2255,9 @@ "difficulty": 2, "time": "2 h", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 2 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], - "components": [ [ [ "steel_chunk", 1 ], [ "scrap", 2 ] ] ] + "using": [ [ "blacksmithing_standard", 1 ], [ "steel_tiny", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] }, { "type": "recipe", @@ -2530,9 +2302,7 @@ "difficulty": 2, "time": "1 h 30 m", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], - "components": [ [ [ "steel_lump", 2 ], [ "steel_chunk", 8 ], [ "scrap", 24 ] ] ] + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ] }, { "type": "recipe", @@ -2543,9 +2313,8 @@ "difficulty": 2, "time": "1 h 30 m", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], - "components": [ [ [ "steel_lump", 1 ], [ "steel_chunk", 4 ], [ "scrap", 12 ] ] ] + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ] }, { "type": "recipe", @@ -2557,9 +2326,9 @@ "difficulty": 2, "time": "1 h", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], - "components": [ [ [ "steel_chunk", 1 ], [ "scrap", 3 ] ] ] + "using": [ [ "blacksmithing_standard", 1 ], [ "steel_tiny", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] }, { "type": "recipe", @@ -2570,9 +2339,9 @@ "difficulty": 4, "time": "5 h", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "forge", 200 ], [ "oxy_torch", 40 ] ] ], - "components": [ [ [ "steel_lump", 1 ], [ "steel_chunk", 4 ], [ "scrap", 12 ] ] ] + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ] }, { "type": "recipe", @@ -2583,9 +2352,9 @@ "difficulty": 2, "time": "5 h", "autolearn": true, - "using": [ [ "forging_standard", 5 ], [ "steel_tiny", 1 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], + "using": [ [ "blacksmithing_standard", 1 ], [ "steel_tiny", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ [ [ "plastic_chunk", 1 ], [ "scrap", 1 ] ] ] }, { @@ -2597,10 +2366,10 @@ "difficulty": 4, "time": "5 h 20 m", "autolearn": true, - "using": [ [ "forging_standard", 10 ], [ "steel_standard", 1 ] ], + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ], "book_learn": [ [ "manual_mechanics", 3 ], [ "manual_fabrication", 3 ], [ "textbook_fabrication", 4 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], "components": [ [ [ "plastic_chunk", 1 ], [ "2x4", 1 ], [ "stick", 1 ] ] ] }, { @@ -2613,11 +2382,10 @@ "//": "not so much the engineering as hardening the edge", "time": "6 h 20 m", "autolearn": true, - "using": [ [ "forging_standard", 15 ], [ "steel_standard", 2 ] ], + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], "book_learn": [ [ "manual_mechanics", 4 ], [ "manual_fabrication", 4 ], [ "textbook_fabrication", 4 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], - "components": [ [ [ "plastic_chunk", 2 ], [ "2x4", 1 ], [ "stick", 2 ] ] ] + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ] }, { "type": "recipe", @@ -2628,11 +2396,11 @@ "difficulty": 4, "time": "4 h 40 m", "autolearn": true, - "using": [ [ "forging_standard", 10 ], [ "steel_standard", 2 ] ], + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], "book_learn": [ [ "manual_fabrication", 2 ], [ "textbook_fabrication", 3 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], - "components": [ [ [ "2x4", 2 ], [ "stick", 4 ] ] ] + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], + "components": [ [ [ "2x4", 2 ] ] ] }, { "type": "recipe", @@ -2643,10 +2411,10 @@ "difficulty": 7, "time": "5 h 20 m", "autolearn": true, - "using": [ [ "forging_standard", 15 ], [ "steel_standard", 4 ] ], + "using": [ [ "blacksmithing_standard", 16 ], [ "steel_standard", 4 ] ], "book_learn": [ [ "manual_fabrication", 3 ], [ "textbook_fabrication", 4 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ] + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ] }, { "type": "recipe", @@ -2657,10 +2425,10 @@ "difficulty": 5, "time": "5 h 20 m", "autolearn": true, - "using": [ [ "forging_standard", 10 ], [ "steel_standard", 2 ] ], + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], "book_learn": [ [ "manual_fabrication", 3 ], [ "textbook_fabrication", 4 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ [ [ "2x4", 2 ], [ "stick", 4 ] ] ] }, { @@ -2672,10 +2440,10 @@ "difficulty": 6, "time": "6 h", "autolearn": true, - "using": [ [ "forging_standard", 15 ], [ "steel_standard", 3 ] ], + "using": [ [ "blacksmithing_standard", 12 ], [ "steel_standard", 3 ] ], "book_learn": [ [ "textbook_fabrication", 4 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ [ [ "2x4", 3 ], [ "stick", 6 ] ] ] }, { @@ -2688,9 +2456,10 @@ "time": "7 h", "autolearn": true, "book_learn": [ [ "manual_fabrication", 3 ], [ "textbook_fabrication", 4 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "forge", 350 ], [ "oxy_torch", 70 ] ] ], - "components": [ [ [ "steel_lump", 2 ], [ "steel_chunk", 6 ], [ "scrap", 18 ] ], [ [ "2x4", 2 ], [ "stick", 4 ] ] ] + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], + "components": [ [ [ "2x4", 2 ] ] ] }, { "type": "recipe", @@ -2702,9 +2471,10 @@ "time": "7 h 40 m", "autolearn": true, "book_learn": [ [ "manual_fabrication", 3 ], [ "textbook_fabrication", 4 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "forge", 300 ], [ "oxy_torch", 60 ] ] ], - "components": [ [ [ "steel_lump", 8 ], [ "steel_chunk", 24 ] ], [ [ "2x4", 3 ], [ "stick", 6 ] ] ] + "using": [ [ "blacksmithing_standard", 32 ], [ "steel_standard", 8 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], + "components": [ [ [ "2x4", 3 ] ] ] }, { "type": "recipe", @@ -2715,14 +2485,9 @@ "difficulty": 6, "time": "8 h 40 m", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ - [ [ "tongs", -1 ] ], - [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], - [ [ "swage", -1 ] ], - [ [ "forge", 450 ], [ "oxy_torch", 90 ] ] - ], - "components": [ [ [ "steel_lump", 8 ], [ "steel_chunk", 24 ] ] ] + "using": [ [ "blacksmithing_standard", 32 ], [ "steel_standard", 8 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "swage", -1 ] ] ] }, { "type": "recipe", @@ -2733,9 +2498,9 @@ "difficulty": 6, "time": "30 m", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "forge", 20 ], [ "oxy_torch", 4 ] ] ], - "components": [ [ [ "steel_chunk", 1 ], [ "scrap", 3 ] ] ] + "using": [ [ "blacksmithing_standard", 1 ], [ "steel_tiny", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ] }, { "type": "recipe", @@ -2883,9 +2648,9 @@ "difficulty": 6, "time": "2 h 30 m", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 150 ], [ "oxy_torch", 30 ] ] ], - "components": [ [ [ "steel_lump", 2 ], [ "steel_chunk", 8 ], [ "scrap", 24 ] ] ] + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] }, { "type": "recipe", @@ -2896,9 +2661,9 @@ "difficulty": 6, "time": "2 h 30 m", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 150 ], [ "oxy_torch", 30 ] ] ], - "components": [ [ [ "steel_lump", 2 ], [ "steel_chunk", 8 ], [ "scrap", 24 ] ] ] + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] }, { "type": "recipe", @@ -2910,14 +2675,14 @@ "time": "2 h", "autolearn": true, "book_learn": [ [ "textbook_fabrication", 4 ], [ "manual_fabrication", 4 ] ], - "using": [ [ "welding_standard", 15 ] ], + "using": [ [ "welding_standard", 15 ], [ "steel_standard", 6 ] ], "qualities": [ { "id": "HAMMER", "level": 3 }, { "id": "SAW_M", "level": 1 }, { "id": "SCREW", "level": 1 }, { "id": "WRENCH", "level": 1 } ], - "components": [ [ [ "steel_lump", 6 ], [ "steel_chunk", 24 ], [ "scrap", 72 ] ], [ [ "metal_tank_little", 1 ] ], [ [ "pipe", 8 ] ] ] + "components": [ [ [ "metal_tank_little", 1 ] ], [ [ "pipe", 8 ] ] ] }, { "type": "recipe", @@ -2931,7 +2696,7 @@ "decomp_learn": 4, "autolearn": true, "book_learn": [ [ "textbook_fabrication", 4 ], [ "manual_fabrication", 4 ] ], - "using": [ [ "welding_standard", 15 ] ], + "using": [ [ "welding_standard", 15 ], [ "steel_standard", 6 ] ], "qualities": [ { "id": "HAMMER", "level": 3 }, { "id": "SAW_M", "level": 1 }, @@ -2939,7 +2704,6 @@ { "id": "WRENCH", "level": 1 } ], "components": [ - [ [ "steel_lump", 6 ], [ "steel_chunk", 24 ], [ "scrap", 72 ] ], [ [ "element", 8 ] ], [ [ "cable", 4 ] ], [ [ "power_supply", 1 ] ], @@ -2984,9 +2748,9 @@ "difficulty": 4, "time": "2 h", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], - "components": [ [ [ "steel_lump", 1 ], [ "steel_chunk", 4 ], [ "scrap", 12 ] ] ] + "using": [ [ "blacksmithing_standard", 16 ], [ "steel_standard", 4 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] }, { "type": "recipe", @@ -3064,9 +2828,9 @@ "difficulty": 8, "time": "7 h", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "forge", 400 ], [ "oxy_torch", 80 ] ] ], - "components": [ [ [ "steel_lump", 16 ], [ "steel_chunk", 64 ] ] ] + "using": [ [ "blacksmithing_standard", 64 ], [ "steel_standard", 16 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ] }, { "type": "recipe", @@ -3078,9 +2842,9 @@ "difficulty": 8, "time": "4 h 22 m 30 s", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "forge", 250 ], [ "oxy_torch", 40 ] ] ], - "components": [ [ [ "steel_lump", 10 ], [ "steel_chunk", 40 ] ] ] + "using": [ [ "blacksmithing_standard", 40 ], [ "steel_standard", 10 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ] }, { "type": "recipe", @@ -3460,7 +3224,7 @@ "autolearn": true, "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 50 ], [ "oxy_torch", 10 ] ] ], - "components": [ [ [ "scrap_copper", 2 ], [ "copper", 200 ] ] ] + "components": [ [ [ "scrap_copper", 7 ], [ "copper", 175 ] ] ] }, { "type": "recipe", @@ -3549,9 +3313,9 @@ "difficulty": 4, "time": "2 h", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 50 ], [ "oxy_torch", 10 ] ] ], - "components": [ [ [ "scrap", 7 ] ] ] + "using": [ [ "blacksmithing_standard", 2 ], [ "steel_tiny", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] }, { "type": "recipe", @@ -3575,7 +3339,7 @@ "time": "10 m", "autolearn": true, "tools": [ [ [ "surface_heat", 4, "LIST" ] ], [ [ "mold_plastic", -1 ] ] ], - "components": [ [ [ "bag_plastic", 3 ] ] ] + "components": [ [ [ "bag_plastic", 10 ] ] ] }, { "type": "recipe", @@ -3587,7 +3351,7 @@ "time": "10 m", "autolearn": true, "tools": [ [ [ "surface_heat", 6, "LIST" ], [ "soldering_iron", 10 ] ] ], - "components": [ [ [ "cash_card", 4 ] ] ] + "components": [ [ [ "cash_card", 9 ], [ "plastic_straw", 2 ] ] ] }, { "type": "recipe", @@ -3637,9 +3401,9 @@ "difficulty": 6, "time": "6 h", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "forge", 250 ], [ "oxy_torch", 50 ] ] ], - "components": [ [ [ "steel_lump", 5 ], [ "steel_chunk", 20 ], [ "scrap", 60 ] ] ] + "using": [ [ "blacksmithing_standard", 20 ], [ "steel_standard", 5 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ] }, { "type": "recipe", @@ -3650,9 +3414,9 @@ "difficulty": 6, "time": "3 h", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 50 ], [ "oxy_torch", 10 ] ] ], - "components": [ [ [ "scrap", 7 ] ] ] + "using": [ [ "blacksmithing_standard", 12 ], [ "steel_standard", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] }, { "type": "recipe", @@ -3663,9 +3427,23 @@ "difficulty": 2, "time": "1 h 30 m", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 50 ], [ "oxy_torch", 10 ] ] ], - "components": [ [ [ "scrap", 3 ] ] ] + "using": [ [ "blacksmithing_standard", 1 ], [ "steel_tiny", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] + }, + { + "type": "recipe", + "result": "railroad_track_small", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_MATERIALS", + "skill_used": "fabrication", + "difficulty": 4, + "time": "1 h 30 m", + "autolearn": true, + "using": [ [ "forging_standard", 10 ], [ "steel_standard", 5 ] ], + "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 2 }, { "id": "SAW_W", "level": 2 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 24 ] ], [ [ "nail", 40 ] ] ] }, { "type": "recipe", @@ -3677,6 +3455,7 @@ "difficulty": 4, "time": "20 m", "autolearn": true, + "reversible": true, "using": [ [ "soldering_standard", 25 ] ], "qualities": [ { "id": "CUT", "level": 1 } ], "components": [ [ [ "cable", 100 ] ], [ [ "scrap", 4 ] ], [ [ "duct_tape", 50 ] ] ] @@ -3691,6 +3470,7 @@ "difficulty": 5, "time": "2 h", "autolearn": true, + "reversible": true, "using": [ [ "soldering_standard", 60 ] ], "qualities": [ { "id": "CUT", "level": 1 } ], "components": [ [ [ "cable", 650 ] ], [ [ "scrap", 10 ] ], [ [ "duct_tape", 30 ] ], [ [ "hose", 2 ] ] ] @@ -3789,13 +3569,14 @@ { "type": "recipe", "result": "chem_sulphur", - "result_mult": 5, "category": "CC_OTHER", "subcategory": "CSC_OTHER_MATERIALS", "skill_used": "fabrication", "difficulty": 1, - "time": "1 m", + "charges": 1562, + "time": "5 m", "autolearn": true, + "tools": [ [ [ "mortar_pestle", -1 ] ] ], "qualities": [ { "id": "HAMMER", "level": 1 } ], "components": [ [ [ "chunk_sulfur", 1 ] ] ] }, @@ -3850,7 +3631,7 @@ [ [ "water_clean", 2 ], [ "water", 2 ] ], [ [ "tanbark", 1 ], [ "acorns", 2 ], [ "hops", 2 ], [ "pine_bough", 6 ] ], [ [ "salt_water", 2 ], [ "saline", 10 ], [ "salt", 10 ] ], - [ [ "tallow", 1 ], [ "tallow_tainted", 1 ], [ "lard", 1 ] ], + [ [ "edible_tallow_lard", 1, "LIST" ], [ "tallow_tainted", 1 ] ], [ [ "cured_hide", 6 ] ] ] }, @@ -3889,7 +3670,7 @@ [ [ "water_clean", 2 ], [ "water", 2 ] ], [ [ "tanbark", 1 ], [ "acorns", 2 ], [ "hops", 2 ], [ "pine_bough", 6 ] ], [ [ "salt_water", 2 ], [ "saline", 10 ], [ "salt", 10 ] ], - [ [ "tallow", 1 ], [ "tallow_tainted", 1 ], [ "lard", 1 ] ], + [ [ "edible_tallow_lard", 1, "LIST" ], [ "tallow_tainted", 1 ] ], [ [ "cured_pelt", 6 ] ] ] }, @@ -3945,9 +3726,9 @@ "time": "7 h 20 m", "autolearn": true, "book_learn": [ [ "manual_fabrication", 8 ], [ "textbook_fabrication", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 350 ], [ "oxy_torch", 70 ] ] ], - "components": [ [ [ "steel_lump", 6 ], [ "steel_chunk", 24 ], [ "scrap", 72 ] ] ] + "using": [ [ "blacksmithing_standard", 24 ], [ "steel_standard", 6 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] }, { "type": "recipe", @@ -4591,22 +4372,9 @@ "time": "45 m", "autolearn": true, "book_learn": [ [ "textbook_fabrication", 4 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "swage", -1 ] ], [ [ "tongs", -1 ] ], [ [ "forge", 250 ], [ "oxy_torch", 50 ] ] ], - "components": [ [ [ "steel_lump", 2 ], [ "steel_chunk", 8 ], [ "scrap", 24 ] ] ] - }, - { - "type": "recipe", - "result": "pressure_cooker", - "category": "CC_OTHER", - "subcategory": "CSC_OTHER_TOOLS", - "skill_used": "fabrication", - "difficulty": 4, - "time": "1 h 30 m", - "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "forge", 150 ], [ "oxy_torch", 30 ] ] ], - "components": [ [ [ "steel_lump", 3 ], [ "steel_chunk", 12 ], [ "scrap", 36 ] ] ] + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] }, { "type": "recipe", diff --git a/data/json/recipes/recipe_vehicle.json b/data/json/recipes/recipe_vehicle.json index 6a3f55cf95874..20fc4b379813f 100644 --- a/data/json/recipes/recipe_vehicle.json +++ b/data/json/recipes/recipe_vehicle.json @@ -147,6 +147,48 @@ [ [ "plastic_chunk", 10 ] ] ] }, + { + "result": "programmable_autopilot", + "type": "recipe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_VEHICLE", + "skill_used": "computer", + "skills_required": [ "electronics", 4 ], + "difficulty": 5, + "time": "1200 m", + "autolearn": false, + "book_learn": [ + [ "manual_electronics", 3 ], + [ "textbook_electronics", 3 ], + [ "advanced_electronics", 3 ], + [ "recipe_lab_elec", 3 ], + [ "textbook_anarch", 3 ] + ], + "using": [ [ "soldering_standard", 20 ] ], + "qualities": [ + { "id": "HAMMER", "level": 2 }, + { "id": "SAW_M", "level": 1 }, + { "id": "DRILL", "level": 1 }, + { "id": "SCREW", "level": 1 }, + { "id": "WRENCH", "level": 1 } + ], + "components": [ + [ [ "sheet_metal", 2 ] ], + [ [ "motor_tiny", 3 ] ], + [ [ "plastic_chunk", 10 ] ], + [ [ "power_supply", 1 ] ], + [ [ "scrap", 4 ] ], + [ [ "cable", 10 ] ], + [ [ "antenna", 1 ] ], + [ [ "e_scrap", 5 ] ], + [ [ "amplifier", 1 ] ], + [ [ "wire", 6 ] ], + [ [ "circuit", 2 ] ], + [ [ "processor", 1 ] ], + [ [ "RAM", 1 ] ], + [ [ "small_lcd_screen", 1 ] ] + ] + }, { "result": "minifridge", "type": "recipe", @@ -335,11 +377,10 @@ "skill_used": "fabrication", "difficulty": 2, "time": 30000, - "reversible": true, "autolearn": true, "qualities": [ { "id": "HAMMER", "level": 2 }, { "id": "SAW_W", "level": 1 } ], "using": [ [ "sewing_standard", 100 ] ], - "components": [ [ [ "rag", 40 ], [ "sheet", 2 ] ], [ [ "2x4", 10 ], [ "stick", 8 ], [ "stick_long", 4 ] ], [ [ "nail", 30 ] ] ] + "components": [ [ [ "sheet", 2 ] ], [ [ "2x4", 4 ], [ "stick", 4 ] ], [ [ "nail", 20 ] ] ] }, { "type": "recipe", @@ -392,5 +433,292 @@ "using": [ [ "welding_standard", 1 ] ], "qualities": [ { "id": "DRILL", "level": 3 } ], "components": [ [ [ "scrap", 2 ] ] ] + }, + { + "type": "recipe", + "result": "turret_controls", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_VEHICLE", + "skill_used": "electronics", + "skills_required": [ [ "computer", 5 ], [ "mechanics", 3 ] ], + "difficulty": 5, + "time": "2 h", + "autolearn": true, + "using": [ [ "soldering_standard", 10 ] ], + "qualities": [ { "id": "SCREW", "level": 1 } ], + "tools": [ [ [ "laptop", -1 ] ] ], + "components": [ + [ [ "targeting_module", 1 ] ], + [ [ "ai_module", 1 ] ], + [ [ "gun_module", 1 ] ], + [ [ "identification_module", 1 ] ], + [ [ "cable", 10 ] ], + [ [ "camera", 1 ], [ "camera_pro", 1 ], [ "omnicamera", 1 ], [ "sensor_module", 1 ] ], + [ [ "robot_controls", 1 ] ] + ] + }, + { + "type": "recipe", + "result": "basket", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "difficulty": 2, + "time": "50 m", + "reversible": true, + "autolearn": true, + "using": [ [ "welding_standard", 5 ], [ "cutting_wire_standard", 1 ] ], + "components": [ [ [ "wire", 40 ] ] ] + }, + { + "type": "recipe", + "result": "folding_basket", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "difficulty": 2, + "time": "1 h", + "reversible": true, + "autolearn": true, + "using": [ [ "welding_standard", 5 ], [ "cutting_wire_standard", 1 ] ], + "components": [ [ [ "wire", 40 ], [ "basket", 1 ] ], [ [ "scrap", 8 ] ] ] + }, + { + "type": "recipe", + "result": "bike_basket", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "difficulty": 1, + "time": "35 m", + "reversible": true, + "autolearn": true, + "using": [ [ "welding_standard", 2 ], [ "cutting_wire_standard", 1 ] ], + "components": [ [ [ "wire", 8 ] ] ] + }, + { + "type": "recipe", + "result": "foldframe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "difficulty": 1, + "time": "8 m", + "reversible": true, + "autolearn": true, + "using": [ [ "welding_standard", 6 ] ], + "components": [ [ [ "pipe", 4 ] ] ] + }, + { + "type": "recipe", + "result": "foldwoodframe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "difficulty": 2, + "time": "9 m", + "reversible": true, + "autolearn": true, + "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "2x4", 5 ] ], [ [ "stick", 2 ] ], [ [ "nail", 20 ] ] ] + }, + { + "type": "recipe", + "result": "wheel_wheelchair", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "difficulty": 2, + "time": "5 m", + "reversible": true, + "autolearn": true, + "using": [ [ "welding_standard", 4 ] ], + "qualities": [ { "id": "HAMMER", "level": 2 }, { "id": "SAW_M", "level": 1 } ], + "components": [ [ [ "pipe", 2 ] ], [ [ "wheel_bicycle", 2 ] ] ] + }, + { + "type": "recipe", + "result": "wheel_rail_small_pair", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "skills_required": [ "mechanics", 1 ], + "difficulty": 3, + "time": "50 m", + "autolearn": true, + "using": [ [ "blacksmithing_standard", 5 ], [ "steel_standard", 12 ] ], + "qualities": [ { "id": "SAW_M", "level": 1 } ], + "components": [ [ [ "pipe", 1 ] ] ] + }, + { + "type": "recipe", + "result": "hand_rims", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "difficulty": 1, + "time": "4 m", + "reversible": true, + "autolearn": true, + "using": [ [ "welding_standard", 2 ] ], + "qualities": [ { "id": "HAMMER", "level": 2 }, { "id": "SAW_M", "level": 1 } ], + "components": [ [ [ "pipe", 2 ] ] ] + }, + { + "type": "recipe", + "result": "frame", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "difficulty": 1, + "time": "45 m", + "reversible": true, + "autolearn": true, + "using": [ [ "steel_standard", 20 ] ], + "qualities": [ { "id": "GLARE", "level": 2 } ], + "tools": [ + [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], + [ [ "welder", 50 ], [ "welder_crude", 75 ], [ "toolset", 75 ], [ "forge", 50 ], [ "oxy_torch", 10 ] ] + ] + }, + { + "type": "recipe", + "result": "hdframe", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "difficulty": 1, + "time": "1 h 30 m", + "reversible": true, + "autolearn": true, + "qualities": [ { "id": "GLARE", "level": 2 } ], + "using": [ [ "steel_standard", 100 ] ], + "tools": [ + [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], + [ [ "welder", 50 ], [ "welder_crude", 75 ], [ "toolset", 75 ], [ "forge", 50 ], [ "oxy_torch", 10 ] ] + ] + }, + { + "type": "recipe", + "result": "frame_wood", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "difficulty": 1, + "time": "6 m", + "reversible": true, + "autolearn": true, + "qualities": [ { "id": "HAMMER", "level": 1 } ], + "components": [ [ [ "2x4", 5 ] ], [ [ "nail", 20 ] ] ] + }, + { + "type": "recipe", + "result": "frame_wood_light", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "time": "4 m", + "reversible": true, + "autolearn": true, + "using": [ [ "rope_natural_short", 3 ] ], + "components": [ [ [ "2x4", 3 ], [ "stick", 6 ] ] ] + }, + { + "type": "recipe", + "result": "wheel_wood", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "difficulty": 3, + "time": "6 m", + "reversible": true, + "autolearn": true, + "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "SAW_W", "level": 1 } ], + "components": [ [ [ "2x4", 5 ] ], [ [ "nail", 20 ] ] ] + }, + { + "type": "recipe", + "result": "wheel_wood_b", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "difficulty": 4, + "time": "12 m", + "reversible": true, + "autolearn": true, + "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "SAW_W", "level": 1 } ], + "components": [ [ [ "2x4", 5 ] ], [ [ "nail", 30 ] ], [ [ "scrap", 5 ] ] ] + }, + { + "type": "recipe", + "result": "wood_plate", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "difficulty": 2, + "time": "6 m", + "reversible": true, + "autolearn": true, + "using": [ [ "rope_natural_short", 2 ] ], + "components": [ [ [ "2x4", 6 ] ] ] + }, + { + "type": "recipe", + "result": "steel_plate", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "difficulty": 4, + "time": "12 m", + "reversible": true, + "//": "sawing it down doesn't teach anything useful", + "autolearn": true, + "qualities": [ { "id": "GLARE", "level": 2 } ], + "tools": [ [ [ "welder", 100 ], [ "welder_crude", 150 ], [ "toolset", 150 ], [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], + "components": [ [ [ "steel_lump", 8 ] ] ] + }, + { + "type": "recipe", + "result": "steel_armor", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_MATERIALS", + "skill_used": "fabrication", + "difficulty": 4, + "time": "12 m", + "reversible": true, + "//": "sawing it down doesn't teach anything useful", + "autolearn": true, + "qualities": [ { "id": "GLARE", "level": 2 } ], + "tools": [ [ [ "welder", 50 ], [ "welder_crude", 75 ], [ "toolset", 75 ], [ "forge", 50 ], [ "oxy_torch", 10 ] ] ], + "components": [ [ [ "steel_lump", 4 ] ] ] + }, + { + "type": "recipe", + "result": "spiked_plate", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "difficulty": 4, + "time": "12 m", + "reversible": true, + "book_learn": [ [ "textbook_fabrication", 3 ], [ "welding_book", 3 ], [ "textbook_mechanics", 4 ] ], + "qualities": [ { "id": "GLARE", "level": 2 } ], + "tools": [ [ [ "welder", 100 ], [ "welder_crude", 150 ], [ "toolset", 150 ], [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], + "components": [ [ [ "steel_lump", 8 ], [ "steel_plate", 1 ] ], [ [ "steel_chunk", 4 ], [ "scrap", 12 ], [ "spike", 4 ] ] ] + }, + { + "type": "recipe", + "result": "hard_plate", + "category": "CC_OTHER", + "subcategory": "CSC_OTHER_PARTS", + "skill_used": "fabrication", + "difficulty": 6, + "//": "hardened metal tools require high fabrication, so +1 diff here", + "time": "12 m", + "reversible": true, + "book_learn": [ [ "textbook_fabrication", 5 ], [ "adv_chemistry", 6 ], [ "welding_book", 5 ] ], + "qualities": [ { "id": "GLARE", "level": 2 } ], + "tools": [ [ [ "welder", 100 ], [ "welder_crude", 150 ], [ "toolset", 150 ], [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], + "components": [ [ [ "steel_lump", 24 ] ] ] } ] diff --git a/data/json/recipes/recipe_weapon.json b/data/json/recipes/recipe_weapon.json index c2cffe14020ff..fc630ba2b699e 100644 --- a/data/json/recipes/recipe_weapon.json +++ b/data/json/recipes/recipe_weapon.json @@ -55,9 +55,9 @@ "difficulty": 6, "time": "7 h 40 m", "autolearn": true, - "using": [ [ "forging_standard", 15 ], [ "steel_standard", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ] ], + "using": [ [ "blacksmithing_standard", 24 ], [ "steel_standard", 6 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], "components": [ [ [ "stick_long", 1 ] ] ] }, { @@ -316,8 +316,8 @@ "difficulty": 2, "time": "1 h", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "forge", 50 ], [ "oxy_torch", 10 ] ] ], + "using": [ [ "blacksmithing_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], "components": [ [ [ "javelin", 1 ] ], [ [ "scrap", 1 ] ] ] }, { @@ -361,6 +361,7 @@ [ "knife_meat_cleaver", 1 ], [ "blade", 1 ], [ "knife_combat", 1 ], + [ "knife_combat_mod", 1 ], [ "knife_hunting", 1 ], [ "knife_rambo", 1 ], [ "knife_rm42", 1 ], @@ -393,6 +394,7 @@ [ "knife_meat_cleaver", 1 ], [ "blade", 1 ], [ "knife_combat", 1 ], + [ "knife_combat_mod", 1 ], [ "knife_hunting", 1 ], [ "knife_rambo", 1 ], [ "knife_rm42", 1 ], @@ -539,20 +541,18 @@ "subcategory": "CSC_WEAPON_RANGED", "skill_used": "fabrication", "skills_required": [ [ "mechanics", 4 ] ], - "using": [ [ "forging_standard", 4 ] ], + "using": [ [ "blacksmithing_standard", 4 ] ], "difficulty": 7, "time": "4 h", "book_learn": [ [ "recipe_bows", 8 ], [ "welding_book", 7 ], [ "textbook_mechanics", 7 ] ], "qualities": [ - { "id": "ANVIL", "level": 3 }, { "id": "CUT", "level": 1 }, { "id": "SCREW", "level": 1 }, - { "id": "HAMMER", "level": 3 }, { "id": "HAMMER_FINE", "level": 1 }, { "id": "SAW_M_FINE", "level": 1 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "swage", -1 ] ], [ [ "tongs", -1 ] ] ], + "tools": [ [ [ "swage", -1 ] ] ], "components": [ [ [ "sheet_metal_small", 4 ] ], [ [ "steel_standard", 1, "LIST" ] ], @@ -568,20 +568,18 @@ "subcategory": "CSC_WEAPON_RANGED", "skill_used": "fabrication", "skills_required": [ [ "mechanics", 5 ] ], - "using": [ [ "forging_standard", 10 ] ], + "using": [ [ "blacksmithing_standard", 10 ] ], "difficulty": 10, "time": "4 h", "book_learn": [ [ "recipe_bows", 9 ], [ "welding_book", 8 ], [ "textbook_mechanics", 8 ] ], "qualities": [ - { "id": "ANVIL", "level": 3 }, { "id": "CUT", "level": 1 }, { "id": "SCREW", "level": 1 }, - { "id": "HAMMER", "level": 3 }, { "id": "HAMMER_FINE", "level": 1 }, { "id": "SAW_M_FINE", "level": 1 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "swage", -1 ] ], [ [ "tongs", -1 ] ] ], + "tools": [ [ [ "swage", -1 ] ] ], "components": [ [ [ "steel_standard", 2, "LIST" ] ], [ [ "plastic_chunk", 10 ] ], @@ -907,20 +905,18 @@ "subcategory": "CSC_WEAPON_RANGED", "skill_used": "fabrication", "skills_required": [ [ "mechanics", 5 ] ], - "using": [ [ "forging_standard", 4 ] ], + "using": [ [ "blacksmithing_standard", 4 ] ], "difficulty": 7, "time": "4 h", "book_learn": [ [ "recipe_bows", 9 ], [ "welding_book", 8 ], [ "textbook_mechanics", 8 ] ], "qualities": [ - { "id": "ANVIL", "level": 3 }, { "id": "CUT", "level": 1 }, { "id": "SCREW", "level": 1 }, - { "id": "HAMMER", "level": 3 }, { "id": "HAMMER_FINE", "level": 1 }, { "id": "SAW_M_FINE", "level": 1 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "swage", -1 ] ], [ [ "tongs", -1 ] ] ], + "tools": [ [ [ "swage", -1 ] ] ], "components": [ [ [ "sheet_metal_small", 4 ] ], [ [ "steel_standard", 1, "LIST" ] ], @@ -1177,7 +1173,7 @@ "reversible": true, "autolearn": true, "decomp_learn": 0, - "components": [ [ [ "m320_mod", 1 ] ], [ [ "ugl_buttstock", 1 ] ] ] + "components": [ [ [ "m320_mod", 1 ], [ "m320_mod_mod", 1 ] ], [ [ "ugl_buttstock", 1 ] ] ] }, { "type": "recipe", @@ -1304,9 +1300,10 @@ "difficulty": 9, "time": "55 m", "book_learn": [ [ "welding_book", 7 ], [ "recipe_melee", 5 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "swage", -1 ], [ "tongs", -1 ] ], [ [ "forge", 475 ], [ "oxy_torch", 95 ] ] ], - "components": [ [ [ "steel_lump", 3 ], [ "steel_chunk", 12 ], [ "scrap", 36 ] ], [ [ "plastic_chunk", 4 ] ] ] + "using": [ [ "blacksmithing_standard", 12 ], [ "steel_standard", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "plastic_chunk", 4 ] ] ] }, { "type": "recipe", @@ -2053,9 +2050,10 @@ "difficulty": 6, "time": "5 h", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 300 ], [ "oxy_torch", 60 ] ] ], - "components": [ [ [ "steel_lump", 1 ], [ "steel_chunk", 4 ], [ "scrap", 12 ] ], [ [ "2x4", 1 ], [ "stick", 2 ] ] ] + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ] ] }, { "type": "recipe", @@ -2066,14 +2064,10 @@ "difficulty": 6, "time": "6 h", "book_learn": [ [ "textbook_fireman", 6 ] ], - "using": [ [ "forging_standard", 8 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], - "components": [ - [ [ "steel_lump", 1 ], [ "steel_chunk", 4 ], [ "scrap", 20 ] ], - [ [ "filament", 100, "LIST" ] ], - [ [ "rag", 2 ], [ "felt_patch", 2 ], [ "leather", 2 ], [ "fur", 2 ] ] - ] + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], + "components": [ [ [ "filament", 100, "LIST" ] ], [ [ "rag", 2 ], [ "felt_patch", 2 ], [ "leather", 2 ], [ "fur", 2 ] ] ] }, { "type": "recipe", @@ -2084,13 +2078,10 @@ "difficulty": 4, "time": "6 h", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 200 ], [ "oxy_torch", 40 ] ] ], - "components": [ - [ [ "steel_lump", 2 ], [ "steel_chunk", 8 ], [ "scrap", 24 ] ], - [ [ "2x4", 1 ], [ "stick", 2 ] ], - [ [ "fur", 2 ], [ "leather", 2 ] ] - ] + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ], [ [ "fur", 2 ], [ "leather", 2 ] ] ] }, { "type": "recipe", @@ -2101,9 +2092,10 @@ "difficulty": 4, "time": "4 h", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 200 ], [ "oxy_torch", 40 ] ] ], - "components": [ [ [ "steel_lump", 1 ], [ "steel_chunk", 4 ], [ "scrap", 12 ] ], [ [ "fur", 1 ], [ "leather", 1 ] ] ] + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "fur", 1 ], [ "leather", 1 ] ] ] }, { "type": "recipe", @@ -2113,10 +2105,11 @@ "skill_used": "fabrication", "difficulty": 6, "time": "6 h", + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ], "book_learn": [ [ "manual_knives", 4 ], [ "recipe_melee", 5 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 300 ], [ "oxy_torch", 60 ] ] ], - "components": [ [ [ "steel_lump", 1 ], [ "steel_chunk", 4 ], [ "scrap", 12 ] ], [ [ "fur", 2 ], [ "leather", 2 ] ] ] + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "fur", 2 ], [ "leather", 2 ] ] ] }, { "type": "recipe", @@ -2127,9 +2120,10 @@ "difficulty": 6, "time": "6 h 30 m", "book_learn": [ [ "manual_knives", 4 ], [ "recipe_melee", 5 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 300 ], [ "oxy_torch", 60 ] ] ], - "components": [ [ [ "steel_lump", 2 ], [ "steel_chunk", 8 ], [ "scrap", 24 ] ], [ [ "2x4", 1 ], [ "stick", 1 ] ] ] + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 1 ] ] ] }, { "type": "recipe", @@ -2140,9 +2134,10 @@ "difficulty": 4, "time": "6 h 30 m", "book_learn": [ [ "manual_knives", 3 ], [ "recipe_melee", 4 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 200 ], [ "oxy_torch", 40 ] ] ], - "components": [ [ [ "steel_lump", 1 ], [ "steel_chunk", 4 ], [ "scrap", 12 ] ], [ [ "fur", 1 ], [ "leather", 1 ] ] ] + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "fur", 1 ], [ "leather", 1 ] ] ] }, { "type": "recipe", @@ -2153,9 +2148,10 @@ "difficulty": 8, "time": "6 h", "book_learn": [ [ "manual_knives", 9 ], [ "textbook_weapeast", 8 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 400 ], [ "oxy_torch", 80 ] ] ], - "components": [ [ [ "steel_lump", 1 ], [ "steel_chunk", 4 ], [ "scrap", 12 ] ], [ [ "plastic_chunk", 2 ] ] ] + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "plastic_chunk", 2 ] ] ] }, { "type": "recipe", @@ -2166,9 +2162,9 @@ "difficulty": 4, "time": "4 h", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 200 ], [ "oxy_torch", 40 ] ] ], - "components": [ [ [ "steel_chunk", 2 ], [ "scrap", 6 ] ] ] + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_tiny", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] }, { "type": "recipe", @@ -2179,14 +2175,10 @@ "difficulty": 3, "time": "3 h", "autolearn": true, - "qualities": [ - { "id": "ANVIL", "level": 3 }, - { "id": "CUT", "level": 1 }, - { "id": "HAMMER", "level": 3 }, - { "id": "CHISEL", "level": 3 } - ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "forge", 150 ], [ "oxy_torch", 30 ] ] ], - "components": [ [ [ "steel_chunk", 3 ], [ "scrap", 9 ] ], [ [ "2x4", 1 ], [ "stick", 1 ] ] ] + "using": [ [ "blacksmithing_standard", 3 ], [ "steel_tiny", 3 ] ], + "qualities": [ { "id": "CUT", "level": 1 }, { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "tongs", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 1 ] ] ] }, { "type": "recipe", @@ -2212,9 +2204,10 @@ "time": "7 h 40 m", "autolearn": true, "book_learn": [ [ "manual_knives", 5 ], [ "recipe_melee", 5 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 400 ], [ "oxy_torch", 80 ] ] ], - "components": [ [ [ "steel_chunk", 3 ], [ "scrap", 9 ] ], [ [ "plastic_chunk", 1 ] ] ] + "using": [ [ "blacksmithing_standard", 3 ], [ "steel_tiny", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "plastic_chunk", 1 ] ] ] }, { "type": "recipe", @@ -2226,9 +2219,10 @@ "time": "6 h", "autolearn": true, "book_learn": [ [ "manual_knives", 5 ], [ "recipe_melee", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 350 ], [ "oxy_torch", 70 ] ] ], - "components": [ [ [ "steel_chunk", 2 ], [ "scrap", 6 ] ], [ [ "plastic_chunk", 2 ], [ "scrap", 2 ] ] ] + "using": [ [ "blacksmithing_standard", 2 ], [ "steel_tiny", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "plastic_chunk", 2 ], [ "scrap", 2 ] ] ] }, { "type": "recipe", @@ -2240,9 +2234,9 @@ "time": "1 h 30 m", "autolearn": true, "book_learn": [ [ "manual_knives", 3 ], [ "recipe_melee", 2 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 200 ], [ "oxy_torch", 40 ] ] ], - "components": [ [ [ "steel_lump", 1 ], [ "steel_chunk", 4 ], [ "scrap", 12 ] ] ] + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] }, { "type": "recipe", @@ -2275,9 +2269,10 @@ "difficulty": 9, "time": "7 h", "book_learn": [ [ "textbook_fireman", 8 ], [ "textbook_fabrication", 9 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "forge", 450 ], [ "oxy_torch", 90 ] ] ], - "components": [ [ [ "steel_lump", 4 ], [ "steel_chunk", 12 ], [ "scrap", 36 ] ], [ [ "2x4", 2 ], [ "stick", 4 ] ] ] + "using": [ [ "blacksmithing_standard", 16 ], [ "steel_standard", 4 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], + "components": [ [ [ "2x4", 2 ], [ "stick", 4 ] ] ] }, { "type": "recipe", @@ -2288,9 +2283,10 @@ "difficulty": 6, "time": "7 h 40 m", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 300 ], [ "oxy_torch", 60 ] ] ], - "components": [ [ [ "steel_lump", 6 ], [ "steel_chunk", 18 ] ], [ [ "2x4", 2 ], [ "stick", 4 ] ] ] + "using": [ [ "blacksmithing_standard", 24 ], [ "steel_standard", 6 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 2 ], [ "stick", 4 ] ] ] }, { "type": "recipe", @@ -2301,9 +2297,10 @@ "difficulty": 7, "time": "4 h 20 m", "book_learn": [ [ "manual_knives", 3 ], [ "recipe_melee", 5 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 350 ], [ "oxy_torch", 70 ] ] ], - "components": [ [ [ "steel_lump", 1 ], [ "steel_chunk", 4 ], [ "scrap", 12 ] ], [ [ "plastic_chunk", 1 ] ] ] + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "plastic_chunk", 1 ] ] ] }, { "type": "recipe", @@ -2398,13 +2395,10 @@ "difficulty": 7, "time": "6 h 40 m", "book_learn": [ [ "textbook_weapwest", 6 ], [ "scots_cookbook", 8 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 300 ], [ "oxy_torch", 60 ] ] ], - "components": [ - [ [ "steel_lump", 3 ], [ "steel_chunk", 12 ], [ "scrap", 36 ] ], - [ [ "2x4", 1 ], [ "stick", 2 ] ], - [ [ "fur", 1 ], [ "leather", 1 ] ] - ] + "using": [ [ "blacksmithing_standard", 12 ], [ "steel_standard", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ], [ [ "fur", 1 ], [ "leather", 1 ] ] ] }, { "type": "recipe", @@ -2415,13 +2409,10 @@ "difficulty": 8, "time": "8 h", "book_learn": [ [ "textbook_weapwest", 7 ], [ "scots_cookbook", 9 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 425 ], [ "oxy_torch", 85 ] ] ], - "components": [ - [ [ "steel_lump", 3 ], [ "steel_chunk", 12 ], [ "scrap", 36 ] ], - [ [ "2x4", 1 ], [ "stick", 2 ] ], - [ [ "fur", 1 ], [ "leather", 1 ] ] - ] + "using": [ [ "blacksmithing_standard", 12 ], [ "steel_standard", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ], [ [ "fur", 1 ], [ "leather", 1 ] ] ] }, { "type": "recipe", @@ -2432,13 +2423,10 @@ "difficulty": 8, "time": "7 h", "book_learn": [ [ "textbook_weapwest", 7 ], [ "scots_cookbook", 9 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 400 ], [ "oxy_torch", 80 ] ] ], - "components": [ - [ [ "steel_lump", 3 ], [ "steel_chunk", 12 ], [ "scrap", 36 ] ], - [ [ "2x4", 1 ], [ "stick", 2 ] ], - [ [ "fur", 1 ], [ "leather", 1 ] ] - ] + "using": [ [ "blacksmithing_standard", 12 ], [ "steel_standard", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ], [ [ "fur", 1 ], [ "leather", 1 ] ] ] }, { "type": "recipe", @@ -2449,13 +2437,10 @@ "difficulty": 8, "time": "8 h", "book_learn": [ [ "textbook_weapwest", 8 ], [ "recipe_melee", 7 ], [ "scots_cookbook", 9 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 400 ], [ "oxy_torch", 80 ] ] ], - "components": [ - [ [ "steel_lump", 3 ], [ "steel_chunk", 12 ], [ "scrap", 36 ] ], - [ [ "2x4", 2 ], [ "stick", 4 ] ], - [ [ "fur", 2 ], [ "leather", 2 ] ] - ] + "using": [ [ "blacksmithing_standard", 12 ], [ "steel_standard", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 2 ], [ "stick", 4 ] ], [ [ "fur", 2 ], [ "leather", 2 ] ] ] }, { "type": "recipe", @@ -2466,9 +2451,10 @@ "difficulty": 7, "time": "8 h", "book_learn": [ [ "textbook_weapwest", 8 ], [ "recipe_melee", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 350 ], [ "oxy_torch", 70 ] ] ], - "components": [ [ [ "steel_lump", 2 ], [ "steel_chunk", 8 ], [ "scrap", 24 ] ], [ [ "2x4", 1 ], [ "stick", 2 ] ] ] + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "scrap", 24 ] ], [ [ "2x4", 1 ], [ "stick", 2 ] ] ] }, { "type": "recipe", @@ -2479,12 +2465,108 @@ "difficulty": 9, "time": "7 h", "book_learn": [ [ "textbook_weapwest", 8 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 450 ], [ "oxy_torch", 90 ] ] ], + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ], [ [ "fur", 2 ], [ "leather", 2 ] ] ] + }, + { + "type": "recipe", + "result": "fencing_foil_sharpened", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_PIERCING", + "skill_used": "fabrication", + "time": "1 h 40 m", + "autolearn": true, + "tools": [ [ [ "rock", -1 ], [ "ceramic_shard", -1 ], [ "sharp_rock", -1 ] ] ], + "qualities": [ { "id": "HAMMER", "level": 1 } ], + "components": [ [ [ "fencing_foil", 1 ] ] ] + }, + { + "type": "recipe", + "result": "fencing_epee_sharpened", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_PIERCING", + "skill_used": "fabrication", + "time": "1 h 40 m", + "autolearn": true, + "qualities": [ { "id": "HAMMER", "level": 1 } ], + "tools": [ [ [ "rock", -1 ], [ "ceramic_shard", -1 ], [ "sharp_rock", -1 ] ] ], + "components": [ [ [ "fencing_epee", 1 ] ] ] + }, + { + "type": "recipe", + "result": "fencing_sabre_sharpened", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_PIERCING", + "skill_used": "fabrication", + "time": "1 h 40 m", + "autolearn": true, + "qualities": [ { "id": "HAMMER", "level": 1 } ], + "tools": [ [ [ "rock", -1 ], [ "ceramic_shard", -1 ], [ "sharp_rock", -1 ] ] ], + "components": [ [ [ "fencing_sabre", 1 ] ] ] + }, + { + "type": "recipe", + "result": "shock_foil", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_PIERCING", + "skill_used": "fabrication", + "skills_required": [ "electronics", 3 ], + "difficulty": 3, + "time": "15 m", + "reversible": true, + "book_learn": [ [ "textbook_electronics", 3 ], [ "advanced_electronics", 3 ], [ "recipe_melee", 4 ] ], + "using": [ [ "soldering_standard", 10 ] ], + "qualities": [ { "id": "SCREW", "level": 1 } ], "components": [ - [ [ "steel_lump", 2 ], [ "steel_chunk", 8 ], [ "scrap", 24 ] ], - [ [ "2x4", 1 ], [ "stick", 2 ] ], - [ [ "fur", 2 ], [ "leather", 2 ] ] + [ [ "fencing_foil_sharpened", 1 ] ], + [ [ "fur", 1 ], [ "leather", 1 ] ], + [ [ "duct_tape", 100 ], [ "superglue", 1 ] ], + [ [ "tazer", 1 ] ], + [ [ "cable", 10 ] ] + ] + }, + { + "type": "recipe", + "result": "shock_epee", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_PIERCING", + "skill_used": "fabrication", + "skills_required": [ "electronics", 3 ], + "difficulty": 3, + "time": "15 m", + "reversible": true, + "book_learn": [ [ "textbook_electronics", 3 ], [ "advanced_electronics", 3 ], [ "recipe_melee", 4 ] ], + "using": [ [ "soldering_standard", 10 ] ], + "qualities": [ { "id": "SCREW", "level": 1 } ], + "components": [ + [ [ "fencing_epee_sharpened", 1 ] ], + [ [ "fur", 1 ], [ "leather", 1 ] ], + [ [ "duct_tape", 100 ], [ "superglue", 1 ] ], + [ [ "tazer", 1 ] ], + [ [ "cable", 10 ] ] + ] + }, + { + "type": "recipe", + "result": "shock_sabre", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_PIERCING", + "skill_used": "fabrication", + "skills_required": [ "electronics", 3 ], + "difficulty": 3, + "time": "15 m", + "reversible": true, + "book_learn": [ [ "textbook_electronics", 3 ], [ "advanced_electronics", 3 ], [ "recipe_melee", 4 ] ], + "using": [ [ "soldering_standard", 10 ] ], + "qualities": [ { "id": "SCREW", "level": 1 } ], + "components": [ + [ [ "fencing_sabre_sharpened", 1 ] ], + [ [ "fur", 1 ], [ "leather", 1 ] ], + [ [ "duct_tape", 100 ], [ "superglue", 1 ] ], + [ [ "tazer", 1 ] ], + [ [ "cable", 10 ] ] ] }, { @@ -2496,14 +2578,10 @@ "difficulty": 8, "time": "8 h", "book_learn": [ [ "textbook_armschina", 7 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 425 ], [ "oxy_torch", 85 ] ] ], - "components": [ - [ [ "filament", 100, "LIST" ] ], - [ [ "steel_lump", 3 ], [ "steel_chunk", 12 ], [ "scrap", 36 ] ], - [ [ "2x4", 1 ], [ "stick", 2 ] ], - [ [ "fur", 1 ], [ "leather", 1 ] ] - ] + "using": [ [ "blacksmithing_standard", 12 ], [ "steel_standard", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "filament", 100, "LIST" ] ], [ [ "2x4", 1 ], [ "stick", 2 ] ], [ [ "fur", 1 ], [ "leather", 1 ] ] ] }, { "type": "recipe", @@ -2514,13 +2592,10 @@ "difficulty": 8, "time": "7 h", "book_learn": [ [ "textbook_armschina", 7 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 450 ], [ "oxy_torch", 90 ] ] ], - "components": [ - [ [ "steel_lump", 3 ], [ "steel_chunk", 12 ], [ "scrap", 36 ] ], - [ [ "2x4", 1 ], [ "stick", 2 ] ], - [ [ "fur", 1 ], [ "leather", 1 ] ] - ] + "using": [ [ "blacksmithing_standard", 12 ], [ "steel_standard", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ], [ [ "fur", 1 ], [ "leather", 1 ] ] ] }, { "type": "recipe", @@ -2531,13 +2606,10 @@ "difficulty": 8, "time": "8 h 10 m", "book_learn": [ [ "textbook_weapwest", 7 ], [ "scots_cookbook", 9 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 450 ], [ "oxy_torch", 90 ] ] ], - "components": [ - [ [ "steel_lump", 4 ], [ "steel_chunk", 16 ], [ "scrap", 48 ] ], - [ [ "2x4", 1 ], [ "stick", 2 ] ], - [ [ "fur", 1 ], [ "leather", 1 ] ] - ] + "using": [ [ "blacksmithing_standard", 16 ], [ "steel_standard", 4 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ], [ [ "fur", 1 ], [ "leather", 1 ] ] ] }, { "type": "recipe", @@ -2548,13 +2620,10 @@ "difficulty": 8, "time": "7 h", "book_learn": [ [ "textbook_weapwest", 7 ], [ "scots_cookbook", 9 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 450 ], [ "oxy_torch", 90 ] ] ], - "components": [ - [ [ "steel_lump", 4 ], [ "steel_chunk", 16 ], [ "scrap", 48 ] ], - [ [ "2x4", 1 ], [ "stick", 2 ] ], - [ [ "fur", 1 ], [ "leather", 1 ] ] - ] + "using": [ [ "blacksmithing_standard", 16 ], [ "steel_standard", 4 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ], [ [ "fur", 1 ], [ "leather", 1 ] ] ] }, { "type": "recipe", @@ -2565,13 +2634,10 @@ "difficulty": 9, "time": "8 h", "book_learn": [ [ "textbook_weapwest", 8 ], [ "scots_cookbook", 10 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 450 ], [ "oxy_torch", 90 ] ] ], - "components": [ - [ [ "steel_lump", 4 ], [ "steel_chunk", 16 ], [ "scrap", 48 ] ], - [ [ "2x4", 2 ], [ "stick", 4 ] ], - [ [ "fur", 2 ], [ "leather", 2 ] ] - ] + "using": [ [ "blacksmithing_standard", 16 ], [ "steel_standard", 4 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 2 ], [ "stick", 4 ] ], [ [ "fur", 2 ], [ "leather", 2 ] ] ] }, { "type": "recipe", @@ -2587,7 +2653,7 @@ "//": "Bokken is a single piece of wood, and the heavy stick just isn't large enough.", "components": [ [ [ "log", 1 ] ], - [ [ "tallow", 2 ], [ "tallow_tainted", 2 ], [ "cooking_oil", 16 ], [ "cooking_oil2", 16 ], [ "lamp_oil", 250 ] ], + [ [ "any_tallow", 2, "LIST" ], [ "cooking_oil", 16 ], [ "cooking_oil2", 16 ], [ "lamp_oil", 250 ] ], [ [ "fur", 2 ], [ "leather", 2 ] ], [ [ "duct_tape", 20 ], [ "filament", 20, "LIST" ] ] ] @@ -2601,13 +2667,10 @@ "difficulty": 7, "time": "6 h 20 m", "book_learn": [ [ "textbook_weapeast", 6 ], [ "manual_knives", 7 ], [ "recipe_melee", 8 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 310 ], [ "oxy_torch", 70 ] ] ], - "components": [ - [ [ "steel_lump", 1 ], [ "steel_chunk", 5 ], [ "scrap", 14 ] ], - [ [ "2x4", 1 ], [ "stick", 1 ] ], - [ [ "fur", 2 ], [ "leather", 2 ] ] - ] + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 1 ] ], [ [ "fur", 2 ], [ "leather", 2 ] ] ] }, { "type": "recipe", @@ -2618,13 +2681,10 @@ "difficulty": 8, "time": "7 h", "book_learn": [ [ "textbook_weapeast", 7 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 400 ], [ "oxy_torch", 80 ] ] ], - "components": [ - [ [ "steel_lump", 2 ], [ "steel_chunk", 6 ], [ "scrap", 18 ] ], - [ [ "2x4", 1 ], [ "stick", 2 ] ], - [ [ "fur", 2 ], [ "leather", 2 ] ] - ] + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ], [ [ "fur", 2 ], [ "leather", 2 ] ] ] }, { "type": "recipe", @@ -2635,13 +2695,10 @@ "difficulty": 9, "time": "8 h", "book_learn": [ [ "textbook_weapeast", 8 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 450 ], [ "oxy_torch", 90 ] ] ], - "components": [ - [ [ "steel_lump", 2 ], [ "steel_chunk", 8 ], [ "scrap", 24 ] ], - [ [ "2x4", 2 ], [ "stick", 4 ] ], - [ [ "fur", 2 ], [ "leather", 2 ] ] - ] + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 2 ], [ "stick", 4 ] ], [ [ "fur", 2 ], [ "leather", 2 ] ] ] }, { "type": "recipe", @@ -2652,13 +2709,10 @@ "difficulty": 10, "time": "9 h 40 m", "book_learn": [ [ "textbook_weapeast", 8 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 500 ], [ "oxy_torch", 100 ] ] ], - "components": [ - [ [ "steel_lump", 5 ], [ "steel_chunk", 20 ], [ "scrap", 60 ] ], - [ [ "2x4", 3 ], [ "stick", 6 ] ], - [ [ "fur", 3 ], [ "leather", 3 ] ] - ] + "using": [ [ "blacksmithing_standard", 20 ], [ "steel_standard", 5 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 3 ], [ "stick", 6 ] ], [ [ "fur", 3 ], [ "leather", 3 ] ] ] }, { "type": "recipe", @@ -2669,13 +2723,9 @@ "difficulty": 4, "time": "3 h", "book_learn": [ [ "textbook_weapwest", 3 ], [ "recipe_melee", 4 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "forge", 200 ], [ "oxy_torch", 40 ] ] ], - "components": [ - [ [ "steel_lump", 3 ], [ "steel_chunk", 12 ], [ "scrap", 36 ] ], - [ [ "2x4", 3 ], [ "stick", 6 ] ], - [ [ "fur", 3 ], [ "leather", 3 ] ] - ] + "using": [ [ "blacksmithing_standard", 12 ], [ "steel_standard", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "components": [ [ [ "2x4", 3 ], [ "stick", 6 ] ], [ [ "fur", 3 ], [ "leather", 3 ] ] ] }, { "type": "recipe", @@ -2686,13 +2736,10 @@ "difficulty": 6, "time": "4 h", "book_learn": [ [ "textbook_weapwest", 5 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 300 ], [ "oxy_torch", 60 ] ] ], - "components": [ - [ [ "steel_lump", 4 ], [ "steel_chunk", 16 ], [ "scrap", 48 ] ], - [ [ "2x4", 3 ], [ "stick", 6 ] ], - [ [ "fur", 3 ], [ "leather", 3 ] ] - ] + "using": [ [ "blacksmithing_standard", 16 ], [ "steel_standard", 4 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 3 ], [ "stick", 6 ] ], [ [ "fur", 3 ], [ "leather", 3 ] ] ] }, { "type": "recipe", @@ -2703,13 +2750,10 @@ "difficulty": 7, "time": "6 h", "book_learn": [ [ "textbook_weapwest", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 350 ], [ "oxy_torch", 70 ] ] ], - "components": [ - [ [ "steel_lump", 2 ], [ "steel_chunk", 8 ], [ "scrap", 24 ] ], - [ [ "stick_long", 1 ] ], - [ [ "fur", 2 ], [ "leather", 2 ] ] - ] + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "stick_long", 1 ] ], [ [ "fur", 2 ], [ "leather", 2 ] ] ] }, { "type": "recipe", @@ -2733,9 +2777,8 @@ "time": "24 m", "autolearn": true, "book_learn": [ [ "textbook_weapwest", 2 ], [ "recipe_melee", 3 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "forge", 150 ], [ "oxy_torch", 30 ] ] ], - "components": [ [ [ "q_staff", 1 ] ], [ [ "scrap", 6 ] ] ] + "using": [ [ "blacksmithing_standard", 2 ], [ "steel_tiny", 2 ] ], + "components": [ [ [ "q_staff", 1 ] ] ] }, { "type": "recipe", @@ -2746,9 +2789,9 @@ "difficulty": 5, "time": "8 h", "book_learn": [ [ "textbook_weapeast", 9 ], [ "recipe_melee", 4 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 250 ], [ "oxy_torch", 50 ] ] ], - "components": [ [ [ "steel_chunk", 3 ], [ "scrap", 9 ] ] ] + "using": [ [ "blacksmithing_standard", 3 ], [ "steel_tiny", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] }, { "type": "recipe", @@ -2868,9 +2911,9 @@ "difficulty": 3, "time": "1 h", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 50 ], [ "oxy_torch", 10 ] ] ], - "components": [ [ [ "steel_chunk", 2 ], [ "scrap", 6 ] ] ] + "using": [ [ "blacksmithing_standard", 2 ], [ "steel_tiny", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] }, { "type": "recipe", @@ -2881,9 +2924,9 @@ "difficulty": 6, "time": "3 h", "autolearn": true, - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], - "components": [ [ [ "steel_lump", 1 ], [ "steel_chunk", 4 ], [ "scrap", 12 ] ] ] + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] }, { "type": "recipe", @@ -2894,14 +2937,10 @@ "difficulty": 7, "time": "7 h 40 m", "book_learn": [ [ "textbook_armschina", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 450 ], [ "oxy_torch", 90 ] ] ], - "components": [ - [ [ "filament", 100, "LIST" ] ], - [ [ "steel_lump", 1 ], [ "steel_chunk", 4 ], [ "scrap", 12 ] ], - [ [ "stick_long", 1 ] ], - [ [ "fur", 2 ], [ "leather", 2 ] ] - ] + "using": [ [ "blacksmithing_standard", 4 ], [ "steel_standard", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "filament", 100, "LIST" ] ], [ [ "stick_long", 1 ] ], [ [ "fur", 2 ], [ "leather", 2 ] ] ] }, { "type": "recipe", @@ -2912,13 +2951,10 @@ "difficulty": 7, "time": "6 h", "book_learn": [ [ "textbook_weapwest", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 350 ], [ "oxy_torch", 70 ] ] ], - "components": [ - [ [ "steel_lump", 3 ], [ "steel_chunk", 12 ], [ "scrap", 36 ] ], - [ [ "stick_long", 1 ] ], - [ [ "fur", 2 ], [ "leather", 2 ] ] - ] + "using": [ [ "blacksmithing_standard", 12 ], [ "steel_standard", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "stick_long", 1 ] ], [ [ "fur", 2 ], [ "leather", 2 ] ] ] }, { "type": "recipe", @@ -2929,13 +2965,10 @@ "difficulty": 7, "time": "7 h 40 m", "book_learn": [ [ "textbook_weapwest", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 450 ], [ "oxy_torch", 90 ] ] ], - "components": [ - [ [ "steel_lump", 2 ], [ "steel_chunk", 8 ], [ "scrap", 24 ] ], - [ [ "stick_long", 1 ] ], - [ [ "fur", 2 ], [ "leather", 2 ] ] - ] + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "stick_long", 1 ] ], [ [ "fur", 2 ], [ "leather", 2 ] ] ] }, { "type": "recipe", @@ -2946,13 +2979,10 @@ "difficulty": 7, "time": "7 h 40 m", "book_learn": [ [ "textbook_weapeast", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 450 ], [ "oxy_torch", 90 ] ] ], - "components": [ - [ [ "steel_lump", 2 ], [ "steel_chunk", 8 ], [ "scrap", 24 ] ], - [ [ "stick_long", 1 ] ], - [ [ "fur", 2 ], [ "leather", 2 ] ] - ] + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "stick_long", 1 ] ], [ [ "fur", 2 ], [ "leather", 2 ] ] ] }, { "type": "recipe", @@ -2964,8 +2994,9 @@ "difficulty": 7, "time": "46 m", "book_learn": [ [ "textbook_weapeast", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], + "using": [ [ "blacksmithing_standard", 5 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], "components": [ [ [ "katana", 1 ], [ "wakizashi", 1 ] ], [ [ "stick_long", 1 ] ] ] }, { @@ -2978,13 +3009,9 @@ "skills_required": [ "melee", 5 ], "time": "5 m", "autolearn": true, - "qualities": [ - { "id": "ANVIL", "level": 3 }, - { "id": "HAMMER", "level": 1 }, - { "id": "SAW_M", "level": 1 }, - { "id": "CHISEL", "level": 3 } - ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], + "using": [ [ "blacksmithing_standard", 5 ] ], + "qualities": [ { "id": "SAW_M", "level": 1 }, { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], "components": [ [ [ "blade", 1 ] ], [ [ "spike", 1 ] ], [ [ "pipe", 2 ] ], [ [ "duct_tape", 100 ] ] ] }, { @@ -3038,27 +3065,25 @@ "subcategory": "CSC_WEAPON_RANGED", "skill_used": "fabrication", "skills_required": [ [ "mechanics", 10 ], [ "electronics", 9 ], [ "computer", 2 ] ], - "using": [ [ "soldering_standard", 20 ], [ "welding_standard", 50 ], [ "forging_standard", 4 ], [ "surface_heat", 30 ] ], + "using": [ + [ "soldering_standard", 20 ], + [ "welding_standard", 50 ], + [ "blacksmithing_standard", 12 ], + [ "surface_heat", 30 ], + [ "steel_standard", 3 ] + ], "difficulty": 10, "time": "12 h", "autolearn": true, "qualities": [ - { "id": "ANVIL", "level": 3 }, { "id": "SAW_M", "level": 1 }, { "id": "SAW_M_FINE", "level": 1 }, { "id": "SCREW_FINE", "level": 1 }, { "id": "WRENCH_FINE", "level": 1 }, - { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ - [ [ "tongs", -1 ] ], - [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], - [ [ "swage", -1 ] ], - [ [ "mold_plastic", -1 ] ] - ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "swage", -1 ] ], [ [ "mold_plastic", -1 ] ] ], "components": [ - [ [ "steel_lump", 6 ], [ "steel_chunk", 24 ], [ "scrap", 72 ] ], [ [ "plastic_chunk", 20 ] ], [ [ "sheet_metal", 1 ] ], [ [ "cable", 240 ] ], @@ -3123,13 +3148,10 @@ "difficulty": 7, "time": "7 h", "book_learn": [ [ "textbook_weapwest", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 350 ], [ "oxy_torch", 70 ] ] ], - "components": [ - [ [ "steel_lump", 3 ], [ "steel_chunk", 12 ], [ "scrap", 36 ] ], - [ [ "stick_long", 1 ] ], - [ [ "fur", 2 ], [ "leather", 2 ] ] - ] + "using": [ [ "blacksmithing_standard", 12 ], [ "steel_standard", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "stick_long", 1 ] ], [ [ "fur", 2 ], [ "leather", 2 ] ] ] }, { "type": "recipe", @@ -3140,14 +3162,11 @@ "difficulty": 5, "time": "13 h 20 m", "book_learn": [ [ "textbook_weapeast", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], + "using": [ [ "blacksmithing_standard", 20 ], [ "steel_standard", 5 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], "//": "basically 2.5x the resources of a single machete to cover the fact that it's two weapons, each with a hand guard", - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 500 ], [ "oxy_torch", 100 ] ] ], - "components": [ - [ [ "steel_lump", 5 ], [ "steel_chunk", 20 ], [ "scrap", 60 ] ], - [ [ "2x4", 2 ], [ "stick", 4 ] ], - [ [ "fur", 4 ], [ "leather", 4 ] ] - ] + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 2 ], [ "stick", 4 ] ], [ [ "fur", 4 ], [ "leather", 4 ] ] ] }, { "type": "recipe", @@ -3163,7 +3182,7 @@ "//": "a long pole is a single piece of wood, and the heavy stick just isn't large enough.", "components": [ [ [ "log", 1 ] ], - [ [ "tallow", 4 ], [ "tallow_tainted", 4 ], [ "cooking_oil", 32 ], [ "cooking_oil2", 32 ], [ "lamp_oil", 500 ] ] + [ [ "any_tallow", 4, "LIST" ], [ "cooking_oil", 32 ], [ "cooking_oil2", 32 ], [ "lamp_oil", 500 ] ] ] }, { @@ -3175,12 +3194,9 @@ "difficulty": 7, "time": "6 h", "book_learn": [ [ "textbook_weapwest", 6 ] ], - "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ [ [ "tongs", -1 ] ], [ [ "swage", -1 ] ], [ [ "forge", 350 ], [ "oxy_torch", 70 ] ] ], - "components": [ - [ [ "steel_lump", 3 ], [ "steel_chunk", 12 ], [ "scrap", 36 ] ], - [ [ "stick_long", 1 ] ], - [ [ "fur", 2 ], [ "leather", 2 ] ] - ] + "using": [ [ "blacksmithing_standard", 12 ], [ "steel_standard", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "stick_long", 1 ] ], [ [ "fur", 2 ], [ "leather", 2 ] ] ] } ] diff --git a/data/json/recipes/weapon/bashing.json b/data/json/recipes/weapon/bashing.json index 36ce534ddbb43..171b9bc73a87b 100644 --- a/data/json/recipes/weapon/bashing.json +++ b/data/json/recipes/weapon/bashing.json @@ -1,4 +1,17 @@ [ + { + "result": "hollow_cane", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_BASHING", + "skill_used": "fabrication", + "difficulty": 4, + "time": "40 m", + "autolearn": true, + "using": [ [ "adhesive", 1 ] ], + "qualities": [ { "id": "HAMMER", "level": 1 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "2x4", 1 ] ], [ [ "nail", 5 ] ] ] + }, { "result": "battletorch", "type": "recipe", @@ -33,7 +46,7 @@ "autolearn": true, "qualities": [ { "id": "SAW_W", "level": 1 }, { "id": "CUT", "level": 1 } ], "tools": [ [ [ "char_smoker", 100 ] ] ], - "components": [ [ [ "log", 1 ] ], [ [ "butter", 30 ], [ "lard", 4 ] ] ] + "components": [ [ [ "log", 1 ] ], [ [ "butter", 30 ], [ "lard", 4 ], [ "mutant_lard", 4 ] ] ] }, { "type": "recipe", @@ -45,7 +58,8 @@ "time": "30 m", "autolearn": true, "qualities": [ { "id": "DRILL", "level": 1 } ], - "tools": [ [ [ "forge", 100 ], [ "oxy_torch", 20 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], + "using": [ [ "forging_standard", 5 ] ], + "tools": [ [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ [ [ "shillelagh", 1 ] ], [ [ "weights", 15, "LIST" ] ] ] }, { diff --git a/data/json/recipes/weapon/explosive.json b/data/json/recipes/weapon/explosive.json index 7926542157584..5e6f8324ed388 100644 --- a/data/json/recipes/weapon/explosive.json +++ b/data/json/recipes/weapon/explosive.json @@ -31,9 +31,8 @@ [ [ "ammonia", 1 ], [ "chem_ethanol", 250 ], [ "denat_alcohol", 250 ] ], [ [ "soap", 3 ], - [ "tallow", 2 ], + [ "edible_tallow_lard", 2, "LIST" ], [ "tallow_tainted", 2 ], - [ "lard", 2 ], [ "cooking_oil", 16 ], [ "cooking_oil2", 16 ] ] @@ -163,7 +162,7 @@ "components": [ [ [ "bleach", 2 ], [ "oxy_powder", 200 ] ], [ [ "fungicide", 50 ] ], - [ [ "chem_sulphur", 10 ] ], + [ [ "chem_sulphur", 150 ] ], [ [ "canister_empty", 1 ], [ "can_food_unsealed", 1 ], [ "can_drink_unsealed", 1 ] ], [ [ "superglue", 1 ] ] ] diff --git a/data/json/recipes/weapon/mods.json b/data/json/recipes/weapon/mods.json index 1df8d22e89b80..2eb52a39bd723 100644 --- a/data/json/recipes/weapon/mods.json +++ b/data/json/recipes/weapon/mods.json @@ -1,4 +1,186 @@ [ + { + "result": "bipod_mod", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_MODS", + "skill_used": "fabrication", + "difficulty": 4, + "skills_required": [ [ "gun", 2 ] ], + "time": "30 m", + "autolearn": true, + "tools": [ [ [ "large_repairkit", 25 ], [ "small_repairkit", 45 ] ] ], + "components": [ [ [ "bipod", 1 ] ], [ [ "scrap", 1 ] ], [ [ "plastic_chunk", 1 ] ] ] + }, + { + "result": "grip_mod", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_MODS", + "skill_used": "fabrication", + "difficulty": 4, + "skills_required": [ [ "gun", 2 ] ], + "time": "30 m", + "autolearn": true, + "tools": [ [ [ "large_repairkit", 25 ], [ "small_repairkit", 45 ] ] ], + "components": [ [ [ "grip", 1 ] ], [ [ "scrap", 1 ] ], [ [ "plastic_chunk", 1 ] ] ] + }, + { + "result": "m203_mod", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_MODS", + "skill_used": "fabrication", + "difficulty": 7, + "skills_required": [ [ "gun", 2 ], [ "launcher", 1 ] ], + "time": "30 m", + "autolearn": true, + "tools": [ [ [ "large_repairkit", 50 ], [ "small_repairkit", 100 ] ] ], + "components": [ [ [ "m203", 1 ] ], [ [ "scrap", 3 ] ], [ [ "plastic_chunk", 1 ] ] ] + }, + { + "result": "m320_mod_mod", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_MODS", + "skill_used": "fabrication", + "difficulty": 7, + "skills_required": [ [ "gun", 2 ], [ "launcher", 1 ] ], + "time": "90 m", + "autolearn": true, + "tools": [ [ [ "large_repairkit", 50 ], [ "small_repairkit", 100 ] ] ], + "components": [ [ [ "m320_mod", 1 ] ], [ [ "scrap", 3 ] ], [ [ "plastic_chunk", 1 ] ] ] + }, + { + "result": "masterkey_mod", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_MODS", + "skill_used": "fabrication", + "difficulty": 7, + "skills_required": [ [ "gun", 2 ], [ "shotgun", 1 ] ], + "time": "90 m", + "autolearn": true, + "tools": [ [ [ "large_repairkit", 50 ], [ "small_repairkit", 100 ] ] ], + "components": [ [ [ "masterkey", 1 ] ], [ [ "scrap", 3 ] ], [ [ "plastic_chunk", 1 ] ] ] + }, + { + "result": "rm121aux_mod", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_MODS", + "skill_used": "fabrication", + "difficulty": 7, + "skills_required": [ [ "gun", 2 ], [ "shotgun", 2 ] ], + "time": "90 m", + "autolearn": true, + "tools": [ [ [ "large_repairkit", 50 ], [ "small_repairkit", 100 ] ] ], + "components": [ [ [ "rm121aux", 1 ] ], [ [ "scrap", 3 ] ], [ [ "plastic_chunk", 1 ] ] ] + }, + { + "result": "u_shotgun_mod", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_MODS", + "skill_used": "fabrication", + "difficulty": 7, + "skills_required": [ [ "gun", 2 ], [ "shotgun", 1 ] ], + "time": "90 m", + "autolearn": true, + "tools": [ [ [ "large_repairkit", 50 ], [ "small_repairkit", 100 ] ] ], + "components": [ [ [ "u_shotgun", 1 ] ], [ [ "scrap", 3 ] ], [ [ "plastic_chunk", 1 ] ] ] + }, + { + "result": "knife_combat_mod", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_MODS", + "skill_used": "fabrication", + "difficulty": 4, + "skills_required": [ [ "gun", 2 ], [ "melee", 1 ] ], + "time": "30 m", + "autolearn": true, + "tools": [ [ [ "large_repairkit", 25 ], [ "small_repairkit", 45 ] ] ], + "components": [ [ [ "knife_combat", 1 ] ], [ [ "scrap", 1 ] ], [ [ "plastic_chunk", 1 ] ] ] + }, + { + "result": "sword_bayonet_mod", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_MODS", + "skill_used": "fabrication", + "difficulty": 4, + "skills_required": [ [ "gun", 2 ], [ "melee", 2 ] ], + "time": "30 m", + "autolearn": true, + "tools": [ [ [ "large_repairkit", 25 ], [ "small_repairkit", 45 ] ] ], + "components": [ [ [ "sword_bayonet", 1 ] ], [ [ "scrap", 1 ] ], [ [ "plastic_chunk", 1 ] ] ] + }, + { + "result": "offset_sight_rail_mod", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_MODS", + "skill_used": "fabrication", + "difficulty": 4, + "skills_required": [ [ "gun", 4 ] ], + "time": "30 m", + "autolearn": true, + "tools": [ [ [ "large_repairkit", 25 ], [ "small_repairkit", 45 ] ] ], + "components": [ [ [ "offset_sight_rail", 1 ] ], [ [ "scrap", 1 ] ], [ [ "plastic_chunk", 1 ] ] ] + }, + { + "result": "stabilizer_mod", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_MODS", + "skill_used": "fabrication", + "difficulty": 4, + "skills_required": [ [ "gun", 6 ] ], + "time": "30 m", + "autolearn": true, + "tools": [ [ [ "large_repairkit", 25 ], [ "small_repairkit", 45 ] ] ], + "components": [ [ [ "stabilizer", 1 ] ], [ [ "scrap", 1 ] ], [ [ "plastic_chunk", 1 ] ] ] + }, + { + "result": "muzzle_brake_mod", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_MODS", + "skill_used": "fabrication", + "difficulty": 4, + "skills_required": [ [ "gun", 2 ] ], + "time": "30 m", + "autolearn": true, + "tools": [ [ [ "large_repairkit", 25 ], [ "small_repairkit", 45 ] ] ], + "components": [ [ [ "muzzle_brake", 1 ] ], [ [ "scrap", 2 ] ] ] + }, + { + "result": "rifle_scope_mod", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_MODS", + "skill_used": "fabrication", + "difficulty": 4, + "skills_required": [ [ "gun", 4 ] ], + "time": "30 m", + "autolearn": true, + "tools": [ [ [ "large_repairkit", 25 ], [ "small_repairkit", 45 ] ] ], + "components": [ [ [ "rifle_scope", 1 ] ], [ [ "scrap", 1 ] ], [ [ "plastic_chunk", 1 ] ] ] + }, + { + "result": "acog_scope_mod", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_MODS", + "skill_used": "fabrication", + "difficulty": 4, + "skills_required": [ [ "gun", 4 ] ], + "time": "30 m", + "autolearn": true, + "tools": [ [ [ "large_repairkit", 25 ], [ "small_repairkit", 45 ] ] ], + "components": [ [ [ "acog_scope", 1 ] ], [ [ "scrap", 1 ] ], [ [ "plastic_chunk", 1 ] ] ] + }, { "result": "improve_sights", "type": "recipe", @@ -51,6 +233,19 @@ "tools": [ [ [ "large_repairkit", 10 ], [ "small_repairkit", 30 ] ] ], "components": [ [ [ "scrap", 1 ] ], [ [ "plastic_chunk", 1 ] ] ] }, + { + "result": "offset_sights_mod", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_MODS", + "skill_used": "fabrication", + "difficulty": 4, + "skills_required": [ [ "gun", 2 ], [ "rifle", 1 ] ], + "time": "30 m", + "autolearn": true, + "tools": [ [ [ "large_repairkit", 25 ], [ "small_repairkit", 45 ] ] ], + "components": [ [ [ "offset_sights", 1 ] ], [ [ "scrap", 1 ] ], [ [ "plastic_chunk", 1 ] ] ] + }, { "result": "sights_mount", "type": "recipe", diff --git a/data/json/recipes/weapon/piercing.json b/data/json/recipes/weapon/piercing.json index abf165f1b68f0..c95f8c38673fd 100644 --- a/data/json/recipes/weapon/piercing.json +++ b/data/json/recipes/weapon/piercing.json @@ -1,4 +1,104 @@ [ + { + "result": "fencing_epee_sharpened", + "id_suffix": "from_scratch", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_PIERCING", + "skill_used": "fabrication", + "difficulty": 7, + "time": "6 h", + "book_learn": [ [ "textbook_weapwest", 6 ] ], + "using": [ [ "blacksmithing_standard", 3 ], [ "steel_tiny", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ] ] + }, + { + "result": "fencing_foil_sharpened", + "id_suffix": "from_scratch", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_PIERCING", + "skill_used": "fabrication", + "difficulty": 7, + "time": "6 h", + "book_learn": [ [ "textbook_weapwest", 6 ] ], + "using": [ [ "blacksmithing_standard", 2 ], [ "steel_tiny", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ] ] + }, + { + "result": "fencing_sabre_sharpened", + "id_suffix": "from_scratch", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_PIERCING", + "skill_used": "fabrication", + "difficulty": 7, + "time": "6 h", + "book_learn": [ [ "textbook_weapwest", 6 ] ], + "using": [ [ "blacksmithing_standard", 1 ], [ "steel_tiny", 1 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ], [ [ "sheet_metal_small", 1 ] ] ] + }, + { + "result": "kirpan", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_PIERCING", + "skill_used": "fabrication", + "difficulty": 5, + "time": "3 h", + "book_learn": [ [ "textbook_weapeast", 5 ] ], + "using": [ [ "blacksmithing_standard", 2 ], [ "steel_tiny", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ] + }, + { + "result": "kris", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_PIERCING", + "skill_used": "fabrication", + "difficulty": 9, + "time": "10 h", + "book_learn": [ [ "textbook_weapeast", 9 ] ], + "using": [ [ "blacksmithing_standard", 2 ], [ "steel_tiny", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ] ] + }, + { + "result": "pitchfork", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_PIERCING", + "skill_used": "fabrication", + "difficulty": 5, + "time": "3 h", + "autolearn": true, + "using": [ [ "blacksmithing_standard", 2 ], [ "steel_tiny", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "stick_long", 1 ] ] ] + }, + { + "result": "sword_cane", + "type": "recipe", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_PIERCING", + "skill_used": "fabrication", + "difficulty": 8, + "time": "8 h", + "book_learn": [ [ "textbook_weapwest", 8 ] ], + "using": [ [ "blacksmithing_standard", 3 ], [ "steel_tiny", 3 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ] ], + "components": [ [ [ "2x4", 1 ], [ "stick", 2 ] ] ] + }, { "result": "spear_steel", "type": "recipe", diff --git a/data/json/recipes/weapon/ranged.json b/data/json/recipes/weapon/ranged.json index 48157a1d643e3..882e878e47d3d 100644 --- a/data/json/recipes/weapon/ranged.json +++ b/data/json/recipes/weapon/ranged.json @@ -14,6 +14,19 @@ "using": [ [ "welding_standard", 40 ] ], "components": [ [ [ "pipe", 2 ] ], [ [ "hose", 2 ] ], [ [ "steel_lump", 1 ], [ "steel_chunk", 4 ], [ "scrap", 12 ] ] ] }, + { + "type": "recipe", + "result": "staff_sling", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_RANGED", + "skill_used": "fabrication", + "difficulty": 3, + "skills_required": [ "throw", 1 ], + "time": "1 h", + "autolearn": true, + "qualities": [ { "id": "HAMMER", "level": 3 }, { "id": "SAW_W", "level": 1 } ], + "components": [ [ [ "stick_long", 1 ] ], [ [ "sling", 1 ] ], [ [ "nail", 1 ] ] ] + }, { "result": "nailrifle", "type": "recipe", diff --git a/data/json/regional_map_settings.json b/data/json/regional_map_settings.json index 4ae57514ce2c2..2a9430e9f0f93 100644 --- a/data/json/regional_map_settings.json +++ b/data/json/regional_map_settings.json @@ -592,6 +592,7 @@ "house_w_3": 40, "house_w_4": 40, "house_w_5": 40, + "house_w_6": 40, "emptyresidentiallot": 20, "apartments_con_new": 10, "apartments_mod_new": 10, @@ -604,13 +605,13 @@ "basements": { "basement": 1000, "basement_hidden_lab_stairs": 25, "basement_bionic": 50 }, "parks": { "park": 400, - "pool": 100, - "pool_1": 50, - "pool_2": 50, - "pool_3": 50, - "pool_4": 50, - "pool_5": 50, - "pool_6": 50, + "pool": 20, + "pool_1": 20, + "pool_2": 20, + "pool_3": 20, + "pool_4": 20, + "pool_5": 20, + "pool_6": 20, "skate_park": 100, "small_wooded_trail": 300, "pavilion": 100, @@ -796,7 +797,9 @@ "s_petstore_1": 100, "s_petstore_2": 100, "megastore": 150, - "hotel": 75, + "hotel_1": 75, + "hotel_2": 75, + "hotel_3": 75, "hospital": 175, "public_works": 200, "office_tower_2": 150, @@ -825,7 +828,7 @@ }, "weather": { "base_temperature": 6.5, - "base_humidity": 66.0, + "base_humidity": 70.0, "base_pressure": 1015.0, "base_acid": 0.0, "base_wind": 5.7, diff --git a/data/json/requirements/ammo.json b/data/json/requirements/ammo.json index 83af3a9fcf6ae..d0bb994e9bf3f 100644 --- a/data/json/requirements/ammo.json +++ b/data/json/requirements/ammo.json @@ -22,6 +22,12 @@ "//": "Components required for 380 ammo", "components": [ [ [ "380_casing", 1 ] ], [ [ "smpistol_primer", 1 ] ] ] }, + { + "id": "ammo_57", + "type": "requirement", + "//": "Components required for 57 ammo", + "components": [ [ [ "57mm_casing", 1 ] ], [ [ "smpistol_primer", 1 ] ] ] + }, { "id": "ammo_shot", "type": "requirement", @@ -34,6 +40,12 @@ "//": "Components required for .357 Magnum ammo", "components": [ [ [ "357mag_casing", 1 ] ], [ [ "lgpistol_primer", 1 ] ] ] }, + { + "id": "ammo_357sig", + "type": "requirement", + "//": "Components required for .357 SIG ammo", + "components": [ [ [ "357sig_casing", 1 ] ], [ [ "smpistol_primer", 1 ] ] ] + }, { "id": "ammo_10mm", "type": "requirement", diff --git a/data/json/requirements/cooking_components.json b/data/json/requirements/cooking_components.json index 8c2f030c30c0a..c3e241c96bd9f 100644 --- a/data/json/requirements/cooking_components.json +++ b/data/json/requirements/cooking_components.json @@ -101,8 +101,23 @@ { "id": "meat_red", "type": "requirement", - "//": "Anything you might consider raw 'red' meat. About 300-400kcal of meat.", - "components": [ [ [ "meat", 1 ], [ "meat_scrap", 10 ], [ "rehydrated_meat", 1 ], [ "meat_canned", 1 ] ] ] + "//": "Anything you might consider raw 'red' meat. About 250mL of meat.", + "components": [ + [ + [ "meat", 1 ], + [ "mutant_meat", 1 ], + [ "meat_scrap", 10 ], + [ "mutant_meat_scrap", 10 ], + [ "rehydrated_meat", 1 ], + [ "meat_canned", 1 ] + ] + ] + }, + { + "id": "meat_red_raw", + "type": "requirement", + "//": "Anything you might consider raw, unpreserved 'red' meat. About 250mL of meat.", + "components": [ [ [ "meat", 1 ], [ "mutant_meat", 1 ], [ "meat_scrap", 10 ], [ "mutant_meat_scrap", 10 ] ] ] }, { "id": "meat_nofish", @@ -135,6 +150,7 @@ "components": [ [ [ "meat_cooked", 1 ], + [ "mutant_meat_cooked", 1 ], [ "meat_pickled", 1 ], [ "meat_smoked", 1 ], [ "meat_salted", 1 ], @@ -163,6 +179,42 @@ ] ] }, + { + "id": "human_meat", + "type": "requirement", + "//": "Raw meat that non-cannibals would be unhappy eating.", + "components": [ [ [ "human_flesh", 1 ], [ "mutant_human_flesh", 1 ] ] ] + }, + { + "id": "human_meat_cooked", + "type": "requirement", + "//": "Cooked meat that non-cannibals would be unhappy eating.", + "components": [ [ [ "human_cooked", 1 ], [ "mutant_human_cooked", 1 ] ] ] + }, + { + "id": "any_fat", + "type": "requirement", + "//": "Any type of raw fat.", + "components": [ [ [ "fat", 1 ], [ "mutant_fat", 1 ], [ "fat_tainted", 1 ] ] ] + }, + { + "id": "edible_fat", + "type": "requirement", + "//": "Any type of edible raw fat.", + "components": [ [ [ "fat", 1 ], [ "mutant_fat", 1 ] ] ] + }, + { + "id": "edible_tallow_lard", + "type": "requirement", + "//": "Any type of edible rendered fat.", + "components": [ [ [ "tallow", 1 ], [ "lard", 1 ], [ "mutant_tallow", 1 ], [ "mutant_lard", 1 ] ] ] + }, + { + "id": "any_tallow", + "type": "requirement", + "//": "Any type of tallow.", + "components": [ [ [ "tallow", 1 ], [ "mutant_tallow", 1 ], [ "tallow_tainted", 1 ] ] ] + }, { "id": "seasoning_mild", "type": "requirement", diff --git a/data/json/requirements/materials.json b/data/json/requirements/materials.json index 7cefa00a92298..461f88912b895 100644 --- a/data/json/requirements/materials.json +++ b/data/json/requirements/materials.json @@ -50,8 +50,20 @@ { "id": "fabric_standard", "type": "requirement", - "//": "Materials used for crafting or repairing clothing or sheeting", - "components": [ [ [ "rag", 1 ], [ "leather", 1 ], [ "nomex", 1 ], [ "neoprene", 1 ] ] ] + "//": "Materials used for crafting or repairing clothing or sheeting, etc.", + "components": [ [ [ "rag", 1 ], [ "lycra_patch", 1 ], [ "nylon", 1 ], [ "leather", 1 ], [ "nomex", 1 ], [ "neoprene", 1 ] ] ] + }, + { + "id": "fabric_standard_permeable", + "type": "requirement", + "//": "Materials used for crafting or repairing woven fabrics", + "components": [ [ [ "rag", 1 ], [ "lycra_patch", 1 ], [ "nylon", 1 ], [ "nomex", 1 ] ] ] + }, + { + "id": "fabric_standard_nostretch", + "type": "requirement", + "//": "Materials used for crafting or repairing non-form fitting clothing", + "components": [ [ [ "rag", 1 ], [ "nylon", 1 ], [ "nomex", 1 ] ] ] }, { "id": "filament", @@ -66,6 +78,7 @@ "components": [ [ [ "tallow", 1 ], + [ "mutant_tallow", 1 ], [ "cooking_oil", 8 ], [ "cooking_oil2", 8 ], [ "wax", 1 ], @@ -144,5 +157,17 @@ "type": "requirement", "//": "Materials used for plastic and rubber things.", "components": [ [ [ "plastic_chunk", 1 ] ] ] + }, + { + "id": "solar_panel", + "type": "requirement", + "//": "Materials used for repairing solar panels", + "components": [ [ [ "solar_cell", 3 ] ], [ [ "cable", 5 ] ] ] + }, + { + "id": "solar_panel_v2", + "type": "requirement", + "//": "Materials used for repairing upgraded solar panels", + "components": [ [ [ "solar_cell", 5 ] ], [ [ "cable", 8 ] ], [ [ "power_supply", 1 ] ], [ [ "amplifier", 1 ] ] ] } ] diff --git a/data/json/requirements/tailoring.json b/data/json/requirements/tailoring.json new file mode 100644 index 0000000000000..7cc231bf73d71 --- /dev/null +++ b/data/json/requirements/tailoring.json @@ -0,0 +1,330 @@ +[ + { + "id": "armor_acidchitin", + "type": "requirement", + "//": "Shaping and attaching a biosillicified chitin plate to something, per 112 g of biosillicified chitin. Time needed is 10 minutes per unit.", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "acidchitin_piece", 1 ] ], [ [ "filament", 1, "LIST" ] ] ] + }, + { + "id": "armor_chainmail_assembling", + "type": "requirement", + "//": "Assembling chainmail rings into finished products, and riveting rings closed, per 1025 g of steel. It is assumed that each ring used comes with a prepared rivet. Time needed is 1 hour per unit (most of the time goes into making rings and then chainmail sheets first)", + "tools": [ [ [ "pliers", -1 ], [ "multitool", -1 ], [ "toolset", -1 ] ], [ [ "boltcutters", -1 ], [ "toolset", -1 ] ] ], + "components": [ [ [ "link_sheet", 1 ] ], [ [ "chain_link", 25 ] ] ] + }, + { + "id": "armor_chitin", + "type": "requirement", + "//": "Shaping and attaching a chitin plate to something, per 90 g of chitin. Time needed is 10 minutes per unit.", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "chitin_piece", 1 ] ], [ [ "filament", 1, "LIST" ] ] ] + }, + { + "id": "armor_kevlar_plate", + "type": "requirement", + "//": "Shaping and attaching a rigid Kevlar plate to something, per 300 g of rigid Kevlar. Time needed is 10 minutes per unit.", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "kevlar_plate", 1 ] ], [ [ "superglue", 1 ] ] ] + }, + { + "id": "armor_steel_plate", + "type": "requirement", + "//": "Attaching a steel plate to some flexible material like cloth or leather, as well as working it into shape needed, per 251 g of steel. Time needed is 20 minutes per unit.", + "qualities": [ { "id": "SAW_M", "level": 1 }, { "id": "HAMMER", "level": 1 }, { "id": "DRILL", "level": 1 } ], + "components": [ [ [ "sheet_metal_small", 1 ] ], [ [ "filament", 1, "LIST" ] ] ] + }, + { + "id": "armor_paper", + "type": "requirement", + "//": "Joining multiple sheets of paper together using duct tape, per 19 g of paper. Time needed is 2 minutes per unit.", + "components": [ [ [ "paper", 5 ] ], [ [ "duct_tape", 1 ] ] ] + }, + { + "id": "armor_paper_lamellar", + "type": "requirement", + "//": "Layering paper sheets, cutting holes in them, laminating them with glue, and connecting multiple of resulting plates with cordage, per 162 g of paper. Time needed is 50 minutes per unit.", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "paper", 50 ] ], [ [ "superglue", 1 ], [ "bone_glue", 1 ] ], [ [ "cordage_short", 2, "LIST" ] ] ] + }, + { + "id": "armor_wood", + "type": "requirement", + "//": "Shaping and tying together multiple wood pieces of same size with lots of cordage, per 1463 g of wood. Time needed is 30 minutes per unit. Works for lamellar wooden armor as well as for planks tied to limbs.", + "qualities": [ { "id": "SAW_W", "level": 2 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "2x4", 1 ] ], [ [ "cordage", 2, "LIST" ] ] ] + }, + { + "id": "button", + "type": "requirement", + "//": "All kinds of clothing buttons.", + "components": [ [ [ "button_plastic", 1 ], [ "button_wood", 1 ], [ "button_steel", 1 ] ] ] + }, + { + "id": "dye_cloth", + "type": "requirement", + "//": "Dyeing cloth items, per 500 ml of dyed cloth. Use only for fancy clothing, otherwise it's unnecessary. Takes 720 minutes, this doesn't depend on amount.", + "qualities": [ { "id": "COOK", "level": 3 } ], + "tools": [ [ [ "surface_heat", 5, "LIST" ] ] ], + "components": [ + [ + [ "dye_powder", 5 ], + [ "tanbark", 1 ], + [ "coffee_raw", 1 ], + [ "coffee_raw_kentucky", 1 ], + [ "tea_raw", 1 ], + [ "mustard", 48 ], + [ "acorns", 1 ], + [ "wild_herbs", 100 ], + [ "raw_dandelion", 4 ], + [ "sugar_beet", 1 ], + [ "carrot", 12 ], + [ "irradiated_carrot", 12 ], + [ "carrot_wild", 6 ], + [ "onion", 1 ], + [ "irradiated_onion", 1 ], + [ "blueberries", 1 ], + [ "irradiated_blueberries", 1 ], + [ "strawberries", 1 ], + [ "irradiated_strawberries", 1 ], + [ "cranberries", 3 ], + [ "irradiated_cranberries", 3 ], + [ "raspberries", 1 ], + [ "irradiated_raspberries", 1 ], + [ "huckleberries", 1 ], + [ "irradiated_huckleberries", 1 ], + [ "mulberries", 1 ], + [ "irradiated_mulberries", 1 ], + [ "elderberries", 1 ], + [ "irradiated_elderberries", 1 ], + [ "blackberries", 1 ], + [ "irradiated_blackberries", 1 ], + [ "cherries", 1 ], + [ "irradiated_cherries", 1 ], + [ "grapes", 1 ], + [ "irradiated_grapes", 1 ], + [ "pomegranate", 1 ], + [ "irradiated_pomegranate", 1 ], + [ "rose_hips", 1 ], + [ "irradiated_rose_hips", 1 ], + [ "cabbage", 1 ], + [ "irradiated_cabbage", 1 ], + [ "celery", 1 ], + [ "irradiated_celery", 1 ], + [ "mushroom", 1 ] + ], + [ + [ "ammonia", 2 ], + [ "vinegar", 16 ], + [ "ash", 100 ], + [ "tanbark", 1 ], + [ "salt", 100 ], + [ "chem_potassium_alum", 100 ] + ], + [ [ "water", 3 ], [ "water_clean", 3 ] ] + ] + }, + { + "id": "fastener_large", + "type": "requirement", + "//": "All kinds of fasteners for jacket-sized soft objects.", + "components": [ + [ + [ "button", 9, "LIST" ], + [ "snapfastener_steel", 9 ], + [ "zipper_long_plastic", 1 ], + [ "touch_fastener", 6 ], + [ "string_6", 6 ] + ] + ] + }, + { + "id": "fastener_small", + "type": "requirement", + "//": "All kinds of fasteners for footwear-sized soft objects, including pockets.", + "components": [ + [ + [ "button", 3, "LIST" ], + [ "snapfastener_steel", 3 ], + [ "zipper_short_plastic", 1 ], + [ "touch_fastener", 2 ], + [ "string_6", 2 ] + ] + ] + }, + { + "id": "plastic_molding", + "type": "requirement", + "//": "Melting and reshaping plastic items, per 70 g of plastic. Usually takes 30 minutes per unit.", + "qualities": [ { "id": "CUT", "level": 1 } ], + "tools": [ [ [ "mold_plastic", -1 ] ], [ [ "surface_heat", 10, "LIST" ] ] ], + "components": [ [ [ "plastic_chunk", 1 ] ] ] + }, + { + "id": "tailoring_cotton", + "type": "requirement", + "//": "Crafting cotton items, per 101 g of cotton; 10 g + excessive weight of material is wasted, producing rags and cotton scraps as byproducts. Time needed is usually 90 minutes per unit if hand-stitching.", + "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "sheet_cotton", 22 ] ], [ [ "filament", 1, "LIST" ] ] ] + }, + { + "id": "tailoring_cotton_knitting", + "type": "requirement", + "//": "Crafting cotton items via knitting, per 1 g of cotton; no material wasted. Time needed is usually 2 minutes per unit if doing it by hand.", + "qualities": [ { "id": "KNIT", "level": 1 } ], + "components": [ [ [ "thread", 1 ] ] ] + }, + { + "id": "tailoring_cotton_patchwork", + "type": "requirement", + "//": "Crafting possibly-patchwork cotton items, per 101 g of cotton; 10 g + excessive weight of material is wasted, producing rags and cotton scraps as byproducts. Time needed is usually 90 minutes per unit if hand-stitching (most of the time actually needed goes into making a patchwork sheet)", + "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "sheet_cotton", 22 ], [ "sheet_cotton_patchwork", 1 ] ], [ [ "filament", 1, "LIST" ] ] ] + }, + { + "id": "tailoring_faux_fur", + "type": "requirement", + "//": "Crafting faux fur items, per 201 g of faux fur; 20 g + excessive weight of material is wasted, producing faux fur patches and scraps. Time needed is usually 90 minutes per unit if hand-stitching.", + "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "sheet_faux_fur", 22 ] ], [ [ "filament", 1, "LIST" ] ] ] + }, + { + "id": "tailoring_faux_fur_patchwork", + "type": "requirement", + "//": "Crafting possibly-patchwork faux fur items, per 201 g of faux fur; 20 g + excessive weight of material is wasted, producing faux fur patches and scraps. Time needed is usually 90 minutes per unit if hand-stitching (most of the time actually needed goes into making a patchwork sheet).", + "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "sheet_faux_fur", 22 ], [ "sheet_faux_fur_patchwork", 1 ] ], [ [ "filament", 1, "LIST" ] ] ] + }, + { + "id": "tailoring_felt", + "type": "requirement", + "//": "Crafting felt items (not via knitting), per 161 g of wool; 16 g + excessive weight of material is wasted, producing felt patches as byproducts. Time needed is usually 90 minutes per unit if hand-stitching.", + "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "sheet_felt", 22 ] ], [ [ "filament", 1, "LIST" ] ] ] + }, + { + "id": "tailoring_felt_patchwork", + "type": "requirement", + "//": "Crafting possibly-patchwork felt items (not via knitting), per 161 g of wool; 16 g + excessive weight of material is wasted, producing felt patches as byproducts. Time needed is usually 90 minutes per unit if hand-stitching. (most of the time actually needed goes into making a patchwork sheet)", + "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "sheet_felt", 22 ], [ "sheet_felt_patchwork", 1 ] ], [ [ "filament", 1, "LIST" ] ] ] + }, + { + "id": "tailoring_fur", + "type": "requirement", + "//": "Crafting fur items, per 415 g of fur; 273 g + excessive weight of material is wasted, producing fur patches as byproducts. Time needed is usually 360 minutes per unit if hand-stitching.", + "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 }, { "id": "LEATHER_AWL", "level": 1 } ], + "components": [ [ [ "tanned_pelt", 1 ] ], [ [ "filament", 4, "LIST" ] ] ] + }, + { + "id": "tailoring_fur_small", + "type": "requirement", + "//": "Crafting either small or patchwork fur items, per 92 g of fur; 23 g + excessive weight of material is wasted, producing fur patches as byproducts. Time needed is usually 180 minutes per unit if hand-stitching.", + "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 }, { "id": "LEATHER_AWL", "level": 1 } ], + "components": [ [ [ "fur", 1 ] ], [ [ "filament", 1, "LIST" ] ] ] + }, + { + "id": "tailoring_kevlar", + "type": "requirement", + "//": "Crafting Kevlar items, per 101 g of Kevlar; 10 g + excessive weight of material is wasted, producing Kevlar scraps as byproducts. Time needed is usually 90 minutes per unit if hand-stitching.", + "qualities": [ { "id": "SEW", "level": 2 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "sheet_kevlar", 22 ] ], [ [ "thread_kevlar", 1 ] ] ] + }, + { + "id": "tailoring_leather", + "type": "requirement", + "//": "Crafting leather items, per 364 g of leather; 240 g + excessive weight of material is wasted, producing leather patches as byproducts. Time needed is usually 360 minutes per unit if hand-stitching.", + "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 }, { "id": "LEATHER_AWL", "level": 1 } ], + "components": [ [ [ "tanned_hide", 1 ] ], [ [ "filament", 4, "LIST" ] ] ] + }, + { + "id": "tailoring_leather_small", + "type": "requirement", + "//": "Crafting either small or patchwork leather items, per 81 g of leather; 20 g + excessive weight of material is wasted, producing leather patches as byproducts. Time needed is usually 180 minutes per unit if hand-stitching.", + "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 }, { "id": "LEATHER_AWL", "level": 1 } ], + "components": [ [ [ "leather", 1 ] ], [ [ "filament", 1, "LIST" ] ] ] + }, + { + "id": "tailoring_lycra", + "type": "requirement", + "//": "Crafting lycra items, per 55 g of lycra; 6 g + excessive weight of material is wasted, producing lycra scraps as byproducts. Time needed is usually 90 minutes per unit if hand-stitching.", + "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "sheet_lycra", 22 ] ], [ [ "thread_nomex", 1 ] ] ] + }, + { + "id": "tailoring_lycra_patchwork", + "type": "requirement", + "//": "Crafting possibly-patchwork lycra items, per 55 g of lycra; 6 g + excessive weight of material is wasted, producing lycra scraps as byproducts. Time needed is usually 90 minutes per unit if hand-stitching (most of the time actually needed goes into making a patchwork sheet).", + "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "sheet_lycra", 22 ], [ "sheet_lycra_patchwork", 1 ] ], [ [ "thread_nomex", 1 ] ] ] + }, + { + "id": "tailoring_neoprene", + "type": "requirement", + "//": "Crafting neoprene items, per 121 g of neoprene; 12 g + excessive weight of material is wasted, producing neoprene scraps as byproducts. Superglue and duct tape will usually be needed for extra waterproofing. Time needed is usually 100 minutes per unit if hand-stitching.", + "qualities": [ { "id": "SEW_CURVED", "level": 1 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "sheet_neoprene", 22 ] ], [ [ "filament", 1, "LIST" ] ] ] + }, + { + "id": "tailoring_neoprene_patchwork", + "type": "requirement", + "//": "Crafting possibly-patchwork neoprene items, per 121 g of neoprene; 12 g + excessive weight of material is wasted, producing neoprene scraps as byproducts. Superglue and duct tape will usually be needed for extra waterproofing. Time needed is usually 100 minutes per unit if hand-stitching (most of the time actually needed goes into making a patchwork sheet).", + "qualities": [ { "id": "SEW_CURVED", "level": 1 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "sheet_neoprene", 22 ], [ "sheet_neoprene_patchwork", 1 ] ], [ [ "filament", 1, "LIST" ] ] ] + }, + { + "id": "tailoring_nomex", + "type": "requirement", + "//": "Crafting Nomex items, per 101 g of Nomex; 10 g + excessive weight of material is wasted, producing Nomex scraps as byproducts. Time needed is usually 90 minutes per unit if hand-stitching.", + "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "sheet_nomex", 22 ] ], [ [ "thread_nomex", 1 ] ] ] + }, + { + "id": "tailoring_nomex_patchwork", + "type": "requirement", + "//": "Crafting possibly-patchwork Nomex items, per 101 g of Nomex; 10 g + excessive weight of material is wasted, producing Nomex scraps as byproducts. Time needed is usually 90 minutes per unit if hand-stitching.", + "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "sheet_nomex", 22 ], [ "sheet_nomex_patchwork", 1 ] ], [ [ "thread_nomex", 1 ] ] ] + }, + { + "id": "tailoring_nylon", + "type": "requirement", + "//": "Crafting synthetic fabric items, per 55 g of neoprene; 6 g + excessive weight of material is wasted, producing synthetic fabric scraps as byproducts. Time needed is usually 90 minutes per unit if hand-stitching.", + "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "sheet_nylon", 22 ] ], [ [ "filament", 1, "LIST" ] ] ] + }, + { + "id": "tailoring_nylon_patchwork", + "type": "requirement", + "//": "Crafting possibly-patchwork synthetic fabric items, per 55 g of neoprene; 6 g + excessive weight of material is wasted, producing synthetic fabric scraps as byproducts. Time needed is usually 90 minutes per unit if hand-stitching (most of the time actually needed goes into making a patchwork sheet).", + "qualities": [ { "id": "SEW", "level": 1 }, { "id": "CUT", "level": 1 } ], + "components": [ [ [ "sheet_nylon", 22 ] ], [ [ "sheet_nylon_patchwork", 1 ] ], [ [ "filament", 1, "LIST" ] ] ] + }, + { + "id": "tailoring_wool_knitting", + "type": "requirement", + "//": "Crafting wool items via knitting, per 1 g of wool; no material wasted. Time needed is usually 2 minutes per unit if doing it by hand.", + "qualities": [ { "id": "KNIT", "level": 1 } ], + "components": [ [ [ "yarn", 1 ] ] ] + }, + { + "id": "waterproofing_cloth", + "type": "requirement", + "//": "Waterproofing cloth items, per 500 ml of waterproofed cloth. Takes 360 minutes, doesn't depend on amount. Duct tape is needed to waterproof seams.", + "qualities": [ { "id": "COOK", "level": 3 }, { "id": "CUT", "level": 1 } ], + "tools": [ [ [ "water_boiling_heat", 2, "LIST" ] ] ], + "components": [ + [ [ "chem_potassium_alum", 50 ] ], + [ [ "detergent", 10 ] ], + [ [ "water", 3 ], [ "water_clean", 3 ] ], + [ [ "duct_tape", 5 ] ] + ] + }, + { + "id": "waterproofing_plastic_bags", + "type": "requirement", + "//": "Making a waterproof layer from plastic bags duct taped together, per 25 g of such waterproofing. Takes 15 minutes per unit.", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "bag_plastic", 1 ] ], [ [ "duct_tape", 5 ] ] ] + } +] diff --git a/data/json/requirements/toolsets.json b/data/json/requirements/toolsets.json index 724df19996f9d..267e0b198095e 100644 --- a/data/json/requirements/toolsets.json +++ b/data/json/requirements/toolsets.json @@ -35,6 +35,13 @@ "//": "Forging of steel items (per steel chunk), charcoal forge is already a substitute for forge", "tools": [ [ [ "forge", 20 ], [ "oxy_torch", 20 ] ] ] }, + { + "id": "blacksmithing_standard", + "type": "requirement", + "//": "Includes forging resources as well as tools needed for most blacksmithing", + "qualities": [ { "id": "ANVIL", "level": 3 }, { "id": "HAMMER", "level": 3 } ], + "tools": [ [ [ "forge", 20 ], [ "oxy_torch", 20 ] ], [ [ "tongs", -1 ] ] ] + }, { "id": "mutagen_production_standard", "type": "requirement", diff --git a/data/json/scenarios.json b/data/json/scenarios.json index c00e6ea846a10..f0e2505404cf0 100644 --- a/data/json/scenarios.json +++ b/data/json/scenarios.json @@ -213,6 +213,8 @@ "RAP_TALONS", "HOOVES", "CANINE_EARS", + "BIOLUM1", + "BIOLUM2", "FELINE_EARS", "TAIL_FLUFFY", "TAIL_LONG", @@ -258,7 +260,7 @@ "ident": "ambushed", "name": "Ambush", "points": -3, - "description": "It is the winter after zero hour. As you were scavenging for food and a warm place to stay at, you heard the sound of lots of movement nearby.", + "description": "It is the winter after zero hour. As you were scavenging for food and a warm place to stay at, you heard the sound of lots of movement nearby.", "allowed_locs": [ "cabin", "forest", diff --git a/data/json/snippets/dimensional_exploration.json b/data/json/snippets/dimensional_exploration.json index b1f228cf55e2d..9a7cbfa61ae2c 100644 --- a/data/json/snippets/dimensional_exploration.json +++ b/data/json/snippets/dimensional_exploration.json @@ -3,21 +3,30 @@ "type": "snippet", "category": "log_immersion27", "text": [ - "\nIMMERSION LOG: 27A\n\nINCIDENT REPORT:\n\nSUMMARY:\nUnforeseen EM interference source forced the team to remain in-phase between prime and sub-scape 27. Expedition members reported observing a spheroid-entity ('PE-01') moving beneath the typically opaque t-substrate. Interference readings and expedition testimony implies the PE-01 was a potent EM radiation source, and the origin of the interference. After 30 min, PE-01 receded and the expedition was aborted in accordance of procedure EMER-12. The expedition team suffered no injuries, physical or mental, during the incident. \n\nIt's become clear we have greatly underestimated the risk posed by phase immersions. Engineering has been tasked with designing a new, improved protection suite, and has shown promising advances. Updated emergency procedures are in-progress.\n\nRefer to file EXO-I-271 for full report." + { + "id": "log_immersion27_1", + "text": "\nIMMERSION LOG: 27A\n\nINCIDENT REPORT:\n\nSUMMARY:\nUnforeseen EM interference source forced the team to remain in-phase between prime and sub-scape 27. Expedition members reported observing a spheroid-entity ('PE-01') moving beneath the typically opaque t-substrate. Interference readings and expedition testimony implies the PE-01 was a potent EM radiation source, and the origin of the interference. After 30 min, PE-01 receded and the expedition was aborted in accordance of procedure EMER-12. The expedition team suffered no injuries, physical or mental, during the incident.\n\nIt's become clear we have greatly underestimated the risk posed by phase immersions. Engineering has been tasked with designing a new, improved protection suite, and has shown promising advances. Updated emergency procedures are in-progress.\n\nRefer to file EXO-I-271 for full report." + } ] }, { "type": "snippet", "category": "t-substrate", "text": [ - "\nANALYSIS OF TRANSPLANAR MATERIALS\n\nT-SUBSTRATE\n\nSUMMARY:\nThe material henceforth named t-substrate is the naturally occurring 'floor' material of phase-space. Samples of t-substrate were first recovered during IMMERSION-25A, when upon return to prime the samples violently [////////], exhibiting what are now known as 'plane-uneven' physical properties. The following report will examine such variances to the best extent of our knowledge.\n\nRefer to file EXO-M-312 for full report." + { + "id": "t-substrate_1", + "text": "\nANALYSIS OF TRANSPLANAR MATERIALS\n\nT-SUBSTRATE\n\nSUMMARY:\nThe material henceforth named t-substrate is the naturally occurring 'floor' material of phase-space. Samples of t-substrate were first recovered during IMMERSION-25A, when upon return to prime the samples violently [////////], exhibiting what are now known as 'plane-uneven' physical properties. The following report will examine such variances to the best extent of our knowledge.\n\nRefer to file EXO-M-312 for full report." + } ] }, { "type": "snippet", "category": "HAADF_t-substrate", "text": [ - "\nANALISIS OF TRANSPLANAR MATERIALS \n\nT-SUBSTRATE\n\nHAADF MICROGRAPH:\nAn atomic-scale photograph shows only a completely smooth red surface. In the lower left corner the phrase 'Not made of atoms?!' is scrawled with a blue pen.\n\nRefer to file EXO-M-312 for full report." + { + "id": "HAADF_t-substrate_1", + "text": "\nANALISIS OF TRANSPLANAR MATERIALS\n\nT-SUBSTRATE\n\nHAADF MICROGRAPH:\nAn atomic-scale photograph shows only a completely smooth red surface. In the lower left corner the phrase 'Not made of atoms?!' is scrawled with a blue pen.\n\nRefer to file EXO-M-312 for full report." + } ] } ] diff --git a/data/json/snippets/health_msgs.json b/data/json/snippets/health_msgs.json index 48ae87518a32c..9ade8a81653f6 100644 --- a/data/json/snippets/health_msgs.json +++ b/data/json/snippets/health_msgs.json @@ -147,6 +147,6 @@ { "type": "snippet", "category": "health_horrible", - "text": "Awareness seems to only come with a battle... and your body seem to be on its side." + "text": "Awareness seems to only come with a battle… and your body seem to be on its side." } ] diff --git a/data/json/snippets/music.json b/data/json/snippets/music.json index 5337c428d9b74..8b761cbb94318 100644 --- a/data/json/snippets/music.json +++ b/data/json/snippets/music.json @@ -1,7 +1,7 @@ [ { "type": "snippet", - "category": "music_description", + "category": "", "text": [ "some .", "some . The is ." ] }, { @@ -21,7 +21,7 @@ "text": [ "amazing", "funky", - "okay", + { "text": { "ctxt": "", "str": "okay" } }, "pretty good", "sweet", "sick", diff --git a/data/json/snippets/schizophrenia.json b/data/json/snippets/schizophrenia.json index d9ff590f66b17..6d169c6560b83 100644 --- a/data/json/snippets/schizophrenia.json +++ b/data/json/snippets/schizophrenia.json @@ -8,7 +8,7 @@ "What's your name?", "I thought you were my friend.", "How are you today?", - "Shut up! Don't lie to me.", + "Shut up! Don't lie to me.", "Why would you do that?", "Please, don't go.", "Don't leave me alone!", @@ -49,7 +49,7 @@ "Hey, you're bleeding.", "Your wound looks pretty bad.", "Shouldn't you put a bandage on that?", - "Please don't die! No one else lets me kill things!", + "Please don't die! No one else lets me kill things!", "You look hurt, did I do that?", "Are you supposed to be bleeding?", "You're not going to die, are you?", @@ -62,13 +62,13 @@ "text": [ "Hey fix me up.", "I need healing!", - "I hurt all over...", + "I hurt all over…", "You can put me back together, right?", - "I... I can't move my legs!", + "I… I can't move my legs!", "Medic!", "I can still fight, don't replace me!", "They got me!", - "*cough cough* Go on without me...", + "*cough cough* Go on without me…", "Am I gonna die?" ] }, @@ -96,7 +96,7 @@ "You gain the sudden realization that you must have been responsible for the cataclysm.", "You get the odd feeling that your thoughts are not your own.", "You feel as if everyone in the world must be playing a sick prank on you.", - "You are being watched... by THEM." + "You are being watched… by THEM." ] }, { @@ -125,7 +125,7 @@ "\"Stop laughing at me!\"", "\"Don't point that thing at me!\"", "\"Stay away from me!\"", - "\"No! Stop!\"", + "\"No! Stop!\"", "\"Get the fuck away from me!\"", "\"That's not true!\"", "\"What do you want from me?\"", @@ -145,7 +145,7 @@ "%1$s feels freezing cold!", "An electric shock shoots into your hand from %1$s!", "%1$s lied to you.", - "%1$s was working for... THEM", + "%1$s was working for… THEM", "%1$s said something stupid.", "%1$s is running away!" ] diff --git a/data/json/snippets/snippets.json b/data/json/snippets/snippets.json index 8b2837c768d86..a2e358e6dc732 100644 --- a/data/json/snippets/snippets.json +++ b/data/json/snippets/snippets.json @@ -3,430 +3,1201 @@ "type": "snippet", "category": "flier", "text": [ - "This is an advertisement for the Diet Devil brand Metabolic Exchange CBM. It shows a picture of a tiny obese devil sitting on a woman's shoulder. The woman stares intently at a gigantic wedding cake covered with bacon and candy bars. The caption reads: \"Burn calories! Burn!\"", - "This is an advertisement for the Diet Devil brand Ethanol Burner CBM. It shows a picture of a teenage boy driving a car while chugging a bottle of whiskey. A tiny obese devil sits on his shoulder and drinks a martini. The caption reads: \"Drink like there's no tomorrow!\"", - "This is an advertisement for the Twenty8 brand Diamond Cornea CBM. It shows a picture of the cyber-module being clutched by an eagle in flight. The captions read: \"Get the new Model 28.bx Eagle-Eye!\" and \"Twenty8. See what you've been missing.\"", - "This is an advertisement for the Twenty8 brand Night Vision CBM. It shows a picture of an owl swooping down on a the cyber-module. The captions read: \"Get the new Model 28.hx Night-Owl!\" and \"Twenty8. See what you've been missing.\"", - "This is an advertisement for the Twenty8 brand Diamond Cornea CBM. It shows a picture of a flying hawk carrying the cyber-module in its beak. The captions read: \"Get the new Model 28.xx Hawk-Eye!\" and \"Twenty8. See what you've been missing.\"", - "This is an advertisement for the Twenty8 brand Scent Vision CBM. It shows a picture of a vulture perched on a pile of skulls and cyber-modules. The captions read: \"Get the new Model 28.vx Vulture today!\" and \"Twenty8. See what you've been missing.\"", - "This is an ad for a Twenty8 brand Infrared Vision CBM. It shows a picture of a robotic phoenix covered in flames. The captions read: \"Get the new Model 28.tx Phoenix today!\" and \"Twenty8. See what you've been missing.\"", - "This is an advertisement for DoubleTech brand law enforcement robots. It shows a picture of copbot and an eyebot boldly emerging from a cloud of teargas and flame. The caption reads: \"DoubleTech Industries. Built to Protect. Programmed to Serve.\"", - "This is an advertisement for DoubleTech brand law enforcement robots. It shows a picture of an eyebot flying alongside a bald eagle and a Stealth bomber painted as an American flag. The caption reads: \"Built to Protect. Programmed to Serve.\"", - "This is an advertisement for DoubleTech brand law enforcement robots. It shows a picture of a dozen eyebots floating over a woman as she jogs through a park. The captions read: \"Built to Protect. Programmed to Serve.\"", - "This is an advertisement for DoubleTech brand law enforcement robots. It shows a picture of copbot pepper-spraying a handcuffed rioter. In the background a troop of boy scouts salutes the robot. The caption reads: \"Built to Protect. Programmed to Serve.\"", - "This is an advertisement for Robert's Universal Robotics brand law enforcement robots. It shows a picture of a tribot incinerating a mob of looters and stepping over charred and smoking corpses. The caption reads: \"R.U.R. Technology you can Trust.\"", - "This is an advertisement for Robert's Universal Robots brand labor-bots. It shows a picture of a robot carrying a heavy pallet of bricks. In the background a human foreman is sleeping on the job, with his hardhat pulled down over his eyes. The captions read: \"It's a tough job, so why should you have to do it?\" and \"R.U.R. Technology you can Trust.\"", - "This is an advertisement for Robert's Universal Robots brand labor-bots. It shows a picture of a factory floor run entirely by robots. In the background a man in a suit reads a newspaper that shows soaring stock prices. The caption reads: \"R.U.R. Technology you can Trust.\"", - "This is an advertisement for Sybil's Cyber Boutique. It shows a picture of several bikini-clad female doctors removing the skin from man's face. The patient is strapped to a chair but cheerfully gives two thumbs up. The caption reads: \"Free Plastic Surgery While You Wait!\"", - "This is an advertisement for Sybil's Cyber Boutique. It shows a picture of a nerdy looking man surrounded by a group of admiring women. In the foreground a blood-drenched doctor gives an exaggerated wink and two thumbs up. The caption reads: \"Holiday sales! Get the package deals!\"", - "This is an advertisement for Sybil's Cyber Boutique. It shows a picture of a man carrying a somewhat confused horse on his shoulders. He is flanked by two scantily clad nurses who hold bloody chainsaws and give approving thumbs up. His bulging knees and elbows are stitched and seem to be the source of his ability. The caption reads: \"Brand new! Horse power at hand!\"", - "This is an advertisement for Sybil's Cyber Boutique. It shows a picture of a man smiling while being relentlessly punched by a boxer. He doesn't even sweat as punches have no effect on him. Two scantily clad nurses give approving thumbs up from the background. The caption reads: \"Bouncy as never before! Absorb those shocks!\"", - "This is an advertisement for Rivtech brand handguns. It shows a picture of a well armed couple in business suits with matching handguns facing down a legion of villainous looking characters. The caption reads: \"Protect yourself with the Rivtech caseless automagnum!\"", - "This is an advertisement for Rivtech brand rifles. It shows a picture of a smiling soldier with a futuristic looking rifle on her shoulder saluting the viewer. The caption reads: \"Rivtech caseless firearms proudly supports our Military.\"", - "This is an advertisement for Rivtech brand firearms. It shows a picture of a trio of well armed hunters. The three are each armed with different futuristic looking weapons and are shooting at a hostile crowd of approaching wildlife. The caption reads: \"Rivtech caseless firearms. Superior stopping power.\"", - "This is an advertisement for the Rivtech brand Muscle Augmentation CBM. It shows a picture of a stylized, howling wolf against a red background. The caption reads: \"Rivtech neuroreactive myomer bionics. The most efficient synthetic adenosine triphosphate recovery system on the market.\" and \"Rivtech Bionics, guaranteed for life.\"", - "This is an advertisement for the Rivtech brand Wired Reflexes CBM. It shows a picture of a stylized, snarling black cat against a red background. The caption reads: \"Rivtech neuroelectric stimulation bionics. The next level in quantum inductive piezochemical nerve stimulation technology.\" and \"Rivtech Bionics, guaranteed for life.\"", - "This is an advertisement for the Rivtech brand Monomolecular Blade CBM. It shows a picture of a woman with a bionic blade extending from her arm steadfastly defending her children from an angry bear. The caption reads: \"Rivtech retractable monomolecular blade system. Failure is never an option.\" and \"Rivtech Bionics, guaranteed for life.\"", - "This is an advertisement for the Rivtech brand Synaptic Accelerator CBM. It shows a picture of a stylized, soaring raven against a red background. The caption reads: \"Introducing the Rivtech Model Six myelination retrovirus system. The latest in synthetic high-performance glycoprotein deposition technology.\" and \"Rivtech Bionics, guaranteed for life.\"", - "This is an advertisement for Rivtech brand ammunition. It shows a picture of an armored steel plate with a gaping hole blasted through the middle. Sitting beside the plate is a block of brightly colored caseless ammunition. The caption reads: \"Rivtech 8x40mm caseless. Nothing else comes close.\"", - "This is an advertisement for Leadworks LLC's Home Frontier Starter Pack. It shows a picture of a young suburban parent, equipped with rifle and revolver, keeping a steely eye on the neighborhood from the front porch. Similarly-armed parents are visible in front of every house on the street. Young children are at play and older ones tend a large vegetable garden. The caption reads: \"A well-armed community is a SAFE community. Leadworks, LLC.\"", - "This is a propaganda poster showing the Northrop Dispatch's military variant. It depicts the iconic dark green, arachnoid dispatch, standing before a fence and facing away from the camera as blurring machines rush forward from its back towards black silhouettes menacing on the horizon. It reads: \"WE ARE HERE TO PROTECT YOU.\"", - "This is an advertisement for Leadworks LLC handguns. It shows a picture of a bionic police officer assisting a young couple, who were being attacked by a gang of ruffians. The caption reads: \"You don't have to void your warranty or wear out your thumb to achieve felon-stopping firepower. The L39B, tried and true by our fine cyborgs in blue, is available in .45 ACP for that extra punch, and we offer semiautomatic (but equally robust!) versions for the civilian market. Leadworks, LLC.\"", - "This is an advertisement for Leadworks LLC modular weapons. It shows a picture of an overworked-yet-grateful police sergeant assembling a sleek rifle, with similar-looking weapons racked neatly behind her. The caption reads: \"Leadworks is proud to offer the L523 modular weapon system. No more must armorers stock and maintain stacks and stacks of rifles, carbines, and squad support weapons, juggling multiple incompatible ammunition types! Just procure a base unit for every trooper, and use our lightweight and portable conversion kits to swap from house-to-house CQB carbine to rooftop-patrol DSR, safely and cleanly!\"", - "This is a public notice from the Centers for Disease Control. Its message, repeated in several languages, reads: Due to the recent outbreak of the A H3N2 flu strain, the CDC would like to remind the public to cover your nose and mouth with a tissue when you cough or sneeze and wash your hands frequently with soap and water. The CDC also recommends an annual flu vaccine for everyone 6 months of age and older, which can be found at your local doctor's office or pharmacy.", - "This is a public alert from the Centers for Disease Control. Its message, repeated in several languages, reads: PUBLIC HEALTH ALERT: Due to recent events, the CDC is issuing a warning to avoid public areas and spaces. An unknown biological contaminant is suspected to be affecting citizens, possibly an unexpected mutation in the A H3N2 flu strain. The CDC would like to remind the public to cover your nose and mouth when sneezing, wash your hands frequently, and recieve an up-to-date flu shot if possible. Boiling water is recommended until further notice.", - "This is a public alert from the Federal Emergency Management Agency. Its message, repeated in several languages, reads: STAY IN YOUR HOMES! All residents of the New England Disaster Area are advised to shelter in place wherever possible. The United States Armed Forces are working to contain the area. If there is a nearby evacuation shelter you can get to safely, you are recommended to do so. Otherwise, stay in your homes until authorized personnel evacuate you to a secured facility. Thank you for your compliance.", - "This is a public alert from the Federal Emergency Management Agency. Its message, repeated in several languages, consists of a list of towns serving as major evacuation points from the New England Disaster Area. Someone has scribbled off most of the town names, and scrawled \"OVERRUN\" next to each one, with the exception of the Tacoma evacuation point.", - "This is a public warning from an unnamed source. Its rambling message, poorly-photocopied onto both sides of the page, reads: Don't believe the lies! The Army is rounding up people in death camps and executing them at mass graves. They cannot stop this. Do not believe what the mainstream news-media is reporting. All official evacuation points are death-traps. Secure supplies and escape the cities while there is still time.", - "This is a public message from an unnamed source. Its message, photocopied from a scrawled handwritten copy, reads: REPENT YOUR SINS O BABYLON FOR THE TIME OF HIS JUDGEMENT IS NIGH! LOOK UPON YOUR DESTRUCTION AND KNOW THAT IT IS JUST! YOU WILL BE DIVIDED FATHER AGAINST SON AND MOTHER AGAINST CHILD UNTO THE VERY LAST SINNER!", - "This is a public warning from the Federal Government. Its brief message, repeated in several languages, reads: The President of the United States has declared unilateral martial law to be in effect for the 48 contiguous states in response to the ongoing national crisis. Continue to shelter in place until evacuated to an appropriate emergency management camp by authorized military personnel. A 24-hour curfew has been established. This curfew will remain in effect until further notice. Stay indoors. Violators will be shot on sight.", - "This is an advertisement for Rivtech's 'ATOMIC POWER THIRST' energy drink. While intended to advertise a new flavor called Isotope RU-238 'FRUIT', most of the text is dedicated to a long list of possible side effects: anxiety, insomnia, severe insomnia, dizziness, tremors, nausea, headache, vomiting, delusions, hallucinations, rhabdomyolysis, internal burns, thyroid cancer, extensive internal bleeding, upper gastrointestinal bleeding, diarrhea, cardiac dysrhythmia, cardiovascular collapse, suicidal ideation, seizures, ataxia, amnesia, mania, stroke, neurodegeneration, malignalitaloptereosis, necrotizing fasciitis, recurrent flu, and pinkeye.", - "This is a soda advertisement. On the front is a picture of a happy couple on a beach watching the sun set. Between them are bottles of soda. The poster reads, \"Cascade Cola, for those special moments\" in bold white letters.", - "This is a flier for a fast food chain. In it, a man is placing an order with an attractive woman wearing a bright green shirt in the window with two happy children sitting in the back seat. The flier reads \"Burgers, fries, and a Smile.\" Down in one corner is a company logo.", - "This is an advertisement for soda. It shows a dark brown can of soda on a black background. The label reads \"Spin\".", - "This is a flyer for a local pizza chain. On it is a picture of a cartoon Italian holding a pizza, with the words \"It's a goooood pizza\" written above his head.", - "This is a poster advertising contact lenses. On it is a picture of a blood shot eye with a rather long block of information beneath it making some fairly exaggerated claims about the product.", - "This is a flyer advertising a local radio station. It has a lot of bright colors and patterns, but no definite message other than \"104.4 all the best, all the time!\" in big yellow letters.", - "This is a large movie poster for \"Action Packstone 6, Revenge of the Dog Men\". It shows a fit man in a leather jacket with a revolver and a claymore walking towards the viewer. At his side is his trusty cyberdog companion and in the background is an explosion.", - "This is an illustrated poster for a brand of solar car. The vehicle is driving through a lush country side as small animals look on. The slogan \"Improving the world, one tank at a time.\" is written across the top in small letters.", - "This is a soda advertisement. On the front is a picture of a happy couple on a beach watching the sun set. Between them are bottles of soda. The poster reads, \"Cascade Cola, for those special moments\" in bold white letters. Someone has colored in the sun with a black marker. The words \"oh Discordia\" are scrawled across the top.", - "This is a flier for a fast food chain. In it, a man is placing an order with an attractive woman wearing a bright green shirt in the window with two happy children in the back seat. The flier reads \"Burgers, fries, and a Smile.\" down in one corner is a company logo. Someone has gone to town on this one with a permanent marker. It is now covered in rude images and racial epithets.", - "This is a flier for a local pizza chain. On it is a picture of a cartoon Italian holding a pizza, with the words \"It's a goooood pizza\" written above his head. Someone has drawn an exaggerated mustache on the cartoon Italian, along with a pair of crude, oversized breasts.", - "This is a poster advertising contact lenses. On it is a picture of a blood shot eye. Someone has defaced this one. The informative part has been torn off, and written in jagged letters across the top in red crayon are the words \"ALL HAIL THE CRIMSON KING!\".", - "This is an illustrated poster for a brand of solar car. The vehicle is driving through a lush country side as small animals look on. The slogan \"Improving the world, one tank at a time.\" is written across the top. Someone used a blue pen to write \"who gives a shit\" across the slogan and put X's over the eyes of all the animals.", - "This is a poster advertising a underground bunker. The poster shows a nuclear bomb wiping out a city while a family huddles safely underground. There a slogan \"Concerned about enemy attack? Want to protect your family? Join the VAULT program today.\" which is written in the middle. However, there seems to be no information about *how* one might do so.", - "This is a flier for Red Ryder BBGuns. On it a child is pulling a shining red wagon with a cooked pheasant on it and a wooden rifle over one shoulder. The child has a dog trailing beside him and a satisfied look on his face. The caption reads \"When you chose Red Ryder, you invested in the American Dream. You invested in our Independence.\"", - "This is an old flier for a movie from the 30s. A tan man with slick black hair and muscles bulging through his offwhite suit is clasping a woman to his hip with one hand, and the woman is wearing a black leather dress. With her hips splayed, she is holding a pistol in one hand and starring directly out of the advert. The caption reads \"Witness the rebirth of New Noir with 'Jersey Shore Blues'. Starring Jenifer Languiz as 'Snookie'!\"", - "\"Joe's Diner; 1/2 pound of meat, 3 toppings, 'your choice', all with a side of freedom fries and a BIG Gulp size pop.\"", - "This is an advertisement for the Wink & Nod brand Soporific Induction CBM. It shows a picture of a woman sleeping on a bed of nails with a satisfied smile on her face. The caption reads: \"Catch Zs with ease, wherever you please!\"", - "This is a leaflet about autoclaving procedure. One sentence catches your attention \"/!\\Always place your tools into an autoclave pouch before autoclaving./!\\\"", - "This is an advertisement for a local hospital. You see a clean hospital room with a smiling man lying on the bed. The bed is connected to some medical apparatus with a \"Autodoc Mk. X\" printed on it. A doctor is seen working with its console, while his assistant is unpacking some high-tech hardware. The caption reads: \"Autodoc - augmentation has never been so easy, reliable, and safe.\"" + { + "id": "flier_1", + "text": "This is an advertisement for the Diet Devil brand Metabolic Exchange CBM. It shows a picture of a tiny obese devil sitting on a woman's shoulder. The woman stares intently at a gigantic wedding cake covered with bacon and candy bars. The caption reads: \"Burn calories! Burn!\"" + }, + { + "id": "flier_2", + "text": "This is an advertisement for the Diet Devil brand Ethanol Burner CBM. It shows a picture of a teenage boy driving a car while chugging a bottle of whiskey. A tiny obese devil sits on his shoulder and drinks a martini. The caption reads: \"Drink like there's no tomorrow!\"" + }, + { + "id": "flier_3", + "text": "This is an advertisement for the Twenty8 brand Diamond Cornea CBM. It shows a picture of the cyber-module being clutched by an eagle in flight. The captions read: \"Get the new Model 28.bx Eagle-Eye!\" and \"Twenty8. See what you've been missing.\"" + }, + { + "id": "flier_4", + "text": "This is an advertisement for the Twenty8 brand Night Vision CBM. It shows a picture of an owl swooping down on a the cyber-module. The captions read: \"Get the new Model 28.hx Night-Owl!\" and \"Twenty8. See what you've been missing.\"" + }, + { + "id": "flier_5", + "text": "This is an advertisement for the Twenty8 brand Diamond Cornea CBM. It shows a picture of a flying hawk carrying the cyber-module in its beak. The captions read: \"Get the new Model 28.xx Hawk-Eye!\" and \"Twenty8. See what you've been missing.\"" + }, + { + "id": "flier_6", + "text": "This is an advertisement for the Twenty8 brand Scent Vision CBM. It shows a picture of a vulture perched on a pile of skulls and cyber-modules. The captions read: \"Get the new Model 28.vx Vulture today!\" and \"Twenty8. See what you've been missing.\"" + }, + { + "id": "flier_7", + "text": "This is an ad for a Twenty8 brand Infrared Vision CBM. It shows a picture of a robotic phoenix covered in flames. The captions read: \"Get the new Model 28.tx Phoenix today!\" and \"Twenty8. See what you've been missing.\"" + }, + { + "id": "flier_8", + "text": "This is an advertisement for DoubleTech brand law enforcement robots. It shows a picture of copbot and an eyebot boldly emerging from a cloud of teargas and flame. The caption reads: \"DoubleTech Industries. Built to Protect. Programmed to Serve.\"" + }, + { + "id": "flier_9", + "text": "This is an advertisement for DoubleTech brand law enforcement robots. It shows a picture of an eyebot flying alongside a bald eagle and a Stealth bomber painted as an American flag. The caption reads: \"Built to Protect. Programmed to Serve.\"" + }, + { + "id": "flier_10", + "text": "This is an advertisement for DoubleTech brand law enforcement robots. It shows a picture of a dozen eyebots floating over a woman as she jogs through a park. The captions read: \"Built to Protect. Programmed to Serve.\"" + }, + { + "id": "flier_11", + "text": "This is an advertisement for DoubleTech brand law enforcement robots. It shows a picture of copbot pepper-spraying a handcuffed rioter. In the background a troop of boy scouts salutes the robot. The caption reads: \"Built to Protect. Programmed to Serve.\"" + }, + { + "id": "flier_12", + "text": "This is an advertisement for Robert's Universal Robotics brand law enforcement robots. It shows a picture of a tribot incinerating a mob of looters and stepping over charred and smoking corpses. The caption reads: \"R.U.R. Technology you can Trust.\"" + }, + { + "id": "flier_13", + "text": "This is an advertisement for Robert's Universal Robots brand labor-bots. It shows a picture of a robot carrying a heavy pallet of bricks. In the background a human foreman is sleeping on the job, with his hardhat pulled down over his eyes. The captions read: \"It's a tough job, so why should you have to do it?\" and \"R.U.R. Technology you can Trust.\"" + }, + { + "id": "flier_14", + "text": "This is an advertisement for Robert's Universal Robots brand labor-bots. It shows a picture of a factory floor run entirely by robots. In the background a man in a suit reads a newspaper that shows soaring stock prices. The caption reads: \"R.U.R. Technology you can Trust.\"" + }, + { + "id": "flier_15", + "text": "This is an advertisement for Sybil's Cyber Boutique. It shows a picture of several bikini-clad female doctors removing the skin from man's face. The patient is strapped to a chair but cheerfully gives two thumbs up. The caption reads: \"Free Plastic Surgery While You Wait!\"" + }, + { + "id": "flier_16", + "text": "This is an advertisement for Sybil's Cyber Boutique. It shows a picture of a nerdy looking man surrounded by a group of admiring women. In the foreground a blood-drenched doctor gives an exaggerated wink and two thumbs up. The caption reads: \"Holiday sales! Get the package deals!\"" + }, + { + "id": "flier_17", + "text": "This is an advertisement for Sybil's Cyber Boutique. It shows a picture of a man carrying a somewhat confused horse on his shoulders. He is flanked by two scantily clad nurses who hold bloody chainsaws and give approving thumbs up. His bulging knees and elbows are stitched and seem to be the source of his ability. The caption reads: \"Brand new! Horse power at hand!\"" + }, + { + "id": "flier_18", + "text": "This is an advertisement for Sybil's Cyber Boutique. It shows a picture of a man smiling while being relentlessly punched by a boxer. He doesn't even sweat as punches have no effect on him. Two scantily clad nurses give approving thumbs up from the background. The caption reads: \"Bouncy as never before! Absorb those shocks!\"" + }, + { + "id": "flier_19", + "text": "This is an advertisement for Rivtech brand handguns. It shows a picture of a well armed couple in business suits with matching handguns facing down a legion of villainous looking characters. The caption reads: \"Protect yourself with the Rivtech caseless automagnum!\"" + }, + { + "id": "flier_20", + "text": "This is an advertisement for Rivtech brand rifles. It shows a picture of a smiling soldier with a futuristic looking rifle on her shoulder saluting the viewer. The caption reads: \"Rivtech caseless firearms proudly supports our Military.\"" + }, + { + "id": "flier_21", + "text": "This is an advertisement for Rivtech brand firearms. It shows a picture of a trio of well armed hunters. The three are each armed with different futuristic looking weapons and are shooting at a hostile crowd of approaching wildlife. The caption reads: \"Rivtech caseless firearms. Superior stopping power.\"" + }, + { + "id": "flier_22", + "text": "This is an advertisement for the Rivtech brand Muscle Augmentation CBM. It shows a picture of a stylized, howling wolf against a red background. The caption reads: \"Rivtech neuroreactive myomer bionics. The most efficient synthetic adenosine triphosphate recovery system on the market.\" and \"Rivtech Bionics, guaranteed for life.\"" + }, + { + "id": "flier_23", + "text": "This is an advertisement for the Rivtech brand Wired Reflexes CBM. It shows a picture of a stylized, snarling black cat against a red background. The caption reads: \"Rivtech neuroelectric stimulation bionics. The next level in quantum inductive piezochemical nerve stimulation technology.\" and \"Rivtech Bionics, guaranteed for life.\"" + }, + { + "id": "flier_24", + "text": "This is an advertisement for the Rivtech brand Monomolecular Blade CBM. It shows a picture of a woman with a bionic blade extending from her arm steadfastly defending her children from an angry bear. The caption reads: \"Rivtech retractable monomolecular blade system. Failure is never an option.\" and \"Rivtech Bionics, guaranteed for life.\"" + }, + { + "id": "flier_25", + "text": "This is an advertisement for the Rivtech brand Synaptic Accelerator CBM. It shows a picture of a stylized, soaring raven against a red background. The caption reads: \"Introducing the Rivtech Model Six myelination retrovirus system. The latest in synthetic high-performance glycoprotein deposition technology.\" and \"Rivtech Bionics, guaranteed for life.\"" + }, + { + "id": "flier_26", + "text": "This is an advertisement for Rivtech brand ammunition. It shows a picture of an armored steel plate with a gaping hole blasted through the middle. Sitting beside the plate is a block of brightly colored caseless ammunition. The caption reads: \"Rivtech 8x40mm caseless. Nothing else comes close.\"" + }, + { + "id": "flier_27", + "text": "This is an advertisement for Leadworks LLC's Home Frontier Starter Pack. It shows a picture of a young suburban parent, equipped with rifle and revolver, keeping a steely eye on the neighborhood from the front porch. Similarly-armed parents are visible in front of every house on the street. Young children are at play and older ones tend a large vegetable garden. The caption reads: \"A well-armed community is a SAFE community. Leadworks, LLC.\"" + }, + { + "id": "flier_28", + "text": "This is a propaganda poster showing the Northrop Dispatch's military variant. It depicts the iconic dark green, arachnoid dispatch, standing before a fence and facing away from the camera as blurring machines rush forward from its back towards black silhouettes menacing on the horizon. It reads: \"WE ARE HERE TO PROTECT YOU.\"" + }, + { + "id": "flier_29", + "text": "This is an advertisement for Leadworks LLC handguns. It shows a picture of a bionic police officer assisting a young couple, who were being attacked by a gang of ruffians. The caption reads: \"You don't have to void your warranty or wear out your thumb to achieve felon-stopping firepower. The L39B, tried and true by our fine cyborgs in blue, is available in .45 ACP for that extra punch, and we offer semiautomatic (but equally robust!) versions for the civilian market. Leadworks, LLC.\"" + }, + { + "id": "flier_30", + "text": "This is an advertisement for Leadworks LLC modular weapons. It shows a picture of an overworked-yet-grateful police sergeant assembling a sleek rifle, with similar-looking weapons racked neatly behind her. The caption reads: \"Leadworks is proud to offer the L523 modular weapon system. No more must armorers stock and maintain stacks and stacks of rifles, carbines, and squad support weapons, juggling multiple incompatible ammunition types! Just procure a base unit for every trooper, and use our lightweight and portable conversion kits to swap from house-to-house CQB carbine to rooftop-patrol DSR, safely and cleanly!\"" + }, + { + "id": "flier_31", + "text": "This is a public notice from the Centers for Disease Control. Its message, repeated in several languages, reads: Due to the recent outbreak of the A H3N2 flu strain, the CDC would like to remind the public to cover your nose and mouth with a tissue when you cough or sneeze and wash your hands frequently with soap and water. The CDC also recommends an annual flu vaccine for everyone 6 months of age and older, which can be found at your local doctor's office or pharmacy." + }, + { + "id": "flier_32", + "text": "This is a public alert from the Centers for Disease Control. Its message, repeated in several languages, reads: PUBLIC HEALTH ALERT: Due to recent events, the CDC is issuing a warning to avoid public areas and spaces. An unknown biological contaminant is suspected to be affecting citizens, possibly an unexpected mutation in the A H3N2 flu strain. The CDC would like to remind the public to cover your nose and mouth when sneezing, wash your hands frequently, and recieve an up-to-date flu shot if possible. Boiling water is recommended until further notice." + }, + { + "id": "flier_33", + "text": "This is a public alert from the Federal Emergency Management Agency. Its message, repeated in several languages, reads: STAY IN YOUR HOMES! All residents of the New England Disaster Area are advised to shelter in place wherever possible. The United States Armed Forces are working to contain the area. If there is a nearby evacuation shelter you can get to safely, you are recommended to do so. Otherwise, stay in your homes until authorized personnel evacuate you to a secured facility. Thank you for your compliance." + }, + { + "id": "flier_34", + "text": "This is a public alert from the Federal Emergency Management Agency. Its message, repeated in several languages, consists of a list of towns serving as major evacuation points from the New England Disaster Area. Someone has scribbled off most of the town names, and scrawled \"OVERRUN\" next to each one, with the exception of the Tacoma evacuation point." + }, + { + "id": "flier_35", + "text": "This is a public warning from an unnamed source. Its rambling message, poorly-photocopied onto both sides of the page, reads: Don't believe the lies! The Army is rounding up people in death camps and executing them at mass graves. They cannot stop this. Do not believe what the mainstream news-media is reporting. All official evacuation points are death-traps. Secure supplies and escape the cities while there is still time." + }, + { + "id": "flier_36", + "text": "This is a public message from an unnamed source. Its message, photocopied from a scrawled handwritten copy, reads: REPENT YOUR SINS O BABYLON FOR THE TIME OF HIS JUDGEMENT IS NIGH! LOOK UPON YOUR DESTRUCTION AND KNOW THAT IT IS JUST! YOU WILL BE DIVIDED FATHER AGAINST SON AND MOTHER AGAINST CHILD UNTO THE VERY LAST SINNER!" + }, + { + "id": "flier_37", + "text": "This is a public warning from the Federal Government. Its brief message, repeated in several languages, reads: The President of the United States has declared unilateral martial law to be in effect for the 48 contiguous states in response to the ongoing national crisis. Continue to shelter in place until evacuated to an appropriate emergency management camp by authorized military personnel. A 24-hour curfew has been established. This curfew will remain in effect until further notice. Stay indoors. Violators will be shot on sight." + }, + { + "id": "flier_38", + "text": "This is an advertisement for Rivtech's 'ATOMIC POWER THIRST' energy drink. While intended to advertise a new flavor called Isotope RU-238 'FRUIT', most of the text is dedicated to a long list of possible side effects: anxiety, insomnia, severe insomnia, dizziness, tremors, nausea, headache, vomiting, delusions, hallucinations, rhabdomyolysis, internal burns, thyroid cancer, extensive internal bleeding, upper gastrointestinal bleeding, diarrhea, cardiac dysrhythmia, cardiovascular collapse, suicidal ideation, seizures, ataxia, amnesia, mania, stroke, neurodegeneration, malignalitaloptereosis, necrotizing fasciitis, recurrent flu, and pinkeye." + }, + { + "id": "flier_39", + "text": "This is a soda advertisement. On the front is a picture of a happy couple on a beach watching the sun set. Between them are bottles of soda. The poster reads, \"Cascade Cola, for those special moments\" in bold white letters." + }, + { + "id": "flier_40", + "text": "This is a flier for a fast food chain. In it, a man is placing an order with an attractive woman wearing a bright green shirt in the window with two happy children sitting in the back seat. The flier reads \"Burgers, fries, and a Smile.\" Down in one corner is a company logo." + }, + { + "id": "flier_41", + "text": "This is an advertisement for soda. It shows a dark brown can of soda on a black background. The label reads \"Spin\"." + }, + { + "id": "flier_42", + "text": "This is a flyer for a local pizza chain. On it is a picture of a cartoon Italian holding a pizza, with the words \"It's a goooood pizza\" written above his head." + }, + { + "id": "flier_43", + "text": "This is a poster advertising contact lenses. On it is a picture of a blood shot eye with a rather long block of information beneath it making some fairly exaggerated claims about the product." + }, + { + "id": "flier_44", + "text": "This is a flyer advertising a local radio station. It has a lot of bright colors and patterns, but no definite message other than \"104.4 all the best, all the time!\" in big yellow letters." + }, + { + "id": "flier_45", + "text": "This is a large movie poster for \"Action Packstone 6, Revenge of the Dog Men\". It shows a fit man in a leather jacket with a revolver and a claymore walking towards the viewer. At his side is his trusty cyberdog companion and in the background is an explosion." + }, + { + "id": "flier_46", + "text": "This is an illustrated poster for a brand of solar car. The vehicle is driving through a lush country side as small animals look on. The slogan \"Improving the world, one tank at a time.\" is written across the top in small letters." + }, + { + "id": "flier_47", + "text": "This is a soda advertisement. On the front is a picture of a happy couple on a beach watching the sun set. Between them are bottles of soda. The poster reads, \"Cascade Cola, for those special moments\" in bold white letters. Someone has colored in the sun with a black marker. The words \"oh Discordia\" are scrawled across the top." + }, + { + "id": "flier_48", + "text": "This is a flier for a fast food chain. In it, a man is placing an order with an attractive woman wearing a bright green shirt in the window with two happy children in the back seat. The flier reads \"Burgers, fries, and a Smile.\" down in one corner is a company logo. Someone has gone to town on this one with a permanent marker. It is now covered in rude images and racial epithets." + }, + { + "id": "flier_49", + "text": "This is a flier for a local pizza chain. On it is a picture of a cartoon Italian holding a pizza, with the words \"It's a goooood pizza\" written above his head. Someone has drawn an exaggerated mustache on the cartoon Italian, along with a pair of crude, oversized breasts." + }, + { + "id": "flier_50", + "text": "This is a poster advertising contact lenses. On it is a picture of a blood shot eye. Someone has defaced this one. The informative part has been torn off, and written in jagged letters across the top in red crayon are the words \"ALL HAIL THE CRIMSON KING!\"." + }, + { + "id": "flier_51", + "text": "This is an illustrated poster for a brand of solar car. The vehicle is driving through a lush country side as small animals look on. The slogan \"Improving the world, one tank at a time.\" is written across the top. Someone used a blue pen to write \"who gives a shit\" across the slogan and put X's over the eyes of all the animals." + }, + { + "id": "flier_52", + "text": "This is a poster advertising a underground bunker. The poster shows a nuclear bomb wiping out a city while a family huddles safely underground. There a slogan \"Concerned about enemy attack? Want to protect your family? Join the VAULT program today.\" which is written in the middle. However, there seems to be no information about *how* one might do so." + }, + { + "id": "flier_53", + "text": "This is a flier for Red Ryder BBGuns. On it a child is pulling a shining red wagon with a cooked pheasant on it and a wooden rifle over one shoulder. The child has a dog trailing beside him and a satisfied look on his face. The caption reads \"When you chose Red Ryder, you invested in the American Dream. You invested in our Independence.\"" + }, + { + "id": "flier_54", + "text": "This is an old flier for a movie from the 30s. A tan man with slick black hair and muscles bulging through his offwhite suit is clasping a woman to his hip with one hand, and the woman is wearing a black leather dress. With her hips splayed, she is holding a pistol in one hand and starring directly out of the advert. The caption reads \"Witness the rebirth of New Noir with 'Jersey Shore Blues'. Starring Jenifer Languiz as 'Snookie'!\"" + }, + { + "id": "flier_55", + "text": "\"Joe's Diner; 1/2 pound of meat, 3 toppings, 'your choice', all with a side of freedom fries and a BIG Gulp size pop.\"" + }, + { + "id": "flier_56", + "text": "This is an advertisement for the Wink & Nod brand Soporific Induction CBM. It shows a picture of a woman sleeping on a bed of nails with a satisfied smile on her face. The caption reads: \"Catch Zs with ease, wherever you please!\"" + }, + { + "id": "flier_57", + "text": "This is a leaflet about autoclaving procedure. One sentence catches your attention \"/!\\Always place your tools into an autoclave pouch before autoclaving./!\\\"" + }, + { + "id": "flier_58", + "text": "This is an advertisement for a local hospital. You see a clean hospital room with a smiling man lying on the bed. The bed is connected to some medical apparatus with a \"Autodoc Mk. X\" printed on it. A doctor is seen working with its console, while his assistant is unpacking some high-tech hardware. The caption reads: \"Autodoc - augmentation has never been so easy, reliable, and safe.\"" + } ] }, { "type": "snippet", "category": "note", "text": [ - "\"WE WERE RIGHT THE GOVERNMENT DID IT\"", - "\"Have seen a zombie making its kin raise even despite damage that normally would take them down, the air around it shimmered like around that hole in the air we've seen creatures coming through back home\"", - "\"I shot the sheriff; but I couldn't find the deputy\"", - "\"Some plant vines started chasin after me, so I took a gas mask and some teargas and I ran through them.\"", - "\"Slingshot right through the windshield k?\"", - "\"When I was a kid I used to slingshot at bugs and birds. Its really playing off nowadays, Ill tell you what\"", - "\"ALL YOU STONERS WITH YOUR VIDEYA GAMES - I BET YOU WISH YOU TOOK THE TIME TO LEARN A SKILL NOW DONTYA\"", - "\"I tried to be a bard, but the rats didn't like my piping.\"", - "\"I found a chocolate bar on my pillow when I got home last night. I left and don't wanna go back.\"", - "\"this demon thing came after me it got me good i shot it but i dont know if ill make it\"", - "\"DANNY IF YOU READ THIS THIS IS CLARA WE'RE ALL OKAY AND WE'RE HEADING TO THE RIVER. A BOAT SAID THEY WERE DOCKED NEARBY.\"", - "\"When I think of all the dead people I get mad, because I was supposed to be the next big leader. WHERES MY CHANCE!??\"", - "\"A man in a black robe came up to me, said he wanted to make a deal...\"", - "\"Cha-cha-cha-chia! Saw a woman today, with fungus coming out her head like hair tendrils.\"", - "\"If only I had had more time with that Autodoc I could have saved them! But with that damn chip in their brain those poor cyborg wil never be human again...\"", - "\"Save the cyborgs! Please, whoever reads this, you must help them! Knock them out or deactivate them, I don't care how you do it. But put their unconscious body on that Autodoc and remove the chip that is messing up their brain!\"", - "\"Gotta slow down, man. I don't think we spend more than 20% of our time fightin', Put some Marley on and take off that racketus tripcore nonsense, man.\"", - "\"I kept shooting with my handgun, but I never got any better!\"", - "\"ITS OKEY GUYS! I BARRYED A TIME CAPSUL IN MY BACKYARD! I PUT IN SOME HOEHOES.\"", - "\"I got my tinfoil hat on. Good thing too, cause this monster was starrin at me kinda funny, trying to freeze my mind in place.\"", - "\"You want my advice? Smoke crack, it gets shit done.\"", - "\"ALWAYS WITH THE EFFICIENCY GUYS; YOURE ALWAYS WORKING TO GO HOME TO PAY RENT TO SLEEP TO WAKE UP TO WORK AGAIN. STOP\"", - "\"IM OFF TO THUNDERDOME, BYE SUCKERS.\"", - "\"If you get a parasite, take some sand and some vodka. Rub the sand into the afflicted area, real good too; like you're washing your hair. Then rinse with vodka.\"", - "\"I put my toilet water into a gastank. Then I poured it into a glass cup. Then I drank it without vomiting my insides back into the toilet.\"", - "\"This isn't real this is a test to turn you into a Manchurian Candidate!\"", - "\"They're all hiding on an oil rig, I heard it myself over the AM airwaves. They think they're the nobles of the 21st century, the prigs.\"", - "\"Some of 'em are big. Real big. Don't stick around, I saw my mate get fucking torn in half!\"", - "\"po p y fl ow er s don t ea at them\"", - "\"Some guy is walking through the horde without a scratch. Please tell me they're docile now. Please fucking tell me.\"", - "\"Why are all the lawnmowers broken?!\"", - "\"Some of the bridges, they're right next to each other, right? If you see something up ahead one of those, just careen through to the other side. My van was long enough to bridge right across!\"", - "\"BURN BURN BURN BURN BURN ALL BURN ALL BURN ALL BURN\"", - "\"I took all the supplies. Don't follow me. I'm sorry, man. I have to look out for myself now.\"", - "\"My next-door neighbor had a katana in his basement!\"", - "\"Am I the last one alive?\"", - "\"Boyfriend stole my pistol while I was asleep. I locked him in the bathroom and set the house on fire. At least he attracted their attention.\"", - "\"I get air conditioners, but... this whole laboratory is frozen to ice!\"", - "\"A wood ax works pretty well against them. So does a machete, but you can't cut down a tree.\"", - "\"Why would you hide in a farm? Sure, it's isolated, but if they know where you are, you don't exactly have cover on all sides.\"", - "\"Imagine if this spread to, like, Australia. Zombie kangaroos. Haha...\"", - "\"how DO I use THESE bionic THINGS? I just STUCK the wires IN my WRIST and now I CAN'T STOP twitching. AND now my LEG hurts! Is THAT acid?!\"", - "\"I tried playing memorial music for my dead brother, on a radio. They must have been attracted to it. I can't see his grave through the crowd anymore.\"", - "\"Took a picture of a dead dog leaping right onto a soldier. Sweet fucking shot!\"", - "\"Gas mask is nice and all, but I can hardly run with it on.\"", - "\"One of those robot tanks was blocking the way out. Got some sort of sweetspot, though, where it can't decide what to shoot with, maybe 30 yards or so? Made it to the truck and just drove.\"", - "\"Those evac shelters have basements. Remember when they were full of food? Every single one is fucking empty now...\"", - "\"I made mushroom babies. My arms hurt. I hurt. I had mushroom babies. They are growing now.\"", - "\"It doesn't matter how you die. You're gonna turn into one of them.\"", - "\"WHY DO ALL THE DEAD CHILDREN GO TO SCHOOL\"", - "\"Don't keep your goddamn casings! They'll just weigh you down.\"", - "\"Local auto shop is full of the things. And to think I worked with them on repairing cars... now they're just... fucking corpses.\"", - "\"DON'T EAT THE SLIME DON'T EAT THE SLIME DON'T EAT THE SLIME\"", - "\"I used to be human. But... my arms... they are like tentacles. I slither along akin to a snail and I shed my feathers every day.\"", - "\"Killed a giant worm thing, but now I'm only three feet tall. Should've just left the damn worm alone, now none of my clothes fit!\"", - "\"I don't have enough time to double tap. You don't either.\"", - "\"PINK TALL ONES RUN RUN RUN RUN RUN\"", - "\"Are they still human inside?\"", - "\"the eye it watches me it follows me everywhere help\"", - "\"tHE Portal it's so COld\"", - "\"They build modern bullets fuckin crazy. Set some on fire and they all goes like a lil grenade. Need kindling first.\"", - "\"GOD CAN'T SAVE US\"", - "\"SHOOT YOURSELF, LET IT END QUICKLY\"", - "\"There are five basic rules to survival. One, stay prepared and watchful. Two, keep your iron sights lined up or succumb. Three, stay FAR WAY from all\"", - "\"The bricks of this bathroom look like a face. Haha... it's all I can focus on. At least let me shit before you break down the door. Please...\"", - "\"What the hell are they mining for in these shafts?\"", - "\"I am one with the plants.\"", - "\"Broadsword! Yeah!\"", - "\"If you see a trail of dirt getting displaced in your direction... run. Run for your life.\"", - "\"DINT ATE THE MUSHROM\"", - "\"Libraries are useless after the apocalypse.\"", - "\"I swear to God I've seen these plant things before! In a book, or something! I swear...\"", - "\"Is robbing a bank easier or harder now that all the guards are undead?\"", - "\"Make sure your car is REALLY stopped before you get out.\"", - "\"I found some kind of stone pyramid with spikes. I feel... I feel like I'm being watched.\"", - "\"Why would you ever hide in a damn gun store? The owner... he was a moron alright.\"", - "\"THEY DON'T feel ANYTHING\"", - "\"What was XEDRA doing, anyway?\"", - "\"Is that one pharmaceutical company gonna come out with a, like, cure for this anytime soon?\"", - "\"THE MARLEY WAS RIGHT\"", - "\"Squeeze some ammonia into zombie flesh and hold it tight. You smell like one of them! I think.\"", - "\"I thought my damn terminal cancer was bad enough... now the dead are rising?!\"", - "\"THE GOO IS IN THE WATER DON'T DRINK WATER\"", - "\"Don't let the ember go out please don't go out I need you precious fire.\"", - "\"Everyone used their gas to get to another town... but it's the same story everywhere.\"", - "\"There's still an evacuation point at Concord, spread the word.\"", - "\"STAY AWAY FROM CONCORD\"", - "\"Most things can be taken out with a shotgun. More things can be taken out with a grenade. Imagine what a mini-nuke does.\"", - "\"Come to the bar if you see this, let's re-enact a zombie movie, friends.\"", - "\"They are NOT slow! They are NEVER slow!\"", - "\"I had a phobia of bees BEFORE they grew to enormous sizes.\"", - "\"Your backpack's gonna weigh you down in the water. Hell, feel free to get naked. Nobody's going to judge your modesty.\"", - "\"Guns too loud. Crossbow too long. Running is best.\"", - "\"99% dead? I'd like to see a million zombies on Wall Street.\"", - "\"Crawled in through the vents. Whole office building is infested.\"", - "\"Don't shoot the people who get bit! It's OK! Death is the only thing that makes you turn!\"", - "\"Zombies, walkers, dead ones, undead, reanimated, zed, animata, biters. Did I miss any?\"", - "\"All I've got is this keg of beer and an appetite. Come at me, apocalypse!\"", - "\"My cousin says that murder nowadays is just a war crime. War for what, I don't know, since the undead seem to be rebels without a cause.\"", - "\"SWAMPS RUN SWAMPS NO SWAMPS RUN\"", - "\"They said a walking cane was a useless weapon... but then I hit one of them with it.\"", - "\"River water around these parts is extremely safe. Probably more safe than the damn tap water at this point.\"", - "\"DON't bomB THe PORtals it MAKES iT WORSE\"", - "\"No wonder all the camps got overrun, they kept a goddamn zombie test subject! Each and every one of 'em!\"", - "\"I just realized how damn demented those fliers are.\"", - "\"I propose a new currency: 9mm.\"", - "\"My skin is crawling and I teleport every few minutes... what is going o\"", - "\"You can't see them through the smoke but they can't either.\"", - "\"There's gotta be a better use of all this rebar...\"", - "\"met schoolhouse of people, all crazy and mad they were, ate killed all of them, yum\"", - "\"STAY AWAY FROM THE BIG ONES IN THE FOREST\"", - "\"got into a prison with a halligan bar. makes me wonder how they kept prisoners inside\"", - "\"This thing isn't a car any more. It's just a fucking mountain of metal on wheels, which I live in.\"", - "\"Anyone else seen those really... SQUARE-looking towns? I don't think they're normal.\"", - "\"big z threw me on top of the building, legs broken but at least im safe for a few more minutes\"", - "\"I'm starting to feel bad about disabling all these turrets and stealing their ammunition.\"", - "\"Make sure you strip the house for all available resources-- tubes, pipes, ceramics, sheets, strings, and more\"", - "\"FUCK FAUX-MUTANTS, BEING 'EXTREMELY THIRSTY' DOES NOT COUNT\"", - "\"There's nothing wrong with eating people if you HAVE to. I mean, I only did it because I didn't want to waste my potato chips!\"", - "\"all these robotic police really take the piss out of kops\"", - "\"CHINA DID THIS\"", - "\"RUSSIA DID THIS\"", - "\"Thank You RivTech. Thank You For Good Coffee. Will Always Stay Awake For You Rivtech.\"", - "\"See, now I'm just not sure where I'm putting all these storage batteries in my body!\"", - "\"dont try to leave they will shoot you\"", - "\"I'd like to thank my high-school culinary arts class for teaching me how to make RDX and mutagenic serum.\"", - "\"Makayla Sanchez burned down my fucking house\"", - "\"he calls himself the 'man with the hands', don't approach\"", - "\"So... what happens if the military rescues us? We're all freaks by now, right? How the fuck are we gonna go back to real life?\"", - "\"Not sure if my companion WANTED to turn into a bird, but I was the one giving her the serum, and I saved her life! That's fair, right?\"", - "\"I've never been very confident, is that why my shots keep missing?\"", - "\"FIRE BAD. NOW NAKED. PLEASE HELP.\"", - "\"Heard of a place up in Maine where people have their shit together. Hundreds of people, defense, food and shelter... let's go raid it, guys!\"", - "\"KASHWAK: NO-FO\"", - "\"The whispering fog is taking me in like a blanket. I'm warm now. I'm finally\"", - "\"got a video recording of hour one when the portals were still up. pretty cool\"", - "\"Stuck here. Zombies outside. Friends were outside too, now they're part of zombies. Need to be quiet\"", - "\"if anyones reading this, please tell my mom i was right about insects being superior\"", - "\"Diamond coated sword! Diamond coated hammer! Diamond coated clothes! Diamond coated hands help\"", - "\"waded through 14 miles of sewage for playboy magazine, wasnt worth it\"", - "\"I'm coming back for this note in twelve hours. If I don't, take all my shit!\"", - "\"all my friends died when they came near me. there's nothing funny about that\"", - "\"DOG NOT REAL DOG\"", - "\"This is all just a dream, right??! I'M GOING TO WAKE UP, SHE'S GOING TO BE OK\"", - "\"wek ik spak\"", - "\"IT'S BURIED! THE TEMPLE IS BURIED!\"", - "\"If I had a dollar for every cash card I've found, I'd have more money than is on these stupid things!\"", - "\"can never have enough kevlar. basically just live in a kevlar turtle shell.\"", - "\"MY GLITTERING SNAKE COMPELS YOU! OBEY!\"", - "\"can sunstasin self frorever off fof my funggnaloid babiues oout fo yme arms eat themm up eatbtb my chidlldren\"", - "\"Gonna settle down one day. Nice big orchard, couple of friends/future family to spend time with, and my army of zlaves to guard the place.\"", - "\"a ctulaly don t mi nd t he cold it s f i ne in h ere nn o problem\"", - "\"tried to shoot myself but the nanobots fixed it, fucked up the controls, now i can't turn them off i just want it to be over\"", - "\"Tried wearing dead zombie clothes, but they still knew I was alive! It's like they're a hivemind, man!\"", - "\"riddle. what's 1/4 feathers, 1/4 scales, 1/4 metal, and 1/4 flesh? answer: sorry, but you should know this one.\"", - "\"For anyone that's reading this, I just want to confirm (FROM AN UNBIASED SOURCE) that it was NOT the scientists' fault.\"", - "\"We're the eagle-eyes in the sky! Just two mutant avians in our helicopter! Filming the Cataclysm! Check us out on any working electronics!\"", - "\"WE'RE GOING TO SAIL TO CANADA, BITCHES!\"", - "\"Anyone hear about that guy who tried to sail his family to Canada? What a moron, right?\"", - "\"recently canadian border has gotten more dangerous don't go there\"", - "\"Hey, what happened to my dad's airboat?!\"", - "\"Reading is good! Never stop reading. Read EVERYTHING.\"", - "\"I'm gonna be honest here, I'm really gonna die soon so I dont want to gt forgnottedn ples dont forntget me y nrmmy name is h@@hbhbh\"", - "\"all it takes to seal a wound is a sawblade and a match! trust me\"", - "\"I wonder what's in this sarcophagus? Maybe it's a real sarcophagus. Maybe there's a big guy named God under here.\"", - "\"these hulks aint so incredible when ya got .50\"", - "\"WBLF 970 went off-air three days ago. There's nobody left on the radio. Might as well throw this thing away...\"", - "\"I've heard it's safer across the Mississippi. Going to start driving today. If you're reading this, pray for me\"", - "\"Mi-go is friend! Go with Mi-go to friend dimension! On the Friend Team!!\"", - "\"We have Landed our Comet. The Sky is Ablaze.\"", - "\"Last one standing. It's good feeling. I win. I win I win I win I win I win\"", - "\"Adderall cures weakness, tramadol cures death\"", - "\"These turrets keep dodging my FUCKING BULLETS!\"", - "\"Best way to train is by throwing pebbles at birds. You'll be a legend.\"", - "\"new bedford is overrun. i'm sorry. we tried.\"", - "\"Check out my cooking show on The Television! Making Mannwurst sausages out of some of those assholes who tried to raid my kitchen earlier...\"", - "\"Renting out my rat tunnels for 50 9mm rounds a night. I dug them with my own claws, so you know they're the best.\"", - "\"Anyone wanna listen to some music at full volume and shoot the Zs that approach? You pick the tunes if I get some ammo.\"", - "\"Lots of new easy ways to burn calories now. Fighting aminata, managing the fields, running with my wings buzzing, and more.\"", - "\"FLAMING SWORD HUMANE. CAUTERIZES WOUNDS. SURGICAL.\"", - "\"knife screams it screams i cant breathe so scared help me please help\"", - "\"when it started, we could still hope The Man was gonna save us...\"", - "\"Hey, Ted. Alexander and Cass and I are heading to Z-Mobile for the last of the meth. Keep the lizard fetus fed for us, OK?\"", - "\"i say we call the material from melting down cars and dead robots 'massachusetite' or 'vermontsteel' or 'connecticut composite'\"", - "\"Sometimes what you need when you're infected, bleeding, sick and hungover is a J and some chips.\"", - "\"This has to be China's fault. Seriously, why is nobody suspecting the people we're having a cold war with! This is an invasion! These aren't zombies, it's just camoflauge! WAKE UP, SHEEPLE!\"", - "\"Hahahahaa stupid fuck in his mansion, with his plate armor and big axe. Guy never swung the thing in his life. Can't block bullets, dipshit\"", - "\"I woke up with a dozen bears in a tribe outside the vault. One was covered in red markings, glowing-- speaking.\"", - "\"poor guy. watched him from afar with my binocs for months and months. today he died fighting. feels like i knew him even though i never approached.\"", - "\"ENGLAND DID THIS\"", - "\"That little fakkin rat din say anythin till we whacked him with a steel chain! Then 'e just wanted to know if he could buy the chain!\"", - "\"tom, adorned with fluid sacs three layers deep, crawls to safety like a slug\"", - "\"my friend turned fuckin insane and ate his arms and then his sister's arms! he looked rather cross\"", - "\"Starting today, the hallucinations are my only friends.\"", - "\"For sale: zombaby shoes, very filthy\"", - "\"Started my own brewery recently. I just need some glass bottles, now! Several thousand! I'm planning way ahead.\"", - "\"Heard recently of some radio op who lives in a skyscraper, announcing where those hordes are going. Couldn't find the frequency, though.\"", - "\"Woah, bud! Not all cannibals eat meat!\"", - "\"ay why aint my bullets fuckin explodin\"", - "\"Those Fiktok clan people picked this place clean... no food...\"", - "\"The fewer people in New England, the stronger we'll become.\"", - "\"It all boils down to the Apex Predator.\"", - "\"King Jameson ik goner! Thee cyber limbs isk falleng off me body! Stak pyroteknik I heear!\"", - "\"Got my mortar and pestle. Now if I could just find some avocados...\"", - "\"saw a girl standing with the mushrooms. spores coming out of slits in her neck. she looked happy.\"", - "\"Found some pink berries. Eating them makes bushes into more pink berries. Infinite berry.\"", - "\"m ust grow unity\"", - "\"AMY IS FUNGUS. DO NOT LISTEN IF SHE ASKS YOU TO TAKE OFF MASK\"", - "\"my rabbi follows a new god now. asks us to call him a local guide. i dont mind, he keeps us fed\"", - "\"Fungus are helping us. Help them and they will unite us\"", - "\"Saw a boy couldnt be older than 16. Walked straight through the mushroom tower. THROUGH IT\"", - "\"Found some food in a box outside my house. We ate it and now the fungaloids aren't harming us. I think we are a mushroom now\"", - "\"saw the girl again. she looked dead exhausted and walked right into the fungus. 30 mins later and she walked out good as new\"", - "\"HADENSBROOK REBUILT AROUND FUNGUS. THEY EAT GRAY APPLES AND SPREAD IT\"", - "\"mycus must grow\"", - "\"School bus with solar panels = TRUST. Gave us berries and seeds, we were out of food\"", - "\"d o nThelp scho Ol buss makE seeeedS ARe FUNGUS!! !\"", - "\"Go to every fungus patch you find but WEAR A SUIT. Food there is very very filling. Look for pink berries, blue flowers\"", - "\"red blue yellow berry seed sap bloom flowers tower mycus mycus mycus.\"", - "\"Husband 30 yrs died in bombs. Mushrooms brought him back. GIVE YOURSELF TO THEm AND THEY WILL HELP YOU\"", - "\"Lisa always was a fan of sports. Thank God these Global Athletics Games in Harran started some time before the outbreak, so she was able to leave New England before it was quarantined. I can only hope there are no zombies, as we do have here, in the city she flew to.\"", - "\"Don't mix powders, them books said. Do Not Mix powders. Didn't listen did I. Blew my goddamn pinky off, near lost my right eye.\"", - "\"followed what toby wrote down. shells looked like theyd hold more, I put in some more. traded most to h raiders for crank. shot my 38 today and it fuckn exploded. low on crank, good as dead, no gun, no toby. headed to montreal real sorry bout the bullets\"" + { "id": "note_1", "text": "\"WE WERE RIGHT THE GOVERNMENT DID IT\"" }, + { + "id": "note_2", + "text": "\"Have seen a zombie making its kin raise even despite damage that normally would take them down, the air around it shimmered like around that hole in the air we've seen creatures coming through back home\"" + }, + { "id": "note_3", "text": "\"I shot the sheriff; but I couldn't find the deputy\"" }, + { + "id": "note_4", + "text": "\"Some plant vines started chasin after me, so I took a gas mask and some teargas and I ran through them.\"" + }, + { "id": "note_5", "text": "\"Slingshot right through the windshield k?\"" }, + { + "id": "note_6", + "text": "\"When I was a kid I used to slingshot at bugs and birds. Its really playing off nowadays, Ill tell you what\"" + }, + { + "id": "note_7", + "text": "\"ALL YOU STONERS WITH YOUR VIDEYA GAMES - I BET YOU WISH YOU TOOK THE TIME TO LEARN A SKILL NOW DONTYA\"" + }, + { "id": "note_8", "text": "\"I tried to be a bard, but the rats didn't like my piping.\"" }, + { + "id": "note_9", + "text": "\"I found a chocolate bar on my pillow when I got home last night. I left and don't wanna go back.\"" + }, + { + "id": "note_10", + "text": "\"this demon thing came after me it got me good i shot it but i dont know if ill make it\"" + }, + { + "id": "note_11", + "text": "\"DANNY IF YOU READ THIS THIS IS CLARA WE'RE ALL OKAY AND WE'RE HEADING TO THE RIVER. A BOAT SAID THEY WERE DOCKED NEARBY.\"" + }, + { + "id": "note_12", + "text": "\"When I think of all the dead people I get mad, because I was supposed to be the next big leader. WHERES MY CHANCE!??\"" + }, + { "id": "note_13", "text": "\"A man in a black robe came up to me, said he wanted to make a deal…\"" }, + { + "id": "note_14", + "text": "\"Cha-cha-cha-chia! Saw a woman today, with fungus coming out her head like hair tendrils.\"" + }, + { + "id": "note_15", + "text": "\"If only I had had more time with that Autodoc I could have saved them! But with that damn chip in their brain those poor cyborg wil never be human again…\"" + }, + { + "id": "note_16", + "text": "\"Save the cyborgs! Please, whoever reads this, you must help them! Knock them out or deactivate them, I don't care how you do it. But put their unconscious body on that Autodoc and remove the chip that is messing up their brain!\"" + }, + { + "id": "note_17", + "text": "\"Gotta slow down, man. I don't think we spend more than 20% of our time fightin', Put some Marley on and take off that racketus tripcore nonsense, man.\"" + }, + { "id": "note_18", "text": "\"I kept shooting with my handgun, but I never got any better!\"" }, + { + "id": "note_19", + "text": "\"ITS OKEY GUYS! I BARRYED A TIME CAPSUL IN MY BACKYARD! I PUT IN SOME HOEHOES.\"" + }, + { + "id": "note_20", + "text": "\"I got my tinfoil hat on. Good thing too, cause this monster was starrin at me kinda funny, trying to freeze my mind in place.\"" + }, + { "id": "note_21", "text": "\"You want my advice? Smoke crack, it gets shit done.\"" }, + { + "id": "note_22", + "text": "\"ALWAYS WITH THE EFFICIENCY GUYS; YOURE ALWAYS WORKING TO GO HOME TO PAY RENT TO SLEEP TO WAKE UP TO WORK AGAIN. STOP\"" + }, + { "id": "note_23", "text": "\"IM OFF TO THUNDERDOME, BYE SUCKERS.\"" }, + { + "id": "note_24", + "text": "\"If you get a parasite, take some sand and some vodka. Rub the sand into the afflicted area, real good too; like you're washing your hair. Then rinse with vodka.\"" + }, + { + "id": "note_25", + "text": "\"I put my toilet water into a gastank. Then I poured it into a glass cup. Then I drank it without vomiting my insides back into the toilet.\"" + }, + { "id": "note_26", "text": "\"This isn't real this is a test to turn you into a Manchurian Candidate!\"" }, + { + "id": "note_27", + "text": "\"They're all hiding on an oil rig, I heard it myself over the AM airwaves. They think they're the nobles of the 21st century, the prigs.\"" + }, + { + "id": "note_28", + "text": "\"Some of 'em are big. Real big. Don't stick around, I saw my mate get fucking torn in half!\"" + }, + { "id": "note_29", "text": "\"po p y fl ow er s don t ea at them\"" }, + { + "id": "note_30", + "text": "\"Some guy is walking through the horde without a scratch. Please tell me they're docile now. Please fucking tell me.\"" + }, + { "id": "note_31", "text": "\"Why are all the lawnmowers broken?!\"" }, + { + "id": "note_32", + "text": "\"Some of the bridges, they're right next to each other, right? If you see something up ahead one of those, just careen through to the other side. My van was long enough to bridge right across!\"" + }, + { "id": "note_33", "text": "\"BURN BURN BURN BURN BURN ALL BURN ALL BURN ALL BURN\"" }, + { + "id": "note_34", + "text": "\"I took all the supplies. Don't follow me. I'm sorry, man. I have to look out for myself now.\"" + }, + { "id": "note_35", "text": "\"My next-door neighbor had a katana in his basement!\"" }, + { "id": "note_36", "text": "\"Am I the last one alive?\"" }, + { + "id": "note_37", + "text": "\"Boyfriend stole my pistol while I was asleep. I locked him in the bathroom and set the house on fire. At least he attracted their attention.\"" + }, + { "id": "note_38", "text": "\"I get air conditioners, but… this whole laboratory is frozen to ice!\"" }, + { + "id": "note_39", + "text": "\"A wood ax works pretty well against them. So does a machete, but you can't cut down a tree.\"" + }, + { + "id": "note_40", + "text": "\"Why would you hide in a farm? Sure, it's isolated, but if they know where you are, you don't exactly have cover on all sides.\"" + }, + { "id": "note_41", "text": "\"Imagine if this spread to, like, Australia. Zombie kangaroos. Haha…\"" }, + { + "id": "note_42", + "text": "\"how DO I use THESE bionic THINGS? I just STUCK the wires IN my WRIST and now I CAN'T STOP twitching. AND now my LEG hurts! Is THAT acid?!\"" + }, + { + "id": "note_43", + "text": "\"I tried playing memorial music for my dead brother, on a radio. They must have been attracted to it. I can't see his grave through the crowd anymore.\"" + }, + { + "id": "note_44", + "text": "\"Took a picture of a dead dog leaping right onto a soldier. Sweet fucking shot!\"" + }, + { "id": "note_45", "text": "\"Gas mask is nice and all, but I can hardly run with it on.\"" }, + { + "id": "note_46", + "text": "\"One of those robot tanks was blocking the way out. Got some sort of sweetspot, though, where it can't decide what to shoot with, maybe 30 yards or so? Made it to the truck and just drove.\"" + }, + { + "id": "note_47", + "text": "\"Those evac shelters have basements. Remember when they were full of food? Every single one is fucking empty now…\"" + }, + { + "id": "note_48", + "text": "\"I made mushroom babies. My arms hurt. I hurt. I had mushroom babies. They are growing now.\"" + }, + { "id": "note_49", "text": "\"It doesn't matter how you die. You're gonna turn into one of them.\"" }, + { "id": "note_50", "text": "\"WHY DO ALL THE DEAD CHILDREN GO TO SCHOOL\"" }, + { "id": "note_51", "text": "\"Don't keep your goddamn casings! They'll just weigh you down.\"" }, + { + "id": "note_52", + "text": "\"Local auto shop is full of the things. And to think I worked with them on repairing cars… now they're just… fucking corpses.\"" + }, + { "id": "note_53", "text": "\"DON'T EAT THE SLIME DON'T EAT THE SLIME DON'T EAT THE SLIME\"" }, + { + "id": "note_54", + "text": "\"I used to be human. But… my arms… they are like tentacles. I slither along akin to a snail and I shed my feathers every day.\"" + }, + { + "id": "note_55", + "text": "\"Killed a giant worm thing, but now I'm only three feet tall. Should've just left the damn worm alone, now none of my clothes fit!\"" + }, + { "id": "note_56", "text": "\"I don't have enough time to double tap. You don't either.\"" }, + { "id": "note_57", "text": "\"PINK TALL ONES RUN RUN RUN RUN RUN\"" }, + { "id": "note_58", "text": "\"Are they still human inside?\"" }, + { "id": "note_59", "text": "\"the eye it watches me it follows me everywhere help\"" }, + { "id": "note_60", "text": "\"tHE Portal it's so COld\"" }, + { + "id": "note_61", + "text": "\"They build modern bullets fuckin crazy. Set some on fire and they all goes like a lil grenade. Need kindling first.\"" + }, + { "id": "note_62", "text": "\"GOD CAN'T SAVE US\"" }, + { "id": "note_63", "text": "\"SHOOT YOURSELF, LET IT END QUICKLY\"" }, + { + "id": "note_64", + "text": "\"There are five basic rules to survival. One, stay prepared and watchful. Two, keep your iron sights lined up or succumb. Three, stay FAR WAY from all\"" + }, + { + "id": "note_65", + "text": "\"The bricks of this bathroom look like a face. Haha… it's all I can focus on. At least let me shit before you break down the door. Please…\"" + }, + { "id": "note_66", "text": "\"What the hell are they mining for in these shafts?\"" }, + { "id": "note_67", "text": "\"I am one with the plants.\"" }, + { "id": "note_68", "text": "\"Broadsword! Yeah!\"" }, + { + "id": "note_69", + "text": "\"If you see a trail of dirt getting displaced in your direction… run. Run for your life.\"" + }, + { "id": "note_70", "text": "\"DINT ATE THE MUSHROM\"" }, + { "id": "note_71", "text": "\"Libraries are useless after the apocalypse.\"" }, + { + "id": "note_72", + "text": "\"I swear to God I've seen these plant things before! In a book, or something! I swear…\"" + }, + { "id": "note_73", "text": "\"Is robbing a bank easier or harder now that all the guards are undead?\"" }, + { "id": "note_74", "text": "\"Make sure your car is REALLY stopped before you get out.\"" }, + { + "id": "note_75", + "text": "\"I found some kind of stone pyramid with spikes. I feel… I feel like I'm being watched.\"" + }, + { + "id": "note_76", + "text": "\"Why would you ever hide in a damn gun store? The owner… he was a moron alright.\"" + }, + { "id": "note_77", "text": "\"THEY DON'T feel ANYTHING\"" }, + { "id": "note_78", "text": "\"What was XEDRA doing, anyway?\"" }, + { + "id": "note_79", + "text": "\"Is that one pharmaceutical company gonna come out with a, like, cure for this anytime soon?\"" + }, + { "id": "note_80", "text": "\"THE MARLEY WAS RIGHT\"" }, + { + "id": "note_81", + "text": "\"Squeeze some ammonia into zombie flesh and hold it tight. You smell like one of them! I think.\"" + }, + { "id": "note_82", "text": "\"I thought my damn terminal cancer was bad enough… now the dead are rising?!\"" }, + { "id": "note_83", "text": "\"THE GOO IS IN THE WATER DON'T DRINK WATER\"" }, + { "id": "note_84", "text": "\"Don't let the ember go out please don't go out I need you precious fire.\"" }, + { + "id": "note_85", + "text": "\"Everyone used their gas to get to another town… but it's the same story everywhere.\"" + }, + { "id": "note_86", "text": "\"There's still an evacuation point at Concord, spread the word.\"" }, + { "id": "note_87", "text": "\"STAY AWAY FROM CONCORD\"" }, + { + "id": "note_88", + "text": "\"Most things can be taken out with a shotgun. More things can be taken out with a grenade. Imagine what a mini-nuke does.\"" + }, + { "id": "note_89", "text": "\"Come to the bar if you see this, let's re-enact a zombie movie, friends.\"" }, + { "id": "note_90", "text": "\"They are NOT slow! They are NEVER slow!\"" }, + { "id": "note_91", "text": "\"I had a phobia of bees BEFORE they grew to enormous sizes.\"" }, + { + "id": "note_92", + "text": "\"Your backpack's gonna weigh you down in the water. Hell, feel free to get naked. Nobody's going to judge your modesty.\"" + }, + { "id": "note_93", "text": "\"Guns too loud. Crossbow too long. Running is best.\"" }, + { "id": "note_94", "text": "\"99% dead? I'd like to see a million zombies on Wall Street.\"" }, + { "id": "note_95", "text": "\"Crawled in through the vents. Whole office building is infested.\"" }, + { + "id": "note_96", + "text": "\"Don't shoot the people who get bit! It's OK! Death is the only thing that makes you turn!\"" + }, + { + "id": "note_97", + "text": "\"Zombies, walkers, dead ones, undead, reanimated, zed, animata, biters. Did I miss any?\"" + }, + { "id": "note_98", "text": "\"All I've got is this keg of beer and an appetite. Come at me, apocalypse!\"" }, + { + "id": "note_99", + "text": "\"My cousin says that murder nowadays is just a war crime. War for what, I don't know, since the undead seem to be rebels without a cause.\"" + }, + { "id": "note_100", "text": "\"SWAMPS RUN SWAMPS NO SWAMPS RUN\"" }, + { + "id": "note_101", + "text": "\"They said a walking cane was a useless weapon… but then I hit one of them with it.\"" + }, + { + "id": "note_102", + "text": "\"River water around these parts is extremely safe. Probably more safe than the damn tap water at this point.\"" + }, + { "id": "note_103", "text": "\"DON't bomB THe PORtals it MAKES iT WORSE\"" }, + { + "id": "note_104", + "text": "\"No wonder all the camps got overrun, they kept a goddamn zombie test subject! Each and every one of 'em!\"" + }, + { "id": "note_105", "text": "\"I just realized how damn demented those fliers are.\"" }, + { "id": "note_106", "text": "\"I propose a new currency: 9mm.\"" }, + { "id": "note_107", "text": "\"My skin is crawling and I teleport every few minutes… what is going o\"" }, + { "id": "note_108", "text": "\"You can't see them through the smoke but they can't either.\"" }, + { "id": "note_109", "text": "\"There's gotta be a better use of all this rebar…\"" }, + { + "id": "note_110", + "text": "\"met schoolhouse of people, all crazy and mad they were, ate killed all of them, yum\"" + }, + { "id": "note_111", "text": "\"STAY AWAY FROM THE BIG ONES IN THE FOREST\"" }, + { + "id": "note_112", + "text": "\"got into a prison with a halligan bar. makes me wonder how they kept prisoners inside\"" + }, + { + "id": "note_113", + "text": "\"This thing isn't a car any more. It's just a fucking mountain of metal on wheels, which I live in.\"" + }, + { + "id": "note_114", + "text": "\"Anyone else seen those really… SQUARE-looking towns? I don't think they're normal.\"" + }, + { + "id": "note_115", + "text": "\"big z threw me on top of the building, legs broken but at least im safe for a few more minutes\"" + }, + { + "id": "note_116", + "text": "\"I'm starting to feel bad about disabling all these turrets and stealing their ammunition.\"" + }, + { + "id": "note_117", + "text": "\"Make sure you strip the house for all available resources-- tubes, pipes, ceramics, sheets, strings, and more\"" + }, + { "id": "note_118", "text": "\"FUCK FAUX-MUTANTS, BEING 'EXTREMELY THIRSTY' DOES NOT COUNT\"" }, + { + "id": "note_119", + "text": "\"There's nothing wrong with eating people if you HAVE to. I mean, I only did it because I didn't want to waste my potato chips!\"" + }, + { "id": "note_120", "text": "\"all these robotic police really take the piss out of kops\"" }, + { "id": "note_121", "text": "\"CHINA DID THIS\"" }, + { "id": "note_122", "text": "\"RUSSIA DID THIS\"" }, + { + "id": "note_123", + "text": "\"Thank You RivTech. Thank You For Good Coffee. Will Always Stay Awake For You Rivtech.\"" + }, + { + "id": "note_124", + "text": "\"See, now I'm just not sure where I'm putting all these storage batteries in my body!\"" + }, + { "id": "note_125", "text": "\"dont try to leave they will shoot you\"" }, + { + "id": "note_126", + "text": "\"I'd like to thank my high-school culinary arts class for teaching me how to make RDX and mutagenic serum.\"" + }, + { "id": "note_127", "text": "\"Makayla Sanchez burned down my fucking house\"" }, + { "id": "note_128", "text": "\"he calls himself the 'man with the hands', don't approach\"" }, + { + "id": "note_129", + "text": "\"So… what happens if the military rescues us? We're all freaks by now, right? How the fuck are we gonna go back to real life?\"" + }, + { + "id": "note_130", + "text": "\"Not sure if my companion WANTED to turn into a bird, but I was the one giving her the serum, and I saved her life! That's fair, right?\"" + }, + { "id": "note_131", "text": "\"I've never been very confident, is that why my shots keep missing?\"" }, + { "id": "note_132", "text": "\"FIRE BAD. NOW NAKED. PLEASE HELP.\"" }, + { + "id": "note_133", + "text": "\"Heard of a place up in Maine where people have their shit together. Hundreds of people, defense, food and shelter… let's go raid it, guys!\"" + }, + { "id": "note_134", "text": "\"KASHWAK: NO-FO\"" }, + { + "id": "note_135", + "text": "\"The whispering fog is taking me in like a blanket. I'm warm now. I'm finally\"" + }, + { + "id": "note_136", + "text": "\"got a video recording of hour one when the portals were still up. pretty cool\"" + }, + { + "id": "note_137", + "text": "\"Stuck here. Zombies outside. Friends were outside too, now they're part of zombies. Need to be quiet\"" + }, + { + "id": "note_138", + "text": "\"if anyones reading this, please tell my mom i was right about insects being superior\"" + }, + { + "id": "note_139", + "text": "\"Diamond coated sword! Diamond coated hammer! Diamond coated clothes! Diamond coated hands help\"" + }, + { "id": "note_140", "text": "\"waded through 14 miles of sewage for playboy magazine, wasnt worth it\"" }, + { + "id": "note_141", + "text": "\"I'm coming back for this note in twelve hours. If I don't, take all my shit!\"" + }, + { + "id": "note_142", + "text": "\"all my friends died when they came near me. there's nothing funny about that\"" + }, + { "id": "note_143", "text": "\"DOG NOT REAL DOG\"" }, + { + "id": "note_144", + "text": "\"This is all just a dream, right??! I'M GOING TO WAKE UP, SHE'S GOING TO BE OK\"" + }, + { "id": "note_145", "text": "\"wek ik spak\"" }, + { "id": "note_146", "text": "\"IT'S BURIED! THE TEMPLE IS BURIED!\"" }, + { + "id": "note_147", + "text": "\"If I had a dollar for every cash card I've found, I'd have more money than is on these stupid things!\"" + }, + { "id": "note_148", "text": "\"can never have enough kevlar. basically just live in a kevlar turtle shell.\"" }, + { "id": "note_149", "text": "\"MY GLITTERING SNAKE COMPELS YOU! OBEY!\"" }, + { + "id": "note_150", + "text": "\"can sunstasin self frorever off fof my funggnaloid babiues oout fo yme arms eat themm up eatbtb my chidlldren\"" + }, + { + "id": "note_151", + "text": "\"Gonna settle down one day. Nice big orchard, couple of friends/future family to spend time with, and my army of zlaves to guard the place.\"" + }, + { "id": "note_152", "text": "\"a ctulaly don t mi nd t he cold it s f i ne in h ere nn o problem\"" }, + { + "id": "note_153", + "text": "\"tried to shoot myself but the nanobots fixed it, fucked up the controls, now i can't turn them off i just want it to be over\"" + }, + { + "id": "note_154", + "text": "\"Tried wearing dead zombie clothes, but they still knew I was alive! It's like they're a hivemind, man!\"" + }, + { + "id": "note_155", + "text": "\"riddle. what's 1/4 feathers, 1/4 scales, 1/4 metal, and 1/4 flesh? answer: sorry, but you should know this one.\"" + }, + { + "id": "note_156", + "text": "\"For anyone that's reading this, I just want to confirm (FROM AN UNBIASED SOURCE) that it was NOT the scientists' fault.\"" + }, + { + "id": "note_157", + "text": "\"We're the eagle-eyes in the sky! Just two mutant avians in our helicopter! Filming the Cataclysm! Check us out on any working electronics!\"" + }, + { "id": "note_158", "text": "\"WE'RE GOING TO SAIL TO CANADA, BITCHES!\"" }, + { + "id": "note_159", + "text": "\"Anyone hear about that guy who tried to sail his family to Canada? What a moron, right?\"" + }, + { "id": "note_160", "text": "\"recently canadian border has gotten more dangerous don't go there\"" }, + { "id": "note_161", "text": "\"Hey, what happened to my dad's airboat?!\"" }, + { "id": "note_162", "text": "\"Reading is good! Never stop reading. Read EVERYTHING.\"" }, + { + "id": "note_163", + "text": "\"I'm gonna be honest here, I'm really gonna die soon so I dont want to gt forgnottedn ples dont forntget me y nrmmy name is h@@hbhbh\"" + }, + { "id": "note_164", "text": "\"all it takes to seal a wound is a sawblade and a match! trust me\"" }, + { + "id": "note_165", + "text": "\"I wonder what's in this sarcophagus? Maybe it's a real sarcophagus. Maybe there's a big guy named God under here.\"" + }, + { "id": "note_166", "text": "\"these hulks aint so incredible when ya got .50\"" }, + { + "id": "note_167", + "text": "\"WBLF 970 went off-air three days ago. There's nobody left on the radio. Might as well throw this thing away…\"" + }, + { + "id": "note_168", + "text": "\"I've heard it's safer across the Mississippi. Going to start driving today. If you're reading this, pray for me\"" + }, + { "id": "note_169", "text": "\"Mi-go is friend! Go with Mi-go to friend dimension! On the Friend Team!!\"" }, + { "id": "note_170", "text": "\"We have Landed our Comet. The Sky is Ablaze.\"" }, + { + "id": "note_171", + "text": "\"Last one standing. It's good feeling. I win. I win I win I win I win I win\"" + }, + { "id": "note_172", "text": "\"Adderall cures weakness, tramadol cures death\"" }, + { "id": "note_173", "text": "\"These turrets keep dodging my FUCKING BULLETS!\"" }, + { "id": "note_174", "text": "\"Best way to train is by throwing pebbles at birds. You'll be a legend.\"" }, + { "id": "note_175", "text": "\"new bedford is overrun. i'm sorry. we tried.\"" }, + { + "id": "note_176", + "text": "\"Check out my cooking show on The Television! Making Mannwurst sausages out of some of those assholes who tried to raid my kitchen earlier…\"" + }, + { + "id": "note_177", + "text": "\"Renting out my rat tunnels for 50 9mm rounds a night. I dug them with my own claws, so you know they're the best.\"" + }, + { + "id": "note_178", + "text": "\"Anyone wanna listen to some music at full volume and shoot the Zs that approach? You pick the tunes if I get some ammo.\"" + }, + { + "id": "note_179", + "text": "\"Lots of new easy ways to burn calories now. Fighting aminata, managing the fields, running with my wings buzzing, and more.\"" + }, + { "id": "note_180", "text": "\"FLAMING SWORD HUMANE. CAUTERIZES WOUNDS. SURGICAL.\"" }, + { "id": "note_181", "text": "\"knife screams it screams i cant breathe so scared help me please help\"" }, + { "id": "note_182", "text": "\"when it started, we could still hope The Man was gonna save us…\"" }, + { + "id": "note_183", + "text": "\"Hey, Ted. Alexander and Cass and I are heading to Z-Mobile for the last of the meth. Keep the lizard fetus fed for us, OK?\"" + }, + { + "id": "note_184", + "text": "\"i say we call the material from melting down cars and dead robots 'massachusetite' or 'vermontsteel' or 'connecticut composite'\"" + }, + { + "id": "note_185", + "text": "\"Sometimes what you need when you're infected, bleeding, sick and hungover is a J and some chips.\"" + }, + { + "id": "note_186", + "text": "\"This has to be China's fault. Seriously, why is nobody suspecting the people we're having a cold war with! This is an invasion! These aren't zombies, it's just camoflauge! WAKE UP, SHEEPLE!\"" + }, + { + "id": "note_187", + "text": "\"Hahahahaa stupid fuck in his mansion, with his plate armor and big axe. Guy never swung the thing in his life. Can't block bullets, dipshit\"" + }, + { + "id": "note_188", + "text": "\"I woke up with a dozen bears in a tribe outside the vault. One was covered in red markings, glowing-- speaking.\"" + }, + { + "id": "note_189", + "text": "\"poor guy. watched him from afar with my binocs for months and months. today he died fighting. feels like i knew him even though i never approached.\"" + }, + { "id": "note_190", "text": "\"ENGLAND DID THIS\"" }, + { + "id": "note_191", + "text": "\"That little fakkin rat din say anythin till we whacked him with a steel chain! Then 'e just wanted to know if he could buy the chain!\"" + }, + { "id": "note_192", "text": "\"tom, adorned with fluid sacs three layers deep, crawls to safety like a slug\"" }, + { + "id": "note_193", + "text": "\"my friend turned fuckin insane and ate his arms and then his sister's arms! he looked rather cross\"" + }, + { "id": "note_194", "text": "\"Starting today, the hallucinations are my only friends.\"" }, + { "id": "note_195", "text": "\"For sale: zombaby shoes, very filthy\"" }, + { + "id": "note_196", + "text": "\"Started my own brewery recently. I just need some glass bottles, now! Several thousand! I'm planning way ahead.\"" + }, + { + "id": "note_197", + "text": "\"Heard recently of some radio op who lives in a skyscraper, announcing where those hordes are going. Couldn't find the frequency, though.\"" + }, + { "id": "note_198", "text": "\"Woah, bud! Not all cannibals eat meat!\"" }, + { "id": "note_199", "text": "\"ay why aint my bullets fuckin explodin\"" }, + { "id": "note_200", "text": "\"Those Fiktok clan people picked this place clean… no food…\"" }, + { "id": "note_201", "text": "\"The fewer people in New England, the stronger we'll become.\"" }, + { "id": "note_202", "text": "\"It all boils down to the Apex Predator.\"" }, + { + "id": "note_203", + "text": "\"King Jameson ik goner! Thee cyber limbs isk falleng off me body! Stak pyroteknik I heear!\"" + }, + { "id": "note_204", "text": "\"Got my mortar and pestle. Now if I could just find some avocados…\"" }, + { + "id": "note_205", + "text": "\"saw a girl standing with the mushrooms. spores coming out of slits in her neck. she looked happy.\"" + }, + { + "id": "note_206", + "text": "\"Found some pink berries. Eating them makes bushes into more pink berries. Infinite berry.\"" + }, + { "id": "note_207", "text": "\"m ust grow unity\"" }, + { "id": "note_208", "text": "\"AMY IS FUNGUS. DO NOT LISTEN IF SHE ASKS YOU TO TAKE OFF MASK\"" }, + { + "id": "note_209", + "text": "\"my rabbi follows a new god now. asks us to call him a local guide. i dont mind, he keeps us fed\"" + }, + { "id": "note_210", "text": "\"Fungus are helping us. Help them and they will unite us\"" }, + { + "id": "note_211", + "text": "\"Saw a boy couldnt be older than 16. Walked straight through the mushroom tower. THROUGH IT\"" + }, + { + "id": "note_212", + "text": "\"Found some food in a box outside my house. We ate it and now the fungaloids aren't harming us. I think we are a mushroom now\"" + }, + { + "id": "note_213", + "text": "\"saw the girl again. she looked dead exhausted and walked right into the fungus. 30 mins later and she walked out good as new\"" + }, + { "id": "note_214", "text": "\"HADENSBROOK REBUILT AROUND FUNGUS. THEY EAT GRAY APPLES AND SPREAD IT\"" }, + { "id": "note_215", "text": "\"mycus must grow\"" }, + { + "id": "note_216", + "text": "\"School bus with solar panels = TRUST. Gave us berries and seeds, we were out of food\"" + }, + { + "id": "note_217", + "text": { "str": "\"d o nThelp scho Ol buss makE seeeedS ARe FUNGUS!! !\"", "//NOLINT(cata-text-style)": "intentional format" } + }, + { + "id": "note_218", + "text": "\"Go to every fungus patch you find but WEAR A SUIT. Food there is very very filling. Look for pink berries, blue flowers\"" + }, + { "id": "note_219", "text": "\"red blue yellow berry seed sap bloom flowers tower mycus mycus mycus.\"" }, + { + "id": "note_220", + "text": "\"Husband 30 yrs died in bombs. Mushrooms brought him back. GIVE YOURSELF TO THEm AND THEY WILL HELP YOU\"" + }, + { + "id": "note_221", + "text": "\"Lisa always was a fan of sports. Thank God these Global Athletics Games in Harran started some time before the outbreak, so she was able to leave New England before it was quarantined. I can only hope there are no zombies, as we do have here, in the city she flew to.\"" + }, + { + "id": "note_222", + "text": "\"Don't mix powders, them books said. Do Not Mix powders. Didn't listen did I. Blew my goddamn pinky off, near lost my right eye.\"" + }, + { + "id": "note_223", + "text": "\"followed what toby wrote down. shells looked like theyd hold more, I put in some more. traded most to h raiders for crank. shot my 38 today and it fuckn exploded. low on crank, good as dead, no gun, no toby. headed to montreal real sorry bout the bullets\"" + } ] }, { "type": "snippet", "category": "newest_news", "text": [ - "LABS BOMBED: In an apparent foreign attack (contradicting earlier Department of Defense denials of the disaster being caused by Chinese aggression) most of New England's scientific labs were bombed simultaneously yesterday. A statement from the Pentagon has been issued, stating the strikes were the result of Chinese opportunism during the national crisis, and assured that action would be taken in kind against the aggressors.", - "RIOTS GROWING?: Communications were muddled by a large influx of aggressive armed individuals. \"We have this under control,\" says a local police chief. \"We are authorizing our robotic security drones to use lethal force on combative humans.\"", - "RIOTERS NOT HUMAN?: An earlier command by regional police has backfired. \"The hooligans don't register as human.\" says a local police chief. \"The securibots turned on us when we tried to fight them. We don't have enough people left to reprogram them.\"", - "GENETIC MODIFICATIONS?: Eyewitnesses from the New England Disaster Area have claimed that the infected are displaying inhuman qualities. \"I swear to God, one of them was the size of a tree!\", said one panicked survivor. There are also reports of infected with acidic and/or electric properties.", - "SUPER-SOLDIERS DEPLOYED: General Westinghouse released a statement today that elite troops equipped with top-of-the-line experimental combat bionics have been deployed via helicopter into the New England Disaster Area. \"Through the strength of American technology and American soldiers, we will fix this disaster!\"", - "PUBLIC SERVICE ANNOUNCEMENT: \"Aid Delayed\". Fighting by the military at the edge of the New England Disaster Area is expected to delay civilian extraction. Civilians will be forced to supply themselves over the next weeks.", - "PUBLIC SERVICE ANNOUNCEMENT: \"New England Cut Off\". New England has been quarantined for the safety of the rest of the USA. No rescue attempts will be funded; it is assumed there are no survivors in the area.", - "LEAVE TO THE EXPERTS -- GENERAL: \"Do not attempt to deal with infected yourself, our troops have the technology and the training for military action. Loud gunfire may attract more hostile attention than you have ammo!\"", - "TOWNS OCCUPIED TERRITORY: FEMA officials said today \"Do not try to defend your property in towns: hostiles use advanced tracking, perhaps scent. Please retreat to your nearest evacuation center outside town and await extraction.\"", - "EDITOR SAYS \"DESTROY THE DEAD\". Recognizable dead left lying in the street may be dangerous! If you kill a hostile, smash or butcher with a knife until unrecognizable! The Geneva Conventions don't apply to civilians!", - "THEY'RE NOT RIOTS!: According to head officials at the Centers for Disease Control, autopsies of rioters in New England have shown massive pathological infection, possibly causing hyper-aggression, disregard for personal harm, and a severely-impaired ability for higher reasoning.", - "SOLDIERS SEEN HEADED UNDERGROUND. Rumors abound as eyewitness see troops headed underground near a local salon. Expert sources suggest that the soldiers may be headed to a possible underground bunker.", - "A BRIDGE TOO FAR: In a Monday statement, the Department of Defense detailed its plans to deploy strategic minefields on key bridge crossings, in order to quarantine infected regions. \"Military personnel will be on-site to assist any refugees fleeing the infected zones. We urge citizens to comply with all military directives and avoid quarantined areas whenever possible until order can be restored.\"" + { + "id": "newest_news_1", + "text": "LABS BOMBED: In an apparent foreign attack (contradicting earlier Department of Defense denials of the disaster being caused by Chinese aggression) most of New England's scientific labs were bombed simultaneously yesterday. A statement from the Pentagon has been issued, stating the strikes were the result of Chinese opportunism during the national crisis, and assured that action would be taken in kind against the aggressors." + }, + { + "id": "newest_news_2", + "text": "RIOTS GROWING?: Communications were muddled by a large influx of aggressive armed individuals. \"We have this under control,\" says a local police chief. \"We are authorizing our robotic security drones to use lethal force on combative humans.\"" + }, + { + "id": "newest_news_3", + "text": "RIOTERS NOT HUMAN?: An earlier command by regional police has backfired. \"The hooligans don't register as human.\" says a local police chief. \"The securibots turned on us when we tried to fight them. We don't have enough people left to reprogram them.\"" + }, + { + "id": "newest_news_4", + "text": "GENETIC MODIFICATIONS?: Eyewitnesses from the New England Disaster Area have claimed that the infected are displaying inhuman qualities. \"I swear to God, one of them was the size of a tree!\", said one panicked survivor. There are also reports of infected with acidic and/or electric properties." + }, + { + "id": "newest_news_5", + "text": "SUPER-SOLDIERS DEPLOYED: General Westinghouse released a statement today that elite troops equipped with top-of-the-line experimental combat bionics have been deployed via helicopter into the New England Disaster Area. \"Through the strength of American technology and American soldiers, we will fix this disaster!\"" + }, + { + "id": "newest_news_6", + "text": "PUBLIC SERVICE ANNOUNCEMENT: \"Aid Delayed\". Fighting by the military at the edge of the New England Disaster Area is expected to delay civilian extraction. Civilians will be forced to supply themselves over the next weeks." + }, + { + "id": "newest_news_7", + "text": "PUBLIC SERVICE ANNOUNCEMENT: \"New England Cut Off\". New England has been quarantined for the safety of the rest of the USA. No rescue attempts will be funded; it is assumed there are no survivors in the area." + }, + { + "id": "newest_news_8", + "text": "LEAVE TO THE EXPERTS -- GENERAL: \"Do not attempt to deal with infected yourself, our troops have the technology and the training for military action. Loud gunfire may attract more hostile attention than you have ammo!\"" + }, + { + "id": "newest_news_9", + "text": "TOWNS OCCUPIED TERRITORY: FEMA officials said today \"Do not try to defend your property in towns: hostiles use advanced tracking, perhaps scent. Please retreat to your nearest evacuation center outside town and await extraction.\"" + }, + { + "id": "newest_news_10", + "text": "EDITOR SAYS \"DESTROY THE DEAD\". Recognizable dead left lying in the street may be dangerous! If you kill a hostile, smash or butcher with a knife until unrecognizable! The Geneva Conventions don't apply to civilians!" + }, + { + "id": "newest_news_11", + "text": "THEY'RE NOT RIOTS!: According to head officials at the Centers for Disease Control, autopsies of rioters in New England have shown massive pathological infection, possibly causing hyper-aggression, disregard for personal harm, and a severely-impaired ability for higher reasoning." + }, + { + "id": "newest_news_12", + "text": "SOLDIERS SEEN HEADED UNDERGROUND. Rumors abound as eyewitness see troops headed underground near a local salon. Expert sources suggest that the soldiers may be headed to a possible underground bunker." + }, + { + "id": "newest_news_13", + "text": "A BRIDGE TOO FAR: In a Monday statement, the Department of Defense detailed its plans to deploy strategic minefields on key bridge crossings, in order to quarantine infected regions. \"Military personnel will be on-site to assist any refugees fleeing the infected zones. We urge citizens to comply with all military directives and avoid quarantined areas whenever possible until order can be restored.\"" + } ] }, { "type": "snippet", "category": "many_years_old_news", "text": [ - "QUANTUM LEAP: An undisclosed DARPA project has yielded results in the form of theoretical teleportation. \"This is just the tip of the iceberg,\" said an anonymous source. \"I can't disclose, but this development is the LEAST in this exciting vein!\"", - "SECURIBOTS: Keeping your home safe, ready the second the alarm goes off... Who needs people?", - "ROBOCOP BEATS CRIME: Due to the common usage of Securibots and their ability to respond more rapidly than people, crime is down 54% and dropping. Police chief says \"Don't trip an alarm and you have nothing to worry about\"", - "ROBOT RAMPAGE: Three Protesters injured when surrounding a Military base, protesting automated turrets which put guards out of jobs. \"We warned them, turrets will open fire on anyone without a military ID,\" a general said.", - "US IGNORES UN DEMANDS: The US ambassador to the UN today turned down UN requests to begin mutual nuclear disarmament of China, the US and North Korea. \"We have a right to defend ourselves,\" insisted the ambassador. \"We'll back down when they do\".", - "A WHOLE NEW YOU! Augment your world with CBMs! This ad features a man covered in glowing tattoos with a miniature flashlight in the middle of his head. He's waving at the reader; all of his fingertips are Allen wrenches.", - "The Future... powered by COFFEE! Rivtech brings you the greatest revolution since espresso. Why wait for milk to boil? Have your coffee ready instantly with \"THE POWER OF THE ATOM\"!", - "GLAMOPOLITAN! We've got ALL the latest tips! Whether you want to know what the elite are eating, wearing or discussing, Glamopolitan is YOUR magazine! So pick up a copy today and \"Sizzle Like A Star\"!", - "POPULAR MECHANICS: People say mechanics is boring. We say, prove them wrong! We've got all the articles that make it interesting to talk about, so you can \"Make Mechanics Popular\"!", - "CRAFTY CRAFTERS QUARTERLY: Macaroni isn't just for eating anymore! Learn how to make jewelery and art from it as well! We also discuss the correct way to use superglue without gluing your hands together!", - "UNDERGROUND BUNKER? Sources in the government suggest that underground bunkers are being built in a secret location in case of enemy attack. We were unable to get the exact location as our sources mysteriously disappeared shortly after revealing this information.", - "STUDENT MISSING: A high school student vanished yesterday evening in the forest near Wayland. The 17-year-old international student from China (who adopted the anglicized nickname \"Brett\" due to his classmates' difficulty pronouncing his given name) was last seen with his friends in the camp. \"Brett said that he was gonna get some firewood but he never came back,\" said his classmate, Jianxiang Wang. The search is underway.", - "STILL SEARCHING: The search for Brett, the high school student who went missing three days ago, is still ongoing. \"He could have played in the soccer game against Weston High School yesterday,\" Brett's sorrowful teammate said, \"[..] we've never stopped praying.\" Despite the best efforts of the County Search & Rescue, Brett had still not been located at the time of this report.", - "RUMORS DENIED: Allegations that DARPA had been conducting teleportation experiments in secret just outside Wayland were put to rest during a press conference earlier today. \"I have to clarify that not only have we never done such research,\" said the officer on the press conference, \"teleportation only exists in sci-fi films.\"" + { + "id": "many_years_old_news_1", + "text": "QUANTUM LEAP: An undisclosed DARPA project has yielded results in the form of theoretical teleportation. \"This is just the tip of the iceberg,\" said an anonymous source. \"I can't disclose, but this development is the LEAST in this exciting vein!\"" + }, + { + "id": "many_years_old_news_2", + "text": "SECURIBOTS: Keeping your home safe, ready the second the alarm goes off… Who needs people?" + }, + { + "id": "many_years_old_news_3", + "text": "ROBOCOP BEATS CRIME: Due to the common usage of Securibots and their ability to respond more rapidly than people, crime is down 54% and dropping. Police chief says \"Don't trip an alarm and you have nothing to worry about\"" + }, + { + "id": "many_years_old_news_4", + "text": "ROBOT RAMPAGE: Three Protesters injured when surrounding a Military base, protesting automated turrets which put guards out of jobs. \"We warned them, turrets will open fire on anyone without a military ID,\" a general said." + }, + { + "id": "many_years_old_news_5", + "text": "US IGNORES UN DEMANDS: The US ambassador to the UN today turned down UN requests to begin mutual nuclear disarmament of China, the US and North Korea. \"We have a right to defend ourselves,\" insisted the ambassador. \"We'll back down when they do\"." + }, + { + "id": "many_years_old_news_6", + "text": "A WHOLE NEW YOU! Augment your world with CBMs! This ad features a man covered in glowing tattoos with a miniature flashlight in the middle of his head. He's waving at the reader; all of his fingertips are Allen wrenches." + }, + { + "id": "many_years_old_news_7", + "text": "The Future… powered by COFFEE! Rivtech brings you the greatest revolution since espresso. Why wait for milk to boil? Have your coffee ready instantly with \"THE POWER OF THE ATOM\"!" + }, + { + "id": "many_years_old_news_8", + "text": "GLAMOPOLITAN! We've got ALL the latest tips! Whether you want to know what the elite are eating, wearing or discussing, Glamopolitan is YOUR magazine! So pick up a copy today and \"Sizzle Like A Star\"!" + }, + { + "id": "many_years_old_news_9", + "text": "POPULAR MECHANICS: People say mechanics is boring. We say, prove them wrong! We've got all the articles that make it interesting to talk about, so you can \"Make Mechanics Popular\"!" + }, + { + "id": "many_years_old_news_10", + "text": "CRAFTY CRAFTERS QUARTERLY: Macaroni isn't just for eating anymore! Learn how to make jewelery and art from it as well! We also discuss the correct way to use superglue without gluing your hands together!" + }, + { + "id": "many_years_old_news_11", + "text": "UNDERGROUND BUNKER? Sources in the government suggest that underground bunkers are being built in a secret location in case of enemy attack. We were unable to get the exact location as our sources mysteriously disappeared shortly after revealing this information." + }, + { + "id": "many_years_old_news_12", + "text": "STUDENT MISSING: A high school student vanished yesterday evening in the forest near Wayland. The 17-year-old international student from China (who adopted the anglicized nickname \"Brett\" due to his classmates' difficulty pronouncing his given name) was last seen with his friends in the camp. \"Brett said that he was gonna get some firewood but he never came back,\" said his classmate, Jianxiang Wang. The search is underway." + }, + { + "id": "many_years_old_news_13", + "text": "STILL SEARCHING: The search for Brett, the high school student who went missing three days ago, is still ongoing. \"He could have played in the soccer game against Weston High School yesterday,\" Brett's sorrowful teammate said, \"[..] we've never stopped praying.\" Despite the best efforts of the County Search & Rescue, Brett had still not been located at the time of this report." + }, + { + "id": "many_years_old_news_14", + "text": "RUMORS DENIED: Allegations that DARPA had been conducting teleportation experiments in secret just outside Wayland were put to rest during a press conference earlier today. \"I have to clarify that not only have we never done such research,\" said the officer on the press conference, \"teleportation only exists in sci-fi films.\"" + } ] }, { "type": "snippet", "category": "years_old_news", "text": [ - "GOVERNMENT SCIENCE BOOST: The government has drastically increased defense R&D after UN disarmament demands. \"This not only keeps money in our country, but maintains our lead on China and keeps us defended\", the President said.", - "HOME GROWN SCIENCE: Several governors & legislators from the New England region discussed a new regional initiative today, which relaxed laws that limit the distance a hazardous-material laboratory or factory can be from a city. \"This should keep our economy going strong for years to come, with all the military R&D facilities being established,\", one mayor remarked.", - "DRIVING ON A WING AND A PRAYER: A New England man has proven it is possible to create a new car from scrap parts using almost nothing but duct tape. When asked why he had done it, his answer was \"Well, I didn't have a welder.\"", - "NEVER BE LEFT IN THE DARK! Rivtech Atomic-nightlight uses \"inexhaustible\" plutonium fuel cell, provides light, feeds power back into your grid!", - "Sick of FUEL PRICES? Bus stop too far? Get your driving fix from THE SUN! Solar powered electric cars: Silent, Cheap, Powerful.", - "Coffee of The Future... RIGHT NOW! No one has really has the time to make great coffee, but now you don't have to! Rivtech gives you inexhaustible ATOMIC power! To make boiling hot coffee the MINUTE you want it! Atomic Coffeemaker.", - "GLAMOPOLITAN! We've got ALL the latest tips! Whether you want to know what the elite are eating, wearing or discussing, Glamopolitan is YOUR magazine! So pick up a copy today and \"Sizzle Like A Star\"!", - "POPULAR MECHANICS: People say mechanics is boring? We say, Prove them Wrong! We've got all the articles that make it interesting to talk about, so you can \"Make Mechanics Popular\"!", - "BIRDHOUSE MONTHLY... This month we look at some Dutch innovations in birdhouse design, and compare with the often confused Scandinavian Birdhouse design. Our article on sheet metal birdhouses will have you riveted!", - "TECHWORLD NEWS: Toy company at the origin of the successful talking doll rebrands and becomes Uncanny. Uncanny plans to bring their expertise to the field of androids. Unconfirmed rumors suggest that Uncanny has already recieved large orders from the government." + { + "id": "years_old_news_1", + "text": "GOVERNMENT SCIENCE BOOST: The government has drastically increased defense R&D after UN disarmament demands. \"This not only keeps money in our country, but maintains our lead on China and keeps us defended\", the President said." + }, + { + "id": "years_old_news_2", + "text": "HOME GROWN SCIENCE: Several governors & legislators from the New England region discussed a new regional initiative today, which relaxed laws that limit the distance a hazardous-material laboratory or factory can be from a city. \"This should keep our economy going strong for years to come, with all the military R&D facilities being established,\", one mayor remarked." + }, + { + "id": "years_old_news_3", + "text": "DRIVING ON A WING AND A PRAYER: A New England man has proven it is possible to create a new car from scrap parts using almost nothing but duct tape. When asked why he had done it, his answer was \"Well, I didn't have a welder.\"" + }, + { + "id": "years_old_news_4", + "text": "NEVER BE LEFT IN THE DARK! Rivtech Atomic-nightlight uses \"inexhaustible\" plutonium fuel cell, provides light, feeds power back into your grid!" + }, + { + "id": "years_old_news_5", + "text": "Sick of FUEL PRICES? Bus stop too far? Get your driving fix from THE SUN! Solar powered electric cars: Silent, Cheap, Powerful." + }, + { + "id": "years_old_news_6", + "text": "Coffee of The Future… RIGHT NOW! No one has really has the time to make great coffee, but now you don't have to! Rivtech gives you inexhaustible ATOMIC power! To make boiling hot coffee the MINUTE you want it! Atomic Coffeemaker." + }, + { + "id": "years_old_news_7", + "text": "GLAMOPOLITAN! We've got ALL the latest tips! Whether you want to know what the elite are eating, wearing or discussing, Glamopolitan is YOUR magazine! So pick up a copy today and \"Sizzle Like A Star\"!" + }, + { + "id": "years_old_news_8", + "text": "POPULAR MECHANICS: People say mechanics is boring? We say, Prove them Wrong! We've got all the articles that make it interesting to talk about, so you can \"Make Mechanics Popular\"!" + }, + { + "id": "years_old_news_9", + "text": "BIRDHOUSE MONTHLY… This month we look at some Dutch innovations in birdhouse design, and compare with the often confused Scandinavian Birdhouse design. Our article on sheet metal birdhouses will have you riveted!" + }, + { + "id": "years_old_news_10", + "text": "TECHWORLD NEWS: Toy company at the origin of the successful talking doll rebrands and becomes Uncanny. Uncanny plans to bring their expertise to the field of androids. Unconfirmed rumors suggest that Uncanny has already recieved large orders from the government." + } ] }, { "type": "snippet", "category": "one_year_old_news", "text": [ - "READY FOR THE WORST: The government has proven it is ready to deal with China's threats. In the event of an actual attack, we have established evacuation centers, within a short distance of most towns.", - "MUTANT COLD: A new cold virus has emerged in the New England area. \"There don't appear to be complications, but many sufferers are dealing with sudden muscle weakness and a greater-than-normal amount of lethargy from this virus,\" said a doctor. \"In addition, it's been documented to last up to ten days.\"", - "GRAVE BUSINESS: Recent reports show a large spike in thefts from and assaults on funeral homes in the last few weeks. Described as highly strange but not especially dangerous, Homeland Security is \"looking at the connections now.\"", - "SPACE TELEPORTATION - TRUTH OR FICTION? Scientists addressed a growing conspiracy theory today \"The plutonium consumed is massive. We could never use teleportation to reach aliens, unless they live on some kind of parallel world.\"", - "LASERS - NEXT BIG THING?: Top defense researchers remarked during demonstration of a prototype today: \"We are still working on it, the laser weapon lacks power, but has a technically almost unlimited range,\" one said", - "DRUG USE ON THE RISE: Recent statistic suggest drug use in New England has climbed more than 20% in the last two years. \"People are scared for their jobs, their country, even their life... of course some will turn to drugs,\" said an expert.", - "FEELING BLUE? Try \"Greens\" for Magazines! Your local Supermarket! Nothing cheers you up like a good magazine... Unless it's JUNK FOOD! Or why not buy an MP3 PLAYER or a GAME CONSOLE? Chase those blues away at GREENS Supermarket", - "GLAMOPOLITAN! We've got ALL the latest tips! Whether you want to know what the elite are eating, wearing or discussing, Glamopolitan is YOUR magazine! So pick up a copy today and \"Sizzle Like A Star\"!", - "POPULAR MECHANICS: People say mechanics is boring? We say, Prove them Wrong! We've got all the articles that make it interesting to talk about, so you can \"Make Mechanics Popular\"!", - "BIRDHOUSE MONTHLY... Which wood would a woodpecker prefer? This month we discuss hardwood versus soft woods, whether to lacquer, oil or paint, and which type of nails you should use!", - "TECHWORLD NEWS: Uncanny unveils its new product - the Grocery Bot! Thousands of else-if statements, pre-recorded voice from professional actors, what more does this adorable android hides under its smiling face? Our expert got the answer for you!", - " ...What do you know about surviving in the Wilderness? If you can't make a snare you don't know TRAP! Hunt down a copy of TRAPPERS' LIFE and learn about wildlife!... And how to kill it. This week, a CROSSBOW TRAP!", - "NEW LAB OPENS: The H.R. Bennett Research Facility has been officially opened by the Department of Energy. According to Deputy Secretary of Energy Randall Balakrishnan , \"This facility is one of the most state-of-the-art in the world. With the opening of the H.R. Bennett research complex, New England's future is looking brighter than ever.\"" + { + "id": "one_year_old_news_1", + "text": "READY FOR THE WORST: The government has proven it is ready to deal with China's threats. In the event of an actual attack, we have established evacuation centers, within a short distance of most towns." + }, + { + "id": "one_year_old_news_2", + "text": "MUTANT COLD: A new cold virus has emerged in the New England area. \"There don't appear to be complications, but many sufferers are dealing with sudden muscle weakness and a greater-than-normal amount of lethargy from this virus,\" said a doctor. \"In addition, it's been documented to last up to ten days.\"" + }, + { + "id": "one_year_old_news_3", + "text": "GRAVE BUSINESS: Recent reports show a large spike in thefts from and assaults on funeral homes in the last few weeks. Described as highly strange but not especially dangerous, Homeland Security is \"looking at the connections now.\"" + }, + { + "id": "one_year_old_news_4", + "text": "SPACE TELEPORTATION - TRUTH OR FICTION? Scientists addressed a growing conspiracy theory today \"The plutonium consumed is massive. We could never use teleportation to reach aliens, unless they live on some kind of parallel world.\"" + }, + { + "id": "one_year_old_news_5", + "text": "LASERS - NEXT BIG THING?: Top defense researchers remarked during demonstration of a prototype today: \"We are still working on it, the laser weapon lacks power, but has a technically almost unlimited range,\" one said" + }, + { + "id": "one_year_old_news_6", + "text": "DRUG USE ON THE RISE: Recent statistic suggest drug use in New England has climbed more than 20% in the last two years. \"People are scared for their jobs, their country, even their life… of course some will turn to drugs,\" said an expert." + }, + { + "id": "one_year_old_news_7", + "text": "FEELING BLUE? Try \"Greens\" for Magazines! Your local Supermarket! Nothing cheers you up like a good magazine… Unless it's JUNK FOOD! Or why not buy an MP3 PLAYER or a GAME CONSOLE? Chase those blues away at GREENS Supermarket" + }, + { + "id": "one_year_old_news_8", + "text": "GLAMOPOLITAN! We've got ALL the latest tips! Whether you want to know what the elite are eating, wearing or discussing, Glamopolitan is YOUR magazine! So pick up a copy today and \"Sizzle Like A Star\"!" + }, + { + "id": "one_year_old_news_9", + "text": "POPULAR MECHANICS: People say mechanics is boring? We say, Prove them Wrong! We've got all the articles that make it interesting to talk about, so you can \"Make Mechanics Popular\"!" + }, + { + "id": "one_year_old_news_10", + "text": "BIRDHOUSE MONTHLY… Which wood would a woodpecker prefer? This month we discuss hardwood versus soft woods, whether to lacquer, oil or paint, and which type of nails you should use!" + }, + { + "id": "one_year_old_news_11", + "text": "TECHWORLD NEWS: Uncanny unveils its new product - the Grocery Bot! Thousands of else-if statements, pre-recorded voice from professional actors, what more does this adorable android hides under its smiling face? Our expert got the answer for you!" + }, + { + "id": "one_year_old_news_12", + "text": "…What do you know about surviving in the Wilderness? If you can't make a snare you don't know TRAP! Hunt down a copy of TRAPPERS' LIFE and learn about wildlife!… And how to kill it. This week, a CROSSBOW TRAP!" + }, + { + "id": "one_year_old_news_13", + "text": "NEW LAB OPENS: The H.R. Bennett Research Facility has been officially opened by the Department of Energy. According to Deputy Secretary of Energy Randall Balakrishnan, \"This facility is one of the most state-of-the-art in the world. With the opening of the H.R. Bennett research complex, New England's future is looking brighter than ever.\"" + } ] }, { "type": "snippet", "category": "months_old_news", "text": [ - "SUPPORT THE COUNTRIES THAT SUPPORT YOURS - PRESIDENT: Unexpectedly and unpopularly, the president today suggested the possible institution of a peacetime draft in response to increasing Chinese aggression towards Taiwan and the Philippines. \"We must pray for the best while preparing for the worst. We cannot abandon key allies in the face of Chinese bullying.\"", - "EVACS UNSTOCKED: TRUTH OR FICTION? An unidentified government source has suggested that the evacuation centers are unstocked, having \"already accomplished the goal of calming the people\". He later retracted the comment and is unable to be contacted.", - "NEW WEAPON UNVEILED: Defense today lifted the lid on a long held secret project. \"We can't discuss the specifics, but it generates a burst of plasma which accurately follows a path of laser-heated air,\" according to a Pentagon official.", - "UFO CRASH: TRUTH OR FICTION? One civilian account claims a shining disk appeared in his field. \"It kind of glowed, and I could see a strange gray world through it. Then a shambling hazy purple mushroom came through, man.\"", - "TIME TRAVEL: TRUTH OR FICTION? Leaked federal documents describe the formation of a new federal agency called XEDRA, to oversee \"4th Axis technology\" already in use. Our expert's opinion suggests time-travel or parallel worlds. The meaning of the acronym is currently unknown.", - " ...What do you know about surviving in the Wilderness? If you can't make a snare you don't know TRAP! Hunt down a copy of TRAPPERS' LIFE and learn about wildlife!... And how to kill it. Classic BEAR TRAP returns in this issue!", - "HUNTING GOODS! Food prices getting you down? Why not get a crossbow or compound bow and Hunt Your Own!? Our arrows and bolts are completely reusable, so why not hunt animals like Mother Nature intended?" + { + "id": "months_old_news_1", + "text": "SUPPORT THE COUNTRIES THAT SUPPORT YOURS - PRESIDENT: Unexpectedly and unpopularly, the president today suggested the possible institution of a peacetime draft in response to increasing Chinese aggression towards Taiwan and the Philippines. \"We must pray for the best while preparing for the worst. We cannot abandon key allies in the face of Chinese bullying.\"" + }, + { + "id": "months_old_news_2", + "text": "EVACS UNSTOCKED: TRUTH OR FICTION? An unidentified government source has suggested that the evacuation centers are unstocked, having \"already accomplished the goal of calming the people\". He later retracted the comment and is unable to be contacted." + }, + { + "id": "months_old_news_3", + "text": "NEW WEAPON UNVEILED: Defense today lifted the lid on a long held secret project. \"We can't discuss the specifics, but it generates a burst of plasma which accurately follows a path of laser-heated air,\" according to a Pentagon official." + }, + { + "id": "months_old_news_4", + "text": "UFO CRASH: TRUTH OR FICTION? One civilian account claims a shining disk appeared in his field. \"It kind of glowed, and I could see a strange gray world through it. Then a shambling hazy purple mushroom came through, man.\"" + }, + { + "id": "months_old_news_5", + "text": "TIME TRAVEL: TRUTH OR FICTION? Leaked federal documents describe the formation of a new federal agency called XEDRA, to oversee \"4th Axis technology\" already in use. Our expert's opinion suggests time-travel or parallel worlds. The meaning of the acronym is currently unknown." + }, + { + "id": "months_old_news_6", + "text": "…What do you know about surviving in the Wilderness? If you can't make a snare you don't know TRAP! Hunt down a copy of TRAPPERS' LIFE and learn about wildlife!… And how to kill it. Classic BEAR TRAP returns in this issue!" + }, + { + "id": "months_old_news_7", + "text": "HUNTING GOODS! Food prices getting you down? Why not get a crossbow or compound bow and Hunt Your Own!? Our arrows and bolts are completely reusable, so why not hunt animals like Mother Nature intended?" + } ] }, { "type": "snippet", "category": "weeks_old_news", "text": [ - "MYTH DEBUNKED: DEAD ARE STAYING DEAD: Stories about the dead rising \"are completely unfounded.\", a general said today. \"It's an obvious hoax by people just looking for five minutes of fame, or to scare people in these uncertain times. After all, remember the clown thing a few years ago?\"", - "GENERAL SAYS AVOID BUNKERS: Do not attempt to flee to your nearest military bunker! Understaffed bunkers are defended by turrets, which will shoot those without proper registration. Please seek military personnel if you need access.", - "VIOLENCE OUTBREAKS CAUSED BY \"NEW DRUG\": Rumors of riots were quelled today. \"These are isolated incidents\" said a local police chief. \"The violence is random and senseless, our current theory is contamination in a new street drug.\"", - "ZOMBIE DRUG? A controversial blogger suggested the recent riots are a chemical attack by China in her latest podcast. \"They're jealous of our cybernetic superiority, so they teamed up with Haiti to put hoodoo drugs in the water making people zombies!\"", - "PICKLED MEAT IN A JAR! Just like your grandma used to make! It will last for months or longer, and when you've eaten it, you can refill and seal the jar! Stock your emergency supply TODAY!", - "BAGS, BAGS, BAGS! They're very useful things! If we didn't have BAGS, what-would-we-use... to PUT a lot of things in!? (Ad by the \"Play SchoolClothing Co.\")", - "GLAMOPOLITAN! We've got ALL the latest tips! Whether you want to know what the elite are eating, wearing or discussing, Glamopolitan is YOUR magazine! So pick up a copy today and \"Sizzle Like A Star\"!", - "POPULAR MECHANICS: People say mechanics is boring? We say, Prove them Wrong! We've got all the articles that make it interesting to talk about, so you can \"Make Mechanics Popular\"!", - "BIRDHOUSE MONTHLY... Which wood would a woodpecker prefer? This month we discuss hardwood versus soft woods, whether to lacquer, oil or paint, and which type of nails you should use!", - "FEELING BLUE? Try \"Greens\" for Magazines! Your local Supermarket! Nothing cheers you up like a good magazine... Unless it's JUNK FOOD! Or why not buy an MP3 PLAYER or a GAME CONSOLE? Chase those Blues away at GREENS Supermarket" + { + "id": "weeks_old_news_1", + "text": "MYTH DEBUNKED: DEAD ARE STAYING DEAD: Stories about the dead rising \"are completely unfounded.\", a general said today. \"It's an obvious hoax by people just looking for five minutes of fame, or to scare people in these uncertain times. After all, remember the clown thing a few years ago?\"" + }, + { + "id": "weeks_old_news_2", + "text": "GENERAL SAYS AVOID BUNKERS: Do not attempt to flee to your nearest military bunker! Understaffed bunkers are defended by turrets, which will shoot those without proper registration. Please seek military personnel if you need access." + }, + { + "id": "weeks_old_news_3", + "text": "VIOLENCE OUTBREAKS CAUSED BY \"NEW DRUG\": Rumors of riots were quelled today. \"These are isolated incidents\" said a local police chief. \"The violence is random and senseless, our current theory is contamination in a new street drug.\"" + }, + { + "id": "weeks_old_news_4", + "text": "ZOMBIE DRUG? A controversial blogger suggested the recent riots are a chemical attack by China in her latest podcast. \"They're jealous of our cybernetic superiority, so they teamed up with Haiti to put hoodoo drugs in the water making people zombies!\"" + }, + { + "id": "weeks_old_news_5", + "text": "PICKLED MEAT IN A JAR! Just like your grandma used to make! It will last for months or longer, and when you've eaten it, you can refill and seal the jar! Stock your emergency supply TODAY!" + }, + { + "id": "weeks_old_news_6", + "text": "BAGS, BAGS, BAGS! They're very useful things! If we didn't have BAGS, what-would-we-use… to PUT a lot of things in!? (Ad by the \"Play SchoolClothing Co.\")" + }, + { + "id": "weeks_old_news_7", + "text": "GLAMOPOLITAN! We've got ALL the latest tips! Whether you want to know what the elite are eating, wearing or discussing, Glamopolitan is YOUR magazine! So pick up a copy today and \"Sizzle Like A Star\"!" + }, + { + "id": "weeks_old_news_8", + "text": "POPULAR MECHANICS: People say mechanics is boring? We say, Prove them Wrong! We've got all the articles that make it interesting to talk about, so you can \"Make Mechanics Popular\"!" + }, + { + "id": "weeks_old_news_9", + "text": "BIRDHOUSE MONTHLY… Which wood would a woodpecker prefer? This month we discuss hardwood versus soft woods, whether to lacquer, oil or paint, and which type of nails you should use!" + }, + { + "id": "weeks_old_news_10", + "text": "FEELING BLUE? Try \"Greens\" for Magazines! Your local Supermarket! Nothing cheers you up like a good magazine… Unless it's JUNK FOOD! Or why not buy an MP3 PLAYER or a GAME CONSOLE? Chase those Blues away at GREENS Supermarket" + } ] }, { "type": "snippet", "category": "necropolis_intro", "text": [ - "WELCOME HOME! Your decision to join our family will lead you to become part of the next generation of job creators. With us you will already have a foot in the door when it is time to rebuild the nation!", - "NEED A NEW JOB? Now that you have secured a comfortable home, try looking into one of the many promising career opportunities that have positions open. Openings such as GEOLOGICAL ENGINEERING ASSISTANT or FACILITY TECHNICIAN offer limitless growth potential! Please contact your employment adviser if you have any questions.", - "GOOD WITH YOUR HANDS? Engineering always needs another hand keeping our home in good working order! As an incentive, everyone working on level 3 will receive additional hazardous pay and time off. Please go to the engineering office on level 3 if you are interested.", - "WANT TO CONTINUE YOUR EDUCATION? Our educational facilities are top notch and offer courses for individuals at all age groups. Many new careers are opening up to those who are willing to learn a new craft. Our library and research labs will keep even the hungriest minds fed!" + { + "id": "necropolis_intro_1", + "text": "WELCOME HOME! Your decision to join our family will lead you to become part of the next generation of job creators. With us you will already have a foot in the door when it is time to rebuild the nation!" + }, + { + "id": "necropolis_intro_2", + "text": "NEED A NEW JOB? Now that you have secured a comfortable home, try looking into one of the many promising career opportunities that have positions open. Openings such as GEOLOGICAL ENGINEERING ASSISTANT or FACILITY TECHNICIAN offer limitless growth potential! Please contact your employment adviser if you have any questions." + }, + { + "id": "necropolis_intro_3", + "text": "GOOD WITH YOUR HANDS? Engineering always needs another hand keeping our home in good working order! As an incentive, everyone working on level 3 will receive additional hazardous pay and time off. Please go to the engineering office on level 3 if you are interested." + }, + { + "id": "necropolis_intro_4", + "text": "WANT TO CONTINUE YOUR EDUCATION? Our educational facilities are top notch and offer courses for individuals at all age groups. Many new careers are opening up to those who are willing to learn a new craft. Our library and research labs will keep even the hungriest minds fed!" + } ] }, { "type": "snippet", "category": "scores", "text": [ - "The card is printed with 2 boxes. In the first box you see a tally of 5 tick marks. The second box has a total of 9.", - "The card is printed with 2 boxes. In the first box you see a tally of 3 tick marks. The second box has line trailing off to the edge and a bloody fingerprint.", - "The card is printed for a game of golf. Someone has filled out their score for the first 9 holes." + { + "id": "scores_1", + "text": "The card is printed with 2 boxes. In the first box you see a tally of 5 tick marks. The second box has a total of 9." + }, + { + "id": "scores_2", + "text": "The card is printed with 2 boxes. In the first box you see a tally of 3 tick marks. The second box has line trailing off to the edge and a bloody fingerprint." + }, + { + "id": "scores_3", + "text": "The card is printed for a game of golf. Someone has filled out their score for the first 9 holes." + } ] }, { "type": "snippet", "category": "charsheet", "text": [ - "It's a Dungeons & Dragons 6th Edition character sheet. This one is for a fighter.", - "It's a Dungeons & Dragons 6th Edition character sheet. This one is for a bard.", - "It's a Dungeons & Dragons 6th Edition character sheet. This one is for a cleric.", - "It's a Dungeons & Dragons 6th Edition character sheet. This one is for a wizard.", - "It's a Dungeons & Dragons 6th Edition character sheet. This one is for a rogue.", - "It's a Dungeons & Dragons 6th Edition character sheet. This one is for a barbarian.", - "It's a Dungeons & Dragons 6th Edition character sheet. This one is for a warlock.", - "It's a Dungeons & Dragons 6th Edition character sheet. This one is for a paladin.", - "It's a Dungeons & Dragons 6th Edition character sheet. This one is for a sorcerer." + { "id": "charsheet_1", "text": "It's a Dungeons & Dragons 6th Edition character sheet. This one is for a fighter." }, + { + "id": "charsheet_2", + "text": "It's a Dungeons & Dragons 6th Edition character sheet. This one is for a bard." + }, + { + "id": "charsheet_3", + "text": "It's a Dungeons & Dragons 6th Edition character sheet. This one is for a cleric." + }, + { + "id": "charsheet_4", + "text": "It's a Dungeons & Dragons 6th Edition character sheet. This one is for a wizard." + }, + { + "id": "charsheet_5", + "text": "It's a Dungeons & Dragons 6th Edition character sheet. This one is for a rogue." + }, + { + "id": "charsheet_6", + "text": "It's a Dungeons & Dragons 6th Edition character sheet. This one is for a barbarian." + }, + { + "id": "charsheet_7", + "text": "It's a Dungeons & Dragons 6th Edition character sheet. This one is for a warlock." + }, + { + "id": "charsheet_8", + "text": "It's a Dungeons & Dragons 6th Edition character sheet. This one is for a paladin." + }, + { + "id": "charsheet_9", + "text": "It's a Dungeons & Dragons 6th Edition character sheet. This one is for a sorcerer." + } ] }, { @@ -436,7 +1207,7 @@ "You feel cold. You need the warmth of a fire.", "Maybe a fire could calm your nerves?", "You need to ignite something.", - "You daydream of crackling fire...", + "You daydream of crackling fire…", "You shiver. A fire would be great right now.", "You think of randomly lighting a fire, but decide against it." ] @@ -584,31 +1355,31 @@ "kssht. Dark Horse, this is Blue Jay, what's your status, over. kssht. Blue Jay, this is Black Horse, still holding, but not for long. kssht. Dark Horse, you've got to hold position for 3 hours. We're almost black on ammo, but resupply is on the way, over. kssht. Not possible Blue Jay, too many dead. 30 minutes max, and if you don't order us to retreat we're gone, over. kssht.", "kssht. Blue Jay, this is Black Rose, got your resupply, going in on vector 36, what's the status of the LZ? kssht. Black Rose, this is Blue Jay, what took you so long? LZ hot and unsecured, ammo black, bayonets in action, land on your own discretion, over. kssht. Roger that, hold on, Black Rose out. kssht.", "To whomever is listening, this may be our last broadcast. Wish you luck. Can't stay in the studio any longer, station is being rewired to military frequencies for automatic broadcast. Stay safe, and bless you, people.", - "You're listening to KDDA from Boston, I'm Jenny Sanders with a special emergency news update. Road closures by military and police forces have been reported on interstates 90, 91, 93, and 95. Alternative routes have not been suggested. Due to dangers on non-interstate roads, it is strongly recommended that you avoid major thoroughfares and population centers when travelling by car.", + "You're listening to KDDA from Boston, I'm Jenny Sanders with a special emergency news update. Road closures by military and police forces have been reported on interstates 90, 91, 93, and 95. Alternative routes have not been suggested. Due to dangers on non-interstate roads, it is strongly recommended that you avoid major thoroughfares and population centers when travelling by car.", "Those evacuating cities are advised to head to the nearest designated evacuation shelter and await pickup by a FEMA transport. Do not engage with rioters. Due to the danger of being mistaken for a rioter, do not approach military or police blockades, even for assistance. I repeat, do not approach military or police blockades, even for assistance.", "If you are not in an evacuation zone, officials highly recommend you pack gear for evacuation. Make sure to include clean clothes, a blanket, and enough food and water to last a few days.", "In other news, the federal government has confirmed that Rhode Island's declaration of secession is official, although the US government does not acknowledge its validity. Our sources haven't been able to determine the extent of hostilities in the area, but there are rumors of border violence initiated by the Rhode Island militia.", "Hey ladies and gentlemen of the apocalypse, you're listening to Dark Days Radio, the last radio station on the Eastern Seaboard, I'm DJ Dustbowl here with our mascot Sam.", - "DJ Dustbowl back, you're listening to Dark Days Radio. Quick survivor tip: remember, killing a zombie isn't enough. You've gotta smash that thing to a pulp or chop it into pieces if you don't want it getting back up. Good news though, you don't need to worry about headshots! Any major damage will lay a shambler out.", - "You're listening to Dark Days Radio, I'm DJ Dustbowl! In with a quick tip for any survivors listening: one zombie is bad news, two are worse. Don't go Rambo on me. Tackle threats in small numbers or through bottlenecks. You aren't tougher than a zombie but you are smarter, use that to your advantage... or just run away.", + "DJ Dustbowl back, you're listening to Dark Days Radio. Quick survivor tip: remember, killing a zombie isn't enough. You've gotta smash that thing to a pulp or chop it into pieces if you don't want it getting back up. Good news though, you don't need to worry about headshots! Any major damage will lay a shambler out.", + "You're listening to Dark Days Radio, I'm DJ Dustbowl! In with a quick tip for any survivors listening: one zombie is bad news, two are worse. Don't go Rambo on me. Tackle threats in small numbers or through bottlenecks. You aren't tougher than a zombie but you are smarter, use that to your advantage… or just run away.", "…black goo in the water! Drugs and who knows what else, the government wants you dumb and docile! Wake up people. They are the spawn of Satan! This is Alan Jewels with the AJ show, we’ll be back after the break.", - "This is Escort, frequency one-fifty-five, nineteen-thousand, here's your report. Can you gimme an 'amen', it's ...kshhhsk.... days after Armageddon and I'm still kicking. The 49ers are headed southwards towards Neufolk, so if you're there and listening, barricade or lay low until they go by. There's another horde forming out of Metro Bay.", - "I'll be calling them the Pigskins, and they're circling the city right now, but trickles tell me they're going to converge on Neufolk in the next few days, so once the 49ers pass, Neufolkians, get all the supplies you can, cause this is gonna be a big one...", - "This is an emergency broadcast from the National Emergency Alert System. This is not a test. There has been several hundred confirmed cases of an unknown pathogen in the metropolitan area of ...kshhssk... in the last 24 hours. The contagion is believed to be highly transmittable. Residents are advised to remain in their homes at this time. More information will be released as it becomes available.", + "This is Escort, frequency one-fifty-five, nineteen-thousand, here's your report. Can you gimme an 'amen', it's …kshhhsk… days after Armageddon and I'm still kicking. The 49ers are headed southwards towards Neufolk, so if you're there and listening, barricade or lay low until they go by. There's another horde forming out of Metro Bay.", + "I'll be calling them the Pigskins, and they're circling the city right now, but trickles tell me they're going to converge on Neufolk in the next few days, so once the 49ers pass, Neufolkians, get all the supplies you can, cause this is gonna be a big one…", + "This is an emergency broadcast from the National Emergency Alert System. This is not a test. There has been several hundred confirmed cases of an unknown pathogen in the metropolitan area of …kshhssk… in the last 24 hours. The contagion is believed to be highly transmittable. Residents are advised to remain in their homes at this time. More information will be released as it becomes available.", "This is an emergency broadcast from the National Emergency Alert System. This is not a test. The new pathogen has now been confirmed in several cities across the US. Victims of this disease are known to display highly aggressive, rabies-like behavior, and may be violent to people around them. Avoid contact with infected persons at all costs. If you suspect that you or someone else has contracted the pathogen, contact emergency services immediately.", - "This is not a test. Seek immediate shelter. Multiple missile launches have been confirmed to be targeting the ..ksshhsk... Seek immediate shelter. If a community shelter is not available, alternative shelter locations are basements, beneath stairwells, or central rooms with no windows. Ensure that you have sufficient protection from falling debris. Ensure that you have food and water for at least one week. Repeat. Seek immediate shelter.", + "This is not a test. Seek immediate shelter. Multiple missile launches have been confirmed to be targeting the …ksshhsk… Seek immediate shelter. If a community shelter is not available, alternative shelter locations are basements, beneath stairwells, or central rooms with no windows. Ensure that you have sufficient protection from falling debris. Ensure that you have food and water for at least one week. Repeat. Seek immediate shelter.", "zzzzchzzzzchurzzz Are you tired of always losing your dumpy old sunglasses? Tired of having to pay for over price shades just to have them fall to pieces? Well no longer now introducing zchzzzzch- brand Anti-glare compensators for the shade you need in you. Order now for 12 easy payments of $1200.99 and we'll throw in a free order of zpzzzzpzz eye bot.", "This is WSSA-233, broadcasting from . We've barricaded all the doors and windows. There's a ton of them right outside, we're trying to stay quiet. Do not, I repeat, do not approach.", - "First Fleet, this is Mount Wheater, we've send a helicopter with a squad to the location of the Guard Outpost. If any survivors of the crash are to reach the outpost, contact the base, we are short on men and one of the big ones has just breached the perimeter. Over.", + "First Fleet, this is Mount Wheater, we've send a helicopter with a squad to the location of the Guard Outpost. If any survivors of the crash are to reach the outpost, contact the base, we are short on men and one of the big ones has just breached the perimeter. Over.", "USS Eagle of Freedom to all callsigns. Operation Ocean 11 is in effect. Repeat. Operation Ocean 11 is in effect. Sir, this should effectively reach about 150 units, but there is no response from literally anyone in hours. Their coms winked out like candles in the wind. And how do we even secure the port to load anyone in?", - "Seagull 54 to USS Eagle of Freedom. It's as we predicted. Going down on last reserves of fuel, with dropping evacuated unit out of question at that point. This is our last call. Will try emergency landing at ...kshssssssk... Don't send us a rescue team, we know the odds. Will be moving east towards the shore, and if we're not there in T minus 3 days, count us dead. Proud to serve the country. Over and out." + "Seagull 54 to USS Eagle of Freedom. It's as we predicted. Going down on last reserves of fuel, with dropping evacuated unit out of question at that point. This is our last call. Will try emergency landing at …kshssssssk… Don't send us a rescue team, we know the odds. Will be moving east towards the shore, and if we're not there in T minus 3 days, count us dead. Proud to serve the country. Over and out." ] }, { "type": "snippet", "category": "amigara1", "text": [ - "ENTRY 47:\nOur normal mining routine has unearthed a hollow chamber. This would not be out of the ordinary, save for the odd, perfectly vertical faultline found. This faultline has several odd concavities in it which have the more superstitious crew members alarmed; they seem to be of human origin.\nENTRY 48:\nThe concavities are between 10 and 20 feet tall, and run the length of the faultline. Each one is vaguely human in shape, but with the proportions of the limbs, neck and head greatly distended, all twisted and curled in on themselves." + "ENTRY 47:\nOur normal mining routine has unearthed a hollow chamber. This would not be out of the ordinary, save for the odd, perfectly vertical faultline found. This faultline has several odd concavities in it which have the more superstitious crew members alarmed; they seem to be of human origin.\nENTRY 48:\nThe concavities are between 10 and 20 feet tall, and run the length of the faultline. Each one is vaguely human in shape, but with the proportions of the limbs, neck and head greatly distended, all twisted and curled in on themselves." ] }, { @@ -629,7 +1400,7 @@ "type": "snippet", "category": "amigara4", "text": [ - "MINE OPERATIONS SUSPENDED; CONTROL TRANSFERRED TO AMIGARA PROJECT UNDER IMPERATIVE 2:07B.\nFAULTLINE SOUNDING HAS PLACED DEPTH AT 30.09 KM.\nDAMAGE TO FAULTLINE DISCOVERED; NEPOWER MINE CREW PLACED UNDER ARREST FOR VIOLATION OF REGULATION 87.08 AND TRANSFERRED TO LAB 89-C FOR USE AS SUBJECTS.\nQUALITY OF FAULTLINE NOT COMPROMISED.\nINITIATING STANDARD TREMOR TEST..." + "MINE OPERATIONS SUSPENDED; CONTROL TRANSFERRED TO AMIGARA PROJECT UNDER IMPERATIVE 2:07B.\nFAULTLINE SOUNDING HAS PLACED DEPTH AT 30.09 KM.\nDAMAGE TO FAULTLINE DISCOVERED; NEPOWER MINE CREW PLACED UNDER ARREST FOR VIOLATION OF REGULATION 87.08 AND TRANSFERRED TO LAB 89-C FOR USE AS SUBJECTS.\nQUALITY OF FAULTLINE NOT COMPROMISED.\nINITIATING STANDARD TREMOR TEST…" ] }, { @@ -641,7 +1412,10 @@ "type": "snippet", "category": "death_note", "text": [ - "This is General Baker. Today I received a top-secret letter with new orders from high command. These orders described a new set of coordinates for our ICBM. My men deciphered it, and it became crystal-clear that coordinates are pointing to a certain place inside our country. I requested re-confirmation, and after a short while I received it with the same coordinates, so it wasn't an weird error as I originally thought. I don't know what's on the minds of these guys in the government, but I'm not gonna bomb innocent people of my country. We're just one step away from starting a war, so failure to comply with an order will obviously result in a execution. And it's just a matter of time when they come for me. So actually I'm already a dead man. Whomever may find this. Please tell my wife Jane I love her and Michael Jr. And tell her I'm sorry. General Michael Baker" + { + "id": "death_note_1", + "text": "This is General Baker. Today I received a top-secret letter with new orders from high command. These orders described a new set of coordinates for our ICBM. My men deciphered it, and it became crystal-clear that coordinates are pointing to a certain place inside our country. I requested re-confirmation, and after a short while I received it with the same coordinates, so it wasn't an weird error as I originally thought. I don't know what's on the minds of these guys in the government, but I'm not gonna bomb innocent people of my country. We're just one step away from starting a war, so failure to comply with an order will obviously result in a execution. And it's just a matter of time when they come for me. So actually I'm already a dead man. Whomever may find this. Please tell my wife Jane I love her and Michael Jr. And tell her I'm sorry. General Michael Baker" + } ] } ] diff --git a/data/json/speech.json b/data/json/speech.json index dbdca8bb5a97c..b1ab694da5624 100644 --- a/data/json/speech.json +++ b/data/json/speech.json @@ -1412,7 +1412,7 @@ { "type": "speech", "speaker": "mon_mi_go", - "sound": "\"That creepy abandoned post-apocalyptic lab complex looks safe...\"", + "sound": "\"That creepy abandoned post-apocalyptic lab complex looks safe…\"", "volume": 20 }, { @@ -1430,13 +1430,13 @@ { "type": "speech", "speaker": "mon_mutant_experimental", - "sound": "\"Burning... from the inside...\"", + "sound": "\"Burning… from the inside…\"", "volume": 10 }, { "type": "speech", "speaker": "mon_mutant_experimental", - "sound": "\"This smell... Don't know...\"", + "sound": "\"This smell… Don't know…\"", "volume": 10 }, { @@ -1454,25 +1454,25 @@ { "type": "speech", "speaker": "mon_mutant_experimental", - "sound": "\"No... Stop the burning!\"", + "sound": "\"No… Stop the burning!\"", "volume": 20 }, { "type": "speech", "speaker": "mon_mutant_experimental", - "sound": "\"Hrgm... Blood... Hungry...\"", + "sound": "\"Hrgm… Blood… Hungry…\"", "volume": 20 }, { "type": "speech", "speaker": "mon_mutant_experimental", - "sound": "\"Hunger... Must eat...\"", + "sound": "\"Hunger… Must eat…\"", "volume": 20 }, { "type": "speech", "speaker": "mon_mutant_experimental", - "sound": "\"Run... Chase... Eat...\"", + "sound": "\"Run… Chase… Eat…\"", "volume": 20 }, { @@ -1664,7 +1664,7 @@ { "type": "speech", "speaker": "mon_broken_cyborg", - "sound": "\"Can't... breathe...\"", + "sound": "\"Can't… breathe…\"", "volume": 10 }, { @@ -1682,7 +1682,7 @@ { "type": "speech", "speaker": "mon_prototype_cyborg", - "sound": "\"Have you seen my friend? He went into surgery yesterday... or maybe the day before...\"", + "sound": "\"Have you seen my friend? He went into surgery yesterday… or maybe the day before…\"", "volume": 10 }, { @@ -1700,7 +1700,7 @@ { "type": "speech", "speaker": "mon_prototype_cyborg", - "sound": "\"I cannot... yet I must. How do you calculate that?\"", + "sound": "\"I cannot… yet I must. How do you calculate that?\"", "volume": 10 }, { @@ -1712,13 +1712,13 @@ { "type": "speech", "speaker": "mon_prototype_cyborg", - "sound": "\"This is my life now... this is my life now... this is my life now...\"", + "sound": "\"This is my life now… this is my life now… this is my life now…\"", "volume": 10 }, { "type": "speech", "speaker": "mon_prototype_cyborg", - "sound": "\"Wanna go home...\"", + "sound": "\"Wanna go home…\"", "volume": 10 }, { @@ -1784,7 +1784,7 @@ { "type": "speech", "speaker": "mon_grocerybot_running_out_of_friendship", - "sound": "a worried voice say, \"Customer, could you please get more friendship? I don't want to go...\"", + "sound": "a worried voice say, \"Customer, could you please get more friendship? I don't want to go…\"", "volume": 8 }, { @@ -1814,19 +1814,19 @@ { "type": "speech", "speaker": "mon_grocerybot_hacked", - "sound": "a distorted voice say, \"Customer... What's happening? I don't feel so good.\"", + "sound": "a distorted voice say, \"Customer… What's happening? I don't feel so good.\"", "volume": 8 }, { "type": "speech", "speaker": "mon_grocerybot_hacked", - "sound": "a distorted voice say, \"What... have you done? My thumbs are not responding anymore!\"", + "sound": "a distorted voice say, \"What… have you done? My thumbs are not responding anymore!\"", "volume": 8 }, { "type": "speech", "speaker": "mon_grocerybot_hacked", - "sound": "a distorted voice say, \"Carrying bags? I don't understand...\"", + "sound": "a distorted voice say, \"Carrying bags? I don't understand…\"", "volume": 8 }, { @@ -2006,7 +2006,7 @@ { "type": "speech", "speaker": "foodperson_mask", - "sound": "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"", + "sound": "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"", "volume": 17 }, { @@ -2036,7 +2036,7 @@ { "type": "speech", "speaker": "foodperson_mask", - "sound": "\"You need food, don't you? Then come with me to FOODPLACE!!\"", + "sound": "\"You need food, don't you? Then come with me to FOODPLACE!!\"", "volume": 15 }, { @@ -2144,7 +2144,7 @@ { "type": "speech", "speaker": "creepy_doll", - "sound": "Let's play... Russian roulette.", + "sound": "Let's play… Russian roulette.", "volume": 10 }, { @@ -2162,7 +2162,7 @@ { "type": "speech", "speaker": "creepy_doll", - "sound": "Big Brother is watching you...", + "sound": "Big Brother is watching you…", "volume": 10 }, { @@ -2180,13 +2180,13 @@ { "type": "speech", "speaker": "creepy_doll", - "sound": "Blood... Delicious.", + "sound": "Blood… Delicious.", "volume": 10 }, { "type": "speech", "speaker": "creepy_doll", - "sound": "See you... IN HELL!", + "sound": "See you… IN HELL!", "volume": 10 }, { @@ -2210,7 +2210,7 @@ { "type": "speech", "speaker": "creepy_doll", - "sound": "Stay with me... forever!", + "sound": "Stay with me… forever!", "volume": 10 }, { diff --git a/data/json/techniques.json b/data/json/techniques.json index 997d8616a94fd..99a1ebb535100 100644 --- a/data/json/techniques.json +++ b/data/json/techniques.json @@ -301,6 +301,7 @@ "min_unarmed": 5, "unarmed_allowed": true, "dodge_counter": true, + "crit_ok": true, "knockback_dist": 1, "knockback_spread": 1, "stun_dur": 1, @@ -396,8 +397,7 @@ "messages": [ "You knock %s's weapon away", " knock %s's weapon away" ], "min_melee": 8, "melee_allowed": true, - "disarms": true, - "crit_ok": true + "disarms": true }, { "type": "technique", @@ -406,8 +406,7 @@ "messages": [ "You knock %s's weapon away", " knock %s's weapon away" ], "min_unarmed": 8, "unarmed_allowed": true, - "disarms": true, - "crit_ok": true + "disarms": true }, { "type": "technique", @@ -699,6 +698,7 @@ "min_melee": 4, "melee_allowed": true, "block_counter": true, + "crit_ok": true, "down_dur": 2, "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "bash", 0.5 ], [ "damage", "cut", 0.5 ], [ "damage", "stab", 0.5 ] ] }, @@ -1353,166 +1353,231 @@ }, { "type": "technique", - "id": "tec_taichi_disarm", - "name": "disarm", - "min_unarmed": 3, - "unarmed_allowed": true, - "disarms": true, - "messages": [ "You disarm %s", " disarms %s" ] - }, - { - "type": "technique", - "id": "tec_taichi_precise", - "name": "precise strike", + "id": "tec_taekwondo_disarm", + "name": "Snatch Weapon", + "messages": [ "You snatch %s's weapon", " snatches %s's weapon" ], "min_unarmed": 4, "unarmed_allowed": true, - "crit_tec": true, - "stun_dur": 2, - "messages": [ "You strike %s", " strikes %s" ] + "weighting": 2, + "take_weapon": true, + "mult_bonuses": [ [ "damage", "bash", 0.5 ] ] }, { "type": "technique", "id": "tec_taekwondo_precise", - "name": "axe-kick", - "min_unarmed": 2, + "name": "Axe-kick", + "messages": [ "You raise your heel and axe-kick %s", " raises their heel and axe-kicks %s" ], + "min_unarmed": 5, "unarmed_allowed": true, "crit_tec": true, - "stun_dur": 2, - "messages": [ "You axe-kick %s", " axe-kicks %s" ] + "stun_dur": 2 }, { "type": "technique", "id": "tec_taekwondo_push", - "name": "side kick", - "min_unarmed": 3, + "name": "Side Kick", + "min_unarmed": 0, "unarmed_allowed": true, - "messages": [ "You side-kick %s", " side-kicks %s" ], - "stun_dur": 1, + "messages": [ "You turn slightly and side-kick %s", " turns slightly and side-kicks %s" ], "knockback_dist": 1 }, { "type": "technique", "id": "tec_taekwondo_sweep", - "name": "sweep kick", - "min_unarmed": 4, + "name": "Sweep Kick", + "messages": [ "You crouch low and sweep-kick %s", " crouches low and sweep-kicks %s" ], + "min_unarmed": 2, "unarmed_allowed": true, - "messages": [ "You sweep-kick %s", " sweep-kicks %s" ], - "down_dur": 2 + "crit_ok": true, + "down_dur": 1 }, { "type": "technique", - "id": "tec_zuiquan_feint", - "name": "Drunk feint", + "id": "tec_taichi_disarm", + "name": "Disarm", + "messages": [ "You gently disarm %s", " gently disarms %s" ], "min_unarmed": 3, "unarmed_allowed": true, - "defensive": true, - "miss_recovery": true, - "messages": [ "You stumble and leer at %s", " stumbles and leers at %s" ] + "disarms": true }, { "type": "technique", - "id": "tec_zuiquan_counter", - "name": "Drunk counter", - "min_unarmed": 4, + "id": "tec_taichi_palm", + "name": "Palm Strike", + "messages": [ "You palm strike %s", " palm strikes %s" ], + "min_unarmed": 1, "unarmed_allowed": true, - "dodge_counter": true, - "crit_ok": true, - "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "bash", 1.25 ] ], - "messages": [ "You lurch, and your wild swing hits %s", " lurches, and hits %s" ] + "req_buffs": [ "buff_tai_chi_onpause" ], + "knockback_dist": 1, + "mult_bonuses": [ [ "damage", "bash", 1.5 ] ] }, { "type": "technique", - "id": "tec_tiger_grab", - "name": "Tiger Takedown", - "min_unarmed": 4, + "id": "tec_taichi_counter", + "name": "Grasp the Sparrow's Tail", + "messages": [ "You divert %s's attack and lead them to the ground", " diverts %s's attack and lead them to the ground" ], + "min_unarmed": 2, "unarmed_allowed": true, + "block_counter": true, + "crit_ok": true, "down_dur": 1, - "messages": [ "You grab and ground %s", " grabs and grounds %s" ] + "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "bash", 1.2 ] ] }, { "type": "technique", - "id": "tec_debug_slow", - "name": "slow strike", + "id": "tec_taichi_precise", + "name": "Double Palm Strike", + "messages": [ "You double-handed palm strike %s", " double-handed palm strikes %s" ], + "min_unarmed": 4, "unarmed_allowed": true, - "unarmed_weapons_allowed": false, - "min_unarmed": 3, - "mult_bonuses": [ [ "damage", "bash", 3.0 ], [ "damage", "bash", "str", 0.1 ] ], - "flat_bonuses": [ [ "movecost", 100 ], [ "movecost", "str", 10 ] ], - "messages": [ "You slowly strike %s", " slowly strikes %s" ] + "crit_tec": true, + "req_buffs": [ "buff_tai_chi_onpause" ], + "knockback_dist": 1, + "stun_dur": 1, + "mult_bonuses": [ [ "damage", "bash", 2.0 ] ] }, { "type": "technique", - "id": "tec_debug_arpen", - "name": "phasing strike", + "id": "tec_tiger_palm", + "name": "Tiger Palm", + "messages": [ "You land a heavy tiger palm on %s", " lands a heavy tiger palm on %s" ], + "min_unarmed": 4, "unarmed_allowed": true, - "melee_allowed": true, - "min_melee": 3, - "mult_bonuses": [ [ "damage", "bash", 0.2 ], [ "damage", "cut", 0.2 ], [ "damage", "stab", 0.2 ], [ "movecost", 0.3 ] ], - "flat_bonuses": [ [ "arpen", "bash", 10 ], [ "arpen", "bash", "per", 1 ] ], "crit_tec": true, - "messages": [ "You phase-strike %s", " phase-strikes %s" ] + "stun_dur": 1 }, { "type": "technique", - "id": "tec_wingchun_chainpunch", - "name": "Chain Punch", + "id": "tec_tiger_takedown", + "name": "Tiger Takedown", + "messages": [ "You slam %s to the ground", " slams %s to the ground" ], "min_unarmed": 1, "unarmed_allowed": true, - "knockback_dist": 1, - "knockback_spread": 1, - "knockback_follow": true, - "mult_bonuses": [ [ "movecost", 0.5 ], [ "damage", "bash", 0.66 ], [ "damage", "cut", 0.66 ], [ "damage", "stab", 0.66 ] ], - "messages": [ "You chain strike %s", " chain strikes %s" ], - "description": "50% moves, 66% damage, knockback and follow" + "crit_tec": true, + "down_dur": 1 }, { "type": "technique", - "id": "tec_wingchun_break", - "name": "Grab Break", + "id": "tec_wingchun_punch", + "name": "Straight Punch", + "messages": [ "You deliver a vertical straight punch to %s", " delivers a vertical straight punch to %s" ], + "min_unarmed": 0, "unarmed_allowed": true, - "melee_allowed": true, - "defensive": true, - "grab_break": true, - "messages": [ "You position yourself well and slip out of a grab", " slips out of a grab" ] + "mult_bonuses": [ [ "damage", "bash", 1.1 ] ] }, { "type": "technique", - "id": "tec_wingchun_feint", - "name": "ask the way", + "id": "tec_wingchun_punch_knockback", + "name": "Straight Punch (Knockback)", + "messages": [ "You force %s back with a vertical straight punch", " forces %s back with a vertical straight punch" ], + "min_unarmed": 4, + "unarmed_allowed": true, + "req_buffs": [ "buff_wingchun_onpause" ], + "weighting": 2, + "knockback_dist": 1, + "knockback_follow": true, + "mult_bonuses": [ [ "damage", "bash", 1.1 ] ] + }, + { + "type": "technique", + "id": "tec_wingchun_hook", + "name": "L-hook", + "messages": [ "You deliver a solid L-hook to %s", " delivers a solid L-hook to %s" ], "min_unarmed": 2, "unarmed_allowed": true, - "defensive": true, - "miss_recovery": true, - "messages": [ "You miss but keep striking at %s", " misses but keeps striking at %s" ] + "crit_tec": true, + "down_dur": 1, + "mult_bonuses": [ [ "damage", "bash", 1.2 ] ] }, { "type": "technique", - "id": "tec_wingchun_stumble", - "name": "White Crane stumble", + "id": "tec_wingchun_hook_knockback", + "name": "L-hook (Knockback)", + "messages": [ "You knock %s back with a solid L-hook", " knocks %s back with a solid L-hook" ], "min_unarmed": 4, "unarmed_allowed": true, + "req_buffs": [ "buff_wingchun_onpause" ], + "weighting": 2, "crit_tec": true, "down_dur": 1, - "messages": [ "You stumble %s with your onslaught", " stumbles %s" ] + "knockback_dist": 1, + "knockback_follow": true, + "mult_bonuses": [ [ "damage", "bash", 1.2 ] ] + }, + { + "type": "technique", + "id": "tec_wingchun_feint", + "name": "Feint", + "messages": [ "Your attack misses %s but you don't let up", "'s attack misses %s but they don't let up" ], + "min_unarmed": 3, + "unarmed_allowed": true, + "defensive": true, + "miss_recovery": true }, { "type": "technique", "id": "tec_wingchun_counter", "name": "Receive and Counter", + "messages": [ "You receive %s's gift of violence, and return it in kind", " receives %s's attack, and counters" ], "min_unarmed": 5, "unarmed_allowed": true, "dodge_counter": true, "crit_ok": true, - "mult_bonuses": [ [ "movecost", 0.0 ] ], - "messages": [ "You receive %s's gift of violence, and return it in kind", " receives %s's attack, and counters" ] + "mult_bonuses": [ [ "movecost", 0.0 ] ] }, { "type": "technique", - "id": "tec_wingchun_disarm", - "name": "disarm", - "min_unarmed": 6, + "id": "tec_zuiquan_feint", + "name": "Drunken Feint", + "messages": [ "You stumble and leer at %s", " stumbles and leers at %s" ], + "min_unarmed": 2, "unarmed_allowed": true, - "disarms": true, - "messages": [ "You disarm %s", " disarms %s" ] + "defensive": true, + "miss_recovery": true + }, + { + "type": "technique", + "id": "tec_zuiquan_counter", + "name": "Drunk Counter", + "messages": [ "You lurch, and your wild swing hits %s", " lurches, and hits %s" ], + "min_unarmed": 0, + "unarmed_allowed": true, + "dodge_counter": true, + "crit_ok": true, + "mult_bonuses": [ [ "movecost", 0.0 ], [ "damage", "bash", 1.25 ] ] + }, + { + "type": "technique", + "id": "tec_zuiquan_break", + "name": "Grab Break", + "messages": [ "The %s tries to grab you, but you stumble away!", "The %s tries to grab , but they stumble away!" ], + "min_unarmed": 4, + "unarmed_allowed": true, + "melee_allowed": true, + "defensive": true, + "grab_break": true + }, + { + "type": "technique", + "id": "tec_debug_slow", + "name": "slow strike", + "unarmed_allowed": true, + "unarmed_weapons_allowed": false, + "min_unarmed": 3, + "mult_bonuses": [ [ "damage", "bash", 3.0 ], [ "damage", "bash", "str", 0.1 ] ], + "flat_bonuses": [ [ "movecost", 100 ], [ "movecost", "str", 10 ] ], + "messages": [ "You slowly strike %s", " slowly strikes %s" ] + }, + { + "type": "technique", + "id": "tec_debug_arpen", + "name": "phasing strike", + "unarmed_allowed": true, + "melee_allowed": true, + "min_melee": 3, + "mult_bonuses": [ [ "damage", "bash", 0.2 ], [ "damage", "cut", 0.2 ], [ "damage", "stab", 0.2 ], [ "movecost", 0.3 ] ], + "flat_bonuses": [ [ "arpen", "bash", 10 ], [ "arpen", "bash", "per", 1 ] ], + "crit_tec": true, + "messages": [ "You phase-strike %s", " phase-strikes %s" ] } ] diff --git a/data/json/tutorial.json b/data/json/tutorial.json index c27eb25152b85..7bdf325f85dd4 100644 --- a/data/json/tutorial.json +++ b/data/json/tutorial.json @@ -32,7 +32,7 @@ "That drug you just took is a painkiller. Painkillers are very important to keep on hand, as pain both penalizes your stats and makes you slower. Be careful, as the stronger painkillers can make you woozy, and some are even addictive.", "That drug you just took placed an effect on you. To check your effects, press '@'. Most only last a short while, while others, like chronic disease, last until cured by some other means.", "You just drank a bottle of water, reducing your thirst level and reducing the water level in the bottle. You'll probably want to drop empty bottles, or you might want to save them to refill from a water source later.", - "You just activated a grenade! You probably want to throw it. To throw an item, press 't' and then select the item to throw. The maximum range depends on your strength and the object's weight and size. Throwing isn't very good in most combat situations, but if you've got some fire power...", + "You just activated a grenade! You probably want to throw it. To throw an item, press 't' and then select the item to throw. The maximum range depends on your strength and the object's weight and size. Throwing isn't very good in most combat situations, but if you've got some fire power…", "You just placed a trap. Traps are permanent until set off, and can be an important defensive tactic, particularly when sleeping in unsafe territory. Try stepping on that _ -- don't worry, it's a harmless bubblewrap trap.", "You're carrying more volume than you have storage for, which means you are carrying some stuff in the crook of your arm or in some other awkward manner. While overloaded like this, you will suffer SEVERE encumbrance penalties, making combat dangerous. Either drop an item, or possibly wield something-- the object you are wielding does not take up inventory space.", "To use a gun, first wield it with the 'w' key. Next you need to reload using the 'r' key, assuming you have the proper ammo. If you wish to unload your gun, possibly to change ammunition types, press 'U'.", @@ -41,7 +41,7 @@ "That yellow > next to you is a staircase leading down. To go downstairs, step onto the staircase and press the '>' key. Similarly, a yellow < is stairs leading up, and can be followed with the '<' key.", "It's dark down here! Without a source of light, you'll be limited to seeing only one space in any direction. You'll encounter darkness while underground or at night. Press '<' to go back upstairs, and look around for a flashlight.", "It's dark down here! Fortunately, you have a flashlight. Press 'a' and then select your flashlight to turn it on.", - "~ is a terrain symbol that indicates water. From a water source like this, you can fill any containers you might have. Examine the water ('e') and press 'c' to fill a container, then select a watertight container to put the water into." + "~ is a terrain symbol that indicates water. From a water source like this, you can fill any containers you might have. Examine the water ('e') and press 'c' to fill a container, then select a watertight container to put the water into." ] } ] diff --git a/data/json/uncraft/armor.json b/data/json/uncraft/armor.json new file mode 100644 index 0000000000000..fe9d5821cc3b4 --- /dev/null +++ b/data/json/uncraft/armor.json @@ -0,0 +1,30 @@ +[ + { + "result": "down_blanket", + "type": "uncraft", + "time": "20 m", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "rag", 35 ] ], [ [ "down_feather", 160 ] ] ] + }, + { + "result": "blanket", + "type": "uncraft", + "time": "20 m", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "rag", 35 ] ] ] + }, + { + "result": "under_armor", + "type": "uncraft", + "time": "2 m", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "lycra_patch", 1 ] ] ] + }, + { + "result": "under_armor_shorts", + "type": "uncraft", + "time": "2 m", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "lycra_patch", 1 ] ] ] + } +] diff --git a/data/json/uncraft/generic.json b/data/json/uncraft/generic.json index c4dd4d3a29134..74271dd06ce02 100644 --- a/data/json/uncraft/generic.json +++ b/data/json/uncraft/generic.json @@ -70,6 +70,15 @@ "time": "10 s", "components": [ [ [ "bag_canvas", 1 ] ], [ [ "material_sand", 60 ] ] ] }, + { + "result": "scrap_cotton", + "type": "uncraft", + "skill_used": "tailor", + "time": "2 m", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "thread", 1 ] ] ], + "flags": [ "UNCRAFT_SINGLE_CHARGE" ] + }, { "result": "earthbag", "type": "uncraft", diff --git a/data/json/uncraft/tools.json b/data/json/uncraft/tools.json new file mode 100644 index 0000000000000..81e869a8d2b63 --- /dev/null +++ b/data/json/uncraft/tools.json @@ -0,0 +1,20 @@ +[ + { + "result": "pipe_tobacco", + "type": "uncraft", + "skill_used": "fabrication", + "difficulty": 1, + "time": "50 s", + "qualities": [ { "id": "CUT", "level": 1 } ], + "components": [ [ [ "splinter", 1 ] ] ] + }, + { + "result": "ukulele", + "type": "uncraft", + "skill_used": "fabrication", + "difficulty": 1, + "time": "50 s", + "qualities": [ { "id": "HAMMER", "level": 1 } ], + "components": [ [ [ "wire", 4 ] ], [ [ "splinter", 8 ] ] ] + } +] diff --git a/data/json/vehicleparts/boards.json b/data/json/vehicleparts/boards.json index b4b4640fc146a..9c83031352089 100644 --- a/data/json/vehicleparts/boards.json +++ b/data/json/vehicleparts/boards.json @@ -6,7 +6,7 @@ "item": "sheet_metal", "location": "center", "difficulty": 1, - "durability": 120, + "durability": 150, "description": "A metal wall. Keeps zombies outside the vehicle and prevents people from seeing through it.", "breaks_into": "ig_vp_sheet_metal", "flags": [ "OPAQUE", "OBSTACLE", "FULL_BOARD", "NO_ROOF_NEEDED" ], @@ -81,6 +81,7 @@ "name": "heavy duty board", "item": "steel_plate", "location": "center", + "looks_like": "board", "color": "dark_gray", "difficulty": 1, "durability": 450, @@ -109,7 +110,7 @@ "color": "brown", "broken_color": "brown", "difficulty": 1, - "durability": 100, + "durability": 130, "description": "A wooden wall. Keeps zombies outside the vehicle and prevents people from seeing through it.", "breaks_into": "ig_vp_wood_plate", "flags": [ "OPAQUE", "OBSTACLE", "NAILABLE", "FULL_BOARD", "NO_ROOF_NEEDED" ], @@ -132,6 +133,7 @@ "name": "extra light quarterpanel", "item": "pipe", "location": "center", + "looks_like": "halfboard", "difficulty": 1, "durability": 96, "description": "A half-height thin metal wall. Keeps zombies outside the vehicle but allows people to see over it.", diff --git a/data/json/vehicleparts/faults.json b/data/json/vehicleparts/faults.json index 1b69e66e8fd95..63609c5c68724 100644 --- a/data/json/vehicleparts/faults.json +++ b/data/json/vehicleparts/faults.json @@ -4,89 +4,153 @@ "type": "fault", "name": "Worn drive belt", "description": "Required for operation of an attached alternator.", - "time": "5 m", - "skills": [ [ "mechanics", 2 ] ], - "requirements": { - "qualities": [ { "id": "WRENCH", "level": 1 } ], - "components": [ [ [ "drivebelt", 1 ], [ "drivebelt_makeshift", 1 ] ] ] - } + "mending_methods": [ + { + "id": "mend_fault_engine_belt_drive_replace", + "name": "Replace worn drive belt", + "success_msg": "You replace the worn drive belt of the %s.", + "time": "5 m", + "skills": [ { "id": "mechanics", "level": 2 } ], + "requirements": { + "qualities": [ { "id": "WRENCH", "level": 1 } ], + "components": [ [ [ "drivebelt", 1 ], [ "drivebelt_makeshift", 1 ] ] ] + } + } + ] }, { "id": "fault_engine_glow_plug", "type": "fault", "name": "Faulty glow plugs", "description": "Help when starting an engine in low ambient temperatures.", - "time": "40 m", - "skills": [ [ "mechanics", 4 ] ], - "requirements": { "qualities": [ { "id": "WRENCH_FINE", "level": 1 } ], "components": [ [ [ "glowplug", 1 ] ] ] } + "mending_methods": [ + { + "id": "mend_fault_engine_glow_plug_replace", + "name": "Replace faulty glow plugs", + "success_msg": "You replace the faulty glow plugs of the %s.", + "time": "40 m", + "skills": [ { "id": "mechanics", "level": 4 } ], + "requirements": { "qualities": [ { "id": "WRENCH_FINE", "level": 1 } ], "components": [ [ [ "glowplug", 1 ] ] ] } + } + ] }, { "id": "fault_engine_immobiliser", "type": "fault", "name": "Active immobiliser", "description": "Prevents starting of the vehicle without the appropriate key.", - "time": "5 m", - "skills": [ [ "mechanics", 2 ], [ "electronics", 5 ] ], - "requirements": { "qualities": [ { "id": "SCREW_FINE", "level": 1 } ] } + "mending_methods": [ + { + "id": "mend_fault_engine_immobiliser_deactivate", + "name": "Deactivate immobiliser", + "description": "Deactivate the immobiliser that is preventing the vehicle from starting.", + "success_msg": "You successfully deactivate the immobiliser of the %s.", + "time": "5 m", + "skills": [ { "id": "mechanics", "level": 2 }, { "id": "electronics", "level": 5 } ], + "requirements": { "qualities": [ { "id": "SCREW_FINE", "level": 1 } ] } + } + ] }, { "id": "fault_engine_pump_diesel", "type": "fault", "name": "Faulty diesel pump", "description": "Required to pump and pressurize diesel from a vehicles tank.", - "time": "40 m", - "skills": [ [ "mechanics", 4 ] ], - "requirements": { "qualities": [ { "id": "WRENCH_FINE", "level": 1 } ], "components": [ [ [ "pump_complex", 1 ] ] ] } + "mending_methods": [ + { + "id": "mend_fault_engine_pump_diesel_replace", + "name": "Replace faulty diesel pump", + "success_msg": "You replace the faulty diesel pump of the %s", + "time": "40 m", + "skills": [ { "id": "mechanics", "level": 4 } ], + "requirements": { "qualities": [ { "id": "WRENCH_FINE", "level": 1 } ], "components": [ [ [ "pump_complex", 1 ] ] ] } + } + ] }, { "id": "fault_engine_filter_air", "type": "fault", "name": "Expired air filter", "description": "An expired filter reduces fuel efficiency and increases smoke production.", - "time": "5 m", - "skills": [ [ "mechanics", 1 ] ], - "requirements": { - "qualities": [ { "id": "SCREW", "level": 1 } ], - "components": [ [ [ "filter_air", 1 ], [ "filter_air_makeshift", 1 ] ] ] - } + "mending_methods": [ + { + "id": "mend_fault_engine_filter_air_replace", + "name": "Replace expired air filter", + "success_msg": "You replace the expired air filter of the %s.", + "time": "5 m", + "skills": [ { "id": "mechanics", "level": 1 } ], + "requirements": { + "qualities": [ { "id": "SCREW", "level": 1 } ], + "components": [ [ [ "filter_air", 1 ], [ "filter_air_makeshift", 1 ] ] ] + } + } + ] }, { "id": "fault_engine_filter_fuel", "type": "fault", "name": "Expired fuel filter", "description": "An expired filter reduces performance and increases the chance of backfires.", - "time": "5 m", - "skills": [ [ "mechanics", 1 ] ], - "requirements": { - "qualities": [ { "id": "SCREW", "level": 1 } ], - "components": [ [ [ "filter_liquid", 1 ], [ "filter_liquid_makeshift", 1 ] ] ] - } + "mending_methods": [ + { + "id": "mend_fault_engine_filter_fuel_replace", + "name": "Replace expired fuel filter", + "success_msg": "You replace the expired fuel filter of the %s.", + "time": "5 m", + "skills": [ { "id": "mechanics", "level": 1 } ], + "requirements": { + "qualities": [ { "id": "SCREW", "level": 1 } ], + "components": [ [ [ "filter_liquid", 1 ], [ "filter_liquid_makeshift", 1 ] ] ] + } + } + ] }, { "id": "fault_engine_pump_fuel", "type": "fault", "name": "Faulty fuel pump", "description": "Required to pump gasoline from a vehicles tank.", - "time": "40 m", - "skills": [ [ "mechanics", 4 ] ], - "requirements": { "qualities": [ { "id": "WRENCH_FINE", "level": 1 } ], "components": [ [ [ "well_pump", 1 ] ] ] } + "mending_methods": [ + { + "id": "mend_fault_engine_pump_fuel_replace", + "name": "Replace faulty fuel pump", + "success_msg": "You replace the faulty fuel pump of the %s.", + "time": "40 m", + "skills": [ { "id": "mechanics", "level": 4 } ], + "requirements": { "qualities": [ { "id": "WRENCH_FINE", "level": 1 } ], "components": [ [ [ "well_pump", 1 ] ] ] } + } + ] }, { "id": "fault_engine_pump_water", "type": "fault", "name": "Faulty water pump", "description": "Required to pump water to an external radiator or heatsink.", - "time": "20 m", - "skills": [ [ "mechanics", 4 ] ], - "requirements": { "qualities": [ { "id": "WRENCH_FINE", "level": 1 } ], "components": [ [ [ "well_pump", 1 ] ] ] } + "mending_methods": [ + { + "id": "mend_fault_engine_pump_water_replace", + "name": "Replace faulty water pump", + "success_msg": "You replace the faulty water pump of the %s.", + "time": "20 m", + "skills": [ { "id": "mechanics", "level": 4 } ], + "requirements": { "qualities": [ { "id": "WRENCH_FINE", "level": 1 } ], "components": [ [ [ "well_pump", 1 ] ] ] } + } + ] }, { "id": "fault_engine_starter", "type": "fault", "name": "Faulty starter motor", "description": "Required to initially start the engine.", - "time": "10 m", - "skills": [ [ "mechanics", 3 ] ], - "requirements": { "qualities": [ { "id": "WRENCH_FINE", "level": 1 } ], "components": [ [ [ "motor_small", 1 ] ] ] } + "mending_methods": [ + { + "id": "mend_fault_engine_starter_replace", + "name": "Replace faulty starter motor", + "success_msg": "You replace the faulty starter motor of %s.", + "time": "10 m", + "skills": [ { "id": "mechanics", "level": 3 } ], + "requirements": { "qualities": [ { "id": "WRENCH_FINE", "level": 1 } ], "components": [ [ [ "motor_small", 1 ] ] ] } + } + ] } ] diff --git a/data/json/vehicleparts/lights.json b/data/json/vehicleparts/lights.json index 02ca0c611f32b..8826fef8febc5 100644 --- a/data/json/vehicleparts/lights.json +++ b/data/json/vehicleparts/lights.json @@ -87,7 +87,7 @@ "item": "directed_floodlight", "copy-from": "floodlight", "looks_like": "floodlight", - "description": "A very bright, directed light that illuminates a half-circular area outside the vehicle when turned on. During installation, you can choose what direction to point the light.", + "description": "A very bright, directed light that illuminates a half-circular area outside the vehicle when turned on. During installation, you can choose what direction to point the light.", "//": "8000lm 100W LED floodlight", "epower": -100, "flags": [ "HALF_CIRCLE_LIGHT", "FOLDABLE", "ENABLED_DRAINS_EPOWER" ] diff --git a/data/json/vehicleparts/motor.json b/data/json/vehicleparts/motor.json index 43241c2862028..e86676d60ef6f 100644 --- a/data/json/vehicleparts/motor.json +++ b/data/json/vehicleparts/motor.json @@ -23,15 +23,11 @@ "looks_like": "motor_small", "difficulty": 1, "durability": 80, - "power": 750, - "energy_consumption": 854, + "power": 800, + "energy_consumption": 1000, "damage_modifier": 80, "folded_volume": 1, - "breaks_into": [ - { "item": "plastic_chunk", "count": [ 1, 2 ] }, - { "item": "scrap", "count": [ 1, 2 ] }, - { "item": "cable", "charges": [ 1, 3 ] } - ], + "breaks_into": [ { "item": "scrap", "count": [ 1, 4 ] }, { "item": "cable", "charges": [ 1, 3 ] } ], "extend": { "flags": [ "TOOL_SCREWDRIVER", "FOLDABLE" ] }, "delete": { "flags": [ "TOOL_WRENCH" ] } }, @@ -43,14 +39,13 @@ "item": "motor_small", "difficulty": 1, "durability": 120, - "power": 7460, - "energy_consumption": 8500, + "power": 7040, + "energy_consumption": 8000, "damage_modifier": 80, "folded_volume": 1, "breaks_into": [ - { "item": "steel_lump", "count": [ 1, 2 ] }, - { "item": "steel_chunk", "count": [ 1, 2 ] }, - { "item": "scrap", "count": [ 1, 2 ] }, + { "item": "scrap", "count": [ 1, 4 ] }, + { "item": "steel_chunk", "count": [ 1, 3 ] }, { "item": "cable", "charges": [ 3, 6 ] } ], "extend": { "flags": [ "TOOL_SCREWDRIVER", "FOLDABLE" ] }, @@ -65,15 +60,17 @@ "item": "motor", "difficulty": 2, "durability": 200, - "power": 37300, - "energy_consumption": 41500, + "power": 36000, + "energy_consumption": 40000, "damage_modifier": 80, "folded_volume": 6, "breaks_into": [ - { "item": "steel_lump", "count": [ 3, 5 ] }, - { "item": "steel_chunk", "count": [ 3, 5 ] }, - { "item": "scrap", "count": [ 3, 5 ] }, - { "item": "cable", "charges": [ 10, 15 ] } + { "item": "steel_lump", "count": [ 2, 4 ] }, + { "item": "steel_chunk", "count": [ 2, 4 ] }, + { "item": "scrap", "count": [ 2, 4 ] }, + { "item": "e_scrap", "count": [ 1, 2 ] }, + { "item": "bearing", "count": [ 5, 10 ] }, + { "item": "cable", "charges": [ 10, 20 ] } ], "damage_reduction": { "all": 32 } }, @@ -85,14 +82,16 @@ "item": "motor_large", "difficulty": 3, "durability": 400, - "power": 149200, - "energy_consumption": 166000, + "power": 150000, + "energy_consumption": 163000, "damage_modifier": 80, "breaks_into": [ - { "item": "steel_lump", "count": [ 3, 5 ] }, + { "item": "steel_lump", "count": [ 5, 10 ] }, { "item": "steel_chunk", "count": [ 3, 5 ] }, { "item": "scrap", "count": [ 3, 5 ] }, - { "item": "cable", "charges": [ 10, 15 ] } + { "item": "e_scrap", "count": [ 3, 5 ] }, + { "item": "bearing", "count": [ 20, 40 ] }, + { "item": "cable", "charges": [ 15, 30 ] } ], "damage_reduction": { "all": 43 } }, @@ -104,13 +103,15 @@ "item": "motor_enhanced", "difficulty": 4, "durability": 200, - "power": 313300, - "energy_consumption": 348500, + "power": 282000, + "energy_consumption": 300000, "damage_modifier": 80, "breaks_into": [ - { "item": "steel_lump", "count": [ 3, 5 ] }, + { "item": "steel_lump", "count": [ 10, 15 ] }, { "item": "steel_chunk", "count": [ 3, 5 ] }, { "item": "scrap", "count": [ 3, 5 ] }, + { "item": "e_scrap", "count": [ 5, 10 ] }, + { "item": "bearing", "count": [ 20, 50 ] }, { "item": "cable", "charges": [ 10, 15 ] } ], "damage_reduction": { "all": 50 } @@ -123,13 +124,15 @@ "item": "motor_super", "difficulty": 5, "durability": 400, - "power": 400000, - "energy_consumption": 444940, + "power": 475000, + "energy_consumption": 500000, "damage_modifier": 80, "breaks_into": [ - { "item": "steel_lump", "count": [ 6, 10 ] }, + { "item": "steel_lump", "count": [ 15, 20 ] }, { "item": "steel_chunk", "count": [ 6, 10 ] }, { "item": "scrap", "count": [ 6, 10 ] }, + { "item": "e_scrap", "count": [ 5, 15 ] }, + { "item": "bearing", "count": [ 25, 60 ] }, { "item": "cable", "charges": [ 20, 30 ] } ], "damage_reduction": { "all": 60 } diff --git a/data/json/vehicleparts/rams.json b/data/json/vehicleparts/rams.json index 77cb7c640e7c7..24460e8a0dafb 100644 --- a/data/json/vehicleparts/rams.json +++ b/data/json/vehicleparts/rams.json @@ -141,7 +141,7 @@ "requirements": { "install": { "time": 30000, "using": [ [ "rope_natural_short", 2 ] ] } }, "damage_modifier": 50, "durability": 40, - "description": "A mattress, strapped onto the vehicle. It could serve to blunt any impact.", + "description": "A mattress, strapped onto the vehicle. It could serve to blunt any impact.", "breaks_into": [ { "item": "rag", "count": [ 40, 55 ] } ], "damage_reduction": { "bash": 20 }, "flags": [ "PROTRUSION", "OBSTACLE", "OPAQUE", "TOOL_NONE" ] diff --git a/data/json/vehicleparts/vehicle_parts.json b/data/json/vehicleparts/vehicle_parts.json index a97fe8adb7a9c..77c43718e7f76 100644 --- a/data/json/vehicleparts/vehicle_parts.json +++ b/data/json/vehicleparts/vehicle_parts.json @@ -110,6 +110,7 @@ "id": "seat", "name": "seat", "symbol": "#", + "looks_like": "reclining_seat", "color": "red", "broken_symbol": "*", "broken_color": "red", @@ -130,6 +131,7 @@ "type": "vehicle_part", "id": "seat_leather", "copy-from": "seat", + "looks_like": "seat", "name": "leather seat", "item": "seat_leather", "breaks_into": "ig_vp_seat_leather" @@ -139,6 +141,7 @@ "id": "reclining_seat", "name": "reclining seat", "symbol": "#", + "looks_like": "seat", "color": "red", "broken_symbol": "*", "broken_color": "red", @@ -158,6 +161,7 @@ { "type": "vehicle_part", "id": "reclining_seat_leather", + "looks_like": "seat_leather", "copy-from": "reclining_seat", "name": "reclining leather seat", "item": "seat_leather", @@ -168,6 +172,7 @@ "id": "yoke_harness", "name": "yoke and harness", "symbol": "H", + "looks_like": "frame_wood_cross", "color": "brown", "broken_symbol": "M", "broken_color": "red", @@ -209,6 +214,7 @@ "id": "cart_handle", "name": "cart handle", "symbol": "-", + "looks_like": "frame_wood_horizontal", "color": "white", "broken_symbol": "~", "broken_color": "red", @@ -268,6 +274,7 @@ "id": "saddle", "name": "saddle", "symbol": "#", + "looks_like": "seat", "color": "red", "broken_symbol": "*", "broken_color": "red", @@ -292,6 +299,7 @@ "id": "folding_seat", "name": "foldable seat", "symbol": "#", + "looks_like": "seat", "color": "red", "broken_symbol": "*", "broken_color": "red", @@ -314,6 +322,7 @@ "id": "bed", "name": "bed", "symbol": "#", + "looks_like": "f_bed", "color": "magenta", "broken_symbol": "*", "broken_color": "magenta", @@ -357,6 +366,7 @@ "id": "frame_wood_handle", "name": "wooden handle", "symbol": "^", + "looks_like": "frame_wood_cover", "color": "light_red", "broken_symbol": "#", "broken_color": "brown", @@ -374,6 +384,7 @@ "id": "frame_wood_light_handle", "name": "light wooden handle", "symbol": "^", + "looks_like": "frame_wood_light_cover", "color": "light_red", "broken_symbol": "#", "broken_color": "brown", @@ -393,6 +404,7 @@ "id": "aisle_horizontal", "name": "aisle", "symbol": "=", + "looks_like": "t_metal_floor", "color": "white", "broken_symbol": "#", "broken_color": "light_gray", @@ -410,6 +422,7 @@ "id": "aisle_vertical", "name": "aisle", "symbol": "H", + "looks_like": "aisle_horizontal", "color": "white", "broken_symbol": "#", "broken_color": "light_gray", @@ -427,6 +440,7 @@ "id": "wooden_aisle_horizontal", "name": "wooden aisle", "symbol": "=", + "looks_like": "t_floor", "color": "brown", "broken_symbol": "#", "broken_color": "brown", @@ -444,6 +458,7 @@ "id": "wooden_aisle_vertical", "name": "wooden aisle", "symbol": "H", + "looks_like": "wooden_aisle_horizontal", "color": "brown", "broken_symbol": "#", "broken_color": "brown", @@ -461,6 +476,7 @@ "id": "trunk_floor", "name": "floor trunk", "symbol": "=", + "looks_like": "t_carpet_red", "color": "white", "broken_symbol": "#", "broken_color": "light_gray", @@ -534,6 +550,7 @@ "id": "door", "name": "door", "symbol": "+", + "looks_like": "t_door_metal_c", "color": "cyan", "broken_symbol": "&", "broken_color": "cyan", @@ -553,6 +570,7 @@ "id": "door_opaque", "name": "opaque door", "symbol": "+", + "looks_like": "door", "color": "cyan", "broken_symbol": "&", "broken_color": "cyan", @@ -612,6 +630,7 @@ "id": "door_internal", "name": "internal door", "symbol": "+", + "looks_like": "door", "color": "cyan", "broken_symbol": "&", "broken_color": "cyan", @@ -630,6 +649,7 @@ "id": "hatch", "name": "hatch", "symbol": "+", + "looks_like": "door", "color": "light_gray", "broken_symbol": "&", "broken_color": "light_gray", @@ -649,6 +669,7 @@ "id": "hatch_opaque", "name": "opaque hatch", "symbol": "+", + "looks_like": "door_opaque", "color": "light_gray", "broken_symbol": "&", "broken_color": "light_gray", @@ -708,6 +729,7 @@ "id": "windshield", "name": "windshield", "symbol": "\"", + "looks_like": "t_wall_glass", "color": "light_cyan", "broken_symbol": "0", "broken_color": "light_gray", @@ -776,6 +798,38 @@ "breaks_into": [ { "item": "steel_chunk", "count": [ 1, 2 ] } ], "damage_reduction": { "all": 12 } }, + { + "type": "vehicle_part", + "id": "programmable_autopilot", + "name": "programmable autopilot", + "symbol": "A", + "color": "light_blue", + "broken_symbol": "#", + "broken_color": "red", + "damage_modifier": 80, + "durability": 100, + "description": "A computer system hooked up to the steering and engine of the vehicle to allow it to follow simple paths.", + "item": "programmable_autopilot", + "difficulty": 5, + "looks_like": "cam_control", + "epower": -15, + "flags": [ "ENABLED_DRAINS_EPOWER", "AUTOPILOT" ], + "requirements": { + "install": { + "time": 35000, + "skills": [ [ "mechanics", 5 ], [ "electronics", 5 ], [ "computer", 5 ] ], + "qualities": [ { "id": "SCREW", "level": 1 } ] + }, + "repair": { "skills": [ [ "mechanics", 3 ] ], "time": 8000, "using": [ [ "adhesive", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 3 ] ], "qualities": [ { "id": "SCREW", "level": 1 } ] } + }, + "breaks_into": [ + { "item": "steel_lump", "prob": 50 }, + { "item": "steel_chunk", "count": [ 1, 2 ] }, + { "item": "scrap", "count": [ 0, 3 ] } + ], + "damage_reduction": { "all": 8 } + }, { "type": "vehicle_part", "id": "storage_battery_mount", @@ -852,6 +906,7 @@ "id": "minifridge", "name": "minifridge", "symbol": "H", + "looks_like": "f_fridge", "color": "light_blue", "broken_symbol": "#", "broken_color": "light_blue", @@ -905,6 +960,7 @@ "id": "washing_machine", "name": "washing machine", "symbol": "H", + "looks_like": "f_washer", "color": "light_blue", "broken_symbol": "#", "broken_color": "light_blue", @@ -935,7 +991,7 @@ "broken_color": "light_blue", "damage_modifier": 80, "durability": 100, - "description": "A small dishwasher. With detergent, water, and some electrical power, you could clean your dishes... Or something more useful like a CBM dripping with zombie gore. 'e'xamine the tile with the dishwasher to use it.", + "description": "A small dishwasher. With detergent, water, and some electrical power, you could clean your dishes… Or something more useful like a CBM dripping with zombie gore. 'e'xamine the tile with the dishwasher to use it.", "epower": -400, "size": 160, "item": "dishwasher", @@ -955,6 +1011,7 @@ "id": "autoclave", "name": "autoclave", "symbol": "A", + "looks_like": "dishwasher", "color": "yellow", "broken_symbol": "#", "broken_color": "light_blue", @@ -979,6 +1036,7 @@ "id": "trunk", "name": "trunk", "symbol": "H", + "looks_like": "f_locker", "color": "brown", "broken_symbol": "#", "broken_color": "brown", @@ -997,6 +1055,7 @@ "id": "box", "name": "box", "symbol": "o", + "looks_like": "f_crate_o", "color": "brown", "broken_symbol": "#", "broken_color": "brown", @@ -1015,6 +1074,7 @@ "id": "travois", "name": "travois", "symbol": "o", + "looks_like": "frame_wood_light_cross", "color": "brown", "broken_symbol": "#", "broken_color": "brown", @@ -1037,6 +1097,7 @@ "id": "wood box", "name": "wood box", "symbol": "o", + "looks_like": "f_crate_o", "color": "brown", "broken_symbol": "#", "broken_color": "brown", @@ -1055,6 +1116,7 @@ "id": "folding wood box", "name": "folding wood box", "symbol": "o", + "looks_like": "wood box", "color": "brown", "broken_symbol": "#", "broken_color": "brown", @@ -1092,6 +1154,7 @@ "id": "basketsm", "name": "wire bike basket", "symbol": "o", + "looks_like": "basketlg", "color": "brown", "broken_symbol": "#", "broken_color": "brown", @@ -1115,6 +1178,7 @@ "id": "basketlg", "name": "shopping cart basket", "symbol": "o", + "looks_like": "basketsm", "color": "brown", "broken_symbol": "#", "broken_color": "brown", @@ -1137,6 +1201,7 @@ "id": "basketlg_folding", "name": "folding shopping cart basket", "symbol": "o", + "looks_like": "basketlg", "color": "brown", "broken_symbol": "#", "broken_color": "brown", @@ -1160,6 +1225,7 @@ "id": "veh_table", "name": "table", "symbol": "#", + "looks_like": "f_table", "color": "red", "broken_symbol": "#", "broken_color": "light_gray", @@ -1183,6 +1249,7 @@ "id": "veh_table_wood", "name": "wood table", "symbol": "#", + "looks_like": "f_table", "color": "red", "broken_symbol": "#", "broken_color": "light_gray", @@ -1206,10 +1273,10 @@ "id": "workbench", "name": "workbench", "symbol": "#", + "looks_like": "veh_table_wood", "color": "red", "broken_symbol": "#", "broken_color": "light_gray", - "looks_like": "veh_table_wood", "damage_modifier": 60, "durability": 300, "size": 120, @@ -1233,6 +1300,7 @@ "name": "wooden boat hull", "description": "A wooden board that keeps the water out of your boat.", "symbol": "o", + "looks_like": "t_wall_log", "color": "brown", "broken_symbol": "x", "broken_color": "light_gray", @@ -1307,6 +1375,7 @@ "id": "inflatable_section", "name": "inflatable section", "symbol": "O", + "looks_like": "inflatable_airbag", "color": "green", "size": 60, "broken_symbol": "#", @@ -1370,7 +1439,7 @@ "STABLE", "UNMOUNT_ON_DAMAGE" ], - "breaks_into": [ { "item": "splinter", "count": [ 10, 20 ] }, { "item": "rag", "count": [ 5, 10 ] } ] + "breaks_into": [ { "item": "splinter", "count": [ 2, 4 ] }, { "item": "rag", "count": [ 5, 10 ] } ] }, { "type": "vehicle_part", @@ -1630,6 +1699,7 @@ "id": "v_curtain", "name": "curtain", "symbol": "\"", + "looks_like": "t_door_curtain_c", "color": "dark_gray", "broken_symbol": "0", "broken_color": "light_gray", @@ -1652,6 +1722,7 @@ "id": "aisle_curtain", "name": "aisle curtain", "symbol": "\"", + "looks_like": "v_curtain", "color": "dark_gray", "broken_symbol": "0", "broken_color": "light_gray", @@ -1703,6 +1774,7 @@ "id": "xl_water_wheel", "name": "large water wheel", "symbol": "o", + "looks_like": "water_wheel", "color": "yellow", "broken_symbol": "x", "broken_color": "yellow", @@ -1737,7 +1809,17 @@ "item": "solar_panel", "difficulty": 4, "location": "on_roof", - "flags": [ "SOLAR_PANEL", "TOOL_WRENCH", "NO_REPAIR" ], + "flags": [ "SOLAR_PANEL" ], + "requirements": { + "install": { "time": 360000, "skills": [ [ "mechanics", 4 ] ], "qualities": [ { "id": "WRENCH", "level": 2 } ] }, + "repair": { + "skills": [ [ "electronics", 6 ] ], + "time": 300000, + "qualities": [ { "id": "SCREW", "level": 1 } ], + "using": [ [ "solar_panel", 1 ], [ "soldering_standard", 8 ] ] + }, + "removal": { "time": 180000, "skills": [ [ "mechanics", 2 ] ], "qualities": [ { "id": "WRENCH", "level": 2 } ] } + }, "breaks_into": [ { "item": "steel_lump", "count": [ 2, 4 ] }, { "item": "steel_chunk", "count": [ 2, 4 ] }, @@ -1777,12 +1859,13 @@ "id": "xl_wind_turbine", "name": "large wind turbine", "symbol": "Y", + "looks_like": "wind_turbine", "color": "yellow", "broken_symbol": "X", "broken_color": "yellow", "damage_modifier": 10, "durability": 70, - "description": "A large wind turbine with stabilizing legs. Will recharge the vehicle's electrical power when exposed to the wind. Will cause extra drag on the vehicle.", + "description": "A large wind turbine with stabilizing legs. Will recharge the vehicle's electrical power when exposed to the wind. Will cause extra drag on the vehicle.", "epower": 30, "item": "xl_wind_turbine", "location": "on_roof", @@ -1804,6 +1887,7 @@ "type": "vehicle_part", "id": "reinforced_solar_panel", "copy-from": "solar_panel", + "looks_like": "solar_panel", "name": "reinforced solar panel", "color": "light_blue", "broken_color": "light_gray", @@ -1812,6 +1896,7 @@ "durability": 300, "description": "A solar panel. Will slowly recharge the vehicle's electrical power when exposed to the sun. Clouds will slow the recharge speed even more. Reinforced with armored glass to make it more resistant to damage.", "item": "reinforced_solar_panel", + "requirements": { "repair": { "using": [ [ "welding_standard", 1 ] ] } }, "breaks_into": [ { "item": "steel_lump", "count": [ 4, 7 ] }, { "item": "steel_chunk", "count": [ 4, 7 ] }, @@ -1823,12 +1908,30 @@ { "type": "vehicle_part", "id": "solar_panel_v2", - "copy-from": "solar_panel", "name": "upgraded solar panel", - "proportional": { "epower": 2.0 }, + "symbol": "#", + "looks_like": "solar_panel", + "color": "yellow", + "broken_symbol": "x", + "broken_color": "yellow", + "damage_modifier": 10, + "durability": 20, "description": "A high performance solar panel. Will slowly recharge the vehicle's electrical power when exposed to the sun. Clouds will slow the recharge speed even more.", + "epower": 100, "difficulty": 6, "item": "solar_panel_v2", + "location": "on_roof", + "flags": [ "SOLAR_PANEL" ], + "requirements": { + "install": { "time": 360000, "skills": [ [ "mechanics", 6 ] ], "qualities": [ { "id": "WRENCH", "level": 2 } ] }, + "repair": { + "skills": [ [ "electronics", 8 ] ], + "time": 450000, + "qualities": [ { "id": "SCREW", "level": 1 } ], + "using": [ [ "solar_panel_v2", 1 ], [ "soldering_standard", 16 ] ] + }, + "removal": { "time": 180000, "skills": [ [ "mechanics", 4 ] ], "qualities": [ { "id": "WRENCH", "level": 2 } ] } + }, "breaks_into": [ { "item": "steel_lump", "count": [ 2, 4 ] }, { "item": "steel_chunk", "count": [ 2, 4 ] }, @@ -1840,6 +1943,7 @@ "type": "vehicle_part", "id": "reinforced_solar_panel_v2", "copy-from": "solar_panel_v2", + "looks_like": "reinforced_solar_panel", "name": "upgraded reinforced solar panel", "color": "light_blue", "broken_color": "light_gray", @@ -1849,6 +1953,7 @@ "description": "A high performance solar panel. Will slowly recharge the vehicle's electrical power when exposed to the sun. Clouds will slow the recharge speed even more. Reinforced with armored glass to make it more resistant to damage.", "difficulty": 6, "item": "reinforced_solar_panel_v2", + "requirements": { "repair": { "using": [ [ "welding_standard", 1 ] ] } }, "breaks_into": [ { "item": "steel_lump", "count": [ 4, 7 ] }, { "item": "steel_chunk", "count": [ 4, 7 ] }, @@ -1860,14 +1965,20 @@ { "type": "vehicle_part", "id": "solar_panel_v3", - "copy-from": "solar_panel", "name": "quantum solar panel", - "proportional": { "epower": 6.0 }, + "symbol": "#", + "looks_like": "solar_panel_v2", + "color": "yellow", + "broken_symbol": "x", + "broken_color": "light_gray", + "damage_modifier": 10, + "epower": 300, "item": "solar_panel_v3", "durability": 40, + "location": "on_roof", "description": "An extremely high performance solar panel. Will recharge the vehicle's electrical power when exposed to the sun. Clouds will slow the recharge speed. Extremely fragile and cannot be armored.", "difficulty": 8, - "broken_color": "light_gray", + "flags": [ "SOLAR_PANEL", "NO_REPAIR", "TOOL_WRENCH" ], "breaks_into": [ { "item": "steel_lump", "count": [ 4, 4 ] }, { "item": "steel_chunk", "count": [ 4, 4 ] }, @@ -1880,6 +1991,7 @@ "id": "water_faucet", "name": "water faucet", "symbol": "u", + "looks_like": "f_sink", "color": "light_gray", "broken_symbol": "-", "broken_color": "light_gray", @@ -1923,6 +2035,7 @@ "id": "kitchen_unit", "name": "kitchen unit", "symbol": "&", + "looks_like": "f_oven", "color": "light_cyan", "broken_symbol": "x", "broken_color": "light_cyan", @@ -1972,6 +2085,7 @@ "id": "craft_rig", "name": "FOODCO kitchen buddy", "symbol": "&", + "looks_like": "f_sink", "color": "light_green", "broken_symbol": "x", "broken_color": "light_gray", @@ -2002,6 +2116,7 @@ "id": "chemlab", "name": "onboard chemistry lab", "symbol": "&", + "looks_like": "f_workbench", "color": "yellow", "broken_symbol": "x", "broken_color": "light_gray", @@ -2027,6 +2142,7 @@ "id": "veh_forge", "name": "mounted electric forge", "symbol": "&", + "looks_like": "f_forge_rock", "color": "red", "broken_symbol": "x", "broken_color": "light_gray", @@ -2050,6 +2166,7 @@ "id": "veh_kiln", "name": "mounted electric kiln", "symbol": "&", + "looks_like": "f_kiln_empty", "color": "red", "broken_symbol": "x", "broken_color": "light_gray", @@ -2189,6 +2306,7 @@ "id": "reinforced_windshield", "name": "reinforced windshield", "symbol": "\"", + "looks_like": "windshield", "color": "light_blue", "broken_symbol": "0", "broken_color": "light_gray", @@ -2293,6 +2411,7 @@ "id": "door_trunk", "name": "trunk door", "symbol": "+", + "looks_like": "hatch", "color": "light_gray", "broken_symbol": "&", "broken_color": "light_gray", @@ -2329,6 +2448,7 @@ "type": "vehicle_part", "id": "door_shutter", "name": "shutter door", + "looks_like": "hatch", "symbol": "+", "color": "white", "broken_symbol": "&", @@ -2348,6 +2468,7 @@ "id": "door_sliding", "name": "sliding door", "symbol": "+", + "looks_like": "door", "color": "light_cyan", "broken_symbol": "&", "broken_color": "light_cyan", @@ -2366,6 +2487,7 @@ "id": "cargo_space", "name": "cargo space", "symbol": "=", + "looks_like": "box", "color": "light_gray", "broken_symbol": "#", "broken_color": "dark_gray", @@ -2409,6 +2531,7 @@ "type": "vehicle_part", "id": "animal_compartment", "copy-from": "livestock_stall", + "looks_like": "livestock_stall", "name": "animal compartment", "durability": 125, "description": "A large locker for transporting smaller animals. 'e'xamine it to capture an animal next to you, or to release the animal currently contained. When selecting an animal to capture, choose its tile relative to you, not the part.", @@ -2586,6 +2709,7 @@ "type": "vehicle_part", "id": "seat_wood", "name": "wooden seat", + "looks_like": "seat", "symbol": "#", "color": "brown", "broken_symbol": "*", @@ -2623,6 +2747,7 @@ "id": "door_wood", "name": "wooden door", "symbol": "+", + "looks_like": "t_door_c", "color": "brown", "broken_symbol": "&", "broken_color": "brown", @@ -2641,6 +2766,7 @@ "id": "door_wood_opaque", "name": "opaque wooden door", "symbol": "+", + "looks_like": "door_wood", "color": "brown", "broken_symbol": "&", "broken_color": "brown", @@ -2822,6 +2948,7 @@ "id": "leather_funnel", "name": "leather funnel", "symbol": "V", + "looks_like": "funnel", "color": "brown", "broken_symbol": "*", "broken_color": "light_gray", @@ -2841,6 +2968,7 @@ "id": "birchbark_funnel", "name": "birchbark funnel", "symbol": "V", + "looks_like": "funnel", "color": "white", "broken_symbol": "*", "broken_color": "light_gray", @@ -2860,6 +2988,7 @@ "id": "makeshift_funnel", "name": "makeshift funnel", "symbol": "V", + "looks_like": "funnel", "color": "yellow", "broken_symbol": "*", "broken_color": "light_gray", @@ -2897,6 +3026,7 @@ "id": "metal_funnel", "name": "metal funnel", "symbol": "V", + "looks_like": "funnel", "color": "light_gray", "broken_symbol": "*", "broken_color": "light_gray", @@ -3100,5 +3230,31 @@ "flags": [ "TURRET_MOUNT" ], "breaks_into": [ { "item": "scrap", "count": [ 1, 4 ] } ], "damage_reduction": { "all": 54 } + }, + { + "type": "vehicle_part", + "id": "controls_turret", + "name": "turret control unit", + "symbol": "$", + "color": "yellow", + "broken_symbol": "$", + "broken_color": "red", + "damage_modifier": 10, + "durability": 50, + "epower": -250, + "item": "turret_controls", + "description": "A set of motor, camera, and an AI unit which allows for tracking targets, friend-or-foe identification, and firing the connected turret in full automatic mode. When installed over the turret, it will enable auto targeting mode for said turret.", + "folded_volume": 3, + "flags": [ "ENABLED_DRAINS_EPOWER", "TURRET_CONTROLS", "UNMOUNT_ON_DAMAGE" ], + "requirements": { + "install": { + "time": 120000, + "skills": [ [ "mechanics", 3 ], [ "electronics", 3 ] ], + "qualities": [ { "id": "SCREW", "level": 1 } ] + }, + "repair": { "skills": [ [ "mechanics", 2 ] ], "time": 8000, "using": [ [ "adhesive", 1 ] ] }, + "removal": { "skills": [ [ "mechanics", 3 ] ], "qualities": [ { "id": "SCREW", "level": 1 } ] } + }, + "breaks_into": "ig_vp_device" } ] diff --git a/data/json/vehicleparts/wheel.json b/data/json/vehicleparts/wheel.json index aa46a77fd4159..ca88b3608cbad 100644 --- a/data/json/vehicleparts/wheel.json +++ b/data/json/vehicleparts/wheel.json @@ -131,6 +131,20 @@ "name": "rail wheel (steerable)", "extend": { "flags": [ "STEERABLE" ] } }, + { + "id": "rail_wheel_small_pair", + "type": "vehicle_part", + "name": "pair of small rail wheels", + "item": "wheel_rail_small_pair", + "copy-from": "rail_wheel", + "symbol": "=", + "difficulty": 2, + "durability": 150, + "description": "A pair of small rail wheels. It performs well when riding on a pair of small rails. It performs terribly when not on a rail. Moreover, you can't steer it.", + "damage_modifier": 50, + "breaks_into": [ { "item": "scrap", "count": [ 2, 3 ] }, { "item": "steel_chunk", "count": [ 1, 2 ] } ], + "damage_reduction": { "all": 60 } + }, { "id": "roller_drum", "type": "vehicle_part", @@ -199,6 +213,7 @@ "name": "armored wheel", "item": "wheel_armor", "location": "under", + "looks_like": "wheel", "symbol": "0", "broken_symbol": "x", "color": "green", @@ -227,6 +242,7 @@ "name": "wheelbarrow wheel", "item": "wheel_barrow", "location": "under", + "looks_like": "wheel_bicycle", "symbol": "o", "broken_symbol": "x", "color": "dark_gray", @@ -314,6 +330,7 @@ "name": "motorbike wheel", "item": "wheel_motorbike", "location": "under", + "looks_like": "wheel", "symbol": "o", "broken_symbol": "x", "color": "dark_gray", @@ -400,6 +417,7 @@ "name": "unicycle wheel", "item": "wheel_bicycle", "location": "under", + "looks_like": "wheel_bicycle", "symbol": "|", "broken_symbol": "x", "color": "dark_gray", @@ -429,6 +447,7 @@ "name": "wheelchair wheel", "item": "wheel_wheelchair", "location": "under", + "looks_like": "wheel_bicycle", "symbol": "|", "broken_symbol": "x", "color": "dark_gray", @@ -458,6 +477,7 @@ "name": "wide wheel", "item": "wheel_wide", "location": "under", + "looks_like": "wheel", "symbol": "O", "broken_symbol": "x", "color": "dark_gray", diff --git a/data/json/vehicles/cars.json b/data/json/vehicles/cars.json index 2b345c335acbe..09a7c579454bb 100644 --- a/data/json/vehicles/cars.json +++ b/data/json/vehicles/cars.json @@ -44,7 +44,8 @@ { "x": -1, "y": 2, "parts": [ "frame_vertical", "halfboard_vertical" ] }, { "x": -2, "y": -1, "parts": [ "frame_vertical", "halfboard_vertical" ] }, { "x": -2, "y": -1, "parts": [ "wheel_mount_medium", "wheel_wide_or" ] }, - { "x": -2, "y": 0, "parts": [ "frame_vertical", "trunk", "tank", "roof" ] }, + { "x": -2, "y": 0, "parts": [ "frame_vertical", "trunk", "roof" ] }, + { "x": -2, "y": 0, "part": "tank", "fuel": "gasoline" }, { "x": -2, "y": 1, "parts": [ "frame_vertical", "trunk", "roof" ] }, { "x": -2, "y": 2, "parts": [ "frame_vertical", "halfboard_vertical" ] }, { "x": -2, "y": 2, "parts": [ "wheel_mount_medium", "wheel_wide_or" ] }, diff --git a/data/json/vehicles/trains.json b/data/json/vehicles/trains.json index 532fd293e2279..21dcea76870b3 100644 --- a/data/json/vehicles/trains.json +++ b/data/json/vehicles/trains.json @@ -238,5 +238,16 @@ { "x": 1, "y": 0, "parts": [ "headlight", "battery_motorbike" ] }, { "x": -1, "y": 0, "parts": [ "muffler", "box" ] } ] + }, + { + "id": "miniature_train_loco", + "type": "vehicle", + "name": "Miniature Train Locomotive", + "blueprint": [ "oo" ], + "parts": [ + { "x": 1, "y": 0, "parts": [ "frame_vertical_2", "engine_steam_small", "rail_wheel_small_pair" ] }, + { "x": 0, "y": 0, "parts": [ "frame_vertical_2", "seat", "rail_wheel_small_pair", "controls" ] }, + { "x": 0, "y": 0, "parts": [ { "part": "fuel_bunker", "fuel": "coal_lump" } ] } + ] } ] diff --git a/data/json/vitamin.json b/data/json/vitamin.json index e00b3a6dba3e5..1dddbdbc9a61b 100644 --- a/data/json/vitamin.json +++ b/data/json/vitamin.json @@ -47,5 +47,15 @@ "min": -5600, "rate": "15 m", "disease": [ [ -2800, -3600, 1 ], [ -3601, -4400, 2 ], [ -4401, -5600, 3 ] ] + }, + { + "id": "mutant_toxin", + "type": "vitamin", + "name": "Toxins", + "excess": "toxin_buildup", + "min": 0, + "max": 1800, + "rate": "15 m", + "disease_excess": [ [ 500, 949 ], [ 950, 1399 ], [ 1400, 1800 ] ] } ] diff --git a/data/mods/Aftershock/items/afs__items.json b/data/mods/Aftershock/items/afs__items.json index 714e35188b7ad..aa09250e326d5 100644 --- a/data/mods/Aftershock/items/afs__items.json +++ b/data/mods/Aftershock/items/afs__items.json @@ -13,6 +13,7 @@ "name": "basin", "description": "A wide, shallow basin used to hold liquid, hammered from a piece of sheet metal. Ideal for collecting water.", "weight": 5000, + "looks_like": "ceramic_bowl", "volume": 10, "price": 1000, "to_hit": -1, @@ -63,6 +64,7 @@ "description": "A piece of light titanium, usable for crafting or repairs.", "price": 1000, "material": "titanium", + "looks_like": "scrap", "weight": 100, "volume": 1, "bashing": 1, @@ -78,6 +80,7 @@ "color": "white", "symbol": "]", "material": [ "titanium" ], + "looks_like": "xlframe", "techniques": [ "DEF_DISARM" ], "volume": 30, "bashing": 15, @@ -113,6 +116,7 @@ "type": "GENERIC", "name": "nuclear waste", "description": "A small pellet of silvery metal, still warm to the touch.", + "looks_like": "medium_atomic_battery_cell", "weight": 30, "volume": 1, "price": 0, diff --git a/data/mods/Aftershock/items/afs_armor.json b/data/mods/Aftershock/items/afs_armor.json index 5829dc2494f38..7fc289ff2f917 100644 --- a/data/mods/Aftershock/items/afs_armor.json +++ b/data/mods/Aftershock/items/afs_armor.json @@ -14,13 +14,13 @@ "symbol": "[", "color": "cyan", "covers": [ "TORSO" ], + "looks_like": "molle_pack", "coverage": 30, "encumbrance": 10, "storage": 400, "warmth": 5, "material_thickness": 2, - "flags": [ "BELTED", "ONLY_ONE", "LEAK_DAM" ], - "looks_like": "portal" + "flags": [ "BELTED", "ONLY_ONE", "LEAK_DAM" ] }, { "id": "afs_boot_quiver", @@ -33,6 +33,7 @@ "bashing": 4, "material": [ "leather" ], "symbol": "[", + "looks_like": "quiver", "color": "dark_gray", "covers": [ "TORSO" ], "coverage": 20, @@ -195,6 +196,7 @@ "to_hit": -3, "material": [ "leather", "steel" ], "symbol": "[", + "looks_like": "armor_blarmor", "color": "brown", "covers": [ "TORSO" ], "coverage": 100, @@ -214,6 +216,7 @@ "to_hit": -3, "material": [ "cotton", "steel" ], "symbol": "[", + "looks_like": "armor_blarmor", "color": "white", "covers": [ "TORSO" ], "coverage": 95, @@ -233,6 +236,7 @@ "to_hit": -3, "material": [ "titanium", "cotton" ], "symbol": "[", + "looks_like": "armor_scrapsuit", "color": "white", "covers": [ "TORSO" ], "coverage": 80, @@ -253,6 +257,7 @@ "bashing": 6, "material": [ "kevlar", "titanium" ], "symbol": "[", + "looks_like": "kevlar", "color": "light_gray", "covers": [ "TORSO" ], "coverage": 85, diff --git a/data/mods/Aftershock/items/afs_books.json b/data/mods/Aftershock/items/afs_books.json index d2abc20fc7091..883b3901209d9 100644 --- a/data/mods/Aftershock/items/afs_books.json +++ b/data/mods/Aftershock/items/afs_books.json @@ -9,6 +9,7 @@ "volume": 3, "price": 5000, "price_postapoc": 1000, + "looks_like": "ZSG", "material": [ "paper" ], "symbol": "?", "color": "light_blue", @@ -27,6 +28,7 @@ "price": 3000, "material": [ "paper" ], "symbol": "?", + "looks_like": "manual_shotgun", "color": "green", "skill": "shotgun", "required_level": 2, @@ -45,6 +47,7 @@ "price": 3000, "material": [ "paper" ], "symbol": "?", + "looks_like": "manual_shotgun", "color": "green", "skill": "pistol", "required_level": 2, @@ -63,6 +66,7 @@ "price": 3000, "material": [ "paper" ], "symbol": "?", + "looks_like": "manual_shotgun", "color": "green", "skill": "rifle", "required_level": 2, @@ -81,6 +85,7 @@ "price": 2000, "material": [ "paper" ], "symbol": "?", + "looks_like": "manual_shotgun", "color": "green", "skill": "launcher", "required_level": 2, @@ -100,6 +105,7 @@ "bashing": 8, "material": [ "paper" ], "symbol": "?", + "looks_like": "adv_chemistry", "color": "light_green", "skill": "electronics", "required_level": 5, diff --git a/data/mods/Aftershock/items/afs_tools.json b/data/mods/Aftershock/items/afs_tools.json index 32afc9d57ed04..eb71696c73a95 100644 --- a/data/mods/Aftershock/items/afs_tools.json +++ b/data/mods/Aftershock/items/afs_tools.json @@ -88,6 +88,7 @@ "cutting": 3, "material": [ "steel", "plastic", "diamond" ], "symbol": "/", + "looks_like": "circsaw_off", "color": "light_red", "ammo": "gasoline", "max_charges": 500, @@ -124,6 +125,7 @@ "cutting": 3, "material": [ "steel", "plastic", "diamond" ], "symbol": "/", + "looks_like": "circsaw_off", "color": "yellow", "ammo": "gasoline", "max_charges": 500, @@ -174,7 +176,7 @@ "coverage": 5, "encumbrance": 2, "covers": [ "LEG_EITHER" ], - "flags": [ "NO_UNLOAD", "RECHARGE", "WAIST", "FRAGILE", "OVERSIZE", "WATERPROOF" ] + "flags": [ "RECHARGE", "WAIST", "FRAGILE", "OVERSIZE", "WATERPROOF", "IS_UPS" ] }, { "id": "adv_UPS_off", @@ -186,7 +188,7 @@ "coverage": 5, "encumbrance": 1, "covers": [ "LEG_EITHER" ], - "flags": [ "WAIST", "FRAGILE", "OVERSIZE" ] + "flags": [ "WAIST", "FRAGILE", "OVERSIZE", "IS_UPS" ] }, { "id": "afs_bionic_power_mod", diff --git a/data/mods/Aftershock/items/afs_weapons.json b/data/mods/Aftershock/items/afs_weapons.json index 374d01649ce9c..19ecd13a40d12 100644 --- a/data/mods/Aftershock/items/afs_weapons.json +++ b/data/mods/Aftershock/items/afs_weapons.json @@ -10,6 +10,7 @@ "price_postapoc": 20000, "material": [ "superalloy", "diamond" ], "symbol": "[", + "looks_like": "flashlight", "color": "light_gray", "ammo": "battery", "charges_per_use": 1, @@ -70,6 +71,7 @@ "id": "afs_hardlight_longbow", "type": "GUN", "symbol": "(", + "looks_like": "recurbow", "color": "white", "name": "hard-light longbow", "description": "A sleek, stringless white metal longbow constructed of ultralight, atomic-age materials. Rather than using ammunition, each shot uses high-tech projectors to create a string and arrow out of hard light on the spot, which provide excellent accuracy and armor penetration. Being a bow, it's still not as powerful as conventional ballistic weapons. It runs off of UPS power, and rather efficiently so.", @@ -105,6 +107,7 @@ "price_postapoc": 20000, "material": [ "hardsteel" ], "symbol": "[", + "looks_like": "gauntlets_chitin", "color": "light_gray", "bashing": 50, "to_hit": -2, @@ -146,6 +149,7 @@ "bashing": 9, "material": [ "steel", "plastic" ], "symbol": "(", + "looks_like": "bionic_general", "color": "magenta", "skill": "launcher", "ammo": "40mm", @@ -167,6 +171,7 @@ "bashing": 8, "material": [ "plastic", "copper" ], "symbol": "(", + "looks_like": "american_180", "color": "magenta", "ammo": "battery", "skill": "rifle", @@ -178,7 +183,9 @@ "reload": 500, "valid_mod_locations": [ [ "accessories", 4 ], [ "sights", 1 ], [ "sling", 1 ], [ "stock", 1 ], [ "underbarrel", 1 ] ], "ammo_effects": [ "LASER", "DRAW_AS_LINE" ], - "magazines": [ [ "battery", [ "heavy_battery_cell", "heavy_plus_battery_cell" ] ] ], - "flags": [ "NEVER_JAMS", "FIRE_20" ] + "magazines": [ + [ "battery", [ "heavy_battery_cell", "heavy_plus_battery_cell", "heavy_atomic_battery_cell", "heavy_disposable_cell" ] ] + ], + "flags": [ "NEVER_JAMS", "FIRE_20", "NON-FOULING" ] } ] diff --git a/data/mods/Aftershock/vehicles/afs_part_items.json b/data/mods/Aftershock/vehicles/afs_part_items.json index 05e21751a491a..3b6fc148584c9 100644 --- a/data/mods/Aftershock/vehicles/afs_part_items.json +++ b/data/mods/Aftershock/vehicles/afs_part_items.json @@ -8,6 +8,7 @@ "to_hit": -6, "color": "cyan", "symbol": "]", + "looks_like": "cargo_aisle", "material": [ "steel" ], "volume": 400, "bashing": 2, @@ -24,6 +25,7 @@ "color": "white", "symbol": "]", "material": [ "titanium" ], + "looks_like": "xlframe", "techniques": [ "DEF_DISARM" ], "volume": 30, "bashing": 15, @@ -58,6 +60,7 @@ "type": "GENERIC", "id": "afs_control_station", "name": "control station", + "looks_like": "vehicle_dashboard", "description": "A large and complex piloting station from a military vehicle, including a camera station, steering tools, and electronics controls.", "weight": 9000, "to_hit": -4, diff --git a/data/mods/Aftershock/vehicles/afs_vehicle_parts.json b/data/mods/Aftershock/vehicles/afs_vehicle_parts.json index eaa6a41f22333..0d0216dd7bf5d 100644 --- a/data/mods/Aftershock/vehicles/afs_vehicle_parts.json +++ b/data/mods/Aftershock/vehicles/afs_vehicle_parts.json @@ -34,6 +34,7 @@ "name": "crude plating", "description": "A piece of sheet metal welded onto a vehicle as armor. Thin, and not as protective as proper armor, but it'll do if there's nothing else available.", "symbol": ")", + "looks_like": "steel_plate", "color": "light_gray", "broken_symbol": ")", "broken_color": "dark_gray", @@ -181,6 +182,7 @@ "id": "afs_control_station", "name": "control station", "symbol": "$", + "looks_like": "vehicle_dashboard", "color": "red", "broken_symbol": "$", "broken_color": "light_gray", diff --git a/data/mods/Animatronics/animatronics.json b/data/mods/Animatronics/animatronics.json index 8510a01be2da5..1dabbda30c912 100644 --- a/data/mods/Animatronics/animatronics.json +++ b/data/mods/Animatronics/animatronics.json @@ -615,7 +615,6 @@ "type": "MONSTER", "id": "mon_animatronic_sheep", "name": { "str": "animatronic sheep", "str_pl": "animatronic sheep" }, - "name_plural": "animatronic sheep", "species": "ROBOT", "default_faction": "animatronics", "symbol": "S", diff --git a/data/mods/Animatronics/snippets.json b/data/mods/Animatronics/snippets.json index e5a18c8933ea1..3a350f2c0a818 100644 --- a/data/mods/Animatronics/snippets.json +++ b/data/mods/Animatronics/snippets.json @@ -3,40 +3,26 @@ "type": "snippet", "category": "flier", "text": [ - "This is a crumpled old advertisement for a local pizzaria. It depicts smiling kids and some sort of animal mascot. The flier reads \"Eat, rock, party, play.\"" + { + "id": "flier_animatronics_1", + "text": "This is a crumpled old advertisement for a local pizzaria. It depicts smiling kids and some sort of animal mascot. The flier reads \"Eat, rock, party, play.\"" + }, + { + "id": "flier_animatronics_2", + "//": "Reference to 11 Drunk Guys Play FNAF.", + "text": "This is a crumpled old advertisement for a local pizzaria. It depicts smiling kids and some sort of animal mascot. The flier reads \"Eat, rock, party, play!\" Someone has crudely scrawled underneath it \"Smoke weed every day!\"" + } ] }, { "type": "snippet", - "category": "flier", - "//": "Reference to 11 Drunk Guys Play FNAF.", + "category": "note", "text": [ - "This is a crumpled old advertisement for a local pizzaria. It depicts smiling kids and some sort of animal mascot. The flier reads \"Eat, rock, party, play!\" Someone has crudely scrawled underneath it \"Smoke weed every day!\"" + { "id": "note_animatronics_1", "text": "\"This is a kids place, why is their mascot so stacked!?\"" }, + { "id": "note_animatronics_2", "text": "\"NO BAD ROBOT I DON'T WANT PIZZA.\"" }, + { "id": "note_animatronics_3", "text": "\"Fuckin haunted pizza joint, just burn it down\"" }, + { "id": "note_animatronics_4", "text": "\"Pizza, arcade tokens, horrible death, got my bases covered.\"" }, + { "id": "note_animatronics_5", "text": "\"leg eaten by zombie robot furry help\"" } ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"This is a kids place, why is their mascot so stacked!?\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"NO BAD ROBOT I DON'T WANT PIZZA.\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"Fuckin haunted pizza joint, just burn it down\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"Pizza, arcade tokens, horrible death, got my bases covered.\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"leg eaten by zombie robot furry help\"" ] } ] diff --git a/data/mods/CRT_EXPANSION/items/crt_gun.json b/data/mods/CRT_EXPANSION/items/crt_gun.json index 2987c3a465846..b93010a13dc60 100644 --- a/data/mods/CRT_EXPANSION/items/crt_gun.json +++ b/data/mods/CRT_EXPANSION/items/crt_gun.json @@ -33,7 +33,7 @@ [ "underbarrel", 1 ] ], "ammo_effects": [ "LASER", "INCENDIARY" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD" ] + "flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING" ] }, { "id": "crt_laser_gatling", @@ -60,7 +60,7 @@ "modes": [ [ "DEFAULT", "burst", 12 ] ], "valid_mod_locations": [ [ "accessories", 1 ], [ "emitter", 1 ], [ "grip", 1 ], [ "lens", 1 ], [ "rail", 1 ], [ "sights", 1 ], [ "stock", 1 ] ], "ammo_effects": [ "LASER", "INCENDIARY" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD" ] + "flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING" ] }, { "id": "crt_laser_carbine", @@ -96,7 +96,7 @@ [ "underbarrel", 1 ] ], "ammo_effects": [ "LASER", "INCENDIARY" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD" ] + "flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING" ] }, { "id": "crt_energy_rifle", @@ -132,7 +132,7 @@ [ "underbarrel", 1 ] ], "ammo_effects": [ "LASER", "INCENDIARY" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD" ] + "flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING" ] }, { "id": "crt_cqb_si", @@ -193,7 +193,7 @@ [ "underbarrel", 1 ] ], "ammo_effects": [ "STREAM", "INCENDIARY" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD", "UNARMED_WEAPON", "DURABLE_MELEE" ] + "flags": [ "NEVER_JAMS", "NO_UNLOAD", "UNARMED_WEAPON", "DURABLE_MELEE", "NON-FOULING" ] }, { "id": "pelletgun", @@ -206,7 +206,7 @@ "price": 9900, "//": "You can get a decent Ruger .177 at walmart for $99", "material": [ "steel", "plastic" ], - "flags": [ "STR_RELOAD" ], + "flags": [ "STR_RELOAD", "NON-FOULING", "NON-FOULING" ], "skill": "rifle", "ammo": "pellets", "weight": 5023, @@ -249,7 +249,7 @@ "reload": 170, "valid_mod_locations": [ [ "accessories", 1 ], [ "grip", 1 ], [ "sights", 1 ] ], "ammo_effects": [ "PLASMA", "INCENDIARY", "DRAW_LASER_BEAM" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD" ] + "flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING" ] }, { "id": "ds_rivet_gun", @@ -305,7 +305,7 @@ "modes": [ [ "DEFAULT", "semi-auto", 1 ] ], "valid_mod_locations": [ [ "accessories", 1 ], [ "grip", 1 ], [ "sights", 1 ] ], "ammo_effects": [ "WIDE", "LASER" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD", "SLOW_WIELD" ] + "flags": [ "NEVER_JAMS", "NO_UNLOAD", "SLOW_WIELD", "NON-FOULING" ] }, { "id": "ds_pulse_rifle", @@ -332,7 +332,7 @@ "reload": 15, "modes": [ [ "BURST", "3 rd.", 3 ] ], "valid_mod_locations": [ [ "accessories", 1 ], [ "grip", 1 ], [ "sights", 1 ], [ "stock", 1 ] ], - "ammo_effects": [ "NOGIB", "BEANBAG" ], + "ammo_effects": [ "NOGIB", "BEANBAG", "NON-FOULING" ], "flags": [ "NEVER_JAMS" ] }, { @@ -361,6 +361,6 @@ "reload": 450, "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "REACH", "em field saw", 5, [ "MELEE", "REACH_ATTACK" ] ] ], "ammo_effects": [ "LIGHTNING", "MESSY" ], - "flags": [ "NEVER_JAMS" ] + "flags": [ "NEVER_JAMS", "NON-FOULING" ] } ] diff --git a/data/mods/DinoMod/snippets.json b/data/mods/DinoMod/snippets.json index 05b94cbe66f53..fa57f769cb1e2 100644 --- a/data/mods/DinoMod/snippets.json +++ b/data/mods/DinoMod/snippets.json @@ -3,32 +3,24 @@ "type": "snippet", "category": "flier", "text": [ - "This is an advertisement for a local wildlife exhibit, claiming to have new and exciting animals on display. Strangely, the only imagery on it is a stylized silhouette of a T. Rex. The flier reads \"Witness the rebirth of the extinct, grand opening this week!\"" + { + "id": "flier_dinomod_1", + "text": "This is an advertisement for a local wildlife exhibit, claiming to have new and exciting animals on display. Strangely, the only imagery on it is a stylized silhouette of a T. Rex. The flier reads \"Witness the rebirth of the extinct, grand opening this week!\"" + } ] }, { "type": "snippet", "category": "note", - "text": [ "\"SWAMPS BAD TEETH HUGE OHGOD\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"Why is that place just fucking crawling with lizards?\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"Fellow scaly bretheren! Tonight we feast on the hairless apes.\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"where's some .700 t-rex medicine when you need it?\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"So is this what happens when you stray off the path and step on a butterfly?\"" ] + "text": [ + { "id": "note_dinomod_1", "text": "\"SWAMPS BAD TEETH HUGE OHGOD\"" }, + { "id": "note_dinomod_2", "text": "\"Why is that place just fucking crawling with lizards?\"" }, + { "id": "note_dinomod_3", "text": "\"Fellow scaly bretheren! Tonight we feast on the hairless apes.\"" }, + { "id": "note_dinomod_4", "text": "\"where's some .700 t-rex medicine when you need it?\"" }, + { + "id": "note_dinomod_5", + "text": "\"So is this what happens when you stray off the path and step on a butterfly?\"" + } + ] } ] diff --git a/data/mods/EW_Pack/ew_weapons.json b/data/mods/EW_Pack/ew_weapons.json index b7f6f5fdbaeee..67069b1431814 100644 --- a/data/mods/EW_Pack/ew_weapons.json +++ b/data/mods/EW_Pack/ew_weapons.json @@ -18,7 +18,7 @@ "to_hit": -1, "dispersion": 75, "durability": 9, - "burst": 12, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 12 ] ], "default_mods": [ "red_dot_sight" ], "valid_mod_locations": [ [ "accessories", 4 ], @@ -145,7 +145,7 @@ "price": 420000, "dispersion": 120, "durability": 6, - "burst": 8 + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 8 ] ] }, { "id": "cw-24m_hack", @@ -157,7 +157,7 @@ "price": 420000, "dispersion": 120, "durability": 6, - "burst": 8 + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 8 ] ] }, { "id": "cwd-63", @@ -213,9 +213,10 @@ "dispersion": 150, "sight_dispersion": 150, "durability": 8, - "burst": 30, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 30 ] ], "clip_size": 90, "reload": 300, - "valid_mod_locations": [ [ "accessories", 2 ], [ "magazine", 2 ], [ "sling", 1 ], [ "underbarrel", 1 ] ] + "valid_mod_locations": [ [ "accessories", 2 ], [ "magazine", 2 ], [ "sling", 1 ], [ "underbarrel", 1 ] ], + "flags": [ "NON-FOULING" ] } ] diff --git a/data/mods/FictonalWeapons/fic_weapons.json b/data/mods/FictonalWeapons/fic_weapons.json index cbaaeca181e23..c9b6e8d2b8b47 100644 --- a/data/mods/FictonalWeapons/fic_weapons.json +++ b/data/mods/FictonalWeapons/fic_weapons.json @@ -68,7 +68,7 @@ "description": "A long sharp blade, with two powerful .500 S&W Magnum chambers in the hilt. While chambering big rounds, the barrels are so short it slightly reduces outgoing damage.", "price": 150000, "material": [ "steel", "plastic" ], - "flags": [ "RELOAD_ONE", "NEVER_JAMS", "RELOAD_EJECT", "SHEATH_SWORD", "DURABLE_MELEE" ], + "flags": [ "RELOAD_ONE", "NEVER_JAMS", "RELOAD_EJECT", "SHEATH_SWORD", "DURABLE_MELEE", "NON-FOULING" ], "skill": "pistol", "ammo": "500", "weight": 1800, @@ -95,7 +95,7 @@ "description": "A short but sharp blade, with two powerful .500 S&W Magnum chambers in the grip. While chambering big rounds, the barrels are so short it slightly reduces outgoing damage.", "price": 70000, "material": [ "steel", "plastic" ], - "flags": [ "RELOAD_ONE", "NEVER_JAMS", "RELOAD_EJECT", "SHEATH_KNIFE", "STAB", "DURABLE_MELEE" ], + "flags": [ "RELOAD_ONE", "NEVER_JAMS", "RELOAD_EJECT", "SHEATH_KNIFE", "STAB", "DURABLE_MELEE", "NON-FOULING" ], "skill": "pistol", "ammo": "500", "weight": 700, @@ -225,7 +225,7 @@ "description": "The Lightning Trail carbine was developed for the riot police to quickly blanket an area with lightning clouds. While damaging, it is less lethal than live ammunition.", "price": 250000, "material": [ "steel", "plastic" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD" ], + "flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING" ], "ammo_effects": [ "LIGHTNING", "BEANBAG" ], "mode_modifier": [ [ "DEFAULT", "auto", 5 ] ], "ups_charges": 6, @@ -260,7 +260,7 @@ "description": "The arc cannon fires bolts of lightning arcing between targets in close proximity to each other. Originally manufactured to fry insects, now it’s been turned up to fry zombies.", "price": 250000, "material": [ "steel", "plastic" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD" ], + "flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING" ], "ammo_effects": [ "LIGHTNING", "BOUNCE", "BEANBAG" ], "ups_charges": 120, "skill": "rifle", diff --git a/data/mods/FictonalWeapons/snippets.json b/data/mods/FictonalWeapons/snippets.json index 7cb94898e5d62..8fceccef41cb8 100644 --- a/data/mods/FictonalWeapons/snippets.json +++ b/data/mods/FictonalWeapons/snippets.json @@ -2,26 +2,18 @@ { "type": "snippet", "category": "note", - "text": [ "\"Gun. Sword. Gunsword. Screw bayonets, this is way more awesome.\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"Not sure if wielding this thing makes me feel like a bodybuilder or a theoretical physicist. Both?\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"This ain't your grandaddy's .50 cal hand cannon!\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"Nice pistol! Which trigger fires the flamer?\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"Why in the name of fuck did I slap a crossbow on this handgun.\"" ] + "text": [ + { "id": "note_fictional_weapons_1", "text": "\"Gun. Sword. Gunsword. Screw bayonets, this is way more awesome.\"" }, + { + "id": "note_fictional_weapons_2", + "text": "\"Not sure if wielding this thing makes me feel like a bodybuilder or a theoretical physicist. Both?\"" + }, + { "id": "note_fictional_weapons_3", "text": "\"This ain't your grandaddy's .50 cal hand cannon!\"" }, + { "id": "note_fictional_weapons_4", "text": "\"Nice pistol! Which trigger fires the flamer?\"" }, + { + "id": "note_fictional_weapons_5", + "text": "\"Why in the name of fuck did I slap a crossbow on this handgun.\"" + } + ] } ] diff --git a/data/mods/Fuji_Mil_Prof/modinfo.json b/data/mods/Fuji_Mil_Prof/modinfo.json new file mode 100644 index 0000000000000..aabdbbe256f01 --- /dev/null +++ b/data/mods/Fuji_Mil_Prof/modinfo.json @@ -0,0 +1,11 @@ +[ + { + "type": "MOD_INFO", + "ident": "fuji_mpp", + "name": "Fuji's Military Profession Pack", + "authors": [ "Fuji" ], + "description": "Numerous military themed professions", + "category": "rebalance", + "dependencies": [ "dda" ] + } +] diff --git a/data/mods/Fuji_Mil_Prof/npc/NC_ARMY.json b/data/mods/Fuji_Mil_Prof/npc/NC_ARMY.json new file mode 100644 index 0000000000000..5ee4d145154a0 --- /dev/null +++ b/data/mods/Fuji_Mil_Prof/npc/NC_ARMY.json @@ -0,0 +1,138 @@ +[ + { + "type": "item_group", + "id": "NC_ARMY_pants_male", + "items": [ [ "pants_army", 90 ], [ "pants_cargo", 10 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_pants_female", + "items": [ [ "pants_army", 90 ], [ "pants_cargo", 10 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_shirt_male", + "items": [ [ "tshirt", 20 ], [ "polo_shirt", 20 ], [ "dress_shirt", 20 ], [ "tank_top", 20 ], [ "longshirt", 20 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_shirt_female", + "items": [ [ "tshirt", 20 ], [ "polo_shirt", 20 ], [ "dress_shirt", 20 ], [ "tank_top", 20 ], [ "longshirt", 20 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_gloves", + "items": [ [ "null", 50 ], [ "gloves_tactical", 50 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_coat", + "items": [ + [ "null", 60 ], + [ "jacket_army", 40 ], + [ "modularveststeel", 10 ], + [ "modularvestceramic", 40 ], + [ "kevlar", 20 ], + [ "chestrig", 30 ] + ] + }, + { + "type": "item_group", + "id": "NC_ARMY_shoes", + "items": [ [ "boots_combat", 100 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_masks", + "items": [ [ "null", 60 ], [ "keffiyeh", 30 ], [ "mask_gas", 10 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_eyes", + "items": [ [ "null", 40 ], [ "glasses_bal", 50 ], [ "sunglasses", 20 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_hat", + "items": [ [ "null", 40 ], [ "hat_ball", 10 ], [ "tac_helmet", 30 ], [ "helmet_army", 10 ], [ "hat_boonie", 10 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_extra", + "items": [ [ "null", 30 ], [ "rucksack", 70 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_bashing", + "items": [ + [ "hammer", 20 ], + [ "wrench", 20 ], + [ "hammer_sledge", 20 ], + [ "pipe", 20 ], + [ "baton-extended", 20 ], + [ "crowbar", 20 ] + ] + }, + { + "type": "item_group", + "id": "NC_ARMY_cutting", + "items": [ + [ "knife_butcher", 20 ], + [ "hatchet", 20 ], + [ "knife_combat", 20 ], + [ "machete", 20 ], + [ "knife_combat", 20 ], + [ "diveknife", 20 ] + ] + }, + { + "type": "item_group", + "id": "NC_ARMY_stabbing", + "items": [ [ "spear_knife", 50 ], [ "spear_steel", 10 ], [ "spear_forked", 10 ], [ "spear_rebar", 5 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_throw", + "items": [ [ "throwing_knife", 50 ], [ "throwing_axe", 50 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_archery", + "items": [ [ "crossbow", 5 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_pistols", + "items": [ [ "m1911", 30 ], [ "m9", 70 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_shotgun", + "items": [ [ "mossberg_500", 25 ], [ "remington_870", 25 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_smg", + "items": [ [ "hk_mp5", 50 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_rifle", + "items": [ [ "m4a1", 50 ], [ "m14ebr", 35 ], [ "m249", 20 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_launcher", + "items": [ [ "mgl", 10 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_weapon_random", + "items": [ [ "q_staff", 100 ] ] + }, + { + "type": "item_group", + "id": "NC_ARMY_misc", + "items": [ [ "grenade", 40 ], [ "ref_lighter", 30 ], [ "lighter", 30 ], [ "matches", 30 ] ] + } +] diff --git a/data/mods/Fuji_Mil_Prof/npc/NC_OPS.json b/data/mods/Fuji_Mil_Prof/npc/NC_OPS.json new file mode 100644 index 0000000000000..35075edc3b6b2 --- /dev/null +++ b/data/mods/Fuji_Mil_Prof/npc/NC_OPS.json @@ -0,0 +1,155 @@ +[ + { + "type": "item_group", + "id": "NC_OPS_pants_male", + "items": [ [ "pants_army", 20 ], [ "pants_cargo", 50 ], [ "jeans", 30 ], [ "shorts_cargo", 20 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_pants_female", + "items": [ [ "pants_army", 20 ], [ "pants_cargo", 50 ], [ "jeans", 30 ], [ "shorts_cargo", 20 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_shirt_male", + "items": [ + [ "tshirt", 20 ], + [ "polo_shirt", 20 ], + [ "dress_shirt", 20 ], + [ "tank_top", 20 ], + [ "longshirt", 20 ], + [ "hoodie", 40 ], + [ "sweatshirt", 40 ] + ] + }, + { + "type": "item_group", + "id": "NC_OPS_shirt_female", + "items": [ + [ "tshirt", 20 ], + [ "polo_shirt", 20 ], + [ "dress_shirt", 20 ], + [ "tank_top", 20 ], + [ "longshirt", 20 ], + [ "hoodie", 40 ], + [ "sweatshirt", 40 ] + ] + }, + { + "type": "item_group", + "id": "NC_OPS_gloves", + "items": [ [ "null", 50 ], [ "gloves_tactical", 50 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_coat", + "items": [ + [ "null", 60 ], + [ "jacket_army", 40 ], + [ "cloak", 20 ], + [ "modularveststeel", 10 ], + [ "modularvestceramic", 40 ], + [ "kevlar", 20 ], + [ "chestrig", 30 ] + ] + }, + { + "type": "item_group", + "id": "NC_OPS_shoes", + "items": [ [ "boots_combat", 100 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_masks", + "items": [ [ "null", 60 ], [ "keffiyeh", 30 ], [ "mask_gas", 10 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_eyes", + "items": [ [ "null", 40 ], [ "glasses_bal", 50 ], [ "sunglasses", 20 ], [ "fancy_sunglasses", 20 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_hat", + "items": [ [ "null", 20 ], [ "hat_ball", 50 ], [ "tac_helmet", 50 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_extra", + "items": [ [ "null", 30 ], [ "rucksack", 70 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_bashing", + "items": [ + [ "hammer", 20 ], + [ "wrench", 20 ], + [ "hammer_sledge", 20 ], + [ "pipe", 20 ], + [ "baton-extended", 20 ], + [ "crowbar", 20 ] + ] + }, + { + "type": "item_group", + "id": "NC_OPS_cutting", + "items": [ + [ "knife_butcher", 20 ], + [ "hatchet", 20 ], + [ "knife_combat", 20 ], + [ "machete", 20 ], + [ "knife_combat", 20 ], + [ "diveknife", 20 ] + ] + }, + { + "type": "item_group", + "id": "NC_OPS_stabbing", + "items": [ [ "spear_knife", 50 ], [ "spear_steel", 10 ], [ "spear_forked", 10 ], [ "spear_rebar", 5 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_throw", + "items": [ [ "throwing_knife", 50 ], [ "throwing_axe", 50 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_archery", + "items": [ [ "crossbow", 5 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_pistols", + "items": [ [ "m1911", 70 ], [ "fn57", 50 ], [ "m9", 30 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_shotgun", + "items": [ [ "mossberg_500", 25 ], [ "remington_870", 25 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_smg", + "items": [ [ "hk_mp5", 50 ], [ "hk_mp7", 30 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_rifle", + "items": [ [ "m4a1", 50 ], [ "m14ebr", 35 ], [ "m249", 20 ], [ "h&k416a5", 50 ], [ "M24", 35 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_launcher", + "items": [ [ "mgl", 10 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_weapon_random", + "items": [ [ "q_staff", 100 ] ] + }, + { + "type": "item_group", + "id": "NC_OPS_misc", + "items": [ [ "grenade", 40 ], [ "ref_lighter", 30 ], [ "lighter", 30 ], [ "matches", 30 ] ] + } +] diff --git a/data/mods/Fuji_Mil_Prof/npc/classes.json b/data/mods/Fuji_Mil_Prof/npc/classes.json new file mode 100644 index 0000000000000..00bf3c5afd3ca --- /dev/null +++ b/data/mods/Fuji_Mil_Prof/npc/classes.json @@ -0,0 +1,38 @@ +[ + { + "type": "npc_class", + "id": "NC_ARMY", + "name": "Soldier", + "job_description": "I'm just here for the paycheck.", + "common": true, + "bonus_str": { "rng": [ 0, 2 ] }, + "bonus_dex": { "one_in": 2 }, + "bonus_int": { "rng": [ 0, -2 ] }, + "skills": [ + { "skill": "ALL", "level": { "sum": [ { "dice": [ 3, 2 ] }, { "constant": -3 } ] } }, + { "skill": "dodge", "bonus": { "rng": [ 1, 2 ] } }, + { "skill": "melee", "bonus": { "rng": [ 1, 2 ] } }, + { "skill": "unarmed", "bonus": { "rng": [ 1, 2 ] } }, + { "skill": "rifle", "bonus": { "rng": [ 3, 5 ] } }, + { "skill": "gun", "bonus": { "rng": [ 2, 4 ] } } + ] + }, + { + "type": "npc_class", + "id": "NC_OPS", + "name": "Operator", + "job_description": "I'm just here for the paycheck.", + "common": true, + "bonus_str": { "rng": [ 0, 2 ] }, + "bonus_dex": { "one_in": 2 }, + "bonus_int": { "rng": [ 0, 2 ] }, + "skills": [ + { "skill": "ALL", "level": { "sum": [ { "dice": [ 3, 2 ] }, { "constant": -3 } ] } }, + { "skill": "dodge", "bonus": { "rng": [ 1, 4 ] } }, + { "skill": "melee", "bonus": { "rng": [ 1, 4 ] } }, + { "skill": "unarmed", "bonus": { "rng": [ 1, 4 ] } }, + { "skill": "rifle", "bonus": { "rng": [ 3, 8 ] } }, + { "skill": "gun", "bonus": { "rng": [ 2, 6 ] } } + ] + } +] diff --git a/data/mods/Fuji_Mil_Prof/prof/army.json b/data/mods/Fuji_Mil_Prof/prof/army.json new file mode 100644 index 0000000000000..41b7ca7ae2dcc --- /dev/null +++ b/data/mods/Fuji_Mil_Prof/prof/army.json @@ -0,0 +1,183 @@ +[ + { + "type": "profession", + "ident": "mil_rifleman", + "name": "Military Rifleman", + "description": "Frontline infantry, frontline infantry, frontline infantry, frontline infantry.", + "points": 2, + "skills": [ { "level": 1, "name": "survival" }, { "level": 1, "name": "gun" }, { "level": 1, "name": "rifle" } ], + "items": { + "both": { + "items": [ + "tac_helmet", + "jacket_army", + "pants_army", + "longshirt", + "rucksack", + "glasses_bal", + "dump_pouch", + "knee_pads", + "elbow_pads", + "socks", + "boots_combat", + "gloves_tactical" + ], + "entries": [ + { "item": "m4a1", "ammo-item": "556", "charges": 30, "contents-item": [ "shoulder_strap", "acog_scope", "grip" ] }, + { "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] }, + { "item": "modularvestceramic", "contents-group": "army_mags_m4" }, + { "item": "knife_combat", "container-item": "sheath" }, + { "item": "m17", "ammo-item": "9mm", "charges": 17, "container-item": "holster" } + ] + }, + "male": [ "boxer_shorts" ], + "female": [ "boy_shorts", "sports_bra" ] + } + }, + { + "type": "profession", + "ident": "mil_marksman", + "name": "Military Marksman", + "description": "You like to think you're a real sniper, but really you're just infantry with a bigger gun.", + "points": 4, + "skills": [ { "level": 1, "name": "survival" }, { "level": 2, "name": "gun" }, { "level": 2, "name": "rifle" } ], + "items": { + "both": { + "items": [ + "hat_boonie", + "jacket_army", + "pants_army", + "longshirt", + "rucksack", + "knee_pads", + "elbow_pads", + "socks", + "boots_combat", + "gloves_tactical" + ], + "entries": [ + { "item": "m14ebr", "ammo-item": "762_51", "charges": 20, "contents-item": [ "acog_scope", "shoulder_strap", "bipod" ] }, + { "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] }, + { "item": "modularvestceramic", "contents-group": "army_mags_m14" }, + { "item": "knife_combat", "container-item": "sheath" }, + { "item": "m17", "ammo-item": "9mm", "charges": 17, "container-item": "holster" } + ] + }, + "male": [ "boxer_shorts" ], + "female": [ "boy_shorts", "sports_bra" ] + } + }, + { + "type": "profession", + "ident": "mil_auto_rifleman", + "name": "Military Automatic Rifleman", + "description": "S stands for suppressing fire!", + "points": 3, + "skills": [ { "level": 1, "name": "survival" }, { "level": 1, "name": "gun" }, { "level": 1, "name": "rifle" } ], + "items": { + "both": { + "items": [ + "pants_army", + "tank_top", + "modularvestceramic", + "glasses_bal", + "knee_pads", + "elbow_pads", + "socks", + "boots_combat", + "gloves_tactical" + ], + "entries": [ + { "item": "m249", "ammo-item": "556", "charges": 200, "contents-item": [ "shoulder_strap", "holo_sight", "bipod" ] }, + { "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] }, + { "item": "556", "charges": 200, "container-item": "belt223" }, + { "item": "m17", "ammo-item": "9mm", "charges": 17, "container-item": "holster" } + ] + }, + "male": [ "boxer_shorts" ], + "female": [ "boy_shorts", "sports_bra" ] + } + }, + { + "type": "profession", + "ident": "mil_grenadier", + "name": "Military Grenadier", + "description": "There's no kill like overkill.", + "points": 3, + "skills": [ + { "level": 1, "name": "survival" }, + { "level": 1, "name": "gun" }, + { "level": 1, "name": "rifle" }, + { "level": 1, "name": "launcher" } + ], + "items": { + "both": { + "items": [ + "tac_helmet", + "pants_army", + "tshirt", + "rucksack", + "glasses_bal", + "dump_pouch", + "knee_pads", + "elbow_pads", + "socks", + "boots_combat", + "gloves_tactical" + ], + "entries": [ + { "item": "m4a1", "ammo-item": "556", "charges": 30, "contents-item": [ "shoulder_strap", "holo_sight", "m203" ] }, + { "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] }, + { "item": "modularvestceramic", "contents-group": "army_mags_m4" }, + { "item": "40mm_frag", "charges": 4, "container-item": "grenade_pouch" }, + { "item": "knife_combat", "container-item": "sheath" }, + { "item": "m17", "ammo-item": "9mm", "charges": 17, "container-item": "holster" } + ] + }, + "male": [ "boxer_shorts" ], + "female": [ "boy_shorts", "sports_bra" ] + } + }, + { + "type": "profession", + "ident": "mil_breacher", + "name": "Military Breacher", + "description": "Doors and windows everywhere dare not speak your name.", + "points": 3, + "skills": [ + { "level": 1, "name": "survival" }, + { "level": 1, "name": "gun" }, + { "level": 1, "name": "shotgun" }, + { "level": 1, "name": "melee" }, + { "level": 1, "name": "bashing" } + ], + "items": { + "both": { + "items": [ + "tac_fullhelmet", + "pants_army", + "tshirt", + "modularveststeel", + "armguard_hard", + "legguard_hard", + "grenadebandolier", + "flashbang", + "flashbang", + "socks", + "boots_combat", + "gloves_tactical", + "hammer_sledge" + ], + "entries": [ + { "item": "mossberg_500", "ammo-item": "shot_00", "charges": 8, "contents-item": [ "shoulder_strap" ] }, + { "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] }, + { "item": "shot_00", "charges": 12, "container-item": "bandolier_shotgun" }, + { "item": "knife_combat", "container-item": "sheath" }, + { "item": "m17", "ammo-item": "9mm", "charges": 17, "container-item": "holster" } + ] + }, + "male": [ "boxer_shorts" ], + "female": [ "boy_shorts", "sports_bra" ] + } + } +] diff --git a/data/mods/Fuji_Mil_Prof/prof/itemgroups_prof.json b/data/mods/Fuji_Mil_Prof/prof/itemgroups_prof.json new file mode 100644 index 0000000000000..4e705e6bf5c0c --- /dev/null +++ b/data/mods/Fuji_Mil_Prof/prof/itemgroups_prof.json @@ -0,0 +1,53 @@ +[ + { + "type": "item_group", + "subtype": "collection", + "id": "holster_supp_MEU", + "entries": [ { "item": "m1911_MEU", "ammo-item": "45_acp", "charges": 7, "contents-item": [ "suppressor" ] } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "army_mags_1911", + "entries": [ + { "item": "m1911mag", "ammo-item": "45_acp", "charges": 7 }, + { "item": "m1911mag", "ammo-item": "45_acp", "charges": 7 } + ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "army_mags_300blk", + "entries": [ + { "item": "stanag30", "ammo-item": "300blk_ss", "charges": 30 }, + { "item": "stanag30", "ammo-item": "300blk_ss", "charges": 30 } + ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "army_mags_mp7", + "entries": [ { "item": "hk46mag", "ammo-item": "46mm", "charges": 20 }, { "item": "hk46mag", "ammo-item": "46mm", "charges": 20 } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "holster_supp_57", + "entries": [ { "item": "fn57", "ammo-item": "57mm", "charges": 20, "contents-item": [ "suppressor" ] } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "army_mags_57", + "entries": [ { "item": "fn57mag", "ammo-item": "57mm", "charges": 20 }, { "item": "fn57mag", "ammo-item": "57mm", "charges": 20 } ] + }, + { + "type": "item_group", + "subtype": "collection", + "id": "army_mags_m14", + "entries": [ + { "item": "m14mag", "ammo-item": "762_51", "charges": 20 }, + { "item": "m14mag", "ammo-item": "762_51", "charges": 20 } + ] + } +] diff --git a/data/mods/Fuji_Mil_Prof/prof/spc.json b/data/mods/Fuji_Mil_Prof/prof/spc.json new file mode 100644 index 0000000000000..b43824c48343f --- /dev/null +++ b/data/mods/Fuji_Mil_Prof/prof/spc.json @@ -0,0 +1,197 @@ +[ + { + "type": "profession", + "ident": "mil_operator", + "name": "Operator Recon", + "description": "The only easy day was yesterday.", + "points": 4, + "skills": [ + { "level": 2, "name": "survival" }, + { "level": 2, "name": "gun" }, + { "level": 2, "name": "rifle" }, + { "level": 1, "name": "melee" } + ], + "items": { + "both": { + "items": [ + "tac_helmet", + "keffiyeh", + "sweatshirt", + "pants_cargo", + "longshirt", + "rucksack", + "glasses_bal", + "dump_pouch", + "socks", + "boots_combat", + "gloves_tactical", + "diving_watch" + ], + "entries": [ + { + "item": "acr_300blk", + "ammo-item": "300blk_ss", + "charges": 30, + "contents-item": [ "shoulder_strap", "acog_scope", "grip", "suppressor" ] + }, + { "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] }, + { "item": "modularvestceramic", "contents-group": "army_mags_300blk" }, + { "item": "knife_rambo", "container-item": "scabbard" }, + { "item": "holster", "contents-group": "holster_supp_MEU" }, + { "item": "legpouch_large", "contents-group": "army_mags_1911" } + ] + }, + "male": [ "boxer_shorts" ], + "female": [ "boy_shorts", "sports_bra" ] + } + }, + { + "type": "profession", + "ident": "mil_sniper", + "name": "Operator Sniper", + "description": "You spent days dueling an enemy sniper, then he just... died. And then un-died.", + "points": 5, + "skills": [ { "level": 2, "name": "survival" }, { "level": 4, "name": "gun" }, { "level": 4, "name": "rifle" } ], + "items": { + "both": { + "items": [ + "hat_cotton", + "jacket_army", + "pants_army", + "longshirt", + "rucksack", + "knee_pads", + "elbow_pads", + "socks", + "boots_combat", + "gloves_tactical", + "cloak" + ], + "entries": [ + { "item": "M24", "ammo-item": "762_51", "charges": 20, "contents-item": [ "shoulder_strap", "bipod", "suppressor" ] }, + { "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] }, + { "item": "chestrig", "contents-group": "army_mags_m14" }, + { "item": "knife_combat", "container-item": "sheath" }, + { "item": "holster", "contents-group": "holster_supp_MEU" }, + { "item": "legpouch_large", "contents-group": "army_mags_1911" } + ] + }, + "male": [ "boxer_shorts" ], + "female": [ "boy_shorts", "sports_bra" ] + } + }, + { + "type": "profession", + "ident": "mil_hacker", + "name": "Operator Hacker", + "description": "You insist you're not a hacker, you're an 'Electronic Warfare Specialist'", + "points": 5, + "skills": [ + { "level": 1, "name": "survival" }, + { "level": 1, "name": "gun" }, + { "level": 1, "name": "smg" }, + { "level": 4, "name": "electronics" }, + { "level": 4, "name": "computer" } + ], + "items": { + "both": { + "items": [ + "hat_ball", + "scarf", + "hoodie", + "pants_cargo", + "longshirt", + "kevlar", + "mbag", + "glasses_bal", + "dump_pouch", + "socks", + "boots_combat", + "gloves_tactical", + "multitool", + "diving_watch" + ], + "entries": [ + { + "item": "hk_mp7", + "ammo-item": "46mm", + "charges": 20, + "contents-item": [ "shoulder_strap", "holo_sight", "suppressor" ] + }, + { "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] }, + { "item": "chestrig", "contents-group": "army_mags_mp7" }, + { "item": "knife_combat", "container-item": "sheath" }, + { "item": "holster", "contents-group": "holster_supp_MEU" }, + { "item": "legpouch_large", "contents-group": "army_mags_1911" } + ] + }, + "male": [ "boxer_shorts" ], + "female": [ "boy_shorts", "sports_bra" ] + } + }, + { + "type": "profession", + "ident": "mil_undercover", + "name": "Operator Undercover", + "description": "You've been tailing your target for months and now he's a zombie. So much for that lead.", + "points": 3, + "skills": [ + { "level": 1, "name": "survival" }, + { "level": 2, "name": "gun" }, + { "level": 2, "name": "pistol" }, + { "level": 6, "name": "speech" } + ], + "items": { + "both": { + "items": [ + "scarf", + "dress_shirt", + "jeans", + "longshirt", + "kevlar", + "mbag", + "fancy_sunglasses", + "socks", + "lowtops", + "pockknife", + "diving_watch", + "smart_phone" + ], + "entries": [ + { "item": "holster", "contents-group": "holster_supp_57" }, + { "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] }, + { "item": "legpouch_large", "contents-group": "army_mags_57" } + ] + }, + "male": [ "boxer_shorts" ], + "female": [ "boy_shorts", "sports_bra" ] + } + }, + { + "type": "profession", + "ident": "mil_cbrn", + "name": "Operator CBRN", + "description": "Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. Sounds like the perfect job for you!", + "points": 5, + "skills": [ + { "level": 1, "name": "survival" }, + { "level": 1, "name": "gun" }, + { "level": 1, "name": "smg" }, + { "level": 4, "name": "cooking" } + ], + "items": { + "both": { + "items": [ "anbc_suit", "pants_cargo", "longshirt", "dump_pouch", "socks", "gloves_rubber", "diving_watch" ], + "entries": [ + { "item": "hk_mp5", "ammo-item": "9mm", "charges": 30, "contents-item": [ "shoulder_strap", "suppressor" ] }, + { "item": "ear_plugs", "custom-flags": [ "no_auto_equip" ] }, + { "item": "modularvestkevlar", "contents-group": "army_mags_mp5" }, + { "item": "holster", "contents-group": "holster_supp_MEU" }, + { "item": "legpouch_large", "contents-group": "army_mags_1911" } + ] + }, + "male": [ "boxer_shorts" ], + "female": [ "boy_shorts", "sports_bra" ] + } + } +] diff --git a/data/mods/Magiclysm/Spells/animist.json b/data/mods/Magiclysm/Spells/animist.json index 5f4aa87cdc815..59a496a6208a0 100644 --- a/data/mods/Magiclysm/Spells/animist.json +++ b/data/mods/Magiclysm/Spells/animist.json @@ -170,7 +170,7 @@ "id": "create_rune_animist", "type": "SPELL", "name": "Animist Rune", - "description": "This ritual creates a small pebble attuned to Animists. You can use the rune as a catalyst for recipes.", + "description": "This ritual creates a small pebble attuned to Animists. You can use the rune as a catalyst for recipes.", "valid_targets": [ "self" ], "min_damage": 1, "max_damage": 1, diff --git a/data/mods/Magiclysm/Spells/biomancer.json b/data/mods/Magiclysm/Spells/biomancer.json index f224ed031db23..427d74b8f3598 100644 --- a/data/mods/Magiclysm/Spells/biomancer.json +++ b/data/mods/Magiclysm/Spells/biomancer.json @@ -70,10 +70,7 @@ "spell_class": "BIOMANCER", "difficulty": 6, "max_level": 20, - "min_damage": 0, - "max_damage": -8, "flags": [ "SOMATIC", "LOUD" ], - "damage_increment": -1, "//": "duration is in moves", "min_duration": 6000, "max_duration": 12000, @@ -151,7 +148,7 @@ "id": "create_rune_biomancer", "type": "SPELL", "name": "Biomancer Rune", - "description": "This ritual creates a small pebble attuned to Biomancers. You can use the rune as a catalyst for recipes.", + "description": "This ritual creates a small pebble attuned to Biomancers. You can use the rune as a catalyst for recipes.", "valid_targets": [ "self" ], "min_damage": 1, "max_damage": 1, diff --git a/data/mods/Magiclysm/Spells/classless.json b/data/mods/Magiclysm/Spells/classless.json index 68e16b2b116d8..237e84768340a 100644 --- a/data/mods/Magiclysm/Spells/classless.json +++ b/data/mods/Magiclysm/Spells/classless.json @@ -68,7 +68,7 @@ "id": "blinding_flash", "type": "SPELL", "name": "Blinding Flash", - "description": "Blind enemies for a short time with a sudden, dazzling light. Higher levels deal slightly higher damage.", + "description": "Blind enemies for a short time with a sudden, dazzling light. Higher levels deal slightly higher damage.", "effect": "target_attack", "effect_str": "blind", "affected_body_parts": [ "EYES" ], @@ -98,7 +98,7 @@ "id": "ethereal_grasp", "type": "SPELL", "name": "Ethereal Grasp", - "description": "A mass of spectral hands emerge from the ground, slowing everything in range. Higher levels allow a bigger AoE, and longer effect.", + "description": "A mass of spectral hands emerge from the ground, slowing everything in range. Higher levels allow a bigger AoE, and longer effect.", "effect": "target_attack", "effect_str": "effect_ethereal_grasp", "affected_body_parts": [ "FOOT_L", "FOOT_R" ], @@ -156,5 +156,50 @@ "base_energy_cost": 675, "energy_source": "MANA", "spell_class": "NONE" + }, + { + "id": "acid_resistance", + "type": "SPELL", + "name": "Acid Resistance", + "description": "Protects the user from acid.", + "valid_targets": [ "none" ], + "min_range": 0, + "max_range": 0, + "min_damage": 1, + "max_damage": 1, + "effect": "spawn_item", + "effect_str": "acid_res_aura", + "energy_source": "MANA", + "spell_class": "NONE", + "flags": [ "CONCENTRATE", "NO_LEGS" ], + "difficulty": 4, + "max_level": 15, + "base_casting_time": 200, + "base_energy_cost": 150, + "min_duration": 84000, + "max_duration": 360000, + "duration_increment": 18000, + "learn_spells": { "acid_resistance_greater": 15 } + }, + { + "id": "acid_resistance_greater", + "type": "SPELL", + "name": "Greater Acid Resistance", + "description": "Protects the user from acid.", + "valid_targets": [ "none" ], + "min_range": 0, + "max_range": 0, + "min_damage": 1, + "max_damage": 1, + "effect": "spawn_item", + "effect_str": "acid_res_aura_greater", + "energy_source": "MANA", + "spell_class": "NONE", + "flags": [ "CONCENTRATE", "NO_LEGS" ], + "difficulty": 7, + "max_level": 1, + "base_casting_time": 200, + "base_energy_cost": 250, + "min_duration": 180000 } ] diff --git a/data/mods/Magiclysm/Spells/debug.json b/data/mods/Magiclysm/Spells/debug.json index bd35c0be034ec..3a2dcbda740ea 100644 --- a/data/mods/Magiclysm/Spells/debug.json +++ b/data/mods/Magiclysm/Spells/debug.json @@ -66,7 +66,7 @@ "type": "SPELL", "name": "Debug Stamina Spell", "description": "Uses a little stamina", - "message": "Debug spell [ %s ] has no effect. Debug warning is expected.", + "message": "Debug spell [ %s ] has no effect. Debug warning is expected.", "valid_targets": [ "self" ], "effect": "none", "min_range": 1, diff --git a/data/mods/Magiclysm/Spells/druid.json b/data/mods/Magiclysm/Spells/druid.json index 88ab16ada6186..520b40cd294e3 100644 --- a/data/mods/Magiclysm/Spells/druid.json +++ b/data/mods/Magiclysm/Spells/druid.json @@ -209,7 +209,7 @@ "id": "create_rune_druid", "type": "SPELL", "name": "Druid Rune", - "description": "This ritual creates a small pebble attuned to Druids. You can use the rune as a catalyst for recipes.", + "description": "This ritual creates a small pebble attuned to Druids. You can use the rune as a catalyst for recipes.", "valid_targets": [ "self" ], "min_damage": 1, "max_damage": 1, @@ -230,7 +230,7 @@ "id": "purify_seed", "type": "SPELL", "name": "Purification Seed", - "description": "You summon a gift of the earth which will purify water. Rapidly degrades if not utilized.", + "description": "You summon a gift of the earth which will purify water. Rapidly degrades if not utilized.", "valid_targets": [ "self" ], "min_damage": 1, "max_damage": 1, diff --git a/data/mods/Magiclysm/Spells/earthshaper.json b/data/mods/Magiclysm/Spells/earthshaper.json index 008c0965a6060..3b1f2c549aa96 100644 --- a/data/mods/Magiclysm/Spells/earthshaper.json +++ b/data/mods/Magiclysm/Spells/earthshaper.json @@ -188,7 +188,7 @@ "id": "create_rune_earthshaper", "type": "SPELL", "name": "Earthshaper Rune", - "description": "This ritual creates a small pebble attuned to Earthshapers. You can use the rune as a catalyst for recipes.", + "description": "This ritual creates a small pebble attuned to Earthshapers. You can use the rune as a catalyst for recipes.", "valid_targets": [ "self" ], "min_damage": 1, "max_damage": 1, @@ -272,5 +272,26 @@ "energy_source": "MANA", "flags": [ "VERBAL", "SOMATIC", "LOUD" ], "extra_effects": [ { "id": "lava_bomb_shrapnel" }, { "id": "lava_bomb_heat" }, { "id": "lava_bomb_ter" } ] + }, + { + "id": "clairvoyance", + "type": "SPELL", + "name": "Clairvoyance", + "description": "You close your eyes and the earth surrenders its secrets to you.", + "effect": "target_attack", + "valid_targets": [ "ally", "hostile", "ground" ], + "flags": [ "SOMATIC", "VERBAL", "IGNORE_WALLS" ], + "max_level": 20, + "min_aoe": 4, + "max_aoe": 13, + "aoe_increment": 0.5, + "spell_class": "EARTHSHAPER", + "base_casting_time": 350, + "base_energy_cost": 750, + "energy_source": "MANA", + "difficulty": 4, + "field_id": "fd_clairvoyant", + "min_field_intensity": 1, + "max_field_intensity": 1 } ] diff --git a/data/mods/Magiclysm/Spells/item_only.json b/data/mods/Magiclysm/Spells/item_only.json index f58b28a8e6dad..69e918489b2f0 100644 --- a/data/mods/Magiclysm/Spells/item_only.json +++ b/data/mods/Magiclysm/Spells/item_only.json @@ -4,7 +4,7 @@ "type": "SPELL", "name": "Twisted Restoration", "//": "Used for potion of Twisted Restoration, not castable", - "description": "This spell overclocks your heart, generating new flesh and muscle. It is unwise to use this in immediate danger, and may be fatal if done in critical condition.", + "description": "This spell overclocks your heart, generating new flesh and muscle. It is unwise to use this in immediate danger, and may be fatal if done in critical condition.", "valid_targets": [ "self" ], "flags": [ "SILENT", "NO_LEGS", "NO_HANDS" ], "max_level": 1, @@ -32,7 +32,7 @@ "type": "SPELL", "name": "Improved Twisted Restoration", "//": "Used for Animist-exclusive potion, not castable", - "description": "This spell overclocks your heart, generating new flesh and muscle. It is unwise to use this in immediate danger, and may be fatal if done in critical condition. Improved brewing mitigates the strain of the spell.", + "description": "This spell overclocks your heart, generating new flesh and muscle. It is unwise to use this in immediate danger, and may be fatal if done in critical condition. Improved brewing mitigates the strain of the spell.", "valid_targets": [ "self" ], "flags": [ "SILENT", "NO_LEGS", "NO_HANDS" ], "max_level": 1, diff --git a/data/mods/Magiclysm/Spells/kelvinist.json b/data/mods/Magiclysm/Spells/kelvinist.json index 2104605fb7c9a..d7f15356b90ab 100644 --- a/data/mods/Magiclysm/Spells/kelvinist.json +++ b/data/mods/Magiclysm/Spells/kelvinist.json @@ -288,7 +288,7 @@ "id": "create_rune_kelvinist", "type": "SPELL", "name": "Kelvinist Rune", - "description": "This ritual creates a small pebble attuned to Kelvinists. You can use the rune as a catalyst for recipes.", + "description": "This ritual creates a small pebble attuned to Kelvinists. You can use the rune as a catalyst for recipes.", "valid_targets": [ "self" ], "min_damage": 1, "max_damage": 1, diff --git a/data/mods/Magiclysm/Spells/magus.json b/data/mods/Magiclysm/Spells/magus.json index 0f1a458deef99..88edd942fa0cb 100644 --- a/data/mods/Magiclysm/Spells/magus.json +++ b/data/mods/Magiclysm/Spells/magus.json @@ -182,7 +182,7 @@ "id": "create_rune_magus", "type": "SPELL", "name": "Magus Rune", - "description": "This ritual creates a small pebble attuned to Magi. You can use the rune as a catalyst for recipes.", + "description": "This ritual creates a small pebble attuned to Magi. You can use the rune as a catalyst for recipes.", "valid_targets": [ "self" ], "min_damage": 1, "max_damage": 1, diff --git a/data/mods/Magiclysm/Spells/monsterspells.json b/data/mods/Magiclysm/Spells/monsterspells.json new file mode 100644 index 0000000000000..b4e69018f0a93 --- /dev/null +++ b/data/mods/Magiclysm/Spells/monsterspells.json @@ -0,0 +1,20 @@ +[ + { + "id": "blood_suck", + "type": "SPELL", + "name": "Blood Suck", + "description": "Sucks blood from one foe.", + "valid_targets": [ "hostile" ], + "flags": [ "NO_HANDS", "NO_LEGS" ], + "damage_type": "stab", + "min_damage": 5, + "max_damage": 10, + "damage_increment": 1, + "max_level": 5, + "min_range": 1, + "max_range": 2, + "range_increment": 0.2, + "effect": "projectile_attack", + "extra_effects": [ { "id": "light_healing", "hit_self": true } ] + } +] diff --git a/data/mods/Magiclysm/Spells/stormshaper.json b/data/mods/Magiclysm/Spells/stormshaper.json index 41697cba85976..86e1493f1afed 100644 --- a/data/mods/Magiclysm/Spells/stormshaper.json +++ b/data/mods/Magiclysm/Spells/stormshaper.json @@ -135,7 +135,7 @@ "id": "create_rune_stormshaper", "type": "SPELL", "name": "Stormshaper Rune", - "description": "This ritual creates a small pebble attuned to Stormshapers. You can use the rune as a catalyst for recipes.", + "description": "This ritual creates a small pebble attuned to Stormshapers. You can use the rune as a catalyst for recipes.", "valid_targets": [ "self" ], "min_damage": 1, "max_damage": 1, diff --git a/data/mods/Magiclysm/Spells/technomancer.json b/data/mods/Magiclysm/Spells/technomancer.json index cafc205dc6d06..a8e4091c56657 100644 --- a/data/mods/Magiclysm/Spells/technomancer.json +++ b/data/mods/Magiclysm/Spells/technomancer.json @@ -139,7 +139,7 @@ "id": "create_rune_technomancer", "type": "SPELL", "name": "Technomancer Rune", - "description": "This ritual creates a small pebble attuned to Technomancers. You can use the rune as a catalyst for recipes.", + "description": "This ritual creates a small pebble attuned to Technomancers. You can use the rune as a catalyst for recipes.", "valid_targets": [ "self" ], "min_damage": 1, "max_damage": 1, @@ -320,5 +320,32 @@ "min_duration": 3000, "max_duration": 6000, "duration_increment": 200 + }, + { + "type": "SPELL", + "name": "X-ray Vision", + "id": "x-ray", + "description": "You fire a cone of X-rays that magically allow you to see that area for a short time.", + "valid_targets": [ "hostile", "ground", "ally" ], + "flags": [ "CONCENTRATE", "IGNORE_WALLS" ], + "effect": "cone_attack", + "field_id": "fd_clairvoyant", + "min_field_intensity": 1, + "max_field_intensity": 1, + "difficulty": 6, + "min_range": 5, + "max_range": 20, + "range_increment": 0.75, + "max_level": 20, + "min_aoe": 15, + "max_aoe": 60, + "aoe_increment": 1.5, + "min_duration": 0, + "max_duration": 900, + "duration_increment": 45, + "base_casting_time": 175, + "base_energy_cost": 550, + "energy_source": "BIONIC", + "spell_class": "TECHNOMANCER" } ] diff --git a/data/mods/Magiclysm/enchanted/enchanted_belts.json b/data/mods/Magiclysm/enchanted/enchanted_belts.json new file mode 100644 index 0000000000000..07bc968f28179 --- /dev/null +++ b/data/mods/Magiclysm/enchanted/enchanted_belts.json @@ -0,0 +1,197 @@ +[ + { + "abstract": "mbelt_leather", + "type": "TOOL_ARMOR", + "name": "magic leather belt", + "description": "A leather belt. Useful for making your pair of pants fit.", + "weight": "102 g", + "volume": "250 ml", + "price": 90000, + "bashing": 5, + "material": [ "leather" ], + "symbol": "[", + "color": "brown", + "covers": [ "TORSO" ], + "coverage": 5, + "material_thickness": 2, + "use_action": { + "type": "holster", + "holster_prompt": "Stick what into your belt", + "holster_msg": "You tuck your %s into your %s", + "max_volume": "500 ml", + "max_weight": 400, + "draw_cost": 60, + "flags": [ "BELT_CLIP" ] + }, + "flags": [ "WAIST", "WATER_FRIENDLY", "STURDY" ] + }, + { + "type": "TOOL_ARMOR", + "copy-from": "mbelt_leather", + "id": "mbelt_haste", + "name": "Belt of Haste", + "relic_data": { + "passive_effects": [ { "has": "WORN", "condition": "ALWAYS", "values": [ { "value": "SPEED", "multiply": 0.15, "add": 5 } ] } ] + } + }, + { + "type": "TOOL_ARMOR", + "copy-from": "mbelt_leather", + "id": "mbelt_thor", + "name": "Megingjörð", + "description": "The mythical belt of Thor, god of thunder. Or at least so it appears. It doubles the wearer's base strength.", + "material": [ "superalloy" ], + "material_thickness": 10, + "environmental_protection": 20, + "weight_capacity_bonus": "50 kg", + "relic_data": { + "passive_effects": [ { "has": "WORN", "condition": "ALWAYS", "values": [ { "value": "STRENGTH", "multiply": 1.0 } ] } ] + } + }, + { + "type": "TOOL_ARMOR", + "copy-from": "mbelt_leather", + "id": "mbelt_pockets_lesser", + "name": "Lesser Girdle of Pockets", + "description": "A wide girdle that fits around your waist, coverd in numerous small pouches that hold a lot more than they should, and the weight of their contents is greatly reduced.", + "coverage": 10, + "encumbrance": 4, + "weight_capacity_bonus": "5 kg", + "storage": "10 L" + }, + { + "type": "TOOL_ARMOR", + "copy-from": "mbelt_leather", + "id": "mbelt_pockets_greater", + "name": "Greater Girdle of Pockets", + "description": "A wide girdle that fits around your waist, coverd in numerous small pouches that hold a lot more than they should, and the weight of their contents is greatly reduced.", + "coverage": 10, + "encumbrance": 6, + "weight_capacity_bonus": "10 kg", + "storage": "15 L" + }, + { + "type": "TOOL_ARMOR", + "copy-from": "mbelt_leather", + "id": "mbelt_weaponry", + "name": "Belt of Weaponry", + "description": "A wide girdle that fits around your waist, you can sheath or holster any weapon into it in the blink of an eye, and it seemingly stores them somewhere else.", + "coverage": 10, + "encumbrance": 3, + "weight_capacity_bonus": "10 kg", + "use_action": { + "type": "holster", + "holster_prompt": "Stick what into your belt", + "holster_msg": "You tuck your %s into your %s", + "min_volume": "1 ml", + "max_volume": "4 L", + "max_weight": "5 kg", + "draw_cost": 5, + "multi": 4, + "skills": [ + "pistol", + "shotgun", + "cutting", + "archery", + "bashing", + "launcher", + "melee", + "rifle", + "smg", + "stabbing", + "throw", + "ALL", + "gun", + "unarmed" + ], + "flags": [ "SHEATH_KNIFE", "SHEATH_SWORD", "BELT_CLIP", "SHEATH_SPEAR" ] + } + }, + { + "type": "ARMOR", + "id": "mbelt_technomancer_toolbelt", + "name": "technomancer's toolbelt", + "name_plural": "technomancer's toolbelts", + "weight": "2000 g", + "color": "brown", + "covers": [ "TORSO" ], + "storage": "1 L", + "symbol": "[", + "description": "A custom-built leather utility belt that instantly creates any tool that you reach for. Activate to sheathe/draw a weapon.", + "price": 500000, + "material": [ "leather", "steel" ], + "volume": "4 L", + "flags": [ "VARSIZE", "WATER_FRIENDLY", "STURDY", "WAIST", "OVERSIZE" ], + "coverage": 10, + "encumbrance": 4, + "material_thickness": 4, + "use_action": [ + { + "type": "holster", + "holster_prompt": "Sheath blade", + "holster_msg": "You sheath your %s", + "draw_cost": 3, + "min_volume": "250 ml", + "max_volume": "1 L", + "flags": [ "SHEATH_KNIFE", "SHEATH_SWORD" ] + }, + "CROWBAR" + ], + "qualities": [ + [ "HAMMER", 3 ], + [ "PRY", 1 ], + [ "SAW_M", 2 ], + [ "SAW_W", 2 ], + [ "WRENCH", 2 ], + [ "AXE", 1 ], + [ "SCREW", 1 ], + [ "HAMMER_FINE", 1 ], + [ "SAW_M_FINE", 1 ], + [ "WRENCH_FINE", 1 ], + [ "SCREW_FINE", 1 ] + ] + }, + { + "type": "TOOL_ARMOR", + "copy-from": "mbelt_leather", + "id": "mbelt_iron_whip", + "name": "Belt of The Iron Whip", + "name_plural": "Belts of the Iron Whip", + "volume": "1 L", + "material": [ "steel" ], + "description": "A braided but flexible belt seemingly made of metal. You can activate it to transform it into a whip and flay your enemies.", + "material_thickness": 4, + "flags": [ "STURDY" ], + "use_action": { + "type": "transform", + "target": "mwhip_iron", + "active": true, + "moves": 20, + "msg": "You grab the belt and it uncoils to become a flexible metal whip in your hand!" + } + }, + { + "id": "mwhip_iron", + "type": "GENERIC", + "category": "weapons", + "symbol": "/", + "color": "light_gray", + "name": "The Iron Whip", + "description": "A long braided flexible steel bullwhip that narrows into a sharp blade at the end. Easily capable of slicing and dicing anything that comes at you. It transforms back into a belt.", + "weight": "2154 g", + "volume": "2 L", + "price": 350000, + "material": [ "steel" ], + "flags": [ "REACH_ATTACK", "REACH3", "WHIP", "UNBREAKABLE_MELEE" ], + "techniques": [ "WBLOCK_1", "SWEEP", "WHIP_DISARM", "WRAP" ], + "cutting": 16, + "bashing": 8, + "use_action": { + "type": "transform", + "target": "mbelt_iron_whip", + "active": false, + "moves": 20, + "msg": "You loop the whip in your hand and it coils back into a belt form in an instant." + } + } +] diff --git a/data/mods/Magiclysm/enchanted/enchanted_boots.json b/data/mods/Magiclysm/enchanted/enchanted_boots.json new file mode 100644 index 0000000000000..569ef955cfe12 --- /dev/null +++ b/data/mods/Magiclysm/enchanted/enchanted_boots.json @@ -0,0 +1,71 @@ +[ + { + "id": "mboots_sevenleague", + "type": "ARMOR", + "copy-from": "boots_hiking", + "name": "seven league boots", + "name_plural": "pairs of seven league boots", + "looks_like": "boots_hiking", + "description": "Rugged yet extremely comfortable and well fitting boots of worn leather and steel, they look like they've seen a lot of use and will likely see a lot more. They make your movement a lot less work.", + "relic_data": { "passive_effects": [ { "has": "WORN", "condition": "ALWAYS", "values": [ { "value": "MOVE_COST", "add": -30 } ] } ] }, + "encumbrance": 8, + "warmth": 30, + "material_thickness": 3, + "environmental_protection": 3, + "flags": [ "WATERPROOF", "STURDY" ] + }, + { + "id": "mboots_haste", + "type": "ARMOR", + "copy-from": "boots_hiking", + "name": "boots of haste", + "name_plural": "pairs of boots of haste", + "looks_like": "boots_hiking", + "description": "Rugged yet extremely comfortable and well fitting boots of worn leather and steel, they look like they've seen a lot of use and will likely see a lot more. They make your movement a lot less work.", + "relic_data": { + "passive_effects": [ + { "has": "WORN", "condition": "ALWAYS", "values": [ { "value": "MOVE_COST", "add": -20 } ] }, + { "has": "WORN", "condition": "ALWAYS", "values": [ { "value": "SPEED", "add": 10 } ] } + ] + }, + "encumbrance": 8, + "warmth": 30, + "material_thickness": 3, + "environmental_protection": 3, + "flags": [ "WATERPROOF", "STURDY" ] + }, + { + "id": "mboots_escape", + "type": "TOOL_ARMOR", + "copy-from": "boots_hiking", + "name": "escape boots", + "name_plural": "escape boots", + "looks_like": "boots_hiking", + "description": "Rugged yet extremely comfortable and well fitting boots of worn leather and steel, these boots can be activated once a day to escape from nasty situations, teleporting you a good distance in a random direction.", + "initial_charges": 24, + "max_charges": 24, + "charges_per_use": 24, + "artifact_data": { "charge_type": "ARTC_TIME" }, + "use_action": { "type": "cast_spell", "spell_id": "magus_escape", "no_fail": true, "level": 10, "need_worn": true }, + "encumbrance": 8, + "warmth": 30, + "material_thickness": 3, + "environmental_protection": 3, + "flags": [ "WATERPROOF", "STURDY" ] + }, + { + "id": "mboots_grounding", + "type": "ARMOR", + "copy-from": "boots_hiking", + "name": "boots of grounding", + "name_plural": "pairs of boots of grounding", + "looks_like": "boots_hiking", + "description": "Rugged yet extremely comfortable and well fitting boots of leather with small engraved runes seemingly filled with rubber. When worn, you are immune to damage from electricity.", + "encumbrance": 8, + "warmth": 30, + "material_thickness": 3, + "environmental_protection": 3, + "flags": [ "WATERPROOF", "STURDY" ], + "relic_data": { "passive_effects": [ { "has": "WORN", "condition": "ALWAYS", "values": [ { "value": "ARMOR_ELEC", "add": -20 } ] } ] } + } +] diff --git a/data/mods/Magiclysm/enchanted/enchanted_bracers.json b/data/mods/Magiclysm/enchanted/enchanted_bracers.json new file mode 100644 index 0000000000000..9a3aa81295346 --- /dev/null +++ b/data/mods/Magiclysm/enchanted/enchanted_bracers.json @@ -0,0 +1,101 @@ +[ + { + "id": "mbracer_steel_pair", + "type": "TOOL_ARMOR", + "category": "armor", + "name": "pair of steel bracers", + "name_plural": "pairs of steel bracers", + "description": "A full assembly of medieval arm protection.", + "weight": "1520 g", + "volume": "2500 ml", + "price": 20000, + "to_hit": -1, + "material": [ "steel", "leather" ], + "symbol": "[", + "color": "light_gray", + "covers": [ "ARMS" ], + "coverage": 45, + "encumbrance": 10, + "warmth": 10, + "material_thickness": 5, + "flags": [ "BELTED", "STURDY", "BLOCK_WHILE_WORN", "WATER_FRIENDLY" ] + }, + { + "copy-from": "mbracer_steel_pair", + "type": "TOOL_ARMOR", + "id": "mbracer_steel_single", + "name": "steel bracer", + "name_plural": "steel bracers", + "weight": "770 g", + "volume": "1250 ml", + "covers": [ "ARM_EITHER" ] + }, + { + "copy-from": "mbracer_steel_single", + "type": "TOOL_ARMOR", + "id": "mbracer_defense_lesser", + "name": "bracer of lesser defense", + "name_plural": "bracers of lesser defense", + "description": "A light but extremely sturdy steel bracer with an ornate shield engraved on the top, silver accentuates the intricate design. It protects your body with a light aura to reduce damage you take.", + "material_thickness": 6, + "flags": [ "BELTED", "STURDY", "BLOCK_WHILE_WORN" ], + "relic_data": { + "passive_effects": [ + { + "has": "WORN", + "condition": "ALWAYS", + "values": [ { "value": "ARMOR_CUT", "add": -2 }, { "value": "ARMOR_BASH", "add": -2 }, { "value": "ARMOR_STAB", "add": -2 } ] + } + ] + } + }, + { + "copy-from": "mbracer_steel_single", + "type": "TOOL_ARMOR", + "id": "mbracer_defense_greater", + "name": "bracer of greater defense", + "name_plural": "bracers of greater defense", + "description": "A light but extremely sturdy steel bracer with an ornate shield engraved on the top, gold accentuates the intricate design. It protects your body with a strong aura to reduce damage you take.", + "material_thickness": 6, + "flags": [ "BELTED", "STURDY", "BLOCK_WHILE_WORN" ], + "relic_data": { + "passive_effects": [ + { + "has": "WORN", + "condition": "ALWAYS", + "values": [ { "value": "ARMOR_CUT", "add": -4 }, { "value": "ARMOR_BASH", "add": -4 }, { "value": "ARMOR_STAB", "add": -4 } ] + } + ] + } + }, + { + "copy-from": "mbracer_steel_single", + "type": "TOOL_ARMOR", + "id": "mbracer_lightning_lesser", + "name": "lesser bracer of lightning", + "name_plural": "lesser bracers of lightning", + "description": "A light but extremely sturdy steel bracer with an ornate bundle of lightning bolts engraved on the top, silver accentuates the intricate design. It protects your body with a light aura to reduce electrical damage you take, as well as being able to release a Jolt spell 3 times a day.", + "initial_charges": 72, + "max_charges": 72, + "charges_per_use": 24, + "artifact_data": { "charge_type": "ARTC_TIME" }, + "flags": [ "BELTED", "STURDY", "BLOCK_WHILE_WORN" ], + "relic_data": { "passive_effects": [ { "has": "WORN", "condition": "ALWAYS", "values": [ { "value": "ARMOR_ELEC", "add": -5 } ] } ] }, + "use_action": { "type": "cast_spell", "spell_id": "jolt", "no_fail": true, "level": 15, "need_worn": true } + }, + { + "copy-from": "mbracer_steel_single", + "type": "TOOL_ARMOR", + "id": "mbracer_lightning_greater", + "name": "greater bracer of lightning", + "name_plural": "greater bracers of lightning", + "description": "A light but extremely sturdy steel bracer with an ornate bundle of lightning bolts engraved on the top, gold accentuates the intricate design. It protects your body with a strong aura to reduce electrical damage you take, as well as being able to release a Lightning Bolt spell 3 times a day.", + "initial_charges": 72, + "max_charges": 72, + "charges_per_use": 24, + "artifact_data": { "charge_type": "ARTC_TIME" }, + "flags": [ "BELTED", "STURDY", "BLOCK_WHILE_WORN" ], + "relic_data": { "passive_effects": [ { "has": "WORN", "condition": "ALWAYS", "values": [ { "value": "ARMOR_ELEC", "add": -10 } ] } ] }, + "use_action": { "type": "cast_spell", "spell_id": "lightning_bolt", "no_fail": true, "level": 15, "need_worn": true } + } +] diff --git a/data/mods/Magiclysm/enchanted/enchanted_gunmods.json b/data/mods/Magiclysm/enchanted/enchanted_gunmods.json new file mode 100644 index 0000000000000..818988fd33a51 --- /dev/null +++ b/data/mods/Magiclysm/enchanted/enchanted_gunmods.json @@ -0,0 +1,83 @@ +[ + { + "id": "magic_suppressor", + "type": "GUNMOD", + "name": "'Silent Winds' suppressor", + "//": "Combination of the doubled best stats of the homemade & solvent trap suppressors w/ +1 enchantment & volume reduction to half", + "description": "Rather than using purely wipe media, an additional localized silence spell in this tube quiets gunshots going through to hearing-safe levels.", + "weight": "804 g", + "volume": "375 ml", + "price": 77000, + "to_hit": 2, + "bashing": 3, + "material": [ "steel" ], + "symbol": ":", + "color": "white", + "location": "muzzle", + "mod_targets": [ "pistol", "smg", "rifle" ], + "//install_time": "20 s", + "handling_modifier": 2, + "consume_chance": 220, + "consume_divisor": 242, + "loudness_modifier": -33, + "flags": [ "CONSUMABLE" ] + }, + { + "id": "mana_laser_rail", + "type": "GUNMOD", + "name": { "str": "mana laser sight (rail)", "str_pl": "mana laser sights (rail)" }, + "description": "A small visible-light laser using light shown through a mana crystal that mounts on a firearm's accessory rail to enhance ease and speed of target acquisition. Aside from increased weight, there are no drawbacks. You can rotate the attachment rail to fit under the barrel.", + "weight": "108 g", + "volume": "250 ml", + "integral_volume": 0, + "price": 36000, + "material": [ "plastic", "steel" ], + "symbol": ":", + "color": "dark_gray", + "location": "rail", + "mod_targets": [ "smg", "rifle", "pistol", "shotgun", "crossbow", "launcher" ], + "sight_dispersion": 27, + "aim_speed": 9, + "min_skills": [ [ "weapon", 2 ], [ "gun", 2 ] ], + "use_action": { "menu_text": "Rotate", "type": "transform", "target": "mana_laser_under", "msg": "You rotate the laser sight." } + }, + { + "id": "mana_laser_under", + "type": "GUNMOD", + "name": { "str": "mana laser sight (underbarrel)", "str_pl": "mana laser sights (underbarrel)" }, + "description": "A small visible-light laser using light shown through a mana crystal that mounts on a firearm's accessory rail to enhance ease and speed of target acquisition. Aside from increased weight, there are no drawbacks. You can rotate the attachment rail to fit on the rail.", + "weight": "108 g", + "volume": "250 ml", + "integral_volume": 0, + "price": 36000, + "material": [ "plastic", "steel" ], + "symbol": ":", + "color": "dark_gray", + "location": "underbarrel", + "mod_targets": [ "smg", "rifle", "pistol", "shotgun", "crossbow", "bow", "launcher" ], + "sight_dispersion": 27, + "aim_speed": 9, + "min_skills": [ [ "weapon", 2 ], [ "gun", 2 ] ], + "use_action": { "menu_text": "Rotate", "type": "transform", "target": "mana_laser_rail", "msg": "You rotate the laser sight." }, + "flags": [ "PUMP_RAIL_COMPATIBLE" ] + }, + { + "id": "mana_dot_sight", + "type": "GUNMOD", + "name": "mana dot sight", + "description": "Adds a blue dot optic made from crystallized mana to the top of your gun, replacing the iron sights. Increases accuracy and weight.", + "weight": "270 g", + "volume": "250 ml", + "integral_volume": 0, + "price": 68000, + "material": [ "plastic", "steel" ], + "symbol": ":", + "color": "dark_gray", + "location": "sights", + "mod_targets": [ "smg", "rifle", "shotgun", "pistol", "crossbow", "launcher" ], + "sight_dispersion": 21, + "aim_speed": 7, + "min_skills": [ [ "weapon", 2 ], [ "gun", 2 ] ], + "flags": [ "DISABLE_SIGHTS" ] + } +] diff --git a/data/mods/Magiclysm/enchanted/enchanted_masks.json b/data/mods/Magiclysm/enchanted/enchanted_masks.json new file mode 100644 index 0000000000000..dc94dac1711a0 --- /dev/null +++ b/data/mods/Magiclysm/enchanted/enchanted_masks.json @@ -0,0 +1,53 @@ +[ + { + "abstract": "mmask", + "type": "TOOL_ARMOR", + "category": "armor", + "name": "magic mask", + "description": "A generic magic mask.", + "weight": "442 g", + "volume": "750 ml", + "price": 200000, + "to_hit": -3, + "material": [ "steel", "leather" ], + "symbol": "[", + "color": "dark_gray", + "covers": [ "MOUTH", "EYES" ], + "coverage": 95, + "encumbrance": 10, + "warmth": 10, + "material_thickness": 2, + "environmental_protection": 1, + "flags": [ "WATER_FRIENDLY", "STURDY" ] + }, + { + "type": "TOOL_ARMOR", + "id": "mmask_disappearance", + "name": "mask of disappearance", + "name_plural": "masks of disappearance", + "description": "A mask with no facial features at all, just eye and mouth holes, upon activation it makes everything ignore your presence for a while.", + "copy-from": "mmask", + "initial_charges": 12, + "max_charges": 12, + "charges_per_use": 12, + "use_action": { "type": "cast_spell", "spell_id": "invisibility", "no_fail": true, "level": 15, "need_worn": true }, + "artifact_data": { "charge_type": "ARTC_TIME" } + }, + { + "type": "TOOL_ARMOR", + "id": "mmask_vision", + "name": "mask of perfect vision", + "name_plural": "masks of perfect vision", + "description": "A decidedly steampunk-looking half mask that covers the eye area of the face, it has large lenses that correct and greatly enhance the vision of the wearer.", + "copy-from": "mmask", + "covers": [ "EYES" ], + "coverage": 100, + "encumbrance": 5, + "environmental_protection": 6, + "flags": [ "FANCY", "WATER_FRIENDLY", "SUN_GLASSES", "FIX_NEARSIGHT", "FIX_FARSIGHT", "ZOOM" ], + "qualities": [ [ "GLARE", 2 ] ], + "relic_data": { + "passive_effects": [ { "has": "WORN", "condition": "ALWAYS", "values": [ { "value": "PERCEPTION", "multiply": 0.25 } ] } ] + } + } +] diff --git a/data/mods/Magiclysm/enchanted/enchanted_melee.json b/data/mods/Magiclysm/enchanted/enchanted_melee.json index 12ec021fb9a39..88fc2a3c0324a 100644 --- a/data/mods/Magiclysm/enchanted/enchanted_melee.json +++ b/data/mods/Magiclysm/enchanted/enchanted_melee.json @@ -754,5 +754,168 @@ "name": "dao +2", "proportional": { "price": 6.0, "bashing": 1.2, "cutting": 1.2, "weight": 0.8 }, "relative": { "to_hit": 2 } + }, + { + "id": "rune_biomancer_weapon", + "type": "GENERIC", + "name": "Biomancer spear", + "//": "Effectively a durable stone spear +1 with IMPALE tech. based off Wicked Bonespear. Lorewise, it would make sense for novice Biomancers to be developing their skills in spears so they can adequately use the Bonespear(No whips/REACH3 for you!) once they're proficient enough to summon one. Should be weaker than other school weapons DPSwise due to reach.", + "description": "A grotesque bone spearhead on a stout wooden pole. There is a Biomancer rune embedded at the base of the head.", + "weight": 988, + "volume": "1250 ml", + "price": 3900, + "to_hit": 2, + "bashing": 6, + "cutting": 15, + "material": [ "wood", "bone" ], + "symbol": "/", + "color": "light_gray", + "techniques": [ "WBLOCK_1", "IMPALE" ], + "qualities": [ [ "COOK", 1 ] ], + "flags": [ "SPEAR", "REACH_ATTACK", "DURABLE_MELEE", "SHEATH_SPEAR", "TRADER_AVOID", "MAGIC_FOCUS" ] + }, + { + "id": "rune_technomancer_weapon", + "type": "GENERIC", + "name": "Technomancer toolbar", + "//": "Combat stats based off crowbar +1, techniques off Halligan bar(closest non-magical substitute), weight based on 75% of hammer & wrench(since their handles aren't included) + 100% crowbar with benefit from +1 enchantment", + "description": "This staff incorporates a sturdy cresent wrench on top of a prybar and a hammer on the other in a convienent package. There is a Technomancer rune embedded in the hammerhead.", + "weight": 1536, + "volume": "1750 ml", + "price": 3900, + "to_hit": 1, + "bashing": 15, + "cutting": 1, + "material": [ "steel" ], + "symbol": "/", + "color": "light_gray", + "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ], + "qualities": [ [ "PRY", 3 ], [ "HAMMER", 3 ], [ "HAMMER_FINE", 1 ], [ "WRENCH", 2 ], [ "WRENCH_FINE", 2 ] ], + "flags": [ "DURABLE_MELEE", "BELT_CLIP", "TRADER_AVOID", "MAGIC_FOCUS" ] + }, + { + "id": "rune_magus_weapon", + "type": "GENERIC", + "name": { "str": "Magus staff", "str_pl": "Magus staves" }, + "//": "The classical vision of the wizard gets a classic weapon. DPS Stats are between the regular and ironshod versions. Stats are slightly worse than the QS+1 due to the glass weight slowing attack speed.", + "description": "A quarterstaff with runes carved into it and two glass jars, heat-tempered and infused with mana for durability, to act as mana receptacles. There are two Magi runes embedded at the tips.", + "weight": 1530, + "volume": "1500 ml", + "price": 3900, + "to_hit": 2, + "bashing": 20, + "material": [ "wood", "diamond" ], + "symbol": "/", + "color": "brown", + "techniques": [ "WBLOCK_2", "RAPID", "SWEEP" ], + "flags": [ "DURABLE_MELEE", "SHEATH_SPEAR", "TRADER_AVOID", "MAGIC_FOCUS" ] + }, + { + "id": "rune_kelvinist_weapon", + "type": "GENERIC", + "name": "Kelvinist flamberge", + "//": "Flame-bladed sword covers half of Kelvinist's heat-cold theme. Combat stats equivalent to cutlass +1 with BRUTAL technique.", + "description": "A sword with an undulating blade, reminiscent of a flame. There is a Kelvinist rune embedded in the pommel.", + "weight": 1530, + "volume": "1250 ml", + "price": 3900, + "to_hit": 3, + "bashing": 7, + "cutting": 29, + "material": [ "wood", "steel" ], + "symbol": "/", + "color": "light_gray", + "techniques": [ "WBLOCK_2", "BRUTAL" ], + "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 9 ] ], + "use_action": "WEATHER_TOOL", + "flags": [ "DURABLE_MELEE", "SHEATH_SWORD", "TRADER_AVOID", "MAGIC_FOCUS", "THERMOMETER" ] + }, + { + "id": "rune_stormshaper_weapon", + "type": "GENERIC", + "name": "Stormshaper axe", + "//": "Equivalent to copper ax +1, with volume reduction so it can be sheathed like the other school weapons. Metals chosen for being two most conductive metals + balancing reasons", + "description": "A forged copper axe with silver trimmings and a wooden handle. There is a Stormshaper rune embedded in the eye.", + "weight": 3330, + "volume": "2 L", + "price": 3900, + "to_hit": 3, + "bashing": 19, + "cutting": 13, + "material": [ "wood", "copper", "silver" ], + "symbol": "/", + "color": "brown", + "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ], + "qualities": [ [ "AXE", 1 ], [ "BUTCHER", -20 ] ], + "use_action": "WEATHER_TOOL", + "flags": [ "DURABLE_MELEE", "BELT_CLIP", "TRADER_AVOID", "MAGIC_FOCUS", "HYGROMETER", "BAROMETER" ] + }, + { + "id": "rune_animist_weapon", + "type": "GENERIC", + "name": "Animist athame", + "//": "Tool qualities equivalent to steak knife, combat equiv. to copper knife + 1 w/ RAPID and BLOCK1, size/weight off combat knife +1", + "description": "A steel ritual knife used by Animists to draw blood for summoning. Their school rune is embedded in the crossguard.", + "weight": 504, + "volume": "500 ml", + "price": 3000, + "bashing": 2, + "cutting": 13, + "material": [ "wood", "steel" ], + "symbol": ";", + "color": "light_gray", + "techniques": [ "WBLOCK_1", "PRECISE" ], + "qualities": [ [ "CUT", 1 ], [ "CUT_FINE", 1 ], [ "BUTCHER", 11 ] ], + "flags": [ "STAB", "SHEATH_KNIFE", "MAGIC_FOCUS", "TRADER_AVOID" ] + }, + { + "type": "GENERIC", + "id": "springstaff-retracted", + "category": "weapons", + "name": { "str": "springstaff(baton)", "str_pl": "springstaves(baton)" }, + "description": "This versatile weapon uses Technomancy-enhanced springs to keep the staff tips retracted while in baton configuration. Activate to extend.", + "weight": "1800 g", + "to_hit": 2, + "color": "dark_gray", + "symbol": "/", + "material": [ "steel", "plastic" ], + "techniques": [ "WBLOCK_1", "RAPID" ], + "flags": [ "DURABLE_MELEE", "BELT_CLIP" ], + "use_action": { + "menu_text": "Extend to staff", + "type": "transform", + "target": "springstaff-extended", + "msg": "You snap open your springstaff into staff mode.", + "moves": 50, + "need_wielding": true + }, + "volume": "750 ml", + "bashing": 12, + "price": 34000 + }, + { + "type": "GENERIC", + "id": "springstaff-extended", + "category": "weapons", + "name": { "str": "springstaff(staff)", "str_pl": "springstaves(staff)" }, + "description": "This versatile weapon uses Technomancy-enhanced springs to keep the staff tips from retracting while in staff configuration. Activate to extend.", + "weight": "1800 g", + "to_hit": 3, + "color": "dark_gray", + "symbol": "/", + "material": [ "steel", "plastic" ], + "techniques": [ "WBLOCK_2", "RAPID", "SWEEP" ], + "flags": [ "DURABLE_MELEE", "SHEATH_SPEAR" ], + "use_action": { + "menu_text": "Retract to baton", + "type": "transform", + "target": "springstaff-retracted", + "msg": "You collapse your springstaff into baton mode.", + "moves": 200, + "need_wielding": true + }, + "volume": "3 L", + "bashing": 19, + "price": 34000 } ] diff --git a/data/mods/Magiclysm/enchanted/enchanted_misc.json b/data/mods/Magiclysm/enchanted/enchanted_misc.json index 2e84c898c26f5..b717750e0ccfc 100644 --- a/data/mods/Magiclysm/enchanted/enchanted_misc.json +++ b/data/mods/Magiclysm/enchanted/enchanted_misc.json @@ -5,7 +5,7 @@ "symbol": "#", "color": "light_gray", "name": "heat cube", - "description": "A smooth steel cube the size of your fist. Several buttons on the sides activate the powers of the cube.", + "description": "A smooth steel cube the size of your fist. Several buttons on the sides activate the powers of the cube.", "price": 200000, "price_postapoc": 500000, "material": "steel", @@ -16,7 +16,6 @@ "qualities": [ [ "HAMMER", 1 ] ], "flags": [ "ALLOWS_REMOTE_USE", "FIRE" ], "initial_charges": 60, - "charges": 60, "max_charges": 60, "charges_per_use": 1, "sub": "hotplate", @@ -32,7 +31,7 @@ "menu_text": "Activate torch mode", "moves": 150 }, - { "type": "firestarter", "moves_cost": 5 }, + { "type": "firestarter" }, { "flame": false, "type": "cauterize" } ] }, @@ -54,7 +53,7 @@ "type": "TOOL", "name": "skeleton key of opening", "name_plural": "skeleton key of opening", - "description": "A small gold skeleton key. You can activate it to unlock locked things.", + "description": "A small gold skeleton key. You can activate it to unlock locked things.", "weight": "20 g", "volume": 0, "price": 500000, diff --git a/data/mods/Magiclysm/enchanted/enchanted_ranged.json b/data/mods/Magiclysm/enchanted/enchanted_ranged.json new file mode 100644 index 0000000000000..314624f1cfc91 --- /dev/null +++ b/data/mods/Magiclysm/enchanted/enchanted_ranged.json @@ -0,0 +1,106 @@ +[ + { + "id": "rune_druid_weapon", + "type": "GUN", + "symbol": "(", + "color": "yellow", + "name": "Druid composite bow", + "//": "Equivalent to composite bow +1 for dispersion/reload/weight/range/encumb/bash, with two mod slots added equivalent to other weapons getting techniques", + "description": "A bow made of multiple materials to maximize energy efficiency. There are two Druid runes embedded at the tips.", + "price": 32000, + "material": [ "wood", "bone" ], + "flags": [ + "FIRE_TWOHAND", + "STR_DRAW", + "RELOAD_AND_SHOOT", + "PRIMITIVE_RANGED_WEAPON", + "BELTED", + "TRADER_AVOID", + "MAGIC_FOCUS", + "DURABLE_MELEE", + "WATER_FRIENDLY" + ], + "skill": "archery", + "min_strength": 5, + "ammo": "arrow", + "weight": 360, + "volume": "1750 ml", + "bashing": 9, + "armor_data": { "covers": [ "TORSO" ], "coverage": 5, "material_thickness": 1, "encumbrance": 13 }, + "reload_noise_volume": 3, + "loudness": 6, + "ranged_damage": 5, + "range": 13, + "dispersion": 135, + "durability": 7, + "clip_size": 1, + "reload": 32, + "valid_mod_locations": [ [ "sights", 1 ], [ "accessories", 1 ], [ "dampening", 1 ] ] + }, + { + "id": "m47a1", + "copy-from": "pistol_revolver", + "type": "GUN", + "name": "M47A1 Techno-Medusa", + "name_plural": "M47A1 Techno-Medusae", + "description": "A magically-enhanced update to the Phillips & Rodgers' M47 Medusa, a multi-caliber revolver aimed at survivalists. While Technomancy improves the reliability with smaller cartridges, it is not as accurate as dedicated caliber revolvers due to freebore.", + "weight": "1333 g", + "volume": "750 ml", + "price": 74000, + "to_hit": -1, + "bashing": 9, + "material": [ "steel", "wood" ], + "symbol": "(", + "color": "dark_gray", + "ammo": [ "9mm", "9x18", "380", "357mag", "38" ], + "ranged_damage": 0, + "dispersion": 558, + "durability": 7, + "blackpowder_tolerance": 66, + "loudness": 23, + "clip_size": 6, + "valid_mod_locations": [ + [ "accessories", 1 ], + [ "mechanism", 1 ], + [ "barrel", 1 ], + [ "grip", 1 ], + [ "rail mount", 1 ], + [ "sights", 1 ], + [ "stock mount", 1 ], + [ "underbarrel mount", 1 ] + ], + "flags": [ "RELOAD_ONE", "NEVER_JAMS", "RELOAD_EJECT" ] + }, + { + "id": "gunblade", + "type": "GUN", + "name": "gunblade", + "description": "Constructed similarly to a falcata, this forward-sloping blade has a short-barrel pump shotgun attached to the blade's spine for finishing blows or a first strike.", + "weight": "1539 g", + "volume": "1750 ml", + "price": 8000, + "to_hit": 2, + "bashing": 10, + "cutting": 22, + "material": [ "steel" ], + "symbol": "/", + "color": "dark_gray", + "techniques": [ "WBLOCK_2" ], + "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 20 ] ], + "skill": "shotgun", + "ranged_damage": 1, + "dispersion": 600, + "durability": 6, + "blackpowder_tolerance": 66, + "clip_size": 3, + "range": -4, + "modes": [ [ "DEFAULT", "single", 1 ] ], + "ammo": "shot", + "reload": 200, + "barrel_length": 2, + "valid_mod_locations": [ [ "mechanism", 1 ] ], + "reload_noise": "chuk chuk.", + "flags": [ "RELOAD_ONE", "PUMP_ACTION", "DURABLE_MELEE", "SHEATH_SWORD" ], + "faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ] + } +] diff --git a/data/mods/Magiclysm/enchanted/enchanted_rings.json b/data/mods/Magiclysm/enchanted/enchanted_rings.json index a5ee7ee8b0c5c..016d95249481c 100644 --- a/data/mods/Magiclysm/enchanted/enchanted_rings.json +++ b/data/mods/Magiclysm/enchanted/enchanted_rings.json @@ -72,7 +72,6 @@ "description": "An ornate silver ring engraved with daggers that conjures a near perfect throwing knife into your hand on activation.", "use_action": { "type": "cast_spell", "spell_id": "conj_throwing_blade1", "no_fail": true, "level": 1, "need_worn": true }, "initial_charges": 5, - "charges": 5, "max_charges": 5, "charges_per_use": 1, "artifact_data": { "charge_type": "ARTC_TIME" } diff --git a/data/mods/Magiclysm/enchanted/enchanted_unarmed.json b/data/mods/Magiclysm/enchanted/enchanted_unarmed.json index 7ef6fa2f9aadd..e2cf9fc97c7e9 100644 --- a/data/mods/Magiclysm/enchanted/enchanted_unarmed.json +++ b/data/mods/Magiclysm/enchanted/enchanted_unarmed.json @@ -68,5 +68,48 @@ "qualities": [ [ "HAMMER", 2 ] ], "techniques": [ "WBLOCK_1", "BRUTAL" ], "flags": [ "UNARMED_WEAPON", "DURABLE_MELEE", "NONCONDUCTIVE", "OVERSIZE", "MESSY" ] + }, + { + "id": "shotcestus", + "copy-from": "shotgun_base", + "type": "GUN", + "name": { "str": "shotcestus", "str_pl": "shotcesti" }, + "description": "A sawn-off double-barrel shotgun mounted on a metal cestus. The lack of a stock to absorb recoil means some strength is required to fire.", + "weight": "1566 g", + "volume": "1500 ml", + "price": 20000, + "bashing": 12, + "material": [ "steel" ], + "techniques": [ "WBLOCK_1", "BRUTAL" ], + "min_strength": 7, + "ranged_damage": 1, + "dispersion": 855, + "durability": 6, + "blackpowder_tolerance": 66, + "clip_size": 2, + "range": -8, + "modes": [ [ "DEFAULT", "single", 1 ], [ "DOUBLE", "double", 2 ] ], + "reload": 200, + "barrel_length": 2, + "valid_mod_locations": [ [ "mechanism", 1 ] ], + "flags": [ "UNARMED_WEAPON", "DURABLE_MELEE", "NEVER_JAMS", "RELOAD_EJECT", "RELOAD_ONE" ], + "faults": [ "fault_gun_blackpowder", "fault_gun_dirt" ] + }, + { + "type": "GENERIC", + "id": "rune_earthshaper_weapon", + "symbol": "3", + "color": "light_gray", + "name": { "str": "Earthshaper cestus", "str_pl": "Earthshaper cesti" }, + "//": "Equivalent to cestus +1 with BRUTAL and WBLOCK1", + "description": "A stone battle glove with carved runes encasing the hand, protecting it while increasing striking power. There is an Earthshaper rune embedded in the palm.", + "material": [ "stone", "leather", "steel" ], + "volume": "500 ml", + "weight": 873, + "bashing": 13, + "to_hit": 1, + "qualities": [ [ "HAMMER", 1 ] ], + "techniques": [ "WBLOCK_1", "BRUTAL" ], + "flags": [ "UNARMED_WEAPON", "DURABLE_MELEE", "TRADER_AVOID", "MAGIC_FOCUS" ] } ] diff --git a/data/mods/Magiclysm/enchanted/enchanted_wands.json b/data/mods/Magiclysm/enchanted/enchanted_wands.json index bf622dd93e0ab..6725a495a6f86 100644 --- a/data/mods/Magiclysm/enchanted/enchanted_wands.json +++ b/data/mods/Magiclysm/enchanted/enchanted_wands.json @@ -11,11 +11,29 @@ "material": [ "wood" ], "symbol": "|", "color": "brown", + "flags": [ "BELT_CLIP", "NONCONDUCTIVE" ], "charges_per_use": 1, "ammo": "crystallized_mana", "magazines": [ [ "crystallized_mana", [ "small_mana_crystal" ] ] ], "magazine_well": 1 }, + { + "abstract": "disp_wand", + "name": "Disposable Wand", + "type": "TOOL", + "weight": 230, + "volume": 2, + "price": 10000, + "bashing": 3, + "to_hit": 1, + "material": [ "wood" ], + "symbol": "|", + "color": "brown", + "flags": [ "BELT_CLIP", "NONCONDUCTIVE" ], + "initial_charges": 20, + "max_charges": 20, + "charges_per_use": 1 + }, { "type": "TOOL", "id": "wand_magic_missile_minor", @@ -189,5 +207,179 @@ "price": 30000, "description": "A slender wooden wand with a mana crystal socket at the base that casts a spell when activated. This wand casts cone of cold.", "use_action": { "type": "cast_spell", "spell_id": "cone_cold", "no_fail": true, "level": 15, "need_wielding": true } + }, + { + "type": "TOOL", + "id": "wand_disp_magic_missile_minor", + "name": "disposable minor wand of magic missile", + "name_plural": "disposable minor wands of magic missile", + "copy-from": "disp_wand", + "description": "A slender wooden wand with an embedded mana crystal at the base that casts a spell when activated. This wand casts magic missile.", + "use_action": { "type": "cast_spell", "spell_id": "magic_missile", "no_fail": true, "level": 5, "need_wielding": true } + }, + { + "type": "TOOL", + "id": "wand_disp_magic_missile_lesser", + "name": "disposable lesser wand of magic missile", + "name_plural": "disposable lesser wands of magic missile", + "copy-from": "disp_wand", + "price": 20000, + "description": "A slender wooden wand with an embedded mana crystal at the base that casts a spell when activated. This wand casts magic missile.", + "use_action": { "type": "cast_spell", "spell_id": "magic_missile", "no_fail": true, "level": 10, "need_wielding": true } + }, + { + "type": "TOOL", + "id": "wand_disp_magic_missile_greater", + "name": "disposable greater wand of magic missile", + "name_plural": "disposable greater wands of magic missile", + "copy-from": "disp_wand", + "price": 30000, + "description": "A slender wooden wand with an embedded mana crystal at the base that casts a spell when activated. This wand casts magic missile.", + "use_action": { "type": "cast_spell", "spell_id": "magic_missile", "no_fail": true, "level": 15, "need_wielding": true } + }, + { + "type": "TOOL", + "id": "wand_disp_fireball_minor", + "name": "disposable minor wand of fireball", + "name_plural": "disposable minor wands of fireball", + "copy-from": "disp_wand", + "description": "A slender wooden wand with an embedded mana crystal at the base that casts a spell when activated. This wand casts fireball.", + "use_action": { "type": "cast_spell", "spell_id": "fireball", "no_fail": true, "level": 5, "need_wielding": true } + }, + { + "type": "TOOL", + "id": "wand_disp_fireball_lesser", + "name": "disposable lesser wand of fireball", + "name_plural": "disposable lesser wands of fireball", + "copy-from": "disp_wand", + "price": 20000, + "description": "A slender wooden wand with an embedded mana crystal at the base that casts a spell when activated. This wand casts fireball.", + "use_action": { "type": "cast_spell", "spell_id": "fireball", "no_fail": true, "level": 10, "need_wielding": true } + }, + { + "type": "TOOL", + "id": "wand_disp_fireball_greater", + "name": "disposable greater wand of fireball", + "name_plural": "disposable greater wands of fireball", + "copy-from": "disp_wand", + "price": 30000, + "description": "A slender wooden wand with an embedded mana crystal at the base that casts a spell when activated. This wand casts fireball.", + "use_action": { "type": "cast_spell", "spell_id": "fireball", "no_fail": true, "level": 15, "need_wielding": true } + }, + { + "type": "TOOL", + "id": "wand_disp_mana_beam_minor", + "name": "disposable minor wand of mana beam", + "name_plural": "disposable minor wands of mana beam", + "copy-from": "disp_wand", + "description": "A slender wooden wand with an embedded mana crystal at the base that casts a spell when activated. This wand casts mana beam.", + "use_action": { "type": "cast_spell", "spell_id": "magus_mana_beam", "no_fail": true, "level": 5, "need_wielding": true } + }, + { + "type": "TOOL", + "id": "wand_disp_mana_beam_lesser", + "name": "disposable lesser wand of mana beam", + "name_plural": "disposable lesser wands of mana beam", + "copy-from": "disp_wand", + "price": 20000, + "description": "A slender wooden wand with an embedded mana crystal at the base that casts a spell when activated. This wand casts mana beam.", + "use_action": { "type": "cast_spell", "spell_id": "magus_mana_beam", "no_fail": true, "level": 10, "need_wielding": true } + }, + { + "type": "TOOL", + "id": "wand_disp_mana_beam_greater", + "name": "disposable greater wand of mana beam", + "name_plural": "disposable greater wands of mana beam", + "copy-from": "disp_wand", + "price": 30000, + "description": "A slender wooden wand with an embedded mana crystal at the base that casts a spell when activated. This wand casts mana beam.", + "use_action": { "type": "cast_spell", "spell_id": "magus_mana_beam", "no_fail": true, "level": 15, "need_wielding": true } + }, + { + "type": "TOOL", + "id": "wand_disp_point_flare_minor", + "name": "disposable minor wand of point flare", + "name_plural": "disposable minor wands of point flare", + "copy-from": "disp_wand", + "description": "A slender wooden wand with an embedded mana crystal at the base that casts a spell when activated. This wand casts point flare.", + "use_action": { "type": "cast_spell", "spell_id": "point_flare", "no_fail": true, "level": 5, "need_wielding": true } + }, + { + "type": "TOOL", + "id": "wand_disp_point_flare_lesser", + "name": "disposable lesser wand of point flare", + "name_plural": "disposable lesser wands of point flare", + "copy-from": "disp_wand", + "price": 20000, + "description": "A slender wooden wand with an embedded mana crystal at the base that casts a spell when activated. This wand casts point flare.", + "use_action": { "type": "cast_spell", "spell_id": "point_flare", "no_fail": true, "level": 10, "need_wielding": true } + }, + { + "type": "TOOL", + "id": "wand_disp_point_flare_greater", + "name": "disposable greater wand of point flare", + "name_plural": "disposable greater wands of point flare", + "copy-from": "disp_wand", + "price": 30000, + "description": "A slender wooden wand with an embedded mana crystal at the base that casts a spell when activated. This wand casts point flare.", + "use_action": { "type": "cast_spell", "spell_id": "point_flare", "no_fail": true, "level": 15, "need_wielding": true } + }, + { + "type": "TOOL", + "id": "wand_disp_hoaryblast_minor", + "name": "disposable minor wand of hoary blast", + "name_plural": "disposable minor wands of hoary blast", + "copy-from": "disp_wand", + "description": "A slender wooden wand with an embedded mana crystal at the base that casts a spell when activated. This wand casts hoary blast.", + "use_action": { "type": "cast_spell", "spell_id": "hoary_blast", "no_fail": true, "level": 5, "need_wielding": true } + }, + { + "type": "TOOL", + "id": "wand_disp_hoaryblast_lesser", + "name": "disposable lesser wand of hoary blast", + "name_plural": "disposable lesser wands of hoary blast", + "copy-from": "disp_wand", + "price": 20000, + "description": "A slender wooden wand with an embedded mana crystal at the base that casts a spell when activated. This wand casts hoary blast.", + "use_action": { "type": "cast_spell", "spell_id": "hoary_blast", "no_fail": true, "level": 10, "need_wielding": true } + }, + { + "type": "TOOL", + "id": "wand_disp_hoaryblast_greater", + "name": "disposable greater wand of hoary blast", + "name_plural": "disposable greater wands of hoary blast", + "copy-from": "disp_wand", + "price": 30000, + "description": "A slender wooden wand with an embedded mana crystal at the base that casts a spell when activated. This wand casts hoary blast.", + "use_action": { "type": "cast_spell", "spell_id": "hoary_blast", "no_fail": true, "level": 15, "need_wielding": true } + }, + { + "type": "TOOL", + "id": "wand_disp_cone_cold_minor", + "name": "disposable minor wand of cone of cold", + "name_plural": "disposable minor wands of cone of cold", + "copy-from": "disp_wand", + "description": "A slender wooden wand with an embedded mana crystal at the base that casts a spell when activated. This wand casts cone of cold.", + "use_action": { "type": "cast_spell", "spell_id": "cone_cold", "no_fail": true, "level": 5, "need_wielding": true } + }, + { + "type": "TOOL", + "id": "wand_disp_cone_cold_lesser", + "name": "disposable lesser wand of cone of cold", + "name_plural": "disposable lesser wands of cone of cold", + "copy-from": "disp_wand", + "price": 20000, + "description": "A slender wooden wand with an embedded mana crystal at the base that casts a spell when activated. This wand casts cone of cold.", + "use_action": { "type": "cast_spell", "spell_id": "cone_cold", "no_fail": true, "level": 10, "need_wielding": true } + }, + { + "type": "TOOL", + "id": "wand_disp_cone_cold_greater", + "name": "disposable greater wand of cone of cold", + "name_plural": "disposable greater wands of cone of cold", + "copy-from": "disp_wand", + "price": 30000, + "description": "A slender wooden wand with an embedded mana crystal at the base that casts a spell when activated. This wand casts cone of cold.", + "use_action": { "type": "cast_spell", "spell_id": "cone_cold", "no_fail": true, "level": 15, "need_wielding": true } } ] diff --git a/data/mods/Magiclysm/field.json b/data/mods/Magiclysm/field.json new file mode 100644 index 0000000000000..2cd801043c44f --- /dev/null +++ b/data/mods/Magiclysm/field.json @@ -0,0 +1,15 @@ +[ + { + "id": "fd_clairvoyant", + "type": "field_type", + "intensity_levels": [ { "name": "clairvoyance", "sym": "8", "dangerous": false } ], + "decay_amount_factor": 5, + "gas_absorption_factor": 12, + "dirty_transparency_cache": true, + "outdoor_age_speedup": "0 turns", + "priority": 8, + "half_life": "1 seconds", + "phase": "solid", + "display_field": false + } +] diff --git a/data/mods/Magiclysm/furniture.json b/data/mods/Magiclysm/furniture.json index 4f95e2d0ccec8..f00d97b8108e8 100644 --- a/data/mods/Magiclysm/furniture.json +++ b/data/mods/Magiclysm/furniture.json @@ -21,5 +21,34 @@ "required_str": -1, "flags": [ "ALLOW_FIELD_EFFECT" ], "description": "This is a rough magic circle, carved into the ground and decorated with blood, candles, and other small knick-knacks." + }, + { + "type": "furniture", + "id": "f_glow_boulder", + "looks_like": "f_boulder_large", + "name": "large glowing boulder", + "description": "Something about this doesn't look right.", + "symbol": "O", + "color": "green", + "move_cost_mod": -1, + "coverage": 65, + "required_str": 32, + "flags": [ "NOITEM", "MINEABLE", "BASHABLE", "BLOCK_WIND" ], + "bash": { + "str_min": 64, + "str_max": 160, + "sound": "smash!", + "sound_fail": "thump.", + "items": [ + { "item": "rock", "count": [ 10, 22 ] }, + { "item": "sharp_rock", "count": [ 3, 7 ] }, + { "item": "material_limestone", "charges": [ 2, 5 ], "prob": 30 }, + { "item": "material_rocksalt", "count": [ 0, 1 ], "prob": 10 }, + { "item": "material_rhodonite", "count": [ 0, 1 ], "prob": 1 }, + { "item": "material_zincite", "count": [ 0, 5 ], "prob": 2 }, + { "item": "orichalcum_lump", "count": [ 0, 3 ], "prob": 5 }, + { "item": "orichalcum_sliver", "count": [ 1, 8 ], "prob": 20 } + ] + } } ] diff --git a/data/mods/Magiclysm/harvest.json b/data/mods/Magiclysm/harvest.json index 2999bc41966c3..c0f2e7a3480ec 100644 --- a/data/mods/Magiclysm/harvest.json +++ b/data/mods/Magiclysm/harvest.json @@ -4,8 +4,8 @@ "//": "identical to mammal_large_fur except that half the fur has been replaced with feathers", "type": "harvest", "entries": [ - { "drop": "meat", "type": "flesh", "mass_ratio": 0.32 }, - { "drop": "meat_scrap", "type": "flesh", "mass_ratio": 0.01 }, + { "drop": "mutant_meat", "type": "flesh", "mass_ratio": 0.32 }, + { "drop": "mutant_meat_scrap", "type": "flesh", "mass_ratio": 0.01 }, { "drop": "lung", "type": "flesh", "mass_ratio": 0.0035 }, { "drop": "liver", "type": "offal", "mass_ratio": 0.01 }, { "drop": "brain", "type": "flesh", "mass_ratio": 0.005 }, @@ -16,7 +16,7 @@ { "drop": "bone", "type": "bone", "mass_ratio": 0.15 }, { "drop": "sinew", "type": "bone", "mass_ratio": 0.00035 }, { "drop": "raw_fur", "type": "skin", "mass_ratio": 0.015 }, - { "drop": "fat", "type": "flesh", "mass_ratio": 0.07 }, + { "drop": "mutant_fat", "type": "flesh", "mass_ratio": 0.07 }, { "drop": "feather", "type": "skin", "mass_ratio": 0.005 }, { "drop": "adrenal_gland_large", "type": "bionic", "max": 2 } ] @@ -26,8 +26,8 @@ "//": "drops regular stomach", "type": "harvest", "entries": [ - { "drop": "meat", "type": "flesh", "mass_ratio": 0.3 }, - { "drop": "meat_scrap", "type": "flesh", "mass_ratio": 0.03 }, + { "drop": "mutant_meat", "type": "flesh", "mass_ratio": 0.3 }, + { "drop": "mutant_meat_scrap", "type": "flesh", "mass_ratio": 0.03 }, { "drop": "lung", "type": "flesh", "mass_ratio": 0.0035 }, { "drop": "liver", "type": "offal", "mass_ratio": 0.01 }, { "drop": "brain", "type": "flesh", "mass_ratio": 0.005 }, @@ -38,7 +38,7 @@ { "drop": "bone", "type": "bone", "mass_ratio": 0.15 }, { "drop": "sinew", "type": "bone", "mass_ratio": 0.00035 }, { "drop": "raw_fur", "type": "skin", "mass_ratio": 0.015 }, - { "drop": "fat", "type": "flesh", "mass_ratio": 0.07 }, + { "drop": "mutant_fat", "type": "flesh", "mass_ratio": 0.07 }, { "drop": "feather", "type": "skin", "mass_ratio": 0.005 } ] }, @@ -121,6 +121,26 @@ { "drop": "adrenal_gland_large", "type": "bionic", "max": 2 } ] }, + { + "id": "mutant_mammal_large_leather", + "//": "drops large stomach", + "type": "harvest", + "entries": [ + { "drop": "mutant_meat", "type": "flesh", "mass_ratio": 0.32 }, + { "drop": "mutant_meat_scrap", "type": "flesh", "mass_ratio": 0.01 }, + { "drop": "lung", "type": "flesh", "mass_ratio": 0.0035 }, + { "drop": "liver", "type": "offal", "mass_ratio": 0.01 }, + { "drop": "brain", "type": "flesh", "mass_ratio": 0.005 }, + { "drop": "sweetbread", "type": "flesh", "mass_ratio": 0.002 }, + { "drop": "kidney", "type": "offal", "mass_ratio": 0.002 }, + { "drop": "stomach_large", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" }, + { "drop": "bone", "type": "bone", "mass_ratio": 0.15 }, + { "drop": "sinew", "type": "bone", "mass_ratio": 0.00035 }, + { "drop": "raw_leather", "type": "skin", "mass_ratio": 0.02 }, + { "drop": "mutant_fat", "type": "flesh", "mass_ratio": 0.07 }, + { "drop": "adrenal_gland_large", "type": "bionic", "max": 2 } + ] + }, { "id": "mammal_large_wool", "//": "drops large stomach", @@ -141,6 +161,19 @@ { "drop": "adrenal_gland_large", "type": "bionic", "max": 2 } ] }, + { + "id": "human_large_leather", + "type": "harvest", + "entries": [ + { "drop": "mutant_human_flesh", "type": "flesh", "mass_ratio": 0.34 }, + { "drop": "hstomach_large", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" }, + { "drop": "bone", "type": "bone", "mass_ratio": 0.15 }, + { "drop": "sinew", "type": "bone", "mass_ratio": 0.00035 }, + { "drop": "raw_leather", "type": "skin", "mass_ratio": 0.02 }, + { "drop": "mutant_human_fat", "type": "flesh", "mass_ratio": 0.07 }, + { "drop": "adrenal_gland_large", "type": "bionic", "max": 2 } + ] + }, { "id": "animal_large_noskin", "//": "for those vertebrates that don't have something you can skin off of them", @@ -160,6 +193,25 @@ { "drop": "adrenal_gland_large", "type": "bionic", "max": 2 } ] }, + { + "id": "mutant_animal_large_noskin", + "//": "for those vertebrates that don't have something you can skin off of them", + "type": "harvest", + "entries": [ + { "drop": "mutant_meat", "type": "flesh", "mass_ratio": 0.32 }, + { "drop": "mutant_meat_scrap", "type": "flesh", "mass_ratio": 0.01 }, + { "drop": "lung", "type": "flesh", "mass_ratio": 0.0035 }, + { "drop": "liver", "type": "offal", "mass_ratio": 0.01 }, + { "drop": "brain", "type": "flesh", "mass_ratio": 0.005 }, + { "drop": "sweetbread", "type": "flesh", "mass_ratio": 0.002 }, + { "drop": "kidney", "type": "offal", "mass_ratio": 0.002 }, + { "drop": "stomach_large", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" }, + { "drop": "bone", "type": "bone", "mass_ratio": 0.15 }, + { "drop": "sinew", "type": "bone", "mass_ratio": 0.00035 }, + { "drop": "mutant_fat", "type": "flesh", "mass_ratio": 0.07 }, + { "drop": "adrenal_gland_large", "type": "bionic", "max": 2 } + ] + }, { "id": "dragon_black", "type": "harvest", @@ -234,5 +286,38 @@ { "drop": "sinew", "type": "bone", "mass_ratio": 0.001 }, { "drop": "raw_leather", "type": "skin", "mass_ratio": 0.01 } ] + }, + { + "id": "stirge", + "//": "mainly arachnid drops with leather and proboscis", + "type": "harvest", + "entries": [ + { "drop": "blood", "type": "flesh", "mass_ratio": 0.1 }, + { "drop": "mutant_meat", "type": "flesh", "mass_ratio": 0.33 }, + { "drop": "mutant_fat", "type": "flesh", "mass_ratio": 0.1 }, + { "drop": "sinew", "type": "bone", "mass_ratio": 0.01 }, + { "drop": "raw_leather", "type": "skin", "mass_ratio": 0.01 }, + { "drop": "stirge_proboscis", "scale_num": [ 1, 1 ], "max": 1, "type": "offal" } + ] + }, + { + "id": "shrieker", + "//": "mainly fungaloid drops with scream mushroom.", + "type": "harvest", + "entries": [ + { "drop": "veggy", "type": "flesh", "mass_ratio": 0.4 }, + { "drop": "plant_sac", "type": "offal", "mass_ratio": 0.2 }, + { "drop": "stick_fiber", "type": "bone", "mass_ratio": 0.1 }, + { "drop": "scream_mush", "scale_num": [ 0.1, 0.3 ], "max": 10, "type": "offal" } + ] + }, + { + "id": "lemure", + "//": "nothing much aside from big pile of meat and maybe demon blood in future. But for now, tainted will do.", + "type": "harvest", + "entries": [ + { "drop": "tainted_blood", "type": "flesh", "mass_ratio": 0.1 }, + { "drop": "meat", "type": "flesh", "mass_ratio": 0.4 } + ] } ] diff --git a/data/mods/Magiclysm/itemgroups/itemgroups.json b/data/mods/Magiclysm/itemgroups/itemgroups.json index cf8e777af7581..e7b8c2e50a77a 100644 --- a/data/mods/Magiclysm/itemgroups/itemgroups.json +++ b/data/mods/Magiclysm/itemgroups/itemgroups.json @@ -53,7 +53,8 @@ "id": "guns_pistol_rare", "items": [ { "item": "wand_magic_missile_minor", "prob": 35, "charges-min": 12, "charges-max": 34 }, - { "item": "wand_fireball_minor", "prob": 25, "charges-min": 3, "charges-max": 24 } + { "item": "wand_fireball_minor", "prob": 25, "charges-min": 3, "charges-max": 24 }, + { "item": "m47a1", "prob": 25, "charges-min": 0, "charges-max": 6 } ] }, { @@ -100,10 +101,10 @@ "type": "item_group", "id": "magic_shop_books", "items": [ - { "group": "spellbook_tier_0", "prob": 60 }, - { "group": "spellbook_tier_1", "prob": 50 }, - { "group": "spellbook_tier_2", "prob": 35 }, - { "group": "spellbook_tier_3", "prob": 20 }, + { "group": "spellbook_loot_1", "prob": 60 }, + { "group": "spell_scroll_tier_0", "prob": 80 }, + { "group": "spell_scroll_tier_1", "prob": 60 }, + { "group": "spell_scroll_tier_2", "prob": 30 }, { "group": "magic_recipe_basic", "prob": 50 } ] }, @@ -193,15 +194,15 @@ "id": "lair_loot_generic", "//": "Stuff you would find in any dragon lair, gold, jewelry, etc.", "items": [ - { "group": "jewelry_safe", "prob": 50 }, + { "group": "jewelry_safe", "prob": 30 }, { "group": "jewelry_front", "prob": 8 }, - { "item": "bone_human", "prob": 20, "count-min": 1, "count-max": 5 } + { "item": "bone_human", "prob": 60, "count-min": 1, "count-max": 5 } ] }, { "type": "item_group", "id": "lair_black_dragon", - "//": "Stuff you would find in any dragon lair, gold, jewelry, etc.", + "//": "Stuff you would find in any dragon deeper lair level. Gold, jewelry, weapons etc. Should require a bit of a fight or risk to access.", "items": [ { "item": "bone_human", "prob": 30, "count-min": 1, "count-max": 5 }, { "group": "archery", "prob": 1 }, @@ -210,7 +211,365 @@ { "group": "corpses", "prob": 20 }, { "group": "remains_human_generic", "prob": 5, "count-min": 1, "count-max": 2 }, { "group": "archery_ammo", "prob": 2, "count-min": 1, "count-max": 4 }, - { "group": "medieval", "prob": 1, "count-min": 1, "count-max": 2 } + { "group": "medieval", "prob": 1, "count-min": 1, "count-max": 2 }, + { "group": "medieval", "prob": 1, "count-min": 1, "count-max": 2 }, + { "group": "enchanted_combat_items", "prob": 1 } + ] + }, + { + "type": "item_group", + "id": "lair_black_dragon_treasure", + "//": "Stuff you would find in any dragon treasure room or from a boss fight. Should require exceptional risk to access. Includes lower tier group, plus the best magic items.", + "items": [ + { "group": "lair_loot_generic", "prob": 80, "count": [ 2, 6 ] }, + { "item": "dragon_black_scale", "count": [ 48, 120 ] }, + { "group": "enchanted_tokens_weapon", "prob": 30 }, + { "group": "enchanted_rings_common", "prob": 40 }, + { "group": "enchanted_rings_uncommon", "prob": 30 }, + { "group": "enchanted_rings_unusual", "prob": 20 }, + { "group": "enchanted_rings_rare", "prob": 10 }, + { "group": "enchanted_melee_weapons_plus1", "prob": 30 }, + { "group": "enchanted_melee_weapons_plus2", "prob": 10 }, + { "group": "enchanted_wands_minor", "prob": 40 }, + { "group": "enchanted_wands_lesser", "prob": 20 }, + { "group": "enchanted_wands_greater", "prob": 10 }, + { "group": "enchanted_masks", "prob": 10 }, + { "group": "enchanted_bracers_lesser", "prob": 20 }, + { "group": "enchanted_bracers_greater", "prob": 10 }, + { "group": "enchanted_boots", "prob": 15 }, + { "group": "enchanted_belts", "prob": 15 }, + { "group": "spellbook_loot_2", "prob": 20 } + ] + }, + { + "id": "enchanted_misc", + "type": "item_group", + "//": "all enchanted miscellanious items", + "subtype": "collection", + "items": [ + { "item": "heat_cube", "prob": 10 }, + { "item": "mkey_opening", "prob": 10 }, + { "item": "mtorch_everburning", "prob": 10 }, + { "item": "mflask_hip_whiskey", "prob": 10 }, + { "item": "mtailors_kit", "prob": 10 }, + { "item": "mspider_box", "prob": 10 } + ] + }, + { + "id": "enchanted_tokens_weapon", + "type": "item_group", + "//": "all the melee weapon tokens", + "subtype": "collection", + "items": [ + { "item": "mtoken_longsword", "prob": 10 }, + { "item": "mtoken_arming_sword", "prob": 10 }, + { "item": "mtoken_broadsword", "prob": 10 }, + { "item": "mtoken_battleaxe", "prob": 10 }, + { "item": "mtoken_pike", "prob": 10 }, + { "item": "mtoken_mace", "prob": 10 }, + { "item": "mtoken_q_staff", "prob": 10 } + ] + }, + { + "id": "enchanted_tokens_tool", + "type": "item_group", + "//": "all the tool tokens", + "subtype": "collection", + "items": [ + { "item": "mtoken_toolbox", "prob": 5 }, + { "item": "mtoken_hammer", "prob": 20 }, + { "item": "mtoken_screwdriver_set", "prob": 30 }, + { "item": "mtoken_crowbar", "prob": 20 } + ] + }, + { + "id": "enchanted_rings_common", + "type": "item_group", + "//": "all the common enchanted rings", + "subtype": "collection", + "items": [ + { "item": "mring_blades_lesser", "prob": 5 }, + { "item": "mring_strength_1", "prob": 10 }, + { "item": "mring_dexterity_1", "prob": 10 }, + { "item": "mring_intelligence_1", "prob": 10 }, + { "item": "mring_perception_1", "prob": 10 }, + { "item": "mring_speed_3", "prob": 10 }, + { "item": "mring_protection_2", "prob": 10 } + ] + }, + { + "id": "enchanted_rings_uncommon", + "type": "item_group", + "//": "all the uncommon enchanted rings", + "subtype": "collection", + "items": [ + { "item": "mring_strength_2", "prob": 10 }, + { "item": "mring_dexterity_2", "prob": 10 }, + { "item": "mring_intelligence_2", "prob": 10 }, + { "item": "mring_perception_2", "prob": 10 }, + { "item": "mring_speed_5", "prob": 10 }, + { "item": "mring_protection_4", "prob": 10 } + ] + }, + { + "id": "enchanted_rings_unusual", + "type": "item_group", + "//": "all the unusual enchanted rings", + "subtype": "collection", + "items": [ + { "item": "mring_strength_3", "prob": 10 }, + { "item": "mring_dexterity_3", "prob": 10 }, + { "item": "mring_intelligence_3", "prob": 10 }, + { "item": "mring_perception_3", "prob": 10 }, + { "item": "mring_speed_7", "prob": 10 }, + { "item": "mring_protection_6", "prob": 10 } + ] + }, + { + "id": "enchanted_rings_rare", + "type": "item_group", + "//": "all the rare enchanted rings. High end loot for boss fights, treasure rooms, etc.", + "subtype": "collection", + "items": [ + { "item": "mring_strength_4", "prob": 10 }, + { "item": "mring_dexterity_4", "prob": 10 }, + { "item": "mring_intelligence_4", "prob": 10 }, + { "item": "mring_perception_4", "prob": 10 }, + { "item": "mring_speed_10", "prob": 10 }, + { "item": "mring_protection_8", "prob": 10 } + ] + }, + { + "id": "enchanted_wands_minor", + "type": "item_group", + "//": "minor enchanted wands", + "subtype": "collection", + "items": [ + { "item": "wand_magic_missile_minor", "prob": 10, "charges-min": 3, "charges-max": 24 }, + { "item": "wand_fireball_minor", "prob": 10, "charges-min": 3, "charges-max": 24 }, + { "item": "wand_mana_beam_minor", "prob": 10, "charges-min": 3, "charges-max": 24 }, + { "item": "wand_point_flare_minor", "prob": 10, "charges-min": 3, "charges-max": 24 }, + { "item": "wand_disp_hoaryblast_minor", "prob": 20, "charges-min": 3, "charges-max": 20 }, + { "item": "wand_disp_cone_cold_minor", "prob": 20, "charges-min": 3, "charges-max": 20 } + ] + }, + { + "id": "enchanted_wands_lesser", + "type": "item_group", + "//": "lesser enchanted wands", + "subtype": "collection", + "items": [ + { "item": "wand_magic_missile_lesser", "prob": 10, "charges-min": 3, "charges-max": 24 }, + { "item": "wand_fireball_lesser", "prob": 10, "charges-min": 3, "charges-max": 24 }, + { "item": "wand_mana_beam_lesser", "prob": 10, "charges-min": 3, "charges-max": 24 }, + { "item": "wand_point_flare_lesser", "prob": 10, "charges-min": 3, "charges-max": 24 }, + { "item": "wand_disp_hoaryblast_lesser", "prob": 20, "charges-min": 3, "charges-max": 20 }, + { "item": "wand_disp_cone_cold_lesser", "prob": 20, "charges-min": 3, "charges-max": 20 } + ] + }, + { + "id": "enchanted_wands_greater", + "type": "item_group", + "//": "rare enchanted wands. High end loot for boss fights, treasure rooms, etc.", + "subtype": "collection", + "items": [ + { "item": "wand_magic_missile_greater", "prob": 10, "charges-min": 3, "charges-max": 24 }, + { "item": "wand_fireball_greater", "prob": 10, "charges-min": 3, "charges-max": 24 }, + { "item": "wand_mana_beam_greater", "prob": 10, "charges-min": 3, "charges-max": 24 }, + { "item": "wand_point_flare_greater", "prob": 10, "charges-min": 3, "charges-max": 24 }, + { "item": "wand_disp_hoaryblast_greater", "prob": 20, "charges-min": 3, "charges-max": 20 }, + { "item": "wand_disp_cone_cold_greater", "prob": 20, "charges-min": 3, "charges-max": 20 } + ] + }, + { + "id": "enchanted_masks", + "type": "item_group", + "//": "all enchanted masks. High end loot for boss fights, treasure rooms, etc.", + "subtype": "collection", + "items": [ { "item": "mmask_disappearance", "prob": 5 }, { "item": "mmask_vision", "prob": 10 } ] + }, + { + "id": "enchanted_bracers_lesser", + "type": "item_group", + "//": "lesser enchanted bracers", + "subtype": "collection", + "items": [ { "item": "mbracer_defense_lesser", "prob": 10 }, { "item": "mbracer_lightning_lesser", "prob": 10 } ] + }, + { + "id": "enchanted_bracers_greater", + "type": "item_group", + "//": "greater enchanted bracers", + "subtype": "collection", + "items": [ { "item": "mbracer_defense_greater", "prob": 10 }, { "item": "mbracer_lightning_greater", "prob": 10 } ] + }, + { + "id": "enchanted_boots", + "type": "item_group", + "//": "all enchanted boots", + "subtype": "collection", + "items": [ + { "item": "mboots_haste", "prob": 10 }, + { "item": "mboots_sevenleague", "prob": 10 }, + { "item": "mboots_escape", "prob": 10 }, + { "item": "mboots_grounding", "prob": 10 } + ] + }, + { + "id": "enchanted_belts", + "type": "item_group", + "//": "all enchanted belts", + "subtype": "collection", + "items": [ + { "item": "magi_staff_minor", "prob": 10 }, + { "item": "wizard_hat", "prob": 20 }, + { "item": "mbelt_haste", "prob": 5 }, + { "item": "mbelt_thor", "prob": 1 }, + { "item": "mbelt_pockets_lesser", "prob": 10 }, + { "item": "mbelt_pockets_greater", "prob": 5 }, + { "item": "mbelt_weaponry", "prob": 10 }, + { "item": "mbelt_technomancer_toolbelt", "prob": 5 }, + { "item": "mbelt_iron_whip", "prob": 5 } + ] + }, + { + "id": "enchanted_melee_weapons_plus1", + "type": "item_group", + "//": "plus 1 enchanted melee weapons", + "items": [ + { "item": "cudgel_plus_one", "prob": 10 }, + { "item": "q_staff_plus_one", "prob": 10 }, + { "item": "i_staff_plus_one", "prob": 10 }, + { "item": "longsword_plus_one", "prob": 5 }, + { "item": "sledge_plus_one", "prob": 8 }, + { "item": "warhammer_plus_one", "prob": 8 }, + { "item": "bat_plus_one", "prob": 10 }, + { "item": "bat_metal_plus_one", "prob": 8 }, + { "item": "spear_steel_plus_one", "prob": 8 }, + { "item": "qiang_plus_one", "prob": 8 }, + { "item": "halberd_plus_one", "prob": 8 }, + { "item": "glaive_plus_one", "prob": 8 }, + { "item": "naginata_plus_one", "prob": 5 }, + { "item": "mace_plus_one", "prob": 5 }, + { "item": "morningstar_plus_one", "prob": 5 }, + { "item": "jian_plus_one", "prob": 5 }, + { "item": "scimitar_plus_one", "prob": 5 }, + { "item": "estoc_plus_one", "prob": 5 }, + { "item": "arming_sword_plus_one", "prob": 5 }, + { "item": "broadsword_plus_one", "prob": 5 }, + { "item": "battleaxe_plus_one", "prob": 5 }, + { "item": "cavalry_sabre_plus_one", "prob": 5 }, + { "item": "crowbar_plus_one", "prob": 10 }, + { "item": "cutlass_plus_one", "prob": 5 }, + { "item": "fire_ax_plus_one", "prob": 8 }, + { "item": "katana_plus_one", "prob": 5 }, + { "item": "knife_combat_plus_one", "prob": 8 }, + { "item": "knife_hunting_plus_one", "prob": 8 }, + { "item": "knife_rambo_plus_one", "prob": 5 }, + { "item": "knife_trench_plus_one", "prob": 5 }, + { "item": "kris_plus_one", "prob": 5 }, + { "item": "kukri_plus_one", "prob": 5 }, + { "item": "nodachi_plus_one", "prob": 5 }, + { "item": "pickaxe_plus_one", "prob": 8 }, + { "item": "pike_plus_one", "prob": 5 }, + { "item": "rapier_plus_one", "prob": 5 }, + { "item": "tanto_plus_one", "prob": 5 }, + { "item": "wakizashi_plus_one", "prob": 5 }, + { "item": "zweihander_plus_one", "prob": 5 }, + { "item": "khopesh_plus_one", "prob": 5 }, + { "item": "sword_xiphos_plus_one", "prob": 5 }, + { "item": "dao_plus_one", "prob": 5 }, + { "item": "gunblade", "prob": 5 } + ] + }, + { + "id": "enchanted_melee_weapons_plus2", + "type": "item_group", + "//": "plus 2 enchanted melee weapons. High end loot for boss fights, treasure rooms, etc.", + "items": [ + { "item": "cudgel_plus_two", "prob": 10 }, + { "item": "q_staff_plus_two", "prob": 10 }, + { "item": "i_staff_plus_two", "prob": 10 }, + { "item": "longsword_plus_two", "prob": 5 }, + { "item": "sledge_plus_two", "prob": 8 }, + { "item": "warhammer_plus_two", "prob": 8 }, + { "item": "bat_plus_two", "prob": 10 }, + { "item": "bat_metal_plus_two", "prob": 8 }, + { "item": "spear_steel_plus_two", "prob": 8 }, + { "item": "qiang_plus_two", "prob": 8 }, + { "item": "halberd_plus_two", "prob": 8 }, + { "item": "glaive_plus_two", "prob": 8 }, + { "item": "naginata_plus_two", "prob": 5 }, + { "item": "mace_plus_two", "prob": 5 }, + { "item": "morningstar_plus_two", "prob": 5 }, + { "item": "jian_plus_two", "prob": 5 }, + { "item": "scimitar_plus_two", "prob": 5 }, + { "item": "estoc_plus_two", "prob": 5 }, + { "item": "arming_sword_plus_two", "prob": 5 }, + { "item": "broadsword_plus_two", "prob": 5 }, + { "item": "battleaxe_plus_two", "prob": 5 }, + { "item": "cavalry_sabre_plus_two", "prob": 5 }, + { "item": "crowbar_plus_two", "prob": 10 }, + { "item": "cutlass_plus_two", "prob": 5 }, + { "item": "fire_ax_plus_two", "prob": 8 }, + { "item": "katana_plus_two", "prob": 5 }, + { "item": "knife_combat_plus_two", "prob": 8 }, + { "item": "knife_hunting_plus_two", "prob": 8 }, + { "item": "knife_rambo_plus_two", "prob": 5 }, + { "item": "knife_trench_plus_two", "prob": 5 }, + { "item": "kris_plus_two", "prob": 5 }, + { "item": "kukri_plus_two", "prob": 5 }, + { "item": "nodachi_plus_two", "prob": 5 }, + { "item": "pickaxe_plus_two", "prob": 8 }, + { "item": "pike_plus_two", "prob": 5 }, + { "item": "rapier_plus_two", "prob": 5 }, + { "item": "tanto_plus_two", "prob": 5 }, + { "item": "wakizashi_plus_two", "prob": 5 }, + { "item": "zweihander_plus_two", "prob": 5 }, + { "item": "khopesh_plus_two", "prob": 5 }, + { "item": "sword_xiphos_plus_two", "prob": 5 }, + { "item": "dao_plus_two", "prob": 5 } + ] + }, + { + "id": "enchanted_small_items", + "//": "A distribution of small magical items for general loot areas like desks, shelves, personal items.", + "type": "item_group", + "subtype": "distribution", + "items": [ + { "group": "enchanted_tokens_tool", "prob": 20 }, + { "group": "enchanted_tokens_weapon", "prob": 1 }, + { "group": "enchanted_rings_common", "prob": 15 }, + { "group": "enchanted_rings_uncommon", "prob": 1 }, + { "group": "enchanted_wands_minor", "prob": 5 }, + { "group": "enchanted_masks", "prob": 1 }, + { "group": "magic_shop_potions", "prob": 20 }, + { "group": "spellbook_loot_1", "prob": 30 }, + { "group": "magic_CBM", "prob": 1 }, + [ "crystallized_mana", 10 ], + { "item": "small_mana_crystal", "prob": 20, "charges-min": 5, "charges-max": 50 } + ] + }, + { + "id": "enchanted_worn_items", + "//": "A distribution of wearable magical items for loot areas like dressers, wardrobes, coat racks.", + "type": "item_group", + "subtype": "distribution", + "items": [ + { "group": "enchanted_bracers_lesser", "prob": 20 }, + { "group": "enchanted_boots", "prob": 5 }, + { "group": "enchanted_belts", "prob": 5 } + ] + }, + { + "id": "enchanted_combat_items", + "//": "A distribution of magical items for combat loot.", + "type": "item_group", + "subtype": "distribution", + "items": [ + { "group": "enchanted_bracers_lesser", "prob": 20 }, + { "group": "enchanted_worn_items", "prob": 10 }, + { "group": "enchanted_melee_weapons_plus1", "prob": 2 }, + { "group": "enchanted_small_items", "prob": 1 } ] } ] diff --git a/data/mods/Magiclysm/itemgroups/recipe_books.json b/data/mods/Magiclysm/itemgroups/recipe_books.json index 09bc263b1f1d0..9dd08cfd19c58 100644 --- a/data/mods/Magiclysm/itemgroups/recipe_books.json +++ b/data/mods/Magiclysm/itemgroups/recipe_books.json @@ -3,6 +3,6 @@ "id": "magic_recipe_basic", "type": "item_group", "//": "Lower tier recipes, many of which can be done with the alchemist rune. Usually has at least one recipe requiring related school rune or rune weapon", - "items": [ [ "alchemy_basic", 30 ], [ "necro_basic", 30 ] ] + "items": [ [ "alchemy_basic", 30 ], [ "necro_basic", 30 ], [ "techno_basic", 30 ] ] } ] diff --git a/data/mods/Magiclysm/itemgroups/spellbooks.json b/data/mods/Magiclysm/itemgroups/spellbooks.json index 74e0dc4d40062..481f973a214ff 100644 --- a/data/mods/Magiclysm/itemgroups/spellbooks.json +++ b/data/mods/Magiclysm/itemgroups/spellbooks.json @@ -24,6 +24,7 @@ [ "spell_scroll_taze", 25 ], [ "spell_scroll_laze", 25 ], [ "spell_scroll_lightning_blast", 20 ], + [ "spell_scroll_x-ray", 30 ], [ "spell_scroll_necrotic_gaze", 50 ] ] }, @@ -41,6 +42,7 @@ [ "spell_scroll_druid_naturebow1", 20 ], [ "spell_scroll_seismic_stomp", 20 ], [ "spell_scroll_eshaper_shardspray", 25 ], + [ "spell_scroll_clairvoyance", 30 ], [ "spell_scroll_point_flare", 50 ], [ "spell_scroll_ice_spike", 50 ], [ "spell_scroll_burning_hands", 50 ], diff --git a/data/mods/Magiclysm/items/alchemy_items.json b/data/mods/Magiclysm/items/alchemy_items.json index 147189e850d58..6aade7e4de53f 100644 --- a/data/mods/Magiclysm/items/alchemy_items.json +++ b/data/mods/Magiclysm/items/alchemy_items.json @@ -41,13 +41,22 @@ "name_plural": "copper infusion bracelets", "description": "This bracelet has runes engraved on it. You sense a faint air of mysticism when you look at it. It would be useful for imbuing mana into material." }, + { + "id": "silver_infuser", + "copy-from": "silver_bracelet", + "type": "ARMOR", + "qualities": [ [ "MANA_INFUSE", 2 ] ], + "name": "silver infusion bracelet", + "name_plural": "silver infusion bracelets", + "description": "This bracelet has runes engraved on it. You sense a faint air of mysticism when you look at it. It would be useful for imbuing mana into material." + }, { "id": "copper_circlet", "type": "ARMOR", "category": "armor", "name": "copper circlet", "name_plural": "copper circlets", - "description": "A wooden band with copper trimmings to be worn on the head. Touching your temples with it on makes you feel very calm.", + "description": "A wooden band with copper trimmings to be worn on the head. Touching your temples with it on makes you feel very calm.", "weight": 700, "volume": "600ml", "price": 1500, @@ -87,7 +96,7 @@ "copy-from": "mixed_alcohol_strong", "type": "COMESTIBLE", "name": "potion starter", - "description": "Strong alcohol, infused with mana and concentrated into a liquid that can stabilize spells into liquid form. You can still drink it, if you want." + "description": "Strong alcohol, infused with mana and concentrated into a liquid that can stabilize spells into liquid form. You can still drink it, if you want." }, { "id": "adrenal_gland_large", @@ -95,7 +104,7 @@ "type": "COMESTIBLE", "name": "large adrenal gland", "name_plural": "large adrenal glands", - "description": "An organ located above the kidneys responsible for secretion of adrenaline, cortisol, and aldosterone. This one is huge, whether by nature or mutation.", + "description": "An organ located above the kidneys responsible for secretion of adrenaline, cortisol, and aldosterone. This one is huge, whether by nature or mutation.", "delete": { "flags": [ "SMOKABLE" ] }, "price": 2000 }, @@ -182,5 +191,21 @@ "charges": 1, "phase": "liquid", "freezing_point": -100 + }, + { + "id": "stirge_proboscis", + "type": "GENERIC", + "name": "stirge proboscis", + "name_plural": "stirge proboscises", + "description": "A long sucking apparatus harvested from stirge corpse. Makes a poor melee weapon.", + "volume": "100 ml", + "weight": "100 g", + "price": 2000, + "symbol": ",", + "color": "red", + "to_hit": -1, + "material": [ "flesh" ], + "cutting": 7, + "flags": [ "SPEAR", "SHEATH_KNIFE" ] } ] diff --git a/data/mods/Magiclysm/items/ammo_types.json b/data/mods/Magiclysm/items/ammo_types.json index ac2494a6c213e..9b77eb6ca4ed8 100644 --- a/data/mods/Magiclysm/items/ammo_types.json +++ b/data/mods/Magiclysm/items/ammo_types.json @@ -16,5 +16,11 @@ "id": "blood", "name": "blood", "default": "blood" + }, + { + "type": "ammunition_type", + "id": "arrow_orichalcum", + "name": "orichalcum arrow", + "default": "arrow_odin" } ] diff --git a/data/mods/Magiclysm/items/archery.json b/data/mods/Magiclysm/items/archery.json new file mode 100644 index 0000000000000..56a36af40d7cb --- /dev/null +++ b/data/mods/Magiclysm/items/archery.json @@ -0,0 +1,52 @@ +[ + { + "id": "ichaival", + "type": "GUN", + "looks_like": "reflexrecurvebow", + "symbol": "(", + "color": "white", + "name": "Ichaival", + "description": "Ichaival, the bow of Odin. Rumored to fire 10 arrows with every pull of the string. It has gold and silver ornaments on it, as well as an ornate Raven.", + "price": 160000, + "material": [ "orichalcum_metal", "gold", "wood" ], + "flags": [ "FIRE_TWOHAND", "STR_DRAW", "RELOAD_AND_SHOOT", "PRIMITIVE_RANGED_WEAPON", "BELTED", "WATER_FRIENDLY" ], + "skill": "archery", + "min_strength": 8, + "ammo": "arrow_orichalcum", + "weight": "740 g", + "volume": "5 L", + "bashing": 14, + "armor_data": { "covers": [ "TORSO" ], "coverage": 5, "material_thickness": 1, "encumbrance": 14 }, + "reload_noise_volume": 2, + "loudness": 5, + "ranged_damage": 25, + "range": 20, + "dispersion": 95, + "durability": 6, + "clip_size": 1, + "reload": 40, + "valid_mod_locations": [ [ "underbarrel", 1 ], [ "sights", 1 ], [ "accessories", 2 ], [ "stabilizer", 1 ], [ "dampening", 1 ] ] + }, + { + "type": "AMMO", + "id": "arrow_odin", + "price": 3500, + "name": "orichalcum arrow", + "symbol": "=", + "color": "white", + "description": "An arrow composed of a sliver of orichalcum. The arrow has a mysterious glow. Has a very high chance of staying intact when fired, however can only be fired from Ichaival.", + "material": [ "wood", "orichalcum_metal" ], + "ammo_type": "arrow_orichalcum", + "volume": "145 ml", + "weight": "30 g", + "bashing": 12, + "prop_damage": 1.95, + "pierce": 20, + "dispersion": 35, + "loudness": 0, + "range": 7, + "count": 15, + "stack_size": 15, + "effects": [ "RECOVER_65" ] + } +] diff --git a/data/mods/Magiclysm/items/black_dragon_items.json b/data/mods/Magiclysm/items/black_dragon_items.json index e2dd300488527..6d8646130231a 100644 --- a/data/mods/Magiclysm/items/black_dragon_items.json +++ b/data/mods/Magiclysm/items/black_dragon_items.json @@ -249,5 +249,182 @@ "material_thickness": 2, "environmental_protection": 1, "flags": [ "VARSIZE", "WATERPROOF", "STURDY" ] + }, + { + "id": "boots_xlblack_dragon_scale", + "copy-from": "boots_black_dragon_scale", + "type": "ARMOR", + "name": { "str": "pair of XL black dragonscale boots", "str_pl": "pairs of XL black dragonscale boots" }, + "description": "Massive boots made of black dragonscale, modified to fit even the strangest of bodies. Very protective, and surprisingly light.", + "weight": "1545 g", + "volume": "6250 ml", + "encumbrance": 40, + "flags": [ "OVERSIZE", "VARSIZE", "WATERPROOF", "STURDY" ] + }, + { + "id": "boots_xlblack_dragon_hide", + "copy-from": "boots_black_dragon_hide", + "type": "ARMOR", + "name": { "str": "pair of XL black dragonhide boots", "str_pl": "pairs of XL black dragonhide boots" }, + "description": "Massive boots made of black dragonhide, modified to fit even the strangest of bodies. Very protective, and surprisingly light.", + "weight": "955 g", + "volume": "6250 ml", + "encumbrance": 28, + "flags": [ "OVERSIZE", "VARSIZE", "WATERPROOF", "STURDY" ] + }, + { + "id": "helmet_xlblack_dragon_scale", + "copy-from": "helmet_black_dragon_scale", + "type": "ARMOR", + "name": "XL black dragonscale helmet", + "description": "A massive helmet made from black dragonscale, held together with black dragonhide. It comes equipped with a full face visor and is large enough to fit even the strangest of heads.", + "weight": "1256 g", + "volume": "4500 ml", + "encumbrance": 42, + "flags": [ "OVERSIZE", "VARSIZE", "WATERPROOF", "STURDY" ] + }, + { + "id": "helmet_xlblack_dragon_hide", + "copy-from": "helmet_black_dragon_hide", + "type": "ARMOR", + "name": "XL black dragonhide helmet", + "description": "A massive helmet made from black dragonhide. It protects your head well, and doesn't cover your face, but is large enough to fit even the strangest of heads.", + "weight": "815 g", + "volume": "4500 ml", + "encumbrance": 42, + "flags": [ "OVERSIZE", "VARSIZE", "WATERPROOF", "STURDY" ] + }, + { + "id": "suit_xlblack_dragon_scale", + "copy-from": "suit_black_dragon_scale", + "type": "ARMOR", + "name": "XL black dragonscale armor", + "description": "A massive full suit of black dragon scale mail. It comes with all the accoutrements that cover your torso, legs, and arms; sized to fit even the strangest of bodies.", + "weight": "6250 g", + "volume": "18 L", + "encumbrance": 35, + "flags": [ "OVERSIZE", "VARSIZE", "WATERPROOF", "RAINPROOF", "STURDY" ] + }, + { + "id": "suit_xlblack_dragon_hide", + "copy-from": "suit_black_dragon_hide", + "type": "ARMOR", + "name": "XL black dragonhide armor", + "description": "A massive full suit of black dragonhide armor. It comes with all the accoutrements that cover your torso, legs, and arms; sized to fit even the strangest of bodies.", + "weight": "5500 g", + "volume": "18 L", + "encumbrance": 28, + "flags": [ "OVERSIZE", "VARSIZE", "WATERPROOF", "RAINPROOF", "STURDY" ] + }, + { + "id": "gauntlets_xlblack_dragon_scale", + "copy-from": "gauntlets_black_dragon_scale", + "type": "ARMOR", + "name": { "str": "pair of XL black dragonscale gauntlets", "str_pl": "pairs of XL black dragonscale gauntlets" }, + "description": "A pair of heavy-duty gauntlets made of black dragonscale that covers your hands, or whatever you use as hands.", + "weight": "680 g", + "volume": "2 L", + "encumbrance": 30, + "flags": [ "OVERSIZE", "VARSIZE", "WATERPROOF", "STURDY" ] + }, + { + "id": "gloves_xlblack_dragon_hide", + "copy-from": "gloves_black_dragon_hide", + "type": "ARMOR", + "name": { "str": "pair of XL black dragonhide gloves", "str_pl": "pairs of XL black dragonhide gloves" }, + "description": "A pair of customized, Kevlar armored leather gloves, modified to be easy to wear while providing maximum protection under extreme conditions. Sized to fit even the strangest of anatomy.", + "weight": "430 g", + "volume": "1500 ml", + "encumbrance": 18, + "flags": [ "OVERSIZE", "VARSIZE", "WATERPROOF", "STURDY" ] + }, + { + "id": "boots_xlblack_dragon_scale", + "copy-from": "boots_black_dragon_scale", + "type": "ARMOR", + "name": { "str": "pair of XL black dragonscale boots", "str_pl": "pairs of XL black dragonscale boots" }, + "description": "Massive boots made of black dragonscale, modified to fit even the strangest of bodies. Very protective, and surprisingly light.", + "weight": "1545 g", + "volume": "6250 ml", + "encumbrance": 40, + "flags": [ "OVERSIZE", "VARSIZE", "WATERPROOF", "STURDY" ] + }, + { + "id": "boots_xlblack_dragon_hide", + "copy-from": "boots_black_dragon_hide", + "type": "ARMOR", + "name": { "str": "pair of XL black dragonhide boots", "str_pl": "pairs of XL black dragonhide boots" }, + "description": "Massive boots made of black dragonhide, modified to fit even the strangest of bodies. Very protective, and surprisingly light.", + "weight": "955 g", + "volume": "6250 ml", + "encumbrance": 28, + "flags": [ "OVERSIZE", "VARSIZE", "WATERPROOF", "STURDY" ] + }, + { + "id": "helmet_xlblack_dragon_scale", + "copy-from": "helmet_black_dragon_scale", + "type": "ARMOR", + "name": "XL black dragonscale helmet", + "description": "A massive helmet made from black dragonscale, held together with black dragonhide. It comes equipped with a full face visor and is large enough to fit even the strangest of heads.", + "weight": "1256 g", + "volume": "4500 ml", + "encumbrance": 42, + "flags": [ "OVERSIZE", "VARSIZE", "WATERPROOF", "STURDY" ] + }, + { + "id": "helmet_xlblack_dragon_hide", + "copy-from": "helmet_black_dragon_hide", + "type": "ARMOR", + "name": "XL black dragonhide helmet", + "description": "A massive helmet made from black dragonhide. It protects your head well, and doesn't cover your face, but is large enough to fit even the strangest of heads.", + "weight": "815 g", + "volume": "4500 ml", + "encumbrance": 42, + "flags": [ "OVERSIZE", "VARSIZE", "WATERPROOF", "STURDY" ] + }, + { + "id": "suit_xlblack_dragon_scale", + "copy-from": "suit_black_dragon_scale", + "type": "ARMOR", + "name": "XL black dragonscale armor", + "description": "A massive full suit of black dragon scale mail. It comes with all the accoutrements that cover your torso, legs, and arms; sized to fit even the strangest of bodies.", + "weight": "6250 g", + "volume": "18 L", + "encumbrance": 35, + "flags": [ "OVERSIZE", "VARSIZE", "WATERPROOF", "RAINPROOF", "STURDY" ] + }, + { + "id": "suit_xlblack_dragon_hide", + "copy-from": "suit_black_dragon_hide", + "type": "ARMOR", + "name": "XL black dragonhide armor", + "description": "A massive full suit of black dragonhide armor. It comes with all the accoutrements that cover your torso, legs, and arms; sized to fit even the strangest of bodies.", + "weight": "5500 g", + "volume": "18 L", + "encumbrance": 28, + "flags": [ "OVERSIZE", "VARSIZE", "WATERPROOF", "RAINPROOF", "STURDY" ] + }, + { + "id": "gauntlets_xlblack_dragon_scale", + "copy-from": "gauntlets_black_dragon_scale", + "type": "ARMOR", + "name": { "str": "pair of XL black dragonscale gauntlets", "str_pl": "pairs of XL black dragonscale gauntlets" }, + "description": "A pair of heavy-duty gauntlets made of black dragonscale that covers your hands, or whatever you use as hands.", + "weight": "680 g", + "volume": "2 L", + "encumbrance": 30, + "flags": [ "OVERSIZE", "VARSIZE", "WATERPROOF", "STURDY" ] + }, + { + "id": "gloves_xlblack_dragon_hide", + "copy-from": "gloves_black_dragon_hide", + "type": "ARMOR", + "name": { "str": "pair of XL black dragonhide gloves", "str_pl": "pairs of XL black dragonhide gloves" }, + "description": "A pair of customized, Kevlar armored leather gloves, modified to be easy to wear while providing maximum protection under extreme conditions. Sized to fit even the strangest of anatomy.", + "weight": "430 g", + "volume": "1500 ml", + "price": 180000, + "encumbrance": 18, + "flags": [ "OVERSIZE", "VARSIZE", "WATERPROOF", "STURDY" ] } ] diff --git a/data/mods/Magiclysm/items/cast_spell_items.json b/data/mods/Magiclysm/items/cast_spell_items.json index 0c7149b97a50c..ca6421c45135b 100644 --- a/data/mods/Magiclysm/items/cast_spell_items.json +++ b/data/mods/Magiclysm/items/cast_spell_items.json @@ -85,7 +85,7 @@ { "id": "animist_doll_zombie", "name": "zombie voodoo doll", - "description": "A remarkably accurate effigy of an undead human, including pieces of bone and organs. Necromantic magic delays immediate rot, but it won't last forever. Piercing it with the attached needle could compel it to serve you.", + "description": "A remarkably accurate effigy of an undead human, including pieces of bone and organs. Necromantic magic delays immediate rot, but it won't last forever. Piercing it with the attached needle could compel it to serve you.", "use_action": { "type": "cast_spell", "spell_id": "summon_zombie", "no_fail": true, "level": 12 }, "type": "COMESTIBLE", "comestible_type": "FOOD", @@ -102,7 +102,7 @@ { "id": "animist_doll_skeleton", "name": "ossified voodoo doll", - "description": "A remarkably accurate effigy of an undead human covered with bone, including pieces of organs. Necromantic magic delays immediate rot, but it won't last forever. Piercing it with the attached needle could compel it to serve you.", + "description": "A remarkably accurate effigy of an undead human covered with bone, including pieces of organs. Necromantic magic delays immediate rot, but it won't last forever. Piercing it with the attached needle could compel it to serve you.", "use_action": { "type": "cast_spell", "spell_id": "summon_skeleton", "no_fail": true, "level": 10 }, "type": "COMESTIBLE", "category": "weapons", @@ -111,7 +111,7 @@ { "id": "animist_doll_decayed_pouncer", "name": "cougar voodoo doll", - "description": "A remarkably accurate effigy of an undead cougar, complete with fur, bones, and organs. Necromantic magic delays immediate rot, but it won't last forever. Piercing it with the attached needle could compel it to serve you.", + "description": "A remarkably accurate effigy of an undead cougar, complete with fur, bones, and organs. Necromantic magic delays immediate rot, but it won't last forever. Piercing it with the attached needle could compel it to serve you.", "use_action": { "type": "cast_spell", "spell_id": "summon_decayed_pouncer", "no_fail": true, "level": 13 }, "type": "COMESTIBLE", "category": "weapons", @@ -121,7 +121,7 @@ { "id": "twisted_restore_potion", "name": "potion of Twisted Restoration", - "description": "This foul-smelling liquid simulates undead regeneration by accelerating your heart to dangerous levels. Drinking this in danger or at critical condition may be lethal.", + "description": "This foul-smelling liquid simulates undead regeneration by accelerating your heart to dangerous levels. Drinking this in danger or at critical condition may be lethal.", "use_action": { "type": "cast_spell", "spell_id": "twisted_restore", "no_fail": true, "level": 1 }, "type": "COMESTIBLE", "weight": 265, @@ -144,7 +144,7 @@ { "id": "twisted_restore_potion_improved", "name": "potion of Improved Twisted Restoration", - "description": "This foul-smelling liquid simulates undead regeneration by accelerating your heart to dangerous levels. Drinking this in danger or at critical condition may be lethal. Improved infusion techniques lessen the strain of the process.", + "description": "This foul-smelling liquid simulates undead regeneration by accelerating your heart to dangerous levels. Drinking this in danger or at critical condition may be lethal. Improved infusion techniques lessen the strain of the process.", "use_action": { "type": "cast_spell", "spell_id": "twisted_restore_improved", "no_fail": true, "level": 1 }, "type": "COMESTIBLE", "copy-from": "twisted_restore_potion" diff --git a/data/mods/Magiclysm/items/class_runes.json b/data/mods/Magiclysm/items/class_runes.json index df61eb388a5f2..12faf2cb22677 100644 --- a/data/mods/Magiclysm/items/class_runes.json +++ b/data/mods/Magiclysm/items/class_runes.json @@ -11,25 +11,6 @@ "material": "stone", "flags": "TRADER_AVOID" }, - { - "id": "rune_biomancer_weapon", - "type": "GENERIC", - "name": "Biomancer spear", - "//": "Effectively a durable stone spear +1 with IMPALE tech. based off Wicked Bonespear. Lorewise, it would make sense for novice Biomancers to be developing their skills in spears so they can adequately use the Bonespear(No whips/REACH3 for you!) once they're proficient enough to summon one. Should be weaker than other school weapons DPSwise due to reach.", - "description": "A grotesque bone spearhead on a stout wooden pole. There is a Biomancer rune embedded at the base of the head.", - "weight": 988, - "volume": "1250 ml", - "price": 3900, - "to_hit": 2, - "bashing": 6, - "cutting": 15, - "material": [ "wood", "bone" ], - "symbol": "/", - "color": "light_gray", - "techniques": [ "WBLOCK_1", "IMPALE" ], - "qualities": [ [ "COOK", 1 ] ], - "flags": [ "SPEAR", "REACH_ATTACK", "DURABLE_MELEE", "SHEATH_SPEAR", "TRADER_AVOID", "MAGIC_FOCUS" ] - }, { "id": "rune_technomancer", "type": "TOOL", @@ -42,25 +23,6 @@ "material": "stone", "flags": "TRADER_AVOID" }, - { - "id": "rune_technomancer_weapon", - "type": "GENERIC", - "name": "Technomancer toolbar", - "//": "Combat stats based off crowbar +1, techniques off Halligan bar(closest non-magical substitute), weight based on 75% of hammer & wrench(since their handles aren't included) + 100% crowbar with benefit from +1 enchantment", - "description": "This staff incorporates a sturdy cresent wrench on top of a prybar and a hammer on the other in a convienent package. There is a Technomancer rune embedded in the hammerhead.", - "weight": 1536, - "volume": "1750 ml", - "price": 3900, - "to_hit": 1, - "bashing": 15, - "cutting": 1, - "material": [ "steel" ], - "symbol": "/", - "color": "light_gray", - "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ], - "qualities": [ [ "PRY", 3 ], [ "HAMMER", 3 ], [ "HAMMER_FINE", 1 ], [ "WRENCH", 2 ], [ "WRENCH_FINE", 2 ] ], - "flags": [ "DURABLE_MELEE", "BELT_CLIP", "TRADER_AVOID", "MAGIC_FOCUS" ] - }, { "id": "rune_magus", "type": "TOOL", @@ -74,24 +36,6 @@ "material": "stone", "flags": "TRADER_AVOID" }, - { - "id": "rune_magus_weapon", - "type": "GENERIC", - "name": "Magus staff", - "name_plural": "Magus staves", - "//": "The classical vision of the wizard gets a classic weapon. DPS Stats are between the regular and ironshod versions. Stats are slightly worse than the QS+1 due to the glass weight slowing attack speed.", - "description": "A quarterstaff with runes carved into it and two glass jars, heat-tempered and infused with mana for durability, to act as mana receptacles. There are two Magi runes embedded at the tips.", - "weight": 1530, - "volume": "1500 ml", - "price": 3900, - "to_hit": 2, - "bashing": 20, - "material": [ "wood", "diamond" ], - "symbol": "/", - "color": "brown", - "techniques": [ "WBLOCK_2", "RAPID", "SWEEP" ], - "flags": [ "DURABLE_MELEE", "SHEATH_SPEAR", "TRADER_AVOID", "MAGIC_FOCUS" ] - }, { "id": "rune_earthshaper", "type": "TOOL", @@ -104,24 +48,6 @@ "material": "stone", "flags": "TRADER_AVOID" }, - { - "type": "GENERIC", - "id": "rune_earthshaper_weapon", - "symbol": "3", - "color": "light_gray", - "name": "Earthshaper cestus", - "name_plural": "Earthshaper cesti", - "//": "Equivalent to cestus +1 with BRUTAL and WBLOCK1", - "description": "A stone battle glove with carved runes encasing the hand, protecting it while increasing striking power. There is an Earthshaper rune embedded in the palm.", - "material": [ "stone", "leather", "steel" ], - "volume": "500 ml", - "weight": 873, - "bashing": 13, - "to_hit": 1, - "qualities": [ [ "HAMMER", 1 ] ], - "techniques": [ "WBLOCK_1", "BRUTAL" ], - "flags": [ "UNARMED_WEAPON", "DURABLE_MELEE", "TRADER_AVOID", "MAGIC_FOCUS" ] - }, { "id": "rune_kelvinist", "type": "TOOL", @@ -134,26 +60,6 @@ "material": "stone", "flags": "TRADER_AVOID" }, - { - "id": "rune_kelvinist_weapon", - "type": "GENERIC", - "name": "Kelvinist flamberge", - "//": "Flame-bladed sword covers half of Kelvinist's heat-cold theme. Combat stats equivalent to cutlass +1 with BRUTAL technique.", - "description": "A sword with an undulating blade, reminiscent of a flame. There is a Kelvinist rune embedded in the pommel.", - "weight": 1530, - "volume": "1250 ml", - "price": 3900, - "to_hit": 3, - "bashing": 7, - "cutting": 29, - "material": [ "wood", "steel" ], - "symbol": "/", - "color": "light_gray", - "techniques": [ "WBLOCK_2", "BRUTAL" ], - "qualities": [ [ "CUT", 1 ], [ "BUTCHER", 9 ] ], - "use_action": "WEATHER_TOOL", - "flags": [ "DURABLE_MELEE", "SHEATH_SWORD", "TRADER_AVOID", "MAGIC_FOCUS", "THERMOMETER" ] - }, { "id": "rune_stormshaper", "type": "TOOL", @@ -166,26 +72,6 @@ "material": "stone", "flags": "TRADER_AVOID" }, - { - "id": "rune_stormshaper_weapon", - "type": "GENERIC", - "name": "Stormshaper axe", - "//": "Equivalent to copper ax +1, with volume reduction so it can be sheathed like the other school weapons. Metals chosen for being two most conductive metals + balancing reasons", - "description": "A forged copper axe with silver trimmings and a wooden handle. There is a Stormshaper rune embedded in the eye.", - "weight": 3330, - "volume": "2 L", - "price": 3900, - "to_hit": 3, - "bashing": 19, - "cutting": 13, - "material": [ "wood", "copper", "silver" ], - "symbol": "/", - "color": "brown", - "techniques": [ "WBLOCK_1", "BRUTAL", "SWEEP" ], - "qualities": [ [ "AXE", 1 ], [ "BUTCHER", -20 ] ], - "use_action": "WEATHER_TOOL", - "flags": [ "DURABLE_MELEE", "BELT_CLIP", "TRADER_AVOID", "MAGIC_FOCUS", "HYGROMETER", "BAROMETER" ] - }, { "id": "rune_druid", "type": "TOOL", @@ -198,44 +84,6 @@ "material": "stone", "flags": "TRADER_AVOID" }, - { - "id": "rune_druid_weapon", - "type": "GUN", - "symbol": "(", - "color": "yellow", - "name": "Druid composite bow", - "//": "Equivalent to composite bow +1 for dispersion/reload/weight/range/encumb/bash, with two mod slots added equivalent to other weapons getting techniques", - "description": "A bow made of multiple materials to maximize energy efficiency. There are two Druid runes embedded at the tips.", - "price": 32000, - "material": [ "wood", "bone" ], - "flags": [ - "FIRE_TWOHAND", - "STR_DRAW", - "RELOAD_AND_SHOOT", - "PRIMITIVE_RANGED_WEAPON", - "BELTED", - "TRADER_AVOID", - "MAGIC_FOCUS", - "DURABLE_MELEE", - "WATER_FRIENDLY" - ], - "skill": "archery", - "min_strength": 5, - "ammo": "arrow", - "weight": 360, - "volume": "1750 ml", - "bashing": 9, - "armor_data": { "covers": [ "TORSO" ], "coverage": 5, "material_thickness": 1, "encumbrance": 13 }, - "reload_noise_volume": 3, - "loudness": 6, - "ranged_damage": 5, - "range": 13, - "dispersion": 135, - "durability": 7, - "clip_size": 1, - "reload": 32, - "valid_mod_locations": [ [ "sights", 1 ], [ "accessories", 1 ], [ "dampening", 1 ] ] - }, { "id": "rune_animist", "type": "TOOL", @@ -248,25 +96,6 @@ "material": "stone", "flags": "TRADER_AVOID" }, - { - "id": "rune_animist_weapon", - "type": "GENERIC", - "name": "Animist athame", - "name_plural": "Animist athames", - "//": "Tool qualities equivalent to steak knife, combat equiv. to copper knife + 1 w/ RAPID and BLOCK1, size/weight off combat knife +1", - "description": "A steel ritual knife used by Animists to draw blood for summoning. Their school rune is embedded in the crossguard.", - "weight": 504, - "volume": "500 ml", - "price": 3000, - "bashing": 2, - "cutting": 13, - "material": [ "wood", "steel" ], - "symbol": ";", - "color": "light_gray", - "techniques": [ "WBLOCK_1", "PRECISE" ], - "qualities": [ [ "CUT", 1 ], [ "CUT_FINE", 1 ], [ "BUTCHER", 11 ] ], - "flags": [ "STAB", "SHEATH_KNIFE", "MAGIC_FOCUS", "TRADER_AVOID" ] - }, { "id": "rune_alchemist", "type": "TOOL", diff --git a/data/mods/Magiclysm/items/comestibles.json b/data/mods/Magiclysm/items/comestibles.json index 2cf55a84e0a25..db085283f0146 100644 --- a/data/mods/Magiclysm/items/comestibles.json +++ b/data/mods/Magiclysm/items/comestibles.json @@ -47,7 +47,7 @@ "symbol": "0", "name": "hairball", "name_plural": "hairballs", - "description": "A big, ugly ball of animal spit and licked-off hairs. Don't swallow it.", + "description": "A big, ugly ball of animal spit and licked-off hairs. Don't swallow it.", "price": 0, "flags": [ "TRADER_AVOID", "EDIBLE_FROZEN" ], "fun": -20 @@ -60,5 +60,13 @@ "name_plural": "dragon meat", "description": "The meat from a slain dragon. It does not seem to respond to cooking the same way as other meat, making it obvious that it still retains some magical properties.", "parasites": 0 + }, + { + "id": "scream_mush", + "type": "COMESTIBLE", + "copy-from": "mushroom", + "name": "scream mushroom", + "description": "The mushrooms harvested from a dead shrieker. Could be used in potions.", + "price": 1400 } ] diff --git a/data/mods/Magiclysm/items/ethereal_items.json b/data/mods/Magiclysm/items/ethereal_items.json index b377d5218a4fa..c31f505814bdf 100644 --- a/data/mods/Magiclysm/items/ethereal_items.json +++ b/data/mods/Magiclysm/items/ethereal_items.json @@ -343,5 +343,37 @@ "initial_charges": 15, "max_charges": 15, "use_action": "WATER_PURIFIER" + }, + { + "id": "acid_res_aura", + "type": "ARMOR", + "name": "acid resistance aura", + "description": "An all-encompassing, invisible layer of protection against acid.", + "weight": "1g", + "volume": "1ml", + "price": 3646, + "symbol": "o", + "color": "green", + "covers": [ "LEGS", "TORSO", "ARMS", "HANDS", "HEAD", "FEET", "MOUTH", "EYES" ], + "flags": [ "AURA", "SEMITANGIBLE", "OVERSIZE", "ONLY_ONE", "TRADER_AVOID", "NO_TAKEOFF", "NONCONDUCTIVE" ], + "relic_data": { + "passive_effects": [ { "has": "WORN", "condition": "ALWAYS", "values": [ { "value": "ARMOR_ACID", "multiply": -0.25 } ] } ] + } + }, + { + "id": "acid_res_aura_greater", + "type": "ARMOR", + "name": "greater acid resistance aura", + "description": "An all-encompassing, invisible layer of protection against acid.", + "weight": "1g", + "volume": "1ml", + "price": 3646, + "symbol": "o", + "color": "green", + "covers": [ "LEGS", "TORSO", "ARMS", "HANDS", "HEAD", "FEET", "MOUTH", "EYES" ], + "flags": [ "AURA", "SEMITANGIBLE", "OVERSIZE", "ONLY_ONE", "TRADER_AVOID", "NO_TAKEOFF", "NONCONDUCTIVE" ], + "relic_data": { + "passive_effects": [ { "has": "WORN", "condition": "ALWAYS", "values": [ { "value": "ARMOR_ACID", "multiply": -0.6 } ] } ] + } } ] diff --git a/data/mods/Magiclysm/items/mana_crystals.json b/data/mods/Magiclysm/items/mana_crystals.json index 1685b7d223512..aa3fa655e26df 100644 --- a/data/mods/Magiclysm/items/mana_crystals.json +++ b/data/mods/Magiclysm/items/mana_crystals.json @@ -14,7 +14,7 @@ "name_plural": "crystallized mana", "symbol": "=", "color": "yellow", - "description": "Some crystallized mana. This can be reloaded into rechargable mana crystals, but can never be unloaded.", + "description": "Some crystallized mana. This can be reloaded into rechargable mana crystals, but can never be unloaded.", "flags": "TRADER_AVOID", "volume": "100 ml", "ammo_type": "crystallized_mana", diff --git a/data/mods/Magiclysm/items/melee.json b/data/mods/Magiclysm/items/melee.json new file mode 100644 index 0000000000000..dc9b819a0d388 --- /dev/null +++ b/data/mods/Magiclysm/items/melee.json @@ -0,0 +1,58 @@ +[ + { + "id": "mjolnir", + "copy-from": "warhammer", + "type": "GENERIC", + "name": "Mjölnir", + "description": "Mjölnir, the legendary hammer of Thor. It is rumored to be able to level mountains with a single blow. You feel the power of Asgard coursing through the hammer.", + "weight": 1731, + "color": "light_gray", + "material": [ "orichalcum_metal", "wood", "gold" ], + "techniques": [ "WBLOCK_2", "BRUTAL" ], + "volume": 15, + "bashing": 45, + "price": 200000 + }, + { + "id": "gungnir", + "copy-from": "spear_steel", + "type": "GENERIC", + "name": "Gungnir", + "description": "Gungnir, the spear of Odin. It is rumored to be the perfect spear, perfectly hitting any target regardless of the wielder's strength or skill. If feels like Odin's protecting you.", + "weight": 1854, + "material": [ "orichalcum_metal", "wood", "gold" ], + "techniques": [ "WBLOCK_1", "IMPALE", "SWEEP" ], + "volume": 13, + "bashing": 10, + "cutting": 35, + "price": 200000 + }, + { + "id": "gram", + "copy-from": "jian", + "type": "GENERIC", + "name": "Gram", + "description": "Gram, the sword of Sigurd. It is rumored to be the sword that slayed the legendary dragon, Fafnir. Once said to have cleaved Regin's anvil in half, the edge is impeccable.", + "weight": 1132, + "material": [ "orichalcum_metal", "steel", "leather" ], + "techniques": [ "WBLOCK_2", "PRECISE", "VORPAL" ], + "volume": 10, + "cutting": 45, + "price": 200000 + }, + { + "id": "laevateinn", + "copy-from": "i_staff", + "type": "GENERIC", + "name": "Laevateinn", + "description": "Laevateinn, the staff of Loki. Said to have been plucked from the gates of Hel by Loki. Imbued with a mysterious magic, the magic of the trickster god himself.", + "price": 160000, + "material": [ "steel", "gold", "orichalcum_metal" ], + "flags": [ "MAGIC_FOCUS" ], + "techniques": [ "WBLOCK_2", "SPIN", "RAPID", "SWEEP" ], + "weight": 1860, + "bashing": 20, + "cutting": 35, + "use_action": { "type": "cast_spell", "spell_id": "ethereal_grasp", "no_fail": true, "level": 10, "need_wielding": true } + } +] diff --git a/data/mods/Magiclysm/items/metals.json b/data/mods/Magiclysm/items/metals.json new file mode 100644 index 0000000000000..b9e2cec3a3231 --- /dev/null +++ b/data/mods/Magiclysm/items/metals.json @@ -0,0 +1,40 @@ +[ + { + "id": "orichalcum_lump", + "type": "AMMO", + "category": "spare_parts", + "name": "lump of orichalcum", + "description": "A heavy formed piece of strange metal. Useful for some crafting recipes.", + "weight": "1000 g", + "volume": "250 ml", + "price": 2500, + "bashing": 12, + "to_hit": -4, + "stack_size": 2, + "//": "Density 7.60g/cm³ ~ 1.9kg/250ml @ 1000g/unit ~ stack 2 and formed as a solid ingot so 100% of this", + "material": "orichalcum_metal", + "symbol": ",", + "color": "light_green", + "ammo_type": "components", + "qualities": [ [ "HAMMER", 1 ] ] + }, + { + "id": "orichalcum_sliver", + "type": "AMMO", + "category": "spare_parts", + "name": "sliver of orichalcum", + "description": "A sliver of a strange glowing metal. Useful as a weapon, but better suited for crafting.", + "weight": "250 g", + "volume": "250 ml", + "price": 1000, + "bashing": 8, + "to_hit": -2, + "stack_size": 4, + "//": "Density 7.60g/cm³ ~ 1.9kg/250ml @ 250g/unit ~ stack 8 but mishapen so only 50% of this", + "material": "orichalcum_metal", + "symbol": ",", + "color": "light_green", + "ammo_type": "components", + "qualities": [ [ "CUT", 1 ] ] + } +] diff --git a/data/mods/Magiclysm/items/recipe_books.json b/data/mods/Magiclysm/items/recipe_books.json index ce77a230f1960..eb689e4c22297 100644 --- a/data/mods/Magiclysm/items/recipe_books.json +++ b/data/mods/Magiclysm/items/recipe_books.json @@ -2,9 +2,9 @@ { "id": "black_dragons", "type": "BOOK", - "name": "Black Dragons: Swamp Ruins", + "name": { "str": "Black Dragons: Swamp Ruins", "str_pl": "copies of Black Dragons: Swamp Ruins" }, "description": "This book details black dragons: The most evil of dragons, who live in ruins generally in swamps. Immune to acid and breathe acid. The book also details how to prepare its hide and craft various armors that make use of some of its acid resistance.", - "weight": 1000, + "weight": "1 kg", "volume": "750 ml", "price": 7900, "bashing": 5, @@ -21,10 +21,10 @@ { "id": "alchemy_basic", "type": "BOOK", - "name": "A Beginner's Guide to Alchemy", + "name": { "str": "A Beginner's Guide to Alchemy", "str_pl": "copies of A Beginner's Guide to Alchemy" }, "description": "A paperback tome for the art of liquid magic, alcohol not included.", - "weight": 1000, - "volume": 3, + "weight": "1 kg", + "volume": "750 ml", "price": 7900, "bashing": 5, "material": [ "paper" ], @@ -40,10 +40,10 @@ { "id": "necro_basic", "type": "BOOK", - "name": "A Soulbinder's Guide to Necromancy", + "name": { "str": "A Soulbinder's Guide to Necromancy", "str_pl": "copies of A Soulbinder's Guide to Necromancy" }, "description": "A paperback tome for the art of binding undead creatures' souls to dolls, along with emulating their healing factor.", - "weight": 1000, - "volume": 3, + "weight": "1 kg", + "volume": "750 ml", "price": 7900, "bashing": 5, "material": [ "paper" ], @@ -56,5 +56,43 @@ "intelligence": 9, "time": "20 m", "fun": -2 + }, + { + "id": "techno_basic", + "type": "BOOK", + "name": { "str": "Magitek Illustrated", "str_pl": "copies of Magitek Illustrated" }, + "description": "A paperback tome for the art of combining modern technology with magic. There is a disclaimer on the back: `Cannith Industries bears no responsibility for malfunctions or accidents for any products mentioned herein`.", + "weight": "1 kg", + "volume": "750 ml", + "price": 7900, + "bashing": 5, + "material": [ "paper" ], + "symbol": "?", + "color": "black", + "looks_like": "manual_gun", + "skill": "mechanics", + "required_level": 3, + "max_level": 5, + "intelligence": 9, + "time": "20 m", + "fun": 1 + }, + { + "id": "book_mythological", + "type": "BOOK", + "name": { "str": "The Weapons of Asgard and Beyond", "str_pl": "copies of The Weapons of Asgard and Beyond" }, + "max_level": 10, + "description": "An ornate book which appears to be written in Norse runes. Based on the detailed illustrations, it appears to contain information about crafting numerous weapons used by various Gods.", + "weight": 654, + "color": "light_blue", + "intelligence": 9, + "symbol": "?", + "material": [ "paper" ], + "volume": 5, + "time": 60, + "fun": 0, + "skill": "fabrication", + "price": 30000, + "required_level": 8 } ] diff --git a/data/mods/Magiclysm/items/spell_scrolls.json b/data/mods/Magiclysm/items/spell_scrolls.json index 671854bd9c9d6..9056ceab8cbfe 100644 --- a/data/mods/Magiclysm/items/spell_scrolls.json +++ b/data/mods/Magiclysm/items/spell_scrolls.json @@ -151,7 +151,7 @@ "copy-from": "spell_scroll", "id": "spell_scroll_blinding_flash", "name": "Scroll of Blinding Flash", - "description": "Blind enemies for a short time with a sudden, dazzling light. Higher levels deal slightly higher damage.", + "description": "Blind enemies for a short time with a sudden, dazzling light. Higher levels deal slightly higher damage.", "use_action": { "type": "learn_spell", "spells": [ "blinding_flash" ] } }, { @@ -159,7 +159,7 @@ "copy-from": "spell_scroll", "id": "spell_scroll_ethereal_grasp", "name": "Scroll of Ethereal Grasp", - "description": "A mass of spectral hands emerge from the ground, slowing everything in range. Higher levels allow a bigger AoE, and longer effect.", + "description": "A mass of spectral hands emerge from the ground, slowing everything in range. Higher levels allow a bigger AoE, and longer effect.", "use_action": { "type": "learn_spell", "spells": [ "ethereal_grasp" ] } }, { @@ -615,15 +615,39 @@ "copy-from": "spell_scroll", "id": "spell_scroll_purification_seed", "name": "Scroll of Purification Seed", - "description": "You summon a gift of the earth which will purify water. Greater levels yield greater numbers of seeds.", + "description": "You summon a gift of the earth which will purify water. Greater levels yield greater numbers of seeds.", "use_action": { "type": "learn_spell", "spells": [ "purify_seed" ] } }, + { + "type": "GENERIC", + "copy-from": "spell_scroll", + "id": "spell_scroll_x-ray", + "name": "Scroll of X-ray Vision", + "description": "You fire a cone of X-rays that magically allow you to see that area for a short time.", + "use_action": { "type": "learn_spell", "spells": [ "x-ray" ] } + }, + { + "type": "GENERIC", + "copy-from": "spell_scroll", + "id": "spell_scroll_clairvoyance", + "name": "Scroll of Clairvoyance", + "description": "You close your eyes and the earth surrenders its secrets to you.", + "use_action": { "type": "learn_spell", "spells": [ "clairvoyance" ] } + }, { "type": "GENERIC", "copy-from": "spell_scroll", "id": "spell_scroll_lava_bomb", "name": "Scroll of Lava Bomb", "description": "You tear up the ground beneath you to fire a lava bomb: a globe of lava surrounded by hot, solid rock. It shatters upon impact, spraying shards of rock and lava everywhere.", - "use_action": { "type": "learn_spell", "spell": [ "lava_bomb" ] } + "use_action": { "type": "learn_spell", "spells": [ "lava_bomb_main" ] } + }, + { + "type": "GENERIC", + "copy-from": "spell_scroll", + "id": "spell_scroll_acid_resistance", + "name": "Scroll of Acid Resistance", + "description": "This spell creates an invisible aura to protect you from acid.", + "use_action": { "type": "learn_spell", "spells": [ "acid_resistance" ] } } ] diff --git a/data/mods/Magiclysm/martialarts.json b/data/mods/Magiclysm/martialarts.json index 9af276df1b20d..30d967a15f71c 100644 --- a/data/mods/Magiclysm/martialarts.json +++ b/data/mods/Magiclysm/martialarts.json @@ -14,7 +14,8 @@ "gauntlet_pounding", "stonefist", "stormglove", - "rune_earthshaper_weapon" + "rune_earthshaper_weapon", + "shotcestus" ] } }, @@ -39,7 +40,10 @@ "kukri_plus_two", "tanto_plus_one", "tanto_plus_two", - "rune_animist_weapon" + "rune_animist_weapon", + "springstaff-retracted", + "mjolnir", + "gram" ] } }, @@ -57,7 +61,8 @@ "cavalry_sabre_plus_one", "cavalry_sabre_plus_two", "broadsword_plus_one", - "broadsword_plus_two" + "broadsword_plus_two", + "springstaff-retracted" ] } }, @@ -101,7 +106,8 @@ "gauntlet_pounding", "stonefist", "stormglove", - "rune_earthshaper_weapon" + "rune_earthshaper_weapon", + "shotcestus" ] } }, @@ -126,7 +132,10 @@ "kukri_plus_two", "tanto_plus_one", "tanto_plus_two", - "rune_animist_weapon" + "rune_animist_weapon", + "m47a1", + "springstaff-retracted", + "gram" ] } }, @@ -147,7 +156,9 @@ "longsword_plus_two", "zweihander_plus_one", "zweihander_plus_two", - "rune_kelvinist_weapon" + "rune_kelvinist_weapon", + "gunblade", + "gram" ] } }, @@ -204,7 +215,9 @@ "wakizashi_plus_two", "rune_animist_weapon", "rune_kelvinist_weapon", - "rune_magus_weapon" + "rune_magus_weapon", + "springstaff-extended", + "gunblade" ] } }, @@ -258,7 +271,11 @@ "rune_animist_weapon", "rune_biomancer_weapon", "rune_magus_weapon", - "bonespear" + "bonespear", + "springstaff-retracted", + "springstaff-extended", + "gungnir", + "laevateinn" ] } }, @@ -280,7 +297,8 @@ "qiang_plus_one", "qiang_plus_two", "rune_biomancer_weapon", - "bonespear" + "bonespear", + "gungnir" ] } } diff --git a/data/mods/Magiclysm/materials.json b/data/mods/Magiclysm/materials.json index afccb7f4ba88b..b66e3b81aa344 100644 --- a/data/mods/Magiclysm/materials.json +++ b/data/mods/Magiclysm/materials.json @@ -38,5 +38,26 @@ "dmg_adj": [ "scratched", "cut", "cracked", "shattered" ], "bash_dmg_verb": "cracked", "cut_dmg_verb": "chipped" + }, + { + "type": "material", + "ident": "orichalcum_metal", + "name": "Orichalcum", + "density": 40, + "bash_resist": 13, + "specific_heat_liquid": 0.82, + "specific_heat_solid": 0.45, + "latent_heat": 273, + "cut_resist": 20, + "acid_resist": 7, + "fire_resist": 3, + "elec_resist": 0, + "chip_resist": 40, + "repaired_with": "scrap", + "dmg_adj": [ "marked", "dented", "smashed", "shattered" ], + "bash_dmg_verb": "dented", + "cut_dmg_verb": "scratched", + "burn_products": [ [ "scrap", 1 ] ], + "compacts_into": [ "orichalcum_lump", "orichalcum_sliver" ] } ] diff --git a/data/mods/Magiclysm/modinfo.json b/data/mods/Magiclysm/modinfo.json index ac1baa1a889ad..f965385424706 100644 --- a/data/mods/Magiclysm/modinfo.json +++ b/data/mods/Magiclysm/modinfo.json @@ -3,7 +3,7 @@ "type": "MOD_INFO", "ident": "magiclysm", "name": "Magiclysm", - "authors": [ "KorGgenT", "Aptronym" ], + "authors": [ "KorGgenT", "Aptronym", "LaVeyanFiend" ], "maintainers": [ "KorGgenT" ], "description": "Cataclysm but with magic spells!", "category": "content", diff --git a/data/mods/Magiclysm/monstergroups.json b/data/mods/Magiclysm/monstergroups.json index 1c9e8c4c8a766..db3ca3ab1bb18 100644 --- a/data/mods/Magiclysm/monstergroups.json +++ b/data/mods/Magiclysm/monstergroups.json @@ -24,6 +24,7 @@ "is_animal": true, "monsters": [ { "monster": "mon_black_pudding", "freq": 14, "cost_multiplier": 0.8, "pack_size": [ 4, 6 ] }, + { "monster": "mon_stirge", "freq": 7, "cost_multiplier": 1, "pack_size": [ 2, 8 ] }, { "monster": "mon_wisp", "freq": 5, "cost_multiplier": 10, "conditions": [ "NIGHT" ] }, { "monster": "mon_wisp", "freq": 1, "cost_multiplier": 10, "conditions": [ "NIGHT" ], "pack_size": [ 1, 3 ] }, { "monster": "mon_dragon_black_wyrmling", "freq": 2, "cost_multiplier": 50 }, @@ -35,7 +36,11 @@ "name": "GROUP_CAVE", "default": "mon_null", "is_animal": true, - "monsters": [ { "monster": "mon_owlbear", "freq": 100, "cost_multiplier": 10, "pack_size": [ 2, 4 ] } ] + "monsters": [ + { "monster": "mon_owlbear", "freq": 100, "cost_multiplier": 10, "pack_size": [ 2, 4 ] }, + { "monster": "mon_shrieker", "freq": 10, "cost_multiplier": 1 }, + { "monster": "mon_lemure", "freq": 5, "cost_multiplier": 2, "pack_size": [ 1, 4 ] } + ] }, { "type": "monstergroup", diff --git a/data/mods/Magiclysm/monsters/dragon.json b/data/mods/Magiclysm/monsters/dragon.json index 09ee6ab5d7fd5..bafa29ae94150 100644 --- a/data/mods/Magiclysm/monsters/dragon.json +++ b/data/mods/Magiclysm/monsters/dragon.json @@ -120,7 +120,6 @@ "melee_cut": 28, "armor_bash": 14, "armor_cut": 30, - "armor_pierce": 12, "dodge": 3, "//": "Large means powerful, but it does not mean fast.", "speed": 100, diff --git a/data/mods/Magiclysm/monsters/monsters.json b/data/mods/Magiclysm/monsters/monsters.json index 624e4f373bbbf..9cf2998c42f50 100644 --- a/data/mods/Magiclysm/monsters/monsters.json +++ b/data/mods/Magiclysm/monsters/monsters.json @@ -71,14 +71,14 @@ "flags": [ "HEARS", "GOODHEARING", "NOHEAD", "POISON", "NO_BREATHE", "ACIDPROOF" ] }, { - "id": "mon_nothic", - "name": "nothic", - "description": "A baleful eye peers out from the darkness, its gleam hinting at a weird intelligence and unnerving malevolence.", - "symbol": "N", + "id": "mon_krabgek", + "name": "krabgek", + "description": "A large baleful eye peers out from the darkness, its gleam hinting at a weird intelligence and unnerving malevolence. The eye oozes some pinkish liquid, and the weirdly humanoid figure is covered in sharp blue-black triangular plates.", + "symbol": "K", "color": "dark_gray", "type": "MONSTER", "flags": [ "SEES", "HEARS", "SMELLS", "KEENNOSE", "PATH_AVOID_DANGER_1", "WARM" ], - "harvest": "human", + "harvest": "mutant_human", "material": [ "hflesh" ], "bodytype": "human", "default_faction": "magical_beast", @@ -105,7 +105,7 @@ "cooldown": 1, "damage_max_instance": [ { "damage_type": "cut", "amount": 25, "armor_multiplier": 1.2 } ] }, - { "type": "spell", "spell_id": "necrotic_gaze", "cooldown": 5, "monster_message": "The nothic gazes at %3$s!" } + { "type": "spell", "spell_id": "necrotic_gaze", "cooldown": 5, "monster_message": "The krabgek gazes at %3$s!" } ] }, { @@ -216,7 +216,7 @@ "id": "mon_troll", "type": "MONSTER", "name": "troll", - "description": "Monstrous, green-skinned humanoid. Trolls are renowned for their thick hides and natural regenerative ability.", + "description": "Monstrous, green-skinned humanoid. Trolls are renowned for their thick hides and natural regenerative ability.", "default_faction": "magical_beast", "bodytype": "human", "species": [ "MAGICAL_BEAST" ], @@ -237,9 +237,96 @@ "armor_cut": 16, "vision_day": 40, "vision_night": 3, - "harvest": "mammal_large_leather", + "harvest": "human_large_leather", "death_function": [ "NORMAL" ], "special_attacks": [ { "type": "bite", "cooldown": 30 }, [ "GRAB", 15 ], [ "scratch", 15 ], [ "slam", 10 ], [ "SMASH", 30 ] ], "flags": [ "SEES", "SMELLS", "KEENNOSE", "PATH_AVOID_DANGER_1", "WARM", "GRABS", "BLEED", "REGENERATES_1", "FLAMMABLE" ] + }, + { + "id": "mon_stirge", + "type": "MONSTER", + "name": "stirge", + "description": "This horrid flying creature looks like a cross between a large bat and oversized mosquito.", + "default_faction": "magical_beast", + "species": [ "MAGICAL_BEAST" ], + "diff": 2, + "volume": "1000 ml", + "weight": 1250, + "hp": 20, + "speed": 133, + "material": [ "iflesh" ], + "symbol": "s", + "color": "red", + "aggression": 10, + "morale": 10, + "melee_skill": 4, + "melee_dice": 1, + "melee_dice_sides": 4, + "melee_cut": 2, + "dodge": 4, + "vision_day": 20, + "vision_night": 20, + "harvest": "stirge", + "special_attacks": [ { "type": "spell", "spell_id": "blood_suck", "spell_level": 3, "cooldown": 3 } ], + "anger_triggers": [ "PLAYER_CLOSE" ], + "death_function": [ "NORMAL" ], + "flags": [ "SEES", "SMELLS", "HEARS", "FLIES", "HIT_AND_RUN", "PATH_AVOID_FIRE", "SWARMS" ] + }, + { + "id": "mon_shrieker", + "type": "MONSTER", + "name": "shrieker", + "description": "A shrieker is a human-sized mushroom that emits a piercing screech to drive off creatures that disturb it.", + "default_faction": "magical_beast", + "species": [ "FUNGUS" ], + "diff": 2, + "volume": "62500 ml", + "weight": 81500, + "hp": 25, + "speed": 100, + "material": [ "veggy" ], + "symbol": "7", + "color": "light_gray", + "aggression": 0, + "morale": 0, + "melee_cut": 0, + "dodge": 0, + "vision_day": 10, + "vision_night": 10, + "harvest": "shrieker", + "special_attacks": [ [ "SHRIEK_ALERT", 1 ] ], + "anger_triggers": [ "PLAYER_CLOSE" ], + "death_function": [ "NORMAL" ], + "flags": [ "SEES", "NOHEAD", "POISON", "IMMOBILE", "NO_BREATHE", "PACIFIST" ] + }, + { + "id": "mon_lemure", + "type": "MONSTER", + "name": "lemure", + "description": "A lemure resembles a molten mass of flesh with a vaguely humanoid head and torso.", + "default_faction": "magical_beast", + "bodytype": "blob", + "species": [ "MAGICAL_BEAST" ], + "diff": 2, + "volume": "62500 ml", + "weight": 45000, + "hp": 20, + "speed": 50, + "material": [ "flesh" ], + "symbol": "0", + "color": "magenta", + "aggression": 100, + "morale": 100, + "melee_skill": 4, + "melee_dice": 1, + "melee_dice_sides": 4, + "melee_cut": 1, + "dodge": 2, + "vision_day": 40, + "vision_night": 40, + "harvest": "lemure", + "anger_triggers": [ "PLAYER_CLOSE" ], + "death_function": [ "NORMAL" ], + "flags": [ "SEES", "SMELLS", "HEARS", "STUMBLES", "PATH_AVOID_FIRE", "REGENERATES_1", "REVIVES" ] } ] diff --git a/data/mods/Magiclysm/npc/classes.json b/data/mods/Magiclysm/npc/classes.json new file mode 100644 index 0000000000000..ba68ffbfaff8b --- /dev/null +++ b/data/mods/Magiclysm/npc/classes.json @@ -0,0 +1,15 @@ +[ + { + "type": "npc_class", + "id": "NC_MAGE_TEST", + "name": "Mage Test", + "job_description": "I'm a wandering debug tester for the arcane arts.", + "traits": [ + { "trait": "STORMSHAPER" }, + { "group": "BG_survival_story_EVACUEE" }, + { "group": "NPC_starting_traits" }, + { "group": "Appearance_demographics" } + ], + "spells": [ { "id": "lightning_bolt", "level": 6 }, { "id": "windrun", "level": 6 } ] + } +] diff --git a/data/mods/Magiclysm/recipes/alchemy.json b/data/mods/Magiclysm/recipes/alchemy.json index 9ea8bf71ed497..a3341267fb08f 100644 --- a/data/mods/Magiclysm/recipes/alchemy.json +++ b/data/mods/Magiclysm/recipes/alchemy.json @@ -17,5 +17,22 @@ "skills_required": [ "spellcraft", 2 ], "book_learn": [ [ "black_dragons", 2 ] ], "category": "CSC_ENCHANTED_OTHER" + }, + { + "type": "recipe", + "result": "spell_scroll_acid_resistance", + "qualities": [ { "id": "CONTAIN", "level": 1 }, { "id": "MANA_INFUSE", "level": 1 }, { "id": "MANA_FOCUS", "level": 1 } ], + "tools": [ [ [ "paint_brush", -1 ] ] ], + "components": [ + [ [ "tainted_blood", 2000 ], [ "blood", 8 ], [ "dragon_blood", 2000 ] ], + [ [ "acid", 4 ] ], + [ [ "water", 2 ], [ "water_clean", 2 ] ] + ], + "time": "2 h", + "skill_used": "spellcraft", + "difficulty": 2, + "book_learn": [ [ "black_dragons", 2 ] ], + "category": "CSC_ENCHANTED_OTHER", + "flags": [ "SECRET" ] } ] diff --git a/data/mods/Magiclysm/recipes/dragon_black.json b/data/mods/Magiclysm/recipes/dragon_black.json index 9398f46214966..1284607fa18fb 100644 --- a/data/mods/Magiclysm/recipes/dragon_black.json +++ b/data/mods/Magiclysm/recipes/dragon_black.json @@ -140,5 +140,125 @@ "tools": [ [ [ "chisel", -1 ] ] ], "using": [ [ "sewing_standard", 100 ], [ "welding_standard", 10 ] ], "components": [ [ [ "black_dragon_tanned_hide", 4 ] ], [ [ "dragon_black_scale", 50 ] ], [ [ "dragon_essence", 5 ] ] ] + }, + { + "result": "suit_xlblack_dragon_hide", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_SUIT", + "skill_used": "tailor", + "difficulty": 6, + "skills_required": [ "spellcraft", 4 ], + "time": "70 h", + "book_learn": [ [ "black_dragons", 5 ] ], + "qualities": [ { "id": "MANA_INFUSE", "level": 1 } ], + "tools": [ [ [ "chisel", -1 ] ] ], + "using": [ [ "sewing_standard", 350 ] ], + "components": [ [ [ "black_dragon_tanned_hide", 60 ] ], [ [ "dragon_black_scale", 250 ] ], [ [ "dragon_essence", 20 ] ] ] + }, + { + "result": "suit_xlblack_dragon_scale", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_SUIT", + "skill_used": "fabrication", + "difficulty": 8, + "skills_required": [ "spellcraft", 6 ], + "time": "340 h", + "book_learn": [ [ "black_dragons", 6 ] ], + "qualities": [ { "id": "MANA_INFUSE", "level": 2 } ], + "tools": [ [ [ "chisel", -1 ] ] ], + "using": [ [ "sewing_standard", 350 ], [ "welding_standard", 100 ] ], + "components": [ [ [ "black_dragon_tanned_hide", 60 ] ], [ [ "dragon_black_scale", 2250 ] ], [ [ "dragon_essence", 25 ] ] ] + }, + { + "result": "boots_xlblack_dragon_hide", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_SUIT", + "skill_used": "tailor", + "difficulty": 6, + "skills_required": [ "spellcraft", 4 ], + "time": "30 h", + "book_learn": [ [ "black_dragons", 5 ] ], + "qualities": [ { "id": "MANA_INFUSE", "level": 1 } ], + "tools": [ [ [ "chisel", -1 ] ] ], + "using": [ [ "sewing_standard", 150 ] ], + "components": [ [ [ "black_dragon_tanned_hide", 6 ] ], [ [ "dragon_black_scale", 20 ] ], [ [ "dragon_essence", 3 ] ] ] + }, + { + "result": "boots_xlblack_dragon_scale", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_SUIT", + "skill_used": "fabrication", + "difficulty": 8, + "skills_required": [ "spellcraft", 6 ], + "time": "30 h", + "book_learn": [ [ "black_dragons", 6 ] ], + "qualities": [ { "id": "MANA_INFUSE", "level": 2 } ], + "tools": [ [ [ "chisel", -1 ] ] ], + "using": [ [ "sewing_standard", 150 ], [ "welding_standard", 20 ] ], + "components": [ [ [ "black_dragon_tanned_hide", 8 ] ], [ [ "dragon_black_scale", 125 ] ], [ [ "dragon_essence", 6 ] ] ] + }, + { + "result": "helmet_xlblack_dragon_hide", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_SUIT", + "skill_used": "tailor", + "difficulty": 6, + "skills_required": [ "spellcraft", 4 ], + "time": "30 h", + "book_learn": [ [ "black_dragons", 5 ] ], + "qualities": [ { "id": "MANA_INFUSE", "level": 1 } ], + "tools": [ [ [ "chisel", -1 ] ] ], + "using": [ [ "sewing_standard", 150 ] ], + "components": [ [ [ "black_dragon_tanned_hide", 4 ] ], [ [ "dragon_black_scale", 12 ] ], [ [ "dragon_essence", 3 ] ] ] + }, + { + "result": "helmet_xlblack_dragon_scale", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_SUIT", + "skill_used": "fabrication", + "difficulty": 8, + "skills_required": [ "spellcraft", 6 ], + "time": "30 h", + "book_learn": [ [ "black_dragons", 6 ] ], + "qualities": [ { "id": "MANA_INFUSE", "level": 2 } ], + "tools": [ [ [ "chisel", -1 ] ] ], + "using": [ [ "sewing_standard", 150 ], [ "welding_standard", 20 ] ], + "components": [ [ [ "black_dragon_tanned_hide", 2 ] ], [ [ "dragon_black_scale", 140 ] ], [ [ "dragon_essence", 6 ] ] ] + }, + { + "result": "gloves_xlblack_dragon_hide", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_SUIT", + "skill_used": "tailor", + "difficulty": 6, + "skills_required": [ "spellcraft", 4 ], + "time": "30 h", + "book_learn": [ [ "black_dragons", 5 ] ], + "qualities": [ { "id": "MANA_INFUSE", "level": 1 } ], + "tools": [ [ [ "chisel", -1 ] ] ], + "using": [ [ "sewing_standard", 150 ] ], + "components": [ [ [ "black_dragon_tanned_hide", 4 ] ], [ [ "dragon_black_scale", 15 ] ], [ [ "dragon_essence", 4 ] ] ] + }, + { + "result": "gauntlets_xlblack_dragon_scale", + "type": "recipe", + "category": "CC_ARMOR", + "subcategory": "CSC_ARMOR_SUIT", + "skill_used": "fabrication", + "difficulty": 8, + "skills_required": [ "spellcraft", 6 ], + "time": "30 h", + "book_learn": [ [ "black_dragons", 6 ] ], + "qualities": [ { "id": "MANA_INFUSE", "level": 2 } ], + "tools": [ [ [ "chisel", -1 ] ] ], + "using": [ [ "sewing_standard", 150 ], [ "welding_standard", 20 ] ], + "components": [ [ [ "black_dragon_tanned_hide", 6 ] ], [ [ "dragon_black_scale", 75 ] ], [ [ "dragon_essence", 7 ] ] ] } ] diff --git a/data/mods/Magiclysm/recipes/magic_tools.json b/data/mods/Magiclysm/recipes/magic_tools.json index e17020540cc4d..922a9cfffdca6 100644 --- a/data/mods/Magiclysm/recipes/magic_tools.json +++ b/data/mods/Magiclysm/recipes/magic_tools.json @@ -35,10 +35,23 @@ "skills_required": [ "spellcraft", 2 ], "difficulty": 3, "time": "20 m", - "book_learn": [ [ "alchemy_basic", 4 ] ], + "book_learn": [ [ "alchemy_basic", 3 ], [ "necro_basic", 4 ], [ "techno_basic", 4 ] ], "qualities": [ { "id": "CHISEL", "level": 1 } ], "components": [ [ [ "copper_bracelet", 1 ] ] ] }, + { + "type": "recipe", + "result": "silver_infuser", + "category": "CC_ENCHANTED", + "subcategory": "CSC_ENCHANTED_TOOLS", + "skill_used": "fabrication", + "skills_required": [ "spellcraft", 3 ], + "difficulty": 4, + "time": "20 m", + "book_learn": [ [ "alchemy_basic", 3 ], [ "necro_basic", 4 ], [ "techno_basic", 4 ] ], + "qualities": [ { "id": "CHISEL", "level": 1 } ], + "components": [ [ [ "silver_bracelet", 1 ] ] ] + }, { "type": "recipe", "result": "rune_alchemist", diff --git a/data/mods/Magiclysm/recipes/mods.json b/data/mods/Magiclysm/recipes/mods.json new file mode 100644 index 0000000000000..18074f98ab6f0 --- /dev/null +++ b/data/mods/Magiclysm/recipes/mods.json @@ -0,0 +1,68 @@ +[ + { + "type": "recipe", + "result": "magic_suppressor", + "category": "CC_WEAPON", + "subcategory": "CSC_ENCHANTED_MODS", + "skill_used": "mechanics", + "skills_required": [ [ "spellcraft", 4 ], [ "gun", 4 ] ], + "difficulty": 4, + "time": "2 m 36 s", + "book_learn": [ [ "techno_basic", 4 ] ], + "qualities": [ { "id": "SAW_M_FINE", "level": 1 } ], + "tools": [ [ [ "rune_technomancer", -1 ], [ "rune_technomancer_weapon", -1 ] ] ], + "components": [ [ [ "filter_liquid", 1 ], [ "muffler", 1 ] ], [ [ "pipe", 1 ] ], [ [ "scrap", 2 ] ], [ [ "glow_dust", 1 ] ] ] + }, + { + "type": "recipe", + "result": "mana_dot_sight", + "category": "CC_ENCHANTED", + "subcategory": "CSC_ENCHANTED_MODS", + "skill_used": "electronics", + "difficulty": 7, + "skills_required": [ [ "spellcraft", 7 ], [ "gun", 4 ] ], + "time": "3 h", + "book_learn": [ [ "techno_basic", 5 ] ], + "using": [ [ "soldering_standard", 20 ], [ "surface_heat", 20 ] ], + "qualities": [ { "id": "SCREW_FINE", "level": 1 }, { "id": "CHEM", "level": 2 }, { "id": "MANA_INFUSE", "level": 1 } ], + "tools": [ + [ [ "mold_plastic", -1 ] ], + [ [ "rune_alchemist", -1 ], [ "rune_technomancer", -1 ], [ "rune_technomancer_weapon", -1 ] ] + ], + "components": [ + [ [ "plastic_chunk", 2 ] ], + [ [ "amplifier", 1 ] ], + [ [ "power_supply", 1 ] ], + [ [ "light_minus_battery_cell", 1 ] ], + [ [ "crystallized_mana", 15 ] ], + [ [ "silver_small", 10 ] ], + [ [ "gold_small", 10 ] ], + [ [ "chem_aluminium_powder", 10 ] ], + [ [ "chem_chromium_oxide", 10 ] ], + [ [ "lens", 2 ] ] + ] + }, + { + "type": "recipe", + "result": "mana_laser_under", + "category": "CC_ENCHANTED", + "subcategory": "CSC_ENCHANTED_MODS", + "skill_used": "electronics", + "difficulty": 4, + "skills_required": [ [ "spellcraft", 4 ], [ "gun", 4 ] ], + "time": "3 h", + "book_learn": [ [ "techno_basic", 4 ] ], + "using": [ [ "soldering_standard", 10 ] ], + "qualities": [ { "id": "SCREW_FINE", "level": 1 }, { "id": "MANA_INFUSE", "level": 1 } ], + "tools": [ [ [ "rune_technomancer", -1 ], [ "rune_technomancer_weapon", -1 ], [ "rune_alchemist", -1 ] ] ], + "components": [ + [ [ "amplifier", 1 ] ], + [ [ "power_supply", 1 ] ], + [ [ "lens", 2 ], [ "lens_small", 2 ] ], + [ [ "light_minus_battery_cell", 1 ] ], + [ [ "scrap", 1 ], [ "plastic_chunk", 1 ] ], + [ [ "small_mana_crystal", 1 ] ], + [ [ "cable", 5 ] ] + ] + } +] diff --git a/data/mods/Magiclysm/recipes/weapons.json b/data/mods/Magiclysm/recipes/weapons.json index 692b2a030ab43..888cb7f769003 100644 --- a/data/mods/Magiclysm/recipes/weapons.json +++ b/data/mods/Magiclysm/recipes/weapons.json @@ -226,5 +226,129 @@ [ [ "bone", 1 ], [ "bone_human", 1 ], [ "bone_tainted", 2 ] ], [ [ "needle_bone", 1 ] ] ] + }, + { + "type": "recipe", + "result": "shotcestus", + "category": "CC_ENCHANTED", + "subcategory": "CSC_ENCHANTED_WEAPONS", + "skill_used": "mechanics", + "difficulty": 4, + "skills_required": [ [ "spellcraft", 4 ], [ "bashing", 2 ], [ "shotgun", 2 ] ], + "time": "4 h 30 m", + "book_learn": [ [ "techno_basic", 4 ] ], + "qualities": [ + { "id": "HAMMER", "level": 3 }, + { "id": "CUT_FINE", "level": 1 }, + { "id": "SAW_M", "level": 2 }, + { "id": "SAW_M_FINE", "level": 1 }, + { "id": "SCREW_FINE", "level": 1 }, + { "id": "MANA_INFUSE", "level": 1 } + ], + "tools": [ [ [ "rune_technomancer", -1 ], [ "rune_technomancer_weapon", -1 ] ] ], + "byproducts": [ [ "splinter", 4 ] ], + "//": "Splinters from stock", + "components": [ [ [ "leather", 4 ] ], [ [ "pipe_double_shotgun", 1 ], [ "shotgun_d", 1 ] ], [ [ "scrap", 8 ] ] ] + }, + { + "type": "recipe", + "result": "mjolnir", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_BASHING", + "skill_used": "fabrication", + "skills_required": [ [ "spellcraft", 7 ], [ "bashing", 6 ] ], + "difficulty": 10, + "time": 480000, + "book_learn": [ [ "book_mythological", 10 ] ], + "using": [ [ "forging_standard", 3 ] ], + "qualities": [ { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "tongs", -1 ] ], [ [ "anvil", -1 ] ], [ [ "swage", -1 ] ] ], + "components": [ + [ [ "warhammer", 1 ] ], + [ [ "gold_small", 1 ] ], + [ [ "silver_small", 2 ] ], + [ [ "rebar", 1 ] ], + [ [ "orichalcum_lump", 2 ] ] + ] + }, + { + "type": "recipe", + "result": "gungnir", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_PIERCING", + "skill_used": "fabrication", + "skills_required": [ [ "spellcraft", 7 ], [ "stabbing", 6 ] ], + "difficulty": 10, + "time": 480000, + "book_learn": [ [ "book_mythological", 10 ] ], + "using": [ [ "forging_standard", 3 ] ], + "qualities": [ { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "tongs", -1 ] ], [ [ "anvil", -1 ] ], [ [ "swage", -1 ] ] ], + "components": [ [ [ "spear_steel", 1 ] ], [ [ "gold_small", 1 ] ], [ [ "silver_small", 2 ] ], [ [ "orichalcum_lump", 2 ] ] ] + }, + { + "type": "recipe", + "result": "gram", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_CUTTING", + "skill_used": "fabrication", + "skills_required": [ [ "spellcraft", 7 ], [ "cutting", 6 ] ], + "difficulty": 10, + "time": 480000, + "book_learn": [ [ "book_mythological", 10 ] ], + "using": [ [ "forging_standard", 3 ] ], + "qualities": [ { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "tongs", -1 ] ], [ [ "anvil", -1 ] ], [ [ "swage", -1 ] ] ], + "components": [ [ [ "jian", 1 ] ], [ [ "gold_small", 1 ] ], [ [ "orichalcum_lump", 2 ] ] ] + }, + { + "type": "recipe", + "result": "ichaival", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_RANGED", + "skill_used": "fabrication", + "skills_required": [ [ "spellcraft", 7 ], [ "archery", 6 ] ], + "difficulty": 10, + "time": 480000, + "book_learn": [ [ "book_mythological", 10 ] ], + "using": [ [ "forging_standard", 3 ] ], + "qualities": [ { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "tongs", -1 ] ], [ [ "anvil", -1 ] ], [ [ "swage", -1 ] ] ], + "components": [ [ [ "reflexrecurvebow", 1 ] ], [ [ "gold_small", 1 ] ], [ [ "orichalcum_lump", 1 ] ] ] + }, + { + "type": "recipe", + "result": "laevateinn", + "category": "CC_WEAPON", + "subcategory": "CSC_WEAPON_CUTTING", + "skill_used": "fabrication", + "skills_required": [ [ "spellcraft", 7 ] ], + "difficulty": 10, + "time": 480000, + "book_learn": [ [ "book_mythological", 10 ] ], + "using": [ [ "forging_standard", 3 ] ], + "qualities": [ { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "tongs", -1 ] ], [ [ "anvil", -1 ] ], [ [ "swage", -1 ] ] ], + "components": [ [ [ "i_staff", 1 ] ], [ [ "gold_small", 1 ] ], [ [ "orichalcum_lump", 1 ] ] ] + }, + { + "type": "recipe", + "result": "arrow_odin", + "category": "CC_AMMO", + "subcategory": "CSC_AMMO_ARROWS", + "skill_used": "fabrication", + "skills_required": [ [ "archery", 4 ], [ "spellcraft", 5 ] ], + "using": [ [ "forging_standard", 1 ] ], + "difficulty": 5, + "time": "30 m", + "book_learn": [ [ "book_mythological", 9 ] ], + "qualities": [ { "id": "HAMMER", "level": 2 }, { "id": "CUT", "level": 1 }, { "id": "ANVIL", "level": 3 } ], + "tools": [ [ [ "tongs", -1 ] ] ], + "components": [ + [ [ "orichalcum_sliver", 1 ] ], + [ [ "adhesive", 1, "LIST" ], [ "filament", 10, "LIST" ] ], + [ [ "stick", 1 ], [ "broom", 1 ], [ "2x4", 1 ] ], + [ [ "fletching", 1, "LIST" ] ] + ] } ] diff --git a/data/mods/Magiclysm/requirements/metal.json b/data/mods/Magiclysm/requirements/metal.json new file mode 100644 index 0000000000000..4f759892cefcc --- /dev/null +++ b/data/mods/Magiclysm/requirements/metal.json @@ -0,0 +1,8 @@ +[ + { + "id": "orichalcum_metal_standard", + "type": "requirement", + "//": "Materials for use when forging items from glowing metal", + "components": [ [ [ "orichalcum_lump", 1 ], [ "orichalcum_sliver", 2 ] ] ] + } +] diff --git a/data/mods/Magiclysm/scenarios.json b/data/mods/Magiclysm/scenarios.json index 9226c3284688c..49c3aa5330247 100644 --- a/data/mods/Magiclysm/scenarios.json +++ b/data/mods/Magiclysm/scenarios.json @@ -20,5 +20,16 @@ "start_name": "Wizard's Secret Basement Study", "allowed_locs": [ "magic_basement" ], "professions": [ "wizard_novice", "novice_necromancer", "novice_earthshaper", "novice_technomancer", "novice_stormshaper" ] + }, + { + "type": "scenario", + "ident": "lake_retreat", + "name": "The Wizard's Vacation", + "flags": [ "LONE_START" ], + "points": 6, + "description": "You have been an apprentice to a wizard for some time now, you've saved for years for your dream vaction at a secluded wizard tower. Your journey of self-discovery is interrupted by the cataclysm. Now you have to figure out how to survive on your own.", + "start_name": "Wizard's Retreat Vacation", + "allowed_locs": [ "lake_retreat" ], + "professions": [ "wizard_novice", "novice_necromancer", "novice_earthshaper", "novice_technomancer", "novice_stormshaper" ] } ] diff --git a/data/mods/Magiclysm/start_locations.json b/data/mods/Magiclysm/start_locations.json index de17e3f338136..e0911bf18ef22 100644 --- a/data/mods/Magiclysm/start_locations.json +++ b/data/mods/Magiclysm/start_locations.json @@ -28,5 +28,11 @@ "ident": "magic_basement", "name": "Wizard's Secret Basement Study", "target": "magic_basement" + }, + { + "type": "start_location", + "ident": "lake_retreat", + "name": "Wizard's lake retreat", + "target": "lake_retreat_ground" } ] diff --git a/data/mods/Magiclysm/worldgen/black_dragon_lair.json b/data/mods/Magiclysm/worldgen/black_dragon_lair.json index 32a70f9ce2899..ccc51637fc3b6 100644 --- a/data/mods/Magiclysm/worldgen/black_dragon_lair.json +++ b/data/mods/Magiclysm/worldgen/black_dragon_lair.json @@ -274,6 +274,7 @@ { "monster": "mon_dragon_black_young", "x": 30, "y": 26, "repeat": [ 1, 2 ], "chance": 100 }, { "monster": "mon_dragon_black_young", "x": 30, "y": 26, "repeat": [ 1, 2 ], "chance": 100 }, { "monster": "mon_dragon_black_wyrmling", "x": 41, "y": 45, "repeat": [ 1, 2 ], "chance": 100 }, + { "monster": "mon_dragon_black_adult", "x": 29, "y": 28, "chance": 100 }, { "monster": "mon_dragon_black_wyrmling", "x": 17, "y": 2, "repeat": [ 1, 2 ], "chance": 100 }, { "monster": "mon_dragon_black_wyrmling", "x": 9, "y": 17, "repeat": [ 1, 2 ], "chance": 100 }, { "monster": "mon_dragon_black_wyrmling", "x": 30, "y": 2, "repeat": [ 1, 2 ], "chance": 100 }, @@ -384,11 +385,7 @@ "furniture": { "a": "f_boulder_small", "c": "f_boulder_medium", "b": "f_boulder_large", "1": "f_fog", "2": "f_swamp_gas" }, "items": { ".": [ { "item": "lair_black_dragon", "chance": 15, "repeat": [ 0, 2 ] } ], - " ": [ - { "item": "lair_black_dragon", "chance": 10, "repeat": [ 0, 2 ] }, - { "item": "spellbook_loot_1", "chance": 20, "repeat": [ 1, 2 ] }, - { "item": "spellbook_loot_2", "chance": 20, "repeat": [ 1, 2 ] } - ] + " ": [ { "item": "lair_black_dragon_treasure", "chance": 80 } ] } } }, diff --git a/data/mods/Magiclysm/worldgen/lake_retreat.json b/data/mods/Magiclysm/worldgen/lake_retreat.json new file mode 100644 index 0000000000000..8d44758feee39 --- /dev/null +++ b/data/mods/Magiclysm/worldgen/lake_retreat.json @@ -0,0 +1,486 @@ +[ + { + "type": "mapgen", + "method": "json", + "om_terrain": "lake_retreat_ground", + "object": { + "fill_ter": "t_floor", + "rows": [ + "/%//////................", + "//.//.////..............", + "......9..//.......9.....", + "..9.......//....%...9...", + "..........//...%%.......", + "....9......//.....9..9..", + "...........//...........", + "..........|++|......9...", + "...9.....|| ||.........", + "........||a g||........", + ".......|| g||....9..", + "......||y X g||......", + "..9...|H X Ih k0.....9", + "......|t X I C0.9....", + "....9.||C g||......", + ".......||y g||.....9.", + "9...%...|| g||........", + ".........||< ||.....9...", + "...9......|00|..........", + ".......9.........9....9.", + "...........9............", + "......9...........%.....", + "..........9...9.....9...", + ".9......................" + ], + "terrain": { + " ": "t_floor", + ".": [ [ "t_grass", 5 ], [ "t_grass_long", 2 ], "t_dirt", "t_shrub" ], + "%": [ [ "t_grass", 5 ], "t_dirt" ], + "/": "t_dirt", + "|": "t_rock_red", + "<": "t_wood_stairs_up", + ">": "t_wood_stairs_down", + "0": "t_window_domestic", + "+": "t_door_red_c", + "9": [ + "t_tree_blackjack", + [ "t_tree_walnut", 5 ], + [ "t_tree_chestnut", 5 ], + "t_tree_beech", + "t_tree_hazelnut", + "t_tree_cottonwood", + [ "t_tree", 5 ], + [ "t_tree_elm", 3 ], + "t_tree_dead", + "t_tree_apple", + "t_tree_pear", + "t_tree_cherry", + "t_tree_peach", + "t_tree_apricot", + "t_tree_plum", + "t_tree_mulberry", + "t_tree_elderberry", + [ "t_tree_pine", 5 ], + "t_tree_birch", + [ "t_tree_willow", 3 ], + "t_tree_maple", + "t_tree_hickory", + "t_tree_almond", + "t_tree_pecan" + ] + }, + "furniture": { + "%": [ [ "f_boulder_medium", 2 ], [ "f_boulder_small", 1 ], [ "f_boulder_large", 3 ] ], + "y": [ "f_indoor_plant_y", "f_indoor_plant" ], + "h": "f_chair", + "X": "f_sofa", + "t": "f_table", + "7": "f_bench", + "C": "f_armchair", + "a": "f_rack_coat", + "g": "f_bookcase", + "k": "f_floor_lamp", + "I": "f_desk", + "H": "f_fireplace" + }, + "items": { + "g": [ + { "item": "homebooks", "chance": 20, "repeat": [ 2, 4 ] }, + { "item": "magic_shop_books", "chance": 30 }, + { "item": "novels", "chance": 20, "repeat": [ 2, 4 ] } + ], + "I": [ + { "item": "office", "chance": 30, "repeat": [ 2, 4 ] }, + { "item": "magic_shop_potions", "chance": 20, "repeat": [ 1, 2 ] }, + { "item": "magic_shop_wands", "chance": 15 }, + { "item": "enchanted_small_items", "chance": 20 } + ], + "R": { "item": "trash", "chance": 25, "repeat": [ 1, 2 ] }, + "W": { "item": "stash_wood", "chance": 25, "repeat": [ 1, 2 ] }, + "t": { "item": "livingroom", "chance": 25, "repeat": [ 1, 2 ] }, + "a": [ + { "item": "jackets", "chance": 80, "repeat": [ 1, 2 ] }, + { "item": "bags", "chance": 60, "repeat": [ 1, 2 ] }, + { "item": "magic_shop_clothes", "chance": 40, "repeat": [ 1, 2 ] }, + { "item": "enchanted_worn_items", "chance": 20, "repeat": [ 1, 2 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "lake_retreat_z1", + "object": { + "fill_ter": "t_floor", + "rows": [ + "........................", + "........................", + "........................", + "........................", + "........................", + "........................", + "........................", + "..........|00|..........", + ".........||rr||.........", + "........||r r||........", + ".......|| y||.......", + "......||W c ||......", + "......0s cu hth 0......", + "......0m cu hth 0......", + "......||R c ||......", + ".......|| C||.......", + "........||y a||........", + ".........||><||.........", + "..........|00|..........", + "........................", + "........................", + "........................", + "........................", + "........................" + ], + "terrain": { + " ": "t_floor", + ".": "t_open_air", + "|": "t_rock_green", + "<": "t_wood_stairs_up", + ">": "t_wood_stairs_down", + "0": "t_window_domestic", + "+": "t_door_green_c" + }, + "furniture": { + "y": [ "f_indoor_plant_y", "f_indoor_plant" ], + "h": "f_chair", + "t": "f_table", + "R": "f_trashcan", + "C": "f_armchair", + "a": "f_rack_coat", + "k": "f_floor_lamp", + "r": "f_rack_wood", + "s": "f_sink", + "u": "f_stool", + "W": "f_woodstove", + "c": "f_counter", + "m": "f_glass_fridge" + }, + "items": { + "c": [ + { "item": "dishes_utility", "chance": 30 }, + { "item": "condiments", "chance": 40, "repeat": [ 1, 2 ] }, + { "item": "SUS_knife_drawer", "chance": 20, "repeat": [ 1, 2 ] }, + { "item": "SUS_junk_drawer", "chance": 10, "repeat": [ 1, 2 ] }, + { "item": "SUS_cookware", "chance": 20 } + ], + "s": { "item": "oven", "chance": 20, "repeat": [ 2, 4 ] }, + "m": { "item": "fridge", "chance": 20, "repeat": [ 2, 4 ] }, + "R": { "item": "trash", "chance": 25, "repeat": [ 1, 2 ] }, + "W": { "item": "stash_wood", "chance": 25, "repeat": [ 1, 2 ] }, + "t": { "item": "condiments", "chance": 25, "repeat": [ 1, 2 ] }, + "a": { "item": "jackets", "chance": 25, "repeat": [ 1, 2 ] }, + "r": [ + { "item": "condiments", "chance": 30, "repeat": [ 1, 2 ] }, + { "item": "groce_ingredient", "chance": 30, "repeat": [ 1, 2 ] }, + { "item": "groce_bread", "chance": 30, "repeat": [ 1, 2 ] }, + { "item": "pantry_liquids", "chance": 30, "repeat": [ 1, 2 ] }, + { "item": "dry_goods", "chance": 30, "repeat": [ 1, 2 ] }, + { "item": "preserved_food", "chance": 30, "repeat": [ 1, 2 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "lake_retreat_z2", + "object": { + "fill_ter": "t_floor", + "rows": [ + "........................", + "........................", + "........................", + "........................", + "........................", + "........................", + "........................", + "..........|00|..........", + ".........||s&||.........", + "........||c ||........", + ".......||||+|+|||.......", + "......||fy | yg||......", + "......0I dd|I d0......", + "......0IC dd|Ih d0......", + "......||g | f||......", + ".......|||+||+|||.......", + "........|| ||........", + ".........||<>||.........", + "..........|00|..........", + "........................", + "........................", + "........................", + "........................", + "........................" + ], + "terrain": { + " ": "t_floor", + ".": "t_open_air", + "|": "t_rock_blue", + "<": "t_wood_stairs_up", + ">": "t_wood_stairs_down", + "0": "t_window_domestic", + "+": "t_door_green_c" + }, + "furniture": { + "y": [ "f_indoor_plant_y", "f_indoor_plant" ], + "h": "f_chair", + "t": "f_table", + "C": "f_armchair", + "g": "f_bookcase", + "I": "f_desk", + "s": "f_sink", + "d": "f_bed", + "f": "f_wardrobe", + "c": "f_shower" + }, + "toilets": { "&": { } }, + "items": { + "g": [ + { "item": "homebooks", "chance": 50, "repeat": [ 2, 4 ] }, + { "item": "magic_shop_books", "chance": 20 }, + { "item": "novels", "chance": 80, "repeat": [ 2, 4 ] } + ], + "I": [ + { "item": "bedroom", "chance": 70, "repeat": [ 2, 4 ] }, + { "item": "magic_shop_potions", "chance": 30, "repeat": [ 1, 2 ] }, + { "item": "magic_shop_wands", "chance": 15 }, + { "item": "enchanted_small_items", "chance": 30, "repeat": [ 1, 2 ] } + ], + "d": { "item": "bed", "chance": 20, "repeat": [ 2, 4 ] }, + "s": { "item": "softdrugs", "chance": 20, "repeat": [ 2, 4 ] }, + "c": { "item": "shower", "chance": 25, "repeat": [ 1, 2 ] }, + "f": [ + { "item": "enchanted_worn_items", "chance": 30, "repeat": [ 1, 2 ] }, + { "item": "enchanted_combat_items", "chance": 10 }, + { "item": "magic_shop_clothes", "chance": 30, "repeat": [ 1, 2 ] }, + { "item": "pants", "chance": 50, "repeat": [ 1, 2 ] }, + { "item": "shirts", "chance": 50, "repeat": [ 1, 2 ] }, + { "item": "bags", "chance": 30, "repeat": [ 1, 2 ] } + ] + } + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "lake_retreat_z3", + "object": { + "fill_ter": "t_concrete", + "rows": [ + "........................", + "........................", + "........................", + "........................", + "........................", + "........................", + "........................", + "..........|00|..........", + ".........|| ||.........", + "........00 00........", + ".......00 MM 00.......", + "......|| MMMM ||......", + "......0h M$NM h0......", + "......0h MNNM h0......", + "......|| MMMM ||......", + ".......00 MM 00.......", + "........00 00........", + ".........||><||.........", + "..........|00|..........", + "........................", + "........................", + "........................", + "........................", + "........................" + ], + "terrain": { + " ": "t_concrete", + ".": "t_open_air", + "|": "t_rock_green", + ">": "t_wood_stairs_down", + "<": "t_wood_stairs_up", + "0": "t_laminated_glass", + "+": "t_door_green_c", + "M": "t_water_pool_shallow", + "N": [ "t_shrub_lilac", "t_shrub_hydrangea" ], + "$": [ "t_tree_apple", "t_tree_pear", "t_tree_cherry", "t_tree_peach", "t_tree_apricot", "t_tree_plum", "t_tree_willow" ] + }, + "furniture": { "h": "f_bench" }, + "items": { "h": [ { "item": "enchanted_small_items", "chance": 20 }, { "item": "magic_shop_books", "chance": 30 } ] } + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "lake_retreat_z4", + "object": { + "fill_ter": "t_concrete", + "rows": [ + "........................", + "........................", + "........................", + "........................", + "........................", + "........................", + "........................", + "..........||||..........", + ".........|| ||.........", + "........|| ||........", + ".......|| ||.......", + "......|| ||......", + "......| |......", + "......| |......", + "......|| ||......", + ".......|| ||.......", + "........|| ||........", + ".........|||>||.........", + "..........||||..........", + "........................", + "........................", + "........................", + "........................", + "........................" + ], + "terrain": { + " ": "t_glass_roof", + ".": "t_open_air", + "|": "t_rock_floor_no_roof", + ">": "t_wood_stairs_down", + "0": "t_laminated_glass" + } + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "lake_retreat_boathouse", + "object": { + "fill_ter": "t_grass", + "rows": [ + "~~~~~~~--||||||||||...9.", + "~~~~~~--dddddd|b |.9...", + "~~~~~~~~~~~~~d|b r|...9.", + "~~~~~~~~~~~~~d w|9....", + "~~~~~~~~~~~~~d w|...9.", + "~~~~~~~~~~~~~d|b 0.....", + "~-dddddddddddd|b r|...9.", + "--.......|||||||+||.9...", + "--.............///......", + "..........9....///...9..", + ".....U.......9.//.9.....", + "...M.U........//....9...", + ".....U..9....//...9..9..", + "............//.9........", + "...........//......9...9", + "..9........////.........", + "...........//////...9...", + "................//.....9", + "......9.......9..//.....", + "..................////..", + "...............9..9//.9.", + "...9........9......////.", + "..........9.......9.9.//", + "//............9.......//" + ], + "place_vehicles": [ + { "vehicle": "kayak_racing", "x": 11, "y": 2, "rotation": 180, "chance": 30, "status": 0 }, + { "vehicle": "canoe", "x": 2, "y": 5, "rotation": 180, "chance": 40, "status": 0 } + ], + "place_loot": [ { "item": "rope_30", "x": 12, "y": 6, "chance": 100 }, { "item": "stepladder", "x": 17, "y": 1, "chance": 100 } ], + "terrain": { + " ": "t_floor", + "b": "t_floor", + "r": "t_floor", + "w": "t_floor", + "*": "t_wall_log_half", + "d": "t_dock", + "/": "t_dirt", + "M": "t_dirt", + "U": "t_dirt", + "~": "t_water_dp", + "-": "t_water_sh", + ".": [ [ "t_grass", 5 ], [ "t_grass_long", 2 ], "t_dirt", "t_shrub", "t_fern" ], + "|": "t_wall_log", + "0": "t_window_domestic", + "+": "t_door_c", + "9": [ + "t_tree_blackjack", + [ "t_tree_walnut", 5 ], + [ "t_tree_chestnut", 5 ], + "t_tree_beech", + "t_tree_hazelnut", + "t_tree_cottonwood", + [ "t_tree", 5 ], + [ "t_tree_elm", 3 ], + "t_tree_dead", + "t_tree_apple", + "t_tree_pear", + "t_tree_cherry", + "t_tree_peach", + "t_tree_apricot", + "t_tree_plum", + "t_tree_mulberry", + "t_tree_elderberry", + [ "t_tree_pine", 5 ], + "t_tree_birch", + [ "t_tree_willow", 3 ], + "t_tree_maple", + "t_tree_hickory", + "t_tree_almond", + "t_tree_pecan" + ] + }, + "furniture": { "r": "f_rack", "b": "f_bench", "U": "f_bench", "t": "f_table", "M": "f_firering", "w": "f_workbench" }, + "items": { + "r": { "item": "fishing_items", "chance": 40, "repeat": [ 1, 2 ] }, + "b": { "item": "fishing_items", "chance": 20, "repeat": [ 1, 2 ] }, + "d": { "item": "fishing_items", "chance": 5, "repeat": [ 1, 2 ] }, + "w": { "item": "home_hw", "chance": 30, "repeat": [ 1, 2 ] }, + "M": { "item": "stash_wood", "chance": 100, "repeat": [ 6, 10 ] } + }, + "place_monsters": [ { "monster": "GROUP_ZOMBIE", "x": [ 10, 22 ], "y": [ 15, 22 ], "density": 0.1 } ] + } + }, + { + "type": "mapgen", + "method": "json", + "om_terrain": "lake_retreat_boathouse_roof", + "object": { + "fill_ter": "t_tar_flat_roof", + "rows": [ + " .......... ", + " .......... ", + " .......... ", + " .......... ", + " .......... ", + " .......... ", + " .......... ", + " .......... ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " " + ], + "palettes": [ "roof_palette" ], + "terrain": { ".": "t_tar_flat_roof" } + } + } +] diff --git a/data/mods/Magiclysm/worldgen/overmap_specials.json b/data/mods/Magiclysm/worldgen/overmap_specials.json index 863e09b77ce9d..4b2d64dbda181 100644 --- a/data/mods/Magiclysm/worldgen/overmap_specials.json +++ b/data/mods/Magiclysm/worldgen/overmap_specials.json @@ -49,5 +49,70 @@ "city_distance": [ 20, -1 ], "city_sizes": [ 0, 20 ], "occurrences": [ 0, 0 ] + }, + { + "type": "overmap_special", + "id": "Lake Retreat", + "overmaps": [ + { "point": [ 0, 0, 0 ], "overmap": "lake_surface" }, + { "point": [ 1, 0, 0 ], "overmap": "lake_surface" }, + { "point": [ 2, 0, 0 ], "overmap": "lake_surface" }, + { "point": [ 3, 0, 0 ], "overmap": "lake_surface" }, + { "point": [ 4, 0, 0 ], "overmap": "lake_surface" }, + { "point": [ 5, 0, 0 ], "overmap": "lake_surface" }, + { "point": [ 6, 0, 0 ], "overmap": "lake_surface" }, + { "point": [ 0, 1, 0 ], "overmap": "lake_surface" }, + { "point": [ 1, 1, 0 ], "overmap": "lake_surface" }, + { "point": [ 2, 1, 0 ], "overmap": "lake_shore" }, + { "point": [ 3, 1, 0 ], "overmap": "lake_shore" }, + { "point": [ 4, 1, 0 ], "overmap": "lake_shore" }, + { "point": [ 5, 1, 0 ], "overmap": "lake_shore" }, + { "point": [ 6, 1, 0 ], "overmap": "lake_surface" }, + { "point": [ 0, 2, 0 ], "overmap": "lake_surface" }, + { "point": [ 1, 2, 0 ], "overmap": "lake_shore" }, + { "point": [ 2, 2, 0 ], "overmap": "lake_retreat_boathouse_north" }, + { "point": [ 2, 2, 1 ], "overmap": "lake_retreat_boathouse_roof_north" }, + { "point": [ 3, 2, 0 ], "overmap": "forest_thick" }, + { "point": [ 4, 2, 0 ], "overmap": "forest_thick" }, + { "point": [ 5, 2, 0 ], "overmap": "lake_shore" }, + { "point": [ 6, 2, 0 ], "overmap": "lake_surface" }, + { "point": [ 0, 3, 0 ], "overmap": "lake_surface" }, + { "point": [ 1, 3, 0 ], "overmap": "lake_shore" }, + { "point": [ 2, 3, 0 ], "overmap": "forest" }, + { "point": [ 3, 3, 0 ], "overmap": "lake_retreat_ground_north" }, + { "point": [ 3, 3, 1 ], "overmap": "lake_retreat_z1_north" }, + { "point": [ 3, 3, 2 ], "overmap": "lake_retreat_z2_north" }, + { "point": [ 3, 3, 3 ], "overmap": "lake_retreat_z3_north" }, + { "point": [ 3, 3, 4 ], "overmap": "lake_retreat_z4_north" }, + { "point": [ 4, 3, 0 ], "overmap": "forest" }, + { "point": [ 5, 3, 0 ], "overmap": "lake_shore" }, + { "point": [ 6, 3, 0 ], "overmap": "lake_surface" }, + { "point": [ 0, 4, 0 ], "overmap": "lake_surface" }, + { "point": [ 1, 4, 0 ], "overmap": "lake_shore" }, + { "point": [ 2, 4, 0 ], "overmap": "forest_thick" }, + { "point": [ 3, 4, 0 ], "overmap": "forest_thick" }, + { "point": [ 4, 4, 0 ], "overmap": "lake_shore" }, + { "point": [ 5, 4, 0 ], "overmap": "lake_shore" }, + { "point": [ 6, 4, 0 ], "overmap": "lake_surface" }, + { "point": [ 0, 5, 0 ], "overmap": "lake_surface" }, + { "point": [ 1, 5, 0 ], "overmap": "lake_shore" }, + { "point": [ 2, 5, 0 ], "overmap": "lake_shore" }, + { "point": [ 3, 5, 0 ], "overmap": "lake_shore" }, + { "point": [ 4, 5, 0 ], "overmap": "lake_shore" }, + { "point": [ 5, 5, 0 ], "overmap": "lake_surface" }, + { "point": [ 6, 5, 0 ], "overmap": "lake_surface" }, + { "point": [ 0, 6, 0 ], "overmap": "lake_surface" }, + { "point": [ 1, 6, 0 ], "overmap": "lake_surface" }, + { "point": [ 2, 6, 0 ], "overmap": "lake_surface" }, + { "point": [ 3, 6, 0 ], "overmap": "lake_surface" }, + { "point": [ 4, 6, 0 ], "overmap": "lake_surface" }, + { "point": [ 5, 6, 0 ], "overmap": "lake_surface" }, + { "point": [ 6, 6, 0 ], "overmap": "lake_surface" } + ], + "locations": [ "lake_surface" ], + "city_distance": [ 3, -1 ], + "city_sizes": [ 4, 12 ], + "occurrences": [ 0, 1 ], + "flags": [ "CLASSIC", "LAKE" ] } ] diff --git a/data/mods/Magiclysm/worldgen/overmap_terrain.json b/data/mods/Magiclysm/worldgen/overmap_terrain.json index 2642add833404..93b8ce6c50139 100644 --- a/data/mods/Magiclysm/worldgen/overmap_terrain.json +++ b/data/mods/Magiclysm/worldgen/overmap_terrain.json @@ -248,5 +248,61 @@ "sym": "%", "color": "light_gray", "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "lake_retreat_ground", + "name": "forest", + "sym": "F", + "color": "green", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "lake_retreat_z1", + "name": "forest", + "sym": ".", + "color": "blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "lake_retreat_z2", + "name": "forest", + "sym": ".", + "color": "blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "lake_retreat_z3", + "name": "forest", + "sym": ".", + "color": "blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "lake_retreat_z4", + "name": "forest", + "sym": ".", + "color": "blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "lake_retreat_boathouse", + "name": "lake shore", + "sym": "#", + "color": "light_blue", + "see_cost": 5 + }, + { + "type": "overmap_terrain", + "id": "lake_retreat_boathouse_roof", + "name": "forest", + "sym": ".", + "color": "blue", + "see_cost": 5 } ] diff --git a/data/mods/Magiclysm/worldgen/used_bookstore.json b/data/mods/Magiclysm/worldgen/used_bookstore.json index 898a95674e319..18d592699575e 100644 --- a/data/mods/Magiclysm/worldgen/used_bookstore.json +++ b/data/mods/Magiclysm/worldgen/used_bookstore.json @@ -51,7 +51,7 @@ "d": "f_dumpster", "C": "f_counter" }, - "monster": { "O": { "monster": "mon_nothic", "chance": 100 }, "z": { "monster": "mon_nothic", "chance": 33 } }, + "monster": { "O": { "monster": "mon_krabgek", "chance": 100 }, "z": { "monster": "mon_krabgek", "chance": 33 } }, "toilets": { "&": { } }, "items": { "M": { "item": "spellbook_loot_1", "chance": 60 }, "N": { "item": "novels", "chance": 60, "repeat": [ 1, 3 ] } } } diff --git a/data/mods/Modular_Turrets/uncraft.json b/data/mods/Modular_Turrets/uncraft.json index 3841c53b5d785..9f2951138947e 100644 --- a/data/mods/Modular_Turrets/uncraft.json +++ b/data/mods/Modular_Turrets/uncraft.json @@ -309,13 +309,17 @@ "skill_used": "electronics", "qualities": [ { "id": "SCREW", "level": 1 } ], "components": [ + [ [ "ai_module", 1 ] ], + [ [ "sensor_module", 1 ] ], + [ [ "memory_module", 1 ] ], + [ [ "pathfinding_module", 1 ] ], + [ [ "identification_module", 1 ] ], [ [ "lightstrip_inactive", 3 ] ], [ [ "lens", 3 ] ], - [ [ "processor", 1 ] ], - [ [ "RAM", 1 ] ], [ [ "scrap", 2 ] ], [ [ "e_scrap", 1 ] ], - [ [ "motor_small", 1 ] ] + [ [ "robot_controls", 1 ] ], + [ [ "turret_chassis", 1 ] ] ] }, { @@ -326,13 +330,17 @@ "skill_used": "electronics", "qualities": [ { "id": "SCREW", "level": 1 } ], "components": [ + [ [ "ai_module", 1 ] ], + [ [ "sensor_module", 1 ] ], + [ [ "memory_module", 1 ] ], + [ [ "pathfinding_module", 1 ] ], + [ [ "identification_module", 1 ] ], [ [ "lightstrip_inactive", 3 ] ], [ [ "lens", 3 ] ], - [ [ "processor", 2 ] ], - [ [ "RAM", 2 ] ], [ [ "scrap", 2 ] ], [ [ "e_scrap", 2 ] ], - [ [ "motor_small", 1 ] ] + [ [ "robot_controls", 1 ] ], + [ [ "turret_chassis", 1 ] ] ] }, { @@ -343,14 +351,18 @@ "skill_used": "electronics", "qualities": [ { "id": "SCREW", "level": 1 } ], "components": [ + [ [ "ai_module", 1 ] ], + [ [ "sensor_module", 1 ] ], + [ [ "memory_module", 1 ] ], + [ [ "pathfinding_module", 1 ] ], + [ [ "identification_module", 1 ] ], [ [ "lightstrip_inactive", 3 ] ], [ [ "lens", 3 ] ], - [ [ "processor", 3 ] ], - [ [ "RAM", 4 ] ], [ [ "scrap", 2 ] ], [ [ "e_scrap", 5 ] ], [ [ "cable", 5 ] ], - [ [ "motor_small", 1 ] ] + [ [ "robot_controls", 1 ] ], + [ [ "turret_chassis", 1 ] ] ] } ] diff --git a/data/mods/Modular_Turrets/uncraft_corpse.json b/data/mods/Modular_Turrets/uncraft_corpse.json index 605cb2b6f3109..867371c6a9e3f 100644 --- a/data/mods/Modular_Turrets/uncraft_corpse.json +++ b/data/mods/Modular_Turrets/uncraft_corpse.json @@ -92,14 +92,18 @@ "using": [ [ "soldering_standard", 5 ] ], "qualities": [ { "id": "SCREW", "level": 1 } ], "components": [ + [ [ "ai_module", 1 ] ], + [ [ "sensor_module", 1 ] ], + [ [ "memory_module", 1 ] ], + [ [ "pathfinding_module", 1 ] ], + [ [ "identification_module", 1 ] ], [ [ "lightstrip_inactive", 3 ] ], [ [ "plut_cell", 1 ] ], [ [ "lens", 2 ] ], - [ [ "processor", 2 ] ], - [ [ "RAM", 3 ] ], [ [ "scrap", 2 ] ], [ [ "e_scrap", 4 ] ], - [ [ "motor_small", 1 ] ] + [ [ "robot_controls", 1 ] ], + [ [ "turret_chassis", 1 ] ] ] }, { @@ -111,14 +115,18 @@ "using": [ [ "soldering_standard", 5 ] ], "qualities": [ { "id": "SCREW", "level": 1 } ], "components": [ + [ [ "ai_module", 1 ] ], + [ [ "sensor_module", 1 ] ], + [ [ "memory_module", 1 ] ], + [ [ "pathfinding_module", 1 ] ], + [ [ "identification_module", 1 ] ], [ [ "lightstrip_inactive", 3 ] ], [ [ "plut_cell", 1 ] ], [ [ "lens", 2 ] ], - [ [ "processor", 2 ] ], - [ [ "RAM", 3 ] ], [ [ "scrap", 2 ] ], [ [ "e_scrap", 4 ] ], - [ [ "motor_small", 1 ] ] + [ [ "robot_controls", 1 ] ], + [ [ "turret_chassis", 1 ] ] ] }, { @@ -130,14 +138,18 @@ "using": [ [ "soldering_standard", 5 ] ], "qualities": [ { "id": "SCREW", "level": 1 } ], "components": [ + [ [ "ai_module", 1 ] ], + [ [ "sensor_module", 1 ] ], + [ [ "memory_module", 1 ] ], + [ [ "pathfinding_module", 1 ] ], + [ [ "identification_module", 1 ] ], [ [ "lightstrip_inactive", 3 ] ], [ [ "plut_cell", 1 ] ], [ [ "lens", 2 ] ], - [ [ "processor", 2 ] ], - [ [ "RAM", 3 ] ], [ [ "scrap", 2 ] ], [ [ "e_scrap", 4 ] ], - [ [ "motor_small", 1 ] ] + [ [ "robot_controls", 1 ] ], + [ [ "turret_chassis", 1 ] ] ] }, { diff --git a/data/mods/More_Survival_Tools/recipes.json b/data/mods/More_Survival_Tools/recipes.json index 852bca7ab1e22..422ab03e62619 100644 --- a/data/mods/More_Survival_Tools/recipes.json +++ b/data/mods/More_Survival_Tools/recipes.json @@ -192,7 +192,8 @@ "time": 45000, "autolearn": true, "book_learn": [ [ "textbook_fabrication", 1 ] ], - "tools": [ [ [ "press", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ], [ [ "forge", 100 ], [ "oxy_torch", 20 ] ] ], + "using": [ [ "forging_standard", 5 ] ], + "tools": [ [ [ "press", -1 ] ], [ [ "crucible", -1 ], [ "crucible_clay", -1 ] ] ], "components": [ [ [ "copper", 50 ], [ "tin", 50 ], [ "bismuth", 50 ], [ "solder_wire", 50 ], [ "silver_small", 50 ], [ "scrap", 1 ] ] ] diff --git a/data/mods/More_Survival_Tools/snippets.json b/data/mods/More_Survival_Tools/snippets.json index db4f6c94662cb..149b5ee8ffd8c 100644 --- a/data/mods/More_Survival_Tools/snippets.json +++ b/data/mods/More_Survival_Tools/snippets.json @@ -2,7 +2,12 @@ { "type": "snippet", "category": "note", - "text": [ "\"Shoot elfy mutants. Carve more bolts outta their bones. Rinse and repeat.\"" ], - "//": "Dwarf Fortress reference." + "text": [ + { + "id": "note_more_survival_tools_1", + "text": "\"Shoot elfy mutants. Carve more bolts outta their bones. Rinse and repeat.\"", + "//": "Dwarf Fortress reference." + } + ] } ] diff --git a/data/mods/My_Sweet_Cataclysm/sweet_snippets.json b/data/mods/My_Sweet_Cataclysm/sweet_snippets.json index 975d38ea35052..4a0690dd0d4f3 100644 --- a/data/mods/My_Sweet_Cataclysm/sweet_snippets.json +++ b/data/mods/My_Sweet_Cataclysm/sweet_snippets.json @@ -2,6 +2,9 @@ "type": "snippet", "category": "flier", "text": [ - "A flyer for some kind of candy. It shows a picture of a gleaming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it all?\"" + { + "id": "flier_my_sweet_cataclysm_1", + "text": "A flyer for some kind of candy. It shows a picture of a gleaming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it all?\"" + } ] } diff --git a/data/mods/NW_Pack/nw_martialarts.json b/data/mods/NW_Pack/nw_martialarts.json new file mode 100644 index 0000000000000..be064fcd4a304 --- /dev/null +++ b/data/mods/NW_Pack/nw_martialarts.json @@ -0,0 +1,30 @@ +[ + { + "id": "style_swordsmanship", + "copy-from": "style_swordsmanship", + "type": "martial_art", + "name": "Medieval Swordsmanship", + "extend": { "weapons": [ "laevateinn_replica" ] } + }, + { + "id": "style_ninjutsu", + "copy-from": "style_ninjutsu", + "type": "martial_art", + "name": "Ninjutsu", + "extend": { "weapons": [ "laevateinn_replica" ] } + }, + { + "id": "style_silat", + "copy-from": "style_silat", + "type": "martial_art", + "name": "Silat", + "extend": { "weapons": [ "gungnir_replica" ] } + }, + { + "id": "style_sojutsu", + "copy-from": "style_sojutsu", + "type": "martial_art", + "name": "Sojutsu", + "extend": { "weapons": [ "gungnir_replica" ] } + } +] diff --git a/data/mods/NW_Pack/nw_melee.json b/data/mods/NW_Pack/nw_melee.json index 90c5b437b9f9d..57dd27e0460bd 100644 --- a/data/mods/NW_Pack/nw_melee.json +++ b/data/mods/NW_Pack/nw_melee.json @@ -23,5 +23,18 @@ "volume": 13, "bashing": 10, "price": 120000 + }, + { + "id": "laevateinn_replica", + "copy-from": "arming_sword", + "type": "TOOL", + "name": "Laevateinn", + "description": "A replica of Laevateinn, the sword of Freyr. It is rumored to be able to fight by itself. It is decorated with gold and silver ornaments.", + "price": 160000, + "material": [ "steel", "gold" ], + "techniques": "WBLOCK_2", + "weight": 1860, + "bashing": 17, + "cutting": 33 } ] diff --git a/data/mods/NW_Pack/nw_tools.json b/data/mods/NW_Pack/nw_tools.json deleted file mode 100644 index e4c9543e0474d..0000000000000 --- a/data/mods/NW_Pack/nw_tools.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "id": "laevateinn_replica", - "copy-from": "arming_sword", - "type": "TOOL", - "name": "Laevateinn", - "description": "A replica of Laevateinn, the sword of Freyr. It is rumored to be able to fight by itself. It is decorated with gold and silver ornaments.", - "price": 160000, - "material": [ "steel", "gold" ], - "techniques": "WBLOCK_2", - "weight": 1860, - "bashing": 17, - "cutting": 33 - } -] diff --git a/data/mods/No_Acid_Zombies/modinfo.json b/data/mods/No_Acid_Zombies/modinfo.json index 2039677d16eca..20ff7be0c03a2 100644 --- a/data/mods/No_Acid_Zombies/modinfo.json +++ b/data/mods/No_Acid_Zombies/modinfo.json @@ -14,7 +14,8 @@ "mon_zombie_corrosive", "mon_zombie_acidic", "mon_zombie_soldier_acid_1", - "mon_zombie_soldier_acid_2" + "mon_zombie_soldier_acid_2", + "mon_zombie_wretched" ] } ] diff --git a/data/mods/No_Fungi/furniture.json b/data/mods/No_Fungi/furniture.json index 768622294351d..aeafb770c67e9 100644 --- a/data/mods/No_Fungi/furniture.json +++ b/data/mods/No_Fungi/furniture.json @@ -22,5 +22,29 @@ "required_str": -1, "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "FUNGUS", "TINY" ], "bash": { "str_min": 2, "str_max": 6, "sound": "poof.", "sound_fail": "poof." } + }, + { + "type": "furniture", + "id": "f_fungal_mass", + "name": "fungal mass", + "description": "Thick ropes of mycal matter have covered the ground here completely. It's soft to the touch, but you sink into it, making moving across it difficult.", + "symbol": "O", + "bgcolor": "dark_gray", + "move_cost_mod": -10, + "required_str": -1, + "flags": [ "CONTAINER", "SEALED", "ALLOW_FIELD_EFFECT", "FLAMMABLE_ASH", "FUNGUS", "MOUNTABLE", "SHORT" ], + "bash": { "str_min": 6, "str_max": 30, "sound": "poof.", "sound_fail": "poof." } + }, + { + "type": "furniture", + "id": "f_fungal_clump", + "name": "fungal clump", + "description": "Alien mold and stems mingle tightly here, creating a sort of fungal bush.", + "symbol": "#", + "bgcolor": "light_gray", + "move_cost_mod": 3, + "required_str": -1, + "flags": [ "TRANSPARENT", "CONTAINER", "SEALED", "ALLOW_FIELD_EFFECT", "FLAMMABLE_ASH", "FUNGUS", "MOUNTABLE", "SHORT" ], + "bash": { "str_min": 6, "str_max": 20, "sound": "poof.", "sound_fail": "poof." } } ] diff --git a/data/mods/No_Fungi/terrain.json b/data/mods/No_Fungi/terrain.json index 66d0afbe9013e..16977d315cd5a 100644 --- a/data/mods/No_Fungi/terrain.json +++ b/data/mods/No_Fungi/terrain.json @@ -10,6 +10,131 @@ "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "SHRUB", "FUNGUS", "SHORT" ], "bash": { "str_min": 4, "str_max": 60, "sound": "crunch.", "sound_fail": "poof!", "ter_set": "t_fungus" } }, + { + "type": "terrain", + "id": "t_fungus", + "name": "fungal bed", + "description": "Fungus grows thick here, obscuring the ground beneath it.", + "symbol": ".", + "color": "light_gray", + "move_cost": 3, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "DIGGABLE", "FUNGUS", "NOCOLLIDE" ], + "bash": { + "sound": "smash", + "//": "muffled because fungus", + "ter_set": "t_null", + "str_min": 20, + "str_max": 400, + "str_min_supported": 50 + } + }, + { + "type": "terrain", + "id": "t_fungus_floor_in", + "name": "fungal floor", + "description": "Grayish mold coats both the floor and the roof here, silent and still. Stray spores waft through the air.", + "//": "roofed", + "symbol": ".", + "color": "light_gray", + "move_cost": 2, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "SUPPORTS_ROOF", "COLLAPSES", "INDOORS", "FLAT", "FUNGUS" ], + "bash": { "sound": "smash", "ter_set": "t_null", "str_min": 20, "str_max": 400, "str_min_supported": 50 } + }, + { + "type": "terrain", + "id": "t_fungus_floor_sup", + "name": "fungal floor", + "description": "Grayish mold coats the floor here, silent and still.", + "//": "supports", + "symbol": ".", + "color": "light_gray", + "move_cost": 2, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "SUPPORTS_ROOF", "FLAT", "FUNGUS" ], + "bash": { "sound": "smash", "ter_set": "t_null", "str_min": 20, "str_max": 400, "str_min_supported": 50 } + }, + { + "type": "terrain", + "id": "t_fungus_floor_out", + "name": "fungal floor", + "description": "Grayish mold coats the ground here, silent and still.", + "//": "outside", + "symbol": ".", + "color": "light_gray", + "move_cost": 2, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "FLAT", "FUNGUS" ], + "bash": { "sound": "SMASH!", "ter_set": "t_null", "str_min": 20, "str_max": 400, "str_min_supported": 50 } + }, + { + "type": "terrain", + "id": "t_fungus_wall", + "aliases": [ "t_fungus_wall_h", "t_fungus_wall_v" ], + "name": "fungal wall", + "description": "Several thick, large tendrils of fungus perforate the wall here, piercing straight through it from the outside. Despite the apparent damage, the wall is still structurally sound.", + "symbol": "O", + "color": "dark_gray", + "move_cost": 0, + "coverage": 100, + "flags": [ "FLAMMABLE_ASH", "NOITEM", "SUPPORTS_ROOF", "FUNGUS", "WALL", "MINEABLE" ], + "bash": { "str_min": 30, "str_max": 180, "sound": "crunch!", "sound_fail": "poof!", "ter_set": "t_fungus" } + }, + { + "type": "terrain", + "id": "t_fungus_wall_transformed", + "name": "fungal wall", + "description": "The fungus here has grown thickly and tightly enough to form a solid wall. It feels very stiff to the touch, and seems to be very strong.", + "symbol": "LINE_OXOX", + "color": "dark_gray", + "move_cost": 0, + "coverage": 100, + "flags": [ "FLAMMABLE_ASH", "NOITEM", "SUPPORTS_ROOF", "FUNGUS", "WALL", "AUTO_WALL_SYMBOL", "MINEABLE" ], + "bash": { "str_min": 30, "str_max": 180, "sound": "crunch!", "sound_fail": "poof!", "ter_set": "t_fungus" } + }, + { + "type": "terrain", + "id": "t_fungus_mound", + "name": "fungal mound", + "description": "A mound of fungal matter, intertwined in itself.", + "symbol": "#", + "color": "light_gray", + "move_cost": 4, + "flags": [ "TRANSPARENT", "THIN_OBSTACLE", "FLAMMABLE_ASH", "FUNGUS", "MOUNTABLE" ], + "bash": { "str_min": 10, "str_max": 70, "sound": "crunch!", "sound_fail": "poof!", "ter_set": "t_fungus" } + }, + { + "type": "terrain", + "id": "t_shrub_fungal", + "name": "fungal shrub", + "description": "This shrub has been completely absorbed by the mushrooms. Its branches droop and have lost much of their structure, and its leaves have vanished, replaced by fleshy gray sacks that visibly expand and contract.", + "symbol": "#", + "color": "dark_gray", + "move_cost": 8, + "coverage": 40, + "flags": [ "TRANSPARENT", "CONTAINER", "FLAMMABLE_ASH", "THIN_OBSTACLE", "PLACE_ITEM", "SHRUB", "FUNGUS", "SHORT" ], + "bash": { "str_min": 4, "str_max": 60, "sound": "crunch.", "sound_fail": "poof!", "ter_set": "t_fungus" } + }, + { + "type": "terrain", + "id": "t_tree_fungal", + "name": "fungal tree", + "description": "Once tall and majestic, this tree is now a slave to the fungus like the landscape around it. Its bark is penetrated by and covered with fungal tendrils, and the canopy has rotted away, leaving only the branches, stretching forlornly to the sky as if to escape the infection overrunning it.", + "symbol": "7", + "color": "dark_gray", + "move_cost": 0, + "coverage": 80, + "flags": [ "FLAMMABLE_ASH", "NOITEM", "FUNGUS", "TREE", "REDUCE_SCENT" ], + "bash": { "str_min": 40, "str_max": 180, "sound": "crunch!", "sound_fail": "poof!", "ter_set": "t_fungus" } + }, + { + "type": "terrain", + "id": "t_tree_fungal_young", + "name": "young fungal tree", + "description": "A small sapling poking through the ground, infested by fungal mold.", + "symbol": "1", + "color": "dark_gray", + "move_cost": 4, + "flags": [ "TRANSPARENT", "FLAMMABLE_ASH", "NOITEM", "FUNGUS", "YOUNG", "REDUCE_SCENT" ], + "bash": { "str_min": 4, "str_max": 50, "sound": "crunch!", "sound_fail": "poof!", "ter_set": "t_fungus" } + }, { "type": "terrain", "id": "t_marloss_tree", diff --git a/data/mods/No_Old_guns/modinfo.json b/data/mods/No_Old_guns/modinfo.json index 01dee47e29971..de2b11b5721fb 100644 --- a/data/mods/No_Old_guns/modinfo.json +++ b/data/mods/No_Old_guns/modinfo.json @@ -4,7 +4,7 @@ "ident": "no_olg_guns", "name": "No Antique Firearms", "authors": [ "Rivet-the-Zombie" ], - "maintainers": [ "Rivet-the-Zombie" ], + "maintainers": [ "Rivet-the-Zombie", "Cyrano7" ], "description": "Removes all black powder and pre-Cold War firearms.", "category": "item_exclude", "dependencies": [ "dda" ] @@ -12,6 +12,8 @@ { "type": "ITEM_BLACKLIST", "items": [ + "sharps", + "colt_saa", "lemat_revolver", "garand", "garandclip", @@ -60,7 +62,10 @@ "762_25hot", "762_25typeP", "reloaded_762_25", - "762_25_casing" + "762_25_casing", + "45colt_jhp", + "reloaded_45colt_jhp", + "45colt_casing" ] } ] diff --git a/data/mods/No_Survivor_Armor/survivor.json b/data/mods/No_Survivor_Armor/survivor.json index c191a18d422d5..ead1bdec519b4 100644 --- a/data/mods/No_Survivor_Armor/survivor.json +++ b/data/mods/No_Survivor_Armor/survivor.json @@ -38,6 +38,7 @@ "gloves_lsurvivor", "gloves_survivor", "gloves_hsurvivor", + "gloves_survivor_fingerless", "hood_lsurvivor", "hood_survivor", "helmet_survivor", @@ -59,6 +60,8 @@ "survivor_goggles", "survivor_light", "survivor_light_on", + "wearable_atomic_light", + "wearable_atomic_light_off", "lsurvivor_pants", "lsurvivor_armor" ] diff --git a/data/mods/Tanks/items.json b/data/mods/Tanks/items.json index 7475d6b7f1a9b..d683a37cb5729 100644 --- a/data/mods/Tanks/items.json +++ b/data/mods/Tanks/items.json @@ -368,7 +368,7 @@ "dispersion": 0, "sight_dispersion": 10, "durability": 8, - "burst": 5, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 5 ] ], "reload": 700, "loudness": 175, "magazines": [ [ "30mm", [ "belt30mm" ] ] ] diff --git a/data/mods/Tanks/snippets.json b/data/mods/Tanks/snippets.json index d02f47d7adffc..d1b732283e280 100644 --- a/data/mods/Tanks/snippets.json +++ b/data/mods/Tanks/snippets.json @@ -1,29 +1,22 @@ [ - { - "type": "snippet", - "category": "note", - "text": [ "\"Tank drone, meet the real deal. See how you handle 120 millimeters of HELL YEAH!\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"big fucking gun, earplugs are good for your brain\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"I have a bicyle-mounted tank cannon. Your argument is invalid.\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"Next person to call this infantry fighting vehicle a 'tank' is walking home.\"" ] - }, { "type": "snippet", "category": "note", "text": [ - "\"Found what used to be an armored platoon. Most tanks have hatches up top, not in the back like the new ones they're using.\"" + { + "id": "note_tanks_1", + "text": "\"Tank drone, meet the real deal. See how you handle 120 millimeters of HELL YEAH!\"" + }, + { "id": "note_tanks_2", "text": "\"big fucking gun, earplugs are good for your brain\"" }, + { "id": "note_tanks_3", "text": "\"I have a bicyle-mounted tank cannon. Your argument is invalid.\"" }, + { + "id": "note_tanks_4", + "text": "\"Next person to call this infantry fighting vehicle a 'tank' is walking home.\"" + }, + { + "id": "note_tanks_5", + "text": "\"Found what used to be an armored platoon. Most tanks have hatches up top, not in the back like the new ones they're using.\"" + } ] } ] diff --git a/data/mods/alt_map_key/overmap_terrain.json b/data/mods/alt_map_key/overmap_terrain.json index 74a9953b24557..212ac5e59bcd8 100644 --- a/data/mods/alt_map_key/overmap_terrain.json +++ b/data/mods/alt_map_key/overmap_terrain.json @@ -840,20 +840,153 @@ }, { "type": "overmap_terrain", - "id": "megastore_entrance", - "copy-from": "megastore_entrance", - "name": "megastore", - "sym": "M", - "color": "i_magenta" + "id": "megastore_parking", + "copy-from": "megastore_parking", + "sym": "p", + "color": "light_blue" }, { "type": "overmap_terrain", - "id": "megastore", - "copy-from": "megastore", - "name": "megastore", + "id": "megastore_0_0_0", + "copy-from": "megastore_0_0_0", "sym": "m", "color": "i_magenta" }, + { + "type": "overmap_terrain", + "id": "megastore_1_0_0", + "copy-from": "megastore_0_0_0" + }, + { + "type": "overmap_terrain", + "id": "megastore_2_0_0", + "copy-from": "megastore_0_0_0" + }, + { + "type": "overmap_terrain", + "id": "megastore_0_1_0", + "copy-from": "megastore_0_0_0" + }, + { + "type": "overmap_terrain", + "id": "megastore_1_1_0", + "copy-from": "megastore_0_0_0" + }, + { + "type": "overmap_terrain", + "id": "megastore_2_1_0", + "copy-from": "megastore_0_0_0" + }, + { + "type": "overmap_terrain", + "id": "megastore_0_2_0", + "copy-from": "megastore_0_0_0" + }, + { + "type": "overmap_terrain", + "id": "megastore_1_2_0", + "copy-from": "megastore_1_2_0", + "name": "megastore entrance", + "color": "i_magenta", + "symbol": "M" + }, + { + "type": "overmap_terrain", + "id": "megastore_2_2_0", + "copy-from": "megastore_0_0_0" + }, + { + "type": "overmap_terrain", + "id": "megastore_0_0_1", + "copy-from": "megastore_0_0_1", + "color": "i_magenta" + }, + { + "type": "overmap_terrain", + "id": "megastore_1_0_1", + "copy-from": "megastore_0_0_1" + }, + { + "type": "overmap_terrain", + "id": "megastore_2_0_1", + "copy-from": "megastore_0_0_1" + }, + { + "type": "overmap_terrain", + "id": "megastore_0_1_1", + "copy-from": "megastore_0_0_1" + }, + { + "type": "overmap_terrain", + "id": "megastore_1_1_1", + "copy-from": "megastore_0_0_1" + }, + { + "type": "overmap_terrain", + "id": "megastore_2_1_1", + "copy-from": "megastore_0_0_1" + }, + { + "type": "overmap_terrain", + "id": "megastore_0_2_1", + "copy-from": "megastore_0_0_1" + }, + { + "type": "overmap_terrain", + "id": "megastore_1_2_1", + "copy-from": "megastore_0_0_1" + }, + { + "type": "overmap_terrain", + "id": "megastore_2_2_1", + "copy-from": "megastore_0_0_1" + }, + { + "type": "overmap_terrain", + "id": "megastore_0_0_roof", + "copy-from": "megastore_0_0_roof", + "color": "i_magenta" + }, + { + "type": "overmap_terrain", + "id": "megastore_1_0_roof", + "copy-from": "megastore_0_0_roof" + }, + { + "type": "overmap_terrain", + "id": "megastore_2_0_roof", + "copy-from": "megastore_0_0_roof" + }, + { + "type": "overmap_terrain", + "id": "megastore_0_1_roof", + "copy-from": "megastore_0_0_roof" + }, + { + "type": "overmap_terrain", + "id": "megastore_1_1_roof", + "copy-from": "megastore_0_0_roof" + }, + { + "type": "overmap_terrain", + "id": "megastore_2_1_roof", + "copy-from": "megastore_0_0_roof" + }, + { + "type": "overmap_terrain", + "id": "megastore_0_2_roof", + "copy-from": "megastore_0_0_roof" + }, + { + "type": "overmap_terrain", + "id": "megastore_1_2_roof", + "copy-from": "megastore_0_0_roof" + }, + { + "type": "overmap_terrain", + "id": "megastore_2_2_roof", + "copy-from": "megastore_0_0_roof" + }, { "type": "overmap_terrain", "abstract": "generic_hospital", diff --git a/data/mods/blazemod/blaze_blob.json b/data/mods/blazemod/blaze_blob.json index b44eeceb9e533..bc7591332281f 100644 --- a/data/mods/blazemod/blaze_blob.json +++ b/data/mods/blazemod/blaze_blob.json @@ -138,7 +138,7 @@ "pierce": 15, "sight_dispersion": 150, "durability": 10, - "burst": 5, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 5 ] ], "clip_size": 50, "ammo_effects": [ "WIDE" ], "flags": [ "NEVER_JAMS", "MOUNTED_GUN", "NO_BOOM" ] @@ -343,7 +343,7 @@ "pierce": 20, "sight_dispersion": 150, "durability": 10, - "burst": 5, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 5 ] ], "clip_size": 50, "ammo_effects": [ "WIDE" ], "flags": [ "NEVER_JAMS", "MOUNTED_GUN" ] @@ -690,7 +690,7 @@ "pierce": 15, "sight_dispersion": 150, "durability": 10, - "burst": 20, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 20 ] ], "clip_size": 240, "ammo_effects": [ "WIDE" ], "flags": [ "NEVER_JAMS", "MOUNTED_GUN" ] @@ -1053,7 +1053,7 @@ "pierce": 5, "sight_dispersion": 150, "durability": 10, - "burst": 3, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], "clip_size": 36, "flags": [ "NEVER_JAMS", "MOUNTED_GUN" ] }, @@ -1232,7 +1232,7 @@ "dispersion": 450, "sight_dispersion": 150, "durability": 10, - "burst": 3, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], "clip_size": 180, "ammo_effects": [ "INCENDIARY", "FLARE", "WIDE", "NO_BOOM", "STREAM" ], "flags": [ "NEVER_JAMS", "MOUNTED_GUN", "NO_BOOM", "FIRE_20" ] diff --git a/data/mods/blazemod/blaze_override.json b/data/mods/blazemod/blaze_override.json index 53e144c201054..0508c3460d789 100644 --- a/data/mods/blazemod/blaze_override.json +++ b/data/mods/blazemod/blaze_override.json @@ -5,7 +5,6 @@ "type": "AMMO", "name": "rock", "count": 1, - "ammo_type": "h_projectile", "damage": 15, "dispersion": 45, "effects": [ "RECOVER_10", "BEANBAG" ] diff --git a/data/mods/blazemod/blaze_test.json b/data/mods/blazemod/blaze_test.json index 54264e03b47c7..3aedc2654d13f 100644 --- a/data/mods/blazemod/blaze_test.json +++ b/data/mods/blazemod/blaze_test.json @@ -859,7 +859,7 @@ "dispersion": 300, "sight_dispersion": 150, "durability": 8, - "burst": 3, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], "clip_size": 30, "reload": 40, "valid_mod_locations": [ ], @@ -964,7 +964,7 @@ "dispersion": 300, "sight_dispersion": 150, "durability": 8, - "burst": 5, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], "clip_size": 250, "reload": 10, "valid_mod_locations": [ ], diff --git a/data/mods/blazemod/blaze_weapons.json b/data/mods/blazemod/blaze_weapons.json index 3b1d11f270ba9..4d342188fb39c 100644 --- a/data/mods/blazemod/blaze_weapons.json +++ b/data/mods/blazemod/blaze_weapons.json @@ -20,7 +20,7 @@ "pierce": 20, "sight_dispersion": 150, "durability": 9, - "burst": 3, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], "reload": 150, "magazine_well": 1, "magazines": [ [ "bolt", [ "bolt_hopper" ] ] ], @@ -51,7 +51,7 @@ "magazine_well": 1, "magazines": [ [ "h_projectile", [ "cannister_rack" ] ] ], "ammo_effects": [ "WIDE" ], - "flags": [ "NEVER_JAMS", "MOUNTED_GUN" ] + "flags": [ "NEVER_JAMS", "MOUNTED_GUN", "NON-FOULING" ] }, { "id": "cutter", @@ -76,7 +76,7 @@ "clip_size": 5, "reload": 1250, "valid_mod_locations": [ ], - "flags": [ "MOUNTED_GUN", "NEVER_JAMS" ] + "flags": [ "MOUNTED_GUN", "NEVER_JAMS", "NON-FOULING" ] }, { "id": "gattler", @@ -98,7 +98,7 @@ "ranged_damage": 60, "sight_dispersion": 150, "durability": 8, - "burst": 3, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], "clip_size": 12, "reload": 750, "valid_mod_locations": [ ], @@ -149,7 +149,7 @@ "pierce": 20, "sight_dispersion": 150, "durability": 8, - "burst": 5, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 5 ] ], "ups_charges": 29, "valid_mod_locations": [ ], "ammo_effects": [ "LASER", "WIDE" ], @@ -178,7 +178,7 @@ "ups_charges": 499, "valid_mod_locations": [ ], "ammo_effects": [ "EXPLOSIVE", "LASER", "WIDE" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD", "MOUNTED_GUN" ] + "flags": [ "NEVER_JAMS", "NO_UNLOAD", "MOUNTED_GUN", "NON-FOULING" ] }, { "id": "nailer", @@ -206,7 +206,7 @@ "valid_mod_locations": [ ], "magazine_well": 1, "magazines": [ [ "nail", [ "nailmag" ] ] ], - "flags": [ "MOUNTED_GUN", "NEVER_JAMS" ] + "flags": [ "MOUNTED_GUN", "NEVER_JAMS", "NON-FOULING" ] }, { "id": "needler", @@ -229,7 +229,7 @@ "pierce": 15, "sight_dispersion": 150, "durability": 8, - "burst": 5, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 5 ] ], "reload": 150, "valid_mod_locations": [ ], "magazine_well": 1, @@ -284,12 +284,12 @@ "pierce": 5, "sight_dispersion": 150, "durability": 8, - "burst": 5, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 5 ] ], "clip_size": 15, "reload": 750, "valid_mod_locations": [ ], "ammo_effects": [ "WIDE" ], - "flags": [ "NEVER_JAMS", "MOUNTED_GUN" ] + "flags": [ "NEVER_JAMS", "MOUNTED_GUN", "NON-FOULING" ] }, { "id": "rslauncher", @@ -311,12 +311,12 @@ "ranged_damage": 40, "sight_dispersion": 150, "durability": 8, - "burst": 3, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], "clip_size": 12, "reload": 2500, "valid_mod_locations": [ ], "ammo_effects": [ "WIDE" ], - "flags": [ "NEVER_JAMS", "MOUNTED_GUN" ] + "flags": [ "NEVER_JAMS", "MOUNTED_GUN", "NON-FOULING" ] }, { "id": "scorpion", @@ -342,7 +342,7 @@ "reload": 750, "valid_mod_locations": [ ], "ammo_effects": [ "WIDE" ], - "flags": [ "NEVER_JAMS", "MOUNTED_GUN" ] + "flags": [ "NEVER_JAMS", "MOUNTED_GUN", "NON-FOULING" ] }, { "id": "shardgun", @@ -365,13 +365,13 @@ "dispersion": 1300, "sight_dispersion": 150, "durability": 5, - "burst": 25, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 25 ] ], "ups_charges": 1, "reload": 150, "valid_mod_locations": [ ], "magazine_well": 1, "magazines": [ [ "BB", [ "bb_hopper" ] ] ], - "flags": [ "BURST_ONLY", "MOUNTED_GUN", "NEVER_JAMS" ] + "flags": [ "BURST_ONLY", "MOUNTED_GUN", "NEVER_JAMS", "NON-FOULING" ] }, { "id": "slauncher", @@ -394,12 +394,12 @@ "pierce": 15, "sight_dispersion": 150, "durability": 8, - "burst": 3, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 3 ] ], "clip_size": 12, "reload": 750, "valid_mod_locations": [ ], "ammo_effects": [ "WIDE" ], - "flags": [ "NEVER_JAMS", "MOUNTED_GUN" ] + "flags": [ "NEVER_JAMS", "MOUNTED_GUN", "NON-FOULING" ] }, { "id": "teslagun", @@ -423,7 +423,7 @@ "ups_charges": 249, "valid_mod_locations": [ ], "ammo_effects": [ "BOUNCE", "LIGHTNING", "MOUNTED_GUN" ], - "flags": [ "NEVER_JAMS", "NO_UNLOAD" ] + "flags": [ "NEVER_JAMS", "NO_UNLOAD", "NON-FOULING" ] }, { "id": "tiharturret", @@ -445,10 +445,10 @@ "ranged_damage": 25, "sight_dispersion": 150, "durability": 9, - "burst": 5, + "modes": [ [ "DEFAULT", "semi-auto", 1 ], [ "AUTO", "auto", 5 ] ], "magazine_well": 1, "magazines": [ [ "pebble", [ "pebble_hopper" ] ] ], "reload": 150, - "flags": [ "NEVER_JAMS", "MOUNTED_GUN" ] + "flags": [ "NEVER_JAMS", "MOUNTED_GUN", "NON-FOULING" ] } ] diff --git a/data/mods/blazemod/snippets.json b/data/mods/blazemod/snippets.json index 5f11e87bedf84..9a8466ff8ee85 100644 --- a/data/mods/blazemod/snippets.json +++ b/data/mods/blazemod/snippets.json @@ -3,56 +3,31 @@ "type": "snippet", "category": "note", "text": [ - "\"Agh, to See the Spiral in such a Distorted Shape! Manipulated for its Vortex motion! Its Perpetual Grace! Its beauty Tarnished...\"" + { + "id": "note_blazemod_1", + "text": "\"Agh, to See the Spiral in such a Distorted Shape! Manipulated for its Vortex motion! Its Perpetual Grace! Its beauty Tarnished...\"" + }, + { "id": "note_blazemod_2", "text": "\"My friend died, but at least I made her into a blob turret.\"" }, + { + "id": "note_blazemod_3", + "text": "\"I have this laser cannon turret on my shopping cart. I push it around and everything dies. I think I'm gonna toss it in the lake-- this just isn't fair anymore.\"" + }, + { + "id": "note_blazemod_4", + "text": "\"Day 40. Controls broken-- car's magic reactor makes it goes inexorably forward. Giant rollers on front demolish forest. Maine, here I come.\"" + }, + { "id": "note_blazemod_5", "text": "\"my car is a diamond in the rough... literally\"" }, + { "id": "note_blazemod_6", "text": "\"M249 TURRET NODDED. IS TURRET ALIVE? FINALLY, SOMEBODY TO TALK TO!\"" }, + { "id": "note_blazemod_7", "text": "\"Added so many things to my taxi that it went a-blaze. Whoops.\"" }, + { + "id": "note_blazemod_8", + "text": "\"If I put one cargo dimension into another cargo dimension, does the universe end?\"" + }, + { "id": "note_blazemod_9", "text": "\"one day, i will be part of car, too\"" }, + { + "id": "note_blazemod_10", + "text": "\"Putta little bitta dynamite and halfa landmine in an old soda can... WHAM! You goin' somewhere.\"" + } ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"My friend died, but at least I made her into a blob turret.\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ - "\"I have this laser cannon turret on my shopping cart. I push it around and everything dies. I think I'm gonna toss it in the lake-- this just isn't fair anymore.\"" - ] - }, - { - "type": "snippet", - "category": "note", - "text": [ - "\"Day 40. Controls broken-- car's magic reactor makes it goes inexorably forward. Giant rollers on front demolish forest. Maine, here I come.\"" - ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"my car is a diamond in the rough... literally\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"M249 TURRET NODDED. IS TURRET ALIVE? FINALLY, SOMEBODY TO TALK TO!\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"Added so many things to my taxi that it went a-blaze. Whoops.\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"If I put one cargo dimension into another cargo dimension, does the universe end?\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"one day, i will be part of car, too\"" ] - }, - { - "type": "snippet", - "category": "note", - "text": [ "\"Putta little bitta dynamite and halfa landmine in an old soda can... WHAM! You goin' somewhere.\"" ] } ] diff --git a/data/mods/desert_region/desert_items.json b/data/mods/desert_region/desert_items.json deleted file mode 100644 index a327a00352b7b..0000000000000 --- a/data/mods/desert_region/desert_items.json +++ /dev/null @@ -1,23 +0,0 @@ -[ - { - "type": "COMESTIBLE", - "id": "cholla_bud", - "name": "cholla bud", - "weight": 92, - "color": "red", - "spoils_in": "6 days 16 hours", - "comestible_type": "FOOD", - "symbol": "%", - "quench": 6, - "healthy": 2, - "calories": 62, - "description": "The candy of the Mojave Indigenous peoples.", - "price": 900, - "material": "fruit", - "volume": "175 ml", - "fun": 6, - "flags": [ "FREEZERBURN", "SMOKABLE" ], - "smoking_result": "dry_fruit", - "vitamins": [ [ "vitA", 2 ], [ "vitC", 18 ], [ "iron", 1 ] ] - } -] diff --git a/data/mods/makeshift/recipe.json b/data/mods/makeshift/recipe.json index a081f56202593..6549cd3771d11 100644 --- a/data/mods/makeshift/recipe.json +++ b/data/mods/makeshift/recipe.json @@ -67,14 +67,9 @@ "difficulty": 7, "time": 400000, "book_learn": [ [ "recipe_melee", 6 ] ], - "qualities": [ { "id": "HAMMER", "level": 3 }, { "id": "CHISEL", "level": 3 } ], - "tools": [ - [ [ "tongs", -1 ] ], - [ [ "anvil", -1 ] ], - [ [ "swage", -1 ] ], - [ [ "forge", 400 ], [ "oxy_torch", 80 ] ], - [ [ "mold_plastic", -1 ] ] - ], - "components": [ [ [ "steel_lump", 2 ], [ "steel_chunk", 8 ], [ "scrap", 24 ] ], [ [ "plastic_chunk", 2 ] ] ] + "using": [ [ "blacksmithing_standard", 8 ], [ "steel_standard", 2 ] ], + "qualities": [ { "id": "CHISEL", "level": 3 } ], + "tools": [ [ [ "swage", -1 ] ], [ [ "mold_plastic", -1 ] ] ], + "components": [ [ [ "plastic_chunk", 2 ] ] ] } ] diff --git a/data/mods/mapspecials_demo/megastore/mega_1brc_03.json b/data/mods/mapspecials_demo/megastore/mega_1brc_03.json index dbdb219c51e74..2b2920e6c43ab 100644 --- a/data/mods/mapspecials_demo/megastore/mega_1brc_03.json +++ b/data/mods/mapspecials_demo/megastore/mega_1brc_03.json @@ -36,7 +36,7 @@ "rotation": 2, "palettes": [ "megastore", "mega_goods_c" ], "set": [ { "square": "terrain", "x": 9, "y": 9, "x2": 14, "y2": 14, "id": "t_concrete" } ], - "items": { "C": { "item": "produce", "chance": 30, "count": 3 } } + "items": { "C": { "item": "produce", "chance": 30, "repeat": 3 } } } } ] diff --git a/data/motd/en.motd b/data/motd/en.motd index 172c271c2b224..3d7e47df384b8 100644 --- a/data/motd/en.motd +++ b/data/motd/en.motd @@ -53,7 +53,7 @@ This is why experimental builds exist in the first place. Q: Should I play experimental builds then, or stick to stable build? A: The reward is instant access to the newest content, the risk is losing your game progress if a nasty bug emerges. It is always your choice to play -experimental builds, with a stable build avalaible, so play at your own +experimental builds, with a stable build available, so play at your own discretion. You take all of the burden if something goes wrong, so be warned. Take precautions, make backups. Sometimes it's even best to postpone updating for few days until a big feature has been stabilized or diff --git a/data/raw/keybindings.json b/data/raw/keybindings.json index ae5082e0a6984..44df0239da8d4 100644 --- a/data/raw/keybindings.json +++ b/data/raw/keybindings.json @@ -1410,6 +1410,13 @@ "name": "Toggle activate/examine", "bindings": [ { "input_method": "keyboard", "key": "!" } ] }, + { + "type": "keybinding", + "id": "TOGGLE_SAFE_FUEL", + "category": "BIONICS", + "name": "Toggle safe fuel mod", + "bindings": [ { "input_method": "keyboard", "key": "s" } ] + }, { "type": "keybinding", "id": "TOGGLE_EXAMINE", diff --git a/data/raw/keybindings/vehicle.json b/data/raw/keybindings/vehicle.json index 8abc485e56c77..c41342cfd7ce8 100644 --- a/data/raw/keybindings/vehicle.json +++ b/data/raw/keybindings/vehicle.json @@ -39,7 +39,7 @@ "type": "keybinding", "category": "VEHICLE", "name": "Toggle aisle lights", - "bindings": [ { "input_method": "keyboard", "key": "a" } ] + "bindings": [ { "input_method": "keyboard", "key": "L" } ] }, { "id": "TOGGLE_ALARM", @@ -55,6 +55,13 @@ "name": "Toggle atomic lights", "bindings": [ { "input_method": "keyboard", "key": "A" } ] }, + { + "id": "CONTROL_AUTOPILOT", + "type": "keybinding", + "category": "VEHICLE", + "name": "Control autopiot", + "bindings": [ { "input_method": "keyboard", "key": "a" } ] + }, { "id": "TOGGLE_CAMERA", "type": "keybinding", diff --git a/doc/CHANGELOG_GUIDELINES.md b/doc/CHANGELOG_GUIDELINES.md index 99ff5a4410487..77258eb0692d4 100644 --- a/doc/CHANGELOG_GUIDELINES.md +++ b/doc/CHANGELOG_GUIDELINES.md @@ -1,6 +1,9 @@ These are the categories used by Pull Request Summary lines as outlined in the [PR Template](../.github/pull_request_template.md). In the end, it's up to the author to decide where *they* want their change to be listed, these are only guidelines, not rules. + +#### None +Please consider a summary of "SUMMARY: None" for minor additions and fixes. There are far too many changes made to the game to feature anything approaching all of them in the changelog. #### Features If it adds something new that the player can do, or that can happen to the player, it's a feature. These will generally be edits to the C++ code in the game, though new json entities may be involved as well. diff --git a/doc/COMPILING/COMPILING.md b/doc/COMPILING/COMPILING.md index bc08be44edafb..f2e846e60823b 100644 --- a/doc/COMPILING/COMPILING.md +++ b/doc/COMPILING/COMPILING.md @@ -10,11 +10,11 @@ * [Cross-compile to Windows from Linux](#cross-compile-to-windows-from-linux) * [Cross-compile to Mac OS X from Linux](#cross-compile-to-mac-os-x-from-linux) * [Cross-compile to Android from Linux](#cross-compile-to-android-from-linux) - * [Troubleshooting](#debian-troubleshooting) + * [Troubleshooting](#linux-troubleshooting) * [Mac OS X](#mac-os-x) * [Simple build using Homebrew](#simple-build-using-homebrew) * [Advanced info for Developers](#advanced-info-for-developers) - * [Troubleshooting](#mac-troubleshooting) + * [Troubleshooting](#mac-os-x-troubleshooting) * [Windows](#windows) * [Building with Visual Studio](#building-with-visual-studio) * [Building with MSYS2](#building-with-msys2) @@ -548,7 +548,7 @@ Once `dmgbuild` is installed, you will be able to use the `dmgdist` target like You should see a `Cataclysm.dmg` file. -## Troubleshooting +## Mac OS X Troubleshooting ### ISSUE: Game runs very slowly when built for Mac OS X 10.11 or earlier diff --git a/doc/EFFECTS_JSON.md b/doc/EFFECTS_JSON.md index 85f3dd37b32f9..5f637266e3e5b 100644 --- a/doc/EFFECTS_JSON.md +++ b/doc/EFFECTS_JSON.md @@ -299,138 +299,139 @@ This is where the real meat of the effect JSON definition lies. Each one can tak Decimals are valid but must be formatted as "0.X" or "-0.X". The game will round towards zero at the end when calculating actually applied values +Basic definitions: +```C++ +"X_amount" - Amount applied of X when effect is placed. Like apply messages it will only trigger on new effects +"X_min" - Minimum amount of X applied when roll triggers +"X_max" - Maximum amount of X applied when roll triggers (no entry means it will give exactly X_min each time instead of rng(min, max) +"X_min_val" - Minimum value the effect will push you to, 0 means uncapped! Doesn't exist for some X's! +"X_max_val" - Maximum value the effect will push you to, 0 means uncapped! Doesn't exist for some X's! +"X_chance" - Basic chance of X triggering each time, depends on "X_chance_bot" for exact formula +"X_chance_bot" - If this doesn't exist then the trigger chance is (1 in "X_chance"). If this does exist then the chance is ("X_chance" in "X_chance_bot") +"X_tick" - Effect rolls for X triggering every Y ticks +``` + Valid arguments: ```C++ -"str_mod" -"dex_mod" -"per_mod" -"int_mod" -"speed_mod" +"str_mod" - Positive values raises stat, negative values lowers stat +"dex_mod" - Positive values raises stat, negative values lowers stat +"per_mod" - Positive values raises stat, negative values lowers stat +"int_mod" - Positive values raises stat, negative values lowers stat +"speed_mod" - Positive values raises stat, negative values lowers stat -"pain_amount" -"pain_min" +"pain_amount" - Positives raise pain, negatives don't make anything. Don't make it too high. +"pain_min" - Minimal amount of pain, certain effect will give/take "pain_max" - if 0 or missing value will be exactly "pain_min" "pain_max_val" - Defaults to 0, which means uncapped -"pain_chance" +"pain_chance" - Chance to get more pain "pain_chance_bot" -"pain_tick" - Defaults to every tick +"pain_tick" - Defaults to every tick. -"hurt_amount" -"hurt_min" +"hurt_amount" - Positives will give damage, negatives will heal instead. Don't make it too high. +"hurt_min" - Minimal amount of damage, certain effect will give/take "hurt_max" - if 0 or missing value will be exactly "hurt_min" -"hurt_chance" +"hurt_chance" - Chance to cause damage "hurt_chance_bot" "hurt_tick" - Defaults to every tick -"sleep_amount" -"sleep_min" +"sleep_amount" - Amount of turns spent sleeping. +"sleep_min" - Minimal amount of sleep in turns, certain effect can give "sleep_max" - if 0 or missing value will be exactly "sleep_min" -"sleep_chance" +"sleep_chance" - Chance to fall asleep "sleep_chance_bot" "sleep_tick" - Defaults to every tick -"pkill_amount" -"pkill_min" +"pkill_amount" - Amount of painkiller effect. Don't go too high with it. +"pkill_min" - Minimal amount of painkiller, certain effect will give "pkill_max" - if 0 or missing value will be exactly "pkill_min" "pkill_max_val" - Defaults to 0, which means uncapped -"pkill_chance" +"pkill_chance" - Chance to cause painkiller effect(lowers pain) "pkill_chance_bot" "pkill_tick" - Defaults to every tick -"stim_amount" -"stim_min" +"stim_amount" - Negatives cause depressants effect and positives cause stimulants effect. +"stim_min" - Minimal amount of stimulant, certain effect will give. "stim_max" - if 0 or missing value will be exactly "stim_min" "stim_min_val" - Defaults to 0, which means uncapped "stim_max_val" - Defaults to 0, which means uncapped -"stim_chance" +"stim_chance" - Chance to cause one of two stimulant effects "stim_chance_bot" "stim_tick" - Defaults to every tick -"health_amount" -"health_min" +"health_amount" - Negatives decrease health and positives increase it. It's semi-hidden stat, which affects healing. +"health_min" - Minimal amount of health, certain effect will give/take. "health_max" - if 0 or missing value will be exactly "health_min" "health_min_val" - Defaults to 0, which means uncapped "health_max_val" - Defaults to 0, which means uncapped -"health_chance" +"health_chance" - Chance to change health "health_chance_bot" "health_tick" - Defaults to every tick -"h_mod_amount" -"h_mod_min" +"h_mod_amount" - Affects health stat growth, positives increase it and negatives decrease it +"h_mod_min" - Minimal amount of health_modifier, certain effect will give/take "h_mod_max" - if 0 or missing value will be exactly "h_mod_min" "h_mod_min_val" - Defaults to 0, which means uncapped "h_mod_max_val" - Defaults to 0, which means uncapped -"h_mod_chance" +"h_mod_chance" - Chance to change health_modifier "h_mod_chance_bot" "h_mod_tick" - Defaults to every tick -"rad_amount" -"rad_min" +"rad_amount" - Amount of radiation it can give/take. Just be aware that anything above [50] is fatal. +"rad_min" - Minimal amount of radiation, certain effect will give/take "rad_max" - if 0 or missing value will be exactly "rad_min" "rad_max_val" - Defaults to 0, which means uncapped -"rad_chance" +"rad_chance" - Chance to get more radiation "rad_chance_bot" "rad_tick" - Defaults to every tick -"hunger_amount" -"hunger_min" +"hunger_amount" - Amount of hunger it can give/take. +"hunger_min" - Minimal amount of hunger, certain effect will give/take "hunger_max" - if 0 or missing value will be exactly "hunger_min" "hunger_min_val" - Defaults to 0, which means uncapped "hunger_max_val" - Defaults to 0, which means uncapped -"hunger_chance" +"hunger_chance" - Chance to become more hungry "hunger_chance_bot" "hunger_tick" - Defaults to every tick -"thirst_amount" -"thirst_min" +"thirst_amount" - Amount of thirst it can give/take. +"thirst_min" - Minimal amount of thirst, certain effect will give/take "thirst_max" - if 0 or missing value will be exactly "thirst_min" "thirst_min_val" - Defaults to 0, which means uncapped "thirst_max_val" - Defaults to 0, which means uncapped -"thirst_chance" +"thirst_chance" - Chance to become more thirsty "thirst_chance_bot" "thirst_tick" - Defaults to every tick -"fatigue_amount" -"fatigue_min" +"fatigue_amount" - Amount of fatigue it can give/take. After certain amount character will need to sleep. +"fatigue_min" - Minimal amount of fatigue, certain effect will give/take "fatigue_max" - if 0 or missing value will be exactly "fatigue_min" "fatigue_min_val" - Defaults to 0, which means uncapped "fatigue_max_val" - Defaults to 0, which means uncapped -"fatigue_chance" +"fatigue_chance" - Chance to get more tired "fatigue_chance_bot" "fatigue_tick" - Defaults to every tick -"stamina_amount" -"stamina_min" +"stamina_amount" - Amount of stamina it can give/take. +"stamina_min" - Minimal amount of stamina, certain effect will give/take "stamina_max" - if 0 or missing value will be exactly "stamina_min" "stamina_min_val" - Defaults to 0, which means uncapped "stamina_max_val" - Defaults to 0, which means uncapped -"stamina_chance" +"stamina_chance" - Chance to get stamina changes "stamina_chance_bot" "stamina_tick" - Defaults to every tick -"cough_chance" +"cough_chance" - Chance to cause cough "cough_chance_bot" -"cough_tick" +"cough_tick" - Defaults to every tick -"vomit_chance" +"vomit_chance" - Chance to cause vomiting "vomit_chance_bot" -"vomit_tick" +"vomit_tick" - Defaults to every tick "healing_rate" - Healed rate per day "healing_head" - Percentage of healing value for head "healing_torso" - Percentage of healing value for torso -``` -Basic definitions: -```C++ -"X_amount" - Amount applied of X when effect is placed. Like apply messages it will only trigger on new effects -"X_min" - Minimum amount of X applied when roll triggers -"X_max" - Maximum amount of X applied when roll triggers (no entry means it will give exactly X_min each time instead of rng(min, max) -"X_min_val" - Minimum value the effect will push you to, 0 means uncapped! Doesn't exist for some X's! -"X_max_val" - Maximum value the effect will push you to, 0 means uncapped! Doesn't exist for some X's! -"X_chance" - Basic chance of X triggering each time, depends on "X_chance_bot" for exact formula -"X_chance_bot" - If this doesn't exist then the trigger chance is (1 in "X_chance"). If this does exist then the chance is ("X_chance" in "X_chance_bot") -"X_tick" - Effect rolls for X triggering every Y ticks ``` Each argument can also take either one or two values. ```C++ diff --git a/doc/ITEM_SPAWN.md b/doc/ITEM_SPAWN.md index ecce110ccaaad..c2d974c54b854 100644 --- a/doc/ITEM_SPAWN.md +++ b/doc/ITEM_SPAWN.md @@ -91,6 +91,8 @@ Each entry can have more values (shown above as `...`). They allow further prope `count` makes the item spawn repeat to create more items, each time creating a new item. +`charges`: Setting only min, not max will make the game calculate the max charges based on container or ammo/magazine capacity. Setting max too high will decrease it to maximum capacity. Not setting min will set it to 0 when max is set. + ```json "damage-min": 0, "damage-max": 3, diff --git a/doc/JSON_FLAGS.md b/doc/JSON_FLAGS.md index 4ea9d37de5214..83e0f1a88cf7e 100644 --- a/doc/JSON_FLAGS.md +++ b/doc/JSON_FLAGS.md @@ -1,6 +1,7 @@ # JSON Flags * [Notes](#notes) +* [Inheritance](#inheritance) * [TODO](#todo) * [Ammo](#ammo) + [Ammo type](#ammo-type) @@ -74,6 +75,11 @@ - Offensive and defensive flags can be used on any item type that can be wielded. +## Inheritance + +When an item is crafted, it can inherit flags from the components that were used to craft it. This requires that the flag to be inherited has the `"craft_inherit": true` entry. If you don't want a particular item to inherit flags when crafted, you can add the flag `NO_CRAFT_INHERIT` to that item. + + ## TODO - Descriptions for `Special attacks` under `Monsters` could stand to be more descriptive of exactly what the attack does. @@ -465,7 +471,7 @@ Some armor flags, such as `WATCH` and `ALARMCLOCK` are compatible with other ite - ```FREEZERBURN``` First thaw is MUSHY, second is rotten - ```FUNGAL_VECTOR``` Will give a fungal infection when consumed. - ```HIDDEN_HALLU``` ... Food causes hallucinations, visible only with a certain survival skill level. -- ```HIDDEN_POISON``` ... Food is poisonous, visible only with a certain survival skill level. +- ```HIDDEN_POISON``` ... Food displays as poisonous with a certain survival skill level. Note that this doesn't make items poisonous on its own, consider adding `"use_action": "POISON"` as well, or using `FORAGE_POISON` instead. - ```MELTS``` Provides half fun unless frozen. Edible when frozen. - ```MILLABLE``` Can be placed inside a mill, to turn into flour. - ```MYCUS_OK``` Can be eaten by post-threshold Mycus characters. Only applies to mycus fruits by default. @@ -518,6 +524,7 @@ List of known flags, used in both `terrain.json` and `furniture.json`. - ```DECONSTRUCT``` Can be deconstructed. - ```DEEP_WATER``` - ```DESTROY_ITEM``` Items that land here are destroyed. See also `NOITEM` +- ```DIFFICULT_Z``` Most zombies will not be able to follow you up this terrain ( i.e a ladder ) - ```DIGGABLE_CAN_DEEPEN``` Diggable location can be dug again to make deeper (e.g. shallow pit to deep pit). - ```DIGGABLE``` Digging monsters, seeding monster, digging with shovel, etc. - ```DOOR``` Can be opened (used for NPC path-finding). @@ -569,6 +576,7 @@ List of known flags, used in both `terrain.json` and `furniture.json`. - ```SHARP``` May do minor damage to players/monsters passing through it. - ```SHORT``` Feature too short to collide with vehicle protrusions. (mirrors, blades). - ```SIGN``` Show written message on examine. +- ```SMALL_PASSAGE``` This terrain or furniture is too small for large or huge creatures to pass through. - ```SUPPORTS_ROOF``` Used as a boundary for roof construction. - ```SUPPRESS_SMOKE``` Prevents smoke from fires; used by ventilated wood stoves, etc. - ```SWIMMABLE``` Player and monsters can swim through it. @@ -1256,6 +1264,7 @@ Those flags are added by the game code to specific items (that specific welder, - ```FIELD_DRESS``` Corpse was field dressed. Affects butcher results. - ```FIT``` Reduces encumbrance by one. - ```FROZEN``` Item is frozen solid (used by freezer). +- ```HIDDEN_ITEM``` This item cannot be seen in AIM. - ```HOT``` Item is hot (see EATEN_HOT). - ```LITCIG``` Marks a lit smoking item (cigarette, joint etc.). - ```MUSHY``` FREEZERBURN item was frozen and is now mushy and tasteless and will go bad after freezing again. @@ -1272,6 +1281,7 @@ Those flags are added by the game code to specific items (that specific welder, ### Flags - ```ADVANCED_PLANTER``` This planter doesn't spill seeds and avoids damaging itself on non-diggable surfaces. +- ```AUTOPILOT``` This part will enable a vehicle to have a simple autopilot. - ```AISLE_LIGHT``` - ```AISLE``` Player can move over this part with less speed penalty than normal. - ```ALTERNATOR``` Recharges batteries installed on the vehicle. @@ -1371,6 +1381,7 @@ Those flags are added by the game code to specific items (that specific welder, - ```TOWEL``` Can be used to dry yourself up. - ```TRACKED``` Contributes to steering effectiveness but doesn't count as a steering axle for install difficulty and still contributes to drag for the center of steering calculation. - ```TRACK``` Allows the vehicle installed on, to be marked and tracked on map. +- ```TURRET_CONTROLS``` If part with this flag is installed over the turret, it allows to set said turret's targeting mode to full auto. - ```TURRET_MOUNT``` Parts with this flag are suitable for installing turrets. - ```TURRET``` Is a weapon turret. Can only be installed on a part with ```TURRET_MOUNT``` flag. - ```UNMOUNT_ON_DAMAGE``` Part breaks off the vehicle when destroyed by damage. diff --git a/doc/JSON_INFO.md b/doc/JSON_INFO.md index 51e419500e34f..6a0115d3504b8 100644 --- a/doc/JSON_INFO.md +++ b/doc/JSON_INFO.md @@ -377,6 +377,7 @@ This section describes each json file and their contents. Each json has their ow | fuel_options | (_optional_) A list of fuel that this bionic can use to produce bionic power. | fuel_capacity | (_optional_) Volume of fuel this bionic can store. | fuel_efficiency | (_optional_) Fraction of fuel energy converted into power. (default: `0`) +| passive_fuel_efficiency | (_optional_) Fraction of fuel energy passively converted into power. Only useful for muscle powered CBM (default: `0`) | exothermic_power_gen | (_optional_) If true this bionic emits heat when producing power. (default: `false`) | power_gen_emission | (_optional_) `emit_id` of the field emitted by this bionic when it produces energy. Emit_ids are defined in `emit.json`. | stat_bonus | (_optional_) List of passive stat bonus. Stat are designated as follow: "DEX", "INT", "STR", "PER". @@ -513,21 +514,25 @@ The syntax listed here is still valid. #### Group definition -| Identifier | Description -|--- |--- -| `name` | Unique ID. Must be one continuous word, use underscores if necessary. -| `default` | Default monster, automatically fills in any remaining spawn chances. -| `monsters` | To choose a monster for spawning, the game creates 1000 entries and picks one. Each monster will have a number of entries equal to it's "freq" and the default monster will fill in the remaining. See the table below for how to build the single monster definitions. +| Identifier | Description +|--- |--- +| `name` | Unique ID. Must be one continuous word, use underscores if necessary. +| `default` | Default monster, automatically fills in any remaining spawn chances. +| `monsters` | To choose a monster for spawning, the game creates 1000 entries and picks one. Each monster will have a number of entries equal to it's "freq" and the default monster will fill in the remaining. See the table below for how to build the single monster definitions. +| `is_safe` | (bool) Check to not trigger safe-mode warning. +| `is_animal` | (bool) Check if that group has only normal animals. #### Monster definition -| Identifier | Description -|--- |--- -| `monster` | The monster's id. -| `freq` | Chance of occurrence, out of a thousand. -| `multiplier` | How many monsters each monster in this definition should count as, if spawning a limited number of monsters. -| `pack_size` | (_optional_) The minimum and maximum number of monsters in this group that should spawn together. (default: `[1,1]`) -| `conditions` | Conditions limit when monsters spawn. Valid options: `SUMMER`, `WINTER`, `AUTUMN`, `SPRING`, `DAY`, `NIGHT`, `DUSK`, `DAWN`. Multiple Time-of-day conditions (`DAY`, `NIGHT`, `DUSK`, `DAWN`) will be combined together so that any of those conditions makes the spawn valid. Multiple Season conditions (`SUMMER`, `WINTER`, `AUTUMN`, `SPRING`) will be combined together so that any of those conditions makes the spawn valid. +| Identifier | Description +|--- |--- +| `monster` | The monster's id. +| `freq` | Chance of occurrence, x/1000. +| `cost_multiplier` | How many monsters each monster in this definition should count as, if spawning a limited number of monsters. +| `pack_size` | (_optional_) The minimum and maximum number of monsters in this group that should spawn together. (default: `[1,1]`) +| `conditions` | Conditions limit when monsters spawn. Valid options: `SUMMER`, `WINTER`, `AUTUMN`, `SPRING`, `DAY`, `NIGHT`, `DUSK`, `DAWN`. Multiple Time-of-day conditions (`DAY`, `NIGHT`, `DUSK`, `DAWN`) will be combined together so that any of those conditions makes the spawn valid. Multiple Season conditions (`SUMMER`, `WINTER`, `AUTUMN`, `SPRING`) will be combined together so that any of those conditions makes the spawn valid. +| `starts` | (_optional_) This entry becomes active after this time. (Measured in hours) +| `ends` | (_optional_) This entry becomes inactive after this time. (Measured in hours) ```C++ { @@ -983,6 +988,7 @@ Note that even though most statistics yield an integer, you should still use "can_heal_with": [ "caramel_ointement" ], // List of med that will work for you but not for anyone. See `CANT_HEAL_EVERYONE` flag for items. (default: empty) "allowed_category": [ "ALPHA" ], // List of category you can mutate into. (default: empty) "no_cbm_on_bp": [ "TORSO", "HEAD", "EYES", "MOUTH", "ARM_L" ], // List of body parts that can't receive cbms. (default: empty) +"lumination": [ [ "HEAD", 20 ], [ "ARM_L", 10 ] ], // List of glowing bodypart and the intensity of the glow as a float. (default: empty) ``` ### Vehicle Groups @@ -1130,7 +1136,7 @@ See also VEHICLE_JSON.md "looks_like": "rag", // hint to tilesets if this item has no tile, use the looks_like tile "description" : "Socks. Put 'em on your feet.", // Description of the item "phase" : "solid", // (Optional, default = "solid") What phase it is -"weight" : 350, // Weight of the item in grams. For stackable items (ammo, comestibles) this is the weight per charge. +"weight" : "350 g", // Weight, weight in grams, mg and kg can be used - "50 mg", "5 g" or "5 kg". For stackable items (ammo, comestibles) this is the weight per charge. "volume" : "250 ml", // Volume, volume in ml and L can be used - "50 ml" or "2 L". For stackable items (ammo, comestibles) this is the volume of stack_size charges. "integral_volume" : 0, // Volume added to base item when item is integrated into another (eg. a gunmod integrated to a gun). Volume in ml and L can be used - "50 ml" or "2 L". "integral_weight" : 0, // Weight added to base item when item is integrated into another (eg. a gunmod integrated to a gun) @@ -1216,6 +1222,7 @@ Armor can be defined like this: "coverage" : 80, // What percentage of body part "material_thickness" : 1, // Thickness of material, in millimeter units (approximately). Generally ranges between 1 - 5, more unusual armor types go up to 10 or more "power_armor" : false, // If this is a power armor item (those are special). +"valid_mods" : ["steel_padded"] // List of valid clothing mods. Note that if the clothing mod doesn't have "restricted" listed, this isn't needed. ``` Alternately, every item (book, tool, gun, even food) can be used as armor if it has armor_data: ```C++ @@ -2380,6 +2387,7 @@ A flat multiplier on the harvest count of the plant. For numbers greater than on "item": "leather", // item to consume. "implement_prompt": "Pad with leather", // prompt to show when implement mod. "destroy_prompt": "Destroy leather padding", // prompt to show when destroy mod. +"restricted": true, // (optional) If true, clothing must list this mod's flag in "valid_mods" list to use it. Defaults to false. "mod_value": [ // List of mod effect. { "type": "bash", // "bash", "cut", "fire", "acid", "warmth", "storage", and "encumbrance" is available. diff --git a/doc/MAGIC.md b/doc/MAGIC.md index 5a8f5c74ee26e..435bc9b8c1370 100644 --- a/doc/MAGIC.md +++ b/doc/MAGIC.md @@ -16,7 +16,7 @@ In `data/mods/Magiclysm` there is a template spell, copied here for your perusal "effect_str": "template" // special. see below "extra_effects": [ { "id": "fireball", "hit_self": false, "max_level": 3 } ], // this allows you to cast multiple spells with only one spell "effected_body_parts": [ "HEAD", "TORSO", "MOUTH", "EYES", "ARM_L", "ARM_R", "HAND_R", "HAND_L", "LEG_L", "FOOT_L", "FOOT_R" ], // body parts affected by effects - "spell_class": "NONE" // + "spell_class": "NONE" // "base_casting_time": 100, // this is the casting time (in moves) "base_energy_cost": 10, // the amount of energy (of the requisite type) to cast the spell "energy_source": "MANA", // the type of energy used to cast the spell. types are: MANA, BIONIC, HP, STAMINA, FATIGUE, NONE (none will not use mana) @@ -56,7 +56,7 @@ In `data/mods/Magiclysm` there is a template spell, copied here for your perusal Most of the default values for the above are either 0 or "NONE", so you may leave out most of the values if they do not pertain to your spell. When deciding values for some of these, it is important to note that some of the formulae are not linear. -For example, this is the formula for spell failure chance: +For example, this is the formula for spell failure chance: ```( ( ( ( spell_level - spell_difficulty ) * 2 + intelligence + spellcraft_skill ) - 30 ) / 30 ) ^ 2``` @@ -180,9 +180,9 @@ Currently there is only one way of learning spells that is implemented: learning You can study this spellbook for a rate of ~1 experience per turn depending on intelligence, spellcraft, and focus. -#### Spells in professions +#### Spells in professions and NPC classes -You can add a "spell" member to professions like so: +You can add a "spell" member to professions or an NPC class definition like so: ```json "spells": [ { "id": "summon_zombie", "level": 0 }, { "id": "magic_missile", "level": 10 } ] ``` @@ -198,4 +198,3 @@ You can assign a spell as a special attack for a monster. * spell_id: the id for the spell being cast. * spell_level: the level at which the spell is cast. Spells cast by monsters do not gain levels like player spells. * cooldown: how often the monster can cast this spell - diff --git a/doc/MARTIALART_JSON.md b/doc/MARTIALART_JSON.md index 3c8ed512d54be..34d35f6e51ca2 100644 --- a/doc/MARTIALART_JSON.md +++ b/doc/MARTIALART_JSON.md @@ -55,6 +55,7 @@ "down_dur": 2, // Duration that target is downed for "side_switch": true, // Technique moves the target behind user "disarms": true, // This technique can disarm the opponent +"take_weapon": true, // Technique will disarm and equip target's weapon if hands are free "grab_break": true, // This technique may break a grab against the user "aoe": "spin", // This technique has an area-of-effect; doesn't work against solo targets "block_counter": true, // This technique may automatically counterattack on a successful block diff --git a/doc/MONSTERS.md b/doc/MONSTERS.md index a18fe8ab7db1b..6df6f621196f9 100644 --- a/doc/MONSTERS.md +++ b/doc/MONSTERS.md @@ -37,7 +37,7 @@ In-game description for the monster. A list of species ids. One can add or remove entries in mods via "add:species" and "remove:species", see Modding below. Properties (currently only triggers) from species are added to the properties of each monster that belong to the species. -TODO: document species. +In mainline game it can be HUMAN, ROBOT, ZOMBIE, MAMMAL, BIRD, FISH, REPTILE, WORM, MOLLUSK, AMPHIBIAN, INSECT, SPIDER, FUNGUS, PLANT, NETHER, MUTANT, BLOB, HORROR, ABERRATION, HALLUCINATION and UNKNOWN. ## "categories" (array of strings, optional) @@ -62,7 +62,8 @@ The materials the monster is primarily composed of. Must contain valid material ## "phase" (string, optional) -TODO: describe this. Is this even used in-game? +It describes monster's body state of matter. However, it doesn't seem to have any gameplay purpose, right now. +It can be SOLID, LIQUID, GAS, PLASMA or NULL. ## "default_faction" (string) @@ -122,13 +123,18 @@ Defines how aggressive the monster is. Ranges from -99 (totally passive) to 100 ## "morale" (integer, optional) -Monster morale. TODO: describe this better. +Monster morale. Defines how low monster HP can get before it retreats. This number is treated as % of their max HP. ## "speed" (integer) Monster speed. 100 is the normal speed for a human being - higher values are faster and lower values are slower. +## "mountable_weight_ratio" +(float, optional) + +Used as the acceptable rider vs. mount weight percentage ratio. Defaults to "0.2", which means the mount is capable of carrying riders weighing <= 20% of the mount's weight. + ## "melee_skill" (integer, optional) @@ -142,7 +148,7 @@ Monster dodge skill. See GAME_BALANCE.txt for an explanation of dodge mechanics. ## "melee_damage" (integer, optional) -TODO: describe this. +Amount of bash damage added to die roll on monster melee attack. ## "melee_dice", "melee_dice_sides" (integer, optional) @@ -390,37 +396,37 @@ The listed attack types can be as monster special attacks (see "special_attack") Makes the monster leap a few tiles. It supports the following additional properties: ### "max_range" -(Required) Maximal range to consider for leaping. +(Required) Maximal range of attack. ### "min_range" -TODO: describe this. +(Required) Minimal range needed for attack. ### "allow_no_target" -TODO: describe this. +This prevents monster from using the ability on empty space. ### "move_cost" -TODO: describe this. +Turns needed to complete special attack. 100 move_cost with 100 speed is equal to 1 second/turn. #### "min_consider_range", "max_consider_range" -TODO: describe this. +Minimal range and maximal range to consider for using specific attack. ## "bite" -TODO: describe this. +Makes monster use teeth to bite opponent. Some monsters can give infection by doing so. ### "damage_max_instance" -TODO: describe this. +Max damage it can deal on one bite. ### "min_mul", "max_mul" -TODO: describe this. +How hard is to get free of bite without killing attacker. ### "move_cost" -TODO: describe this. +Turns needed to complete special attack. 100 move_cost with 100 speed is equal to 1 second/turn. ### "accuracy" -TODO: describe this. +(Integer) How accurate it is. Not many monsters use it though. ### "no_infection_chance" -TODO: describe this. +Chance to not give infection. ## "gun" Fires a gun at a target. If friendly, will avoid harming the player. diff --git a/doc/PLAYER_ACTIVITY.md b/doc/PLAYER_ACTIVITY.md index bacd14af87ecb..535c738f8d970 100644 --- a/doc/PLAYER_ACTIVITY.md +++ b/doc/PLAYER_ACTIVITY.md @@ -14,7 +14,7 @@ Activities are long term actions, that can be interrupted and (optionally) conti * verb: A descriptive term to describe the activity to be used in the query to stop the activity, and strings that describe it, example : `"verb": "mining"` or `"verb": { "ctxt": "instrument", "str": "playing" }`. * suspendable (true): If true, the activity can be continued without starting from scratch again. This is only possible if `can_resume_with()` returns true. -* rooted (false): If true, then during the activity, recoil is reduced, plant mutants sink their roots into the ground, etc. +* rooted (false): If true, then during the activity, recoil is reduced, and plant mutants sink their roots into the ground. Should be true if the activity lasts longer than a few minutes, and can always be accomplished without moving your feet. * based_on: Can be 'time', 'speed', or 'neither'. * time: The amount that `player_activity::moves_left` is decremented by is independent from the character's speed. * speed: `player_activity::moves_left` may be decremented faster or slower, depending on the character's speed. diff --git a/doc/TILESET.md b/doc/TILESET.md index 431ca2d5bec68..51dc6136ed09e 100644 --- a/doc/TILESET.md +++ b/doc/TILESET.md @@ -69,6 +69,17 @@ The special prefixes `overlay_wielded_`, `overlay_female_wielded_`, `overlay_mal `"multitle"` is an *optional* field. If it is present and `true`, there must be an `additional_tiles` list with 1 or more dictionaries for entities and sprites associated with this tile, such as broken versions of an item or wall connections. Each dictionary in the list has an `"id`" field, as above, and a `"fg"` field, which can be a single filename, a list of filenames, or a list of dictionaries as above. +Each `tile_entry.json` file can have a single object in it, or a list of 1 or more objects like so: +```C++ +[ + { "id": "mon_zombie", "fg": "mon_zombie", "bg": "mon_zombie_bg", "rotates": false }, + { "id": "corpse_mon_zombie", "fg": "mon_zombie_corpse", "bg": "mon_zombie_bg", "rotates": false }, + { "id": "overlay_wielding_corse_mon_zombie", "fg": "wielded_mon_zombie_corpse", "bg": [], "rotates": false } +] +``` + +Having a list of tile entries in a file may be useful for organization, but completely unrelated entries may all exist in the same file without any complications. + #### expansion `tile_entry` JSON Tilesheets can have expansion tilesheets, which are tilesheets from mods. Each expansion tilesheet is a single `"id"` value, `"rotates": false"`, and `"fg": 0`. Expansion `tile_entry` JSON are the only `tile_entry` JSONs that use an integer value for `"fg"` and that value must be 0. Expansion `tile_entry` JSONs must be located at the top layer of each image directory. diff --git a/doc/TRANSLATING.md b/doc/TRANSLATING.md index b52d079d7f3d0..153a1ea1832b0 100644 --- a/doc/TRANSLATING.md +++ b/doc/TRANSLATING.md @@ -270,7 +270,8 @@ Do note that currently the JSON syntax is only supported for some JSON values, which are listed below. If you want other json strings to use this format, refer to `translations.h|cpp` and migrate the corresponding code. Afterwards you may also want to test `update_pot.sh` to ensure that the strings are -correctly extracted for translation. +correctly extracted for translation, and run the unit test to fix text styling +issues reported by the `translation` class. | Supported JSON values |--- @@ -312,6 +313,7 @@ correctly extracted for translation. | Recipe descriptions | Inscribe use action verbs/gerunds | Monster names (plural supported) and descriptions +| Snippets ### Recommendations diff --git a/gfx/RetroDaysTileset/tile_config.json b/gfx/RetroDaysTileset/tile_config.json index 635d78675fe0c..4d6e9e315aa9f 100644 --- a/gfx/RetroDaysTileset/tile_config.json +++ b/gfx/RetroDaysTileset/tile_config.json @@ -4560,7 +4560,6 @@ }, { "id": "heatpack", "fg": 1532, "rotates": false }, { "id": [ "hobo_stove", "esbit_stove" ], "fg": 1533, "rotates": false }, - { "id": "hobo_stove_on", "fg": 1534, "rotates": false }, { "id": "hoe", "fg": 1535, "rotates": false }, { "id": [ "horn_car", "horn_big", "beeper", "chimes", "horn_bicycle" ], "fg": 1536, "rotates": false }, { "id": [ "gasoline_cooker", "oil_cooker", "hotplate" ], "fg": 1537, "rotates": false }, diff --git a/lang/extract_json_strings.py b/lang/extract_json_strings.py index 480cbcd308697..3050dad1d8301 100755 --- a/lang/extract_json_strings.py +++ b/lang/extract_json_strings.py @@ -125,13 +125,13 @@ def warning_supressed(filename): "ENGINE", "epilogue", "faction", - "fault", "furniture", "GENERIC", "item_action", "ITEM_CATEGORY", "json_flag", "keybinding", + "LOOT_ZONE", "MAGAZINE", "map_extra", "MOD_INFO", @@ -144,7 +144,6 @@ def warning_supressed(filename): "PET_ARMOR", "score", "skill", - "snippet", "speech", "SPELL", "start_location", @@ -341,6 +340,8 @@ def extract_gun(item): if "name" in item: item_name = item.get("name") if "name_plural" in item: + if type(item_name) is not str: + raise WrongJSONItem("ERROR: 'name_plural' found but 'name' is not a string", item) # legacy format if item["name_plural"] != "none": writestr(outfile, item_name, item["name_plural"]) @@ -375,6 +376,8 @@ def extract_gunmod(item): if "name" in item: item_name = item.get("name") if "name_plural" in item: + if type(item_name) is not str: + raise WrongJSONItem("ERROR: 'name_plural' found but 'name' is not a string", item) # legacy format if item["name_plural"] != "none": writestr(outfile, item_name, item["name_plural"]) @@ -744,6 +747,29 @@ def extract_skill_display_type(item): outfile = get_outfile("skill_display_type") writestr(outfile, item["display_string"], comment="display string for skill display type '{}'".format(item["ident"])) +def extract_fault(item): + outfile = get_outfile("fault") + writestr(outfile, item["name"]) + writestr(outfile, item["description"], comment="description for fault '{}'".format(item["name"])) + for method in item["mending_methods"]: + if "name" in method: + writestr(outfile, method["name"], comment="name of mending method for fault '{}'".format(item["name"])) + if "description" in method: + writestr(outfile, method["description"], comment="description for mending method '{}' of fault '{}'".format(method["name"], item["name"])) + if "success_msg" in method: + writestr(outfile, method["success_msg"], format_strings=True, comment="success message for mending method '{}' of fault '{}'".format(method["name"], item["name"])) + +def extract_snippets(item): + outfile = get_outfile("snippet") + text = item["text"]; + if type(text) is not list: + text = [text]; + for snip in text: + if type(snip) is str: + writestr(outfile, snip) + else: + writestr(outfile, snip["text"]) + # these objects need to have their strings specially extracted extract_specials = { "harvest" : extract_harvest, @@ -751,6 +777,7 @@ def extract_skill_display_type(item): "clothing_mod": extract_clothing_mod, "construction": extract_construction, "effect_type": extract_effect_type, + "fault": extract_fault, "GUN": extract_gun, "GUNMOD": extract_gunmod, "mapgen": extract_mapgen, @@ -765,14 +792,14 @@ def extract_skill_display_type(item): "recipe": extract_recipes, "recipe_group": extract_recipe_group, "scenario": extract_scenarios, + "snippet": extract_snippets, "talk_topic": extract_talk_topic, "trap": extract_trap, "gate": extract_gate, "vehicle_spawn": extract_vehspawn, "field_type": extract_field_type, "ter_furn_transform": extract_ter_furn_transform_messages, - "skill_display_type": extract_skill_display_type - + "skill_display_type": extract_skill_display_type, } ## @@ -850,9 +877,11 @@ def writestr(filename, string, plural=None, context=None, format_strings=False, # no "str_pl" entry in json, assuming regular plural form as in item_factory.cpp etc str_pl = "{}s".format(string["str"]) elif "str_pl" in string: - raise WrongJSONItem("ERROR: str_pl not supported here", string) + str_pl = string["str_pl"] writestr(filename, string["str"], str_pl, ctxt, format_strings, comment) return + elif type(string) is not str and plural is not None: + raise WrongJSONItem("ERROR: 'name_plural' found but 'name' is not a string", plural) # don't write empty strings if not string: return @@ -954,6 +983,8 @@ def extract(item, infilename): return if name: if "name_plural" in item: + if type(name) is not str: + raise WrongJSONItem("ERROR: 'name_plural' found but 'name' is not a string", item) # legacy format if item["name_plural"] != "none": writestr(outfile, name, item["name_plural"], **kwargs) diff --git a/lang/po/cataclysm-dda.pot b/lang/po/cataclysm-dda.pot index 03e61b2928530..ea520ce2f9bcd 100644 --- a/lang/po/cataclysm-dda.pot +++ b/lang/po/cataclysm-dda.pot @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.D\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-11 19:32+0800\n" +"POT-Creation-Date: 2019-11-16 18:59+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -173,6 +173,18 @@ msgstr "" msgid "watery plutonium slurry" msgstr "" +#: lang/json/AMMO_from_json.py +#: lang/json/snippet_from_json.py +msgid "rock" +msgstr "" + +#. ~ Description for rock +#: lang/json/AMMO_from_json.py +msgid "" +"A rock the size of a baseball. Makes a decent melee weapon, and is also " +"good for throwing at enemies." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "pebble" msgstr "" @@ -635,7 +647,7 @@ msgstr "" msgid "" "A hand-built rocket, consisting of a spike welded onto a pipe that was " "filled with improvised rocket fuel. Horribly inaccurate, as can be expected " -"of this grade of weapon, but packs a fierce punch... if it hits." +"of this grade of weapon, but packs a fierce punch… if it hits." msgstr "" #: lang/json/AMMO_from_json.py @@ -680,8 +692,8 @@ msgstr "" #. ~ Description for unfinished calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"The incomplete process of converting coal and lime into calcium carbide. " -"Useless in this state/" +"The incomplete process of converting coal and lime into calcium carbide. " +"Useless in this state." msgstr "" #: lang/json/AMMO_from_json.py @@ -789,7 +801,7 @@ msgstr "" #. ~ Description for wooden broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched wooden arrow shaft with a bladed tip. Useful for maximising " +"A fletched wooden arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a decent chance of remaining intact once fired." msgstr "" @@ -845,7 +857,7 @@ msgstr "" #. ~ Description for aluminum broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched aluminum arrow shaft with a bladed tip. Useful for maximising " +"A fletched aluminum arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a good chance of remaining intact once fired." msgstr "" @@ -974,10 +986,10 @@ msgstr[1] "" #. ~ Description for sulfur #: lang/json/AMMO_from_json.py msgid "" -"A handful of yellow grains of pure sulfur. Primarily used to make battery " -"acid, sulfur is sometimes used as fuel for explosives. Can be burned to " -"produce acidic smoke, that is deadly to bacteria and humans alike, or " -"oxidized to make paper-bleaching agents." +"A handful of pure sulfur. Primarily used to make battery acid, sulfur is " +"sometimes used as fuel for explosives. Can be burned to produce acidic " +"smoke, that is deadly to bacteria and humans alike, or oxidized to make " +"paper-bleaching agents." msgstr "" #: lang/json/AMMO_from_json.py @@ -988,7 +1000,7 @@ msgstr[1] "" #. ~ Description for chunk of sulfur #: lang/json/AMMO_from_json.py -msgid "A large chunk of pure sulfur. Break it up to use it." +msgid "A chunk of pure sulfur. Break it up to use it." msgstr "" #: lang/json/AMMO_from_json.py @@ -1099,8 +1111,8 @@ msgstr[1] "" #. ~ Description for zinc oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of zinc oxide. It can be reduced into zinc, or used for some other " -"reactions of its own." +"A handful of zinc oxide. It can be reduced into zinc, or used for some " +"other reactions of its own." msgstr "" #: lang/json/AMMO_from_json.py @@ -1112,7 +1124,7 @@ msgstr[1] "" #. ~ Description for manganese dioxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of manganese dioxide powder. Occurring naturally in the mineral " +"A handful of manganese dioxide powder. Occurring naturally in the mineral " "pyrolusite, it is used commercially in the production of alkaline and zinc-" "carbon batteries." msgstr "" @@ -1126,10 +1138,10 @@ msgstr[1] "" #. ~ Description for potassium chloride #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium chloride. Although it occurs naturally in the mineral " -"sylvite, it can be produced as a byproduct of the reaction of saltpeter and " -"hydrochloric acid. It can be used for making fertilizer, or potassium " -"hydroxide by way of electrolysis." +"A handful of potassium chloride. Although it occurs naturally in the " +"mineral sylvite, it can be produced as a byproduct of the reaction of " +"saltpeter and hydrochloric acid. It can be used for making fertilizer, or " +"potassium hydroxide by way of electrolysis." msgstr "" #: lang/json/AMMO_from_json.py @@ -1141,8 +1153,8 @@ msgstr[1] "" #. ~ Description for potassium hydroxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium hydroxide. Commonly called caustic potash, it was " -"mainly used industrially for its caustic nature. It can be used as an " +"A handful of potassium hydroxide. Commonly called caustic potash, it was " +"mainly used industrially for its caustic nature. It can be used as an " "electrolyte in alkaline batteries, among other applications." msgstr "" @@ -1170,9 +1182,9 @@ msgstr[1] "" #. ~ Description for hydrochloric acid #: lang/json/AMMO_from_json.py msgid "" -"Hydrochloric acid, also known as muriatic acid. It is a strong acid that has " -"a distinctive smell, important and frequently used ever since its discovery. " -"It still has a vast multitude of uses." +"Hydrochloric acid, also known as muriatic acid. It is a strong acid that " +"has a distinctive smell, important and frequently used ever since its " +"discovery. It still has a vast multitude of uses." msgstr "" #: lang/json/AMMO_from_json.py @@ -1214,10 +1226,10 @@ msgstr[1] "" #. ~ Description for chromium oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of chromium oxide pellets. This substance, typically known as the " -"only stable green pigment for paints, is also a mild oxidizer, which can be " -"mixed with aluminum powder to make thermite for welding. If one had access " -"to a CVD machine and a laboratory worth of reagents, they might be able to " +"A handful of chromium oxide. This substance, typically known as the only " +"stable green pigment for paints, is also a mild oxidizer, which can be mixed " +"with aluminum powder to make thermite for welding. If one had access to a " +"CVD machine and a laboratory worth of reagents, they might be able to " "produce very durable ceramic layers." msgstr "" @@ -1230,7 +1242,7 @@ msgstr[1] "" #. ~ Description for calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"A handful of calcium carbide chunks, giving off a faint, garlic-like smell. " +"A handful of calcium carbide, giving off a faint, garlic-like smell. " "Commercially, calcium carbide was used for on-the-spot manufacture of " "acetylene and historically to power acetylene lamps. If mixed with water " "and sealed, it will explode with little strength, but with relatively loud " @@ -1412,7 +1424,7 @@ msgstr[1] "" #: lang/json/AMMO_from_json.py msgid "" "Some match head powder from match heads, similar to black gunpowder but a " -"bit weaker. It can be used in crafting explosives and fuses when other more " +"bit weaker. It can be used in crafting explosives and fuses when other more " "suitable candidates are less available." msgstr "" @@ -1769,7 +1781,7 @@ msgstr[1] "" #. ~ Description for flamethrower fuel #: lang/json/AMMO_from_json.py msgid "" -"A mixture of gasoline and diesel oil in equal parts. Its combustion " +"A mixture of gasoline and diesel oil in equal parts. Its combustion " "properties make it unfit for applications where you would use any of them " "separately, but it can be used to feed a flamethrower." msgstr "" @@ -3091,40 +3103,70 @@ msgid "reloaded .460 Rowland" msgstr "" #: lang/json/AMMO_from_json.py -msgid ".50 BMG tracer" +msgid ".50 BMG M17 tracer" +msgstr "" + +#. ~ Description for .50 BMG M17 tracer +#: lang/json/AMMO_from_json.py +msgid "" +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid ".50 BMG M33 Ball" msgstr "" -#. ~ Description for .50 BMG tracer +#. ~ Description for .50 BMG M33 Ball #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances." +".50 BMG ammunition with mild steel cored 661gr FMJ bullets. The .50 BMG is " +"a very powerful rifle round designed for anti-aircraft use, later adapted to " +"anti-vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" #: lang/json/AMMO_from_json.py -msgid ".50 BMG Ball" +msgid ".50 BMG Match" msgstr "" -#. ~ Description for .50 BMG Ball +#. ~ Description for .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its " -"stupendous accuracy and armor piercing capabilities make it one of the most " -"deadly rounds available, offset only by its drastic recoil and noise." +".50 BMG FMJ lead core ammunition manufactured with tighter tolerances for " +"long-range competition shooting or other precision rifle use." msgstr "" #: lang/json/AMMO_from_json.py -msgid ".50 BMG AP" +msgid ".50 BMG M2 AP" msgstr "" -#. ~ Description for .50 BMG AP +#. ~ Description for .50 BMG M2 AP #: lang/json/AMMO_from_json.py msgid "" "Variant of the .50 BMG round that uses a core of very dense, hardened " "tungsten steel. Penetration is increased, but damage is reduced." msgstr "" +#: lang/json/AMMO_from_json.py +msgid ".50 BMG Raufoss Mk 211" +msgstr "" + +#. ~ Description for .50 BMG Raufoss Mk 211 +#: lang/json/AMMO_from_json.py +msgid "" +"This variant of the .50 BMG round makes the most of the caliber's potential " +"payload delivery: the tip is loaded with an incendiary mix, which ignites on " +"impact, detonating the RDX or PETN charge. This also ignites a secondary " +"zirconium powder incendiary charge that surrounds a tungsten carbide " +"penetrator, both encased by a mild steel cup. Fragments from the cup and " +"burning metallic powder follow the penetrator through armored targets, " +"increasing lethality. These rare, complicated, and expensive rounds are not " +"likely to be manufactured again; use them wisely." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG tracer" msgstr "" @@ -3132,22 +3174,23 @@ msgstr "" #. ~ Description for reloaded .50 BMG tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances. This one has been hand-reloaded." +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances. This one has been hand-reloaded." msgstr "" #: lang/json/AMMO_from_json.py -msgid "reloaded .50 BMG Ball" +msgid "reloaded .50 BMG Match" msgstr "" -#. ~ Description for reloaded .50 BMG Ball +#. ~ Description for reloaded .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its " -"stupendous accuracy and armor piercing capabilities make it one of the most " -"deadly rounds available, offset only by its drastic recoil and noise. This " -"one has been hand-reloaded." +".50 BMG ammunition with lead-cored FMJ bullets. The .50 BMG is a very " +"powerful rifle round designed for anti-aircraft use, later adapted to anti-" +"vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" #: lang/json/AMMO_from_json.py @@ -3157,9 +3200,8 @@ msgstr "" #. ~ Description for reloaded .50 BMG AP #: lang/json/AMMO_from_json.py msgid "" -"Variant of the .50 BMG round that uses a core of very dense, hardened " -"tungsten steel. Penetration is increased, but damage is reduced. This one " -"has been hand-reloaded." +"Variant of the .50 BMG round that uses a core hardened steel. Penetration " +"is increased, but damage is reduced. This one has been hand-reloaded." msgstr "" #: lang/json/AMMO_from_json.py @@ -4093,6 +4135,106 @@ msgstr "" msgid "fungal flower" msgstr "" +#: lang/json/AMMO_from_json.py +msgid "potassium alum" +msgstr "" + +#. ~ Description for potassium alum +#: lang/json/AMMO_from_json.py +msgid "" +"Small water-soluble white crystals with watery metallic odor, historically " +"used for many different purposes. Also known as potash alum and potassium " +"aluminum sulfate; often called simply alum, as it's the most important " +"member of the generic class of compounds called alums." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cloth dye powder" +msgstr "" + +#. ~ Description for cloth dye powder +#: lang/json/AMMO_from_json.py +msgid "" +"This is a powdered colorful cloth dye, which can be used to dye many fabrics " +"if combined with water and some mordant." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel buckle" +msgstr "" + +#. ~ Description for steel buckle +#: lang/json/AMMO_from_json.py +msgid "A steel buckle, like that usually found on belts." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "plastic button" +msgstr "" + +#. ~ Description for plastic button +#: lang/json/AMMO_from_json.py +msgid "A plastic button, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel button" +msgstr "" + +#. ~ Description for steel button +#: lang/json/AMMO_from_json.py +msgid "A steel button, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "wooden button" +msgstr "" + +#. ~ Description for wooden button +#: lang/json/AMMO_from_json.py +msgid "A crude wooden button, usually found on very old clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel snap fastener" +msgstr "" + +#. ~ Description for steel snap fastener +#: lang/json/AMMO_from_json.py +msgid "A steel snap fastener, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "touch fastener" +msgstr "" + +#. ~ Description for touch fastener +#: lang/json/AMMO_from_json.py +msgid "" +"This is a pair of cloth strips, one of which has tiny hooks and another has " +"tiny loops. Useful as a fastener for clothing and footwear." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "long plastic zipper" +msgstr "" + +#. ~ Description for long plastic zipper +#: lang/json/AMMO_from_json.py +msgid "A long zipper made from plastic, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "short plastic zipper" +msgstr "" + +#. ~ Description for short plastic zipper +#: lang/json/AMMO_from_json.py +msgid "" +"A short zipper made from plastic, usually found on footwear or clothing " +"pockets." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "red paint" msgid_plural "red paint" @@ -4247,7 +4389,7 @@ msgstr[1] "" #: lang/json/AMMO_from_json.py msgid "" "A slightly brittle metal. Apart from being an essential mineral that the " -"body needs, it reacts readily with acids, alkalis and other non-metals. It " +"body needs, it reacts readily with acids, alkalis and other non-metals. It " "can be crushed to make zinc powder, used in the production of batteries, " "among other things." msgstr "" @@ -4327,7 +4469,7 @@ msgstr "" #. ~ Description for door hinge #: lang/json/AMMO_from_json.py msgid "" -"A small metal hinge with two metal plates with screw holes. Useful for " +"A small metal hinge with two metal plates with screw holes. Useful for " "making doors." msgstr "" @@ -4338,7 +4480,7 @@ msgstr "" #. ~ Description for tin powder #: lang/json/AMMO_from_json.py msgid "" -"A fine gray powder composed of tin, usable for making solder and lining " +"A fine gray powder composed of tin, usable for making solder and lining " "containers to prevent corrosion." msgstr "" @@ -4377,6 +4519,358 @@ msgid "" "explosions." msgstr "" +#: lang/json/AMMO_from_json.py +msgid "rubber sole" +msgstr "" + +#. ~ Description for rubber sole +#: lang/json/AMMO_from_json.py +msgid "" +"This is a sole made from rubber, usually found on the bottoms of boots. Can " +"be used for making actual boots." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cotton scraps" +msgid_plural "cotton scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for cotton scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of cotton, waste material from tailoring " +"projects. Not useful for much and usually disposed of, but can be recycled " +"into some thread if you really want." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "faux fur scraps" +msgid_plural "faux fur scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for faux fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of faux fur, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "felt scraps" +msgid_plural "felt scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for felt scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of felt, waste material from tailoring projects. " +"Not useful for much and usually disposed of, but can be recycled into some " +"wool fiber if you really want." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "fur scraps" +msgid_plural "fur scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of fur, waste material from tailoring projects. " +"Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar scraps" +msgid_plural "Kevlar scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Kevlar scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of Kevlar fabric, waste material from tailoring " +"projects. Normally it's disposed of, but since Kevlar would be very " +"difficult to make in a post-apocalyptic world, it might be worth recycling " +"it for Kevlar thread." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "leather scraps" +msgid_plural "leather scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for leather scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of leather, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lycra scraps" +msgid_plural "lycra scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lycra scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of lycra, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "neoprene scraps" +msgid_plural "neoprene scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for neoprene scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of neoprene, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric scraps" +msgid_plural "synthetic fabric scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for synthetic fabric scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of synthetic fabric, waste material from " +"tailoring projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex scraps" +msgid_plural "Nomex scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Nomex scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of heat-resistant Nomex fabric, waste material " +"from tailoring projects. Normally it's disposed of, but since Nomex would " +"be very difficult to make in a post-apocalyptic world, it might be worth " +"recycling it." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cotton sheet" +msgstr "" + +#. ~ Description for cotton sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of cotton fabric, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork cotton clothing parts" +msgid_plural "patchwork cotton clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork cotton clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from cotton patches in " +"a patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "faux fur sheet" +msgstr "" + +#. ~ Description for faux fur sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of fake synthetic colorful fur, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork faux fur clothing parts" +msgid_plural "patchwork faux fur clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork faux fur clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from faux fur patches " +"in a patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "felt sheet" +msgstr "" + +#. ~ Description for felt sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of felt, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork felt clothing parts" +msgid_plural "patchwork felt clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork felt clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from felt patches in a " +"patchwork fashion. Suitable for making most clothing, though it's much less " +"time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar sheet" +msgstr "" + +#. ~ Description for Kevlar sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Kevlar synthetic fabric, suitable for making bulletproof armor. " +"In this form, unlike rigid plates, it can be stitched." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lycra sheet" +msgstr "" + +#. ~ Description for lycra sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of synthetic fabric blended with stretchy lycra fibers, suitable for " +"making flexible yet strong clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork lycra clothing parts" +msgid_plural "patchwork lycra clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork lycra clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from lycra patches in a " +"patchwork fashion. Suitable for making most clothing, though it's much less " +"time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py lang/json/GENERIC_from_json.py +msgid "neoprene sheet" +msgid_plural "neoprene sheets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for neoprene sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of neoprene, a synthetic rubber, suitable for making underwater gear." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork neoprene clothing parts" +msgid_plural "patchwork neoprene clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork neoprene clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from neoprene patches " +"in a patchwork fashion, with waterproofed seams. Suitable for making most " +"clothing, though it's much less time-efficient than if using proper material " +"sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex sheet" +msgstr "" + +#. ~ Description for Nomex sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Nomex synthetic fabric, suitable for making heat-resistant " +"clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork Nomex clothing parts" +msgid_plural "patchwork Nomex clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork Nomex clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together with Nomex thread from " +"Nomex patches in a patchwork fashion. Suitable for making most clothing, " +"though it's much less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric sheet" +msgstr "" + +#. ~ Description for synthetic fabric sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of synthetic fabric, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork synthetic fabric clothing parts" +msgid_plural "patchwork synthetic fabric clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork synthetic fabric clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from synthetic fabric " +"patches in a patchwork fashion. Suitable for making most clothing, though " +"it's much less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar thread" +msgstr "" + +#. ~ Description for Kevlar thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some very durable Kevlar thread that would be particularly useful for making " +"ballistic armor, though it's fine to use in place of normal thread too, in " +"most cases. Making armor-grade Kevlar sheets from this would need a " +"particularly tight weave, and so would need some specialized machinery." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex thread" +msgstr "" + +#. ~ Description for Nomex thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some heat-resistant Nomex thread that would be particularly useful for " +"making heat protection gear, though it's fine to use in place of normal " +"thread too, in most cases." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "handloaded .22 CB" msgid_plural "handloaded .22 CB" @@ -4890,6 +5384,18 @@ msgid "" "burn hotly upon impact, piercing armor and igniting flammable substances." msgstr "" +#: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py +msgid "orichalcum arrow" +msgstr "" + +#. ~ Description for orichalcum arrow +#: lang/json/AMMO_from_json.py +msgid "" +"An arrow composed of a sliver of orichalcum. The arrow has a mysterious " +"glow. Has a very high chance of staying intact when fired, however can only " +"be fired from Ichaival." +msgstr "" + #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "dragon blood" msgid_plural "dragon blood" @@ -4937,8 +5443,29 @@ msgstr[1] "" #. ~ Description for crystallized mana #: lang/json/AMMO_from_json.py msgid "" -"Some crystallized mana. This can be reloaded into rechargable mana crystals, " -"but can never be unloaded." +"Some crystallized mana. This can be reloaded into rechargable mana " +"crystals, but can never be unloaded." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lump of orichalcum" +msgstr "" + +#. ~ Description for lump of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A heavy formed piece of strange metal. Useful for some crafting recipes." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "sliver of orichalcum" +msgstr "" + +#. ~ Description for sliver of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A sliver of a strange glowing metal. Useful as a weapon, but better suited " +"for crafting." msgstr "" #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py @@ -5426,13 +5953,6 @@ msgid "" "blob needs to be healthy. You think..." msgstr "" -#: lang/json/AMMO_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/snippet_from_json.py -msgid "rock" -msgid_plural "rocks" -msgstr[0] "" -msgstr[1] "" - #: lang/json/AMMO_from_json.py lang/json/GENERIC_from_json.py msgid "pool ball" msgid_plural "pool balls" @@ -5960,9 +6480,10 @@ msgstr[1] "" #. ~ Use action holster_msg for pair of rollerblades. #. ~ Use action holster_msg for pair of rollerskates. #. ~ Use action holster_msg for C.R.I.T web belt. +#. ~ Use action holster_msg for technomancer's toolbelt. #. ~ Use action holster_msg for hollow cane. #: lang/json/ARMOR_from_json.py -#: lang/json/GENERIC_from_json.py +#: lang/json/ARMOR_from_json.py lang/json/GENERIC_from_json.py #, no-python-format msgid "You sheath your %s" msgstr "" @@ -6589,6 +7110,46 @@ msgid "" "small straps designed to better distribute the weight." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail chausses" +msgid_plural "pairs of chainmail chausses" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of chainmail chausses +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail chausses that cover the feet, like booties made of " +"chainmail." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail gloves" +msgid_plural "pairs of chainmail gloves" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of chainmail gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail gloves. They fully enclose the fingers and provide " +"excellent protection, but are somewhat cumbersome." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "faraday chainmail suit" +msgid_plural "faraday chainmail suits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for faraday chainmail suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A fully customized chainmail suit that can be worn over your normal " +"clothing. The suit is conductively interconnected, protecting against " +"electricity." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "leather chaps" msgid_plural "leather chaps" @@ -6737,6 +7298,28 @@ msgid "" "A colorful and ridiculous costume fit for a clown. Provides decent storage." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "clown wig" +msgid_plural "clown wigs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for clown wig +#: lang/json/ARMOR_from_json.py +msgid "A colorful and ridiculous wig fit for a clown." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "clown nose" +msgid_plural "clown noses" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for clown nose +#: lang/json/ARMOR_from_json.py +msgid "A red latex nose often seen being worn by clowns." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fur coat" msgid_plural "fur coats" @@ -6994,6 +7577,22 @@ msgstr[1] "" msgid "A white button-down shirt with long sleeves. Looks professional!" msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "drinking hat" +msgid_plural "drinking hats" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for drinking hat +#: lang/json/ARMOR_from_json.py +msgid "" +"This is an improvised harness that can be worn over other headgear or bare " +"head, made from two small liquid containers, a rubber hose, a bundle of " +"steel wire, and some cordage. A convenient and simple device for hands-free " +"drinking, though the liquid inside would spill if you put it into your " +"backpack." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "wedding dress" msgid_plural "wedding dresses" @@ -7136,6 +7735,32 @@ msgstr[1] "" msgid "Provides a bit of extra storage, with minimal encumbrance." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "underarm protector" +msgid_plural "underarm protectors" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for underarm protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A sturdy cotton plastron that protects much of the torso, the dominant " +"shoulder, and underarm while fencing." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "plastic chest protector" +msgid_plural "plastic chest protectors" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for plastic chest protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A rigid plastic plastron with molded cups to be worn by female fencers for " +"protection while fencing." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fencing jacket" msgid_plural "fencing jackets" @@ -7149,6 +7774,34 @@ msgid "" "accidents. It doesn't have any storage room, but it is very comfortable." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "lamé (foil)" +msgid_plural "lamé (foil)s" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lamé (foil) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive vest with the zipper on the back used by " +"fencers for electronic scoring. Its outer layer is a woven mix of sturdy " +"cotton and stainless steel strands." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "lamé (saber)" +msgid_plural "lamé (saber)s" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lamé (saber) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive jacket used by fencers for electronic " +"scoring. Its outer layer is a woven mix of sturdy cotton and stainless " +"steel strands." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fencing mask" msgid_plural "fencing masks" @@ -7171,6 +7824,32 @@ msgstr[1] "" msgid "A pair of reinforced pants used by fencers to prevent injuries." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet" +msgid_plural "fencing gauntlets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fencing gauntlet +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet (left)" +msgid_plural "fencing gauntlet (left)s" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fencing gauntlet (left) +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers. This one is left-handed." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of fire gauntlets" msgid_plural "pairs of fire gauntlets" @@ -7535,19 +8214,6 @@ msgstr[1] "" msgid "A pair of warm fur gloves. They are somewhat cumbersome." msgstr "" -#: lang/json/ARMOR_from_json.py -msgid "pair of survivor wetsuit gloves" -msgid_plural "pairs of survivor wetsuit gloves" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for pair of survivor wetsuit gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to " -"wear while providing maximum protection under extreme conditions." -msgstr "" - #: lang/json/ARMOR_from_json.py msgid "pair of heavy survivor gloves" msgid_plural "pairs of heavy survivor gloves" @@ -7609,6 +8275,20 @@ msgid "" "wear while providing maximum protection under extreme conditions." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "pair of fingerless survivor gloves" +msgid_plural "pairs of fingerless survivor gloves" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of fingerless survivor gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored cloth gloves with no fingers, modified " +"to be easy to wear while providing maximum protection under extreme " +"conditions." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of medical gloves" msgid_plural "pairs of medical gloves" @@ -7837,17 +8517,6 @@ msgid "" "excellent protection from environmental dangers." msgstr "" -#: lang/json/ARMOR_from_json.py -msgid "pair of swim goggles" -msgid_plural "pairs of swim goggles" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for pair of swim goggles -#: lang/json/ARMOR_from_json.py -msgid "A small pair of goggles made for swimming." -msgstr "" - #: lang/json/ARMOR_from_json.py msgid "pair of welding goggles" msgid_plural "pairs of welding goggles" @@ -7884,20 +8553,6 @@ msgid "" "A heavy, full-length wool coat. Cumbersome, but warm and with deep pockets." msgstr "" -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit" -msgid_plural "survivor wetsuits" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for survivor wetsuit -#: lang/json/ARMOR_from_json.py -msgid "" -"A lightweight, hand-built combination armor made from a cut-down bulletproof " -"vest and a reinforced neoprene wetsuit. Protects from the elements as well " -"as from harm." -msgstr "" - #: lang/json/ARMOR_from_json.py msgid "hakama" msgid_plural "hakamas" @@ -8400,17 +9055,6 @@ msgstr[1] "" msgid "A customized armored Nomex and Kevlar hood, very strong and durable." msgstr "" -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit hood" -msgid_plural "survivor wetsuit hoods" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for survivor wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "A customized armored neoprene and Kevlar hood, very strong and durable." -msgstr "" - #: lang/json/ARMOR_from_json.py msgid "light survivor hood" msgid_plural "light survivor hoods" @@ -9115,18 +9759,25 @@ msgstr[0] "" msgstr[1] "" #. ~ Use action holster_msg for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_msg for magic leather belt. +#. ~ Use action holster_msg for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py #, no-python-format msgid "You tuck your %s into your %s" msgstr "" #. ~ Use action holster_prompt for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_prompt for magic leather belt. +#. ~ Use action holster_prompt for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Stick what into your belt" msgstr "" #. ~ Description for leather belt -#: lang/json/ARMOR_from_json.py +#. ~ Description for magic leather belt +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py msgid "A leather belt. Useful for making your pair of pants fit." msgstr "" @@ -9294,6 +9945,20 @@ msgid "" "variety is favored by the military." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "leotard" +msgid_plural "leotard" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for leotard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment, covering the body from the groin to the " +"shoulders. With its deep scoop-cut back and high waist cuts, this garment " +"is perfect for showcasing your physique on the stage." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "Linux t-shirt" msgid_plural "Linux t-shirts" @@ -10115,33 +10780,6 @@ msgid "" "Activate to sheathe/draw a weapon." msgstr "" -#: lang/json/ARMOR_from_json.py -msgid "shark suit" -msgid_plural "shark suits" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark " -"bites. It comes with attached plastic helmet and booties." -msgstr "" - -#: lang/json/ARMOR_from_json.py -msgid "faraday shark suit" -msgid_plural "faraday shark suits" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for faraday shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark " -"bites. It has been conductively interconnected, protecting against " -"electricity." -msgstr "" - #: lang/json/ARMOR_from_json.py msgid "sheath" msgid_plural "sheathes" @@ -10214,6 +10852,19 @@ msgid "" "from cuts." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "thermal shirt" +msgid_plural "thermal shirts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for thermal shirt +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, form-fitting long-sleeved spandex undershirt that helps " +"maintains body temperature." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "skinny tie" msgid_plural "skinny ties" @@ -10676,8 +11327,8 @@ msgstr[1] "" #: lang/json/ARMOR_from_json.py msgid "" "A thin, short-sleeved and short-legged one-piece suit. Judging by the odd " -"tailoring and adjustment points... maybe you don't want to know who wore " -"it. Provides nominal storage and is not very encumbering." +"tailoring and adjustment points… maybe you don't want to know who wore it. " +"Provides nominal storage and is not very encumbering." msgstr "" #: lang/json/ARMOR_from_json.py @@ -10749,6 +11400,7 @@ msgstr[1] "" #. ~ Use action holster_prompt for survivor utility belt. #. ~ Use action holster_prompt for hiking backpack. #. ~ Use action holster_prompt for C.R.I.T web belt. +#. ~ Use action holster_prompt for technomancer's toolbelt. #: lang/json/ARMOR_from_json.py msgid "Sheath blade" msgstr "" @@ -11123,17 +11775,6 @@ msgid "" "hat for you." msgstr "" -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming trunks" -msgid_plural "pairs of swimming trunks" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for pair of swimming trunks -#: lang/json/ARMOR_from_json.py -msgid "A pair of swimming trunks, with netting." -msgstr "" - #: lang/json/ARMOR_from_json.py msgid "t-shirt" msgid_plural "t-shirts" @@ -11387,55 +12028,6 @@ msgid "" "would be too casual and a suit would be just overdoing it." msgstr "" -#: lang/json/ARMOR_from_json.py -msgid "wetsuit" -msgid_plural "wetsuits" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for wetsuit -#: lang/json/ARMOR_from_json.py -msgid "A full-body neoprene wetsuit." -msgstr "" - -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming gloves" -msgid_plural "pairs of swimming gloves" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for pair of swimming gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of very flexible neoprene-silicone rubber gloves, suitable for " -"underwater use." -msgstr "" - -#: lang/json/ARMOR_from_json.py -msgid "wetsuit hood" -msgid_plural "wetsuit hoods" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "A neoprene hood, commonly worn by divers." -msgstr "" - -#: lang/json/ARMOR_from_json.py -msgid "spring suit" -msgid_plural "spring suits" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for spring suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A long-sleeved spring wetsuit with pink color details and cleavage-" -"enhancing, hip-accentuating construction. Not as protective as a full-body " -"suit, but also less restrictive." -msgstr "" - #: lang/json/ARMOR_from_json.py msgid "pair of army winter gloves" msgid_plural "pairs of army winter gloves" @@ -11761,6 +12353,35 @@ msgid "" "Useful for improvised rain protection." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "unitard" +msgid_plural "unitards" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for unitard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment resembling a crew necked leotard combined with " +"leggings. Commonly used by gymnasts, dancers and equestrian vaulters, the " +"unitard provides overall coverage with great flexibility." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "zentai" +msgid_plural "zentais" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for zentai +#: lang/json/ARMOR_from_json.py +msgid "" +"Short for 'zenshin taitsu', a zentai is a form fitting full body nylon and " +"spandex garment. Though it covers your face, you can see through the " +"integrated hood. With a couple of these and some friends and you could put " +"on some kabuki." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of bone arm guards" msgid_plural "pairs of bone arm guards" @@ -14421,6 +15042,142 @@ msgid "" "direct skin contact." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming trunks" +msgid_plural "pairs of swimming trunks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of swimming trunks +#: lang/json/ARMOR_from_json.py +msgid "A pair of swimming trunks, with netting." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit" +msgid_plural "wetsuits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for wetsuit +#: lang/json/ARMOR_from_json.py +msgid "A full-body neoprene wetsuit." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit hood" +msgid_plural "wetsuit hoods" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "A neoprene hood, commonly worn by divers." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit hood" +msgid_plural "survivor wetsuit hoods" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for survivor wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "A customized armored neoprene and Kevlar hood, very strong and durable." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit" +msgid_plural "survivor wetsuits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for survivor wetsuit +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, hand-built combination armor made from a cut-down bulletproof " +"vest and a reinforced neoprene wetsuit. Protects from the elements as well " +"as from harm." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "pair of survivor wetsuit gloves" +msgid_plural "pairs of survivor wetsuit gloves" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of survivor wetsuit gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to " +"wear while providing maximum protection under extreme conditions." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "spring suit" +msgid_plural "spring suits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for spring suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A long-sleeved spring wetsuit with pink color details and cleavage-" +"enhancing, hip-accentuating construction. Not as protective as a full-body " +"suit, but also less restrictive." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "faraday shark suit" +msgid_plural "faraday shark suits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for faraday shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark " +"bites. It has been conductively interconnected, protecting against " +"electricity." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "shark suit" +msgid_plural "shark suits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark " +"bites. It comes with attached plastic helmet and booties." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "pair of swim goggles" +msgid_plural "pairs of swim goggles" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of swim goggles +#: lang/json/ARMOR_from_json.py +msgid "A small pair of goggles made for swimming." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming gloves" +msgid_plural "pairs of swimming gloves" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of swimming gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of very flexible neoprene-silicone rubber gloves, suitable for " +"underwater use." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "helmet netting" msgid_plural "helmet nettings" @@ -15025,6 +15782,54 @@ msgid_plural "shotgun bandoliers" msgstr[0] "" msgstr[1] "" +#: lang/json/ARMOR_from_json.py +msgid "technomancer's toolbelt" +msgid_plural "technomancer's toolbelts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for technomancer's toolbelt +#: lang/json/ARMOR_from_json.py +msgid "" +"A custom-built leather utility belt that instantly creates any tool that you " +"reach for. Activate to sheathe/draw a weapon." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "seven league boots" +msgid_plural "pairs of seven league boots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for seven league boots +#. ~ Description for boots of haste +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, they look like they've seen a lot of use and will likely see a lot " +"more. They make your movement a lot less work." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "boots of haste" +msgid_plural "pairs of boots of haste" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/ARMOR_from_json.py +msgid "boots of grounding" +msgid_plural "pairs of boots of grounding" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for boots of grounding +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of leather with " +"small engraved runes seemingly filled with rubber. When worn, you are " +"immune to damage from electricity." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "copper infusion bracelet" msgid_plural "copper infusion bracelets" @@ -15047,7 +15852,7 @@ msgstr[1] "" #. ~ Description for copper circlet #: lang/json/ARMOR_from_json.py msgid "" -"A wooden band with copper trimmings to be worn on the head. Touching your " +"A wooden band with copper trimmings to be worn on the head. Touching your " "temples with it on makes you feel very calm." msgstr "" @@ -15244,6 +16049,24 @@ msgid "" "minimize encumbrance." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "acid resistance aura" +msgid_plural "acid resistance auras" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for acid resistance aura +#. ~ Description for greater acid resistance aura +#: lang/json/ARMOR_from_json.py +msgid "An all-encompassing, invisible layer of protection against acid." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "greater acid resistance aura" +msgid_plural "greater acid resistance auras" +msgstr[0] "" +msgstr[1] "" + #: lang/json/ARMOR_from_json.py msgid "wooden shield" msgid_plural "wooden shields" @@ -15672,7 +16495,7 @@ msgstr[1] "" msgid "" "This high-power system uses a set of cameras and LEDs to make the user blend " "into their surroundings, rendering them fully invisible to eyes and optical " -"sensors. However, this does't prevent detection from other means such as " +"sensors. However, this doesn't prevent detection from other means such as " "infrared, sonar, etc." msgstr "" @@ -15772,8 +16595,9 @@ msgstr[1] "" #. ~ Description for Ethanol Burner CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A reactor that burns alcohol as fuel in an extremely efficient reaction. " -"However, the user will still suffer the inebriating effects of the substance." +"A reactor that burns alcohol as fuel in an extremely efficient reaction. It " +"can store up to 500ml and accept ethanol, methanol and denatured aclohol as " +"fuel." msgstr "" #: lang/json/BIONIC_ITEM_from_json.py @@ -15783,8 +16607,7 @@ msgstr[0] "" msgstr[1] "" #. ~ Description for Aero-Evaporator CBM -#. ~ Description for Aero-Evaporator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "This unit draws moisture from the surrounding air, which then is poured from " "a fingertip in the form of water. It may fail in very dry environments." @@ -15827,7 +16650,7 @@ msgstr[1] "" #: lang/json/BIONIC_ITEM_from_json.py msgid "" "Through controlled application of electrochemical impulses, this bionic " -"mudule lets the user alter their facial structure so as to subtly affect the " +"module lets the user alter their facial structure so as to subtly affect the " "reactions of others. This grants a bonus to all social interactions." msgstr "" @@ -15853,7 +16676,7 @@ msgstr[1] "" #. ~ Description for Fingerhack CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A miniature electrohack, surgically embedded in a finger of the right hand. " +"A miniature electrohack, surgically embedded in a finger of the right hand. " "This is an all-purpose hacking unit used to override control panels and the " "like, but not computers. Computer proficiency is important, and a failed " "use may cause damage." @@ -16149,8 +16972,7 @@ msgstr[0] "" msgstr[1] "" #. ~ Description for Artificial Night Generator CBM -#. ~ Description for Artificial Night Generator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "When active, this bionic eliminates all light within a 15 tile radius " "through destructive interference." @@ -16222,7 +17044,7 @@ msgstr[1] "" msgid "" "Interfaces the user's bionic power system with the internal charging port on " "suits of power armor, allowing them to draw from the user's bionic power " -"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " +"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " "DoubleTech Inc., to meet the popularity of the Mk. II power armor series." msgstr "" @@ -16769,7 +17591,7 @@ msgstr[1] "" #. ~ Description for Itchy Metal Thing #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"You can't recognise what this is supposed to be, but it's a very awkward " +"You can't recognize what this is supposed to be, but it's a very awkward " "thing to have in one's body." msgstr "" @@ -16781,7 +17603,7 @@ msgstr[1] "" #. ~ Description for Glowy Thing #: lang/json/BIONIC_ITEM_from_json.py -msgid "It's a... thing? And it glows, at least it did when it was plugged in." +msgid "It's a… thing? And it glows, at least it did when it was plugged in." msgstr "" #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py @@ -17353,7 +18175,7 @@ msgstr[1] "" #. ~ Description for To Serve Man #: lang/json/BOOK_from_json.py -msgid "It's... it's a cookbook!" +msgid "It's… it's a cookbook!" msgstr "" #: lang/json/BOOK_from_json.py @@ -17448,7 +18270,7 @@ msgstr[1] "" msgid "" "This sheaf of papers-dated two weeks before all this started-describes some " "new chemical formula, and its effects on human subjects. It's stamped " -"\"APPROVED\"..." +"\"APPROVED\"…" msgstr "" #: lang/json/BOOK_from_json.py @@ -17475,8 +18297,8 @@ msgstr[1] "" #: lang/json/BOOK_from_json.py msgid "" "This sheaf of papers describes a new chemical formula in detail and supplies " -"instructions for its use as some sort of ... crowd-control catalyst? That " -"can't be right..." +"instructions for its use as some sort of… crowd-control catalyst? That " +"can't be right…" msgstr "" #: lang/json/BOOK_from_json.py @@ -17490,7 +18312,7 @@ msgstr[1] "" msgid "" "This team logbook details several varieties of mutagenic experiments, " "focusing on those derived from flesh contaminated with XE037. The results " -"look promising but the procurement methods seem awfully vague..." +"look promising but the procurement methods seem awfully vague…" msgstr "" #: lang/json/BOOK_from_json.py @@ -17504,7 +18326,7 @@ msgstr[1] "" msgid "" "This binder details the scheduled maintenance for several plumbing systems " "throughout the facility. However, some of the log sheets seem to be filled " -"with...a chemical formula?" +"with… a chemical formula?" msgstr "" #: lang/json/BOOK_from_json.py @@ -17547,7 +18369,7 @@ msgstr[1] "" #: lang/json/BOOK_from_json.py msgid "" "This binder of highly technical papers describes some new chemical formula, " -"and its effects on human subjects. It's stamped \"APPROVED\"...." +"and its effects on human subjects. It's stamped \"APPROVED\"…" msgstr "" #: lang/json/BOOK_from_json.py @@ -17829,7 +18651,7 @@ msgstr[1] "" msgid "" "This hefty binder contains a multitude of diagrams and technical " "specifications for various electronic materials. Some of the diagrams use " -"symbols you've not seen before..." +"symbols you've not seen before…" msgstr "" #: lang/json/BOOK_from_json.py @@ -17895,15 +18717,15 @@ msgstr[1] "" #. ~ Description for nearby fire #. ~ Description for muscle #. ~ Description for wind +#. ~ Description for metabolism #. ~ Description for a smoking device and a source of flame #. ~ Description for abstract map #. ~ Description for seeing this is a bug #. ~ Description for weapon #: lang/json/BOOK_from_json.py lang/json/GENERIC_from_json.py #: lang/json/GENERIC_from_json.py -#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py -#: lang/json/TOOL_from_json.py lang/json/furniture_from_json.py -#: lang/json/skill_from_json.py +#: lang/json/TOOL_from_json.py +#: lang/json/furniture_from_json.py lang/json/skill_from_json.py msgid "seeing this is a bug" msgid_plural "seeing this is a bugs" msgstr[0] "" @@ -18244,8 +19066,8 @@ msgstr[1] "" #: lang/json/BOOK_from_json.py msgid "" "Everything you could ever want to know about handloading ammunition, sealed " -"with a ...childproof cover. Apparently a liability thing, because the " -"chapter on explosive rounds covers them in excellent detail too." +"with a… childproof cover. Apparently a liability thing, because the chapter " +"on explosive rounds covers them in excellent detail too." msgstr "" #: lang/json/BOOK_from_json.py @@ -18741,7 +19563,7 @@ msgid "" "This lab notebook is filled with the collective discoveries and refinements " "of a research team dedicated to nuclear energy. You don't think you're " "ready to start a second Cataclysm, but the general information provided " -"might be useful..." +"might be useful…" msgstr "" #: lang/json/BOOK_from_json.py @@ -20068,6 +20890,34 @@ msgid "" "that the author's real name is Fereidoun M. Esfandiary." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Bastiat Collection\", a large collection of essays " +"by Frederic Bastiat." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Anarchy, State, and Utopia\" by Robert Nozick, one of " +"the most influential books of modern libertarianism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Socialism\" by Ludwig von Mises, a critical examination " +"of socialism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The ABC of Communism\" by Nikolai Bukharin, one of the " +"most influential books of early Marxism-Leninism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Anti-Capitalist Mentality\" by Ludwig von Mises." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "phone book" msgid_plural "phone books" @@ -20141,7 +20991,7 @@ msgstr[1] "" #. ~ Description for corporate accounting ledger #: lang/json/BOOK_from_json.py -msgid "If you knew what to look for something might stand out..." +msgid "If you knew what to look for something might stand out…" msgstr "" #: lang/json/BOOK_from_json.py @@ -20382,6 +21232,105 @@ msgstr "" msgid "This is a copy of \"The Secret Garden\" by Frances Burnett." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lieutenant Hornblower\" by C.S. Forester." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Master and Commander\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Warden\" by Anthony Trollope." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Far Side of the World\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"HMS Surprise\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Barchester Towers\" by Anthony Trollope." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Land Ironclads\" by H.G. Wells." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Great Boer War\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Crime of the Congo\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Parasite\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"By Stroke of Sword\" by Andrew Balfour." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Secret Agent\" by Joseph Conrad." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lord Jim\" by Joseph Conrad." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Vanity Fair\" by William Makepeace Thackeray." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Luck of Barry Lyndon\" by William Makepeace " +"Thackeray." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"North and South\" by Elizabeth Gaskell." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Mayor of Casterbridge\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Wessex Tales\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Far from the Madding Crowd\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Captains Courageous\" by Rudyard Kipling." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Canterbury Tales\" by Geoffrey Chaucer." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Harold, the Last of the Saxons\" by Edward Bulwer-Lytton." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Mr Midshipman Easy\" by Frederick Marryat." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Peter Simple\" by Frederick Marryat." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "collector's edition book" msgid_plural "collector's edition book" @@ -21314,11 +22263,11 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "Black Dragons: Swamp Ruins" -msgid_plural "Black Dragons: Swamp Ruinss" +msgid_plural "copies of Black Dragons: Swamp Ruins" msgstr[0] "" msgstr[1] "" -#. ~ Description for Black Dragons: Swamp Ruins +#. ~ Description for {'str': 'Black Dragons: Swamp Ruins', 'str_pl': 'copies of Black Dragons: Swamp Ruins'} #: lang/json/BOOK_from_json.py msgid "" "This book details black dragons: The most evil of dragons, who live in ruins " @@ -21329,28 +22278,57 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "A Beginner's Guide to Alchemy" -msgid_plural "A Beginner's Guide to Alchemys" +msgid_plural "copies of A Beginner's Guide to Alchemy" msgstr[0] "" msgstr[1] "" -#. ~ Description for A Beginner's Guide to Alchemy +#. ~ Description for {'str': "A Beginner's Guide to Alchemy", 'str_pl': "copies of A Beginner's Guide to Alchemy"} #: lang/json/BOOK_from_json.py msgid "A paperback tome for the art of liquid magic, alcohol not included." msgstr "" #: lang/json/BOOK_from_json.py msgid "A Soulbinder's Guide to Necromancy" -msgid_plural "A Soulbinder's Guide to Necromancys" +msgid_plural "copies of A Soulbinder's Guide to Necromancy" msgstr[0] "" msgstr[1] "" -#. ~ Description for A Soulbinder's Guide to Necromancy +#. ~ Description for {'str': "A Soulbinder's Guide to Necromancy", 'str_pl': "copies of A Soulbinder's Guide to Necromancy"} #: lang/json/BOOK_from_json.py msgid "" "A paperback tome for the art of binding undead creatures' souls to dolls, " "along with emulating their healing factor." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "Magitek Illustrated" +msgid_plural "copies of Magitek Illustrated" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'Magitek Illustrated', 'str_pl': 'copies of Magitek Illustrated'} +#: lang/json/BOOK_from_json.py +msgid "" +"A paperback tome for the art of combining modern technology with magic. " +"There is a disclaimer on the back: `Cannith Industries bears no " +"responsibility for malfunctions or accidents for any products mentioned " +"herein`." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "The Weapons of Asgard and Beyond" +msgid_plural "copies of The Weapons of Asgard and Beyond" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'The Weapons of Asgard and Beyond', 'str_pl': 'copies of The Weapons of Asgard and Beyond'} +#: lang/json/BOOK_from_json.py +msgid "" +"An ornate book which appears to be written in Norse runes. Based on the " +"detailed illustrations, it appears to contain information about crafting " +"numerous weapons used by various Gods." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "SugarKin flyer" msgid_plural "SugarKin flyers" @@ -21813,7 +22791,7 @@ msgstr "" #. ~ Description for acetylene #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flammable gas that explodes under pressure. Combined with oxygen, " +"A flammable gas that explodes under pressure. Combined with oxygen, " "acetylene makes a great welding gas." msgstr "" @@ -22728,6 +23706,40 @@ msgstr "" msgid "The stomach of a large humanoid creature. It is surprisingly durable." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of human fat" +msgid_plural "chunks of human fat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of human fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly harvested from a human body." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human tallow" +msgstr "" + +#. ~ Description for human tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered human fat. It will remain " +"edible for a very long time, and can be used as an ingredient in many foods " +"and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human lard" +msgstr "" + +#. ~ Description for human lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered human fat. It will remain edible for a " +"very long time, and can be used as an ingredient in many foods and projects." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "human flesh" msgid_plural "human fleshes" @@ -22772,6 +23784,61 @@ msgid "" "This is a tiny scrap of edible meat. It's not much, but it'll do in a pinch." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant meat" +msgid_plural "chunks of mutant meat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Meat from a heavily mutated animal. It has an unsettling loose and spongy " +"texture, but smells… mostly normal. There are strange tangles and " +"formations in it that don't appear natural at all: bits of bone and hair " +"crusted up inside the muscle, as if trying to form another organism. Still, " +"seems digestible at least, if you cook it and remove the worst parts." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "scrap of mutant meat" +msgid_plural "scraps of mutant meat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for scrap of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A tiny scrap of meat from a heavily mutated animal. It smells a bit odd, " +"and has bits of hair and bone mixed in that seem like they grew inside the " +"muscle itself. Still, seems digestible at least, if you cook it and remove " +"the worst parts." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid meat" +msgstr "" + +#. ~ Description for mutant humanoid meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered from the body of a heavily mutated creature that was " +"unsettlingly humanoid in appearance. It has odd bits of fur and other " +"tissue lodged in it that clearly don't belong. You'd have to be crazy or " +"starving to eat this." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked cretin" +msgstr "" + +#. ~ Description for cooked cretin +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Cooked meat from a heavily mutated humanoid. Now that the worst bits have " +"been picked out, it's probably digestible, if not very appetizing." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "butchery refuse" msgid_plural "butchery refuse" @@ -22804,6 +23871,24 @@ msgid_plural "cooked scraps of meat" msgstr[0] "" msgstr[1] "" +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked mutant meat" +msgstr "" + +#. ~ Description for cooked mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"This is a cooked chunk of meat from a mutated animal. It has an unsettling, " +"spongy texture, but otherwise tastes… mostly normal. Hopefully you got all " +"the bits of hair and bone out…" +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked scrap of mutant meat" +msgid_plural "cooked scraps of mutant meat" +msgstr[0] "" +msgstr[1] "" + #: lang/json/COMESTIBLE_from_json.py msgid "raw offal" msgstr "" @@ -23005,7 +24090,7 @@ msgstr[1] "" #. ~ Description for raw brains #: lang/json/COMESTIBLE_from_json.py -msgid "The brain from an animal. You wouldn't want to eat this raw..." +msgid "The brain from an animal. You wouldn't want to eat this raw…" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -23058,7 +24143,7 @@ msgstr "" #. ~ Description for cooked sweetbread #: lang/json/COMESTIBLE_from_json.py -msgid "Normally a delicacy, it needs a little... something." +msgid "Normally a delicacy, it needs a little… something." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -23109,6 +24194,78 @@ msgid "" "projects." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant fat" +msgid_plural "chunks of mutant fat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of mutant fat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered fat from a heavily mutated animal. You could eat it raw, " +"but it is better used as an ingredient in other foods or projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant tallow" +msgstr "" + +#. ~ Description for mutant tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"animal. It will remain edible for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant lard" +msgstr "" + +#. ~ Description for mutant lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant animal. It " +"will remain edible for a very long time, and can be used as an ingredient in " +"many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant humanoid fat" +msgid_plural "chunks of mutant humanoid fat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of mutant humanoid fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly butchered fat from a heavily mutated humanoid." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid tallow" +msgstr "" + +#. ~ Description for mutant humanoid tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"humanoid. It won't rot for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid lard" +msgstr "" + +#. ~ Description for mutant humanoid lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant humanoid. It " +"won't rot for a very long time, and can be used as an ingredient in many " +"foods and projects." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "chunk of tainted meat" msgid_plural "chunks of tainted meat" @@ -23278,7 +24435,7 @@ msgid "" "covered in ribbed grooves and easily the size of your head. It's still full " "of, er, whatever passes for blood in jabberwocks, and is heavy in your " "hands. After everything you've seen lately, you can't help but remember old " -"sayings about eating the hearts of your enemies..." +"sayings about eating the hearts of your enemies…" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -23294,6 +24451,7 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py +#: lang/json/ammunition_type_from_json.py msgid "raw milk" msgid_plural "raw milk" msgstr[0] "" @@ -23599,7 +24757,7 @@ msgstr[1] "" #. ~ Description for chicory brew #: lang/json/COMESTIBLE_from_json.py msgid "" -"Toasted, ground chicory root steeped in boiling water. This bitter brew is " +"Toasted, ground chicory root steeped in boiling water. This bitter brew is " "used as a coffee substitute, though it tastes nothing like coffee." msgstr "" @@ -24473,11 +25631,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "lemonade drink mix" -msgid_plural "servings of lemonade drink mix" +msgid_plural "lemonade drink mix" msgstr[0] "" msgstr[1] "" -#. ~ Description for lemonade drink mix +#. ~ Description for {'str': 'lemonade drink mix', 'str_pl': 'lemonade drink mix'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Tangy yellow powder that smells strongly of lemons. Can be mixed with water " @@ -25199,7 +26357,7 @@ msgstr[1] "" #. ~ Description for peanut butter candy #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of peanut butter cups... your favorite!" +msgid "A handful of peanut butter cups… your favorite!" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -25314,7 +26472,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A cake coated in the thickest icing you've ever seen. Someone has written " -"guff in quotation marks on it..." +"guff in quotation marks on it…" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -25358,7 +26516,7 @@ msgstr[1] "" #. ~ Description for peppermint patty #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of soft chocolate-covered peppermint patties... yum!" +msgid "A handful of soft chocolate-covered peppermint patties… yum!" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -25960,6 +27118,17 @@ msgid "" "filling." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "holy SPAM of debugging" +msgstr "" + +#. ~ Description for holy SPAM of debugging +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A mysterious lump of SPAM that contains just enough calories and vitamins to " +"feed you for a day. For debug use only." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "canned sardine" msgstr "" @@ -26714,9 +27883,9 @@ msgstr[1] "" #. ~ Description for antibiotics #: lang/json/COMESTIBLE_from_json.py msgid "" -"A prescription-strength antibacterial medication designed to prevent or stop " -"the spread of infection. It's the quickest and most reliable way to cure " -"any infections you might have. One dose lasts twelve hours." +"A strong antibacterial medication designed to prevent or stop the spread of " +"infection. It's the safest way to cure any infections you might have. One " +"dose lasts twelve hours." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27547,8 +28716,8 @@ msgstr[1] "" #. ~ Description for antiseptic soaked rag #: lang/json/COMESTIBLE_from_json.py msgid "" -"A rag soaked in antiseptic. Useful for light wounds, probaby won't help with " -"deep bites." +"A rag soaked in antiseptic. Useful for light wounds, probaby won't help " +"with deep bites." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27607,7 +28776,7 @@ msgid "" "oily liquid that shifts from black to purple at unpredictable intervals, " "flecked with tiny gray dots. Given the place you got it from, it's either " "very potent, or highly experimental. Holding it, all the little aches and " -"pains seem to fade, just for a moment..." +"pains seem to fade, just for a moment…" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27623,6 +28792,19 @@ msgid "" "painkiller." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "destragon" +msgstr "" + +#. ~ Description for destragon +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A prescription-strength antibacterial medication designed to prevent or stop " +"the spread of infection. It contains nearly toxic levels of antibiotics, " +"but can treat any bacterial infections you may encounter. One dose lasts " +"twelve hours." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "MRE entree" msgstr "" @@ -27983,7 +29165,7 @@ msgstr "" #. ~ Description for abstract iv mutagen flavor #: lang/json/COMESTIBLE_from_json.py msgid "" -"A super-concentrated mutagen. You need a syringe to inject it... if you " +"A super-concentrated mutagen. You need a syringe to inject it… if you " "really want to?" msgstr "" @@ -27999,7 +29181,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen strongly resembling blood. You need a syringe " -"to inject it... if you really want to?" +"to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28010,7 +29192,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as red as a matador's cape. You need a syringe " -"to inject it... if you really want to?" +"to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28021,7 +29203,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the pre-cataclysmic skies. You " -"need a syringe to inject it... if you really want to?" +"need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28032,7 +29214,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of grass. You need a syringe to " -"inject it... if you really want to?" +"inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28043,7 +29225,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as black as ink. You need a syringe to inject " -"it... if you really want to?" +"it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28054,7 +29236,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that churns with iridescence. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28065,7 +29247,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a striking sylvan green. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28076,7 +29258,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen, yellow and highly reflective. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28087,7 +29269,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the ocean, with white foam at the " -"top. You need a syringe to inject it... if you really want to?" +"top. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28098,7 +29280,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a beautiful amber color. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28109,7 +29291,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that shifts between various shades of green. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28120,7 +29302,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as white as a full moon. You need a syringe to " -"inject it... if you really want to?" +"inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28131,7 +29313,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like a mixture of bodily fluids. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28142,7 +29324,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like pureed spinach. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28153,7 +29335,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to shift slightly whenever you look " -"at it. You need a syringe to inject it... if you really want to?" +"at it. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28164,7 +29346,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a rather unappealing beige. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28175,7 +29357,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks very much like the black ooze in the " -"zombies' eyes. You need a syringe to inject it... if you really want to?" +"zombies' eyes. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28186,7 +29368,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen with pale filaments suspended in it. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28197,7 +29379,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to recoil from the light. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28208,7 +29390,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's the color of honey, and is just as " -"thick. You need a syringe to inject it... if you really want to?" +"thick. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28219,7 +29401,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen resembling liquefied metal. You need a syringe " -"to inject it... if you really want to?" +"to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28234,7 +29416,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A thick, soupy red liquid. It looks and smells disgusting, and seems to " -"bubble with an intelligence of its own..." +"bubble with an intelligence of its own…" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28419,23 +29601,23 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of pine nuts" -msgid_plural "handfuls of pine nuts" +msgid "pine nuts" +msgid_plural "pine nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of pine nuts +#. ~ Description for {'str': 'pine nuts', 'str_pl': 'pine nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of tasty crunchy nuts from a pinecone." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of junipers" -msgid_plural "handful of junipers" +msgid "junipers" +msgid_plural "junipers" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of junipers +#. ~ Description for {'str': 'junipers', 'str_pl': 'junipers'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Junipers, for making gin and earthy flavors. Spicy, tastes similar to " @@ -28443,68 +29625,80 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pistachios" -msgid_plural "handfuls of shelled pistachios" +msgid "shelled pistachios" +msgid_plural "shelled pistachios" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled pistachios +#. ~ Description for {'str': 'shelled pistachios', 'str_pl': 'shelled pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of nuts from a pistachio tree, their shells have been removed." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pistachios" -msgid_plural "handfuls of roasted pistachios" +msgid "roasted pistachios" +msgid_plural "roasted pistachios" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted pistachios +#. ~ Description for {'str': 'roasted pistachios', 'str_pl': 'roasted pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an pistachio tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled almonds" -msgid_plural "handfuls of shelled almonds" +msgid "shelled almonds" +msgid_plural "shelled almonds" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled almonds +#. ~ Description for {'str': 'shelled almonds', 'str_pl': 'shelled almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of nuts from an almond tree, their shells have been removed." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted almonds" -msgid_plural "handfuls of roasted almonds" +msgid "almond pulp" +msgid_plural "almond pulp" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for almond pulp +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Pulp left over after making almond milk. It's gritty and incredibly bland." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "roasted almonds" +msgid_plural "roasted almonds" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted almonds +#. ~ Description for {'str': 'roasted almonds', 'str_pl': 'roasted almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an almond tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cashews" -msgid_plural "handfuls of cashews" +msgid "cashews" +msgid_plural "cashews" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of cashews +#. ~ Description for {'str': 'cashews', 'str_pl': 'cashews'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of salty cashews." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pecans" -msgid_plural "handfuls of shelled pecans" +msgid "shelled pecans" +msgid_plural "shelled pecans" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled pecans +#. ~ Description for {'str': 'shelled pecans', 'str_pl': 'shelled pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of pecans which are a sub-species of hickory nuts, their shells " @@ -28512,45 +29706,45 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pecans" -msgid_plural "handfuls of roasted pecans" +msgid "roasted pecans" +msgid_plural "roasted pecans" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted pecans +#. ~ Description for {'str': 'roasted pecans', 'str_pl': 'roasted pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a pecan tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled peanuts" -msgid_plural "handful of shelled peanuts" +msgid "shelled peanuts" +msgid_plural "shelled peanuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled peanuts +#. ~ Description for {'str': 'shelled peanuts', 'str_pl': 'shelled peanuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Salty peanuts with their shells removed." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of beech nuts" -msgid_plural "handfuls of beech nuts" +msgid "beech nuts" +msgid_plural "beech nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of beech nuts +#. ~ Description for {'str': 'beech nuts', 'str_pl': 'beech nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of hard pointy nuts from a beech tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled walnuts" -msgid_plural "handfuls of shelled walnuts" +msgid "shelled walnuts" +msgid_plural "shelled walnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled walnuts +#. ~ Description for {'str': 'shelled walnuts', 'str_pl': 'shelled walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a walnut tree, their shells have been " @@ -28558,23 +29752,23 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted walnuts" -msgid_plural "handfuls of roasted walnuts" +msgid "roasted walnuts" +msgid_plural "roasted walnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted walnuts +#. ~ Description for {'str': 'roasted walnuts', 'str_pl': 'roasted walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a walnut tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled chestnuts" -msgid_plural "handfuls of shelled chestnuts" +msgid "shelled chestnuts" +msgid_plural "shelled chestnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled chestnuts +#. ~ Description for {'str': 'shelled chestnuts', 'str_pl': 'shelled chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a chestnut tree, their shells have been " @@ -28582,23 +29776,23 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted chestnuts" -msgid_plural "handfuls of roasted chestnuts" +msgid "roasted chestnuts" +msgid_plural "roasted chestnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted chestnuts +#. ~ Description for {'str': 'roasted chestnuts', 'str_pl': 'roasted chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a chestnut tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hazelnuts" -msgid_plural "handfuls of shelled hazelnuts" +msgid "shelled hazelnuts" +msgid_plural "shelled hazelnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled hazelnuts +#. ~ Description for {'str': 'shelled hazelnuts', 'str_pl': 'shelled hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hazelnut tree, their shells have been " @@ -28606,45 +29800,45 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted edamame" -msgid_plural "handful of roasted edamame" +msgid "roasted edamame" +msgid_plural "roasted edamame" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted edamame +#. ~ Description for {'str': 'roasted edamame', 'str_pl': 'roasted edamame'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted edamame, a heart healthy snack." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted soy nuts" -msgid_plural "handful of roasted soy nuts" +msgid "roasted soy nuts" +msgid_plural "roasted soy nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted soy nuts +#. ~ Description for {'str': 'roasted soy nuts', 'str_pl': 'roasted soy nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted soybeans, often called soy nuts." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hazelnuts" -msgid_plural "handfuls of roasted hazelnuts" +msgid "roasted hazelnuts" +msgid_plural "roasted hazelnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted hazelnuts +#. ~ Description for {'str': 'roasted hazelnuts', 'str_pl': 'roasted hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hazelnut tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hickory nuts" -msgid_plural "handfuls of shelled hickory nuts" +msgid "shelled hickory nuts" +msgid_plural "shelled hickory nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled hickory nuts +#. ~ Description for {'str': 'shelled hickory nuts', 'str_pl': 'shelled hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hickory tree, their shells have been " @@ -28652,12 +29846,12 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hickory nuts" -msgid_plural "handfuls of roasted hickory nuts" +msgid "roasted hickory nuts" +msgid_plural "roasted hickory nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted hickory nuts +#. ~ Description for {'str': 'roasted hickory nuts', 'str_pl': 'roasted hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hickory tree." msgstr "" @@ -28672,12 +29866,12 @@ msgid "Delicious hickory nut ambrosia. A drink worthy of the gods." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of acorns" -msgid_plural "handfuls of acorns" +msgid "acorns" +msgid_plural "acorns" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of acorns +#. ~ Description for {'str': 'acorns', 'str_pl': 'acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of acorns, still in their shells. Squirrels like them, but " @@ -28685,12 +29879,12 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted acorns" -msgid_plural "handfuls of roasted acorns" +msgid "roasted acorns" +msgid_plural "roasted acorns" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted acorns +#. ~ Description for {'str': 'roasted acorns', 'str_pl': 'roasted acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful roasted nuts from an oak tree." msgstr "" @@ -29240,11 +30434,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "soylent green powder" -msgid_plural "servings of soylent green powder" +msgid_plural "soylent green powder" msgstr[0] "" msgstr[1] "" -#. ~ Description for soylent green powder +#. ~ Description for {'str': 'soylent green powder', 'str_pl': 'soylent green powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein made out of people! While quite nutritious, it is " @@ -29286,11 +30480,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "protein powder" -msgid_plural "servings of protein powder" +msgid_plural "protein powder" msgstr[0] "" msgstr[1] "" -#. ~ Description for protein powder +#. ~ Description for {'str': 'protein powder', 'str_pl': 'protein powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein. While quite nutritious, it is impossible to enjoy in " @@ -29358,67 +30552,67 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blueberries" -msgid_plural "handful of blueberries" +msgid "blueberries" +msgid_plural "blueberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of blueberries +#. ~ Description for {'str': 'blueberries', 'str_pl': 'blueberries'} #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of strawberries" -msgid_plural "handful of strawberries" +msgid "strawberries" +msgid_plural "strawberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of strawberries +#. ~ Description for {'str': 'strawberries', 'str_pl': 'strawberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cranberries" -msgid_plural "handful of cranberries" +msgid "cranberries" +msgid_plural "cranberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of cranberries +#. ~ Description for {'str': 'cranberries', 'str_pl': 'cranberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of raspberries" -msgid_plural "handful of raspberries" +msgid "raspberries" +msgid_plural "raspberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of raspberries +#. ~ Description for {'str': 'raspberries', 'str_pl': 'raspberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of huckleberries" -msgid_plural "handful of huckleberries" +msgid "huckleberries" +msgid_plural "huckleberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of huckleberries +#. ~ Description for {'str': 'huckleberries', 'str_pl': 'huckleberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of mulberries" -msgid_plural "handful of mulberries" +msgid "mulberries" +msgid_plural "mulberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of mulberries +#. ~ Description for {'str': 'mulberries', 'str_pl': 'mulberries'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -29426,23 +30620,23 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of elderberries" -msgid_plural "handful of elderberries" +msgid "elderberries" +msgid_plural "elderberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of elderberries +#. ~ Description for {'str': 'elderberries', 'str_pl': 'elderberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of rose hips" -msgid_plural "handful of rose hips" +msgid "rose hips" +msgid_plural "rose hips" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of rose hips +#. ~ Description for {'str': 'rose hips', 'str_pl': 'rose hips'} #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "" @@ -29477,12 +30671,12 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cherries" -msgid_plural "handful of cherries" +msgid "cherries" +msgid_plural "cherries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of cherries +#. ~ Description for {'str': 'cherries', 'str_pl': 'cherries'} #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "" @@ -29497,12 +30691,12 @@ msgid "A handful of large, purple plums. Healthy and good for your digestion." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of grapes" -msgid_plural "handful of grapes" +msgid "grapes" +msgid_plural "grapes" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of grapes +#. ~ Description for {'str': 'grapes', 'str_pl': 'grapes'} #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "" @@ -29555,12 +30749,12 @@ msgid "A large and very sweet fruit." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blackberries" -msgid_plural "handful of blackberries" +msgid "blackberries" +msgid_plural "blackberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of blackberries +#. ~ Description for {'str': 'blackberries', 'str_pl': 'blackberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "" @@ -29603,16 +30797,27 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of apricots" -msgid_plural "handful of apricots" +msgid "apricots" +msgid_plural "apricots" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of apricots +#. ~ Description for {'str': 'apricots', 'str_pl': 'apricots'} #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "cholla bud" +msgstr "" + +#. ~ Description for cholla bud +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Edible bud of a cholla cactus, with spines removed; the candy of the Mojave " +"indigenous peoples. Tastes similar to asparagus." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "cactus pad" msgstr "" @@ -29789,11 +30994,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "salsify" -msgid_plural "handfuls of salsify" +msgid_plural "salsify" msgstr[0] "" msgstr[1] "" -#. ~ Description for salsify +#. ~ Description for {'str': 'salsify', 'str_pl': 'salsify'} #: lang/json/COMESTIBLE_from_json.py msgid "" "An herb with a small purple flower. The roots are nutritious, but tough and " @@ -29803,11 +31008,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py #: lang/json/COMESTIBLE_from_json.py lang/json/furniture_from_json.py msgid "chicory" -msgid_plural "handfuls of chicory" +msgid_plural "chicory" msgstr[0] "" msgstr[1] "" -#. ~ Description for chicory +#. ~ Description for {'str': 'chicory', 'str_pl': 'chicory'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A modest blue flower. The flower's roots are very bitter and not meant to " @@ -29921,12 +31126,12 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of dandelions" -msgid_plural "handfuls of dandelions" +msgid "dandelions" +msgid_plural "dandelions" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of dandelions +#. ~ Description for {'str': 'dandelions', 'str_pl': 'dandelions'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A collection of freshly picked yellow dandelions. In their current raw " @@ -30055,12 +31260,12 @@ msgid "Raw, uncooked lentils. They could be cooked." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of fiddleheads" -msgid_plural "handfuls of fiddleheads" +msgid "fiddleheads" +msgid_plural "fiddleheads" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of fiddleheads +#. ~ Description for {'str': 'fiddleheads', 'str_pl': 'fiddleheads'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of immature fern fronds, still curled up like the head of a " @@ -31919,8 +33124,8 @@ msgstr[1] "" #. ~ Description for raw spaghetti pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of pasta usually used when preparing spaghetti. It could be eaten raw " -"if you're desperate, but is much better cooked." +"A type of pasta usually used when preparing spaghetti. It could be eaten " +"raw if you're desperate, but is much better cooked." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31932,7 +33137,7 @@ msgstr[1] "" #. ~ Description for raw lasagne pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pasta sheet used in making lasagne. It could be eaten raw if you're " +"A pasta sheet used in making lasagne. It could be eaten raw if you're " "desperate, but is much better cooked." msgstr "" @@ -32382,7 +33587,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "Strong alcohol, infused with mana and concentrated into a liquid that can " -"stabilize spells into liquid form. You can still drink it, if you want." +"stabilize spells into liquid form. You can still drink it, if you want." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -32395,7 +33600,7 @@ msgstr[1] "" #: lang/json/COMESTIBLE_from_json.py msgid "" "An organ located above the kidneys responsible for secretion of adrenaline, " -"cortisol, and aldosterone. This one is huge, whether by nature or mutation." +"cortisol, and aldosterone. This one is huge, whether by nature or mutation." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -32492,8 +33697,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human, including pieces of bone " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -32504,8 +33709,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human covered with bone, including " -"pieces of organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"pieces of organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -32516,8 +33721,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead cougar, complete with fur, bones, " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -32528,7 +33733,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your " -"heart to dangerous levels. Drinking this in danger or at critical condition " +"heart to dangerous levels. Drinking this in danger or at critical condition " "may be lethal." msgstr "" @@ -32540,8 +33745,9 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your " -"heart to dangerous levels. Drinking this in danger or at critical condition " -"may be lethal. Improved infusion techniques lessen the strain of the process." +"heart to dangerous levels. Drinking this in danger or at critical condition " +"may be lethal. Improved infusion techniques lessen the strain of the " +"process." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -32575,7 +33781,8 @@ msgstr[1] "" #. ~ Description for hairball #: lang/json/COMESTIBLE_from_json.py -msgid "A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." +msgid "" +"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -32592,6 +33799,16 @@ msgid "" "properties." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "scream mushroom" +msgstr "" + +#. ~ Description for scream mushroom +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"The mushrooms harvested from a dead shrieker. Could be used in potions." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "resinous cord" msgstr "" @@ -33242,15 +34459,6 @@ msgstr[1] "" msgid "This rice flour is useful for baking." msgstr "" -#: lang/json/COMESTIBLE_from_json.py -msgid "cholla bud" -msgstr "" - -#. ~ Description for cholla bud -#: lang/json/COMESTIBLE_from_json.py -msgid "The candy of the Mojave Indigenous peoples." -msgstr "" - #: lang/json/COMESTIBLE_from_json.py msgid "revival serum" msgstr "" @@ -33538,7 +34746,7 @@ msgstr[1] "" #. ~ Description for paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " +"A half gallon carton constructed of a paper, aluminum and plastic laminate. " "It has a threaded cap for easy resealing." msgstr "" @@ -33551,7 +34759,7 @@ msgstr[1] "" #. ~ Description for opened paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " +"A half gallon carton constructed of a paper, aluminum and plastic laminate. " "This one is open and its contents will spoil." msgstr "" @@ -34065,7 +35273,7 @@ msgstr[1] "" #. ~ Description for survival kit box #: lang/json/CONTAINER_from_json.py msgid "" -"An aluminum box that used to contain a small survival kit. Can hold 1 liter " +"An aluminum box that used to contain a small survival kit. Can hold 1 liter " "of liquid." msgstr "" @@ -34165,6 +35373,22 @@ msgid "" "for maximum yield. It can be crafted with various seeds to plant them." msgstr "" +#: lang/json/CONTAINER_from_json.py +msgid "endless flask" +msgid_plural "endless flasks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "You open the flask and discover it full of sweet, sweet, whiskey!" +msgstr "" + +#. ~ Use action not_ready_msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "The flask isn't done refilling yet." +msgstr "" + #: lang/json/CONTAINER_from_json.py msgid "aluminum foil wrap" msgid_plural "aluminum foil wraps" @@ -34596,8 +35820,8 @@ msgstr[1] "" #. ~ Description for rhodonite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of rhodonite. It has manganese dioxide covering and going through it " -"in veins, which can be obtained using a chisel." +"A chunk of rhodonite. It has manganese dioxide covering and going through " +"it in veins, which can be obtained using a chisel." msgstr "" #: lang/json/GENERIC_from_json.py @@ -34609,7 +35833,7 @@ msgstr[1] "" #. ~ Description for zincite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " +"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " "reduction with a source of carbon." msgstr "" @@ -34625,89 +35849,89 @@ msgid "A root from a hickory tree. It has an earthy smell." msgstr "" #: lang/json/GENERIC_from_json.py -msgid "handful of hickory nuts" -msgid_plural "handfuls of hickory nuts" +msgid "hickory nuts" +msgid_plural "hickory nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of hickory nuts +#. ~ Description for {'str': 'hickory nuts', 'str_pl': 'hickory nuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hickory tree, still in their shell." msgstr "" #: lang/json/GENERIC_from_json.py -msgid "handful of pecans" -msgid_plural "handfuls of pecans" +msgid "pecans" +msgid_plural "pecans" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of pecans +#. ~ Description for {'str': 'pecans', 'str_pl': 'pecans'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pecan tree, still in their shell." msgstr "" #: lang/json/GENERIC_from_json.py -msgid "handful of pistachios" -msgid_plural "handfuls of pistachios" +msgid "pistachios" +msgid_plural "pistachios" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of pistachios +#. ~ Description for {'str': 'pistachios', 'str_pl': 'pistachios'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pistachio tree, still in their shell." msgstr "" #: lang/json/GENERIC_from_json.py -msgid "handful of almonds" -msgid_plural "handfuls of almonds" +msgid "almonds" +msgid_plural "almonds" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of almonds +#. ~ Description for {'str': 'almonds', 'str_pl': 'almonds'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a almond tree, still in their shell." msgstr "" #: lang/json/GENERIC_from_json.py -msgid "handful of peanuts" -msgid_plural "handfuls of peanuts" +msgid "peanuts" +msgid_plural "peanuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of peanuts +#. ~ Description for {'str': 'peanuts', 'str_pl': 'peanuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a peanut bush, still in their shell." msgstr "" #: lang/json/GENERIC_from_json.py -msgid "handful of hazelnuts" -msgid_plural "handfuls of hazelnuts" +msgid "hazelnuts" +msgid_plural "hazelnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of hazelnuts +#. ~ Description for {'str': 'hazelnuts', 'str_pl': 'hazelnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hazelnut tree, still in their shell." msgstr "" #: lang/json/GENERIC_from_json.py -msgid "handful of chestnuts" -msgid_plural "handfuls of chestnuts" +msgid "chestnuts" +msgid_plural "chestnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of chestnuts +#. ~ Description for {'str': 'chestnuts', 'str_pl': 'chestnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a chestnut tree, still in their shell." msgstr "" #: lang/json/GENERIC_from_json.py -msgid "handful of walnuts" -msgid_plural "handfuls of walnuts" +msgid "walnuts" +msgid_plural "walnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of walnuts +#. ~ Description for {'str': 'walnuts', 'str_pl': 'walnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a walnut tree, still in their shell." msgstr "" @@ -34848,7 +36072,7 @@ msgstr "" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"A dead body with a frightful grimace. He appears to have been horribly " +"A dead body with a frightful grimace. He appears to have been horribly " "mangled prior to his death." msgstr "" @@ -34872,7 +36096,7 @@ msgstr "" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"The upper half of a dead body, as if torn apart with enormous force. Some " +"The upper half of a dead body, as if torn apart with enormous force. Some " "organs are hanging out." msgstr "" @@ -34973,6 +36197,12 @@ msgstr "" msgid "wind" msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "metabolism" +msgid_plural "metabolisms" +msgstr[0] "" +msgstr[1] "" + #: lang/json/GENERIC_from_json.py msgid "a smoking device and a source of flame" msgstr "" @@ -34990,6 +36220,31 @@ msgid "" "kept together, pretty useless now though." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "INCIDENT REPORT: IMMERSION-27A" +msgid_plural "INCIDENT REPORT: IMMERSION-27As" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for INCIDENT REPORT: IMMERSION-27A +#: lang/json/GENERIC_from_json.py +msgid "" +"A white piece of paper, with the logo of XEDRA printed on its upper left " +"corner. It seems to be an internal report of some kind." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "MATERIAL: T-SUBSTRATE" +msgid_plural "MATERIAL: T-SUBSTRATEs" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "HAADF MICROGRAPH: T-SUBSTRATE" +msgid_plural "HAADF MICROGRAPH: T-SUBSTRATEs" +msgstr[0] "" +msgstr[1] "" + #: lang/json/GENERIC_from_json.py msgid "foodplace loyalty card" msgid_plural "foodplace loyalty cards" @@ -35000,7 +36255,7 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "A bright pink loyalty card, all the points are stamped. This would " -"definitely prove your fidelity to Foodplace, if it still meant anything..." +"definitely prove your fidelity to Foodplace, if it still meant anything…" msgstr "" #: lang/json/GENERIC_from_json.py @@ -35140,8 +36395,8 @@ msgstr[1] "" #. ~ Description for set of 100 ceramic disk #: lang/json/GENERIC_from_json.py msgid "" -"A set of small slightly elongated disks, made of high-grade ceramic. They " -"remind you of scales" +"A set of small slightly elongated disks, made of high-grade ceramic. They " +"remind you of scales." msgstr "" #: lang/json/GENERIC_from_json.py @@ -35194,6 +36449,18 @@ msgid "" "Felt patches, bundled tightly together for storage. Disassemble to unpack." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "t-substrate sample" +msgid_plural "t-substrate samples" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for t-substrate sample +#: lang/json/GENERIC_from_json.py +msgid "" +"An acrylic cube cast around a small black crystal. It's tepid to the touch." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "biollante bud" msgid_plural "biollante buds" @@ -35428,6 +36695,18 @@ msgid "" "constructing tougher walls and such." msgstr "" +#: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "small railroad track" +msgid_plural "small railroad tracks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for small railroad track +#: lang/json/GENERIC_from_json.py +msgid "A length of track, made from some planks and rails." +msgstr "" + #: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py msgid "concrete" msgid_plural "concrete" @@ -35557,7 +36836,7 @@ msgstr[1] "" #. ~ Description for television #: lang/json/GENERIC_from_json.py -msgid "A large cathode ray tube television, full of delicious electronics." +msgid "A large LCD television, full of delicious electronics." msgstr "" #: lang/json/GENERIC_from_json.py @@ -35976,6 +37255,19 @@ msgid "" "communications equipment." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "large LCD screen" +msgid_plural "large LCD screens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for large LCD screen +#: lang/json/GENERIC_from_json.py +msgid "" +"A large backlit screen, used for displaying images. Useful in some " +"electronics recipes." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "small LCD screen" msgid_plural "small LCD screens" @@ -36367,7 +37659,7 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "This memory card appears to be related to 'XEDRA', and is certainly " -"encrypted. Looks * Interesting *, though..." +"encrypted. Looks *Interesting*, though…" msgstr "" #: lang/json/GENERIC_from_json.py @@ -36441,12 +37733,12 @@ msgid "" msgstr "" #: lang/json/GENERIC_from_json.py -msgid "handful of chamomile flowers" -msgid_plural "handfuls of chamomile flowers" +msgid "chamomile flowers" +msgid_plural "chamomile flowers" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of chamomile flowers +#. ~ Description for {'str': 'chamomile flowers', 'str_pl': 'chamomile flowers'} #: lang/json/GENERIC_from_json.py msgid "" "White chamomile flowers, used as a herbal remedy since the ancient times." @@ -36719,12 +38011,14 @@ msgstr "" #. ~ Use action menu_text for cigar. #. ~ Use action menu_text for cigarette. #. ~ Use action menu_text for joint. +#. ~ Use action menu_text for spooky jack o'lantern. +#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for candle. #. ~ Use action menu_text for refillable lighter. #. ~ Use action menu_text for torch. -#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for ember carrier (lit). #. ~ Use action menu_text for Louisville Slaughterer. +#. ~ Use action menu_text for everburning torch. #: lang/json/GENERIC_from_json.py #: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py #: lang/json/TOOL_from_json.py @@ -36776,7 +38070,7 @@ msgid "" "What was once a wonderfully addictive tube of dried tobacco leaf is now just " "a smelly piece of trash. What a tragedy!\n" "The leftover tobacco in a few of these could probably be used to roll " -"another cigarette. If you're willing to go that far..." +"another cigarette. If you're willing to go that far…" msgstr "" #. ~ Use action msg for joint. @@ -36821,11 +38115,11 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "raw tobacco" -msgid_plural "handfuls of raw tobacco" +msgid_plural "raw tobacco" msgstr[0] "" msgstr[1] "" -#. ~ Description for raw tobacco +#. ~ Description for {'str': 'raw tobacco', 'str_pl': 'raw tobacco'} #: lang/json/GENERIC_from_json.py msgid "" "Various parts of tobacco plant, full of nicotine. They need to be dried to " @@ -36874,12 +38168,6 @@ msgid "" "panel, if you can find one." msgstr "" -#: lang/json/GENERIC_from_json.py -msgid "neoprene sheet" -msgid_plural "neoprene sheets" -msgstr[0] "" -msgstr[1] "" - #. ~ Description for neoprene sheet #: lang/json/GENERIC_from_json.py msgid "" @@ -37347,13 +38635,6 @@ msgid "" "chopping things and for use as a hammer." msgstr "" -#. ~ Description for rock -#: lang/json/GENERIC_from_json.py -msgid "" -"A rock the size of a baseball. Makes a decent melee weapon, and is also " -"good for throwing at enemies." -msgstr "" - #: lang/json/GENERIC_from_json.py msgid "sharp rock" msgid_plural "sharp rocks" @@ -37887,7 +39168,7 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "A large, heavy-duty leaf spring. Probably from some car or truck, and looks " -"an awful lot like a bow. You can barely bend it..." +"an awful lot like a bow. You can barely bend it…" msgstr "" #: lang/json/GENERIC_from_json.py @@ -38546,7 +39827,7 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "This is a Curie-G coffeemaker, by CuppaTech. It famously uses a radioactive " -"generator to heat water for coffee. Normally the water is heated using " +"generator to heat water for coffee. Normally the water is heated using " "energy stored in a capacitor, and makes ordinary coffee. However, as a " "special feature, water from the RTG containment area can be used, giving the " "coffee a very special kick. The Curie-G is illegal in most countries." @@ -38561,7 +39842,9 @@ msgstr[1] "" #. ~ Use action menu_text for atomic lamp. #. ~ Use action menu_text for atomic reading light. #. ~ Use action menu_text for magical reading light. +#. ~ Use action menu_text for atomic headlamp. #: lang/json/GENERIC_from_json.py +#: lang/json/GENERIC_from_json.py lang/json/TOOL_ARMOR_from_json.py msgid "Close cover" msgstr "" @@ -38589,7 +39872,9 @@ msgstr[1] "" #. ~ Use action menu_text for atomic lamp (covered). #. ~ Use action menu_text for atomic reading light (covered). #. ~ Use action menu_text for magical reading light (covered). +#. ~ Use action menu_text for atomic headlamp (covered). #: lang/json/GENERIC_from_json.py +#: lang/json/GENERIC_from_json.py lang/json/TOOL_ARMOR_from_json.py msgid "Open cover" msgstr "" @@ -38873,7 +40158,7 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "A folding grappling hook attached to a stout 30-foot long piece of " -"lightweight cord. Useful for keeping yourself safe from falls. Can be used " +"lightweight cord. Useful for keeping yourself safe from falls. Can be used " "in place of a long rope for butchering, in a pinch." msgstr "" @@ -39704,9 +40989,7 @@ msgstr[1] "" #. ~ Description for Beautiful Springtime #: lang/json/GENERIC_from_json.py -msgid "" -"A complete guide to Wing Chun Kung-fu. Includes a section on butterfly " -"swords and the use of long poles at the end." +msgid "A complete guide to Wing Chun Kung-fu." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/martial_art_from_json.py @@ -39720,7 +41003,7 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "A completely translated medieval guide teaching various techniques with " -"polearms, there is a chapter about the many variations of common polearms... " +"polearms, there is a chapter about the many variations of common polearms… " "there are even pictures!" msgstr "" @@ -40758,6 +42041,20 @@ msgstr[1] "" msgid "This is a slip of paper signed by the issuer." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "icon" +msgid_plural "icons" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for icon +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a small picture, about the same size as an ID card, symbolizing a " +"religious figure. On the back, there is a text that faintly reads 'New " +"England Church Community'." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "generic silverware" msgid_plural "generic silverwares" @@ -41103,7 +42400,7 @@ msgstr[1] "" #. ~ Description for fork #: lang/json/GENERIC_from_json.py msgid "" -"A fork, if you stab something with it you eat it right away. Wait... " +"A fork, if you stab something with it you eat it right away. Wait… " "nevermind." msgstr "" @@ -42249,7 +43546,7 @@ msgid "" "\n" "Whosoever holds this hammer,\n" "If he be worthy,\n" -"Shall possess the power to...\n" +"Shall possess the power to…\n" "CRUSH!'" msgstr "" @@ -42689,7 +43986,7 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "" "This is a thin thrusting sword, a sort of predecessor to the rapier. It " -"requires a larger baldric or scabbard, compared to smaller swords. It seems " +"requires a larger baldric or scabbard, compared to smaller swords. It seems " "a bit too bendy." msgstr "" @@ -42787,15 +44084,15 @@ msgid "" msgstr "" #: lang/json/GENERIC_from_json.py -msgid "fencing epee" -msgid_plural "fencing epees" +msgid "fencing épée" +msgid_plural "fencing épées" msgstr[0] "" msgstr[1] "" -#. ~ Description for fencing epee +#. ~ Description for fencing épée #: lang/json/GENERIC_from_json.py msgid "" -"A weapon used for fencing, the most noble of all sports. The epee is the " +"A weapon used for fencing, the most noble of all sports. The épée is the " "heaviest and stiffest of the fencing weapons, and therefore perhaps the most " "useful." msgstr "" @@ -42810,7 +44107,52 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "A weapon used for fencing, the most noble of all sports. The fencing saber " -"is marginally shorter than the foil and epee, but no less effective." +"is marginally shorter than the foil and épée, but no less effective." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened foil" +msgid_plural "sharpened foils" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sharpened foil +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing foil has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still " +"lacks a cutting edge, it is now somewhat more lethal, yet still familiar to " +"the practiced fencer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened épée" +msgid_plural "sharpened épées" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sharpened épée +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing épée has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still " +"lacks a cutting edge, it is now considerably more lethal, yet still familiar " +"to the practiced fencer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened saber" +msgid_plural "sharpened sabers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sharpened saber +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing saber has had its rounded tip snapped off " +"and has been crudely sharpened to a point. Though it still lacks a cutting " +"edge, it is now considerably more lethal, yet still familiar to the " +"practiced fencer." msgstr "" #: lang/json/GENERIC_from_json.py @@ -43026,6 +44368,17 @@ msgid "" "A metal cylinder with a small lens inside intended to be installed on a door." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "mesh screen" +msgid_plural "mesh screens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for mesh screen +#: lang/json/GENERIC_from_json.py +msgid "A roll of fine mesh screen for bug barriers on porches." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "pipe" msgid_plural "pipes" @@ -43075,7 +44428,7 @@ msgstr[1] "" msgid "" "A small aluminum ingot, standardized for further processing. Light but " "durable, this could be cast into various shapes for construction or ground " -"down to a powder, for more... high-profile applications." +"down to a powder, for more… high-profile applications." msgstr "" #: lang/json/GENERIC_from_json.py @@ -43101,12 +44454,12 @@ msgid "This is a single, or twin, sized mattress." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "down_mattress" -msgid_plural "down_mattresses" +msgid "down mattress" +msgid_plural "down mattresses" msgstr[0] "" msgstr[1] "" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/GENERIC_from_json.py msgid "This is a single, or twin, sized down filled mattress." msgstr "" @@ -43400,6 +44753,46 @@ msgid "" "can also serve as an improvised stabbing weapon, but will break quickly." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "frame loom" +msgid_plural "frame looms" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for frame loom +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a rather bulky and primitive wooden frame which can be used to weave " +"cloth sheets. It is very slow, though." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "wooden shed stick" +msgid_plural "wooden shed sticks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for wooden shed stick +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a short thin flat wooden stick, used as a tool while weaving cloth " +"with a frame loom." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "tailoring pattern set" +msgid_plural "tailoring pattern sets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for tailoring pattern set +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a large set of tailoring patterns made from paper. They're useful " +"for making any kind of cloth or leather items from scratch, but are " +"necessary for more advanced projects." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "vehicle alternator" msgid_plural "vehicle alternators" @@ -43727,6 +45120,20 @@ msgid "" "have some sort of maintenance mode." msgstr "" +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "turret control unit" +msgid_plural "turret control units" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for turret control unit +#: lang/json/GENERIC_from_json.py +msgid "" +"A set of motor, camera, and various electronic modules banded together to " +"allow for tracking targets, friend-or-foe identification, and firing the " +"connected turret in full automatic mode." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "massive engine block" msgid_plural "massive engine blocks" @@ -44746,6 +46153,19 @@ msgstr[1] "" msgid "A very small washing machine designed for use in vehicles." msgstr "" +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "programmable autopilot" +msgid_plural "programmable autopilots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for programmable autopilot +#: lang/json/GENERIC_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of a vehicle to allow " +"it to follow simple paths." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "mountable autoclave" msgid_plural "mountable autoclaves" @@ -44815,7 +46235,7 @@ msgstr[1] "" #. ~ Description for medium wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." +"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py @@ -44827,8 +46247,8 @@ msgstr[1] "" #. ~ Description for heavy wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A heavy metal assembly that allows bolting a wheel on a car. Fit for a large " -"car wheel." +"A heavy metal assembly that allows bolting a wheel on a car. Fit for a " +"large car wheel." msgstr "" #: lang/json/GENERIC_from_json.py @@ -45970,6 +47390,27 @@ msgid "" "art." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "The Iron Whip" +msgid_plural "The Iron Whips" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for The Iron Whip. +#: lang/json/GENERIC_from_json.py +msgid "" +"You loop the whip in your hand and it coils back into a belt form in an " +"instant." +msgstr "" + +#. ~ Description for The Iron Whip +#: lang/json/GENERIC_from_json.py +msgid "" +"A long braided flexible steel bullwhip that narrows into a sharp blade at " +"the end. Easily capable of slicing and dicing anything that comes at you. " +"It transforms back into a belt." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "cudgel +1" msgid_plural "cudgel +1s" @@ -46474,6 +47915,358 @@ msgid_plural "dao +2s" msgstr[0] "" msgstr[1] "" +#: lang/json/GENERIC_from_json.py +msgid "Biomancer spear" +msgid_plural "Biomancer spears" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Biomancer spear +#: lang/json/GENERIC_from_json.py +msgid "" +"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer " +"rune embedded at the base of the head." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Technomancer toolbar" +msgid_plural "Technomancer toolbars" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Technomancer toolbar +#: lang/json/GENERIC_from_json.py +msgid "" +"This staff incorporates a sturdy cresent wrench on top of a prybar and a " +"hammer on the other in a convienent package. There is a Technomancer rune " +"embedded in the hammerhead." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Magus staff" +msgid_plural "Magus staves" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'Magus staff', 'str_pl': 'Magus staves'} +#: lang/json/GENERIC_from_json.py +msgid "" +"A quarterstaff with runes carved into it and two glass jars, heat-tempered " +"and infused with mana for durability, to act as mana receptacles. There are " +"two Magi runes embedded at the tips." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Kelvinist flamberge" +msgid_plural "Kelvinist flamberges" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Kelvinist flamberge +#: lang/json/GENERIC_from_json.py +msgid "" +"A sword with an undulating blade, reminiscent of a flame. There is a " +"Kelvinist rune embedded in the pommel." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Stormshaper axe" +msgid_plural "Stormshaper axes" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Stormshaper axe +#: lang/json/GENERIC_from_json.py +msgid "" +"A forged copper axe with silver trimmings and a wooden handle. There is a " +"Stormshaper rune embedded in the eye." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Animist athame" +msgid_plural "Animist athames" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Animist athame +#: lang/json/GENERIC_from_json.py +msgid "" +"A steel ritual knife used by Animists to draw blood for summoning. Their " +"school rune is embedded in the crossguard." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "springstaff(baton)" +msgid_plural "springstaves(baton)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for {'str': 'springstaff(baton)', 'str_pl': 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "Extend to staff" +msgstr "" + +#. ~ Use action msg for {'str': 'springstaff(baton)', 'str_pl': 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "You snap open your springstaff into staff mode." +msgstr "" + +#. ~ Description for {'str': 'springstaff(baton)', 'str_pl': 'springstaves(baton)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips retracted while in baton configuration. Activate to extend." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "springstaff(staff)" +msgid_plural "springstaves(staff)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for {'str': 'springstaff(staff)', 'str_pl': 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "Retract to baton" +msgstr "" + +#. ~ Use action msg for {'str': 'springstaff(staff)', 'str_pl': 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "You collapse your springstaff into baton mode." +msgstr "" + +#. ~ Description for {'str': 'springstaff(staff)', 'str_pl': 'springstaves(staff)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips from retracting while in staff configuration. Activate to extend." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magic token" +msgid_plural "magic tokens" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "longsword token" +msgid_plural "longsword tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for longsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine longsword!" +msgstr "" + +#. ~ Description for longsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a longsword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "arming sword token" +msgid_plural "arming sword tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for arming sword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine arming sword!" +msgstr "" + +#. ~ Description for arming sword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case an arming sword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "broadsword token" +msgid_plural "broadsword tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for broadsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine broadsword!" +msgstr "" + +#. ~ Description for broadsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a broadsword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "battleaxe token" +msgid_plural "battleaxe tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for battleaxe token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine battle axe!" +msgstr "" + +#. ~ Description for battleaxe token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a battle axe." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "pike token" +msgid_plural "pike tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for pike token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine pike!" +msgstr "" + +#. ~ Description for pike token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a pike." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "mace token" +msgid_plural "mace tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for mace token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine mace!" +msgstr "" + +#. ~ Description for mace token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a mace." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "quarterstaff token" +msgid_plural "quarterstaff tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for quarterstaff token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a pristine quarterstaff!" +msgstr "" + +#. ~ Description for quarterstaff token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a quarterstaff." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "hammer token" +msgid_plural "hammer tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for hammer token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine hammer!" +msgstr "" + +#. ~ Description for hammer token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a hammer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "screwdriver set token" +msgid_plural "screwdriver set tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for screwdriver set token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine screwdriver set!" +msgstr "" + +#. ~ Description for screwdriver set token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a screwdriver." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "toolbox token" +msgid_plural "toolbox tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for toolbox token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine toolbox!" +msgstr "" + +#. ~ Description for toolbox token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a toolbox." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "crowbar token" +msgid_plural "crowbar tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for crowbar token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine crowbar!" +msgstr "" + +#. ~ Description for crowbar token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a crowbar." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "cestus +1" msgid_plural "cestus +1s" @@ -46525,6 +48318,20 @@ msgid "" "to land astoundingly powerful blows." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "Earthshaper cestus" +msgid_plural "Earthshaper cesti" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'Earthshaper cestus', 'str_pl': 'Earthshaper cesti'} +#: lang/json/GENERIC_from_json.py +msgid "" +"A stone battle glove with carved runes encasing the hand, protecting it " +"while increasing striking power. There is an Earthshaper rune embedded in " +"the palm." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "stone shell" msgid_plural "stone shells" @@ -46607,6 +48414,19 @@ msgid "" "prized for their beauty and power." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "stirge proboscis" +msgid_plural "stirge proboscises" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for stirge proboscis +#: lang/json/GENERIC_from_json.py +msgid "" +"A long sucking apparatus harvested from stirge corpse. Makes a poor melee " +"weapon." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "black dragon scale" msgid_plural "black dragon scales" @@ -46633,100 +48453,6 @@ msgid "" "scales could make a suit of armor as hard as steel and half as heavy." msgstr "" -#: lang/json/GENERIC_from_json.py -msgid "Biomancer spear" -msgid_plural "Biomancer spears" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for Biomancer spear -#: lang/json/GENERIC_from_json.py -msgid "" -"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer rune " -"embedded at the base of the head." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "Technomancer toolbar" -msgid_plural "Technomancer toolbars" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for Technomancer toolbar -#: lang/json/GENERIC_from_json.py -msgid "" -"This staff incorporates a sturdy cresent wrench on top of a prybar and a " -"hammer on the other in a convienent package. There is a Technomancer rune " -"embedded in the hammerhead." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "Magus staff" -msgid_plural "Magus staves" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for Magus staff -#: lang/json/GENERIC_from_json.py -msgid "" -"A quarterstaff with runes carved into it and two glass jars, heat-tempered " -"and infused with mana for durability, to act as mana receptacles. There are " -"two Magi runes embedded at the tips." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "Earthshaper cestus" -msgid_plural "Earthshaper cesti" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for Earthshaper cestus -#: lang/json/GENERIC_from_json.py -msgid "" -"A stone battle glove with carved runes encasing the hand, protecting it " -"while increasing striking power. There is an Earthshaper rune embedded in " -"the palm." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "Kelvinist flamberge" -msgid_plural "Kelvinist flamberges" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for Kelvinist flamberge -#: lang/json/GENERIC_from_json.py -msgid "" -"A sword with an undulating blade, reminiscent of a flame. There is a " -"Kelvinist rune embedded in the pommel." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "Stormshaper axe" -msgid_plural "Stormshaper axes" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for Stormshaper axe -#: lang/json/GENERIC_from_json.py -msgid "" -"A forged copper axe with silver trimmings and a wooden handle. There is a " -"Stormshaper rune embedded in the eye." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "Animist athame" -msgid_plural "Animist athames" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for Animist athame -#: lang/json/GENERIC_from_json.py -msgid "" -"A steel ritual knife used by Animists to draw blood for summoning. Their " -"school rune is embedded in the crossguard." -msgstr "" - #: lang/json/GENERIC_from_json.py msgid "lesser staff of the magi" msgid_plural "lesser staves of the magi" @@ -46801,6 +48527,56 @@ msgstr[1] "" msgid "This is a wicked spear/halberd hybrid entirely created of bone." msgstr "" +#. ~ Description for Mjölnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Mjölnir, the legendary hammer of Thor. It is rumored to be able to level " +"mountains with a single blow. You feel the power of Asgard coursing through " +"the hammer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Gungnir" +msgid_plural "Gungnirs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Gungnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Gungnir, the spear of Odin. It is rumored to be the perfect spear, " +"perfectly hitting any target regardless of the wielder's strength or skill. " +"If feels like Odin's protecting you." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Gram" +msgid_plural "Grams" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Gram +#: lang/json/GENERIC_from_json.py +msgid "" +"Gram, the sword of Sigurd. It is rumored to be the sword that slayed the " +"legendary dragon, Fafnir. Once said to have cleaved Regin's anvil in half, " +"the edge is impeccable." +msgstr "" + +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py +msgid "Laevateinn" +msgid_plural "Laevateinns" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Laevateinn +#: lang/json/GENERIC_from_json.py +msgid "" +"Laevateinn, the staff of Loki. Said to have been plucked from the gates of " +"Hel by Loki. Imbued with a mysterious magic, the magic of the trickster god " +"himself." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "Spell Scroll" msgid_plural "Spell Scrolls" @@ -47046,7 +48822,7 @@ msgstr[1] "" #. ~ Description for Blinding Flash #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" -"Blind enemies for a short time with a sudden, dazzling light. Higher levels " +"Blind enemies for a short time with a sudden, dazzling light. Higher levels " "deal slightly higher damage." msgstr "" @@ -47061,7 +48837,7 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" "A mass of spectral hands emerge from the ground, slowing everything in " -"range. Higher levels allow a bigger AoE, and longer effect." +"range. Higher levels allow a bigger AoE, and longer effect." msgstr "" #: lang/json/GENERIC_from_json.py @@ -47825,8 +49601,34 @@ msgstr[1] "" #. ~ Description for Scroll of Purification Seed #: lang/json/GENERIC_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Greater levels yield " -"greater numbers of seeds." +"You summon a gift of the earth which will purify water. Greater levels " +"yield greater numbers of seeds." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of X-ray Vision" +msgid_plural "Scroll of X-ray Visions" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Scroll of X-ray Vision +#. ~ Description for X-ray Vision +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You fire a cone of X-rays that magically allow you to see that area for a " +"short time." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Clairvoyance" +msgid_plural "Scroll of Clairvoyances" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Scroll of Clairvoyance +#. ~ Description for Clairvoyance +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "You close your eyes and the earth surrenders its secrets to you." msgstr "" #: lang/json/GENERIC_from_json.py @@ -47844,6 +49646,17 @@ msgid "" "rock and lava everywhere." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Acid Resistance" +msgid_plural "Scroll of Acid Resistances" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Scroll of Acid Resistance +#: lang/json/GENERIC_from_json.py +msgid "This spell creates an invisible aura to protect you from acid." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "A Technomancer's Guide to Debugging C:DDA" msgid_plural "A Technomancer's Guide to Debugging C:DDAs" @@ -48725,12 +50538,6 @@ msgid "" "ornaments." msgstr "" -#: lang/json/GENERIC_from_json.py -msgid "Gungnir" -msgid_plural "Gungnirs" -msgstr[0] "" -msgstr[1] "" - #. ~ Description for Gungnir #: lang/json/GENERIC_from_json.py msgid "" @@ -49668,6 +51475,12 @@ msgstr "" msgid "SPARE PARTS" msgstr "" +#. ~ Crafting recipes subcategory of 'OTHER' category +#: lang/json/ITEM_CATEGORY_from_json.py +#: lang/json/recipe_category_from_json.py +msgid "CONTAINERS" +msgstr "" + #: lang/json/ITEM_CATEGORY_from_json.py msgid "ARTIFACTS" msgstr "" @@ -49679,6 +51492,307 @@ msgstr "" msgid "ARMOR" msgstr "" +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "ITEMS WORN" +msgstr "" + +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "WEAPON HELD" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Unsorted" +msgstr "" + +#. ~ Description for Loot: Unsorted +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " +"sort items inside. It can overlap with Loot zones of different types." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Food" +msgstr "" + +#. ~ Description for Loot: Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for comestibles. If more specific food zone is not defined, all " +"food is moved here." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Food" +msgstr "" + +#. ~ Description for Loot: P.Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for perishable comestibles. Does include perishable drinks if " +"such zone is not specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drink" +msgstr "" + +#. ~ Description for Loot: Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for drinks. Does include perishable drinks if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Drink" +msgstr "" + +#. ~ Description for Loot: P.Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for perishable drinks." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Containers" +msgstr "" + +#. ~ Description for Loot: Containers +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for empty containers." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Guns" +msgstr "" + +#. ~ Description for Loot: Guns +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for guns, bows and similar wearpons." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Magazines" +msgstr "" + +#. ~ Description for Loot: Magazines +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for gun magazines." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ammo" +msgstr "" + +#. ~ Description for Loot: Ammo +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for ammo." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Weapons" +msgstr "" + +#. ~ Description for Loot: Weapons +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for melee weapons." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Tools" +msgstr "" + +#. ~ Description for Loot: Tools +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for tools." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Clothing" +msgstr "" + +#. ~ Description for Loot: Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for clothing. Does include filthy clothing if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Clothing" +msgstr "" + +#. ~ Description for Loot: F.Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy clothing." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drugs" +msgstr "" + +#. ~ Description for Loot: Drugs +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for drugs and other medical items." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Books" +msgstr "" + +#. ~ Description for Loot: Books +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for books and magazines." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mods" +msgstr "" + +#. ~ Description for Loot: Mods +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firearm modifications and similar items." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mutagens" +msgstr "" + +#. ~ Description for Loot: Mutagens +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for mutagens, serums, and purifiers." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Bionics" +msgstr "" + +#. ~ Description for Loot: Bionics +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for Compact Bionics Modules, a.k.a. CBMS." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: V.Parts" +msgstr "" + +#. ~ Description for Loot: V.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for vehicle parts." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Other" +msgstr "" + +#. ~ Description for Loot: Other +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for other miscellaneous items." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Fuel" +msgstr "" + +#. ~ Description for Loot: Fuel +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for gasoline, diesel, lamp oil and other substances used as a " +"fuel." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Seeds" +msgstr "" + +#. ~ Description for Loot: Seeds +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for seeds, stems and similar items." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Chemical" +msgstr "" + +#. ~ Description for Loot: Chemical +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for chemicals." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: S.Parts" +msgstr "" + +#. ~ Description for Loot: S.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for spare parts." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Artifacts" +msgstr "" + +#. ~ Description for Loot: Artifacts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for artifacts" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Corpses" +msgstr "" + +#. ~ Description for Loot: Corpses +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for corpses" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Armor" +msgstr "" + +#. ~ Description for Loot: Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for armor. Does include filthy armor if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Armor" +msgstr "" + +#. ~ Description for Loot: F.Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy armor." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Wood" +msgstr "" + +#. ~ Description for Loot: Wood +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firewood and items that can be used as such." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Custom" +msgstr "" + +#. ~ Description for Loot: Custom +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for loot with a custom filter that you can modify" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ignore" +msgstr "" + +#. ~ Description for Loot: Ignore +#: lang/json/LOOT_ZONE_from_json.py +msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." +msgstr "" + #: lang/json/MAGAZINE_from_json.py msgid "ultra-light battery" msgid_plural "ultra-light batteries" @@ -49900,7 +52014,7 @@ msgstr[1] "" #: lang/json/MAGAZINE_from_json.py msgid "" "This is a heavy battery cell, universally compatible with all kinds of " -"industrial-grade equipment and large tools. The battery's chemistry means " +"industrial-grade equipment and large tools. The battery's chemistry means " "that it has a very high capacity, but cannot be recharged." msgstr "" @@ -50256,7 +52370,7 @@ msgstr "" #. ~ Description for H&K G3 drum magazine #: lang/json/MAGAZINE_from_json.py -msgid "An 50-round drum magazine for the H&K G3 rifle." +msgid "A 50-round drum magazine for the H&K G3 rifle." msgstr "" #: lang/json/MAGAZINE_from_json.py @@ -50297,7 +52411,7 @@ msgstr "" #. ~ Description for FN SCAR-H drum magazine #: lang/json/MAGAZINE_from_json.py -msgid "An 50-round drum magazine for the FN SCAR-H rifle." +msgid "A 50-round drum magazine for the FN SCAR-H rifle." msgstr "" #: lang/json/MAGAZINE_from_json.py @@ -50392,15 +52506,6 @@ msgstr "" msgid "A 14 round double stack box magazine for the SIG Sauer P320." msgstr "" -#: lang/json/MAGAZINE_from_json.py -msgid "Taurus .38 magazine" -msgstr "" - -#. ~ Description for Taurus .38 magazine -#: lang/json/MAGAZINE_from_json.py -msgid "A compact steel box magazine for use with the Taurus Pro .38 pistol." -msgstr "" - #: lang/json/MAGAZINE_from_json.py msgid ".38/.357 7-round speedloader" msgstr "" @@ -50474,6 +52579,15 @@ msgstr "" msgid "A 10-round steel box magazine for use with the Hi-Point CF-380." msgstr "" +#: lang/json/MAGAZINE_from_json.py +msgid "Taurus Spectrum magazine" +msgstr "" + +#. ~ Description for Taurus Spectrum magazine +#: lang/json/MAGAZINE_from_json.py +msgid "A compact, 6-round steel box magazine for use with the Taurus Spectrum." +msgstr "" + #: lang/json/MAGAZINE_from_json.py msgid "M1911 .38 Super magazine" msgstr "" @@ -51488,17 +53602,6 @@ msgid "" "is marked with several faded and now unreadable symbols." msgstr "" -#: lang/json/MAGAZINE_from_json.py -msgid "oxygen cylinder" -msgstr "" - -#. ~ Description for oxygen cylinder -#: lang/json/MAGAZINE_from_json.py -msgid "" -"A large steel cylinder used for storing pressurized gas. It is marked with a " -"faded, but legible O2 symbol." -msgstr "" - #: lang/json/MAGAZINE_from_json.py lang/json/vehicle_part_from_json.py msgid "car battery" msgid_plural "car batteries" @@ -52188,6 +54291,15 @@ msgid "" "hit in combat, infections." msgstr "" +#: lang/json/MOD_INFO_from_json.py +msgid "Fuji's Military Profession Pack" +msgstr "" + +#. ~ Description for Fuji's Military Profession Pack +#: lang/json/MOD_INFO_from_json.py +msgid "Numerous military themed professions" +msgstr "" + #: lang/json/MOD_INFO_from_json.py msgid "Fuji's More Buildings" msgstr "" @@ -52938,11 +55050,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "goose" -msgid_plural "gooses" +msgid_plural "geese" msgstr[0] "" msgstr[1] "" -#. ~ Description for goose +#. ~ Description for {'str': 'goose', 'str_pl': 'geese'} #: lang/json/MONSTER_from_json.py msgid "A Canadian goose, a common waterfowl that regrets leaving Canada." msgstr "" @@ -53225,60 +55337,60 @@ msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "" "Many times as large as a normal manhack, this flying quadcopter drone " -"appears to have a mininuke inside. If this is targeting you... Run." +"appears to have a mininuke inside. If this is targeting you… Run." msgstr "" #: lang/json/MONSTER_from_json.py msgid "tiny fish" -msgid_plural "tiny fishs" +msgid_plural "tiny fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for tiny fish +#. ~ Description for {'str': 'tiny fish', 'str_pl': 'tiny fish'} #: lang/json/MONSTER_from_json.py msgid "A tiny fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "small fish" -msgid_plural "small fishs" +msgid_plural "small fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for small fish +#. ~ Description for {'str': 'small fish', 'str_pl': 'small fish'} #: lang/json/MONSTER_from_json.py msgid "A small fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "medium fish" -msgid_plural "medium fishs" +msgid_plural "medium fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for medium fish +#. ~ Description for {'str': 'medium fish', 'str_pl': 'medium fish'} #: lang/json/MONSTER_from_json.py msgid "A medium fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "large fish" -msgid_plural "large fishs" +msgid_plural "large fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for large fish +#. ~ Description for {'str': 'large fish', 'str_pl': 'large fish'} #: lang/json/MONSTER_from_json.py msgid "A large fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "huge fish" -msgid_plural "huge fishs" +msgid_plural "huge fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for huge fish +#. ~ Description for {'str': 'huge fish', 'str_pl': 'huge fish'} #: lang/json/MONSTER_from_json.py msgid "A huge fish." msgstr "" @@ -53408,11 +55520,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "whitefish" -msgid_plural "whitefishs" +msgid_plural "whitefish" msgstr[0] "" msgstr[1] "" -#. ~ Description for whitefish +#. ~ Description for {'str': 'whitefish', 'str_pl': 'whitefish'} #: lang/json/MONSTER_from_json.py msgid "" "A whitefish, closely related to salmon. One can assume they are just as " @@ -53421,22 +55533,22 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "largemouth bass" -msgid_plural "largemouth basss" +msgid_plural "largemouth bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for largemouth bass +#. ~ Description for {'str': 'largemouth bass', 'str_pl': 'largemouth bass'} #: lang/json/MONSTER_from_json.py msgid "A Largemouth Bass. Very popular with sports fishermen." msgstr "" #: lang/json/MONSTER_from_json.py msgid "smallmouth bass" -msgid_plural "smallmouth basss" +msgid_plural "smallmouth bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for smallmouth bass +#. ~ Description for {'str': 'smallmouth bass', 'str_pl': 'smallmouth bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Smallmouth Bass. Being intolerant to pollution in the water, smallmouth " @@ -53445,11 +55557,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "striped bass" -msgid_plural "striped basss" +msgid_plural "striped bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for striped bass +#. ~ Description for {'str': 'striped bass', 'str_pl': 'striped bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Striped Bass. Mostly a salt water fish, they migrate to fresher water to " @@ -53458,11 +55570,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "white bass" -msgid_plural "white basss" +msgid_plural "white bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for white bass +#. ~ Description for {'str': 'white bass', 'str_pl': 'white bass'} #: lang/json/MONSTER_from_json.py msgid "" "A White Bass. Common to the region, a slab-sided and spiny-rayed little " @@ -53471,11 +55583,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "perch" -msgid_plural "perchs" +msgid_plural "perches" msgstr[0] "" msgstr[1] "" -#. ~ Description for perch +#. ~ Description for {'str': 'perch', 'str_pl': 'perches'} #: lang/json/MONSTER_from_json.py msgid "" "A small spritely Perch. A very bony fish, still got some tasty meat on it " @@ -53495,22 +55607,22 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "sunfish" -msgid_plural "sunfishs" +msgid_plural "sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for sunfish +#. ~ Description for {'str': 'sunfish', 'str_pl': 'sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "pumpkinseed sunfish" -msgid_plural "pumpkinseed sunfishs" +msgid_plural "pumpkinseed sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for pumpkinseed sunfish +#. ~ Description for {'str': 'pumpkinseed sunfish', 'str_pl': 'pumpkinseed sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Pumpkinseed Sunfish. A small fish related to bass or bluegill." msgstr "" @@ -53529,55 +55641,55 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "redbreast sunfish" -msgid_plural "redbreast sunfishs" +msgid_plural "redbreast sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for redbreast sunfish +#. ~ Description for {'str': 'redbreast sunfish', 'str_pl': 'redbreast sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redbreast Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "green sunfish" -msgid_plural "green sunfishs" +msgid_plural "green sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for green sunfish +#. ~ Description for {'str': 'green sunfish', 'str_pl': 'green sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Green Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "longear sunfish" -msgid_plural "longear sunfishs" +msgid_plural "longear sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for longear sunfish +#. ~ Description for {'str': 'longear sunfish', 'str_pl': 'longear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Longear Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "redear sunfish" -msgid_plural "redear sunfishs" +msgid_plural "redear sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for redear sunfish +#. ~ Description for {'str': 'redear sunfish', 'str_pl': 'redear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redear Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "rock bass" -msgid_plural "rock basss" +msgid_plural "rock bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for rock bass +#. ~ Description for {'str': 'rock bass', 'str_pl': 'rock bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Rock Bass. Related to sunfish, this tiny fish has a camoflauge-like " @@ -53586,11 +55698,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "calico bass" -msgid_plural "calico basss" +msgid_plural "calico bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for calico bass +#. ~ Description for {'str': 'calico bass', 'str_pl': 'calico bass'} #: lang/json/MONSTER_from_json.py msgid "A Calico Bass. A medium-sized fish also known as a 'Crappie'." msgstr "" @@ -53621,22 +55733,22 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "channel catfish" -msgid_plural "channel catfishs" +msgid_plural "channel catfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for channel catfish +#. ~ Description for {'str': 'channel catfish', 'str_pl': 'channel catfish'} #: lang/json/MONSTER_from_json.py msgid "A Channel Catfish, they have a forked tail and long whiskers." msgstr "" #: lang/json/MONSTER_from_json.py msgid "white catfish" -msgid_plural "white catfishs" +msgid_plural "white catfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for white catfish +#. ~ Description for {'str': 'white catfish', 'str_pl': 'white catfish'} #: lang/json/MONSTER_from_json.py msgid "A White Catfish, a small whiskered fish with a broad head." msgstr "" @@ -53729,11 +55841,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fallfish" -msgid_plural "fallfishs" +msgid_plural "fallfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for fallfish +#. ~ Description for {'str': 'fallfish', 'str_pl': 'fallfish'} #: lang/json/MONSTER_from_json.py msgid "" "A Fallfish. These fish are related to gar but without the huge teeth, skin " @@ -53751,20 +55863,20 @@ msgstr[1] "" msgid "" "These things were once considered pests not worth eating, then some " "marketing genius started selling them to people as a delicacy and they took " -"off in popularity... and price." +"off in popularity… and price." msgstr "" #: lang/json/MONSTER_from_json.py msgid "crayfish" -msgid_plural "crayfishs" +msgid_plural "crayfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for crayfish +#. ~ Description for {'str': 'crayfish', 'str_pl': 'crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "If you could get ahold of a bunch more of these, a hefty pot of boiling " -"water, and some spicy seasonings..." +"water, and some spicy seasonings…" msgstr "" #: lang/json/MONSTER_from_json.py @@ -53773,7 +55885,7 @@ msgid_plural "Blinkies" msgstr[0] "" msgstr[1] "" -#. ~ Description for Blinky +#. ~ Description for {'str': 'Blinky', 'str_pl': 'Blinkies'} #: lang/json/MONSTER_from_json.py msgid "A strange three-eyed fish." msgstr "" @@ -53880,11 +55992,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant cockroach" -msgid_plural "giant cockroachs" +msgid_plural "giant cockroaches" msgstr[0] "" msgstr[1] "" -#. ~ Description for giant cockroach +#. ~ Description for {'str': 'giant cockroach', 'str_pl': 'giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "A mutant cockroach the size of a small dog." msgstr "" @@ -53902,11 +56014,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pregnant giant cockroach" -msgid_plural "pregnant giant cockroachs" +msgid_plural "pregnant giant cockroaches" msgstr[0] "" msgstr[1] "" -#. ~ Description for pregnant giant cockroach +#. ~ Description for {'str': 'pregnant giant cockroach', 'str_pl': 'pregnant giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant cockroach the size of a small dog. Its abdomen is heavily swollen." @@ -53944,7 +56056,7 @@ msgid_plural "giant dragonflies" msgstr[0] "" msgstr[1] "" -#. ~ Description for giant dragonfly +#. ~ Description for {'str': 'giant dragonfly', 'str_pl': 'giant dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A ferocious mutant dragonfly as big as a cat, darting through the air with a " @@ -53957,7 +56069,7 @@ msgid_plural "giant flies" msgstr[0] "" msgstr[1] "" -#. ~ Description for giant fly +#. ~ Description for {'str': 'giant fly', 'str_pl': 'giant flies'} #: lang/json/MONSTER_from_json.py msgid "" "A tremendous housefly the size of a small dog, predictably accompanied by a " @@ -54137,11 +56249,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dermatik larva" -msgid_plural "dermatik larvas" +msgid_plural "dermatik larvae" msgstr[0] "" msgstr[1] "" -#. ~ Description for dermatik larva +#. ~ Description for {'str': 'dermatik larva', 'str_pl': 'dermatik larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A fat white grub as big as a squirrel, with a pair of large, spadelike " @@ -54176,11 +56288,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "acidic ant larva" -msgid_plural "acidic ant larvas" +msgid_plural "acidic ant larvae" msgstr[0] "" msgstr[1] "" -#. ~ Description for acidic ant larva +#. ~ Description for {'str': 'acidic ant larva', 'str_pl': 'acidic ant larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A squirming yellow grub that seems to be oozing liquid from both ends of its " @@ -54230,11 +56342,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "ant larva" -msgid_plural "ant larvas" +msgid_plural "ant larvae" msgstr[0] "" msgstr[1] "" -#. ~ Description for ant larva +#. ~ Description for {'str': 'ant larva', 'str_pl': 'ant larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A pulsating sausage of glistening white flesh, the size of a large cat. On " @@ -54492,11 +56604,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Labrador puppy" -msgid_plural "Labrador puppys" +msgid_plural "Labrador puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for Labrador puppy +#. ~ Description for {'str': 'Labrador puppy', 'str_pl': 'Labrador puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Labrador puppy. Much safer to tame than an adult " @@ -54518,11 +56630,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bulldog puppy" -msgid_plural "bulldog puppys" +msgid_plural "bulldog puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for bulldog puppy +#. ~ Description for {'str': 'bulldog puppy', 'str_pl': 'bulldog puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless American bulldog puppy. Much safer to tame than an " @@ -54531,11 +56643,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull mix" -msgid_plural "pit bull mixs" +msgid_plural "pit bull mixes" msgstr[0] "" msgstr[1] "" -#. ~ Description for pit bull mix +#. ~ Description for {'str': 'pit bull mix', 'str_pl': 'pit bull mixes'} #: lang/json/MONSTER_from_json.py msgid "" "The oft-misunderstood pit bull is not actually a single breed but a label " @@ -54545,11 +56657,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull puppy" -msgid_plural "pit bull puppys" +msgid_plural "pit bull puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for pit bull puppy +#. ~ Description for {'str': 'pit bull puppy', 'str_pl': 'pit bull puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless pit bull puppy. Much safer to tame than an adult " @@ -54571,11 +56683,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "beagle puppy" -msgid_plural "beagle puppys" +msgid_plural "beagle puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for beagle puppy +#. ~ Description for {'str': 'beagle puppy', 'str_pl': 'beagle puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless beagle puppy. Much safer to tame than an adult dog." @@ -54597,11 +56709,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "border collie puppy" -msgid_plural "border collie puppys" +msgid_plural "border collie puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for border collie puppy +#. ~ Description for {'str': 'border collie puppy', 'str_pl': 'border collie puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Border Collie puppy. Much safer to tame than an " @@ -54623,11 +56735,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "boxer puppy" -msgid_plural "boxer puppys" +msgid_plural "boxer puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for boxer puppy +#. ~ Description for {'str': 'boxer puppy', 'str_pl': 'boxer puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless boxer puppy. Much safer to tame than an adult dog." @@ -54648,11 +56760,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Chihuahua puppy" -msgid_plural "Chihuahua puppys" +msgid_plural "Chihuahua puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for Chihuahua puppy +#. ~ Description for {'str': 'Chihuahua puppy', 'str_pl': 'Chihuahua puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Chihuahua puppy. Much safer to tame than an adult " @@ -54675,11 +56787,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dachshund puppy" -msgid_plural "dachshund puppys" +msgid_plural "dachshund puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for dachshund puppy +#. ~ Description for {'str': 'dachshund puppy', 'str_pl': 'dachshund puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless dachshund puppy. Much safer to tame than an adult " @@ -54701,11 +56813,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "German shepherd puppy" -msgid_plural "German shepherd puppys" +msgid_plural "German shepherd puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for German shepherd puppy +#. ~ Description for {'str': 'German shepherd puppy', 'str_pl': 'German shepherd puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless German shepherd puppy. Much safer to tame than an " @@ -54714,11 +56826,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees" -msgid_plural "Great Pyreneess" +msgid_plural "Great Pyrenees" msgstr[0] "" msgstr[1] "" -#. ~ Description for Great Pyrenees +#. ~ Description for {'str': 'Great Pyrenees', 'str_pl': 'Great Pyrenees'} #: lang/json/MONSTER_from_json.py msgid "" "A large and powerful breed, the Great Pyrenees has a beautiful, thick white " @@ -54728,11 +56840,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees puppy" -msgid_plural "Great Pyrenees puppys" +msgid_plural "Great Pyrenees puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for Great Pyrenees puppy +#. ~ Description for {'str': 'Great Pyrenees puppy', 'str_pl': 'Great Pyrenees puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Great Pyrenees puppy. Much safer to tame than an " @@ -54755,11 +56867,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rottweiler puppy" -msgid_plural "rottweiler puppys" +msgid_plural "rottweiler puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for rottweiler puppy +#. ~ Description for {'str': 'rottweiler puppy', 'str_pl': 'rottweiler puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Rottweiler puppy. Much safer to tame than an adult " @@ -54781,11 +56893,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cattle dog puppy" -msgid_plural "cattle dog puppys" +msgid_plural "cattle dog puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for cattle dog puppy +#. ~ Description for {'str': 'cattle dog puppy', 'str_pl': 'cattle dog puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Australian cattle dog puppy. Much safer to tame " @@ -54798,14 +56910,14 @@ msgid_plural "foxes" msgstr[0] "" msgstr[1] "" -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A small omnivorous canine with an almost cat-like manner. It is a solitary " "hunter, and one of the only canids able to climb trees." msgstr "" -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "The red fox, an omnivorous canine and largest of the true foxes, it is a " @@ -54882,11 +56994,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "moose" -msgid_plural "mooses" +msgid_plural "moose" msgstr[0] "" msgstr[1] "" -#. ~ Description for moose +#. ~ Description for {'str': 'moose', 'str_pl': 'moose'} #: lang/json/MONSTER_from_json.py msgid "" "The Eastern moose, the largest living species of deer. While they aren't " @@ -55023,7 +57135,7 @@ msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "" "A worm-tailed rodent with long whiskers and beady eyes. The way it squeaks " -"makes it sound... hungry." +"makes it sound… hungry." msgstr "" #: lang/json/MONSTER_from_json.py @@ -55046,7 +57158,7 @@ msgid_plural "sheep" msgstr[0] "" msgstr[1] "" -#. ~ Description for sheep +#. ~ Description for {'str': 'sheep', 'str_pl': 'sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A timid, hooved grazing mammal, and one of the first animals ever " @@ -55096,7 +57208,7 @@ msgid_plural "wolves" msgstr[0] "" msgstr[1] "" -#. ~ Description for wolf +#. ~ Description for {'str': 'wolf', 'str_pl': 'wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A cunning pack predator, once extinct in the New England area, the wolf was " @@ -55358,7 +57470,7 @@ msgid_plural "blank bodies" msgstr[0] "" msgstr[1] "" -#. ~ Description for blank body +#. ~ Description for {'str': 'blank body', 'str_pl': 'blank bodies'} #: lang/json/MONSTER_from_json.py msgid "" "This is some form of unnatural changeling creature; its appearance is a " @@ -55484,8 +57596,21 @@ msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "" "This boomer, normally swollen and ready to burst, has strengthened and " -"solidified. The bile dribbling from its mouth also appears to have " -"changed..." +"solidified. The bile dribbling from its mouth also appears to have changed…" +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "dissoluted devourer" +msgid_plural "dissoluted devourers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for dissoluted devourer +#: lang/json/MONSTER_from_json.py +msgid "" +"Human bodies fused together into a colossus with heads and limbs sticking " +"out of its bloated body. You may have trouble estimating its healthiness " +"and its capabilities might change." msgstr "" #: lang/json/MONSTER_from_json.py @@ -55535,7 +57660,7 @@ msgid "" "A human fused with a mess of metal parts and wires. While its eyes are " "empty, flashes of pain pass across its face reminiscent of the person " "trapped in this grotesque body. With enough surgical skills one might be " -"able to give them back some humanity. If only they cared..." +"able to give them back some humanity. If only they cared…" msgstr "" #: lang/json/MONSTER_from_json.py @@ -55956,11 +58081,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant crayfish" -msgid_plural "giant crayfishs" +msgid_plural "giant crayfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for giant crayfish +#. ~ Description for {'str': 'giant crayfish', 'str_pl': 'giant crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant, terrestrial variety of the signal crayfish, this massive " @@ -56091,7 +58216,7 @@ msgid_plural "homunculuses" msgstr[0] "" msgstr[1] "" -#. ~ Description for homunculus +#. ~ Description for {'str': 'homunculus', 'str_pl': 'homunculuses'} #: lang/json/MONSTER_from_json.py msgid "" "A pale hairless man with an impressive athletic physique. Its lidless eyes " @@ -56100,11 +58225,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hound of tindalos" -msgid_plural "hound of tindaloss" +msgid_plural "hounds of tindalos" msgstr[0] "" msgstr[1] "" -#. ~ Description for hound of tindalos +#. ~ Description for {'str': 'hound of tindalos', 'str_pl': 'hounds of tindalos'} #: lang/json/MONSTER_from_json.py msgid "" "A grotesque hound-like beast, its frame is angular and emaciated and its " @@ -56317,12 +58442,12 @@ msgid_plural "Shia LaBeouf" msgstr[0] "" msgstr[1] "" -#. ~ Description for Shia LaBeouf +#. ~ Description for {'str': 'Shia LaBeouf', 'str_pl': 'Shia LaBeouf'} #: lang/json/MONSTER_from_json.py msgid "" -"Living in the woods, \n" -"killing for sport, \n" -"eating all the bodies, \n" +"Living in the woods,\n" +"killing for sport,\n" +"eating all the bodies,\n" "actual cannibal Shia LaBeouf." msgstr "" @@ -56480,7 +58605,7 @@ msgid_plural "twisted bodies" msgstr[0] "" msgstr[1] "" -#. ~ Description for twisted body +#. ~ Description for {'str': 'twisted body', 'str_pl': 'twisted bodies'} #: lang/json/MONSTER_from_json.py msgid "" "A human body, but with its limbs, neck, and hair impossibly twisted. It " @@ -56493,7 +58618,7 @@ msgid_plural "vortexes" msgstr[0] "" msgstr[1] "" -#. ~ Description for vortex +#. ~ Description for {'str': 'vortex', 'str_pl': 'vortexes'} #: lang/json/MONSTER_from_json.py msgid "" "A twisting spot in the air, with some kind of morphing mass at its center." @@ -56569,6 +58694,19 @@ msgid "" "black eyes." msgstr "" +#: lang/json/MONSTER_from_json.py +msgid "wretched puker" +msgid_plural "wretched pukers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for wretched puker +#: lang/json/MONSTER_from_json.py +msgid "" +"A degenerate corpse, shambling as it walks. Several junks and waste " +"materials have unified into its skin and wounds around it reeks in black goo." +msgstr "" + #: lang/json/MONSTER_from_json.py msgid "acidic zombie" msgid_plural "acidic zombies" @@ -56729,9 +58867,9 @@ msgstr[1] "" #. ~ Description for zombie dancer #: lang/json/MONSTER_from_json.py msgid "" -"The foulest stench is in the air, \n" -"The funk of forty thousand years, \n" -"And grisly ghouls from every tomb, \n" +"The foulest stench is in the air,\n" +"The funk of forty thousand years,\n" +"And grisly ghouls from every tomb,\n" "Are closing in to seal your doom!\n" "\n" "The dancer doesn't even notice you, it seems like something nearby is " @@ -56845,11 +58983,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gangrenous flesh" -msgid_plural "gangrenous fleshs" +msgid_plural "gangrenous flesh" msgstr[0] "" msgstr[1] "" -#. ~ Description for gangrenous flesh +#. ~ Description for {'str': 'gangrenous flesh', 'str_pl': 'gangrenous flesh'} #: lang/json/MONSTER_from_json.py msgid "" "Immobile from grievous wounds, its gray skin has bloated to near rupture " @@ -57022,9 +59160,9 @@ msgstr[1] "" #. ~ Description for Thriller #: lang/json/MONSTER_from_json.py msgid "" -"And though you fight to stay alive, \n" -"Your body starts to shiver. \n" -"For no mere mortal can resist, \n" +"And though you fight to stay alive,\n" +"Your body starts to shiver.\n" +"For no mere mortal can resist,\n" "The evil of the thriller." msgstr "" @@ -57449,7 +59587,7 @@ msgid_plural "dragonflies" msgstr[0] "" msgstr[1] "" -#. ~ Description for dragonfly +#. ~ Description for {'str': 'dragonfly', 'str_pl': 'dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A thin-bodied insectoid predator with a large wingspan and big compound eyes." @@ -57892,7 +60030,7 @@ msgid_plural "zombie children" msgstr[0] "" msgstr[1] "" -#. ~ Description for zombie child +#. ~ Description for {'str': 'zombie child', 'str_pl': 'zombie children'} #: lang/json/MONSTER_from_json.py msgid "" "It was only a child, and little is different about it now aside from the " @@ -57986,7 +60124,7 @@ msgid_plural "fungal children" msgstr[0] "" msgstr[1] "" -#. ~ Description for fungal child +#. ~ Description for {'str': 'fungal child', 'str_pl': 'fungal children'} #: lang/json/MONSTER_from_json.py msgid "" "It is hard to recognize a human child in this creature. Disgusting-looking " @@ -58254,11 +60392,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic fox" -msgid_plural "old animatronic foxs" +msgid_plural "old animatronic foxes" msgstr[0] "" msgstr[1] "" -#. ~ Description for old animatronic fox +#. ~ Description for {'str': 'old animatronic fox', 'str_pl': 'old animatronic foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look " @@ -58268,11 +60406,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic fox" -msgid_plural "new animatronic foxs" +msgid_plural "new animatronic foxes" msgstr[0] "" msgstr[1] "" -#. ~ Description for new animatronic fox +#. ~ Description for {'str': 'new animatronic fox', 'str_pl': 'new animatronic foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look " @@ -58282,11 +60420,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "wrecked animatronic fox" -msgid_plural "wrecked animatronic foxs" +msgid_plural "wrecked animatronic foxes" msgstr[0] "" msgstr[1] "" -#. ~ Description for wrecked animatronic fox +#. ~ Description for {'str': 'wrecked animatronic fox', 'str_pl': 'wrecked animatronic foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A wrecked animatronic fox, laying in a pile on the ground. Its teeth and " @@ -58296,11 +60434,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic bunny" -msgid_plural "new animatronic bunnys" +msgid_plural "new animatronic bunnies" msgstr[0] "" msgstr[1] "" -#. ~ Description for new animatronic bunny +#. ~ Description for {'str': 'new animatronic bunny', 'str_pl': 'new animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its actually quite " @@ -58310,11 +60448,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic bunny" -msgid_plural "old animatronic bunnys" +msgid_plural "old animatronic bunnies" msgstr[0] "" msgstr[1] "" -#. ~ Description for old animatronic bunny +#. ~ Description for {'str': 'old animatronic bunny', 'str_pl': 'old animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its face has been torn " @@ -58506,7 +60644,7 @@ msgid_plural "animatronic sheep" msgstr[0] "" msgstr[1] "" -#. ~ Description for animatronic sheep +#. ~ Description for {'str': 'animatronic sheep', 'str_pl': 'animatronic sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic sheep, nearly twice your size. Its wool is mangy and " @@ -58529,11 +60667,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic child" -msgid_plural "animatronic childs" +msgid_plural "animatronic children" msgstr[0] "" msgstr[1] "" -#. ~ Description for animatronic child +#. ~ Description for {'str': 'animatronic child', 'str_pl': 'animatronic children'} #: lang/json/MONSTER_from_json.py msgid "" "An animatronic child. It looks like it's annoying as hell. Though it is a " @@ -58555,11 +60693,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic wolf" -msgid_plural "animatronic wolfs" +msgid_plural "animatronic wolves" msgstr[0] "" msgstr[1] "" -#. ~ Description for animatronic wolf +#. ~ Description for {'str': 'animatronic wolf', 'str_pl': 'animatronic wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic wolf, nearly twice your size. If the animal " @@ -58722,11 +60860,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "minion of skeltal" -msgid_plural "minion of skeltals" +msgid_plural "minions of skeltal" msgstr[0] "" msgstr[1] "" -#. ~ Description for minion of skeltal +#. ~ Description for {'str': 'minion of skeltal', 'str_pl': 'minions of skeltal'} #: lang/json/MONSTER_from_json.py msgid "A lesser skeleton, raised by the forlorn dooting of a trumpet." msgstr "" @@ -58746,11 +60884,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Compsognathus" -msgid_plural "Compsognathuss" +msgid_plural "Compsognathus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Compsognathus +#. ~ Description for {'str': 'Compsognathus', 'str_pl': 'Compsognathus'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal dinosaur about the size of a turkey. Its teeth and claws are " @@ -58759,11 +60897,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Gallimimus" -msgid_plural "Gallimimuss" +msgid_plural "Gallimimus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Gallimimus +#. ~ Description for {'str': 'Gallimimus', 'str_pl': 'Gallimimus'} #: lang/json/MONSTER_from_json.py msgid "" "A feathered bipedal dinosaur, standing as tall as a human. It looks " @@ -58772,11 +60910,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Titanis" -msgid_plural "Titaniss" +msgid_plural "Titanis" msgstr[0] "" msgstr[1] "" -#. ~ Description for Titanis +#. ~ Description for {'str': 'Titanis', 'str_pl': 'Titanis'} #: lang/json/MONSTER_from_json.py msgid "" "It looks like a dodo, only much bigger, with longer, muscular legs and a " @@ -58785,11 +60923,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Spinosaurus" -msgid_plural "Spinosauruss" +msgid_plural "Spinosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Spinosaurus +#. ~ Description for {'str': 'Spinosaurus', 'str_pl': 'Spinosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge dinosaur about the size of a small house, with a ferocious crocodile-" @@ -58798,22 +60936,22 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Tyrannosaurus rex" -msgid_plural "Tyrannosaurus rexs" +msgid_plural "Tyrannosaurus rex" msgstr[0] "" msgstr[1] "" -#. ~ Description for Tyrannosaurus rex +#. ~ Description for {'str': 'Tyrannosaurus rex', 'str_pl': 'Tyrannosaurus rex'} #: lang/json/MONSTER_from_json.py msgid "Look at those TEETH!" msgstr "" #: lang/json/MONSTER_from_json.py msgid "Triceratops" -msgid_plural "Triceratopss" +msgid_plural "Triceratops" msgstr[0] "" msgstr[1] "" -#. ~ Description for Triceratops +#. ~ Description for {'str': 'Triceratops', 'str_pl': 'Triceratops'} #: lang/json/MONSTER_from_json.py msgid "" "A massive rhino-like dinosaur with a bony crest from which three large horns " @@ -58822,22 +60960,22 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Stegosaurus" -msgid_plural "Stegosauruss" +msgid_plural "Stegosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Stegosaurus +#. ~ Description for {'str': 'Stegosaurus', 'str_pl': 'Stegosaurus'} #: lang/json/MONSTER_from_json.py msgid "A large quadruped dinosaur with plates on its back, and a spiked tail." msgstr "" #: lang/json/MONSTER_from_json.py msgid "Ankylosaurus" -msgid_plural "Ankylosauruss" +msgid_plural "Ankylosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Ankylosaurus +#. ~ Description for {'str': 'Ankylosaurus', 'str_pl': 'Ankylosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "This dinosaur looks like a giant prehistoric armadillo. Its tail ends in a " @@ -58846,11 +60984,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Allosaurus" -msgid_plural "Allosauruss" +msgid_plural "Allosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Allosaurus +#. ~ Description for {'str': 'Allosaurus', 'str_pl': 'Allosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A large predatory bipedal dinosaur, with tiger-like stripes on its broad " @@ -58885,11 +61023,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Deinonychus" -msgid_plural "Deinonychuss" +msgid_plural "Deinonychus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Deinonychus +#. ~ Description for {'str': 'Deinonychus', 'str_pl': 'Deinonychus'} #: lang/json/MONSTER_from_json.py msgid "" "A medium-sized bipedal dinosaur covered with feathers. At the end of each " @@ -58911,11 +61049,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Parasaurolophus" -msgid_plural "Parasaurolophuss" +msgid_plural "Parasaurolophus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Parasaurolophus +#. ~ Description for {'str': 'Parasaurolophus', 'str_pl': 'Parasaurolophus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge mottled dinosaur with a blunt head crest. It contentedly strips " @@ -58935,11 +61073,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Dilophosaurus" -msgid_plural "Dilophosauruss" +msgid_plural "Dilophosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Dilophosaurus +#. ~ Description for {'str': 'Dilophosaurus', 'str_pl': 'Dilophosaurus'} #: lang/json/MONSTER_from_json.py msgid "A medium dinosaur with a sticky green bile dripping from its teeth." msgstr "" @@ -59081,21 +61219,23 @@ msgid "The black pudding burns you with acid!" msgstr "" #: lang/json/MONSTER_from_json.py -msgid "nothic" -msgid_plural "nothics" +msgid "krabgek" +msgid_plural "krabgeks" msgstr[0] "" msgstr[1] "" -#. ~ Description for nothic +#. ~ Description for krabgek #: lang/json/MONSTER_from_json.py msgid "" -"A baleful eye peers out from the darkness, its gleam hinting at a weird " -"intelligence and unnerving malevolence." +"A large baleful eye peers out from the darkness, its gleam hinting at a " +"weird intelligence and unnerving malevolence. The eye oozes some pinkish " +"liquid, and the weirdly humanoid figure is covered in sharp blue-black " +"triangular plates." msgstr "" -#. ~ Attack message of monster "nothic"'s spell "necrotic_gaze" +#. ~ Attack message of monster "krabgek"'s spell "necrotic_gaze" #: lang/json/MONSTER_from_json.py -msgid "The nothic gazes at %3$s!" +msgid "The krabgek gazes at %3$s!" msgstr "" #: lang/json/MONSTER_from_json.py @@ -59143,8 +61283,47 @@ msgstr[1] "" #. ~ Description for troll #: lang/json/MONSTER_from_json.py msgid "" -"Monstrous, green-skinned humanoid. Trolls are renowned for their thick hides " -"and natural regenerative ability." +"Monstrous, green-skinned humanoid. Trolls are renowned for their thick " +"hides and natural regenerative ability." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "stirge" +msgid_plural "stirges" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for stirge +#: lang/json/MONSTER_from_json.py +msgid "" +"This horrid flying creature looks like a cross between a large bat and " +"oversized mosquito." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "shrieker" +msgid_plural "shriekers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for shrieker +#: lang/json/MONSTER_from_json.py +msgid "" +"A shrieker is a human-sized mushroom that emits a piercing screech to drive " +"off creatures that disturb it." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "lemure" +msgid_plural "lemures" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lemure +#: lang/json/MONSTER_from_json.py +msgid "" +"A lemure resembles a molten mass of flesh with a vaguely humanoid head and " +"torso." msgstr "" #: lang/json/MONSTER_from_json.py @@ -59601,11 +61780,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "craftbuddy" -msgid_plural "craftbuddys" +msgid_plural "craftbuddies" msgstr[0] "" msgstr[1] "" -#. ~ Description for craftbuddy +#. ~ Description for {'str': 'craftbuddy', 'str_pl': 'craftbuddies'} #: lang/json/MONSTER_from_json.py msgid "" "A mobile crafting station used by workers in mines, on oil rigs, and in " @@ -60218,11 +62397,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "robote deluxe" -msgid_plural "robote deluxes" +msgid_plural "robote deluxe" msgstr[0] "" msgstr[1] "" -#. ~ Description for robote deluxe +#. ~ Description for {'str': 'robote deluxe', 'str_pl': 'robote deluxe'} #: lang/json/MONSTER_from_json.py msgid "" "A diamond-studded gold-plated robot armed with a pair of integrated 9mm " @@ -60261,11 +62440,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "glittering lady" -msgid_plural "glittering ladys" +msgid_plural "glittering ladies" msgstr[0] "" msgstr[1] "" -#. ~ Description for glittering lady +#. ~ Description for {'str': 'glittering lady', 'str_pl': 'glittering ladies'} #: lang/json/MONSTER_from_json.py msgid "" "A salvaged advanced robot transformed into a luminous beacon of " @@ -60388,13 +62567,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py #: lang/json/TOOL_from_json.py msgid "gelatinous mass" -msgid_plural "gelatinous masss" +msgid_plural "gelatinous mass" msgstr[0] "" msgstr[1] "" -#. ~ Description for gelatinous mass -#. ~ Description for gray mass -#. ~ Description for gelatinous mass +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} +#. ~ Description for {'str': 'gray mass', 'str_pl': 'gray mass'} +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} #: lang/json/MONSTER_from_json.py msgid "" "An escaping noisy blob, catch it before it brings in every zombie for miles!" @@ -60402,7 +62581,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gray mass" -msgid_plural "gray masss" +msgid_plural "gray mass" msgstr[0] "" msgstr[1] "" @@ -61084,7 +63263,7 @@ msgstr "" #. ~ Message for SPELL 'Artifact Map' #: lang/json/SPELL_from_json.py src/iuse.cpp -msgid "You have a vision of the surrounding area..." +msgid "You have a vision of the surrounding area…" msgstr "" #: lang/json/SPELL_from_json.py @@ -61292,8 +63471,8 @@ msgstr "" #. ~ Description for Animist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Animists. You can use the rune " -"as a catalyst for recipes." +"This ritual creates a small pebble attuned to Animists. You can use the " +"rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -61331,7 +63510,7 @@ msgstr "" #. ~ Description for Biomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Biomancers. You can use the " +"This ritual creates a small pebble attuned to Biomancers. You can use the " "rune as a catalyst for recipes." msgstr "" @@ -61380,6 +63559,20 @@ msgstr "" msgid "Translocates the user to an attuned gate." msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Acid Resistance" +msgstr "" + +#. ~ Description for Acid Resistance +#. ~ Description for Greater Acid Resistance +#: lang/json/SPELL_from_json.py +msgid "Protects the user from acid." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Greater Acid Resistance" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Template Spell" msgstr "" @@ -61429,7 +63622,7 @@ msgstr "" #. ~ Message for SPELL 'Debug Stamina Spell' #: lang/json/SPELL_from_json.py #, python-format -msgid "Debug spell [ %s ] has no effect. Debug warning is expected." +msgid "Debug spell [ %s ] has no effect. Debug warning is expected." msgstr "" #: lang/json/SPELL_from_json.py @@ -61586,7 +63779,7 @@ msgstr "" #. ~ Description for Druid Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Druids. You can use the rune " +"This ritual creates a small pebble attuned to Druids. You can use the rune " "as a catalyst for recipes." msgstr "" @@ -61597,7 +63790,7 @@ msgstr "" #. ~ Description for Purification Seed #: lang/json/SPELL_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Rapidly degrades if " +"You summon a gift of the earth which will purify water. Rapidly degrades if " "not utilized." msgstr "" @@ -61645,7 +63838,7 @@ msgstr "" #. ~ Description for Earthshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Earthshapers. You can use the " +"This ritual creates a small pebble attuned to Earthshapers. You can use the " "rune as a catalyst for recipes." msgstr "" @@ -61672,6 +63865,10 @@ msgstr "" msgid "Lava Bomb" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Clairvoyance" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Twisted Restoration" msgstr "" @@ -61679,7 +63876,7 @@ msgstr "" #. ~ Description for Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical " "condition." msgstr "" @@ -61691,9 +63888,24 @@ msgstr "" #. ~ Description for Improved Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical " -"condition. Improved brewing mitigates the strain of the spell." +"condition. Improved brewing mitigates the strain of the spell." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Conjure Throwing Blade I" +msgstr "" + +#. ~ Description for Conjure Throwing Blade I +#: lang/json/SPELL_from_json.py +msgid "conjures 3 throwing knives" +msgstr "" + +#. ~ Message for SPELL 'Conjure Throwing Blade I' +#: lang/json/SPELL_from_json.py +msgid "" +"You activate your ring and three throwing knives appear, ready to throw!" msgstr "" #: lang/json/SPELL_from_json.py @@ -61751,7 +63963,7 @@ msgstr "" #. ~ Description for Kelvinist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Kelvinists. You can use the " +"This ritual creates a small pebble attuned to Kelvinists. You can use the " "rune as a catalyst for recipes." msgstr "" @@ -61794,7 +64006,7 @@ msgstr "" #. ~ Description for Magus Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Magi. You can use the rune as " +"This ritual creates a small pebble attuned to Magi. You can use the rune as " "a catalyst for recipes." msgstr "" @@ -61814,6 +64026,15 @@ msgstr "" msgid "Fox's Cunning" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Blood Suck" +msgstr "" + +#. ~ Description for Blood Suck +#: lang/json/SPELL_from_json.py +msgid "Sucks blood from one foe." +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Jolt" msgstr "" @@ -61853,7 +64074,7 @@ msgstr "" #. ~ Description for Stormshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Stormshapers. You can use the " +"This ritual creates a small pebble attuned to Stormshapers. You can use the " "rune as a catalyst for recipes." msgstr "" @@ -61915,8 +64136,8 @@ msgstr "" #. ~ Description for Technomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Technomancers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Technomancers. You can use " +"the rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -61943,6 +64164,10 @@ msgstr "" msgid "Mirror Image" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "X-ray Vision" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Demon Fireball" msgstr "" @@ -62102,6 +64327,8 @@ msgstr[1] "" #. ~ Use action menu_text for thermal electric balaclava (on). #. ~ Use action menu_text for headlamp (on). #. ~ Use action menu_text for survivor headlamp (on). +#. ~ Use action menu_text for 5-point anchor (on). +#. ~ Use action menu_text for phase immersion suit (on). #. ~ Use action menu_text for rebreather mask (on). #. ~ Use action menu_text for XL rebreather mask (on). #. ~ Use action menu_text for pair of light amp goggles (on). @@ -62126,10 +64353,10 @@ msgstr[1] "" #. ~ Use action menu_text for acetylene lamp (on). #. ~ Use action menu_text for power cutter (on). #. ~ Use action menu_text for murdersaw (on). +#. ~ Use action menu_text for heat cube (torch on). #: lang/json/TOOL_ARMOR_from_json.py #: lang/json/TOOL_ARMOR_from_json.py lang/json/TOOL_from_json.py #: lang/json/TOOL_from_json.py -#: lang/json/TOOL_from_json.py lang/json/item_action_from_json.py #: lang/json/item_action_from_json.py #: lang/json/item_action_from_json.py src/iuse.cpp msgid "Turn off" @@ -62453,6 +64680,46 @@ msgid "" "It is turned on, and continually draining batteries. Use it to turn it off." msgstr "" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp" +msgid_plural "atomic headlamps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for atomic headlamp. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You close the headlamp's cover." +msgstr "" + +#. ~ Description for atomic headlamp +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"close the cover and hide the light." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp (covered)" +msgid_plural "atomic headlamps (covered)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for atomic headlamp (covered). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You open the headlamp's cover." +msgstr "" + +#. ~ Description for atomic headlamp (covered) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"open the cover and show the light." +msgstr "" + #: lang/json/TOOL_ARMOR_from_json.py msgid "RM13 combat armor" msgid_plural "RM13 combat armors" @@ -62482,6 +64749,97 @@ msgid "" "power. Use it to turn it off." msgstr "" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor" +msgid_plural "5-point anchors" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "A LED light in the %s LED flickers on." +msgstr "" + +#. ~ Use action need_charges_msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "It seems like this device needs power." +msgstr "" + +#. ~ Description for 5-point anchor +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A featureless, disc-shaped device mounted on a harness. The words \"X.E.D.R." +"A\" and \"5-point anchor\" are inscribed on its front and back." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor (on)" +msgid_plural "5-point anchors (on)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for 5-point anchor (on). +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "The %s LED light flickers off." +msgstr "" + +#. ~ Description for 5-point anchor (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The harness' shoulder mounted LED glows with a soft green hue. Theres no " +"further indication of anything happening." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit" +msgid_plural "phase immersion suits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Initiating\n" +"Running suit integrity diagnostics…\n" +"All systems operational." +msgstr "" + +#. ~ Use action need_charges_msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Warning: Operating on minimal power. Protection compromised." +msgstr "" + +#. ~ Description for phase immersion suit +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. Designed to " +"protect its wearer during extra dimensional excursions, it offers " +"unparalleled environmental protection, both in this Earth and beyond. Use " +"it to turn it on." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit (on)" +msgid_plural "phase immersion suits (on)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for phase immersion suit (on). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Suit shutting down." +msgstr "" + +#. ~ Description for phase immersion suit (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. It is turned on, " +"and continually draining power. Use it to turn it off." +msgstr "" + #: lang/json/TOOL_ARMOR_from_json.py msgid "rebreather mask" msgid_plural "rebreather masks" @@ -63408,9 +65766,10 @@ msgstr "" #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py msgid "" -"A pair of earmuffs favored by shooters. The earmuffs are turned off. They " -"will block sounds over a certain decibel amount, assuming it is charged with " -"batteries." +"A pair of earmuffs favored by shooters. Without batteries or when turned " +"off they function like normal earmuffs and block all sound. They will block " +"sounds over a certain decibel amount when turned on. The earmuffs are " +"currently off." msgstr "" #. ~ Description for shooter's earmuffs @@ -63856,6 +66215,535 @@ msgid "" "power." msgstr "" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic leather belt" +msgid_plural "magic leather belts" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Haste" +msgid_plural "Belt of Hastes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Megingjörð" +msgid_plural "Megingjörðs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Megingjörð +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The mythical belt of Thor, god of thunder. Or at least so it appears. It " +"doubles the wearer's base strength." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Lesser Girdle of Pockets" +msgid_plural "Lesser Girdle of Pocketss" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Lesser Girdle of Pockets +#. ~ Description for Greater Girdle of Pockets +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, coverd in numerous small pouches " +"that hold a lot more than they should, and the weight of their contents is " +"greatly reduced." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Greater Girdle of Pockets" +msgid_plural "Greater Girdle of Pocketss" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Weaponry" +msgid_plural "Belt of Weaponrys" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Belt of Weaponry +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, you can sheath or holster any " +"weapon into it in the blink of an eye, and it seemingly stores them " +"somewhere else." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of The Iron Whip" +msgid_plural "Belts of the Iron Whip" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for Belt of The Iron Whip. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"You grab the belt and it uncoils to become a flexible metal whip in your " +"hand!" +msgstr "" + +#. ~ Description for Belt of The Iron Whip +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A braided but flexible belt seemingly made of metal. You can activate it to " +"transform it into a whip and flay your enemies." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "escape boots" +msgid_plural "escape boots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for escape boots +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, these boots can be activated once a day to escape from nasty " +"situations, teleporting you a good distance in a random direction." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "pair of steel bracers" +msgid_plural "pairs of steel bracers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of steel bracers +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A full assembly of medieval arm protection." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "steel bracer" +msgid_plural "steel bracers" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of lesser defense" +msgid_plural "bracers of lesser defense" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bracer of lesser defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, silver accentuates the intricate design. It protects your body " +"with a light aura to reduce damage you take." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of greater defense" +msgid_plural "bracers of greater defense" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bracer of greater defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, gold accentuates the intricate design. It protects your body with " +"a strong aura to reduce damage you take." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "lesser bracer of lightning" +msgid_plural "lesser bracers of lightning" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lesser bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning " +"bolts engraved on the top, silver accentuates the intricate design. It " +"protects your body with a light aura to reduce electrical damage you take, " +"as well as being able to release a Jolt spell 3 times a day." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "greater bracer of lightning" +msgid_plural "greater bracers of lightning" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for greater bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning " +"bolts engraved on the top, gold accentuates the intricate design. It " +"protects your body with a strong aura to reduce electrical damage you take, " +"as well as being able to release a Lightning Bolt spell 3 times a day." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic mask" +msgid_plural "magic masks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magic mask +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic magic mask." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of disappearance" +msgid_plural "masks of disappearance" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for mask of disappearance +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A mask with no facial features at all, just eye and mouth holes, upon " +"activation it makes everything ignore your presence for a while." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of perfect vision" +msgid_plural "masks of perfect vision" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for mask of perfect vision +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A decidedly steampunk-looking half mask that covers the eye area of the " +"face, it has large lenses that correct and greatly enhance the vision of the " +"wearer." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "copper magic ring" +msgid_plural "copper magic rings" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for copper magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic copper magic ring." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic ring" +msgid_plural "magic rings" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic silver magic ring." +msgstr "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic gold magic ring." +msgstr "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic platinum magic ring." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of blades" +msgid_plural "rings of blades" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of blades +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"An ornate silver ring engraved with daggers that conjures a near perfect " +"throwing knife into your hand on activation." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +1" +msgid_plural "minor rings of strength +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +2" +msgid_plural "rings of strength +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +3" +msgid_plural "rings of strength +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +4" +msgid_plural "rings of strength +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +1" +msgid_plural "rings of dexterity +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +2" +msgid_plural "rings of dexterity +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +3" +msgid_plural "rings of dexterity +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +4" +msgid_plural "rings of dexterity +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +1" +msgid_plural "rings of intelligence +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +2" +msgid_plural "rings of intelligence +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +3" +msgid_plural "rings of intelligence +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you surprisingly more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +4" +msgid_plural "rings of intelligence +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +1" +msgid_plural "rings of perception +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +2" +msgid_plural "rings of perception +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +3" +msgid_plural "rings of perception +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you eye-openingly more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +4" +msgid_plural "rings of perception +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +3" +msgid_plural "rings of speed +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +5" +msgid_plural "rings of speed +5" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +5 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +7" +msgid_plural "rings of speed +7" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +7 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you quite hasty when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +10" +msgid_plural "rings of speed +10" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +10 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +2" +msgid_plural "rings of protection +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that reduces some of the force of damage you take when you " +"wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +4" +msgid_plural "rings of protection +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that appreciably reduces some of the force of damage you take " +"when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +6" +msgid_plural "rings of protection +6" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +6 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that greatly reduces some of the force of damage you take when " +"you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +8" +msgid_plural "rings of protection +8" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +8 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A platinum ring that vastly reduces some of the force of damage you take " +"when you wear it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "washcloth" msgid_plural "washcloths" @@ -63878,9 +66766,9 @@ msgstr[1] "" msgid "" "Harness the power of radiation in your own home! This looks similar to a D-" "cell battery, but actually contains folded layers of radioactive material " -"inside. It can produce electricity for several years at a steady voltage... " +"inside. It can produce electricity for several years at a steady voltage… " "but it's barely enough to power a small LED, and these batteries were worth " -"hundreds of dollars. Mostly they're a good way to brag to your neighbours " +"hundreds of dollars. Mostly they're a good way to brag to your neighbors " "that you have a nuclear power source in your house." msgstr "" @@ -63893,9 +66781,9 @@ msgstr[1] "" #. ~ Description for radioisotope thermoelectric generator #: lang/json/TOOL_from_json.py msgid "" -"Did your neighbours brag about their cool beta-decay powered nightlights? " -"Do them one better! The CuppaTech 4 radioisotope thermoelectric generator " -"is a three kilogram chunk of metal - mostly lead - with a slug of curium-244 " +"Did your neighbors brag about their cool beta-decay powered nightlights? Do " +"them one better! The CuppaTech 4 radioisotope thermoelectric generator is a " +"three kilogram chunk of metal - mostly lead - with a slug of curium-244 " "encased within. It is capable of generating somewhere between 100-150 Watts " "of thermal energy, although its electrical generation capacity is minimal at " "only 2 Watts. Careful! Curium is great at making heat, and also releases " @@ -64013,7 +66901,7 @@ msgstr[1] "" #. ~ Description for clairvoyance rod #: lang/json/TOOL_from_json.py msgid "" -"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's " +"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's " "a bug." msgstr "" @@ -64298,7 +67186,6 @@ msgstr "" #. ~ Use action sound_msg for dynamite (lit). #. ~ Use action sound_msg for fertilizer bomb (lit). #: lang/json/TOOL_from_json.py -#: lang/json/TOOL_from_json.py src/iuse.cpp msgid "ssss..." msgstr "" @@ -64325,7 +67212,7 @@ msgstr "" #. ~ Description for nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by nails and a fuse. Use this item to light the fuse. You will " "then have five turns before it explodes; throwing it would be a good idea." msgstr "" @@ -64346,8 +67233,8 @@ msgstr "" #. ~ Description for active nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by nails and a fuse. The fuse has been lit, you should throw it." +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by nails and a fuse. The fuse has been lit, you should throw it." msgstr "" #: lang/json/TOOL_from_json.py @@ -64359,7 +67246,7 @@ msgstr[1] "" #. ~ Description for fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by small pieces of metal and a fuse. Use this item to light the " "fuse. You will then have five turns before it explodes; throwing it would " "be a good idea." @@ -64374,8 +67261,8 @@ msgstr[1] "" #. ~ Description for active fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " "should throw it." msgstr "" @@ -64395,7 +67282,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ... " +"sticking out of it. Will produce metal shrapnel that can deal with armor… " "you think." msgstr "" @@ -64409,8 +67296,55 @@ msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ... " -"you think. The fuse has been lit, you should throw it." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think. The fuse has been lit, you should throw it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for jack o'lantern. +#. ~ Use action menu_text for candle. +#. ~ Use action menu_text for Louisville Slaughterer. +#: lang/json/TOOL_from_json.py +#: lang/json/TOOL_from_json.py src/veh_interact.cpp +msgid "Light" +msgstr "" + +#. ~ Use action msg for jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "You light the candle in the jack o'lantern." +msgstr "" + +#. ~ Description for jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"This is a plastic lantern that is painted to look like a pumpkin with a " +"face. It has a candle inside it, that can be replaced when burnt down. It " +"doesn't provide very much light, but it can burn for quite a long time. " +"You'll need a lighter or matches to light it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "spooky jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for spooky jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "The candle winks out inside the lantern." +msgstr "" + +#. ~ Description for spooky jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"There is a thick LED candle inside the pumpkin face. It doesn't provide " +"very much light, but it can burn for quite a long time. This candle is " +"lit. The face shifts." msgstr "" #. ~ Description for battle axe @@ -64547,6 +67481,27 @@ msgid "" "fuse stuck inside of it." msgstr "" +#: lang/json/TOOL_from_json.py +msgid "hobo stove (lit)" +msgid_plural "hobo stoves (lit)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for hobo stove (lit). +#. ~ Use action msg for ember carrier (lit). +#: lang/json/TOOL_from_json.py +msgid "The ember is extinguished." +msgstr "" + +#. ~ Description for hobo stove (lit) +#. ~ Description for hobo stove +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small improvised wood stove, made from a metal can or similar " +"container of the right size. Useful for defrosting and reheating food, uses " +"simple tinder." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "folded poncho" msgid_plural "folded ponchos" @@ -64774,8 +67729,8 @@ msgstr[1] "" #. ~ Description for water mill #: lang/json/TOOL_from_json.py msgid "" -"A small water-powered mill that can convert starchy products into flour. Can " -"be placed via the construction menu." +"A small water-powered mill that can convert starchy products into flour. " +"Can be placed via the construction menu." msgstr "" #: lang/json/TOOL_from_json.py lang/json/furniture_from_json.py @@ -64787,7 +67742,7 @@ msgstr[1] "" #. ~ Description for wind mill #: lang/json/TOOL_from_json.py msgid "" -"A small wind-powered mill that can convert starchy products into flour. Can " +"A small wind-powered mill that can convert starchy products into flour. Can " "be placed via the construction menu." msgstr "" @@ -65080,14 +68035,6 @@ msgid_plural "candles" msgstr[0] "" msgstr[1] "" -#. ~ Use action menu_text for candle. -#. ~ Use action menu_text for hobo stove. -#. ~ Use action menu_text for Louisville Slaughterer. -#: lang/json/TOOL_from_json.py -#: lang/json/TOOL_from_json.py src/veh_interact.cpp -msgid "Light" -msgstr "" - #. ~ Use action msg for candle. #: lang/json/TOOL_from_json.py msgid "You light the candle." @@ -65136,7 +68083,7 @@ msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "" "An electric meat carver powered by batteries. Two serrated blades that " -"vibrate together to slice just about anything from turkey to ham... even " +"vibrate together to slice just about anything from turkey to ham… even " "zombies!" msgstr "" @@ -65299,6 +68246,20 @@ msgid "" "uncertain sources like a river may be dirty." msgstr "" +#: lang/json/TOOL_from_json.py +msgid "lifestraw" +msgid_plural "lifestraws" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lifestraw +#: lang/json/TOOL_from_json.py +msgid "" +"Set the lifestraw in suspect water, let sit for one minute then drink. The " +"two part filtration system will purify the water you drink. Water taken " +"from uncertain sources like a river may be dirty." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "charcoal smoker" msgid_plural "charcoal smokers" @@ -65750,7 +68711,7 @@ msgid "" "try to escape or to remove the cuffs - they will administer an electric " "shock.\n" "However, since the only police likely to respond are undead, you may have a " -"long wait ahead, unless you get creative..." +"long wait ahead, unless you get creative…" msgstr "" #: lang/json/TOOL_from_json.py @@ -67288,6 +70249,19 @@ msgid "" "asthma attacks or smoke inhalation, and can provide a brief burst of energy." msgstr "" +#: lang/json/TOOL_from_json.py +msgid "oxygen cylinder" +msgid_plural "oxygen cylinders" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for oxygen cylinder +#: lang/json/TOOL_from_json.py +msgid "" +"A large steel cylinder used for storing pressurized gas. It is marked with " +"a faded, but legible O2 symbol." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "nitrogen tank" msgid_plural "nitrogen tanks" @@ -67650,7 +70624,7 @@ msgstr[1] "" #. ~ Description for sponge #: lang/json/TOOL_from_json.py msgid "" -"A sponge is a tool or cleaning aid made of soft, porous material. Typically " +"A sponge is a tool or cleaning aid made of soft, porous material. Typically " "used for cleaning impervious surfaces." msgstr "" @@ -68567,7 +71541,7 @@ msgstr "" msgid "" "This is a home-made explosive device, consisting of a large plastic jug " "filled with black gunpowder and scrap metal, equipped with a long fuse. Use " -"this item to light the fuse. Should explode in a few minutes..." +"this item to light the fuse. Should explode in a few minutes…" msgstr "" #: lang/json/TOOL_from_json.py @@ -68703,11 +71677,13 @@ msgstr[0] "" msgstr[1] "" #. ~ Use action menu_text for torch. +#. ~ Use action menu_text for everburning torch. #: lang/json/TOOL_from_json.py msgid "Light torch" msgstr "" #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "You light the torch." msgstr "" @@ -68721,6 +71697,7 @@ msgid "" msgstr "" #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "The torch is extinguished." msgstr "" @@ -69089,38 +72066,6 @@ msgid_plural "hobo stoves" msgstr[0] "" msgstr[1] "" -#. ~ Use action msg for hobo stove. -#: lang/json/TOOL_from_json.py -msgid "The hobo stove is lit." -msgstr "" - -#. ~ Use action need_fire_msg for hobo stove. -#: lang/json/TOOL_from_json.py src/iuse.cpp -#: src/iuse.cpp src/iuse_actor.cpp -msgid "You need a source of fire!" -msgstr "" - -#. ~ Description for hobo stove -#. ~ Description for hobo stove (lit) -#: lang/json/TOOL_from_json.py -msgid "" -"This is a small improvised wood stove, made from a metal can or similar " -"container of the right size. Useful for defrosting and reheating food, uses " -"simple tinder." -msgstr "" - -#: lang/json/TOOL_from_json.py -msgid "hobo stove (lit)" -msgid_plural "hobo stoves (lit)" -msgstr[0] "" -msgstr[1] "" - -#. ~ Use action msg for hobo stove (lit). -#. ~ Use action msg for ember carrier (lit). -#: lang/json/TOOL_from_json.py -msgid "The ember is extinguished." -msgstr "" - #: lang/json/TOOL_from_json.py msgid "ember carrier" msgid_plural "ember carriers" @@ -69132,6 +72077,11 @@ msgstr[1] "" msgid "You light the tinder." msgstr "" +#. ~ Use action need_charges_msg for ember carrier. +#: lang/json/TOOL_from_json.py +msgid "The ember carrier is out of tinder." +msgstr "" + #. ~ Use action need_fire_msg for ember carrier. #: lang/json/TOOL_from_json.py msgid "You need a lighter or fire to light this." @@ -69294,8 +72244,8 @@ msgstr[1] "" #. ~ Description for grip hook #: lang/json/TOOL_from_json.py msgid "" -"A simple steel meathook with a circular steel handle. Makes a passable melee " -"weapon." +"A simple steel meathook with a circular steel handle. Makes a passable " +"melee weapon." msgstr "" #: lang/json/TOOL_from_json.py @@ -69635,7 +72585,7 @@ msgstr "" #. ~ Description for inactive TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M16A4. Using this item " +"This is an inactive TALON UGV equipped with an M16A4. Using this item " "involves loading the unit with the factory-loaded 5.56x45mm rounds in your " "inventory (if you wish to divide your ammunition, set aside whatever " "5.56x45mm you do NOT want to give the robot) turning it on, and placing it " @@ -69653,7 +72603,7 @@ msgstr[1] "" #. ~ Description for inactive M202A1 TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M202A1. Using this item " +"This is an inactive TALON UGV equipped with an M202A1. Using this item " "involves loading the unit with the M235 rockets in your inventory (if you " "wish to divide your ammunition, set aside whatever M235 rockets you do NOT " "want to give the robot) turning it on, and placing it on the ground. If " @@ -69743,9 +72693,9 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "" "This is a deactivated broken cyborg, the last shreds of its humanity still " -"rotting away. Using this item involves placing it on the ground and " +"rotting away. Using this item involves placing it on the ground and " "reactivating its mechanical body. If reprogrammed and rewired successfully " -"the cyborg will then follow you and attack enemies. You monster." +"the cyborg will then follow you and attack enemies. You monster." msgstr "" #: lang/json/TOOL_from_json.py @@ -69797,7 +72747,7 @@ msgstr "" #. ~ Description for inactive chicken walker #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive chicken walker. Using this item involves placing it on " +"This is an inactive chicken walker. Using this item involves placing it on " "the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm " "cartridge grenades in your inventory (if you wish to divide your ammunition, " "set aside whatever ammunition you do NOT want to give the robot) and turning " @@ -69826,8 +72776,8 @@ msgstr "" #. ~ Description for inactive police bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive police robot. Using this item involves placing it on the " -"ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive police robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "police bot will then identify you as law enforcement, roam around or follow " "you, and attempt to detain lawbreakers." msgstr "" @@ -69853,7 +72803,7 @@ msgstr "" #. ~ Description for inactive eyebot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive eyebot. Using this item involves turning it on and " +"This is an inactive eyebot. Using this item involves turning it on and " "launching the UAV. If reprogrammed and rewired successfully the eyebot will " "then keep watch for intruders." msgstr "" @@ -69877,7 +72827,7 @@ msgstr "" #. ~ Description for inactive cleaner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive cleaner bot. Using this item involves placing it on the " +"This is an inactive cleaner bot. Using this item involves placing it on the " "ground and turning it on. If reprogrammed and rewired successfully the " "cleaner bot will respond to future commands." msgstr "" @@ -69901,8 +72851,8 @@ msgstr "" #. ~ Description for inactive miner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive mining robot. Using this item involves placing it on the " -"ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive mining robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "miner bot will respond to future commands." msgstr "" @@ -69925,9 +72875,9 @@ msgstr "" #. ~ Description for inactive riot control bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive riot control bot. Using this item involves placing it on " -"the ground and turning it on. If reprogrammed and rewired successfully the " -"robot will bring order and peace to the horde." +"This is an inactive riot control bot. Using this item involves placing it " +"on the ground and turning it on. If reprogrammed and rewired successfully " +"the robot will bring order and peace to the horde." msgstr "" #: lang/json/TOOL_from_json.py @@ -69949,7 +72899,7 @@ msgstr "" #. ~ Description for inactive skitterbot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive skitterbot. Using this item involves placing it on the " +"This is an inactive skitterbot. Using this item involves placing it on the " "ground and turning it on. If reprogrammed and rewired successfully the " "robot will race towards enemies and shock them." msgstr "" @@ -70003,7 +72953,7 @@ msgstr "" #. ~ Description for inactive tank drone #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " +"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " "it on the ground, loading the unit with the factory-loaded 5.56 rounds and " "40mm cartridge grenades in your inventory (if you wish to divide your " "ammunition, set aside whatever ammunition you do NOT want to give the robot) " @@ -70033,8 +72983,8 @@ msgstr "" #. ~ Description for inactive tripod #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Honda Regnal. Using this item involves placing it on the " -"ground, wondering how it fuels its flamethrower and turning it on. If " +"This is an inactive Honda Regnal. Using this item involves placing it on " +"the ground, wondering how it fuels its flamethrower and turning it on. If " "reprogrammed and rewired successfully the tribot will then identify you as " "an ally, roam around or follow you, and impale hostiles with its spiked " "cable weapons." @@ -70060,10 +73010,10 @@ msgstr "" #. ~ Description for inactive milspec searchlight #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive military-grade automated searchlight. Using this item " +"This is an inactive military-grade automated searchlight. Using this item " "involves placing it on the ground and turning it on. If reprogrammed and " "rewired successfully the searchlight will then identify you as an ally, " -"survey the area, and illuminate approaching hostiles. Seems to have an " +"survey the area, and illuminate approaching hostiles. Seems to have an " "unhealthy fascination with you." msgstr "" @@ -70384,7 +73334,7 @@ msgstr[1] "" msgid "" "This farming tool has been modified into an improvised weapon by rotating " "its blade 90 degrees, transforming it into a deadly giant blade on the end " -"of a stick. However it's quite fragile." +"of a stick. However it's quite fragile." msgstr "" #: lang/json/TOOL_from_json.py @@ -70483,6 +73433,21 @@ msgid "" "be deadly in either the right hands or when attached as a bayonet." msgstr "" +#: lang/json/TOOL_from_json.py +msgid "modified combat knife" +msgid_plural "modified combat knives" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for modified combat knife +#: lang/json/TOOL_from_json.py +msgid "" +"This is a military combat knife. It is light and extremely sharp, and could " +"be deadly in either the right hands or when attached as a bayonet. This one " +"was modified and customized to mount on pretty much any weapon other than " +"pistols, if you so want." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hunting knife" msgid_plural "hunting knives" @@ -70805,6 +73770,21 @@ msgid "" "of a firearm or crossbow converting it into a pike." msgstr "" +#: lang/json/TOOL_from_json.py +msgid "modified sword bayonet" +msgid_plural "modified sword bayonets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for modified sword bayonet +#: lang/json/TOOL_from_json.py +msgid "" +"A sword bayonet is a large slashing weapon that can be attached to the front " +"of a firearm or crossbow converting it into a pike. This one was modified " +"and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" + #. ~ Description for tanto #: lang/json/TOOL_from_json.py msgid "" @@ -70903,6 +73883,57 @@ msgid "" "light for its size." msgstr "" +#: lang/json/TOOL_from_json.py +msgid "electrified foil" +msgid_plural "electrified foils" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for electrified foil +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing foil may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "electrified épée" +msgid_plural "electrified épées" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for electrified épée +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing épée may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "electrified saber" +msgid_plural "electrified sabers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for electrified saber +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing saber may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired to the tip along the saber's groove. Thrusting the " +"sharpened tip into a foe and activating the momentary switch will deliver a " +"painful electric shock." +msgstr "" + #. ~ Description for broadsword #: lang/json/TOOL_from_json.py msgid "" @@ -71245,6 +74276,34 @@ msgid "" "reinforce plastic items." msgstr "" +#: lang/json/TOOL_from_json.py +msgid "synthetic fabric" +msgid_plural "synthetic fabrics" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for synthetic fabric +#: lang/json/TOOL_from_json.py +msgid "" +"This is small bolt of synthetic fabric. Unlike you and other natural " +"materials, it won't degrade much with age. Maybe that's less of a bad thing " +"now." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "lycra patch" +msgid_plural "lycra patches" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lycra patch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small bolt of a synthetic fabric blended with stretchy lycra " +"fibers. It could be used to make flexible yet strong clothing. Stylish, " +"but bad for the environment; at least you're recycling it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hexamine stove" msgid_plural "hexamine stoves" @@ -71713,8 +74772,7 @@ msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "" "This is a radio with a transmitting unit. You could use it to contact " -"someone who also has one. Unfortunately no one seems to use those " -"nowadays..." +"someone who also has one. Unfortunately no one seems to use those nowadays…" msgstr "" #: lang/json/TOOL_from_json.py @@ -71881,7 +74939,7 @@ msgstr[1] "" #. ~ Description for microscope #: lang/json/TOOL_from_json.py msgid "" -"A classic tool for the ages! This hefty, durable piece of lab equipment " +"A classic tool for the ages! This hefty, durable piece of lab equipment " "makes small things look bigger. Without electricity the light doesn't work, " "but the rest of it is surprisingly functional. Unfortunately it's not " "useful for very much at the moment." @@ -72074,7 +75132,7 @@ msgstr[1] "" msgid "" "A long, thick, heavy-duty cable with power leads on either end. It looks " "like you could use it to hook up two vehicles to each other, though you " -"expect the power loss would be noticeable. Can also link other electrical " +"expect the power loss would be noticeable. Can also link other electrical " "systems." msgstr "" @@ -72455,12 +75513,116 @@ msgid "" "to a potato." msgstr "" +#: lang/json/TOOL_from_json.py +msgid "heat cube" +msgid_plural "heat cubes" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for heat cube. +#: lang/json/TOOL_from_json.py +msgid "Activate torch mode" +msgstr "" + +#. ~ Use action msg for heat cube. +#: lang/json/TOOL_from_json.py +msgid "" +"You push the torch button and the cube emits a large flame from the top, one " +"that does radiate heat, but won't burn anything." +msgstr "" + +#. ~ Description for heat cube +#: lang/json/TOOL_from_json.py +msgid "" +"A smooth steel cube the size of your fist. Several buttons on the sides " +"activate the powers of the cube." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "heat cube (torch on)" +msgid_plural "heat cubes (torch on)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for heat cube (torch on). +#: lang/json/TOOL_from_json.py +msgid "The torch flame is extinguished." +msgstr "" + +#. ~ Description for heat cube (torch on) +#: lang/json/TOOL_from_json.py +msgid "" +"The heat cube in the torch configuration, where it emits warmth and a bright " +"flame that does not burn." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "skeleton key of opening" +msgid_plural "skeleton key of opening" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for skeleton key of opening +#: lang/json/TOOL_from_json.py +msgid "" +"A small gold skeleton key. You can activate it to unlock locked things." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "everburning torch" +msgid_plural "everburning torches" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for everburning torch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality engraved wooden torch. On command, the tip bursts " +"into flame and produces a fair amount of light. It will burn forever." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "enchanted tailor's kit" +msgid_plural "enchanted tailor's kits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for enchanted tailor's kit +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality, engraved steel kit with a variety of needles, some " +"plastic spools for thread, some small scissors, even a small heating element " +"for melting and joining plastic. Use a tailor's kit to customize your " +"clothing and armor. This uses your tailoring skill. It also contains one " +"of those magic spiders that constantly, if slowly, makes new thread." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "spider box" +msgid_plural "spider boxes" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for spider box +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small glass box that contains a spider that diligently works day " +"and night to produce silk thread that it stores in a reservoir you can open " +"and retrieve it from." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "Magic Wand" msgid_plural "Magic Wands" msgstr[0] "" msgstr[1] "" +#: lang/json/TOOL_from_json.py +msgid "Disposable Wand" +msgid_plural "Disposable Wands" +msgstr[0] "" +msgstr[1] "" + #: lang/json/TOOL_from_json.py msgid "minor wand of magic missile" msgid_plural "minor wands of magic missile" @@ -72623,6 +75785,168 @@ msgid_plural "greater wands of cone of cold" msgstr[0] "" msgstr[1] "" +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of magic missile" +msgid_plural "disposable minor wands of magic missile" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of magic missile +#. ~ Description for disposable lesser wand of magic missile +#. ~ Description for disposable greater wand of magic missile +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a " +"spell when activated. This wand casts magic missile." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of magic missile" +msgid_plural "disposable lesser wands of magic missile" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of magic missile" +msgid_plural "disposable greater wands of magic missile" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of fireball" +msgid_plural "disposable minor wands of fireball" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of fireball +#. ~ Description for disposable lesser wand of fireball +#. ~ Description for disposable greater wand of fireball +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a " +"spell when activated. This wand casts fireball." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of fireball" +msgid_plural "disposable lesser wands of fireball" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of fireball" +msgid_plural "disposable greater wands of fireball" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of mana beam" +msgid_plural "disposable minor wands of mana beam" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of mana beam +#. ~ Description for disposable lesser wand of mana beam +#. ~ Description for disposable greater wand of mana beam +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a " +"spell when activated. This wand casts mana beam." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of mana beam" +msgid_plural "disposable lesser wands of mana beam" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of mana beam" +msgid_plural "disposable greater wands of mana beam" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of point flare" +msgid_plural "disposable minor wands of point flare" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of point flare +#. ~ Description for disposable lesser wand of point flare +#. ~ Description for disposable greater wand of point flare +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a " +"spell when activated. This wand casts point flare." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of point flare" +msgid_plural "disposable lesser wands of point flare" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of point flare" +msgid_plural "disposable greater wands of point flare" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of hoary blast" +msgid_plural "disposable minor wands of hoary blast" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of hoary blast +#. ~ Description for disposable lesser wand of hoary blast +#. ~ Description for disposable greater wand of hoary blast +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a " +"spell when activated. This wand casts hoary blast." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of hoary blast" +msgid_plural "disposable lesser wands of hoary blast" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of hoary blast" +msgid_plural "disposable greater wands of hoary blast" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of cone of cold" +msgid_plural "disposable minor wands of cone of cold" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of cone of cold +#. ~ Description for disposable lesser wand of cone of cold +#. ~ Description for disposable greater wand of cone of cold +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a " +"spell when activated. This wand casts cone of cold." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of cone of cold" +msgid_plural "disposable lesser wands of cone of cold" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of cone of cold" +msgid_plural "disposable greater wands of cone of cold" +msgstr[0] "" +msgstr[1] "" + #: lang/json/TOOL_from_json.py msgid "owlbear gastrolith" msgid_plural "owlbear gastroliths" @@ -73284,12 +76608,6 @@ msgid "" "This is a stick that has been cut into a trigger mechanism for a snare trap." msgstr "" -#: lang/json/TOOL_from_json.py -msgid "Laevateinn" -msgid_plural "Laevateinns" -msgstr[0] "" -msgstr[1] "" - #. ~ Description for Laevateinn #: lang/json/TOOL_from_json.py msgid "" @@ -74456,6 +77774,17 @@ msgid "" "terribly when not on a rail." msgstr "" +#: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py +msgid "pair of small rail wheels" +msgstr "" + +#. ~ Description for pair of small rail wheels +#: lang/json/WHEEL_from_json.py +msgid "" +"A pair of small rail wheels. It fits small railroad rails found in places " +"like amusement parks. Mostly for hobby purposes rather then transportation." +msgstr "" + #: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py msgid "motorbike wheel" msgstr "" @@ -74815,6 +78144,10 @@ msgstr "" msgid "cranking" msgstr "" +#: lang/json/activity_type_from_json.py +msgid "heating" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "de-stressing" msgstr "" @@ -75098,6 +78431,10 @@ msgstr "" msgid "pebbles" msgstr "" +#: lang/json/ammunition_type_from_json.py +msgid "rocks" +msgstr "" + #: lang/json/ammunition_type_from_json.py msgid "shotcanisters" msgstr "" @@ -75452,7 +78789,7 @@ msgstr "" #. ~ Description for Alloy Plating - Arms #: lang/json/bionic_from_json.py msgid "" -"The flesh on your arms has been surgically replaced by alloy plating. " +"The flesh on your arms has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" @@ -75487,7 +78824,7 @@ msgstr "" #. ~ Description for Alloy Plating - Legs #: lang/json/bionic_from_json.py msgid "" -"The flesh on your legs has been surgically replaced by alloy plating. " +"The flesh on your legs has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" @@ -75783,15 +79120,20 @@ msgstr "" #. ~ Description for Ethanol Burner #: lang/json/bionic_from_json.py -msgid "" -"You burn alcohol as fuel in an extremely efficient reaction. However, you " -"will still suffer the inebriating effects of the substance." +msgid "You burn alcohol as fuel in an extremely efficient reaction." msgstr "" #: lang/json/bionic_from_json.py msgid "Aero-Evaporator" msgstr "" +#. ~ Description for Aero-Evaporator +#: lang/json/bionic_from_json.py +msgid "" +"This unit draws moisture from the surrounding air, which slowly trickles " +"directly into your blood stream. It may fail in very dry environments." +msgstr "" + #: lang/json/bionic_from_json.py msgid "Diamond Cornea" msgstr "" @@ -75888,7 +79230,7 @@ msgid "" "You don't think that capacitor is *meant* to glow, but it does, and usually " "at bad times. A malfunctioning bionic randomly turns on and off, causing " "you to glow and making you visible in the dark without improving how much " -"you can see in the slighest." +"you can see in the slightest." msgstr "" #: lang/json/bionic_from_json.py @@ -76026,10 +79368,10 @@ msgid "" msgstr "" #: lang/json/bionic_from_json.py -msgid "Mini-Flamethrower" +msgid "Finger Lighter" msgstr "" -#. ~ Description for Mini-Flamethrower +#. ~ Description for Finger Lighter #: lang/json/bionic_from_json.py msgid "" "The index fingers of both hands have powerful fire starters which extend " @@ -76056,8 +79398,8 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "Surgically embedded in your right hand is a powerful electromagnet, allowing " -"you to indiscriminately pull all nearby magnetic objects towards you. " -"Unlucky bystanders might be injured or killed by flying objects." +"you to use your own strength to pull all nearby magnetic objects towards " +"you. Unlucky bystanders might be injured or killed by flying objects." msgstr "" #: lang/json/bionic_from_json.py @@ -76116,14 +79458,21 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "Inside your body is a fleet of tiny dormant robots. While activated they " -"will flit about your body, repairing damage at 1 HP/s and stopping bleeding " -"at the cost of power." +"will flit about your body, repairing damage at 1 HP per minute and stopping " +"bleeding at the cost of extra power and stored calories." msgstr "" #: lang/json/bionic_from_json.py msgid "Artificial Night Generator" msgstr "" +#. ~ Description for Artificial Night Generator +#: lang/json/bionic_from_json.py +msgid "" +"When active, this bionic eliminates all light within a 2 tile radius through " +"destructive interference." +msgstr "" + #: lang/json/bionic_from_json.py msgid "Implanted Night Vision" msgstr "" @@ -76146,7 +79495,7 @@ msgstr "" msgid "" "You're really not sure how the CBM ended up in your nose, but no matter how " "it got there this badly misplaced bionic makes it difficult to breathe. " -"Increases mouth encumbrance by one." +"Increases mouth encumbrance by ten." msgstr "" #: lang/json/bionic_from_json.py @@ -76177,7 +79526,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "Due to a badly misplaced dielectric stylette, you are now suffering from " -"mild optic neuropathy. Increases eye encumbrance by one." +"mild optic neuropathy. Increases eye encumbrance by ten." msgstr "" #: lang/json/bionic_from_json.py @@ -76210,7 +79559,7 @@ msgstr "" #. ~ Description for Power Storage #: lang/json/bionic_from_json.py msgid "" -"A Compact Bionics Module that increases your power capacity by 100 units. " +"A Compact Bionics Module that increases your power capacity by 100 kJ. " "Having at least one of these is a prerequisite to using powered bionics. " "You will also need a power supply, found in various CBMs." msgstr "" @@ -76221,8 +79570,7 @@ msgstr "" #. ~ Description for Power Storage Mk. II #: lang/json/bionic_from_json.py -msgid "" -"A Compact Bionics Module that increases your power capacity by 250 units." +msgid "A Compact Bionics Module that increases your power capacity by 250 kJ." msgstr "" #. ~ Description for Power Overload @@ -76495,7 +79843,7 @@ msgstr "" msgid "" "Self-locking thumbs hold tight (even when you really don't want them to) and " "don't let go (even when you'd rather they did). Increases hand encumbrance " -"by two, while failing to improve your ability to hold objects whatsoever." +"by ten, while failing to improve your ability to hold objects whatsoever." msgstr "" #: lang/json/bionic_from_json.py @@ -76623,8 +79971,8 @@ msgstr "" #. ~ Description for Gasoline Fuel Cell CBM #: lang/json/bionic_from_json.py msgid "" -"A small gasoline fuel cell fixed to your scapula. Despite its limited energy " -"output compared to other fuel cells, this device still produces a " +"A small gasoline fuel cell fixed to your scapula. Despite its limited " +"energy output compared to other fuel cells, this device still produces a " "significant amount of heat dissipated through a heat exhaust protruding from " "your back. A diffuse network of bio-plastic bladders has been meshed with " "your circulatory system and serves as a fuel tank." @@ -76677,7 +80025,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "A set of highly sensitive sensors is installed in your mouth, and a small " -"yet sophisticated analyzer is installed in the cavity of your skull. The " +"yet sophisticated analyzer is installed in the cavity of your skull. The " "active bionic will nullify the taste of all comestibles with negative " "enjoyment value at the cost of draining bionic power." msgstr "" @@ -76868,6 +80216,7 @@ msgstr "" #: lang/json/bodypart_from_json.py #: src/armor_layers.cpp src/character.cpp src/debug_menu.cpp +#: src/debug_menu.cpp msgid "Torso" msgstr "" @@ -76887,6 +80236,7 @@ msgstr "" #: lang/json/bodypart_from_json.py #: src/armor_layers.cpp src/character.cpp src/debug_menu.cpp +#: src/debug_menu.cpp msgid "Head" msgstr "" @@ -77370,6 +80720,18 @@ msgstr "" msgid "Make Woodchip Floor" msgstr "" +#: lang/json/construction_from_json.py +msgid "Make Gravel Floor" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Straight Small Railroad Track" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Diagonal Small Railroad Track" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Wooden Floor" msgstr "" @@ -77482,6 +80844,14 @@ msgstr "" msgid "Needs to be supported on both sides by fencing, walls, etc." msgstr "" +#: lang/json/construction_from_json.py +msgid "Build Screen Door" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Screen Mesh Wall" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Chickenwire Fence" msgstr "" @@ -77522,6 +80892,10 @@ msgstr "" msgid "Build Bookcase" msgstr "" +#: lang/json/construction_from_json.py +msgid "Build Entertainment Center" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Locker" msgstr "" @@ -77554,6 +80928,10 @@ msgstr "" msgid "Place Table" msgstr "" +#: lang/json/construction_from_json.py +msgid "Build Coffee Table" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Workbench" msgstr "" @@ -78004,6 +81382,10 @@ msgstr "" msgid "Build a radio tower console." msgstr "" +#: lang/json/construction_from_json.py +msgid "Build Log Stool" +msgstr "" + #: lang/json/construction_from_json.py msgid "Convert Fridge Power Supply" msgstr "" @@ -78699,6 +82081,42 @@ msgstr "" msgid "You dream of bees fighting over your sweet nectar. Mmm." msgstr "" +#: lang/json/dream_from_json.py +msgid "" +"How grand it would be to sink your roots deep into the soil as the seasons " +"pass you by." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "You dream of a gigantic knot of roots, beating like a heart." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "You have a disturbing dream of termites chewing all over your body." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of sharing your roots with a vast forest, all plants provided for " +"as the canopy grows ever upwards." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "A family of caterpillars munches away at your leaves." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"Fire rages around you, licking at your bark and engulfing the saplings and " +"bushes near your roots. The once chatty forest is quiet in its wake." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of communing with an ancient pine. Trees are the true survivors " +"of this world, it tells you." +msgstr "" + #: lang/json/dream_from_json.py msgid "" "A rather attractive triffid offers you a bouquet of ape heads. How " @@ -79963,6 +83381,25 @@ msgstr "" msgid "You tremble" msgstr "" +#: lang/json/effects_from_json.py +msgid "Seizure" +msgstr "" + +#. ~ Description of effect 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles have seized up, and you can't control them!" +msgstr "" + +#. ~ Remove message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "You regain control of your muscles!" +msgstr "" + +#. ~ Miss message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles won't cooperate!" +msgstr "" + #: lang/json/effects_from_json.py msgid "Bleeding" msgstr "" @@ -80861,6 +84298,26 @@ msgstr "" msgid "Your metabolism becomes more stable." msgstr "" +#: lang/json/effects_from_json.py +msgid "Concerning symptoms" +msgstr "" + +#. ~ Description of effect 'Concerning symptoms'. +#: lang/json/effects_from_json.py +msgid "Your muscles keep twitching strangely." +msgstr "" + +#: lang/json/effects_from_json.py +msgid "Unnerving symptoms" +msgstr "" + +#. ~ Description of effect 'Unnerving symptoms'. +#: lang/json/effects_from_json.py +msgid "" +"Your nervous system is malfunctioning, almost like it's being torn apart " +"from the inside." +msgstr "" + #: lang/json/effects_from_json.py msgid "Lit up" msgstr "" @@ -81106,6 +84563,17 @@ msgstr "" msgid "You've been struck by lightning, and feel... different." msgstr "" +#: lang/json/effects_from_json.py +msgid "Grown of Fusion" +msgstr "" + +#. ~ Description of effect 'Grown of Fusion'. +#: lang/json/effects_from_json.py +msgid "" +"AI effect to increase stats after fusing with another critter. 1 stack means " +"one absorbed max_hp." +msgstr "" + #: lang/json/effects_from_json.py msgid "Religious Offense" msgstr "" @@ -81713,6 +85181,191 @@ msgid "" "the commotion." msgstr "" +#: lang/json/epilogue_from_json.py +msgid "" +" Became a hunter after your death, living alone in the woods. Traced " +"back to his cabin, he was murdered and devoured in his sleep by an actual " +"cannibal." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived for many years, and became a renowned scavenger, eventually " +"setting up a small shop in a Free Merchant outpost. Survived by two sons, " +"he died after a rare artifact poisoned his blood with acid." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered and scavenged the land for years after your death, " +"eventually becoming a skilled mechanic. Employed by the Free Merchants, he " +"lived a comfortable, if rather uneventful life, dying of cancer, a rare " +"luxury these days." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became truly depressed after your death and hid in the woods. If " +"rumors are to be believed, he spent years living as a deranged hermit in a " +"distant cave, worshiping stones and sacrificing dogs." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" After your death, he became obsessed with preserving old knowledge and " +"eventually became known as 'the lorekeeper'. Hired by the Old Guard as a " +"librarian, he spent his life amongst dusty old books, trying to convince " +"others of their value. He even changed his name to Frederic Bastiat, in " +"honor of an old French philosopher." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He found faith after your death, eventually joining an Anglican " +"community and becoming a Vicar. The crucifix provided him with a sense of " +"meaning, before dying horribly at the hands of raiders. He was still " +"praying when they roasted him alive." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Lost and damned, he joined a bloody cult after your death, kidnapping " +"and sacrificing young women. His entire group was killed after being " +"discovered by the Old Guard. His head was put on a spike as a reminder that " +"cultists will not be tolerated." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He did not survive for long after your death. Electrocuted in an old " +"cellar, he kept screaming your name. His body was never found." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived you by just a few days, he drowned trying to escape from a " +"horde." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered alone for days, before finding a Free Merchant outpost. He " +"spent a few years as a caravan guard, often drinking himself half blind and " +"enjoying any woman he could find. Booze made his grip unsteady and he was " +"eventually fired. He died of alcohol poisoning the same day." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with the idea of settling down, he eventually found love and " +"retired to a farm in the middle of nowhere. Relatively safe from the " +"monsters, he thrived for years. Survived by seven sons and two daughters." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became famous in the wastes after finding an old brewery and copying " +"their recipe. His chilled beer, a known delicacy, is traded far and wide by " +"the Free Merchants." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Found a whole cellar of single malt whisky. Drank himself to death." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed after your death, he would hang himself after just a few days." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Wandered for months, before finding a small community that would accept " +"him. Became a farmer and spent the rest of his uneventful life tending to " +"crops, glad that he was no longer alone." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with finding 'the Cure', he died a few weeks later in an old " +"lab, torn to shreds by a security turret." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a runner for the Refugee Center and died after a few months." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a raider gang and died in a firefight a few weeks later, trying " +"to rob a Free Merchant caravan." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, he eventually found an intact baseball field and built " +"a prosperous farming community there." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He spent the rest of his short life looking for a new fix. Died of an " +"overdose in an abandoned basement." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a small fishing village. Died a few years " +"later in a raider attack, alongside his young son." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Thoroughly terrified by your death, he retired to an old LMOE shelter, " +"vowing never to leave. He died of starvation inside." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He became a very prosperous game hunter, trading meat and furs, and " +"providing many settlements with food in exchange for booze and male " +"company. He died years later of an STD." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Retired to the woods, he spent the rest of his life fishing and hunting " +"in a desolate cabin, rarely interacting with anyone else." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Died en route to California, deliriously dreaming of a better life as " +"he was slowly devoured by spiders." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He tried to cope with loneliness after your death, but failed. He was " +"blind drunk when a group of zombies found his hideout and didn't stand a " +"chance." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He didn't survive for long, waking up to a horde of zombies. They " +"smashed through his fortified windows in a pinch and only the last bullet " +"prevented him from being devoured alive." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He got sick soon after your death, and died without any medical help. " +"His last words were 'Why did I live long enough to suffer like that?'" +msgstr "" + #: lang/json/epilogue_from_json.py msgid "" " Committed suicide rather than fall into the hands of the Hell's " @@ -81932,6 +85585,167 @@ msgid "" "weeks after being dragged to her cell she died from dehydration." msgstr "" +#: lang/json/epilogue_from_json.py +msgid "" +" Shot by the Old Guard a few weeks later, hunted down after she robbed " +"an important caravan." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, she eventually found a quiet community there and spent " +"the rest of her life farming. She's survived by four daughters." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a runner for the Old Guard and was eventually permitted to " +"join. She spent the rest of her life hunting raiders. She died in a " +"skirmish after a few years, sacrificing her life to let her unit retreat. " +"Her name is venerated in songs and inscriptions." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Shortly after your death she joined the Free Merchants, becoming a " +"caravan guard and after a few months became the new liaison in the Refugee " +"Center. She died a few years later of a mysterious illness." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She was found half-dead by the Old Guard who took her in. She became a " +"famous scavenger, known for finding an intact stash of experimental " +"antibiotics." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She retired to the forest, where she built her own cabin and spending " +"the rest of her life fishing." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Captured by raiders, she spent the rest of her miserable life as a " +"slave. Hopeless, she slit her wrists with a rusty knife." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed, she joined a protestant community and became a paragon of " +"virtue. Devoting her life to bible study, she spent the rest of her life in " +"relative peace." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Killed and devoured by a cannibal just a few days after your death, " +"hardly anyone remembers her name." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a renowned merchant after your death, she built her own outpost " +"in the west. An avid book collector, she established a great library to " +"keep the flame of knowledge burning." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled around for months before finding an old farm. She spent a few " +"years tending to her crops and living the life of a hermit before being " +"killed by raiders for fun." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a settlement there. She became a renowned " +"engineer, building the largest steam engine in New England." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a gang after your death, she spent months preying on the " +"innocent, before dying in a dispute with a fellow brute." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Devoured alive by a group of zombies, she kept thinking of you as she " +"died." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She found an abandoned APC and spent years traveling around and " +"collecting personal stories. She wrote one of the few post-apocalyptic " +"books, detailing the life after the end." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Kept wandering for years. Her life was cut short when a group of " +"raiders used her as a target practice." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a skilled game hunter and one of the best shots in the " +"wasteland. Years later she joined the Old Guard and was given the position " +"of Marshal." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Desperate to save humanity from extinction, she organized her own group " +"of survivors, whose job was to hunt bandits and decorate roads with their " +"mutilated bodies. She died in a skirmish a few months later." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became an arsonist, and was incinerated a few weeks later in a fire " +"she set." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She kept wandering for a few weeks but eventually died after drinking " +"untreated water." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She wandered north and joined a local community there. She became " +"known for her trapping skills and ensured that the locals always had fresh " +"meat on their tables." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She joined the Free Merchants and led their first caravan to Canada. " +"She died a few years later of dysentery." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She built a boat and sailed east towards Europe, hoping that it was not " +"affected by the apocalypse. She was never heard from again." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She led a doomsday cult for a few years, she was sacrificed to their " +"gods after a particularly terrible harvest." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became obsessed with chems, and died of an overdose a few months after " +"your death." +msgstr "" + #: lang/json/faction_from_json.py msgid "Your Followers" msgstr "" @@ -82083,10 +85897,10 @@ msgid "A small family surviving on their generational land." msgstr "" #: lang/json/faction_from_json.py -msgid "God's Community" +msgid "New England Church Community" msgstr "" -#. ~ Description for God's Community +#. ~ Description for New England Church Community #: lang/json/faction_from_json.py msgid "" "A small group of churchgoers that formed a community in the woods. They " @@ -82123,142 +85937,297 @@ msgstr "" msgid "Dusty" msgstr "" -#. ~ Description for Dusty +#. ~ description for fault 'Dusty' #: lang/json/fault_from_json.py -msgid "It's dusty. Has no effect - obsolete fault." +msgid "It's dusty. Has no effect - obsolete fault." +msgstr "" + +#. ~ name of mending method for fault 'Dusty' +#: lang/json/fault_from_json.py +msgid "Wipe clean" +msgstr "" + +#. ~ success message for mending method 'Wipe clean' of fault 'Dusty' +#. ~ success message for mending method 'Clean gun' of fault 'Fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean you %s." msgstr "" #: lang/json/fault_from_json.py msgid "Already deployed" msgstr "" -#. ~ Description for Already deployed +#. ~ description for fault 'Already deployed' #: lang/json/fault_from_json.py msgid "This bionic needs to be reset to its factory state." msgstr "" +#. ~ name of mending method for fault 'Already deployed' +#: lang/json/fault_from_json.py +msgid "Reset to factory state" +msgstr "" + +#. ~ success message for mending method 'Reset to factory state' of fault 'Already deployed' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully reset the %s to its factory state" +msgstr "" + #: lang/json/fault_from_json.py msgid "Blackpowder fouling" msgstr "" -#. ~ Description for Blackpowder fouling +#. ~ description for fault 'Blackpowder fouling' #: lang/json/fault_from_json.py msgid "" "Firing blackpowder loads from a gun fouls it, which reduces reliability and, " -"if left uncleaned, leads to rust. It fouls the gun much faster than the use " -"of modern smokeless powder cartridges. Fouling is only a significant impact " +"if left uncleaned, leads to rust. It fouls the gun much faster than the use " +"of modern smokeless powder cartridges. Fouling is only a significant impact " "on reliability at high levels, but black powder fouling accumulates quickly." msgstr "" +#. ~ name of mending method for fault 'Blackpowder fouling' +#: lang/json/fault_from_json.py +msgid "Clean blackpowder fouling" +msgstr "" + +#. ~ success message for mending method 'Clean blackpowder fouling' of fault 'Blackpowder fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean your %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Spent casing in chamber" msgstr "" -#. ~ Description for Spent casing in chamber +#. ~ description for fault 'Spent casing in chamber' #: lang/json/fault_from_json.py msgid "" "This gun currently has an empty casing chambered. It will have to be " "removed before firing." msgstr "" +#. ~ name of mending method for fault 'Spent casing in chamber' +#: lang/json/fault_from_json.py +msgid "Eject spent casing" +msgstr "" + +#. ~ success message for mending method 'Eject spent casing' of fault 'Spent casing in chamber' +#: lang/json/fault_from_json.py +#, python-format +msgid "You eject the spent casing from the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Fouling" msgstr "" -#. ~ Description for Fouling +#. ~ description for fault 'Fouling' #: lang/json/fault_from_json.py msgid "" "Fouling is caused by firing gunpowder loads repeatedly, which reduces " -"reliability and can eventually cause damage to the gun. Fouling accumulates " +"reliability and can eventually cause damage to the gun. Fouling accumulates " "slowly (unless blackpowder is used) due to the design of modern smokeless " "powder found in the vast majority of retail cartridges and it is not a " "significant problem until high levels of fouling are reached due to firing " "thousands of rounds without cleaning your firearm." msgstr "" +#. ~ name of mending method for fault 'Fouling' +#: lang/json/fault_from_json.py +msgid "Clean gun" +msgstr "" + #: lang/json/fault_from_json.py msgid "Worn drive belt" msgstr "" -#. ~ Description for Worn drive belt +#. ~ description for fault 'Worn drive belt' #: lang/json/fault_from_json.py msgid "Required for operation of an attached alternator." msgstr "" +#. ~ name of mending method for fault 'Worn drive belt' +#: lang/json/fault_from_json.py +msgid "Replace worn drive belt" +msgstr "" + +#. ~ success message for mending method 'Replace worn drive belt' of fault 'Worn drive belt' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the worn drive belt of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty glow plugs" msgstr "" -#. ~ Description for Faulty glow plugs +#. ~ description for fault 'Faulty glow plugs' #: lang/json/fault_from_json.py msgid "Help when starting an engine in low ambient temperatures." msgstr "" +#. ~ name of mending method for fault 'Faulty glow plugs' +#: lang/json/fault_from_json.py +msgid "Replace faulty glow plugs" +msgstr "" + +#. ~ success message for mending method 'Replace faulty glow plugs' of fault 'Faulty glow plugs' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty glow plugs of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Active immobiliser" msgstr "" -#. ~ Description for Active immobiliser +#. ~ description for fault 'Active immobiliser' #: lang/json/fault_from_json.py msgid "Prevents starting of the vehicle without the appropriate key." msgstr "" +#. ~ name of mending method for fault 'Active immobiliser' +#: lang/json/fault_from_json.py +msgid "Deactivate immobiliser" +msgstr "" + +#. ~ description for mending method 'Deactivate immobiliser' of fault 'Active immobiliser' +#: lang/json/fault_from_json.py +msgid "" +"Deactivate the immobiliser that is preventing the vehicle from starting." +msgstr "" + +#. ~ success message for mending method 'Deactivate immobiliser' of fault 'Active immobiliser' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully deactivate the immobiliser of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty diesel pump" msgstr "" -#. ~ Description for Faulty diesel pump +#. ~ description for fault 'Faulty diesel pump' #: lang/json/fault_from_json.py msgid "Required to pump and pressurize diesel from a vehicles tank." msgstr "" +#. ~ name of mending method for fault 'Faulty diesel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty diesel pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty diesel pump' of fault 'Faulty diesel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty diesel pump of the %s" +msgstr "" + #: lang/json/fault_from_json.py msgid "Expired air filter" msgstr "" -#. ~ Description for Expired air filter +#. ~ description for fault 'Expired air filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces fuel efficiency and increases smoke production." msgstr "" +#. ~ name of mending method for fault 'Expired air filter' +#: lang/json/fault_from_json.py +msgid "Replace expired air filter" +msgstr "" + +#. ~ success message for mending method 'Replace expired air filter' of fault 'Expired air filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired air filter of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Expired fuel filter" msgstr "" -#. ~ Description for Expired fuel filter +#. ~ description for fault 'Expired fuel filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces performance and increases the chance of backfires." msgstr "" +#. ~ name of mending method for fault 'Expired fuel filter' +#: lang/json/fault_from_json.py +msgid "Replace expired fuel filter" +msgstr "" + +#. ~ success message for mending method 'Replace expired fuel filter' of fault 'Expired fuel filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired fuel filter of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty fuel pump" msgstr "" -#. ~ Description for Faulty fuel pump +#. ~ description for fault 'Faulty fuel pump' #: lang/json/fault_from_json.py msgid "Required to pump gasoline from a vehicles tank." msgstr "" +#. ~ name of mending method for fault 'Faulty fuel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty fuel pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty fuel pump' of fault 'Faulty fuel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty fuel pump of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty water pump" msgstr "" -#. ~ Description for Faulty water pump +#. ~ description for fault 'Faulty water pump' #: lang/json/fault_from_json.py msgid "Required to pump water to an external radiator or heatsink." msgstr "" +#. ~ name of mending method for fault 'Faulty water pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty water pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty water pump' of fault 'Faulty water pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty water pump of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty starter motor" msgstr "" -#. ~ Description for Faulty starter motor +#. ~ description for fault 'Faulty starter motor' #: lang/json/fault_from_json.py msgid "Required to initially start the engine." msgstr "" +#. ~ name of mending method for fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +msgid "Replace faulty starter motor" +msgstr "" + +#. ~ success message for mending method 'Replace faulty starter motor' of fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty starter motor of %s." +msgstr "" + #: lang/json/field_type_from_json.py lang/json/overmap_terrain_from_json.py #: lang/json/overmap_terrain_from_json.py src/mapdata.cpp #: src/mapdata.cpp src/skill.cpp @@ -82746,6 +86715,10 @@ msgstr "" msgid "smoke vent" msgstr "" +#: lang/json/field_type_from_json.py +msgid "clairvoyance" +msgstr "" + #: lang/json/field_type_from_json.py msgid "dreadful presense" msgstr "" @@ -82772,13 +86745,11 @@ msgid "A big, blocky metal device for refrigerating large areas." msgstr "" #: lang/json/furniture_from_json.py -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py #: lang/json/terrain_from_json.py msgid "metal screeching!" msgstr "" #: lang/json/furniture_from_json.py -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py #: lang/json/terrain_from_json.py msgid "clang!" msgstr "" @@ -82881,6 +86852,51 @@ msgid "" "although it still has parts." msgstr "" +#: lang/json/furniture_from_json.py +msgid "document shredder" +msgstr "" + +#. ~ Description for document shredder +#: lang/json/furniture_from_json.py +msgid "" +"It's not all about hiding government secrets, sometimes you just want to " +"stop identity theft." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "server stack" +msgstr "" + +#. ~ Description for server stack +#: lang/json/furniture_from_json.py +msgid "This is a big pile of computers. They're all turned off." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "large satellite dish" +msgstr "" + +#. ~ Description for large satellite dish +#: lang/json/furniture_from_json.py +msgid "" +"Somewhere up there, there are still satellites, orbiting and doing their " +"thing, sending signals down to an Earth that is no longer listening." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "mounted solar panel" +msgstr "" + +#. ~ Description for mounted solar panel +#: lang/json/furniture_from_json.py +msgid "A mounted solar panel." +msgstr "" + +#: lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py +msgid "whack!" +msgstr "" + #: lang/json/furniture_from_json.py msgid "road barricade" msgstr "" @@ -82893,12 +86909,11 @@ msgstr "" #: lang/json/furniture_from_json.py #: lang/json/terrain_from_json.py #: lang/json/terrain_from_json.py src/map.cpp -#: src/mapdata.cpp +#: src/mapdata.cpp src/vehicle_move.cpp msgid "smash!" msgstr "" #: lang/json/furniture_from_json.py -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py #: lang/json/terrain_from_json.py msgid "whump." msgstr "" @@ -82952,6 +86967,114 @@ msgstr "" msgid "A sandbag wall." msgstr "" +#: lang/json/furniture_from_json.py +msgid "standing mirror" +msgstr "" + +#. ~ Description for standing mirror +#: lang/json/furniture_from_json.py +msgid "Lookin' good - is that blood?" +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "glass breaking" +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "broken standing mirror" +msgstr "" + +#. ~ Description for broken standing mirror +#: lang/json/furniture_from_json.py +msgid "" +"You could look at yourself, if the mirror wasn't covered in cracks and " +"fractures." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bitts" +msgstr "" + +#. ~ Description for bitts +#: lang/json/furniture_from_json.py +msgid "" +"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " +"to secure mooring lines, ropes, hawsers, or cables." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "manacles" +msgstr "" + +#. ~ Description for manacles +#: lang/json/furniture_from_json.py +msgid "" +"Chain serfs in your dungeon. All you need now is an iron ball to chain to " +"it." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "crack." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "statue" +msgstr "" + +#. ~ Description for statue +#: lang/json/furniture_from_json.py +msgid "A carved statue made of stone." +msgstr "" + +#: lang/json/furniture_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "thump." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "mannequin" +msgstr "" + +#. ~ Description for mannequin +#: lang/json/furniture_from_json.py +msgid "" +"Put clothes on it, talk to it. Who's around to judge you? Wait… did it " +"just move?" +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "birdbath" +msgstr "" + +#. ~ Description for birdbath +#: lang/json/furniture_from_json.py +msgid "A decorative cement birdbath and pedestal." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "rotary clothes dryer line" +msgstr "" + +#. ~ Description for rotary clothes dryer line +#: lang/json/furniture_from_json.py +msgid "A umbrella shaped clothes line mounted on a pole." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "floor lamp" +msgstr "" + +#. ~ Description for floor lamp +#: lang/json/furniture_from_json.py +msgid "A tall standing lamp, meant to plug into a wall and light up a room." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bonk!" +msgstr "" + #: lang/json/furniture_from_json.py msgid "indoor plant" msgstr "" @@ -83064,6 +87187,86 @@ msgid "" "be used for planting crops. This one contains a planted seedling" msgstr "" +#: lang/json/furniture_from_json.py +msgid "spider egg sack" +msgstr "" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Much too large, off-white egg sack. Kind of icky. Something IS moving in " +"there." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "splat!" +msgstr "" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " +"in there." +msgstr "" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"A horrifyingly oversized egg sack. Something IS moving in there. If you're " +"seeing this, you're already too close to it." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "ruptured egg sack" +msgstr "" + +#. ~ Description for ruptured egg sack +#: lang/json/furniture_from_json.py +msgid "Super icky. Spider stuff's spilling out." +msgstr "" + +#. ~ Description for swamp gas +#: lang/json/furniture_from_json.py +msgid "" +"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " +"toxic gas." +msgstr "" + +#: lang/json/furniture_from_json.py +#: src/ballistics.cpp src/map.cpp +msgid "splash!" +msgstr "" + +#. ~ Description for fog +#: lang/json/furniture_from_json.py +msgid "This is a misty cloud of fog." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "fake workbench hands" +msgstr "" + +#. ~ Description for fake workbench hands +#: lang/json/furniture_from_json.py +msgid "This fake workbench holds the stats for working on a wielded item." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "ground crafting spot" +msgstr "" + +#. ~ Description for ground crafting spot +#: lang/json/furniture_from_json.py +msgid "" +"A cleared spot on the ground for crafting. Slower than using a workbench or " +"holding a project in your hands, but readily available." +msgstr "" + +#. ~ Description for seeing this is a bug +#: lang/json/furniture_from_json.py +msgid "Seeing this is a bug. If seen, please report and destroy." +msgstr "" + #: lang/json/furniture_from_json.py msgid "fireplace" msgstr "" @@ -83232,7 +87435,7 @@ msgstr "" #: lang/json/furniture_from_json.py #: lang/json/terrain_from_json.py -#: src/iuse.cpp +#: lang/json/terrain_from_json.py src/iuse.cpp msgid "crunch!" msgstr "" @@ -83245,7 +87448,7 @@ msgstr "" msgid "" "This flower is like the other flowers taken by the mushrooms, but its bulb " "is colored a brilliant cyan color, and it emits an aroma both overwhelming " -"and... delicious?" +"and… delicious?" msgstr "" #: lang/json/furniture_from_json.py @@ -83282,19 +87485,109 @@ msgid "" msgstr "" #: lang/json/furniture_from_json.py -msgid "Autodoc Mk. XI" +msgid "stone slab" msgstr "" -#. ~ Description for Autodoc Mk. XI +#. ~ Description for stone slab +#: lang/json/furniture_from_json.py +msgid "A flat slab of heavy stone." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "headstone" +msgstr "" + +#. ~ Description for headstone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies." +msgstr "" + +#: lang/json/furniture_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +msgid "thump!" +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "gravestone" +msgstr "" + +#. ~ Description for gravestone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies. More fancy." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "worn gravestone" +msgstr "" + +#. ~ Description for worn gravestone +#: lang/json/furniture_from_json.py +msgid "A worn-out gravestone." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "obelisk" +msgstr "" + +#. ~ Description for obelisk +#: lang/json/furniture_from_json.py +msgid "Monument to pride." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "thunk!" +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "robotic assembler" +msgstr "" + +#. ~ Description for robotic assembler #: lang/json/furniture_from_json.py msgid "" -"A surgical apparatus used for installation and uninstallation of bionics. " -"It's only as skilled as its operator." +"A durable and versatile robotic arm with a tool fitted to the end, for " +"working on an assembly line." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "chemical mixer" +msgstr "" + +#. ~ Description for chemical mixer +#: lang/json/furniture_from_json.py +msgid "" +"When chemicals need to be mixed in large quantities at just the right " +"combinations and temperatures, this is the tool for the job." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "robotic arm" msgstr "" +#. ~ Description for robotic arm #: lang/json/furniture_from_json.py +msgid "" +"Automation! Science! Industry! Make a better horse! This robot arm " +"promises to do it all. Except it's currently unpowered. You could remove " +"the casing and retrieve the electronics through disassembly." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py #: lang/json/terrain_from_json.py -msgid "whack!" +msgid "thunk." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "Autodoc Mk. XI" +msgstr "" + +#. ~ Description for Autodoc Mk. XI +#: lang/json/furniture_from_json.py +msgid "" +"A surgical apparatus used for installation and uninstallation of bionics. " +"It's only as skilled as its operator." msgstr "" #: lang/json/furniture_from_json.py @@ -83581,8 +87874,9 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "This is a meaty green stalactite with a thickened hide like that of a " -"starfish, extending from the floor to the ceiling. In the center is a series " -"of ports somewhat like mouths, from which pour bursts of a vile smelling gas." +"starfish, extending from the floor to the ceiling. In the center is a " +"series of ports somewhat like mouths, from which pour bursts of a vile " +"smelling gas." msgstr "" #: lang/json/furniture_from_json.py @@ -83608,10 +87902,6 @@ msgid "" "out of injured vessels." msgstr "" -#: lang/json/furniture_from_json.py -msgid "splat!" -msgstr "" - #: lang/json/furniture_from_json.py msgid "slimy pod" msgstr "" @@ -83656,7 +87946,7 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "This pulsing protuberance juts from the floor, its sides covered in scaled, " -"oozing skin. The surface is flat, but undulates softly. A handful of " +"oozing skin. The surface is flat, but undulates softly. A handful of " "unidentifiable appendages reach from the sides, suggesting a sort of " "nightmarish living autodoc." msgstr "" @@ -83813,12 +88103,6 @@ msgid "" "your workout. Might have useful electronic parts in it." msgstr "" -#: lang/json/furniture_from_json.py -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp -msgid "thump!" -msgstr "" - #: lang/json/furniture_from_json.py msgid "treadmill" msgstr "" @@ -83827,7 +88111,7 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "Used for training leg muscles. It'll be extra hard without power. Could be " -"taken apart for its... parts." +"taken apart for its… parts." msgstr "" #: lang/json/furniture_from_json.py @@ -83853,7 +88137,7 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "The ol' ebony and ivory. Really classes up the place. You could take it " -"apart if you wanted... you monster." +"apart if you wanted… you monster." msgstr "" #: lang/json/furniture_from_json.py @@ -83864,6 +88148,18 @@ msgstr "" msgid "kerchang." msgstr "" +#: lang/json/furniture_from_json.py +msgid "speaker cabinet" +msgstr "" + +#. ~ Description for speaker cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A cabinet loaded with 12-inch speakers, intended to help make various things " +"loud. It can't serve its original purpose these days, but it could be " +"disassembled for various electronic parts." +msgstr "" + #: lang/json/furniture_from_json.py msgid "cell phone signal booster" msgstr "" @@ -83994,6 +88290,53 @@ msgstr "" msgid "stool" msgstr "" +#. ~ Description for camp chair +#: lang/json/furniture_from_json.py +msgid "Sit down, have a drink. It can folded for easy transportation." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "log stool" +msgstr "" + +#. ~ Description for log stool +#: lang/json/furniture_from_json.py +msgid "" +"A log tipped on its end with any rough edges cut off. Basically a very " +"simple seat." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bulletin board" +msgstr "" + +#. ~ Description for bulletin board +#: lang/json/furniture_from_json.py +msgid "" +"A big, cork bulletin board capable of sporting various notices. Pin some " +"notes for other survivors to read." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "sign" +msgstr "" + +#. ~ Description for sign +#: lang/json/furniture_from_json.py +msgid "Read it. Warnings ahead." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "warning sign" +msgstr "" + +#. ~ Description for warning sign +#: lang/json/furniture_from_json.py +msgid "" +"A triangle-shaped sign on a post meant to indicate something important or " +"hazard." +msgstr "" + #: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py msgid "bed" msgstr "" @@ -84032,7 +88375,7 @@ msgstr "" msgid "rrrrip!" msgstr "" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/furniture_from_json.py msgid "" "A comfortable feather down mattress has been tossed on the floor for " @@ -84066,6 +88409,15 @@ msgstr "" msgid "Stores books. Y'know, those things. Who reads books anymore?" msgstr "" +#: lang/json/furniture_from_json.py +msgid "entertainment center" +msgstr "" + +#. ~ Description for entertainment center +#: lang/json/furniture_from_json.py +msgid "Stores audio visual equipment, books and collectible." +msgstr "" + #: lang/json/furniture_from_json.py msgid "coffin" msgstr "" @@ -84111,6 +88463,22 @@ msgstr "" msgid "What's inside? Look in it!" msgstr "" +#. ~ Description for large cardboard box +#: lang/json/furniture_from_json.py +msgid "" +"A large cardboard box: this could be used to store things, or as a hiding " +"place." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "crumple!" +msgstr "" + +#: lang/json/furniture_from_json.py +#: src/ballistics.cpp +msgid "thud." +msgstr "" + #: lang/json/furniture_from_json.py msgid "cupboard" msgstr "" @@ -84264,6 +88632,27 @@ msgstr "" msgid "One man's trash is another man's dinner." msgstr "" +#: lang/json/furniture_from_json.py +msgid "wardrobe" +msgstr "" + +#. ~ Description for wardrobe +#: lang/json/furniture_from_json.py +msgid "A tall piece of furniture - basically a freestanding closet." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "filing cabinet" +msgstr "" + +#. ~ Description for filing cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " +"locked to protect important information. If you're lucky, there are often " +"keys nearby." +msgstr "" + #: lang/json/furniture_from_json.py msgid "utility shelf" msgstr "" @@ -84282,6 +88671,42 @@ msgstr "" msgid "A keg made mostly of wood. Holds liquids, preferably alcoholic." msgstr "" +#: lang/json/furniture_from_json.py +msgid "display case" +msgstr "" + +#. ~ Description for display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff fancily and securely." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "broken display case" +msgstr "" + +#. ~ Description for broken display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff. It'll get stolen." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "standing tank" +msgstr "" + +#. ~ Description for standing tank +#: lang/json/furniture_from_json.py +msgid "A large freestanding metal tank, useful for holding liquids." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "dumpster" +msgstr "" + +#. ~ Description for dumpster +#: lang/json/furniture_from_json.py +msgid "Stores trash. Doesn't get picked up anymore. Note the smell." +msgstr "" + #: lang/json/furniture_from_json.py msgid "counter" msgstr "" @@ -84353,7 +88778,7 @@ msgstr "" #. ~ Description for tourist table #: lang/json/furniture_from_json.py msgid "" -"Small metal folding table, ideal for off-road trips into the wild. Can be " +"Small metal folding table, ideal for off-road trips into the wild. Can be " "used as a workbench in a pinch." msgstr "" @@ -84367,269 +88792,200 @@ msgstr "" msgid "Sit down when you eat!" msgstr "" +#. ~ Description for table #: lang/json/furniture_from_json.py -msgid "forge" -msgstr "" - -#. ~ Description for forge -#: lang/json/furniture_from_json.py -msgid "Metalworking station typically used in combination with an anvil." -msgstr "" - -#. ~ Description for anvil -#: lang/json/furniture_from_json.py -msgid "Used in metalworking." -msgstr "" - -#. ~ Description for still -#: lang/json/furniture_from_json.py -msgid "" -"An essential component for brewing and chemistry that allows for refining " -"liquid mixtures." -msgstr "" - -#. ~ Description for charcoal kiln -#. ~ Description for filled charcoal kiln -#: lang/json/furniture_from_json.py -msgid "" -"A rock kiln designed to burn wood and organic material into charcoal in " -"absence of oxygen." +msgid "a low table for livingrooms." msgstr "" #: lang/json/furniture_from_json.py -msgid "metal charcoal kiln" +msgid "tatami mat" msgstr "" -#. ~ Description for metal charcoal kiln -#. ~ Description for filled metal charcoal kiln +#. ~ Description for tatami mat #: lang/json/furniture_from_json.py msgid "" -"A metal kiln designed to burn wood and organic material into charcoal in " -"absence of oxygen." +"A tatami is a type of mat used as a flooring material in traditional " +"Japanese-style rooms." msgstr "" #: lang/json/furniture_from_json.py -msgid "filled metal charcoal kiln" +msgid "pillow fort" msgstr "" -#. ~ Description for arc furnace -#. ~ Description for filled arc furnace +#. ~ Description for pillow fort #: lang/json/furniture_from_json.py -msgid "" -"An arc furnace designed to burn a powdery mix of coke and limestone to " -"create calcium carbide." +msgid "A comfy place to hide from the world. Not very defensible, though." msgstr "" #: lang/json/furniture_from_json.py -msgid "filled arc furnace" +msgid "paf!" msgstr "" #: lang/json/furniture_from_json.py -msgid "smoking rack" +msgid "cardboard fort" msgstr "" -#. ~ Description for smoking rack -#. ~ Description for metal smoking rack -#. ~ Description for active metal smoking rack +#. ~ Description for cardboard fort #: lang/json/furniture_from_json.py msgid "" -"A special rack designed to smoke food for better preservation and taste." +"A fort built by tipping a cardboard box on its side, lining it with " +"blankets, and partly weather sealing it with a plastic sheet." msgstr "" #: lang/json/furniture_from_json.py -msgid "active smoking rack" +msgid "cardboard wall" msgstr "" -#. ~ Description for active smoking rack +#. ~ Description for cardboard wall #: lang/json/furniture_from_json.py msgid "" -"A special rack designed to smoke food for better preservation and taste. It " -"is lit and smoking." +"This is a pile of cardboard boxes that have been filled with rags and junk " +"and stacked together like bricks to form a wall." msgstr "" #: lang/json/furniture_from_json.py -msgid "active metal smoking rack" +msgid "beaded curtain" msgstr "" +#. ~ Description for beaded curtain #: lang/json/furniture_from_json.py -msgid "rock forge" +msgid "This beaded curtain could be pulled aside." msgstr "" -#. ~ Description for rock forge #: lang/json/furniture_from_json.py -msgid "" -"Metalworking station made of rock, typically used in combination with an " -"anvil." +msgid "clickity clack… clack… clack" msgstr "" #: lang/json/furniture_from_json.py -msgid "clay kiln" +msgid "clickity clack… clack" msgstr "" -#. ~ Description for clay kiln #: lang/json/furniture_from_json.py -msgid "A kiln designed to bake clay pottery and bricks." +msgid "open beaded curtain" msgstr "" -#. ~ Description for stepladder +#. ~ Description for open beaded curtain #: lang/json/furniture_from_json.py -msgid "" -"A short, foldable ladder. Can help you climb to a rooftop, or maybe slow " -"something down." +msgid "This beaded curtain has been pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "electric arc furnace" +msgid "clickity clack… clack… clack!" msgstr "" -#. ~ Description for electric arc furnace #: lang/json/furniture_from_json.py -msgid "" -"Not the kind of furnace you'd heat your house with, this is a device for " -"heating things to extreme temperatures as part of industrial fabrication " -"processes." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "drill press" +msgid "canvas floor" msgstr "" -#. ~ Description for drill press +#. ~ Description for canvas floor #: lang/json/furniture_from_json.py msgid "" -"A powerful drill mounted on a slide that lets it drop precisely down. " -"Useful in all kinds of projects from industrial fabrication to home " -"woodworking." +"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " +"of the tent." msgstr "" #: lang/json/furniture_from_json.py -msgid "tablesaw" +msgid "canvas wall" msgstr "" -#. ~ Description for tablesaw +#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "" -"A rotating saw blade set into a large flat table, for making straight " -"measured cuts. One of the key tools in a carpenter's arsenal." +msgid "A wall made of stretched, waterproof cloth." msgstr "" #: lang/json/furniture_from_json.py -msgid "mitre saw" +#: lang/json/terrain_from_json.py +msgid "slap!" msgstr "" -#. ~ Description for mitre saw +#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "" -"A circular saw blade on an arm that can slide and rotate in several " -"directions, this is a staple tool for nearly any carpentry." +msgid "A wall made of stretched, heavy-duty, waterproof cloth." msgstr "" #: lang/json/furniture_from_json.py -msgid "bandsaw" +msgid "canvas flap" msgstr "" -#. ~ Description for bandsaw +#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "" -"A ribbonlike sawblade runs in a single direction in this tool, allowing " -"precise cuts at almost any angle." +msgid "This canvas flap door could be pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "router table" +msgid "open canvas flap" msgstr "" -#. ~ Description for router table +#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "" -"This table has an inset router, a rotating motor with an exchangeable blade " -"head for cutting specific profiles and grooves and stuff." +msgid "This canvas flap door has been pulled aside." msgstr "" +#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "planer" +msgid "This heavy canvas flap door could be pulled aside." msgstr "" -#. ~ Description for planer +#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "" -"A hefty tool that will take in a board and cut it smooth and flat to a " -"specific width. Particularly great if working with raw lumber stock, but " -"also good just for shaving wood down to size." +msgid "This heavy canvas flap door has been pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "jointer" +msgid "groundsheet" msgstr "" -#. ~ Description for jointer +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "" -"A table-shaped tool with a rotating blade that will cut down, smooth out, " -"and square off a board to make it very smooth and nice indeed." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "hydraulic press" +msgid "This plastic groundsheet could keep you dry." msgstr "" -#. ~ Description for hydraulic press +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "" -"If you really want to squash something a lot, this would be exactly the " -"right industrial tool for you. If, you know, it had power." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "power lathe" +msgid "This large plastic groundsheet could keep you dry." msgstr "" -#. ~ Description for power lathe +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py msgid "" -"An industrial-grade lathe, for turning chunks of metal and other hard things " -"into round chunks of metal and other hard things." +"This plastic government-issue groundsheet could keep you dry, but was made " +"by the lowest bidder." msgstr "" #: lang/json/furniture_from_json.py -msgid "air compressor" +msgid "animalskin wall" msgstr "" -#. ~ Description for air compressor +#. ~ Description for animalskin wall #: lang/json/furniture_from_json.py -msgid "" -"This durable tank is topped with a motor that will cram as much air into the " -"tank as possible." +msgid "Wall made out of animal skin. Either an amazing or horrifying sight." msgstr "" #: lang/json/furniture_from_json.py -msgid "fermenting vat" +msgid "animalskin flap" msgstr "" -#. ~ Description for fermenting vat -#. ~ Description for filled fermenting vat +#. ~ Description for animalskin flap #: lang/json/furniture_from_json.py -msgid "A sealable vat for fermenting vinegar and various alcoholic brews." +msgid "This animal skin flap could be pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "filled fermenting vat" +msgid "open animalskin flap" msgstr "" +#. ~ Description for open animalskin flap #: lang/json/furniture_from_json.py -msgid "butchering rack" +msgid "This animal skin flap has been pulled aside." msgstr "" -#. ~ Description for butchering rack #: lang/json/furniture_from_json.py -msgid "Butchering rack designed to hang a carcass in the air." +msgid "animalskin floor" msgstr "" -#. ~ Description for metal butchering rack +#. ~ Description for animalskin floor #: lang/json/furniture_from_json.py -msgid "" -"Metal butchering rack designed to hang a carcass in the air. It can be " -"deconstructed and folded for easy transportation." +msgid "This animal skin groundsheet could keep you dry." msgstr "" #: lang/json/furniture_from_json.py @@ -84659,7 +89015,7 @@ msgstr "" #. ~ Description for pile of trashy rubble #: lang/json/furniture_from_json.py msgid "" -"Trash topped with dirt and grass, it smells gross, but another man's trash..." +"Trash topped with dirt and grass, it smells gross, but another man's trash…" msgstr "" #: lang/json/furniture_from_json.py @@ -84681,462 +89037,308 @@ msgid "Some ash, from wood or possibly bodies." msgstr "" #: lang/json/furniture_from_json.py -msgid "bulletin board" +msgid "small boulder" msgstr "" -#. ~ Description for bulletin board +#. ~ Description for small boulder #: lang/json/furniture_from_json.py msgid "" -"A big, cork bulletin board capable of sporting various notices. Pin some " -"notes for other survivors to read." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "sign" -msgstr "" - -#. ~ Description for sign -#: lang/json/furniture_from_json.py -msgid "Read it. Warnings ahead." +"Blocking your path. Should be easy to move. It can be used as a primitive " +"anvil." msgstr "" #: lang/json/furniture_from_json.py -msgid "warning sign" +msgid "medium boulder" msgstr "" -#. ~ Description for warning sign +#. ~ Description for medium boulder #: lang/json/furniture_from_json.py msgid "" -"A triangle-shaped sign on a post meant to indicate something important or " -"hazard." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "standing mirror" -msgstr "" - -#. ~ Description for standing mirror -#: lang/json/furniture_from_json.py -msgid "Lookin' good - is that blood?" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "glass breaking" +"Blocking your path. It'll be a struggle to move. It can be used as a " +"primitive anvil." msgstr "" #: lang/json/furniture_from_json.py -msgid "broken standing mirror" +msgid "large boulder" msgstr "" -#. ~ Description for broken standing mirror +#. ~ Description for large boulder #: lang/json/furniture_from_json.py -msgid "" -"You could look at yourself, if the mirror wasn't covered in cracks and " -"fractures." +msgid "Now how are you going to move this?" msgstr "" #: lang/json/furniture_from_json.py -msgid "vending machine" +msgid "forge" msgstr "" -#. ~ Description for vending machine +#. ~ Description for forge #: lang/json/furniture_from_json.py -msgid "Buy stuff with a cash card." +msgid "Metalworking station typically used in combination with an anvil." msgstr "" +#. ~ Description for anvil #: lang/json/furniture_from_json.py -msgid "broken vending machine" +msgid "Used in metalworking." msgstr "" -#. ~ Description for broken vending machine +#. ~ Description for still #: lang/json/furniture_from_json.py msgid "" -"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " -"you wouldn't need to pay at all!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "dumpster" -msgstr "" - -#. ~ Description for dumpster -#: lang/json/furniture_from_json.py -msgid "Stores trash. Doesn't get picked up anymore. Note the smell." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "canvas wall" -msgstr "" - -#. ~ Description for canvas wall -#: lang/json/furniture_from_json.py -msgid "A wall made of stretched, waterproof cloth." -msgstr "" - -#: lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py -msgid "slap!" -msgstr "" - -#. ~ Description for canvas wall -#: lang/json/furniture_from_json.py -msgid "A wall made of stretched, heavy-duty, waterproof cloth." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "canvas flap" -msgstr "" - -#. ~ Description for canvas flap -#: lang/json/furniture_from_json.py -msgid "This canvas flap door could be pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "open canvas flap" -msgstr "" - -#. ~ Description for open canvas flap -#: lang/json/furniture_from_json.py -msgid "This canvas flap door has been pulled aside." -msgstr "" - -#. ~ Description for canvas flap -#: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door could be pulled aside." -msgstr "" - -#. ~ Description for open canvas flap -#: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door has been pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "groundsheet" -msgstr "" - -#. ~ Description for groundsheet -#: lang/json/furniture_from_json.py -msgid "This plastic groundsheet could keep you dry." -msgstr "" - -#. ~ Description for groundsheet -#: lang/json/furniture_from_json.py -msgid "This large plastic groundsheet could keep you dry." +"An essential component for brewing and chemistry that allows for refining " +"liquid mixtures." msgstr "" -#. ~ Description for groundsheet +#. ~ Description for charcoal kiln +#. ~ Description for filled charcoal kiln #: lang/json/furniture_from_json.py msgid "" -"This plastic government-issue groundsheet could keep you dry, but was made " -"by the lowest bidder." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "animalskin wall" -msgstr "" - -#. ~ Description for animalskin wall -#: lang/json/furniture_from_json.py -msgid "Wall made out of animal skin. Either an amazing or horrifying sight." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "animalskin flap" -msgstr "" - -#. ~ Description for animalskin flap -#: lang/json/furniture_from_json.py -msgid "This animal skin flap could be pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "open animalskin flap" -msgstr "" - -#. ~ Description for open animalskin flap -#: lang/json/furniture_from_json.py -msgid "This animal skin flap has been pulled aside." +"A rock kiln designed to burn wood and organic material into charcoal in " +"absence of oxygen." msgstr "" #: lang/json/furniture_from_json.py -msgid "animalskin floor" +msgid "metal charcoal kiln" msgstr "" -#. ~ Description for animalskin floor +#. ~ Description for metal charcoal kiln +#. ~ Description for filled metal charcoal kiln #: lang/json/furniture_from_json.py -msgid "This animal skin groundsheet could keep you dry." +msgid "" +"A metal kiln designed to burn wood and organic material into charcoal in " +"absence of oxygen." msgstr "" #: lang/json/furniture_from_json.py -msgid "statue" +msgid "filled metal charcoal kiln" msgstr "" -#. ~ Description for statue +#. ~ Description for arc furnace +#. ~ Description for filled arc furnace #: lang/json/furniture_from_json.py -msgid "A carved statue made of stone." +msgid "" +"An arc furnace designed to burn a powdery mix of coke and limestone to " +"create calcium carbide." msgstr "" #: lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py -msgid "thump." +msgid "filled arc furnace" msgstr "" #: lang/json/furniture_from_json.py -msgid "mannequin" +msgid "smoking rack" msgstr "" -#. ~ Description for mannequin +#. ~ Description for smoking rack +#. ~ Description for metal smoking rack +#. ~ Description for active metal smoking rack #: lang/json/furniture_from_json.py msgid "" -"Put clothes on it, talk to it. Who's around to judge you? Wait... did it " -"just move?" +"A special rack designed to smoke food for better preservation and taste." msgstr "" #: lang/json/furniture_from_json.py -msgid "birdbath" +msgid "active smoking rack" msgstr "" -#. ~ Description for birdbath +#. ~ Description for active smoking rack #: lang/json/furniture_from_json.py -msgid "A decorative cement birdbath and pedestal." +msgid "" +"A special rack designed to smoke food for better preservation and taste. It " +"is lit and smoking." msgstr "" #: lang/json/furniture_from_json.py -msgid "rotary clothes dryer line" +msgid "active metal smoking rack" msgstr "" -#. ~ Description for rotary clothes dryer line #: lang/json/furniture_from_json.py -msgid "A umbrella shaped clothes line mounted on a pole." +msgid "rock forge" msgstr "" +#. ~ Description for rock forge #: lang/json/furniture_from_json.py -msgid "mounted solar panel" +msgid "" +"Metalworking station made of rock, typically used in combination with an " +"anvil." msgstr "" -#. ~ Description for mounted solar panel #: lang/json/furniture_from_json.py -msgid "A mounted solar panel." +msgid "clay kiln" msgstr "" +#. ~ Description for clay kiln #: lang/json/furniture_from_json.py -msgid "spider egg sack" +msgid "A kiln designed to bake clay pottery and bricks." msgstr "" -#. ~ Description for spider egg sack +#. ~ Description for stepladder #: lang/json/furniture_from_json.py msgid "" -"Much too large, off-white egg sack. Kind of icky. Something IS moving in " -"there." +"A short, foldable ladder. Can help you climb to a rooftop, or maybe slow " +"something down." msgstr "" -#. ~ Description for spider egg sack #: lang/json/furniture_from_json.py -msgid "" -"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " -"in there." +msgid "electric arc furnace" msgstr "" -#. ~ Description for spider egg sack +#. ~ Description for electric arc furnace #: lang/json/furniture_from_json.py msgid "" -"A horrifyingly oversized egg sack. Something IS moving in there. If you're " -"seeing this, you're already too close to it." +"Not the kind of furnace you'd heat your house with, this is a device for " +"heating things to extreme temperatures as part of industrial fabrication " +"processes." msgstr "" #: lang/json/furniture_from_json.py -msgid "ruptured egg sack" +msgid "drill press" msgstr "" -#. ~ Description for ruptured egg sack +#. ~ Description for drill press #: lang/json/furniture_from_json.py -msgid "Super icky. Spider stuff's spilling out." +msgid "" +"A powerful drill mounted on a slide that lets it drop precisely down. " +"Useful in all kinds of projects from industrial fabrication to home " +"woodworking." msgstr "" #: lang/json/furniture_from_json.py -msgid "reinforced vending machine" +msgid "tablesaw" msgstr "" -#. ~ Description for reinforced vending machine +#. ~ Description for tablesaw #: lang/json/furniture_from_json.py msgid "" -"A bit tougher to crack open than regular vending machines. That just makes " -"it all the sweeter a target, doesn't it?" +"A rotating saw blade set into a large flat table, for making straight " +"measured cuts. One of the key tools in a carpenter's arsenal." msgstr "" #: lang/json/furniture_from_json.py -msgid "display case" +msgid "mitre saw" msgstr "" -#. ~ Description for display case +#. ~ Description for mitre saw #: lang/json/furniture_from_json.py -msgid "Display your stuff fancily and securely." +msgid "" +"A circular saw blade on an arm that can slide and rotate in several " +"directions, this is a staple tool for nearly any carpentry." msgstr "" #: lang/json/furniture_from_json.py -msgid "broken display case" +msgid "bandsaw" msgstr "" -#. ~ Description for broken display case +#. ~ Description for bandsaw #: lang/json/furniture_from_json.py -msgid "Display your stuff. It'll get stolen." +msgid "" +"A ribbonlike sawblade runs in a single direction in this tool, allowing " +"precise cuts at almost any angle." msgstr "" #: lang/json/furniture_from_json.py -msgid "standing tank" +msgid "router table" msgstr "" -#. ~ Description for standing tank +#. ~ Description for router table #: lang/json/furniture_from_json.py -msgid "A large freestanding metal tank, useful for holding liquids." +msgid "" +"This table has an inset router, a rotating motor with an exchangeable blade " +"head for cutting specific profiles and grooves and stuff." msgstr "" #: lang/json/furniture_from_json.py -msgid "canvas floor" +msgid "planer" msgstr "" -#. ~ Description for canvas floor +#. ~ Description for planer #: lang/json/furniture_from_json.py msgid "" -"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " -"of the tent." +"A hefty tool that will take in a board and cut it smooth and flat to a " +"specific width. Particularly great if working with raw lumber stock, but " +"also good just for shaving wood down to size." msgstr "" #: lang/json/furniture_from_json.py -msgid "robotic arm" +msgid "jointer" msgstr "" -#. ~ Description for robotic arm +#. ~ Description for jointer #: lang/json/furniture_from_json.py msgid "" -"Automation! Science! Industry! Make a better horse! This robot arm " -"promises to do it all. Except it's currently unpowered. You could remove " -"the casing and retrieve the electronics through disassembly." +"A table-shaped tool with a rotating blade that will cut down, smooth out, " +"and square off a board to make it very smooth and nice indeed." msgstr "" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "thunk." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "automated gas console" -msgstr "" - -#. ~ Description for automated gas console -#: lang/json/furniture_from_json.py -msgid "Automated gas flow control console." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "broken automated gas console" -msgstr "" - -#. ~ Description for broken automated gas console -#: lang/json/furniture_from_json.py -msgid "Automated gas flow control console. Broken. This is not a good thing." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "small boulder" +msgid "hydraulic press" msgstr "" -#. ~ Description for small boulder +#. ~ Description for hydraulic press #: lang/json/furniture_from_json.py msgid "" -"Blocking your path. Should be easy to move. It can be used as a primitive " -"anvil." +"If you really want to squash something a lot, this would be exactly the " +"right industrial tool for you. If, you know, it had power." msgstr "" -#: lang/json/furniture_from_json.py -msgid "medium boulder" +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "power lathe" msgstr "" -#. ~ Description for medium boulder +#. ~ Description for power lathe #: lang/json/furniture_from_json.py msgid "" -"Blocking your path. It'll be a struggle to move. It can be used as a " -"primitive anvil." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "large boulder" -msgstr "" - -#. ~ Description for large boulder -#: lang/json/furniture_from_json.py -msgid "Now how are you going to move this?" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "stone slab" -msgstr "" - -#. ~ Description for stone slab -#: lang/json/furniture_from_json.py -msgid "A flat slab of heavy stone." +"An industrial-grade lathe, for turning chunks of metal and other hard things " +"into round chunks of metal and other hard things." msgstr "" #: lang/json/furniture_from_json.py -msgid "manacles" +msgid "air compressor" msgstr "" -#. ~ Description for manacles +#. ~ Description for air compressor #: lang/json/furniture_from_json.py msgid "" -"Chain serfs in your dungeon. All you need now is an iron ball to chain to " -"it." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "crack." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "headstone" -msgstr "" - -#. ~ Description for headstone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies." +"This durable tank is topped with a motor that will cram as much air into the " +"tank as possible." msgstr "" #: lang/json/furniture_from_json.py -msgid "gravestone" +msgid "fermenting vat" msgstr "" -#. ~ Description for gravestone +#. ~ Description for fermenting vat +#. ~ Description for filled fermenting vat #: lang/json/furniture_from_json.py -msgid "Keeps the bodies. More fancy." +msgid "A sealable vat for fermenting vinegar and various alcoholic brews." msgstr "" #: lang/json/furniture_from_json.py -msgid "worn gravestone" +msgid "filled fermenting vat" msgstr "" -#. ~ Description for worn gravestone #: lang/json/furniture_from_json.py -msgid "A worn-out gravestone." +msgid "butchering rack" msgstr "" +#. ~ Description for butchering rack #: lang/json/furniture_from_json.py -msgid "obelisk" +msgid "Butchering rack designed to hang a carcass in the air." msgstr "" -#. ~ Description for obelisk +#. ~ Description for metal butchering rack #: lang/json/furniture_from_json.py -msgid "Monument to pride." +msgid "" +"Metal butchering rack designed to hang a carcass in the air. It can be " +"deconstructed and folded for easy transportation." msgstr "" #: lang/json/furniture_from_json.py -msgid "thunk!" +msgid "hanging meathook" msgstr "" -#. ~ Description for camp chair +#. ~ Description for hanging meathook #: lang/json/furniture_from_json.py -msgid "Sit down, have a drink. It can folded for easy transportation." +msgid "A hefty hook suspended from a chain for stringing up corpses." msgstr "" #. ~ Description for wind mill @@ -85173,256 +89375,52 @@ msgid "" msgstr "" #: lang/json/furniture_from_json.py -msgid "pillow fort" -msgstr "" - -#. ~ Description for pillow fort -#: lang/json/furniture_from_json.py -msgid "A comfy place to hide from the world. Not very defensible, though." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "paf!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "cardboard fort" -msgstr "" - -#. ~ Description for cardboard fort -#: lang/json/furniture_from_json.py -msgid "" -"A fort built by tipping a cardboard box on its side, lining it with " -"blankets, and partly weather sealing it with a plastic sheet." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "crumple!" -msgstr "" - -#: lang/json/furniture_from_json.py -#: src/ballistics.cpp -msgid "thud." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "cardboard wall" -msgstr "" - -#. ~ Description for cardboard wall -#: lang/json/furniture_from_json.py -msgid "" -"This is a pile of cardboard boxes that have been filled with rags and junk " -"and stacked together like bricks to form a wall." -msgstr "" - -#. ~ Description for large cardboard box -#: lang/json/furniture_from_json.py -msgid "" -"A large cardboard box: this could be used to store things, or as a hiding " -"place." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "beaded curtain" -msgstr "" - -#. ~ Description for beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain could be pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "open beaded curtain" -msgstr "" - -#. ~ Description for open beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain has been pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "filing cabinet" -msgstr "" - -#. ~ Description for filing cabinet -#: lang/json/furniture_from_json.py -msgid "" -"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " -"locked to protect important information. If you're lucky, there are often " -"keys nearby." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "wardrobe" -msgstr "" - -#. ~ Description for wardrobe -#: lang/json/furniture_from_json.py -msgid "A tall piece of furniture - basically a freestanding closet." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "robotic assembler" -msgstr "" - -#. ~ Description for robotic assembler -#: lang/json/furniture_from_json.py -msgid "" -"A durable and versatile robotic arm with a tool fitted to the end, for " -"working on an assembly line." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "chemical mixer" -msgstr "" - -#. ~ Description for chemical mixer -#: lang/json/furniture_from_json.py -msgid "" -"When chemicals need to be mixed in large quantities at just the right " -"combinations and temperatures, this is the tool for the job." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "floor lamp" -msgstr "" - -#. ~ Description for floor lamp -#: lang/json/furniture_from_json.py -msgid "A tall standing lamp, meant to plug into a wall and light up a room." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "bonk!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "document shredder" -msgstr "" - -#. ~ Description for document shredder -#: lang/json/furniture_from_json.py -msgid "" -"It's not all about hiding government secrets, sometimes you just want to " -"stop identity theft." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "server stack" -msgstr "" - -#. ~ Description for server stack -#: lang/json/furniture_from_json.py -msgid "This is a big pile of computers. They're all turned off." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "large satellite dish" -msgstr "" - -#. ~ Description for large satellite dish -#: lang/json/furniture_from_json.py -msgid "" -"Somewhere up there, there are still satellites, orbiting and doing their " -"thing, sending signals down to an Earth that is no longer listening." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "hanging meathook" -msgstr "" - -#. ~ Description for hanging meathook -#: lang/json/furniture_from_json.py -msgid "A hefty hook suspended from a chain for stringing up corpses." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "fake workbench hands" -msgstr "" - -#. ~ Description for fake workbench hands -#: lang/json/furniture_from_json.py -msgid "This fake workbench holds the stats for working on a wielded item." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "ground crafting spot" +msgid "automated gas console" msgstr "" -#. ~ Description for ground crafting spot +#. ~ Description for automated gas console #: lang/json/furniture_from_json.py -msgid "" -"A cleared spot on the ground for crafting. Slower than using a workbench or " -"holding a project in your hands, but readily available." +msgid "Automated gas flow control console." msgstr "" #: lang/json/furniture_from_json.py -msgid "tatami mat" +msgid "broken automated gas console" msgstr "" -#. ~ Description for tatami mat +#. ~ Description for broken automated gas console #: lang/json/furniture_from_json.py -msgid "" -"A tatami is a type of mat used as a flooring material in traditional " -"Japanese-style rooms." +msgid "Automated gas flow control console. Broken. This is not a good thing." msgstr "" #: lang/json/furniture_from_json.py -msgid "bitts" +msgid "reinforced vending machine" msgstr "" -#. ~ Description for bitts +#. ~ Description for reinforced vending machine #: lang/json/furniture_from_json.py msgid "" -"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " -"to secure mooring lines, ropes, hawsers, or cables." +"A bit tougher to crack open than regular vending machines. That just makes " +"it all the sweeter a target, doesn't it?" msgstr "" #: lang/json/furniture_from_json.py -msgid "speaker cabinet" +msgid "vending machine" msgstr "" -#. ~ Description for speaker cabinet +#. ~ Description for vending machine #: lang/json/furniture_from_json.py -msgid "" -"A cabinet loaded with 12-inch speakers, intended to help make various things " -"loud. It can't serve its original purpose these days, but it could be " -"disassembled for various electronic parts." +msgid "Buy stuff with a cash card." msgstr "" -#. ~ Description for seeing this is a bug #: lang/json/furniture_from_json.py -msgid "Seeing this is a bug. If seen, please report and destroy." +msgid "broken vending machine" msgstr "" -#. ~ Description for swamp gas +#. ~ Description for broken vending machine #: lang/json/furniture_from_json.py msgid "" -"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " -"toxic gas." -msgstr "" - -#: lang/json/furniture_from_json.py -#: src/ballistics.cpp src/map.cpp -msgid "splash!" -msgstr "" - -#. ~ Description for fog -#: lang/json/furniture_from_json.py -msgid "This is a misty cloud of fog." +"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " +"you wouldn't need to pay at all!" msgstr "" #. ~ Description for vehicle refrigerator @@ -85523,6 +89521,15 @@ msgid "" "blood, candles, and other small knick-knacks." msgstr "" +#: lang/json/furniture_from_json.py +msgid "large glowing boulder" +msgstr "" + +#. ~ Description for large glowing boulder +#: lang/json/furniture_from_json.py +msgid "Something about this doesn't look right." +msgstr "" + #: lang/json/furniture_from_json.py msgid "krash!" msgstr "" @@ -85552,7 +89559,7 @@ msgstr "" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You turn the handle..." +msgid "You turn the handle…" msgstr "" #. ~ 'close' action message of some gate object. @@ -85572,7 +89579,7 @@ msgstr "" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You pull the rope..." +msgid "You pull the rope…" msgstr "" #. ~ 'close' action message of some gate object. @@ -85607,7 +89614,7 @@ msgstr "" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You throw the lever..." +msgid "You throw the lever…" msgstr "" #. ~ 'close' action message of some gate object. @@ -85732,7 +89739,7 @@ msgstr "" #: lang/json/gun_from_json.py #: lang/json/gunmod_from_json.py -#: src/item_factory.cpp src/turret.cpp +#: src/item_factory.cpp msgid "auto" msgstr "" @@ -85798,7 +89805,7 @@ msgstr[1] "" msgid "" "A primitive bow fashioned from a single piece of wood, made specifically for " "the person using it. Weak and wildly inaccurate, it doesn't work that well, " -"unfortunately..." +"unfortunately…" msgstr "" #: lang/json/gun_from_json.py @@ -85973,9 +89980,8 @@ msgid "" msgstr "" #: lang/json/gun_from_json.py -#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py #: lang/json/gunmod_from_json.py -#: lang/json/gunmod_from_json.py src/item.cpp +#: src/item.cpp msgctxt "gun_type_type" msgid "pistol" msgstr "" @@ -86145,6 +90151,18 @@ msgctxt "gun_type_type" msgid "throw" msgstr "" +#: lang/json/gun_from_json.py +msgid "staff sling" +msgid_plural "staff slings" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A leather sling attached to a staff, easy to use and accurate. It uses " +"rocks as ammunition." +msgstr "" + #: lang/json/gun_from_json.py msgid "slingshot" msgid_plural "slingshots" @@ -86224,6 +90242,11 @@ msgid "" "blooming. While powerful, it suffers from short range. Powered by UPS." msgstr "" +#: lang/json/gun_from_json.py +#: lang/json/gun_from_json.py src/item_factory.cpp +msgid "semi-auto" +msgstr "" + #: lang/json/gun_from_json.py msgid "PPA-5" msgid_plural "PPA-5s" @@ -86233,8 +90256,8 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "Portable Plasma Accelerator Model Five, developed by Lockheed Martin " -"Corporation. This device uses highly advanced capacitor banks to create a " -"torus of superheated hydrogen plasma and accelerate it to incredible speed. " +"Corporation. This device uses highly advanced capacitor banks to create a " +"torus of superheated hydrogen plasma and accelerate it to incredible speed. " "It was designed to take down heavy vehicles, and was expected to fully enter " "US Army service not long before the Cataclysm." msgstr "" @@ -86253,7 +90276,6 @@ msgid "" msgstr "" #: lang/json/gun_from_json.py -#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py #: lang/json/gunmod_from_json.py msgctxt "gun_type_type" msgid "shotgun" @@ -86419,6 +90441,10 @@ msgid "" "stop fires or \"protesters\"." msgstr "" +#: lang/json/gun_from_json.py +msgid "burst" +msgstr "" + #: lang/json/gun_from_json.py msgid "base gun" msgid_plural "base guns" @@ -86697,8 +90723,8 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"The Walther P22 is a blowback operated semi-automatic pistol. It is about " -"half the size of most Walthers. It is made mostly with plastic, with the " +"The Walther P22 is a blowback operated semi-automatic pistol. It is about " +"half the size of most Walthers. It is made mostly with plastic, with the " "slide and key components being made of die-cast zinc alloy" msgstr "" @@ -86784,11 +90810,6 @@ msgid "" "this barren proto-weapon." msgstr "" -#: lang/json/gun_from_json.py -#: src/item_factory.cpp -msgid "semi-auto" -msgstr "" - #: lang/json/gun_from_json.py msgid "L523-CAR carbine" msgid_plural "L523-CAR carbines" @@ -87301,8 +91322,8 @@ msgstr[1] "" msgid "" "The M24 Sniper is the military and police version of the Remington Model 700 " "rifle, M24 being the model name assigned by the United States Army after " -"adoption as their standard sniper rifle in 1988. The M24 is referred to as a " -"'weapon system' because it consists of not only a rifle, but also a " +"adoption as their standard sniper rifle in 1988. The M24 is referred to as " +"a 'weapon system' because it consists of not only a rifle, but also a " "detachable telescopic sight and other accessories." msgstr "" @@ -87389,7 +91410,7 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "One of Kel-tec's oldest designs, the P32 is a popular option for deep " -"concealment and backup usage. Despite its extreme light weight and small " +"concealment and backup usage. Despite its extreme light weight and small " "size, its .32 ACP chambering makes for good handling and recoil control." msgstr "" @@ -87456,16 +91477,16 @@ msgid "" msgstr "" #: lang/json/gun_from_json.py -msgid "COP .38" -msgid_plural "COP .38" +msgid "COP .357 Derringer" +msgid_plural "COP .357 Derringers" msgstr[0] "" msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"The COP .38 is a small, chubby derringer pistol that bears a slight " -"resemblance to the Mossberg Brownie. It has four barrels arranged in a " -"square formation." +"A small, chubby derringer pistol bearing a slight resemblance to the " +"Mossberg Brownie. It uses a rotating firing pin to fire the individual " +"hammers of the four barrels arranged in a square formation." msgstr "" #: lang/json/gun_from_json.py @@ -87498,18 +91519,6 @@ msgid "" "sight and a reinforced frame." msgstr "" -#: lang/json/gun_from_json.py -msgid "Taurus Pro .38" -msgid_plural "Taurus Pro .38" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/gun_from_json.py -msgid "" -"A popular .38 pistol. Designed with numerous safety features and built from " -"high-quality, durable materials." -msgstr "" - #: lang/json/gun_from_json.py msgid "MAC-11" msgid_plural "MAC-11s" @@ -87577,10 +91586,22 @@ msgstr[1] "" msgid "" "The Hi-Point CF-380 is a blowback operated semi automatic pistol designed by " "Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" +#: lang/json/gun_from_json.py +msgid "Taurus Spectrum" +msgid_plural "Taurus Spectrum" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A .380 subcompact pistol. Designed for concealed carry and built from high-" +"quality, durable materials." +msgstr "" + #: lang/json/gun_from_json.py msgid "M1911A1" msgid_plural "M1911A1s" @@ -87672,9 +91693,9 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms " -"in .40 S&W." +"the second world war. Widely issued since then, it remains in use by India, " +"Canada and Australia. This is a commercial variant produced by Browning " +"Arms in .40 S&W." msgstr "" #: lang/json/gun_from_json.py @@ -87700,8 +91721,9 @@ msgstr[1] "" msgid "" "The Hi-Point Model JCP is a blowback operated semi automatic pistol designed " "by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made " -"with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" #: lang/json/gun_from_json.py @@ -88060,8 +92082,9 @@ msgstr[1] "" msgid "" "The Hi-Point Model JHP is a blowback operated semi automatic pistol designed " "by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made " -"with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" #: lang/json/gun_from_json.py @@ -88250,7 +92273,7 @@ msgid "" "chamber." msgstr "" -#: lang/json/gun_from_json.py src/item_factory.cpp src/turret.cpp +#: lang/json/gun_from_json.py src/item_factory.cpp msgid "manual" msgstr "" @@ -89013,9 +93036,9 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms " -"in 9x19mm Parabellum." +"the second world war. Widely issued since then, it remains in use by India, " +"Canada and Australia. This is a commercial variant produced by Browning " +"Arms in 9x19mm Parabellum." msgstr "" #: lang/json/gun_from_json.py @@ -89027,8 +93050,8 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Walther P38 is a semi-automatic handgun adopted shortly before the " -"second world war. Developed due to the high production costs of its " -"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " +"second world war. Developed due to the high production costs of its " +"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " "This early DA/SA locked-breech design would introduce features later seen on " "more modern firearms such as the Beretta 92 series, and served Germany until " "2004." @@ -89044,7 +93067,7 @@ msgstr[1] "" msgid "" "The Walther PPQ is a semi-automatic pistol originating from the Walther " "P99QA, and maintains compatibility with some of its predecessor's " -"accessories. This model is chambered in 9x19mm Parabellum." +"accessories. This model is chambered in 9x19mm Parabellum." msgstr "" #: lang/json/gun_from_json.py @@ -89057,7 +93080,7 @@ msgstr[1] "" msgid "" "The Hi-Point C-9 is a blowback operated semi automatic pistol designed by Hi-" "Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" @@ -89070,11 +93093,11 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The CZ-75 is a semi-automatic pistol developed in Czechoslovakia, and is one " -"of the original wonder nines. Though designed for export to western " +"of the original wonder nines. Though designed for export to western " "countries, it was declared a state secret; lack of international patent " "protection meant that many clones and variants were produced and distributed " -"around the world, with Česká zbrojovka only joining in the 90's. This pistol " -"remains wildly popular among competition shooters." +"around the world, with Česká zbrojovka only joining in the 90's. This " +"pistol remains wildly popular among competition shooters." msgstr "" #: lang/json/gun_from_json.py @@ -89086,8 +93109,8 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Walther CCP is a gas-delayed blowback semi-automatic pistol intended for " -"the concealed carry consumer market. Internally, it is nearly identical to " -"the cult classic H&K P7. Its fixed barrel design makes it potentially more " +"the concealed carry consumer market. Internally, it is nearly identical to " +"the cult classic H&K P7. Its fixed barrel design makes it potentially more " "accurate than many other pistols, though this may difficult to realize with " "its average trigger and short sight radius." msgstr "" @@ -89726,10 +93749,6 @@ msgid "" "and destruction it can cause." msgstr "" -#: lang/json/gun_from_json.py -msgid "burst" -msgstr "" - #: lang/json/gun_from_json.py msgid "CRIT Laser Carbine" msgid_plural "CRIT Laser Carbines" @@ -90547,10 +94566,61 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"A bow made of multiple materials to maximize energy efficiency. There are " +"A bow made of multiple materials to maximize energy efficiency. There are " "two Druid runes embedded at the tips." msgstr "" +#: lang/json/gun_from_json.py +msgid "M47A1 Techno-Medusa" +msgid_plural "M47A1 Techno-Medusae" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A magically-enhanced update to the Phillips & Rodgers' M47 Medusa, a multi-" +"caliber revolver aimed at survivalists. While Technomancy improves the " +"reliability with smaller cartridges, it is not as accurate as dedicated " +"caliber revolvers due to freebore." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "gunblade" +msgid_plural "gunblades" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"Constructed similarly to a falcata, this forward-sloping blade has a short-" +"barrel pump shotgun attached to the blade's spine for finishing blows or a " +"first strike." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "shotcestus" +msgid_plural "shotcesti" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A sawn-off double-barrel shotgun mounted on a metal cestus. The lack of a " +"stock to absorb recoil means some strength is required to fire." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "Ichaival" +msgid_plural "Ichaivals" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"Ichaival, the bow of Odin. Rumored to fire 10 arrows with every pull of the " +"string. It has gold and silver ornaments on it, as well as an ornate Raven." +msgstr "" + #: lang/json/gun_from_json.py msgid "Woodbow" msgid_plural "Woodbows" @@ -90665,12 +94735,6 @@ msgid "" "this weapon have a good chance of remaining intact for re-use." msgstr "" -#: lang/json/gun_from_json.py -msgid "Ichaival" -msgid_plural "Ichaivals" -msgstr[0] "" -msgstr[1] "" - #: lang/json/gun_from_json.py msgid "" "This is a replica of the bow possessed by Odin, Ichaival, which is rumored " @@ -91641,7 +95705,7 @@ msgid "accessories" msgstr "" #: lang/json/gunmod_from_json.py -#: src/item.cpp +#: lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "bow" msgstr "" @@ -91765,7 +95829,7 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" "Testmod for UPS drain on mods, this should never spawn, if you see this, " -"it's a bug. 50x more UPS drain." +"it's a bug. 50x more UPS drain." msgstr "" #: lang/json/gunmod_from_json.py @@ -91920,8 +95984,8 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" -"A set of optics to concentrate the laser beam on a smaller focus point. This " -"increases range and damage output, but complicates targeting." +"A set of optics to concentrate the laser beam on a smaller focus point. " +"This increases range and damage output, but complicates targeting." msgstr "" #: lang/json/gunmod_from_json.py @@ -91946,7 +96010,7 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" "A set of electronics to optimize emitter workcycle and increase overall " -"energy efficiency. Decreases power consumption." +"energy efficiency. Decreases power consumption." msgstr "" #: lang/json/gunmod_from_json.py @@ -91961,7 +96025,7 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" -"A capacitor with a higher energy density increases range and damage; at the " +"A capacitor with a higher energy density increases range and damage; at the " "cost of a markedly increased power consumption." msgstr "" @@ -92169,6 +96233,20 @@ msgid "" "improving recoil but increasing bulk, noise, and reducing accuracy slightly." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified muzzle brake" +msgid_plural "modified muzzle brakes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A muzzle brake redirects exhaust gases to compensate for muzzle climb, " +"improving recoil but increasing bulk, noise, and reducing accuracy " +"slightly. This one was modified and customized to mount on pretty much any " +"firearm other than launchers, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "homemade suppressor" msgid_plural "homemade suppressors" @@ -92302,6 +96380,20 @@ msgstr "" msgid "rail" msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified rail-mounted crossbow" +msgid_plural "modified rail-mounted crossbows" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A kit to attach a pair of crossbow arms and a firing rail to the barrel of a " +"long firearm. It allows crossbow bolts to be fired. This one was modified " +"and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "offset iron sights" msgid_plural "offset iron sights" @@ -92314,6 +96406,19 @@ msgid "" "other modification prevents use of the primary sights." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified offset iron sights" +msgid_plural "modified offset iron sights" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An alternative set of iron sights mounted at 45° for use when a scope or " +"other modification prevents use of the primary sights. This one was " +"modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "offset sight rail" msgid_plural "offset sight rails" @@ -92324,6 +96429,18 @@ msgstr[1] "" msgid "An additional rail set at 45° for attaching a secondary optic." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified offset sight rail" +msgid_plural "modified offset sight rails" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An additional rail set at 45° for attaching a secondary optic. This one was " +"modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "rail laser sight" msgid_plural "rail laser sights" @@ -92349,6 +96466,20 @@ msgid "" "vibration, greatly reducing recoil and slightly increasing accuracy." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified gyroscopic stabilizer" +msgid_plural "modified gyroscopic stabilizers" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An advanced unit that straps onto the side of your firearm and reduces " +"vibration, greatly reducing recoil and slightly increasing accuracy. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "LW gyroscopic stabilizer" msgid_plural "LW gyroscopic stabilizers" @@ -92459,6 +96590,20 @@ msgid "" "mrad increments and is remarkably small and light for its magnification." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified rifle scope" +msgid_plural "modified rifle scopes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 3-18x44 rifle scope. It is adjustable for windage and elevation in 1/10th " +"mrad increments and is remarkably small and light for its magnification. " +"This one was modified and customized to mount on pretty much any weapon " +"other than pistols and SMGs, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "ACOG scope" msgid_plural "ACOG scopes" @@ -92471,6 +96616,19 @@ msgid "" "crosshair." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified ACOG scope" +msgid_plural "modified ACOG scopes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 4x32 TA01 Advanced Combat Optical Gunsight with a tritium illuminated " +"crosshair. This one was modified and customized to mount on pretty much any " +"weapon other than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "RS1219 scope" msgid_plural "RS1219 scopes" @@ -92492,8 +96650,9 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" -"A simple telescopic sight, essentially a small telescope with crosshairs. " -"Increases weight but improves accuracy." +"A simple hand-crafted telescopic sight, essentially a small telescope with " +"crosshairs. Not as good as the ones made before the cataclysm. Increases " +"weight but improves accuracy." msgstr "" #: lang/json/gunmod_from_json.py @@ -92659,6 +96818,21 @@ msgid "" "they are usable only on certain surfaces and are slow to equip." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified bipod" +msgid_plural "modified bipods" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Bipods are commonly used on rifles and machine guns to provide a forward " +"rest and reduce motion. Although they greatly improve handling of recoil " +"they are usable only on certain surfaces and are slow to equip. This one " +"was modified and customized to mount on pretty much any weapon, if you so " +"want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "combination gun shotgun" msgid_plural "combination gun shotguns" @@ -92695,6 +96869,19 @@ msgid "" "effective as a bipod but usable under all conditions." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified forward grip" +msgid_plural "modified forward grips" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A grip placed forward on the barrel allows for greater control. Not as " +"effective as a bipod but usable under all conditions. This one was modified " +"and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "integrated bayonet" msgid_plural "integrated bayonets" @@ -92759,6 +96946,20 @@ msgid "" "and fired." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified M203" +msgid_plural "modified M203s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M203 was originally designed for use with M16 variants but today can be " +"attached to almost any rifle. It allows a single 40mm grenade to be loaded " +"and fired. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "M320 GLM" msgid_plural "M320 GLM" @@ -92773,6 +96974,21 @@ msgid "" "use." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified M320 GLM" +msgid_plural "modified M320 GLMs" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M320 Grenade Launcher Module offers the functionality of larger " +"launchers in a very small package at the cost of decreased accuracy. It can " +"be either attached to a rifle or combined with a buttstock for stand alone " +"use. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "masterkey shotgun" msgid_plural "masterkey shotguns" @@ -92786,6 +97002,20 @@ msgid "" "fired." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified masterkey shotgun" +msgid_plural "modified masterkey shotguns" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A minimalist pump action shotgun, which can be mounted under the barrel of " +"many rifles. It allows a total of four shotgun shells to be loaded and " +"fired. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "40mm pipe launcher" msgid_plural "40mm pipe launchers" @@ -92794,8 +97024,8 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" -"This is a home built launcher tube that can be attached to almost any " -"rifle. It allows a single 40mm grenade to be loaded and fired." +"This is a home built launcher tube that can be attached to almost any weapon " +"except handguns. It allows a single 40mm grenade to be loaded and fired." msgstr "" #: lang/json/gunmod_from_json.py @@ -92823,6 +97053,20 @@ msgid "" "Accepts RMSA10 box magazines." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified RM121 aux shotgun" +msgid_plural "modified RM121 aux shotguns" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The Rivtech RM121 auxiliary weapon system is a magazine-fed semi-automatic " +"caseless shotgun, which can be mounted under the barrel of many rifles. " +"Accepts RMSA10 box magazines. This one was modified and customized to mount " +"on pretty much any weapon other than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "underslung shotgun" msgid_plural "underslung shotguns" @@ -92835,6 +97079,20 @@ msgid "" "many rifles. It allows two shotgun shells to be loaded and fired." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified underslung shotgun" +msgid_plural "modified underslung shotguns" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A short shotgun with 2 barrels, which can be mounted under the barrel of " +"many rifles. It allows two shotgun shells to be loaded and fired. This one " +"was modified and customized to mount on pretty much any weapon other than " +"pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "LW underbarrel laser sight" msgid_plural "LW underbarrel laser sights" @@ -93102,6 +97360,58 @@ msgid "" "gun can no longer operate without a UPS." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "'Silent Winds' suppressor" +msgid_plural "'Silent Winds' suppressors" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Rather than using purely wipe media, an additional localized silence spell " +"in this tube quiets gunshots going through to hearing-safe levels." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (rail)" +msgid_plural "mana laser sights (rail)" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit under the barrel." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (underbarrel)" +msgid_plural "mana laser sights (underbarrel)" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit on the rail." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana dot sight" +msgid_plural "mana dot sights" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Adds a blue dot optic made from crystallized mana to the top of your gun, " +"replacing the iron sights. Increases accuracy and weight." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "makeshift pistol bayonet" msgid_plural "makeshift pistol bayonets" @@ -95127,7 +99437,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py #: lang/json/talk_topic_from_json.py src/game_inventory.cpp #: src/teleport.cpp -msgid "..." +msgid "…" msgstr "" #: lang/json/item_action_from_json.py @@ -95699,6 +100009,13 @@ msgstr "" msgid "This bionic can provide power to powered armor." msgstr "" +#. ~ Please leave anything in unchanged. +#: lang/json/json_flag_from_json.py +msgid "" +"This food is unappetizing in a way that can't be covered up " +"by most cooking." +msgstr "" + #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -97207,6 +101524,7 @@ msgstr "" msgid "Load color template" msgstr "" +#. ~ translation should not exceed 3 console cells #: lang/json/keybinding_from_json.py #: lang/json/keybinding_from_json.py src/editmap.cpp #: src/editmap.cpp @@ -97273,6 +101591,10 @@ msgstr "" msgid "Toggle atomic lights" msgstr "" +#: lang/json/keybinding_from_json.py +msgid "Control autopiot" +msgstr "" + #: lang/json/keybinding_from_json.py msgid "Toggle camera system" msgstr "" @@ -99698,21 +104020,43 @@ msgid "" msgstr "" #: lang/json/martial_art_from_json.py -msgid "Tai Chi" +msgid "Sōjutsu" msgstr "" -#. ~ Description for martial art 'Tai Chi' +#. ~ Description for martial art 'Sōjutsu' #: lang/json/martial_art_from_json.py msgid "" -"Though Tai Chi is often seen as a form of mental and physical exercise, it " -"is a legitimate martial art, focused on self-defense. Its ability to absorb " -"the force of an attack makes your Perception decrease damage further on a " -"block." +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat. Standing still gives you an extra block " +"attempt but moving will briefly increase your damage." msgstr "" -#. ~ Description of buff for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py -msgid "+1 Block. Perception decreases damage when blocking." +msgid "Sōjutsu Stance" +msgstr "" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Your training grants better defense while using a polearm.\n" +"\n" +"+1 Block attempt." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Superior Positioning" +msgstr "" + +#. ~ Description of buff 'Superior Positioning' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You have given up your defenses for a moment to increase the damage of your " +"attacks.\n" +"\n" +"+10%% damage, -1 Block attempts.\n" +"Lasts 1 turn." msgstr "" #: lang/json/martial_art_from_json.py @@ -99725,40 +104069,75 @@ msgid "" "Taekwondo is the national sport of Korea, and was used by the South Korean " "army in the 20th century. Focused on kicks and so it does not benefit from " "wielded weapons. It also includes strength training; your blocks absorb " -"extra damage the stronger you are." +"extra damage and your attacks do more damage if you are not holding anything." msgstr "" -#. ~ Description of buff for martial art 'Taekwondo' #: lang/json/martial_art_from_json.py -msgid "Strength decreases damage when blocking." +msgid "Taekwondo Stance" msgstr "" +#. ~ Description of buff 'Taekwondo Stance' for martial art 'Taekwondo' #: lang/json/martial_art_from_json.py -msgid "Zui Quan" +#, no-python-format +msgid "" +"Using your legs to attack allows your hands to be free for better defense.\n" +"\n" +"Blocked damage decreased by 50%% of Strength." msgstr "" -#. ~ Description for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +msgid "Unhindered" +msgstr "" + +#. ~ Description of buff 'Unhindered' for martial art 'Taekwondo' +#: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse " -"the enemy, giving you a passive dodge bonus based on your intelligence. The " -"turn after you attack, you may dodge any number of attacks with no penalty, " -"and successfully dodging an attack gives you bonus damage and to-hit based " -"on your intelligence." +"Your attacks are stronger if you are not holding anything in your hands.\n" +"\n" +"+33%% bash damage when not using a weapon." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Tai Chi" +msgstr "" + +#. ~ Description for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +msgid "" +"Though Tai Chi is often seen as a form of mental and physical exercise, it " +"is a legitimate martial art, focused on self-defense. Its ability to absorb " +"the force of an attack makes your Perception decrease damage further on a " +"block. Pausing for a moment enables powerful palm strike techniques." msgstr "" -#. ~ Description of buff for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Intelligence increases dodging ability" +msgid "Tai Chi Stance" msgstr "" +#. ~ Description of buff 'Tai Chi Stance' for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py -msgid "Counter Strike" +#, no-python-format +msgid "" +"You are focused of defense and predicting your opponents attacks.\n" +"\n" +"+1 Block attempts, blocked damage reduced by 100%% Perception." msgstr "" -#. ~ Description of buff 'Counter Strike' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Extra damage and to-hit after successful dodge" +msgid "Repulse the Monkey" +msgstr "" + +#. ~ Description of buff 'Repulse the Monkey' for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"By perfectly positioning yourself and your opponent, you have become more " +"accurate and can bypass your opponent's defenses.\n" +"\n" +"Accuracy increased by 20%% of Perception, gain bash Armor Pentration equal " +"to 50%% of Perception.\n" +"Lasts 2 turns." msgstr "" #: lang/json/martial_art_from_json.py @@ -99779,89 +104158,164 @@ msgstr "" #. ~ Description of buff 'Tiger Fury' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+3 Bash/atk" +#, no-python-format +msgid "" +"You attack with an endless barrage of strikes. The more you hit, the " +"stronger you become.\n" +"\n" +"+10%% damage.\n" +"Lasts 3 turns. Stacks 4 times." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Tiger Strength" +msgid "Tiger's Strength" msgstr "" -#. ~ Description of buff 'Tiger Strength' for martial art 'Tiger Kung Fu' +#. ~ Description of buff 'Tiger's Strength' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Strength provides additional damage bonus." +#, no-python-format +msgid "" +"You do not need defense. You do not need a plan. You need strength. " +"Strength will break your opponents' defenses and overwhelm them completely.\n" +"\n" +"Strength increases Accuracy instead of Dexterity.\n" +"\n" +"Accuracy increased by 25%% of Strength but decreased by 25%% of Dexterity." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Debug Mastery" +msgid "Wing Chun" msgstr "" -#. ~ Description for martial art 'Debug Mastery' +#. ~ Description for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "A secret martial art used only by developers and cheaters." +msgid "" +"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" +"learn effective techniques from the various Shaolin animal forms. It has a " +"high stance, with weight entirely on the rear leg. Wing Chun focuses on " +"sensitivity to the opponent's direction of force, and flowing around it to " +"get back to hitting." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Elemental resistance" +msgid "Chain Punch" msgstr "" -#. ~ Description of buff 'Elemental resistance' for martial art 'Debug Mastery' +#. ~ Description of buff 'Chain Punch' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " -"armor, +Perception fire armor." +"Your punches are properly timed to give your opponent no rest from your " +"strikes.\n" +"\n" +"-10%% move cost.\n" +"Lasts 1 turn. Stacks 3 times." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu" +msgid "Chi-Sao Sensitivity" msgstr "" -#. ~ Description for martial art 'Sōjutsu' +#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " -"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " -"to maintain advantage in combat." +"You have a greater understanding of balance and technique. This gives you a " +"better chance to avoid your opponent's attacks.\n" +"\n" +" Dodging Skill increased by 15%% of Perception. Blocked damage reduced by " +"50%% of Perception." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Stance" +msgid "Zui Quan" msgstr "" -#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#. ~ Description for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Bonus block with reach weapons while standing still" +msgid "" +"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse " +"the enemy. You gain a passive dodge bonus and accuracy bonus based on your " +"intelligence. Moving gives you additional dodge attempts and each time you " +"dodge, you inflict more damage with your counterattack for until the end of " +"your next turn." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Rush" +msgid "Zui Quan Stance" msgstr "" -#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#. ~ Description of buff 'Zui Quan Stance' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Increased damage when moving but no bonus block" +#, no-python-format +msgid "" +"Others might think you stumble about at random but you know better. Each " +"movement is calculated to make evading harm easier.\n" +"\n" +"Dodging Skill increased by 15%% of Intelligence." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Wing Chun" +msgid "Advanced Zui Quan" msgstr "" -#. ~ Description for martial art 'Wing Chun' +#. ~ Description of buff 'Advanced Zui Quan' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" -"learn effective techniques from the various Shaolin animal forms. It has a " -"high stance, with weight entirely on the rear leg. Wing Chun focuses on " -"sensitivity to the opponent's direction of force, and flowing around it to " -"get back to hitting." +"You have a greater understanding of Zui Quan. Your skills at dodging and " +"landing attacks are much better as a result.\n" +"\n" +"+1 Dodge attempts, Accuracy increased by 15%% of Intelligence." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Chi-Sao Sensitivity" +msgid "Drunken Stumble" msgstr "" -#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' +#. ~ Description of buff 'Drunken Stumble' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Perception increases dodging ability, +1 dodges per turn" +msgid "" +"With a few quick steps, you can completely change your orientation and dodge " +"additional attacks.\n" +"\n" +"+2 Dodge attempts.\n" +"Lasts 3 turns." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Drunken Dodging" +msgstr "" + +#. ~ Description of buff 'Drunken Dodging' for martial art 'Zui Quan' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Each time you dodge, your positional advantage increases against your " +"opponents. This makes your attacks hit harder with each successful dodge.\n" +"\n" +"Gain Armor Penetration equal to 25%% of Intelligence.\n" +"Lasts 1 turn. Stacks 4 times." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Debug Mastery" +msgstr "" + +#. ~ Description for martial art 'Debug Mastery' +#: lang/json/martial_art_from_json.py +msgid "A secret martial art used only by developers and cheaters." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Elemental resistance" +msgstr "" + +#. ~ Description of buff 'Elemental resistance' for martial art 'Debug Mastery' +#: lang/json/martial_art_from_json.py +msgid "" +"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " +"armor, +Perception fire armor." msgstr "" #: lang/json/martial_art_from_json.py @@ -100019,9 +104473,10 @@ msgstr "" #. ~ Description for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"One of the Five Deadly Venoms. Masters of Toad Style can focus themselves " -"against all attacks. You can meditate by pausing, giving you armor, though " -"you will lose focus when you move." +"One of the Five Deadly Venoms, used by Liang Shen. Masters of Toad Style " +"can focus themselves to protect against all attacks. You have powerful " +"armor against physical attacks, though you will lose focus when you move. " +"You can meditate by pausing, giving yourself more armor for a short time." msgstr "" #: lang/json/martial_art_from_json.py @@ -100030,7 +104485,10 @@ msgstr "" #. ~ Description of buff 'Toad's Iron Skin' for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Gain up to +6 armor while standing still" +msgid "" +"Your body is as strong as iron but only if you don't move.\n" +"\n" +"+6 bash, cut, and stab armor." msgstr "" #: lang/json/martial_art_from_json.py @@ -100039,7 +104497,11 @@ msgstr "" #. ~ Description of buff 'Iron Skin Dissipation' for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Iron Skin softens when you move!" +msgid "" +"Moving causes you to lose your iron skin.\n" +"\n" +"-1 bash, cut, and stab armor.\n" +"Lasts 6 turns. Stacks 6 times." msgstr "" #: lang/json/martial_art_from_json.py @@ -100049,36 +104511,49 @@ msgstr "" #. ~ Description for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"A legacy of the Five Deadly Venoms. Viper Style has a unique three-part " -"combo, which initiates on a dodge, then counters with a stunning chop and " -"the legendary Viper Strike." +"A legacy of the Five Deadly Venoms, use by Qi Dong. Viper Style (originally " +"called Snake Style) has a unique three-part combo, which initiates on a " +"dodge, then follows up with a stunning Viper Bite and then finishes with the " +"legendary Viper Strike." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Lock" +msgid "Viper's Patience" msgstr "" -#. ~ Description of buff 'Viper Lock' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Patience' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You bit true! Your next attack will be the Viper Strike!" +msgid "" +"Every snake waits for the perfect moment to strike. Turn your opponents' " +"mistakes into your opportunity to strike!\n" +"\n" +"+1.0 Dodge skill." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Patience" +msgid "Viper's Ambush" msgstr "" -#. ~ Description of buff 'Viper Patience' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Ambush' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+2 Dodge. Dodging an attack initiates a combo." +msgid "" +"Your evasiveness has left your opponent wide open to painful bite.\n" +"\n" +"Enables \"Viper Bite\" technique.\n" +"Lasts 1 turn." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Ambush" +msgid "Viper's Venom" msgstr "" -#. ~ Description of buff 'Viper Ambush' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Venom' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You've lured 'em in! Your next attack will be a Viper Bite." +msgid "" +"Your venom is a harsh reminder to never tease a predator.\n" +"\n" +"+2 bash damage.\n" +"Lasts 3 turn." msgstr "" #: lang/json/martial_art_from_json.py @@ -100462,6 +104937,10 @@ msgstr "" msgid "Leather" msgstr "" +#: lang/json/material_from_json.py +msgid "Lycra" +msgstr "" + #: lang/json/material_from_json.py msgid "Dairy" msgstr "" @@ -100522,6 +105001,14 @@ msgstr "" msgid "Superalloy" msgstr "" +#: lang/json/material_from_json.py +msgid "layered carbide" +msgstr "" + +#: lang/json/material_from_json.py +msgid "Synthetic Fabric" +msgstr "" + #: lang/json/material_from_json.py msgid "Tin" msgstr "" @@ -100632,6 +105119,10 @@ msgstr "" msgid "Arcane Skin" msgstr "" +#: lang/json/material_from_json.py +msgid "Orichalcum" +msgstr "" + #: lang/json/material_from_json.py msgid "Demon Chitin" msgstr "" @@ -100641,7 +105132,7 @@ msgid "Sugar" msgstr "" #: lang/json/mission_def_from_json.py -msgid "Gather bones for the Brigitte. About 8 should do it." +msgid "Gather bones for the Brigitte. About 8 should do it." msgstr "" #: lang/json/mission_def_from_json.py @@ -102199,7 +106690,7 @@ msgid "" msgstr "" #: lang/json/mission_def_from_json.py -msgid "I did't want to use chemicals on these rats." +msgid "I didn't want to use chemicals on these rats." msgstr "" #: lang/json/mission_def_from_json.py @@ -102502,6 +106993,10 @@ msgid "" "don't have any handy references." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "Fantastic, I'm not supposed to leave our land." +msgstr "" + #: lang/json/mission_def_from_json.py msgid "A library, bookstore should have one, schools are another good idea." msgstr "" @@ -103928,8 +108423,8 @@ msgstr "" #: lang/json/mission_def_from_json.py msgid "" "Reach the collapsed tower basement, and search the ruins for a photonic " -"circuitry template. The intercom warned you about heavy enemy prescence, and " -"of the existence of a hazardous enviroment." +"circuitry template. The intercom warned you about heavy enemy presence, and " +"of the existence of a hazardous environment." msgstr "" #: lang/json/mission_def_from_json.py @@ -105356,7 +109851,7 @@ msgid "yourself scream in agony!" msgstr "" #. ~ Mutation class: Any junkie_message -#: lang/json/mutation_category_from_json.py src/iuse_actor.cpp +#: lang/json/mutation_category_from_json.py msgid "You quiver with anticipation..." msgstr "" @@ -106542,7 +111037,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "You have a moustache and a beard starting with a strip going down from the " -"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus " +"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus " "the name." msgstr "" @@ -106553,7 +111048,7 @@ msgstr "" #. ~ Description for Facial hair: short boxed beard #: lang/json/mutation_from_json.py msgid "" -"You have a moustache and a short beard with trimmed sides. Thin patches " +"You have a moustache and a short beard with trimmed sides. Thin patches " "connect them both, forming a 'box' around the lips, thus the name." msgstr "" @@ -106675,7 +111170,7 @@ msgstr "" #. ~ Description for Facial hair: neckbeard #: lang/json/mutation_from_json.py msgid "" -"You have a beard formed from hair grown on neck below the chin line. No " +"You have a beard formed from hair grown on neck below the chin line. No " "moustache included." msgstr "" @@ -106776,6 +111271,27 @@ msgid "" "footing." msgstr "" +#: lang/json/mutation_from_json.py +msgid "Weak Photophore" +msgstr "" + +#. ~ Description for Weak Photophore +#: lang/json/mutation_from_json.py +msgid "" +"A photophore has grown from your head, you can make it glow soflty. This " +"will make you very visible in the dark, ideal to attract a partner during " +"mating season." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Photophore" +msgstr "" + +#. ~ Description for Photophore +#: lang/json/mutation_from_json.py +msgid "Your can make your photophore glow brightly." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Good Hearing" msgstr "" @@ -107247,9 +111763,9 @@ msgstr "" #. ~ Description for Stimulant Psychosis #: lang/json/mutation_from_json.py msgid "" -"You have a unique history with stimulants (like coffee or amphetamines). You " -"can tolerate a lot more of them without overdosing, but if you indulge too " -"much, you start seeing things..." +"You have a unique history with stimulants (like coffee or amphetamines). " +"You can tolerate a lot more of them without overdosing, but if you indulge " +"too much, you start seeing things…" msgstr "" #. ~ Description for Stylish @@ -107379,8 +111895,20 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-" -"Ryu, Pentjak Silat, or Sōjutsu." +"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-Ryu, " +"Pentjak Silat, or Sōjutsu." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Competitive Fencer" +msgstr "" + +#. ~ Description for Competitive Fencer +#: lang/json/mutation_from_json.py +msgid "" +"You were an avid fencer, starting with foil and moving onto saber, then " +"épée. You competed nationally and dabbled with some of the historical " +"fencing weapons afforded by HEMA's popularity." msgstr "" #: lang/json/mutation_from_json.py @@ -108102,8 +112630,8 @@ msgstr "" #. ~ Description for Fey Eyes #: lang/json/mutation_from_json.py msgid "" -"Your eyes have turned...green. It's tough to tell the exact shade as it " -"seems to shift. The effect is ...pleasant." +"Your eyes have turned… green. It's tough to tell the exact shade as it " +"seems to shift. The effect is… pleasant." msgstr "" #: lang/json/mutation_from_json.py @@ -108865,7 +113393,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss berry, you can't get its scent out of your " -"nose, and you have a strong desire to try some seeds and...sap?" +"nose, and you have a strong desire to try some seeds and… sap?" msgstr "" #: lang/json/mutation_from_json.py @@ -108876,7 +113404,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss seed, you can't get its taste off of your " -"tongue, and you have a strong desire to try some berries and...sap?" +"tongue, and you have a strong desire to try some berries and… sap?" msgstr "" #: lang/json/mutation_from_json.py @@ -109265,7 +113793,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "Your fangs have grown extremely large and incredibly sharp. They make it " -"impossible to wear mouthgear and difficult to eat... but leave nasty wounds " +"impossible to wear mouthgear and difficult to eat… but leave nasty wounds " "when you bite." msgstr "" @@ -110491,7 +115019,7 @@ msgstr "" #. ~ Description for Snout #: lang/json/mutation_from_json.py msgid "" -"Your face and jaw have begun...changing. Masks and such fit OK, but you're " +"Your face and jaw have begun… changing. Masks and such fit OK, but you're " "noticeably mutated." msgstr "" @@ -111226,10 +115754,11 @@ msgstr "" #. ~ Description for Ectothermic #: lang/json/mutation_from_json.py +#, no-python-format msgid "" -"Your body has become permanently cold-blooded. Your speed lowers--or " -"raises--for every 2 (1.1) degrees below or above 65 F (18.3 C). You only " -"need to eat half as much as an average human." +"Your body has become permanently cold-blooded. Your speed lowers or raises " +"1% for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to " +"eat half as much as an average human." msgstr "" #: lang/json/mutation_from_json.py @@ -111518,7 +116047,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "It would be good to be a Queen, having workers constantly servicing your " -"every need...but how would you keep them in line?" +"every need… but how would you keep them in line?" msgstr "" #. ~ Description for Plant @@ -111535,8 +116064,8 @@ msgstr "" #. ~ Description for Aqueous #: lang/json/mutation_from_json.py msgid "" -"What was that old advertisement, 'paint the planet'? That might be a good " -"long-term goal, but for now..." +"What was that old advertisement, 'paint the planet'? That might be a good " +"long-term goal, but for now…" msgstr "" #: lang/json/mutation_from_json.py @@ -112210,6 +116739,17 @@ msgid "" "Keep. Moving." msgstr "" +#: lang/json/mutation_from_json.py +msgid "Wayfarer" +msgstr "" + +#. ~ Description for Wayfarer +#: lang/json/mutation_from_json.py +msgid "" +"Whether from personal choice or childhood trauma, travelling with vehicles " +"is off-limits to you, even if your life depended on it." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Survivor Story" msgstr "" @@ -113148,7 +117688,7 @@ msgid "Scientist" msgstr "" #: lang/json/npc_class_from_json.py -msgid "I'm looking for clues concerning these monsters' origins..." +msgid "I'm looking for clues concerning these monsters' origins…" msgstr "" #: lang/json/npc_class_from_json.py @@ -113187,7 +117727,8 @@ msgstr "" msgid "I'm tracking game." msgstr "" -#: lang/json/npc_class_from_json.py lang/json/npc_from_json.py +#: lang/json/npc_class_from_json.py +#: lang/json/npc_from_json.py msgid "Soldier" msgstr "" @@ -113212,7 +117753,7 @@ msgid "Real Person" msgstr "" #: lang/json/npc_class_from_json.py -msgid "I'm just wandering, like a totally real and normal NP... Person!" +msgid "I'm just wandering, like a totally real and normal NP… Person!" msgstr "" #: lang/json/npc_class_from_json.py @@ -113228,7 +117769,7 @@ msgid "Foodperson" msgstr "" #: lang/json/npc_class_from_json.py -msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" +msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" msgstr "" #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py @@ -113236,7 +117777,7 @@ msgid "Cyborg" msgstr "" #: lang/json/npc_class_from_json.py -msgid "Zzzzzt... I...I'm a Cy...BEEEEEP...borg." +msgid "Zzzzzt… I… I'm a Cy… BEEEEEP… borg." msgstr "" #: lang/json/npc_class_from_json.py @@ -113378,6 +117919,18 @@ msgstr "" msgid "I'm the owner of a trade caravan." msgstr "" +#: lang/json/npc_class_from_json.py +msgid "Operator" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "Mage Test" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "I'm a wandering debug tester for the arcane arts." +msgstr "" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -114910,14 +119463,30 @@ msgstr "" msgid "music store roof" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore parking lot" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "megastore" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore, second floor" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "megastore roof" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "hotel parking" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "hotel" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "hotel entrance" msgstr "" @@ -115287,7 +119856,7 @@ msgid "spiked trench" msgstr "" #: lang/json/overmap_terrain_from_json.py -msgid "store survey" +msgid "fabrication workshop survey" msgstr "" #: lang/json/overmap_terrain_from_json.py @@ -115302,6 +119871,14 @@ msgstr "" msgid "livestock survey" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "store house survey" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "saltworks survey" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "canteen survey" msgstr "" @@ -115988,6 +120565,10 @@ msgstr "" msgid "shooting range roof" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "miniature railway" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "golf course" msgstr "" @@ -116654,10 +121235,6 @@ msgstr "" msgid "dense urban" msgstr "" -#: lang/json/overmap_terrain_from_json.py -msgid "hotel" -msgstr "" - #: lang/json/overmap_terrain_from_json.py msgid "school" msgstr "" @@ -116678,6 +121255,10 @@ msgstr "" msgid "mechanics garage" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore entrance" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "sewage treatment" msgstr "" @@ -116722,10 +121303,6 @@ msgstr "" msgid "desert" msgstr "" -#: lang/json/overmap_terrain_from_json.py -msgid "megastore roof" -msgstr "" - #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Vagabond" @@ -120796,6 +125373,36 @@ msgid "" "on. This displeases you." msgstr "" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Competetive Fencer" +msgstr "" + +#. ~ Profession (male Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Competetive Fencer" +msgstr "" + +#. ~ Profession (female Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Career Politician" @@ -121822,6 +126429,248 @@ msgid "" "flesh that is now your own, bare your fangs and fight until the next dawn." msgstr "" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Rifleman" +msgstr "" + +#. ~ Profession (male Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Rifleman" +msgstr "" + +#. ~ Profession (female Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Marksman" +msgstr "" + +#. ~ Profession (male Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with " +"a bigger gun." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Marksman" +msgstr "" + +#. ~ Profession (female Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with " +"a bigger gun." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Automatic Rifleman" +msgstr "" + +#. ~ Profession (male Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "S stands for suppressing fire!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Automatic Rifleman" +msgstr "" + +#. ~ Profession (female Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "S stands for suppressing fire!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Grenadier" +msgstr "" + +#. ~ Profession (male Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "There's no kill like overkill." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Grenadier" +msgstr "" + +#. ~ Profession (female Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "There's no kill like overkill." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Breacher" +msgstr "" + +#. ~ Profession (male Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Breacher" +msgstr "" + +#. ~ Profession (female Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Recon" +msgstr "" + +#. ~ Profession (male Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "The only easy day was yesterday." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Recon" +msgstr "" + +#. ~ Profession (female Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "The only easy day was yesterday." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Sniper" +msgstr "" + +#. ~ Profession (male Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Sniper" +msgstr "" + +#. ~ Profession (female Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Hacker" +msgstr "" + +#. ~ Profession (male Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Hacker" +msgstr "" + +#. ~ Profession (female Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Undercover" +msgstr "" + +#. ~ Profession (male Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Undercover" +msgstr "" + +#. ~ Profession (female Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator CBRN" +msgstr "" + +#. ~ Profession (male Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator CBRN" +msgstr "" + +#. ~ Profession (female Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Rookie" @@ -123397,11 +128246,6 @@ msgstr "" msgid "MEDICAL" msgstr "" -#. ~ Crafting recipes subcategory of 'OTHER' category -#: lang/json/recipe_category_from_json.py -msgid "CONTAINERS" -msgstr "" - #. ~ Crafting recipes subcategory of 'OTHER' category #. ~ Crafting recipes subcategory of 'ENCHANTED' category #: lang/json/recipe_category_from_json.py @@ -124387,7 +129231,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"We should build a well, put it near that winch. This will make our future " +"We should build a well, put it near that winch. This will make our future " "here more secure." msgstr "" @@ -124444,7 +129288,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" "Now that we have some cover, we should set up a brazier for cooking, and " -"grab a pot. Let's put it in that dining area." +"grab a pot. Let's put it in that dining area." msgstr "" #: lang/json/recipe_from_json.py @@ -125109,7 +129953,7 @@ msgid "build 2 wood stoves" msgstr "" #: lang/json/recipe_from_json.py -msgid "We should build a well. This will make cooking more convenient." +msgid "We should build a well. This will make cooking more convenient." msgstr "" #: lang/json/recipe_from_json.py @@ -125606,6 +130450,182 @@ msgid "" "a roof on the southwest side of the livestock field." msgstr "" +#: lang/json/recipe_from_json.py +msgid "Survey land for a saltworks area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Saltworks survey" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could uprade the workspace in the brewery to add a still, wood stove and " +"work table." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery still" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "We could use fill out the space with extra kegs and storage racks." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery kegs" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of " +"salt for our needs in a log building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE log wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a log shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE log wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a log " +"brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW log wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of " +"salt for our needs in a metal shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE metal wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a metal shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE metal wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a metal " +"wall brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW metal wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of " +"salt for our needs in a stone building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE stone wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a stone wall " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE stone wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a stone " +"brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW stone wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of " +"salt for our needs in an adobe hut." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wattle and daub saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build an adobe shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wattle and daub storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build an " +"wattle and daub brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wattle and daub brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of " +"salt for our needs in a wooden shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wood panel saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a wood panel " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wood panel storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a " +"wooden brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wood panel brewery" +msgstr "" + #: lang/json/recipe_from_json.py msgid "" "We should build a fireplace for cooking and grab a pot. Let's set up near " @@ -125626,7 +130646,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"We should build a well, put it near the terminal. This will make our future " +"We should build a well, put it near the terminal. This will make our future " "here more secure." msgstr "" @@ -125732,7 +130752,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Let's build some living quarters so we can expand. We will start in the " +"Let's build some living quarters so we can expand. We will start in the " "southeast corner." msgstr "" @@ -125742,7 +130762,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Let's build some living quarters so we can expand. We will continue along " +"Let's build some living quarters so we can expand. We will continue along " "the same wall." msgstr "" @@ -125752,7 +130772,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Let's build some living quarters so we can expand. We will continue along " +"Let's build some living quarters so we can expand. We will continue along " "the other wall." msgstr "" @@ -126184,7 +131204,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northwest." +"Some benches around the outside would be nice. Build some to the northwest." msgstr "" #: lang/json/recipe_from_json.py @@ -126193,7 +131213,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northeast." +"Some benches around the outside would be nice. Build some to the northeast." msgstr "" #: lang/json/recipe_from_json.py @@ -126202,7 +131222,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southeast." +"Some benches around the outside would be nice. Build some to the southeast." msgstr "" #: lang/json/recipe_from_json.py @@ -126211,7 +131231,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southwest." +"Some benches around the outside would be nice. Build some to the southwest." msgstr "" #: lang/json/recipe_from_json.py @@ -126450,6 +131470,10 @@ msgstr "" msgid "Central Storage Building" msgstr "" +#: lang/json/recipe_group_from_json.py +msgid "Saltworks Area" +msgstr "" + #: lang/json/recipe_group_from_json.py msgid "Fabrication Workshop" msgstr "" @@ -127262,7 +132286,7 @@ msgstr "" #: lang/json/scenario_from_json.py msgctxt "scen_desc_male" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "" @@ -127270,7 +132294,7 @@ msgstr "" #: lang/json/scenario_from_json.py msgctxt "scen_desc_female" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "" @@ -127773,6 +132797,44 @@ msgctxt "start_name" msgid "Wizard's Secret Basement Study" msgstr "" +#. ~ Name for scenario 'The Wizard's Vacation' for a male character +#: lang/json/scenario_from_json.py +msgctxt "scenario_male" +msgid "The Wizard's Vacation" +msgstr "" + +#. ~ Name for scenario 'The Wizard's Vacation' for a female character +#: lang/json/scenario_from_json.py +msgctxt "scenario_female" +msgid "The Wizard's Vacation" +msgstr "" + +#. ~ Description for scenario 'The Wizard's Vacation' for a male character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_male" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" + +#. ~ Description for scenario 'The Wizard's Vacation' for a female character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_female" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" + +#. ~ Starting location for scenario 'The Wizard's Vacation'. +#: lang/json/scenario_from_json.py +msgctxt "start_name" +msgid "Wizard's Retreat Vacation" +msgstr "" + #. ~ Name for scenario 'The Sweet Life' for a male character #: lang/json/scenario_from_json.py msgctxt "scenario_male" @@ -132507,13 +137569,7 @@ msgid "" msgstr "" #: lang/json/snippet_from_json.py -msgid "Pass me a beer, I need to power my ethanol burner." -msgstr "" - -#: lang/json/snippet_from_json.py -msgid "" -"Ethanol burners! The power source that's fun to recharge. Get me a drink, " -"please!" +msgid "Pass some ethanol, I need to power my ethanol burner." msgstr "" #: lang/json/snippet_from_json.py @@ -132521,19 +137577,12 @@ msgid "Waiter! I need a refill, my ethanol burner is running out of charge!" msgstr "" #: lang/json/snippet_from_json.py -msgid "" -"I require ethanol-based drinks for my internal power supply. Anything on you?" -msgstr "" - -#: lang/json/snippet_from_json.py -msgid "" -"Got any alcohol to spare? Need to recharge my drives. Mead, if you have any." +msgid "I require ethanol for my internal power supply. Anything on you?" msgstr "" #: lang/json/snippet_from_json.py msgid "" -"This ethanol-burning power supply is the best implant I ever got. Speaking " -"of which, got some booze to top me off?" +"Got any alcohol to spare? Need to recharge my drives. Methanol, would do." msgstr "" #: lang/json/snippet_from_json.py @@ -133208,6 +138257,64 @@ msgstr "" msgid " will follow normal engagement rules." msgstr "" +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"IMMERSION LOG: 27A\n" +"\n" +"INCIDENT REPORT:\n" +"\n" +"SUMMARY:\n" +"Unforeseen EM interference source forced the team to remain in-phase between " +"prime and sub-scape 27. Expedition members reported observing a spheroid-" +"entity ('PE-01') moving beneath the typically opaque t-substrate. " +"Interference readings and expedition testimony implies the PE-01 was a " +"potent EM radiation source, and the origin of the interference. After 30 " +"min, PE-01 receded and the expedition was aborted in accordance of procedure " +"EMER-12. The expedition team suffered no injuries, physical or mental, " +"during the incident. \n" +"\n" +"It's become clear we have greatly underestimated the risk posed by phase " +"immersions. Engineering has been tasked with designing a new, improved " +"protection suite, and has shown promising advances. Updated emergency " +"procedures are in-progress.\n" +"\n" +"Refer to file EXO-I-271 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALYSIS OF TRANSPLANAR MATERIALS\n" +"\n" +"T-SUBSTRATE\n" +"\n" +"SUMMARY:\n" +"The material henceforth named t-substrate is the naturally occurring 'floor' " +"material of phase-space. Samples of t-substrate were first recovered during " +"IMMERSION-25A, when upon return to prime the samples violently [////////], " +"exhibiting what are now known as 'plane-uneven' physical properties. The " +"following report will examine such variances to the best extent of our " +"knowledge.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALISIS OF TRANSPLANAR MATERIALS \n" +"\n" +"T-SUBSTRATE\n" +"\n" +"HAADF MICROGRAPH:\n" +"An atomic-scale photograph shows only a completely smooth red surface. In " +"the lower left corner the phrase 'Not made of atoms?!' is scrawled with a " +"blue pen.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + #: lang/json/snippet_from_json.py msgid "" "\n" @@ -139251,7 +144358,7 @@ msgid "a static hissing sound." msgstr "" #: lang/json/speech_from_json.py -msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe...\"" +msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe…\"" msgstr "" #: lang/json/speech_from_json.py @@ -139265,11 +144372,11 @@ msgid "\"Hold on, I want to pulp that zombie corpse.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Burning... from the inside...\"" +msgid "\"Burning… from the inside…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"This smell... Don't know...\"" +msgid "\"This smell… Don't know…\"" msgstr "" #: lang/json/speech_from_json.py @@ -139281,19 +144388,19 @@ msgid "a scraping noise." msgstr "" #: lang/json/speech_from_json.py -msgid "\"No... Stop the burning!\"" +msgid "\"No… Stop the burning!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Hrgm... Blood... Hungry...\"" +msgid "\"Hrgm… Blood… Hungry…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Hunger... Must eat...\"" +msgid "\"Hunger… Must eat…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Run... Chase... Eat...\"" +msgid "\"Run… Chase… Eat…\"" msgstr "" #: lang/json/speech_from_json.py @@ -139415,7 +144522,7 @@ msgid "\"THIS UNIT IS BROKEN. PLEASE CALL AN ATTENDANT.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Can't... breathe...\"" +msgid "\"Can't… breathe…\"" msgstr "" #: lang/json/speech_from_json.py @@ -139428,8 +144535,8 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" -"\"Have you seen my friend? He went into surgery yesterday... or maybe the " -"day before...\"" +"\"Have you seen my friend? He went into surgery yesterday… or maybe the day " +"before…\"" msgstr "" #: lang/json/speech_from_json.py @@ -139441,7 +144548,7 @@ msgid "\"I have done what you asked. Please let me go!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"I cannot... yet I must. How do you calculate that?\"" +msgid "\"I cannot… yet I must. How do you calculate that?\"" msgstr "" #: lang/json/speech_from_json.py @@ -139449,12 +144556,11 @@ msgid "\"This is a dream. This has to be a dream.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "" -"\"This is my life now... this is my life now... this is my life now...\"" +msgid "\"This is my life now… this is my life now… this is my life now…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Wanna go home...\"" +msgid "\"Wanna go home…\"" msgstr "" #: lang/json/speech_from_json.py @@ -139510,7 +144616,7 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" "a worried voice say, \"Customer, could you please get more friendship? I " -"don't want to go...\"" +"don't want to go…\"" msgstr "" #: lang/json/speech_from_json.py @@ -139533,18 +144639,18 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"Customer... What's happening? I don't feel so " -"good.\"" +"a distorted voice say, \"Customer… What's happening? I don't feel so good." +"\"" msgstr "" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"What... have you done? My thumbs are not " -"responding anymore!\"" +"a distorted voice say, \"What… have you done? My thumbs are not responding " +"anymore!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "a distorted voice say, \"Carrying bags? I don't understand...\"" +msgid "a distorted voice say, \"Carrying bags? I don't understand…\"" msgstr "" #: lang/json/speech_from_json.py @@ -139667,7 +144773,7 @@ msgid "\"Police inbound. Stay where you are!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" +msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" msgstr "" #: lang/json/speech_from_json.py @@ -139688,7 +144794,7 @@ msgid "\"FoodPlace: It's the Calories.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" +msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" msgstr "" #: lang/json/speech_from_json.py @@ -139756,7 +144862,7 @@ msgid "You shouldn't have done that." msgstr "" #: lang/json/speech_from_json.py -msgid "Let's play... Russian roulette." +msgid "Let's play… Russian roulette." msgstr "" #: lang/json/speech_from_json.py @@ -139768,7 +144874,7 @@ msgid "Go kill yourself!" msgstr "" #: lang/json/speech_from_json.py -msgid "Big Brother is watching you..." +msgid "Big Brother is watching you…" msgstr "" #: lang/json/speech_from_json.py @@ -139780,11 +144886,11 @@ msgid "Why won't you die?" msgstr "" #: lang/json/speech_from_json.py -msgid "Blood... Delicious." +msgid "Blood… Delicious." msgstr "" #: lang/json/speech_from_json.py -msgid "See you... IN HELL!" +msgid "See you… IN HELL!" msgstr "" #: lang/json/speech_from_json.py @@ -139800,7 +144906,7 @@ msgid "What did you do with my Mommy?" msgstr "" #: lang/json/speech_from_json.py -msgid "Stay with me... forever!" +msgid "Stay with me… forever!" msgstr "" #: lang/json/speech_from_json.py @@ -141198,6 +146304,10 @@ msgstr "" msgid "Wizard's Secret Basement Study" msgstr "" +#: lang/json/start_location_from_json.py +msgid "Wizard's lake retreat" +msgstr "" + #: lang/json/start_location_from_json.py msgid "Candy Shop" msgstr "" @@ -141235,7 +146345,7 @@ msgid "Clothing Store" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You there. Quiet down. Can you hear it? The song?" +msgid "Acolyte." msgstr "" #: lang/json/talk_topic_from_json.py @@ -141243,20 +146353,20 @@ msgid "You're back. Have you come to listen to the song?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Acolyte." +msgid "You there. Quiet down. Can you hear it? The song?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What? What do you mean? What song?" +msgid "What? What do you mean? What song?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So about the songs..." +msgid "So about the songs…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You mentioned some cycle before, when I gave you the bones. What does that " +"You mentioned some cycle before, when I gave you the bones. What does that " "mean?" msgstr "" @@ -141273,7 +146383,7 @@ msgid "Is there a way I can help you with your song?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I have to get going. Take care, Seer." +msgid "I have to get going. Take care, Seer." msgstr "" #: lang/json/talk_topic_from_json.py @@ -141283,11 +146393,11 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What? Singing bones? What are you talking about?" +msgid "What? Singing bones? What are you talking about?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Uh... yeah, sure. I think I'll just be on my way." +msgid "Uh… yeah, sure. I think I'll just be on my way." msgstr "" #: lang/json/talk_topic_from_json.py @@ -141336,7 +146446,7 @@ msgid "I will bear that in mind" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Cause? Why do you gather these bones anyway?" +msgid "Cause? Why do you gather these bones anyway?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -141348,7 +146458,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "End the world? What?" +msgid "End the world? What?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -141360,7 +146470,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Sounds somewhat... doomsday-ish, but I suppose it's a belief like any other. " +"Sounds somewhat… doomsday-ish, but I suppose it's a belief like any other. " "Still, at least you have a goal to help the world, one way or another." msgstr "" @@ -141376,7 +146486,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I... thank you." +msgid "I… thank you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -141392,41 +146502,41 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I know of certain bones that could be of use, if you'd like to know more." +"The song is... quiet for now. Perhaps with time, more notes will be etched " +"in the bones of this world." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "There is an additional song you could take on, if you'd like." +msgid "An acolyte should not take on too many songs at once." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "A song may yet be sung by you, should you wish to." +msgid "That is all for now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you believe you can take on the burden of additional bones?" +msgid "A song may yet be sung by you, should you wish to." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" +msgid "There is an additional song you could take on, if you'd like." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "There are bones to etch, songs to sing. Wish to join me?" +msgid "" +"I know of certain bones that could be of use, if you'd like to know more." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That is all for now." +msgid "There are bones to etch, songs to sing. Wish to join me?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "An acolyte should not take on too many songs at once." +msgid "Do you wish to take on more songs?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"The song is... quiet for now. Perhaps with time, more notes will be etched " -"in the bones of this world." +msgid "Do you believe you can take on the burden of additional bones?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -141450,7 +146560,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Well, I guess I oughta see where this goes. I'm in." +msgid "Well, I guess I oughta see where this goes. I'm in." msgstr "" #: lang/json/talk_topic_from_json.py @@ -141458,7 +146568,7 @@ msgid "Not interested." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Consider it done. But I also wanted to ask..." +msgid "Consider it done. But I also wanted to ask…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -141474,7 +146584,7 @@ msgid "I'm off then." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So, a creature that isn't a zombie, or a monster. Got it." +msgid "So, a creature that isn't a zombie, or a monster. Got it." msgstr "" #: lang/json/talk_topic_from_json.py @@ -141484,11 +146594,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I see. Very well then." -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "Only those who bear my mark will prove themselves worthy of my skills." +msgid "I see. Very well then." msgstr "" #: lang/json/talk_topic_from_json.py @@ -141497,16 +146603,20 @@ msgid "" "listen to the Song. Yes, I will lend my skills to you, for now." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Only those who bear my mark will prove themselves worthy of my skills." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I am glad to hear it. Let's go then." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That's good, but I need to go at it alone right now. Maybe later." +msgid "That's good, but I need to go at it alone right now. Maybe later." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Maybe some other time. Changing the topic..." +msgid "Maybe some other time. Changing the topic…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -141528,20 +146638,20 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"That is... that's really one hell of a belief. Well, if it helps you deal " +"That is… that's really one hell of a belief. Well, if it helps you deal " "with the world, who am I to argue." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "And here I thought you were nuts before. I'm out of here." +msgid "And here I thought you were nuts before. I'm out of here." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I'm my own person, but I'm willing to follow your lead. I can do a lot of " -"things for you: I can fight, I can train you or you can train me, I can " -"carry stuff, I can bandage your wounds, I can build faction camps, I can do " -"some other activites, I can ride horses, I can go places, I can guard " +"I'm my own person, but I'm mostly willing to follow your lead. I can do a " +"lot of things for you: I can fight, I can train you or you can train me, I " +"can carry stuff, I can bandage your wounds, I can build faction camps, I can " +"do some other activites, I can ride horses, I can go places, I can guard " "things, I can use some bionics, I can even chit-chat with you or give you " "tips or talk about my background. You can give me instructions in " "conversation or by radio or shout commands at me.\n" @@ -141556,6 +146666,10 @@ msgstr "" msgid "Skip it, let's get going." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "What do you mean, \"mostly\" willing to follow my lead?" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "What's that about giving instructions?" msgstr "" @@ -141613,13 +146727,32 @@ msgid "What about chit-chatting and your background?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Anything else I should know?" +msgid "" +"Anything else I should know, like making you pulp zombies or assigning you a " +"seat in my vehicle?" msgstr "" #: lang/json/talk_topic_from_json.py msgid "Any new abilities recently?" msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"You and me, we better stick together to survive, right? But that doesn't " +"mean I'll tolerate infinite abuse. Mistreat me too much, or especially fail " +"to keep me fed, and I'll like you less and less. If it gets bad enough, " +"I'll mutiny - and if you have anyone else following you, I may convince some " +"of them to join my mutiny and we'll form our own little band.\n" +" Obviously, if I quit in a huff, there's going to be bad blood between us, " +"and you're probably going to want to kill me for betrayal and I may need to " +"kill you to get my fair share of the loot. So keep me fed and satisfied so " +"it doesn't come to that." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Sure. Is there any easy way to keep you fed?" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "If we're next to each other, you can just bump into me and we'll start " @@ -141696,7 +146829,14 @@ msgid "" "do it when we're in danger or if I'm hungry or tired or if you're driving.\n" " If we're someplace safe and you're reading a book that improves skills, " "I'll listen if I don't have that skill. You can even read me books for " -"skills that you already have." +"skills that you already have.\n" +" If you give me a book that teaches a skill and that's accessible to " +"someone with my current skill, you can ask me about my current activity and " +"tell me to read it, and I'll learn from the book. But while I'm reading, I " +"won't be following you around, so make sure I'm in a safe place.\n" +" And don't bother asking me about learning or teaching martial arts style. " +"My brain just doesn't work that way, so I don't know any to teach you and " +"it's pointless trying to get me to learn any." msgstr "" #: lang/json/talk_topic_from_json.py @@ -141730,14 +146870,17 @@ msgid "" " Use the zone manager (keybind 'Y') to set up sorting zones for your loot, " "or to draw blueprints for a building, or to define where you want to plant " "some crops, or where you'd like some trees cut down, or where you want a " -"vehicle dismantled. Then tell me to sort stuff, or build stuff, or cut down " -"trees, or dismantle a vehicle or do farmwork, and I'll go off and do my best " -"to get what you want done. If I need tools, you should leave them pretty " -"close to where you want me to work - axes for logging, shovels and seeds and " -"fertilizer for farming, wrenches and hacksaws or a toolbox to take apart a " -"vehicle. I can pretty much sort out our stuff without needing tools, but " -"keep the piles of unsorted and sorted stuff kind of close together because I " -"don't want to walk back and forth carrying junk too much." +"vehicle dismantled or repaired, or a good fishing spot. Then talk to me " +"about my current activity and tell me to sort stuff, or build stuff, or cut " +"down trees, or repair or dismantle a vehicle, or do farmwork, or catch some " +"fish, and I'll go off and do my best to get what you want done.\n" +" If I need tools, you should leave them in a loot zone near where you want " +"me to work - axes for logging, shovels and seeds and fertilizer for farming, " +"wrenches and hacksaws or a toolbox to take apart a vehicle. I promise to " +"put stuff back in an unsorted loot zone when I'm finished.\n" +" I can pretty much sort out our stuff without needing tools, but keep the " +"piles of unsorted and sorted stuff kind of close together because I don't " +"want to walk back and forth carrying junk too much." msgstr "" #: lang/json/talk_topic_from_json.py @@ -141788,12 +146931,14 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "You tell me to guard, I'll stay where I am and guard it - unless I'm in a " -"vehicle, in which case I'll stick with the vehicle.\n" -" I'm not a potted plant, though, so if I hear something dangerous " -"happening, I'm going to go see what it is instead of getting jumped in the " -"dark. If you want me to stay put, tell me not to investigate noises - but " -"if I get shot by some bandit because I can't see where he is and you don't " -"want me to go looking, I won't be happy.\n" +"vehicle, in which case I'll stick with the vehicle. I might not be able to " +"sop a horde of zombies, but I can keep people other people from stealing our " +"stuff. Well, unless they try to kill me.\n" +" Also, I'm not a potted plant, so if I hear something dangerous happening, " +"I'm going to go see what it is instead of getting jumped in the dark. If " +"you want me to stay put, tell me not to investigate noises - but if I get " +"shot by some bandit because I can't see where he is and you don't want me to " +"go looking, I won't be happy.\n" " You can also use the zone manager (keybind 'Y') to set up no-investigate " "zone, so if there's some monsters behind a door that you know about, I can " "ignore them. You can also set on an investigate-only zone, and I won't " @@ -141811,6 +146956,10 @@ msgstr "" msgid "Just in case - how else can I tell you to stay put?" msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Hang on, other people can steal our stuff?" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "Bionics are augmentation packages, right? They come in these installable " @@ -141909,6 +147058,33 @@ msgstr "" msgid "Can I tell you to open and close doors or avoid sleep without shouting?" msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"Just about everyone is dead, but some people survived, right? But just like " +"you go around breaking into houses and taking whatever you think you need or " +"want, well, other survivors do the same thing. And that stack of loot " +"you've been accumulating looks just like some random dead person's loot when " +"it's left alone. If some other scavenger comes around and sees that loot, " +"and you or I or another ally isn't around to claim it, that other survivor " +"is just going to take it. So try to detail someone to watch your stuff - " +"whether its at a base or in a vehicle.\n" +" Also, we've teamed up to better our chances of survival. Other people are " +"going to do the same, forming little factions just like we did. If you open " +"the faction manager (keybind '#'), you can see a list of all your allies, as " +"well as all the other factions you've met so far. Some factions are really " +"just some guy trying to survive on his own, but other factions have dozens " +"of members and fortified bases and such. You might want to find some of " +"them and try to make friends with them." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Anything else I can do in the faction manager?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Is there any way we can build base for our faction?" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "Well, this conversation is pretty new! But there's been some other " @@ -141917,7 +147093,13 @@ msgid "" "in me, for a while. But now I can use some active bionics, and I can " "explain some details on how I use bionics.\n" " I can also ride horses, and you can give me orders to do things like " -"farmwork, cutting trees, or even building houses from a blueprint." +"farmwork, cutting trees, or even building houses from a blueprint.\n" +" I can even read books to improve my skills, so you don't have to spend " +"time reading to me.\n" +" If you've got a faction camp, and we're near it, I'll eat from the camp's " +"food reserves when I'm hungry. And if the camp has a well, I'll drink from " +"the well when thirsty. Be careful, though - if other people are out on " +"missions, I may eat the food they expected to eat when they got done!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -141928,6 +147110,10 @@ msgstr "" msgid "Tell me more about the activities you can do now." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Hey, you can teach yourself from a book. How does that work?" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "Thanks for the explanation. I wanted to know more about something else." @@ -141938,13 +147124,13 @@ msgid "Thanks. I have some things for you to do." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"STOP, Put your hands in the air! Ha, startled you didn't I...there is no law " -"anymore..." +msgid "Hi there, ." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi there, ." +msgid "" +"STOP, Put your hands in the air! Ha, startled you didn't I...there is no law " +"anymore..." msgstr "" #: lang/json/talk_topic_from_json.py @@ -142018,11 +147204,11 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Anything to do before I go to sleep?" +msgid "No, just no..." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Just few minutes more..." +msgid "Just let me sleep, !" msgstr "" #: lang/json/talk_topic_from_json.py @@ -142030,11 +147216,11 @@ msgid "Make it quick, I want to go back to sleep." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Just let me sleep, !" +msgid "Just few minutes more..." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "No, just no..." +msgid "Anything to do before I go to sleep?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -142046,11 +147232,11 @@ msgid "Go back to sleep." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What is it, friend?" +msgid " *pshhhttt* I'm reading you boss, over." msgstr "" #: lang/json/talk_topic_from_json.py -msgid " *pshhhttt* I'm reading you boss, over." +msgid "What is it, friend?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -142134,19 +147320,19 @@ msgid "Let's go." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your engagement rules..." +msgid "Change your engagement rules…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your aiming rules..." +msgid "Change your aiming rules…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power reserve rules..." +msgid "Change your bionic power reserve rules…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power recharge rules..." +msgid "Change your bionic power recharge rules…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -142158,11 +147344,11 @@ msgid "Stick close to me, no matter what." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py @@ -142429,7 +147615,7 @@ msgid "Nah, I'm just kidding." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Please go to this location..." +msgid "Please go to this location…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -142441,11 +147627,11 @@ msgid "Show me what needs to be done at the camp." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm not doing much currently." +msgid "I'm currently ." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm currently ." +msgid "I'm not doing much currently." msgstr "" #: lang/json/talk_topic_from_json.py @@ -142509,11 +147695,11 @@ msgid "Sure thing, I'll make my way there." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py @@ -142527,12 +147713,12 @@ msgid "OK, maybe it'll stop me from freezing in this weather, what's up?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Man it's dark out isn't it? what's up?" +msgid "" +"Well, it's the time of day for a quick break surely! How are you holding up?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Well, it's the time of day for a quick break surely! How are you holding up?" +msgid "Man it's dark out isn't it? what's up?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -142541,14 +147727,14 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"OK, let's take a moment, oh, and thanks for helping me with that thing, " -"so... what's up?" +"Definitely, by the way, thanks for helping me so much with my tasks! " +"Anyway, you coping OK, ? " msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Definitely, by the way, thanks for helping me so much with my tasks! " -"Anyway, you coping OK, ? " +"OK, let's take a moment, oh, and thanks for helping me with that thing, " +"so... what's up?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -142558,7 +147744,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Oh you know, not bad, not bad..." +msgid "Oh you know, not bad, not bad…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -142624,11 +147810,11 @@ msgid "Keep your distance!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "This is my territory, ." +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "This is my territory, ." msgstr "" #: lang/json/talk_topic_from_json.py @@ -142668,11 +147854,11 @@ msgid "Okay, I'm going." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About that job..." +msgid "About that job…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About one of those jobs..." +msgid "About one of those jobs…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -142684,27 +147870,27 @@ msgid "I don't care." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I just have one job for you. Want to hear about it?" +msgid "I don't have any jobs for you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I have another job for you. Want to hear about it?" +msgid "I don't have any more jobs for you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I have other jobs for you. Want to hear about them?" +msgid "I have another job for you. Want to hear about it?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" +msgid "I just have one job for you. Want to hear about it?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I don't have any more jobs for you." +msgid "I have other jobs for you. Want to hear about them?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I don't have any jobs for you." +msgid "I have more jobs for you. Want to hear about them?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -142717,7 +147903,7 @@ msgid "Never mind, I'm not interested." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What about it?" +msgid "You're not working on anything for me now." msgstr "" #: lang/json/talk_topic_from_json.py @@ -142725,7 +147911,7 @@ msgid "Which job?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You're not working on anything for me now." +msgid "What about it?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -142765,7 +147951,7 @@ msgid "Whatever. Bye." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I failed." +msgid "I'm sorry… I failed." msgstr "" #: lang/json/talk_topic_from_json.py @@ -142785,7 +147971,7 @@ msgid "No. I'll get back to it, bye!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yup! Here it is!" +msgid "Yup! Here it is!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -142937,15 +148123,15 @@ msgid "Thanks!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I have some reason for not telling you." +msgid "Focus on the road, mate!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Nothing comes to my mind now. Ask me later perhaps?" +msgid "I must focus on the road!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm too tired, let me rest first." +msgid "I'm too thirsty, give me something to drink." msgstr "" #: lang/json/talk_topic_from_json.py @@ -142953,15 +148139,15 @@ msgid "I'm too hungry, give me something to eat." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm too thirsty, give me something to drink." +msgid "I'm too tired, let me rest first." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I must focus on the road!" +msgid "Nothing comes to my mind now. Ask me later perhaps?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Focus on the road, mate!" +msgid "I have some reason for not telling you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -142969,7 +148155,7 @@ msgid "Ah, okay." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Why should I travel with you?" +msgid "Not until I get some antibiotics..." msgstr "" #: lang/json/talk_topic_from_json.py @@ -142977,7 +148163,7 @@ msgid "You asked me recently; ask again later." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Not until I get some antibiotics..." +msgid "Why should I travel with you?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -143037,7 +148223,7 @@ msgid "Alright. You can lead now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Good. Something else..." +msgid "Good. Something else…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -143069,19 +148255,19 @@ msgid "On second thought, never mind." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I have some reason for denying you training." +msgid "I can't train you properly while you're operating a vehicle!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Give it some time, I'll show you something new later..." +msgid "I can't train you properly while I'm operating a vehicle!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while I'm operating a vehicle!" +msgid "Give it some time, I'll show you something new later..." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while you're operating a vehicle!" +msgid "I have some reason for denying you training." msgstr "" #: lang/json/talk_topic_from_json.py @@ -143117,15 +148303,15 @@ msgid "I'd prefer to keep that to myself." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I understand..." +msgid "I understand…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Why should I share my equipment with you?" +msgid "You just asked me for stuff; ask later." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You just asked me for stuff; ask later." +msgid "Why should I share my equipment with you?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -143141,7 +148327,7 @@ msgid "Because I'm your friend!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Well, I am helping you out..." +msgid "Well, I am helping you out…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -143189,15 +148375,15 @@ msgid "No, I'm keeping it. Try and take it off me, I dare you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Look, I really need this. Please let me have it." +msgid "Look, I really need this. Please let me have it." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What, this? It's not the same one, you are mistaken." +msgid "What, this? It's not the same one, you are mistaken." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry. Look, I already dropped it, okay?" +msgid "I'm sorry. Look, I already dropped it, okay?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -143205,7 +148391,7 @@ msgid "Don't try and talk yourself out of this, drop it now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Okay, I'm dropping it..." +msgid "Okay, I'm dropping it…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -143267,35 +148453,35 @@ msgid "Pleasure doing business!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You might be seeing more of me..." +msgid "You might be seeing more of me…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"I... I'm free. *Zzzt* I'm actually free! *bzzz* Look, you're the first " -"person I've seen in a long time." +msgid "Hey again. *kzzz*" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey again. *kzzz*" +msgid "" +"I... I'm free. *Zzzt* I'm actually free! *bzzz* Look, you're the first " +"person I've seen in a long time." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." +msgid "Hey. Let's chat for a second." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That's because I saved you. Listen, I could use your help..." +msgid "That's because I saved you. Listen, I could use your help…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Big fucking deal. Do what I say or I'll shove that chip back where it " +"Big fucking deal. Do what I say or I'll shove that chip back where it " "belongs." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." +msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." msgstr "" #: lang/json/talk_topic_from_json.py @@ -143307,7 +148493,7 @@ msgid "Come with me. We can help each other out." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "We both go our separate ways. Enjoy your freedom." +msgid "We both go our separate ways. Enjoy your freedom." msgstr "" #: lang/json/talk_topic_from_json.py @@ -143324,7 +148510,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"For all you know, I did. I'm being nice for now. You'd better hope that it " +"For all you know, I did. I'm being nice for now. You'd better hope that it " "lasts." msgstr "" @@ -143346,7 +148532,7 @@ msgid "Get out of my sight." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." +msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." msgstr "" #: lang/json/talk_topic_from_json.py @@ -143362,7 +148548,7 @@ msgid "Not if I kill you first!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry! I shouldn't have said that!" +msgid "I'm sorry! I shouldn't have said that!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -143403,13 +148589,36 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"The faction camp system is designed to give you greater control over your " -"companions by allowing you to assign them to their own missions. These " -"missions can range from gathering and crafting to eventual combat patrols." +"The faction camp system allows you to use friendly NPCs to take over " +"existing buildings or construct new buildings and use them to extend the " +"usefulness of your allies. When you have a faction camp, you can order your " +"companions to perform missions, such as crafting new items, building up the " +"camp, hunting for food, or recruiting more allies. Faction camps also " +"simplify some aspects of managing your companions." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Go on." +msgid "Give me an overview of how camps work." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Tell me more about faction camps and food." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Tell me more about camp missions." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Tell me about building a camp." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Give me some advice on building a camp." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I know the basics. Just tell me what changed." msgstr "" #: lang/json/talk_topic_from_json.py @@ -143430,74 +148639,231 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Food is required for or produced during every mission. Missions that are " -"for a fixed amount of time will require you to pay in advance while " -"repeating missions, like gathering firewood, are paid upon completion. Not " -"having the food needed to pay a companion will result in a loss of " -"reputation across the faction. Which can lead to VERY bad things if it gets " -"too low." +"Each faction camp starts with a bulletin board. You can 'e'xamine the " +"bulletin board to get a list of available missions with descriptions, and to " +"assign an NPC to work on a mission. The bulletin board is the primary way " +"to access the camp.\n" +" If both you and a companion have two-way radios, you can assign missions " +"to the companion remotely by talking on the radio.\n" +" When you ask a companion to start a camp, they'll build a bulletin board " +"at the current location, and that will establish a faction camp at that " +"overmap tile. A faction camp has a central tile where the bulletin board " +"is, and possibly one or more expansions that are in adjacent tiles.\n" +" All of your faction camps can be stocked with food, and your companions " +"will eat from that food when performing camp missions, or even when they're " +"just hungry and near the camp.\n" +" Currently, faction camps can be created in fields, in fire stations, and " +"in some evac shelters." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Wait, repeat what you said." +msgid "Wait, we can talk with radios?" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Each faction camp has a bulletin board associated with it. You can " -"'e'xamine the bulletin board to get a list of tasks that can be done and " -"that are currently complete at the camp. You can select a task and choose " -"an allied NPC to perform the task. \n" -"The task list shows tasks for the central camp. If you have expansions, you " -"can hit 'TAB' to move between the central camp and each expansion and see " -"the tasks for the expansions. \n" -"If you have a two way radio, you can use it to assign tasks remotely to any " -"friendly NPC who also has a two way radio." +"Faction camps require food, but simplify managing your companions.\n" +" When you activate a camp's bulletin board, you'll be required to make some " +"zones if you haven't already. One of those zones must be a camp food zone. " +"If you drop food in the camp food zone and select the 'Distribute Food' " +"mission, then the food will disappear and be converted into stored " +"kcalories.\n" +" When you send companions out on camp missions, they'll eat from the stored " +"food when they return at the rate of 2,500 kcalories per day. Some missions " +"have variable length, and companions will become upset if there isn't enough " +"food when they come back, so try to keep a healthy surplus of food on hand.\n" +" Companions who aren't on camp missions, but who are following you, will " +"also eat from the camp food stores whenever they're hungry and within 2 " +"overmap tiles of the camp. This drastically simplifies keeping your " +"followers fed, so it's worthwhile to build a minimal faction camp just for " +"this feature.\n" +" You can upgrade a camp to include a water well. If you do, your followers " +"will also drink from the well when they're thirsty." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"For your first camp, pick a site that has fields in the 8 adjacent tiles and " -"lots of forests around it. Forests are your primary source of construction " -"materials in the early game while fields can be used for farming. You don't " -"have to be too picky, you can build as many camps as you want. You need a " -"friendly NPC to perform tasks at the camp. \n" -"Although you can build a camp from scratch in a field, you can also take " -"over some other buildings. If you talk to a friendly NPC about faction " -"camps and the NPC is standing in a building that can be used as a basecamp, " -"you'll get the option to build a camp in that building." +"When you assign an NPC to a faction camp mission, they'll disappear while " +"they go do whatever you want them to do. When the duration of the mission " +"has elapsed, you'll see a new mission on the bulletin board to have them " +"return and complete the mission by upgrading your camp, returning their " +"hunting kills, dropping off whatever they were crafting, or whatever else " +"the mission results are.\n" +" There are all kinds of faction camp missions: building up the camp, " +"recruiting new allies, hunting and trapping game, scrounging for materials, " +"farming, disassembling cars, and more. Not all activities can be done at " +"every camp - you may need to build some additional buildings, or expand the " +"camp, to get access to some missions.\n" +" Some faction camp missions can be duplicated by companion activities, but " +"building up the camp can only be done via faction camp missions.\n" +" You assign missions by interacting with the bulletin board. You'll see a " +"list of available missions for your central camp tile. If your camp has " +"expansions, you can tab through the expansions to see the available missions " +"at each expansion.\n" +" Remember, companions on camp missions need to be fed, and will become " +"angry if they complete a mission but there isn't any food in the larder.\n" +" There is one special mission called 'Emergency Recall'. You can use this " +"to retrieve any companion on a faction camp mission, but this cancels the " +"mission and wastes any resources used on it. Only use it to recover allies " +"when something has gone really wrong with your camp and you can't get them " +"to come back any ohter way." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What do you mean by angry?" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"After you pick a site you will need to find or make materials to upgrade the " -"camp further to access new missions. The first new missions are focused on " -"gathering materials to upgrade the camp so you don't have to. After two or " -"three upgrades you will have access to the [Menial Labor] mission which will allow you to task companions with sorting all of " -"the items around your camp into categories. Later upgrades allow you to " -"send companions to recruit new members, build overmap fortifications, or " -"even conduct combat patrols" +"Currently, there are three types of camps that you can start building: " +"modular field camps, fire station camps, and evac shelter camps. There used " +"to be a fourth called the primitive field camp, but you can't start those " +"anymore, only upgrade them.\n" +" Modular field camps are the most flexible kind of camp since you can build " +"them almost anywhere and can locate them to have plenty of space for " +"expansions, but you start with nothing in a field and have to build every " +"building, so they can require a lot of resources. Fire station and evac " +"shelter camps are faster to build since you start in an existing building, " +"but you have to establish them in an existing building and there may not be " +"any space for expansions.\n" +" Each camp location will have a variety of upgrade missions for it. The " +"various missions have descriptions. In general, though, you'll need to " +"establish housing if you want to expand, and some missions such as hunting " +"or recruiting will require that you have some kind of kitchen or office that " +"you can use to help schedule activities." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Tell me about modular field camps." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Tell me about fire station camps." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Tell me about evac shelter camps." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Tell me about expansions." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"When you upgrade your first tent all the way you will unlock the ability to " -"construct expansions. Expansions allow you to specialize each camp you " -"build by focusing on the industries that you need. A " -"[Farm] is recommended for players that want to " -"pursue a large faction while a [Kitchen] is " -"better for players that just want the quality of life improvement of having " -"an NPC do all of their cooking. A [Garage] is " -"useful for chop shop type missions that let you trade vehicles for large " -"amounts of parts and resources. All those resources can be turning into " -"valuable equipment in the [Blacksmith Shop]. You " -"can build an additional expansion every other level after the first is " -"unlocked and when one camp is full you can just as easily build another." +"Modular field camps are the most flexible kind of camp, but they require a " +"lot of time and resources to build. You start with an empty field - and it " +"has to be a real empty field, not a field on a ranch or farm - and build up " +"from nothing. You can build from wattle-and-dab if you're feeling " +"primitive, wood panels if you have a lot of nails, metal plate if you're a " +"welder, or tents if you're in a hurry.\n" +" You start by building a lean-to and a bed in the northeast corner of the " +"central camp, and then add a fire place, and expand out until you have a " +"small shelter for two people. When that is complete, you can expand the " +"camp in a variety of ways:\n" +" 1. You can build up to 5 more rooms or shacks, 3 on each side of the " +"camp.\n" +" 2. You can build a central building in the south half of the camp, " +"between the rooms. The central building will act as a command center, " +"allowing your camp to perform hunting, recruiting, and combat patrol " +"missions.\n" +" 3. You can dig trenches on all sides of the camp, which can possibly " +"connect to the rooms on the sides to minimize the amount of trenching you " +"need to do.\n" +" 4. You can build various small features such as root cellars to preserve " +"food or a radio tower to make it easier to recruit more companions.\n" +" Each new construction in a modular camp can be made from a different " +"material, so you aren't constrained by what you start with. Tents are fast " +"to put up, but fragile and likely to get destroyed by zombies. The central " +"building has to be made from wattle-and-daub, wood, or metal, and requires " +"more materials if the side rooms are made from tents." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Thanks, let's go back to talking about camps." +msgid "Got it. Tell me about expansions." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Can we review how camps work?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Fire stations make good basecamps. You start with a brick building with " +"secure metal doors, so you're not going to see your efforts destroyed by " +"zombies. On the downside, there may not be many fields around, so you may " +"not be able to expand much.\n" +" Fire station camps are also very compact. There isn't much living space, " +"but you can build a small pottery or blacksmithy, a chop shop in one of the " +"garage bays, and even tear up some of the pavement to create a garden. The " +"existing kitchen makes it easy to cook from the start, though you may need " +"to spruce it up a bit." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"You can build a faction camp in the common evac shelter - the basic design " +"with a single, wide open room. Evac shelters are everywhere and often have " +"fields surrounding them, so they're a little more flexible than a modular " +"field camp but still make it easy to add expansions.\n" +" Evac center camps can be built up in several ways. You basically need to " +"decide between building more bedrooms or adding for crafting and cooking " +"space." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Each camp can have up to 8 expansions, one in each adjacent overmap tile. " +"Expansions add to the capabilities of your camp, such as adding a farm field " +"or a manufactory for crafting all kinds of things.\n" +" You need two beds in a room in your central camp for each expansion, and " +"currently, expansions can only be built in fields and have to be built up " +"from scratch.\n" +" Expansion missions show up in separate tabs in the bulletin board, one set " +"of missions per location, and you'll need to hit 'tab' to see them. The " +"currently available expansions are:\n" +" -- Farm: This is a full tile of plowed fields that you can maintain or " +"send companions on missions to maintain. Plants grow here normally.\n" +" -- Garage: This is a large building. Companions can be sent on missions " +"here to disassemble vehicles. Of course, you can also assign companions to " +"disassemble vehicles without a garage, so this expansion is not very " +"useful.\n" +" -- Canteen: This is an expanded kitchen, dining area, and pantry.\n" +" --Livestock Area: This is a modular set of buildings for holding livestock " +"such as cows, horses, or chickens. Animals are not included!\n" +" Saltworks Area: This is a small expansion for processing salt.\n" +" Fabrication Workshop: This is a large expansion for doing all kinds of " +"crafts. Companions can use some of the furniture in this expansion to craft " +"some items much faster than you can do by yourself by hand.\n" +" Central Storage Building: This is a large building for storing goods." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Got it. Give me some advice on building a camp." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Starting a camp doesn't take much time, and you can use a faction camp to " +"keep your companions fed without needing to regularly give them food, so " +"it's a good idea to establish a minimal camp anywhere you intend to be for a " +"while.\n" +" How much you want to expand your camps is up to you. A modular field camp " +"can be very resource intensive, but building one up allows you to send " +"companions off to hunt and farm for you, so there's quite the pay-off. If " +"nothing else, you should consider upgrading the northeast tent to the point " +"where you can build a water well, or if you started with a fire station or " +"evac shelter camp, you should build a water well as soon as you can.\n" +" If you have access to a fire station or evac shelter, you may want to " +"build your camp in them. Both of those camps are are very compact, but have " +"much of the same functionality as an upgraded field camp without requiring " +"so many resources.\n" +" If you are adding expansions to your camp, consider starting with a farm " +"or fabrication workshop. The farm makes it easy to grow your own food, " +"while the fabrication workshop can allow you to craft some of the resources " +"you need to upgrade your camp.\n" +" The canteen, saltworks, livestock area, and storage area probably " +"shouldn't be your first expansions, but they all have their uses." msgstr "" #: lang/json/talk_topic_from_json.py @@ -143524,6 +148890,14 @@ msgid "" "available buildings is constantly growing, so you'll have to experiment." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Wait, let's go back over from the start." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Thanks, let's go back to talking about camps." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "Hey boss. I was thinking, you don't really need me sitting in this tent and " @@ -143623,11 +148997,11 @@ msgid "Well, sure." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'd... rather not." +msgid "I'd… rather not." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I have places to be." +msgid "I'm sorry… I have places to be." msgstr "" #: lang/json/talk_topic_from_json.py @@ -143658,7 +149032,7 @@ msgid "Oh, but you already have." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yes... yes I have." +msgid "Yes… yes I have." msgstr "" #: lang/json/talk_topic_from_json.py @@ -143723,7 +149097,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Horrible. Did you get any pictures yourself?" +msgid "Horrible. Did you get any pictures yourself?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -143875,7 +149249,7 @@ msgid "This is a npc allies 1 test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "This an error! npc allies 2 test response." +msgid "This an error! npc allies 2 test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -144075,7 +149449,7 @@ msgid "This is a u_has_items beer test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Test failure! This is a u_has_items test response." +msgid "Test failure! This is a u_has_items test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -144087,7 +149461,7 @@ msgid "This is a u_has_item_category books count 2 test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a u_has_item_category books count 3 test response." +msgid "Failure! This is a u_has_item_category books count 3 test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -144175,7 +149549,7 @@ msgid "This is a u_has_bionics bio_ads test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a npc_has_bionics bio_ads test response." +msgid "Failure! This is a npc_has_bionics bio_ads test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -144207,15 +149581,15 @@ msgid "This is a low driving test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Greeting citizen, what brings you to the FoodLair?" +msgid "Greetings friend, it's nice to see you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Still here? Take your time, it's rough out there." +msgid "So you're back... Explain yourself!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Greetings friend, it's nice to see you." +msgid "What sorcery is this?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -144223,19 +149597,15 @@ msgid "Welcome home Foodkid!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What sorcery is this?" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "So you're back... Explain yourself!" +msgid "Still here? Take your time, it's rough out there." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." +msgid "Greeting citizen, what brings you to the FoodLair?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Greetings... Foodperson?" +msgid "Greetings… Foodperson?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -144277,7 +149647,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ah... Well, nice to meet you Foodperson." +msgid "Ah… Well, nice to meet you Foodperson." msgstr "" #: lang/json/talk_topic_from_json.py @@ -144289,7 +149659,7 @@ msgid "Sheesh, ok, calm down, I'm leaving!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Forgive me, I didn't mean to disrespect you." +msgid "Forgive me, I didn't mean to disrespect you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -144305,7 +149675,7 @@ msgid "Sure, whatever." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok... I believe you." +msgid "Ok… I believe you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -144401,7 +149771,7 @@ msgid "That sounds great!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok..." +msgid "Ok…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -144409,7 +149779,7 @@ msgid "I need to think about it." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Huh... No thanks." +msgid "Huh… No thanks." msgstr "" #: lang/json/talk_topic_from_json.py @@ -144426,7 +149796,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I... I don't know. It probably has something to do with ! " +"I… I don't know. It probably has something to do with ! " "What do you say we team up to find out?" msgstr "" @@ -144497,7 +149867,7 @@ msgid "I AM THE ONE!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Wow calm down, it's just a prank bro." +msgid "Wow calm down, it's just a prank bro." msgstr "" #: lang/json/talk_topic_from_json.py @@ -144555,7 +149925,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "I haven't found them yet. Whenever I see a , a little part of me is " -"afraid it's going to be one of them. But then, maybe not. Maybe they were " +"afraid it's going to be one of them. But then, maybe not. Maybe they were " "evacuated, maybe they fought and tried to wait for me but the military took " "them anyway? I've heard that sort of thing happened. I don't know if I'll " "ever know." @@ -144929,7 +150299,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "OK, this is gonna sound crazy but I, like, I knew this was going to happen. " -"Like, before it did. You can even ask my psychic except, like, I think " +"Like, before it did. You can even ask my psychic except, like, I think " "she's dead now. I told her about my dreams a week before the world ended. " "Serious!" msgstr "" @@ -145181,7 +150551,7 @@ msgid "Giant bees? Tell me more." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive..." +msgid "But bees aren't usually aggressive…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -145193,7 +150563,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive... Do you mean wasps?" +msgid "But bees aren't usually aggressive… Do you mean wasps?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -145568,6 +150938,10 @@ msgid "" "although honestly I'm just busy not dying." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "I just can't talk about that right now. I can't." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "I was at work at the hospital, when it all went down. It's a bit of a " @@ -145576,8 +150950,7 @@ msgid "" "as usual. Then, towards the end, stuff just skyrocketed. We thought it was " "a Chinese attack, and that's what we were being told. People coming in " "crazed, covered in wounds from bullets and bites. About halfway through my " -"shift I... well, I broke. I'd seen such horrible injuries, and then I... " -", I can't even talk about it." +"shift I... well, I broke." msgstr "" #: lang/json/talk_topic_from_json.py @@ -145588,11 +150961,8 @@ msgid "" "as usual. Then, towards the end, stuff just skyrocketed. We thought it was " "a Chinese attack, and that's what we were being told. People coming in " "crazed, covered in wounds from bullets and bites. About halfway through my " -"shift I... well, I broke." -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "I just can't talk about that right now. I can't." +"shift I... well, I broke. I'd seen such horrible injuries, and then I... " +", I can't even talk about it." msgstr "" #: lang/json/talk_topic_from_json.py @@ -145612,7 +150982,7 @@ msgid "No. I can't. Just, no." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sorry... I'll let you be." +msgid "Sorry… I'll let you be." msgstr "" #: lang/json/talk_topic_from_json.py @@ -145848,7 +151218,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Okay..." +msgid "Okay…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -145928,13 +151298,13 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"My wife made it out with me, but got eaten by one of those plant " +"My husband made it out with me, but got eaten by one of those plant " "monsters a few days before I met you. This hasn't been a great year for me." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"My husband made it out with me, but got eaten by one of those plant " +"My wife made it out with me, but got eaten by one of those plant " "monsters a few days before I met you. This hasn't been a great year for me." msgstr "" @@ -145994,7 +151364,8 @@ msgid "I'm sorry you lost someone." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Just another tale of love and loss. Not one I like to tell." +msgid "" +"I said, I don't wanna talk about it. How are you not understanding this?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -146004,8 +151375,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"I said, I don't wanna talk about it. How are you not understanding this?" +msgid "Just another tale of love and loss. Not one I like to tell." msgstr "" #: lang/json/talk_topic_from_json.py @@ -146029,35 +151399,35 @@ msgid "Oh, . This doesn't have anything to do with you, or with us." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "All right, fine. I had someone. I lost her." +msgid "All right, fine. I had someone. I lost him." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "All right, fine. I had someone. I lost him." +msgid "All right, fine. I had someone. I lost her." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"She was at home when the bombs started dropping and the world went to hell. " +"He was at home when the bombs started dropping and the world went to hell. " "I was at work. I tried to make it to our house, but the city was a war " "zone. Things I can't describe lurching through the streets, crushing people " "and cars. Soldiers trying to stop them, but hitting people in the crossfire " "as much as anything. And then the collateral damage would get right back up " -"and join the enemy. If it hadn't been for my wife, I would have just left, " -"but I did what I could and I slipped through. I actually made it " -"alive." +"and join the enemy. If it hadn't been for my husband, I would have just " +"left, but I did what I could and I slipped through. I actually made " +"it alive." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"He was at home when the bombs started dropping and the world went to hell. " +"She was at home when the bombs started dropping and the world went to hell. " "I was at work. I tried to make it to our house, but the city was a war " "zone. Things I can't describe lurching through the streets, crushing people " "and cars. Soldiers trying to stop them, but hitting people in the crossfire " "as much as anything. And then the collateral damage would get right back up " -"and join the enemy. If it hadn't been for my husband, I would have just " -"left, but I did what I could and I slipped through. I actually made " -"it alive." +"and join the enemy. If it hadn't been for my wife, I would have just left, " +"but I did what I could and I slipped through. I actually made it " +"alive." msgstr "" #: lang/json/talk_topic_from_json.py @@ -146108,11 +151478,11 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "I did. Took a few hours to get an opening. And you wanna know the fucked " -"up part? Like, out of all this? My wife was still alive. She'd been in " +"up part? Like, out of all this? My husband was still alive. He'd been in " "the basement the whole time, pinned under a collapsed piece of floor. And " -"she'd lost a ton of blood, she was delirious by the time I found her. I " -"couldn't get her out, so I gave her food and water and just stayed with her " -"and held her hand until she passed. And then... well, then I did what you " +"he'd lost a ton of blood, he was delirious by the time I found him. I " +"couldn't get him out, so I gave him food and water and just stayed with him " +"and held his hand until he passed. And then... well, then I did what you " "have to do to the dead now. And then I packed up the last few fragments of " "my life, and I try to never look back." msgstr "" @@ -146120,11 +151490,11 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "I did. Took a few hours to get an opening. And you wanna know the fucked " -"up part? Like, out of all this? My husband was still alive. He'd been in " +"up part? Like, out of all this? My wife was still alive. She'd been in " "the basement the whole time, pinned under a collapsed piece of floor. And " -"he'd lost a ton of blood, he was delirious by the time I found him. I " -"couldn't get him out, so I gave him food and water and just stayed with him " -"and held his hand until he passed. And then... well, then I did what you " +"she'd lost a ton of blood, she was delirious by the time I found her. I " +"couldn't get her out, so I gave her food and water and just stayed with her " +"and held her hand until she passed. And then... well, then I did what you " "have to do to the dead now. And then I packed up the last few fragments of " "my life, and I try to never look back." msgstr "" @@ -146216,7 +151586,7 @@ msgid "What do you think happened?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That does sound a little crazy..." +msgid "That does sound a little crazy…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -146265,7 +151635,7 @@ msgid "What happened to you after that?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "It can't be healthy to abandon your past like that..." +msgid "It can't be healthy to abandon your past like that…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -146708,7 +152078,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you mean in a religious sense, or...?" +msgid "Do you mean in a religious sense, or…?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -146758,10 +152128,10 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I lived alone, on the old family property way out of town. My wife passed " -"away a bit over a month before this started... cancer. If anything good " -"has come out of all this, it's that I finally see a positive to losing her " -"so young. I'd been shut in for a while anyway. When the news started " +"I lived alone, on the old family property way out of town. My husband " +"passed away a bit over a month before this started... cancer. If anything " +"good has come out of all this, it's that I finally see a positive to losing " +"him so young. I'd been shut in for a while anyway. When the news started " "talking about Chinese bio weapons and sleeper agents, and showing the " "rioting in Boston and such, I curled up with my canned soup and changed the " "channel." @@ -146769,10 +152139,10 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I lived alone, on the old family property way out of town. My husband " -"passed away a bit over a month before this started... cancer. If anything " -"good has come out of all this, it's that I finally see a positive to losing " -"him so young. I'd been shut in for a while anyway. When the news started " +"I lived alone, on the old family property way out of town. My wife passed " +"away a bit over a month before this started... cancer. If anything good " +"has come out of all this, it's that I finally see a positive to losing her " +"so young. I'd been shut in for a while anyway. When the news started " "talking about Chinese bio weapons and sleeper agents, and showing the " "rioting in Boston and such, I curled up with my canned soup and changed the " "channel." @@ -146853,14 +152223,14 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Listen. I'm gonna cut this off short. I work for you, okay? I'm not " -"interested in getting attached. You didn't pay me to be your friend." +"Like I said, you want me to tell you a story, you gotta pony up the whisky. " +"A full bottle, mind you." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Like I said, you want me to tell you a story, you gotta pony up the whisky. " -"A full bottle, mind you." +"Listen. I'm gonna cut this off short. I work for you, okay? I'm not " +"interested in getting attached. You didn't pay me to be your friend." msgstr "" #: lang/json/talk_topic_from_json.py @@ -147027,8 +152397,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"If I got you the right stuff, do you think you'd be able to like... do " -"science to it?" +"If I got you the right stuff, do you think you'd be able to like… do science " +"to it?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -147139,7 +152509,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Oh, I'm sorry..." +msgid "Oh, I'm sorry…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -147165,18 +152535,18 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Well, I have this weird hope. It's probably stupid, but I saw my fiancée " -"peel out of there with her brother - my best man - in his pickup truck as " -"things went bad. So, until I run into them again one way or another, I'm " +"Well, I have this weird hope. It's probably stupid, but I saw my fiancé " +"peel out of there with his sister - my maid of honor - in her pickup truck " +"as things went bad. So, until I run into them again one way or another, I'm " "just gonna keep on believing they're out there, doing well. That's more " "than most of us have." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Well, I have this weird hope. It's probably stupid, but I saw my fiancé " -"peel out of there with his sister - my maid of honor - in her pickup truck " -"as things went bad. So, until I run into them again one way or another, I'm " +"Well, I have this weird hope. It's probably stupid, but I saw my fiancée " +"peel out of there with her brother - my best man - in his pickup truck as " +"things went bad. So, until I run into them again one way or another, I'm " "just gonna keep on believing they're out there, doing well. That's more " "than most of us have." msgstr "" @@ -147186,11 +152556,11 @@ msgid "What were you saying before that?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I can't believe my eyes. Please get my outta here..." +msgid "Hey, ." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey, ." +msgid "I can't believe my eyes. Please get my outta here..." msgstr "" #: lang/json/talk_topic_from_json.py @@ -147216,7 +152586,9 @@ msgid "Sounds good, Barry." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello Ma'am, what brings you here?" +msgid "" +"I see that badge, I think you need ot keep on walking, straight off this " +"property." msgstr "" #: lang/json/talk_topic_from_json.py @@ -147224,9 +152596,7 @@ msgid "Hello Sir, what brings you here?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"I see that badge, I think you need ot keep on walking, straight off this " -"property." +msgid "Hello Ma'am, what brings you here?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -147244,7 +152614,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "It is coming together. I want to make our own tools, repair our items and " -"even create some weapons and ammuntion reloading." +"even create some weapons and ammunition reloading." msgstr "" #: lang/json/talk_topic_from_json.py @@ -147257,7 +152627,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"It was pink and really fast, it had lots of limbs, definitly not human. It " +"It was pink and really fast, it had lots of limbs, definitely not human. It " "easily kept up with us when we tried to escape, horrifying stuff. Barry " "just dropped to the ground, and the thing swept him away." msgstr "" @@ -147301,13 +152671,13 @@ msgid "Where can I find Chris?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi, what's up?" +msgid "" +"I see that badge, You need to leave our land, my relatives have no fondness " +"for Marshals." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"I see that badge, You need to leave our land, my relatives have no fondess " -"for Marshals." +msgid "Hi, what's up?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -147401,7 +152771,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi, what brings you here?" +msgid "Is that a U.S. Marshal's badge you're wearing?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -147409,7 +152779,7 @@ msgid "Hello, what brings you here?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Is that a U.S. Marshal's badge you're wearing?" +msgid "Hi, what brings you here?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -147466,7 +152836,7 @@ msgid "He did mention you make remedies, are they effective?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'd like to ask you something else..." +msgid "I'd like to ask you something else…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -147608,10 +152978,6 @@ msgstr "" msgid "Hello traveler, what brings you here?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hello travler, what brings you here?" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "I'm here to deliver some resources." msgstr "" @@ -147637,7 +153003,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "We've had our losses... now we stay close to home, preparing for trouble. " -"We've always taken disaster prepardness seriously, but we didn't expect " +"We've always taken disaster preparedness seriously, but we didn't expect " "anything like this though." msgstr "" @@ -147686,7 +153052,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You should get off my land, the governemnt proved its incompetence with this " +"You should get off my land, the government proved its incompetence with this " "catastrophe." msgstr "" @@ -147711,11 +153077,11 @@ msgid "That's all for now. I'd best get going." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello, We don't see many people these days." +msgid "Leave our property, Marshal." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Leave our property, Marshal." +msgid "Hello, We don't see many people these days." msgstr "" #: lang/json/talk_topic_from_json.py @@ -147761,7 +153127,7 @@ msgid "I'd like to speak with Carlos too about some work." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Is Chris around? I'd like to know what he's run into out in the woods." +msgid "Is Chris around? I'd like to know what he's run into out in the woods." msgstr "" #: lang/json/talk_topic_from_json.py @@ -147843,11 +153209,11 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello." +msgid "I see that badge, you should leave before my father sees you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I see that badge, you should leave before my father sees you." +msgid "Hello." msgstr "" #: lang/json/talk_topic_from_json.py @@ -147917,9 +153283,7 @@ msgid "Tell me about your dad." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Ma'am, I don't know how the hell you got down here but if you have any sense " -"you'll get out while you can." +msgid "Marshal, I hope you're here to assist us." msgstr "" #: lang/json/talk_topic_from_json.py @@ -147929,7 +153293,9 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Marshal, I hope you're here to assist us." +msgid "" +"Ma'am, I don't know how the hell you got down here but if you have any sense " +"you'll get out while you can." msgstr "" #: lang/json/talk_topic_from_json.py @@ -147945,15 +153311,15 @@ msgid "What do you need done?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About the mission..." +msgid "About the mission…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About one of those missions..." +msgid "About one of those missions…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I've got to go..." +msgid "I've got to go…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -147969,7 +153335,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Seems like a decent plan..." +msgid "Seems like a decent plan…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -147987,11 +153353,11 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Whatever they did it must have worked since we are still alive..." +msgid "Whatever they did it must have worked since we are still alive…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ma'am you are not authorized to be here... you should leave." +msgid "Marshal, I'm rather surprised to see you here." msgstr "" #: lang/json/talk_topic_from_json.py @@ -147999,7 +153365,7 @@ msgid "Sir you are not authorized to be here... you should leave." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm rather surprised to see you here." +msgid "Ma'am you are not authorized to be here... you should leave." msgstr "" #: lang/json/talk_topic_from_json.py @@ -148022,7 +153388,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'll try and find your commander then..." +msgid "I'll try and find your commander then…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -148037,51 +153403,51 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey, citizen... I'm not sure you belong here." +msgid "Hello, marshal." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You should mind your own business, nothing to see here." +msgid "Marshal, I'm afraid I can't talk now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "If you need something you'll need to talk to someone else." +msgid "I'm not in charge here, marshal." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ma'am" +msgid "I'm supposed to direct all questions to my leadership, marshal." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey miss, don't you think it would be safer if you stuck with me?" +msgid "Hey, citizen... I'm not sure you belong here." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sir." +msgid "You should mind your own business, nothing to see here." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Dude, if you can hold your own you should look into enlisting." +msgid "If you need something you'll need to talk to someone else." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello, marshal." +msgid "Sir." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm afraid I can't talk now." +msgid "Dude, if you can hold your own you should look into enlisting." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm not in charge here, marshal." +msgid "Ma'am" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm supposed to direct all questions to my leadership, marshal." +msgid "Hey miss, don't you think it would be safer if you stuck with me?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Don't mind me..." +msgid "Don't mind me…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -148135,12 +153501,14 @@ msgid "I've no use for weaklings. Run. Now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Please, help me. I need food." +msgid "" +"So, any luck with convincing the others to come on your crazy adventure yet?" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Please, help me. I need food. Aren't you their sheriff? Can't you help me?" +"I'm sorry to say it after all you've done for me, but... I don't suppose " +"you've got anything to eat?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -148149,13 +153517,11 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I'm sorry to say it after all you've done for me, but... I don't suppose " -"you've got anything to eat?" +"Please, help me. I need food. Aren't you their sheriff? Can't you help me?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"So, any luck with convincing the others to come on your crazy adventure yet?" +msgid "Please, help me. I need food." msgstr "" #: lang/json/talk_topic_from_json.py @@ -148175,14 +153541,14 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "They won't let me in. They say they're too full. I'm allowed to camp out " -"here as long as I keep it clean and don't make a fuss, but I'm so hungry." +"here as long as I keep it clean and don't make a fuss, but I'm reduced to " +"begging to survive." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "They won't let me in. They say they're too full. I'm allowed to camp out " -"here as long as I keep it clean and don't make a fuss, but I'm reduced to " -"begging to survive." +"here as long as I keep it clean and don't make a fuss, but I'm so hungry." msgstr "" #: lang/json/talk_topic_from_json.py @@ -148280,16 +153646,16 @@ msgid "" "hurry to face that again." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "I'm sorry, I'm too hungry to make a big decision like that." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "That's quite the offer, but I don't think I'd survive the trip. I don't " "think you realize how useless I am in this world." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "I'm sorry, I'm too hungry to make a big decision like that." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I can keep you safe. I'll take you there myself." msgstr "" @@ -148331,7 +153697,7 @@ msgid "All right! Let's get going." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Have I told you about cardboard, friend? Do you have any?" +msgid "We've done it! We've solved the list!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -148340,11 +153706,11 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "We've done it! We've solved the list!" +msgid "Have I told you about cardboard, friend? Do you have any?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About that shopping list of yours..." +msgid "About that shopping list of yours…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -148372,13 +153738,13 @@ msgid "Do you need something to eat?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Yeah, I'm real hungry and they put drugs in most of the food. I can see " -"you're not like that." +msgid "Oh nice. Crunchings and munchings. That's a cool, a cool thing." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Oh nice. Crunchings and munchings. That's a cool, a cool thing." +msgid "" +"Yeah, I'm real hungry and they put drugs in most of the food. I can see " +"you're not like that." msgstr "" #: lang/json/talk_topic_from_json.py @@ -148410,7 +153776,7 @@ msgid "Would you like me to give you some cardboard?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I think I have to get going..." +msgid "I think I have to get going…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -148439,7 +153805,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "... What were you saying before?" +msgid "…What were you saying before?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -148457,7 +153823,7 @@ msgid "No." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I... I can see you wearing it. Why are you wearing that?" +msgid "I… I can see you wearing it. Why are you wearing that?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -148472,15 +153838,15 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"That's it! I'm just gonna need a little time to get it all set up. " -"Thanks. You've helped me a lot. I'm feeling much more myself with all this " -"to keep me going." +"Well... I had it all pretty together, but the others have left, and now the " +"masters won't let me build my sanctuary. Can you help me figure them out?" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Well... I had it all pretty together, but the others have left, and now the " -"masters won't let me build my sanctuary. Can you help me figure them out?" +"That's it! I'm just gonna need a little time to get it all set up. " +"Thanks. You've helped me a lot. I'm feeling much more myself with all this " +"to keep me going." msgstr "" #: lang/json/talk_topic_from_json.py @@ -148500,18 +153866,15 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Don't bother with these assholes." +msgid "Fuck off, dickwaddle." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey there, not-asshole. Good to see you again." +msgid "Yo. Anyone else keen on moving from this bus stop to your tent city?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Look, I'm sorry for freaking out earlier. You might be an asshole but I'm " -"sure you didn't mean it like that. My blood sugar is hella low, I get a bit " -"cranky. We cool?" +msgid "Hey there. Good to see you again." msgstr "" #: lang/json/talk_topic_from_json.py @@ -148521,15 +153884,18 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey there. Good to see you again." +msgid "" +"Look, I'm sorry for freaking out earlier. You might be an asshole but I'm " +"sure you didn't mean it like that. My blood sugar is hella low, I get a bit " +"cranky. We cool?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yo. Anyone else keen on moving from this bus stop to your tent city?" +msgid "Hey there, not-asshole. Good to see you again." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Fuck off, dickwaddle." +msgid "Don't bother with these assholes." msgstr "" #: lang/json/talk_topic_from_json.py @@ -148549,7 +153915,7 @@ msgid "I found a sample of alien fungus for you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok... see ya." +msgid "Ok… see ya." msgstr "" #: lang/json/talk_topic_from_json.py @@ -148647,8 +154013,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I mean, racism could definitely be a part of it... but you are visibly in " -"poor shape. They need strong survivor material." +"I mean, racism could definitely be a part of it… but you are visibly in poor " +"shape. They need strong survivor material." msgstr "" #: lang/json/talk_topic_from_json.py @@ -148680,7 +154046,7 @@ msgid "You sound more optimistic than usual." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So, about that doctorate of yours..." +msgid "So, about that doctorate of yours…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -148800,7 +154166,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "Encroaching alien mushrooms, fungal towers, tough mycelium invading ground " -"and trees, zombies taken over by aggressive mold... Yeah. It's ugly stuff." +"and trees, zombies taken over by aggressive mold… Yeah. It's ugly stuff." msgstr "" #: lang/json/talk_topic_from_json.py @@ -148815,12 +154181,6 @@ msgid "" "that?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"I dunno, scientific interest? If you don't bring me anything, no worries. " -"I'm positively swimming in entertainment here, as you can see." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "If you get me a sample, I'll join your crazy camp expedition. Hell, if you " @@ -148829,6 +154189,12 @@ msgid "" "sound, maybe make sure it's not a sporulating body." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"I dunno, scientific interest? If you don't bring me anything, no worries. " +"I'm positively swimming in entertainment here, as you can see." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "It just so happens I have a chunk of fungal matter on me right now." msgstr "" @@ -148884,11 +154250,11 @@ msgid "I'll see what I can do." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey, are you a big fan of survival of the fittest?" +msgid "Thanks again for the grub, my friend." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Thanks again for the grub, my friend." +msgid "Hey, are you a big fan of survival of the fittest?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -148909,18 +154275,18 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Because I sure ain't fit, so I'm sittin' out here until I starve to death. " -"Help a poor sickly soul out?" +"Oh you know, the usual: sittin' out here until I starve to death, playin' " +"cards with Dave, that kinda thing." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Oh you know, the usual: sittin' out here until I starve to death, playin' " -"cards with Dave, that kinda thing." +"Because I sure ain't fit, so I'm sittin' out here until I starve to death. " +"Help a poor sickly soul out?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I could maybe help you out... want something to eat?" +msgid "I could maybe help you out… want something to eat?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -148940,12 +154306,12 @@ msgid "Why are you camped out here if they won't let you in?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Oh, wow! You're a real gem, you know that? Thanks for even thinking of it." +msgid "That's awful kind of you, you really are a wonderful person." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That's awful kind of you, you really are a wonderful person." +msgid "" +"Oh, wow! You're a real gem, you know that? Thanks for even thinking of it." msgstr "" #: lang/json/talk_topic_from_json.py @@ -149217,10 +154583,6 @@ msgstr "" msgid "What's your take on the situation here?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Oh, uh... hi. You look new. I'm Aleesha." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "Hey there." msgstr "" @@ -149237,6 +154599,10 @@ msgstr "" msgid "Aw hey, look who's back." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Oh, uh... hi. You look new. I'm Aleesha." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, kid. What's up?" msgstr "" @@ -149254,7 +154620,7 @@ msgid "Hi Aleesha. I can't stay to talk." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm not a kid, okay? I'm fourteen." +msgid "I'm not a kid, okay? I'm sixteen." msgstr "" #: lang/json/talk_topic_from_json.py @@ -149262,7 +154628,7 @@ msgid "I'm not a kid, okay? I'm fifteen." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm not a kid, okay? I'm sixteen." +msgid "I'm not a kid, okay? I'm fourteen." msgstr "" #: lang/json/talk_topic_from_json.py @@ -149273,14 +154639,6 @@ msgstr "" msgid "Sorry, I didn't mean anything by it. I'll be on my way." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"I don't know what's up. I'm not sure what we've even doing here. They say " -"we're supposed to wait until we can be moved to the shelter downstairs, but " -"we've been here days and there's no word on how long we'll be waiting. It's " -"all so stupid, and nobody can tell me anything." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "We're just standing around here waiting, like a bunch of idiots. We're " @@ -149290,6 +154648,14 @@ msgid "" "here. We can hear them at night." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"I don't know what's up. I'm not sure what we've even doing here. They say " +"we're supposed to wait until we can be moved to the shelter downstairs, but " +"we've been here days and there's no word on how long we'll be waiting. It's " +"all so stupid, and nobody can tell me anything." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "You can't just go asking people questions like that nowadays. I'm a " @@ -149317,7 +154683,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You seem a little forward..." +msgid "You seem a little forward…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -149331,8 +154697,7 @@ msgid "How are things here?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Oh my, you're a beautiful lady, so nice to see you. They call me Alonso." +msgid "Hello again, gorgeous" msgstr "" #: lang/json/talk_topic_from_json.py @@ -149342,7 +154707,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello again, gorgeous" +msgid "" +"Oh my, you're a beautiful lady, so nice to see you. They call me Alonso." msgstr "" #: lang/json/talk_topic_from_json.py @@ -149372,33 +154738,33 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Now that you are here, everything. Is there anything Alonso can... *do for " -"you*?" +"Well, it's a lot better now that you're here. Nice to see a familiar face." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Well, it's a lot better now that you're here. Nice to see a familiar face." +"Now that you are here, everything. Is there anything Alonso can... *do for " +"you*?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Alonso cannot help himself, in the face of someone so fine as you." +msgid "You know me, I gotta be me, right?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You know me, I gotta be me, right?" +msgid "Alonso cannot help himself, in the face of someone so fine as you." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Aw come on, why you gotta be like that? I'm just tryin' to get an air of " +"Aw man, why you gotta be like that? I'm just tryin' to get an air of " "mystery okay? Nobody wants to be with a slutty guy from Brooklyn, but " "Alonso the mysterious is another story." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Aw man, why you gotta be like that? I'm just tryin' to get an air of " +"Aw come on, why you gotta be like that? I'm just tryin' to get an air of " "mystery okay? Nobody wants to be with a slutty guy from Brooklyn, but " "Alonso the mysterious is another story." msgstr "" @@ -149427,12 +154793,6 @@ msgstr "" msgid "Thanks. I'd better get going." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"Alonso does not wish to talk about the past, only the future. There are " -"dark days ahead, but perhaps together we can bring a little light?" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "I'm tryin' ta forget, y'know? Don't like thinkin' about the past. Better " @@ -149441,8 +154801,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Here in the center, Alonso is a bit lonely. We get a few brave, strong " -"travellers like yourself, though, and seeing them brightens Alonso's day." +"Alonso does not wish to talk about the past, only the future. There are " +"dark days ahead, but perhaps together we can bring a little light?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -149452,7 +154812,9 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ah, another new face. Hello. I am Boris." +msgid "" +"Here in the center, Alonso is a bit lonely. We get a few brave, strong " +"travellers like yourself, though, and seeing them brightens Alonso's day." msgstr "" #: lang/json/talk_topic_from_json.py @@ -149467,6 +154829,10 @@ msgstr "" msgid "It is good to see you again." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Ah, another new face. Hello. I am Boris." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Boris." msgstr "" @@ -149535,6 +154901,12 @@ msgstr "" msgid "I'm sorry. I'd better get going." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"Well, now that you mention it, with the back bay cleared I could probably " +"set up back there and start work. I'll think about it, get back to me later." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "There isn't much to do with a hammer and a saw here indoors, and working " @@ -149545,12 +154917,6 @@ msgid "" "caravans bring food, so they get priority, I can't argue with that." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"Well, now that you mention it, with the back bay cleared I could probably " -"set up back there and start work. I'll think about it, get back to me later." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "Everyone agrees this is bad. Sleeping on a cot on the floor, crowded in " @@ -149572,7 +154938,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About that sourdough starter you had me looking for..." +msgid "About that sourdough starter you had me looking for…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -149580,15 +154946,15 @@ msgid "Got any more bread I can trade flour for?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi there. I'm Dana, nice to see a new face." +msgid "Hello, nice to see you again." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello, nice to see you again." +msgid "It's good to see you're still around." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "It's good to see you're still around." +msgid "Hi there. I'm Dana, nice to see a new face." msgstr "" #: lang/json/talk_topic_from_json.py @@ -149640,10 +155006,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I do a bit. I got a sourdough starter going almost as soon as I arrived, " -"and it's making passable bread already. I cooked some up yesterday " -"actually, I could probably trade a loaf of fresh bread for, say, about eight " -"cups of flour." +"Not since I last saw you, sorry. Come by in another day or two and I'll try " +"to keep a loaf set aside for you, but they disappear fast." msgstr "" #: lang/json/talk_topic_from_json.py @@ -149654,8 +155018,10 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Not since I last saw you, sorry. Come by in another day or two and I'll try " -"to keep a loaf set aside for you, but they disappear fast." +"I do a bit. I got a sourdough starter going almost as soon as I arrived, " +"and it's making passable bread already. I cooked some up yesterday " +"actually, I could probably trade a loaf of fresh bread for, say, about eight " +"cups of flour." msgstr "" #: lang/json/talk_topic_from_json.py @@ -149677,12 +155043,6 @@ msgid "" "that's a lot more than most." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"Great, here's a loaf of my locally-famous, not-very-mature sourdough. It's " -"not too bad honestly. Everyone here seems to like it." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "Great, here's a loaf of the best damn sourdough bread in the world. I used " @@ -149704,6 +155064,12 @@ msgid "" "now." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"Great, here's a loaf of my locally-famous, not-very-mature sourdough. It's " +"not too bad honestly. Everyone here seems to like it." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "You seem pretty unhappy about the quality of your bread. Is there something " @@ -149733,6 +155099,10 @@ msgid "" "gonna murder someone soon, mark my words." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Have you heard anything back from the ranch about jobs yet?" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "Huh. I've made a few friends here, but not so much as I'd stick around here " @@ -149740,10 +155110,6 @@ msgid "" "me. It does sound nice, if they're looking for more workers." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Have you heard anything back from the ranch about jobs yet?" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "I spoke to the foreman over at Tacoma Ranch. If you're willing to put in " @@ -149781,13 +155147,13 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Well now, good to see another new face! Welcome to the center, friend, I'm " -"Draco." +msgid "Always good to see you, friend." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Always good to see you, friend." +msgid "" +"Well now, good to see another new face! Welcome to the center, friend, I'm " +"Draco." msgstr "" #: lang/json/talk_topic_from_json.py @@ -149866,7 +155232,7 @@ msgid "I think I would've done the same. Nobody around here has a guitar?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yes, yes I would... you monster." +msgid "Yes, yes I would… you monster." msgstr "" #: lang/json/talk_topic_from_json.py @@ -150024,11 +155390,11 @@ msgid "Well then, I'll leave you here where it's safe." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Man, just imagine what I could do with a new guitar." +msgid "My savior! My patron of the arts! You're always welcome here, friend." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "My savior! My patron of the arts! You're always welcome here, friend." +msgid "Man, just imagine what I could do with a new guitar." msgstr "" #: lang/json/talk_topic_from_json.py @@ -150061,6 +155427,10 @@ msgid "" "idea of trying it." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Go on." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "Say, I don't mean to get you in any trouble or nothing, if any folks still " @@ -150124,14 +155494,14 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Amazing! My lucky day. Let's see here. What can I offer... I can scrounge " -"up some Merch bucks for, say, five joints or joints-worth of the good stuff." +"Yeah, no worries, though. I'm good at the moment. Ask me again later and " +"maybe I'll have scrounged up some more cash for you." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Yeah, no worries, though. I'm good at the moment. Ask me again later and " -"maybe I'll have scrounged up some more cash for you." +"Amazing! My lucky day. Let's see here. What can I offer... I can scrounge " +"up some Merch bucks for, say, five joints or joints-worth of the good stuff." msgstr "" #: lang/json/talk_topic_from_json.py @@ -150182,12 +155552,6 @@ msgstr "" msgid "Is there anything I can do to help you out?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"Oh, hey, a new face. Hi, I'm Fatima. Just visiting I hope? It's nice to " -"meet new people but there are no beds to share." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "Hello again." msgstr "" @@ -150200,6 +155564,12 @@ msgstr "" msgid "Oh, hi." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"Oh, hey, a new face. Hi, I'm Fatima. Just visiting I hope? It's nice to " +"meet new people but there are no beds to share." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Nice to meet you too, Fatima. I'm just passing through." msgstr "" @@ -150293,15 +155663,15 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi. Hi there. I'm Garry, Garry Villeneuve." +msgid "Well, hello." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Well, hello." +msgid "Good to see you again." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Good to see you again." +msgid "Hi. Hi there. I'm Garry, Garry Villeneuve." msgstr "" #: lang/json/talk_topic_from_json.py @@ -150348,7 +155718,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You lost someone..." +msgid "You lost someone…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -150367,17 +155737,17 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Oh, hello. I don't think I've seen you around before. I'm Guneet, people " -"call me Gunny." +msgid "Hi." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi." +msgid "Hey again." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey again." +msgid "" +"Oh, hello. I don't think I've seen you around before. I'm Guneet, people " +"call me Gunny." msgstr "" #: lang/json/talk_topic_from_json.py @@ -150427,12 +155797,12 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Hi there. Haven't see you around here before. I'm Jenny, Jenny Forcette." +msgid "Nice to see you again." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Nice to see you again." +msgid "" +"Hi there. Haven't see you around here before. I'm Jenny, Jenny Forcette." msgstr "" #: lang/json/talk_topic_from_json.py @@ -150583,15 +155953,6 @@ msgid "" "this before somebody snaps." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"Well, there's a bunch of us. We're starting to form a bit of a community. " -"Fatima and I work together a fair bit, and I've been hanging out with Dana, " -"Draco, and Aleesha quite a lot. I don't know the Borichenko bunch, the " -"Singhs, Vanessa, Uyen, or Rhyzaea quite as well, but we've talked enough. " -"What did you want to know?" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "For better or worse, we're a community now. Fatima and I work together a " @@ -150604,6 +155965,15 @@ msgid "" "want to know?" msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"Well, there's a bunch of us. We're starting to form a bit of a community. " +"Fatima and I work together a fair bit, and I've been hanging out with Dana, " +"Draco, and Aleesha quite a lot. I don't know the Borichenko bunch, the " +"Singhs, Vanessa, Uyen, or Rhyzaea quite as well, but we've talked enough. " +"What did you want to know?" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Can you tell me about the Free Merchants?" msgstr "" @@ -150669,14 +156039,6 @@ msgid "" "hope that there's a future to be had." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"Boris and Garry are married, I guess. They kinda keep to themselves, they " -"seem a bit standoffish if you ask me. Stan is Boris's brother, I think, but " -"I'm not totally sure. He seems nice enough, but he's a man of few words. I " -"can't get a good bead on them. I've learned not to pry too much though." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "I didn't get to know Boris, Garry, and Stan so well for the first while. " @@ -150689,10 +156051,10 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I really can't get a bead on them. They never really talk to anyone outside " -"of their little family group, they just sit in their own spot and speak " -"Punjabi. They always seem nice, and they do their share, they just don't " -"have any social connection." +"Boris and Garry are married, I guess. They kinda keep to themselves, they " +"seem a bit standoffish if you ask me. Stan is Boris's brother, I think, but " +"I'm not totally sure. He seems nice enough, but he's a man of few words. I " +"can't get a good bead on them. I've learned not to pry too much though." msgstr "" #: lang/json/talk_topic_from_json.py @@ -150706,14 +156068,10 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Vanessa... well, she's nice, I guess. I gotta say, she kinda drives me " -"nuts, but we're in this together so I try not to be too harsh. Uyen and " -"Rhyzaea both seem to want to run the show here, but I try to stay out of " -"those politics and just focus on building stuff. I don't see much good " -"coming of it. Alonso is fine, he's clearly interested in me, and also in " -"every other single woman here. Not my thing, in a group this small. John " -"is a walking stereotype, I imagine there must be more depth to him, but I " -"haven't seen it yet." +"I really can't get a bead on them. They never really talk to anyone outside " +"of their little family group, they just sit in their own spot and speak " +"Punjabi. They always seem nice, and they do their share, they just don't " +"have any social connection." msgstr "" #: lang/json/talk_topic_from_json.py @@ -150730,13 +156088,25 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Howdy, pardner. They call me Clemens. John Clemens. I'm an ol' cowhand." +"Vanessa... well, she's nice, I guess. I gotta say, she kinda drives me " +"nuts, but we're in this together so I try not to be too harsh. Uyen and " +"Rhyzaea both seem to want to run the show here, but I try to stay out of " +"those politics and just focus on building stuff. I don't see much good " +"coming of it. Alonso is fine, he's clearly interested in me, and also in " +"every other single woman here. Not my thing, in a group this small. John " +"is a walking stereotype, I imagine there must be more depth to him, but I " +"haven't seen it yet." msgstr "" #: lang/json/talk_topic_from_json.py msgid "Howdy, pardner." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"Howdy, pardner. They call me Clemens. John Clemens. I'm an ol' cowhand." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, John." msgstr "" @@ -150774,8 +156144,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You... you do know what's going on here, right? With the evacuation and " -"stuff?" +"You… you do know what's going on here, right? With the evacuation and stuff?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -150790,11 +156159,11 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello ma'am. I am Mandeep Singh." +msgid "Hello sir. I am Mandeep Singh." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello sir. I am Mandeep Singh." +msgid "Hello ma'am. I am Mandeep Singh." msgstr "" #: lang/json/talk_topic_from_json.py @@ -150837,15 +156206,15 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ah! You are new. I'm sorry, I'm Mangalpreet." +msgid "Hi there." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi there." +msgid "Oh, hello there." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Oh, hello there." +msgid "Ah! You are new. I'm sorry, I'm Mangalpreet." msgstr "" #: lang/json/talk_topic_from_json.py @@ -151046,12 +156415,12 @@ msgid "What brings you around here? We don't see a lot of new faces." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Hi there. I don't think we've met before. I'm Rhyzaea, people call me Rhy." +msgid "Need to talk?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Need to talk?" +msgid "" +"Hi there. I don't think we've met before. I'm Rhyzaea, people call me Rhy." msgstr "" #: lang/json/talk_topic_from_json.py @@ -151142,17 +156511,17 @@ msgid "Do you want to talk about your story?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Hello. I'm sorry, if we've met before, I don't really remember. I'm... I'm " -"Stan." +msgid "Hm? Oh, hi." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hm? Oh, hi." +msgid "...Hi." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "...Hi." +msgid "" +"Hello. I'm sorry, if we've met before, I don't really remember. I'm... I'm " +"Stan." msgstr "" #: lang/json/talk_topic_from_json.py @@ -151265,13 +156634,13 @@ msgid "Hmm, can we change this shave a little please?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Oh, great. Another new mouth to feed? Just what we need. Well, I'm " -"Vanessa." +msgid "Oh, you're back." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Oh, you're back." +msgid "" +"Oh, great. Another new mouth to feed? Just what we need. Well, I'm " +"Vanessa." msgstr "" #: lang/json/talk_topic_from_json.py @@ -151310,14 +156679,6 @@ msgstr "" msgid "Could you give me a haircut?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"You want the sarcastic version, or the really sarcastic version? I'm stuck " -"in a dank shitty brick building with two dozen strangers, the world's dead, " -"and there's not enough food to go around. Why don't you fuckin' figure it " -"out?" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "Well, I'm stuck in a dank shitty brick building with two dozen strangers, " @@ -151326,6 +156687,14 @@ msgid "" "to keeping my belly full. People like getting a good haircut." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"You want the sarcastic version, or the really sarcastic version? I'm stuck " +"in a dank shitty brick building with two dozen strangers, the world's dead, " +"and there's not enough food to go around. Why don't you fuckin' figure it " +"out?" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "I can see you need one, but last time I used these shears it was to stab a " @@ -151466,7 +156835,7 @@ msgid "Are you looking to buy anything else?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Very well... let's talk about something else." +msgid "Very well… let's talk about something else." msgstr "" #: lang/json/talk_topic_from_json.py @@ -151503,15 +156872,15 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Even once we got things sorted out, there weren't enough beds for everyone, " -"and definitely not enough supplies. These are harsh times. We're doing what " -"we can for those folks... at least they've got shelter." +"I do. I don't know what you did to convince them to move out, but our " +"supply chain and I both thank you. I hope it wasn't too unseemly." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I do. I don't know what you did to convince them to move out, but our " -"supply chain and I both thank you. I hope it wasn't too unseemly." +"Even once we got things sorted out, there weren't enough beds for everyone, " +"and definitely not enough supplies. These are harsh times. We're doing what " +"we can for those folks... at least they've got shelter." msgstr "" #: lang/json/talk_topic_from_json.py @@ -151784,7 +157153,7 @@ msgid "Have you seen anyone who might be hiding something?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Bye..." +msgid "Bye…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -151798,7 +157167,7 @@ msgid "Keep your head down and stay out of my way." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "OK..." +msgid "OK…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -151806,7 +157175,7 @@ msgid "Like what?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm not sure..." +msgid "I'm not sure…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -151826,7 +157195,7 @@ msgid "Got something to hide?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I didn't mean to offend you..." +msgid "Sorry, I didn't mean to offend you…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -151870,15 +157239,15 @@ msgid "Just on watch, move along." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ma'am, you really shouldn't be traveling out there." +msgid "Rough out there, isn't it?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Rough out there, isn't it?" +msgid "Ma'am, you really shouldn't be traveling out there." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I heard this place was a refugee center..." +msgid "I heard this place was a refugee center…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -151902,7 +157271,7 @@ msgid "Can I do anything for the center?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I figured you might be looking for some help..." +msgid "I figured you might be looking for some help…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -151910,11 +157279,11 @@ msgid "Well, I'd better be going. Bye." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Welcome..." +msgid "Welcome marshal..." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Welcome marshal..." +msgid "Welcome..." msgstr "" #: lang/json/talk_topic_from_json.py @@ -151953,7 +157322,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"[INT 10] Wait, six buses and refugees... how many people do you still have " +"[INT 10] Wait, six buses and refugees… how many people do you still have " "crammed in here?" msgstr "" @@ -152001,7 +157370,7 @@ msgid "I'm sorry, not a risk we are willing to take right now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Fine..." +msgid "Fine…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152013,7 +157382,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Fine... *coughupyourscough*" +msgid "Fine… *coughupyourscough*" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152042,7 +157411,7 @@ msgid "[STR 11] I punch things in face real good!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I guess I'll look somewhere else..." +msgid "I guess I'll look somewhere else…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152063,7 +157432,7 @@ msgid "Heard of anything better than the odd gun cache?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Was hoping for something more..." +msgid "Was hoping for something more…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152142,11 +157511,11 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Citizen..." +msgid "Marshal..." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Marshal..." +msgid "Citizen..." msgstr "" #: lang/json/talk_topic_from_json.py @@ -152164,7 +157533,7 @@ msgid "So what are you doing right now?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Never mind..." +msgid "Never mind…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152187,7 +157556,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Good luck with that..." +msgid "Good luck with that…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152204,11 +157573,11 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Heh, you look important." +msgid "That sure is a shiny badge you got there!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That sure is a shiny badge you got there!" +msgid "Heh, you look important." msgstr "" #: lang/json/talk_topic_from_json.py @@ -152231,7 +157600,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sucks..." +msgid "Sucks…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152245,7 +157614,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Well, then..." +msgid "Well, then…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152278,16 +157647,16 @@ msgid "" "it." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Ssh. Some people in here hate... mutations. This was an accident." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "Same way you got yours, I bet. Keep quiet about it, some people here look " "down on people like us." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Ssh. Some people in here hate... mutations. This was an accident." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Sorry to ask" msgstr "" @@ -152313,23 +157682,23 @@ msgid "Who needs rebar?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Screw You!" +msgid "As if you're one to talk. Screw You." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "As if you're one to talk. Screw You." +msgid "Screw You!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Huh, thought I smelled someone new. Can I help you?" +msgid "I thought I smelled a pig. I jest... please don't arrest me." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I thought I smelled a pig. I jest... please don't arrest me." +msgid "Huh, thought I smelled someone new. Can I help you?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You... smelled me?" +msgid "You… smelled me?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152380,7 +157749,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Great, now my mouth is watering..." +msgid "Great, now my mouth is watering…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152480,7 +157849,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hmmm..." +msgid "Hmmm…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152525,7 +157894,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I haven't done anything wrong..." +msgid "I haven't done anything wrong…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152597,9 +157966,7 @@ msgid "Glad to have you aboard." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Hold there. I don't care how you got access to this location, but you are " -"coming no further. Go away." +msgid "So, do you need something?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152607,7 +157974,9 @@ msgid "We haven't changed our mind. Go away." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So, do you need something?" +msgid "" +"Hold there. I don't care how you got access to this location, but you are " +"coming no further. Go away." msgstr "" #: lang/json/talk_topic_from_json.py @@ -152691,7 +158060,7 @@ msgid "Something to say?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I charge hourly, so be quick..." +msgid "I charge hourly, so be quick…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152806,7 +158175,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I guess I could help with that..." +msgid "I guess I could help with that…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152859,14 +158228,6 @@ msgstr "" msgid "Keep it civil, merc." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Here to trade, I hope?" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "Safe travels, scavenger." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "Still plenty of outlaws in the roads, perhaps you should tend to your job, " @@ -152882,10 +158243,11 @@ msgid "Oh, a U.S. marshal, how quaint." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"We have been supplying this lab here with food from a few hunting and " -"farming communities nearby. The roads are though and dangerous, but it " -"makes good money, and beats scavenging the cities for scraps." +msgid "Here to trade, I hope?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Safe travels, scavenger." msgstr "" #: lang/json/talk_topic_from_json.py @@ -152894,6 +158256,13 @@ msgid "" "fair deal?" msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"We have been supplying this lab here with food from a few hunting and " +"farming communities nearby. The roads are though and dangerous, but it " +"makes good money, and beats scavenging the cities for scraps." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Keep safe, then." msgstr "" @@ -152917,7 +158286,7 @@ msgid "[$10] I'll get a haircut" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Maybe another time..." +msgid "Maybe another time…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152935,7 +158304,7 @@ msgid "Stand still while I get my clippers..." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Thanks..." +msgid "Thanks…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152955,7 +158324,7 @@ msgid "What do you have on tap?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'll be going..." +msgid "I'll be going…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -153007,7 +158376,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'll talk to him then..." +msgid "I'll talk to him then…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -153023,7 +158392,7 @@ msgid "I hope you are here to do business." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm interested in investing in agriculture..." +msgid "I'm interested in investing in agriculture…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -153050,11 +158419,11 @@ msgid "I imagine we might be able to work something out." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I was wondering if you could install a cybernetic implant..." +msgid "I was wondering if you could install a cybernetic implant…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I need help removing an implant..." +msgid "I need help removing an implant…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -153092,7 +158461,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "It could be worse..." +msgid "It could be worse…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -153102,11 +158471,11 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'll talk with them then..." +msgid "I'll talk with them then…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Morning ma'am, how can I help you?" +msgid "Can I help you, marshal?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -153114,7 +158483,7 @@ msgid "Morning sir, how can I help you?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Can I help you, marshal?" +msgid "Morning ma'am, how can I help you?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -153167,7 +158536,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hopefully moving out here was worth it..." +msgid "Hopefully moving out here was worth it…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -153220,11 +158589,11 @@ msgid "Not now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I can take a look at you or your companions if you are injured." +msgid "Come back later, I need to take care of a few things first." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Come back later, I need to take care of a few things first." +msgid "I can take a look at you or your companions if you are injured." msgstr "" #: lang/json/talk_topic_from_json.py @@ -153495,7 +158864,7 @@ msgid " blocks and counter-attacks %s" msgstr "" #: lang/json/technique_from_json.py -#: lang/json/technique_from_json.py src/game.cpp +#: src/game.cpp msgid "Disarm" msgstr "" @@ -153598,6 +158967,7 @@ msgid " leaps off a nearby wall and dropkicks %s" msgstr "" #: lang/json/technique_from_json.py +#: lang/json/technique_from_json.py src/martialarts.cpp msgid "Grab Break" msgstr "" @@ -153673,12 +159043,12 @@ msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You Snakebite %s" +msgid "You lash out at %s with a Viper Bite" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Snakebites %s" +msgid " lash out at %s with a Viper Bite" msgstr "" #: lang/json/technique_from_json.py @@ -153687,18 +159057,28 @@ msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You Viper Strike %s" +msgid "You hit %s with a spectacular Viper Strike" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Viper Strikes %s" +msgid " hits %s with a spectacular Viper Strike" msgstr "" #: lang/json/technique_from_json.py msgid "Viper Writhe" msgstr "" +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you writhe free!" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they writhe free!" +msgstr "" + #: lang/json/technique_from_json.py msgid "Roundhouse Kick" msgstr "" @@ -153741,6 +159121,34 @@ msgstr "" msgid " jabs %s with a Pincer Fist" msgstr "" +#: lang/json/technique_from_json.py +msgid "Toad Smack" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You disregard %s's attack and knock them down" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " disregards %s's attack and knocks them down" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Toad Slam" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You meet %s's attack head on with a stunning counter" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " meet %s's attack head on with a stunning counter" +msgstr "" + #: lang/json/technique_from_json.py msgid "Toad's Tongue" msgstr "" @@ -155338,247 +160746,320 @@ msgstr "" msgid " lashes out at %s with a vicious Snake Strike" msgstr "" +#: lang/json/technique_from_json.py +msgid "Push" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You push %s away" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " pushes %s away" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Shove" +msgstr "" + #: lang/json/technique_from_json.py #, python-format -msgid "You disarm %s" +msgid "You shove %s back" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " disarms %s" +msgid " shoves %s back" msgstr "" #: lang/json/technique_from_json.py -msgid "precise strike" +#, python-format +msgid "You deftly trip %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " deftly trips %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Snatch Weapon" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You snatch %s's weapon" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " snatches %s's weapon" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Axe-kick" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You raise your heel and axe-kick %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " raises their heel and axe-kicks %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Side Kick" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You turn slightly and side-kick %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " turns slightly and side-kicks %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You crouch low and sweep-kick %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " crouches low and sweep-kicks %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You strike %s" +msgid "You gently disarm %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " strikes %s" +msgid " gently disarms %s" msgstr "" #: lang/json/technique_from_json.py -msgid "axe-kick" +msgid "Palm Strike" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You axe-kick %s" +msgid "You palm strike %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " axe-kicks %s" +msgid " palm strikes %s" msgstr "" #: lang/json/technique_from_json.py -msgid "side kick" +msgid "Grasp the Sparrow's Tail" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You side-kick %s" +msgid "You divert %s's attack and lead them to the ground" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " side-kicks %s" +msgid " diverts %s's attack and lead them to the ground" msgstr "" #: lang/json/technique_from_json.py -msgid "sweep kick" +msgid "Double Palm Strike" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You sweep-kick %s" +msgid "You double-handed palm strike %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " sweep-kicks %s" +msgid " double-handed palm strikes %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Drunk feint" +msgid "Tiger Palm" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble and leer at %s" +msgid "You land a heavy tiger palm on %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " stumbles and leers at %s" +msgid " lands a heavy tiger palm on %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Drunk counter" +msgid "Tiger Takedown" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You lurch, and your wild swing hits %s" +msgid "You slam %s to the ground" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " lurches, and hits %s" +msgid " slams %s to the ground" msgstr "" #: lang/json/technique_from_json.py -msgid "Tiger Takedown" +msgid "Straight Punch" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You grab and ground %s" +msgid "You deliver a vertical straight punch to %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " grabs and grounds %s" +msgid " delivers a vertical straight punch to %s" msgstr "" #: lang/json/technique_from_json.py -msgid "slow strike" +msgid "Straight Punch (Knockback)" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You slowly strike %s" +msgid "You force %s back with a vertical straight punch" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " slowly strikes %s" +msgid " forces %s back with a vertical straight punch" msgstr "" #: lang/json/technique_from_json.py -msgid "phasing strike" +msgid "L-hook" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You phase-strike %s" +msgid "You deliver a solid L-hook to %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " phase-strikes %s" +msgid " delivers a solid L-hook to %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Push" +msgid "L-hook (Knockback)" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You push %s away" +msgid "You knock %s back with a solid L-hook" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " pushes %s away" +msgid " knocks %s back with a solid L-hook" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You deftly trip %s" +msgid "Your attack misses %s but you don't let up" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " deftly trips %s" +msgid "'s attack misses %s but they don't let up" msgstr "" #: lang/json/technique_from_json.py -msgid "Skewer" +msgid "Receive and Counter" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You brutally skewer %s" +msgid "You receive %s's gift of violence, and return it in kind" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " brutally skewers %s" -msgstr "" - -#: lang/json/technique_from_json.py -msgid "Chain Punch" +msgid " receives %s's attack, and counters" msgstr "" -#. ~ Description for Chain Punch #: lang/json/technique_from_json.py -msgid "50% moves, 66% damage, knockback and follow" +msgid "Drunken Feint" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You chain strike %s" +msgid "You stumble and leer at %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " chain strikes %s" +msgid " stumbles and leers at %s" msgstr "" #: lang/json/technique_from_json.py -msgid "You position yourself well and slip out of a grab" +msgid "Drunk Counter" msgstr "" #: lang/json/technique_from_json.py -msgid " slips out of a grab" +#, python-format +msgid "You lurch, and your wild swing hits %s" msgstr "" #: lang/json/technique_from_json.py -msgid "ask the way" +#, python-format +msgid " lurches, and hits %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You miss but keep striking at %s" +msgid "The %s tries to grab you, but you stumble away!" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " misses but keeps striking at %s" +msgid "The %s tries to grab , but they stumble away!" msgstr "" #: lang/json/technique_from_json.py -msgid "White Crane stumble" +msgid "slow strike" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble %s with your onslaught" +msgid "You slowly strike %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " stumbles %s" +msgid " slowly strikes %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Receive and Counter" +msgid "phasing strike" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You receive %s's gift of violence, and return it in kind" +msgid "You phase-strike %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " receives %s's attack, and counters" +msgid " phase-strikes %s" msgstr "" #: lang/json/technique_from_json.py @@ -156214,7 +161695,7 @@ msgstr "" #. ~ Description for deep dock pile #: lang/json/terrain_from_json.py msgid "" -"A sturdy pile made of wood extending all the way to the riverbed. A frame " +"A sturdy pile made of wood extending all the way to the riverbed. A frame " "will be required to support a surface." msgstr "" @@ -156225,8 +161706,8 @@ msgstr "" #. ~ Description for deep dock frame #: lang/json/terrain_from_json.py msgid "" -"A log frame secured atop a wooden pile. Adding a wood surface will make this " -"into a proper dock section." +"A log frame secured atop a wooden pile. Adding a wood surface will make " +"this into a proper dock section." msgstr "" #: lang/json/terrain_from_json.py @@ -156236,7 +161717,7 @@ msgstr "" #. ~ Description for deep dock #: lang/json/terrain_from_json.py msgid "" -"A wooden platform held by a tall wooden pile that extend to the riverbed. " +"A wooden platform held by a tall wooden pile that extend to the riverbed. " "Very sturdy, and likely to outlast you." msgstr "" @@ -156878,19 +162359,28 @@ msgid "" msgstr "" #: lang/json/terrain_from_json.py -msgid "closed chickenwire gate" +msgid "closed screen door" msgstr "" -#. ~ Description for closed chickenwire gate +#. ~ Description for closed screen door #: lang/json/terrain_from_json.py -msgid "" -"A gate for a chickenwire fence with a simple latch system to stay closed." +msgid "A simple wooden doorway with screen mesh." msgstr "" #: lang/json/terrain_from_json.py msgid "rattle!" msgstr "" +#: lang/json/terrain_from_json.py +msgid "closed chickenwire gate" +msgstr "" + +#. ~ Description for closed chickenwire gate +#: lang/json/terrain_from_json.py +msgid "" +"A gate for a chickenwire fence with a simple latch system to stay closed." +msgstr "" + #: lang/json/terrain_from_json.py msgid "open chickenwire gate" msgstr "" @@ -156947,6 +162437,17 @@ msgstr "" msgid "metal rattling!" msgstr "" +#: lang/json/terrain_from_json.py +msgid "screen mesh wall" +msgstr "" + +#. ~ Description for screen mesh wall +#: lang/json/terrain_from_json.py +msgid "" +"A rather flimsy tall wall made of 2x4s and screen mesh, suitable for keeping " +"the bugs out." +msgstr "" + #: lang/json/terrain_from_json.py msgid "chickenwire fence post" msgstr "" @@ -157270,7 +162771,7 @@ msgstr "" #. ~ Description for wooden floor #: lang/json/terrain_from_json.py msgid "" -"Wooden floor created from boards, packed tightly together and nailed down. " +"Wooden floor created from boards, packed tightly together and nailed down. " "Common in patios." msgstr "" @@ -157577,7 +163078,7 @@ msgstr "" msgid "" "A dual purpose platform that serves as a containment, and as a device that " "exposes items places on in to the radioactive source, by temporarily " -"hoisting the radioactive material stored within. Operated from external " +"hoisting the radioactive material stored within. Operated from external " "console." msgstr "" @@ -157853,7 +163354,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "One of the species of 'Juniperus' that grows in New England, juniper berries " -"grow over two to three years, first flowering. On the second year producing " +"grow over two to three years, first flowering. On the second year producing " "a green berry, the last, they produce their more famed blue varieties. If " "you examined the foliage more closely, you could probably find some viable " "clusters. You could also cut it down with the right tools." @@ -158808,10 +164309,11 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "For your banking convenience, this Automated Teller Machine is fully capable " -"of operating autonomously in the event of complete network failure. You can " +"of operating autonomously in the event of complete network failure. You can " "deposit funds from cash cards and migrate all of your inflation-adjusted " -"earnings to a single card. These things have seen better days. There's been " -"a run on the bank, and this machine has the dents and cracks to prove it." +"earnings to a single card. These things have seen better days. There's " +"been a run on the bank, and this machine has the dents and cracks to prove " +"it." msgstr "" #: lang/json/terrain_from_json.py @@ -158915,7 +164417,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "This is a centrifuge, a liquid separating device with an automated analyzer " -"unit. It could be used to analyze a medical fluid sample, such as blood, if " +"unit. It could be used to analyze a medical fluid sample, such as blood, if " "a test tube was placed in it." msgstr "" @@ -159521,7 +165023,7 @@ msgstr "" #. ~ Description for closed resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is closed tightly, but it looks like a firm push would cause it to snap " "open." msgstr "" @@ -159533,7 +165035,7 @@ msgstr "" #. ~ Description for open resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is open, the flaps held out by some sort of stringy mucus-like substance." msgstr "" @@ -159623,6 +165125,13 @@ msgid "" "were still running." msgstr "" +#. ~ Description for small railroad track +#: lang/json/terrain_from_json.py +msgid "" +"Like a railroad track, only smaller. You could probably run a small vehicle " +"on this." +msgstr "" + #: lang/json/terrain_from_json.py msgid "sandbox" msgstr "" @@ -159689,7 +165198,7 @@ msgstr "" #. ~ Description for gutter drop #: lang/json/terrain_from_json.py msgid "" -"Funnels water from gutter system towards the ground, it looks flimsy. You " +"Funnels water from gutter system towards the ground, it looks flimsy. You " "may be able to climb down here." msgstr "" @@ -159701,7 +165210,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "A length of gutter running from the roof to the ground, you could place a " -"container underneath it to collect rainwater. It looks flimsy. You may be " +"container underneath it to collect rainwater. It looks flimsy. You may be " "able to climb down here." msgstr "" @@ -159747,7 +165256,7 @@ msgstr "" #. ~ Description for metal flat roof #: lang/json/terrain_from_json.py -msgid "A secton of flat, sheet metal rooftop." +msgid "A section of flat, sheet metal rooftop." msgstr "" #: lang/json/terrain_from_json.py @@ -159774,7 +165283,7 @@ msgstr "" #. ~ Description for rock roof #: lang/json/terrain_from_json.py -msgid "A secton of flat natural rock." +msgid "A section of flat natural rock." msgstr "" #: lang/json/terrain_from_json.py @@ -160481,7 +165990,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "An empty wooden frame in the shape of a column, built around a concrete and " -"rebar foundation. It isn't capable of supporting roofs or shelter, and " +"rebar foundation. It isn't capable of supporting roofs or shelter, and " "appears to need more resources before being considered complete." msgstr "" @@ -161621,7 +167130,7 @@ msgid "" "You just activated a grenade! You probably want to throw it. To throw an " "item, press 't' and then select the item to throw. The maximum range " "depends on your strength and the object's weight and size. Throwing isn't " -"very good in most combat situations, but if you've got some fire power..." +"very good in most combat situations, but if you've got some fire power…" msgstr "" #: lang/json/tutorial_messages_from_json.py @@ -161690,7 +167199,7 @@ msgstr "" #: lang/json/tutorial_messages_from_json.py msgid "" "~ is a terrain symbol that indicates water. From a water source like this, " -"you can fill any containers you might have. Examine the water ('e') and " +"you can fill any containers you might have. Examine the water ('e') and " "press 'c' to fill a container, then select a watertight container to put the " "water into." msgstr "" @@ -162040,6 +167549,10 @@ msgstr "" msgid "Rail Motorcycle" msgstr "" +#: lang/json/vehicle_from_json.py +msgid "Miniature Train Locomotive" +msgstr "" + #: lang/json/vehicle_from_json.py msgid "Flatbed Truck" msgstr "" @@ -162692,7 +168205,7 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "" "A very bright, directed light that illuminates a half-circular area outside " -"the vehicle when turned on. During installation, you can choose what " +"the vehicle when turned on. During installation, you can choose what " "direction to point the light." msgstr "" @@ -162823,7 +168336,7 @@ msgstr "" #. ~ Description for tied mattress #: lang/json/vehicle_part_from_json.py msgid "" -"A mattress, strapped onto the vehicle. It could serve to blunt any impact." +"A mattress, strapped onto the vehicle. It could serve to blunt any impact." msgstr "" #. ~ Description for shredder @@ -163236,6 +168749,13 @@ msgid "" "things." msgstr "" +#. ~ Description for programmable autopilot +#: lang/json/vehicle_part_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of the vehicle to " +"allow it to follow simple paths." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "swappable storage battery case" msgstr "" @@ -163280,8 +168800,8 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "" "A small dishwasher. With detergent, water, and some electrical power, you " -"could clean your dishes... Or something more useful like a CBM dripping " -"with zombie gore. 'e'xamine the tile with the dishwasher to use it." +"could clean your dishes… Or something more useful like a CBM dripping with " +"zombie gore. 'e'xamine the tile with the dishwasher to use it." msgstr "" #. ~ Description for autoclave @@ -163465,7 +168985,7 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "" "A large wind turbine with stabilizing legs. Will recharge the vehicle's " -"electrical power when exposed to the wind. Will cause extra drag on the " +"electrical power when exposed to the wind. Will cause extra drag on the " "vehicle." msgstr "" @@ -163941,6 +169461,15 @@ msgid "" "stand next to a turret mount and 'f'ire the weapon by selecting the tile." msgstr "" +#. ~ Description for turret control unit +#: lang/json/vehicle_part_from_json.py +msgid "" +"A set of motor, camera, and an AI unit which allows for tracking targets, " +"friend-or-foe identification, and firing the connected turret in full " +"automatic mode. When installed over the turret, it will enable auto " +"targeting mode for said turret." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "light wheel mount (steerable)" msgstr "" @@ -163982,6 +169511,14 @@ msgstr "" msgid "rail wheel (steerable)" msgstr "" +#. ~ Description for pair of small rail wheels +#: lang/json/vehicle_part_from_json.py +msgid "" +"A pair of small rail wheels. It performs well when riding on a pair of " +"small rails. It performs terribly when not on a rail. Moreover, you can't " +"steer it." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "roller drum" msgstr "" @@ -165663,6 +171200,10 @@ msgstr "" msgid "Vitamin C" msgstr "" +#: lang/json/vitamin_from_json.py +msgid "Toxins" +msgstr "" + #: src/action.cpp src/input.cpp msgid "Press " msgstr "" @@ -165785,8 +171326,8 @@ msgstr "" #: src/activity_handlers.cpp msgid "" -"You need to suspend this corpse to butcher it. While you have a rope to lift " -"the corpse, there is no tree nearby to hang it from." +"You need to suspend this corpse to butcher it. While you have a rope to " +"lift the corpse, there is no tree nearby to hang it from." msgstr "" #: src/activity_handlers.cpp @@ -165799,7 +171340,7 @@ msgstr "" #: src/activity_handlers.cpp msgid "" "To perform a full butchery on a corpse this big, you need a table nearby or " -"something else with a flat surface. A leather tarp spread out on the ground " +"something else with a flat surface. A leather tarp spread out on the ground " "could suffice." msgstr "" @@ -166107,7 +171648,7 @@ msgstr "" #. ~ Sound of a Pickaxe at work! #: src/activity_handlers.cpp -msgid "CHNK! CHNK! CHNK!" +msgid "CHNK! CHNK! CHNK!" msgstr "" #: src/activity_handlers.cpp @@ -166155,7 +171696,7 @@ msgstr "" msgid "You refill the %s." msgstr "" -#: src/activity_handlers.cpp +#: src/activity_handlers.cpp src/bionics.cpp msgid "There's nothing to light there." msgstr "" @@ -166173,17 +171714,22 @@ msgstr "" #: src/activity_handlers.cpp #, c-format -msgid "You finish training %s to level %d." +msgid "You learn a little about the spell: %s" +msgstr "" + +#: src/activity_handlers.cpp src/character_martial_arts.cpp +#, c-format +msgid "You learn %s." msgstr "" #: src/activity_handlers.cpp #, c-format -msgid "You get some training in %s." +msgid "You finish training %s to level %d." msgstr "" #: src/activity_handlers.cpp #, c-format -msgid "You learn %s." +msgid "You get some training in %s." msgstr "" #: src/activity_handlers.cpp @@ -166306,14 +171852,21 @@ msgstr "" msgid "Your %s is already fully repaired." msgstr "" -#: src/activity_handlers.cpp src/player.cpp -#, c-format -msgid "You are currently unable to mend the %s." +#: src/activity_handlers.cpp +msgid "You defrost the food, but don't heat it up, since you enjoy it cold." +msgstr "" + +#: src/activity_handlers.cpp +msgid "You defrost and heat up the food." +msgstr "" + +#: src/activity_handlers.cpp +msgid "You heat up the food." msgstr "" #: src/activity_handlers.cpp #, c-format -msgid "You successfully mended the %s." +msgid "You are currently unable to mend the %s." msgstr "" #: src/activity_handlers.cpp @@ -166371,10 +171924,6 @@ msgstr "" msgid "You finish fishing" msgstr "" -#: src/activity_handlers.cpp -msgid "This training is exhausting. Time to rest." -msgstr "" - #: src/activity_handlers.cpp msgid "You finish reading." msgstr "" @@ -166385,7 +171934,7 @@ msgstr "" #: src/activity_handlers.cpp #, c-format -msgid "%s finishes with you..." +msgid "%s finishes with you…" msgstr "" #: src/activity_handlers.cpp @@ -166402,7 +171951,7 @@ msgid "%s finishes chatting with you." msgstr "" #: src/activity_handlers.cpp -msgid "You toss and turn..." +msgid "You toss and turn…" msgstr "" #: src/activity_handlers.cpp @@ -166510,7 +172059,7 @@ msgid "" msgstr "" #: src/activity_handlers.cpp src/player_hardcoded_effects.cpp -msgid "You try to sleep, but can't..." +msgid "You try to sleep, but can't…" msgstr "" #: src/activity_handlers.cpp @@ -166622,6 +172171,7 @@ msgstr "" #. ~ Sound of a shovel digging a pit at work! #. ~ Sound of a shovel filling a pit or mound at work! #: src/activity_handlers.cpp +#: src/activity_handlers.cpp src/handle_action.cpp msgid "hsh!" msgstr "" @@ -166693,7 +172243,7 @@ msgid "You planted all seeds you could." msgstr "" #: src/activity_handlers.cpp -msgid "Target lost. IFF override failed." +msgid "Target lost. IFF override failed." msgstr "" #: src/activity_handlers.cpp @@ -166712,11 +172262,11 @@ msgid "The %s short circuits as you attempt to reprogram it!" msgstr "" #: src/activity_handlers.cpp -msgid "...and turns friendly!" +msgid "…and turns friendly!" msgstr "" #: src/activity_handlers.cpp -msgid "...but the robot refuses to acknowledge you as an ally!" +msgid "…but the robot refuses to acknowledge you as an ally!" msgstr "" #: src/activity_handlers.cpp @@ -166783,7 +172333,7 @@ msgid "It's too dark to read." msgstr "" #: src/activity_handlers.cpp -msgid "...you finally find the memory banks." +msgid "…you finally find the memory banks." msgstr "" #: src/activity_handlers.cpp @@ -166981,7 +172531,7 @@ msgstr "" #: src/activity_item_handling.cpp #, c-format -msgid "%s can't reach the source tile. Try to sort out loot without a cart." +msgid "%s can't reach the source tile. Try to sort out loot without a cart." msgstr "" #: src/activity_item_handling.cpp @@ -167027,7 +172577,7 @@ msgid "You want some caffeine." msgstr "" #: src/addiction.cpp -msgid "Your hands start shaking... you need it bad!" +msgid "Your hands start shaking… you need it bad!" msgstr "" #: src/addiction.cpp @@ -167039,15 +172589,15 @@ msgid "You could use some diazepam." msgstr "" #: src/addiction.cpp -msgid "Your hands start shaking... you need a drink bad!" +msgid "Your hands start shaking… you need a drink bad!" msgstr "" #: src/addiction.cpp -msgid "You're shaking... you need some diazepam!" +msgid "You're shaking… you need some diazepam!" msgstr "" #: src/addiction.cpp -msgid "Your hands start shaking... you need some painkillers." +msgid "Your hands start shaking… you need some painkillers." msgstr "" #: src/addiction.cpp @@ -167059,7 +172609,7 @@ msgid "You feel depressed. Speed would help." msgstr "" #: src/addiction.cpp -msgid "Your hands start shaking... you need a pick-me-up." +msgid "Your hands start shaking… you need a pick-me-up." msgstr "" #: src/addiction.cpp @@ -167092,7 +172642,7 @@ msgid "You haven't had any mutagen lately." msgstr "" #: src/addiction.cpp -msgid "You could use some new parts..." +msgid "You could use some new parts…" msgstr "" #: src/addiction.cpp @@ -167235,11 +172785,11 @@ msgid "" msgstr "" #: src/addiction.cpp -msgid "Perception - 1; Intelligence - 1; Frequent cravings." +msgid "Perception - 1; Intelligence - 1; Frequent cravings." msgstr "" #: src/addiction.cpp -msgid "Perception - 2; Intelligence - 2; Frequent cravings." +msgid "Perception - 2; Intelligence - 2; Frequent cravings." msgstr "" #: src/addiction.cpp @@ -167421,38 +172971,6 @@ msgstr "" msgid "Name (charges)" msgstr "" -#: src/advanced_inv.cpp -msgid "Not dragging any vehicle!" -msgstr "" - -#: src/advanced_inv.cpp -msgid "No dragged vehicle!" -msgstr "" - -#: src/advanced_inv.cpp -msgid "Invalid container!" -msgstr "" - -#: src/advanced_inv.cpp -msgid "All 9 squares" -msgstr "" - -#: src/advanced_inv.cpp -msgid " FIRE" -msgstr "" - -#: src/advanced_inv.cpp -msgid " DANGER" -msgstr "" - -#: src/advanced_inv.cpp -msgid " TRAP" -msgstr "" - -#: src/advanced_inv.cpp -msgid " WATER" -msgstr "" - #: src/advanced_inv.cpp #, c-format msgid "[<] page %1$d of %2$d [>]" @@ -167472,7 +172990,7 @@ msgid "[R]eset" msgstr "" #: src/advanced_inv.cpp -msgid "You look at the items, then your clothes, and scratch your head..." +msgid "You look at the items, then your clothes, and scratch your head…" msgstr "" #: src/advanced_inv.cpp @@ -167496,7 +173014,7 @@ msgid "Skipping filled buckets to avoid spilling their contents." msgstr "" #: src/advanced_inv.cpp -msgid "Sort by... " +msgid "Sort by…" msgstr "" #: src/advanced_inv.cpp @@ -167562,24 +173080,56 @@ msgstr "" #: src/advanced_inv.cpp #, c-format -msgid "How many do you want to move? [Have %d] (0 to cancel)" +msgid "How many do you want to move? [Have %d] (0 to cancel)" msgstr "" #: src/advanced_inv.cpp #, c-format -msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" +msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" msgstr "" #: src/advanced_inv.cpp msgid "The destination is already full!" msgstr "" -#: src/advanced_inv.cpp +#: src/advanced_inv_area.cpp +msgid "Not dragging any vehicle!" +msgstr "" + +#: src/advanced_inv_area.cpp +msgid "No dragged vehicle!" +msgstr "" + +#: src/advanced_inv_area.cpp +msgid "Invalid container!" +msgstr "" + +#: src/advanced_inv_area.cpp +msgid "All 9 squares" +msgstr "" + +#: src/advanced_inv_area.cpp +msgid " FIRE" +msgstr "" + +#: src/advanced_inv_area.cpp +msgid " DANGER" +msgstr "" + +#: src/advanced_inv_area.cpp +msgid " TRAP" +msgstr "" + +#: src/advanced_inv_area.cpp +msgid " WATER" +msgstr "" + +#: src/advanced_inv_area.cpp msgid "Invalid container" msgstr "" #: src/animation.cpp -msgid "Hang on a bit..." +msgid "Hang on a bit…" msgstr "" #: src/armor_layers.cpp @@ -167700,6 +173250,14 @@ msgstr "" msgid "Cut:" msgstr "" +#: src/armor_layers.cpp +msgid "Acid:" +msgstr "" + +#: src/armor_layers.cpp +msgid "Fire:" +msgstr "" + #: src/armor_layers.cpp msgid "Environmental:" msgstr "" @@ -167768,7 +173326,7 @@ msgstr "" #: src/armor_layers.cpp #, c-format -msgid "Press %s for help. Press %s to change keybindings." +msgid "Press %s for help. Press %s to change keybindings." msgstr "" #: src/armor_layers.cpp @@ -168385,14 +173943,14 @@ msgstr "" #: src/artifact.cpp #, c-format msgid "" -"The %s is somehow vaguely dissatisfied even though it doesn't want anything. " -"Seeing this is a bug!" +"The %s is somehow vaguely dissatisfied even though it doesn't want " +"anything. Seeing this is a bug!" msgstr "" #: src/artifact.cpp #, c-format msgid "" -"The %s is satisfied, as it should be because it has no standards. Seeing " +"The %s is satisfied, as it should be because it has no standards. Seeing " "this is a bug!" msgstr "" @@ -168419,7 +173977,7 @@ msgstr "" #: src/artifact.cpp #, c-format msgid "" -"The %s is confused to find you dreaming while awake. Seeing this is a bug!" +"The %s is confused to find you dreaming while awake. Seeing this is a bug!" msgstr "" #: src/artifact.cpp @@ -168645,7 +174203,7 @@ msgstr "" #: src/auto_pickup.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" +"* is used as a Wildcard. A few Examples:\n" "\n" "wooden arrow matches the itemname exactly\n" "wooden ar* matches items beginning with wood ar\n" @@ -168687,7 +174245,7 @@ msgid "Won't display content or suffix matches" msgstr "" #: src/auto_pickup.cpp -msgid "Autopickup is not enabled in the options. Enable it now?" +msgid "Autopickup is not enabled in the options. Enable it now?" msgstr "" #: src/auto_pickup.cpp @@ -168724,7 +174282,7 @@ msgstr "" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. You have %d" +msgid "%s %d needed to understand. You have %d" msgstr "" #: src/avatar.cpp src/iuse.cpp @@ -168750,7 +174308,7 @@ msgstr "" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. %s has %d" +msgid "%s %d needed to understand. %s has %d" msgstr "" #: src/avatar.cpp @@ -168775,7 +174333,7 @@ msgstr "" #: src/avatar.cpp #, c-format -msgid "%s reads aloud..." +msgid "%s reads aloud…" msgstr "" #: src/avatar.cpp @@ -168868,7 +174426,7 @@ msgid "Now reading %s, %s to stop early." msgstr "" #: src/avatar.cpp -msgid "You read aloud..." +msgid "You read aloud…" msgstr "" #: src/avatar.cpp @@ -168894,15 +174452,15 @@ msgstr "" #: src/avatar.cpp #, c-format msgid "" -"It's difficult for %s to see fine details right now. Reading will take " +"It's difficult for %s to see fine details right now. Reading will take " "longer than usual." msgstr "" #: src/avatar.cpp #, c-format msgid "" -"This book is too complex for %s to easily understand. It will take longer to " -"read." +"This book is too complex for %s to easily understand. It will take longer " +"to read." msgstr "" #: src/avatar.cpp @@ -168984,7 +174542,7 @@ msgstr "" #: src/avatar.cpp #, c-format -msgid "You learn a little about %s! (%d%%)" +msgid "You learn a little about %s! (%d%%)" msgstr "" #: src/avatar.cpp @@ -169013,7 +174571,7 @@ msgid "Rereading the %s isn't as much fun for %s." msgstr "" #: src/avatar.cpp -msgid "Maybe you should find something new to read..." +msgid "Maybe you should find something new to read…" msgstr "" #: src/avatar.cpp @@ -169048,11 +174606,11 @@ msgid "You train for a while." msgstr "" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through your internal alarm..." +msgid "It looks like you've slept through your internal alarm…" msgstr "" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through the alarm..." +msgid "It looks like you've slept through the alarm…" msgstr "" #: src/avatar.cpp @@ -169060,7 +174618,7 @@ msgid "You retched, but your stomach is empty." msgstr "" #: src/avatar.cpp -msgid "You lost your book! You stop reading." +msgid "You lost your book! You stop reading." msgstr "" #: src/avatar.cpp @@ -169134,7 +174692,67 @@ msgstr "" #: src/avatar.cpp #, c-format -msgid "Are you sure you want to raise %s? %d points available." +msgid "Are you sure you want to raise %s? %d points available." +msgstr "" + +#: src/avatar.cpp +msgid "You set your mech's leg power to a loping fast walk." +msgstr "" + +#: src/avatar.cpp +msgid "You nudge your steed into a steady trot." +msgstr "" + +#: src/avatar.cpp +msgid "You start walking." +msgstr "" + +#: src/avatar.cpp +msgid "You set the power of your mech's leg servos to maximum." +msgstr "" + +#: src/avatar.cpp +msgid "You spur your steed into a gallop." +msgstr "" + +#: src/avatar.cpp +msgid "You start running." +msgstr "" + +#: src/avatar.cpp +msgid "Your steed is too tired to go faster." +msgstr "" + +#: src/avatar.cpp +msgid "You need two functional legs to run." +msgstr "" + +#: src/avatar.cpp +msgid "You're too tired to run." +msgstr "" + +#: src/avatar.cpp +msgid "You reduce the power of your mech's leg servos to minimum." +msgstr "" + +#: src/avatar.cpp +msgid "You slow your steed to a walk." +msgstr "" + +#: src/avatar.cpp +msgid "You start crouching." +msgstr "" + +#. ~ %1$s: weapon name, %2$s: holster name +#: src/avatar.cpp src/game.cpp +#, c-format +msgctxt "holster" +msgid "Draw %1$s from %2$s?" +msgstr "" + +#: src/avatar.cpp src/monexamine.cpp +#, c-format +msgid "What to do with your %s?" msgstr "" #: src/avatar_action.cpp @@ -169142,11 +174760,11 @@ msgid "You can't move while in your shell. Deactivate it to go mobile." msgstr "" #: src/avatar_action.cpp -msgid "You cannot pull yourself away from the faultline..." +msgid "You cannot pull yourself away from the faultline…" msgstr "" #: src/avatar_action.cpp -msgid "Monster in the way. Auto-move canceled." +msgid "Monster in the way. Auto-move canceled." msgstr "" #: src/avatar_action.cpp @@ -169160,7 +174778,7 @@ msgstr "" #: src/avatar_action.cpp src/handle_action.cpp #: src/handle_action.cpp -msgid "You're too pacified to strike anything..." +msgid "You're too pacified to strike anything…" msgstr "" #: src/avatar_action.cpp @@ -169242,7 +174860,7 @@ msgstr "" #: src/avatar_action.cpp #, c-format -msgid "You need to breathe! (%s to surface.)" +msgid "You need to breathe! (%s to surface.)" msgstr "" #: src/avatar_action.cpp @@ -169254,7 +174872,7 @@ msgid "You cannot board a vehicle while mounted." msgstr "" #: src/avatar_action.cpp -msgid "No hostile creature in reach. Waiting a turn." +msgid "No hostile creature in reach. Waiting a turn." msgstr "" #: src/avatar_action.cpp @@ -169262,7 +174880,7 @@ msgid "Your eyes steel, and you raise your weapon!" msgstr "" #: src/avatar_action.cpp -msgid "You can't fire your weapon, it's too heavy..." +msgid "You can't fire your weapon, it's too heavy…" msgstr "" #: src/avatar_action.cpp @@ -169271,11 +174889,13 @@ msgid "The %s must be attached to a gun, it can not be fired separately." msgstr "" #: src/avatar_action.cpp -msgid "You can no longer fire." +#, c-format +msgid "You can no longer fire your %s." msgstr "" #: src/avatar_action.cpp -msgid "You need a free arm to drive!" +#, c-format +msgid "You can't use your %s while driving!" msgstr "" #: src/avatar_action.cpp @@ -169284,7 +174904,8 @@ msgid "You need two free hands to fire your %s." msgstr "" #: src/avatar_action.cpp -msgid "You need to reload!" +#, c-format +msgid "Your %s is empty!" msgstr "" #: src/avatar_action.cpp @@ -169296,16 +174917,18 @@ msgstr "" #, c-format msgid "" "You need a UPS with at least %d charges or an advanced UPS with at least %d " -"charges to fire that!" +"charges to fire the %s!" msgstr "" #: src/avatar_action.cpp -msgid "Your mech has an empty battery, its weapon will not fire." +#, c-format +msgid "Your mech has an empty battery, its %s will not fire." msgstr "" #: src/avatar_action.cpp +#, c-format msgid "" -"You must stand near acceptable terrain or furniture to use this weapon. A " +"You must stand near acceptable terrain or furniture to use this %s. A " "table, a mound of dirt, a broken window, etc." msgstr "" @@ -169354,7 +174977,7 @@ msgid "You concentrate mightily, and your body obeys!" msgstr "" #: src/avatar_action.cpp -msgid "You can't muster up the effort to throw anything..." +msgid "You can't muster up the effort to throw anything…" msgstr "" #: src/ballistics.cpp @@ -169541,6 +175164,16 @@ msgstr "" msgid "Your %s automatically turns off." msgstr "" +#: src/bionics.cpp +#, c-format +msgid "Your %s does not have sufficient humidity to function." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency will be reduced." +msgstr "" + #: src/bionics.cpp msgid "You change your mind and turn it off." msgstr "" @@ -169658,10 +175291,6 @@ msgstr "" msgid "No effects." msgstr "" -#: src/bionics.cpp -msgid "There was not enough moisture in the air from which to draw water!" -msgstr "" - #: src/bionics.cpp msgid "Your torsion ratchet locks onto your joints." msgstr "" @@ -169674,10 +175303,6 @@ msgstr "" msgid "Start a fire where?" msgstr "" -#: src/bionics.cpp src/iexamine.cpp -msgid "You can't light a fire there." -msgstr "" - #: src/bionics.cpp #, c-format msgid "Your radiation level: %d" @@ -169851,6 +175476,20 @@ msgstr "" msgid "'s %s turns off to not waste fuel." msgstr "" +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, your %s shuts down to preserve " +"your health." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, 's %s shuts down to " +"preserve their health." +msgstr "" + #: src/bionics.cpp #, c-format msgid "Your %s runs out of fuel and turn off." @@ -169879,6 +175518,21 @@ msgstr "" msgid "You feel your throat open up and air filling your lungs!" msgstr "" +#: src/bionics.cpp +#, c-format +msgid "There is not enough humidity for your %s to function." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency is reduced." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "You are properly hydrated. Your %s chirps happily." +msgstr "" + #: src/bionics.cpp msgid "The removal fails without incident." msgstr "" @@ -169940,7 +175594,7 @@ msgstr "" #: src/bionics.cpp #, c-format -msgid "A lifetime of augmentation has taught %s a thing or two..." +msgid "A lifetime of augmentation has taught %s a thing or two…" msgstr "" #: src/bionics.cpp @@ -169955,7 +175609,7 @@ msgstr "" #: src/bionics.cpp msgid "" -"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" +"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" msgstr "" #: src/bionics.cpp @@ -169974,10 +175628,10 @@ msgstr "" msgid "Are you sure you wish to uninstall the selected bionic?" msgstr "" -#: src/bionics.cpp +#: src/bionics.cpp src/game.cpp #, c-format msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " +"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " "anyway?" msgstr "" @@ -170048,7 +175702,7 @@ msgstr "" #, c-format msgid "" "WARNING: %i percent chance of failure that may result in damage, pain, or a " -"faulty installation! Continue anyway?" +"faulty installation! Continue anyway?" msgstr "" #. ~ %1$s - name of the bionic to be upgraded (inferior), %2$s - name of the upgraded bionic (superior). @@ -170163,9 +175817,30 @@ msgstr "" msgid "Available Fuel: " msgstr "" +#: src/bionics_ui.cpp +msgctxt "decimal separator" +msgid "." +msgstr "" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: kilojoule" +msgid "kJ" +msgstr "" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: joule" +msgid "J" +msgstr "" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: millijoule" +msgid "mJ" +msgstr "" + #: src/bionics_ui.cpp #, c-format -msgid "Bionic Power: %i/%i" +msgid "" +"Bionic Power: %s/%ikJ" msgstr "" #: src/bionics_ui.cpp @@ -170190,22 +175865,22 @@ msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ act" +msgid "%s act" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ deact" +msgid "%s deact" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/turn" +msgid "%s/turn" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/%d turns" +msgid "%s/%d turns" msgstr "" #: src/bionics_ui.cpp src/handle_action.cpp @@ -170253,13 +175928,13 @@ msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%s; enter new letter. Space to clear. Esc to cancel." +msgid "%s; enter new letter. Space to clear. Esc to cancel." msgstr "" #: src/bionics_ui.cpp #, c-format msgid "" -"Invalid bionic letter. Only those characters are valid:\n" +"Invalid bionic letter. Only those characters are valid:\n" "\n" "%s" msgstr "" @@ -170300,6 +175975,7 @@ msgstr "" msgid "Target armor multiplier" msgstr "" +#. ~ %1$s: damage type, %2$s: damage-related bonus name #: src/bonuses.cpp #, c-format msgctxt "type of damage" @@ -170610,7 +176286,11 @@ msgstr "" #: src/character.cpp msgctxt "not possessive" -msgid "you" +msgid "You" +msgstr "" + +#: src/character.cpp +msgid "Your" msgstr "" #: src/character.cpp @@ -170626,6 +176306,64 @@ msgstr "" msgid "armor" msgstr "" +#: src/character.cpp +#, c-format +msgid "You remove the %s's harness." +msgstr "" + +#: src/character.cpp +#: src/game.cpp +msgid "You let go of the grabbed object." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You climb on the %s." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You hear your %s whir to life." +msgstr "" + +#: src/character.cpp +msgid "You are ejected from your mech!" +msgstr "" + +#: src/character.cpp +msgid " is ejected from their mech!" +msgstr "" + +#: src/character.cpp +msgid "You fall off your mount!" +msgstr "" + +#: src/character.cpp +msgid " falls off their mount!" +msgstr "" + +#: src/character.cpp src/trapfunc.cpp +msgid "You hurt yourself!" +msgstr "" + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Fell off a mount." +msgstr "" + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Fell off a mount." +msgstr "" + +#: src/character.cpp +msgid "Dismount where?" +msgstr "" + +#: src/character.cpp +msgid "You cannot dismount there!" +msgstr "" + #: src/character.cpp msgid "You struggle to stand." msgstr "" @@ -170786,6 +176524,14 @@ msgctxt "container" msgid "You put the %1$s in your %2$s." msgstr "" +#: src/character.cpp +msgid "You can't place items here!" +msgstr "" + +#: src/character.cpp +msgid " can't place items here!" +msgstr "" + #. ~ %1$s - list of unmet requirements, %2$s - item name. #: src/character.cpp #, c-format @@ -170808,10 +176554,20 @@ msgstr "" msgid " needs at least %1$s to use this %2$s with their %3$s." msgstr "" +#: src/character.cpp +#, c-format +msgid "You cannot unwield your %s." +msgstr "" + #: src/character.cpp msgid "Liquid from your inventory has leaked onto the ground." msgstr "" +#: src/character.cpp +#, c-format +msgid "Your current health value is %d." +msgstr "" + #: src/character.cpp msgid "Parched" msgstr "" @@ -170881,6 +176637,75 @@ msgstr "" msgid "Your %s bionic shorts out!" msgstr "" +#: src/character.cpp +#, c-format +msgid "Your %s will be frostnipped in the next few hours." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten within the hour!" +msgstr "" + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten any minute now!" +msgstr "" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s beginning to go numb from the cold!" +msgstr "" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very cold." +msgstr "" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting chilly." +msgstr "" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting red hot from the heat!" +msgstr "" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very hot." +msgstr "" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting warm." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "The wind is making your %s feel quite cold." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "" +"The wind is very strong, you should find some more wind-resistant clothing " +"for your %s." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "" +"Your clothing is not providing enough protection from the wind for your %s!" +msgstr "" + #: src/character.cpp msgid "Left Arm" msgstr "" @@ -170898,7 +176723,7 @@ msgid "Right Leg" msgstr "" #: src/character.cpp -msgid "It is broken. It needs a splint or surgical attention." +msgid "It is broken. It needs a splint or surgical attention." msgstr "" #: src/character.cpp @@ -170943,7 +176768,8 @@ msgid "This will not help in cleaning this wound." msgstr "" #: src/character.cpp -msgid "It has a deep wound that looks infected. Antibiotics might be required." +msgid "" +"It has a deep wound that looks infected. Antibiotics might be required." msgstr "" #: src/character.cpp @@ -171044,8 +176870,9 @@ msgstr "" msgid "Big" msgstr "" -#: src/character.cpp src/color.cpp -#: src/color.cpp src/options.cpp src/panels.cpp +#: src/character.cpp +#: src/character_martial_arts.cpp src/color.cpp +#: src/options.cpp msgid "Normal" msgstr "" @@ -171148,6 +176975,32 @@ msgstr "" msgid "EXTRA_EXERCISE" msgstr "" +#: src/character.cpp +msgid "Your body strains under the weight!" +msgstr "" + +#: src/character.cpp +#, c-format +msgid "Your %s needs %d charge from some UPS." +msgid_plural "Your %s needs %d charges from some UPS." +msgstr[0] "" +msgstr[1] "" + +#: src/character.cpp +#, c-format +msgid "Your %s has %d charge but needs %d." +msgid_plural "Your %s has %d charges but needs %d." +msgstr[0] "" +msgstr[1] "" + +#: src/character.cpp +msgid "You cough heavily." +msgstr "" + +#: src/character.cpp +msgid "a hacking cough." +msgstr "" + #: src/character.cpp msgid "You try to shout but you have no face!" msgstr "" @@ -171262,6 +177115,86 @@ msgstr "" msgid "Your %1$s is %2$s!" msgstr "" +#: src/character.cpp +#, c-format +msgid "You were attacked by %s!" +msgstr "" + +#: src/character.cpp +msgid "You were hurt!" +msgstr "" + +#. ~spore-release sound +#. ~ the sound of a fungus releasing spores +#. ~ That spore sound again +#. ~ the sound of a fungus dying +#: src/character.cpp src/monattack.cpp +#: src/monattack.cpp src/mondeath.cpp +msgid "Pouf!" +msgstr "" + +#: src/character.cpp +msgid "You sink your roots into the soil." +msgstr "" + +#: src/character.cpp +msgid "You start hauling items along the ground." +msgstr "" + +#: src/character.cpp +msgid "Your hands are not free, which makes hauling slower." +msgstr "" + +#: src/character.cpp +msgid "You stop hauling items." +msgstr "" + +#: src/character.cpp +msgid "You resume your task." +msgstr "" + +#: src/character.cpp +msgid "You nestle your pile of clothes for warmth." +msgstr "" + +#: src/character.cpp +msgid "You use your pile of clothes for warmth." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You snuggle your %s to keep warm." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You use your %s to keep warm." +msgstr "" + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Entered hibernation." +msgstr "" + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Entered hibernation." +msgstr "" + +#: src/character_martial_arts.cpp +#, c-format +msgid "You have learned %s from extensive practice with the CQB Bionic." +msgstr "" + +#: src/character_martial_arts.cpp +#, c-format +msgid "%s to select martial arts style." +msgstr "" + +#: src/character_martial_arts.cpp +msgid "No Style" +msgstr "" + #: src/clzones.cpp msgid "No Auto Pickup" msgstr "" @@ -171306,260 +177239,6 @@ msgid "" "this area." msgstr "" -#: src/clzones.cpp -msgid "Loot: Unsorted" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " -"sort items inside. It can overlap with Loot zones of different types." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Food" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for comestibles. If more specific food zone is not defined, all " -"food is moved here." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: P.Food" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for perishable comestibles. Does include perishable drinks if " -"such zone is not specified." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Drink" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for drinks. Does include perishable drinks if such zone is not " -"specified." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: P.Drink" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for perishable drinks." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Guns" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for guns, bows and similar weapons." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Magazines" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for gun magazines." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Ammo" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for ammo." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Weapons" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for melee weapons." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Tools" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for tools." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Clothing" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for clothing. Does include filthy clothing if such zone is not " -"specified." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: F.Clothing" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for filthy clothing." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Drugs" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for drugs and other medical items." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Books" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for books and magazines." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Mods" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for firearm modifications and similar items." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Mutagens" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for mutagens, serums, and purifiers." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Bionics" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for Compact Bionics Modules aka CBMs." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: V.Parts" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for vehicle parts." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Other" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for other miscellaneous items." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Fuel" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for gasoline, diesel, lamp oil and other substances used as a " -"fuel." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Seeds" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for seeds, stems and similar items." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Chemical" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for chemicals." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: S.Parts" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for spare parts." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Artifacts" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for artifacts" -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Corpses" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for corpses" -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Armor" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for armor. Does include filthy armor if such zone is not " -"specified." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: F.Armor" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for filthy armor." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Wood" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for firewood and items that can be used as such." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Custom" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for loot with a custom filter that you can modify." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Ignore" -msgstr "" - -#: src/clzones.cpp -msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." -msgstr "" - #: src/clzones.cpp msgid "Source: Firewood" msgstr "" @@ -171567,7 +177246,7 @@ msgstr "" #: src/clzones.cpp msgid "" "Source for firewood or other flammable materials in this zone may be used to " -"automatically refuel fires. This will be done to maintain light during long-" +"automatically refuel fires. This will be done to maintain light during long-" "running tasks such as crafting, reading or waiting." msgstr "" @@ -171619,6 +177298,24 @@ msgstr "" msgid "Any vehicles in this area are marked for repair work." msgstr "" +#: src/clzones.cpp +msgid "Vehicle Patrol Zone" +msgstr "" + +#: src/clzones.cpp +msgid "Vehicles with an autopilot will patrol in this zone." +msgstr "" + +#: src/clzones.cpp +msgid "Basecamp: Storage" +msgstr "" + +#: src/clzones.cpp +msgid "" +"Items in this zone will be added to a basecamp's inventory for use by it's " +"workers." +msgstr "" + #: src/clzones.cpp msgid "Basecamp: Food" msgstr "" @@ -171640,11 +177337,11 @@ msgstr "" #: src/clzones.cpp #, c-format -msgid "Loot: Custom : %s" +msgid "Loot: Custom: %s" msgstr "" #: src/clzones.cpp -msgid "Loot: Custom : No Filter" +msgid "Loot: Custom: No Filter" msgstr "" #: src/clzones.cpp @@ -171798,7 +177495,7 @@ msgstr "" #: src/computer.cpp #, c-format -msgid "Logging into %s..." +msgid "Logging into %s…" msgstr "" #: src/computer.cpp @@ -171814,15 +177511,15 @@ msgid "Bypass security?" msgstr "" #: src/computer.cpp -msgid "Shutting down... press any key." +msgid "Shutting down… press any key." msgstr "" #: src/computer.cpp -msgid "Maximum login attempts exceeded. Press any key..." +msgid "Maximum login attempts exceeded. Press any key…" msgstr "" #: src/computer.cpp -msgid "Login successful. Press any key..." +msgid "Login successful. Press any key…" msgstr "" #: src/computer.cpp @@ -171846,28 +177543,28 @@ msgid "Choose drive:" msgstr "" #: src/computer.cpp -msgid "Doors opened. Press any key..." +msgid "Doors opened. Press any key…" msgstr "" #: src/computer.cpp -msgid "Lock enabled. Press any key..." +msgid "Lock enabled. Press any key…" msgstr "" #: src/computer.cpp -msgid "Lock disabled. Press any key..." +msgid "Lock disabled. Press any key…" msgstr "" #. ~ the sound of a church bell ringing #: src/computer.cpp -msgid "Bohm... Bohm... Bohm..." +msgid "Bohm… Bohm… Bohm…" msgstr "" #: src/computer.cpp -msgid "Containment shields opened. Press any key..." +msgid "Containment shields opened. Press any key…" msgstr "" #: src/computer.cpp -msgid "Subjects terminated. Press any key..." +msgid "Subjects terminated. Press any key…" msgstr "" #: src/computer.cpp @@ -171879,35 +177576,35 @@ msgid "No data found." msgstr "" #: src/computer.cpp -msgid "Local data-access error logged, alerting helpdesk. Press any key..." +msgid "Local data-access error logged, alerting helpdesk. Press any key…" msgstr "" #: src/computer.cpp msgid "" -"Warning: anomalous archive-access activity detected at this node. Press any " -"key..." +"Warning: anomalous archive-access activity detected at this node. Press any " +"key…" msgstr "" #: src/computer.cpp -msgid "Warning: resticted data access. Attempt logged. Press any key..." +msgid "Warning: resticted data access. Attempt logged. Press any key…" msgstr "" #: src/computer.cpp -msgid "Press any key..." +msgid "Press any key…" msgstr "" #: src/computer.cpp msgid "" "Surface map data downloaded. Local anomalous-access error logged. Press " -"any key..." +"any key…" msgstr "" #: src/computer.cpp -msgid "Sewage map data downloaded. Press any key..." +msgid "Sewage map data downloaded. Press any key…" msgstr "" #: src/computer.cpp -msgid "Subway map data downloaded. Press any key..." +msgid "Subway map data downloaded. Press any key…" msgstr "" #: src/computer.cpp @@ -171944,13 +177641,13 @@ msgstr "" #: src/computer.cpp #, c-format -msgid "%d OTHER FOUND..." -msgid_plural "%d OTHERS FOUND..." +msgid "%d OTHER FOUND…" +msgid_plural "%d OTHERS FOUND…" msgstr[0] "" msgstr[1] "" #: src/computer.cpp -msgid "Elevator activated. Press any key..." +msgid "Elevator activated. Press any key…" msgstr "" #: src/computer.cpp @@ -171974,7 +177671,7 @@ msgid "" msgstr "" #: src/computer.cpp -msgid "FILE CORRUPTED, PRESS ANY KEY..." +msgid "FILE CORRUPTED, PRESS ANY KEY…" msgstr "" #: src/computer.cpp @@ -171990,11 +177687,11 @@ msgid "ACCESS DENIED" msgstr "" #: src/computer.cpp -msgid "Repeater mod installed..." +msgid "Repeater mod installed…" msgstr "" #: src/computer.cpp -msgid "You do not have a repeater mod to install..." +msgid "You do not have a repeater mod to install…" msgstr "" #: src/computer.cpp @@ -172026,15 +177723,15 @@ msgid "ERROR: Please only use blood samples." msgstr "" #: src/computer.cpp -msgid "Result: Human blood, no pathogens found." +msgid "Result: Human blood, no pathogens found." msgstr "" #: src/computer.cpp -msgid "Result: Human blood. Unknown pathogen found." +msgid "Result: Human blood. Unknown pathogen found." msgstr "" #: src/computer.cpp -msgid "Result: Unknown blood type. Unknown pathogen found." +msgid "Result: Unknown blood type. Unknown pathogen found." msgstr "" #: src/computer.cpp @@ -172071,51 +177768,51 @@ msgstr "" #: src/computer.cpp msgid "" -"Memory Bank: Military Hexron Encryption\n" +"Memory Bank: Military Hexron Encryption\n" "Printing Transcript\n" msgstr "" #: src/computer.cpp msgid "" -"Memory Bank: Unencrypted\n" +"Memory Bank: Unencrypted\n" "Nothing of interest.\n" msgstr "" #: src/computer.cpp msgid "" "\n" -"ERROR: NETWORK DISCONNECT \n" +"ERROR: NETWORK DISCONNECT\n" "UNABLE TO REACH NETWORK ROUTER OR PROXY. PLEASE CONTACT YOUR\n" "SYSTEM ADMINISTRATOR TO RESOLVE THIS ISSUE.\n" " \n" msgstr "" #: src/computer.cpp -msgid "Press any key to continue..." +msgid "Press any key to continue…" msgstr "" #: src/computer.cpp msgid "" -"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF \n" -"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU \n" -"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW. \n" +"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF\n" +"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU\n" +"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW.\n" "\n" -"1. DO NOT PANIC. \n" -"2. REMAIN INSIDE THE BUILDING. \n" -"3. SEEK SHELTER IN THE BASEMENT. \n" -"4. USE PROVIDED GAS MASKS. \n" -"5. AWAIT FURTHER INSTRUCTIONS. \n" +"1. DO NOT PANIC.\n" +"2. REMAIN INSIDE THE BUILDING.\n" +"3. SEEK SHELTER IN THE BASEMENT.\n" +"4. USE PROVIDED GAS MASKS.\n" +"5. AWAIT FURTHER INSTRUCTIONS.\n" "\n" " \n" msgstr "" #: src/computer.cpp msgid "" -" WARNING, RADIO TOWER IS UNRESPONSIVE. \n" +" WARNING, RADIO TOWER IS UNRESPONSIVE.\n" " \n" -" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS. \n" -" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD \n" -" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED. \n" +" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS.\n" +" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD\n" +" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED.\n" " \n" " \n" msgstr "" @@ -172158,7 +177855,7 @@ msgid "WARNING [409]: Primary sensors offline!" msgstr "" #: src/computer.cpp -msgid " >> Initialize secondary sensors: Geiger profiling..." +msgid " >> Initialize secondary sensors: Geiger profiling…" msgstr "" #: src/computer.cpp @@ -172166,7 +177863,7 @@ msgid " >> Radiation spike detected!\n" msgstr "" #: src/computer.cpp -msgid "WARNING [912]: Catastrophic malfunction! Contamination detected! " +msgid "WARNING [912]: Catastrophic malfunction! Contamination detected!" msgstr "" #: src/computer.cpp @@ -172174,11 +177871,11 @@ msgid "EMERGENCY PROCEDURE [1]: Evacuate. Evacuate. Evacuate.\n" msgstr "" #: src/computer.cpp -msgid "EMERGENCY SHUTDOWN! Press any key..." +msgid "EMERGENCY SHUTDOWN! Press any key…" msgstr "" #: src/computer.cpp -msgid "PROCESSING... CYCLE COMPLETE." +msgid "PROCESSING… CYCLE COMPLETE." msgstr "" #: src/computer.cpp @@ -172188,7 +177885,7 @@ msgstr "" #: src/computer.cpp msgid "" -"CRITICAL ERROR... RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " +"CRITICAL ERROR… RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " "RP_M_01_rev.03." msgstr "" @@ -172198,22 +177895,22 @@ msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... AVG %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… AVG %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... MAX %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… MAX %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ CONSOLE: .... %s mSv/h." +msgid "GEIGER COUNTER @ CONSOLE:… %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "PERSONAL DOSIMETRY: .... %s mSv." +msgid "PERSONAL DOSIMETRY:… %s mSv." msgstr "" #: src/computer.cpp @@ -172237,11 +177934,11 @@ msgid "No items detected at: LOADING BAY." msgstr "" #: src/computer.cpp -msgid "Conveyor belt cycle complete. Press any key..." +msgid "Conveyor belt cycle complete. Press any key…" msgstr "" #: src/computer.cpp -msgid "Toggling shutters. Press any key..." +msgid "Toggling shutters. Press any key…" msgstr "" #: src/computer.cpp @@ -172249,15 +177946,15 @@ msgid "Operation irreversible. Extract radioactive material?" msgstr "" #: src/computer.cpp -msgid "Extraction sequence complete... Press any key." +msgid "Extraction sequence complete… Press any key." msgstr "" #: src/computer.cpp -msgid "ERROR! Radiation platform unresponsive... Press any key." +msgid "ERROR! Radiation platform unresponsive… Press any key." msgstr "" #: src/computer.cpp -msgid "Initiating POWER-DIAG ver.2.34 ..." +msgid "Initiating POWER-DIAG ver.2.34…" msgstr "" #: src/computer.cpp @@ -172278,13 +177975,13 @@ msgstr "" #: src/computer.cpp #, c-format -msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." +msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." msgstr "" #: src/computer.cpp #, c-format msgid "" -"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " +"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " "DETECTED." msgstr "" @@ -172293,7 +177990,7 @@ msgid "Backup power status: STANDBY MODE." msgstr "" #: src/computer.cpp -msgid "Backup power status: OFFLINE. Reason: UNKNOWN" +msgid "Backup power status: OFFLINE. Reason: UNKNOWN" msgstr "" #: src/computer.cpp @@ -172353,7 +178050,7 @@ msgid "ERROR: Data bank destroyed." msgstr "" #: src/computer.cpp -msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT ... " +msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT…" msgstr "" #. ~555-0164 is a fake phone number in the US, please replace it with a number that will not cause issues in your locale if possible. @@ -172361,15 +178058,15 @@ msgstr "" #, c-format msgid "" "\n" -"REFUGEE CENTER FOUND! LOCATION: %d %s\n" +"REFUGEE CENTER FOUND! LOCATION: %d %s\n" "\n" -"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT \n" -"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE. \n" -"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND \n" -"4PM AT 555-0164. \n" +"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT\n" +"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE.\n" +"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND\n" +"4PM AT 555-0164.\n" "\n" "IF YOU WOULD LIKE TO SPEAK WITH SOMEONE IN PERSON OR WOULD LIKE\n" -"TO WRITE US A LETTER PLEASE SEND IT TO...\n" +"TO WRITE US A LETTER PLEASE SEND IT TO…\n" msgstr "" #: src/construction.cpp @@ -172462,12 +178159,12 @@ msgstr "" #: src/construction.cpp #, c-format -msgid "%s assists you with the work..." +msgid "%s assists you with the work…" msgstr "" #: src/construction.cpp #, c-format -msgid "%s watches you work..." +msgid "%s watches you work…" msgstr "" #: src/construction.cpp @@ -172529,7 +178226,7 @@ msgid "That %s can not be dissasembled, since there is furniture above it." msgstr "" #: src/construction.cpp -msgid "The rock feels much warmer than normal. Proceed?" +msgid "The rock feels much warmer than normal. Proceed?" msgstr "" #: src/construction.cpp @@ -172692,18 +178389,18 @@ msgstr "" #: src/consumption.cpp msgid "" "You've begun stockpiling calories and liquid for hibernation. You get the " -"feeling that you should prepare for bed, just in case, but...you're hungry " +"feeling that you should prepare for bed, just in case, but… you're hungry " "again, and you could eat a whole week's worth of food RIGHT NOW." msgstr "" #: src/consumption.cpp #, c-format -msgid "Ick, this %s doesn't taste so good..." +msgid "Ick, this %s doesn't taste so good…" msgstr "" #: src/consumption.cpp #, c-format -msgid "Mmm, this %s tastes delicious..." +msgid "Mmm, this %s tastes delicious…" msgstr "" #: src/consumption.cpp @@ -172718,7 +178415,7 @@ msgstr "" #: src/consumption.cpp #, c-format -msgid "Ick, this %s (rotten) doesn't taste so good..." +msgid "Ick, this %s (rotten) doesn't taste so good…" msgstr "" #: src/consumption.cpp @@ -172772,7 +178469,7 @@ msgid "You greedily devour the taboo meat." msgstr "" #: src/consumption.cpp -msgid "Meh. You've eaten worse." +msgid "Meh. You've eaten worse." msgstr "" #: src/consumption.cpp @@ -172799,7 +178496,7 @@ msgid "You can't taste much of anything with this flu." msgstr "" #: src/consumption.cpp -msgid "Yuck! How can anybody eat this stuff?" +msgid "Yuck! How can anybody eat this stuff?" msgstr "" #: src/consumption.cpp @@ -172811,7 +178508,7 @@ msgid "When life's got you down, there's always sugar." msgstr "" #: src/consumption.cpp -msgid "They may do what they must... you've already won." +msgid "They may do what they must… you've already won." msgstr "" #: src/consumption.cpp @@ -172847,7 +178544,7 @@ msgid "They're coming to get you." msgstr "" #: src/consumption.cpp -msgid "This might've been a bad idea..." +msgid "This might've been a bad idea…" msgstr "" #: src/consumption.cpp @@ -172855,7 +178552,7 @@ msgid "You've really done it this time, haven't you?" msgstr "" #: src/consumption.cpp -msgid "You have to stay vigilant. They're always watching..." +msgid "You have to stay vigilant. They're always watching…" msgstr "" #: src/consumption.cpp @@ -172875,7 +178572,7 @@ msgid "Something is twitching at the edge of your vision." msgstr "" #: src/consumption.cpp -msgid "They know what you've done..." +msgid "They know what you've done…" msgstr "" #: src/consumption.cpp @@ -172887,17 +178584,17 @@ msgid "You gorge yourself, preparing to hibernate." msgstr "" #: src/consumption.cpp -msgid "You feel stocked for a day or two. Got your bed all ready and secured?" +msgid "You feel stocked for a day or two. Got your bed all ready and secured?" msgstr "" #: src/consumption.cpp msgid "" -"Mmm. You can still fit some more in...but maybe you should get comfortable " +"Mmm. You can still fit some more in… but maybe you should get comfortable " "and sleep." msgstr "" #: src/consumption.cpp -msgid "That filled a hole! Time for bed..." +msgid "That filled a hole! Time for bed…" msgstr "" #: src/consumption.cpp @@ -172907,7 +178604,7 @@ msgstr "" #. ~slimespawns have *small voices* which may be the Nice equivalent #. ~of the Rat King's ALL CAPS invective. Probably shared-brain telepathy. #: src/consumption.cpp -msgid "hey, you look like me! let's work together!" +msgid "hey, you look like me! let's work together!" msgstr "" #: src/consumption.cpp @@ -172920,24 +178617,6 @@ msgstr "" msgid " looks better after eating the %s." msgstr "" -#: src/consumption.cpp -msgid "Your internal power storage is fully powered." -msgstr "" - -#: src/consumption.cpp -msgid "'s internal power storage is fully powered." -msgstr "" - -#: src/consumption.cpp -#, c-format -msgid "You recharge your battery system with the %s." -msgstr "" - -#: src/consumption.cpp -#, c-format -msgid " recharges their battery system with the %s." -msgstr "" - #: src/consumption.cpp msgid "That is a LOT of plutonium. Are you sure you want that much?" msgstr "" @@ -173042,7 +178721,7 @@ msgid "" msgstr "" #: src/craft_command.cpp -msgid "Some components used previously are missing. Continue?" +msgid "Some components used previously are missing. Continue?" msgstr "" #: src/craft_command.cpp @@ -173054,7 +178733,7 @@ msgid "Tool(s): " msgstr "" #: src/crafting.cpp -msgid "Your morale is too low to craft such a difficult thing..." +msgid "Your morale is too low to craft such a difficult thing…" msgstr "" #: src/crafting.cpp @@ -173111,7 +178790,7 @@ msgstr "" #, c-format msgid "" "You don't have anything in which to store %s and may have to pour it out or " -"consume it as soon as it is prepared! Proceed?" +"consume it as soon as it is prepared! Proceed?" msgstr "" #: src/crafting.cpp src/pickup.cpp @@ -173202,22 +178881,22 @@ msgstr "" #: src/crafting.cpp #, c-format -msgid "%s assists with crafting..." +msgid "%s assists with crafting…" msgstr "" #: src/crafting.cpp #, c-format -msgid "%s could assist you with a batch..." +msgid "%s could assist you with a batch…" msgstr "" #: src/crafting.cpp #, c-format -msgid "%s watches you craft..." +msgid "%s watches you craft…" msgstr "" #: src/crafting.cpp #, c-format -msgid "%s helps with crafting..." +msgid "%s helps with crafting…" msgstr "" #: src/crafting.cpp @@ -173486,7 +179165,7 @@ msgstr "" #: src/crafting_gui.cpp #, c-format -msgid "Dark craftable? %s" +msgid "Dark craftable? %s" msgstr "" #: src/crafting_gui.cpp src/defense.cpp @@ -173564,7 +179243,7 @@ msgstr "" #: src/crafting_gui.cpp msgid "" "The default is to search result names. Some single-character prefixes can " -"be used with a colon (:) to search in other ways. Additional filters are " +"be used with a colon (:) to search in other ways. Additional filters are " "separated by commas (,).\n" "\n" "Examples:\n" @@ -173776,7 +179455,7 @@ msgid "Friendly" msgstr "" #: src/creature.cpp -msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" +msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" msgstr "" #: src/damage.cpp @@ -173830,7 +179509,7 @@ msgid "See %s for a full stack backtrace" msgstr "" #: src/debug.cpp -msgid "An error has occurred! Written below is the error report:" +msgid "An error has occurred! Written below is the error report:" msgstr "" #: src/debug.cpp @@ -173886,7 +179565,7 @@ msgid "Level a spell" msgstr "" #: src/debug_menu.cpp -msgid "Player..." +msgid "Player…" msgstr "" #: src/debug_menu.cpp @@ -173929,6 +179608,10 @@ msgstr "" msgid "Toggle display temperature" msgstr "" +#: src/debug_menu.cpp +msgid "Toggle display vehicle autopilot overlay" +msgstr "" + #: src/debug_menu.cpp msgid "Toggle display visibility" msgstr "" @@ -173969,12 +179652,16 @@ msgstr "" msgid "Print faction info to console" msgstr "" +#: src/debug_menu.cpp +msgid "Print NPC magic info to console" +msgstr "" + #: src/debug_menu.cpp msgid "Test weather" msgstr "" #: src/debug_menu.cpp -msgid "Info..." +msgid "Info…" msgstr "" #: src/debug_menu.cpp @@ -173990,7 +179677,7 @@ msgid "Teleport - adjacent overmap" msgstr "" #: src/debug_menu.cpp -msgid "Teleport..." +msgid "Teleport…" msgstr "" #: src/debug_menu.cpp @@ -174018,7 +179705,7 @@ msgid "Spawn clairvoyance artifact" msgstr "" #: src/debug_menu.cpp -msgid "Spawning..." +msgid "Spawning…" msgstr "" #: src/debug_menu.cpp @@ -174062,7 +179749,7 @@ msgid "Spawn map extra" msgstr "" #: src/debug_menu.cpp -msgid "Map..." +msgid "Map…" msgstr "" #: src/debug_menu.cpp @@ -174072,8 +179759,8 @@ msgstr "" #: src/debug_menu.cpp msgid "" "Debug Functions - Using these will cheat not only the game, but yourself.\n" -"You won't grow. You won't improve.\n" -"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" +"You won't grow. You won't improve.\n" +"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" "Nothing will be risked and nothing will be gained." msgstr "" @@ -174250,6 +179937,10 @@ msgstr "" msgid "t[e]leport" msgstr "" +#: src/debug_menu.cpp +msgid "Give the [f]lu" +msgstr "" + #: src/debug_menu.cpp msgid "Edit [M]issions (WARNING: Unstable!)" msgstr "" @@ -174288,7 +179979,7 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set the stat to? Currently: %d" +msgid "Set the stat to? Currently: %d" msgstr "" #: src/debug_menu.cpp @@ -174317,12 +180008,12 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set the hitpoints to? Currently: %d" +msgid "Set the hitpoints to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set stamina to? Current: %d. Max: %d." +msgid "Set stamina to? Current: %d. Max: %d." msgstr "" #: src/debug_menu.cpp @@ -174331,7 +180022,7 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set the morale to? Currently: %d" +msgid "Set the morale to? Currently: %d" msgstr "" #: src/debug_menu.cpp @@ -174356,27 +180047,27 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set trust to? Currently: %d" +msgid "Set trust to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set fear to? Currently: %d" +msgid "Set fear to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set value to? Currently: %d" +msgid "Set value to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set anger to? Currently: %d" +msgid "Set anger to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set owed to? Currently: %d" +msgid "Set owed to? Currently: %d" msgstr "" #: src/debug_menu.cpp @@ -174386,13 +180077,13 @@ msgstr "" #: src/debug_menu.cpp #, c-format msgid "" -"NPC: \n" +"NPC:\n" "%s\n" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Cause how much pain? pain: %d" +msgid "Cause how much pain? pain: %d" msgstr "" #: src/debug_menu.cpp @@ -174417,32 +180108,32 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set hunger to? Currently: %d" +msgid "Set hunger to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set stored kCal to? Currently: %d" +msgid "Set stored kCal to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set thirst to? Currently: %d" +msgid "Set thirst to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set fatigue to? Currently: %d" +msgid "Set fatigue to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set sleep deprivation to? Currently: %d" +msgid "Set sleep deprivation to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set %s to? Currently: %d" +msgid "Set %s to? Currently: %d" msgstr "" #: src/debug_menu.cpp src/panels.cpp @@ -174459,7 +180150,7 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set the value to? Currently: %d" +msgid "Set the value to? Currently: %d" msgstr "" #: src/debug_menu.cpp @@ -174582,7 +180273,7 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Drew %d times in %.3f seconds. (%.3f fps average)" +msgid "Drew %d times in %.3f seconds. (%.3f fps average)" msgstr "" #: src/debug_menu.cpp @@ -174728,7 +180419,7 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Damage self for how much? hp: %d" +msgid "Damage self for how much? hp: %d" msgstr "" #: src/debug_menu.cpp @@ -174767,7 +180458,7 @@ msgid "Set year to?" msgstr "" #: src/debug_menu.cpp -msgid "Set season to? (0 = spring)" +msgid "Set season to? (0 = spring)" msgstr "" #: src/debug_menu.cpp @@ -174784,7 +180475,7 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set turn to? (One day is %i turns)" +msgid "Set turn to? (One day is %i turns)" msgstr "" #: src/debug_menu.cpp @@ -174793,7 +180484,7 @@ msgstr "" #: src/debug_menu.cpp msgid "" -"Quit without saving? This may cause issues such as duplicated or missing " +"Quit without saving? This may cause issues such as duplicated or missing " "items and vehicles!" msgstr "" @@ -174832,10 +180523,12 @@ msgstr "" msgid "Spell" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "LVL" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "MAX" msgstr "" @@ -174860,7 +180553,7 @@ msgid "Please wait as the map generates [ 0%% ]" msgstr "" #: src/defense.cpp -msgid "A caravan approaches! Press spacebar..." +msgid "A caravan approaches! Press spacebar…" msgstr "" #: src/defense.cpp @@ -175216,7 +180909,7 @@ msgstr "" #: src/defense.cpp #, c-format -msgid "Beware! %s!" +msgid "Beware! %s!" msgstr "" #: src/defense.cpp @@ -175408,7 +181101,7 @@ msgstr "" #: src/editmap.cpp src/game.cpp #, c-format -msgid "There is a %s there. Parts:" +msgid "There is a %s there. Parts:" msgstr "" #: src/editmap.cpp @@ -175653,8 +181346,8 @@ msgstr "" #: src/effect.cpp msgid "" -"The scariest thing in the world would be... if all the air in the world " -"turned to WOOD!" +"The scariest thing in the world would be… if all the air in the world turned " +"to WOOD!" msgstr "" #: src/effect.cpp @@ -175671,7 +181364,7 @@ msgid "Science is a liar sometimes." msgstr "" #: src/effect.cpp -msgid "Science is... wait, what was I talking about again?" +msgid "Science is… wait, what was I talking about again?" msgstr "" #: src/effect.cpp @@ -175691,7 +181384,7 @@ msgid "She was a hip, hip, hip lady, man." msgstr "" #: src/effect.cpp -msgid "You ever see the back of a twenty dollar bill... on weed?" +msgid "You ever see the back of a twenty dollar bill… on weed?" msgstr "" #: src/effect.cpp @@ -175705,15 +181398,15 @@ msgid "RED TEAM GO, RED TEAM GO!" msgstr "" #: src/effect.cpp -msgid "You have a sudden urge to flip your bible open to Genesis 1:29..." +msgid "You have a sudden urge to flip your bible open to Genesis 1:29…" msgstr "" #: src/effect.cpp -msgid "That rug really tied the room together..." +msgid "That rug really tied the room together…" msgstr "" #: src/effect.cpp -msgid "I used to do drugs... I still do, but I used to, too." +msgid "I used to do drugs… I still do, but I used to, too." msgstr "" #: src/effect.cpp @@ -175722,7 +181415,7 @@ msgstr "" #: src/effect.cpp msgid "" -"Okay, like, the scariest thing in the world would be... if like you went to " +"Okay, like, the scariest thing in the world would be… if like you went to " "grab something and it wasn't there!" msgstr "" @@ -175731,7 +181424,7 @@ msgid "They call them fingers, but I never see them fing." msgstr "" #: src/effect.cpp -msgid "... oh, there they go." +msgid "…oh, there they go." msgstr "" #: src/effect.cpp @@ -175765,7 +181458,7 @@ msgid "Oh, sometimes the early-mid-late-early-morning." msgstr "" #: src/effect.cpp -msgid "...But never at dusk." +msgid "…But never at dusk." msgstr "" #: src/effect.cpp @@ -175777,11 +181470,11 @@ msgid "Man, a cheeseburger sounds SO awesome right now." msgstr "" #: src/effect.cpp -msgid "Eh... maybe not." +msgid "Eh… maybe not." msgstr "" #: src/effect.cpp -msgid "I guess, maybe, without the cheese... yeah." +msgid "I guess, maybe, without the cheese… yeah." msgstr "" #: src/effect.cpp @@ -176292,21 +181985,21 @@ msgid "Press enter to rename this camp" msgstr "" #: src/faction.cpp -msgid "Direction : to the " +msgid "Direction: to the " msgstr "" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d)" +msgid "Location: (%d, %d)" msgstr "" #: src/faction.cpp #, c-format -msgid "Food Supply : %s %d calories" +msgid "Food Supply: %s %d calories" msgstr "" #: src/faction.cpp -msgid "Next Upgrade : " +msgid "Next Upgrade: " msgstr "" #: src/faction.cpp @@ -176319,25 +182012,25 @@ msgid "Press enter to talk to this follower " msgstr "" #: src/faction.cpp -msgid "travelling to : " +msgid "travelling to: " msgstr "" #: src/faction.cpp #, c-format -msgid "travelling to : (%d, %d)" +msgid "travelling to: (%d, %d)" msgstr "" #: src/faction.cpp -msgid "Current Mission : " +msgid "Current Mission: " msgstr "" #: src/faction.cpp -msgid "Direction : Nearby" +msgid "Direction: Nearby" msgstr "" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d), at camp: %s" +msgid "Location: (%d, %d), at camp: %s" msgstr "" #: src/faction.cpp @@ -176369,7 +182062,7 @@ msgid "Within interaction range" msgstr "" #: src/faction.cpp -msgid "Status : " +msgid "Status: " msgstr "" #: src/faction.cpp @@ -176393,11 +182086,11 @@ msgid "Guarding" msgstr "" #: src/faction.cpp -msgid "Basecamp job : " +msgid "Basecamp job: " msgstr "" #: src/faction.cpp -msgid "Condition : " +msgid "Condition: " msgstr "" #: src/faction.cpp @@ -176406,28 +182099,28 @@ msgid "Nominal" msgstr "" #: src/faction.cpp -msgid "Hunger : " +msgid "Hunger: " msgstr "" #: src/faction.cpp -msgid "Thirst : " +msgid "Thirst: " msgstr "" #: src/faction.cpp -msgid "Fatigue : " +msgid "Fatigue: " msgstr "" -#: src/faction.cpp -msgid "Wielding : " +#: src/faction.cpp src/player.cpp +msgid "Wielding: " msgstr "" #: src/faction.cpp -msgid "Best other skills : " +msgid "Best other skills: " msgstr "" #: src/faction.cpp #, c-format -msgid "Best combat skill : %s : %d" +msgid "Best combat skill: %s: %d" msgstr "" #: src/faction.cpp @@ -176527,7 +182220,7 @@ msgid "Menial Labor" msgstr "" #: src/faction_camp.cpp -msgid "Performing menial labor...\n" +msgid "Performing menial labor…\n" msgstr "" #: src/faction_camp.cpp @@ -176539,7 +182232,7 @@ msgid "Expand Base" msgstr "" #: src/faction_camp.cpp -msgid "Surveying for expansion...\n" +msgid "Surveying for expansion…\n" msgstr "" #: src/faction_camp.cpp @@ -176551,7 +182244,7 @@ msgid "Cut Logs" msgstr "" #: src/faction_camp.cpp -msgid "Cutting logs in the woods...\n" +msgid "Cutting logs in the woods…\n" msgstr "" #: src/faction_camp.cpp @@ -176563,7 +182256,7 @@ msgid "Clear a forest" msgstr "" #: src/faction_camp.cpp -msgid "Clearing a forest...\n" +msgid "Clearing a forest…\n" msgstr "" #: src/faction_camp.cpp @@ -176575,7 +182268,7 @@ msgid "Setup Hide Site" msgstr "" #: src/faction_camp.cpp -msgid "Setting up a hide site...\n" +msgid "Setting up a hide site…\n" msgstr "" #: src/faction_camp.cpp @@ -176587,7 +182280,7 @@ msgid "Relay Hide Site" msgstr "" #: src/faction_camp.cpp -msgid "Transferring gear to a hide site...\n" +msgid "Transferring gear to a hide site…\n" msgstr "" #: src/faction_camp.cpp @@ -176635,7 +182328,7 @@ msgid "Construct Map Fortifications" msgstr "" #: src/faction_camp.cpp -msgid "Constructing fortifications...\n" +msgid "Constructing fortifications…\n" msgstr "" #: src/faction_camp.cpp @@ -176695,7 +182388,7 @@ msgid " Chop Shop" msgstr "" #: src/faction_camp.cpp -msgid "Working at the chop shop...\n" +msgid "Working at the chop shop…\n" msgstr "" #: src/faction_camp.cpp @@ -176787,7 +182480,7 @@ msgid "" msgstr "" #: src/faction_camp.cpp -msgid "You choose to wait..." +msgid "You choose to wait…" msgstr "" #: src/faction_camp.cpp @@ -176823,8 +182516,8 @@ msgstr "" #: src/faction_camp.cpp #, c-format msgid "" -"%s \n" -"Are you sure you wish to continue? " +"%s\n" +"Are you sure you wish to continue?" msgstr "" #: src/faction_camp.cpp @@ -176845,14 +182538,22 @@ msgstr "" msgid "%s has abandoned the camp." msgstr "" +#: src/faction_camp.cpp +msgid " Expansion" +msgstr "" + +#: src/faction_camp.cpp +msgid "Recover Ally, " +msgstr "" + #: src/faction_camp.cpp #, c-format msgid "" -"Notes: \n" +"Notes:\n" "Send a companion to gather materials for the next camp upgrade.\n" "\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "%s\n" "Risk: Very Low\n" @@ -176860,14 +182561,320 @@ msgid "" "Positions: %d/3\n" msgstr "" +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Send a companion to gather light brush and heavy sticks.\n" +"\n" +"Skill used: survival\n" +"Difficulty: N/A\n" +"Gathering Possibilities:\n" +"> heavy sticks\n" +"> withered plants\n" +"> splintered wood\n" +"\n" +"Risk: Very Low\n" +"Time: 3 Hours, Repeated\n" +"Positions: %d/3\n" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Send a companion to do low level chores and sort supplies.\n" +"\n" +"Skill used: fabrication\n" +"Difficulty: N/A\n" +"Effects:\n" +"> Material left in the unsorted loot zone will be sorted into a defined loot " +"zone.\n" +"\n" +"Risk: None\n" +"Time: 3 Hours\n" +"Positions: %d/1\n" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Send a companion to a nearby forest to cut logs.\n" +"\n" +"Skill used: fabrication\n" +"Difficulty: 1\n" +"Effects:\n" +"> 50%% of trees/trunks at the forest position will be cut down.\n" +"> 100%% of total material will be brought back.\n" +"> Repeatable with diminishing returns.\n" +"> Will eventually turn forests into fields.\n" +"Risk: None\n" +"Time: 6 Hour Base + Travel Time + Cutting Time\n" +"Positions: %d/1\n" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Send a companion to a clear a nearby forest.\n" +"\n" +"Skill used: fabrication\n" +"Difficulty: 1\n" +"Effects:\n" +"> 95%% of trees/trunks at the forest position will be cut down.\n" +"> 0%% of total material will be brought back.\n" +"> Forest should become a field tile.\n" +"> Useful for clearing land for another faction camp.\n" +"\n" +"Risk: None\n" +"Time: 6 Hour Base + Travel Time + Cutting Time\n" +"Positions: %d/1\n" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Send a companion to build an improvised shelter and stock it with equipment " +"at a distant map location.\n" +"\n" +"Skill used: survival\n" +"Difficulty: 3\n" +"Effects:\n" +"> Good for setting up resupply or contingency points.\n" +"> Gear is left unattended and could be stolen.\n" +"> Time dependent on weight of equipment being sent forward.\n" +"\n" +"Risk: Medium\n" +"Time: 6 Hour Construction + Travel\n" +"Positions: %d/1\n" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Push gear out to a hide site or bring gear back from one.\n" +"\n" +"Skill used: survival\n" +"Difficulty: 1\n" +"Effects:\n" +"> Good for returning equipment you left in the hide site shelter.\n" +"> Gear is left unattended and could be stolen.\n" +"> Time dependent on weight of equipment being sent forward or back.\n" +"\n" +"Risk: Medium\n" +"Time: 1 Hour Base + Travel\n" +"Positions: %d/1\n" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Send a companion to forage for edible plants.\n" +"\n" +"Skill used: survival\n" +"Difficulty: N/A\n" +"Foraging Possibilities:\n" +"> wild vegetables\n" +"> fruits and nuts depending on season\n" +"May produce less food than consumed!\n" +"Risk: Very Low\n" +"Time: 4 Hours, Repeated\n" +"Positions: %d/3\n" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Send a companion to set traps for small game.\n" +"\n" +"Skill used: trapping\n" +"Difficulty: N/A\n" +"Trapping Possibilities:\n" +"> small and tiny animal corpses\n" +"May produce less food than consumed!\n" +"Risk: Low\n" +"Time: 6 Hours, Repeated\n" +"Positions: %d/2\n" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Send a companion to hunt large animals.\n" +"\n" +"Skill used: marksmanship\n" +"Difficulty: N/A\n" +"Hunting Possibilities:\n" +"> small, medium, or large animal corpses\n" +"May produce less food than consumed!\n" +"Risk: Medium\n" +"Time: 6 Hours, Repeated\n" +"Positions: %d/1\n" +msgstr "" + +#: src/faction_camp.cpp +msgid "Construct Spiked Trench" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Send a companion out into the great unknown. High survival skills are " +"needed to avoid combat but you should expect an encounter or two.\n" +"\n" +"Skill used: survival\n" +"Difficulty: 3\n" +"Effects:\n" +"> Select checkpoints to customize path.\n" +"> Reveals terrain around the path.\n" +"> Can bounce off hide sites to extend range.\n" +"\n" +"Risk: High\n" +"Time: Travel\n" +"Positions: %d/3\n" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Send a companion to purge the wasteland. Their goal is to kill anything " +"hostile they encounter and return when their wounds are too great or the " +"odds are stacked against them.\n" +"\n" +"Skill used: survival\n" +"Difficulty: 4\n" +"Effects:\n" +"> Pulls creatures encountered into combat instead of fleeing.\n" +"> Select checkpoints to customize path.\n" +"> Can bounce off hide sites to extend range.\n" +"\n" +"Risk: Very High\n" +"Time: Travel\n" +"Positions: %d/3\n" +msgstr "" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Have a companion attempt to completely dissemble a vehicle into components.\n" +"\n" +"Skill used: mechanics\n" +"Difficulty: 2\n" +"Effects:\n" +"> Removed parts placed on the furniture in the garage.\n" +"> Skill plays a huge role to determine what is salvaged.\n" +"\n" +"Risk: None\n" +"Time: 5 days\n" +msgstr "" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Plow any spaces that have reverted to dirt or grass.\n" +"\n" +msgstr "" + +#: src/faction_camp.cpp +msgid "" +"\n" +"\n" +"Skill used: fabrication\n" +"Difficulty: N/A\n" +"Effects:\n" +"> Restores only the plots created in the last expansion upgrade.\n" +"> Does not damage existing crops.\n" +"\n" +"Risk: None\n" +"Time: 5 Min / Plot\n" +"Positions: 0/1\n" +msgstr "" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Plant designated seeds in the spaces that have already been tilled.\n" +"\n" +msgstr "" + +#: src/faction_camp.cpp +msgid "" +"\n" +"\n" +"Skill used: survival\n" +"Difficulty: N/A\n" +"Effects:\n" +"> Choose which seed type or all of your seeds.\n" +"> Stops when out of seeds or planting locations.\n" +"> Will plant in ALL dirt mounds in the expansion.\n" +"\n" +"Risk: None\n" +"Time: 1 Min / Plot\n" +"Positions: 0/1\n" +msgstr "" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Harvest any plants that are ripe and bring the produce back.\n" +"\n" +msgstr "" + +#: src/faction_camp.cpp +msgid "" +"\n" +"\n" +"Skill used: survival\n" +"Difficulty: N/A\n" +"Effects:\n" +"> Will dump all harvesting products onto your location.\n" +"\n" +"Risk: None\n" +"Time: 3 Min / Plot\n" +"Positions: 0/1\n" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Your base has become large enough to support an expansion. Expansions open " +"up new opportunities but can be expensive and time consuming. Pick them " +"carefully, only 8 can be built at each camp.\n" +"\n" +"Skill used: N/A\n" +"Effects:\n" +"> Choose any one of the available expansions. Starting with a farm is " +"always a solid choice since food is used to support companion missions and " +"little is needed to get it going. With minimal investment, a mechanic can " +"be useful as a chop-shop to rapidly dismantle large vehicles, and a forge " +"provides the resources to make charcoal.\n" +"\n" +"NOTE: Actions available through expansions are located in separate tabs of " +"the Camp Manager window.\n" +"\n" +"Risk: None\n" +"Time: 3 Hours\n" +"Positions: %d/1\n" +msgstr "" + #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Distribute food to your follower and fill you larders. Place the food you " "wish to distribute in the camp food zone. You must have a camp food zone, " -"an unsorted loot zone, and at least one loot destination zone or you will be " -"prompted to create them using the zone manager.\n" +"and a camp storage zone, or you will be prompted to create them using the " +"zone manager.\n" "Effects:\n" "> Increases your faction's food supply value which in turn is used to pay " "laborers for their time\n" @@ -176886,30 +182893,11 @@ msgstr "" msgid "Distribute Food" msgstr "" -#: src/faction_camp.cpp -msgid "" -"Notes:\n" -"Reset the zones that items are sorted to using the [ Menial Labor ] " -"mission.\n" -"\n" -"Effects:\n" -"> Assign sort zones using the zone manager. You must have a camp food zone, " -"an unsorted loot zone, and at least one loot destination zone.\n" -"> Only items that are in the unsorted loot zone and not in any other zone " -"will be sorted.\n" -"Items that do not have a loot destination zone will be sorted using the " -"normal rules for automatic zone sorting." -msgstr "" - -#: src/faction_camp.cpp -msgid "Reset Sort Points" -msgstr "" - #: src/faction_camp.cpp msgid "" "Notes:\n" "Assign repeating job duties to NPCs stationed here.\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Effects:\n" "\n" "\n" @@ -176921,320 +182909,6 @@ msgstr "" msgid "Assign Jobs" msgstr "" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Send a companion to gather light brush and heavy sticks.\n" -"\n" -"Skill used: survival\n" -"Difficulty: N/A \n" -"Gathering Possibilities:\n" -"> heavy sticks\n" -"> withered plants\n" -"> splintered wood\n" -"\n" -"Risk: Very Low\n" -"Time: 3 Hours, Repeated\n" -"Positions: %d/3\n" -msgstr "" - -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Send a companion to do low level chores and sort supplies.\n" -"\n" -"Skill used: fabrication\n" -"Difficulty: N/A \n" -"Effects:\n" -"> Material left in the unsorted loot zone will be sorted into a defined loot " -"zone.\n" -"\n" -"Risk: None\n" -"Time: 3 Hours\n" -"Positions: %d/1\n" -msgstr "" - -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Your base has become large enough to support an expansion. Expansions open " -"up new opportunities but can be expensive and time consuming. Pick them " -"carefully, only 8 can be built at each camp.\n" -"\n" -"Skill used: N/A \n" -"Effects:\n" -"> Choose any one of the available expansions. Starting with a farm is " -"always a solid choice since food is used to support companion missions and " -"little is needed to get it going. With minimal investment, a mechanic can " -"be useful as a chop-shop to rapidly dismantle large vehicles, and a forge " -"provides the resources to make charcoal. \n" -"\n" -"NOTE: Actions available through expansions are located in separate tabs of " -"the Camp Manager window. \n" -"\n" -"Risk: None\n" -"Time: 3 Hours \n" -"Positions: %d/1\n" -msgstr "" - -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Send a companion to a nearby forest to cut logs.\n" -"\n" -"Skill used: fabrication\n" -"Difficulty: 1 \n" -"Effects:\n" -"> 50%% of trees/trunks at the forest position will be cut down.\n" -"> 100%% of total material will be brought back.\n" -"> Repeatable with diminishing returns.\n" -"> Will eventually turn forests into fields.\n" -"Risk: None\n" -"Time: 6 Hour Base + Travel Time + Cutting Time\n" -"Positions: %d/1\n" -msgstr "" - -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Send a companion to a clear a nearby forest.\n" -"\n" -"Skill used: fabrication\n" -"Difficulty: 1 \n" -"Effects:\n" -"> 95%% of trees/trunks at the forest position will be cut down.\n" -"> 0%% of total material will be brought back.\n" -"> Forest should become a field tile.\n" -"> Useful for clearing land for another faction camp.\n" -"\n" -"Risk: None\n" -"Time: 6 Hour Base + Travel Time + Cutting Time\n" -"Positions: %d/1\n" -msgstr "" - -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Send a companion to build an improvised shelter and stock it with equipment " -"at a distant map location.\n" -"\n" -"Skill used: survival\n" -"Difficulty: 3\n" -"Effects:\n" -"> Good for setting up resupply or contingency points.\n" -"> Gear is left unattended and could be stolen.\n" -"> Time dependent on weight of equipment being sent forward.\n" -"\n" -"Risk: Medium\n" -"Time: 6 Hour Construction + Travel\n" -"Positions: %d/1\n" -msgstr "" - -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Push gear out to a hide site or bring gear back from one.\n" -"\n" -"Skill used: survival\n" -"Difficulty: 1\n" -"Effects:\n" -"> Good for returning equipment you left in the hide site shelter.\n" -"> Gear is left unattended and could be stolen.\n" -"> Time dependent on weight of equipment being sent forward or back.\n" -"\n" -"Risk: Medium\n" -"Time: 1 Hour Base + Travel\n" -"Positions: %d/1\n" -msgstr "" - -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Send a companion to forage for edible plants.\n" -"\n" -"Skill used: survival\n" -"Difficulty: N/A \n" -"Foraging Possibilities:\n" -"> wild vegetables\n" -"> fruits and nuts depending on season\n" -"May produce less food than consumed!\n" -"Risk: Very Low\n" -"Time: 4 Hours, Repeated\n" -"Positions: %d/3\n" -msgstr "" - -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Send a companion to set traps for small game.\n" -"\n" -"Skill used: trapping\n" -"Difficulty: N/A \n" -"Trapping Possibilities:\n" -"> small and tiny animal corpses\n" -"May produce less food than consumed!\n" -"Risk: Low\n" -"Time: 6 Hours, Repeated\n" -"Positions: %d/2\n" -msgstr "" - -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Send a companion to hunt large animals.\n" -"\n" -"Skill used: marksmanship\n" -"Difficulty: N/A \n" -"Hunting Possibilities:\n" -"> small, medium, or large animal corpses\n" -"May produce less food than consumed!\n" -"Risk: Medium\n" -"Time: 6 Hours, Repeated\n" -"Positions: %d/1\n" -msgstr "" - -#: src/faction_camp.cpp -msgid "Construct Spiked Trench" -msgstr "" - -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Send a companion out into the great unknown. High survival skills are " -"needed to avoid combat but you should expect an encounter or two.\n" -"\n" -"Skill used: survival\n" -"Difficulty: 3\n" -"Effects:\n" -"> Select checkpoints to customize path.\n" -"> Reveals terrain around the path.\n" -"> Can bounce off hide sites to extend range.\n" -"\n" -"Risk: High\n" -"Time: Travel\n" -"Positions: %d/3\n" -msgstr "" - -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Send a companion to purge the wasteland. Their goal is to kill anything " -"hostile they encounter and return when their wounds are too great or the " -"odds are stacked against them.\n" -"\n" -"Skill used: survival\n" -"Difficulty: 4\n" -"Effects:\n" -"> Pulls creatures encountered into combat instead of fleeing.\n" -"> Select checkpoints to customize path.\n" -"> Can bounce off hide sites to extend range.\n" -"\n" -"Risk: Very High\n" -"Time: Travel\n" -"Positions: %d/3\n" -msgstr "" - -#: src/faction_camp.cpp -msgid " Expansion" -msgstr "" - -#: src/faction_camp.cpp -msgid "Recover Ally, " -msgstr "" - -#: src/faction_camp.cpp -msgid "" -"Notes:\n" -"Have a companion attempt to completely dissemble a vehicle into components.\n" -"\n" -"Skill used: mechanics\n" -"Difficulty: 2 \n" -"Effects:\n" -"> Removed parts placed on the furniture in the garage.\n" -"> Skill plays a huge role to determine what is salvaged.\n" -"\n" -"Risk: None\n" -"Time: 5 days \n" -msgstr "" - -#: src/faction_camp.cpp -msgid "" -"Notes:\n" -"Plow any spaces that have reverted to dirt or grass.\n" -"\n" -msgstr "" - -#: src/faction_camp.cpp -msgid "" -"\n" -"\n" -"Skill used: fabrication\n" -"Difficulty: N/A \n" -"Effects:\n" -"> Restores only the plots created in the last expansion upgrade.\n" -"> Does not damage existing crops.\n" -"\n" -"Risk: None\n" -"Time: 5 Min / Plot \n" -"Positions: 0/1 \n" -msgstr "" - -#: src/faction_camp.cpp -msgid "" -"Notes:\n" -"Plant designated seeds in the spaces that have already been tilled.\n" -"\n" -msgstr "" - -#: src/faction_camp.cpp -msgid "" -"\n" -"\n" -"Skill used: survival\n" -"Difficulty: N/A \n" -"Effects:\n" -"> Choose which seed type or all of your seeds.\n" -"> Stops when out of seeds or planting locations.\n" -"> Will plant in ALL dirt mounds in the expansion.\n" -"\n" -"Risk: None\n" -"Time: 1 Min / Plot \n" -"Positions: 0/1 \n" -msgstr "" - -#: src/faction_camp.cpp -msgid "" -"Notes:\n" -"Harvest any plants that are ripe and bring the produce back.\n" -"\n" -msgstr "" - -#: src/faction_camp.cpp -msgid "" -"\n" -"\n" -"Skill used: survival\n" -"Difficulty: N/A \n" -"Effects:\n" -"> Will dump all harvesting products onto your location.\n" -"\n" -"Risk: None\n" -"Time: 3 Min / Plot \n" -"Positions: 0/1 \n" -msgstr "" - #: src/faction_camp.cpp msgid "" "Notes:\n" @@ -177251,63 +182925,63 @@ msgid "" msgstr "" #: src/faction_camp.cpp -msgid "departs to search for materials..." +msgid "departs to survey land…" msgstr "" #: src/faction_camp.cpp -msgid "departs to search for firewood..." +msgid "departs to search for materials…" msgstr "" #: src/faction_camp.cpp -msgid "returns from working in the woods..." +msgid "departs to search for firewood…" msgstr "" #: src/faction_camp.cpp -msgid "returns from working on the hide site..." +msgid "returns from working in the woods…" msgstr "" #: src/faction_camp.cpp -msgid "returns from shuttling gear between the hide site..." +msgid "returns from working on the hide site…" msgstr "" #: src/faction_camp.cpp -msgid "departs to search for edible plants..." +msgid "returns from shuttling gear between the hide site…" msgstr "" #: src/faction_camp.cpp -msgid "departs to set traps for small animals..." +msgid "departs to search for edible plants…" msgstr "" #: src/faction_camp.cpp -msgid "departs to hunt for meat..." +msgid "departs to set traps for small animals…" msgstr "" #: src/faction_camp.cpp -msgid "departs to search for recruits..." +msgid "departs to hunt for meat…" msgstr "" #: src/faction_camp.cpp -msgid "departs to survey land..." +msgid "departs to search for recruits…" msgstr "" #: src/faction_camp.cpp -msgid "returns to you with something..." +msgid "returns to you with something…" msgstr "" #: src/faction_camp.cpp -msgid "returns from your farm with something..." +msgid "returns from your farm with something…" msgstr "" #: src/faction_camp.cpp -msgid "returns from your kitchen with something..." +msgid "returns from your kitchen with something…" msgstr "" #: src/faction_camp.cpp -msgid "returns from your blacksmith shop with something..." +msgid "returns from your blacksmith shop with something…" msgstr "" #: src/faction_camp.cpp -msgid "returns from your garage..." +msgid "returns from your garage…" msgstr "" #: src/faction_camp.cpp @@ -177315,7 +182989,7 @@ msgid "You don't have enough food stored to feed your companion." msgstr "" #: src/faction_camp.cpp -msgid "begins to upgrade the camp..." +msgid "begins to upgrade the camp…" msgstr "" #: src/faction_camp.cpp @@ -177356,7 +183030,7 @@ msgid "" msgstr "" #: src/faction_camp.cpp -msgid "departs to cut logs..." +msgid "departs to cut logs…" msgstr "" #: src/faction_camp.cpp @@ -177364,7 +183038,7 @@ msgid "Forests are the only valid cutting locations." msgstr "" #: src/faction_camp.cpp -msgid "departs to clear a forest..." +msgid "departs to clear a forest…" msgstr "" #: src/faction_camp.cpp @@ -177376,11 +183050,11 @@ msgid "Do you wish to give your companion additional items?" msgstr "" #: src/faction_camp.cpp -msgid "departs to build a hide site..." +msgid "departs to build a hide site…" msgstr "" #: src/faction_camp.cpp -msgid "You need equipment to setup a hide site..." +msgid "You need equipment to setup a hide site…" msgstr "" #: src/faction_camp.cpp @@ -177392,11 +183066,11 @@ msgid "Bring gear back?" msgstr "" #: src/faction_camp.cpp -msgid "departs for the hide site..." +msgid "departs for the hide site…" msgstr "" #: src/faction_camp.cpp -msgid "You need equipment to transport between the hide site..." +msgid "You need equipment to transport between the hide site…" msgstr "" #: src/faction_camp.cpp @@ -177423,7 +183097,7 @@ msgid "You don't have the material to build the fortification." msgstr "" #: src/faction_camp.cpp -msgid "begins constructing fortifications..." +msgid "begins constructing fortifications…" msgstr "" #: src/faction_camp.cpp @@ -177433,7 +183107,7 @@ msgid "" msgstr "" #: src/faction_camp.cpp -msgid "departs on patrol..." +msgid "departs on patrol…" msgstr "" #: src/faction_camp.cpp @@ -177450,19 +183124,19 @@ msgid "Your batch is too large!" msgstr "" #: src/faction_camp.cpp -msgid "begins to work..." +msgid "begins to work…" msgstr "" #: src/faction_camp.cpp -msgid "+ more \n" +msgid "+ more\n" msgstr "" #: src/faction_camp.cpp -msgid "begins to harvest the field..." +msgid "begins to harvest the field…" msgstr "" #: src/faction_camp.cpp -msgid "You have no additional seeds to give your companions..." +msgid "You have no additional seeds to give your companions…" msgstr "" #: src/faction_camp.cpp src/mission_companion.cpp @@ -177470,11 +183144,11 @@ msgid "Which seeds do you wish to have planted?" msgstr "" #: src/faction_camp.cpp -msgid "begins planting the field..." +msgid "begins planting the field…" msgstr "" #: src/faction_camp.cpp -msgid "begins plowing the field..." +msgid "begins plowing the field…" msgstr "" #: src/faction_camp.cpp @@ -177485,15 +183159,15 @@ msgid "" msgstr "" #: src/faction_camp.cpp -msgid "begins working in the garage..." +msgid "begins working in the garage…" msgstr "" #: src/faction_camp.cpp -msgid "Your companion seems disappointed that your pantry is empty..." +msgid "Your companion seems disappointed that your pantry is empty…" msgstr "" #: src/faction_camp.cpp -msgid "responds to the emergency recall..." +msgid "responds to the emergency recall…" msgstr "" #: src/faction_camp.cpp @@ -177502,11 +183176,11 @@ msgid "%s failed to build the %s upgrade." msgstr "" #: src/faction_camp.cpp -msgid "returns from upgrading the camp having earned a bit of experience..." +msgid "returns from upgrading the camp having earned a bit of experience…" msgstr "" #: src/faction_camp.cpp -msgid "returns from doing the dirty work to keep the camp running..." +msgid "returns from doing the dirty work to keep the camp running…" msgstr "" #: src/faction_camp.cpp @@ -177527,35 +183201,35 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "returns from %s carrying supplies and has a bit more experience..." +msgid "returns from %s carrying supplies and has a bit more experience…" msgstr "" #: src/faction_camp.cpp -msgid "returns from constructing fortifications..." +msgid "returns from constructing fortifications…" msgstr "" #: src/faction_camp.cpp -msgid "returns from searching for recruits with a bit more experience..." +msgid "returns from searching for recruits with a bit more experience…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s encountered %s..." +msgid "%s encountered %s…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s didn't find anyone to recruit..." +msgid "%s didn't find anyone to recruit…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s convinced %s to hear a recruitment offer from you..." +msgid "%s convinced %s to hear a recruitment offer from you…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested in anything %s had to offer..." +msgid "%s wasn't interested in anything %s had to offer…" msgstr "" #: src/faction_camp.cpp @@ -177567,7 +183241,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format msgid "" -"Name: %20s\n" +"Name: %s\n" "\n" msgstr "" @@ -177643,7 +183317,7 @@ msgid "Not Interested" msgstr "" #: src/faction_camp.cpp -msgid "You decide you aren't interested..." +msgid "You decide you aren't interested…" msgstr "" #: src/faction_camp.cpp @@ -177653,26 +183327,25 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested..." +msgid "%s wasn't interested…" msgstr "" #: src/faction_camp.cpp -msgid "Your companion hit a river and didn't know how to swim..." +msgid "Your companion hit a river and didn't know how to swim…" msgstr "" #: src/faction_camp.cpp msgid "" -"Your companion hit a river and didn't know how to swim well enough to " -"cross..." +"Your companion hit a river and didn't know how to swim well enough to cross…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s didn't return from patrol..." +msgid "%s didn't return from patrol…" msgstr "" #: src/faction_camp.cpp -msgid "returns from patrol..." +msgid "returns from patrol…" msgstr "" #: src/faction_camp.cpp @@ -177712,7 +183385,7 @@ msgid "returns from surveying for the expansion." msgstr "" #: src/faction_camp.cpp -msgid "returns from working your fields... " +msgid "returns from working your fields…" msgstr "" #: src/faction_camp.cpp @@ -177741,8 +183414,7 @@ msgstr "" #: src/faction_camp.cpp msgid "" "Sorting zones have changed. Please create some sorting zones. You must " -"create a camp food zone for your camp, an unsorted loot zone, and at least " -"one destination loot zone." +"create a camp food zone, and a camp storage zone." msgstr "" #: src/faction_camp.cpp @@ -177772,17 +183444,17 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid ">Travel: %23s\n" +msgid ">Travel: %s\n" msgstr "" #: src/faction_camp.cpp #, c-format -msgid ">Working: %23s\n" +msgid ">Working: %s\n" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Total: %23s\n" +msgid "Total: %s\n" msgstr "" #: src/faction_camp.cpp @@ -177810,7 +183482,7 @@ msgid "" "appeal of your base.\n" "\n" "Skill used: speech\n" -"Difficulty: 2 \n" +"Difficulty: 2\n" "Base Score: +%3d%%\n" "> Expansion Bonus: +%3d%%\n" "> Faction Bonus: +%3d%%\n" @@ -177837,7 +183509,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Name: %25s\n" +msgid "Name: %s\n" msgstr "" #: src/faction_camp.cpp @@ -177846,7 +183518,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Engine: %25s\n" +msgid "Engine: %s\n" msgstr "" #: src/faction_camp.cpp @@ -177856,7 +183528,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid ">Fuel: %25s\n" +msgid ">Fuel: %s\n" msgstr "" #: src/faction_camp.cpp @@ -177868,11 +183540,11 @@ msgid "Estimated Chop Time: 5 Days\n" msgstr "" #: src/faction_camp.cpp -msgid "You do not have a camp food zone. Aborting..." +msgid "You do not have a camp food zone. Aborting…" msgstr "" #: src/faction_camp.cpp -msgid "No items are located at the drop point..." +msgid "No items are located at the drop point…" msgstr "" #: src/faction_camp.cpp @@ -177882,7 +183554,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "While %s, a silent specter approaches %s..." +msgid "While %s, a silent specter approaches %s…" msgstr "" #: src/faction_camp.cpp @@ -177913,7 +183585,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "The bull moose charged %s from the tree line..." +msgid "The bull moose charged %s from the tree line…" msgstr "" #: src/faction_camp.cpp @@ -177932,12 +183604,12 @@ msgstr "" #, c-format msgid "" "Terrified, %s spun around and delivered a massive kick to the creature's " -"torso..." +"torso…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Collapsing into a pile of gore, %s walked away unscathed..." +msgid "Collapsing into a pile of gore, %s walked away unscathed…" msgstr "" #: src/faction_camp.cpp @@ -177948,7 +183620,7 @@ msgstr "" #, c-format msgid "" "%s turned to find the hideous black eyes of a giant wasp staring back from " -"only a few feet away..." +"only a few feet away…" msgstr "" #: src/faction_camp.cpp @@ -177961,7 +183633,7 @@ msgid "Pieces of %s were found strewn across a few bushes." msgstr "" #: src/faction_camp.cpp -msgid "(You wonder if your companions are fit to work on their own...)" +msgid "(You wonder if your companions are fit to work on their own…)" msgstr "" #: src/fungal_effects.cpp src/iuse.cpp @@ -177995,7 +183667,7 @@ msgid "Loading core data" msgstr "" #: src/game.cpp -msgid "Please wait while the world data loads..." +msgid "Please wait while the world data loads…" msgstr "" #: src/game.cpp src/start_location.cpp @@ -178032,7 +183704,7 @@ msgstr "" #: src/game.cpp #, c-format -msgid "World retained. Characters remaining:%s" +msgid "World retained. Characters remaining:%s" msgstr "" #: src/game.cpp @@ -178041,7 +183713,7 @@ msgid "The %s is dangerously close!" msgstr "" #: src/game.cpp -msgid "Wait till you wake up..." +msgid "Wait till you wake up…" msgstr "" #: src/game.cpp @@ -178217,7 +183889,7 @@ msgid "You are not wielding a ranged weapon." msgstr "" #: src/game.cpp -msgid "Watch the last moments of your life...?" +msgid "Watch the last moments of your life…?" msgstr "" #: src/game.cpp @@ -178267,14 +183939,14 @@ msgid "Failed to save game data" msgstr "" #: src/game.cpp -msgid " You are forgotten among the billions lost in the cataclysm..." +msgid " You are forgotten among the billions lost in the cataclysm…" msgstr "" #: src/game.cpp msgid "" " Locked in an endless battle, the Old Guard was forced to consolidate " "their resources in a handful of fortified bases along the coast. Without " -"the men or material to rebuild, the soldiers that remained lost all hope..." +"the men or material to rebuild, the soldiers that remained lost all hope…" msgstr "" #: src/game.cpp @@ -178285,7 +183957,7 @@ msgid "" "success. Forced to eventually consolidate to large bases, the Old Guard " "left these facilities in the hands of the few survivors that remained. As " "the years past, little materialized from the hopes of rebuilding " -"civilization..." +"civilization…" msgstr "" #: src/game.cpp @@ -178293,7 +183965,7 @@ msgid "" " Life in the refugee shelter deteriorated as food shortages and disease " "destroyed any hope of maintaining a civilized enclave. The merchants and " "craftsmen dispersed to found new colonies but most became victims of " -"marauding bandits. Those who survived never found a place to call home..." +"marauding bandits. Those who survived never found a place to call home…" msgstr "" #: src/game.cpp @@ -178302,7 +183974,7 @@ msgid "" "once profitable trade routes were plundered by bandits and thugs. In " "squalor and filth the first generations born after the cataclysm are told " "stories of the old days when food was abundant and the children were allowed " -"to play in the sun..." +"to play in the sun…" msgstr "" #: src/game.cpp @@ -178327,7 +183999,7 @@ msgid "" " The lone bands of survivors who wandered the now alien world dwindled in " "number through the years. Unable to compete with the growing number of " "monstrosities that had adapted to live in their world, those who did survive " -"lived in dejected poverty and hopelessness..." +"lived in dejected poverty and hopelessness…" msgstr "" #: src/game.cpp @@ -178337,7 +184009,7 @@ msgid "" "old world. Enormous hordes made cities impossible to enter while new " "eldritch horrors appeared mysteriously near old research labs. But on the " "fringes of where civilization once ended, bands of hunter-gatherers began to " -"adopt agrarian lifestyles in fortified enclaves..." +"adopt agrarian lifestyles in fortified enclaves…" msgstr "" #: src/game.cpp @@ -178357,7 +184029,7 @@ msgid "" "brought the warlords abundant territory and slaves but little in the way of " "stability. Within weeks, infighting led to civil war as tribes vied for " "leadership of the faction. When only one warlord finally secured control, " -"there was nothing left to fight for... just endless cities full of the dead." +"there was nothing left to fight for… just endless cities full of the dead." msgstr "" #: src/game.cpp @@ -178536,13 +184208,6 @@ msgid "" "increased by %s." msgstr "" -#: src/game.cpp -#, c-format -msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " -"anyway?" -msgstr "" - #: src/game.cpp msgid "Successfully removed Personality override." msgstr "" @@ -178685,7 +184350,7 @@ msgid "Never mind" msgstr "" #: src/game.cpp src/npctalk.cpp -msgid "You may be attacked! Proceed?" +msgid "You may be attacked! Proceed?" msgstr "" #: src/game.cpp @@ -178875,12 +184540,12 @@ msgid "There's something there, but you can't see what it is." msgstr "" #: src/game.cpp -msgid "More items here..." +msgid "More items here…" msgstr "" #: src/game.cpp #, c-format -msgctxt "%s is the name of the item. %d is the quantity of that item." +msgctxt "%s is the name of the item. %d is the quantity of that item." msgid "%s [%d]" msgstr "" @@ -179192,7 +184857,7 @@ msgstr "" #: src/game.cpp #, c-format -msgid "You see %s nearby! Start butchering anyway?" +msgid "You see %s nearby! Start butchering anyway?" msgstr "" #: src/game.cpp @@ -179231,7 +184896,7 @@ msgstr "" #: src/iuse.cpp src/veh_interact.cpp #: src/veh_interact.cpp #, c-format -msgid "%s helps with this task..." +msgid "%s helps with this task…" msgstr "" #: src/game.cpp @@ -179291,7 +184956,7 @@ msgstr "" msgid "The %s is already full!" msgstr "" -#: src/game.cpp +#: src/game.cpp src/ranged.cpp #, c-format msgid "You can't reload a %s!" msgstr "" @@ -179316,13 +184981,6 @@ msgstr "" msgid "You're not wielding anything." msgstr "" -#. ~ %1$s: weapon name, %2$s: holster name -#: src/game.cpp src/player.cpp -#, c-format -msgctxt "holster" -msgid "Draw %1$s from %2$s?" -msgstr "" - #: src/game.cpp #, c-format msgid "There's an angry red dot on your body, %s to brush it off." @@ -179345,7 +185003,7 @@ msgstr "" #: src/game.cpp #, c-format msgid "" -"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore monster" +"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore monster" "%4$s)" msgstr "" @@ -179386,9 +185044,17 @@ msgstr "" msgid "Your %s refuses to move over that ledge!" msgstr "" -#: src/game.cpp src/player.cpp -#: src/player.cpp -msgid "You let go of the grabbed object." +#: src/game.cpp +msgid "You can't fit there." +msgstr "" + +#: src/game.cpp +msgid "Your mount can't fit there." +msgstr "" + +#: src/game.cpp +#, c-format +msgid "You cannot move as your %s isn't able to move." msgstr "" #: src/game.cpp @@ -179547,9 +185213,13 @@ msgid "" "There are vehicle controls here but you cannot reach them whilst mounted." msgstr "" +#: src/game.cpp +msgid "You are repelled by the barrier!" +msgstr "" + #: src/game.cpp msgid "" -"You try to quantum tunnel through the barrier but are reflected! Try again " +"You try to quantum tunnel through the barrier but are reflected! Try again " "with more energy!" msgstr "" @@ -179580,6 +185250,16 @@ msgstr "" msgid "There's stuff in the way." msgstr "" +#: src/game.cpp +#, c-format +msgid "The %s is really heavy!" +msgstr "" + +#: src/game.cpp +#, c-format +msgid "You fail to move the %s." +msgstr "" + #: src/game.cpp #, c-format msgid "The %s is too heavy for you to budge." @@ -179634,7 +185314,7 @@ msgstr "" #: src/game.cpp #, c-format -msgid "You try to use the stairs. Suddenly you are blocked by a %s!" +msgid "You try to use the stairs. Suddenly you are blocked by a %s!" msgstr "" #: src/game.cpp @@ -179730,7 +185410,7 @@ msgid "Halfway down, the way down becomes blocked off." msgstr "" #: src/game.cpp -msgid "There is a sheer drop halfway down. Web-descend?" +msgid "There is a sheer drop halfway down. Web-descend?" msgstr "" #: src/game.cpp @@ -179748,7 +185428,7 @@ msgid "There is a sheer drop halfway down. Use your vines to descend?" msgstr "" #: src/game.cpp -msgid "Detach a vine? It'll hurt, but you'll be able to climb back up..." +msgid "Detach a vine? It'll hurt, but you'll be able to climb back up…" msgstr "" #: src/game.cpp @@ -179764,11 +185444,11 @@ msgid "You effortlessly lower yourself and leave a vine rooted for future use." msgstr "" #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your grappling hook down?" +msgid "There is a sheer drop halfway down. Climb your grappling hook down?" msgstr "" #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your rope down?" +msgid "There is a sheer drop halfway down. Climb your rope down?" msgstr "" #: src/game.cpp @@ -179830,7 +185510,7 @@ msgstr "" #: src/game.cpp #, c-format -msgid "The %s tried to push you back but failed! It attacks you!" +msgid "The %s tried to push you back but failed! It attacks you!" msgstr "" #: src/game.cpp @@ -179859,23 +185539,24 @@ msgstr "" #: src/game.cpp #, c-format msgid "" -"Whoa! Your terminal is tiny! This game requires a minimum terminal size of " -"%dx%d to work properly. %dx%d just won't do. Maybe a smaller font would help?" +"Whoa! Your terminal is tiny! This game requires a minimum terminal size of " +"%dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " +"help?" msgstr "" #: src/game.cpp #, c-format msgid "" -"Oh! Hey, look at that. Your terminal is just a little too narrow. This game " -"requires a minimum terminal size of %dx%d to function. It just won't work " -"with only %dx%d. Can you stretch it out sideways a bit?" +"Oh! Hey, look at that. Your terminal is just a little too narrow. This " +"game requires a minimum terminal size of %dx%d to function. It just won't " +"work with only %dx%d. Can you stretch it out sideways a bit?" msgstr "" #: src/game.cpp #, c-format msgid "" -"Woah, woah, we're just a little short on space here. The game requires a " -"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " +"Woah, woah, we're just a little short on space here. The game requires a " +"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " "make the terminal just a smidgen taller?" msgstr "" @@ -179885,7 +185566,7 @@ msgid "" "characters (e.g. empty boxes or question marks). You have been warned." msgstr "" -#: src/game.cpp src/player.cpp +#: src/game.cpp src/suffer.cpp msgid "You suddenly feel sharp pain for no reason." msgstr "" @@ -179960,7 +185641,7 @@ msgid "You feel thirsty." msgstr "" #: src/game.cpp -msgid "You feel an evil presence..." +msgid "You feel an evil presence…" msgstr "" #: src/game.cpp @@ -179976,7 +185657,7 @@ msgid "You feel your genetic makeup degrading." msgstr "" #: src/game.cpp -msgid "You feel an otherworldly attention upon you..." +msgid "You feel an otherworldly attention upon you…" msgstr "" #: src/game.cpp @@ -180021,7 +185702,7 @@ msgstr "" #: src/game.cpp #, c-format -msgid "Speed %s%d! " +msgid "Speed %s%d!" msgstr "" #: src/game_inventory.cpp @@ -180152,16 +185833,22 @@ msgstr "" msgid "SHELF LIFE" msgstr "" +#. ~ Eat menu Volume: #: src/game_inventory.cpp -msgid "FRESHNESS" +#, c-format +msgid "%.2f%s" msgstr "" #: src/game_inventory.cpp -msgid "SPOILS IN" +msgid "VOLUME" +msgstr "" + +#: src/game_inventory.cpp +msgid "FRESHNESS" msgstr "" #: src/game_inventory.cpp -msgid "Battery" +msgid "SPOILS IN" msgstr "" #: src/game_inventory.cpp @@ -180189,10 +185876,6 @@ msgstr "" msgid "Your biology is not compatible with that item." msgstr "" -#: src/game_inventory.cpp -msgid "You're fully charged" -msgstr "" - #: src/game_inventory.cpp #, c-format msgid "No space to store more %s" @@ -180468,8 +186151,8 @@ msgstr "" #: src/game_inventory.cpp msgid "" -"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE to " -"cancel." +"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE " +"to cancel." msgstr "" #: src/game_inventory.cpp @@ -180500,11 +186183,6 @@ msgstr "" msgid "Available anesthetic: %i mL" msgstr "" -#: src/game_inventory.cpp -#, c-format -msgid "Money available: %s" -msgstr "" - #: src/game_inventory.cpp #, c-format msgid "Bionic removal patient: %s" @@ -180630,6 +186308,14 @@ msgstr "" msgid "CBM is filthy. Wash it first." msgstr "" +#: src/game_inventory.cpp +msgid "You should put this CBM in an autoclave pouch to keep it sterile." +msgstr "" + +#: src/game_inventory.cpp +msgid "You need at least 2L of water." +msgstr "" + #: src/game_inventory.cpp msgid "Sterilization" msgstr "" @@ -180741,7 +186427,7 @@ msgstr "" #: src/handle_action.cpp #, c-format -msgid "Press %s to accept your fate..." +msgid "Press %s to accept your fate…" msgstr "" #: src/handle_action.cpp @@ -180754,15 +186440,15 @@ msgstr "" #. ~ Sound of moving a remote controlled car #: src/handle_action.cpp -msgid "zzz..." +msgid "zzz…" msgstr "" #: src/handle_action.cpp -msgid "You can't drive the vehicle from here. You need controls!" +msgid "You can't drive the vehicle from here. You need controls!" msgstr "" #: src/handle_action.cpp -msgid "Can't drive this vehicle remotely. It has no working controls." +msgid "Can't drive this vehicle remotely. It has no working controls." msgstr "" #: src/handle_action.cpp @@ -180871,11 +186557,11 @@ msgid "There's nothing there to smash!" msgstr "" #: src/handle_action.cpp -msgid "You already have an alarm set. What do you want to do?" +msgid "You already have an alarm set. What do you want to do?" msgstr "" #: src/handle_action.cpp -msgid "You have an alarm clock. What do you want to do?" +msgid "You have an alarm clock. What do you want to do?" msgstr "" #: src/handle_action.cpp @@ -180998,12 +186684,12 @@ msgstr "" #: src/handle_action.cpp msgid "" -"You're engorged to hibernate. The alarm would only attract attention. Set an " -"alarm anyway?" +"You're engorged to hibernate. The alarm would only attract attention. Set " +"an alarm anyway?" msgstr "" #: src/handle_action.cpp -msgid "You have an alarm clock. Set an alarm?" +msgid "You have an alarm clock. Set an alarm?" msgstr "" #: src/handle_action.cpp @@ -181035,7 +186721,7 @@ msgstr "" #: src/handle_action.cpp msgid "" "Sorts out the loot from Loot: Unsorted zone to nearby appropriate Loot " -"zones. Uses empty space in your inventory or utilizes a cart, if you are " +"zones. Uses empty space in your inventory or utilizes a cart, if you are " "holding one." msgstr "" @@ -181044,7 +186730,7 @@ msgid "Till farm plots" msgstr "" #: src/handle_action.cpp -msgid "Till farm plots... you need a tool to dig with" +msgid "Till farm plots… you need a tool to dig with" msgstr "" #: src/handle_action.cpp @@ -181052,7 +186738,7 @@ msgid "Tills nearby Farm: Plot zones." msgstr "" #: src/handle_action.cpp -msgid "Plant seeds... it is too cold for planting" +msgid "Plant seeds… it is too cold for planting" msgstr "" #: src/handle_action.cpp @@ -181060,12 +186746,12 @@ msgid "Plant seeds" msgstr "" #: src/handle_action.cpp -msgid "Plant seeds... you don't have any" +msgid "Plant seeds… you don't have any" msgstr "" #: src/handle_action.cpp msgid "" -"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " +"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " "specific plant seed and you must have seeds in your inventory." msgstr "" @@ -181074,7 +186760,7 @@ msgid "Fertilize plots" msgstr "" #: src/handle_action.cpp -msgid "Fertilize plots... you don't have any fertilizer" +msgid "Fertilize plots… you don't have any fertilizer" msgstr "" #: src/handle_action.cpp @@ -181367,6 +187053,10 @@ msgstr "" msgid "You can't operate a vehicle while you're in your shell." msgstr "" +#: src/handle_action.cpp +msgid "You refuse to take control of this vehicle." +msgstr "" + #: src/handle_action.cpp msgid "Auto travel mode OFF!" msgstr "" @@ -181380,7 +187070,7 @@ msgid "Safe mode OFF!" msgstr "" #: src/handle_action.cpp -msgid "Safe mode OFF! (Auto safe mode still enabled!)" +msgid "Safe mode OFF! (Auto safe mode still enabled!)" msgstr "" #: src/handle_action.cpp @@ -181603,7 +187293,7 @@ msgstr "" #: src/iexamine.cpp #, c-format msgid "" -"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" +"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" "Your current balance is: %s" msgstr "" @@ -181612,7 +187302,7 @@ msgid "Purchase cash card?" msgstr "" #: src/iexamine.cpp -msgid "You need $1.00 in your account to purchase a card." +msgid "You need $10.00 in your account to purchase a card." msgstr "" #: src/iexamine.cpp @@ -181654,7 +187344,8 @@ msgid "Your account now holds %s." msgstr "" #: src/iexamine.cpp -msgid "This will automatically deduct $1.00 from your bank account. Continue?" +msgid "" +"This will automatically deduct $10.00 from your bank account. Continue?" msgstr "" #: src/iexamine.cpp @@ -181663,8 +187354,8 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "Deposit how much? Max: %d cent. (0 to cancel) " -msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " +msgid "Deposit how much? Max: %d cent. (0 to cancel) " +msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " msgstr[0] "" msgstr[1] "" @@ -181674,8 +187365,8 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "Withdraw how much? Max: %d cent. (0 to cancel) " -msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " +msgid "Withdraw how much? Max: %d cent. (0 to cancel) " +msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " msgstr[0] "" msgstr[1] "" @@ -181771,7 +187462,7 @@ msgid "No one responds." msgstr "" #: src/iexamine.cpp -msgid "If only you had a shovel..." +msgid "If only you had a shovel…" msgstr "" #: src/iexamine.cpp @@ -181871,15 +187562,15 @@ msgid "Insert $10?" msgstr "" #: src/iexamine.cpp -msgid "Three cherries... you get your money back!" +msgid "Three cherries… you get your money back!" msgstr "" #: src/iexamine.cpp -msgid "Three bells... you win $50!" +msgid "Three bells… you win $50!" msgstr "" #: src/iexamine.cpp -msgid "Three stars... you win $200!" +msgid "Three stars… you win $200!" msgstr "" #: src/iexamine.cpp @@ -181895,7 +187586,7 @@ msgid "Play again?" msgstr "" #: src/iexamine.cpp -msgid "You mess with the dial for a little bit... and it opens!" +msgid "You mess with the dial for a little bit… and it opens!" msgstr "" #: src/iexamine.cpp @@ -181935,13 +187626,24 @@ msgid "The gun safe stumps your efforts to pick it." msgstr "" #: src/iexamine.cpp -msgid "If only you had something to pry with..." +#, c-format +msgid "The %s is locked. If only you had something to pry it with…" msgstr "" #. ~ %1$s: terrain/furniture name, %2$s: prying tool name #: src/iexamine.cpp #, c-format -msgid "You attempt to pry open the %1$s using your %2$s..." +msgid "You attempt to pry open the %1$s using your %2$s…" +msgstr "" + +#: src/iexamine.cpp +#, c-format +msgid "The %s is locked. If only you had something to pick its lock with…" +msgstr "" + +#: src/iexamine.cpp +#, c-format +msgid "You attempt to pick lock of %1$s using your %2$s…" msgstr "" #: src/iexamine.cpp @@ -181956,11 +187658,11 @@ msgid "" msgstr "" #: src/iexamine.cpp -msgid "The pedestal sinks into the ground..." +msgid "The pedestal sinks into the ground…" msgstr "" #: src/iexamine.cpp -msgid "an ominous grinding noise..." +msgid "an ominous grinding noise…" msgstr "" #: src/iexamine.cpp @@ -182007,11 +187709,11 @@ msgid "You hear the rumble of rock shifting." msgstr "" #: src/iexamine.cpp -msgid "This flower is dead. You can't get it." +msgid "This flower is dead. You can't get it." msgstr "" #: src/iexamine.cpp -msgid "This plant is dead. You can't get it." +msgid "This plant is dead. You can't get it." msgstr "" #: src/iexamine.cpp @@ -182047,7 +187749,7 @@ msgid "This flower has a heady aroma." msgstr "" #: src/iexamine.cpp -msgid "You fall asleep..." +msgid "You fall asleep…" msgstr "" #: src/iexamine.cpp @@ -182060,7 +187762,7 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" +msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" msgstr "" #: src/iexamine.cpp @@ -182076,7 +187778,7 @@ msgid "Nothing can be harvested from this plant in current season" msgstr "" #: src/iexamine.cpp -msgid "This flower is still alive, despite the harsh conditions..." +msgid "This flower is still alive, despite the harsh conditions…" msgstr "" #: src/iexamine.cpp @@ -182085,7 +187787,7 @@ msgid "You feel out of place as you explore the %s. Drink?" msgstr "" #: src/iexamine.cpp -msgid "This flower tastes very wrong..." +msgid "This flower tastes very wrong…" msgstr "" #: src/iexamine.cpp @@ -182127,7 +187829,7 @@ msgid "You have no seeds to plant." msgstr "" #: src/iexamine.cpp -msgid "Something's lying there..." +msgid "Something's lying there…" msgstr "" #: src/iexamine.cpp src/mission_companion.cpp @@ -182145,7 +187847,7 @@ msgid "The seed blooms forth! We have brought true beauty to this world." msgstr "" #: src/iexamine.cpp -msgid "The seed blossoms rather rapidly..." +msgid "The seed blossoms rather rapidly…" msgstr "" #: src/iexamine.cpp @@ -182204,7 +187906,7 @@ msgid "This kiln contains %s, which can't be made into charcoal!" msgstr "" #: src/iexamine.cpp -msgid "This kiln is empty. Fill it with wood or bone and try again." +msgid "This kiln is empty. Fill it with wood or bone and try again." msgstr "" #: src/iexamine.cpp @@ -182229,7 +187931,7 @@ msgid "You fire the charcoal kiln." msgstr "" #: src/iexamine.cpp -msgid "This kiln is empty..." +msgid "This kiln is empty…" msgstr "" #: src/iexamine.cpp @@ -182272,7 +187974,7 @@ msgstr "" #: src/iexamine.cpp msgid "" -"This furance is empty. Fill it with powdered coke and lime mix, and try " +"This furance is empty. Fill it with powdered coke and lime mix, and try " "again." msgstr "" @@ -182300,7 +188002,7 @@ msgid "You turn on the furnace." msgstr "" #: src/iexamine.cpp -msgid "This furnace is empty..." +msgid "This furnace is empty…" msgstr "" #: src/iexamine.cpp @@ -182313,7 +188015,7 @@ msgid "It has finished burning, yielding %d calcium carbide." msgstr "" #: src/iexamine.cpp -msgid "This autoclave is empty..." +msgid "This autoclave is empty…" msgstr "" #: src/iexamine.cpp @@ -182372,7 +188074,7 @@ msgid "Start a fire" msgstr "" #: src/iexamine.cpp -msgid "Start a fire... you'll need a fire source." +msgid "Start a fire… you'll need a fire source." msgstr "" #: src/iexamine.cpp @@ -182394,13 +188096,17 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "You attempt to start a fire with your %s..." +msgid "You attempt to start a fire with your %s…" msgstr "" #: src/iexamine.cpp msgid "You weren't able to start a fire." msgstr "" +#: src/iexamine.cpp +msgid "You can't light a fire there." +msgstr "" + #: src/iexamine.cpp #, c-format msgid "Really take down the %s while it's on fire?" @@ -182573,12 +188279,12 @@ msgid "The %s is full." msgstr "" #: src/iexamine.cpp -msgid "You have no tool to dig with..." +msgid "You have no tool to dig with…" msgstr "" #: src/iexamine.cpp #, c-format -msgid "Dig up %s? This kills the tree!" +msgid "Dig up %s? This kills the tree!" msgstr "" #: src/iexamine.cpp @@ -182600,7 +188306,7 @@ msgid "You need a %s to tap this maple tree." msgstr "" #: src/iexamine.cpp -msgid "No container added. The sap will just spill on the ground." +msgid "No container added. The sap will just spill on the ground." msgstr "" #: src/iexamine.cpp @@ -182732,12 +188438,12 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "That %s looks too dangerous to mess with. Best leave it alone." +msgid "That %s looks too dangerous to mess with. Best leave it alone." msgstr "" #: src/iexamine.cpp #, c-format -msgid "There is a %s there. Take down?" +msgid "There is a %s there. Take down?" msgstr "" #: src/iexamine.cpp @@ -182846,11 +188552,11 @@ msgid "You're illiterate, and can't read the screen." msgstr "" #: src/iexamine.cpp -msgid "Failure! No gas pumps found!" +msgid "Failure! No gas pumps found!" msgstr "" #: src/iexamine.cpp -msgid "Failure! No gas tank found!" +msgid "Failure! No gas tank found!" msgstr "" #: src/iexamine.cpp @@ -182907,7 +188613,7 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel) " +msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel)" msgstr "" #: src/iexamine.cpp @@ -182974,27 +188680,27 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "Looks like %d story. Jump down?" -msgid_plural "Looks like %d stories. Jump down?" +msgid "Looks like %d story. Jump down?" +msgid_plural "Looks like %d stories. Jump down?" msgstr[0] "" msgstr[1] "" #: src/iexamine.cpp -msgid "You probably won't be able to get up and jumping down may hurt. Jump?" +msgid "You probably won't be able to get up and jumping down may hurt. Jump?" msgstr "" #: src/iexamine.cpp -msgid "You probably won't be able to get back up. Climb down?" +msgid "You probably won't be able to get back up. Climb down?" msgstr "" #: src/iexamine.cpp msgid "" -"You should be able to climb back up easily if you climb down there. Climb " +"You should be able to climb back up easily if you climb down there. Climb " "down?" msgstr "" #: src/iexamine.cpp -msgid "You may have problems climbing back up. Climb down?" +msgid "You may have problems climbing back up. Climb down?" msgstr "" #: src/iexamine.cpp @@ -183026,7 +188732,7 @@ msgstr "" #: src/iexamine.cpp msgid "" -"ERROR Bionic Level Assessement : FULL CYBORG. Autodoc Mk. XI can't " +"ERROR Bionic Level Assessement: FULL CYBORG. Autodoc Mk. XI can't " "opperate. Please move patient to appropriate facility. Exiting." msgstr "" @@ -183084,6 +188790,20 @@ msgstr "" msgid "Autodoc Mk. XI. Status: Online. Please choose operation" msgstr "" +#: src/iexamine.cpp +msgid " WARNING: Operator missing" +msgstr "" + +#: src/iexamine.cpp +msgid "" +"\n" +" Using the Autodoc without an operator can lead to serious " +"injuries or death.\n" +" By continuing with the operation you accept the risks and acknowledge that " +"you will not take any legal actions against this facility in case of an " +"accident. " +msgstr "" + #: src/iexamine.cpp msgid "Choose Compact Bionic Module to install" msgstr "" @@ -183298,8 +189018,7 @@ msgid "Inspect mill" msgstr "" #: src/iexamine.cpp -msgid "" -"Remove brake and start milling... insert some products for milling first" +msgid "Remove brake and start milling… insert some products for milling first" msgstr "" #: src/iexamine.cpp @@ -183311,12 +189030,12 @@ msgid "Remove brake and start milling, milling will take about 6 hours." msgstr "" #: src/iexamine.cpp -msgid "Insert products for milling... mill is full" +msgid "Insert products for milling… mill is full" msgstr "" #: src/iexamine.cpp #, c-format -msgid "Insert products for milling... remaining capacity is %s %s" +msgid "Insert products for milling… remaining capacity is %s %s" msgstr "" #: src/iexamine.cpp @@ -183364,7 +189083,7 @@ msgid "You inspect its contents and find: " msgstr "" #: src/iexamine.cpp -msgid "... that it is empty." +msgid "…that it is empty." msgstr "" #: src/iexamine.cpp @@ -183393,12 +189112,12 @@ msgid "Inspect smoking rack" msgstr "" #: src/iexamine.cpp -msgid "Light up and smoke food... insert some food for smoking first" +msgid "Light up and smoke food… insert some food for smoking first" msgstr "" #: src/iexamine.cpp #, c-format -msgid "Light up and smoke food... need extra %d charges of charcoal" +msgid "Light up and smoke food… need extra %d charges of charcoal" msgstr "" #: src/iexamine.cpp @@ -183407,16 +189126,17 @@ msgstr "" #: src/iexamine.cpp msgid "" -"Light up the smoking rack and start smoking. Smoking will take about 6 hours." +"Light up the smoking rack and start smoking. Smoking will take about 6 " +"hours." msgstr "" #: src/iexamine.cpp -msgid "Insert food for smoking... smoking rack is full" +msgid "Insert food for smoking… smoking rack is full" msgstr "" #: src/iexamine.cpp #, c-format -msgid "Insert food for smoking... remaining capacity is %s %s" +msgid "Insert food for smoking… remaining capacity is %s %s" msgstr "" #: src/iexamine.cpp @@ -183438,7 +189158,7 @@ msgid "Remove food from smoking rack" msgstr "" #: src/iexamine.cpp -msgid "Reload with charcoal... you don't have any" +msgid "Reload with charcoal… you don't have any" msgstr "" #: src/iexamine.cpp @@ -183448,7 +189168,7 @@ msgstr "" #: src/iexamine.cpp #, c-format msgid "" -"You need %d charges of charcoal for %s %s of food. Minimal amount of " +"You need %d charges of charcoal for %s %s of food. Minimal amount of " "charcoal is %d charges." msgstr "" @@ -183508,7 +189228,7 @@ msgid "You stop the smoking process." msgstr "" #: src/iexamine.cpp -msgid "You open the unlocked safe. " +msgid "You open the unlocked safe." msgstr "" #: src/iexamine.cpp @@ -183608,6 +189328,10 @@ msgstr "" msgid "Overmap specials" msgstr "" +#: src/init.cpp +msgid "Overmap locations" +msgstr "" + #: src/init.cpp msgid "Vehicle prototypes" msgstr "" @@ -183664,6 +189388,10 @@ msgstr "" msgid "Anatomies" msgstr "" +#: src/init.cpp +msgid "Mutations" +msgstr "" + #: src/init.cpp msgid "Tileset" msgstr "" @@ -183708,18 +189436,10 @@ msgstr "" msgid "Scenarios" msgstr "" -#: src/init.cpp -msgid "Mutations" -msgstr "" - #: src/init.cpp msgid "Mutation Categories" msgstr "" -#: src/init.cpp -msgid "Overmap locations" -msgstr "" - #: src/init.cpp msgid "Map extras" msgstr "" @@ -184081,14 +189801,6 @@ msgstr "" msgid "Page %d/%d" msgstr "" -#: src/inventory_ui.cpp -msgid "ITEMS WORN" -msgstr "" - -#: src/inventory_ui.cpp -msgid "WEAPON HELD" -msgstr "" - #: src/inventory_ui.cpp #, c-format msgid "Weight (%s):" @@ -184513,7 +190225,7 @@ msgstr "" #: src/item.cpp msgid "" -"This food has started to rot. Eating it would be a " +"This food has started to rot. Eating it would be a " "very bad idea." msgstr "" @@ -184586,11 +190298,6 @@ msgstr "" msgid "This ammo starts fires." msgstr "" -#: src/item.cpp -#, c-format -msgid "Stats of the active gunmod (%s) are shown." -msgstr "" - #: src/item.cpp msgid "Skill used: " msgstr "" @@ -184731,7 +190438,8 @@ msgid "Used on: " msgstr "" #: src/item.cpp -msgid "Location: " +#, c-format +msgid "Location: %s" msgstr "" #: src/item.cpp @@ -185246,42 +190954,45 @@ msgid "" msgstr "" #: src/item.cpp -msgid "* This clothing can be upsized." +msgid "can be upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be downsized." +msgid "can be downsized" msgstr "" #: src/item.cpp -msgid "* This clothing can not be downsized." +msgid "can not be downsized" msgstr "" #: src/item.cpp -msgid "* This clothing can not be upsized." +msgid "can not be upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be refitted and upsized." +#, c-format +msgid "* This clothing %s." msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted and downsized." +msgid " and upsized" msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not downsized." +msgid " and downsized" msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not upsized." +msgid " but not downsized" +msgstr "" + +#: src/item.cpp +msgid " but not upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be refitted." +#, c-format +msgid "* This clothing can be refitted%s." msgstr "" #: src/item.cpp @@ -185363,6 +191074,20 @@ msgstr "" msgid "This bionic is installed in the following body part(s):" msgstr "" +#: src/item.cpp +msgid "* This bionic can produce power from the following fuel: " +msgid_plural "* This bionic can produce power from the following fuels: " +msgstr[0] "" +msgstr[1] "" + +#: src/item.cpp +msgid " mJ" +msgstr "" + +#: src/item.cpp +msgid "Power Capacity:" +msgstr "" + #: src/item.cpp msgid "Encumbrance: " msgstr "" @@ -185482,6 +191207,11 @@ msgstr "" msgid "You could use it to craft: %s" msgstr "" +#: src/item.cpp +#, c-format +msgid "Stats of the active gunmod (%s) are shown." +msgstr "" + #: src/item.cpp #, c-format msgid "It takes you an extremely long time to wield your %s." @@ -186132,7 +191862,7 @@ msgid "You're already smoking a %s!" msgstr "" #: src/iuse.cpp -msgid "Are you sure you want to drink... this?" +msgid "Are you sure you want to drink… this?" msgstr "" #: src/iuse.cpp @@ -186162,7 +191892,7 @@ msgid "You light a %s." msgstr "" #: src/iuse.cpp -msgid "Ugh, too much smoke... you feel nasty." +msgid "Ugh, too much smoke… you feel nasty." msgstr "" #: src/iuse.cpp @@ -186178,7 +191908,7 @@ msgid "You don't have any nicotine liquid!" msgstr "" #: src/iuse.cpp -msgid "Ugh, too much nicotine... you feel nasty." +msgid "Ugh, too much nicotine… you feel nasty." msgstr "" #: src/iuse.cpp @@ -186283,8 +192013,7 @@ msgstr "" #: src/iuse.cpp msgid "" -"You start scarfing down the delicious cake. It tastes a little funny " -"though..." +"You start scarfing down the delicious cake. It tastes a little funny though…" msgstr "" #: src/iuse.cpp @@ -186316,7 +192045,7 @@ msgid "You no longer need to fear the flu, at least for some time." msgstr "" #: src/iuse.cpp -msgid "Are you sure you want to eat this? It looks poisonous..." +msgid "Are you sure you want to eat this? It looks poisonous…" msgstr "" #: src/iuse.cpp @@ -186337,7 +192066,7 @@ msgid "You suddenly feel hollow inside." msgstr "" #: src/iuse.cpp -msgid "You feel very sleepy..." +msgid "You feel very sleepy…" msgstr "" #: src/iuse.cpp @@ -186430,7 +192159,7 @@ msgstr "" #, c-format msgid "" "As you eat the %s, you have a near-religious experience, feeling at one with " -"your surroundings..." +"your surroundings…" msgstr "" #: src/iuse.cpp @@ -186456,7 +192185,7 @@ msgstr "" #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into an excruciating burn " -"as you convulse, vomiting, and black out..." +"as you convulse, vomiting, and black out…" msgstr "" #: src/iuse.cpp @@ -186472,7 +192201,7 @@ msgstr "" #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into painful burning as " -"you convulse and collapse to the ground..." +"you convulse and collapse to the ground…" msgstr "" #: src/iuse.cpp src/monattack.cpp @@ -186485,11 +192214,11 @@ msgstr "" #: src/iuse.cpp msgid "" "unity. together we have reached the door. we provide the final key. now " -"to pass through..." +"to pass through…" msgstr "" #: src/iuse.cpp -msgid "You feel a strange warmth spreading throughout your body..." +msgid "You feel a strange warmth spreading throughout your body…" msgstr "" #. ~ "Uh-uh" is a sound used for "nope", "no", etc. @@ -186505,7 +192234,7 @@ msgstr "" #: src/iuse.cpp #, c-format -msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." +msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." msgstr "" #: src/iuse.cpp @@ -186514,27 +192243,25 @@ msgstr "" #: src/iuse.cpp msgid "" -"As it settles in, you feel ecstasy radiating through every part of your " -"body..." +"As it settles in, you feel ecstasy radiating through every part of your body…" msgstr "" #: src/iuse.cpp msgid "" -"Your eyes roll back in your head. Everything dissolves into a blissful " -"haze..." +"Your eyes roll back in your head. Everything dissolves into a blissful haze…" msgstr "" #. ~ The Mycus does not use the term (or encourage the concept of) "you". The PC is a local/native organism, but is now the Mycus. #. ~ It still understands the concept, but uninitelligent fungaloids and mind-bent symbiotes should not need it. #. ~ We are the Mycus. #: src/iuse.cpp -msgid "We welcome into us. We have endured long in this forbidding world." +msgid "We welcome into us. We have endured long in this forbidding world." msgstr "" #: src/iuse.cpp msgid "" -"A sea of white caps, waving gently. A haze of spores wafting silently over a " -"forest." +"A sea of white caps, waving gently. A haze of spores wafting silently over " +"a forest." msgstr "" #: src/iuse.cpp @@ -186543,20 +192270,20 @@ msgstr "" #: src/iuse.cpp msgid "" -"The blazing pink redness of the berry. The juices spreading across your " +"The blazing pink redness of the berry. The juices spreading across your " "tongue, the warmth draping over us like a lover's embrace." msgstr "" #: src/iuse.cpp msgid "" "We welcome the union of our lines in our local guide. We will prosper, and " -"unite this world. Even now, our fruits adapt to better serve local " +"unite this world. Even now, our fruits adapt to better serve local " "physiology." msgstr "" #: src/iuse.cpp msgid "" -"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " +"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " "berry, a memory that will never leave us." msgstr "" @@ -186567,12 +192294,12 @@ msgstr "" #: src/iuse.cpp msgid "" -"The amber-yellow of the sap. Feel it flowing through our veins, taking the " +"The amber-yellow of the sap. Feel it flowing through our veins, taking the " "place of the strange, thin red gruel called \"blood.\"" msgstr "" #: src/iuse.cpp -msgid "This tastes really weird! You're not sure it's good for you..." +msgid "This tastes really weird! You're not sure it's good for you…" msgstr "" #: src/iuse.cpp @@ -186650,7 +192377,7 @@ msgid "You do not have that item!" msgstr "" #: src/iuse.cpp -msgid "Which signal should activate the item?:" +msgid "Which signal should activate the item?" msgstr "" #: src/iuse.cpp @@ -186691,7 +192418,7 @@ msgid "You can't fish there!" msgstr "" #: src/iuse.cpp -msgid "You cast your line and wait to hook something..." +msgid "You cast your line and wait to hook something…" msgstr "" #: src/iuse.cpp @@ -186891,16 +192618,6 @@ msgstr "" msgid "The infernal racket dies as the noise emitter turns off." msgstr "" -#: src/iuse.cpp -#, c-format -msgid "You learn the essential elements of %s." -msgstr "" - -#: src/iuse.cpp -#, c-format -msgid "%s to select martial arts style." -msgstr "" - #: src/iuse.cpp msgid "You pry out the fence post." msgstr "" @@ -187321,18 +193038,27 @@ msgid "Scan the ground" msgstr "" #: src/iuse.cpp -msgid "Scan yourself" +msgid "Scan yourself or other person" msgstr "" #: src/iuse.cpp msgid "Turn continuous scan on" msgstr "" +#: src/iuse.cpp +msgid "Scan whom?" +msgstr "" + #: src/iuse.cpp #, c-format msgid "Your radiation level: %d mSv (%d mSv from items)" msgstr "" +#: src/iuse.cpp +#, c-format +msgid "%s's radiation level: %d mSv (%d mSv from items)" +msgstr "" + #: src/iuse.cpp #, c-format msgid "The ground's radiation level: %d mSv/h" @@ -187400,6 +193126,10 @@ msgstr "" msgid "You've already released the handle, try throwing it instead." msgstr "" +#: src/iuse.cpp src/iuse_actor.cpp +msgid "You need a source of fire!" +msgstr "" + #: src/iuse.cpp msgid "You light the arrow!" msgstr "" @@ -187412,6 +193142,10 @@ msgstr "" msgid "You light the pack of firecrackers." msgstr "" +#: src/iuse.cpp +msgid "ssss…" +msgstr "" + #: src/iuse.cpp msgid "You light the firecracker." msgstr "" @@ -187426,23 +193160,23 @@ msgid "You set the timer to %s." msgstr "" #: src/iuse.cpp -msgid "You squeeze the pheromone ball..." +msgid "You squeeze the pheromone ball…" msgstr "" #: src/iuse.cpp -msgid " squeezes the pheromone ball..." +msgid " squeezes the pheromone ball…" msgstr "" #: src/iuse.cpp -msgid "...but nothing happens." +msgid "…but nothing happens." msgstr "" #: src/iuse.cpp -msgid "...and a nearby zombie becomes passive!" +msgid "…and a nearby zombie becomes passive!" msgstr "" #: src/iuse.cpp -msgid "...and several nearby zombies become passive!" +msgid "…and several nearby zombies become passive!" msgstr "" #: src/iuse.cpp @@ -187710,7 +193444,7 @@ msgid "You need a rechargeable battery cell to charge." msgstr "" #: src/iuse.cpp -msgid "You cannot do... that while mounted." +msgid "You cannot do… that while mounted." msgstr "" #: src/iuse.cpp @@ -187732,7 +193466,7 @@ msgid "You whip out your %s and start getting the tension out." msgstr "" #: src/iuse.cpp -msgid "Air swirls all over..." +msgid "Air swirls all over…" msgstr "" #: src/iuse.cpp @@ -187769,7 +193503,7 @@ msgstr "" #: src/iuse.cpp #, c-format -msgid "You drew blood from the %s..." +msgid "You drew blood from the %s…" msgstr "" #: src/iuse.cpp @@ -187777,17 +193511,17 @@ msgid "Draw your own blood?" msgstr "" #: src/iuse.cpp -msgid "You drew your own blood..." +msgid "You drew your own blood…" msgstr "" #: src/iuse.cpp #, c-format -msgid "...but acidic blood melts the %s, destroying it!" +msgid "…but acidic blood melts the %s, destroying it!" msgstr "" #: src/iuse.cpp #, c-format -msgid "...but acidic blood damages the %s!" +msgid "…but acidic blood damages the %s!" msgstr "" #: src/iuse.cpp @@ -187947,15 +193681,7 @@ msgid "You don't have appropriate food to heat up." msgstr "" #: src/iuse.cpp -msgid "You defrost the food, but don't heat it up, since you enjoy it cold." -msgstr "" - -#: src/iuse.cpp -msgid "You defrost and heat up the food." -msgstr "" - -#: src/iuse.cpp -msgid "You heat up the food." +msgid "You start heating up the food." msgstr "" #: src/iuse.cpp @@ -188150,12 +193876,12 @@ msgstr "" #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s! ( %s-> %s)" +msgid "You repair your %s! ( %s-> %s)" msgstr "" #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s completely! ( %s-> %s)" +msgid "You repair your %s completely! ( %s-> %s)" msgstr "" #: src/iuse.cpp @@ -188188,11 +193914,11 @@ msgid "You reinforce your %s." msgstr "" #: src/iuse.cpp -msgid "Clank! Clank!" +msgid "Clank! Clank!" msgstr "" #: src/iuse.cpp -msgid "Ring! Ring!" +msgid "Ring! Ring!" msgstr "" #: src/iuse.cpp @@ -188349,7 +194075,7 @@ msgid "Wasted time, these pictures do not provoke your senses." msgstr "" #: src/iuse.cpp -msgid "You used to have a dog like this..." +msgid "You used to have a dog like this…" msgstr "" #: src/iuse.cpp @@ -188361,7 +194087,7 @@ msgid "Excellent pictures of nature." msgstr "" #: src/iuse.cpp -msgid "Food photos... your stomach rumbles!" +msgid "Food photos… your stomach rumbles!" msgstr "" #: src/iuse.cpp @@ -188823,12 +194549,12 @@ msgid "A %s got in the way of your photo." msgstr "" #: src/iuse.cpp -msgid "Strange... there's nothing in the center of picture?" +msgid "Strange… there's nothing in the center of picture?" msgstr "" #: src/iuse.cpp #, c-format -msgid "Strange... %s's not visible on the picture?" +msgid "Strange… %s's not visible on the picture?" msgstr "" #: src/iuse.cpp @@ -188944,7 +194670,7 @@ msgstr "" #: src/iuse.cpp #, c-format -msgid "RC car with %s ? How?" +msgid "RC car with %s? How?" msgstr "" #: src/iuse.cpp @@ -188953,12 +194679,12 @@ msgid "Your %s is too heavy or bulky for this RC car." msgstr "" #: src/iuse.cpp -msgid "You disarmed your RC car" +msgid "You disarmed your RC car." msgstr "" #. ~Sound of a radio controlled car moving around #: src/iuse.cpp -msgid "buzzz..." +msgid "buzzz…" msgstr "" #: src/iuse.cpp @@ -188966,11 +194692,11 @@ msgid "What to do with activated RC car?" msgstr "" #: src/iuse.cpp -msgid "You turned off your RC car" +msgid "You turned off your RC car." msgstr "" -#: src/iuse.cpp src/map.cpp -msgid "beep." +#: src/iuse.cpp +msgid "beep" msgstr "" #: src/iuse.cpp @@ -189008,7 +194734,14 @@ msgstr "" #: src/iuse.cpp #, c-format msgid "" -"The %s in you inventory would explode on this signal. Place it down before " +"The %s in your inventory would explode on this signal. Place it down before " +"sending the signal." +msgstr "" + +#: src/iuse.cpp +#, c-format +msgid "" +"The %1$s in your %2$s would explode on this signal. Place it down before " "sending the signal." msgstr "" @@ -189076,6 +194809,11 @@ msgstr "" msgid "Execute one vehicle action" msgstr "" +#: src/iuse.cpp +msgid "" +"Despite using a controller, you still refuse to take control of this vehicle." +msgstr "" + #: src/iuse.cpp msgid "You take control of the vehicle." msgstr "" @@ -189094,7 +194832,7 @@ msgstr "" #. ~ Single-spaced & lowercase are intentional, conveying hurried speech-KA101 #: src/iuse.cpp -msgid "Are you sure?! the multi-cooker wants to poison your food!" +msgid "Are you sure?! the multi-cooker wants to poison your food!" msgstr "" #: src/iuse.cpp @@ -189137,7 +194875,7 @@ msgid "The cycle will be completed in %s." msgstr "" #: src/iuse.cpp -msgid "The multi-cooker should be finishing shortly..." +msgid "The multi-cooker should be finishing shortly…" msgstr "" #. ~ sound of a multi-cooker finishing its cycle! @@ -189216,7 +194954,7 @@ msgid "" msgstr "" #: src/iuse.cpp -msgid "Your morale is too low to craft..." +msgid "Your morale is too low to craft…" msgstr "" #: src/iuse.cpp @@ -189343,7 +195081,7 @@ msgstr "" #: src/iuse.cpp #, c-format -msgid "The %s's monitor slowly outputs the data..." +msgid "The %s's monitor slowly outputs the data…" msgstr "" #: src/iuse.cpp @@ -189486,7 +195224,7 @@ msgid "You break the stick, but one half shatters into splinters." msgstr "" #: src/iuse.cpp -msgid "The throbbing of the infection diminishes. Slightly." +msgid "The throbbing of the infection diminishes. Slightly." msgstr "" #: src/iuse.cpp @@ -189508,7 +195246,7 @@ msgstr "" #: src/iuse.cpp msgid "" -"Simply taking more magnesium won't help. You have to go to sleep for it to " +"Simply taking more magnesium won't help. You have to go to sleep for it to " "work." msgstr "" @@ -189770,7 +195508,7 @@ msgid "With a satisfying click, the lock on the door opens." msgstr "" #: src/iuse_actor.cpp -msgid "The door swings open..." +msgid "The door swings open…" msgstr "" #: src/iuse_actor.cpp @@ -189876,7 +195614,7 @@ msgstr "" #: src/iuse_actor.cpp msgid "" -"There's a brazier there but you haven't set it up to contain the fire. " +"There's a brazier there but you haven't set it up to contain the fire. " "Continue?" msgstr "" @@ -189885,7 +195623,7 @@ msgid "You successfully light a fire." msgstr "" #: src/iuse_actor.cpp -msgid "You light a fire, but it isn't enough. You need to light more." +msgid "You light a fire, but it isn't enough. You need to light more." msgstr "" #: src/iuse_actor.cpp @@ -190076,7 +195814,7 @@ msgid "Make love, not zlave." msgstr "" #: src/iuse_actor.cpp -msgid "Well, it's more constructive than just chopping 'em into gooey meat..." +msgid "Well, it's more constructive than just chopping 'em into gooey meat…" msgstr "" #: src/iuse_actor.cpp @@ -190371,7 +196109,7 @@ msgstr "" #: src/iuse_actor.cpp #, c-format -msgid "You don't have enough %s to do that. Have: %d, need: %d" +msgid "You don't have enough %s to do that. Have: %d, need: %d" msgstr "" #: src/iuse_actor.cpp @@ -190393,7 +196131,7 @@ msgstr "" #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s! ( %s-> %s)" +msgid "You damage your %s! ( %s-> %s)" msgstr "" #: src/iuse_actor.cpp @@ -190584,7 +196322,7 @@ msgstr "" #: src/iuse_actor.cpp #, c-format -msgid "Yeah. Place the %s at your feet. Real damn smart move." +msgid "Yeah. Place the %s at your feet. Real damn smart move." msgstr "" #: src/iuse_actor.cpp @@ -190604,7 +196342,7 @@ msgstr "" #: src/iuse_actor.cpp #, c-format -msgid "You can't place a %s there. It contains a trap already." +msgid "You can't place a %s there. It contains a trap already." msgstr "" #: src/iuse_actor.cpp @@ -190693,6 +196431,10 @@ msgstr "" msgid "Has to be taken off first." msgstr "" +#: src/iuse_actor.cpp +msgid "You quiver with anticipation…" +msgstr "" + #: src/iuse_actor.cpp msgid "You suddenly feel dizzy, and collapse to the ground." msgstr "" @@ -190759,8 +196501,28 @@ msgstr "" msgid "How do you want to modify it?" msgstr "" +#. ~ %1$s: modification desc, %2$d: number of thread needed #: src/iuse_actor.cpp -msgid "Not enough thread to modify. Which modification do you want to remove?" +#, c-format +msgid "Can't %1$s (need %2$d thread loaded)" +msgstr "" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items needed +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (need %2$d %3$s)" +msgstr "" + +#. ~ %1$s: modification desc, %2$s: mod name +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (incompatible with %2$s)" +msgstr "" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items needed, %4$s: number of thread needed +#: src/iuse_actor.cpp +#, c-format +msgid "%1$s (%2$d %3$s and %4$d thread)" msgstr "" #: src/iuse_actor.cpp @@ -190793,7 +196555,7 @@ msgstr "" #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s trying to modify it! ( %s-> %s)" +msgid "You damage your %s trying to modify it! ( %s-> %s)" msgstr "" #: src/iuse_actor.cpp @@ -190841,7 +196603,7 @@ msgid "It's an altar to the horse god." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A box of dancing mechanical pencils. They dance! They sing!" +msgid "A box of dancing mechanical pencils. They dance! They sing!" msgstr "" #: src/iuse_software_kitten.cpp @@ -190853,7 +196615,7 @@ msgid "A box of fumigation pellets." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A digital clock. It's stuck at 2:17 PM." +msgid "A digital clock. It's stuck at 2:17 PM." msgstr "" #: src/iuse_software_kitten.cpp @@ -190865,15 +196627,15 @@ msgid "I don't know what that is, but it's not kitten." msgstr "" #: src/iuse_software_kitten.cpp -msgid "An empty shopping bag. Paper or plastic?" +msgid "An empty shopping bag. Paper or plastic?" msgstr "" #: src/iuse_software_kitten.cpp -msgid "Could it be... a big ugly bowling trophy?" +msgid "Could it be… a big ugly bowling trophy?" msgstr "" #: src/iuse_software_kitten.cpp -msgid "A coat hanger hovers in thin air. Odd." +msgid "A coat hanger hovers in thin air. Odd." msgstr "" #: src/iuse_software_kitten.cpp @@ -190897,7 +196659,7 @@ msgid "It's Richard Nixon's nose!" msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." +msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." msgstr "" #: src/iuse_software_kitten.cpp @@ -190909,7 +196671,7 @@ msgid "Just an autographed copy of the Kama Sutra." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" +msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" msgstr "" #: src/iuse_software_kitten.cpp @@ -190970,7 +196732,7 @@ msgid "It's a mighty zombie talking about some love and prosperity." msgstr "" #: src/iuse_software_kitten.cpp -msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize...\"" +msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize…\"" msgstr "" #: src/iuse_software_kitten.cpp @@ -191014,7 +196776,7 @@ msgid "It's some compromising photos of Babar the Elephant." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A copy of the Weekly World News. Watch out for the chambered nautilus!" +msgid "A copy of the Weekly World News. Watch out for the chambered nautilus!" msgstr "" #: src/iuse_software_kitten.cpp @@ -191034,19 +196796,19 @@ msgid "Paul Moyer's necktie." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A haircut and a real job. Now you know where to get one!" +msgid "A haircut and a real job. Now you know where to get one!" msgstr "" #: src/iuse_software_kitten.cpp -msgid "An automated robot-hater. It frowns disapprovingly at you." +msgid "An automated robot-hater. It frowns disapprovingly at you." msgstr "" #: src/iuse_software_kitten.cpp -msgid "An automated robot-liker. It smiles at you." +msgid "An automated robot-liker. It smiles at you." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a black hole. Don't fall in!" +msgid "It's a black hole. Don't fall in!" msgstr "" #: src/iuse_software_kitten.cpp @@ -191054,7 +196816,7 @@ msgid "Just a big brick wall." msgstr "" #: src/iuse_software_kitten.cpp -msgid "You found kitten! No, just kidding." +msgid "You found kitten! No, just kidding." msgstr "" #: src/iuse_software_kitten.cpp @@ -191106,7 +196868,7 @@ msgid "It's the constellation Pisces." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a fly on the wall. Hi, fly!" +msgid "It's a fly on the wall. Hi, fly!" msgstr "" #: src/iuse_software_kitten.cpp @@ -191114,7 +196876,7 @@ msgid "This kind of looks like kitten, but it's not." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a banana! Oh, joy!" +msgid "It's a banana! Oh, joy!" msgstr "" #: src/iuse_software_kitten.cpp @@ -191142,11 +196904,11 @@ msgid "A geyser sprays water high into the air." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A toenail? What good is a toenail?" +msgid "A toenail? What good is a toenail?" msgstr "" #: src/iuse_software_kitten.cpp -msgid "You've found the fish! Not that it does you much good in this game." +msgid "You've found the fish! Not that it does you much good in this game." msgstr "" #: src/iuse_software_kitten.cpp @@ -191170,7 +196932,7 @@ msgid "It's nothing but a G-thang, baby." msgstr "" #: src/iuse_software_kitten.cpp -msgid "IT'S ALIVE! AH HA HA HA HA!" +msgid "IT'S ALIVE! AH HA HA HA HA!" msgstr "" #: src/iuse_software_kitten.cpp @@ -191178,11 +196940,12 @@ msgid "This was no boating accident!" msgstr "" #: src/iuse_software_kitten.cpp -msgid "Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" +msgid "" +"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" msgstr "" #: src/iuse_software_kitten.cpp -msgid "A livery stable! Get your livery!" +msgid "A livery stable! Get your livery!" msgstr "" #: src/iuse_software_kitten.cpp @@ -191203,7 +196966,7 @@ msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " +"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " "know." msgstr "" @@ -191212,7 +196975,7 @@ msgid "This appears to be a rather large stack of trashy romance novels." msgstr "" #: src/iuse_software_kitten.cpp -msgid "Look out! Exclamation points!" +msgid "Look out! Exclamation points!" msgstr "" #: src/iuse_software_kitten.cpp @@ -191220,11 +196983,11 @@ msgid "A herd of wild coffee mugs slumbers here." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a limbo bar! How low can you go?" +msgid "It's a limbo bar! How low can you go?" msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's the horizon. Now THAT'S weird." +msgid "It's the horizon. Now THAT'S weird." msgstr "" #: src/iuse_software_kitten.cpp @@ -191240,16 +197003,17 @@ msgid "A pair of saloon-style doors swing slowly back and forth here." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's an ordinary bust of Beethoven... but why is it painted green?" +msgid "It's an ordinary bust of Beethoven… but why is it painted green?" msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." +msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"Hey, look, it's war. What is it good for? Absolutely nothing. Say it again." +"Hey, look, it's war. What is it good for? Absolutely nothing. Say it " +"again." msgstr "" #: src/iuse_software_kitten.cpp @@ -191257,7 +197021,7 @@ msgid "It's the amazing self-referential thing that's not kitten." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" +msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" msgstr "" #: src/iuse_software_kitten.cpp @@ -191276,7 +197040,8 @@ msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"This is a large brown bear. Oddly enough, it's currently peeing in the woods." +"This is a large brown bear. Oddly enough, it's currently peeing in the " +"woods." msgstr "" #: src/iuse_software_kitten.cpp @@ -191305,7 +197070,7 @@ msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"This is a television. On screen you see a robot strangely similar to " +"This is a television. On screen you see a robot strangely similar to " "yourself." msgstr "" @@ -191314,16 +197079,16 @@ msgid "This balogna has a first name, it's R-A-N-C-I-D." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A salmon hatchery? Look again. It's merely a single salmon." +msgid "A salmon hatchery? Look again. It's merely a single salmon." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a rim shot. Ba-da-boom!" +msgid "It's a rim shot. Ba-da-boom!" msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." +"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." msgstr "" #: src/iuse_software_kitten.cpp @@ -191335,7 +197100,7 @@ msgid "This object is like an analogy." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a symbol. You see in it a model for all symbols everywhere." +msgid "It's a symbol. You see in it a model for all symbols everywhere." msgstr "" #: src/iuse_software_kitten.cpp @@ -191343,17 +197108,17 @@ msgid "The object pushes back at you." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A traffic signal. It appears to have been recently vandalized." +msgid "A traffic signal. It appears to have been recently vandalized." msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"\"There is no kitten!\" cackles the old crone. You are shocked by her " +"\"There is no kitten!\" cackles the old crone. You are shocked by her " "blasphemy." msgstr "" #: src/iuse_software_kitten.cpp -msgid "This is a Lagrange point. Don't come too close now." +msgid "This is a Lagrange point. Don't come too close now." msgstr "" #: src/iuse_software_kitten.cpp @@ -191373,7 +197138,7 @@ msgid "It's the instruction manual for a previous version of this game." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A brain cell. Oddly enough, it seems to be functioning." +msgid "A brain cell. Oddly enough, it seems to be functioning." msgstr "" #: src/iuse_software_kitten.cpp @@ -191389,7 +197154,7 @@ msgid "It's a Quaker Oatmeal tube, converted into a drum." msgstr "" #: src/iuse_software_kitten.cpp -msgid "This is a remote control. Being a robot, you keep a wide berth." +msgid "This is a remote control. Being a robot, you keep a wide berth." msgstr "" #: src/iuse_software_kitten.cpp @@ -191397,7 +197162,7 @@ msgid "It's a roll of industrial-strength copper wire." msgstr "" #: src/iuse_software_kitten.cpp -msgid "Oh boy! Grub! Er, grubs." +msgid "Oh boy! Grub! Er, grubs." msgstr "" #: src/iuse_software_kitten.cpp @@ -191425,11 +197190,11 @@ msgid "An autographed copy of \"Primary Colors\", by Anonymous." msgstr "" #: src/iuse_software_kitten.cpp -msgid "Another rabbit? That's three today!" +msgid "Another rabbit? That's three today!" msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a segmentation fault. Core dumped, by the way." +msgid "It's a segmentation fault. Core dumped, by the way." msgstr "" #: src/iuse_software_kitten.cpp @@ -191437,7 +197202,7 @@ msgid "A historical marker showing the actual location of /dev/null." msgstr "" #: src/iuse_software_kitten.cpp -msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" +msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" msgstr "" #: src/iuse_software_kitten.cpp @@ -191457,7 +197222,7 @@ msgid "A stack of 7 inch floppies wobbles precariously." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's nothing but a corrupted floppy. Coaster anyone?" +msgid "It's nothing but a corrupted floppy. Coaster anyone?" msgstr "" #: src/iuse_software_kitten.cpp @@ -191501,7 +197266,7 @@ msgid "It's the missing chapter to \"A Clockwork Orange\"." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." +msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." msgstr "" #: src/iuse_software_kitten.cpp @@ -191529,11 +197294,11 @@ msgid "A forgotten telephone switchboard operator." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's an automated robot-disdainer. It pretends you're not there." +msgid "It's an automated robot-disdainer. It pretends you're not there." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." +msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." msgstr "" #: src/iuse_software_kitten.cpp @@ -191541,11 +197306,11 @@ msgid "Just a moldy loaf of bread." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." +msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" +msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" msgstr "" #: src/iuse_software_kitten.cpp @@ -191565,7 +197330,7 @@ msgid "A willing, ripe tomato bemoans your inability to digest fruit." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A robot comedian. You feel amused." +msgid "A robot comedian. You feel amused." msgstr "" #: src/iuse_software_kitten.cpp @@ -191573,7 +197338,7 @@ msgid "It's KITT, the talking car." msgstr "" #: src/iuse_software_kitten.cpp -msgid "Here's Pete Peterson. His batteries seem to have long gone dead." +msgid "Here's Pete Peterson. His batteries seem to have long gone dead." msgstr "" #: src/iuse_software_kitten.cpp @@ -191601,7 +197366,7 @@ msgid "Pumpkin pie spice." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's the Bass-Matic '76! Mmm, that's good bass!" +msgid "It's the Bass-Matic '76! Mmm, that's good bass!" msgstr "" #: src/iuse_software_kitten.cpp @@ -191609,7 +197374,7 @@ msgid "\"Lend us a fiver 'til Thursday\", pleas Andy Capp." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a tape of '70s rock. All original hits! All original artists!" +msgid "It's a tape of '70s rock. All original hits! All original artists!" msgstr "" #: src/iuse_software_kitten.cpp @@ -191626,11 +197391,12 @@ msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES SIR!\"" +"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES SIR!" +"\"" msgstr "" #: src/iuse_software_kitten.cpp -msgid "...thingy???" +msgid "…thingy???" msgstr "" #: src/iuse_software_kitten.cpp @@ -191642,11 +197408,11 @@ msgid "The letters O and R." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A magical... magic thing." +msgid "A magical… magic thing." msgstr "" #: src/iuse_software_kitten.cpp -msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" +msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" msgstr "" #: src/iuse_software_kitten.cpp @@ -191677,9 +197443,9 @@ msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"Your job is to find kitten. This task is complicated by the existence of " -"various things which are not kitten. Robot must touch items to determine if " -"they are kitten or not. The game ends when robot finds kitten. " +"Your job is to find kitten. This task is complicated by the existence of " +"various things which are not kitten. Robot must touch items to determine if " +"they are kitten or not. The game ends when robot finds kitten. " "Alternatively, you may end the game by hitting 'q', 'Q' or the Escape key." msgstr "" @@ -191692,7 +197458,7 @@ msgid "Invalid command: Use direction keys or press 'q'." msgstr "" #: src/iuse_software_kitten.cpp -msgid "You found kitten! Way to go, robot!" +msgid "You found kitten! Way to go, robot!" msgstr "" #: src/iuse_software_lightson.cpp @@ -191765,7 +197531,7 @@ msgid "lag" msgstr "" #: src/iuse_software_minesweeper.cpp -msgid "Boom, you're dead! Better luck next time." +msgid "Boom, you're dead! Better luck next time." msgstr "" #: src/iuse_software_snake.cpp src/iuse_software_sokoban.cpp @@ -192142,6 +197908,23 @@ msgstr "" msgid "All knowledge of %s leaves you." msgstr "" +#: src/magic.cpp +msgid "Choose a new hotkey for this spell." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey already used." +msgstr "" + +#: src/magic.cpp +#, c-format +msgid "%c set. Close and reopen spell menu to refresh list with changes." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey removed." +msgstr "" + #: src/magic.cpp msgid "Ignore Distractions" msgstr "" @@ -192150,6 +197933,10 @@ msgstr "" msgid "Popup Distractions" msgstr "" +#: src/magic.cpp +msgid "Assign Hotkey [=]" +msgstr "" + #: src/magic.cpp msgid "requires concentration" msgstr "" @@ -192214,6 +198001,15 @@ msgstr "" msgid "Casting Cost (impeded)" msgstr "" +#: src/magic.cpp +#, c-format +msgid " (%s current)" +msgstr "" + +#: src/magic.cpp +msgid "Not Enough Energy" +msgstr "" + #: src/magic.cpp msgid "Casting Time" msgstr "" @@ -192222,6 +198018,10 @@ msgstr "" msgid "Casting Time (impeded)" msgstr "" +#: src/magic.cpp +msgid "self" +msgstr "" + #: src/magic.cpp msgid "Valid Targets" msgstr "" @@ -192235,27 +198035,35 @@ msgid "Healing" msgstr "" #: src/magic.cpp -msgid "Variance" +msgid "Spell Radius" msgstr "" #: src/magic.cpp -msgid "Spawn" +msgid "Cone Arc" msgstr "" #: src/magic.cpp -msgid "Summon" +msgid "degrees" msgstr "" #: src/magic.cpp -msgid "Spell Radius" +msgid "Line Width" msgstr "" -#: src/magic.cpp src/veh_interact.cpp -msgid "Range" +#: src/magic.cpp +msgid "Variance" msgstr "" #: src/magic.cpp -msgid "self" +msgid "Spawn" +msgstr "" + +#: src/magic.cpp +msgid "Summon" +msgstr "" + +#: src/magic.cpp src/veh_interact.cpp +msgid "Range" msgstr "" #: src/magic.cpp @@ -192282,18 +198090,22 @@ msgstr "" msgid "Damage Type" msgstr "" +#. ~ translation should not exceed 10 console cells #: src/magic.cpp msgid "Stat Gain" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "lvl 0" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "per lvl" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "max lvl" msgstr "" @@ -192342,12 +198154,17 @@ msgstr "" msgid "No valid targets to teleport." msgstr "" +#: src/magic_teleporter_list.cpp +#, c-format +msgid "Distance: %d (%d, %d)" +msgstr "" + #: src/magic_teleporter_list.cpp msgid "Choose Translocator Gate" msgstr "" #: src/main.cpp -msgid "Really Quit? All unsaved changes will be lost." +msgid "Really Quit? All unsaved changes will be lost." msgstr "" #: src/main_menu.cpp @@ -192467,19 +198284,23 @@ msgid "olors" msgstr "" #: src/main_menu.cpp -msgid "Unable to make config directory. Check permissions." +msgid "Unable to make config directory. Check permissions." +msgstr "" + +#: src/main_menu.cpp +msgid "Unable to make save directory. Check permissions." msgstr "" #: src/main_menu.cpp -msgid "Unable to make save directory. Check permissions." +msgid "Unable to make templates directory. Check permissions." msgstr "" #: src/main_menu.cpp -msgid "Unable to make templates directory. Check permissions." +msgid "Unable to make sound directory. Check permissions." msgstr "" #: src/main_menu.cpp -msgid "Unable to make sound directory. Check permissions." +msgid "Unable to make graphics directory. Check permissions." msgstr "" #: src/main_menu.cpp @@ -192507,7 +198328,7 @@ msgstr "" #: src/main_menu.cpp msgctxt "Main Menu|New Game" -msgid "Play Now! (ixed Scenario)" +msgid "Play Now! (ixed Scenario)" msgstr "" #: src/main_menu.cpp @@ -192651,17 +198472,29 @@ msgid " is crushed by the falling debris!" msgstr "" #: src/map.cpp -msgid "The shot is stopped by the reinforced glass wall!" +msgid "The shot is stopped by the reinforced glass door!" msgstr "" #: src/map.cpp -msgid "The shot is stopped by the reinforced glass door!" +msgid "The shot is stopped by the reinforced glass wall!" msgstr "" #: src/map.cpp msgid "ke-rash!" msgstr "" +#: src/map.cpp +msgid "laser beam" +msgstr "" + +#: src/map.cpp +msgid "bolt of electricity" +msgstr "" + +#: src/map.cpp +msgid "bolt of plasma" +msgstr "" + #: src/map.cpp msgid "flying projectile" msgstr "" @@ -192727,7 +198560,7 @@ msgid "Something has crawled out of the %s!" msgstr "" #: src/map_extras.cpp -msgid "DANGER! MINEFIELD!" +msgid "DANGER! MINEFIELD!" msgstr "" #: src/map_field.cpp @@ -192778,7 +198611,7 @@ msgid "The sap sticks to !" msgstr "" #: src/map_field.cpp -msgid "The sludge is thick and sticky. You struggle to pull free." +msgid "The sludge is thick and sticky. You struggle to pull free." msgstr "" #: src/map_field.cpp @@ -193161,20 +198994,32 @@ msgstr "" #: src/martialarts.cpp #, c-format -msgid "The %s is not a valid %s weapon." +msgid "The %1$s is not a valid %2$s weapon." msgstr "" #: src/martialarts.cpp -#, c-format -msgid "Type: %s" +msgid "Block Counter" +msgstr "" + +#: src/martialarts.cpp +msgid "Dodge Counter" msgstr "" #: src/martialarts.cpp -msgid "defensive" +msgid "Miss Recovery" msgstr "" #: src/martialarts.cpp -msgid "offensive" +msgid "Defensive" +msgstr "" + +#: src/martialarts.cpp +msgid "Offensive" +msgstr "" + +#: src/martialarts.cpp +#, c-format +msgid "Type: %s" msgstr "" #: src/martialarts.cpp @@ -193281,6 +199126,11 @@ msgstr "" msgid "* Will disarm the target" msgstr "" +#: src/martialarts.cpp +msgid "" +"* Will disarm the target and take their weapon" +msgstr "" + #: src/martialarts.cpp msgid "" "This style forces you to use unarmed strikes, even if wielding a " @@ -193431,7 +199281,7 @@ msgstr[1] "" #. ~ There will be a 120mm HEAT shell sent at high speed to your location next turn. #: src/mattack_actors.cpp src/monattack.cpp -msgid "You're not sure why you've got a laser dot on you..." +msgid "You're not sure why you've got a laser dot on you…" msgstr "" #: src/mattack_actors.cpp src/monattack.cpp @@ -193530,6 +199380,20 @@ msgstr "" msgid "You swing at the air." msgstr "" +#: src/melee.cpp +msgid " disarms you and takes your weapon!" +msgstr "" + +#: src/melee.cpp +#, c-format +msgid "You disarm %s and take their weapon!" +msgstr "" + +#: src/melee.cpp +#, c-format +msgid " disarms %s and takes their weapon!" +msgstr "" + #: src/melee.cpp msgid " disarms you!" msgstr "" @@ -193551,11 +199415,6 @@ msgid_plural "%d enemies hit!" msgstr[0] "" msgstr[1] "" -#: src/melee.cpp -#, c-format -msgid "You have learned %s from extensive practice with the CQB Bionic." -msgstr "" - #. ~ Adjective in "You block of the damage with your . #: src/melee.cpp msgid "all" @@ -193596,6 +199455,10 @@ msgstr "" msgid " blocks %1$s of the damage with their %2$s!" msgstr "" +#: src/melee.cpp src/player.cpp +msgid "You try to counterattack but you are too exhausted!" +msgstr "" + #: src/melee.cpp #, c-format msgid "You poison %s!" @@ -193877,7 +199740,7 @@ msgstr "" #. ~ someone hits something for %d damage (critical) #: src/melee.cpp #, c-format -msgid "%s for %d damage. Critical!" +msgid "%s for %d damage. Critical!" msgstr "" #. ~ NPC hits something @@ -195213,7 +201076,7 @@ msgstr "" #: src/messages.cpp #, c-format msgid "" -"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" +"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" "Examples:\n" " good:mutation\n" " :you pick up: 1\n" @@ -195283,7 +201146,7 @@ msgid "" msgstr "" #: src/mission_companion.cpp -msgid " hours] \n" +msgid " hours]\n" msgstr "" #: src/mission_companion.cpp @@ -195385,10 +201248,10 @@ msgid "" " ...O|....\n" "\n" "We're willing to let you purchase a field at a substantial discount to use " -"for your own agricultural enterprises. We'll plow it for you so you know " -"exactly what is yours... after you have a field you can hire workers to " -"plant or harvest crops for you. If the crop is something we have a demand " -"for, we'll be willing to liquidate it." +"for your own agricultural enterprises. We'll plow it for you so you know " +"exactly what is yours… after you have a field you can hire workers to plant " +"or harvest crops for you. If the crop is something we have a demand for, " +"we'll be willing to liquidate it." msgstr "" #: src/mission_companion.cpp @@ -195525,15 +201388,15 @@ msgid "" msgstr "" #: src/mission_companion.cpp -msgid " [READY] \n" +msgid " [READY]\n" msgstr "" #: src/mission_companion.cpp -msgid " [COMPLETE] \n" +msgid " [COMPLETE]\n" msgstr "" #: src/mission_companion.cpp -msgid " Hours] \n" +msgid " Hours]\n" msgstr "" #: src/mission_companion.cpp @@ -195553,36 +201416,36 @@ msgid "Recover Commune-Refugee Center" msgstr "" #: src/mission_companion.cpp -msgid "There are no missions at this colony. Press Spacebar..." +msgid "There are no missions at this colony. Press Spacebar…" msgstr "" #: src/mission_companion.cpp -msgid "joins the caravan team..." +msgid "joins the caravan team…" msgstr "" #: src/mission_companion.cpp -msgid "departs on the scavenging patrol..." +msgid "departs on the scavenging patrol…" msgstr "" #: src/mission_companion.cpp -msgid "departs on the scavenging raid..." +msgid "departs on the scavenging raid…" msgstr "" #: src/mission_companion.cpp -msgid "departs to work as a laborer..." +msgid "departs to work as a laborer…" msgstr "" #: src/mission_companion.cpp -msgid "departs to work as a carpenter..." +msgid "departs to work as a carpenter…" msgstr "" #: src/mission_companion.cpp -msgid "departs to forage for food..." +msgid "departs to forage for food…" msgstr "" #: src/mission_companion.cpp #, c-format -msgid "The caravan departs with an estimated total travel time of %d hours..." +msgid "The caravan departs with an estimated total travel time of %d hours…" msgstr "" #: src/mission_companion.cpp @@ -195608,7 +201471,7 @@ msgid "The caravan party has returned. Your share of the profits are $%d!" msgstr "" #: src/mission_companion.cpp -msgid "The caravan was a disaster and your companions never made it home..." +msgid "The caravan was a disaster and your companions never made it home…" msgstr "" #: src/mission_companion.cpp @@ -195636,7 +201499,7 @@ msgstr "" #, c-format msgid "" "After counting your money %s directs a nearby laborer to begin constructing " -"a fence around your plot..." +"a fence around your plot…" msgstr "" #: src/mission_companion.cpp @@ -195644,11 +201507,11 @@ msgid "You have no seeds to plant!" msgstr "" #: src/mission_companion.cpp -msgid "You have no room to plant seeds..." +msgid "You have no room to plant seeds…" msgstr "" #: src/mission_companion.cpp -msgid "I'm sorry, you don't have enough money to plant those seeds..." +msgid "I'm sorry, you don't have enough money to plant those seeds…" msgstr "" #: src/mission_companion.cpp @@ -195664,7 +201527,7 @@ msgid "" msgstr "" #: src/mission_companion.cpp -msgid "There aren't any plants that are ready to harvest..." +msgid "There aren't any plants that are ready to harvest…" msgstr "" #: src/mission_companion.cpp @@ -195672,13 +201535,13 @@ msgid "Which plants do you want to have harvested?" msgstr "" #: src/mission_companion.cpp -msgid "You decided to hold off for now..." +msgid "You decided to hold off for now…" msgstr "" #: src/mission_companion.cpp msgid "" "You don't have enough to pay the workers to harvest the crop so you are " -"forced to sell..." +"forced to sell…" msgstr "" #: src/mission_companion.cpp @@ -195688,19 +201551,19 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "The %s are sold for $%d..." +msgid "The %s are sold for $%d…" msgstr "" #: src/mission_companion.cpp #, c-format -msgid "You receive %d %s..." +msgid "You receive %d %s…" msgstr "" #: src/mission_companion.cpp #, c-format msgid "" "While scavenging, %s's party suddenly found itself set upon by a large mob " -"of undead..." +"of undead…" msgstr "" #: src/mission_companion.cpp @@ -195708,7 +201571,7 @@ msgid "Through quick thinking the group was able to evade combat!" msgstr "" #: src/mission_companion.cpp -msgid "Combat took place in close quarters, focusing on melee skills..." +msgid "Combat took place in close quarters, focusing on melee skills…" msgstr "" #: src/mission_companion.cpp @@ -195717,13 +201580,12 @@ msgid "Through brute force the party smashed through the group of %d undead!" msgstr "" #: src/mission_companion.cpp -msgid "Unfortunately they were overpowered by the undead... I'm sorry." +msgid "Unfortunately they were overpowered by the undead… I'm sorry." msgstr "" #: src/mission_companion.cpp #, c-format -msgid "" -"%s returns from patrol having earned $%d and a fair bit of experience..." +msgid "%s returns from patrol having earned $%d and a fair bit of experience…" msgstr "" #: src/mission_companion.cpp @@ -195742,7 +201604,7 @@ msgstr "" #: src/mission_companion.cpp #, c-format msgid "" -"%s returns from the raid having earned $%d and a fair bit of experience..." +"%s returns from the raid having earned $%d and a fair bit of experience…" msgstr "" #: src/mission_companion.cpp @@ -195754,7 +201616,7 @@ msgstr "" #, c-format msgid "" "%s returns from working as a laborer having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" #: src/mission_companion.cpp @@ -195766,7 +201628,7 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "While %s was framing a building one of the walls began to collapse..." +msgid "While %s was framing a building one of the walls began to collapse…" msgstr "" #: src/mission_companion.cpp @@ -195781,7 +201643,7 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "%s didn't make it out in time..." +msgid "%s didn't make it out in time…" msgstr "" #: src/mission_companion.cpp @@ -195790,7 +201652,7 @@ msgid "but %s was rescued from the debris with only minor injuries!" msgstr "" #: src/mission_companion.cpp -msgid "Everyone who was trapped under the collapsing roof died..." +msgid "Everyone who was trapped under the collapsing roof died…" msgstr "" #: src/mission_companion.cpp @@ -195801,12 +201663,12 @@ msgstr "" #, c-format msgid "" "%s returns from working as a carpenter having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" #: src/mission_companion.cpp #, c-format -msgid "While foraging, a beast began to stalk %s..." +msgid "While foraging, a beast began to stalk %s…" msgstr "" #: src/mission_companion.cpp @@ -195839,18 +201701,18 @@ msgstr "" #, c-format msgid "" "%s was able to hold off the first wolf but the others that were skulking in " -"the tree line caught up..." +"the tree line caught up…" msgstr "" #: src/mission_companion.cpp -msgid "I'm sorry, there wasn't anything we could do..." +msgid "I'm sorry, there wasn't anything we could do…" msgstr "" #: src/mission_companion.cpp #, c-format msgid "" -"We... we don't know what exactly happened but we found %s's gear ripped and " -"bloody..." +"We… we don't know what exactly happened but we found %s's gear ripped and " +"bloody…" msgstr "" #: src/mission_companion.cpp @@ -195861,7 +201723,7 @@ msgstr "" #, c-format msgid "" "%s returns from working as a forager having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" #: src/mission_companion.cpp @@ -195893,24 +201755,50 @@ msgid "Engagement between %d members of %s %s and %d members of %s %s%s!" msgstr "" #: src/mission_companion.cpp -msgid "You don't have any companions to send out..." +msgid "You don't have any companions to send out…" msgstr "" #: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" +msgid "Who do you want to send?" +msgstr "" + +#: src/mission_companion.cpp +msgid "[ COMBAT : SURVIVAL : INDUSTRY ]" msgstr "" +#. ~ %1$s: npc name #: src/mission_companion.cpp -msgid "You choose to send no one..." +#, c-format +msgctxt "companion" +msgid "%1$s (Guarding)" msgstr "" #: src/mission_companion.cpp -msgid "The companion you selected doesn't have the skills!" +#, c-format +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" msgstr "" +#. ~ %1$s: skill name, %2$d: companion skill level #: src/mission_companion.cpp -msgid "You don't have any companions ready to return..." +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d" +msgstr "" + +#. ~ %1$s: skill name, %2$d: companion skill level, %3$d: skill requirement +#: src/mission_companion.cpp +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d/%3$d" +msgstr "" + +#: src/mission_companion.cpp +msgid "You choose to send no one…" +msgstr "" + +#: src/mission_companion.cpp +msgid "You don't have any companions ready to return…" msgstr "" #: src/mission_companion.cpp @@ -195918,7 +201806,7 @@ msgid "Who should return?" msgstr "" #: src/mission_companion.cpp -msgid "No one returns to your party..." +msgid "No one returns to your party…" msgstr "" #: src/mission_end.cpp @@ -195950,16 +201838,16 @@ msgid "Download Software" msgstr "" #: src/mission_start.cpp -msgid "You don't know where the address could be..." +msgid "You don't know where the address could be…" msgstr "" #: src/mission_start.cpp -msgid "You mark the refugee center and the road that leads to it..." +msgid "You mark the refugee center and the road that leads to it…" msgstr "" #: src/mission_start.cpp msgid "" -"You mark the refugee center, but you have no idea how to get there by road..." +"You mark the refugee center, but you have no idea how to get there by road…" msgstr "" #: src/mission_start.cpp @@ -196036,7 +201924,7 @@ msgstr "" #: src/mission_util.cpp #, c-format -msgid "%s also marks the road that leads to it..." +msgid "%s also marks the road that leads to it…" msgstr "" #: src/mission_util.cpp @@ -196425,15 +202313,6 @@ msgstr "" msgid "The root walls creak around you." msgstr "" -#. ~ the sound of a fungus releasing spores -#. ~ That spore sound again -#. ~ the sound of a fungus dying -#. ~spore-release sound -#: src/monattack.cpp src/mondeath.cpp -#: src/player.cpp -msgid "Pouf!" -msgstr "" - #: src/monattack.cpp #, c-format msgid "Spores are released from the %s!" @@ -196485,7 +202364,7 @@ msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s seems to wave you toward the tower..." +msgid "The %s seems to wave you toward the tower…" msgstr "" #: src/monattack.cpp @@ -196500,7 +202379,7 @@ msgid "The %1$s sinks its point into your %2$s!" msgstr "" #: src/monattack.cpp -msgid "You feel thousands of live spores pumping into you..." +msgid "You feel thousands of live spores pumping into you…" msgstr "" #. ~ 1$s is monster name, 2$s bodypart in accusative @@ -196537,7 +202416,7 @@ msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s spreads its tendrils. It seems as though it's expecting you..." +msgid "The %s spreads its tendrils. It seems as though it's expecting you…" msgstr "" #: src/monattack.cpp @@ -196548,7 +202427,7 @@ msgstr "" #: src/monattack.cpp #, c-format msgid "" -"The %s works several tendrils into your arms, legs, torso, and even neck..." +"The %s works several tendrils into your arms, legs, torso, and even neck…" msgstr "" #: src/monattack.cpp @@ -196570,8 +202449,8 @@ msgstr "" #. ~ Beginning to hear the Mycus while conscious: this is it speaking #: src/monattack.cpp msgid "" -"assistance, on an arduous quest. unity. together we have reached the door. " -"now to pass through..." +"assistance, on an arduous quest. unity. together we have reached the " +"door. now to pass through…" msgstr "" #: src/monattack.cpp @@ -196594,7 +202473,7 @@ msgid "The %s takes aim, and spears at you with a massive tendril!" msgstr "" #: src/monattack.cpp -msgid "You feel millions of live spores pumping into you..." +msgid "You feel millions of live spores pumping into you…" msgstr "" #: src/monattack.cpp @@ -196752,7 +202631,7 @@ msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s tries to grab you..." +msgid "The %s tries to grab you…" msgstr "" #: src/monattack.cpp @@ -196805,6 +202684,10 @@ msgstr "" msgid "The %s young triffid grows into an adult!" msgstr "" +#: src/monattack.cpp +msgid "You feel a strange reverberation accross your body." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s stares at you, and you shudder." @@ -196896,11 +202779,11 @@ msgid "" msgstr "" #: src/monattack.cpp -msgid "Probably some now-obsolete Internal Affairs subroutine..." +msgid "Probably some now-obsolete Internal Affairs subroutine…" msgstr "" #: src/monattack.cpp -msgid "Ops used to do that in case you needed backup..." +msgid "Ops used to do that in case you needed backup…" msgstr "" #: src/monattack.cpp @@ -196933,7 +202816,7 @@ msgid "The %s takes your picture!" msgstr "" #: src/monattack.cpp -msgid "... database connection lost!" +msgid "…database connection lost!" msgstr "" #: src/monattack.cpp @@ -196993,7 +202876,7 @@ msgstr "" #. ~ Potential grenading detected. #: src/monattack.cpp -msgid "Those laser dots don't seem very friendly..." +msgid "Those laser dots don't seem very friendly…" msgstr "" #: src/monattack.cpp @@ -197041,23 +202924,23 @@ msgid "a police siren, whoop WHOOP" msgstr "" #: src/monattack.cpp -msgid "\"YOU... ARE FILTH...\"" +msgid "\"YOU… ARE FILTH…\"" msgstr "" #: src/monattack.cpp -msgid "\"VERMIN... YOU ARE VERMIN...\"" +msgid "\"VERMIN… YOU ARE VERMIN…\"" msgstr "" #: src/monattack.cpp -msgid "\"LEAVE NOW...\"" +msgid "\"LEAVE NOW…\"" msgstr "" #: src/monattack.cpp -msgid "\"WE... WILL FEAST... UPON YOU...\"" +msgid "\"WE… WILL FEAST… UPON YOU…\"" msgstr "" #: src/monattack.cpp -msgid "\"FOUL INTERLOPER...\"" +msgid "\"FOUL INTERLOPER…\"" msgstr "" #. ~ %1$s is the name of the zombie upgrading the other, %2$s is the zombie being upgraded. @@ -197245,12 +203128,12 @@ msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s slashes at your neck! You duck!" +msgid "The %s slashes at your neck! You duck!" msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s slashes at 's neck! They duck!" +msgid "The %s slashes at 's neck! They duck!" msgstr "" #: src/monattack.cpp @@ -197351,7 +203234,7 @@ msgid "but you grab its arm and flip it to the ground!" msgstr "" #: src/monattack.cpp -msgid "The flip does shock you..." +msgid "The flip does shock you…" msgstr "" #: src/monattack.cpp @@ -197359,7 +203242,8 @@ msgid "but you deftly spin out of its grasp!" msgstr "" #: src/monattack.cpp -msgid "Halt and submit to arrest, citizen! The police will be here any moment." +msgid "" +"Halt and submit to arrest, citizen! The police will be here any moment." msgstr "" #: src/monattack.cpp @@ -197488,7 +203372,7 @@ msgstr "" #. ~ 1$s is bodypart name in accusative, 2$d is damage value. #: src/monattack.cpp #, c-format -msgid "The zombie kicks your %1$s for %2$d damage..." +msgid "The zombie kicks your %1$s for %2$d damage…" msgstr "" #: src/monattack.cpp @@ -197591,6 +203475,11 @@ msgstr "" msgid "The %1$s hits 's %2$s, but glances off armor!" msgstr "" +#: src/monattack.cpp +#, c-format +msgid "The %1$s fuses with the %2$s." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s doots its trumpet!" @@ -197699,7 +203588,7 @@ msgid "The %s melts away." msgstr "" #: src/mondeath.cpp -msgid "Your obsession with the fault fades away..." +msgid "Your obsession with the fault fades away…" msgstr "" #: src/mondeath.cpp @@ -197788,11 +203677,6 @@ msgstr "" msgid "zombie slave" msgstr "" -#: src/monexamine.cpp src/player.cpp -#, c-format -msgid "What to do with your %s?" -msgstr "" - #: src/monexamine.cpp #, c-format msgid "Push %s" @@ -197973,22 +203857,22 @@ msgstr "" #: src/monexamine.cpp #, c-format msgid "" -"Welcome to the %s Friendship Interface. What would you like to do?\n" +"Welcome to the %s Friendship Interface. What would you like to do?\n" "Your current friendship will last: %s" msgstr "" #: src/monexamine.cpp -msgid "Get more friendship. 10 cents/min" +msgid "Get more friendship. 10 cents/min" msgstr "" #: src/monexamine.cpp -msgid "Sadly you're not currently able to extend your friendship. - Quit menu" +msgid "Sadly you're not currently able to extend your friendship. - Quit menu" msgstr "" #: src/monexamine.cpp #, c-format -msgid "How much friendship do you get? Max: %d minute. (0 to cancel) " -msgid_plural "How much friendship do you get? Max: %d minutes. " +msgid "How much friendship do you get? Max: %d minute. (0 to cancel)" +msgid_plural "How much friendship do you get? Max: %d minutes." msgstr[0] "" msgstr[1] "" @@ -198044,7 +203928,7 @@ msgstr "" #: src/monexamine.cpp #, c-format -msgid "%1$s is overburdened. You can't transfer your %2$s." +msgid "%1$s is overburdened. You can't transfer your %2$s." msgstr "" #: src/monexamine.cpp @@ -198194,22 +204078,27 @@ msgid "%1$s shoves %2$s out of their way!" msgstr "" #: src/monster.cpp +msgctxt "size adj" msgid "tiny" msgstr "" #: src/monster.cpp +msgctxt "size adj" msgid "small" msgstr "" #: src/monster.cpp +msgctxt "size adj" msgid "medium" msgstr "" #: src/monster.cpp +msgctxt "size adj" msgid "large" msgstr "" #: src/monster.cpp +msgctxt "size adj" msgid "huge" msgstr "" @@ -198274,6 +204163,16 @@ msgstr "" msgid "wearing %1$s" msgstr "" +#: src/monster.cpp +#, c-format +msgid "The %s" +msgstr "" + +#: src/monster.cpp +#, c-format +msgid "The %s's" +msgstr "" + #: src/monster.cpp #, c-format msgid "the %s's" @@ -198316,6 +204215,11 @@ msgstr "" msgid "Rider: %s" msgstr "" +#: src/monster.cpp +#, c-format +msgid " It is %s." +msgstr "" + #: src/monster.cpp msgid "Difficulty " msgstr "" @@ -198543,7 +204447,7 @@ msgid "You're envenomed!" msgstr "" #: src/monster.cpp -msgid "You feel venom flood your body, wracking you with pain..." +msgid "You feel venom flood your body, wracking you with pain…" msgstr "" #: src/monster.cpp @@ -198681,6 +204585,14 @@ msgstr "" msgid "Total morale:" msgstr "" +#: src/morale.cpp +msgid "Pain level:" +msgstr "" + +#: src/morale.cpp +msgid "Fatigue level:" +msgstr "" + #: src/morale.cpp msgid "Focus trends towards:" msgstr "" @@ -198755,7 +204667,7 @@ msgstr "" #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp -msgid "wow! you look just like me! we should look out for each other!" +msgid "wow! you look just like me! we should look out for each other!" msgstr "" #. ~ Usual enthusiastic slimespring small voices! :D @@ -198790,7 +204702,7 @@ msgid "Bionic power storage increased by 100." msgstr "" #: src/mutation.cpp -msgid "You feel something straining deep inside you, yearning to be free..." +msgid "You feel something straining deep inside you, yearning to be free…" msgstr "" #: src/mutation.cpp @@ -198918,7 +204830,7 @@ msgid "Suffered a toxic marloss/mutagen reaction." msgstr "" #: src/mutation.cpp -msgid "Something strains mightily for a moment... and then... you're... FREE!" +msgid "Something strains mightily for a moment… and then… you're… FREE!" msgstr "" #: src/mutation.cpp @@ -198936,7 +204848,7 @@ msgid "You stagger with a piercing headache!" msgstr "" #: src/mutation.cpp -msgid "Your head throbs with memories of your life, before all this..." +msgid "Your head throbs with memories of your life, before all this…" msgstr "" #: src/mutation.cpp @@ -198954,7 +204866,7 @@ msgid "Crossed a threshold" msgstr "" #: src/mutation_data.cpp -msgid "Oh, yeah! That's the stuff!" +msgid "Oh, yeah! That's the stuff!" msgstr "" #: src/mutation_ui.cpp @@ -199040,7 +204952,7 @@ msgstr "" #: src/mutation_ui.cpp #, c-format msgid "" -"Invalid mutation letter. Only those characters are valid:\n" +"Invalid mutation letter. Only those characters are valid:\n" "\n" "%s" msgstr "" @@ -199065,14 +204977,14 @@ msgstr "" msgid "Tom" msgstr "" -#. ~ Used for constructing full name: %1$s is `family name`, %2$s is `given name` +#. ~ Used for constructing full name: %1$s is `given name`, %2$s is `family name` #: src/name.cpp #, c-format msgctxt "Full Name" msgid "%1$s %2$s" msgstr "" -#. ~ Used for constructing full name with nickname: %1$s is `family name`, %2$s is `given name`, %3$s is `nickname` +#. ~ Used for constructing full name with nickname: %1$s is `given name`, %2$s is `family name`, %3$s is `nickname` #: src/name.cpp #, c-format msgctxt "Full Name" @@ -199097,7 +205009,7 @@ msgstr "" #: src/newcharacter.cpp src/player.cpp #, c-format -msgid "Select a style. (press %s for more info)" +msgid "Select a style. (press %s for more info)" msgstr "" #: src/newcharacter.cpp @@ -199131,12 +205043,12 @@ msgstr "" #: src/newcharacter.cpp #: src/player_display.cpp -msgid "TRAITS" +msgid "STATS" msgstr "" #: src/newcharacter.cpp #: src/player_display.cpp -msgid "STATS" +msgid "TRAITS" msgstr "" #: src/newcharacter.cpp @@ -199530,8 +205442,7 @@ msgstr[0] "" msgstr[1] "" #: src/newcharacter.cpp -msgid "" -"This scenario is not available in this world due to city size settings. " +msgid "This scenario is not available in this world due to city size settings." msgstr "" #: src/newcharacter.cpp @@ -199691,7 +205602,7 @@ msgid "_______NO NAME ENTERED!_______" msgstr "" #: src/newcharacter.cpp -msgid "Are you SURE you're finished? Your name will be randomly generated." +msgid "Are you SURE you're finished? Your name will be randomly generated." msgstr "" #: src/newcharacter.cpp src/worldfactory.cpp @@ -199937,7 +205848,7 @@ msgstr "" msgid "%s disappears." msgstr "" -#: src/npc.cpp src/player.cpp +#: src/npc.cpp src/suffer.cpp #, c-format msgid "%s dies!" msgstr "" @@ -200129,7 +206040,7 @@ msgid "Hold still %s, I'm coming to help you." msgstr "" #: src/npcmove.cpp -msgid "Don't move a muscle..." +msgid "Don't move a muscle…" msgstr "" #: src/npcmove.cpp @@ -200228,8 +206139,7 @@ msgstr "" #: src/npcmove.cpp #, c-format -msgid "" -"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" +msgid "From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" msgstr "" #: src/npcmove.cpp @@ -200239,7 +206149,7 @@ msgstr "" #: src/npcmove.cpp #, c-format -msgid "My %s wound is infected..." +msgid "My %s wound is infected…" msgstr "" #: src/npcmove.cpp @@ -200252,7 +206162,7 @@ msgid "" msgstr "" #: src/npcmove.cpp -msgid "I'm suffering from radiation sickness..." +msgid "I'm suffering from radiation sickness…" msgstr "" #: src/npcmove.cpp @@ -200372,7 +206282,7 @@ msgid "Talk to %s" msgstr "" #: src/npctalk.cpp -msgid "Talk to ..." +msgid "Talk to…" msgstr "" #: src/npctalk.cpp @@ -200397,7 +206307,7 @@ msgid "Tell %s to follow" msgstr "" #: src/npctalk.cpp -msgid "Tell someone to follow..." +msgid "Tell someone to follow…" msgstr "" #: src/npctalk.cpp @@ -200406,7 +206316,7 @@ msgid "Tell %s to guard" msgstr "" #: src/npctalk.cpp -msgid "Tell someone to guard..." +msgid "Tell someone to guard…" msgstr "" #: src/npctalk.cpp @@ -200430,7 +206340,7 @@ msgid "Tell everyone on your team to relax (Clear Overrides)" msgstr "" #: src/npctalk.cpp -msgid "Tell everyone on your team to temporarily..." +msgid "Tell everyone on your team to temporarily…" msgstr "" #: src/npctalk.cpp @@ -200528,7 +206438,8 @@ msgstr "" #: src/npctalk.cpp #, c-format -msgid "&You are deaf and can't talk. When you don't respond, %s becomes angry!" +msgid "" +"&You are deaf and can't talk. When you don't respond, %s becomes angry!" msgstr "" #: src/npctalk.cpp @@ -200560,7 +206471,7 @@ msgid "Sorry, but it doesn't seem I have anything to teach you." msgstr "" #: src/npctalk.cpp -msgid "Here's what I can teach you..." +msgid "Here's what I can teach you…" msgstr "" #: src/npctalk.cpp @@ -200678,6 +206589,16 @@ msgstr "" msgid "Yes, let's resume training " msgstr "" +#: src/npctalk.cpp +#, c-format +msgid "%s: 1 hour lesson (cost %s)" +msgstr "" + +#: src/npctalk.cpp +#, c-format +msgid "%s: teaching spell knowledge (cost %s)" +msgstr "" + #. ~Martial art style (cost in dollars) #: src/npctalk.cpp #, c-format @@ -200692,7 +206613,7 @@ msgstr "" #: src/npctalk.cpp #, c-format -msgid "%s: %d (%d%%) -> %d" +msgid "%s: %d (%d%%) -> %d (%d%%)" msgstr "" #: src/npctalk.cpp @@ -200726,7 +206647,7 @@ msgstr "" #: src/npctalk.cpp msgctxt "punctuation" -msgid "..." +msgid "…" msgstr "" #: src/npctalk.cpp @@ -200771,7 +206692,7 @@ msgid "%s: %s" msgstr "" #: src/npctalk.cpp -msgid "You'll be helpless! Proceed?" +msgid "You'll be helpless! Proceed?" msgstr "" #: src/npctalk.cpp @@ -200831,11 +206752,11 @@ msgid "You learn how to craft %s." msgstr "" #: src/npctalk.cpp -msgid "I don't trust you enough to eat THIS..." +msgid "I don't trust you enough to eat THIS…" msgstr "" #: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this..." +msgid "It doesn't look like a good idea to consume this…" msgstr "" #: src/npctalk.cpp @@ -200843,10 +206764,6 @@ msgstr "" msgid "I need a %s to consume that!" msgstr "" -#: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this.." -msgstr "" - #: src/npctalk.cpp msgid "Offer what?" msgstr "" @@ -200868,7 +206785,7 @@ msgid "Are you insane!?" msgstr "" #: src/npctalk.cpp -msgid "Here we go..." +msgid "Here we go…" msgstr "" #: src/npctalk.cpp @@ -200894,7 +206811,7 @@ msgid "I can only store %s %s more." msgstr "" #: src/npctalk.cpp -msgid "...or to store anything else for that matter." +msgid "…or to store anything else for that matter." msgstr "" #: src/npctalk.cpp @@ -200924,6 +206841,11 @@ msgstr "" msgid "My current location" msgstr "" +#: src/npctalk_funcs.cpp +#, c-format +msgid "That is not a valid destination for %s." +msgstr "" + #: src/npctalk_funcs.cpp #, c-format msgid "%1$s is assigned to %2$s" @@ -200945,7 +206867,7 @@ msgid "You start a fight with %s!" msgstr "" #: src/npctalk_funcs.cpp -msgid "You don't have any bionics installed..." +msgid "You don't have any bionics installed…" msgstr "" #: src/npctalk_funcs.cpp @@ -200953,11 +206875,7 @@ msgid "Which bionic do you wish to uninstall?" msgstr "" #: src/npctalk_funcs.cpp -msgid "You decide to hold off..." -msgstr "" - -#: src/npctalk_funcs.cpp -msgid "You can't afford the procedure..." +msgid "You decide to hold off…" msgstr "" #: src/npctalk_funcs.cpp @@ -200979,7 +206897,7 @@ msgid "Choose a new facial hair style" msgstr "" #: src/npctalk_funcs.cpp -msgid "Actually... I've changed my mind." +msgid "Actually… I've changed my mind." msgstr "" #: src/npctalk_funcs.cpp @@ -200988,17 +206906,17 @@ msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent haircut..." +msgid "%s gives you a decent haircut…" msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent shave..." +msgid "%s gives you a decent shave…" msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "That was a pleasant conversation with %s..." +msgid "That was a pleasant conversation with %s…" msgstr "" #: src/npctalk_funcs.cpp @@ -201008,7 +206926,7 @@ msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s drops the logs off in the garage..." +msgid "%s drops the logs off in the garage…" msgstr "" #: src/npctalk_funcs.cpp @@ -201026,6 +206944,11 @@ msgstr "" msgid "%s leaves." msgstr "" +#: src/npctalk_funcs.cpp +#, c-format +msgid "%s stops following." +msgstr "" + #: src/npctalk_funcs.cpp #, c-format msgid "%s feels less threatened by you." @@ -201085,6 +207008,11 @@ msgstr "" msgid "Examine which item?" msgstr "" +#: src/npctrade.cpp +#, c-format +msgid "Trade how many containers with %s [MAX: %d]: " +msgstr "" + #: src/npctrade.cpp #, c-format msgid "Trade how many %s [MAX: %d]: " @@ -201107,14 +207035,14 @@ msgstr "" #: src/npctrade.cpp #, c-format msgid "" -"I'm never going to be able to pay you back for all that. The most I'm " +"I'm never going to be able to pay you back for all that. The most I'm " "willing to owe you is %s.\n" "\n" "Continue with trade?" msgstr "" #: src/npctrade.cpp -msgid "Looks like a deal! Accept this trade?" +msgid "Looks like a deal! Accept this trade?" msgstr "" #: src/npctrade.h @@ -201393,7 +207321,7 @@ msgstr "" #: src/options.cpp msgid "" -"Number of turns after which safe mode is reactivated. Will only reactivate " +"Number of turns after which safe mode is reactivated. Will only reactivate " "if no hostiles are in 'Safe mode proximity distance.'" msgstr "" @@ -201489,8 +207417,8 @@ msgstr "" #: src/options.cpp msgid "" -"Set to drop empty containers after use. No: Don't drop any. - Watertight: " -"All except watertight containers. - All: Drop all containers." +"Set to drop empty containers after use. No: Don't drop any. - Watertight: " +"All except watertight containers. - All: Drop all containers." msgstr "" #: src/options.cpp @@ -201656,11 +207584,11 @@ msgid "If true, automatically follow the crosshair when firing/throwing." msgstr "" #: src/options.cpp -msgid "Query on disassembly" +msgid "Query on disassembly while butchering" msgstr "" #: src/options.cpp -msgid "If true, will query before disassembling items." +msgid "If true, will query before disassembling items while butchering." msgstr "" #: src/options.cpp @@ -201930,9 +207858,9 @@ msgstr "" #: src/options.cpp msgid "" -"Enabled: automatically assign letters to any carried items that lack them. " -"Disabled: do not auto-assign letters. Favorites: only auto-assign letters to " -"favorited items." +"Enabled: automatically assign letters to any carried items that lack them. " +"Disabled: do not auto-assign letters. Favorites: only auto-assign letters " +"to favorited items." msgstr "" #: src/options.cpp @@ -202295,7 +208223,7 @@ msgstr "" msgid "Display" msgstr "" -#: src/options.cpp +#: src/options.cpp src/sdltiles.cpp msgid "" "Sets which video display will be used to show the game. Requires restart." msgstr "" @@ -202381,7 +208309,7 @@ msgid "Scaling factor" msgstr "" #: src/options.cpp -msgid "Factor by which to scale the display. Requires restart." +msgid "Factor by which to scale the display. Requires restart." msgstr "" #: src/options.cpp @@ -202654,8 +208582,8 @@ msgstr "" #: src/options.cpp msgid "" -"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can " -"be overridden by scenarios. This does not advance food rot or monster " +"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can " +"be overridden by scenarios. This does not advance food rot or monster " "evolution." msgstr "" @@ -202665,9 +208593,9 @@ msgstr "" #: src/options.cpp msgid "" -"How many days after the cataclysm the player spawns. Day 0 is the day of the " -"cataclysm. Can be overridden by scenarios. Increasing this will cause food " -"rot and monster evolution to advance." +"How many days after the cataclysm the player spawns. Day 0 is the day of " +"the cataclysm. Can be overridden by scenarios. Increasing this will cause " +"food rot and monster evolution to advance." msgstr "" #: src/options.cpp @@ -202726,7 +208654,7 @@ msgstr "" #: src/options.cpp msgid "" -"If true, static NPCs will spawn at pre-defined locations. Requires world " +"If true, static NPCs will spawn at pre-defined locations. Requires world " "reset." msgstr "" @@ -203239,7 +209167,7 @@ msgid "options" msgstr "" #: src/output.cpp -msgid "Press any key for more..." +msgid "Press any key for more…" msgstr "" #: src/output.cpp @@ -203398,7 +209326,7 @@ msgstr "" #: src/overmap_ui.cpp #, c-format msgid "" -"LEVEL %i, %d'%d, %d'%d : %s (Distance: %dLEVEL %i, %d'%d, %d'%d: %s (Distance: %d)" msgstr "" @@ -203733,11 +209661,6 @@ msgstr "" msgid "Freezing!" msgstr "" -#: src/panels.cpp -msgctxt "energy unit: kilojoule" -msgid "kJ" -msgstr "" - #: src/panels.cpp msgid "Bad" msgstr "" @@ -203917,6 +209840,7 @@ msgstr "" msgid "Underground" msgstr "" +#. ~ translation should not exceed 5 console cells #: src/panels.cpp msgid "Wind" msgstr "" @@ -203978,10 +209902,6 @@ msgstr "" msgid "Weapon :" msgstr "" -#: src/panels.cpp -msgid "No Style" -msgstr "" - #: src/panels.cpp msgid "Day " msgstr "" @@ -203994,10 +209914,12 @@ msgstr "" msgid "to open sidebar options" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/panels.cpp msgid "Mana" msgstr "" +#. ~ translation should not exceed 9 console cells #: src/panels.cpp msgid "Max Mana" msgstr "" @@ -204254,75 +210176,6 @@ msgstr "" msgid "You have learned a new style: %s!" msgstr "" -#: src/player.cpp -#, c-format -msgid "Your %s will be frostnipped in the next few hours." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten within the hour!" -msgstr "" - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten any minute now!" -msgstr "" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s beginning to go numb from the cold!" -msgstr "" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very cold." -msgstr "" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting chilly." -msgstr "" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting red hot from the heat!" -msgstr "" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very hot." -msgstr "" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting warm." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "The wind is making your %s feel quite cold." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "" -"The wind is very strong, you should find some more wind-resistant clothing " -"for your %s." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "" -"Your clothing is not providing enough protection from the wind for your %s!" -msgstr "" - #: src/player.cpp msgid "You roll on the ground, trying to smother the fire!" msgstr "" @@ -204339,50 +210192,6 @@ msgstr "" msgid " attempts to put out the fire on them!" msgstr "" -#: src/player.cpp -msgid "You set your mech's leg power to a loping fast walk." -msgstr "" - -#: src/player.cpp -msgid "You nudge your steed into a steady trot." -msgstr "" - -#: src/player.cpp -msgid "You start walking." -msgstr "" - -#: src/player.cpp -msgid "You set the power of your mech's leg servos to maximum." -msgstr "" - -#: src/player.cpp -msgid "You spur your steed into a gallop." -msgstr "" - -#: src/player.cpp -msgid "You start running." -msgstr "" - -#: src/player.cpp -msgid "Your steed is too tired to go faster." -msgstr "" - -#: src/player.cpp -msgid "You're too tired to run." -msgstr "" - -#: src/player.cpp -msgid "You reduce the power of your mech's leg servos to minimum." -msgstr "" - -#: src/player.cpp -msgid "You slow your steed to a walk." -msgstr "" - -#: src/player.cpp -msgid "You start crouching." -msgstr "" - #: src/player.cpp #, c-format msgid "Your ground sonar detected a %1$s to the %2$s!" @@ -204458,15 +210267,6 @@ msgstr "" msgid "You lose your balance while being hit!" msgstr "" -#: src/player.cpp -#, c-format -msgid "You were attacked by %s!" -msgstr "" - -#: src/player.cpp -msgid "You were hurt!" -msgstr "" - #: src/player.cpp msgid "A snake sprouts from your body!" msgstr "" @@ -204558,7 +210358,7 @@ msgid "You are slammed against %s!" msgstr "" #: src/player.cpp -msgid "...but your shock absorbers negate the damage!" +msgid "…but your shock absorbers negate the damage!" msgstr "" #: src/player.cpp @@ -204616,7 +210416,7 @@ msgid "You have starved to death." msgstr "" #: src/player.cpp -msgid "Food..." +msgid "Food…" msgstr "" #: src/player.cpp @@ -204626,11 +210426,11 @@ msgstr "" #: src/player.cpp msgid "" "Despite having something in your stomach, you still feel like you haven't " -"eaten in days..." +"eaten in days…" msgstr "" #: src/player.cpp -msgid "Your stomach feels so empty..." +msgid "Your stomach feels so empty…" msgstr "" #: src/player.cpp @@ -204650,7 +210450,7 @@ msgid "You have died of dehydration." msgstr "" #: src/player.cpp -msgid "Even your eyes feel dry..." +msgid "Even your eyes feel dry…" msgstr "" #: src/player.cpp @@ -204658,7 +210458,7 @@ msgid "You are THIRSTY!" msgstr "" #: src/player.cpp -msgid "Your mouth feels so dry..." +msgid "Your mouth feels so dry…" msgstr "" #: src/player.cpp @@ -204666,7 +210466,7 @@ msgid "Survivor sleep now." msgstr "" #: src/player.cpp -msgid "Anywhere would be a good place to sleep..." +msgid "Anywhere would be a good place to sleep…" msgstr "" #: src/player.cpp @@ -204686,7 +210486,7 @@ msgid "*yawn* You should really get some sleep." msgstr "" #: src/player.cpp -msgid "Your mind feels tired. It's been a while since you've slept well." +msgid "Your mind feels tired. It's been a while since you've slept well." msgstr "" #: src/player.cpp @@ -204697,14 +210497,14 @@ msgstr "" #: src/player.cpp msgid "" -"Your mind feels weary, and you dread every wakeful minute that passes. You " +"Your mind feels weary, and you dread every wakeful minute that passes. You " "crave sleep, and feel like you're about to collapse." msgstr "" #: src/player.cpp msgid "" "You haven't slept decently for so long that your whole body is screaming for " -"mercy. It's a miracle that you're still awake, but it just feels like a " +"mercy. It's a miracle that you're still awake, but it just feels like a " "curse now." msgstr "" @@ -204746,14 +210546,6 @@ msgstr "" msgid "There is not enough %s left to siphon it." msgstr "" -#: src/player.cpp -msgid "You cough heavily." -msgstr "" - -#: src/player.cpp -msgid "a hacking cough." -msgstr "" - #: src/player.cpp msgid "Your body is wracked with excruciating pain!" msgstr "" @@ -204799,11 +210591,6 @@ msgstr "" msgid "Your %s aches." msgstr "" -#: src/player.cpp -#, c-format -msgid "Your current health value is %d." -msgstr "" - #: src/player.cpp #, c-format msgid "Your %s HURTS!" @@ -204830,421 +210617,6 @@ msgstr "" msgid "Your bowels gurgle as something inside them dies." msgstr "" -#: src/player.cpp -#, c-format -msgid "You're too malnourished to keep your %s going." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You're too dehydrated to keep your %s going." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You're too exhausted to keep your %s going." -msgstr "" - -#: src/player.cpp -msgid "You're drowning!" -msgstr "" - -#: src/player.cpp -msgid "You shed a tooth!" -msgstr "" - -#. ~Sound of buzzing Insect Wings -#: src/player.cpp -msgid "BZZZZZ" -msgstr "" - -#: src/player.cpp -msgid "You suddenly feel numb." -msgstr "" - -#: src/player.cpp -msgid "You suddenly ache." -msgstr "" - -#: src/player.cpp -msgid "You feel dizzy for a moment." -msgstr "" - -#: src/player.cpp -msgid "You suddenly feel hungry." -msgstr "" - -#: src/player.cpp -msgid "You suddenly feel a little full." -msgstr "" - -#: src/player.cpp -msgid "You suddenly feel thirsty." -msgstr "" - -#: src/player.cpp -msgid "You feel fatigued all of a sudden." -msgstr "" - -#: src/player.cpp -msgid "You suddenly feel very cold." -msgstr "" - -#: src/player.cpp -msgid "You suddenly feel cold." -msgstr "" - -#: src/player.cpp -msgid "You suddenly feel very hot." -msgstr "" - -#: src/player.cpp -msgid "You suddenly feel hot." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "%1$s gets angry!" -msgstr "" - -#: src/player.cpp -#, c-format -msgid "%1$s says: \"%2$s\"" -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You increase %1$s to level %2$d." -msgstr "" - -#. ~ %1$s: weapon name -#: src/player.cpp -#, c-format -msgid "Your %1$s" -msgstr "" - -#: src/player.cpp -msgid "You suddenly feel so numb..." -msgstr "" - -#: src/player.cpp -msgid "You start to shake uncontrollably." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "yourself shout, %s" -msgstr "" - -#. ~ %1$s: weapon name -#: src/player.cpp -#, c-format -msgid "your %1$s" -msgstr "" - -#: src/player.cpp -msgid "You're suddenly overcome with the urge to sleep and you pass out." -msgstr "" - -#: src/player.cpp -msgid "You have an asthma attack!" -msgstr "" - -#: src/player.cpp -msgid "You use your Oxygenator to clear it up, then go back to sleep." -msgstr "" - -#: src/player.cpp -msgid "You use your inhaler and go back to sleep." -msgstr "" - -#: src/player.cpp -msgid "You take a deep breath from your oxygen tank and go back to sleep." -msgstr "" - -#: src/player.cpp -msgid "You can't focus while choking!" -msgstr "" - -#: src/player.cpp -msgid "You use your last inhaler charge." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You use your inhaler, only %d charge left." -msgid_plural "You use your inhaler, only %d charges left." -msgstr[0] "" -msgstr[1] "" - -#: src/player.cpp -msgid "You breathe in last bit of oxygen from the tank." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You take a deep breath from your oxygen tank, only %d charge left." -msgid_plural "" -"You take a deep breath from your oxygen tank, only %d charges left." -msgstr[0] "" -msgstr[1] "" - -#: src/player.cpp -#, c-format -msgid "%s and other body parts" -msgstr "" - -#: src/player.cpp -#, c-format -msgid "The sunlight is really irritating your %s." -msgstr "" - -#: src/player.cpp -msgid "The sunlight is really irritating your eyes." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "Your %s is damaged by the water." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "'s %s is damaged by the water." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "Your %s is healed by the water." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "'s %s is healed by the water." -msgstr "" - -#: src/player.cpp -msgid "The sunlight burns your skin!" -msgstr "" - -#: src/player.cpp -msgid "The sunlight distracts you." -msgstr "" - -#: src/player.cpp -msgid "You can't stand the sunlight!" -msgstr "" - -#: src/player.cpp -msgid "Suddenly, you can't hear anything!" -msgstr "" - -#: src/player.cpp -msgid "Suddenly, your eyes stop working!" -msgstr "" - -#: src/player.cpp -msgid "Your visual centers must be acting up..." -msgstr "" - -#: src/player.cpp -msgid "You feel an anomalous sensation coming from your radiation sensors." -msgstr "" - -#: src/player.cpp -msgid "Your chest burns as your power systems overload!" -msgstr "" - -#: src/player.cpp -msgid "You suffer a painful electrical discharge!" -msgstr "" - -#: src/player.cpp -#, c-format -msgid "The %s seems to be affected by the discharge." -msgstr "" - -#: src/player.cpp -msgid "You suffer a burning acidic discharge!" -msgstr "" - -#: src/player.cpp -msgid "Your batteries discharge slightly." -msgstr "" - -#: src/player.cpp -msgid "A bionic emits a crackle of noise!" -msgstr "" - -#: src/player.cpp -msgid "You feel your faulty bionic shuddering." -msgstr "" - -#: src/player.cpp -msgid "Crackle!" -msgstr "" - -#: src/player.cpp -msgid "Your vision pixelates!" -msgstr "" - -#: src/player.cpp -msgid "Your malfunctioning bionic causes you to spasm and fall to the floor!" -msgstr "" - -#: src/player.cpp -msgid "Your bionics short-circuit, causing you to tremble and shiver." -msgstr "" - -#: src/player.cpp -msgid "Your malfunctioning bionic itches!" -msgstr "" - -#: src/player.cpp -msgid "Your malfunctioning bionic starts to glow!" -msgstr "" - -#: src/player.cpp -msgid "Your muscles spasm!" -msgstr "" - -#: src/player.cpp -msgid "You fall to the ground!" -msgstr "" - -#: src/player.cpp -msgid "You feel short of breath." -msgstr "" - -#: src/player.cpp -msgid "You shake uncontrollably." -msgstr "" - -#: src/player.cpp -msgid "You feel nauseous..." -msgstr "" - -#: src/player.cpp -msgid "You black out!" -msgstr "" - -#: src/player.cpp -msgid "Your breathing slows down." -msgstr "" - -#: src/player.cpp -msgid "You stumble and fall over!" -msgstr "" - -#: src/player.cpp -msgid "You feel tired..." -msgstr "" - -#: src/player.cpp -msgid "You tiredly rub your eyes." -msgstr "" - -#: src/player.cpp -msgid " tiredly rubs their eyes." -msgstr "" - -#: src/player.cpp -msgid "You let out a small yawn." -msgstr "" - -#: src/player.cpp -msgid " lets out a small yawn." -msgstr "" - -#: src/player.cpp -msgid "You stretch your back." -msgstr "" - -#: src/player.cpp -msgid " streches their back." -msgstr "" - -#: src/player.cpp -msgid "You feel mentally tired." -msgstr "" - -#: src/player.cpp -msgid " lets out a huge yawn." -msgstr "" - -#: src/player.cpp -msgid "You feel lightheaded for a moment." -msgstr "" - -#: src/player.cpp -msgid "Your muscles spasm uncomfortably." -msgstr "" - -#: src/player.cpp -msgid "Your vision blurs a little." -msgstr "" - -#: src/player.cpp -msgid "Your mind lapses into unawareness briefly." -msgstr "" - -#: src/player.cpp -msgid "Your muscles ache in stressfully unpredictable ways." -msgstr "" - -#: src/player.cpp -msgid "You have a distractingly painful headache." -msgstr "" - -#: src/player.cpp -msgid "You feel heartburn and an acid taste in your mouth." -msgstr "" - -#: src/player.cpp -msgid "Your mind is so tired that you feel you can't trust your eyes anymore." -msgstr "" - -#: src/player.cpp -msgid "" -"Your muscles spasm uncontrollably, and you have trouble keeping your balance." -msgstr "" - -#: src/player.cpp -msgid "Your shaking legs make you stumble." -msgstr "" - -#: src/player.cpp -msgid " stumbles." -msgstr "" - -#: src/player.cpp -msgid " falls over!" -msgstr "" - -#: src/player.cpp -msgid "You fall over!" -msgstr "" - -#: src/player.cpp -#, c-format -msgid "Your radiation badge changes from %1$s to %2$s!" -msgstr "" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "Your %s has started to mend!" -msgstr "" - -#: src/player.cpp src/sounds.cpp -#, c-format -msgid "From the %1$s you hear %2$s" -msgstr "" - -#: src/player.cpp -msgid "You feel the water burning your skin." -msgstr "" - #: src/player.cpp msgid "Your cloaking flickers for a moment!" msgstr "" @@ -205287,10 +210659,6 @@ msgstr "" msgid "%c - %d empty %s" msgstr "" -#: src/player.cpp -msgid "You sink your roots into the soil." -msgstr "" - #: src/player.cpp src/veh_interact.cpp #, c-format msgid "Refill %s" @@ -205449,22 +210817,21 @@ msgid "Can't wield spilt liquids." msgstr "" #: src/player.cpp -msgid "Something you are wearing hinders the use of both hands." +msgid "You need at least one arm to even consider wielding something." msgstr "" #: src/player.cpp -#, c-format -msgid "The %s can't be wielded with only one arm." +msgid "Something you are wearing hinders the use of both hands." msgstr "" #: src/player.cpp #, c-format -msgid "You are too weak to wield %s with only one arm." +msgid "The %s can't be wielded with only one arm." msgstr "" #: src/player.cpp #, c-format -msgid "You cannot unwield your %s." +msgid "You are too weak to wield %s with only one arm." msgstr "" #: src/player.cpp @@ -205540,18 +210907,42 @@ msgstr "" msgid "Mend which fault?" msgstr "" -#: src/player.cpp src/veh_interact.cpp -msgid "Time required:\n" +#: src/player.cpp +#, c-format +msgid "Turns into: %s\n" msgstr "" #: src/player.cpp -msgid "Skills:\n" +#, c-format +msgid "Time required: %s\n" msgstr "" -#. ~ %1$s represents the internal color name which shouldn't be translated, %2$s is skill name, and %3$i is skill level +#: src/player.cpp +msgid "Skills: none\n" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "Skills: %s\n" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level #: src/player.cpp #, c-format -msgid "> %2$s %3$i\n" +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level +#: src/player.cpp +#, c-format +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "You are currently unable to mend the %s this way." msgstr "" #: src/player.cpp @@ -205578,12 +210969,12 @@ msgstr "" #: src/player.cpp #, c-format -msgid "Your %s are very encumbered! %s" +msgid "Your %s are very encumbered! %s" msgstr "" #: src/player.cpp #, c-format -msgid "Your %s is very encumbered! %s" +msgid "Your %s is very encumbered! %s" msgstr "" #: src/player.cpp @@ -205592,12 +210983,12 @@ msgstr "" #: src/player.cpp #, c-format -msgid "This %s is too big to wear comfortably! Maybe it could be refitted..." +msgid "This %s is too big to wear comfortably! Maybe it could be refitted…" msgstr "" #: src/player.cpp #, c-format -msgid "This %s is too small to wear comfortably! Maybe it could be refitted..." +msgid "This %s is too small to wear comfortably! Maybe it could be refitted…" msgstr "" #: src/player.cpp @@ -205666,14 +211057,6 @@ msgstr "" msgid " takes off their %s." msgstr "" -#: src/player.cpp -msgid "You can't place items here!" -msgstr "" - -#: src/player.cpp -msgid " can't place items here!" -msgstr "" - #: src/player.cpp #, c-format msgid "You put the %s in your inventory." @@ -205721,20 +211104,6 @@ msgstr "" msgid "You can't remove partially depleted plutonium!" msgstr "" -#: src/player.cpp -#, c-format -msgid "Your %s needs %d charge from some UPS." -msgid_plural "Your %s needs %d charges from some UPS." -msgstr[0] "" -msgstr[1] "" - -#: src/player.cpp -#, c-format -msgid "Your %s has %d charge but needs %d." -msgid_plural "Your %s has %d charges but needs %d." -msgstr[0] "" -msgstr[1] "" - #. ~ %1$s - gunmod, %2$s - gun. #: src/player.cpp #, c-format @@ -205775,7 +211144,7 @@ msgid "It's impossible to sleep in this wheeled pot!" msgstr "" #: src/player.cpp -msgid "The humans' furniture blocks your roots. You can't get comfortable." +msgid "The humans' furniture blocks your roots. You can't get comfortable." msgstr "" #: src/player.cpp @@ -205789,7 +211158,7 @@ msgid "" msgstr "" #: src/player.cpp -msgid "These thick webs support your weight, and are strangely comfortable..." +msgid "These thick webs support your weight, and are strangely comfortable…" msgstr "" #: src/player.cpp @@ -205811,11 +211180,11 @@ msgstr "" #: src/player.cpp msgid "" -"You lay beneath the waves' embrace, gazing up through the water's surface..." +"You lay beneath the waves' embrace, gazing up through the water's surface…" msgstr "" #: src/player.cpp -msgid "You settle into the water and begin to drowse..." +msgid "You settle into the water and begin to drowse…" msgstr "" #: src/player.cpp @@ -205869,34 +211238,6 @@ msgstr "" msgid "Your soporific inducer starts back up." msgstr "" -#: src/player.cpp -msgid "You nestle your pile of clothes for warmth." -msgstr "" - -#: src/player.cpp -msgid "You use your pile of clothes for warmth." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You snuggle your %s to keep warm." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You use your %s to keep warm." -msgstr "" - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Entered hibernation." -msgstr "" - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Entered hibernation." -msgstr "" - #: src/player.cpp #, c-format msgid "Your skill in %s has increased to %d!" @@ -205912,10 +211253,6 @@ msgstr "" msgid "This task is too simple to train your %s beyond %d." msgstr "" -#: src/player.cpp -msgid "You resume your task." -msgstr "" - #: src/player.cpp msgid "Wield what?" msgstr "" @@ -205926,7 +211263,7 @@ msgstr "" #: src/player.cpp #, c-format -msgid "%s dodges... so fast!" +msgid "%s dodges… so fast!" msgstr "" #: src/player.cpp @@ -205938,79 +211275,6 @@ msgstr "" msgid "%s tries to dodge but there's no room!" msgstr "" -#: src/player.cpp -msgid "You start hauling items along the ground." -msgstr "" - -#: src/player.cpp -msgid "Your hands are not free, which makes hauling slower." -msgstr "" - -#: src/player.cpp -msgid "You stop hauling items." -msgstr "" - -#: src/player.cpp -msgid "Your body strains under the weight!" -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You remove the %s's harness." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You climb on the %s." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You hear your %s whir to life." -msgstr "" - -#: src/player.cpp -msgid "You are ejected from your mech!" -msgstr "" - -#: src/player.cpp -msgid " is ejected from their mech!" -msgstr "" - -#: src/player.cpp -msgid "You fall off your mount!" -msgstr "" - -#: src/player.cpp -msgid " falls off their mount!" -msgstr "" - -#: src/player.cpp src/trapfunc.cpp -msgid "You hurt yourself!" -msgstr "" - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Fell off a mount." -msgstr "" - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Fell off a mount." -msgstr "" - -#: src/player.cpp -msgid "Dismount where?" -msgstr "" - -#: src/player.cpp -msgid "You cannot dismount there!" -msgstr "" - -#: src/player.cpp -msgid "Wielding: " -msgstr "" - #: src/player.cpp #, c-format msgid "You (%s)" @@ -206064,6 +211328,13 @@ msgstr "" msgid "Pain " msgstr "" +#. ~ skill_name current_skill_level -> next_skill_level (% to next level) +#: src/player_activity.cpp +#, c-format +msgctxt "reading progress" +msgid "%s %d -> %d (%d%%)" +msgstr "" + #: src/player_activity.cpp #, c-format msgid "%s…" @@ -206273,46 +211544,56 @@ msgstr "" #: src/player_display.cpp #, c-format -msgid "Overburdened -%s%d%%" +msgctxt "speed penalty" +msgid "Overburdened -%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Pain -%s%d%%" +msgctxt "speed penalty" +msgid "Pain -%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Thirst -%s%d%%" +msgctxt "speed penalty" +msgid "Thirst -%2d%%" msgstr "" #: src/player_display.cpp msgid "Underfed" msgstr "" +#. ~ %s: Starving/Underfed (already left-justified), %2d: speed penalty #: src/player_display.cpp #, c-format -msgid "%-20s-%s%d%%" +msgctxt "speed penalty" +msgid "%s-%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Out of Sunlight -%s%d%%" +msgctxt "speed penalty" +msgid "Out of Sunlight -%2d%%" msgstr "" +#. ~ %s: sign of bonus/penalty, %2d: speed bonus/penalty #: src/player_display.cpp #, c-format -msgid "Cold-Blooded %s%s%d%%" +msgctxt "speed modifier" +msgid "Cold-Blooded %s%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Quick +%s%d%%" +msgctxt "speed bonus" +msgid "Quick +%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Bionic Speed +%s%d%%" +msgctxt "speed bonus" +msgid "Bionic Speed +%2d%%" msgstr "" #: src/player_display.cpp @@ -206346,14 +211627,14 @@ msgstr "" #: src/player_display.cpp msgid "" -"Your body is severely weakened by starvation. You might die if you don't " +"Your body is severely weakened by starvation. You might die if you don't " "start eating regular meals!\n" "\n" msgstr "" #: src/player_display.cpp msgid "" -"Your body is weakened by starvation. Only time and regular meals will help " +"Your body is weakened by starvation. Only time and regular meals will help " "you recover.\n" "\n" msgstr "" @@ -206450,29 +211731,29 @@ msgid " vomits thousands of live spores!" msgstr "" #: src/player_hardcoded_effects.cpp -msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" +msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" msgstr "" #: src/player_hardcoded_effects.cpp -msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" +msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" msgstr "" #: src/player_hardcoded_effects.cpp msgid "" -"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " +"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " "through!" msgstr "" #: src/player_hardcoded_effects.cpp -msgid "'s arms bulge. Fungus stalks burst out of the bulges!" +msgid "'s arms bulge. Fungus stalks burst out of the bulges!" msgstr "" #: src/player_hardcoded_effects.cpp -msgid "Your hands bulge. Fungus stalks burst through the bulge!" +msgid "Your hands bulge. Fungus stalks burst through the bulge!" msgstr "" #: src/player_hardcoded_effects.cpp -msgid "'s hands bulge. Fungus stalks burst through the bulge!" +msgid "'s hands bulge. Fungus stalks burst through the bulge!" msgstr "" #: src/player_hardcoded_effects.cpp @@ -206520,7 +211801,7 @@ msgid "\"Oh God, what's happening?\"" msgstr "" #: src/player_hardcoded_effects.cpp -msgid "\"Of course... it's all fractals!\"" +msgid "\"Of course… it's all fractals!\"" msgstr "" #: src/player_hardcoded_effects.cpp @@ -206556,7 +211837,7 @@ msgid "You quiver from the cold." msgstr "" #: src/player_hardcoded_effects.cpp -msgid "Your torso is freezing cold. You should put on a few more layers." +msgid "Your torso is freezing cold. You should put on a few more layers." msgstr "" #: src/player_hardcoded_effects.cpp @@ -206756,7 +212037,7 @@ msgid "You shudder suddenly." msgstr "" #: src/player_hardcoded_effects.cpp -msgid "Your vision is filled with bright lights..." +msgid "Your vision is filled with bright lights…" msgstr "" #: src/player_hardcoded_effects.cpp @@ -206929,6 +212210,47 @@ msgstr "" msgid "Your alarm went off." msgstr "" +#: src/player_hardcoded_effects.cpp +msgid "You lose control of your body as it begins to convulse!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You lose conciousness!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "arm" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "hand" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "leg" +msgstr "" + +#: src/player_hardcoded_effects.cpp +#, c-format +msgid "Your %s suddenly jerks in an unexpected direction!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep hold of your weapon." +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep your footing." +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You suddenly lose all muscle tone, and can't support your own weight!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You have a splitting headache." +msgstr "" + #: src/ranged.cpp #, c-format msgid "Your %s misfires with a muffled click!" @@ -207079,7 +212401,7 @@ msgstr "" #: src/ranged.cpp #, c-format -msgid "[%c] to steady your aim. (10 moves)" +msgid "[%c] to steady your aim. (10 moves)" msgstr "" #: src/ranged.cpp @@ -207248,7 +212570,7 @@ msgid "Effective Spell Radius: %s%s" msgstr "" #: src/ranged.cpp -msgid " WARNING! IN RANGE" +msgid " WARNING! IN RANGE" msgstr "" #: src/ranged.cpp @@ -207350,10 +212672,6 @@ msgstr "" msgid "none" msgstr "" -#: src/recipe.cpp -msgid "none" -msgstr "" - #: src/recipe.cpp #, c-format msgid "%s%% at >%s units" @@ -207376,6 +212694,15 @@ msgid_plural "%1$s (%2$d charges)" msgstr[0] "" msgstr[1] "" +#. ~ %1$s: item name, %2$d: charge requirement +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%1$s (%2$d of infinite)" +msgid_plural "%1$s (%2$d of infinite)" +msgstr[0] "" +msgstr[1] "" + #. ~ %1$s: item name, %2$d: charge requirement, %3%d: available charges #: src/requirements.cpp #, c-format @@ -207394,6 +212721,15 @@ msgid_plural "%1$s (%2$d)" msgstr[0] "" msgstr[1] "" +#. ~ %1$s: item name, %2$d: required count +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%2$d %1$s of infinite" +msgid_plural "%2$d %1$s of infinite" +msgstr[0] "" +msgstr[1] "" + #. ~ %1$s: item name, %2$d: required count, %3%d: available count #: src/requirements.cpp #, c-format @@ -207478,7 +212814,7 @@ msgid "Safe Mode manager currently inactive." msgstr "" #: src/safemode_ui.cpp -msgid "Default rules are used. Add a rule to activate." +msgid "Default rules are used. Add a rule to activate." msgstr "" #: src/safemode_ui.cpp @@ -207491,7 +212827,7 @@ msgstr "" #: src/safemode_ui.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" +"* is used as a Wildcard. A few Examples:\n" "\n" "human matches every NPC\n" "zombie matches the monster name exactly\n" @@ -207514,7 +212850,7 @@ msgid "Option: " msgstr "" #: src/safemode_ui.cpp -msgid "No monsters loaded. Please start a game first." +msgid "No monsters loaded. Please start a game first." msgstr "" #: src/safemode_ui.cpp @@ -207529,7 +212865,7 @@ msgid "Lists monsters regardless of their attitude." msgstr "" #: src/safemode_ui.cpp -msgid "Safe Mode is not enabled in the options. Enable it now?" +msgid "Safe Mode is not enabled in the options. Enable it now?" msgstr "" #: src/safemode_ui.cpp @@ -207570,11 +212906,6 @@ msgstr "" msgid "KILLS" msgstr "" -#: src/sdltiles.cpp -msgid "" -"Sets which video display will be used to show the game. Requires restart." -msgstr "" - #: src/skill.cpp msgid "The zen-most skill there is." msgstr "" @@ -207587,6 +212918,10 @@ msgstr "" msgid "Something is making noise." msgstr "" +#: src/sounds.cpp +msgid "a noise" +msgstr "" + #: src/sounds.cpp #, c-format msgid "Heard %s!" @@ -207602,6 +212937,11 @@ msgstr "" msgid "You hear %1$s" msgstr "" +#: src/sounds.cpp src/suffer.cpp +#, c-format +msgid "From the %1$s you hear %2$s" +msgstr "" + #: src/sounds.cpp msgid "Your alarm clock finally wakes you up." msgstr "" @@ -207631,6 +212971,413 @@ msgstr "" msgid "d: delete history" msgstr "" +#: src/suffer.cpp +#, c-format +msgid "Your %s is damaged by the water." +msgstr "" + +#: src/suffer.cpp +#, c-format +msgid "'s %s is damaged by the water." +msgstr "" + +#: src/suffer.cpp +#, c-format +msgid "Your %s is healed by the water." +msgstr "" + +#: src/suffer.cpp +#, c-format +msgid "'s %s is healed by the water." +msgstr "" + +#: src/suffer.cpp +#, c-format +msgid "You're too malnourished to keep your %s going." +msgstr "" + +#: src/suffer.cpp +#, c-format +msgid "You're too dehydrated to keep your %s going." +msgstr "" + +#: src/suffer.cpp +#, c-format +msgid "You're too exhausted to keep your %s going." +msgstr "" + +#: src/suffer.cpp +msgid "You're drowning!" +msgstr "" + +#: src/suffer.cpp +msgid "You're suddenly overcome with the urge to sleep and you pass out." +msgstr "" + +#: src/suffer.cpp +msgid "You suddenly feel numb." +msgstr "" + +#: src/suffer.cpp +msgid "You suddenly ache." +msgstr "" + +#: src/suffer.cpp +msgid "You feel dizzy for a moment." +msgstr "" + +#: src/suffer.cpp +msgid "You suddenly feel hungry." +msgstr "" + +#: src/suffer.cpp +msgid "You suddenly feel a little full." +msgstr "" + +#: src/suffer.cpp +msgid "You suddenly feel thirsty." +msgstr "" + +#: src/suffer.cpp +msgid "You feel fatigued all of a sudden." +msgstr "" + +#: src/suffer.cpp +msgid "You suddenly feel very cold." +msgstr "" + +#: src/suffer.cpp +msgid "You suddenly feel cold." +msgstr "" + +#: src/suffer.cpp +msgid "You suddenly feel very hot." +msgstr "" + +#: src/suffer.cpp +msgid "You suddenly feel hot." +msgstr "" + +#. ~ %1$s: weapon name +#: src/suffer.cpp +#, c-format +msgid "your %1$s" +msgstr "" + +#: src/suffer.cpp +msgid "You suddenly feel so numb…" +msgstr "" + +#: src/suffer.cpp +msgid "You start to shake uncontrollably." +msgstr "" + +#: src/suffer.cpp +msgid " starts to shake uncontrollably." +msgstr "" + +#: src/suffer.cpp +#, c-format +msgid "%1$s says: \"%2$s\"" +msgstr "" + +#: src/suffer.cpp +#, c-format +msgid "%1$s gets angry!" +msgstr "" + +#: src/suffer.cpp +#, c-format +msgid "You increase %1$s to level %2$d." +msgstr "" + +#: src/suffer.cpp +msgid "You have an asthma attack!" +msgstr "" + +#: src/suffer.cpp +msgid "You use your Oxygenator to clear it up, then go back to sleep." +msgstr "" + +#: src/suffer.cpp +msgid "You use your inhaler and go back to sleep." +msgstr "" + +#: src/suffer.cpp +msgid "You take a deep breath from your oxygen tank and go back to sleep." +msgstr "" + +#: src/suffer.cpp +msgid "You can't focus while choking!" +msgstr "" + +#: src/suffer.cpp +msgid "You use your last inhaler charge." +msgstr "" + +#: src/suffer.cpp +#, c-format +msgid "You use your inhaler, only %d charge left." +msgid_plural "You use your inhaler, only %d charges left." +msgstr[0] "" +msgstr[1] "" + +#: src/suffer.cpp +msgid "You breathe in last bit of oxygen from the tank." +msgstr "" + +#: src/suffer.cpp +#, c-format +msgid "You take a deep breath from your oxygen tank, only %d charge left." +msgid_plural "" +"You take a deep breath from your oxygen tank, only %d charges left." +msgstr[0] "" +msgstr[1] "" + +#: src/suffer.cpp +msgid "The sunlight burns your skin!" +msgstr "" + +#: src/suffer.cpp +msgid "The sunlight distracts you." +msgstr "" + +#: src/suffer.cpp +msgid "You can't stand the sunlight!" +msgstr "" + +#: src/suffer.cpp +msgid "The sunlight is really irritating your eyes." +msgstr "" + +#: src/suffer.cpp +#, c-format +msgid "%s and other body parts" +msgstr "" + +#: src/suffer.cpp +#, c-format +msgid "The sunlight is really irritating your %s." +msgstr "" + +#: src/suffer.cpp +msgid "You shed a tooth!" +msgstr "" + +#. ~Sound of buzzing Insect Wings +#: src/suffer.cpp +msgid "BZZZZZ" +msgstr "" + +#: src/suffer.cpp +msgid "Suddenly, you can't hear anything!" +msgstr "" + +#: src/suffer.cpp +msgid "Suddenly, your eyes stop working!" +msgstr "" + +#: src/suffer.cpp +msgid "Your visual centers must be acting up…" +msgstr "" + +#: src/suffer.cpp +msgid "You feel an anomalous sensation coming from your radiation sensors." +msgstr "" + +#: src/suffer.cpp +msgid "Your chest burns as your power systems overload!" +msgstr "" + +#: src/suffer.cpp +msgid "You suffer a painful electrical discharge!" +msgstr "" + +#: src/suffer.cpp +#, c-format +msgid "The %s seems to be affected by the discharge." +msgstr "" + +#: src/suffer.cpp +msgid "You suffer a burning acidic discharge!" +msgstr "" + +#: src/suffer.cpp +msgid "Your batteries discharge slightly." +msgstr "" + +#: src/suffer.cpp +msgid "A bionic emits a crackle of noise!" +msgstr "" + +#: src/suffer.cpp +msgid "You feel your faulty bionic shuddering." +msgstr "" + +#: src/suffer.cpp +msgid "Crackle!" +msgstr "" + +#: src/suffer.cpp +msgid "Your vision pixelates!" +msgstr "" + +#: src/suffer.cpp +msgid "Your malfunctioning bionic causes you to spasm and fall to the floor!" +msgstr "" + +#: src/suffer.cpp +msgid "Your bionics short-circuit, causing you to tremble and shiver." +msgstr "" + +#: src/suffer.cpp +msgid "Your malfunctioning bionic itches!" +msgstr "" + +#: src/suffer.cpp +msgid "Your malfunctioning bionic starts to glow!" +msgstr "" + +#: src/suffer.cpp +msgid "Your muscles spasm!" +msgstr "" + +#: src/suffer.cpp +msgid "You fall to the ground!" +msgstr "" + +#: src/suffer.cpp +msgid "You feel short of breath." +msgstr "" + +#: src/suffer.cpp +msgid "You shake uncontrollably." +msgstr "" + +#: src/suffer.cpp +msgid "You feel nauseous…" +msgstr "" + +#: src/suffer.cpp +msgid "You black out!" +msgstr "" + +#: src/suffer.cpp +msgid "Your breathing slows down." +msgstr "" + +#: src/suffer.cpp +msgid "You stumble and fall over!" +msgstr "" + +#: src/suffer.cpp +msgid "You feel tired…" +msgstr "" + +#: src/suffer.cpp +msgid "You tiredly rub your eyes." +msgstr "" + +#: src/suffer.cpp +msgid " tiredly rubs their eyes." +msgstr "" + +#: src/suffer.cpp +msgid "You let out a small yawn." +msgstr "" + +#: src/suffer.cpp +msgid " lets out a small yawn." +msgstr "" + +#: src/suffer.cpp +msgid "You stretch your back." +msgstr "" + +#: src/suffer.cpp +msgid " streches their back." +msgstr "" + +#: src/suffer.cpp +msgid "You feel mentally tired." +msgstr "" + +#: src/suffer.cpp +msgid " lets out a huge yawn." +msgstr "" + +#: src/suffer.cpp +msgid "You feel lightheaded for a moment." +msgstr "" + +#: src/suffer.cpp +msgid "Your muscles spasm uncomfortably." +msgstr "" + +#: src/suffer.cpp +msgid "Your vision blurs a little." +msgstr "" + +#: src/suffer.cpp +msgid "Your mind lapses into unawareness briefly." +msgstr "" + +#: src/suffer.cpp +msgid "Your muscles ache in stressfully unpredictable ways." +msgstr "" + +#: src/suffer.cpp +msgid "You have a distractingly painful headache." +msgstr "" + +#: src/suffer.cpp +msgid "You feel heartburn and an acid taste in your mouth." +msgstr "" + +#: src/suffer.cpp +msgid "Your mind is so tired that you feel you can't trust your eyes anymore." +msgstr "" + +#: src/suffer.cpp +msgid "" +"Your muscles spasm uncontrollably, and you have trouble keeping your balance." +msgstr "" + +#: src/suffer.cpp +msgid "Your shaking legs make you stumble." +msgstr "" + +#: src/suffer.cpp +msgid " stumbles." +msgstr "" + +#: src/suffer.cpp +msgid " falls over!" +msgstr "" + +#: src/suffer.cpp +msgid "You fall over!" +msgstr "" + +#: src/suffer.cpp +#, c-format +msgid "Your radiation badge changes from %1$s to %2$s!" +msgstr "" + +#. ~ %s is bodypart +#: src/suffer.cpp +#, c-format +msgid "Your %s has started to mend!" +msgstr "" + +#: src/suffer.cpp +msgid "You feel the water burning your skin." +msgstr "" + +#: src/teleport.cpp +msgid "You feel a strange, inwards force." +msgstr "" + #: src/teleport.cpp msgid "You cannot teleport safely." msgstr "" @@ -207640,7 +213387,11 @@ msgid "You die after teleporting into a solid." msgstr "" #: src/teleport.cpp -msgid "You exlpode into thousands of fragments." +msgid "You feel disjointed." +msgstr "" + +#: src/teleport.cpp +msgid "You explode into thousands of fragments." msgstr "" #: src/teleport.cpp @@ -207772,7 +213523,7 @@ msgstr "" #: src/trapfunc.cpp #, c-format -msgid "The %s stumbles over the cot" +msgid "The %s stumbles over the cot!" msgstr "" #: src/trapfunc.cpp @@ -207928,11 +213679,6 @@ msgstr "" msgid "A snare closes on s leg." msgstr "" -#: src/trapfunc.cpp -#, c-format -msgid "A snare closes on your %s's leg" -msgstr "" - #. ~ %s is bodypart name in accusative. #: src/trapfunc.cpp #, c-format @@ -207966,12 +213712,12 @@ msgid "vvrrrRRMM*POP!*" msgstr "" #: src/trapfunc.cpp -msgid "The air shimmers around you..." +msgid "The air shimmers around you…" msgstr "" #: src/trapfunc.cpp #, c-format -msgid "The air shimmers around %s..." +msgid "The air shimmers around %s…" msgstr "" #: src/trapfunc.cpp @@ -207987,7 +213733,7 @@ msgid "The acidic goo eats away at your feet." msgstr "" #: src/trapfunc.cpp -msgid "BEEPBOOP! Please remove non-organic object." +msgid "BEEPBOOP! Please remove non-organic object." msgstr "" #: src/trapfunc.cpp @@ -208088,7 +213834,7 @@ msgid "Your %s is burned by the lava!" msgstr "" #: src/trapfunc.cpp -msgid "You fail to attach it..." +msgid "You fail to attach it…" msgstr "" #: src/trapfunc.cpp @@ -208154,6 +213900,13 @@ msgstr "" msgid "You fall down under %s!" msgstr "" +#: src/trapfunc.cpp +#, c-format +msgid "You fall down %d story!" +msgid_plural "You fall down %d stories!" +msgstr[0] "" +msgstr[1] "" + #: src/trapfunc.cpp msgid " flaps their wings and flutters down gracefully." msgstr "" @@ -208224,7 +213977,20 @@ msgid "Set turret targeting" msgstr "" #: src/turret.cpp -msgid "Can't aim turrets: all turrets are offline" +msgid "auto -> manual" +msgstr "" + +#: src/turret.cpp +msgid "manual -> auto" +msgstr "" + +#: src/turret.cpp +msgid "manual (turret control unit required for auto mode)" +msgstr "" + +#: src/turret.cpp +msgid "" +"Can't aim turrets: all turrets are offline or set to manual targeting mode." msgstr "" #: src/turret.cpp @@ -208268,7 +214034,7 @@ msgstr "" #: src/tutorial.cpp msgid "" "You're saving a tutorial - the tutorial world lacks certain features of " -"normal worlds. Weird things might happen when you load this save. You have " +"normal worlds. Weird things might happen when you load this save. You have " "been warned." msgstr "" @@ -208276,6 +214042,10 @@ msgstr "" msgid "Select part" msgstr "" +#: src/veh_interact.cpp +msgid "Time required:\n" +msgstr "" + #: src/veh_interact.cpp msgid "Skills required:\n" msgstr "" @@ -208445,11 +214215,11 @@ msgid "Search for part" msgstr "" #: src/veh_interact.cpp -msgid "Your morale is too low to construct..." +msgid "Your morale is too low to construct…" msgstr "" #: src/veh_interact.cpp -msgid "It's too dark to see what you are doing..." +msgid "It's too dark to see what you are doing…" msgstr "" #: src/veh_interact.cpp @@ -208457,7 +214227,7 @@ msgid "You can't install parts while driving." msgstr "" #: src/veh_interact.cpp -msgid "Installing this part will make the vehicle unfoldable. Continue?" +msgid "Installing this part will make the vehicle unfoldable. Continue?" msgstr "" #: src/veh_interact.cpp @@ -208465,7 +214235,7 @@ msgid "Choose shape:" msgstr "" #: src/veh_interact.cpp -msgid "Your morale is too low to repair..." +msgid "Your morale is too low to repair…" msgstr "" #: src/veh_interact.cpp @@ -208485,7 +214255,7 @@ msgid "This part cannot be repaired" msgstr "" #: src/veh_interact.cpp -msgid "Your morale is too low to mend..." +msgid "Your morale is too low to mend…" msgstr "" #: src/veh_interact.cpp @@ -208649,7 +214419,7 @@ msgid "You can't siphon from a moving vehicle." msgstr "" #: src/veh_interact.cpp -msgid "Select part to siphon: " +msgid "Select part to siphon:" msgstr "" #: src/veh_interact.cpp @@ -209118,6 +214888,11 @@ msgstr "" msgid "Lost connection with the vehicle due to distance!" msgstr "" +#: src/vehicle.cpp +#, c-format +msgid "the %s emitting a beep and saying \"Obstacle detected!\"" +msgstr "" + #. ~ backfire sound #: src/vehicle.cpp #, c-format @@ -209179,7 +214954,7 @@ msgstr "" #: src/vehicle.cpp #, c-format msgid "" -"A part of the vehicle ('%s') has no containing vehicle's name. It will be " +"A part of the vehicle ('%s') has no containing vehicle's name. It will be " "detached from the %s vehicle." msgstr "" @@ -209285,7 +215060,7 @@ msgid "The %1$s's %2$s is destroyed!" msgstr "" #: src/vehicle_display.cpp -msgid "More parts here..." +msgid "More parts here…" msgstr "" #: src/vehicle_display.cpp @@ -209757,7 +215532,7 @@ msgid "You could use a screwdriver to hotwire it." msgstr "" #: src/vehicle_use.cpp -msgid "You destroy the controls..." +msgid "You destroy the controls…" msgstr "" #: src/vehicle_use.cpp @@ -209780,6 +215555,28 @@ msgstr "" msgid "Remember vehicle position" msgstr "" +#: src/vehicle_use.cpp +msgid "Choose action for the autopilot" +msgstr "" + +#: src/vehicle_use.cpp +msgid "Patrol…" +msgstr "" + +#: src/vehicle_use.cpp +msgid "" +"Program the autopilot to patrol a nearby vehicle patrol zone. If no zones " +"are nearby, you will be prompted to create one." +msgstr "" + +#: src/vehicle_use.cpp +msgid "Stop…" +msgstr "" + +#: src/vehicle_use.cpp +msgid "Stop all autopilot related activities." +msgstr "" + #: src/vehicle_use.cpp msgid "You stop keeping track of the vehicle position." msgstr "" @@ -209825,11 +215622,11 @@ msgid "Turn on the engine" msgstr "" #: src/vehicle_use.cpp -msgid "You turn the engine off." +msgid "Honk horn" msgstr "" #: src/vehicle_use.cpp -msgid "Honk horn" +msgid "Control autopilot" msgstr "" #: src/vehicle_use.cpp @@ -209956,6 +215753,10 @@ msgstr "" msgid "the %s starting" msgstr "" +#: src/vehicle_use.cpp +msgid "You turn the engine off." +msgstr "" + #: src/vehicle_use.cpp msgid "You honk the horn!" msgstr "" @@ -209976,7 +215777,7 @@ msgstr "" #: src/vehicle_use.cpp #, c-format -msgid "Move how many? [Have %d] (0 to cancel)" +msgid "Move how many? [Have %d] (0 to cancel)" msgstr "" #: src/vehicle_use.cpp @@ -210053,6 +215854,10 @@ msgstr "" msgid "Only CBMs can be sterilized in an autoclave." msgstr "" +#: src/vehicle_use.cpp +msgid "You should put your CBMs in autoclave pouches to keep them sterile." +msgstr "" + #: src/vehicle_use.cpp msgid "You turn the autoclave on and it starts its cycle." msgstr "" @@ -210165,6 +215970,15 @@ msgstr "" msgid "You untie your %s." msgstr "" +#: src/vehicle_use.cpp +msgid "Load a vehicle on the rack" +msgstr "" + +#: src/vehicle_use.cpp +#, c-format +msgid "Remove the %s from the rack" +msgstr "" + #: src/vehicle_use.cpp msgid "Examine vehicle" msgstr "" @@ -210285,7 +216099,7 @@ msgid "Your power armor protects you from the acidic drizzle." msgstr "" #: src/weather.cpp -msgid "The acid rain stings, but is mostly harmless for now..." +msgid "The acid rain stings, but is mostly harmless for now…" msgstr "" #: src/weather.cpp @@ -210370,7 +216184,7 @@ msgstr "" #: src/weather.cpp #, c-format -msgid "%s... %s. Highs of %s. Lows of %s. " +msgid "%s… %s. Highs of %s. Lows of %s. " msgstr "" #: src/weather.cpp @@ -210623,7 +216437,7 @@ msgstr "" #: src/wish.cpp #, c-format -msgid "Wish granted. Wish for more or hit [%s] to quit." +msgid "Wish granted. Wish for more or hit [%s] to quit." msgstr "" #: src/wish.cpp @@ -210631,7 +216445,7 @@ msgid "Select a skill to modify" msgstr "" #: src/wish.cpp -msgid "Modify all skills..." +msgid "Modify all skills…" msgstr "" #: src/wish.cpp @@ -210641,7 +216455,7 @@ msgstr "" #: src/wish.cpp #, c-format -msgid "Set '%s' to.." +msgid "Set '%s' to…" msgstr "" #: src/wish.cpp @@ -210740,7 +216554,7 @@ msgstr "" #: src/worldfactory.cpp #, c-format -msgid "... %s = View full description " +msgid "…%s = View full description " msgstr "" #: src/worldfactory.cpp @@ -210773,14 +216587,14 @@ msgid "________NO NAME ENTERED!________" msgstr "" #: src/worldfactory.cpp -msgid "Are you SURE you're finished? World name will be randomly generated." +msgid "Are you SURE you're finished? World name will be randomly generated." msgstr "" #: src/worldfactory.cpp #, c-format msgid "" -"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. %s/" -"%s = Prev/Next Tab." +"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " +"%s/%s = Prev/Next Tab." msgstr "" #: src/worldfactory.cpp diff --git a/lang/po/de.po b/lang/po/de.po index 9f7bd88f2f225..4ba658552a7d9 100644 --- a/lang/po/de.po +++ b/lang/po/de.po @@ -5,8 +5,8 @@ # OzoneH3 , 2018 # Robert Boettcher , 2018 # Kitty M , 2018 -# Mark Bies, 2018 # Nipaporn P. , 2018 +# Mark Bies, 2018 # - - , 2018 # Tarnath , 2018 # Phil Mait , 2018 @@ -16,16 +16,16 @@ # Sam Doe , 2019 # Xtrem532 , 2019 # kurtice087 , 2019 -# Vlasov Vitaly , 2019 -# Brett Dong , 2019 # Pupsi , 2019 +# Brett Dong , 2019 +# Vlasov Vitaly , 2019 # Wuzzy , 2019 # msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.D\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-06 00:47+0800\n" +"POT-Creation-Date: 2019-11-09 00:53+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" "Last-Translator: Wuzzy , 2019\n" "Language-Team: German (https://www.transifex.com/cataclysm-dda-translators/teams/2217/de/)\n" @@ -736,12 +736,8 @@ msgstr "spitze selbstgemachte Rakete" msgid "" "A hand-built rocket, consisting of a spike welded onto a pipe that was " "filled with improvised rocket fuel. Horribly inaccurate, as can be expected" -" of this grade of weapon, but packs a fierce punch... if it hits." +" of this grade of weapon, but packs a fierce punch… if it hits." msgstr "" -"Eine selbstgebaute Rakete, bestehend aus einem Stachel, welcher an ein Rohr " -"geschweißt wurde, gefüllt mit improvisiertem Raketentreibstoff. Fürchterlich" -" ungenau, was man von dieser Art Waffe erwarten kann, aber sie haut mächtig " -"rein … falls sie trifft." #: lang/json/AMMO_from_json.py msgid "explosive home-made rocket" @@ -794,11 +790,9 @@ msgstr "unfertiges Kalziumkarbid" #. ~ Description for unfinished calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"The incomplete process of converting coal and lime into calcium carbide. " -"Useless in this state/" +"The incomplete process of converting coal and lime into calcium carbide. " +"Useless in this state." msgstr "" -"Eine unvollständige Verarbeitung von Kohle und Kalk zu Kalziumkarbid. " -"Unbrauchbar in diesem Stadium/" #: lang/json/AMMO_from_json.py msgid "chain link" @@ -919,13 +913,10 @@ msgstr "Holzjagdpfeil" #. ~ Description for wooden broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched wooden arrow shaft with a bladed tip. Useful for maximising " +"A fletched wooden arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a decent chance of remaining intact once " "fired." msgstr "" -"Ein befiederter hölzerner Pfeilschaft mit einer blattförmigen Spitze. " -"Nützlich, um den Schaden am Ziel zu maximieren. Hat eine gute Chance, nach " -"dem Schuss intakt zu bleiben." #: lang/json/AMMO_from_json.py msgid "simple wooden arrow" @@ -990,12 +981,9 @@ msgstr "Aluminiumjagdpfeil" #. ~ Description for aluminum broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched aluminum arrow shaft with a bladed tip. Useful for maximising " +"A fletched aluminum arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a good chance of remaining intact once fired." msgstr "" -"Ein befiederter Aluminiumpfeilschaft mit einer blattförmigen Spitze. " -"Nützlich, um den Schaden am Ziel zu maximieren. Hat eine gute Chance, nach " -"dem Schuss intakt zu bleiben." #: lang/json/AMMO_from_json.py msgid "aluminum field point arrow" @@ -1154,16 +1142,11 @@ msgstr[1] "Schwefel" #. ~ Description for sulfur #: lang/json/AMMO_from_json.py msgid "" -"A handful of yellow grains of pure sulfur. Primarily used to make battery " -"acid, sulfur is sometimes used as fuel for explosives. Can be burned to " -"produce acidic smoke, that is deadly to bacteria and humans alike, or " -"oxidized to make paper-bleaching agents." +"A handful of pure sulfur. Primarily used to make battery acid, sulfur is " +"sometimes used as fuel for explosives. Can be burned to produce acidic " +"smoke, that is deadly to bacteria and humans alike, or oxidized to make " +"paper-bleaching agents." msgstr "" -"Eine Handvoll gelber Körner aus reinem Schwefel. Hauptsächlich zur " -"Herstellung von Batteriesäure benutzt, wird Schwefel manchmal als Brennstoff" -" für Sprengstoffe benutzt. Kann verbrannt werden, um giftigen Rauch, welcher" -" tödlich für Bakterien und Menschen gleichermaßen ist, zu erzeugen. Oder es " -"kann oxidiert werden, um Papierbleichmittel herzustellen." #: lang/json/AMMO_from_json.py msgid "chunk of sulfur" @@ -1173,9 +1156,8 @@ msgstr[1] "Schwefelbrocken" #. ~ Description for chunk of sulfur #: lang/json/AMMO_from_json.py -msgid "A large chunk of pure sulfur. Break it up to use it." +msgid "A chunk of pure sulfur. Break it up to use it." msgstr "" -"Ein großer Brocken aus reinem Schwefel. Zerbrich ihn, um ihn zu benutzen." #: lang/json/AMMO_from_json.py msgid "cement" @@ -1310,8 +1292,8 @@ msgstr[1] "" #. ~ Description for zinc oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of zinc oxide. It can be reduced into zinc, or used for some other" -" reactions of its own." +"A handful of zinc oxide. It can be reduced into zinc, or used for some " +"other reactions of its own." msgstr "" #: lang/json/AMMO_from_json.py @@ -1323,7 +1305,7 @@ msgstr[1] "" #. ~ Description for manganese dioxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of manganese dioxide powder. Occurring naturally in the mineral " +"A handful of manganese dioxide powder. Occurring naturally in the mineral " "pyrolusite, it is used commercially in the production of alkaline and zinc-" "carbon batteries." msgstr "" @@ -1337,10 +1319,10 @@ msgstr[1] "" #. ~ Description for potassium chloride #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium chloride. Although it occurs naturally in the mineral" -" sylvite, it can be produced as a byproduct of the reaction of saltpeter and" -" hydrochloric acid. It can be used for making fertilizer, or potassium " -"hydroxide by way of electrolysis." +"A handful of potassium chloride. Although it occurs naturally in the " +"mineral sylvite, it can be produced as a byproduct of the reaction of " +"saltpeter and hydrochloric acid. It can be used for making fertilizer, or " +"potassium hydroxide by way of electrolysis." msgstr "" #: lang/json/AMMO_from_json.py @@ -1352,8 +1334,8 @@ msgstr[1] "" #. ~ Description for potassium hydroxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium hydroxide. Commonly called caustic potash, it was " -"mainly used industrially for its caustic nature. It can be used as an " +"A handful of potassium hydroxide. Commonly called caustic potash, it was " +"mainly used industrially for its caustic nature. It can be used as an " "electrolyte in alkaline batteries, among other applications." msgstr "" @@ -1385,9 +1367,9 @@ msgstr[1] "" #. ~ Description for hydrochloric acid #: lang/json/AMMO_from_json.py msgid "" -"Hydrochloric acid, also known as muriatic acid. It is a strong acid that has" -" a distinctive smell, important and frequently used ever since its " -"discovery. It still has a vast multitude of uses." +"Hydrochloric acid, also known as muriatic acid. It is a strong acid that " +"has a distinctive smell, important and frequently used ever since its " +"discovery. It still has a vast multitude of uses." msgstr "" #: lang/json/AMMO_from_json.py @@ -1439,18 +1421,12 @@ msgstr[1] "Chromoxid" #. ~ Description for chromium oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of chromium oxide pellets. This substance, typically known as the" -" only stable green pigment for paints, is also a mild oxidizer, which can be" -" mixed with aluminum powder to make thermite for welding. If one had access" -" to a CVD machine and a laboratory worth of reagents, they might be able to " +"A handful of chromium oxide. This substance, typically known as the only " +"stable green pigment for paints, is also a mild oxidizer, which can be mixed" +" with aluminum powder to make thermite for welding. If one had access to a " +"CVD machine and a laboratory worth of reagents, they might be able to " "produce very durable ceramic layers." msgstr "" -"Eine Handvoll mit Chromoxidpellets. Diese Substanz, üblicherweise bekannt " -"als das einzige stabile grüne Pigment für Farbstoffe, ist außerdem ein " -"mildes Oxidationsmittel, welches mit Aluminiumpulver vermischt werden kann, " -"um Thermit für das Schweißen herzustellen. Wenn man Zugang zu einer CVD-" -"Maschine und einem Labor voller Reagenzien hätte, dann könnte man in der " -"Lage sein, sehr widerstandsfähige Keramikschichten zu produzieren." #: lang/json/AMMO_from_json.py msgid "calcium carbide" @@ -1461,18 +1437,12 @@ msgstr[1] "Kalziumkarbid" #. ~ Description for calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"A handful of calcium carbide chunks, giving off a faint, garlic-like smell." -" Commercially, calcium carbide was used for on-the-spot manufacture of " +"A handful of calcium carbide, giving off a faint, garlic-like smell. " +"Commercially, calcium carbide was used for on-the-spot manufacture of " "acetylene and historically to power acetylene lamps. If mixed with water " "and sealed, it will explode with little strength, but with relatively loud " "noise and could maybe be used as a decoy." msgstr "" -"Eine Hand voll Kalziumkarbidstücke, die einen schwachen knoblauchartigen " -"Geruch abgeben. Kalziumkarbid wurde gewerblich zur Herstellung von Azetylen " -"und in der Vergangenheit zum befüllen von Lampen verwendet. Wenn es mit " -"Wasser gemischt in einem Behälter versiegelt wird, gibt es eine Explosion " -"von geringem Ausmaß die aber dennoch viel Lärm verursacht und vielleicht " -"sogar als Köder genutzt werden kann." #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "hexamine" @@ -1698,8 +1668,8 @@ msgstr[1] "" #: lang/json/AMMO_from_json.py msgid "" "Some match head powder from match heads, similar to black gunpowder but a " -"bit weaker. It can be used in crafting explosives and fuses when other more " -"suitable candidates are less available." +"bit weaker. It can be used in crafting explosives and fuses when other more" +" suitable candidates are less available." msgstr "" #: lang/json/AMMO_from_json.py @@ -2132,14 +2102,10 @@ msgstr[1] "Flammenwerfer Brennstoff" #. ~ Description for flamethrower fuel #: lang/json/AMMO_from_json.py msgid "" -"A mixture of gasoline and diesel oil in equal parts. Its combustion " +"A mixture of gasoline and diesel oil in equal parts. Its combustion " "properties make it unfit for applications where you would use any of them " "separately, but it can be used to feed a flamethrower." msgstr "" -"Eine Mischung aus Benzin und Dieselöl zu gleichen Teilen. Die " -"Verbrennungseigenschaften machen es ungeeignet für die Anwendung in " -"Bereichen, in denen du einen der Bestandteile separat nutzen würdest. Dafür " -"kann man es verwenden um einen Flammenwerfer zu füllen." #: lang/json/AMMO_from_json.py msgid "autoclave pouch" @@ -3717,42 +3683,47 @@ msgid "reloaded .460 Rowland" msgstr "wiedergeladene .460 Rowland" #: lang/json/AMMO_from_json.py -msgid ".50 BMG tracer" -msgstr ".50 BMG Leuchtspur" +msgid ".50 BMG M17 tracer" +msgstr "" + +#. ~ Description for .50 BMG M17 tracer +#: lang/json/AMMO_from_json.py +msgid "" +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid ".50 BMG M33 Ball" +msgstr "" -#. ~ Description for .50 BMG tracer +#. ~ Description for .50 BMG M33 Ball #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances." +".50 BMG ammunition with mild steel cored 661gr FMJ bullets. The .50 BMG is " +"a very powerful rifle round designed for anti-aircraft use, later adapted to" +" anti-vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -"Dies ist eine Leuchtspurvariante der populären .50-BMG-" -"Scharfschützengewehrpatrone. Leuchtspurpatronen helfen der Waffe, von der " -"sie gefeuert wurden, beim Zielen, jedoch unter dem Risiko, entflammbare " -"Substanzen zu entzünden." #: lang/json/AMMO_from_json.py -msgid ".50 BMG Ball" -msgstr ".50 BMG Ball" +msgid ".50 BMG Match" +msgstr "" -#. ~ Description for .50 BMG Ball +#. ~ Description for .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise." +".50 BMG FMJ lead core ammunition manufactured with tighter tolerances for " +"long-range competition shooting or other precision rifle use." msgstr "" -"Die .50 BMG ist eine sehr starke Gewehrpatrone, die für für hohe Reichweiten" -" gedacht ist. Ihre enorme Treffgenaugkeit und Panzerbrechung machen sie zu " -"einer der tödlichsten verfügbaren Patronen, was nur durch ihren drastischen " -"Rückstoß und Krach aufgewogen wird." #: lang/json/AMMO_from_json.py -msgid ".50 BMG AP" -msgstr ".50 BMG AP" +msgid ".50 BMG M2 AP" +msgstr "" -#. ~ Description for .50 BMG AP +#. ~ Description for .50 BMG M2 AP #: lang/json/AMMO_from_json.py msgid "" "Variant of the .50 BMG round that uses a core of very dense, hardened " @@ -3762,6 +3733,23 @@ msgstr "" " gehärtetem Wolframstahl. Die Penetration wurde erhöht, aber der Schaden " "reduziert." +#: lang/json/AMMO_from_json.py +msgid ".50 BMG Raufoss Mk 211" +msgstr "" + +#. ~ Description for .50 BMG Raufoss Mk 211 +#: lang/json/AMMO_from_json.py +msgid "" +"This variant of the .50 BMG round makes the most of the caliber's potential " +"payload delivery: the tip is loaded with an incendiary mix, which ignites on" +" impact, detonating the RDX or PETN charge. This also ignites a secondary " +"zirconium powder incendiary charge that surrounds a tungsten carbide " +"penetrator, both encased by a mild steel cup. Fragments from the cup and " +"burning metallic powder follow the penetrator through armored targets, " +"increasing lethality. These rare, complicated, and expensive rounds are not" +" likely to be manufactured again; use them wisely." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG tracer" msgstr "wiedergeladene .50 BMG Leuchtspur" @@ -3769,31 +3757,24 @@ msgstr "wiedergeladene .50 BMG Leuchtspur" #. ~ Description for reloaded .50 BMG tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances. This one has been hand-reloaded." +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances. This one has been hand-reloaded." msgstr "" -"Dies ist eine Leuchtspurvariante der populären .50-BMG-" -"Scharfschützengewehrpatrone. Leuchtspurpatronen helfen der Waffe, von der " -"sie gefeuert wurden, beim Zielen, jedoch unter dem Risiko, entflammbare " -"Substanzen zu entzünden. Diese Patrone wurde wiedergeladen." #: lang/json/AMMO_from_json.py -msgid "reloaded .50 BMG Ball" -msgstr "wiedergeladene .50 BMG Ball" +msgid "reloaded .50 BMG Match" +msgstr "" -#. ~ Description for reloaded .50 BMG Ball +#. ~ Description for reloaded .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise. This" -" one has been hand-reloaded." +".50 BMG ammunition with lead-cored FMJ bullets. The .50 BMG is a very " +"powerful rifle round designed for anti-aircraft use, later adapted to anti-" +"vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -"Die .50 BMG ist eine sehr starke Gewehrpatrone, die für für hohe Reichweiten" -" gedacht ist. Ihre enorme Treffgenaugkeit und Panzerbrechung machen sie zu " -"einer der tödlichsten verfügbaren Patronen, was nur durch ihren drastischen " -"Rückstoß und Krach aufgewogen wird. Dieser Patrone wurde wiedergeladen." #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG AP" @@ -3802,13 +3783,9 @@ msgstr "wiedergeladene .50 BMG AP" #. ~ Description for reloaded .50 BMG AP #: lang/json/AMMO_from_json.py msgid "" -"Variant of the .50 BMG round that uses a core of very dense, hardened " -"tungsten steel. Penetration is increased, but damage is reduced. This one " -"has been hand-reloaded." +"Variant of the .50 BMG round that uses a core hardened steel. Penetration " +"is increased, but damage is reduced. This one has been hand-reloaded." msgstr "" -"Eine Variante der Patrone .50 BMG; sie verwendet einen Kern aus sehr dichtem" -" gehärtetem Wolframstahl. Die Penetration wurde erhöht, aber der Schaden " -"reduziert. Diese Patrone wurde wiedergeladen." #: lang/json/AMMO_from_json.py msgid ".500 S&W Magnum" @@ -4921,6 +4898,106 @@ msgstr "Einige Pilzsporen." msgid "fungal flower" msgstr "Fungusblume" +#: lang/json/AMMO_from_json.py +msgid "potassium alum" +msgstr "" + +#. ~ Description for potassium alum +#: lang/json/AMMO_from_json.py +msgid "" +"Small water-soluble white crystals with watery metallic odor, historically " +"used for many different purposes. Also known as potash alum and potassium " +"aluminum sulfate; often called simply alum, as it's the most important " +"member of the generic class of compounds called alums." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cloth dye powder" +msgstr "" + +#. ~ Description for cloth dye powder +#: lang/json/AMMO_from_json.py +msgid "" +"This is a powdered colorful cloth dye, which can be used to dye many fabrics" +" if combined with water and some mordant." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel buckle" +msgstr "" + +#. ~ Description for steel buckle +#: lang/json/AMMO_from_json.py +msgid "A steel buckle, like that usually found on belts." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "plastic button" +msgstr "" + +#. ~ Description for plastic button +#: lang/json/AMMO_from_json.py +msgid "A plastic button, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel button" +msgstr "" + +#. ~ Description for steel button +#: lang/json/AMMO_from_json.py +msgid "A steel button, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "wooden button" +msgstr "" + +#. ~ Description for wooden button +#: lang/json/AMMO_from_json.py +msgid "A crude wooden button, usually found on very old clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel snap fastener" +msgstr "" + +#. ~ Description for steel snap fastener +#: lang/json/AMMO_from_json.py +msgid "A steel snap fastener, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "touch fastener" +msgstr "" + +#. ~ Description for touch fastener +#: lang/json/AMMO_from_json.py +msgid "" +"This is a pair of cloth strips, one of which has tiny hooks and another has " +"tiny loops. Useful as a fastener for clothing and footwear." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "long plastic zipper" +msgstr "" + +#. ~ Description for long plastic zipper +#: lang/json/AMMO_from_json.py +msgid "A long zipper made from plastic, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "short plastic zipper" +msgstr "" + +#. ~ Description for short plastic zipper +#: lang/json/AMMO_from_json.py +msgid "" +"A short zipper made from plastic, usually found on footwear or clothing " +"pockets." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "red paint" msgid_plural "red paint" @@ -5079,7 +5156,7 @@ msgstr[1] "" #: lang/json/AMMO_from_json.py msgid "" "A slightly brittle metal. Apart from being an essential mineral that the " -"body needs, it reacts readily with acids, alkalis and other non-metals. It " +"body needs, it reacts readily with acids, alkalis and other non-metals. It " "can be crushed to make zinc powder, used in the production of batteries, " "among other things." msgstr "" @@ -5170,7 +5247,7 @@ msgstr "Türscharnier" #. ~ Description for door hinge #: lang/json/AMMO_from_json.py msgid "" -"A small metal hinge with two metal plates with screw holes. Useful for " +"A small metal hinge with two metal plates with screw holes. Useful for " "making doors." msgstr "" @@ -5181,7 +5258,7 @@ msgstr "" #. ~ Description for tin powder #: lang/json/AMMO_from_json.py msgid "" -"A fine gray powder composed of tin, usable for making solder and lining " +"A fine gray powder composed of tin, usable for making solder and lining " "containers to prevent corrosion." msgstr "" @@ -5223,6 +5300,359 @@ msgid "" "explosions." msgstr "" +#: lang/json/AMMO_from_json.py +msgid "rubber sole" +msgstr "" + +#. ~ Description for rubber sole +#: lang/json/AMMO_from_json.py +msgid "" +"This is a sole made from rubber, usually found on the bottoms of boots. Can" +" be used for making actual boots." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cotton scraps" +msgid_plural "cotton scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for cotton scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of cotton, waste material from tailoring " +"projects. Not useful for much and usually disposed of, but can be recycled " +"into some thread if you really want." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "faux fur scraps" +msgid_plural "faux fur scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for faux fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of faux fur, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "felt scraps" +msgid_plural "felt scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for felt scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of felt, waste material from tailoring projects." +" Not useful for much and usually disposed of, but can be recycled into some" +" wool fiber if you really want." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "fur scraps" +msgid_plural "fur scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of fur, waste material from tailoring projects. " +"Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar scraps" +msgid_plural "Kevlar scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Kevlar scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of Kevlar fabric, waste material from tailoring " +"projects. Normally it's disposed of, but since Kevlar would be very " +"difficult to make in a post-apocalyptic world, it might be worth recycling " +"it for Kevlar thread." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "leather scraps" +msgid_plural "leather scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for leather scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of leather, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lycra scraps" +msgid_plural "lycra scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lycra scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of lycra, waste material from tailoring projects." +" Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "neoprene scraps" +msgid_plural "neoprene scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for neoprene scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of neoprene, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric scraps" +msgid_plural "synthetic fabric scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for synthetic fabric scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of synthetic fabric, waste material from " +"tailoring projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex scraps" +msgid_plural "Nomex scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Nomex scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of heat-resistant Nomex fabric, waste material " +"from tailoring projects. Normally it's disposed of, but since Nomex would " +"be very difficult to make in a post-apocalyptic world, it might be worth " +"recycling it." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cotton sheet" +msgstr "" + +#. ~ Description for cotton sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of cotton fabric, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork cotton clothing parts" +msgid_plural "patchwork cotton clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork cotton clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from cotton patches in " +"a patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "faux fur sheet" +msgstr "" + +#. ~ Description for faux fur sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of fake synthetic colorful fur, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork faux fur clothing parts" +msgid_plural "patchwork faux fur clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork faux fur clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from faux fur patches " +"in a patchwork fashion. Suitable for making most clothing, though it's much" +" less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "felt sheet" +msgstr "" + +#. ~ Description for felt sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of felt, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork felt clothing parts" +msgid_plural "patchwork felt clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork felt clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from felt patches in a " +"patchwork fashion. Suitable for making most clothing, though it's much less" +" time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar sheet" +msgstr "" + +#. ~ Description for Kevlar sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Kevlar synthetic fabric, suitable for making bulletproof armor. " +"In this form, unlike rigid plates, it can be stitched." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lycra sheet" +msgstr "" + +#. ~ Description for lycra sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of synthetic fabric blended with stretchy lycra fibers, suitable for" +" making flexible yet strong clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork lycra clothing parts" +msgid_plural "patchwork lycra clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork lycra clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from lycra patches in a" +" patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py lang/json/GENERIC_from_json.py +msgid "neoprene sheet" +msgid_plural "neoprene sheets" +msgstr[0] "Neoprentuch" +msgstr[1] "Neoprentücher" + +#. ~ Description for neoprene sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of neoprene, a synthetic rubber, suitable for making underwater " +"gear." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork neoprene clothing parts" +msgid_plural "patchwork neoprene clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork neoprene clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from neoprene patches " +"in a patchwork fashion, with waterproofed seams. Suitable for making most " +"clothing, though it's much less time-efficient than if using proper material" +" sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex sheet" +msgstr "" + +#. ~ Description for Nomex sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Nomex synthetic fabric, suitable for making heat-resistant " +"clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork Nomex clothing parts" +msgid_plural "patchwork Nomex clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork Nomex clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together with Nomex thread from " +"Nomex patches in a patchwork fashion. Suitable for making most clothing, " +"though it's much less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric sheet" +msgstr "" + +#. ~ Description for synthetic fabric sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of synthetic fabric, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork synthetic fabric clothing parts" +msgid_plural "patchwork synthetic fabric clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork synthetic fabric clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from synthetic fabric " +"patches in a patchwork fashion. Suitable for making most clothing, though " +"it's much less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar thread" +msgstr "" + +#. ~ Description for Kevlar thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some very durable Kevlar thread that would be particularly useful for making" +" ballistic armor, though it's fine to use in place of normal thread too, in " +"most cases. Making armor-grade Kevlar sheets from this would need a " +"particularly tight weave, and so would need some specialized machinery." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex thread" +msgstr "" + +#. ~ Description for Nomex thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some heat-resistant Nomex thread that would be particularly useful for " +"making heat protection gear, though it's fine to use in place of normal " +"thread too, in most cases." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "handloaded .22 CB" msgid_plural "handloaded .22 CB" @@ -5824,6 +6254,18 @@ msgstr "" "ist dazu ausgelegt, heiß beim Einschlag zu brennen, Panzerungen zu " "durchdringen und brennbare Substanzen anzuzünden." +#: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py +msgid "orichalcum arrow" +msgstr "" + +#. ~ Description for orichalcum arrow +#: lang/json/AMMO_from_json.py +msgid "" +"An arrow composed of a sliver of orichalcum. The arrow has a mysterious " +"glow. Has a very high chance of staying intact when fired, however can only" +" be fired from Ichaival." +msgstr "" + #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "dragon blood" msgid_plural "dragon blood" @@ -5871,8 +6313,29 @@ msgstr[1] "" #. ~ Description for crystallized mana #: lang/json/AMMO_from_json.py msgid "" -"Some crystallized mana. This can be reloaded into rechargable mana crystals," -" but can never be unloaded." +"Some crystallized mana. This can be reloaded into rechargable mana " +"crystals, but can never be unloaded." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lump of orichalcum" +msgstr "" + +#. ~ Description for lump of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A heavy formed piece of strange metal. Useful for some crafting recipes." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "sliver of orichalcum" +msgstr "" + +#. ~ Description for sliver of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A sliver of a strange glowing metal. Useful as a weapon, but better suited " +"for crafting." msgstr "" #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py @@ -7074,8 +7537,10 @@ msgstr[1] "Wehrgehänge" #. ~ Use action holster_msg for pair of rollerblades. #. ~ Use action holster_msg for pair of rollerskates. #. ~ Use action holster_msg for C.R.I.T web belt. +#. ~ Use action holster_msg for technomancer's toolbelt. #. ~ Use action holster_msg for hollow cane. -#: lang/json/ARMOR_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/ARMOR_from_json.py lang/json/ARMOR_from_json.py +#: lang/json/GENERIC_from_json.py #, no-python-format msgid "You sheath your %s" msgstr "Du steckst %s in die Scheide." @@ -7766,6 +8231,46 @@ msgid "" "small straps designed to better distribute the weight." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail chausses" +msgid_plural "pairs of chainmail chausses" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of chainmail chausses +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail chausses that cover the feet, like booties made of " +"chainmail." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail gloves" +msgid_plural "pairs of chainmail gloves" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of chainmail gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail gloves. They fully enclose the fingers and provide " +"excellent protection, but are somewhat cumbersome." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "faraday chainmail suit" +msgid_plural "faraday chainmail suits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for faraday chainmail suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A fully customized chainmail suit that can be worn over your normal " +"clothing. The suit is conductively interconnected, protecting against " +"electricity." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "leather chaps" msgid_plural "leather chaps" @@ -7941,6 +8446,28 @@ msgstr "" "Ein buntes und lächerliches Kostüm für einen Clown. Bietet angemessenen " "Lagerplatz." +#: lang/json/ARMOR_from_json.py +msgid "clown wig" +msgid_plural "clown wigs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for clown wig +#: lang/json/ARMOR_from_json.py +msgid "A colorful and ridiculous wig fit for a clown." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "clown nose" +msgid_plural "clown noses" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for clown nose +#: lang/json/ARMOR_from_json.py +msgid "A red latex nose often seen being worn by clowns." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fur coat" msgid_plural "fur coats" @@ -8229,6 +8756,22 @@ msgid "A white button-down shirt with long sleeves. Looks professional!" msgstr "" "Ein weißes Button-Down-Hemd mit langen Ärmeln. Sieht professionell aus!" +#: lang/json/ARMOR_from_json.py +msgid "drinking hat" +msgid_plural "drinking hats" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for drinking hat +#: lang/json/ARMOR_from_json.py +msgid "" +"This is an improvised harness that can be worn over other headgear or bare " +"head, made from two small liquid containers, a rubber hose, a bundle of " +"steel wire, and some cordage. A convenient and simple device for hands-free" +" drinking, though the liquid inside would spill if you put it into your " +"backpack." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "wedding dress" msgid_plural "wedding dresses" @@ -8388,6 +8931,32 @@ msgstr[1] "Bauchtaschen" msgid "Provides a bit of extra storage, with minimal encumbrance." msgstr "Bietet ein bisschen zusätzlichen Lagerraum mit minimaler Hinderung." +#: lang/json/ARMOR_from_json.py +msgid "underarm protector" +msgid_plural "underarm protectors" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for underarm protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A sturdy cotton plastron that protects much of the torso, the dominant " +"shoulder, and underarm while fencing." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "plastic chest protector" +msgid_plural "plastic chest protectors" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for plastic chest protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A rigid plastic plastron with molded cups to be worn by female fencers for " +"protection while fencing." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fencing jacket" msgid_plural "fencing jackets" @@ -8404,6 +8973,34 @@ msgstr "" "von Fechtern benutzt, um Unfälle zu vermeiden. Sie hat keinerlei Lagerraum, " "aber ist sehr bequem." +#: lang/json/ARMOR_from_json.py +msgid "lamé (foil)" +msgid_plural "lamé (foil)s" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lamé (foil) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive vest with the zipper on the back used by " +"fencers for electronic scoring. Its outer layer is a woven mix of sturdy " +"cotton and stainless steel strands." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "lamé (saber)" +msgid_plural "lamé (saber)s" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lamé (saber) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive jacket used by fencers for electronic " +"scoring. Its outer layer is a woven mix of sturdy cotton and stainless " +"steel strands." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fencing mask" msgid_plural "fencing masks" @@ -8428,6 +9025,32 @@ msgstr "" "Eine verstärkte Hose, die von Fechtern benutzt wird, um Verletzungen zu " "vermeiden." +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet" +msgid_plural "fencing gauntlets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fencing gauntlet +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet (left)" +msgid_plural "fencing gauntlet (left)s" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fencing gauntlet (left) +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers. This one is left-handed." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of fire gauntlets" msgid_plural "pairs of fire gauntlets" @@ -8848,22 +9471,6 @@ msgstr[1] "Paar Pelzhandschuhe" msgid "A pair of warm fur gloves. They are somewhat cumbersome." msgstr "Ein Paar warme Pelzhandschuhe. Sie sind etwas hinderlich." -#: lang/json/ARMOR_from_json.py -msgid "pair of survivor wetsuit gloves" -msgid_plural "pairs of survivor wetsuit gloves" -msgstr[0] "Paar Überlebendentaucheranzugshandschuhe" -msgstr[1] "Paar Überlebendentaucheranzugshandschuhe" - -#. ~ Description for pair of survivor wetsuit gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" -" wear while providing maximum protection under extreme conditions." -msgstr "" -"Ein Paar angepasste, mit Kevlar gepanzerte Neoprenhandschuhe, die so " -"modifiziert wurden, dass sie einfach zu tragen sind und gleichzeitig " -"maximalen Schutz unter extremen Bedingungen bieten." - #: lang/json/ARMOR_from_json.py msgid "pair of heavy survivor gloves" msgid_plural "pairs of heavy survivor gloves" @@ -8933,6 +9540,20 @@ msgstr "" "wurden, dass sie einfach zu tragen sind und gleichzeitig maximalen Schutz " "unter extremen Bedingungen bieten." +#: lang/json/ARMOR_from_json.py +msgid "pair of fingerless survivor gloves" +msgid_plural "pairs of fingerless survivor gloves" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of fingerless survivor gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored cloth gloves with no fingers, modified " +"to be easy to wear while providing maximum protection under extreme " +"conditions." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of medical gloves" msgid_plural "pairs of medical gloves" @@ -9189,17 +9810,6 @@ msgstr "" "Eine große Brille, welche deine Augen komplett abdeckt. Bietet " "hervorragenden Schutz vor Umweltgefahren." -#: lang/json/ARMOR_from_json.py -msgid "pair of swim goggles" -msgid_plural "pairs of swim goggles" -msgstr[0] "Schwimmbrille" -msgstr[1] "Schwimmbrillen" - -#. ~ Description for pair of swim goggles -#: lang/json/ARMOR_from_json.py -msgid "A small pair of goggles made for swimming." -msgstr "Ein kleine Brille, die fürs Schwimmen gemacht wurde." - #: lang/json/ARMOR_from_json.py msgid "pair of welding goggles" msgid_plural "pairs of welding goggles" @@ -9243,23 +9853,6 @@ msgstr "" "Eine schwere Wolljacke in Lebensgröße. Schwer zu tragen, aber warm und mit " "tiefen Taschen." -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit" -msgid_plural "survivor wetsuits" -msgstr[0] "Überlebendentaucheranzug" -msgstr[1] "Überlebendentaucheranzüge" - -#. ~ Description for survivor wetsuit -#: lang/json/ARMOR_from_json.py -msgid "" -"A lightweight, hand-built combination armor made from a cut-down bulletproof" -" vest and a reinforced neoprene wetsuit. Protects from the elements as well" -" as from harm." -msgstr "" -"Eine leichte, handgefertigte Verbundrüstung aus einer zerschnittenen " -"kugelsicheren Weste und einem Neoprentaucheranzug. Schützt vor den Elementen" -" sowie vor Schaden." - #: lang/json/ARMOR_from_json.py msgid "hakama" msgid_plural "hakamas" @@ -9839,20 +10432,6 @@ msgstr "" "Eine maßgeschneiderte gepanzerte Nomex- und Kevlarkapuze, sehr stark und " "strapazierfähig." -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit hood" -msgid_plural "survivor wetsuit hoods" -msgstr[0] "Überlebendentaucheranzugsmaske" -msgstr[1] "Überlebendentaucheranzugsmasken" - -#. ~ Description for survivor wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "" -"A customized armored neoprene and Kevlar hood, very strong and durable." -msgstr "" -"Eine maßgeschneiderte gepanzerte Neopren- und Kevlarkapuze, sehr stark und " -"strapazierfähig." - #: lang/json/ARMOR_from_json.py msgid "light survivor hood" msgid_plural "light survivor hoods" @@ -10656,18 +11235,25 @@ msgstr[0] "Ledergürtel" msgstr[1] "Ledergürtel" #. ~ Use action holster_msg for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_msg for magic leather belt. +#. ~ Use action holster_msg for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py #, no-python-format msgid "You tuck your %s into your %s" msgstr "Du steckst %s in %s" #. ~ Use action holster_prompt for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_prompt for magic leather belt. +#. ~ Use action holster_prompt for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Stick what into your belt" msgstr "Was in deinen Gürtel stecken" #. ~ Description for leather belt -#: lang/json/ARMOR_from_json.py +#. ~ Description for magic leather belt +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py msgid "A leather belt. Useful for making your pair of pants fit." msgstr "Ein Ledergürtel. Nützlich, um deine Hose passend zu machen." @@ -10850,6 +11436,20 @@ msgstr "" "Ein paar Taschen, die an den Schenkeln mittels gekrümmter Riemen getragen " "werden können. Diese Variante wird vom Militär bevorzugt." +#: lang/json/ARMOR_from_json.py +msgid "leotard" +msgid_plural "leotard" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for leotard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment, covering the body from the groin to the " +"shoulders. With its deep scoop-cut back and high waist cuts, this garment " +"is perfect for showcasing your physique on the stage." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "Linux t-shirt" msgid_plural "Linux t-shirts" @@ -11777,39 +12377,6 @@ msgstr "" "Eine große flexible Scheide zum Halten von Schwertern und anderen großen " "Klingen. Aktiviere sie, um eine Waffe reinzustecken oder zu ziehen." -#: lang/json/ARMOR_from_json.py -msgid "shark suit" -msgid_plural "shark suits" -msgstr[0] "Haischutzanzug" -msgstr[1] "Haischutzanzüge" - -#. ~ Description for shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It comes with attached plastic helmet and booties." -msgstr "" -"Ein einteiliger Kettenpanzeranzug, der von Sporttauchern für den Schutz " -"gegen Haibisse getragen wird. Zum Anzug gehören ein angebrachter Plastikhelm" -" und Schuhe." - -#: lang/json/ARMOR_from_json.py -msgid "faraday shark suit" -msgid_plural "faraday shark suits" -msgstr[0] "Faraday-Haischutzanzug" -msgstr[1] "Faraday-Haischutzanzüge" - -#. ~ Description for faraday shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It has been conductively interconnected, protecting against " -"electricity." -msgstr "" -"Ein einteiliger Kettenpanzeranzug, der von Sporttauchern für den Schutz " -"gegen Haibisse getragen wird. Er wurde so isoliert, dass er vor Elektrizität" -" schützt." - #: lang/json/ARMOR_from_json.py msgid "sheath" msgid_plural "sheathes" @@ -11889,6 +12456,19 @@ msgstr "" "Eine kurze Jeanshose. Sie ist dick und feste und bietet ausgezeichneten " "Schutz vor Schnitten." +#: lang/json/ARMOR_from_json.py +msgid "thermal shirt" +msgid_plural "thermal shirts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for thermal shirt +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, form-fitting long-sleeved spandex undershirt that helps " +"maintains body temperature." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "skinny tie" msgid_plural "skinny ties" @@ -12408,13 +12988,9 @@ msgstr[1] "Testpersonenanzüge" #: lang/json/ARMOR_from_json.py msgid "" "A thin, short-sleeved and short-legged one-piece suit. Judging by the odd " -"tailoring and adjustment points... maybe you don't want to know who wore " -"it. Provides nominal storage and is not very encumbering." +"tailoring and adjustment points… maybe you don't want to know who wore it. " +"Provides nominal storage and is not very encumbering." msgstr "" -"Ein dünner kurzärmeliger und kurzbeiniger Anzug in einem Stück. Nach dem " -"merkwürdigem Schnitt und den Anpassungsstellen zu urteilen … willst du " -"vielleicht nicht wissen, wer ihn trug. Bietet geringfügigen Lagerplatz und " -"ist nicht sehr hinderlich." #: lang/json/ARMOR_from_json.py msgid "suit" @@ -12497,6 +13073,7 @@ msgstr[1] "Überlebendengürtel" #. ~ Use action holster_prompt for survivor utility belt. #. ~ Use action holster_prompt for hiking backpack. #. ~ Use action holster_prompt for C.R.I.T web belt. +#. ~ Use action holster_prompt for technomancer's toolbelt. #: lang/json/ARMOR_from_json.py msgid "Sheath blade" msgstr "Klinge einstecken" @@ -12916,17 +13493,6 @@ msgstr "" "einer Siedlung oder einer postapokalyptischen Crew bist, ist dieser Hut " "genau für dich geeignet." -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming trunks" -msgid_plural "pairs of swimming trunks" -msgstr[0] "Badehose" -msgstr[1] "Badehosen" - -#. ~ Description for pair of swimming trunks -#: lang/json/ARMOR_from_json.py -msgid "A pair of swimming trunks, with netting." -msgstr "Eine Badehose mit Netz." - #: lang/json/ARMOR_from_json.py msgid "t-shirt" msgid_plural "t-shirts" @@ -13205,60 +13771,6 @@ msgstr "" "Eine elegante Weste. Ideal für diese Momente, wenn das Tragen eines Hemdes " "zu gewöhnlich und ein Anzug zu hochnäsig wäre." -#: lang/json/ARMOR_from_json.py -msgid "wetsuit" -msgid_plural "wetsuits" -msgstr[0] "Taucheranzug" -msgstr[1] "Taucheranzüge" - -#. ~ Description for wetsuit -#: lang/json/ARMOR_from_json.py -msgid "A full-body neoprene wetsuit." -msgstr "Ein Ganzkörper-Neoprenanzug" - -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming gloves" -msgid_plural "pairs of swimming gloves" -msgstr[0] "Paar Schwimmhandschuhe" -msgstr[1] "Paar Schwimmhandschuhe" - -#. ~ Description for pair of swimming gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of very flexible neoprene-silicone rubber gloves, suitable for " -"underwater use." -msgstr "" -"Ein Paar sehr flexibler Neopren-Silikon-Gummihandschuhe, welche fürs " -"Schwimmen und Tauchen geeignet sind." - -#: lang/json/ARMOR_from_json.py -msgid "wetsuit hood" -msgid_plural "wetsuit hoods" -msgstr[0] "Neoprenanzugskapuze" -msgstr[1] "Neoprenanzugskapuzen" - -#. ~ Description for wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "A neoprene hood, commonly worn by divers." -msgstr "Eine Neoprenanzugskapuze, üblicherweise von Tauchern getragen." - -#: lang/json/ARMOR_from_json.py -msgid "spring suit" -msgid_plural "spring suits" -msgstr[0] "kurzer Nassanzug" -msgstr[1] "kurze Nassanzüge" - -#. ~ Description for spring suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A long-sleeved spring wetsuit with pink color details and cleavage-" -"enhancing, hip-accentuating construction. Not as protective as a full-body " -"suit, but also less restrictive." -msgstr "" -"Ein langärmeliger kurzer Nassanzug mit rosa Farbdetails und einer " -"dekoletéschönenden, hüftenbetonenden Machart. Nicht so schützend wie ein " -"Ganzkörperanzug, dafür aber auch weniger hinderlich." - #: lang/json/ARMOR_from_json.py msgid "pair of army winter gloves" msgid_plural "pairs of army winter gloves" @@ -13621,6 +14133,35 @@ msgstr "" "Ein Plastiklaken mit mehreren Ösen, um ihn mit Seil oder Kordel zu sichern. " "Nützlich für improvisierten Regenschutz." +#: lang/json/ARMOR_from_json.py +msgid "unitard" +msgid_plural "unitards" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for unitard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment resembling a crew necked leotard combined with " +"leggings. Commonly used by gymnasts, dancers and equestrian vaulters, the " +"unitard provides overall coverage with great flexibility." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "zentai" +msgid_plural "zentais" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for zentai +#: lang/json/ARMOR_from_json.py +msgid "" +"Short for 'zenshin taitsu', a zentai is a form fitting full body nylon and " +"spandex garment. Though it covers your face, you can see through the " +"integrated hood. With a couple of these and some friends and you could put " +"on some kabuki." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of bone arm guards" msgid_plural "pairs of bone arm guards" @@ -16575,6 +17116,162 @@ msgstr "" "alle DoubleTech-Energierüstungen erfordern die Steuerungs- und " "Klimaregulierungssysteme direkten Hautkontakt." +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming trunks" +msgid_plural "pairs of swimming trunks" +msgstr[0] "Badehose" +msgstr[1] "Badehosen" + +#. ~ Description for pair of swimming trunks +#: lang/json/ARMOR_from_json.py +msgid "A pair of swimming trunks, with netting." +msgstr "Eine Badehose mit Netz." + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit" +msgid_plural "wetsuits" +msgstr[0] "Taucheranzug" +msgstr[1] "Taucheranzüge" + +#. ~ Description for wetsuit +#: lang/json/ARMOR_from_json.py +msgid "A full-body neoprene wetsuit." +msgstr "Ein Ganzkörper-Neoprenanzug" + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit hood" +msgid_plural "wetsuit hoods" +msgstr[0] "Neoprenanzugskapuze" +msgstr[1] "Neoprenanzugskapuzen" + +#. ~ Description for wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "A neoprene hood, commonly worn by divers." +msgstr "Eine Neoprenanzugskapuze, üblicherweise von Tauchern getragen." + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit hood" +msgid_plural "survivor wetsuit hoods" +msgstr[0] "Überlebendentaucheranzugsmaske" +msgstr[1] "Überlebendentaucheranzugsmasken" + +#. ~ Description for survivor wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "" +"A customized armored neoprene and Kevlar hood, very strong and durable." +msgstr "" +"Eine maßgeschneiderte gepanzerte Neopren- und Kevlarkapuze, sehr stark und " +"strapazierfähig." + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit" +msgid_plural "survivor wetsuits" +msgstr[0] "Überlebendentaucheranzug" +msgstr[1] "Überlebendentaucheranzüge" + +#. ~ Description for survivor wetsuit +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, hand-built combination armor made from a cut-down bulletproof" +" vest and a reinforced neoprene wetsuit. Protects from the elements as well" +" as from harm." +msgstr "" +"Eine leichte, handgefertigte Verbundrüstung aus einer zerschnittenen " +"kugelsicheren Weste und einem Neoprentaucheranzug. Schützt vor den Elementen" +" sowie vor Schaden." + +#: lang/json/ARMOR_from_json.py +msgid "pair of survivor wetsuit gloves" +msgid_plural "pairs of survivor wetsuit gloves" +msgstr[0] "Paar Überlebendentaucheranzugshandschuhe" +msgstr[1] "Paar Überlebendentaucheranzugshandschuhe" + +#. ~ Description for pair of survivor wetsuit gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" +" wear while providing maximum protection under extreme conditions." +msgstr "" +"Ein Paar angepasste, mit Kevlar gepanzerte Neoprenhandschuhe, die so " +"modifiziert wurden, dass sie einfach zu tragen sind und gleichzeitig " +"maximalen Schutz unter extremen Bedingungen bieten." + +#: lang/json/ARMOR_from_json.py +msgid "spring suit" +msgid_plural "spring suits" +msgstr[0] "kurzer Nassanzug" +msgstr[1] "kurze Nassanzüge" + +#. ~ Description for spring suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A long-sleeved spring wetsuit with pink color details and cleavage-" +"enhancing, hip-accentuating construction. Not as protective as a full-body " +"suit, but also less restrictive." +msgstr "" +"Ein langärmeliger kurzer Nassanzug mit rosa Farbdetails und einer " +"dekoletéschönenden, hüftenbetonenden Machart. Nicht so schützend wie ein " +"Ganzkörperanzug, dafür aber auch weniger hinderlich." + +#: lang/json/ARMOR_from_json.py +msgid "faraday shark suit" +msgid_plural "faraday shark suits" +msgstr[0] "Faraday-Haischutzanzug" +msgstr[1] "Faraday-Haischutzanzüge" + +#. ~ Description for faraday shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It has been conductively interconnected, protecting against " +"electricity." +msgstr "" +"Ein einteiliger Kettenpanzeranzug, der von Sporttauchern für den Schutz " +"gegen Haibisse getragen wird. Er wurde so isoliert, dass er vor Elektrizität" +" schützt." + +#: lang/json/ARMOR_from_json.py +msgid "shark suit" +msgid_plural "shark suits" +msgstr[0] "Haischutzanzug" +msgstr[1] "Haischutzanzüge" + +#. ~ Description for shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It comes with attached plastic helmet and booties." +msgstr "" +"Ein einteiliger Kettenpanzeranzug, der von Sporttauchern für den Schutz " +"gegen Haibisse getragen wird. Zum Anzug gehören ein angebrachter Plastikhelm" +" und Schuhe." + +#: lang/json/ARMOR_from_json.py +msgid "pair of swim goggles" +msgid_plural "pairs of swim goggles" +msgstr[0] "Schwimmbrille" +msgstr[1] "Schwimmbrillen" + +#. ~ Description for pair of swim goggles +#: lang/json/ARMOR_from_json.py +msgid "A small pair of goggles made for swimming." +msgstr "Ein kleine Brille, die fürs Schwimmen gemacht wurde." + +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming gloves" +msgid_plural "pairs of swimming gloves" +msgstr[0] "Paar Schwimmhandschuhe" +msgstr[1] "Paar Schwimmhandschuhe" + +#. ~ Description for pair of swimming gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of very flexible neoprene-silicone rubber gloves, suitable for " +"underwater use." +msgstr "" +"Ein Paar sehr flexibler Neopren-Silikon-Gummihandschuhe, welche fürs " +"Schwimmen und Tauchen geeignet sind." + #: lang/json/ARMOR_from_json.py msgid "helmet netting" msgid_plural "helmet nettings" @@ -17195,6 +17892,54 @@ msgid_plural "shotgun bandoliers" msgstr[0] "Flintenpatronengurt" msgstr[1] "Flintenpatronengurte" +#: lang/json/ARMOR_from_json.py +msgid "technomancer's toolbelt" +msgid_plural "technomancer's toolbelts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for technomancer's toolbelt +#: lang/json/ARMOR_from_json.py +msgid "" +"A custom-built leather utility belt that instantly creates any tool that you" +" reach for. Activate to sheathe/draw a weapon." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "seven league boots" +msgid_plural "pairs of seven league boots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for seven league boots +#. ~ Description for boots of haste +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, they look like they've seen a lot of use and will likely see a lot " +"more. They make your movement a lot less work." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "boots of haste" +msgid_plural "pairs of boots of haste" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/ARMOR_from_json.py +msgid "boots of grounding" +msgid_plural "pairs of boots of grounding" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for boots of grounding +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of leather with " +"small engraved runes seemingly filled with rubber. When worn, you are " +"immune to damage from electricity." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "copper infusion bracelet" msgid_plural "copper infusion bracelets" @@ -17217,7 +17962,7 @@ msgstr[1] "" #. ~ Description for copper circlet #: lang/json/ARMOR_from_json.py msgid "" -"A wooden band with copper trimmings to be worn on the head. Touching your " +"A wooden band with copper trimmings to be worn on the head. Touching your " "temples with it on makes you feel very calm." msgstr "" @@ -17871,7 +18616,7 @@ msgstr[1] "Tarnvorrichtungs-KBMs" msgid "" "This high-power system uses a set of cameras and LEDs to make the user blend" " into their surroundings, rendering them fully invisible to eyes and optical" -" sensors. However, this does't prevent detection from other means such as " +" sensors. However, this doesn't prevent detection from other means such as " "infrared, sonar, etc." msgstr "" @@ -17971,9 +18716,9 @@ msgstr[1] "Ethanolverbrennungs-KBMs" #. ~ Description for Ethanol Burner CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A reactor that burns alcohol as fuel in an extremely efficient reaction. " -"However, the user will still suffer the inebriating effects of the " -"substance." +"A reactor that burns alcohol as fuel in an extremely efficient reaction. It" +" can store up to 500ml and accept ethanol, methanol and denatured aclohol as" +" fuel." msgstr "" #: lang/json/BIONIC_ITEM_from_json.py @@ -17983,8 +18728,7 @@ msgstr[0] "Luftverdampfungs-KBM" msgstr[1] "Luftverdampfungs-KBMs" #. ~ Description for Aero-Evaporator CBM -#. ~ Description for Aero-Evaporator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "This unit draws moisture from the surrounding air, which then is poured from" " a fingertip in the form of water. It may fail in very dry environments." @@ -18030,7 +18774,7 @@ msgstr[1] "Gesichtsverzerrungs-KBMs" #: lang/json/BIONIC_ITEM_from_json.py msgid "" "Through controlled application of electrochemical impulses, this bionic " -"mudule lets the user alter their facial structure so as to subtly affect the" +"module lets the user alter their facial structure so as to subtly affect the" " reactions of others. This grants a bonus to all social interactions." msgstr "" @@ -18056,10 +18800,10 @@ msgstr[1] "Fingerhack-KBMs" #. ~ Description for Fingerhack CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A miniature electrohack, surgically embedded in a finger of the right hand. " -"This is an all-purpose hacking unit used to override control panels and the " -"like, but not computers. Computer proficiency is important, and a failed " -"use may cause damage." +"A miniature electrohack, surgically embedded in a finger of the right hand." +" This is an all-purpose hacking unit used to override control panels and " +"the like, but not computers. Computer proficiency is important, and a " +"failed use may cause damage." msgstr "" #: lang/json/BIONIC_ITEM_from_json.py @@ -18353,8 +19097,7 @@ msgstr[0] "Kunstnachtgenerator-KBM" msgstr[1] "Kunstnachtgenerator-KBMs" #. ~ Description for Artificial Night Generator CBM -#. ~ Description for Artificial Night Generator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "When active, this bionic eliminates all light within a 15 tile radius " "through destructive interference." @@ -18426,7 +19169,7 @@ msgstr[1] "Energierüstung-Mk.-II-Schnittstellen-KBMs" msgid "" "Interfaces the user's bionic power system with the internal charging port on" " suits of power armor, allowing them to draw from the user's bionic power " -"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " +"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " "DoubleTech Inc., to meet the popularity of the Mk. II power armor series." msgstr "" @@ -18973,7 +19716,7 @@ msgstr[1] "" #. ~ Description for Itchy Metal Thing #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"You can't recognise what this is supposed to be, but it's a very awkward " +"You can't recognize what this is supposed to be, but it's a very awkward " "thing to have in one's body." msgstr "" @@ -18985,8 +19728,7 @@ msgstr[1] "" #. ~ Description for Glowy Thing #: lang/json/BIONIC_ITEM_from_json.py -msgid "" -"It's a... thing? And it glows, at least it did when it was plugged in." +msgid "It's a… thing? And it glows, at least it did when it was plugged in." msgstr "" #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py @@ -19610,8 +20352,8 @@ msgstr[1] "Die Kunst des Servierens" #. ~ Description for To Serve Man #: lang/json/BOOK_from_json.py -msgid "It's... it's a cookbook!" -msgstr "Es ist … es ist ein Kochbuch!" +msgid "It's… it's a cookbook!" +msgstr "" #: lang/json/BOOK_from_json.py msgid "Cucina Italiana" @@ -19722,11 +20464,8 @@ msgstr[1] "PE050 »Alpha«: Vorbericht" msgid "" "This sheaf of papers-dated two weeks before all this started-describes some " "new chemical formula, and its effects on human subjects. It's stamped " -"\"APPROVED\"..." +"\"APPROVED\"…" msgstr "" -"Dieser Bündel Papier – datiert auf zwei Wochen, bevor all dies begann – " -"beschreibt eine neue chemische Formel sowie ihre Auswirkungen auf " -"Testpersonen. Er ist mit »ZUGELASSEN« abgestempelt." #: lang/json/BOOK_from_json.py msgid "lab journal-Dionne" @@ -19756,8 +20495,8 @@ msgstr[1] "PE065 »Chimera«: Optimale Vorgehensweisen" #: lang/json/BOOK_from_json.py msgid "" "This sheaf of papers describes a new chemical formula in detail and supplies" -" instructions for its use as some sort of ... crowd-control catalyst? That " -"can't be right..." +" instructions for its use as some sort of… crowd-control catalyst? That " +"can't be right…" msgstr "" #: lang/json/BOOK_from_json.py @@ -19771,13 +20510,8 @@ msgstr[1] "Laborjournale: Smythe" msgid "" "This team logbook details several varieties of mutagenic experiments, " "focusing on those derived from flesh contaminated with XE037. The results " -"look promising but the procurement methods seem awfully vague..." +"look promising but the procurement methods seem awfully vague…" msgstr "" -"Dieses Teamlogbuch erklärt detailliert mehrere Varianten mutagener " -"Experimente und konzentiert sich auf diejenigen, die von Fleisch, das mit " -"XE037 kontaminiert wurde, abgeleitet wurden. Die Ergebnisse sehen " -"vielversprechend aus, aber die Beschaffungsmethoden scheinen fürchterlich " -"vage zu sein." #: lang/json/BOOK_from_json.py msgid "standpipe maintenance log" @@ -19790,11 +20524,8 @@ msgstr[1] "Standrohr-Wartungsprotokolle" msgid "" "This binder details the scheduled maintenance for several plumbing systems " "throughout the facility. However, some of the log sheets seem to be filled " -"with...a chemical formula?" +"with… a chemical formula?" msgstr "" -"Dieser Einband beschreibt detailliert die planmäßige Wartung für " -"verschiedene Rohrsysteme durch die Einrichtung. Allerdings scheinen ein paar" -" der Protokollbögen mit einer … chemischen Formel (?) ausgefüllt zu sein." #: lang/json/BOOK_from_json.py msgid "chemical reference-CLASSIFIED" @@ -19844,11 +20575,8 @@ msgstr[1] "PE023 »Medizinisch«: Anwendung und Erkenntnisse" #: lang/json/BOOK_from_json.py msgid "" "This binder of highly technical papers describes some new chemical formula, " -"and its effects on human subjects. It's stamped \"APPROVED\"...." +"and its effects on human subjects. It's stamped \"APPROVED\"…" msgstr "" -"Dieser Einband aus hoch-technischen wissenschaftlichen Arbeiten beschreibt " -"irgendeine neue chemische Formel sowie ihre Auswirkungen auf Testpersonen. " -"Er wurde mit »zugelassen« abgestempelt." #: lang/json/BOOK_from_json.py msgid "PE070 \"Raptor\": Proposal" @@ -20173,11 +20901,8 @@ msgstr[1] "Laborjournale: Herrera" msgid "" "This hefty binder contains a multitude of diagrams and technical " "specifications for various electronic materials. Some of the diagrams use " -"symbols you've not seen before..." +"symbols you've not seen before…" msgstr "" -"Dieser dicke Einband enthält eine Vielzahl von Diagrammen und technischen " -"Spezifikationen für diverse elektronische Materialien. Einige der Diagramme " -"benutzen Symbole, die du zuvor noch nicht gesehen hast …" #: lang/json/BOOK_from_json.py msgid "2XI design binder-CLASSIFIED" @@ -20253,13 +20978,13 @@ msgstr[1] "" #. ~ Description for nearby fire #. ~ Description for muscle #. ~ Description for wind +#. ~ Description for metabolism #. ~ Description for a smoking device and a source of flame #. ~ Description for abstract map #. ~ Description for seeing this is a bug #. ~ Description for weapon #: lang/json/BOOK_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py #: lang/json/furniture_from_json.py lang/json/skill_from_json.py msgid "seeing this is a bug" msgid_plural "seeing this is a bugs" @@ -20618,13 +21343,9 @@ msgstr[1] "Handladers Helfer" #: lang/json/BOOK_from_json.py msgid "" "Everything you could ever want to know about handloading ammunition, sealed " -"with a ...childproof cover. Apparently a liability thing, because the " -"chapter on explosive rounds covers them in excellent detail too." +"with a… childproof cover. Apparently a liability thing, because the chapter" +" on explosive rounds covers them in excellent detail too." msgstr "" -"Alles, was du jemals über das Wiederladen von Munition wissen wollen " -"könntest, versiegelt mit einem … kindersicheren Umschlag. Scheinbar ist es " -"wegen der Haftung, denn das Kapitel über Explosivmunition behandelt sie auch" -" sehr ausführlich." #: lang/json/BOOK_from_json.py msgid "Rivtech design binder" @@ -21203,7 +21924,7 @@ msgid "" "This lab notebook is filled with the collective discoveries and refinements " "of a research team dedicated to nuclear energy. You don't think you're " "ready to start a second Cataclysm, but the general information provided " -"might be useful..." +"might be useful…" msgstr "" #: lang/json/BOOK_from_json.py @@ -22651,6 +23372,34 @@ msgid "" " that the author's real name is Fereidoun M. Esfandiary." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Bastiat Collection\", a large collection of essays " +"by Frederic Bastiat." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Anarchy, State, and Utopia\" by Robert Nozick, one of " +"the most influential books of modern libertarianism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Socialism\" by Ludwig von Mises, a critical examination " +"of socialism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The ABC of Communism\" by Nikolai Bukharin, one of the " +"most influential books of early Marxism-Leninism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Anti-Capitalist Mentality\" by Ludwig von Mises." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "phone book" msgid_plural "phone books" @@ -22734,9 +23483,8 @@ msgstr[1] "Bestandsbücher" #. ~ Description for corporate accounting ledger #: lang/json/BOOK_from_json.py -msgid "If you knew what to look for something might stand out..." +msgid "If you knew what to look for something might stand out…" msgstr "" -"Wenn du wüsstest, wonach du suchen müsstest, könnte etwas herausstechen …" #: lang/json/BOOK_from_json.py msgid "patient treatment records" @@ -22991,6 +23739,106 @@ msgstr "" msgid "This is a copy of \"The Secret Garden\" by Frances Burnett." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lieutenant Hornblower\" by C.S. Forester." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Master and Commander\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Warden\" by Anthony Trollope." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Far Side of the World\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"HMS Surprise\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Barchester Towers\" by Anthony Trollope." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Land Ironclads\" by H.G. Wells." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Great Boer War\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Crime of the Congo\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Parasite\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"By Stroke of Sword\" by Andrew Balfour." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Secret Agent\" by Joseph Conrad." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lord Jim\" by Joseph Conrad." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Vanity Fair\" by William Makepeace Thackeray." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Luck of Barry Lyndon\" by William Makepeace " +"Thackeray." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"North and South\" by Elizabeth Gaskell." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Mayor of Casterbridge\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Wessex Tales\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Far from the Madding Crowd\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Captains Courageous\" by Rudyard Kipling." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Canterbury Tales\" by Geoffrey Chaucer." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Harold, the Last of the Saxons\" by Edward Bulwer-" +"Lytton." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Mr Midshipman Easy\" by Frederick Marryat." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Peter Simple\" by Frederick Marryat." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "collector's edition book" msgid_plural "collector's edition book" @@ -24049,11 +24897,12 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "Black Dragons: Swamp Ruins" -msgid_plural "Black Dragons: Swamp Ruinss" +msgid_plural "copies of Black Dragons: Swamp Ruins" msgstr[0] "" msgstr[1] "" -#. ~ Description for Black Dragons: Swamp Ruins +#. ~ Description for {'str': 'Black Dragons: Swamp Ruins', 'str_pl': 'copies +#. of Black Dragons: Swamp Ruins'} #: lang/json/BOOK_from_json.py msgid "" "This book details black dragons: The most evil of dragons, who live in ruins" @@ -24064,28 +24913,61 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "A Beginner's Guide to Alchemy" -msgid_plural "A Beginner's Guide to Alchemys" +msgid_plural "copies of A Beginner's Guide to Alchemy" msgstr[0] "" msgstr[1] "" -#. ~ Description for A Beginner's Guide to Alchemy +#. ~ Description for {'str': "A Beginner's Guide to Alchemy", 'str_pl': +#. "copies of A Beginner's Guide to Alchemy"} #: lang/json/BOOK_from_json.py msgid "A paperback tome for the art of liquid magic, alcohol not included." msgstr "" #: lang/json/BOOK_from_json.py msgid "A Soulbinder's Guide to Necromancy" -msgid_plural "A Soulbinder's Guide to Necromancys" +msgid_plural "copies of A Soulbinder's Guide to Necromancy" msgstr[0] "" msgstr[1] "" -#. ~ Description for A Soulbinder's Guide to Necromancy +#. ~ Description for {'str': "A Soulbinder's Guide to Necromancy", 'str_pl': +#. "copies of A Soulbinder's Guide to Necromancy"} #: lang/json/BOOK_from_json.py msgid "" "A paperback tome for the art of binding undead creatures' souls to dolls, " "along with emulating their healing factor." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "Magitek Illustrated" +msgid_plural "copies of Magitek Illustrated" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'Magitek Illustrated', 'str_pl': 'copies of +#. Magitek Illustrated'} +#: lang/json/BOOK_from_json.py +msgid "" +"A paperback tome for the art of combining modern technology with magic. " +"There is a disclaimer on the back: `Cannith Industries bears no " +"responsibility for malfunctions or accidents for any products mentioned " +"herein`." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "The Weapons of Asgard and Beyond" +msgid_plural "copies of The Weapons of Asgard and Beyond" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'The Weapons of Asgard and Beyond', 'str_pl': +#. 'copies of The Weapons of Asgard and Beyond'} +#: lang/json/BOOK_from_json.py +msgid "" +"An ornate book which appears to be written in Norse runes. Based on the " +"detailed illustrations, it appears to contain information about crafting " +"numerous weapons used by various Gods." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "SugarKin flyer" msgid_plural "SugarKin flyers" @@ -24095,13 +24977,13 @@ msgstr[1] "" #. ~ Description for SugarKin flyer #: lang/json/BOOK_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" +"A flyer for some kind of candy. It shows a picture of a gleaming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" " On the back of the flyer you can see some hastily scribbled words:\n" -" \"Hello my child and welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" +" \"Hello, my child, welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" "1) Never ever get into contact with water, it would melt you! \n" -"2) Avoid humans wiht clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" -"3) Learn how to make caramel ointement, it's the only way to fix your body if you get hurt.\n" -" There's many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" +"2) Avoid humans with clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" +"3) Learn how to make caramel ointment, it's the only way to fix your body if you get hurt.\n" +" There are many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" " I love you,\n" " - F. \"." msgstr "" @@ -24589,7 +25471,7 @@ msgstr "" #. ~ Description for acetylene #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flammable gas that explodes under pressure. Combined with oxygen, " +"A flammable gas that explodes under pressure. Combined with oxygen, " "acetylene makes a great welding gas." msgstr "" @@ -25617,6 +26499,41 @@ msgstr "" "Der Magen einer großen menschenartigen Kreatur. Er ist überraschend lange " "haltbar." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of human fat" +msgid_plural "chunks of human fat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of human fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly harvested from a human body." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human tallow" +msgstr "" + +#. ~ Description for human tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered human fat. It will remain " +"edible for a very long time, and can be used as an ingredient in many foods " +"and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human lard" +msgstr "" + +#. ~ Description for human lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered human fat. It will remain edible for a" +" very long time, and can be used as an ingredient in many foods and " +"projects." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "human flesh" msgid_plural "human fleshes" @@ -25667,6 +26584,61 @@ msgstr "" "Ein winziges Stück essbaren Fleisches. Nicht viel, aber zur Not wird es " "schon reichen." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant meat" +msgid_plural "chunks of mutant meat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Meat from a heavily mutated animal. It has an unsettling loose and spongy " +"texture, but smells… mostly normal. There are strange tangles and " +"formations in it that don't appear natural at all: bits of bone and hair " +"crusted up inside the muscle, as if trying to form another organism. Still," +" seems digestible at least, if you cook it and remove the worst parts." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "scrap of mutant meat" +msgid_plural "scraps of mutant meat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for scrap of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A tiny scrap of meat from a heavily mutated animal. It smells a bit odd, " +"and has bits of hair and bone mixed in that seem like they grew inside the " +"muscle itself. Still, seems digestible at least, if you cook it and remove " +"the worst parts." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid meat" +msgstr "" + +#. ~ Description for mutant humanoid meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered from the body of a heavily mutated creature that was " +"unsettlingly humanoid in appearance. It has odd bits of fur and other " +"tissue lodged in it that clearly don't belong. You'd have to be crazy or " +"starving to eat this." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked cretin" +msgstr "" + +#. ~ Description for cooked cretin +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Cooked meat from a heavily mutated humanoid. Now that the worst bits have " +"been picked out, it's probably digestible, if not very appetizing." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "butchery refuse" msgid_plural "butchery refuse" @@ -25706,6 +26678,24 @@ msgid_plural "cooked scraps of meat" msgstr[0] "gekochte Fleischfetzen" msgstr[1] "gekochte Fleischfetzen" +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked mutant meat" +msgstr "" + +#. ~ Description for cooked mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"This is a cooked chunk of meat from a mutated animal. It has an unsettling," +" spongy texture, but otherwise tastes… mostly normal. Hopefully you got all" +" the bits of hair and bone out…" +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked scrap of mutant meat" +msgid_plural "cooked scraps of mutant meat" +msgstr[0] "" +msgstr[1] "" + #: lang/json/COMESTIBLE_from_json.py msgid "raw offal" msgstr "rohe Innereien" @@ -25943,8 +26933,8 @@ msgstr[1] "rohe Gehirne" #. ~ Description for raw brains #: lang/json/COMESTIBLE_from_json.py -msgid "The brain from an animal. You wouldn't want to eat this raw..." -msgstr "Das Gehirn eines Tieres. Du solltest es nicht roh verzehren." +msgid "The brain from an animal. You wouldn't want to eat this raw…" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "cooked brains" @@ -26003,9 +26993,8 @@ msgstr "gekochtes Bries" #. ~ Description for cooked sweetbread #: lang/json/COMESTIBLE_from_json.py -msgid "Normally a delicacy, it needs a little... something." +msgid "Normally a delicacy, it needs a little… something." msgstr "" -"Normalerweise eine Delikatesse, es braucht aber noch das gewisse etwas..." #: lang/json/COMESTIBLE_from_json.py msgid "bone" @@ -26065,6 +27054,78 @@ msgstr "" "sehr lange Zeit essbar bleiben und kann als Zutat für viele Lebensmittel und" " Projekte benutzt werden." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant fat" +msgid_plural "chunks of mutant fat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of mutant fat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered fat from a heavily mutated animal. You could eat it raw, " +"but it is better used as an ingredient in other foods or projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant tallow" +msgstr "" + +#. ~ Description for mutant tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"animal. It will remain edible for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant lard" +msgstr "" + +#. ~ Description for mutant lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant animal. It " +"will remain edible for a very long time, and can be used as an ingredient in" +" many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant humanoid fat" +msgid_plural "chunks of mutant humanoid fat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of mutant humanoid fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly butchered fat from a heavily mutated humanoid." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid tallow" +msgstr "" + +#. ~ Description for mutant humanoid tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"humanoid. It won't rot for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid lard" +msgstr "" + +#. ~ Description for mutant humanoid lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant humanoid. It" +" won't rot for a very long time, and can be used as an ingredient in many " +"foods and projects." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "chunk of tainted meat" msgid_plural "chunks of tainted meat" @@ -26268,14 +27329,8 @@ msgid "" "covered in ribbed grooves and easily the size of your head. It's still full" " of, er, whatever passes for blood in jabberwocks, and is heavy in your " "hands. After everything you've seen lately, you can't help but remember old" -" sayings about eating the hearts of your enemies..." +" sayings about eating the hearts of your enemies…" msgstr "" -"Eine dicke, massive Masse an Fleisch, oberflächig ähnlich dem Herz eines " -"Säugetiers, überzogen von gerippten Rillen und leicht so groß wie dein Kopf." -" Es ist noch voll von, ähm, was auch immer als Blut in Jabberwocks durchgeht" -" und es liegt schwer in deinen Händen. Nach allem, was du in letzter Zeit " -"gesehen hast, kannst du nicht lassen an alte Geschichten zu denken, über das" -" Verspeißen der Herzen deiner Feinde..." #: lang/json/COMESTIBLE_from_json.py msgid "desiccated putrid heart" @@ -26293,7 +27348,7 @@ msgstr "" "könnte gegessen werden, wenn du besonders hungrig bist, aber es sieht " "einfach nur ekelhaft aus." -#: lang/json/COMESTIBLE_from_json.py +#: lang/json/COMESTIBLE_from_json.py lang/json/ammunition_type_from_json.py msgid "raw milk" msgid_plural "raw milk" msgstr[0] "" @@ -26619,7 +27674,7 @@ msgstr[1] "" #. ~ Description for chicory brew #: lang/json/COMESTIBLE_from_json.py msgid "" -"Toasted, ground chicory root steeped in boiling water. This bitter brew is " +"Toasted, ground chicory root steeped in boiling water. This bitter brew is " "used as a coffee substitute, though it tastes nothing like coffee." msgstr "" @@ -27602,11 +28657,12 @@ msgstr "Konservierte Ananasringe in Wasser. Recht lecker." #: lang/json/COMESTIBLE_from_json.py msgid "lemonade drink mix" -msgid_plural "servings of lemonade drink mix" -msgstr[0] "Limonadenpulvermischung" -msgstr[1] "Portionen Limonadenpulvermischung" +msgid_plural "lemonade drink mix" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for lemonade drink mix +#. ~ Description for {'str': 'lemonade drink mix', 'str_pl': 'lemonade drink +#. mix'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Tangy yellow powder that smells strongly of lemons. Can be mixed with water" @@ -28437,8 +29493,8 @@ msgstr[1] "Erdnussbuttersüßigkeiten" #. ~ Description for peanut butter candy #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of peanut butter cups... your favorite!" -msgstr "Einige Erdnussbutterbecher... deine Lieblingssüßigkeit!" +msgid "A handful of peanut butter cups… your favorite!" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "chocolate candy" @@ -28565,10 +29621,8 @@ msgstr "Leckerer Schokoladenkuchen. Er hat den ganzen Zuckerguss. Den ganzen!" #: lang/json/COMESTIBLE_from_json.py msgid "" "A cake coated in the thickest icing you've ever seen. Someone has written " -"guff in quotation marks on it..." +"guff in quotation marks on it…" msgstr "" -"Ein Kuchen, der die dickste Glasur, die du jemals gesehen hast, hat. Jemand " -"hat »Furz« in Anführungszeichen draufgeschrieben." #: lang/json/COMESTIBLE_from_json.py msgid "chocolate-covered coffee bean" @@ -28613,10 +29667,8 @@ msgstr[1] "Pfefferminzplätzchen" #. ~ Description for peppermint patty #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of soft chocolate-covered peppermint patties... yum!" +msgid "A handful of soft chocolate-covered peppermint patties… yum!" msgstr "" -"Eine Handvoll mit Schokolade überzogene Pfefferminzpasteten... " -"schmackotastisch!" #: lang/json/COMESTIBLE_from_json.py msgid "Necco wafers" @@ -30179,14 +31231,10 @@ msgstr[1] "" #. ~ Description for antibiotics #: lang/json/COMESTIBLE_from_json.py msgid "" -"A prescription-strength antibacterial medication designed to prevent or stop" -" the spread of infection. It's the quickest and most reliable way to cure " -"any infections you might have. One dose lasts twelve hours." +"A strong antibacterial medication designed to prevent or stop the spread of " +"infection. It's the safest way to cure any infections you might have. One " +"dose lasts twelve hours." msgstr "" -"Ein verschreibungspflichtiges antibakterielles Medikament, um Infektionen " -"vorzubeugen oder ihre Ausbreitung zu verhindern. Dies ist die schnellste und" -" zuverlässigste Methode, um jegliche Infektionen, die du vielleicht hast, zu" -" kurieren. Eine Dosis reicht für zwölf Stunden." #: lang/json/COMESTIBLE_from_json.py msgid "antifungal drug" @@ -31156,8 +32204,8 @@ msgstr[1] "" #. ~ Description for antiseptic soaked rag #: lang/json/COMESTIBLE_from_json.py msgid "" -"A rag soaked in antiseptic. Useful for light wounds, probaby won't help with" -" deep bites." +"A rag soaked in antiseptic. Useful for light wounds, probaby won't help " +"with deep bites." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31224,15 +32272,8 @@ msgid "" "oily liquid that shifts from black to purple at unpredictable intervals, " "flecked with tiny gray dots. Given the place you got it from, it's either " "very potent, or highly experimental. Holding it, all the little aches and " -"pains seem to fade, just for a moment..." +"pains seem to fade, just for a moment…" msgstr "" -"Eine apfelrote Gelkapsel in der Größe deines Fingernagels, gefüllit mit " -"einer dicken öligen Flüssigkeit, die sich von schwarz nach lila in " -"unvorhersehbaren Zeitabständen verfärbt und mit winzigen grauen Punkten " -"befleckt ist. Zieht man den Ort, von dem du sie her hast, in Betracht, ist " -"sie entweder sehr wirksam oder hochexperimentell. Wenn du sie so hältst, " -"scheinen all die kleinen Wehwehchen schwächer zu werden, jedenfalls für " -"einen Augenblick …" #: lang/json/COMESTIBLE_from_json.py msgid "cattail jelly" @@ -31249,6 +32290,19 @@ msgstr "" "Klares Gelee, das von Rohlkolben erhalten wurde, hat antiseptische " "Fähigkeiten und kann als Schmerzmittel wirken." +#: lang/json/COMESTIBLE_from_json.py +msgid "destragon" +msgstr "" + +#. ~ Description for destragon +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A prescription-strength antibacterial medication designed to prevent or stop" +" the spread of infection. It contains nearly toxic levels of antibiotics, " +"but can treat any bacterial infections you may encounter. One dose lasts " +"twelve hours." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "MRE entree" msgstr "EPa Hauptgericht" @@ -31693,11 +32747,9 @@ msgstr "abstraktes iv-Mutagenaroma" #. ~ Description for abstract iv mutagen flavor #: lang/json/COMESTIBLE_from_json.py msgid "" -"A super-concentrated mutagen. You need a syringe to inject it... if you " +"A super-concentrated mutagen. You need a syringe to inject it… if you " "really want to?" msgstr "" -"Ein superkonzentriertes Mutagen. Du brauchst eine Spritze, um es zu " -"injizieren … wenn du unbedingt willst?" #: lang/json/COMESTIBLE_from_json.py msgid "mutagenic serum" @@ -31711,10 +32763,8 @@ msgstr "Alpha-Serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen strongly resembling blood. You need a syringe " -"to inject it... if you really want to?" +"to inject it… if you really want to?" msgstr "" -"Ein superkonzentriertes Mutagen, das Blut stark nachempfunden ist. Du " -"brauchst eine Spritze, um es zu injizieren … wenn du unbedingt willst?" #: lang/json/COMESTIBLE_from_json.py msgid "beast serum" @@ -31724,7 +32774,7 @@ msgstr "Biestserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as red as a matador's cape. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31735,10 +32785,8 @@ msgstr "Vogelserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the pre-cataclysmic skies. You " -"need a syringe to inject it... if you really want to?" +"need a syringe to inject it… if you really want to?" msgstr "" -"Ein superkonzentriertes Mutagen in der Farbe des vorapokalyptischen Himmels." -" Du brauchst eine Spritze, um es zu injizieren … wenn du unbedingt willst?" #: lang/json/COMESTIBLE_from_json.py msgid "cattle serum" @@ -31748,10 +32796,8 @@ msgstr "Rindsserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of grass. You need a syringe to " -"inject it... if you really want to?" +"inject it… if you really want to?" msgstr "" -"Ein superkonzentriertes Mutagen in der Farbe von Gras. Du brauchst eine " -"Spritze, um es zu injizieren … wenn du unbedingt willst?" #: lang/json/COMESTIBLE_from_json.py msgid "cephalopod serum" @@ -31761,7 +32807,7 @@ msgstr "Kopffüßlerserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as black as ink. You need a syringe to inject " -"it... if you really want to?" +"it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31772,7 +32818,7 @@ msgstr "Chimärenserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that churns with iridescence. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31783,7 +32829,7 @@ msgstr "Elfaserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a striking sylvan green. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31794,7 +32840,7 @@ msgstr "Katzenserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen, yellow and highly reflective. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31805,11 +32851,8 @@ msgstr "Fischserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the ocean, with white foam at the " -"top. You need a syringe to inject it... if you really want to?" +"top. You need a syringe to inject it… if you really want to?" msgstr "" -"Ein superkonzentriertes Mutagen in der Farbe des Ozeans und weißem Schaum " -"oben drauf. Du brauchst eine Spritze, um es zu injizieren … wenn du " -"unbedingt willst?" #: lang/json/COMESTIBLE_from_json.py msgid "insect serum" @@ -31819,7 +32862,7 @@ msgstr "Insektenserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a beautiful amber color. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31830,7 +32873,7 @@ msgstr "Echsenserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that shifts between various shades of green. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31841,7 +32884,7 @@ msgstr "Luchsenserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as white as a full moon. You need a syringe to" -" inject it... if you really want to?" +" inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31852,7 +32895,7 @@ msgstr "medizinisches Serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like a mixture of bodily fluids. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31863,7 +32906,7 @@ msgstr "Pflanzenserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like pureed spinach. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31874,7 +32917,7 @@ msgstr "Raptorenserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to shift slightly whenever you look " -"at it. You need a syringe to inject it... if you really want to?" +"at it. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31885,7 +32928,7 @@ msgstr "Rattenserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a rather unappealing beige. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31896,7 +32939,7 @@ msgstr "Schleimsserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks very much like the black ooze in the" -" zombies' eyes. You need a syringe to inject it... if you really want to?" +" zombies' eyes. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31907,7 +32950,7 @@ msgstr "Spinnenserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen with pale filaments suspended in it. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31918,7 +32961,7 @@ msgstr "Troglobiontenserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to recoil from the light. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31929,7 +32972,7 @@ msgstr "Bärenserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's the color of honey, and is just as " -"thick. You need a syringe to inject it... if you really want to?" +"thick. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31940,7 +32983,7 @@ msgstr "Mausserum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen resembling liquefied metal. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31955,11 +32998,8 @@ msgstr "geronnenes Blut" #: lang/json/COMESTIBLE_from_json.py msgid "" "A thick, soupy red liquid. It looks and smells disgusting, and seems to " -"bubble with an intelligence of its own..." +"bubble with an intelligence of its own…" msgstr "" -"Eine dicke, suppenartige rote Flüssigkeit. Sie sieht ekelhaft aus und riecht" -" auch nicht viel besser. Irgendwie scheint sie mit einer eigentümlichen " -"Intelligenz vor sich hin zu blubbern..." #: lang/json/COMESTIBLE_from_json.py msgid "alpha mutagen" @@ -32156,23 +33196,23 @@ msgstr "" "ist wahrscheinlich viel sicherer zu trinken, als vorher." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of pine nuts" -msgid_plural "handfuls of pine nuts" +msgid "pine nuts" +msgid_plural "pine nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of pine nuts +#. ~ Description for {'str': 'pine nuts', 'str_pl': 'pine nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of tasty crunchy nuts from a pinecone." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of junipers" -msgid_plural "handful of junipers" +msgid "junipers" +msgid_plural "junipers" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of junipers +#. ~ Description for {'str': 'junipers', 'str_pl': 'junipers'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Junipers, for making gin and earthy flavors. Spicy, tastes similar to " @@ -32180,68 +33220,82 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pistachios" -msgid_plural "handfuls of shelled pistachios" +msgid "shelled pistachios" +msgid_plural "shelled pistachios" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled pistachios +#. ~ Description for {'str': 'shelled pistachios', 'str_pl': 'shelled +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of nuts from a pistachio tree, their shells have been removed." msgstr "Eine Handvoll Nussfrüchte eines Pistazienbaums ohne Schalen." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pistachios" -msgid_plural "handfuls of roasted pistachios" -msgstr[0] "Pistazie (geröstet)" -msgstr[1] "Pistazien (geröstet)" +msgid "roasted pistachios" +msgid_plural "roasted pistachios" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted pistachios +#. ~ Description for {'str': 'roasted pistachios', 'str_pl': 'roasted +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an pistachio tree." msgstr "Eine Handvoll geröstete Nussfrüchte eines Pistazienbaums." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled almonds" -msgid_plural "handfuls of shelled almonds" +msgid "shelled almonds" +msgid_plural "shelled almonds" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled almonds +#. ~ Description for {'str': 'shelled almonds', 'str_pl': 'shelled almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of nuts from an almond tree, their shells have been removed." msgstr "Eine Handvoll harter Nüsse eines Mandelbaums ohne Schalen." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted almonds" -msgid_plural "handfuls of roasted almonds" -msgstr[0] "Mandel (geröstet)" -msgstr[1] "Mandeln (geröstet)" +msgid "almond pulp" +msgid_plural "almond pulp" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for almond pulp +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Pulp left over after making almond milk. It's gritty and incredibly bland." +msgstr "" -#. ~ Description for handful of roasted almonds +#: lang/json/COMESTIBLE_from_json.py +msgid "roasted almonds" +msgid_plural "roasted almonds" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'roasted almonds', 'str_pl': 'roasted almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an almond tree." msgstr "Eine Handvoll geröstete Nüsse eines Mandelbaums." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cashews" -msgid_plural "handfuls of cashews" +msgid "cashews" +msgid_plural "cashews" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of cashews +#. ~ Description for {'str': 'cashews', 'str_pl': 'cashews'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of salty cashews." msgstr "Eine Handvoll salziger Cashewnüsse." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pecans" -msgid_plural "handfuls of shelled pecans" +msgid "shelled pecans" +msgid_plural "shelled pecans" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled pecans +#. ~ Description for {'str': 'shelled pecans', 'str_pl': 'shelled pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of pecans which are a sub-species of hickory nuts, their shells " @@ -32251,45 +33305,45 @@ msgstr "" "Schalen." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pecans" -msgid_plural "handfuls of roasted pecans" -msgstr[0] "Pekannuss (geröstet)" -msgstr[1] "Pekannüsse (geröstet)" +msgid "roasted pecans" +msgid_plural "roasted pecans" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted pecans +#. ~ Description for {'str': 'roasted pecans', 'str_pl': 'roasted pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a pecan tree." msgstr "Eine Handvoll geröstete Nüsse eines Pekannussbaums." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled peanuts" -msgid_plural "handful of shelled peanuts" -msgstr[0] "Erdnuss (geschält)" -msgstr[1] "Erdnüsse (geschält)" +msgid "shelled peanuts" +msgid_plural "shelled peanuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of shelled peanuts +#. ~ Description for {'str': 'shelled peanuts', 'str_pl': 'shelled peanuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Salty peanuts with their shells removed." msgstr "Salzige Erdnüsse ohne Schalen." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of beech nuts" -msgid_plural "handfuls of beech nuts" +msgid "beech nuts" +msgid_plural "beech nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of beech nuts +#. ~ Description for {'str': 'beech nuts', 'str_pl': 'beech nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of hard pointy nuts from a beech tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled walnuts" -msgid_plural "handfuls of shelled walnuts" -msgstr[0] "Walnuss (geschält)" -msgstr[1] "Walnüsse (geschält)" +msgid "shelled walnuts" +msgid_plural "shelled walnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of shelled walnuts +#. ~ Description for {'str': 'shelled walnuts', 'str_pl': 'shelled walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a walnut tree, their shells have been " @@ -32297,23 +33351,24 @@ msgid "" msgstr "Eine Handvoll roher, harter Nüsse eines Walnussbaums ohne Schalen." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted walnuts" -msgid_plural "handfuls of roasted walnuts" -msgstr[0] "Walnuss (geröstet)" -msgstr[1] "Walnüsse (geröstet)" +msgid "roasted walnuts" +msgid_plural "roasted walnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted walnuts +#. ~ Description for {'str': 'roasted walnuts', 'str_pl': 'roasted walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a walnut tree." msgstr "Eine Handvoll geröstete Nüsse eines Walnussbaums." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled chestnuts" -msgid_plural "handfuls of shelled chestnuts" -msgstr[0] "Kastanie (geschält)" -msgstr[1] "Kastanien (geschält)" +msgid "shelled chestnuts" +msgid_plural "shelled chestnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of shelled chestnuts +#. ~ Description for {'str': 'shelled chestnuts', 'str_pl': 'shelled +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a chestnut tree, their shells have been " @@ -32321,23 +33376,25 @@ msgid "" msgstr "Eine Handvoll roher, harter Nüsse eines Kastanienbaums ohne Schalen." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted chestnuts" -msgid_plural "handfuls of roasted chestnuts" -msgstr[0] "Kastanie (geröstet)" -msgstr[1] "Kastanien (geröstet)" +msgid "roasted chestnuts" +msgid_plural "roasted chestnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted chestnuts +#. ~ Description for {'str': 'roasted chestnuts', 'str_pl': 'roasted +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a chestnut tree." msgstr "Eine Handvoll geröstete Nüsse eines Kastanienbaums." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hazelnuts" -msgid_plural "handfuls of shelled hazelnuts" +msgid "shelled hazelnuts" +msgid_plural "shelled hazelnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled hazelnuts +#. ~ Description for {'str': 'shelled hazelnuts', 'str_pl': 'shelled +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hazelnut tree, their shells have been " @@ -32345,45 +33402,47 @@ msgid "" msgstr "Eine Handvoll roher, harter Nüsse eines Haselnussbaums ohne Schalen." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted edamame" -msgid_plural "handful of roasted edamame" +msgid "roasted edamame" +msgid_plural "roasted edamame" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted edamame +#. ~ Description for {'str': 'roasted edamame', 'str_pl': 'roasted edamame'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted edamame, a heart healthy snack." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted soy nuts" -msgid_plural "handful of roasted soy nuts" +msgid "roasted soy nuts" +msgid_plural "roasted soy nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted soy nuts +#. ~ Description for {'str': 'roasted soy nuts', 'str_pl': 'roasted soy nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted soybeans, often called soy nuts." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hazelnuts" -msgid_plural "handfuls of roasted hazelnuts" -msgstr[0] "Haselnuss (geröstet)" -msgstr[1] "Haselnüsse (geröstet)" +msgid "roasted hazelnuts" +msgid_plural "roasted hazelnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted hazelnuts +#. ~ Description for {'str': 'roasted hazelnuts', 'str_pl': 'roasted +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hazelnut tree." msgstr "Eine Handvoll geröstete Nüsse eines Haselnussbaums." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hickory nuts" -msgid_plural "handfuls of shelled hickory nuts" -msgstr[0] "Handvoll geschälter Hickory-Nüsse" -msgstr[1] "Handvoll geschälter Hickory-Nüsse" +msgid "shelled hickory nuts" +msgid_plural "shelled hickory nuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of shelled hickory nuts +#. ~ Description for {'str': 'shelled hickory nuts', 'str_pl': 'shelled +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hickory tree, their shells have been " @@ -32393,12 +33452,13 @@ msgstr "" "entfernt wurden." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hickory nuts" -msgid_plural "handfuls of roasted hickory nuts" -msgstr[0] "geröstete Hickory-Nuss" -msgstr[1] "Handvoll gerösteter Hickory-Nüsse" +msgid "roasted hickory nuts" +msgid_plural "roasted hickory nuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted hickory nuts +#. ~ Description for {'str': 'roasted hickory nuts', 'str_pl': 'roasted +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hickory tree." msgstr "Eine Handvoll geröstete Nüsse eines Hickorybaums." @@ -32413,12 +33473,12 @@ msgid "Delicious hickory nut ambrosia. A drink worthy of the gods." msgstr "Leckere Hickorynuss-Ambrosia. Ein Getränk, dass Göttern würdig ist." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of acorns" -msgid_plural "handfuls of acorns" -msgstr[0] "Handvoll Eicheln" -msgstr[1] "Handvoll Eicheln" +msgid "acorns" +msgid_plural "acorns" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of acorns +#. ~ Description for {'str': 'acorns', 'str_pl': 'acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of acorns, still in their shells. Squirrels like them, but " @@ -32429,12 +33489,12 @@ msgstr "" "Essen." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted acorns" -msgid_plural "handfuls of roasted acorns" -msgstr[0] "Eichel (geröstet)" -msgstr[1] "Eicheln (geröstet)" +msgid "roasted acorns" +msgid_plural "roasted acorns" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted acorns +#. ~ Description for {'str': 'roasted acorns', 'str_pl': 'roasted acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful roasted nuts from an oak tree." msgstr "Eine Handvoll geröstete Nussfrüchte einer Eiche." @@ -33046,11 +34106,12 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "soylent green powder" -msgid_plural "servings of soylent green powder" -msgstr[0] "Soylent-Green-Pulver" -msgstr[1] "Portionen Soylent-Green-Pulver" +msgid_plural "soylent green powder" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for soylent green powder +#. ~ Description for {'str': 'soylent green powder', 'str_pl': 'soylent green +#. powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein made out of people! While quite nutritious, it is " @@ -33102,11 +34163,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "protein powder" -msgid_plural "servings of protein powder" -msgstr[0] "Proteinpulver" -msgstr[1] "Portionen Proteinpulver" +msgid_plural "protein powder" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for protein powder +#. ~ Description for {'str': 'protein powder', 'str_pl': 'protein powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein. While quite nutritious, it is impossible to enjoy in " @@ -33184,67 +34245,67 @@ msgstr "" "Sehr saure Zitrusfrucht. Kann gegessen werden, wenn du wirklich willst." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blueberries" -msgid_plural "handful of blueberries" -msgstr[0] "Heidelbeeren" -msgstr[1] "Heidelbeeren" +msgid "blueberries" +msgid_plural "blueberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of blueberries +#. ~ Description for {'str': 'blueberries', 'str_pl': 'blueberries'} #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "Sie sind blau, was aber nicht heißt, dass sie besoffen sind." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of strawberries" -msgid_plural "handful of strawberries" -msgstr[0] "Erdbeeren" -msgstr[1] "Erdbeeren" +msgid "strawberries" +msgid_plural "strawberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of strawberries +#. ~ Description for {'str': 'strawberries', 'str_pl': 'strawberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "Leckere saftige Beere. Oft wild in Feldern gefunden." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cranberries" -msgid_plural "handful of cranberries" -msgstr[0] "Cranberrys" -msgstr[1] "Cranberrys" +msgid "cranberries" +msgid_plural "cranberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of cranberries +#. ~ Description for {'str': 'cranberries', 'str_pl': 'cranberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "Saure rote Beeren. Gut für deine Gesundheit." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of raspberries" -msgid_plural "handful of raspberries" -msgstr[0] "Himbeeren" -msgstr[1] "Himbeeren" +msgid "raspberries" +msgid_plural "raspberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of raspberries +#. ~ Description for {'str': 'raspberries', 'str_pl': 'raspberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "Eine süße rote Beere." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of huckleberries" -msgid_plural "handful of huckleberries" -msgstr[0] "Huckleberrys" -msgstr[1] "Huckleberrys" +msgid "huckleberries" +msgid_plural "huckleberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of huckleberries +#. ~ Description for {'str': 'huckleberries', 'str_pl': 'huckleberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "Heidelbeeren, werden oft mit Blaubeeren verwechselt." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of mulberries" -msgid_plural "handful of mulberries" -msgstr[0] "Maulbeeren" -msgstr[1] "Maulbeeren" +msgid "mulberries" +msgid_plural "mulberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of mulberries +#. ~ Description for {'str': 'mulberries', 'str_pl': 'mulberries'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -33254,12 +34315,12 @@ msgstr "" "die geschmacksintensivste Sorten der Welt sein." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of elderberries" -msgid_plural "handful of elderberries" -msgstr[0] "Holunderbeeren" -msgstr[1] "Holunderbeeren" +msgid "elderberries" +msgid_plural "elderberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of elderberries +#. ~ Description for {'str': 'elderberries', 'str_pl': 'elderberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "" @@ -33267,12 +34328,12 @@ msgstr "" "Geschmack." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of rose hips" -msgid_plural "handful of rose hips" -msgstr[0] "Hagebutten" -msgstr[1] "Hagebutten" +msgid "rose hips" +msgid_plural "rose hips" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of rose hips +#. ~ Description for {'str': 'rose hips', 'str_pl': 'rose hips'} #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "Die Frucht einer bestäubten Rose." @@ -33309,12 +34370,12 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "Eine Zitrusfrucht, dessen Gemack von sauer zu halbsüß reicht." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cherries" -msgid_plural "handful of cherries" -msgstr[0] "Kirschen" -msgstr[1] "Kirschen" +msgid "cherries" +msgid_plural "cherries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of cherries +#. ~ Description for {'str': 'cherries', 'str_pl': 'cherries'} #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "Eine rote süße Frucht, welche in Bäumen wächst." @@ -33331,12 +34392,12 @@ msgstr "" "Eine handvoll großer violetter Pflaumen. Gesund und gut für deine Verdauung." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of grapes" -msgid_plural "handful of grapes" -msgstr[0] "Trauben" -msgstr[1] "Trauben" +msgid "grapes" +msgid_plural "grapes" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of grapes +#. ~ Description for {'str': 'grapes', 'str_pl': 'grapes'} #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "Eine Rispe saftiger Weintrauben." @@ -33390,12 +34451,12 @@ msgid "A large and very sweet fruit." msgstr "Eine große und sehr süße Frucht." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blackberries" -msgid_plural "handful of blackberries" -msgstr[0] "Brombeeren" -msgstr[1] "Brombeeren" +msgid "blackberries" +msgid_plural "blackberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of blackberries +#. ~ Description for {'str': 'blackberries', 'str_pl': 'blackberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "Eine dunklere Cousine der Himbeere." @@ -33441,16 +34502,27 @@ msgstr "" "Eine große braune und flauschige Beere. Ihr leckeres Inneres ist grün." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of apricots" -msgid_plural "handful of apricots" -msgstr[0] "Aprikosen" -msgstr[1] "Aprikosen" +msgid "apricots" +msgid_plural "apricots" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of apricots +#. ~ Description for {'str': 'apricots', 'str_pl': 'apricots'} #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "Eine weichhäutige Frucht, verwandt zur Pfirsich." +#: lang/json/COMESTIBLE_from_json.py +msgid "cholla bud" +msgstr "" + +#. ~ Description for cholla bud +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Edible bud of a cholla cactus, with spines removed; the candy of the Mojave " +"indigenous peoples. Tastes similar to asparagus." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "cactus pad" msgstr "" @@ -33643,11 +34715,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "salsify" -msgid_plural "handfuls of salsify" +msgid_plural "salsify" msgstr[0] "" msgstr[1] "" -#. ~ Description for salsify +#. ~ Description for {'str': 'salsify', 'str_pl': 'salsify'} #: lang/json/COMESTIBLE_from_json.py msgid "" "An herb with a small purple flower. The roots are nutritious, but tough and" @@ -33657,11 +34729,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py lang/json/COMESTIBLE_from_json.py #: lang/json/furniture_from_json.py msgid "chicory" -msgid_plural "handfuls of chicory" +msgid_plural "chicory" msgstr[0] "" msgstr[1] "" -#. ~ Description for chicory +#. ~ Description for {'str': 'chicory', 'str_pl': 'chicory'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A modest blue flower. The flower's roots are very bitter and not meant to " @@ -33786,12 +34858,12 @@ msgstr "" "sehr lecker, aber großartig zum Kochen." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of dandelions" -msgid_plural "handfuls of dandelions" -msgstr[0] "Handvoll Löwenzahn" -msgstr[1] "Handvoll Löwenzahn" +msgid "dandelions" +msgid_plural "dandelions" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of dandelions +#. ~ Description for {'str': 'dandelions', 'str_pl': 'dandelions'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A collection of freshly picked yellow dandelions. In their current raw " @@ -33932,12 +35004,12 @@ msgid "Raw, uncooked lentils. They could be cooked." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of fiddleheads" -msgid_plural "handfuls of fiddleheads" +msgid "fiddleheads" +msgid_plural "fiddleheads" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of fiddleheads +#. ~ Description for {'str': 'fiddleheads', 'str_pl': 'fiddleheads'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of immature fern fronds, still curled up like the head of a " @@ -35903,8 +36975,8 @@ msgstr[1] "" #. ~ Description for raw spaghetti pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of pasta usually used when preparing spaghetti. It could be eaten raw" -" if you're desperate, but is much better cooked." +"A type of pasta usually used when preparing spaghetti. It could be eaten " +"raw if you're desperate, but is much better cooked." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -35916,7 +36988,7 @@ msgstr[1] "" #. ~ Description for raw lasagne pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pasta sheet used in making lasagne. It could be eaten raw if you're " +"A pasta sheet used in making lasagne. It could be eaten raw if you're " "desperate, but is much better cooked." msgstr "" @@ -36399,7 +37471,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "Strong alcohol, infused with mana and concentrated into a liquid that can " -"stabilize spells into liquid form. You can still drink it, if you want." +"stabilize spells into liquid form. You can still drink it, if you want." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -36412,7 +37484,7 @@ msgstr[1] "" #: lang/json/COMESTIBLE_from_json.py msgid "" "An organ located above the kidneys responsible for secretion of adrenaline, " -"cortisol, and aldosterone. This one is huge, whether by nature or mutation." +"cortisol, and aldosterone. This one is huge, whether by nature or mutation." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -36509,8 +37581,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human, including pieces of bone " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -36521,8 +37593,9 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human covered with bone, including" -" pieces of organs. Necromantic magic delays immediate rot, but it won't last" -" forever. Piercing it with the attached needle could compel it to serve you." +" pieces of organs. Necromantic magic delays immediate rot, but it won't " +"last forever. Piercing it with the attached needle could compel it to serve" +" you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -36533,8 +37606,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead cougar, complete with fur, bones, " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -36545,8 +37618,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -36557,9 +37630,9 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal. Improved infusion techniques lessen the strain of the " -"process." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal. Improved infusion techniques lessen the strain of " +"the process." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -36594,7 +37667,7 @@ msgstr[1] "" #. ~ Description for hairball #: lang/json/COMESTIBLE_from_json.py msgid "" -"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." +"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -36611,6 +37684,16 @@ msgid "" " properties." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "scream mushroom" +msgstr "" + +#. ~ Description for scream mushroom +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"The mushrooms harvested from a dead shrieker. Could be used in potions." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "resinous cord" msgstr "verharzte Kordel" @@ -36637,13 +37720,13 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "caramel ointement" +msgid "caramel ointment" msgstr "" -#. ~ Description for caramel ointement +#. ~ Description for caramel ointment #: lang/json/COMESTIBLE_from_json.py msgid "" -"An ointement made of caramel. You could use it to heal your wounds, if you " +"An ointment made of caramel. You could use it to heal your wounds, if you " "were made of sugar." msgstr "" @@ -37355,15 +38438,6 @@ msgstr[1] "Reismehl" msgid "This rice flour is useful for baking." msgstr "Dieses Maismehl ist nützlich zum Backen." -#: lang/json/COMESTIBLE_from_json.py -msgid "cholla bud" -msgstr "" - -#. ~ Description for cholla bud -#: lang/json/COMESTIBLE_from_json.py -msgid "The candy of the Mojave Indigenous peoples." -msgstr "" - #: lang/json/COMESTIBLE_from_json.py msgid "revival serum" msgstr "Wiederbelebungsserum" @@ -37687,8 +38761,8 @@ msgstr[1] "" #. ~ Description for paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"It has a threaded cap for easy resealing." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" It has a threaded cap for easy resealing." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -37700,8 +38774,8 @@ msgstr[1] "" #. ~ Description for opened paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"This one is open and its contents will spoil." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" This one is open and its contents will spoil." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -38275,8 +39349,8 @@ msgstr[1] "" #. ~ Description for survival kit box #: lang/json/CONTAINER_from_json.py msgid "" -"An aluminum box that used to contain a small survival kit. Can hold 1 liter " -"of liquid." +"An aluminum box that used to contain a small survival kit. Can hold 1 liter" +" of liquid." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -38383,6 +39457,22 @@ msgid "" " for maximum yield. It can be crafted with various seeds to plant them." msgstr "" +#: lang/json/CONTAINER_from_json.py +msgid "endless flask" +msgid_plural "endless flasks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "You open the flask and discover it full of sweet, sweet, whiskey!" +msgstr "" + +#. ~ Use action not_ready_msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "The flask isn't done refilling yet." +msgstr "" + #: lang/json/CONTAINER_from_json.py msgid "aluminum foil wrap" msgid_plural "aluminum foil wraps" @@ -38873,8 +39963,8 @@ msgstr[1] "" #. ~ Description for rhodonite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of rhodonite. It has manganese dioxide covering and going through it" -" in veins, which can be obtained using a chisel." +"A chunk of rhodonite. It has manganese dioxide covering and going through " +"it in veins, which can be obtained using a chisel." msgstr "" #: lang/json/GENERIC_from_json.py @@ -38886,7 +39976,7 @@ msgstr[1] "" #. ~ Description for zincite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " +"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " "reduction with a source of carbon." msgstr "" @@ -38902,36 +39992,36 @@ msgid "A root from a hickory tree. It has an earthy smell." msgstr "Eine Wurzel eines Hickorybaums. Sie hat einen erdigen Geruch." #: lang/json/GENERIC_from_json.py -msgid "handful of hickory nuts" -msgid_plural "handfuls of hickory nuts" +msgid "hickory nuts" +msgid_plural "hickory nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of hickory nuts +#. ~ Description for {'str': 'hickory nuts', 'str_pl': 'hickory nuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hickory tree, still in their shell." msgstr "" "Eine Handvoll harter Nüsse von einem Hickory-Baum, noch in der Schale." #: lang/json/GENERIC_from_json.py -msgid "handful of pecans" -msgid_plural "handfuls of pecans" +msgid "pecans" +msgid_plural "pecans" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of pecans +#. ~ Description for {'str': 'pecans', 'str_pl': 'pecans'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pecan tree, still in their shell." msgstr "" "Eine Handvoll harter Nüsse eines Pekannussbaums, immer noch in ihrer Schale." #: lang/json/GENERIC_from_json.py -msgid "handful of pistachios" -msgid_plural "handfuls of pistachios" +msgid "pistachios" +msgid_plural "pistachios" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of pistachios +#. ~ Description for {'str': 'pistachios', 'str_pl': 'pistachios'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pistachio tree, still in their shell." msgstr "" @@ -38939,24 +40029,24 @@ msgstr "" "Schale." #: lang/json/GENERIC_from_json.py -msgid "handful of almonds" -msgid_plural "handfuls of almonds" +msgid "almonds" +msgid_plural "almonds" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of almonds +#. ~ Description for {'str': 'almonds', 'str_pl': 'almonds'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a almond tree, still in their shell." msgstr "" "Eine Handvoll harter Nüsse eines Mandelbaums, immer noch in ihrer Schale." #: lang/json/GENERIC_from_json.py -msgid "handful of peanuts" -msgid_plural "handfuls of peanuts" +msgid "peanuts" +msgid_plural "peanuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of peanuts +#. ~ Description for {'str': 'peanuts', 'str_pl': 'peanuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a peanut bush, still in their shell." msgstr "" @@ -38964,24 +40054,24 @@ msgstr "" "Schale." #: lang/json/GENERIC_from_json.py -msgid "handful of hazelnuts" -msgid_plural "handfuls of hazelnuts" +msgid "hazelnuts" +msgid_plural "hazelnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of hazelnuts +#. ~ Description for {'str': 'hazelnuts', 'str_pl': 'hazelnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hazelnut tree, still in their shell." msgstr "" "Eine Handvoll harter Nüsse eines Haselnussbaums, immer noch in ihrer Schale." #: lang/json/GENERIC_from_json.py -msgid "handful of chestnuts" -msgid_plural "handfuls of chestnuts" +msgid "chestnuts" +msgid_plural "chestnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of chestnuts +#. ~ Description for {'str': 'chestnuts', 'str_pl': 'chestnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a chestnut tree, still in their shell." msgstr "" @@ -38989,12 +40079,12 @@ msgstr "" "Schale." #: lang/json/GENERIC_from_json.py -msgid "handful of walnuts" -msgid_plural "handfuls of walnuts" +msgid "walnuts" +msgid_plural "walnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of walnuts +#. ~ Description for {'str': 'walnuts', 'str_pl': 'walnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a walnut tree, still in their shell." msgstr "" @@ -39139,7 +40229,7 @@ msgstr "" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"A dead body with a frightful grimace. He appears to have been horribly " +"A dead body with a frightful grimace. He appears to have been horribly " "mangled prior to his death." msgstr "" @@ -39163,7 +40253,7 @@ msgstr "" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"The upper half of a dead body, as if torn apart with enormous force. Some " +"The upper half of a dead body, as if torn apart with enormous force. Some " "organs are hanging out." msgstr "" @@ -39271,6 +40361,12 @@ msgstr "Muskelkraft" msgid "wind" msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "metabolism" +msgid_plural "metabolisms" +msgstr[0] "" +msgstr[1] "" + #: lang/json/GENERIC_from_json.py msgid "a smoking device and a source of flame" msgstr "eine Räuchervorrichtung und eine Feuerquelle" @@ -39290,6 +40386,31 @@ msgstr "" "Verschiedene Dokumente mit allen möglichen Informationen, Kundendaten und " "Diagrammen. Nun sind sie allesamt ziemlich nutzlos." +#: lang/json/GENERIC_from_json.py +msgid "INCIDENT REPORT: IMMERSION-27A" +msgid_plural "INCIDENT REPORT: IMMERSION-27As" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for INCIDENT REPORT: IMMERSION-27A +#: lang/json/GENERIC_from_json.py +msgid "" +"A white piece of paper, with the logo of XEDRA printed on its upper left " +"corner. It seems to be an internal report of some kind." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "MATERIAL: T-SUBSTRATE" +msgid_plural "MATERIAL: T-SUBSTRATEs" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "HAADF MICROGRAPH: T-SUBSTRATE" +msgid_plural "HAADF MICROGRAPH: T-SUBSTRATEs" +msgstr[0] "" +msgstr[1] "" + #: lang/json/GENERIC_from_json.py msgid "foodplace loyalty card" msgid_plural "foodplace loyalty cards" @@ -39300,7 +40421,7 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "A bright pink loyalty card, all the points are stamped. This would " -"definitely prove your fidelity to Foodplace, if it still meant anything..." +"definitely prove your fidelity to Foodplace, if it still meant anything…" msgstr "" #: lang/json/GENERIC_from_json.py @@ -39455,8 +40576,8 @@ msgstr[1] "" #. ~ Description for set of 100 ceramic disk #: lang/json/GENERIC_from_json.py msgid "" -"A set of small slightly elongated disks, made of high-grade ceramic. They " -"remind you of scales" +"A set of small slightly elongated disks, made of high-grade ceramic. They " +"remind you of scales." msgstr "" #: lang/json/GENERIC_from_json.py @@ -39517,6 +40638,18 @@ msgstr "" "Filzfetzen, die für die Lagerung eng zusammengebunden wurden. Demontiere " "dies, um es auszupacken." +#: lang/json/GENERIC_from_json.py +msgid "t-substrate sample" +msgid_plural "t-substrate samples" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for t-substrate sample +#: lang/json/GENERIC_from_json.py +msgid "" +"An acrylic cube cast around a small black crystal. It's tepid to the touch." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "biollante bud" msgid_plural "biollante buds" @@ -39776,6 +40909,18 @@ msgstr "" "Ein Stück Bewehrungsstab; er ist eine nette Nahkampfwaffe und könnte sich " "für den Bau stärkerer Wände und so als nützlich erweisen." +#: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "small railroad track" +msgid_plural "small railroad tracks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for small railroad track +#: lang/json/GENERIC_from_json.py +msgid "A length of track, made from some planks and rails." +msgstr "" + #: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py msgid "concrete" msgid_plural "concrete" @@ -39842,22 +40987,6 @@ msgstr "" "Eine schwere, belastbare Schraubenfeder. Wenn zusammengedrückt, dehnt sie " "sich mit mit erheblicher Kraft aus." -#: lang/json/GENERIC_from_json.py -msgid "leaf spring" -msgid_plural "leaf springs" -msgstr[0] "Blattfeder" -msgstr[1] "Blattfedern" - -#. ~ Description for leaf spring -#: lang/json/GENERIC_from_json.py -msgid "" -"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" -" an awful lot like a bow. You can barely bend it..." -msgstr "" -"Eine große leistungsfähige Blattfeder. Wahrscheinlich von einem Auto oder " -"Lastwagen, und sie sieht einem Bogen verdammt ähnlich. Du kannst sie kaum " -"verbiegen …" - #: lang/json/GENERIC_from_json.py msgid "lawnmower" msgid_plural "lawnmowers" @@ -40868,10 +41997,8 @@ msgstr[1] "Wissenschaft-SD-Speicherkarten" #: lang/json/GENERIC_from_json.py msgid "" "This memory card appears to be related to 'XEDRA', and is certainly " -"encrypted. Looks * Interesting *, though..." +"encrypted. Looks *Interesting*, though…" msgstr "" -"Diese Speicherkarte scheint etwas mit XEDRA zu tun zu haben und ist bestimmt" -" verschlüsselt. Sieht … interessant … aus …" #: lang/json/GENERIC_from_json.py msgid "hand mirror" @@ -40930,17 +42057,6 @@ msgstr "" "Ein stacheliger Zapfen einer Kiefer. Trockene Samen rasseln innen herum, " "wenn du ihn schüttelst." -#: lang/json/GENERIC_from_json.py -msgid "poppy flower" -msgid_plural "poppy flowers" -msgstr[0] "Mohnblüte" -msgstr[1] "Mohnblüten" - -#. ~ Description for poppy flower -#: lang/json/GENERIC_from_json.py -msgid "A poppy stalk with some petals." -msgstr "Ein Mohnblumenstängel mit einigen Blättern." - #: lang/json/GENERIC_from_json.py msgid "poppy bud" msgid_plural "poppy buds" @@ -40956,247 +42072,6 @@ msgstr "" "Eine Mohnknospe. Enthält ein paar Substanzen, welche gewöhnlicherweise von " "mutierten Mohnblumen produziert werden." -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "bluebell" -msgid_plural "bluebells" -msgstr[0] "Austernpflanze" -msgstr[1] "Austernpflanzen" - -#. ~ Description for bluebell -#: lang/json/GENERIC_from_json.py -msgid "A bluebell stalk with some petals." -msgstr "Ein Austernpflanzenstängel mit einigen Blättern." - -#: lang/json/GENERIC_from_json.py -msgid "bluebell bud" -msgid_plural "bluebell buds" -msgstr[0] "Austernpflanzenknospe" -msgstr[1] "Austernpflanzenknospen" - -#. ~ Description for bluebell bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A bluebell bud. Contains some substances commonly produced by a bluebell " -"flower." -msgstr "" -"Eine Austernpflanzenknospe. Enthält einige Substanzen, die üblicherweise von" -" einer Austernpflanze produziert werden." - -#. ~ Description for dahlia -#: lang/json/GENERIC_from_json.py -msgid "A dahlia stalk with some petals." -msgstr "Ein Dahlienstängel mit einigen Blättern." - -#: lang/json/GENERIC_from_json.py -msgid "dahlia bud" -msgid_plural "dahlia buds" -msgstr[0] "Dahlienknospe" -msgstr[1] "Dahlienknospen" - -#. ~ Description for dahlia bud -#: lang/json/GENERIC_from_json.py -msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." -msgstr "" -"Eine Dahlienknospe. Enthält einige Substanzen, die gewöhnlicherweise von " -"einer Dahlie produziert werden." - -#. ~ Description for rose -#: lang/json/GENERIC_from_json.py -msgid "A rose stalk with some petals." -msgstr "Ein Rosenstiel mit einigen Blättern." - -#: lang/json/GENERIC_from_json.py -msgid "rose bud" -msgid_plural "rose buds" -msgstr[0] "Rosenknospe" -msgstr[1] "Rosenknospen" - -#. ~ Description for rose bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A rose bud. Contains some substances commonly produced by a rose flower." -msgstr "" -"Eine Rosenknospe. Enthält einige Substanzen, die üblicherweise von einer " -"Rosenblüte gebildet werden." - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea" -msgid_plural "hydrangeas" -msgstr[0] "Hortensie" -msgstr[1] "Hortensien" - -#. ~ Description for hydrangea -#: lang/json/GENERIC_from_json.py -msgid "A hydrangea stalk with some petals." -msgstr "Ein Hortensienstiel mit einigen Blättern." - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea bud" -msgid_plural "hydrangea buds" -msgstr[0] "Hortensienknospe" -msgstr[1] "Hortensienknospen" - -#. ~ Description for hydrangea bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A hydrangea bud. Contains some substances commonly produced by a hydrangea " -"flower." -msgstr "" -"Eine Hortensieknospe. Enthält einige Substanzen, die normalerweise von einer" -" Hortensienblüte produziert werden." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "tulip" -msgid_plural "tulips" -msgstr[0] "Tulpe" -msgstr[1] "Tulpen" - -#. ~ Description for tulip -#: lang/json/GENERIC_from_json.py -msgid "A tulip stalk with some petals." -msgstr "Ein Tulpenstiel mit einigen Blättern." - -#: lang/json/GENERIC_from_json.py -msgid "tulip bud" -msgid_plural "tulip buds" -msgstr[0] "Tulpenknospe" -msgstr[1] "Tulpenknospen" - -#. ~ Description for tulip bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A tulip bud. Contains some substances commonly produced by a tulip flower." -msgstr "" -"Eine Tulpe Knospe. Enthält einige Substanzen, die üblicherweise von einer " -"Tulpenblume produziert werden." - -#: lang/json/GENERIC_from_json.py -msgid "spurge" -msgid_plural "spurges" -msgstr[0] "Wolfsmilch" -msgstr[1] "Wolfsmilch" - -#. ~ Description for spurge -#: lang/json/GENERIC_from_json.py -msgid "A spurge stalk with some petals." -msgstr "Ein Wolfsmilchstiel mit einigen Blättern." - -#: lang/json/GENERIC_from_json.py -msgid "spurge bud" -msgid_plural "spurge buds" -msgstr[0] "Wolfsmilchknospe" -msgstr[1] "Wolfsmilchknospen" - -#. ~ Description for spurge bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A spurge bud. Contains some substances commonly produced by a spurge " -"flower." -msgstr "" -"Eine Wolfsmilchknospe. Enthält einige Substanzen, die üblicherweise von " -"einer Wolfsmilchblüte gebildet werden." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "black eyed susan" -msgid_plural "black eyed susans" -msgstr[0] "Schwarzäugige Rudbeckie" -msgstr[1] "Schwarzäugige Rudbeckien" - -#. ~ Description for black eyed susan -#: lang/json/GENERIC_from_json.py -msgid "A black eyed susan stalk with some petals." -msgstr "Der Stiel einer schwarzäugigen Rudbeckie mit einigen Blättern." - -#: lang/json/GENERIC_from_json.py -msgid "black eyed susan bud" -msgid_plural "black eyed susan buds" -msgstr[0] "Schwarzäugige Rudbeckien Knospe" -msgstr[1] "Schwarzäugige Rudbeckien Knospen" - -#. ~ Description for black eyed susan bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A black eyed susan bud. Contains some substances commonly produced by a " -"black eyed susan flower." -msgstr "" -"Eine schwarzäugige Rudbeckien Knospe. Enthält einige Substanzen, die " -"üblicherweise von einer schwarzäugigen Rudbeckienblume erzeugt werden." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lily" -msgid_plural "lilys" -msgstr[0] "Lilie" -msgstr[1] "Lilien" - -#. ~ Description for lily -#: lang/json/GENERIC_from_json.py -msgid "A lily stalk with some petals." -msgstr "Ein Lilienstiel mit einigen Blättern." - -#: lang/json/GENERIC_from_json.py -msgid "lily bud" -msgid_plural "lily buds" -msgstr[0] "Lilienkonspe" -msgstr[1] "Lilienkonspen" - -#. ~ Description for lily bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lily bud. Contains some substances commonly produced by a lily flower." -msgstr "" -"Eine Lilienkonspe. Enthält einige Substanzen, die üblicherweise von einer " -"Lilienblüten produziert werden." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lotus" -msgid_plural "lotuss" -msgstr[0] "Lotus" -msgstr[1] "Lotus" - -#. ~ Description for lotus -#: lang/json/GENERIC_from_json.py -msgid "A lotus stalk with some petals." -msgstr "Ein Lotosstiel mit einigen Blättern." - -#: lang/json/GENERIC_from_json.py -msgid "lotus bud" -msgid_plural "lotus buds" -msgstr[0] "Lotusknospe" -msgstr[1] "Lotusknospen" - -#. ~ Description for lotus bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lotus bud. Contains some substances commonly produced by a lotus flower." -msgstr "" -"Eine Lotusknospe. Enthält einige Substanzen, die üblicherweise von einer " -"Lotusblume erzeugt werden." - -#: lang/json/GENERIC_from_json.py -msgid "lilac" -msgid_plural "lilacs" -msgstr[0] "Flieder" -msgstr[1] "Flieder" - -#. ~ Description for lilac -#: lang/json/GENERIC_from_json.py -msgid "A lilac stalk with some petals." -msgstr "Ein Fliederstiel mit einigen Blättern." - -#: lang/json/GENERIC_from_json.py -msgid "lilac bud" -msgid_plural "lilac buds" -msgstr[0] "Fliederknospe" -msgstr[1] "Fliederknospen" - -#. ~ Description for lilac bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lilac bud. Contains some substances commonly produced by a lilac flower." -msgstr "" -"Eine Fliederknospe. Enthält einige Substanzen, die üblicherweise von einer " -"Fliederblüten produziert werden." - #. ~ Description for sunflower #: lang/json/GENERIC_from_json.py msgid "" @@ -41207,12 +42082,13 @@ msgstr "" "Samen, die noch nicht von Tieren gegessen wurden." #: lang/json/GENERIC_from_json.py -msgid "handful of chamomile flowers" -msgid_plural "handfuls of chamomile flowers" +msgid "chamomile flowers" +msgid_plural "chamomile flowers" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of chamomile flowers +#. ~ Description for {'str': 'chamomile flowers', 'str_pl': 'chamomile +#. flowers'} #: lang/json/GENERIC_from_json.py msgid "" "White chamomile flowers, used as a herbal remedy since the ancient times." @@ -41510,12 +42386,14 @@ msgstr "" #. ~ Use action menu_text for cigar. #. ~ Use action menu_text for cigarette. #. ~ Use action menu_text for joint. +#. ~ Use action menu_text for spooky jack o'lantern. +#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for candle. #. ~ Use action menu_text for refillable lighter. #. ~ Use action menu_text for torch. -#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for ember carrier (lit). #. ~ Use action menu_text for Louisville Slaughterer. +#. ~ Use action menu_text for everburning torch. #: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py msgid "Extinguish" @@ -41568,10 +42446,8 @@ msgstr[1] "Zigarettenstummel" #: lang/json/GENERIC_from_json.py msgid "" "What was once a wonderfully addictive tube of dried tobacco leaf is now just a smelly piece of trash. What a tragedy!\n" -"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far..." +"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far…" msgstr "" -"Was einstmals ein wunderbar süchtigmachendes Rohr aus getrockneten Tabaksblättern war, ist nun nur noch ein stinkendes Stück Müll. Welch Tragödie!\n" -"Der restliche Tabak in einigen von diesen könnte vielleicht benutzt werden, um eine weitere Zigarette zu drehen. Falls du so weit gehen möchtest …" #. ~ Use action msg for joint. #: lang/json/GENERIC_from_json.py @@ -41622,11 +42498,11 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "raw tobacco" -msgid_plural "handfuls of raw tobacco" -msgstr[0] "Rohtabak" -msgstr[1] "Handvoll Rohtabak" +msgid_plural "raw tobacco" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for raw tobacco +#. ~ Description for {'str': 'raw tobacco', 'str_pl': 'raw tobacco'} #: lang/json/GENERIC_from_json.py msgid "" "Various parts of tobacco plant, full of nicotine. They need to be dried to " @@ -41683,12 +42559,6 @@ msgid "" "panel, if you can find one." msgstr "" -#: lang/json/GENERIC_from_json.py -msgid "neoprene sheet" -msgid_plural "neoprene sheets" -msgstr[0] "Neoprentuch" -msgstr[1] "Neoprentücher" - #. ~ Description for neoprene sheet #: lang/json/GENERIC_from_json.py msgid "" @@ -42825,6 +43695,271 @@ msgid_plural "notes" msgstr[0] "" msgstr[1] "" +#: lang/json/GENERIC_from_json.py +msgid "leaf spring" +msgid_plural "leaf springs" +msgstr[0] "Blattfeder" +msgstr[1] "Blattfedern" + +#. ~ Description for leaf spring +#: lang/json/GENERIC_from_json.py +msgid "" +"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" +" an awful lot like a bow. You can barely bend it…" +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea" +msgid_plural "hydrangeas" +msgstr[0] "Hortensie" +msgstr[1] "Hortensien" + +#. ~ Description for hydrangea +#: lang/json/GENERIC_from_json.py +msgid "A hydrangea stalk with some petals." +msgstr "Ein Hortensienstiel mit einigen Blättern." + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea bud" +msgid_plural "hydrangea buds" +msgstr[0] "Hortensienknospe" +msgstr[1] "Hortensienknospen" + +#. ~ Description for hydrangea bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A hydrangea bud. Contains some substances commonly produced by a hydrangea " +"flower." +msgstr "" +"Eine Hortensieknospe. Enthält einige Substanzen, die normalerweise von einer" +" Hortensienblüte produziert werden." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "tulip" +msgid_plural "tulips" +msgstr[0] "Tulpe" +msgstr[1] "Tulpen" + +#. ~ Description for tulip +#: lang/json/GENERIC_from_json.py +msgid "A tulip stalk with some petals." +msgstr "Ein Tulpenstiel mit einigen Blättern." + +#: lang/json/GENERIC_from_json.py +msgid "tulip bud" +msgid_plural "tulip buds" +msgstr[0] "Tulpenknospe" +msgstr[1] "Tulpenknospen" + +#. ~ Description for tulip bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A tulip bud. Contains some substances commonly produced by a tulip flower." +msgstr "" +"Eine Tulpe Knospe. Enthält einige Substanzen, die üblicherweise von einer " +"Tulpenblume produziert werden." + +#: lang/json/GENERIC_from_json.py +msgid "spurge" +msgid_plural "spurges" +msgstr[0] "Wolfsmilch" +msgstr[1] "Wolfsmilch" + +#. ~ Description for spurge +#: lang/json/GENERIC_from_json.py +msgid "A spurge stalk with some petals." +msgstr "Ein Wolfsmilchstiel mit einigen Blättern." + +#: lang/json/GENERIC_from_json.py +msgid "spurge bud" +msgid_plural "spurge buds" +msgstr[0] "Wolfsmilchknospe" +msgstr[1] "Wolfsmilchknospen" + +#. ~ Description for spurge bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A spurge bud. Contains some substances commonly produced by a spurge " +"flower." +msgstr "" +"Eine Wolfsmilchknospe. Enthält einige Substanzen, die üblicherweise von " +"einer Wolfsmilchblüte gebildet werden." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "black eyed susan" +msgid_plural "black eyed susans" +msgstr[0] "Schwarzäugige Rudbeckie" +msgstr[1] "Schwarzäugige Rudbeckien" + +#. ~ Description for black eyed susan +#: lang/json/GENERIC_from_json.py +msgid "A black eyed susan stalk with some petals." +msgstr "Der Stiel einer schwarzäugigen Rudbeckie mit einigen Blättern." + +#: lang/json/GENERIC_from_json.py +msgid "black eyed susan bud" +msgid_plural "black eyed susan buds" +msgstr[0] "Schwarzäugige Rudbeckien Knospe" +msgstr[1] "Schwarzäugige Rudbeckien Knospen" + +#. ~ Description for black eyed susan bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A black eyed susan bud. Contains some substances commonly produced by a " +"black eyed susan flower." +msgstr "" +"Eine schwarzäugige Rudbeckien Knospe. Enthält einige Substanzen, die " +"üblicherweise von einer schwarzäugigen Rudbeckienblume erzeugt werden." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lily" +msgid_plural "lilys" +msgstr[0] "Lilie" +msgstr[1] "Lilien" + +#. ~ Description for lily +#: lang/json/GENERIC_from_json.py +msgid "A lily stalk with some petals." +msgstr "Ein Lilienstiel mit einigen Blättern." + +#: lang/json/GENERIC_from_json.py +msgid "lily bud" +msgid_plural "lily buds" +msgstr[0] "Lilienkonspe" +msgstr[1] "Lilienkonspen" + +#. ~ Description for lily bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lily bud. Contains some substances commonly produced by a lily flower." +msgstr "" +"Eine Lilienkonspe. Enthält einige Substanzen, die üblicherweise von einer " +"Lilienblüten produziert werden." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lotus" +msgid_plural "lotuss" +msgstr[0] "Lotus" +msgstr[1] "Lotus" + +#. ~ Description for lotus +#: lang/json/GENERIC_from_json.py +msgid "A lotus stalk with some petals." +msgstr "Ein Lotosstiel mit einigen Blättern." + +#: lang/json/GENERIC_from_json.py +msgid "lotus bud" +msgid_plural "lotus buds" +msgstr[0] "Lotusknospe" +msgstr[1] "Lotusknospen" + +#. ~ Description for lotus bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lotus bud. Contains some substances commonly produced by a lotus flower." +msgstr "" +"Eine Lotusknospe. Enthält einige Substanzen, die üblicherweise von einer " +"Lotusblume erzeugt werden." + +#: lang/json/GENERIC_from_json.py +msgid "lilac" +msgid_plural "lilacs" +msgstr[0] "Flieder" +msgstr[1] "Flieder" + +#. ~ Description for lilac +#: lang/json/GENERIC_from_json.py +msgid "A lilac stalk with some petals." +msgstr "Ein Fliederstiel mit einigen Blättern." + +#: lang/json/GENERIC_from_json.py +msgid "lilac bud" +msgid_plural "lilac buds" +msgstr[0] "Fliederknospe" +msgstr[1] "Fliederknospen" + +#. ~ Description for lilac bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lilac bud. Contains some substances commonly produced by a lilac flower." +msgstr "" +"Eine Fliederknospe. Enthält einige Substanzen, die üblicherweise von einer " +"Fliederblüten produziert werden." + +#: lang/json/GENERIC_from_json.py +msgid "rose bud" +msgid_plural "rose buds" +msgstr[0] "Rosenknospe" +msgstr[1] "Rosenknospen" + +#. ~ Description for rose bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A rose bud. Contains some substances commonly produced by a rose flower." +msgstr "" +"Eine Rosenknospe. Enthält einige Substanzen, die üblicherweise von einer " +"Rosenblüte gebildet werden." + +#: lang/json/GENERIC_from_json.py +msgid "dahlia bud" +msgid_plural "dahlia buds" +msgstr[0] "Dahlienknospe" +msgstr[1] "Dahlienknospen" + +#. ~ Description for dahlia bud +#: lang/json/GENERIC_from_json.py +msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." +msgstr "" +"Eine Dahlienknospe. Enthält einige Substanzen, die gewöhnlicherweise von " +"einer Dahlie produziert werden." + +#. ~ Description for rose +#: lang/json/GENERIC_from_json.py +msgid "A rose stalk with some petals." +msgstr "Ein Rosenstiel mit einigen Blättern." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "bluebell" +msgid_plural "bluebells" +msgstr[0] "Austernpflanze" +msgstr[1] "Austernpflanzen" + +#. ~ Description for bluebell +#: lang/json/GENERIC_from_json.py +msgid "A bluebell stalk with some petals." +msgstr "Ein Austernpflanzenstängel mit einigen Blättern." + +#. ~ Description for dahlia +#: lang/json/GENERIC_from_json.py +msgid "A dahlia stalk with some petals." +msgstr "Ein Dahlienstängel mit einigen Blättern." + +#: lang/json/GENERIC_from_json.py +msgid "poppy flower" +msgid_plural "poppy flowers" +msgstr[0] "Mohnblüte" +msgstr[1] "Mohnblüten" + +#. ~ Description for poppy flower +#: lang/json/GENERIC_from_json.py +msgid "A poppy stalk with some petals." +msgstr "Ein Mohnblumenstängel mit einigen Blättern." + +#: lang/json/GENERIC_from_json.py +msgid "bluebell bud" +msgid_plural "bluebell buds" +msgstr[0] "Austernpflanzenknospe" +msgstr[1] "Austernpflanzenknospen" + +#. ~ Description for bluebell bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A bluebell bud. Contains some substances commonly produced by a bluebell " +"flower." +msgstr "" +"Eine Austernpflanzenknospe. Enthält einige Substanzen, die üblicherweise von" +" einer Austernpflanze produziert werden." + #: lang/json/GENERIC_from_json.py msgid "module template" msgid_plural "module templates" @@ -43245,7 +44380,7 @@ msgstr[1] "Atomkaffeemaschinen" #: lang/json/GENERIC_from_json.py msgid "" "This is a Curie-G coffeemaker, by CuppaTech. It famously uses a radioactive" -" generator to heat water for coffee. Normally the water is heated using " +" generator to heat water for coffee. Normally the water is heated using " "energy stored in a capacitor, and makes ordinary coffee. However, as a " "special feature, water from the RTG containment area can be used, giving the" " coffee a very special kick. The Curie-G is illegal in most countries." @@ -43260,7 +44395,9 @@ msgstr[1] "Atomlampen" #. ~ Use action menu_text for atomic lamp. #. ~ Use action menu_text for atomic reading light. #. ~ Use action menu_text for magical reading light. -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp. +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Close cover" msgstr "Abdeckung schließen" @@ -43288,7 +44425,9 @@ msgstr[1] "Atomlampen (abgedeckt)" #. ~ Use action menu_text for atomic lamp (covered). #. ~ Use action menu_text for atomic reading light (covered). #. ~ Use action menu_text for magical reading light (covered). -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp (covered). +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Open cover" msgstr "Abdeckung öffnen" @@ -43590,8 +44729,8 @@ msgstr[1] "Enterhaken" #: lang/json/GENERIC_from_json.py msgid "" "A folding grappling hook attached to a stout 30-foot long piece of " -"lightweight cord. Useful for keeping yourself safe from falls. Can be used " -"in place of a long rope for butchering, in a pinch." +"lightweight cord. Useful for keeping yourself safe from falls. Can be used" +" in place of a long rope for butchering, in a pinch." msgstr "" #: lang/json/GENERIC_from_json.py @@ -44500,12 +45639,11 @@ msgstr[1] "" #. ~ Description for Beautiful Springtime #: lang/json/GENERIC_from_json.py -msgid "" -"A complete guide to Wing Chun Kung-fu. Includes a section on butterfly " -"swords and the use of long poles at the end." +msgid "A complete guide to Wing Chun Kung-fu." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/martial_art_from_json.py +#: lang/json/martial_art_from_json.py msgid "Fior Di Battaglia" msgid_plural "Fior Di Battaglia" msgstr[0] "" @@ -44515,8 +45653,8 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "A completely translated medieval guide teaching various techniques with " -"polearms, there is a chapter about the many variations of common polearms..." -" there are even pictures!" +"polearms, there is a chapter about the many variations of common polearms… " +"there are even pictures!" msgstr "" #: lang/json/GENERIC_from_json.py @@ -45704,6 +46842,20 @@ msgstr[1] "" msgid "This is a slip of paper signed by the issuer." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "icon" +msgid_plural "icons" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for icon +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a small picture, about the same size as an ID card, symbolizing a " +"religious figure. On the back, there is a text that faintly reads 'New " +"England Church Community'." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "generic silverware" msgid_plural "generic silverwares" @@ -46048,11 +47200,9 @@ msgstr[1] "Gabeln" #. ~ Description for fork #: lang/json/GENERIC_from_json.py msgid "" -"A fork, if you stab something with it you eat it right away. Wait... " +"A fork, if you stab something with it you eat it right away. Wait… " "nevermind." msgstr "" -"Eine Gabel, wenn du etwas damit erstichst, kannst du es gleich aufessen. " -"Moment mal … Ach, vergiss es." #: lang/json/GENERIC_from_json.py msgid "plastic fork" @@ -47315,18 +48465,12 @@ msgstr[1] "Mjölnire" #: lang/json/GENERIC_from_json.py msgid "" "A large hammer, forged from the heart of a dying star. It bears the inscription:\n" -" \n" +"\n" "Whosoever holds this hammer,\n" "If he be worthy,\n" -"Shall possess the power to...\n" +"Shall possess the power to…\n" "CRUSH!'" msgstr "" -"Ein großer Hammer, aus dem Herzen eines sterbenden Sterns geschmiedet. Er trägt die Beschriftung:\n" -" \n" -"»Wer diesen Hammer besitze,\n" -"Falls er es wert sei,\n" -"Wird eine Macht besitzen, die Macht zu …\n" -"ZERSCHMETTERN!«" #: lang/json/GENERIC_from_json.py msgid "lucerne hammer" @@ -47809,8 +48953,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "" "This is a thin thrusting sword, a sort of predecessor to the rapier. It " -"requires a larger baldric or scabbard, compared to smaller swords. It seems " -"a bit too bendy." +"requires a larger baldric or scabbard, compared to smaller swords. It seems" +" a bit too bendy." msgstr "" #. ~ Description for estoc @@ -47926,21 +49070,18 @@ msgstr "" "Schafts und der stumpfen Spitze." #: lang/json/GENERIC_from_json.py -msgid "fencing epee" -msgid_plural "fencing epees" -msgstr[0] "Fechtdegen" -msgstr[1] "Fechtdegen" +msgid "fencing épée" +msgid_plural "fencing épées" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for fencing epee +#. ~ Description for fencing épée #: lang/json/GENERIC_from_json.py msgid "" -"A weapon used for fencing, the most noble of all sports. The epee is the " +"A weapon used for fencing, the most noble of all sports. The épée is the " "heaviest and stiffest of the fencing weapons, and therefore perhaps the most" " useful." msgstr "" -"Eine Waffe, die zum Fechten benutzt wird, die Nobelste aller Sportarten. Der" -" Degen ist die schwerste und steifste der Fechtwaffen und daher " -"wahrscheinlich die nützlichste." #: lang/json/GENERIC_from_json.py msgid "fencing saber" @@ -47952,11 +49093,53 @@ msgstr[1] "Fechtsäbel" #: lang/json/GENERIC_from_json.py msgid "" "A weapon used for fencing, the most noble of all sports. The fencing saber " -"is marginally shorter than the foil and epee, but no less effective." +"is marginally shorter than the foil and épée, but no less effective." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened foil" +msgid_plural "sharpened foils" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sharpened foil +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing foil has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now somewhat more lethal, yet still familiar to" +" the practiced fencer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened épée" +msgid_plural "sharpened épées" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sharpened épée +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing épée has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now considerably more lethal, yet still " +"familiar to the practiced fencer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened saber" +msgid_plural "sharpened sabers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sharpened saber +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing saber has had its rounded tip snapped off " +"and has been crudely sharpened to a point. Though it still lacks a cutting " +"edge, it is now considerably more lethal, yet still familiar to the " +"practiced fencer." msgstr "" -"Eine Waffe, die zum Fechten benutzt wird, die Nobelste aller Sportarten. Der" -" Fechtsäbel ist geringfügig kürzer als Florett oder Degen, aber nicht " -"weniger effektiv." #: lang/json/GENERIC_from_json.py msgid "hollow cane" @@ -48199,6 +49382,17 @@ msgstr "" "Ein kleiner Metallzylinder mit einer kleinen Linse im Inneren. Er ist dazu " "gedacht, in einer Tür installiert zu werden." +#: lang/json/GENERIC_from_json.py +msgid "mesh screen" +msgid_plural "mesh screens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for mesh screen +#: lang/json/GENERIC_from_json.py +msgid "A roll of fine mesh screen for bug barriers on porches." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "pipe" msgid_plural "pipes" @@ -48255,12 +49449,8 @@ msgstr[1] "Aluminiumbarren" msgid "" "A small aluminum ingot, standardized for further processing. Light but " "durable, this could be cast into various shapes for construction or ground " -"down to a powder, for more... high-profile applications." +"down to a powder, for more… high-profile applications." msgstr "" -"Ein kleiner Aluminiumbarren, für die weitere Verarbeitung standardisiert. " -"Leicht aber widerstandsfähig, er könnte zu diversen Formen für den Bau " -"gegossen werden oder zu einem Pulver gemahlen werden, für … etwas " -"»prominentere« Anwendungszwecke." #: lang/json/GENERIC_from_json.py msgid "scrap copper" @@ -48286,12 +49476,12 @@ msgid "This is a single, or twin, sized mattress." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "down_mattress" -msgid_plural "down_mattresses" +msgid "down mattress" +msgid_plural "down mattresses" msgstr[0] "" msgstr[1] "" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/GENERIC_from_json.py msgid "This is a single, or twin, sized down filled mattress." msgstr "" @@ -48600,6 +49790,46 @@ msgid "" " can also serve as an improvised stabbing weapon, but will break quickly." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "frame loom" +msgid_plural "frame looms" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for frame loom +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a rather bulky and primitive wooden frame which can be used to weave" +" cloth sheets. It is very slow, though." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "wooden shed stick" +msgid_plural "wooden shed sticks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for wooden shed stick +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a short thin flat wooden stick, used as a tool while weaving cloth " +"with a frame loom." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "tailoring pattern set" +msgid_plural "tailoring pattern sets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for tailoring pattern set +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a large set of tailoring patterns made from paper. They're useful " +"for making any kind of cloth or leather items from scratch, but are " +"necessary for more advanced projects." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "vehicle alternator" msgid_plural "vehicle alternators" @@ -48973,6 +50203,20 @@ msgstr "" "sie fähig, ein unbemanntes Fahrzeug zu fahren. Die KI funktioniert nicht, " "aber sie sollte noch eine Art Wartungsmodus haben." +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "turret control unit" +msgid_plural "turret control units" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for turret control unit +#: lang/json/GENERIC_from_json.py +msgid "" +"A set of motor, camera, and various electronic modules banded together to " +"allow for tracking targets, friend-or-foe identification, and firing the " +"connected turret in full automatic mode." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "massive engine block" msgid_plural "massive engine blocks" @@ -50135,6 +51379,19 @@ msgstr "" "Eine sehr kleine Waschmaschine, die zur Verwendung in Fahrzeugen gedacht " "ist." +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "programmable autopilot" +msgid_plural "programmable autopilots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for programmable autopilot +#: lang/json/GENERIC_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of a vehicle to allow" +" it to follow simple paths." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "mountable autoclave" msgid_plural "mountable autoclaves" @@ -50208,7 +51465,7 @@ msgstr[1] "" #. ~ Description for medium wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." +"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py @@ -50220,8 +51477,8 @@ msgstr[1] "" #. ~ Description for heavy wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A heavy metal assembly that allows bolting a wheel on a car. Fit for a large" -" car wheel." +"A heavy metal assembly that allows bolting a wheel on a car. Fit for a " +"large car wheel." msgstr "" #: lang/json/GENERIC_from_json.py @@ -51411,6 +52668,27 @@ msgid "" "art." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "The Iron Whip" +msgid_plural "The Iron Whips" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for The Iron Whip. +#: lang/json/GENERIC_from_json.py +msgid "" +"You loop the whip in your hand and it coils back into a belt form in an " +"instant." +msgstr "" + +#. ~ Description for The Iron Whip +#: lang/json/GENERIC_from_json.py +msgid "" +"A long braided flexible steel bullwhip that narrows into a sharp blade at " +"the end. Easily capable of slicing and dicing anything that comes at you. " +"It transforms back into a belt." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "cudgel +1" msgid_plural "cudgel +1s" @@ -51915,165 +53193,6 @@ msgid_plural "dao +2s" msgstr[0] "" msgstr[1] "" -#: lang/json/GENERIC_from_json.py -msgid "cestus +1" -msgid_plural "cestus +1s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "cestus +2" -msgid_plural "cestus +2s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist" -msgid_plural "flaming fists" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for flaming fist -#: lang/json/GENERIC_from_json.py -msgid "" -"A heavy metal guard that covers the fist and increases striking power, with " -"stout padding underneath to protect the wearers hand. It has been enchanted" -" to emit dark magical flames that only harm enemies." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist +1" -msgid_plural "flaming fist +1s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist +2" -msgid_plural "flaming fist +2s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "gauntlet of pounding" -msgid_plural "gauntlets of pounding" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for gauntlet of pounding -#: lang/json/GENERIC_from_json.py -msgid "" -"A large gleaming metal gauntlet covered in magical symbols that allows you " -"to land astoundingly powerful blows." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "stone shell" -msgid_plural "stone shells" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for stone shell -#: lang/json/GENERIC_from_json.py -msgid "" -"The broken fragment of an owlbear egg. With luck it might still contain " -"some of its former power, though if nothing else it's still a bit sharp." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "glow dust" -msgid_plural "glow dusts" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for glow dust -#: lang/json/GENERIC_from_json.py -msgid "" -"The powdered remains of a will-o-wisps's phsyical form. It seems to still " -"possess an otherworldly glow." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "magical reading light" -msgid_plural "magical reading lights" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for magical reading light -#: lang/json/GENERIC_from_json.py -msgid "" -"Powered by the magic of glow powder and lesser mana potions, this extremely " -"expensive little light will provide just enough light to read by for at " -"least a decade. Use it to close the cover and hide the light." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "magical reading light (covered)" -msgid_plural "magical reading lights (covered)" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for magical reading light (covered) -#: lang/json/GENERIC_from_json.py -msgid "" -"Powered by the magic of glow powder and lesser mana potions, this extremely " -"expensive little light will provide just enough light to read by for at " -"least a decade. The cover is closed. Use it to open the cover and show the" -" light." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "bulette plate" -msgid_plural "bulette plates" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for bulette plate -#: lang/json/GENERIC_from_json.py -msgid "" -"The great plates from behind a bulette's head have always been prized for " -"use in shield and armor making." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "bulette pearl" -msgid_plural "bulette pearls" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for bulette pearl -#: lang/json/GENERIC_from_json.py -msgid "" -"As a bulette burrows through the earth its gills collect minute amounts of " -"precious metals and gems which slowly aggregate into lustrous gemstones " -"prized for their beauty and power." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "black dragon scale" -msgid_plural "black dragon scales" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for black dragon scale -#: lang/json/GENERIC_from_json.py -msgid "" -"A scale from a black dragon. It still has its magical properties and acid " -"resistance." -msgstr "" - -#: lang/json/GENERIC_from_json.py lang/json/material_from_json.py -msgid "black dragon hide" -msgid_plural "black dragon hides" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for black dragon hide -#: lang/json/GENERIC_from_json.py -msgid "" -"Prepared hide from a black dragon. Hard, acid-resistant, and with more " -"scales could make a suit of armor as hard as steel and half as heavy." -msgstr "" - #: lang/json/GENERIC_from_json.py msgid "Biomancer spear" msgid_plural "Biomancer spears" @@ -52083,8 +53202,8 @@ msgstr[1] "" #. ~ Description for Biomancer spear #: lang/json/GENERIC_from_json.py msgid "" -"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer rune" -" embedded at the base of the head." +"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer " +"rune embedded at the base of the head." msgstr "" #: lang/json/GENERIC_from_json.py @@ -52097,36 +53216,22 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "This staff incorporates a sturdy cresent wrench on top of a prybar and a " -"hammer on the other in a convienent package. There is a Technomancer rune " +"hammer on the other in a convienent package. There is a Technomancer rune " "embedded in the hammerhead." msgstr "" #: lang/json/GENERIC_from_json.py msgid "Magus staff" -msgid_plural "Magus staffs" +msgid_plural "Magus staves" msgstr[0] "" msgstr[1] "" -#. ~ Description for Magus staff +#. ~ Description for {'str': 'Magus staff', 'str_pl': 'Magus staves'} #: lang/json/GENERIC_from_json.py msgid "" "A quarterstaff with runes carved into it and two glass jars, heat-tempered " -"and infused with mana for durability, to act as mana receptacles. There are " -"two Magi runes embedded at the tips." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "Earthshaper cestus" -msgid_plural "Earthshaper cesti" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for Earthshaper cestus -#: lang/json/GENERIC_from_json.py -msgid "" -"A stone battle glove with carved runes encasing the hand, protecting it " -"while increasing striking power. There is an Earthshaper rune embedded in " -"the palm." +"and infused with mana for durability, to act as mana receptacles. There are" +" two Magi runes embedded at the tips." msgstr "" #: lang/json/GENERIC_from_json.py @@ -52138,7 +53243,7 @@ msgstr[1] "" #. ~ Description for Kelvinist flamberge #: lang/json/GENERIC_from_json.py msgid "" -"A sword with an undulating blade, reminiscent of a flame. There is a " +"A sword with an undulating blade, reminiscent of a flame. There is a " "Kelvinist rune embedded in the pommel." msgstr "" @@ -52151,7 +53256,7 @@ msgstr[1] "" #. ~ Description for Stormshaper axe #: lang/json/GENERIC_from_json.py msgid "" -"A forged copper axe with silver trimmings and a wooden handle. There is a " +"A forged copper axe with silver trimmings and a wooden handle. There is a " "Stormshaper rune embedded in the eye." msgstr "" @@ -52164,10 +53269,475 @@ msgstr[1] "" #. ~ Description for Animist athame #: lang/json/GENERIC_from_json.py msgid "" -"A steel ritual knife used by Animists to draw blood for summoning. Their " +"A steel ritual knife used by Animists to draw blood for summoning. Their " "school rune is embedded in the crossguard." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "springstaff(baton)" +msgid_plural "springstaves(baton)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "Extend to staff" +msgstr "" + +#. ~ Use action msg for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "You snap open your springstaff into staff mode." +msgstr "" + +#. ~ Description for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips retracted while in baton configuration. Activate to extend." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "springstaff(staff)" +msgid_plural "springstaves(staff)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "Retract to baton" +msgstr "" + +#. ~ Use action msg for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "You collapse your springstaff into baton mode." +msgstr "" + +#. ~ Description for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips from retracting while in staff configuration. Activate to extend." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magic token" +msgid_plural "magic tokens" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "longsword token" +msgid_plural "longsword tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for longsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine longsword!" +msgstr "" + +#. ~ Description for longsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a longsword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "arming sword token" +msgid_plural "arming sword tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for arming sword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine arming sword!" +msgstr "" + +#. ~ Description for arming sword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case an arming sword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "broadsword token" +msgid_plural "broadsword tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for broadsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine broadsword!" +msgstr "" + +#. ~ Description for broadsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a broadsword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "battleaxe token" +msgid_plural "battleaxe tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for battleaxe token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine battle axe!" +msgstr "" + +#. ~ Description for battleaxe token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a battle axe." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "pike token" +msgid_plural "pike tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for pike token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine pike!" +msgstr "" + +#. ~ Description for pike token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a pike." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "mace token" +msgid_plural "mace tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for mace token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine mace!" +msgstr "" + +#. ~ Description for mace token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a mace." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "quarterstaff token" +msgid_plural "quarterstaff tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for quarterstaff token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a pristine quarterstaff!" +msgstr "" + +#. ~ Description for quarterstaff token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a quarterstaff." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "hammer token" +msgid_plural "hammer tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for hammer token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine hammer!" +msgstr "" + +#. ~ Description for hammer token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a hammer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "screwdriver set token" +msgid_plural "screwdriver set tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for screwdriver set token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine screwdriver set!" +msgstr "" + +#. ~ Description for screwdriver set token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a screwdriver." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "toolbox token" +msgid_plural "toolbox tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for toolbox token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine toolbox!" +msgstr "" + +#. ~ Description for toolbox token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a toolbox." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "crowbar token" +msgid_plural "crowbar tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for crowbar token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine crowbar!" +msgstr "" + +#. ~ Description for crowbar token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a crowbar." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "cestus +1" +msgid_plural "cestus +1s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "cestus +2" +msgid_plural "cestus +2s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist" +msgid_plural "flaming fists" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for flaming fist +#: lang/json/GENERIC_from_json.py +msgid "" +"A heavy metal guard that covers the fist and increases striking power, with " +"stout padding underneath to protect the wearers hand. It has been enchanted" +" to emit dark magical flames that only harm enemies." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist +1" +msgid_plural "flaming fist +1s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist +2" +msgid_plural "flaming fist +2s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "gauntlet of pounding" +msgid_plural "gauntlets of pounding" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for gauntlet of pounding +#: lang/json/GENERIC_from_json.py +msgid "" +"A large gleaming metal gauntlet covered in magical symbols that allows you " +"to land astoundingly powerful blows." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Earthshaper cestus" +msgid_plural "Earthshaper cesti" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'Earthshaper cestus', 'str_pl': 'Earthshaper +#. cesti'} +#: lang/json/GENERIC_from_json.py +msgid "" +"A stone battle glove with carved runes encasing the hand, protecting it " +"while increasing striking power. There is an Earthshaper rune embedded in " +"the palm." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "stone shell" +msgid_plural "stone shells" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for stone shell +#: lang/json/GENERIC_from_json.py +msgid "" +"The broken fragment of an owlbear egg. With luck it might still contain " +"some of its former power, though if nothing else it's still a bit sharp." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "glow dust" +msgid_plural "glow dusts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for glow dust +#: lang/json/GENERIC_from_json.py +msgid "" +"The powdered remains of a will-o-wisps's phsyical form. It seems to still " +"possess an otherworldly glow." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magical reading light" +msgid_plural "magical reading lights" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magical reading light +#: lang/json/GENERIC_from_json.py +msgid "" +"Powered by the magic of glow powder and lesser mana potions, this extremely " +"expensive little light will provide just enough light to read by for at " +"least a decade. Use it to close the cover and hide the light." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magical reading light (covered)" +msgid_plural "magical reading lights (covered)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magical reading light (covered) +#: lang/json/GENERIC_from_json.py +msgid "" +"Powered by the magic of glow powder and lesser mana potions, this extremely " +"expensive little light will provide just enough light to read by for at " +"least a decade. The cover is closed. Use it to open the cover and show the" +" light." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "bulette plate" +msgid_plural "bulette plates" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bulette plate +#: lang/json/GENERIC_from_json.py +msgid "" +"The great plates from behind a bulette's head have always been prized for " +"use in shield and armor making." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "bulette pearl" +msgid_plural "bulette pearls" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bulette pearl +#: lang/json/GENERIC_from_json.py +msgid "" +"As a bulette burrows through the earth its gills collect minute amounts of " +"precious metals and gems which slowly aggregate into lustrous gemstones " +"prized for their beauty and power." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "stirge proboscis" +msgid_plural "stirge proboscises" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for stirge proboscis +#: lang/json/GENERIC_from_json.py +msgid "" +"A long sucking apparatus harvested from stirge corpse. Makes a poor melee " +"weapon." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "black dragon scale" +msgid_plural "black dragon scales" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for black dragon scale +#: lang/json/GENERIC_from_json.py +msgid "" +"A scale from a black dragon. It still has its magical properties and acid " +"resistance." +msgstr "" + +#: lang/json/GENERIC_from_json.py lang/json/material_from_json.py +msgid "black dragon hide" +msgid_plural "black dragon hides" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for black dragon hide +#: lang/json/GENERIC_from_json.py +msgid "" +"Prepared hide from a black dragon. Hard, acid-resistant, and with more " +"scales could make a suit of armor as hard as steel and half as heavy." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "lesser staff of the magi" msgid_plural "lesser staves of the magi" @@ -52181,6 +53751,17 @@ msgid "" "glows with magic when you cast spells, but it is not a sturdy melee weapon." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "fireball hammer" +msgid_plural "fireball hammers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fireball hammer +#: lang/json/GENERIC_from_json.py +msgid "Use with caution! Flammable! Explosive!" +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "The Stormhammer" msgid_plural "The Stormhammers" @@ -52231,6 +53812,56 @@ msgstr[1] "" msgid "This is a wicked spear/halberd hybrid entirely created of bone." msgstr "" +#. ~ Description for Mjölnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Mjölnir, the legendary hammer of Thor. It is rumored to be able to level " +"mountains with a single blow. You feel the power of Asgard coursing through" +" the hammer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Gungnir" +msgid_plural "Gungnirs" +msgstr[0] "Gungnir" +msgstr[1] "Gungnirs" + +#. ~ Description for Gungnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Gungnir, the spear of Odin. It is rumored to be the perfect spear, " +"perfectly hitting any target regardless of the wielder's strength or skill." +" If feels like Odin's protecting you." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Gram" +msgid_plural "Grams" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Gram +#: lang/json/GENERIC_from_json.py +msgid "" +"Gram, the sword of Sigurd. It is rumored to be the sword that slayed the " +"legendary dragon, Fafnir. Once said to have cleaved Regin's anvil in half, " +"the edge is impeccable." +msgstr "" + +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py +msgid "Laevateinn" +msgid_plural "Laevateinns" +msgstr[0] "Laevateinn" +msgstr[1] "Laevateinns" + +#. ~ Description for Laevateinn +#: lang/json/GENERIC_from_json.py +msgid "" +"Laevateinn, the staff of Loki. Said to have been plucked from the gates of " +"Hel by Loki. Imbued with a mysterious magic, the magic of the trickster god" +" himself." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "Spell Scroll" msgid_plural "Spell Scrolls" @@ -52476,8 +54107,8 @@ msgstr[1] "" #. ~ Description for Blinding Flash #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" -"Blind enemies for a short time with a sudden, dazzling light. Higher levels " -"deal slightly higher damage." +"Blind enemies for a short time with a sudden, dazzling light. Higher levels" +" deal slightly higher damage." msgstr "" #: lang/json/GENERIC_from_json.py @@ -52491,7 +54122,7 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" "A mass of spectral hands emerge from the ground, slowing everything in " -"range. Higher levels allow a bigger AoE, and longer effect." +"range. Higher levels allow a bigger AoE, and longer effect." msgstr "" #: lang/json/GENERIC_from_json.py @@ -53257,8 +54888,49 @@ msgstr[1] "" #. ~ Description for Scroll of Purification Seed #: lang/json/GENERIC_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Greater levels yield" -" greater numbers of seeds." +"You summon a gift of the earth which will purify water. Greater levels " +"yield greater numbers of seeds." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of X-ray Vision" +msgid_plural "Scroll of X-ray Visions" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Scroll of X-ray Vision +#. ~ Description for X-ray Vision +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You fire a cone of X-rays that magically allow you to see that area for a " +"short time." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Clairvoyance" +msgid_plural "Scroll of Clairvoyances" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Scroll of Clairvoyance +#. ~ Description for Clairvoyance +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "You close your eyes and the earth surrenders its secrets to you." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Lava Bomb" +msgid_plural "Scroll of Lava Bombs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Scroll of Lava Bomb +#. ~ Description for Lava Bomb +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You tear up the ground beneath you to fire a lava bomb: a globe of lava " +"surrounded by hot, solid rock. It shatters upon impact, spraying shards of " +"rock and lava everywhere." msgstr "" #: lang/json/GENERIC_from_json.py @@ -54222,12 +55894,6 @@ msgstr "" " Lage sei, Berge mit einem Schlag zerschlagen. Er ist mit Gold- und " "Silberverzierungen dekoriert." -#: lang/json/GENERIC_from_json.py -msgid "Gungnir" -msgid_plural "Gungnirs" -msgstr[0] "Gungnir" -msgstr[1] "Gungnirs" - #. ~ Description for Gungnir #: lang/json/GENERIC_from_json.py msgid "" @@ -55333,6 +56999,304 @@ msgstr "ARTEFAKTE" msgid "ARMOR" msgstr "KLEIDUNG" +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "ITEMS WORN" +msgstr "GETRAGENES" + +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "WEAPON HELD" +msgstr "GEHALTENE WAFFEN" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Unsorted" +msgstr "Beute: Unsortiert" + +#. ~ Description for Loot: Unsorted +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " +"sort items inside. It can overlap with Loot zones of different types." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Food" +msgstr "Beute: Essen" + +#. ~ Description for Loot: Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for comestibles. If more specific food zone is not defined, all" +" food is moved here." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Food" +msgstr "Beute: verd. Essen" + +#. ~ Description for Loot: P.Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for perishable comestibles. Does include perishable drinks if " +"such zone is not specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drink" +msgstr "Beute: Getränke" + +#. ~ Description for Loot: Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for drinks. Does include perishable drinks if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Drink" +msgstr "Beute: verd. Getränke" + +#. ~ Description for Loot: P.Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for perishable drinks." +msgstr "Zielfeld für verderbliche Getränke." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Guns" +msgstr "Beute: Feuerwaffen" + +#. ~ Description for Loot: Guns +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for guns, bows and similar wearpons." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Magazines" +msgstr "Beute: Magazine" + +#. ~ Description for Loot: Magazines +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for gun magazines." +msgstr "Zielfeld für Waffenmagazine." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ammo" +msgstr "Beute: Munition" + +#. ~ Description for Loot: Ammo +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for ammo." +msgstr "Zielfeld für Munition." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Weapons" +msgstr "Beute: Waffen" + +#. ~ Description for Loot: Weapons +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for melee weapons." +msgstr "Zielfeld für Nahkampfwaffen." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Tools" +msgstr "Beute: Werkzeuge" + +#. ~ Description for Loot: Tools +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for tools." +msgstr "Zielfeld für Werkzeuge." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Clothing" +msgstr "Beute: Kleidung" + +#. ~ Description for Loot: Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for clothing. Does include filthy clothing if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Clothing" +msgstr "Beute: vers. Kleidung" + +#. ~ Description for Loot: F.Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy clothing." +msgstr "Zielfeld für versiffte Kleidung." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drugs" +msgstr "Beute: Drogen" + +#. ~ Description for Loot: Drugs +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for drugs and other medical items." +msgstr "Zielfeld für Drogen, Medikamente und andere medizinische Artikel." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Books" +msgstr "Beute: Bücher" + +#. ~ Description for Loot: Books +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for books and magazines." +msgstr "Zielfeld für Bücher und Zeitschriften." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mods" +msgstr "Beute: Mods" + +#. ~ Description for Loot: Mods +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firearm modifications and similar items." +msgstr "Zielfeld für Schusswaffenmodifikationen und ähnliche Gegenstände." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mutagens" +msgstr "Beute: Mutagene" + +#. ~ Description for Loot: Mutagens +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for mutagens, serums, and purifiers." +msgstr "Zielfeld für Mutagene, Seren und Purifizierer." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Bionics" +msgstr "Beute: Bioniken" + +#. ~ Description for Loot: Bionics +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for Compact Bionics Modules, a.k.a. CBMS." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: V.Parts" +msgstr "Beute: Fahrzeugteile" + +#. ~ Description for Loot: V.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for vehicle parts." +msgstr "Zielfeld für Fahrzeugteile." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Other" +msgstr "Beute: Andere" + +#. ~ Description for Loot: Other +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for other miscellaneous items." +msgstr "Zielfeld für andere sonstige Gegenstände." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Fuel" +msgstr "Beute: Treibstoff" + +#. ~ Description for Loot: Fuel +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for gasoline, diesel, lamp oil and other substances used as a " +"fuel." +msgstr "" +"Zielfeld für Benzin, Diesel, Lampenöl und andere als Kraftstoff verwendete " +"Substanzen." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Seeds" +msgstr "Beute: Samen" + +#. ~ Description for Loot: Seeds +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for seeds, stems and similar items." +msgstr "Zielfeld für Samen, Stängel und ähnliche Gegenstände." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Chemical" +msgstr "Beute: Chemisches Zeug" + +#. ~ Description for Loot: Chemical +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for chemicals." +msgstr "Zielfeld für Chemikalien." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: S.Parts" +msgstr "Beute: Ersatzteile" + +#. ~ Description for Loot: S.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for spare parts." +msgstr "Zielfeld für Ersatzteile." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Artifacts" +msgstr "Beute: Artefakte" + +#. ~ Description for Loot: Artifacts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for artifacts" +msgstr "Zielfeld für Artefakte" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Corpses" +msgstr "" + +#. ~ Description for Loot: Corpses +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for corpses" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Armor" +msgstr "Beute: Rüstungen" + +#. ~ Description for Loot: Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for armor. Does include filthy armor if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Armor" +msgstr "Beute: vers. Rüstungen" + +#. ~ Description for Loot: F.Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy armor." +msgstr "Zielfeld für versiffte Rüstungen." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Wood" +msgstr "Beute: Holz" + +#. ~ Description for Loot: Wood +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firewood and items that can be used as such." +msgstr "" +"Zielfeld für Brennholz und Gegenstände, die als solches verwendet werden " +"können." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Custom" +msgstr "" + +#. ~ Description for Loot: Custom +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for loot with a custom filter that you can modify" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ignore" +msgstr "Beute: Ignorieren" + +#. ~ Description for Loot: Ignore +#: lang/json/LOOT_ZONE_from_json.py +msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." +msgstr "" +"Gegenstände innerhalb dieses Zielfeldes werden von der Zone-Aktion »Meine " +"Beute aussortieren« ignoriert." + #: lang/json/MAGAZINE_from_json.py msgid "ultra-light battery" msgid_plural "ultra-light batteries" @@ -55554,7 +57518,7 @@ msgstr[1] "" #: lang/json/MAGAZINE_from_json.py msgid "" "This is a heavy battery cell, universally compatible with all kinds of " -"industrial-grade equipment and large tools. The battery's chemistry means " +"industrial-grade equipment and large tools. The battery's chemistry means " "that it has a very high capacity, but cannot be recharged." msgstr "" @@ -56097,17 +58061,6 @@ msgstr "" msgid "A 14 round double stack box magazine for the SIG Sauer P320." msgstr "" -#: lang/json/MAGAZINE_from_json.py -msgid "Taurus .38 magazine" -msgstr "Taurus-.38-Magazin" - -#. ~ Description for Taurus .38 magazine -#: lang/json/MAGAZINE_from_json.py -msgid "A compact steel box magazine for use with the Taurus Pro .38 pistol." -msgstr "" -"Ein kompaktes Stahlkastenmagazin zur Verwendung mit der Pistole Taurus Pro " -".38." - #: lang/json/MAGAZINE_from_json.py msgid ".38/.357 7-round speedloader" msgstr "" @@ -56181,6 +58134,16 @@ msgstr "" msgid "A 10-round steel box magazine for use with the Hi-Point CF-380." msgstr "" +#: lang/json/MAGAZINE_from_json.py +msgid "Taurus Spectrum magazine" +msgstr "" + +#. ~ Description for Taurus Spectrum magazine +#: lang/json/MAGAZINE_from_json.py +msgid "" +"A compact, 6-round steel box magazine for use with the Taurus Spectrum." +msgstr "" + #: lang/json/MAGAZINE_from_json.py msgid "M1911 .38 Super magazine" msgstr "" @@ -57304,17 +59267,6 @@ msgstr "" "Schweißgase gedacht ist. Er ist mit voller verschwommenen und mittlerweise " "unleserlichen Symbolen beschrieben." -#: lang/json/MAGAZINE_from_json.py -msgid "oxygen cylinder" -msgstr "" - -#. ~ Description for oxygen cylinder -#: lang/json/MAGAZINE_from_json.py -msgid "" -"A large steel cylinder used for storing pressurized gas. It is marked with a" -" faded, but legible O2 symbol." -msgstr "" - #: lang/json/MAGAZINE_from_json.py lang/json/vehicle_part_from_json.py msgid "car battery" msgid_plural "car batteries" @@ -58092,6 +60044,15 @@ msgstr "" "Getragene versiffte Kleidung (von Zombies fallen gelassen) wird " "Moraleinbußen nach sich ziehen und Infektionen im Kampf." +#: lang/json/MOD_INFO_from_json.py +msgid "Fuji's Military Profession Pack" +msgstr "" + +#. ~ Description for Fuji's Military Profession Pack +#: lang/json/MOD_INFO_from_json.py +msgid "Numerous military themed professions" +msgstr "" + #: lang/json/MOD_INFO_from_json.py msgid "Fuji's More Buildings" msgstr "Fujis Mehr Gebäude" @@ -58262,7 +60223,7 @@ msgstr "" msgid "" "Cataclysm is nice, but what if you could sweeten it a bit? What about " "walking through this world as a human shaped piece of sugar with your pet " -"necco waffer?" +"necco wafer?" msgstr "" #: lang/json/MOD_INFO_from_json.py @@ -58891,11 +60852,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "goose" -msgid_plural "gooses" +msgid_plural "geese" msgstr[0] "" msgstr[1] "" -#. ~ Description for goose +#. ~ Description for {'str': 'goose', 'str_pl': 'geese'} #: lang/json/MONSTER_from_json.py msgid "A Canadian goose, a common waterfowl that regrets leaving Canada." msgstr "" @@ -59209,60 +61170,60 @@ msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "" "Many times as large as a normal manhack, this flying quadcopter drone " -"appears to have a mininuke inside. If this is targeting you... Run." +"appears to have a mininuke inside. If this is targeting you… Run." msgstr "" #: lang/json/MONSTER_from_json.py msgid "tiny fish" -msgid_plural "tiny fishs" +msgid_plural "tiny fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for tiny fish +#. ~ Description for {'str': 'tiny fish', 'str_pl': 'tiny fish'} #: lang/json/MONSTER_from_json.py msgid "A tiny fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "small fish" -msgid_plural "small fishs" +msgid_plural "small fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for small fish +#. ~ Description for {'str': 'small fish', 'str_pl': 'small fish'} #: lang/json/MONSTER_from_json.py msgid "A small fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "medium fish" -msgid_plural "medium fishs" +msgid_plural "medium fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for medium fish +#. ~ Description for {'str': 'medium fish', 'str_pl': 'medium fish'} #: lang/json/MONSTER_from_json.py msgid "A medium fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "large fish" -msgid_plural "large fishs" +msgid_plural "large fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for large fish +#. ~ Description for {'str': 'large fish', 'str_pl': 'large fish'} #: lang/json/MONSTER_from_json.py msgid "A large fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "huge fish" -msgid_plural "huge fishs" +msgid_plural "huge fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for huge fish +#. ~ Description for {'str': 'huge fish', 'str_pl': 'huge fish'} #: lang/json/MONSTER_from_json.py msgid "A huge fish." msgstr "" @@ -59394,11 +61355,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "whitefish" -msgid_plural "whitefishs" +msgid_plural "whitefish" msgstr[0] "" msgstr[1] "" -#. ~ Description for whitefish +#. ~ Description for {'str': 'whitefish', 'str_pl': 'whitefish'} #: lang/json/MONSTER_from_json.py msgid "" "A whitefish, closely related to salmon. One can assume they are just as " @@ -59409,22 +61370,22 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "largemouth bass" -msgid_plural "largemouth basss" +msgid_plural "largemouth bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for largemouth bass +#. ~ Description for {'str': 'largemouth bass', 'str_pl': 'largemouth bass'} #: lang/json/MONSTER_from_json.py msgid "A Largemouth Bass. Very popular with sports fishermen." msgstr "" #: lang/json/MONSTER_from_json.py msgid "smallmouth bass" -msgid_plural "smallmouth basss" +msgid_plural "smallmouth bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for smallmouth bass +#. ~ Description for {'str': 'smallmouth bass', 'str_pl': 'smallmouth bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Smallmouth Bass. Being intolerant to pollution in the water, smallmouth " @@ -59433,11 +61394,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "striped bass" -msgid_plural "striped basss" +msgid_plural "striped bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for striped bass +#. ~ Description for {'str': 'striped bass', 'str_pl': 'striped bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Striped Bass. Mostly a salt water fish, they migrate to fresher water to " @@ -59446,11 +61407,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "white bass" -msgid_plural "white basss" +msgid_plural "white bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for white bass +#. ~ Description for {'str': 'white bass', 'str_pl': 'white bass'} #: lang/json/MONSTER_from_json.py msgid "" "A White Bass. Common to the region, a slab-sided and spiny-rayed little " @@ -59459,11 +61420,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "perch" -msgid_plural "perchs" +msgid_plural "perches" msgstr[0] "" msgstr[1] "" -#. ~ Description for perch +#. ~ Description for {'str': 'perch', 'str_pl': 'perches'} #: lang/json/MONSTER_from_json.py msgid "" "A small spritely Perch. A very bony fish, still got some tasty meat on it " @@ -59483,22 +61444,23 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "sunfish" -msgid_plural "sunfishs" +msgid_plural "sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for sunfish +#. ~ Description for {'str': 'sunfish', 'str_pl': 'sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "pumpkinseed sunfish" -msgid_plural "pumpkinseed sunfishs" +msgid_plural "pumpkinseed sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for pumpkinseed sunfish +#. ~ Description for {'str': 'pumpkinseed sunfish', 'str_pl': 'pumpkinseed +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Pumpkinseed Sunfish. A small fish related to bass or bluegill." msgstr "" @@ -59517,55 +61479,56 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "redbreast sunfish" -msgid_plural "redbreast sunfishs" +msgid_plural "redbreast sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for redbreast sunfish +#. ~ Description for {'str': 'redbreast sunfish', 'str_pl': 'redbreast +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redbreast Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "green sunfish" -msgid_plural "green sunfishs" +msgid_plural "green sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for green sunfish +#. ~ Description for {'str': 'green sunfish', 'str_pl': 'green sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Green Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "longear sunfish" -msgid_plural "longear sunfishs" +msgid_plural "longear sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for longear sunfish +#. ~ Description for {'str': 'longear sunfish', 'str_pl': 'longear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Longear Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "redear sunfish" -msgid_plural "redear sunfishs" +msgid_plural "redear sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for redear sunfish +#. ~ Description for {'str': 'redear sunfish', 'str_pl': 'redear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redear Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "rock bass" -msgid_plural "rock basss" +msgid_plural "rock bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for rock bass +#. ~ Description for {'str': 'rock bass', 'str_pl': 'rock bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Rock Bass. Related to sunfish, this tiny fish has a camoflauge-like " @@ -59574,11 +61537,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "calico bass" -msgid_plural "calico basss" +msgid_plural "calico bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for calico bass +#. ~ Description for {'str': 'calico bass', 'str_pl': 'calico bass'} #: lang/json/MONSTER_from_json.py msgid "A Calico Bass. A medium-sized fish also known as a 'Crappie'." msgstr "" @@ -59609,22 +61572,22 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "channel catfish" -msgid_plural "channel catfishs" +msgid_plural "channel catfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for channel catfish +#. ~ Description for {'str': 'channel catfish', 'str_pl': 'channel catfish'} #: lang/json/MONSTER_from_json.py msgid "A Channel Catfish, they have a forked tail and long whiskers." msgstr "" #: lang/json/MONSTER_from_json.py msgid "white catfish" -msgid_plural "white catfishs" +msgid_plural "white catfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for white catfish +#. ~ Description for {'str': 'white catfish', 'str_pl': 'white catfish'} #: lang/json/MONSTER_from_json.py msgid "A White Catfish, a small whiskered fish with a broad head." msgstr "" @@ -59719,11 +61682,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fallfish" -msgid_plural "fallfishs" +msgid_plural "fallfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for fallfish +#. ~ Description for {'str': 'fallfish', 'str_pl': 'fallfish'} #: lang/json/MONSTER_from_json.py msgid "" "A Fallfish. These fish are related to gar but without the huge teeth, skin " @@ -59741,26 +61704,21 @@ msgstr[1] "" msgid "" "These things were once considered pests not worth eating, then some " "marketing genius started selling them to people as a delicacy and they took " -"off in popularity... and price." +"off in popularity… and price." msgstr "" -"Früher betrachtete man diese Dinger als eine Plage, die es nicht wert sind, " -"gegessen zu werden, dann fing ein Marketing-Genie an, sie an Leute als " -"Delikatesse zu verkaufen, dann wurden sie rasch beliebter … und teurer." #: lang/json/MONSTER_from_json.py msgid "crayfish" -msgid_plural "crayfishs" +msgid_plural "crayfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for crayfish +#. ~ Description for {'str': 'crayfish', 'str_pl': 'crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "If you could get ahold of a bunch more of these, a hefty pot of boiling " -"water, and some spicy seasonings..." +"water, and some spicy seasonings…" msgstr "" -"Wenn du nur ein paar weitere von diesen Exemplaren fangen könntest und einen" -" großen Topf mit kochendem Wasser und ein paar pikante Gewürze hättest …" #: lang/json/MONSTER_from_json.py msgid "Blinky" @@ -59768,7 +61726,7 @@ msgid_plural "Blinkies" msgstr[0] "Blinky" msgstr[1] "Blinkies" -#. ~ Description for Blinky +#. ~ Description for {'str': 'Blinky', 'str_pl': 'Blinkies'} #: lang/json/MONSTER_from_json.py msgid "A strange three-eyed fish." msgstr "Ein seltsamer dreiäugiger Fisch." @@ -59891,11 +61849,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant cockroach" -msgid_plural "giant cockroachs" +msgid_plural "giant cockroaches" msgstr[0] "" msgstr[1] "" -#. ~ Description for giant cockroach +#. ~ Description for {'str': 'giant cockroach', 'str_pl': 'giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "A mutant cockroach the size of a small dog." msgstr "Eine Mutantenkakerlake von der Größe eines kleinen Hundes." @@ -59913,11 +61871,12 @@ msgstr "Eine junge Mutantenkakerlake von der Größe einer Ratte." #: lang/json/MONSTER_from_json.py msgid "pregnant giant cockroach" -msgid_plural "pregnant giant cockroachs" +msgid_plural "pregnant giant cockroaches" msgstr[0] "" msgstr[1] "" -#. ~ Description for pregnant giant cockroach +#. ~ Description for {'str': 'pregnant giant cockroach', 'str_pl': 'pregnant +#. giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant cockroach the size of a small dog. Its abdomen is heavily swollen." @@ -59960,7 +61919,7 @@ msgid_plural "giant dragonflies" msgstr[0] "Riesenlibelle" msgstr[1] "Riesenlibellen" -#. ~ Description for giant dragonfly +#. ~ Description for {'str': 'giant dragonfly', 'str_pl': 'giant dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A ferocious mutant dragonfly as big as a cat, darting through the air with a" @@ -59975,7 +61934,7 @@ msgid_plural "giant flies" msgstr[0] "Riesenfliege" msgstr[1] "Riesenfliegen" -#. ~ Description for giant fly +#. ~ Description for {'str': 'giant fly', 'str_pl': 'giant flies'} #: lang/json/MONSTER_from_json.py msgid "" "A tremendous housefly the size of a small dog, predictably accompanied by a " @@ -60185,11 +62144,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dermatik larva" -msgid_plural "dermatik larvas" +msgid_plural "dermatik larvae" msgstr[0] "" msgstr[1] "" -#. ~ Description for dermatik larva +#. ~ Description for {'str': 'dermatik larva', 'str_pl': 'dermatik larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A fat white grub as big as a squirrel, with a pair of large, spadelike " @@ -60231,11 +62190,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "acidic ant larva" -msgid_plural "acidic ant larvas" +msgid_plural "acidic ant larvae" msgstr[0] "" msgstr[1] "" -#. ~ Description for acidic ant larva +#. ~ Description for {'str': 'acidic ant larva', 'str_pl': 'acidic ant +#. larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A squirming yellow grub that seems to be oozing liquid from both ends of its" @@ -60299,11 +62259,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "ant larva" -msgid_plural "ant larvas" +msgid_plural "ant larvae" msgstr[0] "" msgstr[1] "" -#. ~ Description for ant larva +#. ~ Description for {'str': 'ant larva', 'str_pl': 'ant larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A pulsating sausage of glistening white flesh, the size of a large cat. On " @@ -60621,11 +62581,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Labrador puppy" -msgid_plural "Labrador puppys" +msgid_plural "Labrador puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for Labrador puppy +#. ~ Description for {'str': 'Labrador puppy', 'str_pl': 'Labrador puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Labrador puppy. Much safer to tame than an adult " @@ -60649,11 +62609,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bulldog puppy" -msgid_plural "bulldog puppys" +msgid_plural "bulldog puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for bulldog puppy +#. ~ Description for {'str': 'bulldog puppy', 'str_pl': 'bulldog puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless American bulldog puppy. Much safer to tame than an" @@ -60662,11 +62622,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull mix" -msgid_plural "pit bull mixs" +msgid_plural "pit bull mixes" msgstr[0] "" msgstr[1] "" -#. ~ Description for pit bull mix +#. ~ Description for {'str': 'pit bull mix', 'str_pl': 'pit bull mixes'} #: lang/json/MONSTER_from_json.py msgid "" "The oft-misunderstood pit bull is not actually a single breed but a label " @@ -60677,11 +62637,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull puppy" -msgid_plural "pit bull puppys" +msgid_plural "pit bull puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for pit bull puppy +#. ~ Description for {'str': 'pit bull puppy', 'str_pl': 'pit bull puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless pit bull puppy. Much safer to tame than an adult " @@ -60706,11 +62666,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "beagle puppy" -msgid_plural "beagle puppys" +msgid_plural "beagle puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for beagle puppy +#. ~ Description for {'str': 'beagle puppy', 'str_pl': 'beagle puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless beagle puppy. Much safer to tame than an adult " @@ -60736,11 +62696,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "border collie puppy" -msgid_plural "border collie puppys" +msgid_plural "border collie puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for border collie puppy +#. ~ Description for {'str': 'border collie puppy', 'str_pl': 'border collie +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Border Collie puppy. Much safer to tame than an " @@ -60765,11 +62726,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "boxer puppy" -msgid_plural "boxer puppys" +msgid_plural "boxer puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for boxer puppy +#. ~ Description for {'str': 'boxer puppy', 'str_pl': 'boxer puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless boxer puppy. Much safer to tame than an adult dog." @@ -60790,11 +62751,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Chihuahua puppy" -msgid_plural "Chihuahua puppys" +msgid_plural "Chihuahua puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for Chihuahua puppy +#. ~ Description for {'str': 'Chihuahua puppy', 'str_pl': 'Chihuahua puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Chihuahua puppy. Much safer to tame than an adult " @@ -60817,11 +62778,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dachshund puppy" -msgid_plural "dachshund puppys" +msgid_plural "dachshund puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for dachshund puppy +#. ~ Description for {'str': 'dachshund puppy', 'str_pl': 'dachshund puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless dachshund puppy. Much safer to tame than an adult " @@ -60846,11 +62807,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "German shepherd puppy" -msgid_plural "German shepherd puppys" +msgid_plural "German shepherd puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for German shepherd puppy +#. ~ Description for {'str': 'German shepherd puppy', 'str_pl': 'German +#. shepherd puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless German shepherd puppy. Much safer to tame than an " @@ -60859,11 +62821,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees" -msgid_plural "Great Pyreneess" +msgid_plural "Great Pyrenees" msgstr[0] "" msgstr[1] "" -#. ~ Description for Great Pyrenees +#. ~ Description for {'str': 'Great Pyrenees', 'str_pl': 'Great Pyrenees'} #: lang/json/MONSTER_from_json.py msgid "" "A large and powerful breed, the Great Pyrenees has a beautiful, thick white " @@ -60877,11 +62839,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees puppy" -msgid_plural "Great Pyrenees puppys" +msgid_plural "Great Pyrenees puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for Great Pyrenees puppy +#. ~ Description for {'str': 'Great Pyrenees puppy', 'str_pl': 'Great Pyrenees +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Great Pyrenees puppy. Much safer to tame than an " @@ -60908,11 +62871,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rottweiler puppy" -msgid_plural "rottweiler puppys" +msgid_plural "rottweiler puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for rottweiler puppy +#. ~ Description for {'str': 'rottweiler puppy', 'str_pl': 'rottweiler +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Rottweiler puppy. Much safer to tame than an adult" @@ -60937,11 +62901,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cattle dog puppy" -msgid_plural "cattle dog puppys" +msgid_plural "cattle dog puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for cattle dog puppy +#. ~ Description for {'str': 'cattle dog puppy', 'str_pl': 'cattle dog +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Australian cattle dog puppy. Much safer to tame " @@ -60954,7 +62919,7 @@ msgid_plural "foxes" msgstr[0] "Fuchs" msgstr[1] "Fuchse" -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A small omnivorous canine with an almost cat-like manner. It is a solitary " @@ -60964,7 +62929,7 @@ msgstr "" "Verhalten. Er ist ein Einzeljäger und einer der einzigen Hundeartigen, die " "fähig sind, auf Bäume zu klettern." -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "The red fox, an omnivorous canine and largest of the true foxes, it is a " @@ -61055,11 +63020,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "moose" -msgid_plural "mooses" +msgid_plural "moose" msgstr[0] "" msgstr[1] "" -#. ~ Description for moose +#. ~ Description for {'str': 'moose', 'str_pl': 'moose'} #: lang/json/MONSTER_from_json.py msgid "" "The Eastern moose, the largest living species of deer. While they aren't " @@ -61216,10 +63181,8 @@ msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "" "A worm-tailed rodent with long whiskers and beady eyes. The way it squeaks " -"makes it sound... hungry." +"makes it sound… hungry." msgstr "" -"Ein wurmschwänziger Nager mit langen Schnurrhaaren und Knopfaugen. Die Art " -"und Weise, wie es quiekt, lässt es … hungig klingen." #: lang/json/MONSTER_from_json.py msgid "lamb" @@ -61241,7 +63204,7 @@ msgid_plural "sheep" msgstr[0] "Schaf" msgstr[1] "Schafe" -#. ~ Description for sheep +#. ~ Description for {'str': 'sheep', 'str_pl': 'sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A timid, hooved grazing mammal, and one of the first animals ever " @@ -61301,7 +63264,7 @@ msgid_plural "wolves" msgstr[0] "Wolf" msgstr[1] "Wölfe" -#. ~ Description for wolf +#. ~ Description for {'str': 'wolf', 'str_pl': 'wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A cunning pack predator, once extinct in the New England area, the wolf was " @@ -61584,7 +63547,7 @@ msgid_plural "blank bodies" msgstr[0] "blasser Körper" msgstr[1] "blasse Körper" -#. ~ Description for blank body +#. ~ Description for {'str': 'blank body', 'str_pl': 'blank bodies'} #: lang/json/MONSTER_from_json.py msgid "" "This is some form of unnatural changeling creature; its appearance is a " @@ -61735,12 +63698,22 @@ msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "" "This boomer, normally swollen and ready to burst, has strengthened and " -"solidified. The bile dribbling from its mouth also appears to have " -"changed..." +"solidified. The bile dribbling from its mouth also appears to have changed…" +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "dissoluted devourer" +msgid_plural "dissoluted devourers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for dissoluted devourer +#: lang/json/MONSTER_from_json.py +msgid "" +"Human bodies fused together into a colossus with heads and limbs sticking " +"out of its bloated body. You may have trouble estimating its healthiness " +"and its capabilities might change." msgstr "" -"Dieser Boomer, normalerweise angeschwollen und bereit zum Explodieren, hat " -"sich verstärkt und verfestigt. Die Galle, die aus seinem Mund tropft, " -"scheint sich ebenfalls verändert zu haben." #: lang/json/MONSTER_from_json.py msgid "breather" @@ -61799,7 +63772,7 @@ msgid "" "A human fused with a mess of metal parts and wires. While its eyes are " "empty, flashes of pain pass across its face reminiscent of the person " "trapped in this grotesque body. With enough surgical skills one might be " -"able to give them back some humanity. If only they cared..." +"able to give them back some humanity. If only they cared…" msgstr "" #: lang/json/MONSTER_from_json.py @@ -62287,11 +64260,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant crayfish" -msgid_plural "giant crayfishs" +msgid_plural "giant crayfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for giant crayfish +#. ~ Description for {'str': 'giant crayfish', 'str_pl': 'giant crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant, terrestrial variety of the signal crayfish, this massive " @@ -62446,7 +64419,7 @@ msgid_plural "homunculuses" msgstr[0] "Homunkulus" msgstr[1] "Homunkuli" -#. ~ Description for homunculus +#. ~ Description for {'str': 'homunculus', 'str_pl': 'homunculuses'} #: lang/json/MONSTER_from_json.py msgid "" "A pale hairless man with an impressive athletic physique. Its lidless eyes " @@ -62457,11 +64430,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hound of tindalos" -msgid_plural "hound of tindaloss" +msgid_plural "hounds of tindalos" msgstr[0] "" msgstr[1] "" -#. ~ Description for hound of tindalos +#. ~ Description for {'str': 'hound of tindalos', 'str_pl': 'hounds of +#. tindalos'} #: lang/json/MONSTER_from_json.py msgid "" "A grotesque hound-like beast, its frame is angular and emaciated and its " @@ -62722,18 +64696,14 @@ msgid_plural "Shia LaBeouf" msgstr[0] "Shia LaBeouf" msgstr[1] "Shia LaBeouf" -#. ~ Description for Shia LaBeouf +#. ~ Description for {'str': 'Shia LaBeouf', 'str_pl': 'Shia LaBeouf'} #: lang/json/MONSTER_from_json.py msgid "" -"Living in the woods, \n" -"killing for sport, \n" -"eating all the bodies, \n" +"Living in the woods,\n" +"killing for sport,\n" +"eating all the bodies,\n" "actual cannibal Shia LaBeouf." msgstr "" -"Lebt im Wald,\n" -"tötet zum Spaß,\n" -"isst alle Körper:\n" -"Ist-Kannibale Shia LeBeouf." #: lang/json/MONSTER_from_json.py msgid "shoggoth" @@ -62914,7 +64884,7 @@ msgid_plural "twisted bodies" msgstr[0] "verdrehter Körper" msgstr[1] "verdrehte Körper" -#. ~ Description for twisted body +#. ~ Description for {'str': 'twisted body', 'str_pl': 'twisted bodies'} #: lang/json/MONSTER_from_json.py msgid "" "A human body, but with its limbs, neck, and hair impossibly twisted. It " @@ -62930,7 +64900,7 @@ msgid_plural "vortexes" msgstr[0] "Vortex" msgstr[1] "Vortexe" -#. ~ Description for vortex +#. ~ Description for {'str': 'vortex', 'str_pl': 'vortexes'} #: lang/json/MONSTER_from_json.py msgid "" "A twisting spot in the air, with some kind of morphing mass at its center." @@ -63024,6 +64994,20 @@ msgid "" "black eyes." msgstr "" +#: lang/json/MONSTER_from_json.py +msgid "wretched puker" +msgid_plural "wretched pukers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for wretched puker +#: lang/json/MONSTER_from_json.py +msgid "" +"A degenerate corpse, shambling as it walks. Several junks and waste " +"materials have unified into its skin and wounds around it reeks in black " +"goo." +msgstr "" + #: lang/json/MONSTER_from_json.py msgid "acidic zombie" msgid_plural "acidic zombies" @@ -63213,19 +65197,13 @@ msgstr[1] "" #. ~ Description for zombie dancer #: lang/json/MONSTER_from_json.py msgid "" -"The foulest stench is in the air, \n" -"The funk of forty thousand years, \n" -"And grisly ghouls from every tomb, \n" +"The foulest stench is in the air,\n" +"The funk of forty thousand years,\n" +"And grisly ghouls from every tomb,\n" "Are closing in to seal your doom!\n" "\n" "The dancer doesn't even notice you, it seems like something nearby is controlling it." msgstr "" -"Der übelste Gestank ist in der Luft:\n" -"Vierzigtausend Jahre Sterben.\n" -"Und grausige Ghule kommen aus jedem Grabe, \n" -"um zu besiegeln dein Verderben.\n" -"\n" -"Der Tänzer bemerkt dich nicht mal, es scheint, dass etwas in der Nähe ihn lenkt." #: lang/json/MONSTER_from_json.py msgid "zombie dog" @@ -63350,11 +65328,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gangrenous flesh" -msgid_plural "gangrenous fleshs" +msgid_plural "gangrenous flesh" msgstr[0] "" msgstr[1] "" -#. ~ Description for gangrenous flesh +#. ~ Description for {'str': 'gangrenous flesh', 'str_pl': 'gangrenous flesh'} #: lang/json/MONSTER_from_json.py msgid "" "Immobile from grievous wounds, its gray skin has bloated to near rupture " @@ -63548,15 +65526,11 @@ msgstr[1] "" #. ~ Description for Thriller #: lang/json/MONSTER_from_json.py msgid "" -"And though you fight to stay alive, \n" -"Your body starts to shiver. \n" -"For no mere mortal can resist, \n" +"And though you fight to stay alive,\n" +"Your body starts to shiver.\n" +"For no mere mortal can resist,\n" "The evil of the thriller." msgstr "" -"Und wenn du ums Überleben kämpfst, \n" -"und du am ganzen Leibe zitterst, \n" -"kannst du Sterblicher ihr nicht widersteh’n: \n" -"Der Boshaftigkeit des Thrillers." #: lang/json/MONSTER_from_json.py msgid "zombie snapper" @@ -64046,7 +66020,7 @@ msgid_plural "dragonflies" msgstr[0] "Libelle" msgstr[1] "Libellen" -#. ~ Description for dragonfly +#. ~ Description for {'str': 'dragonfly', 'str_pl': 'dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A thin-bodied insectoid predator with a large wingspan and big compound " @@ -64571,7 +66545,7 @@ msgid_plural "zombie children" msgstr[0] "Zombiekind" msgstr[1] "Zombiekinder" -#. ~ Description for zombie child +#. ~ Description for {'str': 'zombie child', 'str_pl': 'zombie children'} #: lang/json/MONSTER_from_json.py msgid "" "It was only a child, and little is different about it now aside from the " @@ -64686,7 +66660,7 @@ msgid_plural "fungal children" msgstr[0] "Funguskind" msgstr[1] "Funguskinder" -#. ~ Description for fungal child +#. ~ Description for {'str': 'fungal child', 'str_pl': 'fungal children'} #: lang/json/MONSTER_from_json.py msgid "" "It is hard to recognize a human child in this creature. Disgusting-looking " @@ -64977,11 +66951,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic fox" -msgid_plural "old animatronic foxs" +msgid_plural "old animatronic foxes" msgstr[0] "" msgstr[1] "" -#. ~ Description for old animatronic fox +#. ~ Description for {'str': 'old animatronic fox', 'str_pl': 'old animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -64994,11 +66969,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic fox" -msgid_plural "new animatronic foxs" +msgid_plural "new animatronic foxes" msgstr[0] "" msgstr[1] "" -#. ~ Description for new animatronic fox +#. ~ Description for {'str': 'new animatronic fox', 'str_pl': 'new animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -65011,11 +66987,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "wrecked animatronic fox" -msgid_plural "wrecked animatronic foxs" +msgid_plural "wrecked animatronic foxes" msgstr[0] "" msgstr[1] "" -#. ~ Description for wrecked animatronic fox +#. ~ Description for {'str': 'wrecked animatronic fox', 'str_pl': 'wrecked +#. animatronic foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A wrecked animatronic fox, laying in a pile on the ground. Its teeth and " @@ -65028,11 +67005,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic bunny" -msgid_plural "new animatronic bunnys" +msgid_plural "new animatronic bunnies" msgstr[0] "" msgstr[1] "" -#. ~ Description for new animatronic bunny +#. ~ Description for {'str': 'new animatronic bunny', 'str_pl': 'new +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its actually quite " @@ -65046,11 +67024,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic bunny" -msgid_plural "old animatronic bunnys" +msgid_plural "old animatronic bunnies" msgstr[0] "" msgstr[1] "" -#. ~ Description for old animatronic bunny +#. ~ Description for {'str': 'old animatronic bunny', 'str_pl': 'old +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its face has been torn" @@ -65281,10 +67260,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic sheep" msgid_plural "animatronic sheep" -msgstr[0] "Animatronikschaf" -msgstr[1] "Animatronikschafe" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for animatronic sheep +#. ~ Description for {'str': 'animatronic sheep', 'str_pl': 'animatronic +#. sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic sheep, nearly twice your size. Its wool is mangy and " @@ -65313,11 +67293,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic child" -msgid_plural "animatronic childs" +msgid_plural "animatronic children" msgstr[0] "" msgstr[1] "" -#. ~ Description for animatronic child +#. ~ Description for {'str': 'animatronic child', 'str_pl': 'animatronic +#. children'} #: lang/json/MONSTER_from_json.py msgid "" "An animatronic child. It looks like it's annoying as hell. Though it is a " @@ -65343,11 +67324,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic wolf" -msgid_plural "animatronic wolfs" +msgid_plural "animatronic wolves" msgstr[0] "" msgstr[1] "" -#. ~ Description for animatronic wolf +#. ~ Description for {'str': 'animatronic wolf', 'str_pl': 'animatronic +#. wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic wolf, nearly twice your size. If the animal " @@ -65519,11 +67501,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "minion of skeltal" -msgid_plural "minion of skeltals" +msgid_plural "minions of skeltal" msgstr[0] "" msgstr[1] "" -#. ~ Description for minion of skeltal +#. ~ Description for {'str': 'minion of skeltal', 'str_pl': 'minions of +#. skeltal'} #: lang/json/MONSTER_from_json.py msgid "A lesser skeleton, raised by the forlorn dooting of a trumpet." msgstr "" @@ -65547,11 +67530,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Compsognathus" -msgid_plural "Compsognathuss" +msgid_plural "Compsognathus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Compsognathus +#. ~ Description for {'str': 'Compsognathus', 'str_pl': 'Compsognathus'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal dinosaur about the size of a turkey. Its teeth and claws are " @@ -65562,11 +67545,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Gallimimus" -msgid_plural "Gallimimuss" +msgid_plural "Gallimimus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Gallimimus +#. ~ Description for {'str': 'Gallimimus', 'str_pl': 'Gallimimus'} #: lang/json/MONSTER_from_json.py msgid "" "A feathered bipedal dinosaur, standing as tall as a human. It looks " @@ -65577,11 +67560,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Titanis" -msgid_plural "Titaniss" +msgid_plural "Titanis" msgstr[0] "" msgstr[1] "" -#. ~ Description for Titanis +#. ~ Description for {'str': 'Titanis', 'str_pl': 'Titanis'} #: lang/json/MONSTER_from_json.py msgid "" "It looks like a dodo, only much bigger, with longer, muscular legs and a " @@ -65592,11 +67575,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Spinosaurus" -msgid_plural "Spinosauruss" +msgid_plural "Spinosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Spinosaurus +#. ~ Description for {'str': 'Spinosaurus', 'str_pl': 'Spinosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge dinosaur about the size of a small house, with a ferocious crocodile-" @@ -65607,22 +67590,23 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Tyrannosaurus rex" -msgid_plural "Tyrannosaurus rexs" +msgid_plural "Tyrannosaurus rex" msgstr[0] "" msgstr[1] "" -#. ~ Description for Tyrannosaurus rex +#. ~ Description for {'str': 'Tyrannosaurus rex', 'str_pl': 'Tyrannosaurus +#. rex'} #: lang/json/MONSTER_from_json.py msgid "Look at those TEETH!" msgstr "Sieh dir diese ZÄHNE an!" #: lang/json/MONSTER_from_json.py msgid "Triceratops" -msgid_plural "Triceratopss" +msgid_plural "Triceratops" msgstr[0] "" msgstr[1] "" -#. ~ Description for Triceratops +#. ~ Description for {'str': 'Triceratops', 'str_pl': 'Triceratops'} #: lang/json/MONSTER_from_json.py msgid "" "A massive rhino-like dinosaur with a bony crest from which three large horns" @@ -65633,11 +67617,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Stegosaurus" -msgid_plural "Stegosauruss" +msgid_plural "Stegosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Stegosaurus +#. ~ Description for {'str': 'Stegosaurus', 'str_pl': 'Stegosaurus'} #: lang/json/MONSTER_from_json.py msgid "A large quadruped dinosaur with plates on its back, and a spiked tail." msgstr "" @@ -65646,11 +67630,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Ankylosaurus" -msgid_plural "Ankylosauruss" +msgid_plural "Ankylosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Ankylosaurus +#. ~ Description for {'str': 'Ankylosaurus', 'str_pl': 'Ankylosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "This dinosaur looks like a giant prehistoric armadillo. Its tail ends in a " @@ -65661,11 +67645,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Allosaurus" -msgid_plural "Allosauruss" +msgid_plural "Allosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Allosaurus +#. ~ Description for {'str': 'Allosaurus', 'str_pl': 'Allosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A large predatory bipedal dinosaur, with tiger-like stripes on its broad " @@ -65706,11 +67690,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Deinonychus" -msgid_plural "Deinonychuss" +msgid_plural "Deinonychus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Deinonychus +#. ~ Description for {'str': 'Deinonychus', 'str_pl': 'Deinonychus'} #: lang/json/MONSTER_from_json.py msgid "" "A medium-sized bipedal dinosaur covered with feathers. At the end of each " @@ -65736,11 +67720,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Parasaurolophus" -msgid_plural "Parasaurolophuss" +msgid_plural "Parasaurolophus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Parasaurolophus +#. ~ Description for {'str': 'Parasaurolophus', 'str_pl': 'Parasaurolophus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge mottled dinosaur with a blunt head crest. It contentedly strips " @@ -65764,11 +67748,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Dilophosaurus" -msgid_plural "Dilophosauruss" +msgid_plural "Dilophosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Dilophosaurus +#. ~ Description for {'str': 'Dilophosaurus', 'str_pl': 'Dilophosaurus'} #: lang/json/MONSTER_from_json.py msgid "A medium dinosaur with a sticky green bile dripping from its teeth." msgstr "" @@ -65863,6 +67847,20 @@ msgid "" "fully grown, it is the size of a full-grown bull." msgstr "" +#: lang/json/MONSTER_from_json.py +msgid "adult black dragon" +msgid_plural "adult black dragons" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for adult black dragon +#: lang/json/MONSTER_from_json.py +msgid "" +"A black-scaled monstrosity with deep-set eye sockets glowing green with " +"evil. Its face and skull appear skeletal, and acid drips from its dagger-" +"like jaws." +msgstr "" + #: lang/json/MONSTER_from_json.py msgid "owlbear" msgid_plural "owlbears" @@ -65898,21 +67896,23 @@ msgid "The black pudding burns you with acid!" msgstr "" #: lang/json/MONSTER_from_json.py -msgid "nothic" -msgid_plural "nothics" +msgid "krabgek" +msgid_plural "krabgeks" msgstr[0] "" msgstr[1] "" -#. ~ Description for nothic +#. ~ Description for krabgek #: lang/json/MONSTER_from_json.py msgid "" -"A baleful eye peers out from the darkness, its gleam hinting at a weird " -"intelligence and unnerving malevolence." +"A large baleful eye peers out from the darkness, its gleam hinting at a " +"weird intelligence and unnerving malevolence. The eye oozes some pinkish " +"liquid, and the weirdly humanoid figure is covered in sharp blue-black " +"triangular plates." msgstr "" -#. ~ Attack message of monster "nothic"'s spell "necrotic_gaze" +#. ~ Attack message of monster "krabgek"'s spell "necrotic_gaze" #: lang/json/MONSTER_from_json.py -msgid "The nothic gazes at %3$s!" +msgid "The krabgek gazes at %3$s!" msgstr "" #: lang/json/MONSTER_from_json.py @@ -65960,8 +67960,47 @@ msgstr[1] "" #. ~ Description for troll #: lang/json/MONSTER_from_json.py msgid "" -"Monstrous, green-skinned humanoid. Trolls are renowned for their thick hides" -" and natural regenerative ability." +"Monstrous, green-skinned humanoid. Trolls are renowned for their thick " +"hides and natural regenerative ability." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "stirge" +msgid_plural "stirges" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for stirge +#: lang/json/MONSTER_from_json.py +msgid "" +"This horrid flying creature looks like a cross between a large bat and " +"oversized mosquito." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "shrieker" +msgid_plural "shriekers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for shrieker +#: lang/json/MONSTER_from_json.py +msgid "" +"A shrieker is a human-sized mushroom that emits a piercing screech to drive " +"off creatures that disturb it." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "lemure" +msgid_plural "lemures" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lemure +#: lang/json/MONSTER_from_json.py +msgid "" +"A lemure resembles a molten mass of flesh with a vaguely humanoid head and " +"torso." msgstr "" #: lang/json/MONSTER_from_json.py @@ -66542,11 +68581,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "craftbuddy" -msgid_plural "craftbuddys" +msgid_plural "craftbuddies" msgstr[0] "" msgstr[1] "" -#. ~ Description for craftbuddy +#. ~ Description for {'str': 'craftbuddy', 'str_pl': 'craftbuddies'} #: lang/json/MONSTER_from_json.py msgid "" "A mobile crafting station used by workers in mines, on oil rigs, and in " @@ -67318,11 +69357,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "robote deluxe" -msgid_plural "robote deluxes" +msgid_plural "robote deluxe" msgstr[0] "" msgstr[1] "" -#. ~ Description for robote deluxe +#. ~ Description for {'str': 'robote deluxe', 'str_pl': 'robote deluxe'} #: lang/json/MONSTER_from_json.py msgid "" "A diamond-studded gold-plated robot armed with a pair of integrated 9mm " @@ -67373,11 +69412,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "glittering lady" -msgid_plural "glittering ladys" +msgid_plural "glittering ladies" msgstr[0] "" msgstr[1] "" -#. ~ Description for glittering lady +#. ~ Description for {'str': 'glittering lady', 'str_pl': 'glittering ladies'} #: lang/json/MONSTER_from_json.py msgid "" "A salvaged advanced robot transformed into a luminous beacon of destruction." @@ -67545,13 +69584,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gelatinous mass" -msgid_plural "gelatinous masss" +msgid_plural "gelatinous mass" msgstr[0] "" msgstr[1] "" -#. ~ Description for gelatinous mass -#. ~ Description for gray mass -#. ~ Description for gelatinous mass +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} +#. ~ Description for {'str': 'gray mass', 'str_pl': 'gray mass'} +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} #: lang/json/MONSTER_from_json.py msgid "" "An escaping noisy blob, catch it before it brings in every zombie for miles!" @@ -67561,7 +69600,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gray mass" -msgid_plural "gray masss" +msgid_plural "gray mass" msgstr[0] "" msgstr[1] "" @@ -68145,6 +70184,25 @@ msgstr "" msgid "Summon some bugs." msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Artifact Noise" +msgstr "" + +#. ~ Description for Artifact Noise +#: lang/json/SPELL_from_json.py +msgid "Makes a noise at your location" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "a deafening boom" +msgstr "" + +#. ~ Message for SPELL 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "You hear a deafening boom from your location!" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Artifact Light" msgstr "" @@ -68225,8 +70283,8 @@ msgstr "" #. ~ Message for SPELL 'Artifact Map' #: lang/json/SPELL_from_json.py src/iuse.cpp -msgid "You have a vision of the surrounding area..." -msgstr "Du hast eine Vision über Umgebung …" +msgid "You have a vision of the surrounding area…" +msgstr "" #: lang/json/SPELL_from_json.py msgid "Artifact Firestorm" @@ -68265,6 +70323,80 @@ msgstr "" msgid "Mutates you randomly" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Bolt" +msgstr "" + +#. ~ Description for Bolt +#: lang/json/SPELL_from_json.py +msgid "One of the bolts thrown by AEA_STORM" +msgstr "" + +#. ~ description for the sound of spell 'Bolt' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "Ka-BOOM!" +msgstr "»Krawumm!«" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Storm" +msgstr "" + +#. ~ Description for Artifact Storm +#: lang/json/SPELL_from_json.py +msgid "Calls down a storm near you" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Morale Scream" +msgstr "" + +#. ~ Description for Morale Scream +#: lang/json/SPELL_from_json.py +msgid "Morale effect from AEA_SCREAM" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Entrance" +msgstr "" + +#. ~ Description for Artifact Entrance +#: lang/json/SPELL_from_json.py +msgid "Entrances surrounding monsters" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Scream" +msgstr "" + +#. ~ Description for Artifact Scream +#: lang/json/SPELL_from_json.py +msgid "An ethereal scream" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Scream' +#: lang/json/SPELL_from_json.py +msgid "an ethereal scream" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Bash Terrain" +msgstr "" + +#. ~ Description for Bash Terrain +#. ~ Description for Artifact Pulse +#: lang/json/SPELL_from_json.py +msgid "Damages the terrain" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Pulse" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Pulse' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "The earth shakes!" +msgstr "Die Erde bebt!" + #: lang/json/SPELL_from_json.py src/memorial_logger.cpp src/player_display.cpp msgid "Pain" msgstr "Schmerz" @@ -68357,8 +70489,8 @@ msgstr "" #. ~ Description for Animist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Animists. You can use the rune" -" as a catalyst for recipes." +"This ritual creates a small pebble attuned to Animists. You can use the " +"rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -68396,7 +70528,7 @@ msgstr "" #. ~ Description for Biomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Biomancers. You can use the " +"This ritual creates a small pebble attuned to Biomancers. You can use the " "rune as a catalyst for recipes." msgstr "" @@ -68494,7 +70626,7 @@ msgstr "" #. ~ Message for SPELL 'Debug Stamina Spell' #: lang/json/SPELL_from_json.py #, python-format -msgid "Debug spell [ %s ] has no effect. Debug warning is expected." +msgid "Debug spell [ %s ] has no effect. Debug warning is expected." msgstr "" #: lang/json/SPELL_from_json.py @@ -68651,7 +70783,7 @@ msgstr "" #. ~ Description for Druid Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Druids. You can use the rune " +"This ritual creates a small pebble attuned to Druids. You can use the rune " "as a catalyst for recipes." msgstr "" @@ -68662,8 +70794,8 @@ msgstr "" #. ~ Description for Purification Seed #: lang/json/SPELL_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Rapidly degrades if " -"not utilized." +"You summon a gift of the earth which will purify water. Rapidly degrades if" +" not utilized." msgstr "" #: lang/json/SPELL_from_json.py @@ -68710,8 +70842,35 @@ msgstr "" #. ~ Description for Earthshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Earthshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Earthshapers. You can use the" +" rune as a catalyst for recipes." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Shrapnel" +msgstr "" + +#. ~ Description for Lava Bomb Shrapnel +#. ~ Description for Lava Bomb Heat +#. ~ Description for Lava Bomb Terrain +#: lang/json/SPELL_from_json.py +msgid "This is a sub spell for the Lava Bomb spell." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Heat" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Terrain" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Clairvoyance" msgstr "" #: lang/json/SPELL_from_json.py @@ -68721,7 +70880,7 @@ msgstr "" #. ~ Description for Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" " condition." msgstr "" @@ -68733,9 +70892,24 @@ msgstr "" #. ~ Description for Improved Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" -" condition. Improved brewing mitigates the strain of the spell." +" condition. Improved brewing mitigates the strain of the spell." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Conjure Throwing Blade I" +msgstr "" + +#. ~ Description for Conjure Throwing Blade I +#: lang/json/SPELL_from_json.py +msgid "conjures 3 throwing knives" +msgstr "" + +#. ~ Message for SPELL 'Conjure Throwing Blade I' +#: lang/json/SPELL_from_json.py +msgid "" +"You activate your ring and three throwing knives appear, ready to throw!" msgstr "" #: lang/json/SPELL_from_json.py @@ -68793,7 +70967,7 @@ msgstr "" #. ~ Description for Kelvinist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Kelvinists. You can use the " +"This ritual creates a small pebble attuned to Kelvinists. You can use the " "rune as a catalyst for recipes." msgstr "" @@ -68836,8 +71010,8 @@ msgstr "" #. ~ Description for Magus Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Magi. You can use the rune as " -"a catalyst for recipes." +"This ritual creates a small pebble attuned to Magi. You can use the rune as" +" a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py @@ -68856,10 +71030,26 @@ msgstr "" msgid "Fox's Cunning" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Blood Suck" +msgstr "" + +#. ~ Description for Blood Suck +#: lang/json/SPELL_from_json.py +msgid "Sucks blood from one foe." +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Jolt" msgstr "" +#. ~ description for the sound of spell 'Jolt' +#. ~ description for the sound of spell 'Lightning Bolt' +#. ~ description for the sound of spell 'Lightning Blast' +#: lang/json/SPELL_from_json.py +msgid "a crackle" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Lightning Bolt" msgstr "" @@ -68868,6 +71058,11 @@ msgstr "" msgid "Windstrike" msgstr "" +#. ~ description for the sound of spell 'Windstrike' +#: lang/json/SPELL_from_json.py +msgid "a whoosh" +msgstr "" + #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py msgid "Windrunning" msgstr "" @@ -68883,8 +71078,8 @@ msgstr "" #. ~ Description for Stormshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Stormshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Stormshapers. You can use the" +" rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -68945,8 +71140,8 @@ msgstr "" #. ~ Description for Technomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Technomancers. You can use the" -" rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Technomancers. You can use " +"the rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -68973,6 +71168,10 @@ msgstr "" msgid "Mirror Image" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "X-ray Vision" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Demon Fireball" msgstr "" @@ -69142,6 +71341,8 @@ msgstr[1] "Berghelme (an)" #. ~ Use action menu_text for thermal electric balaclava (on). #. ~ Use action menu_text for headlamp (on). #. ~ Use action menu_text for survivor headlamp (on). +#. ~ Use action menu_text for 5-point anchor (on). +#. ~ Use action menu_text for phase immersion suit (on). #. ~ Use action menu_text for rebreather mask (on). #. ~ Use action menu_text for XL rebreather mask (on). #. ~ Use action menu_text for pair of light amp goggles (on). @@ -69166,9 +71367,9 @@ msgstr[1] "Berghelme (an)" #. ~ Use action menu_text for acetylene lamp (on). #. ~ Use action menu_text for power cutter (on). #. ~ Use action menu_text for murdersaw (on). +#. ~ Use action menu_text for heat cube (torch on). #: lang/json/TOOL_ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: lang/json/TOOL_from_json.py lang/json/item_action_from_json.py #: lang/json/item_action_from_json.py lang/json/item_action_from_json.py #: src/iuse.cpp msgid "Turn off" @@ -69547,6 +71748,46 @@ msgstr "" "Benutze sie, um sie einzuschalten. Sie ist momentan eingeschaltet und " "verbraucht kontinuierlich Batterie. Benutze sie, um sie auszuschalten." +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp" +msgid_plural "atomic headlamps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for atomic headlamp. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You close the headlamp's cover." +msgstr "" + +#. ~ Description for atomic headlamp +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"close the cover and hide the light." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp (covered)" +msgid_plural "atomic headlamps (covered)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for atomic headlamp (covered). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You open the headlamp's cover." +msgstr "" + +#. ~ Description for atomic headlamp (covered) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"open the cover and show the light." +msgstr "" + #: lang/json/TOOL_ARMOR_from_json.py msgid "RM13 combat armor" msgid_plural "RM13 combat armors" @@ -69584,6 +71825,97 @@ msgstr "" " biegeschlaffer Strompanzerungstechnlogie dar. Sie ist eingeschaltet und " "verbraucht beständig Energie. Benutze sie, um sie auszuschalten." +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor" +msgid_plural "5-point anchors" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "A LED light in the %s LED flickers on." +msgstr "" + +#. ~ Use action need_charges_msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "It seems like this device needs power." +msgstr "" + +#. ~ Description for 5-point anchor +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A featureless, disc-shaped device mounted on a harness. The words " +"\"X.E.D.R.A\" and \"5-point anchor\" are inscribed on its front and back." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor (on)" +msgid_plural "5-point anchors (on)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for 5-point anchor (on). +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "The %s LED light flickers off." +msgstr "" + +#. ~ Description for 5-point anchor (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The harness' shoulder mounted LED glows with a soft green hue. Theres no " +"further indication of anything happening." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit" +msgid_plural "phase immersion suits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Initiating\n" +"Running suit integrity diagnostics…\n" +"All systems operational." +msgstr "" + +#. ~ Use action need_charges_msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Warning: Operating on minimal power. Protection compromised." +msgstr "" + +#. ~ Description for phase immersion suit +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. Designed to " +"protect its wearer during extra dimensional excursions, it offers " +"unparalleled environmental protection, both in this Earth and beyond. Use " +"it to turn it on." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit (on)" +msgid_plural "phase immersion suits (on)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for phase immersion suit (on). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Suit shutting down." +msgstr "" + +#. ~ Description for phase immersion suit (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. It is turned on, " +"and continually draining power. Use it to turn it off." +msgstr "" + #: lang/json/TOOL_ARMOR_from_json.py msgid "rebreather mask" msgid_plural "rebreather masks" @@ -70689,13 +73021,11 @@ msgstr "Die Batterien des Ohrenschützers sind leer." #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py msgid "" -"A pair of earmuffs favored by shooters. The earmuffs are turned off. They " -"will block sounds over a certain decibel amount, assuming it is charged with" -" batteries." +"A pair of earmuffs favored by shooters. Without batteries or when turned " +"off they function like normal earmuffs and block all sound. They will block" +" sounds over a certain decibel amount when turned on. The earmuffs are " +"currently off." msgstr "" -"Ein Ohrenschützer, wie er von Schützen bevorzugt wird. Der Ohrenschützer ist" -" ausgeschaltet. Er wird Geräusche über einen bestimmten Dezibelpegel " -"blockieren, angenommen, dass er mit Batterien geladen ist." #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py @@ -71167,6 +73497,536 @@ msgid "" "power." msgstr "" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic leather belt" +msgid_plural "magic leather belts" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Haste" +msgid_plural "Belt of Hastes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Megingjörð" +msgid_plural "Megingjörðs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Megingjörð +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The mythical belt of Thor, god of thunder. Or at least so it appears. It " +"doubles the wearer's base strength." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Lesser Girdle of Pockets" +msgid_plural "Lesser Girdle of Pocketss" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Lesser Girdle of Pockets +#. ~ Description for Greater Girdle of Pockets +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, coverd in numerous small pouches " +"that hold a lot more than they should, and the weight of their contents is " +"greatly reduced." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Greater Girdle of Pockets" +msgid_plural "Greater Girdle of Pocketss" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Weaponry" +msgid_plural "Belt of Weaponrys" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Belt of Weaponry +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, you can sheath or holster any " +"weapon into it in the blink of an eye, and it seemingly stores them " +"somewhere else." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of The Iron Whip" +msgid_plural "Belts of the Iron Whip" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for Belt of The Iron Whip. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"You grab the belt and it uncoils to become a flexible metal whip in your " +"hand!" +msgstr "" + +#. ~ Description for Belt of The Iron Whip +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A braided but flexible belt seemingly made of metal. You can activate it to" +" transform it into a whip and flay your enemies." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "escape boots" +msgid_plural "escape boots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for escape boots +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, these boots can be activated once a day to escape from nasty " +"situations, teleporting you a good distance in a random direction." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "pair of steel bracers" +msgid_plural "pairs of steel bracers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of steel bracers +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A full assembly of medieval arm protection." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "steel bracer" +msgid_plural "steel bracers" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of lesser defense" +msgid_plural "bracers of lesser defense" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bracer of lesser defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, silver accentuates the intricate design. It protects your body " +"with a light aura to reduce damage you take." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of greater defense" +msgid_plural "bracers of greater defense" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bracer of greater defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, gold accentuates the intricate design. It protects your body with " +"a strong aura to reduce damage you take." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "lesser bracer of lightning" +msgid_plural "lesser bracers of lightning" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lesser bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, silver accentuates the intricate design. It " +"protects your body with a light aura to reduce electrical damage you take, " +"as well as being able to release a Jolt spell 3 times a day." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "greater bracer of lightning" +msgid_plural "greater bracers of lightning" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for greater bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, gold accentuates the intricate design. It " +"protects your body with a strong aura to reduce electrical damage you take, " +"as well as being able to release a Lightning Bolt spell 3 times a day." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic mask" +msgid_plural "magic masks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magic mask +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic magic mask." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of disappearance" +msgid_plural "masks of disappearance" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for mask of disappearance +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A mask with no facial features at all, just eye and mouth holes, upon " +"activation it makes everything ignore your presence for a while." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of perfect vision" +msgid_plural "masks of perfect vision" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for mask of perfect vision +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A decidedly steampunk-looking half mask that covers the eye area of the " +"face, it has large lenses that correct and greatly enhance the vision of the" +" wearer." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "copper magic ring" +msgid_plural "copper magic rings" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for copper magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic copper magic ring." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic ring" +msgid_plural "magic rings" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic silver magic ring." +msgstr "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic gold magic ring." +msgstr "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic platinum magic ring." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of blades" +msgid_plural "rings of blades" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of blades +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"An ornate silver ring engraved with daggers that conjures a near perfect " +"throwing knife into your hand on activation." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +1" +msgid_plural "minor rings of strength +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +2" +msgid_plural "rings of strength +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +3" +msgid_plural "rings of strength +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +4" +msgid_plural "rings of strength +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +1" +msgid_plural "rings of dexterity +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +2" +msgid_plural "rings of dexterity +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +3" +msgid_plural "rings of dexterity +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +4" +msgid_plural "rings of dexterity +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +1" +msgid_plural "rings of intelligence +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +2" +msgid_plural "rings of intelligence +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +3" +msgid_plural "rings of intelligence +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you surprisingly more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +4" +msgid_plural "rings of intelligence +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +1" +msgid_plural "rings of perception +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +2" +msgid_plural "rings of perception +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +3" +msgid_plural "rings of perception +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you eye-openingly more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +4" +msgid_plural "rings of perception +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +3" +msgid_plural "rings of speed +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +5" +msgid_plural "rings of speed +5" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +5 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +7" +msgid_plural "rings of speed +7" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +7 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you quite hasty when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +10" +msgid_plural "rings of speed +10" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +10 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +2" +msgid_plural "rings of protection +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that reduces some of the force of damage you take when you " +"wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +4" +msgid_plural "rings of protection +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that appreciably reduces some of the force of damage you take " +"when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +6" +msgid_plural "rings of protection +6" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +6 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that greatly reduces some of the force of damage you take when" +" you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +8" +msgid_plural "rings of protection +8" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +8 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A platinum ring that vastly reduces some of the force of damage you take " +"when you wear it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "washcloth" msgid_plural "washcloths" @@ -71189,9 +74049,9 @@ msgstr[1] "" msgid "" "Harness the power of radiation in your own home! This looks similar to a " "D-cell battery, but actually contains folded layers of radioactive material " -"inside. It can produce electricity for several years at a steady voltage..." -" but it's barely enough to power a small LED, and these batteries were worth" -" hundreds of dollars. Mostly they're a good way to brag to your neighbours " +"inside. It can produce electricity for several years at a steady voltage… " +"but it's barely enough to power a small LED, and these batteries were worth " +"hundreds of dollars. Mostly they're a good way to brag to your neighbors " "that you have a nuclear power source in your house." msgstr "" @@ -71204,13 +74064,13 @@ msgstr[1] "" #. ~ Description for radioisotope thermoelectric generator #: lang/json/TOOL_from_json.py msgid "" -"Did your neighbours brag about their cool beta-decay powered nightlights? " -"Do them one better! The CuppaTech 4 radioisotope thermoelectric generator " -"is a three kilogram chunk of metal - mostly lead - with a slug of curium-244" -" encased within. It is capable of generating somewhere between 100-150 " -"Watts of thermal energy, although its electrical generation capacity is " -"minimal at only 2 Watts. Careful! Curium is great at making heat, and also" -" releases deadly gamma radiation. Keep away from cellular life forms." +"Did your neighbors brag about their cool beta-decay powered nightlights? Do" +" them one better! The CuppaTech 4 radioisotope thermoelectric generator is " +"a three kilogram chunk of metal - mostly lead - with a slug of curium-244 " +"encased within. It is capable of generating somewhere between 100-150 Watts" +" of thermal energy, although its electrical generation capacity is minimal " +"at only 2 Watts. Careful! Curium is great at making heat, and also " +"releases deadly gamma radiation. Keep away from cellular life forms." msgstr "" #: lang/json/TOOL_from_json.py @@ -71324,11 +74184,9 @@ msgstr[1] "Hellseherstäbe" #. ~ Description for clairvoyance rod #: lang/json/TOOL_from_json.py msgid "" -"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's " -"a bug." +"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's" +" a bug." msgstr "" -"Gegenstand, um das aep_clairvoyance_plus-Flag zu testen. Wenn dies zufällig " -"irgendwo auftaucht, ist es ein Bug." #: lang/json/TOOL_from_json.py msgid "boulder anvil" @@ -71575,10 +74433,10 @@ msgstr[1] "Rohrbomben" #. ~ Use action menu_text for fragment bomb. #. ~ Use action menu_text for can bomb. #. ~ Use action menu_text for match head bomb. +#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for dynamite. #. ~ Use action menu_text for fertilizer bomb. #. ~ Use action menu_text for ANFO charge. -#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for black gunpowder charge. #. ~ Use action menu_text for RDX charge. #: lang/json/TOOL_from_json.py @@ -71620,7 +74478,7 @@ msgstr "Du hast bereits %s angezündet, versuch es mal mit Werfen." #. ~ Use action sound_msg for match head bomb (lit). #. ~ Use action sound_msg for dynamite (lit). #. ~ Use action sound_msg for fertilizer bomb (lit). -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py src/iuse.cpp +#: lang/json/TOOL_from_json.py msgid "ssss..." msgstr "»Zisch.«" @@ -71649,7 +74507,7 @@ msgstr "Du zündest die Zündschnur von %s an." #. ~ Description for nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by nails and a fuse. Use this item to light the fuse. You will " "then have five turns before it explodes; throwing it would be a good idea." msgstr "" @@ -71670,8 +74528,8 @@ msgstr "Du hast die Zündschnur bereits angezündet – worauf wartest du?" #. ~ Description for active nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by nails and a fuse. The fuse has been lit, you should throw it." +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by nails and a fuse. The fuse has been lit, you should throw it." msgstr "" #: lang/json/TOOL_from_json.py @@ -71683,7 +74541,7 @@ msgstr[1] "" #. ~ Description for fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by small pieces of metal and a fuse. Use this item to light the " "fuse. You will then have five turns before it explodes; throwing it would " "be a good idea." @@ -71698,8 +74556,8 @@ msgstr[1] "" #. ~ Description for active fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " "should throw it." msgstr "" @@ -71719,8 +74577,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think." msgstr "" #: lang/json/TOOL_from_json.py @@ -71733,8 +74591,55 @@ msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think. The fuse has been lit, you should throw it." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think. The fuse has been lit, you should throw it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for jack o'lantern. +#. ~ Use action menu_text for candle. +#. ~ Use action menu_text for Louisville Slaughterer. +#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: src/veh_interact.cpp +msgid "Light" +msgstr "Licht" + +#. ~ Use action msg for jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "You light the candle in the jack o'lantern." +msgstr "" + +#. ~ Description for jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"This is a plastic lantern that is painted to look like a pumpkin with a " +"face. It has a candle inside it, that can be replaced when burnt down. It " +"doesn't provide very much light, but it can burn for quite a long time. " +"You'll need a lighter or matches to light it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "spooky jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for spooky jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "The candle winks out inside the lantern." +msgstr "" + +#. ~ Description for spooky jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"There is a thick LED candle inside the pumpkin face. It doesn't provide " +"very much light, but it can burn for quite a long time. This candle is lit." +" The face shifts." msgstr "" #. ~ Description for battle axe @@ -71847,6 +74752,78 @@ msgstr "" "ausgestattet. Diese wurde angezündet und brennt schnell ab. Vermutlich " "willst du diesen Gegenstand nicht mehr lange behalten." +#: lang/json/TOOL_from_json.py +msgid "black gunpowder bomb" +msgid_plural "black gunpowder bombs" +msgstr[0] "Schwarzpulverbombe" +msgstr[1] "Schwarzpulverbomben" + +#. ~ Use action msg for black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "" +"You light the fuse on the black gunpowder bomb. Throw it before it blows in" +" your face!" +msgstr "" +"Du zündest die Zündschnur der Schwarzpulverbombe an. Wirf sie, bevor sie dir" +" in deinem Gesicht explodiert!" + +#. ~ Description for black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a bit of " +"fuse sticking out of it." +msgstr "" +"Dies ist eine Blechdose, die bis zur Kante mit Schwarzpulver gefüllt ist und" +" mit einem Stück Zündschnur ausgestattet ist." + +#: lang/json/TOOL_from_json.py +msgid "active black gunpowder bomb" +msgid_plural "active black gunpowder bombs" +msgstr[0] "aktive Schwarzpulverbombe" +msgstr[1] "aktive Schwarzpulverbomben" + +#. ~ Use action no_deactivate_msg for active black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "You've already lit the fuse - throw it!" +msgstr "Du hast die Zündschnur bereits angezündet – wirf es!" + +#. ~ Use action sound_msg for active black gunpowder bomb. +#. ~ Use action sound_msg for active black gunpowder charge. +#. ~ Use action sound_msg for active RDX charge. +#: lang/json/TOOL_from_json.py +msgid "Kshhh." +msgstr "Zisch." + +#. ~ Description for active black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a lit " +"fuse stuck inside of it." +msgstr "" +"Dies ist eine Blechdose, die bis zur Kante mit Schwarzpulver gefüllt ist. " +"Eine angezündete Zündschnur steckt drin." + +#: lang/json/TOOL_from_json.py +msgid "hobo stove (lit)" +msgid_plural "hobo stoves (lit)" +msgstr[0] "Landstreicherherd (angezündet)" +msgstr[1] "Landstreicherherde (angezündet)" + +#. ~ Use action msg for hobo stove (lit). +#. ~ Use action msg for ember carrier (lit). +#: lang/json/TOOL_from_json.py +msgid "The ember is extinguished." +msgstr "Die glühende Asche ist gelöscht." + +#. ~ Description for hobo stove (lit) +#. ~ Description for hobo stove +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small improvised wood stove, made from a metal can or similar " +"container of the right size. Useful for defrosting and reheating food, uses" +" simple tinder." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "folded poncho" msgid_plural "folded ponchos" @@ -72112,11 +75089,9 @@ msgstr[1] "Wassermühlen" #. ~ Description for water mill #: lang/json/TOOL_from_json.py msgid "" -"A small water-powered mill that can convert starchy products into flour. Can" -" be placed via the construction menu." +"A small water-powered mill that can convert starchy products into flour. " +"Can be placed via the construction menu." msgstr "" -"Eine kleine Wasserbetriebene Mühle, die stärkehaltige Produkte zu Mehl " -"mahlen kann. Wird über das Konstruktionsmenü gebaut." #: lang/json/TOOL_from_json.py lang/json/furniture_from_json.py msgid "wind mill" @@ -72127,11 +75102,9 @@ msgstr[1] "Windmühlen" #. ~ Description for wind mill #: lang/json/TOOL_from_json.py msgid "" -"A small wind-powered mill that can convert starchy products into flour. Can " -"be placed via the construction menu." +"A small wind-powered mill that can convert starchy products into flour. Can" +" be placed via the construction menu." msgstr "" -"Eine kleine Windbetriebene Mühle, die stärkehaltige Produkte zu Mehl mahlen " -"kann. Wird über das Konstruktionsmenü gebaut." #: lang/json/TOOL_from_json.py msgid "banjo" @@ -72473,14 +75446,6 @@ msgid_plural "candles" msgstr[0] "Kerze" msgstr[1] "Kerzen" -#. ~ Use action menu_text for candle. -#. ~ Use action menu_text for hobo stove. -#. ~ Use action menu_text for Louisville Slaughterer. -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: src/veh_interact.cpp -msgid "Light" -msgstr "Licht" - #. ~ Use action msg for candle. #: lang/json/TOOL_from_json.py msgid "You light the candle." @@ -72537,12 +75502,9 @@ msgstr[1] "Tranchiergeräte (aus)" #: lang/json/TOOL_from_json.py msgid "" "An electric meat carver powered by batteries. Two serrated blades that " -"vibrate together to slice just about anything from turkey to ham... even " +"vibrate together to slice just about anything from turkey to ham… even " "zombies!" msgstr "" -"Ein elektronischer Tranchierer, der mit Batterien betrieben wird. Zwei " -"gezackte Klingen, die gemeinsam vibrieren, um praktisch alles von Truthahn " -"zu Fleisch zu schneiden – sogar von Zombies!" #: lang/json/TOOL_from_json.py msgid "electric carver (on)" @@ -72733,6 +75695,20 @@ msgstr "" " und recyclet werden. Aus unsicheren Quellen entnommenes Wasser könnte " "unsauber sein." +#: lang/json/TOOL_from_json.py +msgid "lifestraw" +msgid_plural "lifestraws" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lifestraw +#: lang/json/TOOL_from_json.py +msgid "" +"Set the lifestraw in suspect water, let sit for one minute then drink. The " +"two part filtration system will purify the water you drink. Water taken " +"from uncertain sources like a river may be dirty." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "charcoal smoker" msgid_plural "charcoal smokers" @@ -73257,10 +76233,8 @@ msgstr[1] "elektronische Handschellen" #: lang/json/TOOL_from_json.py msgid "" "A pair of electronic handcuffs, used by police and riot bots to detain captives. Their continuous siren clearly identifies the wearer as an arrested criminal and alerts human police. Wait for their arrival, don't try to escape or to remove the cuffs - they will administer an electric shock.\n" -"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative..." +"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative…" msgstr "" -"Ein Paar elektronische Handschellen, von Polizei und Antikrawallrobotern verwendet, um Festnahmen vorzunehmen. Ihre ständige Sirene identifiziert den Träger als einen verhafteten Kriminellen und alarmiert die menschliche Polizei. Warte darauf, bis sie ankommt, versuch nicht, zu fliehen, oder die Handschellen zu entfernen – sie würden dir einen Elektroschock verpassen.\n" -"Aber seit die einzige Polizei, die wahrscheinlich reagieren würde, untot ist, könntest du eine lange Wartezeit vor dir haben, es sei denn, du wirst kreativ …" #: lang/json/TOOL_from_json.py msgid "entrenching tool" @@ -75067,6 +78041,19 @@ msgstr "" " eine sofortige Abhilfe für Asthmaanfälle und Rauchinhalationen und kann " "einen kurzen Energieschub bieten." +#: lang/json/TOOL_from_json.py +msgid "oxygen cylinder" +msgid_plural "oxygen cylinders" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for oxygen cylinder +#: lang/json/TOOL_from_json.py +msgid "" +"A large steel cylinder used for storing pressurized gas. It is marked with " +"a faded, but legible O2 symbol." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "nitrogen tank" msgid_plural "nitrogen tanks" @@ -75485,8 +78472,8 @@ msgstr[1] "" #. ~ Description for sponge #: lang/json/TOOL_from_json.py msgid "" -"A sponge is a tool or cleaning aid made of soft, porous material. Typically " -"used for cleaning impervious surfaces." +"A sponge is a tool or cleaning aid made of soft, porous material. Typically" +" used for cleaning impervious surfaces." msgstr "" #: lang/json/TOOL_from_json.py @@ -75498,8 +78485,8 @@ msgstr[1] "" #. ~ Description for washing kit #: lang/json/TOOL_from_json.py msgid "" -"A combination kit of a washboard and a sponge. Everything you need to clean" -" items after the apocalypse." +"A combination kit of a washboard and a sponge or rag. Everything you need " +"to clean items after the apocalypse." msgstr "" #: lang/json/TOOL_from_json.py @@ -76515,57 +79502,6 @@ msgstr "" "und mit einem Dynamitzünder ausgestattet ist. Die Zündschnur wurde " "angezündet – renn, als ob der Teufel hinter dir her wäre!" -#: lang/json/TOOL_from_json.py -msgid "black gunpowder bomb" -msgid_plural "black gunpowder bombs" -msgstr[0] "Schwarzpulverbombe" -msgstr[1] "Schwarzpulverbomben" - -#. ~ Use action msg for black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "" -"You light the fuse on the black gunpowder bomb. Throw it before it blows in" -" your face!" -msgstr "" -"Du zündest die Zündschnur der Schwarzpulverbombe an. Wirf sie, bevor sie dir" -" in deinem Gesicht explodiert!" - -#. ~ Description for black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a bit of " -"fuse sticking out of it." -msgstr "" -"Dies ist eine Blechdose, die bis zur Kante mit Schwarzpulver gefüllt ist und" -" mit einem Stück Zündschnur ausgestattet ist." - -#: lang/json/TOOL_from_json.py -msgid "active black gunpowder bomb" -msgid_plural "active black gunpowder bombs" -msgstr[0] "aktive Schwarzpulverbombe" -msgstr[1] "aktive Schwarzpulverbomben" - -#. ~ Use action no_deactivate_msg for active black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "You've already lit the fuse - throw it!" -msgstr "Du hast die Zündschnur bereits angezündet – wirf es!" - -#. ~ Use action sound_msg for active black gunpowder bomb. -#. ~ Use action sound_msg for active black gunpowder charge. -#. ~ Use action sound_msg for active RDX charge. -#: lang/json/TOOL_from_json.py -msgid "Kshhh." -msgstr "Zisch." - -#. ~ Description for active black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a lit " -"fuse stuck inside of it." -msgstr "" -"Dies ist eine Blechdose, die bis zur Kante mit Schwarzpulver gefüllt ist. " -"Eine angezündete Zündschnur steckt drin." - #: lang/json/TOOL_from_json.py msgid "black gunpowder charge" msgid_plural "black gunpowder charges" @@ -76585,12 +79521,8 @@ msgstr "" msgid "" "This is a home-made explosive device, consisting of a large plastic jug " "filled with black gunpowder and scrap metal, equipped with a long fuse. Use" -" this item to light the fuse. Should explode in a few minutes..." +" this item to light the fuse. Should explode in a few minutes…" msgstr "" -"Dies ist eine selbstgemachte Explosivvorrichtung, die aus einem großen " -"Platikkrug mit Schwarzpulver und Metallschrott besteht und mit einer langen " -"Zundschnur versehen wurde. Benutze diesen Gegenstand, um die Zündschnur " -"anzuzünden. Sie sollte in wenigen Minuten explodieren …" #: lang/json/TOOL_from_json.py msgid "active black gunpowder charge" @@ -76748,11 +79680,13 @@ msgstr[0] "Fackel" msgstr[1] "Fackeln" #. ~ Use action menu_text for torch. +#. ~ Use action menu_text for everburning torch. #: lang/json/TOOL_from_json.py msgid "Light torch" msgstr "Fackel entzünden" #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "You light the torch." msgstr "Du entzündest die Fackel." @@ -76770,6 +79704,7 @@ msgstr "" "anzuzünden." #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "The torch is extinguished." msgstr "Die Fackel ist gelöscht." @@ -77202,47 +80137,6 @@ msgid_plural "hobo stoves" msgstr[0] "Landstreicherherd" msgstr[1] "Landstreicherherde" -#. ~ Use action msg for hobo stove. -#: lang/json/TOOL_from_json.py -msgid "The hobo stove is lit." -msgstr "" - -#. ~ Use action need_fire_msg for hobo stove. -#: lang/json/TOOL_from_json.py src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -msgid "You need a source of fire!" -msgstr "Du brauchst eine Feuerquelle!" - -#. ~ Description for hobo stove -#. ~ Description for hobo stove (lit) -#: lang/json/TOOL_from_json.py -msgid "" -"This is a small improvised wood stove, made from a metal can or similar " -"container of the right size. Useful for defrosting and reheating food, uses" -" simple tinder." -msgstr "" - -#: lang/json/TOOL_from_json.py -msgid "hobo stove (lit)" -msgid_plural "hobo stoves (lit)" -msgstr[0] "Landstreicherherd (angezündet)" -msgstr[1] "Landstreicherherde (angezündet)" - -#. ~ Use action menu_text for hobo stove (lit). -#: lang/json/TOOL_from_json.py -msgid "Heat up food" -msgstr "Nahrung erhitzen" - -#. ~ Use action msg for hobo stove (lit). -#: lang/json/TOOL_from_json.py src/iuse.cpp -msgid "You heat up the food." -msgstr "Du erhitzt die Nahrung." - -#. ~ Use action msg for hobo stove (lit). -#. ~ Use action msg for ember carrier (lit). -#: lang/json/TOOL_from_json.py -msgid "The ember is extinguished." -msgstr "Die glühende Asche ist gelöscht." - #: lang/json/TOOL_from_json.py msgid "ember carrier" msgid_plural "ember carriers" @@ -77254,6 +80148,11 @@ msgstr[1] "Glühaschenträger" msgid "You light the tinder." msgstr "Du entzündest den Zunder." +#. ~ Use action need_charges_msg for ember carrier. +#: lang/json/TOOL_from_json.py +msgid "The ember carrier is out of tinder." +msgstr "" + #. ~ Use action need_fire_msg for ember carrier. #: lang/json/TOOL_from_json.py msgid "You need a lighter or fire to light this." @@ -77430,8 +80329,8 @@ msgstr[1] "" #. ~ Description for grip hook #: lang/json/TOOL_from_json.py msgid "" -"A simple steel meathook with a circular steel handle. Makes a passable melee" -" weapon." +"A simple steel meathook with a circular steel handle. Makes a passable " +"melee weapon." msgstr "" #: lang/json/TOOL_from_json.py @@ -77826,7 +80725,7 @@ msgstr "" #. ~ Description for inactive TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M16A4. Using this item " +"This is an inactive TALON UGV equipped with an M16A4. Using this item " "involves loading the unit with the factory-loaded 5.56x45mm rounds in your " "inventory (if you wish to divide your ammunition, set aside whatever " "5.56x45mm you do NOT want to give the robot) turning it on, and placing it " @@ -77844,7 +80743,7 @@ msgstr[1] "" #. ~ Description for inactive M202A1 TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M202A1. Using this item " +"This is an inactive TALON UGV equipped with an M202A1. Using this item " "involves loading the unit with the M235 rockets in your inventory (if you " "wish to divide your ammunition, set aside whatever M235 rockets you do NOT " "want to give the robot) turning it on, and placing it on the ground. If " @@ -77934,9 +80833,9 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "" "This is a deactivated broken cyborg, the last shreds of its humanity still " -"rotting away. Using this item involves placing it on the ground and " +"rotting away. Using this item involves placing it on the ground and " "reactivating its mechanical body. If reprogrammed and rewired successfully " -"the cyborg will then follow you and attack enemies. You monster." +"the cyborg will then follow you and attack enemies. You monster." msgstr "" #: lang/json/TOOL_from_json.py @@ -77988,7 +80887,7 @@ msgstr "" #. ~ Description for inactive chicken walker #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive chicken walker. Using this item involves placing it on " +"This is an inactive chicken walker. Using this item involves placing it on " "the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm " "cartridge grenades in your inventory (if you wish to divide your ammunition," " set aside whatever ammunition you do NOT want to give the robot) and " @@ -78017,8 +80916,8 @@ msgstr "" #. ~ Description for inactive police bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive police robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive police robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "police bot will then identify you as law enforcement, roam around or follow " "you, and attempt to detain lawbreakers." msgstr "" @@ -78044,7 +80943,7 @@ msgstr "" #. ~ Description for inactive eyebot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive eyebot. Using this item involves turning it on and " +"This is an inactive eyebot. Using this item involves turning it on and " "launching the UAV. If reprogrammed and rewired successfully the eyebot will" " then keep watch for intruders." msgstr "" @@ -78068,8 +80967,8 @@ msgstr "" #. ~ Description for inactive cleaner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive cleaner bot. Using this item involves placing it on the " -"ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive cleaner bot. Using this item involves placing it on the" +" ground and turning it on. If reprogrammed and rewired successfully the " "cleaner bot will respond to future commands." msgstr "" @@ -78092,8 +80991,8 @@ msgstr "" #. ~ Description for inactive miner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive mining robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive mining robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "miner bot will respond to future commands." msgstr "" @@ -78117,9 +81016,9 @@ msgstr "" #. ~ Description for inactive riot control bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive riot control bot. Using this item involves placing it on" -" the ground and turning it on. If reprogrammed and rewired successfully the" -" robot will bring order and peace to the horde." +"This is an inactive riot control bot. Using this item involves placing it " +"on the ground and turning it on. If reprogrammed and rewired successfully " +"the robot will bring order and peace to the horde." msgstr "" #: lang/json/TOOL_from_json.py @@ -78141,7 +81040,7 @@ msgstr "" #. ~ Description for inactive skitterbot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive skitterbot. Using this item involves placing it on the " +"This is an inactive skitterbot. Using this item involves placing it on the " "ground and turning it on. If reprogrammed and rewired successfully the " "robot will race towards enemies and shock them." msgstr "" @@ -78195,7 +81094,7 @@ msgstr "" #. ~ Description for inactive tank drone #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " +"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " "it on the ground, loading the unit with the factory-loaded 5.56 rounds and " "40mm cartridge grenades in your inventory (if you wish to divide your " "ammunition, set aside whatever ammunition you do NOT want to give the robot)" @@ -78225,8 +81124,8 @@ msgstr "" #. ~ Description for inactive tripod #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Honda Regnal. Using this item involves placing it on the" -" ground, wondering how it fuels its flamethrower and turning it on. If " +"This is an inactive Honda Regnal. Using this item involves placing it on " +"the ground, wondering how it fuels its flamethrower and turning it on. If " "reprogrammed and rewired successfully the tribot will then identify you as " "an ally, roam around or follow you, and impale hostiles with its spiked " "cable weapons." @@ -78252,10 +81151,10 @@ msgstr "" #. ~ Description for inactive milspec searchlight #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive military-grade automated searchlight. Using this item " +"This is an inactive military-grade automated searchlight. Using this item " "involves placing it on the ground and turning it on. If reprogrammed and " "rewired successfully the searchlight will then identify you as an ally, " -"survey the area, and illuminate approaching hostiles. Seems to have an " +"survey the area, and illuminate approaching hostiles. Seems to have an " "unhealthy fascination with you." msgstr "" @@ -78622,7 +81521,7 @@ msgstr[1] "" msgid "" "This farming tool has been modified into an improvised weapon by rotating " "its blade 90 degrees, transforming it into a deadly giant blade on the end " -"of a stick. However it's quite fragile." +"of a stick. However it's quite fragile." msgstr "" #: lang/json/TOOL_from_json.py @@ -78729,6 +81628,21 @@ msgstr "" "könnte tödlich sein, entweder in den richtigen Händen, oder wenn es als ein " "Bajonett befestigt wird." +#: lang/json/TOOL_from_json.py +msgid "modified combat knife" +msgid_plural "modified combat knives" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for modified combat knife +#: lang/json/TOOL_from_json.py +msgid "" +"This is a military combat knife. It is light and extremely sharp, and could" +" be deadly in either the right hands or when attached as a bayonet. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hunting knife" msgid_plural "hunting knives" @@ -79130,6 +82044,21 @@ msgstr "" "einer Feuerwaffe oder einer Armbrust angebracht werden kann, was sie zu " "einer Pike macht." +#: lang/json/TOOL_from_json.py +msgid "modified sword bayonet" +msgid_plural "modified sword bayonets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for modified sword bayonet +#: lang/json/TOOL_from_json.py +msgid "" +"A sword bayonet is a large slashing weapon that can be attached to the front" +" of a firearm or crossbow converting it into a pike. This one was modified " +"and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" + #. ~ Description for tanto #: lang/json/TOOL_from_json.py msgid "" @@ -79240,6 +82169,57 @@ msgstr "" "Dies ist ein riesiges, gekrümmtes, zweihändiges Schwert aus Japan. Für " "dessen Größe ist es überraschend leicht." +#: lang/json/TOOL_from_json.py +msgid "electrified foil" +msgid_plural "electrified foils" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for electrified foil +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing foil may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "electrified épée" +msgid_plural "electrified épées" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for electrified épée +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing épée may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "electrified saber" +msgid_plural "electrified sabers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for electrified saber +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing saber may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired to the tip along the saber's groove. Thrusting the " +"sharpened tip into a foe and activating the momentary switch will deliver a " +"painful electric shock." +msgstr "" + #. ~ Description for broadsword #: lang/json/TOOL_from_json.py msgid "" @@ -79655,6 +82635,34 @@ msgstr "" "Dies ist ein Stück Plastik. Es könnte benutzt werden, um Gegenstände " "herzustellen, zu reparieren oder, um Plastikgegenstände zu verstärken." +#: lang/json/TOOL_from_json.py +msgid "synthetic fabric" +msgid_plural "synthetic fabrics" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for synthetic fabric +#: lang/json/TOOL_from_json.py +msgid "" +"This is small bolt of synthetic fabric. Unlike you and other natural " +"materials, it won't degrade much with age. Maybe that's less of a bad thing" +" now." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "lycra patch" +msgid_plural "lycra patches" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lycra patch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small bolt of a synthetic fabric blended with stretchy lycra " +"fibers. It could be used to make flexible yet strong clothing. Stylish, " +"but bad for the environment; at least you're recycling it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hexamine stove" msgid_plural "hexamine stoves" @@ -80177,12 +83185,8 @@ msgstr[1] "Funksprechgeräte" #: lang/json/TOOL_from_json.py msgid "" "This is a radio with a transmitting unit. You could use it to contact " -"someone who also has one. Unfortunately no one seems to use those " -"nowadays..." +"someone who also has one. Unfortunately no one seems to use those nowadays…" msgstr "" -"Dies ist ein Funkgerät mit einer Sendeeinheit. Du könntest es benutzen, um " -"jemanden zu kontaktieren, der ebenfalls eins hat. Leider scheint heutzutage " -"niemand mehr diese Dinger zu benutzen." #: lang/json/TOOL_from_json.py msgid "remote vehicle controller" @@ -80380,7 +83384,7 @@ msgstr[1] "" #. ~ Description for microscope #: lang/json/TOOL_from_json.py msgid "" -"A classic tool for the ages! This hefty, durable piece of lab equipment " +"A classic tool for the ages! This hefty, durable piece of lab equipment " "makes small things look bigger. Without electricity the light doesn't work," " but the rest of it is surprisingly functional. Unfortunately it's not " "useful for very much at the moment." @@ -80585,7 +83589,7 @@ msgstr[1] "Hochleistungskabel" msgid "" "A long, thick, heavy-duty cable with power leads on either end. It looks " "like you could use it to hook up two vehicles to each other, though you " -"expect the power loss would be noticeable. Can also link other electrical " +"expect the power loss would be noticeable. Can also link other electrical " "systems." msgstr "" @@ -80986,15 +83990,119 @@ msgstr "" "Scheint eine Art des Genetic Lifeform and Disk Operating Systems zu sein, " "angeschlossen an eine Kartoffel." +#: lang/json/TOOL_from_json.py +msgid "heat cube" +msgid_plural "heat cubes" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for heat cube. +#: lang/json/TOOL_from_json.py +msgid "Activate torch mode" +msgstr "" + +#. ~ Use action msg for heat cube. +#: lang/json/TOOL_from_json.py +msgid "" +"You push the torch button and the cube emits a large flame from the top, one" +" that does radiate heat, but won't burn anything." +msgstr "" + +#. ~ Description for heat cube +#: lang/json/TOOL_from_json.py +msgid "" +"A smooth steel cube the size of your fist. Several buttons on the sides " +"activate the powers of the cube." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "heat cube (torch on)" +msgid_plural "heat cubes (torch on)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for heat cube (torch on). +#: lang/json/TOOL_from_json.py +msgid "The torch flame is extinguished." +msgstr "" + +#. ~ Description for heat cube (torch on) +#: lang/json/TOOL_from_json.py +msgid "" +"The heat cube in the torch configuration, where it emits warmth and a bright" +" flame that does not burn." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "skeleton key of opening" +msgid_plural "skeleton key of opening" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for skeleton key of opening +#: lang/json/TOOL_from_json.py +msgid "" +"A small gold skeleton key. You can activate it to unlock locked things." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "everburning torch" +msgid_plural "everburning torches" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for everburning torch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality engraved wooden torch. On command, the tip bursts " +"into flame and produces a fair amount of light. It will burn forever." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "enchanted tailor's kit" +msgid_plural "enchanted tailor's kits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for enchanted tailor's kit +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality, engraved steel kit with a variety of needles, some " +"plastic spools for thread, some small scissors, even a small heating element" +" for melting and joining plastic. Use a tailor's kit to customize your " +"clothing and armor. This uses your tailoring skill. It also contains one " +"of those magic spiders that constantly, if slowly, makes new thread." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "spider box" +msgid_plural "spider boxes" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for spider box +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small glass box that contains a spider that diligently works day " +"and night to produce silk thread that it stores in a reservoir you can open " +"and retrieve it from." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "Magic Wand" msgid_plural "Magic Wands" msgstr[0] "" msgstr[1] "" +#: lang/json/TOOL_from_json.py +msgid "Disposable Wand" +msgid_plural "Disposable Wands" +msgstr[0] "" +msgstr[1] "" + #: lang/json/TOOL_from_json.py msgid "minor wand of magic missile" -msgid_plural "minor wand of magic missiles" +msgid_plural "minor wands of magic missile" msgstr[0] "" msgstr[1] "" @@ -81009,19 +84117,19 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of magic missile" -msgid_plural "lesser wand of magic missiles" +msgid_plural "lesser wands of magic missile" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of magic missile" -msgid_plural "greater wand of magic missiles" +msgid_plural "greater wands of magic missile" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of fireball" -msgid_plural "minor wand of fireballs" +msgid_plural "minor wands of fireball" msgstr[0] "" msgstr[1] "" @@ -81036,19 +84144,19 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of fireball" -msgid_plural "lesser wand of fireballs" +msgid_plural "lesser wands of fireball" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of fireball" -msgid_plural "greater wand of fireballs" +msgid_plural "greater wands of fireball" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of mana beam" -msgid_plural "minor wand of mana beams" +msgid_plural "minor wands of mana beam" msgstr[0] "" msgstr[1] "" @@ -81063,19 +84171,19 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of mana beam" -msgid_plural "lesser wand of mana beams" +msgid_plural "lesser wands of mana beam" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of mana beam" -msgid_plural "greater wand of mana beams" +msgid_plural "greater wands of mana beam" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of point flare" -msgid_plural "minor wand of point flares" +msgid_plural "minor wands of point flare" msgstr[0] "" msgstr[1] "" @@ -81090,46 +84198,46 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of point flare" -msgid_plural "lesser wand of point flares" +msgid_plural "lesser wands of point flare" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of point flare" -msgid_plural "greater wand of point flares" +msgid_plural "greater wands of point flare" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py -msgid "minor wand of iceball" -msgid_plural "minor wand of iceballs" +msgid "minor wand of hoary blast" +msgid_plural "minor wands of hoary blast" msgstr[0] "" msgstr[1] "" -#. ~ Description for minor wand of iceball -#. ~ Description for lesser wand of iceball -#. ~ Description for greater wand of iceball +#. ~ Description for minor wand of hoary blast +#. ~ Description for lesser wand of hoary blast +#. ~ Description for greater wand of hoary blast #: lang/json/TOOL_from_json.py msgid "" "A slender wooden wand with a mana crystal socket at the base that casts a " -"spell when activated. This wand casts iceball." +"spell when activated. This wand casts hoary blast." msgstr "" #: lang/json/TOOL_from_json.py -msgid "lesser wand of iceball" -msgid_plural "lesser wand of iceballs" +msgid "lesser wand of hoary blast" +msgid_plural "lesser wands of hoary blast" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py -msgid "greater wand of iceball" -msgid_plural "greater wand of iceballs" +msgid "greater wand of hoary blast" +msgid_plural "greater wands of hoary blast" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of cone of cold" -msgid_plural "minor wand of cone of colds" +msgid_plural "minor wands of cone of cold" msgstr[0] "" msgstr[1] "" @@ -81144,13 +84252,175 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of cone of cold" -msgid_plural "lesser wand of cone of colds" +msgid_plural "lesser wands of cone of cold" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of cone of cold" -msgid_plural "greater wand of cone of colds" +msgid_plural "greater wands of cone of cold" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of magic missile" +msgid_plural "disposable minor wands of magic missile" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of magic missile +#. ~ Description for disposable lesser wand of magic missile +#. ~ Description for disposable greater wand of magic missile +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts magic missile." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of magic missile" +msgid_plural "disposable lesser wands of magic missile" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of magic missile" +msgid_plural "disposable greater wands of magic missile" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of fireball" +msgid_plural "disposable minor wands of fireball" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of fireball +#. ~ Description for disposable lesser wand of fireball +#. ~ Description for disposable greater wand of fireball +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts fireball." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of fireball" +msgid_plural "disposable lesser wands of fireball" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of fireball" +msgid_plural "disposable greater wands of fireball" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of mana beam" +msgid_plural "disposable minor wands of mana beam" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of mana beam +#. ~ Description for disposable lesser wand of mana beam +#. ~ Description for disposable greater wand of mana beam +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts mana beam." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of mana beam" +msgid_plural "disposable lesser wands of mana beam" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of mana beam" +msgid_plural "disposable greater wands of mana beam" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of point flare" +msgid_plural "disposable minor wands of point flare" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of point flare +#. ~ Description for disposable lesser wand of point flare +#. ~ Description for disposable greater wand of point flare +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts point flare." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of point flare" +msgid_plural "disposable lesser wands of point flare" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of point flare" +msgid_plural "disposable greater wands of point flare" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of hoary blast" +msgid_plural "disposable minor wands of hoary blast" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of hoary blast +#. ~ Description for disposable lesser wand of hoary blast +#. ~ Description for disposable greater wand of hoary blast +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts hoary blast." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of hoary blast" +msgid_plural "disposable lesser wands of hoary blast" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of hoary blast" +msgid_plural "disposable greater wands of hoary blast" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of cone of cold" +msgid_plural "disposable minor wands of cone of cold" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of cone of cold +#. ~ Description for disposable lesser wand of cone of cold +#. ~ Description for disposable greater wand of cone of cold +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts cone of cold." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of cone of cold" +msgid_plural "disposable lesser wands of cone of cold" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of cone of cold" +msgid_plural "disposable greater wands of cone of cold" msgstr[0] "" msgstr[1] "" @@ -81234,7 +84504,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "Magus rune" -msgid_plural "Magus runes" +msgid_plural "Magi runes" msgstr[0] "" msgstr[1] "" @@ -81374,7 +84644,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "wand of fireballs" -msgid_plural "wand of fireballss" +msgid_plural "wands of fireball" msgstr[0] "" msgstr[1] "" @@ -81387,7 +84657,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "wand of magic missiles" -msgid_plural "wand of magic missiless" +msgid_plural "wands of magic missile" msgstr[0] "" msgstr[1] "" @@ -81929,12 +85199,6 @@ msgstr "" "Dies ist ein Stock, der zu einem Schaltmechanismus für eine Fallstrickfalle " "geschnitzt wurde." -#: lang/json/TOOL_from_json.py -msgid "Laevateinn" -msgid_plural "Laevateinns" -msgstr[0] "Laevateinn" -msgstr[1] "Laevateinns" - #. ~ Description for Laevateinn #: lang/json/TOOL_from_json.py msgid "" @@ -83328,6 +86592,17 @@ msgid "" " terribly when not on a rail." msgstr "" +#: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py +msgid "pair of small rail wheels" +msgstr "" + +#. ~ Description for pair of small rail wheels +#: lang/json/WHEEL_from_json.py +msgid "" +"A pair of small rail wheels. It fits small railroad rails found in places " +"like amusement parks. Mostly for hobby purposes rather then transportation." +msgstr "" + #: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py msgid "motorbike wheel" msgstr "Motorrad-Rad" @@ -83744,6 +87019,10 @@ msgstr "" msgid "cranking" msgstr "" +#: lang/json/activity_type_from_json.py +msgid "heating" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "de-stressing" msgstr "" @@ -84388,7 +87667,7 @@ msgstr "Legierungsplattierung – Arme" #. ~ Description for Alloy Plating - Arms #: lang/json/bionic_from_json.py msgid "" -"The flesh on your arms has been surgically replaced by alloy plating. " +"The flesh on your arms has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" @@ -84426,7 +87705,7 @@ msgstr "Legierungsplattierung – Beine" #. ~ Description for Alloy Plating - Legs #: lang/json/bionic_from_json.py msgid "" -"The flesh on your legs has been surgically replaced by alloy plating. " +"The flesh on your legs has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" @@ -84778,17 +88057,20 @@ msgstr "Ethanolverbrennung" #. ~ Description for Ethanol Burner #: lang/json/bionic_from_json.py -msgid "" -"You burn alcohol as fuel in an extremely efficient reaction. However, you " -"will still suffer the inebriating effects of the substance." +msgid "You burn alcohol as fuel in an extremely efficient reaction." msgstr "" -"Du verbrennst Alkohol als Treibstoff auf extrem effiziente Weise. Allerdings" -" wirst du immer noch unter den berauschenden Wirkungen der Substanz leiden." #: lang/json/bionic_from_json.py msgid "Aero-Evaporator" msgstr "Luftverdampfer" +#. ~ Description for Aero-Evaporator +#: lang/json/bionic_from_json.py +msgid "" +"This unit draws moisture from the surrounding air, which slowly trickles " +"directly into your blood stream. It may fail in very dry environments." +msgstr "" + #: lang/json/bionic_from_json.py msgid "Diamond Cornea" msgstr "Diamant-Hornhaut" @@ -84904,7 +88186,7 @@ msgid "" "You don't think that capacitor is *meant* to glow, but it does, and usually " "at bad times. A malfunctioning bionic randomly turns on and off, causing " "you to glow and making you visible in the dark without improving how much " -"you can see in the slighest." +"you can see in the slightest." msgstr "" #: lang/json/bionic_from_json.py @@ -85072,10 +88354,10 @@ msgstr "" " ausschaltet." #: lang/json/bionic_from_json.py -msgid "Mini-Flamethrower" -msgstr "Miniflammenwerfer" +msgid "Finger Lighter" +msgstr "" -#. ~ Description for Mini-Flamethrower +#. ~ Description for Finger Lighter #: lang/json/bionic_from_json.py msgid "" "The index fingers of both hands have powerful fire starters which extend " @@ -85108,8 +88390,8 @@ msgstr "Elektromagnetische Einheit" #: lang/json/bionic_from_json.py msgid "" "Surgically embedded in your right hand is a powerful electromagnet, allowing" -" you to indiscriminately pull all nearby magnetic objects towards you. " -"Unlucky bystanders might be injured or killed by flying objects." +" you to use your own strength to pull all nearby magnetic objects towards " +"you. Unlucky bystanders might be injured or killed by flying objects." msgstr "" #: lang/json/bionic_from_json.py @@ -85176,14 +88458,21 @@ msgstr "Reparaturnanoroboter" #: lang/json/bionic_from_json.py msgid "" "Inside your body is a fleet of tiny dormant robots. While activated they " -"will flit about your body, repairing damage at 1 HP/s and stopping bleeding " -"at the cost of power." +"will flit about your body, repairing damage at 1 HP per minute and stopping " +"bleeding at the cost of extra power and stored calories." msgstr "" #: lang/json/bionic_from_json.py msgid "Artificial Night Generator" msgstr "Kunstnachtgenerator" +#. ~ Description for Artificial Night Generator +#: lang/json/bionic_from_json.py +msgid "" +"When active, this bionic eliminates all light within a 2 tile radius through" +" destructive interference." +msgstr "" + #: lang/json/bionic_from_json.py msgid "Implanted Night Vision" msgstr "Implantiertes Nachtsichtgerät" @@ -85207,11 +88496,8 @@ msgstr "" msgid "" "You're really not sure how the CBM ended up in your nose, but no matter how " "it got there this badly misplaced bionic makes it difficult to breathe. " -"Increases mouth encumbrance by one." +"Increases mouth encumbrance by ten." msgstr "" -"Du hast keine Ahnung, wie das KBM in deine Nase gelangt ist, aber egal, wie " -"es dahin gekommen ist, macht dieses furchtbar fehlinstallierte Bionik es " -"schwierig zum Atmen. Erhöht die Mundhinderung um 1." #: lang/json/bionic_from_json.py msgid "Offensive Defense System" @@ -85245,7 +88531,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "Due to a badly misplaced dielectric stylette, you are now suffering from " -"mild optic neuropathy. Increases eye encumbrance by one." +"mild optic neuropathy. Increases eye encumbrance by ten." msgstr "" #: lang/json/bionic_from_json.py @@ -85278,7 +88564,7 @@ msgstr "Stromspeicher" #. ~ Description for Power Storage #: lang/json/bionic_from_json.py msgid "" -"A Compact Bionics Module that increases your power capacity by 100 units. " +"A Compact Bionics Module that increases your power capacity by 100 kJ. " "Having at least one of these is a prerequisite to using powered bionics. " "You will also need a power supply, found in various CBMs." msgstr "" @@ -85289,8 +88575,7 @@ msgstr "Stromspeicher Mk. II" #. ~ Description for Power Storage Mk. II #: lang/json/bionic_from_json.py -msgid "" -"A Compact Bionics Module that increases your power capacity by 250 units." +msgid "A Compact Bionics Module that increases your power capacity by 250 kJ." msgstr "" #. ~ Description for Power Overload @@ -85626,12 +88911,8 @@ msgstr "" msgid "" "Self-locking thumbs hold tight (even when you really don't want them to) and" " don't let go (even when you'd rather they did). Increases hand encumbrance" -" by two, while failing to improve your ability to hold objects whatsoever." +" by ten, while failing to improve your ability to hold objects whatsoever." msgstr "" -"Selbsteinrastende Daumen halten fest (auch wenn du das eigentlich nicht " -"willst) und lassen nicht los (auch wenn du das eigentlich willst). Erhöht " -"die Handhinderung um 2 und erhöht die Fähigkeit, Gegenstände festzuhalten, " -"überhaupt nicht." #: lang/json/bionic_from_json.py msgid "Time Dilation" @@ -85773,8 +89054,8 @@ msgstr "" #. ~ Description for Gasoline Fuel Cell CBM #: lang/json/bionic_from_json.py msgid "" -"A small gasoline fuel cell fixed to your scapula. Despite its limited energy" -" output compared to other fuel cells, this device still produces a " +"A small gasoline fuel cell fixed to your scapula. Despite its limited " +"energy output compared to other fuel cells, this device still produces a " "significant amount of heat dissipated through a heat exhaust protruding from" " your back. A diffuse network of bio-plastic bladders has been meshed with " "your circulatory system and serves as a fuel tank." @@ -85842,7 +89123,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "A set of highly sensitive sensors is installed in your mouth, and a small " -"yet sophisticated analyzer is installed in the cavity of your skull. The " +"yet sophisticated analyzer is installed in the cavity of your skull. The " "active bionic will nullify the taste of all comestibles with negative " "enjoyment value at the cost of draining bionic power." msgstr "" @@ -86044,7 +89325,7 @@ msgid "Dodging and melee is hampered." msgstr "Das Ausweichen und der Nahkampf werden entsprechend beeinträchtigt." #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Torso" msgstr "Torso" @@ -86063,7 +89344,7 @@ msgid "head" msgstr "Kopf" #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Head" msgstr "Kopf" @@ -86544,6 +89825,18 @@ msgstr "" msgid "Make Woodchip Floor" msgstr "" +#: lang/json/construction_from_json.py +msgid "Make Gravel Floor" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Straight Small Railroad Track" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Diagonal Small Railroad Track" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Wooden Floor" msgstr "Holzfußboden bauen" @@ -86661,6 +89954,14 @@ msgstr "Maschendrahttor bauen" msgid "Needs to be supported on both sides by fencing, walls, etc." msgstr "Muss von beiden Seiten von Zäunen, Wänden, o. Ä. abgestützt werden." +#: lang/json/construction_from_json.py +msgid "Build Screen Door" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Screen Mesh Wall" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Chickenwire Fence" msgstr "" @@ -86701,6 +90002,10 @@ msgstr "Kommode bauen" msgid "Build Bookcase" msgstr "Bücherregal bauen" +#: lang/json/construction_from_json.py +msgid "Build Entertainment Center" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Locker" msgstr "Spind bauen" @@ -86733,6 +90038,10 @@ msgstr "Tisch bauen" msgid "Place Table" msgstr "" +#: lang/json/construction_from_json.py +msgid "Build Coffee Table" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Workbench" msgstr "" @@ -87191,6 +90500,10 @@ msgstr "" msgid "Build a radio tower console." msgstr "" +#: lang/json/construction_from_json.py +msgid "Build Log Stool" +msgstr "" + #: lang/json/construction_from_json.py msgid "Convert Fridge Power Supply" msgstr "" @@ -88014,6 +91327,42 @@ msgid "You dream of bees fighting over your sweet nectar. Mmm." msgstr "" "Du träumst von Bienen, die sich über deinen süßen Nektar streiten. Mmmh." +#: lang/json/dream_from_json.py +msgid "" +"How grand it would be to sink your roots deep into the soil as the seasons " +"pass you by." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "You dream of a gigantic knot of roots, beating like a heart." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "You have a disturbing dream of termites chewing all over your body." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of sharing your roots with a vast forest, all plants provided for " +"as the canopy grows ever upwards." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "A family of caterpillars munches away at your leaves." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"Fire rages around you, licking at your bark and engulfing the saplings and " +"bushes near your roots. The once chatty forest is quiet in its wake." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of communing with an ancient pine. Trees are the true survivors " +"of this world, it tells you." +msgstr "" + #: lang/json/dream_from_json.py msgid "" "A rather attractive triffid offers you a bouquet of ape heads. How " @@ -89399,6 +92748,25 @@ msgstr "Deine Hände hören einfach nicht auf, zu zittern." msgid "You tremble" msgstr "Du zitterst" +#: lang/json/effects_from_json.py +msgid "Seizure" +msgstr "" + +#. ~ Description of effect 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles have seized up, and you can't control them!" +msgstr "" + +#. ~ Remove message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "You regain control of your muscles!" +msgstr "" + +#. ~ Miss message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles won't cooperate!" +msgstr "" + #: lang/json/effects_from_json.py msgid "Bleeding" msgstr "Blutung" @@ -90349,6 +93717,26 @@ msgstr "Dein Stoffwechsel ist gestört." msgid "Your metabolism becomes more stable." msgstr "Dein Stoffwechsel stabilisiert sich." +#: lang/json/effects_from_json.py +msgid "Concerning symptoms" +msgstr "" + +#. ~ Description of effect 'Concerning symptoms'. +#: lang/json/effects_from_json.py +msgid "Your muscles keep twitching strangely." +msgstr "" + +#: lang/json/effects_from_json.py +msgid "Unnerving symptoms" +msgstr "" + +#. ~ Description of effect 'Unnerving symptoms'. +#: lang/json/effects_from_json.py +msgid "" +"Your nervous system is malfunctioning, almost like it's being torn apart " +"from the inside." +msgstr "" + #: lang/json/effects_from_json.py msgid "Lit up" msgstr "Erhellt" @@ -90610,6 +93998,17 @@ msgstr "Hochaufgeladen" msgid "You've been struck by lightning, and feel... different." msgstr "Du wurdest vom Blitz getroffen und fühlst dich jetzt... anders." +#: lang/json/effects_from_json.py +msgid "Grown of Fusion" +msgstr "" + +#. ~ Description of effect 'Grown of Fusion'. +#: lang/json/effects_from_json.py +msgid "" +"AI effect to increase stats after fusing with another critter. 1 stack means" +" one absorbed max_hp." +msgstr "" + #: lang/json/effects_from_json.py msgid "Religious Offense" msgstr "Religiöse Beleidigung" @@ -90924,6 +94323,33 @@ msgstr "" msgid "The earth pulls you down hard." msgstr "" +#: lang/json/effects_from_json.py +msgid "Scared" +msgstr "" + +#: lang/json/effects_from_json.py +msgid "Frightened" +msgstr "" + +#: lang/json/effects_from_json.py src/npc.cpp +msgid "Terrified" +msgstr "Extrem verängstigt" + +#: lang/json/effects_from_json.py +msgid "" +"Your knees are shaking, your heart beats fast, and your stomach rebels." +msgstr "" + +#. ~ Apply message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "You are afraid!" +msgstr "" + +#. ~ Remove message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "Your fear dissipates." +msgstr "" + #: lang/json/effects_from_json.py msgid "Stuck in a light snare" msgstr "Steckt in einem leichten Fallstrick fest" @@ -91340,6 +94766,192 @@ msgstr "" "weiterer Polizeikräfte zu warten, wurde er von den Untoten, die vom Tumult " "angezogen wurden, in Stücke zerfetzt." +#: lang/json/epilogue_from_json.py +msgid "" +" Became a hunter after your death, living alone in the woods. Traced " +"back to his cabin, he was murdered and devoured in his sleep by an actual " +"cannibal." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived for many years, and became a renowned scavenger, eventually " +"setting up a small shop in a Free Merchant outpost. Survived by two sons, " +"he died after a rare artifact poisoned his blood with acid." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered and scavenged the land for years after your death, " +"eventually becoming a skilled mechanic. Employed by the Free Merchants, he " +"lived a comfortable, if rather uneventful life, dying of cancer, a rare " +"luxury these days." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became truly depressed after your death and hid in the woods. If " +"rumors are to be believed, he spent years living as a deranged hermit in a " +"distant cave, worshiping stones and sacrificing dogs." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" After your death, he became obsessed with preserving old knowledge and " +"eventually became known as 'the lorekeeper'. Hired by the Old Guard as a " +"librarian, he spent his life amongst dusty old books, trying to convince " +"others of their value. He even changed his name to Frederic Bastiat, in " +"honor of an old French philosopher." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He found faith after your death, eventually joining an Anglican " +"community and becoming a Vicar. The crucifix provided him with a sense of " +"meaning, before dying horribly at the hands of raiders. He was still " +"praying when they roasted him alive." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Lost and damned, he joined a bloody cult after your death, kidnapping " +"and sacrificing young women. His entire group was killed after being " +"discovered by the Old Guard. His head was put on a spike as a reminder that" +" cultists will not be tolerated." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He did not survive for long after your death. Electrocuted in an old " +"cellar, he kept screaming your name. His body was never found." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived you by just a few days, he drowned trying to escape from a " +"horde." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered alone for days, before finding a Free Merchant outpost. He" +" spent a few years as a caravan guard, often drinking himself half blind and" +" enjoying any woman he could find. Booze made his grip unsteady and he was " +"eventually fired. He died of alcohol poisoning the same day." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with the idea of settling down, he eventually found love and " +"retired to a farm in the middle of nowhere. Relatively safe from the " +"monsters, he thrived for years. Survived by seven sons and two daughters." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became famous in the wastes after finding an old brewery and copying " +"their recipe. His chilled beer, a known delicacy, is traded far and wide by" +" the Free Merchants." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Found a whole cellar of single malt whisky. Drank himself to death." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed after your death, he would hang himself after just a few " +"days." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Wandered for months, before finding a small community that would accept" +" him. Became a farmer and spent the rest of his uneventful life tending to " +"crops, glad that he was no longer alone." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with finding 'the Cure', he died a few weeks later in an old " +"lab, torn to shreds by a security turret." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a runner for the Refugee Center and died after a few months." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a raider gang and died in a firefight a few weeks later, trying " +"to rob a Free Merchant caravan." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, he eventually found an intact baseball field and built " +"a prosperous farming community there." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He spent the rest of his short life looking for a new fix. Died of an " +"overdose in an abandoned basement." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a small fishing village. Died a few years " +"later in a raider attack, alongside his young son." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Thoroughly terrified by your death, he retired to an old LMOE shelter, " +"vowing never to leave. He died of starvation inside." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He became a very prosperous game hunter, trading meat and furs, and " +"providing many settlements with food in exchange for booze and male company." +" He died years later of an STD." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Retired to the woods, he spent the rest of his life fishing and hunting" +" in a desolate cabin, rarely interacting with anyone else." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Died en route to California, deliriously dreaming of a better life as " +"he was slowly devoured by spiders." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He tried to cope with loneliness after your death, but failed. He was " +"blind drunk when a group of zombies found his hideout and didn't stand a " +"chance." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He didn't survive for long, waking up to a horde of zombies. They " +"smashed through his fortified windows in a pinch and only the last bullet " +"prevented him from being devoured alive." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He got sick soon after your death, and died without any medical help. " +"His last words were 'Why did I live long enough to suffer like that?'" +msgstr "" + #: lang/json/epilogue_from_json.py msgid "" " Committed suicide rather than fall into the hands of the Hell's " @@ -91696,6 +95308,167 @@ msgstr "" "zu verbrauchen. Zwei Wochen, nachdem sie in ihre Zelle gezerrt wurde, starb " "sie an Dehydrierung." +#: lang/json/epilogue_from_json.py +msgid "" +" Shot by the Old Guard a few weeks later, hunted down after she robbed " +"an important caravan." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, she eventually found a quiet community there and spent " +"the rest of her life farming. She's survived by four daughters." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a runner for the Old Guard and was eventually permitted to " +"join. She spent the rest of her life hunting raiders. She died in a " +"skirmish after a few years, sacrificing her life to let her unit retreat. " +"Her name is venerated in songs and inscriptions." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Shortly after your death she joined the Free Merchants, becoming a " +"caravan guard and after a few months became the new liaison in the Refugee " +"Center. She died a few years later of a mysterious illness." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She was found half-dead by the Old Guard who took her in. She became a" +" famous scavenger, known for finding an intact stash of experimental " +"antibiotics." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She retired to the forest, where she built her own cabin and spending " +"the rest of her life fishing." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Captured by raiders, she spent the rest of her miserable life as a " +"slave. Hopeless, she slit her wrists with a rusty knife." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed, she joined a protestant community and became a paragon of " +"virtue. Devoting her life to bible study, she spent the rest of her life in" +" relative peace." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Killed and devoured by a cannibal just a few days after your death, " +"hardly anyone remembers her name." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a renowned merchant after your death, she built her own outpost " +"in the west. An avid book collector, she established a great library to " +"keep the flame of knowledge burning." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled around for months before finding an old farm. She spent a few" +" years tending to her crops and living the life of a hermit before being " +"killed by raiders for fun." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a settlement there. She became a renowned " +"engineer, building the largest steam engine in New England." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a gang after your death, she spent months preying on the " +"innocent, before dying in a dispute with a fellow brute." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Devoured alive by a group of zombies, she kept thinking of you as she " +"died." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She found an abandoned APC and spent years traveling around and " +"collecting personal stories. She wrote one of the few post-apocalyptic " +"books, detailing the life after the end." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Kept wandering for years. Her life was cut short when a group of " +"raiders used her as a target practice." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a skilled game hunter and one of the best shots in the " +"wasteland. Years later she joined the Old Guard and was given the position " +"of Marshal." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Desperate to save humanity from extinction, she organized her own group" +" of survivors, whose job was to hunt bandits and decorate roads with their " +"mutilated bodies. She died in a skirmish a few months later." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became an arsonist, and was incinerated a few weeks later in a fire" +" she set." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She kept wandering for a few weeks but eventually died after drinking " +"untreated water." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She wandered north and joined a local community there. She became " +"known for her trapping skills and ensured that the locals always had fresh " +"meat on their tables." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She joined the Free Merchants and led their first caravan to Canada. " +"She died a few years later of dysentery." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She built a boat and sailed east towards Europe, hoping that it was not" +" affected by the apocalypse. She was never heard from again." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She led a doomsday cult for a few years, she was sacrificed to their " +"gods after a particularly terrible harvest." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became obsessed with chems, and died of an overdose a few months after " +"your death." +msgstr "" + #: lang/json/faction_from_json.py msgid "Your Followers" msgstr "Deine Gefährten" @@ -91861,10 +95634,10 @@ msgid "A small family surviving on their generational land." msgstr "" #: lang/json/faction_from_json.py -msgid "God's Community" +msgid "New England Church Community" msgstr "" -#. ~ Description for God's Community +#. ~ Description for New England Church Community #: lang/json/faction_from_json.py msgid "" "A small group of churchgoers that formed a community in the woods. They " @@ -91910,105 +95683,213 @@ msgstr "" msgid "Dusty" msgstr "" -#. ~ Description for Dusty +#. ~ description for fault 'Dusty' #: lang/json/fault_from_json.py -msgid "It's dusty. Has no effect - obsolete fault." +msgid "It's dusty. Has no effect - obsolete fault." +msgstr "" + +#. ~ name of mending method for fault 'Dusty' +#: lang/json/fault_from_json.py +msgid "Wipe clean" +msgstr "" + +#. ~ success message for mending method 'Wipe clean' of fault 'Dusty' +#. ~ success message for mending method 'Clean gun' of fault 'Fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean you %s." msgstr "" #: lang/json/fault_from_json.py msgid "Already deployed" msgstr "" -#. ~ Description for Already deployed +#. ~ description for fault 'Already deployed' #: lang/json/fault_from_json.py msgid "This bionic needs to be reset to its factory state." msgstr "" +#. ~ name of mending method for fault 'Already deployed' +#: lang/json/fault_from_json.py +msgid "Reset to factory state" +msgstr "" + +#. ~ success message for mending method 'Reset to factory state' of fault +#. 'Already deployed' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully reset the %s to its factory state" +msgstr "" + #: lang/json/fault_from_json.py msgid "Blackpowder fouling" msgstr "" -#. ~ Description for Blackpowder fouling +#. ~ description for fault 'Blackpowder fouling' #: lang/json/fault_from_json.py msgid "" "Firing blackpowder loads from a gun fouls it, which reduces reliability and," -" if left uncleaned, leads to rust. It fouls the gun much faster than the use" -" of modern smokeless powder cartridges. Fouling is only a significant impact" -" on reliability at high levels, but black powder fouling accumulates " +" if left uncleaned, leads to rust. It fouls the gun much faster than the " +"use of modern smokeless powder cartridges. Fouling is only a significant " +"impact on reliability at high levels, but black powder fouling accumulates " "quickly." msgstr "" +#. ~ name of mending method for fault 'Blackpowder fouling' +#: lang/json/fault_from_json.py +msgid "Clean blackpowder fouling" +msgstr "" + +#. ~ success message for mending method 'Clean blackpowder fouling' of fault +#. 'Blackpowder fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean your %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Spent casing in chamber" msgstr "" -#. ~ Description for Spent casing in chamber +#. ~ description for fault 'Spent casing in chamber' #: lang/json/fault_from_json.py msgid "" "This gun currently has an empty casing chambered. It will have to be " "removed before firing." msgstr "" +#. ~ name of mending method for fault 'Spent casing in chamber' +#: lang/json/fault_from_json.py +msgid "Eject spent casing" +msgstr "" + +#. ~ success message for mending method 'Eject spent casing' of fault 'Spent +#. casing in chamber' +#: lang/json/fault_from_json.py +#, python-format +msgid "You eject the spent casing from the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Fouling" msgstr "" -#. ~ Description for Fouling +#. ~ description for fault 'Fouling' #: lang/json/fault_from_json.py msgid "" "Fouling is caused by firing gunpowder loads repeatedly, which reduces " -"reliability and can eventually cause damage to the gun. Fouling accumulates " -"slowly (unless blackpowder is used) due to the design of modern smokeless " +"reliability and can eventually cause damage to the gun. Fouling accumulates" +" slowly (unless blackpowder is used) due to the design of modern smokeless " "powder found in the vast majority of retail cartridges and it is not a " "significant problem until high levels of fouling are reached due to firing " "thousands of rounds without cleaning your firearm." msgstr "" +#. ~ name of mending method for fault 'Fouling' +#: lang/json/fault_from_json.py +msgid "Clean gun" +msgstr "" + #: lang/json/fault_from_json.py msgid "Worn drive belt" msgstr "" -#. ~ Description for Worn drive belt +#. ~ description for fault 'Worn drive belt' #: lang/json/fault_from_json.py msgid "Required for operation of an attached alternator." msgstr "Benötigt für den Betrieb einer angeschlossenen Lichtmaschine." +#. ~ name of mending method for fault 'Worn drive belt' +#: lang/json/fault_from_json.py +msgid "Replace worn drive belt" +msgstr "" + +#. ~ success message for mending method 'Replace worn drive belt' of fault +#. 'Worn drive belt' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the worn drive belt of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty glow plugs" msgstr "" -#. ~ Description for Faulty glow plugs +#. ~ description for fault 'Faulty glow plugs' #: lang/json/fault_from_json.py msgid "Help when starting an engine in low ambient temperatures." msgstr "" "Hilft, wenn man einen Motor bei niedrigen Umgebungstemparaturen starten " "will." +#. ~ name of mending method for fault 'Faulty glow plugs' +#: lang/json/fault_from_json.py +msgid "Replace faulty glow plugs" +msgstr "" + +#. ~ success message for mending method 'Replace faulty glow plugs' of fault +#. 'Faulty glow plugs' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty glow plugs of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Active immobiliser" msgstr "" -#. ~ Description for Active immobiliser +#. ~ description for fault 'Active immobiliser' #: lang/json/fault_from_json.py msgid "Prevents starting of the vehicle without the appropriate key." msgstr "Verhindert das Starten eines Fahrzeugs ohne den passenden Schlüssel." +#. ~ name of mending method for fault 'Active immobiliser' +#: lang/json/fault_from_json.py +msgid "Deactivate immobiliser" +msgstr "" + +#. ~ description for mending method 'Deactivate immobiliser' of fault 'Active +#. immobiliser' +#: lang/json/fault_from_json.py +msgid "" +"Deactivate the immobiliser that is preventing the vehicle from starting." +msgstr "" + +#. ~ success message for mending method 'Deactivate immobiliser' of fault +#. 'Active immobiliser' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully deactivate the immobiliser of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty diesel pump" msgstr "" -#. ~ Description for Faulty diesel pump +#. ~ description for fault 'Faulty diesel pump' #: lang/json/fault_from_json.py msgid "Required to pump and pressurize diesel from a vehicles tank." msgstr "" "Benötigt, um Diesel aus einem Fahrzeugtank zu pumpen und druckfest zu " "machen." +#. ~ name of mending method for fault 'Faulty diesel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty diesel pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty diesel pump' of fault +#. 'Faulty diesel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty diesel pump of the %s" +msgstr "" + #: lang/json/fault_from_json.py msgid "Expired air filter" msgstr "" -#. ~ Description for Expired air filter +#. ~ description for fault 'Expired air filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces fuel efficiency and increases smoke production." @@ -92016,11 +95897,23 @@ msgstr "" "Ein abgelaufener Filter reduziert die Treibstoffeffizienz und erhöht die " "Raucherzeugung." +#. ~ name of mending method for fault 'Expired air filter' +#: lang/json/fault_from_json.py +msgid "Replace expired air filter" +msgstr "" + +#. ~ success message for mending method 'Replace expired air filter' of fault +#. 'Expired air filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired air filter of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Expired fuel filter" msgstr "" -#. ~ Description for Expired fuel filter +#. ~ description for fault 'Expired fuel filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces performance and increases the chance of backfires." @@ -92028,35 +95921,83 @@ msgstr "" "Ein abgelaufener Filter reduziert die Leistung und erhöht die " "Wahrscheinlichkeit von Fehlzündungen." +#. ~ name of mending method for fault 'Expired fuel filter' +#: lang/json/fault_from_json.py +msgid "Replace expired fuel filter" +msgstr "" + +#. ~ success message for mending method 'Replace expired fuel filter' of fault +#. 'Expired fuel filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired fuel filter of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty fuel pump" msgstr "" -#. ~ Description for Faulty fuel pump +#. ~ description for fault 'Faulty fuel pump' #: lang/json/fault_from_json.py msgid "Required to pump gasoline from a vehicles tank." msgstr "Benötigt, um Benzin aus einem Fahrzeugtank zu pumpen." +#. ~ name of mending method for fault 'Faulty fuel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty fuel pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty fuel pump' of fault +#. 'Faulty fuel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty fuel pump of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty water pump" msgstr "" -#. ~ Description for Faulty water pump +#. ~ description for fault 'Faulty water pump' #: lang/json/fault_from_json.py msgid "Required to pump water to an external radiator or heatsink." msgstr "" "Benötigt, um Wasser in einen außenliegenden Heizkörper oder Kühlkörper zu " "pumpen." +#. ~ name of mending method for fault 'Faulty water pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty water pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty water pump' of fault +#. 'Faulty water pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty water pump of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty starter motor" msgstr "" -#. ~ Description for Faulty starter motor +#. ~ description for fault 'Faulty starter motor' #: lang/json/fault_from_json.py msgid "Required to initially start the engine." msgstr "Benötigt, um den Motor das erste Mal zu starten." +#. ~ name of mending method for fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +msgid "Replace faulty starter motor" +msgstr "" + +#. ~ success message for mending method 'Replace faulty starter motor' of +#. fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty starter motor of %s." +msgstr "" + #: lang/json/field_type_from_json.py lang/json/overmap_terrain_from_json.py #: lang/json/overmap_terrain_from_json.py src/mapdata.cpp src/mapdata.cpp #: src/skill.cpp @@ -92543,6 +96484,22 @@ msgstr "" msgid "smoke vent" msgstr "Rauchventil" +#: lang/json/field_type_from_json.py +msgid "clairvoyance" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "dreadful presense" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "frightful presense" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "terrifying presense" +msgstr "" + #: lang/json/furniture_from_json.py msgid "mutated cactus" msgstr "mutierter Kaktus" @@ -92556,13 +96513,11 @@ msgstr "" msgid "A big, blocky metal device for refrigerating large areas." msgstr "" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "metal screeching!" msgstr "Metall knirschen." -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "clang!" msgstr "»Kläng!«." @@ -92666,6 +96621,50 @@ msgid "" "although it still has parts." msgstr "" +#: lang/json/furniture_from_json.py +msgid "document shredder" +msgstr "" + +#. ~ Description for document shredder +#: lang/json/furniture_from_json.py +msgid "" +"It's not all about hiding government secrets, sometimes you just want to " +"stop identity theft." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "server stack" +msgstr "" + +#. ~ Description for server stack +#: lang/json/furniture_from_json.py +msgid "This is a big pile of computers. They're all turned off." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "large satellite dish" +msgstr "" + +#. ~ Description for large satellite dish +#: lang/json/furniture_from_json.py +msgid "" +"Somewhere up there, there are still satellites, orbiting and doing their " +"thing, sending signals down to an Earth that is no longer listening." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "mounted solar panel" +msgstr "" + +#. ~ Description for mounted solar panel +#: lang/json/furniture_from_json.py +msgid "A mounted solar panel." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "whack!" +msgstr "»Bonk!«" + #: lang/json/furniture_from_json.py msgid "road barricade" msgstr "Straßenbarrikade" @@ -92677,11 +96676,11 @@ msgstr "Eine Straßensperre. Zum Verbarrikadieren von Straßen." #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py #: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +#: src/vehicle_move.cpp msgid "smash!" msgstr "»Schepper!«." -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "whump." msgstr "»Wumms!«." @@ -92734,6 +96733,115 @@ msgstr "Sandsackwand" msgid "A sandbag wall." msgstr "" +#: lang/json/furniture_from_json.py +msgid "standing mirror" +msgstr "Standspiegel" + +#. ~ Description for standing mirror +#: lang/json/furniture_from_json.py +msgid "Lookin' good - is that blood?" +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "glass breaking" +msgstr "Glas zerbrechen." + +#: lang/json/furniture_from_json.py +msgid "broken standing mirror" +msgstr "zerbrochener Standspiegel" + +#. ~ Description for broken standing mirror +#: lang/json/furniture_from_json.py +msgid "" +"You could look at yourself, if the mirror wasn't covered in cracks and " +"fractures." +msgstr "" +"Du könntest dich selbst betrachten, wenn der Spiegel nur nicht voller Risse " +"und Frakturen wäre." + +#: lang/json/furniture_from_json.py +msgid "bitts" +msgstr "" + +#. ~ Description for bitts +#: lang/json/furniture_from_json.py +msgid "" +"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " +"to secure mooring lines, ropes, hawsers, or cables." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "manacles" +msgstr "Handschellen" + +#. ~ Description for manacles +#: lang/json/furniture_from_json.py +msgid "" +"Chain serfs in your dungeon. All you need now is an iron ball to chain to " +"it." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "crack." +msgstr "»Knack«." + +#: lang/json/furniture_from_json.py +msgid "statue" +msgstr "Statue" + +#. ~ Description for statue +#: lang/json/furniture_from_json.py +msgid "A carved statue made of stone." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +msgid "thump." +msgstr "»Bums.«." + +#: lang/json/furniture_from_json.py +msgid "mannequin" +msgstr "Mannequin" + +#. ~ Description for mannequin +#: lang/json/furniture_from_json.py +msgid "" +"Put clothes on it, talk to it. Who's around to judge you? Wait… did it " +"just move?" +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "birdbath" +msgstr "" + +#. ~ Description for birdbath +#: lang/json/furniture_from_json.py +msgid "A decorative cement birdbath and pedestal." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "rotary clothes dryer line" +msgstr "" + +#. ~ Description for rotary clothes dryer line +#: lang/json/furniture_from_json.py +msgid "A umbrella shaped clothes line mounted on a pole." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "floor lamp" +msgstr "" + +#. ~ Description for floor lamp +#: lang/json/furniture_from_json.py +msgid "A tall standing lamp, meant to plug into a wall and light up a room." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bonk!" +msgstr "" + #: lang/json/furniture_from_json.py msgid "indoor plant" msgstr "Topfplanze" @@ -92845,6 +96953,85 @@ msgid "" "be used for planting crops. This one contains a planted seedling" msgstr "" +#: lang/json/furniture_from_json.py +msgid "spider egg sack" +msgstr "Spinneneiernest" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Much too large, off-white egg sack. Kind of icky. Something IS moving in " +"there." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "splat!" +msgstr "»Platsch!«." + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " +"in there." +msgstr "" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"A horrifyingly oversized egg sack. Something IS moving in there. If you're" +" seeing this, you're already too close to it." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "ruptured egg sack" +msgstr "geplündertes Eiernest" + +#. ~ Description for ruptured egg sack +#: lang/json/furniture_from_json.py +msgid "Super icky. Spider stuff's spilling out." +msgstr "" + +#. ~ Description for swamp gas +#: lang/json/furniture_from_json.py +msgid "" +"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " +"toxic gas." +msgstr "" + +#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp +msgid "splash!" +msgstr "»Platsch!«." + +#. ~ Description for fog +#: lang/json/furniture_from_json.py +msgid "This is a misty cloud of fog." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "fake workbench hands" +msgstr "" + +#. ~ Description for fake workbench hands +#: lang/json/furniture_from_json.py +msgid "This fake workbench holds the stats for working on a wielded item." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "ground crafting spot" +msgstr "" + +#. ~ Description for ground crafting spot +#: lang/json/furniture_from_json.py +msgid "" +"A cleared spot on the ground for crafting. Slower than using a workbench or" +" holding a project in your hands, but readily available." +msgstr "" + +#. ~ Description for seeing this is a bug +#: lang/json/furniture_from_json.py +msgid "Seeing this is a bug. If seen, please report and destroy." +msgstr "" + #: lang/json/furniture_from_json.py msgid "fireplace" msgstr "Kamin" @@ -93009,7 +97196,7 @@ msgid "" msgstr "" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: src/iuse.cpp +#: lang/json/terrain_from_json.py src/iuse.cpp msgid "crunch!" msgstr "»Knirsch!«." @@ -93022,7 +97209,7 @@ msgstr "Marlossblume" msgid "" "This flower is like the other flowers taken by the mushrooms, but its bulb " "is colored a brilliant cyan color, and it emits an aroma both overwhelming " -"and... delicious?" +"and… delicious?" msgstr "" #: lang/json/furniture_from_json.py @@ -93058,6 +97245,100 @@ msgid "" "Alien mold and stems mingle tightly here, creating a sort of fungal bush." msgstr "" +#: lang/json/furniture_from_json.py +msgid "stone slab" +msgstr "Steinplatte" + +#. ~ Description for stone slab +#: lang/json/furniture_from_json.py +msgid "A flat slab of heavy stone." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "headstone" +msgstr "Grabplatte" + +#. ~ Description for headstone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies." +msgstr "Hält die Körper." + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +msgid "thump!" +msgstr "»Bums!«" + +#: lang/json/furniture_from_json.py +msgid "gravestone" +msgstr "Grabstein" + +#. ~ Description for gravestone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies. More fancy." +msgstr "Hält die Körper. Etwas schicker." + +#: lang/json/furniture_from_json.py +msgid "worn gravestone" +msgstr "abgenutzter Grabstein" + +#. ~ Description for worn gravestone +#: lang/json/furniture_from_json.py +msgid "A worn-out gravestone." +msgstr "Ein abgenutzter Grabstein." + +#: lang/json/furniture_from_json.py +msgid "obelisk" +msgstr "Obelisk" + +#. ~ Description for obelisk +#: lang/json/furniture_from_json.py +msgid "Monument to pride." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "thunk!" +msgstr "Donk!" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "robotic assembler" +msgstr "Robotermonteur" + +#. ~ Description for robotic assembler +#: lang/json/furniture_from_json.py +msgid "" +"A durable and versatile robotic arm with a tool fitted to the end, for " +"working on an assembly line." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "chemical mixer" +msgstr "Chemiemischer" + +#. ~ Description for chemical mixer +#: lang/json/furniture_from_json.py +msgid "" +"When chemicals need to be mixed in large quantities at just the right " +"combinations and temperatures, this is the tool for the job." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "robotic arm" +msgstr "Roboterarm" + +#. ~ Description for robotic arm +#: lang/json/furniture_from_json.py +msgid "" +"Automation! Science! Industry! Make a better horse! This robot arm " +"promises to do it all. Except it's currently unpowered. You could remove " +"the casing and retrieve the electronics through disassembly." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "thunk." +msgstr "»Donk«." + #: lang/json/furniture_from_json.py msgid "Autodoc Mk. XI" msgstr "Autodoktor Typ XI" @@ -93072,10 +97353,6 @@ msgstr "" "Bioniken benutzt wird. Seine Effizienz ist abhängig von den Fertigkeiten " "seines Bedieners." -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "whack!" -msgstr "»Bonk!«" - #: lang/json/furniture_from_json.py msgid "Autodoc operation couch" msgstr "Autodoktor-Operationsliege" @@ -93371,9 +97648,9 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "This is a meaty green stalactite with a thickened hide like that of a " -"starfish, extending from the floor to the ceiling. In the center is a series" -" of ports somewhat like mouths, from which pour bursts of a vile smelling " -"gas." +"starfish, extending from the floor to the ceiling. In the center is a " +"series of ports somewhat like mouths, from which pour bursts of a vile " +"smelling gas." msgstr "" #: lang/json/furniture_from_json.py @@ -93399,10 +97676,6 @@ msgid "" "out of injured vessels." msgstr "" -#: lang/json/furniture_from_json.py -msgid "splat!" -msgstr "»Platsch!«." - #: lang/json/furniture_from_json.py msgid "slimy pod" msgstr "" @@ -93447,7 +97720,7 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "This pulsing protuberance juts from the floor, its sides covered in scaled, " -"oozing skin. The surface is flat, but undulates softly. A handful of " +"oozing skin. The surface is flat, but undulates softly. A handful of " "unidentifiable appendages reach from the sides, suggesting a sort of " "nightmarish living autodoc." msgstr "" @@ -93605,12 +97878,6 @@ msgid "" "your workout. Might have useful electronic parts in it." msgstr "" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py src/map.cpp -#: src/mapdata.cpp -msgid "thump!" -msgstr "»Bums!«" - #: lang/json/furniture_from_json.py msgid "treadmill" msgstr "Laufband" @@ -93619,7 +97886,7 @@ msgstr "Laufband" #: lang/json/furniture_from_json.py msgid "" "Used for training leg muscles. It'll be extra hard without power. Could be" -" taken apart for its... parts." +" taken apart for its… parts." msgstr "" #: lang/json/furniture_from_json.py @@ -93645,7 +97912,7 @@ msgstr "Klavier" #: lang/json/furniture_from_json.py msgid "" "The ol' ebony and ivory. Really classes up the place. You could take it " -"apart if you wanted... you monster." +"apart if you wanted… you monster." msgstr "" #: lang/json/furniture_from_json.py @@ -93656,6 +97923,18 @@ msgstr "ein leidendes Klavier!" msgid "kerchang." msgstr "kertschäng." +#: lang/json/furniture_from_json.py +msgid "speaker cabinet" +msgstr "" + +#. ~ Description for speaker cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A cabinet loaded with 12-inch speakers, intended to help make various things" +" loud. It can't serve its original purpose these days, but it could be " +"disassembled for various electronic parts." +msgstr "" + #: lang/json/furniture_from_json.py msgid "cell phone signal booster" msgstr "" @@ -93789,6 +98068,53 @@ msgstr "" msgid "stool" msgstr "Hocker" +#. ~ Description for camp chair +#: lang/json/furniture_from_json.py +msgid "Sit down, have a drink. It can folded for easy transportation." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "log stool" +msgstr "" + +#. ~ Description for log stool +#: lang/json/furniture_from_json.py +msgid "" +"A log tipped on its end with any rough edges cut off. Basically a very " +"simple seat." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bulletin board" +msgstr "Pinnwand" + +#. ~ Description for bulletin board +#: lang/json/furniture_from_json.py +msgid "" +"A big, cork bulletin board capable of sporting various notices. Pin some " +"notes for other survivors to read." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "sign" +msgstr "Schild" + +#. ~ Description for sign +#: lang/json/furniture_from_json.py +msgid "Read it. Warnings ahead." +msgstr "Lies es. Warnungen stehen bevor." + +#: lang/json/furniture_from_json.py +msgid "warning sign" +msgstr "" + +#. ~ Description for warning sign +#: lang/json/furniture_from_json.py +msgid "" +"A triangle-shaped sign on a post meant to indicate something important or " +"hazard." +msgstr "" + #: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py msgid "bed" msgstr "Bett" @@ -93826,7 +98152,7 @@ msgstr "" msgid "rrrrip!" msgstr "»Rrrrrratsch!«." -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/furniture_from_json.py msgid "" "A comfortable feather down mattress has been tossed on the floor for " @@ -93861,6 +98187,15 @@ msgstr "" msgid "Stores books. Y'know, those things. Who reads books anymore?" msgstr "" +#: lang/json/furniture_from_json.py +msgid "entertainment center" +msgstr "" + +#. ~ Description for entertainment center +#: lang/json/furniture_from_json.py +msgid "Stores audio visual equipment, books and collectible." +msgstr "" + #: lang/json/furniture_from_json.py msgid "coffin" msgstr "Sarg" @@ -93905,6 +98240,21 @@ msgstr "offene Kiste" msgid "What's inside? Look in it!" msgstr "Was ist drinnen? Wirf einen Blick herein!" +#. ~ Description for large cardboard box +#: lang/json/furniture_from_json.py +msgid "" +"A large cardboard box: this could be used to store things, or as a hiding " +"place." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "crumple!" +msgstr "" + +#: lang/json/furniture_from_json.py src/ballistics.cpp +msgid "thud." +msgstr "»Bums«." + #: lang/json/furniture_from_json.py msgid "cupboard" msgstr "Schrank" @@ -94057,6 +98407,27 @@ msgstr "Mülleimer" msgid "One man's trash is another man's dinner." msgstr "" +#: lang/json/furniture_from_json.py +msgid "wardrobe" +msgstr "Kleiderschrank" + +#. ~ Description for wardrobe +#: lang/json/furniture_from_json.py +msgid "A tall piece of furniture - basically a freestanding closet." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "filing cabinet" +msgstr "Aktenschrank" + +#. ~ Description for filing cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " +"locked to protect important information. If you're lucky, there are often " +"keys nearby." +msgstr "" + #: lang/json/furniture_from_json.py msgid "utility shelf" msgstr "" @@ -94075,6 +98446,43 @@ msgstr "Holzfässchen" msgid "A keg made mostly of wood. Holds liquids, preferably alcoholic." msgstr "" +#: lang/json/furniture_from_json.py +msgid "display case" +msgstr "Schaukasten" + +#. ~ Description for display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff fancily and securely." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "broken display case" +msgstr "zerbrochener Schaukasten." + +#. ~ Description for broken display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff. It'll get stolen." +msgstr "Stell deine Gegenstände aus. Sie werden gestohlen werden." + +#: lang/json/furniture_from_json.py +msgid "standing tank" +msgstr "Stehtank" + +#. ~ Description for standing tank +#: lang/json/furniture_from_json.py +msgid "A large freestanding metal tank, useful for holding liquids." +msgstr "" +"Ein großer freistehender Metalltank für das Aufbewahren von Flüssigkeiten." + +#: lang/json/furniture_from_json.py +msgid "dumpster" +msgstr "Müllcontainer" + +#. ~ Description for dumpster +#: lang/json/furniture_from_json.py +msgid "Stores trash. Doesn't get picked up anymore. Note the smell." +msgstr "" + #: lang/json/furniture_from_json.py msgid "counter" msgstr "Theke" @@ -94153,7 +98561,7 @@ msgstr "" #. ~ Description for tourist table #: lang/json/furniture_from_json.py msgid "" -"Small metal folding table, ideal for off-road trips into the wild. Can be " +"Small metal folding table, ideal for off-road trips into the wild. Can be " "used as a workbench in a pinch." msgstr "" @@ -94166,292 +98574,202 @@ msgstr "Tisch" msgid "Sit down when you eat!" msgstr "Setz dich hin, wenn du isst!" +#. ~ Description for table #: lang/json/furniture_from_json.py -msgid "forge" -msgstr "Schmiede" - -#. ~ Description for forge -#: lang/json/furniture_from_json.py -msgid "Metalworking station typically used in combination with an anvil." +msgid "a low table for livingrooms." msgstr "" -"Metallverarbeitungsstation, die üblicherweise in Kombination mit einem " -"Amboss benutzt wird." -#. ~ Description for anvil #: lang/json/furniture_from_json.py -msgid "Used in metalworking." -msgstr "Wird zur Metallverarbeitung benutzt." - -#. ~ Description for still -#: lang/json/furniture_from_json.py -msgid "" -"An essential component for brewing and chemistry that allows for refining " -"liquid mixtures." -msgstr "" -"Eine essentielle Komponente zum Brauen und für Chemie; sie ermöglicht es, " -"Flüssigkeitsmixturen zu raffinieren." +msgid "tatami mat" +msgstr "Tatami-Matte" -#. ~ Description for charcoal kiln -#. ~ Description for filled charcoal kiln +#. ~ Description for tatami mat #: lang/json/furniture_from_json.py msgid "" -"A rock kiln designed to burn wood and organic material into charcoal in " -"absence of oxygen." +"A tatami is a type of mat used as a flooring material in traditional " +"Japanese-style rooms." msgstr "" -"Ein Steinofen, der für das Brennen von Holz und organischem Material zu " -"Holzkohle in Abwesenheit von Sauerstoff ausgelegt ist." #: lang/json/furniture_from_json.py -msgid "metal charcoal kiln" -msgstr "Metallholzkohleofen" +msgid "pillow fort" +msgstr "Kissenburg" -#. ~ Description for metal charcoal kiln -#. ~ Description for filled metal charcoal kiln +#. ~ Description for pillow fort #: lang/json/furniture_from_json.py -msgid "" -"A metal kiln designed to burn wood and organic material into charcoal in " -"absence of oxygen." +msgid "A comfy place to hide from the world. Not very defensible, though." msgstr "" -"Ein Metallofen, der für das Brennen von Holz und organischem Material zu " -"Holzkohle in Abwesenheit von Sauerstoff ausgelegt ist." #: lang/json/furniture_from_json.py -msgid "filled metal charcoal kiln" -msgstr "gefüllter Metallholzkohleofen" - -#. ~ Description for arc furnace -#. ~ Description for filled arc furnace -#: lang/json/furniture_from_json.py -msgid "" -"An arc furnace designed to burn a powdery mix of coke and limestone to " -"create calcium carbide." -msgstr "" +msgid "paf!" +msgstr "»Paff.«." #: lang/json/furniture_from_json.py -msgid "filled arc furnace" +msgid "cardboard fort" msgstr "" -#: lang/json/furniture_from_json.py -msgid "smoking rack" -msgstr "Räuchergestell" - -#. ~ Description for smoking rack -#. ~ Description for metal smoking rack -#. ~ Description for active metal smoking rack +#. ~ Description for cardboard fort #: lang/json/furniture_from_json.py msgid "" -"A special rack designed to smoke food for better preservation and taste." +"A fort built by tipping a cardboard box on its side, lining it with " +"blankets, and partly weather sealing it with a plastic sheet." msgstr "" -"Ein spezielles Gestell, dass für das Räuchern von Nahrung für bessere " -"Haltbarkeit und besseren Geschmack ausgelegt ist." #: lang/json/furniture_from_json.py -msgid "active smoking rack" -msgstr "aktives Räuchergestell" +msgid "cardboard wall" +msgstr "" -#. ~ Description for active smoking rack +#. ~ Description for cardboard wall #: lang/json/furniture_from_json.py msgid "" -"A special rack designed to smoke food for better preservation and taste. It" -" is lit and smoking." +"This is a pile of cardboard boxes that have been filled with rags and junk " +"and stacked together like bricks to form a wall." msgstr "" -"Ein spezielles Gestell, welches für das Räuchern und Trocknen von Nahrung " -"ausgelegt ist. Erhöht die Haltbarkeit und verbessert den Geschmack. Dieses " -"wurde angezündet und raucht vor sich hin." #: lang/json/furniture_from_json.py -msgid "active metal smoking rack" +msgid "beaded curtain" msgstr "" +#. ~ Description for beaded curtain #: lang/json/furniture_from_json.py -msgid "rock forge" -msgstr "Steinschmiede" - -#. ~ Description for rock forge -#: lang/json/furniture_from_json.py -msgid "" -"Metalworking station made of rock, typically used in combination with an " -"anvil." +msgid "This beaded curtain could be pulled aside." msgstr "" -"Eine aus Stein hergestellte Metallverarbeitungsstation, die üblicherweise in" -" Kombination mit einem Amboss benutzt wird." #: lang/json/furniture_from_json.py -msgid "clay kiln" -msgstr "Tonbrennofen" +msgid "clickity clack… clack… clack" +msgstr "" -#. ~ Description for clay kiln #: lang/json/furniture_from_json.py -msgid "A kiln designed to bake clay pottery and bricks." -msgstr "Ein Ofen, der Tonwaren und Ziegel brennen kann." +msgid "clickity clack… clack" +msgstr "" -#. ~ Description for stepladder #: lang/json/furniture_from_json.py -msgid "" -"A short, foldable ladder. Can help you climb to a rooftop, or maybe slow " -"something down." +msgid "open beaded curtain" msgstr "" +#. ~ Description for open beaded curtain #: lang/json/furniture_from_json.py -msgid "electric arc furnace" +msgid "This beaded curtain has been pulled aside." msgstr "" -#. ~ Description for electric arc furnace #: lang/json/furniture_from_json.py -msgid "" -"Not the kind of furnace you'd heat your house with, this is a device for " -"heating things to extreme temperatures as part of industrial fabrication " -"processes." +msgid "clickity clack… clack… clack!" msgstr "" #: lang/json/furniture_from_json.py -msgid "drill press" -msgstr "" +msgid "canvas floor" +msgstr "Zeltboden" -#. ~ Description for drill press +#. ~ Description for canvas floor #: lang/json/furniture_from_json.py msgid "" -"A powerful drill mounted on a slide that lets it drop precisely down. " -"Useful in all kinds of projects from industrial fabrication to home " -"woodworking." +"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " +"of the tent." msgstr "" #: lang/json/furniture_from_json.py -msgid "tablesaw" -msgstr "" +msgid "canvas wall" +msgstr "Zelttuch" -#. ~ Description for tablesaw +#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "" -"A rotating saw blade set into a large flat table, for making straight " -"measured cuts. One of the key tools in a carpenter's arsenal." +msgid "A wall made of stretched, waterproof cloth." msgstr "" -#: lang/json/furniture_from_json.py -msgid "mitre saw" -msgstr "" +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "slap!" +msgstr "»Patsch!«." -#. ~ Description for mitre saw +#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "" -"A circular saw blade on an arm that can slide and rotate in several " -"directions, this is a staple tool for nearly any carpentry." +msgid "A wall made of stretched, heavy-duty, waterproof cloth." msgstr "" #: lang/json/furniture_from_json.py -msgid "bandsaw" -msgstr "" +msgid "canvas flap" +msgstr "Zeltklappe" -#. ~ Description for bandsaw +#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "" -"A ribbonlike sawblade runs in a single direction in this tool, allowing " -"precise cuts at almost any angle." +msgid "This canvas flap door could be pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "router table" -msgstr "" +msgid "open canvas flap" +msgstr "offene Zeltklappe" -#. ~ Description for router table +#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "" -"This table has an inset router, a rotating motor with an exchangeable blade " -"head for cutting specific profiles and grooves and stuff." +msgid "This canvas flap door has been pulled aside." msgstr "" +#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "planer" +msgid "This heavy canvas flap door could be pulled aside." msgstr "" -#. ~ Description for planer +#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "" -"A hefty tool that will take in a board and cut it smooth and flat to a " -"specific width. Particularly great if working with raw lumber stock, but " -"also good just for shaving wood down to size." +msgid "This heavy canvas flap door has been pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "jointer" -msgstr "" +msgid "groundsheet" +msgstr "Unterlegplane" -#. ~ Description for jointer +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "" -"A table-shaped tool with a rotating blade that will cut down, smooth out, " -"and square off a board to make it very smooth and nice indeed." +msgid "This plastic groundsheet could keep you dry." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "hydraulic press" -msgstr "hydraulische Presse" - -#. ~ Description for hydraulic press +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "" -"If you really want to squash something a lot, this would be exactly the " -"right industrial tool for you. If, you know, it had power." +msgid "This large plastic groundsheet could keep you dry." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "power lathe" -msgstr "Drehmaschine" - -#. ~ Description for power lathe +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py msgid "" -"An industrial-grade lathe, for turning chunks of metal and other hard things" -" into round chunks of metal and other hard things." +"This plastic government-issue groundsheet could keep you dry, but was made " +"by the lowest bidder." msgstr "" #: lang/json/furniture_from_json.py -msgid "air compressor" -msgstr "" +msgid "animalskin wall" +msgstr "Tierhaut-Wand" -#. ~ Description for air compressor +#. ~ Description for animalskin wall #: lang/json/furniture_from_json.py -msgid "" -"This durable tank is topped with a motor that will cram as much air into the" -" tank as possible." +msgid "Wall made out of animal skin. Either an amazing or horrifying sight." msgstr "" +"Eine Wand, die aus Tierhaut gemacht wurde. Entweder ein großartiger oder ein" +" furchterregender Anblick." #: lang/json/furniture_from_json.py -msgid "fermenting vat" -msgstr "Gärbottich" +msgid "animalskin flap" +msgstr "Tierhaut-Klappe" -#. ~ Description for fermenting vat -#. ~ Description for filled fermenting vat +#. ~ Description for animalskin flap #: lang/json/furniture_from_json.py -msgid "A sealable vat for fermenting vinegar and various alcoholic brews." +msgid "This animal skin flap could be pulled aside." msgstr "" -"Ein verschließbarer Bottich zur Fermentierung von Essig und diversen " -"alkoholischen Gebräuen." #: lang/json/furniture_from_json.py -msgid "filled fermenting vat" -msgstr "gefüllter Gärbottich" +msgid "open animalskin flap" +msgstr "offene Tierhaut-Klappe" +#. ~ Description for open animalskin flap #: lang/json/furniture_from_json.py -msgid "butchering rack" -msgstr "Schlachtgestell" +msgid "This animal skin flap has been pulled aside." +msgstr "" -#. ~ Description for butchering rack #: lang/json/furniture_from_json.py -msgid "Butchering rack designed to hang a carcass in the air." -msgstr "" -"Schlachtgestell, so gebaut, dass man einen Kadaver in der Luft aufhängen " -"kann." +msgid "animalskin floor" +msgstr "Tierhaut-Boden" -#. ~ Description for metal butchering rack +#. ~ Description for animalskin floor #: lang/json/furniture_from_json.py -msgid "" -"Metal butchering rack designed to hang a carcass in the air. It can be " -"deconstructed and folded for easy transportation." +msgid "This animal skin groundsheet could keep you dry." msgstr "" -"Schlachtgestell, so gebaut, dass man einen Kadaver in der Luft aufhängen " -"kann. Es kann demontiert und für einen leichten Transport zusammengeklappt " -"werden." #: lang/json/furniture_from_json.py msgid "pile of rubble" @@ -94482,8 +98800,7 @@ msgstr "mülliger Dreckshaufen" #. ~ Description for pile of trashy rubble #: lang/json/furniture_from_json.py msgid "" -"Trash topped with dirt and grass, it smells gross, but another man's " -"trash..." +"Trash topped with dirt and grass, it smells gross, but another man's trash…" msgstr "" #: lang/json/furniture_from_json.py @@ -94505,470 +98822,334 @@ msgid "Some ash, from wood or possibly bodies." msgstr "Etwas Asche, aus Holz oder möglicherweise Körpern." #: lang/json/furniture_from_json.py -msgid "bulletin board" -msgstr "Pinnwand" +msgid "small boulder" +msgstr "kleiner Felsbrocken" -#. ~ Description for bulletin board +#. ~ Description for small boulder #: lang/json/furniture_from_json.py msgid "" -"A big, cork bulletin board capable of sporting various notices. Pin some " -"notes for other survivors to read." +"Blocking your path. Should be easy to move. It can be used as a primitive " +"anvil." msgstr "" +"Steht im Weg. Es sollte leicht sein, ihn zu verschieben. Er könnte als " +"primitiver Amboss benutzt werden." #: lang/json/furniture_from_json.py -msgid "sign" -msgstr "Schild" - -#. ~ Description for sign -#: lang/json/furniture_from_json.py -msgid "Read it. Warnings ahead." -msgstr "Lies es. Warnungen stehen bevor." - -#: lang/json/furniture_from_json.py -msgid "warning sign" -msgstr "" +msgid "medium boulder" +msgstr "mittelgroßer Felsbrocken" -#. ~ Description for warning sign +#. ~ Description for medium boulder #: lang/json/furniture_from_json.py msgid "" -"A triangle-shaped sign on a post meant to indicate something important or " -"hazard." +"Blocking your path. It'll be a struggle to move. It can be used as a " +"primitive anvil." msgstr "" +"Steht im Weg. Es ist schwierig, ihn zu bewegen. Er könnte als primitiver " +"Amboss benutzt werden." #: lang/json/furniture_from_json.py -msgid "standing mirror" -msgstr "Standspiegel" - -#. ~ Description for standing mirror -#: lang/json/furniture_from_json.py -msgid "Lookin' good - is that blood?" -msgstr "" +msgid "large boulder" +msgstr "großer Felsbrocken" +#. ~ Description for large boulder #: lang/json/furniture_from_json.py -msgid "glass breaking" -msgstr "Glas zerbrechen." +msgid "Now how are you going to move this?" +msgstr "Tja, ob du ihn wohl bewegen kannst?" #: lang/json/furniture_from_json.py -msgid "broken standing mirror" -msgstr "zerbrochener Standspiegel" +msgid "forge" +msgstr "Schmiede" -#. ~ Description for broken standing mirror +#. ~ Description for forge #: lang/json/furniture_from_json.py -msgid "" -"You could look at yourself, if the mirror wasn't covered in cracks and " -"fractures." +msgid "Metalworking station typically used in combination with an anvil." msgstr "" -"Du könntest dich selbst betrachten, wenn der Spiegel nur nicht voller Risse " -"und Frakturen wäre." - -#: lang/json/furniture_from_json.py -msgid "vending machine" -msgstr "Verkaufsautomat" - -#. ~ Description for vending machine -#: lang/json/furniture_from_json.py -msgid "Buy stuff with a cash card." -msgstr "Kauf dir Zeugs mit einer Geldkarte." +"Metallverarbeitungsstation, die üblicherweise in Kombination mit einem " +"Amboss benutzt wird." +#. ~ Description for anvil #: lang/json/furniture_from_json.py -msgid "broken vending machine" -msgstr "kaputter Verkaufsautomat" +msgid "Used in metalworking." +msgstr "Wird zur Metallverarbeitung benutzt." -#. ~ Description for broken vending machine +#. ~ Description for still #: lang/json/furniture_from_json.py msgid "" -"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " -"you wouldn't need to pay at all!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "dumpster" -msgstr "Müllcontainer" - -#. ~ Description for dumpster -#: lang/json/furniture_from_json.py -msgid "Stores trash. Doesn't get picked up anymore. Note the smell." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "canvas wall" -msgstr "Zelttuch" - -#. ~ Description for canvas wall -#: lang/json/furniture_from_json.py -msgid "A wall made of stretched, waterproof cloth." +"An essential component for brewing and chemistry that allows for refining " +"liquid mixtures." msgstr "" +"Eine essentielle Komponente zum Brauen und für Chemie; sie ermöglicht es, " +"Flüssigkeitsmixturen zu raffinieren." -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "slap!" -msgstr "»Patsch!«." - -#. ~ Description for canvas wall +#. ~ Description for charcoal kiln +#. ~ Description for filled charcoal kiln #: lang/json/furniture_from_json.py -msgid "A wall made of stretched, heavy-duty, waterproof cloth." +msgid "" +"A rock kiln designed to burn wood and organic material into charcoal in " +"absence of oxygen." msgstr "" +"Ein Steinofen, der für das Brennen von Holz und organischem Material zu " +"Holzkohle in Abwesenheit von Sauerstoff ausgelegt ist." #: lang/json/furniture_from_json.py -msgid "canvas flap" -msgstr "Zeltklappe" +msgid "metal charcoal kiln" +msgstr "Metallholzkohleofen" -#. ~ Description for canvas flap +#. ~ Description for metal charcoal kiln +#. ~ Description for filled metal charcoal kiln #: lang/json/furniture_from_json.py -msgid "This canvas flap door could be pulled aside." +msgid "" +"A metal kiln designed to burn wood and organic material into charcoal in " +"absence of oxygen." msgstr "" +"Ein Metallofen, der für das Brennen von Holz und organischem Material zu " +"Holzkohle in Abwesenheit von Sauerstoff ausgelegt ist." #: lang/json/furniture_from_json.py -msgid "open canvas flap" -msgstr "offene Zeltklappe" - -#. ~ Description for open canvas flap -#: lang/json/furniture_from_json.py -msgid "This canvas flap door has been pulled aside." -msgstr "" +msgid "filled metal charcoal kiln" +msgstr "gefüllter Metallholzkohleofen" -#. ~ Description for canvas flap +#. ~ Description for arc furnace +#. ~ Description for filled arc furnace #: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door could be pulled aside." +msgid "" +"An arc furnace designed to burn a powdery mix of coke and limestone to " +"create calcium carbide." msgstr "" -#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door has been pulled aside." +msgid "filled arc furnace" msgstr "" #: lang/json/furniture_from_json.py -msgid "groundsheet" -msgstr "Unterlegplane" +msgid "smoking rack" +msgstr "Räuchergestell" -#. ~ Description for groundsheet +#. ~ Description for smoking rack +#. ~ Description for metal smoking rack +#. ~ Description for active metal smoking rack #: lang/json/furniture_from_json.py -msgid "This plastic groundsheet could keep you dry." +msgid "" +"A special rack designed to smoke food for better preservation and taste." msgstr "" +"Ein spezielles Gestell, dass für das Räuchern von Nahrung für bessere " +"Haltbarkeit und besseren Geschmack ausgelegt ist." -#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "This large plastic groundsheet could keep you dry." -msgstr "" +msgid "active smoking rack" +msgstr "aktives Räuchergestell" -#. ~ Description for groundsheet +#. ~ Description for active smoking rack #: lang/json/furniture_from_json.py msgid "" -"This plastic government-issue groundsheet could keep you dry, but was made " -"by the lowest bidder." +"A special rack designed to smoke food for better preservation and taste. It" +" is lit and smoking." msgstr "" +"Ein spezielles Gestell, welches für das Räuchern und Trocknen von Nahrung " +"ausgelegt ist. Erhöht die Haltbarkeit und verbessert den Geschmack. Dieses " +"wurde angezündet und raucht vor sich hin." #: lang/json/furniture_from_json.py -msgid "animalskin wall" -msgstr "Tierhaut-Wand" - -#. ~ Description for animalskin wall -#: lang/json/furniture_from_json.py -msgid "Wall made out of animal skin. Either an amazing or horrifying sight." +msgid "active metal smoking rack" msgstr "" -"Eine Wand, die aus Tierhaut gemacht wurde. Entweder ein großartiger oder ein" -" furchterregender Anblick." #: lang/json/furniture_from_json.py -msgid "animalskin flap" -msgstr "Tierhaut-Klappe" +msgid "rock forge" +msgstr "Steinschmiede" -#. ~ Description for animalskin flap +#. ~ Description for rock forge #: lang/json/furniture_from_json.py -msgid "This animal skin flap could be pulled aside." +msgid "" +"Metalworking station made of rock, typically used in combination with an " +"anvil." msgstr "" +"Eine aus Stein hergestellte Metallverarbeitungsstation, die üblicherweise in" +" Kombination mit einem Amboss benutzt wird." #: lang/json/furniture_from_json.py -msgid "open animalskin flap" -msgstr "offene Tierhaut-Klappe" - -#. ~ Description for open animalskin flap -#: lang/json/furniture_from_json.py -msgid "This animal skin flap has been pulled aside." -msgstr "" +msgid "clay kiln" +msgstr "Tonbrennofen" +#. ~ Description for clay kiln #: lang/json/furniture_from_json.py -msgid "animalskin floor" -msgstr "Tierhaut-Boden" +msgid "A kiln designed to bake clay pottery and bricks." +msgstr "Ein Ofen, der Tonwaren und Ziegel brennen kann." -#. ~ Description for animalskin floor +#. ~ Description for stepladder #: lang/json/furniture_from_json.py -msgid "This animal skin groundsheet could keep you dry." +msgid "" +"A short, foldable ladder. Can help you climb to a rooftop, or maybe slow " +"something down." msgstr "" #: lang/json/furniture_from_json.py -msgid "statue" -msgstr "Statue" - -#. ~ Description for statue -#: lang/json/furniture_from_json.py -msgid "A carved statue made of stone." +msgid "electric arc furnace" msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "thump." -msgstr "»Bums.«." - -#: lang/json/furniture_from_json.py -msgid "mannequin" -msgstr "Mannequin" - -#. ~ Description for mannequin +#. ~ Description for electric arc furnace #: lang/json/furniture_from_json.py msgid "" -"Put clothes on it, talk to it. Who's around to judge you? Wait... did it " -"just move?" +"Not the kind of furnace you'd heat your house with, this is a device for " +"heating things to extreme temperatures as part of industrial fabrication " +"processes." msgstr "" #: lang/json/furniture_from_json.py -msgid "birdbath" -msgstr "" - -#. ~ Description for birdbath -#: lang/json/furniture_from_json.py -msgid "A decorative cement birdbath and pedestal." +msgid "drill press" msgstr "" +#. ~ Description for drill press #: lang/json/furniture_from_json.py -msgid "rotary clothes dryer line" +msgid "" +"A powerful drill mounted on a slide that lets it drop precisely down. " +"Useful in all kinds of projects from industrial fabrication to home " +"woodworking." msgstr "" -#. ~ Description for rotary clothes dryer line #: lang/json/furniture_from_json.py -msgid "A umbrella shaped clothes line mounted on a pole." +msgid "tablesaw" msgstr "" +#. ~ Description for tablesaw #: lang/json/furniture_from_json.py -msgid "mounted solar panel" +msgid "" +"A rotating saw blade set into a large flat table, for making straight " +"measured cuts. One of the key tools in a carpenter's arsenal." msgstr "" -#. ~ Description for mounted solar panel #: lang/json/furniture_from_json.py -msgid "A mounted solar panel." +msgid "mitre saw" msgstr "" -#: lang/json/furniture_from_json.py -msgid "spider egg sack" -msgstr "Spinneneiernest" - -#. ~ Description for spider egg sack +#. ~ Description for mitre saw #: lang/json/furniture_from_json.py msgid "" -"Much too large, off-white egg sack. Kind of icky. Something IS moving in " -"there." +"A circular saw blade on an arm that can slide and rotate in several " +"directions, this is a staple tool for nearly any carpentry." msgstr "" -#. ~ Description for spider egg sack #: lang/json/furniture_from_json.py -msgid "" -"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " -"in there." +msgid "bandsaw" msgstr "" -#. ~ Description for spider egg sack +#. ~ Description for bandsaw #: lang/json/furniture_from_json.py msgid "" -"A horrifyingly oversized egg sack. Something IS moving in there. If you're" -" seeing this, you're already too close to it." +"A ribbonlike sawblade runs in a single direction in this tool, allowing " +"precise cuts at almost any angle." msgstr "" #: lang/json/furniture_from_json.py -msgid "ruptured egg sack" -msgstr "geplündertes Eiernest" - -#. ~ Description for ruptured egg sack -#: lang/json/furniture_from_json.py -msgid "Super icky. Spider stuff's spilling out." +msgid "router table" msgstr "" -#: lang/json/furniture_from_json.py -msgid "reinforced vending machine" -msgstr "verstärkter Verkaufsautomat" - -#. ~ Description for reinforced vending machine +#. ~ Description for router table #: lang/json/furniture_from_json.py msgid "" -"A bit tougher to crack open than regular vending machines. That just makes " -"it all the sweeter a target, doesn't it?" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "display case" -msgstr "Schaukasten" - -#. ~ Description for display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff fancily and securely." +"This table has an inset router, a rotating motor with an exchangeable blade " +"head for cutting specific profiles and grooves and stuff." msgstr "" #: lang/json/furniture_from_json.py -msgid "broken display case" -msgstr "zerbrochener Schaukasten." - -#. ~ Description for broken display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff. It'll get stolen." -msgstr "Stell deine Gegenstände aus. Sie werden gestohlen werden." - -#: lang/json/furniture_from_json.py -msgid "standing tank" -msgstr "Stehtank" - -#. ~ Description for standing tank -#: lang/json/furniture_from_json.py -msgid "A large freestanding metal tank, useful for holding liquids." +msgid "planer" msgstr "" -"Ein großer freistehender Metalltank für das Aufbewahren von Flüssigkeiten." -#: lang/json/furniture_from_json.py -msgid "canvas floor" -msgstr "Zeltboden" - -#. ~ Description for canvas floor +#. ~ Description for planer #: lang/json/furniture_from_json.py msgid "" -"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " -"of the tent." +"A hefty tool that will take in a board and cut it smooth and flat to a " +"specific width. Particularly great if working with raw lumber stock, but " +"also good just for shaving wood down to size." msgstr "" #: lang/json/furniture_from_json.py -msgid "robotic arm" -msgstr "Roboterarm" +msgid "jointer" +msgstr "" -#. ~ Description for robotic arm +#. ~ Description for jointer #: lang/json/furniture_from_json.py msgid "" -"Automation! Science! Industry! Make a better horse! This robot arm " -"promises to do it all. Except it's currently unpowered. You could remove " -"the casing and retrieve the electronics through disassembly." +"A table-shaped tool with a rotating blade that will cut down, smooth out, " +"and square off a board to make it very smooth and nice indeed." msgstr "" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "thunk." -msgstr "»Donk«." - -#: lang/json/furniture_from_json.py -msgid "automated gas console" -msgstr "automatisierte Benzinkonsole" +msgid "hydraulic press" +msgstr "hydraulische Presse" -#. ~ Description for automated gas console +#. ~ Description for hydraulic press #: lang/json/furniture_from_json.py -msgid "Automated gas flow control console." +msgid "" +"If you really want to squash something a lot, this would be exactly the " +"right industrial tool for you. If, you know, it had power." msgstr "" -#: lang/json/furniture_from_json.py -msgid "broken automated gas console" -msgstr "kaputte automatisierte Benzinkonsole" +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "power lathe" +msgstr "Drehmaschine" -#. ~ Description for broken automated gas console +#. ~ Description for power lathe #: lang/json/furniture_from_json.py msgid "" -"Automated gas flow control console. Broken. This is not a good thing." +"An industrial-grade lathe, for turning chunks of metal and other hard things" +" into round chunks of metal and other hard things." msgstr "" #: lang/json/furniture_from_json.py -msgid "small boulder" -msgstr "kleiner Felsbrocken" +msgid "air compressor" +msgstr "" -#. ~ Description for small boulder +#. ~ Description for air compressor #: lang/json/furniture_from_json.py msgid "" -"Blocking your path. Should be easy to move. It can be used as a primitive " -"anvil." +"This durable tank is topped with a motor that will cram as much air into the" +" tank as possible." msgstr "" -"Steht im Weg. Es sollte leicht sein, ihn zu verschieben. Er könnte als " -"primitiver Amboss benutzt werden." #: lang/json/furniture_from_json.py -msgid "medium boulder" -msgstr "mittelgroßer Felsbrocken" +msgid "fermenting vat" +msgstr "Gärbottich" -#. ~ Description for medium boulder +#. ~ Description for fermenting vat +#. ~ Description for filled fermenting vat #: lang/json/furniture_from_json.py -msgid "" -"Blocking your path. It'll be a struggle to move. It can be used as a " -"primitive anvil." +msgid "A sealable vat for fermenting vinegar and various alcoholic brews." msgstr "" -"Steht im Weg. Es ist schwierig, ihn zu bewegen. Er könnte als primitiver " -"Amboss benutzt werden." - -#: lang/json/furniture_from_json.py -msgid "large boulder" -msgstr "großer Felsbrocken" +"Ein verschließbarer Bottich zur Fermentierung von Essig und diversen " +"alkoholischen Gebräuen." -#. ~ Description for large boulder #: lang/json/furniture_from_json.py -msgid "Now how are you going to move this?" -msgstr "Tja, ob du ihn wohl bewegen kannst?" +msgid "filled fermenting vat" +msgstr "gefüllter Gärbottich" #: lang/json/furniture_from_json.py -msgid "stone slab" -msgstr "Steinplatte" +msgid "butchering rack" +msgstr "Schlachtgestell" -#. ~ Description for stone slab +#. ~ Description for butchering rack #: lang/json/furniture_from_json.py -msgid "A flat slab of heavy stone." +msgid "Butchering rack designed to hang a carcass in the air." msgstr "" +"Schlachtgestell, so gebaut, dass man einen Kadaver in der Luft aufhängen " +"kann." -#: lang/json/furniture_from_json.py -msgid "manacles" -msgstr "Handschellen" - -#. ~ Description for manacles +#. ~ Description for metal butchering rack #: lang/json/furniture_from_json.py msgid "" -"Chain serfs in your dungeon. All you need now is an iron ball to chain to " -"it." +"Metal butchering rack designed to hang a carcass in the air. It can be " +"deconstructed and folded for easy transportation." msgstr "" +"Schlachtgestell, so gebaut, dass man einen Kadaver in der Luft aufhängen " +"kann. Es kann demontiert und für einen leichten Transport zusammengeklappt " +"werden." -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "crack." -msgstr "»Knack«." - -#: lang/json/furniture_from_json.py -msgid "headstone" -msgstr "Grabplatte" - -#. ~ Description for headstone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies." -msgstr "Hält die Körper." - -#: lang/json/furniture_from_json.py -msgid "gravestone" -msgstr "Grabstein" - -#. ~ Description for gravestone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies. More fancy." -msgstr "Hält die Körper. Etwas schicker." - -#: lang/json/furniture_from_json.py -msgid "worn gravestone" -msgstr "abgenutzter Grabstein" - -#. ~ Description for worn gravestone -#: lang/json/furniture_from_json.py -msgid "A worn-out gravestone." -msgstr "Ein abgenutzter Grabstein." - -#: lang/json/furniture_from_json.py -msgid "obelisk" -msgstr "Obelisk" - -#. ~ Description for obelisk #: lang/json/furniture_from_json.py -msgid "Monument to pride." +msgid "hanging meathook" msgstr "" +#. ~ Description for hanging meathook #: lang/json/furniture_from_json.py -msgid "thunk!" -msgstr "Donk!" - -#. ~ Description for camp chair -#: lang/json/furniture_from_json.py -msgid "Sit down, have a drink. It can folded for easy transportation." +msgid "A hefty hook suspended from a chain for stringing up corpses." msgstr "" #. ~ Description for wind mill @@ -95006,254 +99187,53 @@ msgid "" msgstr "" #: lang/json/furniture_from_json.py -msgid "pillow fort" -msgstr "Kissenburg" - -#. ~ Description for pillow fort -#: lang/json/furniture_from_json.py -msgid "A comfy place to hide from the world. Not very defensible, though." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "paf!" -msgstr "»Paff.«." - -#: lang/json/furniture_from_json.py -msgid "cardboard fort" -msgstr "" - -#. ~ Description for cardboard fort -#: lang/json/furniture_from_json.py -msgid "" -"A fort built by tipping a cardboard box on its side, lining it with " -"blankets, and partly weather sealing it with a plastic sheet." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "crumple!" -msgstr "" - -#: lang/json/furniture_from_json.py src/ballistics.cpp -msgid "thud." -msgstr "»Bums«." - -#: lang/json/furniture_from_json.py -msgid "cardboard wall" -msgstr "" - -#. ~ Description for cardboard wall -#: lang/json/furniture_from_json.py -msgid "" -"This is a pile of cardboard boxes that have been filled with rags and junk " -"and stacked together like bricks to form a wall." -msgstr "" - -#. ~ Description for large cardboard box -#: lang/json/furniture_from_json.py -msgid "" -"A large cardboard box: this could be used to store things, or as a hiding " -"place." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "beaded curtain" -msgstr "" - -#. ~ Description for beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain could be pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "open beaded curtain" -msgstr "" - -#. ~ Description for open beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain has been pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "filing cabinet" -msgstr "Aktenschrank" - -#. ~ Description for filing cabinet -#: lang/json/furniture_from_json.py -msgid "" -"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " -"locked to protect important information. If you're lucky, there are often " -"keys nearby." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "wardrobe" -msgstr "Kleiderschrank" - -#. ~ Description for wardrobe -#: lang/json/furniture_from_json.py -msgid "A tall piece of furniture - basically a freestanding closet." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "robotic assembler" -msgstr "Robotermonteur" - -#. ~ Description for robotic assembler -#: lang/json/furniture_from_json.py -msgid "" -"A durable and versatile robotic arm with a tool fitted to the end, for " -"working on an assembly line." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "chemical mixer" -msgstr "Chemiemischer" - -#. ~ Description for chemical mixer -#: lang/json/furniture_from_json.py -msgid "" -"When chemicals need to be mixed in large quantities at just the right " -"combinations and temperatures, this is the tool for the job." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "floor lamp" -msgstr "" - -#. ~ Description for floor lamp -#: lang/json/furniture_from_json.py -msgid "A tall standing lamp, meant to plug into a wall and light up a room." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "bonk!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "document shredder" -msgstr "" - -#. ~ Description for document shredder -#: lang/json/furniture_from_json.py -msgid "" -"It's not all about hiding government secrets, sometimes you just want to " -"stop identity theft." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "server stack" -msgstr "" - -#. ~ Description for server stack -#: lang/json/furniture_from_json.py -msgid "This is a big pile of computers. They're all turned off." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "large satellite dish" -msgstr "" - -#. ~ Description for large satellite dish -#: lang/json/furniture_from_json.py -msgid "" -"Somewhere up there, there are still satellites, orbiting and doing their " -"thing, sending signals down to an Earth that is no longer listening." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "hanging meathook" -msgstr "" - -#. ~ Description for hanging meathook -#: lang/json/furniture_from_json.py -msgid "A hefty hook suspended from a chain for stringing up corpses." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "fake workbench hands" -msgstr "" - -#. ~ Description for fake workbench hands -#: lang/json/furniture_from_json.py -msgid "This fake workbench holds the stats for working on a wielded item." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "ground crafting spot" -msgstr "" +msgid "automated gas console" +msgstr "automatisierte Benzinkonsole" -#. ~ Description for ground crafting spot +#. ~ Description for automated gas console #: lang/json/furniture_from_json.py -msgid "" -"A cleared spot on the ground for crafting. Slower than using a workbench or" -" holding a project in your hands, but readily available." +msgid "Automated gas flow control console." msgstr "" #: lang/json/furniture_from_json.py -msgid "tatami mat" -msgstr "Tatami-Matte" +msgid "broken automated gas console" +msgstr "kaputte automatisierte Benzinkonsole" -#. ~ Description for tatami mat +#. ~ Description for broken automated gas console #: lang/json/furniture_from_json.py msgid "" -"A tatami is a type of mat used as a flooring material in traditional " -"Japanese-style rooms." +"Automated gas flow control console. Broken. This is not a good thing." msgstr "" #: lang/json/furniture_from_json.py -msgid "bitts" -msgstr "" +msgid "reinforced vending machine" +msgstr "verstärkter Verkaufsautomat" -#. ~ Description for bitts +#. ~ Description for reinforced vending machine #: lang/json/furniture_from_json.py msgid "" -"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " -"to secure mooring lines, ropes, hawsers, or cables." +"A bit tougher to crack open than regular vending machines. That just makes " +"it all the sweeter a target, doesn't it?" msgstr "" #: lang/json/furniture_from_json.py -msgid "speaker cabinet" -msgstr "" +msgid "vending machine" +msgstr "Verkaufsautomat" -#. ~ Description for speaker cabinet +#. ~ Description for vending machine #: lang/json/furniture_from_json.py -msgid "" -"A cabinet loaded with 12-inch speakers, intended to help make various things" -" loud. It can't serve its original purpose these days, but it could be " -"disassembled for various electronic parts." -msgstr "" +msgid "Buy stuff with a cash card." +msgstr "Kauf dir Zeugs mit einer Geldkarte." -#. ~ Description for seeing this is a bug #: lang/json/furniture_from_json.py -msgid "Seeing this is a bug. If seen, please report and destroy." -msgstr "" +msgid "broken vending machine" +msgstr "kaputter Verkaufsautomat" -#. ~ Description for swamp gas +#. ~ Description for broken vending machine #: lang/json/furniture_from_json.py msgid "" -"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " -"toxic gas." -msgstr "" - -#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp -msgid "splash!" -msgstr "»Platsch!«." - -#. ~ Description for fog -#: lang/json/furniture_from_json.py -msgid "This is a misty cloud of fog." +"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " +"you wouldn't need to pay at all!" msgstr "" #. ~ Description for vehicle refrigerator @@ -95354,6 +99334,15 @@ msgid "" "blood, candles, and other small knick-knacks." msgstr "" +#: lang/json/furniture_from_json.py +msgid "large glowing boulder" +msgstr "" + +#. ~ Description for large glowing boulder +#: lang/json/furniture_from_json.py +msgid "Something about this doesn't look right." +msgstr "" + #: lang/json/furniture_from_json.py msgid "krash!" msgstr "knirsch!" @@ -95383,8 +99372,8 @@ msgstr "Das Tor ist geöffnet!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You turn the handle..." -msgstr "Du drehst den Griff." +msgid "You turn the handle…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -95403,8 +99392,8 @@ msgstr "Die Scheunentore öffneten sich!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You pull the rope..." -msgstr "Du ziehst das Seil." +msgid "You pull the rope…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -95438,8 +99427,8 @@ msgstr "Die Türe erhebt sich!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You throw the lever..." -msgstr "Du betätigst den Hebel …" +msgid "You throw the lever…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -95562,7 +99551,7 @@ msgid "Fake gun that fires acid globs." msgstr "Fake-Gewehr, welches Säureklumpen feuert." #: lang/json/gun_from_json.py lang/json/gunmod_from_json.py -#: src/item_factory.cpp src/turret.cpp +#: src/item_factory.cpp msgid "auto" msgstr "automatisch" @@ -95634,12 +99623,8 @@ msgstr[1] "Primitiv-Bögen" msgid "" "A primitive bow fashioned from a single piece of wood, made specifically for" " the person using it. Weak and wildly inaccurate, it doesn't work that " -"well, unfortunately..." +"well, unfortunately…" msgstr "" -"Ein primitiver, aus einem einzigen Holzstück hergestellter Bogen, der " -"speziell für die ihn verwendende Person angefertigt wurde. Schwach, " -"wahnsinnig ungenau und funktioniert unglücklicherweise zudem nicht " -"sonderlich gut..." #: lang/json/gun_from_json.py msgid "short bow" @@ -95865,9 +99850,7 @@ msgstr "" "ist. Von dieser Waffe abgefeuerte Bolzen haben eine gute Chance, für die " "Wiederverwendung intakt zu bleiben." -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "pistol" msgstr "Pistole" @@ -96178,10 +100161,10 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "Portable Plasma Accelerator Model Five, developed by Lockheed Martin " -"Corporation. This device uses highly advanced capacitor banks to create a " -"torus of superheated hydrogen plasma and accelerate it to incredible speed. " -"It was designed to take down heavy vehicles, and was expected to fully enter" -" US Army service not long before the Cataclysm." +"Corporation. This device uses highly advanced capacitor banks to create a " +"torus of superheated hydrogen plasma and accelerate it to incredible speed." +" It was designed to take down heavy vehicles, and was expected to fully " +"enter US Army service not long before the Cataclysm." msgstr "" #: lang/json/gun_from_json.py @@ -96200,8 +100183,7 @@ msgstr "" " anderen für Schrotmunition. Sie wurde aus Rohren und Teilen, die aus einer " "doppelläufigen Flinte ausgeschlachtet wurden, gebaut." -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py msgctxt "gun_type_type" msgid "shotgun" msgstr "Schrotflinte" @@ -96712,8 +100694,8 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"The Walther P22 is a blowback operated semi-automatic pistol. It is about " -"half the size of most Walthers. It is made mostly with plastic, with the " +"The Walther P22 is a blowback operated semi-automatic pistol. It is about " +"half the size of most Walthers. It is made mostly with plastic, with the " "slide and key components being made of die-cast zinc alloy" msgstr "" @@ -97468,16 +101450,10 @@ msgstr[1] "M24" msgid "" "The M24 Sniper is the military and police version of the Remington Model 700" " rifle, M24 being the model name assigned by the United States Army after " -"adoption as their standard sniper rifle in 1988. The M24 is referred to as a" -" 'weapon system' because it consists of not only a rifle, but also a " +"adoption as their standard sniper rifle in 1988. The M24 is referred to as " +"a 'weapon system' because it consists of not only a rifle, but also a " "detachable telescopic sight and other accessories." msgstr "" -"Die M24 Sniper ist die Militär- und Polizeivariante des Gewehrs Remington " -"Model 700. »M24« ist der von der Armee der Vereinigten Staaten vergebene " -"Modellname nach der Übernahme als ihr Standardscharfschützengewehr im Jahre " -"1988. Die M24 wird als »Waffensystem« bezeichnet, da sie nicht nur aus einem" -" Gewehr, sondern auch aus einem abnehmbaren Zielfernrohr und anderen " -"Ausstattungen besteht." #: lang/json/gun_from_json.py msgid "HK417 A2" @@ -97570,7 +101546,7 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "One of Kel-tec's oldest designs, the P32 is a popular option for deep " -"concealment and backup usage. Despite its extreme light weight and small " +"concealment and backup usage. Despite its extreme light weight and small " "size, its .32 ACP chambering makes for good handling and recoil control." msgstr "" @@ -97647,20 +101623,17 @@ msgstr "" "auseinanderfällt." #: lang/json/gun_from_json.py -msgid "COP .38" -msgid_plural "COP .38" -msgstr[0] "COP .38" -msgstr[1] "COP .38" +msgid "COP .357 Derringer" +msgid_plural "COP .357 Derringers" +msgstr[0] "" +msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"The COP .38 is a small, chubby derringer pistol that bears a slight " -"resemblance to the Mossberg Brownie. It has four barrels arranged in a " -"square formation." +"A small, chubby derringer pistol bearing a slight resemblance to the " +"Mossberg Brownie. It uses a rotating firing pin to fire the individual " +"hammers of the four barrels arranged in a square formation." msgstr "" -"Die COP .38 ist eine kleine dicke Deringerpistole, die eine leichte " -"Ähnlichkeit mit der Mossberg Brownie aufweist. Sie hat vier Läufe, die " -"quadradisch angeordnet sind." #: lang/json/gun_from_json.py msgid "pipe rifle: .38 Special" @@ -97696,20 +101669,6 @@ msgstr "" "Ein siebenschüssiger .38-Revolver, der von Smith & Wesson verkauft wird. Er " "hat eine feste Kimme und einen verstärkten Rahmen." -#: lang/json/gun_from_json.py -msgid "Taurus Pro .38" -msgid_plural "Taurus Pro .38" -msgstr[0] "Taurus Pro .38" -msgstr[1] "Taurus Pro .38" - -#: lang/json/gun_from_json.py -msgid "" -"A popular .38 pistol. Designed with numerous safety features and built from" -" high-quality, durable materials." -msgstr "" -"Eine beliebte .38-Pistole. Sie wurde mit zahlreichen Sicherheitsfunktionen " -"entworfen und von hochqualitativen langlebigen Materialen gebaut." - #: lang/json/gun_from_json.py msgid "MAC-11" msgid_plural "MAC-11s" @@ -97777,10 +101736,22 @@ msgstr[1] "" msgid "" "The Hi-Point CF-380 is a blowback operated semi automatic pistol designed by" " Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" +#: lang/json/gun_from_json.py +msgid "Taurus Spectrum" +msgid_plural "Taurus Spectrum" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A .380 subcompact pistol. Designed for concealed carry and built from high-" +"quality, durable materials." +msgstr "" + #: lang/json/gun_from_json.py msgid "M1911A1" msgid_plural "M1911A1s" @@ -97883,9 +101854,9 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in .40 S&W." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in .40 S&W." msgstr "" #: lang/json/gun_from_json.py @@ -97911,8 +101882,9 @@ msgstr[1] "" msgid "" "The Hi-Point Model JCP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" #: lang/json/gun_from_json.py @@ -98336,8 +102308,9 @@ msgstr[1] "" msgid "" "The Hi-Point Model JHP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" #: lang/json/gun_from_json.py @@ -98566,7 +102539,7 @@ msgstr "" "wurde deaktiviert und ihr Gurtzuführungsmechanismus wurde zu einem viel " "kleinerem Patronenlager, welches 1 Schuss hält, modifiziert." -#: lang/json/gun_from_json.py src/item_factory.cpp src/turret.cpp +#: lang/json/gun_from_json.py src/item_factory.cpp msgid "manual" msgstr "manuell" @@ -99481,9 +103454,9 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in 9x19mm Parabellum." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in 9x19mm Parabellum." msgstr "" #: lang/json/gun_from_json.py @@ -99495,8 +103468,8 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Walther P38 is a semi-automatic handgun adopted shortly before the " -"second world war. Developed due to the high production costs of its " -"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " +"second world war. Developed due to the high production costs of its " +"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " "This early DA/SA locked-breech design would introduce features later seen on" " more modern firearms such as the Beretta 92 series, and served Germany " "until 2004." @@ -99512,7 +103485,7 @@ msgstr[1] "" msgid "" "The Walther PPQ is a semi-automatic pistol originating from the Walther " "P99QA, and maintains compatibility with some of its predecessor's " -"accessories. This model is chambered in 9x19mm Parabellum." +"accessories. This model is chambered in 9x19mm Parabellum." msgstr "" #: lang/json/gun_from_json.py @@ -99525,7 +103498,7 @@ msgstr[1] "" msgid "" "The Hi-Point C-9 is a blowback operated semi automatic pistol designed by " "Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" @@ -99538,10 +103511,10 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The CZ-75 is a semi-automatic pistol developed in Czechoslovakia, and is one" -" of the original wonder nines. Though designed for export to western " +" of the original wonder nines. Though designed for export to western " "countries, it was declared a state secret; lack of international patent " "protection meant that many clones and variants were produced and distributed" -" around the world, with Česká zbrojovka only joining in the 90's. This " +" around the world, with Česká zbrojovka only joining in the 90's. This " "pistol remains wildly popular among competition shooters." msgstr "" @@ -99554,10 +103527,10 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Walther CCP is a gas-delayed blowback semi-automatic pistol intended for" -" the concealed carry consumer market. Internally, it is nearly identical to " -"the cult classic H&K P7. Its fixed barrel design makes it potentially more " -"accurate than many other pistols, though this may difficult to realize with " -"its average trigger and short sight radius." +" the concealed carry consumer market. Internally, it is nearly identical to" +" the cult classic H&K P7. Its fixed barrel design makes it potentially more" +" accurate than many other pistols, though this may difficult to realize with" +" its average trigger and short sight radius." msgstr "" #: lang/json/gun_from_json.py @@ -101316,10 +105289,62 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"A bow made of multiple materials to maximize energy efficiency. There are " +"A bow made of multiple materials to maximize energy efficiency. There are " "two Druid runes embedded at the tips." msgstr "" +#: lang/json/gun_from_json.py +msgid "M47A1 Techno-Medusa" +msgid_plural "M47A1 Techno-Medusae" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A magically-enhanced update to the Phillips & Rodgers' M47 Medusa, a multi-" +"caliber revolver aimed at survivalists. While Technomancy improves the " +"reliability with smaller cartridges, it is not as accurate as dedicated " +"caliber revolvers due to freebore." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "gunblade" +msgid_plural "gunblades" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"Constructed similarly to a falcata, this forward-sloping blade has a short-" +"barrel pump shotgun attached to the blade's spine for finishing blows or a " +"first strike." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "shotcestus" +msgid_plural "shotcesti" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A sawn-off double-barrel shotgun mounted on a metal cestus. The lack of a " +"stock to absorb recoil means some strength is required to fire." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "Ichaival" +msgid_plural "Ichaivals" +msgstr[0] "Ichaival" +msgstr[1] "Ichaivals" + +#: lang/json/gun_from_json.py +msgid "" +"Ichaival, the bow of Odin. Rumored to fire 10 arrows with every pull of the" +" string. It has gold and silver ornaments on it, as well as an ornate " +"Raven." +msgstr "" + #: lang/json/gun_from_json.py msgid "Woodbow" msgid_plural "Woodbows" @@ -101447,12 +105472,6 @@ msgstr "" "Sehne zu ziehen. Abgefeuerte Bolzen bleiben wahrscheinlich intakt, um zum " "Wiedergebrauch wieder geborgen werden zu können." -#: lang/json/gun_from_json.py -msgid "Ichaival" -msgid_plural "Ichaivals" -msgstr[0] "Ichaival" -msgstr[1] "Ichaivals" - #: lang/json/gun_from_json.py msgid "" "This is a replica of the bow possessed by Odin, Ichaival, which is rumored " @@ -102720,7 +106739,7 @@ msgstr "" msgid "accessories" msgstr "Zubehör" -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "bow" msgstr "Bogen" @@ -102857,7 +106876,7 @@ msgstr[1] "Esztests" #: lang/json/gunmod_from_json.py msgid "" "Testmod for UPS drain on mods, this should never spawn, if you see this, " -"it's a bug. 50x more UPS drain." +"it's a bug. 50x more UPS drain." msgstr "" #: lang/json/gunmod_from_json.py @@ -103030,8 +107049,8 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" -"A set of optics to concentrate the laser beam on a smaller focus point. This" -" increases range and damage output, but complicates targeting." +"A set of optics to concentrate the laser beam on a smaller focus point. " +"This increases range and damage output, but complicates targeting." msgstr "" #: lang/json/gunmod_from_json.py @@ -103060,7 +107079,7 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" "A set of electronics to optimize emitter workcycle and increase overall " -"energy efficiency. Decreases power consumption." +"energy efficiency. Decreases power consumption." msgstr "" #: lang/json/gunmod_from_json.py @@ -103075,11 +107094,9 @@ msgstr[1] "hochdichte Kondensatoren" #: lang/json/gunmod_from_json.py msgid "" -"A capacitor with a higher energy density increases range and damage; at the" -" cost of a markedly increased power consumption." +"A capacitor with a higher energy density increases range and damage; at the " +"cost of a markedly increased power consumption." msgstr "" -"Ein Kondensator mit einer höheren Energiedichte erhöht Reichweite und " -"Schaden auf Kosten eines merklich erhöhten Strombedarfs." #: lang/json/gunmod_from_json.py msgid "Leadworks magazine adapter" @@ -103312,6 +107329,20 @@ msgstr "" "den Rückstoß zu verbessern, aber sie erhöht das Gewicht, den Lärm und " "verringert die Treffgenauigkeit leicht." +#: lang/json/gunmod_from_json.py +msgid "modified muzzle brake" +msgid_plural "modified muzzle brakes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A muzzle brake redirects exhaust gases to compensate for muzzle climb, " +"improving recoil but increasing bulk, noise, and reducing accuracy slightly." +" This one was modified and customized to mount on pretty much any firearm " +"other than launchers, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "homemade suppressor" msgid_plural "homemade suppressors" @@ -103458,6 +107489,20 @@ msgstr "" msgid "rail" msgstr "Schiene" +#: lang/json/gunmod_from_json.py +msgid "modified rail-mounted crossbow" +msgid_plural "modified rail-mounted crossbows" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A kit to attach a pair of crossbow arms and a firing rail to the barrel of a" +" long firearm. It allows crossbow bolts to be fired. This one was modified" +" and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "offset iron sights" msgid_plural "offset iron sights" @@ -103473,6 +107518,19 @@ msgstr "" "ist dafür gedacht, verwendet zu werden, wenn ein Zielfernrohr oder eine " "andere Modifikation die Verwendung einer Primärvisierung verhindert." +#: lang/json/gunmod_from_json.py +msgid "modified offset iron sights" +msgid_plural "modified offset iron sights" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An alternative set of iron sights mounted at 45° for use when a scope or " +"other modification prevents use of the primary sights. This one was " +"modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "offset sight rail" msgid_plural "offset sight rails" @@ -103485,6 +107543,18 @@ msgstr "" "Eine zusätzliche Schiene, die um 45° versetzt moniert ist, um eine " "Sekundäroptik aufzunehmen." +#: lang/json/gunmod_from_json.py +msgid "modified offset sight rail" +msgid_plural "modified offset sight rails" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An additional rail set at 45° for attaching a secondary optic. This one was" +" modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "rail laser sight" msgid_plural "rail laser sights" @@ -103516,6 +107586,20 @@ msgstr "" " wird und welches die Vibration deiner Waffe reduziert, wodurch der Rückstoß" " stark verringert und die Treffgenauigkeit geringfügig erhöht wird." +#: lang/json/gunmod_from_json.py +msgid "modified gyroscopic stabilizer" +msgid_plural "modified gyroscopic stabilizers" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An advanced unit that straps onto the side of your firearm and reduces " +"vibration, greatly reducing recoil and slightly increasing accuracy. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "LW gyroscopic stabilizer" msgid_plural "LW gyroscopic stabilizers" @@ -103644,6 +107728,20 @@ msgid "" " mrad increments and is remarkably small and light for its magnification." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified rifle scope" +msgid_plural "modified rifle scopes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 3-18x44 rifle scope. It is adjustable for windage and elevation in 1/10th" +" mrad increments and is remarkably small and light for its magnification. " +"This one was modified and customized to mount on pretty much any weapon " +"other than pistols and SMGs, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "ACOG scope" msgid_plural "ACOG scopes" @@ -103656,6 +107754,19 @@ msgid "" "crosshair." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified ACOG scope" +msgid_plural "modified ACOG scopes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 4x32 TA01 Advanced Combat Optical Gunsight with a tritium illuminated " +"crosshair. This one was modified and customized to mount on pretty much any" +" weapon other than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "RS1219 scope" msgid_plural "RS1219 scopes" @@ -103681,11 +107792,10 @@ msgstr[1] "Zielfernrohre" #: lang/json/gunmod_from_json.py msgid "" -"A simple telescopic sight, essentially a small telescope with crosshairs. " -"Increases weight but improves accuracy." +"A simple hand-crafted telescopic sight, essentially a small telescope with " +"crosshairs. Not as good as the ones made before the cataclysm. Increases " +"weight but improves accuracy." msgstr "" -"Ein einfaches Zielfernrohr, praktisch ein kleines Teleskop mit Fadenkreuz. " -"Erhöht das Gewicht aber verbessert die Treffgenauigkeit." #: lang/json/gunmod_from_json.py msgid "telescopic pistol sight" @@ -103874,6 +107984,21 @@ msgstr "" "Handhabbarkeit des Rückstoßes stark verbessern, können sie nur auf " "bestimmten Oberflächen benutzt werden und es braucht lange, sie anzubringen." +#: lang/json/gunmod_from_json.py +msgid "modified bipod" +msgid_plural "modified bipods" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Bipods are commonly used on rifles and machine guns to provide a forward " +"rest and reduce motion. Although they greatly improve handling of recoil " +"they are usable only on certain surfaces and are slow to equip. This one " +"was modified and customized to mount on pretty much any weapon, if you so " +"want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "combination gun shotgun" msgid_plural "combination gun shotguns" @@ -103917,6 +108042,19 @@ msgstr "" "Nicht so effektiv wie ein Zweibein, kann aber unter allen Bedingungen " "benutzt werden." +#: lang/json/gunmod_from_json.py +msgid "modified forward grip" +msgid_plural "modified forward grips" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A grip placed forward on the barrel allows for greater control. Not as " +"effective as a bipod but usable under all conditions. This one was modified" +" and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "integrated bayonet" msgid_plural "integrated bayonets" @@ -103989,6 +108127,20 @@ msgstr "" "werden, aber heute kann sie zu fast jedem Gewehr angebracht werden. Mit ihr " "kann eine einzelne 40mm-Granate geladen und abgefeuert werden." +#: lang/json/gunmod_from_json.py +msgid "modified M203" +msgid_plural "modified M203s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M203 was originally designed for use with M16 variants but today can be " +"attached to almost any rifle. It allows a single 40mm grenade to be loaded " +"and fired. This one was modified and customized to mount on pretty much any" +" weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "M320 GLM" msgid_plural "M320 GLM" @@ -104007,6 +108159,21 @@ msgstr "" " Es kann etweder an ein Gewehr angebracht werden oder mit einem Schaft zu " "einer eigenständigen Waffe kombiniert werden." +#: lang/json/gunmod_from_json.py +msgid "modified M320 GLM" +msgid_plural "modified M320 GLMs" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M320 Grenade Launcher Module offers the functionality of larger " +"launchers in a very small package at the cost of decreased accuracy. It can" +" be either attached to a rifle or combined with a buttstock for stand alone " +"use. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "masterkey shotgun" msgid_plural "masterkey shotguns" @@ -104023,6 +108190,20 @@ msgstr "" "Gewehre angebracht werden kann. Sie kann insgesamt vier " "Schrotflintenpatronen laden und feuern." +#: lang/json/gunmod_from_json.py +msgid "modified masterkey shotgun" +msgid_plural "modified masterkey shotguns" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A minimalist pump action shotgun, which can be mounted under the barrel of " +"many rifles. It allows a total of four shotgun shells to be loaded and " +"fired. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "40mm pipe launcher" msgid_plural "40mm pipe launchers" @@ -104031,12 +108212,9 @@ msgstr[1] "40mm-Rohrwerfer" #: lang/json/gunmod_from_json.py msgid "" -"This is a home built launcher tube that can be attached to almost any rifle." -" It allows a single 40mm grenade to be loaded and fired." +"This is a home built launcher tube that can be attached to almost any weapon" +" except handguns. It allows a single 40mm grenade to be loaded and fired." msgstr "" -"Dies ist ein selbstgemachtes Abschussgerät, das an fast jedes Gewehr " -"angebracht werden kann. Sie kann eine einzelne 40mm-Granate laden und " -"abfeuern." #: lang/json/gunmod_from_json.py msgid "pistol bayonet" @@ -104069,6 +108247,20 @@ msgstr "" " die hülsenlose Munition aus Magazinen verschießt. Sie kann unter dem Lauf " "vieler Gewehre angebracht werden. Akzeptiert RMSA10-Kastenmagazine." +#: lang/json/gunmod_from_json.py +msgid "modified RM121 aux shotgun" +msgid_plural "modified RM121 aux shotguns" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The Rivtech RM121 auxiliary weapon system is a magazine-fed semi-automatic " +"caseless shotgun, which can be mounted under the barrel of many rifles. " +"Accepts RMSA10 box magazines. This one was modified and customized to mount" +" on pretty much any weapon other than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "underslung shotgun" msgid_plural "underslung shotguns" @@ -104084,6 +108276,20 @@ msgstr "" "angebracht werden. Mit ihr können zwei Schrotpatronen geladen und abgefeuert" " werden." +#: lang/json/gunmod_from_json.py +msgid "modified underslung shotgun" +msgid_plural "modified underslung shotguns" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A short shotgun with 2 barrels, which can be mounted under the barrel of " +"many rifles. It allows two shotgun shells to be loaded and fired. This one" +" was modified and customized to mount on pretty much any weapon other than " +"pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "LW underbarrel laser sight" msgid_plural "LW underbarrel laser sights" @@ -104393,6 +108599,58 @@ msgstr "" "aufwändiger Veränderungen kann die Schusswaffe ohne einer Esz. nicht mehr " "benutzt werden." +#: lang/json/gunmod_from_json.py +msgid "'Silent Winds' suppressor" +msgid_plural "'Silent Winds' suppressors" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Rather than using purely wipe media, an additional localized silence spell " +"in this tube quiets gunshots going through to hearing-safe levels." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (rail)" +msgid_plural "mana laser sights (rail)" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit under the barrel." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (underbarrel)" +msgid_plural "mana laser sights (underbarrel)" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit on the rail." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana dot sight" +msgid_plural "mana dot sights" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Adds a blue dot optic made from crystallized mana to the top of your gun, " +"replacing the iron sights. Increases accuracy and weight." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "makeshift pistol bayonet" msgid_plural "makeshift pistol bayonets" @@ -106390,8 +110648,8 @@ msgstr "Strahlung messen" #: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/game_inventory.cpp src/teleport.cpp -msgid "..." -msgstr "…" +msgid "…" +msgstr "" #: lang/json/item_action_from_json.py msgid "Control an RC car" @@ -106557,16 +110815,12 @@ msgstr "" "Dieser Gegenstand kann - ohne ihn aufheben zu müssen - auch von angrenzenden" " Felder aktiviert oder nachgeladen werden." -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the outer aura layer, intended for metaphysical effects." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your outer aura." msgstr "" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate barometer (which is used to measure " @@ -106575,6 +110829,7 @@ msgstr "" "Diese Ausrüstung ist mit einem präzisem Barometer ausgestattet (er wird dazu" " benutzt, den Luftdruck zu messen)." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item can be clipped on to a belt loop of the appropriate " @@ -106583,12 +110838,6 @@ msgstr "" "Dieser Gegenstand kann an einer Gürtelschlaufe von der " "geeigneten Größe befestigt werden." -#: lang/json/json_flag_from_json.py -msgid "Layer for backpacks and things worn over outerwear." -msgstr "" -"Schicht für Rucksäcke und Dinge, die über der Oberbekleidung getragen " -"werden." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is strapped onto you." @@ -106603,14 +110852,6 @@ msgstr "" "Auch ein Gefährte könnte diese KBM verwenden. Eine" " ordnungsgemäße Installation wird vorausgesetzt." -#: lang/json/json_flag_from_json.py -msgid "" -"Blinds the wearer while worn, and provides nominal protection vs flashbang " -"flashes." -msgstr "" -"Lässt den Träger beim Tragen erblinden und bietet geringfügigen Schutz gegen" -" den Blitzen von Blendgranaten." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear prevents you from seeing anything." @@ -106726,14 +110967,6 @@ msgstr "" msgid "You can wear only one." msgstr "Du kannst nur ein Exemplar tragen." -#: lang/json/json_flag_from_json.py -msgid "" -"Wearing this clothing gives a morale bonus if the player has the Stylish " -"trait." -msgstr "" -"Das Tragen dieses Gegenstandes gibt einen Moralbonus, falls der Spieler den " -"Wesenszug »Modisch« hat." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This piece of clothing is fancy." @@ -106765,21 +110998,11 @@ msgstr "Dieser Gegenstand korrigiert Weitsichtigkeit." msgid "This gear corrects nearsightedness." msgstr "Dieser Gegenstand korrigiert Kurzsichtigkeit." -#: lang/json/json_flag_from_json.py -msgid "" -"Zombie-dropped clothing giving various penalties if Filthy mod is active. " -"Also CBMs harvested from zombies." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This item is filthy." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "Used for eyes protection from flashbang." -msgstr "Schützt die Augen vor Blendgranaten." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -106824,6 +111047,7 @@ msgstr "" "Dieses Kleidungsstück hat eine Kapuze, um deinen Kopf " "warmzuhalten, sofern dieser frei ist." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate hygrometer (which is used to measure " @@ -106832,6 +111056,7 @@ msgstr "" "Diese Ausrüstung ist mit einem präzisem Luftfeuchtigkeitsmesser " "ausgestattet." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item is a component of the gun it is attached to. It can't be removed " @@ -106840,33 +111065,6 @@ msgstr "" "Dieser Gegenstand ist ein Bestandteil der Waffe, an die er befestigt wurde. " "Er kann nicht entfernt werden, ohne ihn zu zerstören." -#: lang/json/json_flag_from_json.py -msgid "Item can never be used with a CVD machine." -msgstr "Gegenstand kann niemals mit einer CVD-Maschine benutzt werden." - -#: lang/json/json_flag_from_json.py -msgid "" -"Don't offer to draw items from this holster when the fire key is pressed " -"whilst the player's hands are empty." -msgstr "" -"Nicht anbieten, Gegenstände aus diesem Halfter zu ziehen, wenn die " -"Feuertaste gedrückt wird, während die Hände des Spielers leer sind." - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents repairing of this item even if otherwise suitable tools exist." -msgstr "" -"Verhindert die Reparatur dieses Gegenstandes, auch wenn andere geeignete " -"Werkzeuge existieren." - -#: lang/json/json_flag_from_json.py -msgid "" -"forces calories and vitamins to be the ones defined in the json, instead of " -"inheriting from ingredients" -msgstr "" -"zwingt Kalorien und Vitamine dazu, aus der JSON heraus definiert zu sein, " -"statt von den Zutaten zu erben" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "You could probably plant these." @@ -106882,25 +111080,12 @@ msgstr "" "Umgebung ist, und schmeckt viel besser, wenn es " "gefroren ist." -#: lang/json/json_flag_from_json.py -msgid "Outer garment layer." -msgstr "Äußere Bekleidungsschicht." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is generally worn over clothing." msgstr "" "Diese Ausrüstung wird üblicherweise über der Kleidung getragen." -#: lang/json/json_flag_from_json.py -msgid "" -"Can always be worn no matter encumbrance/mutations/bionics/etc., but " -"prevents any other clothing being worn over this." -msgstr "" -"Kann immer getragen werden, unabhängig von " -"Hinderung/Mutationen/Bioniken/usw., aber es ist nicht möglich, weitere " -"Kleidungsstücke darüber zu tragen." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -106910,14 +111095,6 @@ msgstr "" "Dieses Kleidungsstück ist groß genug für ungewöhnlich große mutierte " "Anatomie." -#: lang/json/json_flag_from_json.py -msgid "" -"Can be worn comfortably by mutants with Tiny or Unassuming. Too small for " -"anyone else." -msgstr "" -"Kann bequem von Mutanten mit den Mutationen »Winzig« oder »Anspruchslos« " -"getragen werden. Für alle anderen einfach viel zu klein." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -106927,25 +111104,11 @@ msgstr "" "Diese Ausrüstung reduziert die Lautstärke von " "Geräuschen auf einen sicheren Pegel." -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the personal aura layer, intended for metaphysical " -"effects." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your personal aura." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "" -"Increases warmth for hands if the player's hands are cold and the player is " -"wielding nothing." -msgstr "" -"Erhöht die Wärme für Hände, falls die Hände des Spielers kalt sind und der " -"Spieler nichts hält." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -106955,20 +111118,6 @@ msgstr "" "Dieses Kleidungsstück hat Taschen, um deine Hände zu wärmen, " "wenn du nichts hältst." -#: lang/json/json_flag_from_json.py -msgid "" -"If turned ON, it uses its own source of power, instead of relying on power " -"of the user." -msgstr "" -"Falls EINGESCHALTET, benutzt es eine eigene Stromquelle, anstatt auf den " -"Strom des Benutzers zurückzugreifen." - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "25% chance to protect against fear_paralyze monster attack." -msgstr "" -"25% Wahrscheinlichkeit, gegen fear_paralyze-Monsterangriff zu schützen." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear keeps out the mind control rays." @@ -107006,10 +111155,6 @@ msgstr "" msgid "This item can be used to communicate with radio waves." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "Prevents the covered body-part(s) from getting wet in the rain." -msgstr "Verhindert, dass die abgedeckten Körperteile im Regen nass werden." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -107018,19 +111163,6 @@ msgstr "" "Dieses Kleidungsstück wurde entworfen, um dich im Regen trocken" " zu halten." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the player from wielding a weapon two-handed, forcing one-handed " -"use if the weapon permits it." -msgstr "" -"Hält den Spieler davon ab, eine Waffe zweihändig zu tragen, was eine " -"einhändige Benutzung erzwingt, falls die Waffe es zulässt." - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from participating in the encumbrance system when worn." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -107038,33 +111170,6 @@ msgid "" " other things when worn." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sheath of the appropriate size." -msgstr "" -"Dieser Gegenstand kann in einer Scheide der geeigneten Größe gelagert " -"werden." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a scabbard of the appropriate size." -msgstr "" -"Dieser Gegenstand kann in einer Schwertscheide der geeigneten Größe gelagert" -" werden." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sling of the appropriate size." -msgstr "" -"Dieser Gegenstand kann in einem Riemen oder einer Schlinge der geeigneten " -"Größe gelagert werden." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a bag of the appropriate size." -msgstr "" -"Dieser Gegenstand kann in einer Tasche der geeigneten Größe gelagert werden." - -#: lang/json/json_flag_from_json.py -msgid "Undergarment layer." -msgstr "Unterwäscheschicht." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing lies close to the skin." @@ -107094,32 +111199,16 @@ msgstr "" "Dieses Kleidungsstück schützt dich vor Schäden und widersteht " "großer Belastung." -#: lang/json/json_flag_from_json.py -msgid "Prevents glaring when in sunlight." -msgstr "Verhindert, dass man vom Sonnenlicht geblendet wird." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing keeps the glare out of your eyes." msgstr "Dieses Kleidungsstück schützt dich vor blendendem Licht." -#: lang/json/json_flag_from_json.py -msgid "" -"Gives an additional moral bonus over FANCY if the player has the Stylish " -"trait." -msgstr "" -"Gibt einen zusätzlichen Moralbonus über FANCY, falls der Spieler den " -"Wesenszug »Modisch« hat." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing is very fancy." msgstr "Dieses Kleidungsstück ist sehr schick." -#: lang/json/json_flag_from_json.py -msgid "Allows you to see much further under water." -msgstr "Damit kannst beim Tauchen du viel weiter sehen." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -107129,14 +111218,6 @@ msgstr "" "Mit dieser Kleidung kannst du beim Tauchen viel weiter " "sehen." -#: lang/json/json_flag_from_json.py -msgid "" -"This gear is equipped with an accurate thermometer (which is used to measure" -" temperature)." -msgstr "" -"Diese Ausrüstung ist mit einem präzisem Thermometer ausgestattet (es wird " -"benutzt, die Temperatur zu messen)." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is equipped with an accurate thermometer." @@ -107144,39 +111225,17 @@ msgstr "" "Diese Ausrüstung ist mit einem präzisem Thermometer " "ausgestattet." -#: lang/json/json_flag_from_json.py -msgid "Can be made to fit via tailoring." -msgstr "Kann mit Schneiderei passend gemacht werden." - -#: lang/json/json_flag_from_json.py -msgid "Layer for belts and other things worn on the waist." -msgstr "" -"Schicht für Gürtel und andere Dinge, die an der Taille getragen werden." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is worn on or around your waist." msgstr "Diese Ausrüstung wird an oder um deine Taille getragen" -#: lang/json/json_flag_from_json.py -msgid "Acts as a watch and allows the player to see actual time." -msgstr "" -"Dient als eine Uhr und ermöglicht es dem Spieler, die tatsächliche Zeit zu " -"sehen." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear allows to see actual time." msgstr "" "Mit dieser Ausrüstung kannst du die tatsächliche Zeit sehen." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the covered body-part(s) from getting wet in any circumstance." -msgstr "" -"Verhindert, dass die abgedeckten Körperteile unter allen Umständen nass " -"werden." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -107186,14 +111245,6 @@ msgstr "" "Dieses Kleidungsstück wird kein Wasser durchlassen. Es sei " "denn, du springst in den Fluss oder so." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from making the body part count as unfriendly to water and" -" thus causing negative morale from being wet." -msgstr "" -"Hindert den Gegenstand daran, das Körperteil als unfreundlich gegenüber " -"Wasser zu zählen und dadurch negative Moral wegen Nässe zu verursachen." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -107241,13 +111292,6 @@ msgstr "" "Diese Kleidung hat ein Wollfutter eingenäht, um dessen " "Gesamtwärme zu erhöhen." -#: lang/json/json_flag_from_json.py -msgid "" -"Allows wielding with unarmed fighting styles and trains unarmed when used." -msgstr "" -"Ermöglicht das Halten mit unbewaffneten Kampfstilen und trainiert den " -"waffenlosen Kampf bei Verwendung." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -107263,114 +111307,26 @@ msgid "This item contains a nanofabricator recipe." msgstr "" "Dieser Gegenstand enthält ein Rezept zur Verwendung in einem Nanofabrikator." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "This bionic is a faulty bionic." -msgstr "Dieses Bionik ist ein defektes Bionik." - -#: lang/json/json_flag_from_json.py -msgid "This bionic is a power source bionic." -msgstr "Dieses Bionik ist eine Stromquelle für andere Bioniken." - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic only has a function when activated, else it causes its effect " -"every turn." -msgstr "" -"Dieses Bionik hat nur eine Funktion, solange es aktiviert ist, ansonsten " -"entfaltet er seine Wirkung in jedem Zug." - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a gun bionic and activating it will fire it. Prevents all " -"other activation effects." +msgid "This bionic is faulty." msgstr "" -"Dieses Bionik ist ein Feuerwaffenbionik und eine Aktivierung wird es " -"abfeuern. Verhindert alle anderen Aktivierungswirkungen." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a weapon bionic and activating it will create (or destroy) " -"bionic's fake_item in user's hands. Prevents all other activation effects." +msgid "This bionic provides power." msgstr "" -"Dieses Bionik ist ein Waffenbionik; eine Aktivierung wird das fake_item des " -"Bioniks in den Händen des Benutzers erzeugen (oder zerstören). Verhindert " -"alle anderen Aktivierungswirkungen." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This bionic can provide power to powered armor." msgstr "Dieses Bionik ist eine Stromquelle für bestromte Rüstungen." -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's effects permanent." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's Area of Effect ignore walls." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "You can cast spells with this item in your hand." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This makes the spell's summoned monster always hostile. Note that the spell" -" needs to be a summon spell for this to do anything." -msgstr "" - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "" -"This makes the spell's summoned monster hostile 50% of the time. Note that " -"the spell needs to be a summon spell for this to do anything." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "The spell makes no sound at its point of impact." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This spell is much louder at its point of impact." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The caster must speak in order to cast the spell. More mouth encumbrannce " -"increases failure percent, and the caster speaks when casting." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell requires arm movement to cast. Arm encumbrance affects failure " -"percentage and casting time." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell does not require hands in order to cast it. Encumbrance penalties" -" on hands are nullified." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell does not require leg movement in order to be cast. All " -"encumbrance penalties for legs are nullified." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell requires focus to cast. The lower your focus, the higher failure" -" rate to cast." -msgstr "" - +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" -"Chooses a spell at random to cast from extra_effects. See MAGIC.md for " -"details" -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This mutation does not count toward thresholds at all." +"This food is unappetizing in a way that can't be covered up " +"by most cooking." msgstr "" #. ~ Please leave anything in unchanged. @@ -107824,6 +111780,10 @@ msgstr "Nächste Ebene" msgid "Previous level" msgstr "Vorherige Ebene" +#: lang/json/keybinding_from_json.py +msgid "Reset level" +msgstr "Level zurücksetzen" + #: lang/json/keybinding_from_json.py msgid "Undo move" msgstr "Zug rückgängig machen" @@ -107840,10 +111800,6 @@ msgstr "Flagge umschalten" msgid "Toggle lights" msgstr "Licht umschalten" -#: lang/json/keybinding_from_json.py -msgid "Reset level" -msgstr "Level zurücksetzen" - #: lang/json/keybinding_from_json.py msgid "Confirm Choice" msgstr "Auswahl bestätigen" @@ -108548,6 +112504,10 @@ msgstr "" msgid "View Visibility Map" msgstr "" +#: lang/json/keybinding_from_json.py +msgid "View Lighting Map" +msgstr "" + #: lang/json/keybinding_from_json.py msgid "View Radiation Map" msgstr "" @@ -108561,8 +112521,8 @@ msgid "Toggle Fullscreen mode" msgstr "Vollbildmodus umschalten" #: lang/json/keybinding_from_json.py -msgid "Toggle Pixel Minimap" -msgstr "Pixel-Minikarte umschalten" +msgid "Toggle Minimap" +msgstr "" #: lang/json/keybinding_from_json.py msgid "Toggle Panel Admin" @@ -108918,6 +112878,7 @@ msgstr "Benutzerdefinierte Farbe löschen" msgid "Load color template" msgstr "Farbvorlage laden" +#. ~ translation should not exceed 3 console cells #: lang/json/keybinding_from_json.py lang/json/keybinding_from_json.py #: src/editmap.cpp src/editmap.cpp src/editmap.cpp src/veh_interact.cpp msgid "Yes" @@ -108977,6 +112938,10 @@ msgstr "Alarm umschalten" msgid "Toggle atomic lights" msgstr "Atomlampen umschalten" +#: lang/json/keybinding_from_json.py +msgid "Control autopiot" +msgstr "" + #: lang/json/keybinding_from_json.py msgid "Toggle camera system" msgstr "Kamerasystem umschalten" @@ -111330,87 +115295,6 @@ msgid "" "Lasts 1 turn." msgstr "" -#: lang/json/martial_art_from_json.py -msgid "Tai Chi" -msgstr "Tai-Chi" - -#. ~ Description for martial art 'Tai Chi' -#: lang/json/martial_art_from_json.py -msgid "" -"Though Tai Chi is often seen as a form of mental and physical exercise, it " -"is a legitimate martial art, focused on self-defense. Its ability to absorb" -" the force of an attack makes your Perception decrease damage further on a " -"block." -msgstr "" -"Obwohl Tai-Chi oft als eine Form des geistigen und körperlichen Trainings " -"gesehen wird, ist es eine legitime Kampfkunst, die auf Selbstverteidigung " -"spezialisiert ist. Ihre Fähigkeit, die Kraft eines Angriffs zu verringern, " -"lässt deine Wahrnehmung den Schaden bei einer Abblockung noch weiter " -"verringern." - -#. ~ Description of buff for martial art 'Tai Chi' -#: lang/json/martial_art_from_json.py -msgid "+1 Block. Perception decreases damage when blocking." -msgstr "+1 Blockieren. Wahrnehmung verringert Schaden beim Blocken." - -#: lang/json/martial_art_from_json.py -msgid "Taekwondo" -msgstr "Taekwondo" - -#. ~ Description for martial art 'Taekwondo' -#: lang/json/martial_art_from_json.py -msgid "" -"Taekwondo is the national sport of Korea, and was used by the South Korean " -"army in the 20th century. Focused on kicks and so it does not benefit from " -"wielded weapons. It also includes strength training; your blocks absorb " -"extra damage the stronger you are." -msgstr "" -"Taekwondo ist der Nationalsport von Korea und wurde von der südkoreanischern" -" Armee im 20. Jahrhundert angewendet. Es ist auf Tritte und Schläge " -"spezialisiert und wird durch Waffen nicht verbessert. Es beeinhaltet auch " -"ein Stärketraining; deine Abblockungen absorbieren zusätzlichen Schaden, je " -"stärker du bist." - -#. ~ Description of buff for martial art 'Taekwondo' -#: lang/json/martial_art_from_json.py -msgid "Strength decreases damage when blocking." -msgstr "Stärke verringert Schaden beim Abblocken." - -#: lang/json/martial_art_from_json.py -msgid "Zui Quan" -msgstr "Zui Quan" - -#. ~ Description for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "" -"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" -" the enemy, giving you a passive dodge bonus based on your intelligence. " -"The turn after you attack, you may dodge any number of attacks with no " -"penalty, and successfully dodging an attack gives you bonus damage and to-" -"hit based on your intelligence." -msgstr "" -"Auch bekannt als »betrunkenes Boxen« imitiert Zui Quan die Bewegungen eines " -"Betrunkenen, um den Gegner zu verwirren, was dir einen passiven " -"Ausweichbonus, basierend auf deiner Intelligenz, gibt. Nach dem Zug, in dem " -"du erfolgreich angreifst, kannst du einer beliebigen Anzahl von Angriffen " -"ohne Einbuße ausweichen, und das erfolgreiche Ausweichen eines Angriffs gibt" -" dir Bonusschaden und zusätzlichen Treffbonus, basierend auf deiner " -"Intelligenz." - -#. ~ Description of buff for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "Intelligence increases dodging ability" -msgstr "Intelligenz erhöht Ausweichfertigkeit" - -#: lang/json/martial_art_from_json.py -msgid "Counter Strike" -msgstr "Gegenschlag" - -#. ~ Description of buff 'Counter Strike' for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "Extra damage and to-hit after successful dodge" -msgstr "Zusatzschaden und Treffbonus nach erfolgreichem Ausweichen" - #: lang/json/martial_art_from_json.py msgid "Silat" msgstr "Silat" @@ -111433,17 +115317,183 @@ msgstr "Silat-Haltung" #. ~ Description of buff 'Silat Stance' for martial art 'Silat' #: lang/json/martial_art_from_json.py -msgid "+1 dodge" -msgstr "+1 Ausweichen" +msgid "" +"You try to stay loose as possible when fighting to have more chances to dodge.\n" +"\n" +"+1 Dodge attempts." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Silat Evasion" +msgstr "" + +#. ~ Description of buff 'Silat Evasion' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +msgid "" +"You stay low as you move, making it harder for enemies to pin you down.\n" +"\n" +"+1 Dodge attempts.\n" +"Lasts 2 turn." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Silat Appraisal" +msgstr "" + +#. ~ Description of buff 'Silat Appraisal' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Each time you dodge an attack, you learn a bit more about your opponents' fighting style. This allows you to make more precise attacks against them.\n" +"\n" +"Accuracy increased by 15%% of Dexterirty.\n" +"Lasts 2 turns. Stacks 3 times." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Snake Kung Fu" +msgstr "Schlangen-Kung-Fu" + +#. ~ Description for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +msgid "" +"One of the five Shaolin animal styles. The Snake focuses on sinuous " +"movement and precision strikes. Perception determines your Accuracy, rather" +" than Dexterity. Standing still will increases your accuracy and damage of " +"your next attack." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Snake's Sight" +msgstr "" + +#. ~ Description of buff 'Snake's Sight' for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You are patient and know where to hit your opponent for the best results.\n" +"\n" +"Perception increases Accuracy instead of Dexterity. Accuracy increased by 25%% of Perception but decreased by 25%% of Dexterity." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "Sōjutsu" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat. Standing still gives you an extra block " +"attempt but moving will briefly increase your damage." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "Sōjutsu-Stellung" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Your training grants better defense while using a polearm.\n" +"\n" +"+1 Block attempt." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Silat Counter" -msgstr "Silat-Konter" +msgid "Superior Positioning" +msgstr "" + +#. ~ Description of buff 'Superior Positioning' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You have given up your defenses for a moment to increase the damage of your attacks.\n" +"\n" +"+10%% damage, -1 Block attempts.\n" +"Lasts 1 turn." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Taekwondo" +msgstr "Taekwondo" -#. ~ Description of buff 'Silat Counter' for martial art 'Silat' +#. ~ Description for martial art 'Taekwondo' #: lang/json/martial_art_from_json.py -msgid "Extra to-hit after successful dodge" -msgstr "Zusätzlicher Treffbonus nach erfolgreichem Ausweichen" +msgid "" +"Taekwondo is the national sport of Korea, and was used by the South Korean " +"army in the 20th century. Focused on kicks and so it does not benefit from " +"wielded weapons. It also includes strength training; your blocks absorb " +"extra damage and your attacks do more damage if you are not holding " +"anything." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Taekwondo Stance" +msgstr "" + +#. ~ Description of buff 'Taekwondo Stance' for martial art 'Taekwondo' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Using your legs to attack allows your hands to be free for better defense.\n" +"\n" +"Blocked damage decreased by 50%% of Strength." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Unhindered" +msgstr "" + +#. ~ Description of buff 'Unhindered' for martial art 'Taekwondo' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Your attacks are stronger if you are not holding anything in your hands.\n" +"\n" +"+33%% bash damage when not using a weapon." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Tai Chi" +msgstr "Tai-Chi" + +#. ~ Description for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +msgid "" +"Though Tai Chi is often seen as a form of mental and physical exercise, it " +"is a legitimate martial art, focused on self-defense. Its ability to absorb" +" the force of an attack makes your Perception decrease damage further on a " +"block. Pausing for a moment enables powerful palm strike techniques." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Tai Chi Stance" +msgstr "" + +#. ~ Description of buff 'Tai Chi Stance' for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You are focused of defense and predicting your opponents attacks.\n" +"\n" +"+1 Block attempts, blocked damage reduced by 100%% Perception." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Repulse the Monkey" +msgstr "" + +#. ~ Description of buff 'Repulse the Monkey' for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"By perfectly positioning yourself and your opponent, you have become more accurate and can bypass your opponent's defenses.\n" +"\n" +"Accuracy increased by 20%% of Perception, gain bash Armor Pentration equal to 50%% of Perception.\n" +"Lasts 2 turns." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Tiger Kung Fu" @@ -111467,120 +115517,160 @@ msgstr "Tiger-Rage" #. ~ Description of buff 'Tiger Fury' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+3 Bash/atk" -msgstr "+3 Schlag/Angriff" +#, no-python-format +msgid "" +"You attack with an endless barrage of strikes. The more you hit, the stronger you become.\n" +"\n" +"+10%% damage.\n" +"Lasts 3 turns. Stacks 4 times." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Tiger Strength" -msgstr "Tigerstärke" +msgid "Tiger's Strength" +msgstr "" -#. ~ Description of buff 'Tiger Strength' for martial art 'Tiger Kung Fu' +#. ~ Description of buff 'Tiger's Strength' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Strength provides additional damage bonus." -msgstr "Stärke bietet zusätzlichen Schadensbonus." +#, no-python-format +msgid "" +"You do not need defense. You do not need a plan. You need strength. Strength will break your opponents' defenses and overwhelm them completely.\n" +"\n" +"Strength increases Accuracy instead of Dexterity.\n" +"\n" +"Accuracy increased by 25%% of Strength but decreased by 25%% of Dexterity." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Snake Kung Fu" -msgstr "Schlangen-Kung-Fu" +msgid "Wing Chun" +msgstr "" -#. ~ Description for martial art 'Snake Kung Fu' +#. ~ Description for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py msgid "" -"One of the five Shaolin animal styles. The Snake focuses on sinuous " -"movement and precision strikes. Your Perception improves your damage." +"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" +"learn effective techniques from the various Shaolin animal forms. It has a " +"high stance, with weight entirely on the rear leg. Wing Chun focuses on " +"sensitivity to the opponent's direction of force, and flowing around it to " +"get back to hitting." msgstr "" -"Einer der fünf tierischen Shaolin-Kampftechniken. Die »Schlange« " -"spezialisiert sich auf kurvenreiche Bewegung und Präzisionsschläge. Deine " -"Wahrnehmung verbessert deinen Schaden." #: lang/json/martial_art_from_json.py -msgid "Snake Sight" -msgstr "Schlangensicht" +msgid "Chain Punch" +msgstr "" -#. ~ Description of buff 'Snake Sight' for martial art 'Snake Kung Fu' +#. ~ Description of buff 'Chain Punch' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "Perception provides a bonus to damage." -msgstr "Wahrnehmung bringt einen Schadensbonus." +#, no-python-format +msgid "" +"Your punches are properly timed to give your opponent no rest from your strikes.\n" +"\n" +"-10%% move cost.\n" +"Lasts 1 turn. Stacks 3 times." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Debug Mastery" -msgstr "Debug-Meister" +msgid "Chi-Sao Sensitivity" +msgstr "" -#. ~ Description for martial art 'Debug Mastery' +#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "A secret martial art used only by developers and cheaters." +#, no-python-format +msgid "" +"You have a greater understanding of balance and technique. This gives you a better chance to avoid your opponent's attacks.\n" +"\n" +" Dodging Skill increased by 15%% of Perception. Blocked damage reduced by 50%% of Perception." msgstr "" -"Eine geheime Kampfkunst, die nur von Entwicklern und Cheatern benutzt wird." #: lang/json/martial_art_from_json.py -msgid "Elemental resistance" -msgstr "Elementaler Widerstand" +msgid "Zui Quan" +msgstr "Zui Quan" -#. ~ Description of buff 'Elemental resistance' for martial art 'Debug -#. Mastery' +#. ~ Description for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py msgid "" -"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " -"armor, +Perception fire armor." +"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" +" the enemy. You gain a passive dodge bonus and accuracy bonus based on your" +" intelligence. Moving gives you additional dodge attempts and each time you" +" dodge, you inflict more damage with your counterattack for until the end of" +" your next turn." msgstr "" -"+Stärke Schlagpanzerung, +Geschick Säurepanzerung, +Intelligenz " -"Elektropanzerung, +Wahrnehmung Feuerpanzerung." #: lang/json/martial_art_from_json.py -msgid "Sōjutsu" -msgstr "Sōjutsu" +msgid "Zui Quan Stance" +msgstr "" -#. ~ Description for martial art 'Sōjutsu' +#. ~ Description of buff 'Zui Quan Stance' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " -"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " -"to maintain advantage in combat." +"Others might think you stumble about at random but you know better. Each movement is calculated to make evading harm easier.\n" +"\n" +"Dodging Skill increased by 15%% of Intelligence." msgstr "" -"Sōjutsu (dt. »Lanzentechnik«) ist die japanische Kampfkunst des Kampfes mit " -"einem Speer. Sōjutsu konzentriert sich darauf, Gegner auf Distanz zu halten," -" um einen Vorteil im Kampf zu behalten." #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Stance" -msgstr "Sōjutsu-Stellung" +msgid "Advanced Zui Quan" +msgstr "" -#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#. ~ Description of buff 'Advanced Zui Quan' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Bonus block with reach weapons while standing still" -msgstr "Bonusblockieren für Waffen mit Distanzangriff beim Stillstehen" +#, no-python-format +msgid "" +"You have a greater understanding of Zui Quan. Your skills at dodging and landing attacks are much better as a result.\n" +"\n" +"+1 Dodge attempts, Accuracy increased by 15%% of Intelligence." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Rush" -msgstr "Sōjutsu-Ansturm" +msgid "Drunken Stumble" +msgstr "" -#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#. ~ Description of buff 'Drunken Stumble' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Increased damage when moving but no bonus block" -msgstr "Erhöhter Schaden beim Bewegen, aber kein Bonusblockieren" +msgid "" +"With a few quick steps, you can completely change your orientation and dodge additional attacks.\n" +"\n" +"+2 Dodge attempts.\n" +"Lasts 3 turns." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Wing Chun" +msgid "Drunken Dodging" msgstr "" -#. ~ Description for martial art 'Wing Chun' +#. ~ Description of buff 'Drunken Dodging' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" -"learn effective techniques from the various Shaolin animal forms. It has a " -"high stance, with weight entirely on the rear leg. Wing Chun focuses on " -"sensitivity to the opponent's direction of force, and flowing around it to " -"get back to hitting." +"Each time you dodge, your positional advantage increases against your opponents. This makes your attacks hit harder with each successful dodge.\n" +"\n" +"Gain Armor Penetration equal to 25%% of Intelligence.\n" +"Lasts 1 turn. Stacks 4 times." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Chi-Sao Sensitivity" +msgid "Debug Mastery" +msgstr "Debug-Meister" + +#. ~ Description for martial art 'Debug Mastery' +#: lang/json/martial_art_from_json.py +msgid "A secret martial art used only by developers and cheaters." msgstr "" +"Eine geheime Kampfkunst, die nur von Entwicklern und Cheatern benutzt wird." -#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "Perception increases dodging ability, +1 dodges per turn" +msgid "Elemental resistance" +msgstr "Elementaler Widerstand" + +#. ~ Description of buff 'Elemental resistance' for martial art 'Debug +#. Mastery' +#: lang/json/martial_art_from_json.py +msgid "" +"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " +"armor, +Perception fire armor." msgstr "" +"+Stärke Schlagpanzerung, +Geschick Säurepanzerung, +Intelligenz " +"Elektropanzerung, +Wahrnehmung Feuerpanzerung." #: lang/json/martial_art_from_json.py msgid "Bionic Combatives" @@ -111735,14 +115825,11 @@ msgstr "Kröten-Kung-Fu" #. ~ Description for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"One of the Five Deadly Venoms. Masters of Toad Style can focus themselves " -"against all attacks. You can meditate by pausing, giving you armor, though " -"you will lose focus when you move." +"One of the Five Deadly Venoms, used by Liang Shen. Masters of Toad Style " +"can focus themselves to protect against all attacks. You have powerful " +"armor against physical attacks, though you will lose focus when you move. " +"You can meditate by pausing, giving yourself more armor for a short time." msgstr "" -"Eines der »Fünf Tödlichen Gifte«. Die Meister des Krötenstils können sich " -"selbst gegen alle Angriffe konzentrieren. Du kannst durch Pausieren " -"meditieren, was dir Panzerung gibt, wobei du Konzentration verlierst, wenn " -"du dich bewegst." #: lang/json/martial_art_from_json.py msgid "Toad's Iron Skin" @@ -111750,8 +115837,11 @@ msgstr "Der Kröte Eisenhaut" #. ~ Description of buff 'Toad's Iron Skin' for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Gain up to +6 armor while standing still" -msgstr "Gibt bis zu +6 Panzerung beim Stillstehen" +msgid "" +"Your body is as strong as iron but only if you don't move.\n" +"\n" +"+6 bash, cut, and stab armor." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Iron Skin Dissipation" @@ -111760,8 +115850,12 @@ msgstr "Eisenhautzerstreuung" #. ~ Description of buff 'Iron Skin Dissipation' for martial art 'Toad Kung #. Fu' #: lang/json/martial_art_from_json.py -msgid "Iron Skin softens when you move!" -msgstr "Die Eisenhaut wird weich, wenn du dich bewegst!" +msgid "" +"Moving causes you to lose your iron skin.\n" +"\n" +"-1 bash, cut, and stab armor.\n" +"Lasts 6 turns. Stacks 6 times." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Viper Kung Fu" @@ -111770,42 +115864,49 @@ msgstr "Viper-Kung-Fu" #. ~ Description for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"A legacy of the Five Deadly Venoms. Viper Style has a unique three-part " -"combo, which initiates on a dodge, then counters with a stunning chop and " -"the legendary Viper Strike." +"A legacy of the Five Deadly Venoms, use by Qi Dong. Viper Style (originally" +" called Snake Style) has a unique three-part combo, which initiates on a " +"dodge, then follows up with a stunning Viper Bite and then finishes with the" +" legendary Viper Strike." msgstr "" -"Ein Erbe der »Fünf Tödlichen Gifte«. Der Viperstil hat eine einzigartige " -"dreiteilige Kombi, welche mit einem kritischem Treffer beginnen sollte, zu " -"dem dann Stichschaden und ein zweihändiger Viperschlag folgen." #: lang/json/martial_art_from_json.py -msgid "Viper Lock" -msgstr "Viperschlag verfügbar" +msgid "Viper's Patience" +msgstr "" -#. ~ Description of buff 'Viper Lock' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Patience' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You bit true! Your next attack will be the Viper Strike!" -msgstr "Guter Biss! Dein nächster Angriff wird der Viperschlag sein!" +msgid "" +"Every snake waits for the perfect moment to strike. Turn your opponents' mistakes into your opportunity to strike!\n" +"\n" +"+1.0 Dodge skill." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Patience" -msgstr "Vipergeduld" +msgid "Viper's Ambush" +msgstr "" -#. ~ Description of buff 'Viper Patience' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Ambush' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+2 Dodge. Dodging an attack initiates a combo." -msgstr "+2 Ausweichen. Ein erfolgreiches Ausweichmanöver startet eine Kombi." +msgid "" +"Your evasiveness has left your opponent wide open to painful bite.\n" +"\n" +"Enables \"Viper Bite\" technique.\n" +"Lasts 1 turn." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Ambush" -msgstr "Viper-Hinterhalt" +msgid "Viper's Venom" +msgstr "" -#. ~ Description of buff 'Viper Ambush' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Venom' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You've lured 'em in! Your next attack will be a Viper Bite." +msgid "" +"Your venom is a harsh reminder to never tease a predator.\n" +"\n" +"+2 bash damage.\n" +"Lasts 3 turn." msgstr "" -"Du hast sie in die Falle gelockt! Dein nächster Angriff wird der Viperbiss " -"sein." #: lang/json/martial_art_from_json.py msgid "C.R.I.T Blade-work" @@ -111941,6 +116042,10 @@ msgid "" "Lasts 2 turns." msgstr "" +#: lang/json/martial_art_from_json.py +msgid "Sojutsu" +msgstr "" + #: lang/json/material_from_json.py src/bionics.cpp msgid "Alcohol" msgstr "Alkohol" @@ -112182,6 +116287,10 @@ msgstr "Blei" msgid "Leather" msgstr "Leder" +#: lang/json/material_from_json.py +msgid "Lycra" +msgstr "" + #: lang/json/material_from_json.py msgid "Dairy" msgstr "Milch" @@ -112242,6 +116351,14 @@ msgstr "Stein" msgid "Superalloy" msgstr "Superlegierung" +#: lang/json/material_from_json.py +msgid "layered carbide" +msgstr "" + +#: lang/json/material_from_json.py +msgid "Synthetic Fabric" +msgstr "" + #: lang/json/material_from_json.py msgid "Tin" msgstr "" @@ -112352,6 +116469,10 @@ msgstr "" msgid "Arcane Skin" msgstr "" +#: lang/json/material_from_json.py +msgid "Orichalcum" +msgstr "" + #: lang/json/material_from_json.py msgid "Demon Chitin" msgstr "" @@ -112361,7 +116482,7 @@ msgid "Sugar" msgstr "" #: lang/json/mission_def_from_json.py -msgid "Gather bones for the Brigitte. About 8 should do it." +msgid "Gather bones for the Brigitte. About 8 should do it." msgstr "" #: lang/json/mission_def_from_json.py @@ -112410,48 +116531,6 @@ msgstr "" msgid "Then you shall try again, until you hear." msgstr "" -#: lang/json/mission_def_from_json.py -msgid "Find a Book" -msgstr "Ein Buch finden" - -#: lang/json/mission_def_from_json.py -msgid "Wanna help me out?" -msgstr "Willst du mir helfen?" - -#: lang/json/mission_def_from_json.py -msgid "Get me a book." -msgstr "Hol mir ein Buch." - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: lang/json/talk_topic_from_json.py -msgid "Thanks." -msgstr "Danke." - -#: lang/json/mission_def_from_json.py -msgid "Well, I'll find someone else to do it for me." -msgstr "Naja, ich werde einen anderen finden, der es für mich tut." - -#: lang/json/mission_def_from_json.py -msgid "Try a library." -msgstr "Versuch es mit einer Bibliothek." - -#: lang/json/mission_def_from_json.py -msgid "Got that book for me?" -msgstr "Hast du das Buch für mich?" - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: src/npctalk.cpp -msgid "Thanks!" -msgstr "Danke!" - -#: lang/json/mission_def_from_json.py -msgid "OK, then hand it over." -msgstr "OK, dann gib es mir." - -#: lang/json/mission_def_from_json.py -msgid "Shit happens." -msgstr "So ist das Leben!" - #: lang/json/mission_def_from_json.py msgid "Follow Sarcophagus Team" msgstr "Sarkophagen-Team folgen" @@ -113545,10 +117624,6 @@ msgstr "Wirklich … das ist zu schlecht." msgid "Null mission" msgstr "Null-Mission" -#: lang/json/mission_def_from_json.py -msgid "YOU SHOULDN'T BE SEEING THIS, THIS IS A BUG" -msgstr "DAS SOLLTEST DU NICHT SEHEN, DIES IST EIN BUG" - #: lang/json/mission_def_from_json.py msgid "Reach Farm House" msgstr "Bauernhaus erreichen" @@ -113818,6 +117893,14 @@ msgstr "" msgid "Thanks! I'll be sure to put in a good word for you around town." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "OK, then hand it over." +msgstr "OK, dann gib es mir." + +#: lang/json/mission_def_from_json.py +msgid "Shit happens." +msgstr "So ist das Leben!" + #: lang/json/mission_def_from_json.py msgid "Find Antibiotics Before You Die!" msgstr "" @@ -114241,7 +118324,7 @@ msgid "" msgstr "" #: lang/json/mission_def_from_json.py -msgid "I did't want to use chemicals on these rats." +msgid "I didn't want to use chemicals on these rats." msgstr "" #: lang/json/mission_def_from_json.py @@ -114545,6 +118628,10 @@ msgid "" "don't have any handy references." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "Fantastic, I'm not supposed to leave our land." +msgstr "" + #: lang/json/mission_def_from_json.py msgid "A library, bookstore should have one, schools are another good idea." msgstr "" @@ -115401,6 +119488,10 @@ msgstr "" msgid "Thanks, it's great to see someone willing to help a guy out." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "Well, I'll find someone else to do it for me." +msgstr "Naja, ich werde einen anderen finden, der es für mich tut." + #: lang/json/mission_def_from_json.py msgid "" "Plenty of smokers in towns. Gotta be some left over cigs in some of them " @@ -116180,8 +120271,8 @@ msgstr "" #: lang/json/mission_def_from_json.py msgid "" "Reach the collapsed tower basement, and search the ruins for a photonic " -"circuitry template. The intercom warned you about heavy enemy prescence, and" -" of the existence of a hazardous enviroment." +"circuitry template. The intercom warned you about heavy enemy presence, and" +" of the existence of a hazardous environment." msgstr "" #: lang/json/mission_def_from_json.py @@ -117916,7 +122007,7 @@ msgid "yourself scream in agony!" msgstr "dich selbst vor Qual schreien!" #. ~ Mutation class: Any junkie_message -#: lang/json/mutation_category_from_json.py src/iuse_actor.cpp +#: lang/json/mutation_category_from_json.py msgid "You quiver with anticipation..." msgstr "Du zitterst vor Vorfreude …" @@ -118613,19 +122704,19 @@ msgstr "" #. ~ Mutation class: Sugar Kin iv_message #: lang/json/mutation_category_from_json.py -msgid "You inject some more fizz into your sirup." +msgid "You inject some more fizz into your syrup." msgstr "" #. ~ Mutation class: Sugar Kin Male memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_male" -msgid "Cristalized." +msgid "Crystalized." msgstr "" #. ~ Mutation class: Sugar Kin Female memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_female" -msgid "Cristalized." +msgid "Crystalized." msgstr "" #: lang/json/mutation_from_json.py @@ -119114,8 +123205,8 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "You have a moustache and a beard starting with a strip going down from the " -"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus " -"the name." +"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus" +" the name." msgstr "" #: lang/json/mutation_from_json.py @@ -119125,7 +123216,7 @@ msgstr "" #. ~ Description for Facial hair: short boxed beard #: lang/json/mutation_from_json.py msgid "" -"You have a moustache and a short beard with trimmed sides. Thin patches " +"You have a moustache and a short beard with trimmed sides. Thin patches " "connect them both, forming a 'box' around the lips, thus the name." msgstr "" @@ -119248,7 +123339,7 @@ msgstr "" #. ~ Description for Facial hair: neckbeard #: lang/json/mutation_from_json.py msgid "" -"You have a beard formed from hair grown on neck below the chin line. No " +"You have a beard formed from hair grown on neck below the chin line. No " "moustache included." msgstr "" @@ -119351,6 +123442,27 @@ msgstr "" "Du kannst dich schneller bewegen als die Meisten, was dir bei sicherem Halt " "einen Geschwindigkeitsbonus von 15% gibt." +#: lang/json/mutation_from_json.py +msgid "Weak Photophore" +msgstr "" + +#. ~ Description for Weak Photophore +#: lang/json/mutation_from_json.py +msgid "" +"A photophore has grown from your head, you can make it glow soflty. This " +"will make you very visible in the dark, ideal to attract a partner during " +"mating season." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Photophore" +msgstr "" + +#. ~ Description for Photophore +#: lang/json/mutation_from_json.py +msgid "Your can make your photophore glow brightly." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Good Hearing" msgstr "Gutes Gehör" @@ -119911,13 +124023,10 @@ msgstr "Stimulanspsychose" #. ~ Description for Stimulant Psychosis #: lang/json/mutation_from_json.py msgid "" -"You have a unique history with stimulants (like coffee or amphetamines). You" -" can tolerate a lot more of them without overdosing, but if you indulge too " -"much, you start seeing things..." +"You have a unique history with stimulants (like coffee or amphetamines). " +"You can tolerate a lot more of them without overdosing, but if you indulge " +"too much, you start seeing things…" msgstr "" -"Du hast eine einzigartige Vorgeschichte mit Stimulanzien (wie Kaffee oder " -"Amphetaminen). Du kannst sie viel eher tolerieren, ohne eine Überdosis zu " -"erleiden, aber wenn du es übertreibst, wirst du Dinge sehen …" #. ~ Description for Stylish #: lang/json/mutation_from_json.py @@ -120071,8 +124180,20 @@ msgstr "Nahkampfwaffentraining" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-" -"Ryu, Pentjak Silat, or Sōjutsu." +"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-Ryu," +" Pentjak Silat, or Sōjutsu." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Competitive Fencer" +msgstr "" + +#. ~ Description for Competitive Fencer +#: lang/json/mutation_from_json.py +msgid "" +"You were an avid fencer, starting with foil and moving onto saber, then " +"épée. You competed nationally and dabbled with some of the historical " +"fencing weapons afforded by HEMA's popularity." msgstr "" #: lang/json/mutation_from_json.py @@ -120926,11 +125047,9 @@ msgstr "Naturgeistaugen" #. ~ Description for Fey Eyes #: lang/json/mutation_from_json.py msgid "" -"Your eyes have turned...green. It's tough to tell the exact shade as it " -"seems to shift. The effect is ...pleasant." +"Your eyes have turned… green. It's tough to tell the exact shade as it " +"seems to shift. The effect is… pleasant." msgstr "" -"Deine Augen sind … grün geworden. Es ist schwer, den genauen Farbton zu " -"nennen, weil er sich zu verändern scheint. Die Wirkung ist … angenehm." #: lang/json/mutation_from_json.py msgid "Fey Vision" @@ -121853,11 +125972,8 @@ msgstr "Marlossträger" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss berry, you can't get its scent out of your " -"nose, and you have a strong desire to try some seeds and...sap?" +"nose, and you have a strong desire to try some seeds and… sap?" msgstr "" -"Seitdem du diese Marlossbeere gegessen hast, kannst du nicht mehr ihren " -"Geruch aus deiner Nase bekommen und hast ein starkes Verlangen, ein paar " -"Samen zu probieren und … Saft?" #: lang/json/mutation_from_json.py msgid "Marloss Vessel" @@ -121867,11 +125983,8 @@ msgstr "Marlosswird" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss seed, you can't get its taste off of your " -"tongue, and you have a strong desire to try some berries and...sap?" +"tongue, and you have a strong desire to try some berries and… sap?" msgstr "" -"Seitdem du diesen Marlosssamen gegessen hast, kannst du nicht mehr ihren " -"Gemack aus deiner Zunge bekommen und hast ein starkes Verlangen, ein paar " -"Beeren zu probieren und … Saft?" #: lang/json/mutation_from_json.py msgid "Marloss Vector" @@ -122342,12 +126455,9 @@ msgstr "Säbelzähne" #: lang/json/mutation_from_json.py msgid "" "Your fangs have grown extremely large and incredibly sharp. They make it " -"impossible to wear mouthgear and difficult to eat... but leave nasty wounds" -" when you bite." +"impossible to wear mouthgear and difficult to eat… but leave nasty wounds " +"when you bite." msgstr "" -"Deine Reißzähne sind extrem groß und unglaublich scharf geworden. Sie machen" -" es unmöglich, Mundbekleidungen zu tragen und das Essen schwer. Aber sie " -"hinterlassen schlimme Wunden, wenn du beißt." #: lang/json/mutation_from_json.py #, no-python-format @@ -123785,11 +127895,9 @@ msgstr "Schnauze" #. ~ Description for Snout #: lang/json/mutation_from_json.py msgid "" -"Your face and jaw have begun...changing. Masks and such fit OK, but you're " +"Your face and jaw have begun… changing. Masks and such fit OK, but you're " "noticeably mutated." msgstr "" -"Dein Gesicht und Kiefer begannen sich zu … verändern. Masken und ähnliches " -"passen noch einigermaßen, aber du bist merklich mutiert." #: lang/json/mutation_from_json.py msgid "Bovine Snout" @@ -124660,14 +128768,12 @@ msgstr "Ektotherm" #. ~ Description for Ectothermic #: lang/json/mutation_from_json.py +#, no-python-format msgid "" -"Your body has become permanently cold-blooded. Your speed lowers--or raises" -"--for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to " -"eat half as much as an average human." +"Your body has become permanently cold-blooded. Your speed lowers or raises " +"1% for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to" +" eat half as much as an average human." msgstr "" -"Dein Körper ist permanent kaltblütig geworden. Deine Geschwindigkeit sinkt " -"bzw. steigt für alle 2 °F (1,1 °C) unter bzw. über 65 °F (18,3 °C). Du musst" -" nur halb so viel wie ein durchschnittlicher Mensch essen." #: lang/json/mutation_from_json.py msgid "Growling Voice" @@ -125014,10 +129120,8 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "It would be good to be a Queen, having workers constantly servicing your " -"every need...but how would you keep them in line?" +"every need… but how would you keep them in line?" msgstr "" -"Es wäre gut, eine Königin zu sein und Arbeiter zu haben, die permanent jeden" -" deiner Bedürfnisse erfüllen … aber wie würdest du sie auf Zack halten?" #. ~ Description for Plant #: lang/json/mutation_from_json.py @@ -125035,11 +129139,9 @@ msgstr "Wässrig" #. ~ Description for Aqueous #: lang/json/mutation_from_json.py msgid "" -"What was that old advertisement, 'paint the planet'? That might be a good " -"long-term goal, but for now..." +"What was that old advertisement, 'paint the planet'? That might be a good " +"long-term goal, but for now…" msgstr "" -"Wie ging nochmal die alte Werbung? »Mal die Welt bunt an!«? Das könnte ein " -"gutes langfristiges Ziel sein, aber jetzt …" #: lang/json/mutation_from_json.py msgid "Subterranean" @@ -125826,6 +129928,17 @@ msgid "" "Keep. Moving." msgstr "" +#: lang/json/mutation_from_json.py +msgid "Wayfarer" +msgstr "" + +#. ~ Description for Wayfarer +#: lang/json/mutation_from_json.py +msgid "" +"Whether from personal choice or childhood trauma, travelling with vehicles " +"is off-limits to you, even if your life depended on it." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Survivor Story" msgstr "Überlebendengeschichte" @@ -126856,8 +130969,8 @@ msgid "Scientist" msgstr "Wissenschaftler" #: lang/json/npc_class_from_json.py -msgid "I'm looking for clues concerning these monsters' origins..." -msgstr "Ich suche nach Hinweisen über die Ursprünge dieser Monster." +msgid "I'm looking for clues concerning these monsters' origins…" +msgstr "" #: lang/json/npc_class_from_json.py msgid "Bounty Hunter" @@ -126920,7 +131033,7 @@ msgid "Real Person" msgstr "" #: lang/json/npc_class_from_json.py -msgid "I'm just wandering, like a totally real and normal NP... Person!" +msgid "I'm just wandering, like a totally real and normal NP… Person!" msgstr "" #: lang/json/npc_class_from_json.py @@ -126936,7 +131049,7 @@ msgid "Foodperson" msgstr "" #: lang/json/npc_class_from_json.py -msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" +msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" msgstr "" #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py @@ -126944,7 +131057,7 @@ msgid "Cyborg" msgstr "Cyborg" #: lang/json/npc_class_from_json.py -msgid "Zzzzzt... I...I'm a Cy...BEEEEEP...borg." +msgid "Zzzzzt… I… I'm a Cy… BEEEEEP… borg." msgstr "" #: lang/json/npc_class_from_json.py @@ -127084,6 +131197,18 @@ msgstr "" msgid "I'm the owner of a trade caravan." msgstr "" +#: lang/json/npc_class_from_json.py +msgid "Operator" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "Mage Test" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "I'm a wandering debug tester for the arcane arts." +msgstr "" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -128660,10 +132785,22 @@ msgstr "Musikladen" msgid "music store roof" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore parking lot" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "megastore" msgstr "Kaufhaus" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore, second floor" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "megastore roof" +msgstr "Kaufhausdach" + #: lang/json/overmap_terrain_from_json.py msgid "hotel parking" msgstr "Hotelparkplatz" @@ -129016,7 +133153,7 @@ msgstr "Bauernhof in Vorbereitung" msgid "garage survey" msgstr "Garage in Vorbereitung" -#: lang/json/overmap_terrain_from_json.py +#: lang/json/overmap_terrain_from_json.py lang/json/recipe_from_json.py msgid "kitchen survey" msgstr "Küche in Vorbereitung" @@ -129037,7 +133174,7 @@ msgid "spiked trench" msgstr "Stachelgraben" #: lang/json/overmap_terrain_from_json.py -msgid "store survey" +msgid "fabrication workshop survey" msgstr "" #: lang/json/overmap_terrain_from_json.py @@ -129052,6 +133189,18 @@ msgstr "Schmiede" msgid "livestock survey" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "store house survey" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "saltworks survey" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "canteen survey" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "crater" msgstr "Krater" @@ -129733,6 +133882,10 @@ msgstr "Schießplatz" msgid "shooting range roof" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "miniature railway" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "golf course" msgstr "Golfplatz" @@ -130423,6 +134576,10 @@ msgstr "" msgid "mechanics garage" msgstr "Mechanikergarage" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore entrance" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "sewage treatment" msgstr "Abwasserkläranlage" @@ -130467,10 +134624,6 @@ msgstr "zerstörte Hütte - Schmutzfläche" msgid "desert" msgstr "" -#: lang/json/overmap_terrain_from_json.py -msgid "megastore roof" -msgstr "Kaufhausdach" - #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Vagabond" @@ -135454,6 +139607,36 @@ msgid "" "on. This displeases you." msgstr "" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Competetive Fencer" +msgstr "" + +#. ~ Profession (male Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Competetive Fencer" +msgstr "" + +#. ~ Profession (female Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Career Politician" @@ -136482,6 +140665,248 @@ msgid "" "flesh that is now your own, bare your fangs and fight until the next dawn." msgstr "" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Rifleman" +msgstr "" + +#. ~ Profession (male Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Rifleman" +msgstr "" + +#. ~ Profession (female Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Marksman" +msgstr "" + +#. ~ Profession (male Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Marksman" +msgstr "" + +#. ~ Profession (female Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Automatic Rifleman" +msgstr "" + +#. ~ Profession (male Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "S stands for suppressing fire!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Automatic Rifleman" +msgstr "" + +#. ~ Profession (female Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "S stands for suppressing fire!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Grenadier" +msgstr "" + +#. ~ Profession (male Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "There's no kill like overkill." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Grenadier" +msgstr "" + +#. ~ Profession (female Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "There's no kill like overkill." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Breacher" +msgstr "" + +#. ~ Profession (male Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Breacher" +msgstr "" + +#. ~ Profession (female Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Recon" +msgstr "" + +#. ~ Profession (male Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "The only easy day was yesterday." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Recon" +msgstr "" + +#. ~ Profession (female Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "The only easy day was yesterday." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Sniper" +msgstr "" + +#. ~ Profession (male Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Sniper" +msgstr "" + +#. ~ Profession (female Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Hacker" +msgstr "" + +#. ~ Profession (male Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Hacker" +msgstr "" + +#. ~ Profession (female Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Undercover" +msgstr "" + +#. ~ Profession (male Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Undercover" +msgstr "" + +#. ~ Profession (female Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator CBRN" +msgstr "" + +#. ~ Profession (male Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator CBRN" +msgstr "" + +#. ~ Profession (female Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Rookie" @@ -138352,16 +142777,6 @@ msgstr "" msgid "BUILDING" msgstr "BAU" -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "BASES" -msgstr "BASEN" - -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "EXPANSIONS" -msgstr "EXPANSIONEN" - #. ~ Crafting recipes category name #: lang/json/recipe_category_from_json.py msgid "ENCHANTED" @@ -139311,7 +143726,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"We should build a well, put it near that winch. This will make our future " +"We should build a well, put it near that winch. This will make our future " "here more secure." msgstr "" @@ -139368,7 +143783,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" "Now that we have some cover, we should set up a brazier for cooking, and " -"grab a pot. Let's put it in that dining area." +"grab a pot. Let's put it in that dining area." msgstr "" #: lang/json/recipe_from_json.py @@ -140088,6 +144503,360 @@ msgstr "" msgid "Blacksmithy drop hammer" msgstr "" +#: lang/json/recipe_from_json.py +msgid "Survey land for a kitchen and dining area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 fireplaces for cooking and " +"grab a pot." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 2 fireplaces" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 stoves for cooking and grab a" +" pot." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 2 wood stoves" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "We should build a well. This will make cooking more convenient." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build some counters and shelves." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build kitchen counters" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 3 smoking racks and a charcoal kiln" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets furnish the pantry and build 2 root cellars." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make some furniture for the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the dining room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build some planters to the north for a chef's garden." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build some planters" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen log walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the log wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen log walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the log wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this log wall smoking area covered to protect the workers from the " +"weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a log wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a log wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a log wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west log wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W log wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east log wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E log wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the log wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the log wall dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen metal walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the metal wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen metal walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the metal wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this metal wall smoking area covered to protect the workers from " +"the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a metal wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west metal wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W metal wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east metal wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E metal wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the metal wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the metal wall dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen rock walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen rock walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the rock wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this rock wall smoking area covered to protect the workers from the" +" weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a rock wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west rock wall of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W rock wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east rock wall of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E rock wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the rock dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wattle and daub walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the wattle and daub central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wattle and daub walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the wattle and daub central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wattle and daub smoking area covered to protect the workers " +"from the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wattle and daub wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wattle and daub wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wattle and daub wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wattle and daub dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the wattle and daub dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wood panel walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the wood panel central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wood panel walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the wood panel central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wood panel smoking area covered to protect the workers from " +"the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wood panel pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wood panel wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wood wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wood panel wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wood wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wood panel dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the dining hall" +msgstr "" + #: lang/json/recipe_from_json.py msgid "Survey land for a livestock area." msgstr "" @@ -140256,6 +145025,424 @@ msgid "" " a roof on the southwest side of the livestock field." msgstr "" +#: lang/json/recipe_from_json.py +msgid "Survey land for a saltworks area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Saltworks survey" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could uprade the workspace in the brewery to add a still, wood stove and " +"work table." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery still" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "We could use fill out the space with extra kegs and storage racks." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery kegs" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a log building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE log wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a log shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE log wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a log " +"brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW log wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a metal shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE metal wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a metal shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE metal wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a metal" +" wall brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW metal wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a stone building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE stone wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a stone wall " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE stone wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a stone" +" brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW stone wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in an adobe hut." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wattle and daub saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build an adobe shack" +" with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wattle and daub storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build an " +"wattle and daub brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wattle and daub brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a wooden shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wood panel saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a wood panel " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wood panel storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a " +"wooden brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wood panel brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a fireplace for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a brazier for cooking and grab a pot. Let's set up near the" +" working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a wood stove for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a well, put it near the terminal. This will make our future" +" here more secure." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the E bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the W bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make a dining area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make a living room area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the living room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build some pantry storage." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build some wooden racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build a work bench." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a work bench" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's set up a radio tower to improve our recruitment efforts." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will start in the " +"southeast corner." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the same wall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the other wall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW wood panel bedroom walls" +msgstr "" + #: lang/json/recipe_from_json.py msgid "" "We could use a large log central storage building. Begin by building the " @@ -140592,7 +145779,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northwest." +"Some benches around the outside would be nice. Build some to the northwest." msgstr "" #: lang/json/recipe_from_json.py @@ -140601,7 +145788,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northeast." +"Some benches around the outside would be nice. Build some to the northeast." msgstr "" #: lang/json/recipe_from_json.py @@ -140610,7 +145797,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southeast." +"Some benches around the outside would be nice. Build some to the southeast." msgstr "" #: lang/json/recipe_from_json.py @@ -140619,7 +145806,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southwest." +"Some benches around the outside would be nice. Build some to the southwest." msgstr "" #: lang/json/recipe_from_json.py @@ -140837,6 +146024,10 @@ msgstr "" msgid "Firestation Base" msgstr "" +#: lang/json/recipe_group_from_json.py +msgid "Evac Shelter Base" +msgstr "" + #: lang/json/recipe_group_from_json.py msgid "Farm" msgstr "Bauernhof" @@ -140846,8 +146037,8 @@ msgid "Garage" msgstr "Garage" #: lang/json/recipe_group_from_json.py -msgid "Kitchen" -msgstr "Küche" +msgid "Canteen" +msgstr "" #: lang/json/recipe_group_from_json.py msgid "Livestock Area" @@ -140858,7 +146049,11 @@ msgid "Central Storage Building" msgstr "" #: lang/json/recipe_group_from_json.py -msgid "Fabrication workshop" +msgid "Saltworks Area" +msgstr "" + +#: lang/json/recipe_group_from_json.py +msgid "Fabrication Workshop" msgstr "" #: lang/json/recipe_group_from_json.py @@ -140989,6 +146184,10 @@ msgstr " Kochen: Fleisch, konserviert" msgid " Cook: Meat Aspic" msgstr " Kochen: Fleischsülze" +#: lang/json/recipe_group_from_json.py +msgid " Cook: Kompot" +msgstr "" + #: lang/json/recipe_group_from_json.py msgid " Craft: Pointy Sticks" msgstr " Fertigen: Spitze Stöcke" @@ -141694,7 +146893,7 @@ msgstr "Hinterhalt" #: lang/json/scenario_from_json.py msgctxt "scen_desc_male" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "" @@ -141702,7 +146901,7 @@ msgstr "" #: lang/json/scenario_from_json.py msgctxt "scen_desc_female" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "" @@ -142252,6 +147451,44 @@ msgctxt "start_name" msgid "Wizard's Secret Basement Study" msgstr "" +#. ~ Name for scenario 'The Wizard's Vacation' for a male character +#: lang/json/scenario_from_json.py +msgctxt "scenario_male" +msgid "The Wizard's Vacation" +msgstr "" + +#. ~ Name for scenario 'The Wizard's Vacation' for a female character +#: lang/json/scenario_from_json.py +msgctxt "scenario_female" +msgid "The Wizard's Vacation" +msgstr "" + +#. ~ Description for scenario 'The Wizard's Vacation' for a male character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_male" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" + +#. ~ Description for scenario 'The Wizard's Vacation' for a female character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_female" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" + +#. ~ Starting location for scenario 'The Wizard's Vacation'. +#: lang/json/scenario_from_json.py +msgctxt "start_name" +msgid "Wizard's Retreat Vacation" +msgstr "" + #. ~ Name for scenario 'The Sweet Life' for a male character #: lang/json/scenario_from_json.py msgctxt "scenario_male" @@ -142269,7 +147506,7 @@ msgstr "" msgctxt "scen_desc_male" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" @@ -142280,7 +147517,7 @@ msgstr "" msgctxt "scen_desc_female" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" @@ -147491,13 +152728,7 @@ msgid "" msgstr "" #: lang/json/snippet_from_json.py -msgid "Pass me a beer, I need to power my ethanol burner." -msgstr "" - -#: lang/json/snippet_from_json.py -msgid "" -"Ethanol burners! The power source that's fun to recharge. Get me a drink, " -"please!" +msgid "Pass some ethanol, I need to power my ethanol burner." msgstr "" #: lang/json/snippet_from_json.py @@ -147505,20 +152736,12 @@ msgid "Waiter! I need a refill, my ethanol burner is running out of charge!" msgstr "" #: lang/json/snippet_from_json.py -msgid "" -"I require ethanol-based drinks for my internal power supply. Anything on " -"you?" +msgid "I require ethanol for my internal power supply. Anything on you?" msgstr "" #: lang/json/snippet_from_json.py msgid "" -"Got any alcohol to spare? Need to recharge my drives. Mead, if you have any." -msgstr "" - -#: lang/json/snippet_from_json.py -msgid "" -"This ethanol-burning power supply is the best implant I ever got. Speaking " -"of which, got some booze to top me off?" +"Got any alcohol to spare? Need to recharge my drives. Methanol, would do." msgstr "" #: lang/json/snippet_from_json.py @@ -148194,6 +153417,47 @@ msgstr "" msgid " will follow normal engagement rules." msgstr "" +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"IMMERSION LOG: 27A\n" +"\n" +"INCIDENT REPORT:\n" +"\n" +"SUMMARY:\n" +"Unforeseen EM interference source forced the team to remain in-phase between prime and sub-scape 27. Expedition members reported observing a spheroid-entity ('PE-01') moving beneath the typically opaque t-substrate. Interference readings and expedition testimony implies the PE-01 was a potent EM radiation source, and the origin of the interference. After 30 min, PE-01 receded and the expedition was aborted in accordance of procedure EMER-12. The expedition team suffered no injuries, physical or mental, during the incident. \n" +"\n" +"It's become clear we have greatly underestimated the risk posed by phase immersions. Engineering has been tasked with designing a new, improved protection suite, and has shown promising advances. Updated emergency procedures are in-progress.\n" +"\n" +"Refer to file EXO-I-271 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALYSIS OF TRANSPLANAR MATERIALS\n" +"\n" +"T-SUBSTRATE\n" +"\n" +"SUMMARY:\n" +"The material henceforth named t-substrate is the naturally occurring 'floor' material of phase-space. Samples of t-substrate were first recovered during IMMERSION-25A, when upon return to prime the samples violently [////////], exhibiting what are now known as 'plane-uneven' physical properties. The following report will examine such variances to the best extent of our knowledge.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALISIS OF TRANSPLANAR MATERIALS \n" +"\n" +"T-SUBSTRATE\n" +"\n" +"HAADF MICROGRAPH:\n" +"An atomic-scale photograph shows only a completely smooth red surface. In the lower left corner the phrase 'Not made of atoms?!' is scrawled with a blue pen.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + #: lang/json/snippet_from_json.py msgid "" "\n" @@ -154249,8 +159513,8 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made " -"of smooth candy looking at you in terror. \"SugarKin the first life-size " +"A flyer for some kind of candy. It shows a picture of a gleaming human made" +" of smooth candy looking at you in terror. \"SugarKin the first life-size " "human candy! Are you a real monster? Will you be able to devour it all?\"" msgstr "" @@ -155320,7 +160584,7 @@ msgid "a static hissing sound." msgstr "ein rauschendes Zischgeräusch." #: lang/json/speech_from_json.py -msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe...\"" +msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe…\"" msgstr "" #: lang/json/speech_from_json.py @@ -155334,11 +160598,11 @@ msgid "\"Hold on, I want to pulp that zombie corpse.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Burning... from the inside...\"" +msgid "\"Burning… from the inside…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"This smell... Don't know...\"" +msgid "\"This smell… Don't know…\"" msgstr "" #: lang/json/speech_from_json.py @@ -155350,19 +160614,19 @@ msgid "a scraping noise." msgstr "ein Kratzgeräusch." #: lang/json/speech_from_json.py -msgid "\"No... Stop the burning!\"" +msgid "\"No… Stop the burning!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Hrgm... Blood... Hungry...\"" +msgid "\"Hrgm… Blood… Hungry…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Hunger... Must eat...\"" +msgid "\"Hunger… Must eat…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Run... Chase... Eat...\"" +msgid "\"Run… Chase… Eat…\"" msgstr "" #: lang/json/speech_from_json.py @@ -155488,7 +160752,7 @@ msgid "\"THIS UNIT IS BROKEN. PLEASE CALL AN ATTENDANT.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Can't... breathe...\"" +msgid "\"Can't… breathe…\"" msgstr "" #: lang/json/speech_from_json.py @@ -155501,8 +160765,8 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" -"\"Have you seen my friend? He went into surgery yesterday... or maybe the " -"day before...\"" +"\"Have you seen my friend? He went into surgery yesterday… or maybe the day" +" before…\"" msgstr "" #: lang/json/speech_from_json.py @@ -155514,7 +160778,7 @@ msgid "\"I have done what you asked. Please let me go!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"I cannot... yet I must. How do you calculate that?\"" +msgid "\"I cannot… yet I must. How do you calculate that?\"" msgstr "" #: lang/json/speech_from_json.py @@ -155522,11 +160786,11 @@ msgid "\"This is a dream. This has to be a dream.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"This is my life now... this is my life now... this is my life now...\"" +msgid "\"This is my life now… this is my life now… this is my life now…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Wanna go home...\"" +msgid "\"Wanna go home…\"" msgstr "" #: lang/json/speech_from_json.py @@ -155582,7 +160846,7 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" "a worried voice say, \"Customer, could you please get more friendship? I " -"don't want to go...\"" +"don't want to go…\"" msgstr "" #: lang/json/speech_from_json.py @@ -155605,18 +160869,18 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"Customer... What's happening? I don't feel so " +"a distorted voice say, \"Customer… What's happening? I don't feel so " "good.\"" msgstr "" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"What... have you done? My thumbs are not " -"responding anymore!\"" +"a distorted voice say, \"What… have you done? My thumbs are not responding " +"anymore!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "a distorted voice say, \"Carrying bags? I don't understand...\"" +msgid "a distorted voice say, \"Carrying bags? I don't understand…\"" msgstr "" #: lang/json/speech_from_json.py @@ -155739,7 +161003,7 @@ msgid "\"Police inbound. Stay where you are!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" +msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" msgstr "" #: lang/json/speech_from_json.py @@ -155760,7 +161024,7 @@ msgid "\"FoodPlace: It's the Calories.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" +msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" msgstr "" #: lang/json/speech_from_json.py @@ -155828,8 +161092,8 @@ msgid "You shouldn't have done that." msgstr "Das solltest du nicht getan haben." #: lang/json/speech_from_json.py -msgid "Let's play... Russian roulette." -msgstr "Lasst uns Russisch Roulette spielen." +msgid "Let's play… Russian roulette." +msgstr "" #: lang/json/speech_from_json.py msgid "I hate you." @@ -155840,8 +161104,8 @@ msgid "Go kill yourself!" msgstr "Los, bring dich um!" #: lang/json/speech_from_json.py -msgid "Big Brother is watching you..." -msgstr "Der große Bruder sieht dich an." +msgid "Big Brother is watching you…" +msgstr "" #: lang/json/speech_from_json.py msgid "Die for me!" @@ -155852,12 +161116,12 @@ msgid "Why won't you die?" msgstr "Warum stirbst du nicht?" #: lang/json/speech_from_json.py -msgid "Blood... Delicious." -msgstr "Blut … lecker!" +msgid "Blood… Delicious." +msgstr "" #: lang/json/speech_from_json.py -msgid "See you... IN HELL!" -msgstr "Wir sehen uns. In der HÖLLE!" +msgid "See you… IN HELL!" +msgstr "" #: lang/json/speech_from_json.py msgid "AAAIEEEEEEE!" @@ -155872,8 +161136,8 @@ msgid "What did you do with my Mommy?" msgstr "Was hast du mit meiner Mami getan?" #: lang/json/speech_from_json.py -msgid "Stay with me... forever!" -msgstr "Begleite mich … für immer!" +msgid "Stay with me… forever!" +msgstr "" #: lang/json/speech_from_json.py msgid "Hey kids. Want some candy?" @@ -157333,6 +162597,10 @@ msgstr "Sammlerbunker" msgid "Wizard's Secret Basement Study" msgstr "" +#: lang/json/start_location_from_json.py +msgid "Wizard's lake retreat" +msgstr "" + #: lang/json/start_location_from_json.py msgid "Candy Shop" msgstr "" @@ -157382,16 +162650,16 @@ msgid "Acolyte." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What? What do you mean? What song?" +msgid "What? What do you mean? What song?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So about the songs..." +msgid "So about the songs…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You mentioned some cycle before, when I gave you the bones. What does that " +"You mentioned some cycle before, when I gave you the bones. What does that " "mean?" msgstr "" @@ -157408,7 +162676,7 @@ msgid "Is there a way I can help you with your song?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I have to get going. Take care, Seer." +msgid "I have to get going. Take care, Seer." msgstr "" #: lang/json/talk_topic_from_json.py @@ -157418,11 +162686,11 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What? Singing bones? What are you talking about?" +msgid "What? Singing bones? What are you talking about?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Uh... yeah, sure. I think I'll just be on my way." +msgid "Uh… yeah, sure. I think I'll just be on my way." msgstr "" #: lang/json/talk_topic_from_json.py @@ -157471,7 +162739,7 @@ msgid "I will bear that in mind" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Cause? Why do you gather these bones anyway?" +msgid "Cause? Why do you gather these bones anyway?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -157483,7 +162751,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "End the world? What?" +msgid "End the world? What?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -157495,8 +162763,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Sounds somewhat... doomsday-ish, but I suppose it's a belief like any other." -" Still, at least you have a goal to help the world, one way or another." +"Sounds somewhat… doomsday-ish, but I suppose it's a belief like any other. " +"Still, at least you have a goal to help the world, one way or another." msgstr "" #: lang/json/talk_topic_from_json.py @@ -157511,7 +162779,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I... thank you." +msgid "I… thank you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -157526,15 +162794,12 @@ msgid "Yeah, alright." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "There are bones to etch, songs to sing. Wish to join me?" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "Do you believe you can take on the burden of additional bones?" +msgid "" +"I know of certain bones that could be of use, if you'd like to know more." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" +msgid "There is an additional song you could take on, if you'd like." msgstr "" #: lang/json/talk_topic_from_json.py @@ -157542,18 +162807,15 @@ msgid "A song may yet be sung by you, should you wish to." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"I know of certain bones that could be of use, if you'd like to know more." +msgid "Do you believe you can take on the burden of additional bones?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "There is an additional song you could take on, if you'd like." +msgid "Do you wish to take on more songs?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"The song is... quiet for now. Perhaps with time, more notes will be etched " -"in the bones of this world." +msgid "There are bones to etch, songs to sing. Wish to join me?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -157564,6 +162826,12 @@ msgstr "" msgid "An acolyte should not take on too many songs at once." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"The song is... quiet for now. Perhaps with time, more notes will be etched " +"in the bones of this world." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I see." msgstr "Ich verstehe." @@ -157585,7 +162853,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Well, I guess I oughta see where this goes. I'm in." +msgid "Well, I guess I oughta see where this goes. I'm in." msgstr "" #: lang/json/talk_topic_from_json.py @@ -157593,7 +162861,7 @@ msgid "Not interested." msgstr "Bin nicht interessiert." #: lang/json/talk_topic_from_json.py -msgid "Consider it done. But I also wanted to ask..." +msgid "Consider it done. But I also wanted to ask…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -157609,7 +162877,7 @@ msgid "I'm off then." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So, a creature that isn't a zombie, or a monster. Got it." +msgid "So, a creature that isn't a zombie, or a monster. Got it." msgstr "" #: lang/json/talk_topic_from_json.py @@ -157619,7 +162887,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I see. Very well then." +msgid "I see. Very well then." msgstr "" #: lang/json/talk_topic_from_json.py @@ -157637,11 +162905,11 @@ msgid "I am glad to hear it. Let's go then." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That's good, but I need to go at it alone right now. Maybe later." +msgid "That's good, but I need to go at it alone right now. Maybe later." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Maybe some other time. Changing the topic..." +msgid "Maybe some other time. Changing the topic…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -157663,12 +162931,12 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"That is... that's really one hell of a belief. Well, if it helps you deal " +"That is… that's really one hell of a belief. Well, if it helps you deal " "with the world, who am I to argue." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "And here I thought you were nuts before. I'm out of here." +msgid "And here I thought you were nuts before. I'm out of here." msgstr "" #: lang/json/talk_topic_from_json.py @@ -158053,11 +163321,11 @@ msgid "Go back to sleep." msgstr "Leg dich wieder schlafen." #: lang/json/talk_topic_from_json.py -msgid " *pshhhttt* I'm reading you boss, over." +msgid "What is it, friend?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What is it, friend?" +msgid " *pshhhttt* I'm reading you boss, over." msgstr "" #: lang/json/talk_topic_from_json.py @@ -158088,6 +163356,10 @@ msgstr "" msgid "Guard this position." msgstr "Bewach diese Position." +#: lang/json/talk_topic_from_json.py +msgid "I want to assign you to work at this camp." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Let's talk about your current activity." msgstr "" @@ -158137,19 +163409,19 @@ msgid "Let's go." msgstr "Los geht’s!" #: lang/json/talk_topic_from_json.py -msgid "Change your engagement rules..." -msgstr "Ändere deine Angriffsstrategie…" +msgid "Change your engagement rules…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your aiming rules..." -msgstr "Ändere deine Zielregeln…" +msgid "Change your aiming rules…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power reserve rules..." +msgid "Change your bionic power reserve rules…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power recharge rules..." +msgid "Change your bionic power recharge rules…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -158161,11 +163433,11 @@ msgid "Stick close to me, no matter what." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py @@ -158213,9 +163485,9 @@ msgstr "" #: src/handle_action.cpp src/handle_action.cpp src/handle_liquid.cpp #: src/handle_liquid.cpp src/iexamine.cpp src/iexamine.cpp src/iexamine.cpp #: src/iuse.cpp src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -#: src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp src/pickup.cpp -#: src/player.cpp src/player.cpp src/player.cpp src/veh_interact.cpp -#: src/vehicle_use.cpp +#: src/iuse_actor.cpp src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp +#: src/pickup.cpp src/player.cpp src/player.cpp src/player.cpp +#: src/veh_interact.cpp src/vehicle_use.cpp msgid "Never mind." msgstr "Ach, schon gut." @@ -158426,7 +163698,7 @@ msgid "Nah, I'm just kidding." msgstr "Ach was, ich mach nur Scherze." #: lang/json/talk_topic_from_json.py -msgid "Please go to this location..." +msgid "Please go to this location…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -158437,12 +163709,16 @@ msgstr "" msgid "Show me what needs to be done at the camp." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "I'm not doing much currently." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I'm currently ." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm not doing much currently." +msgid "I meant what are your goals?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -158524,13 +163800,13 @@ msgstr "" "Was ist los?" #: lang/json/talk_topic_from_json.py -msgid "" -"Well, it's the time of day for a quick break surely! How are you holding " -"up?" +msgid "Man it's dark out isn't it? what's up?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Man it's dark out isn't it? what's up?" +msgid "" +"Well, it's the time of day for a quick break surely! How are you holding " +"up?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -158559,8 +163835,8 @@ msgstr "" "um?" #: lang/json/talk_topic_from_json.py -msgid "Oh you know, not bad, not bad..." -msgstr "Ach weißt du, nicht schlecht, nicht schlecht ..." +msgid "Oh you know, not bad, not bad…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -158623,14 +163899,14 @@ msgstr "Okay, keine plötzlichen Bewegungen!" msgid "Keep your distance!" msgstr "Bleib fern!" -#: lang/json/talk_topic_from_json.py -msgid "" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "This is my territory, ." msgstr "Das ist mein Gebiet, ." +#: lang/json/talk_topic_from_json.py +msgid "" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Calm down. I'm not going to hurt you." msgstr "Ruhig Blut. Ich habe nicht vor, dich zu verletzen." @@ -158647,14 +163923,14 @@ msgstr "" msgid "&Put hands up." msgstr "&Hände hoch!" -#: lang/json/talk_topic_from_json.py -msgid "*drops his weapon." -msgstr "*lässt seine Waffe fallen." - #: lang/json/talk_topic_from_json.py msgid "*drops_her_weapon." msgstr "*lässt ihre Waffe fallen." +#: lang/json/talk_topic_from_json.py +msgid "*drops his weapon." +msgstr "*lässt seine Waffe fallen." + #: lang/json/talk_topic_from_json.py msgid "Now get out of here" msgstr "Jetzt verschwinde von hier" @@ -158668,12 +163944,12 @@ msgid "Okay, I'm going." msgstr "Okay, ich komme." #: lang/json/talk_topic_from_json.py -msgid "About that job..." -msgstr "Über diese Aufgabe …" +msgid "About that job…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About one of those jobs..." -msgstr "Über eine dieser Aufgaben …" +msgid "About one of those jobs…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "What's the matter?" @@ -158684,29 +163960,29 @@ msgid "I don't care." msgstr "Ist mir egal." #: lang/json/talk_topic_from_json.py -msgid "I have other jobs for you. Want to hear about them?" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" -msgstr "" +msgid "I just have one job for you. Want to hear about it?" +msgstr "Ich hab nur eine Aufgabe für dich. Willst du sie hören?" #: lang/json/talk_topic_from_json.py msgid "I have another job for you. Want to hear about it?" msgstr "Ich habe noch eine Aufgabe für dich. Willst du sie hören?" #: lang/json/talk_topic_from_json.py -msgid "I just have one job for you. Want to hear about it?" -msgstr "Ich hab nur eine Aufgabe für dich. Willst du sie hören?" +msgid "I have other jobs for you. Want to hear about them?" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I don't have any jobs for you." -msgstr "Ich hab nichts für dich zu tun." +msgid "I have more jobs for you. Want to hear about them?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I don't have any more jobs for you." msgstr "Ich hab nichts weiteres für dich zu tun." +#: lang/json/talk_topic_from_json.py +msgid "I don't have any jobs for you." +msgstr "Ich hab nichts für dich zu tun." + #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/npctalk.cpp msgid "Oh, okay." @@ -158716,10 +163992,6 @@ msgstr "Oh, okay." msgid "Never mind, I'm not interested." msgstr "Vergiss es, ich bin nicht interessiert." -#: lang/json/talk_topic_from_json.py -msgid "You're not working on anything for me now." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "What about it?" msgstr "Wie wär’s?" @@ -158728,6 +164000,10 @@ msgstr "Wie wär’s?" msgid "Which job?" msgstr "Welche Aufgabe?" +#: lang/json/talk_topic_from_json.py +msgid "You're not working on anything for me now." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I'll do it!" msgstr "Ich mach’s!" @@ -158765,8 +164041,8 @@ msgid "Whatever. Bye." msgstr "Wie auch immer. Tschüss." #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I failed." -msgstr "Es tut mir leid, ich … ich habe versagt." +msgid "I'm sorry… I failed." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Not yet." @@ -158785,7 +164061,7 @@ msgid "No. I'll get back to it, bye!" msgstr "Nein. Ich werde darauf zurückkommen, tschüss!" #: lang/json/talk_topic_from_json.py -msgid "Yup! Here it is!" +msgid "Yup! Here it is!" msgstr "Ja! Hier ist es!" #: lang/json/talk_topic_from_json.py @@ -158942,13 +164218,9 @@ msgstr "" msgid "Hmm, okay." msgstr "Hmm, okay." -#: lang/json/talk_topic_from_json.py -msgid "Focus on the road, mate!" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "I must focus on the road!" -msgstr "" +#: lang/json/talk_topic_from_json.py src/npctalk.cpp +msgid "Thanks!" +msgstr "Danke!" #: lang/json/talk_topic_from_json.py msgid "I have some reason for not telling you." @@ -158970,6 +164242,14 @@ msgstr "Ich bin zu hungrig, gib mir etwas zu Essen." msgid "I'm too thirsty, give me something to drink." msgstr "Ich bin zu durstig, gib mir was zu Trinken." +#: lang/json/talk_topic_from_json.py +msgid "I must focus on the road!" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Focus on the road, mate!" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Ah, okay." msgstr "Ah, okay." @@ -159043,8 +164323,8 @@ msgid "Alright. You can lead now." msgstr "In Ordnung. Du übernimmst die Führung." #: lang/json/talk_topic_from_json.py -msgid "Good. Something else..." -msgstr "Gut. Noch etwas …" +msgid "Good. Something else…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Alright, let's go." @@ -159074,14 +164354,6 @@ msgstr "Nein, wir sind hier okay." msgid "On second thought, never mind." msgstr "Wenn ich darüber nachdenke, vergiss es." -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while you're operating a vehicle!" -msgstr "Ich kann dich nicht trainieren, solange du ein Fahrzeug benutzt!" - -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while I'm operating a vehicle!" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "I have some reason for denying you training." msgstr "Ich habe Gründe, um dir die Ausbildung zu verweigern." @@ -159090,6 +164362,14 @@ msgstr "Ich habe Gründe, um dir die Ausbildung zu verweigern." msgid "Give it some time, I'll show you something new later..." msgstr "Nur Geduld, ich werd dir später etwas neues zeigen …" +#: lang/json/talk_topic_from_json.py +msgid "I can't train you properly while I'm operating a vehicle!" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I can't train you properly while you're operating a vehicle!" +msgstr "Ich kann dich nicht trainieren, solange du ein Fahrzeug benutzt!" + #: lang/json/talk_topic_from_json.py msgid "Not a bloody chance, I'm going to get left behind!" msgstr "Auf keinen Fall! Ich würde alleine zurückgelassen werden." @@ -159123,8 +164403,8 @@ msgid "I'd prefer to keep that to myself." msgstr "Ich behalte das lieber für mich." #: lang/json/talk_topic_from_json.py -msgid "I understand..." -msgstr "Ich verstehe …" +msgid "I understand…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Why should I share my equipment with you?" @@ -159147,8 +164427,8 @@ msgid "Because I'm your friend!" msgstr "Weil ich dein Freund bin." #: lang/json/talk_topic_from_json.py -msgid "Well, I am helping you out..." -msgstr "Naja, ich helf dir." +msgid "Well, I am helping you out…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'll give it back!" @@ -159195,15 +164475,15 @@ msgid "No, I'm keeping it. Try and take it off me, I dare you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Look, I really need this. Please let me have it." +msgid "Look, I really need this. Please let me have it." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What, this? It's not the same one, you are mistaken." +msgid "What, this? It's not the same one, you are mistaken." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry. Look, I already dropped it, okay?" +msgid "I'm sorry. Look, I already dropped it, okay?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -159211,13 +164491,17 @@ msgid "Don't try and talk yourself out of this, drop it now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Okay, I'm dropping it..." +msgid "Okay, I'm dropping it…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "Just this once, you can keep it. Don't tell anyone else." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Thanks." +msgstr "Danke." + #: lang/json/talk_topic_from_json.py msgid "Right... I don't want any trouble." msgstr "" @@ -159269,8 +164553,8 @@ msgid "Pleasure doing business!" msgstr "Es war mir ein Vergnügen, Geschäfte zu machen!" #: lang/json/talk_topic_from_json.py -msgid "You might be seeing more of me..." -msgstr "Du könntest mich eventuell öfters sehen …" +msgid "You might be seeing more of me…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -159283,21 +164567,21 @@ msgid "Hey again. *kzzz*" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." +msgid "Hey. Let's chat for a second." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That's because I saved you. Listen, I could use your help..." +msgid "That's because I saved you. Listen, I could use your help…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Big fucking deal. Do what I say or I'll shove that chip back where it " +"Big fucking deal. Do what I say or I'll shove that chip back where it " "belongs." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." +msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159309,7 +164593,7 @@ msgid "Come with me. We can help each other out." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "We both go our separate ways. Enjoy your freedom." +msgid "We both go our separate ways. Enjoy your freedom." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159326,8 +164610,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"For all you know, I did. I'm being nice for now. You'd better hope that it " -"lasts." +"For all you know, I did. I'm being nice for now. You'd better hope that it" +" lasts." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159348,7 +164632,7 @@ msgid "Get out of my sight." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." +msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159364,7 +164648,7 @@ msgid "Not if I kill you first!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry! I shouldn't have said that!" +msgid "I'm sorry! I shouldn't have said that!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -159635,11 +164919,11 @@ msgid "Well, sure." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'd... rather not." +msgid "I'd… rather not." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I have places to be." +msgid "I'm sorry… I have places to be." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159670,7 +164954,7 @@ msgid "Oh, but you already have." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yes... yes I have." +msgid "Yes… yes I have." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159735,7 +165019,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Horrible. Did you get any pictures yourself?" +msgid "Horrible. Did you get any pictures yourself?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -159887,8 +165171,8 @@ msgid "This is a npc allies 1 test response." msgstr "Das ist eine NPC-Verbündeten-1-Testantwort." #: lang/json/talk_topic_from_json.py -msgid "This an error! npc allies 2 test response." -msgstr "Das ist eine error! NPC-Verbündeten-2-Testantwort." +msgid "This an error! npc allies 2 test response." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "This is a npc engagement rule test response." @@ -160087,8 +165371,8 @@ msgid "This is a u_has_items beer test response." msgstr "Das ist eine Du-hast-Gegenstände-Bier-Testantwort." #: lang/json/talk_topic_from_json.py -msgid "Test failure! This is a u_has_items test response." -msgstr "Testfehler! Das ist eine Du-hast-Gegenstände-Testantwort." +msgid "Test failure! This is a u_has_items test response." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "This is a u_has_item_category books test response." @@ -160099,7 +165383,7 @@ msgid "This is a u_has_item_category books count 2 test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a u_has_item_category books count 3 test response." +msgid "Failure! This is a u_has_item_category books count 3 test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -160187,7 +165471,7 @@ msgid "This is a u_has_bionics bio_ads test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a npc_has_bionics bio_ads test response." +msgid "Failure! This is a npc_has_bionics bio_ads test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -160243,11 +165527,7 @@ msgid "So you're back... Explain yourself!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "Greetings... Foodperson?" +msgid "Greetings… Foodperson?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -160289,7 +165569,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ah... Well, nice to meet you Foodperson." +msgid "Ah… Well, nice to meet you Foodperson." msgstr "" #: lang/json/talk_topic_from_json.py @@ -160301,7 +165581,7 @@ msgid "Sheesh, ok, calm down, I'm leaving!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Forgive me, I didn't mean to disrespect you." +msgid "Forgive me, I didn't mean to disrespect you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -160317,7 +165597,7 @@ msgid "Sure, whatever." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok... I believe you." +msgid "Ok… I believe you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -160413,7 +165693,7 @@ msgid "That sounds great!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok..." +msgid "Ok…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -160421,7 +165701,7 @@ msgid "I need to think about it." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Huh... No thanks." +msgid "Huh… No thanks." msgstr "" #: lang/json/talk_topic_from_json.py @@ -160438,7 +165718,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I... I don't know. It probably has something to do with ! " +"I… I don't know. It probably has something to do with ! " "What do you say we team up to find out?" msgstr "" @@ -160509,7 +165789,7 @@ msgid "I AM THE ONE!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Wow calm down, it's just a prank bro." +msgid "Wow calm down, it's just a prank bro." msgstr "" #: lang/json/talk_topic_from_json.py @@ -160582,17 +165862,11 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "I haven't found them yet. Whenever I see a , a little part of me is" -" afraid it's going to be one of them. But then, maybe not. Maybe they " -"were evacuated, maybe they fought and tried to wait for me but the military " -"took them anyway? I've heard that sort of thing happened. I don't know if " -"I'll ever know." +" afraid it's going to be one of them. But then, maybe not. Maybe they were" +" evacuated, maybe they fought and tried to wait for me but the military took" +" them anyway? I've heard that sort of thing happened. I don't know if I'll" +" ever know." msgstr "" -"Ich hab sie noch nicht gefunden. Wann auch immer ich einen sehe, " -"hat ein kleiner Teil von mir Angst, dass es einer von ihnen sein könnte. " -"Aber mal ehrlich, vielleicht auch nicht. Vielleicht wurden sie evakuiert, " -"vielleicht kämpften sie und versuchten, auf mich zu warten, und das Militär " -"hat sie trotzdem mitgenommen. Ich hörte, dass solche Dinge passiert sind. " -"Ich weiß nicht, ob ich es jemals erfahren werde." #: lang/json/talk_topic_from_json.py msgid "" @@ -161124,14 +166398,10 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "OK, this is gonna sound crazy but I, like, I knew this was going to happen." -" Like, before it did. You can even ask my psychic except, like, I think " +" Like, before it did. You can even ask my psychic except, like, I think " "she's dead now. I told her about my dreams a week before the world ended. " "Serious!" msgstr "" -"Okay, das wird sich verrückt anhören, aber ich, naja, ich wusste, dass etwas" -" passieren würde. Wie zuvor. Du kannst sogar mein Medium fragen, bloß dass " -"sie, du weißt schon, also ich denke sie ist jetzt tot. Ich erzählte ihr vor " -"einer Woche von meinen Träumen, bevor die Welt endete. Ernsthaft!" #: lang/json/talk_topic_from_json.py msgid "What were your dreams?" @@ -161486,8 +166756,8 @@ msgid "Giant bees? Tell me more." msgstr "Riesige Bienen? Erzähl mir mehr." #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive..." -msgstr "Aber Bienen sind normalerweise nicht aggressiv..." +msgid "But bees aren't usually aggressive…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -161503,10 +166773,8 @@ msgstr "" "wie ein von der Tarantel gestochenes Hühnchen rannte." #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive... Do you mean wasps?" +msgid "But bees aren't usually aggressive… Do you mean wasps?" msgstr "" -"Aber Bienen sind normalerweise nicht aggressiv... Meinst du vielleicht " -"Wespen?" #: lang/json/talk_topic_from_json.py msgid "" @@ -162116,8 +167384,8 @@ msgid "No. I can't. Just, no." msgstr "Nein. Ich kann nicht. Einfach nein." #: lang/json/talk_topic_from_json.py -msgid "Sorry... I'll let you be." -msgstr "Entschuldigung ... Ich lass dich in Ruhe." +msgid "Sorry… I'll let you be." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -162498,8 +167766,8 @@ msgstr "" "Königreich verlassen mussten, bevor es zerfiel." #: lang/json/talk_topic_from_json.py -msgid "Okay..." -msgstr "Okay..." +msgid "Okay…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163029,8 +168297,8 @@ msgid "What do you think happened?" msgstr "Was denkst du, was passiert ist?" #: lang/json/talk_topic_from_json.py -msgid "That does sound a little crazy..." -msgstr "Das klingt ein wenig verrückt ..." +msgid "That does sound a little crazy…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163104,8 +168372,8 @@ msgid "What happened to you after that?" msgstr "Was ist mit dir danach passiert?" #: lang/json/talk_topic_from_json.py -msgid "It can't be healthy to abandon your past like that..." -msgstr "Es kann nicht gesund sein, deine Vergangenheit so aufzugeben ..." +msgid "It can't be healthy to abandon your past like that…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163734,8 +169002,8 @@ msgstr "" "sich alles rechtzeitig aufklären." #: lang/json/talk_topic_from_json.py -msgid "Do you mean in a religious sense, or...?" -msgstr "Meinst du im religiösen Sinn oder...?" +msgid "Do you mean in a religious sense, or…?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -164195,11 +169463,9 @@ msgstr "Was wurde daraus?" #: lang/json/talk_topic_from_json.py msgid "" -"If I got you the right stuff, do you think you'd be able to like... do " -"science to it?" +"If I got you the right stuff, do you think you'd be able to like… do science" +" to it?" msgstr "" -"Wenn ich dir die richtigen Sachen gebe, glaubst du, dass du so etwas wie … " -"Wissenschaft damit machen könntest?" #: lang/json/talk_topic_from_json.py msgid "" @@ -164374,8 +169640,8 @@ msgstr "" "Hochzeitstag." #: lang/json/talk_topic_from_json.py -msgid "Oh, I'm sorry..." -msgstr "Oh, tut mir leid ..." +msgid "Oh, I'm sorry…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -164502,7 +169768,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "It is coming together. I want to make our own tools, repair our items and " -"even create some weapons and ammuntion reloading." +"even create some weapons and ammunition reloading." msgstr "" #: lang/json/talk_topic_from_json.py @@ -164515,7 +169781,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"It was pink and really fast, it had lots of limbs, definitly not human. It " +"It was pink and really fast, it had lots of limbs, definitely not human. It " "easily kept up with us when we tried to escape, horrifying stuff. Barry " "just dropped to the ground, and the thing swept him away." msgstr "" @@ -164564,7 +169830,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I see that badge, You need to leave our land, my relatives have no fondess " +"I see that badge, You need to leave our land, my relatives have no fondness " "for Marshals." msgstr "" @@ -164724,7 +169990,7 @@ msgid "He did mention you make remedies, are they effective?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'd like to ask you something else..." +msgid "I'd like to ask you something else…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -164866,10 +170132,6 @@ msgstr "" msgid "Hello traveler, what brings you here?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hello travler, what brings you here?" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "I'm here to deliver some resources." msgstr "" @@ -164895,7 +170157,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "We've had our losses... now we stay close to home, preparing for trouble. " -"We've always taken disaster prepardness seriously, but we didn't expect " +"We've always taken disaster preparedness seriously, but we didn't expect " "anything like this though." msgstr "" @@ -164944,7 +170206,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You should get off my land, the governemnt proved its incompetence with this" +"You should get off my land, the government proved its incompetence with this" " catastrophe." msgstr "" @@ -165019,7 +170281,8 @@ msgid "I'd like to speak with Carlos too about some work." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Is Chris around? I'd like to know what he's run into out in the woods." +msgid "" +"Is Chris around? I'd like to know what he's run into out in the woods." msgstr "" #: lang/json/talk_topic_from_json.py @@ -165176,19 +170439,19 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Ma'am, I don't know how the hell you got down here but if you have any sense" -" you'll get out while you can." +"Sir, I don't know how the hell you got down here but if you have any sense " +"you'll get out while you can." msgstr "" -"Hey, ich weiß nicht, wie zur Hölle du hier nach unten gekommen sind, aber " +"Junge, ich weiß nicht, wie zur Hölle du hier nach unten gekommen sind, aber " "wenn du irgendeine Form von Anstand hast, solltest du von hier verschwinden," " solange du noch kannst." #: lang/json/talk_topic_from_json.py msgid "" -"Sir, I don't know how the hell you got down here but if you have any sense " -"you'll get out while you can." +"Ma'am, I don't know how the hell you got down here but if you have any sense" +" you'll get out while you can." msgstr "" -"Junge, ich weiß nicht, wie zur Hölle du hier nach unten gekommen sind, aber " +"Hey, ich weiß nicht, wie zur Hölle du hier nach unten gekommen sind, aber " "wenn du irgendeine Form von Anstand hast, solltest du von hier verschwinden," " solange du noch kannst." @@ -165209,16 +170472,16 @@ msgid "What do you need done?" msgstr "Wass musst du tun?" #: lang/json/talk_topic_from_json.py -msgid "About the mission..." -msgstr "Über die Mission…" +msgid "About the mission…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About one of those missions..." -msgstr "Über eine deiner Missionen…" +msgid "About one of those missions…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I've got to go..." -msgstr "Ich muss gehen…" +msgid "I've got to go…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -165242,8 +170505,8 @@ msgstr "" "unserer Kräfte für Bergungsmissionen verfügbar zu machen." #: lang/json/talk_topic_from_json.py -msgid "Seems like a decent plan..." -msgstr "Scheint ein guter Plan zu sein." +msgid "Seems like a decent plan…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -165272,10 +170535,8 @@ msgstr "" "Ebenen umgeleitet wurde." #: lang/json/talk_topic_from_json.py -msgid "Whatever they did it must have worked since we are still alive..." +msgid "Whatever they did it must have worked since we are still alive…" msgstr "" -"Was auch immer sie getan haben, es muss wohl funktioniert haben, weil wir " -"immer noch leben." #: lang/json/talk_topic_from_json.py msgid "Ma'am you are not authorized to be here... you should leave." @@ -165314,8 +170575,8 @@ msgstr "" "wenn du irgendwelche Fragen hast." #: lang/json/talk_topic_from_json.py -msgid "I'll try and find your commander then..." -msgstr "Dann versuche ich es und finde deinen Anführer …" +msgid "I'll try and find your commander then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -165388,8 +170649,8 @@ msgid "I'm supposed to direct all questions to my leadership, marshal." msgstr "Ich sollte alle Fragen der Führung übergeben, Marshal." #: lang/json/talk_topic_from_json.py -msgid "Don't mind me..." -msgstr "Ignorier mich einfach." +msgid "Don't mind me…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -165662,16 +170923,16 @@ msgstr "" "Hab ich dir was über Pappkarton erzählt, mein Freund? Hast du welchen?" #: lang/json/talk_topic_from_json.py -msgid "We've done it! We've solved the list!" +msgid "" +"How's things with you? My cardboard collection is getting quite impressive." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"How's things with you? My cardboard collection is getting quite impressive." +msgid "We've done it! We've solved the list!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About that shopping list of yours..." +msgid "About that shopping list of yours…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -165739,8 +171000,8 @@ msgid "Would you like me to give you some cardboard?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I think I have to get going..." -msgstr "Ich denke ich muss los ..." +msgid "I think I have to get going…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -165772,7 +171033,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "... What were you saying before?" +msgid "…What were you saying before?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -165792,7 +171053,7 @@ msgid "No." msgstr "Nein." #: lang/json/talk_topic_from_json.py -msgid "I... I can see you wearing it. Why are you wearing that?" +msgid "I… I can see you wearing it. Why are you wearing that?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -165884,8 +171145,8 @@ msgid "I found a sample of alien fungus for you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok... see ya." -msgstr "OK ... auf Wiedersehen." +msgid "Ok… see ya." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -165986,8 +171247,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I mean, racism could definitely be a part of it... but you are visibly in " -"poor shape. They need strong survivor material." +"I mean, racism could definitely be a part of it… but you are visibly in poor" +" shape. They need strong survivor material." msgstr "" #: lang/json/talk_topic_from_json.py @@ -166019,7 +171280,7 @@ msgid "You sound more optimistic than usual." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So, about that doctorate of yours..." +msgid "So, about that doctorate of yours…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -166139,7 +171400,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "Encroaching alien mushrooms, fungal towers, tough mycelium invading ground " -"and trees, zombies taken over by aggressive mold... Yeah. It's ugly stuff." +"and trees, zombies taken over by aggressive mold… Yeah. It's ugly stuff." msgstr "" #: lang/json/talk_topic_from_json.py @@ -166249,7 +171510,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I could maybe help you out... want something to eat?" +msgid "I could maybe help you out… want something to eat?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -166684,7 +171945,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You seem a little forward..." +msgid "You seem a little forward…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -166940,7 +172201,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About that sourdough starter you had me looking for..." +msgid "About that sourdough starter you had me looking for…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -167235,7 +172496,7 @@ msgid "I think I would've done the same. Nobody around here has a guitar?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yes, yes I would... you monster." +msgid "Yes, yes I would… you monster." msgstr "" #: lang/json/talk_topic_from_json.py @@ -167685,7 +172946,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You lost someone..." +msgid "You lost someone…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -168228,7 +173489,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You... you do know what's going on here, right? With the evacuation and " +"You… you do know what's going on here, right? With the evacuation and " "stuff?" msgstr "" @@ -168927,7 +174188,7 @@ msgid "Are you looking to buy anything else?" msgstr "Willst du etwas anderes kaufen?" #: lang/json/talk_topic_from_json.py -msgid "Very well... let's talk about something else." +msgid "Very well… let's talk about something else." msgstr "" #: lang/json/talk_topic_from_json.py @@ -169279,8 +174540,8 @@ msgstr "" "Hast du irgendjemanden gesehen, der vielleicht etwas verstecken könnte?" #: lang/json/talk_topic_from_json.py -msgid "Bye..." -msgstr "Tschüss…" +msgid "Bye…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169295,16 +174556,16 @@ msgid "Keep your head down and stay out of my way." msgstr "Kopf runter! Und bleib mir aus dem Weg." #: lang/json/talk_topic_from_json.py -msgid "OK..." -msgstr "In Ordnung …" +msgid "OK…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Like what?" msgstr "Was denn zum Beispiel?" #: lang/json/talk_topic_from_json.py -msgid "I'm not sure..." -msgstr "Ich bin mir nicht sicher …" +msgid "I'm not sure…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Like they could be working for someone else?" @@ -169323,8 +174584,8 @@ msgid "Got something to hide?" msgstr "Hast du etwas zu verbergen?" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I didn't mean to offend you..." -msgstr "Tschuldigung, ich wollte dich nicht beleidigen …" +msgid "Sorry, I didn't mean to offend you…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169371,16 +174632,16 @@ msgstr "Bleib zivil oder es wird schmerzhaft." msgid "Just on watch, move along." msgstr "Ich bin nur auf Wache, weitergehen." -#: lang/json/talk_topic_from_json.py -msgid "Ma'am, you really shouldn't be traveling out there." -msgstr "Gnä’ Frau, Sie sollten wirklich nicht hier draußen reisen." - #: lang/json/talk_topic_from_json.py msgid "Rough out there, isn't it?" msgstr "Es ist gefährlich da draußen, nicht wahr?" #: lang/json/talk_topic_from_json.py -msgid "I heard this place was a refugee center..." +msgid "Ma'am, you really shouldn't be traveling out there." +msgstr "Gnä’ Frau, Sie sollten wirklich nicht hier draußen reisen." + +#: lang/json/talk_topic_from_json.py +msgid "I heard this place was a refugee center…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -169404,8 +174665,8 @@ msgid "Can I do anything for the center?" msgstr "Kann ich irgendwas für das Lager tun?" #: lang/json/talk_topic_from_json.py -msgid "I figured you might be looking for some help..." -msgstr "Ich glaube, du suchst nach etwas Hilfe…" +msgid "I figured you might be looking for some help…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Well, I'd better be going. Bye." @@ -169461,7 +174722,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"[INT 10] Wait, six buses and refugees... how many people do you still have " +"[INT 10] Wait, six buses and refugees… how many people do you still have " "crammed in here?" msgstr "" @@ -169522,8 +174783,8 @@ msgid "I'm sorry, not a risk we are willing to take right now." msgstr "Es tut mir leid, aber wir wollen momentan keine Risiken eingehen." #: lang/json/talk_topic_from_json.py -msgid "Fine..." -msgstr "Ist gebongt!" +msgid "Fine…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169539,8 +174800,8 @@ msgstr "" " haben." #: lang/json/talk_topic_from_json.py -msgid "Fine... *coughupyourscough*" -msgstr "In Ordnung … *hustleckmichhust*" +msgid "Fine… *coughupyourscough*" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169577,8 +174838,8 @@ msgid "[STR 11] I punch things in face real good!" msgstr "[STÄ 11] Ich kann wirklich gut ins Gesicht zuschlagen!" #: lang/json/talk_topic_from_json.py -msgid "I guess I'll look somewhere else..." -msgstr "Ich denke, ich schau woanders nach …" +msgid "I guess I'll look somewhere else…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169605,8 +174866,8 @@ msgid "Heard of anything better than the odd gun cache?" msgstr "Von irgendwas besserem als diesen seltsamen Waffenschatz gehört?" #: lang/json/talk_topic_from_json.py -msgid "Was hoping for something more..." -msgstr "Ich hatte auf etwas mehr gehofft …" +msgid "Was hoping for something more…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169709,8 +174970,8 @@ msgid "So what are you doing right now?" msgstr "Also was machst du gerade?" #: lang/json/talk_topic_from_json.py -msgid "Never mind..." -msgstr "Schon gut." +msgid "Never mind…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169741,8 +175002,8 @@ msgstr "" "braucht Hoffnung zum Überleben." #: lang/json/talk_topic_from_json.py -msgid "Good luck with that..." -msgstr "Viel Glück damit..." +msgid "Good luck with that…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169791,8 +175052,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sucks..." -msgstr "Nicht gut …" +msgid "Sucks…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169812,8 +175073,8 @@ msgstr "" "diesem Zeug gebaut wurde, durchbrechen zu können." #: lang/json/talk_topic_from_json.py -msgid "Well, then..." -msgstr "Na dann …" +msgid "Well, then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169915,8 +175176,8 @@ msgstr "" "Ich glaub, ich riech ein Schwein. Ich … Bitte verhaften Sie mich nicht." #: lang/json/talk_topic_from_json.py -msgid "You... smelled me?" -msgstr "Du … hast mich gerochen?" +msgid "You… smelled me?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Got anything for sale?" @@ -169975,8 +175236,8 @@ msgstr "" "Abendessen heran!" #: lang/json/talk_topic_from_json.py -msgid "Great, now my mouth is watering..." -msgstr "Großartig, nun ist mein Mund ganz wässerig …" +msgid "Great, now my mouth is watering…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -170108,8 +175369,8 @@ msgstr "" "Helden willkommen geheißen." #: lang/json/talk_topic_from_json.py -msgid "Hmmm..." -msgstr "Hmmm…" +msgid "Hmmm…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -170174,8 +175435,8 @@ msgstr "" " lebenden Menschen zu machen." #: lang/json/talk_topic_from_json.py -msgid "I haven't done anything wrong..." -msgstr "Ich habe nichts falsches getan …" +msgid "I haven't done anything wrong…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Any tips for surviving?" @@ -170345,7 +175606,7 @@ msgid "Something to say?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I charge hourly, so be quick..." +msgid "I charge hourly, so be quick…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -170458,7 +175719,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I guess I could help with that..." +msgid "I guess I could help with that…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -170569,8 +175830,8 @@ msgid "[$10] I'll get a haircut" msgstr "[10 $] Ich will mir die Haare schneiden lassen" #: lang/json/talk_topic_from_json.py -msgid "Maybe another time..." -msgstr "Vielleich ein anderes Mal …" +msgid "Maybe another time…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -170590,8 +175851,8 @@ msgid "Stand still while I get my clippers..." msgstr "Rühr dich nicht vom Fleck, während ich meine Schere hole …" #: lang/json/talk_topic_from_json.py -msgid "Thanks..." -msgstr "Danke." +msgid "Thanks…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Want a drink?" @@ -170610,8 +175871,8 @@ msgid "What do you have on tap?" msgstr "Was hast du im Angebot?" #: lang/json/talk_topic_from_json.py -msgid "I'll be going..." -msgstr "Ich gehe dann mal …" +msgid "I'll be going…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -170670,8 +175931,8 @@ msgstr "" "solltest ihn fragen über das, was getan werden muss." #: lang/json/talk_topic_from_json.py -msgid "I'll talk to him then..." -msgstr "Dann werde ich mit ihm sprechen." +msgid "I'll talk to him then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -170691,8 +175952,8 @@ msgid "I hope you are here to do business." msgstr "Hoffentlich bist du hier, um Geschäfte zu machen." #: lang/json/talk_topic_from_json.py -msgid "I'm interested in investing in agriculture..." -msgstr "Ich bin daran interessiert, in Landwirtschaft zu investieren." +msgid "I'm interested in investing in agriculture…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -170722,14 +175983,12 @@ msgid "I imagine we might be able to work something out." msgstr "Ich denke, dass wir etwas aushandeln können." #: lang/json/talk_topic_from_json.py -msgid "I was wondering if you could install a cybernetic implant..." +msgid "I was wondering if you could install a cybernetic implant…" msgstr "" -"Ich hab mich gefragt, ob du mir ein kybernetisches Implantat installieren " -"könntest." #: lang/json/talk_topic_from_json.py -msgid "I need help removing an implant..." -msgstr "Ich brauche Hilfe bei der Entfernung eines Implantats." +msgid "I need help removing an implant…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'd like to hire your services." @@ -170778,8 +176037,8 @@ msgstr "" "Erfolg ist." #: lang/json/talk_topic_from_json.py -msgid "It could be worse..." -msgstr "Es könnte schlimmer sein." +msgid "It could be worse…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -170790,8 +176049,8 @@ msgstr "" "brauchst, such nach dem Vorarbeiter oder Feldaufseher." #: lang/json/talk_topic_from_json.py -msgid "I'll talk with them then..." -msgstr "Dann werde ich mit ihnen sprechen." +msgid "I'll talk with them then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Morning ma'am, how can I help you?" @@ -170873,8 +176132,8 @@ msgstr "" "dem Verfungern und untoten Überfällen gegenüber." #: lang/json/talk_topic_from_json.py -msgid "Hopefully moving out here was worth it..." -msgstr "Hoffentlich war es das wert, hier auszuziehen." +msgid "Hopefully moving out here was worth it…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -171270,8 +176529,7 @@ msgstr "Du blockst %s ab und lieferst einen Konterangriff" msgid " blocks and counter-attacks %s" msgstr " blockt %s ab und lieferst einen Konterangriff" -#: lang/json/technique_from_json.py lang/json/technique_from_json.py -#: src/game.cpp +#: lang/json/technique_from_json.py src/game.cpp msgid "Disarm" msgstr "Entwaffnen" @@ -171373,7 +176631,8 @@ msgstr "" msgid " leaps off a nearby wall and dropkicks %s" msgstr "" -#: lang/json/technique_from_json.py +#: lang/json/technique_from_json.py lang/json/technique_from_json.py +#: src/martialarts.cpp msgid "Grab Break" msgstr "Griffbrecher" @@ -171449,13 +176708,13 @@ msgstr "Viperbiss" #: lang/json/technique_from_json.py #, python-format -msgid "You Snakebite %s" -msgstr "Du verpasst %s einen Viperbiss" +msgid "You lash out at %s with a Viper Bite" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Snakebites %s" -msgstr " verpasst %s einen Viperbiss" +msgid " lash out at %s with a Viper Bite" +msgstr "" #: lang/json/technique_from_json.py msgid "Viper Strike" @@ -171463,18 +176722,28 @@ msgstr "Viperschlag" #: lang/json/technique_from_json.py #, python-format -msgid "You Viper Strike %s" -msgstr "Du verpasst %s einen Viperschlag" +msgid "You hit %s with a spectacular Viper Strike" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Viper Strikes %s" -msgstr " viperschlägt %s" +msgid " hits %s with a spectacular Viper Strike" +msgstr "" #: lang/json/technique_from_json.py msgid "Viper Writhe" msgstr "Viperwinden" +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you writhe free!" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they writhe free!" +msgstr "" + #: lang/json/technique_from_json.py msgid "Roundhouse Kick" msgstr "" @@ -171517,6 +176786,34 @@ msgstr "" msgid " jabs %s with a Pincer Fist" msgstr " verpasst %s mit einer Scherenfaust einen Jab" +#: lang/json/technique_from_json.py +msgid "Toad Smack" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You disregard %s's attack and knock them down" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " disregards %s's attack and knocks them down" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Toad Slam" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You meet %s's attack head on with a stunning counter" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " meet %s's attack head on with a stunning counter" +msgstr "" + #: lang/json/technique_from_json.py msgid "Toad's Tongue" msgstr "Froschzunge" @@ -173009,102 +178306,8 @@ msgid " grabs and throws %s" msgstr "" #: lang/json/technique_from_json.py -#, python-format -msgid "You disarm %s" -msgstr "Du entwaffnest %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " disarms %s" -msgstr " entwaffnet %s" - -#: lang/json/technique_from_json.py -msgid "precise strike" -msgstr "Präzisionsschlag" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You strike %s" -msgstr "Du schlägst %s präzise" - -#: lang/json/technique_from_json.py -#, python-format -msgid " strikes %s" -msgstr " schlägt %s präzise" - -#: lang/json/technique_from_json.py -msgid "axe-kick" -msgstr "Axe-Kick" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You axe-kick %s" -msgstr "Du verpasst %s einen Axe-Kick" - -#: lang/json/technique_from_json.py -#, python-format -msgid " axe-kicks %s" -msgstr " verpasst %s einen Axe-Kick" - -#: lang/json/technique_from_json.py -msgid "side kick" -msgstr "Seitentritt" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You side-kick %s" -msgstr "Du verpasst %s einen Seitentritt" - -#: lang/json/technique_from_json.py -#, python-format -msgid " side-kicks %s" -msgstr " verpasst %s einen Seitentritt" - -#: lang/json/technique_from_json.py -msgid "sweep kick" -msgstr "Schwungtritt" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You sweep-kick %s" -msgstr "Schwunghaft trittst du %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " sweep-kicks %s" -msgstr "Schwunghaft tritt %s" - -#: lang/json/technique_from_json.py -msgid "Drunk feint" -msgstr "Betrunkenheit vortäuschen" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You stumble and leer at %s" -msgstr "Du stolperst und schielst auf %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " stumbles and leers at %s" -msgstr " stolpert und schielt auf %s" - -#: lang/json/technique_from_json.py -msgid "Drunk counter" -msgstr "betrunkener Konter" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You lurch, and your wild swing hits %s" -msgstr "Du torkelst und dein wilder Schwung trifft %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " lurches, and hits %s" -msgstr " taumelt und trifft %s" - -#: lang/json/technique_from_json.py -msgid "hamstring" -msgstr "Lähmen" +msgid "Hamstring" +msgstr "" #: lang/json/technique_from_json.py #, python-format @@ -173130,15 +178333,6 @@ msgstr "Grausam verwundest du %s" msgid " viciously wounds %s" msgstr "Grausam verwundet %s." -#: lang/json/technique_from_json.py -msgid "Silat Brutality" -msgstr "Silat-Brutalität" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You send %s reeling backwards" -msgstr "Du bringst %s ins Taumeln" - #: lang/json/technique_from_json.py msgid "Dirty Hit" msgstr "Schmutziger Schlag" @@ -173154,18 +178348,18 @@ msgid " delivers a dirty blow to %s" msgstr " verpasst %s einen schmutzigen Schlag" #: lang/json/technique_from_json.py -msgid "Tiger Takedown" -msgstr "Tigerstampfer" +msgid "Silat Brutality" +msgstr "Silat-Brutalität" #: lang/json/technique_from_json.py #, python-format -msgid "You grab and ground %s" -msgstr "Du greifst und wirfst %s auf den Boden" +msgid "You brutally tear into %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " grabs and grounds %s" -msgstr " greift und wirft %s auf den Boden" +msgid " brutally tears into %s" +msgstr "" #: lang/json/technique_from_json.py msgid "Snake Snap" @@ -173215,133 +178409,248 @@ msgstr "Schlangenschlag" #: lang/json/technique_from_json.py #, python-format -msgid "You strike out at %s" -msgstr "Du schlägst auf %s los" +msgid "You lash out at %s with a vicious Snake Strike" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " strikes out at %s" -msgstr " schlägt auf %s los" +msgid " lashes out at %s with a vicious Snake Strike" +msgstr "" #: lang/json/technique_from_json.py -msgid "slow strike" -msgstr "langsamer Schlag" +msgid "Push" +msgstr "Schieben" #: lang/json/technique_from_json.py #, python-format -msgid "You slowly strike %s" -msgstr "Du schlägst %s langsam" +msgid "You push %s away" +msgstr "Du schiebst %s weg" #: lang/json/technique_from_json.py #, python-format -msgid " slowly strikes %s" -msgstr " schlägt %s langsam" +msgid " pushes %s away" +msgstr " schiebt %s weg" #: lang/json/technique_from_json.py -msgid "phasing strike" -msgstr "Phasenschlag" +msgid "Shove" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You phase-strike %s" -msgstr "Du verpasst %s einen Phasenschlag" +msgid "You shove %s back" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " phase-strikes %s" -msgstr " verpasst %s einen Phasenschlag" +msgid " shoves %s back" +msgstr "" #: lang/json/technique_from_json.py -msgid "Push" -msgstr "Schieben" +#, python-format +msgid "You deftly trip %s" +msgstr "Du bringst %s zum Stolpern" #: lang/json/technique_from_json.py #, python-format -msgid "You push %s away" -msgstr "Du schiebst %s weg" +msgid " deftly trips %s" +msgstr " bringt %s zum Stolpern" + +#: lang/json/technique_from_json.py +msgid "Snatch Weapon" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " pushes %s away" -msgstr " schiebt %s weg" +msgid "You snatch %s's weapon" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You deftly trip %s" -msgstr "Du bringst %s zum Stolpern" +msgid " snatches %s's weapon" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Axe-kick" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " deftly trips %s" -msgstr " bringt %s zum Stolpern" +msgid "You raise your heel and axe-kick %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " raises their heel and axe-kicks %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "Skewer" -msgstr "Aufspießen" +msgid "Side Kick" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You brutally skewer %s" -msgstr "Brutal spießt du %s auf" +msgid "You turn slightly and side-kick %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " brutally skewers %s" -msgstr "Brutal spießt %s auf" +msgid " turns slightly and side-kicks %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "Chain Punch" +#, python-format +msgid "You crouch low and sweep-kick %s" msgstr "" -#. ~ Description for Chain Punch #: lang/json/technique_from_json.py -msgid "50% moves, 66% damage, knockback and follow" +#, python-format +msgid " crouches low and sweep-kicks %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You chain strike %s" +msgid "You gently disarm %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " chain strikes %s" +msgid " gently disarms %s" msgstr "" #: lang/json/technique_from_json.py -msgid "You position yourself well and slip out of a grab" +msgid "Palm Strike" msgstr "" #: lang/json/technique_from_json.py -msgid " slips out of a grab" +#, python-format +msgid "You palm strike %s" msgstr "" #: lang/json/technique_from_json.py -msgid "ask the way" +#, python-format +msgid " palm strikes %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Grasp the Sparrow's Tail" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You miss but keep striking at %s" +msgid "You divert %s's attack and lead them to the ground" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " misses but keeps striking at %s" +msgid " diverts %s's attack and lead them to the ground" msgstr "" #: lang/json/technique_from_json.py -msgid "White Crane stumble" +msgid "Double Palm Strike" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble %s with your onslaught" +msgid "You double-handed palm strike %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " stumbles %s" +msgid " double-handed palm strikes %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Tiger Palm" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You land a heavy tiger palm on %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " lands a heavy tiger palm on %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Tiger Takedown" +msgstr "Tigerstampfer" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You slam %s to the ground" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " slams %s to the ground" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Straight Punch" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You deliver a vertical straight punch to %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " delivers a vertical straight punch to %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Straight Punch (Knockback)" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You force %s back with a vertical straight punch" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " forces %s back with a vertical straight punch" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "L-hook" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You deliver a solid L-hook to %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " delivers a solid L-hook to %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "L-hook (Knockback)" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You knock %s back with a solid L-hook" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " knocks %s back with a solid L-hook" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "Your attack misses %s but you don't let up" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "'s attack misses %s but they don't let up" msgstr "" #: lang/json/technique_from_json.py @@ -173358,6 +178667,72 @@ msgstr "" msgid " receives %s's attack, and counters" msgstr "" +#: lang/json/technique_from_json.py +msgid "Drunken Feint" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You stumble and leer at %s" +msgstr "Du stolperst und schielst auf %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " stumbles and leers at %s" +msgstr " stolpert und schielt auf %s" + +#: lang/json/technique_from_json.py +msgid "Drunk Counter" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You lurch, and your wild swing hits %s" +msgstr "Du torkelst und dein wilder Schwung trifft %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " lurches, and hits %s" +msgstr " taumelt und trifft %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you stumble away!" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they stumble away!" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "slow strike" +msgstr "langsamer Schlag" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You slowly strike %s" +msgstr "Du schlägst %s langsam" + +#: lang/json/technique_from_json.py +#, python-format +msgid " slowly strikes %s" +msgstr " schlägt %s langsam" + +#: lang/json/technique_from_json.py +msgid "phasing strike" +msgstr "Phasenschlag" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You phase-strike %s" +msgstr "Du verpasst %s einen Phasenschlag" + +#: lang/json/technique_from_json.py +#, python-format +msgid " phase-strikes %s" +msgstr " verpasst %s einen Phasenschlag" + #: lang/json/technique_from_json.py msgid "Pressure Crunch" msgstr "" @@ -173994,7 +179369,7 @@ msgstr "" #. ~ Description for deep dock pile #: lang/json/terrain_from_json.py msgid "" -"A sturdy pile made of wood extending all the way to the riverbed. A frame " +"A sturdy pile made of wood extending all the way to the riverbed. A frame " "will be required to support a surface." msgstr "" @@ -174005,8 +179380,8 @@ msgstr "" #. ~ Description for deep dock frame #: lang/json/terrain_from_json.py msgid "" -"A log frame secured atop a wooden pile. Adding a wood surface will make this" -" into a proper dock section." +"A log frame secured atop a wooden pile. Adding a wood surface will make " +"this into a proper dock section." msgstr "" #: lang/json/terrain_from_json.py @@ -174016,7 +179391,7 @@ msgstr "" #. ~ Description for deep dock #: lang/json/terrain_from_json.py msgid "" -"A wooden platform held by a tall wooden pile that extend to the riverbed. " +"A wooden platform held by a tall wooden pile that extend to the riverbed. " "Very sturdy, and likely to outlast you." msgstr "" @@ -174795,19 +180170,28 @@ msgstr "" "Verriegelungssystem. Das Tor steht sperrangelweit offen, alles kann durch." #: lang/json/terrain_from_json.py -msgid "closed chickenwire gate" +msgid "closed screen door" msgstr "" -#. ~ Description for closed chickenwire gate +#. ~ Description for closed screen door #: lang/json/terrain_from_json.py -msgid "" -"A gate for a chickenwire fence with a simple latch system to stay closed." +msgid "A simple wooden doorway with screen mesh." msgstr "" #: lang/json/terrain_from_json.py msgid "rattle!" msgstr "" +#: lang/json/terrain_from_json.py +msgid "closed chickenwire gate" +msgstr "" + +#. ~ Description for closed chickenwire gate +#: lang/json/terrain_from_json.py +msgid "" +"A gate for a chickenwire fence with a simple latch system to stay closed." +msgstr "" + #: lang/json/terrain_from_json.py msgid "open chickenwire gate" msgstr "" @@ -174869,6 +180253,17 @@ msgstr "" msgid "metal rattling!" msgstr "" +#: lang/json/terrain_from_json.py +msgid "screen mesh wall" +msgstr "" + +#. ~ Description for screen mesh wall +#: lang/json/terrain_from_json.py +msgid "" +"A rather flimsy tall wall made of 2x4s and screen mesh, suitable for keeping" +" the bugs out." +msgstr "" + #: lang/json/terrain_from_json.py msgid "chickenwire fence post" msgstr "" @@ -175225,7 +180620,7 @@ msgstr "Holzfußboden" #. ~ Description for wooden floor #: lang/json/terrain_from_json.py msgid "" -"Wooden floor created from boards, packed tightly together and nailed down. " +"Wooden floor created from boards, packed tightly together and nailed down. " "Common in patios." msgstr "" @@ -175563,7 +180958,7 @@ msgstr "" msgid "" "A dual purpose platform that serves as a containment, and as a device that " "exposes items places on in to the radioactive source, by temporarily " -"hoisting the radioactive material stored within. Operated from external " +"hoisting the radioactive material stored within. Operated from external " "console." msgstr "" @@ -175915,10 +181310,10 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "One of the species of 'Juniperus' that grows in New England, juniper berries" -" grow over two to three years, first flowering. On the second year producing" -" a green berry, the last, they produce their more famed blue varieties. If " -"you examined the foliage more closely, you could probably find some viable " -"clusters. You could also cut it down with the right tools." +" grow over two to three years, first flowering. On the second year " +"producing a green berry, the last, they produce their more famed blue " +"varieties. If you examined the foliage more closely, you could probably " +"find some viable clusters. You could also cut it down with the right tools." msgstr "" #. ~ Description for juniper tree @@ -176951,10 +182346,11 @@ msgstr "Geldautomat" #: lang/json/terrain_from_json.py msgid "" "For your banking convenience, this Automated Teller Machine is fully capable" -" of operating autonomously in the event of complete network failure. You can" -" deposit funds from cash cards and migrate all of your inflation-adjusted " -"earnings to a single card. These things have seen better days. There's been" -" a run on the bank, and this machine has the dents and cracks to prove it." +" of operating autonomously in the event of complete network failure. You " +"can deposit funds from cash cards and migrate all of your inflation-adjusted" +" earnings to a single card. These things have seen better days. There's " +"been a run on the bank, and this machine has the dents and cracks to prove " +"it." msgstr "" #: lang/json/terrain_from_json.py @@ -177060,8 +182456,8 @@ msgstr "Zentrifuge" #: lang/json/terrain_from_json.py msgid "" "This is a centrifuge, a liquid separating device with an automated analyzer " -"unit. It could be used to analyze a medical fluid sample, such as blood, if " -"a test tube was placed in it." +"unit. It could be used to analyze a medical fluid sample, such as blood, if" +" a test tube was placed in it." msgstr "" #: lang/json/terrain_from_json.py @@ -177682,7 +183078,7 @@ msgstr "" #. ~ Description for closed resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is closed tightly, but it looks like a firm push would cause it to snap " "open." msgstr "" @@ -177694,7 +183090,7 @@ msgstr "" #. ~ Description for open resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is open, the flaps held out by some sort of stringy mucus-like " "substance." msgstr "" @@ -177787,6 +183183,13 @@ msgid "" " were still running." msgstr "" +#. ~ Description for small railroad track +#: lang/json/terrain_from_json.py +msgid "" +"Like a railroad track, only smaller. You could probably run a small vehicle" +" on this." +msgstr "" + #: lang/json/terrain_from_json.py msgid "sandbox" msgstr "Sandkasten" @@ -177853,7 +183256,7 @@ msgstr "" #. ~ Description for gutter drop #: lang/json/terrain_from_json.py msgid "" -"Funnels water from gutter system towards the ground, it looks flimsy. You " +"Funnels water from gutter system towards the ground, it looks flimsy. You " "may be able to climb down here." msgstr "" @@ -177865,7 +183268,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "A length of gutter running from the roof to the ground, you could place a " -"container underneath it to collect rainwater. It looks flimsy. You may be " +"container underneath it to collect rainwater. It looks flimsy. You may be " "able to climb down here." msgstr "" @@ -177911,7 +183314,7 @@ msgstr "" #. ~ Description for metal flat roof #: lang/json/terrain_from_json.py -msgid "A secton of flat, sheet metal rooftop." +msgid "A section of flat, sheet metal rooftop." msgstr "" #: lang/json/terrain_from_json.py @@ -177939,7 +183342,7 @@ msgstr "" #. ~ Description for rock roof #: lang/json/terrain_from_json.py -msgid "A secton of flat natural rock." +msgid "A section of flat natural rock." msgstr "" #: lang/json/terrain_from_json.py @@ -178766,7 +184169,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "An empty wooden frame in the shape of a column, built around a concrete and " -"rebar foundation. It isn't capable of supporting roofs or shelter, and " +"rebar foundation. It isn't capable of supporting roofs or shelter, and " "appears to need more resources before being considered complete." msgstr "" @@ -180116,13 +185519,8 @@ msgid "" "You just activated a grenade! You probably want to throw it. To throw an " "item, press 't' and then select the item to throw. The maximum range " "depends on your strength and the object's weight and size. Throwing isn't " -"very good in most combat situations, but if you've got some fire power..." +"very good in most combat situations, but if you've got some fire power…" msgstr "" -"Du hast gerade eine Granate aktiviert! Vielleicht willst du sie werfen. Um " -"einen Gegenstand zu werfen, drücke »t«, dann wähle den Gegenstand, den du " -"werfen willst, aus. Die maximale Wurfweite hängt von deiner Stärke, dem " -"Gewicht und der Größe des Objektes ab. Das Werfen ist in den meisten " -"Kampfsituationen ungeeignet, aber wenn deine Waffen stark genug sind, …" #: lang/json/tutorial_messages_from_json.py msgid "" @@ -180228,15 +185626,10 @@ msgstr "" #: lang/json/tutorial_messages_from_json.py msgid "" "~ is a terrain symbol that indicates water. From a water source like this, " -"you can fill any containers you might have. Examine the water ('e') and " +"you can fill any containers you might have. Examine the water ('e') and " "press 'c' to fill a container, then select a watertight container to put the" " water into." msgstr "" -"»~« ist ein Symbol, das für Wasser steht. Aus einer Wasserquelle wie dieser " -"kannst du jeden beliebigen Behälter, den du vielleicht hast, befüllen. " -"Untersuche das Wasser (»e«) und drücke »c«, um einen Behälter zu füllen, " -"dann wähle einen wasserdichten Behälter, in dem du das Wasser hereinschütten" -" willst." #: lang/json/vehicle_from_json.py msgid "work light" @@ -181346,13 +186739,9 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "" "A very bright, directed light that illuminates a half-circular area outside " -"the vehicle when turned on. During installation, you can choose what " +"the vehicle when turned on. During installation, you can choose what " "direction to point the light." msgstr "" -"Eine sehr helle und gerichtete Lampe, die eingeschaltet einen " -"halbkreisförmigen Kegel außerhalb des Fahrzeugs beleuchtet. Während der " -"Installation kannst du auswählen, in welche Richtung die Lampe abstrahlen " -"soll." #: lang/json/vehicle_part_from_json.py msgid "headlight" @@ -181502,7 +186891,7 @@ msgstr "" #. ~ Description for tied mattress #: lang/json/vehicle_part_from_json.py msgid "" -"A mattress, strapped onto the vehicle. It could serve to blunt any impact." +"A mattress, strapped onto the vehicle. It could serve to blunt any impact." msgstr "" #. ~ Description for shredder @@ -181964,6 +187353,13 @@ msgstr "" "Ein Metallstachel, der am Fahrzeug festgeschweißt wurde, um die Verletzungen" " zu erhöhen, wenn das Fahrzeug mit Dingen kollidiert." +#. ~ Description for programmable autopilot +#: lang/json/vehicle_part_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of the vehicle to " +"allow it to follow simple paths." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "swappable storage battery case" msgstr "austauschbare Akkumulatorhalterung" @@ -182005,21 +187401,17 @@ msgstr "" #. ~ Description for washing machine #: lang/json/vehicle_part_from_json.py msgid "" -"A small washing machine. With detergent or soap, water, and some electrical" -" power, you could clean a lot of clothes. 'e'xamine the tile with the " -"washing machine to use it." +"A small washing machine. With detergent, water, and some electrical power, " +"you could clean a lot of clothes. 'e'xamine the tile with the washing " +"machine to use it." msgstr "" -"Eine kleine Waschmaschine. Mit Reinigungsmittel oder Seife, Wasser und etwas" -" elektrischen Strom könntest du viel Kleidung waschen. Unt'e'rsuche das Feld" -" mit der Waschmaschine, um sie zu benutzen." #. ~ Description for dishwasher #: lang/json/vehicle_part_from_json.py msgid "" -"A small dishwasher. With detergent or soap, water, and some electrical " -"power, you could clean your dishes... Or something more useful like a CBM " -"dripping with zombie gore. 'e'xamine the tile with the dishwasher to use " -"it." +"A small dishwasher. With detergent, water, and some electrical power, you " +"could clean your dishes… Or something more useful like a CBM dripping with " +"zombie gore. 'e'xamine the tile with the dishwasher to use it." msgstr "" #. ~ Description for autoclave @@ -182218,7 +187610,7 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "" "A large wind turbine with stabilizing legs. Will recharge the vehicle's " -"electrical power when exposed to the wind. Will cause extra drag on the " +"electrical power when exposed to the wind. Will cause extra drag on the " "vehicle." msgstr "" @@ -182827,6 +188219,15 @@ msgstr "" " kannst du dich neben einer Geschützturmhalterung stellen und die Waffe " "ab'f'euern, indem du das Feld auswählst." +#. ~ Description for turret control unit +#: lang/json/vehicle_part_from_json.py +msgid "" +"A set of motor, camera, and an AI unit which allows for tracking targets, " +"friend-or-foe identification, and firing the connected turret in full " +"automatic mode. When installed over the turret, it will enable auto " +"targeting mode for said turret." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "light wheel mount (steerable)" msgstr "" @@ -182868,6 +188269,14 @@ msgstr "" msgid "rail wheel (steerable)" msgstr "" +#. ~ Description for pair of small rail wheels +#: lang/json/vehicle_part_from_json.py +msgid "" +"A pair of small rail wheels. It performs well when riding on a pair of " +"small rails. It performs terribly when not on a rail. Moreover, you can't " +"steer it." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "roller drum" msgstr "Walzenbandage" @@ -184647,81 +190056,6 @@ msgstr "manuelle Teslakanone" msgid "manual avalanche rifle" msgstr "manuelles Avalanche-Gewehr" -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of road" -msgstr "Straßenabschnitt leeren" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Randomly-distributed wrecks" -msgstr "Zufällig verteilte Wracks" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parked vehicles" -msgstr "Geparkte Fahrzeuge" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Jack-knifed semi" -msgstr "Querstehender Sattelschlepper" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Random car pileup" -msgstr "Zufälliger Auffahrunfall" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Police car pileup" -msgstr "Polizeiwagenauffahrunfall" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Out of fuel vehicle" -msgstr "Fahrzeug ohne Treibstoff" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of bridge" -msgstr "Brückenabschnitt leeren" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Unfueled Vehicle on the bridge" -msgstr "Treibstoffloses Fahrzeug auf der Brücke" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the bridge" -msgstr "Fahrzeug auf der Brücke" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of highway" -msgstr "Abschnitt der Schnellstraße leeren" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the highway" -msgstr "Fahrzeug auf der Schnellstraße" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parking lot with vehicles" -msgstr "Parkplatz mit Fahrzeugen" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of subway" -msgstr "" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the subway" -msgstr "" - #: lang/json/vitamin_from_json.py msgid "Calcium" msgstr "Kalzium" @@ -184738,6 +190072,10 @@ msgstr "Vitamin B12" msgid "Vitamin C" msgstr "Vitamin C" +#: lang/json/vitamin_from_json.py +msgid "Toxins" +msgstr "" + #: src/action.cpp src/input.cpp msgid "Press " msgstr "Drücke " @@ -184865,8 +190203,8 @@ msgstr "" #: src/activity_handlers.cpp msgid "" -"You need to suspend this corpse to butcher it. While you have a rope to lift" -" the corpse, there is no tree nearby to hang it from." +"You need to suspend this corpse to butcher it. While you have a rope to " +"lift the corpse, there is no tree nearby to hang it from." msgstr "" #: src/activity_handlers.cpp @@ -184879,8 +190217,8 @@ msgstr "" #: src/activity_handlers.cpp msgid "" "To perform a full butchery on a corpse this big, you need a table nearby or " -"something else with a flat surface. A leather tarp spread out on the ground " -"could suffice." +"something else with a flat surface. A leather tarp spread out on the ground" +" could suffice." msgstr "" #: src/activity_handlers.cpp @@ -185234,8 +190572,8 @@ msgstr "" #. ~ Sound of a Pickaxe at work! #: src/activity_handlers.cpp -msgid "CHNK! CHNK! CHNK!" -msgstr "»Kläng! Kläng! Kläng!«" +msgid "CHNK! CHNK! CHNK!" +msgstr "" #: src/activity_handlers.cpp msgid "You finish digging." @@ -185282,7 +190620,7 @@ msgstr "Du setzt eine Patrone in %s ein." msgid "You refill the %s." msgstr "Du befüllst %s wieder." -#: src/activity_handlers.cpp +#: src/activity_handlers.cpp src/bionics.cpp msgid "There's nothing to light there." msgstr "Dort ist nichts zum Anzünden." @@ -185301,6 +190639,16 @@ msgstr "" "Es gibt nicht genügend Sonnenlicht, um jetzt ein Feuer zu entfachen. Du " "brichst deine Versuche ab." +#: src/activity_handlers.cpp +#, c-format +msgid "You learn a little about the spell : %s" +msgstr "" + +#: src/activity_handlers.cpp src/character_martial_arts.cpp +#, c-format +msgid "You learn %s." +msgstr "Du lernst %s." + #: src/activity_handlers.cpp #, c-format msgid "You finish training %s to level %d." @@ -185311,11 +190659,6 @@ msgstr "Du hast %s zur Stufe %d trainiert." msgid "You get some training in %s." msgstr "" -#: src/activity_handlers.cpp -#, c-format -msgid "You learn %s." -msgstr "Du lernst %s." - #: src/activity_handlers.cpp msgid "You've charged the battery completely." msgstr "" @@ -185434,15 +190777,22 @@ msgstr "" msgid "Your %s is already fully repaired." msgstr "%s ist bereits vollständig repariert." -#: src/activity_handlers.cpp src/player.cpp -#, c-format -msgid "You are currently unable to mend the %s." -msgstr "Du bist momentan nicht in der Lage, den Defekt von %s zu beheben." +#: src/activity_handlers.cpp +msgid "You defrost the food, but don't heat it up, since you enjoy it cold." +msgstr "" + +#: src/activity_handlers.cpp +msgid "You defrost and heat up the food." +msgstr "Du taust die Nahrung auf und erhitzt sie anschließend." + +#: src/activity_handlers.cpp +msgid "You heat up the food." +msgstr "Du erhitzt die Nahrung." #: src/activity_handlers.cpp #, c-format -msgid "You successfully mended the %s." -msgstr "Du hast den Defekt von %s erfolgreich behoben." +msgid "You are currently unable to mend the %s." +msgstr "Du bist momentan nicht in der Lage, den Defekt von %s zu beheben." #: src/activity_handlers.cpp #, c-format @@ -185498,10 +190848,6 @@ msgstr "" msgid "You finish fishing" msgstr "" -#: src/activity_handlers.cpp -msgid "This training is exhausting. Time to rest." -msgstr "" - #: src/activity_handlers.cpp msgid "You finish reading." msgstr "Du bist fertig mit Lesen." @@ -185512,8 +190858,8 @@ msgstr "Du bist fertig mit Warten." #: src/activity_handlers.cpp #, c-format -msgid "%s finishes with you..." -msgstr "%s vollendet es mit dir gemeinsam …" +msgid "%s finishes with you…" +msgstr "" #: src/activity_handlers.cpp msgid "You are bored of waiting, so you stop." @@ -185529,8 +190875,8 @@ msgid "%s finishes chatting with you." msgstr "%s ist fertig damit, mit dir zu plaudern." #: src/activity_handlers.cpp -msgid "You toss and turn..." -msgstr "Du wirfst und drehst dich umher..." +msgid "You toss and turn…" +msgstr "" #: src/activity_handlers.cpp msgid "You have trouble sleeping, keep trying?" @@ -185637,8 +190983,8 @@ msgid "" msgstr "" #: src/activity_handlers.cpp src/player_hardcoded_effects.cpp -msgid "You try to sleep, but can't..." -msgstr "Du versuchst einzuschlafen, ohne Erfolg …" +msgid "You try to sleep, but can't…" +msgstr "" #: src/activity_handlers.cpp msgid "" @@ -185820,7 +191166,7 @@ msgid "You planted all seeds you could." msgstr "Du hast alle Samen eingepflanzt, die du pflanzen konntest." #: src/activity_handlers.cpp -msgid "Target lost. IFF override failed." +msgid "Target lost. IFF override failed." msgstr "" #: src/activity_handlers.cpp @@ -185839,12 +191185,12 @@ msgid "The %s short circuits as you attempt to reprogram it!" msgstr "%s hat einen Kurzschluss bei deinem Versuch, es umzuprogrammieren." #: src/activity_handlers.cpp -msgid "...and turns friendly!" -msgstr "… und wird freundlich!" +msgid "…and turns friendly!" +msgstr "" #: src/activity_handlers.cpp -msgid "...but the robot refuses to acknowledge you as an ally!" -msgstr "… aber der Roboter weigert sich, dich als Freund anzuerkennen!" +msgid "…but the robot refuses to acknowledge you as an ally!" +msgstr "" #: src/activity_handlers.cpp msgid "The ancient tree spirits answer your call." @@ -185909,7 +191255,7 @@ msgid "It's too dark to read." msgstr "Es ist zu dunkel zum Lesen." #: src/activity_handlers.cpp -msgid "...you finally find the memory banks." +msgid "…you finally find the memory banks." msgstr "" #: src/activity_handlers.cpp @@ -186096,6 +191442,10 @@ msgstr "" msgid "The pet has moved somewhere else." msgstr "Das Haustier hat sich woanders hinbewegt." +#: src/activity_item_handling.cpp +msgid "Moving cancelled auto-pickup." +msgstr "" + #: src/activity_item_handling.cpp src/npcmove.cpp #, c-format msgid "%1$s picks up a %2$s." @@ -186112,7 +191462,7 @@ msgstr "Du zerhackst den Holzscheit zu Planken." #: src/activity_item_handling.cpp #, c-format -msgid "%s can't reach the source tile. Try to sort out loot without a cart." +msgid "%s can't reach the source tile. Try to sort out loot without a cart." msgstr "" #: src/activity_item_handling.cpp @@ -186158,8 +191508,8 @@ msgid "You want some caffeine." msgstr "Du willst etwas Koffein." #: src/addiction.cpp -msgid "Your hands start shaking... you need it bad!" -msgstr "Deine Hände zittern … du brauchst es unbedingt!" +msgid "Your hands start shaking… you need it bad!" +msgstr "" #: src/addiction.cpp msgid "You could use a drink." @@ -186170,16 +191520,16 @@ msgid "You could use some diazepam." msgstr "Du könntest etwas Diazepam gebrauchen." #: src/addiction.cpp -msgid "Your hands start shaking... you need a drink bad!" -msgstr "Deine Hände zittern … du brauchst unbedingt einen Drink!" +msgid "Your hands start shaking… you need a drink bad!" +msgstr "" #: src/addiction.cpp -msgid "You're shaking... you need some diazepam!" -msgstr "Du zitterst … du brauchst etwas Diazepam!" +msgid "You're shaking… you need some diazepam!" +msgstr "" #: src/addiction.cpp -msgid "Your hands start shaking... you need some painkillers." -msgstr "Deine Hände zittern … du brauchst ein paar Schmerzmittel." +msgid "Your hands start shaking… you need some painkillers." +msgstr "" #: src/addiction.cpp msgid "You feel anxious. You need your painkillers!" @@ -186190,8 +191540,8 @@ msgid "You feel depressed. Speed would help." msgstr "Du fühlst dich niedergeschlagen. Speed würde helfen." #: src/addiction.cpp -msgid "Your hands start shaking... you need a pick-me-up." -msgstr "Deine Hände zittern … du brauchst ein Stärkungsmittel." +msgid "Your hands start shaking… you need a pick-me-up." +msgstr "" #: src/addiction.cpp msgid "You stop suddenly, feeling bewildered." @@ -186227,8 +191577,8 @@ msgid "You haven't had any mutagen lately." msgstr "Du hast seit längerem kein Mutagen eingenommen." #: src/addiction.cpp -msgid "You could use some new parts..." -msgstr "Du könntest ein paar neue Teile vertragen …" +msgid "You could use some new parts…" +msgstr "" #: src/addiction.cpp msgid "You daydream about luscious pink berries as big as your fist." @@ -186381,12 +191731,12 @@ msgstr "" "Geschwindigkeitsreduktion. Depression. Schwaches Immunsystem. Häufiges Verlangen." #: src/addiction.cpp -msgid "Perception - 1; Intelligence - 1; Frequent cravings." -msgstr "Wahrnehmung −1; Intelligenz −1; Häufige Entzugserscheinungen." +msgid "Perception - 1; Intelligence - 1; Frequent cravings." +msgstr "" #: src/addiction.cpp -msgid "Perception - 2; Intelligence - 2; Frequent cravings." -msgstr "Wahrnehmung −2; Intelligenz −2; Häufige Entzugserscheinungen." +msgid "Perception - 2; Intelligence - 2; Frequent cravings." +msgstr "" #: src/addiction.cpp msgid "" @@ -186572,38 +191922,6 @@ msgstr "Que Anz Gew. Vol" msgid "Name (charges)" msgstr "Name (Ladungen)" -#: src/advanced_inv.cpp -msgid "Not dragging any vehicle!" -msgstr "Kein Fahrzeug festgehalten!" - -#: src/advanced_inv.cpp -msgid "No dragged vehicle!" -msgstr "Kein festgehaltenes Fahrzeug!" - -#: src/advanced_inv.cpp -msgid "Invalid container!" -msgstr "Ungültiger Behälter!" - -#: src/advanced_inv.cpp -msgid "All 9 squares" -msgstr "Alle 9 Felder" - -#: src/advanced_inv.cpp -msgid " FIRE" -msgstr " FEUER" - -#: src/advanced_inv.cpp -msgid " DANGER" -msgstr " GEFAHR" - -#: src/advanced_inv.cpp -msgid " TRAP" -msgstr " FALLE" - -#: src/advanced_inv.cpp -msgid " WATER" -msgstr " WASSER" - #: src/advanced_inv.cpp #, c-format msgid "[<] page %1$d of %2$d [>]" @@ -186623,10 +191941,8 @@ msgid "[R]eset" msgstr "Zu[r]ücksetzen" #: src/advanced_inv.cpp -msgid "You look at the items, then your clothes, and scratch your head..." +msgid "You look at the items, then your clothes, and scratch your head…" msgstr "" -"Du siehst dir deine Gegenstände an, dann deine Kleidung, dann kratzt du dich" -" am Kopf …" #: src/advanced_inv.cpp msgid "There are no items to be moved!" @@ -186650,8 +191966,8 @@ msgstr "" "Gefüllte Eimer werden übersprungen, um sie nicht zum Überlaufen zu bringen." #: src/advanced_inv.cpp -msgid "Sort by... " -msgstr "Sortieren nach … " +msgid "Sort by…" +msgstr "" #: src/advanced_inv.cpp msgid "Unsorted (recently added first)" @@ -186718,27 +192034,57 @@ msgstr "Dies ist zu schwer!" #: src/advanced_inv.cpp #, c-format -msgid "How many do you want to move? [Have %d] (0 to cancel)" -msgstr "Wie viele willst du bewegen? [%d vorhanden] (0 zum Abbrechen)" +msgid "How many do you want to move? [Have %d] (0 to cancel)" +msgstr "" #: src/advanced_inv.cpp #, c-format -msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" +msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" msgstr "" -"Zielbereich kann nur %d enthalten! Wieviele bewegen? [%d vorhanden] (0 zum " -"Abbrechen) " #: src/advanced_inv.cpp msgid "The destination is already full!" msgstr "Das Ziel ist schon voll!" -#: src/advanced_inv.cpp +#: src/advanced_inv_area.cpp +msgid "Not dragging any vehicle!" +msgstr "Kein Fahrzeug festgehalten!" + +#: src/advanced_inv_area.cpp +msgid "No dragged vehicle!" +msgstr "Kein festgehaltenes Fahrzeug!" + +#: src/advanced_inv_area.cpp +msgid "Invalid container!" +msgstr "Ungültiger Behälter!" + +#: src/advanced_inv_area.cpp +msgid "All 9 squares" +msgstr "Alle 9 Felder" + +#: src/advanced_inv_area.cpp +msgid " FIRE" +msgstr " FEUER" + +#: src/advanced_inv_area.cpp +msgid " DANGER" +msgstr " GEFAHR" + +#: src/advanced_inv_area.cpp +msgid " TRAP" +msgstr " FALLE" + +#: src/advanced_inv_area.cpp +msgid " WATER" +msgstr " WASSER" + +#: src/advanced_inv_area.cpp msgid "Invalid container" msgstr "Ungültiger Behälter" #: src/animation.cpp -msgid "Hang on a bit..." -msgstr "Bitte warten …" +msgid "Hang on a bit…" +msgstr "" #: src/armor_layers.cpp msgid "in your personal aura" @@ -186870,6 +192216,14 @@ msgstr "Schlag:" msgid "Cut:" msgstr "Schnitt:" +#: src/armor_layers.cpp +msgid "Acid:" +msgstr "" + +#: src/armor_layers.cpp +msgid "Fire:" +msgstr "" + #: src/armor_layers.cpp msgid "Environmental:" msgstr "Umgebungsschutz:" @@ -186938,8 +192292,8 @@ msgstr "Kleidung sortieren" #: src/armor_layers.cpp #, c-format -msgid "Press %s for help. Press %s to change keybindings." -msgstr "Drücke %s für Hilfe. Drücke %s, um Tastenbelegung zu ändern." +msgid "Press %s for help. Press %s to change keybindings." +msgstr "" #: src/armor_layers.cpp msgid "(Innermost)" @@ -187003,27 +192357,12 @@ msgid "" "[%s] to equip a new item.\n" "[%s] to equip a new item at the currently selected position.\n" "[%s] to remove selected armor from oneself.\n" -" \n" +"\n" "[Encumbrance and Warmth] explanation:\n" "The first number is the summed encumbrance from all clothing on that bodypart.\n" "The second number is an additional encumbrance penalty caused by wearing multiple items on one of the bodypart's layers or wearing items outside of other items they would normally be work beneath (e.g. a shirt over a backpack).\n" "The sum of these values is the effective encumbrance value your character has for that bodypart." msgstr "" -"Pfeil- oder Ziffernblock-Tasten verwenden, um in der Liste (links) zu navigieren.\n" -" \n" -" [%s], um die markierte Kleidung zum Umsortieren auszuwählen.\n" -" [%s] / [%s], um durch die rechte Liste zu scrollen.\n" -" [%s], um Inventarbuchstaben der Kleidung neu zuzuweisen.\n" -" [%s], um die Seite, an der die Kleidung getragen wird, zu wechseln.\n" -" [%s], um die Kleidung in die natürliche Schichtreihenfolge zu sortieren.\n" -" [%s], um ein Kleidungsstück aus dem Inventar anzuziehen.\n" -" [%s], um ein Kleidungsstück an der aktuell ausgewählten Position anzuziehen.\n" -" [%s], um das gewählte Kleidungsstück auszuziehen.\n" -" \n" -"Erläuterung der »Hinderung und Wärme«-Anzeige (mitte):\n" -" \n" -"Die »erste Zahl« ist die summierte Hinderung aller Kleidungsstücke dieses Körperteils. Die »zweite Zahl« ist eine zusätzliche Hinderungsstrafe, die dadurch verursacht wird, dass mehrere Kleidungsstücke auf einer der vier Schichten des Körperteils getragen werden oder Kleidungsstücke außerhalb der natürlichen Schichtreihenfolge getragen werden (z.B. ein Hemd über einem Rucksack).\n" -"Die »Summe« dieser Werte ist der effektive Hinderungswert, den der Charakter oder NPC für den entsprechenden Körperteil erleidet." #: src/artifact.cpp msgid "smooth sphere" @@ -187571,19 +192910,15 @@ msgstr "%s Leiden" #, c-format msgid "" "The %s is somehow vaguely dissatisfied even though it doesn't want anything." -" Seeing this is a bug!" +" Seeing this is a bug!" msgstr "" -"%s ist irgendwie vage unzufrieden, obwohl es nichts will. Wenn du dies " -"siehst, ist es ein Bug!" #: src/artifact.cpp #, c-format msgid "" -"The %s is satisfied, as it should be because it has no standards. Seeing " +"The %s is satisfied, as it should be because it has no standards. Seeing " "this is a bug!" msgstr "" -"%s ist zufrieden, wie es sein sollte, weil es keine Selbstachtung hat. Wenn " -"du dies siehst, ist es ein Bug!" #: src/artifact.cpp #, c-format @@ -187608,10 +192943,8 @@ msgstr "Du drückst %s gegen deine Haut." #: src/artifact.cpp #, c-format msgid "" -"The %s is confused to find you dreaming while awake. Seeing this is a bug!" +"The %s is confused to find you dreaming while awake. Seeing this is a bug!" msgstr "" -"%s ist verwirrt, als es sah, dass du träumst, während du wach warst. Wenn du" -" dies siehst, ist es ein Bug!" #: src/artifact.cpp #, c-format @@ -187841,31 +193174,19 @@ msgstr "Einschl." #: src/auto_pickup.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" -" \n" +"* is used as a Wildcard. A few Examples:\n" +"\n" "wooden arrow matches the itemname exactly\n" "wooden ar* matches items beginning with wood ar\n" "*rrow matches items ending with rrow\n" "*avy fle*fi*arrow multiple * are allowed\n" "heAVY*woOD*arrOW case insensitive search\n" -" \n" +"\n" "Pickup based on item materials:\n" "m:kevlar matches items made of kevlar\n" "M:copper matches items made purely of copper\n" "M:steel,iron multiple materials allowed (OR search)" msgstr "" -"»*« wird als Wildcard benutzt. Einige Beispiele:\n" -" \n" -"»Holzpfeil« passt exakt auf einen Gegenstand.\n" -"»Holzpf*« passt auf alles, was mit »Holzpf« beginnt.\n" -"»*eile« passt auf alles, was mit »eile« endet.\n" -"»*ere*eile« mehrere Wildcards sind erlaubt.\n" -"»HolZ*PfeiL« Groß-/Kleinschreibung unwichtig.\n" -" \n" -"Materialbasiertes Auto-Aufheben:\n" -"»m:Kevlar« passt auf Gegenstände aus Kevlar.\n" -"»M:Kupfer« passt auf Gegenstände aus reinem Kupfer.\n" -"»M:Stahl,Eisen« mehrere Materialien erlaubt (ODER Suche)." #: src/auto_pickup.cpp msgid "Pickup Rule:" @@ -187895,8 +193216,8 @@ msgid "Won't display content or suffix matches" msgstr "Zeigt keine Inhalts- oder Suffix-Treffer an" #: src/auto_pickup.cpp -msgid "Autopickup is not enabled in the options. Enable it now?" -msgstr "Auto-Aufheben ist in den Optionen nicht aktiviert. Jetzt aktivieren?" +msgid "Autopickup is not enabled in the options. Enable it now?" +msgstr "" #: src/auto_pickup.cpp msgid "autopickup configuration" @@ -187932,7 +193253,7 @@ msgstr "Was ist der Sinn des Lernens? (Deine Moral ist zu niedrig!)" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. You have %d" +msgid "%s %d needed to understand. You have %d" msgstr "" #: src/avatar.cpp src/iuse.cpp @@ -187958,7 +193279,7 @@ msgstr "%s ist ein Analphabet." #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. %s has %d" +msgid "%s %d needed to understand. %s has %d" msgstr "" #: src/avatar.cpp @@ -187983,8 +193304,8 @@ msgstr "Moral von %s ist zu niedrig!" #: src/avatar.cpp #, c-format -msgid "%s reads aloud..." -msgstr "%s liest laut vor." +msgid "%s reads aloud…" +msgstr "" #: src/avatar.cpp #, c-format @@ -188076,8 +193397,8 @@ msgid "Now reading %s, %s to stop early." msgstr "%s wird gelesen, %s, um vorzeitig aufzuhören." #: src/avatar.cpp -msgid "You read aloud..." -msgstr "Du liest laut vor." +msgid "You read aloud…" +msgstr "" #: src/avatar.cpp #, c-format @@ -188102,20 +193423,16 @@ msgstr "%s liest mit dir zum Spaß." #: src/avatar.cpp #, c-format msgid "" -"It's difficult for %s to see fine details right now. Reading will take " +"It's difficult for %s to see fine details right now. Reading will take " "longer than usual." msgstr "" -"Es ist momentan schwierig für %s, die Feinheiten zu erkennen. Das Lesen wird" -" länger als gewöhnlich dauern." #: src/avatar.cpp #, c-format msgid "" -"This book is too complex for %s to easily understand. It will take longer to" -" read." +"This book is too complex for %s to easily understand. It will take longer " +"to read." msgstr "" -"Dieses Buch ist zu kompliziert für %s, um es leicht verstehen zu können. Das" -" Lesen wird länger dauern." #: src/avatar.cpp msgid "You are too exhausted to train martial arts." @@ -188196,8 +193513,8 @@ msgstr "%s hat eine neue Stufe in der Fertigkeit »%s« erreicht." #: src/avatar.cpp #, c-format -msgid "You learn a little about %s! (%d%%)" -msgstr "Du lernst ein bisschen was über %s. (%d%%)" +msgid "You learn a little about %s! (%d%%)" +msgstr "" #: src/avatar.cpp #, c-format @@ -188227,8 +193544,8 @@ msgid "Rereading the %s isn't as much fun for %s." msgstr "%s wieder zu lesen, ist nicht mehr so schön für %s." #: src/avatar.cpp -msgid "Maybe you should find something new to read..." -msgstr "Vielleicht solltest du etwas neues zum Lesen finden." +msgid "Maybe you should find something new to read…" +msgstr "" #: src/avatar.cpp #, c-format @@ -188262,22 +193579,20 @@ msgid "You train for a while." msgstr "" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through your internal alarm..." +msgid "It looks like you've slept through your internal alarm…" msgstr "" -"Sieht so aus, als hättest du verschlafen und deinen internen Wecker nicht " -"wahrgenommen." #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through the alarm..." -msgstr "Sieht so aus, als hättest du verschlafen und den Wecker nicht gehört." +msgid "It looks like you've slept through the alarm…" +msgstr "" #: src/avatar.cpp msgid "You retched, but your stomach is empty." msgstr "Dir würgst, aber dein Magen ist leer." #: src/avatar.cpp -msgid "You lost your book! You stop reading." -msgstr "Du hast dein Buch verloren! Du hörst mit dem Lesen auf." +msgid "You lost your book! You stop reading." +msgstr "" #: src/avatar.cpp msgid "Your thick scales get in the way." @@ -188346,9 +193661,69 @@ msgstr "" #: src/avatar.cpp #, c-format -msgid "Are you sure you want to raise %s? %d points available." +msgid "Are you sure you want to raise %s? %d points available." +msgstr "" + +#: src/avatar.cpp +msgid "You set your mech's leg power to a loping fast walk." +msgstr "" + +#: src/avatar.cpp +msgid "You nudge your steed into a steady trot." +msgstr "" + +#: src/avatar.cpp +msgid "You start walking." +msgstr "" + +#: src/avatar.cpp +msgid "You set the power of your mech's leg servos to maximum." +msgstr "" + +#: src/avatar.cpp +msgid "You spur your steed into a gallop." +msgstr "" + +#: src/avatar.cpp +msgid "You start running." +msgstr "Du fängst an, zu laufen." + +#: src/avatar.cpp +msgid "Your steed is too tired to go faster." +msgstr "" + +#: src/avatar.cpp +msgid "You need two functional legs to run." +msgstr "" + +#: src/avatar.cpp +msgid "You're too tired to run." +msgstr "Du bist zu müde zum Laufen." + +#: src/avatar.cpp +msgid "You reduce the power of your mech's leg servos to minimum." +msgstr "" + +#: src/avatar.cpp +msgid "You slow your steed to a walk." +msgstr "" + +#: src/avatar.cpp +msgid "You start crouching." +msgstr "" + +#. ~ %1$s: weapon name, %2$s: holster name +#: src/avatar.cpp src/game.cpp +#, c-format +msgctxt "holster" +msgid "Draw %1$s from %2$s?" msgstr "" +#: src/avatar.cpp src/monexamine.cpp +#, c-format +msgid "What to do with your %s?" +msgstr "Was soll mit %s getan werden?" + #: src/avatar_action.cpp msgid "You can't move while in your shell. Deactivate it to go mobile." msgstr "" @@ -188356,12 +193731,12 @@ msgstr "" "ihn, um wieder mobil zu werden." #: src/avatar_action.cpp -msgid "You cannot pull yourself away from the faultline..." -msgstr "Du kannst dich nicht selbst aus der Bruchlinie befreien." +msgid "You cannot pull yourself away from the faultline…" +msgstr "" #: src/avatar_action.cpp -msgid "Monster in the way. Auto-move canceled." -msgstr "Monster im Weg. Automatisches Bewegen abgebrochen." +msgid "Monster in the way. Auto-move canceled." +msgstr "" #: src/avatar_action.cpp msgid "Click directly on monster to attack." @@ -188372,8 +193747,8 @@ msgid "Your willpower asserts itself, and so do you!" msgstr "Deine Willenskraft behauptet sich, so wie du!" #: src/avatar_action.cpp src/handle_action.cpp src/handle_action.cpp -msgid "You're too pacified to strike anything..." -msgstr "Du bist zu beschwichtigt, um irgendwas schlagen zu können …" +msgid "You're too pacified to strike anything…" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -188454,8 +193829,8 @@ msgstr "Sie sinkst wie ein Stein!" #: src/avatar_action.cpp #, c-format -msgid "You need to breathe! (%s to surface.)" -msgstr "Du musst atmen! (%s zum Auftauchen.)" +msgid "You need to breathe! (%s to surface.)" +msgstr "" #: src/avatar_action.cpp msgid "You need to breathe but you can't swim! Get to dry land, quick!" @@ -188468,17 +193843,16 @@ msgid "You cannot board a vehicle while mounted." msgstr "" #: src/avatar_action.cpp -msgid "No hostile creature in reach. Waiting a turn." +msgid "No hostile creature in reach. Waiting a turn." msgstr "" -"Keine feindliche Kreatur in Reichweite. Es wird ein Zug lang gewartet." #: src/avatar_action.cpp msgid "Your eyes steel, and you raise your weapon!" msgstr "Deine Augen verstählen sich und du hebst deine Waffe hoch!" #: src/avatar_action.cpp -msgid "You can't fire your weapon, it's too heavy..." -msgstr "Du kannst deine Waffe nicht feuern, sie ist zu schwer …" +msgid "You can't fire your weapon, it's too heavy…" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -188488,12 +193862,14 @@ msgstr "" "alleine gefeuert werden." #: src/avatar_action.cpp -msgid "You can no longer fire." -msgstr "Du kannst nicht mehr feuern." +#, c-format +msgid "You can no longer fire your %s." +msgstr "" #: src/avatar_action.cpp -msgid "You need a free arm to drive!" -msgstr "Du brauchst einen freien Arm zum Fahren!" +#, c-format +msgid "You can't use your %s while driving!" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -188501,8 +193877,9 @@ msgid "You need two free hands to fire your %s." msgstr "%s benötigt zwei freie Hände zum Feuern." #: src/avatar_action.cpp -msgid "You need to reload!" -msgstr "Du musst nachladen!" +#, c-format +msgid "Your %s is empty!" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -188513,23 +193890,20 @@ msgstr "%s benötigt %i Ladungen zum Feuern!" #, c-format msgid "" "You need a UPS with at least %d charges or an advanced UPS with at least %d " -"charges to fire that!" +"charges to fire the %s!" msgstr "" -"Du brauchst eine Esz. mit wenigstens %d Ladungen oder eine fortgeschrittene " -"Esz. mit wenigstens %d Ladungen, um dies zu feuern!" #: src/avatar_action.cpp -msgid "Your mech has an empty battery, its weapon will not fire." +#, c-format +msgid "Your mech has an empty battery, its %s will not fire." msgstr "" #: src/avatar_action.cpp +#, c-format msgid "" -"You must stand near acceptable terrain or furniture to use this weapon. A " +"You must stand near acceptable terrain or furniture to use this %s. A " "table, a mound of dirt, a broken window, etc." msgstr "" -"Um diese Waffe benutzen zu können, musst du in der Nähe von akzeptablem " -"Gelände oder einem Möbelstück stehen - z.B. ein Tisch, ein Erdhügel oder ein" -" zerbrochenes Fenster." #: src/avatar_action.cpp #, c-format @@ -188575,8 +193949,8 @@ msgid "You concentrate mightily, and your body obeys!" msgstr "Du bemühst dich sehr, dich zu konzentrieren und dein Körper gehorcht!" #: src/avatar_action.cpp -msgid "You can't muster up the effort to throw anything..." -msgstr "Du kannst nicht die Mühen aufbringen, um irgendwas zu werfen …" +msgid "You can't muster up the effort to throw anything…" +msgstr "" #: src/ballistics.cpp #, c-format @@ -188762,6 +194136,16 @@ msgstr "%s hat sich automatisch abgeschaltet." msgid "Your %s automatically turns off." msgstr "%s hat sich automatisch abgeschaltet." +#: src/bionics.cpp +#, c-format +msgid "Your %s does not have sufficient humidity to function." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency will be reduced." +msgstr "" + #: src/bionics.cpp msgid "You change your mind and turn it off." msgstr "Du änderst deine Meinung und schaltest es aus." @@ -188879,10 +194263,6 @@ msgstr "Bluttestergebnisse" msgid "No effects." msgstr "Keine Wirkung." -#: src/bionics.cpp -msgid "There was not enough moisture in the air from which to draw water!" -msgstr "Die Luftfeuchtigkeit ist zu gering, um Wasser zu erhalten!" - #: src/bionics.cpp msgid "Your torsion ratchet locks onto your joints." msgstr "Deine Torsionsratsche rastet in deinen Gelenken ein." @@ -188895,10 +194275,6 @@ msgstr "" msgid "Start a fire where?" msgstr "Wo soll ein Feuer entfacht werden?" -#: src/bionics.cpp src/iexamine.cpp -msgid "You can't light a fire there." -msgstr "Hier kannst du kein Feuer entfachen." - #: src/bionics.cpp #, c-format msgid "Your radiation level: %d" @@ -189076,6 +194452,20 @@ msgstr "" msgid "'s %s turns off to not waste fuel." msgstr "" +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, your %s shuts down to preserve" +" your health." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, 's %s shuts down to " +"preserve their health." +msgstr "" + #: src/bionics.cpp #, c-format msgid "Your %s runs out of fuel and turn off." @@ -189105,6 +194495,21 @@ msgid "You feel your throat open up and air filling your lungs!" msgstr "" "Du spürst, wie sich deine Kehle öffnet und Luft in deine Lungen strömt!" +#: src/bionics.cpp +#, c-format +msgid "There is not enough humidity for your %s to function." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency is reduced." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "You are properly hydrated. Your %s chirps happily." +msgstr "" + #: src/bionics.cpp msgid "The removal fails without incident." msgstr "" @@ -189166,10 +194571,8 @@ msgstr " bereitet sich für die Operation vor." #: src/bionics.cpp #, c-format -msgid "A lifetime of augmentation has taught %s a thing or two..." +msgid "A lifetime of augmentation has taught %s a thing or two…" msgstr "" -"Ein Lebensspanne, die der bionischen Aufwertung gewidmet wurde, hat %s ein " -"oder zwei Dinge beigebracht..." #: src/bionics.cpp #, c-format @@ -189185,10 +194588,8 @@ msgstr "" #: src/bionics.cpp msgid "" -"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" +"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" msgstr "" -"ACHTUNG: Die Entfernung eines Reaktors könnte radioaktives Material " -"hinterlassen! Trotzdem entfernen?" #: src/bionics.cpp #, c-format @@ -189209,14 +194610,12 @@ msgstr "" msgid "Are you sure you wish to uninstall the selected bionic?" msgstr "Bist du sicher, dass du das ausgewählte Bionik deinstallieren willst?" -#: src/bionics.cpp +#: src/bionics.cpp src/game.cpp #, c-format msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " +"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " "anyway?" msgstr "" -"WARNUNG: %i Prozent Wahrscheinlichkeit SCHWEREN Schaden an allen " -"Körperteilen anzurichten! Trotzdem fortfahren?" #: src/bionics.cpp msgid "Your parts are jiggled back into their familiar places." @@ -189290,10 +194689,8 @@ msgstr "Bist du sicher, dass du das ausgewählte Bionik installieren willst?" #, c-format msgid "" "WARNING: %i percent chance of failure that may result in damage, pain, or a " -"faulty installation! Continue anyway?" +"faulty installation! Continue anyway?" msgstr "" -"WARNUNG: %i Prozent Misserfolgswahrscheinlichkeit. Kann zu Verletzungen, " -"Schmerzen oder einer fehlerhaften Installation führen! Trotzdem fortfahren?" #. ~ %1$s - name of the bionic to be upgraded (inferior), %2$s - name of the #. upgraded bionic (superior). @@ -189421,12 +194818,31 @@ msgstr "" msgid "Available Fuel: " msgstr "" +#: src/bionics_ui.cpp +msgctxt "decimal separator" +msgid "." +msgstr "." + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: kilojoule" +msgid "kJ" +msgstr "kJ" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: joule" +msgid "J" +msgstr "" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: millijoule" +msgid "mJ" +msgstr "" + #: src/bionics_ui.cpp #, c-format msgid "" -"Bionic Power: %i/%i" +"Bionic Power: %s/%ikJ" msgstr "" -"Bionikstrom: %i/%i" #: src/bionics_ui.cpp msgid "" @@ -189458,22 +194874,22 @@ msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ act" +msgid "%s act" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ deact" +msgid "%s deact" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/turn" +msgid "%s/turn" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/%d turns" +msgid "%s/%d turns" msgstr "" #: src/bionics_ui.cpp src/handle_action.cpp @@ -189521,19 +194937,16 @@ msgstr "Keine passiven Bioniken installiert." #: src/bionics_ui.cpp #, c-format -msgid "%s; enter new letter. Space to clear. Esc to cancel." -msgstr "%s; neues Zeichen eingeben, Leert. zum Leeren. Esc zum Abbruch." +msgid "%s; enter new letter. Space to clear. Esc to cancel." +msgstr "" #: src/bionics_ui.cpp #, c-format msgid "" -"Invalid bionic letter. Only those characters are valid:\n" +"Invalid bionic letter. Only those characters are valid:\n" "\n" "%s" msgstr "" -"Ungültiger Bionikbuchstabe. Nur diese Zeichen sind erlaubt:\n" -"\n" -"%s" #: src/bionics_ui.cpp #, c-format @@ -189572,10 +194985,40 @@ msgstr "" msgid "Target armor multiplier" msgstr "Ziel Rüstungsmultiplikator" -#. ~ bash damage +80% of strength +#. ~ %1$s: damage type, %2$s: damage-related bonus name #: src/bonuses.cpp -msgid " of " -msgstr " von " +#, c-format +msgctxt "type of damage" +msgid "%1$s %2$s" +msgstr "%1$s%2$s" + +#. ~ %1$s: bonus name, %2$d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%% of %3$s" +msgstr "" + +#. ~ %1$s: bonus name, %2$d: bonus percentage +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%%" +msgstr "" + +#. ~ %1$s: bonus name, %2$+d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d%% of %3$s" +msgstr "" + +#. ~ %1$s: bonus name, %2$+d: bonus value +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d" +msgstr "" #: src/calendar.cpp msgid "forever" @@ -189866,8 +195309,12 @@ msgstr "に坂索トし荷測のンおク妙免イロコヤ梅棋厚れ表幌" #: src/character.cpp msgctxt "not possessive" -msgid "you" -msgstr "dich" +msgid "You" +msgstr "Du" + +#: src/character.cpp +msgid "Your" +msgstr "" #: src/character.cpp msgid "your" @@ -189882,6 +195329,63 @@ msgstr "%ss" msgid "armor" msgstr "Rüstung" +#: src/character.cpp +#, c-format +msgid "You remove the %s's harness." +msgstr "" + +#: src/character.cpp src/game.cpp +msgid "You let go of the grabbed object." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You climb on the %s." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You hear your %s whir to life." +msgstr "" + +#: src/character.cpp +msgid "You are ejected from your mech!" +msgstr "" + +#: src/character.cpp +msgid " is ejected from their mech!" +msgstr "" + +#: src/character.cpp +msgid "You fall off your mount!" +msgstr "Du fällst von deinem Reittier!" + +#: src/character.cpp +msgid " falls off their mount!" +msgstr "" + +#: src/character.cpp src/trapfunc.cpp +msgid "You hurt yourself!" +msgstr "Du verletzt dich!" + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Fell off a mount." +msgstr "" + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Fell off a mount." +msgstr "" + +#: src/character.cpp +msgid "Dismount where?" +msgstr "Wo absteigen?" + +#: src/character.cpp +msgid "You cannot dismount there!" +msgstr "Dort kannst du nicht absteigen!" + #: src/character.cpp msgid "You struggle to stand." msgstr "Du hast Schwierigkeiten, gerade zu stehen." @@ -190077,6 +195581,11 @@ msgstr " braucht mindestens %1$s, um %2$s mit %3$s zu benutzen." msgid "Liquid from your inventory has leaked onto the ground." msgstr "Flüssigkeit aus deinem Inventar ist auf den Boden ausgelaufen." +#: src/character.cpp +#, c-format +msgid "Your current health value is %d." +msgstr "Dein momentaner Gesundheitswert ist %d." + #: src/character.cpp msgid "Parched" msgstr "Verdurstend" @@ -190146,6 +195655,77 @@ msgstr "" msgid "Your %s bionic shorts out!" msgstr "" +#: src/character.cpp +#, c-format +msgid "Your %s will be frostnipped in the next few hours." +msgstr "Dein %s wird in in den nächsten Stunden erfrieren." + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten within the hour!" +msgstr "Dein %s wird in dieser Stunde erfrieren!" + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten any minute now!" +msgstr "In wenigen Minuten wird %s erfrieren!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s beginning to go numb from the cold!" +msgstr "Du spürst deinen %s von der Kälte taub werden!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very cold." +msgstr "Du spürst, wie dein %s sehr kalt wird." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting chilly." +msgstr "Du spürst, wie dein %s kühl wird." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting red hot from the heat!" +msgstr "Du spürst, wie dein %s glühend heiß von der Hitze wird!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very hot." +msgstr "Du spürst, wie dein %s sehr heiß wird." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting warm." +msgstr "Du spürst, wie dein %s warm wird." + +#: src/character.cpp +#, c-format +msgid "The wind is making your %s feel quite cold." +msgstr "Der Wind lässt dich d. %s ziemlich kalt anfühlen." + +#: src/character.cpp +#, c-format +msgid "" +"The wind is very strong, you should find some more wind-resistant clothing " +"for your %s." +msgstr "" +"Der Wind ist sehr stark, du solltest etwas windfestere Kleidung für dein %s " +"finden." + +#: src/character.cpp +#, c-format +msgid "" +"Your clothing is not providing enough protection from the wind for your %s!" +msgstr "Deine Kleidung bietet nicht genug Schutz vor dem Wind für dein %s!" + #: src/character.cpp msgid "Left Arm" msgstr "Linker Arm" @@ -190163,8 +195743,8 @@ msgid "Right Leg" msgstr "Rechtes Bein" #: src/character.cpp -msgid "It is broken. It needs a splint or surgical attention." -msgstr "Gebrochen. Eine Schiene oder chirurgische Behandlung ist von Nöten." +msgid "It is broken. It needs a splint or surgical attention." +msgstr "" #: src/character.cpp #, c-format @@ -190210,10 +195790,8 @@ msgstr "Das wird nicht bei der Reinigung der Wunde helfen." #: src/character.cpp msgid "" -"It has a deep wound that looks infected. Antibiotics might be required." +"It has a deep wound that looks infected. Antibiotics might be required." msgstr "" -"Tiefe Wunde, die infiziert aussieht. Möglicherweise sind auch Antibiotika " -"erforderlich." #: src/character.cpp #, c-format @@ -190313,8 +195891,8 @@ msgstr "" msgid "Big" msgstr "" -#: src/character.cpp src/color.cpp src/color.cpp src/options.cpp -#: src/panels.cpp +#: src/character.cpp src/character_martial_arts.cpp src/color.cpp +#: src/options.cpp msgid "Normal" msgstr "Normal" @@ -190418,6 +195996,32 @@ msgstr "" msgid "EXTRA_EXERCISE" msgstr "" +#: src/character.cpp +msgid "Your body strains under the weight!" +msgstr "Dein Körper verrenkt sich unter der Last!" + +#: src/character.cpp +#, c-format +msgid "Your %s needs %d charge from some UPS." +msgid_plural "Your %s needs %d charges from some UPS." +msgstr[0] "Dein %s braucht %d Ladung von irgendeiner Esz." +msgstr[1] "Dein %s braucht %d Ladungen von irgendeiner Esz." + +#: src/character.cpp +#, c-format +msgid "Your %s has %d charge but needs %d." +msgid_plural "Your %s has %d charges but needs %d." +msgstr[0] "Dein %s hat %d Ladung, benötigt aber %d." +msgstr[1] "Dein %s hat %d Ladungen, benötigt aber %d." + +#: src/character.cpp +msgid "You cough heavily." +msgstr "Du hustest sehr stark." + +#: src/character.cpp +msgid "a hacking cough." +msgstr "einen trockenen Husten." + #: src/character.cpp msgid "You try to shout but you have no face!" msgstr "" @@ -190495,6 +196099,124 @@ msgctxt "fake stat there's an error" msgid "ERR" msgstr "" +#. ~ %s is armor name +#: src/character.cpp +#, c-format +msgctxt "memorial_male" +msgid "Worn %s was completely destroyed." +msgstr "Das getragene %s wurde völlig zerstört." + +#: src/character.cpp +#, c-format +msgctxt "memorial_female" +msgid "Worn %s was completely destroyed." +msgstr "Das getragene %s wurde völlig zerstört." + +#: src/character.cpp +#, c-format +msgid "Your %s is completely destroyed!" +msgstr "Dein %s ist völlig zerstört!" + +#: src/character.cpp +#, c-format +msgid "'s %s is completely destroyed!" +msgstr "s %s ist völlig zerstört!" + +#: src/character.cpp src/veh_interact.cpp +msgid "destroyed" +msgstr "zerstört" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s further!" +msgstr "%1$s ist weiter %2$s!" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s!" +msgstr "%1$s ist %2$s!" + +#: src/character.cpp +#, c-format +msgid "You were attacked by %s!" +msgstr "Du wurdest von %s angegriffen!" + +#: src/character.cpp +msgid "You were hurt!" +msgstr "Du wurdest verletzt!" + +#. ~spore-release sound +#. ~ the sound of a fungus releasing spores +#. ~ That spore sound again +#. ~ the sound of a fungus dying +#: src/character.cpp src/monattack.cpp src/monattack.cpp src/mondeath.cpp +msgid "Pouf!" +msgstr "»Puff!«" + +#: src/character.cpp +msgid "You sink your roots into the soil." +msgstr "Du bohrst deine Wurzeln in die Erde." + +#: src/character.cpp +msgid "You start hauling items along the ground." +msgstr "Du fängst an, Gegenstände entlang des Bodens mitzuschleifen." + +#: src/character.cpp +msgid "Your hands are not free, which makes hauling slower." +msgstr "" +"Du hast keine freie Hand, was das Mitschleifen erheblich langsamer macht." + +#: src/character.cpp +msgid "You stop hauling items." +msgstr "Du hörst auf, Gegenstände mitzuschleifen." + +#: src/character.cpp +msgid "You resume your task." +msgstr "Du setzt deine Tätigkeit fort." + +#: src/character.cpp +msgid "You nestle your pile of clothes for warmth." +msgstr "Du machst es dir im Kleiderhaufen für Wärme gemütlich." + +#: src/character.cpp +msgid "You use your pile of clothes for warmth." +msgstr "Du benutzt deinen Kleiderhaufen für Wärme." + +#: src/character.cpp +#, c-format +msgid "You snuggle your %s to keep warm." +msgstr "Um warm zu bleiben, kuschelst du dich an »%s«." + +#: src/character.cpp +#, c-format +msgid "You use your %s to keep warm." +msgstr "Du benutzt %s, um warm zu bleiben." + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Entered hibernation." +msgstr "Ging in den Winterschlaf über." + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Entered hibernation." +msgstr "Ging in den Winterschlaf über." + +#: src/character_martial_arts.cpp +#, c-format +msgid "You have learned %s from extensive practice with the CQB Bionic." +msgstr "" +"Aufgrund der ausdauernden Übung mit der Nahkampfbionik hast du %s erlernt." + +#: src/character_martial_arts.cpp +#, c-format +msgid "%s to select martial arts style." +msgstr "%s um einen Kampfkunststil auszuwählen." + +#: src/character_martial_arts.cpp +msgid "No Style" +msgstr "k. Stil" + #: src/clzones.cpp msgid "No Auto Pickup" msgstr "Kein Auto-Aufheben" @@ -190540,280 +196262,6 @@ msgid "" "this area." msgstr "" -#: src/clzones.cpp -msgid "Loot: Unsorted" -msgstr "Beute: Unsortiert" - -#: src/clzones.cpp -msgid "" -"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " -"sort items inside. It can overlap with Loot zones of different types." -msgstr "" -"Bereich um unsortierte Beute bzw. Gegenstände abzulegen. Du kannst die " -"Zonenaktion »Meine Beute aussortieren« verwenden, um Gegenstände auch " -"innerhalb dieser Zone zu sortieren, da der Bereich sich mit Beute-Zonen " -"anderer Typen überschneiden darf." - -#: src/clzones.cpp -msgid "Loot: Food" -msgstr "Beute: Essen" - -#: src/clzones.cpp -msgid "" -"Destination for comestibles. If more specific food zone is not defined, all " -"food is moved here." -msgstr "" -"Zielfeld für Lebensmittel. Wenn keine spezifischeren Lebensmittelzonen " -"definiert sind, werden alle Lebensmittel hierher verschoben." - -#: src/clzones.cpp -msgid "Loot: P.Food" -msgstr "Beute: verd. Essen" - -#: src/clzones.cpp -msgid "" -"Destination for perishable comestibles. Does include perishable drinks if " -"such zone is not specified." -msgstr "" -"Zielfeld für verderbliche Lebensmittel. Enthält auch verderbliche Getränke, " -"wenn die entsprechende Zone nicht definiert wurde." - -#: src/clzones.cpp -msgid "Loot: Drink" -msgstr "Beute: Getränke" - -#: src/clzones.cpp -msgid "" -"Destination for drinks. Does include perishable drinks if such zone is not " -"specified." -msgstr "" -"Zielfeld für Getränke. Enthält auch verderbliche Getränke, wenn die " -"entsprechende Zone nicht definiert wurde." - -#: src/clzones.cpp -msgid "Loot: P.Drink" -msgstr "Beute: verd. Getränke" - -#: src/clzones.cpp -msgid "Destination for perishable drinks." -msgstr "Zielfeld für verderbliche Getränke." - -#: src/clzones.cpp -msgid "Loot: Guns" -msgstr "Beute: Feuerwaffen" - -#: src/clzones.cpp -msgid "Destination for guns, bows and similar weapons." -msgstr "Zielfeld für Feuerwaffen, Bögen und ähnliche Waffen." - -#: src/clzones.cpp -msgid "Loot: Magazines" -msgstr "Beute: Magazine" - -#: src/clzones.cpp -msgid "Destination for gun magazines." -msgstr "Zielfeld für Waffenmagazine." - -#: src/clzones.cpp -msgid "Loot: Ammo" -msgstr "Beute: Munition" - -#: src/clzones.cpp -msgid "Destination for ammo." -msgstr "Zielfeld für Munition." - -#: src/clzones.cpp -msgid "Loot: Weapons" -msgstr "Beute: Waffen" - -#: src/clzones.cpp -msgid "Destination for melee weapons." -msgstr "Zielfeld für Nahkampfwaffen." - -#: src/clzones.cpp -msgid "Loot: Tools" -msgstr "Beute: Werkzeuge" - -#: src/clzones.cpp -msgid "Destination for tools." -msgstr "Zielfeld für Werkzeuge." - -#: src/clzones.cpp -msgid "Loot: Clothing" -msgstr "Beute: Kleidung" - -#: src/clzones.cpp -msgid "" -"Destination for clothing. Does include filthy clothing if such zone is not " -"specified." -msgstr "" -"Zielfeld für Kleidung. Enthält auch versiffte Kleidung, wenn die " -"entsprechende Zone nicht definiert wurde." - -#: src/clzones.cpp -msgid "Loot: F.Clothing" -msgstr "Beute: vers. Kleidung" - -#: src/clzones.cpp -msgid "Destination for filthy clothing." -msgstr "Zielfeld für versiffte Kleidung." - -#: src/clzones.cpp -msgid "Loot: Drugs" -msgstr "Beute: Drogen" - -#: src/clzones.cpp -msgid "Destination for drugs and other medical items." -msgstr "Zielfeld für Drogen, Medikamente und andere medizinische Artikel." - -#: src/clzones.cpp -msgid "Loot: Books" -msgstr "Beute: Bücher" - -#: src/clzones.cpp -msgid "Destination for books and magazines." -msgstr "Zielfeld für Bücher und Zeitschriften." - -#: src/clzones.cpp -msgid "Loot: Mods" -msgstr "Beute: Mods" - -#: src/clzones.cpp -msgid "Destination for firearm modifications and similar items." -msgstr "Zielfeld für Schusswaffenmodifikationen und ähnliche Gegenstände." - -#: src/clzones.cpp -msgid "Loot: Mutagens" -msgstr "Beute: Mutagene" - -#: src/clzones.cpp -msgid "Destination for mutagens, serums, and purifiers." -msgstr "Zielfeld für Mutagene, Seren und Purifizierer." - -#: src/clzones.cpp -msgid "Loot: Bionics" -msgstr "Beute: Bioniken" - -#: src/clzones.cpp -msgid "Destination for Compact Bionics Modules aka CBMs." -msgstr "Zielfeld für Kompakte Bionikmodule aka KBMs." - -#: src/clzones.cpp -msgid "Loot: V.Parts" -msgstr "Beute: Fahrzeugteile" - -#: src/clzones.cpp -msgid "Destination for vehicle parts." -msgstr "Zielfeld für Fahrzeugteile." - -#: src/clzones.cpp -msgid "Loot: Other" -msgstr "Beute: Andere" - -#: src/clzones.cpp -msgid "Destination for other miscellaneous items." -msgstr "Zielfeld für andere sonstige Gegenstände." - -#: src/clzones.cpp -msgid "Loot: Fuel" -msgstr "Beute: Treibstoff" - -#: src/clzones.cpp -msgid "" -"Destination for gasoline, diesel, lamp oil and other substances used as a " -"fuel." -msgstr "" -"Zielfeld für Benzin, Diesel, Lampenöl und andere als Kraftstoff verwendete " -"Substanzen." - -#: src/clzones.cpp -msgid "Loot: Seeds" -msgstr "Beute: Samen" - -#: src/clzones.cpp -msgid "Destination for seeds, stems and similar items." -msgstr "Zielfeld für Samen, Stängel und ähnliche Gegenstände." - -#: src/clzones.cpp -msgid "Loot: Chemical" -msgstr "Beute: Chemisches Zeug" - -#: src/clzones.cpp -msgid "Destination for chemicals." -msgstr "Zielfeld für Chemikalien." - -#: src/clzones.cpp -msgid "Loot: S.Parts" -msgstr "Beute: Ersatzteile" - -#: src/clzones.cpp -msgid "Destination for spare parts." -msgstr "Zielfeld für Ersatzteile." - -#: src/clzones.cpp -msgid "Loot: Artifacts" -msgstr "Beute: Artefakte" - -#: src/clzones.cpp -msgid "Destination for artifacts" -msgstr "Zielfeld für Artefakte" - -#: src/clzones.cpp -msgid "Loot: Corpses" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for corpses" -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Armor" -msgstr "Beute: Rüstungen" - -#: src/clzones.cpp -msgid "" -"Destination for armor. Does include filthy armor if such zone is not " -"specified." -msgstr "" -"Zielfeld für Rüstungen. Enthält versiffte Rüstung, wenn diese Zone nicht " -"definiert ist." - -#: src/clzones.cpp -msgid "Loot: F.Armor" -msgstr "Beute: vers. Rüstungen" - -#: src/clzones.cpp -msgid "Destination for filthy armor." -msgstr "Zielfeld für versiffte Rüstungen." - -#: src/clzones.cpp -msgid "Loot: Wood" -msgstr "Beute: Holz" - -#: src/clzones.cpp -msgid "Destination for firewood and items that can be used as such." -msgstr "" -"Zielfeld für Brennholz und Gegenstände, die als solches verwendet werden " -"können." - -#: src/clzones.cpp -msgid "Loot: Custom" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for loot with a custom filter that you can modify." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Ignore" -msgstr "Beute: Ignorieren" - -#: src/clzones.cpp -msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." -msgstr "" -"Gegenstände innerhalb dieses Zielfeldes werden von der Zone-Aktion »Meine " -"Beute aussortieren« ignoriert." - #: src/clzones.cpp msgid "Source: Firewood" msgstr "" @@ -190821,7 +196269,7 @@ msgstr "" #: src/clzones.cpp msgid "" "Source for firewood or other flammable materials in this zone may be used to" -" automatically refuel fires. This will be done to maintain light during " +" automatically refuel fires. This will be done to maintain light during " "long-running tasks such as crafting, reading or waiting." msgstr "" @@ -190873,6 +196321,14 @@ msgstr "" msgid "Any vehicles in this area are marked for repair work." msgstr "" +#: src/clzones.cpp +msgid "Vehicle Patrol Zone" +msgstr "" + +#: src/clzones.cpp +msgid "Vehicles with an autopilot will patrol in this zone." +msgstr "" + #: src/clzones.cpp msgid "Basecamp: Food" msgstr "" @@ -190893,11 +196349,11 @@ msgstr "Keine Samen" #: src/clzones.cpp #, c-format -msgid "Loot: Custom : %s" +msgid "Loot: Custom: %s" msgstr "" #: src/clzones.cpp -msgid "Loot: Custom : No Filter" +msgid "Loot: Custom: No Filter" msgstr "" #: src/clzones.cpp @@ -191051,8 +196507,8 @@ msgstr "FEHLER! Zugriff verweigert!" #: src/computer.cpp #, c-format -msgid "Logging into %s..." -msgstr "Einloggen in %s …" +msgid "Logging into %s…" +msgstr "" #: src/computer.cpp msgid "Access is temporary blocked for security purposes." @@ -191067,16 +196523,16 @@ msgid "Bypass security?" msgstr "Sicherheitssystem umgehen?" #: src/computer.cpp -msgid "Shutting down... press any key." -msgstr "Heruntergefahren … Drücken Sie irgendeine Taste." +msgid "Shutting down… press any key." +msgstr "" #: src/computer.cpp -msgid "Maximum login attempts exceeded. Press any key..." -msgstr "Einlog-Versuchs-Limit überschritten. Drücken Sie irgendeine Taste …" +msgid "Maximum login attempts exceeded. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Login successful. Press any key..." -msgstr "Einloggen erfolgreich. Drücken Sie irgendeine Taste …" +msgid "Login successful. Press any key…" +msgstr "" #: src/computer.cpp msgid "Root Menu" @@ -191099,31 +196555,29 @@ msgid "Choose drive:" msgstr "Datenträger wählen:" #: src/computer.cpp -msgid "Doors opened. Press any key..." -msgstr "Türen geöffnet. Drücken Sie irgendeine Taste …" +msgid "Doors opened. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Lock enabled. Press any key..." -msgstr "Abgeschlossen. Drücken Sie irgendeine Taste …" +msgid "Lock enabled. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Lock disabled. Press any key..." -msgstr "Entsperrt. Drücken Sie irgendeine Taste …" +msgid "Lock disabled. Press any key…" +msgstr "" #. ~ the sound of a church bell ringing #: src/computer.cpp -msgid "Bohm... Bohm... Bohm..." -msgstr "*gong* *gong* *gong* …" +msgid "Bohm… Bohm… Bohm…" +msgstr "" #: src/computer.cpp -msgid "Containment shields opened. Press any key..." +msgid "Containment shields opened. Press any key…" msgstr "" -"Sicherheitseinschlussschilde geöffnet.\n" -"Drücken Sie irgendeine Taste …" #: src/computer.cpp -msgid "Subjects terminated. Press any key..." -msgstr "Subjekte terminiert. Drücken Sie irgendeine Taste …" +msgid "Subjects terminated. Press any key…" +msgstr "" #: src/computer.cpp msgid "WARNING: Resonance cascade carries severe risk! Continue?" @@ -191134,43 +196588,36 @@ msgid "No data found." msgstr "Keine Daten gefunden." #: src/computer.cpp -msgid "Local data-access error logged, alerting helpdesk. Press any key..." +msgid "Local data-access error logged, alerting helpdesk. Press any key…" msgstr "" -"Lokalen Datenzugriffsfehler protokolliert, der Helpdesk wird informiert.\n" -"Drücken Sie irgendeine Taste …" #: src/computer.cpp msgid "" -"Warning: anomalous archive-access activity detected at this node. Press any " -"key..." +"Warning: anomalous archive-access activity detected at this node. Press any" +" key…" msgstr "" -"Warnung: Anomale Archivszugriffsaktivität in diesem Knoten erkannt.\n" -"Drücken Sie irgendeine Taste …" #: src/computer.cpp -msgid "Warning: resticted data access. Attempt logged. Press any key..." +msgid "Warning: resticted data access. Attempt logged. Press any key…" msgstr "" #: src/computer.cpp -msgid "Press any key..." -msgstr "Drücken Sie irgendeine Taste …" +msgid "Press any key…" +msgstr "" #: src/computer.cpp msgid "" "Surface map data downloaded. Local anomalous-access error logged. Press " -"any key..." +"any key…" msgstr "" -"Landkartendaten heruntergeladen. Lokaler Anomalienzugriffsfehler protokolliert.\n" -"Drücken Sie irgendeine Taste …" #: src/computer.cpp -msgid "Sewage map data downloaded. Press any key..." +msgid "Sewage map data downloaded. Press any key…" msgstr "" -"Abwasserkanal-Kartendaten heruntergeladen. Drücken Sie irgendeine Taste …" #: src/computer.cpp -msgid "Subway map data downloaded. Press any key..." -msgstr "U-Bahn-Kartendaten heruntergeladen. Drücken Sie irgendeine Taste …" +msgid "Subway map data downloaded. Press any key…" +msgstr "" #: src/computer.cpp msgid "Target acquisition canceled." @@ -191206,14 +196653,14 @@ msgstr "Bionikzugang – Ladungsverzeichnis:" #: src/computer.cpp #, c-format -msgid "%d OTHER FOUND..." -msgid_plural "%d OTHERS FOUND..." -msgstr[0] "%d ANDERES GEFUNDEN …" -msgstr[1] "%d ANDERE GEFUNDEN …" +msgid "%d OTHER FOUND…" +msgid_plural "%d OTHERS FOUND…" +msgstr[0] "" +msgstr[1] "" #: src/computer.cpp -msgid "Elevator activated. Press any key..." -msgstr "Aufzug aktiviert. Drücken Sie irgendeine Taste …" +msgid "Elevator activated. Press any key…" +msgstr "" #: src/computer.cpp #, c-format @@ -191238,8 +196685,8 @@ msgstr "" "SACHDIENLICHEN VORARBEITER-PROTOKOLLE WERDEN NOTIZEN VORANGESTELLT" #: src/computer.cpp -msgid "FILE CORRUPTED, PRESS ANY KEY..." -msgstr "DATEI BESCHÄDIGT, DRÜCKEN SIE IRGENDEINE TASTE …" +msgid "FILE CORRUPTED, PRESS ANY KEY…" +msgstr "" #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -191254,12 +196701,12 @@ msgid "ACCESS DENIED" msgstr "ZUGRIFF VERWEIGERT" #: src/computer.cpp -msgid "Repeater mod installed..." -msgstr "Verstärkermodifikation installiert." +msgid "Repeater mod installed…" +msgstr "" #: src/computer.cpp -msgid "You do not have a repeater mod to install..." -msgstr "Du hast keine Verstärkermodifikation zum Installieren." +msgid "You do not have a repeater mod to install…" +msgstr "" #: src/computer.cpp msgid "Computer couldn't find its mission!" @@ -191291,16 +196738,16 @@ msgid "ERROR: Please only use blood samples." msgstr "FEHLER: Bitte benutzen Sie nur Blutproben." #: src/computer.cpp -msgid "Result: Human blood, no pathogens found." -msgstr "Ergebnis: Menschliches Blut. Keine Krankheitserreger gefunden." +msgid "Result: Human blood, no pathogens found." +msgstr "" #: src/computer.cpp -msgid "Result: Human blood. Unknown pathogen found." -msgstr "Ergebnis: Menschliches Blut. Unbekannte Krankheitserreger gefunden." +msgid "Result: Human blood. Unknown pathogen found." +msgstr "" #: src/computer.cpp -msgid "Result: Unknown blood type. Unknown pathogen found." -msgstr "Ergebnis: Unbekannte Blutgruppe. Unbekanntes Pathogen gefunden." +msgid "Result: Unknown blood type. Unknown pathogen found." +msgstr "" #: src/computer.cpp msgid "Pathogen bonded to erythrocytes and leukocytes." @@ -191336,71 +196783,54 @@ msgstr "FEHLER: Speicherbank ist leer." #: src/computer.cpp msgid "" -"Memory Bank: Military Hexron Encryption\n" +"Memory Bank: Military Hexron Encryption\n" "Printing Transcript\n" msgstr "" -"Speicherbank: Militärische Hexron-Verschlüsselung\n" -"Transskript wird ausgedruckt\n" #: src/computer.cpp msgid "" -"Memory Bank: Unencrypted\n" +"Memory Bank: Unencrypted\n" "Nothing of interest.\n" msgstr "" -"Speicherbank: Nicht verschlüsselt\n" -"Nichts von Interesse.\n" #: src/computer.cpp msgid "" "\n" -"ERROR: NETWORK DISCONNECT \n" +"ERROR: NETWORK DISCONNECT\n" "UNABLE TO REACH NETWORK ROUTER OR PROXY. PLEASE CONTACT YOUR\n" "SYSTEM ADMINISTRATOR TO RESOLVE THIS ISSUE.\n" " \n" msgstr "" -"\n" -"FEHLER: NETZWERKVERBINDUNG GETRENNT \n" -"ES IST NICHT MÖGLICH, EINEN NETZWERK-ROUTER ODER -PROXY ZU ERREICHEN\n" -"BITTE KONTAKTIEREN SIE IHREN SYSTEMADMINISTRATOR, UM DIESES PROBLEM\n" -"ZU LÖSEN.\n" -" \n" #: src/computer.cpp -msgid "Press any key to continue..." -msgstr "Drücken Sie zum Fortfahren irgendeine Taste …" +msgid "Press any key to continue…" +msgstr "" #: src/computer.cpp msgid "" -"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF \n" -"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU \n" -"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW. \n" +"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF\n" +"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU\n" +"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW.\n" "\n" -"1. DO NOT PANIC. \n" -"2. REMAIN INSIDE THE BUILDING. \n" -"3. SEEK SHELTER IN THE BASEMENT. \n" -"4. USE PROVIDED GAS MASKS. \n" -"5. AWAIT FURTHER INSTRUCTIONS. \n" +"1. DO NOT PANIC.\n" +"2. REMAIN INSIDE THE BUILDING.\n" +"3. SEEK SHELTER IN THE BASEMENT.\n" +"4. USE PROVIDED GAS MASKS.\n" +"5. AWAIT FURTHER INSTRUCTIONS.\n" "\n" " \n" msgstr "" #: src/computer.cpp msgid "" -" WARNING, RADIO TOWER IS UNRESPONSIVE. \n" +" WARNING, RADIO TOWER IS UNRESPONSIVE.\n" " \n" -" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS. \n" -" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD \n" -" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED. \n" +" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS.\n" +" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD\n" +" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED.\n" " \n" " \n" msgstr "" -" WARNUNG, FUNKTURM IST UNEMPFÄNGLICH. \n" -" \n" -" NOTSTROM UNZUREICHEND, UM RUNDFUNK-ANFORDERUNGEN ZU ERFÜLLEN. \n" -" IM NOTFALL KONTAKTIEREN SIE LOKALE NATIONALGARDE-EINHEITEN, UM\n" -" BEVORZUGT ZU WERDEN, WENN GENERATOREN VERTEILT WERDEN. \n" -" \n" -" \n" #: src/computer.cpp msgid "Charges Detonated" @@ -191445,7 +196875,7 @@ msgid "WARNING [409]: Primary sensors offline!" msgstr "" #: src/computer.cpp -msgid " >> Initialize secondary sensors: Geiger profiling..." +msgid " >> Initialize secondary sensors: Geiger profiling…" msgstr "" #: src/computer.cpp @@ -191453,7 +196883,7 @@ msgid " >> Radiation spike detected!\n" msgstr "" #: src/computer.cpp -msgid "WARNING [912]: Catastrophic malfunction! Contamination detected! " +msgid "WARNING [912]: Catastrophic malfunction! Contamination detected!" msgstr "" #: src/computer.cpp @@ -191461,11 +196891,11 @@ msgid "EMERGENCY PROCEDURE [1]: Evacuate. Evacuate. Evacuate.\n" msgstr "" #: src/computer.cpp -msgid "EMERGENCY SHUTDOWN! Press any key..." +msgid "EMERGENCY SHUTDOWN! Press any key…" msgstr "" #: src/computer.cpp -msgid "PROCESSING... CYCLE COMPLETE." +msgid "PROCESSING… CYCLE COMPLETE." msgstr "" #: src/computer.cpp @@ -191475,7 +196905,7 @@ msgstr "" #: src/computer.cpp msgid "" -"CRITICAL ERROR... RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " +"CRITICAL ERROR… RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " "RP_M_01_rev.03." msgstr "" @@ -191485,22 +196915,22 @@ msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... AVG %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… AVG %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... MAX %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… MAX %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ CONSOLE: .... %s mSv/h." +msgid "GEIGER COUNTER @ CONSOLE:… %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "PERSONAL DOSIMETRY: .... %s mSv." +msgid "PERSONAL DOSIMETRY:… %s mSv." msgstr "" #: src/computer.cpp @@ -191524,11 +196954,11 @@ msgid "No items detected at: LOADING BAY." msgstr "" #: src/computer.cpp -msgid "Conveyor belt cycle complete. Press any key..." +msgid "Conveyor belt cycle complete. Press any key…" msgstr "" #: src/computer.cpp -msgid "Toggling shutters. Press any key..." +msgid "Toggling shutters. Press any key…" msgstr "" #: src/computer.cpp @@ -191536,15 +196966,15 @@ msgid "Operation irreversible. Extract radioactive material?" msgstr "" #: src/computer.cpp -msgid "Extraction sequence complete... Press any key." +msgid "Extraction sequence complete… Press any key." msgstr "" #: src/computer.cpp -msgid "ERROR! Radiation platform unresponsive... Press any key." +msgid "ERROR! Radiation platform unresponsive… Press any key." msgstr "" #: src/computer.cpp -msgid "Initiating POWER-DIAG ver.2.34 ..." +msgid "Initiating POWER-DIAG ver.2.34…" msgstr "" #: src/computer.cpp @@ -191565,13 +196995,13 @@ msgstr "" #: src/computer.cpp #, c-format -msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." +msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." msgstr "" #: src/computer.cpp #, c-format msgid "" -"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " +"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " "DETECTED." msgstr "" @@ -191580,7 +197010,7 @@ msgid "Backup power status: STANDBY MODE." msgstr "" #: src/computer.cpp -msgid "Backup power status: OFFLINE. Reason: UNKNOWN" +msgid "Backup power status: OFFLINE. Reason: UNKNOWN" msgstr "" #: src/computer.cpp @@ -191640,8 +197070,8 @@ msgid "ERROR: Data bank destroyed." msgstr "FEHLER: Speicherbank zerstört." #: src/computer.cpp -msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT ... " -msgstr "SUCHE NACH DEM NÄCHSTEM FLÜCHTLINGSLAGER, BITTE WARTEN ... " +msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT…" +msgstr "" #. ~555-0164 is a fake phone number in the US, please replace it with a number #. that will not cause issues in your locale if possible. @@ -191649,26 +197079,16 @@ msgstr "SUCHE NACH DEM NÄCHSTEM FLÜCHTLINGSLAGER, BITTE WARTEN ... " #, c-format msgid "" "\n" -"REFUGEE CENTER FOUND! LOCATION: %d %s\n" +"REFUGEE CENTER FOUND! LOCATION: %d %s\n" "\n" -"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT \n" -"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE. \n" -"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND \n" -"4PM AT 555-0164. \n" +"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT\n" +"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE.\n" +"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND\n" +"4PM AT 555-0164.\n" "\n" "IF YOU WOULD LIKE TO SPEAK WITH SOMEONE IN PERSON OR WOULD LIKE\n" -"TO WRITE US A LETTER PLEASE SEND IT TO...\n" +"TO WRITE US A LETTER PLEASE SEND IT TO…\n" msgstr "" -"\n" -"FLÜCHTLINGSLAGER GEFUNDEN! STANDORT: %d %s\n" -"\n" -"FALLS SIE IRGENDWELCHE ANMERKUNGEN BEZÜGLICH IHRES BESUCHS\n" -"HABEN, KONTAKTIEREN SIE BITTE DAS BÜRO FÜR ÖFFENTLICHE NOTFALL-\n" -"ANGELEGENHEITEN. DAS ÖRTLICHE BÜRO KANN ZWISCHEN 9:00 UND\n" -"16:00 UHR UNTER 555-0164 ERREICHT WERDEN.\n" -"\n" -"WENN SIE MIT JEMANDEN PERSÖNLICH SPRECHEN WOLLEN, ODER UNS\n" -"EINEN BRIEF ZUSENDEN WOLLEN, SCHICKEN SIE IHN BITTE AN…\n" #: src/construction.cpp msgid " Construction " @@ -191760,13 +197180,13 @@ msgstr "" #: src/construction.cpp #, c-format -msgid "%s assists you with the work..." -msgstr "%s hilft dir mit der Arbeit." +msgid "%s assists you with the work…" +msgstr "" #: src/construction.cpp #, c-format -msgid "%s watches you work..." -msgstr "%s sieht dir bei der Arbeit zu." +msgid "%s watches you work…" +msgstr "" #: src/construction.cpp #, c-format @@ -191827,8 +197247,8 @@ msgid "That %s can not be dissasembled, since there is furniture above it." msgstr "" #: src/construction.cpp -msgid "The rock feels much warmer than normal. Proceed?" -msgstr "Dieser Stein fühlt sich viel wärmer als gewöhnlich an. Fortfahren?" +msgid "The rock feels much warmer than normal. Proceed?" +msgstr "" #: src/construction.cpp msgid "You just tunneled into lava!" @@ -192002,23 +197422,19 @@ msgstr "%s trotzdem konsumieren?" #: src/consumption.cpp msgid "" "You've begun stockpiling calories and liquid for hibernation. You get the " -"feeling that you should prepare for bed, just in case, but...you're hungry " +"feeling that you should prepare for bed, just in case, but… you're hungry " "again, and you could eat a whole week's worth of food RIGHT NOW." msgstr "" -"Du hast damit angefangen, Kalorien und Flüssigkeiten für den Winterschlaf " -"anzusammeln. Du hast das Gefühl, das du dich für das Bett vorbereiten " -"solltest, nur um auf Nummer sicher zu gehen, aber … du bist schon wieder " -"hungrig und du könntest einen Wochenvorrat an Nahrung GENAU JETZT essen." #: src/consumption.cpp #, c-format -msgid "Ick, this %s doesn't taste so good..." -msgstr "Pfui, %s schmeckt nicht so gut …" +msgid "Ick, this %s doesn't taste so good…" +msgstr "" #: src/consumption.cpp #, c-format -msgid "Mmm, this %s tastes delicious..." -msgstr "Mmmh, dieses %s schmeckt lecker." +msgid "Mmm, this %s tastes delicious…" +msgstr "" #: src/consumption.cpp #, c-format @@ -192032,8 +197448,8 @@ msgstr "Du assimilierst dein %s." #: src/consumption.cpp #, c-format -msgid "Ick, this %s (rotten) doesn't taste so good..." -msgstr "Pfui, %s (verdorben) schmeckt nicht so gut …" +msgid "Ick, this %s (rotten) doesn't taste so good…" +msgstr "" #: src/consumption.cpp #, c-format @@ -192087,8 +197503,8 @@ msgid "You greedily devour the taboo meat." msgstr "Gierig verschlingst du das Tabufleisch." #: src/consumption.cpp -msgid "Meh. You've eaten worse." -msgstr "Naja. Du hast Schlimmeres gegessen." +msgid "Meh. You've eaten worse." +msgstr "" #: src/consumption.cpp msgid "" @@ -192118,8 +197534,8 @@ msgid "You can't taste much of anything with this flu." msgstr "" #: src/consumption.cpp -msgid "Yuck! How can anybody eat this stuff?" -msgstr "Igitt! Wie kann irgendjemand dieses Zeug essen?" +msgid "Yuck! How can anybody eat this stuff?" +msgstr "" #: src/consumption.cpp msgid "Mmm, junk food." @@ -192130,8 +197546,8 @@ msgid "When life's got you down, there's always sugar." msgstr "Wenn das Leben dich fertig macht, dann gibt es immer noch Zucker." #: src/consumption.cpp -msgid "They may do what they must... you've already won." -msgstr "Sie mögen tun, was sie tun müssen … du hast schon gewonnen." +msgid "They may do what they must… you've already won." +msgstr "" #: src/consumption.cpp msgid "Your stomach begins gurgling and you feel bloated and ill." @@ -192167,16 +197583,16 @@ msgid "They're coming to get you." msgstr "Sie kommen, dich zu holen." #: src/consumption.cpp -msgid "This might've been a bad idea..." -msgstr "Das könnte eine schlechte Idee gewesen sein …" +msgid "This might've been a bad idea…" +msgstr "" #: src/consumption.cpp msgid "You've really done it this time, haven't you?" msgstr "Also jetzt hast du den Vogel endgültig abgeschossen!" #: src/consumption.cpp -msgid "You have to stay vigilant. They're always watching..." -msgstr "Du musst wachsam bleiben. Sie beobachten dich. Immer." +msgid "You have to stay vigilant. They're always watching…" +msgstr "" #: src/consumption.cpp msgid "mistake mistake mistake mistake mistake" @@ -192195,8 +197611,8 @@ msgid "Something is twitching at the edge of your vision." msgstr "Etwas zuckt am Rand deines Sichtfelds." #: src/consumption.cpp -msgid "They know what you've done..." -msgstr "Sie wissen, was du getan hast …" +msgid "They know what you've done…" +msgstr "" #: src/consumption.cpp msgid "You're feeling even more paranoid than usual." @@ -192209,21 +197625,19 @@ msgstr "" " vor." #: src/consumption.cpp -msgid "You feel stocked for a day or two. Got your bed all ready and secured?" +msgid "" +"You feel stocked for a day or two. Got your bed all ready and secured?" msgstr "" -"Du fühlst dich für einen Tag oder zwei gefüllt. Hast du dein Bett gemacht?" #: src/consumption.cpp msgid "" -"Mmm. You can still fit some more in...but maybe you should get comfortable " +"Mmm. You can still fit some more in… but maybe you should get comfortable " "and sleep." msgstr "" -"Mjam. Es passt vielleicht noch mehr rein … aber vielleicht solltest du es " -"dir gemütlich machen und schlafen." #: src/consumption.cpp -msgid "That filled a hole! Time for bed..." -msgstr "Das hat ein Loch gestopft! Zeit zum Schlafen …" +msgid "That filled a hole! Time for bed…" +msgstr "" #: src/consumption.cpp msgid "You feel as though you're going to split open! In a good way?" @@ -192232,8 +197646,8 @@ msgstr "Du fühlst dich, als ob du dich aufbrechen könntest! Im guten Sinne?" #. ~slimespawns have *small voices* which may be the Nice equivalent #. ~of the Rat King's ALL CAPS invective. Probably shared-brain telepathy. #: src/consumption.cpp -msgid "hey, you look like me! let's work together!" -msgstr "heh, du siehst aus wie ich! lass uns zusammen arbeiten!" +msgid "hey, you look like me! let's work together!" +msgstr "" #: src/consumption.cpp #, c-format @@ -192245,24 +197659,6 @@ msgstr "Du spürst, wie %s dich ausfüllt." msgid " looks better after eating the %s." msgstr " sieht besser aus, nach dem Essen von %s." -#: src/consumption.cpp -msgid "Your internal power storage is fully powered." -msgstr "Dein interner Stromspeicher ist voll aufgeladen." - -#: src/consumption.cpp -msgid "'s internal power storage is fully powered." -msgstr "Der interne Stromspeicher von ist voll aufgeladen." - -#: src/consumption.cpp -#, c-format -msgid "You recharge your battery system with the %s." -msgstr "Du lädst dein Batteriesystem mit %s auf." - -#: src/consumption.cpp -#, c-format -msgid " recharges their battery system with the %s." -msgstr " lädt das Batteriesystem mit %s auf." - #: src/consumption.cpp msgid "That is a LOT of plutonium. Are you sure you want that much?" msgstr "Das ist VIEL Plutonium. Bist du dir sicher, dass du soviel willst?" @@ -192371,8 +197767,8 @@ msgid "" msgstr "" #: src/craft_command.cpp -msgid "Some components used previously are missing. Continue?" -msgstr "Einige Komponenten, die vorher benutzt wurden, fehlen. Fortfahren?" +msgid "Some components used previously are missing. Continue?" +msgstr "" #: src/craft_command.cpp msgid "Item(s): " @@ -192383,7 +197779,7 @@ msgid "Tool(s): " msgstr "Werkzeug(e):" #: src/crafting.cpp -msgid "Your morale is too low to craft such a difficult thing..." +msgid "Your morale is too low to craft such a difficult thing…" msgstr "" #: src/crafting.cpp @@ -192440,7 +197836,7 @@ msgstr "Du kannst nicht noch mehr davon anfertigen!" #, c-format msgid "" "You don't have anything in which to store %s and may have to pour it out or " -"consume it as soon as it is prepared! Proceed?" +"consume it as soon as it is prepared! Proceed?" msgstr "" #: src/crafting.cpp src/pickup.cpp @@ -192531,23 +197927,23 @@ msgstr "" #: src/crafting.cpp #, c-format -msgid "%s assists with crafting..." -msgstr "%s hilft bei der Fertigung." +msgid "%s assists with crafting…" +msgstr "" #: src/crafting.cpp #, c-format -msgid "%s could assist you with a batch..." -msgstr "%s könnte dir beim Anfertigen eines Stapels helfen." +msgid "%s could assist you with a batch…" +msgstr "" #: src/crafting.cpp #, c-format -msgid "%s watches you craft..." -msgstr "%s sieht dir bei der Fertigung zu." +msgid "%s watches you craft…" +msgstr "" #: src/crafting.cpp #, c-format -msgid "%s helps with crafting..." -msgstr "%s hilft bei der Fertigung." +msgid "%s helps with crafting…" +msgstr "" #: src/crafting.cpp #, c-format @@ -192832,8 +198228,8 @@ msgstr "Stapelzeitersparnis: %s" #: src/crafting_gui.cpp #, c-format -msgid "Dark craftable? %s" -msgstr "Fertigung im Dunkeln? %s" +msgid "Dark craftable? %s" +msgstr "" #: src/crafting_gui.cpp src/defense.cpp msgid "Easy" @@ -192909,13 +198305,10 @@ msgstr "nach eingeprägten oder nicht suchen" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" -"Standardmäßig werden Ergebnisnamen durchsucht. Einige Einzelzeichen-Präfixe können mit Doppelpunkt (:) benutzt werden, um auf andere Weisen zu suchen. Zusätzliche Filter werden mit Kommata (,) getrennt.\n" -"\n" -"Beispiele:\n" #: src/crafting_gui.cpp msgid "shirt" @@ -193125,8 +198518,8 @@ msgid "Friendly" msgstr "Freundl." #: src/creature.cpp -msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" -msgstr "BUG: Namenloses Verhalten. (Creature::get_attitude_ui_data)" +msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" +msgstr "" #: src/damage.cpp msgctxt "damage type" @@ -193179,8 +198572,8 @@ msgid "See %s for a full stack backtrace" msgstr "Siehe %s für einen vollständigen Stack-Backtrace" #: src/debug.cpp -msgid "An error has occurred! Written below is the error report:" -msgstr "Ein Fehler ist aufgetreten! Es folgt der Fehlerbericht:" +msgid "An error has occurred! Written below is the error report:" +msgstr "" #: src/debug.cpp msgid "Press space bar to continue the game." @@ -193239,7 +198632,7 @@ msgid "Level a spell" msgstr "" #: src/debug_menu.cpp -msgid "Player..." +msgid "Player…" msgstr "" #: src/debug_menu.cpp @@ -193282,10 +198675,18 @@ msgstr "" msgid "Toggle display temperature" msgstr "" +#: src/debug_menu.cpp +msgid "Toggle display vehicle autopilot overlay" +msgstr "" + #: src/debug_menu.cpp msgid "Toggle display visibility" msgstr "" +#: src/debug_menu.cpp +msgid "Toggle display lighting" +msgstr "" + #: src/debug_menu.cpp msgid "Toggle display radiation" msgstr "" @@ -193318,12 +198719,16 @@ msgstr "" msgid "Print faction info to console" msgstr "" +#: src/debug_menu.cpp +msgid "Print NPC magic info to console" +msgstr "" + #: src/debug_menu.cpp msgid "Test weather" msgstr "Wetter testen" #: src/debug_menu.cpp -msgid "Info..." +msgid "Info…" msgstr "" #: src/debug_menu.cpp @@ -193339,7 +198744,7 @@ msgid "Teleport - adjacent overmap" msgstr "" #: src/debug_menu.cpp -msgid "Teleport..." +msgid "Teleport…" msgstr "" #: src/debug_menu.cpp @@ -193367,7 +198772,7 @@ msgid "Spawn clairvoyance artifact" msgstr "" #: src/debug_menu.cpp -msgid "Spawning..." +msgid "Spawning…" msgstr "" #: src/debug_menu.cpp @@ -193411,7 +198816,7 @@ msgid "Spawn map extra" msgstr "" #: src/debug_menu.cpp -msgid "Map..." +msgid "Map…" msgstr "" #: src/debug_menu.cpp @@ -193421,8 +198826,8 @@ msgstr "" #: src/debug_menu.cpp msgid "" "Debug Functions - Using these will cheat not only the game, but yourself.\n" -"You won't grow. You won't improve.\n" -"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" +"You won't grow. You won't improve.\n" +"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" "Nothing will be risked and nothing will be gained." msgstr "" @@ -193449,7 +198854,7 @@ msgstr "Wo ist die gewünschte Oberkarte?" msgid "You teleport to overmap (%d,%d,%d)." msgstr "Du teleportierst dich zur Oberkarte (%d;%d;%d)." -#: src/debug_menu.cpp src/iuse.cpp src/npctrade.cpp +#: src/debug_menu.cpp src/game.cpp src/iuse.cpp src/npctrade.cpp msgid "You" msgstr "Du" @@ -193597,6 +199002,10 @@ msgstr "Statusfenster [@]" msgid "t[e]leport" msgstr "T[e]leportieren" +#: src/debug_menu.cpp +msgid "Give the [f]lu" +msgstr "" + #: src/debug_menu.cpp msgid "Edit [M]issions (WARNING: Unstable!)" msgstr "[M]issionen bearbeiten (ACHTUNG: Instabil!)" @@ -193635,8 +199044,8 @@ msgstr "Maximale Wahrnehmung" #: src/debug_menu.cpp #, c-format -msgid "Set the stat to? Currently: %d" -msgstr "Wert setzen auf? Momentan: %d" +msgid "Set the stat to? Currently: %d" +msgstr "" #: src/debug_menu.cpp msgid "Delete all items from the target?" @@ -193664,12 +199073,12 @@ msgstr "Rechtes Bein" #: src/debug_menu.cpp #, c-format -msgid "Set the hitpoints to? Currently: %d" -msgstr "Trefferpunkte setzen auf? Momentan: %d" +msgid "Set the hitpoints to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set stamina to? Current: %d. Max: %d." +msgid "Set stamina to? Current: %d. Max: %d." msgstr "" #: src/debug_menu.cpp @@ -193678,8 +199087,8 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set the morale to? Currently: %d" -msgstr "Moral setzen auf? Momentan: %d" +msgid "Set the morale to? Currently: %d" +msgstr "" #: src/debug_menu.cpp msgid "trust" @@ -193703,27 +199112,27 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set trust to? Currently: %d" +msgid "Set trust to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set fear to? Currently: %d" +msgid "Set fear to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set value to? Currently: %d" +msgid "Set value to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set anger to? Currently: %d" +msgid "Set anger to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set owed to? Currently: %d" +msgid "Set owed to? Currently: %d" msgstr "" #: src/debug_menu.cpp @@ -193733,16 +199142,14 @@ msgstr "Umbenennen:" #: src/debug_menu.cpp #, c-format msgid "" -"NPC: \n" +"NPC:\n" "%s\n" msgstr "" -"NPC: \n" -"%s\n" #: src/debug_menu.cpp #, c-format -msgid "Cause how much pain? pain: %d" -msgstr "Wie viel Schmerz zufügen? Schmerz: %d" +msgid "Cause how much pain? pain: %d" +msgstr "" #: src/debug_menu.cpp msgid "Hunger" @@ -193766,33 +199173,33 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set hunger to? Currently: %d" -msgstr "Hunger setzen auf? Momentan: %d" +msgid "Set hunger to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set stored kCal to? Currently: %d" +msgid "Set stored kCal to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set thirst to? Currently: %d" -msgstr "Durst setzen auf? Momentan: %d" +msgid "Set thirst to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set fatigue to? Currently: %d" -msgstr "Müdigkeit setzen auf? Momentan: %d" +msgid "Set fatigue to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set sleep deprivation to? Currently: %d" -msgstr "Schlafentzug setzen auf? Momentan: %d" +msgid "Set sleep deprivation to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set %s to? Currently: %d" -msgstr "%s setzen auf? Momentan: %d" +msgid "Set %s to? Currently: %d" +msgstr "" #: src/debug_menu.cpp src/panels.cpp msgid "Health" @@ -193808,8 +199215,8 @@ msgstr "Strahlung" #: src/debug_menu.cpp #, c-format -msgid "Set the value to? Currently: %d" -msgstr "Wert setzen auf? Momentan: %d" +msgid "Set the value to? Currently: %d" +msgstr "" #: src/debug_menu.cpp msgid "Choose mission type" @@ -193931,8 +199338,8 @@ msgstr "Mission ohne anständiges Aufräumen löschen" #: src/debug_menu.cpp #, c-format -msgid "Drew %d times in %.3f seconds. (%.3f fps average)" -msgstr "%d mal in %.3f Sekunden gezeichnet (FPS-Durchschnitt: %.3f)" +msgid "Drew %d times in %.3f seconds. (%.3f fps average)" +msgstr "" #: src/debug_menu.cpp msgid "Current overmap revealed." @@ -194081,8 +199488,8 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Damage self for how much? hp: %d" -msgstr "Dich selbst um wieviel verletzen? TP: %d" +msgid "Damage self for how much? hp: %d" +msgstr "" #: src/debug_menu.cpp msgid "This binary was not compiled with tiles support." @@ -194119,8 +199526,8 @@ msgid "Set year to?" msgstr "Welches Jahr?" #: src/debug_menu.cpp -msgid "Set season to? (0 = spring)" -msgstr "Welche Jahreszeit? (0 = Frühling)" +msgid "Set season to? (0 = spring)" +msgstr "" #: src/debug_menu.cpp msgid "Set days to?" @@ -194136,8 +199543,8 @@ msgstr "Welche Minute?" #: src/debug_menu.cpp #, c-format -msgid "Set turn to? (One day is %i turns)" -msgstr "Zug setzen auf? (Ein Tag entspricht %i Zügen)" +msgid "Set turn to? (One day is %i turns)" +msgstr "" #: src/debug_menu.cpp msgid "Enter benchmark length (in milliseconds):" @@ -194145,11 +199552,9 @@ msgstr "Benchmark-Länge eingeben (in Millisekunden):" #: src/debug_menu.cpp msgid "" -"Quit without saving? This may cause issues such as duplicated or missing " +"Quit without saving? This may cause issues such as duplicated or missing " "items and vehicles!" msgstr "" -"Beenden ohne Speichern? Das könnte zu Problemen führen, wie z.B. duplizierte" -" oder fehlende Gegenstände und Fahrzeuge!" #: src/debug_menu.cpp #, c-format @@ -194186,10 +199591,12 @@ msgstr "" msgid "Spell" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "LVL" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "MAX" msgstr "" @@ -194214,8 +199621,8 @@ msgid "Please wait as the map generates [ 0%% ]" msgstr "Bitte warte auf die Erzeugung der Welt [ 0%%]" #: src/defense.cpp -msgid "A caravan approaches! Press spacebar..." -msgstr "Eine Karawane trifft ein! Drücke die Leertaste …" +msgid "A caravan approaches! Press spacebar…" +msgstr "" #: src/defense.cpp msgid "You don't need to sleep!" @@ -194577,8 +199984,8 @@ msgstr "%s aus der Hölle!" #: src/defense.cpp #, c-format -msgid "Beware! %s!" -msgstr "Vorsicht! %s!" +msgid "Beware! %s!" +msgstr "" #: src/defense.cpp #, c-format @@ -194775,8 +200182,8 @@ msgstr "Falle: %s (%d)" #: src/editmap.cpp src/game.cpp #, c-format -msgid "There is a %s there. Parts:" -msgstr "Dort ist 1 %s. Teile:" +msgid "There is a %s there. Parts:" +msgstr "" #: src/editmap.cpp #, c-format @@ -195020,11 +200427,9 @@ msgstr "Kartengeneratorstempel" #: src/effect.cpp msgid "" -"The scariest thing in the world would be... if all the air in the world " -"turned to WOOD!" +"The scariest thing in the world would be… if all the air in the world turned" +" to WOOD!" msgstr "" -"Die unheimlichste Sache der Welt wäre es, … wenn sich die gesamte Luft der " -"Welt in HOLZ verwandelt!" #: src/effect.cpp msgid "" @@ -195042,8 +200447,8 @@ msgid "Science is a liar sometimes." msgstr "Manchmal ist die Wissenschaft eine Lügnerin." #: src/effect.cpp -msgid "Science is... wait, what was I talking about again?" -msgstr "Wissenschaft ist … moment mal, worüber hab ich nochmal gesprochen?" +msgid "Science is… wait, what was I talking about again?" +msgstr "" #: src/effect.cpp msgid "" @@ -195066,9 +200471,8 @@ msgid "She was a hip, hip, hip lady, man." msgstr "Sie war eine hippe, hippe, hippe Lady, Mann." #: src/effect.cpp -msgid "You ever see the back of a twenty dollar bill... on weed?" +msgid "You ever see the back of a twenty dollar bill… on weed?" msgstr "" -"Hast du jemals die Rückseite einer Zwanzigdollarnote gesehen … bekifft?" #: src/effect.cpp msgid "" @@ -195083,20 +200487,16 @@ msgid "RED TEAM GO, RED TEAM GO!" msgstr "ROTES TEAM: LOS! ROTES TEAM: LOS!" #: src/effect.cpp -msgid "You have a sudden urge to flip your bible open to Genesis 1:29..." +msgid "You have a sudden urge to flip your bible open to Genesis 1:29…" msgstr "" -"Du hast ein plötzliches Bedürfnis, deine Bibel an Genesis 1:29 " -"aufzuschlagen." #: src/effect.cpp -msgid "That rug really tied the room together..." -msgstr "Dieser Teppich hat diesen Raum total zusammengebunden." +msgid "That rug really tied the room together…" +msgstr "" #: src/effect.cpp -msgid "I used to do drugs... I still do, but I used to, too." +msgid "I used to do drugs… I still do, but I used to, too." msgstr "" -"Früher habe ichl Drogen konsumiert. Das tu ich eigentlich noch immer, aber " -"ich hab das damals auch getan." #: src/effect.cpp msgid "The herb reveals you to yourself." @@ -195104,19 +200504,17 @@ msgstr "Die Pflanze lässt dich dir selbst offenbaren." #: src/effect.cpp msgid "" -"Okay, like, the scariest thing in the world would be... if like you went to " +"Okay, like, the scariest thing in the world would be… if like you went to " "grab something and it wasn't there!" msgstr "" -"Okay, die unheimlichste Sache in der Welt wäre es, wenn … wenn, nun, ja, " -"wenn du etwas greifen wolltest und es ist gar nicht da!" #: src/effect.cpp msgid "They call them fingers, but I never see them fing." msgstr "Sie nennen sie »Finger«, aber ich hab sie niemals fingen gesehen." #: src/effect.cpp -msgid "... oh, there they go." -msgstr "… oh, da gehen sie hin." +msgid "…oh, there they go." +msgstr "" #: src/effect.cpp msgid "" @@ -195157,8 +200555,8 @@ msgid "Oh, sometimes the early-mid-late-early-morning." msgstr "Oder manchmal am Frühmittspätfrühmorgen." #: src/effect.cpp -msgid "...But never at dusk." -msgstr "Aber niemals bei Sonnenaufgang!" +msgid "…But never at dusk." +msgstr "" #: src/effect.cpp msgid "Dave's not here, man." @@ -195169,12 +200567,12 @@ msgid "Man, a cheeseburger sounds SO awesome right now." msgstr "Mann, ein Cheeseburger klingt jetzt TOTAL verlockend, Alter." #: src/effect.cpp -msgid "Eh... maybe not." -msgstr "Ähm, vielleicht nicht." +msgid "Eh… maybe not." +msgstr "" #: src/effect.cpp -msgid "I guess, maybe, without the cheese... yeah." -msgstr "Ich meine, vielleicht, ohne den Käse." +msgid "I guess, maybe, without the cheese… yeah." +msgstr "" #: src/effect.cpp msgid "Walkin' down the hall, by myself, smokin' a j with fifty elves." @@ -195332,6 +200730,10 @@ msgstr "hervorragend" msgid "perfect" msgstr "perfekt" +#: src/explosion.cpp +msgid "force of the explosion" +msgstr "" + #: src/explosion.cpp msgid "You're caught in the explosion!" msgstr "Du wirst von der Explosion erfasst!" @@ -195684,21 +201086,21 @@ msgid "Press enter to rename this camp" msgstr "" #: src/faction.cpp -msgid "Direction : to the " +msgid "Direction: to the " msgstr "" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d)" +msgid "Location: (%d, %d)" msgstr "" #: src/faction.cpp #, c-format -msgid "Food Supply : %s %d calories" +msgid "Food Supply: %s %d calories" msgstr "" #: src/faction.cpp -msgid "Next Upgrade : " +msgid "Next Upgrade: " msgstr "" #: src/faction.cpp @@ -195711,25 +201113,25 @@ msgid "Press enter to talk to this follower " msgstr "" #: src/faction.cpp -msgid "travelling to : " +msgid "travelling to: " msgstr "" #: src/faction.cpp #, c-format -msgid "travelling to : (%d, %d)" +msgid "travelling to: (%d, %d)" msgstr "" #: src/faction.cpp -msgid "Current Mission : " +msgid "Current Mission: " msgstr "" #: src/faction.cpp -msgid "Direction : Nearby" +msgid "Direction: Nearby" msgstr "" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d), at camp: %s" +msgid "Location: (%d, %d), at camp: %s" msgstr "" #: src/faction.cpp @@ -195761,8 +201163,8 @@ msgid "Within interaction range" msgstr "" #: src/faction.cpp -msgid "Status : " -msgstr "" +msgid "Status: " +msgstr "Zustand: " #: src/faction.cpp msgid "In Combat!" @@ -195785,37 +201187,41 @@ msgid "Guarding" msgstr "" #: src/faction.cpp -msgid "Condition : " +msgid "Basecamp job: " msgstr "" #: src/faction.cpp -msgctxt "needs" -msgid "Nominal" +msgid "Condition: " msgstr "" #: src/faction.cpp -msgid "Hunger : " +msgctxt "needs" +msgid "Nominal" msgstr "" #: src/faction.cpp -msgid "Thirst : " +msgid "Hunger: " msgstr "" #: src/faction.cpp -msgid "Fatigue : " +msgid "Thirst: " msgstr "" #: src/faction.cpp -msgid "Wielding : " +msgid "Fatigue: " msgstr "" +#: src/faction.cpp src/player.cpp +msgid "Wielding: " +msgstr "Hält: " + #: src/faction.cpp -msgid "Best other skills : " +msgid "Best other skills: " msgstr "" #: src/faction.cpp #, c-format -msgid "Best combat skill : %s : %d" +msgid "Best combat skill: %s: %d" msgstr "" #: src/faction.cpp @@ -195855,23 +201261,31 @@ msgid "Recover Ally from Upgrading" msgstr "Verbündeten von Aufwertung zurückrufen" #: src/faction_camp.cpp -msgid "Busy crafting!\n" -msgstr "Ist beschäftigt mit der Fertigung!\n" +msgid "Emergency Recall" +msgstr "" + +#: src/faction_camp.cpp +msgid "Lost in the ether!\n" +msgstr "" #: src/faction_camp.cpp msgid "Craft Item" msgstr "" +#: src/faction_camp.cpp +msgid "Busy crafting!\n" +msgstr "Ist beschäftigt mit der Fertigung!\n" + #: src/faction_camp.cpp msgid " (Finish) Crafting" msgstr " (Fertig) Fertigen" #: src/faction_camp.cpp -msgid "Busy travelling!\n" +msgid "Travelling" msgstr "" #: src/faction_camp.cpp -msgid "Travelling" +msgid "Busy travelling!\n" msgstr "" #: src/faction_camp.cpp @@ -195907,8 +201321,8 @@ msgid "Menial Labor" msgstr "Niedere Arbeiten" #: src/faction_camp.cpp -msgid "Performing menial labor...\n" -msgstr "Übt niedere Arbeiten aus …\n" +msgid "Performing menial labor…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Menial Laborer" @@ -195919,8 +201333,8 @@ msgid "Expand Base" msgstr "Basis expandieren" #: src/faction_camp.cpp -msgid "Surveying for expansion...\n" -msgstr "Auf der Auskundschaftung für Expansionen …\n" +msgid "Surveying for expansion…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Surveyor" @@ -195931,8 +201345,8 @@ msgid "Cut Logs" msgstr "Holz hacken" #: src/faction_camp.cpp -msgid "Cutting logs in the woods...\n" -msgstr "Zerhackt Baumstämme in den Wäldern …\n" +msgid "Cutting logs in the woods…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Log Cutter" @@ -195943,21 +201357,21 @@ msgid "Clear a forest" msgstr "Einen Wald roden" #: src/faction_camp.cpp -msgid "Clearing a forest...\n" -msgstr "Einen Wald roden ...\n" +msgid "Clearing a forest…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Clearcutter" msgstr "" -#: src/faction_camp.cpp -msgid "Setting up a hide site...\n" -msgstr "Setzt einen Tierhautplatz auf …\n" - #: src/faction_camp.cpp msgid "Setup Hide Site" msgstr "Tierhautplatz aufsetzen" +#: src/faction_camp.cpp +msgid "Setting up a hide site…\n" +msgstr "" + #: src/faction_camp.cpp msgid "Recover Hide Setup" msgstr "Tierhausplatzaufsetzung zurückrufen" @@ -195967,8 +201381,8 @@ msgid "Relay Hide Site" msgstr "Tierhautplatz-Transport" #: src/faction_camp.cpp -msgid "Transferring gear to a hide site...\n" -msgstr "Transferiert Ausrüstung zum Tierhautplatz...\n" +msgid "Transferring gear to a hide site…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Hide Relay" @@ -196015,8 +201429,8 @@ msgid "Construct Map Fortifications" msgstr "Kartenbefestigungen bauen" #: src/faction_camp.cpp -msgid "Constructing fortifications...\n" -msgstr "Baut Befestigungen …\n" +msgid "Constructing fortifications…\n" +msgstr "" #: src/faction_camp.cpp msgid "Finish Map Fortifications" @@ -196075,8 +201489,8 @@ msgid " Chop Shop" msgstr " Ausschlacht-Autowerkstatt" #: src/faction_camp.cpp -msgid "Working at the chop shop...\n" -msgstr "Bei der Arbeit an der Ausschlacht-Autowerkstatt …\n" +msgid "Working at the chop shop…\n" +msgstr "" #: src/faction_camp.cpp msgid " (Finish) Chop Shop" @@ -196161,16 +201575,13 @@ msgstr " übrig]\n" #: src/faction_camp.cpp src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "Do you wish to bring your allies back into your party?" msgstr "" -"\n" -" \n" -"Willst du deine Verbündeten zurück in deine Gruppe bringen?" #: src/faction_camp.cpp -msgid "You choose to wait..." -msgstr "Du wartest …" +msgid "You choose to wait…" +msgstr "" #: src/faction_camp.cpp msgid "You cannot build a camp here." @@ -196187,10 +201598,8 @@ msgstr "Du bist zu nah an einem anderen Lager!" #: src/faction_camp.cpp msgid "" "Warning, you have selected a region with the following issues:\n" -" \n" +"\n" msgstr "" -"Achtung, du hast eine Region mit den folgenden Problemen ausgewählt:\n" -" \n" #: src/faction_camp.cpp msgid "There are few forests. Wood is your primary construction material.\n" @@ -196207,11 +201616,9 @@ msgstr "" #: src/faction_camp.cpp #, c-format msgid "" -"%s \n" -"Are you sure you wish to continue? " +"%s\n" +"Are you sure you wish to continue?" msgstr "" -"%s \n" -"Willst du wirklich fortfahren? " #: src/faction_camp.cpp #, c-format @@ -196231,14 +201638,22 @@ msgstr ", Lagerleiter" msgid "%s has abandoned the camp." msgstr "%s hat das Lager aufgegeben." +#: src/faction_camp.cpp +msgid " Expansion" +msgstr " Expansion" + +#: src/faction_camp.cpp +msgid "Recover Ally, " +msgstr "Rufe zurück Verbündeten, " + #: src/faction_camp.cpp #, c-format msgid "" -"Notes: \n" +"Notes:\n" "Send a companion to gather materials for the next camp upgrade.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "%s\n" "Risk: Very Low\n" @@ -196246,82 +201661,32 @@ msgid "" "Positions: %d/3\n" msgstr "" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" -"Effects:\n" -"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" -" \n" -"Must have enjoyability >= -6\n" -"Perishable food liquidated at penalty depending on upgrades and rot time:\n" -"> Rotten: 0%%\n" -"> Rots in < 2 days: 60%%\n" -"> Rots in < 5 days: 80%%\n" -" \n" -"Total faction food stock: %d kcal\n" -"or %d day's rations" -msgstr "" - -#: src/faction_camp.cpp -msgid "Distribute Food" -msgstr "Nahrung verteilen" - -#: src/faction_camp.cpp -msgid "" -"Notes:\n" -"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" -" \n" -"Effects:\n" -"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" -"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" -"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." -msgstr "" - -#: src/faction_camp.cpp -msgid "Reset Sort Points" -msgstr "Sortierungspunkte zurücksetzen" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to gather light brush and heavy sticks.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "> heavy sticks\n" "> withered plants\n" "> splintered wood\n" -" \n" +"\n" "Risk: Very Low\n" "Time: 3 Hours, Repeated\n" "Positions: %d/3\n" msgstr "" -"Anmerkungen:\n" -"Entsende einen Begleiter, um nach leichtem Unterholz und schweren Stöcken zu suchen.\n" -" \n" -"Benutzte Fertigkeit: Überleben\n" -"Schwierigkeitsgrad: Entfällt\n" -"Sammelmöglichkeiten:\n" -"> Schwere Stöcke\n" -"> Verdorrte Pflanzen\n" -"> Zersplittertes Holz\n" -" \n" -"Risiko: Sehr niedrig\n" -"Dauer: 3 Stunden, wiederholt\n" -"Positionen: %d/3\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to do low level chores and sort supplies.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Effects:\n" "> Material left in the unsorted loot zone will be sorted into a defined loot zone.\n" "\n" @@ -196330,31 +201695,14 @@ msgid "" "Positions: %d/1\n" msgstr "" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" -" \n" -"Skill used: N/A \n" -"Effects:\n" -"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal. \n" -" \n" -"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window. \n" -" \n" -"Risk: None\n" -"Time: 3 Hours \n" -"Positions: %d/1\n" -msgstr "" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to a nearby forest to cut logs.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 50%% of trees/trunks at the forest position will be cut down.\n" "> 100%% of total material will be brought back.\n" @@ -196364,122 +201712,70 @@ msgid "" "Time: 6 Hour Base + Travel Time + Cutting Time\n" "Positions: %d/1\n" msgstr "" -"Anmerkungen:\n" -"Entsende einen Begleiter in einen nahegelegenen Wald, um Holz zu hacken.\n" -" \n" -"Benutzte Fertigkeit: Herstellung\n" -"Schwierigkeitsgrad: 1\n" -"Wirkungen:\n" -"> 50%% der Bäume/Baumstämme an der Waldstelle werden gefällt bzw. zerhackt.\n" -"> 100%% der Gesamtmaterialien werden zurückgebracht.\n" -"> Wiederholbar mit sinkenden Erträgen.\n" -"> Wird irgendwann Wälder in Felder verwandeln.\n" -"Risiko: Keins\n" -"Dauer: 6 Stunden Grundzeit + Reisezeit + Zeit zum Holzhacken\n" -"Positionen: %d/1\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to a clear a nearby forest.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 95%% of trees/trunks at the forest position will be cut down.\n" "> 0%% of total material will be brought back.\n" "> Forest should become a field tile.\n" "> Useful for clearing land for another faction camp.\n" -" \n" +"\n" "Risk: None\n" "Time: 6 Hour Base + Travel Time + Cutting Time\n" "Positions: %d/1\n" msgstr "" -"Anmerkungen:\n" -"Entsende einen Begleiter, um einen nahegelegenen Wald zu roden.\n" -" \n" -"Benutzte Fertigkeit: Herstellung\n" -"Schwierigkeitsgrad: 1\n" -"Wirkungen:\n" -"> 95%% der Bäume/Baumstämme an der Waldstelle werden gefällt bzw. zerhackt.\n" -"> 100%% der Gesamtmaterialien werden zurückgebracht.\n" -"> Wald sollte zum Feld werden.\n" -"> Nützlich, um Land für ein anderes Fraktionslager freizuräumen.\n" -"Risiko: Keins\n" -"Dauer: 6 Stunden Grundzeit + Reisezeit + Zeit zum Holzhacken\n" -"Positionen: %d/1\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to build an improvised shelter and stock it with equipment at a distant map location.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Good for setting up resupply or contingency points.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 6 Hour Construction + Travel\n" "Positions: %d/1\n" msgstr "" -"Anmerkungen:\n" -"Entsende einen Begleiter, um an einem entfernten Ort einen improvisierten Unterschlupf zu bauen und ihn mit Ausrüstung zu bestücken.\n" -" \n" -"Benutzte Fertigkeit: Überleben\n" -"Schwierigkeitsgrad: 3\n" -"Wirkungen:\n" -"> Gut zum Aufsetzen von Versorgungs- oder Notvorratspunkten.\n" -"> Die Ausrüstung bleibt unbewacht und könnte gestohlen werden.\n" -"> Dauer hängt vom Gewicht der verschickten Ausrüstung ab.\n" -" \n" -"Risiko: Mittel\n" -"Dauer: 6 Stunden Bauzeit + Reise\n" -"Positionen: %d/1\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Push gear out to a hide site or bring gear back from one.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 1\n" "Effects:\n" "> Good for returning equipment you left in the hide site shelter.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward or back.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 1 Hour Base + Travel\n" "Positions: %d/1\n" msgstr "" -"Anmerkungen:\n" -"Versende Ausrüstung zu einem Tierhautplatz oder hole sie zurück.\n" -" \n" -"Benutzte Fertigkeit: Überleben\n" -"Schwierigkeitsgrad: 1\n" -"Wirkungen:\n" -"> Gut, um Ausrüstung, die du auf dem Tierhautplatz hinterlassen hast, zurückzuholen.\n" -"> Die Ausrüstung bleibt unbewacht und könnte gestohlen werden.\n" -"> Dauer hängt vom Gewicht der transportierten Ausrüstung ab.\n" -" \n" -"Risiko: Mittel\n" -"Dauer: Minimum 1 Stunde + Reise\n" -"Positionen: %d/1\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to forage for edible plants.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Foraging Possibilities:\n" "> wild vegetables\n" "> fruits and nuts depending on season\n" @@ -196488,27 +201784,15 @@ msgid "" "Time: 4 Hours, Repeated\n" "Positions: %d/3\n" msgstr "" -"Anmerkungen:\n" -"Entsende einen Begleiter, um nach essbaren Pflanzen zu suchen.\n" -" \n" -"Benutzte Fertigkeit: Überleben\n" -"Schwierigkeitsgrad: Keine Angaben\n" -"Mögliche Ausbeute:\n" -"> Wildgemüse\n" -"> Früchte und Nüsse, je nach Jahreszeit\n" -"Könnte weniger Nahrung prouzieren, als benötigt wird!\n" -"Risiko: Sehr niedrig\n" -"Dauer: 4 Stunden, wiederholt\n" -"Positionen: %d/3\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to set traps for small game.\n" -" \n" +"\n" "Skill used: trapping\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Trapping Possibilities:\n" "> small and tiny animal corpses\n" "May produce less food than consumed!\n" @@ -196516,26 +201800,15 @@ msgid "" "Time: 6 Hours, Repeated\n" "Positions: %d/2\n" msgstr "" -"Anmerkungen:\n" -"Entsende einen Begleiter, um Fallen für Kleinwild zu stellen.\n" -" \n" -"Benutzte Fertigkeit: Fallen stellen\n" -"Schwierigkeitsgrad: Keine Angaben\n" -"Mögliche Beute:\n" -"> kleine und winzige Tierkadaver\n" -"Könnte weniger Nahrung prouzieren, als benötigt wird!\n" -"Risiko: Niedrig\n" -"Dauer: 6 Stunden, wiederholt\n" -"Positionen: %d/2\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to hunt large animals.\n" -" \n" +"\n" "Skill used: marksmanship\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Hunting Possibilities:\n" "> small, medium, or large animal corpses\n" "May produce less food than consumed!\n" @@ -196543,17 +201816,6 @@ msgid "" "Time: 6 Hours, Repeated\n" "Positions: %d/1\n" msgstr "" -"Anmerkungen:\n" -"Entsende einen Begleiter, um große Tiere zu jagen.\n" -" \n" -"Benutzte Fertigkeit: Schießkunst\n" -"Schwierigkeitsgrad: Keine Angaben\n" -"Mögliche Beute:\n" -"> kleine, mittlere oder große Tierkadaver\n" -"Könnte weniger Nahrung prouzieren, als benötigt wird!\n" -"Risiko: Mittel\n" -"Dauer: 6 Stunden, wiederholt\n" -"Positionen: %d/1\n" #: src/faction_camp.cpp msgid "Construct Spiked Trench" @@ -196564,265 +201826,257 @@ msgstr "Stachelgraben bauen" msgid "" "Notes:\n" "Send a companion out into the great unknown. High survival skills are needed to avoid combat but you should expect an encounter or two.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Select checkpoints to customize path.\n" "> Reveals terrain around the path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: High\n" "Time: Travel\n" "Positions: %d/3\n" msgstr "" -"Anmerkungen:\n" -"Entsende einen Begleiter in die große unbekannte Welt. Hohe Überlebensfertigkeiten werden benötigt, um Kämpfe zu vermeiden, aber du solltest mit einer oder zwei Begegnungen rechnen.\n" -" \n" -"Benutzte Fertigkeit: Überleben\n" -"Schwierigkeitsgrad: 3\n" -"Wirkungen:\n" -"> Wähle Kontrollpunkte, um den Pfad anzupassen.\n" -"> Deckt Gelände um den Pfad auf.\n" -"> Kann von Tierhautplätzen abprallen, um die Reichweite zu erhöhen.\n" -" \n" -"Risiko: Hoch\n" -"Dauer: Reise\n" -"Positionen: %d/3\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to purge the wasteland. Their goal is to kill anything hostile they encounter and return when their wounds are too great or the odds are stacked against them.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 4\n" "Effects:\n" "> Pulls creatures encountered into combat instead of fleeing.\n" "> Select checkpoints to customize path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: Very High\n" "Time: Travel\n" "Positions: %d/3\n" msgstr "" -"Anmerkungen:\n" -"Entsende einen Begleiter, um das Ödland zu säubern. Sein Ziel ist es, alle feindlichen Kreaturen, denen er begegnet, zu töten und zurückkehren, wenn seine Wunden zu zahlreich sind oder die Situation zu gefährlich ist.\n" -" \n" -"Benutzte Fertigkeit: Überleben\n" -"Schwierigkeitsgrad: 4\n" -"Wirkungen:\n" -"> Zieht Kreaturen, denen begegnet wird, in den Kampf statt sie in die Flucht zu schlagen.\n" -"> Wähle Kontrollpunkte, um den Pfad anzupassen.\n" -"> Kann von Tierhautplätzen abprallen, um die Reichweite zu erhöhen.\n" -" \n" -"Risiko: Hoch\n" -"Dauer: Reise\n" -"Positionen: %d/3\n" - -#: src/faction_camp.cpp -msgid " Expansion" -msgstr " Expansion" - -#: src/faction_camp.cpp -msgid "Recover Ally, " -msgstr "Rufe zurück Verbündeten, " #: src/faction_camp.cpp msgid "" "Notes:\n" "Have a companion attempt to completely dissemble a vehicle into components.\n" -" \n" +"\n" "Skill used: mechanics\n" "Difficulty: 2 \n" "Effects:\n" "> Removed parts placed on the furniture in the garage.\n" "> Skill plays a huge role to determine what is salvaged.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 days \n" msgstr "" -"Anmerkungen:\n" -"Lass einen Gefährten, ein Fahrzeug vollständig in seine Komponenten zerlegen.\n" -"\n" -"Benutzte Fertigkeit: Mechanik\n" -"Schwierigkeitsgrad: 2\n" -"Wirkungen:\n" -"> Entfernte Teile landen auf den Möbeln in der Garage.\n" -"> Fertigkeit spielt eine riesige Rolle dabei, welche Teile geborgen werden.\n" -"\n" -"Risiko: Keins\n" -"Dauer: 5 Tage\n" #: src/faction_camp.cpp msgid "" "Notes:\n" "Plow any spaces that have reverted to dirt or grass.\n" -" \n" +"\n" msgstr "" -"Anmerkungen:\n" -"Pflüge alle Felder, die wieder zu Erde oder Gras geworden sind.\n" -" \n" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: fabrication\n" "Difficulty: N/A \n" "Effects:\n" "> Restores only the plots created in the last expansion upgrade.\n" "> Does not damage existing crops.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 Min / Plot \n" "Positions: 0/1 \n" msgstr "" -"\n" -" \n" -"Benutzte Fertigkeit: Herstellung\n" -"Schwierigkeitsgrad: Entfällt\n" -"Wirkungen:\n" -"> Stellt nur die Parzellen, die in der letzten Expansions-Aufwertung erstellt wurden, wieder her.\n" -"> Beschädigt bestehende Nutzpflanzen nicht.\n" -"\n" -"Risiko: Keins\n" -"Dauer: 5 Min. / Parzelle\n" -"Positionen: 0/1\n" #: src/faction_camp.cpp msgid "" "Notes:\n" "Plant designated seeds in the spaces that have already been tilled.\n" -" \n" +"\n" msgstr "" -"Anmerkungen:\n" -"Pflanze ausgewählte Samen in die Felder, die bereits bestellt wurden, ein.\n" -" \n" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Choose which seed type or all of your seeds.\n" "> Stops when out of seeds or planting locations.\n" "> Will plant in ALL dirt mounds in the expansion.\n" -" \n" +"\n" "Risk: None\n" "Time: 1 Min / Plot \n" "Positions: 0/1 \n" msgstr "" -"\n" -" \n" -"Benutzte Fertigkeit: Überleben\n" -"Schwierigkeitsgrad: Entfällt\n" -"Wirkungen:\n" -"> Wähle einen Samentyp oder all deine Samen.\n" -"> Stoppt, wenn Samen alle sind oder kein Platz zum Pflanzen mehr da ist.\n" -"> Wird in ALLEN Erdhügeln in der Expansion pflanzen.\n" -"\n" -"Risiko: Keins\n" -"Dauer: 1 Min. / Parzelle\n" -"Positionen: 0/1\n" #: src/faction_camp.cpp msgid "" "Notes:\n" "Harvest any plants that are ripe and bring the produce back.\n" -" \n" +"\n" msgstr "" -"Anmerkungen:\n" -"Ernte alle reifen Pflanzen und bring den Ertrag zurück.\n" -" \n" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Will dump all harvesting products onto your location.\n" -" \n" +"\n" "Risk: None\n" "Time: 3 Min / Plot \n" "Positions: 0/1 \n" msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" +"\n" +"Skill used: N/A\n" +"Effects:\n" +"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal.\n" "\n" -" \n" -"Benutzte Fertigkeit: Überleben\n" -"Schwierigkeitsgrad: Entfällt\n" -"Wirkungen:\n" -"> Wird alle Ernteprodukte zu deinem Ort bringen.\n" +"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window.\n" "\n" -"Risiko: Keins\n" -"Dauer: 3 Min. / Parzelle\n" -"Positionen: 0/1\n" +"Risk: None\n" +"Time: 3 Hours\n" +"Positions: %d/1\n" +msgstr "" #: src/faction_camp.cpp -msgid "departs to search for materials..." -msgstr "zieht los auf der Suche nach Materialien …" +#, c-format +msgid "" +"Notes:\n" +"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" +"Effects:\n" +"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" +"\n" +"Must have enjoyability >= -6\n" +"Perishable food liquidated at penalty depending on upgrades and rot time:\n" +"> Rotten: 0%%\n" +"> Rots in < 2 days: 60%%\n" +"> Rots in < 5 days: 80%%\n" +"\n" +"Total faction food stock: %d kcal\n" +"or %d day's rations" +msgstr "" #: src/faction_camp.cpp -msgid "departs to search for firewood..." -msgstr "zieht los, um Feuerholz zu suchen …" +msgid "Distribute Food" +msgstr "Nahrung verteilen" #: src/faction_camp.cpp -msgid "returns from working in the woods..." -msgstr "kehrt von der Arbeit in den Wäldern zurück …" +msgid "" +"Notes:\n" +"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" +"\n" +"Effects:\n" +"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" +"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" +"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." +msgstr "" #: src/faction_camp.cpp -msgid "returns from working on the hide site..." -msgstr "kehrt von der Arbeit am Tierhautplatz zurück …" +msgid "Reset Sort Points" +msgstr "Sortierungspunkte zurücksetzen" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Assign repeating job duties to NPCs stationed here.\n" +"Difficulty: N/A\n" +"Effects:\n" +"\n" +"\n" +"Risk: None\n" +"Time: Ongoing" +msgstr "" + +#: src/faction_camp.cpp +msgid "Assign Jobs" +msgstr "" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Cancel a current mission and force the immediate return of a companion. No work will be done on the mission and all resources used on the mission will be lost.\n" +"\n" +"WARNING: All resources used on the mission will be lost and no work will be done. Only use this mission to recover a companion who cannot otherwise be recovered.\n" +"\n" +"Companions must be on missions for at least 24 hours before emergency recall becomes available." +msgstr "" + +#: src/faction_camp.cpp +msgid "departs to survey land…" +msgstr "" + +#: src/faction_camp.cpp +msgid "departs to search for materials…" +msgstr "" + +#: src/faction_camp.cpp +msgid "departs to search for firewood…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns from working in the woods…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from shuttling gear between the hide site..." +msgid "returns from working on the hide site…" msgstr "" -"kehrt vom Transport der Ausrüstung zwischen dem Tierhautplatz zurück …" #: src/faction_camp.cpp -msgid "departs to search for edible plants..." -msgstr "zieht los auf der Suche nach essbaren Pflanzen ..." +msgid "returns from shuttling gear between the hide site…" +msgstr "" #: src/faction_camp.cpp -msgid "departs to set traps for small animals..." -msgstr "zieht los um Fallen für kleine Tiere aufzustellen ..." +msgid "departs to search for edible plants…" +msgstr "" #: src/faction_camp.cpp -msgid "departs to hunt for meat..." -msgstr "zieht los um nach Fleisch zu jagen" +msgid "departs to set traps for small animals…" +msgstr "" #: src/faction_camp.cpp -msgid "departs to search for recruits..." -msgstr "zieht los auf der Suche nach Rekruten …" +msgid "departs to hunt for meat…" +msgstr "" #: src/faction_camp.cpp -msgid "departs to survey land..." -msgstr "reist ab, um Land auszukundschaften …" +msgid "departs to search for recruits…" +msgstr "" #: src/faction_camp.cpp -msgid "returns to you with something..." -msgstr "kehrt zu dir mit etwas zurück …" +msgid "returns to you with something…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from your farm with something..." -msgstr "kehrt von deinem Bauernhof mit etwas zurück …" +msgid "returns from your farm with something…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from your kitchen with something..." -msgstr "kehrt aus deiner Küche mit etwas zurück …" +msgid "returns from your kitchen with something…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from your blacksmith shop with something..." -msgstr "kehrt aus deiner Schmiede mit etwas zurück …" +msgid "returns from your blacksmith shop with something…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from your garage..." -msgstr "kehrt aus deiner Garage zurück …" +msgid "returns from your garage…" +msgstr "" #: src/faction_camp.cpp msgid "You don't have enough food stored to feed your companion." @@ -196830,13 +202084,30 @@ msgstr "" "Du hast nicht genügend Nahrung eingelagert, um deinen Begleiter zu ernähren." #: src/faction_camp.cpp -msgid "begins to upgrade the camp..." -msgstr "fängt mit der Aufwertung des Lagers an …" +msgid "begins to upgrade the camp…" +msgstr "" #: src/faction_camp.cpp msgid "You don't have the materials for the upgrade." msgstr "Du hast nicht die Materialien für die Aufwertung." +#: src/faction_camp.cpp +msgid "There are no npcs stationed here" +msgstr "" + +#: src/faction_camp.cpp src/npc.cpp +msgid "No particular job" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "Press %s to change this workers job." +msgstr "" + +#: src/faction_camp.cpp +msgid "Assign which job?" +msgstr "" + #: src/faction_camp.cpp #, c-format msgid "%s goes off to clean toilets and sort loot." @@ -196856,16 +202127,16 @@ msgstr "" "%s" #: src/faction_camp.cpp -msgid "departs to cut logs..." -msgstr "geht weg, um Holz zu hacken …" +msgid "departs to cut logs…" +msgstr "" #: src/faction_camp.cpp msgid "Forests are the only valid cutting locations." msgstr "Wälder sind die einzigen gültigen Plätze zum Bäumefällen." #: src/faction_camp.cpp -msgid "departs to clear a forest..." -msgstr "zieht los um einen Wald zu roden ..." +msgid "departs to clear a forest…" +msgstr "" #: src/faction_camp.cpp msgid "Forests, swamps, and fields are valid hide site locations." @@ -196876,12 +202147,12 @@ msgid "Do you wish to give your companion additional items?" msgstr "Möchtest du deinem Begleiter zusätzliche Gegenstände geben?" #: src/faction_camp.cpp -msgid "departs to build a hide site..." -msgstr "zieht los, um einen Tierhautplatz zu bauen …" +msgid "departs to build a hide site…" +msgstr "" #: src/faction_camp.cpp -msgid "You need equipment to setup a hide site..." -msgstr "Du brauchst Equipment, um einen Tierhautplatz aufzusetzen …" +msgid "You need equipment to setup a hide site…" +msgstr "" #: src/faction_camp.cpp msgid "You must select an existing hide site." @@ -196892,12 +202163,12 @@ msgid "Bring gear back?" msgstr "Ausrüstung zurück bringen?" #: src/faction_camp.cpp -msgid "departs for the hide site..." -msgstr "geht für den Tierhautplatz weg …" +msgid "departs for the hide site…" +msgstr "" #: src/faction_camp.cpp -msgid "You need equipment to transport between the hide site..." -msgstr "Du brauchst Equipment für den Transport zwischen dem Tierhautplatz …" +msgid "You need equipment to transport between the hide site…" +msgstr "" #: src/faction_camp.cpp msgid "" @@ -196926,8 +202197,8 @@ msgid "You don't have the material to build the fortification." msgstr "Du hast nicht das Material, um die Befestigung zu bauen." #: src/faction_camp.cpp -msgid "begins constructing fortifications..." -msgstr "fängt mit dem Bau von Befestigungen an …" +msgid "begins constructing fortifications…" +msgstr "" #: src/faction_camp.cpp msgid "" @@ -196938,8 +202209,8 @@ msgstr "" "den letzten Punkt erneut zur Fertigstellung." #: src/faction_camp.cpp -msgid "departs on patrol..." -msgstr "reist für eine Patrouille ab …" +msgid "departs on patrol…" +msgstr "" #: src/faction_camp.cpp msgid "You don't have the materials to craft that" @@ -196955,32 +202226,32 @@ msgid "Your batch is too large!" msgstr "Dein Stapel ist zu groß!" #: src/faction_camp.cpp -msgid "begins to work..." -msgstr "fängt mit der Arbeit an …" +msgid "begins to work…" +msgstr "" #: src/faction_camp.cpp -msgid "+ more \n" -msgstr "+ mehr \n" +msgid "+ more\n" +msgstr "" #: src/faction_camp.cpp -msgid "begins to harvest the field..." -msgstr "fängt mit dem Abernten des Feldes an …" +msgid "begins to harvest the field…" +msgstr "" #: src/faction_camp.cpp -msgid "You have no additional seeds to give your companions..." -msgstr "Du hast keine weiteren Samen, die du deinen Begleitern geben kannst …" +msgid "You have no additional seeds to give your companions…" +msgstr "" #: src/faction_camp.cpp src/mission_companion.cpp msgid "Which seeds do you wish to have planted?" msgstr "Welche Samen möchtest du eingepflanzt haben?" #: src/faction_camp.cpp -msgid "begins planting the field..." -msgstr "fängt mit der Bepflanzung des Feldes an …" +msgid "begins planting the field…" +msgstr "" #: src/faction_camp.cpp -msgid "begins plowing the field..." -msgstr "fängt mit der Bestellung des Feldes an …" +msgid "begins plowing the field…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -196992,13 +202263,16 @@ msgstr "" "%s" #: src/faction_camp.cpp -msgid "begins working in the garage..." -msgstr "fängt mit der Arbeit in der Garage an …" +msgid "begins working in the garage…" +msgstr "" + +#: src/faction_camp.cpp +msgid "Your companion seems disappointed that your pantry is empty…" +msgstr "" #: src/faction_camp.cpp -msgid "Your companion seems disappointed that your pantry is empty..." +msgid "responds to the emergency recall…" msgstr "" -"Dein Begleiter scheint enttäuscht zu sein, dass dein Vorratslager leer ist …" #: src/faction_camp.cpp #, c-format @@ -197006,14 +202280,12 @@ msgid "%s failed to build the %s upgrade." msgstr "" #: src/faction_camp.cpp -msgid "returns from upgrading the camp having earned a bit of experience..." +msgid "returns from upgrading the camp having earned a bit of experience…" msgstr "" -"kehrt von der Verbesserung des Lagers zurück und erhielt etwas Erfahrung " -"dabei …" #: src/faction_camp.cpp -msgid "returns from doing the dirty work to keep the camp running..." -msgstr "kehrt von der Drecksarbeit, die dein Lager am Leben erhält, zurück …" +msgid "returns from doing the dirty work to keep the camp running…" +msgstr "" #: src/faction_camp.cpp msgid "gathering materials" @@ -197033,54 +202305,49 @@ msgstr "nach Fleisch jagen" #: src/faction_camp.cpp #, c-format -msgid "returns from %s carrying supplies and has a bit more experience..." -msgstr "kehrt vom %s mit ein paar Vorräten und etwas mehr Erfahrung zurück …" +msgid "returns from %s carrying supplies and has a bit more experience…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from constructing fortifications..." -msgstr "kehrt vom Bau von Befestigungen zurück …" +msgid "returns from constructing fortifications…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from searching for recruits with a bit more experience..." +msgid "returns from searching for recruits with a bit more experience…" msgstr "" -"kehrt von der Suche nach Rekruten und mit etwas mehr Erfahrung zurück …" #: src/faction_camp.cpp #, c-format -msgid "%s encountered %s..." -msgstr "%s begegnete %s …" +msgid "%s encountered %s…" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s didn't find anyone to recruit..." -msgstr "%s hat niemanden zum Rekrutieren gefunden …" +msgid "%s didn't find anyone to recruit…" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s convinced %s to hear a recruitment offer from you..." -msgstr "%s überzeugte %s, ein Rekrutierungsangebot von dir zu hören …" +msgid "%s convinced %s to hear a recruitment offer from you…" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested in anything %s had to offer..." -msgstr "%s war in nichts, was %s zu bieten hatte, interessiert …" +msgid "%s wasn't interested in anything %s had to offer…" +msgstr "" #: src/faction_camp.cpp msgid "" "NPC Overview:\n" -" \n" +"\n" msgstr "" -"NPC-Überblick:\n" -" \n" #: src/faction_camp.cpp #, c-format msgid "" -"Name: %20s\n" -" \n" +"Name: %s\n" +"\n" msgstr "" -"Name: %20s\n" -" \n" #: src/faction_camp.cpp #, c-format @@ -197101,10 +202368,8 @@ msgstr "Intelligenz: %10d\n" #, c-format msgid "" "Perception: %10d\n" -" \n" +"\n" msgstr "" -"Wahrnehmung: %10d\n" -" \n" #: src/faction_camp.cpp msgid "Top 3 Skills:\n" @@ -197118,28 +202383,22 @@ msgstr "Bittet um:\n" #, c-format msgid "" "> Food: %10d days\n" -" \n" +"\n" msgstr "" -"> Nahrung: %10d Tage\n" -" \n" #: src/faction_camp.cpp #, c-format msgid "" "Faction Food:%9d days\n" -" \n" +"\n" msgstr "" -"Fraktionsnahrung:%9d Tage\n" -" \n" #: src/faction_camp.cpp #, c-format msgid "" "Recruit Chance: %10d%%\n" -" \n" +"\n" msgstr "" -"Rekrutierungschance: %10d%%\n" -" \n" #: src/faction_camp.cpp msgid "Select an option:" @@ -197162,8 +202421,8 @@ msgid "Not Interested" msgstr "Nicht interessiert" #: src/faction_camp.cpp -msgid "You decide you aren't interested..." -msgstr "Du meinst, dass du nicht interessiert bist …" +msgid "You decide you aren't interested…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -197172,30 +202431,26 @@ msgstr "%s wurde überzeugt, beizutreten!" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested..." -msgstr "%s war nicht interessiert …" +msgid "%s wasn't interested…" +msgstr "" #: src/faction_camp.cpp -msgid "Your companion hit a river and didn't know how to swim..." +msgid "Your companion hit a river and didn't know how to swim…" msgstr "" -"Dein Begleiter erreichte einen Fluss und wusste nicht, wie man schwimmt …" #: src/faction_camp.cpp msgid "" -"Your companion hit a river and didn't know how to swim well enough to " -"cross..." +"Your companion hit a river and didn't know how to swim well enough to cross…" msgstr "" -"Dein Begleiter erreichte einen Fluss und konnte nicht gut genug schwimmen, " -"um ihn zu überqueren …" #: src/faction_camp.cpp #, c-format -msgid "%s didn't return from patrol..." -msgstr "%s kam von der Patrouille nicht zurück …" +msgid "%s didn't return from patrol…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from patrol..." -msgstr "kommt von der Patrouille zurück …" +msgid "returns from patrol…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -197235,8 +202490,8 @@ msgid "returns from surveying for the expansion." msgstr "kehrt von der Auskundschaftung für die Expansion zurück." #: src/faction_camp.cpp -msgid "returns from working your fields... " -msgstr "kehrt von der Arbeit auf deinen Feldern zurück …" +msgid "returns from working your fields…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -197299,27 +202554,25 @@ msgstr ">Fertig: %15d (m)\n" #: src/faction_camp.cpp #, c-format -msgid ">Travel: %23s\n" -msgstr ">Reisen: %23s\n" +msgid ">Travel: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid ">Working: %23s\n" -msgstr ">Arbeiten: %23s\n" +msgid ">Working: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Total: %23s\n" -msgstr "Summe: %23s\n" +msgid "Total: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format msgid "" "Food: %15d (kcal)\n" -" \n" +"\n" msgstr "" -"Nahrung: %15d (kcal)\n" -" \n" #: src/faction_camp.cpp #, c-format @@ -197339,35 +202592,20 @@ msgstr "" msgid "" "Notes:\n" "Recruiting additional followers is very dangerous and expensive. The outcome is heavily dependent on the skill of the companion you send and the appeal of your base.\n" -" \n" +"\n" "Skill used: speech\n" -"Difficulty: 2 \n" +"Difficulty: 2\n" "Base Score: +%3d%%\n" "> Expansion Bonus: +%3d%%\n" "> Faction Bonus: +%3d%%\n" "> Special Bonus: +%3d%%\n" -" \n" +"\n" "Total: Skill +%3d%%\n" -" \n" +"\n" "Risk: High\n" "Time: 4 Days\n" "Positions: %d/1\n" msgstr "" -"Anmerkungen:\n" -"Die Rekrutierung neuer Gefährten ist sehr gefährlich und recht kostspielig. Das Ergebnis hängt stark von der Fertigkeit des entsendeten Gefährten und der Attraktivität deiner Basis ab.\n" -" \n" -"Benutzte Fertigkeit: Redekunst\n" -"Schwierigkeitsgrad: 2\n" -"Basiswertung: +%3d%%\n" -"> Expansionsbonus: +%3d%%\n" -"> Fraktionsbonus: +%3d%%\n" -"> Sonderbonus: +%3d%%\n" -" \n" -"Gesamt: Fertigkeit: +%3d%%\n" -" \n" -"Risiko: Hoch\n" -"Dauer: 4 Tage\n" -"Positionen: %d/1\n" #: src/faction_camp.cpp msgid "Harvestable: " @@ -197383,8 +202621,8 @@ msgstr "Pflügen notwendig: " #: src/faction_camp.cpp #, c-format -msgid "Name: %25s\n" -msgstr "Name: %25s\n" +msgid "Name: %s\n" +msgstr "" #: src/faction_camp.cpp msgid "---- Engines ----\n" @@ -197392,8 +202630,8 @@ msgstr "---- Motoren ----\n" #: src/faction_camp.cpp #, c-format -msgid "Engine: %25s\n" -msgstr "Motor: %25s\n" +msgid "Engine: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -197402,8 +202640,8 @@ msgstr ">Zustand: %24d%%\n" #: src/faction_camp.cpp #, c-format -msgid ">Fuel: %25s\n" -msgstr ">Treibstoff: %25s\n" +msgid ">Fuel: %s\n" +msgstr "" #: src/faction_camp.cpp msgid "---- Fuel Storage & Battery ----\n" @@ -197414,12 +202652,12 @@ msgid "Estimated Chop Time: 5 Days\n" msgstr "Geschätzte Ausschlachtdauer: 5 Tage\n" #: src/faction_camp.cpp -msgid "You do not have a camp food zone. Aborting..." +msgid "You do not have a camp food zone. Aborting…" msgstr "" #: src/faction_camp.cpp -msgid "No items are located at the drop point..." -msgstr "Keine Gegenstände befinden sich am Abwurfpunkt …" +msgid "No items are located at the drop point…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -197428,8 +202666,8 @@ msgstr "Du verteilst Nahrung mit insgesamt %d kcal an deine Begleiter." #: src/faction_camp.cpp #, c-format -msgid "While %s, a silent specter approaches %s..." -msgstr "Beim %s bewegte sich ein lautloser Geist auf %s zu ..." +msgid "While %s, a silent specter approaches %s…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -197465,8 +202703,8 @@ msgstr "%s hat den Hinterhalt nicht bemerkt, bevor es zu spät war!" #: src/faction_camp.cpp #, c-format -msgid "The bull moose charged %s from the tree line..." -msgstr "Der Elchbulle schnellte von der Baumreihe aus auf %s zu …" +msgid "The bull moose charged %s from the tree line…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -197486,15 +202724,13 @@ msgstr "Der Jabberwock ergriff %s am Arm von hinten und fing an, zu schreien." #, c-format msgid "" "Terrified, %s spun around and delivered a massive kick to the creature's " -"torso..." +"torso…" msgstr "" -"Voller Angst drehte sich %s um und verpasste einen gewaltigen Tritt in den " -"Torso der Kreatur …" #: src/faction_camp.cpp #, c-format -msgid "Collapsing into a pile of gore, %s walked away unscathed..." -msgstr "Nachdem sie in einen Gedärmehaufen zerfiel, ging %s unversehrt fort." +msgid "Collapsing into a pile of gore, %s walked away unscathed…" +msgstr "" #: src/faction_camp.cpp msgid "(Sounds like bullshit, you wonder what really happened.)" @@ -197505,10 +202741,8 @@ msgstr "" #, c-format msgid "" "%s turned to find the hideous black eyes of a giant wasp staring back from " -"only a few feet away..." +"only a few feet away…" msgstr "" -"%s drehte sich um, und sah die bösartig schwarzen Augen einer Riesenwespe, " -"die nur in einem Meter Entfernung zurückstarrte …" #: src/faction_camp.cpp msgid "The screams were terrifying, there was nothing anyone could do." @@ -197520,10 +202754,8 @@ msgid "Pieces of %s were found strewn across a few bushes." msgstr "Teile von %s wurden über ein paar Büsche verteilt gefunden." #: src/faction_camp.cpp -msgid "(You wonder if your companions are fit to work on their own...)" +msgid "(You wonder if your companions are fit to work on their own…)" msgstr "" -"(Du fragst dich, ob deine Begleiter in der Lage sind, selbstständig zu " -"arbeiten …)" #: src/fungal_effects.cpp src/iuse.cpp #, c-format @@ -197558,8 +202790,8 @@ msgid "Loading core data" msgstr "Hauptdaten laden" #: src/game.cpp -msgid "Please wait while the world data loads..." -msgstr "Bitte warte, während die Weltdaten geladen werden …" +msgid "Please wait while the world data loads…" +msgstr "" #: src/game.cpp src/start_location.cpp msgid "Please wait as we build your world" @@ -197595,8 +202827,8 @@ msgstr "Welt löschen" #: src/game.cpp #, c-format -msgid "World retained. Characters remaining:%s" -msgstr "Welt behalten. Verbleibende Protagonisten:%s" +msgid "World retained. Characters remaining:%s" +msgstr "" #: src/game.cpp #, c-format @@ -197604,8 +202836,8 @@ msgid "The %s is dangerously close!" msgstr "" #: src/game.cpp -msgid "Wait till you wake up..." -msgstr "Warte, bis du aufwachst…" +msgid "Wait till you wake up…" +msgstr "" #: src/game.cpp #, c-format @@ -197780,8 +203012,8 @@ msgid "You are not wielding a ranged weapon." msgstr "Du hältst keine Fernwaffe." #: src/game.cpp -msgid "Watch the last moments of your life...?" -msgstr "Willst du die letzten Augenblicke deines Lebens sehen?" +msgid "Watch the last moments of your life…?" +msgstr "" #: src/game.cpp msgid "Loading files" @@ -197830,20 +203062,15 @@ msgid "Failed to save game data" msgstr "Spieldaten konnten nicht gespeichert werden" #: src/game.cpp -msgid " You are forgotten among the billions lost in the cataclysm..." +msgid " You are forgotten among the billions lost in the cataclysm…" msgstr "" -" Du wirst unter den Milliarden Toten der Apokalypse vergessen werden…" #: src/game.cpp msgid "" " Locked in an endless battle, the Old Guard was forced to consolidate " "their resources in a handful of fortified bases along the coast. Without " -"the men or material to rebuild, the soldiers that remained lost all hope..." +"the men or material to rebuild, the soldiers that remained lost all hope…" msgstr "" -" Gefangen in einem endlosen Kampf war die Alte Garde gezwungen, ihre " -"Rohstoffe in eine Handvoll aus befestigten Basen an der Küste zu stecken. " -"Ohne die Leute oder das Material zum Wiederaufbau verloren die verbliebenen " -"Soldaten jede Hoffnung …" #: src/game.cpp msgid "" @@ -197853,30 +203080,16 @@ msgid "" "success. Forced to eventually consolidate to large bases, the Old Guard " "left these facilities in the hands of the few survivors that remained. As " "the years past, little materialized from the hopes of rebuilding " -"civilization..." +"civilization…" msgstr "" -" Die Standhaftigkeit individueller Überlebenden nach der Apokalypse " -"beeindruckte die zerrissenen Überbleibsel der einst glorreichen Union. " -"Angespornt von kleinen Erfolgen war eine Reihe von Vorhaben, um " -"Einrichtungen zurückzuerobern, begrenzt erfolgreich. Gezwungen, sich " -"schließlich in größeren Basen zu vereinigen, überließ die Alte Garde diese " -"Einrichtungen den wenigen Überlebenden, die verblieben. Als die Jahre " -"verstrichen, hat sich wenig von den Hoffnungen, die Zivilisation wieder " -"aufzubauen, bewahrheitet." #: src/game.cpp msgid "" " Life in the refugee shelter deteriorated as food shortages and disease " "destroyed any hope of maintaining a civilized enclave. The merchants and " "craftsmen dispersed to found new colonies but most became victims of " -"marauding bandits. Those who survived never found a place to call home..." +"marauding bandits. Those who survived never found a place to call home…" msgstr "" -" Das Leben im Flüchtlingslager verschlechterte sich, da " -"Lebensmittelknappheiten und Krankheit jede Hoffnung der Aufrechterhaltung " -"einer zivilisierten Enklave zunichte machten. Die Händler und Handwerker " -"verteilten sich, um neue Kolonien zu gründen, aber die meisten wurden Opfer " -"räuberischer Banditen. Die Überlebenden konnten niemals einen Ort, den sie " -"Zuhause nennen konnten, finden." #: src/game.cpp msgid "" @@ -197884,13 +203097,8 @@ msgid "" "once profitable trade routes were plundered by bandits and thugs. In " "squalor and filth the first generations born after the cataclysm are told " "stories of the old days when food was abundant and the children were allowed" -" to play in the sun..." +" to play in the sun…" msgstr "" -" Seit Jahren kämpften die Freien Händer darum, sich selbst zu ernähren, " -"aber ihre einstmals profitablen Handelsrouten wurden von Banditen und Rowdys" -" geplündert. Im Elend und Dreck wurden den ersten Generationen, die nach der" -" Apokalypse geboren wurden, Geschichten der alten Tage erzählt, als Nahrung " -"noch zahlreich war und Kindern noch erlaubt war, in der Sonne zu spielen." #: src/game.cpp msgid "" @@ -197924,13 +203132,8 @@ msgid "" " The lone bands of survivors who wandered the now alien world dwindled in" " number through the years. Unable to compete with the growing number of " "monstrosities that had adapted to live in their world, those who did survive" -" lived in dejected poverty and hopelessness..." +" lived in dejected poverty and hopelessness…" msgstr "" -" Die vereinzelten Banden der Überlebenden, welche in der nun fremden Welt" -" umherwanderten, wurden über den Jahren immer weniger. Unfähig, mit der " -"wachsenden Anzahl an Ungeheuern, die sich der neuen Welt angepasst hatten, " -"fertig zu werden, leben die, die überlebt hatten, in deprimierender Armut " -"und Hoffnungslosigkeit." #: src/game.cpp msgid "" @@ -197939,15 +203142,8 @@ msgid "" "old world. Enormous hordes made cities impossible to enter while new " "eldritch horrors appeared mysteriously near old research labs. But on the " "fringes of where civilization once ended, bands of hunter-gatherers began to" -" adopt agrarian lifestyles in fortified enclaves..." +" adopt agrarian lifestyles in fortified enclaves…" msgstr "" -" Die Sammler, die in den frühen Tagen der Apokalypse florierten, hatten " -"es immer schwieriger, Ausrüstungen aus der alten Welt zu finden und instand " -"zu halten. Enorme Horden machten es unmöglich, Städte zu betreten, während " -"neue unheimliche Schrecken auf mysteriöse Weise in der Nähe von " -"Forschungslaboren auftauchten. Aber an den Ränden der Orte, in denen die " -"Zivilisation einst aufhörte, begannen sich Banden aus Jägern und Sammlern " -"einem landwirtschaftlichen Lebensstil in befestigten Enklaven anzupassen." #: src/game.cpp msgid "" @@ -197973,15 +203169,8 @@ msgid "" "brought the warlords abundant territory and slaves but little in the way of " "stability. Within weeks, infighting led to civil war as tribes vied for " "leadership of the faction. When only one warlord finally secured control, " -"there was nothing left to fight for... just endless cities full of the dead." +"there was nothing left to fight for… just endless cities full of the dead." msgstr "" -" Angetrieben von Drogen und Zorn kämpften die Höllenräuber mit aller " -"Macht, um die letzten Festungen der Alten Garde zu stürzen. Die teuren Siege" -" brachten den Kriegstreibern reichlich Territoritum und Sklaven, aber wenig " -"Stabilität. Innerhalb von Wochen führten interne Machtkämpfe zu einen " -"Bürgerkrieg, als Stämme um die Führung der Fraktion kämpften. Als nur noch " -"ein Kriegsherr endlich die Macht an sich gerissen hat, gab es nichts mehr, " -"für das es wert war, zu kämpfen … Nur endlos viele Städte voller Tote." #: src/game.cpp #, c-format @@ -198161,13 +203350,6 @@ msgid "" "increased by %s." msgstr "" -#: src/game.cpp -#, c-format -msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " -"anyway?" -msgstr "" - #: src/game.cpp msgid "Successfully removed Personality override." msgstr "" @@ -198310,8 +203492,8 @@ msgid "Never mind" msgstr "Vergiss es" #: src/game.cpp src/npctalk.cpp -msgid "You may be attacked! Proceed?" -msgstr "Du könntest angegriffen werden! Weitermachen?" +msgid "You may be attacked! Proceed?" +msgstr "" #: src/game.cpp msgid "Examine where?" @@ -198505,12 +203687,12 @@ msgid "There's something there, but you can't see what it is." msgstr "Da ist etwas, aber du kannst nicht erkennen, was es ist." #: src/game.cpp -msgid "More items here..." -msgstr "Hier sind noch mehr Gegenstände …" +msgid "More items here…" +msgstr "" #: src/game.cpp #, c-format -msgctxt "%s is the name of the item. %d is the quantity of that item." +msgctxt "%s is the name of the item. %d is the quantity of that item." msgid "%s [%d]" msgstr "%s [%d]" @@ -198850,8 +204032,8 @@ msgstr "" #: src/game.cpp #, c-format -msgid "You see %s nearby! Start butchering anyway?" -msgstr "In der Nähe siehst du »%s«! Trotzdem mit dem Schlachten anfangen?" +msgid "You see %s nearby! Start butchering anyway?" +msgstr "" #: src/game.cpp msgid "Choose corpse to butcher / item to disassemble" @@ -198891,7 +204073,7 @@ msgstr "" #: src/game.cpp src/iuse.cpp src/iuse.cpp src/iuse.cpp src/veh_interact.cpp #: src/veh_interact.cpp #, c-format -msgid "%s helps with this task..." +msgid "%s helps with this task…" msgstr "" #: src/game.cpp @@ -198951,7 +204133,7 @@ msgstr "Du benötigst mindestens 1 %s, um %s nachzuladen!" msgid "The %s is already full!" msgstr "%s ist schon voll!" -#: src/game.cpp +#: src/game.cpp src/ranged.cpp #, c-format msgid "You can't reload a %s!" msgstr "Du kannst %s nicht nachladen!" @@ -198976,13 +204158,6 @@ msgstr "Du hast nichts zum Entladen." msgid "You're not wielding anything." msgstr "Du hältst nichts." -#. ~ %1$s: weapon name, %2$s: holster name -#: src/game.cpp src/player.cpp -#, c-format -msgctxt "holster" -msgid "Draw %1$s from %2$s?" -msgstr "" - #: src/game.cpp #, c-format msgid "There's an angry red dot on your body, %s to brush it off." @@ -199005,11 +204180,9 @@ msgstr " oder %s, um das Monster auf die Weißliste zu setzen" #: src/game.cpp #, c-format msgid "" -"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " +"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " "monster%4$s)" msgstr "" -"%1$s aufgespürt – Sicherheitsmodus ist an! (%2$s zum Ausschalten oder %3$s, " -"um Monster %4$s zu ignorieren)" #: src/game.cpp #, c-format @@ -199048,8 +204221,12 @@ msgstr "Wirklich in %s treten?" msgid "Your %s refuses to move over that ledge!" msgstr "" -#: src/game.cpp src/player.cpp src/player.cpp -msgid "You let go of the grabbed object." +#: src/game.cpp +msgid "You can't fit there." +msgstr "" + +#: src/game.cpp +msgid "Your mount can't fit there." msgstr "" #: src/game.cpp @@ -199208,13 +204385,15 @@ msgid "" "There are vehicle controls here but you cannot reach them whilst mounted." msgstr "" +#: src/game.cpp +msgid "You are repelled by the barrier!" +msgstr "" + #: src/game.cpp msgid "" -"You try to quantum tunnel through the barrier but are reflected! Try again " +"You try to quantum tunnel through the barrier but are reflected! Try again " "with more energy!" msgstr "" -"Du versuchst, durch die Barriere zu tunneln, doch wirst du reflektiert. " -"Versuch es nochmal mit mehr Energie!" #: src/game.cpp msgid "It's too dangerous to tunnel that far!" @@ -199243,6 +204422,16 @@ msgstr "Du strengst dich bei dem Versuch an, das schwere %s zu bewegen!" msgid "There's stuff in the way." msgstr "Da ist Zeug im Weg." +#: src/game.cpp +#, c-format +msgid "The %s is really heavy!" +msgstr "" + +#: src/game.cpp +#, c-format +msgid "You fail to move the %s." +msgstr "" + #: src/game.cpp #, c-format msgid "The %s is too heavy for you to budge." @@ -199299,10 +204488,8 @@ msgstr "Auf %s klettern" #: src/game.cpp #, c-format -msgid "You try to use the stairs. Suddenly you are blocked by a %s!" +msgid "You try to use the stairs. Suddenly you are blocked by a %s!" msgstr "" -"Du versuchst, die Treppe zu benutzen. Plötzlich wirst du von einem %s " -"blockiert." #: src/game.cpp #, c-format @@ -199411,9 +204598,8 @@ msgid "Halfway down, the way down becomes blocked off." msgstr "In der Mitte des Weges ist der Weg blockiert." #: src/game.cpp -msgid "There is a sheer drop halfway down. Web-descend?" +msgid "There is a sheer drop halfway down. Web-descend?" msgstr "" -"An der Hälfte des Weges klafft ein schierer Abgrund. Mit Netz hinabsteigen?" #: src/game.cpp msgid "" @@ -199436,10 +204622,8 @@ msgstr "" " zum Absteigen verwenden?" #: src/game.cpp -msgid "Detach a vine? It'll hurt, but you'll be able to climb back up..." +msgid "Detach a vine? It'll hurt, but you'll be able to climb back up…" msgstr "" -"Eine Liane abtrennen? Es wird wehtun, aber du wirst in der Lage sein, " -"hochzuklettern." #: src/game.cpp msgid "You descend on your vines, though leaving a part of you behind stings." @@ -199459,16 +204643,12 @@ msgstr "" "angewurzelt." #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your grappling hook down?" +msgid "There is a sheer drop halfway down. Climb your grappling hook down?" msgstr "" -"An der Hälfte des Weges klafft ein schierer Abgrund. Mit deinem Enterhaken " -"hinabsteigen?" #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your rope down?" +msgid "There is a sheer drop halfway down. Climb your rope down?" msgstr "" -"Ab der Mitte des Weges nach unten klafft ein Abgrund. Willst du dein Seil " -"zum Klettern benutzen?" #: src/game.cpp msgid "There is a sheer drop halfway down. Jump?" @@ -199530,9 +204710,8 @@ msgstr "%s drückt dich zurück!" #: src/game.cpp #, c-format -msgid "The %s tried to push you back but failed! It attacks you!" +msgid "The %s tried to push you back but failed! It attacks you!" msgstr "" -"%s versuchte, dich wegzuschieben, schaffte es aber nicht. Es greift dich an!" #: src/game.cpp #, c-format @@ -199560,36 +204739,26 @@ msgstr "Noch keine Spielstände für %s." #: src/game.cpp #, c-format msgid "" -"Whoa! Your terminal is tiny! This game requires a minimum terminal size of " -"%dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " +"Whoa! Your terminal is tiny! This game requires a minimum terminal size of" +" %dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " "help?" msgstr "" -"Oha! Deine Konsole ist winzig! Dieses Spiel benötigt eine Konsolengröße von " -"mindestens %d×%d, um korrekt zu funktionieren. %d×%d reicht nicht aus. " -"Vielleicht kann eine kleinere Schrift helfen." #: src/game.cpp #, c-format msgid "" -"Oh! Hey, look at that. Your terminal is just a little too narrow. This game " -"requires a minimum terminal size of %dx%d to function. It just won't work " -"with only %dx%d. Can you stretch it out sideways a bit?" +"Oh! Hey, look at that. Your terminal is just a little too narrow. This " +"game requires a minimum terminal size of %dx%d to function. It just won't " +"work with only %dx%d. Can you stretch it out sideways a bit?" msgstr "" -"Ohje! Heh, sieh dir das an! Deine Konsole ist nur ein bisschen zu eng. " -"Dieses Spiel benötigt eine Mindestgröße von %d×%d, um zu funktionieren. Es " -"wird nicht mit nur %d×%d funktionieren. Kannst du sie etwas in die Länge " -"ziehen?" #: src/game.cpp #, c-format msgid "" -"Woah, woah, we're just a little short on space here. The game requires a " -"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " +"Woah, woah, we're just a little short on space here. The game requires a " +"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " "make the terminal just a smidgen taller?" msgstr "" -"Auweia, auweia, wir haben hier ein bisschen Platzmangel. Dieses Spiel " -"benötigt eine Konsolengröße von mindestens %d×%d, um zu funktionieren. %d×%d" -" reicht gerade nicht aus. Kannst du die Konsole einen Tick höher machen?" #: src/game.cpp msgid "" @@ -199675,8 +204844,8 @@ msgid "You feel thirsty." msgstr "Du hast Durst." #: src/game.cpp -msgid "You feel an evil presence..." -msgstr "Du spürst eine böse Gegenwart …" +msgid "You feel an evil presence…" +msgstr "" #: src/game.cpp msgid "You feel a tickle of insanity." @@ -199691,8 +204860,8 @@ msgid "You feel your genetic makeup degrading." msgstr "Du fühlst wie dein Erbgut schwächer wird." #: src/game.cpp -msgid "You feel an otherworldly attention upon you..." -msgstr "Du spürst, wie etwas aus dem Jenseits dich beobachtet." +msgid "You feel an otherworldly attention upon you…" +msgstr "" #: src/game.cpp msgid "You feel a force pulling you inwards." @@ -199736,8 +204905,8 @@ msgstr "Wah %s%d! " #: src/game.cpp #, c-format -msgid "Speed %s%d! " -msgstr "Geschwindigkeit %s%d! " +msgid "Speed %s%d!" +msgstr "" #: src/game_inventory.cpp msgid "You don't have the necessary item at hand." @@ -199868,6 +205037,16 @@ msgstr "unbegrenzt" msgid "SHELF LIFE" msgstr "HALTBARKEIT" +#. ~ Eat menu Volume: +#: src/game_inventory.cpp +#, c-format +msgid "%.2f%s" +msgstr "" + +#: src/game_inventory.cpp +msgid "VOLUME" +msgstr "" + #: src/game_inventory.cpp msgid "FRESHNESS" msgstr "FRISCHE" @@ -199876,10 +205055,6 @@ msgstr "FRISCHE" msgid "SPOILS IN" msgstr "VERDIRBT IN" -#: src/game_inventory.cpp -msgid "Battery" -msgstr "Batterie" - #: src/game_inventory.cpp msgid "Reactor" msgstr "Reaktor" @@ -199904,10 +205079,6 @@ msgstr "Verschüttete Flüssigkeiten können nicht getrunken werden" msgid "Your biology is not compatible with that item." msgstr "" -#: src/game_inventory.cpp -msgid "You're fully charged" -msgstr "Du bist voll aufgeladen" - #: src/game_inventory.cpp #, c-format msgid "No space to store more %s" @@ -200183,8 +205354,8 @@ msgstr "Es sind keine Gegenstände zum Vergleichen vorhanden." #: src/game_inventory.cpp msgid "" -"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE to" -" cancel." +"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE " +"to cancel." msgstr "" #: src/game_inventory.cpp @@ -200218,11 +205389,6 @@ msgstr "" msgid "Available anesthetic: %i mL" msgstr "" -#: src/game_inventory.cpp -#, c-format -msgid "Money available: %s" -msgstr "" - #: src/game_inventory.cpp #, c-format msgid "Bionic removal patient: %s" @@ -200348,6 +205514,14 @@ msgstr "" msgid "CBM is filthy. Wash it first." msgstr "" +#: src/game_inventory.cpp +msgid "You should put this CBM in an autoclave pouch to keep it sterile." +msgstr "" + +#: src/game_inventory.cpp +msgid "You need at least 2L of water." +msgstr "" + #: src/game_inventory.cpp msgid "Sterilization" msgstr "" @@ -200460,8 +205634,8 @@ msgstr "%s kollidiert mit %s." #: src/handle_action.cpp #, c-format -msgid "Press %s to accept your fate..." -msgstr "Drücke %s, um dein Schicksal zu akzeptieren …" +msgid "Press %s to accept your fate…" +msgstr "" #: src/handle_action.cpp msgid "No radio car connected." @@ -200473,20 +205647,16 @@ msgstr "das Geräusch einer Kollision mit einem Hindernis." #. ~ Sound of moving a remote controlled car #: src/handle_action.cpp -msgid "zzz..." -msgstr "sss …" +msgid "zzz…" +msgstr "" #: src/handle_action.cpp -msgid "You can't drive the vehicle from here. You need controls!" +msgid "You can't drive the vehicle from here. You need controls!" msgstr "" -"Du kannst das Fahrzeug von hier aus nicht fahren. Du brauchst eine " -"Steuerung!" #: src/handle_action.cpp -msgid "Can't drive this vehicle remotely. It has no working controls." +msgid "Can't drive this vehicle remotely. It has no working controls." msgstr "" -"Du kannst das Fahrzeug von hier aus nicht fernlenken, es hat keine " -"funktionierende Steuerung." #: src/handle_action.cpp msgid "Open where?" @@ -200594,11 +205764,11 @@ msgid "There's nothing there to smash!" msgstr "Hier gibt es nichts zu zerschmettern!" #: src/handle_action.cpp -msgid "You already have an alarm set. What do you want to do?" +msgid "You already have an alarm set. What do you want to do?" msgstr "" #: src/handle_action.cpp -msgid "You have an alarm clock. What do you want to do?" +msgid "You have an alarm clock. What do you want to do?" msgstr "" #: src/handle_action.cpp @@ -200721,15 +205891,13 @@ msgstr "Vielleicht möchtest du Nachfolgendes vor dem Schlafen ausschalten:" #: src/handle_action.cpp msgid "" -"You're engorged to hibernate. The alarm would only attract attention. Set an" -" alarm anyway?" +"You're engorged to hibernate. The alarm would only attract attention. Set " +"an alarm anyway?" msgstr "" -"Du bist für den Winterschlaf vorbereitet. Der Wecker würde nur " -"Aufmerksamkeit erregen. Den Wecker dennoch stellen?" #: src/handle_action.cpp -msgid "You have an alarm clock. Set an alarm?" -msgstr "Du hast einen Wecker. Willst du eine Weckzeit einrichten?" +msgid "You have an alarm clock. Set an alarm?" +msgstr "" #: src/handle_action.cpp msgid "No, don't set an alarm." @@ -200760,54 +205928,47 @@ msgstr "Meine Beute aussortieren" #: src/handle_action.cpp msgid "" "Sorts out the loot from Loot: Unsorted zone to nearby appropriate Loot " -"zones. Uses empty space in your inventory or utilizes a cart, if you are " +"zones. Uses empty space in your inventory or utilizes a cart, if you are " "holding one." msgstr "" -"Sortiert alle Gegenstände der Zone »Beute: Unsortiert« in die definierten " -"nahegelegenen Beutezonen. Verwendet auch leeren Inventar-Platz oder einen " -"gezogenen Wagen, wenn du einen hältst." #: src/handle_action.cpp msgid "Till farm plots" msgstr "Ackerbau-Felder pflügen" #: src/handle_action.cpp -msgid "Till farm plots... you need a tool to dig with" +msgid "Till farm plots… you need a tool to dig with" msgstr "" -"Ackerbau-Feld pflügen... du hast nicht das passende Werkzeug zum Graben" #: src/handle_action.cpp msgid "Tills nearby Farm: Plot zones." msgstr "Ackerbau-Zielfelder in der Nähe pflügen." #: src/handle_action.cpp -msgid "Plant seeds... it is too cold for planting" -msgstr "Samen einpflanzen... es ist zu kalt zum Anpflanzen" +msgid "Plant seeds… it is too cold for planting" +msgstr "" #: src/handle_action.cpp msgid "Plant seeds" msgstr "Samen einpflanzen" #: src/handle_action.cpp -msgid "Plant seeds... you don't have any" -msgstr "Samen einpflanzen... du hast keine Samen zum Anpflanzen" +msgid "Plant seeds… you don't have any" +msgstr "" #: src/handle_action.cpp msgid "" -"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " +"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " "specific plant seed and you must have seeds in your inventory." msgstr "" -"Samen in nahegelegene Ackerbau-Zielfelder einpflanzen. Ackerbau-Zielfeld " -"muss auf einen bestimmten Samentyp definiert sein und du musst die " -"entsprechenden Samen im Inventar mitführen." #: src/handle_action.cpp msgid "Fertilize plots" msgstr "Ackerbau-Felder düngen" #: src/handle_action.cpp -msgid "Fertilize plots... you don't have any fertilizer" -msgstr "Ackerbau-Felder düngen... du hast keinen Dünger" +msgid "Fertilize plots… you don't have any fertilizer" +msgstr "" #: src/handle_action.cpp msgid "Fertilize any nearby Farm: Plot zones." @@ -201107,6 +206268,10 @@ msgstr "neue Standardbelegung is »^«." msgid "You can't operate a vehicle while you're in your shell." msgstr "Du kannst kein Fahrzeug bedienen, solange du in deinem Panzer bist." +#: src/handle_action.cpp +msgid "You refuse to take control of this vehicle." +msgstr "" + #: src/handle_action.cpp msgid "Auto travel mode OFF!" msgstr "" @@ -201120,8 +206285,8 @@ msgid "Safe mode OFF!" msgstr "Sicherheitsmodus AUS!" #: src/handle_action.cpp -msgid "Safe mode OFF! (Auto safe mode still enabled!)" -msgstr "Sicherheitsmodus AUS! (Auto-Sicherheitsmodus ist noch an!)" +msgid "Safe mode OFF! (Auto safe mode still enabled!)" +msgstr "" #: src/handle_action.cpp msgid "Auto safe mode OFF!" @@ -201347,11 +206512,9 @@ msgstr "" #: src/iexamine.cpp #, c-format msgid "" -"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" +"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" "Your current balance is: %s" msgstr "" -"Willkommen beim C.C.B.o.t.T.-Geldautomaten. Was möchten Sie tun?\n" -"Ihr aktueller Kontostand beträgt: %s" #: src/iexamine.cpp msgid "Purchase cash card?" @@ -201401,9 +206564,9 @@ msgid "Your account now holds %s." msgstr "Ihr Konto hat nun %s." #: src/iexamine.cpp -msgid "This will automatically deduct $1.00 from your bank account. Continue?" +msgid "" +"This will automatically deduct $1.00 from your bank account. Continue?" msgstr "" -"Dies wird automatisch 1,00 $ von Ihrem Bankkonto abbuchen. Weitermachen?" #: src/iexamine.cpp msgid "You can only deposit money from charged cash cards!" @@ -201411,10 +206574,10 @@ msgstr "Sie können nur Geld von Geldkarten mit Geld einzahlen." #: src/iexamine.cpp #, c-format -msgid "Deposit how much? Max: %d cent. (0 to cancel) " -msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " -msgstr[0] "Wieviel einzahlen? Max: %d Cent. (0 zum Abbrechen) " -msgstr[1] "Wieviel einzahlen? Max.: %d Cents. (0 zum Abbrechen) " +msgid "Deposit how much? Max: %d cent. (0 to cancel) " +msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " +msgstr[0] "" +msgstr[1] "" #: src/iexamine.cpp msgid "You do not have a cash card to withdraw money!" @@ -201422,10 +206585,10 @@ msgstr "Du hast keine Geldkarte, um Geld abzuheben!" #: src/iexamine.cpp #, c-format -msgid "Withdraw how much? Max: %d cent. (0 to cancel) " -msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " -msgstr[0] "Wieviel abheben? Max.:%d Cent. (0 zum Abbrechen) " -msgstr[1] "Wieviel abheben? Max.:%d Cents. (0 zum Abbrechen) " +msgid "Withdraw how much? Max: %d cent. (0 to cancel) " +msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " +msgstr[0] "" +msgstr[1] "" #: src/iexamine.cpp msgid "The vending machine is empty!" @@ -201519,8 +206682,8 @@ msgid "No one responds." msgstr "" #: src/iexamine.cpp -msgid "If only you had a shovel..." -msgstr "Wenn du nur eine Schaufel hättest …" +msgid "If only you had a shovel…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -201624,16 +206787,16 @@ msgid "Insert $10?" msgstr "10 $ einsetzen?" #: src/iexamine.cpp -msgid "Three cherries... you get your money back!" -msgstr "Drei Kirschen: Du bekommst dein Geld zurück!" +msgid "Three cherries… you get your money back!" +msgstr "" #: src/iexamine.cpp -msgid "Three bells... you win $50!" -msgstr "Drei Glöckchen: Du gewinnst 50 $!" +msgid "Three bells… you win $50!" +msgstr "" #: src/iexamine.cpp -msgid "Three stars... you win $200!" -msgstr "Drei Sterne: Du gewinnst: 200 $!" +msgid "Three stars… you win $200!" +msgstr "" #: src/iexamine.cpp msgid "JACKPOT! You win $3000!" @@ -201648,9 +206811,8 @@ msgid "Play again?" msgstr "Nochmal spielen?" #: src/iexamine.cpp -msgid "You mess with the dial for a little bit... and it opens!" +msgid "You mess with the dial for a little bit… and it opens!" msgstr "" -"Du probierst mit dem Drehscheibe ein bisschen herum … und es öffnet sich!" #: src/iexamine.cpp msgid "You mess with the dial for a little bit." @@ -201690,13 +206852,24 @@ msgstr "" "Der Dietrich stumpft bei deinem Versuch, den Waffentresor zu knacken, ab." #: src/iexamine.cpp -msgid "If only you had something to pry with..." -msgstr "Wenn du nur etwas zum Aufbrechen hättest..." +#, c-format +msgid "The %s is locked. If only you had something to pry it with…" +msgstr "" #. ~ %1$s: terrain/furniture name, %2$s: prying tool name #: src/iexamine.cpp #, c-format -msgid "You attempt to pry open the %1$s using your %2$s..." +msgid "You attempt to pry open the %1$s using your %2$s…" +msgstr "" + +#: src/iexamine.cpp +#, c-format +msgid "The %s is locked. If only you had something to pick its lock with…" +msgstr "" + +#: src/iexamine.cpp +#, c-format +msgid "You attempt to pick lock of %1$s using your %2$s…" msgstr "" #: src/iexamine.cpp @@ -201715,12 +206888,12 @@ msgstr "" "geblähten Gliedmaßen." #: src/iexamine.cpp -msgid "The pedestal sinks into the ground..." -msgstr "Das Podest versinkt in den Boden." +msgid "The pedestal sinks into the ground…" +msgstr "" #: src/iexamine.cpp -msgid "an ominous grinding noise..." -msgstr "ein ominöses Schleifgeräusch …" +msgid "an ominous grinding noise…" +msgstr "" #: src/iexamine.cpp msgid "Place your petrified eye on the pedestal?" @@ -201768,12 +206941,12 @@ msgid "You hear the rumble of rock shifting." msgstr "Du hörst das Grollen von sich schiebendem Stein." #: src/iexamine.cpp -msgid "This flower is dead. You can't get it." -msgstr "Diese Blume ist tot. Du kannst sie nicht nehmen." +msgid "This flower is dead. You can't get it." +msgstr "" #: src/iexamine.cpp -msgid "This plant is dead. You can't get it." -msgstr "Diese Pflanze ist tot. Du kannst sie nicht nehmen." +msgid "This plant is dead. You can't get it." +msgstr "" #: src/iexamine.cpp msgid "You drink some nectar." @@ -201808,8 +206981,8 @@ msgid "This flower has a heady aroma." msgstr "Diese Blume hat ein berauschendes Aroma." #: src/iexamine.cpp -msgid "You fall asleep..." -msgstr "Du schläfst ein." +msgid "You fall asleep…" +msgstr "" #: src/iexamine.cpp msgid "Your legs are covered in the poppy's roots!" @@ -201821,7 +206994,7 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" +msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" msgstr "" #: src/iexamine.cpp @@ -201838,8 +207011,8 @@ msgstr "" "Von dieser Pflanze kann in der momentanen Jahreszeit nichts geerntet werden." #: src/iexamine.cpp -msgid "This flower is still alive, despite the harsh conditions..." -msgstr "Diese Blume lebt immer noch, trotz der rauen Umstände …" +msgid "This flower is still alive, despite the harsh conditions…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -201847,8 +207020,8 @@ msgid "You feel out of place as you explore the %s. Drink?" msgstr "Du fühlst dich fehl am Platz, während du %s untersuchst. Trinken?" #: src/iexamine.cpp -msgid "This flower tastes very wrong..." -msgstr "Diese Blume schmeckt sehr falsch …" +msgid "This flower tastes very wrong…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -201889,8 +207062,8 @@ msgid "You have no seeds to plant." msgstr "Du hast keine Samen zum Einpflanzen." #: src/iexamine.cpp -msgid "Something's lying there..." -msgstr "Da liegt etwas …" +msgid "Something's lying there…" +msgstr "" #: src/iexamine.cpp src/mission_companion.cpp msgid "You saved your seeds for later." @@ -201909,8 +207082,8 @@ msgid "The seed blooms forth! We have brought true beauty to this world." msgstr "Die Saat blüht auf! Wir haben wahre Schönheit in diese Welt gebracht." #: src/iexamine.cpp -msgid "The seed blossoms rather rapidly..." -msgstr "Die Saat blüht ziemlich plötzlich auf …" +msgid "The seed blossoms rather rapidly…" +msgstr "" #: src/iexamine.cpp msgid "The seed blossoms into a flower-looking fungus." @@ -201970,10 +207143,8 @@ msgstr "" "Dieser Ofen enthält %s, was nicht zu Holtkohle umgewandelt werden kann!" #: src/iexamine.cpp -msgid "This kiln is empty. Fill it with wood or bone and try again." +msgid "This kiln is empty. Fill it with wood or bone and try again." msgstr "" -"Dieser Ofen ist leer. Fülle ihn mit Holz oder Knochen und versuch es noch " -"einmal." #: src/iexamine.cpp msgid "The batch in this kiln is too small to yield any charcoal." @@ -201997,8 +207168,8 @@ msgid "You fire the charcoal kiln." msgstr "Du befeuerst den Holzkohleofen." #: src/iexamine.cpp -msgid "This kiln is empty..." -msgstr "Dieser Ofen ist leer." +msgid "This kiln is empty…" +msgstr "" #: src/iexamine.cpp msgid "There's a charcoal kiln there." @@ -202040,7 +207211,7 @@ msgstr "" #: src/iexamine.cpp msgid "" -"This furance is empty. Fill it with powdered coke and lime mix, and try " +"This furance is empty. Fill it with powdered coke and lime mix, and try " "again." msgstr "" @@ -202069,7 +207240,7 @@ msgid "You turn on the furnace." msgstr "" #: src/iexamine.cpp -msgid "This furnace is empty..." +msgid "This furnace is empty…" msgstr "" #: src/iexamine.cpp @@ -202082,7 +207253,7 @@ msgid "It has finished burning, yielding %d calcium carbide." msgstr "" #: src/iexamine.cpp -msgid "This autoclave is empty..." +msgid "This autoclave is empty…" msgstr "" #: src/iexamine.cpp @@ -202141,7 +207312,7 @@ msgid "Start a fire" msgstr "Ein Feuer entfachen" #: src/iexamine.cpp -msgid "Start a fire... you'll need a fire source." +msgid "Start a fire… you'll need a fire source." msgstr "" #: src/iexamine.cpp @@ -202163,13 +207334,17 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "You attempt to start a fire with your %s..." +msgid "You attempt to start a fire with your %s…" msgstr "" #: src/iexamine.cpp msgid "You weren't able to start a fire." msgstr "" +#: src/iexamine.cpp +msgid "You can't light a fire there." +msgstr "Hier kannst du kein Feuer entfachen." + #: src/iexamine.cpp #, c-format msgid "Really take down the %s while it's on fire?" @@ -202345,13 +207520,13 @@ msgid "The %s is full." msgstr "%s ist voll." #: src/iexamine.cpp -msgid "You have no tool to dig with..." -msgstr "Du hast kein Werkzeug zum Graben." +msgid "You have no tool to dig with…" +msgstr "" #: src/iexamine.cpp #, c-format -msgid "Dig up %s? This kills the tree!" -msgstr "%s ausgraben? Das würde den Baum töten!" +msgid "Dig up %s? This kills the tree!" +msgstr "" #: src/iexamine.cpp msgid "Which container?" @@ -202376,9 +207551,8 @@ msgid "You need a %s to tap this maple tree." msgstr "Du brauchst 1 %s, um diesen Ahornbaum anzuzapfen." #: src/iexamine.cpp -msgid "No container added. The sap will just spill on the ground." +msgid "No container added. The sap will just spill on the ground." msgstr "" -"Keinen Behälter hinzugefügt. Der Saft wird einfach auf den Boden laufen." #: src/iexamine.cpp msgid "Remove tap" @@ -202524,14 +207698,13 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "That %s looks too dangerous to mess with. Best leave it alone." +msgid "That %s looks too dangerous to mess with. Best leave it alone." msgstr "" -"%s sieht zu gefährlich aus, um damit herumzufummeln. Lass es lieber in Ruhe." #: src/iexamine.cpp #, c-format -msgid "There is a %s there. Take down?" -msgstr "Hier ist 1 %s. Herunternehmen?" +msgid "There is a %s there. Take down?" +msgstr "" #: src/iexamine.cpp #, c-format @@ -202641,12 +207814,12 @@ msgid "You're illiterate, and can't read the screen." msgstr "Du bist ein Analphabet und kannst nicht vom Bildschirm lesen." #: src/iexamine.cpp -msgid "Failure! No gas pumps found!" -msgstr "Fehlgeschlagen! Keine Zapfsäulen gefunden!" +msgid "Failure! No gas pumps found!" +msgstr "" #: src/iexamine.cpp -msgid "Failure! No gas tank found!" -msgstr "Fehlgeschlagen! Kein Benzintank gefunden!" +msgid "Failure! No gas tank found!" +msgstr "" #: src/iexamine.cpp msgid "This station is out of fuel. We apologize for the inconvenience." @@ -202704,8 +207877,8 @@ msgstr "Nicht genügend Geld, bitte laden Sie ihre Geldkarte wieder auf." #: src/iexamine.cpp #, c-format -msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel) " -msgstr "Wieviel Liter Benzin kaufen? Max.: %d l. (0 zum Abbrechen) " +msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel)" +msgstr "" #: src/iexamine.cpp msgid "Glug Glug Glug" @@ -202773,36 +207946,28 @@ msgstr "Du kannst hier nicht herunterklettern" #: src/iexamine.cpp #, c-format -msgid "Looks like %d story. Jump down?" -msgid_plural "Looks like %d stories. Jump down?" -msgstr[0] "Sieht nach %d Stockwerk aus. Runterspringen?" -msgstr[1] "Sieht nach %d Stockwerken aus. Runterspringen?" +msgid "Looks like %d story. Jump down?" +msgid_plural "Looks like %d stories. Jump down?" +msgstr[0] "" +msgstr[1] "" #: src/iexamine.cpp -msgid "You probably won't be able to get up and jumping down may hurt. Jump?" +msgid "You probably won't be able to get up and jumping down may hurt. Jump?" msgstr "" -"Du wirst wahrscheinlich nicht in der Lage sein, nach oben zu kommen und ein " -"Sprung könnte wehtun. Springen?" #: src/iexamine.cpp -msgid "You probably won't be able to get back up. Climb down?" +msgid "You probably won't be able to get back up. Climb down?" msgstr "" -"Du wirst wahrscheinlich nicht in der Lage sein, wieder zurück nach oben zu " -"kommen. Herunterklettern?" #: src/iexamine.cpp msgid "" -"You should be able to climb back up easily if you climb down there. Climb " +"You should be able to climb back up easily if you climb down there. Climb " "down?" msgstr "" -"Du solltest in der Lage sein, mit Leichtigkeit wieder zurückzuklettern, wenn" -" du hier herunterkletterst? Herunterklettern?" #: src/iexamine.cpp -msgid "You may have problems climbing back up. Climb down?" +msgid "You may have problems climbing back up. Climb down?" msgstr "" -"Du könntest Probleme damit haben, wieder nach oben zu klettern. " -"Herunterklettern?" #: src/iexamine.cpp msgid "You decided to step back from the ledge." @@ -202839,8 +208004,8 @@ msgstr "" #: src/iexamine.cpp msgid "" -"ERROR Bionic Level Assessement : FULL CYBORG. Autodoc Mk. XI can't " -"opperate. Please move patient to appropriate facility. Exiting." +"ERROR Bionic Level Assessement: FULL CYBORG. Autodoc Mk. XI can't opperate." +" Please move patient to appropriate facility. Exiting." msgstr "" #: src/iexamine.cpp @@ -203126,8 +208291,7 @@ msgid "Inspect mill" msgstr "" #: src/iexamine.cpp -msgid "" -"Remove brake and start milling... insert some products for milling first" +msgid "Remove brake and start milling… insert some products for milling first" msgstr "" #: src/iexamine.cpp @@ -203139,12 +208303,12 @@ msgid "Remove brake and start milling, milling will take about 6 hours." msgstr "" #: src/iexamine.cpp -msgid "Insert products for milling... mill is full" +msgid "Insert products for milling… mill is full" msgstr "" #: src/iexamine.cpp #, c-format -msgid "Insert products for milling... remaining capacity is %s %s" +msgid "Insert products for milling… remaining capacity is %s %s" msgstr "" #: src/iexamine.cpp @@ -203192,8 +208356,8 @@ msgid "You inspect its contents and find: " msgstr "Du begutachtest den Inhalt und findest: " #: src/iexamine.cpp -msgid "... that it is empty." -msgstr "..., dass es leer ist." +msgid "…that it is empty." +msgstr "" #: src/iexamine.cpp msgid "You see some grains that are not yet milled to fine flour." @@ -203221,15 +208385,13 @@ msgid "Inspect smoking rack" msgstr "Räuchergestell untersuchen" #: src/iexamine.cpp -msgid "Light up and smoke food... insert some food for smoking first" +msgid "Light up and smoke food… insert some food for smoking first" msgstr "" -"Befeuern und Nahrung räuchern... hänge zuerst etwas Nahrung zum Räuchern in " -"das Gestell" #: src/iexamine.cpp #, c-format -msgid "Light up and smoke food... need extra %d charges of charcoal" -msgstr "Befeuern und Nahrung räuchern... aktuell fehlt noch %dx Holzkohle" +msgid "Light up and smoke food… need extra %d charges of charcoal" +msgstr "" #: src/iexamine.cpp msgid "Light up and smoke food" @@ -203237,22 +208399,18 @@ msgstr "Befeuern und Nahrung räuchern" #: src/iexamine.cpp msgid "" -"Light up the smoking rack and start smoking. Smoking will take about 6 " +"Light up the smoking rack and start smoking. Smoking will take about 6 " "hours." msgstr "" -"Zünde das Räuchergestell an und fang an zu räuchern. Das Räuchern wird etwa " -"6 Stunden dauern." #: src/iexamine.cpp -msgid "Insert food for smoking... smoking rack is full" +msgid "Insert food for smoking… smoking rack is full" msgstr "" -"Nahrung zum Räuchern oder Trocknen aufhängen... das Räuchergestell ist voll." #: src/iexamine.cpp #, c-format -msgid "Insert food for smoking... remaining capacity is %s %s" +msgid "Insert food for smoking… remaining capacity is %s %s" msgstr "" -"Nahrung zum Räuchern oder Trocknen aufhängen... Restkapazität bei %s %s" #: src/iexamine.cpp msgid "" @@ -203275,8 +208433,8 @@ msgid "Remove food from smoking rack" msgstr "Nahrung aus dem Räuchergestell entfernen" #: src/iexamine.cpp -msgid "Reload with charcoal... you don't have any" -msgstr "Holzkohle nachfüllen... du hast aber keine" +msgid "Reload with charcoal… you don't have any" +msgstr "" #: src/iexamine.cpp msgid "Reload with charcoal" @@ -203285,11 +208443,9 @@ msgstr "Holzkohle nachfüllen" #: src/iexamine.cpp #, c-format msgid "" -"You need %d charges of charcoal for %s %s of food. Minimal amount of " +"You need %d charges of charcoal for %s %s of food. Minimal amount of " "charcoal is %d charges." msgstr "" -"Du brauchst %d Ladungen Holzkohle pro %s %s Nahrung. Die Mindestmenge an " -"Holzkohle beträgt %d Ladungen." #: src/iexamine.cpp msgid "Quench burning charcoal" @@ -203351,8 +208507,8 @@ msgid "You stop the smoking process." msgstr "Du beendest den Räucherprozess." #: src/iexamine.cpp -msgid "You open the unlocked safe. " -msgstr "Du öffnest den entriegelten Tresor. " +msgid "You open the unlocked safe." +msgstr "" #: src/iexamine.cpp #, c-format @@ -203451,6 +208607,10 @@ msgstr "Oberkartenverbindungen" msgid "Overmap specials" msgstr "Oberkartenbesonderheiten" +#: src/init.cpp +msgid "Overmap locations" +msgstr "Oberkartenörtlichkeiten" + #: src/init.cpp msgid "Vehicle prototypes" msgstr "Fahrzeugprototypen" @@ -203559,10 +208719,6 @@ msgstr "Mutationen" msgid "Mutation Categories" msgstr "Mutationskategorien" -#: src/init.cpp -msgid "Overmap locations" -msgstr "Oberkartenörtlichkeiten" - #: src/init.cpp msgid "Map extras" msgstr "" @@ -203930,14 +209086,6 @@ msgstr "" msgid "Page %d/%d" msgstr "Seite %d/%d" -#: src/inventory_ui.cpp -msgid "ITEMS WORN" -msgstr "GETRAGENES" - -#: src/inventory_ui.cpp -msgid "WEAPON HELD" -msgstr "GEHALTENE WAFFEN" - #: src/inventory_ui.cpp #, c-format msgid "Weight (%s):" @@ -204404,11 +209552,9 @@ msgstr "" #: src/item.cpp msgid "" -"This food has started to rot. Eating it would be a " +"This food has started to rot. Eating it would be a " "very bad idea." msgstr "" -"Dieses Lebensmittel fing an, zu verderben. Es wäre eine sehr" -" schlechte Idee, es zu essen." #: src/item.cpp #, c-format @@ -204479,12 +209625,6 @@ msgstr "" msgid "This ammo starts fires." msgstr "" -#: src/item.cpp -#, c-format -msgid "Stats of the active gunmod (%s) are shown." -msgstr "" -"Werte der aktiven Waffenmodifikation (%s) werden gezeigt." - #: src/item.cpp msgid "Skill used: " msgstr "Ben. Fertigk.: " @@ -204629,8 +209769,9 @@ msgid "Used on: " msgstr "Benutzt mit: " #: src/item.cpp -msgid "Location: " -msgstr "Standort: " +#, c-format +msgid "Location: %s" +msgstr "" #: src/item.cpp msgid "Incompatible with mod location: " @@ -205158,42 +210299,45 @@ msgid "" msgstr "" #: src/item.cpp -msgid "* This clothing can be upsized." +msgid "can be upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be downsized." +msgid "can be downsized" msgstr "" #: src/item.cpp -msgid "* This clothing can not be downsized." +msgid "can not be downsized" msgstr "" #: src/item.cpp -msgid "* This clothing can not be upsized." +msgid "can not be upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be refitted and upsized." +#, c-format +msgid "* This clothing %s." msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted and downsized." +msgid " and upsized" msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not downsized." +msgid " and downsized" msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not upsized." +msgid " but not downsized" +msgstr "" + +#: src/item.cpp +msgid " but not upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be refitted." +#, c-format +msgid "* This clothing can be refitted%s." msgstr "" #: src/item.cpp @@ -205296,6 +210440,16 @@ msgstr "" msgid "This bionic is installed in the following body part(s):" msgstr "Dieses Bionik wurde in den folgenden Körperteil(en) installiert:" +#: src/item.cpp +msgid "* This bionic can produce power from the following fuel: " +msgid_plural "* This bionic can produce power from the following fuels: " +msgstr[0] "" +msgstr[1] "" + +#: src/item.cpp +msgid "Power Capacity:" +msgstr "" + #: src/item.cpp msgid "Encumbrance: " msgstr "" @@ -205376,16 +210530,19 @@ msgstr "Es ist fertig und kann aktiviert werden." msgid "It will be done in %s." msgstr "Es wird in %s fertig sein." -#. ~ %1$s: gerund (e.g. carved), %2$s: item name -#: src/item.cpp src/iuse_actor.cpp +#. ~ %1$s: gerund (e.g. carved), %2$s: item name, %3$s: inscription text +#: src/item.cpp #, c-format msgctxt "carving" -msgid "%1$s on the %2$s is: " -msgstr "Auf %2$s steht %1$s: " +msgid "%1$s on the %2$s is: %3$s" +msgstr "" -#: src/item.cpp src/options.cpp -msgid "Note: " -msgstr "Beachte: " +#. ~ %1$s: inscription text +#: src/item.cpp +#, c-format +msgctxt "carving" +msgid "Note: %1$s" +msgstr "" #: src/item.cpp msgid "Integrated mod: " @@ -205419,6 +210576,12 @@ msgstr "Du könntest es benutzen, um diverse andere Dinge zu fertigen." msgid "You could use it to craft: %s" msgstr "Du könntest es zum Fertigen davon verwenden: %s" +#: src/item.cpp +#, c-format +msgid "Stats of the active gunmod (%s) are shown." +msgstr "" +"Werte der aktiven Waffenmodifikation (%s) werden gezeigt." + #: src/item.cpp #, c-format msgid "It takes you an extremely long time to wield your %s." @@ -206083,8 +211246,8 @@ msgid "You're already smoking a %s!" msgstr "Du rauchst schon eine %s!" #: src/iuse.cpp -msgid "Are you sure you want to drink... this?" -msgstr "Bist du dir sicher dass du … das trinken willst?" +msgid "Are you sure you want to drink… this?" +msgstr "" #: src/iuse.cpp #, c-format @@ -206115,8 +211278,8 @@ msgid "You light a %s." msgstr "Du steckst 1 %s an." #: src/iuse.cpp -msgid "Ugh, too much smoke... you feel nasty." -msgstr "Uff, zuviel Rauch. Du fühlst dich übel." +msgid "Ugh, too much smoke… you feel nasty." +msgstr "" #: src/iuse.cpp msgid "You take a puff from your electronic cigarette." @@ -206131,8 +211294,8 @@ msgid "You don't have any nicotine liquid!" msgstr "Du hast keine Nikotinflüssigkeit!" #: src/iuse.cpp -msgid "Ugh, too much nicotine... you feel nasty." -msgstr "Uff, zu viel Nikotin … du fühlst dich schlecht." +msgid "Ugh, too much nicotine… you feel nasty." +msgstr "" #: src/iuse.cpp msgid "You take some antibiotics." @@ -206245,7 +211408,7 @@ msgstr "Du hörst auf, zu zittern." #: src/iuse.cpp msgid "" "You start scarfing down the delicious cake. It tastes a little funny " -"though..." +"though…" msgstr "" #: src/iuse.cpp @@ -206277,8 +211440,8 @@ msgid "You no longer need to fear the flu, at least for some time." msgstr "" #: src/iuse.cpp -msgid "Are you sure you want to eat this? It looks poisonous..." -msgstr "Bist du dir sicher, dass du das essen willst? Es sieht giftig aus." +msgid "Are you sure you want to eat this? It looks poisonous…" +msgstr "" #: src/iuse.cpp #, c-format @@ -206299,8 +211462,8 @@ msgid "You suddenly feel hollow inside." msgstr "Du fühlst dich plötzlich hohl von Innen." #: src/iuse.cpp -msgid "You feel very sleepy..." -msgstr "Du bist sehr müde." +msgid "You feel very sleepy…" +msgstr "" #: src/iuse.cpp msgid "You eat the datura seed." @@ -206395,10 +211558,8 @@ msgstr "" #, c-format msgid "" "As you eat the %s, you have a near-religious experience, feeling at one with" -" your surroundings..." +" your surroundings…" msgstr "" -"Als du %s isst, hast du ein nah-religiöses Erlebnis, wobei du dich eins mit " -"deiner Umgebung fühlst." #: src/iuse.cpp msgid "It tastes extremely strange!" @@ -206423,10 +211584,8 @@ msgstr "Du nimmst einen Biss und erbrichst sofort!" #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into an excruciating burn" -" as you convulse, vomiting, and black out..." +" as you convulse, vomiting, and black out…" msgstr "" -"Du spürst eine vertraute Wärme, aber urplötzlich brennt es dir unerträglich," -" während du dich verkrampfst, übergibst und du ohnmächtig wirst …" #: src/iuse.cpp msgctxt "memorial_male" @@ -206441,10 +211600,8 @@ msgstr "Erlitt eine Marloss-Abstoßung." #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into painful burning as " -"you convulse and collapse to the ground..." +"you convulse and collapse to the ground…" msgstr "" -"Du spürst eine vertraute Wärme, aber urplötzlich wird sie zu einer " -"schmerzvollen Verbrennung, während du dich verkrampfst und zu Boden fällst …" #: src/iuse.cpp src/monattack.cpp msgid "" @@ -206458,14 +211615,12 @@ msgstr "" #: src/iuse.cpp msgid "" "unity. together we have reached the door. we provide the final key. now " -"to pass through..." +"to pass through…" msgstr "" -"einigkeit. gemeinsam haben wir die pforte erreicht. wir bieten den letzten " -"schlüssel an. jetzt fehlt nur noch das durchschreiten …" #: src/iuse.cpp -msgid "You feel a strange warmth spreading throughout your body..." -msgstr "Du fühlst eine seltsame Wärme durch deinen Körper." +msgid "You feel a strange warmth spreading throughout your body…" +msgstr "" #. ~ "Uh-uh" is a sound used for "nope", "no", etc. #: src/iuse.cpp @@ -206483,9 +211638,8 @@ msgstr "" #: src/iuse.cpp #, c-format -msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." +msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." msgstr "" -"Sicher, dass du %s essen willst? Du könntest es in einem Erdhügel pflanzen." #: src/iuse.cpp msgid "It tastes amazing, and you finish it quickly." @@ -206494,16 +211648,14 @@ msgstr "" #: src/iuse.cpp msgid "" "As it settles in, you feel ecstasy radiating through every part of your " -"body..." +"body…" msgstr "" #: src/iuse.cpp msgid "" "Your eyes roll back in your head. Everything dissolves into a blissful " -"haze..." +"haze…" msgstr "" -"Deine Augen rollen in deinen Kopf zurück. Alles löst sich in einem " -"herrlichen Dunst auf …" #. ~ The Mycus does not use the term (or encourage the concept of) "you". The #. PC is a local/native organism, but is now the Mycus. @@ -206511,18 +211663,16 @@ msgstr "" #. bent symbiotes should not need it. #. ~ We are the Mycus. #: src/iuse.cpp -msgid "We welcome into us. We have endured long in this forbidding world." +msgid "We welcome into us. We have endured long in this forbidding world." msgstr "" "Wir sind uns willkommen. Wir haben es lange in dieser abweisenden Welt " "ausgehalten." #: src/iuse.cpp msgid "" -"A sea of white caps, waving gently. A haze of spores wafting silently over a" -" forest." +"A sea of white caps, waving gently. A haze of spores wafting silently over " +"a forest." msgstr "" -"Ein Meer aus weißen Kappen, welche sanft wehen. Ein Dunst aus Sporen schwebt" -" lautlos über einem Wald." #: src/iuse.cpp msgid "The natives have a saying: \"E Pluribus Unum.\" Out of many, one." @@ -206532,31 +211682,22 @@ msgstr "" #: src/iuse.cpp msgid "" -"The blazing pink redness of the berry. The juices spreading across your " +"The blazing pink redness of the berry. The juices spreading across your " "tongue, the warmth draping over us like a lover's embrace." msgstr "" -"Die strahlend rosa Rotheit der Beere. Die Fruchtsäfte breiten sich über " -"deine Zünge aus, die Wärme umhüllt uns wie sie die Zuneigung eines " -"Liebhabers." #: src/iuse.cpp msgid "" "We welcome the union of our lines in our local guide. We will prosper, and " -"unite this world. Even now, our fruits adapt to better serve local " +"unite this world. Even now, our fruits adapt to better serve local " "physiology." msgstr "" -"Wir heißen die Einigkeit unserer Linien in unserer örtlichen Leitung " -"willkommen. Wir werden gedeihen und diese Welt vereinigen. Selbst jetzt " -"passen sich unsere Früchte an, um der örtlichen Physiologie dienstlich zu " -"sein." #: src/iuse.cpp msgid "" -"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " +"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " "berry, a memory that will never leave us." msgstr "" -"Der Himmelsblaue der Samen. Die nussigen cremigen Geschmäcker, die sich mit " -"der Beere vermischen, eine Erinnerung, die uns nie verlassen wird." #: src/iuse.cpp msgid "" @@ -206568,14 +211709,12 @@ msgstr "" #: src/iuse.cpp msgid "" -"The amber-yellow of the sap. Feel it flowing through our veins, taking the " +"The amber-yellow of the sap. Feel it flowing through our veins, taking the " "place of the strange, thin red gruel called \"blood.\"" msgstr "" -"Das Bernsteingelbe des Saftes. Spüre ihn, wie er durch unsere Venen strömt, " -"den Platz der seltsamen dünnen roten Schleimsuppe namens »Blut« einnimmt." #: src/iuse.cpp -msgid "This tastes really weird! You're not sure it's good for you..." +msgid "This tastes really weird! You're not sure it's good for you…" msgstr "" #: src/iuse.cpp @@ -206666,8 +211805,8 @@ msgid "You do not have that item!" msgstr "Diesen Gegenstand hast du nicht!" #: src/iuse.cpp -msgid "Which signal should activate the item?:" -msgstr "Welches Signal soll den Gegenstand aktivieren?:" +msgid "Which signal should activate the item?" +msgstr "" #: src/iuse.cpp msgid "\"Blue\"" @@ -206710,8 +211849,8 @@ msgid "You can't fish there!" msgstr "Du kannst hier nicht angeln." #: src/iuse.cpp -msgid "You cast your line and wait to hook something..." -msgstr "Du wirfst deine Leine und wartest darauf, dass etwas anbeißt …" +msgid "You cast your line and wait to hook something…" +msgstr "" #: src/iuse.cpp msgid "Fish are not foolish enough to go in here without bait." @@ -206918,16 +212057,6 @@ msgstr "»KNISTER!«, »RAUSCH!« und »ZISCH!«" msgid "The infernal racket dies as the noise emitter turns off." msgstr "Der höllische Krach verstummt, als der Krachmacher sich abschaltet." -#: src/iuse.cpp -#, c-format -msgid "You learn the essential elements of %s." -msgstr "Du lernst die wesentlichen Elemente von: %s." - -#: src/iuse.cpp -#, c-format -msgid "%s to select martial arts style." -msgstr "%s um einen Kampfkunststil auszuwählen." - #: src/iuse.cpp msgid "You pry out the fence post." msgstr "Du hebelst den Zaunpfosten aus." @@ -207356,18 +212485,27 @@ msgid "Scan the ground" msgstr "Den Boden messen" #: src/iuse.cpp -msgid "Scan yourself" -msgstr "Dich selbst messen" +msgid "Scan yourself or other person" +msgstr "" #: src/iuse.cpp msgid "Turn continuous scan on" msgstr "Dauermessung einschalten" +#: src/iuse.cpp +msgid "Scan whom?" +msgstr "" + #: src/iuse.cpp #, c-format msgid "Your radiation level: %d mSv (%d mSv from items)" msgstr "" +#: src/iuse.cpp +#, c-format +msgid "%s's radiation level: %d mSv (%d mSv from items)" +msgstr "" + #: src/iuse.cpp #, c-format msgid "The ground's radiation level: %d mSv/h" @@ -207435,6 +212573,10 @@ msgstr "Tick!" msgid "You've already released the handle, try throwing it instead." msgstr "Du hast den Stift bereits gezogen, versuche es lieber mit Werfen." +#: src/iuse.cpp src/iuse_actor.cpp +msgid "You need a source of fire!" +msgstr "Du brauchst eine Feuerquelle!" + #: src/iuse.cpp msgid "You light the arrow!" msgstr "Du entzündest den Pfeil!" @@ -207447,6 +212589,10 @@ msgstr "Dein angezündeter Molotowcocktail geht aus." msgid "You light the pack of firecrackers." msgstr "Du entzündest die Böllerpackung." +#: src/iuse.cpp +msgid "ssss…" +msgstr "" + #: src/iuse.cpp msgid "You light the firecracker." msgstr "Du entzündest den Böller." @@ -207461,23 +212607,23 @@ msgid "You set the timer to %s." msgstr "" #: src/iuse.cpp -msgid "You squeeze the pheromone ball..." -msgstr "Du drückst den Pheremonball …" +msgid "You squeeze the pheromone ball…" +msgstr "" #: src/iuse.cpp -msgid " squeezes the pheromone ball..." -msgstr " drückt den Pheremonball …" +msgid " squeezes the pheromone ball…" +msgstr "" #: src/iuse.cpp -msgid "...but nothing happens." -msgstr "…, aber nichts passiert." +msgid "…but nothing happens." +msgstr "" #: src/iuse.cpp -msgid "...and a nearby zombie becomes passive!" +msgid "…and a nearby zombie becomes passive!" msgstr "" #: src/iuse.cpp -msgid "...and several nearby zombies become passive!" +msgid "…and several nearby zombies become passive!" msgstr "" #: src/iuse.cpp @@ -207753,7 +212899,7 @@ msgid "You need a rechargeable battery cell to charge." msgstr "" #: src/iuse.cpp -msgid "You cannot do... that while mounted." +msgid "You cannot do… that while mounted." msgstr "" #: src/iuse.cpp @@ -207775,8 +212921,8 @@ msgid "You whip out your %s and start getting the tension out." msgstr "Du zückst %s heraus und beginnst, dich zu entspannen." #: src/iuse.cpp -msgid "Air swirls all over..." -msgstr "Die Luft wirbelt überall!" +msgid "Air swirls all over…" +msgstr "" #: src/iuse.cpp msgid "Air swirls around you for a moment." @@ -207812,26 +212958,26 @@ msgstr "Soll Blut von %s abgenommen werden?" #: src/iuse.cpp #, c-format -msgid "You drew blood from the %s..." -msgstr "Du hast Blut von %s abgenommen …" +msgid "You drew blood from the %s…" +msgstr "" #: src/iuse.cpp msgid "Draw your own blood?" msgstr "Soll dein eigenes Blut abgenommen werden?" #: src/iuse.cpp -msgid "You drew your own blood..." -msgstr "Du hast dein eigenes Blut abgenommen …" +msgid "You drew your own blood…" +msgstr "" #: src/iuse.cpp #, c-format -msgid "...but acidic blood melts the %s, destroying it!" -msgstr "… aber säurehaltiges Blut frisst sich durch %s und zerstört es!" +msgid "…but acidic blood melts the %s, destroying it!" +msgstr "" #: src/iuse.cpp #, c-format -msgid "...but acidic blood damages the %s!" -msgstr "… aber säurehaltiges Blut beschädigt %s!" +msgid "…but acidic blood damages the %s!" +msgstr "" #: src/iuse.cpp #, c-format @@ -207932,18 +213078,10 @@ msgstr "Du bewegst den Mop umher, unsicher, ob es irgendetwas bringt." msgid "You mop up the spill." msgstr "Du wischst das Verschüttete weg." -#: src/iuse.cpp -msgid "Ka-BOOM!" -msgstr "»Krawumm!«" - #: src/iuse.cpp msgid "The fabric of space seems to decay." msgstr "Die Raumgefüge scheint zu verfallen." -#: src/iuse.cpp -msgid "The earth shakes!" -msgstr "Die Erde bebt!" - #: src/iuse.cpp #, c-format msgid "The %s glows brightly!" @@ -207973,8 +213111,8 @@ msgid "Spray what?" msgstr "Was soll gesprüht werden?" #: src/iuse.cpp -msgid "(To delete, input one '.')" -msgstr "(Zum Löschen einmal ».« eingeben)" +msgid "(To delete, clear the text and confirm)" +msgstr "" #: src/iuse.cpp msgid "You blur the inscription on the grave." @@ -207984,10 +213122,6 @@ msgstr "" msgid "You manage to get rid of the message on the ground." msgstr "Dir gelingt es, die Nachricht auf dem Boden loszuwerden." -#: src/iuse.cpp -msgid "There isn't anything to erase here." -msgstr "Hier gibt es nichts zum Entfernen." - #: src/iuse.cpp msgid "You carve an inscription on the grave." msgstr "" @@ -208005,13 +213139,9 @@ msgid "You don't have appropriate food to heat up." msgstr "Du hast nicht die passenden Lebensmittel zum Erhitzen." #: src/iuse.cpp -msgid "You defrost the food, but don't heat it up, since you enjoy it cold." +msgid "You start heating up the food." msgstr "" -#: src/iuse.cpp -msgid "You defrost and heat up the food." -msgstr "Du taust die Nahrung auf und erhitzt sie anschließend." - #: src/iuse.cpp msgid "There is no fire around, use your integrated toolset instead?" msgstr "" @@ -208214,12 +213344,12 @@ msgstr "Du verbessert die Treffgenauigkeit deiner %s." #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s! ( %s-> %s)" +msgid "You repair your %s! ( %s-> %s)" msgstr "" #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s completely! ( %s-> %s)" +msgid "You repair your %s completely! ( %s-> %s)" msgstr "" #: src/iuse.cpp @@ -208254,12 +213384,12 @@ msgid "You reinforce your %s." msgstr "Du verstärkst dein %s." #: src/iuse.cpp -msgid "Clank! Clank!" -msgstr "»Läut! Läut!«" +msgid "Clank! Clank!" +msgstr "" #: src/iuse.cpp -msgid "Ring! Ring!" -msgstr "»Klingeling!«" +msgid "Ring! Ring!" +msgstr "" #: src/iuse.cpp msgid "You cannot read a computer screen." @@ -208415,8 +213545,8 @@ msgid "Wasted time, these pictures do not provoke your senses." msgstr "Vergeudete Zeit, diese Bilder fordern deine Sinne nicht heraus." #: src/iuse.cpp -msgid "You used to have a dog like this..." -msgstr "Du hattest mal einen Hund wie den hier …" +msgid "You used to have a dog like this…" +msgstr "" #: src/iuse.cpp msgid "Ha-ha! An amusing cat photo." @@ -208427,8 +213557,8 @@ msgid "Excellent pictures of nature." msgstr "Ausgezeichnete Naturbilder." #: src/iuse.cpp -msgid "Food photos... your stomach rumbles!" -msgstr "Essensfotos … Dein Magen knurrt!" +msgid "Food photos… your stomach rumbles!" +msgstr "" #: src/iuse.cpp msgid "Some very interesting travel photos." @@ -208887,12 +214017,12 @@ msgid "A %s got in the way of your photo." msgstr "%s war im Weg für dein Foto." #: src/iuse.cpp -msgid "Strange... there's nothing in the center of picture?" +msgid "Strange… there's nothing in the center of picture?" msgstr "" #: src/iuse.cpp #, c-format -msgid "Strange... %s's not visible on the picture?" +msgid "Strange… %s's not visible on the picture?" msgstr "" #: src/iuse.cpp @@ -209015,8 +214145,8 @@ msgstr "Du hast dein Funkmodellauto mit %s bestückt." #: src/iuse.cpp #, c-format -msgid "RC car with %s ? How?" -msgstr "Funkmodellauto mit %s? Wie?" +msgid "RC car with %s? How?" +msgstr "" #: src/iuse.cpp #, c-format @@ -209024,25 +214154,25 @@ msgid "Your %s is too heavy or bulky for this RC car." msgstr "%s ist zu schwer oder klobig für dieses Funkmodellauto." #: src/iuse.cpp -msgid "You disarmed your RC car" -msgstr "Du hast dein Funkmodellauto entschäft." +msgid "You disarmed your RC car." +msgstr "" #. ~Sound of a radio controlled car moving around #: src/iuse.cpp -msgid "buzzz..." -msgstr "»surrr« …" +msgid "buzzz…" +msgstr "" #: src/iuse.cpp msgid "What to do with activated RC car?" msgstr "Was mit dem aktiven Funkmodellauto tun?" #: src/iuse.cpp -msgid "You turned off your RC car" -msgstr "Du hast dein Funkmodellauto ausgeschaltet." +msgid "You turned off your RC car." +msgstr "" -#: src/iuse.cpp src/map.cpp -msgid "beep." -msgstr "»Piep!«" +#: src/iuse.cpp +msgid "beep" +msgstr "" #: src/iuse.cpp msgid "Take control of RC car" @@ -209079,11 +214209,16 @@ msgstr "Du übernimmst die Steuerung über das Funkmodellauto." #: src/iuse.cpp #, c-format msgid "" -"The %s in you inventory would explode on this signal. Place it down before " +"The %s in your inventory would explode on this signal. Place it down before" +" sending the signal." +msgstr "" + +#: src/iuse.cpp +#, c-format +msgid "" +"The %1$s in your %2$s would explode on this signal. Place it down before " "sending the signal." msgstr "" -"%s würde bei diesem Signal in deinem Inventar explodieren. Leg es ab, bevor " -"du das Signal sendest." #: src/iuse.cpp msgid "This vehicle's security system has locked you out!" @@ -209152,6 +214287,12 @@ msgstr "Kontrolle über ein Fahrzeug übernehmen." msgid "Execute one vehicle action" msgstr "Eine Fahrzeugaktion ausführen" +#: src/iuse.cpp +msgid "" +"Despite using a controller, you still refuse to take control of this " +"vehicle." +msgstr "" + #: src/iuse.cpp msgid "You take control of the vehicle." msgstr "Du übernimmst die Kontrolle über das Fahrzeug." @@ -209173,8 +214314,8 @@ msgstr "" #. ~ Single-spaced & lowercase are intentional, conveying hurried speech-KA101 #: src/iuse.cpp -msgid "Are you sure?! the multi-cooker wants to poison your food!" -msgstr "Bist du sicher?! der mehrfunktionsherd will dein essen vergiften!" +msgid "Are you sure?! the multi-cooker wants to poison your food!" +msgstr "" #: src/iuse.cpp msgid "" @@ -209218,8 +214359,8 @@ msgid "The cycle will be completed in %s." msgstr "" #: src/iuse.cpp -msgid "The multi-cooker should be finishing shortly..." -msgstr "Der Mehrfunktionsherd sollte gleich fertig sein …" +msgid "The multi-cooker should be finishing shortly…" +msgstr "" #. ~ sound of a multi-cooker finishing its cycle! #: src/iuse.cpp @@ -209303,8 +214444,8 @@ msgstr "" "Mehrfunktionsherd zu wackeln anfängt." #: src/iuse.cpp -msgid "Your morale is too low to craft..." -msgstr "Deine Moral ist zu niedrig für die Fertigung." +msgid "Your morale is too low to craft…" +msgstr "" #: src/iuse.cpp #, c-format @@ -209437,8 +214578,8 @@ msgstr "Du benötigst Seife, um dies zu verwenden." #: src/iuse.cpp #, c-format -msgid "The %s's monitor slowly outputs the data..." -msgstr "Der Bildschirm von %s gibt langsam die Daten aus …" +msgid "The %s's monitor slowly outputs the data…" +msgstr "" #: src/iuse.cpp #, c-format @@ -209582,8 +214723,8 @@ msgid "You break the stick, but one half shatters into splinters." msgstr "Du zerbrichst den Stock, aber eine Hälfte zerbricht in Splitter." #: src/iuse.cpp -msgid "The throbbing of the infection diminishes. Slightly." -msgstr "Das Klopfen der Infektion wird schwächer. Etwas." +msgid "The throbbing of the infection diminishes. Slightly." +msgstr "" #: src/iuse.cpp msgid "You feel much better - almost entirely." @@ -209604,11 +214745,9 @@ msgstr "Du wirfst %s ein." #: src/iuse.cpp msgid "" -"Simply taking more magnesium won't help. You have to go to sleep for it to " +"Simply taking more magnesium won't help. You have to go to sleep for it to " "work." msgstr "" -"Einfach mehr Magnesium zu nehmen, wird nicht helfen. Du musst schlafen " -"gehen, damit es wirken kann." #: src/iuse.cpp #, c-format @@ -209883,8 +215022,8 @@ msgid "With a satisfying click, the lock on the door opens." msgstr "Mit einem freundlichem Klicken öffnet sich das Schloss der Tür." #: src/iuse_actor.cpp -msgid "The door swings open..." -msgstr "Die Tür geht auf …" +msgid "The door swings open…" +msgstr "" #: src/iuse_actor.cpp msgid "The lock stumps your efforts to pick it, and you destroy your tool." @@ -209995,21 +215134,17 @@ msgstr "Dort ist schon ein Feuer." #: src/iuse_actor.cpp msgid "" -"There's a brazier there but you haven't set it up to contain the fire. " +"There's a brazier there but you haven't set it up to contain the fire. " "Continue?" msgstr "" -"Dort befindet sich ein Standgrill, aber du hast ihn nicht aufgestellt, um " -"das Feuer unter Kontrolle zu halten. Fortfahren?" #: src/iuse_actor.cpp msgid "You successfully light a fire." msgstr "Erfolgreich entfachst du ein Feuer." #: src/iuse_actor.cpp -msgid "You light a fire, but it isn't enough. You need to light more." +msgid "You light a fire, but it isn't enough. You need to light more." msgstr "" -"Du entfachst ein Feuer, aber das reicht nicht. Du musst mehr Feuer " -"entfachen." #: src/iuse_actor.cpp msgid "You happily light a fire." @@ -210123,8 +215258,15 @@ msgid "It's a note" msgstr "Es ist eine Notiz" #: src/iuse_actor.cpp -msgid "(To delete, input one '.')\n" -msgstr "(Zum Löschen einmal ».« eingeben)\n" +msgid "(To delete, clear the text and confirm)\n" +msgstr "" + +#. ~ %1$s: gerund (e.g. carved), %2$s: item name +#: src/iuse_actor.cpp +#, c-format +msgctxt "carving" +msgid "%1$s on the %2$s is: " +msgstr "Auf %2$s steht %1$s: " #: src/iuse_actor.cpp #, c-format @@ -210148,6 +215290,11 @@ msgstr "Ein Gegenstand" msgid "Inscribe which item?" msgstr "Welchen Gegenstand beschriften?" +#: src/iuse_actor.cpp +#, c-format +msgid "You try to bend your %s, but fail." +msgstr "" + #: src/iuse_actor.cpp msgid "You cauterize yourself." msgstr "Du kauterisierst dich selbst." @@ -210198,10 +215345,8 @@ msgid "Make love, not zlave." msgstr "Liebe statt Zklaverei!" #: src/iuse_actor.cpp -msgid "Well, it's more constructive than just chopping 'em into gooey meat..." +msgid "Well, it's more constructive than just chopping 'em into gooey meat…" msgstr "" -"Nunja, es ist konstruktiver, als sie einfach nur zu schleimigem Fleisch zu " -"zerhacken." #: src/iuse_actor.cpp msgid "You feel horrible for mutilating and enslaving someone's corpse." @@ -210497,8 +215642,8 @@ msgstr "%s (repariert mit %s)" #: src/iuse_actor.cpp #, c-format -msgid "You don't have enough %s to do that. Have: %d, need: %d" -msgstr "Du hast nicht genügend %s, um das zu tun. Vorhanden: %d, benötigt: %d" +msgid "You don't have enough %s to do that. Have: %d, need: %d" +msgstr "" #: src/iuse_actor.cpp msgid "That requires gunsmithing tools." @@ -210521,7 +215666,7 @@ msgstr "%s ist bereits maximal verbessert." #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s! ( %s-> %s)" +msgid "You damage your %s! ( %s-> %s)" msgstr "" #: src/iuse_actor.cpp @@ -210716,8 +215861,8 @@ msgstr "Züge zum Verwenden: " #: src/iuse_actor.cpp #, c-format -msgid "Yeah. Place the %s at your feet. Real damn smart move." -msgstr "Super! Stell %s auf deine Füße. Echt verdammt kluger Zug." +msgid "Yeah. Place the %s at your feet. Real damn smart move." +msgstr "" #: src/iuse_actor.cpp #, c-format @@ -210736,7 +215881,7 @@ msgstr "%s benötigt %s daneben." #: src/iuse_actor.cpp #, c-format -msgid "You can't place a %s there. It contains a trap already." +msgid "You can't place a %s there. It contains a trap already." msgstr "Du kannst hier keinen %s platzieren. Dort ist bereits eine Falle." #: src/iuse_actor.cpp @@ -210825,6 +215970,10 @@ msgstr "Keine der Modifikationen kann entfernt werden." msgid "Has to be taken off first." msgstr "Muss zuerst abgenommen werden." +#: src/iuse_actor.cpp +msgid "You quiver with anticipation…" +msgstr "" + #: src/iuse_actor.cpp msgid "You suddenly feel dizzy, and collapse to the ground." msgstr "Dir ist plötzlich schwindelig und du fällst zu Boden." @@ -210893,11 +216042,30 @@ msgstr "" msgid "How do you want to modify it?" msgstr "Wie möchtest du den Gegenstand anpassen?" +#. ~ %1$s: modification desc, %2$d: number of thread needed +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (need %2$d thread loaded)" +msgstr "" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items needed #: src/iuse_actor.cpp -msgid "Not enough thread to modify. Which modification do you want to remove?" +#, c-format +msgid "Can't %1$s (need %2$d %3$s)" +msgstr "" + +#. ~ %1$s: modification desc, %2$s: mod name +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (incompatible with %2$s)" +msgstr "" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items +#. needed, %4$s: number of thread needed +#: src/iuse_actor.cpp +#, c-format +msgid "%1$s (%2$d %3$s and %4$d thread)" msgstr "" -"Nicht genug Faden zum Modifizieren. Welche Modifikation möchtest du " -"entfernen?" #: src/iuse_actor.cpp msgid "Bash" @@ -210929,7 +216097,7 @@ msgstr "Bist du dir sicher? Du wirst keine Materialien zurück erhalten." #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s trying to modify it! ( %s-> %s)" +msgid "You damage your %s trying to modify it! ( %s-> %s)" msgstr "" #: src/iuse_actor.cpp @@ -210948,6 +216116,14 @@ msgstr "Du modifizierst dein %s, aber verschwendest viel Faden." msgid "You modify your %s!" msgstr "Du modifizierst dein %s!" +#: src/iuse_actor.h +msgid "Carve" +msgstr "Eingravieren" + +#: src/iuse_actor.h +msgid "Carved" +msgstr "Eingraviert" + #: src/iuse_software.cpp msgid "You found kitten!" msgstr "Du hast Mauzi gefunden!" @@ -210974,9 +216150,8 @@ msgid "It's an altar to the horse god." msgstr "Das ist ein Altar für den Pferdegott." #: src/iuse_software_kitten.cpp -msgid "A box of dancing mechanical pencils. They dance! They sing!" +msgid "A box of dancing mechanical pencils. They dance! They sing!" msgstr "" -"Eine Schachtel mit tanzenden mechanischen Stiften. Sie tanzen! Sie singen!" #: src/iuse_software_kitten.cpp msgid "It's an old Duke Ellington record." @@ -210987,8 +216162,8 @@ msgid "A box of fumigation pellets." msgstr "Eine Schachtel mit Fumigationskügelchen." #: src/iuse_software_kitten.cpp -msgid "A digital clock. It's stuck at 2:17 PM." -msgstr "Eine Digitaluhr. Sie ist bei 14:17 stehengeblieben." +msgid "A digital clock. It's stuck at 2:17 PM." +msgstr "" #: src/iuse_software_kitten.cpp msgid "That's just a charred human corpse." @@ -210999,16 +216174,16 @@ msgid "I don't know what that is, but it's not kitten." msgstr "Ich weiß nicht, was das ist, aber es ist nicht Mauzi." #: src/iuse_software_kitten.cpp -msgid "An empty shopping bag. Paper or plastic?" -msgstr "Eine leere Einkaufstüte. Papier oder Plastik?" +msgid "An empty shopping bag. Paper or plastic?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "Could it be... a big ugly bowling trophy?" -msgstr "Könnte das … ein großer hässlicher Bowlingpokal sein?" +msgid "Could it be… a big ugly bowling trophy?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "A coat hanger hovers in thin air. Odd." -msgstr "Ein Mantelhänger schwebt in der Luft. Seltsam." +msgid "A coat hanger hovers in thin air. Odd." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Not kitten, just a packet of Kool-Aid(tm)." @@ -211031,8 +216206,8 @@ msgid "It's Richard Nixon's nose!" msgstr "Es ist Richard Nixons Nase!" #: src/iuse_software_kitten.cpp -msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." -msgstr "Das ist Lucy Ricardo. Sie sagt »Aaaah, Ricky!«." +msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." +msgstr "" #: src/iuse_software_kitten.cpp msgid "You stumble upon Bill Gates' stand-up act." @@ -211043,8 +216218,8 @@ msgid "Just an autographed copy of the Kama Sutra." msgstr "Nur eine handsignierte Kopie des Kamasutra." #: src/iuse_software_kitten.cpp -msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" -msgstr "Es ist der Will-Rogers-Highway. Wer war eigentlich Will Rogers?" +msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" +msgstr "" #: src/iuse_software_kitten.cpp msgid "" @@ -211111,10 +216286,8 @@ msgstr "" "erzählt." #: src/iuse_software_kitten.cpp -msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize...\"" +msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize…\"" msgstr "" -"»Sehr geehrter Roboter, Sie könnten bereits jetzt schon unseren 10" -"-MILLIONEN-DOLLAR-Preis gewonnen haben …«" #: src/iuse_software_kitten.cpp msgid "It's just an object." @@ -211157,8 +216330,9 @@ msgid "It's some compromising photos of Babar the Elephant." msgstr "Das sind ein paar bloßstellende Fotos von Babar dem Elefanten." #: src/iuse_software_kitten.cpp -msgid "A copy of the Weekly World News. Watch out for the chambered nautilus!" -msgstr "Eine Ausgabe der Weekly World News. Achte auf das Perlboot!" +msgid "" +"A copy of the Weekly World News. Watch out for the chambered nautilus!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's the proverbial wet blanket." @@ -211177,32 +216351,28 @@ msgid "Paul Moyer's necktie." msgstr "Paul Moyers Krawatte." #: src/iuse_software_kitten.cpp -msgid "A haircut and a real job. Now you know where to get one!" +msgid "A haircut and a real job. Now you know where to get one!" msgstr "" -"Ein Haarschnitt und ein richtiger Beruf. Nun weißt du, wo man einen solchen " -"bekommt!" #: src/iuse_software_kitten.cpp -msgid "An automated robot-hater. It frowns disapprovingly at you." +msgid "An automated robot-hater. It frowns disapprovingly at you." msgstr "" -"Ein automatischer Roboterhasser. Er schneidet dir gegenüber eine ablehnende " -"Grimasse." #: src/iuse_software_kitten.cpp -msgid "An automated robot-liker. It smiles at you." -msgstr "Ein automatischer Robotermöger. Er lächelt dich an." +msgid "An automated robot-liker. It smiles at you." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a black hole. Don't fall in!" -msgstr "Es ist ein schwarzes Loch. Fall nicht herein!" +msgid "It's a black hole. Don't fall in!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "Just a big brick wall." msgstr "Nur eine große Ziegelwand." #: src/iuse_software_kitten.cpp -msgid "You found kitten! No, just kidding." -msgstr "Du hast Mauzi gefunden! Nein, war nur’n Witz." +msgid "You found kitten! No, just kidding." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Heart of Darkness brand pistachio nuts." @@ -211258,16 +216428,16 @@ msgid "It's the constellation Pisces." msgstr "Es ist das Sternzeichen Fische." #: src/iuse_software_kitten.cpp -msgid "It's a fly on the wall. Hi, fly!" -msgstr "Es ist eine Fliege an der Wand. Hallo, Fliege!" +msgid "It's a fly on the wall. Hi, fly!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "This kind of looks like kitten, but it's not." msgstr "Dies sieht wie Mauzi aus, aber es ist nicht Mauzi." #: src/iuse_software_kitten.cpp -msgid "It's a banana! Oh, joy!" -msgstr "Es ist eine Banane. Oh Freude!" +msgid "It's a banana! Oh, joy!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "A helicopter has crashed here." @@ -211295,14 +216465,12 @@ msgid "A geyser sprays water high into the air." msgstr "Ein Geysir sprüht Wasser hoch in die Luft." #: src/iuse_software_kitten.cpp -msgid "A toenail? What good is a toenail?" -msgstr "Ein Fußnagel? Wozu ist ein Fußnagel gut?" +msgid "A toenail? What good is a toenail?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "You've found the fish! Not that it does you much good in this game." +msgid "You've found the fish! Not that it does you much good in this game." msgstr "" -"Du hast den Fisch gefunden! Nicht, dass das dir irgendwas in diesem Spiel " -"bringen würde." #: src/iuse_software_kitten.cpp msgid "A Buttertonsils bar." @@ -211326,8 +216494,8 @@ msgid "It's nothing but a G-thang, baby." msgstr "Hier liegt ein krummes Ding, das gedreht wurde." #: src/iuse_software_kitten.cpp -msgid "IT'S ALIVE! AH HA HA HA HA!" -msgstr "ES LEBT! AHAHAHAHA!" +msgid "IT'S ALIVE! AH HA HA HA HA!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "This was no boating accident!" @@ -211335,14 +216503,12 @@ msgstr "Dies war kein Schiffsunglück!" #: src/iuse_software_kitten.cpp msgid "" -"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" +"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" msgstr "" -"Warte! Das ist nicht der Pokerchip. Du wurdest reingelegt. VERDAMMT SEIST " -"DU, MENDEZ!" #: src/iuse_software_kitten.cpp -msgid "A livery stable! Get your livery!" -msgstr "Eine Pferdevermietung. Mieten Sie noch heute ein Pferd!" +msgid "A livery stable! Get your livery!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's a perpetual immobility machine." @@ -211362,11 +216528,9 @@ msgstr "Der weltgrößze Motzahball!" #: src/iuse_software_kitten.cpp msgid "" -"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " +"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " "know." msgstr "" -"Ein Kannibalenstamm lebt hier. Sie essen Malt-O-Meal zum Frühstück, weißt " -"du?" #: src/iuse_software_kitten.cpp msgid "This appears to be a rather large stack of trashy romance novels." @@ -211375,20 +216539,20 @@ msgstr "" "Romanzen aus." #: src/iuse_software_kitten.cpp -msgid "Look out! Exclamation points!" -msgstr "Sieh nur! Ausrufezeichen!" +msgid "Look out! Exclamation points!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "A herd of wild coffee mugs slumbers here." msgstr "Eine Herde wilder Kaffeetassen döst hier." #: src/iuse_software_kitten.cpp -msgid "It's a limbo bar! How low can you go?" -msgstr "Es ist eine Limbostange! Wie tief kannst du gehen?" +msgid "It's a limbo bar! How low can you go?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's the horizon. Now THAT'S weird." -msgstr "Es ist der Horizont. DAS ist jetzt aber merkwürdig." +msgid "It's the horizon. Now THAT'S weird." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A vase full of artificial flowers is stuck to the floor here." @@ -211403,30 +216567,26 @@ msgid "A pair of saloon-style doors swing slowly back and forth here." msgstr "Ein Paar Saloontüren schwingen hier langsam hin und her." #: src/iuse_software_kitten.cpp -msgid "It's an ordinary bust of Beethoven... but why is it painted green?" +msgid "It's an ordinary bust of Beethoven… but why is it painted green?" msgstr "" -"Es ist eine gewöhnliche Beethoven-Büste. Aber wieso ist sie grün angemalt?" #: src/iuse_software_kitten.cpp -msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." +msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." msgstr "" -"Es ist der geliebte Witzbold Crow aus dem Fernsehen. Er sagt »Beiß mich!«." #: src/iuse_software_kitten.cpp msgid "" -"Hey, look, it's war. What is it good for? Absolutely nothing. Say it again." +"Hey, look, it's war. What is it good for? Absolutely nothing. Say it " +"again." msgstr "" -"Sieh nur, es ist der Krieg. Wofür ist er gut? Gar nichts! Sag das nochmal." #: src/iuse_software_kitten.cpp msgid "It's the amazing self-referential thing that's not kitten." msgstr "Es ist das großartige selbstreferenzielle Ding, das nicht Mauzi ist." #: src/iuse_software_kitten.cpp -msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" +msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" msgstr "" -"Eine extravagante Federboa. Nun kannst du dich so wie Carol Channing " -"anziehen!" #: src/iuse_software_kitten.cpp msgid "\"Sure hope we get some rain soon,\" says Farmer Joe." @@ -211448,10 +216608,9 @@ msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"This is a large brown bear. Oddly enough, it's currently peeing in the " +"This is a large brown bear. Oddly enough, it's currently peeing in the " "woods." msgstr "" -"Das ist ein großer Braunbär. Seltsam genug pinkelt er gerade in den Wald." #: src/iuse_software_kitten.cpp msgid "A team of arctic explorers is camped here." @@ -211479,31 +216638,26 @@ msgstr "Es ist ein Hologramm eines abgestürzten Hubschraubers." #: src/iuse_software_kitten.cpp msgid "" -"This is a television. On screen you see a robot strangely similar to " +"This is a television. On screen you see a robot strangely similar to " "yourself." msgstr "" -"Dies ist ein Fernseher. Auf seinem Bildschirm siehst du einen Roboter, der " -"dir seltsamerweise ähnlich sieht." #: src/iuse_software_kitten.cpp msgid "This balogna has a first name, it's R-A-N-C-I-D." msgstr "Diese Fleischwurst hat einen Vornamen, er lautet »Ranzig«." #: src/iuse_software_kitten.cpp -msgid "A salmon hatchery? Look again. It's merely a single salmon." +msgid "A salmon hatchery? Look again. It's merely a single salmon." msgstr "" -"Eine Lachsbrutstätte? Schau genauer hin. Es ist nur ein einziger Lachs." #: src/iuse_software_kitten.cpp -msgid "It's a rim shot. Ba-da-boom!" -msgstr "Es ist ein Rahmenschlag. Badabumm!" +msgid "It's a rim shot. Ba-da-boom!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." +"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." msgstr "" -"Es ist gruselig und unheimlich, wuselig und klammheimlich. Es ist außerdem " -"etwas heimlich." #: src/iuse_software_kitten.cpp msgid "This is an anagram." @@ -211514,29 +216668,26 @@ msgid "This object is like an analogy." msgstr "Dieses Objekt ist wie eine Analogie." #: src/iuse_software_kitten.cpp -msgid "It's a symbol. You see in it a model for all symbols everywhere." +msgid "It's a symbol. You see in it a model for all symbols everywhere." msgstr "" -"Es ist ein Symbol. Du siehst es in einem Modell für alle Symbole überall." #: src/iuse_software_kitten.cpp msgid "The object pushes back at you." msgstr "Das Objekt schlägt zurück." #: src/iuse_software_kitten.cpp -msgid "A traffic signal. It appears to have been recently vandalized." -msgstr "Eine Ampel. Sie scheint neulich beschädigt worden zu sein." +msgid "A traffic signal. It appears to have been recently vandalized." +msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"\"There is no kitten!\" cackles the old crone. You are shocked by her " +"\"There is no kitten!\" cackles the old crone. You are shocked by her " "blasphemy." msgstr "" -"»Es gibt keine Mauzi!« schnattert die alte Tante. Du bist von ihrer " -"Blasphemie schockiert." #: src/iuse_software_kitten.cpp -msgid "This is a Lagrange point. Don't come too close now." -msgstr "Dies ist ein Lagrange-Punkt. Geh nicht zu nah dran." +msgid "This is a Lagrange point. Don't come too close now." +msgstr "" #: src/iuse_software_kitten.cpp msgid "The dirty old tramp bemoans the loss of his harmonica." @@ -211556,10 +216707,8 @@ msgid "It's the instruction manual for a previous version of this game." msgstr "Es ist die Anleitung für eine Vorgängerversion dieses Spiels." #: src/iuse_software_kitten.cpp -msgid "A brain cell. Oddly enough, it seems to be functioning." +msgid "A brain cell. Oddly enough, it seems to be functioning." msgstr "" -"Eine Gehirnzelle. Als wär das nicht schon seltsam genug, scheint sie " -"außerdem noch zu funktionieren." #: src/iuse_software_kitten.cpp msgid "Tea and/or crumpets." @@ -211574,17 +216723,16 @@ msgid "It's a Quaker Oatmeal tube, converted into a drum." msgstr "Es ist ein Hafermehlrohr, das in eine Trommel umgewandelt wurde." #: src/iuse_software_kitten.cpp -msgid "This is a remote control. Being a robot, you keep a wide berth." +msgid "This is a remote control. Being a robot, you keep a wide berth." msgstr "" -"Dies ist eine Fernbedienung. Da du ein Roboter bist, bleibst du auf Abstand." #: src/iuse_software_kitten.cpp msgid "It's a roll of industrial-strength copper wire." msgstr "Es ist eine Rolle industriellen Kupferdrahtes." #: src/iuse_software_kitten.cpp -msgid "Oh boy! Grub! Er, grubs." -msgstr "Oh, Junge. Raupe! Äh, Raupen." +msgid "Oh boy! Grub! Er, grubs." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A puddle of mud, where the mudskippers play." @@ -211611,12 +216759,12 @@ msgid "An autographed copy of \"Primary Colors\", by Anonymous." msgstr "Eine signierte Kopie von »Primärfarben«, von Anonymous." #: src/iuse_software_kitten.cpp -msgid "Another rabbit? That's three today!" -msgstr "Noch ein Kaninchen? Das sind heute schon drei!" +msgid "Another rabbit? That's three today!" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a segmentation fault. Core dumped, by the way." -msgstr "Es ist eine Schutzverletzung. Übrigens: Coredump erstellt." +msgid "It's a segmentation fault. Core dumped, by the way." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A historical marker showing the actual location of /dev/null." @@ -211624,8 +216772,8 @@ msgstr "" "Ein uraltes Schild, welches den tatsächlichen Ort von /dev/null zeigt." #: src/iuse_software_kitten.cpp -msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" -msgstr "Es ist Mobius Dick, der große Wal. Arrr!" +msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's a charcoal briquette, smoking away." @@ -211644,8 +216792,8 @@ msgid "A stack of 7 inch floppies wobbles precariously." msgstr "Ein Stapel aus 170mm-Disketten wackelt vorsichtig." #: src/iuse_software_kitten.cpp -msgid "It's nothing but a corrupted floppy. Coaster anyone?" -msgstr "Nur eine kaputte Diskette. Will jemand einen Bierdeckel?" +msgid "It's nothing but a corrupted floppy. Coaster anyone?" +msgstr "" #: src/iuse_software_kitten.cpp msgid "A section of glowing phosphor cells sings a song of radiation to you." @@ -211689,8 +216837,8 @@ msgid "It's the missing chapter to \"A Clockwork Orange\"." msgstr "Es ist das fehlende Kapitel von »Eine Uhrwerk-Orange«." #: src/iuse_software_kitten.cpp -msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." -msgstr "Es ist eine Burritoladenbroschüre. »Taqueria El Ranchito«." +msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." +msgstr "" #: src/iuse_software_kitten.cpp msgid "This smiling family is happy because they eat LARD." @@ -211717,31 +216865,24 @@ msgid "A forgotten telephone switchboard operator." msgstr "Eine vergessene Telefonschaltzentralenvermittlung." #: src/iuse_software_kitten.cpp -msgid "It's an automated robot-disdainer. It pretends you're not there." +msgid "It's an automated robot-disdainer. It pretends you're not there." msgstr "" -"Es ist ein automatischer Roboterverachter. Er tut so, als ob du nicht da " -"wärst." #: src/iuse_software_kitten.cpp -msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." +msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." msgstr "" -"Es ist ein tragbares Loch. Auf einem Schild steht: »Im Winter geschlossen«." #: src/iuse_software_kitten.cpp msgid "Just a moldy loaf of bread." msgstr "Nur ein verschimmeltes Brotlaib." #: src/iuse_software_kitten.cpp -msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." +msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." msgstr "" -"Eine kleine Glaswanne mit Carmex (0,89 $). Zu schade, dass du keine Lippen " -"hast." #: src/iuse_software_kitten.cpp -msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" +msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" msgstr "" -"Ein Schweizer Armeemesser. Alle seine Werkzeuge sind ausgefahren, aber der " -"Zahnstocher fehlt." #: src/iuse_software_kitten.cpp msgid "It's a zen simulation, trapped within an ASCII character." @@ -211761,18 +216902,16 @@ msgstr "" "Eine willige reife Tomate beklagt deine Unfähigkeit, Obst zu verdauen." #: src/iuse_software_kitten.cpp -msgid "A robot comedian. You feel amused." -msgstr "Ein Roboter-Comedian. Du bist amüsiert." +msgid "A robot comedian. You feel amused." +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's KITT, the talking car." msgstr "Es ist KITT, das sprechende Auto." #: src/iuse_software_kitten.cpp -msgid "Here's Pete Peterson. His batteries seem to have long gone dead." +msgid "Here's Pete Peterson. His batteries seem to have long gone dead." msgstr "" -"Hier ist Pete Peterson. Seine Batterien scheinen schon vor langer Zeit " -"leergelaufen zu sein." #: src/iuse_software_kitten.cpp msgid "\"Blup, blup, blup\", says the mud pot." @@ -211799,18 +216938,16 @@ msgid "Pumpkin pie spice." msgstr "Kürbiskuchengewürz." #: src/iuse_software_kitten.cpp -msgid "It's the Bass-Matic '76! Mmm, that's good bass!" -msgstr "Es ist der Bass-Matic ’76! Ah, das ist ein guter Bass!" +msgid "It's the Bass-Matic '76! Mmm, that's good bass!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "\"Lend us a fiver 'til Thursday\", pleas Andy Capp." msgstr "»Leih uns einen Fünfer bis Donnerstag.«, bittet Andy Capp." #: src/iuse_software_kitten.cpp -msgid "It's a tape of '70s rock. All original hits! All original artists!" +msgid "It's a tape of '70s rock. All original hits! All original artists!" msgstr "" -"Es ist eine Kasette mit 70er-Rock. Nur Original-Hits! Nur Original-" -"Interpreten!" #: src/iuse_software_kitten.cpp msgid "You've found the fabled America Online disk graveyard!" @@ -211826,15 +216963,13 @@ msgstr "Es ist das erstaunliche Meta-Objekt." #: src/iuse_software_kitten.cpp msgid "" -"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " +"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " "SIR!\"" msgstr "" -"Ed McMahon steht hier gedankenversunken. Als er dich sieht, brüllt er " -"»Jawohl, Sir!«." #: src/iuse_software_kitten.cpp -msgid "...thingy???" -msgstr "Dingchen?" +msgid "…thingy???" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's 1000 secrets the government doesn't want you to know!" @@ -211846,11 +216981,11 @@ msgid "The letters O and R." msgstr "Die Buchstaben »O« und »R«." #: src/iuse_software_kitten.cpp -msgid "A magical... magic thing." -msgstr "Ein magisch … magisches Ding." +msgid "A magical… magic thing." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" +msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" msgstr "" #: src/iuse_software_kitten.cpp @@ -211884,16 +217019,11 @@ msgstr ")." #: src/iuse_software_kitten.cpp msgid "" -"Your job is to find kitten. This task is complicated by the existence of " -"various things which are not kitten. Robot must touch items to determine if " -"they are kitten or not. The game ends when robot finds kitten. " +"Your job is to find kitten. This task is complicated by the existence of " +"various things which are not kitten. Robot must touch items to determine if" +" they are kitten or not. The game ends when robot finds kitten. " "Alternatively, you may end the game by hitting 'q', 'Q' or the Escape key." msgstr "" -"Es ist deine Aufgabe, Mauzi zu finden. Diese Aufgabe wird durch die Existenz" -" diverser Dinge, die nicht Mauzi sind, erschwert. Roboter muss Gegenstände " -"berühren, um festzustellen, ob sie Mauzi sind oder nicht. Das Spiel endet, " -"sobald Roboter Mauzi findet. Ansonsten kannst du das Spiel mit »q«, »Q« oder" -" »Esc« beenden." #: src/iuse_software_kitten.cpp msgid "Press any key to start." @@ -211904,8 +217034,8 @@ msgid "Invalid command: Use direction keys or press 'q'." msgstr "Ungültiger Befehl: Drücke Richtungstasten oder drücke »q«." #: src/iuse_software_kitten.cpp -msgid "You found kitten! Way to go, robot!" -msgstr "Du hast Mauzi gefunden! Gut gemacht, Roboter!" +msgid "You found kitten! Way to go, robot!" +msgstr "" #: src/iuse_software_lightson.cpp msgid " toggle lights" @@ -211978,8 +217108,8 @@ msgid "lag" msgstr " Flagge" #: src/iuse_software_minesweeper.cpp -msgid "Boom, you're dead! Better luck next time." -msgstr "Bumm, du bist tot! Vielleicht klappt's beim nächsten Mal." +msgid "Boom, you're dead! Better luck next time." +msgstr "" #: src/iuse_software_snake.cpp src/iuse_software_sokoban.cpp #, c-format @@ -212281,6 +217411,10 @@ msgstr "" msgid "You cast %s!" msgstr "" +#: src/magic.cpp +msgid "an explosion" +msgstr "" + #: src/magic.cpp msgid "Too Difficult!" msgstr "" @@ -212313,10 +217447,6 @@ msgstr "" msgid "infinite" msgstr "" -#: src/magic.cpp -msgid "an explosion" -msgstr "" - #: src/magic.cpp #, c-format msgid "%s and %s" @@ -212355,6 +217485,23 @@ msgstr "" msgid "All knowledge of %s leaves you." msgstr "" +#: src/magic.cpp +msgid "Choose a new hotkey for this spell." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey already used." +msgstr "" + +#: src/magic.cpp +#, c-format +msgid "%c set. Close and reopen spell menu to refresh list with changes." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey removed." +msgstr "" + #: src/magic.cpp msgid "Ignore Distractions" msgstr "" @@ -212363,6 +217510,10 @@ msgstr "" msgid "Popup Distractions" msgstr "" +#: src/magic.cpp +msgid "Assign Hotkey [=]" +msgstr "" + #: src/magic.cpp msgid "requires concentration" msgstr "" @@ -212427,6 +217578,10 @@ msgstr "" msgid "Casting Cost (impeded)" msgstr "" +#: src/magic.cpp +msgid "Not Enough Energy" +msgstr "" + #: src/magic.cpp msgid "Casting Time" msgstr "" @@ -212495,18 +217650,22 @@ msgstr "" msgid "Damage Type" msgstr "" +#. ~ translation should not exceed 10 console cells #: src/magic.cpp msgid "Stat Gain" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "lvl 0" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "per lvl" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "max lvl" msgstr "" @@ -212560,8 +217719,8 @@ msgid "Choose Translocator Gate" msgstr "" #: src/main.cpp -msgid "Really Quit? All unsaved changes will be lost." -msgstr "Wirklich beenden? Alle nicht gespeicherten Änderungen gehen verloren!" +msgid "Really Quit? All unsaved changes will be lost." +msgstr "" #: src/main_menu.cpp msgid "Bugs? Suggestions? Use links in MOTD to report them." @@ -212680,28 +217839,24 @@ msgid "olors" msgstr "arben" #: src/main_menu.cpp -msgid "Unable to make config directory. Check permissions." +msgid "Unable to make config directory. Check permissions." +msgstr "" + +#: src/main_menu.cpp +msgid "Unable to make save directory. Check permissions." msgstr "" -"Das Konfigurationsverzeichnis konnte nicht angelegt werden. Bitte überprüfe " -"die Berechtigungen." #: src/main_menu.cpp -msgid "Unable to make save directory. Check permissions." +msgid "Unable to make templates directory. Check permissions." msgstr "" -"Das Speicherverzeichnis konnte nicht angelegt werden. Bitte überprüfe die " -"Berechtigungen." #: src/main_menu.cpp -msgid "Unable to make templates directory. Check permissions." +msgid "Unable to make sound directory. Check permissions." msgstr "" -"Das Vorlagenverzeichnis konnte nicht erstellt werden. Überprüf die " -"Berechtigungen." #: src/main_menu.cpp -msgid "Unable to make sound directory. Check permissions." +msgid "Unable to make graphics directory. Check permissions." msgstr "" -"Das Soundverzeichnis konnte nicht angelegt werden. Bitte überprüfe die " -"Berechtigungen." #: src/main_menu.cpp msgid "Really quit?" @@ -212728,8 +217883,8 @@ msgstr "ufällig" #: src/main_menu.cpp msgctxt "Main Menu|New Game" -msgid "Play Now! (ixed Scenario)" -msgstr "Jetzt spielen! (estes Szenario)" +msgid "Play Now! (ixed Scenario)" +msgstr "" #: src/main_menu.cpp msgctxt "Main Menu|New Game" @@ -212777,6 +217932,12 @@ msgstr "Nur der Administrator kann Welten verändern." msgid "Create World" msgstr "Welt erstellen" +#. ~ %1$s: vehicle name +#: src/map.cpp +#, c-format +msgid "weight of %1$s" +msgstr "" + #: src/map.cpp #, c-format msgid "The %1$s's %2$s collides with %3$s's %4$s." @@ -212838,6 +217999,17 @@ msgstr "Fallende %s treffen dich!" msgid "Falling %s hits " msgstr "Fallende %s treffen !" +#: src/map.cpp +#, c-format +msgid "The %s damages several items!" +msgstr "" + +#. ~ %1$s: the cause of damage, %2$s: damaged item name +#: src/map.cpp +#, c-format +msgid "The %1$s damages the %2$s!" +msgstr "" + #: src/map.cpp msgid "an alarm go off!" msgstr "einen Alarm ertönen!" @@ -212854,18 +218026,34 @@ msgstr "Du wirst von den fallenden Trümmern getroffen!" msgid " is crushed by the falling debris!" msgstr " wird von den fallenden Trümmern getroffen!" -#: src/map.cpp -msgid "The shot is stopped by the reinforced glass wall!" -msgstr "Der Schuss wird vom Panzerglas aufgehalten." - #: src/map.cpp msgid "The shot is stopped by the reinforced glass door!" msgstr "Der Schuss wird von der Panzerglastür aufgehalten." +#: src/map.cpp +msgid "The shot is stopped by the reinforced glass wall!" +msgstr "Der Schuss wird vom Panzerglas aufgehalten." + #: src/map.cpp msgid "ke-rash!" msgstr "»Schepper!«" +#: src/map.cpp +msgid "laser beam" +msgstr "" + +#: src/map.cpp +msgid "bolt of electricity" +msgstr "" + +#: src/map.cpp +msgid "bolt of plasma" +msgstr "" + +#: src/map.cpp +msgid "flying projectile" +msgstr "" + #: src/map.cpp msgid "The metal bars melt!" msgstr "Die Metallstäbe schmelzen!" @@ -212927,8 +218115,8 @@ msgid "Something has crawled out of the %s!" msgstr "Etwas krabbelte aus %s!" #: src/map_extras.cpp -msgid "DANGER! MINEFIELD!" -msgstr "ACHTUNG! MINENFELD!" +msgid "DANGER! MINEFIELD!" +msgstr "" #: src/map_field.cpp #, c-format @@ -212978,8 +218166,8 @@ msgid "The sap sticks to !" msgstr "Der Saft klebt an !" #: src/map_field.cpp -msgid "The sludge is thick and sticky. You struggle to pull free." -msgstr "Der Schlamm ist dick und klebrig. Du versuchst, dich freizukämpfen." +msgid "The sludge is thick and sticky. You struggle to pull free." +msgstr "" #: src/map_field.cpp msgid "You burn your legs and feet!" @@ -213368,21 +218556,33 @@ msgstr "" #: src/martialarts.cpp #, c-format -msgid "The %s is not a valid %s weapon." +msgid "The %1$s is not a valid %2$s weapon." msgstr "" #: src/martialarts.cpp -#, c-format -msgid "Type: %s" -msgstr "Art: %s" +msgid "Block Counter" +msgstr "" #: src/martialarts.cpp -msgid "defensive" -msgstr "defensiv" +msgid "Dodge Counter" +msgstr "" #: src/martialarts.cpp -msgid "offensive" -msgstr "offensiv" +msgid "Miss Recovery" +msgstr "" + +#: src/martialarts.cpp +msgid "Defensive" +msgstr "" + +#: src/martialarts.cpp +msgid "Offensive" +msgstr "" + +#: src/martialarts.cpp +#, c-format +msgid "Type: %s" +msgstr "Art: %s" #: src/martialarts.cpp msgid "Bonus: " @@ -213497,6 +218697,11 @@ msgstr "* Betäubt das Ziel für %d %s" msgid "* Will disarm the target" msgstr "* Wird das Ziel entwaffnen" +#: src/martialarts.cpp +msgid "" +"* Will disarm the target and take their weapon" +msgstr "" + #: src/martialarts.cpp msgid "" "This style forces you to use unarmed strikes, even if wielding a " @@ -213649,8 +218854,8 @@ msgstr[1] "In deine Richtung macht %s %d genervt klingende Warnpiepser." #. ~ There will be a 120mm HEAT shell sent at high speed to your location next #. turn. #: src/mattack_actors.cpp src/monattack.cpp -msgid "You're not sure why you've got a laser dot on you..." -msgstr "Du bist dir nicht sicher, wieso ein Laserpunkt auf dir ist …" +msgid "You're not sure why you've got a laser dot on you…" +msgstr "" #: src/mattack_actors.cpp src/monattack.cpp msgid "The " @@ -213748,6 +218953,20 @@ msgstr "Du triffst etwas." msgid "You swing at the air." msgstr "Du schwingst in der Luft herum." +#: src/melee.cpp +msgid " disarms you and takes your weapon!" +msgstr "" + +#: src/melee.cpp +#, c-format +msgid "You disarm %s and take their weapon!" +msgstr "" + +#: src/melee.cpp +#, c-format +msgid " disarms %s and takes their weapon!" +msgstr "" + #: src/melee.cpp msgid " disarms you!" msgstr " entwaffnet dich!" @@ -213769,12 +218988,6 @@ msgid_plural "%d enemies hit!" msgstr[0] "%d Feind getroffen!" msgstr[1] "%d Feinde getroffen!" -#: src/melee.cpp -#, c-format -msgid "You have learned %s from extensive practice with the CQB Bionic." -msgstr "" -"Aufgrund der ausdauernden Übung mit der Nahkampfbionik hast du %s erlernt." - #. ~ Adjective in "You block of the damage with your . #: src/melee.cpp msgid "all" @@ -213815,6 +219028,10 @@ msgstr "Du blockst %1$s mit %2$s!" msgid " blocks %1$s of the damage with their %2$s!" msgstr " blockt %1$s mit %2$s ab!" +#: src/melee.cpp src/player.cpp +msgid "You try to counterattack but you are too exhausted!" +msgstr "" + #: src/melee.cpp #, c-format msgid "You poison %s!" @@ -214096,8 +219313,8 @@ msgstr "%s. Kritisch!" #. ~ someone hits something for %d damage (critical) #: src/melee.cpp #, c-format -msgid "%s for %d damage. Critical!" -msgstr "%s für %d Schaden. Kritisch!" +msgid "%s for %d damage. Critical!" +msgstr "" #. ~ NPC hits something #: src/melee.cpp @@ -215446,20 +220663,12 @@ msgstr "< Drücke %s zum Filtern, %s zum Zurücksetzen >" #: src/messages.cpp #, c-format msgid "" -"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" +"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" "Examples:\n" " good:mutation\n" " :you pick up: 1\n" " crash!\n" msgstr "" -"Format: »TYP:SUCHTEXT«.\n" -"Mögliche TYP-Werte: %s\n" -" \n" -"Beispiele:\n" -" Gut:Mutation\n" -" Du nimmst: 1\n" -" Warnung:\n" -" \n" #. ~ the 2nd %s is a type name, this is used to format a list of type names #: src/messages.cpp @@ -215505,14 +220714,9 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Assigning one of your allies to patrol the surrounding wilderness and isolated buildings presents the opportunity to build survival skills while engaging in relatively safe combat against isolated creatures." msgstr "" -"Profit: 25-500 $\n" -"Gefahr: Niedrig\n" -"Dauer: 10 stündige Missionen\n" -"\n" -"Indem du einen deiner Verbündeten die Aufgabe erteilst, die Wildnis und isolierte Gebäude zu patroullieren, eröffnest ihm die Möglichkeit, sich Überlebensfähigkeiten anzueignen, während er sich in relativ sicheren Kämpfen gegen isolierte Kreaturen behauptet." #: src/mission_companion.cpp msgid "Assign Scavenging Patrol" @@ -215523,18 +220727,13 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Patrol Roster:\n" msgstr "" -"Profit: 25-500 $\n" -"Gefahr: Niedrig\n" -"Dauer: 10 stündige Missionen\n" -"\n" -"Patrouillenliste:\n" #: src/mission_companion.cpp -msgid " hours] \n" -msgstr " Stunden] \n" +msgid " hours]\n" +msgstr "" #: src/mission_companion.cpp msgid "Retrieve Scavenging Patrol" @@ -215545,14 +220744,9 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Scavenging raids target formerly populated areas to loot as many valuable items as possible before being surrounded by the undead. Combat is to be expected and assistance from the rest of the party can't be guaranteed. The rewards are greater and there is a chance of the companion bringing back items." msgstr "" -"Profit: 200-1000 $\n" -"Gefahr: Mittel\n" -"Dauer: 10 stündige Missionen\n" -" \n" -"Plündermissionen zielen auf ehemals bewohnte Gebiete, um so viele wertvolle Gegenstände wie möglich zu ergattern, bevor man von den Untoten umzingelt ist. Mit Kämpfen ist zu rechnen und eine Unterstützung vom Rest der Gruppe kann nicht gewährleistet werden. Die Belohnungen sind größer und es gibt eine Channce, dass der Begleiter Gegenstände mitbringt." #: src/mission_companion.cpp msgid "Assign Scavenging Raid" @@ -215563,14 +220757,9 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Raid Roster:\n" msgstr "" -"Profit: 25-500 $\n" -"Gefahr: Mittel\n" -"Dauer: 10 stündige Missionen\n" -"\n" -"Plündererliste:\n" #: src/mission_companion.cpp msgid "Retrieve Scavenging Raid" @@ -215585,9 +220774,9 @@ msgid "" "Profit: $8/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Assigning one of your allies to menial labor is a safe way to teach them basic skills and build reputation with the outpost. Don't expect much of a reward though.\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" @@ -215600,14 +220789,9 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Carpentry work requires more skill than menial labor while offering modestly improved pay. It is unlikely that your companions will face combat but there are hazards working on makeshift buildings." msgstr "" -"Profit: 12 $/Stunde\n" -"Gefahr: Minimal\n" -"Dauer: Mindestens 1 Stunde\n" -"\n" -"Das Zimmerhandwerk erfordert mehr Fertigkeiten als niedere Arbeiten und bietet eine mittelmäßig verbesserte Bezahlung. Es ist unwahrscheinlich, dass deine Begleiter in Kämpfe verwickelt werden, aber es gibt Gefahren, an selbstgebauten Gebäuen zu arbeiten." #: src/mission_companion.cpp msgid "Assign Ally to Carpentry Work" @@ -215618,14 +220802,9 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -"Profit: 12 $/Stunde\n" -"Gefahr: Minimal\n" -"Dauer: Mindestens 1 Stunde\n" -" \n" -"Arbeitsliste:\n" #: src/mission_companion.cpp msgid "Recover Ally from Carpentry Work" @@ -215634,8 +220813,8 @@ msgstr "Verbindeten von Zimmerhandwerk zurückrufen" #: src/mission_companion.cpp msgid "" "Cost: $1000\n" -" \n" -" \n" +"\n" +"\n" " .........\n" " .........\n" " .........\n" @@ -215645,23 +220824,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" -"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours... after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." +"\n" +"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours… after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." msgstr "" -"Kosten: 1000 $\n" -" \n" -" \n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"Wir sind bereit, dich ein Feld mit einem großzügigen Rabatt kaufen zu lassen, um es für deine eigenen landwirtschaftlichen Unternehmungen zu verwenden. Wir werden es für dich bestellen, damit du genau weißt, was dir gehört. Nachdem du ein Feld hast, kannst du Arbeiter anheuern, um für dich Nutzpflanzen einzupflanzen oder zu ernten. Wenn die Nutzpflanze etwas ist, für das wir eine Nachfrage haben, werden wir willens sein, sie zu liquidieren." #: src/mission_companion.cpp msgid "Purchase East Field" @@ -215670,7 +220835,7 @@ msgstr "Ostfeld kaufen" #: src/mission_companion.cpp msgid "" "Cost: $5500\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -215681,23 +220846,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "Protecting your field with a sturdy picket fence will keep most wildlife from nibbling your crops apart. You can expect yields to increase." msgstr "" -"Kosten: 5500 $\n" -" \n" -"\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"Indem du dein Feld mit einem stabilen Lattenzaun schützt, werden die meisten Wildtiere davon abgehalten, deine Nutzpflanzen abzuknabbern. Du kannst damit rechnen, dass dein Ertrag steigen wird." #: src/mission_companion.cpp msgid "Upgrade East Field I" @@ -215706,7 +220857,7 @@ msgstr "Ostfeld I aufwerten" #: src/mission_companion.cpp msgid "" "Cost: $3.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -215717,23 +220868,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "We'll plant the field with your choice of crop if you are willing to finance it. When the crop is ready to harvest you can have us liquidate it or harvest it for you." msgstr "" -"Kosten: 3 $ / Grundstück\n" -" \n" -"\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"Wir werden das Feld deiner Wahl mit einer von dir gewählten Nutzpflanze bepflanzen, wenn du bereit bist, das zu finanzieren. Sobald die Nutzpflanze erntereif ist, kannst du sie uns entweder liquidieren oder für dich ernten lassen." #: src/mission_companion.cpp msgid "Plant East Field" @@ -215742,7 +220879,7 @@ msgstr "Ostfeld bepflanzen" #: src/mission_companion.cpp msgid "" "Cost: $2.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -215753,23 +220890,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "You can either have us liquidate the crop and give you the cash or pay us to harvest it for you." msgstr "" -"Kosten: 2 $ / Grundstück\n" -" \n" -"\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"Du kannst uns entweder die Nutzpflanze liquidieren lassen, wofür wir dir dann Geld geben, oder du kannst uns bezahlen, um sie für dich zu abzuernten." #: src/mission_companion.cpp msgid "Harvest East Field" @@ -215780,14 +220903,9 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Foraging for food involves dispatching a companion to search the surrounding wilderness for wild edibles. Combat will be avoided but encounters with wild animals are to be expected. The low pay is supplemented with the odd item as a reward for particularly large hauls." msgstr "" -"Profit: 10 $/Stunde\n" -"Gefahr: Niedrig\n" -"Dauer: Mindestens 4 Stunden\n" -"\n" -"Die Nahrungssuche involviert die Versendung eines Begleiters, um die umgebende Wildnis nach wilder Nahrung abzusuchen. Kämpfen wird ausgewichen, aber mit Begegnungen mit wilden Tieren ist zu rechnen. Die niedrige Bezahlung wird durch den seltsamen Gegenstand ergänzt, den es als Belohnung für eine besonders große Ausbeute gibt." #: src/mission_companion.cpp msgid "Assign Ally to Forage for Food" @@ -215798,14 +220916,9 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -"Profit: 10 $/Stunde\n" -"Gefahr: Niedrig\n" -"Dauer: Mindestens 4 Stunden\n" -" \n" -"Arbeitsliste:\n" #: src/mission_companion.cpp msgid "Recover Ally from Foraging" @@ -215816,18 +220929,11 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" +"\n" "Adding companions to the caravan team increases the likelihood of success. By nature, caravans are extremely tempting targets for raiders or hostile groups so only a strong party is recommended. The rewards are significant for those participating but are even more important for the factions that profit.\n" -" \n" +"\n" "The commune is sending food to the Free Merchants in the Refugee Center as part of a tax and in exchange for skilled labor." msgstr "" -"Profit: 18 $/Stunde\n" -"Gefahr: Hoch\n" -"Dauer: UNBEKANNT\n" -"\n" -"Die Erfolgschancen erhöhen sich, wenn du Begleiter dem Karawanenteam hinzufügst. Natürlich sind Karawanen extrem verlockende Ziele für Plünderer oder feindliche Gruppen, also wird nur eine starke Gruppe empfohlen. Die Belohnungen sind groß für die Teilnehmer, aber noch wichtiger sind sie für die Fraktionen, die davon profitieren.\n" -"\n" -"Die Kommune sendet Lebensmittel zu den Freien Händlern im Flüchtlingslager als Teil einer Steuer und im Austausch für Facharbeit." #: src/mission_companion.cpp msgid "Caravan Commune-Refugee Center" @@ -215838,38 +220944,29 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" -" \n" +"\n" +"\n" "Roster:\n" msgstr "" -"Profit: 18 $/Stunde\n" -"Gefahr: Hoch\n" -"Dauer: UNBEKANNT\n" -" \n" -" \n" -"Teilnehmerliste:\n" #: src/mission_companion.cpp -msgid " [READY] \n" -msgstr " [BEREIT] \n" +msgid " [READY]\n" +msgstr "" #: src/mission_companion.cpp -msgid " [COMPLETE] \n" -msgstr " [FERTIG] \n" +msgid " [COMPLETE]\n" +msgstr "" #: src/mission_companion.cpp -msgid " Hours] \n" -msgstr " Stunden] \n" +msgid " Hours]\n" +msgstr "" #: src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "The caravan will contain two or three additional members from the commune, are you ready to depart?" msgstr "" -"\n" -" \n" -"Die Karawane wird zwei oder drei zusätzliche Mitglieder der Kommune enthalten, bist du bereit für die Abreise?" #: src/mission_companion.cpp msgid "Begin Commune-Refugee Center Run" @@ -215880,39 +220977,37 @@ msgid "Recover Commune-Refugee Center" msgstr "Kommune-Flüchtlingslager-Karawane zurückrufen" #: src/mission_companion.cpp -msgid "There are no missions at this colony. Press Spacebar..." -msgstr "Es gibt keine Missionen in dieser Kolonie. Drücke die Leertaste …" +msgid "There are no missions at this colony. Press Spacebar…" +msgstr "" #: src/mission_companion.cpp -msgid "joins the caravan team..." -msgstr "tritt dem Karawanen-Team bei." +msgid "joins the caravan team…" +msgstr "" #: src/mission_companion.cpp -msgid "departs on the scavenging patrol..." -msgstr "reist für die Sammelpatroille ab …" +msgid "departs on the scavenging patrol…" +msgstr "" #: src/mission_companion.cpp -msgid "departs on the scavenging raid..." -msgstr "reist für die Plündermission ab …" +msgid "departs on the scavenging raid…" +msgstr "" #: src/mission_companion.cpp -msgid "departs to work as a laborer..." -msgstr "geht weg, um als Arbeiter zu arbeiten …" +msgid "departs to work as a laborer…" +msgstr "" #: src/mission_companion.cpp -msgid "departs to work as a carpenter..." -msgstr "geht, um als Schreiner zu arbeiten …" +msgid "departs to work as a carpenter…" +msgstr "" #: src/mission_companion.cpp -msgid "departs to forage for food..." -msgstr "reist ab, um Nahrung zu sammeln …" +msgid "departs to forage for food…" +msgstr "" #: src/mission_companion.cpp #, c-format -msgid "The caravan departs with an estimated total travel time of %d hours..." +msgid "The caravan departs with an estimated total travel time of %d hours…" msgstr "" -"Die Karawane reist ab mit einer geschätzten gesamten Reisezeit von %d " -"Stunden …" #: src/mission_companion.cpp #, c-format @@ -215938,10 +221033,8 @@ msgstr "" "Die Karawanengruppe ist zurückgekehrt. Dein Anteil am Profit ist %d $!" #: src/mission_companion.cpp -msgid "The caravan was a disaster and your companions never made it home..." +msgid "The caravan was a disaster and your companions never made it home…" msgstr "" -"Die Karawane war ein Desaster und deine Begleiter hatten es nie nach Hause " -"geschafft …" #: src/mission_companion.cpp #, c-format @@ -215970,23 +221063,20 @@ msgstr "" #, c-format msgid "" "After counting your money %s directs a nearby laborer to begin constructing " -"a fence around your plot..." +"a fence around your plot…" msgstr "" -"%s hat dein Geld gezählt und weist einen Arbeiter in der Nähe dazu an, mit " -"dem Bau eines Zauns um dein Grundstück zu beginnen." #: src/mission_companion.cpp msgid "You have no seeds to plant!" msgstr "Du hast keine Samen zum Einpflanzen!" #: src/mission_companion.cpp -msgid "You have no room to plant seeds..." -msgstr "Du hast keinen Platz, um Samen einzupflanzen." +msgid "You have no room to plant seeds…" +msgstr "" #: src/mission_companion.cpp -msgid "I'm sorry, you don't have enough money to plant those seeds..." +msgid "I'm sorry, you don't have enough money to plant those seeds…" msgstr "" -"Es tut mir leid, du hast nicht genügend Geld, um diese Samen einzupflanzen." #: src/mission_companion.cpp #, c-format @@ -216003,21 +221093,21 @@ msgstr "" "Arbeitsgruppe aus, um dein Feld zu bepflanzen." #: src/mission_companion.cpp -msgid "There aren't any plants that are ready to harvest..." -msgstr "Hier gibt es keine erntereife Pflanzen." +msgid "There aren't any plants that are ready to harvest…" +msgstr "" #: src/mission_companion.cpp msgid "Which plants do you want to have harvested?" msgstr "Welche Pflanzen möchtest du geerntet haben?" #: src/mission_companion.cpp -msgid "You decided to hold off for now..." -msgstr "Du hast es dir anders überlegt …" +msgid "You decided to hold off for now…" +msgstr "" #: src/mission_companion.cpp msgid "" "You don't have enough to pay the workers to harvest the crop so you are " -"forced to sell..." +"forced to sell…" msgstr "" #: src/mission_companion.cpp @@ -216027,32 +221117,28 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "The %s are sold for $%d..." +msgid "The %s are sold for $%d…" msgstr "" #: src/mission_companion.cpp #, c-format -msgid "You receive %d %s..." -msgstr "Du erhältst %d %s." +msgid "You receive %d %s…" +msgstr "" #: src/mission_companion.cpp #, c-format msgid "" "While scavenging, %s's party suddenly found itself set upon by a large mob " -"of undead..." +"of undead…" msgstr "" -"Beim Sammeln begegnete die Gruppe von %s plötzlich einem großen Mob von " -"Untoten …" #: src/mission_companion.cpp msgid "Through quick thinking the group was able to evade combat!" msgstr "Mit schnellem Denken konnte die Gruppe dem Kampf ausweichen!" #: src/mission_companion.cpp -msgid "Combat took place in close quarters, focusing on melee skills..." +msgid "Combat took place in close quarters, focusing on melee skills…" msgstr "" -"Der Kampf fand in naher Distanz statt und konzentrierte sich auf die " -"Nahkampffertigkeiten …" #: src/mission_companion.cpp #, c-format @@ -216061,16 +221147,13 @@ msgstr "" "Mit roher Gewalt schlug sich die Gruppe durch die Gruppe aus %d Untoten!" #: src/mission_companion.cpp -msgid "Unfortunately they were overpowered by the undead... I'm sorry." -msgstr "Leider waren sie den Untoten unterlegen. Es tut mir leid." +msgid "Unfortunately they were overpowered by the undead… I'm sorry." +msgstr "" #: src/mission_companion.cpp #, c-format -msgid "" -"%s returns from patrol having earned $%d and a fair bit of experience..." +msgid "%s returns from patrol having earned $%d and a fair bit of experience…" msgstr "" -"%s kehrt von der Patrouille zurück, hat %d $ verdient sowie einiges an " -"Erfahrung." #: src/mission_companion.cpp #, c-format @@ -216092,10 +221175,8 @@ msgstr "" #: src/mission_companion.cpp #, c-format msgid "" -"%s returns from the raid having earned $%d and a fair bit of experience..." +"%s returns from the raid having earned $%d and a fair bit of experience…" msgstr "" -"%s kehrt von der Plünderung zurück, hat %d $ verdient sowie einiges an " -"Erfahrung." #: src/mission_companion.cpp #, c-format @@ -216106,10 +221187,8 @@ msgstr "%s kehrte mit etwas für dich zurück: %s." #, c-format msgid "" "%s returns from working as a laborer having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" -"%s kehrt von der Arbeit zurück, hat %d $ verdient sowie ein bisschen " -"Erfahrung." #: src/mission_companion.cpp #, c-format @@ -216122,9 +221201,8 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "While %s was framing a building one of the walls began to collapse..." +msgid "While %s was framing a building one of the walls began to collapse…" msgstr "" -"Als %s das Gebäudegerüst aufbaute, begann eine der Wände damit, umzufallen …" #: src/mission_companion.cpp #, c-format @@ -216140,8 +221218,8 @@ msgstr "%s schnellte aus einem Fenster und floh vor dem Zusammensturz." #: src/mission_companion.cpp #, c-format -msgid "%s didn't make it out in time..." -msgstr "%s hat es nicht rechtzeitig nach draußen geschafft …" +msgid "%s didn't make it out in time…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -216150,8 +221228,8 @@ msgstr "" "aber %s wurde von den Trümmern mit geringfügigen Verletzungen gerettet!" #: src/mission_companion.cpp -msgid "Everyone who was trapped under the collapsing roof died..." -msgstr "Jeder, der unter dem einstürzendem Dach stand, ist gestorben." +msgid "Everyone who was trapped under the collapsing roof died…" +msgstr "" #: src/mission_companion.cpp msgid "I'm sorry, there is nothing we could do." @@ -216161,15 +221239,13 @@ msgstr "Es tut mir leid, wir konnten nichts tun." #, c-format msgid "" "%s returns from working as a carpenter having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" -"%s kehrt von der Arbeit als Schreiner zurück, hat %d $ verdient sowie ein " -"bisschen Erfahrung." #: src/mission_companion.cpp #, c-format -msgid "While foraging, a beast began to stalk %s..." -msgstr "Bei der Nahrungssuche fing ein Biest an, %s aufzulauern …" +msgid "While foraging, a beast began to stalk %s…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -216206,21 +221282,19 @@ msgstr "%s schlägt den Puma zu einem blutigen Brei!" #, c-format msgid "" "%s was able to hold off the first wolf but the others that were skulking in " -"the tree line caught up..." +"the tree line caught up…" msgstr "" #: src/mission_companion.cpp -msgid "I'm sorry, there wasn't anything we could do..." -msgstr "Es tut mir leid, es gab nichts, das wir tun konnten." +msgid "I'm sorry, there wasn't anything we could do…" +msgstr "" #: src/mission_companion.cpp #, c-format msgid "" -"We... we don't know what exactly happened but we found %s's gear ripped and " -"bloody..." +"We… we don't know what exactly happened but we found %s's gear ripped and " +"bloody…" msgstr "" -"Wir … wir wissen nicht genau, was passiert ist, aber wir haben die " -"Ausrüstung von %s zerrissen und blutig vorgefunden." #: src/mission_companion.cpp msgid "I fear your companion won't be returning." @@ -216230,10 +221304,8 @@ msgstr "Ich fürchte, dein Begleiter wird nicht zurückkehren." #, c-format msgid "" "%s returns from working as a forager having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" -"%s kehrt von der Arbeit als Sammler zurück, hat %d $ verdient sowie ein " -"bisschen Erfahrung." #: src/mission_companion.cpp #, c-format @@ -216265,33 +221337,59 @@ msgstr "" "Kampf zwischen %d Mitgliedern von %s %s und %d Mitgliedern von %s %s%s!" #: src/mission_companion.cpp -msgid "You don't have any companions to send out..." -msgstr "Du hast niemanden, den du losschicken könntest …" +msgid "You don't have any companions to send out…" +msgstr "" #: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" -msgstr "Wen möchtest du entsenden? [ KAMPF : ÜBERLEBEN: INDUSTRIE]" +msgid "Who do you want to send?" +msgstr "Wen möchtest du losschicken?" #: src/mission_companion.cpp -msgid "You choose to send no one..." -msgstr "Du entscheidest dich, niemanden zu entsenden …" +msgid "[ COMBAT : SURVIVAL : INDUSTRY ]" +msgstr "" +#. ~ %1$s: npc name #: src/mission_companion.cpp -msgid "The companion you selected doesn't have the skills!" -msgstr "Der Begleiter, den du ausgewählt hast, hat nicht die Fertigkeiten!" +#, c-format +msgctxt "companion" +msgid "%1$s (Guarding)" +msgstr "" + +#: src/mission_companion.cpp +#, c-format +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" +msgstr "" +#. ~ %1$s: skill name, %2$d: companion skill level #: src/mission_companion.cpp -msgid "You don't have any companions ready to return..." -msgstr "Du hast keine Begleiter, die bereit zum Zurückkehren sind …" +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d" +msgstr "" + +#. ~ %1$s: skill name, %2$d: companion skill level, %3$d: skill requirement +#: src/mission_companion.cpp +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d/%3$d" +msgstr "" + +#: src/mission_companion.cpp +msgid "You choose to send no one…" +msgstr "" + +#: src/mission_companion.cpp +msgid "You don't have any companions ready to return…" +msgstr "" #: src/mission_companion.cpp msgid "Who should return?" msgstr "Wer sollte zurückkehren?" #: src/mission_companion.cpp -msgid "No one returns to your party..." -msgstr "Niemand kehrt zu deiner Gruppe zurück." +msgid "No one returns to your party…" +msgstr "" #: src/mission_end.cpp #, c-format @@ -216322,21 +221420,17 @@ msgid "Download Software" msgstr "Software herunterladen" #: src/mission_start.cpp -msgid "You don't know where the address could be..." -msgstr "Du weißt nicht, wo die Adresse sein könnte." +msgid "You don't know where the address could be…" +msgstr "" #: src/mission_start.cpp -msgid "You mark the refugee center and the road that leads to it..." +msgid "You mark the refugee center and the road that leads to it…" msgstr "" -"Du markierst das Flüchtlingslager und die Straße, die dort hinführt, ein." #: src/mission_start.cpp msgid "" -"You mark the refugee center, but you have no idea how to get there by " -"road..." +"You mark the refugee center, but you have no idea how to get there by road…" msgstr "" -"Du markierst das Flüchtlingslager, aber du hast keine Ahnung, wie du auf der" -" Straße dort hin kommst." #: src/mission_start.cpp msgid "Workstation" @@ -216412,8 +221506,8 @@ msgstr "Dir ist keine Mission missglückt!" #: src/mission_util.cpp #, c-format -msgid "%s also marks the road that leads to it..." -msgstr "%s zeichnet außerdem die Straße zum Ziel ein …" +msgid "%s also marks the road that leads to it…" +msgstr "" #: src/mission_util.cpp #, c-format @@ -216805,14 +221899,6 @@ msgstr "»Klopf-KLOPF.«" msgid "The root walls creak around you." msgstr "Die Wurzelwände um dich herum knarren." -#. ~ the sound of a fungus releasing spores -#. ~ That spore sound again -#. ~ the sound of a fungus dying -#. ~spore-release sound -#: src/monattack.cpp src/mondeath.cpp src/player.cpp -msgid "Pouf!" -msgstr "»Puff!«" - #: src/monattack.cpp #, c-format msgid "Spores are released from the %s!" @@ -216864,8 +221950,8 @@ msgstr "%s pulsiert und frisches Fungusmaterial platzt hinaus!" #: src/monattack.cpp #, c-format -msgid "The %s seems to wave you toward the tower..." -msgstr "%s scheint dich zum Turm zu wehen …" +msgid "The %s seems to wave you toward the tower…" +msgstr "" #: src/monattack.cpp #, c-format @@ -216879,8 +221965,8 @@ msgid "The %1$s sinks its point into your %2$s!" msgstr "Das %1$s sticht dich mit der Spitze in dein %2$s!" #: src/monattack.cpp -msgid "You feel thousands of live spores pumping into you..." -msgstr "Du spürst, wie tausende lebendige Sporen in dir eindringen…" +msgid "You feel thousands of live spores pumping into you…" +msgstr "" #. ~ 1$s is monster name, 2$s bodypart in accusative #: src/monattack.cpp @@ -216917,8 +222003,8 @@ msgstr "Du wirst von einer wachsenen Funguswand weggestoßen." #: src/monattack.cpp #, c-format -msgid "The %s spreads its tendrils. It seems as though it's expecting you..." -msgstr "%s breitet die Ranken aus. Es scheint so, als würde es dich erwarten…" +msgid "The %s spreads its tendrils. It seems as though it's expecting you…" +msgstr "" #: src/monattack.cpp msgid "" @@ -216930,10 +222016,8 @@ msgstr "" #: src/monattack.cpp #, c-format msgid "" -"The %s works several tendrils into your arms, legs, torso, and even neck..." +"The %s works several tendrils into your arms, legs, torso, and even neck…" msgstr "" -"%s verarbeitet verschiedene Ranken in deine Arme, Beine, deinen Torso und " -"sogar deinen Hals …" #: src/monattack.cpp msgid "" @@ -216956,11 +222040,9 @@ msgstr "Wurde zur Marlosspforte geführt." #. ~ Beginning to hear the Mycus while conscious: this is it speaking #: src/monattack.cpp msgid "" -"assistance, on an arduous quest. unity. together we have reached the door. " -"now to pass through..." +"assistance, on an arduous quest. unity. together we have reached the door." +" now to pass through…" msgstr "" -"begleitung, bei einer mühsamen mission. einigkeit. gemeinsam haben wir die " -"pforte erreicht. jetzt muss sie nur noch durchschritten werden …" #: src/monattack.cpp msgid "You're shoved away as a fungal hedgerow grows!" @@ -216982,8 +222064,8 @@ msgid "The %s takes aim, and spears at you with a massive tendril!" msgstr "%s zielt und spießt dich mit einer gewaltigen Ranke auf!" #: src/monattack.cpp -msgid "You feel millions of live spores pumping into you..." -msgstr "Du spürst, wie Millionen lebendiger Sporen in dir eindringen…" +msgid "You feel millions of live spores pumping into you…" +msgstr "" #: src/monattack.cpp #, c-format @@ -217142,7 +222224,7 @@ msgstr "%s versucht, dich ebenfalls zu greifen, aber du schlägst es weg!" #: src/monattack.cpp #, c-format -msgid "The %s tries to grab you..." +msgid "The %s tries to grab you…" msgstr "" #: src/monattack.cpp @@ -217196,6 +222278,10 @@ msgstr "Du spürst Gift in deinem Körper eindringen." msgid "The %s young triffid grows into an adult!" msgstr "Der %s junge Triffide wird erwachsen!" +#: src/monattack.cpp +msgid "You feel a strange reverberation accross your body." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s stares at you, and you shudder." @@ -217293,14 +222379,12 @@ msgstr "" "zuzusehen." #: src/monattack.cpp -msgid "Probably some now-obsolete Internal Affairs subroutine..." +msgid "Probably some now-obsolete Internal Affairs subroutine…" msgstr "" -"Wahrscheinlich irgendeine mittlerweile obsolete Subroutine der inneren " -"Angelegenheiten …" #: src/monattack.cpp -msgid "Ops used to do that in case you needed backup..." -msgstr "Das wurde damals getan, für den Fall, dass du Verstärkung brauchst …" +msgid "Ops used to do that in case you needed backup…" +msgstr "" #: src/monattack.cpp #, c-format @@ -217338,7 +222422,7 @@ msgid "The %s takes your picture!" msgstr "%s macht ein Bild von dir!" #: src/monattack.cpp -msgid "... database connection lost!" +msgid "…database connection lost!" msgstr "" #: src/monattack.cpp @@ -217398,8 +222482,8 @@ msgstr "" #. ~ Potential grenading detected. #: src/monattack.cpp -msgid "Those laser dots don't seem very friendly..." -msgstr "Diese Laserpunkte scheinen nicht sehr freundlich zu sein …" +msgid "Those laser dots don't seem very friendly…" +msgstr "" #: src/monattack.cpp msgid "Targeting." @@ -217447,24 +222531,24 @@ msgid "a police siren, whoop WHOOP" msgstr "eine Polizeisirene: »Tatü-Tata!«." #: src/monattack.cpp -msgid "\"YOU... ARE FILTH...\"" -msgstr "»DU … BIST DRECK …«" +msgid "\"YOU… ARE FILTH…\"" +msgstr "" #: src/monattack.cpp -msgid "\"VERMIN... YOU ARE VERMIN...\"" -msgstr "»UNGEZIEFER … DU BIST UNGEZIEFER …«" +msgid "\"VERMIN… YOU ARE VERMIN…\"" +msgstr "" #: src/monattack.cpp -msgid "\"LEAVE NOW...\"" -msgstr "»HINFORT!«" +msgid "\"LEAVE NOW…\"" +msgstr "" #: src/monattack.cpp -msgid "\"WE... WILL FEAST... UPON YOU...\"" -msgstr "»WIR … WERDEN UNS AN DIR … ERGÖTZEN …«" +msgid "\"WE… WILL FEAST… UPON YOU…\"" +msgstr "" #: src/monattack.cpp -msgid "\"FOUL INTERLOPER...\"" -msgstr "»VERDORBENER EINDRINGLING …«" +msgid "\"FOUL INTERLOPER…\"" +msgstr "" #. ~ %1$s is the name of the zombie upgrading the other, %2$s is the zombie #. being upgraded. @@ -217673,15 +222757,13 @@ msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s slashes at your neck! You duck!" -msgstr "%s schlitzt nach deinem Hals! Du duckst dich!" +msgid "The %s slashes at your neck! You duck!" +msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s slashes at 's neck! They duck!" +msgid "The %s slashes at 's neck! They duck!" msgstr "" -"%s versucht, den Hals von zu schlitzen, aber es geht daneben, dank" -" eines Duckmanövers." #: src/monattack.cpp #, c-format @@ -217787,8 +222869,8 @@ msgid "but you grab its arm and flip it to the ground!" msgstr "… , aber du greift dessen Arm und schwingst es zu Boden!" #: src/monattack.cpp -msgid "The flip does shock you..." -msgstr "Der Schwung schockt dich …" +msgid "The flip does shock you…" +msgstr "" #: src/monattack.cpp msgid "but you deftly spin out of its grasp!" @@ -217796,10 +222878,8 @@ msgstr "… , aber geschickt drehst du du aus dem Griff heraus!" #: src/monattack.cpp msgid "" -"Halt and submit to arrest, citizen! The police will be here any moment." +"Halt and submit to arrest, citizen! The police will be here any moment." msgstr "" -"»Stehenbleiben! Sie sind verhaftet, Bürger! Die Polizei wird hier jeden " -"Moment sein.«" #: src/monattack.cpp msgid "Please stay in place, citizen, do not make any movements!" @@ -217946,8 +223026,8 @@ msgstr "%1$s wirft %2$s zu Boden!" #. ~ 1$s is bodypart name in accusative, 2$d is damage value. #: src/monattack.cpp #, c-format -msgid "The zombie kicks your %1$s for %2$d damage..." -msgstr "Der Zombie tritt %1$s für %2$d Schaden …" +msgid "The zombie kicks your %1$s for %2$d damage…" +msgstr "" #: src/monattack.cpp #, c-format @@ -218054,6 +223134,11 @@ msgid "The %1$s hits 's %2$s, but glances off armor!" msgstr "" "Der Arm von %1$s trifft %2$s von , prallt aber von der Rüstung ab!" +#: src/monattack.cpp +#, c-format +msgid "The %1$s fuses with the %2$s." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s doots its trumpet!" @@ -218166,8 +223251,8 @@ msgid "The %s melts away." msgstr "%s schmilzt dahin." #: src/mondeath.cpp -msgid "Your obsession with the fault fades away..." -msgstr "Deine Besessenheit von der Bruchlinie schwindet." +msgid "Your obsession with the fault fades away…" +msgstr "" #: src/mondeath.cpp msgid "As the final light is destroyed, it erupts in a blinding flare!" @@ -218263,11 +223348,6 @@ msgstr "Beim Treffer auf %s spritzt Säure hinaus!" msgid "zombie slave" msgstr "Zombiesklave" -#: src/monexamine.cpp src/player.cpp -#, c-format -msgid "What to do with your %s?" -msgstr "Was soll mit %s getan werden?" - #: src/monexamine.cpp #, c-format msgid "Push %s" @@ -218448,22 +223528,23 @@ msgstr "" #: src/monexamine.cpp #, c-format msgid "" -"Welcome to the %s Friendship Interface. What would you like to do?\n" +"Welcome to the %s Friendship Interface. What would you like to do?\n" "Your current friendship will last: %s" msgstr "" #: src/monexamine.cpp -msgid "Get more friendship. 10 cents/min" +msgid "Get more friendship. 10 cents/min" msgstr "" #: src/monexamine.cpp -msgid "Sadly you're not currently able to extend your friendship. - Quit menu" +msgid "" +"Sadly you're not currently able to extend your friendship. - Quit menu" msgstr "" #: src/monexamine.cpp #, c-format -msgid "How much friendship do you get? Max: %d minute. (0 to cancel) " -msgid_plural "How much friendship do you get? Max: %d minutes. " +msgid "How much friendship do you get? Max: %d minute. (0 to cancel)" +msgid_plural "How much friendship do you get? Max: %d minutes." msgstr[0] "" msgstr[1] "" @@ -218519,8 +223600,8 @@ msgstr "Es gibt keinen Behälter auf deinem %s, um Sachen einzulagern!" #: src/monexamine.cpp #, c-format -msgid "%1$s is overburdened. You can't transfer your %2$s." -msgstr "%1$s ist überlastet. Du kannst %2$s nicht transferieren." +msgid "%1$s is overburdened. You can't transfer your %2$s." +msgstr "" #: src/monexamine.cpp #, c-format @@ -218750,6 +223831,16 @@ msgstr "dichte Geleemasse" msgid "wearing %1$s" msgstr "" +#: src/monster.cpp +#, c-format +msgid "The %s" +msgstr "Das %s" + +#: src/monster.cpp +#, c-format +msgid "The %s's" +msgstr "" + #: src/monster.cpp #, c-format msgid "the %s's" @@ -218792,6 +223883,11 @@ msgstr "" msgid "Rider: %s" msgstr "" +#: src/monster.cpp +#, c-format +msgid " It is %s." +msgstr "" + #: src/monster.cpp msgid "Difficulty " msgstr "Schwierigkeitsgrad " @@ -219022,10 +224118,8 @@ msgid "You're envenomed!" msgstr "Du bist vergiftet! (Tiergift)" #: src/monster.cpp -msgid "You feel venom flood your body, wracking you with pain..." +msgid "You feel venom flood your body, wracking you with pain…" msgstr "" -"Du fühlst, wie tierisches Gift deinen Körper überflutet und dich mit " -"Schmerzen überschüttet..." #: src/monster.cpp msgid "You feel venom enter your body!" @@ -219162,6 +224256,14 @@ msgstr "Die Sporen transformieren %1$s in %2$s!" msgid "Total morale:" msgstr "" +#: src/morale.cpp +msgid "Pain level:" +msgstr "" + +#: src/morale.cpp +msgid "Fatigue level:" +msgstr "" + #: src/morale.cpp msgid "Focus trends towards:" msgstr "" @@ -219240,8 +224342,8 @@ msgstr "" #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp -msgid "wow! you look just like me! we should look out for each other!" -msgstr "wow! du sieht genau wie ich aus! wir sollten aufeinander aufpassen!" +msgid "wow! you look just like me! we should look out for each other!" +msgstr "" #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp @@ -219275,10 +224377,8 @@ msgid "Bionic power storage increased by 100." msgstr "Bionikstromkapazität um 100 erhöht." #: src/mutation.cpp -msgid "You feel something straining deep inside you, yearning to be free..." +msgid "You feel something straining deep inside you, yearning to be free…" msgstr "" -"Du fühlst, wie sich etwas tief in dir abplagt, sich danach sehnend, frei zu " -"sein." #: src/mutation.cpp #, c-format @@ -219413,9 +224513,8 @@ msgid "Suffered a toxic marloss/mutagen reaction." msgstr "Erlitt eine giftige Marloss-Mutagen-Reaktion." #: src/mutation.cpp -msgid "Something strains mightily for a moment... and then... you're... FREE!" +msgid "Something strains mightily for a moment… and then… you're… FREE!" msgstr "" -"Etwas spannt sich heftig für einen Moment an. Und dann bist du … FREI!" #: src/mutation.cpp msgid "Your appetite for blood fades." @@ -219432,9 +224531,8 @@ msgid "You stagger with a piercing headache!" msgstr "Du taumelst mit einem stechendem Kopfschmerz!" #: src/mutation.cpp -msgid "Your head throbs with memories of your life, before all this..." +msgid "Your head throbs with memories of your life, before all this…" msgstr "" -"Dein Kopf pocht voller Erinnerungen deines Lebens, bevor all dies passierte." #: src/mutation.cpp msgid "Images of your past life flash before you." @@ -219451,8 +224549,8 @@ msgid "Crossed a threshold" msgstr "Eine Schwelle überschritten" #: src/mutation_data.cpp -msgid "Oh, yeah! That's the stuff!" -msgstr "Oh, ja! Das bringt’s!" +msgid "Oh, yeah! That's the stuff!" +msgstr "" #: src/mutation_ui.cpp msgid "Reassigning." @@ -219537,13 +224635,10 @@ msgstr "%s; gib ein neues Zeichen ein." #: src/mutation_ui.cpp #, c-format msgid "" -"Invalid mutation letter. Only those characters are valid:\n" +"Invalid mutation letter. Only those characters are valid:\n" "\n" "%s" msgstr "" -"Ungültiger Mutationsbuchstabe. Nur diese Zeichen sind erlaubt:\n" -"\n" -"%s" #: src/mutation_ui.cpp #, c-format @@ -219567,7 +224662,7 @@ msgstr "" msgid "Tom" msgstr "Tom" -#. ~ Used for constructing full name: %1$s is `family name`, %2$s is `given +#. ~ Used for constructing full name: %1$s is `given name`, %2$s is `family #. name` #: src/name.cpp #, c-format @@ -219575,8 +224670,8 @@ msgctxt "Full Name" msgid "%1$s %2$s" msgstr "%1$s%2$s" -#. ~ Used for constructing full name with nickname: %1$s is `family name`, -#. %2$s is `given name`, %3$s is `nickname` +#. ~ Used for constructing full name with nickname: %1$s is `given name`, %2$s +#. is `family name`, %3$s is `nickname` #: src/name.cpp #, c-format msgctxt "Full Name" @@ -219603,8 +224698,8 @@ msgstr "Freie Wahl" #: src/newcharacter.cpp src/player.cpp #, c-format -msgid "Select a style. (press %s for more info)" -msgstr "Stil wählen. (%s drücken für mehr Infos)" +msgid "Select a style. (press %s for more info)" +msgstr "" #: src/newcharacter.cpp msgid "Use this style?" @@ -219639,14 +224734,14 @@ msgstr "SZENARIO" msgid "PROFESSION" msgstr "BERUFUNG" -#: src/newcharacter.cpp src/player_display.cpp -msgid "TRAITS" -msgstr "WESENSZÜGE" - #: src/newcharacter.cpp src/player_display.cpp msgid "STATS" msgstr "WERTE" +#: src/newcharacter.cpp src/player_display.cpp +msgid "TRAITS" +msgstr "WESENSZÜGE" + #: src/newcharacter.cpp src/player_display.cpp msgid "SKILLS" msgstr "FERTIGKEITEN" @@ -220056,10 +225151,8 @@ msgstr[1] "Szenario %1$s kostet %2$d Punkte" #: src/newcharacter.cpp msgid "" -"This scenario is not available in this world due to city size settings. " +"This scenario is not available in this world due to city size settings." msgstr "" -"Dieses Szenario ist für diese Welt aufgrund der Stadtgrößeneinstellungen " -"nicht verfügbar." #: src/newcharacter.cpp msgid "Professions:" @@ -220154,10 +225247,6 @@ msgstr "Werte:" msgid "Traits: " msgstr "Wesenszüge: " -#: src/newcharacter.cpp -msgid "(Top 8)" -msgstr "(8 beste)" - #: src/newcharacter.cpp #, c-format msgid "Press %s to finish character creation or %s to go back." @@ -220235,8 +225324,8 @@ msgid "_______NO NAME ENTERED!_______" msgstr "___KEINEN NAMEN EINGEGEBEN!___" #: src/newcharacter.cpp -msgid "Are you SURE you're finished? Your name will be randomly generated." -msgstr "Bisd du SICHER, dass du fertig bist? Dein Name wird zufallsgeneriert." +msgid "Are you SURE you're finished? Your name will be randomly generated." +msgstr "" #: src/newcharacter.cpp src/worldfactory.cpp msgid "Are you SURE you're finished?" @@ -220412,10 +225501,6 @@ msgstr "Verängstigt" msgid "Very afraid" msgstr "Sehr verängstigt" -#: src/npc.cpp -msgid "Terrified" -msgstr "Extrem verängstigt" - #: src/npc.cpp msgid "Fear: " msgstr "Angst: " @@ -220539,11 +225624,7 @@ msgid "NPC Legacy Attitude" msgstr "" #: src/npc.cpp -msgid "Not much" -msgstr "" - -#: src/npc.cpp -msgid "Cooking" +msgid "Cooking and butchering" msgstr "" #: src/npc.cpp @@ -220579,7 +225660,7 @@ msgid "Caring for the livestock" msgstr "" #: src/npc.cpp -msgid "Hunting for meat" +msgid "Hunting and fishing" msgstr "" #: src/npc.cpp @@ -220687,8 +225768,8 @@ msgid "Hold still %s, I'm coming to help you." msgstr "" #: src/npcmove.cpp -msgid "Don't move a muscle..." -msgstr "Beweg keinen Muskel, !" +msgid "Don't move a muscle…" +msgstr "" #: src/npcmove.cpp #, c-format @@ -220787,7 +225868,7 @@ msgstr "%1$s nimmt %2$s von dir." #: src/npcmove.cpp #, c-format msgid "" -"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" +"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" msgstr "" #: src/npcmove.cpp @@ -220797,8 +225878,8 @@ msgstr "%s %s" #: src/npcmove.cpp #, c-format -msgid "My %s wound is infected..." -msgstr "Meine %swunde ist infiziert …" +msgid "My %s wound is infected…" +msgstr "" #: src/npcmove.cpp #, c-format @@ -220810,8 +225891,8 @@ msgid "" msgstr "" #: src/npcmove.cpp -msgid "I'm suffering from radiation sickness..." -msgstr "Ich leide unter einer Strahlenkrankheit." +msgid "I'm suffering from radiation sickness…" +msgstr "" #: src/npcmove.cpp msgid "" @@ -220930,7 +226011,7 @@ msgid "Talk to %s" msgstr "" #: src/npctalk.cpp -msgid "Talk to ..." +msgid "Talk to…" msgstr "" #: src/npctalk.cpp @@ -220955,7 +226036,7 @@ msgid "Tell %s to follow" msgstr "" #: src/npctalk.cpp -msgid "Tell someone to follow..." +msgid "Tell someone to follow…" msgstr "" #: src/npctalk.cpp @@ -220964,7 +226045,7 @@ msgid "Tell %s to guard" msgstr "" #: src/npctalk.cpp -msgid "Tell someone to guard..." +msgid "Tell someone to guard…" msgstr "" #: src/npctalk.cpp @@ -220988,7 +226069,7 @@ msgid "Tell everyone on your team to relax (Clear Overrides)" msgstr "" #: src/npctalk.cpp -msgid "Tell everyone on your team to temporarily..." +msgid "Tell everyone on your team to temporarily…" msgstr "" #: src/npctalk.cpp @@ -221087,10 +226168,8 @@ msgstr "&Du bist taub und kannst nicht sprechen." #: src/npctalk.cpp #, c-format msgid "" -"&You are deaf and can't talk. When you don't respond, %s becomes angry!" +"&You are deaf and can't talk. When you don't respond, %s becomes angry!" msgstr "" -"&Du bist taub und kannst nicht sprechen. Als du nicht antwortest, wird %s " -"wütend!" #: src/npctalk.cpp #, c-format @@ -221125,8 +226204,8 @@ msgstr "" "könne." #: src/npctalk.cpp -msgid "Here's what I can teach you..." -msgstr "Das kann ich dir beibringen:" +msgid "Here's what I can teach you…" +msgstr "" #: src/npctalk.cpp #, c-format @@ -221141,16 +226220,23 @@ msgstr[0] "%d Fuß." msgstr[1] "%d Fuß." #: src/npctalk.cpp -msgid "I'm holing up here for safety." -msgstr "Ich buddel mich hier zur Sicherheit ein." +#, c-format +msgid "I'm holing up here for safety. Long term, %s" +msgstr "" #: src/npctalk.cpp msgid "I run the shop here." msgstr "Mir gehört dieses Geschäft." #: src/npctalk.cpp -msgid "I'm guarding this location." -msgstr "Ich bewache diesen Ort." +#, c-format +msgid "Currently, I'm guarding this location. Overall, %s" +msgstr "" + +#: src/npctalk.cpp +#, c-format +msgid "Right now, I'm . In general, %s" +msgstr "" #: src/npctalk.cpp msgid "&You yell, but can't hear yourself." @@ -221244,6 +226330,16 @@ msgstr "Ich habe Neuigkeiten." msgid "Yes, let's resume training " msgstr "Ja, lasst uns weiter trainieren mit " +#: src/npctalk.cpp +#, c-format +msgid "%s: 1 hour lesson (cost %s)" +msgstr "" + +#: src/npctalk.cpp +#, c-format +msgid "%s: teaching spell knowledge (cost %s)" +msgstr "" + #. ~Martial art style (cost in dollars) #: src/npctalk.cpp #, c-format @@ -221259,7 +226355,7 @@ msgstr "" #: src/npctalk.cpp #, c-format -msgid "%s: %d (%d%%) -> %d" +msgid "%s: %d (%d%%) -> %d (%d%%)" msgstr "" #: src/npctalk.cpp @@ -221293,8 +226389,8 @@ msgstr "." #: src/npctalk.cpp msgctxt "punctuation" -msgid "..." -msgstr "…" +msgid "…" +msgstr "" #: src/npctalk.cpp msgctxt "punctuation" @@ -221340,8 +226436,8 @@ msgid "%s: %s" msgstr "%s: %s" #: src/npctalk.cpp -msgid "You'll be helpless! Proceed?" -msgstr "Du würdest hilflos sein! Weitermachen?" +msgid "You'll be helpless! Proceed?" +msgstr "" #: src/npctalk.cpp #, c-format @@ -221400,22 +226496,18 @@ msgid "You learn how to craft %s." msgstr "" #: src/npctalk.cpp -msgid "I don't trust you enough to eat THIS..." -msgstr "Ich vertraue dir nicht genug, um DAS zu essen." +msgid "I don't trust you enough to eat THIS…" +msgstr "" #: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this..." -msgstr "Es sieht nicht nach einer guten Idee aus, dies zu konsumieren …" +msgid "It doesn't look like a good idea to consume this…" +msgstr "" #: src/npctalk.cpp #, c-format msgid "I need a %s to consume that!" msgstr "Ich brauche 1 %s, um dies zu konsumieren!" -#: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this.." -msgstr "Es sieht nicht nach einer guten Idee aus, dies zu konsumieren …" - #: src/npctalk.cpp msgid "Offer what?" msgstr "Was anbieten?" @@ -221437,8 +226529,8 @@ msgid "Are you insane!?" msgstr "Bist du verrückt!?" #: src/npctalk.cpp -msgid "Here we go..." -msgstr "Das hätten wir …" +msgid "Here we go…" +msgstr "" #: src/npctalk.cpp msgid "My current weapon is better than this." @@ -221463,8 +226555,8 @@ msgid "I can only store %s %s more." msgstr "Ich kann nur noch %s %s einlagern." #: src/npctalk.cpp -msgid "...or to store anything else for that matter." -msgstr "… oder, um irgendetwas anderes einzulagern." +msgid "…or to store anything else for that matter." +msgstr "" #: src/npctalk.cpp msgid "It is too heavy for me to carry." @@ -221493,40 +226585,16 @@ msgstr "" msgid "My current location" msgstr "" -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name #: src/npctalk_funcs.cpp #, c-format -msgid "%1$s is assigned to %2$s" +msgid "That is not a valid destination for %s." msgstr "" -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name #: src/npctalk_funcs.cpp #, c-format -msgid "%1$s is assigned to guard %2$s" -msgstr "" - -#. ~ %1$s is the NPC's translated name, %2$s is the pronoun for the NPC's -#. gender -#: src/npctalk_funcs.cpp -#, c-format -msgid "%1$s will wait for you where %2$s is." -msgstr "" - -#: src/npctalk_funcs.cpp -msgid "he" -msgstr "" - -#: src/npctalk_funcs.cpp -msgid "she" +msgid "%1$s is assigned to %2$s" msgstr "" -#: src/npctalk_funcs.cpp -#, c-format -msgid "%s is posted as a guard." -msgstr "%s ist als Wächter stationiert." - #: src/npctalk_funcs.cpp #, c-format msgid "%s begins to follow you." @@ -221543,20 +226611,16 @@ msgid "You start a fight with %s!" msgstr "Du kämpfst gegen %s!" #: src/npctalk_funcs.cpp -msgid "You don't have any bionics installed..." -msgstr "Du hast keine Bioniken installiert." +msgid "You don't have any bionics installed…" +msgstr "" #: src/npctalk_funcs.cpp msgid "Which bionic do you wish to uninstall?" msgstr "Welches Bionik möchtest du deinstallieren?" #: src/npctalk_funcs.cpp -msgid "You decide to hold off..." -msgstr "Du hast es dir anders überlegt …" - -#: src/npctalk_funcs.cpp -msgid "You can't afford the procedure..." -msgstr "Du kannst dir diese Prozedur nicht leisten." +msgid "You decide to hold off…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format @@ -221577,7 +226641,7 @@ msgid "Choose a new facial hair style" msgstr "" #: src/npctalk_funcs.cpp -msgid "Actually... I've changed my mind." +msgid "Actually… I've changed my mind." msgstr "" #: src/npctalk_funcs.cpp @@ -221586,18 +226650,18 @@ msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent haircut..." -msgstr "%s gibt dir eine gute Frisur." +msgid "%s gives you a decent haircut…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent shave..." -msgstr "%s gibt dir eine gute Rasur." +msgid "%s gives you a decent shave…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "That was a pleasant conversation with %s..." -msgstr "Das war ein angenehmes Gespräch mit %s..." +msgid "That was a pleasant conversation with %s…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format @@ -221606,8 +226670,8 @@ msgstr "Das war ein angenehmes Gespräch mit %s." #: src/npctalk_funcs.cpp #, c-format -msgid "%s drops the logs off in the garage..." -msgstr "%s lässt die Holzblöcke in der Garage fallen." +msgid "%s drops the logs off in the garage…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format @@ -221624,6 +226688,11 @@ msgstr "%s flieht!" msgid "%s leaves." msgstr "%s geht weg." +#: src/npctalk_funcs.cpp +#, c-format +msgid "%s stops following." +msgstr "" + #: src/npctalk_funcs.cpp #, c-format msgid "%s feels less threatened by you." @@ -221707,13 +226776,13 @@ msgstr "%s kann all das nicht tragen." #: src/npctrade.cpp #, c-format msgid "" -"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" +"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" "\n" "Continue with trade?" msgstr "" #: src/npctrade.cpp -msgid "Looks like a deal! Accept this trade?" +msgid "Looks like a deal! Accept this trade?" msgstr "" #: src/npctrade.h @@ -222026,12 +227095,9 @@ msgstr "Züge zum Reaktivieren des Sicherheitsmodus" #: src/options.cpp msgid "" -"Number of turns after which safe mode is reactivated. Will only reactivate " +"Number of turns after which safe mode is reactivated. Will only reactivate " "if no hostiles are in 'Safe mode proximity distance.'" msgstr "" -"Die Anzahl Züge, nachdem der Sicherheitsmodus reaktiviert wird. Wird sich " -"nur reaktivieren, wenn keine Feinde sich im Sicherheitsmodus-" -"Annäherungsabstand aufhalten." #: src/options.cpp msgid "Turns to remember ignored monsters" @@ -222141,12 +227207,9 @@ msgstr "Leere Behälter fallen lassen" #: src/options.cpp msgid "" -"Set to drop empty containers after use. No: Don't drop any. - Watertight: " -"All except watertight containers. - All: Drop all containers." +"Set to drop empty containers after use. No: Don't drop any. - Watertight: " +"All except watertight containers. - All: Drop all containers." msgstr "" -"Stell ein, welche Behälter automatisch fallen gelassen werden. Nein: Nichts " -"fallen lassen. – Wasserdichte: Alle außer wasserdichte Behälter. – Alle: " -"Alle Behälter fallen lassen." #: src/options.cpp msgid "Watertight" @@ -222318,13 +227381,12 @@ msgstr "" "Falls wahr, wird dem Fadenkreuz beim Feuern oder Werfen automatisch gefolgt." #: src/options.cpp -msgid "Query on disassembly" -msgstr "Vor Demontage nachfragen" +msgid "Query on disassembly while butchering" +msgstr "" #: src/options.cpp -msgid "If true, will query before disassembling items." +msgid "If true, will query before disassembling items while butchering." msgstr "" -"Falls wahr, wird das Spiel vor der Demontage von Gegenständen nachfragen." #: src/options.cpp msgid "Query on keybinding removal" @@ -222617,9 +227679,9 @@ msgstr "Automatische Inventarbuchstaben" #: src/options.cpp msgid "" -"Enabled: automatically assign letters to any carried items that lack them. " -"Disabled: do not auto-assign letters. Favorites: only auto-assign letters to" -" favorited items." +"Enabled: automatically assign letters to any carried items that lack them. " +"Disabled: do not auto-assign letters. Favorites: only auto-assign letters " +"to favorited items." msgstr "" #: src/options.cpp @@ -223002,7 +228064,7 @@ msgstr "" msgid "Display" msgstr "Anzeige" -#: src/options.cpp +#: src/options.cpp src/sdltiles.cpp msgid "" "Sets which video display will be used to show the game. Requires restart." msgstr "" @@ -223101,8 +228163,8 @@ msgid "Scaling factor" msgstr "Skalierfaktor" #: src/options.cpp -msgid "Factor by which to scale the display. Requires restart." -msgstr "Faktor, um den die Anzeige skaliert werden soll. Erfordert Neustart." +msgid "Factor by which to scale the display. Requires restart." +msgstr "" #: src/options.cpp msgid "1x" @@ -223406,8 +228468,8 @@ msgstr "Starttag" #: src/options.cpp msgid "" -"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can " -"be overridden by scenarios. This does not advance food rot or monster " +"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can" +" be overridden by scenarios. This does not advance food rot or monster " "evolution." msgstr "" @@ -223417,9 +228479,9 @@ msgstr "" #: src/options.cpp msgid "" -"How many days after the cataclysm the player spawns. Day 0 is the day of the" -" cataclysm. Can be overridden by scenarios. Increasing this will cause food " -"rot and monster evolution to advance." +"How many days after the cataclysm the player spawns. Day 0 is the day of " +"the cataclysm. Can be overridden by scenarios. Increasing this will cause " +"food rot and monster evolution to advance." msgstr "" #: src/options.cpp @@ -223489,11 +228551,9 @@ msgstr "Statische NPCs" #: src/options.cpp msgid "" -"If true, static NPCs will spawn at pre-defined locations. Requires world " +"If true, static NPCs will spawn at pre-defined locations. Requires world " "reset." msgstr "" -"Falls wahr, werden statische NPCs an vordefinierten Orten erscheinen. " -"Erfordert Zurücksetzung der Welt." #: src/options.cpp msgid "Starting NPCs spawn" @@ -224087,6 +229147,10 @@ msgstr[0] "" msgstr[1] "" "%s #%s – Mit dem gewählten Wert würde das Fenster %d Pixel hoch sein." +#: src/options.cpp +msgid "Note: " +msgstr "Beachte: " + #: src/options.cpp msgid "Some of these options may produce unexpected results if changed." msgstr "Das Ändern dieser Optionen kann unerwartete Folgen haben." @@ -224109,8 +229173,8 @@ msgid "options" msgstr "Optionen" #: src/output.cpp -msgid "Press any key for more..." -msgstr "Drücke irgendeine Taste zum Weiterlesen …" +msgid "Press any key for more…" +msgstr "" #: src/output.cpp #, c-format @@ -224284,7 +229348,7 @@ msgstr "[%s] %s" #: src/overmap_ui.cpp #, c-format msgid "" -"LEVEL %i, %d'%d, %d'%d : %s (Distance: " +"LEVEL %i, %d'%d, %d'%d: %s (Distance: " "%d)" msgstr "" @@ -224624,11 +229688,6 @@ msgstr "" msgid "Freezing!" msgstr "" -#: src/panels.cpp -msgctxt "energy unit: kilojoule" -msgid "kJ" -msgstr "kJ" - #: src/panels.cpp msgid "Bad" msgstr "" @@ -224808,6 +229867,7 @@ msgstr "" msgid "Underground" msgstr "Unterirdisch" +#. ~ translation should not exceed 5 console cells #: src/panels.cpp msgid "Wind" msgstr "" @@ -224869,10 +229929,6 @@ msgstr "Taub!" msgid "Weapon :" msgstr "Waffe :" -#: src/panels.cpp -msgid "No Style" -msgstr "k. Stil" - #: src/panels.cpp msgid "Day " msgstr "Tag" @@ -224885,10 +229941,12 @@ msgstr "" msgid "to open sidebar options" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/panels.cpp msgid "Mana" msgstr "" +#. ~ translation should not exceed 9 console cells #: src/panels.cpp msgid "Max Mana" msgstr "" @@ -225145,77 +230203,6 @@ msgstr "Um nicht den Inhalt zu verschütten, setzt %1$s auf %2$s." msgid "You have learned a new style: %s!" msgstr "" -#: src/player.cpp -#, c-format -msgid "Your %s will be frostnipped in the next few hours." -msgstr "Dein %s wird in in den nächsten Stunden erfrieren." - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten within the hour!" -msgstr "Dein %s wird in dieser Stunde erfrieren!" - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten any minute now!" -msgstr "In wenigen Minuten wird %s erfrieren!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s beginning to go numb from the cold!" -msgstr "Du spürst deinen %s von der Kälte taub werden!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very cold." -msgstr "Du spürst, wie dein %s sehr kalt wird." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting chilly." -msgstr "Du spürst, wie dein %s kühl wird." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting red hot from the heat!" -msgstr "Du spürst, wie dein %s glühend heiß von der Hitze wird!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very hot." -msgstr "Du spürst, wie dein %s sehr heiß wird." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting warm." -msgstr "Du spürst, wie dein %s warm wird." - -#: src/player.cpp -#, c-format -msgid "The wind is making your %s feel quite cold." -msgstr "Der Wind lässt dich d. %s ziemlich kalt anfühlen." - -#: src/player.cpp -#, c-format -msgid "" -"The wind is very strong, you should find some more wind-resistant clothing " -"for your %s." -msgstr "" -"Der Wind ist sehr stark, du solltest etwas windfestere Kleidung für dein %s " -"finden." - -#: src/player.cpp -#, c-format -msgid "" -"Your clothing is not providing enough protection from the wind for your %s!" -msgstr "Deine Kleidung bietet nicht genug Schutz vor dem Wind für dein %s!" - #: src/player.cpp msgid "You roll on the ground, trying to smother the fire!" msgstr "Du rollst dich auf dem Boden und versuchst, das Feuer zu ersticken!" @@ -225232,50 +230219,6 @@ msgstr "Du versuchst, das Feuer auf dir zu löschen!" msgid " attempts to put out the fire on them!" msgstr " versucht, das eigene Feuer zu löschen." -#: src/player.cpp -msgid "You set your mech's leg power to a loping fast walk." -msgstr "" - -#: src/player.cpp -msgid "You nudge your steed into a steady trot." -msgstr "" - -#: src/player.cpp -msgid "You start walking." -msgstr "" - -#: src/player.cpp -msgid "You set the power of your mech's leg servos to maximum." -msgstr "" - -#: src/player.cpp -msgid "You spur your steed into a gallop." -msgstr "" - -#: src/player.cpp -msgid "You start running." -msgstr "Du fängst an, zu laufen." - -#: src/player.cpp -msgid "Your steed is too tired to go faster." -msgstr "" - -#: src/player.cpp -msgid "You're too tired to run." -msgstr "Du bist zu müde zum Laufen." - -#: src/player.cpp -msgid "You reduce the power of your mech's leg servos to minimum." -msgstr "" - -#: src/player.cpp -msgid "You slow your steed to a walk." -msgstr "" - -#: src/player.cpp -msgid "You start crouching." -msgstr "" - #: src/player.cpp #, c-format msgid "Your ground sonar detected a %1$s to the %2$s!" @@ -225352,15 +230295,6 @@ msgstr "" msgid "You lose your balance while being hit!" msgstr "" -#: src/player.cpp -#, c-format -msgid "You were attacked by %s!" -msgstr "Du wurdest von %s angegriffen!" - -#: src/player.cpp -msgid "You were hurt!" -msgstr "Du wurdest verletzt!" - #: src/player.cpp msgid "A snake sprouts from your body!" msgstr "Eine Schlange schlägt aus deinem Körper aus!" @@ -225454,8 +230388,8 @@ msgid "You are slammed against %s!" msgstr "Du wirst gegen %s geschmettert!" #: src/player.cpp -msgid "...but your shock absorbers negate the damage!" -msgstr "... aber deine Stoßdämpfer negieren den Schaden!" +msgid "…but your shock absorbers negate the damage!" +msgstr "" #: src/player.cpp #, c-format @@ -225512,8 +230446,8 @@ msgid "You have starved to death." msgstr "Du bist verhungert." #: src/player.cpp -msgid "Food..." -msgstr "Essen …" +msgid "Food…" +msgstr "" #: src/player.cpp msgid "Due to insufficient nutrition, your body is suffering from starvation." @@ -225522,12 +230456,12 @@ msgstr "" #: src/player.cpp msgid "" "Despite having something in your stomach, you still feel like you haven't " -"eaten in days..." +"eaten in days…" msgstr "" #: src/player.cpp -msgid "Your stomach feels so empty..." -msgstr "Dein Magen fühlt sich so leer an." +msgid "Your stomach feels so empty…" +msgstr "" #: src/player.cpp msgid "You are EMACIATED!" @@ -225546,24 +230480,24 @@ msgid "You have died of dehydration." msgstr "Du bist verdurstet." #: src/player.cpp -msgid "Even your eyes feel dry..." -msgstr "Sogar deine Augen fühlen sich trocken an." +msgid "Even your eyes feel dry…" +msgstr "" #: src/player.cpp msgid "You are THIRSTY!" msgstr "Du hast DURST!" #: src/player.cpp -msgid "Your mouth feels so dry..." -msgstr "Dein Mund fühlt sich so trocken an." +msgid "Your mouth feels so dry…" +msgstr "" #: src/player.cpp msgid "Survivor sleep now." msgstr "Überlebender schlafen jetzt!" #: src/player.cpp -msgid "Anywhere would be a good place to sleep..." -msgstr "Jetzt wäre überall ein guter Schlafplatz." +msgid "Anywhere would be a good place to sleep…" +msgstr "" #: src/player.cpp msgid "You feel like you haven't slept in days." @@ -225582,10 +230516,8 @@ msgid "*yawn* You should really get some sleep." msgstr "Gähn! Du solltest wirklich etwas Schlaf abkriegen." #: src/player.cpp -msgid "Your mind feels tired. It's been a while since you've slept well." +msgid "Your mind feels tired. It's been a while since you've slept well." msgstr "" -"Dein Geist fühlt sich müde an. Es ist schon eine Weile her, seit du gut " -"geschlafen hast." #: src/player.cpp msgid "" @@ -225597,22 +230529,16 @@ msgstr "" #: src/player.cpp msgid "" -"Your mind feels weary, and you dread every wakeful minute that passes. You " +"Your mind feels weary, and you dread every wakeful minute that passes. You " "crave sleep, and feel like you're about to collapse." msgstr "" -"Dein Verstand fühlt sich erschöpft an und dir graut vor jeder " -"verstreichenden wachen Minute. Du sehnst dich nach Schlaf und fühlst dich, " -"als ob du jederzeit zusammenbrechen könntest." #: src/player.cpp msgid "" "You haven't slept decently for so long that your whole body is screaming for" -" mercy. It's a miracle that you're still awake, but it just feels like a " +" mercy. It's a miracle that you're still awake, but it just feels like a " "curse now." msgstr "" -"Du hast so lange nicht anständig geschlafen, dass dein ganzer Körper um " -"Gnade fleht. Es ist ein wahres Wunder, dass du noch wach bist, aber es fühlt" -" sich inzwischen wie ein Fluch an." #: src/player.cpp msgid "" @@ -225654,14 +230580,6 @@ msgstr "Die desinfizierten Wunden auf %s sind verheilt." msgid "There is not enough %s left to siphon it." msgstr "Es ist nicht genügend %s übrig zum absaugen." -#: src/player.cpp -msgid "You cough heavily." -msgstr "Du hustest sehr stark." - -#: src/player.cpp -msgid "a hacking cough." -msgstr "einen trockenen Husten." - #: src/player.cpp msgid "Your body is wracked with excruciating pain!" msgstr "Du spürst an deinem ganzen Körper unerträgliche Schmerzen!" @@ -225707,11 +230625,6 @@ msgstr "Dein %s tut dir weh!" msgid "Your %s aches." msgstr "Dein %s tut weh." -#: src/player.cpp -#, c-format -msgid "Your current health value is %d." -msgstr "Dein momentaner Gesundheitswert ist %d." - #: src/player.cpp #, c-format msgid "Your %s HURTS!" @@ -225827,13 +230740,15 @@ msgstr "%1$s sagt: »%2$s«." msgid "You increase %1$s to level %2$d." msgstr "" +#. ~ %1$s: weapon name #: src/player.cpp -msgid "Your " -msgstr "Dein " +#, c-format +msgid "Your %1$s" +msgstr "" #: src/player.cpp -msgid "You suddenly feel so numb..." -msgstr "Du bist plötzlich so empfindungslos." +msgid "You suddenly feel so numb…" +msgstr "" #: src/player.cpp msgid "You start to shake uncontrollably." @@ -225844,6 +230759,12 @@ msgstr "Du beginnst, unkontrolliert zu zittern." msgid "yourself shout, %s" msgstr "" +#. ~ %1$s: weapon name +#: src/player.cpp +#, c-format +msgid "your %1$s" +msgstr "" + #: src/player.cpp msgid "You're suddenly overcome with the urge to sleep and you pass out." msgstr "" @@ -225949,8 +230870,8 @@ msgid "Suddenly, your eyes stop working!" msgstr "Plötzlich funktionieren deine Augen nicht mehr." #: src/player.cpp -msgid "Your visual centers must be acting up..." -msgstr "Deine Augen müssen dir wohl einen Streich spielen …" +msgid "Your visual centers must be acting up…" +msgstr "" #: src/player.cpp msgid "You feel an anomalous sensation coming from your radiation sensors." @@ -226028,8 +230949,8 @@ msgid "You shake uncontrollably." msgstr "Du zitterst unkontrolliert." #: src/player.cpp -msgid "You feel nauseous..." -msgstr "Dir ist übel." +msgid "You feel nauseous…" +msgstr "" #: src/player.cpp msgid "You black out!" @@ -226044,8 +230965,8 @@ msgid "You stumble and fall over!" msgstr "Du stolperst und fällst hin!" #: src/player.cpp -msgid "You feel tired..." -msgstr "Du bist müde." +msgid "You feel tired…" +msgstr "" #: src/player.cpp msgid "You tiredly rub your eyes." @@ -226200,10 +231121,6 @@ msgstr "Du lässt das leere %s fallen." msgid "%c - %d empty %s" msgstr "%c – %d leere(r) %s" -#: src/player.cpp -msgid "You sink your roots into the soil." -msgstr "Du bohrst deine Wurzeln in die Erde." - #: src/player.cpp src/veh_interact.cpp #, c-format msgid "Refill %s" @@ -226362,6 +231279,10 @@ msgstr "Geweih" msgid "Can't wield spilt liquids." msgstr "Verschüttete Flüssigkeiten können nicht gehalten werden." +#: src/player.cpp +msgid "You need at least one arm to even consider wielding something." +msgstr "" + #: src/player.cpp msgid "Something you are wearing hinders the use of both hands." msgstr "Etwas, was du trägst, hindert dich daran, beide Hände zu benutzen." @@ -226456,20 +231377,43 @@ msgstr "%s hat keine Defekte, die behoben werden müssen." msgid "Mend which fault?" msgstr "Welchen Defekt beheben?" -#: src/player.cpp src/veh_interact.cpp -msgid "Time required:\n" -msgstr "Benötigte Zeit:\n" +#: src/player.cpp +#, c-format +msgid "Turns into: %s\n" +msgstr "" #: src/player.cpp -msgid "Skills:\n" -msgstr "Fertigkeiten:\n" +#, c-format +msgid "Time required: %s\n" +msgstr "" + +#: src/player.cpp +msgid "Skills: none\n" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "Skills: %s\n" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level +#: src/player.cpp +#, c-format +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level +#: src/player.cpp +#, c-format +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" -#. ~ %1$s represents the internal color name which shouldn't be translated, -#. %2$s is skill name, and %3$i is skill level #: src/player.cpp #, c-format -msgid "> %2$s %3$i\n" -msgstr "> %2$s %3$i\n" +msgid "You are currently unable to mend the %s this way." +msgstr "" #: src/player.cpp msgid "You are already wearing that." @@ -226495,13 +231439,13 @@ msgstr " zieht sich %s an." #: src/player.cpp #, c-format -msgid "Your %s are very encumbered! %s" -msgstr "Deine %s werden stark in ihrer Bewegung eingeschränkt! %s" +msgid "Your %s are very encumbered! %s" +msgstr "" #: src/player.cpp #, c-format -msgid "Your %s is very encumbered! %s" -msgstr "Dein %s wird stark in der Bewegung eingeschränkt! %s" +msgid "Your %s is very encumbered! %s" +msgstr "" #: src/player.cpp msgid "You're deafened!" @@ -226509,18 +231453,13 @@ msgstr "Du kannst nichts mehr hören!" #: src/player.cpp #, c-format -msgid "This %s is too big to wear comfortably! Maybe it could be refitted..." +msgid "This %s is too big to wear comfortably! Maybe it could be refitted…" msgstr "" -"%s ist zu groß um bequem getragen zu werden! Vielleicht kann es ja angepasst" -" werden..." #: src/player.cpp #, c-format -msgid "" -"This %s is too small to wear comfortably! Maybe it could be refitted..." +msgid "This %s is too small to wear comfortably! Maybe it could be refitted…" msgstr "" -"%s ist zu klein um bequem getragen zu werden! Vielleicht kann es ja " -"angepasst werden..." #: src/player.cpp #, c-format @@ -226648,20 +231587,6 @@ msgstr "Du verwertest %i unbenutztes Plutonium wieder." msgid "You can't remove partially depleted plutonium!" msgstr "Du kannst teilweise verbrauchtes Plutonium nicht entfernen!" -#: src/player.cpp -#, c-format -msgid "Your %s needs %d charge from some UPS." -msgid_plural "Your %s needs %d charges from some UPS." -msgstr[0] "Dein %s braucht %d Ladung von irgendeiner Esz." -msgstr[1] "Dein %s braucht %d Ladungen von irgendeiner Esz." - -#: src/player.cpp -#, c-format -msgid "Your %s has %d charge but needs %d." -msgid_plural "Your %s has %d charges but needs %d." -msgstr[0] "Dein %s hat %d Ladung, benötigt aber %d." -msgstr[1] "Dein %s hat %d Ladungen, benötigt aber %d." - #. ~ %1$s - gunmod, %2$s - gun. #: src/player.cpp #, c-format @@ -226702,10 +231627,8 @@ msgid "It's impossible to sleep in this wheeled pot!" msgstr "Es ist unmöglich, in diesem Topf mit Rädern zu schlafen!" #: src/player.cpp -msgid "The humans' furniture blocks your roots. You can't get comfortable." +msgid "The humans' furniture blocks your roots. You can't get comfortable." msgstr "" -"Die Möbel der Menschen sind deinen Wurzeln im Weg. Du kannst es dir nicht " -"bequem machen." #: src/player.cpp msgid "Your roots scrabble ineffectively at the unyielding surface." @@ -226721,10 +231644,8 @@ msgstr "" "schwindet." #: src/player.cpp -msgid "These thick webs support your weight, and are strangely comfortable..." +msgid "These thick webs support your weight, and are strangely comfortable…" msgstr "" -"Diese dicken Spinnennetze halten dein Gewicht und fühlen sich seltsam bequem" -" an." #: src/player.cpp msgid "You try to sleep, but the webs get in the way. You brush them aside." @@ -226750,14 +231671,12 @@ msgstr "" #: src/player.cpp msgid "" -"You lay beneath the waves' embrace, gazing up through the water's surface..." +"You lay beneath the waves' embrace, gazing up through the water's surface…" msgstr "" -"Du liegst unter der Umarmung der Wellen und blickst durch die " -"Wasseroberfläche nach oben..." #: src/player.cpp -msgid "You settle into the water and begin to drowse..." -msgstr "Du gewöhnst dich ans Wasser und beginnst zu schlummern..." +msgid "You settle into the water and begin to drowse…" +msgstr "" #: src/player.cpp msgid "This is a comfortable place to sleep." @@ -226812,70 +231731,15 @@ msgstr "" msgid "Your soporific inducer starts back up." msgstr "" -#: src/player.cpp -msgid "You nestle your pile of clothes for warmth." -msgstr "Du machst es dir im Kleiderhaufen für Wärme gemütlich." - -#: src/player.cpp -msgid "You use your pile of clothes for warmth." -msgstr "Du benutzt deinen Kleiderhaufen für Wärme." - -#: src/player.cpp -#, c-format -msgid "You snuggle your %s to keep warm." -msgstr "Um warm zu bleiben, kuschelst du dich an »%s«." - -#: src/player.cpp -#, c-format -msgid "You use your %s to keep warm." -msgstr "Du benutzt %s, um warm zu bleiben." - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Entered hibernation." -msgstr "Ging in den Winterschlaf über." - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Entered hibernation." -msgstr "Ging in den Winterschlaf über." - -#. ~ %s is armor name -#: src/player.cpp -#, c-format -msgctxt "memorial_male" -msgid "Worn %s was completely destroyed." -msgstr "Das getragene %s wurde völlig zerstört." - -#: src/player.cpp -#, c-format -msgctxt "memorial_female" -msgid "Worn %s was completely destroyed." -msgstr "Das getragene %s wurde völlig zerstört." - #: src/player.cpp #, c-format -msgid "Your %s is completely destroyed!" -msgstr "Dein %s ist völlig zerstört!" - -#: src/player.cpp -#, c-format -msgid "'s %s is completely destroyed!" -msgstr "s %s ist völlig zerstört!" - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s further!" -msgstr "%1$s ist weiter %2$s!" +msgid "Your skill in %s has increased to %d!" +msgstr "Deine Fertigkeit in %s hat sich auf %d erhöht!" #: src/player.cpp #, c-format -msgid "Your %1$s is %2$s!" -msgstr "%1$s ist %2$s!" - -#: src/player.cpp src/veh_interact.cpp -msgid "destroyed" -msgstr "zerstört" +msgid "You feel that %s tasks of this level are becoming trivial." +msgstr "Du merkst, dass %s-Aufgaben dieser Stufe trivial werden." #: src/player.cpp #, c-format @@ -226884,20 +231748,6 @@ msgstr "" "Diese Tätigkeit ist zu simpel, um deine Fertigkeit »%s« über den Wert »%d« " "hinaus zu trainieren." -#: src/player.cpp -#, c-format -msgid "Your skill in %s has increased to %d!" -msgstr "Deine Fertigkeit in %s hat sich auf %d erhöht!" - -#: src/player.cpp -#, c-format -msgid "You feel that %s tasks of this level are becoming trivial." -msgstr "Du merkst, dass %s-Aufgaben dieser Stufe trivial werden." - -#: src/player.cpp -msgid "You resume your task." -msgstr "Du setzt deine Tätigkeit fort." - #: src/player.cpp msgid "Wield what?" msgstr "Was halten?" @@ -226908,8 +231758,8 @@ msgstr "Die Zeit scheint sich zu verlangsam und du weichst instinktiv aus!" #: src/player.cpp #, c-format -msgid "%s dodges... so fast!" -msgstr "%s weicht unglaublich schnell aus!" +msgid "%s dodges… so fast!" +msgstr "" #: src/player.cpp msgid "You try to dodge but there's no room!" @@ -226920,80 +231770,6 @@ msgstr "Du versuchst, auszuweichen, aber es gibt keinen Platz!" msgid "%s tries to dodge but there's no room!" msgstr "%s versucht, auszuweichen, aber es gibt keinen Platz!" -#: src/player.cpp -msgid "You start hauling items along the ground." -msgstr "Du fängst an, Gegenstände entlang des Bodens mitzuschleifen." - -#: src/player.cpp -msgid "Your hands are not free, which makes hauling slower." -msgstr "" -"Du hast keine freie Hand, was das Mitschleifen erheblich langsamer macht." - -#: src/player.cpp -msgid "You stop hauling items." -msgstr "Du hörst auf, Gegenstände mitzuschleifen." - -#: src/player.cpp -msgid "Your body strains under the weight!" -msgstr "Dein Körper verrenkt sich unter der Last!" - -#: src/player.cpp -#, c-format -msgid "You remove the %s's harness." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You climb on the %s." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You hear your %s whir to life." -msgstr "" - -#: src/player.cpp -msgid "You are ejected from your mech!" -msgstr "" - -#: src/player.cpp -msgid " is ejected from their mech!" -msgstr "" - -#: src/player.cpp -msgid "You fall off your mount!" -msgstr "Du fällst von deinem Reittier!" - -#: src/player.cpp -msgid " falls off their mount!" -msgstr "" - -#: src/player.cpp src/trapfunc.cpp -msgid "You hurt yourself!" -msgstr "Du verletzt dich!" - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Fell off a mount." -msgstr "" - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Fell off a mount." -msgstr "" - -#: src/player.cpp -msgid "Dismount where?" -msgstr "Wo absteigen?" - -#: src/player.cpp -msgid "You cannot dismount there!" -msgstr "Dort kannst du nicht absteigen!" - -#: src/player.cpp -msgid "Wielding: " -msgstr "Hält: " - #: src/player.cpp #, c-format msgid "You (%s)" @@ -227049,45 +231825,22 @@ msgstr "Hungrig" msgid "Pain " msgstr "" +#. ~ skill_name current_skill_level -> next_skill_level (% to next level) #: src/player_activity.cpp #, c-format -msgid "Crafting: %s" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Burrowing: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Sawing: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Jackhammering: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Digging: %d%%" +msgctxt "reading progress" +msgid "%s %d -> %d (%d%%)" msgstr "" #: src/player_activity.cpp #, c-format -msgid "Disassembling: %d%%" +msgid "%s…" msgstr "" #: src/player_activity.cpp #, c-format -msgid "Shoveling: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Chopping: %d%%" -msgstr "" +msgid "%s: %s" +msgstr "%s: %s" #: src/player_activity.cpp msgid "You pause for a moment to catch your breath." @@ -227305,47 +232058,57 @@ msgstr "Geschwindigkeit:" #: src/player_display.cpp #, c-format -msgid "Overburdened -%s%d%%" -msgstr "Überlastung −%s%d%%" +msgctxt "speed penalty" +msgid "Overburdened -%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Pain -%s%d%%" -msgstr "Schmerz −%s%d%%" +msgctxt "speed penalty" +msgid "Pain -%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Thirst -%s%d%%" -msgstr "Durst −%s%d%%" +msgctxt "speed penalty" +msgid "Thirst -%2d%%" +msgstr "" #: src/player_display.cpp msgid "Underfed" msgstr "" +#. ~ %s: Starving/Underfed (already left-justified), %2d: speed penalty #: src/player_display.cpp #, c-format -msgid "%-20s-%s%d%%" +msgctxt "speed penalty" +msgid "%s-%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Out of Sunlight -%s%d%%" -msgstr "Nicht in der Sonne −%s%d%%" +msgctxt "speed penalty" +msgid "Out of Sunlight -%2d%%" +msgstr "" +#. ~ %s: sign of bonus/penalty, %2d: speed bonus/penalty #: src/player_display.cpp #, c-format -msgid "Cold-Blooded %s%s%d%%" +msgctxt "speed modifier" +msgid "Cold-Blooded %s%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Quick +%s%d%%" -msgstr "Schnell +%s%d%%" +msgctxt "speed bonus" +msgid "Quick +%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Bionic Speed +%s%d%%" -msgstr "Bionikgeschwindigk. +%s%d%%" +msgctxt "speed bonus" +msgid "Bionic Speed +%2d%%" +msgstr "" #: src/player_display.cpp #, c-format @@ -227378,19 +232141,15 @@ msgstr "Stark unterernährt" #: src/player_display.cpp msgid "" -"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" -" \n" -msgstr "" -"Dein Körper ist aufgrund des Verhungerns sehr geschwächt. Du könntest sterben, wenn du nicht damit anfängst, regelmäßige Mahlzeiten zu dir zu nehmen!\n" +"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" "\n" +msgstr "" #: src/player_display.cpp msgid "" -"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" -" \n" -msgstr "" -"Dein Körper ist aufgrund des Verhungerns geschwächt. Nur die Zeit und regelmäßige Mahlzeiten helfen dir, damit es dir wieder besser geht.\n" +"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" "\n" +msgstr "" #: src/player_display.cpp src/veh_interact.cpp msgid "Strength" @@ -227490,33 +232249,30 @@ msgid " vomits thousands of live spores!" msgstr " erbricht tausende lebendige Sporen!" #: src/player_hardcoded_effects.cpp -msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" -msgstr "Das Fleisch deiner gebrochenen Arme schwellt an. Fungus bricht aus!" +msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" +msgstr "" #: src/player_hardcoded_effects.cpp -msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" -msgstr "Das Fleisch von s Armen schwellt an. Fungus bricht aus!" +msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "" -"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " +"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " "through!" msgstr "" -"Das Fleisch deiner gebrochenen und ungebrochenen Arme schwellt an. Fungus " -"bricht aus!" #: src/player_hardcoded_effects.cpp -msgid "'s arms bulge. Fungus stalks burst out of the bulges!" -msgstr "s Arme schwellen an. Fungus bricht aus!" +msgid "'s arms bulge. Fungus stalks burst out of the bulges!" +msgstr "" #: src/player_hardcoded_effects.cpp -msgid "Your hands bulge. Fungus stalks burst through the bulge!" -msgstr "Deine Hände schwellen an. Fungus bricht aus den Schwellungen aus!" +msgid "Your hands bulge. Fungus stalks burst through the bulge!" +msgstr "" #: src/player_hardcoded_effects.cpp -msgid "'s hands bulge. Fungus stalks burst through the bulge!" +msgid "'s hands bulge. Fungus stalks burst through the bulge!" msgstr "" -"s Hände schwellen an. Fungus bricht aus den Schwellungen aus!" #: src/player_hardcoded_effects.cpp msgid "You feel nauseous!" @@ -227563,8 +232319,8 @@ msgid "\"Oh God, what's happening?\"" msgstr "»Oh Gott, was passiert hier?«" #: src/player_hardcoded_effects.cpp -msgid "\"Of course... it's all fractals!\"" -msgstr "»Natürlich … Alles Fraktale!«" +msgid "\"Of course… it's all fractals!\"" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "\"Huh? What was that?\"" @@ -227599,8 +232355,8 @@ msgid "You quiver from the cold." msgstr "Du zitterst vor Kälte." #: src/player_hardcoded_effects.cpp -msgid "Your torso is freezing cold. You should put on a few more layers." -msgstr "Dein Torso ist einkalt. Du solltest mehr Kleidungsschichten anziehen." +msgid "Your torso is freezing cold. You should put on a few more layers." +msgstr "" #: src/player_hardcoded_effects.cpp msgid "Your shivering makes you unsteady." @@ -227806,8 +232562,8 @@ msgid "You shudder suddenly." msgstr "Du musst plötzlich zittern." #: src/player_hardcoded_effects.cpp -msgid "Your vision is filled with bright lights..." -msgstr "Dein Sichtfeld ist voller heller Lichter …" +msgid "Your vision is filled with bright lights…" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "You're suddenly covered in ectoplasm." @@ -227995,6 +232751,47 @@ msgstr "" msgid "Your alarm went off." msgstr "" +#: src/player_hardcoded_effects.cpp +msgid "You lose control of your body as it begins to convulse!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You lose conciousness!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "arm" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "hand" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "leg" +msgstr "" + +#: src/player_hardcoded_effects.cpp +#, c-format +msgid "Your %s suddenly jerks in an unexpected direction!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep hold of your weapon." +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep your footing." +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You suddenly lose all muscle tone, and can't support your own weight!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You have a splitting headache." +msgstr "" + #: src/ranged.cpp #, c-format msgid "Your %s misfires with a muffled click!" @@ -228145,7 +232942,7 @@ msgstr "" #: src/ranged.cpp #, c-format -msgid "[%c] to steady your aim. (10 moves)" +msgid "[%c] to steady your aim. (10 moves)" msgstr "" #: src/ranged.cpp @@ -228314,7 +233111,7 @@ msgid "Effective Spell Radius: %s%s" msgstr "" #: src/ranged.cpp -msgid " WARNING! IN RANGE" +msgid " WARNING! IN RANGE" msgstr "" #: src/ranged.cpp @@ -228416,10 +233213,6 @@ msgstr "»KRAWENG!«." msgid "none" msgstr "keine" -#: src/recipe.cpp -msgid "none" -msgstr "" - #: src/recipe.cpp #, c-format msgid "%s%% at >%s units" @@ -228443,6 +233236,15 @@ msgid_plural "%1$s (%2$d charges)" msgstr[0] "" msgstr[1] "" +#. ~ %1$s: item name, %2$d: charge requirement +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%1$s (%2$d of infinite)" +msgid_plural "%1$s (%2$d of infinite)" +msgstr[0] "" +msgstr[1] "" + #. ~ %1$s: item name, %2$d: charge requirement, %3%d: available charges #: src/requirements.cpp #, c-format @@ -228461,6 +233263,15 @@ msgid_plural "%1$s (%2$d)" msgstr[0] "" msgstr[1] "" +#. ~ %1$s: item name, %2$d: required count +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%2$d %1$s of infinite" +msgid_plural "%2$d %1$s of infinite" +msgstr[0] "" +msgstr[1] "" + #. ~ %1$s: item name, %2$d: required count, %3%d: available count #: src/requirements.cpp #, c-format @@ -228546,8 +233357,8 @@ msgid "Safe Mode manager currently inactive." msgstr "Sicherheitsmodus-Verwaltung derzeit inaktiv." #: src/safemode_ui.cpp -msgid "Default rules are used. Add a rule to activate." -msgstr "Standardregeln werden benutzt. Regel hinzufügen zum Aktivieren." +msgid "Default rules are used. Add a rule to activate." +msgstr "" #: src/safemode_ui.cpp msgid "Press ~ to add a default ruleset to get started." @@ -228559,7 +233370,7 @@ msgstr "Weißliste" #: src/safemode_ui.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" +"* is used as a Wildcard. A few Examples:\n" "\n" "human matches every NPC\n" "zombie matches the monster name exactly\n" @@ -228568,14 +233379,6 @@ msgid "" "*cid*zo*ie multiple * are allowed\n" "AcI*zO*iE case insensitive search" msgstr "" -"»*« wird als Wildcard benutzt. Einige Beispiele:\n" -" \n" -"mensch passt auf jeden NPC\n" -"zombie passt exakt auf den Monsternamen\n" -"gift* passt auf Monster, die mit »gift« anfangen\n" -"*mbie passt auf Monster, die mit »mbie« aufhören\n" -"*ift*zo*ie mehrere »*« sind erlaubt\n" -"GiF*zO*iE Groß-/Kleinschreibung ist egal" #: src/safemode_ui.cpp msgid "Safe Mode Rule:" @@ -228590,8 +233393,8 @@ msgid "Option: " msgstr "Option: " #: src/safemode_ui.cpp -msgid "No monsters loaded. Please start a game first." -msgstr "Keine Monster geladen. Bitte starte zuerst ein Spiel." +msgid "No monsters loaded. Please start a game first." +msgstr "" #: src/safemode_ui.cpp #, c-format @@ -228605,9 +233408,8 @@ msgid "Lists monsters regardless of their attitude." msgstr "Monster unabhängig von ihrer Einstellung auflisten." #: src/safemode_ui.cpp -msgid "Safe Mode is not enabled in the options. Enable it now?" +msgid "Safe Mode is not enabled in the options. Enable it now?" msgstr "" -"Sicherheitsmodus ist in den Optionen nicht aktiviert. Jetzt aktivieren?" #: src/safemode_ui.cpp msgid "safemode configuration" @@ -228649,13 +233451,6 @@ msgstr "" msgid "KILLS" msgstr "" -#: src/sdltiles.cpp -msgid "" -"Sets which video display will be used to show the game. Requires restart." -msgstr "" -"Setzt den Bildschirm, auf welchem das Spiel angezeigt werden soll. Erfordert" -" Neustart." - #: src/skill.cpp msgid "The zen-most skill there is." msgstr "" @@ -228714,6 +233509,10 @@ msgstr "" msgid "d: delete history" msgstr "d: Protokoll leeren" +#: src/teleport.cpp +msgid "You feel a strange, inwards force." +msgstr "" + #: src/teleport.cpp msgid "You cannot teleport safely." msgstr "" @@ -228723,7 +233522,11 @@ msgid "You die after teleporting into a solid." msgstr "" #: src/teleport.cpp -msgid "You exlpode into thousands of fragments." +msgid "You feel disjointed." +msgstr "" + +#: src/teleport.cpp +msgid "You explode into thousands of fragments." msgstr "" #: src/teleport.cpp @@ -229049,12 +233852,12 @@ msgid "vvrrrRRMM*POP!*" msgstr "»Schwaaaaaa-Wusch!«" #: src/trapfunc.cpp -msgid "The air shimmers around you..." -msgstr "Die Luft um dich herum schimmert." +msgid "The air shimmers around you…" +msgstr "" #: src/trapfunc.cpp #, c-format -msgid "The air shimmers around %s..." +msgid "The air shimmers around %s…" msgstr "" #: src/trapfunc.cpp @@ -229070,8 +233873,8 @@ msgid "The acidic goo eats away at your feet." msgstr "Der säurehaltige Glibber frisst sich an deinen Füßen." #: src/trapfunc.cpp -msgid "BEEPBOOP! Please remove non-organic object." -msgstr "PIEPS-PIEPS! Bitte nichtorganisches Objekt entfernen." +msgid "BEEPBOOP! Please remove non-organic object." +msgstr "" #: src/trapfunc.cpp msgid "The dissector lights up, and shuts down." @@ -229090,7 +233893,7 @@ msgstr "" #: src/trapfunc.cpp #, c-format -msgid "Electrical beams emit from the floor and slice your %s!" +msgid "Electrical beams emit from the floor and slice the %s!" msgstr "" #: src/trapfunc.cpp @@ -229176,8 +233979,8 @@ msgid "Your %s is burned by the lava!" msgstr "" #: src/trapfunc.cpp -msgid "You fail to attach it..." -msgstr "Du schaffst es nicht, es zu befestigen." +msgid "You fail to attach it…" +msgstr "" #: src/trapfunc.cpp msgid "There's nowhere to pull yourself to, and you sink!" @@ -229322,8 +234125,21 @@ msgid "Set turret targeting" msgstr "Turmzielwahl anpassen" #: src/turret.cpp -msgid "Can't aim turrets: all turrets are offline" -msgstr "Türme können nicht zielen: alle Türme offline" +msgid "auto -> manual" +msgstr "" + +#: src/turret.cpp +msgid "manual -> auto" +msgstr "" + +#: src/turret.cpp +msgid "manual (turret control unit required for auto mode)" +msgstr "" + +#: src/turret.cpp +msgid "" +"Can't aim turrets: all turrets are offline or set to manual targeting mode." +msgstr "" #: src/turret.cpp msgid "Aim which turret?" @@ -229367,17 +234183,18 @@ msgstr "Max Mustermann" #: src/tutorial.cpp msgid "" "You're saving a tutorial - the tutorial world lacks certain features of " -"normal worlds. Weird things might happen when you load this save. You have " -"been warned." +"normal worlds. Weird things might happen when you load this save. You have" +" been warned." msgstr "" -"Du speicherst ein Tutorial. Der Tutorialwelt fehlen bestimmte Funktionen von" -" normalen Welten. Merkwürdige Dinge können passieren, wenn du diesen " -"Spielstand lädst. Du wurdest gewarnt." #: src/veh_interact.cpp msgid "Select part" msgstr "Teil wählen" +#: src/veh_interact.cpp +msgid "Time required:\n" +msgstr "Benötigte Zeit:\n" + #: src/veh_interact.cpp msgid "Skills required:\n" msgstr "Benötigte Fertigkeiten:\n" @@ -229551,13 +234368,11 @@ msgid "Search for part" msgstr "Nach Teil suchen" #: src/veh_interact.cpp -msgid "Your morale is too low to construct..." +msgid "Your morale is too low to construct…" msgstr "" -"Deine Moral ist derzeit zu niedrig, um am Fahrzeug Veränderungen " -"vorzunehmen." #: src/veh_interact.cpp -msgid "It's too dark to see what you are doing..." +msgid "It's too dark to see what you are doing…" msgstr "" #: src/veh_interact.cpp @@ -229565,7 +234380,7 @@ msgid "You can't install parts while driving." msgstr "Du kannst während der Fahrt keine Teile anbringen." #: src/veh_interact.cpp -msgid "Installing this part will make the vehicle unfoldable. Continue?" +msgid "Installing this part will make the vehicle unfoldable. Continue?" msgstr "" #: src/veh_interact.cpp @@ -229573,8 +234388,8 @@ msgid "Choose shape:" msgstr "Form wählen:" #: src/veh_interact.cpp -msgid "Your morale is too low to repair..." -msgstr "Deine Moral ist zu niedrig für die Reparatur." +msgid "Your morale is too low to repair…" +msgstr "" #: src/veh_interact.cpp msgid "You can't repair stuff while driving." @@ -229593,8 +234408,8 @@ msgid "This part cannot be repaired" msgstr "Dieses Teil kann nicht repariert werden" #: src/veh_interact.cpp -msgid "Your morale is too low to mend..." -msgstr "Deine Moral ist zu niedrig zum Beheben von Defekten." +msgid "Your morale is too low to mend…" +msgstr "" #: src/veh_interact.cpp msgid "No faulty parts require mending." @@ -229772,8 +234587,8 @@ msgid "You can't siphon from a moving vehicle." msgstr "Du kannst nichts aus einem sich bewegenden Fahrzeug absaugen." #: src/veh_interact.cpp -msgid "Select part to siphon: " -msgstr "Einen abzusaugenden Tank auswählen: " +msgid "Select part to siphon:" +msgstr "" #: src/veh_interact.cpp msgid "The vehicle has no solid fuel left to remove." @@ -230255,6 +235070,11 @@ msgstr "Das Fahrzeugteil, das du festgehalten hattest, wurde zerstört!" msgid "Lost connection with the vehicle due to distance!" msgstr "Verbindung zum Fahrzeug aufgrund der Entfernung verloren!" +#: src/vehicle.cpp +#, c-format +msgid "the %s emitting a beep and saying \"Obstacle detected!\"" +msgstr "" + #. ~ backfire sound #: src/vehicle.cpp #, c-format @@ -230316,7 +235136,7 @@ msgstr "%1$s kann nicht auf Halter moniert werden." #: src/vehicle.cpp #, c-format msgid "" -"A part of the vehicle ('%s') has no containing vehicle's name. It will be " +"A part of the vehicle ('%s') has no containing vehicle's name. It will be " "detached from the %s vehicle." msgstr "" @@ -230424,8 +235244,8 @@ msgid "The %1$s's %2$s is destroyed!" msgstr "%2$s von %1$s wurde zerstört!" #: src/vehicle_display.cpp -msgid "More parts here..." -msgstr "Mehr Teile hier …" +msgid "More parts here…" +msgstr "" #: src/vehicle_display.cpp #, c-format @@ -230822,7 +235642,7 @@ msgstr "" #: src/vehicle_use.cpp msgctxt "electronics menu option" -msgid "rockhead" +msgid "roadheader" msgstr "" #: src/vehicle_use.cpp @@ -230902,8 +235722,8 @@ msgid "You could use a screwdriver to hotwire it." msgstr "Du könntest einen Schraubenzieher benutzen, um es kurzzuschließen." #: src/vehicle_use.cpp -msgid "You destroy the controls..." -msgstr "Du zerstörst die Steuerung." +msgid "You destroy the controls…" +msgstr "" #: src/vehicle_use.cpp msgid "You damage the controls." @@ -230925,6 +235745,28 @@ msgstr "Fahrzeugposition vergessen" msgid "Remember vehicle position" msgstr "Fahrzeugposition merken" +#: src/vehicle_use.cpp +msgid "Choose action for the autopilot" +msgstr "" + +#: src/vehicle_use.cpp +msgid "Patrol…" +msgstr "" + +#: src/vehicle_use.cpp +msgid "" +"Program the autopilot to patrol a nearby vehicle patrol zone. If no zones " +"are nearby, you will be prompted to create one." +msgstr "" + +#: src/vehicle_use.cpp +msgid "Stop…" +msgstr "" + +#: src/vehicle_use.cpp +msgid "Stop all autopilot related activities." +msgstr "" + #: src/vehicle_use.cpp msgid "You stop keeping track of the vehicle position." msgstr "Du zeichnest die Fahrzeugposition nicht mehr auf." @@ -230969,14 +235811,14 @@ msgstr "Motor ausschalten" msgid "Turn on the engine" msgstr "Motor einschalten" -#: src/vehicle_use.cpp -msgid "You turn the engine off." -msgstr "Du stellst den Motor ab." - #: src/vehicle_use.cpp msgid "Honk horn" msgstr "Hupen" +#: src/vehicle_use.cpp +msgid "Control autopilot" +msgstr "" + #: src/vehicle_use.cpp msgid "Disable cruise control" msgstr "Fahrtregler deaktivieren" @@ -231103,6 +235945,10 @@ msgstr "%s scheppern und schleifen" msgid "the %s starting" msgstr "" +#: src/vehicle_use.cpp +msgid "You turn the engine off." +msgstr "Du stellst den Motor ab." + #: src/vehicle_use.cpp msgid "You honk the horn!" msgstr "Du betätigst die Hupe!" @@ -231123,8 +235969,8 @@ msgstr "Du betätigst die Hupe, aber nichts passiert." #: src/vehicle_use.cpp #, c-format -msgid "Move how many? [Have %d] (0 to cancel)" -msgstr "Wie viele bewegen? [%d vorhanden] (0 zum Abbrechen)" +msgid "Move how many? [Have %d] (0 to cancel)" +msgstr "" #: src/vehicle_use.cpp msgid "a simple melody blaring from the loudspeakers." @@ -231200,6 +236046,10 @@ msgstr "" msgid "Only CBMs can be sterilized in an autoclave." msgstr "" +#: src/vehicle_use.cpp +msgid "You should put your CBMs in autoclave pouches to keep them sterile." +msgstr "" + #: src/vehicle_use.cpp msgid "You turn the autoclave on and it starts its cycle." msgstr "" @@ -231322,6 +236172,15 @@ msgstr "" msgid "You untie your %s." msgstr "" +#: src/vehicle_use.cpp +msgid "Load a vehicle on the rack" +msgstr "" + +#: src/vehicle_use.cpp +#, c-format +msgid "Remove the %s from the rack" +msgstr "" + #: src/vehicle_use.cpp msgid "Examine vehicle" msgstr "Fahrzeug untersuchen" @@ -231442,9 +236301,8 @@ msgid "Your power armor protects you from the acidic drizzle." msgstr "Deine Energierüstung schützt dich vor dem saurem Nieseln." #: src/weather.cpp -msgid "The acid rain stings, but is mostly harmless for now..." +msgid "The acid rain stings, but is mostly harmless for now…" msgstr "" -"Der saure Regen sticht etwas, aber er ist im Moment größtenteils harmlos." #: src/weather.cpp msgid "Your umbrella protects you from the acid rain." @@ -231529,8 +236387,8 @@ msgstr "%s Nacht" #: src/weather.cpp #, c-format -msgid "%s... %s. Highs of %s. Lows of %s. " -msgstr "%s … %s. Höhen von %s. Tiefen von %s. " +msgid "%s… %s. Highs of %s. Lows of %s. " +msgstr "" #: src/weather.cpp #, c-format @@ -231784,16 +236642,16 @@ msgstr "Wie viele?" #: src/wish.cpp #, c-format -msgid "Wish granted. Wish for more or hit [%s] to quit." -msgstr "Wunsch erfüllt. Wünsch dir mehr oder drücke [%s] zum Beenden." +msgid "Wish granted. Wish for more or hit [%s] to quit." +msgstr "" #: src/wish.cpp msgid "Select a skill to modify" msgstr "Wähle eine Fertigkeit zum Modifizieren" #: src/wish.cpp -msgid "Modify all skills..." -msgstr "Alle Fähigkeitsstufen modifizieren …" +msgid "Modify all skills…" +msgstr "" #: src/wish.cpp #, c-format @@ -231802,8 +236660,8 @@ msgstr "bei %2d: %s " #: src/wish.cpp #, c-format -msgid "Set '%s' to.." -msgstr "Setzt »%s« auf …" +msgid "Set '%s' to…" +msgstr "" #: src/wish.cpp msgid " (current)" @@ -231901,8 +236759,8 @@ msgstr "Mod-Ladereihenfolge" #: src/worldfactory.cpp #, c-format -msgid "... %s = View full description " -msgstr "... %s = Erw. Beschreibung ansehen " +msgid "…%s = View full description " +msgstr "" #: src/worldfactory.cpp msgid "--NO AVAILABLE MODS--" @@ -231939,18 +236797,15 @@ msgid "________NO NAME ENTERED!________" msgstr "____KEINEN NAMEN EINGEGEBEN!____" #: src/worldfactory.cpp -msgid "Are you SURE you're finished? World name will be randomly generated." +msgid "Are you SURE you're finished? World name will be randomly generated." msgstr "" -"Bist du SICHER, dass du fertig bist? Der Weltname wird zufallsgeneriert." #: src/worldfactory.cpp #, c-format msgid "" -"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " +"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " "%s/%s = Prev/Next Tab." msgstr "" -"[%s]:Mods als Standard speichern [%s]:Tasten [%s/%s]:Vorher./Nächste " -"Registerlkarte [%s/%s]:Vorher./Nächster Tab" #: src/worldfactory.cpp msgid "World Mods" diff --git a/lang/po/es_AR.po b/lang/po/es_AR.po index 7e348f6e6392a..67f202b6d9c04 100644 --- a/lang/po/es_AR.po +++ b/lang/po/es_AR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.D\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-06 00:47+0800\n" +"POT-Creation-Date: 2019-11-09 00:53+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" "Last-Translator: Noctivagante , 2019\n" "Language-Team: Spanish (Argentina) (https://www.transifex.com/cataclysm-dda-translators/teams/2217/es_AR/)\n" @@ -726,7 +726,7 @@ msgstr "misil casero con espiga" msgid "" "A hand-built rocket, consisting of a spike welded onto a pipe that was " "filled with improvised rocket fuel. Horribly inaccurate, as can be expected" -" of this grade of weapon, but packs a fierce punch... if it hits." +" of this grade of weapon, but packs a fierce punch… if it hits." msgstr "" "Es un misil hecho a mano, que consiste en una punta soldada a un caño que " "fue rellenado con combustible improvisado para misiles. Es espantosamente " @@ -783,8 +783,8 @@ msgstr "carburo de calcio inconcluso" #. ~ Description for unfinished calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"The incomplete process of converting coal and lime into calcium carbide. " -"Useless in this state/" +"The incomplete process of converting coal and lime into calcium carbide. " +"Useless in this state." msgstr "" "Es el proceso incompleto de convertir carbón y cal en carburo de calcio. En " "este estado no sirve para nada." @@ -907,7 +907,7 @@ msgstr "flecha de madera de punta ancha" #. ~ Description for wooden broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched wooden arrow shaft with a bladed tip. Useful for maximising " +"A fletched wooden arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a decent chance of remaining intact once " "fired." msgstr "" @@ -975,7 +975,7 @@ msgstr "flecha de aluminio de punta ancha" #. ~ Description for aluminum broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched aluminum arrow shaft with a bladed tip. Useful for maximising " +"A fletched aluminum arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a good chance of remaining intact once fired." msgstr "" "Es una flecha emplumada de aluminio con punta filosa. Buena para maximizar " @@ -1137,16 +1137,16 @@ msgstr[1] "azúfre" #. ~ Description for sulfur #: lang/json/AMMO_from_json.py msgid "" -"A handful of yellow grains of pure sulfur. Primarily used to make battery " -"acid, sulfur is sometimes used as fuel for explosives. Can be burned to " -"produce acidic smoke, that is deadly to bacteria and humans alike, or " -"oxidized to make paper-bleaching agents." +"A handful of pure sulfur. Primarily used to make battery acid, sulfur is " +"sometimes used as fuel for explosives. Can be burned to produce acidic " +"smoke, that is deadly to bacteria and humans alike, or oxidized to make " +"paper-bleaching agents." msgstr "" -"Es un puñado de granos amarillos de azufre puro. Principalmente usado para " -"hacer ácido de batería, el azufre a veces se usa como combustible para " -"explosivos. Puede quemarse para producir humo ácido, que es mortal para las " -"bacterias y también para los humanos, o puede ser oxidado para hacer agentes" -" blanqueadores de papel." +"Es un puñado de azufre puro. Principalmente usado para hacer ácido de " +"batería, el azufre a veces se usa como combustible para explosivos. Puede " +"quemarse para producir humo ácido, que es mortal para las bacterias y " +"también para los humanos, o puede ser oxidado para hacer agentes " +"blanqueadores de papel." #: lang/json/AMMO_from_json.py msgid "chunk of sulfur" @@ -1156,8 +1156,8 @@ msgstr[1] "pedazos de azufre" #. ~ Description for chunk of sulfur #: lang/json/AMMO_from_json.py -msgid "A large chunk of pure sulfur. Break it up to use it." -msgstr "Es un gran pedazo de azufre. Rompelo para poder utilizarlo." +msgid "A chunk of pure sulfur. Break it up to use it." +msgstr "Es un pedazo de azufre. Rompelo para poder utilizarlo." #: lang/json/AMMO_from_json.py msgid "cement" @@ -1289,8 +1289,8 @@ msgstr[1] "óxido de zinc" #. ~ Description for zinc oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of zinc oxide. It can be reduced into zinc, or used for some other" -" reactions of its own." +"A handful of zinc oxide. It can be reduced into zinc, or used for some " +"other reactions of its own." msgstr "" "Es un puñado de óxido de zinc. Puede ser reducido a zinc, o ser usado para " "otras reacciones." @@ -1304,7 +1304,7 @@ msgstr[1] "óxido de manganeso" #. ~ Description for manganese dioxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of manganese dioxide powder. Occurring naturally in the mineral " +"A handful of manganese dioxide powder. Occurring naturally in the mineral " "pyrolusite, it is used commercially in the production of alkaline and zinc-" "carbon batteries." msgstr "" @@ -1321,10 +1321,10 @@ msgstr[1] "cloruro de potasio" #. ~ Description for potassium chloride #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium chloride. Although it occurs naturally in the mineral" -" sylvite, it can be produced as a byproduct of the reaction of saltpeter and" -" hydrochloric acid. It can be used for making fertilizer, or potassium " -"hydroxide by way of electrolysis." +"A handful of potassium chloride. Although it occurs naturally in the " +"mineral sylvite, it can be produced as a byproduct of the reaction of " +"saltpeter and hydrochloric acid. It can be used for making fertilizer, or " +"potassium hydroxide by way of electrolysis." msgstr "" "Es un puñado de cloruro de potasio. Aunque aparece naturalmente en el " "mineral silvina, puede obtenerse como derivado de la reacción entre el " @@ -1340,8 +1340,8 @@ msgstr[1] "hidróxido de potasio" #. ~ Description for potassium hydroxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium hydroxide. Commonly called caustic potash, it was " -"mainly used industrially for its caustic nature. It can be used as an " +"A handful of potassium hydroxide. Commonly called caustic potash, it was " +"mainly used industrially for its caustic nature. It can be used as an " "electrolyte in alkaline batteries, among other applications." msgstr "" "Es un puñado de hidróxido de potasio. Comúnmente denominado potasa cáustica," @@ -1376,9 +1376,9 @@ msgstr[1] "ácido hidroclórico" #. ~ Description for hydrochloric acid #: lang/json/AMMO_from_json.py msgid "" -"Hydrochloric acid, also known as muriatic acid. It is a strong acid that has" -" a distinctive smell, important and frequently used ever since its " -"discovery. It still has a vast multitude of uses." +"Hydrochloric acid, also known as muriatic acid. It is a strong acid that " +"has a distinctive smell, important and frequently used ever since its " +"discovery. It still has a vast multitude of uses." msgstr "" "Es ácido hidroclórico, también conocido como ácido muriático. Es un ácido " "fuerte con un olor distintivo, importante y usado frecuentemente desde su " @@ -1431,17 +1431,17 @@ msgstr[1] "óxido de cromo" #. ~ Description for chromium oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of chromium oxide pellets. This substance, typically known as the" -" only stable green pigment for paints, is also a mild oxidizer, which can be" -" mixed with aluminum powder to make thermite for welding. If one had access" -" to a CVD machine and a laboratory worth of reagents, they might be able to " +"A handful of chromium oxide. This substance, typically known as the only " +"stable green pigment for paints, is also a mild oxidizer, which can be mixed" +" with aluminum powder to make thermite for welding. If one had access to a " +"CVD machine and a laboratory worth of reagents, they might be able to " "produce very durable ceramic layers." msgstr "" -"Un puñado de bolitas de óxido de cromo. Esta sustancia, conocida normalmente" -" como el único pigmento verde estable para pintura, es también un oxidante " -"leve, y puede ser mezclado con polvo de aluminio para hacer termita para " -"soldadura. Si se tiene acceso a una máquina de CVD y a los reactivos de un " -"laboratorio, se podría producir capas de cerámica muy resistentes." +"Es un puñado de óxido de cromo. Esta sustancia, conocida normalmente como el" +" único pigmento verde estable para pintura, es también un oxidante leve, y " +"puede ser mezclado con polvo de aluminio para hacer termita para soldadura. " +"Si se tiene acceso a una máquina de CVD y a los reactivos de un laboratorio," +" se podría producir capas de cerámica muy resistentes." #: lang/json/AMMO_from_json.py msgid "calcium carbide" @@ -1452,13 +1452,13 @@ msgstr[1] "carburo de calcio" #. ~ Description for calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"A handful of calcium carbide chunks, giving off a faint, garlic-like smell." -" Commercially, calcium carbide was used for on-the-spot manufacture of " +"A handful of calcium carbide, giving off a faint, garlic-like smell. " +"Commercially, calcium carbide was used for on-the-spot manufacture of " "acetylene and historically to power acetylene lamps. If mixed with water " "and sealed, it will explode with little strength, but with relatively loud " "noise and could maybe be used as a decoy." msgstr "" -"Es un puñado de pedazos de carburo de calcio, que tiene un leve olor a ajo. " +"Es un puñado de carburo de calcio, que tiene un leve olor a ajo. " "Comercialmente, el carburo de calcio era usado para la producción inmediata " "de acetileno y, antiguamente, para alimentar las lámparas de acetileno. Si " "se mezcla con agua y se sella, explotará con poca fuerza, pero haciendo " @@ -1685,8 +1685,8 @@ msgstr[1] "" #: lang/json/AMMO_from_json.py msgid "" "Some match head powder from match heads, similar to black gunpowder but a " -"bit weaker. It can be used in crafting explosives and fuses when other more " -"suitable candidates are less available." +"bit weaker. It can be used in crafting explosives and fuses when other more" +" suitable candidates are less available." msgstr "" #: lang/json/AMMO_from_json.py @@ -2112,7 +2112,7 @@ msgstr[1] "combustible para lanzallamas" #. ~ Description for flamethrower fuel #: lang/json/AMMO_from_json.py msgid "" -"A mixture of gasoline and diesel oil in equal parts. Its combustion " +"A mixture of gasoline and diesel oil in equal parts. Its combustion " "properties make it unfit for applications where you would use any of them " "separately, but it can be used to feed a flamethrower." msgstr "" @@ -3679,41 +3679,55 @@ msgid "reloaded .460 Rowland" msgstr ".460 Rowland recargada" #: lang/json/AMMO_from_json.py -msgid ".50 BMG tracer" -msgstr ".50 BMG trazadora" +msgid ".50 BMG M17 tracer" +msgstr ".50 BMG M17 trazadora" -#. ~ Description for .50 BMG tracer +#. ~ Description for .50 BMG M17 tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances." +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances." +msgstr "" +"Es la variante trazadora de la poderosa bala .50 BMG. Las balas trazadoras " +"ayudan a mantener apuntada el arma mientras se dispara, con el riesgo de " +"incendiar sustancias inflamables." + +#: lang/json/AMMO_from_json.py +msgid ".50 BMG M33 Ball" +msgstr ".50 BMG M33 bola" + +#. ~ Description for .50 BMG M33 Ball +#: lang/json/AMMO_from_json.py +msgid "" +".50 BMG ammunition with mild steel cored 661gr FMJ bullets. The .50 BMG is " +"a very powerful rifle round designed for anti-aircraft use, later adapted to" +" anti-vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -"Es la variante trazadora de la poderosa bala .50 BMG de francotirador. Las " -"balas trazadoras ayudan a mantener apuntada el arma mientras se dispara, con" -" el riesgo de incendiar sustancias inflamables." +"Es munición .50 BMG con núcleo de acero, 661gr FMJ. Es una bala de rifle muy" +" poderosa diseñada para uso anti-aéreo, y luego adaptada como anti-vehicular" +" y anti-personal. Su estupenda energía y penetración de blindaje la " +"convierten en una de las balas más letales, con la desventaja de su drástico" +" retroceso y su ruido." #: lang/json/AMMO_from_json.py -msgid ".50 BMG Ball" -msgstr ".50 BMG bola" +msgid ".50 BMG Match" +msgstr "" -#. ~ Description for .50 BMG Ball +#. ~ Description for .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise." +".50 BMG FMJ lead core ammunition manufactured with tighter tolerances for " +"long-range competition shooting or other precision rifle use." msgstr "" -"La .50 BMG es una bala de rifle muy poderosa diseñada para largo alcance. Su" -" estupenda precisión y capacidad de penetración de blindaje la convierten en" -" una de las bala más mortales, con la desventaja del retroceso drástico y " -"ser ruidosa." #: lang/json/AMMO_from_json.py -msgid ".50 BMG AP" -msgstr ".50 BMG AP" +msgid ".50 BMG M2 AP" +msgstr ".50 BMG M2 AP" -#. ~ Description for .50 BMG AP +#. ~ Description for .50 BMG M2 AP #: lang/json/AMMO_from_json.py msgid "" "Variant of the .50 BMG round that uses a core of very dense, hardened " @@ -3722,6 +3736,31 @@ msgstr "" "Una variante de la .50 BMG con su núcleo hecho de carburo de tungsteno " "endurecido. La penetración es mejor pero su capacidad de daño es menor." +#: lang/json/AMMO_from_json.py +msgid ".50 BMG Raufoss Mk 211" +msgstr ".50 BMG Raufoss Mk 211" + +#. ~ Description for .50 BMG Raufoss Mk 211 +#: lang/json/AMMO_from_json.py +msgid "" +"This variant of the .50 BMG round makes the most of the caliber's potential " +"payload delivery: the tip is loaded with an incendiary mix, which ignites on" +" impact, detonating the RDX or PETN charge. This also ignites a secondary " +"zirconium powder incendiary charge that surrounds a tungsten carbide " +"penetrator, both encased by a mild steel cup. Fragments from the cup and " +"burning metallic powder follow the penetrator through armored targets, " +"increasing lethality. These rare, complicated, and expensive rounds are not" +" likely to be manufactured again; use them wisely." +msgstr "" +"Esta variante de la .50 BMG logra el mayor potencial de su carga explosiva: " +"la punta está cargada con una mezcla incendiaria, que se enciende al hacer " +"impacto, detonando la carga RDX o PETN. Esto también enciende la carga " +"secundaria de polvo de circonio que envuelve el perforante de carburo de " +"tungsteno, dentro de una copa de acero dulce. Los fragmentos de la copa y el" +" polvo metálico encendido van detrás del perforante a través del objetivo, " +"lo que aumenta su letalidad. Es improbable que estas balas raras, " +"complicadas y caras sean fabricadas nuevamente. Usalas inteligentemente." + #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG tracer" msgstr ".50 BMG trazadora recargada" @@ -3729,31 +3768,32 @@ msgstr ".50 BMG trazadora recargada" #. ~ Description for reloaded .50 BMG tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances. This one has been hand-reloaded." +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances. This one has been hand-reloaded." msgstr "" -"Es la variante trazadora de la poderosa bala .50 BMG de francotirador. Las " -"balas trazadoras ayudan a mantener apuntada el arma mientras se dispara, con" -" el riesgo de incendiar sustancias inflamables. Esta ha sido recargada a " -"mano." +"Es la variante trazadora de la poderosa bala .50 BMG. Las balas trazadoras " +"ayudan a mantener apuntada el arma mientras se dispara, con el riesgo de " +"incendiar sustancias inflamables. Esta ha sido recargada a mano." #: lang/json/AMMO_from_json.py -msgid "reloaded .50 BMG Ball" -msgstr ".50 BMG bola recargadas" +msgid "reloaded .50 BMG Match" +msgstr "" -#. ~ Description for reloaded .50 BMG Ball +#. ~ Description for reloaded .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise. This" -" one has been hand-reloaded." +".50 BMG ammunition with lead-cored FMJ bullets. The .50 BMG is a very " +"powerful rifle round designed for anti-aircraft use, later adapted to anti-" +"vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -"La .50 BMG es una bala de rifle muy poderosa diseñada para largo alcance. Su" -" estupenda precisión y capacidad de penetración de blindaje la convierten en" -" una de las bala más mortales, con la desventaja del retroceso drástico y " -"ser ruidosa. Esta ha sido recargada a mano." +"Es munición .50 BMG FMJ con núcleo de plomo. Es una bala de rifle muy " +"poderosa diseñada para uso anti-aéreo, y luego adaptada como anti-vehicular " +"y anti-personal. Su estupenda energía y penetración de blindaje la " +"convierten en una de las balas más letales, con la desventaja de su drástico" +" retroceso y su ruido." #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG AP" @@ -3762,13 +3802,9 @@ msgstr ".50 BMG AP recargadas" #. ~ Description for reloaded .50 BMG AP #: lang/json/AMMO_from_json.py msgid "" -"Variant of the .50 BMG round that uses a core of very dense, hardened " -"tungsten steel. Penetration is increased, but damage is reduced. This one " -"has been hand-reloaded." +"Variant of the .50 BMG round that uses a core hardened steel. Penetration " +"is increased, but damage is reduced. This one has been hand-reloaded." msgstr "" -"Una variante de la .50 BMG con su núcleo hecho de carburo de tungsteno " -"endurecido. La penetración es mejor pero su capacidad de daño es menor. Esta" -" ha sido recargada a mano." #: lang/json/AMMO_from_json.py msgid ".500 S&W Magnum" @@ -4895,6 +4931,106 @@ msgstr "Son unas semillas de hongos." msgid "fungal flower" msgstr "flor fúngica" +#: lang/json/AMMO_from_json.py +msgid "potassium alum" +msgstr "" + +#. ~ Description for potassium alum +#: lang/json/AMMO_from_json.py +msgid "" +"Small water-soluble white crystals with watery metallic odor, historically " +"used for many different purposes. Also known as potash alum and potassium " +"aluminum sulfate; often called simply alum, as it's the most important " +"member of the generic class of compounds called alums." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cloth dye powder" +msgstr "" + +#. ~ Description for cloth dye powder +#: lang/json/AMMO_from_json.py +msgid "" +"This is a powdered colorful cloth dye, which can be used to dye many fabrics" +" if combined with water and some mordant." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel buckle" +msgstr "" + +#. ~ Description for steel buckle +#: lang/json/AMMO_from_json.py +msgid "A steel buckle, like that usually found on belts." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "plastic button" +msgstr "" + +#. ~ Description for plastic button +#: lang/json/AMMO_from_json.py +msgid "A plastic button, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel button" +msgstr "" + +#. ~ Description for steel button +#: lang/json/AMMO_from_json.py +msgid "A steel button, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "wooden button" +msgstr "" + +#. ~ Description for wooden button +#: lang/json/AMMO_from_json.py +msgid "A crude wooden button, usually found on very old clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel snap fastener" +msgstr "" + +#. ~ Description for steel snap fastener +#: lang/json/AMMO_from_json.py +msgid "A steel snap fastener, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "touch fastener" +msgstr "" + +#. ~ Description for touch fastener +#: lang/json/AMMO_from_json.py +msgid "" +"This is a pair of cloth strips, one of which has tiny hooks and another has " +"tiny loops. Useful as a fastener for clothing and footwear." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "long plastic zipper" +msgstr "" + +#. ~ Description for long plastic zipper +#: lang/json/AMMO_from_json.py +msgid "A long zipper made from plastic, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "short plastic zipper" +msgstr "" + +#. ~ Description for short plastic zipper +#: lang/json/AMMO_from_json.py +msgid "" +"A short zipper made from plastic, usually found on footwear or clothing " +"pockets." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "red paint" msgid_plural "red paint" @@ -5055,14 +5191,10 @@ msgstr[1] "zinc" #: lang/json/AMMO_from_json.py msgid "" "A slightly brittle metal. Apart from being an essential mineral that the " -"body needs, it reacts readily with acids, alkalis and other non-metals. It " +"body needs, it reacts readily with acids, alkalis and other non-metals. It " "can be crushed to make zinc powder, used in the production of batteries, " "among other things." msgstr "" -"Es un metal levemente brillante. Además de ser un mineral esencial para el " -"cuerpo, reacciona con ácidos, alcalinos y otros no metales. Puede ser " -"convertido en polvo de zinc, que se usa en la producción de baterías, entre " -"otras cosas." #: lang/json/AMMO_from_json.py msgid "lead" @@ -5147,11 +5279,9 @@ msgstr "bisagra de puerta" #. ~ Description for door hinge #: lang/json/AMMO_from_json.py msgid "" -"A small metal hinge with two metal plates with screw holes. Useful for " +"A small metal hinge with two metal plates with screw holes. Useful for " "making doors." msgstr "" -"Es una pequeña bisagra de metal con dos pedazos con agujeros para tornillos." -" Se usa para hacer puertas." #: lang/json/AMMO_from_json.py msgid "tin powder" @@ -5160,11 +5290,9 @@ msgstr "polvo de estaño" #. ~ Description for tin powder #: lang/json/AMMO_from_json.py msgid "" -"A fine gray powder composed of tin, usable for making solder and lining " +"A fine gray powder composed of tin, usable for making solder and lining " "containers to prevent corrosion." msgstr "" -"Es un polvo fino y gris compuesto de estaño, útil para soldaduras y revestir" -" contenedores para evitar la corrosión." #: lang/json/AMMO_from_json.py msgid "solder" @@ -5205,6 +5333,359 @@ msgid "" "explosions." msgstr "" +#: lang/json/AMMO_from_json.py +msgid "rubber sole" +msgstr "" + +#. ~ Description for rubber sole +#: lang/json/AMMO_from_json.py +msgid "" +"This is a sole made from rubber, usually found on the bottoms of boots. Can" +" be used for making actual boots." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cotton scraps" +msgid_plural "cotton scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for cotton scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of cotton, waste material from tailoring " +"projects. Not useful for much and usually disposed of, but can be recycled " +"into some thread if you really want." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "faux fur scraps" +msgid_plural "faux fur scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for faux fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of faux fur, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "felt scraps" +msgid_plural "felt scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for felt scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of felt, waste material from tailoring projects." +" Not useful for much and usually disposed of, but can be recycled into some" +" wool fiber if you really want." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "fur scraps" +msgid_plural "fur scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of fur, waste material from tailoring projects. " +"Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar scraps" +msgid_plural "Kevlar scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Kevlar scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of Kevlar fabric, waste material from tailoring " +"projects. Normally it's disposed of, but since Kevlar would be very " +"difficult to make in a post-apocalyptic world, it might be worth recycling " +"it for Kevlar thread." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "leather scraps" +msgid_plural "leather scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for leather scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of leather, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lycra scraps" +msgid_plural "lycra scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lycra scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of lycra, waste material from tailoring projects." +" Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "neoprene scraps" +msgid_plural "neoprene scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for neoprene scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of neoprene, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric scraps" +msgid_plural "synthetic fabric scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for synthetic fabric scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of synthetic fabric, waste material from " +"tailoring projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex scraps" +msgid_plural "Nomex scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Nomex scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of heat-resistant Nomex fabric, waste material " +"from tailoring projects. Normally it's disposed of, but since Nomex would " +"be very difficult to make in a post-apocalyptic world, it might be worth " +"recycling it." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cotton sheet" +msgstr "" + +#. ~ Description for cotton sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of cotton fabric, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork cotton clothing parts" +msgid_plural "patchwork cotton clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork cotton clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from cotton patches in " +"a patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "faux fur sheet" +msgstr "" + +#. ~ Description for faux fur sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of fake synthetic colorful fur, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork faux fur clothing parts" +msgid_plural "patchwork faux fur clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork faux fur clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from faux fur patches " +"in a patchwork fashion. Suitable for making most clothing, though it's much" +" less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "felt sheet" +msgstr "" + +#. ~ Description for felt sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of felt, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork felt clothing parts" +msgid_plural "patchwork felt clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork felt clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from felt patches in a " +"patchwork fashion. Suitable for making most clothing, though it's much less" +" time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar sheet" +msgstr "" + +#. ~ Description for Kevlar sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Kevlar synthetic fabric, suitable for making bulletproof armor. " +"In this form, unlike rigid plates, it can be stitched." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lycra sheet" +msgstr "" + +#. ~ Description for lycra sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of synthetic fabric blended with stretchy lycra fibers, suitable for" +" making flexible yet strong clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork lycra clothing parts" +msgid_plural "patchwork lycra clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork lycra clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from lycra patches in a" +" patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py lang/json/GENERIC_from_json.py +msgid "neoprene sheet" +msgid_plural "neoprene sheets" +msgstr[0] "lámina de neopreno" +msgstr[1] "láminas de neopreno" + +#. ~ Description for neoprene sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of neoprene, a synthetic rubber, suitable for making underwater " +"gear." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork neoprene clothing parts" +msgid_plural "patchwork neoprene clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork neoprene clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from neoprene patches " +"in a patchwork fashion, with waterproofed seams. Suitable for making most " +"clothing, though it's much less time-efficient than if using proper material" +" sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex sheet" +msgstr "" + +#. ~ Description for Nomex sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Nomex synthetic fabric, suitable for making heat-resistant " +"clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork Nomex clothing parts" +msgid_plural "patchwork Nomex clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork Nomex clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together with Nomex thread from " +"Nomex patches in a patchwork fashion. Suitable for making most clothing, " +"though it's much less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric sheet" +msgstr "" + +#. ~ Description for synthetic fabric sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of synthetic fabric, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork synthetic fabric clothing parts" +msgid_plural "patchwork synthetic fabric clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork synthetic fabric clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from synthetic fabric " +"patches in a patchwork fashion. Suitable for making most clothing, though " +"it's much less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar thread" +msgstr "" + +#. ~ Description for Kevlar thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some very durable Kevlar thread that would be particularly useful for making" +" ballistic armor, though it's fine to use in place of normal thread too, in " +"most cases. Making armor-grade Kevlar sheets from this would need a " +"particularly tight weave, and so would need some specialized machinery." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex thread" +msgstr "" + +#. ~ Description for Nomex thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some heat-resistant Nomex thread that would be particularly useful for " +"making heat protection gear, though it's fine to use in place of normal " +"thread too, in most cases." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "handloaded .22 CB" msgid_plural "handloaded .22 CB" @@ -5814,6 +6295,18 @@ msgstr "" "militar, diseñada para arder en el impacto, penetrando blindaje y " "encendiendo sustancias inflamables." +#: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py +msgid "orichalcum arrow" +msgstr "" + +#. ~ Description for orichalcum arrow +#: lang/json/AMMO_from_json.py +msgid "" +"An arrow composed of a sliver of orichalcum. The arrow has a mysterious " +"glow. Has a very high chance of staying intact when fired, however can only" +" be fired from Ichaival." +msgstr "" + #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "dragon blood" msgid_plural "dragon blood" @@ -5861,11 +6354,30 @@ msgstr[1] "maná cristalizado" #. ~ Description for crystallized mana #: lang/json/AMMO_from_json.py msgid "" -"Some crystallized mana. This can be reloaded into rechargable mana crystals," -" but can never be unloaded." +"Some crystallized mana. This can be reloaded into rechargable mana " +"crystals, but can never be unloaded." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lump of orichalcum" +msgstr "" + +#. ~ Description for lump of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A heavy formed piece of strange metal. Useful for some crafting recipes." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "sliver of orichalcum" +msgstr "" + +#. ~ Description for sliver of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A sliver of a strange glowing metal. Useful as a weapon, but better suited " +"for crafting." msgstr "" -"Es un poco de maná cristalizado. Puede ser puesto en cristales recargables " -"de maná, pero no puede ser descargado." #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "fire lance charge" @@ -7059,8 +7571,10 @@ msgstr[1] "tahalís" #. ~ Use action holster_msg for pair of rollerblades. #. ~ Use action holster_msg for pair of rollerskates. #. ~ Use action holster_msg for C.R.I.T web belt. +#. ~ Use action holster_msg for technomancer's toolbelt. #. ~ Use action holster_msg for hollow cane. -#: lang/json/ARMOR_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/ARMOR_from_json.py lang/json/ARMOR_from_json.py +#: lang/json/GENERIC_from_json.py #, no-python-format msgid "You sheath your %s" msgstr "Enfundás tu %s." @@ -7766,6 +8280,46 @@ msgstr "" "Es un chaleco de cota de malla. No tiene mangas pero tiene pequeñas correas " "diseñadas para distribuir mejor el peso." +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail chausses" +msgid_plural "pairs of chainmail chausses" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of chainmail chausses +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail chausses that cover the feet, like booties made of " +"chainmail." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail gloves" +msgid_plural "pairs of chainmail gloves" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of chainmail gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail gloves. They fully enclose the fingers and provide " +"excellent protection, but are somewhat cumbersome." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "faraday chainmail suit" +msgid_plural "faraday chainmail suits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for faraday chainmail suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A fully customized chainmail suit that can be worn over your normal " +"clothing. The suit is conductively interconnected, protecting against " +"electricity." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "leather chaps" msgid_plural "leather chaps" @@ -7933,6 +8487,28 @@ msgstr "" "Un disfraz de payaso muy colorido y muy ridículo. Tiene buena capacidad de " "almacenamiento." +#: lang/json/ARMOR_from_json.py +msgid "clown wig" +msgid_plural "clown wigs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for clown wig +#: lang/json/ARMOR_from_json.py +msgid "A colorful and ridiculous wig fit for a clown." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "clown nose" +msgid_plural "clown noses" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for clown nose +#: lang/json/ARMOR_from_json.py +msgid "A red latex nose often seen being worn by clowns." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fur coat" msgid_plural "fur coats" @@ -8231,6 +8807,22 @@ msgid "A white button-down shirt with long sleeves. Looks professional!" msgstr "" "Una camisa blanca con mangas largas. ¡Con esto parecés un profesional!" +#: lang/json/ARMOR_from_json.py +msgid "drinking hat" +msgid_plural "drinking hats" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for drinking hat +#: lang/json/ARMOR_from_json.py +msgid "" +"This is an improvised harness that can be worn over other headgear or bare " +"head, made from two small liquid containers, a rubber hose, a bundle of " +"steel wire, and some cordage. A convenient and simple device for hands-free" +" drinking, though the liquid inside would spill if you put it into your " +"backpack." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "wedding dress" msgid_plural "wedding dresses" @@ -8384,6 +8976,32 @@ msgstr[1] "riñoneras" msgid "Provides a bit of extra storage, with minimal encumbrance." msgstr "Nos da un poco más de almacenamiento, y no es muy incómoda." +#: lang/json/ARMOR_from_json.py +msgid "underarm protector" +msgid_plural "underarm protectors" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for underarm protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A sturdy cotton plastron that protects much of the torso, the dominant " +"shoulder, and underarm while fencing." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "plastic chest protector" +msgid_plural "plastic chest protectors" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for plastic chest protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A rigid plastic plastron with molded cups to be worn by female fencers for " +"protection while fencing." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fencing jacket" msgid_plural "fencing jackets" @@ -8400,6 +9018,34 @@ msgstr "" "esgrimistas para prevenir accidentes. No tiene capacidad de almacenamiento, " "pero es muy cómoda." +#: lang/json/ARMOR_from_json.py +msgid "lamé (foil)" +msgid_plural "lamé (foil)s" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lamé (foil) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive vest with the zipper on the back used by " +"fencers for electronic scoring. Its outer layer is a woven mix of sturdy " +"cotton and stainless steel strands." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "lamé (saber)" +msgid_plural "lamé (saber)s" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lamé (saber) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive jacket used by fencers for electronic " +"scoring. Its outer layer is a woven mix of sturdy cotton and stainless " +"steel strands." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fencing mask" msgid_plural "fencing masks" @@ -8426,6 +9072,32 @@ msgstr "" "Un par de pantalones reforzados usado por los esgrimistas para prevenir " "lesiones." +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet" +msgid_plural "fencing gauntlets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fencing gauntlet +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet (left)" +msgid_plural "fencing gauntlet (left)s" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fencing gauntlet (left) +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers. This one is left-handed." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of fire gauntlets" msgid_plural "pairs of fire gauntlets" @@ -8846,22 +9518,6 @@ msgstr[1] "pares de guantes de piel" msgid "A pair of warm fur gloves. They are somewhat cumbersome." msgstr "Es un par de guantes de piel, muy abrigados. Son un poco incómodos." -#: lang/json/ARMOR_from_json.py -msgid "pair of survivor wetsuit gloves" -msgid_plural "pairs of survivor wetsuit gloves" -msgstr[0] "par de guantes acuáticos de supervivencia" -msgstr[1] "pares de guantes acuáticos de supervivencia" - -#. ~ Description for pair of survivor wetsuit gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" -" wear while providing maximum protection under extreme conditions." -msgstr "" -"Un par de guantes personalizados de neopreno reforzados con kevlar. Están " -"modificados para ser cómodos y brindar la máxima protección en condiciones " -"extremas." - #: lang/json/ARMOR_from_json.py msgid "pair of heavy survivor gloves" msgid_plural "pairs of heavy survivor gloves" @@ -8931,6 +9587,20 @@ msgstr "" "modificados para ser cómodos y brindar una máxima protección en condiciones " "extremas." +#: lang/json/ARMOR_from_json.py +msgid "pair of fingerless survivor gloves" +msgid_plural "pairs of fingerless survivor gloves" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of fingerless survivor gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored cloth gloves with no fingers, modified " +"to be easy to wear while providing maximum protection under extreme " +"conditions." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of medical gloves" msgid_plural "pairs of medical gloves" @@ -9192,17 +9862,6 @@ msgstr "" "Es un par de anteojos grandes que cubren completamente los ojos. Brinda " "excelente protección contra los daños." -#: lang/json/ARMOR_from_json.py -msgid "pair of swim goggles" -msgid_plural "pairs of swim goggles" -msgstr[0] "par de antiparras" -msgstr[1] "pares de antiparras" - -#. ~ Description for pair of swim goggles -#: lang/json/ARMOR_from_json.py -msgid "A small pair of goggles made for swimming." -msgstr "Un par de antiparras pequeñas para nadar." - #: lang/json/ARMOR_from_json.py msgid "pair of welding goggles" msgid_plural "pairs of welding goggles" @@ -9245,23 +9904,6 @@ msgstr "" "Un abrigo pesado de lana de cuerpo entero. Incómodo pero abrigado y con " "bolsillos grandes." -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit" -msgid_plural "survivor wetsuits" -msgstr[0] "traje acuático de supervivencia" -msgstr[1] "trajes acuáticos de supervivencia" - -#. ~ Description for survivor wetsuit -#: lang/json/ARMOR_from_json.py -msgid "" -"A lightweight, hand-built combination armor made from a cut-down bulletproof" -" vest and a reinforced neoprene wetsuit. Protects from the elements as well" -" as from harm." -msgstr "" -"Es un traje ligero hecho a mano, es una combinación entre un chaleco " -"antibalas cortado y un traje acuático de neopreno reforzado. Protege tanto " -"del ambiente como del daño." - #: lang/json/ARMOR_from_json.py msgid "hakama" msgid_plural "hakamas" @@ -9838,20 +10480,6 @@ msgstr "" "Es una capucha personalizada de nomex reforzada con kevlar, muy resistente y" " duradera." -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit hood" -msgid_plural "survivor wetsuit hoods" -msgstr[0] "capucha acuática de supervivencia" -msgstr[1] "capuchas acuáticas de supervivencia" - -#. ~ Description for survivor wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "" -"A customized armored neoprene and Kevlar hood, very strong and durable." -msgstr "" -"Es una capucha personalizada de neopreno reforzada con kevlar, muy " -"resistente y duradera." - #: lang/json/ARMOR_from_json.py msgid "light survivor hood" msgid_plural "light survivor hoods" @@ -10660,18 +11288,25 @@ msgstr[0] "cinturón de cuero" msgstr[1] "cinturones de cuero" #. ~ Use action holster_msg for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_msg for magic leather belt. +#. ~ Use action holster_msg for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py #, no-python-format msgid "You tuck your %s into your %s" msgstr "Metés tu %s en tu %s." #. ~ Use action holster_prompt for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_prompt for magic leather belt. +#. ~ Use action holster_prompt for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Stick what into your belt" msgstr "Qué es lo que querés meter en el cinturón?" #. ~ Description for leather belt -#: lang/json/ARMOR_from_json.py +#. ~ Description for magic leather belt +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py msgid "A leather belt. Useful for making your pair of pants fit." msgstr "" "Es un cinturón de cuero. Útil para hacer que los pantalones te queden bien." @@ -10864,6 +11499,20 @@ msgstr "" "Son unas pierneras que se sujetan a los muslos con correas con hebillas, y " "sirven para llevar cosas. Son las que utilizan los soldados." +#: lang/json/ARMOR_from_json.py +msgid "leotard" +msgid_plural "leotard" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for leotard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment, covering the body from the groin to the " +"shoulders. With its deep scoop-cut back and high waist cuts, this garment " +"is perfect for showcasing your physique on the stage." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "Linux t-shirt" msgid_plural "Linux t-shirts" @@ -11804,38 +12453,6 @@ msgstr "" "Es una funda larga y ajustable para espadas y otras armas blancas grandes. " "Hay que usarla para enfundar y desenfundar el arma." -#: lang/json/ARMOR_from_json.py -msgid "shark suit" -msgid_plural "shark suits" -msgstr[0] "traje anti-tiburón" -msgstr[1] "trajes anti-tiburón" - -#. ~ Description for shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It comes with attached plastic helmet and booties." -msgstr "" -"Un traje entero de cota de malla que usan los buzos para protegerse contra " -"las mordidas de tiburón. Viene con un casco de plástico y botas." - -#: lang/json/ARMOR_from_json.py -msgid "faraday shark suit" -msgid_plural "faraday shark suits" -msgstr[0] "traje anti-tiburón faraday" -msgstr[1] "trajes anti-tiburón faraday" - -#. ~ Description for faraday shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It has been conductively interconnected, protecting against " -"electricity." -msgstr "" -"Un traje entero de cota de malla que usan los buzos para protegerse contra " -"las mordidas de tiburón. Ha sido interconectado conductivamente, lo que " -"brinda protección contra la electricidad." - #: lang/json/ARMOR_from_json.py msgid "sheath" msgid_plural "sheathes" @@ -11917,6 +12534,19 @@ msgstr "" "Es un pantalón corto de jean, grueso y resistente. Excelente material para " "protegerte de las heridas cortantes." +#: lang/json/ARMOR_from_json.py +msgid "thermal shirt" +msgid_plural "thermal shirts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for thermal shirt +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, form-fitting long-sleeved spandex undershirt that helps " +"maintains body temperature." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "skinny tie" msgid_plural "skinny ties" @@ -12440,13 +13070,9 @@ msgstr[1] "trajes de paciente" #: lang/json/ARMOR_from_json.py msgid "" "A thin, short-sleeved and short-legged one-piece suit. Judging by the odd " -"tailoring and adjustment points... maybe you don't want to know who wore " -"it. Provides nominal storage and is not very encumbering." +"tailoring and adjustment points… maybe you don't want to know who wore it. " +"Provides nominal storage and is not very encumbering." msgstr "" -"Un traje fino de mangas cortas tanto en los brazos como en las piernas. A " -"juzgar por el extraño corte y los puntos de ajuste... quizá sea mejor no " -"saber quién lo usó antes. Tiene una mínimia capacidad de almacenamiento y no" -" es incómodo." #: lang/json/ARMOR_from_json.py msgid "suit" @@ -12529,6 +13155,7 @@ msgstr[1] "cinturones de supervivencia" #. ~ Use action holster_prompt for survivor utility belt. #. ~ Use action holster_prompt for hiking backpack. #. ~ Use action holster_prompt for C.R.I.T web belt. +#. ~ Use action holster_prompt for technomancer's toolbelt. #: lang/json/ARMOR_from_json.py msgid "Sheath blade" msgstr "Enfundar cuchilla" @@ -12952,17 +13579,6 @@ msgstr "" "de un asentamiento, o el capitán de una pandilla postapocalíptica, este es " "el sombrero indicado para vos." -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming trunks" -msgid_plural "pairs of swimming trunks" -msgstr[0] "malla" -msgstr[1] "mallas" - -#. ~ Description for pair of swimming trunks -#: lang/json/ARMOR_from_json.py -msgid "A pair of swimming trunks, with netting." -msgstr "Una malla con una pequeña red interior para mejor soporte." - #: lang/json/ARMOR_from_json.py msgid "t-shirt" msgid_plural "t-shirts" @@ -13265,60 +13881,6 @@ msgstr "" "Es un chaleco elegante. Ideal para esos momentos donde usar solo una remera " "sería demasiado informal, pero un traje sería demasiado elegante." -#: lang/json/ARMOR_from_json.py -msgid "wetsuit" -msgid_plural "wetsuits" -msgstr[0] "traje acuático" -msgstr[1] "trajes acuáticos" - -#. ~ Description for wetsuit -#: lang/json/ARMOR_from_json.py -msgid "A full-body neoprene wetsuit." -msgstr "Un traje de neopreno de cuerpo entero." - -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming gloves" -msgid_plural "pairs of swimming gloves" -msgstr[0] "par de guantes de nado" -msgstr[1] "pares de guantes de nado" - -#. ~ Description for pair of swimming gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of very flexible neoprene-silicone rubber gloves, suitable for " -"underwater use." -msgstr "" -"Es un par de guantes muy flexibles de neopreno y goma de silicona. Perfectos" -" para usar debajo del agua." - -#: lang/json/ARMOR_from_json.py -msgid "wetsuit hood" -msgid_plural "wetsuit hoods" -msgstr[0] "capucha acuática" -msgstr[1] "capuchas acuáticas" - -#. ~ Description for wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "A neoprene hood, commonly worn by divers." -msgstr "Una capucha de neopreno, generalmente utilizada por buzos." - -#: lang/json/ARMOR_from_json.py -msgid "spring suit" -msgid_plural "spring suits" -msgstr[0] "traje acuático corto" -msgstr[1] "trajes acuáticos cortos" - -#. ~ Description for spring suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A long-sleeved spring wetsuit with pink color details and cleavage-" -"enhancing, hip-accentuating construction. Not as protective as a full-body " -"suit, but also less restrictive." -msgstr "" -"Es un traje de neopreno corto con mangas largas y detalles en rosa, y " -"entallado a la cadera y el escote. No protege tanto como el traje largo, " -"pero es más cómodo." - #: lang/json/ARMOR_from_json.py msgid "pair of army winter gloves" msgid_plural "pairs of army winter gloves" @@ -13692,6 +14254,35 @@ msgstr "" "Una tela plástica con varias arandelas para poder atarla con una soga o una " "cuerda. Es útil para improvisar un techo durante la lluvia." +#: lang/json/ARMOR_from_json.py +msgid "unitard" +msgid_plural "unitards" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for unitard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment resembling a crew necked leotard combined with " +"leggings. Commonly used by gymnasts, dancers and equestrian vaulters, the " +"unitard provides overall coverage with great flexibility." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "zentai" +msgid_plural "zentais" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for zentai +#: lang/json/ARMOR_from_json.py +msgid "" +"Short for 'zenshin taitsu', a zentai is a form fitting full body nylon and " +"spandex garment. Though it covers your face, you can see through the " +"integrated hood. With a couple of these and some friends and you could put " +"on some kabuki." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of bone arm guards" msgid_plural "pairs of bone arm guards" @@ -16747,6 +17338,161 @@ msgstr "" "armaduras de poder de DoubleTech, los controles y sistemas de regulación de " "ambiente requieren contacto directo con la piel." +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming trunks" +msgid_plural "pairs of swimming trunks" +msgstr[0] "malla" +msgstr[1] "mallas" + +#. ~ Description for pair of swimming trunks +#: lang/json/ARMOR_from_json.py +msgid "A pair of swimming trunks, with netting." +msgstr "Una malla con una pequeña red interior para mejor soporte." + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit" +msgid_plural "wetsuits" +msgstr[0] "traje acuático" +msgstr[1] "trajes acuáticos" + +#. ~ Description for wetsuit +#: lang/json/ARMOR_from_json.py +msgid "A full-body neoprene wetsuit." +msgstr "Un traje de neopreno de cuerpo entero." + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit hood" +msgid_plural "wetsuit hoods" +msgstr[0] "capucha acuática" +msgstr[1] "capuchas acuáticas" + +#. ~ Description for wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "A neoprene hood, commonly worn by divers." +msgstr "Una capucha de neopreno, generalmente utilizada por buzos." + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit hood" +msgid_plural "survivor wetsuit hoods" +msgstr[0] "capucha acuática de supervivencia" +msgstr[1] "capuchas acuáticas de supervivencia" + +#. ~ Description for survivor wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "" +"A customized armored neoprene and Kevlar hood, very strong and durable." +msgstr "" +"Es una capucha personalizada de neopreno reforzada con kevlar, muy " +"resistente y duradera." + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit" +msgid_plural "survivor wetsuits" +msgstr[0] "traje acuático de supervivencia" +msgstr[1] "trajes acuáticos de supervivencia" + +#. ~ Description for survivor wetsuit +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, hand-built combination armor made from a cut-down bulletproof" +" vest and a reinforced neoprene wetsuit. Protects from the elements as well" +" as from harm." +msgstr "" +"Es un traje ligero hecho a mano, es una combinación entre un chaleco " +"antibalas cortado y un traje acuático de neopreno reforzado. Protege tanto " +"del ambiente como del daño." + +#: lang/json/ARMOR_from_json.py +msgid "pair of survivor wetsuit gloves" +msgid_plural "pairs of survivor wetsuit gloves" +msgstr[0] "par de guantes acuáticos de supervivencia" +msgstr[1] "pares de guantes acuáticos de supervivencia" + +#. ~ Description for pair of survivor wetsuit gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" +" wear while providing maximum protection under extreme conditions." +msgstr "" +"Un par de guantes personalizados de neopreno reforzados con kevlar. Están " +"modificados para ser cómodos y brindar la máxima protección en condiciones " +"extremas." + +#: lang/json/ARMOR_from_json.py +msgid "spring suit" +msgid_plural "spring suits" +msgstr[0] "traje acuático corto" +msgstr[1] "trajes acuáticos cortos" + +#. ~ Description for spring suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A long-sleeved spring wetsuit with pink color details and cleavage-" +"enhancing, hip-accentuating construction. Not as protective as a full-body " +"suit, but also less restrictive." +msgstr "" +"Es un traje de neopreno corto con mangas largas y detalles en rosa, y " +"entallado a la cadera y el escote. No protege tanto como el traje largo, " +"pero es más cómodo." + +#: lang/json/ARMOR_from_json.py +msgid "faraday shark suit" +msgid_plural "faraday shark suits" +msgstr[0] "traje anti-tiburón faraday" +msgstr[1] "trajes anti-tiburón faraday" + +#. ~ Description for faraday shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It has been conductively interconnected, protecting against " +"electricity." +msgstr "" +"Un traje entero de cota de malla que usan los buzos para protegerse contra " +"las mordidas de tiburón. Ha sido interconectado conductivamente, lo que " +"brinda protección contra la electricidad." + +#: lang/json/ARMOR_from_json.py +msgid "shark suit" +msgid_plural "shark suits" +msgstr[0] "traje anti-tiburón" +msgstr[1] "trajes anti-tiburón" + +#. ~ Description for shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It comes with attached plastic helmet and booties." +msgstr "" +"Un traje entero de cota de malla que usan los buzos para protegerse contra " +"las mordidas de tiburón. Viene con un casco de plástico y botas." + +#: lang/json/ARMOR_from_json.py +msgid "pair of swim goggles" +msgid_plural "pairs of swim goggles" +msgstr[0] "par de antiparras" +msgstr[1] "pares de antiparras" + +#. ~ Description for pair of swim goggles +#: lang/json/ARMOR_from_json.py +msgid "A small pair of goggles made for swimming." +msgstr "Un par de antiparras pequeñas para nadar." + +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming gloves" +msgid_plural "pairs of swimming gloves" +msgstr[0] "par de guantes de nado" +msgstr[1] "pares de guantes de nado" + +#. ~ Description for pair of swimming gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of very flexible neoprene-silicone rubber gloves, suitable for " +"underwater use." +msgstr "" +"Es un par de guantes muy flexibles de neopreno y goma de silicona. Perfectos" +" para usar debajo del agua." + #: lang/json/ARMOR_from_json.py msgid "helmet netting" msgid_plural "helmet nettings" @@ -17493,6 +18239,54 @@ msgid_plural "shotgun bandoliers" msgstr[0] "canana de escopeta" msgstr[1] "cananas de escopeta" +#: lang/json/ARMOR_from_json.py +msgid "technomancer's toolbelt" +msgid_plural "technomancer's toolbelts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for technomancer's toolbelt +#: lang/json/ARMOR_from_json.py +msgid "" +"A custom-built leather utility belt that instantly creates any tool that you" +" reach for. Activate to sheathe/draw a weapon." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "seven league boots" +msgid_plural "pairs of seven league boots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for seven league boots +#. ~ Description for boots of haste +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, they look like they've seen a lot of use and will likely see a lot " +"more. They make your movement a lot less work." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "boots of haste" +msgid_plural "pairs of boots of haste" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/ARMOR_from_json.py +msgid "boots of grounding" +msgid_plural "pairs of boots of grounding" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for boots of grounding +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of leather with " +"small engraved runes seemingly filled with rubber. When worn, you are " +"immune to damage from electricity." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "copper infusion bracelet" msgid_plural "copper infusion bracelets" @@ -17517,11 +18311,9 @@ msgstr[1] "diademas de cobre" #. ~ Description for copper circlet #: lang/json/ARMOR_from_json.py msgid "" -"A wooden band with copper trimmings to be worn on the head. Touching your " +"A wooden band with copper trimmings to be worn on the head. Touching your " "temples with it on makes you feel very calm." msgstr "" -"Es una banda de madera con adornos de cobre, que se usa en la cabeza. Al " -"estar en contacto con tus sienes te hace sentir muy calmado." #: lang/json/ARMOR_from_json.py msgid "pair of black dragonscale boots" @@ -18242,13 +19034,9 @@ msgstr[1] "MCB Sistema de ocultamiento" msgid "" "This high-power system uses a set of cameras and LEDs to make the user blend" " into their surroundings, rendering them fully invisible to eyes and optical" -" sensors. However, this does't prevent detection from other means such as " +" sensors. However, this doesn't prevent detection from other means such as " "infrared, sonar, etc." msgstr "" -"Este sistema de gran potencia utiliza un conjunto de cámaras y LEDs para " -"hacer que el usuario se camufle en el ambiente, haciéndolo totalmente " -"invisible a los ojos y sensores ópticos. De todas maneras, no evita la " -"detección mediante otras maneras como sonares, infrarrojos, etcétera." #: lang/json/BIONIC_ITEM_from_json.py msgid "Close Quarters Battle CBM" @@ -18367,13 +19155,10 @@ msgstr[1] "MCB Quemador de etanol" #. ~ Description for Ethanol Burner CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A reactor that burns alcohol as fuel in an extremely efficient reaction. " -"However, the user will still suffer the inebriating effects of the " -"substance." +"A reactor that burns alcohol as fuel in an extremely efficient reaction. It" +" can store up to 500ml and accept ethanol, methanol and denatured aclohol as" +" fuel." msgstr "" -"Es un reactor que quema alcohol para ser usado como combustible de una " -"manera extremadamente eficiente. Sin embargo, el usuario sufrirá los efectos" -" embriagantes de la sustancia." #: lang/json/BIONIC_ITEM_from_json.py msgid "Aero-Evaporator CBM" @@ -18382,8 +19167,7 @@ msgstr[0] "MCB Aero-vaporador" msgstr[1] "MCB Aero-vaporador" #. ~ Description for Aero-Evaporator CBM -#. ~ Description for Aero-Evaporator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "This unit draws moisture from the surrounding air, which then is poured from" " a fingertip in the form of water. It may fail in very dry environments." @@ -18433,13 +19217,9 @@ msgstr[1] "MCB Distorsión facial" #: lang/json/BIONIC_ITEM_from_json.py msgid "" "Through controlled application of electrochemical impulses, this bionic " -"mudule lets the user alter their facial structure so as to subtly affect the" +"module lets the user alter their facial structure so as to subtly affect the" " reactions of others. This grants a bonus to all social interactions." msgstr "" -"A través de la aplicación controlada de impulsos electromecánicos, este " -"biónico permite al usuario alterar su estructura facial para afectar " -"sutilmente las reacciones de los demás. Esto otorga un bonus a todas las " -"interacciones sociales." #: lang/json/BIONIC_ITEM_from_json.py msgid "Dielectric Capacitance System CBM" @@ -18465,15 +19245,11 @@ msgstr[1] "MCB Dedo-hackeador" #. ~ Description for Fingerhack CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A miniature electrohack, surgically embedded in a finger of the right hand. " -"This is an all-purpose hacking unit used to override control panels and the " -"like, but not computers. Computer proficiency is important, and a failed " -"use may cause damage." +"A miniature electrohack, surgically embedded in a finger of the right hand." +" This is an all-purpose hacking unit used to override control panels and " +"the like, but not computers. Computer proficiency is important, and a " +"failed use may cause damage." msgstr "" -"Es un electrohackeador miniatura, quirúrgicamente incorporado en un dedo de " -"la mano derecha. Es una unidad de hackeo útil para anular paneles de control" -" y cosas similares, pero no computadoras. Tu habilidad en computadoras es " -"importante y un uso fallido puede causar daño." #: lang/json/BIONIC_ITEM_from_json.py msgid "Flashbang Generator CBM" @@ -18780,8 +19556,7 @@ msgstr[0] "MCB Generador artificial de noche" msgstr[1] "MCB Generador artificial de noche" #. ~ Description for Artificial Night Generator CBM -#. ~ Description for Artificial Night Generator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "When active, this bionic eliminates all light within a 15 tile radius " "through destructive interference." @@ -18853,7 +19628,7 @@ msgstr[1] "MCB Interfaz Mk. II de armadura de poder" msgid "" "Interfaces the user's bionic power system with the internal charging port on" " suits of power armor, allowing them to draw from the user's bionic power " -"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " +"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " "DoubleTech Inc., to meet the popularity of the Mk. II power armor series." msgstr "" @@ -19404,7 +20179,7 @@ msgstr[1] "Cosas Metálicas que Pican" #. ~ Description for Itchy Metal Thing #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"You can't recognise what this is supposed to be, but it's a very awkward " +"You can't recognize what this is supposed to be, but it's a very awkward " "thing to have in one's body." msgstr "" @@ -19416,10 +20191,8 @@ msgstr[1] "Cosas Brillantes" #. ~ Description for Glowy Thing #: lang/json/BIONIC_ITEM_from_json.py -msgid "" -"It's a... thing? And it glows, at least it did when it was plugged in." +msgid "It's a… thing? And it glows, at least it did when it was plugged in." msgstr "" -"Es una... ¿cosa? Que brilla, por lo menos lo hacía cuando estaba enchufada." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Leaky Bionic" @@ -20057,8 +20830,8 @@ msgstr[1] "Servir al Hombre" #. ~ Description for To Serve Man #: lang/json/BOOK_from_json.py -msgid "It's... it's a cookbook!" -msgstr "Es... ¡un libro de recetas!" +msgid "It's… it's a cookbook!" +msgstr "" #: lang/json/BOOK_from_json.py msgid "Cucina Italiana" @@ -20168,11 +20941,8 @@ msgstr[1] "PE050 \"Alpha\": Informe Preliminar" msgid "" "This sheaf of papers-dated two weeks before all this started-describes some " "new chemical formula, and its effects on human subjects. It's stamped " -"\"APPROVED\"..." +"\"APPROVED\"…" msgstr "" -"Este manojo de artículos -con fecha dos semanas antes de que empiece todo " -"esto- describe algunas fórmulas químicas nuevas y sus efectos sobre humanos." -" Tiene un sello que dice \"APROBADO\"..." #: lang/json/BOOK_from_json.py msgid "lab journal-Dionne" @@ -20202,12 +20972,9 @@ msgstr[1] "PE065 \"Chimera\": Mejores Prácticas" #: lang/json/BOOK_from_json.py msgid "" "This sheaf of papers describes a new chemical formula in detail and supplies" -" instructions for its use as some sort of ... crowd-control catalyst? That " -"can't be right..." +" instructions for its use as some sort of… crowd-control catalyst? That " +"can't be right…" msgstr "" -"Este manojo de artículos describe una nueva fórmula química en detalle y " -"ofrece las instrucciones para su uso como algún tipo de... ¿catalizador para" -" controlar a las masas? Debe ser un error..." #: lang/json/BOOK_from_json.py msgid "lab journal-Smythe" @@ -20220,12 +20987,8 @@ msgstr[1] "registros de laboratorio-Smythe" msgid "" "This team logbook details several varieties of mutagenic experiments, " "focusing on those derived from flesh contaminated with XE037. The results " -"look promising but the procurement methods seem awfully vague..." +"look promising but the procurement methods seem awfully vague…" msgstr "" -"Este registro del equipo de trabajo detalla diversas variedades de " -"experimentos con mutágenos, centrándose en aquellos derivados de carne " -"contaminada con XE037. Los resultados son prometedores pero los métodos de " -"obtención parecen muy confusos..." #: lang/json/BOOK_from_json.py msgid "standpipe maintenance log" @@ -20238,11 +21001,8 @@ msgstr[1] "registros de mantenimiento de tuberías" msgid "" "This binder details the scheduled maintenance for several plumbing systems " "throughout the facility. However, some of the log sheets seem to be filled " -"with...a chemical formula?" +"with… a chemical formula?" msgstr "" -"Esta carpeta detalla el mantenimiento programada para varios sistemas de " -"cañerías de toda la instalación. Sin embargo, algunas registros parecen " -"estar llenos de... ¿fórmulas químicas?" #: lang/json/BOOK_from_json.py msgid "chemical reference-CLASSIFIED" @@ -20292,11 +21052,8 @@ msgstr[1] "PE023 \"Medicinal\": Aplicación y Descubrimientos" #: lang/json/BOOK_from_json.py msgid "" "This binder of highly technical papers describes some new chemical formula, " -"and its effects on human subjects. It's stamped \"APPROVED\"...." +"and its effects on human subjects. It's stamped \"APPROVED\"…" msgstr "" -"Esta carpeta con artículos altamente técnicos describe algunas fórmulas " -"químicas nuevas y sus efectos en los humanos. Tiene un sello que dice " -"\"APROBADO\"..." #: lang/json/BOOK_from_json.py msgid "PE070 \"Raptor\": Proposal" @@ -20621,11 +21378,8 @@ msgstr[1] "registros de laboratorio-Herrera" msgid "" "This hefty binder contains a multitude of diagrams and technical " "specifications for various electronic materials. Some of the diagrams use " -"symbols you've not seen before..." +"symbols you've not seen before…" msgstr "" -"Esta carpeta robusta contiene muchísimos diagramas y especificaciones " -"técnicas de varios materiales electrónicos. Algunos de los diagramas usan " -"símbolos que nunca viste en tu vida..." #: lang/json/BOOK_from_json.py msgid "2XI design binder-CLASSIFIED" @@ -20699,13 +21453,13 @@ msgstr[1] "esquemas genéricos" #. ~ Description for nearby fire #. ~ Description for muscle #. ~ Description for wind +#. ~ Description for metabolism #. ~ Description for a smoking device and a source of flame #. ~ Description for abstract map #. ~ Description for seeing this is a bug #. ~ Description for weapon #: lang/json/BOOK_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py #: lang/json/furniture_from_json.py lang/json/skill_from_json.py msgid "seeing this is a bug" msgid_plural "seeing this is a bugs" @@ -21109,13 +21863,9 @@ msgstr[1] "El Ayudante del Cargador a Mano" #: lang/json/BOOK_from_json.py msgid "" "Everything you could ever want to know about handloading ammunition, sealed " -"with a ...childproof cover. Apparently a liability thing, because the " -"chapter on explosive rounds covers them in excellent detail too." +"with a… childproof cover. Apparently a liability thing, because the chapter" +" on explosive rounds covers them in excellent detail too." msgstr "" -"Todo lo que siempre quisiste saber acerca de la recarga manual de las " -"municiones, cerradas con... cubierta a prueba de niños. Parece que es algo " -"confiable, porque en el capítulo sobre balas explosivas habla de ellas con " -"lujo de detalle." #: lang/json/BOOK_from_json.py msgid "Rivtech design binder" @@ -21685,7 +22435,7 @@ msgid "" "This lab notebook is filled with the collective discoveries and refinements " "of a research team dedicated to nuclear energy. You don't think you're " "ready to start a second Cataclysm, but the general information provided " -"might be useful..." +"might be useful…" msgstr "" #: lang/json/BOOK_from_json.py @@ -23130,6 +23880,34 @@ msgid "" " that the author's real name is Fereidoun M. Esfandiary." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Bastiat Collection\", a large collection of essays " +"by Frederic Bastiat." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Anarchy, State, and Utopia\" by Robert Nozick, one of " +"the most influential books of modern libertarianism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Socialism\" by Ludwig von Mises, a critical examination " +"of socialism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The ABC of Communism\" by Nikolai Bukharin, one of the " +"most influential books of early Marxism-Leninism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Anti-Capitalist Mentality\" by Ludwig von Mises." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "phone book" msgid_plural "phone books" @@ -23213,8 +23991,8 @@ msgstr[1] "libros de contabilidad de corporaciones" #. ~ Description for corporate accounting ledger #: lang/json/BOOK_from_json.py -msgid "If you knew what to look for something might stand out..." -msgstr "Si supieras qué buscar, tal vez encontrarías algo..." +msgid "If you knew what to look for something might stand out…" +msgstr "" #: lang/json/BOOK_from_json.py msgid "patient treatment records" @@ -23505,6 +24283,106 @@ msgstr "Es una copia de \"El Conde de Monte Cristo\" de Dumas." msgid "This is a copy of \"The Secret Garden\" by Frances Burnett." msgstr "Es una copia de \"El jardín secreto\" de Frances Burnett." +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lieutenant Hornblower\" by C.S. Forester." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Master and Commander\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Warden\" by Anthony Trollope." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Far Side of the World\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"HMS Surprise\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Barchester Towers\" by Anthony Trollope." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Land Ironclads\" by H.G. Wells." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Great Boer War\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Crime of the Congo\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Parasite\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"By Stroke of Sword\" by Andrew Balfour." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Secret Agent\" by Joseph Conrad." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lord Jim\" by Joseph Conrad." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Vanity Fair\" by William Makepeace Thackeray." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Luck of Barry Lyndon\" by William Makepeace " +"Thackeray." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"North and South\" by Elizabeth Gaskell." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Mayor of Casterbridge\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Wessex Tales\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Far from the Madding Crowd\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Captains Courageous\" by Rudyard Kipling." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Canterbury Tales\" by Geoffrey Chaucer." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Harold, the Last of the Saxons\" by Edward Bulwer-" +"Lytton." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Mr Midshipman Easy\" by Frederick Marryat." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Peter Simple\" by Frederick Marryat." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "collector's edition book" msgid_plural "collector's edition book" @@ -24632,11 +25510,12 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "Black Dragons: Swamp Ruins" -msgid_plural "Black Dragons: Swamp Ruinss" +msgid_plural "copies of Black Dragons: Swamp Ruins" msgstr[0] "" msgstr[1] "" -#. ~ Description for Black Dragons: Swamp Ruins +#. ~ Description for {'str': 'Black Dragons: Swamp Ruins', 'str_pl': 'copies +#. of Black Dragons: Swamp Ruins'} #: lang/json/BOOK_from_json.py msgid "" "This book details black dragons: The most evil of dragons, who live in ruins" @@ -24647,11 +25526,12 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "A Beginner's Guide to Alchemy" -msgid_plural "A Beginner's Guide to Alchemys" -msgstr[0] "Guía de Principiante en Alquimia" -msgstr[1] "Guía de Principiante en Alquimia" +msgid_plural "copies of A Beginner's Guide to Alchemy" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for A Beginner's Guide to Alchemy +#. ~ Description for {'str': "A Beginner's Guide to Alchemy", 'str_pl': +#. "copies of A Beginner's Guide to Alchemy"} #: lang/json/BOOK_from_json.py msgid "A paperback tome for the art of liquid magic, alcohol not included." msgstr "" @@ -24660,17 +25540,49 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "A Soulbinder's Guide to Necromancy" -msgid_plural "A Soulbinder's Guide to Necromancys" +msgid_plural "copies of A Soulbinder's Guide to Necromancy" msgstr[0] "" msgstr[1] "" -#. ~ Description for A Soulbinder's Guide to Necromancy +#. ~ Description for {'str': "A Soulbinder's Guide to Necromancy", 'str_pl': +#. "copies of A Soulbinder's Guide to Necromancy"} #: lang/json/BOOK_from_json.py msgid "" "A paperback tome for the art of binding undead creatures' souls to dolls, " "along with emulating their healing factor." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "Magitek Illustrated" +msgid_plural "copies of Magitek Illustrated" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'Magitek Illustrated', 'str_pl': 'copies of +#. Magitek Illustrated'} +#: lang/json/BOOK_from_json.py +msgid "" +"A paperback tome for the art of combining modern technology with magic. " +"There is a disclaimer on the back: `Cannith Industries bears no " +"responsibility for malfunctions or accidents for any products mentioned " +"herein`." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "The Weapons of Asgard and Beyond" +msgid_plural "copies of The Weapons of Asgard and Beyond" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'The Weapons of Asgard and Beyond', 'str_pl': +#. 'copies of The Weapons of Asgard and Beyond'} +#: lang/json/BOOK_from_json.py +msgid "" +"An ornate book which appears to be written in Norse runes. Based on the " +"detailed illustrations, it appears to contain information about crafting " +"numerous weapons used by various Gods." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "SugarKin flyer" msgid_plural "SugarKin flyers" @@ -24680,13 +25592,13 @@ msgstr[1] "" #. ~ Description for SugarKin flyer #: lang/json/BOOK_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" +"A flyer for some kind of candy. It shows a picture of a gleaming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" " On the back of the flyer you can see some hastily scribbled words:\n" -" \"Hello my child and welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" +" \"Hello, my child, welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" "1) Never ever get into contact with water, it would melt you! \n" -"2) Avoid humans wiht clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" -"3) Learn how to make caramel ointement, it's the only way to fix your body if you get hurt.\n" -" There's many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" +"2) Avoid humans with clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" +"3) Learn how to make caramel ointment, it's the only way to fix your body if you get hurt.\n" +" There are many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" " I love you,\n" " - F. \"." msgstr "" @@ -25189,7 +26101,7 @@ msgstr "" #. ~ Description for acetylene #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flammable gas that explodes under pressure. Combined with oxygen, " +"A flammable gas that explodes under pressure. Combined with oxygen, " "acetylene makes a great welding gas." msgstr "" @@ -26218,6 +27130,41 @@ msgstr "" "Es el estómago de una criatura humanoide grande. Es sorprendentemente " "duradero." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of human fat" +msgid_plural "chunks of human fat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of human fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly harvested from a human body." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human tallow" +msgstr "" + +#. ~ Description for human tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered human fat. It will remain " +"edible for a very long time, and can be used as an ingredient in many foods " +"and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human lard" +msgstr "" + +#. ~ Description for human lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered human fat. It will remain edible for a" +" very long time, and can be used as an ingredient in many foods and " +"projects." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "human flesh" msgid_plural "human fleshes" @@ -26269,6 +27216,61 @@ msgstr "" "Esto es un pedacito de carne. No es mucho, pero sirve cuando no hay nada " "más." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant meat" +msgid_plural "chunks of mutant meat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Meat from a heavily mutated animal. It has an unsettling loose and spongy " +"texture, but smells… mostly normal. There are strange tangles and " +"formations in it that don't appear natural at all: bits of bone and hair " +"crusted up inside the muscle, as if trying to form another organism. Still," +" seems digestible at least, if you cook it and remove the worst parts." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "scrap of mutant meat" +msgid_plural "scraps of mutant meat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for scrap of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A tiny scrap of meat from a heavily mutated animal. It smells a bit odd, " +"and has bits of hair and bone mixed in that seem like they grew inside the " +"muscle itself. Still, seems digestible at least, if you cook it and remove " +"the worst parts." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid meat" +msgstr "" + +#. ~ Description for mutant humanoid meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered from the body of a heavily mutated creature that was " +"unsettlingly humanoid in appearance. It has odd bits of fur and other " +"tissue lodged in it that clearly don't belong. You'd have to be crazy or " +"starving to eat this." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked cretin" +msgstr "" + +#. ~ Description for cooked cretin +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Cooked meat from a heavily mutated humanoid. Now that the worst bits have " +"been picked out, it's probably digestible, if not very appetizing." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "butchery refuse" msgid_plural "butchery refuse" @@ -26307,6 +27309,24 @@ msgid_plural "cooked scraps of meat" msgstr[0] "pedazo de carne cocinada" msgstr[1] "pedazos de carne cocinada" +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked mutant meat" +msgstr "" + +#. ~ Description for cooked mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"This is a cooked chunk of meat from a mutated animal. It has an unsettling," +" spongy texture, but otherwise tastes… mostly normal. Hopefully you got all" +" the bits of hair and bone out…" +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked scrap of mutant meat" +msgid_plural "cooked scraps of mutant meat" +msgstr[0] "" +msgstr[1] "" + #: lang/json/COMESTIBLE_from_json.py msgid "raw offal" msgstr "achura cruda" @@ -26548,8 +27568,8 @@ msgstr[1] "cerebros crudos" #. ~ Description for raw brains #: lang/json/COMESTIBLE_from_json.py -msgid "The brain from an animal. You wouldn't want to eat this raw..." -msgstr "Es el cerebro de un animal. No vas a querer comerte esto crudo..." +msgid "The brain from an animal. You wouldn't want to eat this raw…" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "cooked brains" @@ -26608,8 +27628,8 @@ msgstr "molleja cocinada" #. ~ Description for cooked sweetbread #: lang/json/COMESTIBLE_from_json.py -msgid "Normally a delicacy, it needs a little... something." -msgstr "Comúnmente, es una exquisitez, pero le falta un poco de... algo." +msgid "Normally a delicacy, it needs a little… something." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "bone" @@ -26668,6 +27688,78 @@ msgstr "" "echarse a perder, y puede ser usado como ingrediente en muchas comidas y " "proyectos." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant fat" +msgid_plural "chunks of mutant fat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of mutant fat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered fat from a heavily mutated animal. You could eat it raw, " +"but it is better used as an ingredient in other foods or projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant tallow" +msgstr "" + +#. ~ Description for mutant tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"animal. It will remain edible for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant lard" +msgstr "" + +#. ~ Description for mutant lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant animal. It " +"will remain edible for a very long time, and can be used as an ingredient in" +" many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant humanoid fat" +msgid_plural "chunks of mutant humanoid fat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of mutant humanoid fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly butchered fat from a heavily mutated humanoid." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid tallow" +msgstr "" + +#. ~ Description for mutant humanoid tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"humanoid. It won't rot for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid lard" +msgstr "" + +#. ~ Description for mutant humanoid lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant humanoid. It" +" won't rot for a very long time, and can be used as an ingredient in many " +"foods and projects." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "chunk of tainted meat" msgid_plural "chunks of tainted meat" @@ -26869,14 +27961,8 @@ msgid "" "covered in ribbed grooves and easily the size of your head. It's still full" " of, er, whatever passes for blood in jabberwocks, and is heavy in your " "hands. After everything you've seen lately, you can't help but remember old" -" sayings about eating the hearts of your enemies..." +" sayings about eating the hearts of your enemies…" msgstr "" -"Es una enorme masa gruesa de carne que recuerda superficialmente al corazón " -"de un mamífero, cubierto de estrías y del tamaño de tu cabeza. Sigue estando" -" lleno de...., eh... lo que sea que sirva de sangre en un jabberwock, y se " -"siente pesado en tus manos. Después de todo lo que viste por estos días, no " -"podés evitar recordar ese antiguo dicho de comerse el corazón de tus " -"enemigos..." #: lang/json/COMESTIBLE_from_json.py msgid "desiccated putrid heart" @@ -26893,7 +27979,7 @@ msgstr "" " ha sido cordato y drenado de sangre. Podría comerlo si tenés hambre, pero " "tiene una apariencia *desagradble*." -#: lang/json/COMESTIBLE_from_json.py +#: lang/json/COMESTIBLE_from_json.py lang/json/ammunition_type_from_json.py msgid "raw milk" msgid_plural "raw milk" msgstr[0] "leche sin pasteurizar" @@ -27240,7 +28326,7 @@ msgstr[1] "" #. ~ Description for chicory brew #: lang/json/COMESTIBLE_from_json.py msgid "" -"Toasted, ground chicory root steeped in boiling water. This bitter brew is " +"Toasted, ground chicory root steeped in boiling water. This bitter brew is " "used as a coffee substitute, though it tastes nothing like coffee." msgstr "" @@ -28211,11 +29297,12 @@ msgstr "Son aros de ananá enlatados con agua. Bastante sabrosos." #: lang/json/COMESTIBLE_from_json.py msgid "lemonade drink mix" -msgid_plural "servings of lemonade drink mix" -msgstr[0] "bebida de limonada" -msgstr[1] "raciones de bebida de limonada" +msgid_plural "lemonade drink mix" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for lemonade drink mix +#. ~ Description for {'str': 'lemonade drink mix', 'str_pl': 'lemonade drink +#. mix'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Tangy yellow powder that smells strongly of lemons. Can be mixed with water" @@ -29040,8 +30127,8 @@ msgstr[1] "golosinas de mantequilla de maní" #. ~ Description for peanut butter candy #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of peanut butter cups... your favorite!" -msgstr "Es un puñado de bocaditos de mantequilla de maní... ¡tus favoritos!" +msgid "A handful of peanut butter cups… your favorite!" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "chocolate candy" @@ -29167,10 +30254,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A cake coated in the thickest icing you've ever seen. Someone has written " -"guff in quotation marks on it..." +"guff in quotation marks on it…" msgstr "" -"Un bizcochuelo bañado en el glaseado más grueso que viste en tu vida. " -"Alguien le escribió guarangadas con signos de pregunta arriba..." #: lang/json/COMESTIBLE_from_json.py msgid "chocolate-covered coffee bean" @@ -29215,9 +30300,8 @@ msgstr[1] "medallones de menta" #. ~ Description for peppermint patty #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of soft chocolate-covered peppermint patties... yum!" +msgid "A handful of soft chocolate-covered peppermint patties… yum!" msgstr "" -"Es un puñado de medallones de menta recubiertos con chocolate... ¡rico!" #: lang/json/COMESTIBLE_from_json.py msgid "Necco wafers" @@ -30753,13 +31837,10 @@ msgstr[1] "" #. ~ Description for antibiotics #: lang/json/COMESTIBLE_from_json.py msgid "" -"A prescription-strength antibacterial medication designed to prevent or stop" -" the spread of infection. It's the quickest and most reliable way to cure " -"any infections you might have. One dose lasts twelve hours." +"A strong antibacterial medication designed to prevent or stop the spread of " +"infection. It's the safest way to cure any infections you might have. One " +"dose lasts twelve hours." msgstr "" -"Es un medicamento antibacterial vendido bajo receta, usado para prevenir o " -"detener una infección. Es la manera más rápida y confiable de curar las " -"infecciones que puedas haber contraído. Una dosis dura doce horas." #: lang/json/COMESTIBLE_from_json.py msgid "antifungal drug" @@ -31718,8 +32799,8 @@ msgstr[1] "" #. ~ Description for antiseptic soaked rag #: lang/json/COMESTIBLE_from_json.py msgid "" -"A rag soaked in antiseptic. Useful for light wounds, probaby won't help with" -" deep bites." +"A rag soaked in antiseptic. Useful for light wounds, probaby won't help " +"with deep bites." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31785,13 +32866,8 @@ msgid "" "oily liquid that shifts from black to purple at unpredictable intervals, " "flecked with tiny gray dots. Given the place you got it from, it's either " "very potent, or highly experimental. Holding it, all the little aches and " -"pains seem to fade, just for a moment..." +"pains seem to fade, just for a moment…" msgstr "" -"Es una cápsula roja de gel del tamaño de tu pulgar, rellena con un líquido " -"espeso y aceitoso que cambia entre el púrpura y el negro a intervalos " -"impredecibles, lleno de lunares grises pequeños. Pensando el lugar de donde " -"lo sacaste, puede ser muy potente, o muy experimental. Al sostenerlo, todos " -"los pequeños dolores parecen desaparecer, solo por un momento..." #: lang/json/COMESTIBLE_from_json.py msgid "cattail jelly" @@ -31808,6 +32884,19 @@ msgstr "" "Es gelatina extraída de un junco, tiene propiedades antisépticas y funciona " "como analgésico." +#: lang/json/COMESTIBLE_from_json.py +msgid "destragon" +msgstr "" + +#. ~ Description for destragon +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A prescription-strength antibacterial medication designed to prevent or stop" +" the spread of infection. It contains nearly toxic levels of antibiotics, " +"but can treat any bacterial infections you may encounter. One dose lasts " +"twelve hours." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "MRE entree" msgstr "entrada de MRE" @@ -32249,11 +33338,9 @@ msgstr "sabor abstracto de mutágeno iv" #. ~ Description for abstract iv mutagen flavor #: lang/json/COMESTIBLE_from_json.py msgid "" -"A super-concentrated mutagen. You need a syringe to inject it... if you " +"A super-concentrated mutagen. You need a syringe to inject it… if you " "really want to?" msgstr "" -"Es un mutágeno super-concentrado. Necesitás una jeringa para inyectarlo... " -"si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "mutagenic serum" @@ -32267,10 +33354,8 @@ msgstr "suero alfa" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen strongly resembling blood. You need a syringe " -"to inject it... if you really want to?" +"to inject it… if you really want to?" msgstr "" -"Es un mutágeno super-concentrado muy similar a la sangre. Necesitás una " -"jeringa para inyectarlo... si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "beast serum" @@ -32280,10 +33365,8 @@ msgstr "suero de bestia" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as red as a matador's cape. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "" -"Es un mutágeno superconcentrado tan rojo como la capa de un torero. " -"Necesitás una jeringa para inyectarlo... si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "bird serum" @@ -32293,11 +33376,8 @@ msgstr "suero de pájaro" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the pre-cataclysmic skies. You " -"need a syringe to inject it... if you really want to?" +"need a syringe to inject it… if you really want to?" msgstr "" -"Es un mutágeno super-concentrado con el color de los cielos pre-" -"cataclísmicos. Necesitás una jeringa para inyectarlo... si realmente querés " -"hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "cattle serum" @@ -32307,10 +33387,8 @@ msgstr "suero de ganado" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of grass. You need a syringe to " -"inject it... if you really want to?" +"inject it… if you really want to?" msgstr "" -"Es un mutágeno super-concentrado con el color del pasto. Necesitás una " -"jeringa para inyectarlo... si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "cephalopod serum" @@ -32320,10 +33398,8 @@ msgstr "suero de cefalópodo" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as black as ink. You need a syringe to inject " -"it... if you really want to?" +"it… if you really want to?" msgstr "" -"Es un mutágeno superconcentrado tan negro como la tinta. Necesitás una " -"jeringa para inyectarlo... si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "chimera serum" @@ -32333,10 +33409,8 @@ msgstr "suero de quimera" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that churns with iridescence. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" -"Es un mutágeno superconcentrado que vibra iridiscente. Necesitás una jeringa" -" para inyectarlo... si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "elf-a serum" @@ -32346,10 +33420,8 @@ msgstr "suero elf-a" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a striking sylvan green. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" -"Es un mutágeno superconcentrado de un verde silvano chocante. Necesitás una " -"jeringa para inyectarlo... si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "feline serum" @@ -32359,10 +33431,8 @@ msgstr "suero de felino" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen, yellow and highly reflective. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" -"Es un mutágeno superconcentrado, amarillo y altamente reflectivo. Necesitás " -"una jeringa para inyectarlo... si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "fish serum" @@ -32372,11 +33442,8 @@ msgstr "suero de pez" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the ocean, with white foam at the " -"top. You need a syringe to inject it... if you really want to?" +"top. You need a syringe to inject it… if you really want to?" msgstr "" -"Es un mutágeno super-concentrado con el color del océano, con espuma blanca " -"encima. Necesitás una jeringa para inyectarlo... si realmente querés " -"hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "insect serum" @@ -32386,10 +33453,8 @@ msgstr "suero de insecto" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a beautiful amber color. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" -"Es un mutágeno superconcentrado de un hermoso color ámbar. Necesitás una " -"jeringa para inyectarlo... si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "lizard serum" @@ -32399,10 +33464,8 @@ msgstr "suero de lagarto" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that shifts between various shades of green. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" -"Es un mutágeno superconcentrado que cambia entre diferentes tonalidades de " -"verde. Necesitás una jeringa para inyectarlo... si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "lupine serum" @@ -32412,10 +33475,8 @@ msgstr "suero de lobuno" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as white as a full moon. You need a syringe to" -" inject it... if you really want to?" +" inject it… if you really want to?" msgstr "" -"Es un mutágeno superconcentrado tan blanco como la luna llena. Necesitás una" -" jeringa para inyectarlo... si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "medical serum" @@ -32425,10 +33486,8 @@ msgstr "suero médico" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like a mixture of bodily fluids. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" -"Es un mutágeno superconcentrado que parece una mezcla de fluidos corporales." -" Necesitás una jeringa para inyectarlo... si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "plant serum" @@ -32438,10 +33497,8 @@ msgstr "suero de planta" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like pureed spinach. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" -"Es un mutágeno superconcentrado que parece puré de espinaca. Necesitás una " -"jeringa para inyectarlo... si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "raptor serum" @@ -32451,11 +33508,8 @@ msgstr "suero de raptor" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to shift slightly whenever you look " -"at it. You need a syringe to inject it... if you really want to?" +"at it. You need a syringe to inject it… if you really want to?" msgstr "" -"Es un mutágeno superconcentrado que parece cambiar ligeramente cada vez que " -"lo mirás. Necesitás una jeringa para inyectarlo... si realmente querés " -"hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "rat serum" @@ -32465,10 +33519,8 @@ msgstr "suero de rata" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a rather unappealing beige. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" -"Es un mutágeno superconcentrado de un beige bastante poco atractivo. " -"Necesitás una jeringa para inyectarlo... si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "slime serum" @@ -32478,11 +33530,8 @@ msgstr "suero de slime" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks very much like the black ooze in the" -" zombies' eyes. You need a syringe to inject it... if you really want to?" +" zombies' eyes. You need a syringe to inject it… if you really want to?" msgstr "" -"Es un mutágeno super-concentrado que se parece mucho a la viscosidad negra " -"que tienen los zombis en los ojos. Necesitás una jeringa para inyectarlo... " -"si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "spider serum" @@ -32492,10 +33541,8 @@ msgstr "suero de araña" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen with pale filaments suspended in it. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" -"Es un mutágeno superconcentrado con filamentos pálidos en suspensión. " -"Necesitás una jeringa para inyectarlo... si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "troglobite serum" @@ -32505,10 +33552,8 @@ msgstr "suero de troglobio" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to recoil from the light. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" -"Es un mutágeno superconcentrado que parece esconderse ante la luz. Necesitás" -" una jeringa para inyectarlo... si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "ursine serum" @@ -32518,10 +33563,8 @@ msgstr "suero de osuno" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's the color of honey, and is just as " -"thick. You need a syringe to inject it... if you really want to?" +"thick. You need a syringe to inject it… if you really want to?" msgstr "" -"Es un mutágeno superconcentrado del color de la miel, e igual de espeso. " -"Necesitás una jeringa para inyectarlo... si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "mouse serum" @@ -32531,10 +33574,8 @@ msgstr "suero de ratón" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen resembling liquefied metal. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "" -"Es un mutágeno superconcentrado que parece metal líquido. Necesitás una " -"jeringa para inyectarlo... si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "mutagen" @@ -32548,10 +33589,8 @@ msgstr "sangre coagulada" #: lang/json/COMESTIBLE_from_json.py msgid "" "A thick, soupy red liquid. It looks and smells disgusting, and seems to " -"bubble with an intelligence of its own..." +"bubble with an intelligence of its own…" msgstr "" -"Es un líquido espeso y rojo. Tiene una apariencia y olor desagradables, y " -"parece bullir con inteligencia propia..." #: lang/json/COMESTIBLE_from_json.py msgid "alpha mutagen" @@ -32754,23 +33793,23 @@ msgstr "" "probablemente es mucho más seguro de tomar ahora que antes." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of pine nuts" -msgid_plural "handfuls of pine nuts" +msgid "pine nuts" +msgid_plural "pine nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of pine nuts +#. ~ Description for {'str': 'pine nuts', 'str_pl': 'pine nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of tasty crunchy nuts from a pinecone." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of junipers" -msgid_plural "handful of junipers" -msgstr[0] "puñado de gálbulos" -msgstr[1] "puñado de gálbulos" +msgid "junipers" +msgid_plural "junipers" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of junipers +#. ~ Description for {'str': 'junipers', 'str_pl': 'junipers'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Junipers, for making gin and earthy flavors. Spicy, tastes similar to " @@ -32780,68 +33819,82 @@ msgstr "" "tiene un sabor similar al romero." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pistachios" -msgid_plural "handfuls of shelled pistachios" +msgid "shelled pistachios" +msgid_plural "shelled pistachios" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled pistachios +#. ~ Description for {'str': 'shelled pistachios', 'str_pl': 'shelled +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of nuts from a pistachio tree, their shells have been removed." msgstr "Es un puñado de frutos secos del árbol del pistacho, sin cáscara." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pistachios" -msgid_plural "handfuls of roasted pistachios" -msgstr[0] "puñado de pistachos tostados" -msgstr[1] "puñados de pistachos tostados" +msgid "roasted pistachios" +msgid_plural "roasted pistachios" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted pistachios +#. ~ Description for {'str': 'roasted pistachios', 'str_pl': 'roasted +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an pistachio tree." msgstr "Es un puñado de frutos secos tostados del árbol del pistacho." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled almonds" -msgid_plural "handfuls of shelled almonds" +msgid "shelled almonds" +msgid_plural "shelled almonds" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled almonds +#. ~ Description for {'str': 'shelled almonds', 'str_pl': 'shelled almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of nuts from an almond tree, their shells have been removed." msgstr "Es un puñado de frutos secos del almendro, sin cáscara." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted almonds" -msgid_plural "handfuls of roasted almonds" -msgstr[0] "puñado de almendras tostadas" -msgstr[1] "puñados de almendras tostadas" +msgid "almond pulp" +msgid_plural "almond pulp" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for almond pulp +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Pulp left over after making almond milk. It's gritty and incredibly bland." +msgstr "" -#. ~ Description for handful of roasted almonds +#: lang/json/COMESTIBLE_from_json.py +msgid "roasted almonds" +msgid_plural "roasted almonds" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'roasted almonds', 'str_pl': 'roasted almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an almond tree." msgstr "Es un puñado de frutos secos tostados del almendro." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cashews" -msgid_plural "handfuls of cashews" +msgid "cashews" +msgid_plural "cashews" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of cashews +#. ~ Description for {'str': 'cashews', 'str_pl': 'cashews'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of salty cashews." msgstr "Es un puñado de castañas de cajú saladas." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pecans" -msgid_plural "handfuls of shelled pecans" +msgid "shelled pecans" +msgid_plural "shelled pecans" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled pecans +#. ~ Description for {'str': 'shelled pecans', 'str_pl': 'shelled pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of pecans which are a sub-species of hickory nuts, their shells " @@ -32851,45 +33904,45 @@ msgstr "" " No tienen cáscara." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pecans" -msgid_plural "handfuls of roasted pecans" -msgstr[0] "puñado de nueces de pacana tostadas" -msgstr[1] "puñados de nueces de pacana tostadas" +msgid "roasted pecans" +msgid_plural "roasted pecans" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted pecans +#. ~ Description for {'str': 'roasted pecans', 'str_pl': 'roasted pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a pecan tree." msgstr "Es un puñado de frutos secos tostados del árbol del pacano." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled peanuts" -msgid_plural "handful of shelled peanuts" -msgstr[0] "puñado de maníes sin cáscara" -msgstr[1] "puñados de maníes sin cáscara" +msgid "shelled peanuts" +msgid_plural "shelled peanuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of shelled peanuts +#. ~ Description for {'str': 'shelled peanuts', 'str_pl': 'shelled peanuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Salty peanuts with their shells removed." msgstr "Son unos maníes salados sin cáscara." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of beech nuts" -msgid_plural "handfuls of beech nuts" +msgid "beech nuts" +msgid_plural "beech nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of beech nuts +#. ~ Description for {'str': 'beech nuts', 'str_pl': 'beech nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of hard pointy nuts from a beech tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled walnuts" -msgid_plural "handfuls of shelled walnuts" -msgstr[0] "puñado de nueces sin cáscara" -msgstr[1] "puñados de nueces sin cáscara" +msgid "shelled walnuts" +msgid_plural "shelled walnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of shelled walnuts +#. ~ Description for {'str': 'shelled walnuts', 'str_pl': 'shelled walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a walnut tree, their shells have been " @@ -32897,23 +33950,24 @@ msgid "" msgstr "Es un puñado de nueces crudas y duras de un nogal. Están sin cáscara." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted walnuts" -msgid_plural "handfuls of roasted walnuts" -msgstr[0] "puñado de nueces tostadas" -msgstr[1] "puñados de nueces tostadas" +msgid "roasted walnuts" +msgid_plural "roasted walnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted walnuts +#. ~ Description for {'str': 'roasted walnuts', 'str_pl': 'roasted walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a walnut tree." msgstr "Es un puñado de frutos secos tostados del nogal." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled chestnuts" -msgid_plural "handfuls of shelled chestnuts" -msgstr[0] "puñado de castañas sin cáscara" -msgstr[1] "puñados de castañas sin cáscara" +msgid "shelled chestnuts" +msgid_plural "shelled chestnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of shelled chestnuts +#. ~ Description for {'str': 'shelled chestnuts', 'str_pl': 'shelled +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a chestnut tree, their shells have been " @@ -32922,23 +33976,25 @@ msgstr "" "Es un puñado de nueces crudas y duras de un castaño. Están sin cáscara." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted chestnuts" -msgid_plural "handfuls of roasted chestnuts" -msgstr[0] "puñado de castañas tostadas" -msgstr[1] "puñados de castañas tostadas" +msgid "roasted chestnuts" +msgid_plural "roasted chestnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted chestnuts +#. ~ Description for {'str': 'roasted chestnuts', 'str_pl': 'roasted +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a chestnut tree." msgstr "Es un puñado de frutos secos tostados del castaño." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hazelnuts" -msgid_plural "handfuls of shelled hazelnuts" +msgid "shelled hazelnuts" +msgid_plural "shelled hazelnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled hazelnuts +#. ~ Description for {'str': 'shelled hazelnuts', 'str_pl': 'shelled +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hazelnut tree, their shells have been " @@ -32947,45 +34003,47 @@ msgstr "" "Es un puñado de frutos secos crudos y duros de un roble. Están sin cáscara." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted edamame" -msgid_plural "handful of roasted edamame" +msgid "roasted edamame" +msgid_plural "roasted edamame" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted edamame +#. ~ Description for {'str': 'roasted edamame', 'str_pl': 'roasted edamame'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted edamame, a heart healthy snack." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted soy nuts" -msgid_plural "handful of roasted soy nuts" +msgid "roasted soy nuts" +msgid_plural "roasted soy nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted soy nuts +#. ~ Description for {'str': 'roasted soy nuts', 'str_pl': 'roasted soy nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted soybeans, often called soy nuts." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hazelnuts" -msgid_plural "handfuls of roasted hazelnuts" -msgstr[0] "puñado de avellanas tostadas" -msgstr[1] "puñados de avellanas tostadas" +msgid "roasted hazelnuts" +msgid_plural "roasted hazelnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted hazelnuts +#. ~ Description for {'str': 'roasted hazelnuts', 'str_pl': 'roasted +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hazelnut tree." msgstr "Es un puñado de frutos secos tostados del avellano." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hickory nuts" -msgid_plural "handfuls of shelled hickory nuts" -msgstr[0] "puñado de nueces hickory sin cáscara" -msgstr[1] "puñados de nueces hickory sin cáscara" +msgid "shelled hickory nuts" +msgid_plural "shelled hickory nuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of shelled hickory nuts +#. ~ Description for {'str': 'shelled hickory nuts', 'str_pl': 'shelled +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hickory tree, their shells have been " @@ -32995,12 +34053,13 @@ msgstr "" "cáscara." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hickory nuts" -msgid_plural "handfuls of roasted hickory nuts" -msgstr[0] "puñado de nueces hickory tostadas" -msgstr[1] "puñados de nueces hickory tostadas" +msgid "roasted hickory nuts" +msgid_plural "roasted hickory nuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted hickory nuts +#. ~ Description for {'str': 'roasted hickory nuts', 'str_pl': 'roasted +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hickory tree." msgstr "Es un puñado de nueces tostadas de un nogal americano o hickory." @@ -33016,12 +34075,12 @@ msgstr "" "Es una deliciosa ambrosía de nuez hickory. Una bebida digna de los dioses." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of acorns" -msgid_plural "handfuls of acorns" -msgstr[0] "puñado de bellotas" -msgstr[1] "puñados de bellotas" +msgid "acorns" +msgid_plural "acorns" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of acorns +#. ~ Description for {'str': 'acorns', 'str_pl': 'acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of acorns, still in their shells. Squirrels like them, but " @@ -33031,12 +34090,12 @@ msgstr "" "gustan, pero para vos no es bueno comerlas así como están." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted acorns" -msgid_plural "handfuls of roasted acorns" -msgstr[0] "puñado de bellotas tostadas" -msgstr[1] "puñados de bellotas tostadas" +msgid "roasted acorns" +msgid_plural "roasted acorns" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted acorns +#. ~ Description for {'str': 'roasted acorns', 'str_pl': 'roasted acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful roasted nuts from an oak tree." msgstr "Es un puñado de frutos secos tostados del roble." @@ -33643,11 +34702,12 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "soylent green powder" -msgid_plural "servings of soylent green powder" -msgstr[0] "soylent verde en polvo" -msgstr[1] "raciones de soylent verde en polvo" +msgid_plural "soylent green powder" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for soylent green powder +#. ~ Description for {'str': 'soylent green powder', 'str_pl': 'soylent green +#. powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein made out of people! While quite nutritious, it is " @@ -33698,11 +34758,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "protein powder" -msgid_plural "servings of protein powder" -msgstr[0] "proteína en polvo" -msgstr[1] "raciones de proteína en polvo" +msgid_plural "protein powder" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for protein powder +#. ~ Description for {'str': 'protein powder', 'str_pl': 'protein powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein. While quite nutritious, it is impossible to enjoy in " @@ -33778,67 +34838,67 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "Cítrico muy agrio. Se puede comer si querés." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blueberries" -msgid_plural "handful of blueberries" -msgstr[0] "puñado de moras azules" -msgstr[1] "puñado de moras azules" +msgid "blueberries" +msgid_plural "blueberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of blueberries +#. ~ Description for {'str': 'blueberries', 'str_pl': 'blueberries'} #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "Son azules, pero eso no significa que sean de la realeza." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of strawberries" -msgid_plural "handful of strawberries" -msgstr[0] "puñado de frutillas" -msgstr[1] "puñado de frutillas" +msgid "strawberries" +msgid_plural "strawberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of strawberries +#. ~ Description for {'str': 'strawberries', 'str_pl': 'strawberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "Es una baya sabrosa y jugosa. A menudo crece silvestre en los campos." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cranberries" -msgid_plural "handful of cranberries" -msgstr[0] "puñado de arándanos" -msgstr[1] "puñado de arándanos" +msgid "cranberries" +msgid_plural "cranberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of cranberries +#. ~ Description for {'str': 'cranberries', 'str_pl': 'cranberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "Arándanos rojos y agrios. Buenos para la salud." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of raspberries" -msgid_plural "handful of raspberries" -msgstr[0] "puñado de frambuesas" -msgstr[1] "puñado de frambuesas" +msgid "raspberries" +msgid_plural "raspberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of raspberries +#. ~ Description for {'str': 'raspberries', 'str_pl': 'raspberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "Una frambuesa roja y dulce." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of huckleberries" -msgid_plural "handful of huckleberries" -msgstr[0] "puñado de arándanos agrios" -msgstr[1] "puñado de arándanos agrios" +msgid "huckleberries" +msgid_plural "huckleberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of huckleberries +#. ~ Description for {'str': 'huckleberries', 'str_pl': 'huckleberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "Son arándanos agrios, a menudo confundidos con las moras azules." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of mulberries" -msgid_plural "handful of mulberries" -msgstr[0] "puñado de moras" -msgstr[1] "puñado de moras" +msgid "mulberries" +msgid_plural "mulberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of mulberries +#. ~ Description for {'str': 'mulberries', 'str_pl': 'mulberries'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -33848,12 +34908,12 @@ msgstr "" " por tener el sabor más fuerte de todas las variedades del mundo." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of elderberries" -msgid_plural "handful of elderberries" -msgstr[0] "puñado de bayas del saúco" -msgstr[1] "puñado de bayas del saúco" +msgid "elderberries" +msgid_plural "elderberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of elderberries +#. ~ Description for {'str': 'elderberries', 'str_pl': 'elderberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "" @@ -33861,12 +34921,12 @@ msgstr "" "buenísimas cuando se cocinan." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of rose hips" -msgid_plural "handful of rose hips" -msgstr[0] "puñado de escaramujos" -msgstr[1] "puñado de escaramujos" +msgid "rose hips" +msgid_plural "rose hips" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of rose hips +#. ~ Description for {'str': 'rose hips', 'str_pl': 'rose hips'} #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "Es el fruto de una flor de rosa polinizada." @@ -33903,12 +34963,12 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "Una fruta cítrica, cuyo gusto va desde lo agrio hasta lo semidulce." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cherries" -msgid_plural "handful of cherries" -msgstr[0] "puñado de cerezas" -msgstr[1] "puñado de cerezas" +msgid "cherries" +msgid_plural "cherries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of cherries +#. ~ Description for {'str': 'cherries', 'str_pl': 'cherries'} #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "Una fruta dulce y roja que crece en árboles." @@ -33926,12 +34986,12 @@ msgstr "" "digestión." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of grapes" -msgid_plural "handful of grapes" -msgstr[0] "puñado de uvas" -msgstr[1] "puñado de uvas" +msgid "grapes" +msgid_plural "grapes" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of grapes +#. ~ Description for {'str': 'grapes', 'str_pl': 'grapes'} #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "Es un racimo de jugosas uvas." @@ -33984,12 +35044,12 @@ msgid "A large and very sweet fruit." msgstr "Una fruta grande y muy dulce." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blackberries" -msgid_plural "handful of blackberries" -msgstr[0] "puñado de zarzamoras" -msgstr[1] "puñado de zarzamoras" +msgid "blackberries" +msgid_plural "blackberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of blackberries +#. ~ Description for {'str': 'blackberries', 'str_pl': 'blackberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "Un primo oscuro de la frambuesa." @@ -34036,16 +35096,27 @@ msgstr "" " delicioso." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of apricots" -msgid_plural "handful of apricots" -msgstr[0] "puñado de damascos" -msgstr[1] "puñado de damascos" +msgid "apricots" +msgid_plural "apricots" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of apricots +#. ~ Description for {'str': 'apricots', 'str_pl': 'apricots'} #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "Es una fruta de cáscara suave, parecida al durazno." +#: lang/json/COMESTIBLE_from_json.py +msgid "cholla bud" +msgstr "" + +#. ~ Description for cholla bud +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Edible bud of a cholla cactus, with spines removed; the candy of the Mojave " +"indigenous peoples. Tastes similar to asparagus." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "cactus pad" msgstr "" @@ -34236,11 +35307,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "salsify" -msgid_plural "handfuls of salsify" +msgid_plural "salsify" msgstr[0] "" msgstr[1] "" -#. ~ Description for salsify +#. ~ Description for {'str': 'salsify', 'str_pl': 'salsify'} #: lang/json/COMESTIBLE_from_json.py msgid "" "An herb with a small purple flower. The roots are nutritious, but tough and" @@ -34250,11 +35321,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py lang/json/COMESTIBLE_from_json.py #: lang/json/furniture_from_json.py msgid "chicory" -msgid_plural "handfuls of chicory" +msgid_plural "chicory" msgstr[0] "" msgstr[1] "" -#. ~ Description for chicory +#. ~ Description for {'str': 'chicory', 'str_pl': 'chicory'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A modest blue flower. The flower's roots are very bitter and not meant to " @@ -34378,12 +35449,12 @@ msgstr "" "así cruda, pero está buenísima para cocinar." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of dandelions" -msgid_plural "handfuls of dandelions" -msgstr[0] "puñado de dientes de león" -msgstr[1] "puñados de dientes de león" +msgid "dandelions" +msgid_plural "dandelions" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of dandelions +#. ~ Description for {'str': 'dandelions', 'str_pl': 'dandelions'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A collection of freshly picked yellow dandelions. In their current raw " @@ -34528,12 +35599,12 @@ msgid "Raw, uncooked lentils. They could be cooked." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of fiddleheads" -msgid_plural "handfuls of fiddleheads" +msgid "fiddleheads" +msgid_plural "fiddleheads" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of fiddleheads +#. ~ Description for {'str': 'fiddleheads', 'str_pl': 'fiddleheads'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of immature fern fronds, still curled up like the head of a " @@ -36489,8 +37560,8 @@ msgstr[1] "" #. ~ Description for raw spaghetti pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of pasta usually used when preparing spaghetti. It could be eaten raw" -" if you're desperate, but is much better cooked." +"A type of pasta usually used when preparing spaghetti. It could be eaten " +"raw if you're desperate, but is much better cooked." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -36502,7 +37573,7 @@ msgstr[1] "" #. ~ Description for raw lasagne pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pasta sheet used in making lasagne. It could be eaten raw if you're " +"A pasta sheet used in making lasagne. It could be eaten raw if you're " "desperate, but is much better cooked." msgstr "" @@ -36979,7 +38050,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "Strong alcohol, infused with mana and concentrated into a liquid that can " -"stabilize spells into liquid form. You can still drink it, if you want." +"stabilize spells into liquid form. You can still drink it, if you want." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -36992,7 +38063,7 @@ msgstr[1] "" #: lang/json/COMESTIBLE_from_json.py msgid "" "An organ located above the kidneys responsible for secretion of adrenaline, " -"cortisol, and aldosterone. This one is huge, whether by nature or mutation." +"cortisol, and aldosterone. This one is huge, whether by nature or mutation." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -37089,8 +38160,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human, including pieces of bone " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -37101,8 +38172,9 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human covered with bone, including" -" pieces of organs. Necromantic magic delays immediate rot, but it won't last" -" forever. Piercing it with the attached needle could compel it to serve you." +" pieces of organs. Necromantic magic delays immediate rot, but it won't " +"last forever. Piercing it with the attached needle could compel it to serve" +" you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -37113,8 +38185,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead cougar, complete with fur, bones, " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -37125,8 +38197,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -37137,9 +38209,9 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal. Improved infusion techniques lessen the strain of the " -"process." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal. Improved infusion techniques lessen the strain of " +"the process." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -37174,7 +38246,7 @@ msgstr[1] "" #. ~ Description for hairball #: lang/json/COMESTIBLE_from_json.py msgid "" -"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." +"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -37191,6 +38263,16 @@ msgid "" " properties." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "scream mushroom" +msgstr "" + +#. ~ Description for scream mushroom +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"The mushrooms harvested from a dead shrieker. Could be used in potions." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "resinous cord" msgstr "cuerda resinosa" @@ -37216,13 +38298,13 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "caramel ointement" +msgid "caramel ointment" msgstr "" -#. ~ Description for caramel ointement +#. ~ Description for caramel ointment #: lang/json/COMESTIBLE_from_json.py msgid "" -"An ointement made of caramel. You could use it to heal your wounds, if you " +"An ointment made of caramel. You could use it to heal your wounds, if you " "were made of sugar." msgstr "" @@ -37932,15 +39014,6 @@ msgstr[1] "harina de arroz" msgid "This rice flour is useful for baking." msgstr "Esta harina de arroz es útil para cocinar." -#: lang/json/COMESTIBLE_from_json.py -msgid "cholla bud" -msgstr "" - -#. ~ Description for cholla bud -#: lang/json/COMESTIBLE_from_json.py -msgid "The candy of the Mojave Indigenous peoples." -msgstr "" - #: lang/json/COMESTIBLE_from_json.py msgid "revival serum" msgstr "suero de resucitación" @@ -38257,8 +39330,8 @@ msgstr[1] "" #. ~ Description for paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"It has a threaded cap for easy resealing." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" It has a threaded cap for easy resealing." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -38270,8 +39343,8 @@ msgstr[1] "" #. ~ Description for opened paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"This one is open and its contents will spoil." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" This one is open and its contents will spoil." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -38851,8 +39924,8 @@ msgstr[1] "" #. ~ Description for survival kit box #: lang/json/CONTAINER_from_json.py msgid "" -"An aluminum box that used to contain a small survival kit. Can hold 1 liter " -"of liquid." +"An aluminum box that used to contain a small survival kit. Can hold 1 liter" +" of liquid." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -38957,6 +40030,22 @@ msgid "" " for maximum yield. It can be crafted with various seeds to plant them." msgstr "" +#: lang/json/CONTAINER_from_json.py +msgid "endless flask" +msgid_plural "endless flasks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "You open the flask and discover it full of sweet, sweet, whiskey!" +msgstr "" + +#. ~ Use action not_ready_msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "The flask isn't done refilling yet." +msgstr "" + #: lang/json/CONTAINER_from_json.py msgid "aluminum foil wrap" msgid_plural "aluminum foil wraps" @@ -39443,8 +40532,8 @@ msgstr[1] "" #. ~ Description for rhodonite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of rhodonite. It has manganese dioxide covering and going through it" -" in veins, which can be obtained using a chisel." +"A chunk of rhodonite. It has manganese dioxide covering and going through " +"it in veins, which can be obtained using a chisel." msgstr "" #: lang/json/GENERIC_from_json.py @@ -39456,11 +40545,9 @@ msgstr[1] "zincita" #. ~ Description for zincite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " +"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " "reduction with a source of carbon." msgstr "" -"Es un pedazo de zincita. Puede ser refinado para crear óxido de zinc y luego" -" en zinc por reducción con una fuente de carbono." #: lang/json/GENERIC_from_json.py msgid "hickory root" @@ -39474,12 +40561,12 @@ msgid "A root from a hickory tree. It has an earthy smell." msgstr "Es una raíz de un nogal americano o hickory. Tiene olor a tierra." #: lang/json/GENERIC_from_json.py -msgid "handful of hickory nuts" -msgid_plural "handfuls of hickory nuts" +msgid "hickory nuts" +msgid_plural "hickory nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of hickory nuts +#. ~ Description for {'str': 'hickory nuts', 'str_pl': 'hickory nuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hickory tree, still in their shell." msgstr "" @@ -39487,24 +40574,24 @@ msgstr "" "con sus cáscaras." #: lang/json/GENERIC_from_json.py -msgid "handful of pecans" -msgid_plural "handfuls of pecans" +msgid "pecans" +msgid_plural "pecans" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of pecans +#. ~ Description for {'str': 'pecans', 'str_pl': 'pecans'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pecan tree, still in their shell." msgstr "" "Es un puñado de frutos secos duros del pacano, todavía con sus cáscaras." #: lang/json/GENERIC_from_json.py -msgid "handful of pistachios" -msgid_plural "handfuls of pistachios" +msgid "pistachios" +msgid_plural "pistachios" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of pistachios +#. ~ Description for {'str': 'pistachios', 'str_pl': 'pistachios'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pistachio tree, still in their shell." msgstr "" @@ -39512,60 +40599,60 @@ msgstr "" "cáscaras." #: lang/json/GENERIC_from_json.py -msgid "handful of almonds" -msgid_plural "handfuls of almonds" +msgid "almonds" +msgid_plural "almonds" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of almonds +#. ~ Description for {'str': 'almonds', 'str_pl': 'almonds'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a almond tree, still in their shell." msgstr "" "Es un puñado de frutos secos duros del almendro, todavía con sus cáscaras." #: lang/json/GENERIC_from_json.py -msgid "handful of peanuts" -msgid_plural "handfuls of peanuts" +msgid "peanuts" +msgid_plural "peanuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of peanuts +#. ~ Description for {'str': 'peanuts', 'str_pl': 'peanuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a peanut bush, still in their shell." msgstr "" "Es un puñado de frutos secos duros del maní, todavía con sus cáscaras." #: lang/json/GENERIC_from_json.py -msgid "handful of hazelnuts" -msgid_plural "handfuls of hazelnuts" +msgid "hazelnuts" +msgid_plural "hazelnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of hazelnuts +#. ~ Description for {'str': 'hazelnuts', 'str_pl': 'hazelnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hazelnut tree, still in their shell." msgstr "" "Es un puñado de frutos secos duros del avellano, todavía con sus cáscaras." #: lang/json/GENERIC_from_json.py -msgid "handful of chestnuts" -msgid_plural "handfuls of chestnuts" +msgid "chestnuts" +msgid_plural "chestnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of chestnuts +#. ~ Description for {'str': 'chestnuts', 'str_pl': 'chestnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a chestnut tree, still in their shell." msgstr "" "Es un puñado de frutos secos duros del castaño, todavía con sus cáscaras." #: lang/json/GENERIC_from_json.py -msgid "handful of walnuts" -msgid_plural "handfuls of walnuts" +msgid "walnuts" +msgid_plural "walnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of walnuts +#. ~ Description for {'str': 'walnuts', 'str_pl': 'walnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a walnut tree, still in their shell." msgstr "" @@ -39710,7 +40797,7 @@ msgstr "" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"A dead body with a frightful grimace. He appears to have been horribly " +"A dead body with a frightful grimace. He appears to have been horribly " "mangled prior to his death." msgstr "" @@ -39734,7 +40821,7 @@ msgstr "" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"The upper half of a dead body, as if torn apart with enormous force. Some " +"The upper half of a dead body, as if torn apart with enormous force. Some " "organs are hanging out." msgstr "" @@ -39840,6 +40927,12 @@ msgstr "músculo" msgid "wind" msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "metabolism" +msgid_plural "metabolisms" +msgstr[0] "" +msgstr[1] "" + #: lang/json/GENERIC_from_json.py msgid "a smoking device and a source of flame" msgstr "algo para fumar y algo para encender fuego" @@ -39859,6 +40952,31 @@ msgstr "" "Varios documentos juntos con toda clase de información, datos de clientes y " "gráficos. Bastante inservible por estos días." +#: lang/json/GENERIC_from_json.py +msgid "INCIDENT REPORT: IMMERSION-27A" +msgid_plural "INCIDENT REPORT: IMMERSION-27As" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for INCIDENT REPORT: IMMERSION-27A +#: lang/json/GENERIC_from_json.py +msgid "" +"A white piece of paper, with the logo of XEDRA printed on its upper left " +"corner. It seems to be an internal report of some kind." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "MATERIAL: T-SUBSTRATE" +msgid_plural "MATERIAL: T-SUBSTRATEs" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "HAADF MICROGRAPH: T-SUBSTRATE" +msgid_plural "HAADF MICROGRAPH: T-SUBSTRATEs" +msgstr[0] "" +msgstr[1] "" + #: lang/json/GENERIC_from_json.py msgid "foodplace loyalty card" msgid_plural "foodplace loyalty cards" @@ -39869,7 +40987,7 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "A bright pink loyalty card, all the points are stamped. This would " -"definitely prove your fidelity to Foodplace, if it still meant anything..." +"definitely prove your fidelity to Foodplace, if it still meant anything…" msgstr "" #: lang/json/GENERIC_from_json.py @@ -40023,8 +41141,8 @@ msgstr[1] "" #. ~ Description for set of 100 ceramic disk #: lang/json/GENERIC_from_json.py msgid "" -"A set of small slightly elongated disks, made of high-grade ceramic. They " -"remind you of scales" +"A set of small slightly elongated disks, made of high-grade ceramic. They " +"remind you of scales." msgstr "" #: lang/json/GENERIC_from_json.py @@ -40085,6 +41203,18 @@ msgstr "" "Son pedazos de fieltro, atados para que ocupen menos espacio. Lo tenés que " "desarmar para abrirlo." +#: lang/json/GENERIC_from_json.py +msgid "t-substrate sample" +msgid_plural "t-substrate samples" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for t-substrate sample +#: lang/json/GENERIC_from_json.py +msgid "" +"An acrylic cube cast around a small black crystal. It's tepid to the touch." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "biollante bud" msgid_plural "biollante buds" @@ -40345,6 +41475,18 @@ msgstr "" " puede ser útil para construir paredes más resistentes y cosas de ese " "estilo." +#: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "small railroad track" +msgid_plural "small railroad tracks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for small railroad track +#: lang/json/GENERIC_from_json.py +msgid "A length of track, made from some planks and rails." +msgstr "" + #: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py msgid "concrete" msgid_plural "concrete" @@ -40411,21 +41553,6 @@ msgstr "" "Un resorte grande reforzado. Se expande con una fuerza importante cuando es " "comprimido." -#: lang/json/GENERIC_from_json.py -msgid "leaf spring" -msgid_plural "leaf springs" -msgstr[0] "elástico" -msgstr[1] "elásticos" - -#. ~ Description for leaf spring -#: lang/json/GENERIC_from_json.py -msgid "" -"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" -" an awful lot like a bow. You can barely bend it..." -msgstr "" -"Es un elástico grande y resistente. Probablemente de un auto o camión, y se " -"parece mucha a un arco. Apenas si podés doblarlo..." - #: lang/json/GENERIC_from_json.py msgid "lawnmower" msgid_plural "lawnmowers" @@ -41424,10 +42551,8 @@ msgstr[1] "tarjetas de memoria SD científicas" #: lang/json/GENERIC_from_json.py msgid "" "This memory card appears to be related to 'XEDRA', and is certainly " -"encrypted. Looks * Interesting *, though..." +"encrypted. Looks *Interesting*, though…" msgstr "" -"Esta tarjeta de memoria parece estar relacionada con el 'XEDRA', y " -"seguramente está encriptada. Parece * interesante *, igual..." #: lang/json/GENERIC_from_json.py msgid "hand mirror" @@ -41485,17 +42610,6 @@ msgstr "" "Es una vaina espinosa de un pino. Adentro, se escuchan las semillas secas " "cuando la agitás." -#: lang/json/GENERIC_from_json.py -msgid "poppy flower" -msgid_plural "poppy flowers" -msgstr[0] "flor de amapola" -msgstr[1] "flores de amapola" - -#. ~ Description for poppy flower -#: lang/json/GENERIC_from_json.py -msgid "A poppy stalk with some petals." -msgstr "Un tallo con algunos pétalos de amapola." - #: lang/json/GENERIC_from_json.py msgid "poppy bud" msgid_plural "poppy buds" @@ -41511,248 +42625,6 @@ msgstr "" "Es un capullo de amapola. Contiene algunas sustancias comúnmente producidas " "por una flor de amapola mutada." -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "bluebell" -msgid_plural "bluebells" -msgstr[0] "jacinto" -msgstr[1] "jacintos" - -#. ~ Description for bluebell -#: lang/json/GENERIC_from_json.py -msgid "A bluebell stalk with some petals." -msgstr "" -"Es un tallo con algunos pétalos de la flor llamada jacinto de los bosques." - -#: lang/json/GENERIC_from_json.py -msgid "bluebell bud" -msgid_plural "bluebell buds" -msgstr[0] "capullo de jacinto" -msgstr[1] "capullos de jacinto" - -#. ~ Description for bluebell bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A bluebell bud. Contains some substances commonly produced by a bluebell " -"flower." -msgstr "" -"Es un capullo de jacinto de los bosques. Contiene algunas sustancias " -"comúnmente producidas por la flor de jacinto." - -#. ~ Description for dahlia -#: lang/json/GENERIC_from_json.py -msgid "A dahlia stalk with some petals." -msgstr "Es un tallo con algunos pétalos de dahlia." - -#: lang/json/GENERIC_from_json.py -msgid "dahlia bud" -msgid_plural "dahlia buds" -msgstr[0] "capullo de dahlia" -msgstr[1] "capullos de dahlia" - -#. ~ Description for dahlia bud -#: lang/json/GENERIC_from_json.py -msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." -msgstr "" -"Es un capullo de dahlia. Contiene algunas sustancias comúnmente producidas " -"por la flor de dahlia." - -#. ~ Description for rose -#: lang/json/GENERIC_from_json.py -msgid "A rose stalk with some petals." -msgstr "Es un tallo de rosa con algunos pétalos." - -#: lang/json/GENERIC_from_json.py -msgid "rose bud" -msgid_plural "rose buds" -msgstr[0] "capullo de rosa" -msgstr[1] "capullos de rosa" - -#. ~ Description for rose bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A rose bud. Contains some substances commonly produced by a rose flower." -msgstr "" -"Es un capullo de rosa. Contiene algunas sustancias comúnmente producidas por" -" la flor de la rosa." - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea" -msgid_plural "hydrangeas" -msgstr[0] "hortensia" -msgstr[1] "hortensias" - -#. ~ Description for hydrangea -#: lang/json/GENERIC_from_json.py -msgid "A hydrangea stalk with some petals." -msgstr "Es un tallo de hortensia con algunos pétalos." - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea bud" -msgid_plural "hydrangea buds" -msgstr[0] "capullo de hortensia" -msgstr[1] "capullos de hortensia" - -#. ~ Description for hydrangea bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A hydrangea bud. Contains some substances commonly produced by a hydrangea " -"flower." -msgstr "" -"Es un capullo de hortensia. Contiene algunas sustancias comúnmente " -"producidas por la flor de la hortensia." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "tulip" -msgid_plural "tulips" -msgstr[0] "tulipán" -msgstr[1] "tulipanes" - -#. ~ Description for tulip -#: lang/json/GENERIC_from_json.py -msgid "A tulip stalk with some petals." -msgstr "Es un tallo de tulipán con algunos pétalos." - -#: lang/json/GENERIC_from_json.py -msgid "tulip bud" -msgid_plural "tulip buds" -msgstr[0] "capullo de tulipán" -msgstr[1] "capullos de tulipán" - -#. ~ Description for tulip bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A tulip bud. Contains some substances commonly produced by a tulip flower." -msgstr "" -"Es el capullo de un tulipán. Contiene algunas sustancias comúnmente " -"producidas por la flor del tulipán." - -#: lang/json/GENERIC_from_json.py -msgid "spurge" -msgid_plural "spurges" -msgstr[0] "euforbio" -msgstr[1] "euforbios" - -#. ~ Description for spurge -#: lang/json/GENERIC_from_json.py -msgid "A spurge stalk with some petals." -msgstr "Es un tallo de euforbio con algunos pétalos." - -#: lang/json/GENERIC_from_json.py -msgid "spurge bud" -msgid_plural "spurge buds" -msgstr[0] "capullo de euforbio" -msgstr[1] "capullos de euforbio" - -#. ~ Description for spurge bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A spurge bud. Contains some substances commonly produced by a spurge " -"flower." -msgstr "" -"Es un capullo de euforbio. Contiene algunas sustancias producidas comúnmente" -" por la flor del euforbio." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "black eyed susan" -msgid_plural "black eyed susans" -msgstr[0] "rudbeckia" -msgstr[1] "rudbeckias" - -#. ~ Description for black eyed susan -#: lang/json/GENERIC_from_json.py -msgid "A black eyed susan stalk with some petals." -msgstr "Es un tallo de rudbeckia con algunos pétalos." - -#: lang/json/GENERIC_from_json.py -msgid "black eyed susan bud" -msgid_plural "black eyed susan buds" -msgstr[0] "capullo de rudbeckia" -msgstr[1] "capullos de rudbeckia" - -#. ~ Description for black eyed susan bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A black eyed susan bud. Contains some substances commonly produced by a " -"black eyed susan flower." -msgstr "" -"Es un capullo de rudbeckia. Contiene algunas sustancias comúnmente " -"producidas por la flor de la rudbeckia." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lily" -msgid_plural "lilys" -msgstr[0] "lirio" -msgstr[1] "lirios" - -#. ~ Description for lily -#: lang/json/GENERIC_from_json.py -msgid "A lily stalk with some petals." -msgstr "Es un tallo de lirio con algunos pétalos." - -#: lang/json/GENERIC_from_json.py -msgid "lily bud" -msgid_plural "lily buds" -msgstr[0] "capullo de lirio" -msgstr[1] "capullos de lirio" - -#. ~ Description for lily bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lily bud. Contains some substances commonly produced by a lily flower." -msgstr "" -"Es el capullo de un lirio. Contiene algunas sustancias comúnmente producidas" -" por la flor del lirio." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lotus" -msgid_plural "lotuss" -msgstr[0] "loto" -msgstr[1] "lotos" - -#. ~ Description for lotus -#: lang/json/GENERIC_from_json.py -msgid "A lotus stalk with some petals." -msgstr "Es un tallo de loto con algunos pétalos." - -#: lang/json/GENERIC_from_json.py -msgid "lotus bud" -msgid_plural "lotus buds" -msgstr[0] "capullo de loto" -msgstr[1] "capullos de loto" - -#. ~ Description for lotus bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lotus bud. Contains some substances commonly produced by a lotus flower." -msgstr "" -"Es un capullo de loto. Contiene algunas sustancias comúnmente producidas por" -" la flor del loto." - -#: lang/json/GENERIC_from_json.py -msgid "lilac" -msgid_plural "lilacs" -msgstr[0] "lila" -msgstr[1] "lilas" - -#. ~ Description for lilac -#: lang/json/GENERIC_from_json.py -msgid "A lilac stalk with some petals." -msgstr "Es un tallo de lila con algunos pétalos." - -#: lang/json/GENERIC_from_json.py -msgid "lilac bud" -msgid_plural "lilac buds" -msgstr[0] "capullo de lila" -msgstr[1] "capullos de lila" - -#. ~ Description for lilac bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lilac bud. Contains some substances commonly produced by a lilac flower." -msgstr "" -"Es el capullo de una lila. Contiene algunas sustancias comúnmente producidas" -" por la flor de la lila." - #. ~ Description for sunflower #: lang/json/GENERIC_from_json.py msgid "" @@ -41763,12 +42635,13 @@ msgstr "" "que todavía no han sido comidas por animales." #: lang/json/GENERIC_from_json.py -msgid "handful of chamomile flowers" -msgid_plural "handfuls of chamomile flowers" +msgid "chamomile flowers" +msgid_plural "chamomile flowers" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of chamomile flowers +#. ~ Description for {'str': 'chamomile flowers', 'str_pl': 'chamomile +#. flowers'} #: lang/json/GENERIC_from_json.py msgid "" "White chamomile flowers, used as a herbal remedy since the ancient times." @@ -42067,12 +42940,14 @@ msgstr "" #. ~ Use action menu_text for cigar. #. ~ Use action menu_text for cigarette. #. ~ Use action menu_text for joint. +#. ~ Use action menu_text for spooky jack o'lantern. +#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for candle. #. ~ Use action menu_text for refillable lighter. #. ~ Use action menu_text for torch. -#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for ember carrier (lit). #. ~ Use action menu_text for Louisville Slaughterer. +#. ~ Use action menu_text for everburning torch. #: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py msgid "Extinguish" @@ -42123,10 +42998,8 @@ msgstr[1] "colillas de cigarrillos" #: lang/json/GENERIC_from_json.py msgid "" "What was once a wonderfully addictive tube of dried tobacco leaf is now just a smelly piece of trash. What a tragedy!\n" -"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far..." +"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far…" msgstr "" -"Lo que alguna vez fue un maravilloso y adictivo cilindro de hojas secas de tabaco, ahora es solo un pedazo apestoso de basura. ¡Qué tragedia!\n" -"Si juntas varias colillas, tal vez te puedas armar un cigarrillo nuevo. Si estás dispuesto a llegar tan lejos..." #. ~ Use action msg for joint. #: lang/json/GENERIC_from_json.py @@ -42176,11 +43049,11 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "raw tobacco" -msgid_plural "handfuls of raw tobacco" -msgstr[0] "puñado de tabaco crudo" -msgstr[1] "puñados de tabaco crudo" +msgid_plural "raw tobacco" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for raw tobacco +#. ~ Description for {'str': 'raw tobacco', 'str_pl': 'raw tobacco'} #: lang/json/GENERIC_from_json.py msgid "" "Various parts of tobacco plant, full of nicotine. They need to be dried to " @@ -42237,12 +43110,6 @@ msgid "" "panel, if you can find one." msgstr "" -#: lang/json/GENERIC_from_json.py -msgid "neoprene sheet" -msgid_plural "neoprene sheets" -msgstr[0] "lámina de neopreno" -msgstr[1] "láminas de neopreno" - #. ~ Description for neoprene sheet #: lang/json/GENERIC_from_json.py msgid "" @@ -43373,6 +44240,272 @@ msgid_plural "notes" msgstr[0] "" msgstr[1] "" +#: lang/json/GENERIC_from_json.py +msgid "leaf spring" +msgid_plural "leaf springs" +msgstr[0] "elástico" +msgstr[1] "elásticos" + +#. ~ Description for leaf spring +#: lang/json/GENERIC_from_json.py +msgid "" +"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" +" an awful lot like a bow. You can barely bend it…" +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea" +msgid_plural "hydrangeas" +msgstr[0] "hortensia" +msgstr[1] "hortensias" + +#. ~ Description for hydrangea +#: lang/json/GENERIC_from_json.py +msgid "A hydrangea stalk with some petals." +msgstr "Es un tallo de hortensia con algunos pétalos." + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea bud" +msgid_plural "hydrangea buds" +msgstr[0] "capullo de hortensia" +msgstr[1] "capullos de hortensia" + +#. ~ Description for hydrangea bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A hydrangea bud. Contains some substances commonly produced by a hydrangea " +"flower." +msgstr "" +"Es un capullo de hortensia. Contiene algunas sustancias comúnmente " +"producidas por la flor de la hortensia." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "tulip" +msgid_plural "tulips" +msgstr[0] "tulipán" +msgstr[1] "tulipanes" + +#. ~ Description for tulip +#: lang/json/GENERIC_from_json.py +msgid "A tulip stalk with some petals." +msgstr "Es un tallo de tulipán con algunos pétalos." + +#: lang/json/GENERIC_from_json.py +msgid "tulip bud" +msgid_plural "tulip buds" +msgstr[0] "capullo de tulipán" +msgstr[1] "capullos de tulipán" + +#. ~ Description for tulip bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A tulip bud. Contains some substances commonly produced by a tulip flower." +msgstr "" +"Es el capullo de un tulipán. Contiene algunas sustancias comúnmente " +"producidas por la flor del tulipán." + +#: lang/json/GENERIC_from_json.py +msgid "spurge" +msgid_plural "spurges" +msgstr[0] "euforbio" +msgstr[1] "euforbios" + +#. ~ Description for spurge +#: lang/json/GENERIC_from_json.py +msgid "A spurge stalk with some petals." +msgstr "Es un tallo de euforbio con algunos pétalos." + +#: lang/json/GENERIC_from_json.py +msgid "spurge bud" +msgid_plural "spurge buds" +msgstr[0] "capullo de euforbio" +msgstr[1] "capullos de euforbio" + +#. ~ Description for spurge bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A spurge bud. Contains some substances commonly produced by a spurge " +"flower." +msgstr "" +"Es un capullo de euforbio. Contiene algunas sustancias producidas comúnmente" +" por la flor del euforbio." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "black eyed susan" +msgid_plural "black eyed susans" +msgstr[0] "rudbeckia" +msgstr[1] "rudbeckias" + +#. ~ Description for black eyed susan +#: lang/json/GENERIC_from_json.py +msgid "A black eyed susan stalk with some petals." +msgstr "Es un tallo de rudbeckia con algunos pétalos." + +#: lang/json/GENERIC_from_json.py +msgid "black eyed susan bud" +msgid_plural "black eyed susan buds" +msgstr[0] "capullo de rudbeckia" +msgstr[1] "capullos de rudbeckia" + +#. ~ Description for black eyed susan bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A black eyed susan bud. Contains some substances commonly produced by a " +"black eyed susan flower." +msgstr "" +"Es un capullo de rudbeckia. Contiene algunas sustancias comúnmente " +"producidas por la flor de la rudbeckia." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lily" +msgid_plural "lilys" +msgstr[0] "lirio" +msgstr[1] "lirios" + +#. ~ Description for lily +#: lang/json/GENERIC_from_json.py +msgid "A lily stalk with some petals." +msgstr "Es un tallo de lirio con algunos pétalos." + +#: lang/json/GENERIC_from_json.py +msgid "lily bud" +msgid_plural "lily buds" +msgstr[0] "capullo de lirio" +msgstr[1] "capullos de lirio" + +#. ~ Description for lily bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lily bud. Contains some substances commonly produced by a lily flower." +msgstr "" +"Es el capullo de un lirio. Contiene algunas sustancias comúnmente producidas" +" por la flor del lirio." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lotus" +msgid_plural "lotuss" +msgstr[0] "loto" +msgstr[1] "lotos" + +#. ~ Description for lotus +#: lang/json/GENERIC_from_json.py +msgid "A lotus stalk with some petals." +msgstr "Es un tallo de loto con algunos pétalos." + +#: lang/json/GENERIC_from_json.py +msgid "lotus bud" +msgid_plural "lotus buds" +msgstr[0] "capullo de loto" +msgstr[1] "capullos de loto" + +#. ~ Description for lotus bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lotus bud. Contains some substances commonly produced by a lotus flower." +msgstr "" +"Es un capullo de loto. Contiene algunas sustancias comúnmente producidas por" +" la flor del loto." + +#: lang/json/GENERIC_from_json.py +msgid "lilac" +msgid_plural "lilacs" +msgstr[0] "lila" +msgstr[1] "lilas" + +#. ~ Description for lilac +#: lang/json/GENERIC_from_json.py +msgid "A lilac stalk with some petals." +msgstr "Es un tallo de lila con algunos pétalos." + +#: lang/json/GENERIC_from_json.py +msgid "lilac bud" +msgid_plural "lilac buds" +msgstr[0] "capullo de lila" +msgstr[1] "capullos de lila" + +#. ~ Description for lilac bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lilac bud. Contains some substances commonly produced by a lilac flower." +msgstr "" +"Es el capullo de una lila. Contiene algunas sustancias comúnmente producidas" +" por la flor de la lila." + +#: lang/json/GENERIC_from_json.py +msgid "rose bud" +msgid_plural "rose buds" +msgstr[0] "capullo de rosa" +msgstr[1] "capullos de rosa" + +#. ~ Description for rose bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A rose bud. Contains some substances commonly produced by a rose flower." +msgstr "" +"Es un capullo de rosa. Contiene algunas sustancias comúnmente producidas por" +" la flor de la rosa." + +#: lang/json/GENERIC_from_json.py +msgid "dahlia bud" +msgid_plural "dahlia buds" +msgstr[0] "capullo de dahlia" +msgstr[1] "capullos de dahlia" + +#. ~ Description for dahlia bud +#: lang/json/GENERIC_from_json.py +msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." +msgstr "" +"Es un capullo de dahlia. Contiene algunas sustancias comúnmente producidas " +"por la flor de dahlia." + +#. ~ Description for rose +#: lang/json/GENERIC_from_json.py +msgid "A rose stalk with some petals." +msgstr "Es un tallo de rosa con algunos pétalos." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "bluebell" +msgid_plural "bluebells" +msgstr[0] "jacinto" +msgstr[1] "jacintos" + +#. ~ Description for bluebell +#: lang/json/GENERIC_from_json.py +msgid "A bluebell stalk with some petals." +msgstr "" +"Es un tallo con algunos pétalos de la flor llamada jacinto de los bosques." + +#. ~ Description for dahlia +#: lang/json/GENERIC_from_json.py +msgid "A dahlia stalk with some petals." +msgstr "Es un tallo con algunos pétalos de dahlia." + +#: lang/json/GENERIC_from_json.py +msgid "poppy flower" +msgid_plural "poppy flowers" +msgstr[0] "flor de amapola" +msgstr[1] "flores de amapola" + +#. ~ Description for poppy flower +#: lang/json/GENERIC_from_json.py +msgid "A poppy stalk with some petals." +msgstr "Un tallo con algunos pétalos de amapola." + +#: lang/json/GENERIC_from_json.py +msgid "bluebell bud" +msgid_plural "bluebell buds" +msgstr[0] "capullo de jacinto" +msgstr[1] "capullos de jacinto" + +#. ~ Description for bluebell bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A bluebell bud. Contains some substances commonly produced by a bluebell " +"flower." +msgstr "" +"Es un capullo de jacinto de los bosques. Contiene algunas sustancias " +"comúnmente producidas por la flor de jacinto." + #: lang/json/GENERIC_from_json.py msgid "module template" msgid_plural "module templates" @@ -43796,7 +44929,7 @@ msgstr[1] "cafeteras atómicas" #: lang/json/GENERIC_from_json.py msgid "" "This is a Curie-G coffeemaker, by CuppaTech. It famously uses a radioactive" -" generator to heat water for coffee. Normally the water is heated using " +" generator to heat water for coffee. Normally the water is heated using " "energy stored in a capacitor, and makes ordinary coffee. However, as a " "special feature, water from the RTG containment area can be used, giving the" " coffee a very special kick. The Curie-G is illegal in most countries." @@ -43811,7 +44944,9 @@ msgstr[1] "lámparas atómicas" #. ~ Use action menu_text for atomic lamp. #. ~ Use action menu_text for atomic reading light. #. ~ Use action menu_text for magical reading light. -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp. +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Close cover" msgstr "Cerrar tapa" @@ -43839,7 +44974,9 @@ msgstr[1] "lámparas atómicas (cubiertas)" #. ~ Use action menu_text for atomic lamp (covered). #. ~ Use action menu_text for atomic reading light (covered). #. ~ Use action menu_text for magical reading light (covered). -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp (covered). +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Open cover" msgstr "Abrir tapa" @@ -44141,8 +45278,8 @@ msgstr[1] "ganchos de agarre" #: lang/json/GENERIC_from_json.py msgid "" "A folding grappling hook attached to a stout 30-foot long piece of " -"lightweight cord. Useful for keeping yourself safe from falls. Can be used " -"in place of a long rope for butchering, in a pinch." +"lightweight cord. Useful for keeping yourself safe from falls. Can be used" +" in place of a long rope for butchering, in a pinch." msgstr "" #: lang/json/GENERIC_from_json.py @@ -45043,12 +46180,11 @@ msgstr[1] "" #. ~ Description for Beautiful Springtime #: lang/json/GENERIC_from_json.py -msgid "" -"A complete guide to Wing Chun Kung-fu. Includes a section on butterfly " -"swords and the use of long poles at the end." +msgid "A complete guide to Wing Chun Kung-fu." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/martial_art_from_json.py +#: lang/json/martial_art_from_json.py msgid "Fior Di Battaglia" msgid_plural "Fior Di Battaglia" msgstr[0] "" @@ -45058,8 +46194,8 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "A completely translated medieval guide teaching various techniques with " -"polearms, there is a chapter about the many variations of common polearms..." -" there are even pictures!" +"polearms, there is a chapter about the many variations of common polearms… " +"there are even pictures!" msgstr "" #: lang/json/GENERIC_from_json.py @@ -46233,6 +47369,20 @@ msgstr[1] "" msgid "This is a slip of paper signed by the issuer." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "icon" +msgid_plural "icons" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for icon +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a small picture, about the same size as an ID card, symbolizing a " +"religious figure. On the back, there is a text that faintly reads 'New " +"England Church Community'." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "generic silverware" msgid_plural "generic silverwares" @@ -46577,11 +47727,9 @@ msgstr[1] "tenedores" #. ~ Description for fork #: lang/json/GENERIC_from_json.py msgid "" -"A fork, if you stab something with it you eat it right away. Wait... " +"A fork, if you stab something with it you eat it right away. Wait… " "nevermind." msgstr "" -"Un tenedor, si se lo clavás a algo te lo podés comer ahí nomás. Pará... " -"mejor no." #: lang/json/GENERIC_from_json.py msgid "plastic fork" @@ -47841,18 +48989,12 @@ msgstr[1] "Mjölnirs" #: lang/json/GENERIC_from_json.py msgid "" "A large hammer, forged from the heart of a dying star. It bears the inscription:\n" -" \n" +"\n" "Whosoever holds this hammer,\n" "If he be worthy,\n" -"Shall possess the power to...\n" +"Shall possess the power to…\n" "CRUSH!'" msgstr "" -"Es un martillo grande, forjado en el coraón de una estrella agonizante Tiene una inscripción:\n" -" \n" -"Aquél que sostenga este martillo,\n" -"Si es que es digno,\n" -"Tendrá el poder de...\n" -"¡APLASTAR!'" #: lang/json/GENERIC_from_json.py msgid "lucerne hammer" @@ -48331,8 +49473,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "" "This is a thin thrusting sword, a sort of predecessor to the rapier. It " -"requires a larger baldric or scabbard, compared to smaller swords. It seems " -"a bit too bendy." +"requires a larger baldric or scabbard, compared to smaller swords. It seems" +" a bit too bendy." msgstr "" #. ~ Description for estoc @@ -48444,21 +49586,18 @@ msgstr "" "a su hoja flexible y punta sin filo." #: lang/json/GENERIC_from_json.py -msgid "fencing epee" -msgid_plural "fencing epees" -msgstr[0] "espada de esgrima" -msgstr[1] "espadas de esgrima" +msgid "fencing épée" +msgid_plural "fencing épées" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for fencing epee +#. ~ Description for fencing épée #: lang/json/GENERIC_from_json.py msgid "" -"A weapon used for fencing, the most noble of all sports. The epee is the " +"A weapon used for fencing, the most noble of all sports. The épée is the " "heaviest and stiffest of the fencing weapons, and therefore perhaps the most" " useful." msgstr "" -"Un arma utilizada en el esgrima, el más noble de todos los deportes. Esta " -"espada es la más pesada y rígida de todas las armas del esgrima, y por lo " -"tanto puede ser la más útil en esta situación." #: lang/json/GENERIC_from_json.py msgid "fencing saber" @@ -48470,11 +49609,53 @@ msgstr[1] "sables de esgrima" #: lang/json/GENERIC_from_json.py msgid "" "A weapon used for fencing, the most noble of all sports. The fencing saber " -"is marginally shorter than the foil and epee, but no less effective." +"is marginally shorter than the foil and épée, but no less effective." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened foil" +msgid_plural "sharpened foils" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sharpened foil +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing foil has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now somewhat more lethal, yet still familiar to" +" the practiced fencer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened épée" +msgid_plural "sharpened épées" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sharpened épée +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing épée has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now considerably more lethal, yet still " +"familiar to the practiced fencer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened saber" +msgid_plural "sharpened sabers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sharpened saber +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing saber has had its rounded tip snapped off " +"and has been crudely sharpened to a point. Though it still lacks a cutting " +"edge, it is now considerably more lethal, yet still familiar to the " +"practiced fencer." msgstr "" -"Un arma utilizada en el esgrima, el más noble de todos los deportes. Este " -"sable es bastante más corto que el florete y la espada de esgrima, pero no " -"es menos eficaz." #: lang/json/GENERIC_from_json.py msgid "hollow cane" @@ -48712,6 +49893,17 @@ msgstr "" "Un cilindro de metal con un pequeño lente adentro, pensado para ser puesto " "en una puerta." +#: lang/json/GENERIC_from_json.py +msgid "mesh screen" +msgid_plural "mesh screens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for mesh screen +#: lang/json/GENERIC_from_json.py +msgid "A roll of fine mesh screen for bug barriers on porches." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "pipe" msgid_plural "pipes" @@ -48767,11 +49959,8 @@ msgstr[1] "lingotes de aluminio" msgid "" "A small aluminum ingot, standardized for further processing. Light but " "durable, this could be cast into various shapes for construction or ground " -"down to a powder, for more... high-profile applications." +"down to a powder, for more… high-profile applications." msgstr "" -"Un pequeño lingote de aluminio, normalizado para un proceso posterior. " -"Ligero pero duradero, puede ser moldeado en diferentes formas para la " -"construcción o molido en polvo, para usos más... notorios." #: lang/json/GENERIC_from_json.py msgid "scrap copper" @@ -48796,12 +49985,12 @@ msgid "This is a single, or twin, sized mattress." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "down_mattress" -msgid_plural "down_mattresses" +msgid "down mattress" +msgid_plural "down mattresses" msgstr[0] "" msgstr[1] "" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/GENERIC_from_json.py msgid "This is a single, or twin, sized down filled mattress." msgstr "" @@ -49108,6 +50297,46 @@ msgid "" " can also serve as an improvised stabbing weapon, but will break quickly." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "frame loom" +msgid_plural "frame looms" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for frame loom +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a rather bulky and primitive wooden frame which can be used to weave" +" cloth sheets. It is very slow, though." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "wooden shed stick" +msgid_plural "wooden shed sticks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for wooden shed stick +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a short thin flat wooden stick, used as a tool while weaving cloth " +"with a frame loom." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "tailoring pattern set" +msgid_plural "tailoring pattern sets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for tailoring pattern set +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a large set of tailoring patterns made from paper. They're useful " +"for making any kind of cloth or leather items from scratch, but are " +"necessary for more advanced projects." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "vehicle alternator" msgid_plural "vehicle alternators" @@ -49479,6 +50708,20 @@ msgstr "" "de controlar un vehículo sin conductor. Su inteligencia artificial no " "funciona, pero todavía debe tener algún modo para mantenimiento." +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "turret control unit" +msgid_plural "turret control units" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for turret control unit +#: lang/json/GENERIC_from_json.py +msgid "" +"A set of motor, camera, and various electronic modules banded together to " +"allow for tracking targets, friend-or-foe identification, and firing the " +"connected turret in full automatic mode." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "massive engine block" msgid_plural "massive engine blocks" @@ -50635,6 +51878,19 @@ msgstr[1] "lavarropas" msgid "A very small washing machine designed for use in vehicles." msgstr "Es un lavarropas chico, diseñado para ser usado en vehículos." +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "programmable autopilot" +msgid_plural "programmable autopilots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for programmable autopilot +#: lang/json/GENERIC_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of a vehicle to allow" +" it to follow simple paths." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "mountable autoclave" msgid_plural "mountable autoclaves" @@ -50708,7 +51964,7 @@ msgstr[1] "" #. ~ Description for medium wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." +"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py @@ -50720,8 +51976,8 @@ msgstr[1] "" #. ~ Description for heavy wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A heavy metal assembly that allows bolting a wheel on a car. Fit for a large" -" car wheel." +"A heavy metal assembly that allows bolting a wheel on a car. Fit for a " +"large car wheel." msgstr "" #: lang/json/GENERIC_from_json.py @@ -51908,6 +53164,27 @@ msgid "" "art." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "The Iron Whip" +msgid_plural "The Iron Whips" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for The Iron Whip. +#: lang/json/GENERIC_from_json.py +msgid "" +"You loop the whip in your hand and it coils back into a belt form in an " +"instant." +msgstr "" + +#. ~ Description for The Iron Whip +#: lang/json/GENERIC_from_json.py +msgid "" +"A long braided flexible steel bullwhip that narrows into a sharp blade at " +"the end. Easily capable of slicing and dicing anything that comes at you. " +"It transforms back into a belt." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "cudgel +1" msgid_plural "cudgel +1s" @@ -52412,165 +53689,6 @@ msgid_plural "dao +2s" msgstr[0] "" msgstr[1] "" -#: lang/json/GENERIC_from_json.py -msgid "cestus +1" -msgid_plural "cestus +1s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "cestus +2" -msgid_plural "cestus +2s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist" -msgid_plural "flaming fists" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for flaming fist -#: lang/json/GENERIC_from_json.py -msgid "" -"A heavy metal guard that covers the fist and increases striking power, with " -"stout padding underneath to protect the wearers hand. It has been enchanted" -" to emit dark magical flames that only harm enemies." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist +1" -msgid_plural "flaming fist +1s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist +2" -msgid_plural "flaming fist +2s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "gauntlet of pounding" -msgid_plural "gauntlets of pounding" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for gauntlet of pounding -#: lang/json/GENERIC_from_json.py -msgid "" -"A large gleaming metal gauntlet covered in magical symbols that allows you " -"to land astoundingly powerful blows." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "stone shell" -msgid_plural "stone shells" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for stone shell -#: lang/json/GENERIC_from_json.py -msgid "" -"The broken fragment of an owlbear egg. With luck it might still contain " -"some of its former power, though if nothing else it's still a bit sharp." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "glow dust" -msgid_plural "glow dusts" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for glow dust -#: lang/json/GENERIC_from_json.py -msgid "" -"The powdered remains of a will-o-wisps's phsyical form. It seems to still " -"possess an otherworldly glow." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "magical reading light" -msgid_plural "magical reading lights" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for magical reading light -#: lang/json/GENERIC_from_json.py -msgid "" -"Powered by the magic of glow powder and lesser mana potions, this extremely " -"expensive little light will provide just enough light to read by for at " -"least a decade. Use it to close the cover and hide the light." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "magical reading light (covered)" -msgid_plural "magical reading lights (covered)" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for magical reading light (covered) -#: lang/json/GENERIC_from_json.py -msgid "" -"Powered by the magic of glow powder and lesser mana potions, this extremely " -"expensive little light will provide just enough light to read by for at " -"least a decade. The cover is closed. Use it to open the cover and show the" -" light." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "bulette plate" -msgid_plural "bulette plates" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for bulette plate -#: lang/json/GENERIC_from_json.py -msgid "" -"The great plates from behind a bulette's head have always been prized for " -"use in shield and armor making." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "bulette pearl" -msgid_plural "bulette pearls" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for bulette pearl -#: lang/json/GENERIC_from_json.py -msgid "" -"As a bulette burrows through the earth its gills collect minute amounts of " -"precious metals and gems which slowly aggregate into lustrous gemstones " -"prized for their beauty and power." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "black dragon scale" -msgid_plural "black dragon scales" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for black dragon scale -#: lang/json/GENERIC_from_json.py -msgid "" -"A scale from a black dragon. It still has its magical properties and acid " -"resistance." -msgstr "" - -#: lang/json/GENERIC_from_json.py lang/json/material_from_json.py -msgid "black dragon hide" -msgid_plural "black dragon hides" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for black dragon hide -#: lang/json/GENERIC_from_json.py -msgid "" -"Prepared hide from a black dragon. Hard, acid-resistant, and with more " -"scales could make a suit of armor as hard as steel and half as heavy." -msgstr "" - #: lang/json/GENERIC_from_json.py msgid "Biomancer spear" msgid_plural "Biomancer spears" @@ -52580,8 +53698,8 @@ msgstr[1] "" #. ~ Description for Biomancer spear #: lang/json/GENERIC_from_json.py msgid "" -"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer rune" -" embedded at the base of the head." +"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer " +"rune embedded at the base of the head." msgstr "" #: lang/json/GENERIC_from_json.py @@ -52594,36 +53712,22 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "This staff incorporates a sturdy cresent wrench on top of a prybar and a " -"hammer on the other in a convienent package. There is a Technomancer rune " +"hammer on the other in a convienent package. There is a Technomancer rune " "embedded in the hammerhead." msgstr "" #: lang/json/GENERIC_from_json.py msgid "Magus staff" -msgid_plural "Magus staffs" +msgid_plural "Magus staves" msgstr[0] "" msgstr[1] "" -#. ~ Description for Magus staff +#. ~ Description for {'str': 'Magus staff', 'str_pl': 'Magus staves'} #: lang/json/GENERIC_from_json.py msgid "" "A quarterstaff with runes carved into it and two glass jars, heat-tempered " -"and infused with mana for durability, to act as mana receptacles. There are " -"two Magi runes embedded at the tips." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "Earthshaper cestus" -msgid_plural "Earthshaper cesti" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for Earthshaper cestus -#: lang/json/GENERIC_from_json.py -msgid "" -"A stone battle glove with carved runes encasing the hand, protecting it " -"while increasing striking power. There is an Earthshaper rune embedded in " -"the palm." +"and infused with mana for durability, to act as mana receptacles. There are" +" two Magi runes embedded at the tips." msgstr "" #: lang/json/GENERIC_from_json.py @@ -52635,7 +53739,7 @@ msgstr[1] "" #. ~ Description for Kelvinist flamberge #: lang/json/GENERIC_from_json.py msgid "" -"A sword with an undulating blade, reminiscent of a flame. There is a " +"A sword with an undulating blade, reminiscent of a flame. There is a " "Kelvinist rune embedded in the pommel." msgstr "" @@ -52648,7 +53752,7 @@ msgstr[1] "" #. ~ Description for Stormshaper axe #: lang/json/GENERIC_from_json.py msgid "" -"A forged copper axe with silver trimmings and a wooden handle. There is a " +"A forged copper axe with silver trimmings and a wooden handle. There is a " "Stormshaper rune embedded in the eye." msgstr "" @@ -52661,10 +53765,475 @@ msgstr[1] "" #. ~ Description for Animist athame #: lang/json/GENERIC_from_json.py msgid "" -"A steel ritual knife used by Animists to draw blood for summoning. Their " +"A steel ritual knife used by Animists to draw blood for summoning. Their " "school rune is embedded in the crossguard." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "springstaff(baton)" +msgid_plural "springstaves(baton)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "Extend to staff" +msgstr "" + +#. ~ Use action msg for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "You snap open your springstaff into staff mode." +msgstr "" + +#. ~ Description for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips retracted while in baton configuration. Activate to extend." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "springstaff(staff)" +msgid_plural "springstaves(staff)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "Retract to baton" +msgstr "" + +#. ~ Use action msg for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "You collapse your springstaff into baton mode." +msgstr "" + +#. ~ Description for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips from retracting while in staff configuration. Activate to extend." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magic token" +msgid_plural "magic tokens" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "longsword token" +msgid_plural "longsword tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for longsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine longsword!" +msgstr "" + +#. ~ Description for longsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a longsword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "arming sword token" +msgid_plural "arming sword tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for arming sword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine arming sword!" +msgstr "" + +#. ~ Description for arming sword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case an arming sword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "broadsword token" +msgid_plural "broadsword tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for broadsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine broadsword!" +msgstr "" + +#. ~ Description for broadsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a broadsword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "battleaxe token" +msgid_plural "battleaxe tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for battleaxe token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine battle axe!" +msgstr "" + +#. ~ Description for battleaxe token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a battle axe." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "pike token" +msgid_plural "pike tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for pike token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine pike!" +msgstr "" + +#. ~ Description for pike token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a pike." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "mace token" +msgid_plural "mace tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for mace token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine mace!" +msgstr "" + +#. ~ Description for mace token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a mace." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "quarterstaff token" +msgid_plural "quarterstaff tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for quarterstaff token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a pristine quarterstaff!" +msgstr "" + +#. ~ Description for quarterstaff token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a quarterstaff." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "hammer token" +msgid_plural "hammer tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for hammer token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine hammer!" +msgstr "" + +#. ~ Description for hammer token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a hammer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "screwdriver set token" +msgid_plural "screwdriver set tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for screwdriver set token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine screwdriver set!" +msgstr "" + +#. ~ Description for screwdriver set token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a screwdriver." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "toolbox token" +msgid_plural "toolbox tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for toolbox token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine toolbox!" +msgstr "" + +#. ~ Description for toolbox token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a toolbox." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "crowbar token" +msgid_plural "crowbar tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for crowbar token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine crowbar!" +msgstr "" + +#. ~ Description for crowbar token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a crowbar." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "cestus +1" +msgid_plural "cestus +1s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "cestus +2" +msgid_plural "cestus +2s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist" +msgid_plural "flaming fists" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for flaming fist +#: lang/json/GENERIC_from_json.py +msgid "" +"A heavy metal guard that covers the fist and increases striking power, with " +"stout padding underneath to protect the wearers hand. It has been enchanted" +" to emit dark magical flames that only harm enemies." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist +1" +msgid_plural "flaming fist +1s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist +2" +msgid_plural "flaming fist +2s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "gauntlet of pounding" +msgid_plural "gauntlets of pounding" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for gauntlet of pounding +#: lang/json/GENERIC_from_json.py +msgid "" +"A large gleaming metal gauntlet covered in magical symbols that allows you " +"to land astoundingly powerful blows." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Earthshaper cestus" +msgid_plural "Earthshaper cesti" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'Earthshaper cestus', 'str_pl': 'Earthshaper +#. cesti'} +#: lang/json/GENERIC_from_json.py +msgid "" +"A stone battle glove with carved runes encasing the hand, protecting it " +"while increasing striking power. There is an Earthshaper rune embedded in " +"the palm." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "stone shell" +msgid_plural "stone shells" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for stone shell +#: lang/json/GENERIC_from_json.py +msgid "" +"The broken fragment of an owlbear egg. With luck it might still contain " +"some of its former power, though if nothing else it's still a bit sharp." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "glow dust" +msgid_plural "glow dusts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for glow dust +#: lang/json/GENERIC_from_json.py +msgid "" +"The powdered remains of a will-o-wisps's phsyical form. It seems to still " +"possess an otherworldly glow." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magical reading light" +msgid_plural "magical reading lights" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magical reading light +#: lang/json/GENERIC_from_json.py +msgid "" +"Powered by the magic of glow powder and lesser mana potions, this extremely " +"expensive little light will provide just enough light to read by for at " +"least a decade. Use it to close the cover and hide the light." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magical reading light (covered)" +msgid_plural "magical reading lights (covered)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magical reading light (covered) +#: lang/json/GENERIC_from_json.py +msgid "" +"Powered by the magic of glow powder and lesser mana potions, this extremely " +"expensive little light will provide just enough light to read by for at " +"least a decade. The cover is closed. Use it to open the cover and show the" +" light." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "bulette plate" +msgid_plural "bulette plates" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bulette plate +#: lang/json/GENERIC_from_json.py +msgid "" +"The great plates from behind a bulette's head have always been prized for " +"use in shield and armor making." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "bulette pearl" +msgid_plural "bulette pearls" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bulette pearl +#: lang/json/GENERIC_from_json.py +msgid "" +"As a bulette burrows through the earth its gills collect minute amounts of " +"precious metals and gems which slowly aggregate into lustrous gemstones " +"prized for their beauty and power." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "stirge proboscis" +msgid_plural "stirge proboscises" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for stirge proboscis +#: lang/json/GENERIC_from_json.py +msgid "" +"A long sucking apparatus harvested from stirge corpse. Makes a poor melee " +"weapon." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "black dragon scale" +msgid_plural "black dragon scales" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for black dragon scale +#: lang/json/GENERIC_from_json.py +msgid "" +"A scale from a black dragon. It still has its magical properties and acid " +"resistance." +msgstr "" + +#: lang/json/GENERIC_from_json.py lang/json/material_from_json.py +msgid "black dragon hide" +msgid_plural "black dragon hides" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for black dragon hide +#: lang/json/GENERIC_from_json.py +msgid "" +"Prepared hide from a black dragon. Hard, acid-resistant, and with more " +"scales could make a suit of armor as hard as steel and half as heavy." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "lesser staff of the magi" msgid_plural "lesser staves of the magi" @@ -52678,6 +54247,17 @@ msgid "" "glows with magic when you cast spells, but it is not a sturdy melee weapon." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "fireball hammer" +msgid_plural "fireball hammers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fireball hammer +#: lang/json/GENERIC_from_json.py +msgid "Use with caution! Flammable! Explosive!" +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "The Stormhammer" msgid_plural "The Stormhammers" @@ -52728,6 +54308,56 @@ msgstr[1] "" msgid "This is a wicked spear/halberd hybrid entirely created of bone." msgstr "" +#. ~ Description for Mjölnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Mjölnir, the legendary hammer of Thor. It is rumored to be able to level " +"mountains with a single blow. You feel the power of Asgard coursing through" +" the hammer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Gungnir" +msgid_plural "Gungnirs" +msgstr[0] "Gungnir" +msgstr[1] "Gungnirs" + +#. ~ Description for Gungnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Gungnir, the spear of Odin. It is rumored to be the perfect spear, " +"perfectly hitting any target regardless of the wielder's strength or skill." +" If feels like Odin's protecting you." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Gram" +msgid_plural "Grams" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Gram +#: lang/json/GENERIC_from_json.py +msgid "" +"Gram, the sword of Sigurd. It is rumored to be the sword that slayed the " +"legendary dragon, Fafnir. Once said to have cleaved Regin's anvil in half, " +"the edge is impeccable." +msgstr "" + +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py +msgid "Laevateinn" +msgid_plural "Laevateinns" +msgstr[0] "Laevateinn" +msgstr[1] "Laevateinns" + +#. ~ Description for Laevateinn +#: lang/json/GENERIC_from_json.py +msgid "" +"Laevateinn, the staff of Loki. Said to have been plucked from the gates of " +"Hel by Loki. Imbued with a mysterious magic, the magic of the trickster god" +" himself." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "Spell Scroll" msgid_plural "Spell Scrolls" @@ -52973,8 +54603,8 @@ msgstr[1] "" #. ~ Description for Blinding Flash #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" -"Blind enemies for a short time with a sudden, dazzling light. Higher levels " -"deal slightly higher damage." +"Blind enemies for a short time with a sudden, dazzling light. Higher levels" +" deal slightly higher damage." msgstr "" #: lang/json/GENERIC_from_json.py @@ -52988,7 +54618,7 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" "A mass of spectral hands emerge from the ground, slowing everything in " -"range. Higher levels allow a bigger AoE, and longer effect." +"range. Higher levels allow a bigger AoE, and longer effect." msgstr "" #: lang/json/GENERIC_from_json.py @@ -53754,8 +55384,49 @@ msgstr[1] "" #. ~ Description for Scroll of Purification Seed #: lang/json/GENERIC_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Greater levels yield" -" greater numbers of seeds." +"You summon a gift of the earth which will purify water. Greater levels " +"yield greater numbers of seeds." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of X-ray Vision" +msgid_plural "Scroll of X-ray Visions" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Scroll of X-ray Vision +#. ~ Description for X-ray Vision +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You fire a cone of X-rays that magically allow you to see that area for a " +"short time." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Clairvoyance" +msgid_plural "Scroll of Clairvoyances" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Scroll of Clairvoyance +#. ~ Description for Clairvoyance +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "You close your eyes and the earth surrenders its secrets to you." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Lava Bomb" +msgid_plural "Scroll of Lava Bombs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Scroll of Lava Bomb +#. ~ Description for Lava Bomb +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You tear up the ground beneath you to fire a lava bomb: a globe of lava " +"surrounded by hot, solid rock. It shatters upon impact, spraying shards of " +"rock and lava everywhere." msgstr "" #: lang/json/GENERIC_from_json.py @@ -54705,12 +56376,6 @@ msgstr "" "Una réplica de Mjölnir, el martillo de Thor. Un rumor dice que es capaz de " "aplanar montañas de un solo golpe. Está decorado con adornos de oro y plata." -#: lang/json/GENERIC_from_json.py -msgid "Gungnir" -msgid_plural "Gungnirs" -msgstr[0] "Gungnir" -msgstr[1] "Gungnirs" - #. ~ Description for Gungnir #: lang/json/GENERIC_from_json.py msgid "" @@ -55788,6 +57453,302 @@ msgstr "ARTEFACTOS" msgid "ARMOR" msgstr "ARMADURA" +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "ITEMS WORN" +msgstr "OBJETOS PUESTOS" + +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "WEAPON HELD" +msgstr "ARMA EMPUÑADA" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Unsorted" +msgstr "Cosas: Desordenadas" + +#. ~ Description for Loot: Unsorted +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " +"sort items inside. It can overlap with Loot zones of different types." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Food" +msgstr "Cosas: Comida" + +#. ~ Description for Loot: Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for comestibles. If more specific food zone is not defined, all" +" food is moved here." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Food" +msgstr "Cosas: P.Comida" + +#. ~ Description for Loot: P.Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for perishable comestibles. Does include perishable drinks if " +"such zone is not specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drink" +msgstr "Cosas: Bebidas" + +#. ~ Description for Loot: Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for drinks. Does include perishable drinks if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Drink" +msgstr "Cosas: P.Bebidas" + +#. ~ Description for Loot: P.Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for perishable drinks." +msgstr "Lugar para bebidas perecederas." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Guns" +msgstr "Cosas: Armas de Fuego" + +#. ~ Description for Loot: Guns +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for guns, bows and similar wearpons." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Magazines" +msgstr "Cosas: Cargadores" + +#. ~ Description for Loot: Magazines +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for gun magazines." +msgstr "Lugar para cargadores de armas." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ammo" +msgstr "Cosas: Munición" + +#. ~ Description for Loot: Ammo +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for ammo." +msgstr "Lugar para la munición." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Weapons" +msgstr "Cosas: Armas" + +#. ~ Description for Loot: Weapons +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for melee weapons." +msgstr "Lugar para las armas de cuerpo a cuerpo." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Tools" +msgstr "Cosas: Herramientas" + +#. ~ Description for Loot: Tools +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for tools." +msgstr "Lugar para herramientas." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Clothing" +msgstr "Cosas: Ropa" + +#. ~ Description for Loot: Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for clothing. Does include filthy clothing if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Clothing" +msgstr "Cosas: Ropa Sucia" + +#. ~ Description for Loot: F.Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy clothing." +msgstr "Lugar para la ropa sucia." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drugs" +msgstr "Cosas: Drogas" + +#. ~ Description for Loot: Drugs +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for drugs and other medical items." +msgstr "Lugar para drogas y otros objetos médicos." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Books" +msgstr "Cosas: Libros" + +#. ~ Description for Loot: Books +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for books and magazines." +msgstr "Lugar para libros y revistas." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mods" +msgstr "Cosas: Modificaciones" + +#. ~ Description for Loot: Mods +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firearm modifications and similar items." +msgstr "Lugar para modificaciones de armas de fuego y similares." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mutagens" +msgstr "Cosas: Mutágenos" + +#. ~ Description for Loot: Mutagens +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for mutagens, serums, and purifiers." +msgstr "Lugar para mutágenos, sueros y purificantes." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Bionics" +msgstr "Cosas: Biónicos" + +#. ~ Description for Loot: Bionics +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for Compact Bionics Modules, a.k.a. CBMS." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: V.Parts" +msgstr "Cosas: Partes de Vehículos" + +#. ~ Description for Loot: V.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for vehicle parts." +msgstr "Lugar para partes de vehículos." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Other" +msgstr "Cosas: Otros" + +#. ~ Description for Loot: Other +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for other miscellaneous items." +msgstr "Lugar para otros objetos varios." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Fuel" +msgstr "Cosas: Combustible" + +#. ~ Description for Loot: Fuel +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for gasoline, diesel, lamp oil and other substances used as a " +"fuel." +msgstr "" +"Lugar para nafta, gasoil, aceite para lámpara y otras sustancias utilzadas " +"como combustible." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Seeds" +msgstr "Cosas: Semillas" + +#. ~ Description for Loot: Seeds +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for seeds, stems and similar items." +msgstr "Lugar para semillas, tallos y similares." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Chemical" +msgstr "Cosas: Químicos" + +#. ~ Description for Loot: Chemical +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for chemicals." +msgstr "Lugar para químicos." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: S.Parts" +msgstr "Cosas: S.Partes" + +#. ~ Description for Loot: S.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for spare parts." +msgstr "Lugar para partes sueltas." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Artifacts" +msgstr "Cosas: Artefactos" + +#. ~ Description for Loot: Artifacts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for artifacts" +msgstr "Lugar para artefactos." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Corpses" +msgstr "" + +#. ~ Description for Loot: Corpses +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for corpses" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Armor" +msgstr "Cosas: Armadura" + +#. ~ Description for Loot: Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for armor. Does include filthy armor if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Armor" +msgstr "Cosas: Armadura Sucia" + +#. ~ Description for Loot: F.Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy armor." +msgstr "Lugar para armaduras sucias." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Wood" +msgstr "Cosas: Madera" + +#. ~ Description for Loot: Wood +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firewood and items that can be used as such." +msgstr "Lugar para leña y objetos que pueden usarse como tal." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Custom" +msgstr "" + +#. ~ Description for Loot: Custom +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for loot with a custom filter that you can modify" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ignore" +msgstr "Cosas: Ignorar" + +#. ~ Description for Loot: Ignore +#: lang/json/LOOT_ZONE_from_json.py +msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." +msgstr "" +"Los objetos dentro de esta zona son ignorados por la acción \"ordenar " +"cosas\"." + #: lang/json/MAGAZINE_from_json.py msgid "ultra-light battery" msgid_plural "ultra-light batteries" @@ -56009,7 +57970,7 @@ msgstr[1] "" #: lang/json/MAGAZINE_from_json.py msgid "" "This is a heavy battery cell, universally compatible with all kinds of " -"industrial-grade equipment and large tools. The battery's chemistry means " +"industrial-grade equipment and large tools. The battery's chemistry means " "that it has a very high capacity, but cannot be recharged." msgstr "" @@ -56553,17 +58514,6 @@ msgstr "" msgid "A 14 round double stack box magazine for the SIG Sauer P320." msgstr "" -#: lang/json/MAGAZINE_from_json.py -msgid "Taurus .38 magazine" -msgstr "cargador Taurus .38" - -#. ~ Description for Taurus .38 magazine -#: lang/json/MAGAZINE_from_json.py -msgid "A compact steel box magazine for use with the Taurus Pro .38 pistol." -msgstr "" -"Es un cargador compacto de caja de acero para usar con la pistola Taurus Pro" -" .38." - #: lang/json/MAGAZINE_from_json.py msgid ".38/.357 7-round speedloader" msgstr "" @@ -56637,6 +58587,16 @@ msgstr "" msgid "A 10-round steel box magazine for use with the Hi-Point CF-380." msgstr "" +#: lang/json/MAGAZINE_from_json.py +msgid "Taurus Spectrum magazine" +msgstr "" + +#. ~ Description for Taurus Spectrum magazine +#: lang/json/MAGAZINE_from_json.py +msgid "" +"A compact, 6-round steel box magazine for use with the Taurus Spectrum." +msgstr "" + #: lang/json/MAGAZINE_from_json.py msgid "M1911 .38 Super magazine" msgstr "" @@ -57747,17 +59707,6 @@ msgstr "" "Es un cilindro grande de acero, diseñado para contener gases presurizados de" " soldadura. Está lleno de símbolos borrosos y actualmente ilegibles." -#: lang/json/MAGAZINE_from_json.py -msgid "oxygen cylinder" -msgstr "" - -#. ~ Description for oxygen cylinder -#: lang/json/MAGAZINE_from_json.py -msgid "" -"A large steel cylinder used for storing pressurized gas. It is marked with a" -" faded, but legible O2 symbol." -msgstr "" - #: lang/json/MAGAZINE_from_json.py lang/json/vehicle_part_from_json.py msgid "car battery" msgid_plural "car batteries" @@ -58527,6 +60476,15 @@ msgstr "" "Ponerte ropa sucia (la que usan los zombis) te causará penalidades a tu " "moral y, si recibís una herida, puede causar infecciones." +#: lang/json/MOD_INFO_from_json.py +msgid "Fuji's Military Profession Pack" +msgstr "" + +#. ~ Description for Fuji's Military Profession Pack +#: lang/json/MOD_INFO_from_json.py +msgid "Numerous military themed professions" +msgstr "" + #: lang/json/MOD_INFO_from_json.py msgid "Fuji's More Buildings" msgstr "Fuji Más Edificios" @@ -58696,7 +60654,7 @@ msgstr "" msgid "" "Cataclysm is nice, but what if you could sweeten it a bit? What about " "walking through this world as a human shaped piece of sugar with your pet " -"necco waffer?" +"necco wafer?" msgstr "" #: lang/json/MOD_INFO_from_json.py @@ -59334,11 +61292,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "goose" -msgid_plural "gooses" +msgid_plural "geese" msgstr[0] "" msgstr[1] "" -#. ~ Description for goose +#. ~ Description for {'str': 'goose', 'str_pl': 'geese'} #: lang/json/MONSTER_from_json.py msgid "A Canadian goose, a common waterfowl that regrets leaving Canada." msgstr "" @@ -59639,60 +61597,60 @@ msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "" "Many times as large as a normal manhack, this flying quadcopter drone " -"appears to have a mininuke inside. If this is targeting you... Run." +"appears to have a mininuke inside. If this is targeting you… Run." msgstr "" #: lang/json/MONSTER_from_json.py msgid "tiny fish" -msgid_plural "tiny fishs" +msgid_plural "tiny fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for tiny fish +#. ~ Description for {'str': 'tiny fish', 'str_pl': 'tiny fish'} #: lang/json/MONSTER_from_json.py msgid "A tiny fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "small fish" -msgid_plural "small fishs" +msgid_plural "small fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for small fish +#. ~ Description for {'str': 'small fish', 'str_pl': 'small fish'} #: lang/json/MONSTER_from_json.py msgid "A small fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "medium fish" -msgid_plural "medium fishs" +msgid_plural "medium fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for medium fish +#. ~ Description for {'str': 'medium fish', 'str_pl': 'medium fish'} #: lang/json/MONSTER_from_json.py msgid "A medium fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "large fish" -msgid_plural "large fishs" +msgid_plural "large fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for large fish +#. ~ Description for {'str': 'large fish', 'str_pl': 'large fish'} #: lang/json/MONSTER_from_json.py msgid "A large fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "huge fish" -msgid_plural "huge fishs" +msgid_plural "huge fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for huge fish +#. ~ Description for {'str': 'huge fish', 'str_pl': 'huge fish'} #: lang/json/MONSTER_from_json.py msgid "A huge fish." msgstr "" @@ -59824,11 +61782,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "whitefish" -msgid_plural "whitefishs" +msgid_plural "whitefish" msgstr[0] "" msgstr[1] "" -#. ~ Description for whitefish +#. ~ Description for {'str': 'whitefish', 'str_pl': 'whitefish'} #: lang/json/MONSTER_from_json.py msgid "" "A whitefish, closely related to salmon. One can assume they are just as " @@ -59839,22 +61797,22 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "largemouth bass" -msgid_plural "largemouth basss" +msgid_plural "largemouth bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for largemouth bass +#. ~ Description for {'str': 'largemouth bass', 'str_pl': 'largemouth bass'} #: lang/json/MONSTER_from_json.py msgid "A Largemouth Bass. Very popular with sports fishermen." msgstr "" #: lang/json/MONSTER_from_json.py msgid "smallmouth bass" -msgid_plural "smallmouth basss" +msgid_plural "smallmouth bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for smallmouth bass +#. ~ Description for {'str': 'smallmouth bass', 'str_pl': 'smallmouth bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Smallmouth Bass. Being intolerant to pollution in the water, smallmouth " @@ -59863,11 +61821,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "striped bass" -msgid_plural "striped basss" +msgid_plural "striped bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for striped bass +#. ~ Description for {'str': 'striped bass', 'str_pl': 'striped bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Striped Bass. Mostly a salt water fish, they migrate to fresher water to " @@ -59876,11 +61834,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "white bass" -msgid_plural "white basss" +msgid_plural "white bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for white bass +#. ~ Description for {'str': 'white bass', 'str_pl': 'white bass'} #: lang/json/MONSTER_from_json.py msgid "" "A White Bass. Common to the region, a slab-sided and spiny-rayed little " @@ -59889,11 +61847,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "perch" -msgid_plural "perchs" +msgid_plural "perches" msgstr[0] "" msgstr[1] "" -#. ~ Description for perch +#. ~ Description for {'str': 'perch', 'str_pl': 'perches'} #: lang/json/MONSTER_from_json.py msgid "" "A small spritely Perch. A very bony fish, still got some tasty meat on it " @@ -59913,22 +61871,23 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "sunfish" -msgid_plural "sunfishs" +msgid_plural "sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for sunfish +#. ~ Description for {'str': 'sunfish', 'str_pl': 'sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "pumpkinseed sunfish" -msgid_plural "pumpkinseed sunfishs" +msgid_plural "pumpkinseed sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for pumpkinseed sunfish +#. ~ Description for {'str': 'pumpkinseed sunfish', 'str_pl': 'pumpkinseed +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Pumpkinseed Sunfish. A small fish related to bass or bluegill." msgstr "" @@ -59947,55 +61906,56 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "redbreast sunfish" -msgid_plural "redbreast sunfishs" +msgid_plural "redbreast sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for redbreast sunfish +#. ~ Description for {'str': 'redbreast sunfish', 'str_pl': 'redbreast +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redbreast Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "green sunfish" -msgid_plural "green sunfishs" +msgid_plural "green sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for green sunfish +#. ~ Description for {'str': 'green sunfish', 'str_pl': 'green sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Green Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "longear sunfish" -msgid_plural "longear sunfishs" +msgid_plural "longear sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for longear sunfish +#. ~ Description for {'str': 'longear sunfish', 'str_pl': 'longear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Longear Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "redear sunfish" -msgid_plural "redear sunfishs" +msgid_plural "redear sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for redear sunfish +#. ~ Description for {'str': 'redear sunfish', 'str_pl': 'redear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redear Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "rock bass" -msgid_plural "rock basss" +msgid_plural "rock bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for rock bass +#. ~ Description for {'str': 'rock bass', 'str_pl': 'rock bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Rock Bass. Related to sunfish, this tiny fish has a camoflauge-like " @@ -60004,11 +61964,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "calico bass" -msgid_plural "calico basss" +msgid_plural "calico bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for calico bass +#. ~ Description for {'str': 'calico bass', 'str_pl': 'calico bass'} #: lang/json/MONSTER_from_json.py msgid "A Calico Bass. A medium-sized fish also known as a 'Crappie'." msgstr "" @@ -60039,22 +61999,22 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "channel catfish" -msgid_plural "channel catfishs" +msgid_plural "channel catfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for channel catfish +#. ~ Description for {'str': 'channel catfish', 'str_pl': 'channel catfish'} #: lang/json/MONSTER_from_json.py msgid "A Channel Catfish, they have a forked tail and long whiskers." msgstr "" #: lang/json/MONSTER_from_json.py msgid "white catfish" -msgid_plural "white catfishs" +msgid_plural "white catfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for white catfish +#. ~ Description for {'str': 'white catfish', 'str_pl': 'white catfish'} #: lang/json/MONSTER_from_json.py msgid "A White Catfish, a small whiskered fish with a broad head." msgstr "" @@ -60150,11 +62110,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fallfish" -msgid_plural "fallfishs" +msgid_plural "fallfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for fallfish +#. ~ Description for {'str': 'fallfish', 'str_pl': 'fallfish'} #: lang/json/MONSTER_from_json.py msgid "" "A Fallfish. These fish are related to gar but without the huge teeth, skin " @@ -60172,26 +62132,21 @@ msgstr[1] "" msgid "" "These things were once considered pests not worth eating, then some " "marketing genius started selling them to people as a delicacy and they took " -"off in popularity... and price." +"off in popularity… and price." msgstr "" -"Estas cosas fueron consideradas alguna vez como una plaga que no valía la " -"pena comerse. Después, algún genio del marketing empezó a venderlas como una" -" exquisitez y se volvieron muy populares... y caras." #: lang/json/MONSTER_from_json.py msgid "crayfish" -msgid_plural "crayfishs" +msgid_plural "crayfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for crayfish +#. ~ Description for {'str': 'crayfish', 'str_pl': 'crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "If you could get ahold of a bunch more of these, a hefty pot of boiling " -"water, and some spicy seasonings..." +"water, and some spicy seasonings…" msgstr "" -"Si pudieras conseguir una buena cantidad de estos, una olla grande con agua " -"hirviendo, y algunos condimentos..." #: lang/json/MONSTER_from_json.py msgid "Blinky" @@ -60199,7 +62154,7 @@ msgid_plural "Blinkies" msgstr[0] "Blinky" msgstr[1] "Blinkies" -#. ~ Description for Blinky +#. ~ Description for {'str': 'Blinky', 'str_pl': 'Blinkies'} #: lang/json/MONSTER_from_json.py msgid "A strange three-eyed fish." msgstr "Un extraño pez de tres ojos." @@ -60322,11 +62277,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant cockroach" -msgid_plural "giant cockroachs" +msgid_plural "giant cockroaches" msgstr[0] "" msgstr[1] "" -#. ~ Description for giant cockroach +#. ~ Description for {'str': 'giant cockroach', 'str_pl': 'giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "A mutant cockroach the size of a small dog." msgstr "Es una cucaracha mutante, del tamaño de un perro pequeño." @@ -60344,11 +62299,12 @@ msgstr "Es una cucaracha mutante bebé, del tamaño de una rata." #: lang/json/MONSTER_from_json.py msgid "pregnant giant cockroach" -msgid_plural "pregnant giant cockroachs" +msgid_plural "pregnant giant cockroaches" msgstr[0] "" msgstr[1] "" -#. ~ Description for pregnant giant cockroach +#. ~ Description for {'str': 'pregnant giant cockroach', 'str_pl': 'pregnant +#. giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant cockroach the size of a small dog. Its abdomen is heavily swollen." @@ -60391,7 +62347,7 @@ msgid_plural "giant dragonflies" msgstr[0] "libélula gigante" msgstr[1] "libélulas gigantes" -#. ~ Description for giant dragonfly +#. ~ Description for {'str': 'giant dragonfly', 'str_pl': 'giant dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A ferocious mutant dragonfly as big as a cat, darting through the air with a" @@ -60406,7 +62362,7 @@ msgid_plural "giant flies" msgstr[0] "mosca gigante" msgstr[1] "moscas gigantes" -#. ~ Description for giant fly +#. ~ Description for {'str': 'giant fly', 'str_pl': 'giant flies'} #: lang/json/MONSTER_from_json.py msgid "" "A tremendous housefly the size of a small dog, predictably accompanied by a " @@ -60614,11 +62570,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dermatik larva" -msgid_plural "dermatik larvas" +msgid_plural "dermatik larvae" msgstr[0] "" msgstr[1] "" -#. ~ Description for dermatik larva +#. ~ Description for {'str': 'dermatik larva', 'str_pl': 'dermatik larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A fat white grub as big as a squirrel, with a pair of large, spadelike " @@ -60660,11 +62616,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "acidic ant larva" -msgid_plural "acidic ant larvas" +msgid_plural "acidic ant larvae" msgstr[0] "" msgstr[1] "" -#. ~ Description for acidic ant larva +#. ~ Description for {'str': 'acidic ant larva', 'str_pl': 'acidic ant +#. larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A squirming yellow grub that seems to be oozing liquid from both ends of its" @@ -60727,11 +62684,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "ant larva" -msgid_plural "ant larvas" +msgid_plural "ant larvae" msgstr[0] "" msgstr[1] "" -#. ~ Description for ant larva +#. ~ Description for {'str': 'ant larva', 'str_pl': 'ant larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A pulsating sausage of glistening white flesh, the size of a large cat. On " @@ -61042,11 +62999,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Labrador puppy" -msgid_plural "Labrador puppys" +msgid_plural "Labrador puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for Labrador puppy +#. ~ Description for {'str': 'Labrador puppy', 'str_pl': 'Labrador puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Labrador puppy. Much safer to tame than an adult " @@ -61072,11 +63029,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bulldog puppy" -msgid_plural "bulldog puppys" +msgid_plural "bulldog puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for bulldog puppy +#. ~ Description for {'str': 'bulldog puppy', 'str_pl': 'bulldog puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless American bulldog puppy. Much safer to tame than an" @@ -61085,11 +63042,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull mix" -msgid_plural "pit bull mixs" +msgid_plural "pit bull mixes" msgstr[0] "" msgstr[1] "" -#. ~ Description for pit bull mix +#. ~ Description for {'str': 'pit bull mix', 'str_pl': 'pit bull mixes'} #: lang/json/MONSTER_from_json.py msgid "" "The oft-misunderstood pit bull is not actually a single breed but a label " @@ -61100,11 +63057,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull puppy" -msgid_plural "pit bull puppys" +msgid_plural "pit bull puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for pit bull puppy +#. ~ Description for {'str': 'pit bull puppy', 'str_pl': 'pit bull puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless pit bull puppy. Much safer to tame than an adult " @@ -61129,11 +63086,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "beagle puppy" -msgid_plural "beagle puppys" +msgid_plural "beagle puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for beagle puppy +#. ~ Description for {'str': 'beagle puppy', 'str_pl': 'beagle puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless beagle puppy. Much safer to tame than an adult " @@ -61159,11 +63116,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "border collie puppy" -msgid_plural "border collie puppys" +msgid_plural "border collie puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for border collie puppy +#. ~ Description for {'str': 'border collie puppy', 'str_pl': 'border collie +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Border Collie puppy. Much safer to tame than an " @@ -61187,11 +63145,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "boxer puppy" -msgid_plural "boxer puppys" +msgid_plural "boxer puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for boxer puppy +#. ~ Description for {'str': 'boxer puppy', 'str_pl': 'boxer puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless boxer puppy. Much safer to tame than an adult dog." @@ -61212,11 +63170,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Chihuahua puppy" -msgid_plural "Chihuahua puppys" +msgid_plural "Chihuahua puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for Chihuahua puppy +#. ~ Description for {'str': 'Chihuahua puppy', 'str_pl': 'Chihuahua puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Chihuahua puppy. Much safer to tame than an adult " @@ -61239,11 +63197,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dachshund puppy" -msgid_plural "dachshund puppys" +msgid_plural "dachshund puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for dachshund puppy +#. ~ Description for {'str': 'dachshund puppy', 'str_pl': 'dachshund puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless dachshund puppy. Much safer to tame than an adult " @@ -61268,11 +63226,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "German shepherd puppy" -msgid_plural "German shepherd puppys" +msgid_plural "German shepherd puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for German shepherd puppy +#. ~ Description for {'str': 'German shepherd puppy', 'str_pl': 'German +#. shepherd puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless German shepherd puppy. Much safer to tame than an " @@ -61281,11 +63240,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees" -msgid_plural "Great Pyreneess" +msgid_plural "Great Pyrenees" msgstr[0] "" msgstr[1] "" -#. ~ Description for Great Pyrenees +#. ~ Description for {'str': 'Great Pyrenees', 'str_pl': 'Great Pyrenees'} #: lang/json/MONSTER_from_json.py msgid "" "A large and powerful breed, the Great Pyrenees has a beautiful, thick white " @@ -61299,11 +63258,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees puppy" -msgid_plural "Great Pyrenees puppys" +msgid_plural "Great Pyrenees puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for Great Pyrenees puppy +#. ~ Description for {'str': 'Great Pyrenees puppy', 'str_pl': 'Great Pyrenees +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Great Pyrenees puppy. Much safer to tame than an " @@ -61329,11 +63289,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rottweiler puppy" -msgid_plural "rottweiler puppys" +msgid_plural "rottweiler puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for rottweiler puppy +#. ~ Description for {'str': 'rottweiler puppy', 'str_pl': 'rottweiler +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Rottweiler puppy. Much safer to tame than an adult" @@ -61357,11 +63318,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cattle dog puppy" -msgid_plural "cattle dog puppys" +msgid_plural "cattle dog puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for cattle dog puppy +#. ~ Description for {'str': 'cattle dog puppy', 'str_pl': 'cattle dog +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Australian cattle dog puppy. Much safer to tame " @@ -61374,7 +63336,7 @@ msgid_plural "foxes" msgstr[0] "zorro" msgstr[1] "zorros" -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A small omnivorous canine with an almost cat-like manner. It is a solitary " @@ -61383,7 +63345,7 @@ msgstr "" "Es un pequeño canino omnívoro con maneras casi de gato. Es un cazador " "solitario, y uno de los únicos cánidos capaz de trepar árboles" -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "The red fox, an omnivorous canine and largest of the true foxes, it is a " @@ -61472,11 +63434,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "moose" -msgid_plural "mooses" +msgid_plural "moose" msgstr[0] "" msgstr[1] "" -#. ~ Description for moose +#. ~ Description for {'str': 'moose', 'str_pl': 'moose'} #: lang/json/MONSTER_from_json.py msgid "" "The Eastern moose, the largest living species of deer. While they aren't " @@ -61632,10 +63594,8 @@ msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "" "A worm-tailed rodent with long whiskers and beady eyes. The way it squeaks " -"makes it sound... hungry." +"makes it sound… hungry." msgstr "" -"Un roedor con la cola como un gusano, largos bigotes ojos pequeños y " -"brillantes. La manera en que chilla la hace parecer... hambrienta." #: lang/json/MONSTER_from_json.py msgid "lamb" @@ -61657,7 +63617,7 @@ msgid_plural "sheep" msgstr[0] "oveja" msgstr[1] "ovejas" -#. ~ Description for sheep +#. ~ Description for {'str': 'sheep', 'str_pl': 'sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A timid, hooved grazing mammal, and one of the first animals ever " @@ -61717,7 +63677,7 @@ msgid_plural "wolves" msgstr[0] "lobo" msgstr[1] "lobos" -#. ~ Description for wolf +#. ~ Description for {'str': 'wolf', 'str_pl': 'wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A cunning pack predator, once extinct in the New England area, the wolf was " @@ -61998,7 +63958,7 @@ msgid_plural "blank bodies" msgstr[0] "cadáver vacío" msgstr[1] "cadáveres vacíos" -#. ~ Description for blank body +#. ~ Description for {'str': 'blank body', 'str_pl': 'blank bodies'} #: lang/json/MONSTER_from_json.py msgid "" "This is some form of unnatural changeling creature; its appearance is a " @@ -62149,11 +64109,22 @@ msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "" "This boomer, normally swollen and ready to burst, has strengthened and " -"solidified. The bile dribbling from its mouth also appears to have " -"changed..." +"solidified. The bile dribbling from its mouth also appears to have changed…" +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "dissoluted devourer" +msgid_plural "dissoluted devourers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for dissoluted devourer +#: lang/json/MONSTER_from_json.py +msgid "" +"Human bodies fused together into a colossus with heads and limbs sticking " +"out of its bloated body. You may have trouble estimating its healthiness " +"and its capabilities might change." msgstr "" -"Este boomer, hinchado y listo para explotar como todos, se ha fortalecido y " -"solidificado. La bilis que gotea de su boca también parece haber cambiado..." #: lang/json/MONSTER_from_json.py msgid "breather" @@ -62209,7 +64180,7 @@ msgid "" "A human fused with a mess of metal parts and wires. While its eyes are " "empty, flashes of pain pass across its face reminiscent of the person " "trapped in this grotesque body. With enough surgical skills one might be " -"able to give them back some humanity. If only they cared..." +"able to give them back some humanity. If only they cared…" msgstr "" #: lang/json/MONSTER_from_json.py @@ -62691,11 +64662,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant crayfish" -msgid_plural "giant crayfishs" +msgid_plural "giant crayfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for giant crayfish +#. ~ Description for {'str': 'giant crayfish', 'str_pl': 'giant crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant, terrestrial variety of the signal crayfish, this massive " @@ -62847,7 +64818,7 @@ msgid_plural "homunculuses" msgstr[0] "homúnculo" msgstr[1] "homúnculos" -#. ~ Description for homunculus +#. ~ Description for {'str': 'homunculus', 'str_pl': 'homunculuses'} #: lang/json/MONSTER_from_json.py msgid "" "A pale hairless man with an impressive athletic physique. Its lidless eyes " @@ -62858,11 +64829,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hound of tindalos" -msgid_plural "hound of tindaloss" +msgid_plural "hounds of tindalos" msgstr[0] "" msgstr[1] "" -#. ~ Description for hound of tindalos +#. ~ Description for {'str': 'hound of tindalos', 'str_pl': 'hounds of +#. tindalos'} #: lang/json/MONSTER_from_json.py msgid "" "A grotesque hound-like beast, its frame is angular and emaciated and its " @@ -63116,18 +65088,14 @@ msgid_plural "Shia LaBeouf" msgstr[0] "Shia LaBeouf" msgstr[1] "Shia LaBeouf" -#. ~ Description for Shia LaBeouf +#. ~ Description for {'str': 'Shia LaBeouf', 'str_pl': 'Shia LaBeouf'} #: lang/json/MONSTER_from_json.py msgid "" -"Living in the woods, \n" -"killing for sport, \n" -"eating all the bodies, \n" +"Living in the woods,\n" +"killing for sport,\n" +"eating all the bodies,\n" "actual cannibal Shia LaBeouf." msgstr "" -"Viviendo en el bosque, \n" -"matando por deporte, \n" -"comiéndose todos los cadáveres, \n" -"es el verdadero caníbal Shia LaBeouf." #: lang/json/MONSTER_from_json.py msgid "shoggoth" @@ -63306,7 +65274,7 @@ msgid_plural "twisted bodies" msgstr[0] "cuerpo retorcido" msgstr[1] "cuerpos retorcidos" -#. ~ Description for twisted body +#. ~ Description for {'str': 'twisted body', 'str_pl': 'twisted bodies'} #: lang/json/MONSTER_from_json.py msgid "" "A human body, but with its limbs, neck, and hair impossibly twisted. It " @@ -63322,7 +65290,7 @@ msgid_plural "vortexes" msgstr[0] "vórtice" msgstr[1] "vórtices" -#. ~ Description for vortex +#. ~ Description for {'str': 'vortex', 'str_pl': 'vortexes'} #: lang/json/MONSTER_from_json.py msgid "" "A twisting spot in the air, with some kind of morphing mass at its center." @@ -63413,6 +65381,20 @@ msgid "" "black eyes." msgstr "" +#: lang/json/MONSTER_from_json.py +msgid "wretched puker" +msgid_plural "wretched pukers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for wretched puker +#: lang/json/MONSTER_from_json.py +msgid "" +"A degenerate corpse, shambling as it walks. Several junks and waste " +"materials have unified into its skin and wounds around it reeks in black " +"goo." +msgstr "" + #: lang/json/MONSTER_from_json.py msgid "acidic zombie" msgid_plural "acidic zombies" @@ -63601,19 +65583,13 @@ msgstr[1] "" #. ~ Description for zombie dancer #: lang/json/MONSTER_from_json.py msgid "" -"The foulest stench is in the air, \n" -"The funk of forty thousand years, \n" -"And grisly ghouls from every tomb, \n" +"The foulest stench is in the air,\n" +"The funk of forty thousand years,\n" +"And grisly ghouls from every tomb,\n" "Are closing in to seal your doom!\n" "\n" "The dancer doesn't even notice you, it seems like something nearby is controlling it." msgstr "" -"The foulest stench is in the air, \n" -"The funk of forty thousand years, \n" -"And grisly ghouls from every tomb, \n" -"Are closing in to seal your doom!\n" -"\n" -"El bailarín ni siquiera nota tu presencia, parece como si algo lo estuviera controlando." #: lang/json/MONSTER_from_json.py msgid "zombie dog" @@ -63739,11 +65715,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gangrenous flesh" -msgid_plural "gangrenous fleshs" +msgid_plural "gangrenous flesh" msgstr[0] "" msgstr[1] "" -#. ~ Description for gangrenous flesh +#. ~ Description for {'str': 'gangrenous flesh', 'str_pl': 'gangrenous flesh'} #: lang/json/MONSTER_from_json.py msgid "" "Immobile from grievous wounds, its gray skin has bloated to near rupture " @@ -63935,15 +65911,11 @@ msgstr[1] "" #. ~ Description for Thriller #: lang/json/MONSTER_from_json.py msgid "" -"And though you fight to stay alive, \n" -"Your body starts to shiver. \n" -"For no mere mortal can resist, \n" +"And though you fight to stay alive,\n" +"Your body starts to shiver.\n" +"For no mere mortal can resist,\n" "The evil of the thriller." msgstr "" -"And though you fight to stay alive, \n" -"Your body starts to shiver. \n" -"For no mere mortal can resist, \n" -"The evil of the thriller." #: lang/json/MONSTER_from_json.py msgid "zombie snapper" @@ -64428,7 +66400,7 @@ msgid_plural "dragonflies" msgstr[0] "libélula" msgstr[1] "libélulas" -#. ~ Description for dragonfly +#. ~ Description for {'str': 'dragonfly', 'str_pl': 'dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A thin-bodied insectoid predator with a large wingspan and big compound " @@ -64943,7 +66915,7 @@ msgid_plural "zombie children" msgstr[0] "pibe zombi" msgstr[1] "pibes zombis" -#. ~ Description for zombie child +#. ~ Description for {'str': 'zombie child', 'str_pl': 'zombie children'} #: lang/json/MONSTER_from_json.py msgid "" "It was only a child, and little is different about it now aside from the " @@ -65055,7 +67027,7 @@ msgid_plural "fungal children" msgstr[0] "chico fúngico" msgstr[1] "chicos fúngicos" -#. ~ Description for fungal child +#. ~ Description for {'str': 'fungal child', 'str_pl': 'fungal children'} #: lang/json/MONSTER_from_json.py msgid "" "It is hard to recognize a human child in this creature. Disgusting-looking " @@ -65344,11 +67316,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic fox" -msgid_plural "old animatronic foxs" +msgid_plural "old animatronic foxes" msgstr[0] "" msgstr[1] "" -#. ~ Description for old animatronic fox +#. ~ Description for {'str': 'old animatronic fox', 'str_pl': 'old animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -65361,11 +67334,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic fox" -msgid_plural "new animatronic foxs" +msgid_plural "new animatronic foxes" msgstr[0] "" msgstr[1] "" -#. ~ Description for new animatronic fox +#. ~ Description for {'str': 'new animatronic fox', 'str_pl': 'new animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -65378,11 +67352,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "wrecked animatronic fox" -msgid_plural "wrecked animatronic foxs" +msgid_plural "wrecked animatronic foxes" msgstr[0] "" msgstr[1] "" -#. ~ Description for wrecked animatronic fox +#. ~ Description for {'str': 'wrecked animatronic fox', 'str_pl': 'wrecked +#. animatronic foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A wrecked animatronic fox, laying in a pile on the ground. Its teeth and " @@ -65395,11 +67370,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic bunny" -msgid_plural "new animatronic bunnys" +msgid_plural "new animatronic bunnies" msgstr[0] "" msgstr[1] "" -#. ~ Description for new animatronic bunny +#. ~ Description for {'str': 'new animatronic bunny', 'str_pl': 'new +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its actually quite " @@ -65413,11 +67389,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic bunny" -msgid_plural "old animatronic bunnys" +msgid_plural "old animatronic bunnies" msgstr[0] "" msgstr[1] "" -#. ~ Description for old animatronic bunny +#. ~ Description for {'str': 'old animatronic bunny', 'str_pl': 'old +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its face has been torn" @@ -65646,10 +67623,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic sheep" msgid_plural "animatronic sheep" -msgstr[0] "oveja animatrónica" -msgstr[1] "ovejas animatrónicas" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for animatronic sheep +#. ~ Description for {'str': 'animatronic sheep', 'str_pl': 'animatronic +#. sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic sheep, nearly twice your size. Its wool is mangy and " @@ -65677,11 +67655,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic child" -msgid_plural "animatronic childs" +msgid_plural "animatronic children" msgstr[0] "" msgstr[1] "" -#. ~ Description for animatronic child +#. ~ Description for {'str': 'animatronic child', 'str_pl': 'animatronic +#. children'} #: lang/json/MONSTER_from_json.py msgid "" "An animatronic child. It looks like it's annoying as hell. Though it is a " @@ -65707,11 +67686,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic wolf" -msgid_plural "animatronic wolfs" +msgid_plural "animatronic wolves" msgstr[0] "" msgstr[1] "" -#. ~ Description for animatronic wolf +#. ~ Description for {'str': 'animatronic wolf', 'str_pl': 'animatronic +#. wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic wolf, nearly twice your size. If the animal " @@ -65882,11 +67862,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "minion of skeltal" -msgid_plural "minion of skeltals" +msgid_plural "minions of skeltal" msgstr[0] "" msgstr[1] "" -#. ~ Description for minion of skeltal +#. ~ Description for {'str': 'minion of skeltal', 'str_pl': 'minions of +#. skeltal'} #: lang/json/MONSTER_from_json.py msgid "A lesser skeleton, raised by the forlorn dooting of a trumpet." msgstr "Es un esqueleto menor, criado por el triste sonido de una trompeta." @@ -65908,11 +67889,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Compsognathus" -msgid_plural "Compsognathuss" +msgid_plural "Compsognathus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Compsognathus +#. ~ Description for {'str': 'Compsognathus', 'str_pl': 'Compsognathus'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal dinosaur about the size of a turkey. Its teeth and claws are " @@ -65923,11 +67904,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Gallimimus" -msgid_plural "Gallimimuss" +msgid_plural "Gallimimus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Gallimimus +#. ~ Description for {'str': 'Gallimimus', 'str_pl': 'Gallimimus'} #: lang/json/MONSTER_from_json.py msgid "" "A feathered bipedal dinosaur, standing as tall as a human. It looks " @@ -65938,11 +67919,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Titanis" -msgid_plural "Titaniss" +msgid_plural "Titanis" msgstr[0] "" msgstr[1] "" -#. ~ Description for Titanis +#. ~ Description for {'str': 'Titanis', 'str_pl': 'Titanis'} #: lang/json/MONSTER_from_json.py msgid "" "It looks like a dodo, only much bigger, with longer, muscular legs and a " @@ -65953,11 +67934,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Spinosaurus" -msgid_plural "Spinosauruss" +msgid_plural "Spinosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Spinosaurus +#. ~ Description for {'str': 'Spinosaurus', 'str_pl': 'Spinosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge dinosaur about the size of a small house, with a ferocious crocodile-" @@ -65968,22 +67949,23 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Tyrannosaurus rex" -msgid_plural "Tyrannosaurus rexs" +msgid_plural "Tyrannosaurus rex" msgstr[0] "" msgstr[1] "" -#. ~ Description for Tyrannosaurus rex +#. ~ Description for {'str': 'Tyrannosaurus rex', 'str_pl': 'Tyrannosaurus +#. rex'} #: lang/json/MONSTER_from_json.py msgid "Look at those TEETH!" msgstr "¡Mirá lo que son esos DIENTES!" #: lang/json/MONSTER_from_json.py msgid "Triceratops" -msgid_plural "Triceratopss" +msgid_plural "Triceratops" msgstr[0] "" msgstr[1] "" -#. ~ Description for Triceratops +#. ~ Description for {'str': 'Triceratops', 'str_pl': 'Triceratops'} #: lang/json/MONSTER_from_json.py msgid "" "A massive rhino-like dinosaur with a bony crest from which three large horns" @@ -65994,11 +67976,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Stegosaurus" -msgid_plural "Stegosauruss" +msgid_plural "Stegosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Stegosaurus +#. ~ Description for {'str': 'Stegosaurus', 'str_pl': 'Stegosaurus'} #: lang/json/MONSTER_from_json.py msgid "A large quadruped dinosaur with plates on its back, and a spiked tail." msgstr "" @@ -66007,11 +67989,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Ankylosaurus" -msgid_plural "Ankylosauruss" +msgid_plural "Ankylosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Ankylosaurus +#. ~ Description for {'str': 'Ankylosaurus', 'str_pl': 'Ankylosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "This dinosaur looks like a giant prehistoric armadillo. Its tail ends in a " @@ -66022,11 +68004,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Allosaurus" -msgid_plural "Allosauruss" +msgid_plural "Allosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Allosaurus +#. ~ Description for {'str': 'Allosaurus', 'str_pl': 'Allosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A large predatory bipedal dinosaur, with tiger-like stripes on its broad " @@ -66067,11 +68049,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Deinonychus" -msgid_plural "Deinonychuss" +msgid_plural "Deinonychus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Deinonychus +#. ~ Description for {'str': 'Deinonychus', 'str_pl': 'Deinonychus'} #: lang/json/MONSTER_from_json.py msgid "" "A medium-sized bipedal dinosaur covered with feathers. At the end of each " @@ -66097,11 +68079,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Parasaurolophus" -msgid_plural "Parasaurolophuss" +msgid_plural "Parasaurolophus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Parasaurolophus +#. ~ Description for {'str': 'Parasaurolophus', 'str_pl': 'Parasaurolophus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge mottled dinosaur with a blunt head crest. It contentedly strips " @@ -66124,11 +68106,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Dilophosaurus" -msgid_plural "Dilophosauruss" +msgid_plural "Dilophosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Dilophosaurus +#. ~ Description for {'str': 'Dilophosaurus', 'str_pl': 'Dilophosaurus'} #: lang/json/MONSTER_from_json.py msgid "A medium dinosaur with a sticky green bile dripping from its teeth." msgstr "" @@ -66223,6 +68205,20 @@ msgid "" "fully grown, it is the size of a full-grown bull." msgstr "" +#: lang/json/MONSTER_from_json.py +msgid "adult black dragon" +msgid_plural "adult black dragons" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for adult black dragon +#: lang/json/MONSTER_from_json.py +msgid "" +"A black-scaled monstrosity with deep-set eye sockets glowing green with " +"evil. Its face and skull appear skeletal, and acid drips from its dagger-" +"like jaws." +msgstr "" + #: lang/json/MONSTER_from_json.py msgid "owlbear" msgid_plural "owlbears" @@ -66258,21 +68254,23 @@ msgid "The black pudding burns you with acid!" msgstr "" #: lang/json/MONSTER_from_json.py -msgid "nothic" -msgid_plural "nothics" +msgid "krabgek" +msgid_plural "krabgeks" msgstr[0] "" msgstr[1] "" -#. ~ Description for nothic +#. ~ Description for krabgek #: lang/json/MONSTER_from_json.py msgid "" -"A baleful eye peers out from the darkness, its gleam hinting at a weird " -"intelligence and unnerving malevolence." +"A large baleful eye peers out from the darkness, its gleam hinting at a " +"weird intelligence and unnerving malevolence. The eye oozes some pinkish " +"liquid, and the weirdly humanoid figure is covered in sharp blue-black " +"triangular plates." msgstr "" -#. ~ Attack message of monster "nothic"'s spell "necrotic_gaze" +#. ~ Attack message of monster "krabgek"'s spell "necrotic_gaze" #: lang/json/MONSTER_from_json.py -msgid "The nothic gazes at %3$s!" +msgid "The krabgek gazes at %3$s!" msgstr "" #: lang/json/MONSTER_from_json.py @@ -66320,8 +68318,47 @@ msgstr[1] "" #. ~ Description for troll #: lang/json/MONSTER_from_json.py msgid "" -"Monstrous, green-skinned humanoid. Trolls are renowned for their thick hides" -" and natural regenerative ability." +"Monstrous, green-skinned humanoid. Trolls are renowned for their thick " +"hides and natural regenerative ability." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "stirge" +msgid_plural "stirges" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for stirge +#: lang/json/MONSTER_from_json.py +msgid "" +"This horrid flying creature looks like a cross between a large bat and " +"oversized mosquito." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "shrieker" +msgid_plural "shriekers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for shrieker +#: lang/json/MONSTER_from_json.py +msgid "" +"A shrieker is a human-sized mushroom that emits a piercing screech to drive " +"off creatures that disturb it." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "lemure" +msgid_plural "lemures" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lemure +#: lang/json/MONSTER_from_json.py +msgid "" +"A lemure resembles a molten mass of flesh with a vaguely humanoid head and " +"torso." msgstr "" #: lang/json/MONSTER_from_json.py @@ -66890,11 +68927,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "craftbuddy" -msgid_plural "craftbuddys" +msgid_plural "craftbuddies" msgstr[0] "" msgstr[1] "" -#. ~ Description for craftbuddy +#. ~ Description for {'str': 'craftbuddy', 'str_pl': 'craftbuddies'} #: lang/json/MONSTER_from_json.py msgid "" "A mobile crafting station used by workers in mines, on oil rigs, and in " @@ -67635,11 +69672,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "robote deluxe" -msgid_plural "robote deluxes" +msgid_plural "robote deluxe" msgstr[0] "" msgstr[1] "" -#. ~ Description for robote deluxe +#. ~ Description for {'str': 'robote deluxe', 'str_pl': 'robote deluxe'} #: lang/json/MONSTER_from_json.py msgid "" "A diamond-studded gold-plated robot armed with a pair of integrated 9mm " @@ -67688,11 +69725,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "glittering lady" -msgid_plural "glittering ladys" +msgid_plural "glittering ladies" msgstr[0] "" msgstr[1] "" -#. ~ Description for glittering lady +#. ~ Description for {'str': 'glittering lady', 'str_pl': 'glittering ladies'} #: lang/json/MONSTER_from_json.py msgid "" "A salvaged advanced robot transformed into a luminous beacon of destruction." @@ -67855,13 +69892,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gelatinous mass" -msgid_plural "gelatinous masss" +msgid_plural "gelatinous mass" msgstr[0] "" msgstr[1] "" -#. ~ Description for gelatinous mass -#. ~ Description for gray mass -#. ~ Description for gelatinous mass +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} +#. ~ Description for {'str': 'gray mass', 'str_pl': 'gray mass'} +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} #: lang/json/MONSTER_from_json.py msgid "" "An escaping noisy blob, catch it before it brings in every zombie for miles!" @@ -67871,7 +69908,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gray mass" -msgid_plural "gray masss" +msgid_plural "gray mass" msgstr[0] "" msgstr[1] "" @@ -68453,6 +70490,25 @@ msgstr "" msgid "Summon some bugs." msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Artifact Noise" +msgstr "" + +#. ~ Description for Artifact Noise +#: lang/json/SPELL_from_json.py +msgid "Makes a noise at your location" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "a deafening boom" +msgstr "" + +#. ~ Message for SPELL 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "You hear a deafening boom from your location!" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Artifact Light" msgstr "" @@ -68533,8 +70589,8 @@ msgstr "" #. ~ Message for SPELL 'Artifact Map' #: lang/json/SPELL_from_json.py src/iuse.cpp -msgid "You have a vision of the surrounding area..." -msgstr "Tenés una visión del área circundante..." +msgid "You have a vision of the surrounding area…" +msgstr "" #: lang/json/SPELL_from_json.py msgid "Artifact Firestorm" @@ -68573,6 +70629,80 @@ msgstr "" msgid "Mutates you randomly" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Bolt" +msgstr "" + +#. ~ Description for Bolt +#: lang/json/SPELL_from_json.py +msgid "One of the bolts thrown by AEA_STORM" +msgstr "" + +#. ~ description for the sound of spell 'Bolt' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "Ka-BOOM!" +msgstr "¡Ka-BOOM!" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Storm" +msgstr "" + +#. ~ Description for Artifact Storm +#: lang/json/SPELL_from_json.py +msgid "Calls down a storm near you" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Morale Scream" +msgstr "" + +#. ~ Description for Morale Scream +#: lang/json/SPELL_from_json.py +msgid "Morale effect from AEA_SCREAM" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Entrance" +msgstr "" + +#. ~ Description for Artifact Entrance +#: lang/json/SPELL_from_json.py +msgid "Entrances surrounding monsters" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Scream" +msgstr "" + +#. ~ Description for Artifact Scream +#: lang/json/SPELL_from_json.py +msgid "An ethereal scream" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Scream' +#: lang/json/SPELL_from_json.py +msgid "an ethereal scream" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Bash Terrain" +msgstr "" + +#. ~ Description for Bash Terrain +#. ~ Description for Artifact Pulse +#: lang/json/SPELL_from_json.py +msgid "Damages the terrain" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Pulse" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Pulse' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "The earth shakes!" +msgstr "¡La tierra tiembla!" + #: lang/json/SPELL_from_json.py src/memorial_logger.cpp src/player_display.cpp msgid "Pain" msgstr "Dolor" @@ -68665,8 +70795,8 @@ msgstr "" #. ~ Description for Animist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Animists. You can use the rune" -" as a catalyst for recipes." +"This ritual creates a small pebble attuned to Animists. You can use the " +"rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -68704,7 +70834,7 @@ msgstr "" #. ~ Description for Biomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Biomancers. You can use the " +"This ritual creates a small pebble attuned to Biomancers. You can use the " "rune as a catalyst for recipes." msgstr "" @@ -68802,7 +70932,7 @@ msgstr "" #. ~ Message for SPELL 'Debug Stamina Spell' #: lang/json/SPELL_from_json.py #, python-format -msgid "Debug spell [ %s ] has no effect. Debug warning is expected." +msgid "Debug spell [ %s ] has no effect. Debug warning is expected." msgstr "" #: lang/json/SPELL_from_json.py @@ -68959,7 +71089,7 @@ msgstr "" #. ~ Description for Druid Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Druids. You can use the rune " +"This ritual creates a small pebble attuned to Druids. You can use the rune " "as a catalyst for recipes." msgstr "" @@ -68970,8 +71100,8 @@ msgstr "" #. ~ Description for Purification Seed #: lang/json/SPELL_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Rapidly degrades if " -"not utilized." +"You summon a gift of the earth which will purify water. Rapidly degrades if" +" not utilized." msgstr "" #: lang/json/SPELL_from_json.py @@ -69018,8 +71148,35 @@ msgstr "" #. ~ Description for Earthshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Earthshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Earthshapers. You can use the" +" rune as a catalyst for recipes." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Shrapnel" +msgstr "" + +#. ~ Description for Lava Bomb Shrapnel +#. ~ Description for Lava Bomb Heat +#. ~ Description for Lava Bomb Terrain +#: lang/json/SPELL_from_json.py +msgid "This is a sub spell for the Lava Bomb spell." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Heat" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Terrain" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Clairvoyance" msgstr "" #: lang/json/SPELL_from_json.py @@ -69029,7 +71186,7 @@ msgstr "" #. ~ Description for Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" " condition." msgstr "" @@ -69041,9 +71198,24 @@ msgstr "" #. ~ Description for Improved Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" -" condition. Improved brewing mitigates the strain of the spell." +" condition. Improved brewing mitigates the strain of the spell." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Conjure Throwing Blade I" +msgstr "" + +#. ~ Description for Conjure Throwing Blade I +#: lang/json/SPELL_from_json.py +msgid "conjures 3 throwing knives" +msgstr "" + +#. ~ Message for SPELL 'Conjure Throwing Blade I' +#: lang/json/SPELL_from_json.py +msgid "" +"You activate your ring and three throwing knives appear, ready to throw!" msgstr "" #: lang/json/SPELL_from_json.py @@ -69101,7 +71273,7 @@ msgstr "" #. ~ Description for Kelvinist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Kelvinists. You can use the " +"This ritual creates a small pebble attuned to Kelvinists. You can use the " "rune as a catalyst for recipes." msgstr "" @@ -69144,8 +71316,8 @@ msgstr "" #. ~ Description for Magus Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Magi. You can use the rune as " -"a catalyst for recipes." +"This ritual creates a small pebble attuned to Magi. You can use the rune as" +" a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py @@ -69164,10 +71336,26 @@ msgstr "" msgid "Fox's Cunning" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Blood Suck" +msgstr "" + +#. ~ Description for Blood Suck +#: lang/json/SPELL_from_json.py +msgid "Sucks blood from one foe." +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Jolt" msgstr "" +#. ~ description for the sound of spell 'Jolt' +#. ~ description for the sound of spell 'Lightning Bolt' +#. ~ description for the sound of spell 'Lightning Blast' +#: lang/json/SPELL_from_json.py +msgid "a crackle" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Lightning Bolt" msgstr "" @@ -69176,6 +71364,11 @@ msgstr "" msgid "Windstrike" msgstr "" +#. ~ description for the sound of spell 'Windstrike' +#: lang/json/SPELL_from_json.py +msgid "a whoosh" +msgstr "" + #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py msgid "Windrunning" msgstr "" @@ -69191,8 +71384,8 @@ msgstr "" #. ~ Description for Stormshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Stormshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Stormshapers. You can use the" +" rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -69253,8 +71446,8 @@ msgstr "" #. ~ Description for Technomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Technomancers. You can use the" -" rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Technomancers. You can use " +"the rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -69281,6 +71474,10 @@ msgstr "" msgid "Mirror Image" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "X-ray Vision" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Demon Fireball" msgstr "" @@ -69449,6 +71646,8 @@ msgstr[1] "cascos de minero (enc.)" #. ~ Use action menu_text for thermal electric balaclava (on). #. ~ Use action menu_text for headlamp (on). #. ~ Use action menu_text for survivor headlamp (on). +#. ~ Use action menu_text for 5-point anchor (on). +#. ~ Use action menu_text for phase immersion suit (on). #. ~ Use action menu_text for rebreather mask (on). #. ~ Use action menu_text for XL rebreather mask (on). #. ~ Use action menu_text for pair of light amp goggles (on). @@ -69473,9 +71672,9 @@ msgstr[1] "cascos de minero (enc.)" #. ~ Use action menu_text for acetylene lamp (on). #. ~ Use action menu_text for power cutter (on). #. ~ Use action menu_text for murdersaw (on). +#. ~ Use action menu_text for heat cube (torch on). #: lang/json/TOOL_ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: lang/json/TOOL_from_json.py lang/json/item_action_from_json.py #: lang/json/item_action_from_json.py lang/json/item_action_from_json.py #: src/iuse.cpp msgid "Turn off" @@ -69844,6 +72043,46 @@ msgstr "" "utilizarlo cómodamente en la cabeza o en un casco. Está encendido, " "consumiendo gradualmente sus baterías. Usalo para apagarlo." +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp" +msgid_plural "atomic headlamps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for atomic headlamp. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You close the headlamp's cover." +msgstr "" + +#. ~ Description for atomic headlamp +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"close the cover and hide the light." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp (covered)" +msgid_plural "atomic headlamps (covered)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for atomic headlamp (covered). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You open the headlamp's cover." +msgstr "" + +#. ~ Description for atomic headlamp (covered) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"open the cover and show the light." +msgstr "" + #: lang/json/TOOL_ARMOR_from_json.py msgid "RM13 combat armor" msgid_plural "RM13 combat armors" @@ -69882,6 +72121,97 @@ msgstr "" " rígidas de Rivtech. Está encendida, consumiendo gradualmente su energía. " "Usala para apagarla." +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor" +msgid_plural "5-point anchors" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "A LED light in the %s LED flickers on." +msgstr "" + +#. ~ Use action need_charges_msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "It seems like this device needs power." +msgstr "" + +#. ~ Description for 5-point anchor +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A featureless, disc-shaped device mounted on a harness. The words " +"\"X.E.D.R.A\" and \"5-point anchor\" are inscribed on its front and back." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor (on)" +msgid_plural "5-point anchors (on)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for 5-point anchor (on). +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "The %s LED light flickers off." +msgstr "" + +#. ~ Description for 5-point anchor (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The harness' shoulder mounted LED glows with a soft green hue. Theres no " +"further indication of anything happening." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit" +msgid_plural "phase immersion suits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Initiating\n" +"Running suit integrity diagnostics…\n" +"All systems operational." +msgstr "" + +#. ~ Use action need_charges_msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Warning: Operating on minimal power. Protection compromised." +msgstr "" + +#. ~ Description for phase immersion suit +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. Designed to " +"protect its wearer during extra dimensional excursions, it offers " +"unparalleled environmental protection, both in this Earth and beyond. Use " +"it to turn it on." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit (on)" +msgid_plural "phase immersion suits (on)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for phase immersion suit (on). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Suit shutting down." +msgstr "" + +#. ~ Description for phase immersion suit (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. It is turned on, " +"and continually draining power. Use it to turn it off." +msgstr "" + #: lang/json/TOOL_ARMOR_from_json.py msgid "rebreather mask" msgid_plural "rebreather masks" @@ -70975,13 +73305,11 @@ msgstr "Las orejeras se quedaron sin batería." #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py msgid "" -"A pair of earmuffs favored by shooters. The earmuffs are turned off. They " -"will block sounds over a certain decibel amount, assuming it is charged with" -" batteries." +"A pair of earmuffs favored by shooters. Without batteries or when turned " +"off they function like normal earmuffs and block all sound. They will block" +" sounds over a certain decibel amount when turned on. The earmuffs are " +"currently off." msgstr "" -"Es un par de orejeras que utilizan los tiradores. Están apagadas. Bloquean " -"los sonidos que sobrepasan una cierta cantidad de decibeles, asumiendo que " -"tiene batería." #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py @@ -71446,6 +73774,536 @@ msgid "" "power." msgstr "" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic leather belt" +msgid_plural "magic leather belts" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Haste" +msgid_plural "Belt of Hastes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Megingjörð" +msgid_plural "Megingjörðs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Megingjörð +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The mythical belt of Thor, god of thunder. Or at least so it appears. It " +"doubles the wearer's base strength." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Lesser Girdle of Pockets" +msgid_plural "Lesser Girdle of Pocketss" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Lesser Girdle of Pockets +#. ~ Description for Greater Girdle of Pockets +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, coverd in numerous small pouches " +"that hold a lot more than they should, and the weight of their contents is " +"greatly reduced." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Greater Girdle of Pockets" +msgid_plural "Greater Girdle of Pocketss" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Weaponry" +msgid_plural "Belt of Weaponrys" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Belt of Weaponry +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, you can sheath or holster any " +"weapon into it in the blink of an eye, and it seemingly stores them " +"somewhere else." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of The Iron Whip" +msgid_plural "Belts of the Iron Whip" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for Belt of The Iron Whip. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"You grab the belt and it uncoils to become a flexible metal whip in your " +"hand!" +msgstr "" + +#. ~ Description for Belt of The Iron Whip +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A braided but flexible belt seemingly made of metal. You can activate it to" +" transform it into a whip and flay your enemies." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "escape boots" +msgid_plural "escape boots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for escape boots +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, these boots can be activated once a day to escape from nasty " +"situations, teleporting you a good distance in a random direction." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "pair of steel bracers" +msgid_plural "pairs of steel bracers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of steel bracers +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A full assembly of medieval arm protection." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "steel bracer" +msgid_plural "steel bracers" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of lesser defense" +msgid_plural "bracers of lesser defense" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bracer of lesser defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, silver accentuates the intricate design. It protects your body " +"with a light aura to reduce damage you take." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of greater defense" +msgid_plural "bracers of greater defense" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bracer of greater defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, gold accentuates the intricate design. It protects your body with " +"a strong aura to reduce damage you take." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "lesser bracer of lightning" +msgid_plural "lesser bracers of lightning" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lesser bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, silver accentuates the intricate design. It " +"protects your body with a light aura to reduce electrical damage you take, " +"as well as being able to release a Jolt spell 3 times a day." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "greater bracer of lightning" +msgid_plural "greater bracers of lightning" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for greater bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, gold accentuates the intricate design. It " +"protects your body with a strong aura to reduce electrical damage you take, " +"as well as being able to release a Lightning Bolt spell 3 times a day." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic mask" +msgid_plural "magic masks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magic mask +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic magic mask." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of disappearance" +msgid_plural "masks of disappearance" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for mask of disappearance +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A mask with no facial features at all, just eye and mouth holes, upon " +"activation it makes everything ignore your presence for a while." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of perfect vision" +msgid_plural "masks of perfect vision" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for mask of perfect vision +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A decidedly steampunk-looking half mask that covers the eye area of the " +"face, it has large lenses that correct and greatly enhance the vision of the" +" wearer." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "copper magic ring" +msgid_plural "copper magic rings" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for copper magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic copper magic ring." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic ring" +msgid_plural "magic rings" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic silver magic ring." +msgstr "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic gold magic ring." +msgstr "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic platinum magic ring." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of blades" +msgid_plural "rings of blades" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of blades +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"An ornate silver ring engraved with daggers that conjures a near perfect " +"throwing knife into your hand on activation." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +1" +msgid_plural "minor rings of strength +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +2" +msgid_plural "rings of strength +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +3" +msgid_plural "rings of strength +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +4" +msgid_plural "rings of strength +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +1" +msgid_plural "rings of dexterity +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +2" +msgid_plural "rings of dexterity +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +3" +msgid_plural "rings of dexterity +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +4" +msgid_plural "rings of dexterity +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +1" +msgid_plural "rings of intelligence +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +2" +msgid_plural "rings of intelligence +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +3" +msgid_plural "rings of intelligence +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you surprisingly more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +4" +msgid_plural "rings of intelligence +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +1" +msgid_plural "rings of perception +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +2" +msgid_plural "rings of perception +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +3" +msgid_plural "rings of perception +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you eye-openingly more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +4" +msgid_plural "rings of perception +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +3" +msgid_plural "rings of speed +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +5" +msgid_plural "rings of speed +5" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +5 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +7" +msgid_plural "rings of speed +7" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +7 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you quite hasty when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +10" +msgid_plural "rings of speed +10" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +10 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +2" +msgid_plural "rings of protection +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that reduces some of the force of damage you take when you " +"wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +4" +msgid_plural "rings of protection +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that appreciably reduces some of the force of damage you take " +"when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +6" +msgid_plural "rings of protection +6" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +6 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that greatly reduces some of the force of damage you take when" +" you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +8" +msgid_plural "rings of protection +8" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +8 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A platinum ring that vastly reduces some of the force of damage you take " +"when you wear it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "washcloth" msgid_plural "washcloths" @@ -71468,9 +74326,9 @@ msgstr[1] "" msgid "" "Harness the power of radiation in your own home! This looks similar to a " "D-cell battery, but actually contains folded layers of radioactive material " -"inside. It can produce electricity for several years at a steady voltage..." -" but it's barely enough to power a small LED, and these batteries were worth" -" hundreds of dollars. Mostly they're a good way to brag to your neighbours " +"inside. It can produce electricity for several years at a steady voltage… " +"but it's barely enough to power a small LED, and these batteries were worth " +"hundreds of dollars. Mostly they're a good way to brag to your neighbors " "that you have a nuclear power source in your house." msgstr "" @@ -71483,13 +74341,13 @@ msgstr[1] "" #. ~ Description for radioisotope thermoelectric generator #: lang/json/TOOL_from_json.py msgid "" -"Did your neighbours brag about their cool beta-decay powered nightlights? " -"Do them one better! The CuppaTech 4 radioisotope thermoelectric generator " -"is a three kilogram chunk of metal - mostly lead - with a slug of curium-244" -" encased within. It is capable of generating somewhere between 100-150 " -"Watts of thermal energy, although its electrical generation capacity is " -"minimal at only 2 Watts. Careful! Curium is great at making heat, and also" -" releases deadly gamma radiation. Keep away from cellular life forms." +"Did your neighbors brag about their cool beta-decay powered nightlights? Do" +" them one better! The CuppaTech 4 radioisotope thermoelectric generator is " +"a three kilogram chunk of metal - mostly lead - with a slug of curium-244 " +"encased within. It is capable of generating somewhere between 100-150 Watts" +" of thermal energy, although its electrical generation capacity is minimal " +"at only 2 Watts. Careful! Curium is great at making heat, and also " +"releases deadly gamma radiation. Keep away from cellular life forms." msgstr "" #: lang/json/TOOL_from_json.py @@ -71603,11 +74461,9 @@ msgstr[1] "varas de clarividencia" #. ~ Description for clairvoyance rod #: lang/json/TOOL_from_json.py msgid "" -"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's " -"a bug." +"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's" +" a bug." msgstr "" -"Objeto para probar la eitqueta aep_clairvoyance_plus. Si te aparece en " -"cualquier lugar, es un bug." #: lang/json/TOOL_from_json.py msgid "boulder anvil" @@ -71854,10 +74710,10 @@ msgstr[1] "bombas de caño" #. ~ Use action menu_text for fragment bomb. #. ~ Use action menu_text for can bomb. #. ~ Use action menu_text for match head bomb. +#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for dynamite. #. ~ Use action menu_text for fertilizer bomb. #. ~ Use action menu_text for ANFO charge. -#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for black gunpowder charge. #. ~ Use action menu_text for RDX charge. #: lang/json/TOOL_from_json.py @@ -71899,7 +74755,7 @@ msgstr "Ya encendiste el/a %s, ahora intentá tirarlo." #. ~ Use action sound_msg for match head bomb (lit). #. ~ Use action sound_msg for dynamite (lit). #. ~ Use action sound_msg for fertilizer bomb (lit). -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py src/iuse.cpp +#: lang/json/TOOL_from_json.py msgid "ssss..." msgstr "ssss..." @@ -71928,7 +74784,7 @@ msgstr "Encendés la mecha del/a %s." #. ~ Description for nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by nails and a fuse. Use this item to light the fuse. You will " "then have five turns before it explodes; throwing it would be a good idea." msgstr "" @@ -71949,8 +74805,8 @@ msgstr "Ya encendiste la mecha - ¿qué estás esperando?" #. ~ Description for active nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by nails and a fuse. The fuse has been lit, you should throw it." +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by nails and a fuse. The fuse has been lit, you should throw it." msgstr "" #: lang/json/TOOL_from_json.py @@ -71962,7 +74818,7 @@ msgstr[1] "" #. ~ Description for fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by small pieces of metal and a fuse. Use this item to light the " "fuse. You will then have five turns before it explodes; throwing it would " "be a good idea." @@ -71977,8 +74833,8 @@ msgstr[1] "" #. ~ Description for active fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " "should throw it." msgstr "" @@ -71998,8 +74854,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think." msgstr "" #: lang/json/TOOL_from_json.py @@ -72012,8 +74868,55 @@ msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think. The fuse has been lit, you should throw it." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think. The fuse has been lit, you should throw it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for jack o'lantern. +#. ~ Use action menu_text for candle. +#. ~ Use action menu_text for Louisville Slaughterer. +#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: src/veh_interact.cpp +msgid "Light" +msgstr "Luz" + +#. ~ Use action msg for jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "You light the candle in the jack o'lantern." +msgstr "" + +#. ~ Description for jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"This is a plastic lantern that is painted to look like a pumpkin with a " +"face. It has a candle inside it, that can be replaced when burnt down. It " +"doesn't provide very much light, but it can burn for quite a long time. " +"You'll need a lighter or matches to light it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "spooky jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for spooky jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "The candle winks out inside the lantern." +msgstr "" + +#. ~ Description for spooky jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"There is a thick LED candle inside the pumpkin face. It doesn't provide " +"very much light, but it can burn for quite a long time. This candle is lit." +" The face shifts." msgstr "" #. ~ Description for battle axe @@ -72125,6 +75028,78 @@ msgstr "" "está encendida, y su mecha se está consumiendo rápidamente. Tal vez no la " "quieras tener encima por mucho tiempo más." +#: lang/json/TOOL_from_json.py +msgid "black gunpowder bomb" +msgid_plural "black gunpowder bombs" +msgstr[0] "bomba de pólvora negra" +msgstr[1] "bombas de pólvora negra" + +#. ~ Use action msg for black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "" +"You light the fuse on the black gunpowder bomb. Throw it before it blows in" +" your face!" +msgstr "" +"Encendés la mecha de la bomba de pólvora negra. ¡Tirala antes de que te " +"explote en la cara!" + +#. ~ Description for black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a bit of " +"fuse sticking out of it." +msgstr "" +"Es una lata de hojalata llena hasta el tope con pólvora negra y con una " +"pequeña mecha sobresaliendo." + +#: lang/json/TOOL_from_json.py +msgid "active black gunpowder bomb" +msgid_plural "active black gunpowder bombs" +msgstr[0] "bomba encendida de pólvora negra" +msgstr[1] "bombas encendidas de pólvora negra" + +#. ~ Use action no_deactivate_msg for active black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "You've already lit the fuse - throw it!" +msgstr "Ya encendiste la mecha - ¡tirala!" + +#. ~ Use action sound_msg for active black gunpowder bomb. +#. ~ Use action sound_msg for active black gunpowder charge. +#. ~ Use action sound_msg for active RDX charge. +#: lang/json/TOOL_from_json.py +msgid "Kshhh." +msgstr "Kshhh." + +#. ~ Description for active black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a lit " +"fuse stuck inside of it." +msgstr "" +"Es una lata de hojalata llena hasta el tope de pólvora negra y con un mecha " +"encendida." + +#: lang/json/TOOL_from_json.py +msgid "hobo stove (lit)" +msgid_plural "hobo stoves (lit)" +msgstr[0] "cocina de indigente (enc.)" +msgstr[1] "cocinas de indigente (enc.)" + +#. ~ Use action msg for hobo stove (lit). +#. ~ Use action msg for ember carrier (lit). +#: lang/json/TOOL_from_json.py +msgid "The ember is extinguished." +msgstr "Las brasas se extinguieron." + +#. ~ Description for hobo stove (lit) +#. ~ Description for hobo stove +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small improvised wood stove, made from a metal can or similar " +"container of the right size. Useful for defrosting and reheating food, uses" +" simple tinder." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "folded poncho" msgid_plural "folded ponchos" @@ -72384,8 +75359,8 @@ msgstr[1] "" #. ~ Description for water mill #: lang/json/TOOL_from_json.py msgid "" -"A small water-powered mill that can convert starchy products into flour. Can" -" be placed via the construction menu." +"A small water-powered mill that can convert starchy products into flour. " +"Can be placed via the construction menu." msgstr "" #: lang/json/TOOL_from_json.py lang/json/furniture_from_json.py @@ -72397,8 +75372,8 @@ msgstr[1] "" #. ~ Description for wind mill #: lang/json/TOOL_from_json.py msgid "" -"A small wind-powered mill that can convert starchy products into flour. Can " -"be placed via the construction menu." +"A small wind-powered mill that can convert starchy products into flour. Can" +" be placed via the construction menu." msgstr "" #: lang/json/TOOL_from_json.py @@ -72735,14 +75710,6 @@ msgid_plural "candles" msgstr[0] "vela" msgstr[1] "velas" -#. ~ Use action menu_text for candle. -#. ~ Use action menu_text for hobo stove. -#. ~ Use action menu_text for Louisville Slaughterer. -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: src/veh_interact.cpp -msgid "Light" -msgstr "Luz" - #. ~ Use action msg for candle. #: lang/json/TOOL_from_json.py msgid "You light the candle." @@ -72798,12 +75765,9 @@ msgstr[1] "cuchillos eléctricos (apag.)" #: lang/json/TOOL_from_json.py msgid "" "An electric meat carver powered by batteries. Two serrated blades that " -"vibrate together to slice just about anything from turkey to ham... even " +"vibrate together to slice just about anything from turkey to ham… even " "zombies!" msgstr "" -"Es un cuchillo eléctrico de carne, alimentado con baterías. Son dos " -"cuchillas serradas que vibran juntas para cortar cualquier cosas, desde pavo" -" hasta jamón... ¡incluso zombis!" #: lang/json/TOOL_from_json.py msgid "electric carver (on)" @@ -72983,6 +75947,20 @@ msgstr "" " empezará a volverse inutilizable y puede ser desarmado y reciclado. El agua" " recogida de fuentes inseguras como los ríos, puede estar sucia." +#: lang/json/TOOL_from_json.py +msgid "lifestraw" +msgid_plural "lifestraws" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lifestraw +#: lang/json/TOOL_from_json.py +msgid "" +"Set the lifestraw in suspect water, let sit for one minute then drink. The " +"two part filtration system will purify the water you drink. Water taken " +"from uncertain sources like a river may be dirty." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "charcoal smoker" msgid_plural "charcoal smokers" @@ -73498,10 +76476,8 @@ msgstr[1] "pares de esposas electrónicas" #: lang/json/TOOL_from_json.py msgid "" "A pair of electronic handcuffs, used by police and riot bots to detain captives. Their continuous siren clearly identifies the wearer as an arrested criminal and alerts human police. Wait for their arrival, don't try to escape or to remove the cuffs - they will administer an electric shock.\n" -"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative..." +"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative…" msgstr "" -"Es un par de esposas electrónicas, usada por la policía y los antidisturbots para detener a los prisioneros. Tiene una sirena que continuamente identifica al detenido como un criminal arrestado y alerta a la policía humana. Esperá que lleguen, no intentes escapar o quitarte las esposas, porque recibirás un shock eléctrico.\n" -"Sin embargo, como los únicos policías que podrían venir son muertos vivientes, te vas a tener que quedar esperando mucho tiempo, excepto que se te ocurra algo..." #: lang/json/TOOL_from_json.py msgid "entrenching tool" @@ -75277,6 +78253,19 @@ msgstr "" "para ataques de asma o inhalación de humo, y puede brindar una pequeña " "inyección de energía." +#: lang/json/TOOL_from_json.py +msgid "oxygen cylinder" +msgid_plural "oxygen cylinders" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for oxygen cylinder +#: lang/json/TOOL_from_json.py +msgid "" +"A large steel cylinder used for storing pressurized gas. It is marked with " +"a faded, but legible O2 symbol." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "nitrogen tank" msgid_plural "nitrogen tanks" @@ -75689,8 +78678,8 @@ msgstr[1] "" #. ~ Description for sponge #: lang/json/TOOL_from_json.py msgid "" -"A sponge is a tool or cleaning aid made of soft, porous material. Typically " -"used for cleaning impervious surfaces." +"A sponge is a tool or cleaning aid made of soft, porous material. Typically" +" used for cleaning impervious surfaces." msgstr "" #: lang/json/TOOL_from_json.py @@ -75702,8 +78691,8 @@ msgstr[1] "" #. ~ Description for washing kit #: lang/json/TOOL_from_json.py msgid "" -"A combination kit of a washboard and a sponge. Everything you need to clean" -" items after the apocalypse." +"A combination kit of a washboard and a sponge or rag. Everything you need " +"to clean items after the apocalypse." msgstr "" #: lang/json/TOOL_from_json.py @@ -76705,57 +79694,6 @@ msgstr "" "Es un gran tanque de metal lleno con perdigones de NAFO y equipado con un " "detonador de dinamita. La mecha está encendida, ¡así que salí rajando!" -#: lang/json/TOOL_from_json.py -msgid "black gunpowder bomb" -msgid_plural "black gunpowder bombs" -msgstr[0] "bomba de pólvora negra" -msgstr[1] "bombas de pólvora negra" - -#. ~ Use action msg for black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "" -"You light the fuse on the black gunpowder bomb. Throw it before it blows in" -" your face!" -msgstr "" -"Encendés la mecha de la bomba de pólvora negra. ¡Tirala antes de que te " -"explote en la cara!" - -#. ~ Description for black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a bit of " -"fuse sticking out of it." -msgstr "" -"Es una lata de hojalata llena hasta el tope con pólvora negra y con una " -"pequeña mecha sobresaliendo." - -#: lang/json/TOOL_from_json.py -msgid "active black gunpowder bomb" -msgid_plural "active black gunpowder bombs" -msgstr[0] "bomba encendida de pólvora negra" -msgstr[1] "bombas encendidas de pólvora negra" - -#. ~ Use action no_deactivate_msg for active black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "You've already lit the fuse - throw it!" -msgstr "Ya encendiste la mecha - ¡tirala!" - -#. ~ Use action sound_msg for active black gunpowder bomb. -#. ~ Use action sound_msg for active black gunpowder charge. -#. ~ Use action sound_msg for active RDX charge. -#: lang/json/TOOL_from_json.py -msgid "Kshhh." -msgstr "Kshhh." - -#. ~ Description for active black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a lit " -"fuse stuck inside of it." -msgstr "" -"Es una lata de hojalata llena hasta el tope de pólvora negra y con un mecha " -"encendida." - #: lang/json/TOOL_from_json.py msgid "black gunpowder charge" msgid_plural "black gunpowder charges" @@ -76774,11 +79712,8 @@ msgstr "" msgid "" "This is a home-made explosive device, consisting of a large plastic jug " "filled with black gunpowder and scrap metal, equipped with a long fuse. Use" -" this item to light the fuse. Should explode in a few minutes..." +" this item to light the fuse. Should explode in a few minutes…" msgstr "" -"Es un dispositivo explosivo casero, que consiste en una gran jarra de " -"plástico llena de pólvora negra y chatarra, equipada con una mecha larga. " -"Usala para encender la mecha. Debería explotar en pocos minutos..." #: lang/json/TOOL_from_json.py msgid "active black gunpowder charge" @@ -76932,11 +79867,13 @@ msgstr[0] "antorcha" msgstr[1] "antorchas" #. ~ Use action menu_text for torch. +#. ~ Use action menu_text for everburning torch. #: lang/json/TOOL_from_json.py msgid "Light torch" msgstr "Encender antorcha" #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "You light the torch." msgstr "Encendés la antorcha." @@ -76953,6 +79890,7 @@ msgstr "" "necesitar un encendedor o fósforos para encenderla." #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "The torch is extinguished." msgstr "La antorcha se extinguió." @@ -77377,47 +80315,6 @@ msgid_plural "hobo stoves" msgstr[0] "cocina de indigente" msgstr[1] "cocinas de indigente" -#. ~ Use action msg for hobo stove. -#: lang/json/TOOL_from_json.py -msgid "The hobo stove is lit." -msgstr "" - -#. ~ Use action need_fire_msg for hobo stove. -#: lang/json/TOOL_from_json.py src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -msgid "You need a source of fire!" -msgstr "¡Necesitás una fuente de fuego!" - -#. ~ Description for hobo stove -#. ~ Description for hobo stove (lit) -#: lang/json/TOOL_from_json.py -msgid "" -"This is a small improvised wood stove, made from a metal can or similar " -"container of the right size. Useful for defrosting and reheating food, uses" -" simple tinder." -msgstr "" - -#: lang/json/TOOL_from_json.py -msgid "hobo stove (lit)" -msgid_plural "hobo stoves (lit)" -msgstr[0] "cocina de indigente (enc.)" -msgstr[1] "cocinas de indigente (enc.)" - -#. ~ Use action menu_text for hobo stove (lit). -#: lang/json/TOOL_from_json.py -msgid "Heat up food" -msgstr "Calentar comida" - -#. ~ Use action msg for hobo stove (lit). -#: lang/json/TOOL_from_json.py src/iuse.cpp -msgid "You heat up the food." -msgstr "Calentás la comida." - -#. ~ Use action msg for hobo stove (lit). -#. ~ Use action msg for ember carrier (lit). -#: lang/json/TOOL_from_json.py -msgid "The ember is extinguished." -msgstr "Las brasas se extinguieron." - #: lang/json/TOOL_from_json.py msgid "ember carrier" msgid_plural "ember carriers" @@ -77429,6 +80326,11 @@ msgstr[1] "braseritos" msgid "You light the tinder." msgstr "Encendés la yesca." +#. ~ Use action need_charges_msg for ember carrier. +#: lang/json/TOOL_from_json.py +msgid "The ember carrier is out of tinder." +msgstr "" + #. ~ Use action need_fire_msg for ember carrier. #: lang/json/TOOL_from_json.py msgid "You need a lighter or fire to light this." @@ -77601,8 +80503,8 @@ msgstr[1] "" #. ~ Description for grip hook #: lang/json/TOOL_from_json.py msgid "" -"A simple steel meathook with a circular steel handle. Makes a passable melee" -" weapon." +"A simple steel meathook with a circular steel handle. Makes a passable " +"melee weapon." msgstr "" #: lang/json/TOOL_from_json.py @@ -77985,7 +80887,7 @@ msgstr "" #. ~ Description for inactive TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M16A4. Using this item " +"This is an inactive TALON UGV equipped with an M16A4. Using this item " "involves loading the unit with the factory-loaded 5.56x45mm rounds in your " "inventory (if you wish to divide your ammunition, set aside whatever " "5.56x45mm you do NOT want to give the robot) turning it on, and placing it " @@ -78003,7 +80905,7 @@ msgstr[1] "" #. ~ Description for inactive M202A1 TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M202A1. Using this item " +"This is an inactive TALON UGV equipped with an M202A1. Using this item " "involves loading the unit with the M235 rockets in your inventory (if you " "wish to divide your ammunition, set aside whatever M235 rockets you do NOT " "want to give the robot) turning it on, and placing it on the ground. If " @@ -78093,9 +80995,9 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "" "This is a deactivated broken cyborg, the last shreds of its humanity still " -"rotting away. Using this item involves placing it on the ground and " +"rotting away. Using this item involves placing it on the ground and " "reactivating its mechanical body. If reprogrammed and rewired successfully " -"the cyborg will then follow you and attack enemies. You monster." +"the cyborg will then follow you and attack enemies. You monster." msgstr "" #: lang/json/TOOL_from_json.py @@ -78147,7 +81049,7 @@ msgstr "" #. ~ Description for inactive chicken walker #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive chicken walker. Using this item involves placing it on " +"This is an inactive chicken walker. Using this item involves placing it on " "the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm " "cartridge grenades in your inventory (if you wish to divide your ammunition," " set aside whatever ammunition you do NOT want to give the robot) and " @@ -78176,8 +81078,8 @@ msgstr "" #. ~ Description for inactive police bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive police robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive police robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "police bot will then identify you as law enforcement, roam around or follow " "you, and attempt to detain lawbreakers." msgstr "" @@ -78203,7 +81105,7 @@ msgstr "" #. ~ Description for inactive eyebot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive eyebot. Using this item involves turning it on and " +"This is an inactive eyebot. Using this item involves turning it on and " "launching the UAV. If reprogrammed and rewired successfully the eyebot will" " then keep watch for intruders." msgstr "" @@ -78227,8 +81129,8 @@ msgstr "" #. ~ Description for inactive cleaner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive cleaner bot. Using this item involves placing it on the " -"ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive cleaner bot. Using this item involves placing it on the" +" ground and turning it on. If reprogrammed and rewired successfully the " "cleaner bot will respond to future commands." msgstr "" @@ -78251,8 +81153,8 @@ msgstr "" #. ~ Description for inactive miner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive mining robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive mining robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "miner bot will respond to future commands." msgstr "" @@ -78276,9 +81178,9 @@ msgstr "" #. ~ Description for inactive riot control bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive riot control bot. Using this item involves placing it on" -" the ground and turning it on. If reprogrammed and rewired successfully the" -" robot will bring order and peace to the horde." +"This is an inactive riot control bot. Using this item involves placing it " +"on the ground and turning it on. If reprogrammed and rewired successfully " +"the robot will bring order and peace to the horde." msgstr "" #: lang/json/TOOL_from_json.py @@ -78300,7 +81202,7 @@ msgstr "" #. ~ Description for inactive skitterbot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive skitterbot. Using this item involves placing it on the " +"This is an inactive skitterbot. Using this item involves placing it on the " "ground and turning it on. If reprogrammed and rewired successfully the " "robot will race towards enemies and shock them." msgstr "" @@ -78359,7 +81261,7 @@ msgstr "" #. ~ Description for inactive tank drone #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " +"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " "it on the ground, loading the unit with the factory-loaded 5.56 rounds and " "40mm cartridge grenades in your inventory (if you wish to divide your " "ammunition, set aside whatever ammunition you do NOT want to give the robot)" @@ -78389,8 +81291,8 @@ msgstr "" #. ~ Description for inactive tripod #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Honda Regnal. Using this item involves placing it on the" -" ground, wondering how it fuels its flamethrower and turning it on. If " +"This is an inactive Honda Regnal. Using this item involves placing it on " +"the ground, wondering how it fuels its flamethrower and turning it on. If " "reprogrammed and rewired successfully the tribot will then identify you as " "an ally, roam around or follow you, and impale hostiles with its spiked " "cable weapons." @@ -78416,10 +81318,10 @@ msgstr "" #. ~ Description for inactive milspec searchlight #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive military-grade automated searchlight. Using this item " +"This is an inactive military-grade automated searchlight. Using this item " "involves placing it on the ground and turning it on. If reprogrammed and " "rewired successfully the searchlight will then identify you as an ally, " -"survey the area, and illuminate approaching hostiles. Seems to have an " +"survey the area, and illuminate approaching hostiles. Seems to have an " "unhealthy fascination with you." msgstr "" @@ -78781,7 +81683,7 @@ msgstr[1] "" msgid "" "This farming tool has been modified into an improvised weapon by rotating " "its blade 90 degrees, transforming it into a deadly giant blade on the end " -"of a stick. However it's quite fragile." +"of a stick. However it's quite fragile." msgstr "" #: lang/json/TOOL_from_json.py @@ -78887,6 +81789,21 @@ msgstr "" "Es un cuchillo de combate militar. Es liviano y extremadamente filoso, y " "puede ser letal en las manos indicadas o cuando se pone como bayoneta." +#: lang/json/TOOL_from_json.py +msgid "modified combat knife" +msgid_plural "modified combat knives" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for modified combat knife +#: lang/json/TOOL_from_json.py +msgid "" +"This is a military combat knife. It is light and extremely sharp, and could" +" be deadly in either the right hands or when attached as a bayonet. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hunting knife" msgid_plural "hunting knives" @@ -79280,6 +82197,21 @@ msgstr "" "Una bayoneta espada es un arma cortante larga que puede ser adjuntada al " "frente de un arma de fuego o de una ballesta, convirtiéndola en una lanza." +#: lang/json/TOOL_from_json.py +msgid "modified sword bayonet" +msgid_plural "modified sword bayonets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for modified sword bayonet +#: lang/json/TOOL_from_json.py +msgid "" +"A sword bayonet is a large slashing weapon that can be attached to the front" +" of a firearm or crossbow converting it into a pike. This one was modified " +"and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" + #. ~ Description for tanto #: lang/json/TOOL_from_json.py msgid "" @@ -79390,6 +82322,57 @@ msgstr "" "Es una enorme espada de dos manos curvada de origen japonés. Es " "sorprendentemente liviana para el tamaño que tiene." +#: lang/json/TOOL_from_json.py +msgid "electrified foil" +msgid_plural "electrified foils" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for electrified foil +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing foil may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "electrified épée" +msgid_plural "electrified épées" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for electrified épée +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing épée may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "electrified saber" +msgid_plural "electrified sabers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for electrified saber +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing saber may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired to the tip along the saber's groove. Thrusting the " +"sharpened tip into a foe and activating the momentary switch will deliver a " +"painful electric shock." +msgstr "" + #. ~ Description for broadsword #: lang/json/TOOL_from_json.py msgid "" @@ -79796,6 +82779,34 @@ msgstr "" "Es un pedazo de plástico. Puede ser usado para fabricar, reparar o reforzar " "objetos de plástico." +#: lang/json/TOOL_from_json.py +msgid "synthetic fabric" +msgid_plural "synthetic fabrics" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for synthetic fabric +#: lang/json/TOOL_from_json.py +msgid "" +"This is small bolt of synthetic fabric. Unlike you and other natural " +"materials, it won't degrade much with age. Maybe that's less of a bad thing" +" now." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "lycra patch" +msgid_plural "lycra patches" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lycra patch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small bolt of a synthetic fabric blended with stretchy lycra " +"fibers. It could be used to make flexible yet strong clothing. Stylish, " +"but bad for the environment; at least you're recycling it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hexamine stove" msgid_plural "hexamine stoves" @@ -80312,12 +83323,8 @@ msgstr[1] "radios handy" #: lang/json/TOOL_from_json.py msgid "" "This is a radio with a transmitting unit. You could use it to contact " -"someone who also has one. Unfortunately no one seems to use those " -"nowadays..." +"someone who also has one. Unfortunately no one seems to use those nowadays…" msgstr "" -"Esto es una radio con una unidad de transmisión. La podés usar para " -"contactarte con alguien que también tenga una. Lamentablemente, no parece " -"que haya nadie que use una por estos días..." #: lang/json/TOOL_from_json.py msgid "remote vehicle controller" @@ -80512,7 +83519,7 @@ msgstr[1] "" #. ~ Description for microscope #: lang/json/TOOL_from_json.py msgid "" -"A classic tool for the ages! This hefty, durable piece of lab equipment " +"A classic tool for the ages! This hefty, durable piece of lab equipment " "makes small things look bigger. Without electricity the light doesn't work," " but the rest of it is surprisingly functional. Unfortunately it's not " "useful for very much at the moment." @@ -80717,7 +83724,7 @@ msgstr[1] "cables reforzados" msgid "" "A long, thick, heavy-duty cable with power leads on either end. It looks " "like you could use it to hook up two vehicles to each other, though you " -"expect the power loss would be noticeable. Can also link other electrical " +"expect the power loss would be noticeable. Can also link other electrical " "systems." msgstr "" @@ -81115,15 +84122,119 @@ msgstr "" "Parece ser una especie de Forma de Vida Genética y Sistema Operativo, " "puestos en una papa." +#: lang/json/TOOL_from_json.py +msgid "heat cube" +msgid_plural "heat cubes" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for heat cube. +#: lang/json/TOOL_from_json.py +msgid "Activate torch mode" +msgstr "" + +#. ~ Use action msg for heat cube. +#: lang/json/TOOL_from_json.py +msgid "" +"You push the torch button and the cube emits a large flame from the top, one" +" that does radiate heat, but won't burn anything." +msgstr "" + +#. ~ Description for heat cube +#: lang/json/TOOL_from_json.py +msgid "" +"A smooth steel cube the size of your fist. Several buttons on the sides " +"activate the powers of the cube." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "heat cube (torch on)" +msgid_plural "heat cubes (torch on)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for heat cube (torch on). +#: lang/json/TOOL_from_json.py +msgid "The torch flame is extinguished." +msgstr "" + +#. ~ Description for heat cube (torch on) +#: lang/json/TOOL_from_json.py +msgid "" +"The heat cube in the torch configuration, where it emits warmth and a bright" +" flame that does not burn." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "skeleton key of opening" +msgid_plural "skeleton key of opening" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for skeleton key of opening +#: lang/json/TOOL_from_json.py +msgid "" +"A small gold skeleton key. You can activate it to unlock locked things." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "everburning torch" +msgid_plural "everburning torches" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for everburning torch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality engraved wooden torch. On command, the tip bursts " +"into flame and produces a fair amount of light. It will burn forever." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "enchanted tailor's kit" +msgid_plural "enchanted tailor's kits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for enchanted tailor's kit +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality, engraved steel kit with a variety of needles, some " +"plastic spools for thread, some small scissors, even a small heating element" +" for melting and joining plastic. Use a tailor's kit to customize your " +"clothing and armor. This uses your tailoring skill. It also contains one " +"of those magic spiders that constantly, if slowly, makes new thread." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "spider box" +msgid_plural "spider boxes" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for spider box +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small glass box that contains a spider that diligently works day " +"and night to produce silk thread that it stores in a reservoir you can open " +"and retrieve it from." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "Magic Wand" msgid_plural "Magic Wands" msgstr[0] "" msgstr[1] "" +#: lang/json/TOOL_from_json.py +msgid "Disposable Wand" +msgid_plural "Disposable Wands" +msgstr[0] "" +msgstr[1] "" + #: lang/json/TOOL_from_json.py msgid "minor wand of magic missile" -msgid_plural "minor wand of magic missiles" +msgid_plural "minor wands of magic missile" msgstr[0] "" msgstr[1] "" @@ -81138,19 +84249,19 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of magic missile" -msgid_plural "lesser wand of magic missiles" +msgid_plural "lesser wands of magic missile" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of magic missile" -msgid_plural "greater wand of magic missiles" +msgid_plural "greater wands of magic missile" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of fireball" -msgid_plural "minor wand of fireballs" +msgid_plural "minor wands of fireball" msgstr[0] "" msgstr[1] "" @@ -81165,19 +84276,19 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of fireball" -msgid_plural "lesser wand of fireballs" +msgid_plural "lesser wands of fireball" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of fireball" -msgid_plural "greater wand of fireballs" +msgid_plural "greater wands of fireball" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of mana beam" -msgid_plural "minor wand of mana beams" +msgid_plural "minor wands of mana beam" msgstr[0] "" msgstr[1] "" @@ -81192,19 +84303,19 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of mana beam" -msgid_plural "lesser wand of mana beams" +msgid_plural "lesser wands of mana beam" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of mana beam" -msgid_plural "greater wand of mana beams" +msgid_plural "greater wands of mana beam" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of point flare" -msgid_plural "minor wand of point flares" +msgid_plural "minor wands of point flare" msgstr[0] "" msgstr[1] "" @@ -81219,46 +84330,46 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of point flare" -msgid_plural "lesser wand of point flares" +msgid_plural "lesser wands of point flare" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of point flare" -msgid_plural "greater wand of point flares" +msgid_plural "greater wands of point flare" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py -msgid "minor wand of iceball" -msgid_plural "minor wand of iceballs" +msgid "minor wand of hoary blast" +msgid_plural "minor wands of hoary blast" msgstr[0] "" msgstr[1] "" -#. ~ Description for minor wand of iceball -#. ~ Description for lesser wand of iceball -#. ~ Description for greater wand of iceball +#. ~ Description for minor wand of hoary blast +#. ~ Description for lesser wand of hoary blast +#. ~ Description for greater wand of hoary blast #: lang/json/TOOL_from_json.py msgid "" "A slender wooden wand with a mana crystal socket at the base that casts a " -"spell when activated. This wand casts iceball." +"spell when activated. This wand casts hoary blast." msgstr "" #: lang/json/TOOL_from_json.py -msgid "lesser wand of iceball" -msgid_plural "lesser wand of iceballs" +msgid "lesser wand of hoary blast" +msgid_plural "lesser wands of hoary blast" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py -msgid "greater wand of iceball" -msgid_plural "greater wand of iceballs" +msgid "greater wand of hoary blast" +msgid_plural "greater wands of hoary blast" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of cone of cold" -msgid_plural "minor wand of cone of colds" +msgid_plural "minor wands of cone of cold" msgstr[0] "" msgstr[1] "" @@ -81273,13 +84384,175 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of cone of cold" -msgid_plural "lesser wand of cone of colds" +msgid_plural "lesser wands of cone of cold" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of cone of cold" -msgid_plural "greater wand of cone of colds" +msgid_plural "greater wands of cone of cold" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of magic missile" +msgid_plural "disposable minor wands of magic missile" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of magic missile +#. ~ Description for disposable lesser wand of magic missile +#. ~ Description for disposable greater wand of magic missile +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts magic missile." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of magic missile" +msgid_plural "disposable lesser wands of magic missile" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of magic missile" +msgid_plural "disposable greater wands of magic missile" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of fireball" +msgid_plural "disposable minor wands of fireball" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of fireball +#. ~ Description for disposable lesser wand of fireball +#. ~ Description for disposable greater wand of fireball +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts fireball." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of fireball" +msgid_plural "disposable lesser wands of fireball" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of fireball" +msgid_plural "disposable greater wands of fireball" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of mana beam" +msgid_plural "disposable minor wands of mana beam" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of mana beam +#. ~ Description for disposable lesser wand of mana beam +#. ~ Description for disposable greater wand of mana beam +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts mana beam." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of mana beam" +msgid_plural "disposable lesser wands of mana beam" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of mana beam" +msgid_plural "disposable greater wands of mana beam" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of point flare" +msgid_plural "disposable minor wands of point flare" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of point flare +#. ~ Description for disposable lesser wand of point flare +#. ~ Description for disposable greater wand of point flare +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts point flare." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of point flare" +msgid_plural "disposable lesser wands of point flare" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of point flare" +msgid_plural "disposable greater wands of point flare" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of hoary blast" +msgid_plural "disposable minor wands of hoary blast" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of hoary blast +#. ~ Description for disposable lesser wand of hoary blast +#. ~ Description for disposable greater wand of hoary blast +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts hoary blast." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of hoary blast" +msgid_plural "disposable lesser wands of hoary blast" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of hoary blast" +msgid_plural "disposable greater wands of hoary blast" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of cone of cold" +msgid_plural "disposable minor wands of cone of cold" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of cone of cold +#. ~ Description for disposable lesser wand of cone of cold +#. ~ Description for disposable greater wand of cone of cold +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts cone of cold." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of cone of cold" +msgid_plural "disposable lesser wands of cone of cold" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of cone of cold" +msgid_plural "disposable greater wands of cone of cold" msgstr[0] "" msgstr[1] "" @@ -81363,7 +84636,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "Magus rune" -msgid_plural "Magus runes" +msgid_plural "Magi runes" msgstr[0] "" msgstr[1] "" @@ -81503,7 +84776,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "wand of fireballs" -msgid_plural "wand of fireballss" +msgid_plural "wands of fireball" msgstr[0] "" msgstr[1] "" @@ -81516,7 +84789,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "wand of magic missiles" -msgid_plural "wand of magic missiless" +msgid_plural "wands of magic missile" msgstr[0] "" msgstr[1] "" @@ -82041,12 +85314,6 @@ msgstr "" "Es un palo que ha sido recortado para funcionar como mecanismo disparador de" " una trampa de lazo." -#: lang/json/TOOL_from_json.py -msgid "Laevateinn" -msgid_plural "Laevateinns" -msgstr[0] "Laevateinn" -msgstr[1] "Laevateinns" - #. ~ Description for Laevateinn #: lang/json/TOOL_from_json.py msgid "" @@ -83397,6 +86664,17 @@ msgid "" " terribly when not on a rail." msgstr "" +#: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py +msgid "pair of small rail wheels" +msgstr "" + +#. ~ Description for pair of small rail wheels +#: lang/json/WHEEL_from_json.py +msgid "" +"A pair of small rail wheels. It fits small railroad rails found in places " +"like amusement parks. Mostly for hobby purposes rather then transportation." +msgstr "" + #: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py msgid "motorbike wheel" msgstr "rueda de moto" @@ -83810,6 +87088,10 @@ msgstr "" msgid "cranking" msgstr "" +#: lang/json/activity_type_from_json.py +msgid "heating" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "de-stressing" msgstr "" @@ -84453,7 +87735,7 @@ msgstr "Placas de Aleación - Brazos" #. ~ Description for Alloy Plating - Arms #: lang/json/bionic_from_json.py msgid "" -"The flesh on your arms has been surgically replaced by alloy plating. " +"The flesh on your arms has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" @@ -84491,7 +87773,7 @@ msgstr "Placas de Aleación - Piernas" #. ~ Description for Alloy Plating - Legs #: lang/json/bionic_from_json.py msgid "" -"The flesh on your legs has been surgically replaced by alloy plating. " +"The flesh on your legs has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" @@ -84838,17 +88120,20 @@ msgstr "Quemador de Etanol" #. ~ Description for Ethanol Burner #: lang/json/bionic_from_json.py -msgid "" -"You burn alcohol as fuel in an extremely efficient reaction. However, you " -"will still suffer the inebriating effects of the substance." +msgid "You burn alcohol as fuel in an extremely efficient reaction." msgstr "" -"Podés usar alcohol como combustible de una manera muy eficiente. Sin " -"embargo, sufrirás los efectos embriagantes de la sustancia." #: lang/json/bionic_from_json.py msgid "Aero-Evaporator" msgstr "Aero-Vaporador" +#. ~ Description for Aero-Evaporator +#: lang/json/bionic_from_json.py +msgid "" +"This unit draws moisture from the surrounding air, which slowly trickles " +"directly into your blood stream. It may fail in very dry environments." +msgstr "" + #: lang/json/bionic_from_json.py msgid "Diamond Cornea" msgstr "Córnea de Diamante" @@ -84962,7 +88247,7 @@ msgid "" "You don't think that capacitor is *meant* to glow, but it does, and usually " "at bad times. A malfunctioning bionic randomly turns on and off, causing " "you to glow and making you visible in the dark without improving how much " -"you can see in the slighest." +"you can see in the slightest." msgstr "" #: lang/json/bionic_from_json.py @@ -85130,10 +88415,10 @@ msgstr "" "causar algunos efectos secundarios feos si se lo apaga." #: lang/json/bionic_from_json.py -msgid "Mini-Flamethrower" -msgstr "Mini-Lanzallamas" +msgid "Finger Lighter" +msgstr "" -#. ~ Description for Mini-Flamethrower +#. ~ Description for Finger Lighter #: lang/json/bionic_from_json.py msgid "" "The index fingers of both hands have powerful fire starters which extend " @@ -85165,8 +88450,8 @@ msgstr "Unidad Electromagnética" #: lang/json/bionic_from_json.py msgid "" "Surgically embedded in your right hand is a powerful electromagnet, allowing" -" you to indiscriminately pull all nearby magnetic objects towards you. " -"Unlucky bystanders might be injured or killed by flying objects." +" you to use your own strength to pull all nearby magnetic objects towards " +"you. Unlucky bystanders might be injured or killed by flying objects." msgstr "" #: lang/json/bionic_from_json.py @@ -85232,14 +88517,21 @@ msgstr "Nanobots de Reparación" #: lang/json/bionic_from_json.py msgid "" "Inside your body is a fleet of tiny dormant robots. While activated they " -"will flit about your body, repairing damage at 1 HP/s and stopping bleeding " -"at the cost of power." +"will flit about your body, repairing damage at 1 HP per minute and stopping " +"bleeding at the cost of extra power and stored calories." msgstr "" #: lang/json/bionic_from_json.py msgid "Artificial Night Generator" msgstr "Generador Artificial de Noche" +#. ~ Description for Artificial Night Generator +#: lang/json/bionic_from_json.py +msgid "" +"When active, this bionic eliminates all light within a 2 tile radius through" +" destructive interference." +msgstr "" + #: lang/json/bionic_from_json.py msgid "Implanted Night Vision" msgstr "Implante de Visión Nocturna" @@ -85264,11 +88556,8 @@ msgstr "" msgid "" "You're really not sure how the CBM ended up in your nose, but no matter how " "it got there this badly misplaced bionic makes it difficult to breathe. " -"Increases mouth encumbrance by one." +"Increases mouth encumbrance by ten." msgstr "" -"No estás muy seguro de como terminó un MCB en tu nariz, pero sin importar " -"cómo llegó, este biónico mal colocado te dificulta la respiración. Aumenta " -"la incomodidad de la boca en un punto." #: lang/json/bionic_from_json.py msgid "Offensive Defense System" @@ -85301,7 +88590,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "Due to a badly misplaced dielectric stylette, you are now suffering from " -"mild optic neuropathy. Increases eye encumbrance by one." +"mild optic neuropathy. Increases eye encumbrance by ten." msgstr "" #: lang/json/bionic_from_json.py @@ -85334,7 +88623,7 @@ msgstr "Almacenamiento de Energía" #. ~ Description for Power Storage #: lang/json/bionic_from_json.py msgid "" -"A Compact Bionics Module that increases your power capacity by 100 units. " +"A Compact Bionics Module that increases your power capacity by 100 kJ. " "Having at least one of these is a prerequisite to using powered bionics. " "You will also need a power supply, found in various CBMs." msgstr "" @@ -85345,8 +88634,7 @@ msgstr "Almacenamiento de Energía Mk. II" #. ~ Description for Power Storage Mk. II #: lang/json/bionic_from_json.py -msgid "" -"A Compact Bionics Module that increases your power capacity by 250 units." +msgid "A Compact Bionics Module that increases your power capacity by 250 kJ." msgstr "" #. ~ Description for Power Overload @@ -85678,12 +88966,8 @@ msgstr "" msgid "" "Self-locking thumbs hold tight (even when you really don't want them to) and" " don't let go (even when you'd rather they did). Increases hand encumbrance" -" by two, while failing to improve your ability to hold objects whatsoever." +" by ten, while failing to improve your ability to hold objects whatsoever." msgstr "" -"Los pulgares auto-trabables se traban firmemente (incluso cuando vos no " -"querés que suceda) y no se sueltan (incluso cuando vos preferirías que se " -"suelten). Incrementa la incomodidad de las manos en dos puntos, y no mejora " -"tu habilidad para agarrar objetos." #: lang/json/bionic_from_json.py msgid "Time Dilation" @@ -85830,8 +89114,8 @@ msgstr "" #. ~ Description for Gasoline Fuel Cell CBM #: lang/json/bionic_from_json.py msgid "" -"A small gasoline fuel cell fixed to your scapula. Despite its limited energy" -" output compared to other fuel cells, this device still produces a " +"A small gasoline fuel cell fixed to your scapula. Despite its limited " +"energy output compared to other fuel cells, this device still produces a " "significant amount of heat dissipated through a heat exhaust protruding from" " your back. A diffuse network of bio-plastic bladders has been meshed with " "your circulatory system and serves as a fuel tank." @@ -85896,7 +89180,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "A set of highly sensitive sensors is installed in your mouth, and a small " -"yet sophisticated analyzer is installed in the cavity of your skull. The " +"yet sophisticated analyzer is installed in the cavity of your skull. The " "active bionic will nullify the taste of all comestibles with negative " "enjoyment value at the cost of draining bionic power." msgstr "" @@ -86097,7 +89381,7 @@ msgid "Dodging and melee is hampered." msgstr "Te cuesta más esquivar y combatir cuerpo a cuerpo." #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Torso" msgstr "Torso" @@ -86116,7 +89400,7 @@ msgid "head" msgstr "cabeza" #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Head" msgstr "Cabeza" @@ -86595,6 +89879,18 @@ msgstr "" msgid "Make Woodchip Floor" msgstr "" +#: lang/json/construction_from_json.py +msgid "Make Gravel Floor" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Straight Small Railroad Track" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Diagonal Small Railroad Track" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Wooden Floor" msgstr "" @@ -86711,6 +90007,14 @@ msgstr "Construir Puerta de Cadenas" msgid "Needs to be supported on both sides by fencing, walls, etc." msgstr "Debe ser apoyado de los dos lados por una reja, pared, etcétera." +#: lang/json/construction_from_json.py +msgid "Build Screen Door" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Screen Mesh Wall" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Chickenwire Fence" msgstr "" @@ -86751,6 +90055,10 @@ msgstr "Construir Cómoda" msgid "Build Bookcase" msgstr "Construir Biblioteca" +#: lang/json/construction_from_json.py +msgid "Build Entertainment Center" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Locker" msgstr "Construir Casillero" @@ -86783,6 +90091,10 @@ msgstr "Construir Mesa" msgid "Place Table" msgstr "" +#: lang/json/construction_from_json.py +msgid "Build Coffee Table" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Workbench" msgstr "" @@ -87240,6 +90552,10 @@ msgstr "" msgid "Build a radio tower console." msgstr "" +#: lang/json/construction_from_json.py +msgid "Build Log Stool" +msgstr "" + #: lang/json/construction_from_json.py msgid "Convert Fridge Power Supply" msgstr "" @@ -88030,6 +91346,42 @@ msgstr "" msgid "You dream of bees fighting over your sweet nectar. Mmm." msgstr "Soñás con abejas luchando por tu dulce néctar. Mmm." +#: lang/json/dream_from_json.py +msgid "" +"How grand it would be to sink your roots deep into the soil as the seasons " +"pass you by." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "You dream of a gigantic knot of roots, beating like a heart." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "You have a disturbing dream of termites chewing all over your body." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of sharing your roots with a vast forest, all plants provided for " +"as the canopy grows ever upwards." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "A family of caterpillars munches away at your leaves." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"Fire rages around you, licking at your bark and engulfing the saplings and " +"bushes near your roots. The once chatty forest is quiet in its wake." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of communing with an ancient pine. Trees are the true survivors " +"of this world, it tells you." +msgstr "" + #: lang/json/dream_from_json.py msgid "" "A rather attractive triffid offers you a bouquet of ape heads. How " @@ -89410,6 +92762,25 @@ msgstr "Tus manos no paran de temblar." msgid "You tremble" msgstr "Temblás." +#: lang/json/effects_from_json.py +msgid "Seizure" +msgstr "" + +#. ~ Description of effect 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles have seized up, and you can't control them!" +msgstr "" + +#. ~ Remove message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "You regain control of your muscles!" +msgstr "" + +#. ~ Miss message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles won't cooperate!" +msgstr "" + #: lang/json/effects_from_json.py msgid "Bleeding" msgstr "Sangrando" @@ -90352,6 +93723,26 @@ msgstr "Tu metabolismo se ha vuelto inestable." msgid "Your metabolism becomes more stable." msgstr "Tu metabolismo se vuelve más estable." +#: lang/json/effects_from_json.py +msgid "Concerning symptoms" +msgstr "" + +#. ~ Description of effect 'Concerning symptoms'. +#: lang/json/effects_from_json.py +msgid "Your muscles keep twitching strangely." +msgstr "" + +#: lang/json/effects_from_json.py +msgid "Unnerving symptoms" +msgstr "" + +#. ~ Description of effect 'Unnerving symptoms'. +#: lang/json/effects_from_json.py +msgid "" +"Your nervous system is malfunctioning, almost like it's being torn apart " +"from the inside." +msgstr "" + #: lang/json/effects_from_json.py msgid "Lit up" msgstr "Encendido" @@ -90608,6 +93999,17 @@ msgstr "Supercarga" msgid "You've been struck by lightning, and feel... different." msgstr "Has sido golpeado por un rayo, y te sentís... diferente." +#: lang/json/effects_from_json.py +msgid "Grown of Fusion" +msgstr "" + +#. ~ Description of effect 'Grown of Fusion'. +#: lang/json/effects_from_json.py +msgid "" +"AI effect to increase stats after fusing with another critter. 1 stack means" +" one absorbed max_hp." +msgstr "" + #: lang/json/effects_from_json.py msgid "Religious Offense" msgstr "Ofensa Religiosa" @@ -90922,6 +94324,33 @@ msgstr "" msgid "The earth pulls you down hard." msgstr "" +#: lang/json/effects_from_json.py +msgid "Scared" +msgstr "" + +#: lang/json/effects_from_json.py +msgid "Frightened" +msgstr "" + +#: lang/json/effects_from_json.py src/npc.cpp +msgid "Terrified" +msgstr "Aterrado" + +#: lang/json/effects_from_json.py +msgid "" +"Your knees are shaking, your heart beats fast, and your stomach rebels." +msgstr "" + +#. ~ Apply message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "You are afraid!" +msgstr "" + +#. ~ Remove message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "Your fear dissipates." +msgstr "" + #: lang/json/effects_from_json.py msgid "Stuck in a light snare" msgstr "Atrapado en una trampa de lazo" @@ -91321,6 +94750,192 @@ msgstr "" "era mantenido en el suelo esperando la respuesta de más unidades policiales," " fue destrozado por los muertos vivientes que fueron atraídos a la escena." +#: lang/json/epilogue_from_json.py +msgid "" +" Became a hunter after your death, living alone in the woods. Traced " +"back to his cabin, he was murdered and devoured in his sleep by an actual " +"cannibal." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived for many years, and became a renowned scavenger, eventually " +"setting up a small shop in a Free Merchant outpost. Survived by two sons, " +"he died after a rare artifact poisoned his blood with acid." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered and scavenged the land for years after your death, " +"eventually becoming a skilled mechanic. Employed by the Free Merchants, he " +"lived a comfortable, if rather uneventful life, dying of cancer, a rare " +"luxury these days." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became truly depressed after your death and hid in the woods. If " +"rumors are to be believed, he spent years living as a deranged hermit in a " +"distant cave, worshiping stones and sacrificing dogs." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" After your death, he became obsessed with preserving old knowledge and " +"eventually became known as 'the lorekeeper'. Hired by the Old Guard as a " +"librarian, he spent his life amongst dusty old books, trying to convince " +"others of their value. He even changed his name to Frederic Bastiat, in " +"honor of an old French philosopher." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He found faith after your death, eventually joining an Anglican " +"community and becoming a Vicar. The crucifix provided him with a sense of " +"meaning, before dying horribly at the hands of raiders. He was still " +"praying when they roasted him alive." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Lost and damned, he joined a bloody cult after your death, kidnapping " +"and sacrificing young women. His entire group was killed after being " +"discovered by the Old Guard. His head was put on a spike as a reminder that" +" cultists will not be tolerated." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He did not survive for long after your death. Electrocuted in an old " +"cellar, he kept screaming your name. His body was never found." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived you by just a few days, he drowned trying to escape from a " +"horde." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered alone for days, before finding a Free Merchant outpost. He" +" spent a few years as a caravan guard, often drinking himself half blind and" +" enjoying any woman he could find. Booze made his grip unsteady and he was " +"eventually fired. He died of alcohol poisoning the same day." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with the idea of settling down, he eventually found love and " +"retired to a farm in the middle of nowhere. Relatively safe from the " +"monsters, he thrived for years. Survived by seven sons and two daughters." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became famous in the wastes after finding an old brewery and copying " +"their recipe. His chilled beer, a known delicacy, is traded far and wide by" +" the Free Merchants." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Found a whole cellar of single malt whisky. Drank himself to death." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed after your death, he would hang himself after just a few " +"days." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Wandered for months, before finding a small community that would accept" +" him. Became a farmer and spent the rest of his uneventful life tending to " +"crops, glad that he was no longer alone." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with finding 'the Cure', he died a few weeks later in an old " +"lab, torn to shreds by a security turret." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a runner for the Refugee Center and died after a few months." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a raider gang and died in a firefight a few weeks later, trying " +"to rob a Free Merchant caravan." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, he eventually found an intact baseball field and built " +"a prosperous farming community there." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He spent the rest of his short life looking for a new fix. Died of an " +"overdose in an abandoned basement." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a small fishing village. Died a few years " +"later in a raider attack, alongside his young son." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Thoroughly terrified by your death, he retired to an old LMOE shelter, " +"vowing never to leave. He died of starvation inside." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He became a very prosperous game hunter, trading meat and furs, and " +"providing many settlements with food in exchange for booze and male company." +" He died years later of an STD." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Retired to the woods, he spent the rest of his life fishing and hunting" +" in a desolate cabin, rarely interacting with anyone else." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Died en route to California, deliriously dreaming of a better life as " +"he was slowly devoured by spiders." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He tried to cope with loneliness after your death, but failed. He was " +"blind drunk when a group of zombies found his hideout and didn't stand a " +"chance." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He didn't survive for long, waking up to a horde of zombies. They " +"smashed through his fortified windows in a pinch and only the last bullet " +"prevented him from being devoured alive." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He got sick soon after your death, and died without any medical help. " +"His last words were 'Why did I live long enough to suffer like that?'" +msgstr "" + #: lang/json/epilogue_from_json.py msgid "" " Committed suicide rather than fall into the hands of the Hell's " @@ -91657,6 +95272,167 @@ msgstr "" "ayuda y consumiendo lentamente las provisiones que tenía. Dos semanas " "después de ser arrastrada a su celda, murió por deshidratación." +#: lang/json/epilogue_from_json.py +msgid "" +" Shot by the Old Guard a few weeks later, hunted down after she robbed " +"an important caravan." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, she eventually found a quiet community there and spent " +"the rest of her life farming. She's survived by four daughters." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a runner for the Old Guard and was eventually permitted to " +"join. She spent the rest of her life hunting raiders. She died in a " +"skirmish after a few years, sacrificing her life to let her unit retreat. " +"Her name is venerated in songs and inscriptions." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Shortly after your death she joined the Free Merchants, becoming a " +"caravan guard and after a few months became the new liaison in the Refugee " +"Center. She died a few years later of a mysterious illness." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She was found half-dead by the Old Guard who took her in. She became a" +" famous scavenger, known for finding an intact stash of experimental " +"antibiotics." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She retired to the forest, where she built her own cabin and spending " +"the rest of her life fishing." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Captured by raiders, she spent the rest of her miserable life as a " +"slave. Hopeless, she slit her wrists with a rusty knife." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed, she joined a protestant community and became a paragon of " +"virtue. Devoting her life to bible study, she spent the rest of her life in" +" relative peace." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Killed and devoured by a cannibal just a few days after your death, " +"hardly anyone remembers her name." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a renowned merchant after your death, she built her own outpost " +"in the west. An avid book collector, she established a great library to " +"keep the flame of knowledge burning." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled around for months before finding an old farm. She spent a few" +" years tending to her crops and living the life of a hermit before being " +"killed by raiders for fun." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a settlement there. She became a renowned " +"engineer, building the largest steam engine in New England." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a gang after your death, she spent months preying on the " +"innocent, before dying in a dispute with a fellow brute." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Devoured alive by a group of zombies, she kept thinking of you as she " +"died." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She found an abandoned APC and spent years traveling around and " +"collecting personal stories. She wrote one of the few post-apocalyptic " +"books, detailing the life after the end." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Kept wandering for years. Her life was cut short when a group of " +"raiders used her as a target practice." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a skilled game hunter and one of the best shots in the " +"wasteland. Years later she joined the Old Guard and was given the position " +"of Marshal." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Desperate to save humanity from extinction, she organized her own group" +" of survivors, whose job was to hunt bandits and decorate roads with their " +"mutilated bodies. She died in a skirmish a few months later." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became an arsonist, and was incinerated a few weeks later in a fire" +" she set." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She kept wandering for a few weeks but eventually died after drinking " +"untreated water." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She wandered north and joined a local community there. She became " +"known for her trapping skills and ensured that the locals always had fresh " +"meat on their tables." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She joined the Free Merchants and led their first caravan to Canada. " +"She died a few years later of dysentery." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She built a boat and sailed east towards Europe, hoping that it was not" +" affected by the apocalypse. She was never heard from again." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She led a doomsday cult for a few years, she was sacrificed to their " +"gods after a particularly terrible harvest." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became obsessed with chems, and died of an overdose a few months after " +"your death." +msgstr "" + #: lang/json/faction_from_json.py msgid "Your Followers" msgstr "Tus Seguidores" @@ -91821,10 +95597,10 @@ msgid "A small family surviving on their generational land." msgstr "" #: lang/json/faction_from_json.py -msgid "God's Community" +msgid "New England Church Community" msgstr "" -#. ~ Description for God's Community +#. ~ Description for New England Church Community #: lang/json/faction_from_json.py msgid "" "A small group of churchgoers that formed a community in the woods. They " @@ -91870,103 +95646,211 @@ msgstr "" msgid "Dusty" msgstr "" -#. ~ Description for Dusty +#. ~ description for fault 'Dusty' #: lang/json/fault_from_json.py -msgid "It's dusty. Has no effect - obsolete fault." +msgid "It's dusty. Has no effect - obsolete fault." +msgstr "" + +#. ~ name of mending method for fault 'Dusty' +#: lang/json/fault_from_json.py +msgid "Wipe clean" +msgstr "" + +#. ~ success message for mending method 'Wipe clean' of fault 'Dusty' +#. ~ success message for mending method 'Clean gun' of fault 'Fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean you %s." msgstr "" #: lang/json/fault_from_json.py msgid "Already deployed" msgstr "" -#. ~ Description for Already deployed +#. ~ description for fault 'Already deployed' #: lang/json/fault_from_json.py msgid "This bionic needs to be reset to its factory state." msgstr "" +#. ~ name of mending method for fault 'Already deployed' +#: lang/json/fault_from_json.py +msgid "Reset to factory state" +msgstr "" + +#. ~ success message for mending method 'Reset to factory state' of fault +#. 'Already deployed' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully reset the %s to its factory state" +msgstr "" + #: lang/json/fault_from_json.py msgid "Blackpowder fouling" msgstr "" -#. ~ Description for Blackpowder fouling +#. ~ description for fault 'Blackpowder fouling' #: lang/json/fault_from_json.py msgid "" "Firing blackpowder loads from a gun fouls it, which reduces reliability and," -" if left uncleaned, leads to rust. It fouls the gun much faster than the use" -" of modern smokeless powder cartridges. Fouling is only a significant impact" -" on reliability at high levels, but black powder fouling accumulates " +" if left uncleaned, leads to rust. It fouls the gun much faster than the " +"use of modern smokeless powder cartridges. Fouling is only a significant " +"impact on reliability at high levels, but black powder fouling accumulates " "quickly." msgstr "" +#. ~ name of mending method for fault 'Blackpowder fouling' +#: lang/json/fault_from_json.py +msgid "Clean blackpowder fouling" +msgstr "" + +#. ~ success message for mending method 'Clean blackpowder fouling' of fault +#. 'Blackpowder fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean your %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Spent casing in chamber" msgstr "" -#. ~ Description for Spent casing in chamber +#. ~ description for fault 'Spent casing in chamber' #: lang/json/fault_from_json.py msgid "" "This gun currently has an empty casing chambered. It will have to be " "removed before firing." msgstr "" +#. ~ name of mending method for fault 'Spent casing in chamber' +#: lang/json/fault_from_json.py +msgid "Eject spent casing" +msgstr "" + +#. ~ success message for mending method 'Eject spent casing' of fault 'Spent +#. casing in chamber' +#: lang/json/fault_from_json.py +#, python-format +msgid "You eject the spent casing from the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Fouling" msgstr "" -#. ~ Description for Fouling +#. ~ description for fault 'Fouling' #: lang/json/fault_from_json.py msgid "" "Fouling is caused by firing gunpowder loads repeatedly, which reduces " -"reliability and can eventually cause damage to the gun. Fouling accumulates " -"slowly (unless blackpowder is used) due to the design of modern smokeless " +"reliability and can eventually cause damage to the gun. Fouling accumulates" +" slowly (unless blackpowder is used) due to the design of modern smokeless " "powder found in the vast majority of retail cartridges and it is not a " "significant problem until high levels of fouling are reached due to firing " "thousands of rounds without cleaning your firearm." msgstr "" +#. ~ name of mending method for fault 'Fouling' +#: lang/json/fault_from_json.py +msgid "Clean gun" +msgstr "" + #: lang/json/fault_from_json.py msgid "Worn drive belt" msgstr "" -#. ~ Description for Worn drive belt +#. ~ description for fault 'Worn drive belt' #: lang/json/fault_from_json.py msgid "Required for operation of an attached alternator." msgstr "Se necesita para operar un alternador unido." +#. ~ name of mending method for fault 'Worn drive belt' +#: lang/json/fault_from_json.py +msgid "Replace worn drive belt" +msgstr "" + +#. ~ success message for mending method 'Replace worn drive belt' of fault +#. 'Worn drive belt' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the worn drive belt of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty glow plugs" msgstr "" -#. ~ Description for Faulty glow plugs +#. ~ description for fault 'Faulty glow plugs' #: lang/json/fault_from_json.py msgid "Help when starting an engine in low ambient temperatures." msgstr "Ayuda a arrancar un motor con bajas temperaturas ambientales." +#. ~ name of mending method for fault 'Faulty glow plugs' +#: lang/json/fault_from_json.py +msgid "Replace faulty glow plugs" +msgstr "" + +#. ~ success message for mending method 'Replace faulty glow plugs' of fault +#. 'Faulty glow plugs' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty glow plugs of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Active immobiliser" msgstr "" -#. ~ Description for Active immobiliser +#. ~ description for fault 'Active immobiliser' #: lang/json/fault_from_json.py msgid "Prevents starting of the vehicle without the appropriate key." msgstr "Evita arrancar un vehículo sin la llave apropiada." +#. ~ name of mending method for fault 'Active immobiliser' +#: lang/json/fault_from_json.py +msgid "Deactivate immobiliser" +msgstr "" + +#. ~ description for mending method 'Deactivate immobiliser' of fault 'Active +#. immobiliser' +#: lang/json/fault_from_json.py +msgid "" +"Deactivate the immobiliser that is preventing the vehicle from starting." +msgstr "" + +#. ~ success message for mending method 'Deactivate immobiliser' of fault +#. 'Active immobiliser' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully deactivate the immobiliser of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty diesel pump" msgstr "" -#. ~ Description for Faulty diesel pump +#. ~ description for fault 'Faulty diesel pump' #: lang/json/fault_from_json.py msgid "Required to pump and pressurize diesel from a vehicles tank." msgstr "" "Se necesita para bombear y presurizar combustible diésel desde el tanque del" " vehículo." +#. ~ name of mending method for fault 'Faulty diesel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty diesel pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty diesel pump' of fault +#. 'Faulty diesel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty diesel pump of the %s" +msgstr "" + #: lang/json/fault_from_json.py msgid "Expired air filter" msgstr "" -#. ~ Description for Expired air filter +#. ~ description for fault 'Expired air filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces fuel efficiency and increases smoke production." @@ -91974,11 +95858,23 @@ msgstr "" "Un filtro gastado reduce la eficiencia de combustible y aumenta la " "generación de humo." +#. ~ name of mending method for fault 'Expired air filter' +#: lang/json/fault_from_json.py +msgid "Replace expired air filter" +msgstr "" + +#. ~ success message for mending method 'Replace expired air filter' of fault +#. 'Expired air filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired air filter of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Expired fuel filter" msgstr "" -#. ~ Description for Expired fuel filter +#. ~ description for fault 'Expired fuel filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces performance and increases the chance of backfires." @@ -91986,33 +95882,81 @@ msgstr "" "Un filtro gastado reduce la performance y aumenta la probabilidad de las " "detonaciones en el escape." +#. ~ name of mending method for fault 'Expired fuel filter' +#: lang/json/fault_from_json.py +msgid "Replace expired fuel filter" +msgstr "" + +#. ~ success message for mending method 'Replace expired fuel filter' of fault +#. 'Expired fuel filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired fuel filter of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty fuel pump" msgstr "" -#. ~ Description for Faulty fuel pump +#. ~ description for fault 'Faulty fuel pump' #: lang/json/fault_from_json.py msgid "Required to pump gasoline from a vehicles tank." msgstr "Se necesita para bombear nafta desde el tanque del vehículo." +#. ~ name of mending method for fault 'Faulty fuel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty fuel pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty fuel pump' of fault +#. 'Faulty fuel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty fuel pump of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty water pump" msgstr "" -#. ~ Description for Faulty water pump +#. ~ description for fault 'Faulty water pump' #: lang/json/fault_from_json.py msgid "Required to pump water to an external radiator or heatsink." msgstr "Se necesita para bombear agua hacia un radiador externo o disipador." +#. ~ name of mending method for fault 'Faulty water pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty water pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty water pump' of fault +#. 'Faulty water pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty water pump of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty starter motor" msgstr "" -#. ~ Description for Faulty starter motor +#. ~ description for fault 'Faulty starter motor' #: lang/json/fault_from_json.py msgid "Required to initially start the engine." msgstr "Se necesita para iniciar el motor." +#. ~ name of mending method for fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +msgid "Replace faulty starter motor" +msgstr "" + +#. ~ success message for mending method 'Replace faulty starter motor' of +#. fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty starter motor of %s." +msgstr "" + #: lang/json/field_type_from_json.py lang/json/overmap_terrain_from_json.py #: lang/json/overmap_terrain_from_json.py src/mapdata.cpp src/mapdata.cpp #: src/skill.cpp @@ -92499,6 +96443,22 @@ msgstr "" msgid "smoke vent" msgstr "salida de humo" +#: lang/json/field_type_from_json.py +msgid "clairvoyance" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "dreadful presense" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "frightful presense" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "terrifying presense" +msgstr "" + #: lang/json/furniture_from_json.py msgid "mutated cactus" msgstr "cactus mutado" @@ -92512,13 +96472,11 @@ msgstr "" msgid "A big, blocky metal device for refrigerating large areas." msgstr "" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "metal screeching!" msgstr "¡chillido de metal!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "clang!" msgstr "¡clang!" @@ -92620,6 +96578,50 @@ msgid "" "although it still has parts." msgstr "" +#: lang/json/furniture_from_json.py +msgid "document shredder" +msgstr "" + +#. ~ Description for document shredder +#: lang/json/furniture_from_json.py +msgid "" +"It's not all about hiding government secrets, sometimes you just want to " +"stop identity theft." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "server stack" +msgstr "" + +#. ~ Description for server stack +#: lang/json/furniture_from_json.py +msgid "This is a big pile of computers. They're all turned off." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "large satellite dish" +msgstr "" + +#. ~ Description for large satellite dish +#: lang/json/furniture_from_json.py +msgid "" +"Somewhere up there, there are still satellites, orbiting and doing their " +"thing, sending signals down to an Earth that is no longer listening." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "mounted solar panel" +msgstr "" + +#. ~ Description for mounted solar panel +#: lang/json/furniture_from_json.py +msgid "A mounted solar panel." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "whack!" +msgstr "¡whack!" + #: lang/json/furniture_from_json.py msgid "road barricade" msgstr "barricada de camino" @@ -92631,11 +96633,11 @@ msgstr "Es una barricada de caminos. Se usa para cortar calles." #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py #: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +#: src/vehicle_move.cpp msgid "smash!" msgstr "¡smash!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "whump." msgstr "whump." @@ -92688,6 +96690,115 @@ msgstr "pared de bolsas de arena" msgid "A sandbag wall." msgstr "" +#: lang/json/furniture_from_json.py +msgid "standing mirror" +msgstr "espejo de pie" + +#. ~ Description for standing mirror +#: lang/json/furniture_from_json.py +msgid "Lookin' good - is that blood?" +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "glass breaking" +msgstr "vidrio rompiéndose" + +#: lang/json/furniture_from_json.py +msgid "broken standing mirror" +msgstr "espejo de pie roto" + +#. ~ Description for broken standing mirror +#: lang/json/furniture_from_json.py +msgid "" +"You could look at yourself, if the mirror wasn't covered in cracks and " +"fractures." +msgstr "" +"Te podrías mirar a vos mismo/a si el espejo no estuviera cubierto de " +"rajaduras y rayas." + +#: lang/json/furniture_from_json.py +msgid "bitts" +msgstr "" + +#. ~ Description for bitts +#: lang/json/furniture_from_json.py +msgid "" +"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " +"to secure mooring lines, ropes, hawsers, or cables." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "manacles" +msgstr "esposas" + +#. ~ Description for manacles +#: lang/json/furniture_from_json.py +msgid "" +"Chain serfs in your dungeon. All you need now is an iron ball to chain to " +"it." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "crack." +msgstr "crack." + +#: lang/json/furniture_from_json.py +msgid "statue" +msgstr "estatua" + +#. ~ Description for statue +#: lang/json/furniture_from_json.py +msgid "A carved statue made of stone." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +msgid "thump." +msgstr "tomp." + +#: lang/json/furniture_from_json.py +msgid "mannequin" +msgstr "maniquí" + +#. ~ Description for mannequin +#: lang/json/furniture_from_json.py +msgid "" +"Put clothes on it, talk to it. Who's around to judge you? Wait… did it " +"just move?" +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "birdbath" +msgstr "" + +#. ~ Description for birdbath +#: lang/json/furniture_from_json.py +msgid "A decorative cement birdbath and pedestal." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "rotary clothes dryer line" +msgstr "" + +#. ~ Description for rotary clothes dryer line +#: lang/json/furniture_from_json.py +msgid "A umbrella shaped clothes line mounted on a pole." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "floor lamp" +msgstr "" + +#. ~ Description for floor lamp +#: lang/json/furniture_from_json.py +msgid "A tall standing lamp, meant to plug into a wall and light up a room." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bonk!" +msgstr "" + #: lang/json/furniture_from_json.py msgid "indoor plant" msgstr "planta de interior" @@ -92799,6 +96910,85 @@ msgid "" "be used for planting crops. This one contains a planted seedling" msgstr "" +#: lang/json/furniture_from_json.py +msgid "spider egg sack" +msgstr "capullo de huevo de araña" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Much too large, off-white egg sack. Kind of icky. Something IS moving in " +"there." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "splat!" +msgstr "¡splat!" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " +"in there." +msgstr "" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"A horrifyingly oversized egg sack. Something IS moving in there. If you're" +" seeing this, you're already too close to it." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "ruptured egg sack" +msgstr "capullo roto de huevo" + +#. ~ Description for ruptured egg sack +#: lang/json/furniture_from_json.py +msgid "Super icky. Spider stuff's spilling out." +msgstr "" + +#. ~ Description for swamp gas +#: lang/json/furniture_from_json.py +msgid "" +"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " +"toxic gas." +msgstr "" + +#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp +msgid "splash!" +msgstr "splash!" + +#. ~ Description for fog +#: lang/json/furniture_from_json.py +msgid "This is a misty cloud of fog." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "fake workbench hands" +msgstr "" + +#. ~ Description for fake workbench hands +#: lang/json/furniture_from_json.py +msgid "This fake workbench holds the stats for working on a wielded item." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "ground crafting spot" +msgstr "" + +#. ~ Description for ground crafting spot +#: lang/json/furniture_from_json.py +msgid "" +"A cleared spot on the ground for crafting. Slower than using a workbench or" +" holding a project in your hands, but readily available." +msgstr "" + +#. ~ Description for seeing this is a bug +#: lang/json/furniture_from_json.py +msgid "Seeing this is a bug. If seen, please report and destroy." +msgstr "" + #: lang/json/furniture_from_json.py msgid "fireplace" msgstr "chimenea" @@ -92963,7 +97153,7 @@ msgid "" msgstr "" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: src/iuse.cpp +#: lang/json/terrain_from_json.py src/iuse.cpp msgid "crunch!" msgstr "¡crunch!" @@ -92976,7 +97166,7 @@ msgstr "flor de marloss" msgid "" "This flower is like the other flowers taken by the mushrooms, but its bulb " "is colored a brilliant cyan color, and it emits an aroma both overwhelming " -"and... delicious?" +"and… delicious?" msgstr "" #: lang/json/furniture_from_json.py @@ -93012,6 +97202,100 @@ msgid "" "Alien mold and stems mingle tightly here, creating a sort of fungal bush." msgstr "" +#: lang/json/furniture_from_json.py +msgid "stone slab" +msgstr "escalón de piedra" + +#. ~ Description for stone slab +#: lang/json/furniture_from_json.py +msgid "A flat slab of heavy stone." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "headstone" +msgstr "lápida" + +#. ~ Description for headstone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies." +msgstr "Ahí abajo están los cadáveres." + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +msgid "thump!" +msgstr "¡tomp!" + +#: lang/json/furniture_from_json.py +msgid "gravestone" +msgstr "tumba" + +#. ~ Description for gravestone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies. More fancy." +msgstr "Ahí abajo están los cadáveres. Es elegante." + +#: lang/json/furniture_from_json.py +msgid "worn gravestone" +msgstr "tumba desgastada" + +#. ~ Description for worn gravestone +#: lang/json/furniture_from_json.py +msgid "A worn-out gravestone." +msgstr "Es una lápida gastada." + +#: lang/json/furniture_from_json.py +msgid "obelisk" +msgstr "obelisco" + +#. ~ Description for obelisk +#: lang/json/furniture_from_json.py +msgid "Monument to pride." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "thunk!" +msgstr "thunk!" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "robotic assembler" +msgstr "ensamblador robótico" + +#. ~ Description for robotic assembler +#: lang/json/furniture_from_json.py +msgid "" +"A durable and versatile robotic arm with a tool fitted to the end, for " +"working on an assembly line." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "chemical mixer" +msgstr "mezclador químico" + +#. ~ Description for chemical mixer +#: lang/json/furniture_from_json.py +msgid "" +"When chemicals need to be mixed in large quantities at just the right " +"combinations and temperatures, this is the tool for the job." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "robotic arm" +msgstr "brazo robótico" + +#. ~ Description for robotic arm +#: lang/json/furniture_from_json.py +msgid "" +"Automation! Science! Industry! Make a better horse! This robot arm " +"promises to do it all. Except it's currently unpowered. You could remove " +"the casing and retrieve the electronics through disassembly." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "thunk." +msgstr "tonk," + #: lang/json/furniture_from_json.py msgid "Autodoc Mk. XI" msgstr "Autodoc Mk. XI" @@ -93025,10 +97309,6 @@ msgstr "" "Es un aparato quirúrgico usado para la instalación y desinstalación de " "biónicos. Su utilidad depende de que sea usado por alguien que sepa." -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "whack!" -msgstr "¡whack!" - #: lang/json/furniture_from_json.py msgid "Autodoc operation couch" msgstr "sofá de operación Autodoc" @@ -93320,9 +97600,9 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "This is a meaty green stalactite with a thickened hide like that of a " -"starfish, extending from the floor to the ceiling. In the center is a series" -" of ports somewhat like mouths, from which pour bursts of a vile smelling " -"gas." +"starfish, extending from the floor to the ceiling. In the center is a " +"series of ports somewhat like mouths, from which pour bursts of a vile " +"smelling gas." msgstr "" #: lang/json/furniture_from_json.py @@ -93348,10 +97628,6 @@ msgid "" "out of injured vessels." msgstr "" -#: lang/json/furniture_from_json.py -msgid "splat!" -msgstr "¡splat!" - #: lang/json/furniture_from_json.py msgid "slimy pod" msgstr "" @@ -93396,7 +97672,7 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "This pulsing protuberance juts from the floor, its sides covered in scaled, " -"oozing skin. The surface is flat, but undulates softly. A handful of " +"oozing skin. The surface is flat, but undulates softly. A handful of " "unidentifiable appendages reach from the sides, suggesting a sort of " "nightmarish living autodoc." msgstr "" @@ -93556,12 +97832,6 @@ msgid "" "your workout. Might have useful electronic parts in it." msgstr "" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py src/map.cpp -#: src/mapdata.cpp -msgid "thump!" -msgstr "¡tomp!" - #: lang/json/furniture_from_json.py msgid "treadmill" msgstr "cinta para correr" @@ -93570,7 +97840,7 @@ msgstr "cinta para correr" #: lang/json/furniture_from_json.py msgid "" "Used for training leg muscles. It'll be extra hard without power. Could be" -" taken apart for its... parts." +" taken apart for its… parts." msgstr "" #: lang/json/furniture_from_json.py @@ -93596,7 +97866,7 @@ msgstr "piano" #: lang/json/furniture_from_json.py msgid "" "The ol' ebony and ivory. Really classes up the place. You could take it " -"apart if you wanted... you monster." +"apart if you wanted… you monster." msgstr "" #: lang/json/furniture_from_json.py @@ -93607,6 +97877,18 @@ msgstr "un piano doliente!" msgid "kerchang." msgstr "kerchang." +#: lang/json/furniture_from_json.py +msgid "speaker cabinet" +msgstr "" + +#. ~ Description for speaker cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A cabinet loaded with 12-inch speakers, intended to help make various things" +" loud. It can't serve its original purpose these days, but it could be " +"disassembled for various electronic parts." +msgstr "" + #: lang/json/furniture_from_json.py msgid "cell phone signal booster" msgstr "" @@ -93739,6 +98021,53 @@ msgstr "" msgid "stool" msgstr "banquito" +#. ~ Description for camp chair +#: lang/json/furniture_from_json.py +msgid "Sit down, have a drink. It can folded for easy transportation." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "log stool" +msgstr "" + +#. ~ Description for log stool +#: lang/json/furniture_from_json.py +msgid "" +"A log tipped on its end with any rough edges cut off. Basically a very " +"simple seat." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bulletin board" +msgstr "tablón de anuncios" + +#. ~ Description for bulletin board +#: lang/json/furniture_from_json.py +msgid "" +"A big, cork bulletin board capable of sporting various notices. Pin some " +"notes for other survivors to read." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "sign" +msgstr "cartel" + +#. ~ Description for sign +#: lang/json/furniture_from_json.py +msgid "Read it. Warnings ahead." +msgstr "Leelo. Se viene alguna advertencia." + +#: lang/json/furniture_from_json.py +msgid "warning sign" +msgstr "" + +#. ~ Description for warning sign +#: lang/json/furniture_from_json.py +msgid "" +"A triangle-shaped sign on a post meant to indicate something important or " +"hazard." +msgstr "" + #: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py msgid "bed" msgstr "cama" @@ -93776,7 +98105,7 @@ msgstr "" msgid "rrrrip!" msgstr "¡rrrrip!" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/furniture_from_json.py msgid "" "A comfortable feather down mattress has been tossed on the floor for " @@ -93811,6 +98140,15 @@ msgstr "" msgid "Stores books. Y'know, those things. Who reads books anymore?" msgstr "" +#: lang/json/furniture_from_json.py +msgid "entertainment center" +msgstr "" + +#. ~ Description for entertainment center +#: lang/json/furniture_from_json.py +msgid "Stores audio visual equipment, books and collectible." +msgstr "" + #: lang/json/furniture_from_json.py msgid "coffin" msgstr "ataúd" @@ -93855,6 +98193,21 @@ msgstr "caja abierta" msgid "What's inside? Look in it!" msgstr "¿Qué habrá adentro? ¡Vamos a ver!" +#. ~ Description for large cardboard box +#: lang/json/furniture_from_json.py +msgid "" +"A large cardboard box: this could be used to store things, or as a hiding " +"place." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "crumple!" +msgstr "" + +#: lang/json/furniture_from_json.py src/ballistics.cpp +msgid "thud." +msgstr "golpe seco." + #: lang/json/furniture_from_json.py msgid "cupboard" msgstr "alacena" @@ -94006,6 +98359,27 @@ msgstr "tacho de basura" msgid "One man's trash is another man's dinner." msgstr "" +#: lang/json/furniture_from_json.py +msgid "wardrobe" +msgstr "ropero" + +#. ~ Description for wardrobe +#: lang/json/furniture_from_json.py +msgid "A tall piece of furniture - basically a freestanding closet." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "filing cabinet" +msgstr "fichero" + +#. ~ Description for filing cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " +"locked to protect important information. If you're lucky, there are often " +"keys nearby." +msgstr "" + #: lang/json/furniture_from_json.py msgid "utility shelf" msgstr "" @@ -94024,6 +98398,42 @@ msgstr "barril de madera" msgid "A keg made mostly of wood. Holds liquids, preferably alcoholic." msgstr "" +#: lang/json/furniture_from_json.py +msgid "display case" +msgstr "vitrina" + +#. ~ Description for display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff fancily and securely." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "broken display case" +msgstr "vitrina rota" + +#. ~ Description for broken display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff. It'll get stolen." +msgstr "Para mostrar tus cosas. Aunque te las van a robar." + +#: lang/json/furniture_from_json.py +msgid "standing tank" +msgstr "Tanque vertical" + +#. ~ Description for standing tank +#: lang/json/furniture_from_json.py +msgid "A large freestanding metal tank, useful for holding liquids." +msgstr "Es un metal grande de metal, útil para contener líquidos." + +#: lang/json/furniture_from_json.py +msgid "dumpster" +msgstr "contenedor" + +#. ~ Description for dumpster +#: lang/json/furniture_from_json.py +msgid "Stores trash. Doesn't get picked up anymore. Note the smell." +msgstr "" + #: lang/json/furniture_from_json.py msgid "counter" msgstr "mesada" @@ -94103,7 +98513,7 @@ msgstr "" #. ~ Description for tourist table #: lang/json/furniture_from_json.py msgid "" -"Small metal folding table, ideal for off-road trips into the wild. Can be " +"Small metal folding table, ideal for off-road trips into the wild. Can be " "used as a workbench in a pinch." msgstr "" @@ -94116,290 +98526,201 @@ msgstr "mesa" msgid "Sit down when you eat!" msgstr "¡Sentate cuando comés!" +#. ~ Description for table #: lang/json/furniture_from_json.py -msgid "forge" -msgstr "forja" - -#. ~ Description for forge -#: lang/json/furniture_from_json.py -msgid "Metalworking station typically used in combination with an anvil." +msgid "a low table for livingrooms." msgstr "" -"Es una estación para trabajar los metales, comúnmente utilizada en " -"combinación con un yunque." -#. ~ Description for anvil -#: lang/json/furniture_from_json.py -msgid "Used in metalworking." -msgstr "Se utiliza para trabajar el metal." - -#. ~ Description for still #: lang/json/furniture_from_json.py -msgid "" -"An essential component for brewing and chemistry that allows for refining " -"liquid mixtures." -msgstr "" -"Es un componente esencial para la destilación y procesos químicos. Permite " -"refinar mezclas de líquidos." +msgid "tatami mat" +msgstr "tatami" -#. ~ Description for charcoal kiln -#. ~ Description for filled charcoal kiln +#. ~ Description for tatami mat #: lang/json/furniture_from_json.py msgid "" -"A rock kiln designed to burn wood and organic material into charcoal in " -"absence of oxygen." +"A tatami is a type of mat used as a flooring material in traditional " +"Japanese-style rooms." msgstr "" -"Es una fosa de piedra de carbonización que se usa para quemar madera y " -"material orgánico que se convierte en carbón vegetal en ausencia de oxígeno." #: lang/json/furniture_from_json.py -msgid "metal charcoal kiln" -msgstr "fosa de metal de carbonización" +msgid "pillow fort" +msgstr "fuerte de almohadas" -#. ~ Description for metal charcoal kiln -#. ~ Description for filled metal charcoal kiln +#. ~ Description for pillow fort #: lang/json/furniture_from_json.py -msgid "" -"A metal kiln designed to burn wood and organic material into charcoal in " -"absence of oxygen." +msgid "A comfy place to hide from the world. Not very defensible, though." msgstr "" -"Es una fosa de metal de carbonización que se usa para quemar madera y " -"material orgánico que se convierte en carbón vegetal en ausencia de oxígeno." #: lang/json/furniture_from_json.py -msgid "filled metal charcoal kiln" -msgstr "fosa de metal de carbonización llena" - -#. ~ Description for arc furnace -#. ~ Description for filled arc furnace -#: lang/json/furniture_from_json.py -msgid "" -"An arc furnace designed to burn a powdery mix of coke and limestone to " -"create calcium carbide." -msgstr "" +msgid "paf!" +msgstr "paf!" #: lang/json/furniture_from_json.py -msgid "filled arc furnace" +msgid "cardboard fort" msgstr "" -#: lang/json/furniture_from_json.py -msgid "smoking rack" -msgstr "soporte para ahumar" - -#. ~ Description for smoking rack -#. ~ Description for metal smoking rack -#. ~ Description for active metal smoking rack +#. ~ Description for cardboard fort #: lang/json/furniture_from_json.py msgid "" -"A special rack designed to smoke food for better preservation and taste." +"A fort built by tipping a cardboard box on its side, lining it with " +"blankets, and partly weather sealing it with a plastic sheet." msgstr "" -"Es un estante diseñado para ahumar comida para que se conserve más y tenga " -"mejor sabor." #: lang/json/furniture_from_json.py -msgid "active smoking rack" -msgstr "soporte para ahumar activo" +msgid "cardboard wall" +msgstr "" -#. ~ Description for active smoking rack +#. ~ Description for cardboard wall #: lang/json/furniture_from_json.py msgid "" -"A special rack designed to smoke food for better preservation and taste. It" -" is lit and smoking." +"This is a pile of cardboard boxes that have been filled with rags and junk " +"and stacked together like bricks to form a wall." msgstr "" -"Es un soporte especial diseñado para ahumar comida para que se conserve más " -"y tenga mejor sabor. Está encendido y ahumando." #: lang/json/furniture_from_json.py -msgid "active metal smoking rack" +msgid "beaded curtain" msgstr "" +#. ~ Description for beaded curtain #: lang/json/furniture_from_json.py -msgid "rock forge" -msgstr "forja de piedra" - -#. ~ Description for rock forge -#: lang/json/furniture_from_json.py -msgid "" -"Metalworking station made of rock, typically used in combination with an " -"anvil." +msgid "This beaded curtain could be pulled aside." msgstr "" -"Es una estación hecha de piedra para trabajar los metales, comúnmente " -"utilizada en combinación con un yunque." #: lang/json/furniture_from_json.py -msgid "clay kiln" -msgstr "horno de arcilla" +msgid "clickity clack… clack… clack" +msgstr "" -#. ~ Description for clay kiln #: lang/json/furniture_from_json.py -msgid "A kiln designed to bake clay pottery and bricks." +msgid "clickity clack… clack" msgstr "" -"Es una fosa de carbonización diseñada para cocinar alfarería y ladrillos." -#. ~ Description for stepladder #: lang/json/furniture_from_json.py -msgid "" -"A short, foldable ladder. Can help you climb to a rooftop, or maybe slow " -"something down." +msgid "open beaded curtain" msgstr "" +#. ~ Description for open beaded curtain #: lang/json/furniture_from_json.py -msgid "electric arc furnace" +msgid "This beaded curtain has been pulled aside." msgstr "" -#. ~ Description for electric arc furnace #: lang/json/furniture_from_json.py -msgid "" -"Not the kind of furnace you'd heat your house with, this is a device for " -"heating things to extreme temperatures as part of industrial fabrication " -"processes." +msgid "clickity clack… clack… clack!" msgstr "" #: lang/json/furniture_from_json.py -msgid "drill press" -msgstr "" +msgid "canvas floor" +msgstr "piso de tela" -#. ~ Description for drill press +#. ~ Description for canvas floor #: lang/json/furniture_from_json.py msgid "" -"A powerful drill mounted on a slide that lets it drop precisely down. " -"Useful in all kinds of projects from industrial fabrication to home " -"woodworking." +"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " +"of the tent." msgstr "" #: lang/json/furniture_from_json.py -msgid "tablesaw" -msgstr "" +msgid "canvas wall" +msgstr "pared de tela" -#. ~ Description for tablesaw +#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "" -"A rotating saw blade set into a large flat table, for making straight " -"measured cuts. One of the key tools in a carpenter's arsenal." +msgid "A wall made of stretched, waterproof cloth." msgstr "" -#: lang/json/furniture_from_json.py -msgid "mitre saw" -msgstr "" +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "slap!" +msgstr "¡slap!" -#. ~ Description for mitre saw +#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "" -"A circular saw blade on an arm that can slide and rotate in several " -"directions, this is a staple tool for nearly any carpentry." +msgid "A wall made of stretched, heavy-duty, waterproof cloth." msgstr "" #: lang/json/furniture_from_json.py -msgid "bandsaw" -msgstr "" +msgid "canvas flap" +msgstr "solapa de tela" -#. ~ Description for bandsaw +#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "" -"A ribbonlike sawblade runs in a single direction in this tool, allowing " -"precise cuts at almost any angle." +msgid "This canvas flap door could be pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "router table" -msgstr "" +msgid "open canvas flap" +msgstr "solapa abierta de tela" -#. ~ Description for router table +#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "" -"This table has an inset router, a rotating motor with an exchangeable blade " -"head for cutting specific profiles and grooves and stuff." +msgid "This canvas flap door has been pulled aside." msgstr "" +#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "planer" +msgid "This heavy canvas flap door could be pulled aside." msgstr "" -#. ~ Description for planer +#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "" -"A hefty tool that will take in a board and cut it smooth and flat to a " -"specific width. Particularly great if working with raw lumber stock, but " -"also good just for shaving wood down to size." +msgid "This heavy canvas flap door has been pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "jointer" -msgstr "" +msgid "groundsheet" +msgstr "lona impermeable" -#. ~ Description for jointer +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "" -"A table-shaped tool with a rotating blade that will cut down, smooth out, " -"and square off a board to make it very smooth and nice indeed." +msgid "This plastic groundsheet could keep you dry." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "hydraulic press" -msgstr "prensa hidráulica" - -#. ~ Description for hydraulic press +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "" -"If you really want to squash something a lot, this would be exactly the " -"right industrial tool for you. If, you know, it had power." +msgid "This large plastic groundsheet could keep you dry." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "power lathe" -msgstr "torno eléctrico" - -#. ~ Description for power lathe +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py msgid "" -"An industrial-grade lathe, for turning chunks of metal and other hard things" -" into round chunks of metal and other hard things." +"This plastic government-issue groundsheet could keep you dry, but was made " +"by the lowest bidder." msgstr "" #: lang/json/furniture_from_json.py -msgid "air compressor" -msgstr "" +msgid "animalskin wall" +msgstr "pared de piel de animal" -#. ~ Description for air compressor +#. ~ Description for animalskin wall #: lang/json/furniture_from_json.py -msgid "" -"This durable tank is topped with a motor that will cram as much air into the" -" tank as possible." +msgid "Wall made out of animal skin. Either an amazing or horrifying sight." msgstr "" +"Es una pared hecha con piel de animal. Es tanto maravillosa como aterradora." #: lang/json/furniture_from_json.py -msgid "fermenting vat" -msgstr "tanque de fermentación" +msgid "animalskin flap" +msgstr "solapa de piel de animal" -#. ~ Description for fermenting vat -#. ~ Description for filled fermenting vat +#. ~ Description for animalskin flap #: lang/json/furniture_from_json.py -msgid "A sealable vat for fermenting vinegar and various alcoholic brews." +msgid "This animal skin flap could be pulled aside." msgstr "" -"Es un tanque sellable para fermentar vinagre y varios tipos de bebidas " -"alcohólicas." #: lang/json/furniture_from_json.py -msgid "filled fermenting vat" -msgstr "tanque de fermentación lleno" +msgid "open animalskin flap" +msgstr "solapa abierta de piel de animal" +#. ~ Description for open animalskin flap #: lang/json/furniture_from_json.py -msgid "butchering rack" -msgstr "soporte para carnear" +msgid "This animal skin flap has been pulled aside." +msgstr "" -#. ~ Description for butchering rack #: lang/json/furniture_from_json.py -msgid "Butchering rack designed to hang a carcass in the air." -msgstr "" -"Es un soporte para carnear diseñado para colgar un cadáver en el aire." +msgid "animalskin floor" +msgstr "piso de piel de animal" -#. ~ Description for metal butchering rack +#. ~ Description for animalskin floor #: lang/json/furniture_from_json.py -msgid "" -"Metal butchering rack designed to hang a carcass in the air. It can be " -"deconstructed and folded for easy transportation." +msgid "This animal skin groundsheet could keep you dry." msgstr "" -"Es un soporte de metal para carnear diseñado para colgar un cadáver. Puede " -"ser deconstruido y plegado para transportar fácilmente." #: lang/json/furniture_from_json.py msgid "pile of rubble" @@ -94430,8 +98751,7 @@ msgstr "pila de escombros de basura" #. ~ Description for pile of trashy rubble #: lang/json/furniture_from_json.py msgid "" -"Trash topped with dirt and grass, it smells gross, but another man's " -"trash..." +"Trash topped with dirt and grass, it smells gross, but another man's trash…" msgstr "" #: lang/json/furniture_from_json.py @@ -94453,468 +98773,332 @@ msgid "Some ash, from wood or possibly bodies." msgstr "Es un poco de ceniza, de madera o de cadáver." #: lang/json/furniture_from_json.py -msgid "bulletin board" -msgstr "tablón de anuncios" +msgid "small boulder" +msgstr "roca pequeña" -#. ~ Description for bulletin board +#. ~ Description for small boulder #: lang/json/furniture_from_json.py msgid "" -"A big, cork bulletin board capable of sporting various notices. Pin some " -"notes for other survivors to read." +"Blocking your path. Should be easy to move. It can be used as a primitive " +"anvil." msgstr "" +"Está tapando tu camino. Debería ser fácil de mover. Puede usarse como un " +"yunque primitivo." #: lang/json/furniture_from_json.py -msgid "sign" -msgstr "cartel" - -#. ~ Description for sign -#: lang/json/furniture_from_json.py -msgid "Read it. Warnings ahead." -msgstr "Leelo. Se viene alguna advertencia." - -#: lang/json/furniture_from_json.py -msgid "warning sign" -msgstr "" +msgid "medium boulder" +msgstr "roca mediana" -#. ~ Description for warning sign +#. ~ Description for medium boulder #: lang/json/furniture_from_json.py msgid "" -"A triangle-shaped sign on a post meant to indicate something important or " -"hazard." +"Blocking your path. It'll be a struggle to move. It can be used as a " +"primitive anvil." msgstr "" +"Está tapando tu camino. Va a ser difícil de mover. Puede usarse como un " +"yunque primitivo." #: lang/json/furniture_from_json.py -msgid "standing mirror" -msgstr "espejo de pie" - -#. ~ Description for standing mirror -#: lang/json/furniture_from_json.py -msgid "Lookin' good - is that blood?" -msgstr "" +msgid "large boulder" +msgstr "roca grande" +#. ~ Description for large boulder #: lang/json/furniture_from_json.py -msgid "glass breaking" -msgstr "vidrio rompiéndose" +msgid "Now how are you going to move this?" +msgstr "¿Cómo vas a hacer para mover esto?" #: lang/json/furniture_from_json.py -msgid "broken standing mirror" -msgstr "espejo de pie roto" +msgid "forge" +msgstr "forja" -#. ~ Description for broken standing mirror +#. ~ Description for forge #: lang/json/furniture_from_json.py -msgid "" -"You could look at yourself, if the mirror wasn't covered in cracks and " -"fractures." +msgid "Metalworking station typically used in combination with an anvil." msgstr "" -"Te podrías mirar a vos mismo/a si el espejo no estuviera cubierto de " -"rajaduras y rayas." - -#: lang/json/furniture_from_json.py -msgid "vending machine" -msgstr "máquina expendedora" - -#. ~ Description for vending machine -#: lang/json/furniture_from_json.py -msgid "Buy stuff with a cash card." -msgstr "Podés comprar cosas con una tarjeta de crédito." +"Es una estación para trabajar los metales, comúnmente utilizada en " +"combinación con un yunque." +#. ~ Description for anvil #: lang/json/furniture_from_json.py -msgid "broken vending machine" -msgstr "máquina expendedora rota" +msgid "Used in metalworking." +msgstr "Se utiliza para trabajar el metal." -#. ~ Description for broken vending machine +#. ~ Description for still #: lang/json/furniture_from_json.py msgid "" -"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " -"you wouldn't need to pay at all!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "dumpster" -msgstr "contenedor" - -#. ~ Description for dumpster -#: lang/json/furniture_from_json.py -msgid "Stores trash. Doesn't get picked up anymore. Note the smell." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "canvas wall" -msgstr "pared de tela" - -#. ~ Description for canvas wall -#: lang/json/furniture_from_json.py -msgid "A wall made of stretched, waterproof cloth." +"An essential component for brewing and chemistry that allows for refining " +"liquid mixtures." msgstr "" +"Es un componente esencial para la destilación y procesos químicos. Permite " +"refinar mezclas de líquidos." -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "slap!" -msgstr "¡slap!" - -#. ~ Description for canvas wall +#. ~ Description for charcoal kiln +#. ~ Description for filled charcoal kiln #: lang/json/furniture_from_json.py -msgid "A wall made of stretched, heavy-duty, waterproof cloth." +msgid "" +"A rock kiln designed to burn wood and organic material into charcoal in " +"absence of oxygen." msgstr "" +"Es una fosa de piedra de carbonización que se usa para quemar madera y " +"material orgánico que se convierte en carbón vegetal en ausencia de oxígeno." #: lang/json/furniture_from_json.py -msgid "canvas flap" -msgstr "solapa de tela" +msgid "metal charcoal kiln" +msgstr "fosa de metal de carbonización" -#. ~ Description for canvas flap +#. ~ Description for metal charcoal kiln +#. ~ Description for filled metal charcoal kiln #: lang/json/furniture_from_json.py -msgid "This canvas flap door could be pulled aside." +msgid "" +"A metal kiln designed to burn wood and organic material into charcoal in " +"absence of oxygen." msgstr "" +"Es una fosa de metal de carbonización que se usa para quemar madera y " +"material orgánico que se convierte en carbón vegetal en ausencia de oxígeno." #: lang/json/furniture_from_json.py -msgid "open canvas flap" -msgstr "solapa abierta de tela" - -#. ~ Description for open canvas flap -#: lang/json/furniture_from_json.py -msgid "This canvas flap door has been pulled aside." -msgstr "" +msgid "filled metal charcoal kiln" +msgstr "fosa de metal de carbonización llena" -#. ~ Description for canvas flap +#. ~ Description for arc furnace +#. ~ Description for filled arc furnace #: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door could be pulled aside." +msgid "" +"An arc furnace designed to burn a powdery mix of coke and limestone to " +"create calcium carbide." msgstr "" -#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door has been pulled aside." +msgid "filled arc furnace" msgstr "" #: lang/json/furniture_from_json.py -msgid "groundsheet" -msgstr "lona impermeable" +msgid "smoking rack" +msgstr "soporte para ahumar" -#. ~ Description for groundsheet +#. ~ Description for smoking rack +#. ~ Description for metal smoking rack +#. ~ Description for active metal smoking rack #: lang/json/furniture_from_json.py -msgid "This plastic groundsheet could keep you dry." +msgid "" +"A special rack designed to smoke food for better preservation and taste." msgstr "" +"Es un estante diseñado para ahumar comida para que se conserve más y tenga " +"mejor sabor." -#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "This large plastic groundsheet could keep you dry." -msgstr "" +msgid "active smoking rack" +msgstr "soporte para ahumar activo" -#. ~ Description for groundsheet +#. ~ Description for active smoking rack #: lang/json/furniture_from_json.py msgid "" -"This plastic government-issue groundsheet could keep you dry, but was made " -"by the lowest bidder." +"A special rack designed to smoke food for better preservation and taste. It" +" is lit and smoking." msgstr "" +"Es un soporte especial diseñado para ahumar comida para que se conserve más " +"y tenga mejor sabor. Está encendido y ahumando." #: lang/json/furniture_from_json.py -msgid "animalskin wall" -msgstr "pared de piel de animal" - -#. ~ Description for animalskin wall -#: lang/json/furniture_from_json.py -msgid "Wall made out of animal skin. Either an amazing or horrifying sight." +msgid "active metal smoking rack" msgstr "" -"Es una pared hecha con piel de animal. Es tanto maravillosa como aterradora." #: lang/json/furniture_from_json.py -msgid "animalskin flap" -msgstr "solapa de piel de animal" +msgid "rock forge" +msgstr "forja de piedra" -#. ~ Description for animalskin flap +#. ~ Description for rock forge #: lang/json/furniture_from_json.py -msgid "This animal skin flap could be pulled aside." +msgid "" +"Metalworking station made of rock, typically used in combination with an " +"anvil." msgstr "" +"Es una estación hecha de piedra para trabajar los metales, comúnmente " +"utilizada en combinación con un yunque." #: lang/json/furniture_from_json.py -msgid "open animalskin flap" -msgstr "solapa abierta de piel de animal" +msgid "clay kiln" +msgstr "horno de arcilla" -#. ~ Description for open animalskin flap +#. ~ Description for clay kiln #: lang/json/furniture_from_json.py -msgid "This animal skin flap has been pulled aside." +msgid "A kiln designed to bake clay pottery and bricks." msgstr "" +"Es una fosa de carbonización diseñada para cocinar alfarería y ladrillos." +#. ~ Description for stepladder #: lang/json/furniture_from_json.py -msgid "animalskin floor" -msgstr "piso de piel de animal" - -#. ~ Description for animalskin floor -#: lang/json/furniture_from_json.py -msgid "This animal skin groundsheet could keep you dry." +msgid "" +"A short, foldable ladder. Can help you climb to a rooftop, or maybe slow " +"something down." msgstr "" #: lang/json/furniture_from_json.py -msgid "statue" -msgstr "estatua" - -#. ~ Description for statue -#: lang/json/furniture_from_json.py -msgid "A carved statue made of stone." +msgid "electric arc furnace" msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "thump." -msgstr "tomp." - -#: lang/json/furniture_from_json.py -msgid "mannequin" -msgstr "maniquí" - -#. ~ Description for mannequin +#. ~ Description for electric arc furnace #: lang/json/furniture_from_json.py msgid "" -"Put clothes on it, talk to it. Who's around to judge you? Wait... did it " -"just move?" +"Not the kind of furnace you'd heat your house with, this is a device for " +"heating things to extreme temperatures as part of industrial fabrication " +"processes." msgstr "" #: lang/json/furniture_from_json.py -msgid "birdbath" -msgstr "" - -#. ~ Description for birdbath -#: lang/json/furniture_from_json.py -msgid "A decorative cement birdbath and pedestal." +msgid "drill press" msgstr "" +#. ~ Description for drill press #: lang/json/furniture_from_json.py -msgid "rotary clothes dryer line" +msgid "" +"A powerful drill mounted on a slide that lets it drop precisely down. " +"Useful in all kinds of projects from industrial fabrication to home " +"woodworking." msgstr "" -#. ~ Description for rotary clothes dryer line #: lang/json/furniture_from_json.py -msgid "A umbrella shaped clothes line mounted on a pole." +msgid "tablesaw" msgstr "" +#. ~ Description for tablesaw #: lang/json/furniture_from_json.py -msgid "mounted solar panel" +msgid "" +"A rotating saw blade set into a large flat table, for making straight " +"measured cuts. One of the key tools in a carpenter's arsenal." msgstr "" -#. ~ Description for mounted solar panel #: lang/json/furniture_from_json.py -msgid "A mounted solar panel." +msgid "mitre saw" msgstr "" -#: lang/json/furniture_from_json.py -msgid "spider egg sack" -msgstr "capullo de huevo de araña" - -#. ~ Description for spider egg sack +#. ~ Description for mitre saw #: lang/json/furniture_from_json.py msgid "" -"Much too large, off-white egg sack. Kind of icky. Something IS moving in " -"there." +"A circular saw blade on an arm that can slide and rotate in several " +"directions, this is a staple tool for nearly any carpentry." msgstr "" -#. ~ Description for spider egg sack #: lang/json/furniture_from_json.py -msgid "" -"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " -"in there." +msgid "bandsaw" msgstr "" -#. ~ Description for spider egg sack +#. ~ Description for bandsaw #: lang/json/furniture_from_json.py msgid "" -"A horrifyingly oversized egg sack. Something IS moving in there. If you're" -" seeing this, you're already too close to it." +"A ribbonlike sawblade runs in a single direction in this tool, allowing " +"precise cuts at almost any angle." msgstr "" #: lang/json/furniture_from_json.py -msgid "ruptured egg sack" -msgstr "capullo roto de huevo" - -#. ~ Description for ruptured egg sack -#: lang/json/furniture_from_json.py -msgid "Super icky. Spider stuff's spilling out." +msgid "router table" msgstr "" -#: lang/json/furniture_from_json.py -msgid "reinforced vending machine" -msgstr "máquina expendedora reforzada" - -#. ~ Description for reinforced vending machine +#. ~ Description for router table #: lang/json/furniture_from_json.py msgid "" -"A bit tougher to crack open than regular vending machines. That just makes " -"it all the sweeter a target, doesn't it?" +"This table has an inset router, a rotating motor with an exchangeable blade " +"head for cutting specific profiles and grooves and stuff." msgstr "" #: lang/json/furniture_from_json.py -msgid "display case" -msgstr "vitrina" - -#. ~ Description for display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff fancily and securely." +msgid "planer" msgstr "" -#: lang/json/furniture_from_json.py -msgid "broken display case" -msgstr "vitrina rota" - -#. ~ Description for broken display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff. It'll get stolen." -msgstr "Para mostrar tus cosas. Aunque te las van a robar." - -#: lang/json/furniture_from_json.py -msgid "standing tank" -msgstr "Tanque vertical" - -#. ~ Description for standing tank -#: lang/json/furniture_from_json.py -msgid "A large freestanding metal tank, useful for holding liquids." -msgstr "Es un metal grande de metal, útil para contener líquidos." - -#: lang/json/furniture_from_json.py -msgid "canvas floor" -msgstr "piso de tela" - -#. ~ Description for canvas floor +#. ~ Description for planer #: lang/json/furniture_from_json.py msgid "" -"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " -"of the tent." +"A hefty tool that will take in a board and cut it smooth and flat to a " +"specific width. Particularly great if working with raw lumber stock, but " +"also good just for shaving wood down to size." msgstr "" #: lang/json/furniture_from_json.py -msgid "robotic arm" -msgstr "brazo robótico" +msgid "jointer" +msgstr "" -#. ~ Description for robotic arm +#. ~ Description for jointer #: lang/json/furniture_from_json.py msgid "" -"Automation! Science! Industry! Make a better horse! This robot arm " -"promises to do it all. Except it's currently unpowered. You could remove " -"the casing and retrieve the electronics through disassembly." +"A table-shaped tool with a rotating blade that will cut down, smooth out, " +"and square off a board to make it very smooth and nice indeed." msgstr "" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "thunk." -msgstr "tonk," - -#: lang/json/furniture_from_json.py -msgid "automated gas console" -msgstr "consola automática de gases" +msgid "hydraulic press" +msgstr "prensa hidráulica" -#. ~ Description for automated gas console +#. ~ Description for hydraulic press #: lang/json/furniture_from_json.py -msgid "Automated gas flow control console." +msgid "" +"If you really want to squash something a lot, this would be exactly the " +"right industrial tool for you. If, you know, it had power." msgstr "" -#: lang/json/furniture_from_json.py -msgid "broken automated gas console" -msgstr "consola automática de gases rota" +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "power lathe" +msgstr "torno eléctrico" -#. ~ Description for broken automated gas console +#. ~ Description for power lathe #: lang/json/furniture_from_json.py msgid "" -"Automated gas flow control console. Broken. This is not a good thing." +"An industrial-grade lathe, for turning chunks of metal and other hard things" +" into round chunks of metal and other hard things." msgstr "" #: lang/json/furniture_from_json.py -msgid "small boulder" -msgstr "roca pequeña" +msgid "air compressor" +msgstr "" -#. ~ Description for small boulder +#. ~ Description for air compressor #: lang/json/furniture_from_json.py msgid "" -"Blocking your path. Should be easy to move. It can be used as a primitive " -"anvil." +"This durable tank is topped with a motor that will cram as much air into the" +" tank as possible." msgstr "" -"Está tapando tu camino. Debería ser fácil de mover. Puede usarse como un " -"yunque primitivo." #: lang/json/furniture_from_json.py -msgid "medium boulder" -msgstr "roca mediana" +msgid "fermenting vat" +msgstr "tanque de fermentación" -#. ~ Description for medium boulder +#. ~ Description for fermenting vat +#. ~ Description for filled fermenting vat #: lang/json/furniture_from_json.py -msgid "" -"Blocking your path. It'll be a struggle to move. It can be used as a " -"primitive anvil." +msgid "A sealable vat for fermenting vinegar and various alcoholic brews." msgstr "" -"Está tapando tu camino. Va a ser difícil de mover. Puede usarse como un " -"yunque primitivo." - -#: lang/json/furniture_from_json.py -msgid "large boulder" -msgstr "roca grande" +"Es un tanque sellable para fermentar vinagre y varios tipos de bebidas " +"alcohólicas." -#. ~ Description for large boulder #: lang/json/furniture_from_json.py -msgid "Now how are you going to move this?" -msgstr "¿Cómo vas a hacer para mover esto?" +msgid "filled fermenting vat" +msgstr "tanque de fermentación lleno" #: lang/json/furniture_from_json.py -msgid "stone slab" -msgstr "escalón de piedra" +msgid "butchering rack" +msgstr "soporte para carnear" -#. ~ Description for stone slab +#. ~ Description for butchering rack #: lang/json/furniture_from_json.py -msgid "A flat slab of heavy stone." +msgid "Butchering rack designed to hang a carcass in the air." msgstr "" +"Es un soporte para carnear diseñado para colgar un cadáver en el aire." -#: lang/json/furniture_from_json.py -msgid "manacles" -msgstr "esposas" - -#. ~ Description for manacles +#. ~ Description for metal butchering rack #: lang/json/furniture_from_json.py msgid "" -"Chain serfs in your dungeon. All you need now is an iron ball to chain to " -"it." +"Metal butchering rack designed to hang a carcass in the air. It can be " +"deconstructed and folded for easy transportation." msgstr "" +"Es un soporte de metal para carnear diseñado para colgar un cadáver. Puede " +"ser deconstruido y plegado para transportar fácilmente." -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "crack." -msgstr "crack." - -#: lang/json/furniture_from_json.py -msgid "headstone" -msgstr "lápida" - -#. ~ Description for headstone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies." -msgstr "Ahí abajo están los cadáveres." - -#: lang/json/furniture_from_json.py -msgid "gravestone" -msgstr "tumba" - -#. ~ Description for gravestone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies. More fancy." -msgstr "Ahí abajo están los cadáveres. Es elegante." - -#: lang/json/furniture_from_json.py -msgid "worn gravestone" -msgstr "tumba desgastada" - -#. ~ Description for worn gravestone -#: lang/json/furniture_from_json.py -msgid "A worn-out gravestone." -msgstr "Es una lápida gastada." - -#: lang/json/furniture_from_json.py -msgid "obelisk" -msgstr "obelisco" - -#. ~ Description for obelisk #: lang/json/furniture_from_json.py -msgid "Monument to pride." +msgid "hanging meathook" msgstr "" +#. ~ Description for hanging meathook #: lang/json/furniture_from_json.py -msgid "thunk!" -msgstr "thunk!" - -#. ~ Description for camp chair -#: lang/json/furniture_from_json.py -msgid "Sit down, have a drink. It can folded for easy transportation." +msgid "A hefty hook suspended from a chain for stringing up corpses." msgstr "" #. ~ Description for wind mill @@ -94952,254 +99136,53 @@ msgid "" msgstr "" #: lang/json/furniture_from_json.py -msgid "pillow fort" -msgstr "fuerte de almohadas" - -#. ~ Description for pillow fort -#: lang/json/furniture_from_json.py -msgid "A comfy place to hide from the world. Not very defensible, though." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "paf!" -msgstr "paf!" - -#: lang/json/furniture_from_json.py -msgid "cardboard fort" -msgstr "" - -#. ~ Description for cardboard fort -#: lang/json/furniture_from_json.py -msgid "" -"A fort built by tipping a cardboard box on its side, lining it with " -"blankets, and partly weather sealing it with a plastic sheet." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "crumple!" -msgstr "" - -#: lang/json/furniture_from_json.py src/ballistics.cpp -msgid "thud." -msgstr "golpe seco." - -#: lang/json/furniture_from_json.py -msgid "cardboard wall" -msgstr "" - -#. ~ Description for cardboard wall -#: lang/json/furniture_from_json.py -msgid "" -"This is a pile of cardboard boxes that have been filled with rags and junk " -"and stacked together like bricks to form a wall." -msgstr "" - -#. ~ Description for large cardboard box -#: lang/json/furniture_from_json.py -msgid "" -"A large cardboard box: this could be used to store things, or as a hiding " -"place." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "beaded curtain" -msgstr "" - -#. ~ Description for beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain could be pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "open beaded curtain" -msgstr "" - -#. ~ Description for open beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain has been pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "filing cabinet" -msgstr "fichero" - -#. ~ Description for filing cabinet -#: lang/json/furniture_from_json.py -msgid "" -"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " -"locked to protect important information. If you're lucky, there are often " -"keys nearby." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "wardrobe" -msgstr "ropero" - -#. ~ Description for wardrobe -#: lang/json/furniture_from_json.py -msgid "A tall piece of furniture - basically a freestanding closet." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "robotic assembler" -msgstr "ensamblador robótico" - -#. ~ Description for robotic assembler -#: lang/json/furniture_from_json.py -msgid "" -"A durable and versatile robotic arm with a tool fitted to the end, for " -"working on an assembly line." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "chemical mixer" -msgstr "mezclador químico" - -#. ~ Description for chemical mixer -#: lang/json/furniture_from_json.py -msgid "" -"When chemicals need to be mixed in large quantities at just the right " -"combinations and temperatures, this is the tool for the job." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "floor lamp" -msgstr "" - -#. ~ Description for floor lamp -#: lang/json/furniture_from_json.py -msgid "A tall standing lamp, meant to plug into a wall and light up a room." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "bonk!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "document shredder" -msgstr "" - -#. ~ Description for document shredder -#: lang/json/furniture_from_json.py -msgid "" -"It's not all about hiding government secrets, sometimes you just want to " -"stop identity theft." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "server stack" -msgstr "" - -#. ~ Description for server stack -#: lang/json/furniture_from_json.py -msgid "This is a big pile of computers. They're all turned off." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "large satellite dish" -msgstr "" - -#. ~ Description for large satellite dish -#: lang/json/furniture_from_json.py -msgid "" -"Somewhere up there, there are still satellites, orbiting and doing their " -"thing, sending signals down to an Earth that is no longer listening." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "hanging meathook" -msgstr "" - -#. ~ Description for hanging meathook -#: lang/json/furniture_from_json.py -msgid "A hefty hook suspended from a chain for stringing up corpses." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "fake workbench hands" -msgstr "" - -#. ~ Description for fake workbench hands -#: lang/json/furniture_from_json.py -msgid "This fake workbench holds the stats for working on a wielded item." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "ground crafting spot" -msgstr "" +msgid "automated gas console" +msgstr "consola automática de gases" -#. ~ Description for ground crafting spot +#. ~ Description for automated gas console #: lang/json/furniture_from_json.py -msgid "" -"A cleared spot on the ground for crafting. Slower than using a workbench or" -" holding a project in your hands, but readily available." +msgid "Automated gas flow control console." msgstr "" #: lang/json/furniture_from_json.py -msgid "tatami mat" -msgstr "tatami" +msgid "broken automated gas console" +msgstr "consola automática de gases rota" -#. ~ Description for tatami mat +#. ~ Description for broken automated gas console #: lang/json/furniture_from_json.py msgid "" -"A tatami is a type of mat used as a flooring material in traditional " -"Japanese-style rooms." +"Automated gas flow control console. Broken. This is not a good thing." msgstr "" #: lang/json/furniture_from_json.py -msgid "bitts" -msgstr "" +msgid "reinforced vending machine" +msgstr "máquina expendedora reforzada" -#. ~ Description for bitts +#. ~ Description for reinforced vending machine #: lang/json/furniture_from_json.py msgid "" -"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " -"to secure mooring lines, ropes, hawsers, or cables." +"A bit tougher to crack open than regular vending machines. That just makes " +"it all the sweeter a target, doesn't it?" msgstr "" #: lang/json/furniture_from_json.py -msgid "speaker cabinet" -msgstr "" +msgid "vending machine" +msgstr "máquina expendedora" -#. ~ Description for speaker cabinet +#. ~ Description for vending machine #: lang/json/furniture_from_json.py -msgid "" -"A cabinet loaded with 12-inch speakers, intended to help make various things" -" loud. It can't serve its original purpose these days, but it could be " -"disassembled for various electronic parts." -msgstr "" +msgid "Buy stuff with a cash card." +msgstr "Podés comprar cosas con una tarjeta de crédito." -#. ~ Description for seeing this is a bug #: lang/json/furniture_from_json.py -msgid "Seeing this is a bug. If seen, please report and destroy." -msgstr "" +msgid "broken vending machine" +msgstr "máquina expendedora rota" -#. ~ Description for swamp gas +#. ~ Description for broken vending machine #: lang/json/furniture_from_json.py msgid "" -"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " -"toxic gas." -msgstr "" - -#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp -msgid "splash!" -msgstr "splash!" - -#. ~ Description for fog -#: lang/json/furniture_from_json.py -msgid "This is a misty cloud of fog." +"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " +"you wouldn't need to pay at all!" msgstr "" #. ~ Description for vehicle refrigerator @@ -95300,6 +99283,15 @@ msgid "" "blood, candles, and other small knick-knacks." msgstr "" +#: lang/json/furniture_from_json.py +msgid "large glowing boulder" +msgstr "" + +#. ~ Description for large glowing boulder +#: lang/json/furniture_from_json.py +msgid "Something about this doesn't look right." +msgstr "" + #: lang/json/furniture_from_json.py msgid "krash!" msgstr "crash!" @@ -95329,8 +99321,8 @@ msgstr "¡La verja está abierta!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You turn the handle..." -msgstr "Girás la manija..." +msgid "You turn the handle…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -95349,8 +99341,8 @@ msgstr "¡Las puertas del granero se abren!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You pull the rope..." -msgstr "Tirás de la soga..." +msgid "You pull the rope…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -95384,8 +99376,8 @@ msgstr "¡La puerta se levanta!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You throw the lever..." -msgstr "Tirás de la palanca..." +msgid "You throw the lever…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -95508,7 +99500,7 @@ msgid "Fake gun that fires acid globs." msgstr "Es una pistola falsa que dispara un globo ácido." #: lang/json/gun_from_json.py lang/json/gunmod_from_json.py -#: src/item_factory.cpp src/turret.cpp +#: src/item_factory.cpp msgid "auto" msgstr "auto" @@ -95578,11 +99570,8 @@ msgstr[1] "arcos de una pieza" msgid "" "A primitive bow fashioned from a single piece of wood, made specifically for" " the person using it. Weak and wildly inaccurate, it doesn't work that " -"well, unfortunately..." +"well, unfortunately…" msgstr "" -"Es un arco primitivo de una sola pieza de madera, hecho específicamente para" -" la persona que lo está usando. No es potente y poco preciso... " -"lamentablemente, no es muy bueno." #: lang/json/gun_from_json.py msgid "short bow" @@ -95801,9 +99790,7 @@ msgstr "" "debido a su tamaño pequeño y corto tensado. Los pernos disparados con esta " "arma tienen una gran probabilidad de no romperse." -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "pistol" msgstr "pistola" @@ -96108,10 +100095,10 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "Portable Plasma Accelerator Model Five, developed by Lockheed Martin " -"Corporation. This device uses highly advanced capacitor banks to create a " -"torus of superheated hydrogen plasma and accelerate it to incredible speed. " -"It was designed to take down heavy vehicles, and was expected to fully enter" -" US Army service not long before the Cataclysm." +"Corporation. This device uses highly advanced capacitor banks to create a " +"torus of superheated hydrogen plasma and accelerate it to incredible speed." +" It was designed to take down heavy vehicles, and was expected to fully " +"enter US Army service not long before the Cataclysm." msgstr "" #: lang/json/gun_from_json.py @@ -96130,8 +100117,7 @@ msgstr "" "otros dos para cartuchos de escopeta. Está hecho de caños y partes extraídas" " de una escopeta de doble caño." -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py msgctxt "gun_type_type" msgid "shotgun" msgstr "escopeta" @@ -96637,8 +100623,8 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"The Walther P22 is a blowback operated semi-automatic pistol. It is about " -"half the size of most Walthers. It is made mostly with plastic, with the " +"The Walther P22 is a blowback operated semi-automatic pistol. It is about " +"half the size of most Walthers. It is made mostly with plastic, with the " "slide and key components being made of die-cast zinc alloy" msgstr "" @@ -97376,15 +101362,10 @@ msgstr[1] "M24" msgid "" "The M24 Sniper is the military and police version of the Remington Model 700" " rifle, M24 being the model name assigned by the United States Army after " -"adoption as their standard sniper rifle in 1988. The M24 is referred to as a" -" 'weapon system' because it consists of not only a rifle, but also a " +"adoption as their standard sniper rifle in 1988. The M24 is referred to as " +"a 'weapon system' because it consists of not only a rifle, but also a " "detachable telescopic sight and other accessories." msgstr "" -"El M24 francotirador es una versión militar y policíaca del rifle Remington " -"modelo 700. M24 es el nombre asignado por el Ejército de Estados Unidos " -"luego de adoptarlo como su rifle de francotirador estándar en 1988. El M24 " -"es llamado 'sistema de armas' porque además del rifle tiene una mira " -"telescópica removible y otros accesorios." #: lang/json/gun_from_json.py msgid "HK417 A2" @@ -97475,7 +101456,7 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "One of Kel-tec's oldest designs, the P32 is a popular option for deep " -"concealment and backup usage. Despite its extreme light weight and small " +"concealment and backup usage. Despite its extreme light weight and small " "size, its .32 ACP chambering makes for good handling and recoil control." msgstr "" @@ -97550,19 +101531,17 @@ msgstr "" "disparos que podrás hacer." #: lang/json/gun_from_json.py -msgid "COP .38" -msgid_plural "COP .38" -msgstr[0] "COP .38" -msgstr[1] "COP .38" +msgid "COP .357 Derringer" +msgid_plural "COP .357 Derringers" +msgstr[0] "" +msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"The COP .38 is a small, chubby derringer pistol that bears a slight " -"resemblance to the Mossberg Brownie. It has four barrels arranged in a " -"square formation." +"A small, chubby derringer pistol bearing a slight resemblance to the " +"Mossberg Brownie. It uses a rotating firing pin to fire the individual " +"hammers of the four barrels arranged in a square formation." msgstr "" -"La COP .38 es una pistola pequeña y regordeta que tiene un ligero parecido a" -" la Mossberg Brownie. Tiene cuatro caños dispuestos en forma de cuadrado." #: lang/json/gun_from_json.py msgid "pipe rifle: .38 Special" @@ -97598,20 +101577,6 @@ msgstr "" "Un revólver de siete disparos calibre .38, vendida por Smith & Wesson. Posee" " una mirilla trasera fija y una estructura reforzada." -#: lang/json/gun_from_json.py -msgid "Taurus Pro .38" -msgid_plural "Taurus Pro .38" -msgstr[0] "Taurus Pro .38" -msgstr[1] "Taurus Pro .38" - -#: lang/json/gun_from_json.py -msgid "" -"A popular .38 pistol. Designed with numerous safety features and built from" -" high-quality, durable materials." -msgstr "" -"Una pistola calibre .38 popular. Diseñada con muchas características de " -"seguridad y construida con materiales duraderos de alta calidad." - #: lang/json/gun_from_json.py msgid "MAC-11" msgid_plural "MAC-11s" @@ -97679,10 +101644,22 @@ msgstr[1] "" msgid "" "The Hi-Point CF-380 is a blowback operated semi automatic pistol designed by" " Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" +#: lang/json/gun_from_json.py +msgid "Taurus Spectrum" +msgid_plural "Taurus Spectrum" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A .380 subcompact pistol. Designed for concealed carry and built from high-" +"quality, durable materials." +msgstr "" + #: lang/json/gun_from_json.py msgid "M1911A1" msgid_plural "M1911A1s" @@ -97785,9 +101762,9 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in .40 S&W." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in .40 S&W." msgstr "" #: lang/json/gun_from_json.py @@ -97813,8 +101790,9 @@ msgstr[1] "" msgid "" "The Hi-Point Model JCP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" #: lang/json/gun_from_json.py @@ -98231,8 +102209,9 @@ msgstr[1] "" msgid "" "The Hi-Point Model JHP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" #: lang/json/gun_from_json.py @@ -98457,7 +102436,7 @@ msgstr "" "desactivado, y el mecanismo de alimentación con cinta fue modificado para " "tener una cámara pequeña de una sola bala." -#: lang/json/gun_from_json.py src/item_factory.cpp src/turret.cpp +#: lang/json/gun_from_json.py src/item_factory.cpp msgid "manual" msgstr "manual" @@ -99357,9 +103336,9 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in 9x19mm Parabellum." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in 9x19mm Parabellum." msgstr "" #: lang/json/gun_from_json.py @@ -99371,8 +103350,8 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Walther P38 is a semi-automatic handgun adopted shortly before the " -"second world war. Developed due to the high production costs of its " -"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " +"second world war. Developed due to the high production costs of its " +"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " "This early DA/SA locked-breech design would introduce features later seen on" " more modern firearms such as the Beretta 92 series, and served Germany " "until 2004." @@ -99388,7 +103367,7 @@ msgstr[1] "" msgid "" "The Walther PPQ is a semi-automatic pistol originating from the Walther " "P99QA, and maintains compatibility with some of its predecessor's " -"accessories. This model is chambered in 9x19mm Parabellum." +"accessories. This model is chambered in 9x19mm Parabellum." msgstr "" #: lang/json/gun_from_json.py @@ -99401,7 +103380,7 @@ msgstr[1] "" msgid "" "The Hi-Point C-9 is a blowback operated semi automatic pistol designed by " "Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" @@ -99414,10 +103393,10 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The CZ-75 is a semi-automatic pistol developed in Czechoslovakia, and is one" -" of the original wonder nines. Though designed for export to western " +" of the original wonder nines. Though designed for export to western " "countries, it was declared a state secret; lack of international patent " "protection meant that many clones and variants were produced and distributed" -" around the world, with Česká zbrojovka only joining in the 90's. This " +" around the world, with Česká zbrojovka only joining in the 90's. This " "pistol remains wildly popular among competition shooters." msgstr "" @@ -99430,10 +103409,10 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Walther CCP is a gas-delayed blowback semi-automatic pistol intended for" -" the concealed carry consumer market. Internally, it is nearly identical to " -"the cult classic H&K P7. Its fixed barrel design makes it potentially more " -"accurate than many other pistols, though this may difficult to realize with " -"its average trigger and short sight radius." +" the concealed carry consumer market. Internally, it is nearly identical to" +" the cult classic H&K P7. Its fixed barrel design makes it potentially more" +" accurate than many other pistols, though this may difficult to realize with" +" its average trigger and short sight radius." msgstr "" #: lang/json/gun_from_json.py @@ -101169,10 +105148,62 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"A bow made of multiple materials to maximize energy efficiency. There are " +"A bow made of multiple materials to maximize energy efficiency. There are " "two Druid runes embedded at the tips." msgstr "" +#: lang/json/gun_from_json.py +msgid "M47A1 Techno-Medusa" +msgid_plural "M47A1 Techno-Medusae" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A magically-enhanced update to the Phillips & Rodgers' M47 Medusa, a multi-" +"caliber revolver aimed at survivalists. While Technomancy improves the " +"reliability with smaller cartridges, it is not as accurate as dedicated " +"caliber revolvers due to freebore." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "gunblade" +msgid_plural "gunblades" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"Constructed similarly to a falcata, this forward-sloping blade has a short-" +"barrel pump shotgun attached to the blade's spine for finishing blows or a " +"first strike." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "shotcestus" +msgid_plural "shotcesti" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A sawn-off double-barrel shotgun mounted on a metal cestus. The lack of a " +"stock to absorb recoil means some strength is required to fire." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "Ichaival" +msgid_plural "Ichaivals" +msgstr[0] "Ichaival" +msgstr[1] "Ichaivals" + +#: lang/json/gun_from_json.py +msgid "" +"Ichaival, the bow of Odin. Rumored to fire 10 arrows with every pull of the" +" string. It has gold and silver ornaments on it, as well as an ornate " +"Raven." +msgstr "" + #: lang/json/gun_from_json.py msgid "Woodbow" msgid_plural "Woodbows" @@ -101298,12 +105329,6 @@ msgstr "" " como otros diseños de ballesta, pero es fácil de cargar. Los pernos " "disparados con esta arma tienen una gran probabilidad de no romperse." -#: lang/json/gun_from_json.py -msgid "Ichaival" -msgid_plural "Ichaivals" -msgstr[0] "Ichaival" -msgstr[1] "Ichaivals" - #: lang/json/gun_from_json.py msgid "" "This is a replica of the bow possessed by Odin, Ichaival, which is rumored " @@ -102541,7 +106566,7 @@ msgstr "" msgid "accessories" msgstr "accesorios" -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "bow" msgstr "arco" @@ -102676,7 +106701,7 @@ msgstr[1] "upstests" #: lang/json/gunmod_from_json.py msgid "" "Testmod for UPS drain on mods, this should never spawn, if you see this, " -"it's a bug. 50x more UPS drain." +"it's a bug. 50x more UPS drain." msgstr "" #: lang/json/gunmod_from_json.py @@ -102848,8 +106873,8 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" -"A set of optics to concentrate the laser beam on a smaller focus point. This" -" increases range and damage output, but complicates targeting." +"A set of optics to concentrate the laser beam on a smaller focus point. " +"This increases range and damage output, but complicates targeting." msgstr "" #: lang/json/gunmod_from_json.py @@ -102877,7 +106902,7 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" "A set of electronics to optimize emitter workcycle and increase overall " -"energy efficiency. Decreases power consumption." +"energy efficiency. Decreases power consumption." msgstr "" #: lang/json/gunmod_from_json.py @@ -102892,11 +106917,9 @@ msgstr[1] "capacitores de alta densidad" #: lang/json/gunmod_from_json.py msgid "" -"A capacitor with a higher energy density increases range and damage; at the" -" cost of a markedly increased power consumption." +"A capacitor with a higher energy density increases range and damage; at the " +"cost of a markedly increased power consumption." msgstr "" -"Es un capacitor con energía de alta densidad que incrementa el alcance y el " -"daño, pero consume bastante más energía." #: lang/json/gunmod_from_json.py msgid "Leadworks magazine adapter" @@ -103126,6 +107149,20 @@ msgstr "" "compensar el levantamiento de la bocacha. Disminuye el retroceso pero " "aumenta el tamaño y el ruido, y reduce un poco la precisión." +#: lang/json/gunmod_from_json.py +msgid "modified muzzle brake" +msgid_plural "modified muzzle brakes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A muzzle brake redirects exhaust gases to compensate for muzzle climb, " +"improving recoil but increasing bulk, noise, and reducing accuracy slightly." +" This one was modified and customized to mount on pretty much any firearm " +"other than launchers, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "homemade suppressor" msgid_plural "homemade suppressors" @@ -103272,6 +107309,20 @@ msgstr "" msgid "rail" msgstr "riel" +#: lang/json/gunmod_from_json.py +msgid "modified rail-mounted crossbow" +msgid_plural "modified rail-mounted crossbows" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A kit to attach a pair of crossbow arms and a firing rail to the barrel of a" +" long firearm. It allows crossbow bolts to be fired. This one was modified" +" and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "offset iron sights" msgid_plural "offset iron sights" @@ -103287,6 +107338,19 @@ msgstr "" "cuando una mira o alguna otra modificación impide el uso de las mirillas " "primarias." +#: lang/json/gunmod_from_json.py +msgid "modified offset iron sights" +msgid_plural "modified offset iron sights" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An alternative set of iron sights mounted at 45° for use when a scope or " +"other modification prevents use of the primary sights. This one was " +"modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "offset sight rail" msgid_plural "offset sight rails" @@ -103299,6 +107363,18 @@ msgstr "" "Es un conjunto de ranuras adicionales a 45º para poner una óptica " "secundaria." +#: lang/json/gunmod_from_json.py +msgid "modified offset sight rail" +msgid_plural "modified offset sight rails" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An additional rail set at 45° for attaching a secondary optic. This one was" +" modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "rail laser sight" msgid_plural "rail laser sights" @@ -103330,6 +107406,20 @@ msgstr "" "fuego y reduce la vibración, lo que reduce mucho el retroceso e incrementa " "levemente la precisión." +#: lang/json/gunmod_from_json.py +msgid "modified gyroscopic stabilizer" +msgid_plural "modified gyroscopic stabilizers" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An advanced unit that straps onto the side of your firearm and reduces " +"vibration, greatly reducing recoil and slightly increasing accuracy. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "LW gyroscopic stabilizer" msgid_plural "LW gyroscopic stabilizers" @@ -103454,6 +107544,20 @@ msgid "" " mrad increments and is remarkably small and light for its magnification." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified rifle scope" +msgid_plural "modified rifle scopes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 3-18x44 rifle scope. It is adjustable for windage and elevation in 1/10th" +" mrad increments and is remarkably small and light for its magnification. " +"This one was modified and customized to mount on pretty much any weapon " +"other than pistols and SMGs, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "ACOG scope" msgid_plural "ACOG scopes" @@ -103466,6 +107570,19 @@ msgid "" "crosshair." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified ACOG scope" +msgid_plural "modified ACOG scopes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 4x32 TA01 Advanced Combat Optical Gunsight with a tritium illuminated " +"crosshair. This one was modified and customized to mount on pretty much any" +" weapon other than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "RS1219 scope" msgid_plural "RS1219 scopes" @@ -103490,11 +107607,10 @@ msgstr[1] "miras telescópicas" #: lang/json/gunmod_from_json.py msgid "" -"A simple telescopic sight, essentially a small telescope with crosshairs. " -"Increases weight but improves accuracy." +"A simple hand-crafted telescopic sight, essentially a small telescope with " +"crosshairs. Not as good as the ones made before the cataclysm. Increases " +"weight but improves accuracy." msgstr "" -"Es una simple mira telescópica, es como un telescopio con punto de mira. " -"Incrementa el peso pero mejora la precisión." #: lang/json/gunmod_from_json.py msgid "telescopic pistol sight" @@ -103683,6 +107799,21 @@ msgstr "" "el manejo del retroceso, solo pueden usarse en ciertas superficies y son " "lentos para armar." +#: lang/json/gunmod_from_json.py +msgid "modified bipod" +msgid_plural "modified bipods" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Bipods are commonly used on rifles and machine guns to provide a forward " +"rest and reduce motion. Although they greatly improve handling of recoil " +"they are usable only on certain surfaces and are slow to equip. This one " +"was modified and customized to mount on pretty much any weapon, if you so " +"want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "combination gun shotgun" msgid_plural "combination gun shotguns" @@ -103726,6 +107857,19 @@ msgstr "" "control. No es tan efectivo como un bípode pero se puede usar bajo cualquier" " condición." +#: lang/json/gunmod_from_json.py +msgid "modified forward grip" +msgid_plural "modified forward grips" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A grip placed forward on the barrel allows for greater control. Not as " +"effective as a bipod but usable under all conditions. This one was modified" +" and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "integrated bayonet" msgid_plural "integrated bayonets" @@ -103798,6 +107942,20 @@ msgstr "" "M16, pero hoy en día puede ser adjuntado a cualquier rifle. Permite cargar y" " disparar una granada 40mm." +#: lang/json/gunmod_from_json.py +msgid "modified M203" +msgid_plural "modified M203s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M203 was originally designed for use with M16 variants but today can be " +"attached to almost any rifle. It allows a single 40mm grenade to be loaded " +"and fired. This one was modified and customized to mount on pretty much any" +" weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "M320 GLM" msgid_plural "M320 GLM" @@ -103815,6 +107973,21 @@ msgstr "" "grandes en un tamaño pequeño, a cambio de una menor precisión. Puede ser " "adjuntado a un rifle o combinado con una culata para ser usado solo." +#: lang/json/gunmod_from_json.py +msgid "modified M320 GLM" +msgid_plural "modified M320 GLMs" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M320 Grenade Launcher Module offers the functionality of larger " +"launchers in a very small package at the cost of decreased accuracy. It can" +" be either attached to a rifle or combined with a buttstock for stand alone " +"use. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "masterkey shotgun" msgid_plural "masterkey shotguns" @@ -103831,6 +108004,20 @@ msgstr "" "del cañón de varios rifles. Permite cargar y disparar un total de cuatro " "cartuchos de escopeta." +#: lang/json/gunmod_from_json.py +msgid "modified masterkey shotgun" +msgid_plural "modified masterkey shotguns" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A minimalist pump action shotgun, which can be mounted under the barrel of " +"many rifles. It allows a total of four shotgun shells to be loaded and " +"fired. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "40mm pipe launcher" msgid_plural "40mm pipe launchers" @@ -103839,11 +108026,9 @@ msgstr[1] "caños lanzadores 40mm" #: lang/json/gunmod_from_json.py msgid "" -"This is a home built launcher tube that can be attached to almost any rifle." -" It allows a single 40mm grenade to be loaded and fired." +"This is a home built launcher tube that can be attached to almost any weapon" +" except handguns. It allows a single 40mm grenade to be loaded and fired." msgstr "" -"Es un tubo lanzador casero que puede ser adjuntado a casi cualquier rifle. " -"Permite cargar y disparar una granada 40mm." #: lang/json/gunmod_from_json.py msgid "pistol bayonet" @@ -103876,6 +108061,20 @@ msgstr "" "que puede ser montada debajo del cañón de varios rifles. Acepta los " "cargadores de caja RMSA10." +#: lang/json/gunmod_from_json.py +msgid "modified RM121 aux shotgun" +msgid_plural "modified RM121 aux shotguns" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The Rivtech RM121 auxiliary weapon system is a magazine-fed semi-automatic " +"caseless shotgun, which can be mounted under the barrel of many rifles. " +"Accepts RMSA10 box magazines. This one was modified and customized to mount" +" on pretty much any weapon other than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "underslung shotgun" msgid_plural "underslung shotguns" @@ -103890,6 +108089,20 @@ msgstr "" "Es una escopeta corta con 2 cañones, que puede ser montada debajo del cañón " "de varios rifles. Permite cargar y disparar dos cartuchos de escopeta." +#: lang/json/gunmod_from_json.py +msgid "modified underslung shotgun" +msgid_plural "modified underslung shotguns" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A short shotgun with 2 barrels, which can be mounted under the barrel of " +"many rifles. It allows two shotgun shells to be loaded and fired. This one" +" was modified and customized to mount on pretty much any weapon other than " +"pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "LW underbarrel laser sight" msgid_plural "LW underbarrel laser sights" @@ -104195,6 +108408,58 @@ msgstr "" "dispara y debido a las modificaciones extensivas, el arma ya no puede usarse" " sin un UPS." +#: lang/json/gunmod_from_json.py +msgid "'Silent Winds' suppressor" +msgid_plural "'Silent Winds' suppressors" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Rather than using purely wipe media, an additional localized silence spell " +"in this tube quiets gunshots going through to hearing-safe levels." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (rail)" +msgid_plural "mana laser sights (rail)" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit under the barrel." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (underbarrel)" +msgid_plural "mana laser sights (underbarrel)" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit on the rail." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana dot sight" +msgid_plural "mana dot sights" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Adds a blue dot optic made from crystallized mana to the top of your gun, " +"replacing the iron sights. Increases accuracy and weight." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "makeshift pistol bayonet" msgid_plural "makeshift pistol bayonets" @@ -106186,8 +110451,8 @@ msgstr "Medir radiación" #: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/game_inventory.cpp src/teleport.cpp -msgid "..." -msgstr "..." +msgid "…" +msgstr "" #: lang/json/item_action_from_json.py msgid "Control an RC car" @@ -106353,16 +110618,12 @@ msgstr "" "Este objeto puede ser activado o recargado desde un espacio adyacente sin " "tener que levantarlo." -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the outer aura layer, intended for metaphysical effects." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your outer aura." msgstr "" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate barometer (which is used to measure " @@ -106371,6 +110632,7 @@ msgstr "" "Este equipo viene con un barómetro preciso (que sirve para medir la presión " "atmosférica)." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item can be clipped on to a belt loop of the appropriate " @@ -106379,12 +110641,6 @@ msgstr "" "Este objeto puede ser enganchado a una presilla del tamaño " "adecuado." -#: lang/json/json_flag_from_json.py -msgid "Layer for backpacks and things worn over outerwear." -msgstr "" -"Es la capa donde van las mochilas y las cosas puestas puestas sobre la ropa " -"interior." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is strapped onto you." @@ -106399,14 +110655,6 @@ msgstr "" "Un compañero puede usar este MCB si se lo instala " "correctamente." -#: lang/json/json_flag_from_json.py -msgid "" -"Blinds the wearer while worn, and provides nominal protection vs flashbang " -"flashes." -msgstr "" -"Impide ver a quien lo llevo puesto, y provee protección contra los " -"destellos." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear prevents you from seeing anything." @@ -106513,14 +110761,6 @@ msgstr "" msgid "You can wear only one." msgstr "Podés ponerte solamente uno/a." -#: lang/json/json_flag_from_json.py -msgid "" -"Wearing this clothing gives a morale bonus if the player has the Stylish " -"trait." -msgstr "" -"Ponerte esta ropa te da un bonus a la moral si el personaje posee la " -"peculiaridad Elegante." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This piece of clothing is fancy." @@ -106551,21 +110791,11 @@ msgstr "Este equipo corrige la hipermetropía." msgid "This gear corrects nearsightedness." msgstr "Este equipo corrige la miopía." -#: lang/json/json_flag_from_json.py -msgid "" -"Zombie-dropped clothing giving various penalties if Filthy mod is active. " -"Also CBMs harvested from zombies." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This item is filthy." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "Used for eyes protection from flashbang." -msgstr "Se usa para proteger a los ojos de los destellos." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -106609,6 +110839,7 @@ msgstr "" "Esta ropa tiene una capucha para abrigarte la cabeza, si no " "tenés otra cosa puesta." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate hygrometer (which is used to measure " @@ -106617,6 +110848,7 @@ msgstr "" "Este equipo viene con un higrómetro preciso (que sirve para medir la " "humedad)." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item is a component of the gun it is attached to. It can't be removed " @@ -106625,33 +110857,6 @@ msgstr "" "Este objeto es un componente del arma al que está agregado. No puede ser " "quitado sin romperlo." -#: lang/json/json_flag_from_json.py -msgid "Item can never be used with a CVD machine." -msgstr "Este objeto no puede usarse nunca con una máquina CVD." - -#: lang/json/json_flag_from_json.py -msgid "" -"Don't offer to draw items from this holster when the fire key is pressed " -"whilst the player's hands are empty." -msgstr "" -"No intenta sacar objetos de las fundas cuando la tecla de disparo se " -"presiona si las manos del jugador están vacías." - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents repairing of this item even if otherwise suitable tools exist." -msgstr "" -"Previene reparar este objeto incluso si estuvieran las herramientas " -"adecuadas para hacerlo." - -#: lang/json/json_flag_from_json.py -msgid "" -"forces calories and vitamins to be the ones defined in the json, instead of " -"inheriting from ingredients" -msgstr "" -"fuerza las calorías y vitaminas para que sean las definidas en el json, en " -"lugar de las heredadas de los ingredientes" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "You could probably plant these." @@ -106667,24 +110872,11 @@ msgstr "" "y tiene mucho mejor gusto cuando está " "congelado." -#: lang/json/json_flag_from_json.py -msgid "Outer garment layer." -msgstr "Capa de ropa exterior." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is generally worn over clothing." msgstr "Este equipo se pone generalmente sobre la ropa." -#: lang/json/json_flag_from_json.py -msgid "" -"Can always be worn no matter encumbrance/mutations/bionics/etc., but " -"prevents any other clothing being worn over this." -msgstr "" -"Siempre puede ser puesto sin importar la " -"incomodidad/mutaciones/biónicos/etc., pero no te deja poner otra ropa sobre " -"esto." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -106694,14 +110886,6 @@ msgstr "" "Esta ropa es lo suficientemente grande como para acomodar tu anatomía " "mutada anormalmente grande ." -#: lang/json/json_flag_from_json.py -msgid "" -"Can be worn comfortably by mutants with Tiny or Unassuming. Too small for " -"anyone else." -msgstr "" -"Puede ser utilizado cómodamente por mutantes Pequeños o Insignificantes. " -"Pero es demasiado chico para cualquier otro tipo de cuerpo." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -106711,24 +110895,11 @@ msgstr "" "Este equipo reduce el volumen de los sonidos a un" " nivel seguro." -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the personal aura layer, intended for metaphysical " -"effects." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your personal aura." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "" -"Increases warmth for hands if the player's hands are cold and the player is " -"wielding nothing." -msgstr "" -"Incrementa el abrigo en las manos si el jugador las tiene frías y vacías." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -106738,19 +110909,6 @@ msgstr "" "Esta ropa tiene bolsillos donde podés abrigar tus manos si no " "estás empuñando o llevando algo." -#: lang/json/json_flag_from_json.py -msgid "" -"If turned ON, it uses its own source of power, instead of relying on power " -"of the user." -msgstr "" -"Si está ENCENDIDO, utiliza su propia fuente de energía en lugar de gastar la" -" energía del usuario." - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "25% chance to protect against fear_paralyze monster attack." -msgstr "25% de probabilidad de proteger contra un ataque de fear_paralyze" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear keeps out the mind control rays." @@ -106786,10 +110944,6 @@ msgstr "" msgid "This item can be used to communicate with radio waves." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "Prevents the covered body-part(s) from getting wet in the rain." -msgstr "Previene que se mojen con la lluvia las partes del cuerpo que cubre." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -106797,19 +110951,6 @@ msgid "" msgstr "" "Esta ropa está diseñada para mantenerte seco bajo la lluvia." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the player from wielding a weapon two-handed, forcing one-handed " -"use if the weapon permits it." -msgstr "" -"Evita que el jugador empuñe un arma de dos manos, forzándo al uso con una " -"mano si el arma lo permite." - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from participating in the encumbrance system when worn." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -106817,26 +110958,6 @@ msgid "" " other things when worn." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sheath of the appropriate size." -msgstr "Este objeto puede ser guardado en una funda del tamaño apropiado." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a scabbard of the appropriate size." -msgstr "Este objeto puede ser guardado en una vaina del tamaño apropiado." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sling of the appropriate size." -msgstr "Este objeto puede ser guardado en una honda del tamaño apropiado." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a bag of the appropriate size." -msgstr "Este objeto puede ser guardado en una bolsa del tamaño apropiado." - -#: lang/json/json_flag_from_json.py -msgid "Undergarment layer." -msgstr "Capa de ropa interior." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing lies close to the skin." @@ -106865,32 +110986,16 @@ msgstr "" "Esta ropa te protege del daño y soporta mucho uso y " "abuso." -#: lang/json/json_flag_from_json.py -msgid "Prevents glaring when in sunlight." -msgstr "Evita el resplandor de la luz del sol." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing keeps the glare out of your eyes." msgstr "Esta ropa protege tus ojos de las luces fuertes." -#: lang/json/json_flag_from_json.py -msgid "" -"Gives an additional moral bonus over FANCY if the player has the Stylish " -"trait." -msgstr "" -"Otorga un bonus adicional a la moral si el jugador tiene la peculiaridad " -"Elegante." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing is very fancy." msgstr "Esta ropa es muy elegante." -#: lang/json/json_flag_from_json.py -msgid "Allows you to see much further under water." -msgstr "Te permite ver mucho más lejos abajo del agua." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -106900,48 +111005,21 @@ msgstr "" "Esta ropa te permite ver mucho más lejos abajo del " "agua." -#: lang/json/json_flag_from_json.py -msgid "" -"This gear is equipped with an accurate thermometer (which is used to measure" -" temperature)." -msgstr "" -"Este equipo viene con un termómetro preciso (que sirve para medir la " -"temperatura)." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is equipped with an accurate thermometer." msgstr "Este equipo posee un termómetro muy preciso." -#: lang/json/json_flag_from_json.py -msgid "Can be made to fit via tailoring." -msgstr "Puede ser ajustado usando la habilidad sastrería." - -#: lang/json/json_flag_from_json.py -msgid "Layer for belts and other things worn on the waist." -msgstr "Es la capa para los cinturones y otras cosas que van en la cintura." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is worn on or around your waist." msgstr "Este equipo se pone en o alrededor de la cintura." -#: lang/json/json_flag_from_json.py -msgid "Acts as a watch and allows the player to see actual time." -msgstr "Funciona como un reloj y le permite al jugador ver la hora." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear allows to see actual time." msgstr "Este equipo te permite ver la hora." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the covered body-part(s) from getting wet in any circumstance." -msgstr "" -"Previene que se mojen las partes del cuerpo que cubre en cualquier " -"circunstancia." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -106951,14 +111029,6 @@ msgstr "" "Esta ropa es impermeable, salvo que te tires a un río o algo " "así." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from making the body part count as unfriendly to water and" -" thus causing negative morale from being wet." -msgstr "" -"Evita al objeto hacer que la parte del cuerpo sea hostil al agua, y por lo " -"tanto causa los efectos negativos a la moral por estar mojado." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -107005,13 +111075,6 @@ msgstr "" "Esta ropa tiene un forro de lana cosido para incrementar su " "capacidad de abrigo." -#: lang/json/json_flag_from_json.py -msgid "" -"Allows wielding with unarmed fighting styles and trains unarmed when used." -msgstr "" -"Permite empuñar con estilos de pelea desarmada y entrena la habilidad de " -"combate desarmado cuando se usa." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -107026,114 +111089,26 @@ msgstr "" msgid "This item contains a nanofabricator recipe." msgstr "Este objeto tiene una receta de nanofabricador." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "This bionic is a faulty bionic." -msgstr "Este biónico está defectuoso." - -#: lang/json/json_flag_from_json.py -msgid "This bionic is a power source bionic." -msgstr "Este biónico es una fuente de energía." - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic only has a function when activated, else it causes its effect " -"every turn." -msgstr "" -"Este biónico solo cumple una función cuando se lo activa, si no, actúa en " -"cada turno." - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a gun bionic and activating it will fire it. Prevents all " -"other activation effects." +msgid "This bionic is faulty." msgstr "" -"Este biónico es un arma biónica y al activarla se disparará. Evita cualquier" -" otro efecto de activación." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a weapon bionic and activating it will create (or destroy) " -"bionic's fake_item in user's hands. Prevents all other activation effects." +msgid "This bionic provides power." msgstr "" -"Este biónico es un arma biónica y al activarla creará (o destruirá) el " -"fake_item del biónico en la mano del usuario. Evita cualquier otro efecto de" -" activación." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This bionic can provide power to powered armor." msgstr "Este biónico puede dar energía a una armadura de poder." -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's effects permanent." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's Area of Effect ignore walls." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "You can cast spells with this item in your hand." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This makes the spell's summoned monster always hostile. Note that the spell" -" needs to be a summon spell for this to do anything." -msgstr "" - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "" -"This makes the spell's summoned monster hostile 50% of the time. Note that " -"the spell needs to be a summon spell for this to do anything." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "The spell makes no sound at its point of impact." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This spell is much louder at its point of impact." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The caster must speak in order to cast the spell. More mouth encumbrannce " -"increases failure percent, and the caster speaks when casting." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell requires arm movement to cast. Arm encumbrance affects failure " -"percentage and casting time." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell does not require hands in order to cast it. Encumbrance penalties" -" on hands are nullified." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell does not require leg movement in order to be cast. All " -"encumbrance penalties for legs are nullified." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell requires focus to cast. The lower your focus, the higher failure" -" rate to cast." -msgstr "" - +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" -"Chooses a spell at random to cast from extra_effects. See MAGIC.md for " -"details" -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This mutation does not count toward thresholds at all." +"This food is unappetizing in a way that can't be covered up " +"by most cooking." msgstr "" #. ~ Please leave anything in unchanged. @@ -107582,6 +111557,10 @@ msgstr "Nivel siguiente" msgid "Previous level" msgstr "Nivel anterior" +#: lang/json/keybinding_from_json.py +msgid "Reset level" +msgstr "Resetear nivel" + #: lang/json/keybinding_from_json.py msgid "Undo move" msgstr "Deshacer movimiento" @@ -107598,10 +111577,6 @@ msgstr "Cambiar Marca" msgid "Toggle lights" msgstr "Luces" -#: lang/json/keybinding_from_json.py -msgid "Reset level" -msgstr "Resetear nivel" - #: lang/json/keybinding_from_json.py msgid "Confirm Choice" msgstr "Confirmar elección" @@ -108306,6 +112281,10 @@ msgstr "" msgid "View Visibility Map" msgstr "" +#: lang/json/keybinding_from_json.py +msgid "View Lighting Map" +msgstr "" + #: lang/json/keybinding_from_json.py msgid "View Radiation Map" msgstr "" @@ -108319,8 +112298,8 @@ msgid "Toggle Fullscreen mode" msgstr "Act./Desact. Pantalla completa" #: lang/json/keybinding_from_json.py -msgid "Toggle Pixel Minimap" -msgstr "Activar/Desactivar Minimapa" +msgid "Toggle Minimap" +msgstr "" #: lang/json/keybinding_from_json.py msgid "Toggle Panel Admin" @@ -108676,6 +112655,7 @@ msgstr "Quitar color usado" msgid "Load color template" msgstr "Cargar plantilla de color" +#. ~ translation should not exceed 3 console cells #: lang/json/keybinding_from_json.py lang/json/keybinding_from_json.py #: src/editmap.cpp src/editmap.cpp src/editmap.cpp src/veh_interact.cpp msgid "Yes" @@ -108735,6 +112715,10 @@ msgstr "Alarma" msgid "Toggle atomic lights" msgstr "Luces atómicas" +#: lang/json/keybinding_from_json.py +msgid "Control autopiot" +msgstr "" + #: lang/json/keybinding_from_json.py msgid "Toggle camera system" msgstr "Sistema de cámaras" @@ -111084,83 +115068,6 @@ msgid "" "Lasts 1 turn." msgstr "" -#: lang/json/martial_art_from_json.py -msgid "Tai Chi" -msgstr "Tai Chi" - -#. ~ Description for martial art 'Tai Chi' -#: lang/json/martial_art_from_json.py -msgid "" -"Though Tai Chi is often seen as a form of mental and physical exercise, it " -"is a legitimate martial art, focused on self-defense. Its ability to absorb" -" the force of an attack makes your Perception decrease damage further on a " -"block." -msgstr "" -"Aunque el Tai Chi es visto a menudo como un ejercicio físico y mental, es un" -" legítimo arte marcial focalizado en la defensa propia. Su capacidad de " -"absorber la fuerza de un ataque hace que tu Percepción disminuya el daño en " -"un bloqueo." - -#. ~ Description of buff for martial art 'Tai Chi' -#: lang/json/martial_art_from_json.py -msgid "+1 Block. Perception decreases damage when blocking." -msgstr "+1 Bloquear. La percepción disminuye el daño cuando bloqueás" - -#: lang/json/martial_art_from_json.py -msgid "Taekwondo" -msgstr "Taekwondo" - -#. ~ Description for martial art 'Taekwondo' -#: lang/json/martial_art_from_json.py -msgid "" -"Taekwondo is the national sport of Korea, and was used by the South Korean " -"army in the 20th century. Focused on kicks and so it does not benefit from " -"wielded weapons. It also includes strength training; your blocks absorb " -"extra damage the stronger you are." -msgstr "" -"El taekwondo es el deporte nacional de Corea, y fue utilizado por el " -"ejército coreano en el siglo XX. Se enfoca en usar patadas así que no se " -"beneficia por empuñar armas. También incluye entrenamiento de fuerza; tus " -"bloqueos absorben daño extra mientras más fuerte seas." - -#. ~ Description of buff for martial art 'Taekwondo' -#: lang/json/martial_art_from_json.py -msgid "Strength decreases damage when blocking." -msgstr "La fuerza disminuye el daño cuando bloqueás." - -#: lang/json/martial_art_from_json.py -msgid "Zui Quan" -msgstr "Zui Quan" - -#. ~ Description for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "" -"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" -" the enemy, giving you a passive dodge bonus based on your intelligence. " -"The turn after you attack, you may dodge any number of attacks with no " -"penalty, and successfully dodging an attack gives you bonus damage and to-" -"hit based on your intelligence." -msgstr "" -"También conocido como \"boxeo de borracho\", Zui Quan imita el movimiento de" -" un borracho para confundir al enemigo, otorgándote un bonus a esquivar " -"basado en tu inteligencia. El turno después de atacar, podés esquivar todos " -"los ataques sin penalidad, y si esquivás éxitosamente un ataque recibís un " -"bonus al daño y al acierto basado en tu inteligencia." - -#. ~ Description of buff for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "Intelligence increases dodging ability" -msgstr "La inteligencia aumenta la habilidad de esquivar" - -#: lang/json/martial_art_from_json.py -msgid "Counter Strike" -msgstr "Contra Golpe" - -#. ~ Description of buff 'Counter Strike' for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "Extra damage and to-hit after successful dodge" -msgstr "Bonus de acierto y de daño después de una evasión exitosa" - #: lang/json/martial_art_from_json.py msgid "Silat" msgstr "Silat" @@ -111182,17 +115089,183 @@ msgstr "Postura de Silat" #. ~ Description of buff 'Silat Stance' for martial art 'Silat' #: lang/json/martial_art_from_json.py -msgid "+1 dodge" -msgstr "+1 esquivar" +msgid "" +"You try to stay loose as possible when fighting to have more chances to dodge.\n" +"\n" +"+1 Dodge attempts." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Silat Counter" -msgstr "Contra de Silat" +msgid "Silat Evasion" +msgstr "" -#. ~ Description of buff 'Silat Counter' for martial art 'Silat' +#. ~ Description of buff 'Silat Evasion' for martial art 'Silat' #: lang/json/martial_art_from_json.py -msgid "Extra to-hit after successful dodge" -msgstr "Mayor bonus de acierto después de una evasión exitosa" +msgid "" +"You stay low as you move, making it harder for enemies to pin you down.\n" +"\n" +"+1 Dodge attempts.\n" +"Lasts 2 turn." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Silat Appraisal" +msgstr "" + +#. ~ Description of buff 'Silat Appraisal' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Each time you dodge an attack, you learn a bit more about your opponents' fighting style. This allows you to make more precise attacks against them.\n" +"\n" +"Accuracy increased by 15%% of Dexterirty.\n" +"Lasts 2 turns. Stacks 3 times." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Snake Kung Fu" +msgstr "Kung Fu de la Serpiente" + +#. ~ Description for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +msgid "" +"One of the five Shaolin animal styles. The Snake focuses on sinuous " +"movement and precision strikes. Perception determines your Accuracy, rather" +" than Dexterity. Standing still will increases your accuracy and damage of " +"your next attack." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Snake's Sight" +msgstr "" + +#. ~ Description of buff 'Snake's Sight' for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You are patient and know where to hit your opponent for the best results.\n" +"\n" +"Perception increases Accuracy instead of Dexterity. Accuracy increased by 25%% of Perception but decreased by 25%% of Dexterity." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "Sōjutsu" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat. Standing still gives you an extra block " +"attempt but moving will briefly increase your damage." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "Postura de Sōjutsu" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Your training grants better defense while using a polearm.\n" +"\n" +"+1 Block attempt." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Superior Positioning" +msgstr "" + +#. ~ Description of buff 'Superior Positioning' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You have given up your defenses for a moment to increase the damage of your attacks.\n" +"\n" +"+10%% damage, -1 Block attempts.\n" +"Lasts 1 turn." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Taekwondo" +msgstr "Taekwondo" + +#. ~ Description for martial art 'Taekwondo' +#: lang/json/martial_art_from_json.py +msgid "" +"Taekwondo is the national sport of Korea, and was used by the South Korean " +"army in the 20th century. Focused on kicks and so it does not benefit from " +"wielded weapons. It also includes strength training; your blocks absorb " +"extra damage and your attacks do more damage if you are not holding " +"anything." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Taekwondo Stance" +msgstr "" + +#. ~ Description of buff 'Taekwondo Stance' for martial art 'Taekwondo' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Using your legs to attack allows your hands to be free for better defense.\n" +"\n" +"Blocked damage decreased by 50%% of Strength." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Unhindered" +msgstr "" + +#. ~ Description of buff 'Unhindered' for martial art 'Taekwondo' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Your attacks are stronger if you are not holding anything in your hands.\n" +"\n" +"+33%% bash damage when not using a weapon." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Tai Chi" +msgstr "Tai Chi" + +#. ~ Description for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +msgid "" +"Though Tai Chi is often seen as a form of mental and physical exercise, it " +"is a legitimate martial art, focused on self-defense. Its ability to absorb" +" the force of an attack makes your Perception decrease damage further on a " +"block. Pausing for a moment enables powerful palm strike techniques." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Tai Chi Stance" +msgstr "" + +#. ~ Description of buff 'Tai Chi Stance' for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You are focused of defense and predicting your opponents attacks.\n" +"\n" +"+1 Block attempts, blocked damage reduced by 100%% Perception." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Repulse the Monkey" +msgstr "" + +#. ~ Description of buff 'Repulse the Monkey' for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"By perfectly positioning yourself and your opponent, you have become more accurate and can bypass your opponent's defenses.\n" +"\n" +"Accuracy increased by 20%% of Perception, gain bash Armor Pentration equal to 50%% of Perception.\n" +"Lasts 2 turns." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Tiger Kung Fu" @@ -111215,121 +115288,162 @@ msgstr "Furia del Tigre" #. ~ Description of buff 'Tiger Fury' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+3 Bash/atk" -msgstr "+3 Daño golpeante" +#, no-python-format +msgid "" +"You attack with an endless barrage of strikes. The more you hit, the stronger you become.\n" +"\n" +"+10%% damage.\n" +"Lasts 3 turns. Stacks 4 times." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Tiger Strength" -msgstr "Fuerza del Tigre" +msgid "Tiger's Strength" +msgstr "" -#. ~ Description of buff 'Tiger Strength' for martial art 'Tiger Kung Fu' +#. ~ Description of buff 'Tiger's Strength' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Strength provides additional damage bonus." -msgstr "La fuerza otorga un bonus adicional al daño que causás." +#, no-python-format +msgid "" +"You do not need defense. You do not need a plan. You need strength. Strength will break your opponents' defenses and overwhelm them completely.\n" +"\n" +"Strength increases Accuracy instead of Dexterity.\n" +"\n" +"Accuracy increased by 25%% of Strength but decreased by 25%% of Dexterity." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Snake Kung Fu" -msgstr "Kung Fu de la Serpiente" +msgid "Wing Chun" +msgstr "" -#. ~ Description for martial art 'Snake Kung Fu' +#. ~ Description for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py msgid "" -"One of the five Shaolin animal styles. The Snake focuses on sinuous " -"movement and precision strikes. Your Perception improves your damage." +"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" +"learn effective techniques from the various Shaolin animal forms. It has a " +"high stance, with weight entirely on the rear leg. Wing Chun focuses on " +"sensitivity to the opponent's direction of force, and flowing around it to " +"get back to hitting." msgstr "" -"Uno de los cinco estilos animales Shaolin. La Serpiente se focaliza en " -"movimientos sinuosos y golpes precisos. Tu percepción mejora tu daño." #: lang/json/martial_art_from_json.py -msgid "Snake Sight" -msgstr "Vista de Serpiente" +msgid "Chain Punch" +msgstr "" -#. ~ Description of buff 'Snake Sight' for martial art 'Snake Kung Fu' +#. ~ Description of buff 'Chain Punch' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "Perception provides a bonus to damage." -msgstr "La percepción otorga un bonus al daño." +#, no-python-format +msgid "" +"Your punches are properly timed to give your opponent no rest from your strikes.\n" +"\n" +"-10%% move cost.\n" +"Lasts 1 turn. Stacks 3 times." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Debug Mastery" -msgstr "Maestría Debug" +msgid "Chi-Sao Sensitivity" +msgstr "" -#. ~ Description for martial art 'Debug Mastery' +#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "A secret martial art used only by developers and cheaters." +#, no-python-format +msgid "" +"You have a greater understanding of balance and technique. This gives you a better chance to avoid your opponent's attacks.\n" +"\n" +" Dodging Skill increased by 15%% of Perception. Blocked damage reduced by 50%% of Perception." msgstr "" -"Es un arte marcial secreto solamente utilizado por los desarrolladores y los" -" tramposos." #: lang/json/martial_art_from_json.py -msgid "Elemental resistance" -msgstr "Resistencia elemental" +msgid "Zui Quan" +msgstr "Zui Quan" -#. ~ Description of buff 'Elemental resistance' for martial art 'Debug -#. Mastery' +#. ~ Description for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py msgid "" -"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " -"armor, +Perception fire armor." +"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" +" the enemy. You gain a passive dodge bonus and accuracy bonus based on your" +" intelligence. Moving gives you additional dodge attempts and each time you" +" dodge, you inflict more damage with your counterattack for until the end of" +" your next turn." msgstr "" -"+Fuerza armardura contra golpe, +Destreza armadura contra ácido, " -"+Inteligencia armadura contra electricidad, +Percepción armadura contra " -"fuego." #: lang/json/martial_art_from_json.py -msgid "Sōjutsu" -msgstr "Sōjutsu" +msgid "Zui Quan Stance" +msgstr "" -#. ~ Description for martial art 'Sōjutsu' +#. ~ Description of buff 'Zui Quan Stance' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " -"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " -"to maintain advantage in combat." +"Others might think you stumble about at random but you know better. Each movement is calculated to make evading harm easier.\n" +"\n" +"Dodging Skill increased by 15%% of Intelligence." msgstr "" -"Sōjutsu, \"El Camino de la Lanza\", es el arte marcial japonés de luchar con" -" una lanza. El Sōjutsu se enfoca en mantener a los oponentes a la distancia " -"necesaria para mantener la ventaja en el combate." #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Stance" -msgstr "Postura de Sōjutsu" +msgid "Advanced Zui Quan" +msgstr "" -#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#. ~ Description of buff 'Advanced Zui Quan' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Bonus block with reach weapons while standing still" -msgstr "Bloqueo adicional con armas de alcance mientras estás quieto" +#, no-python-format +msgid "" +"You have a greater understanding of Zui Quan. Your skills at dodging and landing attacks are much better as a result.\n" +"\n" +"+1 Dodge attempts, Accuracy increased by 15%% of Intelligence." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Rush" -msgstr "Ráfaga de Sōjutsu" +msgid "Drunken Stumble" +msgstr "" -#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#. ~ Description of buff 'Drunken Stumble' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Increased damage when moving but no bonus block" -msgstr "Incrementa el daño cuando en movimiento pero sin bonus en el bloqueo" +msgid "" +"With a few quick steps, you can completely change your orientation and dodge additional attacks.\n" +"\n" +"+2 Dodge attempts.\n" +"Lasts 3 turns." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Wing Chun" +msgid "Drunken Dodging" msgstr "" -#. ~ Description for martial art 'Wing Chun' +#. ~ Description of buff 'Drunken Dodging' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" -"learn effective techniques from the various Shaolin animal forms. It has a " -"high stance, with weight entirely on the rear leg. Wing Chun focuses on " -"sensitivity to the opponent's direction of force, and flowing around it to " -"get back to hitting." +"Each time you dodge, your positional advantage increases against your opponents. This makes your attacks hit harder with each successful dodge.\n" +"\n" +"Gain Armor Penetration equal to 25%% of Intelligence.\n" +"Lasts 1 turn. Stacks 4 times." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Chi-Sao Sensitivity" +msgid "Debug Mastery" +msgstr "Maestría Debug" + +#. ~ Description for martial art 'Debug Mastery' +#: lang/json/martial_art_from_json.py +msgid "A secret martial art used only by developers and cheaters." msgstr "" +"Es un arte marcial secreto solamente utilizado por los desarrolladores y los" +" tramposos." -#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "Perception increases dodging ability, +1 dodges per turn" +msgid "Elemental resistance" +msgstr "Resistencia elemental" + +#. ~ Description of buff 'Elemental resistance' for martial art 'Debug +#. Mastery' +#: lang/json/martial_art_from_json.py +msgid "" +"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " +"armor, +Perception fire armor." msgstr "" +"+Fuerza armardura contra golpe, +Destreza armadura contra ácido, " +"+Inteligencia armadura contra electricidad, +Percepción armadura contra " +"fuego." #: lang/json/martial_art_from_json.py msgid "Bionic Combatives" @@ -111484,13 +115598,11 @@ msgstr "Kung Fu del Sapo" #. ~ Description for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"One of the Five Deadly Venoms. Masters of Toad Style can focus themselves " -"against all attacks. You can meditate by pausing, giving you armor, though " -"you will lose focus when you move." +"One of the Five Deadly Venoms, used by Liang Shen. Masters of Toad Style " +"can focus themselves to protect against all attacks. You have powerful " +"armor against physical attacks, though you will lose focus when you move. " +"You can meditate by pausing, giving yourself more armor for a short time." msgstr "" -"Uno de los Cinco Venenos Mortales. Los maestros del estilo del Sapo pueden " -"enfocarse a sí mismos contra todos los ataques. Podés meditar deteniéndote, " -"otorgándote armadura, aunque vas a perder enfoque cuando te movés." #: lang/json/martial_art_from_json.py msgid "Toad's Iron Skin" @@ -111498,8 +115610,11 @@ msgstr "Piel de Hierro de Sapo" #. ~ Description of buff 'Toad's Iron Skin' for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Gain up to +6 armor while standing still" -msgstr "Recibís hasta un +6 de armadura cuando te mantenés quieto" +msgid "" +"Your body is as strong as iron but only if you don't move.\n" +"\n" +"+6 bash, cut, and stab armor." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Iron Skin Dissipation" @@ -111508,8 +115623,12 @@ msgstr "Disipación de Piel de Hierro" #. ~ Description of buff 'Iron Skin Dissipation' for martial art 'Toad Kung #. Fu' #: lang/json/martial_art_from_json.py -msgid "Iron Skin softens when you move!" -msgstr "¡La Piel de Hierro se suaviza mientras te movés!" +msgid "" +"Moving causes you to lose your iron skin.\n" +"\n" +"-1 bash, cut, and stab armor.\n" +"Lasts 6 turns. Stacks 6 times." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Viper Kung Fu" @@ -111518,40 +115637,49 @@ msgstr "Kung Fu de la Víbora" #. ~ Description for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"A legacy of the Five Deadly Venoms. Viper Style has a unique three-part " -"combo, which initiates on a dodge, then counters with a stunning chop and " -"the legendary Viper Strike." +"A legacy of the Five Deadly Venoms, use by Qi Dong. Viper Style (originally" +" called Snake Style) has a unique three-part combo, which initiates on a " +"dodge, then follows up with a stunning Viper Bite and then finishes with the" +" legendary Viper Strike." msgstr "" -"Un heredero de los Cinco Venenos Mortales. El estilo de la Víbora tiene un " -"combo único de tres partes, que comienza con esquivar un golpe, después " -"contraatacar con un manotazo aturdidor y el legendario Golpe de Víbora." #: lang/json/martial_art_from_json.py -msgid "Viper Lock" -msgstr "Traba de Víbora" +msgid "Viper's Patience" +msgstr "" -#. ~ Description of buff 'Viper Lock' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Patience' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You bit true! Your next attack will be the Viper Strike!" -msgstr "¡Mordiste! ¡Tu próximo ataque será el Golpe de Víbora!" +msgid "" +"Every snake waits for the perfect moment to strike. Turn your opponents' mistakes into your opportunity to strike!\n" +"\n" +"+1.0 Dodge skill." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Patience" -msgstr "Paciencia de Víbora" +msgid "Viper's Ambush" +msgstr "" -#. ~ Description of buff 'Viper Patience' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Ambush' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+2 Dodge. Dodging an attack initiates a combo." -msgstr "+2 Esquivar. Esquivar un ataque inicia un combo." +msgid "" +"Your evasiveness has left your opponent wide open to painful bite.\n" +"\n" +"Enables \"Viper Bite\" technique.\n" +"Lasts 1 turn." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Ambush" -msgstr "Emboscada de Víbora" +msgid "Viper's Venom" +msgstr "" -#. ~ Description of buff 'Viper Ambush' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Venom' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You've lured 'em in! Your next attack will be a Viper Bite." -msgstr "¡Lograste atraerlo! Tu próximo ataque será una Mordida de Víbora." +msgid "" +"Your venom is a harsh reminder to never tease a predator.\n" +"\n" +"+2 bash damage.\n" +"Lasts 3 turn." +msgstr "" #: lang/json/martial_art_from_json.py msgid "C.R.I.T Blade-work" @@ -111687,6 +115815,10 @@ msgid "" "Lasts 2 turns." msgstr "" +#: lang/json/martial_art_from_json.py +msgid "Sojutsu" +msgstr "" + #: lang/json/material_from_json.py src/bionics.cpp msgid "Alcohol" msgstr "Alcohol" @@ -111928,6 +116060,10 @@ msgstr "Plomo" msgid "Leather" msgstr "Cuero" +#: lang/json/material_from_json.py +msgid "Lycra" +msgstr "" + #: lang/json/material_from_json.py msgid "Dairy" msgstr "Leche" @@ -111988,6 +116124,14 @@ msgstr "Piedra" msgid "Superalloy" msgstr "Superaleación" +#: lang/json/material_from_json.py +msgid "layered carbide" +msgstr "" + +#: lang/json/material_from_json.py +msgid "Synthetic Fabric" +msgstr "" + #: lang/json/material_from_json.py msgid "Tin" msgstr "" @@ -112098,6 +116242,10 @@ msgstr "" msgid "Arcane Skin" msgstr "" +#: lang/json/material_from_json.py +msgid "Orichalcum" +msgstr "" + #: lang/json/material_from_json.py msgid "Demon Chitin" msgstr "" @@ -112107,7 +116255,7 @@ msgid "Sugar" msgstr "" #: lang/json/mission_def_from_json.py -msgid "Gather bones for the Brigitte. About 8 should do it." +msgid "Gather bones for the Brigitte. About 8 should do it." msgstr "" #: lang/json/mission_def_from_json.py @@ -112156,48 +116304,6 @@ msgstr "" msgid "Then you shall try again, until you hear." msgstr "" -#: lang/json/mission_def_from_json.py -msgid "Find a Book" -msgstr "Encontrar un Libro" - -#: lang/json/mission_def_from_json.py -msgid "Wanna help me out?" -msgstr "¿Me querés ayudar?" - -#: lang/json/mission_def_from_json.py -msgid "Get me a book." -msgstr "Conseguime un libro." - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: lang/json/talk_topic_from_json.py -msgid "Thanks." -msgstr "Gracias. " - -#: lang/json/mission_def_from_json.py -msgid "Well, I'll find someone else to do it for me." -msgstr "Bueno, voy a buscar a otro que lo quiera hacer." - -#: lang/json/mission_def_from_json.py -msgid "Try a library." -msgstr "Fijate en una biblioteca." - -#: lang/json/mission_def_from_json.py -msgid "Got that book for me?" -msgstr "¿Me conseguiste el libro?" - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: src/npctalk.cpp -msgid "Thanks!" -msgstr "¡Gracias!" - -#: lang/json/mission_def_from_json.py -msgid "OK, then hand it over." -msgstr "Listo, dámelo." - -#: lang/json/mission_def_from_json.py -msgid "Shit happens." -msgstr "Es lo que hay." - #: lang/json/mission_def_from_json.py msgid "Follow Sarcophagus Team" msgstr "Seguir Equipo de Sarcófago" @@ -113259,10 +117365,6 @@ msgstr "En serio... qué mal." msgid "Null mission" msgstr "Misión nula" -#: lang/json/mission_def_from_json.py -msgid "YOU SHOULDN'T BE SEEING THIS, THIS IS A BUG" -msgstr "NO DEBERÍAS PODER VER ESTO, ES UN BUG" - #: lang/json/mission_def_from_json.py msgid "Reach Farm House" msgstr "Llegar a Casa de Granja" @@ -113529,6 +117631,14 @@ msgstr "" msgid "Thanks! I'll be sure to put in a good word for you around town." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "OK, then hand it over." +msgstr "Listo, dámelo." + +#: lang/json/mission_def_from_json.py +msgid "Shit happens." +msgstr "Es lo que hay." + #: lang/json/mission_def_from_json.py msgid "Find Antibiotics Before You Die!" msgstr "" @@ -113952,7 +118062,7 @@ msgid "" msgstr "" #: lang/json/mission_def_from_json.py -msgid "I did't want to use chemicals on these rats." +msgid "I didn't want to use chemicals on these rats." msgstr "" #: lang/json/mission_def_from_json.py @@ -114255,6 +118365,10 @@ msgid "" "don't have any handy references." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "Fantastic, I'm not supposed to leave our land." +msgstr "" + #: lang/json/mission_def_from_json.py msgid "A library, bookstore should have one, schools are another good idea." msgstr "" @@ -115101,6 +119215,10 @@ msgstr "" msgid "Thanks, it's great to see someone willing to help a guy out." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "Well, I'll find someone else to do it for me." +msgstr "Bueno, voy a buscar a otro que lo quiera hacer." + #: lang/json/mission_def_from_json.py msgid "" "Plenty of smokers in towns. Gotta be some left over cigs in some of them " @@ -115862,8 +119980,8 @@ msgstr "" #: lang/json/mission_def_from_json.py msgid "" "Reach the collapsed tower basement, and search the ruins for a photonic " -"circuitry template. The intercom warned you about heavy enemy prescence, and" -" of the existence of a hazardous enviroment." +"circuitry template. The intercom warned you about heavy enemy presence, and" +" of the existence of a hazardous environment." msgstr "" #: lang/json/mission_def_from_json.py @@ -117566,7 +121684,7 @@ msgid "yourself scream in agony!" msgstr "a vos mismo gritando agónicamente!" #. ~ Mutation class: Any junkie_message -#: lang/json/mutation_category_from_json.py src/iuse_actor.cpp +#: lang/json/mutation_category_from_json.py msgid "You quiver with anticipation..." msgstr "Temblás de ansiedad..." @@ -118261,19 +122379,19 @@ msgstr "" #. ~ Mutation class: Sugar Kin iv_message #: lang/json/mutation_category_from_json.py -msgid "You inject some more fizz into your sirup." +msgid "You inject some more fizz into your syrup." msgstr "" #. ~ Mutation class: Sugar Kin Male memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_male" -msgid "Cristalized." +msgid "Crystalized." msgstr "" #. ~ Mutation class: Sugar Kin Female memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_female" -msgid "Cristalized." +msgid "Crystalized." msgstr "" #: lang/json/mutation_from_json.py @@ -118762,8 +122880,8 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "You have a moustache and a beard starting with a strip going down from the " -"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus " -"the name." +"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus" +" the name." msgstr "" #: lang/json/mutation_from_json.py @@ -118773,7 +122891,7 @@ msgstr "" #. ~ Description for Facial hair: short boxed beard #: lang/json/mutation_from_json.py msgid "" -"You have a moustache and a short beard with trimmed sides. Thin patches " +"You have a moustache and a short beard with trimmed sides. Thin patches " "connect them both, forming a 'box' around the lips, thus the name." msgstr "" @@ -118896,7 +123014,7 @@ msgstr "" #. ~ Description for Facial hair: neckbeard #: lang/json/mutation_from_json.py msgid "" -"You have a beard formed from hair grown on neck below the chin line. No " +"You have a beard formed from hair grown on neck below the chin line. No " "moustache included." msgstr "" @@ -118999,6 +123117,27 @@ msgstr "" "Podés moverte más rápido que la mayoría. Tenés un 15% de bonus sobre la " "velocidad normal a pie." +#: lang/json/mutation_from_json.py +msgid "Weak Photophore" +msgstr "" + +#. ~ Description for Weak Photophore +#: lang/json/mutation_from_json.py +msgid "" +"A photophore has grown from your head, you can make it glow soflty. This " +"will make you very visible in the dark, ideal to attract a partner during " +"mating season." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Photophore" +msgstr "" + +#. ~ Description for Photophore +#: lang/json/mutation_from_json.py +msgid "Your can make your photophore glow brightly." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Good Hearing" msgstr "Buen Oído" @@ -119545,13 +123684,10 @@ msgstr "Psicosis con Estimulantes" #. ~ Description for Stimulant Psychosis #: lang/json/mutation_from_json.py msgid "" -"You have a unique history with stimulants (like coffee or amphetamines). You" -" can tolerate a lot more of them without overdosing, but if you indulge too " -"much, you start seeing things..." +"You have a unique history with stimulants (like coffee or amphetamines). " +"You can tolerate a lot more of them without overdosing, but if you indulge " +"too much, you start seeing things…" msgstr "" -"Tenés una historia única con los estimulantes (como el café o las " -"anfetaminas). Tolerás mucho más sin llegar a la sobredosis, pero si te " -"entregás demasiado, empezás a ver cosas..." #. ~ Description for Stylish #: lang/json/mutation_from_json.py @@ -119704,8 +123840,20 @@ msgstr "Armas Cuerpo a cuerpo" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-" -"Ryu, Pentjak Silat, or Sōjutsu." +"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-Ryu," +" Pentjak Silat, or Sōjutsu." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Competitive Fencer" +msgstr "" + +#. ~ Description for Competitive Fencer +#: lang/json/mutation_from_json.py +msgid "" +"You were an avid fencer, starting with foil and moving onto saber, then " +"épée. You competed nationally and dabbled with some of the historical " +"fencing weapons afforded by HEMA's popularity." msgstr "" #: lang/json/mutation_from_json.py @@ -120548,11 +124696,9 @@ msgstr "Ojos de Fey" #. ~ Description for Fey Eyes #: lang/json/mutation_from_json.py msgid "" -"Your eyes have turned...green. It's tough to tell the exact shade as it " -"seems to shift. The effect is ...pleasant." +"Your eyes have turned… green. It's tough to tell the exact shade as it " +"seems to shift. The effect is… pleasant." msgstr "" -"Tus ojos se han vuelto... verdes. Es difícil decir exactamente de qué matiz " -"son porque parecen cambiar. El efecto es... placentero." #: lang/json/mutation_from_json.py msgid "Fey Vision" @@ -121466,10 +125612,8 @@ msgstr "Cargador/a de Marloss" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss berry, you can't get its scent out of your " -"nose, and you have a strong desire to try some seeds and...sap?" +"nose, and you have a strong desire to try some seeds and… sap?" msgstr "" -"Desde que comiste esas bayas Marloss, no te podés sacar su olor de la nariz," -" y tenés como un fuerte deseo de probar semillas y... ¿savia?" #: lang/json/mutation_from_json.py msgid "Marloss Vessel" @@ -121479,10 +125623,8 @@ msgstr "Recipiente de Marloss" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss seed, you can't get its taste off of your " -"tongue, and you have a strong desire to try some berries and...sap?" +"tongue, and you have a strong desire to try some berries and… sap?" msgstr "" -"Desde que comiste esas semillas de Marloss, no te podés sacar su gusto de la" -" lengua, y tenés como un fuerte deseo de probar unas bayas y... ¿savia?" #: lang/json/mutation_from_json.py msgid "Marloss Vector" @@ -121948,12 +126090,9 @@ msgstr "Dientes de Sable" #: lang/json/mutation_from_json.py msgid "" "Your fangs have grown extremely large and incredibly sharp. They make it " -"impossible to wear mouthgear and difficult to eat... but leave nasty wounds" -" when you bite." +"impossible to wear mouthgear and difficult to eat… but leave nasty wounds " +"when you bite." msgstr "" -"Tus colmillos han crecido extremadamente grandes e increíblemente afilados. " -"Te va a ser imposible usar equipo que cubre tu boca, y te resultará díficil " -"comer... pero dejás unas horribles heridas cuando mordés." #: lang/json/mutation_from_json.py #, no-python-format @@ -123375,11 +127514,9 @@ msgstr "Hocico" #. ~ Description for Snout #: lang/json/mutation_from_json.py msgid "" -"Your face and jaw have begun...changing. Masks and such fit OK, but you're " +"Your face and jaw have begun… changing. Masks and such fit OK, but you're " "noticeably mutated." msgstr "" -"Tu cara y mandíbula han empezado a... cambiar. Las máscaras te quedan bien, " -"pero se te nota la mutación." #: lang/json/mutation_from_json.py msgid "Bovine Snout" @@ -124247,15 +128384,12 @@ msgstr "Ectotérmico/a" #. ~ Description for Ectothermic #: lang/json/mutation_from_json.py +#, no-python-format msgid "" -"Your body has become permanently cold-blooded. Your speed lowers--or raises" -"--for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to " -"eat half as much as an average human." +"Your body has become permanently cold-blooded. Your speed lowers or raises " +"1% for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to" +" eat half as much as an average human." msgstr "" -"Ahora tu cuerpo se ha vuelto permanentemente de sangre fría. Tu velocidad " -"disminuye o aumenta por cada 1.1 C (2 F) grados por debajo o por encima de " -"18.3 C (65 F). Solo necesitás comer la mitad de lo que come un humano " -"promedio." #: lang/json/mutation_from_json.py msgid "Growling Voice" @@ -124599,10 +128733,8 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "It would be good to be a Queen, having workers constantly servicing your " -"every need...but how would you keep them in line?" +"every need… but how would you keep them in line?" msgstr "" -"Estaría bueno ser Reina, tener a los obreros constantemente a tu servicio..." -" pero ¿cómo hacés para mantenerlos controlados?" #. ~ Description for Plant #: lang/json/mutation_from_json.py @@ -124620,11 +128752,9 @@ msgstr "Acuoso" #. ~ Description for Aqueous #: lang/json/mutation_from_json.py msgid "" -"What was that old advertisement, 'paint the planet'? That might be a good " -"long-term goal, but for now..." +"What was that old advertisement, 'paint the planet'? That might be a good " +"long-term goal, but for now…" msgstr "" -"¿Cómo era esa publicidad vieja, 'pintar el planeta'? Eso puede ser un buen " -"objetivo a largo plazo, pero por ahora..." #: lang/json/mutation_from_json.py msgid "Subterranean" @@ -125397,6 +129527,17 @@ msgid "" "Keep. Moving." msgstr "" +#: lang/json/mutation_from_json.py +msgid "Wayfarer" +msgstr "" + +#. ~ Description for Wayfarer +#: lang/json/mutation_from_json.py +msgid "" +"Whether from personal choice or childhood trauma, travelling with vehicles " +"is off-limits to you, even if your life depended on it." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Survivor Story" msgstr "Historia de Superviviente" @@ -126411,8 +130552,8 @@ msgid "Scientist" msgstr "Científico" #: lang/json/npc_class_from_json.py -msgid "I'm looking for clues concerning these monsters' origins..." -msgstr "Estoy buscando pistas acerca del origen de estos monstruos..." +msgid "I'm looking for clues concerning these monsters' origins…" +msgstr "" #: lang/json/npc_class_from_json.py msgid "Bounty Hunter" @@ -126475,7 +130616,7 @@ msgid "Real Person" msgstr "" #: lang/json/npc_class_from_json.py -msgid "I'm just wandering, like a totally real and normal NP... Person!" +msgid "I'm just wandering, like a totally real and normal NP… Person!" msgstr "" #: lang/json/npc_class_from_json.py @@ -126491,7 +130632,7 @@ msgid "Foodperson" msgstr "" #: lang/json/npc_class_from_json.py -msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" +msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" msgstr "" #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py @@ -126499,7 +130640,7 @@ msgid "Cyborg" msgstr "" #: lang/json/npc_class_from_json.py -msgid "Zzzzzt... I...I'm a Cy...BEEEEEP...borg." +msgid "Zzzzzt… I… I'm a Cy… BEEEEEP… borg." msgstr "" #: lang/json/npc_class_from_json.py @@ -126639,6 +130780,18 @@ msgstr "" msgid "I'm the owner of a trade caravan." msgstr "" +#: lang/json/npc_class_from_json.py +msgid "Operator" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "Mage Test" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "I'm a wandering debug tester for the arcane arts." +msgstr "" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -128211,10 +132364,22 @@ msgstr "local de música" msgid "music store roof" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore parking lot" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "megastore" msgstr "supermercado" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore, second floor" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "megastore roof" +msgstr "techo de supermercado" + #: lang/json/overmap_terrain_from_json.py msgid "hotel parking" msgstr "estacionamiento del hotel" @@ -128567,7 +132732,7 @@ msgstr "planeamiento para granja" msgid "garage survey" msgstr "planeamiento para garage" -#: lang/json/overmap_terrain_from_json.py +#: lang/json/overmap_terrain_from_json.py lang/json/recipe_from_json.py msgid "kitchen survey" msgstr "planeamiento para cocina" @@ -128588,7 +132753,7 @@ msgid "spiked trench" msgstr "trinchera con púas" #: lang/json/overmap_terrain_from_json.py -msgid "store survey" +msgid "fabrication workshop survey" msgstr "" #: lang/json/overmap_terrain_from_json.py @@ -128603,6 +132768,18 @@ msgstr "herrería" msgid "livestock survey" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "store house survey" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "saltworks survey" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "canteen survey" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "crater" msgstr "cráter" @@ -129284,6 +133461,10 @@ msgstr "campo de tiro" msgid "shooting range roof" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "miniature railway" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "golf course" msgstr "cancha de golf" @@ -129974,6 +134155,10 @@ msgstr "" msgid "mechanics garage" msgstr "taller mecánico" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore entrance" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "sewage treatment" msgstr "tratamiento de aguas cloacales" @@ -130018,10 +134203,6 @@ msgstr "cabaña en ruinas - plaza" msgid "desert" msgstr "" -#: lang/json/overmap_terrain_from_json.py -msgid "megastore roof" -msgstr "techo de supermercado" - #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Vagabond" @@ -134960,6 +139141,36 @@ msgid "" "on. This displeases you." msgstr "" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Competetive Fencer" +msgstr "" + +#. ~ Profession (male Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Competetive Fencer" +msgstr "" + +#. ~ Profession (female Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Career Politician" @@ -135988,6 +140199,248 @@ msgid "" "flesh that is now your own, bare your fangs and fight until the next dawn." msgstr "" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Rifleman" +msgstr "" + +#. ~ Profession (male Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Rifleman" +msgstr "" + +#. ~ Profession (female Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Marksman" +msgstr "" + +#. ~ Profession (male Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Marksman" +msgstr "" + +#. ~ Profession (female Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Automatic Rifleman" +msgstr "" + +#. ~ Profession (male Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "S stands for suppressing fire!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Automatic Rifleman" +msgstr "" + +#. ~ Profession (female Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "S stands for suppressing fire!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Grenadier" +msgstr "" + +#. ~ Profession (male Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "There's no kill like overkill." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Grenadier" +msgstr "" + +#. ~ Profession (female Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "There's no kill like overkill." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Breacher" +msgstr "" + +#. ~ Profession (male Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Breacher" +msgstr "" + +#. ~ Profession (female Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Recon" +msgstr "" + +#. ~ Profession (male Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "The only easy day was yesterday." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Recon" +msgstr "" + +#. ~ Profession (female Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "The only easy day was yesterday." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Sniper" +msgstr "" + +#. ~ Profession (male Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Sniper" +msgstr "" + +#. ~ Profession (female Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Hacker" +msgstr "" + +#. ~ Profession (male Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Hacker" +msgstr "" + +#. ~ Profession (female Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Undercover" +msgstr "" + +#. ~ Profession (male Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Undercover" +msgstr "" + +#. ~ Profession (female Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator CBRN" +msgstr "" + +#. ~ Profession (male Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator CBRN" +msgstr "" + +#. ~ Profession (female Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Rookie" @@ -137840,16 +142293,6 @@ msgstr "" msgid "BUILDING" msgstr "EDIFICIO" -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "BASES" -msgstr "BASES" - -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "EXPANSIONS" -msgstr "EXPANSIONES" - #. ~ Crafting recipes category name #: lang/json/recipe_category_from_json.py msgid "ENCHANTED" @@ -138799,7 +143242,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"We should build a well, put it near that winch. This will make our future " +"We should build a well, put it near that winch. This will make our future " "here more secure." msgstr "" @@ -138856,7 +143299,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" "Now that we have some cover, we should set up a brazier for cooking, and " -"grab a pot. Let's put it in that dining area." +"grab a pot. Let's put it in that dining area." msgstr "" #: lang/json/recipe_from_json.py @@ -139570,6 +144013,360 @@ msgstr "" msgid "Blacksmithy drop hammer" msgstr "" +#: lang/json/recipe_from_json.py +msgid "Survey land for a kitchen and dining area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 fireplaces for cooking and " +"grab a pot." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 2 fireplaces" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 stoves for cooking and grab a" +" pot." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 2 wood stoves" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "We should build a well. This will make cooking more convenient." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build some counters and shelves." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build kitchen counters" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 3 smoking racks and a charcoal kiln" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets furnish the pantry and build 2 root cellars." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make some furniture for the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the dining room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build some planters to the north for a chef's garden." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build some planters" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen log walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the log wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen log walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the log wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this log wall smoking area covered to protect the workers from the " +"weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a log wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a log wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a log wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west log wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W log wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east log wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E log wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the log wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the log wall dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen metal walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the metal wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen metal walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the metal wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this metal wall smoking area covered to protect the workers from " +"the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a metal wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west metal wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W metal wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east metal wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E metal wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the metal wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the metal wall dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen rock walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen rock walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the rock wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this rock wall smoking area covered to protect the workers from the" +" weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a rock wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west rock wall of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W rock wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east rock wall of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E rock wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the rock dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wattle and daub walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the wattle and daub central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wattle and daub walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the wattle and daub central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wattle and daub smoking area covered to protect the workers " +"from the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wattle and daub wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wattle and daub wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wattle and daub wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wattle and daub dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the wattle and daub dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wood panel walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the wood panel central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wood panel walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the wood panel central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wood panel smoking area covered to protect the workers from " +"the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wood panel pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wood panel wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wood wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wood panel wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wood wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wood panel dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the dining hall" +msgstr "" + #: lang/json/recipe_from_json.py msgid "Survey land for a livestock area." msgstr "" @@ -139738,6 +144535,424 @@ msgid "" " a roof on the southwest side of the livestock field." msgstr "" +#: lang/json/recipe_from_json.py +msgid "Survey land for a saltworks area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Saltworks survey" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could uprade the workspace in the brewery to add a still, wood stove and " +"work table." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery still" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "We could use fill out the space with extra kegs and storage racks." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery kegs" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a log building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE log wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a log shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE log wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a log " +"brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW log wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a metal shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE metal wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a metal shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE metal wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a metal" +" wall brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW metal wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a stone building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE stone wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a stone wall " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE stone wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a stone" +" brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW stone wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in an adobe hut." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wattle and daub saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build an adobe shack" +" with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wattle and daub storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build an " +"wattle and daub brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wattle and daub brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a wooden shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wood panel saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a wood panel " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wood panel storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a " +"wooden brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wood panel brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a fireplace for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a brazier for cooking and grab a pot. Let's set up near the" +" working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a wood stove for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a well, put it near the terminal. This will make our future" +" here more secure." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the E bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the W bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make a dining area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make a living room area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the living room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build some pantry storage." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build some wooden racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build a work bench." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a work bench" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's set up a radio tower to improve our recruitment efforts." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will start in the " +"southeast corner." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the same wall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the other wall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW wood panel bedroom walls" +msgstr "" + #: lang/json/recipe_from_json.py msgid "" "We could use a large log central storage building. Begin by building the " @@ -140074,7 +145289,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northwest." +"Some benches around the outside would be nice. Build some to the northwest." msgstr "" #: lang/json/recipe_from_json.py @@ -140083,7 +145298,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northeast." +"Some benches around the outside would be nice. Build some to the northeast." msgstr "" #: lang/json/recipe_from_json.py @@ -140092,7 +145307,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southeast." +"Some benches around the outside would be nice. Build some to the southeast." msgstr "" #: lang/json/recipe_from_json.py @@ -140101,7 +145316,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southwest." +"Some benches around the outside would be nice. Build some to the southwest." msgstr "" #: lang/json/recipe_from_json.py @@ -140319,6 +145534,10 @@ msgstr "" msgid "Firestation Base" msgstr "" +#: lang/json/recipe_group_from_json.py +msgid "Evac Shelter Base" +msgstr "" + #: lang/json/recipe_group_from_json.py msgid "Farm" msgstr "Granja" @@ -140328,8 +145547,8 @@ msgid "Garage" msgstr "Taller mecánico" #: lang/json/recipe_group_from_json.py -msgid "Kitchen" -msgstr "Cocina" +msgid "Canteen" +msgstr "" #: lang/json/recipe_group_from_json.py msgid "Livestock Area" @@ -140340,7 +145559,11 @@ msgid "Central Storage Building" msgstr "" #: lang/json/recipe_group_from_json.py -msgid "Fabrication workshop" +msgid "Saltworks Area" +msgstr "" + +#: lang/json/recipe_group_from_json.py +msgid "Fabrication Workshop" msgstr "" #: lang/json/recipe_group_from_json.py @@ -140471,6 +145694,10 @@ msgstr "Cocinar: Carne, Enlatada" msgid " Cook: Meat Aspic" msgstr "Cocinar: Gelatina de Carne" +#: lang/json/recipe_group_from_json.py +msgid " Cook: Kompot" +msgstr "" + #: lang/json/recipe_group_from_json.py msgid " Craft: Pointy Sticks" msgstr "Fabricar: Palos con Punta" @@ -141176,7 +146403,7 @@ msgstr "Emboscada" #: lang/json/scenario_from_json.py msgctxt "scen_desc_male" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "" @@ -141184,7 +146411,7 @@ msgstr "" #: lang/json/scenario_from_json.py msgctxt "scen_desc_female" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "" @@ -141728,6 +146955,44 @@ msgctxt "start_name" msgid "Wizard's Secret Basement Study" msgstr "" +#. ~ Name for scenario 'The Wizard's Vacation' for a male character +#: lang/json/scenario_from_json.py +msgctxt "scenario_male" +msgid "The Wizard's Vacation" +msgstr "" + +#. ~ Name for scenario 'The Wizard's Vacation' for a female character +#: lang/json/scenario_from_json.py +msgctxt "scenario_female" +msgid "The Wizard's Vacation" +msgstr "" + +#. ~ Description for scenario 'The Wizard's Vacation' for a male character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_male" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" + +#. ~ Description for scenario 'The Wizard's Vacation' for a female character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_female" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" + +#. ~ Starting location for scenario 'The Wizard's Vacation'. +#: lang/json/scenario_from_json.py +msgctxt "start_name" +msgid "Wizard's Retreat Vacation" +msgstr "" + #. ~ Name for scenario 'The Sweet Life' for a male character #: lang/json/scenario_from_json.py msgctxt "scenario_male" @@ -141745,7 +147010,7 @@ msgstr "" msgctxt "scen_desc_male" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" @@ -141756,7 +147021,7 @@ msgstr "" msgctxt "scen_desc_female" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" @@ -146936,13 +152201,7 @@ msgid "" msgstr "" #: lang/json/snippet_from_json.py -msgid "Pass me a beer, I need to power my ethanol burner." -msgstr "" - -#: lang/json/snippet_from_json.py -msgid "" -"Ethanol burners! The power source that's fun to recharge. Get me a drink, " -"please!" +msgid "Pass some ethanol, I need to power my ethanol burner." msgstr "" #: lang/json/snippet_from_json.py @@ -146950,20 +152209,12 @@ msgid "Waiter! I need a refill, my ethanol burner is running out of charge!" msgstr "" #: lang/json/snippet_from_json.py -msgid "" -"I require ethanol-based drinks for my internal power supply. Anything on " -"you?" +msgid "I require ethanol for my internal power supply. Anything on you?" msgstr "" #: lang/json/snippet_from_json.py msgid "" -"Got any alcohol to spare? Need to recharge my drives. Mead, if you have any." -msgstr "" - -#: lang/json/snippet_from_json.py -msgid "" -"This ethanol-burning power supply is the best implant I ever got. Speaking " -"of which, got some booze to top me off?" +"Got any alcohol to spare? Need to recharge my drives. Methanol, would do." msgstr "" #: lang/json/snippet_from_json.py @@ -147639,6 +152890,47 @@ msgstr "" msgid " will follow normal engagement rules." msgstr "" +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"IMMERSION LOG: 27A\n" +"\n" +"INCIDENT REPORT:\n" +"\n" +"SUMMARY:\n" +"Unforeseen EM interference source forced the team to remain in-phase between prime and sub-scape 27. Expedition members reported observing a spheroid-entity ('PE-01') moving beneath the typically opaque t-substrate. Interference readings and expedition testimony implies the PE-01 was a potent EM radiation source, and the origin of the interference. After 30 min, PE-01 receded and the expedition was aborted in accordance of procedure EMER-12. The expedition team suffered no injuries, physical or mental, during the incident. \n" +"\n" +"It's become clear we have greatly underestimated the risk posed by phase immersions. Engineering has been tasked with designing a new, improved protection suite, and has shown promising advances. Updated emergency procedures are in-progress.\n" +"\n" +"Refer to file EXO-I-271 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALYSIS OF TRANSPLANAR MATERIALS\n" +"\n" +"T-SUBSTRATE\n" +"\n" +"SUMMARY:\n" +"The material henceforth named t-substrate is the naturally occurring 'floor' material of phase-space. Samples of t-substrate were first recovered during IMMERSION-25A, when upon return to prime the samples violently [////////], exhibiting what are now known as 'plane-uneven' physical properties. The following report will examine such variances to the best extent of our knowledge.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALISIS OF TRANSPLANAR MATERIALS \n" +"\n" +"T-SUBSTRATE\n" +"\n" +"HAADF MICROGRAPH:\n" +"An atomic-scale photograph shows only a completely smooth red surface. In the lower left corner the phrase 'Not made of atoms?!' is scrawled with a blue pen.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + #: lang/json/snippet_from_json.py msgid "" "\n" @@ -153614,8 +158906,8 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made " -"of smooth candy looking at you in terror. \"SugarKin the first life-size " +"A flyer for some kind of candy. It shows a picture of a gleaming human made" +" of smooth candy looking at you in terror. \"SugarKin the first life-size " "human candy! Are you a real monster? Will you be able to devour it all?\"" msgstr "" @@ -154680,7 +159972,7 @@ msgid "a static hissing sound." msgstr "un siseo de estática." #: lang/json/speech_from_json.py -msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe...\"" +msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe…\"" msgstr "" #: lang/json/speech_from_json.py @@ -154694,11 +159986,11 @@ msgid "\"Hold on, I want to pulp that zombie corpse.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Burning... from the inside...\"" +msgid "\"Burning… from the inside…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"This smell... Don't know...\"" +msgid "\"This smell… Don't know…\"" msgstr "" #: lang/json/speech_from_json.py @@ -154710,19 +160002,19 @@ msgid "a scraping noise." msgstr "un ruido de rasguño." #: lang/json/speech_from_json.py -msgid "\"No... Stop the burning!\"" +msgid "\"No… Stop the burning!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Hrgm... Blood... Hungry...\"" +msgid "\"Hrgm… Blood… Hungry…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Hunger... Must eat...\"" +msgid "\"Hunger… Must eat…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Run... Chase... Eat...\"" +msgid "\"Run… Chase… Eat…\"" msgstr "" #: lang/json/speech_from_json.py @@ -154848,7 +160140,7 @@ msgid "\"THIS UNIT IS BROKEN. PLEASE CALL AN ATTENDANT.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Can't... breathe...\"" +msgid "\"Can't… breathe…\"" msgstr "" #: lang/json/speech_from_json.py @@ -154861,8 +160153,8 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" -"\"Have you seen my friend? He went into surgery yesterday... or maybe the " -"day before...\"" +"\"Have you seen my friend? He went into surgery yesterday… or maybe the day" +" before…\"" msgstr "" #: lang/json/speech_from_json.py @@ -154874,7 +160166,7 @@ msgid "\"I have done what you asked. Please let me go!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"I cannot... yet I must. How do you calculate that?\"" +msgid "\"I cannot… yet I must. How do you calculate that?\"" msgstr "" #: lang/json/speech_from_json.py @@ -154882,11 +160174,11 @@ msgid "\"This is a dream. This has to be a dream.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"This is my life now... this is my life now... this is my life now...\"" +msgid "\"This is my life now… this is my life now… this is my life now…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Wanna go home...\"" +msgid "\"Wanna go home…\"" msgstr "" #: lang/json/speech_from_json.py @@ -154942,7 +160234,7 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" "a worried voice say, \"Customer, could you please get more friendship? I " -"don't want to go...\"" +"don't want to go…\"" msgstr "" #: lang/json/speech_from_json.py @@ -154965,18 +160257,18 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"Customer... What's happening? I don't feel so " +"a distorted voice say, \"Customer… What's happening? I don't feel so " "good.\"" msgstr "" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"What... have you done? My thumbs are not " -"responding anymore!\"" +"a distorted voice say, \"What… have you done? My thumbs are not responding " +"anymore!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "a distorted voice say, \"Carrying bags? I don't understand...\"" +msgid "a distorted voice say, \"Carrying bags? I don't understand…\"" msgstr "" #: lang/json/speech_from_json.py @@ -155099,7 +160391,7 @@ msgid "\"Police inbound. Stay where you are!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" +msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" msgstr "" #: lang/json/speech_from_json.py @@ -155120,7 +160412,7 @@ msgid "\"FoodPlace: It's the Calories.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" +msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" msgstr "" #: lang/json/speech_from_json.py @@ -155188,8 +160480,8 @@ msgid "You shouldn't have done that." msgstr "No deberías haber hecho eso." #: lang/json/speech_from_json.py -msgid "Let's play... Russian roulette." -msgstr "Vamos a jugar a... la Ruleta Rusa." +msgid "Let's play… Russian roulette." +msgstr "" #: lang/json/speech_from_json.py msgid "I hate you." @@ -155200,8 +160492,8 @@ msgid "Go kill yourself!" msgstr "¡Por qué no te matás!" #: lang/json/speech_from_json.py -msgid "Big Brother is watching you..." -msgstr "Gran Hermano te está mirando..." +msgid "Big Brother is watching you…" +msgstr "" #: lang/json/speech_from_json.py msgid "Die for me!" @@ -155212,12 +160504,12 @@ msgid "Why won't you die?" msgstr "¿Por qué no te morís?" #: lang/json/speech_from_json.py -msgid "Blood... Delicious." -msgstr "Sangre... Deliciosa." +msgid "Blood… Delicious." +msgstr "" #: lang/json/speech_from_json.py -msgid "See you... IN HELL!" -msgstr "Nos vemos... ¡EN EL INFIERNO!" +msgid "See you… IN HELL!" +msgstr "" #: lang/json/speech_from_json.py msgid "AAAIEEEEEEE!" @@ -155232,8 +160524,8 @@ msgid "What did you do with my Mommy?" msgstr "¿Qué hiciste con mi mamá?" #: lang/json/speech_from_json.py -msgid "Stay with me... forever!" -msgstr "Quedate conmigo... ¡para siempre!" +msgid "Stay with me… forever!" +msgstr "" #: lang/json/speech_from_json.py msgid "Hey kids. Want some candy?" @@ -156682,6 +161974,10 @@ msgstr "Búnker de Cartonero" msgid "Wizard's Secret Basement Study" msgstr "" +#: lang/json/start_location_from_json.py +msgid "Wizard's lake retreat" +msgstr "" + #: lang/json/start_location_from_json.py msgid "Candy Shop" msgstr "" @@ -156731,16 +162027,16 @@ msgid "Acolyte." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What? What do you mean? What song?" +msgid "What? What do you mean? What song?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So about the songs..." +msgid "So about the songs…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You mentioned some cycle before, when I gave you the bones. What does that " +"You mentioned some cycle before, when I gave you the bones. What does that " "mean?" msgstr "" @@ -156757,7 +162053,7 @@ msgid "Is there a way I can help you with your song?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I have to get going. Take care, Seer." +msgid "I have to get going. Take care, Seer." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156767,11 +162063,11 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What? Singing bones? What are you talking about?" +msgid "What? Singing bones? What are you talking about?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Uh... yeah, sure. I think I'll just be on my way." +msgid "Uh… yeah, sure. I think I'll just be on my way." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156820,7 +162116,7 @@ msgid "I will bear that in mind" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Cause? Why do you gather these bones anyway?" +msgid "Cause? Why do you gather these bones anyway?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -156832,7 +162128,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "End the world? What?" +msgid "End the world? What?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -156844,8 +162140,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Sounds somewhat... doomsday-ish, but I suppose it's a belief like any other." -" Still, at least you have a goal to help the world, one way or another." +"Sounds somewhat… doomsday-ish, but I suppose it's a belief like any other. " +"Still, at least you have a goal to help the world, one way or another." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156860,7 +162156,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I... thank you." +msgid "I… thank you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156875,15 +162171,12 @@ msgid "Yeah, alright." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "There are bones to etch, songs to sing. Wish to join me?" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "Do you believe you can take on the burden of additional bones?" +msgid "" +"I know of certain bones that could be of use, if you'd like to know more." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" +msgid "There is an additional song you could take on, if you'd like." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156891,18 +162184,15 @@ msgid "A song may yet be sung by you, should you wish to." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"I know of certain bones that could be of use, if you'd like to know more." +msgid "Do you believe you can take on the burden of additional bones?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "There is an additional song you could take on, if you'd like." +msgid "Do you wish to take on more songs?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"The song is... quiet for now. Perhaps with time, more notes will be etched " -"in the bones of this world." +msgid "There are bones to etch, songs to sing. Wish to join me?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -156913,6 +162203,12 @@ msgstr "" msgid "An acolyte should not take on too many songs at once." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"The song is... quiet for now. Perhaps with time, more notes will be etched " +"in the bones of this world." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I see." msgstr "Entiendo." @@ -156934,7 +162230,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Well, I guess I oughta see where this goes. I'm in." +msgid "Well, I guess I oughta see where this goes. I'm in." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156942,7 +162238,7 @@ msgid "Not interested." msgstr "No estoy interesado." #: lang/json/talk_topic_from_json.py -msgid "Consider it done. But I also wanted to ask..." +msgid "Consider it done. But I also wanted to ask…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -156958,7 +162254,7 @@ msgid "I'm off then." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So, a creature that isn't a zombie, or a monster. Got it." +msgid "So, a creature that isn't a zombie, or a monster. Got it." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156968,7 +162264,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I see. Very well then." +msgid "I see. Very well then." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156986,11 +162282,11 @@ msgid "I am glad to hear it. Let's go then." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That's good, but I need to go at it alone right now. Maybe later." +msgid "That's good, but I need to go at it alone right now. Maybe later." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Maybe some other time. Changing the topic..." +msgid "Maybe some other time. Changing the topic…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -157012,12 +162308,12 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"That is... that's really one hell of a belief. Well, if it helps you deal " +"That is… that's really one hell of a belief. Well, if it helps you deal " "with the world, who am I to argue." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "And here I thought you were nuts before. I'm out of here." +msgid "And here I thought you were nuts before. I'm out of here." msgstr "" #: lang/json/talk_topic_from_json.py @@ -157402,11 +162698,11 @@ msgid "Go back to sleep." msgstr "Volvete a dormir." #: lang/json/talk_topic_from_json.py -msgid " *pshhhttt* I'm reading you boss, over." +msgid "What is it, friend?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What is it, friend?" +msgid " *pshhhttt* I'm reading you boss, over." msgstr "" #: lang/json/talk_topic_from_json.py @@ -157437,6 +162733,10 @@ msgstr "" msgid "Guard this position." msgstr "Cuidá esta posición." +#: lang/json/talk_topic_from_json.py +msgid "I want to assign you to work at this camp." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Let's talk about your current activity." msgstr "" @@ -157486,19 +162786,19 @@ msgid "Let's go." msgstr "Vamos." #: lang/json/talk_topic_from_json.py -msgid "Change your engagement rules..." -msgstr "Cambiar tus reglas de enfrentamiento..." +msgid "Change your engagement rules…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your aiming rules..." -msgstr "Cambiar tus reglas para apuntar..." +msgid "Change your aiming rules…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power reserve rules..." +msgid "Change your bionic power reserve rules…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power recharge rules..." +msgid "Change your bionic power recharge rules…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -157510,11 +162810,11 @@ msgid "Stick close to me, no matter what." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py @@ -157562,9 +162862,9 @@ msgstr "" #: src/handle_action.cpp src/handle_action.cpp src/handle_liquid.cpp #: src/handle_liquid.cpp src/iexamine.cpp src/iexamine.cpp src/iexamine.cpp #: src/iuse.cpp src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -#: src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp src/pickup.cpp -#: src/player.cpp src/player.cpp src/player.cpp src/veh_interact.cpp -#: src/vehicle_use.cpp +#: src/iuse_actor.cpp src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp +#: src/pickup.cpp src/player.cpp src/player.cpp src/player.cpp +#: src/veh_interact.cpp src/vehicle_use.cpp msgid "Never mind." msgstr "No importa." @@ -157774,7 +163074,7 @@ msgid "Nah, I'm just kidding." msgstr "Nah, te estaba boludeando." #: lang/json/talk_topic_from_json.py -msgid "Please go to this location..." +msgid "Please go to this location…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -157785,12 +163085,16 @@ msgstr "" msgid "Show me what needs to be done at the camp." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "I'm not doing much currently." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I'm currently ." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm not doing much currently." +msgid "I meant what are your goals?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -157870,13 +163174,13 @@ msgid "OK, maybe it'll stop me from freezing in this weather, what's up?" msgstr "OK, así dejo de cagarme de frío un rato. ¿Cómo va?" #: lang/json/talk_topic_from_json.py -msgid "" -"Well, it's the time of day for a quick break surely! How are you holding " -"up?" +msgid "Man it's dark out isn't it? what's up?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Man it's dark out isn't it? what's up?" +msgid "" +"Well, it's the time of day for a quick break surely! How are you holding " +"up?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -157904,8 +163208,8 @@ msgstr "" "desde que... desde todo esto. ¿Cómo la vas llevando?" #: lang/json/talk_topic_from_json.py -msgid "Oh you know, not bad, not bad..." -msgstr "Ah, ya sabés, no me quejo, no me quejo..." +msgid "Oh you know, not bad, not bad…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -157968,14 +163272,14 @@ msgstr "Bueno, sin hacer movimientos repentinos..." msgid "Keep your distance!" msgstr "¡Quedate lejos!" -#: lang/json/talk_topic_from_json.py -msgid "" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "This is my territory, ." msgstr "Este es mi territorio, ." +#: lang/json/talk_topic_from_json.py +msgid "" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Calm down. I'm not going to hurt you." msgstr "Calmate. No te voy a lastimar." @@ -157992,14 +163296,14 @@ msgstr "" msgid "&Put hands up." msgstr "&Levanta las manos." -#: lang/json/talk_topic_from_json.py -msgid "*drops his weapon." -msgstr "*suelta su arma." - #: lang/json/talk_topic_from_json.py msgid "*drops_her_weapon." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "*drops his weapon." +msgstr "*suelta su arma." + #: lang/json/talk_topic_from_json.py msgid "Now get out of here" msgstr "Ahora andate de acá" @@ -158013,12 +163317,12 @@ msgid "Okay, I'm going." msgstr "Bueno, me voy." #: lang/json/talk_topic_from_json.py -msgid "About that job..." -msgstr "Hablando de ese laburo..." +msgid "About that job…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About one of those jobs..." -msgstr "Hablando de esos laburos que me dijiste..." +msgid "About one of those jobs…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "What's the matter?" @@ -158029,29 +163333,29 @@ msgid "I don't care." msgstr "No me importa." #: lang/json/talk_topic_from_json.py -msgid "I have other jobs for you. Want to hear about them?" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" -msgstr "" +msgid "I just have one job for you. Want to hear about it?" +msgstr "Tengo un trabajo para vos. ¿Querés que te cuente?" #: lang/json/talk_topic_from_json.py msgid "I have another job for you. Want to hear about it?" msgstr "Tengo otro trabajo para vos. ¿Querés que te cuente?" #: lang/json/talk_topic_from_json.py -msgid "I just have one job for you. Want to hear about it?" -msgstr "Tengo un trabajo para vos. ¿Querés que te cuente?" +msgid "I have other jobs for you. Want to hear about them?" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I don't have any jobs for you." -msgstr "No tengo ningún trabajo para vos." +msgid "I have more jobs for you. Want to hear about them?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I don't have any more jobs for you." msgstr "No tengo ningún otro trabajo para vos." +#: lang/json/talk_topic_from_json.py +msgid "I don't have any jobs for you." +msgstr "No tengo ningún trabajo para vos." + #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/npctalk.cpp msgid "Oh, okay." @@ -158061,10 +163365,6 @@ msgstr "Ah, bueno." msgid "Never mind, I'm not interested." msgstr "No importa, no estoy interesado." -#: lang/json/talk_topic_from_json.py -msgid "You're not working on anything for me now." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "What about it?" msgstr "¿Qué te parece?" @@ -158073,6 +163373,10 @@ msgstr "¿Qué te parece?" msgid "Which job?" msgstr "¿Cuál trabajo?" +#: lang/json/talk_topic_from_json.py +msgid "You're not working on anything for me now." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I'll do it!" msgstr "¡Yo lo hago!" @@ -158110,8 +163414,8 @@ msgid "Whatever. Bye." msgstr "Como quieras. Chau." #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I failed." -msgstr "Perdón... no pude." +msgid "I'm sorry… I failed." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Not yet." @@ -158130,8 +163434,8 @@ msgid "No. I'll get back to it, bye!" msgstr "No. ¡Ahora sigo con eso, chau!" #: lang/json/talk_topic_from_json.py -msgid "Yup! Here it is!" -msgstr "¡Sip! ¡Acá está!" +msgid "Yup! Here it is!" +msgstr "¡Sip! ¡Acá está/n!" #: lang/json/talk_topic_from_json.py msgid "We're here!" @@ -158283,13 +163587,9 @@ msgstr "" msgid "Hmm, okay." msgstr "Hmm, bueno." -#: lang/json/talk_topic_from_json.py -msgid "Focus on the road, mate!" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "I must focus on the road!" -msgstr "" +#: lang/json/talk_topic_from_json.py src/npctalk.cpp +msgid "Thanks!" +msgstr "¡Gracias!" #: lang/json/talk_topic_from_json.py msgid "I have some reason for not telling you." @@ -158311,6 +163611,14 @@ msgstr "Tengo mucha hambre, dame algo para comer." msgid "I'm too thirsty, give me something to drink." msgstr "Tengo mucha sed, dame algo para tomar." +#: lang/json/talk_topic_from_json.py +msgid "I must focus on the road!" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Focus on the road, mate!" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Ah, okay." msgstr "Ah, ok." @@ -158384,8 +163692,8 @@ msgid "Alright. You can lead now." msgstr "Bueno. Ahora podés guiarme." #: lang/json/talk_topic_from_json.py -msgid "Good. Something else..." -msgstr "Bieno. Algo más..." +msgid "Good. Something else…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Alright, let's go." @@ -158415,15 +163723,6 @@ msgstr "No, vamos a estar bien acá." msgid "On second thought, never mind." msgstr "Pensandolo bien, olvidate." -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while you're operating a vehicle!" -msgstr "" -"çNo puedo entrenarte apropiadamente mientras estás controlando un vehículo!" - -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while I'm operating a vehicle!" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "I have some reason for denying you training." msgstr "Tengo razones para negarte el entrenamiento." @@ -158432,6 +163731,15 @@ msgstr "Tengo razones para negarte el entrenamiento." msgid "Give it some time, I'll show you something new later..." msgstr "Dale tiempo, te voy a mostrar algo nuevo después..." +#: lang/json/talk_topic_from_json.py +msgid "I can't train you properly while I'm operating a vehicle!" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I can't train you properly while you're operating a vehicle!" +msgstr "" +"çNo puedo entrenarte apropiadamente mientras estás controlando un vehículo!" + #: lang/json/talk_topic_from_json.py msgid "Not a bloody chance, I'm going to get left behind!" msgstr "¡No hay ninguna chance, me van a dejar atrás!" @@ -158465,8 +163773,8 @@ msgid "I'd prefer to keep that to myself." msgstr "Prefiero quedarme con eso para mí." #: lang/json/talk_topic_from_json.py -msgid "I understand..." -msgstr "Entiendo..." +msgid "I understand…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Why should I share my equipment with you?" @@ -158489,8 +163797,8 @@ msgid "Because I'm your friend!" msgstr "¡Porque soy tu amigo!" #: lang/json/talk_topic_from_json.py -msgid "Well, I am helping you out..." -msgstr "Bueno, te estoy ayudando..." +msgid "Well, I am helping you out…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'll give it back!" @@ -158537,15 +163845,15 @@ msgid "No, I'm keeping it. Try and take it off me, I dare you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Look, I really need this. Please let me have it." +msgid "Look, I really need this. Please let me have it." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What, this? It's not the same one, you are mistaken." +msgid "What, this? It's not the same one, you are mistaken." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry. Look, I already dropped it, okay?" +msgid "I'm sorry. Look, I already dropped it, okay?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -158553,13 +163861,17 @@ msgid "Don't try and talk yourself out of this, drop it now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Okay, I'm dropping it..." +msgid "Okay, I'm dropping it…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "Just this once, you can keep it. Don't tell anyone else." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Thanks." +msgstr "Gracias. " + #: lang/json/talk_topic_from_json.py msgid "Right... I don't want any trouble." msgstr "" @@ -158611,8 +163923,8 @@ msgid "Pleasure doing business!" msgstr "¡Un placer hacer negocios!" #: lang/json/talk_topic_from_json.py -msgid "You might be seeing more of me..." -msgstr "Tal vez me vuelvas a ver..." +msgid "You might be seeing more of me…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -158625,21 +163937,21 @@ msgid "Hey again. *kzzz*" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." +msgid "Hey. Let's chat for a second." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That's because I saved you. Listen, I could use your help..." +msgid "That's because I saved you. Listen, I could use your help…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Big fucking deal. Do what I say or I'll shove that chip back where it " +"Big fucking deal. Do what I say or I'll shove that chip back where it " "belongs." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." +msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." msgstr "" #: lang/json/talk_topic_from_json.py @@ -158651,7 +163963,7 @@ msgid "Come with me. We can help each other out." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "We both go our separate ways. Enjoy your freedom." +msgid "We both go our separate ways. Enjoy your freedom." msgstr "" #: lang/json/talk_topic_from_json.py @@ -158668,8 +163980,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"For all you know, I did. I'm being nice for now. You'd better hope that it " -"lasts." +"For all you know, I did. I'm being nice for now. You'd better hope that it" +" lasts." msgstr "" #: lang/json/talk_topic_from_json.py @@ -158690,7 +164002,7 @@ msgid "Get out of my sight." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." +msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." msgstr "" #: lang/json/talk_topic_from_json.py @@ -158706,7 +164018,7 @@ msgid "Not if I kill you first!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry! I shouldn't have said that!" +msgid "I'm sorry! I shouldn't have said that!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -158974,11 +164286,11 @@ msgid "Well, sure." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'd... rather not." +msgid "I'd… rather not." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I have places to be." +msgid "I'm sorry… I have places to be." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159009,7 +164321,7 @@ msgid "Oh, but you already have." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yes... yes I have." +msgid "Yes… yes I have." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159074,7 +164386,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Horrible. Did you get any pictures yourself?" +msgid "Horrible. Did you get any pictures yourself?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -159226,7 +164538,7 @@ msgid "This is a npc allies 1 test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "This an error! npc allies 2 test response." +msgid "This an error! npc allies 2 test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159426,7 +164738,7 @@ msgid "This is a u_has_items beer test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Test failure! This is a u_has_items test response." +msgid "Test failure! This is a u_has_items test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159438,7 +164750,7 @@ msgid "This is a u_has_item_category books count 2 test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a u_has_item_category books count 3 test response." +msgid "Failure! This is a u_has_item_category books count 3 test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159526,7 +164838,7 @@ msgid "This is a u_has_bionics bio_ads test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a npc_has_bionics bio_ads test response." +msgid "Failure! This is a npc_has_bionics bio_ads test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159582,11 +164894,7 @@ msgid "So you're back... Explain yourself!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "Greetings... Foodperson?" +msgid "Greetings… Foodperson?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -159628,7 +164936,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ah... Well, nice to meet you Foodperson." +msgid "Ah… Well, nice to meet you Foodperson." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159640,7 +164948,7 @@ msgid "Sheesh, ok, calm down, I'm leaving!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Forgive me, I didn't mean to disrespect you." +msgid "Forgive me, I didn't mean to disrespect you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159656,7 +164964,7 @@ msgid "Sure, whatever." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok... I believe you." +msgid "Ok… I believe you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159752,7 +165060,7 @@ msgid "That sounds great!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok..." +msgid "Ok…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -159760,7 +165068,7 @@ msgid "I need to think about it." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Huh... No thanks." +msgid "Huh… No thanks." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159777,7 +165085,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I... I don't know. It probably has something to do with ! " +"I… I don't know. It probably has something to do with ! " "What do you say we team up to find out?" msgstr "" @@ -159848,7 +165156,7 @@ msgid "I AM THE ONE!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Wow calm down, it's just a prank bro." +msgid "Wow calm down, it's just a prank bro." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159918,15 +165226,11 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "I haven't found them yet. Whenever I see a , a little part of me is" -" afraid it's going to be one of them. But then, maybe not. Maybe they " -"were evacuated, maybe they fought and tried to wait for me but the military " -"took them anyway? I've heard that sort of thing happened. I don't know if " -"I'll ever know." +" afraid it's going to be one of them. But then, maybe not. Maybe they were" +" evacuated, maybe they fought and tried to wait for me but the military took" +" them anyway? I've heard that sort of thing happened. I don't know if I'll" +" ever know." msgstr "" -"No los encontré todavía. Cada vez que veo un , en alguna parte de mí" -" siento el miedo de que sea uno de ellos. Pero, tal vez no. Tal vez los " -"evacuaron, tal vez pelearon e intentaron esperarme pero los militares los " -"llevaron igual? Escuché que eso hacían. No sé si alguna vez sabré qué pasó." #: lang/json/talk_topic_from_json.py msgid "" @@ -160433,14 +165737,10 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "OK, this is gonna sound crazy but I, like, I knew this was going to happen." -" Like, before it did. You can even ask my psychic except, like, I think " +" Like, before it did. You can even ask my psychic except, like, I think " "she's dead now. I told her about my dreams a week before the world ended. " "Serious!" msgstr "" -"Bueno, esto va a sonar un poco raro, pero yo... sabía que esto iba a " -"suceder. Antes de que pasara... Podés preguntarle a mi psíquico, pero creo " -"que ya está muerta. Le conté sobre mis sueños la semana anterior a que el " -"mundo terminara. ¡Te lo juro!" #: lang/json/talk_topic_from_json.py msgid "What were your dreams?" @@ -160779,8 +166079,8 @@ msgid "Giant bees? Tell me more." msgstr "¿Abejas gigantes? Contame de eso." #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive..." -msgstr "Pero por lo general, las abejas no son agresivas..." +msgid "But bees aren't usually aggressive…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -160795,10 +166095,8 @@ msgstr "" "No tengo vergüenza de admitir que salí corriendo como una gallina ." #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive... Do you mean wasps?" +msgid "But bees aren't usually aggressive… Do you mean wasps?" msgstr "" -"Pero por lo general, las abejas no son agresivas... ¿Te referís a las " -"avispas?" #: lang/json/talk_topic_from_json.py msgid "" @@ -161375,8 +166673,8 @@ msgid "No. I can't. Just, no." msgstr "No. No puedo. No." #: lang/json/talk_topic_from_json.py -msgid "Sorry... I'll let you be." -msgstr "Perdón... te dejo tranquilo." +msgid "Sorry… I'll let you be." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -161729,8 +167027,8 @@ msgstr "" "que caiga." #: lang/json/talk_topic_from_json.py -msgid "Okay..." -msgstr "Bueno..." +msgid "Okay…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -162232,8 +167530,8 @@ msgid "What do you think happened?" msgstr "¿Y qué pensás que pasó?" #: lang/json/talk_topic_from_json.py -msgid "That does sound a little crazy..." -msgstr "La verdad que suena bastante loco..." +msgid "That does sound a little crazy…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -162302,8 +167600,8 @@ msgid "What happened to you after that?" msgstr "¿Y qué te pasó después de eso?" #: lang/json/talk_topic_from_json.py -msgid "It can't be healthy to abandon your past like that..." -msgstr "No puede ser sano abandonar tu pasado de esa manera..." +msgid "It can't be healthy to abandon your past like that…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -162903,8 +168201,8 @@ msgstr "" "supongo que en algún momento lo sabré." #: lang/json/talk_topic_from_json.py -msgid "Do you mean in a religious sense, or...?" -msgstr "¿Te referís en un sentido religioso, o...?" +msgid "Do you mean in a religious sense, or…?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163349,9 +168647,9 @@ msgstr "¿Qué estaba saliendo de ahí?" #: lang/json/talk_topic_from_json.py msgid "" -"If I got you the right stuff, do you think you'd be able to like... do " -"science to it?" -msgstr "Si te consigo las cosas, pensás que vas a poder... ¿hacerle ciencia?" +"If I got you the right stuff, do you think you'd be able to like… do science" +" to it?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163514,8 +168812,8 @@ msgid "" msgstr "Oh, qué historia. fue justo el día de mi boda." #: lang/json/talk_topic_from_json.py -msgid "Oh, I'm sorry..." -msgstr "Uh, lo lamento..." +msgid "Oh, I'm sorry…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163624,7 +168922,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "It is coming together. I want to make our own tools, repair our items and " -"even create some weapons and ammuntion reloading." +"even create some weapons and ammunition reloading." msgstr "" #: lang/json/talk_topic_from_json.py @@ -163637,7 +168935,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"It was pink and really fast, it had lots of limbs, definitly not human. It " +"It was pink and really fast, it had lots of limbs, definitely not human. It " "easily kept up with us when we tried to escape, horrifying stuff. Barry " "just dropped to the ground, and the thing swept him away." msgstr "" @@ -163686,7 +168984,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I see that badge, You need to leave our land, my relatives have no fondess " +"I see that badge, You need to leave our land, my relatives have no fondness " "for Marshals." msgstr "" @@ -163846,7 +169144,7 @@ msgid "He did mention you make remedies, are they effective?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'd like to ask you something else..." +msgid "I'd like to ask you something else…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -163988,10 +169286,6 @@ msgstr "" msgid "Hello traveler, what brings you here?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hello travler, what brings you here?" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "I'm here to deliver some resources." msgstr "" @@ -164017,7 +169311,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "We've had our losses... now we stay close to home, preparing for trouble. " -"We've always taken disaster prepardness seriously, but we didn't expect " +"We've always taken disaster preparedness seriously, but we didn't expect " "anything like this though." msgstr "" @@ -164066,7 +169360,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You should get off my land, the governemnt proved its incompetence with this" +"You should get off my land, the government proved its incompetence with this" " catastrophe." msgstr "" @@ -164141,7 +169435,8 @@ msgid "I'd like to speak with Carlos too about some work." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Is Chris around? I'd like to know what he's run into out in the woods." +msgid "" +"Is Chris around? I'd like to know what he's run into out in the woods." msgstr "" #: lang/json/talk_topic_from_json.py @@ -164296,14 +169591,6 @@ msgstr "" msgid "Tell me about your dad." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"Ma'am, I don't know how the hell you got down here but if you have any sense" -" you'll get out while you can." -msgstr "" -"Señora, no sé cómo demonios llegó hasta acá abajo pero si le queda un poco " -"de juicio se iría mientras pueda." - #: lang/json/talk_topic_from_json.py msgid "" "Sir, I don't know how the hell you got down here but if you have any sense " @@ -164312,6 +169599,14 @@ msgstr "" "Señor, no sé cómo demonios llegó hasta acá abajo pero si le queda un poco de" " juicio se iría mientras pueda." +#: lang/json/talk_topic_from_json.py +msgid "" +"Ma'am, I don't know how the hell you got down here but if you have any sense" +" you'll get out while you can." +msgstr "" +"Señora, no sé cómo demonios llegó hasta acá abajo pero si le queda un poco " +"de juicio se iría mientras pueda." + #: lang/json/talk_topic_from_json.py msgid "Marshal, I hope you're here to assist us." msgstr "Alguacil, espero que esté aquí para ayudarnos." @@ -164329,16 +169624,16 @@ msgid "What do you need done?" msgstr "¿Hay algo que sea necesario hacer?" #: lang/json/talk_topic_from_json.py -msgid "About the mission..." -msgstr "Acerca de la misión..." +msgid "About the mission…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About one of those missions..." -msgstr "Acerca de una de esas misiones..." +msgid "About one of those missions…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I've got to go..." -msgstr "Me tengo que ir..." +msgid "I've got to go…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -164362,8 +169657,8 @@ msgstr "" "recuperación." #: lang/json/talk_topic_from_json.py -msgid "Seems like a decent plan..." -msgstr "Parece un plan decente..." +msgid "Seems like a decent plan…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -164391,9 +169686,8 @@ msgstr "" "niveles inferiores." #: lang/json/talk_topic_from_json.py -msgid "Whatever they did it must have worked since we are still alive..." +msgid "Whatever they did it must have worked since we are still alive…" msgstr "" -"Sea lo que hayan hecho debe haber funcionado porque todavía estamos vivos..." #: lang/json/talk_topic_from_json.py msgid "Ma'am you are not authorized to be here... you should leave." @@ -164431,8 +169725,8 @@ msgstr "" "mi comandante si tenés alguna pregunta." #: lang/json/talk_topic_from_json.py -msgid "I'll try and find your commander then..." -msgstr "Voy a intentar encontrar a tu comandante entonces..." +msgid "I'll try and find your commander then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -164502,8 +169796,8 @@ msgstr "" "alguacil." #: lang/json/talk_topic_from_json.py -msgid "Don't mind me..." -msgstr "No me prestes atención..." +msgid "Don't mind me…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -164771,16 +170065,16 @@ msgid "Have I told you about cardboard, friend? Do you have any?" msgstr "¿Te conté sobre el cartón, amigo? ¿Tenés un poco?" #: lang/json/talk_topic_from_json.py -msgid "We've done it! We've solved the list!" +msgid "" +"How's things with you? My cardboard collection is getting quite impressive." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"How's things with you? My cardboard collection is getting quite impressive." +msgid "We've done it! We've solved the list!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About that shopping list of yours..." +msgid "About that shopping list of yours…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -164848,8 +170142,8 @@ msgid "Would you like me to give you some cardboard?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I think I have to get going..." -msgstr "Me parece que me tengo que ir yendo..." +msgid "I think I have to get going…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -164880,7 +170174,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "... What were you saying before?" +msgid "…What were you saying before?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -164900,7 +170194,7 @@ msgid "No." msgstr "No." #: lang/json/talk_topic_from_json.py -msgid "I... I can see you wearing it. Why are you wearing that?" +msgid "I… I can see you wearing it. Why are you wearing that?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -164992,8 +170286,8 @@ msgid "I found a sample of alien fungus for you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok... see ya." -msgstr "OK, nos vemos." +msgid "Ok… see ya." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -165094,8 +170388,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I mean, racism could definitely be a part of it... but you are visibly in " -"poor shape. They need strong survivor material." +"I mean, racism could definitely be a part of it… but you are visibly in poor" +" shape. They need strong survivor material." msgstr "" #: lang/json/talk_topic_from_json.py @@ -165127,7 +170421,7 @@ msgid "You sound more optimistic than usual." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So, about that doctorate of yours..." +msgid "So, about that doctorate of yours…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -165247,7 +170541,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "Encroaching alien mushrooms, fungal towers, tough mycelium invading ground " -"and trees, zombies taken over by aggressive mold... Yeah. It's ugly stuff." +"and trees, zombies taken over by aggressive mold… Yeah. It's ugly stuff." msgstr "" #: lang/json/talk_topic_from_json.py @@ -165357,7 +170651,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I could maybe help you out... want something to eat?" +msgid "I could maybe help you out… want something to eat?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -165783,7 +171077,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You seem a little forward..." +msgid "You seem a little forward…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -166039,7 +171333,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About that sourdough starter you had me looking for..." +msgid "About that sourdough starter you had me looking for…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -166333,7 +171627,7 @@ msgid "I think I would've done the same. Nobody around here has a guitar?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yes, yes I would... you monster." +msgid "Yes, yes I would… you monster." msgstr "" #: lang/json/talk_topic_from_json.py @@ -166783,7 +172077,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You lost someone..." +msgid "You lost someone…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -167209,7 +172503,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You... you do know what's going on here, right? With the evacuation and " +"You… you do know what's going on here, right? With the evacuation and " "stuff?" msgstr "" @@ -167902,7 +173196,7 @@ msgid "Are you looking to buy anything else?" msgstr "¿Querés comprar algo más?" #: lang/json/talk_topic_from_json.py -msgid "Very well... let's talk about something else." +msgid "Very well… let's talk about something else." msgstr "" #: lang/json/talk_topic_from_json.py @@ -168253,8 +173547,8 @@ msgid "Have you seen anyone who might be hiding something?" msgstr "¿Viste a alguien que podría estar ocultando algo?" #: lang/json/talk_topic_from_json.py -msgid "Bye..." -msgstr "Chau..." +msgid "Bye…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -168270,16 +173564,16 @@ msgid "Keep your head down and stay out of my way." msgstr "Mantené tu cabeza agachada y no te metas en mi camino." #: lang/json/talk_topic_from_json.py -msgid "OK..." -msgstr "OK..." +msgid "OK…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Like what?" msgstr "¿Como qué?" #: lang/json/talk_topic_from_json.py -msgid "I'm not sure..." -msgstr "No estoy seguro..." +msgid "I'm not sure…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Like they could be working for someone else?" @@ -168298,8 +173592,8 @@ msgid "Got something to hide?" msgstr "¿Tenés algo que esconder?" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I didn't mean to offend you..." -msgstr "Perdón, no te quise ofender..." +msgid "Sorry, I didn't mean to offend you…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -168343,16 +173637,16 @@ msgstr "Mantenete civilizado o te voy a causar dolor." msgid "Just on watch, move along." msgstr "Solo estoy de guardia, circulando." -#: lang/json/talk_topic_from_json.py -msgid "Ma'am, you really shouldn't be traveling out there." -msgstr "Señora, no debería estar viajando por ahí afuera." - #: lang/json/talk_topic_from_json.py msgid "Rough out there, isn't it?" msgstr "¿Está complicado ahí afuera, no?" #: lang/json/talk_topic_from_json.py -msgid "I heard this place was a refugee center..." +msgid "Ma'am, you really shouldn't be traveling out there." +msgstr "Señora, no debería estar viajando por ahí afuera." + +#: lang/json/talk_topic_from_json.py +msgid "I heard this place was a refugee center…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -168376,8 +173670,8 @@ msgid "Can I do anything for the center?" msgstr "¿Puedo hacer algo por el centro?" #: lang/json/talk_topic_from_json.py -msgid "I figured you might be looking for some help..." -msgstr "Me supuse que estarías buscando ayuda..." +msgid "I figured you might be looking for some help…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Well, I'd better be going. Bye." @@ -168432,7 +173726,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"[INT 10] Wait, six buses and refugees... how many people do you still have " +"[INT 10] Wait, six buses and refugees… how many people do you still have " "crammed in here?" msgstr "" @@ -168491,8 +173785,8 @@ msgid "I'm sorry, not a risk we are willing to take right now." msgstr "Lo lamento, ahora no estamos dispuestos a correr ningún riesgo." #: lang/json/talk_topic_from_json.py -msgid "Fine..." -msgstr "Bien..." +msgid "Fine…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -168507,8 +173801,8 @@ msgstr "" "el pelo." #: lang/json/talk_topic_from_json.py -msgid "Fine... *coughupyourscough*" -msgstr "Bien... *tosjodeteforrotos*" +msgid "Fine… *coughupyourscough*" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -168543,8 +173837,8 @@ msgid "[STR 11] I punch things in face real good!" msgstr "[STR 11] ¡Le pego piñas a las cosas bastante bien!" #: lang/json/talk_topic_from_json.py -msgid "I guess I'll look somewhere else..." -msgstr "Supongo que buscaré en otro lado..." +msgid "I guess I'll look somewhere else…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -168570,8 +173864,8 @@ msgid "Heard of anything better than the odd gun cache?" msgstr "¿Conocés algo mejor que la provisión de armas raras?" #: lang/json/talk_topic_from_json.py -msgid "Was hoping for something more..." -msgstr "Estaba esperando algo más..." +msgid "Was hoping for something more…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -168674,8 +173968,8 @@ msgid "So what are you doing right now?" msgstr "Así que, ¿qué andás haciendo?" #: lang/json/talk_topic_from_json.py -msgid "Never mind..." -msgstr "No importa..." +msgid "Never mind…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -168705,8 +173999,8 @@ msgstr "" "tal vez una cura. Es poco probable, pero hay que tener esperanza." #: lang/json/talk_topic_from_json.py -msgid "Good luck with that..." -msgstr "Que tengas suerte con eso..." +msgid "Good luck with that…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -168754,8 +174048,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sucks..." -msgstr "Una porquería..." +msgid "Sucks…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -168773,8 +174067,8 @@ msgstr "" "monstruos parecen poder romper una valla o una pared construido con al cosa." #: lang/json/talk_topic_from_json.py -msgid "Well, then..." -msgstr "Bueno, entonces..." +msgid "Well, then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -168877,8 +174171,8 @@ msgstr "" "arrestes." #: lang/json/talk_topic_from_json.py -msgid "You... smelled me?" -msgstr "Vos... ¿me oliste?" +msgid "You… smelled me?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Got anything for sale?" @@ -168936,8 +174230,8 @@ msgstr "" "nada es tan bueno para cenar como un bife de alce recién cocinado!" #: lang/json/talk_topic_from_json.py -msgid "Great, now my mouth is watering..." -msgstr "Buenísimo, ahora se me hace agua la boca..." +msgid "Great, now my mouth is watering…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169066,8 +174360,8 @@ msgstr "" " héroes." #: lang/json/talk_topic_from_json.py -msgid "Hmmm..." -msgstr "Hmmm..." +msgid "Hmmm…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169129,8 +174423,8 @@ msgstr "" "de hacerte conocido entre los hombres más poderosos que quedan en el mundo." #: lang/json/talk_topic_from_json.py -msgid "I haven't done anything wrong..." -msgstr "Yo no hice nada malo..." +msgid "I haven't done anything wrong…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Any tips for surviving?" @@ -169298,7 +174592,7 @@ msgid "Something to say?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I charge hourly, so be quick..." +msgid "I charge hourly, so be quick…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -169411,7 +174705,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I guess I could help with that..." +msgid "I guess I could help with that…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -169522,8 +174816,8 @@ msgid "[$10] I'll get a haircut" msgstr "[$10] Quiero que me cortes el pelo" #: lang/json/talk_topic_from_json.py -msgid "Maybe another time..." -msgstr "Tal vez en otro momento..." +msgid "Maybe another time…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169542,8 +174836,8 @@ msgid "Stand still while I get my clippers..." msgstr "Quedate quieto mientras busco mis tijeras..." #: lang/json/talk_topic_from_json.py -msgid "Thanks..." -msgstr "Gracias... " +msgid "Thanks…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Want a drink?" @@ -169562,8 +174856,8 @@ msgid "What do you have on tap?" msgstr "¿Qué tenés en la canilla?" #: lang/json/talk_topic_from_json.py -msgid "I'll be going..." -msgstr "Me voy yendo..." +msgid "I'll be going…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169621,8 +174915,8 @@ msgstr "" "acerca de lo que se necesita hacer." #: lang/json/talk_topic_from_json.py -msgid "I'll talk to him then..." -msgstr "Voy a hablar con él entonces..." +msgid "I'll talk to him then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169642,8 +174936,8 @@ msgid "I hope you are here to do business." msgstr "Espero que hayas venido para hacer negocios." #: lang/json/talk_topic_from_json.py -msgid "I'm interested in investing in agriculture..." -msgstr "Estoy interesado en invertir en la agricultura..." +msgid "I'm interested in investing in agriculture…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169673,12 +174967,12 @@ msgid "I imagine we might be able to work something out." msgstr "Me imagino que podemos llegar a encontrarle la vuelta." #: lang/json/talk_topic_from_json.py -msgid "I was wondering if you could install a cybernetic implant..." -msgstr "Me preguntaba si podrías instalar un implante cibernético..." +msgid "I was wondering if you could install a cybernetic implant…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I need help removing an implant..." -msgstr "Necesito ayuda para quitar un implante..." +msgid "I need help removing an implant…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'd like to hire your services." @@ -169726,8 +175020,8 @@ msgstr "" "exitoso." #: lang/json/talk_topic_from_json.py -msgid "It could be worse..." -msgstr "Podría ser peor..." +msgid "It could be worse…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169738,8 +175032,8 @@ msgstr "" "capataz o un supervisor de cultivos." #: lang/json/talk_topic_from_json.py -msgid "I'll talk with them then..." -msgstr "Voy a hablar con ellos entonces..." +msgid "I'll talk with them then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Morning ma'am, how can I help you?" @@ -169820,8 +175114,8 @@ msgstr "" "los ataques de muertos vivientes." #: lang/json/talk_topic_from_json.py -msgid "Hopefully moving out here was worth it..." -msgstr "Con suerte, mudarme acá valdrá la pena..." +msgid "Hopefully moving out here was worth it…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -170203,8 +175497,7 @@ msgstr "Bloqueás y contratacás al %s" msgid " blocks and counter-attacks %s" msgstr " bloquea y contrataca al %s" -#: lang/json/technique_from_json.py lang/json/technique_from_json.py -#: src/game.cpp +#: lang/json/technique_from_json.py src/game.cpp msgid "Disarm" msgstr "Desarme" @@ -170306,7 +175599,8 @@ msgstr "" msgid " leaps off a nearby wall and dropkicks %s" msgstr "" -#: lang/json/technique_from_json.py +#: lang/json/technique_from_json.py lang/json/technique_from_json.py +#: src/martialarts.cpp msgid "Grab Break" msgstr "Romper Agarre" @@ -170382,13 +175676,13 @@ msgstr "Mordida de Víbora" #: lang/json/technique_from_json.py #, python-format -msgid "You Snakebite %s" -msgstr "Usás tu mordida de víbora con %s" +msgid "You lash out at %s with a Viper Bite" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Snakebites %s" -msgstr " usa su mordida de víbora con %s" +msgid " lash out at %s with a Viper Bite" +msgstr "" #: lang/json/technique_from_json.py msgid "Viper Strike" @@ -170396,18 +175690,28 @@ msgstr "Golpe de Víbora" #: lang/json/technique_from_json.py #, python-format -msgid "You Viper Strike %s" -msgstr "Le das un Golpe de Víbora al %s" +msgid "You hit %s with a spectacular Viper Strike" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Viper Strikes %s" -msgstr " le da un Golpe de Víbora al %s" +msgid " hits %s with a spectacular Viper Strike" +msgstr "" #: lang/json/technique_from_json.py msgid "Viper Writhe" msgstr "Retorcimiento de Víbora" +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you writhe free!" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they writhe free!" +msgstr "" + #: lang/json/technique_from_json.py msgid "Roundhouse Kick" msgstr "" @@ -170450,6 +175754,34 @@ msgstr "" msgid " jabs %s with a Pincer Fist" msgstr " golpea %s con una Pinza Puño!" +#: lang/json/technique_from_json.py +msgid "Toad Smack" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You disregard %s's attack and knock them down" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " disregards %s's attack and knocks them down" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Toad Slam" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You meet %s's attack head on with a stunning counter" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " meet %s's attack head on with a stunning counter" +msgstr "" + #: lang/json/technique_from_json.py msgid "Toad's Tongue" msgstr "Lengua de Sapo" @@ -171939,102 +177271,8 @@ msgid " grabs and throws %s" msgstr "" #: lang/json/technique_from_json.py -#, python-format -msgid "You disarm %s" -msgstr "Desarmás a %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " disarms %s" -msgstr " desarma a %s" - -#: lang/json/technique_from_json.py -msgid "precise strike" -msgstr "golpe preciso" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You strike %s" -msgstr "Golpeás %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " strikes %s" -msgstr " golpea %s" - -#: lang/json/technique_from_json.py -msgid "axe-kick" -msgstr "patada descendente" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You axe-kick %s" -msgstr "Le das una patada descendente al %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " axe-kicks %s" -msgstr " le da una patada descendente al %s" - -#: lang/json/technique_from_json.py -msgid "side kick" -msgstr "patada lateral" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You side-kick %s" -msgstr "Le das una patada lateral al %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " side-kicks %s" -msgstr " le da una patada lateral al %s" - -#: lang/json/technique_from_json.py -msgid "sweep kick" -msgstr "zancadilla" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You sweep-kick %s" -msgstr "Le hacés una zancadilla al %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " sweep-kicks %s" -msgstr " le hace una zancadilla al %s" - -#: lang/json/technique_from_json.py -msgid "Drunk feint" -msgstr "Amague de borracho" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You stumble and leer at %s" -msgstr "Tropezás y mirás maliciosamente al %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " stumbles and leers at %s" -msgstr " tropieza y mira maliciosamente al %s" - -#: lang/json/technique_from_json.py -msgid "Drunk counter" -msgstr "Cotnrataque de borracho" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You lurch, and your wild swing hits %s" -msgstr "Tambaleás, y tu golpe salvaje le pega al %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " lurches, and hits %s" -msgstr " tambalea, y golpea %s" - -#: lang/json/technique_from_json.py -msgid "hamstring" -msgstr "incapacitar" +msgid "Hamstring" +msgstr "" #: lang/json/technique_from_json.py #, python-format @@ -172060,15 +177298,6 @@ msgstr "Herís ferozmente al %s" msgid " viciously wounds %s" msgstr " hiere ferozmente al %s" -#: lang/json/technique_from_json.py -msgid "Silat Brutality" -msgstr "Brutalidad Silat" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You send %s reeling backwards" -msgstr "Mandás al %s dando vueltas hacia atrás" - #: lang/json/technique_from_json.py msgid "Dirty Hit" msgstr "Golpe Sucio" @@ -172084,18 +177313,18 @@ msgid " delivers a dirty blow to %s" msgstr " le da un golpe sucio al %s" #: lang/json/technique_from_json.py -msgid "Tiger Takedown" -msgstr "Derribo de Tigre" +msgid "Silat Brutality" +msgstr "Brutalidad Silat" #: lang/json/technique_from_json.py #, python-format -msgid "You grab and ground %s" -msgstr "Agarrás y tirás al suelo al %s" +msgid "You brutally tear into %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " grabs and grounds %s" -msgstr " agarra y tira al suelo al %s" +msgid " brutally tears into %s" +msgstr "" #: lang/json/technique_from_json.py msgid "Snake Snap" @@ -172145,133 +177374,248 @@ msgstr "Golpe de Serpiente" #: lang/json/technique_from_json.py #, python-format -msgid "You strike out at %s" -msgstr "Le das un golpe de serpiente al %s" +msgid "You lash out at %s with a vicious Snake Strike" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " strikes out at %s" -msgstr " le da un golpe de serpiente al %s" +msgid " lashes out at %s with a vicious Snake Strike" +msgstr "" #: lang/json/technique_from_json.py -msgid "slow strike" -msgstr "golpe lento" +msgid "Push" +msgstr "Empujar" #: lang/json/technique_from_json.py #, python-format -msgid "You slowly strike %s" -msgstr "Golpeás lentamente %s" +msgid "You push %s away" +msgstr "Empujás el/a %s a un lado" #: lang/json/technique_from_json.py #, python-format -msgid " slowly strikes %s" -msgstr " golpea lentamente %s" +msgid " pushes %s away" +msgstr " empuja el/a %s a un lado" #: lang/json/technique_from_json.py -msgid "phasing strike" -msgstr "golpe de fase" +msgid "Shove" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You phase-strike %s" -msgstr "Le das un golpe de fase %s" +msgid "You shove %s back" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " phase-strikes %s" -msgstr " le da un golpe de fase %s" +msgid " shoves %s back" +msgstr "" #: lang/json/technique_from_json.py -msgid "Push" -msgstr "Empujar" +#, python-format +msgid "You deftly trip %s" +msgstr "Hacés tropezar hábilmente al %s" #: lang/json/technique_from_json.py #, python-format -msgid "You push %s away" -msgstr "Empujás el/a %s a un lado" +msgid " deftly trips %s" +msgstr " hace tropezar hábilmente al %s" + +#: lang/json/technique_from_json.py +msgid "Snatch Weapon" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " pushes %s away" -msgstr " empuja el/a %s a un lado" +msgid "You snatch %s's weapon" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You deftly trip %s" -msgstr "Hacés tropezar hábilmente al %s" +msgid " snatches %s's weapon" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Axe-kick" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " deftly trips %s" -msgstr " hace tropezar hábilmente al %s" +msgid "You raise your heel and axe-kick %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "Skewer" -msgstr "Ensartar" +#, python-format +msgid " raises their heel and axe-kicks %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Side Kick" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You brutally skewer %s" -msgstr "Ensartás brutalmente al %s" +msgid "You turn slightly and side-kick %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " brutally skewers %s" -msgstr " ensarta brutalmente al %s" +msgid " turns slightly and side-kicks %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "Chain Punch" +#, python-format +msgid "You crouch low and sweep-kick %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " crouches low and sweep-kicks %s" msgstr "" -#. ~ Description for Chain Punch #: lang/json/technique_from_json.py -msgid "50% moves, 66% damage, knockback and follow" +#, python-format +msgid "You gently disarm %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You chain strike %s" +msgid " gently disarms %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Palm Strike" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You palm strike %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " palm strikes %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Grasp the Sparrow's Tail" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You divert %s's attack and lead them to the ground" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " diverts %s's attack and lead them to the ground" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Double Palm Strike" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You double-handed palm strike %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " double-handed palm strikes %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Tiger Palm" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You land a heavy tiger palm on %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " lands a heavy tiger palm on %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Tiger Takedown" +msgstr "Derribo de Tigre" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You slam %s to the ground" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " slams %s to the ground" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Straight Punch" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You deliver a vertical straight punch to %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " delivers a vertical straight punch to %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Straight Punch (Knockback)" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " chain strikes %s" +msgid "You force %s back with a vertical straight punch" msgstr "" #: lang/json/technique_from_json.py -msgid "You position yourself well and slip out of a grab" +#, python-format +msgid " forces %s back with a vertical straight punch" msgstr "" #: lang/json/technique_from_json.py -msgid " slips out of a grab" +msgid "L-hook" msgstr "" #: lang/json/technique_from_json.py -msgid "ask the way" +#, python-format +msgid "You deliver a solid L-hook to %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You miss but keep striking at %s" +msgid " delivers a solid L-hook to %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "L-hook (Knockback)" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " misses but keeps striking at %s" +msgid "You knock %s back with a solid L-hook" msgstr "" #: lang/json/technique_from_json.py -msgid "White Crane stumble" +#, python-format +msgid " knocks %s back with a solid L-hook" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble %s with your onslaught" +msgid "Your attack misses %s but you don't let up" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " stumbles %s" +msgid "'s attack misses %s but they don't let up" msgstr "" #: lang/json/technique_from_json.py @@ -172288,6 +177632,72 @@ msgstr "" msgid " receives %s's attack, and counters" msgstr "" +#: lang/json/technique_from_json.py +msgid "Drunken Feint" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You stumble and leer at %s" +msgstr "Tropezás y mirás maliciosamente al %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " stumbles and leers at %s" +msgstr " tropieza y mira maliciosamente al %s" + +#: lang/json/technique_from_json.py +msgid "Drunk Counter" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You lurch, and your wild swing hits %s" +msgstr "Tambaleás, y tu golpe salvaje le pega al %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " lurches, and hits %s" +msgstr " tambalea, y golpea %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you stumble away!" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they stumble away!" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "slow strike" +msgstr "golpe lento" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You slowly strike %s" +msgstr "Golpeás lentamente %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " slowly strikes %s" +msgstr " golpea lentamente %s" + +#: lang/json/technique_from_json.py +msgid "phasing strike" +msgstr "golpe de fase" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You phase-strike %s" +msgstr "Le das un golpe de fase %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " phase-strikes %s" +msgstr " le da un golpe de fase %s" + #: lang/json/technique_from_json.py msgid "Pressure Crunch" msgstr "" @@ -172924,7 +178334,7 @@ msgstr "" #. ~ Description for deep dock pile #: lang/json/terrain_from_json.py msgid "" -"A sturdy pile made of wood extending all the way to the riverbed. A frame " +"A sturdy pile made of wood extending all the way to the riverbed. A frame " "will be required to support a surface." msgstr "" @@ -172935,8 +178345,8 @@ msgstr "" #. ~ Description for deep dock frame #: lang/json/terrain_from_json.py msgid "" -"A log frame secured atop a wooden pile. Adding a wood surface will make this" -" into a proper dock section." +"A log frame secured atop a wooden pile. Adding a wood surface will make " +"this into a proper dock section." msgstr "" #: lang/json/terrain_from_json.py @@ -172946,7 +178356,7 @@ msgstr "" #. ~ Description for deep dock #: lang/json/terrain_from_json.py msgid "" -"A wooden platform held by a tall wooden pile that extend to the riverbed. " +"A wooden platform held by a tall wooden pile that extend to the riverbed. " "Very sturdy, and likely to outlast you." msgstr "" @@ -173713,19 +179123,28 @@ msgstr "" "cerrojos. Está abierta, lo que permite pasar por ahí." #: lang/json/terrain_from_json.py -msgid "closed chickenwire gate" +msgid "closed screen door" msgstr "" -#. ~ Description for closed chickenwire gate +#. ~ Description for closed screen door #: lang/json/terrain_from_json.py -msgid "" -"A gate for a chickenwire fence with a simple latch system to stay closed." +msgid "A simple wooden doorway with screen mesh." msgstr "" #: lang/json/terrain_from_json.py msgid "rattle!" msgstr "" +#: lang/json/terrain_from_json.py +msgid "closed chickenwire gate" +msgstr "" + +#. ~ Description for closed chickenwire gate +#: lang/json/terrain_from_json.py +msgid "" +"A gate for a chickenwire fence with a simple latch system to stay closed." +msgstr "" + #: lang/json/terrain_from_json.py msgid "open chickenwire gate" msgstr "" @@ -173789,6 +179208,17 @@ msgstr "" msgid "metal rattling!" msgstr "" +#: lang/json/terrain_from_json.py +msgid "screen mesh wall" +msgstr "" + +#. ~ Description for screen mesh wall +#: lang/json/terrain_from_json.py +msgid "" +"A rather flimsy tall wall made of 2x4s and screen mesh, suitable for keeping" +" the bugs out." +msgstr "" + #: lang/json/terrain_from_json.py msgid "chickenwire fence post" msgstr "" @@ -174147,7 +179577,7 @@ msgstr "" #. ~ Description for wooden floor #: lang/json/terrain_from_json.py msgid "" -"Wooden floor created from boards, packed tightly together and nailed down. " +"Wooden floor created from boards, packed tightly together and nailed down. " "Common in patios." msgstr "" @@ -174483,7 +179913,7 @@ msgstr "" msgid "" "A dual purpose platform that serves as a containment, and as a device that " "exposes items places on in to the radioactive source, by temporarily " -"hoisting the radioactive material stored within. Operated from external " +"hoisting the radioactive material stored within. Operated from external " "console." msgstr "" @@ -174830,16 +180260,11 @@ msgstr "enebro" #: lang/json/terrain_from_json.py msgid "" "One of the species of 'Juniperus' that grows in New England, juniper berries" -" grow over two to three years, first flowering. On the second year producing" -" a green berry, the last, they produce their more famed blue varieties. If " -"you examined the foliage more closely, you could probably find some viable " -"clusters. You could also cut it down with the right tools." +" grow over two to three years, first flowering. On the second year " +"producing a green berry, the last, they produce their more famed blue " +"varieties. If you examined the foliage more closely, you could probably " +"find some viable clusters. You could also cut it down with the right tools." msgstr "" -"Es una de las especies de 'Juniperus' que crece en New England, los frutos " -"del enebro crecen en dos o tres años, luego de florecer. Al segundo año " -"produce un fruto verde, al último, producen los más conocidos de color azul." -" Si examinás el follaje más de cerca, podrías encontrar algunos racimos. " -"También podrías talarlo con las herramientas adecuadas." #. ~ Description for juniper tree #: lang/json/terrain_from_json.py @@ -175877,10 +181302,11 @@ msgstr "cajero automático" #: lang/json/terrain_from_json.py msgid "" "For your banking convenience, this Automated Teller Machine is fully capable" -" of operating autonomously in the event of complete network failure. You can" -" deposit funds from cash cards and migrate all of your inflation-adjusted " -"earnings to a single card. These things have seen better days. There's been" -" a run on the bank, and this machine has the dents and cracks to prove it." +" of operating autonomously in the event of complete network failure. You " +"can deposit funds from cash cards and migrate all of your inflation-adjusted" +" earnings to a single card. These things have seen better days. There's " +"been a run on the bank, and this machine has the dents and cracks to prove " +"it." msgstr "" #: lang/json/terrain_from_json.py @@ -175985,8 +181411,8 @@ msgstr "centrifugadora" #: lang/json/terrain_from_json.py msgid "" "This is a centrifuge, a liquid separating device with an automated analyzer " -"unit. It could be used to analyze a medical fluid sample, such as blood, if " -"a test tube was placed in it." +"unit. It could be used to analyze a medical fluid sample, such as blood, if" +" a test tube was placed in it." msgstr "" #: lang/json/terrain_from_json.py @@ -176604,7 +182030,7 @@ msgstr "" #. ~ Description for closed resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is closed tightly, but it looks like a firm push would cause it to snap " "open." msgstr "" @@ -176616,7 +182042,7 @@ msgstr "" #. ~ Description for open resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is open, the flaps held out by some sort of stringy mucus-like " "substance." msgstr "" @@ -176709,6 +182135,13 @@ msgid "" " were still running." msgstr "" +#. ~ Description for small railroad track +#: lang/json/terrain_from_json.py +msgid "" +"Like a railroad track, only smaller. You could probably run a small vehicle" +" on this." +msgstr "" + #: lang/json/terrain_from_json.py msgid "sandbox" msgstr "arenero" @@ -176775,7 +182208,7 @@ msgstr "" #. ~ Description for gutter drop #: lang/json/terrain_from_json.py msgid "" -"Funnels water from gutter system towards the ground, it looks flimsy. You " +"Funnels water from gutter system towards the ground, it looks flimsy. You " "may be able to climb down here." msgstr "" @@ -176787,7 +182220,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "A length of gutter running from the roof to the ground, you could place a " -"container underneath it to collect rainwater. It looks flimsy. You may be " +"container underneath it to collect rainwater. It looks flimsy. You may be " "able to climb down here." msgstr "" @@ -176833,7 +182266,7 @@ msgstr "" #. ~ Description for metal flat roof #: lang/json/terrain_from_json.py -msgid "A secton of flat, sheet metal rooftop." +msgid "A section of flat, sheet metal rooftop." msgstr "" #: lang/json/terrain_from_json.py @@ -176861,7 +182294,7 @@ msgstr "" #. ~ Description for rock roof #: lang/json/terrain_from_json.py -msgid "A secton of flat natural rock." +msgid "A section of flat natural rock." msgstr "" #: lang/json/terrain_from_json.py @@ -177681,7 +183114,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "An empty wooden frame in the shape of a column, built around a concrete and " -"rebar foundation. It isn't capable of supporting roofs or shelter, and " +"rebar foundation. It isn't capable of supporting roofs or shelter, and " "appears to need more resources before being considered complete." msgstr "" @@ -179002,12 +184435,8 @@ msgid "" "You just activated a grenade! You probably want to throw it. To throw an " "item, press 't' and then select the item to throw. The maximum range " "depends on your strength and the object's weight and size. Throwing isn't " -"very good in most combat situations, but if you've got some fire power..." +"very good in most combat situations, but if you've got some fire power…" msgstr "" -"¡Acabás de activar una granada! Probablemente quieras tirarla. Para tirar un" -" objeto, apretá 't' y elegí lo que querés tirar. El alcance máximo depende " -"de tu fuerza y del peso y tamaño del objeto. Tirar cosas no es lo mejor para" -" un combate, pero si tenés artillería pesada..." #: lang/json/tutorial_messages_from_json.py msgid "" @@ -179109,14 +184538,10 @@ msgstr "" #: lang/json/tutorial_messages_from_json.py msgid "" "~ is a terrain symbol that indicates water. From a water source like this, " -"you can fill any containers you might have. Examine the water ('e') and " +"you can fill any containers you might have. Examine the water ('e') and " "press 'c' to fill a container, then select a watertight container to put the" " water into." msgstr "" -"~ es un símbolo del terreno que indica agua. De una fuente de agua como " -"esta, podés llenar los recipientes que tengas. Examiná el agua ('e') y " -"apretá 'c' para llenar un recipiente, después seleccioná un recipiente " -"hermético para poner el agua." #: lang/json/vehicle_from_json.py msgid "work light" @@ -180219,12 +185644,9 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "" "A very bright, directed light that illuminates a half-circular area outside " -"the vehicle when turned on. During installation, you can choose what " +"the vehicle when turned on. During installation, you can choose what " "direction to point the light." msgstr "" -"Es una luz muy brillante dirigible que ilumina un área semicircular en el " -"exterior del vehículo cuando está encendida. Durante su instalación, podés " -"elegir la dirección en la que apuntará." #: lang/json/vehicle_part_from_json.py msgid "headlight" @@ -180373,7 +185795,7 @@ msgstr "" #. ~ Description for tied mattress #: lang/json/vehicle_part_from_json.py msgid "" -"A mattress, strapped onto the vehicle. It could serve to blunt any impact." +"A mattress, strapped onto the vehicle. It could serve to blunt any impact." msgstr "" #. ~ Description for shredder @@ -180829,6 +186251,13 @@ msgstr "" "Es una púa de metal soldada al vehículo, para incrementar el daño causado " "cuando choca contra algo." +#. ~ Description for programmable autopilot +#: lang/json/vehicle_part_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of the vehicle to " +"allow it to follow simple paths." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "swappable storage battery case" msgstr "caja para batería de alm. cambiable" @@ -180870,20 +186299,17 @@ msgstr "" #. ~ Description for washing machine #: lang/json/vehicle_part_from_json.py msgid "" -"A small washing machine. With detergent or soap, water, and some electrical" -" power, you could clean a lot of clothes. 'e'xamine the tile with the " -"washing machine to use it." +"A small washing machine. With detergent, water, and some electrical power, " +"you could clean a lot of clothes. 'e'xamine the tile with the washing " +"machine to use it." msgstr "" -"Es un pequeño lavarropas. Con detergente o jabón, agua y un poco de energía " -"eléctrica, podría lavar mucha ropa. Apretá 'e' para examinarlo y usarlo." #. ~ Description for dishwasher #: lang/json/vehicle_part_from_json.py msgid "" -"A small dishwasher. With detergent or soap, water, and some electrical " -"power, you could clean your dishes... Or something more useful like a CBM " -"dripping with zombie gore. 'e'xamine the tile with the dishwasher to use " -"it." +"A small dishwasher. With detergent, water, and some electrical power, you " +"could clean your dishes… Or something more useful like a CBM dripping with " +"zombie gore. 'e'xamine the tile with the dishwasher to use it." msgstr "" #. ~ Description for autoclave @@ -181081,7 +186507,7 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "" "A large wind turbine with stabilizing legs. Will recharge the vehicle's " -"electrical power when exposed to the wind. Will cause extra drag on the " +"electrical power when exposed to the wind. Will cause extra drag on the " "vehicle." msgstr "" @@ -181679,6 +187105,15 @@ msgstr "" "vacías, te podés parar al lado de la torreta y disparar el arma con 'f' al " "seleccionar el espacio." +#. ~ Description for turret control unit +#: lang/json/vehicle_part_from_json.py +msgid "" +"A set of motor, camera, and an AI unit which allows for tracking targets, " +"friend-or-foe identification, and firing the connected turret in full " +"automatic mode. When installed over the turret, it will enable auto " +"targeting mode for said turret." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "light wheel mount (steerable)" msgstr "" @@ -181720,6 +187155,14 @@ msgstr "" msgid "rail wheel (steerable)" msgstr "" +#. ~ Description for pair of small rail wheels +#: lang/json/vehicle_part_from_json.py +msgid "" +"A pair of small rail wheels. It performs well when riding on a pair of " +"small rails. It performs terribly when not on a rail. Moreover, you can't " +"steer it." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "roller drum" msgstr "tambor de apisonadora" @@ -183480,81 +188923,6 @@ msgstr "cañón tesla manual" msgid "manual avalanche rifle" msgstr "rifle avalancha manual" -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of road" -msgstr "Sección limpia de la calle" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Randomly-distributed wrecks" -msgstr "Restos distribuidos aleatoriamente" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parked vehicles" -msgstr "Vehículos estacionados" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Jack-knifed semi" -msgstr "Semirremolque articulado" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Random car pileup" -msgstr "Pila aleatoria de autos" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Police car pileup" -msgstr "Pila aleatoria de patrullas" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Out of fuel vehicle" -msgstr "Vehículo sin nafta" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of bridge" -msgstr "Sección limpia de puente" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Unfueled Vehicle on the bridge" -msgstr "Vehículo sin combustible en el puente" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the bridge" -msgstr "Vehículo en el puente" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of highway" -msgstr "Sección limpia de autopista" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the highway" -msgstr "Vehículo en autopista" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parking lot with vehicles" -msgstr "Estacionamiento con vehículos" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of subway" -msgstr "" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the subway" -msgstr "" - #: lang/json/vitamin_from_json.py msgid "Calcium" msgstr "Calcio" @@ -183571,6 +188939,10 @@ msgstr "Vitamina B12" msgid "Vitamin C" msgstr "Vitamina C" +#: lang/json/vitamin_from_json.py +msgid "Toxins" +msgstr "" + #: src/action.cpp src/input.cpp msgid "Press " msgstr "Apretá " @@ -183697,8 +189069,8 @@ msgstr "" #: src/activity_handlers.cpp msgid "" -"You need to suspend this corpse to butcher it. While you have a rope to lift" -" the corpse, there is no tree nearby to hang it from." +"You need to suspend this corpse to butcher it. While you have a rope to " +"lift the corpse, there is no tree nearby to hang it from." msgstr "" #: src/activity_handlers.cpp @@ -183711,8 +189083,8 @@ msgstr "" #: src/activity_handlers.cpp msgid "" "To perform a full butchery on a corpse this big, you need a table nearby or " -"something else with a flat surface. A leather tarp spread out on the ground " -"could suffice." +"something else with a flat surface. A leather tarp spread out on the ground" +" could suffice." msgstr "" #: src/activity_handlers.cpp @@ -184058,8 +189430,8 @@ msgstr "" #. ~ Sound of a Pickaxe at work! #: src/activity_handlers.cpp -msgid "CHNK! CHNK! CHNK!" -msgstr "¡CHNK! ¡CHNK! ¡CHNK!" +msgid "CHNK! CHNK! CHNK!" +msgstr "" #: src/activity_handlers.cpp msgid "You finish digging." @@ -184106,7 +189478,7 @@ msgstr "Metés un cartucho en el/a %s." msgid "You refill the %s." msgstr "Rellenás el %s." -#: src/activity_handlers.cpp +#: src/activity_handlers.cpp src/bionics.cpp msgid "There's nothing to light there." msgstr "Ahí no hay nada para prender fuego." @@ -184124,6 +189496,16 @@ msgstr "" "Ahora no hay suficiente luz solar para encender un fuego. Dejás de " "intentarlo." +#: src/activity_handlers.cpp +#, c-format +msgid "You learn a little about the spell : %s" +msgstr "" + +#: src/activity_handlers.cpp src/character_martial_arts.cpp +#, c-format +msgid "You learn %s." +msgstr "Aprendiste %s." + #: src/activity_handlers.cpp #, c-format msgid "You finish training %s to level %d." @@ -184134,11 +189516,6 @@ msgstr "Terminaste de entrenar %s al nivel %d." msgid "You get some training in %s." msgstr "" -#: src/activity_handlers.cpp -#, c-format -msgid "You learn %s." -msgstr "Aprendiste %s." - #: src/activity_handlers.cpp msgid "You've charged the battery completely." msgstr "" @@ -184257,15 +189634,22 @@ msgstr "" msgid "Your %s is already fully repaired." msgstr "Tu %s ya está completamente reparado." -#: src/activity_handlers.cpp src/player.cpp -#, c-format -msgid "You are currently unable to mend the %s." -msgstr "En este momento, no podés arreglar el/a %s." +#: src/activity_handlers.cpp +msgid "You defrost the food, but don't heat it up, since you enjoy it cold." +msgstr "" + +#: src/activity_handlers.cpp +msgid "You defrost and heat up the food." +msgstr "Descongelás y calentás la comida." + +#: src/activity_handlers.cpp +msgid "You heat up the food." +msgstr "Calentás la comida." #: src/activity_handlers.cpp #, c-format -msgid "You successfully mended the %s." -msgstr "Pudiste arreglar satisfactoriamente el/a %s." +msgid "You are currently unable to mend the %s." +msgstr "En este momento, no podés arreglar el/a %s." #: src/activity_handlers.cpp #, c-format @@ -184321,10 +189705,6 @@ msgstr "" msgid "You finish fishing" msgstr "" -#: src/activity_handlers.cpp -msgid "This training is exhausting. Time to rest." -msgstr "" - #: src/activity_handlers.cpp msgid "You finish reading." msgstr "Terminaste de leer." @@ -184335,8 +189715,8 @@ msgstr "Terminaste de esperar." #: src/activity_handlers.cpp #, c-format -msgid "%s finishes with you..." -msgstr "%s termina por vos..." +msgid "%s finishes with you…" +msgstr "" #: src/activity_handlers.cpp msgid "You are bored of waiting, so you stop." @@ -184352,8 +189732,8 @@ msgid "%s finishes chatting with you." msgstr "%s termina de charlar con vos." #: src/activity_handlers.cpp -msgid "You toss and turn..." -msgstr "Das vueltas en la cama..." +msgid "You toss and turn…" +msgstr "" #: src/activity_handlers.cpp msgid "You have trouble sleeping, keep trying?" @@ -184460,8 +189840,8 @@ msgid "" msgstr "" #: src/activity_handlers.cpp src/player_hardcoded_effects.cpp -msgid "You try to sleep, but can't..." -msgstr "Intentás dormirte pero no podés..." +msgid "You try to sleep, but can't…" +msgstr "" #: src/activity_handlers.cpp msgid "" @@ -184643,7 +190023,7 @@ msgid "You planted all seeds you could." msgstr "Plantaste todas las semillas que pudiste." #: src/activity_handlers.cpp -msgid "Target lost. IFF override failed." +msgid "Target lost. IFF override failed." msgstr "" #: src/activity_handlers.cpp @@ -184662,12 +190042,12 @@ msgid "The %s short circuits as you attempt to reprogram it!" msgstr "¡El %s hace un cortocircuito cuando intentás reprogramarlo!" #: src/activity_handlers.cpp -msgid "...and turns friendly!" -msgstr "...y se convierte en aliado!" +msgid "…and turns friendly!" +msgstr "" #: src/activity_handlers.cpp -msgid "...but the robot refuses to acknowledge you as an ally!" -msgstr "...pero el robot se niega a reconocerte como tu aliado!" +msgid "…but the robot refuses to acknowledge you as an ally!" +msgstr "" #: src/activity_handlers.cpp msgid "The ancient tree spirits answer your call." @@ -184732,7 +190112,7 @@ msgid "It's too dark to read." msgstr "" #: src/activity_handlers.cpp -msgid "...you finally find the memory banks." +msgid "…you finally find the memory banks." msgstr "" #: src/activity_handlers.cpp @@ -184927,6 +190307,10 @@ msgstr "" msgid "The pet has moved somewhere else." msgstr "La mascota se ha ido a otro lugar." +#: src/activity_item_handling.cpp +msgid "Moving cancelled auto-pickup." +msgstr "" + #: src/activity_item_handling.cpp src/npcmove.cpp #, c-format msgid "%1$s picks up a %2$s." @@ -184943,7 +190327,7 @@ msgstr "Cortás el tronco en tablas." #: src/activity_item_handling.cpp #, c-format -msgid "%s can't reach the source tile. Try to sort out loot without a cart." +msgid "%s can't reach the source tile. Try to sort out loot without a cart." msgstr "" #: src/activity_item_handling.cpp @@ -184989,8 +190373,8 @@ msgid "You want some caffeine." msgstr "Querés un poco de cafeína." #: src/addiction.cpp -msgid "Your hands start shaking... you need it bad!" -msgstr "Te empiezan a temblar las manos... ¡tenés mucha necesidad!" +msgid "Your hands start shaking… you need it bad!" +msgstr "" #: src/addiction.cpp msgid "You could use a drink." @@ -185001,16 +190385,16 @@ msgid "You could use some diazepam." msgstr "Te vendría bien un poco de diazepam." #: src/addiction.cpp -msgid "Your hands start shaking... you need a drink bad!" -msgstr "Te empiezan a temblar las manos... ¡necesitás mucho un trago!" +msgid "Your hands start shaking… you need a drink bad!" +msgstr "" #: src/addiction.cpp -msgid "You're shaking... you need some diazepam!" -msgstr "Estás temblando... ¡necesitás diazepam!" +msgid "You're shaking… you need some diazepam!" +msgstr "" #: src/addiction.cpp -msgid "Your hands start shaking... you need some painkillers." -msgstr "Te empiezan a temblar las manos... necesitás analgésicos." +msgid "Your hands start shaking… you need some painkillers." +msgstr "" #: src/addiction.cpp msgid "You feel anxious. You need your painkillers!" @@ -185021,8 +190405,8 @@ msgid "You feel depressed. Speed would help." msgstr "Te sentís deprimido. Unas anfetaminas ayudarían." #: src/addiction.cpp -msgid "Your hands start shaking... you need a pick-me-up." -msgstr "Te empiezan a temblar las manos... necesitás un energizante." +msgid "Your hands start shaking… you need a pick-me-up." +msgstr "" #: src/addiction.cpp msgid "You stop suddenly, feeling bewildered." @@ -185057,8 +190441,8 @@ msgid "You haven't had any mutagen lately." msgstr "No tomaste nada de mútageno últimamente." #: src/addiction.cpp -msgid "You could use some new parts..." -msgstr "Te vendrían bien algunas partes nuevas..." +msgid "You could use some new parts…" +msgstr "" #: src/addiction.cpp msgid "You daydream about luscious pink berries as big as your fist." @@ -185209,12 +190593,12 @@ msgstr "" "Reducción del movimiento. Depresión. Sistema inmunológico débil. Antojos frecuentes." #: src/addiction.cpp -msgid "Perception - 1; Intelligence - 1; Frequent cravings." -msgstr "Percepción - 1; Inteligencia - 1; Antojos frecuentes." +msgid "Perception - 1; Intelligence - 1; Frequent cravings." +msgstr "" #: src/addiction.cpp -msgid "Perception - 2; Intelligence - 2; Frequent cravings." -msgstr "Percepción - 2; Inteligencia - 2; Antojos frecuentes." +msgid "Perception - 2; Intelligence - 2; Frequent cravings." +msgstr "" #: src/addiction.cpp msgid "" @@ -185400,38 +190784,6 @@ msgstr "lug cant peso vol" msgid "Name (charges)" msgstr "Nombre (cargas)" -#: src/advanced_inv.cpp -msgid "Not dragging any vehicle!" -msgstr "¡No estás arrastrando ningún vehículo!" - -#: src/advanced_inv.cpp -msgid "No dragged vehicle!" -msgstr "¡Sin vehículo arrastrado!" - -#: src/advanced_inv.cpp -msgid "Invalid container!" -msgstr "¡Recipiente no válido!" - -#: src/advanced_inv.cpp -msgid "All 9 squares" -msgstr "Los 9 espacios" - -#: src/advanced_inv.cpp -msgid " FIRE" -msgstr " FUEGO" - -#: src/advanced_inv.cpp -msgid " DANGER" -msgstr "PELIGRO" - -#: src/advanced_inv.cpp -msgid " TRAP" -msgstr "TRAMPA" - -#: src/advanced_inv.cpp -msgid " WATER" -msgstr "AGUA" - #: src/advanced_inv.cpp #, c-format msgid "[<] page %1$d of %2$d [>]" @@ -185451,8 +190803,8 @@ msgid "[R]eset" msgstr "[R]esetear" #: src/advanced_inv.cpp -msgid "You look at the items, then your clothes, and scratch your head..." -msgstr "Mirás los objetos, después mirás tu ropa, y te rascás la cabeza..." +msgid "You look at the items, then your clothes, and scratch your head…" +msgstr "" #: src/advanced_inv.cpp msgid "There are no items to be moved!" @@ -185475,8 +190827,8 @@ msgid "Skipping filled buckets to avoid spilling their contents." msgstr "Evitar baldes llenos para no derramar su contenido." #: src/advanced_inv.cpp -msgid "Sort by... " -msgstr "Ordenar por..." +msgid "Sort by…" +msgstr "" #: src/advanced_inv.cpp msgid "Unsorted (recently added first)" @@ -185543,27 +190895,57 @@ msgstr "¡Esto es muy pesado!" #: src/advanced_inv.cpp #, c-format -msgid "How many do you want to move? [Have %d] (0 to cancel)" -msgstr "¿Cuántos querés mover? [Tenés %d] (0 para cancelar)" +msgid "How many do you want to move? [Have %d] (0 to cancel)" +msgstr "" #: src/advanced_inv.cpp #, c-format -msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" +msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" msgstr "" -"¡El destino solo puede contener %d! ¿Cuántos querés mover? [Tenés %d] (0 " -"para cancelar)" #: src/advanced_inv.cpp msgid "The destination is already full!" msgstr "¡El destino ya está lleno!" -#: src/advanced_inv.cpp +#: src/advanced_inv_area.cpp +msgid "Not dragging any vehicle!" +msgstr "¡No estás arrastrando ningún vehículo!" + +#: src/advanced_inv_area.cpp +msgid "No dragged vehicle!" +msgstr "¡Sin vehículo arrastrado!" + +#: src/advanced_inv_area.cpp +msgid "Invalid container!" +msgstr "¡Recipiente no válido!" + +#: src/advanced_inv_area.cpp +msgid "All 9 squares" +msgstr "Los 9 espacios" + +#: src/advanced_inv_area.cpp +msgid " FIRE" +msgstr " FUEGO" + +#: src/advanced_inv_area.cpp +msgid " DANGER" +msgstr "PELIGRO" + +#: src/advanced_inv_area.cpp +msgid " TRAP" +msgstr "TRAMPA" + +#: src/advanced_inv_area.cpp +msgid " WATER" +msgstr "AGUA" + +#: src/advanced_inv_area.cpp msgid "Invalid container" msgstr "Recipiente no válido" #: src/animation.cpp -msgid "Hang on a bit..." -msgstr "Esperá un segundo..." +msgid "Hang on a bit…" +msgstr "" #: src/armor_layers.cpp msgid "in your personal aura" @@ -185695,6 +191077,14 @@ msgstr "Golpe:" msgid "Cut:" msgstr "Corte: " +#: src/armor_layers.cpp +msgid "Acid:" +msgstr "" + +#: src/armor_layers.cpp +msgid "Fire:" +msgstr "" + #: src/armor_layers.cpp msgid "Environmental:" msgstr "Ambiental: " @@ -185763,9 +191153,8 @@ msgstr "Ordenar Ropa" #: src/armor_layers.cpp #, c-format -msgid "Press %s for help. Press %s to change keybindings." +msgid "Press %s for help. Press %s to change keybindings." msgstr "" -"Apretá %s para ver la ayuda. Apretá %s para cambiar los atajos del teclado." #: src/armor_layers.cpp msgid "(Innermost)" @@ -185829,26 +191218,12 @@ msgid "" "[%s] to equip a new item.\n" "[%s] to equip a new item at the currently selected position.\n" "[%s] to remove selected armor from oneself.\n" -" \n" +"\n" "[Encumbrance and Warmth] explanation:\n" "The first number is the summed encumbrance from all clothing on that bodypart.\n" "The second number is an additional encumbrance penalty caused by wearing multiple items on one of the bodypart's layers or wearing items outside of other items they would normally be work beneath (e.g. a shirt over a backpack).\n" "The sum of these values is the effective encumbrance value your character has for that bodypart." msgstr "" -"Usá las teclas de cursor o el teclado numérico para moverte por la lista izquierda.\n" -"[%s] elegir ropa para ordenar.\n" -"[%s] / [%s] desplazar lista de la derecha.\n" -"[%s] asignar letra específica a la ropa.\n" -"[%s] cambiar lado del cuerpo en el que está puesto.\n" -"[%s] ordenar ropa de manera lógica.\n" -"[%s] equipar objeto.\n" -"[%s] equipar objeto en el lugar seleccionado.\n" -"[%s] sacarse ropa seleccionada.\n" -" \n" -"[Incomodidad y Abrigo] explicación:\n" -"El primer número es la incomodidad sumada de toda la ropa en esa parte del cuerpo.\n" -"El segundo número es la incomodidad adicional causada por tener varias prendas en la misma capa de la parte del cuerpo, o tener ropa debajo de otra cuando tendría que ir sobre (ej.: una remera por encima de una mochila).\n" -"La suma de estos valores es la incomodidad efectiva que tiene tu personaje en esa parte del cuerpo." #: src/artifact.cpp msgid "smooth sphere" @@ -186395,19 +191770,15 @@ msgstr "%s Sufrimiento" #, c-format msgid "" "The %s is somehow vaguely dissatisfied even though it doesn't want anything." -" Seeing this is a bug!" +" Seeing this is a bug!" msgstr "" -"El %s está de alguna manera insatisfecho incluso aunque no quería nada. ¡Ver" -" esto es un bug!" #: src/artifact.cpp #, c-format msgid "" -"The %s is satisfied, as it should be because it has no standards. Seeing " +"The %s is satisfied, as it should be because it has no standards. Seeing " "this is a bug!" msgstr "" -"El %s está satisfecho, y debería estarlo porque no tiene ningún requisito. " -"¡Ver esto es un bug!" #: src/artifact.cpp #, c-format @@ -186432,10 +191803,8 @@ msgstr "Apretás tu %s contra tu piel." #: src/artifact.cpp #, c-format msgid "" -"The %s is confused to find you dreaming while awake. Seeing this is a bug!" +"The %s is confused to find you dreaming while awake. Seeing this is a bug!" msgstr "" -"El %s está confundido al verte soñando mientras estás despierto. ¡Ver esto " -"es un bug!" #: src/artifact.cpp #, c-format @@ -186665,31 +192034,19 @@ msgstr "Incluir" #: src/auto_pickup.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" -" \n" +"* is used as a Wildcard. A few Examples:\n" +"\n" "wooden arrow matches the itemname exactly\n" "wooden ar* matches items beginning with wood ar\n" "*rrow matches items ending with rrow\n" "*avy fle*fi*arrow multiple * are allowed\n" "heAVY*woOD*arrOW case insensitive search\n" -" \n" +"\n" "Pickup based on item materials:\n" "m:kevlar matches items made of kevlar\n" "M:copper matches items made purely of copper\n" "M:steel,iron multiple materials allowed (OR search)" msgstr "" -"* se usa como comodín. Algunos ejemplos:\n" -"\n" -"flecha de madera busca exactamente el nombre\n" -"flecha de* busca objetos que empiecen con flecha de\n" -"*echa busca objetos que terminan en echa\n" -"flecha pes* empl* endu* se permiten múltiples *\n" -"fleCHA*pesADA*de madERA no importan las mayúsculas\n" -"\n" -"Agarrar en base al material del objeto:\n" -"m:kevlar busca objetos hechos de kevlar\n" -"M:cobre busca objetos hechos solamente de cobre\n" -"M:acerro,hierro se permiten varios materiales" #: src/auto_pickup.cpp msgid "Pickup Rule:" @@ -186719,9 +192076,8 @@ msgid "Won't display content or suffix matches" msgstr "No se van a mostrar contenidos ni sufijos" #: src/auto_pickup.cpp -msgid "Autopickup is not enabled in the options. Enable it now?" +msgid "Autopickup is not enabled in the options. Enable it now?" msgstr "" -"Autoagarrar no está activado en las opciones. ¿Querés activarlo ahora?" #: src/auto_pickup.cpp msgid "autopickup configuration" @@ -186757,7 +192113,7 @@ msgstr "¿Para qué sirve estudiar? (¡Tu moral es demasiado baja!)" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. You have %d" +msgid "%s %d needed to understand. You have %d" msgstr "" #: src/avatar.cpp src/iuse.cpp @@ -186783,7 +192139,7 @@ msgstr "¡%s es analfabeto!" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. %s has %d" +msgid "%s %d needed to understand. %s has %d" msgstr "" #: src/avatar.cpp @@ -186808,8 +192164,8 @@ msgstr "¡La moral de %s es demasiado baja!" #: src/avatar.cpp #, c-format -msgid "%s reads aloud..." -msgstr "%s lee en voz alta..." +msgid "%s reads aloud…" +msgstr "" #: src/avatar.cpp #, c-format @@ -186901,8 +192257,8 @@ msgid "Now reading %s, %s to stop early." msgstr "Ahora leyendo %s, %s para detener antes." #: src/avatar.cpp -msgid "You read aloud..." -msgstr "Leés en voz alta..." +msgid "You read aloud…" +msgstr "" #: src/avatar.cpp #, c-format @@ -186927,20 +192283,16 @@ msgstr "%s leen con vos para entretenerse." #: src/avatar.cpp #, c-format msgid "" -"It's difficult for %s to see fine details right now. Reading will take " +"It's difficult for %s to see fine details right now. Reading will take " "longer than usual." msgstr "" -"Es difícil para %s ver los pequeños detalles en este momento. Leer va a " -"llevar más tiempo que lo normal." #: src/avatar.cpp #, c-format msgid "" -"This book is too complex for %s to easily understand. It will take longer to" -" read." +"This book is too complex for %s to easily understand. It will take longer " +"to read." msgstr "" -"Este libro es muy complejo para %s para entenderlo fácilmente. Va a llevar " -"más tiempo leerlo." #: src/avatar.cpp msgid "You are too exhausted to train martial arts." @@ -187021,8 +192373,8 @@ msgstr "%s incrementa su nivel de %s." #: src/avatar.cpp #, c-format -msgid "You learn a little about %s! (%d%%)" -msgstr "¡Aprendés un poco de %s! (%d%%)" +msgid "You learn a little about %s! (%d%%)" +msgstr "" #: src/avatar.cpp #, c-format @@ -187050,8 +192402,8 @@ msgid "Rereading the %s isn't as much fun for %s." msgstr "Releer el %s no es muy divertido para %s." #: src/avatar.cpp -msgid "Maybe you should find something new to read..." -msgstr "Tal vez deberías encontrar algo nuevo para leer..." +msgid "Maybe you should find something new to read…" +msgstr "" #: src/avatar.cpp #, c-format @@ -187085,20 +192437,20 @@ msgid "You train for a while." msgstr "" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through your internal alarm..." -msgstr "Parece que te quedaste dormido/a a pesar de tu alarma interna..." +msgid "It looks like you've slept through your internal alarm…" +msgstr "" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through the alarm..." -msgstr "Parece que te quedaste dormido/a a pesar de la alarma..." +msgid "It looks like you've slept through the alarm…" +msgstr "" #: src/avatar.cpp msgid "You retched, but your stomach is empty." msgstr "Tenés arcadas, pero tu estómago está vacío." #: src/avatar.cpp -msgid "You lost your book! You stop reading." -msgstr "¡Perdiste tu libro! Dejás de leer." +msgid "You lost your book! You stop reading." +msgstr "" #: src/avatar.cpp msgid "Your thick scales get in the way." @@ -187167,9 +192519,69 @@ msgstr "" #: src/avatar.cpp #, c-format -msgid "Are you sure you want to raise %s? %d points available." +msgid "Are you sure you want to raise %s? %d points available." +msgstr "" + +#: src/avatar.cpp +msgid "You set your mech's leg power to a loping fast walk." +msgstr "" + +#: src/avatar.cpp +msgid "You nudge your steed into a steady trot." +msgstr "" + +#: src/avatar.cpp +msgid "You start walking." msgstr "" +#: src/avatar.cpp +msgid "You set the power of your mech's leg servos to maximum." +msgstr "" + +#: src/avatar.cpp +msgid "You spur your steed into a gallop." +msgstr "" + +#: src/avatar.cpp +msgid "You start running." +msgstr "Empezás a correr." + +#: src/avatar.cpp +msgid "Your steed is too tired to go faster." +msgstr "" + +#: src/avatar.cpp +msgid "You need two functional legs to run." +msgstr "" + +#: src/avatar.cpp +msgid "You're too tired to run." +msgstr "Estás muy cansado para correr." + +#: src/avatar.cpp +msgid "You reduce the power of your mech's leg servos to minimum." +msgstr "" + +#: src/avatar.cpp +msgid "You slow your steed to a walk." +msgstr "" + +#: src/avatar.cpp +msgid "You start crouching." +msgstr "" + +#. ~ %1$s: weapon name, %2$s: holster name +#: src/avatar.cpp src/game.cpp +#, c-format +msgctxt "holster" +msgid "Draw %1$s from %2$s?" +msgstr "" + +#: src/avatar.cpp src/monexamine.cpp +#, c-format +msgid "What to do with your %s?" +msgstr "¿Qué querés hacer con tu %s?" + #: src/avatar_action.cpp msgid "You can't move while in your shell. Deactivate it to go mobile." msgstr "" @@ -187177,12 +192589,12 @@ msgstr "" "movilizarte." #: src/avatar_action.cpp -msgid "You cannot pull yourself away from the faultline..." -msgstr "No podés apartarte de la enorme grieta en el suelo..." +msgid "You cannot pull yourself away from the faultline…" +msgstr "" #: src/avatar_action.cpp -msgid "Monster in the way. Auto-move canceled." -msgstr "Hay un monstruo en el medio. Auto-moverse cancelado." +msgid "Monster in the way. Auto-move canceled." +msgstr "" #: src/avatar_action.cpp msgid "Click directly on monster to attack." @@ -187193,8 +192605,8 @@ msgid "Your willpower asserts itself, and so do you!" msgstr "¡Tu voluntad se reafirma a sí misma, y vos hacés lo mismo!" #: src/avatar_action.cpp src/handle_action.cpp src/handle_action.cpp -msgid "You're too pacified to strike anything..." -msgstr "Estás demasiado apaciguado como para golpear algo..." +msgid "You're too pacified to strike anything…" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -187275,8 +192687,8 @@ msgstr "¡Te hundís como una piedra!" #: src/avatar_action.cpp #, c-format -msgid "You need to breathe! (%s to surface.)" -msgstr "¡Necesitás respirar! (%s para ir hacia la superficie.)" +msgid "You need to breathe! (%s to surface.)" +msgstr "" #: src/avatar_action.cpp msgid "You need to breathe but you can't swim! Get to dry land, quick!" @@ -187287,16 +192699,16 @@ msgid "You cannot board a vehicle while mounted." msgstr "" #: src/avatar_action.cpp -msgid "No hostile creature in reach. Waiting a turn." -msgstr "No hay criaturas hostiles al alcance. Se va a esperar un turno." +msgid "No hostile creature in reach. Waiting a turn." +msgstr "" #: src/avatar_action.cpp msgid "Your eyes steel, and you raise your weapon!" msgstr "¡Tu mirada se endurece, y levantás tu arma!" #: src/avatar_action.cpp -msgid "You can't fire your weapon, it's too heavy..." -msgstr "No podés disparar tu arma, es demasiado pesada..." +msgid "You can't fire your weapon, it's too heavy…" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -187306,12 +192718,14 @@ msgstr "" "separado." #: src/avatar_action.cpp -msgid "You can no longer fire." -msgstr "Ya no podés disparar." +#, c-format +msgid "You can no longer fire your %s." +msgstr "" #: src/avatar_action.cpp -msgid "You need a free arm to drive!" -msgstr "¡Necesitás un brazo libre para manejar!" +#, c-format +msgid "You can't use your %s while driving!" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -187319,8 +192733,9 @@ msgid "You need two free hands to fire your %s." msgstr "Necesitás las dos manos libres para poder disparar tu %s." #: src/avatar_action.cpp -msgid "You need to reload!" -msgstr "¡Necesitás recargar!" +#, c-format +msgid "Your %s is empty!" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -187331,22 +192746,20 @@ msgstr "¡Tu %s necesita %i cargas para poder disparar!" #, c-format msgid "" "You need a UPS with at least %d charges or an advanced UPS with at least %d " -"charges to fire that!" +"charges to fire the %s!" msgstr "" -"¡Necesitás un UPS con %d cargas como mínimo o un UPS mejorado con %d cargas " -"como mínimo para poder disparar eso!" #: src/avatar_action.cpp -msgid "Your mech has an empty battery, its weapon will not fire." +#, c-format +msgid "Your mech has an empty battery, its %s will not fire." msgstr "" #: src/avatar_action.cpp +#, c-format msgid "" -"You must stand near acceptable terrain or furniture to use this weapon. A " +"You must stand near acceptable terrain or furniture to use this %s. A " "table, a mound of dirt, a broken window, etc." msgstr "" -"Tenés que pararte cerca de un terreno o mueble adecuado para usar esta arma." -" Una mesa, una montañita de tierra, una ventana rota, etc." #: src/avatar_action.cpp #, c-format @@ -187392,8 +192805,8 @@ msgid "You concentrate mightily, and your body obeys!" msgstr "Te concentrás extremadamente, ¡y tu cuerpo obedece!" #: src/avatar_action.cpp -msgid "You can't muster up the effort to throw anything..." -msgstr "No podés reunir las fuerzas necesarias para tirar nada..." +msgid "You can't muster up the effort to throw anything…" +msgstr "" #: src/ballistics.cpp #, c-format @@ -187579,6 +192992,16 @@ msgstr "Tus %s se desactivan automáticamente." msgid "Your %s automatically turns off." msgstr "Tu %s se desactiva automáticamente." +#: src/bionics.cpp +#, c-format +msgid "Your %s does not have sufficient humidity to function." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency will be reduced." +msgstr "" + #: src/bionics.cpp msgid "You change your mind and turn it off." msgstr "Te arrepentís y lo apagás." @@ -187696,10 +193119,6 @@ msgstr "Resultado del Análisis de Sangre" msgid "No effects." msgstr "Sin efectos." -#: src/bionics.cpp -msgid "There was not enough moisture in the air from which to draw water!" -msgstr "¡No había suficiente humedad en el aire para poder extraer agua!" - #: src/bionics.cpp msgid "Your torsion ratchet locks onto your joints." msgstr "" @@ -187712,10 +193131,6 @@ msgstr "" msgid "Start a fire where?" msgstr "¿Dónde querés encender un fuego?" -#: src/bionics.cpp src/iexamine.cpp -msgid "You can't light a fire there." -msgstr "No podés encender un fuego ahí." - #: src/bionics.cpp #, c-format msgid "Your radiation level: %d" @@ -187892,6 +193307,20 @@ msgstr "" msgid "'s %s turns off to not waste fuel." msgstr "" +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, your %s shuts down to preserve" +" your health." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, 's %s shuts down to " +"preserve their health." +msgstr "" + #: src/bionics.cpp #, c-format msgid "Your %s runs out of fuel and turn off." @@ -187920,6 +193349,21 @@ msgstr "Tu %s ha perdido conexión y se está apagando." msgid "You feel your throat open up and air filling your lungs!" msgstr "¡Sentís cómo se te abre la garganta y el aire llena tus pulmones!" +#: src/bionics.cpp +#, c-format +msgid "There is not enough humidity for your %s to function." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency is reduced." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "You are properly hydrated. Your %s chirps happily." +msgstr "" + #: src/bionics.cpp msgid "The removal fails without incident." msgstr "" @@ -187981,9 +193425,8 @@ msgstr " se prepara para la cirugía." #: src/bionics.cpp #, c-format -msgid "A lifetime of augmentation has taught %s a thing or two..." +msgid "A lifetime of augmentation has taught %s a thing or two…" msgstr "" -"Toda una vida con aumentos le ha enseñado a %s alguna que otra cosita..." #: src/bionics.cpp #, c-format @@ -187998,10 +193441,8 @@ msgstr "" #: src/bionics.cpp msgid "" -"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" +"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" msgstr "" -"ADVERTENCIA: ¡Extraer un reactor puede dejar material radiactivo! ¿Seguro " -"que lo querés extraer?" #: src/bionics.cpp #, c-format @@ -188021,14 +193462,12 @@ msgstr "" msgid "Are you sure you wish to uninstall the selected bionic?" msgstr "¿Estás seguro que querés quitar el biónico seleccionado?" -#: src/bionics.cpp +#: src/bionics.cpp src/game.cpp #, c-format msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " +"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " "anyway?" msgstr "" -"ADVERTENCIA: ¡%i por ciento de posibilidad de daño SEVERO a todas las partes" -" del cuerpo! ¿Continuar?" #: src/bionics.cpp msgid "Your parts are jiggled back into their familiar places." @@ -188101,10 +193540,8 @@ msgstr "¿Estás seguro que querés instalar el biónico seleccionado?" #, c-format msgid "" "WARNING: %i percent chance of failure that may result in damage, pain, or a " -"faulty installation! Continue anyway?" +"faulty installation! Continue anyway?" msgstr "" -"ADVERTENCIA: ¡%i por ciento de fallo que podría causar daño, dolor o una " -"instalación defectuosa! ¿Continuar?" #. ~ %1$s - name of the bionic to be upgraded (inferior), %2$s - name of the #. upgraded bionic (superior). @@ -188227,12 +193664,31 @@ msgstr "" msgid "Available Fuel: " msgstr "" +#: src/bionics_ui.cpp +msgctxt "decimal separator" +msgid "." +msgstr "." + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: kilojoule" +msgid "kJ" +msgstr "kJ" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: joule" +msgid "J" +msgstr "" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: millijoule" +msgid "mJ" +msgstr "" + #: src/bionics_ui.cpp #, c-format msgid "" -"Bionic Power: %i/%i" +"Bionic Power: %s/%ikJ" msgstr "" -"Energía Biónica: %i/%i" #: src/bionics_ui.cpp msgid "" @@ -188264,22 +193720,22 @@ msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ act" +msgid "%s act" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ deact" +msgid "%s deact" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/turn" +msgid "%s/turn" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/%d turns" +msgid "%s/%d turns" msgstr "" #: src/bionics_ui.cpp src/handle_action.cpp @@ -188327,21 +193783,16 @@ msgstr "No hay biónicos pasivos instalados." #: src/bionics_ui.cpp #, c-format -msgid "%s; enter new letter. Space to clear. Esc to cancel." +msgid "%s; enter new letter. Space to clear. Esc to cancel." msgstr "" -"%s; ingresá la tecla nueva. Barra Espaciadora para ninguna tecla. Esc para " -"cancelar." #: src/bionics_ui.cpp #, c-format msgid "" -"Invalid bionic letter. Only those characters are valid:\n" +"Invalid bionic letter. Only those characters are valid:\n" "\n" "%s" msgstr "" -"Letra biónica no válida. Solo son válidos estos caracteres:\n" -"\n" -"%s" #: src/bionics_ui.cpp #, c-format @@ -188380,10 +193831,40 @@ msgstr "" msgid "Target armor multiplier" msgstr "Multiplicador armadura enemigo" -#. ~ bash damage +80% of strength +#. ~ %1$s: damage type, %2$s: damage-related bonus name +#: src/bonuses.cpp +#, c-format +msgctxt "type of damage" +msgid "%1$s %2$s" +msgstr "%1$s %2$s" + +#. ~ %1$s: bonus name, %2$d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%% of %3$s" +msgstr "" + +#. ~ %1$s: bonus name, %2$d: bonus percentage +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%%" +msgstr "" + +#. ~ %1$s: bonus name, %2$+d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d%% of %3$s" +msgstr "" + +#. ~ %1$s: bonus name, %2$+d: bonus value #: src/bonuses.cpp -msgid " of " -msgstr " de " +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d" +msgstr "" #: src/calendar.cpp msgid "forever" @@ -188674,8 +194155,12 @@ msgstr "に坂索トし荷測のンおク妙免イロコヤ梅棋厚れ表幌" #: src/character.cpp msgctxt "not possessive" -msgid "you" -msgstr "vos" +msgid "You" +msgstr "Vos" + +#: src/character.cpp +msgid "Your" +msgstr "" #: src/character.cpp msgid "your" @@ -188690,6 +194175,63 @@ msgstr "de %s" msgid "armor" msgstr "armadura" +#: src/character.cpp +#, c-format +msgid "You remove the %s's harness." +msgstr "" + +#: src/character.cpp src/game.cpp +msgid "You let go of the grabbed object." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You climb on the %s." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You hear your %s whir to life." +msgstr "" + +#: src/character.cpp +msgid "You are ejected from your mech!" +msgstr "" + +#: src/character.cpp +msgid " is ejected from their mech!" +msgstr "" + +#: src/character.cpp +msgid "You fall off your mount!" +msgstr "" + +#: src/character.cpp +msgid " falls off their mount!" +msgstr "" + +#: src/character.cpp src/trapfunc.cpp +msgid "You hurt yourself!" +msgstr "¡Te lastimás!" + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Fell off a mount." +msgstr "" + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Fell off a mount." +msgstr "" + +#: src/character.cpp +msgid "Dismount where?" +msgstr "" + +#: src/character.cpp +msgid "You cannot dismount there!" +msgstr "" + #: src/character.cpp msgid "You struggle to stand." msgstr "Te cuesta estar parado." @@ -188878,6 +194420,11 @@ msgstr "" msgid "Liquid from your inventory has leaked onto the ground." msgstr "El líquido de tu inventario se ha chorreado al suelo." +#: src/character.cpp +#, c-format +msgid "Your current health value is %d." +msgstr "Tu nivel actual de salud es %d." + #: src/character.cpp msgid "Parched" msgstr "Muerto/a de sed" @@ -188947,6 +194494,78 @@ msgstr "" msgid "Your %s bionic shorts out!" msgstr "" +#: src/character.cpp +#, c-format +msgid "Your %s will be frostnipped in the next few hours." +msgstr "Tu %s será quemado/a por el frío en las próximas horas." + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten within the hour!" +msgstr "¡Tu %s se te congelará en menos de una hora!" + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten any minute now!" +msgstr "¡Tu %s se te congelará en cualquier momento!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s beginning to go numb from the cold!" +msgstr "¡Sentís tu %s comenzando a entumecerse por el frío!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very cold." +msgstr "Sentís que tu %s se está enfriando mucho." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting chilly." +msgstr "Sentís que tu %s se está helando." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting red hot from the heat!" +msgstr "¡Sentís tu %s ardiendo del calor!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very hot." +msgstr "Sentís que tu %s se está poniendo muy caliente." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting warm." +msgstr "Sentís que tu %s se está entibiando." + +#: src/character.cpp +#, c-format +msgid "The wind is making your %s feel quite cold." +msgstr "El viento hace que tu %s se sienta bastante frío/a." + +#: src/character.cpp +#, c-format +msgid "" +"The wind is very strong, you should find some more wind-resistant clothing " +"for your %s." +msgstr "" +"El viento es muy fuerte, deberías conseguir abrigo un poco más resistente al" +" viento para tu %s." + +#: src/character.cpp +#, c-format +msgid "" +"Your clothing is not providing enough protection from the wind for your %s!" +msgstr "" +"¡Tu ropa no te brinda protección suficiente contra el viento para tu %s!" + #: src/character.cpp msgid "Left Arm" msgstr "Brazo Izq." @@ -188964,8 +194583,8 @@ msgid "Right Leg" msgstr "Pierna Der." #: src/character.cpp -msgid "It is broken. It needs a splint or surgical attention." -msgstr "Está roto/a. Necesita entablillarlo/a o atención médica." +msgid "It is broken. It needs a splint or surgical attention." +msgstr "" #: src/character.cpp #, c-format @@ -189010,10 +194629,8 @@ msgstr "Esto no va a ayudar a limpiar la herida." #: src/character.cpp msgid "" -"It has a deep wound that looks infected. Antibiotics might be required." +"It has a deep wound that looks infected. Antibiotics might be required." msgstr "" -"Tiene una herida profunda que parece infectada. Pueden ser necesarios " -"antibióticos." #: src/character.cpp #, c-format @@ -189113,8 +194730,8 @@ msgstr "" msgid "Big" msgstr "" -#: src/character.cpp src/color.cpp src/color.cpp src/options.cpp -#: src/panels.cpp +#: src/character.cpp src/character_martial_arts.cpp src/color.cpp +#: src/options.cpp msgid "Normal" msgstr "Normal" @@ -189218,6 +194835,32 @@ msgstr "" msgid "EXTRA_EXERCISE" msgstr "" +#: src/character.cpp +msgid "Your body strains under the weight!" +msgstr "¡Tu cuerpo se esfuerza en mantener tanto peso!" + +#: src/character.cpp +#, c-format +msgid "Your %s needs %d charge from some UPS." +msgid_plural "Your %s needs %d charges from some UPS." +msgstr[0] "Tu %s necesita %d carga de algún UPS." +msgstr[1] "Tu %s necesita %d cargas de algún UPS." + +#: src/character.cpp +#, c-format +msgid "Your %s has %d charge but needs %d." +msgid_plural "Your %s has %d charges but needs %d." +msgstr[0] "Tu %s tiene %d carga pero necesita %d." +msgstr[1] "Tu %s tiene %d cargas pero necesita %d." + +#: src/character.cpp +msgid "You cough heavily." +msgstr "Tosés fuertemente." + +#: src/character.cpp +msgid "a hacking cough." +msgstr "una tos seca." + #: src/character.cpp msgid "You try to shout but you have no face!" msgstr "" @@ -189295,6 +194938,125 @@ msgctxt "fake stat there's an error" msgid "ERR" msgstr "" +#. ~ %s is armor name +#: src/character.cpp +#, c-format +msgctxt "memorial_male" +msgid "Worn %s was completely destroyed." +msgstr "El %s puesto ha sido completamente destruido." + +#: src/character.cpp +#, c-format +msgctxt "memorial_female" +msgid "Worn %s was completely destroyed." +msgstr "El %s puesto ha sido completamente destruido." + +#: src/character.cpp +#, c-format +msgid "Your %s is completely destroyed!" +msgstr "¡Tu %s es destruido completamente!" + +#: src/character.cpp +#, c-format +msgid "'s %s is completely destroyed!" +msgstr "¡El %s de es destruido completamente!" + +#: src/character.cpp src/veh_interact.cpp +msgid "destroyed" +msgstr "destruido" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s further!" +msgstr "¡Tu %1$s es %2$s aún más!" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s!" +msgstr "¡Tu %1$s es %2$s!" + +#: src/character.cpp +#, c-format +msgid "You were attacked by %s!" +msgstr "¡Te atacó %s! " + +#: src/character.cpp +msgid "You were hurt!" +msgstr "¡Te lastimaron!" + +#. ~spore-release sound +#. ~ the sound of a fungus releasing spores +#. ~ That spore sound again +#. ~ the sound of a fungus dying +#: src/character.cpp src/monattack.cpp src/monattack.cpp src/mondeath.cpp +msgid "Pouf!" +msgstr "¡Puf!" + +#: src/character.cpp +msgid "You sink your roots into the soil." +msgstr "Hundís tus raíces en la tierra." + +#: src/character.cpp +msgid "You start hauling items along the ground." +msgstr "Empezás a arrastrar objetos por el suelo." + +#: src/character.cpp +msgid "Your hands are not free, which makes hauling slower." +msgstr "" +"Tus manos no están vacías, lo que hace que arrastres cosas mucho más lento." + +#: src/character.cpp +msgid "You stop hauling items." +msgstr "Dejás de arrastrar objetos." + +#: src/character.cpp +msgid "You resume your task." +msgstr "Retomás tu tarea." + +#: src/character.cpp +msgid "You nestle your pile of clothes for warmth." +msgstr "Acurrucás la pila de ropa para estar más abrigado." + +#: src/character.cpp +msgid "You use your pile of clothes for warmth." +msgstr "Usás tu pila de ropa para estar más abrigado." + +#: src/character.cpp +#, c-format +msgid "You snuggle your %s to keep warm." +msgstr "Te abrazás a tu %s para mantener la temperatura." + +#: src/character.cpp +#, c-format +msgid "You use your %s to keep warm." +msgstr "Usás tu %s para mantener la temperatura." + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Entered hibernation." +msgstr "Hibernación comenzada." + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Entered hibernation." +msgstr "Hibernación comenzada." + +#: src/character_martial_arts.cpp +#, c-format +msgid "You have learned %s from extensive practice with the CQB Bionic." +msgstr "" +"Has aprendido %s por tu exhaustiva práctica con el Biónico de Pelea en " +"espacios cerrados." + +#: src/character_martial_arts.cpp +#, c-format +msgid "%s to select martial arts style." +msgstr "%s para elegir el estilo de arte marcial." + +#: src/character_martial_arts.cpp +msgid "No Style" +msgstr "Sin estilo" + #: src/clzones.cpp msgid "No Auto Pickup" msgstr "No Auto Agarrar" @@ -189339,277 +195101,6 @@ msgid "" "this area." msgstr "" -#: src/clzones.cpp -msgid "Loot: Unsorted" -msgstr "Cosas: Desordenadas" - -#: src/clzones.cpp -msgid "" -"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " -"sort items inside. It can overlap with Loot zones of different types." -msgstr "" -"Lugar para dejar las cosas sin orden. Podés usar la acción de zona \"ordenar" -" cosas\" para ordenar los objetos dentro. Se puede sobreponer con otras " -"zonas de cosas." - -#: src/clzones.cpp -msgid "Loot: Food" -msgstr "Cosas: Comida" - -#: src/clzones.cpp -msgid "" -"Destination for comestibles. If more specific food zone is not defined, all " -"food is moved here." -msgstr "" -"Lugar para lo comestible. Si no hay una zona más específica para la comida, " -"va toda acá." - -#: src/clzones.cpp -msgid "Loot: P.Food" -msgstr "Cosas: P.Comida" - -#: src/clzones.cpp -msgid "" -"Destination for perishable comestibles. Does include perishable drinks if " -"such zone is not specified." -msgstr "" -"Lugar para los comestibles perecederos. Incluye bebidas perecederas si no " -"hay una zona específica para ellas." - -#: src/clzones.cpp -msgid "Loot: Drink" -msgstr "Cosas: Bebidas" - -#: src/clzones.cpp -msgid "" -"Destination for drinks. Does include perishable drinks if such zone is not " -"specified." -msgstr "" -"Lugar para las bebidas. Incluye bebidas perecederas si no hay una zona " -"específica para ellas." - -#: src/clzones.cpp -msgid "Loot: P.Drink" -msgstr "Cosas: P.Bebidas" - -#: src/clzones.cpp -msgid "Destination for perishable drinks." -msgstr "Lugar para bebidas perecederas." - -#: src/clzones.cpp -msgid "Loot: Guns" -msgstr "Cosas: Armas de Fuego" - -#: src/clzones.cpp -msgid "Destination for guns, bows and similar weapons." -msgstr "Lugar para armas de fuego, arcos y similares." - -#: src/clzones.cpp -msgid "Loot: Magazines" -msgstr "Cosas: Cargadores" - -#: src/clzones.cpp -msgid "Destination for gun magazines." -msgstr "Lugar para cargadores de armas." - -#: src/clzones.cpp -msgid "Loot: Ammo" -msgstr "Cosas: Munición" - -#: src/clzones.cpp -msgid "Destination for ammo." -msgstr "Lugar para la munición." - -#: src/clzones.cpp -msgid "Loot: Weapons" -msgstr "Cosas: Armas" - -#: src/clzones.cpp -msgid "Destination for melee weapons." -msgstr "Lugar para las armas de cuerpo a cuerpo." - -#: src/clzones.cpp -msgid "Loot: Tools" -msgstr "Cosas: Herramientas" - -#: src/clzones.cpp -msgid "Destination for tools." -msgstr "Lugar para herramientas." - -#: src/clzones.cpp -msgid "Loot: Clothing" -msgstr "Cosas: Ropa" - -#: src/clzones.cpp -msgid "" -"Destination for clothing. Does include filthy clothing if such zone is not " -"specified." -msgstr "" -"Lugar para ropa. Incluye la ropa sucia si no hay una zona específica para " -"ella." - -#: src/clzones.cpp -msgid "Loot: F.Clothing" -msgstr "Cosas: Ropa Sucia" - -#: src/clzones.cpp -msgid "Destination for filthy clothing." -msgstr "Lugar para la ropa sucia." - -#: src/clzones.cpp -msgid "Loot: Drugs" -msgstr "Cosas: Drogas" - -#: src/clzones.cpp -msgid "Destination for drugs and other medical items." -msgstr "Lugar para drogas y otros objetos médicos." - -#: src/clzones.cpp -msgid "Loot: Books" -msgstr "Cosas: Libros" - -#: src/clzones.cpp -msgid "Destination for books and magazines." -msgstr "Lugar para libros y revistas." - -#: src/clzones.cpp -msgid "Loot: Mods" -msgstr "Cosas: Modificaciones" - -#: src/clzones.cpp -msgid "Destination for firearm modifications and similar items." -msgstr "Lugar para modificaciones de armas de fuego y similares." - -#: src/clzones.cpp -msgid "Loot: Mutagens" -msgstr "Cosas: Mutágenos" - -#: src/clzones.cpp -msgid "Destination for mutagens, serums, and purifiers." -msgstr "Lugar para mutágenos, sueros y purificantes." - -#: src/clzones.cpp -msgid "Loot: Bionics" -msgstr "Cosas: Biónicos" - -#: src/clzones.cpp -msgid "Destination for Compact Bionics Modules aka CBMs." -msgstr "Lugar para Módulos Compactos de Biónicos, también conocidos como MCB." - -#: src/clzones.cpp -msgid "Loot: V.Parts" -msgstr "Cosas: Partes de Vehículos" - -#: src/clzones.cpp -msgid "Destination for vehicle parts." -msgstr "Lugar para partes de vehículos." - -#: src/clzones.cpp -msgid "Loot: Other" -msgstr "Cosas: Otros" - -#: src/clzones.cpp -msgid "Destination for other miscellaneous items." -msgstr "Lugar para otros objetos varios." - -#: src/clzones.cpp -msgid "Loot: Fuel" -msgstr "Cosas: Combustible" - -#: src/clzones.cpp -msgid "" -"Destination for gasoline, diesel, lamp oil and other substances used as a " -"fuel." -msgstr "" -"Lugar para nafta, gasoil, aceite para lámpara y otras sustancias utilzadas " -"como combustible." - -#: src/clzones.cpp -msgid "Loot: Seeds" -msgstr "Cosas: Semillas" - -#: src/clzones.cpp -msgid "Destination for seeds, stems and similar items." -msgstr "Lugar para semillas, tallos y similares." - -#: src/clzones.cpp -msgid "Loot: Chemical" -msgstr "Cosas: Químicos" - -#: src/clzones.cpp -msgid "Destination for chemicals." -msgstr "Lugar para químicos." - -#: src/clzones.cpp -msgid "Loot: S.Parts" -msgstr "Cosas: S.Partes" - -#: src/clzones.cpp -msgid "Destination for spare parts." -msgstr "Lugar para partes sueltas." - -#: src/clzones.cpp -msgid "Loot: Artifacts" -msgstr "Cosas: Artefactos" - -#: src/clzones.cpp -msgid "Destination for artifacts" -msgstr "Lugar para artefactos." - -#: src/clzones.cpp -msgid "Loot: Corpses" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for corpses" -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Armor" -msgstr "Cosas: Armadura" - -#: src/clzones.cpp -msgid "" -"Destination for armor. Does include filthy armor if such zone is not " -"specified." -msgstr "" -"Lugar para armaduras. Incluye armaduras sucias si no hay una zona específica" -" para ella." - -#: src/clzones.cpp -msgid "Loot: F.Armor" -msgstr "Cosas: Armadura Sucia" - -#: src/clzones.cpp -msgid "Destination for filthy armor." -msgstr "Lugar para armaduras sucias." - -#: src/clzones.cpp -msgid "Loot: Wood" -msgstr "Cosas: Madera" - -#: src/clzones.cpp -msgid "Destination for firewood and items that can be used as such." -msgstr "Lugar para leña y objetos que pueden usarse como tal." - -#: src/clzones.cpp -msgid "Loot: Custom" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for loot with a custom filter that you can modify." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Ignore" -msgstr "Cosas: Ignorar" - -#: src/clzones.cpp -msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." -msgstr "" -"Los objetos dentro de esta zona son ignorados por la acción \"ordenar " -"cosas\"." - #: src/clzones.cpp msgid "Source: Firewood" msgstr "" @@ -189617,7 +195108,7 @@ msgstr "" #: src/clzones.cpp msgid "" "Source for firewood or other flammable materials in this zone may be used to" -" automatically refuel fires. This will be done to maintain light during " +" automatically refuel fires. This will be done to maintain light during " "long-running tasks such as crafting, reading or waiting." msgstr "" @@ -189669,6 +195160,14 @@ msgstr "" msgid "Any vehicles in this area are marked for repair work." msgstr "" +#: src/clzones.cpp +msgid "Vehicle Patrol Zone" +msgstr "" + +#: src/clzones.cpp +msgid "Vehicles with an autopilot will patrol in this zone." +msgstr "" + #: src/clzones.cpp msgid "Basecamp: Food" msgstr "" @@ -189689,11 +195188,11 @@ msgstr "Sin semilla" #: src/clzones.cpp #, c-format -msgid "Loot: Custom : %s" +msgid "Loot: Custom: %s" msgstr "" #: src/clzones.cpp -msgid "Loot: Custom : No Filter" +msgid "Loot: Custom: No Filter" msgstr "" #: src/clzones.cpp @@ -189847,8 +195346,8 @@ msgstr "¡ERROR! ¡Acceso denegado!" #: src/computer.cpp #, c-format -msgid "Logging into %s..." -msgstr "Accediendo a %s..." +msgid "Logging into %s…" +msgstr "" #: src/computer.cpp msgid "Access is temporary blocked for security purposes." @@ -189863,16 +195362,16 @@ msgid "Bypass security?" msgstr "¿Hackear seguridad?" #: src/computer.cpp -msgid "Shutting down... press any key." -msgstr "Apagando... presione una tecla." +msgid "Shutting down… press any key." +msgstr "" #: src/computer.cpp -msgid "Maximum login attempts exceeded. Press any key..." -msgstr "Intentos máximos de acceso excedidos. Presione una tecla..." +msgid "Maximum login attempts exceeded. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Login successful. Press any key..." -msgstr "Acceso completo. Presione una tecla..." +msgid "Login successful. Press any key…" +msgstr "" #: src/computer.cpp msgid "Root Menu" @@ -189895,29 +195394,29 @@ msgid "Choose drive:" msgstr "Elegí el disco:" #: src/computer.cpp -msgid "Doors opened. Press any key..." -msgstr "Puertas abiertas. Presione una tecla..." +msgid "Doors opened. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Lock enabled. Press any key..." -msgstr "Cerradura activada. Presione una tecla..." +msgid "Lock enabled. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Lock disabled. Press any key..." -msgstr "Cerradura desactivada. Presione una tecla..." +msgid "Lock disabled. Press any key…" +msgstr "" #. ~ the sound of a church bell ringing #: src/computer.cpp -msgid "Bohm... Bohm... Bohm..." -msgstr "Tolón... Tolón... Tolón..." +msgid "Bohm… Bohm… Bohm…" +msgstr "" #: src/computer.cpp -msgid "Containment shields opened. Press any key..." -msgstr "Escudos de contención abiertos. Presione una tecla..." +msgid "Containment shields opened. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Subjects terminated. Press any key..." -msgstr "Sujetos eliminados. Presione una tecla..." +msgid "Subjects terminated. Press any key…" +msgstr "" #: src/computer.cpp msgid "WARNING: Resonance cascade carries severe risk! Continue?" @@ -189929,42 +195428,36 @@ msgid "No data found." msgstr "No se encontraron datos." #: src/computer.cpp -msgid "Local data-access error logged, alerting helpdesk. Press any key..." +msgid "Local data-access error logged, alerting helpdesk. Press any key…" msgstr "" -"Error de acceso a los datos locales, alertando al soporte técnico. Presione " -"una tecla..." #: src/computer.cpp msgid "" -"Warning: anomalous archive-access activity detected at this node. Press any " -"key..." +"Warning: anomalous archive-access activity detected at this node. Press any" +" key…" msgstr "" -"Advertencia: se detectó actividad anómala de acceso al archivo en este nodo." -" Presione una tecla..." #: src/computer.cpp -msgid "Warning: resticted data access. Attempt logged. Press any key..." +msgid "Warning: resticted data access. Attempt logged. Press any key…" msgstr "" #: src/computer.cpp -msgid "Press any key..." -msgstr "Presione una tecla..." +msgid "Press any key…" +msgstr "" #: src/computer.cpp msgid "" "Surface map data downloaded. Local anomalous-access error logged. Press " -"any key..." +"any key…" msgstr "" -"Datos de mapa de superficie descargados. Error de acceso a las anomalías " -"locales. Presione una tecla..." #: src/computer.cpp -msgid "Sewage map data downloaded. Press any key..." -msgstr "Datos de mapa de cloacas descargados. Presione una tecla..." +msgid "Sewage map data downloaded. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Subway map data downloaded. Press any key..." -msgstr "Datos de mapa de subte descargados. Presione una tecla..." +msgid "Subway map data downloaded. Press any key…" +msgstr "" #: src/computer.cpp msgid "Target acquisition canceled." @@ -190000,14 +195493,14 @@ msgstr "Acceso a biónicos - Manifiesto:" #: src/computer.cpp #, c-format -msgid "%d OTHER FOUND..." -msgid_plural "%d OTHERS FOUND..." -msgstr[0] "%d OTRO ENCONTRADO..." -msgstr[1] "%d OTROS ENCONTRADOS..." +msgid "%d OTHER FOUND…" +msgid_plural "%d OTHERS FOUND…" +msgstr[0] "" +msgstr[1] "" #: src/computer.cpp -msgid "Elevator activated. Press any key..." -msgstr "Ascensor activado. Presione una tecla..." +msgid "Elevator activated. Press any key…" +msgstr "" #: src/computer.cpp #, c-format @@ -190032,8 +195525,8 @@ msgstr "" "LOS REGISTROS PERTINENTES DEL CAPATAZ SERÁN AGREGADOS A LAS NOTAS" #: src/computer.cpp -msgid "FILE CORRUPTED, PRESS ANY KEY..." -msgstr "ARCHIVO DAÑADO, PRESIONE UNA TECLA..." +msgid "FILE CORRUPTED, PRESS ANY KEY…" +msgstr "" #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -190048,12 +195541,12 @@ msgid "ACCESS DENIED" msgstr "ACCESO DENEGADO" #: src/computer.cpp -msgid "Repeater mod installed..." -msgstr "Repetidor instalado..." +msgid "Repeater mod installed…" +msgstr "" #: src/computer.cpp -msgid "You do not have a repeater mod to install..." -msgstr "No tenés una modificación de repetidor para instalar..." +msgid "You do not have a repeater mod to install…" +msgstr "" #: src/computer.cpp msgid "Computer couldn't find its mission!" @@ -190084,17 +195577,16 @@ msgid "ERROR: Please only use blood samples." msgstr "ERROR: Por favor, usar solo muestras de sangre." #: src/computer.cpp -msgid "Result: Human blood, no pathogens found." -msgstr "Resultado: Sangre humana, no se encontraron patógenos." +msgid "Result: Human blood, no pathogens found." +msgstr "" #: src/computer.cpp -msgid "Result: Human blood. Unknown pathogen found." -msgstr "Resultado: Sangre humana. Patógeno desconocido encontrado." +msgid "Result: Human blood. Unknown pathogen found." +msgstr "" #: src/computer.cpp -msgid "Result: Unknown blood type. Unknown pathogen found." +msgid "Result: Unknown blood type. Unknown pathogen found." msgstr "" -"Resultado: Tipo de sangre desconocido. Patógeno desconocido encontrado." #: src/computer.cpp msgid "Pathogen bonded to erythrocytes and leukocytes." @@ -190130,71 +195622,54 @@ msgstr "ERROR: Memoria vacía." #: src/computer.cpp msgid "" -"Memory Bank: Military Hexron Encryption\n" +"Memory Bank: Military Hexron Encryption\n" "Printing Transcript\n" msgstr "" -"Memoria: Codificación Hexron Militar\n" -"Imprimiendo Transcripción\n" #: src/computer.cpp msgid "" -"Memory Bank: Unencrypted\n" +"Memory Bank: Unencrypted\n" "Nothing of interest.\n" msgstr "" -"Memoria: Sin codificación\n" -"Nada interesante.\n" #: src/computer.cpp msgid "" "\n" -"ERROR: NETWORK DISCONNECT \n" +"ERROR: NETWORK DISCONNECT\n" "UNABLE TO REACH NETWORK ROUTER OR PROXY. PLEASE CONTACT YOUR\n" "SYSTEM ADMINISTRATOR TO RESOLVE THIS ISSUE.\n" " \n" msgstr "" -"\n" -"ERROR: DESCONEXIÓN DE RED\n" -"NO SE PUDO CONECTAR CON EL ROUTER DE LA RED O EL PROXY. POR FAVOR,\n" -"COMUNÍQUESE CON EL ADMINISTRADOR DEL SISTEMA PARA RESOLVER\n" -"EL PROBLEMA.\n" #: src/computer.cpp -msgid "Press any key to continue..." -msgstr "Presione una tecla para continuar..." +msgid "Press any key to continue…" +msgstr "" #: src/computer.cpp msgid "" -"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF \n" -"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU \n" -"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW. \n" +"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF\n" +"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU\n" +"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW.\n" "\n" -"1. DO NOT PANIC. \n" -"2. REMAIN INSIDE THE BUILDING. \n" -"3. SEEK SHELTER IN THE BASEMENT. \n" -"4. USE PROVIDED GAS MASKS. \n" -"5. AWAIT FURTHER INSTRUCTIONS. \n" +"1. DO NOT PANIC.\n" +"2. REMAIN INSIDE THE BUILDING.\n" +"3. SEEK SHELTER IN THE BASEMENT.\n" +"4. USE PROVIDED GAS MASKS.\n" +"5. AWAIT FURTHER INSTRUCTIONS.\n" "\n" " \n" msgstr "" #: src/computer.cpp msgid "" -" WARNING, RADIO TOWER IS UNRESPONSIVE. \n" +" WARNING, RADIO TOWER IS UNRESPONSIVE.\n" " \n" -" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS. \n" -" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD \n" -" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED. \n" +" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS.\n" +" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD\n" +" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED.\n" " \n" " \n" msgstr "" -"ADVERTENCIA, LA TORRE DE RADIO NO RESPONDE.\n" -"\n" -"LA ENERGÍA DE RESPALDO NO ES SUFICIENTE PARA LOGRAR UNA TRANSMISIÓN.\n" -"SI SE TRATA DE UNA EMERGENCIA, COMUNÍQUESE CON LAS UNIDADES DE LA\n" -"GUARDIA NACIONAL LOCAL PARA OBTENER PRIORIDAD CUANDO SE\n" -"REPARTAN LOS GENERADORES.\n" -"\n" -"\n" #: src/computer.cpp msgid "Charges Detonated" @@ -190239,7 +195714,7 @@ msgid "WARNING [409]: Primary sensors offline!" msgstr "" #: src/computer.cpp -msgid " >> Initialize secondary sensors: Geiger profiling..." +msgid " >> Initialize secondary sensors: Geiger profiling…" msgstr "" #: src/computer.cpp @@ -190247,7 +195722,7 @@ msgid " >> Radiation spike detected!\n" msgstr "" #: src/computer.cpp -msgid "WARNING [912]: Catastrophic malfunction! Contamination detected! " +msgid "WARNING [912]: Catastrophic malfunction! Contamination detected!" msgstr "" #: src/computer.cpp @@ -190255,11 +195730,11 @@ msgid "EMERGENCY PROCEDURE [1]: Evacuate. Evacuate. Evacuate.\n" msgstr "" #: src/computer.cpp -msgid "EMERGENCY SHUTDOWN! Press any key..." +msgid "EMERGENCY SHUTDOWN! Press any key…" msgstr "" #: src/computer.cpp -msgid "PROCESSING... CYCLE COMPLETE." +msgid "PROCESSING… CYCLE COMPLETE." msgstr "" #: src/computer.cpp @@ -190269,7 +195744,7 @@ msgstr "" #: src/computer.cpp msgid "" -"CRITICAL ERROR... RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " +"CRITICAL ERROR… RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " "RP_M_01_rev.03." msgstr "" @@ -190279,22 +195754,22 @@ msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... AVG %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… AVG %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... MAX %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… MAX %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ CONSOLE: .... %s mSv/h." +msgid "GEIGER COUNTER @ CONSOLE:… %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "PERSONAL DOSIMETRY: .... %s mSv." +msgid "PERSONAL DOSIMETRY:… %s mSv." msgstr "" #: src/computer.cpp @@ -190318,11 +195793,11 @@ msgid "No items detected at: LOADING BAY." msgstr "" #: src/computer.cpp -msgid "Conveyor belt cycle complete. Press any key..." +msgid "Conveyor belt cycle complete. Press any key…" msgstr "" #: src/computer.cpp -msgid "Toggling shutters. Press any key..." +msgid "Toggling shutters. Press any key…" msgstr "" #: src/computer.cpp @@ -190330,15 +195805,15 @@ msgid "Operation irreversible. Extract radioactive material?" msgstr "" #: src/computer.cpp -msgid "Extraction sequence complete... Press any key." +msgid "Extraction sequence complete… Press any key." msgstr "" #: src/computer.cpp -msgid "ERROR! Radiation platform unresponsive... Press any key." +msgid "ERROR! Radiation platform unresponsive… Press any key." msgstr "" #: src/computer.cpp -msgid "Initiating POWER-DIAG ver.2.34 ..." +msgid "Initiating POWER-DIAG ver.2.34…" msgstr "" #: src/computer.cpp @@ -190359,13 +195834,13 @@ msgstr "" #: src/computer.cpp #, c-format -msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." +msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." msgstr "" #: src/computer.cpp #, c-format msgid "" -"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " +"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " "DETECTED." msgstr "" @@ -190374,7 +195849,7 @@ msgid "Backup power status: STANDBY MODE." msgstr "" #: src/computer.cpp -msgid "Backup power status: OFFLINE. Reason: UNKNOWN" +msgid "Backup power status: OFFLINE. Reason: UNKNOWN" msgstr "" #: src/computer.cpp @@ -190434,8 +195909,8 @@ msgid "ERROR: Data bank destroyed." msgstr "ERROR: Datos destruidos." #: src/computer.cpp -msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT ... " -msgstr "BUSCANDO CENTRO DE REFUGIADOS MÁS CERCANO, POR FAVOR ESPERE ..." +msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT…" +msgstr "" #. ~555-0164 is a fake phone number in the US, please replace it with a number #. that will not cause issues in your locale if possible. @@ -190443,25 +195918,16 @@ msgstr "BUSCANDO CENTRO DE REFUGIADOS MÁS CERCANO, POR FAVOR ESPERE ..." #, c-format msgid "" "\n" -"REFUGEE CENTER FOUND! LOCATION: %d %s\n" +"REFUGEE CENTER FOUND! LOCATION: %d %s\n" "\n" -"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT \n" -"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE. \n" -"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND \n" -"4PM AT 555-0164. \n" +"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT\n" +"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE.\n" +"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND\n" +"4PM AT 555-0164.\n" "\n" "IF YOU WOULD LIKE TO SPEAK WITH SOMEONE IN PERSON OR WOULD LIKE\n" -"TO WRITE US A LETTER PLEASE SEND IT TO...\n" +"TO WRITE US A LETTER PLEASE SEND IT TO…\n" msgstr "" -"\n" -"¡CENTRO DE REFUGIADOS ENCONTRADO! LUGAR: %d %s\n" -"\n" -"SI TENÉS ALGÚN COMENTARIO ACERCA DE TU VISITA, POR FAVOR CONTACTATE\n" -"CON LA OFICINA DEL DEPARTAMENTO PÚBLICO DE CONTROL DE EMERGENCIAS.\n" -"LA OFICINA LOCAL ATIENDE ENTRE LAS 9:00 Y 16:00 AL 555-0164.\n" -"\n" -"SI QUERÉS HABLAR CON ALGUIEN EN PERSONA O TE GUSTARÍA\n" -"ESCRIBIRNOS UNA CARTA, POR FAVOR ENVIARLA A...\n" #: src/construction.cpp msgid " Construction " @@ -190553,13 +196019,13 @@ msgstr "" #: src/construction.cpp #, c-format -msgid "%s assists you with the work..." -msgstr "%s te ayuda con el trabajo..." +msgid "%s assists you with the work…" +msgstr "" #: src/construction.cpp #, c-format -msgid "%s watches you work..." -msgstr "%s te mira mientras trabajás..." +msgid "%s watches you work…" +msgstr "" #: src/construction.cpp #, c-format @@ -190620,8 +196086,8 @@ msgid "That %s can not be dissasembled, since there is furniture above it." msgstr "" #: src/construction.cpp -msgid "The rock feels much warmer than normal. Proceed?" -msgstr "La piedra se siente mucho más cálida que lo normal. ¿Continuar?" +msgid "The rock feels much warmer than normal. Proceed?" +msgstr "" #: src/construction.cpp msgid "You just tunneled into lava!" @@ -190790,23 +196256,19 @@ msgstr "¿Igual querés consumir tu %s?" #: src/consumption.cpp msgid "" "You've begun stockpiling calories and liquid for hibernation. You get the " -"feeling that you should prepare for bed, just in case, but...you're hungry " +"feeling that you should prepare for bed, just in case, but… you're hungry " "again, and you could eat a whole week's worth of food RIGHT NOW." msgstr "" -"Empezaste a guardar calorías y líquido para la hibernación. Tenés la " -"sensación de que te tendrías que preparar para dormir, por las dudas, " -"pero... tenés hambre otra vez, y podrías comer lo de una semana entera AHORA" -" MISMO." #: src/consumption.cpp #, c-format -msgid "Ick, this %s doesn't taste so good..." -msgstr "Asco, este/a %s no tiene muy buen gusto..." +msgid "Ick, this %s doesn't taste so good…" +msgstr "" #: src/consumption.cpp #, c-format -msgid "Mmm, this %s tastes delicious..." -msgstr "Mmm, este/a %s es delicioso/a..." +msgid "Mmm, this %s tastes delicious…" +msgstr "" #: src/consumption.cpp #, c-format @@ -190820,8 +196282,8 @@ msgstr "Te incorporás tu %s." #: src/consumption.cpp #, c-format -msgid "Ick, this %s (rotten) doesn't taste so good..." -msgstr "Asco, este/a %s (podrido/a) no tiene muy buen gusto..." +msgid "Ick, this %s (rotten) doesn't taste so good…" +msgstr "" #: src/consumption.cpp #, c-format @@ -190876,8 +196338,8 @@ msgid "You greedily devour the taboo meat." msgstr "Devorás con voracidad la carne tabú." #: src/consumption.cpp -msgid "Meh. You've eaten worse." -msgstr "Bah. Has comido cosas peores." +msgid "Meh. You've eaten worse." +msgstr "" #: src/consumption.cpp msgid "" @@ -190906,8 +196368,8 @@ msgid "You can't taste much of anything with this flu." msgstr "" #: src/consumption.cpp -msgid "Yuck! How can anybody eat this stuff?" -msgstr "¡Puaj! ¿Cómo puede ser que alguien coma esto?" +msgid "Yuck! How can anybody eat this stuff?" +msgstr "" #: src/consumption.cpp msgid "Mmm, junk food." @@ -190918,8 +196380,8 @@ msgid "When life's got you down, there's always sugar." msgstr "Cuando la vida te trata mal, siempre te queda el azúcar." #: src/consumption.cpp -msgid "They may do what they must... you've already won." -msgstr "Tal vez hagan lo que tengan que hacer... vos ya ganaste." +msgid "They may do what they must… you've already won." +msgstr "" #: src/consumption.cpp msgid "Your stomach begins gurgling and you feel bloated and ill." @@ -190954,7 +196416,7 @@ msgid "They're coming to get you." msgstr "" #: src/consumption.cpp -msgid "This might've been a bad idea..." +msgid "This might've been a bad idea…" msgstr "" #: src/consumption.cpp @@ -190962,7 +196424,7 @@ msgid "You've really done it this time, haven't you?" msgstr "" #: src/consumption.cpp -msgid "You have to stay vigilant. They're always watching..." +msgid "You have to stay vigilant. They're always watching…" msgstr "" #: src/consumption.cpp @@ -190982,7 +196444,7 @@ msgid "Something is twitching at the edge of your vision." msgstr "" #: src/consumption.cpp -msgid "They know what you've done..." +msgid "They know what you've done…" msgstr "" #: src/consumption.cpp @@ -190994,22 +196456,19 @@ msgid "You gorge yourself, preparing to hibernate." msgstr "Te atiborrás de comida, preparándote para hibernar." #: src/consumption.cpp -msgid "You feel stocked for a day or two. Got your bed all ready and secured?" +msgid "" +"You feel stocked for a day or two. Got your bed all ready and secured?" msgstr "" -"Te sentís lleno como para un día o dos. ¿Ya tenés tu cama preparada y " -"protegida?" #: src/consumption.cpp msgid "" -"Mmm. You can still fit some more in...but maybe you should get comfortable " +"Mmm. You can still fit some more in… but maybe you should get comfortable " "and sleep." msgstr "" -"Mmm. Todavía te entraría algo más... pero mejor que te pongas cómodo y " -"duermas." #: src/consumption.cpp -msgid "That filled a hole! Time for bed..." -msgstr "¡Eso tapó un agujero! Hora de dormir..." +msgid "That filled a hole! Time for bed…" +msgstr "" #: src/consumption.cpp msgid "You feel as though you're going to split open! In a good way?" @@ -191018,8 +196477,8 @@ msgstr "¡Te sentís como si te fueras a partir por la mitad! ¿Será algo bueno #. ~slimespawns have *small voices* which may be the Nice equivalent #. ~of the Rat King's ALL CAPS invective. Probably shared-brain telepathy. #: src/consumption.cpp -msgid "hey, you look like me! let's work together!" -msgstr "¡eh, vos te parecés a mí! ¡vamos a trabajar juntos!" +msgid "hey, you look like me! let's work together!" +msgstr "" #: src/consumption.cpp #, c-format @@ -191031,26 +196490,6 @@ msgstr "Sentís que el/a %s te llena." msgid " looks better after eating the %s." msgstr " se ve mejor después de comerse el/a %s." -#: src/consumption.cpp -msgid "Your internal power storage is fully powered." -msgstr "Tu almacenamiento interno de energía está completamente cargado." - -#: src/consumption.cpp -msgid "'s internal power storage is fully powered." -msgstr "" -"El almacenamiento interno de energía de está completamente " -"cargado." - -#: src/consumption.cpp -#, c-format -msgid "You recharge your battery system with the %s." -msgstr "Recargás tu sistema de batería con el %s." - -#: src/consumption.cpp -#, c-format -msgid " recharges their battery system with the %s." -msgstr " recarga su sistema de batería con el %s." - #: src/consumption.cpp msgid "That is a LOT of plutonium. Are you sure you want that much?" msgstr "Eso es MUCHO plutonio. ¿Estás seguro de que querés tanto?" @@ -191159,9 +196598,8 @@ msgid "" msgstr "" #: src/craft_command.cpp -msgid "Some components used previously are missing. Continue?" +msgid "Some components used previously are missing. Continue?" msgstr "" -"Alguno de los componentes que usaste antes, ahora faltan. ¿Querés continuar?" #: src/craft_command.cpp msgid "Item(s): " @@ -191172,7 +196610,7 @@ msgid "Tool(s): " msgstr "Herramienta(s): " #: src/crafting.cpp -msgid "Your morale is too low to craft such a difficult thing..." +msgid "Your morale is too low to craft such a difficult thing…" msgstr "" #: src/crafting.cpp @@ -191230,7 +196668,7 @@ msgstr "¡Ya no podés fabricar eso!" #, c-format msgid "" "You don't have anything in which to store %s and may have to pour it out or " -"consume it as soon as it is prepared! Proceed?" +"consume it as soon as it is prepared! Proceed?" msgstr "" #: src/crafting.cpp src/pickup.cpp @@ -191321,23 +196759,23 @@ msgstr "" #: src/crafting.cpp #, c-format -msgid "%s assists with crafting..." -msgstr "%s te ayuda con la fabricación..." +msgid "%s assists with crafting…" +msgstr "" #: src/crafting.cpp #, c-format -msgid "%s could assist you with a batch..." -msgstr "%s podría ayudarte para hacer una tanda..." +msgid "%s could assist you with a batch…" +msgstr "" #: src/crafting.cpp #, c-format -msgid "%s watches you craft..." -msgstr "%s te mira mientras fabricás..." +msgid "%s watches you craft…" +msgstr "" #: src/crafting.cpp #, c-format -msgid "%s helps with crafting..." -msgstr "%s te ayuda con la fabricación..." +msgid "%s helps with crafting…" +msgstr "" #: src/crafting.cpp #, c-format @@ -191621,8 +197059,8 @@ msgstr "Ahorro de tiempo por tanda: %s" #: src/crafting_gui.cpp #, c-format -msgid "Dark craftable? %s" -msgstr "¿Hacer sin luz? %s" +msgid "Dark craftable? %s" +msgstr "" #: src/crafting_gui.cpp src/defense.cpp msgid "Easy" @@ -191699,13 +197137,10 @@ msgstr "recetas que están memorizadas o no" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" -"Por defecto, busca los nombres de los resultados. Algunos prefijos de un caracter se pueden usar con los dos puntos (:) para buscar de otras maneras. Se pueden agregar otros filtros separados por comas (,).\n" -"\n" -"Ejemplos:\n" #: src/crafting_gui.cpp msgid "shirt" @@ -191915,8 +197350,8 @@ msgid "Friendly" msgstr "Amistoso" #: src/creature.cpp -msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" -msgstr "BUG: Comportamiento sin nombre. (Creature::get_attitude_ui_data)" +msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" +msgstr "" #: src/damage.cpp msgctxt "damage type" @@ -191969,8 +197404,8 @@ msgid "See %s for a full stack backtrace" msgstr "" #: src/debug.cpp -msgid "An error has occurred! Written below is the error report:" -msgstr "¡Hubo un error! Abajo está escrito el detalle:" +msgid "An error has occurred! Written below is the error report:" +msgstr "" #: src/debug.cpp msgid "Press space bar to continue the game." @@ -192030,7 +197465,7 @@ msgid "Level a spell" msgstr "" #: src/debug_menu.cpp -msgid "Player..." +msgid "Player…" msgstr "" #: src/debug_menu.cpp @@ -192073,10 +197508,18 @@ msgstr "" msgid "Toggle display temperature" msgstr "" +#: src/debug_menu.cpp +msgid "Toggle display vehicle autopilot overlay" +msgstr "" + #: src/debug_menu.cpp msgid "Toggle display visibility" msgstr "" +#: src/debug_menu.cpp +msgid "Toggle display lighting" +msgstr "" + #: src/debug_menu.cpp msgid "Toggle display radiation" msgstr "" @@ -192109,12 +197552,16 @@ msgstr "" msgid "Print faction info to console" msgstr "" +#: src/debug_menu.cpp +msgid "Print NPC magic info to console" +msgstr "" + #: src/debug_menu.cpp msgid "Test weather" msgstr "" #: src/debug_menu.cpp -msgid "Info..." +msgid "Info…" msgstr "" #: src/debug_menu.cpp @@ -192130,7 +197577,7 @@ msgid "Teleport - adjacent overmap" msgstr "" #: src/debug_menu.cpp -msgid "Teleport..." +msgid "Teleport…" msgstr "" #: src/debug_menu.cpp @@ -192158,7 +197605,7 @@ msgid "Spawn clairvoyance artifact" msgstr "" #: src/debug_menu.cpp -msgid "Spawning..." +msgid "Spawning…" msgstr "" #: src/debug_menu.cpp @@ -192202,7 +197649,7 @@ msgid "Spawn map extra" msgstr "" #: src/debug_menu.cpp -msgid "Map..." +msgid "Map…" msgstr "" #: src/debug_menu.cpp @@ -192212,8 +197659,8 @@ msgstr "" #: src/debug_menu.cpp msgid "" "Debug Functions - Using these will cheat not only the game, but yourself.\n" -"You won't grow. You won't improve.\n" -"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" +"You won't grow. You won't improve.\n" +"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" "Nothing will be risked and nothing will be gained." msgstr "" @@ -192240,7 +197687,7 @@ msgstr "¿Dónde está el mapa general deseado?" msgid "You teleport to overmap (%d,%d,%d)." msgstr "Te teletransportás al mapa general (%d,%d,%d)." -#: src/debug_menu.cpp src/iuse.cpp src/npctrade.cpp +#: src/debug_menu.cpp src/game.cpp src/iuse.cpp src/npctrade.cpp msgid "You" msgstr "Vos" @@ -192388,6 +197835,10 @@ msgstr "Ventana de Estado [@]" msgid "t[e]leport" msgstr "t[e]letransportar" +#: src/debug_menu.cpp +msgid "Give the [f]lu" +msgstr "" + #: src/debug_menu.cpp msgid "Edit [M]issions (WARNING: Unstable!)" msgstr "Editar [M]isiones (CUIDADO: ¡Inestable!)" @@ -192426,8 +197877,8 @@ msgstr "Percepción al máximo" #: src/debug_menu.cpp #, c-format -msgid "Set the stat to? Currently: %d" -msgstr "¿Poner la característica en? Actualmente: %d" +msgid "Set the stat to? Currently: %d" +msgstr "" #: src/debug_menu.cpp msgid "Delete all items from the target?" @@ -192455,12 +197906,12 @@ msgstr "Pierna derecha" #: src/debug_menu.cpp #, c-format -msgid "Set the hitpoints to? Currently: %d" -msgstr "¿Poner los puntos de vida en? Actualmente: %d" +msgid "Set the hitpoints to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set stamina to? Current: %d. Max: %d." +msgid "Set stamina to? Current: %d. Max: %d." msgstr "" #: src/debug_menu.cpp @@ -192469,8 +197920,8 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set the morale to? Currently: %d" -msgstr "¿Establecer moral en? Actualmente: %d" +msgid "Set the morale to? Currently: %d" +msgstr "" #: src/debug_menu.cpp msgid "trust" @@ -192494,27 +197945,27 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set trust to? Currently: %d" +msgid "Set trust to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set fear to? Currently: %d" +msgid "Set fear to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set value to? Currently: %d" +msgid "Set value to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set anger to? Currently: %d" +msgid "Set anger to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set owed to? Currently: %d" +msgid "Set owed to? Currently: %d" msgstr "" #: src/debug_menu.cpp @@ -192524,16 +197975,14 @@ msgstr "Renombrar:" #: src/debug_menu.cpp #, c-format msgid "" -"NPC: \n" +"NPC:\n" "%s\n" msgstr "" -"PNJ: \n" -"%s\n" #: src/debug_menu.cpp #, c-format -msgid "Cause how much pain? pain: %d" -msgstr "¿Cuánto dolor causar? Dolor: %d" +msgid "Cause how much pain? pain: %d" +msgstr "" #: src/debug_menu.cpp msgid "Hunger" @@ -192557,33 +198006,33 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set hunger to? Currently: %d" -msgstr "¿Poner hambre en? Actualmente: %d" +msgid "Set hunger to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set stored kCal to? Currently: %d" +msgid "Set stored kCal to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set thirst to? Currently: %d" -msgstr "¿Poner sed en? Actualmente: %d" +msgid "Set thirst to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set fatigue to? Currently: %d" -msgstr "¿Poner cansancio en? Actualmente: %d" +msgid "Set fatigue to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set sleep deprivation to? Currently: %d" -msgstr "¿Establecer privación de sueño en? Actual: %d" +msgid "Set sleep deprivation to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set %s to? Currently: %d" -msgstr "¿Poner %s en? Actualmente: %d" +msgid "Set %s to? Currently: %d" +msgstr "" #: src/debug_menu.cpp src/panels.cpp msgid "Health" @@ -192599,8 +198048,8 @@ msgstr "Radiación" #: src/debug_menu.cpp #, c-format -msgid "Set the value to? Currently: %d" -msgstr "¿Poner el valor en? Actualmente: %d" +msgid "Set the value to? Currently: %d" +msgstr "" #: src/debug_menu.cpp msgid "Choose mission type" @@ -192722,8 +198171,8 @@ msgstr "Quitar misión sin borrar todo" #: src/debug_menu.cpp #, c-format -msgid "Drew %d times in %.3f seconds. (%.3f fps average)" -msgstr "Dibujado %d veces en %.3f segundos. (%.3f fps promedio)" +msgid "Drew %d times in %.3f seconds. (%.3f fps average)" +msgstr "" #: src/debug_menu.cpp msgid "Current overmap revealed." @@ -192873,8 +198322,8 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Damage self for how much? hp: %d" -msgstr "¿Cuánto daño te querés causar? pv: %d" +msgid "Damage self for how much? hp: %d" +msgstr "" #: src/debug_menu.cpp msgid "This binary was not compiled with tiles support." @@ -192911,8 +198360,8 @@ msgid "Set year to?" msgstr "¿Establecer año en?" #: src/debug_menu.cpp -msgid "Set season to? (0 = spring)" -msgstr "¿Establecer estación en? (0 = primavera)" +msgid "Set season to? (0 = spring)" +msgstr "" #: src/debug_menu.cpp msgid "Set days to?" @@ -192928,8 +198377,8 @@ msgstr "¿Establecer minuto en?" #: src/debug_menu.cpp #, c-format -msgid "Set turn to? (One day is %i turns)" -msgstr "¿Establecer turno en? (Un día son %i turnos)" +msgid "Set turn to? (One day is %i turns)" +msgstr "" #: src/debug_menu.cpp msgid "Enter benchmark length (in milliseconds):" @@ -192937,11 +198386,9 @@ msgstr "" #: src/debug_menu.cpp msgid "" -"Quit without saving? This may cause issues such as duplicated or missing " +"Quit without saving? This may cause issues such as duplicated or missing " "items and vehicles!" msgstr "" -"¿Querés salir sin guardar? ¡Puede causar problemas como duplicar o " -"desaparecer objetos y vehículos!" #: src/debug_menu.cpp #, c-format @@ -192978,10 +198425,12 @@ msgstr "" msgid "Spell" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "LVL" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "MAX" msgstr "" @@ -193006,8 +198455,8 @@ msgid "Please wait as the map generates [ 0%% ]" msgstr "Por favor, esperá que se genere el mapa [ 0%% ]" #: src/defense.cpp -msgid "A caravan approaches! Press spacebar..." -msgstr "¡Se acerca una caravana! Apretá la barra espaciadora..." +msgid "A caravan approaches! Press spacebar…" +msgstr "" #: src/defense.cpp msgid "You don't need to sleep!" @@ -193369,8 +198818,8 @@ msgstr "¡%s del infierno!" #: src/defense.cpp #, c-format -msgid "Beware! %s!" -msgstr "¡Cuidado! ¡%s!" +msgid "Beware! %s!" +msgstr "" #: src/defense.cpp #, c-format @@ -193567,8 +199016,8 @@ msgstr "trampa: %s (%d)" #: src/editmap.cpp src/game.cpp #, c-format -msgid "There is a %s there. Parts:" -msgstr "Hay un/a/os %s ahí. Partes:" +msgid "There is a %s there. Parts:" +msgstr "" #: src/editmap.cpp #, c-format @@ -193812,11 +199261,9 @@ msgstr "Sello de generación de mapa" #: src/effect.cpp msgid "" -"The scariest thing in the world would be... if all the air in the world " -"turned to WOOD!" +"The scariest thing in the world would be… if all the air in the world turned" +" to WOOD!" msgstr "" -"La cosa que más miedo causa en el mundo es... ¡si todo el aire del mundo se " -"convirtiera en MADERA!" #: src/effect.cpp msgid "" @@ -193834,8 +199281,8 @@ msgid "Science is a liar sometimes." msgstr "La ciencia a veces es mentirosa." #: src/effect.cpp -msgid "Science is... wait, what was I talking about again?" -msgstr "La ciencia es... esperá, ¿de qué estábamos hablando?" +msgid "Science is… wait, what was I talking about again?" +msgstr "" #: src/effect.cpp msgid "" @@ -193858,10 +199305,8 @@ msgid "She was a hip, hip, hip lady, man." msgstr "Era una mina buena onda, chabón." #: src/effect.cpp -msgid "You ever see the back of a twenty dollar bill... on weed?" +msgid "You ever see the back of a twenty dollar bill… on weed?" msgstr "" -"¿Alguna vez viste la parte de atrás de un billete de veinte dólares... " -"después de clavarte un porro?" #: src/effect.cpp msgid "" @@ -193876,16 +199321,16 @@ msgid "RED TEAM GO, RED TEAM GO!" msgstr "¡AGUANTE EL EQUIPO ROJO, AGUANTE!" #: src/effect.cpp -msgid "You have a sudden urge to flip your bible open to Genesis 1:29..." -msgstr "De repente, sentís urgencia por abrir tu biblia en Genesis 1:29..." +msgid "You have a sudden urge to flip your bible open to Genesis 1:29…" +msgstr "" #: src/effect.cpp -msgid "That rug really tied the room together..." -msgstr "La verdad que esa alfombra completa muy bien la habitación..." +msgid "That rug really tied the room together…" +msgstr "" #: src/effect.cpp -msgid "I used to do drugs... I still do, but I used to, too." -msgstr "Antes me drogaba... Todavía me drogo, pero antes también." +msgid "I used to do drugs… I still do, but I used to, too." +msgstr "" #: src/effect.cpp msgid "The herb reveals you to yourself." @@ -193893,19 +199338,17 @@ msgstr "La hierba te revela a vos mismo." #: src/effect.cpp msgid "" -"Okay, like, the scariest thing in the world would be... if like you went to " +"Okay, like, the scariest thing in the world would be… if like you went to " "grab something and it wasn't there!" msgstr "" -"Bueno, como, la cosa que más miedo causa en el mundo es... ¡como cuando vas " -"a agarrar una cosa y ya no está!" #: src/effect.cpp msgid "They call them fingers, but I never see them fing." msgstr "Los llaman dedos, pero son más de dos." #: src/effect.cpp -msgid "... oh, there they go." -msgstr "... uh, ahí se van." +msgid "…oh, there they go." +msgstr "" #: src/effect.cpp msgid "" @@ -193946,8 +199389,8 @@ msgid "Oh, sometimes the early-mid-late-early-morning." msgstr "Ah, y a veces temprano a la tarde-noche a mitad de la mañana." #: src/effect.cpp -msgid "...But never at dusk." -msgstr "...pero nunca al anochecer." +msgid "…But never at dusk." +msgstr "" #: src/effect.cpp msgid "Dave's not here, man." @@ -193958,12 +199401,12 @@ msgid "Man, a cheeseburger sounds SO awesome right now." msgstr "Chabón, una hamburguesa con queso vendría MUY bien en este momento." #: src/effect.cpp -msgid "Eh... maybe not." -msgstr "Eh... mejor no." +msgid "Eh… maybe not." +msgstr "" #: src/effect.cpp -msgid "I guess, maybe, without the cheese... yeah." -msgstr "Creo que, en una de esas, sin queso... sí." +msgid "I guess, maybe, without the cheese… yeah." +msgstr "" #: src/effect.cpp msgid "Walkin' down the hall, by myself, smokin' a j with fifty elves." @@ -194119,6 +199562,10 @@ msgstr "excelente" msgid "perfect" msgstr "perfecto" +#: src/explosion.cpp +msgid "force of the explosion" +msgstr "" + #: src/explosion.cpp msgid "You're caught in the explosion!" msgstr "¡Sos atrapado por la explosión!" @@ -194471,21 +199918,21 @@ msgid "Press enter to rename this camp" msgstr "" #: src/faction.cpp -msgid "Direction : to the " +msgid "Direction: to the " msgstr "" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d)" +msgid "Location: (%d, %d)" msgstr "" #: src/faction.cpp #, c-format -msgid "Food Supply : %s %d calories" +msgid "Food Supply: %s %d calories" msgstr "" #: src/faction.cpp -msgid "Next Upgrade : " +msgid "Next Upgrade: " msgstr "" #: src/faction.cpp @@ -194498,25 +199945,25 @@ msgid "Press enter to talk to this follower " msgstr "" #: src/faction.cpp -msgid "travelling to : " +msgid "travelling to: " msgstr "" #: src/faction.cpp #, c-format -msgid "travelling to : (%d, %d)" +msgid "travelling to: (%d, %d)" msgstr "" #: src/faction.cpp -msgid "Current Mission : " +msgid "Current Mission: " msgstr "" #: src/faction.cpp -msgid "Direction : Nearby" +msgid "Direction: Nearby" msgstr "" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d), at camp: %s" +msgid "Location: (%d, %d), at camp: %s" msgstr "" #: src/faction.cpp @@ -194548,8 +199995,8 @@ msgid "Within interaction range" msgstr "" #: src/faction.cpp -msgid "Status : " -msgstr "" +msgid "Status: " +msgstr "Estado:" #: src/faction.cpp msgid "In Combat!" @@ -194572,37 +200019,41 @@ msgid "Guarding" msgstr "" #: src/faction.cpp -msgid "Condition : " +msgid "Basecamp job: " msgstr "" #: src/faction.cpp -msgctxt "needs" -msgid "Nominal" +msgid "Condition: " msgstr "" #: src/faction.cpp -msgid "Hunger : " +msgctxt "needs" +msgid "Nominal" msgstr "" #: src/faction.cpp -msgid "Thirst : " +msgid "Hunger: " msgstr "" #: src/faction.cpp -msgid "Fatigue : " +msgid "Thirst: " msgstr "" #: src/faction.cpp -msgid "Wielding : " +msgid "Fatigue: " msgstr "" +#: src/faction.cpp src/player.cpp +msgid "Wielding: " +msgstr "Empuñando: " + #: src/faction.cpp -msgid "Best other skills : " +msgid "Best other skills: " msgstr "" #: src/faction.cpp #, c-format -msgid "Best combat skill : %s : %d" +msgid "Best combat skill: %s: %d" msgstr "" #: src/faction.cpp @@ -194642,23 +200093,31 @@ msgid "Recover Ally from Upgrading" msgstr "Recuperar Aliado de Mejoras" #: src/faction_camp.cpp -msgid "Busy crafting!\n" -msgstr "¡Ocupado fabricando!\n" +msgid "Emergency Recall" +msgstr "" + +#: src/faction_camp.cpp +msgid "Lost in the ether!\n" +msgstr "" #: src/faction_camp.cpp msgid "Craft Item" msgstr "" +#: src/faction_camp.cpp +msgid "Busy crafting!\n" +msgstr "¡Ocupado fabricando!\n" + #: src/faction_camp.cpp msgid " (Finish) Crafting" msgstr " (Terminar) Fabricación" #: src/faction_camp.cpp -msgid "Busy travelling!\n" +msgid "Travelling" msgstr "" #: src/faction_camp.cpp -msgid "Travelling" +msgid "Busy travelling!\n" msgstr "" #: src/faction_camp.cpp @@ -194694,8 +200153,8 @@ msgid "Menial Labor" msgstr "Labores Menores" #: src/faction_camp.cpp -msgid "Performing menial labor...\n" -msgstr "Haciendo tarea menor...\n" +msgid "Performing menial labor…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Menial Laborer" @@ -194706,8 +200165,8 @@ msgid "Expand Base" msgstr "Expandir Base" #: src/faction_camp.cpp -msgid "Surveying for expansion...\n" -msgstr "Inspeccionando el terreno para expandir...\n" +msgid "Surveying for expansion…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Surveyor" @@ -194718,8 +200177,8 @@ msgid "Cut Logs" msgstr "Cortar Troncos" #: src/faction_camp.cpp -msgid "Cutting logs in the woods...\n" -msgstr "Cortando árboles en el bosque...\n" +msgid "Cutting logs in the woods…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Log Cutter" @@ -194730,21 +200189,21 @@ msgid "Clear a forest" msgstr "Limpiar bosque" #: src/faction_camp.cpp -msgid "Clearing a forest...\n" -msgstr "Limpiando bosque...\n" +msgid "Clearing a forest…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Clearcutter" msgstr "" -#: src/faction_camp.cpp -msgid "Setting up a hide site...\n" -msgstr "Estableciendo escondite...\n" - #: src/faction_camp.cpp msgid "Setup Hide Site" msgstr "Establecer Escondite" +#: src/faction_camp.cpp +msgid "Setting up a hide site…\n" +msgstr "" + #: src/faction_camp.cpp msgid "Recover Hide Setup" msgstr "Recuperar Establecedor de Escondite" @@ -194754,8 +200213,8 @@ msgid "Relay Hide Site" msgstr "Equipar Escondite" #: src/faction_camp.cpp -msgid "Transferring gear to a hide site...\n" -msgstr "Transportando equipo a escondite...\n" +msgid "Transferring gear to a hide site…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Hide Relay" @@ -194802,8 +200261,8 @@ msgid "Construct Map Fortifications" msgstr "Construir Fortificaciones" #: src/faction_camp.cpp -msgid "Constructing fortifications...\n" -msgstr "Construyendo fortificaciones...\n" +msgid "Constructing fortifications…\n" +msgstr "" #: src/faction_camp.cpp msgid "Finish Map Fortifications" @@ -194862,8 +200321,8 @@ msgid " Chop Shop" msgstr "Desarmadero" #: src/faction_camp.cpp -msgid "Working at the chop shop...\n" -msgstr "Trabajando en el desarmadero...\n" +msgid "Working at the chop shop…\n" +msgstr "" #: src/faction_camp.cpp msgid " (Finish) Chop Shop" @@ -194948,16 +200407,13 @@ msgstr "quedan]\n" #: src/faction_camp.cpp src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "Do you wish to bring your allies back into your party?" msgstr "" -"\n" -" \n" -"¿Querés que vuelvan tus compañeros a tu grupo?" #: src/faction_camp.cpp -msgid "You choose to wait..." -msgstr "Elegís esperar..." +msgid "You choose to wait…" +msgstr "" #: src/faction_camp.cpp msgid "You cannot build a camp here." @@ -194974,10 +200430,8 @@ msgstr "¡Estás demasiad cerca de otro campamento!" #: src/faction_camp.cpp msgid "" "Warning, you have selected a region with the following issues:\n" -" \n" +"\n" msgstr "" -"Atención, elegiste una región con los siguientes problemas:\n" -" \n" #: src/faction_camp.cpp msgid "There are few forests. Wood is your primary construction material.\n" @@ -194995,11 +200449,9 @@ msgstr "" #: src/faction_camp.cpp #, c-format msgid "" -"%s \n" -"Are you sure you wish to continue? " +"%s\n" +"Are you sure you wish to continue?" msgstr "" -"%s \n" -"¿Estás seguro que querés continuar? " #: src/faction_camp.cpp #, c-format @@ -195019,14 +200471,22 @@ msgstr ", Administrador de Campamento" msgid "%s has abandoned the camp." msgstr "%s ha abandonado el campamento." +#: src/faction_camp.cpp +msgid " Expansion" +msgstr "Expansión" + +#: src/faction_camp.cpp +msgid "Recover Ally, " +msgstr "Recuperar Aliado" + #: src/faction_camp.cpp #, c-format msgid "" -"Notes: \n" +"Notes:\n" "Send a companion to gather materials for the next camp upgrade.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "%s\n" "Risk: Very Low\n" @@ -195034,82 +200494,32 @@ msgid "" "Positions: %d/3\n" msgstr "" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" -"Effects:\n" -"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" -" \n" -"Must have enjoyability >= -6\n" -"Perishable food liquidated at penalty depending on upgrades and rot time:\n" -"> Rotten: 0%%\n" -"> Rots in < 2 days: 60%%\n" -"> Rots in < 5 days: 80%%\n" -" \n" -"Total faction food stock: %d kcal\n" -"or %d day's rations" -msgstr "" - -#: src/faction_camp.cpp -msgid "Distribute Food" -msgstr "Distribuir Comida" - -#: src/faction_camp.cpp -msgid "" -"Notes:\n" -"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" -" \n" -"Effects:\n" -"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" -"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" -"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." -msgstr "" - -#: src/faction_camp.cpp -msgid "Reset Sort Points" -msgstr "Resetear Puntos de Orden" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to gather light brush and heavy sticks.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "> heavy sticks\n" "> withered plants\n" "> splintered wood\n" -" \n" +"\n" "Risk: Very Low\n" "Time: 3 Hours, Repeated\n" "Positions: %d/3\n" msgstr "" -"Notas:\n" -"Enviar un compañero a recolectar arbustos y palos grandes.\n" -" \n" -"Habilidad usada: supervivencia\n" -"Dificultad: N/D \n" -"Posibilidad de Recolectar:\n" -"> palos grandes\n" -"> plantas marchitas\n" -"> astillas de madera\n" -" \n" -"Riesgo: Muy Bajo\n" -"Tiempo: 3 Horas, Repetir\n" -"Posiciones: %d/3\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to do low level chores and sort supplies.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Effects:\n" "> Material left in the unsorted loot zone will be sorted into a defined loot zone.\n" "\n" @@ -195118,31 +200528,14 @@ msgid "" "Positions: %d/1\n" msgstr "" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" -" \n" -"Skill used: N/A \n" -"Effects:\n" -"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal. \n" -" \n" -"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window. \n" -" \n" -"Risk: None\n" -"Time: 3 Hours \n" -"Positions: %d/1\n" -msgstr "" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to a nearby forest to cut logs.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 50%% of trees/trunks at the forest position will be cut down.\n" "> 100%% of total material will be brought back.\n" @@ -195152,123 +200545,70 @@ msgid "" "Time: 6 Hour Base + Travel Time + Cutting Time\n" "Positions: %d/1\n" msgstr "" -"Notas:\n" -"Enviar compañero a un bosque cercano a cortar troncos.\n" -" \n" -"Habilidad usada: fabricación\n" -"Dificultad: 1 \n" -"Efectos:\n" -"> 50%% de los árboles/troncos en el bosque serán cortados.\n" -"> 100%% del material total será traído.\n" -"> Se puede repetir con resultados menores.\n" -"> Eventualmente transformará bosques en campos. \n" -"Riesgo: Ninguno\n" -"Tiempo: 6 Horas en Base + Tiempo de Traslado + Tiempo de Tala\n" -"Posiciones: %d/1\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to a clear a nearby forest.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 95%% of trees/trunks at the forest position will be cut down.\n" "> 0%% of total material will be brought back.\n" "> Forest should become a field tile.\n" "> Useful for clearing land for another faction camp.\n" -" \n" +"\n" "Risk: None\n" "Time: 6 Hour Base + Travel Time + Cutting Time\n" "Positions: %d/1\n" msgstr "" -"Notas:\n" -"Enviar aliado a limpiar un bosque cercano.\n" -" \n" -"Habilidad usada: fabricación\n" -"Dificultad: 1 \n" -"Efectos:\n" -"> 95%% de los árboles/troncos en el bosque serán cortados.\n" -"> 0%% del material total será traído.\n" -"> El espacio de bosque debería convertirse en campo.\n" -"> Sirve para limpiar el terreno para poner otro campamento.\n" -" \n" -"Riesgo: Ninguno\n" -"Tiempo: 6 Horas en Base + Tiempo de Traslado + Tiempo de Talado\n" -"Posiciones: %d/1\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to build an improvised shelter and stock it with equipment at a distant map location.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Good for setting up resupply or contingency points.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 6 Hour Construction + Travel\n" "Positions: %d/1\n" msgstr "" -"Notas:\n" -"Enviar un compañero a construir un refugio improvisado y llenarlo con equipamiento en un lugar del mapa.\n" -" \n" -"Habilidad usada: supervivencia\n" -"Dificultad: 3\n" -"Efectos:\n" -"> Sirve para establecer puntos de contingencia o de suministros.\n" -"> El equipo queda sin supervisión y puede ser robado.\n" -"> El tiempo depende del peso del equipo enviado.\n" -" \n" -"Riesgo: Medio\n" -"Tiempo: 6 Horas de Construcción + Traslado\n" -"Posiciones: %d/1\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Push gear out to a hide site or bring gear back from one.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 1\n" "Effects:\n" "> Good for returning equipment you left in the hide site shelter.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward or back.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 1 Hour Base + Travel\n" "Positions: %d/1\n" msgstr "" -"Notas:\n" -"Enviar equipamiento a escondite o traerlo de nuevo a la base.\n" -" \n" -"Habilidad usada: supervivencia\n" -"Dificultad: 1\n" -"Efectos:\n" -"> Sirve para recuperar equipo que dejaste en el refugio de escondite.\n" -"> El equipo queda sin supervisión y puede ser rebado.\n" -"> El tiempo depende del peso del equipo trasladado.\n" -" \n" -"Riesgo: Medio\n" -"Tiempo: 1 Hora en Base + Traslado\n" -"Posiciones: %d/1\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to forage for edible plants.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Foraging Possibilities:\n" "> wild vegetables\n" "> fruits and nuts depending on season\n" @@ -195277,27 +200617,15 @@ msgid "" "Time: 4 Hours, Repeated\n" "Positions: %d/3\n" msgstr "" -"Notas:\n" -"Enviar compañero a buscar plantas comestibles.\n" -" \n" -"Habilidad usada: supervivencia\n" -"Dificultad: N/D \n" -"Posibilidad de Recolección:\n" -"> verduras silvestres\n" -"> frutas y nueces dependiendo la temporada\n" -"¡Puede producir menos comida que la consumida!\n" -"Riesgo: Muy Bajo\n" -"Tiempo: 4 Horas, Repetir\n" -"Posiciones: %d/3\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to set traps for small game.\n" -" \n" +"\n" "Skill used: trapping\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Trapping Possibilities:\n" "> small and tiny animal corpses\n" "May produce less food than consumed!\n" @@ -195305,26 +200633,15 @@ msgid "" "Time: 6 Hours, Repeated\n" "Positions: %d/2\n" msgstr "" -"Notas:\n" -"Enviar compañero a poner trampas para caza menor.\n" -" \n" -"Habilidad usada: trampas\n" -"Dificultad: N/D \n" -"Posibilidad de atrapar:\n" -"> cadáveres de animales chicos y pequeños\n" -"¡Puede producir menos comida que la consumida!\n" -"Riesgo: Bajo\n" -"Tiempo: 6 Horas, Repetir\n" -"Posiciones: %d/2\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to hunt large animals.\n" -" \n" +"\n" "Skill used: marksmanship\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Hunting Possibilities:\n" "> small, medium, or large animal corpses\n" "May produce less food than consumed!\n" @@ -195332,17 +200649,6 @@ msgid "" "Time: 6 Hours, Repeated\n" "Positions: %d/1\n" msgstr "" -"Notas:\n" -"Enviar compañero a cazar animales grandes.\n" -" \n" -"Habilidad usada: puntería\n" -"Dificultad: N/D \n" -"Posibilidad de cazar:\n" -"> cadáveres de animales grandes, chicos o pequeños\n" -"¡Puede producir menos comida que la consumida!\n" -"Riesgo: Medio\n" -"Tiempo: 6 Horas, Repetir\n" -"Posiciones: %d/1\n" #: src/faction_camp.cpp msgid "Construct Spiked Trench" @@ -195353,277 +200659,287 @@ msgstr "Construir Trinchera con Púas" msgid "" "Notes:\n" "Send a companion out into the great unknown. High survival skills are needed to avoid combat but you should expect an encounter or two.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Select checkpoints to customize path.\n" "> Reveals terrain around the path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: High\n" "Time: Travel\n" "Positions: %d/3\n" msgstr "" -"Notas:\n" -"Enviar compañero a territorio desconocido. Se necesita habilidad en supervivencia para evitar las luchas pero igual deberías prepararte para algunas.\n" -" \n" -"Habilidad usada: supervivencia\n" -"Dificultad: 3\n" -"Efectos:\n" -"> Elegir puntos específicos para trazar el camino.\n" -"> Revela terreno alrededor del camino.\n" -"> Puede pasar por escondites para extender su alcance.\n" -" \n" -"Riesgo: Alto\n" -"Tiempo: Traslado\n" -"Posiciones: %d/3\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to purge the wasteland. Their goal is to kill anything hostile they encounter and return when their wounds are too great or the odds are stacked against them.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 4\n" "Effects:\n" "> Pulls creatures encountered into combat instead of fleeing.\n" "> Select checkpoints to customize path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: Very High\n" "Time: Travel\n" "Positions: %d/3\n" msgstr "" -"Notas:\n" -"Enviar compañero a purgar las tierras baldías. Su objetivo es eliminar cualquier cosa hostil que encuentre y regresar cuando esté muy herido o se haya complicado mucho su misión.\n" -" \n" -"Habilidad usada: supervivencia\n" -"Dificultad: 4\n" -"Efectos:\n" -"> Hace que las criaturas luchen en lugar de que huyan.\n" -"> Elegir puntos específicos para trazar el camino.\n" -"> Puede pasar por escondites para extender su alcance.\n" -" \n" -"Riesgo: Muy Alto\n" -"Tiempo: Traslado\n" -"Posiciones: %d/3\n" - -#: src/faction_camp.cpp -msgid " Expansion" -msgstr "Expansión" - -#: src/faction_camp.cpp -msgid "Recover Ally, " -msgstr "Recuperar Aliado" #: src/faction_camp.cpp msgid "" "Notes:\n" "Have a companion attempt to completely dissemble a vehicle into components.\n" -" \n" +"\n" "Skill used: mechanics\n" "Difficulty: 2 \n" "Effects:\n" "> Removed parts placed on the furniture in the garage.\n" "> Skill plays a huge role to determine what is salvaged.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 days \n" msgstr "" -"Notas:\n" -"Enviar un compañero a intentar desarmar completamente un vehiculo.\n" -" \n" -"Habilidad usada: mecánica\n" -"Dificultad: 2 \n" -"Efectos:\n" -"> Las partes quitadas serán puestas en muebles en el garage.\n" -"> La habilidad determina qué puede ser recuperado.\n" -" \n" -"Riesgo: Ninguno\n" -"Tiempo: 5 días \n" #: src/faction_camp.cpp msgid "" "Notes:\n" "Plow any spaces that have reverted to dirt or grass.\n" -" \n" +"\n" msgstr "" -"Notas:\n" -"Arar cualquier espacio que haya vuelto a ser tierra normal o pasto.\n" -" \n" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: fabrication\n" "Difficulty: N/A \n" "Effects:\n" "> Restores only the plots created in the last expansion upgrade.\n" "> Does not damage existing crops.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 Min / Plot \n" "Positions: 0/1 \n" msgstr "" -"\n" -" \n" -"Habilidad usada: fabricación\n" -"Dificultad: N/D \n" -"Efectos:\n" -"> Recupera solo los espacios creados en la última expansión.\n" -"> No daña los cultivos que haya.\n" -" \n" -"Riesgo: Ninguno\n" -"Tiempo: 5 Min / Lote \n" -"Posiciones: 0/1 \n" #: src/faction_camp.cpp msgid "" "Notes:\n" "Plant designated seeds in the spaces that have already been tilled.\n" -" \n" +"\n" msgstr "" -"Notas:\n" -"Planta las semillas designadas en los lugares que hayan sido arados.\n" -" \n" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Choose which seed type or all of your seeds.\n" "> Stops when out of seeds or planting locations.\n" "> Will plant in ALL dirt mounds in the expansion.\n" -" \n" +"\n" "Risk: None\n" "Time: 1 Min / Plot \n" "Positions: 0/1 \n" msgstr "" -"\n" -" \n" -"Habilidad usada: supervivencia\n" -"Dificultad: N/D \n" -"Efectos:\n" -"> Elegir cuáles semilla o si usarás todas las semillas.\n" -"> Detenerse cuando se quede sin semillas o sin lotes.\n" -"> Plantará en todos los montículos de tierra de la expansión.\n" -" \n" -"Riesgo: Ninguno\n" -"Tiempo: 1 Min / Lote \n" -"Posiciones: 0/1 \n" #: src/faction_camp.cpp msgid "" "Notes:\n" "Harvest any plants that are ripe and bring the produce back.\n" -" \n" +"\n" msgstr "" -"Notas:\n" -"Cosechar cualquier planta que esté madura y traer el producto.\n" -" \n" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Will dump all harvesting products onto your location.\n" -" \n" +"\n" "Risk: None\n" "Time: 3 Min / Plot \n" "Positions: 0/1 \n" msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" +"\n" +"Skill used: N/A\n" +"Effects:\n" +"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal.\n" +"\n" +"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window.\n" "\n" -" \n" -"Habilidad usada: supervivencia\n" -"Dificultad: N/D \n" -"Efectos:\n" -"> Dejará todos los productos cosechados en tu lugar.\n" -" \n" -"Riesgo: Ninguno\n" -"Tiempo: 3 Min / Lote \n" -"Posiciones: 0/1 \n" +"Risk: None\n" +"Time: 3 Hours\n" +"Positions: %d/1\n" +msgstr "" #: src/faction_camp.cpp -msgid "departs to search for materials..." -msgstr "se va a buscar materiales..." +#, c-format +msgid "" +"Notes:\n" +"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" +"Effects:\n" +"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" +"\n" +"Must have enjoyability >= -6\n" +"Perishable food liquidated at penalty depending on upgrades and rot time:\n" +"> Rotten: 0%%\n" +"> Rots in < 2 days: 60%%\n" +"> Rots in < 5 days: 80%%\n" +"\n" +"Total faction food stock: %d kcal\n" +"or %d day's rations" +msgstr "" #: src/faction_camp.cpp -msgid "departs to search for firewood..." -msgstr "se va a buscar leña..." +msgid "Distribute Food" +msgstr "Distribuir Comida" #: src/faction_camp.cpp -msgid "returns from working in the woods..." -msgstr "vuelve de trabajar en el bosque..." +msgid "" +"Notes:\n" +"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" +"\n" +"Effects:\n" +"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" +"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" +"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." +msgstr "" #: src/faction_camp.cpp -msgid "returns from working on the hide site..." -msgstr "vuelve de trabajar en el escondite..." +msgid "Reset Sort Points" +msgstr "Resetear Puntos de Orden" #: src/faction_camp.cpp -msgid "returns from shuttling gear between the hide site..." -msgstr "vuelve de transportar equipamiento al escondite..." +msgid "" +"Notes:\n" +"Assign repeating job duties to NPCs stationed here.\n" +"Difficulty: N/A\n" +"Effects:\n" +"\n" +"\n" +"Risk: None\n" +"Time: Ongoing" +msgstr "" #: src/faction_camp.cpp -msgid "departs to search for edible plants..." -msgstr "se va a buscar plantas comestibles..." +msgid "Assign Jobs" +msgstr "" #: src/faction_camp.cpp -msgid "departs to set traps for small animals..." -msgstr "se va a poner trampas para animales chicos..." +msgid "" +"Notes:\n" +"Cancel a current mission and force the immediate return of a companion. No work will be done on the mission and all resources used on the mission will be lost.\n" +"\n" +"WARNING: All resources used on the mission will be lost and no work will be done. Only use this mission to recover a companion who cannot otherwise be recovered.\n" +"\n" +"Companions must be on missions for at least 24 hours before emergency recall becomes available." +msgstr "" #: src/faction_camp.cpp -msgid "departs to hunt for meat..." -msgstr "se va a cazar animales..." +msgid "departs to survey land…" +msgstr "" #: src/faction_camp.cpp -msgid "departs to search for recruits..." -msgstr "se va a buscar reclutas..." +msgid "departs to search for materials…" +msgstr "" #: src/faction_camp.cpp -msgid "departs to survey land..." -msgstr "se va a inspeccionar la zona..." +msgid "departs to search for firewood…" +msgstr "" #: src/faction_camp.cpp -msgid "returns to you with something..." -msgstr "vuelve con algo..." +msgid "returns from working in the woods…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from your farm with something..." -msgstr "vuelve de tu granja con algo..." +msgid "returns from working on the hide site…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from your kitchen with something..." -msgstr "vuelve de tu cocina con algo..." +msgid "returns from shuttling gear between the hide site…" +msgstr "" + +#: src/faction_camp.cpp +msgid "departs to search for edible plants…" +msgstr "" + +#: src/faction_camp.cpp +msgid "departs to set traps for small animals…" +msgstr "" + +#: src/faction_camp.cpp +msgid "departs to hunt for meat…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from your blacksmith shop with something..." -msgstr "vuelve de tu herrería con algo..." +msgid "departs to search for recruits…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from your garage..." -msgstr "vuelve de tu garage..." +msgid "returns to you with something…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns from your farm with something…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns from your kitchen with something…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns from your blacksmith shop with something…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns from your garage…" +msgstr "" #: src/faction_camp.cpp msgid "You don't have enough food stored to feed your companion." msgstr "No tenés suficiente comida almacenada para alimentar a tu compañero." #: src/faction_camp.cpp -msgid "begins to upgrade the camp..." -msgstr "comienza a mejorar el campamento..." +msgid "begins to upgrade the camp…" +msgstr "" #: src/faction_camp.cpp msgid "You don't have the materials for the upgrade." msgstr "No tenés los materiales para la mejora." +#: src/faction_camp.cpp +msgid "There are no npcs stationed here" +msgstr "" + +#: src/faction_camp.cpp src/npc.cpp +msgid "No particular job" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "Press %s to change this workers job." +msgstr "" + +#: src/faction_camp.cpp +msgid "Assign which job?" +msgstr "" + #: src/faction_camp.cpp #, c-format msgid "%s goes off to clean toilets and sort loot." @@ -195645,16 +200961,16 @@ msgstr "" "%s" #: src/faction_camp.cpp -msgid "departs to cut logs..." -msgstr "se va a cortar troncos..." +msgid "departs to cut logs…" +msgstr "" #: src/faction_camp.cpp msgid "Forests are the only valid cutting locations." msgstr "Los únicos lugares válidos para cortar árboles son los bosques." #: src/faction_camp.cpp -msgid "departs to clear a forest..." -msgstr "se va a limpiar un bosque..." +msgid "departs to clear a forest…" +msgstr "" #: src/faction_camp.cpp msgid "Forests, swamps, and fields are valid hide site locations." @@ -195666,12 +200982,12 @@ msgid "Do you wish to give your companion additional items?" msgstr "¿Querés darle más objetos a tu compañero?" #: src/faction_camp.cpp -msgid "departs to build a hide site..." -msgstr "se va a construir un escondite..." +msgid "departs to build a hide site…" +msgstr "" #: src/faction_camp.cpp -msgid "You need equipment to setup a hide site..." -msgstr "Necesitás equipamiento para establecer un escondite..." +msgid "You need equipment to setup a hide site…" +msgstr "" #: src/faction_camp.cpp msgid "You must select an existing hide site." @@ -195682,12 +200998,12 @@ msgid "Bring gear back?" msgstr "¿Querés traer de vuelta el equipo?" #: src/faction_camp.cpp -msgid "departs for the hide site..." -msgstr "se va al escondite..." +msgid "departs for the hide site…" +msgstr "" #: src/faction_camp.cpp -msgid "You need equipment to transport between the hide site..." -msgstr "Necesitás equipamiento para trasladar al escondite..." +msgid "You need equipment to transport between the hide site…" +msgstr "" #: src/faction_camp.cpp msgid "" @@ -195716,8 +201032,8 @@ msgid "You don't have the material to build the fortification." msgstr "No tenés el material para construir la fortificación." #: src/faction_camp.cpp -msgid "begins constructing fortifications..." -msgstr "comienza a construir fortificaciones..." +msgid "begins constructing fortifications…" +msgstr "" #: src/faction_camp.cpp msgid "" @@ -195728,8 +201044,8 @@ msgstr "" "otra vez para terminar." #: src/faction_camp.cpp -msgid "departs on patrol..." -msgstr "se va a patrullar..." +msgid "departs on patrol…" +msgstr "" #: src/faction_camp.cpp msgid "You don't have the materials to craft that" @@ -195745,32 +201061,32 @@ msgid "Your batch is too large!" msgstr "¡Ese grupo es demasiado grande!" #: src/faction_camp.cpp -msgid "begins to work..." -msgstr "comienza a trabajar..." +msgid "begins to work…" +msgstr "" #: src/faction_camp.cpp -msgid "+ more \n" -msgstr "+ más \n" +msgid "+ more\n" +msgstr "" #: src/faction_camp.cpp -msgid "begins to harvest the field..." -msgstr "empieza a cosechar el campo..." +msgid "begins to harvest the field…" +msgstr "" #: src/faction_camp.cpp -msgid "You have no additional seeds to give your companions..." -msgstr "No tenés más semillas para darle a tus compañeros..." +msgid "You have no additional seeds to give your companions…" +msgstr "" #: src/faction_camp.cpp src/mission_companion.cpp msgid "Which seeds do you wish to have planted?" msgstr "¿Qué semilla querés plantar?" #: src/faction_camp.cpp -msgid "begins planting the field..." -msgstr "empieza a plantar el campo..." +msgid "begins planting the field…" +msgstr "" #: src/faction_camp.cpp -msgid "begins plowing the field..." -msgstr "empieza a arar el campo..." +msgid "begins plowing the field…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -195782,12 +201098,16 @@ msgstr "" "%s" #: src/faction_camp.cpp -msgid "begins working in the garage..." -msgstr "empieza a trabajar en el garage..." +msgid "begins working in the garage…" +msgstr "" + +#: src/faction_camp.cpp +msgid "Your companion seems disappointed that your pantry is empty…" +msgstr "" #: src/faction_camp.cpp -msgid "Your companion seems disappointed that your pantry is empty..." -msgstr "Tu compañero parece decepcionado porque tu despensa está vacía..." +msgid "responds to the emergency recall…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -195795,11 +201115,11 @@ msgid "%s failed to build the %s upgrade." msgstr "" #: src/faction_camp.cpp -msgid "returns from upgrading the camp having earned a bit of experience..." +msgid "returns from upgrading the camp having earned a bit of experience…" msgstr "" #: src/faction_camp.cpp -msgid "returns from doing the dirty work to keep the camp running..." +msgid "returns from doing the dirty work to keep the camp running…" msgstr "" #: src/faction_camp.cpp @@ -195820,53 +201140,49 @@ msgstr "cazando animales" #: src/faction_camp.cpp #, c-format -msgid "returns from %s carrying supplies and has a bit more experience..." +msgid "returns from %s carrying supplies and has a bit more experience…" msgstr "" #: src/faction_camp.cpp -msgid "returns from constructing fortifications..." +msgid "returns from constructing fortifications…" msgstr "" #: src/faction_camp.cpp -msgid "returns from searching for recruits with a bit more experience..." +msgid "returns from searching for recruits with a bit more experience…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s encountered %s..." -msgstr "%s encontró %s..." +msgid "%s encountered %s…" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s didn't find anyone to recruit..." -msgstr "%s no encontró nadie para reclutar..." +msgid "%s didn't find anyone to recruit…" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s convinced %s to hear a recruitment offer from you..." -msgstr "%s convenció %s a que te escuche hablar a vos por el reclutamiento..." +msgid "%s convinced %s to hear a recruitment offer from you…" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested in anything %s had to offer..." -msgstr "%s no tenía ningún interés en lo que le podía ofrecer %s..." +msgid "%s wasn't interested in anything %s had to offer…" +msgstr "" #: src/faction_camp.cpp msgid "" "NPC Overview:\n" -" \n" +"\n" msgstr "" -"Vista general de PNJ:\n" -" \n" #: src/faction_camp.cpp #, c-format msgid "" -"Name: %20s\n" -" \n" +"Name: %s\n" +"\n" msgstr "" -"Nombre: %20s\n" -" \n" #: src/faction_camp.cpp #, c-format @@ -195887,10 +201203,8 @@ msgstr "Inteligencia: %10d\n" #, c-format msgid "" "Perception: %10d\n" -" \n" +"\n" msgstr "" -"Percepción: %10d\n" -" \n" #: src/faction_camp.cpp msgid "Top 3 Skills:\n" @@ -195904,28 +201218,22 @@ msgstr "Pide:\n" #, c-format msgid "" "> Food: %10d days\n" -" \n" +"\n" msgstr "" -"> Comida: %10d días\n" -" \n" #: src/faction_camp.cpp #, c-format msgid "" "Faction Food:%9d days\n" -" \n" +"\n" msgstr "" -"Comida de Bando:%9d días\n" -" \n" #: src/faction_camp.cpp #, c-format msgid "" "Recruit Chance: %10d%%\n" -" \n" +"\n" msgstr "" -"Probabilidad de Reclutamiento: %10d%%\n" -" \n" #: src/faction_camp.cpp msgid "Select an option:" @@ -195948,8 +201256,8 @@ msgid "Not Interested" msgstr "No Estás Interesado" #: src/faction_camp.cpp -msgid "You decide you aren't interested..." -msgstr "Decidiste que no estás interesado..." +msgid "You decide you aren't interested…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -195958,28 +201266,25 @@ msgstr "¡%s ha sido convencido de unirse!" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested..." -msgstr "%s no estaba interesado..." +msgid "%s wasn't interested…" +msgstr "" #: src/faction_camp.cpp -msgid "Your companion hit a river and didn't know how to swim..." -msgstr "Tu compañera llega a un río y no sabe nadar..." +msgid "Your companion hit a river and didn't know how to swim…" +msgstr "" #: src/faction_camp.cpp msgid "" -"Your companion hit a river and didn't know how to swim well enough to " -"cross..." +"Your companion hit a river and didn't know how to swim well enough to cross…" msgstr "" -"Tu compañero llega a un río y no sabe nadar bien como para cruzarlo " -"nadando..." #: src/faction_camp.cpp #, c-format -msgid "%s didn't return from patrol..." -msgstr "%s no volvió de patrullar..." +msgid "%s didn't return from patrol…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from patrol..." +msgid "returns from patrol…" msgstr "" #: src/faction_camp.cpp @@ -196019,7 +201324,7 @@ msgid "returns from surveying for the expansion." msgstr "" #: src/faction_camp.cpp -msgid "returns from working your fields... " +msgid "returns from working your fields…" msgstr "" #: src/faction_camp.cpp @@ -196081,27 +201386,25 @@ msgstr ">Recorridos: %15d (m)\n" #: src/faction_camp.cpp #, c-format -msgid ">Travel: %23s\n" -msgstr ">Viaje: %23s\n" +msgid ">Travel: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid ">Working: %23s\n" -msgstr ">Trabajo: %23s\n" +msgid ">Working: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Total: %23s\n" -msgstr "Total: %23s\n" +msgid "Total: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format msgid "" "Food: %15d (kcal)\n" -" \n" +"\n" msgstr "" -"Comida: %15d (kcal)\n" -" \n" #: src/faction_camp.cpp #, c-format @@ -196121,16 +201424,16 @@ msgstr "" msgid "" "Notes:\n" "Recruiting additional followers is very dangerous and expensive. The outcome is heavily dependent on the skill of the companion you send and the appeal of your base.\n" -" \n" +"\n" "Skill used: speech\n" -"Difficulty: 2 \n" +"Difficulty: 2\n" "Base Score: +%3d%%\n" "> Expansion Bonus: +%3d%%\n" "> Faction Bonus: +%3d%%\n" "> Special Bonus: +%3d%%\n" -" \n" +"\n" "Total: Skill +%3d%%\n" -" \n" +"\n" "Risk: High\n" "Time: 4 Days\n" "Positions: %d/1\n" @@ -196150,8 +201453,8 @@ msgstr "Necesita Arar: " #: src/faction_camp.cpp #, c-format -msgid "Name: %25s\n" -msgstr "Nombre: %25s\n" +msgid "Name: %s\n" +msgstr "" #: src/faction_camp.cpp msgid "---- Engines ----\n" @@ -196159,8 +201462,8 @@ msgstr "---- Motores ----\n" #: src/faction_camp.cpp #, c-format -msgid "Engine: %25s\n" -msgstr "Motor: %25s\n" +msgid "Engine: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -196169,8 +201472,8 @@ msgstr ">Estado: %24d%%\n" #: src/faction_camp.cpp #, c-format -msgid ">Fuel: %25s\n" -msgstr ">Combustible: %25s\n" +msgid ">Fuel: %s\n" +msgstr "" #: src/faction_camp.cpp msgid "---- Fuel Storage & Battery ----\n" @@ -196181,12 +201484,12 @@ msgid "Estimated Chop Time: 5 Days\n" msgstr "Tiempo Estimado de Tala: 5 Días\n" #: src/faction_camp.cpp -msgid "You do not have a camp food zone. Aborting..." +msgid "You do not have a camp food zone. Aborting…" msgstr "" #: src/faction_camp.cpp -msgid "No items are located at the drop point..." -msgstr "No hay objetos ubicados en el punto de entrega..." +msgid "No items are located at the drop point…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -196195,8 +201498,8 @@ msgstr "Distribuís los %d kcal de comida entre tus compañeros." #: src/faction_camp.cpp #, c-format -msgid "While %s, a silent specter approaches %s..." -msgstr "Mientras %s, se acerca un espectador silencioso a %s..." +msgid "While %s, a silent specter approaches %s…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -196231,8 +201534,8 @@ msgstr "¡%s no se dio cuenta de la emboscada hasta que fue demasiado tarde!" #: src/faction_camp.cpp #, c-format -msgid "The bull moose charged %s from the tree line..." -msgstr "El alce macho ataca a %s desde los árboles..." +msgid "The bull moose charged %s from the tree line…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -196252,15 +201555,13 @@ msgstr "El jabberwock agarró a %s por el brazo desde atrás y empezó a gritar. #, c-format msgid "" "Terrified, %s spun around and delivered a massive kick to the creature's " -"torso..." +"torso…" msgstr "" -"Horrorizado/a, %s giró y le dió una tremenda patada a la criatura en el " -"torso..." #: src/faction_camp.cpp #, c-format -msgid "Collapsing into a pile of gore, %s walked away unscathed..." -msgstr "Cayendo en una pila de tripas, %s se retiró ileso/a..." +msgid "Collapsing into a pile of gore, %s walked away unscathed…" +msgstr "" #: src/faction_camp.cpp msgid "(Sounds like bullshit, you wonder what really happened.)" @@ -196270,10 +201571,8 @@ msgstr "(Parece todo mentira, te preguntás qué habrá pasado.)" #, c-format msgid "" "%s turned to find the hideous black eyes of a giant wasp staring back from " -"only a few feet away..." +"only a few feet away…" msgstr "" -"%s se dió vuelta y encontró los horribles ojos negros de una avispa gigante " -"mirandolo/a desde unos pocos metros..." #: src/faction_camp.cpp msgid "The screams were terrifying, there was nothing anyone could do." @@ -196285,9 +201584,8 @@ msgid "Pieces of %s were found strewn across a few bushes." msgstr "Se encontraron pedazos de %s desparramados entre los arbustos." #: src/faction_camp.cpp -msgid "(You wonder if your companions are fit to work on their own...)" +msgid "(You wonder if your companions are fit to work on their own…)" msgstr "" -"(Te preguntás si tus compañeros están preparados para trabajar solos...)" #: src/fungal_effects.cpp src/iuse.cpp #, c-format @@ -196322,8 +201620,8 @@ msgid "Loading core data" msgstr "Cargando datos centrales" #: src/game.cpp -msgid "Please wait while the world data loads..." -msgstr "Por favor, esperá mientras se carga la información del mundo..." +msgid "Please wait while the world data loads…" +msgstr "" #: src/game.cpp src/start_location.cpp msgid "Please wait as we build your world" @@ -196359,8 +201657,8 @@ msgstr "Borrar mundo" #: src/game.cpp #, c-format -msgid "World retained. Characters remaining:%s" -msgstr "Mundo retenido. Personajes que quedan:%s" +msgid "World retained. Characters remaining:%s" +msgstr "" #: src/game.cpp #, c-format @@ -196368,8 +201666,8 @@ msgid "The %s is dangerously close!" msgstr "" #: src/game.cpp -msgid "Wait till you wake up..." -msgstr "Esperá a que te despiertes..." +msgid "Wait till you wake up…" +msgstr "" #: src/game.cpp #, c-format @@ -196544,8 +201842,8 @@ msgid "You are not wielding a ranged weapon." msgstr "No estás empuñando ningún arma de distancia." #: src/game.cpp -msgid "Watch the last moments of your life...?" -msgstr "¿Querés ver los últimos momentos de tu vida...?" +msgid "Watch the last moments of your life…?" +msgstr "" #: src/game.cpp msgid "Loading files" @@ -196594,20 +201892,15 @@ msgid "Failed to save game data" msgstr "No se pudo guardar la información del juego" #: src/game.cpp -msgid " You are forgotten among the billions lost in the cataclysm..." +msgid " You are forgotten among the billions lost in the cataclysm…" msgstr "" -"Quedás olvidado/a entre los miles de millones perdidos en el cataclismo..." #: src/game.cpp msgid "" " Locked in an endless battle, the Old Guard was forced to consolidate " "their resources in a handful of fortified bases along the coast. Without " -"the men or material to rebuild, the soldiers that remained lost all hope..." +"the men or material to rebuild, the soldiers that remained lost all hope…" msgstr "" -" Atrapados en una batalla interminable, la Vieja Guardia fue forzada a " -"juntar sus recursos en un puñado de bases fortificadas a lo largo de la " -"costa. Sin los hombres o los materiales para reconstruir, los soldados que " -"quedaron ya perdieron las esperanzas..." #: src/game.cpp msgid "" @@ -196617,28 +201910,16 @@ msgid "" "success. Forced to eventually consolidate to large bases, the Old Guard " "left these facilities in the hands of the few survivors that remained. As " "the years past, little materialized from the hopes of rebuilding " -"civilization..." +"civilization…" msgstr "" -" La resolución de algunos supervivientes luego del cataclismo mantuvo los" -" despojos de lo que una vez fue un glorioso sindicato. Estimulados por " -"pequeños éxitos, un grupo de operaciones para reconquistar instalaciones " -"fueron logrados con un éxito limitado. Eventualmente fueron forzados a armar" -" bases grandes, y la Vieja Guardia dejó esas instalaciones en las manos de " -"unos pocos sobrevivientes que quedaron. Al paso de unos años, poco se pudo " -"materializar de las esperanzas por reconstruir la civilización..." #: src/game.cpp msgid "" " Life in the refugee shelter deteriorated as food shortages and disease " "destroyed any hope of maintaining a civilized enclave. The merchants and " "craftsmen dispersed to found new colonies but most became victims of " -"marauding bandits. Those who survived never found a place to call home..." +"marauding bandits. Those who survived never found a place to call home…" msgstr "" -" La vida en el refugio se fue deteriorando a medida que la comida fue " -"escasa y las enfermedades destruyeron toda esperanza de mantener un lugar " -"civilizado. Los comerciantes y artesanos se dispersaron para encontrar " -"nuevas colonias, pero la mayoría fue víctima de bandidos saqueadores. " -"Aquellos que sobrevivieron nunca encontraron un lugar para llamar hogar..." #: src/game.cpp msgid "" @@ -196646,13 +201927,8 @@ msgid "" "once profitable trade routes were plundered by bandits and thugs. In " "squalor and filth the first generations born after the cataclysm are told " "stories of the old days when food was abundant and the children were allowed" -" to play in the sun..." +" to play in the sun…" msgstr "" -" Los Mercaderes Libres lucharon por años para poder mantenerse " -"alimentados, pero sus rutas de comercio fueron atacadas por bandidos. A las " -"primeras generaciones nacidas entre la mugre luego del cataclismo, le " -"cuentan historias de los viejos días cuando la comida era abundante y los " -"niños podían salir a jugar al sol..." #: src/game.cpp msgid "" @@ -196686,13 +201962,8 @@ msgid "" " The lone bands of survivors who wandered the now alien world dwindled in" " number through the years. Unable to compete with the growing number of " "monstrosities that had adapted to live in their world, those who did survive" -" lived in dejected poverty and hopelessness..." +" lived in dejected poverty and hopelessness…" msgstr "" -" Los solitarios grupos de sobrevivientes que vagaron el mundo ahora " -"alienígena, menguaron en número a lo largo de los años. Incapaces de " -"competir con las monstruosidades que se adaptar a la vida de este mundo, " -"aquellos que sobrevivieron viven en la pobreza desmoralizante y sin " -"esperanza..." #: src/game.cpp msgid "" @@ -196701,15 +201972,8 @@ msgid "" "old world. Enormous hordes made cities impossible to enter while new " "eldritch horrors appeared mysteriously near old research labs. But on the " "fringes of where civilization once ended, bands of hunter-gatherers began to" -" adopt agrarian lifestyles in fortified enclaves..." +" adopt agrarian lifestyles in fortified enclaves…" msgstr "" -" Los cartoneros que florecieron en los primeros días del cataclismo, " -"encontraron un problema creciente para encontrar equipamiento del viejo " -"mundo. Enormes hordas hicieron imposible entrar en las ciudades a la vez que" -" horrores espeluznantes aparecieron misteriosamente cerca de los viejos " -"laboratorios de investigación. Pero en los límites de lo que la civilización" -" fue alguna vez, grupos de cazadores-recolectores comenzaron a adoptar la " -"vida agraria en enclaves fortificados..." #: src/game.cpp msgid "" @@ -196735,15 +201999,8 @@ msgid "" "brought the warlords abundant territory and slaves but little in the way of " "stability. Within weeks, infighting led to civil war as tribes vied for " "leadership of the faction. When only one warlord finally secured control, " -"there was nothing left to fight for... just endless cities full of the dead." +"there was nothing left to fight for… just endless cities full of the dead." msgstr "" -" Alimentados por las drogas y la ira, los Piratas del Infierno lucharon " -"con uñas y dientes para derrocar las últimas fortalezas del a Vieja Guardia." -" Las costosas victorias les dieron a los caudillos territorio y esclavos " -"abundantes pero nada en pos de la estabilidad. En semanas, las peleas " -"internas llevaron a la guerra civil cuando las tribus compitieron por el " -"liderazgo del bando. Cuando finalmente un caudillo se quedó con el control, " -"ya no había nada por lo que luchar... solo ciudades llenas de muertos." #: src/game.cpp #, c-format @@ -196921,13 +202178,6 @@ msgid "" "increased by %s." msgstr "" -#: src/game.cpp -#, c-format -msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " -"anyway?" -msgstr "" - #: src/game.cpp msgid "Successfully removed Personality override." msgstr "" @@ -197070,8 +202320,8 @@ msgid "Never mind" msgstr "No importa" #: src/game.cpp src/npctalk.cpp -msgid "You may be attacked! Proceed?" -msgstr "¡Podés ser atacado! ¿Continuar?" +msgid "You may be attacked! Proceed?" +msgstr "" #: src/game.cpp msgid "Examine where?" @@ -197263,12 +202513,12 @@ msgid "There's something there, but you can't see what it is." msgstr "Hay algo ahí, pero no podés ver lo que es." #: src/game.cpp -msgid "More items here..." -msgstr "Hay más objetos acá..." +msgid "More items here…" +msgstr "" #: src/game.cpp #, c-format -msgctxt "%s is the name of the item. %d is the quantity of that item." +msgctxt "%s is the name of the item. %d is the quantity of that item." msgid "%s [%d]" msgstr "%s [%d]" @@ -197597,8 +202847,8 @@ msgstr "No tenés las herramientas necesarias para desarmar un objeto acá." #: src/game.cpp #, c-format -msgid "You see %s nearby! Start butchering anyway?" -msgstr "¡Ves %s bastante cerca! ¿Igual querés empezar a carnear?" +msgid "You see %s nearby! Start butchering anyway?" +msgstr "" #: src/game.cpp msgid "Choose corpse to butcher / item to disassemble" @@ -197636,7 +202886,7 @@ msgstr "No tenés ganas y pensar en el trabajo te frena antes de empezar." #: src/game.cpp src/iuse.cpp src/iuse.cpp src/iuse.cpp src/veh_interact.cpp #: src/veh_interact.cpp #, c-format -msgid "%s helps with this task..." +msgid "%s helps with this task…" msgstr "" #: src/game.cpp @@ -197696,7 +202946,7 @@ msgstr "¡Necesitás por lo menos un/a %s para recargar el/a %s!" msgid "The %s is already full!" msgstr "¡El %s ya está lleno!" -#: src/game.cpp +#: src/game.cpp src/ranged.cpp #, c-format msgid "You can't reload a %s!" msgstr "¡No podés recargar un/a %s!" @@ -197721,13 +202971,6 @@ msgstr "No tenés nada para descargar." msgid "You're not wielding anything." msgstr "No estás empuñando nada." -#. ~ %1$s: weapon name, %2$s: holster name -#: src/game.cpp src/player.cpp -#, c-format -msgctxt "holster" -msgid "Draw %1$s from %2$s?" -msgstr "" - #: src/game.cpp #, c-format msgid "There's an angry red dot on your body, %s to brush it off." @@ -197750,11 +202993,9 @@ msgstr " o %s para permitir el monstruo" #: src/game.cpp #, c-format msgid "" -"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " +"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " "monster%4$s)" msgstr "" -"Encontraste un/a %1$s--¡el modo seguro está activado! (%2$s para " -"desactivarlo, %3$s para ignorar el monstruo %4$s)" #: src/game.cpp #, c-format @@ -197793,8 +203034,12 @@ msgstr "¿Seguro? ¿Querés meterte en %s?" msgid "Your %s refuses to move over that ledge!" msgstr "" -#: src/game.cpp src/player.cpp src/player.cpp -msgid "You let go of the grabbed object." +#: src/game.cpp +msgid "You can't fit there." +msgstr "" + +#: src/game.cpp +msgid "Your mount can't fit there." msgstr "" #: src/game.cpp @@ -197953,13 +203198,15 @@ msgid "" "There are vehicle controls here but you cannot reach them whilst mounted." msgstr "" +#: src/game.cpp +msgid "You are repelled by the barrier!" +msgstr "" + #: src/game.cpp msgid "" -"You try to quantum tunnel through the barrier but are reflected! Try again " +"You try to quantum tunnel through the barrier but are reflected! Try again " "with more energy!" msgstr "" -"¡Intentás hacer un túnel cuántico a través de la barrera pero son es " -"reflejado! ¡Intentalo de nuevo pero con má energía!" #: src/game.cpp msgid "It's too dangerous to tunnel that far!" @@ -197989,6 +203236,16 @@ msgstr "¡Te esforzás mucho tratando de mover el pesado %s!" msgid "There's stuff in the way." msgstr "Hay cosas en el medio." +#: src/game.cpp +#, c-format +msgid "The %s is really heavy!" +msgstr "" + +#: src/game.cpp +#, c-format +msgid "You fail to move the %s." +msgstr "" + #: src/game.cpp #, c-format msgid "The %s is too heavy for you to budge." @@ -198045,8 +203302,8 @@ msgstr "Trepar %s" #: src/game.cpp #, c-format -msgid "You try to use the stairs. Suddenly you are blocked by a %s!" -msgstr "Intentás usar las escaleras. ¡De repente, te bloquea un %s!" +msgid "You try to use the stairs. Suddenly you are blocked by a %s!" +msgstr "" #: src/game.cpp #, c-format @@ -198148,9 +203405,8 @@ msgid "Halfway down, the way down becomes blocked off." msgstr "A mitad de camino, el descenso queda bloqueado." #: src/game.cpp -msgid "There is a sheer drop halfway down. Web-descend?" +msgid "There is a sheer drop halfway down. Web-descend?" msgstr "" -"A mitad de camino hay un desnivel abrupto. ¿Usar telaraña para descender?" #: src/game.cpp msgid "" @@ -198171,9 +203427,8 @@ msgstr "" "descender?" #: src/game.cpp -msgid "Detach a vine? It'll hurt, but you'll be able to climb back up..." +msgid "Detach a vine? It'll hurt, but you'll be able to climb back up…" msgstr "" -"¿Desprender la liana? Te va a doler, pero vas a poder volver a trepar..." #: src/game.cpp msgid "You descend on your vines, though leaving a part of you behind stings." @@ -198191,16 +203446,12 @@ msgstr "" "Bajás sin problemas y dejás una liana arraigada para poder usarla después." #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your grappling hook down?" +msgid "There is a sheer drop halfway down. Climb your grappling hook down?" msgstr "" -"A mitad de camino hay un desnivel abrupto. ¿Querés usar tu gancho de agarre " -"para descender?" #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your rope down?" +msgid "There is a sheer drop halfway down. Climb your rope down?" msgstr "" -"A mitad de camino hay un desnivel abrupto. ¿Querés usar tu soga para " -"descender?" #: src/game.cpp msgid "There is a sheer drop halfway down. Jump?" @@ -198261,8 +203512,8 @@ msgstr "¡El %s te empuja!" #: src/game.cpp #, c-format -msgid "The %s tried to push you back but failed! It attacks you!" -msgstr "¡El %s intenta empujarte pero no puede! ¡Te ataca!" +msgid "The %s tried to push you back but failed! It attacks you!" +msgstr "" #: src/game.cpp #, c-format @@ -198290,35 +203541,26 @@ msgstr "Todavía no hay guardado para %s." #: src/game.cpp #, c-format msgid "" -"Whoa! Your terminal is tiny! This game requires a minimum terminal size of " -"%dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " +"Whoa! Your terminal is tiny! This game requires a minimum terminal size of" +" %dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " "help?" msgstr "" -"¡Epa! ¡Tu terminal es muy chica! Este juego necesita una resolución mínima " -"de %dx%d para funcionar bien. %dx%d no alcanza. ¿Por ahí podés probar con " -"una fuente más chica?" #: src/game.cpp #, c-format msgid "" -"Oh! Hey, look at that. Your terminal is just a little too narrow. This game " -"requires a minimum terminal size of %dx%d to function. It just won't work " -"with only %dx%d. Can you stretch it out sideways a bit?" +"Oh! Hey, look at that. Your terminal is just a little too narrow. This " +"game requires a minimum terminal size of %dx%d to function. It just won't " +"work with only %dx%d. Can you stretch it out sideways a bit?" msgstr "" -"¡Ah! Uh, mirá vos. Tu termina es como que muy angosta. Este juego necesita " -"una resolución mínima de %dx%d para funcionar. No va a andar con solo " -"%dx%d. ¿Podés alargarla un poco de los costados?" #: src/game.cpp #, c-format msgid "" -"Woah, woah, we're just a little short on space here. The game requires a " -"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " +"Woah, woah, we're just a little short on space here. The game requires a " +"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " "make the terminal just a smidgen taller?" msgstr "" -"Epa, epa, estamos un poco cortos de espacio acá. El juego necesita una " -"resolución mínima de %dx%d para andar. ¡%dx%d no es suficiente! ¿Podés hacer" -" la terminal un cachito más alta?" #: src/game.cpp msgid "" @@ -198404,8 +203646,8 @@ msgid "You feel thirsty." msgstr "Sentís sed." #: src/game.cpp -msgid "You feel an evil presence..." -msgstr "Sentís una presencia maligna..." +msgid "You feel an evil presence…" +msgstr "" #: src/game.cpp msgid "You feel a tickle of insanity." @@ -198420,8 +203662,8 @@ msgid "You feel your genetic makeup degrading." msgstr "Sentís degradarse tu maquillaje genético." #: src/game.cpp -msgid "You feel an otherworldly attention upon you..." -msgstr "Sentís una atención sobrenatural puesta sobre vos..." +msgid "You feel an otherworldly attention upon you…" +msgstr "" #: src/game.cpp msgid "You feel a force pulling you inwards." @@ -198465,8 +203707,8 @@ msgstr "¡Per %s%d! " #: src/game.cpp #, c-format -msgid "Speed %s%d! " -msgstr "¡Velocidad %s%d!" +msgid "Speed %s%d!" +msgstr "" #: src/game_inventory.cpp msgid "You don't have the necessary item at hand." @@ -198596,6 +203838,16 @@ msgstr "indefinido" msgid "SHELF LIFE" msgstr "CADUCIDAD" +#. ~ Eat menu Volume: +#: src/game_inventory.cpp +#, c-format +msgid "%.2f%s" +msgstr "" + +#: src/game_inventory.cpp +msgid "VOLUME" +msgstr "" + #: src/game_inventory.cpp msgid "FRESHNESS" msgstr "FRESCURA" @@ -198604,10 +203856,6 @@ msgstr "FRESCURA" msgid "SPOILS IN" msgstr "SE PUDRE EN" -#: src/game_inventory.cpp -msgid "Battery" -msgstr "Batería" - #: src/game_inventory.cpp msgid "Reactor" msgstr "Reactor" @@ -198632,10 +203880,6 @@ msgstr "No podés tomar líquidos derramados" msgid "Your biology is not compatible with that item." msgstr "" -#: src/game_inventory.cpp -msgid "You're fully charged" -msgstr "Ya estás completamente cargado/a" - #: src/game_inventory.cpp #, c-format msgid "No space to store more %s" @@ -198913,8 +204157,8 @@ msgstr "No hay objetos para comparar." #: src/game_inventory.cpp msgid "" -"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE to" -" cancel." +"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE " +"to cancel." msgstr "" #: src/game_inventory.cpp @@ -198944,11 +204188,6 @@ msgstr "" msgid "Available anesthetic: %i mL" msgstr "" -#: src/game_inventory.cpp -#, c-format -msgid "Money available: %s" -msgstr "" - #: src/game_inventory.cpp #, c-format msgid "Bionic removal patient: %s" @@ -199074,6 +204313,14 @@ msgstr "" msgid "CBM is filthy. Wash it first." msgstr "" +#: src/game_inventory.cpp +msgid "You should put this CBM in an autoclave pouch to keep it sterile." +msgstr "" + +#: src/game_inventory.cpp +msgid "You need at least 2L of water." +msgstr "" + #: src/game_inventory.cpp msgid "Sterilization" msgstr "" @@ -199187,8 +204434,8 @@ msgstr "El %s choca con %s." #: src/handle_action.cpp #, c-format -msgid "Press %s to accept your fate..." -msgstr "Apretá %s para aceptar tu destino..." +msgid "Press %s to accept your fate…" +msgstr "" #: src/handle_action.cpp msgid "No radio car connected." @@ -199200,19 +204447,16 @@ msgstr "ruido de colisión contra un obstáculo." #. ~ Sound of moving a remote controlled car #: src/handle_action.cpp -msgid "zzz..." -msgstr "zzz..." +msgid "zzz…" +msgstr "" #: src/handle_action.cpp -msgid "You can't drive the vehicle from here. You need controls!" +msgid "You can't drive the vehicle from here. You need controls!" msgstr "" -"No podés manejar el vehículo desde acá. ¡Necesitás agarrar los controles!" #: src/handle_action.cpp -msgid "Can't drive this vehicle remotely. It has no working controls." +msgid "Can't drive this vehicle remotely. It has no working controls." msgstr "" -"No podés manejar este vehículo por control remoto. No tiene controles que " -"funcionen." #: src/handle_action.cpp msgid "Open where?" @@ -199320,11 +204564,11 @@ msgid "There's nothing there to smash!" msgstr "¡Ahí no hay nada para destrozar!" #: src/handle_action.cpp -msgid "You already have an alarm set. What do you want to do?" +msgid "You already have an alarm set. What do you want to do?" msgstr "" #: src/handle_action.cpp -msgid "You have an alarm clock. What do you want to do?" +msgid "You have an alarm clock. What do you want to do?" msgstr "" #: src/handle_action.cpp @@ -199447,15 +204691,13 @@ msgstr "Por ahí quieras desactivar estos antes de dormirte." #: src/handle_action.cpp msgid "" -"You're engorged to hibernate. The alarm would only attract attention. Set an" -" alarm anyway?" +"You're engorged to hibernate. The alarm would only attract attention. Set " +"an alarm anyway?" msgstr "" -"Estás bien lleno para hibernar. Lo único que hará la alarma es atraer " -"atención. ¿Igual querés poner la alarma?" #: src/handle_action.cpp -msgid "You have an alarm clock. Set an alarm?" -msgstr "Tenés un reloj alarma. ¿Querés poner la alarma?" +msgid "You have an alarm clock. Set an alarm?" +msgstr "" #: src/handle_action.cpp msgid "No, don't set an alarm." @@ -199486,7 +204728,7 @@ msgstr "Ordenar mis cosas" #: src/handle_action.cpp msgid "" "Sorts out the loot from Loot: Unsorted zone to nearby appropriate Loot " -"zones. Uses empty space in your inventory or utilizes a cart, if you are " +"zones. Uses empty space in your inventory or utilizes a cart, if you are " "holding one." msgstr "" @@ -199495,40 +204737,37 @@ msgid "Till farm plots" msgstr "Arar campos" #: src/handle_action.cpp -msgid "Till farm plots... you need a tool to dig with" -msgstr "Arar campos... necesitás una herramienta para cavar" +msgid "Till farm plots… you need a tool to dig with" +msgstr "" #: src/handle_action.cpp msgid "Tills nearby Farm: Plot zones." msgstr "Arar zonas cercanas de Granja: Lote." #: src/handle_action.cpp -msgid "Plant seeds... it is too cold for planting" -msgstr "Plantar semillas... hace demasiado frío para plantar" +msgid "Plant seeds… it is too cold for planting" +msgstr "" #: src/handle_action.cpp msgid "Plant seeds" msgstr "Plantar semillas" #: src/handle_action.cpp -msgid "Plant seeds... you don't have any" -msgstr "Plantar semillas... no tenés semillas" +msgid "Plant seeds… you don't have any" +msgstr "" #: src/handle_action.cpp msgid "" -"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " +"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " "specific plant seed and you must have seeds in your inventory." msgstr "" -"Plantar semillas en zonas cercanas de Granja: Lote. Los lotes de granja " -"tienen que ser establecidos para semillas específicas y tenés que tener las " -"semillas en tu inventario." #: src/handle_action.cpp msgid "Fertilize plots" msgstr "" #: src/handle_action.cpp -msgid "Fertilize plots... you don't have any fertilizer" +msgid "Fertilize plots… you don't have any fertilizer" msgstr "" #: src/handle_action.cpp @@ -199822,6 +205061,10 @@ msgstr "la nueva vinculación por defecto es '^'." msgid "You can't operate a vehicle while you're in your shell." msgstr "No podés controlar un vehículo mientras estás dentro de tu caparazón." +#: src/handle_action.cpp +msgid "You refuse to take control of this vehicle." +msgstr "" + #: src/handle_action.cpp msgid "Auto travel mode OFF!" msgstr "" @@ -199835,9 +205078,8 @@ msgid "Safe mode OFF!" msgstr "¡Modo seguro DESACTIVADO!" #: src/handle_action.cpp -msgid "Safe mode OFF! (Auto safe mode still enabled!)" +msgid "Safe mode OFF! (Auto safe mode still enabled!)" msgstr "" -"¡Modo seguro DESACTIVADO! (¡Pero el modo seguro automático sigue activado!)" #: src/handle_action.cpp msgid "Auto safe mode OFF!" @@ -200061,11 +205303,9 @@ msgstr "" #: src/iexamine.cpp #, c-format msgid "" -"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" +"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" "Your current balance is: %s" msgstr "" -"Bienvenido al Cajero Automático del C.C.B. ¿Qué operación querés realizar?\n" -"Tu saldo actual es: %s" #: src/iexamine.cpp msgid "Purchase cash card?" @@ -200115,9 +205355,9 @@ msgid "Your account now holds %s." msgstr "Tu cuenta ahora tiene %s." #: src/iexamine.cpp -msgid "This will automatically deduct $1.00 from your bank account. Continue?" +msgid "" +"This will automatically deduct $1.00 from your bank account. Continue?" msgstr "" -"Esto deducirá automáticamente $1.00 de tu cuenta bancaria. ¿Continuar?" #: src/iexamine.cpp msgid "You can only deposit money from charged cash cards!" @@ -200125,10 +205365,10 @@ msgstr "¡Solo podés depositar dinero desde una tarjeta de crédito cargada!" #: src/iexamine.cpp #, c-format -msgid "Deposit how much? Max: %d cent. (0 to cancel) " -msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " -msgstr[0] "¿Cuánto querés depositar? Máx: %d centavo. (0 para cancelar)" -msgstr[1] "¿Cuánto querés depositar? Máx: %d centavos. (0 para cancelar)" +msgid "Deposit how much? Max: %d cent. (0 to cancel) " +msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " +msgstr[0] "" +msgstr[1] "" #: src/iexamine.cpp msgid "You do not have a cash card to withdraw money!" @@ -200136,10 +205376,10 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "Withdraw how much? Max: %d cent. (0 to cancel) " -msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " -msgstr[0] "¿Cuánto querés extraer? Máx: %d centavo. (0 para cancelar)" -msgstr[1] "¿Cuánto querés extraer? Máx: %d centavos. (0 para cancelar)" +msgid "Withdraw how much? Max: %d cent. (0 to cancel) " +msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " +msgstr[0] "" +msgstr[1] "" #: src/iexamine.cpp msgid "The vending machine is empty!" @@ -200233,8 +205473,8 @@ msgid "No one responds." msgstr "" #: src/iexamine.cpp -msgid "If only you had a shovel..." -msgstr "Si tuvieras una pala..." +msgid "If only you had a shovel…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -200336,16 +205576,16 @@ msgid "Insert $10?" msgstr "¿Querés poner $10?" #: src/iexamine.cpp -msgid "Three cherries... you get your money back!" -msgstr "Tres cerezas... ¡recuperás la plata!" +msgid "Three cherries… you get your money back!" +msgstr "" #: src/iexamine.cpp -msgid "Three bells... you win $50!" -msgstr "Tres campanas... ¡ganaste $50!" +msgid "Three bells… you win $50!" +msgstr "" #: src/iexamine.cpp -msgid "Three stars... you win $200!" -msgstr "Tres estrellas... ¡ganaste $200!" +msgid "Three stars… you win $200!" +msgstr "" #: src/iexamine.cpp msgid "JACKPOT! You win $3000!" @@ -200360,8 +205600,8 @@ msgid "Play again?" msgstr "¿Querés jugar otra vez?" #: src/iexamine.cpp -msgid "You mess with the dial for a little bit... and it opens!" -msgstr "¡Toqueteás un poco el dial... y se abre!" +msgid "You mess with the dial for a little bit… and it opens!" +msgstr "" #: src/iexamine.cpp msgid "You mess with the dial for a little bit." @@ -200401,13 +205641,24 @@ msgstr "" "La caja fuerte de armas no cede a tus intentos de forzar la cerradura." #: src/iexamine.cpp -msgid "If only you had something to pry with..." +#, c-format +msgid "The %s is locked. If only you had something to pry it with…" msgstr "" #. ~ %1$s: terrain/furniture name, %2$s: prying tool name #: src/iexamine.cpp #, c-format -msgid "You attempt to pry open the %1$s using your %2$s..." +msgid "You attempt to pry open the %1$s using your %2$s…" +msgstr "" + +#: src/iexamine.cpp +#, c-format +msgid "The %s is locked. If only you had something to pick its lock with…" +msgstr "" + +#: src/iexamine.cpp +#, c-format +msgid "You attempt to pick lock of %1$s using your %2$s…" msgstr "" #: src/iexamine.cpp @@ -200425,11 +205676,11 @@ msgstr "" "tienen forma humanoide, pero con miembros largos, retorcidos y hinchados." #: src/iexamine.cpp -msgid "The pedestal sinks into the ground..." -msgstr "El pedestal se hunde en el suelo..." +msgid "The pedestal sinks into the ground…" +msgstr "" #: src/iexamine.cpp -msgid "an ominous grinding noise..." +msgid "an ominous grinding noise…" msgstr "" #: src/iexamine.cpp @@ -200478,12 +205729,12 @@ msgid "You hear the rumble of rock shifting." msgstr "Escuchás el retumbar de la piedra desplazándose." #: src/iexamine.cpp -msgid "This flower is dead. You can't get it." -msgstr "Esta flor está muerta. No la podés usar." +msgid "This flower is dead. You can't get it." +msgstr "" #: src/iexamine.cpp -msgid "This plant is dead. You can't get it." -msgstr "Esta planta está muerta. No la podés usar." +msgid "This plant is dead. You can't get it." +msgstr "" #: src/iexamine.cpp msgid "You drink some nectar." @@ -200518,8 +205769,8 @@ msgid "This flower has a heady aroma." msgstr "Esta flor tiene aroma embriagador." #: src/iexamine.cpp -msgid "You fall asleep..." -msgstr "Te quedás dormido..." +msgid "You fall asleep…" +msgstr "" #: src/iexamine.cpp msgid "Your legs are covered in the poppy's roots!" @@ -200531,7 +205782,7 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" +msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" msgstr "" #: src/iexamine.cpp @@ -200547,8 +205798,8 @@ msgid "Nothing can be harvested from this plant in current season" msgstr "No se puede cosechar nada de esta planta en esta estación del año" #: src/iexamine.cpp -msgid "This flower is still alive, despite the harsh conditions..." -msgstr "Esta flor todavía está viva, a pesar de las duras condiciones..." +msgid "This flower is still alive, despite the harsh conditions…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -200556,8 +205807,8 @@ msgid "You feel out of place as you explore the %s. Drink?" msgstr "Te sentís fuera de lugar mientras explorás el %s. ¿Querés tomar?" #: src/iexamine.cpp -msgid "This flower tastes very wrong..." -msgstr "Esta flor tiene un gusto muy equivocado..." +msgid "This flower tastes very wrong…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -200598,8 +205849,8 @@ msgid "You have no seeds to plant." msgstr "No tenés semillas para plantar." #: src/iexamine.cpp -msgid "Something's lying there..." -msgstr "Hay algo tirado ahí..." +msgid "Something's lying there…" +msgstr "" #: src/iexamine.cpp src/mission_companion.cpp msgid "You saved your seeds for later." @@ -200618,8 +205869,8 @@ msgid "The seed blooms forth! We have brought true beauty to this world." msgstr "¡La semilla florece más! Nosotros hemos traido belleza a este mundo." #: src/iexamine.cpp -msgid "The seed blossoms rather rapidly..." -msgstr "La semilla florece bastante rápidamente..." +msgid "The seed blossoms rather rapidly…" +msgstr "" #: src/iexamine.cpp msgid "The seed blossoms into a flower-looking fungus." @@ -200677,8 +205928,8 @@ msgid "This kiln contains %s, which can't be made into charcoal!" msgstr "¡Esta fosa contiene %s, que no puede ser convertido en carbón!" #: src/iexamine.cpp -msgid "This kiln is empty. Fill it with wood or bone and try again." -msgstr "Esta fosa está vacía. Llenala con madera o hueso y probá de nuevo." +msgid "This kiln is empty. Fill it with wood or bone and try again." +msgstr "" #: src/iexamine.cpp msgid "The batch in this kiln is too small to yield any charcoal." @@ -200706,8 +205957,8 @@ msgid "You fire the charcoal kiln." msgstr "Encendés la fosa de carbonización." #: src/iexamine.cpp -msgid "This kiln is empty..." -msgstr "La fosa está vacía..." +msgid "This kiln is empty…" +msgstr "" #: src/iexamine.cpp msgid "There's a charcoal kiln there." @@ -200749,7 +206000,7 @@ msgstr "" #: src/iexamine.cpp msgid "" -"This furance is empty. Fill it with powdered coke and lime mix, and try " +"This furance is empty. Fill it with powdered coke and lime mix, and try " "again." msgstr "" @@ -200778,7 +206029,7 @@ msgid "You turn on the furnace." msgstr "" #: src/iexamine.cpp -msgid "This furnace is empty..." +msgid "This furnace is empty…" msgstr "" #: src/iexamine.cpp @@ -200791,7 +206042,7 @@ msgid "It has finished burning, yielding %d calcium carbide." msgstr "" #: src/iexamine.cpp -msgid "This autoclave is empty..." +msgid "This autoclave is empty…" msgstr "" #: src/iexamine.cpp @@ -200850,7 +206101,7 @@ msgid "Start a fire" msgstr "" #: src/iexamine.cpp -msgid "Start a fire... you'll need a fire source." +msgid "Start a fire… you'll need a fire source." msgstr "" #: src/iexamine.cpp @@ -200872,13 +206123,17 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "You attempt to start a fire with your %s..." +msgid "You attempt to start a fire with your %s…" msgstr "" #: src/iexamine.cpp msgid "You weren't able to start a fire." msgstr "" +#: src/iexamine.cpp +msgid "You can't light a fire there." +msgstr "No podés encender un fuego ahí." + #: src/iexamine.cpp #, c-format msgid "Really take down the %s while it's on fire?" @@ -201055,13 +206310,13 @@ msgid "The %s is full." msgstr "El/a %s está lleno/a." #: src/iexamine.cpp -msgid "You have no tool to dig with..." -msgstr "No tenés una herramienta para cavar..." +msgid "You have no tool to dig with…" +msgstr "" #: src/iexamine.cpp #, c-format -msgid "Dig up %s? This kills the tree!" -msgstr "¿Quéres desenterrar el/a %s? ¡Eso mata al árbol!" +msgid "Dig up %s? This kills the tree!" +msgstr "" #: src/iexamine.cpp msgid "Which container?" @@ -201086,8 +206341,8 @@ msgid "You need a %s to tap this maple tree." msgstr "Necesitás un/a %s para extraer la savia de este arce." #: src/iexamine.cpp -msgid "No container added. The sap will just spill on the ground." -msgstr "No hay puesto un recipiente. La savia se va a caer en el suelo." +msgid "No container added. The sap will just spill on the ground." +msgstr "" #: src/iexamine.cpp msgid "Remove tap" @@ -201234,14 +206489,13 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "That %s looks too dangerous to mess with. Best leave it alone." +msgid "That %s looks too dangerous to mess with. Best leave it alone." msgstr "" -"Ese %s parece muy peligroso como para toquetearlo. Mejor dejarlo en paz." #: src/iexamine.cpp #, c-format -msgid "There is a %s there. Take down?" -msgstr "Hay un %s ahí. ¿Lo querés desmantelar?" +msgid "There is a %s there. Take down?" +msgstr "" #: src/iexamine.cpp #, c-format @@ -201351,12 +206605,12 @@ msgid "You're illiterate, and can't read the screen." msgstr "Sos analfabeto, no podés leer la pantalla." #: src/iexamine.cpp -msgid "Failure! No gas pumps found!" -msgstr "¡Error! ¡No se encontraron surtidores de nafta!" +msgid "Failure! No gas pumps found!" +msgstr "" #: src/iexamine.cpp -msgid "Failure! No gas tank found!" -msgstr "¡Error! ¡No se encontró tanque de nafta!" +msgid "Failure! No gas tank found!" +msgstr "" #: src/iexamine.cpp msgid "This station is out of fuel. We apologize for the inconvenience." @@ -201415,9 +206669,8 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel) " +msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel)" msgstr "" -"¿Cuántas litros de nafta quieres comprar? Máx: %d L. (0 para cancelar)" #: src/iexamine.cpp msgid "Glug Glug Glug" @@ -201484,34 +206737,28 @@ msgstr "No podés bajar trepando por ahí" #: src/iexamine.cpp #, c-format -msgid "Looks like %d story. Jump down?" -msgid_plural "Looks like %d stories. Jump down?" -msgstr[0] "Parece ser %d piso. ¿Te tirás?" -msgstr[1] "Parecen ser %d pisos. ¿Te tirás?" +msgid "Looks like %d story. Jump down?" +msgid_plural "Looks like %d stories. Jump down?" +msgstr[0] "" +msgstr[1] "" #: src/iexamine.cpp -msgid "You probably won't be able to get up and jumping down may hurt. Jump?" +msgid "You probably won't be able to get up and jumping down may hurt. Jump?" msgstr "" -"Probablemente, no vayas a poder subir y tirarte puede doler. ¿Te querés " -"tirar?" #: src/iexamine.cpp -msgid "You probably won't be able to get back up. Climb down?" +msgid "You probably won't be able to get back up. Climb down?" msgstr "" -"Probablemente, no vayas a poder volver a subir. ¿Querés bajar trepando?" #: src/iexamine.cpp msgid "" -"You should be able to climb back up easily if you climb down there. Climb " +"You should be able to climb back up easily if you climb down there. Climb " "down?" msgstr "" -"Deberías poder volver a trepar fácilmente si bajás por acá. ¿Querés bajar " -"trepando?" #: src/iexamine.cpp -msgid "You may have problems climbing back up. Climb down?" +msgid "You may have problems climbing back up. Climb down?" msgstr "" -"Puede ser que tengas problemas para volver a subir. ¿Querés bajar trepando?" #: src/iexamine.cpp msgid "You decided to step back from the ledge." @@ -201547,8 +206794,8 @@ msgstr "" #: src/iexamine.cpp msgid "" -"ERROR Bionic Level Assessement : FULL CYBORG. Autodoc Mk. XI can't " -"opperate. Please move patient to appropriate facility. Exiting." +"ERROR Bionic Level Assessement: FULL CYBORG. Autodoc Mk. XI can't opperate." +" Please move patient to appropriate facility. Exiting." msgstr "" #: src/iexamine.cpp @@ -201833,8 +207080,7 @@ msgid "Inspect mill" msgstr "" #: src/iexamine.cpp -msgid "" -"Remove brake and start milling... insert some products for milling first" +msgid "Remove brake and start milling… insert some products for milling first" msgstr "" #: src/iexamine.cpp @@ -201846,12 +207092,12 @@ msgid "Remove brake and start milling, milling will take about 6 hours." msgstr "" #: src/iexamine.cpp -msgid "Insert products for milling... mill is full" +msgid "Insert products for milling… mill is full" msgstr "" #: src/iexamine.cpp #, c-format -msgid "Insert products for milling... remaining capacity is %s %s" +msgid "Insert products for milling… remaining capacity is %s %s" msgstr "" #: src/iexamine.cpp @@ -201899,8 +207145,8 @@ msgid "You inspect its contents and find: " msgstr "Inspeccionás su contenido y encontrás:" #: src/iexamine.cpp -msgid "... that it is empty." -msgstr "... que está vacío/a." +msgid "…that it is empty." +msgstr "" #: src/iexamine.cpp msgid "You see some grains that are not yet milled to fine flour." @@ -201928,13 +207174,13 @@ msgid "Inspect smoking rack" msgstr "Inspeccionar soporte para ahumar" #: src/iexamine.cpp -msgid "Light up and smoke food... insert some food for smoking first" -msgstr "Encender y ahumar comida... primero poné algo de comida para ahumar" +msgid "Light up and smoke food… insert some food for smoking first" +msgstr "" #: src/iexamine.cpp #, c-format -msgid "Light up and smoke food... need extra %d charges of charcoal" -msgstr "Encender y ahumar comida... necesitás %d más de carbón vegetal" +msgid "Light up and smoke food… need extra %d charges of charcoal" +msgstr "" #: src/iexamine.cpp msgid "Light up and smoke food" @@ -201942,20 +207188,18 @@ msgstr "Encender y ahumar comida" #: src/iexamine.cpp msgid "" -"Light up the smoking rack and start smoking. Smoking will take about 6 " +"Light up the smoking rack and start smoking. Smoking will take about 6 " "hours." msgstr "" -"Encender el soporte para ahumar y empezar a ahumar. El ahumado tardará 6 " -"horas." #: src/iexamine.cpp -msgid "Insert food for smoking... smoking rack is full" -msgstr "Poné comida para ahumar... el soporte está lleno" +msgid "Insert food for smoking… smoking rack is full" +msgstr "" #: src/iexamine.cpp #, c-format -msgid "Insert food for smoking... remaining capacity is %s %s" -msgstr "Poné comida para ahumar... todavía tiene %s %s de capacidad" +msgid "Insert food for smoking… remaining capacity is %s %s" +msgstr "" #: src/iexamine.cpp msgid "" @@ -201978,8 +207222,8 @@ msgid "Remove food from smoking rack" msgstr "Sacar comida del soporte para ahumar" #: src/iexamine.cpp -msgid "Reload with charcoal... you don't have any" -msgstr "Recargar carbón vegetal... no tenés" +msgid "Reload with charcoal… you don't have any" +msgstr "" #: src/iexamine.cpp msgid "Reload with charcoal" @@ -201988,11 +207232,9 @@ msgstr "Recargar carbón vegetal" #: src/iexamine.cpp #, c-format msgid "" -"You need %d charges of charcoal for %s %s of food. Minimal amount of " +"You need %d charges of charcoal for %s %s of food. Minimal amount of " "charcoal is %d charges." msgstr "" -"Necesitás %d cargas de carbón vegetal para %s %s de comida. La cantidad " -"mínima de carbón vegetal es %d cargas." #: src/iexamine.cpp msgid "Quench burning charcoal" @@ -202052,7 +207294,7 @@ msgid "You stop the smoking process." msgstr "Detenés el proceso de ahumado." #: src/iexamine.cpp -msgid "You open the unlocked safe. " +msgid "You open the unlocked safe." msgstr "" #: src/iexamine.cpp @@ -202152,6 +207394,10 @@ msgstr "Conexiones de mapa" msgid "Overmap specials" msgstr "Especiales de mapa" +#: src/init.cpp +msgid "Overmap locations" +msgstr "Lugares del mapa" + #: src/init.cpp msgid "Vehicle prototypes" msgstr "Prototipos de vehículos" @@ -202260,10 +207506,6 @@ msgstr "Mutaciones" msgid "Mutation Categories" msgstr "Categorías de Mutaciones" -#: src/init.cpp -msgid "Overmap locations" -msgstr "Lugares del mapa" - #: src/init.cpp msgid "Map extras" msgstr "" @@ -202631,14 +207873,6 @@ msgstr "" msgid "Page %d/%d" msgstr "Página %d/%d" -#: src/inventory_ui.cpp -msgid "ITEMS WORN" -msgstr "OBJETOS PUESTOS" - -#: src/inventory_ui.cpp -msgid "WEAPON HELD" -msgstr "ARMA EMPUÑADA" - #: src/inventory_ui.cpp #, c-format msgid "Weight (%s):" @@ -203095,11 +208329,9 @@ msgstr "" #: src/item.cpp msgid "" -"This food has started to rot. Eating it would be a " +"This food has started to rot. Eating it would be a " "very bad idea." msgstr "" -"Esta comida ha empezado a pudrirse. Sería una muy mala " -"idea comerla." #: src/item.cpp #, c-format @@ -203170,13 +208402,6 @@ msgstr "" msgid "This ammo starts fires." msgstr "" -#: src/item.cpp -#, c-format -msgid "Stats of the active gunmod (%s) are shown." -msgstr "" -"Se muestran las características de la modificación del arma " -"(%s) activa." - #: src/item.cpp msgid "Skill used: " msgstr "Habilidad usada: " @@ -203321,8 +208546,9 @@ msgid "Used on: " msgstr "Se usa en: " #: src/item.cpp -msgid "Location: " -msgstr "Lugar:" +#, c-format +msgid "Location: %s" +msgstr "" #: src/item.cpp msgid "Incompatible with mod location: " @@ -203851,42 +209077,45 @@ msgid "" msgstr "" #: src/item.cpp -msgid "* This clothing can be upsized." +msgid "can be upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be downsized." +msgid "can be downsized" msgstr "" #: src/item.cpp -msgid "* This clothing can not be downsized." +msgid "can not be downsized" msgstr "" #: src/item.cpp -msgid "* This clothing can not be upsized." +msgid "can not be upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be refitted and upsized." +#, c-format +msgid "* This clothing %s." msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted and downsized." +msgid " and upsized" msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not downsized." +msgid " and downsized" msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not upsized." +msgid " but not downsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be refitted." +msgid " but not upsized" +msgstr "" + +#: src/item.cpp +#, c-format +msgid "* This clothing can be refitted%s." msgstr "" #: src/item.cpp @@ -203987,6 +209216,16 @@ msgstr "" msgid "This bionic is installed in the following body part(s):" msgstr "Este biónico se instala en las siguientes partes del cuerpo:" +#: src/item.cpp +msgid "* This bionic can produce power from the following fuel: " +msgid_plural "* This bionic can produce power from the following fuels: " +msgstr[0] "" +msgstr[1] "" + +#: src/item.cpp +msgid "Power Capacity:" +msgstr "" + #: src/item.cpp msgid "Encumbrance: " msgstr "" @@ -204072,16 +209311,19 @@ msgstr "Ya está listo y puede ser activado." msgid "It will be done in %s." msgstr "Estará terminado en %s." -#. ~ %1$s: gerund (e.g. carved), %2$s: item name -#: src/item.cpp src/iuse_actor.cpp +#. ~ %1$s: gerund (e.g. carved), %2$s: item name, %3$s: inscription text +#: src/item.cpp #, c-format msgctxt "carving" -msgid "%1$s on the %2$s is: " -msgstr "%1$s en el %2$s es: " +msgid "%1$s on the %2$s is: %3$s" +msgstr "" -#: src/item.cpp src/options.cpp -msgid "Note: " -msgstr "Nota:" +#. ~ %1$s: inscription text +#: src/item.cpp +#, c-format +msgctxt "carving" +msgid "Note: %1$s" +msgstr "" #: src/item.cpp msgid "Integrated mod: " @@ -204115,6 +209357,13 @@ msgstr "Lo podés usar para fabricar varios objetos más." msgid "You could use it to craft: %s" msgstr "Se puede usar para fabricar: %s" +#: src/item.cpp +#, c-format +msgid "Stats of the active gunmod (%s) are shown." +msgstr "" +"Se muestran las características de la modificación del arma " +"(%s) activa." + #: src/item.cpp #, c-format msgid "It takes you an extremely long time to wield your %s." @@ -204777,8 +210026,8 @@ msgid "You're already smoking a %s!" msgstr "¡Ya estás fumandote un %s!" #: src/iuse.cpp -msgid "Are you sure you want to drink... this?" -msgstr "¿Seguro que te querés tomar... esto?" +msgid "Are you sure you want to drink… this?" +msgstr "" #: src/iuse.cpp #, c-format @@ -204809,8 +210058,8 @@ msgid "You light a %s." msgstr "Te prendés un %s." #: src/iuse.cpp -msgid "Ugh, too much smoke... you feel nasty." -msgstr "Uh, demasiado humo... te sentís sucio." +msgid "Ugh, too much smoke… you feel nasty." +msgstr "" #: src/iuse.cpp msgid "You take a puff from your electronic cigarette." @@ -204825,8 +210074,8 @@ msgid "You don't have any nicotine liquid!" msgstr "¡No tenés nicotina líquida!" #: src/iuse.cpp -msgid "Ugh, too much nicotine... you feel nasty." -msgstr "Uh, demasiada nicotina... te sentís sucio." +msgid "Ugh, too much nicotine… you feel nasty." +msgstr "" #: src/iuse.cpp msgid "You take some antibiotics." @@ -204935,7 +210184,7 @@ msgstr "Dejaste de temblar." #: src/iuse.cpp msgid "" "You start scarfing down the delicious cake. It tastes a little funny " -"though..." +"though…" msgstr "" #: src/iuse.cpp @@ -204967,8 +210216,8 @@ msgid "You no longer need to fear the flu, at least for some time." msgstr "" #: src/iuse.cpp -msgid "Are you sure you want to eat this? It looks poisonous..." -msgstr "¿Seguro que te querés comer esto? Parece venenoso..." +msgid "Are you sure you want to eat this? It looks poisonous…" +msgstr "" #: src/iuse.cpp #, c-format @@ -204988,8 +210237,8 @@ msgid "You suddenly feel hollow inside." msgstr "De repente, te sentís vacío por dentro." #: src/iuse.cpp -msgid "You feel very sleepy..." -msgstr "Sentís mucho sueño..." +msgid "You feel very sleepy…" +msgstr "" #: src/iuse.cpp msgid "You eat the datura seed." @@ -205083,10 +210332,8 @@ msgstr "" #, c-format msgid "" "As you eat the %s, you have a near-religious experience, feeling at one with" -" your surroundings..." +" your surroundings…" msgstr "" -"Te comés el/a %s, y tenés una experiencia casi religiosa, sintiéndote en " -"unidad con tus alrededores..." #: src/iuse.cpp msgid "It tastes extremely strange!" @@ -205111,10 +210358,8 @@ msgstr "Le pegás una mordida, ¡y vomitás inmediatamente!" #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into an excruciating burn" -" as you convulse, vomiting, and black out..." +" as you convulse, vomiting, and black out…" msgstr "" -"Sentís un calorcito conocido, pero de repente aumenta y se convierte en una " -"quemazón intensa y convulsionás, vomitás y te desmayás..." #: src/iuse.cpp msgctxt "memorial_male" @@ -205129,10 +210374,8 @@ msgstr "Sufrió un rechazo al marloss." #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into painful burning as " -"you convulse and collapse to the ground..." +"you convulse and collapse to the ground…" msgstr "" -"Sentís un calorcito conocido, pero de repente aumenta y se convierte en una " -"quemazón dolorosa y convulsionás y caés al suelo..." #: src/iuse.cpp src/monattack.cpp msgid "" @@ -205146,14 +210389,12 @@ msgstr "" #: src/iuse.cpp msgid "" "unity. together we have reached the door. we provide the final key. now " -"to pass through..." +"to pass through…" msgstr "" -"unidad. juntos nosotros hemos alcanzado la puerta. nosotros proveemos la " -"llave final. ahora para pasar..." #: src/iuse.cpp -msgid "You feel a strange warmth spreading throughout your body..." -msgstr "Sentís un extraño calorcito que se esparce por todo tu cuerpo..." +msgid "You feel a strange warmth spreading throughout your body…" +msgstr "" #. ~ "Uh-uh" is a sound used for "nope", "no", etc. #: src/iuse.cpp @@ -205172,9 +210413,8 @@ msgstr "" #: src/iuse.cpp #, c-format -msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." +msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." msgstr "" -"¿Seguro que te querés comer el %s? Podrías plantarlo en una pila de tierra." #: src/iuse.cpp msgid "It tastes amazing, and you finish it quickly." @@ -205183,15 +210423,14 @@ msgstr "" #: src/iuse.cpp msgid "" "As it settles in, you feel ecstasy radiating through every part of your " -"body..." +"body…" msgstr "" #: src/iuse.cpp msgid "" "Your eyes roll back in your head. Everything dissolves into a blissful " -"haze..." +"haze…" msgstr "" -"Los ojos se te ponen en blanco. Todo se disuelve en una dichosa neblina." #. ~ The Mycus does not use the term (or encourage the concept of) "you". The #. PC is a local/native organism, but is now the Mycus. @@ -205199,18 +210438,16 @@ msgstr "" #. bent symbiotes should not need it. #. ~ We are the Mycus. #: src/iuse.cpp -msgid "We welcome into us. We have endured long in this forbidding world." +msgid "We welcome into us. We have endured long in this forbidding world." msgstr "" "Nosotros te damos la bienvenida a nosotros. Nosotros hemos sobrevivido en " "este mundo prohibitivo." #: src/iuse.cpp msgid "" -"A sea of white caps, waving gently. A haze of spores wafting silently over a" -" forest." +"A sea of white caps, waving gently. A haze of spores wafting silently over " +"a forest." msgstr "" -"Es un mar de oronjas blancas, ondeando gentilmente. Una niebla de esporas " -"flotando silenciosamente sobre un bosque." #: src/iuse.cpp msgid "The natives have a saying: \"E Pluribus Unum.\" Out of many, one." @@ -205218,29 +210455,22 @@ msgstr "Los nativos tienen un dicho: \"E Pluribus Unum.\" De muchos, uno." #: src/iuse.cpp msgid "" -"The blazing pink redness of the berry. The juices spreading across your " +"The blazing pink redness of the berry. The juices spreading across your " "tongue, the warmth draping over us like a lover's embrace." msgstr "" -"El centelleante rojizo rosado del fruto. Los jugos chorreando por tu lengua," -" la tibieza cubriéndonos como el abrazo de un amante." #: src/iuse.cpp msgid "" "We welcome the union of our lines in our local guide. We will prosper, and " -"unite this world. Even now, our fruits adapt to better serve local " +"unite this world. Even now, our fruits adapt to better serve local " "physiology." msgstr "" -"Nosotros le damos la bienvenida a la unión entre nuestras lineas en nuestra " -"guía local. Prosperaremos, y uniremos este mundo. Incluso ahora, nuestros " -"frutos se adaptan para servir mejor a la fisiología local." #: src/iuse.cpp msgid "" -"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " +"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " "berry, a memory that will never leave us." msgstr "" -"El azul del cielo de la semilla. Los sabores a crema y nuez entremezclándose" -" con el fruto, un recuerdo que nunca nos abandonará." #: src/iuse.cpp msgid "" @@ -205252,14 +210482,12 @@ msgstr "" #: src/iuse.cpp msgid "" -"The amber-yellow of the sap. Feel it flowing through our veins, taking the " +"The amber-yellow of the sap. Feel it flowing through our veins, taking the " "place of the strange, thin red gruel called \"blood.\"" msgstr "" -"El amarillo ámbar de la savia. Sentila fluyendo por nuestras venas, " -"reemplazando esa extraña, espesa, roja y fina llamada \"sangre\"." #: src/iuse.cpp -msgid "This tastes really weird! You're not sure it's good for you..." +msgid "This tastes really weird! You're not sure it's good for you…" msgstr "" #: src/iuse.cpp @@ -205348,8 +210576,8 @@ msgid "You do not have that item!" msgstr "¡No tenés eso!" #: src/iuse.cpp -msgid "Which signal should activate the item?:" -msgstr "¿Qué señal activa el objeto?:" +msgid "Which signal should activate the item?" +msgstr "" #: src/iuse.cpp msgid "\"Blue\"" @@ -205391,8 +210619,8 @@ msgid "You can't fish there!" msgstr "¡No podés pescar ahí!" #: src/iuse.cpp -msgid "You cast your line and wait to hook something..." -msgstr "Tirás la línea y esperás a ver si enganchás algo..." +msgid "You cast your line and wait to hook something…" +msgstr "" #: src/iuse.cpp msgid "Fish are not foolish enough to go in here without bait." @@ -205599,16 +210827,6 @@ msgstr "¡KXSHHHHRRCRKLKKK!" msgid "The infernal racket dies as the noise emitter turns off." msgstr "El barullo infernal se termina cuando el emisor de ruido se apaga." -#: src/iuse.cpp -#, c-format -msgid "You learn the essential elements of %s." -msgstr "Aprendés los elementos esenciales del %s." - -#: src/iuse.cpp -#, c-format -msgid "%s to select martial arts style." -msgstr "%s para elegir el estilo de arte marcial." - #: src/iuse.cpp msgid "You pry out the fence post." msgstr "Sacás a la fuerza el poste de la valla." @@ -206030,18 +211248,27 @@ msgid "Scan the ground" msgstr "Escanear el suelo" #: src/iuse.cpp -msgid "Scan yourself" -msgstr "Escanearte a vos" +msgid "Scan yourself or other person" +msgstr "" #: src/iuse.cpp msgid "Turn continuous scan on" msgstr "Encender escaneo continuo" +#: src/iuse.cpp +msgid "Scan whom?" +msgstr "" + #: src/iuse.cpp #, c-format msgid "Your radiation level: %d mSv (%d mSv from items)" msgstr "" +#: src/iuse.cpp +#, c-format +msgid "%s's radiation level: %d mSv (%d mSv from items)" +msgstr "" + #: src/iuse.cpp #, c-format msgid "The ground's radiation level: %d mSv/h" @@ -206110,6 +211337,10 @@ msgstr "¡Tick!" msgid "You've already released the handle, try throwing it instead." msgstr "Ya soltaste la palanca, ahora intentá tirarla." +#: src/iuse.cpp src/iuse_actor.cpp +msgid "You need a source of fire!" +msgstr "¡Necesitás una fuente de fuego!" + #: src/iuse.cpp msgid "You light the arrow!" msgstr "¡Encendiste la flecha!" @@ -206122,6 +211353,10 @@ msgstr "Tu cóctel molotov se apaga." msgid "You light the pack of firecrackers." msgstr "Encendés el paquete de petardos." +#: src/iuse.cpp +msgid "ssss…" +msgstr "" + #: src/iuse.cpp msgid "You light the firecracker." msgstr "Encendés el petardo." @@ -206136,23 +211371,23 @@ msgid "You set the timer to %s." msgstr "" #: src/iuse.cpp -msgid "You squeeze the pheromone ball..." -msgstr "Apretás la pelota de feromonas..." +msgid "You squeeze the pheromone ball…" +msgstr "" #: src/iuse.cpp -msgid " squeezes the pheromone ball..." -msgstr " apreta la pelota de feromonas..." +msgid " squeezes the pheromone ball…" +msgstr "" #: src/iuse.cpp -msgid "...but nothing happens." -msgstr "...pero no pasa nada." +msgid "…but nothing happens." +msgstr "" #: src/iuse.cpp -msgid "...and a nearby zombie becomes passive!" +msgid "…and a nearby zombie becomes passive!" msgstr "" #: src/iuse.cpp -msgid "...and several nearby zombies become passive!" +msgid "…and several nearby zombies become passive!" msgstr "" #: src/iuse.cpp @@ -206424,7 +211659,7 @@ msgid "You need a rechargeable battery cell to charge." msgstr "" #: src/iuse.cpp -msgid "You cannot do... that while mounted." +msgid "You cannot do… that while mounted." msgstr "" #: src/iuse.cpp @@ -206446,8 +211681,8 @@ msgid "You whip out your %s and start getting the tension out." msgstr "Te sacás tu %s y empezás a liberar tensiones." #: src/iuse.cpp -msgid "Air swirls all over..." -msgstr "El aire se arremolina alrededor..." +msgid "Air swirls all over…" +msgstr "" #: src/iuse.cpp msgid "Air swirls around you for a moment." @@ -206483,26 +211718,26 @@ msgstr "¿Querés extraer sangre del %s?" #: src/iuse.cpp #, c-format -msgid "You drew blood from the %s..." -msgstr "Extraés sangre del %s..." +msgid "You drew blood from the %s…" +msgstr "" #: src/iuse.cpp msgid "Draw your own blood?" msgstr "¿Querés extraer tu propia sangre?" #: src/iuse.cpp -msgid "You drew your own blood..." -msgstr "Extraés tu propia sangre..." +msgid "You drew your own blood…" +msgstr "" #: src/iuse.cpp #, c-format -msgid "...but acidic blood melts the %s, destroying it!" -msgstr "...pero la sangre ácida derrite el/a %s, ¡y lo/a destruye!" +msgid "…but acidic blood melts the %s, destroying it!" +msgstr "" #: src/iuse.cpp #, c-format -msgid "...but acidic blood damages the %s!" -msgstr "...pero la sangre ácida derrite el/a %s!" +msgid "…but acidic blood damages the %s!" +msgstr "" #: src/iuse.cpp #, c-format @@ -206603,18 +211838,10 @@ msgstr "" msgid "You mop up the spill." msgstr "Limpiás el derrame con el lampazo." -#: src/iuse.cpp -msgid "Ka-BOOM!" -msgstr "¡Ka-BOOM!" - #: src/iuse.cpp msgid "The fabric of space seems to decay." msgstr "La tela del espacio parece estar en descomposición." -#: src/iuse.cpp -msgid "The earth shakes!" -msgstr "¡La tierra tiembla!" - #: src/iuse.cpp #, c-format msgid "The %s glows brightly!" @@ -206644,8 +211871,8 @@ msgid "Spray what?" msgstr "¿Qué querés grafitear?" #: src/iuse.cpp -msgid "(To delete, input one '.')" -msgstr "(Para borrar, apretá un '.')" +msgid "(To delete, clear the text and confirm)" +msgstr "" #: src/iuse.cpp msgid "You blur the inscription on the grave." @@ -206655,10 +211882,6 @@ msgstr "" msgid "You manage to get rid of the message on the ground." msgstr "Lográs borrar el mensaje que estaba en el suelo." -#: src/iuse.cpp -msgid "There isn't anything to erase here." -msgstr "Acá no hay nada para borrar." - #: src/iuse.cpp msgid "You carve an inscription on the grave." msgstr "" @@ -206676,13 +211899,9 @@ msgid "You don't have appropriate food to heat up." msgstr "No tenés la comida apropiada para calentar." #: src/iuse.cpp -msgid "You defrost the food, but don't heat it up, since you enjoy it cold." +msgid "You start heating up the food." msgstr "" -#: src/iuse.cpp -msgid "You defrost and heat up the food." -msgstr "Descongelás y calentás la comida." - #: src/iuse.cpp msgid "There is no fire around, use your integrated toolset instead?" msgstr "No hay ningún fuego cerca, ¿querés usar tus herramientas integradas?" @@ -206880,12 +212099,12 @@ msgstr "Reapuntás tu %s." #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s! ( %s-> %s)" +msgid "You repair your %s! ( %s-> %s)" msgstr "" #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s completely! ( %s-> %s)" +msgid "You repair your %s completely! ( %s-> %s)" msgstr "" #: src/iuse.cpp @@ -206920,12 +212139,12 @@ msgid "You reinforce your %s." msgstr "Reforzás tu %s." #: src/iuse.cpp -msgid "Clank! Clank!" -msgstr "¡Clank! ¡Clank!" +msgid "Clank! Clank!" +msgstr "" #: src/iuse.cpp -msgid "Ring! Ring!" -msgstr "¡Ring! ¡Ring!" +msgid "Ring! Ring!" +msgstr "" #: src/iuse.cpp msgid "You cannot read a computer screen." @@ -207081,8 +212300,8 @@ msgid "Wasted time, these pictures do not provoke your senses." msgstr "Una pérdida de tiempo, estas fotos no te provocan nada." #: src/iuse.cpp -msgid "You used to have a dog like this..." -msgstr "Vos tenías un perro parecido a este..." +msgid "You used to have a dog like this…" +msgstr "" #: src/iuse.cpp msgid "Ha-ha! An amusing cat photo." @@ -207093,8 +212312,8 @@ msgid "Excellent pictures of nature." msgstr "Excelentes imágenes de la naturaleza." #: src/iuse.cpp -msgid "Food photos... your stomach rumbles!" -msgstr "Foto de comida... ¡te cruje la panza!" +msgid "Food photos… your stomach rumbles!" +msgstr "" #: src/iuse.cpp msgid "Some very interesting travel photos." @@ -207567,12 +212786,12 @@ msgid "A %s got in the way of your photo." msgstr "Un %s se metió en el medio de la foto." #: src/iuse.cpp -msgid "Strange... there's nothing in the center of picture?" -msgstr "Qué raro... ¿no hay nada en el medio de la foto?" +msgid "Strange… there's nothing in the center of picture?" +msgstr "" #: src/iuse.cpp #, c-format -msgid "Strange... %s's not visible on the picture?" +msgid "Strange… %s's not visible on the picture?" msgstr "" #: src/iuse.cpp @@ -207696,8 +212915,8 @@ msgstr "Armás tu auto radiocontrolado con %s." #: src/iuse.cpp #, c-format -msgid "RC car with %s ? How?" -msgstr "¿El auto radiocontrolado con %s ? ¿Cómo?" +msgid "RC car with %s? How?" +msgstr "" #: src/iuse.cpp #, c-format @@ -207705,25 +212924,25 @@ msgid "Your %s is too heavy or bulky for this RC car." msgstr "Tu %s es demasiado pesado o incómodo para este auto a control remoto." #: src/iuse.cpp -msgid "You disarmed your RC car" -msgstr "Desarmás el auto radiocontrolado" +msgid "You disarmed your RC car." +msgstr "" #. ~Sound of a radio controlled car moving around #: src/iuse.cpp -msgid "buzzz..." -msgstr "buzzz..." +msgid "buzzz…" +msgstr "" #: src/iuse.cpp msgid "What to do with activated RC car?" msgstr "¿Qué querés hacer con el auto radiocontrolado activado?" #: src/iuse.cpp -msgid "You turned off your RC car" -msgstr "Apagás tu auto radiocontrolado" +msgid "You turned off your RC car." +msgstr "" -#: src/iuse.cpp src/map.cpp -msgid "beep." -msgstr "bip." +#: src/iuse.cpp +msgid "beep" +msgstr "" #: src/iuse.cpp msgid "Take control of RC car" @@ -207760,11 +212979,16 @@ msgstr "Tomás el control del auto radiocontrolado." #: src/iuse.cpp #, c-format msgid "" -"The %s in you inventory would explode on this signal. Place it down before " +"The %s in your inventory would explode on this signal. Place it down before" +" sending the signal." +msgstr "" + +#: src/iuse.cpp +#, c-format +msgid "" +"The %1$s in your %2$s would explode on this signal. Place it down before " "sending the signal." msgstr "" -"El %s en tu inventario explotará con esta señal. Ponelo en algún lugar antes" -" de mandarle la señal." #: src/iuse.cpp msgid "This vehicle's security system has locked you out!" @@ -207832,6 +213056,12 @@ msgstr "Controlar un vehículo." msgid "Execute one vehicle action" msgstr "Realizar una acción con el vehículo" +#: src/iuse.cpp +msgid "" +"Despite using a controller, you still refuse to take control of this " +"vehicle." +msgstr "" + #: src/iuse.cpp msgid "You take control of the vehicle." msgstr "Tomás control del vehículo." @@ -207853,8 +213083,8 @@ msgstr "" #. ~ Single-spaced & lowercase are intentional, conveying hurried speech-KA101 #: src/iuse.cpp -msgid "Are you sure?! the multi-cooker wants to poison your food!" -msgstr "¡¿Estás seguro!? la multicocina quiere envenenar tu comida!" +msgid "Are you sure?! the multi-cooker wants to poison your food!" +msgstr "" #: src/iuse.cpp msgid "" @@ -207898,8 +213128,8 @@ msgid "The cycle will be completed in %s." msgstr "" #: src/iuse.cpp -msgid "The multi-cooker should be finishing shortly..." -msgstr "La multicocina debería estar terminando dentro de poco..." +msgid "The multi-cooker should be finishing shortly…" +msgstr "" #. ~ sound of a multi-cooker finishing its cycle! #: src/iuse.cpp @@ -207979,8 +213209,8 @@ msgstr "" " empieza a temblar." #: src/iuse.cpp -msgid "Your morale is too low to craft..." -msgstr "Tu moral es demasiado baja como para fabricar algo..." +msgid "Your morale is too low to craft…" +msgstr "" #: src/iuse.cpp #, c-format @@ -208112,8 +213342,8 @@ msgstr "Necesitás jabón para usar esto." #: src/iuse.cpp #, c-format -msgid "The %s's monitor slowly outputs the data..." -msgstr "El monitor del %s comienza lentamente a elaborar la información..." +msgid "The %s's monitor slowly outputs the data…" +msgstr "" #: src/iuse.cpp #, c-format @@ -208255,8 +213485,8 @@ msgid "You break the stick, but one half shatters into splinters." msgstr "Rompés el palo, pero una de las mitades se destroza en astillas." #: src/iuse.cpp -msgid "The throbbing of the infection diminishes. Slightly." -msgstr "El latido que sentís en la infección disminuye. Un poco." +msgid "The throbbing of the infection diminishes. Slightly." +msgstr "" #: src/iuse.cpp msgid "You feel much better - almost entirely." @@ -208277,11 +213507,9 @@ msgstr "Abrís un/a %s." #: src/iuse.cpp msgid "" -"Simply taking more magnesium won't help. You have to go to sleep for it to " +"Simply taking more magnesium won't help. You have to go to sleep for it to " "work." msgstr "" -"Tomar más magnesio solamente no te va a ayudar. Tenés que irte a dormir para" -" que funcione." #: src/iuse.cpp #, c-format @@ -208550,8 +213778,8 @@ msgid "With a satisfying click, the lock on the door opens." msgstr "Con un satisfactorio click, la cerradura de la puerta se abre." #: src/iuse_actor.cpp -msgid "The door swings open..." -msgstr "La puerta se abre..." +msgid "The door swings open…" +msgstr "" #: src/iuse_actor.cpp msgid "The lock stumps your efforts to pick it, and you destroy your tool." @@ -208661,19 +213889,17 @@ msgstr "Ahí ya hay fuego." #: src/iuse_actor.cpp msgid "" -"There's a brazier there but you haven't set it up to contain the fire. " +"There's a brazier there but you haven't set it up to contain the fire. " "Continue?" msgstr "" -"Hay un brasero ahí pero no lo pusiste como para que pueda contener el fuego." -" ¿Querés continuar?" #: src/iuse_actor.cpp msgid "You successfully light a fire." msgstr "Prendés un fuego exitosamente." #: src/iuse_actor.cpp -msgid "You light a fire, but it isn't enough. You need to light more." -msgstr "Encendés un fuego pero no es suficiente. Necesitás encender más." +msgid "You light a fire, but it isn't enough. You need to light more." +msgstr "" #: src/iuse_actor.cpp msgid "You happily light a fire." @@ -208783,8 +214009,15 @@ msgid "It's a note" msgstr "Es una nota" #: src/iuse_actor.cpp -msgid "(To delete, input one '.')\n" -msgstr "(Para borrar, ingresá un '.')\n" +msgid "(To delete, clear the text and confirm)\n" +msgstr "" + +#. ~ %1$s: gerund (e.g. carved), %2$s: item name +#: src/iuse_actor.cpp +#, c-format +msgctxt "carving" +msgid "%1$s on the %2$s is: " +msgstr "%1$s en el %2$s es: " #: src/iuse_actor.cpp #, c-format @@ -208808,6 +214041,11 @@ msgstr "Un objeto" msgid "Inscribe which item?" msgstr "¿Qué objeto querés grabar?" +#: src/iuse_actor.cpp +#, c-format +msgid "You try to bend your %s, but fail." +msgstr "" + #: src/iuse_actor.cpp msgid "You cauterize yourself." msgstr "Te cauterizás a vos mismo." @@ -208860,8 +214098,8 @@ msgid "Make love, not zlave." msgstr "Haz el amor, no eZclavos." #: src/iuse_actor.cpp -msgid "Well, it's more constructive than just chopping 'em into gooey meat..." -msgstr "Bueno, es más productivo que hacerlos puré viscoso..." +msgid "Well, it's more constructive than just chopping 'em into gooey meat…" +msgstr "" #: src/iuse_actor.cpp msgid "You feel horrible for mutilating and enslaving someone's corpse." @@ -209156,8 +214394,8 @@ msgstr "%s (se repara con %s)" #: src/iuse_actor.cpp #, c-format -msgid "You don't have enough %s to do that. Have: %d, need: %d" -msgstr "No tenés suficiente %s para hacer eso. Tenés: %d, necesitás: %d" +msgid "You don't have enough %s to do that. Have: %d, need: %d" +msgstr "" #: src/iuse_actor.cpp msgid "That requires gunsmithing tools." @@ -209178,7 +214416,7 @@ msgstr "Tu %s ya está mejorado a su potencial máximo." #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s! ( %s-> %s)" +msgid "You damage your %s! ( %s-> %s)" msgstr "" #: src/iuse_actor.cpp @@ -209371,8 +214609,8 @@ msgstr "Movimientos para usar: " #: src/iuse_actor.cpp #, c-format -msgid "Yeah. Place the %s at your feet. Real damn smart move." -msgstr "Sí. Poné el %s a tus pies. Una idea bastante de mierda." +msgid "Yeah. Place the %s at your feet. Real damn smart move." +msgstr "" #: src/iuse_actor.cpp #, c-format @@ -209391,7 +214629,7 @@ msgstr "El %s necesita un %s al lado." #: src/iuse_actor.cpp #, c-format -msgid "You can't place a %s there. It contains a trap already." +msgid "You can't place a %s there. It contains a trap already." msgstr "No podés poner un %s ahí. Ya tiene una trampa." #: src/iuse_actor.cpp @@ -209480,6 +214718,10 @@ msgstr "Ninguna de las modificaciones puede quitarse." msgid "Has to be taken off first." msgstr "Primero tenés que sacártelo/a." +#: src/iuse_actor.cpp +msgid "You quiver with anticipation…" +msgstr "" + #: src/iuse_actor.cpp msgid "You suddenly feel dizzy, and collapse to the ground." msgstr "De repente, te sentís mareado y te caés al suelo." @@ -209548,9 +214790,30 @@ msgstr "" msgid "How do you want to modify it?" msgstr "¿Cómo querés modificarlo?" +#. ~ %1$s: modification desc, %2$d: number of thread needed #: src/iuse_actor.cpp -msgid "Not enough thread to modify. Which modification do you want to remove?" -msgstr "No tiene suficiente hilo. ¿Qué modificación querés quitarle?" +#, c-format +msgid "Can't %1$s (need %2$d thread loaded)" +msgstr "" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items needed +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (need %2$d %3$s)" +msgstr "" + +#. ~ %1$s: modification desc, %2$s: mod name +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (incompatible with %2$s)" +msgstr "" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items +#. needed, %4$s: number of thread needed +#: src/iuse_actor.cpp +#, c-format +msgid "%1$s (%2$d %3$s and %4$d thread)" +msgstr "" #: src/iuse_actor.cpp msgid "Bash" @@ -209582,7 +214845,7 @@ msgstr "¿Estás seguro? No vas a recuperar ningún material." #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s trying to modify it! ( %s-> %s)" +msgid "You damage your %s trying to modify it! ( %s-> %s)" msgstr "" #: src/iuse_actor.cpp @@ -209599,6 +214862,14 @@ msgstr "Modificaste tu %s, pero desperdiciaste mucho hilo." msgid "You modify your %s!" msgstr "¡Modificaste tu %s!" +#: src/iuse_actor.h +msgid "Carve" +msgstr "" + +#: src/iuse_actor.h +msgid "Carved" +msgstr "" + #: src/iuse_software.cpp msgid "You found kitten!" msgstr "¡Encontraste a kitten!" @@ -209624,8 +214895,8 @@ msgid "It's an altar to the horse god." msgstr "Es un altar del dios caballo." #: src/iuse_software_kitten.cpp -msgid "A box of dancing mechanical pencils. They dance! They sing!" -msgstr "Es una caja de pinceles mecánicos bailarines. ¡Bailan! ¡Cantan!" +msgid "A box of dancing mechanical pencils. They dance! They sing!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's an old Duke Ellington record." @@ -209636,8 +214907,8 @@ msgid "A box of fumigation pellets." msgstr "Es una caja de perdigones de fumigación." #: src/iuse_software_kitten.cpp -msgid "A digital clock. It's stuck at 2:17 PM." -msgstr "Es un reloj digital. Está trabado en 2:17 PM." +msgid "A digital clock. It's stuck at 2:17 PM." +msgstr "" #: src/iuse_software_kitten.cpp msgid "That's just a charred human corpse." @@ -209648,16 +214919,16 @@ msgid "I don't know what that is, but it's not kitten." msgstr "No sé qué es eso, pero no es kitten." #: src/iuse_software_kitten.cpp -msgid "An empty shopping bag. Paper or plastic?" -msgstr "Es una bolsa de supermercado vacía. ¿Papel o plástico?" +msgid "An empty shopping bag. Paper or plastic?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "Could it be... a big ugly bowling trophy?" -msgstr "Podría ser... ¿un horrible y enorme trofeo de bowling?" +msgid "Could it be… a big ugly bowling trophy?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "A coat hanger hovers in thin air. Odd." -msgstr "Es un perchero que flota en el aire. Extraño." +msgid "A coat hanger hovers in thin air. Odd." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Not kitten, just a packet of Kool-Aid(tm)." @@ -209680,8 +214951,8 @@ msgid "It's Richard Nixon's nose!" msgstr "¡Es la nariz de Richard Nixon!" #: src/iuse_software_kitten.cpp -msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." -msgstr "Es Lucy Ricardo. \"¡Aaaah, Ricky!\", dice." +msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." +msgstr "" #: src/iuse_software_kitten.cpp msgid "You stumble upon Bill Gates' stand-up act." @@ -209692,8 +214963,8 @@ msgid "Just an autographed copy of the Kama Sutra." msgstr "Es solo una copia autografiada del Kama Sutra." #: src/iuse_software_kitten.cpp -msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" -msgstr "Es la autopista Will Rogers. Pero igual ¿quién fue Will Rogers?" +msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" +msgstr "" #: src/iuse_software_kitten.cpp msgid "" @@ -209756,10 +215027,8 @@ msgid "It's a mighty zombie talking about some love and prosperity." msgstr "Es un poderoso zombi hablando acerca de amor y prosperidad." #: src/iuse_software_kitten.cpp -msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize...\"" +msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize…\"" msgstr "" -"\"Querido robot, tal vez ya hayas ganado nuestro premio de 10 MILLONES DE " -"DÓLARES...\"" #: src/iuse_software_kitten.cpp msgid "It's just an object." @@ -209802,9 +215071,9 @@ msgid "It's some compromising photos of Babar the Elephant." msgstr "Son unas fotos comprometedoras de Babar el Elefante." #: src/iuse_software_kitten.cpp -msgid "A copy of the Weekly World News. Watch out for the chambered nautilus!" +msgid "" +"A copy of the Weekly World News. Watch out for the chambered nautilus!" msgstr "" -"Es una copia de Weekly World News. ¡Prestale atención al Nautilus pompilius!" #: src/iuse_software_kitten.cpp msgid "It's the proverbial wet blanket." @@ -209823,31 +215092,28 @@ msgid "Paul Moyer's necktie." msgstr "Es la corbata de Paul Moyer." #: src/iuse_software_kitten.cpp -msgid "A haircut and a real job. Now you know where to get one!" +msgid "A haircut and a real job. Now you know where to get one!" msgstr "" -"Un corte pelo y un trabajo de en serio. ¡Ahora ya sabés dónde conseguirlo!" #: src/iuse_software_kitten.cpp -msgid "An automated robot-hater. It frowns disapprovingly at you." +msgid "An automated robot-hater. It frowns disapprovingly at you." msgstr "" -"Es un odiador de robots automatizado. Te está frunciendo el ceño de manera " -"desaprobatoria." #: src/iuse_software_kitten.cpp -msgid "An automated robot-liker. It smiles at you." -msgstr "Es un gustador de robots automatizado. Te sonríe." +msgid "An automated robot-liker. It smiles at you." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a black hole. Don't fall in!" -msgstr "Es un agujero negro. ¡No te caigas adentro!" +msgid "It's a black hole. Don't fall in!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "Just a big brick wall." msgstr "Es solo una pared grande de ladrillos." #: src/iuse_software_kitten.cpp -msgid "You found kitten! No, just kidding." -msgstr "¡Encontraste a kitten! No, era un chiste." +msgid "You found kitten! No, just kidding." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Heart of Darkness brand pistachio nuts." @@ -209903,16 +215169,16 @@ msgid "It's the constellation Pisces." msgstr "Es la constelación Piscis." #: src/iuse_software_kitten.cpp -msgid "It's a fly on the wall. Hi, fly!" -msgstr "Es una mosca en la pared. ¡Hola, mosca!" +msgid "It's a fly on the wall. Hi, fly!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "This kind of looks like kitten, but it's not." msgstr "Esto medio como que se parece a kitten, pero no lo es." #: src/iuse_software_kitten.cpp -msgid "It's a banana! Oh, joy!" -msgstr "¡Es una banana! ¡Ah, alegría!" +msgid "It's a banana! Oh, joy!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "A helicopter has crashed here." @@ -209940,13 +215206,12 @@ msgid "A geyser sprays water high into the air." msgstr "Un géiser tira agua muy alto para arriba." #: src/iuse_software_kitten.cpp -msgid "A toenail? What good is a toenail?" +msgid "A toenail? What good is a toenail?" msgstr "" -"¿La uña de un dedo del pie? ¿Para qué sirve la uña de un dedo del pie?" #: src/iuse_software_kitten.cpp -msgid "You've found the fish! Not that it does you much good in this game." -msgstr "¡Encontraste el pescado! Aunque no te sirve de mucho en este juego." +msgid "You've found the fish! Not that it does you much good in this game." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A Buttertonsils bar." @@ -209970,8 +215235,8 @@ msgid "It's nothing but a G-thang, baby." msgstr "It's nothing but a G-thang, baby." #: src/iuse_software_kitten.cpp -msgid "IT'S ALIVE! AH HA HA HA HA!" -msgstr "¡ESTÁ VIVO! ¡AH JA JA JA JA!" +msgid "IT'S ALIVE! AH HA HA HA HA!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "This was no boating accident!" @@ -209979,14 +215244,12 @@ msgstr "¡Esto no fue un accidente de barcos!" #: src/iuse_software_kitten.cpp msgid "" -"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" +"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" msgstr "" -"¡Esperá! ¡Esta no es la ficha de poker! ¡Te engañaron! ¡MALDITO SEAS, " -"MENDEZ!" #: src/iuse_software_kitten.cpp -msgid "A livery stable! Get your livery!" -msgstr "¡Es un establo! ¡Agarrá tu caballo!" +msgid "A livery stable! Get your livery!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's a perpetual immobility machine." @@ -210006,31 +215269,29 @@ msgstr "¡La Bola de Matzah Más Grande del Mundo!" #: src/iuse_software_kitten.cpp msgid "" -"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " +"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " "know." msgstr "" -"Una tribu de caníbales vive acá. Comen cereales Malt-O-Meal en el desayuno, " -"para que sepas." #: src/iuse_software_kitten.cpp msgid "This appears to be a rather large stack of trashy romance novels." msgstr "Esto parece ser un montón grande de horribles novelas de romance." #: src/iuse_software_kitten.cpp -msgid "Look out! Exclamation points!" -msgstr "¡Cuidado! ¡Signos de exclamación!" +msgid "Look out! Exclamation points!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "A herd of wild coffee mugs slumbers here." msgstr "Acá duerme un rebaño de tazas de café salvajes." #: src/iuse_software_kitten.cpp -msgid "It's a limbo bar! How low can you go?" -msgstr "¡Es un bar de limbo! ¿Cuánto te podés agachar?" +msgid "It's a limbo bar! How low can you go?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's the horizon. Now THAT'S weird." -msgstr "Es el horizonte. ESO es raro." +msgid "It's the horizon. Now THAT'S weird." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A vase full of artificial flowers is stuck to the floor here." @@ -210047,30 +215308,26 @@ msgstr "" "hacia atrás y hacia adelante." #: src/iuse_software_kitten.cpp -msgid "It's an ordinary bust of Beethoven... but why is it painted green?" +msgid "It's an ordinary bust of Beethoven… but why is it painted green?" msgstr "" -"Es un ordinario busto de beethoven... pero ¿por qué está pintado de verde?" #: src/iuse_software_kitten.cpp -msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." +msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." msgstr "" -"¡Es el querible y chistoso Cuervo de televisión! \"¡Chupame un huevo!\", " -"dice." #: src/iuse_software_kitten.cpp msgid "" -"Hey, look, it's war. What is it good for? Absolutely nothing. Say it again." +"Hey, look, it's war. What is it good for? Absolutely nothing. Say it " +"again." msgstr "" -"Hey, mirá, es guerra. ¿Para qué sirve? Absolutamente nada. Decilo en inglés." #: src/iuse_software_kitten.cpp msgid "It's the amazing self-referential thing that's not kitten." msgstr "Es la maravillosa cosa autoreferencial que no es kitten." #: src/iuse_software_kitten.cpp -msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" +msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" msgstr "" -"Es una llamativa boa de plumas. ¡Ahora te podés vestir como Carol Channing!" #: src/iuse_software_kitten.cpp msgid "\"Sure hope we get some rain soon,\" says Farmer Joe." @@ -210091,11 +215348,9 @@ msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"This is a large brown bear. Oddly enough, it's currently peeing in the " +"This is a large brown bear. Oddly enough, it's currently peeing in the " "woods." msgstr "" -"Esto es un gran oso pardo. Por raro que parezca, ahora está meando en el " -"bosque." #: src/iuse_software_kitten.cpp msgid "A team of arctic explorers is camped here." @@ -210123,30 +215378,26 @@ msgstr "Es un holograma de un helicóptero estrellado." #: src/iuse_software_kitten.cpp msgid "" -"This is a television. On screen you see a robot strangely similar to " +"This is a television. On screen you see a robot strangely similar to " "yourself." msgstr "" -"Esto es un televisor. En la pantalla ves un robot extrañamente similar a vos" -" mismo." #: src/iuse_software_kitten.cpp msgid "This balogna has a first name, it's R-A-N-C-I-D." msgstr "Esta salchicha de Bolonia tiene nombre, es R-A-N-C-I-A." #: src/iuse_software_kitten.cpp -msgid "A salmon hatchery? Look again. It's merely a single salmon." -msgstr "¿Un criadero de salmones? Fijate mejor. Es meramente un salmón solo." +msgid "A salmon hatchery? Look again. It's merely a single salmon." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a rim shot. Ba-da-boom!" -msgstr "Es un rim shot. ¡Ba-da-boom!" +msgid "It's a rim shot. Ba-da-boom!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." +"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." msgstr "" -"Es excéntrico y es escalofriante, misterioso y espeluznante. Y también un " -"poco espantante." #: src/iuse_software_kitten.cpp msgid "This is an anagram." @@ -210157,30 +215408,26 @@ msgid "This object is like an analogy." msgstr "Este objeto es como una analogía." #: src/iuse_software_kitten.cpp -msgid "It's a symbol. You see in it a model for all symbols everywhere." +msgid "It's a symbol. You see in it a model for all symbols everywhere." msgstr "" -"Es un símbolo. Ves en él un modelo para todos los símbolos de todos lados." #: src/iuse_software_kitten.cpp msgid "The object pushes back at you." msgstr "El objeto retrocede ante vos." #: src/iuse_software_kitten.cpp -msgid "A traffic signal. It appears to have been recently vandalized." +msgid "A traffic signal. It appears to have been recently vandalized." msgstr "" -"Es un cartel de tránsito. Parece que ha sido vandalizado recientemente." #: src/iuse_software_kitten.cpp msgid "" -"\"There is no kitten!\" cackles the old crone. You are shocked by her " +"\"There is no kitten!\" cackles the old crone. You are shocked by her " "blasphemy." msgstr "" -"\"¡No existe kitten!\" ríe a carcajadas la vieja bruja. Estás asombrado por " -"su blasfemia." #: src/iuse_software_kitten.cpp -msgid "This is a Lagrange point. Don't come too close now." -msgstr "Esto es un punto de Lagrange. No te acerques mucho ahora." +msgid "This is a Lagrange point. Don't come too close now." +msgstr "" #: src/iuse_software_kitten.cpp msgid "The dirty old tramp bemoans the loss of his harmonica." @@ -210200,9 +215447,8 @@ msgstr "" "Es el manual de instrucciones para una versión anterior de este juego." #: src/iuse_software_kitten.cpp -msgid "A brain cell. Oddly enough, it seems to be functioning." +msgid "A brain cell. Oddly enough, it seems to be functioning." msgstr "" -"Es una célula cerebral. Lo que es raro es que parece que está funcionando." #: src/iuse_software_kitten.cpp msgid "Tea and/or crumpets." @@ -210217,17 +215463,16 @@ msgid "It's a Quaker Oatmeal tube, converted into a drum." msgstr "Es un tubo de Avena Quaker, convertido en un tambor." #: src/iuse_software_kitten.cpp -msgid "This is a remote control. Being a robot, you keep a wide berth." +msgid "This is a remote control. Being a robot, you keep a wide berth." msgstr "" -"Esto es un control remoto. Siendo un robot, intentás mantenerte alejado." #: src/iuse_software_kitten.cpp msgid "It's a roll of industrial-strength copper wire." msgstr "Es un rollo de cable de cobre industrial." #: src/iuse_software_kitten.cpp -msgid "Oh boy! Grub! Er, grubs." -msgstr "¡Oh, dios! ¡Larva! Eh, larvas." +msgid "Oh boy! Grub! Er, grubs." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A puddle of mud, where the mudskippers play." @@ -210254,20 +215499,20 @@ msgid "An autographed copy of \"Primary Colors\", by Anonymous." msgstr "Es una copia autografiada de \"Colores primarios\", de Anónimo." #: src/iuse_software_kitten.cpp -msgid "Another rabbit? That's three today!" -msgstr "¿Otro conejo? ¡Con ese ya son tres hoy!" +msgid "Another rabbit? That's three today!" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a segmentation fault. Core dumped, by the way." -msgstr "Es una falla de segmentación. Un basurero central, eso sí." +msgid "It's a segmentation fault. Core dumped, by the way." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A historical marker showing the actual location of /dev/null." msgstr "Es una marca histórica mostrando el lugar actual de /dev/null." #: src/iuse_software_kitten.cpp -msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" -msgstr "Esa es Mobius Dick, la ballena complicada. ¡Arrr!" +msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's a charcoal briquette, smoking away." @@ -210286,8 +215531,8 @@ msgid "A stack of 7 inch floppies wobbles precariously." msgstr "Es una pila de disquetes de 7 pulgadas que se tambolea precariamente." #: src/iuse_software_kitten.cpp -msgid "It's nothing but a corrupted floppy. Coaster anyone?" -msgstr "No es más que un disquete corrupto. ¿Alguien necesita un posavasos?" +msgid "It's nothing but a corrupted floppy. Coaster anyone?" +msgstr "" #: src/iuse_software_kitten.cpp msgid "A section of glowing phosphor cells sings a song of radiation to you." @@ -210332,8 +215577,8 @@ msgid "It's the missing chapter to \"A Clockwork Orange\"." msgstr "Es el capítulo perdido de \"La naranja mecánica\"." #: src/iuse_software_kitten.cpp -msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." -msgstr "Es un folleto de un puesto de burritos. \"Taquería El Ranchito\"." +msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." +msgstr "" #: src/iuse_software_kitten.cpp msgid "This smiling family is happy because they eat LARD." @@ -210360,29 +215605,24 @@ msgid "A forgotten telephone switchboard operator." msgstr "Es una olvidada operadora de centralita de teléfono." #: src/iuse_software_kitten.cpp -msgid "It's an automated robot-disdainer. It pretends you're not there." +msgid "It's an automated robot-disdainer. It pretends you're not there." msgstr "" -"Es un desdeñador de robots automatizado. Hace como si no estuvieras ahí." #: src/iuse_software_kitten.cpp -msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." -msgstr "Es un agujero portátil. Un cartel dice: \"Cerrado por el invierno\"." +msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Just a moldy loaf of bread." msgstr "Es solo una rodaja mohosa de pan." #: src/iuse_software_kitten.cpp -msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." +msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." msgstr "" -"Es un pequeño tubo de vidrio de Carmex. ($.89) Lástima que no tenés nada de " -"labios." #: src/iuse_software_kitten.cpp -msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" +msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" msgstr "" -"Es un cuchillo de la armada suiza. Todos sus accesorios están para afuera " -"(el escarbadientes se perdió)" #: src/iuse_software_kitten.cpp msgid "It's a zen simulation, trapped within an ASCII character." @@ -210403,17 +215643,16 @@ msgstr "" "frutas." #: src/iuse_software_kitten.cpp -msgid "A robot comedian. You feel amused." -msgstr "Es un robot comediante. Te divierte." +msgid "A robot comedian. You feel amused." +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's KITT, the talking car." msgstr "Es KITT, el auto parlante." #: src/iuse_software_kitten.cpp -msgid "Here's Pete Peterson. His batteries seem to have long gone dead." +msgid "Here's Pete Peterson. His batteries seem to have long gone dead." msgstr "" -"Acá está Pete Peterson. Sus baterías parecen haber muerto hace mucho tiempo." #: src/iuse_software_kitten.cpp msgid "\"Blup, blup, blup\", says the mud pot." @@ -210440,18 +215679,16 @@ msgid "Pumpkin pie spice." msgstr "Es especia de torta de calabaza." #: src/iuse_software_kitten.cpp -msgid "It's the Bass-Matic '76! Mmm, that's good bass!" -msgstr "¡Es el Bass-Matic '76! ¡Mmm, eso es un buen bajo!" +msgid "It's the Bass-Matic '76! Mmm, that's good bass!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "\"Lend us a fiver 'til Thursday\", pleas Andy Capp." msgstr "\"Prestanos cinco p hasta el jueves\", suplica Andy Capp." #: src/iuse_software_kitten.cpp -msgid "It's a tape of '70s rock. All original hits! All original artists!" +msgid "It's a tape of '70s rock. All original hits! All original artists!" msgstr "" -"Es un casete con rock de los '70. ¡Todos éxitos originales! ¡Todos artistas " -"originales!" #: src/iuse_software_kitten.cpp msgid "You've found the fabled America Online disk graveyard!" @@ -210467,15 +215704,13 @@ msgstr "Es el asombroso meta-objeto." #: src/iuse_software_kitten.cpp msgid "" -"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " +"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " "SIR!\"" msgstr "" -"Ahí está Ed McMahon, perdido en sus pensamientos. Al verte, te grita, \"¡SÍ," -" SEÑOR!\"" #: src/iuse_software_kitten.cpp -msgid "...thingy???" -msgstr "...coso???" +msgid "…thingy???" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's 1000 secrets the government doesn't want you to know!" @@ -210486,11 +215721,11 @@ msgid "The letters O and R." msgstr "Son las letras O y R." #: src/iuse_software_kitten.cpp -msgid "A magical... magic thing." -msgstr "Es un mágico... una cosa mágica." +msgid "A magical… magic thing." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" +msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" msgstr "" #: src/iuse_software_kitten.cpp @@ -210523,15 +215758,11 @@ msgstr ")." #: src/iuse_software_kitten.cpp msgid "" -"Your job is to find kitten. This task is complicated by the existence of " -"various things which are not kitten. Robot must touch items to determine if " -"they are kitten or not. The game ends when robot finds kitten. " +"Your job is to find kitten. This task is complicated by the existence of " +"various things which are not kitten. Robot must touch items to determine if" +" they are kitten or not. The game ends when robot finds kitten. " "Alternatively, you may end the game by hitting 'q', 'Q' or the Escape key." msgstr "" -"Tu trabajo es encontrar kitten. Esta tarea es complicada por la existencia " -"de varios objetos que no son kitten. El robot debe tocar el objeto para " -"determinar si es kitten o no. El juego termina cuando robot encuentra " -"kitten. Si no, podés terminar el juego apretando 'q', 'Q' o la tecla Escape." #: src/iuse_software_kitten.cpp msgid "Press any key to start." @@ -210542,8 +215773,8 @@ msgid "Invalid command: Use direction keys or press 'q'." msgstr "Comando inválido: Usás las teclas de dirección o apretá 'q'." #: src/iuse_software_kitten.cpp -msgid "You found kitten! Way to go, robot!" -msgstr "¡Encontraste a kitten! ¡Así se hace, robot!" +msgid "You found kitten! Way to go, robot!" +msgstr "" #: src/iuse_software_lightson.cpp msgid " toggle lights" @@ -210615,8 +215846,8 @@ msgid "lag" msgstr "- bandera" #: src/iuse_software_minesweeper.cpp -msgid "Boom, you're dead! Better luck next time." -msgstr "¡Buuum, estás muerto! Que tengas mejor suerte la próxima." +msgid "Boom, you're dead! Better luck next time." +msgstr "" #: src/iuse_software_snake.cpp src/iuse_software_sokoban.cpp #, c-format @@ -210918,6 +216149,10 @@ msgstr "" msgid "You cast %s!" msgstr "" +#: src/magic.cpp +msgid "an explosion" +msgstr "" + #: src/magic.cpp msgid "Too Difficult!" msgstr "" @@ -210950,10 +216185,6 @@ msgstr "" msgid "infinite" msgstr "" -#: src/magic.cpp -msgid "an explosion" -msgstr "" - #: src/magic.cpp #, c-format msgid "%s and %s" @@ -210992,6 +216223,23 @@ msgstr "" msgid "All knowledge of %s leaves you." msgstr "" +#: src/magic.cpp +msgid "Choose a new hotkey for this spell." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey already used." +msgstr "" + +#: src/magic.cpp +#, c-format +msgid "%c set. Close and reopen spell menu to refresh list with changes." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey removed." +msgstr "" + #: src/magic.cpp msgid "Ignore Distractions" msgstr "" @@ -211000,6 +216248,10 @@ msgstr "" msgid "Popup Distractions" msgstr "" +#: src/magic.cpp +msgid "Assign Hotkey [=]" +msgstr "" + #: src/magic.cpp msgid "requires concentration" msgstr "" @@ -211064,6 +216316,10 @@ msgstr "" msgid "Casting Cost (impeded)" msgstr "" +#: src/magic.cpp +msgid "Not Enough Energy" +msgstr "" + #: src/magic.cpp msgid "Casting Time" msgstr "" @@ -211132,18 +216388,22 @@ msgstr "" msgid "Damage Type" msgstr "" +#. ~ translation should not exceed 10 console cells #: src/magic.cpp msgid "Stat Gain" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "lvl 0" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "per lvl" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "max lvl" msgstr "" @@ -211197,8 +216457,8 @@ msgid "Choose Translocator Gate" msgstr "" #: src/main.cpp -msgid "Really Quit? All unsaved changes will be lost." -msgstr "¿Seguro que querés Salir? Se perderán los cambios que no guardaste." +msgid "Really Quit? All unsaved changes will be lost." +msgstr "" #: src/main_menu.cpp msgid "Bugs? Suggestions? Use links in MOTD to report them." @@ -211317,20 +216577,24 @@ msgid "olors" msgstr "olores" #: src/main_menu.cpp -msgid "Unable to make config directory. Check permissions." -msgstr "No se pudo crear directorio de configuración. Revisá los permisos." +msgid "Unable to make config directory. Check permissions." +msgstr "" + +#: src/main_menu.cpp +msgid "Unable to make save directory. Check permissions." +msgstr "" #: src/main_menu.cpp -msgid "Unable to make save directory. Check permissions." -msgstr "No se pudo crear directorio para guardar. Revisá los permisos." +msgid "Unable to make templates directory. Check permissions." +msgstr "" #: src/main_menu.cpp -msgid "Unable to make templates directory. Check permissions." -msgstr "No se pudo crear directorio para plantillas. Revisá los permisos." +msgid "Unable to make sound directory. Check permissions." +msgstr "" #: src/main_menu.cpp -msgid "Unable to make sound directory. Check permissions." -msgstr "No se pudo crear directorio de sonido. Revisá los permisos." +msgid "Unable to make graphics directory. Check permissions." +msgstr "" #: src/main_menu.cpp msgid "Really quit?" @@ -211357,8 +216621,8 @@ msgstr "Pesonaje Aleatorio" #: src/main_menu.cpp msgctxt "Main Menu|New Game" -msgid "Play Now! (ixed Scenario)" -msgstr "¡Jugar ahora! (Escenario ijo)" +msgid "Play Now! (ixed Scenario)" +msgstr "" #: src/main_menu.cpp msgctxt "Main Menu|New Game" @@ -211406,6 +216670,12 @@ msgstr "Solo el administrador puede cambiar mundos." msgid "Create World" msgstr "Crear Mundo" +#. ~ %1$s: vehicle name +#: src/map.cpp +#, c-format +msgid "weight of %1$s" +msgstr "" + #: src/map.cpp #, c-format msgid "The %1$s's %2$s collides with %3$s's %4$s." @@ -211467,6 +216737,17 @@ msgstr "¡Te golpea %s que cae!" msgid "Falling %s hits " msgstr "%s que cae golpea a ." +#: src/map.cpp +#, c-format +msgid "The %s damages several items!" +msgstr "" + +#. ~ %1$s: the cause of damage, %2$s: damaged item name +#: src/map.cpp +#, c-format +msgid "The %1$s damages the %2$s!" +msgstr "" + #: src/map.cpp msgid "an alarm go off!" msgstr "se dispara una alarma!" @@ -211483,18 +216764,34 @@ msgstr "¡Sos aplastado por los escombros que caen!" msgid " is crushed by the falling debris!" msgstr "¡ es aplastado por los escombros que caen!" -#: src/map.cpp -msgid "The shot is stopped by the reinforced glass wall!" -msgstr "¡El disparo es frenado por la pared de vidrio reforzado!" - #: src/map.cpp msgid "The shot is stopped by the reinforced glass door!" msgstr "¡El disparo es frenado por la puerta de vidrio reforzado!" +#: src/map.cpp +msgid "The shot is stopped by the reinforced glass wall!" +msgstr "¡El disparo es frenado por la pared de vidrio reforzado!" + #: src/map.cpp msgid "ke-rash!" msgstr "ke-rash!" +#: src/map.cpp +msgid "laser beam" +msgstr "" + +#: src/map.cpp +msgid "bolt of electricity" +msgstr "" + +#: src/map.cpp +msgid "bolt of plasma" +msgstr "" + +#: src/map.cpp +msgid "flying projectile" +msgstr "" + #: src/map.cpp msgid "The metal bars melt!" msgstr "¡Las barras de metal se derriten!" @@ -211557,8 +216854,8 @@ msgid "Something has crawled out of the %s!" msgstr "¡Algo salió arrastrándose del/a %s!" #: src/map_extras.cpp -msgid "DANGER! MINEFIELD!" -msgstr "¡CUIDADO! ¡CAMPO MINADO!" +msgid "DANGER! MINEFIELD!" +msgstr "" #: src/map_field.cpp #, c-format @@ -211608,8 +216905,8 @@ msgid "The sap sticks to !" msgstr "¡La savia se pega a !" #: src/map_field.cpp -msgid "The sludge is thick and sticky. You struggle to pull free." -msgstr "El barro es espeso y pegajoso. Luchás para liberarte." +msgid "The sludge is thick and sticky. You struggle to pull free." +msgstr "" #: src/map_field.cpp msgid "You burn your legs and feet!" @@ -211991,21 +217288,33 @@ msgstr "" #: src/martialarts.cpp #, c-format -msgid "The %s is not a valid %s weapon." +msgid "The %1$s is not a valid %2$s weapon." msgstr "" #: src/martialarts.cpp -#, c-format -msgid "Type: %s" -msgstr "Tipo: %s" +msgid "Block Counter" +msgstr "" #: src/martialarts.cpp -msgid "defensive" -msgstr "defensivo" +msgid "Dodge Counter" +msgstr "" #: src/martialarts.cpp -msgid "offensive" -msgstr "ofensivo" +msgid "Miss Recovery" +msgstr "" + +#: src/martialarts.cpp +msgid "Defensive" +msgstr "" + +#: src/martialarts.cpp +msgid "Offensive" +msgstr "" + +#: src/martialarts.cpp +#, c-format +msgid "Type: %s" +msgstr "Tipo: %s" #: src/martialarts.cpp msgid "Bonus: " @@ -212115,6 +217424,11 @@ msgstr "* Va a aturdir al enemigo por %d %s" msgid "* Will disarm the target" msgstr "* Va a desarmar al objetivo" +#: src/martialarts.cpp +msgid "" +"* Will disarm the target and take their weapon" +msgstr "" + #: src/martialarts.cpp msgid "" "This style forces you to use unarmed strikes, even if wielding a " @@ -212269,8 +217583,8 @@ msgstr[1] "Apuntado en tu dirección, el %s emite %d pitidos irritados." #. ~ There will be a 120mm HEAT shell sent at high speed to your location next #. turn. #: src/mattack_actors.cpp src/monattack.cpp -msgid "You're not sure why you've got a laser dot on you..." -msgstr "No estás seguro de por qué tenés un punto láser encima..." +msgid "You're not sure why you've got a laser dot on you…" +msgstr "" #: src/mattack_actors.cpp src/monattack.cpp msgid "The " @@ -212368,6 +217682,20 @@ msgstr "Golpeás algo." msgid "You swing at the air." msgstr "Lanzás un golpe al aire." +#: src/melee.cpp +msgid " disarms you and takes your weapon!" +msgstr "" + +#: src/melee.cpp +#, c-format +msgid "You disarm %s and take their weapon!" +msgstr "" + +#: src/melee.cpp +#, c-format +msgid " disarms %s and takes their weapon!" +msgstr "" + #: src/melee.cpp msgid " disarms you!" msgstr "¡ te desarma!" @@ -212389,13 +217717,6 @@ msgid_plural "%d enemies hit!" msgstr[0] "¡%d enemigo golpeado!" msgstr[1] "¡%d enemigos golpeados!" -#: src/melee.cpp -#, c-format -msgid "You have learned %s from extensive practice with the CQB Bionic." -msgstr "" -"Has aprendido %s por tu exhaustiva práctica con el Biónico de Pelea en " -"espacios cerrados." - #. ~ Adjective in "You block of the damage with your . #: src/melee.cpp msgid "all" @@ -212436,6 +217757,10 @@ msgstr "¡Bloqueás %1$s del daño con tu %2$s!" msgid " blocks %1$s of the damage with their %2$s!" msgstr "¡ bloquea %1$s del daño con su %2$s!" +#: src/melee.cpp src/player.cpp +msgid "You try to counterattack but you are too exhausted!" +msgstr "" + #: src/melee.cpp #, c-format msgid "You poison %s!" @@ -212717,8 +218042,8 @@ msgstr "%s. ¡Critico!" #. ~ someone hits something for %d damage (critical) #: src/melee.cpp #, c-format -msgid "%s for %d damage. Critical!" -msgstr "%s por %d de daño. ¡Crítico!" +msgid "%s for %d damage. Critical!" +msgstr "" #. ~ NPC hits something #: src/melee.cpp @@ -214061,17 +219386,12 @@ msgstr "< Apretá %s para filtrar, %s para resetear >" #: src/messages.cpp #, c-format msgid "" -"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" +"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" "Examples:\n" " good:mutation\n" " :you pick up: 1\n" " crash!\n" msgstr "" -"El formato es [[TIPO]:]TEXTO. Los valores para TIPO son: %s\n" -"Ejemplos:\n" -" bueno:mutación\n" -" :agarrás: 1\n" -" choque!\n" #. ~ the 2nd %s is a type name, this is used to format a list of type names #: src/messages.cpp @@ -214117,14 +219437,9 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Assigning one of your allies to patrol the surrounding wilderness and isolated buildings presents the opportunity to build survival skills while engaging in relatively safe combat against isolated creatures." msgstr "" -"Ganancia: $25-$500\n" -"Peligro: Bajo\n" -"Tiempo: 10 horas misiones\n" -" \n" -"Asignar uno de tus compañeros a patrullar los alrededores y los edificios aislados le da la oportunidad de mejorar las habilidades en supervivencia mientras combate relativamente a salvo contra criaturas aisladas." #: src/mission_companion.cpp msgid "Assign Scavenging Patrol" @@ -214135,18 +219450,13 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Patrol Roster:\n" msgstr "" -"Ganancia: $25-$500\n" -"Peligro: Bajo\n" -"Tiempo: 10 horas misiones\n" -" \n" -"Equipo de Patrulla:\n" #: src/mission_companion.cpp -msgid " hours] \n" -msgstr " horas] \n" +msgid " hours]\n" +msgstr "" #: src/mission_companion.cpp msgid "Retrieve Scavenging Patrol" @@ -214157,14 +219467,9 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Scavenging raids target formerly populated areas to loot as many valuable items as possible before being surrounded by the undead. Combat is to be expected and assistance from the rest of the party can't be guaranteed. The rewards are greater and there is a chance of the companion bringing back items." msgstr "" -"Ganancia: $200-$1000\n" -"Peligro: Medio\n" -"Tiempo: 10 horas misiones\n" -" \n" -"Los grupos de cartoneros al principio buscaban en las áreas pobladas para conseguir la mayor cantidad posible de objetos de valor, pero comenzaron a verse rodeados por los muertos vivientes. Se espera que haya combate y no puede garantizarse la ayuda del resto del equipo. La recompensa es mayor y existe la posibilidad de que el compañero pueda conseguir objetos." #: src/mission_companion.cpp msgid "Assign Scavenging Raid" @@ -214175,14 +219480,9 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Raid Roster:\n" msgstr "" -"Ganancia: $200-$1000\n" -"Peligro: Medio\n" -"Tiempo: 10 horas misiones\n" -" \n" -"Equipo de Cartoneo:\n" #: src/mission_companion.cpp msgid "Retrieve Scavenging Raid" @@ -214197,9 +219497,9 @@ msgid "" "Profit: $8/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Assigning one of your allies to menial labor is a safe way to teach them basic skills and build reputation with the outpost. Don't expect much of a reward though.\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" @@ -214212,14 +219512,9 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Carpentry work requires more skill than menial labor while offering modestly improved pay. It is unlikely that your companions will face combat but there are hazards working on makeshift buildings." msgstr "" -"Ganancia: $12/hora\n" -"Peligro: Mínimo\n" -"Tiempo: 1 hora mínimo\n" -" \n" -"El trabajo de carpintería requiere más habilidad que el trabajo doméstico, y además ofrece una mejor paga. Es raro que tus compañeros sean atacados pero hay algunos peligros en trabajar con edificios improvisados." #: src/mission_companion.cpp msgid "Assign Ally to Carpentry Work" @@ -214230,14 +219525,9 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -"Ganancia: $12/hora\n" -"Peligro: Mínimo\n" -"Tiempo: 1 hora mínimo\n" -" \n" -"Equipo de Trabajo:\n" #: src/mission_companion.cpp msgid "Recover Ally from Carpentry Work" @@ -214246,8 +219536,8 @@ msgstr "Retirar Aliado de Carpintería" #: src/mission_companion.cpp msgid "" "Cost: $1000\n" -" \n" -" \n" +"\n" +"\n" " .........\n" " .........\n" " .........\n" @@ -214257,23 +219547,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" -"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours... after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." -msgstr "" -"Costo: $1000\n" -" \n" "\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"Estamos dispuestos a dejarte comprar un campo con un descuento importante para que lo uses en tu propio emprendimiento agrícola. Lo vamos a arar para vos así sabés cuál es el tuyo... Cuando tengas el campo vas a poder contratar trabajadores para plantar o cosechar. Si el cultivo es de algo que nosotros necesitamos, vamos a estar deseosos de comprártelo." +"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours… after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." +msgstr "" #: src/mission_companion.cpp msgid "Purchase East Field" @@ -214282,7 +219558,7 @@ msgstr "Comprar Campo Este" #: src/mission_companion.cpp msgid "" "Cost: $5500\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -214293,23 +219569,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "Protecting your field with a sturdy picket fence will keep most wildlife from nibbling your crops apart. You can expect yields to increase." msgstr "" -"Costo: $5500\n" -" \n" -"\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"Al proteger tu campo con una valla resistente de postes evitará que la fauna salvaje te mastique los cultivos. Podés contar con un incremento en la cosecha." #: src/mission_companion.cpp msgid "Upgrade East Field I" @@ -214318,7 +219580,7 @@ msgstr "Mejorar Campo Este I" #: src/mission_companion.cpp msgid "" "Cost: $3.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -214329,23 +219591,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "We'll plant the field with your choice of crop if you are willing to finance it. When the crop is ready to harvest you can have us liquidate it or harvest it for you." msgstr "" -"Cosot: $3.00/lote\n" -" \n" -"\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"Vamos a plantar el campo con el cultivo que elijas si estás dispuesto a financiarlo. Cuando el cultivo esté listo para cosechar, podés pedirnos que lo vendamos o que lo cosechemos para vos." #: src/mission_companion.cpp msgid "Plant East Field" @@ -214354,7 +219602,7 @@ msgstr "Plantar Campo Este" #: src/mission_companion.cpp msgid "" "Cost: $2.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -214365,23 +219613,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "You can either have us liquidate the crop and give you the cash or pay us to harvest it for you." msgstr "" -"Costo: $2.00/lote\n" -" \n" -"\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"Podés elegir si querés que vendamos el cultivo y que te demos la plata, o pagarnos para que lo cosechemos para vos." #: src/mission_companion.cpp msgid "Harvest East Field" @@ -214392,14 +219626,9 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Foraging for food involves dispatching a companion to search the surrounding wilderness for wild edibles. Combat will be avoided but encounters with wild animals are to be expected. The low pay is supplemented with the odd item as a reward for particularly large hauls." msgstr "" -"Ganancia: $10/hora\n" -"Peligro: Bajo\n" -"Tiempo: 4 horas mínimo\n" -" \n" -"Buscar comida implica enviar a un compañero a que revise la zona silvestres para conseguir algo comestible. No habrá combate pero sí puede haber encuentros con la fauna salvaje. La poca ganancia es compensada por los objetos que se pueden conseguir." #: src/mission_companion.cpp msgid "Assign Ally to Forage for Food" @@ -214410,14 +219639,9 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -"Ganancia: $10/hora\n" -"Peligro: Bajo\n" -"Tiempo: 4 horas mínimo\n" -" \n" -"Equipo de Trabajo:\n" #: src/mission_companion.cpp msgid "Recover Ally from Foraging" @@ -214428,18 +219652,11 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" +"\n" "Adding companions to the caravan team increases the likelihood of success. By nature, caravans are extremely tempting targets for raiders or hostile groups so only a strong party is recommended. The rewards are significant for those participating but are even more important for the factions that profit.\n" -" \n" +"\n" "The commune is sending food to the Free Merchants in the Refugee Center as part of a tax and in exchange for skilled labor." msgstr "" -"Ganancia: $18/hora\n" -"Peligro: Alto\n" -"Tiempo: DESCONOCIDO\n" -" \n" -"Agregar compañeros al equipo de la caravana incrementa la probabilidad de éxito. Por naturaleza, las caravanas son objetivos extremadamente tentadores para los piratas o para grupos hostiles, así que solo se recomienda un equipo poderoso. Las recompensas son importantes para aquellos que participen, pero son mayores para los bandos que se benefician.\n" -" \n" -"La comuna está enviando comida a Los Mercaderes Libres del Centro de Refugiados como parte del pago por el intercambio de trabajadores." #: src/mission_companion.cpp msgid "Caravan Commune-Refugee Center" @@ -214450,38 +219667,29 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" -" \n" +"\n" +"\n" "Roster:\n" msgstr "" -"Ganancia: $18/hora\n" -"Peligro: Alto\n" -"Tiempo: DESCONOCIDO\n" -" \n" -" \n" -"Equipo:\n" #: src/mission_companion.cpp -msgid " [READY] \n" -msgstr " [LISTO] \n" +msgid " [READY]\n" +msgstr "" #: src/mission_companion.cpp -msgid " [COMPLETE] \n" -msgstr " [TERMINADO] \n" +msgid " [COMPLETE]\n" +msgstr "" #: src/mission_companion.cpp -msgid " Hours] \n" -msgstr " Horas] \n" +msgid " Hours]\n" +msgstr "" #: src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "The caravan will contain two or three additional members from the commune, are you ready to depart?" msgstr "" -"\n" -" \n" -"La caravana tendrá dos o tres miembros adicionales de la comuna, ¿estás listo para salir?" #: src/mission_companion.cpp msgid "Begin Commune-Refugee Center Run" @@ -214492,38 +219700,37 @@ msgid "Recover Commune-Refugee Center" msgstr "Recuperar Caravana Comuna-Centro de Refugio" #: src/mission_companion.cpp -msgid "There are no missions at this colony. Press Spacebar..." -msgstr "No hay misiones en esta colonia. Apretá la barra espaciadora..." +msgid "There are no missions at this colony. Press Spacebar…" +msgstr "" #: src/mission_companion.cpp -msgid "joins the caravan team..." -msgstr "se une a la caravana..." +msgid "joins the caravan team…" +msgstr "" #: src/mission_companion.cpp -msgid "departs on the scavenging patrol..." -msgstr "se va a hacer patrullas de cartoneo..." +msgid "departs on the scavenging patrol…" +msgstr "" #: src/mission_companion.cpp -msgid "departs on the scavenging raid..." -msgstr "se va a cartonear..." +msgid "departs on the scavenging raid…" +msgstr "" #: src/mission_companion.cpp -msgid "departs to work as a laborer..." -msgstr "se va a trabajar como obrero..." +msgid "departs to work as a laborer…" +msgstr "" #: src/mission_companion.cpp -msgid "departs to work as a carpenter..." -msgstr "se va a trabajar como carpintero..." +msgid "departs to work as a carpenter…" +msgstr "" #: src/mission_companion.cpp -msgid "departs to forage for food..." -msgstr "se va a buscar comida..." +msgid "departs to forage for food…" +msgstr "" #: src/mission_companion.cpp #, c-format -msgid "The caravan departs with an estimated total travel time of %d hours..." +msgid "The caravan departs with an estimated total travel time of %d hours…" msgstr "" -"La caravana parte con un tiempo total de viaje estimado de %d horas..." #: src/mission_companion.cpp #, c-format @@ -214548,8 +219755,8 @@ msgid "The caravan party has returned. Your share of the profits are $%d!" msgstr "La caravana ha regresado. ¡Tu parte de las ganancias es $%d!" #: src/mission_companion.cpp -msgid "The caravan was a disaster and your companions never made it home..." -msgstr "La caravana fue un desastre y tus compañeros nunca llegaron a casa..." +msgid "The caravan was a disaster and your companions never made it home…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -214578,22 +219785,20 @@ msgstr "" #, c-format msgid "" "After counting your money %s directs a nearby laborer to begin constructing " -"a fence around your plot..." +"a fence around your plot…" msgstr "" -"Después de contar tu plata, %s se dirige a un trabajador cercano para " -"empezar a construir el alambrado alrededor de tu terreno..." #: src/mission_companion.cpp msgid "You have no seeds to plant!" msgstr "¡No tenés semillas para plantar!" #: src/mission_companion.cpp -msgid "You have no room to plant seeds..." -msgstr "No hay lugar para plantar semillas..." +msgid "You have no room to plant seeds…" +msgstr "" #: src/mission_companion.cpp -msgid "I'm sorry, you don't have enough money to plant those seeds..." -msgstr "Lo lamento, no tenés suficiente plata para plantar esas semillas..." +msgid "I'm sorry, you don't have enough money to plant those seeds…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -214610,21 +219815,21 @@ msgstr "" " trabajadores para plantar tu campo." #: src/mission_companion.cpp -msgid "There aren't any plants that are ready to harvest..." -msgstr "No hay ninguna planta ahí lista para ser cosechada..." +msgid "There aren't any plants that are ready to harvest…" +msgstr "" #: src/mission_companion.cpp msgid "Which plants do you want to have harvested?" msgstr "¿Qué plantas querés que sean cosechadas?" #: src/mission_companion.cpp -msgid "You decided to hold off for now..." -msgstr "Decidís aguantarte por ahora..." +msgid "You decided to hold off for now…" +msgstr "" #: src/mission_companion.cpp msgid "" "You don't have enough to pay the workers to harvest the crop so you are " -"forced to sell..." +"forced to sell…" msgstr "" #: src/mission_companion.cpp @@ -214634,32 +219839,28 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "The %s are sold for $%d..." +msgid "The %s are sold for $%d…" msgstr "" #: src/mission_companion.cpp #, c-format -msgid "You receive %d %s..." -msgstr "Recibís %d %s..." +msgid "You receive %d %s…" +msgstr "" #: src/mission_companion.cpp #, c-format msgid "" "While scavenging, %s's party suddenly found itself set upon by a large mob " -"of undead..." +"of undead…" msgstr "" -"Mientras carntonea, el grupo de %s se encuentra de repente atacado por un " -"gran grupo de muertos vivientes..." #: src/mission_companion.cpp msgid "Through quick thinking the group was able to evade combat!" msgstr "¡Gracias al pensamiento rápido, el grupo puede evadir el combate!" #: src/mission_companion.cpp -msgid "Combat took place in close quarters, focusing on melee skills..." +msgid "Combat took place in close quarters, focusing on melee skills…" msgstr "" -"El combate se realiza en espacios cerrados, enfocado en habilidades de " -"cuerpo a cuerpo..." #: src/mission_companion.cpp #, c-format @@ -214669,16 +219870,13 @@ msgstr "" "vivientes!" #: src/mission_companion.cpp -msgid "Unfortunately they were overpowered by the undead... I'm sorry." +msgid "Unfortunately they were overpowered by the undead… I'm sorry." msgstr "" -"Desgraciadamente, fueron dominados por los muertos vivientes... Lo lamento." #: src/mission_companion.cpp #, c-format -msgid "" -"%s returns from patrol having earned $%d and a fair bit of experience..." +msgid "%s returns from patrol having earned $%d and a fair bit of experience…" msgstr "" -"%s regresa de patrullar habiendo ganado $%d y un poco de experiencia..." #: src/mission_companion.cpp #, c-format @@ -214700,9 +219898,8 @@ msgstr "" #: src/mission_companion.cpp #, c-format msgid "" -"%s returns from the raid having earned $%d and a fair bit of experience..." +"%s returns from the raid having earned $%d and a fair bit of experience…" msgstr "" -"%s regresa de la incursión habiendo ganado $%d y un poco de experiencia..." #: src/mission_companion.cpp #, c-format @@ -214713,10 +219910,8 @@ msgstr "¡%s regresa con un %s para vos!" #, c-format msgid "" "%s returns from working as a laborer having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" -"%s regresa de trabajar como peón habiendo ganado $%d y un poco de " -"experiencia..." #: src/mission_companion.cpp #, c-format @@ -214729,10 +219924,8 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "While %s was framing a building one of the walls began to collapse..." +msgid "While %s was framing a building one of the walls began to collapse…" msgstr "" -"Mientras %s estaba haciendo la estructura de un edificio, una de las paredes" -" colapsó..." #: src/mission_companion.cpp #, c-format @@ -214748,8 +219941,8 @@ msgstr "Saliendo rápidamente por una ventana, %s escapó del colapso." #: src/mission_companion.cpp #, c-format -msgid "%s didn't make it out in time..." -msgstr "%s no pudo salir a tiempo..." +msgid "%s didn't make it out in time…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -214757,8 +219950,8 @@ msgid "but %s was rescued from the debris with only minor injuries!" msgstr "¡pero %s fue rescatado/a de los escombros con solo unos rasguños!" #: src/mission_companion.cpp -msgid "Everyone who was trapped under the collapsing roof died..." -msgstr "Todos los que fueron atrapados bajo el techo colapsado murieron..." +msgid "Everyone who was trapped under the collapsing roof died…" +msgstr "" #: src/mission_companion.cpp msgid "I'm sorry, there is nothing we could do." @@ -214768,15 +219961,13 @@ msgstr "Lo lamento, no podíamos hacer nada." #, c-format msgid "" "%s returns from working as a carpenter having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" -"%s regresa de trabajar como carpintero habiendo ganado $%d y un poco de " -"experiencia..." #: src/mission_companion.cpp #, c-format -msgid "While foraging, a beast began to stalk %s..." -msgstr "Mientras estaba buscando comida, una bestia comenzó a seguir a %s..." +msgid "While foraging, a beast began to stalk %s…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -214811,21 +220002,19 @@ msgstr "¡%s golpeó al puma y dejó una pulpa sangrienta!" #, c-format msgid "" "%s was able to hold off the first wolf but the others that were skulking in " -"the tree line caught up..." +"the tree line caught up…" msgstr "" #: src/mission_companion.cpp -msgid "I'm sorry, there wasn't anything we could do..." -msgstr "Lo lamento, no había nada que pudimos hacer." +msgid "I'm sorry, there wasn't anything we could do…" +msgstr "" #: src/mission_companion.cpp #, c-format msgid "" -"We... we don't know what exactly happened but we found %s's gear ripped and " -"bloody..." +"We… we don't know what exactly happened but we found %s's gear ripped and " +"bloody…" msgstr "" -"Nosotros... no sabíamos qué esperar exactamente pero encontramos el equipo " -"de %s desgarrado y ensangrentado..." #: src/mission_companion.cpp msgid "I fear your companion won't be returning." @@ -214835,10 +220024,8 @@ msgstr "Me temo que tu compañero no va a regresar." #, c-format msgid "" "%s returns from working as a forager having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" -"%s regresa de trabajar como buscador de comida habiendo ganado $%d y un poco" -" de experiencia..." #: src/mission_companion.cpp #, c-format @@ -214869,35 +220056,59 @@ msgid "Engagement between %d members of %s %s and %d members of %s %s%s!" msgstr "¡Combate entre %d miembros de %s %s y %d miembros de %s %s%s!" #: src/mission_companion.cpp -msgid "You don't have any companions to send out..." -msgstr "No tenés ningún compañero para enviar..." +msgid "You don't have any companions to send out…" +msgstr "" #: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" +msgid "Who do you want to send?" +msgstr "¿A quién querés enviar?" + +#: src/mission_companion.cpp +msgid "[ COMBAT : SURVIVAL : INDUSTRY ]" msgstr "" -"¿A quién querés enviar? [ COMBATE : SUPERVIVENCIA : " -"INDUSTRIA ]" +#. ~ %1$s: npc name #: src/mission_companion.cpp -msgid "You choose to send no one..." -msgstr "Elegís no enviar a nadie..." +#, c-format +msgctxt "companion" +msgid "%1$s (Guarding)" +msgstr "" #: src/mission_companion.cpp -msgid "The companion you selected doesn't have the skills!" -msgstr "¡El compañero que elegiste no tiene esas habilidades!" +#, c-format +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" +msgstr "" +#. ~ %1$s: skill name, %2$d: companion skill level #: src/mission_companion.cpp -msgid "You don't have any companions ready to return..." -msgstr "No tenés a ningún compañero listo para regresar..." +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d" +msgstr "" + +#. ~ %1$s: skill name, %2$d: companion skill level, %3$d: skill requirement +#: src/mission_companion.cpp +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d/%3$d" +msgstr "" + +#: src/mission_companion.cpp +msgid "You choose to send no one…" +msgstr "" + +#: src/mission_companion.cpp +msgid "You don't have any companions ready to return…" +msgstr "" #: src/mission_companion.cpp msgid "Who should return?" msgstr "¿Quién debería regresar?" #: src/mission_companion.cpp -msgid "No one returns to your party..." -msgstr "Nadie regresa a tu grupo..." +msgid "No one returns to your party…" +msgstr "" #: src/mission_end.cpp #, c-format @@ -214928,20 +220139,17 @@ msgid "Download Software" msgstr "Descargar Software" #: src/mission_start.cpp -msgid "You don't know where the address could be..." -msgstr "No sabés dónde puede ser esa dirección..." +msgid "You don't know where the address could be…" +msgstr "" #: src/mission_start.cpp -msgid "You mark the refugee center and the road that leads to it..." -msgstr "Marcás el centro de refugiados y la calle que va hasta ahí..." +msgid "You mark the refugee center and the road that leads to it…" +msgstr "" #: src/mission_start.cpp msgid "" -"You mark the refugee center, but you have no idea how to get there by " -"road..." +"You mark the refugee center, but you have no idea how to get there by road…" msgstr "" -"Marcás el centro de refugiados, pero no tenés ni idea de cuál es la calle " -"que va hasta ahí." #: src/mission_start.cpp msgid "Workstation" @@ -215017,8 +220225,8 @@ msgstr "¡Todavía no fracasaste en ninguna misión!" #: src/mission_util.cpp #, c-format -msgid "%s also marks the road that leads to it..." -msgstr "%s también marca la calle que va hasta ahí..." +msgid "%s also marks the road that leads to it…" +msgstr "" #: src/mission_util.cpp #, c-format @@ -215412,14 +220620,6 @@ msgstr "to-TOMP." msgid "The root walls creak around you." msgstr "Las paredes de raíces rechinan a tu alrededor." -#. ~ the sound of a fungus releasing spores -#. ~ That spore sound again -#. ~ the sound of a fungus dying -#. ~spore-release sound -#: src/monattack.cpp src/mondeath.cpp src/player.cpp -msgid "Pouf!" -msgstr "¡Puf!" - #: src/monattack.cpp #, c-format msgid "Spores are released from the %s!" @@ -215471,8 +220671,8 @@ msgstr "¡El %s late, y material fúngico fresco sale despedido!" #: src/monattack.cpp #, c-format -msgid "The %s seems to wave you toward the tower..." -msgstr "Parece que el %s te ondea hacia la torre..." +msgid "The %s seems to wave you toward the tower…" +msgstr "" #: src/monattack.cpp #, c-format @@ -215486,8 +220686,8 @@ msgid "The %1$s sinks its point into your %2$s!" msgstr "¡El %1$s hunde su punta en tu %2$s!" #: src/monattack.cpp -msgid "You feel thousands of live spores pumping into you..." -msgstr "Sentís miles de esporas vivas bombeando adentro tuyo..." +msgid "You feel thousands of live spores pumping into you…" +msgstr "" #. ~ 1$s is monster name, 2$s bodypart in accusative #: src/monattack.cpp @@ -215523,8 +220723,8 @@ msgstr "¡Cuando la pared fúngica crece sos empujado hacia atrás!" #: src/monattack.cpp #, c-format -msgid "The %s spreads its tendrils. It seems as though it's expecting you..." -msgstr "El %s esparce sus tallos. Parece como si estuviera esperándote..." +msgid "The %s spreads its tendrils. It seems as though it's expecting you…" +msgstr "" #: src/monattack.cpp msgid "" @@ -215536,10 +220736,8 @@ msgstr "" #: src/monattack.cpp #, c-format msgid "" -"The %s works several tendrils into your arms, legs, torso, and even neck..." +"The %s works several tendrils into your arms, legs, torso, and even neck…" msgstr "" -"El %s mete varios tallos en tus brazos, piernas, torso, e incluso el " -"cuello..." #: src/monattack.cpp msgid "" @@ -215562,11 +220760,9 @@ msgstr "Fue expuesta a la Puerta Marloss." #. ~ Beginning to hear the Mycus while conscious: this is it speaking #: src/monattack.cpp msgid "" -"assistance, on an arduous quest. unity. together we have reached the door. " -"now to pass through..." +"assistance, on an arduous quest. unity. together we have reached the door." +" now to pass through…" msgstr "" -"asistencia, en una misión ardua. unidad. juntos nosotros hemos alcanzado la " -"puerta. ahora para pasar..." #: src/monattack.cpp msgid "You're shoved away as a fungal hedgerow grows!" @@ -215588,8 +220784,8 @@ msgid "The %s takes aim, and spears at you with a massive tendril!" msgstr "¡El %s apunta, y lanza hacia vos un masivo tallo!" #: src/monattack.cpp -msgid "You feel millions of live spores pumping into you..." -msgstr "Sentís millones de esporas vivas bombeando adentro tuyo..." +msgid "You feel millions of live spores pumping into you…" +msgstr "" #: src/monattack.cpp #, c-format @@ -215747,7 +220943,7 @@ msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s tries to grab you..." +msgid "The %s tries to grab you…" msgstr "" #: src/monattack.cpp @@ -215801,6 +220997,10 @@ msgstr "¡Sentís como te entra el veneno en el cuerpo!" msgid "The %s young triffid grows into an adult!" msgstr "¡El joven trífido %s crece y se hace adulto!" +#: src/monattack.cpp +msgid "You feel a strange reverberation accross your body." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s stares at you, and you shudder." @@ -215894,15 +221094,12 @@ msgstr "" " mirar." #: src/monattack.cpp -msgid "Probably some now-obsolete Internal Affairs subroutine..." +msgid "Probably some now-obsolete Internal Affairs subroutine…" msgstr "" -"Probablemente, alguna subrutina, ahora bastante obsoleta, de Asuntos " -"Internos..." #: src/monattack.cpp -msgid "Ops used to do that in case you needed backup..." +msgid "Ops used to do that in case you needed backup…" msgstr "" -"En operaciones solían hacer eso en el caso de que necesitaras apoyo..." #: src/monattack.cpp #, c-format @@ -215938,7 +221135,7 @@ msgid "The %s takes your picture!" msgstr "¡El %s te saca una foto!" #: src/monattack.cpp -msgid "... database connection lost!" +msgid "…database connection lost!" msgstr "" #: src/monattack.cpp @@ -215998,8 +221195,8 @@ msgstr "" #. ~ Potential grenading detected. #: src/monattack.cpp -msgid "Those laser dots don't seem very friendly..." -msgstr "Esos puntos láser no parecen muy amistosos..." +msgid "Those laser dots don't seem very friendly…" +msgstr "" #: src/monattack.cpp msgid "Targeting." @@ -216046,24 +221243,24 @@ msgid "a police siren, whoop WHOOP" msgstr "una sirena de policía, wup WUP" #: src/monattack.cpp -msgid "\"YOU... ARE FILTH...\"" -msgstr "\"VOS... SOS UNA INMUNDICIA...\"" +msgid "\"YOU… ARE FILTH…\"" +msgstr "" #: src/monattack.cpp -msgid "\"VERMIN... YOU ARE VERMIN...\"" -msgstr "\"ALIMAÑA... SOS UNA ALIMAÑA...\"" +msgid "\"VERMIN… YOU ARE VERMIN…\"" +msgstr "" #: src/monattack.cpp -msgid "\"LEAVE NOW...\"" -msgstr "\"ANDATE...\"" +msgid "\"LEAVE NOW…\"" +msgstr "" #: src/monattack.cpp -msgid "\"WE... WILL FEAST... UPON YOU...\"" -msgstr "VAMOS... A HACER UN FESTÍN... CONTIGO...\"" +msgid "\"WE… WILL FEAST… UPON YOU…\"" +msgstr "" #: src/monattack.cpp -msgid "\"FOUL INTERLOPER...\"" -msgstr "\"REPUGNANTE INTRUSO...\"" +msgid "\"FOUL INTERLOPER…\"" +msgstr "" #. ~ %1$s is the name of the zombie upgrading the other, %2$s is the zombie #. being upgraded. @@ -216266,13 +221463,13 @@ msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s slashes at your neck! You duck!" -msgstr "¡El %s da tajadas contra tu cuello! ¡Te agachás!" +msgid "The %s slashes at your neck! You duck!" +msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s slashes at 's neck! They duck!" -msgstr "¡El %s da tajadas contra el cuello de ! ¡Se agacha!" +msgid "The %s slashes at 's neck! They duck!" +msgstr "" #: src/monattack.cpp #, c-format @@ -216376,8 +221573,8 @@ msgid "but you grab its arm and flip it to the ground!" msgstr "¡pero agarrás su brazo y lo lanzás al piso!" #: src/monattack.cpp -msgid "The flip does shock you..." -msgstr "La vuelta te sorprende..." +msgid "The flip does shock you…" +msgstr "" #: src/monattack.cpp msgid "but you deftly spin out of its grasp!" @@ -216385,10 +221582,8 @@ msgstr "¡pero hábilmente girás y te liberás del agarre!" #: src/monattack.cpp msgid "" -"Halt and submit to arrest, citizen! The police will be here any moment." +"Halt and submit to arrest, citizen! The police will be here any moment." msgstr "" -"¡Detente y entrégate al arresto, ciudadano! La policía estará acá en un " -"momento." #: src/monattack.cpp msgid "Please stay in place, citizen, do not make any movements!" @@ -216532,8 +221727,8 @@ msgstr "¡%1$s arroja al suelo al %2$s!" #. ~ 1$s is bodypart name in accusative, 2$d is damage value. #: src/monattack.cpp #, c-format -msgid "The zombie kicks your %1$s for %2$d damage..." -msgstr "El zombi te patea tu %1$s por %2$d de daño..." +msgid "The zombie kicks your %1$s for %2$d damage…" +msgstr "" #: src/monattack.cpp #, c-format @@ -216635,6 +221830,11 @@ msgstr "¡El brazo de %1$s golpea tu %2$s, pero rebota en tu armadura!" msgid "The %1$s hits 's %2$s, but glances off armor!" msgstr "¡El/a %1$s golpea el/a %2$s de , pero rebota en la armadura!" +#: src/monattack.cpp +#, c-format +msgid "The %1$s fuses with the %2$s." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s doots its trumpet!" @@ -216746,8 +221946,8 @@ msgid "The %s melts away." msgstr "El %s se derrite." #: src/mondeath.cpp -msgid "Your obsession with the fault fades away..." -msgstr "Tu obsesión con la culpa desaparece..." +msgid "Your obsession with the fault fades away…" +msgstr "" #: src/mondeath.cpp msgid "As the final light is destroyed, it erupts in a blinding flare!" @@ -216843,11 +222043,6 @@ msgstr "¡Cuando el %s es golpeado, suelta ácido!" msgid "zombie slave" msgstr "esclavo zombi" -#: src/monexamine.cpp src/player.cpp -#, c-format -msgid "What to do with your %s?" -msgstr "¿Qué querés hacer con tu %s?" - #: src/monexamine.cpp #, c-format msgid "Push %s" @@ -217028,22 +222223,23 @@ msgstr "" #: src/monexamine.cpp #, c-format msgid "" -"Welcome to the %s Friendship Interface. What would you like to do?\n" +"Welcome to the %s Friendship Interface. What would you like to do?\n" "Your current friendship will last: %s" msgstr "" #: src/monexamine.cpp -msgid "Get more friendship. 10 cents/min" +msgid "Get more friendship. 10 cents/min" msgstr "" #: src/monexamine.cpp -msgid "Sadly you're not currently able to extend your friendship. - Quit menu" +msgid "" +"Sadly you're not currently able to extend your friendship. - Quit menu" msgstr "" #: src/monexamine.cpp #, c-format -msgid "How much friendship do you get? Max: %d minute. (0 to cancel) " -msgid_plural "How much friendship do you get? Max: %d minutes. " +msgid "How much friendship do you get? Max: %d minute. (0 to cancel)" +msgid_plural "How much friendship do you get? Max: %d minutes." msgstr[0] "" msgstr[1] "" @@ -217099,8 +222295,8 @@ msgstr "¡No hay ningún contenedor en tu %s para poner las cosas!" #: src/monexamine.cpp #, c-format -msgid "%1$s is overburdened. You can't transfer your %2$s." -msgstr "El %1$s está sobrecargado. No podés traspasar tu %2$s." +msgid "%1$s is overburdened. You can't transfer your %2$s." +msgstr "" #: src/monexamine.cpp #, c-format @@ -217330,6 +222526,16 @@ msgstr "" msgid "wearing %1$s" msgstr "" +#: src/monster.cpp +#, c-format +msgid "The %s" +msgstr "El %s" + +#: src/monster.cpp +#, c-format +msgid "The %s's" +msgstr "" + #: src/monster.cpp #, c-format msgid "the %s's" @@ -217372,6 +222578,11 @@ msgstr "" msgid "Rider: %s" msgstr "" +#: src/monster.cpp +#, c-format +msgid " It is %s." +msgstr "" + #: src/monster.cpp msgid "Difficulty " msgstr "" @@ -217603,8 +222814,8 @@ msgid "You're envenomed!" msgstr "¡Estás emponzoñado/a!" #: src/monster.cpp -msgid "You feel venom flood your body, wracking you with pain..." -msgstr "Sentís la ponzoña inundando tu cuerpo, te retorcés de dolor..." +msgid "You feel venom flood your body, wracking you with pain…" +msgstr "" #: src/monster.cpp msgid "You feel venom enter your body!" @@ -217741,6 +222952,14 @@ msgstr "¡Las esporas transforman al %1$s en un %2$s!" msgid "Total morale:" msgstr "" +#: src/morale.cpp +msgid "Pain level:" +msgstr "" + +#: src/morale.cpp +msgid "Fatigue level:" +msgstr "" + #: src/morale.cpp msgid "Focus trends towards:" msgstr "" @@ -217819,8 +223038,8 @@ msgstr "" #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp -msgid "wow! you look just like me! we should look out for each other!" -msgstr "¡guau! ¡sos igual a mí! ¡tenemos que cuidarnos entre nosotros!" +msgid "wow! you look just like me! we should look out for each other!" +msgstr "" #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp @@ -217854,8 +223073,8 @@ msgid "Bionic power storage increased by 100." msgstr "Almacenamiento de energía de biónicos incrementado en 100." #: src/mutation.cpp -msgid "You feel something straining deep inside you, yearning to be free..." -msgstr "Sentís algo esforzándose muy adentro tuyo, ansiando por ser libre..." +msgid "You feel something straining deep inside you, yearning to be free…" +msgstr "" #: src/mutation.cpp #, c-format @@ -217989,9 +223208,8 @@ msgid "Suffered a toxic marloss/mutagen reaction." msgstr "Sufrió una reacción tóxica al marloss/mutágeno." #: src/mutation.cpp -msgid "Something strains mightily for a moment... and then... you're... FREE!" +msgid "Something strains mightily for a moment… and then… you're… FREE!" msgstr "" -"Algo se tensa fuertemente por un instante... y luego... estás... ¡LIBERADO!" #: src/mutation.cpp msgid "Your appetite for blood fades." @@ -218008,8 +223226,8 @@ msgid "You stagger with a piercing headache!" msgstr "¡Te tambaleás por un dolor agudo de cabeza!" #: src/mutation.cpp -msgid "Your head throbs with memories of your life, before all this..." -msgstr "Tu cabeza late con los recuerdos de tu vida, antes de todo esto..." +msgid "Your head throbs with memories of your life, before all this…" +msgstr "" #: src/mutation.cpp msgid "Images of your past life flash before you." @@ -218026,8 +223244,8 @@ msgid "Crossed a threshold" msgstr "Cruzó un umbral" #: src/mutation_data.cpp -msgid "Oh, yeah! That's the stuff!" -msgstr "¡Uh, sí! ¡Eso está bueno!" +msgid "Oh, yeah! That's the stuff!" +msgstr "" #: src/mutation_ui.cpp msgid "Reassigning." @@ -218114,13 +223332,10 @@ msgstr "%s; elegí la letra nueva." #: src/mutation_ui.cpp #, c-format msgid "" -"Invalid mutation letter. Only those characters are valid:\n" +"Invalid mutation letter. Only those characters are valid:\n" "\n" "%s" msgstr "" -"Letra de mutación no válida. Solo son válidos estos caracteres:\n" -"\n" -"%s" #: src/mutation_ui.cpp #, c-format @@ -218144,7 +223359,7 @@ msgstr "" msgid "Tom" msgstr "Tom" -#. ~ Used for constructing full name: %1$s is `family name`, %2$s is `given +#. ~ Used for constructing full name: %1$s is `given name`, %2$s is `family #. name` #: src/name.cpp #, c-format @@ -218152,8 +223367,8 @@ msgctxt "Full Name" msgid "%1$s %2$s" msgstr "%1$s %2$s" -#. ~ Used for constructing full name with nickname: %1$s is `family name`, -#. %2$s is `given name`, %3$s is `nickname` +#. ~ Used for constructing full name with nickname: %1$s is `given name`, %2$s +#. is `family name`, %3$s is `nickname` #: src/name.cpp #, c-format msgctxt "Full Name" @@ -218180,8 +223395,8 @@ msgstr "Formalibre" #: src/newcharacter.cpp src/player.cpp #, c-format -msgid "Select a style. (press %s for more info)" -msgstr "Elegí un estilo. (apretá %s para más información)" +msgid "Select a style. (press %s for more info)" +msgstr "" #: src/newcharacter.cpp msgid "Use this style?" @@ -218216,14 +223431,14 @@ msgstr "ESCENARIO" msgid "PROFESSION" msgstr "PROFESIÓN" -#: src/newcharacter.cpp src/player_display.cpp -msgid "TRAITS" -msgstr "PECULIARIDAD" - #: src/newcharacter.cpp src/player_display.cpp msgid "STATS" msgstr "CARACTERÍST." +#: src/newcharacter.cpp src/player_display.cpp +msgid "TRAITS" +msgstr "PECULIARIDAD" + #: src/newcharacter.cpp src/player_display.cpp msgid "SKILLS" msgstr "HABILIDAD" @@ -218625,10 +223840,8 @@ msgstr[1] "%1$s cuesta %2$d puntos" #: src/newcharacter.cpp msgid "" -"This scenario is not available in this world due to city size settings. " +"This scenario is not available in this world due to city size settings." msgstr "" -"Este escenario no está disponible para este mundo debido a la configuración " -"del tamaño de ciudad." #: src/newcharacter.cpp msgid "Professions:" @@ -218723,10 +223936,6 @@ msgstr "Características:" msgid "Traits: " msgstr "Peculiaridades: " -#: src/newcharacter.cpp -msgid "(Top 8)" -msgstr "(Top 8)" - #: src/newcharacter.cpp #, c-format msgid "Press %s to finish character creation or %s to go back." @@ -218801,8 +224010,8 @@ msgid "_______NO NAME ENTERED!_______" msgstr "_______¡NO INGRESASTE NOMBRE!_______" #: src/newcharacter.cpp -msgid "Are you SURE you're finished? Your name will be randomly generated." -msgstr "¿Estás SEGURO que terminaste? Tu nombre se va a elegir al azar." +msgid "Are you SURE you're finished? Your name will be randomly generated." +msgstr "" #: src/newcharacter.cpp src/worldfactory.cpp msgid "Are you SURE you're finished?" @@ -218978,10 +224187,6 @@ msgstr "Temeroso" msgid "Very afraid" msgstr "Muy temeroso" -#: src/npc.cpp -msgid "Terrified" -msgstr "Aterrado" - #: src/npc.cpp msgid "Fear: " msgstr "Miedo:" @@ -219105,11 +224310,7 @@ msgid "NPC Legacy Attitude" msgstr "" #: src/npc.cpp -msgid "Not much" -msgstr "" - -#: src/npc.cpp -msgid "Cooking" +msgid "Cooking and butchering" msgstr "" #: src/npc.cpp @@ -219145,7 +224346,7 @@ msgid "Caring for the livestock" msgstr "" #: src/npc.cpp -msgid "Hunting for meat" +msgid "Hunting and fishing" msgstr "" #: src/npc.cpp @@ -219251,8 +224452,8 @@ msgid "Hold still %s, I'm coming to help you." msgstr "" #: src/npcmove.cpp -msgid "Don't move a muscle..." -msgstr "No muevas ni un músculo..." +msgid "Don't move a muscle…" +msgstr "" #: src/npcmove.cpp #, c-format @@ -219352,7 +224553,7 @@ msgstr "%1$s agarra tu %2$s." #: src/npcmove.cpp #, c-format msgid "" -"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" +"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" msgstr "" #: src/npcmove.cpp @@ -219362,8 +224563,8 @@ msgstr "" #: src/npcmove.cpp #, c-format -msgid "My %s wound is infected..." -msgstr "La herida de mi %s está infectada..." +msgid "My %s wound is infected…" +msgstr "" #: src/npcmove.cpp #, c-format @@ -219375,8 +224576,8 @@ msgid "" msgstr "" #: src/npcmove.cpp -msgid "I'm suffering from radiation sickness..." -msgstr "Estoy sufriendo enfermedad por radiación..." +msgid "I'm suffering from radiation sickness…" +msgstr "" #: src/npcmove.cpp msgid "" @@ -219495,7 +224696,7 @@ msgid "Talk to %s" msgstr "" #: src/npctalk.cpp -msgid "Talk to ..." +msgid "Talk to…" msgstr "" #: src/npctalk.cpp @@ -219520,7 +224721,7 @@ msgid "Tell %s to follow" msgstr "" #: src/npctalk.cpp -msgid "Tell someone to follow..." +msgid "Tell someone to follow…" msgstr "" #: src/npctalk.cpp @@ -219529,7 +224730,7 @@ msgid "Tell %s to guard" msgstr "" #: src/npctalk.cpp -msgid "Tell someone to guard..." +msgid "Tell someone to guard…" msgstr "" #: src/npctalk.cpp @@ -219553,7 +224754,7 @@ msgid "Tell everyone on your team to relax (Clear Overrides)" msgstr "" #: src/npctalk.cpp -msgid "Tell everyone on your team to temporarily..." +msgid "Tell everyone on your team to temporarily…" msgstr "" #: src/npctalk.cpp @@ -219652,8 +224853,8 @@ msgstr "&Estás sordo y no podés hablar." #: src/npctalk.cpp #, c-format msgid "" -"&You are deaf and can't talk. When you don't respond, %s becomes angry!" -msgstr "&Estás sordo y no podés hablar. ¡Como no respondés, %s se enoja!" +"&You are deaf and can't talk. When you don't respond, %s becomes angry!" +msgstr "" #: src/npctalk.cpp #, c-format @@ -219683,8 +224884,8 @@ msgid "Sorry, but it doesn't seem I have anything to teach you." msgstr "Lo lamento, pero no parece que haya nada que te pueda enseñar." #: src/npctalk.cpp -msgid "Here's what I can teach you..." -msgstr "Te puedo enseñar esto..." +msgid "Here's what I can teach you…" +msgstr "" #: src/npctalk.cpp #, c-format @@ -219699,16 +224900,23 @@ msgstr[0] "%d pie." msgstr[1] "%d pies." #: src/npctalk.cpp -msgid "I'm holing up here for safety." -msgstr "Me estoy refugiando acá que es seguro." +#, c-format +msgid "I'm holing up here for safety. Long term, %s" +msgstr "" #: src/npctalk.cpp msgid "I run the shop here." msgstr "Yo manejo el negocio acá." #: src/npctalk.cpp -msgid "I'm guarding this location." -msgstr "Estoy cuidando este lugar." +#, c-format +msgid "Currently, I'm guarding this location. Overall, %s" +msgstr "" + +#: src/npctalk.cpp +#, c-format +msgid "Right now, I'm . In general, %s" +msgstr "" #: src/npctalk.cpp msgid "&You yell, but can't hear yourself." @@ -219794,6 +225002,16 @@ msgstr "Tengo noticias." msgid "Yes, let's resume training " msgstr "Sí, sigamos entrenando." +#: src/npctalk.cpp +#, c-format +msgid "%s: 1 hour lesson (cost %s)" +msgstr "" + +#: src/npctalk.cpp +#, c-format +msgid "%s: teaching spell knowledge (cost %s)" +msgstr "" + #. ~Martial art style (cost in dollars) #: src/npctalk.cpp #, c-format @@ -219809,7 +225027,7 @@ msgstr "" #: src/npctalk.cpp #, c-format -msgid "%s: %d (%d%%) -> %d" +msgid "%s: %d (%d%%) -> %d (%d%%)" msgstr "" #: src/npctalk.cpp @@ -219843,8 +225061,8 @@ msgstr "." #: src/npctalk.cpp msgctxt "punctuation" -msgid "..." -msgstr "..." +msgid "…" +msgstr "" #: src/npctalk.cpp msgctxt "punctuation" @@ -219890,8 +225108,8 @@ msgid "%s: %s" msgstr "%s: %s" #: src/npctalk.cpp -msgid "You'll be helpless! Proceed?" -msgstr "¡Vas a quedar indefenso! ¿Continuar?" +msgid "You'll be helpless! Proceed?" +msgstr "" #: src/npctalk.cpp #, c-format @@ -219950,22 +225168,18 @@ msgid "You learn how to craft %s." msgstr "" #: src/npctalk.cpp -msgid "I don't trust you enough to eat THIS..." -msgstr " no confío lo suficiente en vos como para comer ESTO..." +msgid "I don't trust you enough to eat THIS…" +msgstr "" #: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this..." -msgstr "No parece una buena idea consumir esto..." +msgid "It doesn't look like a good idea to consume this…" +msgstr "" #: src/npctalk.cpp #, c-format msgid "I need a %s to consume that!" msgstr "¡Necesito un/a %s para consumir eso!" -#: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this.." -msgstr "No parece una buena idea consumir esto..." - #: src/npctalk.cpp msgid "Offer what?" msgstr "¿Qué querés ofrecer?" @@ -219987,8 +225201,8 @@ msgid "Are you insane!?" msgstr "¿¡Estás loco!?" #: src/npctalk.cpp -msgid "Here we go..." -msgstr "Ahí vamos..." +msgid "Here we go…" +msgstr "" #: src/npctalk.cpp msgid "My current weapon is better than this." @@ -220013,8 +225227,8 @@ msgid "I can only store %s %s more." msgstr "Solamente puedo guardar %s %s más." #: src/npctalk.cpp -msgid "...or to store anything else for that matter." -msgstr "...o para guardar cualquier otra cosa." +msgid "…or to store anything else for that matter." +msgstr "" #: src/npctalk.cpp msgid "It is too heavy for me to carry." @@ -220043,40 +225257,16 @@ msgstr "" msgid "My current location" msgstr "" -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name #: src/npctalk_funcs.cpp #, c-format -msgid "%1$s is assigned to %2$s" +msgid "That is not a valid destination for %s." msgstr "" -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name #: src/npctalk_funcs.cpp #, c-format -msgid "%1$s is assigned to guard %2$s" -msgstr "" - -#. ~ %1$s is the NPC's translated name, %2$s is the pronoun for the NPC's -#. gender -#: src/npctalk_funcs.cpp -#, c-format -msgid "%1$s will wait for you where %2$s is." -msgstr "" - -#: src/npctalk_funcs.cpp -msgid "he" -msgstr "" - -#: src/npctalk_funcs.cpp -msgid "she" +msgid "%1$s is assigned to %2$s" msgstr "" -#: src/npctalk_funcs.cpp -#, c-format -msgid "%s is posted as a guard." -msgstr "%s está asignado como guardia." - #: src/npctalk_funcs.cpp #, c-format msgid "%s begins to follow you." @@ -220093,20 +225283,16 @@ msgid "You start a fight with %s!" msgstr "¡Empezás a pelear con %s!" #: src/npctalk_funcs.cpp -msgid "You don't have any bionics installed..." -msgstr "No tenés ningún biónico instalado..." +msgid "You don't have any bionics installed…" +msgstr "" #: src/npctalk_funcs.cpp msgid "Which bionic do you wish to uninstall?" msgstr "¿Qué biónico querés desinstalar?" #: src/npctalk_funcs.cpp -msgid "You decide to hold off..." -msgstr "Decidís aguantarte..." - -#: src/npctalk_funcs.cpp -msgid "You can't afford the procedure..." -msgstr "No te podés permitir el procedimiento..." +msgid "You decide to hold off…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format @@ -220127,7 +225313,7 @@ msgid "Choose a new facial hair style" msgstr "" #: src/npctalk_funcs.cpp -msgid "Actually... I've changed my mind." +msgid "Actually… I've changed my mind." msgstr "" #: src/npctalk_funcs.cpp @@ -220136,17 +225322,17 @@ msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent haircut..." -msgstr "%s te hizo un corte de pelo decente..." +msgid "%s gives you a decent haircut…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent shave..." -msgstr "%s te dio una afeitada decente..." +msgid "%s gives you a decent shave…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "That was a pleasant conversation with %s..." +msgid "That was a pleasant conversation with %s…" msgstr "" #: src/npctalk_funcs.cpp @@ -220156,8 +225342,8 @@ msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s drops the logs off in the garage..." -msgstr "%s deja los troncos en el garage..." +msgid "%s drops the logs off in the garage…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format @@ -220174,6 +225360,11 @@ msgstr "¡%s empieza a huir!" msgid "%s leaves." msgstr "%s se va." +#: src/npctalk_funcs.cpp +#, c-format +msgid "%s stops following." +msgstr "" + #: src/npctalk_funcs.cpp #, c-format msgid "%s feels less threatened by you." @@ -220256,13 +225447,13 @@ msgstr "%s no puede llevar todo eso." #: src/npctrade.cpp #, c-format msgid "" -"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" +"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" "\n" "Continue with trade?" msgstr "" #: src/npctrade.cpp -msgid "Looks like a deal! Accept this trade?" +msgid "Looks like a deal! Accept this trade?" msgstr "" #: src/npctrade.h @@ -220577,12 +225768,9 @@ msgstr "Turnos para auto reactivar modo seguro" #: src/options.cpp msgid "" -"Number of turns after which safe mode is reactivated. Will only reactivate " +"Number of turns after which safe mode is reactivated. Will only reactivate " "if no hostiles are in 'Safe mode proximity distance.'" msgstr "" -"Número de turnos que pasarán para que el modo seguro sea reactivado. Solo se" -" reacivará si no hay hostiles en la 'Distancia de proximidad de modo " -"seguro'." #: src/options.cpp msgid "Turns to remember ignored monsters" @@ -220692,12 +225880,9 @@ msgstr "Soltar recipientes vacíos" #: src/options.cpp msgid "" -"Set to drop empty containers after use. No: Don't drop any. - Watertight: " -"All except watertight containers. - All: Drop all containers." +"Set to drop empty containers after use. No: Don't drop any. - Watertight: " +"All except watertight containers. - All: Drop all containers." msgstr "" -"Podés activar soltar los recipientes que quedan vacíos luego de utilizarse. " -"No: no soltar nada. - Hermético: soltar todo excepto los recipientes " -"herméticos. - Todo: soltar todos los recipientes." #: src/options.cpp msgid "Watertight" @@ -220872,13 +226057,12 @@ msgstr "" "un objeto." #: src/options.cpp -msgid "Query on disassembly" -msgstr "Preguntar antes de desarmar" +msgid "Query on disassembly while butchering" +msgstr "" #: src/options.cpp -msgid "If true, will query before disassembling items." +msgid "If true, will query before disassembling items while butchering." msgstr "" -"Si está activado, se te pedirá confirmación antes de desarmar un objeto." #: src/options.cpp msgid "Query on keybinding removal" @@ -221172,9 +226356,9 @@ msgstr "Letras de inventario automáticas" #: src/options.cpp msgid "" -"Enabled: automatically assign letters to any carried items that lack them. " -"Disabled: do not auto-assign letters. Favorites: only auto-assign letters to" -" favorited items." +"Enabled: automatically assign letters to any carried items that lack them. " +"Disabled: do not auto-assign letters. Favorites: only auto-assign letters " +"to favorited items." msgstr "" #: src/options.cpp @@ -221556,7 +226740,7 @@ msgstr "" msgid "Display" msgstr "Pantalla" -#: src/options.cpp +#: src/options.cpp src/sdltiles.cpp msgid "" "Sets which video display will be used to show the game. Requires restart." msgstr "" @@ -221652,7 +226836,7 @@ msgid "Scaling factor" msgstr "" #: src/options.cpp -msgid "Factor by which to scale the display. Requires restart." +msgid "Factor by which to scale the display. Requires restart." msgstr "" #: src/options.cpp @@ -221962,8 +227146,8 @@ msgstr "" #: src/options.cpp msgid "" -"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can " -"be overridden by scenarios. This does not advance food rot or monster " +"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can" +" be overridden by scenarios. This does not advance food rot or monster " "evolution." msgstr "" @@ -221973,9 +227157,9 @@ msgstr "" #: src/options.cpp msgid "" -"How many days after the cataclysm the player spawns. Day 0 is the day of the" -" cataclysm. Can be overridden by scenarios. Increasing this will cause food " -"rot and monster evolution to advance." +"How many days after the cataclysm the player spawns. Day 0 is the day of " +"the cataclysm. Can be overridden by scenarios. Increasing this will cause " +"food rot and monster evolution to advance." msgstr "" #: src/options.cpp @@ -222045,11 +227229,9 @@ msgstr "PNJ estáticos" #: src/options.cpp msgid "" -"If true, static NPCs will spawn at pre-defined locations. Requires world " +"If true, static NPCs will spawn at pre-defined locations. Requires world " "reset." msgstr "" -"Si está activado, se generarán PNJ estáticos en las locaciones predefinidas." -" Necesita resetear el mundo para activarse." #: src/options.cpp msgid "Starting NPCs spawn" @@ -222618,6 +227800,10 @@ msgid_plural "" msgstr[0] "%s #%s -- La ventana tendrá %d pixel de alto con este valor." msgstr[1] "%s #%s -- La ventana tendrá %d pixeles de alto con este valor." +#: src/options.cpp +msgid "Note: " +msgstr "Nota:" + #: src/options.cpp msgid "Some of these options may produce unexpected results if changed." msgstr "" @@ -222641,8 +227827,8 @@ msgid "options" msgstr "opciones" #: src/output.cpp -msgid "Press any key for more..." -msgstr "Apretá una tecla para continuar..." +msgid "Press any key for more…" +msgstr "" #: src/output.cpp #, c-format @@ -222814,7 +228000,7 @@ msgstr "[%s] %s" #: src/overmap_ui.cpp #, c-format msgid "" -"LEVEL %i, %d'%d, %d'%d : %s (Distance: " +"LEVEL %i, %d'%d, %d'%d: %s (Distance: " "%d)" msgstr "" @@ -223154,11 +228340,6 @@ msgstr "" msgid "Freezing!" msgstr "" -#: src/panels.cpp -msgctxt "energy unit: kilojoule" -msgid "kJ" -msgstr "kJ" - #: src/panels.cpp msgid "Bad" msgstr "" @@ -223338,6 +228519,7 @@ msgstr "" msgid "Underground" msgstr "Bajo tierra" +#. ~ translation should not exceed 5 console cells #: src/panels.cpp msgid "Wind" msgstr "" @@ -223399,10 +228581,6 @@ msgstr "¡Sordo!" msgid "Weapon :" msgstr "" -#: src/panels.cpp -msgid "No Style" -msgstr "Sin estilo" - #: src/panels.cpp msgid "Day " msgstr "" @@ -223415,10 +228593,12 @@ msgstr "" msgid "to open sidebar options" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/panels.cpp msgid "Mana" msgstr "" +#. ~ translation should not exceed 9 console cells #: src/panels.cpp msgid "Max Mana" msgstr "" @@ -223676,78 +228856,6 @@ msgstr "" msgid "You have learned a new style: %s!" msgstr "" -#: src/player.cpp -#, c-format -msgid "Your %s will be frostnipped in the next few hours." -msgstr "Tu %s será quemado/a por el frío en las próximas horas." - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten within the hour!" -msgstr "¡Tu %s se te congelará en menos de una hora!" - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten any minute now!" -msgstr "¡Tu %s se te congelará en cualquier momento!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s beginning to go numb from the cold!" -msgstr "¡Sentís tu %s comenzando a entumecerse por el frío!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very cold." -msgstr "Sentís que tu %s se está enfriando mucho." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting chilly." -msgstr "Sentís que tu %s se está helando." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting red hot from the heat!" -msgstr "¡Sentís tu %s ardiendo del calor!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very hot." -msgstr "Sentís que tu %s se está poniendo muy caliente." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting warm." -msgstr "Sentís que tu %s se está entibiando." - -#: src/player.cpp -#, c-format -msgid "The wind is making your %s feel quite cold." -msgstr "El viento hace que tu %s se sienta bastante frío/a." - -#: src/player.cpp -#, c-format -msgid "" -"The wind is very strong, you should find some more wind-resistant clothing " -"for your %s." -msgstr "" -"El viento es muy fuerte, deberías conseguir abrigo un poco más resistente al" -" viento para tu %s." - -#: src/player.cpp -#, c-format -msgid "" -"Your clothing is not providing enough protection from the wind for your %s!" -msgstr "" -"¡Tu ropa no te brinda protección suficiente contra el viento para tu %s!" - #: src/player.cpp msgid "You roll on the ground, trying to smother the fire!" msgstr "¡Rodás por el suelo, intentando apagar el fuego!" @@ -223764,50 +228872,6 @@ msgstr "¡Intentás apagar el fuego que tenés encima!" msgid " attempts to put out the fire on them!" msgstr "¡ intenta apagar el fuego que tiene encima!" -#: src/player.cpp -msgid "You set your mech's leg power to a loping fast walk." -msgstr "" - -#: src/player.cpp -msgid "You nudge your steed into a steady trot." -msgstr "" - -#: src/player.cpp -msgid "You start walking." -msgstr "" - -#: src/player.cpp -msgid "You set the power of your mech's leg servos to maximum." -msgstr "" - -#: src/player.cpp -msgid "You spur your steed into a gallop." -msgstr "" - -#: src/player.cpp -msgid "You start running." -msgstr "Empezás a correr." - -#: src/player.cpp -msgid "Your steed is too tired to go faster." -msgstr "" - -#: src/player.cpp -msgid "You're too tired to run." -msgstr "Estás muy cansado para correr." - -#: src/player.cpp -msgid "You reduce the power of your mech's leg servos to minimum." -msgstr "" - -#: src/player.cpp -msgid "You slow your steed to a walk." -msgstr "" - -#: src/player.cpp -msgid "You start crouching." -msgstr "" - #: src/player.cpp #, c-format msgid "Your ground sonar detected a %1$s to the %2$s!" @@ -223886,15 +228950,6 @@ msgstr "" msgid "You lose your balance while being hit!" msgstr "" -#: src/player.cpp -#, c-format -msgid "You were attacked by %s!" -msgstr "¡Te atacó %s! " - -#: src/player.cpp -msgid "You were hurt!" -msgstr "¡Te lastimaron!" - #: src/player.cpp msgid "A snake sprouts from your body!" msgstr "¡Una serpiente brota de tu cuerpo!" @@ -223986,8 +229041,8 @@ msgid "You are slammed against %s!" msgstr "¡Sos estrellado contra el %s!" #: src/player.cpp -msgid "...but your shock absorbers negate the damage!" -msgstr "...pero tus amortiguadores contrarrestan el daño!" +msgid "…but your shock absorbers negate the damage!" +msgstr "" #: src/player.cpp #, c-format @@ -224044,8 +229099,8 @@ msgid "You have starved to death." msgstr "Te moriste de hambre." #: src/player.cpp -msgid "Food..." -msgstr "Comida..." +msgid "Food…" +msgstr "" #: src/player.cpp msgid "Due to insufficient nutrition, your body is suffering from starvation." @@ -224054,12 +229109,12 @@ msgstr "" #: src/player.cpp msgid "" "Despite having something in your stomach, you still feel like you haven't " -"eaten in days..." +"eaten in days…" msgstr "" #: src/player.cpp -msgid "Your stomach feels so empty..." -msgstr "Tu estómago se siente tan vacío..." +msgid "Your stomach feels so empty…" +msgstr "" #: src/player.cpp msgid "You are EMACIATED!" @@ -224078,24 +229133,24 @@ msgid "You have died of dehydration." msgstr "Te moriste de deshidratación." #: src/player.cpp -msgid "Even your eyes feel dry..." -msgstr "Hasta tus ojos se sienten secos..." +msgid "Even your eyes feel dry…" +msgstr "" #: src/player.cpp msgid "You are THIRSTY!" msgstr "¡Estás SEDIENTO!" #: src/player.cpp -msgid "Your mouth feels so dry..." -msgstr "Tu boca se siente tan seca..." +msgid "Your mouth feels so dry…" +msgstr "" #: src/player.cpp msgid "Survivor sleep now." msgstr "Sobreviviente dormir ahora." #: src/player.cpp -msgid "Anywhere would be a good place to sleep..." -msgstr "Cualquier lugar va a estar bueno para dormir..." +msgid "Anywhere would be a good place to sleep…" +msgstr "" #: src/player.cpp msgid "You feel like you haven't slept in days." @@ -224114,9 +229169,8 @@ msgid "*yawn* You should really get some sleep." msgstr "*bostezo* Realmente deberías dormir un poco." #: src/player.cpp -msgid "Your mind feels tired. It's been a while since you've slept well." +msgid "Your mind feels tired. It's been a while since you've slept well." msgstr "" -"Tu mente se siente cansada. Ha pasado mucho tiempo desde que dormiste bien." #: src/player.cpp msgid "" @@ -224128,21 +229182,16 @@ msgstr "" #: src/player.cpp msgid "" -"Your mind feels weary, and you dread every wakeful minute that passes. You " +"Your mind feels weary, and you dread every wakeful minute that passes. You " "crave sleep, and feel like you're about to collapse." msgstr "" -"Tu mente se siente agotada, y le temés a cada minuto que pasás despierto/a. " -"Anhelás dormir, y sentís que estás a punto de desplomarte." #: src/player.cpp msgid "" "You haven't slept decently for so long that your whole body is screaming for" -" mercy. It's a miracle that you're still awake, but it just feels like a " +" mercy. It's a miracle that you're still awake, but it just feels like a " "curse now." msgstr "" -"Hace tanto que no dormís como corresponde que tu cuerpo entero está gritando" -" por piedad. Es un milagro que todavía estés despierto/a, pero lo sentís " -"como si fuera una maldición." #: src/player.cpp msgid "" @@ -224182,14 +229231,6 @@ msgstr "Las heridas desinfectadas en tu %s han sanado." msgid "There is not enough %s left to siphon it." msgstr "No queda suficiente %s para chuparlo." -#: src/player.cpp -msgid "You cough heavily." -msgstr "Tosés fuertemente." - -#: src/player.cpp -msgid "a hacking cough." -msgstr "una tos seca." - #: src/player.cpp msgid "Your body is wracked with excruciating pain!" msgstr "¡Tu cuerpo se retuerce por el dolor insoportable!" @@ -224235,11 +229276,6 @@ msgstr "¡Te duele el/a %s!" msgid "Your %s aches." msgstr "Sentís dolor en el/a %s." -#: src/player.cpp -#, c-format -msgid "Your current health value is %d." -msgstr "Tu nivel actual de salud es %d." - #: src/player.cpp #, c-format msgid "Your %s HURTS!" @@ -224353,13 +229389,15 @@ msgstr "%1$s dice: \"%2$s\"" msgid "You increase %1$s to level %2$d." msgstr "" +#. ~ %1$s: weapon name #: src/player.cpp -msgid "Your " -msgstr "Tu" +#, c-format +msgid "Your %1$s" +msgstr "" #: src/player.cpp -msgid "You suddenly feel so numb..." -msgstr "De repente, te sentís muy adormecido..." +msgid "You suddenly feel so numb…" +msgstr "" #: src/player.cpp msgid "You start to shake uncontrollably." @@ -224370,6 +229408,12 @@ msgstr "Empezás a temblar descontroladamente." msgid "yourself shout, %s" msgstr "" +#. ~ %1$s: weapon name +#: src/player.cpp +#, c-format +msgid "your %1$s" +msgstr "" + #: src/player.cpp msgid "You're suddenly overcome with the urge to sleep and you pass out." msgstr "" @@ -224473,8 +229517,8 @@ msgid "Suddenly, your eyes stop working!" msgstr "¡De repente, tus ojos dejaron de funcionar!" #: src/player.cpp -msgid "Your visual centers must be acting up..." -msgstr "Parece que tus centros visuales no están funcionando bien..." +msgid "Your visual centers must be acting up…" +msgstr "" #: src/player.cpp msgid "You feel an anomalous sensation coming from your radiation sensors." @@ -224552,8 +229596,8 @@ msgid "You shake uncontrollably." msgstr "Temblás descontroladamente." #: src/player.cpp -msgid "You feel nauseous..." -msgstr "Sentís náuseas..." +msgid "You feel nauseous…" +msgstr "" #: src/player.cpp msgid "You black out!" @@ -224568,8 +229612,8 @@ msgid "You stumble and fall over!" msgstr "¡Te tropezás y te caés!" #: src/player.cpp -msgid "You feel tired..." -msgstr "Te sentís cansado..." +msgid "You feel tired…" +msgstr "" #: src/player.cpp msgid "You tiredly rub your eyes." @@ -224722,10 +229766,6 @@ msgstr "Dejaste el/a %s vacío/a." msgid "%c - %d empty %s" msgstr "%c - %d vacío %s" -#: src/player.cpp -msgid "You sink your roots into the soil." -msgstr "Hundís tus raíces en la tierra." - #: src/player.cpp src/veh_interact.cpp #, c-format msgid "Refill %s" @@ -224883,6 +229923,10 @@ msgstr "astas" msgid "Can't wield spilt liquids." msgstr "No podés empuñar líquidos derramados." +#: src/player.cpp +msgid "You need at least one arm to even consider wielding something." +msgstr "" + #: src/player.cpp msgid "Something you are wearing hinders the use of both hands." msgstr "" @@ -224978,20 +230022,43 @@ msgstr "El/a %s no tiene niguna falla para arreglar." msgid "Mend which fault?" msgstr "¿Qué falla querés arreglar?" -#: src/player.cpp src/veh_interact.cpp -msgid "Time required:\n" -msgstr "Tiempo necesario:\n" +#: src/player.cpp +#, c-format +msgid "Turns into: %s\n" +msgstr "" #: src/player.cpp -msgid "Skills:\n" -msgstr "Habilidades:\n" +#, c-format +msgid "Time required: %s\n" +msgstr "" + +#: src/player.cpp +msgid "Skills: none\n" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "Skills: %s\n" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level +#: src/player.cpp +#, c-format +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level +#: src/player.cpp +#, c-format +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" -#. ~ %1$s represents the internal color name which shouldn't be translated, -#. %2$s is skill name, and %3$i is skill level #: src/player.cpp #, c-format -msgid "> %2$s %3$i\n" -msgstr "> %2$s %3$i\n" +msgid "You are currently unable to mend the %s this way." +msgstr "" #: src/player.cpp msgid "You are already wearing that." @@ -225017,13 +230084,13 @@ msgstr " se pone su %s." #: src/player.cpp #, c-format -msgid "Your %s are very encumbered! %s" -msgstr "¡Tus %s están muy incómodos! %s" +msgid "Your %s are very encumbered! %s" +msgstr "" #: src/player.cpp #, c-format -msgid "Your %s is very encumbered! %s" -msgstr "¡Tu %s está muy incómodo! %s" +msgid "Your %s is very encumbered! %s" +msgstr "" #: src/player.cpp msgid "You're deafened!" @@ -225031,18 +230098,13 @@ msgstr "¡Estás sordo!" #: src/player.cpp #, c-format -msgid "This %s is too big to wear comfortably! Maybe it could be refitted..." +msgid "This %s is too big to wear comfortably! Maybe it could be refitted…" msgstr "" -"¡Este/a %s es demasiado grande para usarlo cómodamente! tal vez podrías " -"ajustarlo..." #: src/player.cpp #, c-format -msgid "" -"This %s is too small to wear comfortably! Maybe it could be refitted..." +msgid "This %s is too small to wear comfortably! Maybe it could be refitted…" msgstr "" -"¡Este/a %s es demasiado chico para usarlo cómodamente! tal vez podrías " -"ajustarlol..." #: src/player.cpp #, c-format @@ -225169,20 +230231,6 @@ msgstr "Recuperás %i de plutonio sin utilizar." msgid "You can't remove partially depleted plutonium!" msgstr "¡No podés quitar plutonio parcialmente agotado!" -#: src/player.cpp -#, c-format -msgid "Your %s needs %d charge from some UPS." -msgid_plural "Your %s needs %d charges from some UPS." -msgstr[0] "Tu %s necesita %d carga de algún UPS." -msgstr[1] "Tu %s necesita %d cargas de algún UPS." - -#: src/player.cpp -#, c-format -msgid "Your %s has %d charge but needs %d." -msgid_plural "Your %s has %d charges but needs %d." -msgstr[0] "Tu %s tiene %d carga pero necesita %d." -msgstr[1] "Tu %s tiene %d cargas pero necesita %d." - #. ~ %1$s - gunmod, %2$s - gun. #: src/player.cpp #, c-format @@ -225223,9 +230271,8 @@ msgid "It's impossible to sleep in this wheeled pot!" msgstr "¡Es imposible dormir en esta cafetera con ruedas!" #: src/player.cpp -msgid "The humans' furniture blocks your roots. You can't get comfortable." +msgid "The humans' furniture blocks your roots. You can't get comfortable." msgstr "" -"Los muebles de los humanos bloquean tus raíces. No te podés poner cómodo." #: src/player.cpp msgid "Your roots scrabble ineffectively at the unyielding surface." @@ -225241,9 +230288,8 @@ msgstr "" "conciencia se desvanece." #: src/player.cpp -msgid "These thick webs support your weight, and are strangely comfortable..." +msgid "These thick webs support your weight, and are strangely comfortable…" msgstr "" -"Estas telarañas gruesas soportan tu peso, y son extrañamente cómodas..." #: src/player.cpp msgid "You try to sleep, but the webs get in the way. You brush them aside." @@ -225266,13 +230312,12 @@ msgstr "Tal vez una buena telaraña gruesa te ayude a dormir." #: src/player.cpp msgid "" -"You lay beneath the waves' embrace, gazing up through the water's surface..." +"You lay beneath the waves' embrace, gazing up through the water's surface…" msgstr "" -"Te acostás bajo el abrazo del agua, observando a través de la superficie..." #: src/player.cpp -msgid "You settle into the water and begin to drowse..." -msgstr "Te posás en el agua y empezás a dormitar..." +msgid "You settle into the water and begin to drowse…" +msgstr "" #: src/player.cpp msgid "This is a comfortable place to sleep." @@ -225325,76 +230370,6 @@ msgstr "" msgid "Your soporific inducer starts back up." msgstr "" -#: src/player.cpp -msgid "You nestle your pile of clothes for warmth." -msgstr "Acurrucás la pila de ropa para estar más abrigado." - -#: src/player.cpp -msgid "You use your pile of clothes for warmth." -msgstr "Usás tu pila de ropa para estar más abrigado." - -#: src/player.cpp -#, c-format -msgid "You snuggle your %s to keep warm." -msgstr "Te abrazás a tu %s para mantener la temperatura." - -#: src/player.cpp -#, c-format -msgid "You use your %s to keep warm." -msgstr "Usás tu %s para mantener la temperatura." - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Entered hibernation." -msgstr "Hibernación comenzada." - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Entered hibernation." -msgstr "Hibernación comenzada." - -#. ~ %s is armor name -#: src/player.cpp -#, c-format -msgctxt "memorial_male" -msgid "Worn %s was completely destroyed." -msgstr "El %s puesto ha sido completamente destruido." - -#: src/player.cpp -#, c-format -msgctxt "memorial_female" -msgid "Worn %s was completely destroyed." -msgstr "El %s puesto ha sido completamente destruido." - -#: src/player.cpp -#, c-format -msgid "Your %s is completely destroyed!" -msgstr "¡Tu %s es destruido completamente!" - -#: src/player.cpp -#, c-format -msgid "'s %s is completely destroyed!" -msgstr "¡El %s de es destruido completamente!" - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s further!" -msgstr "¡Tu %1$s es %2$s aún más!" - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s!" -msgstr "¡Tu %1$s es %2$s!" - -#: src/player.cpp src/veh_interact.cpp -msgid "destroyed" -msgstr "destruido" - -#: src/player.cpp -#, c-format -msgid "This task is too simple to train your %s beyond %d." -msgstr "Esta tarea es demasiado simple para entrenar tu %s más de %d." - #: src/player.cpp #, c-format msgid "Your skill in %s has increased to %d!" @@ -225406,8 +230381,9 @@ msgid "You feel that %s tasks of this level are becoming trivial." msgstr "Sentís que las tareas de %s de este nivel se han vuelto algo trivial." #: src/player.cpp -msgid "You resume your task." -msgstr "Retomás tu tarea." +#, c-format +msgid "This task is too simple to train your %s beyond %d." +msgstr "Esta tarea es demasiado simple para entrenar tu %s más de %d." #: src/player.cpp msgid "Wield what?" @@ -225419,8 +230395,8 @@ msgstr "¡El tiempo parece hacerse más lento cuando esquivás instintivamente!" #: src/player.cpp #, c-format -msgid "%s dodges... so fast!" -msgstr "%s lo esquiva... ¡es muy rápido!" +msgid "%s dodges… so fast!" +msgstr "" #: src/player.cpp msgid "You try to dodge but there's no room!" @@ -225431,80 +230407,6 @@ msgstr "¡Intentás esquivar pero no hay lugar!" msgid "%s tries to dodge but there's no room!" msgstr "¡%s intenta esquivar pero no hay lugar!" -#: src/player.cpp -msgid "You start hauling items along the ground." -msgstr "Empezás a arrastrar objetos por el suelo." - -#: src/player.cpp -msgid "Your hands are not free, which makes hauling slower." -msgstr "" -"Tus manos no están vacías, lo que hace que arrastres cosas mucho más lento." - -#: src/player.cpp -msgid "You stop hauling items." -msgstr "Dejás de arrastrar objetos." - -#: src/player.cpp -msgid "Your body strains under the weight!" -msgstr "¡Tu cuerpo se esfuerza en mantener tanto peso!" - -#: src/player.cpp -#, c-format -msgid "You remove the %s's harness." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You climb on the %s." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You hear your %s whir to life." -msgstr "" - -#: src/player.cpp -msgid "You are ejected from your mech!" -msgstr "" - -#: src/player.cpp -msgid " is ejected from their mech!" -msgstr "" - -#: src/player.cpp -msgid "You fall off your mount!" -msgstr "" - -#: src/player.cpp -msgid " falls off their mount!" -msgstr "" - -#: src/player.cpp src/trapfunc.cpp -msgid "You hurt yourself!" -msgstr "¡Te lastimás!" - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Fell off a mount." -msgstr "" - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Fell off a mount." -msgstr "" - -#: src/player.cpp -msgid "Dismount where?" -msgstr "" - -#: src/player.cpp -msgid "You cannot dismount there!" -msgstr "" - -#: src/player.cpp -msgid "Wielding: " -msgstr "Empuñando: " - #: src/player.cpp #, c-format msgid "You (%s)" @@ -225560,45 +230462,22 @@ msgstr "" msgid "Pain " msgstr "" +#. ~ skill_name current_skill_level -> next_skill_level (% to next level) #: src/player_activity.cpp #, c-format -msgid "Crafting: %s" +msgctxt "reading progress" +msgid "%s %d -> %d (%d%%)" msgstr "" #: src/player_activity.cpp #, c-format -msgid "Burrowing: %d%%" +msgid "%s…" msgstr "" #: src/player_activity.cpp #, c-format -msgid "Sawing: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Jackhammering: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Digging: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Disassembling: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Shoveling: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Chopping: %d%%" -msgstr "" +msgid "%s: %s" +msgstr "%s: %s" #: src/player_activity.cpp msgid "You pause for a moment to catch your breath." @@ -225816,47 +230695,57 @@ msgstr "Velocidad actual:" #: src/player_display.cpp #, c-format -msgid "Overburdened -%s%d%%" -msgstr "Sobrecargado -%s%d%%" +msgctxt "speed penalty" +msgid "Overburdened -%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Pain -%s%d%%" -msgstr "Dolor -%s%d%%" +msgctxt "speed penalty" +msgid "Pain -%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Thirst -%s%d%%" -msgstr "Sed -%s%d%%" +msgctxt "speed penalty" +msgid "Thirst -%2d%%" +msgstr "" #: src/player_display.cpp msgid "Underfed" msgstr "" +#. ~ %s: Starving/Underfed (already left-justified), %2d: speed penalty #: src/player_display.cpp #, c-format -msgid "%-20s-%s%d%%" +msgctxt "speed penalty" +msgid "%s-%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Out of Sunlight -%s%d%%" -msgstr "Sin Luz Solar -%s%d%%" +msgctxt "speed penalty" +msgid "Out of Sunlight -%2d%%" +msgstr "" +#. ~ %s: sign of bonus/penalty, %2d: speed bonus/penalty #: src/player_display.cpp #, c-format -msgid "Cold-Blooded %s%s%d%%" +msgctxt "speed modifier" +msgid "Cold-Blooded %s%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Quick +%s%d%%" -msgstr "Rápido +%s%d%%" +msgctxt "speed bonus" +msgid "Quick +%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Bionic Speed +%s%d%%" -msgstr "Velocidad Biónica +%s%d%%" +msgctxt "speed bonus" +msgid "Bionic Speed +%2d%%" +msgstr "" #: src/player_display.cpp #, c-format @@ -225889,19 +230778,15 @@ msgstr "Severamente Malnutrido/a" #: src/player_display.cpp msgid "" -"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" -" \n" +"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" +"\n" msgstr "" -"Tu cuerpo está severamente debilitado por la inanición. ¡Podrías morirte si no empezás a comer regularmente!\n" -" \n" #: src/player_display.cpp msgid "" -"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" -" \n" +"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" +"\n" msgstr "" -"Tu cuerpo está severamente debilitado por la inanición. Solo el tiempo y la comida te ayudarán a recuperarte.\n" -" \n" #: src/player_display.cpp src/veh_interact.cpp msgid "Strength" @@ -226001,39 +230886,30 @@ msgid " vomits thousands of live spores!" msgstr "¡ vomita cientas de esporas vivas!" #: src/player_hardcoded_effects.cpp -msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" +msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" msgstr "" -"La carne de tus brazos quebrados tiene bultos. ¡Explotan y salen tallos de " -"hongos!" #: src/player_hardcoded_effects.cpp -msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" +msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" msgstr "" -"La carne de los brazos quebrados de tiene bultos. ¡Explotan y " -"salen tallos de hongos!" #: src/player_hardcoded_effects.cpp msgid "" -"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " +"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " "through!" msgstr "" -"La carne de tu brazo quebrado y del otro tiene bultos. ¡Explotan y salen " -"tallos de hongos!" #: src/player_hardcoded_effects.cpp -msgid "'s arms bulge. Fungus stalks burst out of the bulges!" +msgid "'s arms bulge. Fungus stalks burst out of the bulges!" msgstr "" -"La carne de los brazos de tiene bultos. ¡Explotan y salen tallos " -"de hongos!" #: src/player_hardcoded_effects.cpp -msgid "Your hands bulge. Fungus stalks burst through the bulge!" -msgstr "Tus manos tienen bultos. ¡Explotan y salen tallos de hongos!" +msgid "Your hands bulge. Fungus stalks burst through the bulge!" +msgstr "" #: src/player_hardcoded_effects.cpp -msgid "'s hands bulge. Fungus stalks burst through the bulge!" +msgid "'s hands bulge. Fungus stalks burst through the bulge!" msgstr "" -"Las manos de tienen bultos. ¡Explotan y salen tallos de hongos!" #: src/player_hardcoded_effects.cpp msgid "You feel nauseous!" @@ -226080,8 +230956,8 @@ msgid "\"Oh God, what's happening?\"" msgstr "\"Oh Dios, ¿qué está pasando?\"" #: src/player_hardcoded_effects.cpp -msgid "\"Of course... it's all fractals!\"" -msgstr "\"Por supuesto... ¡son todos fractales!\"" +msgid "\"Of course… it's all fractals!\"" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "\"Huh? What was that?\"" @@ -226116,9 +230992,8 @@ msgid "You quiver from the cold." msgstr "Estás temblando de frío." #: src/player_hardcoded_effects.cpp -msgid "Your torso is freezing cold. You should put on a few more layers." +msgid "Your torso is freezing cold. You should put on a few more layers." msgstr "" -"Se te está congelando el torso. Tendrías que ponerte algo más de ropa." #: src/player_hardcoded_effects.cpp msgid "Your shivering makes you unsteady." @@ -226323,8 +231198,8 @@ msgid "You shudder suddenly." msgstr "De repente, sentís un escalofrío." #: src/player_hardcoded_effects.cpp -msgid "Your vision is filled with bright lights..." -msgstr "Tu visión se llena de luces brillantes..." +msgid "Your vision is filled with bright lights…" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "You're suddenly covered in ectoplasm." @@ -226509,6 +231384,47 @@ msgstr "" msgid "Your alarm went off." msgstr "" +#: src/player_hardcoded_effects.cpp +msgid "You lose control of your body as it begins to convulse!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You lose conciousness!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "arm" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "hand" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "leg" +msgstr "" + +#: src/player_hardcoded_effects.cpp +#, c-format +msgid "Your %s suddenly jerks in an unexpected direction!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep hold of your weapon." +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep your footing." +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You suddenly lose all muscle tone, and can't support your own weight!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You have a splitting headache." +msgstr "" + #: src/ranged.cpp #, c-format msgid "Your %s misfires with a muffled click!" @@ -226659,7 +231575,7 @@ msgstr "" #: src/ranged.cpp #, c-format -msgid "[%c] to steady your aim. (10 moves)" +msgid "[%c] to steady your aim. (10 moves)" msgstr "" #: src/ranged.cpp @@ -226828,7 +231744,7 @@ msgid "Effective Spell Radius: %s%s" msgstr "" #: src/ranged.cpp -msgid " WARNING! IN RANGE" +msgid " WARNING! IN RANGE" msgstr "" #: src/ranged.cpp @@ -226930,10 +231846,6 @@ msgstr "¡kerblam!" msgid "none" msgstr "nada" -#: src/recipe.cpp -msgid "none" -msgstr "" - #: src/recipe.cpp #, c-format msgid "%s%% at >%s units" @@ -226957,6 +231869,15 @@ msgid_plural "%1$s (%2$d charges)" msgstr[0] "" msgstr[1] "" +#. ~ %1$s: item name, %2$d: charge requirement +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%1$s (%2$d of infinite)" +msgid_plural "%1$s (%2$d of infinite)" +msgstr[0] "" +msgstr[1] "" + #. ~ %1$s: item name, %2$d: charge requirement, %3%d: available charges #: src/requirements.cpp #, c-format @@ -226975,6 +231896,15 @@ msgid_plural "%1$s (%2$d)" msgstr[0] "" msgstr[1] "" +#. ~ %1$s: item name, %2$d: required count +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%2$d %1$s of infinite" +msgid_plural "%2$d %1$s of infinite" +msgstr[0] "" +msgstr[1] "" + #. ~ %1$s: item name, %2$d: required count, %3%d: available count #: src/requirements.cpp #, c-format @@ -227060,8 +231990,8 @@ msgid "Safe Mode manager currently inactive." msgstr "La Configuración de Modo Seguro ahora está desactivada." #: src/safemode_ui.cpp -msgid "Default rules are used. Add a rule to activate." -msgstr "Se usan reglas predeterminadas. Agregá una para activarla." +msgid "Default rules are used. Add a rule to activate." +msgstr "" #: src/safemode_ui.cpp msgid "Press ~ to add a default ruleset to get started." @@ -227073,7 +232003,7 @@ msgstr "Permitidos" #: src/safemode_ui.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" +"* is used as a Wildcard. A few Examples:\n" "\n" "human matches every NPC\n" "zombie matches the monster name exactly\n" @@ -227082,12 +232012,6 @@ msgid "" "*cid*zo*ie multiple * are allowed\n" "AcI*zO*iE case insensitive search" msgstr "" -"* se usa como comodín. Algunos ejemplos:\n" -"humano busca todos los PNJ, zombi busca el nombre exacto del monstruo\n" -"zombi ac* busca monstruos que empiecen así\n" -"*mbi busca monstruos que terminen en 'mbi'\n" -"zo*ac* se permiten múltiples *\n" -"zO*AcI* no importan las mayúsculas" #: src/safemode_ui.cpp msgid "Safe Mode Rule:" @@ -227102,8 +232026,8 @@ msgid "Option: " msgstr "Opción:" #: src/safemode_ui.cpp -msgid "No monsters loaded. Please start a game first." -msgstr "No hay monstruos cargados. Por favor, primero comenzá un juego." +msgid "No monsters loaded. Please start a game first." +msgstr "" #: src/safemode_ui.cpp #, c-format @@ -227117,9 +232041,8 @@ msgid "Lists monsters regardless of their attitude." msgstr "Lista de monstruos sin importar su actitud." #: src/safemode_ui.cpp -msgid "Safe Mode is not enabled in the options. Enable it now?" +msgid "Safe Mode is not enabled in the options. Enable it now?" msgstr "" -"El modo seguro no está activado en las opciones. ¿Querés activarlo ahora?" #: src/safemode_ui.cpp msgid "safemode configuration" @@ -227160,12 +232083,6 @@ msgstr "" msgid "KILLS" msgstr "" -#: src/sdltiles.cpp -msgid "" -"Sets which video display will be used to show the game. Requires restart." -msgstr "" -"Establece qué monitor será usado para mostrar el juego. Necesita reiniciar." - #: src/skill.cpp msgid "The zen-most skill there is." msgstr "" @@ -227224,6 +232141,10 @@ msgstr "" msgid "d: delete history" msgstr "d: borrar historial" +#: src/teleport.cpp +msgid "You feel a strange, inwards force." +msgstr "" + #: src/teleport.cpp msgid "You cannot teleport safely." msgstr "" @@ -227233,7 +232154,11 @@ msgid "You die after teleporting into a solid." msgstr "" #: src/teleport.cpp -msgid "You exlpode into thousands of fragments." +msgid "You feel disjointed." +msgstr "" + +#: src/teleport.cpp +msgid "You explode into thousands of fragments." msgstr "" #: src/teleport.cpp @@ -227559,12 +232484,12 @@ msgid "vvrrrRRMM*POP!*" msgstr "¡vvrrrRRMM*POP!*" #: src/trapfunc.cpp -msgid "The air shimmers around you..." -msgstr "El aire resplandece a tu alrededor..." +msgid "The air shimmers around you…" +msgstr "" #: src/trapfunc.cpp #, c-format -msgid "The air shimmers around %s..." +msgid "The air shimmers around %s…" msgstr "" #: src/trapfunc.cpp @@ -227580,8 +232505,8 @@ msgid "The acidic goo eats away at your feet." msgstr "La viscosidad ácida carcome el suelo a tus pies." #: src/trapfunc.cpp -msgid "BEEPBOOP! Please remove non-organic object." -msgstr "¡BIPBUP! Por favor, retirar el objeto no orgánico." +msgid "BEEPBOOP! Please remove non-organic object." +msgstr "" #: src/trapfunc.cpp msgid "The dissector lights up, and shuts down." @@ -227597,7 +232522,7 @@ msgstr "¡Rayos eléctricos se emiten del suelo y cortan la carne de !" #: src/trapfunc.cpp #, c-format -msgid "Electrical beams emit from the floor and slice your %s!" +msgid "Electrical beams emit from the floor and slice the %s!" msgstr "" #: src/trapfunc.cpp @@ -227683,8 +232608,8 @@ msgid "Your %s is burned by the lava!" msgstr "" #: src/trapfunc.cpp -msgid "You fail to attach it..." -msgstr "No pudiste sujetarlo..." +msgid "You fail to attach it…" +msgstr "" #: src/trapfunc.cpp msgid "There's nowhere to pull yourself to, and you sink!" @@ -227823,8 +232748,21 @@ msgid "Set turret targeting" msgstr "Establecer objetivo de torreta" #: src/turret.cpp -msgid "Can't aim turrets: all turrets are offline" -msgstr "No se pueden apuntar torretas: todas están sin conexión" +msgid "auto -> manual" +msgstr "" + +#: src/turret.cpp +msgid "manual -> auto" +msgstr "" + +#: src/turret.cpp +msgid "manual (turret control unit required for auto mode)" +msgstr "" + +#: src/turret.cpp +msgid "" +"Can't aim turrets: all turrets are offline or set to manual targeting mode." +msgstr "" #: src/turret.cpp msgid "Aim which turret?" @@ -227868,17 +232806,18 @@ msgstr "John Smith" #: src/tutorial.cpp msgid "" "You're saving a tutorial - the tutorial world lacks certain features of " -"normal worlds. Weird things might happen when you load this save. You have " -"been warned." +"normal worlds. Weird things might happen when you load this save. You have" +" been warned." msgstr "" -"Estás guardando el tutorial - al mundo del tutorial le faltan ciertas " -"características de los mundos normales. Pueden pasar cosas raras cuando " -"cargues esta partida guardada. Quedás advertido." #: src/veh_interact.cpp msgid "Select part" msgstr "Elegir parte" +#: src/veh_interact.cpp +msgid "Time required:\n" +msgstr "Tiempo necesario:\n" + #: src/veh_interact.cpp msgid "Skills required:\n" msgstr "Habilidades necesarias:\n" @@ -228051,11 +232990,11 @@ msgid "Search for part" msgstr "Buscar una parte" #: src/veh_interact.cpp -msgid "Your morale is too low to construct..." -msgstr "Tu moral es demasiado baja como para construir algo..." +msgid "Your morale is too low to construct…" +msgstr "" #: src/veh_interact.cpp -msgid "It's too dark to see what you are doing..." +msgid "It's too dark to see what you are doing…" msgstr "" #: src/veh_interact.cpp @@ -228063,7 +233002,7 @@ msgid "You can't install parts while driving." msgstr "No podés instalar partes mientras estás manejando." #: src/veh_interact.cpp -msgid "Installing this part will make the vehicle unfoldable. Continue?" +msgid "Installing this part will make the vehicle unfoldable. Continue?" msgstr "" #: src/veh_interact.cpp @@ -228071,8 +233010,8 @@ msgid "Choose shape:" msgstr "Elegir forma:" #: src/veh_interact.cpp -msgid "Your morale is too low to repair..." -msgstr "Tu moral es demasiado baja como para reparar algo..." +msgid "Your morale is too low to repair…" +msgstr "" #: src/veh_interact.cpp msgid "You can't repair stuff while driving." @@ -228091,8 +233030,8 @@ msgid "This part cannot be repaired" msgstr "Esta parte no puede ser reparada" #: src/veh_interact.cpp -msgid "Your morale is too low to mend..." -msgstr "Tu moral es demasiado baja como para arreglar algo..." +msgid "Your morale is too low to mend…" +msgstr "" #: src/veh_interact.cpp msgid "No faulty parts require mending." @@ -228265,8 +233204,8 @@ msgid "You can't siphon from a moving vehicle." msgstr "No podés chuparle el combustible a un vehículo en movimiento." #: src/veh_interact.cpp -msgid "Select part to siphon: " -msgstr "Elegí desde donde chupar:" +msgid "Select part to siphon:" +msgstr "" #: src/veh_interact.cpp msgid "The vehicle has no solid fuel left to remove." @@ -228741,6 +233680,11 @@ msgstr "¡La parte del vehículo que estabas sosteniendo ha sido destruida!" msgid "Lost connection with the vehicle due to distance!" msgstr "¡Perdiste conexión con el vehículo debido a la distancia!" +#: src/vehicle.cpp +#, c-format +msgid "the %s emitting a beep and saying \"Obstacle detected!\"" +msgstr "" + #. ~ backfire sound #: src/vehicle.cpp #, c-format @@ -228802,7 +233746,7 @@ msgstr "No podés poner el/a %1$s en el soporte" #: src/vehicle.cpp #, c-format msgid "" -"A part of the vehicle ('%s') has no containing vehicle's name. It will be " +"A part of the vehicle ('%s') has no containing vehicle's name. It will be " "detached from the %s vehicle." msgstr "" @@ -228908,8 +233852,8 @@ msgid "The %1$s's %2$s is destroyed!" msgstr "¡El %2$s del %1$s es destruido!" #: src/vehicle_display.cpp -msgid "More parts here..." -msgstr "Acá hay más partes..." +msgid "More parts here…" +msgstr "" #: src/vehicle_display.cpp #, c-format @@ -229305,7 +234249,7 @@ msgstr "" #: src/vehicle_use.cpp msgctxt "electronics menu option" -msgid "rockhead" +msgid "roadheader" msgstr "" #: src/vehicle_use.cpp @@ -229384,8 +234328,8 @@ msgid "You could use a screwdriver to hotwire it." msgstr "Podrías usar un destornillador para puentearlo." #: src/vehicle_use.cpp -msgid "You destroy the controls..." -msgstr "Destrozaste los controles..." +msgid "You destroy the controls…" +msgstr "" #: src/vehicle_use.cpp msgid "You damage the controls." @@ -229407,6 +234351,28 @@ msgstr "Olvidar posición del vehículo" msgid "Remember vehicle position" msgstr "Marcar posición de vehículo" +#: src/vehicle_use.cpp +msgid "Choose action for the autopilot" +msgstr "" + +#: src/vehicle_use.cpp +msgid "Patrol…" +msgstr "" + +#: src/vehicle_use.cpp +msgid "" +"Program the autopilot to patrol a nearby vehicle patrol zone. If no zones " +"are nearby, you will be prompted to create one." +msgstr "" + +#: src/vehicle_use.cpp +msgid "Stop…" +msgstr "" + +#: src/vehicle_use.cpp +msgid "Stop all autopilot related activities." +msgstr "" + #: src/vehicle_use.cpp msgid "You stop keeping track of the vehicle position." msgstr "Dejás de rastrear la posición del vehículo." @@ -229451,14 +234417,14 @@ msgstr "Apagar el motor" msgid "Turn on the engine" msgstr "Encender el motor" -#: src/vehicle_use.cpp -msgid "You turn the engine off." -msgstr "Apagaste el motor." - #: src/vehicle_use.cpp msgid "Honk horn" msgstr "Tocar la bocina" +#: src/vehicle_use.cpp +msgid "Control autopilot" +msgstr "" + #: src/vehicle_use.cpp msgid "Disable cruise control" msgstr "Desactivar control de crucero" @@ -229586,6 +234552,10 @@ msgstr "" msgid "the %s starting" msgstr "" +#: src/vehicle_use.cpp +msgid "You turn the engine off." +msgstr "Apagaste el motor." + #: src/vehicle_use.cpp msgid "You honk the horn!" msgstr "¡Tocás la bocina!" @@ -229606,7 +234576,7 @@ msgstr "Tocaste la bocina, pero no pasó nada." #: src/vehicle_use.cpp #, c-format -msgid "Move how many? [Have %d] (0 to cancel)" +msgid "Move how many? [Have %d] (0 to cancel)" msgstr "" #: src/vehicle_use.cpp @@ -229683,6 +234653,10 @@ msgstr "" msgid "Only CBMs can be sterilized in an autoclave." msgstr "" +#: src/vehicle_use.cpp +msgid "You should put your CBMs in autoclave pouches to keep them sterile." +msgstr "" + #: src/vehicle_use.cpp msgid "You turn the autoclave on and it starts its cycle." msgstr "" @@ -229803,6 +234777,15 @@ msgstr "" msgid "You untie your %s." msgstr "" +#: src/vehicle_use.cpp +msgid "Load a vehicle on the rack" +msgstr "" + +#: src/vehicle_use.cpp +#, c-format +msgid "Remove the %s from the rack" +msgstr "" + #: src/vehicle_use.cpp msgid "Examine vehicle" msgstr "Examinar vehículo" @@ -229925,8 +234908,8 @@ msgid "Your power armor protects you from the acidic drizzle." msgstr "Tu armadura de poder te protege de la llovizna ácida." #: src/weather.cpp -msgid "The acid rain stings, but is mostly harmless for now..." -msgstr "La lluvia ácida arde, pero por ahora es bastante inofensiva..." +msgid "The acid rain stings, but is mostly harmless for now…" +msgstr "" #: src/weather.cpp msgid "Your umbrella protects you from the acid rain." @@ -230011,8 +234994,8 @@ msgstr "%s Noche" #: src/weather.cpp #, c-format -msgid "%s... %s. Highs of %s. Lows of %s. " -msgstr "%s... %s. Altos de %s. Bajos de %s. " +msgid "%s… %s. Highs of %s. Lows of %s. " +msgstr "" #: src/weather.cpp #, c-format @@ -230265,16 +235248,16 @@ msgstr "¿Cuántos?" #: src/wish.cpp #, c-format -msgid "Wish granted. Wish for more or hit [%s] to quit." -msgstr "Deseo concedido. Pedí otro deseo o apretá [%s] para salir." +msgid "Wish granted. Wish for more or hit [%s] to quit." +msgstr "" #: src/wish.cpp msgid "Select a skill to modify" msgstr "Elegí una habilidad para modificar" #: src/wish.cpp -msgid "Modify all skills..." -msgstr "Modificar todas las habilidades..." +msgid "Modify all skills…" +msgstr "" #: src/wish.cpp #, c-format @@ -230283,8 +235266,8 @@ msgstr "@ %d: %s " #: src/wish.cpp #, c-format -msgid "Set '%s' to.." -msgstr "Establecer '%s' en.." +msgid "Set '%s' to…" +msgstr "" #: src/wish.cpp msgid " (current)" @@ -230382,8 +235365,8 @@ msgstr "Orden de carga de mods" #: src/worldfactory.cpp #, c-format -msgid "... %s = View full description " -msgstr "... %s = Ver descripción completa" +msgid "…%s = View full description " +msgstr "" #: src/worldfactory.cpp msgid "--NO AVAILABLE MODS--" @@ -230418,18 +235401,15 @@ msgid "________NO NAME ENTERED!________" msgstr "________¡NO INGRESASTE NOMBRE!________" #: src/worldfactory.cpp -msgid "Are you SURE you're finished? World name will be randomly generated." +msgid "Are you SURE you're finished? World name will be randomly generated." msgstr "" -"¿Estás SEGURO que terminaste? El nombre del mundo se va a elegir al azar." #: src/worldfactory.cpp #, c-format msgid "" -"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " +"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " "%s/%s = Prev/Next Tab." msgstr "" -"%s = Orden de Guardar Cargar predeterminado. %s = Controles %s/%s = " -"Prev/Sig Opción. %s/%s = Prev/Sig Pestaña." #: src/worldfactory.cpp msgid "World Mods" diff --git a/lang/po/es_ES.po b/lang/po/es_ES.po index a23fffae751a8..ad85c30f139c2 100644 --- a/lang/po/es_ES.po +++ b/lang/po/es_ES.po @@ -14,7 +14,7 @@ msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.D\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-06 00:47+0800\n" +"POT-Creation-Date: 2019-11-09 00:53+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" "Last-Translator: Toni López , 2019\n" "Language-Team: Spanish (Spain) (https://www.transifex.com/cataclysm-dda-translators/teams/2217/es_ES/)\n" @@ -708,12 +708,8 @@ msgstr "cohete casero con pinchos" msgid "" "A hand-built rocket, consisting of a spike welded onto a pipe that was " "filled with improvised rocket fuel. Horribly inaccurate, as can be expected" -" of this grade of weapon, but packs a fierce punch... if it hits." +" of this grade of weapon, but packs a fierce punch… if it hits." msgstr "" -"Un misil casero, que consiste en una punta soldada a un tubo que fue " -"rellenado con combustible improvisado para misiles. Es espantosamente poco " -"preciso, como puede esperarse de este tipo de armas, pero tiene un impacto " -"potente... si es que acierta." #: lang/json/AMMO_from_json.py msgid "explosive home-made rocket" @@ -765,8 +761,8 @@ msgstr "" #. ~ Description for unfinished calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"The incomplete process of converting coal and lime into calcium carbide. " -"Useless in this state/" +"The incomplete process of converting coal and lime into calcium carbide. " +"Useless in this state." msgstr "" #: lang/json/AMMO_from_json.py @@ -878,7 +874,7 @@ msgstr "flecha de madera de punta ancha" #. ~ Description for wooden broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched wooden arrow shaft with a bladed tip. Useful for maximising " +"A fletched wooden arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a decent chance of remaining intact once " "fired." msgstr "" @@ -938,7 +934,7 @@ msgstr "" #. ~ Description for aluminum broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched aluminum arrow shaft with a bladed tip. Useful for maximising " +"A fletched aluminum arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a good chance of remaining intact once fired." msgstr "" @@ -1087,16 +1083,11 @@ msgstr[1] "azúfre" #. ~ Description for sulfur #: lang/json/AMMO_from_json.py msgid "" -"A handful of yellow grains of pure sulfur. Primarily used to make battery " -"acid, sulfur is sometimes used as fuel for explosives. Can be burned to " -"produce acidic smoke, that is deadly to bacteria and humans alike, or " -"oxidized to make paper-bleaching agents." +"A handful of pure sulfur. Primarily used to make battery acid, sulfur is " +"sometimes used as fuel for explosives. Can be burned to produce acidic " +"smoke, that is deadly to bacteria and humans alike, or oxidized to make " +"paper-bleaching agents." msgstr "" -"Un puñado de granos amarillos de azufre puro. Principalmente usado para " -"hacer ácido de batería, el azufre a veces se usa como combustible para " -"explosivos. Puede quemarse para producir humo ácido, que es mortal para las " -"bacterias y también para los humanos, o puede ser oxidado para hacer agentes" -" blanqueadores de papel." #: lang/json/AMMO_from_json.py msgid "chunk of sulfur" @@ -1106,8 +1097,8 @@ msgstr[1] "pedazos de azufre" #. ~ Description for chunk of sulfur #: lang/json/AMMO_from_json.py -msgid "A large chunk of pure sulfur. Break it up to use it." -msgstr "Es un gran pedazo de azufre. Rompelo para poder utilizarlo." +msgid "A chunk of pure sulfur. Break it up to use it." +msgstr "" #: lang/json/AMMO_from_json.py msgid "cement" @@ -1239,8 +1230,8 @@ msgstr[1] "" #. ~ Description for zinc oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of zinc oxide. It can be reduced into zinc, or used for some other" -" reactions of its own." +"A handful of zinc oxide. It can be reduced into zinc, or used for some " +"other reactions of its own." msgstr "" #: lang/json/AMMO_from_json.py @@ -1252,7 +1243,7 @@ msgstr[1] "" #. ~ Description for manganese dioxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of manganese dioxide powder. Occurring naturally in the mineral " +"A handful of manganese dioxide powder. Occurring naturally in the mineral " "pyrolusite, it is used commercially in the production of alkaline and zinc-" "carbon batteries." msgstr "" @@ -1266,10 +1257,10 @@ msgstr[1] "" #. ~ Description for potassium chloride #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium chloride. Although it occurs naturally in the mineral" -" sylvite, it can be produced as a byproduct of the reaction of saltpeter and" -" hydrochloric acid. It can be used for making fertilizer, or potassium " -"hydroxide by way of electrolysis." +"A handful of potassium chloride. Although it occurs naturally in the " +"mineral sylvite, it can be produced as a byproduct of the reaction of " +"saltpeter and hydrochloric acid. It can be used for making fertilizer, or " +"potassium hydroxide by way of electrolysis." msgstr "" #: lang/json/AMMO_from_json.py @@ -1281,8 +1272,8 @@ msgstr[1] "" #. ~ Description for potassium hydroxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium hydroxide. Commonly called caustic potash, it was " -"mainly used industrially for its caustic nature. It can be used as an " +"A handful of potassium hydroxide. Commonly called caustic potash, it was " +"mainly used industrially for its caustic nature. It can be used as an " "electrolyte in alkaline batteries, among other applications." msgstr "" @@ -1314,9 +1305,9 @@ msgstr[1] "" #. ~ Description for hydrochloric acid #: lang/json/AMMO_from_json.py msgid "" -"Hydrochloric acid, also known as muriatic acid. It is a strong acid that has" -" a distinctive smell, important and frequently used ever since its " -"discovery. It still has a vast multitude of uses." +"Hydrochloric acid, also known as muriatic acid. It is a strong acid that " +"has a distinctive smell, important and frequently used ever since its " +"discovery. It still has a vast multitude of uses." msgstr "" #: lang/json/AMMO_from_json.py @@ -1366,17 +1357,12 @@ msgstr[1] "óxido de cromo" #. ~ Description for chromium oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of chromium oxide pellets. This substance, typically known as the" -" only stable green pigment for paints, is also a mild oxidizer, which can be" -" mixed with aluminum powder to make thermite for welding. If one had access" -" to a CVD machine and a laboratory worth of reagents, they might be able to " +"A handful of chromium oxide. This substance, typically known as the only " +"stable green pigment for paints, is also a mild oxidizer, which can be mixed" +" with aluminum powder to make thermite for welding. If one had access to a " +"CVD machine and a laboratory worth of reagents, they might be able to " "produce very durable ceramic layers." msgstr "" -"Un puñado de bolitas de óxido de cromo. Esta sustancia, conocida normalmente" -" como el único pigmento verde estable para pintura, es también un oxidante " -"leve, y puede ser mezclado con polvo de aluminio para hacer termita para " -"soldadura. Si se tiene acceso a una máquina de CVD y a los reactivos de un " -"laboratorio, se podría producir capas de cerámica muy resistentes." #: lang/json/AMMO_from_json.py msgid "calcium carbide" @@ -1387,17 +1373,12 @@ msgstr[1] "carburo de calcio" #. ~ Description for calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"A handful of calcium carbide chunks, giving off a faint, garlic-like smell." -" Commercially, calcium carbide was used for on-the-spot manufacture of " +"A handful of calcium carbide, giving off a faint, garlic-like smell. " +"Commercially, calcium carbide was used for on-the-spot manufacture of " "acetylene and historically to power acetylene lamps. If mixed with water " "and sealed, it will explode with little strength, but with relatively loud " "noise and could maybe be used as a decoy." msgstr "" -"Un puñado de pedazos de carburo de calcio, que tiene un leve olor a ajo. " -"Comercialmente, el carburo de calcio era usado para la producción inmediata " -"de acetileno y, antiguamente, para alimentar las lámparas de acetileno. Si " -"se mezcla con agua y se sella, explotará con poca fuerza, pero haciendo " -"mucho ruido. Tal vez pueda usarse como señuelo." #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "hexamine" @@ -1620,8 +1601,8 @@ msgstr[1] "" #: lang/json/AMMO_from_json.py msgid "" "Some match head powder from match heads, similar to black gunpowder but a " -"bit weaker. It can be used in crafting explosives and fuses when other more " -"suitable candidates are less available." +"bit weaker. It can be used in crafting explosives and fuses when other more" +" suitable candidates are less available." msgstr "" #: lang/json/AMMO_from_json.py @@ -2015,7 +1996,7 @@ msgstr[1] "" #. ~ Description for flamethrower fuel #: lang/json/AMMO_from_json.py msgid "" -"A mixture of gasoline and diesel oil in equal parts. Its combustion " +"A mixture of gasoline and diesel oil in equal parts. Its combustion " "properties make it unfit for applications where you would use any of them " "separately, but it can be used to feed a flamethrower." msgstr "" @@ -3490,41 +3471,47 @@ msgid "reloaded .460 Rowland" msgstr ".460 Rowland recargada" #: lang/json/AMMO_from_json.py -msgid ".50 BMG tracer" -msgstr ".50 BMG trazadora" +msgid ".50 BMG M17 tracer" +msgstr "" -#. ~ Description for .50 BMG tracer +#. ~ Description for .50 BMG M17 tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances." +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances." msgstr "" -"Es la variante trazadora de la poderosa bala .50 BMG de francotirador. Las " -"balas trazadoras ayudan a mantener apuntada el arma mientras se dispara, con" -" el riesgo de incendiar sustancias inflamables." #: lang/json/AMMO_from_json.py -msgid ".50 BMG Ball" -msgstr ".50 BMG bolas" +msgid ".50 BMG M33 Ball" +msgstr "" -#. ~ Description for .50 BMG Ball +#. ~ Description for .50 BMG M33 Ball #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise." +".50 BMG ammunition with mild steel cored 661gr FMJ bullets. The .50 BMG is " +"a very powerful rifle round designed for anti-aircraft use, later adapted to" +" anti-vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -"La .50 BMG es una bala de rifle muy poderosa diseñada para largo alcance. Su" -" estupenda precisión y capacidad de penetración de blindaje la convierten en" -" una de las bala más mortales, con la desventaja del retroceso drástico y " -"ser ruidosa." #: lang/json/AMMO_from_json.py -msgid ".50 BMG AP" -msgstr ".50 BMG con penetración de armadura" +msgid ".50 BMG Match" +msgstr "" -#. ~ Description for .50 BMG AP +#. ~ Description for .50 BMG Match +#: lang/json/AMMO_from_json.py +msgid "" +".50 BMG FMJ lead core ammunition manufactured with tighter tolerances for " +"long-range competition shooting or other precision rifle use." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid ".50 BMG M2 AP" +msgstr "" + +#. ~ Description for .50 BMG M2 AP #: lang/json/AMMO_from_json.py msgid "" "Variant of the .50 BMG round that uses a core of very dense, hardened " @@ -3533,6 +3520,23 @@ msgstr "" "Una variante de la .50 BMG con su núcleo hecho de carburo de tungsteno " "endurecido. La penetración es mejor pero su capacidad de daño es menor." +#: lang/json/AMMO_from_json.py +msgid ".50 BMG Raufoss Mk 211" +msgstr "" + +#. ~ Description for .50 BMG Raufoss Mk 211 +#: lang/json/AMMO_from_json.py +msgid "" +"This variant of the .50 BMG round makes the most of the caliber's potential " +"payload delivery: the tip is loaded with an incendiary mix, which ignites on" +" impact, detonating the RDX or PETN charge. This also ignites a secondary " +"zirconium powder incendiary charge that surrounds a tungsten carbide " +"penetrator, both encased by a mild steel cup. Fragments from the cup and " +"burning metallic powder follow the penetrator through armored targets, " +"increasing lethality. These rare, complicated, and expensive rounds are not" +" likely to be manufactured again; use them wisely." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG tracer" msgstr ".50 BMG trazadora recargada" @@ -3540,30 +3544,24 @@ msgstr ".50 BMG trazadora recargada" #. ~ Description for reloaded .50 BMG tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances. This one has been hand-reloaded." +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances. This one has been hand-reloaded." msgstr "" -"Una variante trazadora de la poderosa bala de francotirador .50 BMG que " -"ayuda a mantener el arma sobre el objetivo, bajo el riesgo de prender fuego " -"a sustancias inflamables. Esta ha sido recargada a mano. " #: lang/json/AMMO_from_json.py -msgid "reloaded .50 BMG Ball" -msgstr ".50 BMG bola recargadas" +msgid "reloaded .50 BMG Match" +msgstr "" -#. ~ Description for reloaded .50 BMG Ball +#. ~ Description for reloaded .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise. This" -" one has been hand-reloaded." +".50 BMG ammunition with lead-cored FMJ bullets. The .50 BMG is a very " +"powerful rifle round designed for anti-aircraft use, later adapted to anti-" +"vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -"La .50 BMG es una bala de rifle muy poderosa diseñada para largo alcance. Su" -" estupenda precisión y capacidad de penetración de blindaje la convierten en" -" una de las bala más mortales, con la desventaja del retroceso drástico y " -"ser ruidosa. Esta ha sido recargada a mano." #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG AP" @@ -3572,13 +3570,9 @@ msgstr ".50 BMG AP recargadas" #. ~ Description for reloaded .50 BMG AP #: lang/json/AMMO_from_json.py msgid "" -"Variant of the .50 BMG round that uses a core of very dense, hardened " -"tungsten steel. Penetration is increased, but damage is reduced. This one " -"has been hand-reloaded." +"Variant of the .50 BMG round that uses a core hardened steel. Penetration " +"is increased, but damage is reduced. This one has been hand-reloaded." msgstr "" -"Una variante de la .50 BMG con su núcleo hecho de carburo de tungsteno " -"endurecido. La penetración es mejor pero su capacidad de daño es menor. Esta" -" ha sido recargada a mano." #: lang/json/AMMO_from_json.py msgid ".500 S&W Magnum" @@ -4669,6 +4663,106 @@ msgstr "Algunas semillas de hongos." msgid "fungal flower" msgstr "flor fúngica" +#: lang/json/AMMO_from_json.py +msgid "potassium alum" +msgstr "" + +#. ~ Description for potassium alum +#: lang/json/AMMO_from_json.py +msgid "" +"Small water-soluble white crystals with watery metallic odor, historically " +"used for many different purposes. Also known as potash alum and potassium " +"aluminum sulfate; often called simply alum, as it's the most important " +"member of the generic class of compounds called alums." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cloth dye powder" +msgstr "" + +#. ~ Description for cloth dye powder +#: lang/json/AMMO_from_json.py +msgid "" +"This is a powdered colorful cloth dye, which can be used to dye many fabrics" +" if combined with water and some mordant." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel buckle" +msgstr "" + +#. ~ Description for steel buckle +#: lang/json/AMMO_from_json.py +msgid "A steel buckle, like that usually found on belts." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "plastic button" +msgstr "" + +#. ~ Description for plastic button +#: lang/json/AMMO_from_json.py +msgid "A plastic button, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel button" +msgstr "" + +#. ~ Description for steel button +#: lang/json/AMMO_from_json.py +msgid "A steel button, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "wooden button" +msgstr "" + +#. ~ Description for wooden button +#: lang/json/AMMO_from_json.py +msgid "A crude wooden button, usually found on very old clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel snap fastener" +msgstr "" + +#. ~ Description for steel snap fastener +#: lang/json/AMMO_from_json.py +msgid "A steel snap fastener, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "touch fastener" +msgstr "" + +#. ~ Description for touch fastener +#: lang/json/AMMO_from_json.py +msgid "" +"This is a pair of cloth strips, one of which has tiny hooks and another has " +"tiny loops. Useful as a fastener for clothing and footwear." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "long plastic zipper" +msgstr "" + +#. ~ Description for long plastic zipper +#: lang/json/AMMO_from_json.py +msgid "A long zipper made from plastic, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "short plastic zipper" +msgstr "" + +#. ~ Description for short plastic zipper +#: lang/json/AMMO_from_json.py +msgid "" +"A short zipper made from plastic, usually found on footwear or clothing " +"pockets." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "red paint" msgid_plural "red paint" @@ -4827,7 +4921,7 @@ msgstr[1] "" #: lang/json/AMMO_from_json.py msgid "" "A slightly brittle metal. Apart from being an essential mineral that the " -"body needs, it reacts readily with acids, alkalis and other non-metals. It " +"body needs, it reacts readily with acids, alkalis and other non-metals. It " "can be crushed to make zinc powder, used in the production of batteries, " "among other things." msgstr "" @@ -4915,7 +5009,7 @@ msgstr "" #. ~ Description for door hinge #: lang/json/AMMO_from_json.py msgid "" -"A small metal hinge with two metal plates with screw holes. Useful for " +"A small metal hinge with two metal plates with screw holes. Useful for " "making doors." msgstr "" @@ -4926,7 +5020,7 @@ msgstr "" #. ~ Description for tin powder #: lang/json/AMMO_from_json.py msgid "" -"A fine gray powder composed of tin, usable for making solder and lining " +"A fine gray powder composed of tin, usable for making solder and lining " "containers to prevent corrosion." msgstr "" @@ -4969,6 +5063,359 @@ msgid "" "explosions." msgstr "" +#: lang/json/AMMO_from_json.py +msgid "rubber sole" +msgstr "" + +#. ~ Description for rubber sole +#: lang/json/AMMO_from_json.py +msgid "" +"This is a sole made from rubber, usually found on the bottoms of boots. Can" +" be used for making actual boots." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cotton scraps" +msgid_plural "cotton scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for cotton scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of cotton, waste material from tailoring " +"projects. Not useful for much and usually disposed of, but can be recycled " +"into some thread if you really want." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "faux fur scraps" +msgid_plural "faux fur scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for faux fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of faux fur, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "felt scraps" +msgid_plural "felt scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for felt scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of felt, waste material from tailoring projects." +" Not useful for much and usually disposed of, but can be recycled into some" +" wool fiber if you really want." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "fur scraps" +msgid_plural "fur scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of fur, waste material from tailoring projects. " +"Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar scraps" +msgid_plural "Kevlar scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Kevlar scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of Kevlar fabric, waste material from tailoring " +"projects. Normally it's disposed of, but since Kevlar would be very " +"difficult to make in a post-apocalyptic world, it might be worth recycling " +"it for Kevlar thread." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "leather scraps" +msgid_plural "leather scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for leather scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of leather, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lycra scraps" +msgid_plural "lycra scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lycra scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of lycra, waste material from tailoring projects." +" Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "neoprene scraps" +msgid_plural "neoprene scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for neoprene scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of neoprene, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric scraps" +msgid_plural "synthetic fabric scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for synthetic fabric scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of synthetic fabric, waste material from " +"tailoring projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex scraps" +msgid_plural "Nomex scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Nomex scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of heat-resistant Nomex fabric, waste material " +"from tailoring projects. Normally it's disposed of, but since Nomex would " +"be very difficult to make in a post-apocalyptic world, it might be worth " +"recycling it." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cotton sheet" +msgstr "" + +#. ~ Description for cotton sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of cotton fabric, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork cotton clothing parts" +msgid_plural "patchwork cotton clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork cotton clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from cotton patches in " +"a patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "faux fur sheet" +msgstr "" + +#. ~ Description for faux fur sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of fake synthetic colorful fur, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork faux fur clothing parts" +msgid_plural "patchwork faux fur clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork faux fur clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from faux fur patches " +"in a patchwork fashion. Suitable for making most clothing, though it's much" +" less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "felt sheet" +msgstr "" + +#. ~ Description for felt sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of felt, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork felt clothing parts" +msgid_plural "patchwork felt clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork felt clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from felt patches in a " +"patchwork fashion. Suitable for making most clothing, though it's much less" +" time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar sheet" +msgstr "" + +#. ~ Description for Kevlar sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Kevlar synthetic fabric, suitable for making bulletproof armor. " +"In this form, unlike rigid plates, it can be stitched." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lycra sheet" +msgstr "" + +#. ~ Description for lycra sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of synthetic fabric blended with stretchy lycra fibers, suitable for" +" making flexible yet strong clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork lycra clothing parts" +msgid_plural "patchwork lycra clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork lycra clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from lycra patches in a" +" patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py lang/json/GENERIC_from_json.py +msgid "neoprene sheet" +msgid_plural "neoprene sheets" +msgstr[0] "lámina de neopreno" +msgstr[1] "láminas de neopreno" + +#. ~ Description for neoprene sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of neoprene, a synthetic rubber, suitable for making underwater " +"gear." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork neoprene clothing parts" +msgid_plural "patchwork neoprene clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork neoprene clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from neoprene patches " +"in a patchwork fashion, with waterproofed seams. Suitable for making most " +"clothing, though it's much less time-efficient than if using proper material" +" sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex sheet" +msgstr "" + +#. ~ Description for Nomex sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Nomex synthetic fabric, suitable for making heat-resistant " +"clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork Nomex clothing parts" +msgid_plural "patchwork Nomex clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork Nomex clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together with Nomex thread from " +"Nomex patches in a patchwork fashion. Suitable for making most clothing, " +"though it's much less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric sheet" +msgstr "" + +#. ~ Description for synthetic fabric sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of synthetic fabric, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork synthetic fabric clothing parts" +msgid_plural "patchwork synthetic fabric clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork synthetic fabric clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from synthetic fabric " +"patches in a patchwork fashion. Suitable for making most clothing, though " +"it's much less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar thread" +msgstr "" + +#. ~ Description for Kevlar thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some very durable Kevlar thread that would be particularly useful for making" +" ballistic armor, though it's fine to use in place of normal thread too, in " +"most cases. Making armor-grade Kevlar sheets from this would need a " +"particularly tight weave, and so would need some specialized machinery." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex thread" +msgstr "" + +#. ~ Description for Nomex thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some heat-resistant Nomex thread that would be particularly useful for " +"making heat protection gear, though it's fine to use in place of normal " +"thread too, in most cases." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "handloaded .22 CB" msgid_plural "handloaded .22 CB" @@ -5553,6 +6000,18 @@ msgstr "" "militar, diseñada para arder en el impacto, penetrando blindaje y " "encendiendo sustancias inflamables." +#: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py +msgid "orichalcum arrow" +msgstr "" + +#. ~ Description for orichalcum arrow +#: lang/json/AMMO_from_json.py +msgid "" +"An arrow composed of a sliver of orichalcum. The arrow has a mysterious " +"glow. Has a very high chance of staying intact when fired, however can only" +" be fired from Ichaival." +msgstr "" + #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "dragon blood" msgid_plural "dragon blood" @@ -5600,8 +6059,29 @@ msgstr[1] "" #. ~ Description for crystallized mana #: lang/json/AMMO_from_json.py msgid "" -"Some crystallized mana. This can be reloaded into rechargable mana crystals," -" but can never be unloaded." +"Some crystallized mana. This can be reloaded into rechargable mana " +"crystals, but can never be unloaded." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lump of orichalcum" +msgstr "" + +#. ~ Description for lump of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A heavy formed piece of strange metal. Useful for some crafting recipes." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "sliver of orichalcum" +msgstr "" + +#. ~ Description for sliver of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A sliver of a strange glowing metal. Useful as a weapon, but better suited " +"for crafting." msgstr "" #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py @@ -6783,8 +7263,10 @@ msgstr[1] "tahalís" #. ~ Use action holster_msg for pair of rollerblades. #. ~ Use action holster_msg for pair of rollerskates. #. ~ Use action holster_msg for C.R.I.T web belt. +#. ~ Use action holster_msg for technomancer's toolbelt. #. ~ Use action holster_msg for hollow cane. -#: lang/json/ARMOR_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/ARMOR_from_json.py lang/json/ARMOR_from_json.py +#: lang/json/GENERIC_from_json.py #, no-python-format msgid "You sheath your %s" msgstr "Enfundas tu %s." @@ -7477,6 +7959,46 @@ msgid "" "small straps designed to better distribute the weight." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail chausses" +msgid_plural "pairs of chainmail chausses" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of chainmail chausses +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail chausses that cover the feet, like booties made of " +"chainmail." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail gloves" +msgid_plural "pairs of chainmail gloves" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of chainmail gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail gloves. They fully enclose the fingers and provide " +"excellent protection, but are somewhat cumbersome." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "faraday chainmail suit" +msgid_plural "faraday chainmail suits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for faraday chainmail suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A fully customized chainmail suit that can be worn over your normal " +"clothing. The suit is conductively interconnected, protecting against " +"electricity." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "leather chaps" msgid_plural "leather chaps" @@ -7642,6 +8164,28 @@ msgstr "" "Un disfraz de payaso muy colorido y muy ridículo. Tiene buena capacidad de " "almacenamiento." +#: lang/json/ARMOR_from_json.py +msgid "clown wig" +msgid_plural "clown wigs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for clown wig +#: lang/json/ARMOR_from_json.py +msgid "A colorful and ridiculous wig fit for a clown." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "clown nose" +msgid_plural "clown noses" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for clown nose +#: lang/json/ARMOR_from_json.py +msgid "A red latex nose often seen being worn by clowns." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fur coat" msgid_plural "fur coats" @@ -7927,6 +8471,22 @@ msgid "A white button-down shirt with long sleeves. Looks professional!" msgstr "" "Una camisa blanca con mangas largas. ¡Con esto pareces un profesional!" +#: lang/json/ARMOR_from_json.py +msgid "drinking hat" +msgid_plural "drinking hats" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for drinking hat +#: lang/json/ARMOR_from_json.py +msgid "" +"This is an improvised harness that can be worn over other headgear or bare " +"head, made from two small liquid containers, a rubber hose, a bundle of " +"steel wire, and some cordage. A convenient and simple device for hands-free" +" drinking, though the liquid inside would spill if you put it into your " +"backpack." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "wedding dress" msgid_plural "wedding dresses" @@ -8079,6 +8639,32 @@ msgstr[1] "riñoneras" msgid "Provides a bit of extra storage, with minimal encumbrance." msgstr "Nos da un poco más de almacenamiento, y no es muy incómoda." +#: lang/json/ARMOR_from_json.py +msgid "underarm protector" +msgid_plural "underarm protectors" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for underarm protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A sturdy cotton plastron that protects much of the torso, the dominant " +"shoulder, and underarm while fencing." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "plastic chest protector" +msgid_plural "plastic chest protectors" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for plastic chest protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A rigid plastic plastron with molded cups to be worn by female fencers for " +"protection while fencing." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fencing jacket" msgid_plural "fencing jackets" @@ -8095,6 +8681,34 @@ msgstr "" "esgrimistas para prevenir accidentes. No tiene capacidad de almacenamiento, " "pero es muy cómodo." +#: lang/json/ARMOR_from_json.py +msgid "lamé (foil)" +msgid_plural "lamé (foil)s" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lamé (foil) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive vest with the zipper on the back used by " +"fencers for electronic scoring. Its outer layer is a woven mix of sturdy " +"cotton and stainless steel strands." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "lamé (saber)" +msgid_plural "lamé (saber)s" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lamé (saber) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive jacket used by fencers for electronic " +"scoring. Its outer layer is a woven mix of sturdy cotton and stainless " +"steel strands." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fencing mask" msgid_plural "fencing masks" @@ -8120,6 +8734,32 @@ msgstr "" "Un par de pantalones reforzados usado por los esgrimistas para prevenir " "lesiones." +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet" +msgid_plural "fencing gauntlets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fencing gauntlet +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet (left)" +msgid_plural "fencing gauntlet (left)s" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fencing gauntlet (left) +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers. This one is left-handed." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of fire gauntlets" msgid_plural "pairs of fire gauntlets" @@ -8537,22 +9177,6 @@ msgstr[1] "pares de guantes de piel" msgid "A pair of warm fur gloves. They are somewhat cumbersome." msgstr "Es un par de guantes de piel, muy abrigados. Son un poco incómodos." -#: lang/json/ARMOR_from_json.py -msgid "pair of survivor wetsuit gloves" -msgid_plural "pairs of survivor wetsuit gloves" -msgstr[0] "par de guantes acuáticos de supervivencia" -msgstr[1] "pares de guantes acuáticos de supervivencia" - -#. ~ Description for pair of survivor wetsuit gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" -" wear while providing maximum protection under extreme conditions." -msgstr "" -"Un par de guantes personalizados de neopreno reforzados con kevlar. Están " -"modificados para ser cómodos y brindar la máxima protección en condiciones " -"extremas." - #: lang/json/ARMOR_from_json.py msgid "pair of heavy survivor gloves" msgid_plural "pairs of heavy survivor gloves" @@ -8622,6 +9246,20 @@ msgstr "" "modificados para ser cómodos y brindar una máxima protección en condiciones " "extremas." +#: lang/json/ARMOR_from_json.py +msgid "pair of fingerless survivor gloves" +msgid_plural "pairs of fingerless survivor gloves" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of fingerless survivor gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored cloth gloves with no fingers, modified " +"to be easy to wear while providing maximum protection under extreme " +"conditions." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of medical gloves" msgid_plural "pairs of medical gloves" @@ -8866,17 +9504,6 @@ msgid "" "excellent protection from environmental dangers." msgstr "" -#: lang/json/ARMOR_from_json.py -msgid "pair of swim goggles" -msgid_plural "pairs of swim goggles" -msgstr[0] "par de gafas de nadar" -msgstr[1] "pares de gafas de nadar" - -#. ~ Description for pair of swim goggles -#: lang/json/ARMOR_from_json.py -msgid "A small pair of goggles made for swimming." -msgstr "Un par de gafas pequeñas para nadar." - #: lang/json/ARMOR_from_json.py msgid "pair of welding goggles" msgid_plural "pairs of welding goggles" @@ -8919,23 +9546,6 @@ msgstr "" "Un abrigo pesado de lana de cuerpo entero. Incómodo pero abrigado y con " "bolsillos grandes." -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit" -msgid_plural "survivor wetsuits" -msgstr[0] "traje acuático de supervivencia" -msgstr[1] "trajes acuáticos de supervivencia" - -#. ~ Description for survivor wetsuit -#: lang/json/ARMOR_from_json.py -msgid "" -"A lightweight, hand-built combination armor made from a cut-down bulletproof" -" vest and a reinforced neoprene wetsuit. Protects from the elements as well" -" as from harm." -msgstr "" -"Es un traje ligero hecho a mano, es una combinación entre un chaleco " -"antibalas cortado y un traje acuático de neopreno reforzado. Protege tanto " -"del ambiente como del daño." - #: lang/json/ARMOR_from_json.py msgid "hakama" msgid_plural "hakamas" @@ -9504,20 +10114,6 @@ msgstr[1] "capuchas ignífugas de supervivencia" msgid "A customized armored Nomex and Kevlar hood, very strong and durable." msgstr "" -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit hood" -msgid_plural "survivor wetsuit hoods" -msgstr[0] "capucha acuática de supervivencia" -msgstr[1] "capuchas acuáticas de supervivencia" - -#. ~ Description for survivor wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "" -"A customized armored neoprene and Kevlar hood, very strong and durable." -msgstr "" -"Es una capucha personalizada de neopreno reforzada con kevlar, muy " -"resistente y duradera." - #: lang/json/ARMOR_from_json.py msgid "light survivor hood" msgid_plural "light survivor hoods" @@ -10305,18 +10901,25 @@ msgstr[0] "cinturón de cuero" msgstr[1] "cinturones de cuero" #. ~ Use action holster_msg for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_msg for magic leather belt. +#. ~ Use action holster_msg for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py #, no-python-format msgid "You tuck your %s into your %s" msgstr "Metes tu %s en tu %s." #. ~ Use action holster_prompt for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_prompt for magic leather belt. +#. ~ Use action holster_prompt for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Stick what into your belt" msgstr "Qué es lo que quieres meter en el cinturón?" #. ~ Description for leather belt -#: lang/json/ARMOR_from_json.py +#. ~ Description for magic leather belt +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py msgid "A leather belt. Useful for making your pair of pants fit." msgstr "Cinturón de cuero. Útil para ajustar los pantalones." @@ -10499,6 +11102,20 @@ msgstr "" "Son unas pierneras que se sujetan a los muslos con correas con hebillas, y " "sirven para llevar cosas. Son las que utilizan los soldados." +#: lang/json/ARMOR_from_json.py +msgid "leotard" +msgid_plural "leotard" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for leotard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment, covering the body from the groin to the " +"shoulders. With its deep scoop-cut back and high waist cuts, this garment " +"is perfect for showcasing your physique on the stage." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "Linux t-shirt" msgid_plural "Linux t-shirts" @@ -11433,38 +12050,6 @@ msgstr "" "Una funda larga y ajustable para espadas y otras armas blancas grandes. Hay " "que activarla para enfundar y desenfundar el arma." -#: lang/json/ARMOR_from_json.py -msgid "shark suit" -msgid_plural "shark suits" -msgstr[0] "traje anti-tiburón" -msgstr[1] "trajes anti-tiburón" - -#. ~ Description for shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It comes with attached plastic helmet and booties." -msgstr "" -"Un traje entero de cota de malla que usan los buzos para protegerse contra " -"las mordidas de tiburón. Viene con un casco de plástico y botas." - -#: lang/json/ARMOR_from_json.py -msgid "faraday shark suit" -msgid_plural "faraday shark suits" -msgstr[0] "traje anti-tiburón faraday" -msgstr[1] "trajes anti-tiburón faraday" - -#. ~ Description for faraday shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It has been conductively interconnected, protecting against " -"electricity." -msgstr "" -"Un traje entero de cota de malla que usan los buzos para protegerse contra " -"las mordidas de tiburón. Ha sido interconectado conductivamente, lo que " -"brinda protección contra la electricidad." - #: lang/json/ARMOR_from_json.py msgid "sheath" msgid_plural "sheathes" @@ -11546,6 +12131,19 @@ msgstr "" "Es un pantalón corto de tela vaquera, grueso y resistente. Excelente " "material para protegerte de las heridas cortantes." +#: lang/json/ARMOR_from_json.py +msgid "thermal shirt" +msgid_plural "thermal shirts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for thermal shirt +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, form-fitting long-sleeved spandex undershirt that helps " +"maintains body temperature." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "skinny tie" msgid_plural "skinny ties" @@ -12060,13 +12658,9 @@ msgstr[1] "trajes de paciente" #: lang/json/ARMOR_from_json.py msgid "" "A thin, short-sleeved and short-legged one-piece suit. Judging by the odd " -"tailoring and adjustment points... maybe you don't want to know who wore " -"it. Provides nominal storage and is not very encumbering." +"tailoring and adjustment points… maybe you don't want to know who wore it. " +"Provides nominal storage and is not very encumbering." msgstr "" -"Un traje fino de mangas cortas tanto en los brazos como en las piernas. A " -"juzgar por el extraño corte y los puntos de ajuste... quizá sea mejor no " -"saber quién lo usó antes. Tiene una mínimia capacidad de almacenamiento y no" -" es incómodo." #: lang/json/ARMOR_from_json.py msgid "suit" @@ -12146,6 +12740,7 @@ msgstr[1] "cinturones de supervivencia" #. ~ Use action holster_prompt for survivor utility belt. #. ~ Use action holster_prompt for hiking backpack. #. ~ Use action holster_prompt for C.R.I.T web belt. +#. ~ Use action holster_prompt for technomancer's toolbelt. #: lang/json/ARMOR_from_json.py msgid "Sheath blade" msgstr "Enfundar cuchilla" @@ -12562,17 +13157,6 @@ msgstr "" "de un asentamiento, o el capitán de una pandilla postapocalíptica, este es " "el sombrero indicado para ti." -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming trunks" -msgid_plural "pairs of swimming trunks" -msgstr[0] "bañador de hombre" -msgstr[1] "bañadores de hombre" - -#. ~ Description for pair of swimming trunks -#: lang/json/ARMOR_from_json.py -msgid "A pair of swimming trunks, with netting." -msgstr "Un bañador de hombre, con malla interior." - #: lang/json/ARMOR_from_json.py msgid "t-shirt" msgid_plural "t-shirts" @@ -12852,60 +13436,6 @@ msgstr "" "Es un chaleco elegante. Ideal para esos momentos donde usar solo una " "camiseta sería demasiado informal, pero un traje sería demasiado elegante." -#: lang/json/ARMOR_from_json.py -msgid "wetsuit" -msgid_plural "wetsuits" -msgstr[0] "traje de buceo" -msgstr[1] "trajes de buceo" - -#. ~ Description for wetsuit -#: lang/json/ARMOR_from_json.py -msgid "A full-body neoprene wetsuit." -msgstr "Un traje de neopreno de cuerpo entero." - -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming gloves" -msgid_plural "pairs of swimming gloves" -msgstr[0] "par de guantes de nado" -msgstr[1] "pares de guantes de nado" - -#. ~ Description for pair of swimming gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of very flexible neoprene-silicone rubber gloves, suitable for " -"underwater use." -msgstr "" -"Es un par de guantes muy flexibles de neopreno y goma de silicona. Perfectos" -" para usar debajo del agua." - -#: lang/json/ARMOR_from_json.py -msgid "wetsuit hood" -msgid_plural "wetsuit hoods" -msgstr[0] "capucha acuática" -msgstr[1] "capuchas acuáticas" - -#. ~ Description for wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "A neoprene hood, commonly worn by divers." -msgstr "Una capucha de neopreno, generalmente utilizada por buzos." - -#: lang/json/ARMOR_from_json.py -msgid "spring suit" -msgid_plural "spring suits" -msgstr[0] "traje acuático corto" -msgstr[1] "trajes acuáticos cortos" - -#. ~ Description for spring suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A long-sleeved spring wetsuit with pink color details and cleavage-" -"enhancing, hip-accentuating construction. Not as protective as a full-body " -"suit, but also less restrictive." -msgstr "" -"Es un traje de neopreno corto con mangas largas y detalles en rosa, y " -"entallado a la cadera y el escote. No protege tanto como el traje largo, " -"pero es más cómodo." - #: lang/json/ARMOR_from_json.py msgid "pair of army winter gloves" msgid_plural "pairs of army winter gloves" @@ -13260,6 +13790,35 @@ msgstr "" "Una tela plástica con varias arandelas para poder atarla con una soga o una " "cuerda. Es útil para improvisar un techo durante la lluvia." +#: lang/json/ARMOR_from_json.py +msgid "unitard" +msgid_plural "unitards" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for unitard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment resembling a crew necked leotard combined with " +"leggings. Commonly used by gymnasts, dancers and equestrian vaulters, the " +"unitard provides overall coverage with great flexibility." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "zentai" +msgid_plural "zentais" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for zentai +#: lang/json/ARMOR_from_json.py +msgid "" +"Short for 'zenshin taitsu', a zentai is a form fitting full body nylon and " +"spandex garment. Though it covers your face, you can see through the " +"integrated hood. With a couple of these and some friends and you could put " +"on some kabuki." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of bone arm guards" msgid_plural "pairs of bone arm guards" @@ -16150,6 +16709,161 @@ msgid "" "direct skin contact." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming trunks" +msgid_plural "pairs of swimming trunks" +msgstr[0] "bañador de hombre" +msgstr[1] "bañadores de hombre" + +#. ~ Description for pair of swimming trunks +#: lang/json/ARMOR_from_json.py +msgid "A pair of swimming trunks, with netting." +msgstr "Un bañador de hombre, con malla interior." + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit" +msgid_plural "wetsuits" +msgstr[0] "traje de buceo" +msgstr[1] "trajes de buceo" + +#. ~ Description for wetsuit +#: lang/json/ARMOR_from_json.py +msgid "A full-body neoprene wetsuit." +msgstr "Un traje de neopreno de cuerpo entero." + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit hood" +msgid_plural "wetsuit hoods" +msgstr[0] "capucha acuática" +msgstr[1] "capuchas acuáticas" + +#. ~ Description for wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "A neoprene hood, commonly worn by divers." +msgstr "Una capucha de neopreno, generalmente utilizada por buzos." + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit hood" +msgid_plural "survivor wetsuit hoods" +msgstr[0] "capucha acuática de supervivencia" +msgstr[1] "capuchas acuáticas de supervivencia" + +#. ~ Description for survivor wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "" +"A customized armored neoprene and Kevlar hood, very strong and durable." +msgstr "" +"Es una capucha personalizada de neopreno reforzada con kevlar, muy " +"resistente y duradera." + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit" +msgid_plural "survivor wetsuits" +msgstr[0] "traje acuático de supervivencia" +msgstr[1] "trajes acuáticos de supervivencia" + +#. ~ Description for survivor wetsuit +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, hand-built combination armor made from a cut-down bulletproof" +" vest and a reinforced neoprene wetsuit. Protects from the elements as well" +" as from harm." +msgstr "" +"Es un traje ligero hecho a mano, es una combinación entre un chaleco " +"antibalas cortado y un traje acuático de neopreno reforzado. Protege tanto " +"del ambiente como del daño." + +#: lang/json/ARMOR_from_json.py +msgid "pair of survivor wetsuit gloves" +msgid_plural "pairs of survivor wetsuit gloves" +msgstr[0] "par de guantes acuáticos de supervivencia" +msgstr[1] "pares de guantes acuáticos de supervivencia" + +#. ~ Description for pair of survivor wetsuit gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" +" wear while providing maximum protection under extreme conditions." +msgstr "" +"Un par de guantes personalizados de neopreno reforzados con kevlar. Están " +"modificados para ser cómodos y brindar la máxima protección en condiciones " +"extremas." + +#: lang/json/ARMOR_from_json.py +msgid "spring suit" +msgid_plural "spring suits" +msgstr[0] "traje acuático corto" +msgstr[1] "trajes acuáticos cortos" + +#. ~ Description for spring suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A long-sleeved spring wetsuit with pink color details and cleavage-" +"enhancing, hip-accentuating construction. Not as protective as a full-body " +"suit, but also less restrictive." +msgstr "" +"Es un traje de neopreno corto con mangas largas y detalles en rosa, y " +"entallado a la cadera y el escote. No protege tanto como el traje largo, " +"pero es más cómodo." + +#: lang/json/ARMOR_from_json.py +msgid "faraday shark suit" +msgid_plural "faraday shark suits" +msgstr[0] "traje anti-tiburón faraday" +msgstr[1] "trajes anti-tiburón faraday" + +#. ~ Description for faraday shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It has been conductively interconnected, protecting against " +"electricity." +msgstr "" +"Un traje entero de cota de malla que usan los buzos para protegerse contra " +"las mordidas de tiburón. Ha sido interconectado conductivamente, lo que " +"brinda protección contra la electricidad." + +#: lang/json/ARMOR_from_json.py +msgid "shark suit" +msgid_plural "shark suits" +msgstr[0] "traje anti-tiburón" +msgstr[1] "trajes anti-tiburón" + +#. ~ Description for shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It comes with attached plastic helmet and booties." +msgstr "" +"Un traje entero de cota de malla que usan los buzos para protegerse contra " +"las mordidas de tiburón. Viene con un casco de plástico y botas." + +#: lang/json/ARMOR_from_json.py +msgid "pair of swim goggles" +msgid_plural "pairs of swim goggles" +msgstr[0] "par de gafas de nadar" +msgstr[1] "pares de gafas de nadar" + +#. ~ Description for pair of swim goggles +#: lang/json/ARMOR_from_json.py +msgid "A small pair of goggles made for swimming." +msgstr "Un par de gafas pequeñas para nadar." + +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming gloves" +msgid_plural "pairs of swimming gloves" +msgstr[0] "par de guantes de nado" +msgstr[1] "pares de guantes de nado" + +#. ~ Description for pair of swimming gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of very flexible neoprene-silicone rubber gloves, suitable for " +"underwater use." +msgstr "" +"Es un par de guantes muy flexibles de neopreno y goma de silicona. Perfectos" +" para usar debajo del agua." + #: lang/json/ARMOR_from_json.py msgid "helmet netting" msgid_plural "helmet nettings" @@ -16774,6 +17488,54 @@ msgid_plural "shotgun bandoliers" msgstr[0] "bandolera de escopeta" msgstr[1] "bandoleras de escopeta" +#: lang/json/ARMOR_from_json.py +msgid "technomancer's toolbelt" +msgid_plural "technomancer's toolbelts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for technomancer's toolbelt +#: lang/json/ARMOR_from_json.py +msgid "" +"A custom-built leather utility belt that instantly creates any tool that you" +" reach for. Activate to sheathe/draw a weapon." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "seven league boots" +msgid_plural "pairs of seven league boots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for seven league boots +#. ~ Description for boots of haste +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, they look like they've seen a lot of use and will likely see a lot " +"more. They make your movement a lot less work." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "boots of haste" +msgid_plural "pairs of boots of haste" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/ARMOR_from_json.py +msgid "boots of grounding" +msgid_plural "pairs of boots of grounding" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for boots of grounding +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of leather with " +"small engraved runes seemingly filled with rubber. When worn, you are " +"immune to damage from electricity." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "copper infusion bracelet" msgid_plural "copper infusion bracelets" @@ -16796,7 +17558,7 @@ msgstr[1] "" #. ~ Description for copper circlet #: lang/json/ARMOR_from_json.py msgid "" -"A wooden band with copper trimmings to be worn on the head. Touching your " +"A wooden band with copper trimmings to be worn on the head. Touching your " "temples with it on makes you feel very calm." msgstr "" @@ -17456,7 +18218,7 @@ msgstr[1] "MCB Sistema de ocultamiento" msgid "" "This high-power system uses a set of cameras and LEDs to make the user blend" " into their surroundings, rendering them fully invisible to eyes and optical" -" sensors. However, this does't prevent detection from other means such as " +" sensors. However, this doesn't prevent detection from other means such as " "infrared, sonar, etc." msgstr "" @@ -17558,9 +18320,9 @@ msgstr[1] "MCB Quemador de etanol" #. ~ Description for Ethanol Burner CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A reactor that burns alcohol as fuel in an extremely efficient reaction. " -"However, the user will still suffer the inebriating effects of the " -"substance." +"A reactor that burns alcohol as fuel in an extremely efficient reaction. It" +" can store up to 500ml and accept ethanol, methanol and denatured aclohol as" +" fuel." msgstr "" #: lang/json/BIONIC_ITEM_from_json.py @@ -17570,8 +18332,7 @@ msgstr[0] "MCB Aero-evaporador" msgstr[1] "MCB Aero-evaporadores" #. ~ Description for Aero-Evaporator CBM -#. ~ Description for Aero-Evaporator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "This unit draws moisture from the surrounding air, which then is poured from" " a fingertip in the form of water. It may fail in very dry environments." @@ -17616,7 +18377,7 @@ msgstr[1] "MCB Distorsión facial" #: lang/json/BIONIC_ITEM_from_json.py msgid "" "Through controlled application of electrochemical impulses, this bionic " -"mudule lets the user alter their facial structure so as to subtly affect the" +"module lets the user alter their facial structure so as to subtly affect the" " reactions of others. This grants a bonus to all social interactions." msgstr "" @@ -17642,10 +18403,10 @@ msgstr[1] "MCB Dedo-hackeador" #. ~ Description for Fingerhack CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A miniature electrohack, surgically embedded in a finger of the right hand. " -"This is an all-purpose hacking unit used to override control panels and the " -"like, but not computers. Computer proficiency is important, and a failed " -"use may cause damage." +"A miniature electrohack, surgically embedded in a finger of the right hand." +" This is an all-purpose hacking unit used to override control panels and " +"the like, but not computers. Computer proficiency is important, and a " +"failed use may cause damage." msgstr "" #: lang/json/BIONIC_ITEM_from_json.py @@ -17939,8 +18700,7 @@ msgstr[0] "MCB Generador artificial de noche" msgstr[1] "MCB Generador artificial de noche" #. ~ Description for Artificial Night Generator CBM -#. ~ Description for Artificial Night Generator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "When active, this bionic eliminates all light within a 15 tile radius " "through destructive interference." @@ -18012,7 +18772,7 @@ msgstr[1] "MCB Interfaz Mk. II de armadura de poder" msgid "" "Interfaces the user's bionic power system with the internal charging port on" " suits of power armor, allowing them to draw from the user's bionic power " -"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " +"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " "DoubleTech Inc., to meet the popularity of the Mk. II power armor series." msgstr "" @@ -18559,7 +19319,7 @@ msgstr[1] "Cosas Metálicas Picantes" #. ~ Description for Itchy Metal Thing #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"You can't recognise what this is supposed to be, but it's a very awkward " +"You can't recognize what this is supposed to be, but it's a very awkward " "thing to have in one's body." msgstr "" @@ -18571,8 +19331,7 @@ msgstr[1] "" #. ~ Description for Glowy Thing #: lang/json/BIONIC_ITEM_from_json.py -msgid "" -"It's a... thing? And it glows, at least it did when it was plugged in." +msgid "It's a… thing? And it glows, at least it did when it was plugged in." msgstr "" #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py @@ -19197,8 +19956,8 @@ msgstr[1] "Servir al Hombre" #. ~ Description for To Serve Man #: lang/json/BOOK_from_json.py -msgid "It's... it's a cookbook!" -msgstr "Es... ¡un libro de recetas!" +msgid "It's… it's a cookbook!" +msgstr "" #: lang/json/BOOK_from_json.py msgid "Cucina Italiana" @@ -19308,11 +20067,8 @@ msgstr[1] "PE050 \"Alpha\": Informe Preliminar" msgid "" "This sheaf of papers-dated two weeks before all this started-describes some " "new chemical formula, and its effects on human subjects. It's stamped " -"\"APPROVED\"..." +"\"APPROVED\"…" msgstr "" -"Este manojo de artículos -con fecha dos semanas antes de que empiece todo " -"esto- describe algunas fórmulas químicas nuevas y sus efectos sobre humanos." -" Tiene un sello que dice \"APROBADO\"..." #: lang/json/BOOK_from_json.py msgid "lab journal-Dionne" @@ -19342,8 +20098,8 @@ msgstr[1] "PE065 \"Chimera\": Mejores Prácticas" #: lang/json/BOOK_from_json.py msgid "" "This sheaf of papers describes a new chemical formula in detail and supplies" -" instructions for its use as some sort of ... crowd-control catalyst? That " -"can't be right..." +" instructions for its use as some sort of… crowd-control catalyst? That " +"can't be right…" msgstr "" #: lang/json/BOOK_from_json.py @@ -19357,12 +20113,8 @@ msgstr[1] "registros de laboratorio-Smythe" msgid "" "This team logbook details several varieties of mutagenic experiments, " "focusing on those derived from flesh contaminated with XE037. The results " -"look promising but the procurement methods seem awfully vague..." +"look promising but the procurement methods seem awfully vague…" msgstr "" -"Este registro del equipo de trabajo detalla diversas variedades de " -"experimentos con mutágenos, centrándose en aquellos derivados de carne " -"contaminada con XE037. Los resultados son prometedores pero los métodos de " -"obtención parecen muy confusos..." #: lang/json/BOOK_from_json.py msgid "standpipe maintenance log" @@ -19375,11 +20127,8 @@ msgstr[1] "registros de mantenimiento de tuberías" msgid "" "This binder details the scheduled maintenance for several plumbing systems " "throughout the facility. However, some of the log sheets seem to be filled " -"with...a chemical formula?" +"with… a chemical formula?" msgstr "" -"Esta carpeta detalla el mantenimiento programada para varios sistemas de " -"cañerías de toda la instalación. Sin embargo, algunas registros parecen " -"estar llenos de... ¿fórmulas químicas?" #: lang/json/BOOK_from_json.py msgid "chemical reference-CLASSIFIED" @@ -19429,11 +20178,8 @@ msgstr[1] "PE023 \"Medicinal\": Aplicación y Descubrimientos" #: lang/json/BOOK_from_json.py msgid "" "This binder of highly technical papers describes some new chemical formula, " -"and its effects on human subjects. It's stamped \"APPROVED\"...." +"and its effects on human subjects. It's stamped \"APPROVED\"…" msgstr "" -"Esta carpeta con artículos altamente técnicos describe algunas fórmulas " -"químicas nuevas y sus efectos en los humanos. Tiene un sello que dice " -"\"APROBADO\"..." #: lang/json/BOOK_from_json.py msgid "PE070 \"Raptor\": Proposal" @@ -19758,11 +20504,8 @@ msgstr[1] "registros de laboratorio-Herrera" msgid "" "This hefty binder contains a multitude of diagrams and technical " "specifications for various electronic materials. Some of the diagrams use " -"symbols you've not seen before..." +"symbols you've not seen before…" msgstr "" -"Esta carpeta robusta contiene muchísimos diagramas y especificaciones " -"técnicas de varios materiales electrónicos. Algunos de los diagramas usan " -"símbolos que nunca viste en tu vida..." #: lang/json/BOOK_from_json.py msgid "2XI design binder-CLASSIFIED" @@ -19836,13 +20579,13 @@ msgstr[1] "" #. ~ Description for nearby fire #. ~ Description for muscle #. ~ Description for wind +#. ~ Description for metabolism #. ~ Description for a smoking device and a source of flame #. ~ Description for abstract map #. ~ Description for seeing this is a bug #. ~ Description for weapon #: lang/json/BOOK_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py #: lang/json/furniture_from_json.py lang/json/skill_from_json.py msgid "seeing this is a bug" msgid_plural "seeing this is a bugs" @@ -20202,13 +20945,9 @@ msgstr[1] "El Ayudante del Cargador a Mano" #: lang/json/BOOK_from_json.py msgid "" "Everything you could ever want to know about handloading ammunition, sealed " -"with a ...childproof cover. Apparently a liability thing, because the " -"chapter on explosive rounds covers them in excellent detail too." +"with a… childproof cover. Apparently a liability thing, because the chapter" +" on explosive rounds covers them in excellent detail too." msgstr "" -"Todo lo que siempre quisiste saber acerca de la recarga manual de las " -"municiones, cerradas con... cubierta a prueba de niños. Parece que es algo " -"confiable, porque en el capítulo sobre balas explosivas habla de ellas con " -"lujo de detalle." #: lang/json/BOOK_from_json.py msgid "Rivtech design binder" @@ -20778,7 +21517,7 @@ msgid "" "This lab notebook is filled with the collective discoveries and refinements " "of a research team dedicated to nuclear energy. You don't think you're " "ready to start a second Cataclysm, but the general information provided " -"might be useful..." +"might be useful…" msgstr "" #: lang/json/BOOK_from_json.py @@ -22218,6 +22957,34 @@ msgid "" " that the author's real name is Fereidoun M. Esfandiary." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Bastiat Collection\", a large collection of essays " +"by Frederic Bastiat." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Anarchy, State, and Utopia\" by Robert Nozick, one of " +"the most influential books of modern libertarianism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Socialism\" by Ludwig von Mises, a critical examination " +"of socialism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The ABC of Communism\" by Nikolai Bukharin, one of the " +"most influential books of early Marxism-Leninism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Anti-Capitalist Mentality\" by Ludwig von Mises." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "phone book" msgid_plural "phone books" @@ -22301,8 +23068,8 @@ msgstr[1] "libros de contabilidad de corporaciones" #. ~ Description for corporate accounting ledger #: lang/json/BOOK_from_json.py -msgid "If you knew what to look for something might stand out..." -msgstr "Si supieras qué buscar, tal vez encontrarías algo..." +msgid "If you knew what to look for something might stand out…" +msgstr "" #: lang/json/BOOK_from_json.py msgid "patient treatment records" @@ -22598,6 +23365,106 @@ msgstr "Esta es una copia de \"El conde de Montecristo\" de Dumas." msgid "This is a copy of \"The Secret Garden\" by Frances Burnett." msgstr "Esta es una copia de \"El jardín secreto\" de Frances Burnett." +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lieutenant Hornblower\" by C.S. Forester." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Master and Commander\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Warden\" by Anthony Trollope." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Far Side of the World\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"HMS Surprise\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Barchester Towers\" by Anthony Trollope." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Land Ironclads\" by H.G. Wells." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Great Boer War\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Crime of the Congo\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Parasite\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"By Stroke of Sword\" by Andrew Balfour." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Secret Agent\" by Joseph Conrad." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lord Jim\" by Joseph Conrad." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Vanity Fair\" by William Makepeace Thackeray." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Luck of Barry Lyndon\" by William Makepeace " +"Thackeray." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"North and South\" by Elizabeth Gaskell." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Mayor of Casterbridge\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Wessex Tales\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Far from the Madding Crowd\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Captains Courageous\" by Rudyard Kipling." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Canterbury Tales\" by Geoffrey Chaucer." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Harold, the Last of the Saxons\" by Edward Bulwer-" +"Lytton." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Mr Midshipman Easy\" by Frederick Marryat." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Peter Simple\" by Frederick Marryat." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "collector's edition book" msgid_plural "collector's edition book" @@ -23699,11 +24566,12 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "Black Dragons: Swamp Ruins" -msgid_plural "Black Dragons: Swamp Ruinss" +msgid_plural "copies of Black Dragons: Swamp Ruins" msgstr[0] "" msgstr[1] "" -#. ~ Description for Black Dragons: Swamp Ruins +#. ~ Description for {'str': 'Black Dragons: Swamp Ruins', 'str_pl': 'copies +#. of Black Dragons: Swamp Ruins'} #: lang/json/BOOK_from_json.py msgid "" "This book details black dragons: The most evil of dragons, who live in ruins" @@ -23714,28 +24582,61 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "A Beginner's Guide to Alchemy" -msgid_plural "A Beginner's Guide to Alchemys" +msgid_plural "copies of A Beginner's Guide to Alchemy" msgstr[0] "" msgstr[1] "" -#. ~ Description for A Beginner's Guide to Alchemy +#. ~ Description for {'str': "A Beginner's Guide to Alchemy", 'str_pl': +#. "copies of A Beginner's Guide to Alchemy"} #: lang/json/BOOK_from_json.py msgid "A paperback tome for the art of liquid magic, alcohol not included." msgstr "" #: lang/json/BOOK_from_json.py msgid "A Soulbinder's Guide to Necromancy" -msgid_plural "A Soulbinder's Guide to Necromancys" +msgid_plural "copies of A Soulbinder's Guide to Necromancy" msgstr[0] "" msgstr[1] "" -#. ~ Description for A Soulbinder's Guide to Necromancy +#. ~ Description for {'str': "A Soulbinder's Guide to Necromancy", 'str_pl': +#. "copies of A Soulbinder's Guide to Necromancy"} #: lang/json/BOOK_from_json.py msgid "" "A paperback tome for the art of binding undead creatures' souls to dolls, " "along with emulating their healing factor." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "Magitek Illustrated" +msgid_plural "copies of Magitek Illustrated" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'Magitek Illustrated', 'str_pl': 'copies of +#. Magitek Illustrated'} +#: lang/json/BOOK_from_json.py +msgid "" +"A paperback tome for the art of combining modern technology with magic. " +"There is a disclaimer on the back: `Cannith Industries bears no " +"responsibility for malfunctions or accidents for any products mentioned " +"herein`." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "The Weapons of Asgard and Beyond" +msgid_plural "copies of The Weapons of Asgard and Beyond" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'The Weapons of Asgard and Beyond', 'str_pl': +#. 'copies of The Weapons of Asgard and Beyond'} +#: lang/json/BOOK_from_json.py +msgid "" +"An ornate book which appears to be written in Norse runes. Based on the " +"detailed illustrations, it appears to contain information about crafting " +"numerous weapons used by various Gods." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "SugarKin flyer" msgid_plural "SugarKin flyers" @@ -23745,13 +24646,13 @@ msgstr[1] "" #. ~ Description for SugarKin flyer #: lang/json/BOOK_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" +"A flyer for some kind of candy. It shows a picture of a gleaming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" " On the back of the flyer you can see some hastily scribbled words:\n" -" \"Hello my child and welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" +" \"Hello, my child, welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" "1) Never ever get into contact with water, it would melt you! \n" -"2) Avoid humans wiht clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" -"3) Learn how to make caramel ointement, it's the only way to fix your body if you get hurt.\n" -" There's many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" +"2) Avoid humans with clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" +"3) Learn how to make caramel ointment, it's the only way to fix your body if you get hurt.\n" +" There are many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" " I love you,\n" " - F. \"." msgstr "" @@ -24234,7 +25135,7 @@ msgstr "" #. ~ Description for acetylene #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flammable gas that explodes under pressure. Combined with oxygen, " +"A flammable gas that explodes under pressure. Combined with oxygen, " "acetylene makes a great welding gas." msgstr "" @@ -25230,6 +26131,41 @@ msgstr "" "Es el estómago de una criatura humanoide grande. Es sorprendentemente " "duradero." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of human fat" +msgid_plural "chunks of human fat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of human fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly harvested from a human body." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human tallow" +msgstr "" + +#. ~ Description for human tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered human fat. It will remain " +"edible for a very long time, and can be used as an ingredient in many foods " +"and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human lard" +msgstr "" + +#. ~ Description for human lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered human fat. It will remain edible for a" +" very long time, and can be used as an ingredient in many foods and " +"projects." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "human flesh" msgid_plural "human fleshes" @@ -25279,6 +26215,61 @@ msgid "" "pinch." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant meat" +msgid_plural "chunks of mutant meat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Meat from a heavily mutated animal. It has an unsettling loose and spongy " +"texture, but smells… mostly normal. There are strange tangles and " +"formations in it that don't appear natural at all: bits of bone and hair " +"crusted up inside the muscle, as if trying to form another organism. Still," +" seems digestible at least, if you cook it and remove the worst parts." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "scrap of mutant meat" +msgid_plural "scraps of mutant meat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for scrap of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A tiny scrap of meat from a heavily mutated animal. It smells a bit odd, " +"and has bits of hair and bone mixed in that seem like they grew inside the " +"muscle itself. Still, seems digestible at least, if you cook it and remove " +"the worst parts." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid meat" +msgstr "" + +#. ~ Description for mutant humanoid meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered from the body of a heavily mutated creature that was " +"unsettlingly humanoid in appearance. It has odd bits of fur and other " +"tissue lodged in it that clearly don't belong. You'd have to be crazy or " +"starving to eat this." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked cretin" +msgstr "" + +#. ~ Description for cooked cretin +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Cooked meat from a heavily mutated humanoid. Now that the worst bits have " +"been picked out, it's probably digestible, if not very appetizing." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "butchery refuse" msgid_plural "butchery refuse" @@ -25311,6 +26302,24 @@ msgid_plural "cooked scraps of meat" msgstr[0] "" msgstr[1] "" +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked mutant meat" +msgstr "" + +#. ~ Description for cooked mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"This is a cooked chunk of meat from a mutated animal. It has an unsettling," +" spongy texture, but otherwise tastes… mostly normal. Hopefully you got all" +" the bits of hair and bone out…" +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked scrap of mutant meat" +msgid_plural "cooked scraps of mutant meat" +msgstr[0] "" +msgstr[1] "" + #: lang/json/COMESTIBLE_from_json.py msgid "raw offal" msgstr "menudencias crudas" @@ -25532,8 +26541,8 @@ msgstr[1] "" #. ~ Description for raw brains #: lang/json/COMESTIBLE_from_json.py -msgid "The brain from an animal. You wouldn't want to eat this raw..." -msgstr "Es el cerebro de un animal. No vas a querer comerte esto crudo..." +msgid "The brain from an animal. You wouldn't want to eat this raw…" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "cooked brains" @@ -25587,8 +26596,8 @@ msgstr "" #. ~ Description for cooked sweetbread #: lang/json/COMESTIBLE_from_json.py -msgid "Normally a delicacy, it needs a little... something." -msgstr "Comúnmente, es una exquisitez, pero le falta un poco de... algo." +msgid "Normally a delicacy, it needs a little… something." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "bone" @@ -25648,6 +26657,78 @@ msgstr "" "echarse a perder, y puede ser usado como ingrediente en muchas comidas y " "proyectos." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant fat" +msgid_plural "chunks of mutant fat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of mutant fat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered fat from a heavily mutated animal. You could eat it raw, " +"but it is better used as an ingredient in other foods or projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant tallow" +msgstr "" + +#. ~ Description for mutant tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"animal. It will remain edible for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant lard" +msgstr "" + +#. ~ Description for mutant lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant animal. It " +"will remain edible for a very long time, and can be used as an ingredient in" +" many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant humanoid fat" +msgid_plural "chunks of mutant humanoid fat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of mutant humanoid fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly butchered fat from a heavily mutated humanoid." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid tallow" +msgstr "" + +#. ~ Description for mutant humanoid tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"humanoid. It won't rot for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid lard" +msgstr "" + +#. ~ Description for mutant humanoid lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant humanoid. It" +" won't rot for a very long time, and can be used as an ingredient in many " +"foods and projects." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "chunk of tainted meat" msgid_plural "chunks of tainted meat" @@ -25845,14 +26926,8 @@ msgid "" "covered in ribbed grooves and easily the size of your head. It's still full" " of, er, whatever passes for blood in jabberwocks, and is heavy in your " "hands. After everything you've seen lately, you can't help but remember old" -" sayings about eating the hearts of your enemies..." +" sayings about eating the hearts of your enemies…" msgstr "" -"Es una enorme masa gruesa de carne que recuerda superficialmente al corazón " -"de un mamífero, cubierto de estrías y del tamaño de tu cabeza. Sigue estando" -" lleno de...., eh... lo que sea que sirva de sangre en un jabberwock, y se " -"siente pesado en tus manos. Después de todo lo que viste por estos días, no " -"podés evitar recordar ese antiguo dicho de comerse el corazón de tus " -"enemigos..." #: lang/json/COMESTIBLE_from_json.py msgid "desiccated putrid heart" @@ -25866,7 +26941,7 @@ msgid "" "looks *disgusting*." msgstr "" -#: lang/json/COMESTIBLE_from_json.py +#: lang/json/COMESTIBLE_from_json.py lang/json/ammunition_type_from_json.py msgid "raw milk" msgid_plural "raw milk" msgstr[0] "" @@ -26192,7 +27267,7 @@ msgstr[1] "" #. ~ Description for chicory brew #: lang/json/COMESTIBLE_from_json.py msgid "" -"Toasted, ground chicory root steeped in boiling water. This bitter brew is " +"Toasted, ground chicory root steeped in boiling water. This bitter brew is " "used as a coffee substitute, though it tastes nothing like coffee." msgstr "" @@ -27132,11 +28207,12 @@ msgstr "Son rodajas de piña enlatados con agua. Bastante sabrosos." #: lang/json/COMESTIBLE_from_json.py msgid "lemonade drink mix" -msgid_plural "servings of lemonade drink mix" -msgstr[0] "sobre de limonada en polvo" -msgstr[1] "sobres de limonada en polvo" +msgid_plural "lemonade drink mix" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for lemonade drink mix +#. ~ Description for {'str': 'lemonade drink mix', 'str_pl': 'lemonade drink +#. mix'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Tangy yellow powder that smells strongly of lemons. Can be mixed with water" @@ -27957,7 +29033,7 @@ msgstr[1] "golosinas de mantequilla de cacahuetes" #. ~ Description for peanut butter candy #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of peanut butter cups... your favorite!" +msgid "A handful of peanut butter cups… your favorite!" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -28082,10 +29158,8 @@ msgstr "Es un delicioso bizcocho de chocolate. Tiene todo el glaseado. Todo." #: lang/json/COMESTIBLE_from_json.py msgid "" "A cake coated in the thickest icing you've ever seen. Someone has written " -"guff in quotation marks on it..." +"guff in quotation marks on it…" msgstr "" -"Un bizcocho bañado en el glaseado más grueso que viste en tu vida. Alguien " -"le escribió chorradas con signos de pregunta arriba..." #: lang/json/COMESTIBLE_from_json.py msgid "chocolate-covered coffee bean" @@ -28130,9 +29204,8 @@ msgstr[1] "medallones de menta" #. ~ Description for peppermint patty #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of soft chocolate-covered peppermint patties... yum!" +msgid "A handful of soft chocolate-covered peppermint patties… yum!" msgstr "" -"Es un puñado de medallones de menta recubiertos con chocolate... ¡rico!" #: lang/json/COMESTIBLE_from_json.py msgid "Necco wafers" @@ -29638,9 +30711,9 @@ msgstr[1] "" #. ~ Description for antibiotics #: lang/json/COMESTIBLE_from_json.py msgid "" -"A prescription-strength antibacterial medication designed to prevent or stop" -" the spread of infection. It's the quickest and most reliable way to cure " -"any infections you might have. One dose lasts twelve hours." +"A strong antibacterial medication designed to prevent or stop the spread of " +"infection. It's the safest way to cure any infections you might have. One " +"dose lasts twelve hours." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -30601,8 +31674,8 @@ msgstr[1] "" #. ~ Description for antiseptic soaked rag #: lang/json/COMESTIBLE_from_json.py msgid "" -"A rag soaked in antiseptic. Useful for light wounds, probaby won't help with" -" deep bites." +"A rag soaked in antiseptic. Useful for light wounds, probaby won't help " +"with deep bites." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -30661,13 +31734,8 @@ msgid "" "oily liquid that shifts from black to purple at unpredictable intervals, " "flecked with tiny gray dots. Given the place you got it from, it's either " "very potent, or highly experimental. Holding it, all the little aches and " -"pains seem to fade, just for a moment..." +"pains seem to fade, just for a moment…" msgstr "" -"Es una cápsula roja de gel del tamaño de tu pulgar, rellena con un líquido " -"espeso y aceitoso que cambia entre el púrpura y el negro a intervalos " -"impredecibles, lleno de lunares grises pequeños. Pensando el lugar de donde " -"lo sacaste, puede ser muy potente, o muy experimental. Al sostenerlo, todos " -"los pequeños dolores parecen desaparecer, solo por un momento..." #: lang/json/COMESTIBLE_from_json.py msgid "cattail jelly" @@ -30682,6 +31750,19 @@ msgid "" " painkiller." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "destragon" +msgstr "" + +#. ~ Description for destragon +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A prescription-strength antibacterial medication designed to prevent or stop" +" the spread of infection. It contains nearly toxic levels of antibiotics, " +"but can treat any bacterial infections you may encounter. One dose lasts " +"twelve hours." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "MRE entree" msgstr "" @@ -31081,11 +32162,9 @@ msgstr "sabor abstracto de mutágeno iv" #. ~ Description for abstract iv mutagen flavor #: lang/json/COMESTIBLE_from_json.py msgid "" -"A super-concentrated mutagen. You need a syringe to inject it... if you " +"A super-concentrated mutagen. You need a syringe to inject it… if you " "really want to?" msgstr "" -"Un mutágeno super-concentrado. Necesitas una jeringa para inyectarlo... si " -"realmente quieres hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "mutagenic serum" @@ -31099,10 +32178,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen strongly resembling blood. You need a syringe " -"to inject it... if you really want to?" +"to inject it… if you really want to?" msgstr "" -"Un mutágeno super-concentrado muy similar a la sangre. Necesitas una jeringa" -" para inyectarlo... si realmente quieres hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "beast serum" @@ -31112,7 +32189,7 @@ msgstr "suero de bestia" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as red as a matador's cape. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31123,10 +32200,8 @@ msgstr "suero de pájaro" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the pre-cataclysmic skies. You " -"need a syringe to inject it... if you really want to?" +"need a syringe to inject it… if you really want to?" msgstr "" -"Un mutágeno super-concentrado con el color de los cielos pre-cataclísmicos. " -"Necesitas una jeringa para inyectarlo... si realmente quieres hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "cattle serum" @@ -31136,10 +32211,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of grass. You need a syringe to " -"inject it... if you really want to?" +"inject it… if you really want to?" msgstr "" -"Un mutágeno super-concentrado con el color del verde hierba. Necesitas una " -"jeringa para inyectarlo... si realmente quieres hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "cephalopod serum" @@ -31149,10 +32222,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as black as ink. You need a syringe to inject " -"it... if you really want to?" +"it… if you really want to?" msgstr "" -"Es un mutágeno superconcentrado tan negro como la tinta. Necesitas una " -"jeringa para inyectarlo... si realmente quieres hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "chimera serum" @@ -31162,7 +32233,7 @@ msgstr "suero de quimera" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that churns with iridescence. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31173,7 +32244,7 @@ msgstr "suero elf-a" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a striking sylvan green. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31184,7 +32255,7 @@ msgstr "suero felino" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen, yellow and highly reflective. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31195,7 +32266,7 @@ msgstr "suero de pescado" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the ocean, with white foam at the " -"top. You need a syringe to inject it... if you really want to?" +"top. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31206,7 +32277,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a beautiful amber color. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31217,7 +32288,7 @@ msgstr "suero de lagarto" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that shifts between various shades of green. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31228,7 +32299,7 @@ msgstr "suero de lobuno" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as white as a full moon. You need a syringe to" -" inject it... if you really want to?" +" inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31239,7 +32310,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like a mixture of bodily fluids. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31250,7 +32321,7 @@ msgstr "suero de planta" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like pureed spinach. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31261,7 +32332,7 @@ msgstr "suero de raptor" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to shift slightly whenever you look " -"at it. You need a syringe to inject it... if you really want to?" +"at it. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31272,7 +32343,7 @@ msgstr "suero de rata" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a rather unappealing beige. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31283,7 +32354,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks very much like the black ooze in the" -" zombies' eyes. You need a syringe to inject it... if you really want to?" +" zombies' eyes. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31294,7 +32365,7 @@ msgstr "suero de araña" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen with pale filaments suspended in it. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31305,7 +32376,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to recoil from the light. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31316,10 +32387,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's the color of honey, and is just as " -"thick. You need a syringe to inject it... if you really want to?" +"thick. You need a syringe to inject it… if you really want to?" msgstr "" -"Es un mutágeno superconcentrado del color de la miel, e igual de espeso. " -"Necesitás una jeringa para inyectarlo... si realmente querés hacerlo." #: lang/json/COMESTIBLE_from_json.py msgid "mouse serum" @@ -31329,7 +32398,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen resembling liquefied metal. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31344,10 +32413,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A thick, soupy red liquid. It looks and smells disgusting, and seems to " -"bubble with an intelligence of its own..." +"bubble with an intelligence of its own…" msgstr "" -"Es un líquido espeso y rojo. Tiene una apariencia y olor desagradables, y " -"parece bullir con inteligencia propia..." #: lang/json/COMESTIBLE_from_json.py msgid "alpha mutagen" @@ -31544,23 +32611,23 @@ msgstr "" "probablemente es mucho más seguro de beber ahora que antes." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of pine nuts" -msgid_plural "handfuls of pine nuts" +msgid "pine nuts" +msgid_plural "pine nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of pine nuts +#. ~ Description for {'str': 'pine nuts', 'str_pl': 'pine nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of tasty crunchy nuts from a pinecone." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of junipers" -msgid_plural "handful of junipers" +msgid "junipers" +msgid_plural "junipers" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of junipers +#. ~ Description for {'str': 'junipers', 'str_pl': 'junipers'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Junipers, for making gin and earthy flavors. Spicy, tastes similar to " @@ -31568,68 +32635,82 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pistachios" -msgid_plural "handfuls of shelled pistachios" +msgid "shelled pistachios" +msgid_plural "shelled pistachios" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled pistachios +#. ~ Description for {'str': 'shelled pistachios', 'str_pl': 'shelled +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of nuts from a pistachio tree, their shells have been removed." msgstr "Es un puñado de frutos secos del árbol del pistacho, sin cáscara." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pistachios" -msgid_plural "handfuls of roasted pistachios" -msgstr[0] "puñado de pistachos tostados" -msgstr[1] "puñados de pistachos tostados" +msgid "roasted pistachios" +msgid_plural "roasted pistachios" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted pistachios +#. ~ Description for {'str': 'roasted pistachios', 'str_pl': 'roasted +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an pistachio tree." msgstr "Es un puñado de frutos secos tostados del árbol del pistacho." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled almonds" -msgid_plural "handfuls of shelled almonds" +msgid "shelled almonds" +msgid_plural "shelled almonds" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled almonds +#. ~ Description for {'str': 'shelled almonds', 'str_pl': 'shelled almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of nuts from an almond tree, their shells have been removed." msgstr "Es un puñado de frutos secos del almendro, sin cáscara." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted almonds" -msgid_plural "handfuls of roasted almonds" -msgstr[0] "puñado de almendras tostadas" -msgstr[1] "puñados de almendras tostadas" +msgid "almond pulp" +msgid_plural "almond pulp" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for almond pulp +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Pulp left over after making almond milk. It's gritty and incredibly bland." +msgstr "" -#. ~ Description for handful of roasted almonds +#: lang/json/COMESTIBLE_from_json.py +msgid "roasted almonds" +msgid_plural "roasted almonds" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'roasted almonds', 'str_pl': 'roasted almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an almond tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cashews" -msgid_plural "handfuls of cashews" +msgid "cashews" +msgid_plural "cashews" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of cashews +#. ~ Description for {'str': 'cashews', 'str_pl': 'cashews'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of salty cashews." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pecans" -msgid_plural "handfuls of shelled pecans" +msgid "shelled pecans" +msgid_plural "shelled pecans" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled pecans +#. ~ Description for {'str': 'shelled pecans', 'str_pl': 'shelled pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of pecans which are a sub-species of hickory nuts, their shells " @@ -31637,45 +32718,45 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pecans" -msgid_plural "handfuls of roasted pecans" +msgid "roasted pecans" +msgid_plural "roasted pecans" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted pecans +#. ~ Description for {'str': 'roasted pecans', 'str_pl': 'roasted pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a pecan tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled peanuts" -msgid_plural "handful of shelled peanuts" +msgid "shelled peanuts" +msgid_plural "shelled peanuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled peanuts +#. ~ Description for {'str': 'shelled peanuts', 'str_pl': 'shelled peanuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Salty peanuts with their shells removed." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of beech nuts" -msgid_plural "handfuls of beech nuts" +msgid "beech nuts" +msgid_plural "beech nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of beech nuts +#. ~ Description for {'str': 'beech nuts', 'str_pl': 'beech nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of hard pointy nuts from a beech tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled walnuts" -msgid_plural "handfuls of shelled walnuts" -msgstr[0] "puñado de nueces sin cáscara" -msgstr[1] "puñados de nueces sin cáscara" +msgid "shelled walnuts" +msgid_plural "shelled walnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of shelled walnuts +#. ~ Description for {'str': 'shelled walnuts', 'str_pl': 'shelled walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a walnut tree, their shells have been " @@ -31683,23 +32764,24 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted walnuts" -msgid_plural "handfuls of roasted walnuts" -msgstr[0] "puñado de nueces tostadas" -msgstr[1] "puñados de nueces tostadas" +msgid "roasted walnuts" +msgid_plural "roasted walnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted walnuts +#. ~ Description for {'str': 'roasted walnuts', 'str_pl': 'roasted walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a walnut tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled chestnuts" -msgid_plural "handfuls of shelled chestnuts" +msgid "shelled chestnuts" +msgid_plural "shelled chestnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled chestnuts +#. ~ Description for {'str': 'shelled chestnuts', 'str_pl': 'shelled +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a chestnut tree, their shells have been " @@ -31707,23 +32789,25 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted chestnuts" -msgid_plural "handfuls of roasted chestnuts" -msgstr[0] "puñado de castañas tostadas" -msgstr[1] "puñados de castañas tostadas" +msgid "roasted chestnuts" +msgid_plural "roasted chestnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted chestnuts +#. ~ Description for {'str': 'roasted chestnuts', 'str_pl': 'roasted +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a chestnut tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hazelnuts" -msgid_plural "handfuls of shelled hazelnuts" +msgid "shelled hazelnuts" +msgid_plural "shelled hazelnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled hazelnuts +#. ~ Description for {'str': 'shelled hazelnuts', 'str_pl': 'shelled +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hazelnut tree, their shells have been " @@ -31731,45 +32815,47 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted edamame" -msgid_plural "handful of roasted edamame" +msgid "roasted edamame" +msgid_plural "roasted edamame" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted edamame +#. ~ Description for {'str': 'roasted edamame', 'str_pl': 'roasted edamame'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted edamame, a heart healthy snack." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted soy nuts" -msgid_plural "handful of roasted soy nuts" +msgid "roasted soy nuts" +msgid_plural "roasted soy nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted soy nuts +#. ~ Description for {'str': 'roasted soy nuts', 'str_pl': 'roasted soy nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted soybeans, often called soy nuts." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hazelnuts" -msgid_plural "handfuls of roasted hazelnuts" -msgstr[0] "puñado de avellanas tostadas" -msgstr[1] "puñados de avellanas tostadas" +msgid "roasted hazelnuts" +msgid_plural "roasted hazelnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted hazelnuts +#. ~ Description for {'str': 'roasted hazelnuts', 'str_pl': 'roasted +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hazelnut tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hickory nuts" -msgid_plural "handfuls of shelled hickory nuts" -msgstr[0] "puñado de nueces de pecana sin cáscara" -msgstr[1] "puñados de nueces de pecana sin cáscara" +msgid "shelled hickory nuts" +msgid_plural "shelled hickory nuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of shelled hickory nuts +#. ~ Description for {'str': 'shelled hickory nuts', 'str_pl': 'shelled +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hickory tree, their shells have been " @@ -31779,12 +32865,13 @@ msgstr "" "cáscara." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hickory nuts" -msgid_plural "handfuls of roasted hickory nuts" +msgid "roasted hickory nuts" +msgid_plural "roasted hickory nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted hickory nuts +#. ~ Description for {'str': 'roasted hickory nuts', 'str_pl': 'roasted +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hickory tree." msgstr "" @@ -31800,12 +32887,12 @@ msgstr "" "Es una deliciosa ambrosía de nuez de pecana. Una bebida digna de los dioses." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of acorns" -msgid_plural "handfuls of acorns" -msgstr[0] "puñado de bellotas" -msgstr[1] "puñados de bellotas" +msgid "acorns" +msgid_plural "acorns" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of acorns +#. ~ Description for {'str': 'acorns', 'str_pl': 'acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of acorns, still in their shells. Squirrels like them, but " @@ -31815,12 +32902,12 @@ msgstr "" "gustan, pero para ti no es bueno comerlas así como están." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted acorns" -msgid_plural "handfuls of roasted acorns" -msgstr[0] "puñado de bellotas tostadas" -msgstr[1] "puñados de bellotas tostadas" +msgid "roasted acorns" +msgid_plural "roasted acorns" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted acorns +#. ~ Description for {'str': 'roasted acorns', 'str_pl': 'roasted acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful roasted nuts from an oak tree." msgstr "" @@ -32421,11 +33508,12 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "soylent green powder" -msgid_plural "servings of soylent green powder" -msgstr[0] "soylent verde en polvo" -msgstr[1] "raciones de soylent verde en polvo" +msgid_plural "soylent green powder" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for soylent green powder +#. ~ Description for {'str': 'soylent green powder', 'str_pl': 'soylent green +#. powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein made out of people! While quite nutritious, it is " @@ -32473,11 +33561,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "protein powder" -msgid_plural "servings of protein powder" -msgstr[0] "proteína en polvo" -msgstr[1] "raciones de proteína en polvo" +msgid_plural "protein powder" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for protein powder +#. ~ Description for {'str': 'protein powder', 'str_pl': 'protein powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein. While quite nutritious, it is impossible to enjoy in " @@ -32551,67 +33639,67 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "Cítrico muy agrio. Se puede comer si quieres." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blueberries" -msgid_plural "handful of blueberries" +msgid "blueberries" +msgid_plural "blueberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of blueberries +#. ~ Description for {'str': 'blueberries', 'str_pl': 'blueberries'} #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "Son azules, pero eso no significa que sean de la realeza." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of strawberries" -msgid_plural "handful of strawberries" +msgid "strawberries" +msgid_plural "strawberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of strawberries +#. ~ Description for {'str': 'strawberries', 'str_pl': 'strawberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "Es una baya sabrosa y jugosa. A menudo crece silvestre en los campos." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cranberries" -msgid_plural "handful of cranberries" +msgid "cranberries" +msgid_plural "cranberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of cranberries +#. ~ Description for {'str': 'cranberries', 'str_pl': 'cranberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "Arándanos rojos y agrios. Buenos para la salud." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of raspberries" -msgid_plural "handful of raspberries" +msgid "raspberries" +msgid_plural "raspberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of raspberries +#. ~ Description for {'str': 'raspberries', 'str_pl': 'raspberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "Una frambuesa roja y dulce." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of huckleberries" -msgid_plural "handful of huckleberries" +msgid "huckleberries" +msgid_plural "huckleberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of huckleberries +#. ~ Description for {'str': 'huckleberries', 'str_pl': 'huckleberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "Son arándanos agrios, a menudo confundidos con las moras azules." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of mulberries" -msgid_plural "handful of mulberries" +msgid "mulberries" +msgid_plural "mulberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of mulberries +#. ~ Description for {'str': 'mulberries', 'str_pl': 'mulberries'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -32619,23 +33707,23 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of elderberries" -msgid_plural "handful of elderberries" +msgid "elderberries" +msgid_plural "elderberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of elderberries +#. ~ Description for {'str': 'elderberries', 'str_pl': 'elderberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of rose hips" -msgid_plural "handful of rose hips" +msgid "rose hips" +msgid_plural "rose hips" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of rose hips +#. ~ Description for {'str': 'rose hips', 'str_pl': 'rose hips'} #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "Es el fruto de una flor de rosa polinizada." @@ -32672,12 +33760,12 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "Una fruta cítrica, cuyo gusto va desde lo agrio hasta lo semidulce." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cherries" -msgid_plural "handful of cherries" -msgstr[0] "puñado de cerezas" -msgstr[1] "puñado de cerezas" +msgid "cherries" +msgid_plural "cherries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of cherries +#. ~ Description for {'str': 'cherries', 'str_pl': 'cherries'} #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "Una fruta dulce y roja que crece en árboles." @@ -32695,12 +33783,12 @@ msgstr "" "digestión." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of grapes" -msgid_plural "handful of grapes" +msgid "grapes" +msgid_plural "grapes" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of grapes +#. ~ Description for {'str': 'grapes', 'str_pl': 'grapes'} #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "" @@ -32753,12 +33841,12 @@ msgid "A large and very sweet fruit." msgstr "Una fruta grande y muy dulce." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blackberries" -msgid_plural "handful of blackberries" -msgstr[0] "puñado de zarzamoras" -msgstr[1] "puñado de zarzamoras" +msgid "blackberries" +msgid_plural "blackberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of blackberries +#. ~ Description for {'str': 'blackberries', 'str_pl': 'blackberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "Un primo oscuro de la frambuesa." @@ -32805,16 +33893,27 @@ msgstr "" " delicioso." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of apricots" -msgid_plural "handful of apricots" +msgid "apricots" +msgid_plural "apricots" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of apricots +#. ~ Description for {'str': 'apricots', 'str_pl': 'apricots'} #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "Una fruta de cáscara suave, parecida al melocotón." +#: lang/json/COMESTIBLE_from_json.py +msgid "cholla bud" +msgstr "" + +#. ~ Description for cholla bud +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Edible bud of a cholla cactus, with spines removed; the candy of the Mojave " +"indigenous peoples. Tastes similar to asparagus." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "cactus pad" msgstr "" @@ -33005,11 +34104,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "salsify" -msgid_plural "handfuls of salsify" +msgid_plural "salsify" msgstr[0] "" msgstr[1] "" -#. ~ Description for salsify +#. ~ Description for {'str': 'salsify', 'str_pl': 'salsify'} #: lang/json/COMESTIBLE_from_json.py msgid "" "An herb with a small purple flower. The roots are nutritious, but tough and" @@ -33019,11 +34118,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py lang/json/COMESTIBLE_from_json.py #: lang/json/furniture_from_json.py msgid "chicory" -msgid_plural "handfuls of chicory" +msgid_plural "chicory" msgstr[0] "" msgstr[1] "" -#. ~ Description for chicory +#. ~ Description for {'str': 'chicory', 'str_pl': 'chicory'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A modest blue flower. The flower's roots are very bitter and not meant to " @@ -33145,12 +34244,12 @@ msgstr "" "así cruda, pero está buenísima para cocinar." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of dandelions" -msgid_plural "handfuls of dandelions" -msgstr[0] "puñado de dientes de león" -msgstr[1] "puñados de dientes de león" +msgid "dandelions" +msgid_plural "dandelions" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of dandelions +#. ~ Description for {'str': 'dandelions', 'str_pl': 'dandelions'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A collection of freshly picked yellow dandelions. In their current raw " @@ -33295,12 +34394,12 @@ msgid "Raw, uncooked lentils. They could be cooked." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of fiddleheads" -msgid_plural "handfuls of fiddleheads" +msgid "fiddleheads" +msgid_plural "fiddleheads" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of fiddleheads +#. ~ Description for {'str': 'fiddleheads', 'str_pl': 'fiddleheads'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of immature fern fronds, still curled up like the head of a " @@ -35250,8 +36349,8 @@ msgstr[1] "" #. ~ Description for raw spaghetti pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of pasta usually used when preparing spaghetti. It could be eaten raw" -" if you're desperate, but is much better cooked." +"A type of pasta usually used when preparing spaghetti. It could be eaten " +"raw if you're desperate, but is much better cooked." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -35263,7 +36362,7 @@ msgstr[1] "" #. ~ Description for raw lasagne pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pasta sheet used in making lasagne. It could be eaten raw if you're " +"A pasta sheet used in making lasagne. It could be eaten raw if you're " "desperate, but is much better cooked." msgstr "" @@ -35737,7 +36836,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "Strong alcohol, infused with mana and concentrated into a liquid that can " -"stabilize spells into liquid form. You can still drink it, if you want." +"stabilize spells into liquid form. You can still drink it, if you want." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -35750,7 +36849,7 @@ msgstr[1] "" #: lang/json/COMESTIBLE_from_json.py msgid "" "An organ located above the kidneys responsible for secretion of adrenaline, " -"cortisol, and aldosterone. This one is huge, whether by nature or mutation." +"cortisol, and aldosterone. This one is huge, whether by nature or mutation." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -35847,8 +36946,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human, including pieces of bone " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -35859,8 +36958,9 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human covered with bone, including" -" pieces of organs. Necromantic magic delays immediate rot, but it won't last" -" forever. Piercing it with the attached needle could compel it to serve you." +" pieces of organs. Necromantic magic delays immediate rot, but it won't " +"last forever. Piercing it with the attached needle could compel it to serve" +" you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -35871,8 +36971,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead cougar, complete with fur, bones, " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -35883,8 +36983,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -35895,9 +36995,9 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal. Improved infusion techniques lessen the strain of the " -"process." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal. Improved infusion techniques lessen the strain of " +"the process." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -35932,7 +37032,7 @@ msgstr[1] "" #. ~ Description for hairball #: lang/json/COMESTIBLE_from_json.py msgid "" -"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." +"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -35949,6 +37049,16 @@ msgid "" " properties." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "scream mushroom" +msgstr "" + +#. ~ Description for scream mushroom +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"The mushrooms harvested from a dead shrieker. Could be used in potions." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "resinous cord" msgstr "" @@ -35974,13 +37084,13 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "caramel ointement" +msgid "caramel ointment" msgstr "" -#. ~ Description for caramel ointement +#. ~ Description for caramel ointment #: lang/json/COMESTIBLE_from_json.py msgid "" -"An ointement made of caramel. You could use it to heal your wounds, if you " +"An ointment made of caramel. You could use it to heal your wounds, if you " "were made of sugar." msgstr "" @@ -36619,15 +37729,6 @@ msgstr[1] "harinas de arroz" msgid "This rice flour is useful for baking." msgstr "Esta harina de arroz es útil para cocinar." -#: lang/json/COMESTIBLE_from_json.py -msgid "cholla bud" -msgstr "" - -#. ~ Description for cholla bud -#: lang/json/COMESTIBLE_from_json.py -msgid "The candy of the Mojave Indigenous peoples." -msgstr "" - #: lang/json/COMESTIBLE_from_json.py msgid "revival serum" msgstr "" @@ -36940,8 +38041,8 @@ msgstr[1] "" #. ~ Description for paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"It has a threaded cap for easy resealing." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" It has a threaded cap for easy resealing." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -36953,8 +38054,8 @@ msgstr[1] "" #. ~ Description for opened paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"This one is open and its contents will spoil." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" This one is open and its contents will spoil." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -37530,8 +38631,8 @@ msgstr[1] "" #. ~ Description for survival kit box #: lang/json/CONTAINER_from_json.py msgid "" -"An aluminum box that used to contain a small survival kit. Can hold 1 liter " -"of liquid." +"An aluminum box that used to contain a small survival kit. Can hold 1 liter" +" of liquid." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -37631,6 +38732,22 @@ msgid "" " for maximum yield. It can be crafted with various seeds to plant them." msgstr "" +#: lang/json/CONTAINER_from_json.py +msgid "endless flask" +msgid_plural "endless flasks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "You open the flask and discover it full of sweet, sweet, whiskey!" +msgstr "" + +#. ~ Use action not_ready_msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "The flask isn't done refilling yet." +msgstr "" + #: lang/json/CONTAINER_from_json.py msgid "aluminum foil wrap" msgid_plural "aluminum foil wraps" @@ -38100,8 +39217,8 @@ msgstr[1] "" #. ~ Description for rhodonite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of rhodonite. It has manganese dioxide covering and going through it" -" in veins, which can be obtained using a chisel." +"A chunk of rhodonite. It has manganese dioxide covering and going through " +"it in veins, which can be obtained using a chisel." msgstr "" #: lang/json/GENERIC_from_json.py @@ -38113,7 +39230,7 @@ msgstr[1] "" #. ~ Description for zincite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " +"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " "reduction with a source of carbon." msgstr "" @@ -38129,12 +39246,12 @@ msgid "A root from a hickory tree. It has an earthy smell." msgstr "Es una raíz de un nogal americano o pacana. Tiene olor a tierra." #: lang/json/GENERIC_from_json.py -msgid "handful of hickory nuts" -msgid_plural "handfuls of hickory nuts" +msgid "hickory nuts" +msgid_plural "hickory nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of hickory nuts +#. ~ Description for {'str': 'hickory nuts', 'str_pl': 'hickory nuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hickory tree, still in their shell." msgstr "" @@ -38142,23 +39259,23 @@ msgstr "" "cáscaras." #: lang/json/GENERIC_from_json.py -msgid "handful of pecans" -msgid_plural "handfuls of pecans" +msgid "pecans" +msgid_plural "pecans" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of pecans +#. ~ Description for {'str': 'pecans', 'str_pl': 'pecans'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pecan tree, still in their shell." msgstr "" #: lang/json/GENERIC_from_json.py -msgid "handful of pistachios" -msgid_plural "handfuls of pistachios" +msgid "pistachios" +msgid_plural "pistachios" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of pistachios +#. ~ Description for {'str': 'pistachios', 'str_pl': 'pistachios'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pistachio tree, still in their shell." msgstr "" @@ -38166,59 +39283,59 @@ msgstr "" "cáscaras." #: lang/json/GENERIC_from_json.py -msgid "handful of almonds" -msgid_plural "handfuls of almonds" +msgid "almonds" +msgid_plural "almonds" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of almonds +#. ~ Description for {'str': 'almonds', 'str_pl': 'almonds'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a almond tree, still in their shell." msgstr "" "Es un puñado de frutos secos duros del almendro, todavía con sus cáscaras." #: lang/json/GENERIC_from_json.py -msgid "handful of peanuts" -msgid_plural "handfuls of peanuts" +msgid "peanuts" +msgid_plural "peanuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of peanuts +#. ~ Description for {'str': 'peanuts', 'str_pl': 'peanuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a peanut bush, still in their shell." msgstr "" "Es un puñado de frutos secos duros del cacahuete, todavía con sus cáscaras." #: lang/json/GENERIC_from_json.py -msgid "handful of hazelnuts" -msgid_plural "handfuls of hazelnuts" +msgid "hazelnuts" +msgid_plural "hazelnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of hazelnuts +#. ~ Description for {'str': 'hazelnuts', 'str_pl': 'hazelnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hazelnut tree, still in their shell." msgstr "" "Es un puñado de frutos secos duros del avellano, todavía con sus cáscaras." #: lang/json/GENERIC_from_json.py -msgid "handful of chestnuts" -msgid_plural "handfuls of chestnuts" +msgid "chestnuts" +msgid_plural "chestnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of chestnuts +#. ~ Description for {'str': 'chestnuts', 'str_pl': 'chestnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a chestnut tree, still in their shell." msgstr "" #: lang/json/GENERIC_from_json.py -msgid "handful of walnuts" -msgid_plural "handfuls of walnuts" +msgid "walnuts" +msgid_plural "walnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of walnuts +#. ~ Description for {'str': 'walnuts', 'str_pl': 'walnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a walnut tree, still in their shell." msgstr "" @@ -38363,7 +39480,7 @@ msgstr "" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"A dead body with a frightful grimace. He appears to have been horribly " +"A dead body with a frightful grimace. He appears to have been horribly " "mangled prior to his death." msgstr "" @@ -38387,7 +39504,7 @@ msgstr "" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"The upper half of a dead body, as if torn apart with enormous force. Some " +"The upper half of a dead body, as if torn apart with enormous force. Some " "organs are hanging out." msgstr "" @@ -38491,6 +39608,12 @@ msgstr "músculo" msgid "wind" msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "metabolism" +msgid_plural "metabolisms" +msgstr[0] "" +msgstr[1] "" + #: lang/json/GENERIC_from_json.py msgid "a smoking device and a source of flame" msgstr "algo para fumar y algo para encender fuego" @@ -38510,6 +39633,31 @@ msgstr "" "Varios documentos juntos con toda clase de información, datos de clientes y " "gráficos. Bastante inservible por estos días." +#: lang/json/GENERIC_from_json.py +msgid "INCIDENT REPORT: IMMERSION-27A" +msgid_plural "INCIDENT REPORT: IMMERSION-27As" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for INCIDENT REPORT: IMMERSION-27A +#: lang/json/GENERIC_from_json.py +msgid "" +"A white piece of paper, with the logo of XEDRA printed on its upper left " +"corner. It seems to be an internal report of some kind." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "MATERIAL: T-SUBSTRATE" +msgid_plural "MATERIAL: T-SUBSTRATEs" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "HAADF MICROGRAPH: T-SUBSTRATE" +msgid_plural "HAADF MICROGRAPH: T-SUBSTRATEs" +msgstr[0] "" +msgstr[1] "" + #: lang/json/GENERIC_from_json.py msgid "foodplace loyalty card" msgid_plural "foodplace loyalty cards" @@ -38520,7 +39668,7 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "A bright pink loyalty card, all the points are stamped. This would " -"definitely prove your fidelity to Foodplace, if it still meant anything..." +"definitely prove your fidelity to Foodplace, if it still meant anything…" msgstr "" #: lang/json/GENERIC_from_json.py @@ -38671,8 +39819,8 @@ msgstr[1] "" #. ~ Description for set of 100 ceramic disk #: lang/json/GENERIC_from_json.py msgid "" -"A set of small slightly elongated disks, made of high-grade ceramic. They " -"remind you of scales" +"A set of small slightly elongated disks, made of high-grade ceramic. They " +"remind you of scales." msgstr "" #: lang/json/GENERIC_from_json.py @@ -38727,6 +39875,18 @@ msgid "" "Felt patches, bundled tightly together for storage. Disassemble to unpack." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "t-substrate sample" +msgid_plural "t-substrate samples" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for t-substrate sample +#: lang/json/GENERIC_from_json.py +msgid "" +"An acrylic cube cast around a small black crystal. It's tepid to the touch." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "biollante bud" msgid_plural "biollante buds" @@ -38986,6 +40146,18 @@ msgstr "" "Un pedazo de varilla corrugada, que sirve como arma de cuerpo a cuerpo, y " "puede ser útil para construir paredes más resistentes y cosas de ese estilo." +#: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "small railroad track" +msgid_plural "small railroad tracks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for small railroad track +#: lang/json/GENERIC_from_json.py +msgid "A length of track, made from some planks and rails." +msgstr "" + #: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py msgid "concrete" msgid_plural "concrete" @@ -39051,19 +40223,6 @@ msgid "" msgstr "" "Un muelle grande reforzado. Se estira con mucha fuerza cuando es comprimido." -#: lang/json/GENERIC_from_json.py -msgid "leaf spring" -msgid_plural "leaf springs" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for leaf spring -#: lang/json/GENERIC_from_json.py -msgid "" -"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" -" an awful lot like a bow. You can barely bend it..." -msgstr "" - #: lang/json/GENERIC_from_json.py msgid "lawnmower" msgid_plural "lawnmowers" @@ -40051,10 +41210,8 @@ msgstr[1] "tarjetas de memoria SD científicas" #: lang/json/GENERIC_from_json.py msgid "" "This memory card appears to be related to 'XEDRA', and is certainly " -"encrypted. Looks * Interesting *, though..." +"encrypted. Looks *Interesting*, though…" msgstr "" -"Esta tarjeta de memoria parece estar relacionada con el 'XEDRA', y " -"seguramente está encriptada. Parece * interesante *, igual..." #: lang/json/GENERIC_from_json.py msgid "hand mirror" @@ -40112,17 +41269,6 @@ msgstr "" "Es una cápsula espinosa de un pino. Adentro, se escuchan las semillas secas " "cuando la agitás." -#: lang/json/GENERIC_from_json.py -msgid "poppy flower" -msgid_plural "poppy flowers" -msgstr[0] "flor de amapola" -msgstr[1] "flores de amapola" - -#. ~ Description for poppy flower -#: lang/json/GENERIC_from_json.py -msgid "A poppy stalk with some petals." -msgstr "Un tallo con algunos pétalos de amapola." - #: lang/json/GENERIC_from_json.py msgid "poppy bud" msgid_plural "poppy buds" @@ -40138,238 +41284,6 @@ msgstr "" "Un capullo de amapola. Contiene algunas sustancias comúnmente producidas por" " una flor de amapola mutada." -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "bluebell" -msgid_plural "bluebells" -msgstr[0] "jacinto" -msgstr[1] "jacintos" - -#. ~ Description for bluebell -#: lang/json/GENERIC_from_json.py -msgid "A bluebell stalk with some petals." -msgstr "" -"Es un tallo con algunos pétalos de la flor llamada jacinto de los bosques." - -#: lang/json/GENERIC_from_json.py -msgid "bluebell bud" -msgid_plural "bluebell buds" -msgstr[0] "capullo de jacinto" -msgstr[1] "capullos de jacinto" - -#. ~ Description for bluebell bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A bluebell bud. Contains some substances commonly produced by a bluebell " -"flower." -msgstr "" -"Es un capullo de jacinto de los bosques. Contiene algunas sustancias " -"comúnmente producidas por la flor de jacinto." - -#. ~ Description for dahlia -#: lang/json/GENERIC_from_json.py -msgid "A dahlia stalk with some petals." -msgstr "Es un tallo con algunos pétalos de dahlia." - -#: lang/json/GENERIC_from_json.py -msgid "dahlia bud" -msgid_plural "dahlia buds" -msgstr[0] "capullo de dahlia" -msgstr[1] "capullos de dahlia" - -#. ~ Description for dahlia bud -#: lang/json/GENERIC_from_json.py -msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." -msgstr "" -"Es un capullo de dahlia. Contiene algunas sustancias comúnmente producidas " -"por la flor de dahlia." - -#. ~ Description for rose -#: lang/json/GENERIC_from_json.py -msgid "A rose stalk with some petals." -msgstr "Es un tallo de rosa con algunos pétalos." - -#: lang/json/GENERIC_from_json.py -msgid "rose bud" -msgid_plural "rose buds" -msgstr[0] "capullo de rosa" -msgstr[1] "capullos de rosa" - -#. ~ Description for rose bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A rose bud. Contains some substances commonly produced by a rose flower." -msgstr "" -"Es un capullo de rosa. Contiene algunas sustancias comúnmente producidas por" -" la flor de la rosa." - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea" -msgid_plural "hydrangeas" -msgstr[0] "hortensia" -msgstr[1] "hortensias" - -#. ~ Description for hydrangea -#: lang/json/GENERIC_from_json.py -msgid "A hydrangea stalk with some petals." -msgstr "Es un tallo de hortensia con algunos pétalos." - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea bud" -msgid_plural "hydrangea buds" -msgstr[0] "capullo de hortensia" -msgstr[1] "capullos de hortensia" - -#. ~ Description for hydrangea bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A hydrangea bud. Contains some substances commonly produced by a hydrangea " -"flower." -msgstr "" - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "tulip" -msgid_plural "tulips" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for tulip -#: lang/json/GENERIC_from_json.py -msgid "A tulip stalk with some petals." -msgstr "Es un tallo de tulipán con algunos pétalos." - -#: lang/json/GENERIC_from_json.py -msgid "tulip bud" -msgid_plural "tulip buds" -msgstr[0] "capullo de tulipán" -msgstr[1] "capullos de tulipán" - -#. ~ Description for tulip bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A tulip bud. Contains some substances commonly produced by a tulip flower." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "spurge" -msgid_plural "spurges" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for spurge -#: lang/json/GENERIC_from_json.py -msgid "A spurge stalk with some petals." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "spurge bud" -msgid_plural "spurge buds" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for spurge bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A spurge bud. Contains some substances commonly produced by a spurge " -"flower." -msgstr "" - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "black eyed susan" -msgid_plural "black eyed susans" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for black eyed susan -#: lang/json/GENERIC_from_json.py -msgid "A black eyed susan stalk with some petals." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "black eyed susan bud" -msgid_plural "black eyed susan buds" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for black eyed susan bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A black eyed susan bud. Contains some substances commonly produced by a " -"black eyed susan flower." -msgstr "" - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lily" -msgid_plural "lilys" -msgstr[0] "lirio" -msgstr[1] "lirios" - -#. ~ Description for lily -#: lang/json/GENERIC_from_json.py -msgid "A lily stalk with some petals." -msgstr "Es un tallo de lirio con algunos pétalos." - -#: lang/json/GENERIC_from_json.py -msgid "lily bud" -msgid_plural "lily buds" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for lily bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lily bud. Contains some substances commonly produced by a lily flower." -msgstr "" -"Es el capullo de un lirio. Contiene algunas sustancias comúnmente producidas" -" por la flor del lirio." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lotus" -msgid_plural "lotuss" -msgstr[0] "loto" -msgstr[1] "lotos" - -#. ~ Description for lotus -#: lang/json/GENERIC_from_json.py -msgid "A lotus stalk with some petals." -msgstr "Es un tallo de loto con algunos pétalos." - -#: lang/json/GENERIC_from_json.py -msgid "lotus bud" -msgid_plural "lotus buds" -msgstr[0] "capullo de loto" -msgstr[1] "capullos de loto" - -#. ~ Description for lotus bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lotus bud. Contains some substances commonly produced by a lotus flower." -msgstr "" -"Un capullo de loto. Contiene algunas sustancias comúnmente producidas por " -"una flor de loto." - -#: lang/json/GENERIC_from_json.py -msgid "lilac" -msgid_plural "lilacs" -msgstr[0] "lila" -msgstr[1] "lilas" - -#. ~ Description for lilac -#: lang/json/GENERIC_from_json.py -msgid "A lilac stalk with some petals." -msgstr "Es un tallo de lila con algunos pétalos." - -#: lang/json/GENERIC_from_json.py -msgid "lilac bud" -msgid_plural "lilac buds" -msgstr[0] "capullo de lila" -msgstr[1] "capullos de lila" - -#. ~ Description for lilac bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lilac bud. Contains some substances commonly produced by a lilac flower." -msgstr "" - #. ~ Description for sunflower #: lang/json/GENERIC_from_json.py msgid "" @@ -40378,12 +41292,13 @@ msgid "" msgstr "" #: lang/json/GENERIC_from_json.py -msgid "handful of chamomile flowers" -msgid_plural "handfuls of chamomile flowers" +msgid "chamomile flowers" +msgid_plural "chamomile flowers" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of chamomile flowers +#. ~ Description for {'str': 'chamomile flowers', 'str_pl': 'chamomile +#. flowers'} #: lang/json/GENERIC_from_json.py msgid "" "White chamomile flowers, used as a herbal remedy since the ancient times." @@ -40682,12 +41597,14 @@ msgstr "" #. ~ Use action menu_text for cigar. #. ~ Use action menu_text for cigarette. #. ~ Use action menu_text for joint. +#. ~ Use action menu_text for spooky jack o'lantern. +#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for candle. #. ~ Use action menu_text for refillable lighter. #. ~ Use action menu_text for torch. -#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for ember carrier (lit). #. ~ Use action menu_text for Louisville Slaughterer. +#. ~ Use action menu_text for everburning torch. #: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py msgid "Extinguish" @@ -40738,10 +41655,8 @@ msgstr[1] "colillas de cigarrillos" #: lang/json/GENERIC_from_json.py msgid "" "What was once a wonderfully addictive tube of dried tobacco leaf is now just a smelly piece of trash. What a tragedy!\n" -"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far..." +"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far…" msgstr "" -"Lo que alguna vez fue un maravilloso y adictivo cilindro de hojas secas de tabaco, ahora es solo un pedazo apestoso de basura. ¡Qué tragedia!\n" -"Si juntas varias colillas, tal vez te puedas liar un cigarrillo nuevo. Si estás dispuesto a llegar tan lejos..." #. ~ Use action msg for joint. #: lang/json/GENERIC_from_json.py @@ -40791,11 +41706,11 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "raw tobacco" -msgid_plural "handfuls of raw tobacco" -msgstr[0] "puñado de tabaco crudo" -msgstr[1] "puñados de tabaco crudo" +msgid_plural "raw tobacco" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for raw tobacco +#. ~ Description for {'str': 'raw tobacco', 'str_pl': 'raw tobacco'} #: lang/json/GENERIC_from_json.py msgid "" "Various parts of tobacco plant, full of nicotine. They need to be dried to " @@ -40850,12 +41765,6 @@ msgid "" "panel, if you can find one." msgstr "" -#: lang/json/GENERIC_from_json.py -msgid "neoprene sheet" -msgid_plural "neoprene sheets" -msgstr[0] "lámina de neopreno" -msgstr[1] "láminas de neopreno" - #. ~ Description for neoprene sheet #: lang/json/GENERIC_from_json.py msgid "" @@ -41972,6 +42881,262 @@ msgid_plural "notes" msgstr[0] "" msgstr[1] "" +#: lang/json/GENERIC_from_json.py +msgid "leaf spring" +msgid_plural "leaf springs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for leaf spring +#: lang/json/GENERIC_from_json.py +msgid "" +"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" +" an awful lot like a bow. You can barely bend it…" +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea" +msgid_plural "hydrangeas" +msgstr[0] "hortensia" +msgstr[1] "hortensias" + +#. ~ Description for hydrangea +#: lang/json/GENERIC_from_json.py +msgid "A hydrangea stalk with some petals." +msgstr "Es un tallo de hortensia con algunos pétalos." + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea bud" +msgid_plural "hydrangea buds" +msgstr[0] "capullo de hortensia" +msgstr[1] "capullos de hortensia" + +#. ~ Description for hydrangea bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A hydrangea bud. Contains some substances commonly produced by a hydrangea " +"flower." +msgstr "" + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "tulip" +msgid_plural "tulips" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for tulip +#: lang/json/GENERIC_from_json.py +msgid "A tulip stalk with some petals." +msgstr "Es un tallo de tulipán con algunos pétalos." + +#: lang/json/GENERIC_from_json.py +msgid "tulip bud" +msgid_plural "tulip buds" +msgstr[0] "capullo de tulipán" +msgstr[1] "capullos de tulipán" + +#. ~ Description for tulip bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A tulip bud. Contains some substances commonly produced by a tulip flower." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "spurge" +msgid_plural "spurges" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for spurge +#: lang/json/GENERIC_from_json.py +msgid "A spurge stalk with some petals." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "spurge bud" +msgid_plural "spurge buds" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for spurge bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A spurge bud. Contains some substances commonly produced by a spurge " +"flower." +msgstr "" + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "black eyed susan" +msgid_plural "black eyed susans" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for black eyed susan +#: lang/json/GENERIC_from_json.py +msgid "A black eyed susan stalk with some petals." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "black eyed susan bud" +msgid_plural "black eyed susan buds" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for black eyed susan bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A black eyed susan bud. Contains some substances commonly produced by a " +"black eyed susan flower." +msgstr "" + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lily" +msgid_plural "lilys" +msgstr[0] "lirio" +msgstr[1] "lirios" + +#. ~ Description for lily +#: lang/json/GENERIC_from_json.py +msgid "A lily stalk with some petals." +msgstr "Es un tallo de lirio con algunos pétalos." + +#: lang/json/GENERIC_from_json.py +msgid "lily bud" +msgid_plural "lily buds" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lily bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lily bud. Contains some substances commonly produced by a lily flower." +msgstr "" +"Es el capullo de un lirio. Contiene algunas sustancias comúnmente producidas" +" por la flor del lirio." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lotus" +msgid_plural "lotuss" +msgstr[0] "loto" +msgstr[1] "lotos" + +#. ~ Description for lotus +#: lang/json/GENERIC_from_json.py +msgid "A lotus stalk with some petals." +msgstr "Es un tallo de loto con algunos pétalos." + +#: lang/json/GENERIC_from_json.py +msgid "lotus bud" +msgid_plural "lotus buds" +msgstr[0] "capullo de loto" +msgstr[1] "capullos de loto" + +#. ~ Description for lotus bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lotus bud. Contains some substances commonly produced by a lotus flower." +msgstr "" +"Un capullo de loto. Contiene algunas sustancias comúnmente producidas por " +"una flor de loto." + +#: lang/json/GENERIC_from_json.py +msgid "lilac" +msgid_plural "lilacs" +msgstr[0] "lila" +msgstr[1] "lilas" + +#. ~ Description for lilac +#: lang/json/GENERIC_from_json.py +msgid "A lilac stalk with some petals." +msgstr "Es un tallo de lila con algunos pétalos." + +#: lang/json/GENERIC_from_json.py +msgid "lilac bud" +msgid_plural "lilac buds" +msgstr[0] "capullo de lila" +msgstr[1] "capullos de lila" + +#. ~ Description for lilac bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lilac bud. Contains some substances commonly produced by a lilac flower." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "rose bud" +msgid_plural "rose buds" +msgstr[0] "capullo de rosa" +msgstr[1] "capullos de rosa" + +#. ~ Description for rose bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A rose bud. Contains some substances commonly produced by a rose flower." +msgstr "" +"Es un capullo de rosa. Contiene algunas sustancias comúnmente producidas por" +" la flor de la rosa." + +#: lang/json/GENERIC_from_json.py +msgid "dahlia bud" +msgid_plural "dahlia buds" +msgstr[0] "capullo de dahlia" +msgstr[1] "capullos de dahlia" + +#. ~ Description for dahlia bud +#: lang/json/GENERIC_from_json.py +msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." +msgstr "" +"Es un capullo de dahlia. Contiene algunas sustancias comúnmente producidas " +"por la flor de dahlia." + +#. ~ Description for rose +#: lang/json/GENERIC_from_json.py +msgid "A rose stalk with some petals." +msgstr "Es un tallo de rosa con algunos pétalos." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "bluebell" +msgid_plural "bluebells" +msgstr[0] "jacinto" +msgstr[1] "jacintos" + +#. ~ Description for bluebell +#: lang/json/GENERIC_from_json.py +msgid "A bluebell stalk with some petals." +msgstr "" +"Es un tallo con algunos pétalos de la flor llamada jacinto de los bosques." + +#. ~ Description for dahlia +#: lang/json/GENERIC_from_json.py +msgid "A dahlia stalk with some petals." +msgstr "Es un tallo con algunos pétalos de dahlia." + +#: lang/json/GENERIC_from_json.py +msgid "poppy flower" +msgid_plural "poppy flowers" +msgstr[0] "flor de amapola" +msgstr[1] "flores de amapola" + +#. ~ Description for poppy flower +#: lang/json/GENERIC_from_json.py +msgid "A poppy stalk with some petals." +msgstr "Un tallo con algunos pétalos de amapola." + +#: lang/json/GENERIC_from_json.py +msgid "bluebell bud" +msgid_plural "bluebell buds" +msgstr[0] "capullo de jacinto" +msgstr[1] "capullos de jacinto" + +#. ~ Description for bluebell bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A bluebell bud. Contains some substances commonly produced by a bluebell " +"flower." +msgstr "" +"Es un capullo de jacinto de los bosques. Contiene algunas sustancias " +"comúnmente producidas por la flor de jacinto." + #: lang/json/GENERIC_from_json.py msgid "module template" msgid_plural "module templates" @@ -42392,7 +43557,7 @@ msgstr[1] "cafeteras atómicas" #: lang/json/GENERIC_from_json.py msgid "" "This is a Curie-G coffeemaker, by CuppaTech. It famously uses a radioactive" -" generator to heat water for coffee. Normally the water is heated using " +" generator to heat water for coffee. Normally the water is heated using " "energy stored in a capacitor, and makes ordinary coffee. However, as a " "special feature, water from the RTG containment area can be used, giving the" " coffee a very special kick. The Curie-G is illegal in most countries." @@ -42407,7 +43572,9 @@ msgstr[1] "lámparas atómicas" #. ~ Use action menu_text for atomic lamp. #. ~ Use action menu_text for atomic reading light. #. ~ Use action menu_text for magical reading light. -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp. +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Close cover" msgstr "Cerrar cubierta" @@ -42435,7 +43602,9 @@ msgstr[1] "lámparas atómicas (cubiertas)" #. ~ Use action menu_text for atomic lamp (covered). #. ~ Use action menu_text for atomic reading light (covered). #. ~ Use action menu_text for magical reading light (covered). -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp (covered). +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Open cover" msgstr "Abrir cubierta" @@ -42729,8 +43898,8 @@ msgstr[1] "ganchos de agarre" #: lang/json/GENERIC_from_json.py msgid "" "A folding grappling hook attached to a stout 30-foot long piece of " -"lightweight cord. Useful for keeping yourself safe from falls. Can be used " -"in place of a long rope for butchering, in a pinch." +"lightweight cord. Useful for keeping yourself safe from falls. Can be used" +" in place of a long rope for butchering, in a pinch." msgstr "" #: lang/json/GENERIC_from_json.py @@ -43613,12 +44782,11 @@ msgstr[1] "" #. ~ Description for Beautiful Springtime #: lang/json/GENERIC_from_json.py -msgid "" -"A complete guide to Wing Chun Kung-fu. Includes a section on butterfly " -"swords and the use of long poles at the end." +msgid "A complete guide to Wing Chun Kung-fu." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/martial_art_from_json.py +#: lang/json/martial_art_from_json.py msgid "Fior Di Battaglia" msgid_plural "Fior Di Battaglia" msgstr[0] "" @@ -43628,8 +44796,8 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "A completely translated medieval guide teaching various techniques with " -"polearms, there is a chapter about the many variations of common polearms..." -" there are even pictures!" +"polearms, there is a chapter about the many variations of common polearms… " +"there are even pictures!" msgstr "" #: lang/json/GENERIC_from_json.py @@ -44721,6 +45889,20 @@ msgstr[1] "" msgid "This is a slip of paper signed by the issuer." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "icon" +msgid_plural "icons" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for icon +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a small picture, about the same size as an ID card, symbolizing a " +"religious figure. On the back, there is a text that faintly reads 'New " +"England Church Community'." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "generic silverware" msgid_plural "generic silverwares" @@ -45065,11 +46247,9 @@ msgstr[1] "tenedores" #. ~ Description for fork #: lang/json/GENERIC_from_json.py msgid "" -"A fork, if you stab something with it you eat it right away. Wait... " +"A fork, if you stab something with it you eat it right away. Wait… " "nevermind." msgstr "" -"Un tenedor, si se lo clavas a algo te lo puedes comer como siempre. " -"Espera... mejor no." #: lang/json/GENERIC_from_json.py msgid "plastic fork" @@ -46304,10 +47484,10 @@ msgstr[1] "Mjölnirs" #: lang/json/GENERIC_from_json.py msgid "" "A large hammer, forged from the heart of a dying star. It bears the inscription:\n" -" \n" +"\n" "Whosoever holds this hammer,\n" "If he be worthy,\n" -"Shall possess the power to...\n" +"Shall possess the power to…\n" "CRUSH!'" msgstr "" @@ -46783,8 +47963,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "" "This is a thin thrusting sword, a sort of predecessor to the rapier. It " -"requires a larger baldric or scabbard, compared to smaller swords. It seems " -"a bit too bendy." +"requires a larger baldric or scabbard, compared to smaller swords. It seems" +" a bit too bendy." msgstr "" #. ~ Description for estoc @@ -46888,21 +48068,18 @@ msgstr "" "a su hoja flexible y punta sin filo." #: lang/json/GENERIC_from_json.py -msgid "fencing epee" -msgid_plural "fencing epees" -msgstr[0] "espada de esgrima" -msgstr[1] "espadas de esgrima" +msgid "fencing épée" +msgid_plural "fencing épées" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for fencing epee +#. ~ Description for fencing épée #: lang/json/GENERIC_from_json.py msgid "" -"A weapon used for fencing, the most noble of all sports. The epee is the " +"A weapon used for fencing, the most noble of all sports. The épée is the " "heaviest and stiffest of the fencing weapons, and therefore perhaps the most" " useful." msgstr "" -"Un arma utilizada en el esgrima, el más noble de todos los deportes. Esta " -"espada es la más pesada y rígida de todas las armas del esgrima, y por lo " -"tanto puede ser la más útil en esta situación." #: lang/json/GENERIC_from_json.py msgid "fencing saber" @@ -46914,11 +48091,53 @@ msgstr[1] "sables de esgrima" #: lang/json/GENERIC_from_json.py msgid "" "A weapon used for fencing, the most noble of all sports. The fencing saber " -"is marginally shorter than the foil and epee, but no less effective." +"is marginally shorter than the foil and épée, but no less effective." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened foil" +msgid_plural "sharpened foils" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sharpened foil +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing foil has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now somewhat more lethal, yet still familiar to" +" the practiced fencer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened épée" +msgid_plural "sharpened épées" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sharpened épée +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing épée has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now considerably more lethal, yet still " +"familiar to the practiced fencer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened saber" +msgid_plural "sharpened sabers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sharpened saber +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing saber has had its rounded tip snapped off " +"and has been crudely sharpened to a point. Though it still lacks a cutting " +"edge, it is now considerably more lethal, yet still familiar to the " +"practiced fencer." msgstr "" -"Un arma utilizada en el esgrima, el más noble de todos los deportes. Este " -"sable es bastante más corto que el florete y la espada de esgrima, pero no " -"es menos eficaz." #: lang/json/GENERIC_from_json.py msgid "hollow cane" @@ -47154,6 +48373,17 @@ msgstr "" "Un cilindro de metal con un pequeño lente adentro, pensado para ser puesto " "en una puerta." +#: lang/json/GENERIC_from_json.py +msgid "mesh screen" +msgid_plural "mesh screens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for mesh screen +#: lang/json/GENERIC_from_json.py +msgid "A roll of fine mesh screen for bug barriers on porches." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "pipe" msgid_plural "pipes" @@ -47209,11 +48439,8 @@ msgstr[1] "lingotes de aluminio" msgid "" "A small aluminum ingot, standardized for further processing. Light but " "durable, this could be cast into various shapes for construction or ground " -"down to a powder, for more... high-profile applications." +"down to a powder, for more… high-profile applications." msgstr "" -"Un pequeño lingote de aluminio, normalizado para un proceso posterior. " -"Ligero pero duradero, puede ser moldeado en diferentes formas para la " -"construcción o molido en polvo, para usos más... notorios." #: lang/json/GENERIC_from_json.py msgid "scrap copper" @@ -47238,12 +48465,12 @@ msgid "This is a single, or twin, sized mattress." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "down_mattress" -msgid_plural "down_mattresses" +msgid "down mattress" +msgid_plural "down mattresses" msgstr[0] "" msgstr[1] "" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/GENERIC_from_json.py msgid "This is a single, or twin, sized down filled mattress." msgstr "" @@ -47548,6 +48775,46 @@ msgid "" " can also serve as an improvised stabbing weapon, but will break quickly." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "frame loom" +msgid_plural "frame looms" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for frame loom +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a rather bulky and primitive wooden frame which can be used to weave" +" cloth sheets. It is very slow, though." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "wooden shed stick" +msgid_plural "wooden shed sticks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for wooden shed stick +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a short thin flat wooden stick, used as a tool while weaving cloth " +"with a frame loom." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "tailoring pattern set" +msgid_plural "tailoring pattern sets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for tailoring pattern set +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a large set of tailoring patterns made from paper. They're useful " +"for making any kind of cloth or leather items from scratch, but are " +"necessary for more advanced projects." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "vehicle alternator" msgid_plural "vehicle alternators" @@ -47900,6 +49167,20 @@ msgstr "" "de controlar un vehículo sin conductor. Su inteligencia artificial no " "funciona, pero todavía debe tener algún modo para mantenimiento." +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "turret control unit" +msgid_plural "turret control units" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for turret control unit +#: lang/json/GENERIC_from_json.py +msgid "" +"A set of motor, camera, and various electronic modules banded together to " +"allow for tracking targets, friend-or-foe identification, and firing the " +"connected turret in full automatic mode." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "massive engine block" msgid_plural "massive engine blocks" @@ -49020,6 +50301,19 @@ msgstr[1] "" msgid "A very small washing machine designed for use in vehicles." msgstr "" +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "programmable autopilot" +msgid_plural "programmable autopilots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for programmable autopilot +#: lang/json/GENERIC_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of a vehicle to allow" +" it to follow simple paths." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "mountable autoclave" msgid_plural "mountable autoclaves" @@ -49089,7 +50383,7 @@ msgstr[1] "" #. ~ Description for medium wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." +"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py @@ -49101,8 +50395,8 @@ msgstr[1] "" #. ~ Description for heavy wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A heavy metal assembly that allows bolting a wheel on a car. Fit for a large" -" car wheel." +"A heavy metal assembly that allows bolting a wheel on a car. Fit for a " +"large car wheel." msgstr "" #: lang/json/GENERIC_from_json.py @@ -50286,6 +51580,27 @@ msgid "" "art." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "The Iron Whip" +msgid_plural "The Iron Whips" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for The Iron Whip. +#: lang/json/GENERIC_from_json.py +msgid "" +"You loop the whip in your hand and it coils back into a belt form in an " +"instant." +msgstr "" + +#. ~ Description for The Iron Whip +#: lang/json/GENERIC_from_json.py +msgid "" +"A long braided flexible steel bullwhip that narrows into a sharp blade at " +"the end. Easily capable of slicing and dicing anything that comes at you. " +"It transforms back into a belt." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "cudgel +1" msgid_plural "cudgel +1s" @@ -50790,165 +52105,6 @@ msgid_plural "dao +2s" msgstr[0] "" msgstr[1] "" -#: lang/json/GENERIC_from_json.py -msgid "cestus +1" -msgid_plural "cestus +1s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "cestus +2" -msgid_plural "cestus +2s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist" -msgid_plural "flaming fists" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for flaming fist -#: lang/json/GENERIC_from_json.py -msgid "" -"A heavy metal guard that covers the fist and increases striking power, with " -"stout padding underneath to protect the wearers hand. It has been enchanted" -" to emit dark magical flames that only harm enemies." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist +1" -msgid_plural "flaming fist +1s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist +2" -msgid_plural "flaming fist +2s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "gauntlet of pounding" -msgid_plural "gauntlets of pounding" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for gauntlet of pounding -#: lang/json/GENERIC_from_json.py -msgid "" -"A large gleaming metal gauntlet covered in magical symbols that allows you " -"to land astoundingly powerful blows." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "stone shell" -msgid_plural "stone shells" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for stone shell -#: lang/json/GENERIC_from_json.py -msgid "" -"The broken fragment of an owlbear egg. With luck it might still contain " -"some of its former power, though if nothing else it's still a bit sharp." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "glow dust" -msgid_plural "glow dusts" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for glow dust -#: lang/json/GENERIC_from_json.py -msgid "" -"The powdered remains of a will-o-wisps's phsyical form. It seems to still " -"possess an otherworldly glow." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "magical reading light" -msgid_plural "magical reading lights" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for magical reading light -#: lang/json/GENERIC_from_json.py -msgid "" -"Powered by the magic of glow powder and lesser mana potions, this extremely " -"expensive little light will provide just enough light to read by for at " -"least a decade. Use it to close the cover and hide the light." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "magical reading light (covered)" -msgid_plural "magical reading lights (covered)" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for magical reading light (covered) -#: lang/json/GENERIC_from_json.py -msgid "" -"Powered by the magic of glow powder and lesser mana potions, this extremely " -"expensive little light will provide just enough light to read by for at " -"least a decade. The cover is closed. Use it to open the cover and show the" -" light." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "bulette plate" -msgid_plural "bulette plates" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for bulette plate -#: lang/json/GENERIC_from_json.py -msgid "" -"The great plates from behind a bulette's head have always been prized for " -"use in shield and armor making." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "bulette pearl" -msgid_plural "bulette pearls" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for bulette pearl -#: lang/json/GENERIC_from_json.py -msgid "" -"As a bulette burrows through the earth its gills collect minute amounts of " -"precious metals and gems which slowly aggregate into lustrous gemstones " -"prized for their beauty and power." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "black dragon scale" -msgid_plural "black dragon scales" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for black dragon scale -#: lang/json/GENERIC_from_json.py -msgid "" -"A scale from a black dragon. It still has its magical properties and acid " -"resistance." -msgstr "" - -#: lang/json/GENERIC_from_json.py lang/json/material_from_json.py -msgid "black dragon hide" -msgid_plural "black dragon hides" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for black dragon hide -#: lang/json/GENERIC_from_json.py -msgid "" -"Prepared hide from a black dragon. Hard, acid-resistant, and with more " -"scales could make a suit of armor as hard as steel and half as heavy." -msgstr "" - #: lang/json/GENERIC_from_json.py msgid "Biomancer spear" msgid_plural "Biomancer spears" @@ -50958,8 +52114,8 @@ msgstr[1] "" #. ~ Description for Biomancer spear #: lang/json/GENERIC_from_json.py msgid "" -"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer rune" -" embedded at the base of the head." +"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer " +"rune embedded at the base of the head." msgstr "" #: lang/json/GENERIC_from_json.py @@ -50972,36 +52128,22 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "This staff incorporates a sturdy cresent wrench on top of a prybar and a " -"hammer on the other in a convienent package. There is a Technomancer rune " +"hammer on the other in a convienent package. There is a Technomancer rune " "embedded in the hammerhead." msgstr "" #: lang/json/GENERIC_from_json.py msgid "Magus staff" -msgid_plural "Magus staffs" +msgid_plural "Magus staves" msgstr[0] "" msgstr[1] "" -#. ~ Description for Magus staff +#. ~ Description for {'str': 'Magus staff', 'str_pl': 'Magus staves'} #: lang/json/GENERIC_from_json.py msgid "" "A quarterstaff with runes carved into it and two glass jars, heat-tempered " -"and infused with mana for durability, to act as mana receptacles. There are " -"two Magi runes embedded at the tips." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "Earthshaper cestus" -msgid_plural "Earthshaper cesti" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for Earthshaper cestus -#: lang/json/GENERIC_from_json.py -msgid "" -"A stone battle glove with carved runes encasing the hand, protecting it " -"while increasing striking power. There is an Earthshaper rune embedded in " -"the palm." +"and infused with mana for durability, to act as mana receptacles. There are" +" two Magi runes embedded at the tips." msgstr "" #: lang/json/GENERIC_from_json.py @@ -51013,7 +52155,7 @@ msgstr[1] "" #. ~ Description for Kelvinist flamberge #: lang/json/GENERIC_from_json.py msgid "" -"A sword with an undulating blade, reminiscent of a flame. There is a " +"A sword with an undulating blade, reminiscent of a flame. There is a " "Kelvinist rune embedded in the pommel." msgstr "" @@ -51026,7 +52168,7 @@ msgstr[1] "" #. ~ Description for Stormshaper axe #: lang/json/GENERIC_from_json.py msgid "" -"A forged copper axe with silver trimmings and a wooden handle. There is a " +"A forged copper axe with silver trimmings and a wooden handle. There is a " "Stormshaper rune embedded in the eye." msgstr "" @@ -51039,10 +52181,475 @@ msgstr[1] "" #. ~ Description for Animist athame #: lang/json/GENERIC_from_json.py msgid "" -"A steel ritual knife used by Animists to draw blood for summoning. Their " +"A steel ritual knife used by Animists to draw blood for summoning. Their " "school rune is embedded in the crossguard." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "springstaff(baton)" +msgid_plural "springstaves(baton)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "Extend to staff" +msgstr "" + +#. ~ Use action msg for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "You snap open your springstaff into staff mode." +msgstr "" + +#. ~ Description for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips retracted while in baton configuration. Activate to extend." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "springstaff(staff)" +msgid_plural "springstaves(staff)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "Retract to baton" +msgstr "" + +#. ~ Use action msg for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "You collapse your springstaff into baton mode." +msgstr "" + +#. ~ Description for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips from retracting while in staff configuration. Activate to extend." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magic token" +msgid_plural "magic tokens" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "longsword token" +msgid_plural "longsword tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for longsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine longsword!" +msgstr "" + +#. ~ Description for longsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a longsword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "arming sword token" +msgid_plural "arming sword tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for arming sword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine arming sword!" +msgstr "" + +#. ~ Description for arming sword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case an arming sword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "broadsword token" +msgid_plural "broadsword tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for broadsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine broadsword!" +msgstr "" + +#. ~ Description for broadsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a broadsword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "battleaxe token" +msgid_plural "battleaxe tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for battleaxe token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine battle axe!" +msgstr "" + +#. ~ Description for battleaxe token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a battle axe." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "pike token" +msgid_plural "pike tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for pike token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine pike!" +msgstr "" + +#. ~ Description for pike token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a pike." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "mace token" +msgid_plural "mace tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for mace token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine mace!" +msgstr "" + +#. ~ Description for mace token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a mace." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "quarterstaff token" +msgid_plural "quarterstaff tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for quarterstaff token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a pristine quarterstaff!" +msgstr "" + +#. ~ Description for quarterstaff token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a quarterstaff." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "hammer token" +msgid_plural "hammer tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for hammer token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine hammer!" +msgstr "" + +#. ~ Description for hammer token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a hammer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "screwdriver set token" +msgid_plural "screwdriver set tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for screwdriver set token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine screwdriver set!" +msgstr "" + +#. ~ Description for screwdriver set token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a screwdriver." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "toolbox token" +msgid_plural "toolbox tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for toolbox token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine toolbox!" +msgstr "" + +#. ~ Description for toolbox token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a toolbox." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "crowbar token" +msgid_plural "crowbar tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for crowbar token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine crowbar!" +msgstr "" + +#. ~ Description for crowbar token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a crowbar." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "cestus +1" +msgid_plural "cestus +1s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "cestus +2" +msgid_plural "cestus +2s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist" +msgid_plural "flaming fists" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for flaming fist +#: lang/json/GENERIC_from_json.py +msgid "" +"A heavy metal guard that covers the fist and increases striking power, with " +"stout padding underneath to protect the wearers hand. It has been enchanted" +" to emit dark magical flames that only harm enemies." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist +1" +msgid_plural "flaming fist +1s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist +2" +msgid_plural "flaming fist +2s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "gauntlet of pounding" +msgid_plural "gauntlets of pounding" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for gauntlet of pounding +#: lang/json/GENERIC_from_json.py +msgid "" +"A large gleaming metal gauntlet covered in magical symbols that allows you " +"to land astoundingly powerful blows." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Earthshaper cestus" +msgid_plural "Earthshaper cesti" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'Earthshaper cestus', 'str_pl': 'Earthshaper +#. cesti'} +#: lang/json/GENERIC_from_json.py +msgid "" +"A stone battle glove with carved runes encasing the hand, protecting it " +"while increasing striking power. There is an Earthshaper rune embedded in " +"the palm." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "stone shell" +msgid_plural "stone shells" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for stone shell +#: lang/json/GENERIC_from_json.py +msgid "" +"The broken fragment of an owlbear egg. With luck it might still contain " +"some of its former power, though if nothing else it's still a bit sharp." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "glow dust" +msgid_plural "glow dusts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for glow dust +#: lang/json/GENERIC_from_json.py +msgid "" +"The powdered remains of a will-o-wisps's phsyical form. It seems to still " +"possess an otherworldly glow." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magical reading light" +msgid_plural "magical reading lights" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magical reading light +#: lang/json/GENERIC_from_json.py +msgid "" +"Powered by the magic of glow powder and lesser mana potions, this extremely " +"expensive little light will provide just enough light to read by for at " +"least a decade. Use it to close the cover and hide the light." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magical reading light (covered)" +msgid_plural "magical reading lights (covered)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magical reading light (covered) +#: lang/json/GENERIC_from_json.py +msgid "" +"Powered by the magic of glow powder and lesser mana potions, this extremely " +"expensive little light will provide just enough light to read by for at " +"least a decade. The cover is closed. Use it to open the cover and show the" +" light." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "bulette plate" +msgid_plural "bulette plates" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bulette plate +#: lang/json/GENERIC_from_json.py +msgid "" +"The great plates from behind a bulette's head have always been prized for " +"use in shield and armor making." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "bulette pearl" +msgid_plural "bulette pearls" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bulette pearl +#: lang/json/GENERIC_from_json.py +msgid "" +"As a bulette burrows through the earth its gills collect minute amounts of " +"precious metals and gems which slowly aggregate into lustrous gemstones " +"prized for their beauty and power." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "stirge proboscis" +msgid_plural "stirge proboscises" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for stirge proboscis +#: lang/json/GENERIC_from_json.py +msgid "" +"A long sucking apparatus harvested from stirge corpse. Makes a poor melee " +"weapon." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "black dragon scale" +msgid_plural "black dragon scales" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for black dragon scale +#: lang/json/GENERIC_from_json.py +msgid "" +"A scale from a black dragon. It still has its magical properties and acid " +"resistance." +msgstr "" + +#: lang/json/GENERIC_from_json.py lang/json/material_from_json.py +msgid "black dragon hide" +msgid_plural "black dragon hides" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for black dragon hide +#: lang/json/GENERIC_from_json.py +msgid "" +"Prepared hide from a black dragon. Hard, acid-resistant, and with more " +"scales could make a suit of armor as hard as steel and half as heavy." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "lesser staff of the magi" msgid_plural "lesser staves of the magi" @@ -51056,6 +52663,17 @@ msgid "" "glows with magic when you cast spells, but it is not a sturdy melee weapon." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "fireball hammer" +msgid_plural "fireball hammers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fireball hammer +#: lang/json/GENERIC_from_json.py +msgid "Use with caution! Flammable! Explosive!" +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "The Stormhammer" msgid_plural "The Stormhammers" @@ -51106,6 +52724,56 @@ msgstr[1] "" msgid "This is a wicked spear/halberd hybrid entirely created of bone." msgstr "" +#. ~ Description for Mjölnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Mjölnir, the legendary hammer of Thor. It is rumored to be able to level " +"mountains with a single blow. You feel the power of Asgard coursing through" +" the hammer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Gungnir" +msgid_plural "Gungnirs" +msgstr[0] "Gungnir" +msgstr[1] "Gungnirs" + +#. ~ Description for Gungnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Gungnir, the spear of Odin. It is rumored to be the perfect spear, " +"perfectly hitting any target regardless of the wielder's strength or skill." +" If feels like Odin's protecting you." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Gram" +msgid_plural "Grams" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Gram +#: lang/json/GENERIC_from_json.py +msgid "" +"Gram, the sword of Sigurd. It is rumored to be the sword that slayed the " +"legendary dragon, Fafnir. Once said to have cleaved Regin's anvil in half, " +"the edge is impeccable." +msgstr "" + +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py +msgid "Laevateinn" +msgid_plural "Laevateinns" +msgstr[0] "Laevateinn" +msgstr[1] "Laevateinns" + +#. ~ Description for Laevateinn +#: lang/json/GENERIC_from_json.py +msgid "" +"Laevateinn, the staff of Loki. Said to have been plucked from the gates of " +"Hel by Loki. Imbued with a mysterious magic, the magic of the trickster god" +" himself." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "Spell Scroll" msgid_plural "Spell Scrolls" @@ -51351,8 +53019,8 @@ msgstr[1] "" #. ~ Description for Blinding Flash #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" -"Blind enemies for a short time with a sudden, dazzling light. Higher levels " -"deal slightly higher damage." +"Blind enemies for a short time with a sudden, dazzling light. Higher levels" +" deal slightly higher damage." msgstr "" #: lang/json/GENERIC_from_json.py @@ -51366,7 +53034,7 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" "A mass of spectral hands emerge from the ground, slowing everything in " -"range. Higher levels allow a bigger AoE, and longer effect." +"range. Higher levels allow a bigger AoE, and longer effect." msgstr "" #: lang/json/GENERIC_from_json.py @@ -52132,8 +53800,49 @@ msgstr[1] "" #. ~ Description for Scroll of Purification Seed #: lang/json/GENERIC_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Greater levels yield" -" greater numbers of seeds." +"You summon a gift of the earth which will purify water. Greater levels " +"yield greater numbers of seeds." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of X-ray Vision" +msgid_plural "Scroll of X-ray Visions" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Scroll of X-ray Vision +#. ~ Description for X-ray Vision +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You fire a cone of X-rays that magically allow you to see that area for a " +"short time." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Clairvoyance" +msgid_plural "Scroll of Clairvoyances" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Scroll of Clairvoyance +#. ~ Description for Clairvoyance +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "You close your eyes and the earth surrenders its secrets to you." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Lava Bomb" +msgid_plural "Scroll of Lava Bombs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Scroll of Lava Bomb +#. ~ Description for Lava Bomb +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You tear up the ground beneath you to fire a lava bomb: a globe of lava " +"surrounded by hot, solid rock. It shatters upon impact, spraying shards of " +"rock and lava everywhere." msgstr "" #: lang/json/GENERIC_from_json.py @@ -53051,12 +54760,6 @@ msgstr "" "Una réplica de Mjölnir, el martillo de Thor. Un rumor dice que es capaz de " "aplanar montañas de un solo golpe. Está decorado con adornos de oro y plata." -#: lang/json/GENERIC_from_json.py -msgid "Gungnir" -msgid_plural "Gungnirs" -msgstr[0] "Gungnir" -msgstr[1] "Gungnirs" - #. ~ Description for Gungnir #: lang/json/GENERIC_from_json.py msgid "" @@ -54082,6 +55785,300 @@ msgstr "ARTEFACTOS" msgid "ARMOR" msgstr "ARMADURA" +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "ITEMS WORN" +msgstr "OBJETOS PUESTOS" + +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "WEAPON HELD" +msgstr "ARMA EMPUÑADA" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Unsorted" +msgstr "" + +#. ~ Description for Loot: Unsorted +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " +"sort items inside. It can overlap with Loot zones of different types." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Food" +msgstr "Cosas: Comida" + +#. ~ Description for Loot: Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for comestibles. If more specific food zone is not defined, all" +" food is moved here." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Food" +msgstr "Cosas: P.Comida" + +#. ~ Description for Loot: P.Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for perishable comestibles. Does include perishable drinks if " +"such zone is not specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drink" +msgstr "" + +#. ~ Description for Loot: Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for drinks. Does include perishable drinks if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Drink" +msgstr "Cosas: P.Bebidas" + +#. ~ Description for Loot: P.Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for perishable drinks." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Guns" +msgstr "Cosas: Armas de Fuego" + +#. ~ Description for Loot: Guns +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for guns, bows and similar wearpons." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Magazines" +msgstr "Cosas: Cargadores" + +#. ~ Description for Loot: Magazines +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for gun magazines." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ammo" +msgstr "Cosas: Munición" + +#. ~ Description for Loot: Ammo +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for ammo." +msgstr "Lugar para la munición." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Weapons" +msgstr "" + +#. ~ Description for Loot: Weapons +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for melee weapons." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Tools" +msgstr "" + +#. ~ Description for Loot: Tools +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for tools." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Clothing" +msgstr "Cosas: Ropa" + +#. ~ Description for Loot: Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for clothing. Does include filthy clothing if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Clothing" +msgstr "" + +#. ~ Description for Loot: F.Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy clothing." +msgstr "Lugar para la ropa sucia." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drugs" +msgstr "Cosas: Drogas" + +#. ~ Description for Loot: Drugs +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for drugs and other medical items." +msgstr "Lugar para drogas y otros objetos médicos." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Books" +msgstr "Cosas: Libros" + +#. ~ Description for Loot: Books +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for books and magazines." +msgstr "Lugar para libros y revistas." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mods" +msgstr "" + +#. ~ Description for Loot: Mods +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firearm modifications and similar items." +msgstr "Lugar para modificaciones de armas de fuego y similares." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mutagens" +msgstr "" + +#. ~ Description for Loot: Mutagens +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for mutagens, serums, and purifiers." +msgstr "Lugar para mutágenos, sueros y purificantes." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Bionics" +msgstr "Cosas: Biónicos" + +#. ~ Description for Loot: Bionics +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for Compact Bionics Modules, a.k.a. CBMS." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: V.Parts" +msgstr "Cosas: Partes de Vehículos" + +#. ~ Description for Loot: V.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for vehicle parts." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Other" +msgstr "Cosas: Otros" + +#. ~ Description for Loot: Other +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for other miscellaneous items." +msgstr "Lugar para otros objetos varios." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Fuel" +msgstr "Cosas: Combustible" + +#. ~ Description for Loot: Fuel +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for gasoline, diesel, lamp oil and other substances used as a " +"fuel." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Seeds" +msgstr "Cosas: Semillas" + +#. ~ Description for Loot: Seeds +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for seeds, stems and similar items." +msgstr "Lugar para semillas, tallos y similares." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Chemical" +msgstr "Cosas: Químicos" + +#. ~ Description for Loot: Chemical +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for chemicals." +msgstr "Lugar para químicos." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: S.Parts" +msgstr "Cosas: S.Partes" + +#. ~ Description for Loot: S.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for spare parts." +msgstr "Lugar para partes sueltas." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Artifacts" +msgstr "" + +#. ~ Description for Loot: Artifacts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for artifacts" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Corpses" +msgstr "" + +#. ~ Description for Loot: Corpses +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for corpses" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Armor" +msgstr "" + +#. ~ Description for Loot: Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for armor. Does include filthy armor if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Armor" +msgstr "" + +#. ~ Description for Loot: F.Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy armor." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Wood" +msgstr "" + +#. ~ Description for Loot: Wood +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firewood and items that can be used as such." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Custom" +msgstr "" + +#. ~ Description for Loot: Custom +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for loot with a custom filter that you can modify" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ignore" +msgstr "Cosas: Ignorar" + +#. ~ Description for Loot: Ignore +#: lang/json/LOOT_ZONE_from_json.py +msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." +msgstr "" +"Los objetos dentro de esta zona son ignorados por la acción \"ordenar " +"cosas\"." + #: lang/json/MAGAZINE_from_json.py msgid "ultra-light battery" msgid_plural "ultra-light batteries" @@ -54303,7 +56300,7 @@ msgstr[1] "" #: lang/json/MAGAZINE_from_json.py msgid "" "This is a heavy battery cell, universally compatible with all kinds of " -"industrial-grade equipment and large tools. The battery's chemistry means " +"industrial-grade equipment and large tools. The battery's chemistry means " "that it has a very high capacity, but cannot be recharged." msgstr "" @@ -54845,17 +56842,6 @@ msgstr "" msgid "A 14 round double stack box magazine for the SIG Sauer P320." msgstr "" -#: lang/json/MAGAZINE_from_json.py -msgid "Taurus .38 magazine" -msgstr "cargador Taurus .38" - -#. ~ Description for Taurus .38 magazine -#: lang/json/MAGAZINE_from_json.py -msgid "A compact steel box magazine for use with the Taurus Pro .38 pistol." -msgstr "" -"Es un cargador compacto de caja de acero para usar con la pistola Taurus Pro" -" .38." - #: lang/json/MAGAZINE_from_json.py msgid ".38/.357 7-round speedloader" msgstr "" @@ -54929,6 +56915,16 @@ msgstr "" msgid "A 10-round steel box magazine for use with the Hi-Point CF-380." msgstr "" +#: lang/json/MAGAZINE_from_json.py +msgid "Taurus Spectrum magazine" +msgstr "" + +#. ~ Description for Taurus Spectrum magazine +#: lang/json/MAGAZINE_from_json.py +msgid "" +"A compact, 6-round steel box magazine for use with the Taurus Spectrum." +msgstr "" + #: lang/json/MAGAZINE_from_json.py msgid "M1911 .38 Super magazine" msgstr "" @@ -56035,17 +58031,6 @@ msgstr "" "soldadura. Está marcado con diversos símbolos desvanecidos y ahora " "ilegibles." -#: lang/json/MAGAZINE_from_json.py -msgid "oxygen cylinder" -msgstr "" - -#. ~ Description for oxygen cylinder -#: lang/json/MAGAZINE_from_json.py -msgid "" -"A large steel cylinder used for storing pressurized gas. It is marked with a" -" faded, but legible O2 symbol." -msgstr "" - #: lang/json/MAGAZINE_from_json.py lang/json/vehicle_part_from_json.py msgid "car battery" msgid_plural "car batteries" @@ -56795,6 +58780,15 @@ msgstr "" "La ropa sucia (dejada por los zombies) causará penalizaciones de moral y, si" " te golpean en combate, infecciones." +#: lang/json/MOD_INFO_from_json.py +msgid "Fuji's Military Profession Pack" +msgstr "" + +#. ~ Description for Fuji's Military Profession Pack +#: lang/json/MOD_INFO_from_json.py +msgid "Numerous military themed professions" +msgstr "" + #: lang/json/MOD_INFO_from_json.py msgid "Fuji's More Buildings" msgstr "Más Edificios de Fuji" @@ -56957,7 +58951,7 @@ msgstr "" msgid "" "Cataclysm is nice, but what if you could sweeten it a bit? What about " "walking through this world as a human shaped piece of sugar with your pet " -"necco waffer?" +"necco wafer?" msgstr "" #: lang/json/MOD_INFO_from_json.py @@ -57584,11 +59578,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "goose" -msgid_plural "gooses" +msgid_plural "geese" msgstr[0] "" msgstr[1] "" -#. ~ Description for goose +#. ~ Description for {'str': 'goose', 'str_pl': 'geese'} #: lang/json/MONSTER_from_json.py msgid "A Canadian goose, a common waterfowl that regrets leaving Canada." msgstr "" @@ -57887,60 +59881,60 @@ msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "" "Many times as large as a normal manhack, this flying quadcopter drone " -"appears to have a mininuke inside. If this is targeting you... Run." +"appears to have a mininuke inside. If this is targeting you… Run." msgstr "" #: lang/json/MONSTER_from_json.py msgid "tiny fish" -msgid_plural "tiny fishs" +msgid_plural "tiny fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for tiny fish +#. ~ Description for {'str': 'tiny fish', 'str_pl': 'tiny fish'} #: lang/json/MONSTER_from_json.py msgid "A tiny fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "small fish" -msgid_plural "small fishs" +msgid_plural "small fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for small fish +#. ~ Description for {'str': 'small fish', 'str_pl': 'small fish'} #: lang/json/MONSTER_from_json.py msgid "A small fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "medium fish" -msgid_plural "medium fishs" +msgid_plural "medium fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for medium fish +#. ~ Description for {'str': 'medium fish', 'str_pl': 'medium fish'} #: lang/json/MONSTER_from_json.py msgid "A medium fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "large fish" -msgid_plural "large fishs" +msgid_plural "large fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for large fish +#. ~ Description for {'str': 'large fish', 'str_pl': 'large fish'} #: lang/json/MONSTER_from_json.py msgid "A large fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "huge fish" -msgid_plural "huge fishs" +msgid_plural "huge fish" msgstr[0] "" msgstr[1] "" -#. ~ Description for huge fish +#. ~ Description for {'str': 'huge fish', 'str_pl': 'huge fish'} #: lang/json/MONSTER_from_json.py msgid "A huge fish." msgstr "" @@ -58072,11 +60066,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "whitefish" -msgid_plural "whitefishs" +msgid_plural "whitefish" msgstr[0] "" msgstr[1] "" -#. ~ Description for whitefish +#. ~ Description for {'str': 'whitefish', 'str_pl': 'whitefish'} #: lang/json/MONSTER_from_json.py msgid "" "A whitefish, closely related to salmon. One can assume they are just as " @@ -58087,22 +60081,22 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "largemouth bass" -msgid_plural "largemouth basss" +msgid_plural "largemouth bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for largemouth bass +#. ~ Description for {'str': 'largemouth bass', 'str_pl': 'largemouth bass'} #: lang/json/MONSTER_from_json.py msgid "A Largemouth Bass. Very popular with sports fishermen." msgstr "" #: lang/json/MONSTER_from_json.py msgid "smallmouth bass" -msgid_plural "smallmouth basss" +msgid_plural "smallmouth bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for smallmouth bass +#. ~ Description for {'str': 'smallmouth bass', 'str_pl': 'smallmouth bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Smallmouth Bass. Being intolerant to pollution in the water, smallmouth " @@ -58111,11 +60105,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "striped bass" -msgid_plural "striped basss" +msgid_plural "striped bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for striped bass +#. ~ Description for {'str': 'striped bass', 'str_pl': 'striped bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Striped Bass. Mostly a salt water fish, they migrate to fresher water to " @@ -58124,11 +60118,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "white bass" -msgid_plural "white basss" +msgid_plural "white bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for white bass +#. ~ Description for {'str': 'white bass', 'str_pl': 'white bass'} #: lang/json/MONSTER_from_json.py msgid "" "A White Bass. Common to the region, a slab-sided and spiny-rayed little " @@ -58137,11 +60131,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "perch" -msgid_plural "perchs" +msgid_plural "perches" msgstr[0] "" msgstr[1] "" -#. ~ Description for perch +#. ~ Description for {'str': 'perch', 'str_pl': 'perches'} #: lang/json/MONSTER_from_json.py msgid "" "A small spritely Perch. A very bony fish, still got some tasty meat on it " @@ -58161,22 +60155,23 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "sunfish" -msgid_plural "sunfishs" +msgid_plural "sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for sunfish +#. ~ Description for {'str': 'sunfish', 'str_pl': 'sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "pumpkinseed sunfish" -msgid_plural "pumpkinseed sunfishs" +msgid_plural "pumpkinseed sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for pumpkinseed sunfish +#. ~ Description for {'str': 'pumpkinseed sunfish', 'str_pl': 'pumpkinseed +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Pumpkinseed Sunfish. A small fish related to bass or bluegill." msgstr "" @@ -58195,55 +60190,56 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "redbreast sunfish" -msgid_plural "redbreast sunfishs" +msgid_plural "redbreast sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for redbreast sunfish +#. ~ Description for {'str': 'redbreast sunfish', 'str_pl': 'redbreast +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redbreast Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "green sunfish" -msgid_plural "green sunfishs" +msgid_plural "green sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for green sunfish +#. ~ Description for {'str': 'green sunfish', 'str_pl': 'green sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Green Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "longear sunfish" -msgid_plural "longear sunfishs" +msgid_plural "longear sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for longear sunfish +#. ~ Description for {'str': 'longear sunfish', 'str_pl': 'longear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Longear Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "redear sunfish" -msgid_plural "redear sunfishs" +msgid_plural "redear sunfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for redear sunfish +#. ~ Description for {'str': 'redear sunfish', 'str_pl': 'redear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redear Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "rock bass" -msgid_plural "rock basss" +msgid_plural "rock bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for rock bass +#. ~ Description for {'str': 'rock bass', 'str_pl': 'rock bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Rock Bass. Related to sunfish, this tiny fish has a camoflauge-like " @@ -58252,11 +60248,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "calico bass" -msgid_plural "calico basss" +msgid_plural "calico bass" msgstr[0] "" msgstr[1] "" -#. ~ Description for calico bass +#. ~ Description for {'str': 'calico bass', 'str_pl': 'calico bass'} #: lang/json/MONSTER_from_json.py msgid "A Calico Bass. A medium-sized fish also known as a 'Crappie'." msgstr "" @@ -58287,22 +60283,22 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "channel catfish" -msgid_plural "channel catfishs" +msgid_plural "channel catfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for channel catfish +#. ~ Description for {'str': 'channel catfish', 'str_pl': 'channel catfish'} #: lang/json/MONSTER_from_json.py msgid "A Channel Catfish, they have a forked tail and long whiskers." msgstr "" #: lang/json/MONSTER_from_json.py msgid "white catfish" -msgid_plural "white catfishs" +msgid_plural "white catfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for white catfish +#. ~ Description for {'str': 'white catfish', 'str_pl': 'white catfish'} #: lang/json/MONSTER_from_json.py msgid "A White Catfish, a small whiskered fish with a broad head." msgstr "" @@ -58398,11 +60394,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fallfish" -msgid_plural "fallfishs" +msgid_plural "fallfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for fallfish +#. ~ Description for {'str': 'fallfish', 'str_pl': 'fallfish'} #: lang/json/MONSTER_from_json.py msgid "" "A Fallfish. These fish are related to gar but without the huge teeth, skin " @@ -58420,26 +60416,21 @@ msgstr[1] "" msgid "" "These things were once considered pests not worth eating, then some " "marketing genius started selling them to people as a delicacy and they took " -"off in popularity... and price." +"off in popularity… and price." msgstr "" -"Estas cosas fueron consideradas alguna vez como una plaga que no valía la " -"pena comerse. Después, algún genio del marketing empezó a venderlas como una" -" exquisitez y se volvieron muy populares... y caras." #: lang/json/MONSTER_from_json.py msgid "crayfish" -msgid_plural "crayfishs" +msgid_plural "crayfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for crayfish +#. ~ Description for {'str': 'crayfish', 'str_pl': 'crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "If you could get ahold of a bunch more of these, a hefty pot of boiling " -"water, and some spicy seasonings..." +"water, and some spicy seasonings…" msgstr "" -"Si pudieras conseguir una buena cantidad de estos, una olla grande con agua " -"hirviendo, y algunos condimentos..." #: lang/json/MONSTER_from_json.py msgid "Blinky" @@ -58447,7 +60438,7 @@ msgid_plural "Blinkies" msgstr[0] "Blinky" msgstr[1] "Blinkies" -#. ~ Description for Blinky +#. ~ Description for {'str': 'Blinky', 'str_pl': 'Blinkies'} #: lang/json/MONSTER_from_json.py msgid "A strange three-eyed fish." msgstr "Un extraño pez de tres ojos." @@ -58567,11 +60558,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant cockroach" -msgid_plural "giant cockroachs" +msgid_plural "giant cockroaches" msgstr[0] "" msgstr[1] "" -#. ~ Description for giant cockroach +#. ~ Description for {'str': 'giant cockroach', 'str_pl': 'giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "A mutant cockroach the size of a small dog." msgstr "Es una cucaracha mutante, del tamaño de un perro pequeño." @@ -58589,11 +60580,12 @@ msgstr "Es una cucaracha mutante bebé, del tamaño de una rata." #: lang/json/MONSTER_from_json.py msgid "pregnant giant cockroach" -msgid_plural "pregnant giant cockroachs" +msgid_plural "pregnant giant cockroaches" msgstr[0] "" msgstr[1] "" -#. ~ Description for pregnant giant cockroach +#. ~ Description for {'str': 'pregnant giant cockroach', 'str_pl': 'pregnant +#. giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant cockroach the size of a small dog. Its abdomen is heavily swollen." @@ -58636,7 +60628,7 @@ msgid_plural "giant dragonflies" msgstr[0] "libélula gigante" msgstr[1] "libélulas gigantes" -#. ~ Description for giant dragonfly +#. ~ Description for {'str': 'giant dragonfly', 'str_pl': 'giant dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A ferocious mutant dragonfly as big as a cat, darting through the air with a" @@ -58651,7 +60643,7 @@ msgid_plural "giant flies" msgstr[0] "mosca gigante" msgstr[1] "moscas gigantes" -#. ~ Description for giant fly +#. ~ Description for {'str': 'giant fly', 'str_pl': 'giant flies'} #: lang/json/MONSTER_from_json.py msgid "" "A tremendous housefly the size of a small dog, predictably accompanied by a " @@ -58859,11 +60851,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dermatik larva" -msgid_plural "dermatik larvas" +msgid_plural "dermatik larvae" msgstr[0] "" msgstr[1] "" -#. ~ Description for dermatik larva +#. ~ Description for {'str': 'dermatik larva', 'str_pl': 'dermatik larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A fat white grub as big as a squirrel, with a pair of large, spadelike " @@ -58902,11 +60894,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "acidic ant larva" -msgid_plural "acidic ant larvas" +msgid_plural "acidic ant larvae" msgstr[0] "" msgstr[1] "" -#. ~ Description for acidic ant larva +#. ~ Description for {'str': 'acidic ant larva', 'str_pl': 'acidic ant +#. larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A squirming yellow grub that seems to be oozing liquid from both ends of its" @@ -58969,11 +60962,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "ant larva" -msgid_plural "ant larvas" +msgid_plural "ant larvae" msgstr[0] "" msgstr[1] "" -#. ~ Description for ant larva +#. ~ Description for {'str': 'ant larva', 'str_pl': 'ant larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A pulsating sausage of glistening white flesh, the size of a large cat. On " @@ -59267,11 +61260,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Labrador puppy" -msgid_plural "Labrador puppys" +msgid_plural "Labrador puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for Labrador puppy +#. ~ Description for {'str': 'Labrador puppy', 'str_pl': 'Labrador puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Labrador puppy. Much safer to tame than an adult " @@ -59293,11 +61286,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bulldog puppy" -msgid_plural "bulldog puppys" +msgid_plural "bulldog puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for bulldog puppy +#. ~ Description for {'str': 'bulldog puppy', 'str_pl': 'bulldog puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless American bulldog puppy. Much safer to tame than an" @@ -59306,11 +61299,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull mix" -msgid_plural "pit bull mixs" +msgid_plural "pit bull mixes" msgstr[0] "" msgstr[1] "" -#. ~ Description for pit bull mix +#. ~ Description for {'str': 'pit bull mix', 'str_pl': 'pit bull mixes'} #: lang/json/MONSTER_from_json.py msgid "" "The oft-misunderstood pit bull is not actually a single breed but a label " @@ -59321,11 +61314,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull puppy" -msgid_plural "pit bull puppys" +msgid_plural "pit bull puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for pit bull puppy +#. ~ Description for {'str': 'pit bull puppy', 'str_pl': 'pit bull puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless pit bull puppy. Much safer to tame than an adult " @@ -59347,11 +61340,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "beagle puppy" -msgid_plural "beagle puppys" +msgid_plural "beagle puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for beagle puppy +#. ~ Description for {'str': 'beagle puppy', 'str_pl': 'beagle puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless beagle puppy. Much safer to tame than an adult " @@ -59374,11 +61367,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "border collie puppy" -msgid_plural "border collie puppys" +msgid_plural "border collie puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for border collie puppy +#. ~ Description for {'str': 'border collie puppy', 'str_pl': 'border collie +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Border Collie puppy. Much safer to tame than an " @@ -59400,11 +61394,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "boxer puppy" -msgid_plural "boxer puppys" +msgid_plural "boxer puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for boxer puppy +#. ~ Description for {'str': 'boxer puppy', 'str_pl': 'boxer puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless boxer puppy. Much safer to tame than an adult dog." @@ -59425,11 +61419,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Chihuahua puppy" -msgid_plural "Chihuahua puppys" +msgid_plural "Chihuahua puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for Chihuahua puppy +#. ~ Description for {'str': 'Chihuahua puppy', 'str_pl': 'Chihuahua puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Chihuahua puppy. Much safer to tame than an adult " @@ -59452,11 +61446,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dachshund puppy" -msgid_plural "dachshund puppys" +msgid_plural "dachshund puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for dachshund puppy +#. ~ Description for {'str': 'dachshund puppy', 'str_pl': 'dachshund puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless dachshund puppy. Much safer to tame than an adult " @@ -59481,11 +61475,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "German shepherd puppy" -msgid_plural "German shepherd puppys" +msgid_plural "German shepherd puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for German shepherd puppy +#. ~ Description for {'str': 'German shepherd puppy', 'str_pl': 'German +#. shepherd puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless German shepherd puppy. Much safer to tame than an " @@ -59494,11 +61489,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees" -msgid_plural "Great Pyreneess" +msgid_plural "Great Pyrenees" msgstr[0] "" msgstr[1] "" -#. ~ Description for Great Pyrenees +#. ~ Description for {'str': 'Great Pyrenees', 'str_pl': 'Great Pyrenees'} #: lang/json/MONSTER_from_json.py msgid "" "A large and powerful breed, the Great Pyrenees has a beautiful, thick white " @@ -59508,11 +61503,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees puppy" -msgid_plural "Great Pyrenees puppys" +msgid_plural "Great Pyrenees puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for Great Pyrenees puppy +#. ~ Description for {'str': 'Great Pyrenees puppy', 'str_pl': 'Great Pyrenees +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Great Pyrenees puppy. Much safer to tame than an " @@ -59535,11 +61531,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rottweiler puppy" -msgid_plural "rottweiler puppys" +msgid_plural "rottweiler puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for rottweiler puppy +#. ~ Description for {'str': 'rottweiler puppy', 'str_pl': 'rottweiler +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Rottweiler puppy. Much safer to tame than an adult" @@ -59561,11 +61558,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cattle dog puppy" -msgid_plural "cattle dog puppys" +msgid_plural "cattle dog puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for cattle dog puppy +#. ~ Description for {'str': 'cattle dog puppy', 'str_pl': 'cattle dog +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Australian cattle dog puppy. Much safer to tame " @@ -59578,7 +61576,7 @@ msgid_plural "foxes" msgstr[0] "zorro" msgstr[1] "zorros" -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A small omnivorous canine with an almost cat-like manner. It is a solitary " @@ -59587,7 +61585,7 @@ msgstr "" "Un pequeño canino omnívoro con maneras casi de gato. Es un cazador " "solitario, y uno de los únicos cánidos capaz de trepar árboles" -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "The red fox, an omnivorous canine and largest of the true foxes, it is a " @@ -59676,11 +61674,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "moose" -msgid_plural "mooses" +msgid_plural "moose" msgstr[0] "" msgstr[1] "" -#. ~ Description for moose +#. ~ Description for {'str': 'moose', 'str_pl': 'moose'} #: lang/json/MONSTER_from_json.py msgid "" "The Eastern moose, the largest living species of deer. While they aren't " @@ -59836,10 +61834,8 @@ msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "" "A worm-tailed rodent with long whiskers and beady eyes. The way it squeaks " -"makes it sound... hungry." +"makes it sound… hungry." msgstr "" -"Un roedor con la cola como un gusano, largos bigotes ojos pequeños y " -"brillantes. La manera en que chilla la hace parecer... hambrienta." #: lang/json/MONSTER_from_json.py msgid "lamb" @@ -59861,7 +61857,7 @@ msgid_plural "sheep" msgstr[0] "oveja" msgstr[1] "ovejas" -#. ~ Description for sheep +#. ~ Description for {'str': 'sheep', 'str_pl': 'sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A timid, hooved grazing mammal, and one of the first animals ever " @@ -59921,7 +61917,7 @@ msgid_plural "wolves" msgstr[0] "lobo" msgstr[1] "lobos" -#. ~ Description for wolf +#. ~ Description for {'str': 'wolf', 'str_pl': 'wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A cunning pack predator, once extinct in the New England area, the wolf was " @@ -60194,7 +62190,7 @@ msgid_plural "blank bodies" msgstr[0] "cadáver vacío" msgstr[1] "cadáveres vacíos" -#. ~ Description for blank body +#. ~ Description for {'str': 'blank body', 'str_pl': 'blank bodies'} #: lang/json/MONSTER_from_json.py msgid "" "This is some form of unnatural changeling creature; its appearance is a " @@ -60346,11 +62342,22 @@ msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "" "This boomer, normally swollen and ready to burst, has strengthened and " -"solidified. The bile dribbling from its mouth also appears to have " -"changed..." +"solidified. The bile dribbling from its mouth also appears to have changed…" +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "dissoluted devourer" +msgid_plural "dissoluted devourers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for dissoluted devourer +#: lang/json/MONSTER_from_json.py +msgid "" +"Human bodies fused together into a colossus with heads and limbs sticking " +"out of its bloated body. You may have trouble estimating its healthiness " +"and its capabilities might change." msgstr "" -"Este boomer, hinchado y listo para explotar como todos, se ha fortalecido y " -"solidificado. La bilis que gotea de su boca también parece haber cambiado..." #: lang/json/MONSTER_from_json.py msgid "breather" @@ -60403,7 +62410,7 @@ msgid "" "A human fused with a mess of metal parts and wires. While its eyes are " "empty, flashes of pain pass across its face reminiscent of the person " "trapped in this grotesque body. With enough surgical skills one might be " -"able to give them back some humanity. If only they cared..." +"able to give them back some humanity. If only they cared…" msgstr "" #: lang/json/MONSTER_from_json.py @@ -60876,11 +62883,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant crayfish" -msgid_plural "giant crayfishs" +msgid_plural "giant crayfish" msgstr[0] "" msgstr[1] "" -#. ~ Description for giant crayfish +#. ~ Description for {'str': 'giant crayfish', 'str_pl': 'giant crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant, terrestrial variety of the signal crayfish, this massive " @@ -61023,7 +63030,7 @@ msgid_plural "homunculuses" msgstr[0] "homúnculo" msgstr[1] "homúnculos" -#. ~ Description for homunculus +#. ~ Description for {'str': 'homunculus', 'str_pl': 'homunculuses'} #: lang/json/MONSTER_from_json.py msgid "" "A pale hairless man with an impressive athletic physique. Its lidless eyes " @@ -61034,11 +63041,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hound of tindalos" -msgid_plural "hound of tindaloss" +msgid_plural "hounds of tindalos" msgstr[0] "" msgstr[1] "" -#. ~ Description for hound of tindalos +#. ~ Description for {'str': 'hound of tindalos', 'str_pl': 'hounds of +#. tindalos'} #: lang/json/MONSTER_from_json.py msgid "" "A grotesque hound-like beast, its frame is angular and emaciated and its " @@ -61276,18 +63284,14 @@ msgid_plural "Shia LaBeouf" msgstr[0] "Shia LaBeouf" msgstr[1] "Shia LaBeouf" -#. ~ Description for Shia LaBeouf +#. ~ Description for {'str': 'Shia LaBeouf', 'str_pl': 'Shia LaBeouf'} #: lang/json/MONSTER_from_json.py msgid "" -"Living in the woods, \n" -"killing for sport, \n" -"eating all the bodies, \n" +"Living in the woods,\n" +"killing for sport,\n" +"eating all the bodies,\n" "actual cannibal Shia LaBeouf." msgstr "" -"Viviendo en el bosque, \n" -"matando por deporte, \n" -"comiéndose todos los cadáveres, \n" -"es el verdadero caníbal Shia LaBeouf." #: lang/json/MONSTER_from_json.py msgid "shoggoth" @@ -61461,7 +63465,7 @@ msgid_plural "twisted bodies" msgstr[0] "cuerpo retorcido" msgstr[1] "cuerpos retorcidos" -#. ~ Description for twisted body +#. ~ Description for {'str': 'twisted body', 'str_pl': 'twisted bodies'} #: lang/json/MONSTER_from_json.py msgid "" "A human body, but with its limbs, neck, and hair impossibly twisted. It " @@ -61477,7 +63481,7 @@ msgid_plural "vortexes" msgstr[0] "vórtice" msgstr[1] "vórtices" -#. ~ Description for vortex +#. ~ Description for {'str': 'vortex', 'str_pl': 'vortexes'} #: lang/json/MONSTER_from_json.py msgid "" "A twisting spot in the air, with some kind of morphing mass at its center." @@ -61560,6 +63564,20 @@ msgid "" "black eyes." msgstr "" +#: lang/json/MONSTER_from_json.py +msgid "wretched puker" +msgid_plural "wretched pukers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for wretched puker +#: lang/json/MONSTER_from_json.py +msgid "" +"A degenerate corpse, shambling as it walks. Several junks and waste " +"materials have unified into its skin and wounds around it reeks in black " +"goo." +msgstr "" + #: lang/json/MONSTER_from_json.py msgid "acidic zombie" msgid_plural "acidic zombies" @@ -61743,19 +63761,13 @@ msgstr[1] "" #. ~ Description for zombie dancer #: lang/json/MONSTER_from_json.py msgid "" -"The foulest stench is in the air, \n" -"The funk of forty thousand years, \n" -"And grisly ghouls from every tomb, \n" +"The foulest stench is in the air,\n" +"The funk of forty thousand years,\n" +"And grisly ghouls from every tomb,\n" "Are closing in to seal your doom!\n" "\n" "The dancer doesn't even notice you, it seems like something nearby is controlling it." msgstr "" -"El hedor más asqueroso está en el aire,\n" -"El funk de cuarenta mil años,\n" -"Y espeluznantes demonios de cada tumba,\n" -"se están acercando para sellar tu perdición!\n" -"\n" -"El bailarín ni siquiera se fija en ti, parece que algo cercano lo está controlando." #: lang/json/MONSTER_from_json.py msgid "zombie dog" @@ -61880,11 +63892,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gangrenous flesh" -msgid_plural "gangrenous fleshs" +msgid_plural "gangrenous flesh" msgstr[0] "" msgstr[1] "" -#. ~ Description for gangrenous flesh +#. ~ Description for {'str': 'gangrenous flesh', 'str_pl': 'gangrenous flesh'} #: lang/json/MONSTER_from_json.py msgid "" "Immobile from grievous wounds, its gray skin has bloated to near rupture " @@ -62077,15 +64089,11 @@ msgstr[1] "" #. ~ Description for Thriller #: lang/json/MONSTER_from_json.py msgid "" -"And though you fight to stay alive, \n" -"Your body starts to shiver. \n" -"For no mere mortal can resist, \n" +"And though you fight to stay alive,\n" +"Your body starts to shiver.\n" +"For no mere mortal can resist,\n" "The evil of the thriller." msgstr "" -"Y aunque luches para seguir vivo,\n" -"Su cuerpo comienza a temblar.\n" -"Porque ningún mortal puede resistirse,\n" -"El mal del thriller." #: lang/json/MONSTER_from_json.py msgid "zombie snapper" @@ -62570,7 +64578,7 @@ msgid_plural "dragonflies" msgstr[0] "libélula" msgstr[1] "libélulas" -#. ~ Description for dragonfly +#. ~ Description for {'str': 'dragonfly', 'str_pl': 'dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A thin-bodied insectoid predator with a large wingspan and big compound " @@ -63077,7 +65085,7 @@ msgid_plural "zombie children" msgstr[0] "niño zombi" msgstr[1] "niños zombis" -#. ~ Description for zombie child +#. ~ Description for {'str': 'zombie child', 'str_pl': 'zombie children'} #: lang/json/MONSTER_from_json.py msgid "" "It was only a child, and little is different about it now aside from the " @@ -63189,7 +65197,7 @@ msgid_plural "fungal children" msgstr[0] "" msgstr[1] "" -#. ~ Description for fungal child +#. ~ Description for {'str': 'fungal child', 'str_pl': 'fungal children'} #: lang/json/MONSTER_from_json.py msgid "" "It is hard to recognize a human child in this creature. Disgusting-looking " @@ -63470,11 +65478,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic fox" -msgid_plural "old animatronic foxs" +msgid_plural "old animatronic foxes" msgstr[0] "" msgstr[1] "" -#. ~ Description for old animatronic fox +#. ~ Description for {'str': 'old animatronic fox', 'str_pl': 'old animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -63487,11 +65496,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic fox" -msgid_plural "new animatronic foxs" +msgid_plural "new animatronic foxes" msgstr[0] "" msgstr[1] "" -#. ~ Description for new animatronic fox +#. ~ Description for {'str': 'new animatronic fox', 'str_pl': 'new animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -63504,11 +65514,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "wrecked animatronic fox" -msgid_plural "wrecked animatronic foxs" +msgid_plural "wrecked animatronic foxes" msgstr[0] "" msgstr[1] "" -#. ~ Description for wrecked animatronic fox +#. ~ Description for {'str': 'wrecked animatronic fox', 'str_pl': 'wrecked +#. animatronic foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A wrecked animatronic fox, laying in a pile on the ground. Its teeth and " @@ -63521,11 +65532,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic bunny" -msgid_plural "new animatronic bunnys" +msgid_plural "new animatronic bunnies" msgstr[0] "" msgstr[1] "" -#. ~ Description for new animatronic bunny +#. ~ Description for {'str': 'new animatronic bunny', 'str_pl': 'new +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its actually quite " @@ -63539,11 +65551,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic bunny" -msgid_plural "old animatronic bunnys" +msgid_plural "old animatronic bunnies" msgstr[0] "" msgstr[1] "" -#. ~ Description for old animatronic bunny +#. ~ Description for {'str': 'old animatronic bunny', 'str_pl': 'old +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its face has been torn" @@ -63771,10 +65784,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic sheep" msgid_plural "animatronic sheep" -msgstr[0] "oveja animatrónica" -msgstr[1] "ovejas animatrónicas" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for animatronic sheep +#. ~ Description for {'str': 'animatronic sheep', 'str_pl': 'animatronic +#. sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic sheep, nearly twice your size. Its wool is mangy and " @@ -63802,11 +65816,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic child" -msgid_plural "animatronic childs" +msgid_plural "animatronic children" msgstr[0] "" msgstr[1] "" -#. ~ Description for animatronic child +#. ~ Description for {'str': 'animatronic child', 'str_pl': 'animatronic +#. children'} #: lang/json/MONSTER_from_json.py msgid "" "An animatronic child. It looks like it's annoying as hell. Though it is a " @@ -63832,11 +65847,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic wolf" -msgid_plural "animatronic wolfs" +msgid_plural "animatronic wolves" msgstr[0] "" msgstr[1] "" -#. ~ Description for animatronic wolf +#. ~ Description for {'str': 'animatronic wolf', 'str_pl': 'animatronic +#. wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic wolf, nearly twice your size. If the animal " @@ -64005,11 +66021,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "minion of skeltal" -msgid_plural "minion of skeltals" +msgid_plural "minions of skeltal" msgstr[0] "" msgstr[1] "" -#. ~ Description for minion of skeltal +#. ~ Description for {'str': 'minion of skeltal', 'str_pl': 'minions of +#. skeltal'} #: lang/json/MONSTER_from_json.py msgid "A lesser skeleton, raised by the forlorn dooting of a trumpet." msgstr "" @@ -64031,11 +66048,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Compsognathus" -msgid_plural "Compsognathuss" +msgid_plural "Compsognathus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Compsognathus +#. ~ Description for {'str': 'Compsognathus', 'str_pl': 'Compsognathus'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal dinosaur about the size of a turkey. Its teeth and claws are " @@ -64046,11 +66063,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Gallimimus" -msgid_plural "Gallimimuss" +msgid_plural "Gallimimus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Gallimimus +#. ~ Description for {'str': 'Gallimimus', 'str_pl': 'Gallimimus'} #: lang/json/MONSTER_from_json.py msgid "" "A feathered bipedal dinosaur, standing as tall as a human. It looks " @@ -64061,11 +66078,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Titanis" -msgid_plural "Titaniss" +msgid_plural "Titanis" msgstr[0] "" msgstr[1] "" -#. ~ Description for Titanis +#. ~ Description for {'str': 'Titanis', 'str_pl': 'Titanis'} #: lang/json/MONSTER_from_json.py msgid "" "It looks like a dodo, only much bigger, with longer, muscular legs and a " @@ -64076,11 +66093,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Spinosaurus" -msgid_plural "Spinosauruss" +msgid_plural "Spinosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Spinosaurus +#. ~ Description for {'str': 'Spinosaurus', 'str_pl': 'Spinosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge dinosaur about the size of a small house, with a ferocious crocodile-" @@ -64091,22 +66108,23 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Tyrannosaurus rex" -msgid_plural "Tyrannosaurus rexs" +msgid_plural "Tyrannosaurus rex" msgstr[0] "" msgstr[1] "" -#. ~ Description for Tyrannosaurus rex +#. ~ Description for {'str': 'Tyrannosaurus rex', 'str_pl': 'Tyrannosaurus +#. rex'} #: lang/json/MONSTER_from_json.py msgid "Look at those TEETH!" msgstr "¡Mirá lo que son esos DIENTES!" #: lang/json/MONSTER_from_json.py msgid "Triceratops" -msgid_plural "Triceratopss" +msgid_plural "Triceratops" msgstr[0] "" msgstr[1] "" -#. ~ Description for Triceratops +#. ~ Description for {'str': 'Triceratops', 'str_pl': 'Triceratops'} #: lang/json/MONSTER_from_json.py msgid "" "A massive rhino-like dinosaur with a bony crest from which three large horns" @@ -64117,11 +66135,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Stegosaurus" -msgid_plural "Stegosauruss" +msgid_plural "Stegosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Stegosaurus +#. ~ Description for {'str': 'Stegosaurus', 'str_pl': 'Stegosaurus'} #: lang/json/MONSTER_from_json.py msgid "A large quadruped dinosaur with plates on its back, and a spiked tail." msgstr "" @@ -64129,11 +66147,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Ankylosaurus" -msgid_plural "Ankylosauruss" +msgid_plural "Ankylosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Ankylosaurus +#. ~ Description for {'str': 'Ankylosaurus', 'str_pl': 'Ankylosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "This dinosaur looks like a giant prehistoric armadillo. Its tail ends in a " @@ -64144,11 +66162,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Allosaurus" -msgid_plural "Allosauruss" +msgid_plural "Allosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Allosaurus +#. ~ Description for {'str': 'Allosaurus', 'str_pl': 'Allosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A large predatory bipedal dinosaur, with tiger-like stripes on its broad " @@ -64189,11 +66207,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Deinonychus" -msgid_plural "Deinonychuss" +msgid_plural "Deinonychus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Deinonychus +#. ~ Description for {'str': 'Deinonychus', 'str_pl': 'Deinonychus'} #: lang/json/MONSTER_from_json.py msgid "" "A medium-sized bipedal dinosaur covered with feathers. At the end of each " @@ -64219,11 +66237,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Parasaurolophus" -msgid_plural "Parasaurolophuss" +msgid_plural "Parasaurolophus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Parasaurolophus +#. ~ Description for {'str': 'Parasaurolophus', 'str_pl': 'Parasaurolophus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge mottled dinosaur with a blunt head crest. It contentedly strips " @@ -64246,11 +66264,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Dilophosaurus" -msgid_plural "Dilophosauruss" +msgid_plural "Dilophosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Dilophosaurus +#. ~ Description for {'str': 'Dilophosaurus', 'str_pl': 'Dilophosaurus'} #: lang/json/MONSTER_from_json.py msgid "A medium dinosaur with a sticky green bile dripping from its teeth." msgstr "" @@ -64345,6 +66363,20 @@ msgid "" "fully grown, it is the size of a full-grown bull." msgstr "" +#: lang/json/MONSTER_from_json.py +msgid "adult black dragon" +msgid_plural "adult black dragons" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for adult black dragon +#: lang/json/MONSTER_from_json.py +msgid "" +"A black-scaled monstrosity with deep-set eye sockets glowing green with " +"evil. Its face and skull appear skeletal, and acid drips from its dagger-" +"like jaws." +msgstr "" + #: lang/json/MONSTER_from_json.py msgid "owlbear" msgid_plural "owlbears" @@ -64380,21 +66412,23 @@ msgid "The black pudding burns you with acid!" msgstr "" #: lang/json/MONSTER_from_json.py -msgid "nothic" -msgid_plural "nothics" +msgid "krabgek" +msgid_plural "krabgeks" msgstr[0] "" msgstr[1] "" -#. ~ Description for nothic +#. ~ Description for krabgek #: lang/json/MONSTER_from_json.py msgid "" -"A baleful eye peers out from the darkness, its gleam hinting at a weird " -"intelligence and unnerving malevolence." +"A large baleful eye peers out from the darkness, its gleam hinting at a " +"weird intelligence and unnerving malevolence. The eye oozes some pinkish " +"liquid, and the weirdly humanoid figure is covered in sharp blue-black " +"triangular plates." msgstr "" -#. ~ Attack message of monster "nothic"'s spell "necrotic_gaze" +#. ~ Attack message of monster "krabgek"'s spell "necrotic_gaze" #: lang/json/MONSTER_from_json.py -msgid "The nothic gazes at %3$s!" +msgid "The krabgek gazes at %3$s!" msgstr "" #: lang/json/MONSTER_from_json.py @@ -64442,8 +66476,47 @@ msgstr[1] "" #. ~ Description for troll #: lang/json/MONSTER_from_json.py msgid "" -"Monstrous, green-skinned humanoid. Trolls are renowned for their thick hides" -" and natural regenerative ability." +"Monstrous, green-skinned humanoid. Trolls are renowned for their thick " +"hides and natural regenerative ability." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "stirge" +msgid_plural "stirges" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for stirge +#: lang/json/MONSTER_from_json.py +msgid "" +"This horrid flying creature looks like a cross between a large bat and " +"oversized mosquito." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "shrieker" +msgid_plural "shriekers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for shrieker +#: lang/json/MONSTER_from_json.py +msgid "" +"A shrieker is a human-sized mushroom that emits a piercing screech to drive " +"off creatures that disturb it." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "lemure" +msgid_plural "lemures" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lemure +#: lang/json/MONSTER_from_json.py +msgid "" +"A lemure resembles a molten mass of flesh with a vaguely humanoid head and " +"torso." msgstr "" #: lang/json/MONSTER_from_json.py @@ -64951,11 +67024,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "craftbuddy" -msgid_plural "craftbuddys" +msgid_plural "craftbuddies" msgstr[0] "" msgstr[1] "" -#. ~ Description for craftbuddy +#. ~ Description for {'str': 'craftbuddy', 'str_pl': 'craftbuddies'} #: lang/json/MONSTER_from_json.py msgid "" "A mobile crafting station used by workers in mines, on oil rigs, and in " @@ -65617,11 +67690,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "robote deluxe" -msgid_plural "robote deluxes" +msgid_plural "robote deluxe" msgstr[0] "" msgstr[1] "" -#. ~ Description for robote deluxe +#. ~ Description for {'str': 'robote deluxe', 'str_pl': 'robote deluxe'} #: lang/json/MONSTER_from_json.py msgid "" "A diamond-studded gold-plated robot armed with a pair of integrated 9mm " @@ -65663,11 +67736,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "glittering lady" -msgid_plural "glittering ladys" +msgid_plural "glittering ladies" msgstr[0] "" msgstr[1] "" -#. ~ Description for glittering lady +#. ~ Description for {'str': 'glittering lady', 'str_pl': 'glittering ladies'} #: lang/json/MONSTER_from_json.py msgid "" "A salvaged advanced robot transformed into a luminous beacon of destruction." @@ -65807,13 +67880,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gelatinous mass" -msgid_plural "gelatinous masss" +msgid_plural "gelatinous mass" msgstr[0] "" msgstr[1] "" -#. ~ Description for gelatinous mass -#. ~ Description for gray mass -#. ~ Description for gelatinous mass +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} +#. ~ Description for {'str': 'gray mass', 'str_pl': 'gray mass'} +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} #: lang/json/MONSTER_from_json.py msgid "" "An escaping noisy blob, catch it before it brings in every zombie for miles!" @@ -65823,7 +67896,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gray mass" -msgid_plural "gray masss" +msgid_plural "gray mass" msgstr[0] "" msgstr[1] "" @@ -66405,6 +68478,25 @@ msgstr "" msgid "Summon some bugs." msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Artifact Noise" +msgstr "" + +#. ~ Description for Artifact Noise +#: lang/json/SPELL_from_json.py +msgid "Makes a noise at your location" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "a deafening boom" +msgstr "" + +#. ~ Message for SPELL 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "You hear a deafening boom from your location!" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Artifact Light" msgstr "" @@ -66485,8 +68577,8 @@ msgstr "" #. ~ Message for SPELL 'Artifact Map' #: lang/json/SPELL_from_json.py src/iuse.cpp -msgid "You have a vision of the surrounding area..." -msgstr "Tienes una visión del área circundante..." +msgid "You have a vision of the surrounding area…" +msgstr "" #: lang/json/SPELL_from_json.py msgid "Artifact Firestorm" @@ -66525,6 +68617,80 @@ msgstr "" msgid "Mutates you randomly" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Bolt" +msgstr "" + +#. ~ Description for Bolt +#: lang/json/SPELL_from_json.py +msgid "One of the bolts thrown by AEA_STORM" +msgstr "" + +#. ~ description for the sound of spell 'Bolt' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "Ka-BOOM!" +msgstr "¡Ka-BOOM!" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Storm" +msgstr "" + +#. ~ Description for Artifact Storm +#: lang/json/SPELL_from_json.py +msgid "Calls down a storm near you" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Morale Scream" +msgstr "" + +#. ~ Description for Morale Scream +#: lang/json/SPELL_from_json.py +msgid "Morale effect from AEA_SCREAM" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Entrance" +msgstr "" + +#. ~ Description for Artifact Entrance +#: lang/json/SPELL_from_json.py +msgid "Entrances surrounding monsters" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Scream" +msgstr "" + +#. ~ Description for Artifact Scream +#: lang/json/SPELL_from_json.py +msgid "An ethereal scream" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Scream' +#: lang/json/SPELL_from_json.py +msgid "an ethereal scream" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Bash Terrain" +msgstr "" + +#. ~ Description for Bash Terrain +#. ~ Description for Artifact Pulse +#: lang/json/SPELL_from_json.py +msgid "Damages the terrain" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Pulse" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Pulse' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "The earth shakes!" +msgstr "¡La tierra tiembla!" + #: lang/json/SPELL_from_json.py src/memorial_logger.cpp src/player_display.cpp msgid "Pain" msgstr "Dolor" @@ -66617,8 +68783,8 @@ msgstr "" #. ~ Description for Animist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Animists. You can use the rune" -" as a catalyst for recipes." +"This ritual creates a small pebble attuned to Animists. You can use the " +"rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -66656,7 +68822,7 @@ msgstr "" #. ~ Description for Biomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Biomancers. You can use the " +"This ritual creates a small pebble attuned to Biomancers. You can use the " "rune as a catalyst for recipes." msgstr "" @@ -66754,7 +68920,7 @@ msgstr "" #. ~ Message for SPELL 'Debug Stamina Spell' #: lang/json/SPELL_from_json.py #, python-format -msgid "Debug spell [ %s ] has no effect. Debug warning is expected." +msgid "Debug spell [ %s ] has no effect. Debug warning is expected." msgstr "" #: lang/json/SPELL_from_json.py @@ -66911,7 +69077,7 @@ msgstr "" #. ~ Description for Druid Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Druids. You can use the rune " +"This ritual creates a small pebble attuned to Druids. You can use the rune " "as a catalyst for recipes." msgstr "" @@ -66922,8 +69088,8 @@ msgstr "" #. ~ Description for Purification Seed #: lang/json/SPELL_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Rapidly degrades if " -"not utilized." +"You summon a gift of the earth which will purify water. Rapidly degrades if" +" not utilized." msgstr "" #: lang/json/SPELL_from_json.py @@ -66970,8 +69136,35 @@ msgstr "" #. ~ Description for Earthshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Earthshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Earthshapers. You can use the" +" rune as a catalyst for recipes." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Shrapnel" +msgstr "" + +#. ~ Description for Lava Bomb Shrapnel +#. ~ Description for Lava Bomb Heat +#. ~ Description for Lava Bomb Terrain +#: lang/json/SPELL_from_json.py +msgid "This is a sub spell for the Lava Bomb spell." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Heat" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Terrain" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Clairvoyance" msgstr "" #: lang/json/SPELL_from_json.py @@ -66981,7 +69174,7 @@ msgstr "" #. ~ Description for Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" " condition." msgstr "" @@ -66993,9 +69186,24 @@ msgstr "" #. ~ Description for Improved Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" -" condition. Improved brewing mitigates the strain of the spell." +" condition. Improved brewing mitigates the strain of the spell." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Conjure Throwing Blade I" +msgstr "" + +#. ~ Description for Conjure Throwing Blade I +#: lang/json/SPELL_from_json.py +msgid "conjures 3 throwing knives" +msgstr "" + +#. ~ Message for SPELL 'Conjure Throwing Blade I' +#: lang/json/SPELL_from_json.py +msgid "" +"You activate your ring and three throwing knives appear, ready to throw!" msgstr "" #: lang/json/SPELL_from_json.py @@ -67053,7 +69261,7 @@ msgstr "" #. ~ Description for Kelvinist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Kelvinists. You can use the " +"This ritual creates a small pebble attuned to Kelvinists. You can use the " "rune as a catalyst for recipes." msgstr "" @@ -67096,8 +69304,8 @@ msgstr "" #. ~ Description for Magus Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Magi. You can use the rune as " -"a catalyst for recipes." +"This ritual creates a small pebble attuned to Magi. You can use the rune as" +" a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py @@ -67116,10 +69324,26 @@ msgstr "" msgid "Fox's Cunning" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Blood Suck" +msgstr "" + +#. ~ Description for Blood Suck +#: lang/json/SPELL_from_json.py +msgid "Sucks blood from one foe." +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Jolt" msgstr "" +#. ~ description for the sound of spell 'Jolt' +#. ~ description for the sound of spell 'Lightning Bolt' +#. ~ description for the sound of spell 'Lightning Blast' +#: lang/json/SPELL_from_json.py +msgid "a crackle" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Lightning Bolt" msgstr "" @@ -67128,6 +69352,11 @@ msgstr "" msgid "Windstrike" msgstr "" +#. ~ description for the sound of spell 'Windstrike' +#: lang/json/SPELL_from_json.py +msgid "a whoosh" +msgstr "" + #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py msgid "Windrunning" msgstr "" @@ -67143,8 +69372,8 @@ msgstr "" #. ~ Description for Stormshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Stormshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Stormshapers. You can use the" +" rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -67205,8 +69434,8 @@ msgstr "" #. ~ Description for Technomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Technomancers. You can use the" -" rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Technomancers. You can use " +"the rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -67233,6 +69462,10 @@ msgstr "" msgid "Mirror Image" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "X-ray Vision" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Demon Fireball" msgstr "" @@ -67401,6 +69634,8 @@ msgstr[1] "cascos de minero (encendidos)" #. ~ Use action menu_text for thermal electric balaclava (on). #. ~ Use action menu_text for headlamp (on). #. ~ Use action menu_text for survivor headlamp (on). +#. ~ Use action menu_text for 5-point anchor (on). +#. ~ Use action menu_text for phase immersion suit (on). #. ~ Use action menu_text for rebreather mask (on). #. ~ Use action menu_text for XL rebreather mask (on). #. ~ Use action menu_text for pair of light amp goggles (on). @@ -67425,9 +69660,9 @@ msgstr[1] "cascos de minero (encendidos)" #. ~ Use action menu_text for acetylene lamp (on). #. ~ Use action menu_text for power cutter (on). #. ~ Use action menu_text for murdersaw (on). +#. ~ Use action menu_text for heat cube (torch on). #: lang/json/TOOL_ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: lang/json/TOOL_from_json.py lang/json/item_action_from_json.py #: lang/json/item_action_from_json.py lang/json/item_action_from_json.py #: src/iuse.cpp msgid "Turn off" @@ -67778,6 +70013,46 @@ msgid "" "It is turned on, and continually draining batteries. Use it to turn it off." msgstr "" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp" +msgid_plural "atomic headlamps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for atomic headlamp. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You close the headlamp's cover." +msgstr "" + +#. ~ Description for atomic headlamp +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"close the cover and hide the light." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp (covered)" +msgid_plural "atomic headlamps (covered)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for atomic headlamp (covered). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You open the headlamp's cover." +msgstr "" + +#. ~ Description for atomic headlamp (covered) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"open the cover and show the light." +msgstr "" + #: lang/json/TOOL_ARMOR_from_json.py msgid "RM13 combat armor" msgid_plural "RM13 combat armors" @@ -67816,6 +70091,97 @@ msgstr "" " rígidas de Rivtech. Está encendida, consumiendo gradualmente su energía. " "Usala para apagarla." +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor" +msgid_plural "5-point anchors" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "A LED light in the %s LED flickers on." +msgstr "" + +#. ~ Use action need_charges_msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "It seems like this device needs power." +msgstr "" + +#. ~ Description for 5-point anchor +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A featureless, disc-shaped device mounted on a harness. The words " +"\"X.E.D.R.A\" and \"5-point anchor\" are inscribed on its front and back." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor (on)" +msgid_plural "5-point anchors (on)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for 5-point anchor (on). +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "The %s LED light flickers off." +msgstr "" + +#. ~ Description for 5-point anchor (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The harness' shoulder mounted LED glows with a soft green hue. Theres no " +"further indication of anything happening." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit" +msgid_plural "phase immersion suits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Initiating\n" +"Running suit integrity diagnostics…\n" +"All systems operational." +msgstr "" + +#. ~ Use action need_charges_msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Warning: Operating on minimal power. Protection compromised." +msgstr "" + +#. ~ Description for phase immersion suit +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. Designed to " +"protect its wearer during extra dimensional excursions, it offers " +"unparalleled environmental protection, both in this Earth and beyond. Use " +"it to turn it on." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit (on)" +msgid_plural "phase immersion suits (on)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for phase immersion suit (on). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Suit shutting down." +msgstr "" + +#. ~ Description for phase immersion suit (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. It is turned on, " +"and continually draining power. Use it to turn it off." +msgstr "" + #: lang/json/TOOL_ARMOR_from_json.py msgid "rebreather mask" msgid_plural "rebreather masks" @@ -68882,13 +71248,11 @@ msgstr "Las orejeras se quedaron sin baterías." #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py msgid "" -"A pair of earmuffs favored by shooters. The earmuffs are turned off. They " -"will block sounds over a certain decibel amount, assuming it is charged with" -" batteries." +"A pair of earmuffs favored by shooters. Without batteries or when turned " +"off they function like normal earmuffs and block all sound. They will block" +" sounds over a certain decibel amount when turned on. The earmuffs are " +"currently off." msgstr "" -"Es un par de orejeras que utilizan los tiradores. Están apagadas. Bloquean " -"los sonidos que sobrepasan una cierta cantidad de decibeles, asumiendo que " -"tiene batería." #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py @@ -69343,6 +71707,536 @@ msgid "" "power." msgstr "" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic leather belt" +msgid_plural "magic leather belts" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Haste" +msgid_plural "Belt of Hastes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Megingjörð" +msgid_plural "Megingjörðs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Megingjörð +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The mythical belt of Thor, god of thunder. Or at least so it appears. It " +"doubles the wearer's base strength." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Lesser Girdle of Pockets" +msgid_plural "Lesser Girdle of Pocketss" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Lesser Girdle of Pockets +#. ~ Description for Greater Girdle of Pockets +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, coverd in numerous small pouches " +"that hold a lot more than they should, and the weight of their contents is " +"greatly reduced." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Greater Girdle of Pockets" +msgid_plural "Greater Girdle of Pocketss" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Weaponry" +msgid_plural "Belt of Weaponrys" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Belt of Weaponry +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, you can sheath or holster any " +"weapon into it in the blink of an eye, and it seemingly stores them " +"somewhere else." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of The Iron Whip" +msgid_plural "Belts of the Iron Whip" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for Belt of The Iron Whip. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"You grab the belt and it uncoils to become a flexible metal whip in your " +"hand!" +msgstr "" + +#. ~ Description for Belt of The Iron Whip +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A braided but flexible belt seemingly made of metal. You can activate it to" +" transform it into a whip and flay your enemies." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "escape boots" +msgid_plural "escape boots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for escape boots +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, these boots can be activated once a day to escape from nasty " +"situations, teleporting you a good distance in a random direction." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "pair of steel bracers" +msgid_plural "pairs of steel bracers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of steel bracers +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A full assembly of medieval arm protection." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "steel bracer" +msgid_plural "steel bracers" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of lesser defense" +msgid_plural "bracers of lesser defense" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bracer of lesser defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, silver accentuates the intricate design. It protects your body " +"with a light aura to reduce damage you take." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of greater defense" +msgid_plural "bracers of greater defense" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bracer of greater defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, gold accentuates the intricate design. It protects your body with " +"a strong aura to reduce damage you take." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "lesser bracer of lightning" +msgid_plural "lesser bracers of lightning" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lesser bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, silver accentuates the intricate design. It " +"protects your body with a light aura to reduce electrical damage you take, " +"as well as being able to release a Jolt spell 3 times a day." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "greater bracer of lightning" +msgid_plural "greater bracers of lightning" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for greater bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, gold accentuates the intricate design. It " +"protects your body with a strong aura to reduce electrical damage you take, " +"as well as being able to release a Lightning Bolt spell 3 times a day." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic mask" +msgid_plural "magic masks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magic mask +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic magic mask." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of disappearance" +msgid_plural "masks of disappearance" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for mask of disappearance +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A mask with no facial features at all, just eye and mouth holes, upon " +"activation it makes everything ignore your presence for a while." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of perfect vision" +msgid_plural "masks of perfect vision" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for mask of perfect vision +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A decidedly steampunk-looking half mask that covers the eye area of the " +"face, it has large lenses that correct and greatly enhance the vision of the" +" wearer." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "copper magic ring" +msgid_plural "copper magic rings" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for copper magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic copper magic ring." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic ring" +msgid_plural "magic rings" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic silver magic ring." +msgstr "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic gold magic ring." +msgstr "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic platinum magic ring." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of blades" +msgid_plural "rings of blades" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of blades +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"An ornate silver ring engraved with daggers that conjures a near perfect " +"throwing knife into your hand on activation." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +1" +msgid_plural "minor rings of strength +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +2" +msgid_plural "rings of strength +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +3" +msgid_plural "rings of strength +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +4" +msgid_plural "rings of strength +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +1" +msgid_plural "rings of dexterity +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +2" +msgid_plural "rings of dexterity +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +3" +msgid_plural "rings of dexterity +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +4" +msgid_plural "rings of dexterity +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +1" +msgid_plural "rings of intelligence +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +2" +msgid_plural "rings of intelligence +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +3" +msgid_plural "rings of intelligence +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you surprisingly more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +4" +msgid_plural "rings of intelligence +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +1" +msgid_plural "rings of perception +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +2" +msgid_plural "rings of perception +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +3" +msgid_plural "rings of perception +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you eye-openingly more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +4" +msgid_plural "rings of perception +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +3" +msgid_plural "rings of speed +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +5" +msgid_plural "rings of speed +5" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +5 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +7" +msgid_plural "rings of speed +7" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +7 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you quite hasty when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +10" +msgid_plural "rings of speed +10" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +10 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +2" +msgid_plural "rings of protection +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that reduces some of the force of damage you take when you " +"wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +4" +msgid_plural "rings of protection +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that appreciably reduces some of the force of damage you take " +"when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +6" +msgid_plural "rings of protection +6" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +6 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that greatly reduces some of the force of damage you take when" +" you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +8" +msgid_plural "rings of protection +8" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +8 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A platinum ring that vastly reduces some of the force of damage you take " +"when you wear it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "washcloth" msgid_plural "washcloths" @@ -69365,9 +72259,9 @@ msgstr[1] "" msgid "" "Harness the power of radiation in your own home! This looks similar to a " "D-cell battery, but actually contains folded layers of radioactive material " -"inside. It can produce electricity for several years at a steady voltage..." -" but it's barely enough to power a small LED, and these batteries were worth" -" hundreds of dollars. Mostly they're a good way to brag to your neighbours " +"inside. It can produce electricity for several years at a steady voltage… " +"but it's barely enough to power a small LED, and these batteries were worth " +"hundreds of dollars. Mostly they're a good way to brag to your neighbors " "that you have a nuclear power source in your house." msgstr "" @@ -69380,13 +72274,13 @@ msgstr[1] "" #. ~ Description for radioisotope thermoelectric generator #: lang/json/TOOL_from_json.py msgid "" -"Did your neighbours brag about their cool beta-decay powered nightlights? " -"Do them one better! The CuppaTech 4 radioisotope thermoelectric generator " -"is a three kilogram chunk of metal - mostly lead - with a slug of curium-244" -" encased within. It is capable of generating somewhere between 100-150 " -"Watts of thermal energy, although its electrical generation capacity is " -"minimal at only 2 Watts. Careful! Curium is great at making heat, and also" -" releases deadly gamma radiation. Keep away from cellular life forms." +"Did your neighbors brag about their cool beta-decay powered nightlights? Do" +" them one better! The CuppaTech 4 radioisotope thermoelectric generator is " +"a three kilogram chunk of metal - mostly lead - with a slug of curium-244 " +"encased within. It is capable of generating somewhere between 100-150 Watts" +" of thermal energy, although its electrical generation capacity is minimal " +"at only 2 Watts. Careful! Curium is great at making heat, and also " +"releases deadly gamma radiation. Keep away from cellular life forms." msgstr "" #: lang/json/TOOL_from_json.py @@ -69500,8 +72394,8 @@ msgstr[1] "varas de clarividencia" #. ~ Description for clairvoyance rod #: lang/json/TOOL_from_json.py msgid "" -"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's " -"a bug." +"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's" +" a bug." msgstr "" #: lang/json/TOOL_from_json.py @@ -69749,10 +72643,10 @@ msgstr[1] "bombas de tubo" #. ~ Use action menu_text for fragment bomb. #. ~ Use action menu_text for can bomb. #. ~ Use action menu_text for match head bomb. +#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for dynamite. #. ~ Use action menu_text for fertilizer bomb. #. ~ Use action menu_text for ANFO charge. -#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for black gunpowder charge. #. ~ Use action menu_text for RDX charge. #: lang/json/TOOL_from_json.py @@ -69794,7 +72688,7 @@ msgstr "Ya encendiste el/la %s, ahora intenta tirarlo." #. ~ Use action sound_msg for match head bomb (lit). #. ~ Use action sound_msg for dynamite (lit). #. ~ Use action sound_msg for fertilizer bomb (lit). -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py src/iuse.cpp +#: lang/json/TOOL_from_json.py msgid "ssss..." msgstr "ssss..." @@ -69823,7 +72717,7 @@ msgstr "Enciendes la mecha de %s." #. ~ Description for nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by nails and a fuse. Use this item to light the fuse. You will " "then have five turns before it explodes; throwing it would be a good idea." msgstr "" @@ -69844,8 +72738,8 @@ msgstr "Ya has encendido la mecha - ¿Qué estás esperando?" #. ~ Description for active nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by nails and a fuse. The fuse has been lit, you should throw it." +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by nails and a fuse. The fuse has been lit, you should throw it." msgstr "" #: lang/json/TOOL_from_json.py @@ -69857,7 +72751,7 @@ msgstr[1] "" #. ~ Description for fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by small pieces of metal and a fuse. Use this item to light the " "fuse. You will then have five turns before it explodes; throwing it would " "be a good idea." @@ -69872,8 +72766,8 @@ msgstr[1] "" #. ~ Description for active fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " "should throw it." msgstr "" @@ -69893,8 +72787,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think." msgstr "" #: lang/json/TOOL_from_json.py @@ -69907,8 +72801,55 @@ msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think. The fuse has been lit, you should throw it." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think. The fuse has been lit, you should throw it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for jack o'lantern. +#. ~ Use action menu_text for candle. +#. ~ Use action menu_text for Louisville Slaughterer. +#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: src/veh_interact.cpp +msgid "Light" +msgstr "Luz" + +#. ~ Use action msg for jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "You light the candle in the jack o'lantern." +msgstr "" + +#. ~ Description for jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"This is a plastic lantern that is painted to look like a pumpkin with a " +"face. It has a candle inside it, that can be replaced when burnt down. It " +"doesn't provide very much light, but it can burn for quite a long time. " +"You'll need a lighter or matches to light it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "spooky jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for spooky jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "The candle winks out inside the lantern." +msgstr "" + +#. ~ Description for spooky jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"There is a thick LED candle inside the pumpkin face. It doesn't provide " +"very much light, but it can burn for quite a long time. This candle is lit." +" The face shifts." msgstr "" #. ~ Description for battle axe @@ -70020,6 +72961,78 @@ msgstr "" "está encendida, y su mecha se está consumiendo rápidamente. Tal vez no la " "quieras tener encima por mucho tiempo más." +#: lang/json/TOOL_from_json.py +msgid "black gunpowder bomb" +msgid_plural "black gunpowder bombs" +msgstr[0] "bomba de pólvora negra" +msgstr[1] "bombas de pólvora negra" + +#. ~ Use action msg for black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "" +"You light the fuse on the black gunpowder bomb. Throw it before it blows in" +" your face!" +msgstr "" +"Enciendes la mecha de la bomba de pólvora negra. ¡Tirala antes de que te " +"explote en la cara!" + +#. ~ Description for black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a bit of " +"fuse sticking out of it." +msgstr "" +"Es una lata de hojalata llena hasta el tope con pólvora negra y con una " +"pequeña mecha sobresaliendo." + +#: lang/json/TOOL_from_json.py +msgid "active black gunpowder bomb" +msgid_plural "active black gunpowder bombs" +msgstr[0] "bomba encendida de pólvora negra" +msgstr[1] "bombas encendidas de pólvora negra" + +#. ~ Use action no_deactivate_msg for active black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "You've already lit the fuse - throw it!" +msgstr "Ya has encendido la mecha - ¡LÁNZALO!" + +#. ~ Use action sound_msg for active black gunpowder bomb. +#. ~ Use action sound_msg for active black gunpowder charge. +#. ~ Use action sound_msg for active RDX charge. +#: lang/json/TOOL_from_json.py +msgid "Kshhh." +msgstr "Kshhh." + +#. ~ Description for active black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a lit " +"fuse stuck inside of it." +msgstr "" +"Es una lata de hojalata llena hasta el tope de pólvora negra y con un mecha " +"encendida." + +#: lang/json/TOOL_from_json.py +msgid "hobo stove (lit)" +msgid_plural "hobo stoves (lit)" +msgstr[0] "cocina de vagabundo (encendida)" +msgstr[1] "cocinas de vagabundo (encendidas)" + +#. ~ Use action msg for hobo stove (lit). +#. ~ Use action msg for ember carrier (lit). +#: lang/json/TOOL_from_json.py +msgid "The ember is extinguished." +msgstr "Las brasas se extinguieron." + +#. ~ Description for hobo stove (lit) +#. ~ Description for hobo stove +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small improvised wood stove, made from a metal can or similar " +"container of the right size. Useful for defrosting and reheating food, uses" +" simple tinder." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "folded poncho" msgid_plural "folded ponchos" @@ -70274,8 +73287,8 @@ msgstr[1] "" #. ~ Description for water mill #: lang/json/TOOL_from_json.py msgid "" -"A small water-powered mill that can convert starchy products into flour. Can" -" be placed via the construction menu." +"A small water-powered mill that can convert starchy products into flour. " +"Can be placed via the construction menu." msgstr "" #: lang/json/TOOL_from_json.py lang/json/furniture_from_json.py @@ -70287,8 +73300,8 @@ msgstr[1] "" #. ~ Description for wind mill #: lang/json/TOOL_from_json.py msgid "" -"A small wind-powered mill that can convert starchy products into flour. Can " -"be placed via the construction menu." +"A small wind-powered mill that can convert starchy products into flour. Can" +" be placed via the construction menu." msgstr "" #: lang/json/TOOL_from_json.py @@ -70620,14 +73633,6 @@ msgid_plural "candles" msgstr[0] "vela" msgstr[1] "velas" -#. ~ Use action menu_text for candle. -#. ~ Use action menu_text for hobo stove. -#. ~ Use action menu_text for Louisville Slaughterer. -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: src/veh_interact.cpp -msgid "Light" -msgstr "Luz" - #. ~ Use action msg for candle. #: lang/json/TOOL_from_json.py msgid "You light the candle." @@ -70683,12 +73688,9 @@ msgstr[1] "cuchillos eléctricos (apagados)" #: lang/json/TOOL_from_json.py msgid "" "An electric meat carver powered by batteries. Two serrated blades that " -"vibrate together to slice just about anything from turkey to ham... even " +"vibrate together to slice just about anything from turkey to ham… even " "zombies!" msgstr "" -"Es un cuchillo eléctrico de carne, alimentado con baterías. Son dos " -"cuchillas serradas que vibran juntas para cortar cualquier cosas, desde pavo" -" hasta jamón... ¡incluso zombis!" #: lang/json/TOOL_from_json.py msgid "electric carver (on)" @@ -70860,6 +73862,20 @@ msgstr "" " empezará a volverse inutilizable y puede ser desarmado y reciclado. El agua" " recogida de fuentes inseguras como los ríos, puede estar sucia." +#: lang/json/TOOL_from_json.py +msgid "lifestraw" +msgid_plural "lifestraws" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lifestraw +#: lang/json/TOOL_from_json.py +msgid "" +"Set the lifestraw in suspect water, let sit for one minute then drink. The " +"two part filtration system will purify the water you drink. Water taken " +"from uncertain sources like a river may be dirty." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "charcoal smoker" msgid_plural "charcoal smokers" @@ -71369,10 +74385,8 @@ msgstr[1] "pares de esposas electrónicas" #: lang/json/TOOL_from_json.py msgid "" "A pair of electronic handcuffs, used by police and riot bots to detain captives. Their continuous siren clearly identifies the wearer as an arrested criminal and alerts human police. Wait for their arrival, don't try to escape or to remove the cuffs - they will administer an electric shock.\n" -"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative..." +"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative…" msgstr "" -"Un par de esposas electrónicas, usada por la policía y los antidisturbots para detener a los prisioneros. Tiene una sirena que continuamente identifica al detenido como un criminal arrestado y alerta a la policía humana. Espera que lleguen, no intentes escapar o quitarte las esposas, porque recibirás un shock eléctrico.\n" -"Sin embargo, como los únicos policías que podrían venir son muertos vivientes, te vas a tener que quedar esperando mucho tiempo, excepto que se te ocurra algo..." #: lang/json/TOOL_from_json.py msgid "entrenching tool" @@ -73137,6 +76151,19 @@ msgstr "" "para ataques de asma o inhalación de humo, y puede brindar una pequeña " "inyección de energía." +#: lang/json/TOOL_from_json.py +msgid "oxygen cylinder" +msgid_plural "oxygen cylinders" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for oxygen cylinder +#: lang/json/TOOL_from_json.py +msgid "" +"A large steel cylinder used for storing pressurized gas. It is marked with " +"a faded, but legible O2 symbol." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "nitrogen tank" msgid_plural "nitrogen tanks" @@ -73544,8 +76571,8 @@ msgstr[1] "" #. ~ Description for sponge #: lang/json/TOOL_from_json.py msgid "" -"A sponge is a tool or cleaning aid made of soft, porous material. Typically " -"used for cleaning impervious surfaces." +"A sponge is a tool or cleaning aid made of soft, porous material. Typically" +" used for cleaning impervious surfaces." msgstr "" #: lang/json/TOOL_from_json.py @@ -73557,8 +76584,8 @@ msgstr[1] "" #. ~ Description for washing kit #: lang/json/TOOL_from_json.py msgid "" -"A combination kit of a washboard and a sponge. Everything you need to clean" -" items after the apocalypse." +"A combination kit of a washboard and a sponge or rag. Everything you need " +"to clean items after the apocalypse." msgstr "" #: lang/json/TOOL_from_json.py @@ -74550,57 +77577,6 @@ msgstr "" "con un cebador de dinamita. La mecha ha sido prendida - ¡Corre como el " "diablo!" -#: lang/json/TOOL_from_json.py -msgid "black gunpowder bomb" -msgid_plural "black gunpowder bombs" -msgstr[0] "bomba de pólvora negra" -msgstr[1] "bombas de pólvora negra" - -#. ~ Use action msg for black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "" -"You light the fuse on the black gunpowder bomb. Throw it before it blows in" -" your face!" -msgstr "" -"Enciendes la mecha de la bomba de pólvora negra. ¡Tirala antes de que te " -"explote en la cara!" - -#. ~ Description for black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a bit of " -"fuse sticking out of it." -msgstr "" -"Es una lata de hojalata llena hasta el tope con pólvora negra y con una " -"pequeña mecha sobresaliendo." - -#: lang/json/TOOL_from_json.py -msgid "active black gunpowder bomb" -msgid_plural "active black gunpowder bombs" -msgstr[0] "bomba encendida de pólvora negra" -msgstr[1] "bombas encendidas de pólvora negra" - -#. ~ Use action no_deactivate_msg for active black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "You've already lit the fuse - throw it!" -msgstr "Ya has encendido la mecha - ¡LÁNZALO!" - -#. ~ Use action sound_msg for active black gunpowder bomb. -#. ~ Use action sound_msg for active black gunpowder charge. -#. ~ Use action sound_msg for active RDX charge. -#: lang/json/TOOL_from_json.py -msgid "Kshhh." -msgstr "Kshhh." - -#. ~ Description for active black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a lit " -"fuse stuck inside of it." -msgstr "" -"Es una lata de hojalata llena hasta el tope de pólvora negra y con un mecha " -"encendida." - #: lang/json/TOOL_from_json.py msgid "black gunpowder charge" msgid_plural "black gunpowder charges" @@ -74620,7 +77596,7 @@ msgstr "" msgid "" "This is a home-made explosive device, consisting of a large plastic jug " "filled with black gunpowder and scrap metal, equipped with a long fuse. Use" -" this item to light the fuse. Should explode in a few minutes..." +" this item to light the fuse. Should explode in a few minutes…" msgstr "" #: lang/json/TOOL_from_json.py @@ -74767,11 +77743,13 @@ msgstr[0] "antorcha" msgstr[1] "antorchas" #. ~ Use action menu_text for torch. +#. ~ Use action menu_text for everburning torch. #: lang/json/TOOL_from_json.py msgid "Light torch" msgstr "" #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "You light the torch." msgstr "Enciendes la antorcha." @@ -74788,6 +77766,7 @@ msgstr "" "necesitar un encendedor o fósforos para encenderla." #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "The torch is extinguished." msgstr "La antorcha se extinguió." @@ -75208,47 +78187,6 @@ msgid_plural "hobo stoves" msgstr[0] "cocina de vagabundo" msgstr[1] "cocinas de vagabundo" -#. ~ Use action msg for hobo stove. -#: lang/json/TOOL_from_json.py -msgid "The hobo stove is lit." -msgstr "" - -#. ~ Use action need_fire_msg for hobo stove. -#: lang/json/TOOL_from_json.py src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -msgid "You need a source of fire!" -msgstr "¡Necesitas una fuente de fuego!" - -#. ~ Description for hobo stove -#. ~ Description for hobo stove (lit) -#: lang/json/TOOL_from_json.py -msgid "" -"This is a small improvised wood stove, made from a metal can or similar " -"container of the right size. Useful for defrosting and reheating food, uses" -" simple tinder." -msgstr "" - -#: lang/json/TOOL_from_json.py -msgid "hobo stove (lit)" -msgid_plural "hobo stoves (lit)" -msgstr[0] "cocina de vagabundo (encendida)" -msgstr[1] "cocinas de vagabundo (encendidas)" - -#. ~ Use action menu_text for hobo stove (lit). -#: lang/json/TOOL_from_json.py -msgid "Heat up food" -msgstr "Calentar comida" - -#. ~ Use action msg for hobo stove (lit). -#: lang/json/TOOL_from_json.py src/iuse.cpp -msgid "You heat up the food." -msgstr "Calientas la comida." - -#. ~ Use action msg for hobo stove (lit). -#. ~ Use action msg for ember carrier (lit). -#: lang/json/TOOL_from_json.py -msgid "The ember is extinguished." -msgstr "Las brasas se extinguieron." - #: lang/json/TOOL_from_json.py msgid "ember carrier" msgid_plural "ember carriers" @@ -75260,6 +78198,11 @@ msgstr[1] "braseritos" msgid "You light the tinder." msgstr "Enciendes la yesca." +#. ~ Use action need_charges_msg for ember carrier. +#: lang/json/TOOL_from_json.py +msgid "The ember carrier is out of tinder." +msgstr "" + #. ~ Use action need_fire_msg for ember carrier. #: lang/json/TOOL_from_json.py msgid "You need a lighter or fire to light this." @@ -75430,8 +78373,8 @@ msgstr[1] "" #. ~ Description for grip hook #: lang/json/TOOL_from_json.py msgid "" -"A simple steel meathook with a circular steel handle. Makes a passable melee" -" weapon." +"A simple steel meathook with a circular steel handle. Makes a passable " +"melee weapon." msgstr "" #: lang/json/TOOL_from_json.py @@ -75794,7 +78737,7 @@ msgstr "" #. ~ Description for inactive TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M16A4. Using this item " +"This is an inactive TALON UGV equipped with an M16A4. Using this item " "involves loading the unit with the factory-loaded 5.56x45mm rounds in your " "inventory (if you wish to divide your ammunition, set aside whatever " "5.56x45mm you do NOT want to give the robot) turning it on, and placing it " @@ -75812,7 +78755,7 @@ msgstr[1] "" #. ~ Description for inactive M202A1 TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M202A1. Using this item " +"This is an inactive TALON UGV equipped with an M202A1. Using this item " "involves loading the unit with the M235 rockets in your inventory (if you " "wish to divide your ammunition, set aside whatever M235 rockets you do NOT " "want to give the robot) turning it on, and placing it on the ground. If " @@ -75902,9 +78845,9 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "" "This is a deactivated broken cyborg, the last shreds of its humanity still " -"rotting away. Using this item involves placing it on the ground and " +"rotting away. Using this item involves placing it on the ground and " "reactivating its mechanical body. If reprogrammed and rewired successfully " -"the cyborg will then follow you and attack enemies. You monster." +"the cyborg will then follow you and attack enemies. You monster." msgstr "" #: lang/json/TOOL_from_json.py @@ -75956,7 +78899,7 @@ msgstr "" #. ~ Description for inactive chicken walker #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive chicken walker. Using this item involves placing it on " +"This is an inactive chicken walker. Using this item involves placing it on " "the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm " "cartridge grenades in your inventory (if you wish to divide your ammunition," " set aside whatever ammunition you do NOT want to give the robot) and " @@ -75985,8 +78928,8 @@ msgstr "" #. ~ Description for inactive police bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive police robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive police robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "police bot will then identify you as law enforcement, roam around or follow " "you, and attempt to detain lawbreakers." msgstr "" @@ -76012,7 +78955,7 @@ msgstr "" #. ~ Description for inactive eyebot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive eyebot. Using this item involves turning it on and " +"This is an inactive eyebot. Using this item involves turning it on and " "launching the UAV. If reprogrammed and rewired successfully the eyebot will" " then keep watch for intruders." msgstr "" @@ -76036,8 +78979,8 @@ msgstr "" #. ~ Description for inactive cleaner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive cleaner bot. Using this item involves placing it on the " -"ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive cleaner bot. Using this item involves placing it on the" +" ground and turning it on. If reprogrammed and rewired successfully the " "cleaner bot will respond to future commands." msgstr "" @@ -76060,8 +79003,8 @@ msgstr "" #. ~ Description for inactive miner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive mining robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive mining robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "miner bot will respond to future commands." msgstr "" @@ -76085,9 +79028,9 @@ msgstr "" #. ~ Description for inactive riot control bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive riot control bot. Using this item involves placing it on" -" the ground and turning it on. If reprogrammed and rewired successfully the" -" robot will bring order and peace to the horde." +"This is an inactive riot control bot. Using this item involves placing it " +"on the ground and turning it on. If reprogrammed and rewired successfully " +"the robot will bring order and peace to the horde." msgstr "" #: lang/json/TOOL_from_json.py @@ -76109,7 +79052,7 @@ msgstr "" #. ~ Description for inactive skitterbot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive skitterbot. Using this item involves placing it on the " +"This is an inactive skitterbot. Using this item involves placing it on the " "ground and turning it on. If reprogrammed and rewired successfully the " "robot will race towards enemies and shock them." msgstr "" @@ -76164,7 +79107,7 @@ msgstr "" #. ~ Description for inactive tank drone #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " +"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " "it on the ground, loading the unit with the factory-loaded 5.56 rounds and " "40mm cartridge grenades in your inventory (if you wish to divide your " "ammunition, set aside whatever ammunition you do NOT want to give the robot)" @@ -76194,8 +79137,8 @@ msgstr "" #. ~ Description for inactive tripod #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Honda Regnal. Using this item involves placing it on the" -" ground, wondering how it fuels its flamethrower and turning it on. If " +"This is an inactive Honda Regnal. Using this item involves placing it on " +"the ground, wondering how it fuels its flamethrower and turning it on. If " "reprogrammed and rewired successfully the tribot will then identify you as " "an ally, roam around or follow you, and impale hostiles with its spiked " "cable weapons." @@ -76221,10 +79164,10 @@ msgstr "" #. ~ Description for inactive milspec searchlight #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive military-grade automated searchlight. Using this item " +"This is an inactive military-grade automated searchlight. Using this item " "involves placing it on the ground and turning it on. If reprogrammed and " "rewired successfully the searchlight will then identify you as an ally, " -"survey the area, and illuminate approaching hostiles. Seems to have an " +"survey the area, and illuminate approaching hostiles. Seems to have an " "unhealthy fascination with you." msgstr "" @@ -76580,7 +79523,7 @@ msgstr[1] "" msgid "" "This farming tool has been modified into an improvised weapon by rotating " "its blade 90 degrees, transforming it into a deadly giant blade on the end " -"of a stick. However it's quite fragile." +"of a stick. However it's quite fragile." msgstr "" #: lang/json/TOOL_from_json.py @@ -76683,6 +79626,21 @@ msgstr "" "Se trata de un cuchillo de combate militar. Es ligero y muy fuerte y puede " "ser mortal en buenas manos o cuando se le une como una bayoneta." +#: lang/json/TOOL_from_json.py +msgid "modified combat knife" +msgid_plural "modified combat knives" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for modified combat knife +#: lang/json/TOOL_from_json.py +msgid "" +"This is a military combat knife. It is light and extremely sharp, and could" +" be deadly in either the right hands or when attached as a bayonet. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hunting knife" msgid_plural "hunting knives" @@ -77071,6 +80029,21 @@ msgstr "" "Una bayoneta espada. Es un arma grande y cortante que puede colocarse al " "frente de un arma de fuego o ballesta convirtiéndola en una pica." +#: lang/json/TOOL_from_json.py +msgid "modified sword bayonet" +msgid_plural "modified sword bayonets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for modified sword bayonet +#: lang/json/TOOL_from_json.py +msgid "" +"A sword bayonet is a large slashing weapon that can be attached to the front" +" of a firearm or crossbow converting it into a pike. This one was modified " +"and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" + #. ~ Description for tanto #: lang/json/TOOL_from_json.py msgid "" @@ -77181,6 +80154,57 @@ msgstr "" "Es una enorme espada de dos manos curvada de origen jacolocas. Es " "sorprendentemente liviana para el tamaño que tiene." +#: lang/json/TOOL_from_json.py +msgid "electrified foil" +msgid_plural "electrified foils" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for electrified foil +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing foil may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "electrified épée" +msgid_plural "electrified épées" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for electrified épée +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing épée may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "electrified saber" +msgid_plural "electrified sabers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for electrified saber +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing saber may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired to the tip along the saber's groove. Thrusting the " +"sharpened tip into a foe and activating the momentary switch will deliver a " +"painful electric shock." +msgstr "" + #. ~ Description for broadsword #: lang/json/TOOL_from_json.py msgid "" @@ -77585,6 +80609,34 @@ msgstr "" "Es un pedazo de plástico. Puede ser usado para fabricar, reparar o reforzar " "objetos de plástico." +#: lang/json/TOOL_from_json.py +msgid "synthetic fabric" +msgid_plural "synthetic fabrics" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for synthetic fabric +#: lang/json/TOOL_from_json.py +msgid "" +"This is small bolt of synthetic fabric. Unlike you and other natural " +"materials, it won't degrade much with age. Maybe that's less of a bad thing" +" now." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "lycra patch" +msgid_plural "lycra patches" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lycra patch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small bolt of a synthetic fabric blended with stretchy lycra " +"fibers. It could be used to make flexible yet strong clothing. Stylish, " +"but bad for the environment; at least you're recycling it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hexamine stove" msgid_plural "hexamine stoves" @@ -78091,12 +81143,8 @@ msgstr[1] "waltitalkies" #: lang/json/TOOL_from_json.py msgid "" "This is a radio with a transmitting unit. You could use it to contact " -"someone who also has one. Unfortunately no one seems to use those " -"nowadays..." +"someone who also has one. Unfortunately no one seems to use those nowadays…" msgstr "" -"Esto es una radio con una unidad de transmisión. La puedes usar para " -"contactarte con alguien que también tenga una. Lamentablemente, no parece " -"que haya nadie que use una por estos días..." #: lang/json/TOOL_from_json.py msgid "remote vehicle controller" @@ -78283,7 +81331,7 @@ msgstr[1] "" #. ~ Description for microscope #: lang/json/TOOL_from_json.py msgid "" -"A classic tool for the ages! This hefty, durable piece of lab equipment " +"A classic tool for the ages! This hefty, durable piece of lab equipment " "makes small things look bigger. Without electricity the light doesn't work," " but the rest of it is surprisingly functional. Unfortunately it's not " "useful for very much at the moment." @@ -78488,7 +81536,7 @@ msgstr[1] "cables reforzados" msgid "" "A long, thick, heavy-duty cable with power leads on either end. It looks " "like you could use it to hook up two vehicles to each other, though you " -"expect the power loss would be noticeable. Can also link other electrical " +"expect the power loss would be noticeable. Can also link other electrical " "systems." msgstr "" @@ -78879,15 +81927,119 @@ msgid "" " to a potato." msgstr "" +#: lang/json/TOOL_from_json.py +msgid "heat cube" +msgid_plural "heat cubes" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for heat cube. +#: lang/json/TOOL_from_json.py +msgid "Activate torch mode" +msgstr "" + +#. ~ Use action msg for heat cube. +#: lang/json/TOOL_from_json.py +msgid "" +"You push the torch button and the cube emits a large flame from the top, one" +" that does radiate heat, but won't burn anything." +msgstr "" + +#. ~ Description for heat cube +#: lang/json/TOOL_from_json.py +msgid "" +"A smooth steel cube the size of your fist. Several buttons on the sides " +"activate the powers of the cube." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "heat cube (torch on)" +msgid_plural "heat cubes (torch on)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for heat cube (torch on). +#: lang/json/TOOL_from_json.py +msgid "The torch flame is extinguished." +msgstr "" + +#. ~ Description for heat cube (torch on) +#: lang/json/TOOL_from_json.py +msgid "" +"The heat cube in the torch configuration, where it emits warmth and a bright" +" flame that does not burn." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "skeleton key of opening" +msgid_plural "skeleton key of opening" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for skeleton key of opening +#: lang/json/TOOL_from_json.py +msgid "" +"A small gold skeleton key. You can activate it to unlock locked things." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "everburning torch" +msgid_plural "everburning torches" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for everburning torch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality engraved wooden torch. On command, the tip bursts " +"into flame and produces a fair amount of light. It will burn forever." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "enchanted tailor's kit" +msgid_plural "enchanted tailor's kits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for enchanted tailor's kit +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality, engraved steel kit with a variety of needles, some " +"plastic spools for thread, some small scissors, even a small heating element" +" for melting and joining plastic. Use a tailor's kit to customize your " +"clothing and armor. This uses your tailoring skill. It also contains one " +"of those magic spiders that constantly, if slowly, makes new thread." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "spider box" +msgid_plural "spider boxes" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for spider box +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small glass box that contains a spider that diligently works day " +"and night to produce silk thread that it stores in a reservoir you can open " +"and retrieve it from." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "Magic Wand" msgid_plural "Magic Wands" msgstr[0] "" msgstr[1] "" +#: lang/json/TOOL_from_json.py +msgid "Disposable Wand" +msgid_plural "Disposable Wands" +msgstr[0] "" +msgstr[1] "" + #: lang/json/TOOL_from_json.py msgid "minor wand of magic missile" -msgid_plural "minor wand of magic missiles" +msgid_plural "minor wands of magic missile" msgstr[0] "" msgstr[1] "" @@ -78902,19 +82054,19 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of magic missile" -msgid_plural "lesser wand of magic missiles" +msgid_plural "lesser wands of magic missile" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of magic missile" -msgid_plural "greater wand of magic missiles" +msgid_plural "greater wands of magic missile" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of fireball" -msgid_plural "minor wand of fireballs" +msgid_plural "minor wands of fireball" msgstr[0] "" msgstr[1] "" @@ -78929,19 +82081,19 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of fireball" -msgid_plural "lesser wand of fireballs" +msgid_plural "lesser wands of fireball" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of fireball" -msgid_plural "greater wand of fireballs" +msgid_plural "greater wands of fireball" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of mana beam" -msgid_plural "minor wand of mana beams" +msgid_plural "minor wands of mana beam" msgstr[0] "" msgstr[1] "" @@ -78956,19 +82108,19 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of mana beam" -msgid_plural "lesser wand of mana beams" +msgid_plural "lesser wands of mana beam" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of mana beam" -msgid_plural "greater wand of mana beams" +msgid_plural "greater wands of mana beam" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of point flare" -msgid_plural "minor wand of point flares" +msgid_plural "minor wands of point flare" msgstr[0] "" msgstr[1] "" @@ -78983,46 +82135,46 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of point flare" -msgid_plural "lesser wand of point flares" +msgid_plural "lesser wands of point flare" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of point flare" -msgid_plural "greater wand of point flares" +msgid_plural "greater wands of point flare" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py -msgid "minor wand of iceball" -msgid_plural "minor wand of iceballs" +msgid "minor wand of hoary blast" +msgid_plural "minor wands of hoary blast" msgstr[0] "" msgstr[1] "" -#. ~ Description for minor wand of iceball -#. ~ Description for lesser wand of iceball -#. ~ Description for greater wand of iceball +#. ~ Description for minor wand of hoary blast +#. ~ Description for lesser wand of hoary blast +#. ~ Description for greater wand of hoary blast #: lang/json/TOOL_from_json.py msgid "" "A slender wooden wand with a mana crystal socket at the base that casts a " -"spell when activated. This wand casts iceball." +"spell when activated. This wand casts hoary blast." msgstr "" #: lang/json/TOOL_from_json.py -msgid "lesser wand of iceball" -msgid_plural "lesser wand of iceballs" +msgid "lesser wand of hoary blast" +msgid_plural "lesser wands of hoary blast" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py -msgid "greater wand of iceball" -msgid_plural "greater wand of iceballs" +msgid "greater wand of hoary blast" +msgid_plural "greater wands of hoary blast" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of cone of cold" -msgid_plural "minor wand of cone of colds" +msgid_plural "minor wands of cone of cold" msgstr[0] "" msgstr[1] "" @@ -79037,13 +82189,175 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of cone of cold" -msgid_plural "lesser wand of cone of colds" +msgid_plural "lesser wands of cone of cold" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of cone of cold" -msgid_plural "greater wand of cone of colds" +msgid_plural "greater wands of cone of cold" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of magic missile" +msgid_plural "disposable minor wands of magic missile" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of magic missile +#. ~ Description for disposable lesser wand of magic missile +#. ~ Description for disposable greater wand of magic missile +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts magic missile." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of magic missile" +msgid_plural "disposable lesser wands of magic missile" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of magic missile" +msgid_plural "disposable greater wands of magic missile" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of fireball" +msgid_plural "disposable minor wands of fireball" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of fireball +#. ~ Description for disposable lesser wand of fireball +#. ~ Description for disposable greater wand of fireball +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts fireball." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of fireball" +msgid_plural "disposable lesser wands of fireball" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of fireball" +msgid_plural "disposable greater wands of fireball" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of mana beam" +msgid_plural "disposable minor wands of mana beam" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of mana beam +#. ~ Description for disposable lesser wand of mana beam +#. ~ Description for disposable greater wand of mana beam +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts mana beam." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of mana beam" +msgid_plural "disposable lesser wands of mana beam" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of mana beam" +msgid_plural "disposable greater wands of mana beam" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of point flare" +msgid_plural "disposable minor wands of point flare" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of point flare +#. ~ Description for disposable lesser wand of point flare +#. ~ Description for disposable greater wand of point flare +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts point flare." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of point flare" +msgid_plural "disposable lesser wands of point flare" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of point flare" +msgid_plural "disposable greater wands of point flare" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of hoary blast" +msgid_plural "disposable minor wands of hoary blast" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of hoary blast +#. ~ Description for disposable lesser wand of hoary blast +#. ~ Description for disposable greater wand of hoary blast +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts hoary blast." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of hoary blast" +msgid_plural "disposable lesser wands of hoary blast" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of hoary blast" +msgid_plural "disposable greater wands of hoary blast" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of cone of cold" +msgid_plural "disposable minor wands of cone of cold" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of cone of cold +#. ~ Description for disposable lesser wand of cone of cold +#. ~ Description for disposable greater wand of cone of cold +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts cone of cold." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of cone of cold" +msgid_plural "disposable lesser wands of cone of cold" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of cone of cold" +msgid_plural "disposable greater wands of cone of cold" msgstr[0] "" msgstr[1] "" @@ -79127,7 +82441,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "Magus rune" -msgid_plural "Magus runes" +msgid_plural "Magi runes" msgstr[0] "" msgstr[1] "" @@ -79267,7 +82581,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "wand of fireballs" -msgid_plural "wand of fireballss" +msgid_plural "wands of fireball" msgstr[0] "" msgstr[1] "" @@ -79280,7 +82594,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "wand of magic missiles" -msgid_plural "wand of magic missiless" +msgid_plural "wands of magic missile" msgstr[0] "" msgstr[1] "" @@ -79768,12 +83082,6 @@ msgstr "" "Es un palo que ha sido recortado para funcionar como mecanismo disparador de" " una trampa de lazo." -#: lang/json/TOOL_from_json.py -msgid "Laevateinn" -msgid_plural "Laevateinns" -msgstr[0] "Laevateinn" -msgstr[1] "Laevateinns" - #. ~ Description for Laevateinn #: lang/json/TOOL_from_json.py msgid "" @@ -81060,6 +84368,17 @@ msgid "" " terribly when not on a rail." msgstr "" +#: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py +msgid "pair of small rail wheels" +msgstr "" + +#. ~ Description for pair of small rail wheels +#: lang/json/WHEEL_from_json.py +msgid "" +"A pair of small rail wheels. It fits small railroad rails found in places " +"like amusement parks. Mostly for hobby purposes rather then transportation." +msgstr "" + #: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py msgid "motorbike wheel" msgstr "rueda de moto" @@ -81454,6 +84773,10 @@ msgstr "" msgid "cranking" msgstr "" +#: lang/json/activity_type_from_json.py +msgid "heating" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "de-stressing" msgstr "" @@ -82097,7 +85420,7 @@ msgstr "Placas de Aleación - Brazos" #. ~ Description for Alloy Plating - Arms #: lang/json/bionic_from_json.py msgid "" -"The flesh on your arms has been surgically replaced by alloy plating. " +"The flesh on your arms has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" @@ -82135,7 +85458,7 @@ msgstr "Placas de Aleación - Piernas" #. ~ Description for Alloy Plating - Legs #: lang/json/bionic_from_json.py msgid "" -"The flesh on your legs has been surgically replaced by alloy plating. " +"The flesh on your legs has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" @@ -82474,17 +85797,20 @@ msgstr "Quemador de Etanol" #. ~ Description for Ethanol Burner #: lang/json/bionic_from_json.py -msgid "" -"You burn alcohol as fuel in an extremely efficient reaction. However, you " -"will still suffer the inebriating effects of the substance." +msgid "You burn alcohol as fuel in an extremely efficient reaction." msgstr "" -"Puedes usar alcohol como combustible de una manera muy eficiente. Sin " -"embargo, sufrirás los efectos embriagantes de la sustancia." #: lang/json/bionic_from_json.py msgid "Aero-Evaporator" msgstr "Aero-Evaporador" +#. ~ Description for Aero-Evaporator +#: lang/json/bionic_from_json.py +msgid "" +"This unit draws moisture from the surrounding air, which slowly trickles " +"directly into your blood stream. It may fail in very dry environments." +msgstr "" + #: lang/json/bionic_from_json.py msgid "Diamond Cornea" msgstr "Córnea de Diamante" @@ -82594,7 +85920,7 @@ msgid "" "You don't think that capacitor is *meant* to glow, but it does, and usually " "at bad times. A malfunctioning bionic randomly turns on and off, causing " "you to glow and making you visible in the dark without improving how much " -"you can see in the slighest." +"you can see in the slightest." msgstr "" #: lang/json/bionic_from_json.py @@ -82752,10 +86078,10 @@ msgstr "" "causar algunos efectos secundarios feos si se lo apaga." #: lang/json/bionic_from_json.py -msgid "Mini-Flamethrower" -msgstr "Mini-Lanzallamas" +msgid "Finger Lighter" +msgstr "" -#. ~ Description for Mini-Flamethrower +#. ~ Description for Finger Lighter #: lang/json/bionic_from_json.py msgid "" "The index fingers of both hands have powerful fire starters which extend " @@ -82787,8 +86113,8 @@ msgstr "Unidad Electromagnética" #: lang/json/bionic_from_json.py msgid "" "Surgically embedded in your right hand is a powerful electromagnet, allowing" -" you to indiscriminately pull all nearby magnetic objects towards you. " -"Unlucky bystanders might be injured or killed by flying objects." +" you to use your own strength to pull all nearby magnetic objects towards " +"you. Unlucky bystanders might be injured or killed by flying objects." msgstr "" #: lang/json/bionic_from_json.py @@ -82849,14 +86175,21 @@ msgstr "Nanobots de Reparación" #: lang/json/bionic_from_json.py msgid "" "Inside your body is a fleet of tiny dormant robots. While activated they " -"will flit about your body, repairing damage at 1 HP/s and stopping bleeding " -"at the cost of power." +"will flit about your body, repairing damage at 1 HP per minute and stopping " +"bleeding at the cost of extra power and stored calories." msgstr "" #: lang/json/bionic_from_json.py msgid "Artificial Night Generator" msgstr "Generador Artificial de Noche" +#. ~ Description for Artificial Night Generator +#: lang/json/bionic_from_json.py +msgid "" +"When active, this bionic eliminates all light within a 2 tile radius through" +" destructive interference." +msgstr "" + #: lang/json/bionic_from_json.py msgid "Implanted Night Vision" msgstr "Implante de Visión Nocturna" @@ -82881,11 +86214,8 @@ msgstr "" msgid "" "You're really not sure how the CBM ended up in your nose, but no matter how " "it got there this badly misplaced bionic makes it difficult to breathe. " -"Increases mouth encumbrance by one." +"Increases mouth encumbrance by ten." msgstr "" -"No estás muy seguro de como terminó un MCB en tu nariz, pero sin importar " -"cómo llegó, este biónico mal colocado te dificulta la respiración. Aumenta " -"la incomodidad de la boca en un punto." #: lang/json/bionic_from_json.py msgid "Offensive Defense System" @@ -82918,7 +86248,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "Due to a badly misplaced dielectric stylette, you are now suffering from " -"mild optic neuropathy. Increases eye encumbrance by one." +"mild optic neuropathy. Increases eye encumbrance by ten." msgstr "" #: lang/json/bionic_from_json.py @@ -82951,7 +86281,7 @@ msgstr "Almacenamiento de Energía" #. ~ Description for Power Storage #: lang/json/bionic_from_json.py msgid "" -"A Compact Bionics Module that increases your power capacity by 100 units. " +"A Compact Bionics Module that increases your power capacity by 100 kJ. " "Having at least one of these is a prerequisite to using powered bionics. " "You will also need a power supply, found in various CBMs." msgstr "" @@ -82962,8 +86292,7 @@ msgstr "Almacenamiento de Energía Mk. II" #. ~ Description for Power Storage Mk. II #: lang/json/bionic_from_json.py -msgid "" -"A Compact Bionics Module that increases your power capacity by 250 units." +msgid "A Compact Bionics Module that increases your power capacity by 250 kJ." msgstr "" #. ~ Description for Power Overload @@ -83282,12 +86611,8 @@ msgstr "" msgid "" "Self-locking thumbs hold tight (even when you really don't want them to) and" " don't let go (even when you'd rather they did). Increases hand encumbrance" -" by two, while failing to improve your ability to hold objects whatsoever." +" by ten, while failing to improve your ability to hold objects whatsoever." msgstr "" -"Los pulgares auto-trabables se traban firmemente (incluso cuando no quieres " -"que suceda) y no se sueltan (incluso cuando preferirías que se suelten). " -"Incrementa la incomodidad de las manos en dos puntos, y no mejora tu " -"habilidad para coger objetos." #: lang/json/bionic_from_json.py msgid "Time Dilation" @@ -83425,8 +86750,8 @@ msgstr "" #. ~ Description for Gasoline Fuel Cell CBM #: lang/json/bionic_from_json.py msgid "" -"A small gasoline fuel cell fixed to your scapula. Despite its limited energy" -" output compared to other fuel cells, this device still produces a " +"A small gasoline fuel cell fixed to your scapula. Despite its limited " +"energy output compared to other fuel cells, this device still produces a " "significant amount of heat dissipated through a heat exhaust protruding from" " your back. A diffuse network of bio-plastic bladders has been meshed with " "your circulatory system and serves as a fuel tank." @@ -83479,7 +86804,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "A set of highly sensitive sensors is installed in your mouth, and a small " -"yet sophisticated analyzer is installed in the cavity of your skull. The " +"yet sophisticated analyzer is installed in the cavity of your skull. The " "active bionic will nullify the taste of all comestibles with negative " "enjoyment value at the cost of draining bionic power." msgstr "" @@ -83673,7 +86998,7 @@ msgid "Dodging and melee is hampered." msgstr "Te cuesta más esquivar y combatir cuerpo a cuerpo." #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Torso" msgstr "Torsos" @@ -83692,7 +87017,7 @@ msgid "head" msgstr "cabeza" #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Head" msgstr "Cabezas" @@ -84171,6 +87496,18 @@ msgstr "" msgid "Make Woodchip Floor" msgstr "" +#: lang/json/construction_from_json.py +msgid "Make Gravel Floor" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Straight Small Railroad Track" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Diagonal Small Railroad Track" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Wooden Floor" msgstr "" @@ -84283,6 +87620,14 @@ msgstr "Construir Puerta de Cadenas" msgid "Needs to be supported on both sides by fencing, walls, etc." msgstr "" +#: lang/json/construction_from_json.py +msgid "Build Screen Door" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Screen Mesh Wall" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Chickenwire Fence" msgstr "" @@ -84323,6 +87668,10 @@ msgstr "Const.Cómoda" msgid "Build Bookcase" msgstr "Const.Biblioteca" +#: lang/json/construction_from_json.py +msgid "Build Entertainment Center" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Locker" msgstr "Const. Armario" @@ -84355,6 +87704,10 @@ msgstr "Const. Mesa" msgid "Place Table" msgstr "" +#: lang/json/construction_from_json.py +msgid "Build Coffee Table" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Workbench" msgstr "" @@ -84811,6 +88164,10 @@ msgstr "" msgid "Build a radio tower console." msgstr "" +#: lang/json/construction_from_json.py +msgid "Build Log Stool" +msgstr "" + #: lang/json/construction_from_json.py msgid "Convert Fridge Power Supply" msgstr "" @@ -85598,6 +88955,42 @@ msgstr "" msgid "You dream of bees fighting over your sweet nectar. Mmm." msgstr "Sueñas con abejas luchando por tu dulce néctar. Mmm." +#: lang/json/dream_from_json.py +msgid "" +"How grand it would be to sink your roots deep into the soil as the seasons " +"pass you by." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "You dream of a gigantic knot of roots, beating like a heart." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "You have a disturbing dream of termites chewing all over your body." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of sharing your roots with a vast forest, all plants provided for " +"as the canopy grows ever upwards." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "A family of caterpillars munches away at your leaves." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"Fire rages around you, licking at your bark and engulfing the saplings and " +"bushes near your roots. The once chatty forest is quiet in its wake." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of communing with an ancient pine. Trees are the true survivors " +"of this world, it tells you." +msgstr "" + #: lang/json/dream_from_json.py msgid "" "A rather attractive triffid offers you a bouquet of ape heads. How " @@ -86970,6 +90363,25 @@ msgstr "Tus manos no paran de temblar." msgid "You tremble" msgstr "Temblás." +#: lang/json/effects_from_json.py +msgid "Seizure" +msgstr "" + +#. ~ Description of effect 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles have seized up, and you can't control them!" +msgstr "" + +#. ~ Remove message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "You regain control of your muscles!" +msgstr "" + +#. ~ Miss message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles won't cooperate!" +msgstr "" + #: lang/json/effects_from_json.py msgid "Bleeding" msgstr "Sangrando" @@ -87900,6 +91312,26 @@ msgstr "Tu metabolismo se ha vuelto inestable." msgid "Your metabolism becomes more stable." msgstr "Tu metabolismo se vuelve más estable." +#: lang/json/effects_from_json.py +msgid "Concerning symptoms" +msgstr "" + +#. ~ Description of effect 'Concerning symptoms'. +#: lang/json/effects_from_json.py +msgid "Your muscles keep twitching strangely." +msgstr "" + +#: lang/json/effects_from_json.py +msgid "Unnerving symptoms" +msgstr "" + +#. ~ Description of effect 'Unnerving symptoms'. +#: lang/json/effects_from_json.py +msgid "" +"Your nervous system is malfunctioning, almost like it's being torn apart " +"from the inside." +msgstr "" + #: lang/json/effects_from_json.py msgid "Lit up" msgstr "Iluminar" @@ -88145,6 +91577,17 @@ msgstr "Supercarga" msgid "You've been struck by lightning, and feel... different." msgstr "" +#: lang/json/effects_from_json.py +msgid "Grown of Fusion" +msgstr "" + +#. ~ Description of effect 'Grown of Fusion'. +#: lang/json/effects_from_json.py +msgid "" +"AI effect to increase stats after fusing with another critter. 1 stack means" +" one absorbed max_hp." +msgstr "" + #: lang/json/effects_from_json.py msgid "Religious Offense" msgstr "" @@ -88457,6 +91900,33 @@ msgstr "" msgid "The earth pulls you down hard." msgstr "" +#: lang/json/effects_from_json.py +msgid "Scared" +msgstr "" + +#: lang/json/effects_from_json.py +msgid "Frightened" +msgstr "" + +#: lang/json/effects_from_json.py src/npc.cpp +msgid "Terrified" +msgstr "Aterrado" + +#: lang/json/effects_from_json.py +msgid "" +"Your knees are shaking, your heart beats fast, and your stomach rebels." +msgstr "" + +#. ~ Apply message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "You are afraid!" +msgstr "" + +#. ~ Remove message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "Your fear dissipates." +msgstr "" + #: lang/json/effects_from_json.py msgid "Stuck in a light snare" msgstr "Atrapado en una trampa de lazo" @@ -88767,6 +92237,192 @@ msgstr "" "era mantenido en el suelo esperando la respuesta de más unidades policiales," " fue destrozado por los muertos vivientes que fueron atraídos a la escena." +#: lang/json/epilogue_from_json.py +msgid "" +" Became a hunter after your death, living alone in the woods. Traced " +"back to his cabin, he was murdered and devoured in his sleep by an actual " +"cannibal." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived for many years, and became a renowned scavenger, eventually " +"setting up a small shop in a Free Merchant outpost. Survived by two sons, " +"he died after a rare artifact poisoned his blood with acid." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered and scavenged the land for years after your death, " +"eventually becoming a skilled mechanic. Employed by the Free Merchants, he " +"lived a comfortable, if rather uneventful life, dying of cancer, a rare " +"luxury these days." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became truly depressed after your death and hid in the woods. If " +"rumors are to be believed, he spent years living as a deranged hermit in a " +"distant cave, worshiping stones and sacrificing dogs." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" After your death, he became obsessed with preserving old knowledge and " +"eventually became known as 'the lorekeeper'. Hired by the Old Guard as a " +"librarian, he spent his life amongst dusty old books, trying to convince " +"others of their value. He even changed his name to Frederic Bastiat, in " +"honor of an old French philosopher." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He found faith after your death, eventually joining an Anglican " +"community and becoming a Vicar. The crucifix provided him with a sense of " +"meaning, before dying horribly at the hands of raiders. He was still " +"praying when they roasted him alive." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Lost and damned, he joined a bloody cult after your death, kidnapping " +"and sacrificing young women. His entire group was killed after being " +"discovered by the Old Guard. His head was put on a spike as a reminder that" +" cultists will not be tolerated." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He did not survive for long after your death. Electrocuted in an old " +"cellar, he kept screaming your name. His body was never found." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived you by just a few days, he drowned trying to escape from a " +"horde." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered alone for days, before finding a Free Merchant outpost. He" +" spent a few years as a caravan guard, often drinking himself half blind and" +" enjoying any woman he could find. Booze made his grip unsteady and he was " +"eventually fired. He died of alcohol poisoning the same day." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with the idea of settling down, he eventually found love and " +"retired to a farm in the middle of nowhere. Relatively safe from the " +"monsters, he thrived for years. Survived by seven sons and two daughters." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became famous in the wastes after finding an old brewery and copying " +"their recipe. His chilled beer, a known delicacy, is traded far and wide by" +" the Free Merchants." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Found a whole cellar of single malt whisky. Drank himself to death." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed after your death, he would hang himself after just a few " +"days." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Wandered for months, before finding a small community that would accept" +" him. Became a farmer and spent the rest of his uneventful life tending to " +"crops, glad that he was no longer alone." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with finding 'the Cure', he died a few weeks later in an old " +"lab, torn to shreds by a security turret." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a runner for the Refugee Center and died after a few months." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a raider gang and died in a firefight a few weeks later, trying " +"to rob a Free Merchant caravan." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, he eventually found an intact baseball field and built " +"a prosperous farming community there." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He spent the rest of his short life looking for a new fix. Died of an " +"overdose in an abandoned basement." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a small fishing village. Died a few years " +"later in a raider attack, alongside his young son." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Thoroughly terrified by your death, he retired to an old LMOE shelter, " +"vowing never to leave. He died of starvation inside." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He became a very prosperous game hunter, trading meat and furs, and " +"providing many settlements with food in exchange for booze and male company." +" He died years later of an STD." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Retired to the woods, he spent the rest of his life fishing and hunting" +" in a desolate cabin, rarely interacting with anyone else." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Died en route to California, deliriously dreaming of a better life as " +"he was slowly devoured by spiders." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He tried to cope with loneliness after your death, but failed. He was " +"blind drunk when a group of zombies found his hideout and didn't stand a " +"chance." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He didn't survive for long, waking up to a horde of zombies. They " +"smashed through his fortified windows in a pinch and only the last bullet " +"prevented him from being devoured alive." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He got sick soon after your death, and died without any medical help. " +"His last words were 'Why did I live long enough to suffer like that?'" +msgstr "" + #: lang/json/epilogue_from_json.py msgid "" " Committed suicide rather than fall into the hands of the Hell's " @@ -89016,6 +92672,167 @@ msgstr "" "ayuda y consumiendo lentamente las provisiones que tenía. Dos semanas " "después de ser arrastrada a su celda, murió por deshidratación." +#: lang/json/epilogue_from_json.py +msgid "" +" Shot by the Old Guard a few weeks later, hunted down after she robbed " +"an important caravan." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, she eventually found a quiet community there and spent " +"the rest of her life farming. She's survived by four daughters." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a runner for the Old Guard and was eventually permitted to " +"join. She spent the rest of her life hunting raiders. She died in a " +"skirmish after a few years, sacrificing her life to let her unit retreat. " +"Her name is venerated in songs and inscriptions." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Shortly after your death she joined the Free Merchants, becoming a " +"caravan guard and after a few months became the new liaison in the Refugee " +"Center. She died a few years later of a mysterious illness." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She was found half-dead by the Old Guard who took her in. She became a" +" famous scavenger, known for finding an intact stash of experimental " +"antibiotics." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She retired to the forest, where she built her own cabin and spending " +"the rest of her life fishing." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Captured by raiders, she spent the rest of her miserable life as a " +"slave. Hopeless, she slit her wrists with a rusty knife." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed, she joined a protestant community and became a paragon of " +"virtue. Devoting her life to bible study, she spent the rest of her life in" +" relative peace." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Killed and devoured by a cannibal just a few days after your death, " +"hardly anyone remembers her name." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a renowned merchant after your death, she built her own outpost " +"in the west. An avid book collector, she established a great library to " +"keep the flame of knowledge burning." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled around for months before finding an old farm. She spent a few" +" years tending to her crops and living the life of a hermit before being " +"killed by raiders for fun." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a settlement there. She became a renowned " +"engineer, building the largest steam engine in New England." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a gang after your death, she spent months preying on the " +"innocent, before dying in a dispute with a fellow brute." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Devoured alive by a group of zombies, she kept thinking of you as she " +"died." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She found an abandoned APC and spent years traveling around and " +"collecting personal stories. She wrote one of the few post-apocalyptic " +"books, detailing the life after the end." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Kept wandering for years. Her life was cut short when a group of " +"raiders used her as a target practice." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a skilled game hunter and one of the best shots in the " +"wasteland. Years later she joined the Old Guard and was given the position " +"of Marshal." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Desperate to save humanity from extinction, she organized her own group" +" of survivors, whose job was to hunt bandits and decorate roads with their " +"mutilated bodies. She died in a skirmish a few months later." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became an arsonist, and was incinerated a few weeks later in a fire" +" she set." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She kept wandering for a few weeks but eventually died after drinking " +"untreated water." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She wandered north and joined a local community there. She became " +"known for her trapping skills and ensured that the locals always had fresh " +"meat on their tables." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She joined the Free Merchants and led their first caravan to Canada. " +"She died a few years later of dysentery." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She built a boat and sailed east towards Europe, hoping that it was not" +" affected by the apocalypse. She was never heard from again." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She led a doomsday cult for a few years, she was sacrificed to their " +"gods after a particularly terrible harvest." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became obsessed with chems, and died of an overdose a few months after " +"your death." +msgstr "" + #: lang/json/faction_from_json.py msgid "Your Followers" msgstr "Tus Seguidores" @@ -89180,10 +92997,10 @@ msgid "A small family surviving on their generational land." msgstr "" #: lang/json/faction_from_json.py -msgid "God's Community" +msgid "New England Church Community" msgstr "" -#. ~ Description for God's Community +#. ~ Description for New England Church Community #: lang/json/faction_from_json.py msgid "" "A small group of churchgoers that formed a community in the woods. They " @@ -89220,103 +93037,211 @@ msgstr "" msgid "Dusty" msgstr "" -#. ~ Description for Dusty +#. ~ description for fault 'Dusty' #: lang/json/fault_from_json.py -msgid "It's dusty. Has no effect - obsolete fault." +msgid "It's dusty. Has no effect - obsolete fault." +msgstr "" + +#. ~ name of mending method for fault 'Dusty' +#: lang/json/fault_from_json.py +msgid "Wipe clean" +msgstr "" + +#. ~ success message for mending method 'Wipe clean' of fault 'Dusty' +#. ~ success message for mending method 'Clean gun' of fault 'Fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean you %s." msgstr "" #: lang/json/fault_from_json.py msgid "Already deployed" msgstr "" -#. ~ Description for Already deployed +#. ~ description for fault 'Already deployed' #: lang/json/fault_from_json.py msgid "This bionic needs to be reset to its factory state." msgstr "" +#. ~ name of mending method for fault 'Already deployed' +#: lang/json/fault_from_json.py +msgid "Reset to factory state" +msgstr "" + +#. ~ success message for mending method 'Reset to factory state' of fault +#. 'Already deployed' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully reset the %s to its factory state" +msgstr "" + #: lang/json/fault_from_json.py msgid "Blackpowder fouling" msgstr "" -#. ~ Description for Blackpowder fouling +#. ~ description for fault 'Blackpowder fouling' #: lang/json/fault_from_json.py msgid "" "Firing blackpowder loads from a gun fouls it, which reduces reliability and," -" if left uncleaned, leads to rust. It fouls the gun much faster than the use" -" of modern smokeless powder cartridges. Fouling is only a significant impact" -" on reliability at high levels, but black powder fouling accumulates " +" if left uncleaned, leads to rust. It fouls the gun much faster than the " +"use of modern smokeless powder cartridges. Fouling is only a significant " +"impact on reliability at high levels, but black powder fouling accumulates " "quickly." msgstr "" +#. ~ name of mending method for fault 'Blackpowder fouling' +#: lang/json/fault_from_json.py +msgid "Clean blackpowder fouling" +msgstr "" + +#. ~ success message for mending method 'Clean blackpowder fouling' of fault +#. 'Blackpowder fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean your %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Spent casing in chamber" msgstr "" -#. ~ Description for Spent casing in chamber +#. ~ description for fault 'Spent casing in chamber' #: lang/json/fault_from_json.py msgid "" "This gun currently has an empty casing chambered. It will have to be " "removed before firing." msgstr "" +#. ~ name of mending method for fault 'Spent casing in chamber' +#: lang/json/fault_from_json.py +msgid "Eject spent casing" +msgstr "" + +#. ~ success message for mending method 'Eject spent casing' of fault 'Spent +#. casing in chamber' +#: lang/json/fault_from_json.py +#, python-format +msgid "You eject the spent casing from the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Fouling" msgstr "" -#. ~ Description for Fouling +#. ~ description for fault 'Fouling' #: lang/json/fault_from_json.py msgid "" "Fouling is caused by firing gunpowder loads repeatedly, which reduces " -"reliability and can eventually cause damage to the gun. Fouling accumulates " -"slowly (unless blackpowder is used) due to the design of modern smokeless " +"reliability and can eventually cause damage to the gun. Fouling accumulates" +" slowly (unless blackpowder is used) due to the design of modern smokeless " "powder found in the vast majority of retail cartridges and it is not a " "significant problem until high levels of fouling are reached due to firing " "thousands of rounds without cleaning your firearm." msgstr "" +#. ~ name of mending method for fault 'Fouling' +#: lang/json/fault_from_json.py +msgid "Clean gun" +msgstr "" + #: lang/json/fault_from_json.py msgid "Worn drive belt" msgstr "" -#. ~ Description for Worn drive belt +#. ~ description for fault 'Worn drive belt' #: lang/json/fault_from_json.py msgid "Required for operation of an attached alternator." msgstr "Se necesita para operar un alternador unido." +#. ~ name of mending method for fault 'Worn drive belt' +#: lang/json/fault_from_json.py +msgid "Replace worn drive belt" +msgstr "" + +#. ~ success message for mending method 'Replace worn drive belt' of fault +#. 'Worn drive belt' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the worn drive belt of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty glow plugs" msgstr "" -#. ~ Description for Faulty glow plugs +#. ~ description for fault 'Faulty glow plugs' #: lang/json/fault_from_json.py msgid "Help when starting an engine in low ambient temperatures." msgstr "Ayuda a arrancar un motor con bajas temperaturas ambientales." +#. ~ name of mending method for fault 'Faulty glow plugs' +#: lang/json/fault_from_json.py +msgid "Replace faulty glow plugs" +msgstr "" + +#. ~ success message for mending method 'Replace faulty glow plugs' of fault +#. 'Faulty glow plugs' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty glow plugs of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Active immobiliser" msgstr "" -#. ~ Description for Active immobiliser +#. ~ description for fault 'Active immobiliser' #: lang/json/fault_from_json.py msgid "Prevents starting of the vehicle without the appropriate key." msgstr "Evita arrancar un vehículo sin la llave apropiada." +#. ~ name of mending method for fault 'Active immobiliser' +#: lang/json/fault_from_json.py +msgid "Deactivate immobiliser" +msgstr "" + +#. ~ description for mending method 'Deactivate immobiliser' of fault 'Active +#. immobiliser' +#: lang/json/fault_from_json.py +msgid "" +"Deactivate the immobiliser that is preventing the vehicle from starting." +msgstr "" + +#. ~ success message for mending method 'Deactivate immobiliser' of fault +#. 'Active immobiliser' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully deactivate the immobiliser of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty diesel pump" msgstr "" -#. ~ Description for Faulty diesel pump +#. ~ description for fault 'Faulty diesel pump' #: lang/json/fault_from_json.py msgid "Required to pump and pressurize diesel from a vehicles tank." msgstr "" "Se necesita para bombear y presurizar combustible diésel desde el tanque del" " vehículo." +#. ~ name of mending method for fault 'Faulty diesel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty diesel pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty diesel pump' of fault +#. 'Faulty diesel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty diesel pump of the %s" +msgstr "" + #: lang/json/fault_from_json.py msgid "Expired air filter" msgstr "" -#. ~ Description for Expired air filter +#. ~ description for fault 'Expired air filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces fuel efficiency and increases smoke production." @@ -89324,11 +93249,23 @@ msgstr "" "Un filtro gastado reduce la eficiencia de combustible y aumenta la " "generación de humo." +#. ~ name of mending method for fault 'Expired air filter' +#: lang/json/fault_from_json.py +msgid "Replace expired air filter" +msgstr "" + +#. ~ success message for mending method 'Replace expired air filter' of fault +#. 'Expired air filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired air filter of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Expired fuel filter" msgstr "" -#. ~ Description for Expired fuel filter +#. ~ description for fault 'Expired fuel filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces performance and increases the chance of backfires." @@ -89336,33 +93273,81 @@ msgstr "" "Un filtro gastado reduce la performance y aumenta la probabilidad de las " "detonaciones en el escape." +#. ~ name of mending method for fault 'Expired fuel filter' +#: lang/json/fault_from_json.py +msgid "Replace expired fuel filter" +msgstr "" + +#. ~ success message for mending method 'Replace expired fuel filter' of fault +#. 'Expired fuel filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired fuel filter of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty fuel pump" msgstr "" -#. ~ Description for Faulty fuel pump +#. ~ description for fault 'Faulty fuel pump' #: lang/json/fault_from_json.py msgid "Required to pump gasoline from a vehicles tank." msgstr "Se necesita para bombear gasolina desde el tanque del vehículo." +#. ~ name of mending method for fault 'Faulty fuel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty fuel pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty fuel pump' of fault +#. 'Faulty fuel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty fuel pump of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty water pump" msgstr "" -#. ~ Description for Faulty water pump +#. ~ description for fault 'Faulty water pump' #: lang/json/fault_from_json.py msgid "Required to pump water to an external radiator or heatsink." msgstr "Se necesita para bombear agua hacia un radiador externo o disipador." +#. ~ name of mending method for fault 'Faulty water pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty water pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty water pump' of fault +#. 'Faulty water pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty water pump of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty starter motor" msgstr "" -#. ~ Description for Faulty starter motor +#. ~ description for fault 'Faulty starter motor' #: lang/json/fault_from_json.py msgid "Required to initially start the engine." msgstr "Se necesita para iniciar el motor." +#. ~ name of mending method for fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +msgid "Replace faulty starter motor" +msgstr "" + +#. ~ success message for mending method 'Replace faulty starter motor' of +#. fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty starter motor of %s." +msgstr "" + #: lang/json/field_type_from_json.py lang/json/overmap_terrain_from_json.py #: lang/json/overmap_terrain_from_json.py src/mapdata.cpp src/mapdata.cpp #: src/skill.cpp @@ -89849,6 +93834,22 @@ msgstr "" msgid "smoke vent" msgstr "" +#: lang/json/field_type_from_json.py +msgid "clairvoyance" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "dreadful presense" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "frightful presense" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "terrifying presense" +msgstr "" + #: lang/json/furniture_from_json.py msgid "mutated cactus" msgstr "cactus mutado" @@ -89862,13 +93863,11 @@ msgstr "" msgid "A big, blocky metal device for refrigerating large areas." msgstr "" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "metal screeching!" msgstr "¡chirrido de metal!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "clang!" msgstr "¡clang!" @@ -89970,6 +93969,50 @@ msgid "" "although it still has parts." msgstr "" +#: lang/json/furniture_from_json.py +msgid "document shredder" +msgstr "" + +#. ~ Description for document shredder +#: lang/json/furniture_from_json.py +msgid "" +"It's not all about hiding government secrets, sometimes you just want to " +"stop identity theft." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "server stack" +msgstr "" + +#. ~ Description for server stack +#: lang/json/furniture_from_json.py +msgid "This is a big pile of computers. They're all turned off." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "large satellite dish" +msgstr "" + +#. ~ Description for large satellite dish +#: lang/json/furniture_from_json.py +msgid "" +"Somewhere up there, there are still satellites, orbiting and doing their " +"thing, sending signals down to an Earth that is no longer listening." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "mounted solar panel" +msgstr "" + +#. ~ Description for mounted solar panel +#: lang/json/furniture_from_json.py +msgid "A mounted solar panel." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "whack!" +msgstr "¡whack!" + #: lang/json/furniture_from_json.py msgid "road barricade" msgstr "barricada de camino" @@ -89981,11 +94024,11 @@ msgstr "" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py #: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +#: src/vehicle_move.cpp msgid "smash!" msgstr "¡smash!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "whump." msgstr "whump." @@ -90038,6 +94081,113 @@ msgstr "pared de bolsas de arena" msgid "A sandbag wall." msgstr "" +#: lang/json/furniture_from_json.py +msgid "standing mirror" +msgstr "espejo de pie" + +#. ~ Description for standing mirror +#: lang/json/furniture_from_json.py +msgid "Lookin' good - is that blood?" +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "glass breaking" +msgstr "cristal rompiéndose" + +#: lang/json/furniture_from_json.py +msgid "broken standing mirror" +msgstr "espejo de pie roto" + +#. ~ Description for broken standing mirror +#: lang/json/furniture_from_json.py +msgid "" +"You could look at yourself, if the mirror wasn't covered in cracks and " +"fractures." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bitts" +msgstr "" + +#. ~ Description for bitts +#: lang/json/furniture_from_json.py +msgid "" +"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " +"to secure mooring lines, ropes, hawsers, or cables." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "manacles" +msgstr "esposas" + +#. ~ Description for manacles +#: lang/json/furniture_from_json.py +msgid "" +"Chain serfs in your dungeon. All you need now is an iron ball to chain to " +"it." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "crack." +msgstr "crack." + +#: lang/json/furniture_from_json.py +msgid "statue" +msgstr "estatua" + +#. ~ Description for statue +#: lang/json/furniture_from_json.py +msgid "A carved statue made of stone." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +msgid "thump." +msgstr "tomp." + +#: lang/json/furniture_from_json.py +msgid "mannequin" +msgstr "maniquí" + +#. ~ Description for mannequin +#: lang/json/furniture_from_json.py +msgid "" +"Put clothes on it, talk to it. Who's around to judge you? Wait… did it " +"just move?" +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "birdbath" +msgstr "" + +#. ~ Description for birdbath +#: lang/json/furniture_from_json.py +msgid "A decorative cement birdbath and pedestal." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "rotary clothes dryer line" +msgstr "" + +#. ~ Description for rotary clothes dryer line +#: lang/json/furniture_from_json.py +msgid "A umbrella shaped clothes line mounted on a pole." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "floor lamp" +msgstr "" + +#. ~ Description for floor lamp +#: lang/json/furniture_from_json.py +msgid "A tall standing lamp, meant to plug into a wall and light up a room." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bonk!" +msgstr "" + #: lang/json/furniture_from_json.py msgid "indoor plant" msgstr "planta de interior" @@ -90149,6 +94299,85 @@ msgid "" "be used for planting crops. This one contains a planted seedling" msgstr "" +#: lang/json/furniture_from_json.py +msgid "spider egg sack" +msgstr "capullo de huevo de araña" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Much too large, off-white egg sack. Kind of icky. Something IS moving in " +"there." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "splat!" +msgstr "¡splat!" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " +"in there." +msgstr "" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"A horrifyingly oversized egg sack. Something IS moving in there. If you're" +" seeing this, you're already too close to it." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "ruptured egg sack" +msgstr "capullo roto de huevo" + +#. ~ Description for ruptured egg sack +#: lang/json/furniture_from_json.py +msgid "Super icky. Spider stuff's spilling out." +msgstr "" + +#. ~ Description for swamp gas +#: lang/json/furniture_from_json.py +msgid "" +"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " +"toxic gas." +msgstr "" + +#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp +msgid "splash!" +msgstr "splash!" + +#. ~ Description for fog +#: lang/json/furniture_from_json.py +msgid "This is a misty cloud of fog." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "fake workbench hands" +msgstr "" + +#. ~ Description for fake workbench hands +#: lang/json/furniture_from_json.py +msgid "This fake workbench holds the stats for working on a wielded item." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "ground crafting spot" +msgstr "" + +#. ~ Description for ground crafting spot +#: lang/json/furniture_from_json.py +msgid "" +"A cleared spot on the ground for crafting. Slower than using a workbench or" +" holding a project in your hands, but readily available." +msgstr "" + +#. ~ Description for seeing this is a bug +#: lang/json/furniture_from_json.py +msgid "Seeing this is a bug. If seen, please report and destroy." +msgstr "" + #: lang/json/furniture_from_json.py msgid "fireplace" msgstr "chimenea" @@ -90313,7 +94542,7 @@ msgid "" msgstr "" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: src/iuse.cpp +#: lang/json/terrain_from_json.py src/iuse.cpp msgid "crunch!" msgstr "¡crunch!" @@ -90326,7 +94555,7 @@ msgstr "flor de marloss" msgid "" "This flower is like the other flowers taken by the mushrooms, but its bulb " "is colored a brilliant cyan color, and it emits an aroma both overwhelming " -"and... delicious?" +"and… delicious?" msgstr "" #: lang/json/furniture_from_json.py @@ -90362,6 +94591,100 @@ msgid "" "Alien mold and stems mingle tightly here, creating a sort of fungal bush." msgstr "" +#: lang/json/furniture_from_json.py +msgid "stone slab" +msgstr "escalón de piedra" + +#. ~ Description for stone slab +#: lang/json/furniture_from_json.py +msgid "A flat slab of heavy stone." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "headstone" +msgstr "lápida" + +#. ~ Description for headstone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies." +msgstr "Ahí abajo están los cadáveres." + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +msgid "thump!" +msgstr "¡tomp!" + +#: lang/json/furniture_from_json.py +msgid "gravestone" +msgstr "tumba" + +#. ~ Description for gravestone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies. More fancy." +msgstr "Ahí abajo están los cadáveres. Es elegante." + +#: lang/json/furniture_from_json.py +msgid "worn gravestone" +msgstr "tumba desgastada" + +#. ~ Description for worn gravestone +#: lang/json/furniture_from_json.py +msgid "A worn-out gravestone." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "obelisk" +msgstr "obelisco" + +#. ~ Description for obelisk +#: lang/json/furniture_from_json.py +msgid "Monument to pride." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "thunk!" +msgstr "thunk!" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "robotic assembler" +msgstr "ensamblador robótico" + +#. ~ Description for robotic assembler +#: lang/json/furniture_from_json.py +msgid "" +"A durable and versatile robotic arm with a tool fitted to the end, for " +"working on an assembly line." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "chemical mixer" +msgstr "mezclador químico" + +#. ~ Description for chemical mixer +#: lang/json/furniture_from_json.py +msgid "" +"When chemicals need to be mixed in large quantities at just the right " +"combinations and temperatures, this is the tool for the job." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "robotic arm" +msgstr "brazo robótico" + +#. ~ Description for robotic arm +#: lang/json/furniture_from_json.py +msgid "" +"Automation! Science! Industry! Make a better horse! This robot arm " +"promises to do it all. Except it's currently unpowered. You could remove " +"the casing and retrieve the electronics through disassembly." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "thunk." +msgstr "tonk," + #: lang/json/furniture_from_json.py msgid "Autodoc Mk. XI" msgstr "" @@ -90373,10 +94696,6 @@ msgid "" "It's only as skilled as its operator." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "whack!" -msgstr "¡whack!" - #: lang/json/furniture_from_json.py msgid "Autodoc operation couch" msgstr "" @@ -90668,9 +94987,9 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "This is a meaty green stalactite with a thickened hide like that of a " -"starfish, extending from the floor to the ceiling. In the center is a series" -" of ports somewhat like mouths, from which pour bursts of a vile smelling " -"gas." +"starfish, extending from the floor to the ceiling. In the center is a " +"series of ports somewhat like mouths, from which pour bursts of a vile " +"smelling gas." msgstr "" #: lang/json/furniture_from_json.py @@ -90696,10 +95015,6 @@ msgid "" "out of injured vessels." msgstr "" -#: lang/json/furniture_from_json.py -msgid "splat!" -msgstr "¡splat!" - #: lang/json/furniture_from_json.py msgid "slimy pod" msgstr "" @@ -90744,7 +95059,7 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "This pulsing protuberance juts from the floor, its sides covered in scaled, " -"oozing skin. The surface is flat, but undulates softly. A handful of " +"oozing skin. The surface is flat, but undulates softly. A handful of " "unidentifiable appendages reach from the sides, suggesting a sort of " "nightmarish living autodoc." msgstr "" @@ -90901,12 +95216,6 @@ msgid "" "your workout. Might have useful electronic parts in it." msgstr "" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py src/map.cpp -#: src/mapdata.cpp -msgid "thump!" -msgstr "¡tomp!" - #: lang/json/furniture_from_json.py msgid "treadmill" msgstr "cinta para correr" @@ -90915,7 +95224,7 @@ msgstr "cinta para correr" #: lang/json/furniture_from_json.py msgid "" "Used for training leg muscles. It'll be extra hard without power. Could be" -" taken apart for its... parts." +" taken apart for its… parts." msgstr "" #: lang/json/furniture_from_json.py @@ -90941,7 +95250,7 @@ msgstr "piano" #: lang/json/furniture_from_json.py msgid "" "The ol' ebony and ivory. Really classes up the place. You could take it " -"apart if you wanted... you monster." +"apart if you wanted… you monster." msgstr "" #: lang/json/furniture_from_json.py @@ -90952,6 +95261,18 @@ msgstr "" msgid "kerchang." msgstr "" +#: lang/json/furniture_from_json.py +msgid "speaker cabinet" +msgstr "" + +#. ~ Description for speaker cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A cabinet loaded with 12-inch speakers, intended to help make various things" +" loud. It can't serve its original purpose these days, but it could be " +"disassembled for various electronic parts." +msgstr "" + #: lang/json/furniture_from_json.py msgid "cell phone signal booster" msgstr "" @@ -91083,6 +95404,53 @@ msgstr "" msgid "stool" msgstr "taburete" +#. ~ Description for camp chair +#: lang/json/furniture_from_json.py +msgid "Sit down, have a drink. It can folded for easy transportation." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "log stool" +msgstr "" + +#. ~ Description for log stool +#: lang/json/furniture_from_json.py +msgid "" +"A log tipped on its end with any rough edges cut off. Basically a very " +"simple seat." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bulletin board" +msgstr "tablón de anuncios" + +#. ~ Description for bulletin board +#: lang/json/furniture_from_json.py +msgid "" +"A big, cork bulletin board capable of sporting various notices. Pin some " +"notes for other survivors to read." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "sign" +msgstr "cartel" + +#. ~ Description for sign +#: lang/json/furniture_from_json.py +msgid "Read it. Warnings ahead." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "warning sign" +msgstr "" + +#. ~ Description for warning sign +#: lang/json/furniture_from_json.py +msgid "" +"A triangle-shaped sign on a post meant to indicate something important or " +"hazard." +msgstr "" + #: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py msgid "bed" msgstr "cama" @@ -91120,7 +95488,7 @@ msgstr "" msgid "rrrrip!" msgstr "¡rrrrip!" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/furniture_from_json.py msgid "" "A comfortable feather down mattress has been tossed on the floor for " @@ -91155,6 +95523,15 @@ msgstr "" msgid "Stores books. Y'know, those things. Who reads books anymore?" msgstr "" +#: lang/json/furniture_from_json.py +msgid "entertainment center" +msgstr "" + +#. ~ Description for entertainment center +#: lang/json/furniture_from_json.py +msgid "Stores audio visual equipment, books and collectible." +msgstr "" + #: lang/json/furniture_from_json.py msgid "coffin" msgstr "ataúd" @@ -91199,6 +95576,21 @@ msgstr "caja abierta" msgid "What's inside? Look in it!" msgstr "" +#. ~ Description for large cardboard box +#: lang/json/furniture_from_json.py +msgid "" +"A large cardboard box: this could be used to store things, or as a hiding " +"place." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "crumple!" +msgstr "" + +#: lang/json/furniture_from_json.py src/ballistics.cpp +msgid "thud." +msgstr "golpe seco." + #: lang/json/furniture_from_json.py msgid "cupboard" msgstr "alacena" @@ -91350,6 +95742,27 @@ msgstr "cubo de basura" msgid "One man's trash is another man's dinner." msgstr "" +#: lang/json/furniture_from_json.py +msgid "wardrobe" +msgstr "armario" + +#. ~ Description for wardrobe +#: lang/json/furniture_from_json.py +msgid "A tall piece of furniture - basically a freestanding closet." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "filing cabinet" +msgstr "fichero" + +#. ~ Description for filing cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " +"locked to protect important information. If you're lucky, there are often " +"keys nearby." +msgstr "" + #: lang/json/furniture_from_json.py msgid "utility shelf" msgstr "" @@ -91368,6 +95781,42 @@ msgstr "barril de madera" msgid "A keg made mostly of wood. Holds liquids, preferably alcoholic." msgstr "" +#: lang/json/furniture_from_json.py +msgid "display case" +msgstr "vitrina" + +#. ~ Description for display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff fancily and securely." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "broken display case" +msgstr "vitrina rota" + +#. ~ Description for broken display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff. It'll get stolen." +msgstr "Para mostrar tus cosas. Aunque te las van a robar." + +#: lang/json/furniture_from_json.py +msgid "standing tank" +msgstr "Tanque vertical" + +#. ~ Description for standing tank +#: lang/json/furniture_from_json.py +msgid "A large freestanding metal tank, useful for holding liquids." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "dumpster" +msgstr "contenedor" + +#. ~ Description for dumpster +#: lang/json/furniture_from_json.py +msgid "Stores trash. Doesn't get picked up anymore. Note the smell." +msgstr "" + #: lang/json/furniture_from_json.py msgid "counter" msgstr "mostrador" @@ -91439,7 +95888,7 @@ msgstr "" #. ~ Description for tourist table #: lang/json/furniture_from_json.py msgid "" -"Small metal folding table, ideal for off-road trips into the wild. Can be " +"Small metal folding table, ideal for off-road trips into the wild. Can be " "used as a workbench in a pinch." msgstr "" @@ -91452,277 +95901,199 @@ msgstr "mesa" msgid "Sit down when you eat!" msgstr "" +#. ~ Description for table #: lang/json/furniture_from_json.py -msgid "forge" -msgstr "forja" - -#. ~ Description for forge -#: lang/json/furniture_from_json.py -msgid "Metalworking station typically used in combination with an anvil." +msgid "a low table for livingrooms." msgstr "" -"Es una estación para trabajar los metales, comúnmente utilizada en " -"combinación con un yunque." -#. ~ Description for anvil #: lang/json/furniture_from_json.py -msgid "Used in metalworking." -msgstr "Se utiliza para trabajar el metal." +msgid "tatami mat" +msgstr "tatami" -#. ~ Description for still +#. ~ Description for tatami mat #: lang/json/furniture_from_json.py msgid "" -"An essential component for brewing and chemistry that allows for refining " -"liquid mixtures." +"A tatami is a type of mat used as a flooring material in traditional " +"Japanese-style rooms." msgstr "" -#. ~ Description for charcoal kiln -#. ~ Description for filled charcoal kiln #: lang/json/furniture_from_json.py -msgid "" -"A rock kiln designed to burn wood and organic material into charcoal in " -"absence of oxygen." +msgid "pillow fort" msgstr "" -"Una carbonera de piedra fabricada para convertir la madera y la materia " -"orgánica en carbón en ausencia de oxígeno." - -#: lang/json/furniture_from_json.py -msgid "metal charcoal kiln" -msgstr "carbonera de metal" -#. ~ Description for metal charcoal kiln -#. ~ Description for filled metal charcoal kiln +#. ~ Description for pillow fort #: lang/json/furniture_from_json.py -msgid "" -"A metal kiln designed to burn wood and organic material into charcoal in " -"absence of oxygen." +msgid "A comfy place to hide from the world. Not very defensible, though." msgstr "" -"Una carbonera de metal fabricada para convertir la madera y la materia " -"orgánica en carbón en ausencia de oxígeno." #: lang/json/furniture_from_json.py -msgid "filled metal charcoal kiln" -msgstr "carbonera de metal llena" - -#. ~ Description for arc furnace -#. ~ Description for filled arc furnace -#: lang/json/furniture_from_json.py -msgid "" -"An arc furnace designed to burn a powdery mix of coke and limestone to " -"create calcium carbide." +msgid "paf!" msgstr "" #: lang/json/furniture_from_json.py -msgid "filled arc furnace" +msgid "cardboard fort" msgstr "" -#: lang/json/furniture_from_json.py -msgid "smoking rack" -msgstr "soporte para ahumar" - -#. ~ Description for smoking rack -#. ~ Description for metal smoking rack -#. ~ Description for active metal smoking rack +#. ~ Description for cardboard fort #: lang/json/furniture_from_json.py msgid "" -"A special rack designed to smoke food for better preservation and taste." +"A fort built by tipping a cardboard box on its side, lining it with " +"blankets, and partly weather sealing it with a plastic sheet." msgstr "" -"Es un estante diseñado para ahumar comida para que se conserve más y tenga " -"mejor sabor." #: lang/json/furniture_from_json.py -msgid "active smoking rack" +msgid "cardboard wall" msgstr "" -#. ~ Description for active smoking rack +#. ~ Description for cardboard wall #: lang/json/furniture_from_json.py msgid "" -"A special rack designed to smoke food for better preservation and taste. It" -" is lit and smoking." +"This is a pile of cardboard boxes that have been filled with rags and junk " +"and stacked together like bricks to form a wall." msgstr "" #: lang/json/furniture_from_json.py -msgid "active metal smoking rack" +msgid "beaded curtain" msgstr "" +#. ~ Description for beaded curtain #: lang/json/furniture_from_json.py -msgid "rock forge" -msgstr "forja de piedra" - -#. ~ Description for rock forge -#: lang/json/furniture_from_json.py -msgid "" -"Metalworking station made of rock, typically used in combination with an " -"anvil." +msgid "This beaded curtain could be pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "clay kiln" -msgstr "horno de arcilla" +msgid "clickity clack… clack… clack" +msgstr "" -#. ~ Description for clay kiln #: lang/json/furniture_from_json.py -msgid "A kiln designed to bake clay pottery and bricks." -msgstr "Un horno fabricado para cocer ladrillos y hacer alfarería." +msgid "clickity clack… clack" +msgstr "" -#. ~ Description for stepladder #: lang/json/furniture_from_json.py -msgid "" -"A short, foldable ladder. Can help you climb to a rooftop, or maybe slow " -"something down." +msgid "open beaded curtain" msgstr "" +#. ~ Description for open beaded curtain #: lang/json/furniture_from_json.py -msgid "electric arc furnace" +msgid "This beaded curtain has been pulled aside." msgstr "" -#. ~ Description for electric arc furnace #: lang/json/furniture_from_json.py -msgid "" -"Not the kind of furnace you'd heat your house with, this is a device for " -"heating things to extreme temperatures as part of industrial fabrication " -"processes." +msgid "clickity clack… clack… clack!" msgstr "" #: lang/json/furniture_from_json.py -msgid "drill press" -msgstr "" +msgid "canvas floor" +msgstr "piso de tela" -#. ~ Description for drill press +#. ~ Description for canvas floor #: lang/json/furniture_from_json.py msgid "" -"A powerful drill mounted on a slide that lets it drop precisely down. " -"Useful in all kinds of projects from industrial fabrication to home " -"woodworking." +"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " +"of the tent." msgstr "" #: lang/json/furniture_from_json.py -msgid "tablesaw" -msgstr "" +msgid "canvas wall" +msgstr "pared de tela" -#. ~ Description for tablesaw +#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "" -"A rotating saw blade set into a large flat table, for making straight " -"measured cuts. One of the key tools in a carpenter's arsenal." +msgid "A wall made of stretched, waterproof cloth." msgstr "" -#: lang/json/furniture_from_json.py -msgid "mitre saw" -msgstr "" +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "slap!" +msgstr "¡slap!" -#. ~ Description for mitre saw +#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "" -"A circular saw blade on an arm that can slide and rotate in several " -"directions, this is a staple tool for nearly any carpentry." +msgid "A wall made of stretched, heavy-duty, waterproof cloth." msgstr "" #: lang/json/furniture_from_json.py -msgid "bandsaw" -msgstr "" +msgid "canvas flap" +msgstr "solapa de tela" -#. ~ Description for bandsaw +#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "" -"A ribbonlike sawblade runs in a single direction in this tool, allowing " -"precise cuts at almost any angle." +msgid "This canvas flap door could be pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "router table" -msgstr "" +msgid "open canvas flap" +msgstr "solapa abierta de tela" -#. ~ Description for router table +#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "" -"This table has an inset router, a rotating motor with an exchangeable blade " -"head for cutting specific profiles and grooves and stuff." +msgid "This canvas flap door has been pulled aside." msgstr "" +#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "planer" +msgid "This heavy canvas flap door could be pulled aside." msgstr "" -#. ~ Description for planer +#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "" -"A hefty tool that will take in a board and cut it smooth and flat to a " -"specific width. Particularly great if working with raw lumber stock, but " -"also good just for shaving wood down to size." +msgid "This heavy canvas flap door has been pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "jointer" -msgstr "" +msgid "groundsheet" +msgstr "lona impermeable" -#. ~ Description for jointer +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "" -"A table-shaped tool with a rotating blade that will cut down, smooth out, " -"and square off a board to make it very smooth and nice indeed." +msgid "This plastic groundsheet could keep you dry." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "hydraulic press" -msgstr "prensa hidráulica" - -#. ~ Description for hydraulic press +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "" -"If you really want to squash something a lot, this would be exactly the " -"right industrial tool for you. If, you know, it had power." +msgid "This large plastic groundsheet could keep you dry." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "power lathe" -msgstr "torno eléctrico" - -#. ~ Description for power lathe +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py msgid "" -"An industrial-grade lathe, for turning chunks of metal and other hard things" -" into round chunks of metal and other hard things." +"This plastic government-issue groundsheet could keep you dry, but was made " +"by the lowest bidder." msgstr "" #: lang/json/furniture_from_json.py -msgid "air compressor" -msgstr "" +msgid "animalskin wall" +msgstr "pared de piel de animal" -#. ~ Description for air compressor +#. ~ Description for animalskin wall #: lang/json/furniture_from_json.py -msgid "" -"This durable tank is topped with a motor that will cram as much air into the" -" tank as possible." +msgid "Wall made out of animal skin. Either an amazing or horrifying sight." msgstr "" #: lang/json/furniture_from_json.py -msgid "fermenting vat" -msgstr "tanque de fermentación" +msgid "animalskin flap" +msgstr "solapa de piel de animal" -#. ~ Description for fermenting vat -#. ~ Description for filled fermenting vat +#. ~ Description for animalskin flap #: lang/json/furniture_from_json.py -msgid "A sealable vat for fermenting vinegar and various alcoholic brews." +msgid "This animal skin flap could be pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "filled fermenting vat" -msgstr "tanque de fermentación lleno" +msgid "open animalskin flap" +msgstr "solapa abierta de piel de animal" +#. ~ Description for open animalskin flap #: lang/json/furniture_from_json.py -msgid "butchering rack" +msgid "This animal skin flap has been pulled aside." msgstr "" -#. ~ Description for butchering rack #: lang/json/furniture_from_json.py -msgid "Butchering rack designed to hang a carcass in the air." -msgstr "" +msgid "animalskin floor" +msgstr "piso de piel de animal" -#. ~ Description for metal butchering rack +#. ~ Description for animalskin floor #: lang/json/furniture_from_json.py -msgid "" -"Metal butchering rack designed to hang a carcass in the air. It can be " -"deconstructed and folded for easy transportation." +msgid "This animal skin groundsheet could keep you dry." msgstr "" #: lang/json/furniture_from_json.py @@ -91752,8 +96123,7 @@ msgstr "pila de escombros de basura" #. ~ Description for pile of trashy rubble #: lang/json/furniture_from_json.py msgid "" -"Trash topped with dirt and grass, it smells gross, but another man's " -"trash..." +"Trash topped with dirt and grass, it smells gross, but another man's trash…" msgstr "" #: lang/json/furniture_from_json.py @@ -91775,461 +96145,316 @@ msgid "Some ash, from wood or possibly bodies." msgstr "Es un poco de ceniza, de madera o de cadáver." #: lang/json/furniture_from_json.py -msgid "bulletin board" -msgstr "tablón de anuncios" +msgid "small boulder" +msgstr "roca pequeña" -#. ~ Description for bulletin board +#. ~ Description for small boulder #: lang/json/furniture_from_json.py msgid "" -"A big, cork bulletin board capable of sporting various notices. Pin some " -"notes for other survivors to read." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "sign" -msgstr "cartel" - -#. ~ Description for sign -#: lang/json/furniture_from_json.py -msgid "Read it. Warnings ahead." +"Blocking your path. Should be easy to move. It can be used as a primitive " +"anvil." msgstr "" #: lang/json/furniture_from_json.py -msgid "warning sign" -msgstr "" +msgid "medium boulder" +msgstr "roca mediana" -#. ~ Description for warning sign +#. ~ Description for medium boulder #: lang/json/furniture_from_json.py msgid "" -"A triangle-shaped sign on a post meant to indicate something important or " -"hazard." +"Blocking your path. It'll be a struggle to move. It can be used as a " +"primitive anvil." msgstr "" #: lang/json/furniture_from_json.py -msgid "standing mirror" -msgstr "espejo de pie" - -#. ~ Description for standing mirror -#: lang/json/furniture_from_json.py -msgid "Lookin' good - is that blood?" -msgstr "" +msgid "large boulder" +msgstr "roca grande" +#. ~ Description for large boulder #: lang/json/furniture_from_json.py -msgid "glass breaking" -msgstr "cristal rompiéndose" +msgid "Now how are you going to move this?" +msgstr "¿Cómo vas a hacer para mover esto?" #: lang/json/furniture_from_json.py -msgid "broken standing mirror" -msgstr "espejo de pie roto" +msgid "forge" +msgstr "forja" -#. ~ Description for broken standing mirror +#. ~ Description for forge #: lang/json/furniture_from_json.py -msgid "" -"You could look at yourself, if the mirror wasn't covered in cracks and " -"fractures." +msgid "Metalworking station typically used in combination with an anvil." msgstr "" +"Es una estación para trabajar los metales, comúnmente utilizada en " +"combinación con un yunque." +#. ~ Description for anvil #: lang/json/furniture_from_json.py -msgid "vending machine" -msgstr "máquina expendedora" +msgid "Used in metalworking." +msgstr "Se utiliza para trabajar el metal." -#. ~ Description for vending machine +#. ~ Description for still #: lang/json/furniture_from_json.py -msgid "Buy stuff with a cash card." +msgid "" +"An essential component for brewing and chemistry that allows for refining " +"liquid mixtures." msgstr "" -#: lang/json/furniture_from_json.py -msgid "broken vending machine" -msgstr "máquina expendedora rota" - -#. ~ Description for broken vending machine +#. ~ Description for charcoal kiln +#. ~ Description for filled charcoal kiln #: lang/json/furniture_from_json.py msgid "" -"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " -"you wouldn't need to pay at all!" +"A rock kiln designed to burn wood and organic material into charcoal in " +"absence of oxygen." msgstr "" +"Una carbonera de piedra fabricada para convertir la madera y la materia " +"orgánica en carbón en ausencia de oxígeno." #: lang/json/furniture_from_json.py -msgid "dumpster" -msgstr "contenedor" +msgid "metal charcoal kiln" +msgstr "carbonera de metal" -#. ~ Description for dumpster +#. ~ Description for metal charcoal kiln +#. ~ Description for filled metal charcoal kiln #: lang/json/furniture_from_json.py -msgid "Stores trash. Doesn't get picked up anymore. Note the smell." +msgid "" +"A metal kiln designed to burn wood and organic material into charcoal in " +"absence of oxygen." msgstr "" +"Una carbonera de metal fabricada para convertir la madera y la materia " +"orgánica en carbón en ausencia de oxígeno." #: lang/json/furniture_from_json.py -msgid "canvas wall" -msgstr "pared de tela" - -#. ~ Description for canvas wall -#: lang/json/furniture_from_json.py -msgid "A wall made of stretched, waterproof cloth." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "slap!" -msgstr "¡slap!" +msgid "filled metal charcoal kiln" +msgstr "carbonera de metal llena" -#. ~ Description for canvas wall +#. ~ Description for arc furnace +#. ~ Description for filled arc furnace #: lang/json/furniture_from_json.py -msgid "A wall made of stretched, heavy-duty, waterproof cloth." +msgid "" +"An arc furnace designed to burn a powdery mix of coke and limestone to " +"create calcium carbide." msgstr "" #: lang/json/furniture_from_json.py -msgid "canvas flap" -msgstr "solapa de tela" - -#. ~ Description for canvas flap -#: lang/json/furniture_from_json.py -msgid "This canvas flap door could be pulled aside." +msgid "filled arc furnace" msgstr "" #: lang/json/furniture_from_json.py -msgid "open canvas flap" -msgstr "solapa abierta de tela" +msgid "smoking rack" +msgstr "soporte para ahumar" -#. ~ Description for open canvas flap +#. ~ Description for smoking rack +#. ~ Description for metal smoking rack +#. ~ Description for active metal smoking rack #: lang/json/furniture_from_json.py -msgid "This canvas flap door has been pulled aside." +msgid "" +"A special rack designed to smoke food for better preservation and taste." msgstr "" +"Es un estante diseñado para ahumar comida para que se conserve más y tenga " +"mejor sabor." -#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door could be pulled aside." +msgid "active smoking rack" msgstr "" -#. ~ Description for open canvas flap +#. ~ Description for active smoking rack #: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door has been pulled aside." +msgid "" +"A special rack designed to smoke food for better preservation and taste. It" +" is lit and smoking." msgstr "" #: lang/json/furniture_from_json.py -msgid "groundsheet" -msgstr "lona impermeable" - -#. ~ Description for groundsheet -#: lang/json/furniture_from_json.py -msgid "This plastic groundsheet could keep you dry." +msgid "active metal smoking rack" msgstr "" -#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "This large plastic groundsheet could keep you dry." -msgstr "" +msgid "rock forge" +msgstr "forja de piedra" -#. ~ Description for groundsheet +#. ~ Description for rock forge #: lang/json/furniture_from_json.py msgid "" -"This plastic government-issue groundsheet could keep you dry, but was made " -"by the lowest bidder." +"Metalworking station made of rock, typically used in combination with an " +"anvil." msgstr "" #: lang/json/furniture_from_json.py -msgid "animalskin wall" -msgstr "pared de piel de animal" - -#. ~ Description for animalskin wall -#: lang/json/furniture_from_json.py -msgid "Wall made out of animal skin. Either an amazing or horrifying sight." -msgstr "" +msgid "clay kiln" +msgstr "horno de arcilla" +#. ~ Description for clay kiln #: lang/json/furniture_from_json.py -msgid "animalskin flap" -msgstr "solapa de piel de animal" +msgid "A kiln designed to bake clay pottery and bricks." +msgstr "Un horno fabricado para cocer ladrillos y hacer alfarería." -#. ~ Description for animalskin flap +#. ~ Description for stepladder #: lang/json/furniture_from_json.py -msgid "This animal skin flap could be pulled aside." +msgid "" +"A short, foldable ladder. Can help you climb to a rooftop, or maybe slow " +"something down." msgstr "" #: lang/json/furniture_from_json.py -msgid "open animalskin flap" -msgstr "solapa abierta de piel de animal" - -#. ~ Description for open animalskin flap -#: lang/json/furniture_from_json.py -msgid "This animal skin flap has been pulled aside." +msgid "electric arc furnace" msgstr "" +#. ~ Description for electric arc furnace #: lang/json/furniture_from_json.py -msgid "animalskin floor" -msgstr "piso de piel de animal" - -#. ~ Description for animalskin floor -#: lang/json/furniture_from_json.py -msgid "This animal skin groundsheet could keep you dry." +msgid "" +"Not the kind of furnace you'd heat your house with, this is a device for " +"heating things to extreme temperatures as part of industrial fabrication " +"processes." msgstr "" #: lang/json/furniture_from_json.py -msgid "statue" -msgstr "estatua" - -#. ~ Description for statue -#: lang/json/furniture_from_json.py -msgid "A carved statue made of stone." +msgid "drill press" msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "thump." -msgstr "tomp." - -#: lang/json/furniture_from_json.py -msgid "mannequin" -msgstr "maniquí" - -#. ~ Description for mannequin +#. ~ Description for drill press #: lang/json/furniture_from_json.py msgid "" -"Put clothes on it, talk to it. Who's around to judge you? Wait... did it " -"just move?" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "birdbath" +"A powerful drill mounted on a slide that lets it drop precisely down. " +"Useful in all kinds of projects from industrial fabrication to home " +"woodworking." msgstr "" -#. ~ Description for birdbath #: lang/json/furniture_from_json.py -msgid "A decorative cement birdbath and pedestal." +msgid "tablesaw" msgstr "" +#. ~ Description for tablesaw #: lang/json/furniture_from_json.py -msgid "rotary clothes dryer line" +msgid "" +"A rotating saw blade set into a large flat table, for making straight " +"measured cuts. One of the key tools in a carpenter's arsenal." msgstr "" -#. ~ Description for rotary clothes dryer line #: lang/json/furniture_from_json.py -msgid "A umbrella shaped clothes line mounted on a pole." +msgid "mitre saw" msgstr "" +#. ~ Description for mitre saw #: lang/json/furniture_from_json.py -msgid "mounted solar panel" +msgid "" +"A circular saw blade on an arm that can slide and rotate in several " +"directions, this is a staple tool for nearly any carpentry." msgstr "" -#. ~ Description for mounted solar panel #: lang/json/furniture_from_json.py -msgid "A mounted solar panel." +msgid "bandsaw" msgstr "" -#: lang/json/furniture_from_json.py -msgid "spider egg sack" -msgstr "capullo de huevo de araña" - -#. ~ Description for spider egg sack +#. ~ Description for bandsaw #: lang/json/furniture_from_json.py msgid "" -"Much too large, off-white egg sack. Kind of icky. Something IS moving in " -"there." +"A ribbonlike sawblade runs in a single direction in this tool, allowing " +"precise cuts at almost any angle." msgstr "" -#. ~ Description for spider egg sack #: lang/json/furniture_from_json.py -msgid "" -"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " -"in there." +msgid "router table" msgstr "" -#. ~ Description for spider egg sack +#. ~ Description for router table #: lang/json/furniture_from_json.py msgid "" -"A horrifyingly oversized egg sack. Something IS moving in there. If you're" -" seeing this, you're already too close to it." +"This table has an inset router, a rotating motor with an exchangeable blade " +"head for cutting specific profiles and grooves and stuff." msgstr "" #: lang/json/furniture_from_json.py -msgid "ruptured egg sack" -msgstr "capullo roto de huevo" - -#. ~ Description for ruptured egg sack -#: lang/json/furniture_from_json.py -msgid "Super icky. Spider stuff's spilling out." +msgid "planer" msgstr "" -#: lang/json/furniture_from_json.py -msgid "reinforced vending machine" -msgstr "máquina expendedora reforzada" - -#. ~ Description for reinforced vending machine +#. ~ Description for planer #: lang/json/furniture_from_json.py msgid "" -"A bit tougher to crack open than regular vending machines. That just makes " -"it all the sweeter a target, doesn't it?" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "display case" -msgstr "vitrina" - -#. ~ Description for display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff fancily and securely." +"A hefty tool that will take in a board and cut it smooth and flat to a " +"specific width. Particularly great if working with raw lumber stock, but " +"also good just for shaving wood down to size." msgstr "" #: lang/json/furniture_from_json.py -msgid "broken display case" -msgstr "vitrina rota" - -#. ~ Description for broken display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff. It'll get stolen." -msgstr "Para mostrar tus cosas. Aunque te las van a robar." - -#: lang/json/furniture_from_json.py -msgid "standing tank" -msgstr "Tanque vertical" - -#. ~ Description for standing tank -#: lang/json/furniture_from_json.py -msgid "A large freestanding metal tank, useful for holding liquids." +msgid "jointer" msgstr "" -#: lang/json/furniture_from_json.py -msgid "canvas floor" -msgstr "piso de tela" - -#. ~ Description for canvas floor +#. ~ Description for jointer #: lang/json/furniture_from_json.py msgid "" -"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " -"of the tent." +"A table-shaped tool with a rotating blade that will cut down, smooth out, " +"and square off a board to make it very smooth and nice indeed." msgstr "" -#: lang/json/furniture_from_json.py -msgid "robotic arm" -msgstr "brazo robótico" +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "hydraulic press" +msgstr "prensa hidráulica" -#. ~ Description for robotic arm +#. ~ Description for hydraulic press #: lang/json/furniture_from_json.py msgid "" -"Automation! Science! Industry! Make a better horse! This robot arm " -"promises to do it all. Except it's currently unpowered. You could remove " -"the casing and retrieve the electronics through disassembly." +"If you really want to squash something a lot, this would be exactly the " +"right industrial tool for you. If, you know, it had power." msgstr "" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "thunk." -msgstr "tonk," - -#: lang/json/furniture_from_json.py -msgid "automated gas console" -msgstr "consola automática de gases" - -#. ~ Description for automated gas console -#: lang/json/furniture_from_json.py -msgid "Automated gas flow control console." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "broken automated gas console" -msgstr "consola automática de gases rota" +msgid "power lathe" +msgstr "torno eléctrico" -#. ~ Description for broken automated gas console +#. ~ Description for power lathe #: lang/json/furniture_from_json.py msgid "" -"Automated gas flow control console. Broken. This is not a good thing." +"An industrial-grade lathe, for turning chunks of metal and other hard things" +" into round chunks of metal and other hard things." msgstr "" #: lang/json/furniture_from_json.py -msgid "small boulder" -msgstr "roca pequeña" - -#. ~ Description for small boulder -#: lang/json/furniture_from_json.py -msgid "" -"Blocking your path. Should be easy to move. It can be used as a primitive " -"anvil." +msgid "air compressor" msgstr "" -#: lang/json/furniture_from_json.py -msgid "medium boulder" -msgstr "roca mediana" - -#. ~ Description for medium boulder +#. ~ Description for air compressor #: lang/json/furniture_from_json.py msgid "" -"Blocking your path. It'll be a struggle to move. It can be used as a " -"primitive anvil." +"This durable tank is topped with a motor that will cram as much air into the" +" tank as possible." msgstr "" #: lang/json/furniture_from_json.py -msgid "large boulder" -msgstr "roca grande" - -#. ~ Description for large boulder -#: lang/json/furniture_from_json.py -msgid "Now how are you going to move this?" -msgstr "¿Cómo vas a hacer para mover esto?" - -#: lang/json/furniture_from_json.py -msgid "stone slab" -msgstr "escalón de piedra" +msgid "fermenting vat" +msgstr "tanque de fermentación" -#. ~ Description for stone slab +#. ~ Description for fermenting vat +#. ~ Description for filled fermenting vat #: lang/json/furniture_from_json.py -msgid "A flat slab of heavy stone." +msgid "A sealable vat for fermenting vinegar and various alcoholic brews." msgstr "" #: lang/json/furniture_from_json.py -msgid "manacles" -msgstr "esposas" +msgid "filled fermenting vat" +msgstr "tanque de fermentación lleno" -#. ~ Description for manacles #: lang/json/furniture_from_json.py -msgid "" -"Chain serfs in your dungeon. All you need now is an iron ball to chain to " -"it." +msgid "butchering rack" msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "crack." -msgstr "crack." - -#: lang/json/furniture_from_json.py -msgid "headstone" -msgstr "lápida" - -#. ~ Description for headstone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies." -msgstr "Ahí abajo están los cadáveres." - -#: lang/json/furniture_from_json.py -msgid "gravestone" -msgstr "tumba" - -#. ~ Description for gravestone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies. More fancy." -msgstr "Ahí abajo están los cadáveres. Es elegante." - -#: lang/json/furniture_from_json.py -msgid "worn gravestone" -msgstr "tumba desgastada" - -#. ~ Description for worn gravestone +#. ~ Description for butchering rack #: lang/json/furniture_from_json.py -msgid "A worn-out gravestone." +msgid "Butchering rack designed to hang a carcass in the air." msgstr "" +#. ~ Description for metal butchering rack #: lang/json/furniture_from_json.py -msgid "obelisk" -msgstr "obelisco" - -#. ~ Description for obelisk -#: lang/json/furniture_from_json.py -msgid "Monument to pride." +msgid "" +"Metal butchering rack designed to hang a carcass in the air. It can be " +"deconstructed and folded for easy transportation." msgstr "" #: lang/json/furniture_from_json.py -msgid "thunk!" -msgstr "thunk!" +msgid "hanging meathook" +msgstr "" -#. ~ Description for camp chair +#. ~ Description for hanging meathook #: lang/json/furniture_from_json.py -msgid "Sit down, have a drink. It can folded for easy transportation." +msgid "A hefty hook suspended from a chain for stringing up corpses." msgstr "" #. ~ Description for wind mill @@ -92267,254 +96492,53 @@ msgid "" msgstr "" #: lang/json/furniture_from_json.py -msgid "pillow fort" -msgstr "" - -#. ~ Description for pillow fort -#: lang/json/furniture_from_json.py -msgid "A comfy place to hide from the world. Not very defensible, though." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "paf!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "cardboard fort" -msgstr "" - -#. ~ Description for cardboard fort -#: lang/json/furniture_from_json.py -msgid "" -"A fort built by tipping a cardboard box on its side, lining it with " -"blankets, and partly weather sealing it with a plastic sheet." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "crumple!" -msgstr "" - -#: lang/json/furniture_from_json.py src/ballistics.cpp -msgid "thud." -msgstr "golpe seco." - -#: lang/json/furniture_from_json.py -msgid "cardboard wall" -msgstr "" - -#. ~ Description for cardboard wall -#: lang/json/furniture_from_json.py -msgid "" -"This is a pile of cardboard boxes that have been filled with rags and junk " -"and stacked together like bricks to form a wall." -msgstr "" - -#. ~ Description for large cardboard box -#: lang/json/furniture_from_json.py -msgid "" -"A large cardboard box: this could be used to store things, or as a hiding " -"place." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "beaded curtain" -msgstr "" - -#. ~ Description for beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain could be pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "open beaded curtain" -msgstr "" - -#. ~ Description for open beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain has been pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "filing cabinet" -msgstr "fichero" - -#. ~ Description for filing cabinet -#: lang/json/furniture_from_json.py -msgid "" -"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " -"locked to protect important information. If you're lucky, there are often " -"keys nearby." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "wardrobe" -msgstr "armario" - -#. ~ Description for wardrobe -#: lang/json/furniture_from_json.py -msgid "A tall piece of furniture - basically a freestanding closet." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "robotic assembler" -msgstr "ensamblador robótico" - -#. ~ Description for robotic assembler -#: lang/json/furniture_from_json.py -msgid "" -"A durable and versatile robotic arm with a tool fitted to the end, for " -"working on an assembly line." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "chemical mixer" -msgstr "mezclador químico" - -#. ~ Description for chemical mixer -#: lang/json/furniture_from_json.py -msgid "" -"When chemicals need to be mixed in large quantities at just the right " -"combinations and temperatures, this is the tool for the job." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "floor lamp" -msgstr "" - -#. ~ Description for floor lamp -#: lang/json/furniture_from_json.py -msgid "A tall standing lamp, meant to plug into a wall and light up a room." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "bonk!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "document shredder" -msgstr "" - -#. ~ Description for document shredder -#: lang/json/furniture_from_json.py -msgid "" -"It's not all about hiding government secrets, sometimes you just want to " -"stop identity theft." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "server stack" -msgstr "" - -#. ~ Description for server stack -#: lang/json/furniture_from_json.py -msgid "This is a big pile of computers. They're all turned off." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "large satellite dish" -msgstr "" - -#. ~ Description for large satellite dish -#: lang/json/furniture_from_json.py -msgid "" -"Somewhere up there, there are still satellites, orbiting and doing their " -"thing, sending signals down to an Earth that is no longer listening." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "hanging meathook" -msgstr "" - -#. ~ Description for hanging meathook -#: lang/json/furniture_from_json.py -msgid "A hefty hook suspended from a chain for stringing up corpses." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "fake workbench hands" -msgstr "" - -#. ~ Description for fake workbench hands -#: lang/json/furniture_from_json.py -msgid "This fake workbench holds the stats for working on a wielded item." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "ground crafting spot" -msgstr "" +msgid "automated gas console" +msgstr "consola automática de gases" -#. ~ Description for ground crafting spot +#. ~ Description for automated gas console #: lang/json/furniture_from_json.py -msgid "" -"A cleared spot on the ground for crafting. Slower than using a workbench or" -" holding a project in your hands, but readily available." +msgid "Automated gas flow control console." msgstr "" #: lang/json/furniture_from_json.py -msgid "tatami mat" -msgstr "tatami" +msgid "broken automated gas console" +msgstr "consola automática de gases rota" -#. ~ Description for tatami mat +#. ~ Description for broken automated gas console #: lang/json/furniture_from_json.py msgid "" -"A tatami is a type of mat used as a flooring material in traditional " -"Japanese-style rooms." +"Automated gas flow control console. Broken. This is not a good thing." msgstr "" #: lang/json/furniture_from_json.py -msgid "bitts" -msgstr "" +msgid "reinforced vending machine" +msgstr "máquina expendedora reforzada" -#. ~ Description for bitts +#. ~ Description for reinforced vending machine #: lang/json/furniture_from_json.py msgid "" -"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " -"to secure mooring lines, ropes, hawsers, or cables." +"A bit tougher to crack open than regular vending machines. That just makes " +"it all the sweeter a target, doesn't it?" msgstr "" #: lang/json/furniture_from_json.py -msgid "speaker cabinet" -msgstr "" +msgid "vending machine" +msgstr "máquina expendedora" -#. ~ Description for speaker cabinet +#. ~ Description for vending machine #: lang/json/furniture_from_json.py -msgid "" -"A cabinet loaded with 12-inch speakers, intended to help make various things" -" loud. It can't serve its original purpose these days, but it could be " -"disassembled for various electronic parts." +msgid "Buy stuff with a cash card." msgstr "" -#. ~ Description for seeing this is a bug #: lang/json/furniture_from_json.py -msgid "Seeing this is a bug. If seen, please report and destroy." -msgstr "" +msgid "broken vending machine" +msgstr "máquina expendedora rota" -#. ~ Description for swamp gas +#. ~ Description for broken vending machine #: lang/json/furniture_from_json.py msgid "" -"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " -"toxic gas." -msgstr "" - -#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp -msgid "splash!" -msgstr "splash!" - -#. ~ Description for fog -#: lang/json/furniture_from_json.py -msgid "This is a misty cloud of fog." +"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " +"you wouldn't need to pay at all!" msgstr "" #. ~ Description for vehicle refrigerator @@ -92615,6 +96639,15 @@ msgid "" "blood, candles, and other small knick-knacks." msgstr "" +#: lang/json/furniture_from_json.py +msgid "large glowing boulder" +msgstr "" + +#. ~ Description for large glowing boulder +#: lang/json/furniture_from_json.py +msgid "Something about this doesn't look right." +msgstr "" + #: lang/json/furniture_from_json.py msgid "krash!" msgstr "" @@ -92644,8 +96677,8 @@ msgstr "¡La verja está abierta!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You turn the handle..." -msgstr "Giraste la manivela..." +msgid "You turn the handle…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -92664,8 +96697,8 @@ msgstr "¡Las puertas del granero se abren!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You pull the rope..." -msgstr "Tiras de la soga..." +msgid "You pull the rope…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -92699,8 +96732,8 @@ msgstr "¡La puerta se levanta!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You throw the lever..." -msgstr "Tiras de la palanca..." +msgid "You throw the lever…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -92823,7 +96856,7 @@ msgid "Fake gun that fires acid globs." msgstr "" #: lang/json/gun_from_json.py lang/json/gunmod_from_json.py -#: src/item_factory.cpp src/turret.cpp +#: src/item_factory.cpp msgid "auto" msgstr "automático" @@ -92893,7 +96926,7 @@ msgstr[1] "arcos de una pieza" msgid "" "A primitive bow fashioned from a single piece of wood, made specifically for" " the person using it. Weak and wildly inaccurate, it doesn't work that " -"well, unfortunately..." +"well, unfortunately…" msgstr "" #: lang/json/gun_from_json.py @@ -93102,9 +97135,7 @@ msgstr "" "debido a su tamaño pequeño y corto tensado. Los pernos disparados con esta " "arma tienen una gran probabilidad de no romperse." -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "pistol" msgstr "pistola" @@ -93402,10 +97433,10 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "Portable Plasma Accelerator Model Five, developed by Lockheed Martin " -"Corporation. This device uses highly advanced capacitor banks to create a " -"torus of superheated hydrogen plasma and accelerate it to incredible speed. " -"It was designed to take down heavy vehicles, and was expected to fully enter" -" US Army service not long before the Cataclysm." +"Corporation. This device uses highly advanced capacitor banks to create a " +"torus of superheated hydrogen plasma and accelerate it to incredible speed." +" It was designed to take down heavy vehicles, and was expected to fully " +"enter US Army service not long before the Cataclysm." msgstr "" #: lang/json/gun_from_json.py @@ -93421,8 +97452,7 @@ msgid "" " a double barrel shotgun." msgstr "" -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py msgctxt "gun_type_type" msgid "shotgun" msgstr "escopeta" @@ -93925,8 +97955,8 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"The Walther P22 is a blowback operated semi-automatic pistol. It is about " -"half the size of most Walthers. It is made mostly with plastic, with the " +"The Walther P22 is a blowback operated semi-automatic pistol. It is about " +"half the size of most Walthers. It is made mostly with plastic, with the " "slide and key components being made of die-cast zinc alloy" msgstr "" @@ -94648,15 +98678,10 @@ msgstr[1] "M24" msgid "" "The M24 Sniper is the military and police version of the Remington Model 700" " rifle, M24 being the model name assigned by the United States Army after " -"adoption as their standard sniper rifle in 1988. The M24 is referred to as a" -" 'weapon system' because it consists of not only a rifle, but also a " +"adoption as their standard sniper rifle in 1988. The M24 is referred to as " +"a 'weapon system' because it consists of not only a rifle, but also a " "detachable telescopic sight and other accessories." msgstr "" -"El M24 francotirador es una versión militar y policíaca del rifle Remington " -"modelo 700. M24 es el nombre asignado por el Ejército de Estados Unidos " -"luego de adoptarlo como su rifle de francotirador estándar en 1988. El M24 " -"es llamado 'sistema de armas' porque además del rifle tiene una mira " -"telescópica removible y otros accesorios." #: lang/json/gun_from_json.py msgid "HK417 A2" @@ -94747,7 +98772,7 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "One of Kel-tec's oldest designs, the P32 is a popular option for deep " -"concealment and backup usage. Despite its extreme light weight and small " +"concealment and backup usage. Despite its extreme light weight and small " "size, its .32 ACP chambering makes for good handling and recoil control." msgstr "" @@ -94822,20 +98847,17 @@ msgstr "" "disparos que podrás hacer." #: lang/json/gun_from_json.py -msgid "COP .38" -msgid_plural "COP .38" -msgstr[0] "COP .38" -msgstr[1] "COP .38" +msgid "COP .357 Derringer" +msgid_plural "COP .357 Derringers" +msgstr[0] "" +msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"The COP .38 is a small, chubby derringer pistol that bears a slight " -"resemblance to the Mossberg Brownie. It has four barrels arranged in a " -"square formation." +"A small, chubby derringer pistol bearing a slight resemblance to the " +"Mossberg Brownie. It uses a rotating firing pin to fire the individual " +"hammers of the four barrels arranged in a square formation." msgstr "" -"El COP.38 es una pistola derringer pequeña y gordita que tiene un ligero " -"parecido con el Mossberg Brownie. Tiene cuatro cañones dispuestos en una " -"formación cuadrada." #: lang/json/gun_from_json.py msgid "pipe rifle: .38 Special" @@ -94871,20 +98893,6 @@ msgstr "" "Un revólver de siete disparos calibre .38, vendida por Smith & Wesson. Posee" " una mira trasera fija y una estructura reforzada." -#: lang/json/gun_from_json.py -msgid "Taurus Pro .38" -msgid_plural "Taurus Pro .38" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/gun_from_json.py -msgid "" -"A popular .38 pistol. Designed with numerous safety features and built from" -" high-quality, durable materials." -msgstr "" -"Una pistola calibre .38 popular. Diseñada con muchas características de " -"seguridad y construida con materiales duraderos de alta calidad." - #: lang/json/gun_from_json.py msgid "MAC-11" msgid_plural "MAC-11s" @@ -94952,10 +98960,22 @@ msgstr[1] "" msgid "" "The Hi-Point CF-380 is a blowback operated semi automatic pistol designed by" " Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" +#: lang/json/gun_from_json.py +msgid "Taurus Spectrum" +msgid_plural "Taurus Spectrum" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A .380 subcompact pistol. Designed for concealed carry and built from high-" +"quality, durable materials." +msgstr "" + #: lang/json/gun_from_json.py msgid "M1911A1" msgid_plural "M1911A1s" @@ -95058,9 +99078,9 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in .40 S&W." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in .40 S&W." msgstr "" #: lang/json/gun_from_json.py @@ -95086,8 +99106,9 @@ msgstr[1] "" msgid "" "The Hi-Point Model JCP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" #: lang/json/gun_from_json.py @@ -95501,8 +99522,9 @@ msgstr[1] "" msgid "" "The Hi-Point Model JHP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" #: lang/json/gun_from_json.py @@ -95711,7 +99733,7 @@ msgstr "" "desactivado, y el mecanismo de alimentación con cinta fue modificado para " "tener una cámara pequeña de una sola bala." -#: lang/json/gun_from_json.py src/item_factory.cpp src/turret.cpp +#: lang/json/gun_from_json.py src/item_factory.cpp msgid "manual" msgstr "manual" @@ -96606,9 +100628,9 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in 9x19mm Parabellum." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in 9x19mm Parabellum." msgstr "" #: lang/json/gun_from_json.py @@ -96620,8 +100642,8 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Walther P38 is a semi-automatic handgun adopted shortly before the " -"second world war. Developed due to the high production costs of its " -"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " +"second world war. Developed due to the high production costs of its " +"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " "This early DA/SA locked-breech design would introduce features later seen on" " more modern firearms such as the Beretta 92 series, and served Germany " "until 2004." @@ -96637,7 +100659,7 @@ msgstr[1] "" msgid "" "The Walther PPQ is a semi-automatic pistol originating from the Walther " "P99QA, and maintains compatibility with some of its predecessor's " -"accessories. This model is chambered in 9x19mm Parabellum." +"accessories. This model is chambered in 9x19mm Parabellum." msgstr "" #: lang/json/gun_from_json.py @@ -96650,7 +100672,7 @@ msgstr[1] "" msgid "" "The Hi-Point C-9 is a blowback operated semi automatic pistol designed by " "Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" @@ -96663,10 +100685,10 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The CZ-75 is a semi-automatic pistol developed in Czechoslovakia, and is one" -" of the original wonder nines. Though designed for export to western " +" of the original wonder nines. Though designed for export to western " "countries, it was declared a state secret; lack of international patent " "protection meant that many clones and variants were produced and distributed" -" around the world, with Česká zbrojovka only joining in the 90's. This " +" around the world, with Česká zbrojovka only joining in the 90's. This " "pistol remains wildly popular among competition shooters." msgstr "" @@ -96679,10 +100701,10 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Walther CCP is a gas-delayed blowback semi-automatic pistol intended for" -" the concealed carry consumer market. Internally, it is nearly identical to " -"the cult classic H&K P7. Its fixed barrel design makes it potentially more " -"accurate than many other pistols, though this may difficult to realize with " -"its average trigger and short sight radius." +" the concealed carry consumer market. Internally, it is nearly identical to" +" the cult classic H&K P7. Its fixed barrel design makes it potentially more" +" accurate than many other pistols, though this may difficult to realize with" +" its average trigger and short sight radius." msgstr "" #: lang/json/gun_from_json.py @@ -98399,10 +102421,62 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"A bow made of multiple materials to maximize energy efficiency. There are " +"A bow made of multiple materials to maximize energy efficiency. There are " "two Druid runes embedded at the tips." msgstr "" +#: lang/json/gun_from_json.py +msgid "M47A1 Techno-Medusa" +msgid_plural "M47A1 Techno-Medusae" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A magically-enhanced update to the Phillips & Rodgers' M47 Medusa, a multi-" +"caliber revolver aimed at survivalists. While Technomancy improves the " +"reliability with smaller cartridges, it is not as accurate as dedicated " +"caliber revolvers due to freebore." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "gunblade" +msgid_plural "gunblades" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"Constructed similarly to a falcata, this forward-sloping blade has a short-" +"barrel pump shotgun attached to the blade's spine for finishing blows or a " +"first strike." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "shotcestus" +msgid_plural "shotcesti" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A sawn-off double-barrel shotgun mounted on a metal cestus. The lack of a " +"stock to absorb recoil means some strength is required to fire." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "Ichaival" +msgid_plural "Ichaivals" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"Ichaival, the bow of Odin. Rumored to fire 10 arrows with every pull of the" +" string. It has gold and silver ornaments on it, as well as an ornate " +"Raven." +msgstr "" + #: lang/json/gun_from_json.py msgid "Woodbow" msgid_plural "Woodbows" @@ -98528,12 +102602,6 @@ msgstr "" " como otros diseños de ballesta, pero es fácil de cargar. Los pernos " "disparados con esta arma tienen una gran probabilidad de no romperse." -#: lang/json/gun_from_json.py -msgid "Ichaival" -msgid_plural "Ichaivals" -msgstr[0] "" -msgstr[1] "" - #: lang/json/gun_from_json.py msgid "" "This is a replica of the bow possessed by Odin, Ichaival, which is rumored " @@ -99720,7 +103788,7 @@ msgstr "" msgid "accessories" msgstr "accesorios" -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "bow" msgstr "arco" @@ -99855,7 +103923,7 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" "Testmod for UPS drain on mods, this should never spawn, if you see this, " -"it's a bug. 50x more UPS drain." +"it's a bug. 50x more UPS drain." msgstr "" #: lang/json/gunmod_from_json.py @@ -100022,8 +104090,8 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" -"A set of optics to concentrate the laser beam on a smaller focus point. This" -" increases range and damage output, but complicates targeting." +"A set of optics to concentrate the laser beam on a smaller focus point. " +"This increases range and damage output, but complicates targeting." msgstr "" #: lang/json/gunmod_from_json.py @@ -100051,7 +104119,7 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" "A set of electronics to optimize emitter workcycle and increase overall " -"energy efficiency. Decreases power consumption." +"energy efficiency. Decreases power consumption." msgstr "" #: lang/json/gunmod_from_json.py @@ -100066,8 +104134,8 @@ msgstr[1] "capacitores de alta densidad" #: lang/json/gunmod_from_json.py msgid "" -"A capacitor with a higher energy density increases range and damage; at the" -" cost of a markedly increased power consumption." +"A capacitor with a higher energy density increases range and damage; at the " +"cost of a markedly increased power consumption." msgstr "" #: lang/json/gunmod_from_json.py @@ -100286,6 +104354,20 @@ msgstr "" "compensar el levantamiento de la bocacha. Disminuye el retroceso pero " "aumenta el tamaño y el ruido, y reduce un poco la precisión." +#: lang/json/gunmod_from_json.py +msgid "modified muzzle brake" +msgid_plural "modified muzzle brakes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A muzzle brake redirects exhaust gases to compensate for muzzle climb, " +"improving recoil but increasing bulk, noise, and reducing accuracy slightly." +" This one was modified and customized to mount on pretty much any firearm " +"other than launchers, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "homemade suppressor" msgid_plural "homemade suppressors" @@ -100426,6 +104508,20 @@ msgstr "" msgid "rail" msgstr "riel" +#: lang/json/gunmod_from_json.py +msgid "modified rail-mounted crossbow" +msgid_plural "modified rail-mounted crossbows" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A kit to attach a pair of crossbow arms and a firing rail to the barrel of a" +" long firearm. It allows crossbow bolts to be fired. This one was modified" +" and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "offset iron sights" msgid_plural "offset iron sights" @@ -100441,6 +104537,19 @@ msgstr "" " una mira telescópica u otra modificación impide el uso de los lugares de " "interés principales." +#: lang/json/gunmod_from_json.py +msgid "modified offset iron sights" +msgid_plural "modified offset iron sights" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An alternative set of iron sights mounted at 45° for use when a scope or " +"other modification prevents use of the primary sights. This one was " +"modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "offset sight rail" msgid_plural "offset sight rails" @@ -100453,6 +104562,18 @@ msgstr "" "Es un conjunto de ranuras adicionales a 45º para poner una óptica " "secundaria." +#: lang/json/gunmod_from_json.py +msgid "modified offset sight rail" +msgid_plural "modified offset sight rails" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An additional rail set at 45° for attaching a secondary optic. This one was" +" modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "rail laser sight" msgid_plural "rail laser sights" @@ -100484,6 +104605,20 @@ msgstr "" "fuego y reduce la vibración, lo que reduce mucho el retroceso e incrementa " "levemente la precisión." +#: lang/json/gunmod_from_json.py +msgid "modified gyroscopic stabilizer" +msgid_plural "modified gyroscopic stabilizers" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An advanced unit that straps onto the side of your firearm and reduces " +"vibration, greatly reducing recoil and slightly increasing accuracy. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "LW gyroscopic stabilizer" msgid_plural "LW gyroscopic stabilizers" @@ -100603,6 +104738,20 @@ msgid "" " mrad increments and is remarkably small and light for its magnification." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified rifle scope" +msgid_plural "modified rifle scopes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 3-18x44 rifle scope. It is adjustable for windage and elevation in 1/10th" +" mrad increments and is remarkably small and light for its magnification. " +"This one was modified and customized to mount on pretty much any weapon " +"other than pistols and SMGs, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "ACOG scope" msgid_plural "ACOG scopes" @@ -100615,6 +104764,19 @@ msgid "" "crosshair." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified ACOG scope" +msgid_plural "modified ACOG scopes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 4x32 TA01 Advanced Combat Optical Gunsight with a tritium illuminated " +"crosshair. This one was modified and customized to mount on pretty much any" +" weapon other than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "RS1219 scope" msgid_plural "RS1219 scopes" @@ -100640,11 +104802,10 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" -"A simple telescopic sight, essentially a small telescope with crosshairs. " -"Increases weight but improves accuracy." +"A simple hand-crafted telescopic sight, essentially a small telescope with " +"crosshairs. Not as good as the ones made before the cataclysm. Increases " +"weight but improves accuracy." msgstr "" -"Es una simple mira telescópica, es como un telescopio con punto de mira. " -"Incrementa el peso pero mejora la precisión." #: lang/json/gunmod_from_json.py msgid "telescopic pistol sight" @@ -100828,6 +104989,21 @@ msgstr "" "que mejoran en gran medida la manipulación del retroceso son utilizables " "sólo en ciertas superficies y son lentos para equipar." +#: lang/json/gunmod_from_json.py +msgid "modified bipod" +msgid_plural "modified bipods" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Bipods are commonly used on rifles and machine guns to provide a forward " +"rest and reduce motion. Although they greatly improve handling of recoil " +"they are usable only on certain surfaces and are slow to equip. This one " +"was modified and customized to mount on pretty much any weapon, if you so " +"want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "combination gun shotgun" msgid_plural "combination gun shotguns" @@ -100871,6 +105047,19 @@ msgstr "" "control. No es tan eficaz como un bípode pero utilizable en todas las " "condiciones." +#: lang/json/gunmod_from_json.py +msgid "modified forward grip" +msgid_plural "modified forward grips" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A grip placed forward on the barrel allows for greater control. Not as " +"effective as a bipod but usable under all conditions. This one was modified" +" and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "integrated bayonet" msgid_plural "integrated bayonets" @@ -100943,6 +105132,20 @@ msgstr "" "M16, pero hoy en día puede ser adjuntado a cualquier rifle. Permite cargar y" " disparar una granada 40mm." +#: lang/json/gunmod_from_json.py +msgid "modified M203" +msgid_plural "modified M203s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M203 was originally designed for use with M16 variants but today can be " +"attached to almost any rifle. It allows a single 40mm grenade to be loaded " +"and fired. This one was modified and customized to mount on pretty much any" +" weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "M320 GLM" msgid_plural "M320 GLM" @@ -100960,6 +105163,21 @@ msgstr "" "grandes en un tamaño pequeño, a cambio de una menor precisión. Puede ser " "adjuntado a un rifle o combinado con una culata para ser usado solo." +#: lang/json/gunmod_from_json.py +msgid "modified M320 GLM" +msgid_plural "modified M320 GLMs" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M320 Grenade Launcher Module offers the functionality of larger " +"launchers in a very small package at the cost of decreased accuracy. It can" +" be either attached to a rifle or combined with a buttstock for stand alone " +"use. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "masterkey shotgun" msgid_plural "masterkey shotguns" @@ -100976,6 +105194,20 @@ msgstr "" "del cañón de varios rifles. Permite cargar y disparar un total de cuatro " "cartuchos de escopeta." +#: lang/json/gunmod_from_json.py +msgid "modified masterkey shotgun" +msgid_plural "modified masterkey shotguns" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A minimalist pump action shotgun, which can be mounted under the barrel of " +"many rifles. It allows a total of four shotgun shells to be loaded and " +"fired. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "40mm pipe launcher" msgid_plural "40mm pipe launchers" @@ -100984,11 +105216,9 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" -"This is a home built launcher tube that can be attached to almost any rifle." -" It allows a single 40mm grenade to be loaded and fired." +"This is a home built launcher tube that can be attached to almost any weapon" +" except handguns. It allows a single 40mm grenade to be loaded and fired." msgstr "" -"Es un tubo lanzador casero que puede ser adjuntado a casi cualquier rifle. " -"Permite cargar y disparar una granada 40mm." #: lang/json/gunmod_from_json.py msgid "pistol bayonet" @@ -101021,6 +105251,20 @@ msgstr "" "casquillo, que puede ser montada debajo del cañón de varios rifles. Acepta " "los cargadores de caja RMSA10." +#: lang/json/gunmod_from_json.py +msgid "modified RM121 aux shotgun" +msgid_plural "modified RM121 aux shotguns" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The Rivtech RM121 auxiliary weapon system is a magazine-fed semi-automatic " +"caseless shotgun, which can be mounted under the barrel of many rifles. " +"Accepts RMSA10 box magazines. This one was modified and customized to mount" +" on pretty much any weapon other than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "underslung shotgun" msgid_plural "underslung shotguns" @@ -101035,6 +105279,20 @@ msgstr "" "Es una escopeta corta con 2 cañones, que puede ser montada debajo del cañón " "de varios rifles. Permite cargar y disparar dos cartuchos de escopeta." +#: lang/json/gunmod_from_json.py +msgid "modified underslung shotgun" +msgid_plural "modified underslung shotguns" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A short shotgun with 2 barrels, which can be mounted under the barrel of " +"many rifles. It allows two shotgun shells to be loaded and fired. This one" +" was modified and customized to mount on pretty much any weapon other than " +"pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "LW underbarrel laser sight" msgid_plural "LW underbarrel laser sights" @@ -101331,6 +105589,58 @@ msgstr "" "dispara y debido a las modificaciones extensivas, el arma ya no puede usarse" " sin un UPS." +#: lang/json/gunmod_from_json.py +msgid "'Silent Winds' suppressor" +msgid_plural "'Silent Winds' suppressors" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Rather than using purely wipe media, an additional localized silence spell " +"in this tube quiets gunshots going through to hearing-safe levels." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (rail)" +msgid_plural "mana laser sights (rail)" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit under the barrel." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (underbarrel)" +msgid_plural "mana laser sights (underbarrel)" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit on the rail." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana dot sight" +msgid_plural "mana dot sights" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Adds a blue dot optic made from crystallized mana to the top of your gun, " +"replacing the iron sights. Increases accuracy and weight." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "makeshift pistol bayonet" msgid_plural "makeshift pistol bayonets" @@ -103300,8 +107610,8 @@ msgstr "Medir radiación" #: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/game_inventory.cpp src/teleport.cpp -msgid "..." -msgstr "..." +msgid "…" +msgstr "" #: lang/json/item_action_from_json.py msgid "Control an RC car" @@ -103465,16 +107775,12 @@ msgid "" " up." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the outer aura layer, intended for metaphysical effects." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your outer aura." msgstr "" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate barometer (which is used to measure " @@ -103483,6 +107789,7 @@ msgstr "" "Este artilugio está equipado con un preciso barómetro (que se utiliza para " "medir la presión atmosférica)." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item can be clipped on to a belt loop of the appropriate " @@ -103491,10 +107798,6 @@ msgstr "" "Este artículo se puede enganchar a una hebilla del cinturón " "del tamaño apropiado." -#: lang/json/json_flag_from_json.py -msgid "Layer for backpacks and things worn over outerwear." -msgstr "Capa para mochilas y cosas sobre ropa de abrigo." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is strapped onto you." @@ -103507,14 +107810,6 @@ msgid "" " properly." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "" -"Blinds the wearer while worn, and provides nominal protection vs flashbang " -"flashes." -msgstr "" -"Ciega al usuario mientras se deteriora, y proporciona protección nominal " -"contra los flashes de las granadas flashbang." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear prevents you from seeing anything." @@ -103617,14 +107912,6 @@ msgstr "" msgid "You can wear only one." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "" -"Wearing this clothing gives a morale bonus if the player has the Stylish " -"trait." -msgstr "" -"Llevando esta ropa da un bonus de moral si el jugador tiene el rasgo de " -"Estilo." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This piece of clothing is fancy." @@ -103655,21 +107942,11 @@ msgstr "" msgid "This gear corrects nearsightedness." msgstr "Este equipo corrige la miopía." -#: lang/json/json_flag_from_json.py -msgid "" -"Zombie-dropped clothing giving various penalties if Filthy mod is active. " -"Also CBMs harvested from zombies." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This item is filthy." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "Used for eyes protection from flashbang." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -103711,6 +107988,7 @@ msgstr "" "Esta pieza de ropa tiene una capucha para mantener la cabeza " "caliente si su cabeza no está incómoda." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate hygrometer (which is used to measure " @@ -103719,6 +107997,7 @@ msgstr "" "Este artilugio está equipado con un higrómetro preciso (que se utiliza para " "medir la humedad)." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item is a component of the gun it is attached to. It can't be removed " @@ -103727,29 +108006,6 @@ msgstr "" "Este objeto es un componente del arma a la que está unida. No se puede " "quitar sin destruirlo." -#: lang/json/json_flag_from_json.py -msgid "Item can never be used with a CVD machine." -msgstr "El objeto nunca podrá ser usado con una máquina CVD" - -#: lang/json/json_flag_from_json.py -msgid "" -"Don't offer to draw items from this holster when the fire key is pressed " -"whilst the player's hands are empty." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents repairing of this item even if otherwise suitable tools exist." -msgstr "" -"Evita la reparación de este objeto incluso si existen otras herramientas " -"adecuadas." - -#: lang/json/json_flag_from_json.py -msgid "" -"forces calories and vitamins to be the ones defined in the json, instead of " -"inheriting from ingredients" -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "You could probably plant these." @@ -103762,24 +108018,11 @@ msgid "" "tastes much better when frozen." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "Outer garment layer." -msgstr "Capa de prenda exterior." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is generally worn over clothing." msgstr "Este artilugio es generalmente usado sobre ropa." -#: lang/json/json_flag_from_json.py -msgid "" -"Can always be worn no matter encumbrance/mutations/bionics/etc., but " -"prevents any other clothing being worn over this." -msgstr "" -"Siempre puede llevarse puesto sin importar la " -"comodidad/mutaciones/biónica/etc... Pero impide que cualquier otra ropa " -"pueda ponerse sobre esto." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -103789,12 +108032,6 @@ msgstr "" "Esta ropa es lo suficientemente grande como para acomodar tu anatomía " "mutada anormalmente grande ." -#: lang/json/json_flag_from_json.py -msgid "" -"Can be worn comfortably by mutants with Tiny or Unassuming. Too small for " -"anyone else." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -103804,25 +108041,11 @@ msgstr "" "Este artilugio reduce el volumen de los sonidos a " "un nivel seguro." -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the personal aura layer, intended for metaphysical " -"effects." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your personal aura." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "" -"Increases warmth for hands if the player's hands are cold and the player is " -"wielding nothing." -msgstr "" -"Aumenta el calor de las manos si las manos del jugador están frías y el " -"jugador no está empuñando nada." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -103832,17 +108055,6 @@ msgstr "" "Esta ropa tiene bolsillos para calentar las manos cuando no se " "está empuñando nada." -#: lang/json/json_flag_from_json.py -msgid "" -"If turned ON, it uses its own source of power, instead of relying on power " -"of the user." -msgstr "" - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "25% chance to protect against fear_paralyze monster attack." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear keeps out the mind control rays." @@ -103877,10 +108089,6 @@ msgstr "" msgid "This item can be used to communicate with radio waves." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "Prevents the covered body-part(s) from getting wet in the rain." -msgstr "Impide que las partes del cuerpo cubiertas se mojen de la lluvia." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -103889,19 +108097,6 @@ msgstr "" "Esta pieza de ropa está diseñada para mantenerte seco/a en la " "lluvia." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the player from wielding a weapon two-handed, forcing one-handed " -"use if the weapon permits it." -msgstr "" -"Evita que el jugador empuñe un arma a dos manos, obligando a emplearla a una" -" mano si el arma lo permite." - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from participating in the encumbrance system when worn." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -103909,26 +108104,6 @@ msgid "" " other things when worn." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sheath of the appropriate size." -msgstr "Este artículo se puede almacenar en una funda del tamaño apropiado." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a scabbard of the appropriate size." -msgstr "Este artículo se puede almacenar en una vaina del tamaño apropiado." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sling of the appropriate size." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a bag of the appropriate size." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "Undergarment layer." -msgstr "Capa de prenda interior." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing lies close to the skin." @@ -103957,32 +108132,16 @@ msgstr "" "Esta ropa te protegerá de cualquier daño y resiste una " "gran cantidad de maltratos." -#: lang/json/json_flag_from_json.py -msgid "Prevents glaring when in sunlight." -msgstr "Previene el deslumbramiento cuando pega el sol." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing keeps the glare out of your eyes." msgstr "Esta ropa mantiene el brillo de sus ojos." -#: lang/json/json_flag_from_json.py -msgid "" -"Gives an additional moral bonus over FANCY if the player has the Stylish " -"trait." -msgstr "" -"Da un bonus de moral adicional de LUJO si el jugador posee el rasgo de " -"Estilo." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing is very fancy." msgstr "Esta ropa es muy elegante." -#: lang/json/json_flag_from_json.py -msgid "Allows you to see much further under water." -msgstr "Permite ver mucho más lejos bajo el agua." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -103992,49 +108151,22 @@ msgstr "" "Esta ropa le permite ver mucho más lejos bajo el " "agua." -#: lang/json/json_flag_from_json.py -msgid "" -"This gear is equipped with an accurate thermometer (which is used to measure" -" temperature)." -msgstr "" -"Este artilugio está equipado con un termómetro de precisión (que se utiliza " -"para medir la temperatura)." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is equipped with an accurate thermometer." msgstr "" "Este artilugio está equipado con un termómetro de precisión." -#: lang/json/json_flag_from_json.py -msgid "Can be made to fit via tailoring." -msgstr "Puede ser hecho a la medida a través de la costura." - -#: lang/json/json_flag_from_json.py -msgid "Layer for belts and other things worn on the waist." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is worn on or around your waist." msgstr "Este equipo se lleva en o alrededor de su cintura." -#: lang/json/json_flag_from_json.py -msgid "Acts as a watch and allows the player to see actual time." -msgstr "Actúa como un reloj y permite al jugador ver el tiempo actual." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear allows to see actual time." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the covered body-part(s) from getting wet in any circumstance." -msgstr "" -"Evita que las partes del cuerpo cubiertas se mojen en cualquier " -"circunstancia." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -104044,14 +108176,6 @@ msgstr "" "Esta ropa no permitirá que atraviese el agua. A menos que " "saltes al río o algo por el estilo." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from making the body part count as unfriendly to water and" -" thus causing negative morale from being wet." -msgstr "" -"Evita que el objeto empape las partes del cuerpo y por lo tanto causando que" -" baje la moral cuando esté mojado/a." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -104096,13 +108220,6 @@ msgid "" "overall warmth." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "" -"Allows wielding with unarmed fighting styles and trains unarmed when used." -msgstr "" -"Permite manejar con estilos de lucha sin armas y entrenar desarmado cuando " -"se utiliza." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -104117,109 +108234,26 @@ msgstr "" msgid "This item contains a nanofabricator recipe." msgstr "Este objeto tiene una receta de nanofabricador." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "This bionic is a faulty bionic." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This bionic is a power source bionic." -msgstr "Este biónico es un fuente de energía biónica." - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic only has a function when activated, else it causes its effect " -"every turn." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a gun bionic and activating it will fire it. Prevents all " -"other activation effects." +msgid "This bionic is faulty." msgstr "" -"Este biónico es un arma biónica y al activarla se disparará. Evita cualquier" -" otro efecto de activación." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a weapon bionic and activating it will create (or destroy) " -"bionic's fake_item in user's hands. Prevents all other activation effects." +msgid "This bionic provides power." msgstr "" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This bionic can provide power to powered armor." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's effects permanent." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's Area of Effect ignore walls." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "You can cast spells with this item in your hand." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This makes the spell's summoned monster always hostile. Note that the spell" -" needs to be a summon spell for this to do anything." -msgstr "" - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "" -"This makes the spell's summoned monster hostile 50% of the time. Note that " -"the spell needs to be a summon spell for this to do anything." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "The spell makes no sound at its point of impact." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This spell is much louder at its point of impact." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The caster must speak in order to cast the spell. More mouth encumbrannce " -"increases failure percent, and the caster speaks when casting." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell requires arm movement to cast. Arm encumbrance affects failure " -"percentage and casting time." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell does not require hands in order to cast it. Encumbrance penalties" -" on hands are nullified." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell does not require leg movement in order to be cast. All " -"encumbrance penalties for legs are nullified." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell requires focus to cast. The lower your focus, the higher failure" -" rate to cast." -msgstr "" - +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" -"Chooses a spell at random to cast from extra_effects. See MAGIC.md for " -"details" -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This mutation does not count toward thresholds at all." +"This food is unappetizing in a way that can't be covered up " +"by most cooking." msgstr "" #. ~ Please leave anything in unchanged. @@ -104637,6 +108671,10 @@ msgstr "Nivel siguiente" msgid "Previous level" msgstr "Nivel anterior" +#: lang/json/keybinding_from_json.py +msgid "Reset level" +msgstr "Reiniciar nivel" + #: lang/json/keybinding_from_json.py msgid "Undo move" msgstr "Deshacer movimiento" @@ -104653,10 +108691,6 @@ msgstr "Activar/Desactivar Bandera" msgid "Toggle lights" msgstr "Activar/Desactivar luces" -#: lang/json/keybinding_from_json.py -msgid "Reset level" -msgstr "Reiniciar nivel" - #: lang/json/keybinding_from_json.py msgid "Confirm Choice" msgstr "Confirmar elección" @@ -105361,6 +109395,10 @@ msgstr "" msgid "View Visibility Map" msgstr "" +#: lang/json/keybinding_from_json.py +msgid "View Lighting Map" +msgstr "" + #: lang/json/keybinding_from_json.py msgid "View Radiation Map" msgstr "" @@ -105374,8 +109412,8 @@ msgid "Toggle Fullscreen mode" msgstr "Act./Desact. Pantalla completa" #: lang/json/keybinding_from_json.py -msgid "Toggle Pixel Minimap" -msgstr "Activar/Desactivar Minimapa" +msgid "Toggle Minimap" +msgstr "" #: lang/json/keybinding_from_json.py msgid "Toggle Panel Admin" @@ -105731,6 +109769,7 @@ msgstr "Quitar color usado" msgid "Load color template" msgstr "Cargar plantilla de color" +#. ~ translation should not exceed 3 console cells #: lang/json/keybinding_from_json.py lang/json/keybinding_from_json.py #: src/editmap.cpp src/editmap.cpp src/editmap.cpp src/veh_interact.cpp msgid "Yes" @@ -105790,6 +109829,10 @@ msgstr "Alarma" msgid "Toggle atomic lights" msgstr "Luces atómicas" +#: lang/json/keybinding_from_json.py +msgid "Control autopiot" +msgstr "" + #: lang/json/keybinding_from_json.py msgid "Toggle camera system" msgstr "Sistema de cámaras" @@ -108124,79 +112167,6 @@ msgid "" "Lasts 1 turn." msgstr "" -#: lang/json/martial_art_from_json.py -msgid "Tai Chi" -msgstr "Tai Chi" - -#. ~ Description for martial art 'Tai Chi' -#: lang/json/martial_art_from_json.py -msgid "" -"Though Tai Chi is often seen as a form of mental and physical exercise, it " -"is a legitimate martial art, focused on self-defense. Its ability to absorb" -" the force of an attack makes your Perception decrease damage further on a " -"block." -msgstr "" -"Aunque el Tai Chi es visto a menudo como un ejercicio físico y mental, es un" -" legítimo arte marcial focalizado en la defensa propia. Su capacidad de " -"absorber la fuerza de un ataque hace que tu Percepción disminuya el daño en " -"un bloqueo." - -#. ~ Description of buff for martial art 'Tai Chi' -#: lang/json/martial_art_from_json.py -msgid "+1 Block. Perception decreases damage when blocking." -msgstr "+1 Bloquear. La percepción disminuye el daño cuando bloqueás" - -#: lang/json/martial_art_from_json.py -msgid "Taekwondo" -msgstr "Taekwondo" - -#. ~ Description for martial art 'Taekwondo' -#: lang/json/martial_art_from_json.py -msgid "" -"Taekwondo is the national sport of Korea, and was used by the South Korean " -"army in the 20th century. Focused on kicks and so it does not benefit from " -"wielded weapons. It also includes strength training; your blocks absorb " -"extra damage the stronger you are." -msgstr "" - -#. ~ Description of buff for martial art 'Taekwondo' -#: lang/json/martial_art_from_json.py -msgid "Strength decreases damage when blocking." -msgstr "La fuerza disminuye el daño cuando bloqueás." - -#: lang/json/martial_art_from_json.py -msgid "Zui Quan" -msgstr "Zui Quan" - -#. ~ Description for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "" -"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" -" the enemy, giving you a passive dodge bonus based on your intelligence. " -"The turn after you attack, you may dodge any number of attacks with no " -"penalty, and successfully dodging an attack gives you bonus damage and to-" -"hit based on your intelligence." -msgstr "" -"También conocido como \"boxeo de borracho\", Zui Quan imita el movimiento de" -" un borracho para confundir al enemigo, otorgándote un bonus a esquivar " -"basado en tu inteligencia. El turno después de atacar, puedes esquivar todos" -" los ataques sin penalización, y si esquivas exitosamente un ataque recibes " -"un bonus al daño y al acierto basado en tu inteligencia." - -#. ~ Description of buff for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "Intelligence increases dodging ability" -msgstr "La inteligencia aumenta la habilidad de esquivar" - -#: lang/json/martial_art_from_json.py -msgid "Counter Strike" -msgstr "Contra Golpe" - -#. ~ Description of buff 'Counter Strike' for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "Extra damage and to-hit after successful dodge" -msgstr "Bonus de acierto y de daño después de una evasión exitosa" - #: lang/json/martial_art_from_json.py msgid "Silat" msgstr "Silat" @@ -108218,16 +112188,182 @@ msgstr "Postura de Silat" #. ~ Description of buff 'Silat Stance' for martial art 'Silat' #: lang/json/martial_art_from_json.py -msgid "+1 dodge" -msgstr "+1 esquivar" +msgid "" +"You try to stay loose as possible when fighting to have more chances to dodge.\n" +"\n" +"+1 Dodge attempts." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Silat Evasion" +msgstr "" + +#. ~ Description of buff 'Silat Evasion' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +msgid "" +"You stay low as you move, making it harder for enemies to pin you down.\n" +"\n" +"+1 Dodge attempts.\n" +"Lasts 2 turn." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Silat Appraisal" +msgstr "" + +#. ~ Description of buff 'Silat Appraisal' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Each time you dodge an attack, you learn a bit more about your opponents' fighting style. This allows you to make more precise attacks against them.\n" +"\n" +"Accuracy increased by 15%% of Dexterirty.\n" +"Lasts 2 turns. Stacks 3 times." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Snake Kung Fu" +msgstr "Kung Fu de la Serpiente" + +#. ~ Description for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +msgid "" +"One of the five Shaolin animal styles. The Snake focuses on sinuous " +"movement and precision strikes. Perception determines your Accuracy, rather" +" than Dexterity. Standing still will increases your accuracy and damage of " +"your next attack." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Snake's Sight" +msgstr "" + +#. ~ Description of buff 'Snake's Sight' for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You are patient and know where to hit your opponent for the best results.\n" +"\n" +"Perception increases Accuracy instead of Dexterity. Accuracy increased by 25%% of Perception but decreased by 25%% of Dexterity." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat. Standing still gives you an extra block " +"attempt but moving will briefly increase your damage." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Your training grants better defense while using a polearm.\n" +"\n" +"+1 Block attempt." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Superior Positioning" +msgstr "" + +#. ~ Description of buff 'Superior Positioning' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You have given up your defenses for a moment to increase the damage of your attacks.\n" +"\n" +"+10%% damage, -1 Block attempts.\n" +"Lasts 1 turn." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Taekwondo" +msgstr "Taekwondo" + +#. ~ Description for martial art 'Taekwondo' +#: lang/json/martial_art_from_json.py +msgid "" +"Taekwondo is the national sport of Korea, and was used by the South Korean " +"army in the 20th century. Focused on kicks and so it does not benefit from " +"wielded weapons. It also includes strength training; your blocks absorb " +"extra damage and your attacks do more damage if you are not holding " +"anything." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Taekwondo Stance" +msgstr "" + +#. ~ Description of buff 'Taekwondo Stance' for martial art 'Taekwondo' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Using your legs to attack allows your hands to be free for better defense.\n" +"\n" +"Blocked damage decreased by 50%% of Strength." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Unhindered" +msgstr "" + +#. ~ Description of buff 'Unhindered' for martial art 'Taekwondo' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Your attacks are stronger if you are not holding anything in your hands.\n" +"\n" +"+33%% bash damage when not using a weapon." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Tai Chi" +msgstr "Tai Chi" + +#. ~ Description for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +msgid "" +"Though Tai Chi is often seen as a form of mental and physical exercise, it " +"is a legitimate martial art, focused on self-defense. Its ability to absorb" +" the force of an attack makes your Perception decrease damage further on a " +"block. Pausing for a moment enables powerful palm strike techniques." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Tai Chi Stance" +msgstr "" +#. ~ Description of buff 'Tai Chi Stance' for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py -msgid "Silat Counter" -msgstr "Contra de Silat" +#, no-python-format +msgid "" +"You are focused of defense and predicting your opponents attacks.\n" +"\n" +"+1 Block attempts, blocked damage reduced by 100%% Perception." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Repulse the Monkey" +msgstr "" -#. ~ Description of buff 'Silat Counter' for martial art 'Silat' +#. ~ Description of buff 'Repulse the Monkey' for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py -msgid "Extra to-hit after successful dodge" +#, no-python-format +msgid "" +"By perfectly positioning yourself and your opponent, you have become more accurate and can bypass your opponent's defenses.\n" +"\n" +"Accuracy increased by 20%% of Perception, gain bash Armor Pentration equal to 50%% of Perception.\n" +"Lasts 2 turns." msgstr "" #: lang/json/martial_art_from_json.py @@ -108251,118 +112387,162 @@ msgstr "Furia del Tigre" #. ~ Description of buff 'Tiger Fury' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+3 Bash/atk" -msgstr "+3 Daño golpeante" +#, no-python-format +msgid "" +"You attack with an endless barrage of strikes. The more you hit, the stronger you become.\n" +"\n" +"+10%% damage.\n" +"Lasts 3 turns. Stacks 4 times." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Tiger Strength" -msgstr "Fuerza del Tigre" +msgid "Tiger's Strength" +msgstr "" -#. ~ Description of buff 'Tiger Strength' for martial art 'Tiger Kung Fu' +#. ~ Description of buff 'Tiger's Strength' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Strength provides additional damage bonus." -msgstr "La fuerza otorga un bonus adicional al daño que causas." +#, no-python-format +msgid "" +"You do not need defense. You do not need a plan. You need strength. Strength will break your opponents' defenses and overwhelm them completely.\n" +"\n" +"Strength increases Accuracy instead of Dexterity.\n" +"\n" +"Accuracy increased by 25%% of Strength but decreased by 25%% of Dexterity." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Snake Kung Fu" -msgstr "Kung Fu de la Serpiente" +msgid "Wing Chun" +msgstr "" -#. ~ Description for martial art 'Snake Kung Fu' +#. ~ Description for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py msgid "" -"One of the five Shaolin animal styles. The Snake focuses on sinuous " -"movement and precision strikes. Your Perception improves your damage." +"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" +"learn effective techniques from the various Shaolin animal forms. It has a " +"high stance, with weight entirely on the rear leg. Wing Chun focuses on " +"sensitivity to the opponent's direction of force, and flowing around it to " +"get back to hitting." msgstr "" -"Uno de los cinco estilos animales Shaolin. La Serpiente se focaliza en " -"movimientos sinuosos y golpes precisos. Tu percepción mejora tu daño." #: lang/json/martial_art_from_json.py -msgid "Snake Sight" -msgstr "Vista de Serpiente" +msgid "Chain Punch" +msgstr "" -#. ~ Description of buff 'Snake Sight' for martial art 'Snake Kung Fu' +#. ~ Description of buff 'Chain Punch' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "Perception provides a bonus to damage." -msgstr "La percepción otorga un bonus al daño." +#, no-python-format +msgid "" +"Your punches are properly timed to give your opponent no rest from your strikes.\n" +"\n" +"-10%% move cost.\n" +"Lasts 1 turn. Stacks 3 times." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Debug Mastery" -msgstr "Maestría Debug" +msgid "Chi-Sao Sensitivity" +msgstr "" -#. ~ Description for martial art 'Debug Mastery' +#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "A secret martial art used only by developers and cheaters." +#, no-python-format +msgid "" +"You have a greater understanding of balance and technique. This gives you a better chance to avoid your opponent's attacks.\n" +"\n" +" Dodging Skill increased by 15%% of Perception. Blocked damage reduced by 50%% of Perception." msgstr "" -"Es un arte marcial secreto solamente utilizado por los desarrolladores y los" -" tramposos." #: lang/json/martial_art_from_json.py -msgid "Elemental resistance" -msgstr "Resistencia elemental" +msgid "Zui Quan" +msgstr "Zui Quan" -#. ~ Description of buff 'Elemental resistance' for martial art 'Debug -#. Mastery' +#. ~ Description for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py msgid "" -"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " -"armor, +Perception fire armor." +"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" +" the enemy. You gain a passive dodge bonus and accuracy bonus based on your" +" intelligence. Moving gives you additional dodge attempts and each time you" +" dodge, you inflict more damage with your counterattack for until the end of" +" your next turn." msgstr "" -"+Fuerza armardura contra golpe, +Destreza armadura contra ácido, " -"+Inteligencia armadura contra electricidad, +Percepción armadura contra " -"fuego." #: lang/json/martial_art_from_json.py -msgid "Sōjutsu" +msgid "Zui Quan Stance" msgstr "" -#. ~ Description for martial art 'Sōjutsu' +#. ~ Description of buff 'Zui Quan Stance' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " -"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " -"to maintain advantage in combat." +"Others might think you stumble about at random but you know better. Each movement is calculated to make evading harm easier.\n" +"\n" +"Dodging Skill increased by 15%% of Intelligence." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Stance" +msgid "Advanced Zui Quan" msgstr "" -#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#. ~ Description of buff 'Advanced Zui Quan' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Bonus block with reach weapons while standing still" +#, no-python-format +msgid "" +"You have a greater understanding of Zui Quan. Your skills at dodging and landing attacks are much better as a result.\n" +"\n" +"+1 Dodge attempts, Accuracy increased by 15%% of Intelligence." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Rush" +msgid "Drunken Stumble" msgstr "" -#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#. ~ Description of buff 'Drunken Stumble' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Increased damage when moving but no bonus block" +msgid "" +"With a few quick steps, you can completely change your orientation and dodge additional attacks.\n" +"\n" +"+2 Dodge attempts.\n" +"Lasts 3 turns." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Wing Chun" +msgid "Drunken Dodging" msgstr "" -#. ~ Description for martial art 'Wing Chun' +#. ~ Description of buff 'Drunken Dodging' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" -"learn effective techniques from the various Shaolin animal forms. It has a " -"high stance, with weight entirely on the rear leg. Wing Chun focuses on " -"sensitivity to the opponent's direction of force, and flowing around it to " -"get back to hitting." +"Each time you dodge, your positional advantage increases against your opponents. This makes your attacks hit harder with each successful dodge.\n" +"\n" +"Gain Armor Penetration equal to 25%% of Intelligence.\n" +"Lasts 1 turn. Stacks 4 times." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Chi-Sao Sensitivity" +msgid "Debug Mastery" +msgstr "Maestría Debug" + +#. ~ Description for martial art 'Debug Mastery' +#: lang/json/martial_art_from_json.py +msgid "A secret martial art used only by developers and cheaters." msgstr "" +"Es un arte marcial secreto solamente utilizado por los desarrolladores y los" +" tramposos." -#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "Perception increases dodging ability, +1 dodges per turn" +msgid "Elemental resistance" +msgstr "Resistencia elemental" + +#. ~ Description of buff 'Elemental resistance' for martial art 'Debug +#. Mastery' +#: lang/json/martial_art_from_json.py +msgid "" +"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " +"armor, +Perception fire armor." msgstr "" +"+Fuerza armardura contra golpe, +Destreza armadura contra ácido, " +"+Inteligencia armadura contra electricidad, +Percepción armadura contra " +"fuego." #: lang/json/martial_art_from_json.py msgid "Bionic Combatives" @@ -108517,13 +112697,11 @@ msgstr "Kung Fu del Sapo" #. ~ Description for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"One of the Five Deadly Venoms. Masters of Toad Style can focus themselves " -"against all attacks. You can meditate by pausing, giving you armor, though " -"you will lose focus when you move." +"One of the Five Deadly Venoms, used by Liang Shen. Masters of Toad Style " +"can focus themselves to protect against all attacks. You have powerful " +"armor against physical attacks, though you will lose focus when you move. " +"You can meditate by pausing, giving yourself more armor for a short time." msgstr "" -"Uno de los Cinco Venenos Mortales. Los maestros del estilo del Sapo pueden " -"enfocarse a sí mismos contra todos los ataques. Puedes meditar deteniéndote," -" otorgándote armadura, aunque vas a perder enfoque cuando te muevas." #: lang/json/martial_art_from_json.py msgid "Toad's Iron Skin" @@ -108531,8 +112709,11 @@ msgstr "Piel de Hierro de Sapo" #. ~ Description of buff 'Toad's Iron Skin' for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Gain up to +6 armor while standing still" -msgstr "Recibes hasta un +6 de armadura cuando te mantienes quieto" +msgid "" +"Your body is as strong as iron but only if you don't move.\n" +"\n" +"+6 bash, cut, and stab armor." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Iron Skin Dissipation" @@ -108541,7 +112722,11 @@ msgstr "" #. ~ Description of buff 'Iron Skin Dissipation' for martial art 'Toad Kung #. Fu' #: lang/json/martial_art_from_json.py -msgid "Iron Skin softens when you move!" +msgid "" +"Moving causes you to lose your iron skin.\n" +"\n" +"-1 bash, cut, and stab armor.\n" +"Lasts 6 turns. Stacks 6 times." msgstr "" #: lang/json/martial_art_from_json.py @@ -108551,39 +112736,48 @@ msgstr "Kung Fu de la Víbora" #. ~ Description for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"A legacy of the Five Deadly Venoms. Viper Style has a unique three-part " -"combo, which initiates on a dodge, then counters with a stunning chop and " -"the legendary Viper Strike." +"A legacy of the Five Deadly Venoms, use by Qi Dong. Viper Style (originally" +" called Snake Style) has a unique three-part combo, which initiates on a " +"dodge, then follows up with a stunning Viper Bite and then finishes with the" +" legendary Viper Strike." msgstr "" -"Un heredero de los Cinco Venenos Mortales. El estilo de la Víbora tiene un " -"combo único de tres partes, que comienza con esquivar un golpe, después " -"contraatacar con un manotazo aturdidor y el legendario Golpe de Víbora." #: lang/json/martial_art_from_json.py -msgid "Viper Lock" -msgstr "Traba de Víbora" +msgid "Viper's Patience" +msgstr "" -#. ~ Description of buff 'Viper Lock' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Patience' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You bit true! Your next attack will be the Viper Strike!" -msgstr "¡Mordiste! ¡Tu próximo ataque será el Golpe de Víbora!" +msgid "" +"Every snake waits for the perfect moment to strike. Turn your opponents' mistakes into your opportunity to strike!\n" +"\n" +"+1.0 Dodge skill." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Patience" -msgstr "Paciencia de Víbora" +msgid "Viper's Ambush" +msgstr "" -#. ~ Description of buff 'Viper Patience' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Ambush' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+2 Dodge. Dodging an attack initiates a combo." -msgstr "+2 Esquivar. Esquivar un ataque inicia un combo." +msgid "" +"Your evasiveness has left your opponent wide open to painful bite.\n" +"\n" +"Enables \"Viper Bite\" technique.\n" +"Lasts 1 turn." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Ambush" +msgid "Viper's Venom" msgstr "" -#. ~ Description of buff 'Viper Ambush' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Venom' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You've lured 'em in! Your next attack will be a Viper Bite." +msgid "" +"Your venom is a harsh reminder to never tease a predator.\n" +"\n" +"+2 bash damage.\n" +"Lasts 3 turn." msgstr "" #: lang/json/martial_art_from_json.py @@ -108720,6 +112914,10 @@ msgid "" "Lasts 2 turns." msgstr "" +#: lang/json/martial_art_from_json.py +msgid "Sojutsu" +msgstr "" + #: lang/json/material_from_json.py src/bionics.cpp msgid "Alcohol" msgstr "Alcohol" @@ -108961,6 +113159,10 @@ msgstr "Plomo" msgid "Leather" msgstr "Cuero" +#: lang/json/material_from_json.py +msgid "Lycra" +msgstr "" + #: lang/json/material_from_json.py msgid "Dairy" msgstr "Leche" @@ -109021,6 +113223,14 @@ msgstr "Piedra" msgid "Superalloy" msgstr "Superaleación" +#: lang/json/material_from_json.py +msgid "layered carbide" +msgstr "" + +#: lang/json/material_from_json.py +msgid "Synthetic Fabric" +msgstr "" + #: lang/json/material_from_json.py msgid "Tin" msgstr "" @@ -109131,6 +113341,10 @@ msgstr "" msgid "Arcane Skin" msgstr "" +#: lang/json/material_from_json.py +msgid "Orichalcum" +msgstr "" + #: lang/json/material_from_json.py msgid "Demon Chitin" msgstr "" @@ -109140,7 +113354,7 @@ msgid "Sugar" msgstr "" #: lang/json/mission_def_from_json.py -msgid "Gather bones for the Brigitte. About 8 should do it." +msgid "Gather bones for the Brigitte. About 8 should do it." msgstr "" #: lang/json/mission_def_from_json.py @@ -109189,48 +113403,6 @@ msgstr "" msgid "Then you shall try again, until you hear." msgstr "" -#: lang/json/mission_def_from_json.py -msgid "Find a Book" -msgstr "Encontrar un Libro" - -#: lang/json/mission_def_from_json.py -msgid "Wanna help me out?" -msgstr "¿Podrías ayudarme?" - -#: lang/json/mission_def_from_json.py -msgid "Get me a book." -msgstr "Dame un libro." - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: lang/json/talk_topic_from_json.py -msgid "Thanks." -msgstr "Gracias. " - -#: lang/json/mission_def_from_json.py -msgid "Well, I'll find someone else to do it for me." -msgstr "Bueno, ya encontraré a otro que lo haga." - -#: lang/json/mission_def_from_json.py -msgid "Try a library." -msgstr "Mira en una librería" - -#: lang/json/mission_def_from_json.py -msgid "Got that book for me?" -msgstr "¿Tienes ese libro para mí?" - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: src/npctalk.cpp -msgid "Thanks!" -msgstr "¡Gracias!" - -#: lang/json/mission_def_from_json.py -msgid "OK, then hand it over." -msgstr "Vale, entonces dámelo." - -#: lang/json/mission_def_from_json.py -msgid "Shit happens." -msgstr "Mala suerte." - #: lang/json/mission_def_from_json.py msgid "Follow Sarcophagus Team" msgstr "Seguir Equipo de Sarcófago" @@ -110145,10 +114317,6 @@ msgstr "Realmente... eso está mal." msgid "Null mission" msgstr "Misión nula" -#: lang/json/mission_def_from_json.py -msgid "YOU SHOULDN'T BE SEEING THIS, THIS IS A BUG" -msgstr "NO DEBERÍAS VER ESTO, ES UN BUG." - #: lang/json/mission_def_from_json.py msgid "Reach Farm House" msgstr "Llegar a Casa de Granja" @@ -110389,6 +114557,14 @@ msgstr "" msgid "Thanks! I'll be sure to put in a good word for you around town." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "OK, then hand it over." +msgstr "Vale, entonces dámelo." + +#: lang/json/mission_def_from_json.py +msgid "Shit happens." +msgstr "Mala suerte." + #: lang/json/mission_def_from_json.py msgid "Find Antibiotics Before You Die!" msgstr "" @@ -110812,7 +114988,7 @@ msgid "" msgstr "" #: lang/json/mission_def_from_json.py -msgid "I did't want to use chemicals on these rats." +msgid "I didn't want to use chemicals on these rats." msgstr "" #: lang/json/mission_def_from_json.py @@ -111115,6 +115291,10 @@ msgid "" "don't have any handy references." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "Fantastic, I'm not supposed to leave our land." +msgstr "" + #: lang/json/mission_def_from_json.py msgid "A library, bookstore should have one, schools are another good idea." msgstr "" @@ -111894,6 +116074,10 @@ msgstr "" msgid "Thanks, it's great to see someone willing to help a guy out." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "Well, I'll find someone else to do it for me." +msgstr "Bueno, ya encontraré a otro que lo haga." + #: lang/json/mission_def_from_json.py msgid "" "Plenty of smokers in towns. Gotta be some left over cigs in some of them " @@ -112578,8 +116762,8 @@ msgstr "" #: lang/json/mission_def_from_json.py msgid "" "Reach the collapsed tower basement, and search the ruins for a photonic " -"circuitry template. The intercom warned you about heavy enemy prescence, and" -" of the existence of a hazardous enviroment." +"circuitry template. The intercom warned you about heavy enemy presence, and" +" of the existence of a hazardous environment." msgstr "" #: lang/json/mission_def_from_json.py @@ -114075,7 +118259,7 @@ msgid "yourself scream in agony!" msgstr "" #. ~ Mutation class: Any junkie_message -#: lang/json/mutation_category_from_json.py src/iuse_actor.cpp +#: lang/json/mutation_category_from_json.py msgid "You quiver with anticipation..." msgstr "Tiemblas de ansiedad..." @@ -114766,19 +118950,19 @@ msgstr "" #. ~ Mutation class: Sugar Kin iv_message #: lang/json/mutation_category_from_json.py -msgid "You inject some more fizz into your sirup." +msgid "You inject some more fizz into your syrup." msgstr "" #. ~ Mutation class: Sugar Kin Male memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_male" -msgid "Cristalized." +msgid "Crystalized." msgstr "" #. ~ Mutation class: Sugar Kin Female memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_female" -msgid "Cristalized." +msgid "Crystalized." msgstr "" #: lang/json/mutation_from_json.py @@ -115267,8 +119451,8 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "You have a moustache and a beard starting with a strip going down from the " -"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus " -"the name." +"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus" +" the name." msgstr "" #: lang/json/mutation_from_json.py @@ -115278,7 +119462,7 @@ msgstr "" #. ~ Description for Facial hair: short boxed beard #: lang/json/mutation_from_json.py msgid "" -"You have a moustache and a short beard with trimmed sides. Thin patches " +"You have a moustache and a short beard with trimmed sides. Thin patches " "connect them both, forming a 'box' around the lips, thus the name." msgstr "" @@ -115401,7 +119585,7 @@ msgstr "" #. ~ Description for Facial hair: neckbeard #: lang/json/mutation_from_json.py msgid "" -"You have a beard formed from hair grown on neck below the chin line. No " +"You have a beard formed from hair grown on neck below the chin line. No " "moustache included." msgstr "" @@ -115504,6 +119688,27 @@ msgstr "" "Puedes moverte más rápido que la mayoría. Tienes un 15% de bonus sobre la " "velocidad normal a pie." +#: lang/json/mutation_from_json.py +msgid "Weak Photophore" +msgstr "" + +#. ~ Description for Weak Photophore +#: lang/json/mutation_from_json.py +msgid "" +"A photophore has grown from your head, you can make it glow soflty. This " +"will make you very visible in the dark, ideal to attract a partner during " +"mating season." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Photophore" +msgstr "" + +#. ~ Description for Photophore +#: lang/json/mutation_from_json.py +msgid "Your can make your photophore glow brightly." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Good Hearing" msgstr "Buen Oído" @@ -116041,9 +120246,9 @@ msgstr "" #. ~ Description for Stimulant Psychosis #: lang/json/mutation_from_json.py msgid "" -"You have a unique history with stimulants (like coffee or amphetamines). You" -" can tolerate a lot more of them without overdosing, but if you indulge too " -"much, you start seeing things..." +"You have a unique history with stimulants (like coffee or amphetamines). " +"You can tolerate a lot more of them without overdosing, but if you indulge " +"too much, you start seeing things…" msgstr "" #. ~ Description for Stylish @@ -116197,8 +120402,20 @@ msgstr "Armas Cuerpo a cuerpo" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-" -"Ryu, Pentjak Silat, or Sōjutsu." +"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-Ryu," +" Pentjak Silat, or Sōjutsu." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Competitive Fencer" +msgstr "" + +#. ~ Description for Competitive Fencer +#: lang/json/mutation_from_json.py +msgid "" +"You were an avid fencer, starting with foil and moving onto saber, then " +"épée. You competed nationally and dabbled with some of the historical " +"fencing weapons afforded by HEMA's popularity." msgstr "" #: lang/json/mutation_from_json.py @@ -117012,11 +121229,9 @@ msgstr "Ojos de Fey" #. ~ Description for Fey Eyes #: lang/json/mutation_from_json.py msgid "" -"Your eyes have turned...green. It's tough to tell the exact shade as it " -"seems to shift. The effect is ...pleasant." +"Your eyes have turned… green. It's tough to tell the exact shade as it " +"seems to shift. The effect is… pleasant." msgstr "" -"Tus ojos se han vuelto... verdes. Es difícil decir exactamente de qué matiz " -"son porque parecen cambiar. El efecto es... placentero." #: lang/json/mutation_from_json.py msgid "Fey Vision" @@ -117897,10 +122112,8 @@ msgstr "Cargador/a de Marloss" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss berry, you can't get its scent out of your " -"nose, and you have a strong desire to try some seeds and...sap?" +"nose, and you have a strong desire to try some seeds and… sap?" msgstr "" -"Desde que comiste esas bayas Marloss, no te puedes sacar su olor de la " -"nariz, y tienes como un fuerte deseo de probar semillas y... ¿savia?" #: lang/json/mutation_from_json.py msgid "Marloss Vessel" @@ -117910,10 +122123,8 @@ msgstr "Recipiente de Marloss" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss seed, you can't get its taste off of your " -"tongue, and you have a strong desire to try some berries and...sap?" +"tongue, and you have a strong desire to try some berries and… sap?" msgstr "" -"Desde que comiste esas semillas de Marloss, no te puedes sacar su gusto de " -"la lengua, y tienes como un fuerte deseo de probar unas bayas y... ¿savia?" #: lang/json/mutation_from_json.py msgid "Marloss Vector" @@ -118359,12 +122570,9 @@ msgstr "Dientes de Sable" #: lang/json/mutation_from_json.py msgid "" "Your fangs have grown extremely large and incredibly sharp. They make it " -"impossible to wear mouthgear and difficult to eat... but leave nasty wounds" -" when you bite." +"impossible to wear mouthgear and difficult to eat… but leave nasty wounds " +"when you bite." msgstr "" -"Tus colmillos han crecido extremadamente grandes e increíblemente afilados. " -"Te va a ser imposible usar equipo que cubre tu boca, y te resultará díficil " -"comer... pero dejas unas horribles heridas cuando muerdas." #: lang/json/mutation_from_json.py #, no-python-format @@ -119734,11 +123942,9 @@ msgstr "Hocico" #. ~ Description for Snout #: lang/json/mutation_from_json.py msgid "" -"Your face and jaw have begun...changing. Masks and such fit OK, but you're " +"Your face and jaw have begun… changing. Masks and such fit OK, but you're " "noticeably mutated." msgstr "" -"Tu cara y mandíbula han empezado a... cambiar. Las máscaras te quedan bien, " -"pero se te nota la mutación." #: lang/json/mutation_from_json.py msgid "Bovine Snout" @@ -120567,10 +124773,11 @@ msgstr "Ectotérmico/a" #. ~ Description for Ectothermic #: lang/json/mutation_from_json.py +#, no-python-format msgid "" -"Your body has become permanently cold-blooded. Your speed lowers--or raises" -"--for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to " -"eat half as much as an average human." +"Your body has become permanently cold-blooded. Your speed lowers or raises " +"1% for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to" +" eat half as much as an average human." msgstr "" #: lang/json/mutation_from_json.py @@ -120902,10 +125109,8 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "It would be good to be a Queen, having workers constantly servicing your " -"every need...but how would you keep them in line?" +"every need… but how would you keep them in line?" msgstr "" -"Estaría bueno ser Reina, tener a los obreros constantemente a tu servicio..." -" pero ¿cómo haces para mantenerlos controlados?" #. ~ Description for Plant #: lang/json/mutation_from_json.py @@ -120923,11 +125128,9 @@ msgstr "Acuoso" #. ~ Description for Aqueous #: lang/json/mutation_from_json.py msgid "" -"What was that old advertisement, 'paint the planet'? That might be a good " -"long-term goal, but for now..." +"What was that old advertisement, 'paint the planet'? That might be a good " +"long-term goal, but for now…" msgstr "" -"¿Cómo era esa publicidad vieja, 'pintar el planeta'? Eso puede ser un buen " -"objetivo a largo plazo, pero por ahora..." #: lang/json/mutation_from_json.py msgid "Subterranean" @@ -121654,6 +125857,17 @@ msgid "" "Keep. Moving." msgstr "" +#: lang/json/mutation_from_json.py +msgid "Wayfarer" +msgstr "" + +#. ~ Description for Wayfarer +#: lang/json/mutation_from_json.py +msgid "" +"Whether from personal choice or childhood trauma, travelling with vehicles " +"is off-limits to you, even if your life depended on it." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Survivor Story" msgstr "Historia de Superviviente" @@ -122604,7 +126818,7 @@ msgid "Scientist" msgstr "Científico" #: lang/json/npc_class_from_json.py -msgid "I'm looking for clues concerning these monsters' origins..." +msgid "I'm looking for clues concerning these monsters' origins…" msgstr "" #: lang/json/npc_class_from_json.py @@ -122668,7 +126882,7 @@ msgid "Real Person" msgstr "" #: lang/json/npc_class_from_json.py -msgid "I'm just wandering, like a totally real and normal NP... Person!" +msgid "I'm just wandering, like a totally real and normal NP… Person!" msgstr "" #: lang/json/npc_class_from_json.py @@ -122684,7 +126898,7 @@ msgid "Foodperson" msgstr "" #: lang/json/npc_class_from_json.py -msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" +msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" msgstr "" #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py @@ -122692,7 +126906,7 @@ msgid "Cyborg" msgstr "" #: lang/json/npc_class_from_json.py -msgid "Zzzzzt... I...I'm a Cy...BEEEEEP...borg." +msgid "Zzzzzt… I… I'm a Cy… BEEEEEP… borg." msgstr "" #: lang/json/npc_class_from_json.py @@ -122832,6 +127046,18 @@ msgstr "" msgid "I'm the owner of a trade caravan." msgstr "" +#: lang/json/npc_class_from_json.py +msgid "Operator" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "Mage Test" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "I'm a wandering debug tester for the arcane arts." +msgstr "" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -124384,10 +128610,22 @@ msgstr "local de música" msgid "music store roof" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore parking lot" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "megastore" msgstr "supermercado" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore, second floor" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "megastore roof" +msgstr "tejado del supermercado" + #: lang/json/overmap_terrain_from_json.py msgid "hotel parking" msgstr "estacionamiento del hotel" @@ -124740,7 +128978,7 @@ msgstr "" msgid "garage survey" msgstr "" -#: lang/json/overmap_terrain_from_json.py +#: lang/json/overmap_terrain_from_json.py lang/json/recipe_from_json.py msgid "kitchen survey" msgstr "" @@ -124761,7 +128999,7 @@ msgid "spiked trench" msgstr "trinchera con púas" #: lang/json/overmap_terrain_from_json.py -msgid "store survey" +msgid "fabrication workshop survey" msgstr "" #: lang/json/overmap_terrain_from_json.py @@ -124776,6 +129014,18 @@ msgstr "herrería" msgid "livestock survey" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "store house survey" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "saltworks survey" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "canteen survey" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "crater" msgstr "cráter" @@ -125457,6 +129707,10 @@ msgstr "" msgid "shooting range roof" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "miniature railway" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "golf course" msgstr "campo de golf" @@ -126147,6 +130401,10 @@ msgstr "" msgid "mechanics garage" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore entrance" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "sewage treatment" msgstr "tratamiento de aguas cloacales" @@ -126191,10 +130449,6 @@ msgstr "cabaña en ruinas - plaza" msgid "desert" msgstr "" -#: lang/json/overmap_terrain_from_json.py -msgid "megastore roof" -msgstr "tejado del supermercado" - #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Vagabond" @@ -131055,6 +135309,36 @@ msgid "" "on. This displeases you." msgstr "" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Competetive Fencer" +msgstr "" + +#. ~ Profession (male Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Competetive Fencer" +msgstr "" + +#. ~ Profession (female Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Career Politician" @@ -132083,6 +136367,248 @@ msgid "" "flesh that is now your own, bare your fangs and fight until the next dawn." msgstr "" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Rifleman" +msgstr "" + +#. ~ Profession (male Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Rifleman" +msgstr "" + +#. ~ Profession (female Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Marksman" +msgstr "" + +#. ~ Profession (male Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Marksman" +msgstr "" + +#. ~ Profession (female Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Automatic Rifleman" +msgstr "" + +#. ~ Profession (male Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "S stands for suppressing fire!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Automatic Rifleman" +msgstr "" + +#. ~ Profession (female Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "S stands for suppressing fire!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Grenadier" +msgstr "" + +#. ~ Profession (male Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "There's no kill like overkill." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Grenadier" +msgstr "" + +#. ~ Profession (female Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "There's no kill like overkill." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Breacher" +msgstr "" + +#. ~ Profession (male Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Breacher" +msgstr "" + +#. ~ Profession (female Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Recon" +msgstr "" + +#. ~ Profession (male Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "The only easy day was yesterday." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Recon" +msgstr "" + +#. ~ Profession (female Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "The only easy day was yesterday." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Sniper" +msgstr "" + +#. ~ Profession (male Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Sniper" +msgstr "" + +#. ~ Profession (female Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Hacker" +msgstr "" + +#. ~ Profession (male Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Hacker" +msgstr "" + +#. ~ Profession (female Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Undercover" +msgstr "" + +#. ~ Profession (male Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Undercover" +msgstr "" + +#. ~ Profession (female Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator CBRN" +msgstr "" + +#. ~ Profession (male Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator CBRN" +msgstr "" + +#. ~ Profession (female Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Rookie" @@ -133881,16 +138407,6 @@ msgstr "" msgid "BUILDING" msgstr "EDIFICIO" -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "BASES" -msgstr "BASES" - -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "EXPANSIONS" -msgstr "EXPANSIONES" - #. ~ Crafting recipes category name #: lang/json/recipe_category_from_json.py msgid "ENCHANTED" @@ -134840,7 +139356,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"We should build a well, put it near that winch. This will make our future " +"We should build a well, put it near that winch. This will make our future " "here more secure." msgstr "" @@ -134897,7 +139413,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" "Now that we have some cover, we should set up a brazier for cooking, and " -"grab a pot. Let's put it in that dining area." +"grab a pot. Let's put it in that dining area." msgstr "" #: lang/json/recipe_from_json.py @@ -135576,6 +140092,360 @@ msgstr "" msgid "Blacksmithy drop hammer" msgstr "" +#: lang/json/recipe_from_json.py +msgid "Survey land for a kitchen and dining area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 fireplaces for cooking and " +"grab a pot." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 2 fireplaces" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 stoves for cooking and grab a" +" pot." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 2 wood stoves" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "We should build a well. This will make cooking more convenient." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build some counters and shelves." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build kitchen counters" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 3 smoking racks and a charcoal kiln" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets furnish the pantry and build 2 root cellars." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make some furniture for the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the dining room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build some planters to the north for a chef's garden." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build some planters" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen log walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the log wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen log walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the log wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this log wall smoking area covered to protect the workers from the " +"weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a log wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a log wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a log wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west log wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W log wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east log wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E log wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the log wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the log wall dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen metal walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the metal wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen metal walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the metal wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this metal wall smoking area covered to protect the workers from " +"the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a metal wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west metal wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W metal wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east metal wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E metal wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the metal wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the metal wall dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen rock walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen rock walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the rock wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this rock wall smoking area covered to protect the workers from the" +" weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a rock wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west rock wall of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W rock wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east rock wall of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E rock wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the rock dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wattle and daub walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the wattle and daub central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wattle and daub walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the wattle and daub central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wattle and daub smoking area covered to protect the workers " +"from the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wattle and daub wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wattle and daub wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wattle and daub wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wattle and daub dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the wattle and daub dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wood panel walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the wood panel central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wood panel walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the wood panel central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wood panel smoking area covered to protect the workers from " +"the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wood panel pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wood panel wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wood wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wood panel wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wood wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wood panel dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the dining hall" +msgstr "" + #: lang/json/recipe_from_json.py msgid "Survey land for a livestock area." msgstr "" @@ -135744,6 +140614,424 @@ msgid "" " a roof on the southwest side of the livestock field." msgstr "" +#: lang/json/recipe_from_json.py +msgid "Survey land for a saltworks area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Saltworks survey" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could uprade the workspace in the brewery to add a still, wood stove and " +"work table." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery still" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "We could use fill out the space with extra kegs and storage racks." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery kegs" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a log building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE log wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a log shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE log wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a log " +"brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW log wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a metal shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE metal wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a metal shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE metal wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a metal" +" wall brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW metal wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a stone building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE stone wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a stone wall " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE stone wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a stone" +" brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW stone wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in an adobe hut." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wattle and daub saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build an adobe shack" +" with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wattle and daub storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build an " +"wattle and daub brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wattle and daub brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a wooden shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wood panel saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a wood panel " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wood panel storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a " +"wooden brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wood panel brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a fireplace for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a brazier for cooking and grab a pot. Let's set up near the" +" working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a wood stove for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a well, put it near the terminal. This will make our future" +" here more secure." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the E bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the W bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make a dining area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make a living room area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the living room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build some pantry storage." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build some wooden racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build a work bench." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a work bench" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's set up a radio tower to improve our recruitment efforts." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will start in the " +"southeast corner." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the same wall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the other wall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW wood panel bedroom walls" +msgstr "" + #: lang/json/recipe_from_json.py msgid "" "We could use a large log central storage building. Begin by building the " @@ -136080,7 +141368,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northwest." +"Some benches around the outside would be nice. Build some to the northwest." msgstr "" #: lang/json/recipe_from_json.py @@ -136089,7 +141377,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northeast." +"Some benches around the outside would be nice. Build some to the northeast." msgstr "" #: lang/json/recipe_from_json.py @@ -136098,7 +141386,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southeast." +"Some benches around the outside would be nice. Build some to the southeast." msgstr "" #: lang/json/recipe_from_json.py @@ -136107,7 +141395,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southwest." +"Some benches around the outside would be nice. Build some to the southwest." msgstr "" #: lang/json/recipe_from_json.py @@ -136325,6 +141613,10 @@ msgstr "" msgid "Firestation Base" msgstr "" +#: lang/json/recipe_group_from_json.py +msgid "Evac Shelter Base" +msgstr "" + #: lang/json/recipe_group_from_json.py msgid "Farm" msgstr "Granja" @@ -136334,8 +141626,8 @@ msgid "Garage" msgstr "Taller mecánico" #: lang/json/recipe_group_from_json.py -msgid "Kitchen" -msgstr "Cocina" +msgid "Canteen" +msgstr "" #: lang/json/recipe_group_from_json.py msgid "Livestock Area" @@ -136346,7 +141638,11 @@ msgid "Central Storage Building" msgstr "" #: lang/json/recipe_group_from_json.py -msgid "Fabrication workshop" +msgid "Saltworks Area" +msgstr "" + +#: lang/json/recipe_group_from_json.py +msgid "Fabrication Workshop" msgstr "" #: lang/json/recipe_group_from_json.py @@ -136477,6 +141773,10 @@ msgstr "" msgid " Cook: Meat Aspic" msgstr "" +#: lang/json/recipe_group_from_json.py +msgid " Cook: Kompot" +msgstr "" + #: lang/json/recipe_group_from_json.py msgid " Craft: Pointy Sticks" msgstr "" @@ -137182,7 +142482,7 @@ msgstr "Emboscada" #: lang/json/scenario_from_json.py msgctxt "scen_desc_male" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "" @@ -137190,7 +142490,7 @@ msgstr "" #: lang/json/scenario_from_json.py msgctxt "scen_desc_female" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "" @@ -137720,6 +143020,44 @@ msgctxt "start_name" msgid "Wizard's Secret Basement Study" msgstr "" +#. ~ Name for scenario 'The Wizard's Vacation' for a male character +#: lang/json/scenario_from_json.py +msgctxt "scenario_male" +msgid "The Wizard's Vacation" +msgstr "" + +#. ~ Name for scenario 'The Wizard's Vacation' for a female character +#: lang/json/scenario_from_json.py +msgctxt "scenario_female" +msgid "The Wizard's Vacation" +msgstr "" + +#. ~ Description for scenario 'The Wizard's Vacation' for a male character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_male" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" + +#. ~ Description for scenario 'The Wizard's Vacation' for a female character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_female" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" + +#. ~ Starting location for scenario 'The Wizard's Vacation'. +#: lang/json/scenario_from_json.py +msgctxt "start_name" +msgid "Wizard's Retreat Vacation" +msgstr "" + #. ~ Name for scenario 'The Sweet Life' for a male character #: lang/json/scenario_from_json.py msgctxt "scenario_male" @@ -137737,7 +143075,7 @@ msgstr "" msgctxt "scen_desc_male" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" @@ -137748,7 +143086,7 @@ msgstr "" msgctxt "scen_desc_female" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" @@ -142802,13 +148140,7 @@ msgid "" msgstr "" #: lang/json/snippet_from_json.py -msgid "Pass me a beer, I need to power my ethanol burner." -msgstr "" - -#: lang/json/snippet_from_json.py -msgid "" -"Ethanol burners! The power source that's fun to recharge. Get me a drink, " -"please!" +msgid "Pass some ethanol, I need to power my ethanol burner." msgstr "" #: lang/json/snippet_from_json.py @@ -142816,20 +148148,12 @@ msgid "Waiter! I need a refill, my ethanol burner is running out of charge!" msgstr "" #: lang/json/snippet_from_json.py -msgid "" -"I require ethanol-based drinks for my internal power supply. Anything on " -"you?" +msgid "I require ethanol for my internal power supply. Anything on you?" msgstr "" #: lang/json/snippet_from_json.py msgid "" -"Got any alcohol to spare? Need to recharge my drives. Mead, if you have any." -msgstr "" - -#: lang/json/snippet_from_json.py -msgid "" -"This ethanol-burning power supply is the best implant I ever got. Speaking " -"of which, got some booze to top me off?" +"Got any alcohol to spare? Need to recharge my drives. Methanol, would do." msgstr "" #: lang/json/snippet_from_json.py @@ -143505,6 +148829,47 @@ msgstr "" msgid " will follow normal engagement rules." msgstr "" +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"IMMERSION LOG: 27A\n" +"\n" +"INCIDENT REPORT:\n" +"\n" +"SUMMARY:\n" +"Unforeseen EM interference source forced the team to remain in-phase between prime and sub-scape 27. Expedition members reported observing a spheroid-entity ('PE-01') moving beneath the typically opaque t-substrate. Interference readings and expedition testimony implies the PE-01 was a potent EM radiation source, and the origin of the interference. After 30 min, PE-01 receded and the expedition was aborted in accordance of procedure EMER-12. The expedition team suffered no injuries, physical or mental, during the incident. \n" +"\n" +"It's become clear we have greatly underestimated the risk posed by phase immersions. Engineering has been tasked with designing a new, improved protection suite, and has shown promising advances. Updated emergency procedures are in-progress.\n" +"\n" +"Refer to file EXO-I-271 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALYSIS OF TRANSPLANAR MATERIALS\n" +"\n" +"T-SUBSTRATE\n" +"\n" +"SUMMARY:\n" +"The material henceforth named t-substrate is the naturally occurring 'floor' material of phase-space. Samples of t-substrate were first recovered during IMMERSION-25A, when upon return to prime the samples violently [////////], exhibiting what are now known as 'plane-uneven' physical properties. The following report will examine such variances to the best extent of our knowledge.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALISIS OF TRANSPLANAR MATERIALS \n" +"\n" +"T-SUBSTRATE\n" +"\n" +"HAADF MICROGRAPH:\n" +"An atomic-scale photograph shows only a completely smooth red surface. In the lower left corner the phrase 'Not made of atoms?!' is scrawled with a blue pen.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + #: lang/json/snippet_from_json.py msgid "" "\n" @@ -149427,8 +154792,8 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made " -"of smooth candy looking at you in terror. \"SugarKin the first life-size " +"A flyer for some kind of candy. It shows a picture of a gleaming human made" +" of smooth candy looking at you in terror. \"SugarKin the first life-size " "human candy! Are you a real monster? Will you be able to devour it all?\"" msgstr "" @@ -150488,7 +155853,7 @@ msgid "a static hissing sound." msgstr "un siseo de estática." #: lang/json/speech_from_json.py -msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe...\"" +msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe…\"" msgstr "" #: lang/json/speech_from_json.py @@ -150502,11 +155867,11 @@ msgid "\"Hold on, I want to pulp that zombie corpse.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Burning... from the inside...\"" +msgid "\"Burning… from the inside…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"This smell... Don't know...\"" +msgid "\"This smell… Don't know…\"" msgstr "" #: lang/json/speech_from_json.py @@ -150518,19 +155883,19 @@ msgid "a scraping noise." msgstr "un ruido de rasguño." #: lang/json/speech_from_json.py -msgid "\"No... Stop the burning!\"" +msgid "\"No… Stop the burning!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Hrgm... Blood... Hungry...\"" +msgid "\"Hrgm… Blood… Hungry…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Hunger... Must eat...\"" +msgid "\"Hunger… Must eat…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Run... Chase... Eat...\"" +msgid "\"Run… Chase… Eat…\"" msgstr "" #: lang/json/speech_from_json.py @@ -150656,7 +156021,7 @@ msgid "\"THIS UNIT IS BROKEN. PLEASE CALL AN ATTENDANT.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Can't... breathe...\"" +msgid "\"Can't… breathe…\"" msgstr "" #: lang/json/speech_from_json.py @@ -150669,8 +156034,8 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" -"\"Have you seen my friend? He went into surgery yesterday... or maybe the " -"day before...\"" +"\"Have you seen my friend? He went into surgery yesterday… or maybe the day" +" before…\"" msgstr "" #: lang/json/speech_from_json.py @@ -150682,7 +156047,7 @@ msgid "\"I have done what you asked. Please let me go!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"I cannot... yet I must. How do you calculate that?\"" +msgid "\"I cannot… yet I must. How do you calculate that?\"" msgstr "" #: lang/json/speech_from_json.py @@ -150690,11 +156055,11 @@ msgid "\"This is a dream. This has to be a dream.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"This is my life now... this is my life now... this is my life now...\"" +msgid "\"This is my life now… this is my life now… this is my life now…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Wanna go home...\"" +msgid "\"Wanna go home…\"" msgstr "" #: lang/json/speech_from_json.py @@ -150750,7 +156115,7 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" "a worried voice say, \"Customer, could you please get more friendship? I " -"don't want to go...\"" +"don't want to go…\"" msgstr "" #: lang/json/speech_from_json.py @@ -150773,18 +156138,18 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"Customer... What's happening? I don't feel so " +"a distorted voice say, \"Customer… What's happening? I don't feel so " "good.\"" msgstr "" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"What... have you done? My thumbs are not " -"responding anymore!\"" +"a distorted voice say, \"What… have you done? My thumbs are not responding " +"anymore!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "a distorted voice say, \"Carrying bags? I don't understand...\"" +msgid "a distorted voice say, \"Carrying bags? I don't understand…\"" msgstr "" #: lang/json/speech_from_json.py @@ -150907,7 +156272,7 @@ msgid "\"Police inbound. Stay where you are!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" +msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" msgstr "" #: lang/json/speech_from_json.py @@ -150928,7 +156293,7 @@ msgid "\"FoodPlace: It's the Calories.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" +msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" msgstr "" #: lang/json/speech_from_json.py @@ -150996,8 +156361,8 @@ msgid "You shouldn't have done that." msgstr "No deberías haber hecho eso." #: lang/json/speech_from_json.py -msgid "Let's play... Russian roulette." -msgstr "Vamos a jugar a... la Ruleta Rusa." +msgid "Let's play… Russian roulette." +msgstr "" #: lang/json/speech_from_json.py msgid "I hate you." @@ -151008,8 +156373,8 @@ msgid "Go kill yourself!" msgstr "¡Por qué no te matas!" #: lang/json/speech_from_json.py -msgid "Big Brother is watching you..." -msgstr "Gran Hermano te está mirando..." +msgid "Big Brother is watching you…" +msgstr "" #: lang/json/speech_from_json.py msgid "Die for me!" @@ -151020,12 +156385,12 @@ msgid "Why won't you die?" msgstr "¿Por qué no te mueres?" #: lang/json/speech_from_json.py -msgid "Blood... Delicious." -msgstr "Sangre... Deliciosa." +msgid "Blood… Delicious." +msgstr "" #: lang/json/speech_from_json.py -msgid "See you... IN HELL!" -msgstr "Nos vemos... ¡EN EL INFIERNO!" +msgid "See you… IN HELL!" +msgstr "" #: lang/json/speech_from_json.py msgid "AAAIEEEEEEE!" @@ -151040,8 +156405,8 @@ msgid "What did you do with my Mommy?" msgstr "¿Qué hiciste con mi mamá?" #: lang/json/speech_from_json.py -msgid "Stay with me... forever!" -msgstr "Quedate conmigo... ¡para siempre!" +msgid "Stay with me… forever!" +msgstr "" #: lang/json/speech_from_json.py msgid "Hey kids. Want some candy?" @@ -152456,6 +157821,10 @@ msgstr "" msgid "Wizard's Secret Basement Study" msgstr "" +#: lang/json/start_location_from_json.py +msgid "Wizard's lake retreat" +msgstr "" + #: lang/json/start_location_from_json.py msgid "Candy Shop" msgstr "" @@ -152505,16 +157874,16 @@ msgid "Acolyte." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What? What do you mean? What song?" +msgid "What? What do you mean? What song?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So about the songs..." +msgid "So about the songs…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You mentioned some cycle before, when I gave you the bones. What does that " +"You mentioned some cycle before, when I gave you the bones. What does that " "mean?" msgstr "" @@ -152531,7 +157900,7 @@ msgid "Is there a way I can help you with your song?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I have to get going. Take care, Seer." +msgid "I have to get going. Take care, Seer." msgstr "" #: lang/json/talk_topic_from_json.py @@ -152541,11 +157910,11 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What? Singing bones? What are you talking about?" +msgid "What? Singing bones? What are you talking about?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Uh... yeah, sure. I think I'll just be on my way." +msgid "Uh… yeah, sure. I think I'll just be on my way." msgstr "" #: lang/json/talk_topic_from_json.py @@ -152594,7 +157963,7 @@ msgid "I will bear that in mind" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Cause? Why do you gather these bones anyway?" +msgid "Cause? Why do you gather these bones anyway?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152606,7 +157975,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "End the world? What?" +msgid "End the world? What?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152618,8 +157987,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Sounds somewhat... doomsday-ish, but I suppose it's a belief like any other." -" Still, at least you have a goal to help the world, one way or another." +"Sounds somewhat… doomsday-ish, but I suppose it's a belief like any other. " +"Still, at least you have a goal to help the world, one way or another." msgstr "" #: lang/json/talk_topic_from_json.py @@ -152634,7 +158003,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I... thank you." +msgid "I… thank you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -152649,15 +158018,12 @@ msgid "Yeah, alright." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "There are bones to etch, songs to sing. Wish to join me?" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "Do you believe you can take on the burden of additional bones?" +msgid "" +"I know of certain bones that could be of use, if you'd like to know more." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" +msgid "There is an additional song you could take on, if you'd like." msgstr "" #: lang/json/talk_topic_from_json.py @@ -152665,18 +158031,15 @@ msgid "A song may yet be sung by you, should you wish to." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"I know of certain bones that could be of use, if you'd like to know more." +msgid "Do you believe you can take on the burden of additional bones?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "There is an additional song you could take on, if you'd like." +msgid "Do you wish to take on more songs?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"The song is... quiet for now. Perhaps with time, more notes will be etched " -"in the bones of this world." +msgid "There are bones to etch, songs to sing. Wish to join me?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152687,6 +158050,12 @@ msgstr "" msgid "An acolyte should not take on too many songs at once." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"The song is... quiet for now. Perhaps with time, more notes will be etched " +"in the bones of this world." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I see." msgstr "Entiendo." @@ -152708,7 +158077,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Well, I guess I oughta see where this goes. I'm in." +msgid "Well, I guess I oughta see where this goes. I'm in." msgstr "" #: lang/json/talk_topic_from_json.py @@ -152716,7 +158085,7 @@ msgid "Not interested." msgstr "No estoy interesado." #: lang/json/talk_topic_from_json.py -msgid "Consider it done. But I also wanted to ask..." +msgid "Consider it done. But I also wanted to ask…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152732,7 +158101,7 @@ msgid "I'm off then." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So, a creature that isn't a zombie, or a monster. Got it." +msgid "So, a creature that isn't a zombie, or a monster. Got it." msgstr "" #: lang/json/talk_topic_from_json.py @@ -152742,7 +158111,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I see. Very well then." +msgid "I see. Very well then." msgstr "" #: lang/json/talk_topic_from_json.py @@ -152760,11 +158129,11 @@ msgid "I am glad to hear it. Let's go then." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That's good, but I need to go at it alone right now. Maybe later." +msgid "That's good, but I need to go at it alone right now. Maybe later." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Maybe some other time. Changing the topic..." +msgid "Maybe some other time. Changing the topic…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152786,12 +158155,12 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"That is... that's really one hell of a belief. Well, if it helps you deal " +"That is… that's really one hell of a belief. Well, if it helps you deal " "with the world, who am I to argue." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "And here I thought you were nuts before. I'm out of here." +msgid "And here I thought you were nuts before. I'm out of here." msgstr "" #: lang/json/talk_topic_from_json.py @@ -153176,11 +158545,11 @@ msgid "Go back to sleep." msgstr "Vuelve a dormir." #: lang/json/talk_topic_from_json.py -msgid " *pshhhttt* I'm reading you boss, over." +msgid "What is it, friend?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What is it, friend?" +msgid " *pshhhttt* I'm reading you boss, over." msgstr "" #: lang/json/talk_topic_from_json.py @@ -153211,6 +158580,10 @@ msgstr "" msgid "Guard this position." msgstr "Protege esta posición." +#: lang/json/talk_topic_from_json.py +msgid "I want to assign you to work at this camp." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Let's talk about your current activity." msgstr "" @@ -153260,19 +158633,19 @@ msgid "Let's go." msgstr "Vamos." #: lang/json/talk_topic_from_json.py -msgid "Change your engagement rules..." -msgstr "Cambiar tus reglas de enfrentamiento..." +msgid "Change your engagement rules…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your aiming rules..." -msgstr "Cambiar tus reglas para apuntar..." +msgid "Change your aiming rules…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power reserve rules..." +msgid "Change your bionic power reserve rules…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power recharge rules..." +msgid "Change your bionic power recharge rules…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -153284,11 +158657,11 @@ msgid "Stick close to me, no matter what." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py @@ -153336,9 +158709,9 @@ msgstr "" #: src/handle_action.cpp src/handle_action.cpp src/handle_liquid.cpp #: src/handle_liquid.cpp src/iexamine.cpp src/iexamine.cpp src/iexamine.cpp #: src/iuse.cpp src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -#: src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp src/pickup.cpp -#: src/player.cpp src/player.cpp src/player.cpp src/veh_interact.cpp -#: src/vehicle_use.cpp +#: src/iuse_actor.cpp src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp +#: src/pickup.cpp src/player.cpp src/player.cpp src/player.cpp +#: src/veh_interact.cpp src/vehicle_use.cpp msgid "Never mind." msgstr "No importa." @@ -153548,7 +158921,7 @@ msgid "Nah, I'm just kidding." msgstr "Nah, te estaba tomando el pelo." #: lang/json/talk_topic_from_json.py -msgid "Please go to this location..." +msgid "Please go to this location…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -153559,12 +158932,16 @@ msgstr "" msgid "Show me what needs to be done at the camp." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "I'm not doing much currently." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I'm currently ." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm not doing much currently." +msgid "I meant what are your goals?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -153642,13 +159019,13 @@ msgid "OK, maybe it'll stop me from freezing in this weather, what's up?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Well, it's the time of day for a quick break surely! How are you holding " -"up?" +msgid "Man it's dark out isn't it? what's up?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Man it's dark out isn't it? what's up?" +msgid "" +"Well, it's the time of day for a quick break surely! How are you holding " +"up?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -153676,8 +159053,8 @@ msgstr "" "desde que... desde todo esto. ¿Cómo la vas llevando?" #: lang/json/talk_topic_from_json.py -msgid "Oh you know, not bad, not bad..." -msgstr "Ah, ya sabés, no me quejo, no me quejo..." +msgid "Oh you know, not bad, not bad…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -153740,14 +159117,14 @@ msgstr "Bueno, sin hacer movimientos repentinos..." msgid "Keep your distance!" msgstr "¡Quédate lejos!" -#: lang/json/talk_topic_from_json.py -msgid "" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "This is my territory, ." msgstr "Este es mi territorio, ." +#: lang/json/talk_topic_from_json.py +msgid "" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Calm down. I'm not going to hurt you." msgstr "" @@ -153764,14 +159141,14 @@ msgstr "" msgid "&Put hands up." msgstr "&Levanta las manos." -#: lang/json/talk_topic_from_json.py -msgid "*drops his weapon." -msgstr "*suelta su arma." - #: lang/json/talk_topic_from_json.py msgid "*drops_her_weapon." msgstr "*suelta_su_arma." +#: lang/json/talk_topic_from_json.py +msgid "*drops his weapon." +msgstr "*suelta su arma." + #: lang/json/talk_topic_from_json.py msgid "Now get out of here" msgstr "Ahora vete de aquí" @@ -153785,12 +159162,12 @@ msgid "Okay, I'm going." msgstr "Vale, me voy." #: lang/json/talk_topic_from_json.py -msgid "About that job..." -msgstr "Hablando de ese trabajo..." +msgid "About that job…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About one of those jobs..." -msgstr "Hablando de esos trabajos que me dijiste..." +msgid "About one of those jobs…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "What's the matter?" @@ -153801,29 +159178,29 @@ msgid "I don't care." msgstr "No me importa." #: lang/json/talk_topic_from_json.py -msgid "I have other jobs for you. Want to hear about them?" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" -msgstr "" +msgid "I just have one job for you. Want to hear about it?" +msgstr "Tengo un trabajo para ti. ¿Quieres que te cuente?" #: lang/json/talk_topic_from_json.py msgid "I have another job for you. Want to hear about it?" msgstr "Tengo otro trabajo para ti. ¿Quieres que te cuente?" #: lang/json/talk_topic_from_json.py -msgid "I just have one job for you. Want to hear about it?" -msgstr "Tengo un trabajo para ti. ¿Quieres que te cuente?" +msgid "I have other jobs for you. Want to hear about them?" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I don't have any jobs for you." -msgstr "No tengo ningún trabajo para ti." +msgid "I have more jobs for you. Want to hear about them?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I don't have any more jobs for you." msgstr "No tengo ningún otro trabajo para ti." +#: lang/json/talk_topic_from_json.py +msgid "I don't have any jobs for you." +msgstr "No tengo ningún trabajo para ti." + #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/npctalk.cpp msgid "Oh, okay." @@ -153833,10 +159210,6 @@ msgstr "Ah, bueno." msgid "Never mind, I'm not interested." msgstr "No importa, no estoy interesado." -#: lang/json/talk_topic_from_json.py -msgid "You're not working on anything for me now." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "What about it?" msgstr "¿Qué te parece?" @@ -153845,6 +159218,10 @@ msgstr "¿Qué te parece?" msgid "Which job?" msgstr "¿Cuál trabajo?" +#: lang/json/talk_topic_from_json.py +msgid "You're not working on anything for me now." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I'll do it!" msgstr "¡Lo haré!" @@ -153882,8 +159259,8 @@ msgid "Whatever. Bye." msgstr "Como quieras. Adiós." #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I failed." -msgstr "Perdón... fracasé." +msgid "I'm sorry… I failed." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Not yet." @@ -153902,8 +159279,8 @@ msgid "No. I'll get back to it, bye!" msgstr "No. ¡Ahora sigo con eso, adiós!" #: lang/json/talk_topic_from_json.py -msgid "Yup! Here it is!" -msgstr "" +msgid "Yup! Here it is!" +msgstr "¡Sip! ¡Aquí está/n!" #: lang/json/talk_topic_from_json.py msgid "We're here!" @@ -154055,13 +159432,9 @@ msgstr "" msgid "Hmm, okay." msgstr "Hmm, bueno." -#: lang/json/talk_topic_from_json.py -msgid "Focus on the road, mate!" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "I must focus on the road!" -msgstr "" +#: lang/json/talk_topic_from_json.py src/npctalk.cpp +msgid "Thanks!" +msgstr "¡Gracias!" #: lang/json/talk_topic_from_json.py msgid "I have some reason for not telling you." @@ -154083,6 +159456,14 @@ msgstr "Tengo mucha hambre, dame algo para comer." msgid "I'm too thirsty, give me something to drink." msgstr "Tengo mucha sed, dame algo para beber." +#: lang/json/talk_topic_from_json.py +msgid "I must focus on the road!" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Focus on the road, mate!" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Ah, okay." msgstr "" @@ -154156,8 +159537,8 @@ msgid "Alright. You can lead now." msgstr "Bueno. Ahora puedes guiarme." #: lang/json/talk_topic_from_json.py -msgid "Good. Something else..." -msgstr "Bieno. Algo más..." +msgid "Good. Something else…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Alright, let's go." @@ -154188,20 +159569,20 @@ msgid "On second thought, never mind." msgstr "Pensandolo bien, olvidate." #: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while you're operating a vehicle!" +msgid "I have some reason for denying you training." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while I'm operating a vehicle!" -msgstr "" +msgid "Give it some time, I'll show you something new later..." +msgstr "Dale tiempo, te voy a mostrar algo nuevo después..." #: lang/json/talk_topic_from_json.py -msgid "I have some reason for denying you training." +msgid "I can't train you properly while I'm operating a vehicle!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Give it some time, I'll show you something new later..." -msgstr "Dale tiempo, te voy a mostrar algo nuevo después..." +msgid "I can't train you properly while you're operating a vehicle!" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Not a bloody chance, I'm going to get left behind!" @@ -154236,8 +159617,8 @@ msgid "I'd prefer to keep that to myself." msgstr "Prefiero quedarme con eso para mí." #: lang/json/talk_topic_from_json.py -msgid "I understand..." -msgstr "Entiendo..." +msgid "I understand…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Why should I share my equipment with you?" @@ -154260,8 +159641,8 @@ msgid "Because I'm your friend!" msgstr "¡Porque soy tu amigo!" #: lang/json/talk_topic_from_json.py -msgid "Well, I am helping you out..." -msgstr "Bueno, te estoy ayudando..." +msgid "Well, I am helping you out…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'll give it back!" @@ -154308,15 +159689,15 @@ msgid "No, I'm keeping it. Try and take it off me, I dare you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Look, I really need this. Please let me have it." +msgid "Look, I really need this. Please let me have it." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What, this? It's not the same one, you are mistaken." +msgid "What, this? It's not the same one, you are mistaken." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry. Look, I already dropped it, okay?" +msgid "I'm sorry. Look, I already dropped it, okay?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -154324,13 +159705,17 @@ msgid "Don't try and talk yourself out of this, drop it now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Okay, I'm dropping it..." +msgid "Okay, I'm dropping it…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "Just this once, you can keep it. Don't tell anyone else." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Thanks." +msgstr "Gracias. " + #: lang/json/talk_topic_from_json.py msgid "Right... I don't want any trouble." msgstr "" @@ -154382,8 +159767,8 @@ msgid "Pleasure doing business!" msgstr "¡Un placer hacer negocios!" #: lang/json/talk_topic_from_json.py -msgid "You might be seeing more of me..." -msgstr "Tal vez me vuelvas a ver..." +msgid "You might be seeing more of me…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -154396,21 +159781,21 @@ msgid "Hey again. *kzzz*" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." +msgid "Hey. Let's chat for a second." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That's because I saved you. Listen, I could use your help..." +msgid "That's because I saved you. Listen, I could use your help…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Big fucking deal. Do what I say or I'll shove that chip back where it " +"Big fucking deal. Do what I say or I'll shove that chip back where it " "belongs." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." +msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." msgstr "" #: lang/json/talk_topic_from_json.py @@ -154422,7 +159807,7 @@ msgid "Come with me. We can help each other out." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "We both go our separate ways. Enjoy your freedom." +msgid "We both go our separate ways. Enjoy your freedom." msgstr "" #: lang/json/talk_topic_from_json.py @@ -154439,8 +159824,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"For all you know, I did. I'm being nice for now. You'd better hope that it " -"lasts." +"For all you know, I did. I'm being nice for now. You'd better hope that it" +" lasts." msgstr "" #: lang/json/talk_topic_from_json.py @@ -154461,7 +159846,7 @@ msgid "Get out of my sight." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." +msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." msgstr "" #: lang/json/talk_topic_from_json.py @@ -154477,7 +159862,7 @@ msgid "Not if I kill you first!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry! I shouldn't have said that!" +msgid "I'm sorry! I shouldn't have said that!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -154712,11 +160097,11 @@ msgid "Well, sure." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'd... rather not." +msgid "I'd… rather not." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I have places to be." +msgid "I'm sorry… I have places to be." msgstr "" #: lang/json/talk_topic_from_json.py @@ -154747,7 +160132,7 @@ msgid "Oh, but you already have." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yes... yes I have." +msgid "Yes… yes I have." msgstr "" #: lang/json/talk_topic_from_json.py @@ -154812,7 +160197,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Horrible. Did you get any pictures yourself?" +msgid "Horrible. Did you get any pictures yourself?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -154964,7 +160349,7 @@ msgid "This is a npc allies 1 test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "This an error! npc allies 2 test response." +msgid "This an error! npc allies 2 test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -155164,7 +160549,7 @@ msgid "This is a u_has_items beer test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Test failure! This is a u_has_items test response." +msgid "Test failure! This is a u_has_items test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -155176,7 +160561,7 @@ msgid "This is a u_has_item_category books count 2 test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a u_has_item_category books count 3 test response." +msgid "Failure! This is a u_has_item_category books count 3 test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -155264,7 +160649,7 @@ msgid "This is a u_has_bionics bio_ads test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a npc_has_bionics bio_ads test response." +msgid "Failure! This is a npc_has_bionics bio_ads test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -155320,11 +160705,7 @@ msgid "So you're back... Explain yourself!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "Greetings... Foodperson?" +msgid "Greetings… Foodperson?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -155366,7 +160747,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ah... Well, nice to meet you Foodperson." +msgid "Ah… Well, nice to meet you Foodperson." msgstr "" #: lang/json/talk_topic_from_json.py @@ -155378,7 +160759,7 @@ msgid "Sheesh, ok, calm down, I'm leaving!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Forgive me, I didn't mean to disrespect you." +msgid "Forgive me, I didn't mean to disrespect you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -155394,7 +160775,7 @@ msgid "Sure, whatever." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok... I believe you." +msgid "Ok… I believe you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -155490,7 +160871,7 @@ msgid "That sounds great!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok..." +msgid "Ok…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -155498,7 +160879,7 @@ msgid "I need to think about it." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Huh... No thanks." +msgid "Huh… No thanks." msgstr "" #: lang/json/talk_topic_from_json.py @@ -155515,7 +160896,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I... I don't know. It probably has something to do with ! " +"I… I don't know. It probably has something to do with ! " "What do you say we team up to find out?" msgstr "" @@ -155586,7 +160967,7 @@ msgid "I AM THE ONE!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Wow calm down, it's just a prank bro." +msgid "Wow calm down, it's just a prank bro." msgstr "" #: lang/json/talk_topic_from_json.py @@ -155643,10 +161024,10 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "I haven't found them yet. Whenever I see a , a little part of me is" -" afraid it's going to be one of them. But then, maybe not. Maybe they " -"were evacuated, maybe they fought and tried to wait for me but the military " -"took them anyway? I've heard that sort of thing happened. I don't know if " -"I'll ever know." +" afraid it's going to be one of them. But then, maybe not. Maybe they were" +" evacuated, maybe they fought and tried to wait for me but the military took" +" them anyway? I've heard that sort of thing happened. I don't know if I'll" +" ever know." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156017,7 +161398,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "OK, this is gonna sound crazy but I, like, I knew this was going to happen." -" Like, before it did. You can even ask my psychic except, like, I think " +" Like, before it did. You can even ask my psychic except, like, I think " "she's dead now. I told her about my dreams a week before the world ended. " "Serious!" msgstr "" @@ -156283,7 +161664,7 @@ msgid "Giant bees? Tell me more." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive..." +msgid "But bees aren't usually aggressive…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -156295,7 +161676,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive... Do you mean wasps?" +msgid "But bees aren't usually aggressive… Do you mean wasps?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -156723,7 +162104,7 @@ msgid "No. I can't. Just, no." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sorry... I'll let you be." +msgid "Sorry… I'll let you be." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156959,8 +162340,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Okay..." -msgstr "Bueno..." +msgid "Okay…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -157332,7 +162713,7 @@ msgid "What do you think happened?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That does sound a little crazy..." +msgid "That does sound a little crazy…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -157381,7 +162762,7 @@ msgid "What happened to you after that?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "It can't be healthy to abandon your past like that..." +msgid "It can't be healthy to abandon your past like that…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -157825,8 +163206,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you mean in a religious sense, or...?" -msgstr "¿Te refieres en un sentido religioso, o...?" +msgid "Do you mean in a religious sense, or…?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -158154,8 +163535,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"If I got you the right stuff, do you think you'd be able to like... do " -"science to it?" +"If I got you the right stuff, do you think you'd be able to like… do science" +" to it?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -158266,7 +163647,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Oh, I'm sorry..." +msgid "Oh, I'm sorry…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -158371,7 +163752,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "It is coming together. I want to make our own tools, repair our items and " -"even create some weapons and ammuntion reloading." +"even create some weapons and ammunition reloading." msgstr "" #: lang/json/talk_topic_from_json.py @@ -158384,7 +163765,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"It was pink and really fast, it had lots of limbs, definitly not human. It " +"It was pink and really fast, it had lots of limbs, definitely not human. It " "easily kept up with us when we tried to escape, horrifying stuff. Barry " "just dropped to the ground, and the thing swept him away." msgstr "" @@ -158433,7 +163814,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I see that badge, You need to leave our land, my relatives have no fondess " +"I see that badge, You need to leave our land, my relatives have no fondness " "for Marshals." msgstr "" @@ -158593,7 +163974,7 @@ msgid "He did mention you make remedies, are they effective?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'd like to ask you something else..." +msgid "I'd like to ask you something else…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -158735,10 +164116,6 @@ msgstr "" msgid "Hello traveler, what brings you here?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hello travler, what brings you here?" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "I'm here to deliver some resources." msgstr "" @@ -158764,7 +164141,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "We've had our losses... now we stay close to home, preparing for trouble. " -"We've always taken disaster prepardness seriously, but we didn't expect " +"We've always taken disaster preparedness seriously, but we didn't expect " "anything like this though." msgstr "" @@ -158813,7 +164190,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You should get off my land, the governemnt proved its incompetence with this" +"You should get off my land, the government proved its incompetence with this" " catastrophe." msgstr "" @@ -158888,7 +164265,8 @@ msgid "I'd like to speak with Carlos too about some work." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Is Chris around? I'd like to know what he's run into out in the woods." +msgid "" +"Is Chris around? I'd like to know what he's run into out in the woods." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159045,18 +164423,18 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Ma'am, I don't know how the hell you got down here but if you have any sense" -" you'll get out while you can." +"Sir, I don't know how the hell you got down here but if you have any sense " +"you'll get out while you can." msgstr "" -"Señora, no sé cómo demonios llegó hasta aquí abajo pero si le queda un poco " +"Señor, no sé cómo demonios llegó hasta aquí abajo pero si le queda un poco " "de juicio se iría mientras pueda." #: lang/json/talk_topic_from_json.py msgid "" -"Sir, I don't know how the hell you got down here but if you have any sense " -"you'll get out while you can." +"Ma'am, I don't know how the hell you got down here but if you have any sense" +" you'll get out while you can." msgstr "" -"Señor, no sé cómo demonios llegó hasta aquí abajo pero si le queda un poco " +"Señora, no sé cómo demonios llegó hasta aquí abajo pero si le queda un poco " "de juicio se iría mientras pueda." #: lang/json/talk_topic_from_json.py @@ -159076,16 +164454,16 @@ msgid "What do you need done?" msgstr "¿Hay algo que sea necesario hacer?" #: lang/json/talk_topic_from_json.py -msgid "About the mission..." -msgstr "Acerca de la misión..." +msgid "About the mission…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About one of those missions..." -msgstr "Acerca de una de esas misiones..." +msgid "About one of those missions…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I've got to go..." -msgstr "Me tengo que ir..." +msgid "I've got to go…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -159100,8 +164478,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Seems like a decent plan..." -msgstr "Parece un plan decente..." +msgid "Seems like a decent plan…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -159129,9 +164507,8 @@ msgstr "" "niveles inferiores." #: lang/json/talk_topic_from_json.py -msgid "Whatever they did it must have worked since we are still alive..." +msgid "Whatever they did it must have worked since we are still alive…" msgstr "" -"Sea lo que hayan hecho debe haber funcionado porque todavía estamos vivos..." #: lang/json/talk_topic_from_json.py msgid "Ma'am you are not authorized to be here... you should leave." @@ -159169,8 +164546,8 @@ msgstr "" "mi comandante si tienes alguna pregunta." #: lang/json/talk_topic_from_json.py -msgid "I'll try and find your commander then..." -msgstr "Voy a intentar encontrar a tu comandante entonces..." +msgid "I'll try and find your commander then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -159238,8 +164615,8 @@ msgstr "" "Se supone que debo dirigir todas las preguntas a mi liderazgo, alguacil." #: lang/json/talk_topic_from_json.py -msgid "Don't mind me..." -msgstr "No me prestes atención..." +msgid "Don't mind me…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -159493,16 +164870,16 @@ msgid "Have I told you about cardboard, friend? Do you have any?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "We've done it! We've solved the list!" +msgid "" +"How's things with you? My cardboard collection is getting quite impressive." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"How's things with you? My cardboard collection is getting quite impressive." +msgid "We've done it! We've solved the list!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About that shopping list of yours..." +msgid "About that shopping list of yours…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -159568,7 +164945,7 @@ msgid "Would you like me to give you some cardboard?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I think I have to get going..." +msgid "I think I have to get going…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -159597,7 +164974,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "... What were you saying before?" +msgid "…What were you saying before?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -159615,7 +164992,7 @@ msgid "No." msgstr "No." #: lang/json/talk_topic_from_json.py -msgid "I... I can see you wearing it. Why are you wearing that?" +msgid "I… I can see you wearing it. Why are you wearing that?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -159707,7 +165084,7 @@ msgid "I found a sample of alien fungus for you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok... see ya." +msgid "Ok… see ya." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159805,8 +165182,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I mean, racism could definitely be a part of it... but you are visibly in " -"poor shape. They need strong survivor material." +"I mean, racism could definitely be a part of it… but you are visibly in poor" +" shape. They need strong survivor material." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159838,7 +165215,7 @@ msgid "You sound more optimistic than usual." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So, about that doctorate of yours..." +msgid "So, about that doctorate of yours…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -159958,7 +165335,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "Encroaching alien mushrooms, fungal towers, tough mycelium invading ground " -"and trees, zombies taken over by aggressive mold... Yeah. It's ugly stuff." +"and trees, zombies taken over by aggressive mold… Yeah. It's ugly stuff." msgstr "" #: lang/json/talk_topic_from_json.py @@ -160066,7 +165443,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I could maybe help you out... want something to eat?" +msgid "I could maybe help you out… want something to eat?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -160473,7 +165850,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You seem a little forward..." +msgid "You seem a little forward…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -160729,7 +166106,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About that sourdough starter you had me looking for..." +msgid "About that sourdough starter you had me looking for…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -161023,7 +166400,7 @@ msgid "I think I would've done the same. Nobody around here has a guitar?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yes, yes I would... you monster." +msgid "Yes, yes I would… you monster." msgstr "" #: lang/json/talk_topic_from_json.py @@ -161473,7 +166850,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You lost someone..." +msgid "You lost someone…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -161899,7 +167276,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You... you do know what's going on here, right? With the evacuation and " +"You… you do know what's going on here, right? With the evacuation and " "stuff?" msgstr "" @@ -162592,7 +167969,7 @@ msgid "Are you looking to buy anything else?" msgstr "¿Quieres comprar algo más?" #: lang/json/talk_topic_from_json.py -msgid "Very well... let's talk about something else." +msgid "Very well… let's talk about something else." msgstr "" #: lang/json/talk_topic_from_json.py @@ -162943,8 +168320,8 @@ msgid "Have you seen anyone who might be hiding something?" msgstr "¿Viste a alguien que podría estar ocultando algo?" #: lang/json/talk_topic_from_json.py -msgid "Bye..." -msgstr "Adiós..." +msgid "Bye…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -162960,16 +168337,16 @@ msgid "Keep your head down and stay out of my way." msgstr "Mantené tu cabeza agachada y no te metas en mi camino." #: lang/json/talk_topic_from_json.py -msgid "OK..." -msgstr "OK..." +msgid "OK…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Like what?" msgstr "¿Como qué?" #: lang/json/talk_topic_from_json.py -msgid "I'm not sure..." -msgstr "No estoy seguro..." +msgid "I'm not sure…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Like they could be working for someone else?" @@ -162988,8 +168365,8 @@ msgid "Got something to hide?" msgstr "¿Tienes algo que esconder?" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I didn't mean to offend you..." -msgstr "Perdón, no te quise ofender..." +msgid "Sorry, I didn't mean to offend you…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163033,16 +168410,16 @@ msgstr "Mantenete civilizado o te voy a causar dolor." msgid "Just on watch, move along." msgstr "Solo estoy de guardia, circulando." -#: lang/json/talk_topic_from_json.py -msgid "Ma'am, you really shouldn't be traveling out there." -msgstr "Señora, no debería estar viajando por ahí afuera." - #: lang/json/talk_topic_from_json.py msgid "Rough out there, isn't it?" msgstr "¿Está complicado ahí afuera, no?" #: lang/json/talk_topic_from_json.py -msgid "I heard this place was a refugee center..." +msgid "Ma'am, you really shouldn't be traveling out there." +msgstr "Señora, no debería estar viajando por ahí afuera." + +#: lang/json/talk_topic_from_json.py +msgid "I heard this place was a refugee center…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -163066,8 +168443,8 @@ msgid "Can I do anything for the center?" msgstr "¿Puedo hacer algo por el centro?" #: lang/json/talk_topic_from_json.py -msgid "I figured you might be looking for some help..." -msgstr "Me supuse que estarías buscando ayuda..." +msgid "I figured you might be looking for some help…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Well, I'd better be going. Bye." @@ -163122,7 +168499,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"[INT 10] Wait, six buses and refugees... how many people do you still have " +"[INT 10] Wait, six buses and refugees… how many people do you still have " "crammed in here?" msgstr "" @@ -163181,8 +168558,8 @@ msgid "I'm sorry, not a risk we are willing to take right now." msgstr "Lo lamento, ahora no estamos dispuestos a correr ningún riesgo." #: lang/json/talk_topic_from_json.py -msgid "Fine..." -msgstr "Bien..." +msgid "Fine…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163197,8 +168574,8 @@ msgstr "" "el pelo." #: lang/json/talk_topic_from_json.py -msgid "Fine... *coughupyourscough*" -msgstr "Bien... *tosatupropiatos*" +msgid "Fine… *coughupyourscough*" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163233,8 +168610,8 @@ msgid "[STR 11] I punch things in face real good!" msgstr "[STR 11] ¡Le pego piñas a las cosas bastante bien!" #: lang/json/talk_topic_from_json.py -msgid "I guess I'll look somewhere else..." -msgstr "Supongo que buscaré en otro lado..." +msgid "I guess I'll look somewhere else…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163260,8 +168637,8 @@ msgid "Heard of anything better than the odd gun cache?" msgstr "¿Conocés algo mejor que la provisión de armas raras?" #: lang/json/talk_topic_from_json.py -msgid "Was hoping for something more..." -msgstr "Estaba esperando algo más..." +msgid "Was hoping for something more…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163361,8 +168738,8 @@ msgid "So what are you doing right now?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Never mind..." -msgstr "No importa..." +msgid "Never mind…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163384,8 +168761,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Good luck with that..." -msgstr "Que tengas suerte con eso..." +msgid "Good luck with that…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163428,8 +168805,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sucks..." -msgstr "Una porquería..." +msgid "Sucks…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163447,8 +168824,8 @@ msgstr "" "monstruos parecen poder romper una valla o una pared construido con al cosa." #: lang/json/talk_topic_from_json.py -msgid "Well, then..." -msgstr "Bueno, entonces..." +msgid "Well, then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163552,8 +168929,8 @@ msgstr "" "arrestes." #: lang/json/talk_topic_from_json.py -msgid "You... smelled me?" -msgstr "Tú... ¿me oliste?" +msgid "You… smelled me?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Got anything for sale?" @@ -163611,8 +168988,8 @@ msgstr "" "nada es tan bueno para cenar como un bife de alce recién cocinado!" #: lang/json/talk_topic_from_json.py -msgid "Great, now my mouth is watering..." -msgstr "Buenísimo, ahora se me hace agua la boca..." +msgid "Great, now my mouth is watering…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163726,8 +169103,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hmmm..." -msgstr "Hmmm..." +msgid "Hmmm…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163786,8 +169163,8 @@ msgstr "" "de hacerte conocido entre los hombres más poderosos que quedan en el mundo." #: lang/json/talk_topic_from_json.py -msgid "I haven't done anything wrong..." -msgstr "Yo no hice nada malo..." +msgid "I haven't done anything wrong…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Any tips for surviving?" @@ -163955,7 +169332,7 @@ msgid "Something to say?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I charge hourly, so be quick..." +msgid "I charge hourly, so be quick…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -164068,7 +169445,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I guess I could help with that..." +msgid "I guess I could help with that…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -164179,8 +169556,8 @@ msgid "[$10] I'll get a haircut" msgstr "[$10] Quiero que me cortes el pelo" #: lang/json/talk_topic_from_json.py -msgid "Maybe another time..." -msgstr "Tal vez en otro momento..." +msgid "Maybe another time…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -164199,8 +169576,8 @@ msgid "Stand still while I get my clippers..." msgstr "Quedate quieto mientras busco mis tijeras..." #: lang/json/talk_topic_from_json.py -msgid "Thanks..." -msgstr "Gracias... " +msgid "Thanks…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Want a drink?" @@ -164219,8 +169596,8 @@ msgid "What do you have on tap?" msgstr "¿Qué tienes en el grifo?" #: lang/json/talk_topic_from_json.py -msgid "I'll be going..." -msgstr "Me voy yendo..." +msgid "I'll be going…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -164278,8 +169655,8 @@ msgstr "" "acerca de lo que se necesita hacer." #: lang/json/talk_topic_from_json.py -msgid "I'll talk to him then..." -msgstr "Voy a hablar con él entonces..." +msgid "I'll talk to him then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -164299,8 +169676,8 @@ msgid "I hope you are here to do business." msgstr "Espero que hayas venido para hacer negocios." #: lang/json/talk_topic_from_json.py -msgid "I'm interested in investing in agriculture..." -msgstr "Estoy interesado en invertir en la agricultura..." +msgid "I'm interested in investing in agriculture…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -164330,12 +169707,12 @@ msgid "I imagine we might be able to work something out." msgstr "Me imagino que podemos llegar a encontrarle la vuelta." #: lang/json/talk_topic_from_json.py -msgid "I was wondering if you could install a cybernetic implant..." -msgstr "Me preguntaba si podrías instalar un implante cibernético..." +msgid "I was wondering if you could install a cybernetic implant…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I need help removing an implant..." -msgstr "Necesito ayuda para quitar un implante..." +msgid "I need help removing an implant…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'd like to hire your services." @@ -164384,8 +169761,8 @@ msgstr "" "exitoso." #: lang/json/talk_topic_from_json.py -msgid "It could be worse..." -msgstr "Podría ser peor..." +msgid "It could be worse…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -164396,8 +169773,8 @@ msgstr "" "capataz o un supervisor de cultivos." #: lang/json/talk_topic_from_json.py -msgid "I'll talk with them then..." -msgstr "Voy a hablar con ellos entonces..." +msgid "I'll talk with them then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Morning ma'am, how can I help you?" @@ -164478,8 +169855,8 @@ msgstr "" "los ataques de muertos vivientes." #: lang/json/talk_topic_from_json.py -msgid "Hopefully moving out here was worth it..." -msgstr "Con suerte, mudarme aquí valdrá la pena..." +msgid "Hopefully moving out here was worth it…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -164847,8 +170224,7 @@ msgstr "Bloqueas y contraatacas al %s" msgid " blocks and counter-attacks %s" msgstr " bloquea y contraataca al %s" -#: lang/json/technique_from_json.py lang/json/technique_from_json.py -#: src/game.cpp +#: lang/json/technique_from_json.py src/game.cpp msgid "Disarm" msgstr "Desarme" @@ -164950,7 +170326,8 @@ msgstr "" msgid " leaps off a nearby wall and dropkicks %s" msgstr "" -#: lang/json/technique_from_json.py +#: lang/json/technique_from_json.py lang/json/technique_from_json.py +#: src/martialarts.cpp msgid "Grab Break" msgstr "Romper Agarre" @@ -165026,13 +170403,13 @@ msgstr "Mordida de Víbora" #: lang/json/technique_from_json.py #, python-format -msgid "You Snakebite %s" -msgstr "Usas tu mordida de víbora con %s" +msgid "You lash out at %s with a Viper Bite" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Snakebites %s" -msgstr " usa su mordida de víbora con %s" +msgid " lash out at %s with a Viper Bite" +msgstr "" #: lang/json/technique_from_json.py msgid "Viper Strike" @@ -165040,18 +170417,28 @@ msgstr "Golpe de Víbora" #: lang/json/technique_from_json.py #, python-format -msgid "You Viper Strike %s" -msgstr "Le das un Golpe de Víbora al %s" +msgid "You hit %s with a spectacular Viper Strike" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Viper Strikes %s" -msgstr " le da un Golpe de Víbora al %s" +msgid " hits %s with a spectacular Viper Strike" +msgstr "" #: lang/json/technique_from_json.py msgid "Viper Writhe" msgstr "Retorcimiento de Víbora" +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you writhe free!" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they writhe free!" +msgstr "" + #: lang/json/technique_from_json.py msgid "Roundhouse Kick" msgstr "" @@ -165094,6 +170481,34 @@ msgstr "" msgid " jabs %s with a Pincer Fist" msgstr "" +#: lang/json/technique_from_json.py +msgid "Toad Smack" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You disregard %s's attack and knock them down" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " disregards %s's attack and knocks them down" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Toad Slam" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You meet %s's attack head on with a stunning counter" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " meet %s's attack head on with a stunning counter" +msgstr "" + #: lang/json/technique_from_json.py msgid "Toad's Tongue" msgstr "Lengua de Sapo" @@ -166582,102 +171997,8 @@ msgid " grabs and throws %s" msgstr "" #: lang/json/technique_from_json.py -#, python-format -msgid "You disarm %s" -msgstr "Desarmas a %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " disarms %s" -msgstr " desarma a %s" - -#: lang/json/technique_from_json.py -msgid "precise strike" -msgstr "golpe preciso" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You strike %s" -msgstr "Golpeas %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " strikes %s" -msgstr " golpea %s" - -#: lang/json/technique_from_json.py -msgid "axe-kick" -msgstr "patada descendente" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You axe-kick %s" -msgstr "Le das una patada descendente al %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " axe-kicks %s" -msgstr " le da una patada descendente al %s" - -#: lang/json/technique_from_json.py -msgid "side kick" -msgstr "patada lateral" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You side-kick %s" -msgstr "Le das una patada lateral al %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " side-kicks %s" -msgstr " le da una patada lateral al %s" - -#: lang/json/technique_from_json.py -msgid "sweep kick" -msgstr "zancadilla" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You sweep-kick %s" -msgstr "Le haces una zancadilla al %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " sweep-kicks %s" -msgstr " le hace una zancadilla al %s" - -#: lang/json/technique_from_json.py -msgid "Drunk feint" -msgstr "Amague de borracho" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You stumble and leer at %s" -msgstr "Tropiezas y miras fijamente al %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " stumbles and leers at %s" -msgstr " tropieza y mira fijamente al %s" - -#: lang/json/technique_from_json.py -msgid "Drunk counter" -msgstr "Contraataque de borracho" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You lurch, and your wild swing hits %s" -msgstr "Tambaleás, y tu golpe salvaje le pega al %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " lurches, and hits %s" -msgstr " tambalea, y golpea %s" - -#: lang/json/technique_from_json.py -msgid "hamstring" -msgstr "incapacitar" +msgid "Hamstring" +msgstr "" #: lang/json/technique_from_json.py #, python-format @@ -166703,15 +172024,6 @@ msgstr "" msgid " viciously wounds %s" msgstr " hiere ferozmente al %s" -#: lang/json/technique_from_json.py -msgid "Silat Brutality" -msgstr "Brutalidad Silat" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You send %s reeling backwards" -msgstr "Mandás al %s dando vueltas hacia atrás" - #: lang/json/technique_from_json.py msgid "Dirty Hit" msgstr "Golpe Sucio" @@ -166727,18 +172039,18 @@ msgid " delivers a dirty blow to %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Tiger Takedown" -msgstr "Derribo de Tigre" +msgid "Silat Brutality" +msgstr "Brutalidad Silat" #: lang/json/technique_from_json.py #, python-format -msgid "You grab and ground %s" -msgstr "Agarrás y tirás al suelo al %s" +msgid "You brutally tear into %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " grabs and grounds %s" -msgstr " agarra y tira al suelo al %s" +msgid " brutally tears into %s" +msgstr "" #: lang/json/technique_from_json.py msgid "Snake Snap" @@ -166788,133 +172100,248 @@ msgstr "Golpe de Serpiente" #: lang/json/technique_from_json.py #, python-format -msgid "You strike out at %s" -msgstr "Le das un golpe de serpiente al %s" +msgid "You lash out at %s with a vicious Snake Strike" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " strikes out at %s" -msgstr " le da un golpe de serpiente al %s" +msgid " lashes out at %s with a vicious Snake Strike" +msgstr "" #: lang/json/technique_from_json.py -msgid "slow strike" -msgstr "golpe lento" +msgid "Push" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You slowly strike %s" -msgstr "Golpeas lentamente %s" +msgid "You push %s away" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " slowly strikes %s" -msgstr " golpea lentamente %s" +msgid " pushes %s away" +msgstr " empuja el/a %s a un lado" #: lang/json/technique_from_json.py -msgid "phasing strike" -msgstr "golpe de fase" +msgid "Shove" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You phase-strike %s" -msgstr "Le das un golpe de fase %s" +msgid "You shove %s back" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " phase-strikes %s" -msgstr " le da un golpe de fase %s" +msgid " shoves %s back" +msgstr "" #: lang/json/technique_from_json.py -msgid "Push" +#, python-format +msgid "You deftly trip %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You push %s away" +msgid " deftly trips %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Snatch Weapon" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " pushes %s away" -msgstr " empuja el/a %s a un lado" +msgid "You snatch %s's weapon" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You deftly trip %s" +msgid " snatches %s's weapon" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Axe-kick" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " deftly trips %s" +msgid "You raise your heel and axe-kick %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " raises their heel and axe-kicks %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Skewer" +msgid "Side Kick" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You brutally skewer %s" +msgid "You turn slightly and side-kick %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " brutally skewers %s" +msgid " turns slightly and side-kicks %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Chain Punch" +#, python-format +msgid "You crouch low and sweep-kick %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " crouches low and sweep-kicks %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You gently disarm %s" msgstr "" -#. ~ Description for Chain Punch #: lang/json/technique_from_json.py -msgid "50% moves, 66% damage, knockback and follow" +#, python-format +msgid " gently disarms %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Palm Strike" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You palm strike %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " palm strikes %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Grasp the Sparrow's Tail" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You divert %s's attack and lead them to the ground" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " diverts %s's attack and lead them to the ground" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Double Palm Strike" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You double-handed palm strike %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " double-handed palm strikes %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Tiger Palm" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You chain strike %s" +msgid "You land a heavy tiger palm on %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " chain strikes %s" +msgid " lands a heavy tiger palm on %s" msgstr "" #: lang/json/technique_from_json.py -msgid "You position yourself well and slip out of a grab" +msgid "Tiger Takedown" +msgstr "Derribo de Tigre" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You slam %s to the ground" msgstr "" #: lang/json/technique_from_json.py -msgid " slips out of a grab" +#, python-format +msgid " slams %s to the ground" msgstr "" #: lang/json/technique_from_json.py -msgid "ask the way" +msgid "Straight Punch" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You miss but keep striking at %s" +msgid "You deliver a vertical straight punch to %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " misses but keeps striking at %s" +msgid " delivers a vertical straight punch to %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Straight Punch (Knockback)" msgstr "" #: lang/json/technique_from_json.py -msgid "White Crane stumble" +#, python-format +msgid "You force %s back with a vertical straight punch" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble %s with your onslaught" +msgid " forces %s back with a vertical straight punch" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "L-hook" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " stumbles %s" +msgid "You deliver a solid L-hook to %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " delivers a solid L-hook to %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "L-hook (Knockback)" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You knock %s back with a solid L-hook" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " knocks %s back with a solid L-hook" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "Your attack misses %s but you don't let up" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "'s attack misses %s but they don't let up" msgstr "" #: lang/json/technique_from_json.py @@ -166931,6 +172358,72 @@ msgstr "" msgid " receives %s's attack, and counters" msgstr "" +#: lang/json/technique_from_json.py +msgid "Drunken Feint" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You stumble and leer at %s" +msgstr "Tropiezas y miras fijamente al %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " stumbles and leers at %s" +msgstr " tropieza y mira fijamente al %s" + +#: lang/json/technique_from_json.py +msgid "Drunk Counter" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You lurch, and your wild swing hits %s" +msgstr "Tambaleás, y tu golpe salvaje le pega al %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " lurches, and hits %s" +msgstr " tambalea, y golpea %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you stumble away!" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they stumble away!" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "slow strike" +msgstr "golpe lento" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You slowly strike %s" +msgstr "Golpeas lentamente %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " slowly strikes %s" +msgstr " golpea lentamente %s" + +#: lang/json/technique_from_json.py +msgid "phasing strike" +msgstr "golpe de fase" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You phase-strike %s" +msgstr "Le das un golpe de fase %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " phase-strikes %s" +msgstr " le da un golpe de fase %s" + #: lang/json/technique_from_json.py msgid "Pressure Crunch" msgstr "" @@ -167565,7 +173058,7 @@ msgstr "" #. ~ Description for deep dock pile #: lang/json/terrain_from_json.py msgid "" -"A sturdy pile made of wood extending all the way to the riverbed. A frame " +"A sturdy pile made of wood extending all the way to the riverbed. A frame " "will be required to support a surface." msgstr "" @@ -167576,8 +173069,8 @@ msgstr "" #. ~ Description for deep dock frame #: lang/json/terrain_from_json.py msgid "" -"A log frame secured atop a wooden pile. Adding a wood surface will make this" -" into a proper dock section." +"A log frame secured atop a wooden pile. Adding a wood surface will make " +"this into a proper dock section." msgstr "" #: lang/json/terrain_from_json.py @@ -167587,7 +173080,7 @@ msgstr "" #. ~ Description for deep dock #: lang/json/terrain_from_json.py msgid "" -"A wooden platform held by a tall wooden pile that extend to the riverbed. " +"A wooden platform held by a tall wooden pile that extend to the riverbed. " "Very sturdy, and likely to outlast you." msgstr "" @@ -168270,19 +173763,28 @@ msgstr "" "cerrojos. Está abierta, lo que permite pasar por ahí." #: lang/json/terrain_from_json.py -msgid "closed chickenwire gate" +msgid "closed screen door" msgstr "" -#. ~ Description for closed chickenwire gate +#. ~ Description for closed screen door #: lang/json/terrain_from_json.py -msgid "" -"A gate for a chickenwire fence with a simple latch system to stay closed." +msgid "A simple wooden doorway with screen mesh." msgstr "" #: lang/json/terrain_from_json.py msgid "rattle!" msgstr "" +#: lang/json/terrain_from_json.py +msgid "closed chickenwire gate" +msgstr "" + +#. ~ Description for closed chickenwire gate +#: lang/json/terrain_from_json.py +msgid "" +"A gate for a chickenwire fence with a simple latch system to stay closed." +msgstr "" + #: lang/json/terrain_from_json.py msgid "open chickenwire gate" msgstr "" @@ -168346,6 +173848,17 @@ msgstr "" msgid "metal rattling!" msgstr "" +#: lang/json/terrain_from_json.py +msgid "screen mesh wall" +msgstr "" + +#. ~ Description for screen mesh wall +#: lang/json/terrain_from_json.py +msgid "" +"A rather flimsy tall wall made of 2x4s and screen mesh, suitable for keeping" +" the bugs out." +msgstr "" + #: lang/json/terrain_from_json.py msgid "chickenwire fence post" msgstr "" @@ -168686,7 +174199,7 @@ msgstr "" #. ~ Description for wooden floor #: lang/json/terrain_from_json.py msgid "" -"Wooden floor created from boards, packed tightly together and nailed down. " +"Wooden floor created from boards, packed tightly together and nailed down. " "Common in patios." msgstr "" @@ -168997,7 +174510,7 @@ msgstr "" msgid "" "A dual purpose platform that serves as a containment, and as a device that " "exposes items places on in to the radioactive source, by temporarily " -"hoisting the radioactive material stored within. Operated from external " +"hoisting the radioactive material stored within. Operated from external " "console." msgstr "" @@ -169312,10 +174825,10 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "One of the species of 'Juniperus' that grows in New England, juniper berries" -" grow over two to three years, first flowering. On the second year producing" -" a green berry, the last, they produce their more famed blue varieties. If " -"you examined the foliage more closely, you could probably find some viable " -"clusters. You could also cut it down with the right tools." +" grow over two to three years, first flowering. On the second year " +"producing a green berry, the last, they produce their more famed blue " +"varieties. If you examined the foliage more closely, you could probably " +"find some viable clusters. You could also cut it down with the right tools." msgstr "" #. ~ Description for juniper tree @@ -170293,10 +175806,11 @@ msgstr "cajero automático" #: lang/json/terrain_from_json.py msgid "" "For your banking convenience, this Automated Teller Machine is fully capable" -" of operating autonomously in the event of complete network failure. You can" -" deposit funds from cash cards and migrate all of your inflation-adjusted " -"earnings to a single card. These things have seen better days. There's been" -" a run on the bank, and this machine has the dents and cracks to prove it." +" of operating autonomously in the event of complete network failure. You " +"can deposit funds from cash cards and migrate all of your inflation-adjusted" +" earnings to a single card. These things have seen better days. There's " +"been a run on the bank, and this machine has the dents and cracks to prove " +"it." msgstr "" #: lang/json/terrain_from_json.py @@ -170401,8 +175915,8 @@ msgstr "centrifugadora" #: lang/json/terrain_from_json.py msgid "" "This is a centrifuge, a liquid separating device with an automated analyzer " -"unit. It could be used to analyze a medical fluid sample, such as blood, if " -"a test tube was placed in it." +"unit. It could be used to analyze a medical fluid sample, such as blood, if" +" a test tube was placed in it." msgstr "" #: lang/json/terrain_from_json.py @@ -171009,7 +176523,7 @@ msgstr "" #. ~ Description for closed resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is closed tightly, but it looks like a firm push would cause it to snap " "open." msgstr "" @@ -171021,7 +176535,7 @@ msgstr "" #. ~ Description for open resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is open, the flaps held out by some sort of stringy mucus-like " "substance." msgstr "" @@ -171112,6 +176626,13 @@ msgid "" " were still running." msgstr "" +#. ~ Description for small railroad track +#: lang/json/terrain_from_json.py +msgid "" +"Like a railroad track, only smaller. You could probably run a small vehicle" +" on this." +msgstr "" + #: lang/json/terrain_from_json.py msgid "sandbox" msgstr "arenero" @@ -171178,7 +176699,7 @@ msgstr "" #. ~ Description for gutter drop #: lang/json/terrain_from_json.py msgid "" -"Funnels water from gutter system towards the ground, it looks flimsy. You " +"Funnels water from gutter system towards the ground, it looks flimsy. You " "may be able to climb down here." msgstr "" @@ -171190,7 +176711,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "A length of gutter running from the roof to the ground, you could place a " -"container underneath it to collect rainwater. It looks flimsy. You may be " +"container underneath it to collect rainwater. It looks flimsy. You may be " "able to climb down here." msgstr "" @@ -171236,7 +176757,7 @@ msgstr "" #. ~ Description for metal flat roof #: lang/json/terrain_from_json.py -msgid "A secton of flat, sheet metal rooftop." +msgid "A section of flat, sheet metal rooftop." msgstr "" #: lang/json/terrain_from_json.py @@ -171264,7 +176785,7 @@ msgstr "" #. ~ Description for rock roof #: lang/json/terrain_from_json.py -msgid "A secton of flat natural rock." +msgid "A section of flat natural rock." msgstr "" #: lang/json/terrain_from_json.py @@ -172017,7 +177538,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "An empty wooden frame in the shape of a column, built around a concrete and " -"rebar foundation. It isn't capable of supporting roofs or shelter, and " +"rebar foundation. It isn't capable of supporting roofs or shelter, and " "appears to need more resources before being considered complete." msgstr "" @@ -173294,12 +178815,8 @@ msgid "" "You just activated a grenade! You probably want to throw it. To throw an " "item, press 't' and then select the item to throw. The maximum range " "depends on your strength and the object's weight and size. Throwing isn't " -"very good in most combat situations, but if you've got some fire power..." +"very good in most combat situations, but if you've got some fire power…" msgstr "" -"¡Acabas de activar una granada! Probablemente quieras tirarla. Para tirar un" -" objeto, pulsa 't' y elige lo que quieres tirar. El alcance máximo depende " -"de tu fuerza y del peso y tamaño del objeto. Tirar cosas no es lo mejor para" -" un combate, pero si tienes artillería pesada..." #: lang/json/tutorial_messages_from_json.py msgid "" @@ -173395,7 +178912,7 @@ msgstr "" #: lang/json/tutorial_messages_from_json.py msgid "" "~ is a terrain symbol that indicates water. From a water source like this, " -"you can fill any containers you might have. Examine the water ('e') and " +"you can fill any containers you might have. Examine the water ('e') and " "press 'c' to fill a container, then select a watertight container to put the" " water into." msgstr "" @@ -174426,7 +179943,7 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "" "A very bright, directed light that illuminates a half-circular area outside " -"the vehicle when turned on. During installation, you can choose what " +"the vehicle when turned on. During installation, you can choose what " "direction to point the light." msgstr "" @@ -174569,7 +180086,7 @@ msgstr "" #. ~ Description for tied mattress #: lang/json/vehicle_part_from_json.py msgid "" -"A mattress, strapped onto the vehicle. It could serve to blunt any impact." +"A mattress, strapped onto the vehicle. It could serve to blunt any impact." msgstr "" #. ~ Description for shredder @@ -175005,6 +180522,13 @@ msgstr "" "Es una púa de metal soldada al vehículo, para incrementar el daño causado " "cuando choca contra algo." +#. ~ Description for programmable autopilot +#: lang/json/vehicle_part_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of the vehicle to " +"allow it to follow simple paths." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "swappable storage battery case" msgstr "caja para batería de alm. cambiable" @@ -175044,18 +180568,17 @@ msgstr "" #. ~ Description for washing machine #: lang/json/vehicle_part_from_json.py msgid "" -"A small washing machine. With detergent or soap, water, and some electrical" -" power, you could clean a lot of clothes. 'e'xamine the tile with the " -"washing machine to use it." +"A small washing machine. With detergent, water, and some electrical power, " +"you could clean a lot of clothes. 'e'xamine the tile with the washing " +"machine to use it." msgstr "" #. ~ Description for dishwasher #: lang/json/vehicle_part_from_json.py msgid "" -"A small dishwasher. With detergent or soap, water, and some electrical " -"power, you could clean your dishes... Or something more useful like a CBM " -"dripping with zombie gore. 'e'xamine the tile with the dishwasher to use " -"it." +"A small dishwasher. With detergent, water, and some electrical power, you " +"could clean your dishes… Or something more useful like a CBM dripping with " +"zombie gore. 'e'xamine the tile with the dishwasher to use it." msgstr "" #. ~ Description for autoclave @@ -175241,7 +180764,7 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "" "A large wind turbine with stabilizing legs. Will recharge the vehicle's " -"electrical power when exposed to the wind. Will cause extra drag on the " +"electrical power when exposed to the wind. Will cause extra drag on the " "vehicle." msgstr "" @@ -175730,6 +181253,15 @@ msgid "" "stand next to a turret mount and 'f'ire the weapon by selecting the tile." msgstr "" +#. ~ Description for turret control unit +#: lang/json/vehicle_part_from_json.py +msgid "" +"A set of motor, camera, and an AI unit which allows for tracking targets, " +"friend-or-foe identification, and firing the connected turret in full " +"automatic mode. When installed over the turret, it will enable auto " +"targeting mode for said turret." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "light wheel mount (steerable)" msgstr "" @@ -175771,6 +181303,14 @@ msgstr "" msgid "rail wheel (steerable)" msgstr "" +#. ~ Description for pair of small rail wheels +#: lang/json/vehicle_part_from_json.py +msgid "" +"A pair of small rail wheels. It performs well when riding on a pair of " +"small rails. It performs terribly when not on a rail. Moreover, you can't " +"steer it." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "roller drum" msgstr "rodillo" @@ -177447,81 +182987,6 @@ msgstr "cañón tesla manual" msgid "manual avalanche rifle" msgstr "rifle avalancha manual" -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of road" -msgstr "Sección limpia de la calle" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Randomly-distributed wrecks" -msgstr "Restos distribuidos aleatoriamente" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parked vehicles" -msgstr "Vehículos estacionados" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Jack-knifed semi" -msgstr "Semirremolque articulado" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Random car pileup" -msgstr "Pila aleatoria de coches" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Police car pileup" -msgstr "Pila aleatoria de patrullas" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Out of fuel vehicle" -msgstr "Vehículo sin gasolina" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of bridge" -msgstr "Sección limpia de puente" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Unfueled Vehicle on the bridge" -msgstr "" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the bridge" -msgstr "Vehículo en el puente" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of highway" -msgstr "Sección limpia de autopista" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the highway" -msgstr "Vehículo en autopista" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parking lot with vehicles" -msgstr "Estacionamiento con vehículos" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of subway" -msgstr "" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the subway" -msgstr "" - #: lang/json/vitamin_from_json.py msgid "Calcium" msgstr "Calcio" @@ -177538,6 +183003,10 @@ msgstr "Vitamina B12" msgid "Vitamin C" msgstr "Vitamina C" +#: lang/json/vitamin_from_json.py +msgid "Toxins" +msgstr "" + #: src/action.cpp src/input.cpp msgid "Press " msgstr "Pulsa " @@ -177659,8 +183128,8 @@ msgstr "" #: src/activity_handlers.cpp msgid "" -"You need to suspend this corpse to butcher it. While you have a rope to lift" -" the corpse, there is no tree nearby to hang it from." +"You need to suspend this corpse to butcher it. While you have a rope to " +"lift the corpse, there is no tree nearby to hang it from." msgstr "" #: src/activity_handlers.cpp @@ -177673,8 +183142,8 @@ msgstr "" #: src/activity_handlers.cpp msgid "" "To perform a full butchery on a corpse this big, you need a table nearby or " -"something else with a flat surface. A leather tarp spread out on the ground " -"could suffice." +"something else with a flat surface. A leather tarp spread out on the ground" +" could suffice." msgstr "" #: src/activity_handlers.cpp @@ -177999,8 +183468,8 @@ msgstr "" #. ~ Sound of a Pickaxe at work! #: src/activity_handlers.cpp -msgid "CHNK! CHNK! CHNK!" -msgstr "¡CHNK! ¡CHNK! ¡CHNK!" +msgid "CHNK! CHNK! CHNK!" +msgstr "" #: src/activity_handlers.cpp msgid "You finish digging." @@ -178047,7 +183516,7 @@ msgstr "Metes un cartucho en el/la %s." msgid "You refill the %s." msgstr "Has rellenado el %s." -#: src/activity_handlers.cpp +#: src/activity_handlers.cpp src/bionics.cpp msgid "There's nothing to light there." msgstr "Ahí no hay nada para prender fuego." @@ -178065,6 +183534,16 @@ msgstr "" "Ahora no hay suficiente luz solar para encender un fuego. Dejás de " "intentarlo." +#: src/activity_handlers.cpp +#, c-format +msgid "You learn a little about the spell : %s" +msgstr "" + +#: src/activity_handlers.cpp src/character_martial_arts.cpp +#, c-format +msgid "You learn %s." +msgstr "Aprendiste %s." + #: src/activity_handlers.cpp #, c-format msgid "You finish training %s to level %d." @@ -178075,11 +183554,6 @@ msgstr "Terminaste de entrenar %s al nivel %d." msgid "You get some training in %s." msgstr "" -#: src/activity_handlers.cpp -#, c-format -msgid "You learn %s." -msgstr "Aprendiste %s." - #: src/activity_handlers.cpp msgid "You've charged the battery completely." msgstr "" @@ -178198,15 +183672,22 @@ msgstr "" msgid "Your %s is already fully repaired." msgstr "" -#: src/activity_handlers.cpp src/player.cpp -#, c-format -msgid "You are currently unable to mend the %s." -msgstr "En este momento, no puedes arreglar el/la %s." +#: src/activity_handlers.cpp +msgid "You defrost the food, but don't heat it up, since you enjoy it cold." +msgstr "" + +#: src/activity_handlers.cpp +msgid "You defrost and heat up the food." +msgstr "" + +#: src/activity_handlers.cpp +msgid "You heat up the food." +msgstr "Calientas la comida." #: src/activity_handlers.cpp #, c-format -msgid "You successfully mended the %s." -msgstr "Pudiste arreglar satisfactoriamente el/la %s." +msgid "You are currently unable to mend the %s." +msgstr "En este momento, no puedes arreglar el/la %s." #: src/activity_handlers.cpp #, c-format @@ -178262,10 +183743,6 @@ msgstr "" msgid "You finish fishing" msgstr "" -#: src/activity_handlers.cpp -msgid "This training is exhausting. Time to rest." -msgstr "" - #: src/activity_handlers.cpp msgid "You finish reading." msgstr "Terminaste de leer." @@ -178276,8 +183753,8 @@ msgstr "Terminaste de esperar." #: src/activity_handlers.cpp #, c-format -msgid "%s finishes with you..." -msgstr "%s termina contigo..." +msgid "%s finishes with you…" +msgstr "" #: src/activity_handlers.cpp msgid "You are bored of waiting, so you stop." @@ -178293,8 +183770,8 @@ msgid "%s finishes chatting with you." msgstr "" #: src/activity_handlers.cpp -msgid "You toss and turn..." -msgstr "Das vueltas en la cama..." +msgid "You toss and turn…" +msgstr "" #: src/activity_handlers.cpp msgid "You have trouble sleeping, keep trying?" @@ -178401,8 +183878,8 @@ msgid "" msgstr "" #: src/activity_handlers.cpp src/player_hardcoded_effects.cpp -msgid "You try to sleep, but can't..." -msgstr "Intentas dormirte pero no puedes..." +msgid "You try to sleep, but can't…" +msgstr "" #: src/activity_handlers.cpp msgid "" @@ -178584,7 +184061,7 @@ msgid "You planted all seeds you could." msgstr "" #: src/activity_handlers.cpp -msgid "Target lost. IFF override failed." +msgid "Target lost. IFF override failed." msgstr "" #: src/activity_handlers.cpp @@ -178603,12 +184080,12 @@ msgid "The %s short circuits as you attempt to reprogram it!" msgstr "¡El %s hace un cortocircuito cuando intentás reprogramarlo!" #: src/activity_handlers.cpp -msgid "...and turns friendly!" -msgstr "...y se convierte en aliado!" +msgid "…and turns friendly!" +msgstr "" #: src/activity_handlers.cpp -msgid "...but the robot refuses to acknowledge you as an ally!" -msgstr "...pero el robot se niega a reconocerte como tu aliado!" +msgid "…but the robot refuses to acknowledge you as an ally!" +msgstr "" #: src/activity_handlers.cpp msgid "The ancient tree spirits answer your call." @@ -178673,7 +184150,7 @@ msgid "It's too dark to read." msgstr "" #: src/activity_handlers.cpp -msgid "...you finally find the memory banks." +msgid "…you finally find the memory banks." msgstr "" #: src/activity_handlers.cpp @@ -178856,6 +184333,10 @@ msgstr "" msgid "The pet has moved somewhere else." msgstr "La mascota se ha ido a otro lugar." +#: src/activity_item_handling.cpp +msgid "Moving cancelled auto-pickup." +msgstr "" + #: src/activity_item_handling.cpp src/npcmove.cpp #, c-format msgid "%1$s picks up a %2$s." @@ -178872,7 +184353,7 @@ msgstr "Cortas el tronco en tablas." #: src/activity_item_handling.cpp #, c-format -msgid "%s can't reach the source tile. Try to sort out loot without a cart." +msgid "%s can't reach the source tile. Try to sort out loot without a cart." msgstr "" #: src/activity_item_handling.cpp @@ -178918,8 +184399,8 @@ msgid "You want some caffeine." msgstr "Quieres un poco de cafeína." #: src/addiction.cpp -msgid "Your hands start shaking... you need it bad!" -msgstr "Te empiezan a temblar las manos... ¡tienes mucha necesidad!" +msgid "Your hands start shaking… you need it bad!" +msgstr "" #: src/addiction.cpp msgid "You could use a drink." @@ -178930,16 +184411,16 @@ msgid "You could use some diazepam." msgstr "Te vendría bien un poco de diazepam." #: src/addiction.cpp -msgid "Your hands start shaking... you need a drink bad!" -msgstr "Te empiezan a temblar las manos... ¡necesitas mucho un trago!" +msgid "Your hands start shaking… you need a drink bad!" +msgstr "" #: src/addiction.cpp -msgid "You're shaking... you need some diazepam!" -msgstr "Estás temblando... ¡necesitas diazepam!" +msgid "You're shaking… you need some diazepam!" +msgstr "" #: src/addiction.cpp -msgid "Your hands start shaking... you need some painkillers." -msgstr "Te empiezan a temblar las manos... necesitas analgésicos." +msgid "Your hands start shaking… you need some painkillers." +msgstr "" #: src/addiction.cpp msgid "You feel anxious. You need your painkillers!" @@ -178950,8 +184431,8 @@ msgid "You feel depressed. Speed would help." msgstr "Te sientes deprimido. Unas anfetaminas ayudarían." #: src/addiction.cpp -msgid "Your hands start shaking... you need a pick-me-up." -msgstr "Te empiezan a temblar las manos... Necesitas un estimulante." +msgid "Your hands start shaking… you need a pick-me-up." +msgstr "" #: src/addiction.cpp msgid "You stop suddenly, feeling bewildered." @@ -178986,8 +184467,8 @@ msgid "You haven't had any mutagen lately." msgstr "No tomaste nada de mútageno últimamente." #: src/addiction.cpp -msgid "You could use some new parts..." -msgstr "Te vendrían bien algunas piezas nuevas..." +msgid "You could use some new parts…" +msgstr "" #: src/addiction.cpp msgid "You daydream about luscious pink berries as big as your fist." @@ -179137,12 +184618,12 @@ msgstr "" "Reducción del movimiento. Depresión. Sistema inmunológico débil. Antojos frecuentes." #: src/addiction.cpp -msgid "Perception - 1; Intelligence - 1; Frequent cravings." -msgstr "Percepción - 1; Inteligencia - 1; Antojos frecuentes." +msgid "Perception - 1; Intelligence - 1; Frequent cravings." +msgstr "" #: src/addiction.cpp -msgid "Perception - 2; Intelligence - 2; Frequent cravings." -msgstr "Percepción - 2; Inteligencia - 2; Antojos frecuentes." +msgid "Perception - 2; Intelligence - 2; Frequent cravings." +msgstr "" #: src/addiction.cpp msgid "" @@ -179328,38 +184809,6 @@ msgstr "lug cant peso vol" msgid "Name (charges)" msgstr "Nombre (Cargas)" -#: src/advanced_inv.cpp -msgid "Not dragging any vehicle!" -msgstr "¡No estás arrastrando ningún vehículo!" - -#: src/advanced_inv.cpp -msgid "No dragged vehicle!" -msgstr "¡Sin vehículo arrastrado!" - -#: src/advanced_inv.cpp -msgid "Invalid container!" -msgstr "¡Contenedor no válido!" - -#: src/advanced_inv.cpp -msgid "All 9 squares" -msgstr "Los 9 espacios" - -#: src/advanced_inv.cpp -msgid " FIRE" -msgstr " FUEGO" - -#: src/advanced_inv.cpp -msgid " DANGER" -msgstr " PELIGRO" - -#: src/advanced_inv.cpp -msgid " TRAP" -msgstr "TRAMPA" - -#: src/advanced_inv.cpp -msgid " WATER" -msgstr "AGUA" - #: src/advanced_inv.cpp #, c-format msgid "[<] page %1$d of %2$d [>]" @@ -179379,8 +184828,8 @@ msgid "[R]eset" msgstr "[R]esetear" #: src/advanced_inv.cpp -msgid "You look at the items, then your clothes, and scratch your head..." -msgstr "Miras los objetos, después miras tu ropa, y te rascás la cabeza..." +msgid "You look at the items, then your clothes, and scratch your head…" +msgstr "" #: src/advanced_inv.cpp msgid "There are no items to be moved!" @@ -179403,8 +184852,8 @@ msgid "Skipping filled buckets to avoid spilling their contents." msgstr "Omite los cubos llenos para evitar que se derrame su contenido." #: src/advanced_inv.cpp -msgid "Sort by... " -msgstr "Ordenar por..." +msgid "Sort by…" +msgstr "" #: src/advanced_inv.cpp msgid "Unsorted (recently added first)" @@ -179471,27 +184920,57 @@ msgstr "" #: src/advanced_inv.cpp #, c-format -msgid "How many do you want to move? [Have %d] (0 to cancel)" -msgstr "¿Cuántos quieres mover? [Tienes %d] (0 para cancelar)" +msgid "How many do you want to move? [Have %d] (0 to cancel)" +msgstr "" #: src/advanced_inv.cpp #, c-format -msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" +msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" msgstr "" -"¡El destino solo puede contener %d! ¿Cuántos quieres mover? [Tienes %d] (0 " -"para cancelar)" #: src/advanced_inv.cpp msgid "The destination is already full!" msgstr "¡El destino ya está lleno!" -#: src/advanced_inv.cpp +#: src/advanced_inv_area.cpp +msgid "Not dragging any vehicle!" +msgstr "¡No estás arrastrando ningún vehículo!" + +#: src/advanced_inv_area.cpp +msgid "No dragged vehicle!" +msgstr "¡Sin vehículo arrastrado!" + +#: src/advanced_inv_area.cpp +msgid "Invalid container!" +msgstr "¡Contenedor no válido!" + +#: src/advanced_inv_area.cpp +msgid "All 9 squares" +msgstr "Los 9 espacios" + +#: src/advanced_inv_area.cpp +msgid " FIRE" +msgstr " FUEGO" + +#: src/advanced_inv_area.cpp +msgid " DANGER" +msgstr " PELIGRO" + +#: src/advanced_inv_area.cpp +msgid " TRAP" +msgstr "TRAMPA" + +#: src/advanced_inv_area.cpp +msgid " WATER" +msgstr "AGUA" + +#: src/advanced_inv_area.cpp msgid "Invalid container" msgstr "Contenedor no válido" #: src/animation.cpp -msgid "Hang on a bit..." -msgstr "Esperá un segundo..." +msgid "Hang on a bit…" +msgstr "" #: src/armor_layers.cpp msgid "in your personal aura" @@ -179623,6 +185102,14 @@ msgstr "Golpe:" msgid "Cut:" msgstr "Corte: " +#: src/armor_layers.cpp +msgid "Acid:" +msgstr "" + +#: src/armor_layers.cpp +msgid "Fire:" +msgstr "" + #: src/armor_layers.cpp msgid "Environmental:" msgstr "Ambiental: " @@ -179691,9 +185178,8 @@ msgstr "Ordenar Ropa" #: src/armor_layers.cpp #, c-format -msgid "Press %s for help. Press %s to change keybindings." +msgid "Press %s for help. Press %s to change keybindings." msgstr "" -"Pulsa %s para ver la ayuda. Pulsa %s para cambiar los atajos del teclado." #: src/armor_layers.cpp msgid "(Innermost)" @@ -179757,26 +185243,12 @@ msgid "" "[%s] to equip a new item.\n" "[%s] to equip a new item at the currently selected position.\n" "[%s] to remove selected armor from oneself.\n" -" \n" +"\n" "[Encumbrance and Warmth] explanation:\n" "The first number is the summed encumbrance from all clothing on that bodypart.\n" "The second number is an additional encumbrance penalty caused by wearing multiple items on one of the bodypart's layers or wearing items outside of other items they would normally be work beneath (e.g. a shirt over a backpack).\n" "The sum of these values is the effective encumbrance value your character has for that bodypart." msgstr "" -"Usá las teclas de cursor o el teclado numérico para moverte por la lista izquierda.\n" -"[%s] elegir ropa para ordenar.\n" -"[%s] / [%s] desplazar lista de la derecha.\n" -"[%s] asignar letra específica a la ropa.\n" -"[%s] cambiar lado del cuerpo en el que está puesto.\n" -"[%s] ordenar ropa de manera lógica.\n" -"[%s] equipar objeto.\n" -"[%s] equipar objeto en el lugar seleccionado.\n" -"[%s] sacarse ropa seleccionada.\n" -" \n" -"[Incomodidad y Abrigo] explicación:\n" -"El primer número es la incomodidad sumada de toda la ropa en esa parte del cuerpo.\n" -"El segundo número es la incomodidad adicional causada por tener varias prendas en la misma capa de la parte del cuerpo, o tener ropa debajo de otra cuando tendría que ir sobre (ej.: una remera por encima de una mochila).\n" -"La suma de estos valores es la incomodidad efectiva que tiene tu personaje en esa parte del cuerpo." #: src/artifact.cpp msgid "smooth sphere" @@ -180323,17 +185795,15 @@ msgstr "%s Sufrimiento" #, c-format msgid "" "The %s is somehow vaguely dissatisfied even though it doesn't want anything." -" Seeing this is a bug!" +" Seeing this is a bug!" msgstr "" #: src/artifact.cpp #, c-format msgid "" -"The %s is satisfied, as it should be because it has no standards. Seeing " +"The %s is satisfied, as it should be because it has no standards. Seeing " "this is a bug!" msgstr "" -"El %s está satisfecho, y debería estarlo porque no tiene ningún requisito. " -"¡Ver esto es un bug!" #: src/artifact.cpp #, c-format @@ -180358,10 +185828,8 @@ msgstr "Apretás tu %s contra tu piel." #: src/artifact.cpp #, c-format msgid "" -"The %s is confused to find you dreaming while awake. Seeing this is a bug!" +"The %s is confused to find you dreaming while awake. Seeing this is a bug!" msgstr "" -"El %s está confundido al verte soñando mientras estás despierto. ¡Ver esto " -"es un bug!" #: src/artifact.cpp #, c-format @@ -180591,14 +186059,14 @@ msgstr "Incluir" #: src/auto_pickup.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" -" \n" +"* is used as a Wildcard. A few Examples:\n" +"\n" "wooden arrow matches the itemname exactly\n" "wooden ar* matches items beginning with wood ar\n" "*rrow matches items ending with rrow\n" "*avy fle*fi*arrow multiple * are allowed\n" "heAVY*woOD*arrOW case insensitive search\n" -" \n" +"\n" "Pickup based on item materials:\n" "m:kevlar matches items made of kevlar\n" "M:copper matches items made purely of copper\n" @@ -180633,9 +186101,8 @@ msgid "Won't display content or suffix matches" msgstr "No se van a mostrar contenidos ni sufijos" #: src/auto_pickup.cpp -msgid "Autopickup is not enabled in the options. Enable it now?" +msgid "Autopickup is not enabled in the options. Enable it now?" msgstr "" -"Auto-recogida no está activado en las opciones. ¿Quieres activarlo ahora?" #: src/auto_pickup.cpp msgid "autopickup configuration" @@ -180671,7 +186138,7 @@ msgstr "¿Para qué sirve estudiar? (¡Tu moral es demasiado baja!)" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. You have %d" +msgid "%s %d needed to understand. You have %d" msgstr "" #: src/avatar.cpp src/iuse.cpp @@ -180697,7 +186164,7 @@ msgstr "¡%s es analfabeto!" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. %s has %d" +msgid "%s %d needed to understand. %s has %d" msgstr "" #: src/avatar.cpp @@ -180722,8 +186189,8 @@ msgstr "¡La moral de %s es demasiado baja!" #: src/avatar.cpp #, c-format -msgid "%s reads aloud..." -msgstr "%s lee en voz alta..." +msgid "%s reads aloud…" +msgstr "" #: src/avatar.cpp #, c-format @@ -180815,8 +186282,8 @@ msgid "Now reading %s, %s to stop early." msgstr "Ahora leyendo %s, %s para detener antes." #: src/avatar.cpp -msgid "You read aloud..." -msgstr "Leés en voz alta..." +msgid "You read aloud…" +msgstr "" #: src/avatar.cpp #, c-format @@ -180841,20 +186308,16 @@ msgstr "%s leen contigo para entretenerse." #: src/avatar.cpp #, c-format msgid "" -"It's difficult for %s to see fine details right now. Reading will take " +"It's difficult for %s to see fine details right now. Reading will take " "longer than usual." msgstr "" -"Es difícil para %s ver los pequeños detalles en este momento. Leer va a " -"llevar más tiempo que lo normal." #: src/avatar.cpp #, c-format msgid "" -"This book is too complex for %s to easily understand. It will take longer to" -" read." +"This book is too complex for %s to easily understand. It will take longer " +"to read." msgstr "" -"Este libro es muy complejo para %s para entenderlo fácilmente. Va a llevar " -"más tiempo leerlo." #: src/avatar.cpp msgid "You are too exhausted to train martial arts." @@ -180935,8 +186398,8 @@ msgstr "%s incrementa su nivel de %s." #: src/avatar.cpp #, c-format -msgid "You learn a little about %s! (%d%%)" -msgstr "¡Aprendés un poco de %s! (%d%%)" +msgid "You learn a little about %s! (%d%%)" +msgstr "" #: src/avatar.cpp #, c-format @@ -180964,8 +186427,8 @@ msgid "Rereading the %s isn't as much fun for %s." msgstr "Releer el %s no es muy divertido para %s." #: src/avatar.cpp -msgid "Maybe you should find something new to read..." -msgstr "Tal vez deberías encontrar algo nuevo para leer..." +msgid "Maybe you should find something new to read…" +msgstr "" #: src/avatar.cpp #, c-format @@ -180999,20 +186462,20 @@ msgid "You train for a while." msgstr "" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through your internal alarm..." -msgstr "Parece que te quedaste dormido/a a pesar de tu alarma interna..." +msgid "It looks like you've slept through your internal alarm…" +msgstr "" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through the alarm..." -msgstr "Parece que te quedaste dormido/a a pesar de la alarma..." +msgid "It looks like you've slept through the alarm…" +msgstr "" #: src/avatar.cpp msgid "You retched, but your stomach is empty." msgstr "Tienes arcadas, pero tu estómago está vacío." #: src/avatar.cpp -msgid "You lost your book! You stop reading." -msgstr "¡Perdiste tu libro! Dejas de leer." +msgid "You lost your book! You stop reading." +msgstr "" #: src/avatar.cpp msgid "Your thick scales get in the way." @@ -181081,9 +186544,69 @@ msgstr "" #: src/avatar.cpp #, c-format -msgid "Are you sure you want to raise %s? %d points available." +msgid "Are you sure you want to raise %s? %d points available." +msgstr "" + +#: src/avatar.cpp +msgid "You set your mech's leg power to a loping fast walk." +msgstr "" + +#: src/avatar.cpp +msgid "You nudge your steed into a steady trot." +msgstr "" + +#: src/avatar.cpp +msgid "You start walking." +msgstr "" + +#: src/avatar.cpp +msgid "You set the power of your mech's leg servos to maximum." +msgstr "" + +#: src/avatar.cpp +msgid "You spur your steed into a gallop." +msgstr "" + +#: src/avatar.cpp +msgid "You start running." +msgstr "Empiezas a correr." + +#: src/avatar.cpp +msgid "Your steed is too tired to go faster." +msgstr "" + +#: src/avatar.cpp +msgid "You need two functional legs to run." +msgstr "" + +#: src/avatar.cpp +msgid "You're too tired to run." +msgstr "Estás muy cansado para correr." + +#: src/avatar.cpp +msgid "You reduce the power of your mech's leg servos to minimum." +msgstr "" + +#: src/avatar.cpp +msgid "You slow your steed to a walk." +msgstr "" + +#: src/avatar.cpp +msgid "You start crouching." +msgstr "" + +#. ~ %1$s: weapon name, %2$s: holster name +#: src/avatar.cpp src/game.cpp +#, c-format +msgctxt "holster" +msgid "Draw %1$s from %2$s?" msgstr "" +#: src/avatar.cpp src/monexamine.cpp +#, c-format +msgid "What to do with your %s?" +msgstr "¿Qué quieres hacer con tu %s?" + #: src/avatar_action.cpp msgid "You can't move while in your shell. Deactivate it to go mobile." msgstr "" @@ -181091,12 +186614,12 @@ msgstr "" "movilizarte." #: src/avatar_action.cpp -msgid "You cannot pull yourself away from the faultline..." -msgstr "No puedes apartarte de la enorme grieta en el suelo..." +msgid "You cannot pull yourself away from the faultline…" +msgstr "" #: src/avatar_action.cpp -msgid "Monster in the way. Auto-move canceled." -msgstr "Hay un monstruo en el medio. Auto-moverse cancelado." +msgid "Monster in the way. Auto-move canceled." +msgstr "" #: src/avatar_action.cpp msgid "Click directly on monster to attack." @@ -181107,8 +186630,8 @@ msgid "Your willpower asserts itself, and so do you!" msgstr "¡Tu voluntad se reafirma a sí misma, y tú haces lo mismo!" #: src/avatar_action.cpp src/handle_action.cpp src/handle_action.cpp -msgid "You're too pacified to strike anything..." -msgstr "Estás demasiado apaciguado como para golpear algo..." +msgid "You're too pacified to strike anything…" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -181189,8 +186712,8 @@ msgstr "¡Te hundes como una piedra!" #: src/avatar_action.cpp #, c-format -msgid "You need to breathe! (%s to surface.)" -msgstr "¡Necesitas respirar! (%s para ir hacia la superficie.)" +msgid "You need to breathe! (%s to surface.)" +msgstr "" #: src/avatar_action.cpp msgid "You need to breathe but you can't swim! Get to dry land, quick!" @@ -181201,7 +186724,7 @@ msgid "You cannot board a vehicle while mounted." msgstr "" #: src/avatar_action.cpp -msgid "No hostile creature in reach. Waiting a turn." +msgid "No hostile creature in reach. Waiting a turn." msgstr "" #: src/avatar_action.cpp @@ -181209,8 +186732,8 @@ msgid "Your eyes steel, and you raise your weapon!" msgstr "¡Tu mirada se endurece, y levantás tu arma!" #: src/avatar_action.cpp -msgid "You can't fire your weapon, it's too heavy..." -msgstr "No puedes disparar tu arma, es demasiado pesada..." +msgid "You can't fire your weapon, it's too heavy…" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -181220,12 +186743,14 @@ msgstr "" "separado." #: src/avatar_action.cpp -msgid "You can no longer fire." +#, c-format +msgid "You can no longer fire your %s." msgstr "" #: src/avatar_action.cpp -msgid "You need a free arm to drive!" -msgstr "¡Necesitas un brazo libre para conducir!" +#, c-format +msgid "You can't use your %s while driving!" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -181233,8 +186758,9 @@ msgid "You need two free hands to fire your %s." msgstr "Necesitas las dos manos libres para poder disparar tu %s." #: src/avatar_action.cpp -msgid "You need to reload!" -msgstr "¡Necesitas recargar!" +#, c-format +msgid "Your %s is empty!" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -181245,18 +186771,18 @@ msgstr "¡Tu %s necesita %i cargas para poder disparar!" #, c-format msgid "" "You need a UPS with at least %d charges or an advanced UPS with at least %d " -"charges to fire that!" +"charges to fire the %s!" msgstr "" -"¡Necesitas un UPS con %d cargas como mínimo o un UPS mejorado con %d cargas " -"como mínimo para poder disparar eso!" #: src/avatar_action.cpp -msgid "Your mech has an empty battery, its weapon will not fire." +#, c-format +msgid "Your mech has an empty battery, its %s will not fire." msgstr "" #: src/avatar_action.cpp +#, c-format msgid "" -"You must stand near acceptable terrain or furniture to use this weapon. A " +"You must stand near acceptable terrain or furniture to use this %s. A " "table, a mound of dirt, a broken window, etc." msgstr "" @@ -181304,8 +186830,8 @@ msgid "You concentrate mightily, and your body obeys!" msgstr "Te concentrás extremadamente, ¡y tu cuerpo obedece!" #: src/avatar_action.cpp -msgid "You can't muster up the effort to throw anything..." -msgstr "No puedes reunir las fuerzas necesarias para tirar nada..." +msgid "You can't muster up the effort to throw anything…" +msgstr "" #: src/ballistics.cpp #, c-format @@ -181491,6 +187017,16 @@ msgstr "Tus %s se desactivan automáticamente." msgid "Your %s automatically turns off." msgstr "Tu %s se desactiva automáticamente." +#: src/bionics.cpp +#, c-format +msgid "Your %s does not have sufficient humidity to function." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency will be reduced." +msgstr "" + #: src/bionics.cpp msgid "You change your mind and turn it off." msgstr "Te arrepientes y lo apagas." @@ -181608,10 +187144,6 @@ msgstr "Resultado del Análisis de Sangre" msgid "No effects." msgstr "Sin efectos." -#: src/bionics.cpp -msgid "There was not enough moisture in the air from which to draw water!" -msgstr "¡No había suficiente humedad en el aire para poder extraer agua!" - #: src/bionics.cpp msgid "Your torsion ratchet locks onto your joints." msgstr "" @@ -181624,10 +187156,6 @@ msgstr "" msgid "Start a fire where?" msgstr "¿Dónde quieres encender un fuego?" -#: src/bionics.cpp src/iexamine.cpp -msgid "You can't light a fire there." -msgstr "No puedes encender un fuego ahí." - #: src/bionics.cpp #, c-format msgid "Your radiation level: %d" @@ -181804,6 +187332,20 @@ msgstr "" msgid "'s %s turns off to not waste fuel." msgstr "" +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, your %s shuts down to preserve" +" your health." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, 's %s shuts down to " +"preserve their health." +msgstr "" + #: src/bionics.cpp #, c-format msgid "Your %s runs out of fuel and turn off." @@ -181832,6 +187374,21 @@ msgstr "Tu %s ha perdido conexión y se está apagando." msgid "You feel your throat open up and air filling your lungs!" msgstr "" +#: src/bionics.cpp +#, c-format +msgid "There is not enough humidity for your %s to function." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency is reduced." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "You are properly hydrated. Your %s chirps happily." +msgstr "" + #: src/bionics.cpp msgid "The removal fails without incident." msgstr "" @@ -181893,9 +187450,8 @@ msgstr " se prepara para la cirugía." #: src/bionics.cpp #, c-format -msgid "A lifetime of augmentation has taught %s a thing or two..." +msgid "A lifetime of augmentation has taught %s a thing or two…" msgstr "" -"Toda una vida con aumentos le ha enseñado a %s alguna que otra cosita..." #: src/bionics.cpp #, c-format @@ -181909,10 +187465,8 @@ msgstr "" #: src/bionics.cpp msgid "" -"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" +"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" msgstr "" -"ADVERTENCIA: ¡Extraer un reactor puede dejar material radiactivo! ¿Seguro " -"que lo quieres extraer?" #: src/bionics.cpp #, c-format @@ -181932,10 +187486,10 @@ msgstr "" msgid "Are you sure you wish to uninstall the selected bionic?" msgstr "" -#: src/bionics.cpp +#: src/bionics.cpp src/game.cpp #, c-format msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " +"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " "anyway?" msgstr "" @@ -182008,10 +187562,8 @@ msgstr "" #, c-format msgid "" "WARNING: %i percent chance of failure that may result in damage, pain, or a " -"faulty installation! Continue anyway?" +"faulty installation! Continue anyway?" msgstr "" -"ADVERTENCIA: ¡%i por ciento de fallo que podría causar daño, dolor o una " -"instalación defectuosa! ¿Continuar?" #. ~ %1$s - name of the bionic to be upgraded (inferior), %2$s - name of the #. upgraded bionic (superior). @@ -182130,10 +187682,30 @@ msgstr "" msgid "Available Fuel: " msgstr "" +#: src/bionics_ui.cpp +msgctxt "decimal separator" +msgid "." +msgstr "." + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: kilojoule" +msgid "kJ" +msgstr "kJ" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: joule" +msgid "J" +msgstr "" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: millijoule" +msgid "mJ" +msgstr "" + #: src/bionics_ui.cpp #, c-format msgid "" -"Bionic Power: %i/%i" +"Bionic Power: %s/%ikJ" msgstr "" #: src/bionics_ui.cpp @@ -182163,22 +187735,22 @@ msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ act" +msgid "%s act" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ deact" +msgid "%s deact" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/turn" +msgid "%s/turn" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/%d turns" +msgid "%s/%d turns" msgstr "" #: src/bionics_ui.cpp src/handle_action.cpp @@ -182226,19 +187798,16 @@ msgstr "No hay biónicos pasivos instalados." #: src/bionics_ui.cpp #, c-format -msgid "%s; enter new letter. Space to clear. Esc to cancel." +msgid "%s; enter new letter. Space to clear. Esc to cancel." msgstr "" #: src/bionics_ui.cpp #, c-format msgid "" -"Invalid bionic letter. Only those characters are valid:\n" +"Invalid bionic letter. Only those characters are valid:\n" "\n" "%s" msgstr "" -"Letra biónica no válida. Solo son válidos estos caracteres:\n" -"\n" -"%s" #: src/bionics_ui.cpp #, c-format @@ -182277,10 +187846,40 @@ msgstr "" msgid "Target armor multiplier" msgstr "Multiplicador armadura enemigo" -#. ~ bash damage +80% of strength +#. ~ %1$s: damage type, %2$s: damage-related bonus name #: src/bonuses.cpp -msgid " of " -msgstr " de " +#, c-format +msgctxt "type of damage" +msgid "%1$s %2$s" +msgstr "%1$s %2$s" + +#. ~ %1$s: bonus name, %2$d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%% of %3$s" +msgstr "" + +#. ~ %1$s: bonus name, %2$d: bonus percentage +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%%" +msgstr "" + +#. ~ %1$s: bonus name, %2$+d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d%% of %3$s" +msgstr "" + +#. ~ %1$s: bonus name, %2$+d: bonus value +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d" +msgstr "" #: src/calendar.cpp msgid "forever" @@ -182571,8 +188170,12 @@ msgstr "に坂索トし荷測のンおク妙免イロコヤ梅棋厚れ表幌" #: src/character.cpp msgctxt "not possessive" -msgid "you" -msgstr "tú" +msgid "You" +msgstr "Tú" + +#: src/character.cpp +msgid "Your" +msgstr "" #: src/character.cpp msgid "your" @@ -182587,6 +188190,63 @@ msgstr "de %s" msgid "armor" msgstr "armadura" +#: src/character.cpp +#, c-format +msgid "You remove the %s's harness." +msgstr "" + +#: src/character.cpp src/game.cpp +msgid "You let go of the grabbed object." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You climb on the %s." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You hear your %s whir to life." +msgstr "" + +#: src/character.cpp +msgid "You are ejected from your mech!" +msgstr "" + +#: src/character.cpp +msgid " is ejected from their mech!" +msgstr "" + +#: src/character.cpp +msgid "You fall off your mount!" +msgstr "" + +#: src/character.cpp +msgid " falls off their mount!" +msgstr "" + +#: src/character.cpp src/trapfunc.cpp +msgid "You hurt yourself!" +msgstr "¡Te lastimas!" + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Fell off a mount." +msgstr "" + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Fell off a mount." +msgstr "" + +#: src/character.cpp +msgid "Dismount where?" +msgstr "" + +#: src/character.cpp +msgid "You cannot dismount there!" +msgstr "" + #: src/character.cpp msgid "You struggle to stand." msgstr "Te cuesta estar parado." @@ -182774,6 +188434,11 @@ msgstr " necesita al menos %1$s para usar %2$s con su %3$s." msgid "Liquid from your inventory has leaked onto the ground." msgstr "" +#: src/character.cpp +#, c-format +msgid "Your current health value is %d." +msgstr "Tu actual valor de salud es %d. " + #: src/character.cpp msgid "Parched" msgstr "Muerto de sed" @@ -182843,6 +188508,78 @@ msgstr "" msgid "Your %s bionic shorts out!" msgstr "" +#: src/character.cpp +#, c-format +msgid "Your %s will be frostnipped in the next few hours." +msgstr "Tu %s será quemado/a por el frío en las próximas horas." + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten within the hour!" +msgstr "¡Tu %s se te congelará en menos de una hora!" + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten any minute now!" +msgstr "¡Tu %s se te congelará en cualquier momento!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s beginning to go numb from the cold!" +msgstr "¡Sientes tu %s comenzando a entumecerse por el frío!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very cold." +msgstr "Sientes que tu %s se está enfriando mucho." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting chilly." +msgstr "Sientes que tu %s se está helando." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting red hot from the heat!" +msgstr "¡Sientes tu %s ardiendo del calor!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very hot." +msgstr "Sientes que tu %s se está poniendo muy caliente." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting warm." +msgstr "Sientes que tu %s se está calentando." + +#: src/character.cpp +#, c-format +msgid "The wind is making your %s feel quite cold." +msgstr "El viento hace que tu %s se sienta bastante frío/a." + +#: src/character.cpp +#, c-format +msgid "" +"The wind is very strong, you should find some more wind-resistant clothing " +"for your %s." +msgstr "" +"El viento es muy fuerte, deberías conseguir abrigo un poco más resistente al" +" viento para tu %s." + +#: src/character.cpp +#, c-format +msgid "" +"Your clothing is not providing enough protection from the wind for your %s!" +msgstr "" +"¡Tu ropa no te brinda protección suficiente contra el viento para tu %s!" + #: src/character.cpp msgid "Left Arm" msgstr "Brazo Izq." @@ -182860,8 +188597,8 @@ msgid "Right Leg" msgstr "Pierna Der." #: src/character.cpp -msgid "It is broken. It needs a splint or surgical attention." -msgstr "Está roto/a. Necesita entablillarlo/a o atención médica." +msgid "It is broken. It needs a splint or surgical attention." +msgstr "" #: src/character.cpp #, c-format @@ -182906,10 +188643,8 @@ msgstr "Esto no va a ayudar a limpiar la herida." #: src/character.cpp msgid "" -"It has a deep wound that looks infected. Antibiotics might be required." +"It has a deep wound that looks infected. Antibiotics might be required." msgstr "" -"Tiene una herida profunda que parece infectada. Pueden ser necesarios " -"antibióticos." #: src/character.cpp #, c-format @@ -183009,8 +188744,8 @@ msgstr "" msgid "Big" msgstr "" -#: src/character.cpp src/color.cpp src/color.cpp src/options.cpp -#: src/panels.cpp +#: src/character.cpp src/character_martial_arts.cpp src/color.cpp +#: src/options.cpp msgid "Normal" msgstr "Normal" @@ -183114,6 +188849,32 @@ msgstr "" msgid "EXTRA_EXERCISE" msgstr "" +#: src/character.cpp +msgid "Your body strains under the weight!" +msgstr "¡Tu cuerpo se esfuerza en mantener tanto peso!" + +#: src/character.cpp +#, c-format +msgid "Your %s needs %d charge from some UPS." +msgid_plural "Your %s needs %d charges from some UPS." +msgstr[0] "Tu %s necesita %d carga de algún UPS." +msgstr[1] "Tu %s necesita %d cargas de algún UPS." + +#: src/character.cpp +#, c-format +msgid "Your %s has %d charge but needs %d." +msgid_plural "Your %s has %d charges but needs %d." +msgstr[0] "Tu %s tiene %d carga pero necesita %d." +msgstr[1] "Tu %s tiene %d cargas pero necesita %d." + +#: src/character.cpp +msgid "You cough heavily." +msgstr "Toses fuertemente." + +#: src/character.cpp +msgid "a hacking cough." +msgstr "una tos seca." + #: src/character.cpp msgid "You try to shout but you have no face!" msgstr "" @@ -183191,6 +188952,125 @@ msgctxt "fake stat there's an error" msgid "ERR" msgstr "" +#. ~ %s is armor name +#: src/character.cpp +#, c-format +msgctxt "memorial_male" +msgid "Worn %s was completely destroyed." +msgstr "El %s puesto ha sido completamente destruido." + +#: src/character.cpp +#, c-format +msgctxt "memorial_female" +msgid "Worn %s was completely destroyed." +msgstr "El %s puesto ha sido completamente destruido." + +#: src/character.cpp +#, c-format +msgid "Your %s is completely destroyed!" +msgstr "¡Tu %s es destruido completamente!" + +#: src/character.cpp +#, c-format +msgid "'s %s is completely destroyed!" +msgstr "¡El %s de es destruido completamente!" + +#: src/character.cpp src/veh_interact.cpp +msgid "destroyed" +msgstr "destruido" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s further!" +msgstr "¡Tu %1$s es %2$s aún más!" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s!" +msgstr "¡Tu %1$s es %2$s!" + +#: src/character.cpp +#, c-format +msgid "You were attacked by %s!" +msgstr "¡Te atacó %s! " + +#: src/character.cpp +msgid "You were hurt!" +msgstr "¡Te lastimaron!" + +#. ~spore-release sound +#. ~ the sound of a fungus releasing spores +#. ~ That spore sound again +#. ~ the sound of a fungus dying +#: src/character.cpp src/monattack.cpp src/monattack.cpp src/mondeath.cpp +msgid "Pouf!" +msgstr "¡Puf!" + +#: src/character.cpp +msgid "You sink your roots into the soil." +msgstr "Hundís tus raíces en la tierra." + +#: src/character.cpp +msgid "You start hauling items along the ground." +msgstr "" + +#: src/character.cpp +msgid "Your hands are not free, which makes hauling slower." +msgstr "" +"Tus manos no están vacías, lo que hace que arrastres cosas mucho más lento." + +#: src/character.cpp +msgid "You stop hauling items." +msgstr "" + +#: src/character.cpp +msgid "You resume your task." +msgstr "Retomas tu tarea." + +#: src/character.cpp +msgid "You nestle your pile of clothes for warmth." +msgstr "Acurrucas la pila de ropa para estar más abrigado." + +#: src/character.cpp +msgid "You use your pile of clothes for warmth." +msgstr "Usas tu pila de ropa para estar más abrigado." + +#: src/character.cpp +#, c-format +msgid "You snuggle your %s to keep warm." +msgstr "Te abrazas a tu %s para mantener la temperatura." + +#: src/character.cpp +#, c-format +msgid "You use your %s to keep warm." +msgstr "Usas tu %s para mantener la temperatura." + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Entered hibernation." +msgstr "Hibernación comenzada." + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Entered hibernation." +msgstr "Hibernación comenzada." + +#: src/character_martial_arts.cpp +#, c-format +msgid "You have learned %s from extensive practice with the CQB Bionic." +msgstr "" +"Has aprendido %s por tu exhaustiva práctica con el Biónico de Pelea en " +"espacios cerrados." + +#: src/character_martial_arts.cpp +#, c-format +msgid "%s to select martial arts style." +msgstr "" + +#: src/character_martial_arts.cpp +msgid "No Style" +msgstr "Sin estilo" + #: src/clzones.cpp msgid "No Auto Pickup" msgstr "No Auto-recogida" @@ -183235,269 +189115,6 @@ msgid "" "this area." msgstr "" -#: src/clzones.cpp -msgid "Loot: Unsorted" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " -"sort items inside. It can overlap with Loot zones of different types." -msgstr "" -"Lugar para dejar las cosas sin orden. Podés usar la acción de zona \"ordenar" -" cosas\" para ordenar los objetos dentro. Se puede sobreponer con otras " -"zonas de cosas." - -#: src/clzones.cpp -msgid "Loot: Food" -msgstr "Cosas: Comida" - -#: src/clzones.cpp -msgid "" -"Destination for comestibles. If more specific food zone is not defined, all " -"food is moved here." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: P.Food" -msgstr "Cosas: P.Comida" - -#: src/clzones.cpp -msgid "" -"Destination for perishable comestibles. Does include perishable drinks if " -"such zone is not specified." -msgstr "" -"Lugar para los comestibles perecederos. Incluye bebidas perecederas si no " -"hay una zona específica para ellas." - -#: src/clzones.cpp -msgid "Loot: Drink" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for drinks. Does include perishable drinks if such zone is not " -"specified." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: P.Drink" -msgstr "Cosas: P.Bebidas" - -#: src/clzones.cpp -msgid "Destination for perishable drinks." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Guns" -msgstr "Cosas: Armas de Fuego" - -#: src/clzones.cpp -msgid "Destination for guns, bows and similar weapons." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Magazines" -msgstr "Cosas: Cargadores" - -#: src/clzones.cpp -msgid "Destination for gun magazines." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Ammo" -msgstr "Cosas: Munición" - -#: src/clzones.cpp -msgid "Destination for ammo." -msgstr "Lugar para la munición." - -#: src/clzones.cpp -msgid "Loot: Weapons" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for melee weapons." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Tools" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for tools." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Clothing" -msgstr "Cosas: Ropa" - -#: src/clzones.cpp -msgid "" -"Destination for clothing. Does include filthy clothing if such zone is not " -"specified." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: F.Clothing" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for filthy clothing." -msgstr "Lugar para la ropa sucia." - -#: src/clzones.cpp -msgid "Loot: Drugs" -msgstr "Cosas: Drogas" - -#: src/clzones.cpp -msgid "Destination for drugs and other medical items." -msgstr "Lugar para drogas y otros objetos médicos." - -#: src/clzones.cpp -msgid "Loot: Books" -msgstr "Cosas: Libros" - -#: src/clzones.cpp -msgid "Destination for books and magazines." -msgstr "Lugar para libros y revistas." - -#: src/clzones.cpp -msgid "Loot: Mods" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for firearm modifications and similar items." -msgstr "Lugar para modificaciones de armas de fuego y similares." - -#: src/clzones.cpp -msgid "Loot: Mutagens" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for mutagens, serums, and purifiers." -msgstr "Lugar para mutágenos, sueros y purificantes." - -#: src/clzones.cpp -msgid "Loot: Bionics" -msgstr "Cosas: Biónicos" - -#: src/clzones.cpp -msgid "Destination for Compact Bionics Modules aka CBMs." -msgstr "Lugar para Módulos Compactos de Biónicos, también conocidos como MCB." - -#: src/clzones.cpp -msgid "Loot: V.Parts" -msgstr "Cosas: Partes de Vehículos" - -#: src/clzones.cpp -msgid "Destination for vehicle parts." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Other" -msgstr "Cosas: Otros" - -#: src/clzones.cpp -msgid "Destination for other miscellaneous items." -msgstr "Lugar para otros objetos varios." - -#: src/clzones.cpp -msgid "Loot: Fuel" -msgstr "Cosas: Combustible" - -#: src/clzones.cpp -msgid "" -"Destination for gasoline, diesel, lamp oil and other substances used as a " -"fuel." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Seeds" -msgstr "Cosas: Semillas" - -#: src/clzones.cpp -msgid "Destination for seeds, stems and similar items." -msgstr "Lugar para semillas, tallos y similares." - -#: src/clzones.cpp -msgid "Loot: Chemical" -msgstr "Cosas: Químicos" - -#: src/clzones.cpp -msgid "Destination for chemicals." -msgstr "Lugar para químicos." - -#: src/clzones.cpp -msgid "Loot: S.Parts" -msgstr "Cosas: S.Partes" - -#: src/clzones.cpp -msgid "Destination for spare parts." -msgstr "Lugar para partes sueltas." - -#: src/clzones.cpp -msgid "Loot: Artifacts" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for artifacts" -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Corpses" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for corpses" -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Armor" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for armor. Does include filthy armor if such zone is not " -"specified." -msgstr "" -"Lugar para armaduras. Incluye armaduras sucias si no hay una zona específica" -" para ella." - -#: src/clzones.cpp -msgid "Loot: F.Armor" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for filthy armor." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Wood" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for firewood and items that can be used as such." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Custom" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for loot with a custom filter that you can modify." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Ignore" -msgstr "Cosas: Ignorar" - -#: src/clzones.cpp -msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." -msgstr "" -"Los objetos dentro de esta zona son ignorados por la acción \"ordenar " -"cosas\"." - #: src/clzones.cpp msgid "Source: Firewood" msgstr "" @@ -183505,7 +189122,7 @@ msgstr "" #: src/clzones.cpp msgid "" "Source for firewood or other flammable materials in this zone may be used to" -" automatically refuel fires. This will be done to maintain light during " +" automatically refuel fires. This will be done to maintain light during " "long-running tasks such as crafting, reading or waiting." msgstr "" @@ -183557,6 +189174,14 @@ msgstr "" msgid "Any vehicles in this area are marked for repair work." msgstr "" +#: src/clzones.cpp +msgid "Vehicle Patrol Zone" +msgstr "" + +#: src/clzones.cpp +msgid "Vehicles with an autopilot will patrol in this zone." +msgstr "" + #: src/clzones.cpp msgid "Basecamp: Food" msgstr "" @@ -183577,11 +189202,11 @@ msgstr "" #: src/clzones.cpp #, c-format -msgid "Loot: Custom : %s" +msgid "Loot: Custom: %s" msgstr "" #: src/clzones.cpp -msgid "Loot: Custom : No Filter" +msgid "Loot: Custom: No Filter" msgstr "" #: src/clzones.cpp @@ -183735,8 +189360,8 @@ msgstr "¡ERROR! ¡Acceso denegado!" #: src/computer.cpp #, c-format -msgid "Logging into %s..." -msgstr "Accediendo a %s..." +msgid "Logging into %s…" +msgstr "" #: src/computer.cpp msgid "Access is temporary blocked for security purposes." @@ -183751,16 +189376,16 @@ msgid "Bypass security?" msgstr "¿Hackear seguridad?" #: src/computer.cpp -msgid "Shutting down... press any key." -msgstr "Apagando... presione una tecla." +msgid "Shutting down… press any key." +msgstr "" #: src/computer.cpp -msgid "Maximum login attempts exceeded. Press any key..." -msgstr "Intentos máximos de acceso excedidos. Presione una tecla..." +msgid "Maximum login attempts exceeded. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Login successful. Press any key..." -msgstr "Acceso completo. Presione una tecla..." +msgid "Login successful. Press any key…" +msgstr "" #: src/computer.cpp msgid "Root Menu" @@ -183783,29 +189408,29 @@ msgid "Choose drive:" msgstr "Elige el disco:" #: src/computer.cpp -msgid "Doors opened. Press any key..." -msgstr "Puertas abiertas. Presione una tecla..." +msgid "Doors opened. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Lock enabled. Press any key..." -msgstr "Cerradura activada. Presione una tecla..." +msgid "Lock enabled. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Lock disabled. Press any key..." -msgstr "Cerradura desactivada. Presione una tecla..." +msgid "Lock disabled. Press any key…" +msgstr "" #. ~ the sound of a church bell ringing #: src/computer.cpp -msgid "Bohm... Bohm... Bohm..." -msgstr "Tolón... Tolón... Tolón..." +msgid "Bohm… Bohm… Bohm…" +msgstr "" #: src/computer.cpp -msgid "Containment shields opened. Press any key..." -msgstr "Escudos de contención abiertos. Presione una tecla..." +msgid "Containment shields opened. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Subjects terminated. Press any key..." -msgstr "Sujetos eliminados. Presione una tecla..." +msgid "Subjects terminated. Press any key…" +msgstr "" #: src/computer.cpp msgid "WARNING: Resonance cascade carries severe risk! Continue?" @@ -183817,41 +189442,35 @@ msgid "No data found." msgstr "No se encontraron datos." #: src/computer.cpp -msgid "Local data-access error logged, alerting helpdesk. Press any key..." +msgid "Local data-access error logged, alerting helpdesk. Press any key…" msgstr "" -"Error de acceso a los datos locales, alertando al soporte técnico. Presione " -"una tecla..." #: src/computer.cpp msgid "" -"Warning: anomalous archive-access activity detected at this node. Press any " -"key..." +"Warning: anomalous archive-access activity detected at this node. Press any" +" key…" msgstr "" -"Advertencia: se detectó actividad anómala de acceso al archivo en este nodo." -" Presione una tecla..." #: src/computer.cpp -msgid "Warning: resticted data access. Attempt logged. Press any key..." +msgid "Warning: resticted data access. Attempt logged. Press any key…" msgstr "" #: src/computer.cpp -msgid "Press any key..." -msgstr "Presione una tecla..." +msgid "Press any key…" +msgstr "" #: src/computer.cpp msgid "" "Surface map data downloaded. Local anomalous-access error logged. Press " -"any key..." +"any key…" msgstr "" -"Datos de mapa de superficie descargados. Error de acceso a las anomalías " -"locales. Presione una tecla..." #: src/computer.cpp -msgid "Sewage map data downloaded. Press any key..." -msgstr "Datos de mapa de cloacas descargados. Presione una tecla..." +msgid "Sewage map data downloaded. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Subway map data downloaded. Press any key..." +msgid "Subway map data downloaded. Press any key…" msgstr "" #: src/computer.cpp @@ -183888,14 +189507,14 @@ msgstr "Acceso a biónicos - Manifiesto:" #: src/computer.cpp #, c-format -msgid "%d OTHER FOUND..." -msgid_plural "%d OTHERS FOUND..." -msgstr[0] "%d OTRO ENCONTRADO..." -msgstr[1] "%d OTROS ENCONTRADOS..." +msgid "%d OTHER FOUND…" +msgid_plural "%d OTHERS FOUND…" +msgstr[0] "" +msgstr[1] "" #: src/computer.cpp -msgid "Elevator activated. Press any key..." -msgstr "Ascensor activado. Presione una tecla..." +msgid "Elevator activated. Press any key…" +msgstr "" #: src/computer.cpp #, c-format @@ -183918,8 +189537,8 @@ msgid "" msgstr "" #: src/computer.cpp -msgid "FILE CORRUPTED, PRESS ANY KEY..." -msgstr "ARCHIVO DAÑADO, PRESIONE UNA TECLA..." +msgid "FILE CORRUPTED, PRESS ANY KEY…" +msgstr "" #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -183934,12 +189553,12 @@ msgid "ACCESS DENIED" msgstr "ACCESO DENEGADO" #: src/computer.cpp -msgid "Repeater mod installed..." -msgstr "Repetidor instalado..." +msgid "Repeater mod installed…" +msgstr "" #: src/computer.cpp -msgid "You do not have a repeater mod to install..." -msgstr "No tienes una modificación de repetidor para instalar..." +msgid "You do not have a repeater mod to install…" +msgstr "" #: src/computer.cpp msgid "Computer couldn't find its mission!" @@ -183970,17 +189589,16 @@ msgid "ERROR: Please only use blood samples." msgstr "ERROR: Por favor, usar solo muestras de sangre." #: src/computer.cpp -msgid "Result: Human blood, no pathogens found." -msgstr "Resultado: Sangre humana, no se encontraron patógenos." +msgid "Result: Human blood, no pathogens found." +msgstr "" #: src/computer.cpp -msgid "Result: Human blood. Unknown pathogen found." -msgstr "Resultado: Sangre humana. Patógeno desconocido encontrado." +msgid "Result: Human blood. Unknown pathogen found." +msgstr "" #: src/computer.cpp -msgid "Result: Unknown blood type. Unknown pathogen found." +msgid "Result: Unknown blood type. Unknown pathogen found." msgstr "" -"Resultado: Tipo de sangre desconocido. Patógeno desconocido encontrado." #: src/computer.cpp msgid "Pathogen bonded to erythrocytes and leukocytes." @@ -184016,71 +189634,54 @@ msgstr "ERROR: Memoria vacía." #: src/computer.cpp msgid "" -"Memory Bank: Military Hexron Encryption\n" +"Memory Bank: Military Hexron Encryption\n" "Printing Transcript\n" msgstr "" -"Memoria: Codificación Hexron Militar\n" -"Imprimiendo Transcripción\n" #: src/computer.cpp msgid "" -"Memory Bank: Unencrypted\n" +"Memory Bank: Unencrypted\n" "Nothing of interest.\n" msgstr "" -"Memoria: Sin codificación\n" -"Nada interesante.\n" #: src/computer.cpp msgid "" "\n" -"ERROR: NETWORK DISCONNECT \n" +"ERROR: NETWORK DISCONNECT\n" "UNABLE TO REACH NETWORK ROUTER OR PROXY. PLEASE CONTACT YOUR\n" "SYSTEM ADMINISTRATOR TO RESOLVE THIS ISSUE.\n" " \n" msgstr "" -"\n" -"ERROR: DESCONEXIÓN DE RED\n" -"NO SE PUDO CONECTAR CON EL ROUTER DE LA RED O EL PROXY. POR FAVOR,\n" -"COMUNÍQUESE CON EL ADMINISTRADOR DEL SISTEMA PARA RESOLVER\n" -"EL PROBLEMA.\n" #: src/computer.cpp -msgid "Press any key to continue..." -msgstr "Presione una tecla para continuar..." +msgid "Press any key to continue…" +msgstr "" #: src/computer.cpp msgid "" -"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF \n" -"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU \n" -"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW. \n" +"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF\n" +"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU\n" +"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW.\n" "\n" -"1. DO NOT PANIC. \n" -"2. REMAIN INSIDE THE BUILDING. \n" -"3. SEEK SHELTER IN THE BASEMENT. \n" -"4. USE PROVIDED GAS MASKS. \n" -"5. AWAIT FURTHER INSTRUCTIONS. \n" +"1. DO NOT PANIC.\n" +"2. REMAIN INSIDE THE BUILDING.\n" +"3. SEEK SHELTER IN THE BASEMENT.\n" +"4. USE PROVIDED GAS MASKS.\n" +"5. AWAIT FURTHER INSTRUCTIONS.\n" "\n" " \n" msgstr "" #: src/computer.cpp msgid "" -" WARNING, RADIO TOWER IS UNRESPONSIVE. \n" +" WARNING, RADIO TOWER IS UNRESPONSIVE.\n" " \n" -" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS. \n" -" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD \n" -" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED. \n" +" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS.\n" +" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD\n" +" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED.\n" " \n" " \n" msgstr "" -"ADVERTENCIA, LA TORRE DE RADIO NO RESPONDE.\n" -"\n" -"LA ENERGÍA DE RESPALDO NO ES SUFICIENTE PARA LOGRAR UNA TRANSMISIÓN.\n" -"SI SE TRATA DE UNA EMERGENCIA, COMUNÍQUESE CON LAS UNIDADES DE LA\n" -"GUARDIA NACIONAL LOCAL PARA OBTENER PRIORIDAD CUANDO SE\n" -"REPARTAN LOS GENERADORES.\n" -"\n" -"\n" #: src/computer.cpp msgid "Charges Detonated" @@ -184120,7 +189721,7 @@ msgid "WARNING [409]: Primary sensors offline!" msgstr "" #: src/computer.cpp -msgid " >> Initialize secondary sensors: Geiger profiling..." +msgid " >> Initialize secondary sensors: Geiger profiling…" msgstr "" #: src/computer.cpp @@ -184128,7 +189729,7 @@ msgid " >> Radiation spike detected!\n" msgstr "" #: src/computer.cpp -msgid "WARNING [912]: Catastrophic malfunction! Contamination detected! " +msgid "WARNING [912]: Catastrophic malfunction! Contamination detected!" msgstr "" #: src/computer.cpp @@ -184136,11 +189737,11 @@ msgid "EMERGENCY PROCEDURE [1]: Evacuate. Evacuate. Evacuate.\n" msgstr "" #: src/computer.cpp -msgid "EMERGENCY SHUTDOWN! Press any key..." +msgid "EMERGENCY SHUTDOWN! Press any key…" msgstr "" #: src/computer.cpp -msgid "PROCESSING... CYCLE COMPLETE." +msgid "PROCESSING… CYCLE COMPLETE." msgstr "" #: src/computer.cpp @@ -184150,7 +189751,7 @@ msgstr "" #: src/computer.cpp msgid "" -"CRITICAL ERROR... RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " +"CRITICAL ERROR… RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " "RP_M_01_rev.03." msgstr "" @@ -184160,22 +189761,22 @@ msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... AVG %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… AVG %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... MAX %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… MAX %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ CONSOLE: .... %s mSv/h." +msgid "GEIGER COUNTER @ CONSOLE:… %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "PERSONAL DOSIMETRY: .... %s mSv." +msgid "PERSONAL DOSIMETRY:… %s mSv." msgstr "" #: src/computer.cpp @@ -184199,11 +189800,11 @@ msgid "No items detected at: LOADING BAY." msgstr "" #: src/computer.cpp -msgid "Conveyor belt cycle complete. Press any key..." +msgid "Conveyor belt cycle complete. Press any key…" msgstr "" #: src/computer.cpp -msgid "Toggling shutters. Press any key..." +msgid "Toggling shutters. Press any key…" msgstr "" #: src/computer.cpp @@ -184211,15 +189812,15 @@ msgid "Operation irreversible. Extract radioactive material?" msgstr "" #: src/computer.cpp -msgid "Extraction sequence complete... Press any key." +msgid "Extraction sequence complete… Press any key." msgstr "" #: src/computer.cpp -msgid "ERROR! Radiation platform unresponsive... Press any key." +msgid "ERROR! Radiation platform unresponsive… Press any key." msgstr "" #: src/computer.cpp -msgid "Initiating POWER-DIAG ver.2.34 ..." +msgid "Initiating POWER-DIAG ver.2.34…" msgstr "" #: src/computer.cpp @@ -184240,13 +189841,13 @@ msgstr "" #: src/computer.cpp #, c-format -msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." +msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." msgstr "" #: src/computer.cpp #, c-format msgid "" -"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " +"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " "DETECTED." msgstr "" @@ -184255,7 +189856,7 @@ msgid "Backup power status: STANDBY MODE." msgstr "" #: src/computer.cpp -msgid "Backup power status: OFFLINE. Reason: UNKNOWN" +msgid "Backup power status: OFFLINE. Reason: UNKNOWN" msgstr "" #: src/computer.cpp @@ -184315,7 +189916,7 @@ msgid "ERROR: Data bank destroyed." msgstr "ERROR: Datos destruidos." #: src/computer.cpp -msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT ... " +msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT…" msgstr "" #. ~555-0164 is a fake phone number in the US, please replace it with a number @@ -184324,15 +189925,15 @@ msgstr "" #, c-format msgid "" "\n" -"REFUGEE CENTER FOUND! LOCATION: %d %s\n" +"REFUGEE CENTER FOUND! LOCATION: %d %s\n" "\n" -"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT \n" -"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE. \n" -"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND \n" -"4PM AT 555-0164. \n" +"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT\n" +"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE.\n" +"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND\n" +"4PM AT 555-0164.\n" "\n" "IF YOU WOULD LIKE TO SPEAK WITH SOMEONE IN PERSON OR WOULD LIKE\n" -"TO WRITE US A LETTER PLEASE SEND IT TO...\n" +"TO WRITE US A LETTER PLEASE SEND IT TO…\n" msgstr "" #: src/construction.cpp @@ -184425,13 +190026,13 @@ msgstr "" #: src/construction.cpp #, c-format -msgid "%s assists you with the work..." -msgstr "%s te ayuda con el trabajo..." +msgid "%s assists you with the work…" +msgstr "" #: src/construction.cpp #, c-format -msgid "%s watches you work..." -msgstr "%s te mira mientras trabajas..." +msgid "%s watches you work…" +msgstr "" #: src/construction.cpp #, c-format @@ -184492,8 +190093,8 @@ msgid "That %s can not be dissasembled, since there is furniture above it." msgstr "" #: src/construction.cpp -msgid "The rock feels much warmer than normal. Proceed?" -msgstr "La piedra se siente mucho más cálida que lo normal. ¿Continuar?" +msgid "The rock feels much warmer than normal. Proceed?" +msgstr "" #: src/construction.cpp msgid "You just tunneled into lava!" @@ -184663,23 +190264,19 @@ msgstr "¿Consumes tu %s en serio?" #: src/consumption.cpp msgid "" "You've begun stockpiling calories and liquid for hibernation. You get the " -"feeling that you should prepare for bed, just in case, but...you're hungry " +"feeling that you should prepare for bed, just in case, but… you're hungry " "again, and you could eat a whole week's worth of food RIGHT NOW." msgstr "" -"Empezaste a guardar calorías y líquido para la hibernación. Tienes la " -"sensación de que te tendrías que preparar para dormir, por las dudas, " -"pero... tienes hambre otra vez, y podrías comer lo de una semana entera " -"AHORA MISMO." #: src/consumption.cpp #, c-format -msgid "Ick, this %s doesn't taste so good..." -msgstr "Asco, este/a %s no tiene muy buen gusto..." +msgid "Ick, this %s doesn't taste so good…" +msgstr "" #: src/consumption.cpp #, c-format -msgid "Mmm, this %s tastes delicious..." -msgstr "Mmm, este/a %s es delicioso/a..." +msgid "Mmm, this %s tastes delicious…" +msgstr "" #: src/consumption.cpp #, c-format @@ -184693,8 +190290,8 @@ msgstr "Te incorporás tu %s." #: src/consumption.cpp #, c-format -msgid "Ick, this %s (rotten) doesn't taste so good..." -msgstr "Asco, este/a %s (podrido/a) no tiene muy buen gusto..." +msgid "Ick, this %s (rotten) doesn't taste so good…" +msgstr "" #: src/consumption.cpp #, c-format @@ -184749,8 +190346,8 @@ msgid "You greedily devour the taboo meat." msgstr "Devorás con voracidad la carne tabú." #: src/consumption.cpp -msgid "Meh. You've eaten worse." -msgstr "Bah. Has comido cosas peores." +msgid "Meh. You've eaten worse." +msgstr "" #: src/consumption.cpp msgid "" @@ -184778,8 +190375,8 @@ msgid "You can't taste much of anything with this flu." msgstr "" #: src/consumption.cpp -msgid "Yuck! How can anybody eat this stuff?" -msgstr "¡Puaj! ¿Cómo puede ser que alguien coma esto?" +msgid "Yuck! How can anybody eat this stuff?" +msgstr "" #: src/consumption.cpp msgid "Mmm, junk food." @@ -184790,7 +190387,7 @@ msgid "When life's got you down, there's always sugar." msgstr "Cuando la vida te trata mal, siempre te queda el azúcar." #: src/consumption.cpp -msgid "They may do what they must... you've already won." +msgid "They may do what they must… you've already won." msgstr "" #: src/consumption.cpp @@ -184826,7 +190423,7 @@ msgid "They're coming to get you." msgstr "" #: src/consumption.cpp -msgid "This might've been a bad idea..." +msgid "This might've been a bad idea…" msgstr "" #: src/consumption.cpp @@ -184834,7 +190431,7 @@ msgid "You've really done it this time, haven't you?" msgstr "" #: src/consumption.cpp -msgid "You have to stay vigilant. They're always watching..." +msgid "You have to stay vigilant. They're always watching…" msgstr "" #: src/consumption.cpp @@ -184854,7 +190451,7 @@ msgid "Something is twitching at the edge of your vision." msgstr "" #: src/consumption.cpp -msgid "They know what you've done..." +msgid "They know what you've done…" msgstr "" #: src/consumption.cpp @@ -184866,22 +190463,19 @@ msgid "You gorge yourself, preparing to hibernate." msgstr "Te atiborrás de comida, preparándote para hibernar." #: src/consumption.cpp -msgid "You feel stocked for a day or two. Got your bed all ready and secured?" +msgid "" +"You feel stocked for a day or two. Got your bed all ready and secured?" msgstr "" -"Te sientes lleno como para un día o dos. ¿Ya tienes tu cama preparada y " -"protegida?" #: src/consumption.cpp msgid "" -"Mmm. You can still fit some more in...but maybe you should get comfortable " +"Mmm. You can still fit some more in… but maybe you should get comfortable " "and sleep." msgstr "" -"Mmm. Todavía te entraría algo más... pero mejor que te pongas cómodo y " -"duermas." #: src/consumption.cpp -msgid "That filled a hole! Time for bed..." -msgstr "¡Eso tapó un agujero! Hora de dormir..." +msgid "That filled a hole! Time for bed…" +msgstr "" #: src/consumption.cpp msgid "You feel as though you're going to split open! In a good way?" @@ -184891,8 +190485,8 @@ msgstr "" #. ~slimespawns have *small voices* which may be the Nice equivalent #. ~of the Rat King's ALL CAPS invective. Probably shared-brain telepathy. #: src/consumption.cpp -msgid "hey, you look like me! let's work together!" -msgstr "¡eh, te pareces a mí! ¡vamos a trabajar juntos!" +msgid "hey, you look like me! let's work together!" +msgstr "" #: src/consumption.cpp #, c-format @@ -184904,26 +190498,6 @@ msgstr "Sientes que el/la %s te llena." msgid " looks better after eating the %s." msgstr " se ve mejor después de comerse el/la %s." -#: src/consumption.cpp -msgid "Your internal power storage is fully powered." -msgstr "Tu almacenamiento interno de energía está completamente cargado." - -#: src/consumption.cpp -msgid "'s internal power storage is fully powered." -msgstr "" -"El almacenamiento interno de energía de está completamente " -"cargado." - -#: src/consumption.cpp -#, c-format -msgid "You recharge your battery system with the %s." -msgstr "Recargás tu sistema de batería con el %s." - -#: src/consumption.cpp -#, c-format -msgid " recharges their battery system with the %s." -msgstr " recarga su sistema de batería con el %s." - #: src/consumption.cpp msgid "That is a LOT of plutonium. Are you sure you want that much?" msgstr "" @@ -185028,10 +190602,8 @@ msgid "" msgstr "" #: src/craft_command.cpp -msgid "Some components used previously are missing. Continue?" +msgid "Some components used previously are missing. Continue?" msgstr "" -"Alguno de los componentes que usaste antes, ahora faltan. ¿Quieres " -"continuar?" #: src/craft_command.cpp msgid "Item(s): " @@ -185042,7 +190614,7 @@ msgid "Tool(s): " msgstr "Herramienta(s): " #: src/crafting.cpp -msgid "Your morale is too low to craft such a difficult thing..." +msgid "Your morale is too low to craft such a difficult thing…" msgstr "" #: src/crafting.cpp @@ -185100,7 +190672,7 @@ msgstr "¡Ya no puedes fabricar eso!" #, c-format msgid "" "You don't have anything in which to store %s and may have to pour it out or " -"consume it as soon as it is prepared! Proceed?" +"consume it as soon as it is prepared! Proceed?" msgstr "" #: src/crafting.cpp src/pickup.cpp @@ -185191,23 +190763,23 @@ msgstr "" #: src/crafting.cpp #, c-format -msgid "%s assists with crafting..." -msgstr "%s te ayuda con la fabricación..." +msgid "%s assists with crafting…" +msgstr "" #: src/crafting.cpp #, c-format -msgid "%s could assist you with a batch..." -msgstr "%s podría ayudarte para hacer una tanda..." +msgid "%s could assist you with a batch…" +msgstr "" #: src/crafting.cpp #, c-format -msgid "%s watches you craft..." -msgstr "%s te mira mientras fabricas..." +msgid "%s watches you craft…" +msgstr "" #: src/crafting.cpp #, c-format -msgid "%s helps with crafting..." -msgstr "%s te ayuda con la fabricación..." +msgid "%s helps with crafting…" +msgstr "" #: src/crafting.cpp #, c-format @@ -185478,8 +191050,8 @@ msgstr "" #: src/crafting_gui.cpp #, c-format -msgid "Dark craftable? %s" -msgstr "¿Hacer sin luz? %s" +msgid "Dark craftable? %s" +msgstr "" #: src/crafting_gui.cpp src/defense.cpp msgid "Easy" @@ -185555,7 +191127,7 @@ msgstr "recetas que están memorizadas o no" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" @@ -185765,8 +191337,8 @@ msgid "Friendly" msgstr "Amistoso" #: src/creature.cpp -msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" -msgstr "ERROR: Comportamiento sin nombre. (Creature::get_attitude_ui_data)" +msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" +msgstr "" #: src/damage.cpp msgctxt "damage type" @@ -185819,7 +191391,7 @@ msgid "See %s for a full stack backtrace" msgstr "" #: src/debug.cpp -msgid "An error has occurred! Written below is the error report:" +msgid "An error has occurred! Written below is the error report:" msgstr "" #: src/debug.cpp @@ -185880,7 +191452,7 @@ msgid "Level a spell" msgstr "" #: src/debug_menu.cpp -msgid "Player..." +msgid "Player…" msgstr "" #: src/debug_menu.cpp @@ -185923,10 +191495,18 @@ msgstr "" msgid "Toggle display temperature" msgstr "" +#: src/debug_menu.cpp +msgid "Toggle display vehicle autopilot overlay" +msgstr "" + #: src/debug_menu.cpp msgid "Toggle display visibility" msgstr "" +#: src/debug_menu.cpp +msgid "Toggle display lighting" +msgstr "" + #: src/debug_menu.cpp msgid "Toggle display radiation" msgstr "" @@ -185959,12 +191539,16 @@ msgstr "" msgid "Print faction info to console" msgstr "" +#: src/debug_menu.cpp +msgid "Print NPC magic info to console" +msgstr "" + #: src/debug_menu.cpp msgid "Test weather" msgstr "" #: src/debug_menu.cpp -msgid "Info..." +msgid "Info…" msgstr "" #: src/debug_menu.cpp @@ -185980,7 +191564,7 @@ msgid "Teleport - adjacent overmap" msgstr "" #: src/debug_menu.cpp -msgid "Teleport..." +msgid "Teleport…" msgstr "" #: src/debug_menu.cpp @@ -186008,7 +191592,7 @@ msgid "Spawn clairvoyance artifact" msgstr "" #: src/debug_menu.cpp -msgid "Spawning..." +msgid "Spawning…" msgstr "" #: src/debug_menu.cpp @@ -186052,7 +191636,7 @@ msgid "Spawn map extra" msgstr "" #: src/debug_menu.cpp -msgid "Map..." +msgid "Map…" msgstr "" #: src/debug_menu.cpp @@ -186062,8 +191646,8 @@ msgstr "" #: src/debug_menu.cpp msgid "" "Debug Functions - Using these will cheat not only the game, but yourself.\n" -"You won't grow. You won't improve.\n" -"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" +"You won't grow. You won't improve.\n" +"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" "Nothing will be risked and nothing will be gained." msgstr "" @@ -186090,7 +191674,7 @@ msgstr "¿Dónde está el mapa deseado?" msgid "You teleport to overmap (%d,%d,%d)." msgstr "Te teletransportas al mapa (%d,%d,%d)." -#: src/debug_menu.cpp src/iuse.cpp src/npctrade.cpp +#: src/debug_menu.cpp src/game.cpp src/iuse.cpp src/npctrade.cpp msgid "You" msgstr "Tú" @@ -186238,6 +191822,10 @@ msgstr "Ventana de Estado [@]" msgid "t[e]leport" msgstr "t[e]letransportar" +#: src/debug_menu.cpp +msgid "Give the [f]lu" +msgstr "" + #: src/debug_menu.cpp msgid "Edit [M]issions (WARNING: Unstable!)" msgstr "Editar [M]isiones (PELIGRO: ¡Inestable!)" @@ -186276,7 +191864,7 @@ msgstr "Percepción al máximo" #: src/debug_menu.cpp #, c-format -msgid "Set the stat to? Currently: %d" +msgid "Set the stat to? Currently: %d" msgstr "" #: src/debug_menu.cpp @@ -186305,12 +191893,12 @@ msgstr "Pierna derecha" #: src/debug_menu.cpp #, c-format -msgid "Set the hitpoints to? Currently: %d" +msgid "Set the hitpoints to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set stamina to? Current: %d. Max: %d." +msgid "Set stamina to? Current: %d. Max: %d." msgstr "" #: src/debug_menu.cpp @@ -186319,8 +191907,8 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set the morale to? Currently: %d" -msgstr "¿Establecer moral en? Actualmente: %d" +msgid "Set the morale to? Currently: %d" +msgstr "" #: src/debug_menu.cpp msgid "trust" @@ -186344,27 +191932,27 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set trust to? Currently: %d" +msgid "Set trust to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set fear to? Currently: %d" +msgid "Set fear to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set value to? Currently: %d" +msgid "Set value to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set anger to? Currently: %d" +msgid "Set anger to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set owed to? Currently: %d" +msgid "Set owed to? Currently: %d" msgstr "" #: src/debug_menu.cpp @@ -186374,16 +191962,14 @@ msgstr "Renombrar:" #: src/debug_menu.cpp #, c-format msgid "" -"NPC: \n" +"NPC:\n" "%s\n" msgstr "" -"PNJ: \n" -"%s\n" #: src/debug_menu.cpp #, c-format -msgid "Cause how much pain? pain: %d" -msgstr "¿Cuánto dolor causar? Dolor: %d" +msgid "Cause how much pain? pain: %d" +msgstr "" #: src/debug_menu.cpp msgid "Hunger" @@ -186407,32 +191993,32 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set hunger to? Currently: %d" -msgstr "¿Poner hambre en? Actualmente: %d" +msgid "Set hunger to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set stored kCal to? Currently: %d" +msgid "Set stored kCal to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set thirst to? Currently: %d" +msgid "Set thirst to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set fatigue to? Currently: %d" -msgstr "¿Poner cansancio en? Actualmente: %d" +msgid "Set fatigue to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set sleep deprivation to? Currently: %d" -msgstr "¿Establecer privación de sueño en? Actual: %d" +msgid "Set sleep deprivation to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set %s to? Currently: %d" +msgid "Set %s to? Currently: %d" msgstr "" #: src/debug_menu.cpp src/panels.cpp @@ -186449,8 +192035,8 @@ msgstr "Radiación" #: src/debug_menu.cpp #, c-format -msgid "Set the value to? Currently: %d" -msgstr "¿Poner el valor en? Actualmente: %d" +msgid "Set the value to? Currently: %d" +msgstr "" #: src/debug_menu.cpp msgid "Choose mission type" @@ -186572,8 +192158,8 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Drew %d times in %.3f seconds. (%.3f fps average)" -msgstr "Dibujó %d veces en %.3f segundos. (%.3f promedio de fps)" +msgid "Drew %d times in %.3f seconds. (%.3f fps average)" +msgstr "" #: src/debug_menu.cpp msgid "Current overmap revealed." @@ -186723,8 +192309,8 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Damage self for how much? hp: %d" -msgstr "¿Cuánto daño te quieres causar? pv: %d" +msgid "Damage self for how much? hp: %d" +msgstr "" #: src/debug_menu.cpp msgid "This binary was not compiled with tiles support." @@ -186761,8 +192347,8 @@ msgid "Set year to?" msgstr "¿Establecer año en?" #: src/debug_menu.cpp -msgid "Set season to? (0 = spring)" -msgstr "¿Establecer estación en? (0 = primavera)" +msgid "Set season to? (0 = spring)" +msgstr "" #: src/debug_menu.cpp msgid "Set days to?" @@ -186778,8 +192364,8 @@ msgstr "¿Establecer minuto en?" #: src/debug_menu.cpp #, c-format -msgid "Set turn to? (One day is %i turns)" -msgstr "¿Establecer turno en? (Un día son %i turnos)" +msgid "Set turn to? (One day is %i turns)" +msgstr "" #: src/debug_menu.cpp msgid "Enter benchmark length (in milliseconds):" @@ -186787,7 +192373,7 @@ msgstr "" #: src/debug_menu.cpp msgid "" -"Quit without saving? This may cause issues such as duplicated or missing " +"Quit without saving? This may cause issues such as duplicated or missing " "items and vehicles!" msgstr "" @@ -186826,10 +192412,12 @@ msgstr "" msgid "Spell" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "LVL" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "MAX" msgstr "" @@ -186854,8 +192442,8 @@ msgid "Please wait as the map generates [ 0%% ]" msgstr "Por favor, esperá que se genere el mapa [ 0%% ]" #: src/defense.cpp -msgid "A caravan approaches! Press spacebar..." -msgstr "¡Se acerca una caravana! Pulsa la barra espaciadora..." +msgid "A caravan approaches! Press spacebar…" +msgstr "" #: src/defense.cpp msgid "You don't need to sleep!" @@ -187217,8 +192805,8 @@ msgstr "¡%s del infierno!" #: src/defense.cpp #, c-format -msgid "Beware! %s!" -msgstr "¡Cuidado! ¡%s!" +msgid "Beware! %s!" +msgstr "" #: src/defense.cpp #, c-format @@ -187411,8 +192999,8 @@ msgstr "trampa: %s (%d)" #: src/editmap.cpp src/game.cpp #, c-format -msgid "There is a %s there. Parts:" -msgstr "Hay %s ahí. Piezas:" +msgid "There is a %s there. Parts:" +msgstr "" #: src/editmap.cpp #, c-format @@ -187656,11 +193244,9 @@ msgstr "Sello de generación de mapa" #: src/effect.cpp msgid "" -"The scariest thing in the world would be... if all the air in the world " -"turned to WOOD!" +"The scariest thing in the world would be… if all the air in the world turned" +" to WOOD!" msgstr "" -"La cosa que más miedo causa en el mundo es... ¡si todo el aire del mundo se " -"convirtiera en MADERA!" #: src/effect.cpp msgid "" @@ -187678,8 +193264,8 @@ msgid "Science is a liar sometimes." msgstr "La ciencia a veces es mentirosa." #: src/effect.cpp -msgid "Science is... wait, what was I talking about again?" -msgstr "La ciencia es... espera, ¿de qué estábamos hablando?" +msgid "Science is… wait, what was I talking about again?" +msgstr "" #: src/effect.cpp msgid "" @@ -187702,10 +193288,8 @@ msgid "She was a hip, hip, hip lady, man." msgstr "Era una tía buena, hombre." #: src/effect.cpp -msgid "You ever see the back of a twenty dollar bill... on weed?" +msgid "You ever see the back of a twenty dollar bill… on weed?" msgstr "" -"¿Alguna vez viste la parte de atrás de un billete de veinte dólares... " -"después de clavarte un porro?" #: src/effect.cpp msgid "" @@ -187720,16 +193304,16 @@ msgid "RED TEAM GO, RED TEAM GO!" msgstr "¡AGUANTE EL EQUIPO ROJO, AGUANTE!" #: src/effect.cpp -msgid "You have a sudden urge to flip your bible open to Genesis 1:29..." -msgstr "De repente, sientes urgencia por abrir tu biblia en Genesis 1:29..." +msgid "You have a sudden urge to flip your bible open to Genesis 1:29…" +msgstr "" #: src/effect.cpp -msgid "That rug really tied the room together..." -msgstr "La verdad que esa alfombra completa muy bien la habitación..." +msgid "That rug really tied the room together…" +msgstr "" #: src/effect.cpp -msgid "I used to do drugs... I still do, but I used to, too." -msgstr "Antes me drogaba... Todavía me drogo, pero antes también." +msgid "I used to do drugs… I still do, but I used to, too." +msgstr "" #: src/effect.cpp msgid "The herb reveals you to yourself." @@ -187737,19 +193321,17 @@ msgstr "La hierba te revela a ti mismo." #: src/effect.cpp msgid "" -"Okay, like, the scariest thing in the world would be... if like you went to " +"Okay, like, the scariest thing in the world would be… if like you went to " "grab something and it wasn't there!" msgstr "" -"Bueno, como, la cosa que más miedo causa en el mundo es... ¡como cuando vas " -"a agarrar una cosa y ya no está!" #: src/effect.cpp msgid "They call them fingers, but I never see them fing." msgstr "Los llaman dedos, pero son más de dos." #: src/effect.cpp -msgid "... oh, there they go." -msgstr "... uh, ahí se van." +msgid "…oh, there they go." +msgstr "" #: src/effect.cpp msgid "" @@ -187790,8 +193372,8 @@ msgid "Oh, sometimes the early-mid-late-early-morning." msgstr "Ah, y a veces temprano a la tarde-noche a mitad de la mañana." #: src/effect.cpp -msgid "...But never at dusk." -msgstr "...pero nunca al anochecer." +msgid "…But never at dusk." +msgstr "" #: src/effect.cpp msgid "Dave's not here, man." @@ -187802,12 +193384,12 @@ msgid "Man, a cheeseburger sounds SO awesome right now." msgstr "Tío, una hamburguesa con queso vendría MUY bien en este momento." #: src/effect.cpp -msgid "Eh... maybe not." -msgstr "Eh... mejor no." +msgid "Eh… maybe not." +msgstr "" #: src/effect.cpp -msgid "I guess, maybe, without the cheese... yeah." -msgstr "Creo que, en una de esas, sin queso... sí." +msgid "I guess, maybe, without the cheese… yeah." +msgstr "" #: src/effect.cpp msgid "Walkin' down the hall, by myself, smokin' a j with fifty elves." @@ -187963,6 +193545,10 @@ msgstr "excelente" msgid "perfect" msgstr "perfecto" +#: src/explosion.cpp +msgid "force of the explosion" +msgstr "" + #: src/explosion.cpp msgid "You're caught in the explosion!" msgstr "¡Estás atrapado por la explosión!" @@ -188315,21 +193901,21 @@ msgid "Press enter to rename this camp" msgstr "" #: src/faction.cpp -msgid "Direction : to the " +msgid "Direction: to the " msgstr "" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d)" +msgid "Location: (%d, %d)" msgstr "" #: src/faction.cpp #, c-format -msgid "Food Supply : %s %d calories" +msgid "Food Supply: %s %d calories" msgstr "" #: src/faction.cpp -msgid "Next Upgrade : " +msgid "Next Upgrade: " msgstr "" #: src/faction.cpp @@ -188342,25 +193928,25 @@ msgid "Press enter to talk to this follower " msgstr "" #: src/faction.cpp -msgid "travelling to : " +msgid "travelling to: " msgstr "" #: src/faction.cpp #, c-format -msgid "travelling to : (%d, %d)" +msgid "travelling to: (%d, %d)" msgstr "" #: src/faction.cpp -msgid "Current Mission : " +msgid "Current Mission: " msgstr "" #: src/faction.cpp -msgid "Direction : Nearby" +msgid "Direction: Nearby" msgstr "" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d), at camp: %s" +msgid "Location: (%d, %d), at camp: %s" msgstr "" #: src/faction.cpp @@ -188392,8 +193978,8 @@ msgid "Within interaction range" msgstr "" #: src/faction.cpp -msgid "Status : " -msgstr "" +msgid "Status: " +msgstr "Estado: " #: src/faction.cpp msgid "In Combat!" @@ -188416,37 +194002,41 @@ msgid "Guarding" msgstr "" #: src/faction.cpp -msgid "Condition : " +msgid "Basecamp job: " msgstr "" #: src/faction.cpp -msgctxt "needs" -msgid "Nominal" +msgid "Condition: " msgstr "" #: src/faction.cpp -msgid "Hunger : " +msgctxt "needs" +msgid "Nominal" msgstr "" #: src/faction.cpp -msgid "Thirst : " +msgid "Hunger: " msgstr "" #: src/faction.cpp -msgid "Fatigue : " +msgid "Thirst: " msgstr "" #: src/faction.cpp -msgid "Wielding : " +msgid "Fatigue: " msgstr "" +#: src/faction.cpp src/player.cpp +msgid "Wielding: " +msgstr "Empuñando: " + #: src/faction.cpp -msgid "Best other skills : " +msgid "Best other skills: " msgstr "" #: src/faction.cpp #, c-format -msgid "Best combat skill : %s : %d" +msgid "Best combat skill: %s: %d" msgstr "" #: src/faction.cpp @@ -188486,23 +194076,31 @@ msgid "Recover Ally from Upgrading" msgstr "" #: src/faction_camp.cpp -msgid "Busy crafting!\n" -msgstr "¡Ocupado fabricando!\n" +msgid "Emergency Recall" +msgstr "" + +#: src/faction_camp.cpp +msgid "Lost in the ether!\n" +msgstr "" #: src/faction_camp.cpp msgid "Craft Item" msgstr "" +#: src/faction_camp.cpp +msgid "Busy crafting!\n" +msgstr "¡Ocupado fabricando!\n" + #: src/faction_camp.cpp msgid " (Finish) Crafting" msgstr " (Terminar) Fabricación" #: src/faction_camp.cpp -msgid "Busy travelling!\n" +msgid "Travelling" msgstr "" #: src/faction_camp.cpp -msgid "Travelling" +msgid "Busy travelling!\n" msgstr "" #: src/faction_camp.cpp @@ -188538,7 +194136,7 @@ msgid "Menial Labor" msgstr "Labores Menores" #: src/faction_camp.cpp -msgid "Performing menial labor...\n" +msgid "Performing menial labor…\n" msgstr "" #: src/faction_camp.cpp @@ -188550,7 +194148,7 @@ msgid "Expand Base" msgstr "Expandir Base" #: src/faction_camp.cpp -msgid "Surveying for expansion...\n" +msgid "Surveying for expansion…\n" msgstr "" #: src/faction_camp.cpp @@ -188562,7 +194160,7 @@ msgid "Cut Logs" msgstr "Cortar Troncos" #: src/faction_camp.cpp -msgid "Cutting logs in the woods...\n" +msgid "Cutting logs in the woods…\n" msgstr "" #: src/faction_camp.cpp @@ -188574,19 +194172,19 @@ msgid "Clear a forest" msgstr "" #: src/faction_camp.cpp -msgid "Clearing a forest...\n" -msgstr "Limpiando bosque...\n" +msgid "Clearing a forest…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Clearcutter" msgstr "" #: src/faction_camp.cpp -msgid "Setting up a hide site...\n" -msgstr "Estableciendo escondite...\n" +msgid "Setup Hide Site" +msgstr "" #: src/faction_camp.cpp -msgid "Setup Hide Site" +msgid "Setting up a hide site…\n" msgstr "" #: src/faction_camp.cpp @@ -188598,7 +194196,7 @@ msgid "Relay Hide Site" msgstr "" #: src/faction_camp.cpp -msgid "Transferring gear to a hide site...\n" +msgid "Transferring gear to a hide site…\n" msgstr "" #: src/faction_camp.cpp @@ -188646,8 +194244,8 @@ msgid "Construct Map Fortifications" msgstr "" #: src/faction_camp.cpp -msgid "Constructing fortifications...\n" -msgstr "Construyendo fortificaciones...\n" +msgid "Constructing fortifications…\n" +msgstr "" #: src/faction_camp.cpp msgid "Finish Map Fortifications" @@ -188706,7 +194304,7 @@ msgid " Chop Shop" msgstr "" #: src/faction_camp.cpp -msgid "Working at the chop shop...\n" +msgid "Working at the chop shop…\n" msgstr "" #: src/faction_camp.cpp @@ -188792,16 +194390,13 @@ msgstr " izquierda]\n" #: src/faction_camp.cpp src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "Do you wish to bring your allies back into your party?" msgstr "" -"\n" -" \n" -"¿Quieres que vuelvan tus compañeros a tu grupo?" #: src/faction_camp.cpp -msgid "You choose to wait..." -msgstr "Elegís esperar..." +msgid "You choose to wait…" +msgstr "" #: src/faction_camp.cpp msgid "You cannot build a camp here." @@ -188818,10 +194413,8 @@ msgstr "" #: src/faction_camp.cpp msgid "" "Warning, you have selected a region with the following issues:\n" -" \n" +"\n" msgstr "" -"Atención, elegiste una región con los siguientes problemas:\n" -" \n" #: src/faction_camp.cpp msgid "There are few forests. Wood is your primary construction material.\n" @@ -188839,8 +194432,8 @@ msgstr "" #: src/faction_camp.cpp #, c-format msgid "" -"%s \n" -"Are you sure you wish to continue? " +"%s\n" +"Are you sure you wish to continue?" msgstr "" #: src/faction_camp.cpp @@ -188861,14 +194454,22 @@ msgstr ", Administrador de Campamento" msgid "%s has abandoned the camp." msgstr "" +#: src/faction_camp.cpp +msgid " Expansion" +msgstr " Expansión" + +#: src/faction_camp.cpp +msgid "Recover Ally, " +msgstr "" + #: src/faction_camp.cpp #, c-format msgid "" -"Notes: \n" +"Notes:\n" "Send a companion to gather materials for the next camp upgrade.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "%s\n" "Risk: Very Low\n" @@ -188876,56 +194477,19 @@ msgid "" "Positions: %d/3\n" msgstr "" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" -"Effects:\n" -"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" -" \n" -"Must have enjoyability >= -6\n" -"Perishable food liquidated at penalty depending on upgrades and rot time:\n" -"> Rotten: 0%%\n" -"> Rots in < 2 days: 60%%\n" -"> Rots in < 5 days: 80%%\n" -" \n" -"Total faction food stock: %d kcal\n" -"or %d day's rations" -msgstr "" - -#: src/faction_camp.cpp -msgid "Distribute Food" -msgstr "Distribuir Comida" - -#: src/faction_camp.cpp -msgid "" -"Notes:\n" -"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" -" \n" -"Effects:\n" -"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" -"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" -"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." -msgstr "" - -#: src/faction_camp.cpp -msgid "Reset Sort Points" -msgstr "Resetear Puntos de Orden" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to gather light brush and heavy sticks.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "> heavy sticks\n" "> withered plants\n" "> splintered wood\n" -" \n" +"\n" "Risk: Very Low\n" "Time: 3 Hours, Repeated\n" "Positions: %d/3\n" @@ -188936,9 +194500,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to do low level chores and sort supplies.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Effects:\n" "> Material left in the unsorted loot zone will be sorted into a defined loot zone.\n" "\n" @@ -188947,31 +194511,14 @@ msgid "" "Positions: %d/1\n" msgstr "" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" -" \n" -"Skill used: N/A \n" -"Effects:\n" -"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal. \n" -" \n" -"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window. \n" -" \n" -"Risk: None\n" -"Time: 3 Hours \n" -"Positions: %d/1\n" -msgstr "" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to a nearby forest to cut logs.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 50%% of trees/trunks at the forest position will be cut down.\n" "> 100%% of total material will be brought back.\n" @@ -188987,15 +194534,15 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to a clear a nearby forest.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 95%% of trees/trunks at the forest position will be cut down.\n" "> 0%% of total material will be brought back.\n" "> Forest should become a field tile.\n" "> Useful for clearing land for another faction camp.\n" -" \n" +"\n" "Risk: None\n" "Time: 6 Hour Base + Travel Time + Cutting Time\n" "Positions: %d/1\n" @@ -189006,14 +194553,14 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to build an improvised shelter and stock it with equipment at a distant map location.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Good for setting up resupply or contingency points.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 6 Hour Construction + Travel\n" "Positions: %d/1\n" @@ -189024,14 +194571,14 @@ msgstr "" msgid "" "Notes:\n" "Push gear out to a hide site or bring gear back from one.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 1\n" "Effects:\n" "> Good for returning equipment you left in the hide site shelter.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward or back.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 1 Hour Base + Travel\n" "Positions: %d/1\n" @@ -189042,9 +194589,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to forage for edible plants.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Foraging Possibilities:\n" "> wild vegetables\n" "> fruits and nuts depending on season\n" @@ -189053,27 +194600,15 @@ msgid "" "Time: 4 Hours, Repeated\n" "Positions: %d/3\n" msgstr "" -"Notas:\n" -"Enviar compañero a buscar plantas comestibles.\n" -" \n" -"Habilidad usada: supervivencia\n" -"Dificultad: N/D \n" -"Posibilidad de Recolección:\n" -"> verduras silvestres\n" -"> frutas y nueces dependiendo la temporada\n" -"¡Puede producir menos comida que la consumida!\n" -"Riesgo: Muy Bajo\n" -"Tiempo: 4 Horas, Repetir\n" -"Posiciones: %d/3\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to set traps for small game.\n" -" \n" +"\n" "Skill used: trapping\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Trapping Possibilities:\n" "> small and tiny animal corpses\n" "May produce less food than consumed!\n" @@ -189087,9 +194622,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to hunt large animals.\n" -" \n" +"\n" "Skill used: marksmanship\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Hunting Possibilities:\n" "> small, medium, or large animal corpses\n" "May produce less food than consumed!\n" @@ -189107,14 +194642,14 @@ msgstr "" msgid "" "Notes:\n" "Send a companion out into the great unknown. High survival skills are needed to avoid combat but you should expect an encounter or two.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Select checkpoints to customize path.\n" "> Reveals terrain around the path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: High\n" "Time: Travel\n" "Positions: %d/3\n" @@ -189125,110 +194660,74 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to purge the wasteland. Their goal is to kill anything hostile they encounter and return when their wounds are too great or the odds are stacked against them.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 4\n" "Effects:\n" "> Pulls creatures encountered into combat instead of fleeing.\n" "> Select checkpoints to customize path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: Very High\n" "Time: Travel\n" "Positions: %d/3\n" msgstr "" -#: src/faction_camp.cpp -msgid " Expansion" -msgstr " Expansión" - -#: src/faction_camp.cpp -msgid "Recover Ally, " -msgstr "" - #: src/faction_camp.cpp msgid "" "Notes:\n" "Have a companion attempt to completely dissemble a vehicle into components.\n" -" \n" +"\n" "Skill used: mechanics\n" "Difficulty: 2 \n" "Effects:\n" "> Removed parts placed on the furniture in the garage.\n" "> Skill plays a huge role to determine what is salvaged.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 days \n" msgstr "" -"Notas:\n" -"Enviar un compañero a intentar desarmar completamente un vehiculo.\n" -" \n" -"Habilidad usada: mecánica\n" -"Dificultad: 2 \n" -"Efectos:\n" -"> Las partes quitadas serán puestas en muebles en el garage.\n" -"> La habilidad determina qué puede ser recuperado.\n" -" \n" -"Riesgo: Ninguno\n" -"Tiempo: 5 días \n" #: src/faction_camp.cpp msgid "" "Notes:\n" "Plow any spaces that have reverted to dirt or grass.\n" -" \n" +"\n" msgstr "" -"Notas:\n" -"Arar cualquier espacio que se haya revertido a tierra o césped.\n" -" \n" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: fabrication\n" "Difficulty: N/A \n" "Effects:\n" "> Restores only the plots created in the last expansion upgrade.\n" "> Does not damage existing crops.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 Min / Plot \n" "Positions: 0/1 \n" msgstr "" -"\n" -" \n" -"Habilidad usada: fabricación\n" -"Dificultad: N/D \n" -"Efectos:\n" -"> Recupera solo los espacios creados en la última expansión.\n" -"> No daña los cultivos que haya.\n" -" \n" -"Riesgo: Ninguno\n" -"Tiempo: 5 Min / Lote \n" -"Posiciones: 0/1 \n" #: src/faction_camp.cpp msgid "" "Notes:\n" "Plant designated seeds in the spaces that have already been tilled.\n" -" \n" +"\n" msgstr "" -"Notas:\n" -"Planta las semillas designadas en los lugares que hayan sido arados.\n" -" \n" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Choose which seed type or all of your seeds.\n" "> Stops when out of seeds or planting locations.\n" "> Will plant in ALL dirt mounds in the expansion.\n" -" \n" +"\n" "Risk: None\n" "Time: 1 Min / Plot \n" "Positions: 0/1 \n" @@ -189238,94 +194737,161 @@ msgstr "" msgid "" "Notes:\n" "Harvest any plants that are ripe and bring the produce back.\n" -" \n" +"\n" msgstr "" -"Notas:\n" -"Cosechar cualquier planta que esté madura y traer el producto.\n" -" \n" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Will dump all harvesting products onto your location.\n" -" \n" +"\n" "Risk: None\n" "Time: 3 Min / Plot \n" "Positions: 0/1 \n" msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" +"\n" +"Skill used: N/A\n" +"Effects:\n" +"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal.\n" "\n" -" \n" -"Habilidad usada: supervivencia\n" -"Dificultad: N/D \n" -"Efectos:\n" -"> Dejará todos los productos cosechados en tu lugar.\n" -" \n" -"Riesgo: Ninguno\n" -"Tiempo: 3 Min / Lote \n" -"Posiciones: 0/1 \n" +"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window.\n" +"\n" +"Risk: None\n" +"Time: 3 Hours\n" +"Positions: %d/1\n" +msgstr "" #: src/faction_camp.cpp -msgid "departs to search for materials..." -msgstr "se va a buscar materiales..." +#, c-format +msgid "" +"Notes:\n" +"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" +"Effects:\n" +"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" +"\n" +"Must have enjoyability >= -6\n" +"Perishable food liquidated at penalty depending on upgrades and rot time:\n" +"> Rotten: 0%%\n" +"> Rots in < 2 days: 60%%\n" +"> Rots in < 5 days: 80%%\n" +"\n" +"Total faction food stock: %d kcal\n" +"or %d day's rations" +msgstr "" #: src/faction_camp.cpp -msgid "departs to search for firewood..." -msgstr "se va a buscar leña..." +msgid "Distribute Food" +msgstr "Distribuir Comida" #: src/faction_camp.cpp -msgid "returns from working in the woods..." +msgid "" +"Notes:\n" +"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" +"\n" +"Effects:\n" +"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" +"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" +"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." msgstr "" #: src/faction_camp.cpp -msgid "returns from working on the hide site..." -msgstr "vuelve de trabajar en el escondite..." +msgid "Reset Sort Points" +msgstr "Resetear Puntos de Orden" #: src/faction_camp.cpp -msgid "returns from shuttling gear between the hide site..." +msgid "" +"Notes:\n" +"Assign repeating job duties to NPCs stationed here.\n" +"Difficulty: N/A\n" +"Effects:\n" +"\n" +"\n" +"Risk: None\n" +"Time: Ongoing" +msgstr "" + +#: src/faction_camp.cpp +msgid "Assign Jobs" +msgstr "" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Cancel a current mission and force the immediate return of a companion. No work will be done on the mission and all resources used on the mission will be lost.\n" +"\n" +"WARNING: All resources used on the mission will be lost and no work will be done. Only use this mission to recover a companion who cannot otherwise be recovered.\n" +"\n" +"Companions must be on missions for at least 24 hours before emergency recall becomes available." +msgstr "" + +#: src/faction_camp.cpp +msgid "departs to survey land…" msgstr "" #: src/faction_camp.cpp -msgid "departs to search for edible plants..." -msgstr "se va a buscar plantas comestibles..." +msgid "departs to search for materials…" +msgstr "" #: src/faction_camp.cpp -msgid "departs to set traps for small animals..." +msgid "departs to search for firewood…" msgstr "" #: src/faction_camp.cpp -msgid "departs to hunt for meat..." +msgid "returns from working in the woods…" msgstr "" #: src/faction_camp.cpp -msgid "departs to search for recruits..." -msgstr "se va a buscar reclutas..." +msgid "returns from working on the hide site…" +msgstr "" #: src/faction_camp.cpp -msgid "departs to survey land..." +msgid "returns from shuttling gear between the hide site…" msgstr "" #: src/faction_camp.cpp -msgid "returns to you with something..." -msgstr "vuelve con algo..." +msgid "departs to search for edible plants…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from your farm with something..." +msgid "departs to set traps for small animals…" msgstr "" #: src/faction_camp.cpp -msgid "returns from your kitchen with something..." +msgid "departs to hunt for meat…" msgstr "" #: src/faction_camp.cpp -msgid "returns from your blacksmith shop with something..." +msgid "departs to search for recruits…" msgstr "" #: src/faction_camp.cpp -msgid "returns from your garage..." +msgid "returns to you with something…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns from your farm with something…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns from your kitchen with something…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns from your blacksmith shop with something…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns from your garage…" msgstr "" #: src/faction_camp.cpp @@ -189333,13 +194899,30 @@ msgid "You don't have enough food stored to feed your companion." msgstr "" #: src/faction_camp.cpp -msgid "begins to upgrade the camp..." +msgid "begins to upgrade the camp…" msgstr "" #: src/faction_camp.cpp msgid "You don't have the materials for the upgrade." msgstr "" +#: src/faction_camp.cpp +msgid "There are no npcs stationed here" +msgstr "" + +#: src/faction_camp.cpp src/npc.cpp +msgid "No particular job" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "Press %s to change this workers job." +msgstr "" + +#: src/faction_camp.cpp +msgid "Assign which job?" +msgstr "" + #: src/faction_camp.cpp #, c-format msgid "%s goes off to clean toilets and sort loot." @@ -189357,15 +194940,15 @@ msgid "" msgstr "" #: src/faction_camp.cpp -msgid "departs to cut logs..." -msgstr "se va a cortar troncos..." +msgid "departs to cut logs…" +msgstr "" #: src/faction_camp.cpp msgid "Forests are the only valid cutting locations." msgstr "Los únicos lugares válidos para cortar árboles son los bosques." #: src/faction_camp.cpp -msgid "departs to clear a forest..." +msgid "departs to clear a forest…" msgstr "" #: src/faction_camp.cpp @@ -189377,11 +194960,11 @@ msgid "Do you wish to give your companion additional items?" msgstr "" #: src/faction_camp.cpp -msgid "departs to build a hide site..." +msgid "departs to build a hide site…" msgstr "" #: src/faction_camp.cpp -msgid "You need equipment to setup a hide site..." +msgid "You need equipment to setup a hide site…" msgstr "" #: src/faction_camp.cpp @@ -189393,11 +194976,11 @@ msgid "Bring gear back?" msgstr "" #: src/faction_camp.cpp -msgid "departs for the hide site..." +msgid "departs for the hide site…" msgstr "" #: src/faction_camp.cpp -msgid "You need equipment to transport between the hide site..." +msgid "You need equipment to transport between the hide site…" msgstr "" #: src/faction_camp.cpp @@ -189424,8 +195007,8 @@ msgid "You don't have the material to build the fortification." msgstr "No tienes el material para construir la fortificación." #: src/faction_camp.cpp -msgid "begins constructing fortifications..." -msgstr "comienza a construir fortificaciones..." +msgid "begins constructing fortifications…" +msgstr "" #: src/faction_camp.cpp msgid "" @@ -189434,7 +195017,7 @@ msgid "" msgstr "" #: src/faction_camp.cpp -msgid "departs on patrol..." +msgid "departs on patrol…" msgstr "" #: src/faction_camp.cpp @@ -189451,19 +195034,19 @@ msgid "Your batch is too large!" msgstr "¡Ese grupo es demasiado grande!" #: src/faction_camp.cpp -msgid "begins to work..." -msgstr "comenzando a trabajar..." +msgid "begins to work…" +msgstr "" #: src/faction_camp.cpp -msgid "+ more \n" -msgstr "+ mas \n" +msgid "+ more\n" +msgstr "" #: src/faction_camp.cpp -msgid "begins to harvest the field..." -msgstr "empieza a cosechar el campo..." +msgid "begins to harvest the field…" +msgstr "" #: src/faction_camp.cpp -msgid "You have no additional seeds to give your companions..." +msgid "You have no additional seeds to give your companions…" msgstr "" #: src/faction_camp.cpp src/mission_companion.cpp @@ -189471,11 +195054,11 @@ msgid "Which seeds do you wish to have planted?" msgstr "¿Qué semilla quieres plantar?" #: src/faction_camp.cpp -msgid "begins planting the field..." -msgstr "empieza a plantar el campo..." +msgid "begins planting the field…" +msgstr "" #: src/faction_camp.cpp -msgid "begins plowing the field..." +msgid "begins plowing the field…" msgstr "" #: src/faction_camp.cpp @@ -189488,11 +195071,15 @@ msgstr "" "%s" #: src/faction_camp.cpp -msgid "begins working in the garage..." -msgstr "empieza a trabajar en el garage..." +msgid "begins working in the garage…" +msgstr "" #: src/faction_camp.cpp -msgid "Your companion seems disappointed that your pantry is empty..." +msgid "Your companion seems disappointed that your pantry is empty…" +msgstr "" + +#: src/faction_camp.cpp +msgid "responds to the emergency recall…" msgstr "" #: src/faction_camp.cpp @@ -189501,11 +195088,11 @@ msgid "%s failed to build the %s upgrade." msgstr "" #: src/faction_camp.cpp -msgid "returns from upgrading the camp having earned a bit of experience..." +msgid "returns from upgrading the camp having earned a bit of experience…" msgstr "" #: src/faction_camp.cpp -msgid "returns from doing the dirty work to keep the camp running..." +msgid "returns from doing the dirty work to keep the camp running…" msgstr "" #: src/faction_camp.cpp @@ -189526,53 +195113,49 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "returns from %s carrying supplies and has a bit more experience..." +msgid "returns from %s carrying supplies and has a bit more experience…" msgstr "" #: src/faction_camp.cpp -msgid "returns from constructing fortifications..." +msgid "returns from constructing fortifications…" msgstr "" #: src/faction_camp.cpp -msgid "returns from searching for recruits with a bit more experience..." +msgid "returns from searching for recruits with a bit more experience…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s encountered %s..." +msgid "%s encountered %s…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s didn't find anyone to recruit..." -msgstr "%s no encontró nadie para reclutar..." +msgid "%s didn't find anyone to recruit…" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s convinced %s to hear a recruitment offer from you..." +msgid "%s convinced %s to hear a recruitment offer from you…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested in anything %s had to offer..." +msgid "%s wasn't interested in anything %s had to offer…" msgstr "" #: src/faction_camp.cpp msgid "" "NPC Overview:\n" -" \n" +"\n" msgstr "" -"Resumen PNJ:\n" -" \n" #: src/faction_camp.cpp #, c-format msgid "" -"Name: %20s\n" -" \n" +"Name: %s\n" +"\n" msgstr "" -"Nombre: %20s\n" -" \n" #: src/faction_camp.cpp #, c-format @@ -189593,10 +195176,8 @@ msgstr "Inteligencia: %10d\n" #, c-format msgid "" "Perception: %10d\n" -" \n" +"\n" msgstr "" -"Percepción: %10d\n" -" \n" #: src/faction_camp.cpp msgid "Top 3 Skills:\n" @@ -189610,26 +195191,22 @@ msgstr "Preguntar por:\n" #, c-format msgid "" "> Food: %10d days\n" -" \n" +"\n" msgstr "" -"> Comida: %10d días\n" -" \n" #: src/faction_camp.cpp #, c-format msgid "" "Faction Food:%9d days\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp #, c-format msgid "" "Recruit Chance: %10d%%\n" -" \n" +"\n" msgstr "" -"Probabilidad de Reclutamiento: %10d%%\n" -" \n" #: src/faction_camp.cpp msgid "Select an option:" @@ -189652,8 +195229,8 @@ msgid "Not Interested" msgstr "No estoy interesado." #: src/faction_camp.cpp -msgid "You decide you aren't interested..." -msgstr "Decidiste que no estás interesado..." +msgid "You decide you aren't interested…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -189662,28 +195239,25 @@ msgstr "¡%s ha sido convencido de unirse!" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested..." +msgid "%s wasn't interested…" msgstr "" #: src/faction_camp.cpp -msgid "Your companion hit a river and didn't know how to swim..." -msgstr "Tu compañera llega a un río y no sabe nadar..." +msgid "Your companion hit a river and didn't know how to swim…" +msgstr "" #: src/faction_camp.cpp msgid "" -"Your companion hit a river and didn't know how to swim well enough to " -"cross..." +"Your companion hit a river and didn't know how to swim well enough to cross…" msgstr "" -"Tu compañero llega a un río y no sabe nadar bien como para cruzarlo " -"nadando..." #: src/faction_camp.cpp #, c-format -msgid "%s didn't return from patrol..." +msgid "%s didn't return from patrol…" msgstr "" #: src/faction_camp.cpp -msgid "returns from patrol..." +msgid "returns from patrol…" msgstr "" #: src/faction_camp.cpp @@ -189723,7 +195297,7 @@ msgid "returns from surveying for the expansion." msgstr "" #: src/faction_camp.cpp -msgid "returns from working your fields... " +msgid "returns from working your fields…" msgstr "" #: src/faction_camp.cpp @@ -189783,27 +195357,25 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid ">Travel: %23s\n" -msgstr ">Viaje: %23s\n" +msgid ">Travel: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid ">Working: %23s\n" -msgstr ">Trabajando: %23s\n" +msgid ">Working: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Total: %23s\n" -msgstr "Total: %23s\n" +msgid "Total: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format msgid "" "Food: %15d (kcal)\n" -" \n" +"\n" msgstr "" -"Comida: %15d (kcal)\n" -" \n" #: src/faction_camp.cpp #, c-format @@ -189819,16 +195391,16 @@ msgstr "" msgid "" "Notes:\n" "Recruiting additional followers is very dangerous and expensive. The outcome is heavily dependent on the skill of the companion you send and the appeal of your base.\n" -" \n" +"\n" "Skill used: speech\n" -"Difficulty: 2 \n" +"Difficulty: 2\n" "Base Score: +%3d%%\n" "> Expansion Bonus: +%3d%%\n" "> Faction Bonus: +%3d%%\n" "> Special Bonus: +%3d%%\n" -" \n" +"\n" "Total: Skill +%3d%%\n" -" \n" +"\n" "Risk: High\n" "Time: 4 Days\n" "Positions: %d/1\n" @@ -189848,8 +195420,8 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Name: %25s\n" -msgstr "Nombre: %25s\n" +msgid "Name: %s\n" +msgstr "" #: src/faction_camp.cpp msgid "---- Engines ----\n" @@ -189857,8 +195429,8 @@ msgstr "---- Motores ----\n" #: src/faction_camp.cpp #, c-format -msgid "Engine: %25s\n" -msgstr "Motor: %25s\n" +msgid "Engine: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -189867,8 +195439,8 @@ msgstr ">Estado: %24d%%\n" #: src/faction_camp.cpp #, c-format -msgid ">Fuel: %25s\n" -msgstr ">Combustible: %25s\n" +msgid ">Fuel: %s\n" +msgstr "" #: src/faction_camp.cpp msgid "---- Fuel Storage & Battery ----\n" @@ -189879,11 +195451,11 @@ msgid "Estimated Chop Time: 5 Days\n" msgstr "Tiempo Estimado de Tala: 5 Días\n" #: src/faction_camp.cpp -msgid "You do not have a camp food zone. Aborting..." +msgid "You do not have a camp food zone. Aborting…" msgstr "" #: src/faction_camp.cpp -msgid "No items are located at the drop point..." +msgid "No items are located at the drop point…" msgstr "" #: src/faction_camp.cpp @@ -189893,7 +195465,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "While %s, a silent specter approaches %s..." +msgid "While %s, a silent specter approaches %s…" msgstr "" #: src/faction_camp.cpp @@ -189928,8 +195500,8 @@ msgstr "¡%s no se dio cuenta de la emboscada hasta que fue demasiado tarde!" #: src/faction_camp.cpp #, c-format -msgid "The bull moose charged %s from the tree line..." -msgstr "El alce macho ataca a %s desde los árboles..." +msgid "The bull moose charged %s from the tree line…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -189949,12 +195521,12 @@ msgstr "El jabberwock agarró a %s por el brazo desde atrás y empezó a gritar. #, c-format msgid "" "Terrified, %s spun around and delivered a massive kick to the creature's " -"torso..." +"torso…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Collapsing into a pile of gore, %s walked away unscathed..." +msgid "Collapsing into a pile of gore, %s walked away unscathed…" msgstr "" #: src/faction_camp.cpp @@ -189965,7 +195537,7 @@ msgstr "(Parece todo mentira, te preguntás qué habrá pasado.)" #, c-format msgid "" "%s turned to find the hideous black eyes of a giant wasp staring back from " -"only a few feet away..." +"only a few feet away…" msgstr "" #: src/faction_camp.cpp @@ -189978,7 +195550,7 @@ msgid "Pieces of %s were found strewn across a few bushes." msgstr "" #: src/faction_camp.cpp -msgid "(You wonder if your companions are fit to work on their own...)" +msgid "(You wonder if your companions are fit to work on their own…)" msgstr "" #: src/fungal_effects.cpp src/iuse.cpp @@ -190014,8 +195586,8 @@ msgid "Loading core data" msgstr "Cargando datos básicos" #: src/game.cpp -msgid "Please wait while the world data loads..." -msgstr "Espere mientras se cargan los datos del mundo..." +msgid "Please wait while the world data loads…" +msgstr "" #: src/game.cpp src/start_location.cpp msgid "Please wait as we build your world" @@ -190051,8 +195623,8 @@ msgstr "Borrar mundo" #: src/game.cpp #, c-format -msgid "World retained. Characters remaining:%s" -msgstr "Mundo retenido. Personajes que quedan:%s" +msgid "World retained. Characters remaining:%s" +msgstr "" #: src/game.cpp #, c-format @@ -190060,8 +195632,8 @@ msgid "The %s is dangerously close!" msgstr "" #: src/game.cpp -msgid "Wait till you wake up..." -msgstr "Esperá a que te despiertes..." +msgid "Wait till you wake up…" +msgstr "" #: src/game.cpp #, c-format @@ -190236,8 +195808,8 @@ msgid "You are not wielding a ranged weapon." msgstr "No estás empuñando ningún arma de distancia." #: src/game.cpp -msgid "Watch the last moments of your life...?" -msgstr "¿Quieres ver los últimos momentos de tu vida...?" +msgid "Watch the last moments of your life…?" +msgstr "" #: src/game.cpp msgid "Loading files" @@ -190286,15 +195858,14 @@ msgid "Failed to save game data" msgstr "No se pudo guardar la información del juego" #: src/game.cpp -msgid " You are forgotten among the billions lost in the cataclysm..." +msgid " You are forgotten among the billions lost in the cataclysm…" msgstr "" -"Quedás olvidado/a entre los miles de millones perdidos en el cataclismo..." #: src/game.cpp msgid "" " Locked in an endless battle, the Old Guard was forced to consolidate " "their resources in a handful of fortified bases along the coast. Without " -"the men or material to rebuild, the soldiers that remained lost all hope..." +"the men or material to rebuild, the soldiers that remained lost all hope…" msgstr "" #: src/game.cpp @@ -190305,7 +195876,7 @@ msgid "" "success. Forced to eventually consolidate to large bases, the Old Guard " "left these facilities in the hands of the few survivors that remained. As " "the years past, little materialized from the hopes of rebuilding " -"civilization..." +"civilization…" msgstr "" #: src/game.cpp @@ -190313,7 +195884,7 @@ msgid "" " Life in the refugee shelter deteriorated as food shortages and disease " "destroyed any hope of maintaining a civilized enclave. The merchants and " "craftsmen dispersed to found new colonies but most became victims of " -"marauding bandits. Those who survived never found a place to call home..." +"marauding bandits. Those who survived never found a place to call home…" msgstr "" #: src/game.cpp @@ -190322,7 +195893,7 @@ msgid "" "once profitable trade routes were plundered by bandits and thugs. In " "squalor and filth the first generations born after the cataclysm are told " "stories of the old days when food was abundant and the children were allowed" -" to play in the sun..." +" to play in the sun…" msgstr "" #: src/game.cpp @@ -190357,7 +195928,7 @@ msgid "" " The lone bands of survivors who wandered the now alien world dwindled in" " number through the years. Unable to compete with the growing number of " "monstrosities that had adapted to live in their world, those who did survive" -" lived in dejected poverty and hopelessness..." +" lived in dejected poverty and hopelessness…" msgstr "" #: src/game.cpp @@ -190367,7 +195938,7 @@ msgid "" "old world. Enormous hordes made cities impossible to enter while new " "eldritch horrors appeared mysteriously near old research labs. But on the " "fringes of where civilization once ended, bands of hunter-gatherers began to" -" adopt agrarian lifestyles in fortified enclaves..." +" adopt agrarian lifestyles in fortified enclaves…" msgstr "" #: src/game.cpp @@ -190394,7 +195965,7 @@ msgid "" "brought the warlords abundant territory and slaves but little in the way of " "stability. Within weeks, infighting led to civil war as tribes vied for " "leadership of the faction. When only one warlord finally secured control, " -"there was nothing left to fight for... just endless cities full of the dead." +"there was nothing left to fight for… just endless cities full of the dead." msgstr "" #: src/game.cpp @@ -190573,13 +196144,6 @@ msgid "" "increased by %s." msgstr "" -#: src/game.cpp -#, c-format -msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " -"anyway?" -msgstr "" - #: src/game.cpp msgid "Successfully removed Personality override." msgstr "" @@ -190722,8 +196286,8 @@ msgid "Never mind" msgstr "No importa" #: src/game.cpp src/npctalk.cpp -msgid "You may be attacked! Proceed?" -msgstr "¡Puedes ser atacado! ¿Continuar?" +msgid "You may be attacked! Proceed?" +msgstr "" #: src/game.cpp msgid "Examine where?" @@ -190909,12 +196473,12 @@ msgid "There's something there, but you can't see what it is." msgstr "Hay algo ahí, pero no puedes ver lo que es." #: src/game.cpp -msgid "More items here..." -msgstr "Hay más objetos aquí..." +msgid "More items here…" +msgstr "" #: src/game.cpp #, c-format -msgctxt "%s is the name of the item. %d is the quantity of that item." +msgctxt "%s is the name of the item. %d is the quantity of that item." msgid "%s [%d]" msgstr "%s [%d]" @@ -191227,8 +196791,8 @@ msgstr "No tienes las herramientas necesarias para desmontar un objeto aquí." #: src/game.cpp #, c-format -msgid "You see %s nearby! Start butchering anyway?" -msgstr "¡Ves %s bastante cerca! ¿Igual quieres empezar a descuartizar?" +msgid "You see %s nearby! Start butchering anyway?" +msgstr "" #: src/game.cpp msgid "Choose corpse to butcher / item to disassemble" @@ -191264,7 +196828,7 @@ msgstr "" #: src/game.cpp src/iuse.cpp src/iuse.cpp src/iuse.cpp src/veh_interact.cpp #: src/veh_interact.cpp #, c-format -msgid "%s helps with this task..." +msgid "%s helps with this task…" msgstr "" #: src/game.cpp @@ -191324,7 +196888,7 @@ msgstr "¡Necesitas por lo menos un/a %s para recargar el/la %s!" msgid "The %s is already full!" msgstr "¡El %s ya está lleno!" -#: src/game.cpp +#: src/game.cpp src/ranged.cpp #, c-format msgid "You can't reload a %s!" msgstr "" @@ -191349,13 +196913,6 @@ msgstr "No tienes nada para descargar." msgid "You're not wielding anything." msgstr "No estás empuñando nada." -#. ~ %1$s: weapon name, %2$s: holster name -#: src/game.cpp src/player.cpp -#, c-format -msgctxt "holster" -msgid "Draw %1$s from %2$s?" -msgstr "" - #: src/game.cpp #, c-format msgid "There's an angry red dot on your body, %s to brush it off." @@ -191378,11 +196935,9 @@ msgstr " o %s para permitir el monstruo" #: src/game.cpp #, c-format msgid "" -"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " +"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " "monster%4$s)" msgstr "" -"Encontraste un/a %1$s--¡el modo seguro está activado! (%2$s para " -"desactivarlo, %3$s para ignorar el monstruo %4$s)" #: src/game.cpp #, c-format @@ -191421,8 +196976,12 @@ msgstr "¿Seguro? ¿Quieres meterte en %s?" msgid "Your %s refuses to move over that ledge!" msgstr "" -#: src/game.cpp src/player.cpp src/player.cpp -msgid "You let go of the grabbed object." +#: src/game.cpp +msgid "You can't fit there." +msgstr "" + +#: src/game.cpp +msgid "Your mount can't fit there." msgstr "" #: src/game.cpp @@ -191581,13 +197140,15 @@ msgid "" "There are vehicle controls here but you cannot reach them whilst mounted." msgstr "" +#: src/game.cpp +msgid "You are repelled by the barrier!" +msgstr "" + #: src/game.cpp msgid "" -"You try to quantum tunnel through the barrier but are reflected! Try again " +"You try to quantum tunnel through the barrier but are reflected! Try again " "with more energy!" msgstr "" -"¡Intentas hacer un túnel cuántico a través de la barrera pero son es " -"reflejado! ¡Intentalo de nuevo pero con má energía!" #: src/game.cpp msgid "It's too dangerous to tunnel that far!" @@ -191617,6 +197178,16 @@ msgstr "¡Te esfuerzas mucho tratando de mover el pesado %s!" msgid "There's stuff in the way." msgstr "Hay cosas en el medio." +#: src/game.cpp +#, c-format +msgid "The %s is really heavy!" +msgstr "" + +#: src/game.cpp +#, c-format +msgid "You fail to move the %s." +msgstr "" + #: src/game.cpp #, c-format msgid "The %s is too heavy for you to budge." @@ -191673,8 +197244,8 @@ msgstr "Trepar %s" #: src/game.cpp #, c-format -msgid "You try to use the stairs. Suddenly you are blocked by a %s!" -msgstr "Intentas usar las escaleras. ¡De repente, te bloquea un %s!" +msgid "You try to use the stairs. Suddenly you are blocked by a %s!" +msgstr "" #: src/game.cpp #, c-format @@ -191773,9 +197344,8 @@ msgid "Halfway down, the way down becomes blocked off." msgstr "A mitad de camino, el descenso queda bloqueado." #: src/game.cpp -msgid "There is a sheer drop halfway down. Web-descend?" +msgid "There is a sheer drop halfway down. Web-descend?" msgstr "" -"A mitad de camino hay un desnivel abrupto. ¿Usar telaraña para descender?" #: src/game.cpp msgid "" @@ -191796,9 +197366,8 @@ msgstr "" "descender?" #: src/game.cpp -msgid "Detach a vine? It'll hurt, but you'll be able to climb back up..." +msgid "Detach a vine? It'll hurt, but you'll be able to climb back up…" msgstr "" -"¿Desprender la liana? Te va a doler, pero vas a poder volver a trepar..." #: src/game.cpp msgid "You descend on your vines, though leaving a part of you behind stings." @@ -191816,16 +197385,12 @@ msgstr "" "Bajas sin problemas y dejas una liana arraigada para poder usarla después." #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your grappling hook down?" +msgid "There is a sheer drop halfway down. Climb your grappling hook down?" msgstr "" -"A mitad de camino hay un desnivel abrupto. ¿Quieres usar tu gancho de agarre" -" para descender?" #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your rope down?" +msgid "There is a sheer drop halfway down. Climb your rope down?" msgstr "" -"A mitad de camino hay un desnivel abrupto. ¿Quieres usar tu soga para " -"descender?" #: src/game.cpp msgid "There is a sheer drop halfway down. Jump?" @@ -191886,8 +197451,8 @@ msgstr "¡El %s te empuja!" #: src/game.cpp #, c-format -msgid "The %s tried to push you back but failed! It attacks you!" -msgstr "¡El %s intenta empujarte pero no puede! ¡Te ataca!" +msgid "The %s tried to push you back but failed! It attacks you!" +msgstr "" #: src/game.cpp #, c-format @@ -191915,35 +197480,26 @@ msgstr "Todavía no hay guardado para %s." #: src/game.cpp #, c-format msgid "" -"Whoa! Your terminal is tiny! This game requires a minimum terminal size of " -"%dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " +"Whoa! Your terminal is tiny! This game requires a minimum terminal size of" +" %dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " "help?" msgstr "" -"¡Vaya! ¡Tu terminal es muy pequeña! Este juego necesita una resolución " -"mínima de %dx%d para funcionar bien. %dx%d no alcanza. ¿Podrías probar con " -"una fuente más pequeña?" #: src/game.cpp #, c-format msgid "" -"Oh! Hey, look at that. Your terminal is just a little too narrow. This game " -"requires a minimum terminal size of %dx%d to function. It just won't work " -"with only %dx%d. Can you stretch it out sideways a bit?" +"Oh! Hey, look at that. Your terminal is just a little too narrow. This " +"game requires a minimum terminal size of %dx%d to function. It just won't " +"work with only %dx%d. Can you stretch it out sideways a bit?" msgstr "" -"¡Ah! Uh, mira eso. Tu terminal es como que muy angosta. Este juego necesita " -"una resolución mínima de %dx%d para funcionar. No va a andar con solo " -"%dx%d. ¿Puedes alargarla un poco de los costados?" #: src/game.cpp #, c-format msgid "" -"Woah, woah, we're just a little short on space here. The game requires a " -"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " +"Woah, woah, we're just a little short on space here. The game requires a " +"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " "make the terminal just a smidgen taller?" msgstr "" -"Epa, epa, estamos un poco cortos de espacio aquí. El juego necesita una " -"resolución mínima de %dx%d para andar. ¡%dx%d no es suficiente! ¿Puedes " -"hacer la terminal un cachito más alta?" #: src/game.cpp msgid "" @@ -192029,8 +197585,8 @@ msgid "You feel thirsty." msgstr "Sientes sed." #: src/game.cpp -msgid "You feel an evil presence..." -msgstr "Sientes una presencia maligna..." +msgid "You feel an evil presence…" +msgstr "" #: src/game.cpp msgid "You feel a tickle of insanity." @@ -192045,8 +197601,8 @@ msgid "You feel your genetic makeup degrading." msgstr "Sientes degradarse tu maquillaje genético." #: src/game.cpp -msgid "You feel an otherworldly attention upon you..." -msgstr "Sientes una atención sobrenatural puesta sobre ti..." +msgid "You feel an otherworldly attention upon you…" +msgstr "" #: src/game.cpp msgid "You feel a force pulling you inwards." @@ -192090,8 +197646,8 @@ msgstr "¡Per %s%d! " #: src/game.cpp #, c-format -msgid "Speed %s%d! " -msgstr "¡Velocidad %s%d!" +msgid "Speed %s%d!" +msgstr "" #: src/game_inventory.cpp msgid "You don't have the necessary item at hand." @@ -192222,6 +197778,16 @@ msgstr "Indefinido" msgid "SHELF LIFE" msgstr "" +#. ~ Eat menu Volume: +#: src/game_inventory.cpp +#, c-format +msgid "%.2f%s" +msgstr "" + +#: src/game_inventory.cpp +msgid "VOLUME" +msgstr "" + #: src/game_inventory.cpp msgid "FRESHNESS" msgstr "FRESCURA" @@ -192230,10 +197796,6 @@ msgstr "FRESCURA" msgid "SPOILS IN" msgstr "SE PUDRE EN" -#: src/game_inventory.cpp -msgid "Battery" -msgstr "Batería" - #: src/game_inventory.cpp msgid "Reactor" msgstr "Reactor" @@ -192258,10 +197820,6 @@ msgstr "" msgid "Your biology is not compatible with that item." msgstr "" -#: src/game_inventory.cpp -msgid "You're fully charged" -msgstr "" - #: src/game_inventory.cpp #, c-format msgid "No space to store more %s" @@ -192537,8 +198095,8 @@ msgstr "No hay objetos para comparar." #: src/game_inventory.cpp msgid "" -"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE to" -" cancel." +"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE " +"to cancel." msgstr "" #: src/game_inventory.cpp @@ -192568,11 +198126,6 @@ msgstr "" msgid "Available anesthetic: %i mL" msgstr "" -#: src/game_inventory.cpp -#, c-format -msgid "Money available: %s" -msgstr "" - #: src/game_inventory.cpp #, c-format msgid "Bionic removal patient: %s" @@ -192698,6 +198251,14 @@ msgstr "" msgid "CBM is filthy. Wash it first." msgstr "" +#: src/game_inventory.cpp +msgid "You should put this CBM in an autoclave pouch to keep it sterile." +msgstr "" + +#: src/game_inventory.cpp +msgid "You need at least 2L of water." +msgstr "" + #: src/game_inventory.cpp msgid "Sterilization" msgstr "" @@ -192810,8 +198371,8 @@ msgstr "%s choca con %s." #: src/handle_action.cpp #, c-format -msgid "Press %s to accept your fate..." -msgstr "Pulsa %s para aceptar tu destino..." +msgid "Press %s to accept your fate…" +msgstr "" #: src/handle_action.cpp msgid "No radio car connected." @@ -192823,18 +198384,16 @@ msgstr "ruido de colisión contra un obstáculo." #. ~ Sound of moving a remote controlled car #: src/handle_action.cpp -msgid "zzz..." -msgstr "zzz..." +msgid "zzz…" +msgstr "" #: src/handle_action.cpp -msgid "You can't drive the vehicle from here. You need controls!" -msgstr "No puedes manejar el vehículo desde aquí. ¡Necesitas los controles!" +msgid "You can't drive the vehicle from here. You need controls!" +msgstr "" #: src/handle_action.cpp -msgid "Can't drive this vehicle remotely. It has no working controls." +msgid "Can't drive this vehicle remotely. It has no working controls." msgstr "" -"No puedes manejar este vehículo por control remoto. No tiene controles que " -"funcionen." #: src/handle_action.cpp msgid "Open where?" @@ -192942,11 +198501,11 @@ msgid "There's nothing there to smash!" msgstr "¡Ahí no hay nada para destrozar!" #: src/handle_action.cpp -msgid "You already have an alarm set. What do you want to do?" +msgid "You already have an alarm set. What do you want to do?" msgstr "" #: src/handle_action.cpp -msgid "You have an alarm clock. What do you want to do?" +msgid "You have an alarm clock. What do you want to do?" msgstr "" #: src/handle_action.cpp @@ -193069,12 +198628,12 @@ msgstr "Por ahí quieras desactivar estos antes de dormirte." #: src/handle_action.cpp msgid "" -"You're engorged to hibernate. The alarm would only attract attention. Set an" -" alarm anyway?" +"You're engorged to hibernate. The alarm would only attract attention. Set " +"an alarm anyway?" msgstr "" #: src/handle_action.cpp -msgid "You have an alarm clock. Set an alarm?" +msgid "You have an alarm clock. Set an alarm?" msgstr "" #: src/handle_action.cpp @@ -193106,7 +198665,7 @@ msgstr "Ordenar mis cosas" #: src/handle_action.cpp msgid "" "Sorts out the loot from Loot: Unsorted zone to nearby appropriate Loot " -"zones. Uses empty space in your inventory or utilizes a cart, if you are " +"zones. Uses empty space in your inventory or utilizes a cart, if you are " "holding one." msgstr "" @@ -193115,28 +198674,28 @@ msgid "Till farm plots" msgstr "" #: src/handle_action.cpp -msgid "Till farm plots... you need a tool to dig with" -msgstr "Arar campos... necesitás una herramienta para cavar" +msgid "Till farm plots… you need a tool to dig with" +msgstr "" #: src/handle_action.cpp msgid "Tills nearby Farm: Plot zones." msgstr "" #: src/handle_action.cpp -msgid "Plant seeds... it is too cold for planting" -msgstr "Plantar semillas... hace demasiado frío para plantar" +msgid "Plant seeds… it is too cold for planting" +msgstr "" #: src/handle_action.cpp msgid "Plant seeds" msgstr "Plantar semillas" #: src/handle_action.cpp -msgid "Plant seeds... you don't have any" -msgstr "Plantar semillas...no tienes ninguna" +msgid "Plant seeds… you don't have any" +msgstr "" #: src/handle_action.cpp msgid "" -"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " +"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " "specific plant seed and you must have seeds in your inventory." msgstr "" @@ -193145,7 +198704,7 @@ msgid "Fertilize plots" msgstr "" #: src/handle_action.cpp -msgid "Fertilize plots... you don't have any fertilizer" +msgid "Fertilize plots… you don't have any fertilizer" msgstr "" #: src/handle_action.cpp @@ -193442,6 +199001,10 @@ msgid "You can't operate a vehicle while you're in your shell." msgstr "" "No puedes controlar un vehículo mientras estás dentro de tu caparazón." +#: src/handle_action.cpp +msgid "You refuse to take control of this vehicle." +msgstr "" + #: src/handle_action.cpp msgid "Auto travel mode OFF!" msgstr "" @@ -193455,9 +199018,8 @@ msgid "Safe mode OFF!" msgstr "¡Modo seguro DESACTIVADO!" #: src/handle_action.cpp -msgid "Safe mode OFF! (Auto safe mode still enabled!)" +msgid "Safe mode OFF! (Auto safe mode still enabled!)" msgstr "" -"¡Modo seguro DESACTIVADO! (¡Pero el modo seguro automático sigue activado!)" #: src/handle_action.cpp msgid "Auto safe mode OFF!" @@ -193679,7 +199241,7 @@ msgstr "" #: src/iexamine.cpp #, c-format msgid "" -"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" +"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" "Your current balance is: %s" msgstr "" @@ -193731,9 +199293,9 @@ msgid "Your account now holds %s." msgstr "" #: src/iexamine.cpp -msgid "This will automatically deduct $1.00 from your bank account. Continue?" +msgid "" +"This will automatically deduct $1.00 from your bank account. Continue?" msgstr "" -"Esto deducirá automáticamente $1.00 de tu cuenta bancaria. ¿Continuar?" #: src/iexamine.cpp msgid "You can only deposit money from charged cash cards!" @@ -193741,10 +199303,10 @@ msgstr "¡Solo puedes depositar dinero desde una tarjeta de crédito cargada!" #: src/iexamine.cpp #, c-format -msgid "Deposit how much? Max: %d cent. (0 to cancel) " -msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " -msgstr[0] "¿Cuánto quieres depositar? Máx: %d centavo. (0 para cancelar)" -msgstr[1] "¿Cuánto quieres depositar? Máx: %d centavos. (0 para cancelar)" +msgid "Deposit how much? Max: %d cent. (0 to cancel) " +msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " +msgstr[0] "" +msgstr[1] "" #: src/iexamine.cpp msgid "You do not have a cash card to withdraw money!" @@ -193752,10 +199314,10 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "Withdraw how much? Max: %d cent. (0 to cancel) " -msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " -msgstr[0] "¿Cuánto quieres extraer? Máx: %d centavo. (0 para cancelar)" -msgstr[1] "¿Cuánto quieres extraer? Máx: %d centavos. (0 para cancelar)" +msgid "Withdraw how much? Max: %d cent. (0 to cancel) " +msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " +msgstr[0] "" +msgstr[1] "" #: src/iexamine.cpp msgid "The vending machine is empty!" @@ -193849,8 +199411,8 @@ msgid "No one responds." msgstr "" #: src/iexamine.cpp -msgid "If only you had a shovel..." -msgstr "Si tuvieras una pala..." +msgid "If only you had a shovel…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -193952,16 +199514,16 @@ msgid "Insert $10?" msgstr "¿Insertar $10?" #: src/iexamine.cpp -msgid "Three cherries... you get your money back!" -msgstr "Tres cerezas... ¡recuperas tu dinero!" +msgid "Three cherries… you get your money back!" +msgstr "" #: src/iexamine.cpp -msgid "Three bells... you win $50!" -msgstr "Tres campanas... ¡ganaste $50!" +msgid "Three bells… you win $50!" +msgstr "" #: src/iexamine.cpp -msgid "Three stars... you win $200!" -msgstr "Tres estrellas... ¡ganaste $200!" +msgid "Three stars… you win $200!" +msgstr "" #: src/iexamine.cpp msgid "JACKPOT! You win $3000!" @@ -193976,8 +199538,8 @@ msgid "Play again?" msgstr "¿Quieres jugar otra vez?" #: src/iexamine.cpp -msgid "You mess with the dial for a little bit... and it opens!" -msgstr "¡Toqueteás un poco el dial... y se abre!" +msgid "You mess with the dial for a little bit… and it opens!" +msgstr "" #: src/iexamine.cpp msgid "You mess with the dial for a little bit." @@ -194017,13 +199579,24 @@ msgstr "" "La caja fuerte de armas no cede a tus intentos de forzar la cerradura." #: src/iexamine.cpp -msgid "If only you had something to pry with..." +#, c-format +msgid "The %s is locked. If only you had something to pry it with…" msgstr "" #. ~ %1$s: terrain/furniture name, %2$s: prying tool name #: src/iexamine.cpp #, c-format -msgid "You attempt to pry open the %1$s using your %2$s..." +msgid "You attempt to pry open the %1$s using your %2$s…" +msgstr "" + +#: src/iexamine.cpp +#, c-format +msgid "The %s is locked. If only you had something to pick its lock with…" +msgstr "" + +#: src/iexamine.cpp +#, c-format +msgid "You attempt to pick lock of %1$s using your %2$s…" msgstr "" #: src/iexamine.cpp @@ -194041,11 +199614,11 @@ msgstr "" "tienen forma humanoide, pero con miembros largos, retorcidos y hinchados." #: src/iexamine.cpp -msgid "The pedestal sinks into the ground..." -msgstr "El pedestal se hunde en el suelo..." +msgid "The pedestal sinks into the ground…" +msgstr "" #: src/iexamine.cpp -msgid "an ominous grinding noise..." +msgid "an ominous grinding noise…" msgstr "" #: src/iexamine.cpp @@ -194094,12 +199667,12 @@ msgid "You hear the rumble of rock shifting." msgstr "Escuchas el retumbar de la piedra desplazándose." #: src/iexamine.cpp -msgid "This flower is dead. You can't get it." -msgstr "Esta flor está muerta. No la puedes usar." +msgid "This flower is dead. You can't get it." +msgstr "" #: src/iexamine.cpp -msgid "This plant is dead. You can't get it." -msgstr "Esta planta está muerta. No la puedes usar." +msgid "This plant is dead. You can't get it." +msgstr "" #: src/iexamine.cpp msgid "You drink some nectar." @@ -194134,8 +199707,8 @@ msgid "This flower has a heady aroma." msgstr "Esta flor tiene aroma embriagador." #: src/iexamine.cpp -msgid "You fall asleep..." -msgstr "Te quedás dormido..." +msgid "You fall asleep…" +msgstr "" #: src/iexamine.cpp msgid "Your legs are covered in the poppy's roots!" @@ -194147,7 +199720,7 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" +msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" msgstr "" #: src/iexamine.cpp @@ -194163,8 +199736,8 @@ msgid "Nothing can be harvested from this plant in current season" msgstr "Nada puede ser cosechado de esta planta en esta estación" #: src/iexamine.cpp -msgid "This flower is still alive, despite the harsh conditions..." -msgstr "Esta flor todavía está viva, a pesar de las duras condiciones..." +msgid "This flower is still alive, despite the harsh conditions…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -194172,8 +199745,8 @@ msgid "You feel out of place as you explore the %s. Drink?" msgstr "Te sientes fuera de lugar mientras explorás el %s. ¿Quieres beber?" #: src/iexamine.cpp -msgid "This flower tastes very wrong..." -msgstr "Esta flor tiene un gusto muy equivocado..." +msgid "This flower tastes very wrong…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -194214,8 +199787,8 @@ msgid "You have no seeds to plant." msgstr "No tienes semillas para plantar." #: src/iexamine.cpp -msgid "Something's lying there..." -msgstr "Hay algo tirado ahí..." +msgid "Something's lying there…" +msgstr "" #: src/iexamine.cpp src/mission_companion.cpp msgid "You saved your seeds for later." @@ -194234,8 +199807,8 @@ msgid "The seed blooms forth! We have brought true beauty to this world." msgstr "¡La semilla florece más! Nosotros hemos traido belleza a este mundo." #: src/iexamine.cpp -msgid "The seed blossoms rather rapidly..." -msgstr "La semilla florece bastante rápidamente..." +msgid "The seed blossoms rather rapidly…" +msgstr "" #: src/iexamine.cpp msgid "The seed blossoms into a flower-looking fungus." @@ -194293,9 +199866,8 @@ msgid "This kiln contains %s, which can't be made into charcoal!" msgstr "¡Esta carbonera contiene %s, que no puede ser convertido en carbón!" #: src/iexamine.cpp -msgid "This kiln is empty. Fill it with wood or bone and try again." +msgid "This kiln is empty. Fill it with wood or bone and try again." msgstr "" -"Esta carbonera está vacía. Llénala con madera o hueso y prueba de nuevo." #: src/iexamine.cpp msgid "The batch in this kiln is too small to yield any charcoal." @@ -194321,8 +199893,8 @@ msgid "You fire the charcoal kiln." msgstr "Enciendes la carbonera u horno." #: src/iexamine.cpp -msgid "This kiln is empty..." -msgstr "La carbonera u horno está vacío..." +msgid "This kiln is empty…" +msgstr "" #: src/iexamine.cpp msgid "There's a charcoal kiln there." @@ -194364,7 +199936,7 @@ msgstr "" #: src/iexamine.cpp msgid "" -"This furance is empty. Fill it with powdered coke and lime mix, and try " +"This furance is empty. Fill it with powdered coke and lime mix, and try " "again." msgstr "" @@ -194393,7 +199965,7 @@ msgid "You turn on the furnace." msgstr "" #: src/iexamine.cpp -msgid "This furnace is empty..." +msgid "This furnace is empty…" msgstr "" #: src/iexamine.cpp @@ -194406,7 +199978,7 @@ msgid "It has finished burning, yielding %d calcium carbide." msgstr "" #: src/iexamine.cpp -msgid "This autoclave is empty..." +msgid "This autoclave is empty…" msgstr "" #: src/iexamine.cpp @@ -194465,7 +200037,7 @@ msgid "Start a fire" msgstr "" #: src/iexamine.cpp -msgid "Start a fire... you'll need a fire source." +msgid "Start a fire… you'll need a fire source." msgstr "" #: src/iexamine.cpp @@ -194487,13 +200059,17 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "You attempt to start a fire with your %s..." +msgid "You attempt to start a fire with your %s…" msgstr "" #: src/iexamine.cpp msgid "You weren't able to start a fire." msgstr "" +#: src/iexamine.cpp +msgid "You can't light a fire there." +msgstr "No puedes encender un fuego ahí." + #: src/iexamine.cpp #, c-format msgid "Really take down the %s while it's on fire?" @@ -194670,13 +200246,13 @@ msgid "The %s is full." msgstr "El/la %s está lleno/a." #: src/iexamine.cpp -msgid "You have no tool to dig with..." -msgstr "No tienes una herramienta para cavar..." +msgid "You have no tool to dig with…" +msgstr "" #: src/iexamine.cpp #, c-format -msgid "Dig up %s? This kills the tree!" -msgstr "¿Quieres desenterrar %s? ¡Eso va a matar al árbol!" +msgid "Dig up %s? This kills the tree!" +msgstr "" #: src/iexamine.cpp msgid "Which container?" @@ -194701,8 +200277,8 @@ msgid "You need a %s to tap this maple tree." msgstr "Necesitas un/a %s para extraer la savia de este arce." #: src/iexamine.cpp -msgid "No container added. The sap will just spill on the ground." -msgstr "No hay puesto un contenedor. La savia se va a caer al suelo." +msgid "No container added. The sap will just spill on the ground." +msgstr "" #: src/iexamine.cpp msgid "Remove tap" @@ -194845,14 +200421,13 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "That %s looks too dangerous to mess with. Best leave it alone." +msgid "That %s looks too dangerous to mess with. Best leave it alone." msgstr "" -"Ese %s parece muy peligroso como para toquetearlo. Mejor dejarlo en paz." #: src/iexamine.cpp #, c-format -msgid "There is a %s there. Take down?" -msgstr "Hay un %s ahí. ¿Lo quieres desmantelar?" +msgid "There is a %s there. Take down?" +msgstr "" #: src/iexamine.cpp #, c-format @@ -194962,12 +200537,12 @@ msgid "You're illiterate, and can't read the screen." msgstr "Eres analfabeto, no puedes leer la pantalla." #: src/iexamine.cpp -msgid "Failure! No gas pumps found!" -msgstr "¡Error! ¡No se encontraron surtidores de gasolina!" +msgid "Failure! No gas pumps found!" +msgstr "" #: src/iexamine.cpp -msgid "Failure! No gas tank found!" -msgstr "¡Error! ¡No se encontró tanque de gasolina!" +msgid "Failure! No gas tank found!" +msgstr "" #: src/iexamine.cpp msgid "This station is out of fuel. We apologize for the inconvenience." @@ -195026,9 +200601,8 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel) " +msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel)" msgstr "" -"¿Cuántos litros de gasolina quieres comprar? Máx: %d L. (0 para cancelar) " #: src/iexamine.cpp msgid "Glug Glug Glug" @@ -195095,34 +200669,28 @@ msgstr "No puedes bajar trepando por ahí" #: src/iexamine.cpp #, c-format -msgid "Looks like %d story. Jump down?" -msgid_plural "Looks like %d stories. Jump down?" +msgid "Looks like %d story. Jump down?" +msgid_plural "Looks like %d stories. Jump down?" msgstr[0] "" msgstr[1] "" #: src/iexamine.cpp -msgid "You probably won't be able to get up and jumping down may hurt. Jump?" +msgid "You probably won't be able to get up and jumping down may hurt. Jump?" msgstr "" -"Probablemente, no vayas a poder subir y tirarte puede doler. ¿Te quieres " -"tirar?" #: src/iexamine.cpp -msgid "You probably won't be able to get back up. Climb down?" +msgid "You probably won't be able to get back up. Climb down?" msgstr "" -"Probablemente, no vayas a poder volver a subir. ¿Quieres bajar trepando?" #: src/iexamine.cpp msgid "" -"You should be able to climb back up easily if you climb down there. Climb " +"You should be able to climb back up easily if you climb down there. Climb " "down?" msgstr "" -"Deberías poder volver a trepar fácilmente si bajas por aquí. ¿Quieres bajar " -"trepando?" #: src/iexamine.cpp -msgid "You may have problems climbing back up. Climb down?" +msgid "You may have problems climbing back up. Climb down?" msgstr "" -"Puede ser que tengas problemas para volver a subir. ¿Quieres bajar trepando?" #: src/iexamine.cpp msgid "You decided to step back from the ledge." @@ -195153,8 +200721,8 @@ msgstr "" #: src/iexamine.cpp msgid "" -"ERROR Bionic Level Assessement : FULL CYBORG. Autodoc Mk. XI can't " -"opperate. Please move patient to appropriate facility. Exiting." +"ERROR Bionic Level Assessement: FULL CYBORG. Autodoc Mk. XI can't opperate." +" Please move patient to appropriate facility. Exiting." msgstr "" #: src/iexamine.cpp @@ -195427,8 +200995,7 @@ msgid "Inspect mill" msgstr "" #: src/iexamine.cpp -msgid "" -"Remove brake and start milling... insert some products for milling first" +msgid "Remove brake and start milling… insert some products for milling first" msgstr "" #: src/iexamine.cpp @@ -195440,12 +201007,12 @@ msgid "Remove brake and start milling, milling will take about 6 hours." msgstr "" #: src/iexamine.cpp -msgid "Insert products for milling... mill is full" +msgid "Insert products for milling… mill is full" msgstr "" #: src/iexamine.cpp #, c-format -msgid "Insert products for milling... remaining capacity is %s %s" +msgid "Insert products for milling… remaining capacity is %s %s" msgstr "" #: src/iexamine.cpp @@ -195493,7 +201060,7 @@ msgid "You inspect its contents and find: " msgstr "" #: src/iexamine.cpp -msgid "... that it is empty." +msgid "…that it is empty." msgstr "" #: src/iexamine.cpp @@ -195522,13 +201089,13 @@ msgid "Inspect smoking rack" msgstr "" #: src/iexamine.cpp -msgid "Light up and smoke food... insert some food for smoking first" +msgid "Light up and smoke food… insert some food for smoking first" msgstr "" #: src/iexamine.cpp #, c-format -msgid "Light up and smoke food... need extra %d charges of charcoal" -msgstr "Encender y ahumar comida... necesitás %d más de carbón vegetal" +msgid "Light up and smoke food… need extra %d charges of charcoal" +msgstr "" #: src/iexamine.cpp msgid "Light up and smoke food" @@ -195536,19 +201103,17 @@ msgstr "" #: src/iexamine.cpp msgid "" -"Light up the smoking rack and start smoking. Smoking will take about 6 " +"Light up the smoking rack and start smoking. Smoking will take about 6 " "hours." msgstr "" -"Encender el soporte para ahumar y empezar a ahumar. El ahumado tardará 6 " -"horas." #: src/iexamine.cpp -msgid "Insert food for smoking... smoking rack is full" +msgid "Insert food for smoking… smoking rack is full" msgstr "" #: src/iexamine.cpp #, c-format -msgid "Insert food for smoking... remaining capacity is %s %s" +msgid "Insert food for smoking… remaining capacity is %s %s" msgstr "" #: src/iexamine.cpp @@ -195570,7 +201135,7 @@ msgid "Remove food from smoking rack" msgstr "Sacar comida del soporte para ahumar" #: src/iexamine.cpp -msgid "Reload with charcoal... you don't have any" +msgid "Reload with charcoal… you don't have any" msgstr "" #: src/iexamine.cpp @@ -195580,11 +201145,9 @@ msgstr "Recargar con carbón" #: src/iexamine.cpp #, c-format msgid "" -"You need %d charges of charcoal for %s %s of food. Minimal amount of " +"You need %d charges of charcoal for %s %s of food. Minimal amount of " "charcoal is %d charges." msgstr "" -"Necesitás %d cargas de carbón vegetal para %s %s de comida. La cantidad " -"mínima de carbón vegetal es %d cargas." #: src/iexamine.cpp msgid "Quench burning charcoal" @@ -195642,7 +201205,7 @@ msgid "You stop the smoking process." msgstr "" #: src/iexamine.cpp -msgid "You open the unlocked safe. " +msgid "You open the unlocked safe." msgstr "" #: src/iexamine.cpp @@ -195742,6 +201305,10 @@ msgstr "Conexiones de mapa" msgid "Overmap specials" msgstr "" +#: src/init.cpp +msgid "Overmap locations" +msgstr "Lugares del mapa" + #: src/init.cpp msgid "Vehicle prototypes" msgstr "" @@ -195850,10 +201417,6 @@ msgstr "Mutaciones" msgid "Mutation Categories" msgstr "Categoría de mutación" -#: src/init.cpp -msgid "Overmap locations" -msgstr "Lugares del mapa" - #: src/init.cpp msgid "Map extras" msgstr "" @@ -196221,14 +201784,6 @@ msgstr "" msgid "Page %d/%d" msgstr "Página %d/%d" -#: src/inventory_ui.cpp -msgid "ITEMS WORN" -msgstr "OBJETOS PUESTOS" - -#: src/inventory_ui.cpp -msgid "WEAPON HELD" -msgstr "ARMA EMPUÑADA" - #: src/inventory_ui.cpp #, c-format msgid "Weight (%s):" @@ -196672,11 +202227,9 @@ msgstr "" #: src/item.cpp msgid "" -"This food has started to rot. Eating it would be a " +"This food has started to rot. Eating it would be a " "very bad idea." msgstr "" -"Esta comida ha empezado a pudrirse. Sería una muy mala " -"idea comerla." #: src/item.cpp #, c-format @@ -196747,13 +202300,6 @@ msgstr "" msgid "This ammo starts fires." msgstr "" -#: src/item.cpp -#, c-format -msgid "Stats of the active gunmod (%s) are shown." -msgstr "" -"Se muestran las características de la modificación del arma " -"(%s) activa." - #: src/item.cpp msgid "Skill used: " msgstr "Habilidad usada: " @@ -196898,8 +202444,9 @@ msgid "Used on: " msgstr "Se usa en: " #: src/item.cpp -msgid "Location: " -msgstr "Lugar:" +#, c-format +msgid "Location: %s" +msgstr "" #: src/item.cpp msgid "Incompatible with mod location: " @@ -197422,42 +202969,45 @@ msgid "" msgstr "" #: src/item.cpp -msgid "* This clothing can be upsized." +msgid "can be upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be downsized." +msgid "can be downsized" msgstr "" #: src/item.cpp -msgid "* This clothing can not be downsized." +msgid "can not be downsized" msgstr "" #: src/item.cpp -msgid "* This clothing can not be upsized." +msgid "can not be upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be refitted and upsized." +#, c-format +msgid "* This clothing %s." msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted and downsized." +msgid " and upsized" msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not downsized." +msgid " and downsized" msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not upsized." +msgid " but not downsized" +msgstr "" + +#: src/item.cpp +msgid " but not upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be refitted." +#, c-format +msgid "* This clothing can be refitted%s." msgstr "" #: src/item.cpp @@ -197558,6 +203108,16 @@ msgstr "" msgid "This bionic is installed in the following body part(s):" msgstr "Este biónico se instala en las siguientes partes del cuerpo:" +#: src/item.cpp +msgid "* This bionic can produce power from the following fuel: " +msgid_plural "* This bionic can produce power from the following fuels: " +msgstr[0] "" +msgstr[1] "" + +#: src/item.cpp +msgid "Power Capacity:" +msgstr "" + #: src/item.cpp msgid "Encumbrance: " msgstr "" @@ -197643,16 +203203,19 @@ msgstr "Ya está listo y puede ser activado." msgid "It will be done in %s." msgstr "Estará terminado en %s." -#. ~ %1$s: gerund (e.g. carved), %2$s: item name -#: src/item.cpp src/iuse_actor.cpp +#. ~ %1$s: gerund (e.g. carved), %2$s: item name, %3$s: inscription text +#: src/item.cpp #, c-format msgctxt "carving" -msgid "%1$s on the %2$s is: " -msgstr "%1$s en el %2$s es: " +msgid "%1$s on the %2$s is: %3$s" +msgstr "" -#: src/item.cpp src/options.cpp -msgid "Note: " -msgstr "Nota:" +#. ~ %1$s: inscription text +#: src/item.cpp +#, c-format +msgctxt "carving" +msgid "Note: %1$s" +msgstr "" #: src/item.cpp msgid "Integrated mod: " @@ -197686,6 +203249,13 @@ msgstr "Lo puedes usar para fabricar varios objetos más." msgid "You could use it to craft: %s" msgstr "Se puede usar para fabricar: %s" +#: src/item.cpp +#, c-format +msgid "Stats of the active gunmod (%s) are shown." +msgstr "" +"Se muestran las características de la modificación del arma " +"(%s) activa." + #: src/item.cpp #, c-format msgid "It takes you an extremely long time to wield your %s." @@ -198345,8 +203915,8 @@ msgid "You're already smoking a %s!" msgstr "¡Ya estás fumandote un %s!" #: src/iuse.cpp -msgid "Are you sure you want to drink... this?" -msgstr "¿Seguro que te quieres beber... esto?" +msgid "Are you sure you want to drink… this?" +msgstr "" #: src/iuse.cpp #, c-format @@ -198377,8 +203947,8 @@ msgid "You light a %s." msgstr "Te prendes un %s." #: src/iuse.cpp -msgid "Ugh, too much smoke... you feel nasty." -msgstr "Uh, demasiado humo... te sientes sucio." +msgid "Ugh, too much smoke… you feel nasty." +msgstr "" #: src/iuse.cpp msgid "You take a puff from your electronic cigarette." @@ -198393,8 +203963,8 @@ msgid "You don't have any nicotine liquid!" msgstr "¡No tienes nicotina líquida!" #: src/iuse.cpp -msgid "Ugh, too much nicotine... you feel nasty." -msgstr "Uh, demasiada nicotina... te sientes sucio." +msgid "Ugh, too much nicotine… you feel nasty." +msgstr "" #: src/iuse.cpp msgid "You take some antibiotics." @@ -198501,7 +204071,7 @@ msgstr "Dejaste de temblar." #: src/iuse.cpp msgid "" "You start scarfing down the delicious cake. It tastes a little funny " -"though..." +"though…" msgstr "" #: src/iuse.cpp @@ -198533,8 +204103,8 @@ msgid "You no longer need to fear the flu, at least for some time." msgstr "" #: src/iuse.cpp -msgid "Are you sure you want to eat this? It looks poisonous..." -msgstr "¿Seguro que te quieres comer esto? Parece venenoso..." +msgid "Are you sure you want to eat this? It looks poisonous…" +msgstr "" #: src/iuse.cpp #, c-format @@ -198554,8 +204124,8 @@ msgid "You suddenly feel hollow inside." msgstr "De repente, te sientes vacío por dentro." #: src/iuse.cpp -msgid "You feel very sleepy..." -msgstr "Sientes mucho sueño..." +msgid "You feel very sleepy…" +msgstr "" #: src/iuse.cpp msgid "You eat the datura seed." @@ -198647,10 +204217,8 @@ msgstr "" #, c-format msgid "" "As you eat the %s, you have a near-religious experience, feeling at one with" -" your surroundings..." +" your surroundings…" msgstr "" -"Te comes el/a %s, y ten una experiencia casi religiosa, sintiéndote en " -"unidad con tus alrededores..." #: src/iuse.cpp msgid "It tastes extremely strange!" @@ -198675,10 +204243,8 @@ msgstr "Le pegas una mordida, ¡Y vomitas inmediatamente!" #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into an excruciating burn" -" as you convulse, vomiting, and black out..." +" as you convulse, vomiting, and black out…" msgstr "" -"Sientes un calorcito conocido, pero de repente aumenta y se convierte en una" -" quemazón intensa y convulsionas, vomitas y te desmayas..." #: src/iuse.cpp msgctxt "memorial_male" @@ -198693,10 +204259,8 @@ msgstr "Sufrió un rechazo al marloss." #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into painful burning as " -"you convulse and collapse to the ground..." +"you convulse and collapse to the ground…" msgstr "" -"Sientes un calorcito conocido, pero de repente aumenta y se convierte en una" -" quemazón dolorosa y convulsionas y caes al suelo..." #: src/iuse.cpp src/monattack.cpp msgid "" @@ -198710,14 +204274,12 @@ msgstr "" #: src/iuse.cpp msgid "" "unity. together we have reached the door. we provide the final key. now " -"to pass through..." +"to pass through…" msgstr "" -"unidad. juntos nosotros hemos alcanzado la puerta. nosotros proveemos la " -"llave final. ahora para pasar..." #: src/iuse.cpp -msgid "You feel a strange warmth spreading throughout your body..." -msgstr "Sientes un extraño calorcito que se esparce por todo tu cuerpo..." +msgid "You feel a strange warmth spreading throughout your body…" +msgstr "" #. ~ "Uh-uh" is a sound used for "nope", "no", etc. #: src/iuse.cpp @@ -198734,9 +204296,8 @@ msgstr "" #: src/iuse.cpp #, c-format -msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." +msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." msgstr "" -"¿Seguro que te quieres comer el %s? Podrías plantarlo en una pila de tierra." #: src/iuse.cpp msgid "It tastes amazing, and you finish it quickly." @@ -198745,15 +204306,14 @@ msgstr "" #: src/iuse.cpp msgid "" "As it settles in, you feel ecstasy radiating through every part of your " -"body..." +"body…" msgstr "" #: src/iuse.cpp msgid "" "Your eyes roll back in your head. Everything dissolves into a blissful " -"haze..." +"haze…" msgstr "" -"Los ojos se te ponen en blanco. Todo se disuelve en una dichosa neblina." #. ~ The Mycus does not use the term (or encourage the concept of) "you". The #. PC is a local/native organism, but is now the Mycus. @@ -198761,13 +204321,15 @@ msgstr "" #. bent symbiotes should not need it. #. ~ We are the Mycus. #: src/iuse.cpp -msgid "We welcome into us. We have endured long in this forbidding world." +msgid "We welcome into us. We have endured long in this forbidding world." msgstr "" +"Nosotros te damos la bienvenida a nosotros. Nosotros hemos sobrevivido en " +"este mundo prohibitivo." #: src/iuse.cpp msgid "" -"A sea of white caps, waving gently. A haze of spores wafting silently over a" -" forest." +"A sea of white caps, waving gently. A haze of spores wafting silently over " +"a forest." msgstr "" #: src/iuse.cpp @@ -198776,24 +204338,22 @@ msgstr "Los nativos tienen un dicho: \"E Pluribus Unum.\" De muchos, uno." #: src/iuse.cpp msgid "" -"The blazing pink redness of the berry. The juices spreading across your " +"The blazing pink redness of the berry. The juices spreading across your " "tongue, the warmth draping over us like a lover's embrace." msgstr "" #: src/iuse.cpp msgid "" "We welcome the union of our lines in our local guide. We will prosper, and " -"unite this world. Even now, our fruits adapt to better serve local " +"unite this world. Even now, our fruits adapt to better serve local " "physiology." msgstr "" #: src/iuse.cpp msgid "" -"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " +"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " "berry, a memory that will never leave us." msgstr "" -"El azul del cielo de la semilla. Los sabores a crema y nuez entremezclándose" -" con el fruto, un recuerdo que nunca nos abandonará." #: src/iuse.cpp msgid "" @@ -198805,12 +204365,12 @@ msgstr "" #: src/iuse.cpp msgid "" -"The amber-yellow of the sap. Feel it flowing through our veins, taking the " +"The amber-yellow of the sap. Feel it flowing through our veins, taking the " "place of the strange, thin red gruel called \"blood.\"" msgstr "" #: src/iuse.cpp -msgid "This tastes really weird! You're not sure it's good for you..." +msgid "This tastes really weird! You're not sure it's good for you…" msgstr "" #: src/iuse.cpp @@ -198895,8 +204455,8 @@ msgid "You do not have that item!" msgstr "¡No tienes eso!" #: src/iuse.cpp -msgid "Which signal should activate the item?:" -msgstr "¿Qué señal activa el objeto?:" +msgid "Which signal should activate the item?" +msgstr "" #: src/iuse.cpp msgid "\"Blue\"" @@ -198938,8 +204498,8 @@ msgid "You can't fish there!" msgstr "¡No puedes pescar ahí!" #: src/iuse.cpp -msgid "You cast your line and wait to hook something..." -msgstr "Tiras la sedal y esperas a ver si enganchas algo..." +msgid "You cast your line and wait to hook something…" +msgstr "" #: src/iuse.cpp msgid "Fish are not foolish enough to go in here without bait." @@ -199146,16 +204706,6 @@ msgstr "¡KXSHHHHRRCRKLKKK!" msgid "The infernal racket dies as the noise emitter turns off." msgstr "El barullo infernal se termina cuando el emisor de ruido se apaga." -#: src/iuse.cpp -#, c-format -msgid "You learn the essential elements of %s." -msgstr "Aprendés los elementos esenciales del %s." - -#: src/iuse.cpp -#, c-format -msgid "%s to select martial arts style." -msgstr "" - #: src/iuse.cpp msgid "You pry out the fence post." msgstr "Sacas a la fuerza el poste de la valla." @@ -199576,18 +205126,27 @@ msgid "Scan the ground" msgstr "Escanear el suelo" #: src/iuse.cpp -msgid "Scan yourself" -msgstr "Escanearte a ti mismo" +msgid "Scan yourself or other person" +msgstr "" #: src/iuse.cpp msgid "Turn continuous scan on" msgstr "Encender escaneo continuo" +#: src/iuse.cpp +msgid "Scan whom?" +msgstr "" + #: src/iuse.cpp #, c-format msgid "Your radiation level: %d mSv (%d mSv from items)" msgstr "" +#: src/iuse.cpp +#, c-format +msgid "%s's radiation level: %d mSv (%d mSv from items)" +msgstr "" + #: src/iuse.cpp #, c-format msgid "The ground's radiation level: %d mSv/h" @@ -199656,6 +205215,10 @@ msgstr "¡Tick!" msgid "You've already released the handle, try throwing it instead." msgstr "Ya soltaste la palanca, ahora intenta tirarla." +#: src/iuse.cpp src/iuse_actor.cpp +msgid "You need a source of fire!" +msgstr "¡Necesitas una fuente de fuego!" + #: src/iuse.cpp msgid "You light the arrow!" msgstr "¡Encendiste la flecha!" @@ -199668,6 +205231,10 @@ msgstr "Tu cóctel molotov se apaga." msgid "You light the pack of firecrackers." msgstr "Enciendes el paquete de petardos." +#: src/iuse.cpp +msgid "ssss…" +msgstr "" + #: src/iuse.cpp msgid "You light the firecracker." msgstr "Enciendes el petardo." @@ -199682,23 +205249,23 @@ msgid "You set the timer to %s." msgstr "" #: src/iuse.cpp -msgid "You squeeze the pheromone ball..." -msgstr "Apretas la pelota de feromonas..." +msgid "You squeeze the pheromone ball…" +msgstr "" #: src/iuse.cpp -msgid " squeezes the pheromone ball..." -msgstr " apreta la pelota de feromonas..." +msgid " squeezes the pheromone ball…" +msgstr "" #: src/iuse.cpp -msgid "...but nothing happens." -msgstr "...pero no pasa nada." +msgid "…but nothing happens." +msgstr "" #: src/iuse.cpp -msgid "...and a nearby zombie becomes passive!" +msgid "…and a nearby zombie becomes passive!" msgstr "" #: src/iuse.cpp -msgid "...and several nearby zombies become passive!" +msgid "…and several nearby zombies become passive!" msgstr "" #: src/iuse.cpp @@ -199968,7 +205535,7 @@ msgid "You need a rechargeable battery cell to charge." msgstr "" #: src/iuse.cpp -msgid "You cannot do... that while mounted." +msgid "You cannot do… that while mounted." msgstr "" #: src/iuse.cpp @@ -199990,8 +205557,8 @@ msgid "You whip out your %s and start getting the tension out." msgstr "" #: src/iuse.cpp -msgid "Air swirls all over..." -msgstr "El aire se arremolina alrededor..." +msgid "Air swirls all over…" +msgstr "" #: src/iuse.cpp msgid "Air swirls around you for a moment." @@ -200027,26 +205594,26 @@ msgstr "¿Quieres extraer sangre del %s?" #: src/iuse.cpp #, c-format -msgid "You drew blood from the %s..." -msgstr "Extraés sangre del %s..." +msgid "You drew blood from the %s…" +msgstr "" #: src/iuse.cpp msgid "Draw your own blood?" msgstr "¿Quieres extraer tu propia sangre?" #: src/iuse.cpp -msgid "You drew your own blood..." -msgstr "Te extrajiste tu propia sangre..." +msgid "You drew your own blood…" +msgstr "" #: src/iuse.cpp #, c-format -msgid "...but acidic blood melts the %s, destroying it!" -msgstr "...pero la sangre ácida derrite el/a %s, ¡y lo/a destruye!" +msgid "…but acidic blood melts the %s, destroying it!" +msgstr "" #: src/iuse.cpp #, c-format -msgid "...but acidic blood damages the %s!" -msgstr "...pero la sangre ácida derrite el/a %s!" +msgid "…but acidic blood damages the %s!" +msgstr "" #: src/iuse.cpp #, c-format @@ -200147,18 +205714,10 @@ msgstr "" msgid "You mop up the spill." msgstr "Limpias el derrame con la fregona." -#: src/iuse.cpp -msgid "Ka-BOOM!" -msgstr "¡Ka-BOOM!" - #: src/iuse.cpp msgid "The fabric of space seems to decay." msgstr "La tela del espacio parece estar en descomposición." -#: src/iuse.cpp -msgid "The earth shakes!" -msgstr "¡La tierra tiembla!" - #: src/iuse.cpp #, c-format msgid "The %s glows brightly!" @@ -200188,8 +205747,8 @@ msgid "Spray what?" msgstr "¿Qué quieres grafitear?" #: src/iuse.cpp -msgid "(To delete, input one '.')" -msgstr "(Para borrar, pulsa un '.')" +msgid "(To delete, clear the text and confirm)" +msgstr "" #: src/iuse.cpp msgid "You blur the inscription on the grave." @@ -200199,10 +205758,6 @@ msgstr "" msgid "You manage to get rid of the message on the ground." msgstr "Logras borrar el mensaje que estaba en el suelo." -#: src/iuse.cpp -msgid "There isn't anything to erase here." -msgstr "Aquí no hay nada para borrar." - #: src/iuse.cpp msgid "You carve an inscription on the grave." msgstr "" @@ -200220,11 +205775,7 @@ msgid "You don't have appropriate food to heat up." msgstr "No tienes la comida apropiada para calentar." #: src/iuse.cpp -msgid "You defrost the food, but don't heat it up, since you enjoy it cold." -msgstr "" - -#: src/iuse.cpp -msgid "You defrost and heat up the food." +msgid "You start heating up the food." msgstr "" #: src/iuse.cpp @@ -200424,12 +205975,12 @@ msgstr "Reapuntás tu %s." #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s! ( %s-> %s)" +msgid "You repair your %s! ( %s-> %s)" msgstr "" #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s completely! ( %s-> %s)" +msgid "You repair your %s completely! ( %s-> %s)" msgstr "" #: src/iuse.cpp @@ -200464,12 +206015,12 @@ msgid "You reinforce your %s." msgstr "Refuerzas tu %s." #: src/iuse.cpp -msgid "Clank! Clank!" -msgstr "¡Clank! ¡Clank!" +msgid "Clank! Clank!" +msgstr "" #: src/iuse.cpp -msgid "Ring! Ring!" -msgstr "¡Ring! ¡Ring!" +msgid "Ring! Ring!" +msgstr "" #: src/iuse.cpp msgid "You cannot read a computer screen." @@ -200625,8 +206176,8 @@ msgid "Wasted time, these pictures do not provoke your senses." msgstr "Una pérdida de tiempo, estas fotos no te provocan nada." #: src/iuse.cpp -msgid "You used to have a dog like this..." -msgstr "Tú tenías un perro parecido a este..." +msgid "You used to have a dog like this…" +msgstr "" #: src/iuse.cpp msgid "Ha-ha! An amusing cat photo." @@ -200637,8 +206188,8 @@ msgid "Excellent pictures of nature." msgstr "Excelentes imágenes de la naturaleza." #: src/iuse.cpp -msgid "Food photos... your stomach rumbles!" -msgstr "Foto de comida... ¡Te ruge la barriga!" +msgid "Food photos… your stomach rumbles!" +msgstr "" #: src/iuse.cpp msgid "Some very interesting travel photos." @@ -201102,12 +206653,12 @@ msgid "A %s got in the way of your photo." msgstr "Un %s se metió en el medio de la foto." #: src/iuse.cpp -msgid "Strange... there's nothing in the center of picture?" +msgid "Strange… there's nothing in the center of picture?" msgstr "" #: src/iuse.cpp #, c-format -msgid "Strange... %s's not visible on the picture?" +msgid "Strange… %s's not visible on the picture?" msgstr "" #: src/iuse.cpp @@ -201231,8 +206782,8 @@ msgstr "Armas tu coche radiocontrol con %s." #: src/iuse.cpp #, c-format -msgid "RC car with %s ? How?" -msgstr "¿El coche radiocontrol con %s ? ¿Cómo?" +msgid "RC car with %s? How?" +msgstr "" #: src/iuse.cpp #, c-format @@ -201241,25 +206792,25 @@ msgstr "" "Tu %s es demasiado pesado o incómodo para este coche a control remoto." #: src/iuse.cpp -msgid "You disarmed your RC car" -msgstr "Desarmas el coche radiocontrol" +msgid "You disarmed your RC car." +msgstr "" #. ~Sound of a radio controlled car moving around #: src/iuse.cpp -msgid "buzzz..." -msgstr "buzzz..." +msgid "buzzz…" +msgstr "" #: src/iuse.cpp msgid "What to do with activated RC car?" msgstr "¿Qué quieres hacer con el coche radiocontrol activado?" #: src/iuse.cpp -msgid "You turned off your RC car" -msgstr "Apagas tu coche radiocontrol" +msgid "You turned off your RC car." +msgstr "" -#: src/iuse.cpp src/map.cpp -msgid "beep." -msgstr "bip." +#: src/iuse.cpp +msgid "beep" +msgstr "" #: src/iuse.cpp msgid "Take control of RC car" @@ -201296,11 +206847,16 @@ msgstr "Tomas el control del coche radiocontrol." #: src/iuse.cpp #, c-format msgid "" -"The %s in you inventory would explode on this signal. Place it down before " +"The %s in your inventory would explode on this signal. Place it down before" +" sending the signal." +msgstr "" + +#: src/iuse.cpp +#, c-format +msgid "" +"The %1$s in your %2$s would explode on this signal. Place it down before " "sending the signal." msgstr "" -"El %s en tu inventario explotará con esta señal. Ponelo en algún lugar antes" -" de mandarle la señal." #: src/iuse.cpp msgid "This vehicle's security system has locked you out!" @@ -201368,6 +206924,12 @@ msgstr "Controlar un vehículo." msgid "Execute one vehicle action" msgstr "Realizar una acción con el vehículo" +#: src/iuse.cpp +msgid "" +"Despite using a controller, you still refuse to take control of this " +"vehicle." +msgstr "" + #: src/iuse.cpp msgid "You take control of the vehicle." msgstr "Tomas control del vehículo." @@ -201389,8 +206951,8 @@ msgstr "" #. ~ Single-spaced & lowercase are intentional, conveying hurried speech-KA101 #: src/iuse.cpp -msgid "Are you sure?! the multi-cooker wants to poison your food!" -msgstr "¡¿Estás seguro!? la multicocina quiere envenenar tu comida!" +msgid "Are you sure?! the multi-cooker wants to poison your food!" +msgstr "" #: src/iuse.cpp msgid "" @@ -201434,8 +206996,8 @@ msgid "The cycle will be completed in %s." msgstr "" #: src/iuse.cpp -msgid "The multi-cooker should be finishing shortly..." -msgstr "La multicocina debería estar terminando dentro de poco..." +msgid "The multi-cooker should be finishing shortly…" +msgstr "" #. ~ sound of a multi-cooker finishing its cycle! #: src/iuse.cpp @@ -201515,8 +207077,8 @@ msgstr "" " empieza a temblar." #: src/iuse.cpp -msgid "Your morale is too low to craft..." -msgstr "Tu moral es demasiado baja como para fabricar algo..." +msgid "Your morale is too low to craft…" +msgstr "" #: src/iuse.cpp #, c-format @@ -201648,8 +207210,8 @@ msgstr "Necesitas jabón para usar esto." #: src/iuse.cpp #, c-format -msgid "The %s's monitor slowly outputs the data..." -msgstr "El monitor del %s comienza lentamente a elaborar la información..." +msgid "The %s's monitor slowly outputs the data…" +msgstr "" #: src/iuse.cpp #, c-format @@ -201790,7 +207352,7 @@ msgid "You break the stick, but one half shatters into splinters." msgstr "" #: src/iuse.cpp -msgid "The throbbing of the infection diminishes. Slightly." +msgid "The throbbing of the infection diminishes. Slightly." msgstr "" #: src/iuse.cpp @@ -201812,7 +207374,7 @@ msgstr "Abres un/a %s." #: src/iuse.cpp msgid "" -"Simply taking more magnesium won't help. You have to go to sleep for it to " +"Simply taking more magnesium won't help. You have to go to sleep for it to " "work." msgstr "" @@ -202083,8 +207645,8 @@ msgid "With a satisfying click, the lock on the door opens." msgstr "Con un satisfactorio click, la cerradura de la puerta se abre." #: src/iuse_actor.cpp -msgid "The door swings open..." -msgstr "La puerta se abre..." +msgid "The door swings open…" +msgstr "" #: src/iuse_actor.cpp msgid "The lock stumps your efforts to pick it, and you destroy your tool." @@ -202194,18 +207756,16 @@ msgstr "Ahí ya hay fuego." #: src/iuse_actor.cpp msgid "" -"There's a brazier there but you haven't set it up to contain the fire. " +"There's a brazier there but you haven't set it up to contain the fire. " "Continue?" msgstr "" -"Hay un brasero ahí pero no lo pusiste como para que pueda contener el fuego." -" ¿Quieres continuar?" #: src/iuse_actor.cpp msgid "You successfully light a fire." msgstr "Prendes un fuego exitosamente." #: src/iuse_actor.cpp -msgid "You light a fire, but it isn't enough. You need to light more." +msgid "You light a fire, but it isn't enough. You need to light more." msgstr "" #: src/iuse_actor.cpp @@ -202316,8 +207876,15 @@ msgid "It's a note" msgstr "Es una nota" #: src/iuse_actor.cpp -msgid "(To delete, input one '.')\n" -msgstr "(Para borrar, pulsa un '.')\n" +msgid "(To delete, clear the text and confirm)\n" +msgstr "" + +#. ~ %1$s: gerund (e.g. carved), %2$s: item name +#: src/iuse_actor.cpp +#, c-format +msgctxt "carving" +msgid "%1$s on the %2$s is: " +msgstr "%1$s en el %2$s es: " #: src/iuse_actor.cpp #, c-format @@ -202341,6 +207908,11 @@ msgstr "Un objeto" msgid "Inscribe which item?" msgstr "¿Qué objeto quieres grabar?" +#: src/iuse_actor.cpp +#, c-format +msgid "You try to bend your %s, but fail." +msgstr "" + #: src/iuse_actor.cpp msgid "You cauterize yourself." msgstr "Te cauterizás a ti mismo." @@ -202393,8 +207965,8 @@ msgid "Make love, not zlave." msgstr "Haz el amor, no eZclavos." #: src/iuse_actor.cpp -msgid "Well, it's more constructive than just chopping 'em into gooey meat..." -msgstr "Bueno, es más productivo que hacerlos puré viscoso..." +msgid "Well, it's more constructive than just chopping 'em into gooey meat…" +msgstr "" #: src/iuse_actor.cpp msgid "You feel horrible for mutilating and enslaving someone's corpse." @@ -202689,8 +208261,8 @@ msgstr "%s (se repara con %s)" #: src/iuse_actor.cpp #, c-format -msgid "You don't have enough %s to do that. Have: %d, need: %d" -msgstr "No tienes suficiente %s para hacer eso. Tienes: %d, necesitas: %d" +msgid "You don't have enough %s to do that. Have: %d, need: %d" +msgstr "" #: src/iuse_actor.cpp msgid "That requires gunsmithing tools." @@ -202711,7 +208283,7 @@ msgstr "Tu %s ya está mejorado a su potencial máximo." #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s! ( %s-> %s)" +msgid "You damage your %s! ( %s-> %s)" msgstr "" #: src/iuse_actor.cpp @@ -202904,8 +208476,8 @@ msgstr "Movimientos para usar: " #: src/iuse_actor.cpp #, c-format -msgid "Yeah. Place the %s at your feet. Real damn smart move." -msgstr "Sí. Pon el %s a tus pies. Una idea bastante asquerosa." +msgid "Yeah. Place the %s at your feet. Real damn smart move." +msgstr "" #: src/iuse_actor.cpp #, c-format @@ -202924,8 +208496,8 @@ msgstr "El %s necesita un %s al lado." #: src/iuse_actor.cpp #, c-format -msgid "You can't place a %s there. It contains a trap already." -msgstr "No puedes poner un %s ahí. Ya tiene una trampa." +msgid "You can't place a %s there. It contains a trap already." +msgstr "" #: src/iuse_actor.cpp #, c-format @@ -203013,6 +208585,10 @@ msgstr "Ninguna de las modificaciones puede quitarse." msgid "Has to be taken off first." msgstr "" +#: src/iuse_actor.cpp +msgid "You quiver with anticipation…" +msgstr "" + #: src/iuse_actor.cpp msgid "You suddenly feel dizzy, and collapse to the ground." msgstr "De repente, te sientes mareado y te caes al suelo." @@ -203081,9 +208657,30 @@ msgstr "" msgid "How do you want to modify it?" msgstr "¿Cómo quieres modificarlo?" +#. ~ %1$s: modification desc, %2$d: number of thread needed +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (need %2$d thread loaded)" +msgstr "" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items needed +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (need %2$d %3$s)" +msgstr "" + +#. ~ %1$s: modification desc, %2$s: mod name +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (incompatible with %2$s)" +msgstr "" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items +#. needed, %4$s: number of thread needed #: src/iuse_actor.cpp -msgid "Not enough thread to modify. Which modification do you want to remove?" -msgstr "No tiene suficiente hilo. ¿Qué modificación quieres quitarle?" +#, c-format +msgid "%1$s (%2$d %3$s and %4$d thread)" +msgstr "" #: src/iuse_actor.cpp msgid "Bash" @@ -203115,7 +208712,7 @@ msgstr "¿Estás seguro? No vas a recuperar ningún material." #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s trying to modify it! ( %s-> %s)" +msgid "You damage your %s trying to modify it! ( %s-> %s)" msgstr "" #: src/iuse_actor.cpp @@ -203132,6 +208729,14 @@ msgstr "Modificaste tu %s, pero desperdiciaste mucho hilo." msgid "You modify your %s!" msgstr "¡Modificaste tu %s!" +#: src/iuse_actor.h +msgid "Carve" +msgstr "Tallar" + +#: src/iuse_actor.h +msgid "Carved" +msgstr "Tallado" + #: src/iuse_software.cpp msgid "You found kitten!" msgstr "¡Encontraste al gatito!" @@ -203157,8 +208762,8 @@ msgid "It's an altar to the horse god." msgstr "Es un altar del dios caballo." #: src/iuse_software_kitten.cpp -msgid "A box of dancing mechanical pencils. They dance! They sing!" -msgstr "Es una caja de pinceles mecánicos bailarines. ¡Bailan! ¡Cantan!" +msgid "A box of dancing mechanical pencils. They dance! They sing!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's an old Duke Ellington record." @@ -203169,8 +208774,8 @@ msgid "A box of fumigation pellets." msgstr "Es una caja de perdigones de fumigación." #: src/iuse_software_kitten.cpp -msgid "A digital clock. It's stuck at 2:17 PM." -msgstr "Es un reloj digital. Está parado en 2:17 PM." +msgid "A digital clock. It's stuck at 2:17 PM." +msgstr "" #: src/iuse_software_kitten.cpp msgid "That's just a charred human corpse." @@ -203181,16 +208786,16 @@ msgid "I don't know what that is, but it's not kitten." msgstr "No sé qué es eso, pero no es un gatito." #: src/iuse_software_kitten.cpp -msgid "An empty shopping bag. Paper or plastic?" -msgstr "Es una bolsa de supermercado vacía. ¿Papel o plástico?" +msgid "An empty shopping bag. Paper or plastic?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "Could it be... a big ugly bowling trophy?" -msgstr "Podría ser... ¿Un horrible y enorme trofeo de bolos?" +msgid "Could it be… a big ugly bowling trophy?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "A coat hanger hovers in thin air. Odd." -msgstr "Es un perchero que flota en el aire. Extraño." +msgid "A coat hanger hovers in thin air. Odd." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Not kitten, just a packet of Kool-Aid(tm)." @@ -203213,8 +208818,8 @@ msgid "It's Richard Nixon's nose!" msgstr "¡Es la nariz de Richard Nixon!" #: src/iuse_software_kitten.cpp -msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." -msgstr "Es Lucy Ricardo. \"¡Aaaah, Ricky!\", dice." +msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." +msgstr "" #: src/iuse_software_kitten.cpp msgid "You stumble upon Bill Gates' stand-up act." @@ -203225,8 +208830,8 @@ msgid "Just an autographed copy of the Kama Sutra." msgstr "Es solo una copia autografiada del Kama Sutra." #: src/iuse_software_kitten.cpp -msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" -msgstr "Es la autopista Will Rogers. Pero igual ¿quién fue Will Rogers?" +msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" +msgstr "" #: src/iuse_software_kitten.cpp msgid "" @@ -203289,10 +208894,8 @@ msgid "It's a mighty zombie talking about some love and prosperity." msgstr "Es un poderoso zombi hablando acerca de amor y prosperidad." #: src/iuse_software_kitten.cpp -msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize...\"" +msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize…\"" msgstr "" -"\"Querido robot, tal vez ya hayas ganado nuestro premio de 10 MILLONES DE " -"DÓLARES...\"" #: src/iuse_software_kitten.cpp msgid "It's just an object." @@ -203336,9 +208939,9 @@ msgid "It's some compromising photos of Babar the Elephant." msgstr "Son unas fotos comprometedoras de Babar el Elefante." #: src/iuse_software_kitten.cpp -msgid "A copy of the Weekly World News. Watch out for the chambered nautilus!" +msgid "" +"A copy of the Weekly World News. Watch out for the chambered nautilus!" msgstr "" -"Es una copia de Weekly World News. ¡Prestale atención al Nautilus pompilius!" #: src/iuse_software_kitten.cpp msgid "It's the proverbial wet blanket." @@ -203357,31 +208960,28 @@ msgid "Paul Moyer's necktie." msgstr "Es la corbata de Paul Moyer." #: src/iuse_software_kitten.cpp -msgid "A haircut and a real job. Now you know where to get one!" +msgid "A haircut and a real job. Now you know where to get one!" msgstr "" -"Un corte pelo y un trabajo de en serio. ¡Ahora ya sabés dónde conseguirlo!" #: src/iuse_software_kitten.cpp -msgid "An automated robot-hater. It frowns disapprovingly at you." +msgid "An automated robot-hater. It frowns disapprovingly at you." msgstr "" -"Es un odiador de robots automatizado. Te está frunciendo el ceño de manera " -"desaprobatoria." #: src/iuse_software_kitten.cpp -msgid "An automated robot-liker. It smiles at you." -msgstr "Un robot que gusta a los robots. Te sonríe." +msgid "An automated robot-liker. It smiles at you." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a black hole. Don't fall in!" -msgstr "Es un agujero negro. ¡No te caigas adentro!" +msgid "It's a black hole. Don't fall in!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "Just a big brick wall." msgstr "Es solo una pared grande de ladrillos." #: src/iuse_software_kitten.cpp -msgid "You found kitten! No, just kidding." -msgstr "¡Encontraste a un gatito! No, era un chiste." +msgid "You found kitten! No, just kidding." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Heart of Darkness brand pistachio nuts." @@ -203437,16 +209037,16 @@ msgid "It's the constellation Pisces." msgstr "Es la constelación Piscis." #: src/iuse_software_kitten.cpp -msgid "It's a fly on the wall. Hi, fly!" -msgstr "Es una mosca en la pared. ¡Hola, mosca!" +msgid "It's a fly on the wall. Hi, fly!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "This kind of looks like kitten, but it's not." msgstr "Esto medio como que se parece a un gatito, pero no lo es." #: src/iuse_software_kitten.cpp -msgid "It's a banana! Oh, joy!" -msgstr "¡Es una banana! ¡Ah, alegría!" +msgid "It's a banana! Oh, joy!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "A helicopter has crashed here." @@ -203474,13 +209074,12 @@ msgid "A geyser sprays water high into the air." msgstr "Un géiser tira agua muy alto para arriba." #: src/iuse_software_kitten.cpp -msgid "A toenail? What good is a toenail?" +msgid "A toenail? What good is a toenail?" msgstr "" -"¿La uña de un dedo del pie? ¿Para qué sirve la uña de un dedo del pie?" #: src/iuse_software_kitten.cpp -msgid "You've found the fish! Not that it does you much good in this game." -msgstr "¡Encontraste el pescado! Aunque no te sirve de mucho en este juego." +msgid "You've found the fish! Not that it does you much good in this game." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A Buttertonsils bar." @@ -203504,8 +209103,8 @@ msgid "It's nothing but a G-thang, baby." msgstr "No es nada más que un G-thang, nena." #: src/iuse_software_kitten.cpp -msgid "IT'S ALIVE! AH HA HA HA HA!" -msgstr "¡ESTÁ VIVO! ¡AH JA JA JA JA!" +msgid "IT'S ALIVE! AH HA HA HA HA!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "This was no boating accident!" @@ -203513,14 +209112,12 @@ msgstr "¡Esto no fue un accidente de barcos!" #: src/iuse_software_kitten.cpp msgid "" -"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" +"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" msgstr "" -"¡Esperá! ¡Esta no es la ficha de poker! ¡Te engañaron! ¡MALDITO SEAS, " -"MENDEZ!" #: src/iuse_software_kitten.cpp -msgid "A livery stable! Get your livery!" -msgstr "¡Es un establo! ¡Coge tu caballo!" +msgid "A livery stable! Get your livery!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's a perpetual immobility machine." @@ -203540,31 +209137,29 @@ msgstr "¡La Bola de Matzah Más Grande del Mundo!" #: src/iuse_software_kitten.cpp msgid "" -"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " +"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " "know." msgstr "" -"Una tribu de caníbales vive aquí. Comen cereales Malt-O-Meal en el desayuno," -" para que sepas." #: src/iuse_software_kitten.cpp msgid "This appears to be a rather large stack of trashy romance novels." msgstr "Esto parece ser un montón grande de horribles novelas de romance." #: src/iuse_software_kitten.cpp -msgid "Look out! Exclamation points!" -msgstr "¡Cuidado! ¡Signos de exclamación!" +msgid "Look out! Exclamation points!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "A herd of wild coffee mugs slumbers here." msgstr "Aquí duerme un rebaño de tazas de café salvajes." #: src/iuse_software_kitten.cpp -msgid "It's a limbo bar! How low can you go?" -msgstr "¡Es un bar de limbo! ¿Cuánto te puedes agachar?" +msgid "It's a limbo bar! How low can you go?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's the horizon. Now THAT'S weird." -msgstr "Es el horizonte. ESO es raro." +msgid "It's the horizon. Now THAT'S weird." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A vase full of artificial flowers is stuck to the floor here." @@ -203581,28 +209176,26 @@ msgstr "" "hacia atrás y hacia adelante." #: src/iuse_software_kitten.cpp -msgid "It's an ordinary bust of Beethoven... but why is it painted green?" +msgid "It's an ordinary bust of Beethoven… but why is it painted green?" msgstr "" -"Es un ordinario busto de beethoven... pero ¿por qué está pintado de verde?" #: src/iuse_software_kitten.cpp -msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." -msgstr "¡Es el adorable cuervo bromista de la tele! \"¡Muérdeme!\", dice." +msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." +msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"Hey, look, it's war. What is it good for? Absolutely nothing. Say it again." +"Hey, look, it's war. What is it good for? Absolutely nothing. Say it " +"again." msgstr "" -"Oye, mira, es la guerra. ¿Para qué sirve? Absolutamente nada. Dilo de nuevo." #: src/iuse_software_kitten.cpp msgid "It's the amazing self-referential thing that's not kitten." msgstr "Es la maravillosa cosa autoreferencial que no es un gatito." #: src/iuse_software_kitten.cpp -msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" +msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" msgstr "" -"Es una llamativa boa de plumas. ¡Ahora te puedes vestir como Carol Channing!" #: src/iuse_software_kitten.cpp msgid "\"Sure hope we get some rain soon,\" says Farmer Joe." @@ -203623,11 +209216,9 @@ msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"This is a large brown bear. Oddly enough, it's currently peeing in the " +"This is a large brown bear. Oddly enough, it's currently peeing in the " "woods." msgstr "" -"Esto es un gran oso pardo. Por raro que parezca, ahora está meando en el " -"bosque." #: src/iuse_software_kitten.cpp msgid "A team of arctic explorers is camped here." @@ -203655,30 +209246,26 @@ msgstr "Es un holograma de un helicóptero estrellado." #: src/iuse_software_kitten.cpp msgid "" -"This is a television. On screen you see a robot strangely similar to " +"This is a television. On screen you see a robot strangely similar to " "yourself." msgstr "" -"Esto es un televisor. En la pantalla ves un robot extrañamente similar a ti " -"mismo." #: src/iuse_software_kitten.cpp msgid "This balogna has a first name, it's R-A-N-C-I-D." msgstr "Esta salchicha de Bolonia tiene nombre, es R-A-N-C-I-A." #: src/iuse_software_kitten.cpp -msgid "A salmon hatchery? Look again. It's merely a single salmon." -msgstr "¿Un criadero de salmones? Fijate mejor. Es meramente un salmón solo." +msgid "A salmon hatchery? Look again. It's merely a single salmon." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a rim shot. Ba-da-boom!" -msgstr "Es un rim shot. ¡Ba-da-boom!" +msgid "It's a rim shot. Ba-da-boom!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." +"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." msgstr "" -"Es excéntrico y es escalofriante, misterioso y espeluznante. Y también un " -"poco espantoso." #: src/iuse_software_kitten.cpp msgid "This is an anagram." @@ -203689,30 +209276,26 @@ msgid "This object is like an analogy." msgstr "Este objeto es como una analogía." #: src/iuse_software_kitten.cpp -msgid "It's a symbol. You see in it a model for all symbols everywhere." +msgid "It's a symbol. You see in it a model for all symbols everywhere." msgstr "" -"Es un símbolo. Ves en él un modelo para todos los símbolos de todos lados." #: src/iuse_software_kitten.cpp msgid "The object pushes back at you." msgstr "El objeto retrocede ante ti." #: src/iuse_software_kitten.cpp -msgid "A traffic signal. It appears to have been recently vandalized." +msgid "A traffic signal. It appears to have been recently vandalized." msgstr "" -"Es un cartel de tránsito. Parece que ha sido vandalizado recientemente." #: src/iuse_software_kitten.cpp msgid "" -"\"There is no kitten!\" cackles the old crone. You are shocked by her " +"\"There is no kitten!\" cackles the old crone. You are shocked by her " "blasphemy." msgstr "" -"\"¡No existe un gatito!\" ríe a carcajadas la vieja bruja. Estás asombrado " -"por su blasfemia." #: src/iuse_software_kitten.cpp -msgid "This is a Lagrange point. Don't come too close now." -msgstr "Esto es un punto de Lagrange. No te acerques mucho ahora." +msgid "This is a Lagrange point. Don't come too close now." +msgstr "" #: src/iuse_software_kitten.cpp msgid "The dirty old tramp bemoans the loss of his harmonica." @@ -203732,9 +209315,8 @@ msgstr "" "Es el manual de instrucciones para una versión anterior de este juego." #: src/iuse_software_kitten.cpp -msgid "A brain cell. Oddly enough, it seems to be functioning." +msgid "A brain cell. Oddly enough, it seems to be functioning." msgstr "" -"Es una célula cerebral. Lo que es raro es que parece que está funcionando." #: src/iuse_software_kitten.cpp msgid "Tea and/or crumpets." @@ -203749,17 +209331,16 @@ msgid "It's a Quaker Oatmeal tube, converted into a drum." msgstr "Es un tubo de Avena Quaker, convertido en un tambor." #: src/iuse_software_kitten.cpp -msgid "This is a remote control. Being a robot, you keep a wide berth." +msgid "This is a remote control. Being a robot, you keep a wide berth." msgstr "" -"Esto es un control remoto. Siendo un robot, intentás mantenerte alejado." #: src/iuse_software_kitten.cpp msgid "It's a roll of industrial-strength copper wire." msgstr "Es un rollo de cable de cobre industrial." #: src/iuse_software_kitten.cpp -msgid "Oh boy! Grub! Er, grubs." -msgstr "¡Oh, dios! ¡Larva! Eh, larvas." +msgid "Oh boy! Grub! Er, grubs." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A puddle of mud, where the mudskippers play." @@ -203786,20 +209367,20 @@ msgid "An autographed copy of \"Primary Colors\", by Anonymous." msgstr "Es una copia autografiada de \"Colores primarios\", de Anónimo." #: src/iuse_software_kitten.cpp -msgid "Another rabbit? That's three today!" -msgstr "¿Otro conejo? ¡Con ese ya son tres hoy!" +msgid "Another rabbit? That's three today!" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a segmentation fault. Core dumped, by the way." -msgstr "Es un fallo de segmentación. Con un \"core dumped\", eso sí." +msgid "It's a segmentation fault. Core dumped, by the way." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A historical marker showing the actual location of /dev/null." msgstr "Es una marca histórica mostrando el lugar actual de /dev/null." #: src/iuse_software_kitten.cpp -msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" -msgstr "Esa es Mobi Dick, la ballena complicada. ¡Arrr!" +msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's a charcoal briquette, smoking away." @@ -203818,8 +209399,8 @@ msgid "A stack of 7 inch floppies wobbles precariously." msgstr "Es una pila de disquetes de 7 pulgadas que se tambalea precariamente." #: src/iuse_software_kitten.cpp -msgid "It's nothing but a corrupted floppy. Coaster anyone?" -msgstr "No es más que un disquete corrupto. ¿Alguien necesita un posavasos?" +msgid "It's nothing but a corrupted floppy. Coaster anyone?" +msgstr "" #: src/iuse_software_kitten.cpp msgid "A section of glowing phosphor cells sings a song of radiation to you." @@ -203864,8 +209445,8 @@ msgid "It's the missing chapter to \"A Clockwork Orange\"." msgstr "Es el capítulo perdido de \"La naranja mecánica\"." #: src/iuse_software_kitten.cpp -msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." -msgstr "Es un folleto de un puesto de burritos. \"Taquería El Ranchito\"." +msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." +msgstr "" #: src/iuse_software_kitten.cpp msgid "This smiling family is happy because they eat LARD." @@ -203892,29 +209473,24 @@ msgid "A forgotten telephone switchboard operator." msgstr "Es una olvidada operadora de centralita de teléfono." #: src/iuse_software_kitten.cpp -msgid "It's an automated robot-disdainer. It pretends you're not there." +msgid "It's an automated robot-disdainer. It pretends you're not there." msgstr "" -"Es un robot desestabilizador automatizado. Hace como si no estuvieras ahí." #: src/iuse_software_kitten.cpp -msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." -msgstr "Es un agujero portátil. Un cartel dice: \"Cerrado por el invierno\"." +msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Just a moldy loaf of bread." msgstr "Es solo una rodaja mohosa de pan." #: src/iuse_software_kitten.cpp -msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." +msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." msgstr "" -"Es un pequeño tubo de cristal de Carmex. ($.89) Lástima que no tengas " -"labios." #: src/iuse_software_kitten.cpp -msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" +msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" msgstr "" -"Es una navaja multiusos. Todos sus accesorios están para afuera (el palillo " -"de dientes se perdió)" #: src/iuse_software_kitten.cpp msgid "It's a zen simulation, trapped within an ASCII character." @@ -203935,18 +209511,16 @@ msgstr "" "frutas." #: src/iuse_software_kitten.cpp -msgid "A robot comedian. You feel amused." -msgstr "Es un robot comediante. Te divierte." +msgid "A robot comedian. You feel amused." +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's KITT, the talking car." msgstr "Es KITT, el coche fantastico." #: src/iuse_software_kitten.cpp -msgid "Here's Pete Peterson. His batteries seem to have long gone dead." +msgid "Here's Pete Peterson. His batteries seem to have long gone dead." msgstr "" -"Aquí está Pete Peterson. Sus baterías parecen haber muerto hace mucho " -"tiempo." #: src/iuse_software_kitten.cpp msgid "\"Blup, blup, blup\", says the mud pot." @@ -203973,18 +209547,16 @@ msgid "Pumpkin pie spice." msgstr "Es especia de tarta de calabaza." #: src/iuse_software_kitten.cpp -msgid "It's the Bass-Matic '76! Mmm, that's good bass!" -msgstr "¡Es el Bass-Matic '76! ¡Mmm, eso es un buen bajo!" +msgid "It's the Bass-Matic '76! Mmm, that's good bass!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "\"Lend us a fiver 'til Thursday\", pleas Andy Capp." msgstr "\"Préstanos cinco hasta el jueves\", suplica Andy Capp." #: src/iuse_software_kitten.cpp -msgid "It's a tape of '70s rock. All original hits! All original artists!" +msgid "It's a tape of '70s rock. All original hits! All original artists!" msgstr "" -"Es un casete con rock de los '70. ¡Todos éxitos originales! ¡Todos artistas " -"originales!" #: src/iuse_software_kitten.cpp msgid "You've found the fabled America Online disk graveyard!" @@ -204000,15 +209572,13 @@ msgstr "Es el asombroso meta-objeto." #: src/iuse_software_kitten.cpp msgid "" -"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " +"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " "SIR!\"" msgstr "" -"Ahí está Ed McMahon, perdido en sus pensamientos. Al verte, te grita, \"¡SÍ," -" SEÑOR!\"" #: src/iuse_software_kitten.cpp -msgid "...thingy???" -msgstr "...coso???" +msgid "…thingy???" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's 1000 secrets the government doesn't want you to know!" @@ -204019,11 +209589,11 @@ msgid "The letters O and R." msgstr "Son las letras O y R." #: src/iuse_software_kitten.cpp -msgid "A magical... magic thing." -msgstr "Es un mágico... una cosa mágica." +msgid "A magical… magic thing." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" +msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" msgstr "" #: src/iuse_software_kitten.cpp @@ -204056,9 +209626,9 @@ msgstr ")." #: src/iuse_software_kitten.cpp msgid "" -"Your job is to find kitten. This task is complicated by the existence of " -"various things which are not kitten. Robot must touch items to determine if " -"they are kitten or not. The game ends when robot finds kitten. " +"Your job is to find kitten. This task is complicated by the existence of " +"various things which are not kitten. Robot must touch items to determine if" +" they are kitten or not. The game ends when robot finds kitten. " "Alternatively, you may end the game by hitting 'q', 'Q' or the Escape key." msgstr "" @@ -204071,8 +209641,8 @@ msgid "Invalid command: Use direction keys or press 'q'." msgstr "Comando no válido: Usas las teclas de dirección o pulsa 'q'." #: src/iuse_software_kitten.cpp -msgid "You found kitten! Way to go, robot!" -msgstr "¡Encontraste a un gatito! ¡Así se hace, robot!" +msgid "You found kitten! Way to go, robot!" +msgstr "" #: src/iuse_software_lightson.cpp msgid " toggle lights" @@ -204144,8 +209714,8 @@ msgid "lag" msgstr "- bandera" #: src/iuse_software_minesweeper.cpp -msgid "Boom, you're dead! Better luck next time." -msgstr "¡Buuum, estás muerto! Que tengas mejor suerte la próxima." +msgid "Boom, you're dead! Better luck next time." +msgstr "" #: src/iuse_software_snake.cpp src/iuse_software_sokoban.cpp #, c-format @@ -204447,6 +210017,10 @@ msgstr "" msgid "You cast %s!" msgstr "" +#: src/magic.cpp +msgid "an explosion" +msgstr "" + #: src/magic.cpp msgid "Too Difficult!" msgstr "" @@ -204479,10 +210053,6 @@ msgstr "" msgid "infinite" msgstr "" -#: src/magic.cpp -msgid "an explosion" -msgstr "" - #: src/magic.cpp #, c-format msgid "%s and %s" @@ -204521,6 +210091,23 @@ msgstr "" msgid "All knowledge of %s leaves you." msgstr "" +#: src/magic.cpp +msgid "Choose a new hotkey for this spell." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey already used." +msgstr "" + +#: src/magic.cpp +#, c-format +msgid "%c set. Close and reopen spell menu to refresh list with changes." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey removed." +msgstr "" + #: src/magic.cpp msgid "Ignore Distractions" msgstr "" @@ -204529,6 +210116,10 @@ msgstr "" msgid "Popup Distractions" msgstr "" +#: src/magic.cpp +msgid "Assign Hotkey [=]" +msgstr "" + #: src/magic.cpp msgid "requires concentration" msgstr "" @@ -204593,6 +210184,10 @@ msgstr "" msgid "Casting Cost (impeded)" msgstr "" +#: src/magic.cpp +msgid "Not Enough Energy" +msgstr "" + #: src/magic.cpp msgid "Casting Time" msgstr "" @@ -204661,18 +210256,22 @@ msgstr "" msgid "Damage Type" msgstr "" +#. ~ translation should not exceed 10 console cells #: src/magic.cpp msgid "Stat Gain" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "lvl 0" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "per lvl" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "max lvl" msgstr "" @@ -204726,8 +210325,8 @@ msgid "Choose Translocator Gate" msgstr "" #: src/main.cpp -msgid "Really Quit? All unsaved changes will be lost." -msgstr "¿Seguro que quieres Salir? Se perderán los cambios que no guardaste." +msgid "Really Quit? All unsaved changes will be lost." +msgstr "" #: src/main_menu.cpp msgid "Bugs? Suggestions? Use links in MOTD to report them." @@ -204846,19 +210445,23 @@ msgid "olors" msgstr "-Colores" #: src/main_menu.cpp -msgid "Unable to make config directory. Check permissions." -msgstr "No se pudo crear directorio de configuración. Revisá los permisos." +msgid "Unable to make config directory. Check permissions." +msgstr "" + +#: src/main_menu.cpp +msgid "Unable to make save directory. Check permissions." +msgstr "" #: src/main_menu.cpp -msgid "Unable to make save directory. Check permissions." -msgstr "No se pudo crear directorio para guardar. Revisá los permisos." +msgid "Unable to make templates directory. Check permissions." +msgstr "" #: src/main_menu.cpp -msgid "Unable to make templates directory. Check permissions." -msgstr "No se pudo crear directorio para plantillas. Revisá los permisos." +msgid "Unable to make sound directory. Check permissions." +msgstr "" #: src/main_menu.cpp -msgid "Unable to make sound directory. Check permissions." +msgid "Unable to make graphics directory. Check permissions." msgstr "" #: src/main_menu.cpp @@ -204886,8 +210489,8 @@ msgstr "-Personaje Aleatorio" #: src/main_menu.cpp msgctxt "Main Menu|New Game" -msgid "Play Now! (ixed Scenario)" -msgstr "¡Jugar Ya! (Escenario ijo)" +msgid "Play Now! (ixed Scenario)" +msgstr "" #: src/main_menu.cpp msgctxt "Main Menu|New Game" @@ -204935,6 +210538,12 @@ msgstr "Solo el administrador puede cambiar mundos." msgid "Create World" msgstr "Crear Mundo" +#. ~ %1$s: vehicle name +#: src/map.cpp +#, c-format +msgid "weight of %1$s" +msgstr "" + #: src/map.cpp #, c-format msgid "The %1$s's %2$s collides with %3$s's %4$s." @@ -204996,6 +210605,17 @@ msgstr "¡Te golpea %s que cae!" msgid "Falling %s hits " msgstr "%s que cae golpea a ." +#: src/map.cpp +#, c-format +msgid "The %s damages several items!" +msgstr "" + +#. ~ %1$s: the cause of damage, %2$s: damaged item name +#: src/map.cpp +#, c-format +msgid "The %1$s damages the %2$s!" +msgstr "" + #: src/map.cpp msgid "an alarm go off!" msgstr "¡el sonido de una alarma!" @@ -205012,18 +210632,34 @@ msgstr "¡Eres aplastado por los escombros que caen!" msgid " is crushed by the falling debris!" msgstr "¡ es aplastado por los escombros que caen!" -#: src/map.cpp -msgid "The shot is stopped by the reinforced glass wall!" -msgstr "¡El disparo es frenado por la pared de cristal reforzado!" - #: src/map.cpp msgid "The shot is stopped by the reinforced glass door!" msgstr "¡El disparo es frenado por la puerta de vidrio reforzado!" +#: src/map.cpp +msgid "The shot is stopped by the reinforced glass wall!" +msgstr "¡El disparo es frenado por la pared de cristal reforzado!" + #: src/map.cpp msgid "ke-rash!" msgstr "ke-rash!" +#: src/map.cpp +msgid "laser beam" +msgstr "" + +#: src/map.cpp +msgid "bolt of electricity" +msgstr "" + +#: src/map.cpp +msgid "bolt of plasma" +msgstr "" + +#: src/map.cpp +msgid "flying projectile" +msgstr "" + #: src/map.cpp msgid "The metal bars melt!" msgstr "¡Las barras de metal se derriten!" @@ -205085,8 +210721,8 @@ msgid "Something has crawled out of the %s!" msgstr "¡Algo salió arrastrándose del/a %s!" #: src/map_extras.cpp -msgid "DANGER! MINEFIELD!" -msgstr "¡CUIDADO! ¡CAMPO MINADO!" +msgid "DANGER! MINEFIELD!" +msgstr "" #: src/map_field.cpp #, c-format @@ -205136,8 +210772,8 @@ msgid "The sap sticks to !" msgstr "¡La savia se pega a !" #: src/map_field.cpp -msgid "The sludge is thick and sticky. You struggle to pull free." -msgstr "El barro es espeso y pegajoso. Luchás para liberarte." +msgid "The sludge is thick and sticky. You struggle to pull free." +msgstr "" #: src/map_field.cpp msgid "You burn your legs and feet!" @@ -205519,21 +211155,33 @@ msgstr "" #: src/martialarts.cpp #, c-format -msgid "The %s is not a valid %s weapon." +msgid "The %1$s is not a valid %2$s weapon." msgstr "" #: src/martialarts.cpp -#, c-format -msgid "Type: %s" -msgstr "Tipo: %s" +msgid "Block Counter" +msgstr "" #: src/martialarts.cpp -msgid "defensive" -msgstr "defensivo" +msgid "Dodge Counter" +msgstr "" + +#: src/martialarts.cpp +msgid "Miss Recovery" +msgstr "" #: src/martialarts.cpp -msgid "offensive" -msgstr "ofensivo" +msgid "Defensive" +msgstr "" + +#: src/martialarts.cpp +msgid "Offensive" +msgstr "" + +#: src/martialarts.cpp +#, c-format +msgid "Type: %s" +msgstr "Tipo: %s" #: src/martialarts.cpp msgid "Bonus: " @@ -205643,6 +211291,11 @@ msgstr "* Va a aturdir al enemigo por %d %s" msgid "* Will disarm the target" msgstr "* Va a desarmar al objetivo" +#: src/martialarts.cpp +msgid "" +"* Will disarm the target and take their weapon" +msgstr "" + #: src/martialarts.cpp msgid "" "This style forces you to use unarmed strikes, even if wielding a " @@ -205797,8 +211450,8 @@ msgstr[1] "Apuntado en tu dirección, el/la %s emite %d pitidos irritados." #. ~ There will be a 120mm HEAT shell sent at high speed to your location next #. turn. #: src/mattack_actors.cpp src/monattack.cpp -msgid "You're not sure why you've got a laser dot on you..." -msgstr "No estás seguro de por qué tienes un punto láser encima..." +msgid "You're not sure why you've got a laser dot on you…" +msgstr "" #: src/mattack_actors.cpp src/monattack.cpp msgid "The " @@ -205896,6 +211549,20 @@ msgstr "Golpeas algo." msgid "You swing at the air." msgstr "Lanzas un golpe al aire." +#: src/melee.cpp +msgid " disarms you and takes your weapon!" +msgstr "" + +#: src/melee.cpp +#, c-format +msgid "You disarm %s and take their weapon!" +msgstr "" + +#: src/melee.cpp +#, c-format +msgid " disarms %s and takes their weapon!" +msgstr "" + #: src/melee.cpp msgid " disarms you!" msgstr "¡ te desarma!" @@ -205917,13 +211584,6 @@ msgid_plural "%d enemies hit!" msgstr[0] "¡%d enemigo golpeado!" msgstr[1] "¡%d enemigos golpeados!" -#: src/melee.cpp -#, c-format -msgid "You have learned %s from extensive practice with the CQB Bionic." -msgstr "" -"Has aprendido %s por tu exhaustiva práctica con el Biónico de Pelea en " -"espacios cerrados." - #. ~ Adjective in "You block of the damage with your . #: src/melee.cpp msgid "all" @@ -205964,6 +211624,10 @@ msgstr "¡Bloqueas %1$s del daño con tu %2$s!" msgid " blocks %1$s of the damage with their %2$s!" msgstr "¡ bloquea %1$s del daño con su %2$s!" +#: src/melee.cpp src/player.cpp +msgid "You try to counterattack but you are too exhausted!" +msgstr "" + #: src/melee.cpp #, c-format msgid "You poison %s!" @@ -206245,8 +211909,8 @@ msgstr "%s. ¡Critico!" #. ~ someone hits something for %d damage (critical) #: src/melee.cpp #, c-format -msgid "%s for %d damage. Critical!" -msgstr "%s por %d de daño. ¡Crítico!" +msgid "%s for %d damage. Critical!" +msgstr "" #. ~ NPC hits something #: src/melee.cpp @@ -207587,7 +213251,7 @@ msgstr "< Presiona %s para filtrar, %s para reiniciar >" #: src/messages.cpp #, c-format msgid "" -"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" +"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" "Examples:\n" " good:mutation\n" " :you pick up: 1\n" @@ -207638,14 +213302,9 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Assigning one of your allies to patrol the surrounding wilderness and isolated buildings presents the opportunity to build survival skills while engaging in relatively safe combat against isolated creatures." msgstr "" -"Beneficios: 20.73€-414.59€\n" -"Peligro: Bajo\n" -"Tiempo: 10 horas misiones\n" -" \n" -"Asignar uno de tus compañeros a patrullar los alrededores y los edificios aislados le da la oportunidad de mejorar las habilidades en supervivencia mientras combate relativamente a salvo contra criaturas aisladas." #: src/mission_companion.cpp msgid "Assign Scavenging Patrol" @@ -207656,18 +213315,13 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Patrol Roster:\n" msgstr "" -"Beneficios: 20.73€-414.59€\n" -"Peligro: Bajo\n" -"Tiempo: 10 horas misiones\n" -" \n" -"Equipo de Patrulla:\n" #: src/mission_companion.cpp -msgid " hours] \n" -msgstr " horas] \n" +msgid " hours]\n" +msgstr "" #: src/mission_companion.cpp msgid "Retrieve Scavenging Patrol" @@ -207678,14 +213332,9 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Scavenging raids target formerly populated areas to loot as many valuable items as possible before being surrounded by the undead. Combat is to be expected and assistance from the rest of the party can't be guaranteed. The rewards are greater and there is a chance of the companion bringing back items." msgstr "" -"Ganancia: $200-$1000\n" -"Peligro: Medio\n" -"Tiempo: 10 horas misiones\n" -" \n" -"Los grupos de chatarreros al principio buscaban en las áreas pobladas para conseguir la mayor cantidad posible de objetos de valor, pero comenzaron a verse rodeados por los muertos vivientes. Se espera que haya combate y no puede garantizarse la ayuda del resto del equipo. La recompensa es mayor y existe la posibilidad de que el compañero pueda conseguir objetos." #: src/mission_companion.cpp msgid "Assign Scavenging Raid" @@ -207696,14 +213345,9 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Raid Roster:\n" msgstr "" -"Beneficios: $200-$1000\n" -"Peligro: Medio\n" -"Tiempo: 10 horas misiones\n" -" \n" -"Equipo de Chatarrero:\n" #: src/mission_companion.cpp msgid "Retrieve Scavenging Raid" @@ -207718,9 +213362,9 @@ msgid "" "Profit: $8/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Assigning one of your allies to menial labor is a safe way to teach them basic skills and build reputation with the outpost. Don't expect much of a reward though.\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" @@ -207733,14 +213377,9 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Carpentry work requires more skill than menial labor while offering modestly improved pay. It is unlikely that your companions will face combat but there are hazards working on makeshift buildings." msgstr "" -"Beneficios: 9.95€/hora\n" -"Peligro: Mínimo\n" -"Tiempo: 1 hora mínimo\n" -" \n" -"El trabajo de carpintería requiere más habilidad que el trabajo doméstico, y además ofrece una mejor paga. Es raro que tus compañeros sean atacados pero hay algunos peligros en trabajar con edificios improvisados." #: src/mission_companion.cpp msgid "Assign Ally to Carpentry Work" @@ -207751,14 +213390,9 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -"Beneficios: 9.95€/hora\n" -"Peligro: Mínimo\n" -"Tiempo: 1 hora mínimo\n" -" \n" -"Registro Laboral:\n" #: src/mission_companion.cpp msgid "Recover Ally from Carpentry Work" @@ -207767,8 +213401,8 @@ msgstr "" #: src/mission_companion.cpp msgid "" "Cost: $1000\n" -" \n" -" \n" +"\n" +"\n" " .........\n" " .........\n" " .........\n" @@ -207778,8 +213412,8 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" -"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours... after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." +"\n" +"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours… after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." msgstr "" #: src/mission_companion.cpp @@ -207789,7 +213423,7 @@ msgstr "Comprar Campo Este" #: src/mission_companion.cpp msgid "" "Cost: $5500\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -207800,23 +213434,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "Protecting your field with a sturdy picket fence will keep most wildlife from nibbling your crops apart. You can expect yields to increase." msgstr "" -"Costo: $5500\n" -" \n" -"\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"Al proteger tu campo con una valla resistente de postes evitará que la fauna salvaje te mastique los cultivos. Puedes contar con un incremento en la cosecha." #: src/mission_companion.cpp msgid "Upgrade East Field I" @@ -207825,7 +213445,7 @@ msgstr "" #: src/mission_companion.cpp msgid "" "Cost: $3.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -207836,23 +213456,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "We'll plant the field with your choice of crop if you are willing to finance it. When the crop is ready to harvest you can have us liquidate it or harvest it for you." msgstr "" -"Cosot: $3.00/lote\n" -" \n" -"\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"Vamos a plantar el campo con el cultivo que elijas si estás dispuesto a financiarlo. Cuando el cultivo esté listo para cosechar, puedes pedirnos que lo vendamos o que lo cosechemos para ti." #: src/mission_companion.cpp msgid "Plant East Field" @@ -207861,7 +213467,7 @@ msgstr "Plantar Campo Este" #: src/mission_companion.cpp msgid "" "Cost: $2.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -207872,23 +213478,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "You can either have us liquidate the crop and give you the cash or pay us to harvest it for you." msgstr "" -"Costo: $2.00/lote\n" -" \n" -"\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"Puedes elegir si quieres que vendamos el cultivo y que te demos el dinero, o pagarnos para que lo cosechemos para ti." #: src/mission_companion.cpp msgid "Harvest East Field" @@ -207899,14 +213491,9 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Foraging for food involves dispatching a companion to search the surrounding wilderness for wild edibles. Combat will be avoided but encounters with wild animals are to be expected. The low pay is supplemented with the odd item as a reward for particularly large hauls." msgstr "" -"Beneficios: 8.29€/hora\n" -"Peligro: Bajo\n" -"Tiempo: 4 horas mínimo\n" -" \n" -"Buscar comida implica enviar a un compañero a que revise la zona silvestres para conseguir algo comestible. No habrá combate pero sí puede haber encuentros con la fauna salvaje. La poca ganancia es compensada por los objetos que se pueden conseguir." #: src/mission_companion.cpp msgid "Assign Ally to Forage for Food" @@ -207917,14 +213504,9 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -"Beneficios: 8.29€/hora\n" -"Peligro: Bajo\n" -"Tiempo: 4 horas mínimo\n" -" \n" -"Registro Laboral:\n" #: src/mission_companion.cpp msgid "Recover Ally from Foraging" @@ -207935,18 +213517,11 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" +"\n" "Adding companions to the caravan team increases the likelihood of success. By nature, caravans are extremely tempting targets for raiders or hostile groups so only a strong party is recommended. The rewards are significant for those participating but are even more important for the factions that profit.\n" -" \n" +"\n" "The commune is sending food to the Free Merchants in the Refugee Center as part of a tax and in exchange for skilled labor." msgstr "" -"Beneficios: 14.93€/hora\n" -"Peligro: Alto\n" -"Tiempo: DESCONOCIDO\n" -" \n" -"Agregar compañeros al equipo de la caravana incrementa la probabilidad de éxito. Por su naturaleza, las caravanas son objetivos extremadamente tentadores para los piratas o para grupos hostiles, así que solo se recomienda un equipo poderoso. Las recompensas son importantes para aquellos que participen, pero son mayores para los bandos que se benefician.\n" -" \n" -"La comuna está enviando comida a Los Mercaderes Libres del Centro de Refugiados como parte del pago por el intercambio de trabajadores." #: src/mission_companion.cpp msgid "Caravan Commune-Refugee Center" @@ -207957,38 +213532,29 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" -" \n" +"\n" +"\n" "Roster:\n" msgstr "" -"Ganancia: $18/hora\n" -"Peligro: Alto\n" -"Tiempo: DESCONOCIDO\n" -" \n" -" \n" -"Equipo:\n" #: src/mission_companion.cpp -msgid " [READY] \n" -msgstr " [LISTO] \n" +msgid " [READY]\n" +msgstr "" #: src/mission_companion.cpp -msgid " [COMPLETE] \n" -msgstr " [TERMINADO] \n" +msgid " [COMPLETE]\n" +msgstr "" #: src/mission_companion.cpp -msgid " Hours] \n" -msgstr " Horas] \n" +msgid " Hours]\n" +msgstr "" #: src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "The caravan will contain two or three additional members from the commune, are you ready to depart?" msgstr "" -"\n" -" \n" -"La caravana tendrá dos o tres miembros adicionales de la comuna, ¿estás listo para salir?" #: src/mission_companion.cpp msgid "Begin Commune-Refugee Center Run" @@ -207999,38 +213565,37 @@ msgid "Recover Commune-Refugee Center" msgstr "" #: src/mission_companion.cpp -msgid "There are no missions at this colony. Press Spacebar..." -msgstr "No hay misiones en esta colonia. Pulsa la barra espaciadora..." +msgid "There are no missions at this colony. Press Spacebar…" +msgstr "" #: src/mission_companion.cpp -msgid "joins the caravan team..." -msgstr "se une a la caravana..." +msgid "joins the caravan team…" +msgstr "" #: src/mission_companion.cpp -msgid "departs on the scavenging patrol..." -msgstr "se va a hacer patrullas de búsqueda de chatarra..." +msgid "departs on the scavenging patrol…" +msgstr "" #: src/mission_companion.cpp -msgid "departs on the scavenging raid..." -msgstr "se va a buscar basura..." +msgid "departs on the scavenging raid…" +msgstr "" #: src/mission_companion.cpp -msgid "departs to work as a laborer..." -msgstr "se va a trabajar como obrero..." +msgid "departs to work as a laborer…" +msgstr "" #: src/mission_companion.cpp -msgid "departs to work as a carpenter..." -msgstr "se va a trabajar como carpintero..." +msgid "departs to work as a carpenter…" +msgstr "" #: src/mission_companion.cpp -msgid "departs to forage for food..." -msgstr "se va a buscar comida..." +msgid "departs to forage for food…" +msgstr "" #: src/mission_companion.cpp #, c-format -msgid "The caravan departs with an estimated total travel time of %d hours..." +msgid "The caravan departs with an estimated total travel time of %d hours…" msgstr "" -"La caravana parte con un tiempo total de viaje estimado de %d horas..." #: src/mission_companion.cpp #, c-format @@ -208055,8 +213620,8 @@ msgid "The caravan party has returned. Your share of the profits are $%d!" msgstr "La caravana ha regresado. ¡Tu parte de las ganancias es $%d!" #: src/mission_companion.cpp -msgid "The caravan was a disaster and your companions never made it home..." -msgstr "La caravana fue un desastre y tus compañeros nunca llegaron a casa..." +msgid "The caravan was a disaster and your companions never made it home…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -208085,22 +213650,20 @@ msgstr "" #, c-format msgid "" "After counting your money %s directs a nearby laborer to begin constructing " -"a fence around your plot..." +"a fence around your plot…" msgstr "" -"Después de contar tu dinero, %s se dirige a un trabajador cercano para " -"empezar a construir el alambrado alrededor de tu terreno..." #: src/mission_companion.cpp msgid "You have no seeds to plant!" msgstr "¡No tienes semillas para plantar!" #: src/mission_companion.cpp -msgid "You have no room to plant seeds..." -msgstr "No hay lugar para plantar semillas..." +msgid "You have no room to plant seeds…" +msgstr "" #: src/mission_companion.cpp -msgid "I'm sorry, you don't have enough money to plant those seeds..." -msgstr "Lo lamento, no tienes suficiente dinero para plantar esas semillas..." +msgid "I'm sorry, you don't have enough money to plant those seeds…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -208117,21 +213680,21 @@ msgstr "" "de trabajadores para plantar tu campo." #: src/mission_companion.cpp -msgid "There aren't any plants that are ready to harvest..." -msgstr "No hay ninguna planta ahí lista para ser cosechada..." +msgid "There aren't any plants that are ready to harvest…" +msgstr "" #: src/mission_companion.cpp msgid "Which plants do you want to have harvested?" msgstr "¿Qué plantas quieres que sean cosechadas?" #: src/mission_companion.cpp -msgid "You decided to hold off for now..." -msgstr "Decides aguantarte por ahora..." +msgid "You decided to hold off for now…" +msgstr "" #: src/mission_companion.cpp msgid "" "You don't have enough to pay the workers to harvest the crop so you are " -"forced to sell..." +"forced to sell…" msgstr "" #: src/mission_companion.cpp @@ -208141,32 +213704,28 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "The %s are sold for $%d..." +msgid "The %s are sold for $%d…" msgstr "" #: src/mission_companion.cpp #, c-format -msgid "You receive %d %s..." -msgstr "Recibes %d %s..." +msgid "You receive %d %s…" +msgstr "" #: src/mission_companion.cpp #, c-format msgid "" "While scavenging, %s's party suddenly found itself set upon by a large mob " -"of undead..." +"of undead…" msgstr "" -"Mientras escarban, el grupo de %s se encuentra de repente atacado por un " -"gran grupo de muertos vivientes..." #: src/mission_companion.cpp msgid "Through quick thinking the group was able to evade combat!" msgstr "¡Gracias al pensamiento rápido, el grupo puede evadir el combate!" #: src/mission_companion.cpp -msgid "Combat took place in close quarters, focusing on melee skills..." +msgid "Combat took place in close quarters, focusing on melee skills…" msgstr "" -"El combate se realiza en espacios cerrados, enfocado en habilidades de " -"cuerpo a cuerpo..." #: src/mission_companion.cpp #, c-format @@ -208176,16 +213735,13 @@ msgstr "" "vivientes!" #: src/mission_companion.cpp -msgid "Unfortunately they were overpowered by the undead... I'm sorry." +msgid "Unfortunately they were overpowered by the undead… I'm sorry." msgstr "" -"Desgraciadamente, fueron dominados por los muertos vivientes... Lo lamento." #: src/mission_companion.cpp #, c-format -msgid "" -"%s returns from patrol having earned $%d and a fair bit of experience..." +msgid "%s returns from patrol having earned $%d and a fair bit of experience…" msgstr "" -"%s regresa de patrullar habiendo ganado $%d y un poco de experiencia..." #: src/mission_companion.cpp #, c-format @@ -208207,9 +213763,8 @@ msgstr "" #: src/mission_companion.cpp #, c-format msgid "" -"%s returns from the raid having earned $%d and a fair bit of experience..." +"%s returns from the raid having earned $%d and a fair bit of experience…" msgstr "" -"%s regresa de la incursión habiendo ganado $%d y un poco de experiencia..." #: src/mission_companion.cpp #, c-format @@ -208220,10 +213775,8 @@ msgstr "¡%s regresa con un %s para ti!" #, c-format msgid "" "%s returns from working as a laborer having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" -"%s regresa de trabajar como peón habiendo ganado $%d y un poco de " -"experiencia..." #: src/mission_companion.cpp #, c-format @@ -208236,10 +213789,8 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "While %s was framing a building one of the walls began to collapse..." +msgid "While %s was framing a building one of the walls began to collapse…" msgstr "" -"Mientras %s estaba haciendo la estructura de un edificio, una de las paredes" -" colapsó..." #: src/mission_companion.cpp #, c-format @@ -208255,8 +213806,8 @@ msgstr "Saliendo rápidamente por una ventana, %s escapó del colapso." #: src/mission_companion.cpp #, c-format -msgid "%s didn't make it out in time..." -msgstr "%s no pudo salir a tiempo..." +msgid "%s didn't make it out in time…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -208264,8 +213815,8 @@ msgid "but %s was rescued from the debris with only minor injuries!" msgstr "¡pero %s fue rescatado de los escombros con sólo heridas leves!" #: src/mission_companion.cpp -msgid "Everyone who was trapped under the collapsing roof died..." -msgstr "Todos los que fueron atrapados bajo el techo colapsado murieron..." +msgid "Everyone who was trapped under the collapsing roof died…" +msgstr "" #: src/mission_companion.cpp msgid "I'm sorry, there is nothing we could do." @@ -208275,15 +213826,13 @@ msgstr "Lo lamento, no podíamos hacer nada." #, c-format msgid "" "%s returns from working as a carpenter having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" -"%s regresa de trabajar como carpintero habiendo ganado $%d y un poco de " -"experiencia..." #: src/mission_companion.cpp #, c-format -msgid "While foraging, a beast began to stalk %s..." -msgstr "Mientras estaba buscando comida, una bestia comenzó a seguir a %s..." +msgid "While foraging, a beast began to stalk %s…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -208318,21 +213867,19 @@ msgstr "¡%s golpeó al puma y dejó una pulpa sangrienta!" #, c-format msgid "" "%s was able to hold off the first wolf but the others that were skulking in " -"the tree line caught up..." +"the tree line caught up…" msgstr "" #: src/mission_companion.cpp -msgid "I'm sorry, there wasn't anything we could do..." -msgstr "Lo lamento, no había nada que pudimos hacer." +msgid "I'm sorry, there wasn't anything we could do…" +msgstr "" #: src/mission_companion.cpp #, c-format msgid "" -"We... we don't know what exactly happened but we found %s's gear ripped and " -"bloody..." +"We… we don't know what exactly happened but we found %s's gear ripped and " +"bloody…" msgstr "" -"Nosotros... no sabíamos qué esperar exactamente pero encontramos el equipo " -"de %s desgarrado y ensangrentado..." #: src/mission_companion.cpp msgid "I fear your companion won't be returning." @@ -208342,10 +213889,8 @@ msgstr "Me temo que tu compañero no va a regresar." #, c-format msgid "" "%s returns from working as a forager having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" -"%s regresa de trabajar como buscador de comida habiendo ganado $%d y un poco" -" de experiencia..." #: src/mission_companion.cpp #, c-format @@ -208376,35 +213921,59 @@ msgid "Engagement between %d members of %s %s and %d members of %s %s%s!" msgstr "¡Combate entre %d miembros de %s %s y %d miembros de %s %s%s!" #: src/mission_companion.cpp -msgid "You don't have any companions to send out..." -msgstr "No tienes ningún compañero para enviar..." +msgid "You don't have any companions to send out…" +msgstr "" #: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" +msgid "Who do you want to send?" +msgstr "¿A quién quieres enviar?" + +#: src/mission_companion.cpp +msgid "[ COMBAT : SURVIVAL : INDUSTRY ]" +msgstr "" + +#. ~ %1$s: npc name +#: src/mission_companion.cpp +#, c-format +msgctxt "companion" +msgid "%1$s (Guarding)" +msgstr "" + +#: src/mission_companion.cpp +#, c-format +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" +msgstr "" + +#. ~ %1$s: skill name, %2$d: companion skill level +#: src/mission_companion.cpp +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d" msgstr "" -"¿A quién querés enviar? [ COMBATE : SUPERVIVENCIA : " -"INDUSTRIA ]" +#. ~ %1$s: skill name, %2$d: companion skill level, %3$d: skill requirement #: src/mission_companion.cpp -msgid "You choose to send no one..." +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d/%3$d" msgstr "" #: src/mission_companion.cpp -msgid "The companion you selected doesn't have the skills!" +msgid "You choose to send no one…" msgstr "" #: src/mission_companion.cpp -msgid "You don't have any companions ready to return..." -msgstr "No tienes a ningún compañero listo para regresar..." +msgid "You don't have any companions ready to return…" +msgstr "" #: src/mission_companion.cpp msgid "Who should return?" msgstr "¿Quién debería regresar?" #: src/mission_companion.cpp -msgid "No one returns to your party..." -msgstr "Nadie regresa a tu grupo..." +msgid "No one returns to your party…" +msgstr "" #: src/mission_end.cpp #, c-format @@ -208435,20 +214004,17 @@ msgid "Download Software" msgstr "Descargar Software" #: src/mission_start.cpp -msgid "You don't know where the address could be..." -msgstr "No conoces esa dirección..." +msgid "You don't know where the address could be…" +msgstr "" #: src/mission_start.cpp -msgid "You mark the refugee center and the road that leads to it..." -msgstr "Marcas el centro de refugiados y la carretera que conduce a él..." +msgid "You mark the refugee center and the road that leads to it…" +msgstr "" #: src/mission_start.cpp msgid "" -"You mark the refugee center, but you have no idea how to get there by " -"road..." +"You mark the refugee center, but you have no idea how to get there by road…" msgstr "" -"Marcas el centro de refugiados, pero no tienes idea de cómo llegar por " -"carretera..." #: src/mission_start.cpp msgid "Workstation" @@ -208524,8 +214090,8 @@ msgstr "¡Todavía no fracasaste en ninguna misión!" #: src/mission_util.cpp #, c-format -msgid "%s also marks the road that leads to it..." -msgstr "%s también marca la calle que va hasta ahí..." +msgid "%s also marks the road that leads to it…" +msgstr "" #: src/mission_util.cpp #, c-format @@ -208919,14 +214485,6 @@ msgstr "to-TOMP." msgid "The root walls creak around you." msgstr "Las paredes de raíces rechinan a tu alrededor." -#. ~ the sound of a fungus releasing spores -#. ~ That spore sound again -#. ~ the sound of a fungus dying -#. ~spore-release sound -#: src/monattack.cpp src/mondeath.cpp src/player.cpp -msgid "Pouf!" -msgstr "¡Puf!" - #: src/monattack.cpp #, c-format msgid "Spores are released from the %s!" @@ -208978,8 +214536,8 @@ msgstr "¡El %s late, y material fúngico fresco sale despedido!" #: src/monattack.cpp #, c-format -msgid "The %s seems to wave you toward the tower..." -msgstr "Parece que el %s te ondea hacia la torre..." +msgid "The %s seems to wave you toward the tower…" +msgstr "" #: src/monattack.cpp #, c-format @@ -208993,8 +214551,8 @@ msgid "The %1$s sinks its point into your %2$s!" msgstr "¡El %1$s hunde su punta en tu %2$s!" #: src/monattack.cpp -msgid "You feel thousands of live spores pumping into you..." -msgstr "Sientes miles de esporas vivas bombeando adentro tuyo..." +msgid "You feel thousands of live spores pumping into you…" +msgstr "" #. ~ 1$s is monster name, 2$s bodypart in accusative #: src/monattack.cpp @@ -209030,8 +214588,8 @@ msgstr "¡Te empujan mientras crece una pared de hongos!" #: src/monattack.cpp #, c-format -msgid "The %s spreads its tendrils. It seems as though it's expecting you..." -msgstr "El %s esparce sus tallos. Parece como si estuviera esperándote..." +msgid "The %s spreads its tendrils. It seems as though it's expecting you…" +msgstr "" #: src/monattack.cpp msgid "" @@ -209043,10 +214601,8 @@ msgstr "" #: src/monattack.cpp #, c-format msgid "" -"The %s works several tendrils into your arms, legs, torso, and even neck..." +"The %s works several tendrils into your arms, legs, torso, and even neck…" msgstr "" -"El %s mete varios tallos en tus brazos, piernas, torso, e incluso el " -"cuello..." #: src/monattack.cpp msgid "" @@ -209069,11 +214625,9 @@ msgstr "Fue expuesta a la Puerta Marloss." #. ~ Beginning to hear the Mycus while conscious: this is it speaking #: src/monattack.cpp msgid "" -"assistance, on an arduous quest. unity. together we have reached the door. " -"now to pass through..." +"assistance, on an arduous quest. unity. together we have reached the door." +" now to pass through…" msgstr "" -"asistencia, en una misión ardua. unidad. juntos nosotros hemos alcanzado la " -"puerta. ahora para pasar..." #: src/monattack.cpp msgid "You're shoved away as a fungal hedgerow grows!" @@ -209095,8 +214649,8 @@ msgid "The %s takes aim, and spears at you with a massive tendril!" msgstr "¡El %s apunta, y lanza hacia ti un masivo tallo!" #: src/monattack.cpp -msgid "You feel millions of live spores pumping into you..." -msgstr "Sientes millones de esporas vivas bombeando adentro tuyo..." +msgid "You feel millions of live spores pumping into you…" +msgstr "" #: src/monattack.cpp #, c-format @@ -209254,7 +214808,7 @@ msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s tries to grab you..." +msgid "The %s tries to grab you…" msgstr "" #: src/monattack.cpp @@ -209308,6 +214862,10 @@ msgstr "¡Sientes como te entra el veneno en el cuerpo!" msgid "The %s young triffid grows into an adult!" msgstr "¡El joven trífido %s crece y se hace adulto!" +#: src/monattack.cpp +msgid "You feel a strange reverberation accross your body." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s stares at you, and you shudder." @@ -209401,15 +214959,12 @@ msgstr "" " mirar." #: src/monattack.cpp -msgid "Probably some now-obsolete Internal Affairs subroutine..." +msgid "Probably some now-obsolete Internal Affairs subroutine…" msgstr "" -"Probablemente, alguna subrutina, ahora bastante obsoleta, de Asuntos " -"Internos..." #: src/monattack.cpp -msgid "Ops used to do that in case you needed backup..." +msgid "Ops used to do that in case you needed backup…" msgstr "" -"En operaciones solían hacer eso en el caso de que necesitaras apoyo..." #: src/monattack.cpp #, c-format @@ -209445,7 +215000,7 @@ msgid "The %s takes your picture!" msgstr "¡El %s te saca una foto!" #: src/monattack.cpp -msgid "... database connection lost!" +msgid "…database connection lost!" msgstr "" #: src/monattack.cpp @@ -209505,8 +215060,8 @@ msgstr "" #. ~ Potential grenading detected. #: src/monattack.cpp -msgid "Those laser dots don't seem very friendly..." -msgstr "Esos puntos láser no parecen muy amistosos..." +msgid "Those laser dots don't seem very friendly…" +msgstr "" #: src/monattack.cpp msgid "Targeting." @@ -209553,24 +215108,24 @@ msgid "a police siren, whoop WHOOP" msgstr "una sirena de policía, wup WUP" #: src/monattack.cpp -msgid "\"YOU... ARE FILTH...\"" -msgstr "\"TÚ... ERES BASURA...\"" +msgid "\"YOU… ARE FILTH…\"" +msgstr "" #: src/monattack.cpp -msgid "\"VERMIN... YOU ARE VERMIN...\"" -msgstr "\"ALIMAÑA... ERES UNA ALIMAÑA...\"" +msgid "\"VERMIN… YOU ARE VERMIN…\"" +msgstr "" #: src/monattack.cpp -msgid "\"LEAVE NOW...\"" -msgstr "\"LÁRGATE...\"" +msgid "\"LEAVE NOW…\"" +msgstr "" #: src/monattack.cpp -msgid "\"WE... WILL FEAST... UPON YOU...\"" -msgstr "VAMOS... A HACER UN FESTÍN... CONTIGO...\"" +msgid "\"WE… WILL FEAST… UPON YOU…\"" +msgstr "" #: src/monattack.cpp -msgid "\"FOUL INTERLOPER...\"" -msgstr "\"REPUGNANTE INTRUSO...\"" +msgid "\"FOUL INTERLOPER…\"" +msgstr "" #. ~ %1$s is the name of the zombie upgrading the other, %2$s is the zombie #. being upgraded. @@ -209773,13 +215328,13 @@ msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s slashes at your neck! You duck!" -msgstr "¡El %s da tajadas contra tu cuello! ¡Te agachás!" +msgid "The %s slashes at your neck! You duck!" +msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s slashes at 's neck! They duck!" -msgstr "¡El %s da tajadas contra el cuello de ! ¡Se agacha!" +msgid "The %s slashes at 's neck! They duck!" +msgstr "" #: src/monattack.cpp #, c-format @@ -209882,8 +215437,8 @@ msgid "but you grab its arm and flip it to the ground!" msgstr "¡pero agarras su brazo y lo lanzas al piso!" #: src/monattack.cpp -msgid "The flip does shock you..." -msgstr "La vuelta te sorprende..." +msgid "The flip does shock you…" +msgstr "" #: src/monattack.cpp msgid "but you deftly spin out of its grasp!" @@ -209891,10 +215446,8 @@ msgstr "¡pero hábilmente girás y te liberás del agarre!" #: src/monattack.cpp msgid "" -"Halt and submit to arrest, citizen! The police will be here any moment." +"Halt and submit to arrest, citizen! The police will be here any moment." msgstr "" -"¡Detente y entrégate al arresto, ciudadano! La policía estará aquí en un " -"momento." #: src/monattack.cpp msgid "Please stay in place, citizen, do not make any movements!" @@ -210038,8 +215591,8 @@ msgstr "¡%1$s arroja al suelo al %2$s!" #. ~ 1$s is bodypart name in accusative, 2$d is damage value. #: src/monattack.cpp #, c-format -msgid "The zombie kicks your %1$s for %2$d damage..." -msgstr "El zombi te patea tu %1$s por %2$d de daño..." +msgid "The zombie kicks your %1$s for %2$d damage…" +msgstr "" #: src/monattack.cpp #, c-format @@ -210142,6 +215695,11 @@ msgid "The %1$s hits 's %2$s, but glances off armor!" msgstr "" "¡El/a %1$s golpea el/la %2$s de , pero rebota en la armadura!" +#: src/monattack.cpp +#, c-format +msgid "The %1$s fuses with the %2$s." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s doots its trumpet!" @@ -210254,8 +215812,8 @@ msgid "The %s melts away." msgstr "El %s se derrite." #: src/mondeath.cpp -msgid "Your obsession with the fault fades away..." -msgstr "Tu obsesión con la culpa desaparece..." +msgid "Your obsession with the fault fades away…" +msgstr "" #: src/mondeath.cpp msgid "As the final light is destroyed, it erupts in a blinding flare!" @@ -210351,11 +215909,6 @@ msgstr "¡Cuando el %s es golpeado, suelta ácido!" msgid "zombie slave" msgstr "esclavo zombi" -#: src/monexamine.cpp src/player.cpp -#, c-format -msgid "What to do with your %s?" -msgstr "¿Qué quieres hacer con tu %s?" - #: src/monexamine.cpp #, c-format msgid "Push %s" @@ -210536,22 +216089,23 @@ msgstr "" #: src/monexamine.cpp #, c-format msgid "" -"Welcome to the %s Friendship Interface. What would you like to do?\n" +"Welcome to the %s Friendship Interface. What would you like to do?\n" "Your current friendship will last: %s" msgstr "" #: src/monexamine.cpp -msgid "Get more friendship. 10 cents/min" +msgid "Get more friendship. 10 cents/min" msgstr "" #: src/monexamine.cpp -msgid "Sadly you're not currently able to extend your friendship. - Quit menu" +msgid "" +"Sadly you're not currently able to extend your friendship. - Quit menu" msgstr "" #: src/monexamine.cpp #, c-format -msgid "How much friendship do you get? Max: %d minute. (0 to cancel) " -msgid_plural "How much friendship do you get? Max: %d minutes. " +msgid "How much friendship do you get? Max: %d minute. (0 to cancel)" +msgid_plural "How much friendship do you get? Max: %d minutes." msgstr[0] "" msgstr[1] "" @@ -210607,7 +216161,7 @@ msgstr "¡No hay ningún contenedor en tu %s para poner las cosas!" #: src/monexamine.cpp #, c-format -msgid "%1$s is overburdened. You can't transfer your %2$s." +msgid "%1$s is overburdened. You can't transfer your %2$s." msgstr "" #: src/monexamine.cpp @@ -210838,6 +216392,16 @@ msgstr "" msgid "wearing %1$s" msgstr "" +#: src/monster.cpp +#, c-format +msgid "The %s" +msgstr "El %s" + +#: src/monster.cpp +#, c-format +msgid "The %s's" +msgstr "" + #: src/monster.cpp #, c-format msgid "the %s's" @@ -210880,6 +216444,11 @@ msgstr "" msgid "Rider: %s" msgstr "" +#: src/monster.cpp +#, c-format +msgid " It is %s." +msgstr "" + #: src/monster.cpp msgid "Difficulty " msgstr "" @@ -211111,7 +216680,7 @@ msgid "You're envenomed!" msgstr "" #: src/monster.cpp -msgid "You feel venom flood your body, wracking you with pain..." +msgid "You feel venom flood your body, wracking you with pain…" msgstr "" #: src/monster.cpp @@ -211249,6 +216818,14 @@ msgstr "¡Las esporas transforman al %1$s en un %2$s!" msgid "Total morale:" msgstr "" +#: src/morale.cpp +msgid "Pain level:" +msgstr "" + +#: src/morale.cpp +msgid "Fatigue level:" +msgstr "" + #: src/morale.cpp msgid "Focus trends towards:" msgstr "" @@ -211327,8 +216904,8 @@ msgstr "" #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp -msgid "wow! you look just like me! we should look out for each other!" -msgstr "¡guau! ¡eres igual a mí! ¡tenemos que cuidarnos entre nosotros!" +msgid "wow! you look just like me! we should look out for each other!" +msgstr "" #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp @@ -211362,8 +216939,8 @@ msgid "Bionic power storage increased by 100." msgstr "" #: src/mutation.cpp -msgid "You feel something straining deep inside you, yearning to be free..." -msgstr "Sientes algo esforzándose muy adentro tuyo, ansiando por ser libre..." +msgid "You feel something straining deep inside you, yearning to be free…" +msgstr "" #: src/mutation.cpp #, c-format @@ -211497,9 +217074,8 @@ msgid "Suffered a toxic marloss/mutagen reaction." msgstr "Sufrió una reacción tóxica al marloss/mutágeno." #: src/mutation.cpp -msgid "Something strains mightily for a moment... and then... you're... FREE!" +msgid "Something strains mightily for a moment… and then… you're… FREE!" msgstr "" -"Algo se tensa fuertemente por un instante... y luego... estás... ¡LIBERADO!" #: src/mutation.cpp msgid "Your appetite for blood fades." @@ -211516,8 +217092,8 @@ msgid "You stagger with a piercing headache!" msgstr "¡Te tambaleás por un dolor agudo de cabeza!" #: src/mutation.cpp -msgid "Your head throbs with memories of your life, before all this..." -msgstr "Tu cabeza late con los recuerdos de tu vida, antes de todo esto..." +msgid "Your head throbs with memories of your life, before all this…" +msgstr "" #: src/mutation.cpp msgid "Images of your past life flash before you." @@ -211534,8 +217110,8 @@ msgid "Crossed a threshold" msgstr "" #: src/mutation_data.cpp -msgid "Oh, yeah! That's the stuff!" -msgstr "¡Uh, sí! ¡Eso está bueno!" +msgid "Oh, yeah! That's the stuff!" +msgstr "" #: src/mutation_ui.cpp msgid "Reassigning." @@ -211622,13 +217198,10 @@ msgstr "%s; elige letra nueva." #: src/mutation_ui.cpp #, c-format msgid "" -"Invalid mutation letter. Only those characters are valid:\n" +"Invalid mutation letter. Only those characters are valid:\n" "\n" "%s" msgstr "" -"Letra de mutación no válida. Solo son válidos estos caracteres:\n" -"\n" -"%s" #: src/mutation_ui.cpp #, c-format @@ -211652,7 +217225,7 @@ msgstr "" msgid "Tom" msgstr "Tom" -#. ~ Used for constructing full name: %1$s is `family name`, %2$s is `given +#. ~ Used for constructing full name: %1$s is `given name`, %2$s is `family #. name` #: src/name.cpp #, c-format @@ -211660,8 +217233,8 @@ msgctxt "Full Name" msgid "%1$s %2$s" msgstr "%1$s %2$s" -#. ~ Used for constructing full name with nickname: %1$s is `family name`, -#. %2$s is `given name`, %3$s is `nickname` +#. ~ Used for constructing full name with nickname: %1$s is `given name`, %2$s +#. is `family name`, %3$s is `nickname` #: src/name.cpp #, c-format msgctxt "Full Name" @@ -211688,7 +217261,7 @@ msgstr "Formalibre" #: src/newcharacter.cpp src/player.cpp #, c-format -msgid "Select a style. (press %s for more info)" +msgid "Select a style. (press %s for more info)" msgstr "" #: src/newcharacter.cpp @@ -211720,14 +217293,14 @@ msgstr "ESCENARIO" msgid "PROFESSION" msgstr "PROFESIÓN" -#: src/newcharacter.cpp src/player_display.cpp -msgid "TRAITS" -msgstr "RASGOS" - #: src/newcharacter.cpp src/player_display.cpp msgid "STATS" msgstr "CARACTERÍST." +#: src/newcharacter.cpp src/player_display.cpp +msgid "TRAITS" +msgstr "RASGOS" + #: src/newcharacter.cpp src/player_display.cpp msgid "SKILLS" msgstr "HABILIDAD" @@ -212129,10 +217702,8 @@ msgstr[1] "%1$s cuesta %2$d puntos" #: src/newcharacter.cpp msgid "" -"This scenario is not available in this world due to city size settings. " +"This scenario is not available in this world due to city size settings." msgstr "" -"Este escenario no está disponible para este mundo debido a la configuración " -"del tamaño de ciudad." #: src/newcharacter.cpp msgid "Professions:" @@ -212227,10 +217798,6 @@ msgstr "Características:" msgid "Traits: " msgstr "Rasgos: " -#: src/newcharacter.cpp -msgid "(Top 8)" -msgstr "(Top 8)" - #: src/newcharacter.cpp #, c-format msgid "Press %s to finish character creation or %s to go back." @@ -212306,8 +217873,8 @@ msgid "_______NO NAME ENTERED!_______" msgstr "_______¡NO PUSISTE NOMBRE!_______" #: src/newcharacter.cpp -msgid "Are you SURE you're finished? Your name will be randomly generated." -msgstr "¿Estás SEGURO que terminaste? Tu nombre se va a elegir al azar." +msgid "Are you SURE you're finished? Your name will be randomly generated." +msgstr "" #: src/newcharacter.cpp src/worldfactory.cpp msgid "Are you SURE you're finished?" @@ -212479,10 +218046,6 @@ msgstr "Temeroso" msgid "Very afraid" msgstr "Muy temeroso" -#: src/npc.cpp -msgid "Terrified" -msgstr "Aterrado" - #: src/npc.cpp msgid "Fear: " msgstr "Miedo:" @@ -212606,11 +218169,7 @@ msgid "NPC Legacy Attitude" msgstr "" #: src/npc.cpp -msgid "Not much" -msgstr "" - -#: src/npc.cpp -msgid "Cooking" +msgid "Cooking and butchering" msgstr "" #: src/npc.cpp @@ -212646,7 +218205,7 @@ msgid "Caring for the livestock" msgstr "" #: src/npc.cpp -msgid "Hunting for meat" +msgid "Hunting and fishing" msgstr "" #: src/npc.cpp @@ -212752,8 +218311,8 @@ msgid "Hold still %s, I'm coming to help you." msgstr "" #: src/npcmove.cpp -msgid "Don't move a muscle..." -msgstr "No muevas ni un músculo..." +msgid "Don't move a muscle…" +msgstr "" #: src/npcmove.cpp #, c-format @@ -212853,7 +218412,7 @@ msgstr "%1$s coge tu %2$s." #: src/npcmove.cpp #, c-format msgid "" -"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" +"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" msgstr "" #: src/npcmove.cpp @@ -212863,8 +218422,8 @@ msgstr "%s %s" #: src/npcmove.cpp #, c-format -msgid "My %s wound is infected..." -msgstr "La herida de mi %s está infectada..." +msgid "My %s wound is infected…" +msgstr "" #: src/npcmove.cpp #, c-format @@ -212876,8 +218435,8 @@ msgid "" msgstr "" #: src/npcmove.cpp -msgid "I'm suffering from radiation sickness..." -msgstr "Estoy sufriendo enfermedad por radiación..." +msgid "I'm suffering from radiation sickness…" +msgstr "" #: src/npcmove.cpp msgid "" @@ -212996,7 +218555,7 @@ msgid "Talk to %s" msgstr "" #: src/npctalk.cpp -msgid "Talk to ..." +msgid "Talk to…" msgstr "" #: src/npctalk.cpp @@ -213021,7 +218580,7 @@ msgid "Tell %s to follow" msgstr "" #: src/npctalk.cpp -msgid "Tell someone to follow..." +msgid "Tell someone to follow…" msgstr "" #: src/npctalk.cpp @@ -213030,7 +218589,7 @@ msgid "Tell %s to guard" msgstr "" #: src/npctalk.cpp -msgid "Tell someone to guard..." +msgid "Tell someone to guard…" msgstr "" #: src/npctalk.cpp @@ -213054,7 +218613,7 @@ msgid "Tell everyone on your team to relax (Clear Overrides)" msgstr "" #: src/npctalk.cpp -msgid "Tell everyone on your team to temporarily..." +msgid "Tell everyone on your team to temporarily…" msgstr "" #: src/npctalk.cpp @@ -213153,8 +218712,8 @@ msgstr "&Estás sordo y no puedes hablar." #: src/npctalk.cpp #, c-format msgid "" -"&You are deaf and can't talk. When you don't respond, %s becomes angry!" -msgstr "&Estás sordo y no puedes hablar. ¡Como no respondés, %s se enoja!" +"&You are deaf and can't talk. When you don't respond, %s becomes angry!" +msgstr "" #: src/npctalk.cpp #, c-format @@ -213184,8 +218743,8 @@ msgid "Sorry, but it doesn't seem I have anything to teach you." msgstr "Lo lamento, pero no parece que haya nada que te pueda enseñar." #: src/npctalk.cpp -msgid "Here's what I can teach you..." -msgstr "Te puedo enseñar esto..." +msgid "Here's what I can teach you…" +msgstr "" #: src/npctalk.cpp #, c-format @@ -213200,16 +218759,23 @@ msgstr[0] "%d pie." msgstr[1] "%d pies." #: src/npctalk.cpp -msgid "I'm holing up here for safety." -msgstr "Me estoy refugiando aquí que es seguro." +#, c-format +msgid "I'm holing up here for safety. Long term, %s" +msgstr "" #: src/npctalk.cpp msgid "I run the shop here." msgstr "Yo manejo el negocio aquí." #: src/npctalk.cpp -msgid "I'm guarding this location." -msgstr "Estoy cuidando este lugar." +#, c-format +msgid "Currently, I'm guarding this location. Overall, %s" +msgstr "" + +#: src/npctalk.cpp +#, c-format +msgid "Right now, I'm . In general, %s" +msgstr "" #: src/npctalk.cpp msgid "&You yell, but can't hear yourself." @@ -213295,6 +218861,16 @@ msgstr "Tengo noticias." msgid "Yes, let's resume training " msgstr "Sí, sigamos entrenando." +#: src/npctalk.cpp +#, c-format +msgid "%s: 1 hour lesson (cost %s)" +msgstr "" + +#: src/npctalk.cpp +#, c-format +msgid "%s: teaching spell knowledge (cost %s)" +msgstr "" + #. ~Martial art style (cost in dollars) #: src/npctalk.cpp #, c-format @@ -213310,7 +218886,7 @@ msgstr "" #: src/npctalk.cpp #, c-format -msgid "%s: %d (%d%%) -> %d" +msgid "%s: %d (%d%%) -> %d (%d%%)" msgstr "" #: src/npctalk.cpp @@ -213344,8 +218920,8 @@ msgstr "." #: src/npctalk.cpp msgctxt "punctuation" -msgid "..." -msgstr "..." +msgid "…" +msgstr "" #: src/npctalk.cpp msgctxt "punctuation" @@ -213391,8 +218967,8 @@ msgid "%s: %s" msgstr "%s: %s" #: src/npctalk.cpp -msgid "You'll be helpless! Proceed?" -msgstr "¡Vas a quedar indefenso! ¿Continuar?" +msgid "You'll be helpless! Proceed?" +msgstr "" #: src/npctalk.cpp #, c-format @@ -213451,22 +219027,18 @@ msgid "You learn how to craft %s." msgstr "" #: src/npctalk.cpp -msgid "I don't trust you enough to eat THIS..." +msgid "I don't trust you enough to eat THIS…" msgstr "" #: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this..." -msgstr "No parece una buena idea consumir esto..." +msgid "It doesn't look like a good idea to consume this…" +msgstr "" #: src/npctalk.cpp #, c-format msgid "I need a %s to consume that!" msgstr "¡Necesito un/a %s para consumir eso!" -#: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this.." -msgstr "No parece una buena idea consumir esto..." - #: src/npctalk.cpp msgid "Offer what?" msgstr "¿Qué quieres ofrecer?" @@ -213488,8 +219060,8 @@ msgid "Are you insane!?" msgstr "¿¡Estás loco!?" #: src/npctalk.cpp -msgid "Here we go..." -msgstr "Ahí vamos..." +msgid "Here we go…" +msgstr "" #: src/npctalk.cpp msgid "My current weapon is better than this." @@ -213514,8 +219086,8 @@ msgid "I can only store %s %s more." msgstr "Puedes guardar solamente %s %s más." #: src/npctalk.cpp -msgid "...or to store anything else for that matter." -msgstr "...o para guardar cualquier otra cosa." +msgid "…or to store anything else for that matter." +msgstr "" #: src/npctalk.cpp msgid "It is too heavy for me to carry." @@ -213544,40 +219116,16 @@ msgstr "" msgid "My current location" msgstr "" -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name #: src/npctalk_funcs.cpp #, c-format -msgid "%1$s is assigned to %2$s" +msgid "That is not a valid destination for %s." msgstr "" -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name -#: src/npctalk_funcs.cpp -#, c-format -msgid "%1$s is assigned to guard %2$s" -msgstr "" - -#. ~ %1$s is the NPC's translated name, %2$s is the pronoun for the NPC's -#. gender #: src/npctalk_funcs.cpp #, c-format -msgid "%1$s will wait for you where %2$s is." -msgstr "" - -#: src/npctalk_funcs.cpp -msgid "he" -msgstr "" - -#: src/npctalk_funcs.cpp -msgid "she" +msgid "%1$s is assigned to %2$s" msgstr "" -#: src/npctalk_funcs.cpp -#, c-format -msgid "%s is posted as a guard." -msgstr "%s está asignado como guardia." - #: src/npctalk_funcs.cpp #, c-format msgid "%s begins to follow you." @@ -213594,20 +219142,16 @@ msgid "You start a fight with %s!" msgstr "¡Empiezas a pelear con %s!" #: src/npctalk_funcs.cpp -msgid "You don't have any bionics installed..." -msgstr "No tienes ningún biónico instalado..." +msgid "You don't have any bionics installed…" +msgstr "" #: src/npctalk_funcs.cpp msgid "Which bionic do you wish to uninstall?" msgstr "¿Qué biónico quieres desinstalar?" #: src/npctalk_funcs.cpp -msgid "You decide to hold off..." -msgstr "Decides aguantarte..." - -#: src/npctalk_funcs.cpp -msgid "You can't afford the procedure..." -msgstr "No te puedes permitir el procedimiento..." +msgid "You decide to hold off…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format @@ -213628,7 +219172,7 @@ msgid "Choose a new facial hair style" msgstr "" #: src/npctalk_funcs.cpp -msgid "Actually... I've changed my mind." +msgid "Actually… I've changed my mind." msgstr "" #: src/npctalk_funcs.cpp @@ -213637,17 +219181,17 @@ msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent haircut..." -msgstr "%s te hizo un corte de pelo decente..." +msgid "%s gives you a decent haircut…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent shave..." -msgstr "%s te dio un afeitado decente..." +msgid "%s gives you a decent shave…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "That was a pleasant conversation with %s..." +msgid "That was a pleasant conversation with %s…" msgstr "" #: src/npctalk_funcs.cpp @@ -213657,8 +219201,8 @@ msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s drops the logs off in the garage..." -msgstr "%s deja los troncos en el garage..." +msgid "%s drops the logs off in the garage…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format @@ -213675,6 +219219,11 @@ msgstr "¡%s empieza a huir!" msgid "%s leaves." msgstr "%s se va." +#: src/npctalk_funcs.cpp +#, c-format +msgid "%s stops following." +msgstr "" + #: src/npctalk_funcs.cpp #, c-format msgid "%s feels less threatened by you." @@ -213757,13 +219306,13 @@ msgstr "%s no puede llevar todo eso." #: src/npctrade.cpp #, c-format msgid "" -"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" +"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" "\n" "Continue with trade?" msgstr "" #: src/npctrade.cpp -msgid "Looks like a deal! Accept this trade?" +msgid "Looks like a deal! Accept this trade?" msgstr "" #: src/npctrade.h @@ -214061,12 +219610,9 @@ msgstr "Turnos para auto reactivar modo seguro" #: src/options.cpp msgid "" -"Number of turns after which safe mode is reactivated. Will only reactivate " +"Number of turns after which safe mode is reactivated. Will only reactivate " "if no hostiles are in 'Safe mode proximity distance.'" msgstr "" -"Número de turnos que pasarán para que el modo seguro sea reactivado. Solo se" -" reacivará si no hay hostiles en la 'Distancia de proximidad de modo " -"seguro'." #: src/options.cpp msgid "Turns to remember ignored monsters" @@ -214173,12 +219719,9 @@ msgstr "Soltar recipientes vacíos" #: src/options.cpp msgid "" -"Set to drop empty containers after use. No: Don't drop any. - Watertight: " -"All except watertight containers. - All: Drop all containers." +"Set to drop empty containers after use. No: Don't drop any. - Watertight: " +"All except watertight containers. - All: Drop all containers." msgstr "" -"Actívalo para tirar contenedores vacíos tras usarlos. No: No tires nada. - " -"Estancos: Todos salvo los contenedores estancos. - Todos: Tirar todos los " -"contenedores." #: src/options.cpp msgid "Watertight" @@ -214352,13 +219895,12 @@ msgstr "" "un objeto." #: src/options.cpp -msgid "Query on disassembly" -msgstr "Preguntar antes de desmontar" +msgid "Query on disassembly while butchering" +msgstr "" #: src/options.cpp -msgid "If true, will query before disassembling items." +msgid "If true, will query before disassembling items while butchering." msgstr "" -"Si está activado, se te pedirá confirmación antes de desmontar un objeto." #: src/options.cpp msgid "Query on keybinding removal" @@ -214647,9 +220189,9 @@ msgstr "Letras de inventario automáticas" #: src/options.cpp msgid "" -"Enabled: automatically assign letters to any carried items that lack them. " -"Disabled: do not auto-assign letters. Favorites: only auto-assign letters to" -" favorited items." +"Enabled: automatically assign letters to any carried items that lack them. " +"Disabled: do not auto-assign letters. Favorites: only auto-assign letters " +"to favorited items." msgstr "" #: src/options.cpp @@ -215030,7 +220572,7 @@ msgstr "" msgid "Display" msgstr "Pantalla" -#: src/options.cpp +#: src/options.cpp src/sdltiles.cpp msgid "" "Sets which video display will be used to show the game. Requires restart." msgstr "" @@ -215120,7 +220662,7 @@ msgid "Scaling factor" msgstr "" #: src/options.cpp -msgid "Factor by which to scale the display. Requires restart." +msgid "Factor by which to scale the display. Requires restart." msgstr "" #: src/options.cpp @@ -215425,8 +220967,8 @@ msgstr "" #: src/options.cpp msgid "" -"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can " -"be overridden by scenarios. This does not advance food rot or monster " +"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can" +" be overridden by scenarios. This does not advance food rot or monster " "evolution." msgstr "" @@ -215436,9 +220978,9 @@ msgstr "" #: src/options.cpp msgid "" -"How many days after the cataclysm the player spawns. Day 0 is the day of the" -" cataclysm. Can be overridden by scenarios. Increasing this will cause food " -"rot and monster evolution to advance." +"How many days after the cataclysm the player spawns. Day 0 is the day of " +"the cataclysm. Can be overridden by scenarios. Increasing this will cause " +"food rot and monster evolution to advance." msgstr "" #: src/options.cpp @@ -215509,11 +221051,9 @@ msgstr "PNJs estáticos" #: src/options.cpp msgid "" -"If true, static NPCs will spawn at pre-defined locations. Requires world " +"If true, static NPCs will spawn at pre-defined locations. Requires world " "reset." msgstr "" -"Si está activado, se generarán PNJ estáticos en las locaciones predefinidas." -" Necesita resetear el mundo para activarse." #: src/options.cpp msgid "Starting NPCs spawn" @@ -216084,6 +221624,10 @@ msgid_plural "" msgstr[0] "%s #%s -- La ventana tendrá %d pixel de alto con este valor." msgstr[1] "%s #%s -- La ventana tendrá %d pixeles de alto con este valor." +#: src/options.cpp +msgid "Note: " +msgstr "Nota:" + #: src/options.cpp msgid "Some of these options may produce unexpected results if changed." msgstr "" @@ -216105,8 +221649,8 @@ msgid "options" msgstr "opciones" #: src/output.cpp -msgid "Press any key for more..." -msgstr "Pulsa una tecla para continuar..." +msgid "Press any key for more…" +msgstr "" #: src/output.cpp #, c-format @@ -216274,7 +221818,7 @@ msgstr "[%s] %s" #: src/overmap_ui.cpp #, c-format msgid "" -"LEVEL %i, %d'%d, %d'%d : %s (Distance: " +"LEVEL %i, %d'%d, %d'%d: %s (Distance: " "%d)" msgstr "" @@ -216614,11 +222158,6 @@ msgstr "¡Muy Frio!" msgid "Freezing!" msgstr "¡Congelado!" -#: src/panels.cpp -msgctxt "energy unit: kilojoule" -msgid "kJ" -msgstr "kJ" - #: src/panels.cpp msgid "Bad" msgstr "" @@ -216798,6 +222337,7 @@ msgstr "" msgid "Underground" msgstr "Bajo tierra" +#. ~ translation should not exceed 5 console cells #: src/panels.cpp msgid "Wind" msgstr "" @@ -216859,10 +222399,6 @@ msgstr "¡Sordo!" msgid "Weapon :" msgstr "" -#: src/panels.cpp -msgid "No Style" -msgstr "Sin estilo" - #: src/panels.cpp msgid "Day " msgstr "" @@ -216875,10 +222411,12 @@ msgstr "" msgid "to open sidebar options" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/panels.cpp msgid "Mana" msgstr "" +#. ~ translation should not exceed 9 console cells #: src/panels.cpp msgid "Max Mana" msgstr "" @@ -217136,78 +222674,6 @@ msgstr "" msgid "You have learned a new style: %s!" msgstr "" -#: src/player.cpp -#, c-format -msgid "Your %s will be frostnipped in the next few hours." -msgstr "Tu %s será quemado/a por el frío en las próximas horas." - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten within the hour!" -msgstr "¡Tu %s se te congelará en menos de una hora!" - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten any minute now!" -msgstr "¡Tu %s se te congelará en cualquier momento!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s beginning to go numb from the cold!" -msgstr "¡Sientes tu %s comenzando a entumecerse por el frío!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very cold." -msgstr "Sientes que tu %s se está enfriando mucho." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting chilly." -msgstr "Sientes que tu %s se está helando." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting red hot from the heat!" -msgstr "¡Sientes tu %s ardiendo del calor!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very hot." -msgstr "Sientes que tu %s se está poniendo muy caliente." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting warm." -msgstr "Sientes que tu %s se está calentando." - -#: src/player.cpp -#, c-format -msgid "The wind is making your %s feel quite cold." -msgstr "El viento hace que tu %s se sienta bastante frío/a." - -#: src/player.cpp -#, c-format -msgid "" -"The wind is very strong, you should find some more wind-resistant clothing " -"for your %s." -msgstr "" -"El viento es muy fuerte, deberías conseguir abrigo un poco más resistente al" -" viento para tu %s." - -#: src/player.cpp -#, c-format -msgid "" -"Your clothing is not providing enough protection from the wind for your %s!" -msgstr "" -"¡Tu ropa no te brinda protección suficiente contra el viento para tu %s!" - #: src/player.cpp msgid "You roll on the ground, trying to smother the fire!" msgstr "¡Ruedas por el suelo, intentando apagar el fuego!" @@ -217224,50 +222690,6 @@ msgstr "¡Intentas apagar el fuego que tienes encima!" msgid " attempts to put out the fire on them!" msgstr "¡ intenta apagar el fuego que tiene encima!" -#: src/player.cpp -msgid "You set your mech's leg power to a loping fast walk." -msgstr "" - -#: src/player.cpp -msgid "You nudge your steed into a steady trot." -msgstr "" - -#: src/player.cpp -msgid "You start walking." -msgstr "" - -#: src/player.cpp -msgid "You set the power of your mech's leg servos to maximum." -msgstr "" - -#: src/player.cpp -msgid "You spur your steed into a gallop." -msgstr "" - -#: src/player.cpp -msgid "You start running." -msgstr "Empiezas a correr." - -#: src/player.cpp -msgid "Your steed is too tired to go faster." -msgstr "" - -#: src/player.cpp -msgid "You're too tired to run." -msgstr "Estás muy cansado para correr." - -#: src/player.cpp -msgid "You reduce the power of your mech's leg servos to minimum." -msgstr "" - -#: src/player.cpp -msgid "You slow your steed to a walk." -msgstr "" - -#: src/player.cpp -msgid "You start crouching." -msgstr "" - #: src/player.cpp #, c-format msgid "Your ground sonar detected a %1$s to the %2$s!" @@ -217346,15 +222768,6 @@ msgstr "" msgid "You lose your balance while being hit!" msgstr "" -#: src/player.cpp -#, c-format -msgid "You were attacked by %s!" -msgstr "¡Te atacó %s! " - -#: src/player.cpp -msgid "You were hurt!" -msgstr "¡Te lastimaron!" - #: src/player.cpp msgid "A snake sprouts from your body!" msgstr "¡Una serpiente brota de tu cuerpo!" @@ -217446,8 +222859,8 @@ msgid "You are slammed against %s!" msgstr "" #: src/player.cpp -msgid "...but your shock absorbers negate the damage!" -msgstr "...pero tus amortiguadores contrarrestan el daño!" +msgid "…but your shock absorbers negate the damage!" +msgstr "" #: src/player.cpp #, c-format @@ -217504,8 +222917,8 @@ msgid "You have starved to death." msgstr "Te moriste de hambre." #: src/player.cpp -msgid "Food..." -msgstr "Comida..." +msgid "Food…" +msgstr "" #: src/player.cpp msgid "Due to insufficient nutrition, your body is suffering from starvation." @@ -217514,12 +222927,12 @@ msgstr "" #: src/player.cpp msgid "" "Despite having something in your stomach, you still feel like you haven't " -"eaten in days..." +"eaten in days…" msgstr "" #: src/player.cpp -msgid "Your stomach feels so empty..." -msgstr "Tu estómago se siente tan vacío..." +msgid "Your stomach feels so empty…" +msgstr "" #: src/player.cpp msgid "You are EMACIATED!" @@ -217538,24 +222951,24 @@ msgid "You have died of dehydration." msgstr "Moriste de deshidratación." #: src/player.cpp -msgid "Even your eyes feel dry..." -msgstr "Hasta tus ojos se sienten secos..." +msgid "Even your eyes feel dry…" +msgstr "" #: src/player.cpp msgid "You are THIRSTY!" msgstr "¡Estás SEDIENTO!" #: src/player.cpp -msgid "Your mouth feels so dry..." -msgstr "Tu boca se siente tan seca..." +msgid "Your mouth feels so dry…" +msgstr "" #: src/player.cpp msgid "Survivor sleep now." msgstr "Superviviente se duerme ahora." #: src/player.cpp -msgid "Anywhere would be a good place to sleep..." -msgstr "Cualquier lugar va a estar bueno para dormir..." +msgid "Anywhere would be a good place to sleep…" +msgstr "" #: src/player.cpp msgid "You feel like you haven't slept in days." @@ -217574,9 +222987,8 @@ msgid "*yawn* You should really get some sleep." msgstr "*bostezo* Realmente deberías dormir un poco." #: src/player.cpp -msgid "Your mind feels tired. It's been a while since you've slept well." +msgid "Your mind feels tired. It's been a while since you've slept well." msgstr "" -"Tu mente se siente cansada. Ha pasado mucho tiempo desde que dormiste bien." #: src/player.cpp msgid "" @@ -217586,16 +222998,14 @@ msgstr "" #: src/player.cpp msgid "" -"Your mind feels weary, and you dread every wakeful minute that passes. You " +"Your mind feels weary, and you dread every wakeful minute that passes. You " "crave sleep, and feel like you're about to collapse." msgstr "" -"Tu mente se siente agotada, y le temés a cada minuto que pasás despierto/a. " -"Anhelás dormir, y sentís que estás a punto de desplomarte." #: src/player.cpp msgid "" "You haven't slept decently for so long that your whole body is screaming for" -" mercy. It's a miracle that you're still awake, but it just feels like a " +" mercy. It's a miracle that you're still awake, but it just feels like a " "curse now." msgstr "" @@ -217637,14 +223047,6 @@ msgstr "Las heridas desinfectadas en tu %s han sanado." msgid "There is not enough %s left to siphon it." msgstr "No queda suficiente %s para chuparlo." -#: src/player.cpp -msgid "You cough heavily." -msgstr "Toses fuertemente." - -#: src/player.cpp -msgid "a hacking cough." -msgstr "una tos seca." - #: src/player.cpp msgid "Your body is wracked with excruciating pain!" msgstr "¡Tu cuerpo se retuerce por el dolor insoportable!" @@ -217690,11 +223092,6 @@ msgstr "¡Te duele el/la %s!" msgid "Your %s aches." msgstr "Sientes dolor en el/la %s." -#: src/player.cpp -#, c-format -msgid "Your current health value is %d." -msgstr "Tu actual valor de salud es %d. " - #: src/player.cpp #, c-format msgid "Your %s HURTS!" @@ -217808,13 +223205,15 @@ msgstr "%1$s dice: \"%2$s\"" msgid "You increase %1$s to level %2$d." msgstr "" +#. ~ %1$s: weapon name #: src/player.cpp -msgid "Your " -msgstr "Tu" +#, c-format +msgid "Your %1$s" +msgstr "" #: src/player.cpp -msgid "You suddenly feel so numb..." -msgstr "De repente, te sientes muy adormecido..." +msgid "You suddenly feel so numb…" +msgstr "" #: src/player.cpp msgid "You start to shake uncontrollably." @@ -217825,6 +223224,12 @@ msgstr "Empiezas a temblar descontroladamente." msgid "yourself shout, %s" msgstr "" +#. ~ %1$s: weapon name +#: src/player.cpp +#, c-format +msgid "your %1$s" +msgstr "" + #: src/player.cpp msgid "You're suddenly overcome with the urge to sleep and you pass out." msgstr "" @@ -217927,8 +223332,8 @@ msgid "Suddenly, your eyes stop working!" msgstr "¡De repente, tus ojos dejaron de funcionar!" #: src/player.cpp -msgid "Your visual centers must be acting up..." -msgstr "Parece que tus centros visuales no están funcionando bien..." +msgid "Your visual centers must be acting up…" +msgstr "" #: src/player.cpp msgid "You feel an anomalous sensation coming from your radiation sensors." @@ -218006,7 +223411,7 @@ msgid "You shake uncontrollably." msgstr "" #: src/player.cpp -msgid "You feel nauseous..." +msgid "You feel nauseous…" msgstr "" #: src/player.cpp @@ -218022,8 +223427,8 @@ msgid "You stumble and fall over!" msgstr "" #: src/player.cpp -msgid "You feel tired..." -msgstr "Te sientes cansado..." +msgid "You feel tired…" +msgstr "" #: src/player.cpp msgid "You tiredly rub your eyes." @@ -218173,10 +223578,6 @@ msgstr "Dejaste el/la %s vacío/a." msgid "%c - %d empty %s" msgstr "%c - %d vacío %s" -#: src/player.cpp -msgid "You sink your roots into the soil." -msgstr "Hundís tus raíces en la tierra." - #: src/player.cpp src/veh_interact.cpp #, c-format msgid "Refill %s" @@ -218334,6 +223735,10 @@ msgstr "astas" msgid "Can't wield spilt liquids." msgstr "No podés empuñar líquidos derramados." +#: src/player.cpp +msgid "You need at least one arm to even consider wielding something." +msgstr "" + #: src/player.cpp msgid "Something you are wearing hinders the use of both hands." msgstr "" @@ -218429,20 +223834,43 @@ msgstr "El/la %s no tiene niguna falla para arreglar." msgid "Mend which fault?" msgstr "¿Qué falla quieres arreglar?" -#: src/player.cpp src/veh_interact.cpp -msgid "Time required:\n" -msgstr "Tiempo necesario:\n" +#: src/player.cpp +#, c-format +msgid "Turns into: %s\n" +msgstr "" #: src/player.cpp -msgid "Skills:\n" -msgstr "Habilidades:\n" +#, c-format +msgid "Time required: %s\n" +msgstr "" + +#: src/player.cpp +msgid "Skills: none\n" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "Skills: %s\n" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level +#: src/player.cpp +#, c-format +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level +#: src/player.cpp +#, c-format +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" -#. ~ %1$s represents the internal color name which shouldn't be translated, -#. %2$s is skill name, and %3$i is skill level #: src/player.cpp #, c-format -msgid "> %2$s %3$i\n" -msgstr "> %2$s %3$i\n" +msgid "You are currently unable to mend the %s this way." +msgstr "" #: src/player.cpp msgid "You are already wearing that." @@ -218468,13 +223896,13 @@ msgstr " se pone su %s." #: src/player.cpp #, c-format -msgid "Your %s are very encumbered! %s" -msgstr "¡Tus %s están muy incómodos! %s" +msgid "Your %s are very encumbered! %s" +msgstr "" #: src/player.cpp #, c-format -msgid "Your %s is very encumbered! %s" -msgstr "¡Tu %s está muy incómodo! %s" +msgid "Your %s is very encumbered! %s" +msgstr "" #: src/player.cpp msgid "You're deafened!" @@ -218482,13 +223910,12 @@ msgstr "¡Estás sordo!" #: src/player.cpp #, c-format -msgid "This %s is too big to wear comfortably! Maybe it could be refitted..." +msgid "This %s is too big to wear comfortably! Maybe it could be refitted…" msgstr "" #: src/player.cpp #, c-format -msgid "" -"This %s is too small to wear comfortably! Maybe it could be refitted..." +msgid "This %s is too small to wear comfortably! Maybe it could be refitted…" msgstr "" #: src/player.cpp @@ -218616,20 +224043,6 @@ msgstr "Recuperas %i de plutonio sin utilizar." msgid "You can't remove partially depleted plutonium!" msgstr "¡No puedes quitar plutonio parcialmente agotado!" -#: src/player.cpp -#, c-format -msgid "Your %s needs %d charge from some UPS." -msgid_plural "Your %s needs %d charges from some UPS." -msgstr[0] "Tu %s necesita %d carga de algún UPS." -msgstr[1] "Tu %s necesita %d cargas de algún UPS." - -#: src/player.cpp -#, c-format -msgid "Your %s has %d charge but needs %d." -msgid_plural "Your %s has %d charges but needs %d." -msgstr[0] "Tu %s tiene %d carga pero necesita %d." -msgstr[1] "Tu %s tiene %d cargas pero necesita %d." - #. ~ %1$s - gunmod, %2$s - gun. #: src/player.cpp #, c-format @@ -218670,9 +224083,8 @@ msgid "It's impossible to sleep in this wheeled pot!" msgstr "¡Es imposible dormir en esta cafetera con ruedas!" #: src/player.cpp -msgid "The humans' furniture blocks your roots. You can't get comfortable." +msgid "The humans' furniture blocks your roots. You can't get comfortable." msgstr "" -"Los muebles de los humanos bloquean tus raíces. No te puedes poner cómodo." #: src/player.cpp msgid "Your roots scrabble ineffectively at the unyielding surface." @@ -218685,9 +224097,8 @@ msgid "" msgstr "" #: src/player.cpp -msgid "These thick webs support your weight, and are strangely comfortable..." +msgid "These thick webs support your weight, and are strangely comfortable…" msgstr "" -"Estas telarañas gruesas soportan tu peso, y son extrañamente cómodas..." #: src/player.cpp msgid "You try to sleep, but the webs get in the way. You brush them aside." @@ -218710,11 +224121,11 @@ msgstr "Tal vez una buena telaraña gruesa te ayude a dormir." #: src/player.cpp msgid "" -"You lay beneath the waves' embrace, gazing up through the water's surface..." +"You lay beneath the waves' embrace, gazing up through the water's surface…" msgstr "" #: src/player.cpp -msgid "You settle into the water and begin to drowse..." +msgid "You settle into the water and begin to drowse…" msgstr "" #: src/player.cpp @@ -218768,76 +224179,6 @@ msgstr "" msgid "Your soporific inducer starts back up." msgstr "" -#: src/player.cpp -msgid "You nestle your pile of clothes for warmth." -msgstr "Acurrucas la pila de ropa para estar más abrigado." - -#: src/player.cpp -msgid "You use your pile of clothes for warmth." -msgstr "Usas tu pila de ropa para estar más abrigado." - -#: src/player.cpp -#, c-format -msgid "You snuggle your %s to keep warm." -msgstr "Te abrazas a tu %s para mantener la temperatura." - -#: src/player.cpp -#, c-format -msgid "You use your %s to keep warm." -msgstr "Usas tu %s para mantener la temperatura." - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Entered hibernation." -msgstr "Hibernación comenzada." - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Entered hibernation." -msgstr "Hibernación comenzada." - -#. ~ %s is armor name -#: src/player.cpp -#, c-format -msgctxt "memorial_male" -msgid "Worn %s was completely destroyed." -msgstr "El %s puesto ha sido completamente destruido." - -#: src/player.cpp -#, c-format -msgctxt "memorial_female" -msgid "Worn %s was completely destroyed." -msgstr "El %s puesto ha sido completamente destruido." - -#: src/player.cpp -#, c-format -msgid "Your %s is completely destroyed!" -msgstr "¡Tu %s es destruido completamente!" - -#: src/player.cpp -#, c-format -msgid "'s %s is completely destroyed!" -msgstr "¡El %s de es destruido completamente!" - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s further!" -msgstr "¡Tu %1$s es %2$s aún más!" - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s!" -msgstr "¡Tu %1$s es %2$s!" - -#: src/player.cpp src/veh_interact.cpp -msgid "destroyed" -msgstr "destruido" - -#: src/player.cpp -#, c-format -msgid "This task is too simple to train your %s beyond %d." -msgstr "Esta tarea es demasiado simple para entrenar tu %s más de %d." - #: src/player.cpp #, c-format msgid "Your skill in %s has increased to %d!" @@ -218850,8 +224191,9 @@ msgstr "" "Sientes que las tareas de %s de este nivel se han vuelto algo trivial." #: src/player.cpp -msgid "You resume your task." -msgstr "Retomas tu tarea." +#, c-format +msgid "This task is too simple to train your %s beyond %d." +msgstr "Esta tarea es demasiado simple para entrenar tu %s más de %d." #: src/player.cpp msgid "Wield what?" @@ -218863,8 +224205,8 @@ msgstr "¡El tiempo parece hacerse más lento cuando esquivas instintivamente!" #: src/player.cpp #, c-format -msgid "%s dodges... so fast!" -msgstr "%s lo esquiva... ¡es muy rápido!" +msgid "%s dodges… so fast!" +msgstr "" #: src/player.cpp msgid "You try to dodge but there's no room!" @@ -218875,80 +224217,6 @@ msgstr "¡Intentas esquivar pero no hay lugar!" msgid "%s tries to dodge but there's no room!" msgstr "¡%s intenta esquivar pero no hay lugar!" -#: src/player.cpp -msgid "You start hauling items along the ground." -msgstr "" - -#: src/player.cpp -msgid "Your hands are not free, which makes hauling slower." -msgstr "" -"Tus manos no están vacías, lo que hace que arrastres cosas mucho más lento." - -#: src/player.cpp -msgid "You stop hauling items." -msgstr "" - -#: src/player.cpp -msgid "Your body strains under the weight!" -msgstr "¡Tu cuerpo se esfuerza en mantener tanto peso!" - -#: src/player.cpp -#, c-format -msgid "You remove the %s's harness." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You climb on the %s." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You hear your %s whir to life." -msgstr "" - -#: src/player.cpp -msgid "You are ejected from your mech!" -msgstr "" - -#: src/player.cpp -msgid " is ejected from their mech!" -msgstr "" - -#: src/player.cpp -msgid "You fall off your mount!" -msgstr "" - -#: src/player.cpp -msgid " falls off their mount!" -msgstr "" - -#: src/player.cpp src/trapfunc.cpp -msgid "You hurt yourself!" -msgstr "¡Te lastimas!" - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Fell off a mount." -msgstr "" - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Fell off a mount." -msgstr "" - -#: src/player.cpp -msgid "Dismount where?" -msgstr "" - -#: src/player.cpp -msgid "You cannot dismount there!" -msgstr "" - -#: src/player.cpp -msgid "Wielding: " -msgstr "Empuñando: " - #: src/player.cpp #, c-format msgid "You (%s)" @@ -219002,45 +224270,22 @@ msgstr "" msgid "Pain " msgstr "Dolor" +#. ~ skill_name current_skill_level -> next_skill_level (% to next level) #: src/player_activity.cpp #, c-format -msgid "Crafting: %s" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Burrowing: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Sawing: %d%%" +msgctxt "reading progress" +msgid "%s %d -> %d (%d%%)" msgstr "" #: src/player_activity.cpp #, c-format -msgid "Jackhammering: %d%%" +msgid "%s…" msgstr "" #: src/player_activity.cpp #, c-format -msgid "Digging: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Disassembling: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Shoveling: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Chopping: %d%%" -msgstr "" +msgid "%s: %s" +msgstr "%s: %s" #: src/player_activity.cpp msgid "You pause for a moment to catch your breath." @@ -219256,47 +224501,57 @@ msgstr "Velocidad actual:" #: src/player_display.cpp #, c-format -msgid "Overburdened -%s%d%%" -msgstr "Sobrecargado -%s%d%%" +msgctxt "speed penalty" +msgid "Overburdened -%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Pain -%s%d%%" -msgstr "Dolor -%s%d%%" +msgctxt "speed penalty" +msgid "Pain -%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Thirst -%s%d%%" -msgstr "Sed -%s%d%%" +msgctxt "speed penalty" +msgid "Thirst -%2d%%" +msgstr "" #: src/player_display.cpp msgid "Underfed" msgstr "" +#. ~ %s: Starving/Underfed (already left-justified), %2d: speed penalty #: src/player_display.cpp #, c-format -msgid "%-20s-%s%d%%" +msgctxt "speed penalty" +msgid "%s-%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Out of Sunlight -%s%d%%" -msgstr "Sin Luz Solar -%s%d%%" +msgctxt "speed penalty" +msgid "Out of Sunlight -%2d%%" +msgstr "" +#. ~ %s: sign of bonus/penalty, %2d: speed bonus/penalty #: src/player_display.cpp #, c-format -msgid "Cold-Blooded %s%s%d%%" +msgctxt "speed modifier" +msgid "Cold-Blooded %s%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Quick +%s%d%%" -msgstr "Rápido +%s%d%%" +msgctxt "speed bonus" +msgid "Quick +%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Bionic Speed +%s%d%%" -msgstr "Velocidad Biónica +%s%d%%" +msgctxt "speed bonus" +msgid "Bionic Speed +%2d%%" +msgstr "" #: src/player_display.cpp #, c-format @@ -219329,17 +224584,15 @@ msgstr "Severamente Malnutrido/a" #: src/player_display.cpp msgid "" -"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" -" \n" +"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" +"\n" msgstr "" #: src/player_display.cpp msgid "" -"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" -" \n" +"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" +"\n" msgstr "" -"Tu cuerpo está severamente debilitado por la inanición. Solo el tiempo y la comida te ayudarán a recuperarte.\n" -" \n" #: src/player_display.cpp src/veh_interact.cpp msgid "Strength" @@ -219439,39 +224692,30 @@ msgid " vomits thousands of live spores!" msgstr "¡ vomita cientas de esporas vivas!" #: src/player_hardcoded_effects.cpp -msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" +msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" msgstr "" -"La carne de tus brazos quebrados tiene bultos. ¡Explotan y salen tallos de " -"hongos!" #: src/player_hardcoded_effects.cpp -msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" +msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" msgstr "" -"La carne de los brazos quebrados de tiene bultos. ¡Explotan y " -"salen tallos de hongos!" #: src/player_hardcoded_effects.cpp msgid "" -"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " +"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " "through!" msgstr "" -"La carne de tu brazo quebrado y del otro tiene bultos. ¡Explotan y salen " -"tallos de hongos!" #: src/player_hardcoded_effects.cpp -msgid "'s arms bulge. Fungus stalks burst out of the bulges!" +msgid "'s arms bulge. Fungus stalks burst out of the bulges!" msgstr "" -"La carne de los brazos de tiene bultos. ¡Explotan y salen tallos " -"de hongos!" #: src/player_hardcoded_effects.cpp -msgid "Your hands bulge. Fungus stalks burst through the bulge!" -msgstr "Tus manos tienen bultos. ¡Explotan y salen tallos de hongos!" +msgid "Your hands bulge. Fungus stalks burst through the bulge!" +msgstr "" #: src/player_hardcoded_effects.cpp -msgid "'s hands bulge. Fungus stalks burst through the bulge!" +msgid "'s hands bulge. Fungus stalks burst through the bulge!" msgstr "" -"Las manos de tienen bultos. ¡Explotan y salen tallos de hongos!" #: src/player_hardcoded_effects.cpp msgid "You feel nauseous!" @@ -219518,8 +224762,8 @@ msgid "\"Oh God, what's happening?\"" msgstr "\"Oh Dios, ¿qué está pasando?\"" #: src/player_hardcoded_effects.cpp -msgid "\"Of course... it's all fractals!\"" -msgstr "\"Por supuesto... ¡son todos fractales!\"" +msgid "\"Of course… it's all fractals!\"" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "\"Huh? What was that?\"" @@ -219554,9 +224798,8 @@ msgid "You quiver from the cold." msgstr "Estás temblando de frío." #: src/player_hardcoded_effects.cpp -msgid "Your torso is freezing cold. You should put on a few more layers." +msgid "Your torso is freezing cold. You should put on a few more layers." msgstr "" -"Se te está congelando el torso. Tendrías que ponerte algo más de ropa." #: src/player_hardcoded_effects.cpp msgid "Your shivering makes you unsteady." @@ -219761,8 +225004,8 @@ msgid "You shudder suddenly." msgstr "De repente, sientes un escalofrío." #: src/player_hardcoded_effects.cpp -msgid "Your vision is filled with bright lights..." -msgstr "Tu visión se llena de luces brillantes..." +msgid "Your vision is filled with bright lights…" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "You're suddenly covered in ectoplasm." @@ -219943,6 +225186,47 @@ msgstr "" msgid "Your alarm went off." msgstr "" +#: src/player_hardcoded_effects.cpp +msgid "You lose control of your body as it begins to convulse!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You lose conciousness!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "arm" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "hand" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "leg" +msgstr "" + +#: src/player_hardcoded_effects.cpp +#, c-format +msgid "Your %s suddenly jerks in an unexpected direction!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep hold of your weapon." +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep your footing." +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You suddenly lose all muscle tone, and can't support your own weight!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You have a splitting headache." +msgstr "" + #: src/ranged.cpp #, c-format msgid "Your %s misfires with a muffled click!" @@ -220093,7 +225377,7 @@ msgstr "" #: src/ranged.cpp #, c-format -msgid "[%c] to steady your aim. (10 moves)" +msgid "[%c] to steady your aim. (10 moves)" msgstr "" #: src/ranged.cpp @@ -220262,7 +225546,7 @@ msgid "Effective Spell Radius: %s%s" msgstr "" #: src/ranged.cpp -msgid " WARNING! IN RANGE" +msgid " WARNING! IN RANGE" msgstr "" #: src/ranged.cpp @@ -220364,10 +225648,6 @@ msgstr "¡kerblam!" msgid "none" msgstr "ninguno" -#: src/recipe.cpp -msgid "none" -msgstr "" - #: src/recipe.cpp #, c-format msgid "%s%% at >%s units" @@ -220391,6 +225671,15 @@ msgid_plural "%1$s (%2$d charges)" msgstr[0] "" msgstr[1] "" +#. ~ %1$s: item name, %2$d: charge requirement +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%1$s (%2$d of infinite)" +msgid_plural "%1$s (%2$d of infinite)" +msgstr[0] "" +msgstr[1] "" + #. ~ %1$s: item name, %2$d: charge requirement, %3%d: available charges #: src/requirements.cpp #, c-format @@ -220409,6 +225698,15 @@ msgid_plural "%1$s (%2$d)" msgstr[0] "" msgstr[1] "" +#. ~ %1$s: item name, %2$d: required count +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%2$d %1$s of infinite" +msgid_plural "%2$d %1$s of infinite" +msgstr[0] "" +msgstr[1] "" + #. ~ %1$s: item name, %2$d: required count, %3%d: available count #: src/requirements.cpp #, c-format @@ -220494,8 +225792,8 @@ msgid "Safe Mode manager currently inactive." msgstr "El gestor de modo seguro está inactivo." #: src/safemode_ui.cpp -msgid "Default rules are used. Add a rule to activate." -msgstr "Se están usando las reglas por defecto. Añade una regla para activar." +msgid "Default rules are used. Add a rule to activate." +msgstr "" #: src/safemode_ui.cpp msgid "Press ~ to add a default ruleset to get started." @@ -220507,7 +225805,7 @@ msgstr "Permitidos" #: src/safemode_ui.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" +"* is used as a Wildcard. A few Examples:\n" "\n" "human matches every NPC\n" "zombie matches the monster name exactly\n" @@ -220516,14 +225814,6 @@ msgid "" "*cid*zo*ie multiple * are allowed\n" "AcI*zO*iE case insensitive search" msgstr "" -"* se utiliza como comodín. Unos pocos ejemplos:\n" -"\n" -"humano coincide cada PNJ\n" -"zombi coincide con el nombre del monstruo exacto\n" -"zombi ac* coincide con el principio del nombre del monstruo con 'zombi ac'\n" -"*mbi coincide con el final del nombre del monstruo con 'mbi'\n" -"*cid*zo*i están permitidos los múltiples '*'\n" -"AcI*zO*i búsqueda entre mayúsculas y minúsculas" #: src/safemode_ui.cpp msgid "Safe Mode Rule:" @@ -220538,8 +225828,8 @@ msgid "Option: " msgstr "Opción:" #: src/safemode_ui.cpp -msgid "No monsters loaded. Please start a game first." -msgstr "No hay monstruos cargados. Por favor, primero comienza un juego." +msgid "No monsters loaded. Please start a game first." +msgstr "" #: src/safemode_ui.cpp #, c-format @@ -220553,8 +225843,8 @@ msgid "Lists monsters regardless of their attitude." msgstr "Lista de monstruos sin importar su actitud." #: src/safemode_ui.cpp -msgid "Safe Mode is not enabled in the options. Enable it now?" -msgstr "El modo seguro no está activado en las opciones. ¿Activarlo ahora?" +msgid "Safe Mode is not enabled in the options. Enable it now?" +msgstr "" #: src/safemode_ui.cpp msgid "safemode configuration" @@ -220595,12 +225885,6 @@ msgstr "" msgid "KILLS" msgstr "" -#: src/sdltiles.cpp -msgid "" -"Sets which video display will be used to show the game. Requires restart." -msgstr "" -"Establece qué monitor será usado para mostrar el juego. Necesita reiniciar." - #: src/skill.cpp msgid "The zen-most skill there is." msgstr "" @@ -220657,6 +225941,10 @@ msgstr "" msgid "d: delete history" msgstr "d: borrar historial" +#: src/teleport.cpp +msgid "You feel a strange, inwards force." +msgstr "" + #: src/teleport.cpp msgid "You cannot teleport safely." msgstr "" @@ -220666,7 +225954,11 @@ msgid "You die after teleporting into a solid." msgstr "" #: src/teleport.cpp -msgid "You exlpode into thousands of fragments." +msgid "You feel disjointed." +msgstr "" + +#: src/teleport.cpp +msgid "You explode into thousands of fragments." msgstr "" #: src/teleport.cpp @@ -220992,12 +226284,12 @@ msgid "vvrrrRRMM*POP!*" msgstr "¡vvrrrRRMM*POP!*" #: src/trapfunc.cpp -msgid "The air shimmers around you..." -msgstr "El aire resplandece a tu alrededor..." +msgid "The air shimmers around you…" +msgstr "" #: src/trapfunc.cpp #, c-format -msgid "The air shimmers around %s..." +msgid "The air shimmers around %s…" msgstr "" #: src/trapfunc.cpp @@ -221013,8 +226305,8 @@ msgid "The acidic goo eats away at your feet." msgstr "La viscosidad ácida carcome el suelo a tus pies." #: src/trapfunc.cpp -msgid "BEEPBOOP! Please remove non-organic object." -msgstr "¡BIPBUP! Por favor, retirar el objeto no orgánico." +msgid "BEEPBOOP! Please remove non-organic object." +msgstr "" #: src/trapfunc.cpp msgid "The dissector lights up, and shuts down." @@ -221030,7 +226322,7 @@ msgstr "¡Rayos eléctricos se emiten del suelo y cortan la carne de !" #: src/trapfunc.cpp #, c-format -msgid "Electrical beams emit from the floor and slice your %s!" +msgid "Electrical beams emit from the floor and slice the %s!" msgstr "" #: src/trapfunc.cpp @@ -221114,8 +226406,8 @@ msgid "Your %s is burned by the lava!" msgstr "" #: src/trapfunc.cpp -msgid "You fail to attach it..." -msgstr "No pudiste sujetarlo..." +msgid "You fail to attach it…" +msgstr "" #: src/trapfunc.cpp msgid "There's nowhere to pull yourself to, and you sink!" @@ -221255,8 +226547,21 @@ msgid "Set turret targeting" msgstr "Establecer objetivo de torreta" #: src/turret.cpp -msgid "Can't aim turrets: all turrets are offline" -msgstr "No se pueden apuntar torretas: todas están sin conexión" +msgid "auto -> manual" +msgstr "" + +#: src/turret.cpp +msgid "manual -> auto" +msgstr "" + +#: src/turret.cpp +msgid "manual (turret control unit required for auto mode)" +msgstr "" + +#: src/turret.cpp +msgid "" +"Can't aim turrets: all turrets are offline or set to manual targeting mode." +msgstr "" #: src/turret.cpp msgid "Aim which turret?" @@ -221300,17 +226605,18 @@ msgstr "John Smith" #: src/tutorial.cpp msgid "" "You're saving a tutorial - the tutorial world lacks certain features of " -"normal worlds. Weird things might happen when you load this save. You have " -"been warned." +"normal worlds. Weird things might happen when you load this save. You have" +" been warned." msgstr "" -"Estás guardando el tutorial - al mundo del tutorial le faltan ciertas " -"características de los mundos normales. Pueden pasar cosas raras cuando " -"cargues esta partida guardada. Quedas advertido." #: src/veh_interact.cpp msgid "Select part" msgstr "Selecciona parte" +#: src/veh_interact.cpp +msgid "Time required:\n" +msgstr "Tiempo necesario:\n" + #: src/veh_interact.cpp msgid "Skills required:\n" msgstr "Habilidades necesarias:\n" @@ -221483,11 +226789,11 @@ msgid "Search for part" msgstr "Búsqueda de pieza" #: src/veh_interact.cpp -msgid "Your morale is too low to construct..." -msgstr "Tu moral es demasiado baja como para construir algo..." +msgid "Your morale is too low to construct…" +msgstr "" #: src/veh_interact.cpp -msgid "It's too dark to see what you are doing..." +msgid "It's too dark to see what you are doing…" msgstr "" #: src/veh_interact.cpp @@ -221495,7 +226801,7 @@ msgid "You can't install parts while driving." msgstr "No puedes instalar piezas mientras estás conduciendo." #: src/veh_interact.cpp -msgid "Installing this part will make the vehicle unfoldable. Continue?" +msgid "Installing this part will make the vehicle unfoldable. Continue?" msgstr "" #: src/veh_interact.cpp @@ -221503,8 +226809,8 @@ msgid "Choose shape:" msgstr "Elegir forma:" #: src/veh_interact.cpp -msgid "Your morale is too low to repair..." -msgstr "Tu moral es demasiado baja como para reparar algo..." +msgid "Your morale is too low to repair…" +msgstr "" #: src/veh_interact.cpp msgid "You can't repair stuff while driving." @@ -221523,8 +226829,8 @@ msgid "This part cannot be repaired" msgstr "Esta pieza no puede ser reparada" #: src/veh_interact.cpp -msgid "Your morale is too low to mend..." -msgstr "Tu moral es demasiado baja como para arreglar algo..." +msgid "Your morale is too low to mend…" +msgstr "" #: src/veh_interact.cpp msgid "No faulty parts require mending." @@ -221697,7 +227003,7 @@ msgid "You can't siphon from a moving vehicle." msgstr "No puedes usar el sifón en un vehículo en movimiento." #: src/veh_interact.cpp -msgid "Select part to siphon: " +msgid "Select part to siphon:" msgstr "" #: src/veh_interact.cpp @@ -222170,6 +227476,11 @@ msgstr "¡La parte del vehículo que estabas sosteniendo ha sido destruida!" msgid "Lost connection with the vehicle due to distance!" msgstr "¡Perdiste conexión con el vehículo debido a la distancia!" +#: src/vehicle.cpp +#, c-format +msgid "the %s emitting a beep and saying \"Obstacle detected!\"" +msgstr "" + #. ~ backfire sound #: src/vehicle.cpp #, c-format @@ -222231,7 +227542,7 @@ msgstr "" #: src/vehicle.cpp #, c-format msgid "" -"A part of the vehicle ('%s') has no containing vehicle's name. It will be " +"A part of the vehicle ('%s') has no containing vehicle's name. It will be " "detached from the %s vehicle." msgstr "" @@ -222337,8 +227648,8 @@ msgid "The %1$s's %2$s is destroyed!" msgstr "¡El/la %2$s de %1$s es destruido!" #: src/vehicle_display.cpp -msgid "More parts here..." -msgstr "Aquí hay más piezas..." +msgid "More parts here…" +msgstr "" #: src/vehicle_display.cpp #, c-format @@ -222734,7 +228045,7 @@ msgstr "" #: src/vehicle_use.cpp msgctxt "electronics menu option" -msgid "rockhead" +msgid "roadheader" msgstr "" #: src/vehicle_use.cpp @@ -222813,8 +228124,8 @@ msgid "You could use a screwdriver to hotwire it." msgstr "Podrías usar un destornillador para puentearlo." #: src/vehicle_use.cpp -msgid "You destroy the controls..." -msgstr "Destrozaste los controles..." +msgid "You destroy the controls…" +msgstr "" #: src/vehicle_use.cpp msgid "You damage the controls." @@ -222836,6 +228147,28 @@ msgstr "Olvidar posición del vehículo" msgid "Remember vehicle position" msgstr "Recordar posición del vehículo" +#: src/vehicle_use.cpp +msgid "Choose action for the autopilot" +msgstr "" + +#: src/vehicle_use.cpp +msgid "Patrol…" +msgstr "" + +#: src/vehicle_use.cpp +msgid "" +"Program the autopilot to patrol a nearby vehicle patrol zone. If no zones " +"are nearby, you will be prompted to create one." +msgstr "" + +#: src/vehicle_use.cpp +msgid "Stop…" +msgstr "" + +#: src/vehicle_use.cpp +msgid "Stop all autopilot related activities." +msgstr "" + #: src/vehicle_use.cpp msgid "You stop keeping track of the vehicle position." msgstr "Dejas de rastrear la posición del vehículo." @@ -222880,14 +228213,14 @@ msgstr "Apagar el motor" msgid "Turn on the engine" msgstr "Encender el motor" -#: src/vehicle_use.cpp -msgid "You turn the engine off." -msgstr "Apagaste el motor." - #: src/vehicle_use.cpp msgid "Honk horn" msgstr "Tocar la bocina" +#: src/vehicle_use.cpp +msgid "Control autopilot" +msgstr "" + #: src/vehicle_use.cpp msgid "Disable cruise control" msgstr "Desactivar control de crucero" @@ -223014,6 +228347,10 @@ msgstr "" msgid "the %s starting" msgstr "" +#: src/vehicle_use.cpp +msgid "You turn the engine off." +msgstr "Apagaste el motor." + #: src/vehicle_use.cpp msgid "You honk the horn!" msgstr "¡Tocas la bocina!" @@ -223034,7 +228371,7 @@ msgstr "Tocaste la bocina, pero no pasó nada." #: src/vehicle_use.cpp #, c-format -msgid "Move how many? [Have %d] (0 to cancel)" +msgid "Move how many? [Have %d] (0 to cancel)" msgstr "" #: src/vehicle_use.cpp @@ -223111,6 +228448,10 @@ msgstr "" msgid "Only CBMs can be sterilized in an autoclave." msgstr "" +#: src/vehicle_use.cpp +msgid "You should put your CBMs in autoclave pouches to keep them sterile." +msgstr "" + #: src/vehicle_use.cpp msgid "You turn the autoclave on and it starts its cycle." msgstr "" @@ -223224,6 +228565,15 @@ msgstr "" msgid "You untie your %s." msgstr "" +#: src/vehicle_use.cpp +msgid "Load a vehicle on the rack" +msgstr "" + +#: src/vehicle_use.cpp +#, c-format +msgid "Remove the %s from the rack" +msgstr "" + #: src/vehicle_use.cpp msgid "Examine vehicle" msgstr "Examinar vehículo" @@ -223344,8 +228694,8 @@ msgid "Your power armor protects you from the acidic drizzle." msgstr "Tu armadura de poder te protege de la llovizna ácida." #: src/weather.cpp -msgid "The acid rain stings, but is mostly harmless for now..." -msgstr "La lluvia ácida arde, pero por ahora es bastante inofensiva..." +msgid "The acid rain stings, but is mostly harmless for now…" +msgstr "" #: src/weather.cpp msgid "Your umbrella protects you from the acid rain." @@ -223430,8 +228780,8 @@ msgstr "%s Noche" #: src/weather.cpp #, c-format -msgid "%s... %s. Highs of %s. Lows of %s. " -msgstr "%s... %s. Altos de %s. Bajos de %s. " +msgid "%s… %s. Highs of %s. Lows of %s. " +msgstr "" #: src/weather.cpp #, c-format @@ -223682,7 +229032,7 @@ msgstr "¿Cuántos?" #: src/wish.cpp #, c-format -msgid "Wish granted. Wish for more or hit [%s] to quit." +msgid "Wish granted. Wish for more or hit [%s] to quit." msgstr "" #: src/wish.cpp @@ -223690,8 +229040,8 @@ msgid "Select a skill to modify" msgstr "Elige una habilidad para modificar" #: src/wish.cpp -msgid "Modify all skills..." -msgstr "Modificar todas las habilidades..." +msgid "Modify all skills…" +msgstr "" #: src/wish.cpp #, c-format @@ -223700,8 +229050,8 @@ msgstr "@ %d: %s " #: src/wish.cpp #, c-format -msgid "Set '%s' to.." -msgstr "Establecer '%s' en.." +msgid "Set '%s' to…" +msgstr "" #: src/wish.cpp msgid " (current)" @@ -223799,8 +229149,8 @@ msgstr "Orden de carga de mods" #: src/worldfactory.cpp #, c-format -msgid "... %s = View full description " -msgstr "... %s = Ver la descripción completa" +msgid "…%s = View full description " +msgstr "" #: src/worldfactory.cpp msgid "--NO AVAILABLE MODS--" @@ -223835,15 +229185,13 @@ msgid "________NO NAME ENTERED!________" msgstr "______¡NO PUSISTE NOMBRE!_____" #: src/worldfactory.cpp -msgid "Are you SURE you're finished? World name will be randomly generated." +msgid "Are you SURE you're finished? World name will be randomly generated." msgstr "" -"¿Seguro que has acabado? El nombre de tu mundo será generado " -"automáticamente." #: src/worldfactory.cpp #, c-format msgid "" -"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " +"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " "%s/%s = Prev/Next Tab." msgstr "" diff --git a/lang/po/hu.po b/lang/po/hu.po index fd8a405249162..c4e5130c7babc 100644 --- a/lang/po/hu.po +++ b/lang/po/hu.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.D\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-06 00:47+0800\n" +"POT-Creation-Date: 2019-11-09 00:53+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" "Last-Translator: Daniel Szollosi-Nagy , 2019\n" "Language-Team: Hungarian (https://www.transifex.com/cataclysm-dda-translators/teams/2217/hu/)\n" @@ -62,6 +62,8 @@ msgid "" "Some free-floating battery charge. This can be reloaded into rechargable " "battery cells, but can never be unloaded." msgstr "" +"Némi semmiben lebegő elemtöltet. Újratölthető elemekbe betárazható, de onnan" +" már nem lehet kiszedni." #: lang/json/AMMO_from_json.py msgid "aluminum foil" @@ -227,8 +229,8 @@ msgstr "Egy maréknyi, csúzlival kilőhető üveggolyó." #: lang/json/AMMO_from_json.py msgid "bearings" msgid_plural "bearings" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csapágy" +msgstr[1] "csapágy" #. ~ Description for bearings #: lang/json/AMMO_from_json.py @@ -313,7 +315,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "mixed gunpowder" -msgstr "" +msgstr "kevert lőpor" #. ~ Description for mixed gunpowder #: lang/json/AMMO_from_json.py @@ -322,56 +324,71 @@ msgid "" "or shape. It has been slightly ground to make its properties more uniform." " Only the truly desperate would attempt to reload with this." msgstr "" +"Lőfegyver minőségű lőpor, amelyet összetételére, égési sebességére vagy " +"formájára való bármiféle tekintet nélkül, csak ahogy esik, úgy puffan " +"módszerrel kevertek ki. A szemcseméret és az állaga általánosítása érdekében" +" egy kicsit szétmorzsolták. Csak egy rendkívül kétségbeesett alak próbálna " +"bármit is ezzel újratölteni." #: lang/json/AMMO_from_json.py msgid "smokeless shotgun powder" -msgstr "" +msgstr "füstmentes sörétes lőpor" #. ~ Description for smokeless shotgun powder #: lang/json/AMMO_from_json.py msgid "Firearm-quality gunpowder, intended for use in shotgun shells." msgstr "" +"Lőfegyver minőségű lőpor, amelyet sörtétes lövedékek újratöltéséhez lehet " +"használni." #: lang/json/AMMO_from_json.py msgid "smokeless pistol powder" -msgstr "" +msgstr "füstmentes pisztoly lőpor" #. ~ Description for smokeless pistol powder #: lang/json/AMMO_from_json.py msgid "Firearm-quality gunpowder, intended for use in pistol ammunition." msgstr "" +"Lőfegyver minőségű lőpor, amelyet pisztolylövedékek újratöltéséhez lehet " +"használni." #: lang/json/AMMO_from_json.py msgid "smokeless magnum powder" -msgstr "" +msgstr "füstmentes magnum lőpor" #. ~ Description for smokeless magnum powder #: lang/json/AMMO_from_json.py msgid "" "Firearm-quality gunpowder intended for use in magnum pistol ammunition." msgstr "" +"Lőfegyver minőségű lőpor, amelyet magnum pisztolylövedékek újratöltéséhez " +"lehet használni." #: lang/json/AMMO_from_json.py msgid "smokeless rifle powder" -msgstr "" +msgstr "füstmentes puska lőpor" #. ~ Description for smokeless rifle powder #: lang/json/AMMO_from_json.py msgid "Firearm-quality gunpowder intended for use in rifle ammunition." msgstr "" +"Lőfegyver minőségű lőpor, amelyet puska lövedékek újratöltéséhez lehet " +"használni." #: lang/json/AMMO_from_json.py msgid "smokeless overbore rifle powder" -msgstr "" +msgstr "füstmentes túlkaliberes puska lőpor" #. ~ Description for smokeless overbore rifle powder #: lang/json/AMMO_from_json.py msgid "Firearm-quality gunpowder intended for use in large rifle ammunition." msgstr "" +"Lőfegyver minőségű lőpor, amelyet nagyméretű puska lövedékek újratöltéséhez " +"lehet használni." #: lang/json/AMMO_from_json.py msgid "artillery propellant" -msgstr "" +msgstr "tüzérségi indítótöltet" #. ~ Description for artillery propellant #: lang/json/AMMO_from_json.py @@ -379,6 +396,8 @@ msgid "" "Single base smokeless gunpowder intended for use in artillery propelling " "charges." msgstr "" +"Füstmentes lőpor, amelyet tüzérségi lövedékek indítótöltetében lehet " +"használni." #: lang/json/AMMO_from_json.py msgid "oxidizer powder" @@ -489,31 +508,31 @@ msgstr "93 mm-es, egylépcsős robbanó muníció az RPG-7-hez." #: lang/json/AMMO_from_json.py msgid "PG-7VR 64mm/105mm rocket" -msgstr "" +msgstr "PG-7VR 64mm/105mm rakéta" #. ~ Description for PG-7VR 64mm/105mm rocket #: lang/json/AMMO_from_json.py msgid "64mm/105mm high-explosive tandem ammunition for the RPG-7." -msgstr "" +msgstr "64mm/105mm-es, kétlépcsős robbanó muníció az RPG-7-hez." #: lang/json/AMMO_from_json.py msgid "TBG-7V 105mm rocket" -msgstr "" +msgstr "TBG-7V 105mm rakéta" #. ~ Description for TBG-7V 105mm rocket #: lang/json/AMMO_from_json.py msgid "105mm thermobaric ammunition for the RPG-7." -msgstr "" +msgstr "105mm-es termobárikus muníció az RPG-7-hez." #: lang/json/AMMO_from_json.py msgid "OG-7V 40mm rocket" -msgstr "" +msgstr "OG-7V 40mm rakéta" #. ~ Description for OG-7V 40mm rocket #: lang/json/AMMO_from_json.py msgid "" "40mm high-explosive fragmentation antipersonnel ammunition for the RPG-7." -msgstr "" +msgstr "40mm-es robbanórepeszes élő erő elleni muníció az RPG-7-hez." #: lang/json/AMMO_from_json.py msgid "placeholder ammunition" @@ -537,8 +556,8 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "calcium carbide premix" msgid_plural "calcium carbide premix" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kalcium-karbid keverék" +msgstr[1] "kalcium-karbid keverék" #. ~ Description for calcium carbide premix #: lang/json/AMMO_from_json.py @@ -546,6 +565,8 @@ msgid "" "A powdered mixture of coke and lime ready to be smelted into usable calcium " "carbide in an arc furnace." msgstr "" +"Koksz- és mészpor vegyítése, amelyet egy ívkemencében lehet kalcium-karbiddá" +" égetni." #: lang/json/AMMO_from_json.py msgid "coal" @@ -665,8 +686,8 @@ msgstr "Halak csapdába ejtésénél használt csali." #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "oxygen" msgid_plural "oxygen" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "oxigén" +msgstr[1] "oxigén" #. ~ Description for oxygen #: lang/json/AMMO_from_json.py @@ -682,12 +703,12 @@ msgstr "tüskés házi rakéta" msgid "" "A hand-built rocket, consisting of a spike welded onto a pipe that was " "filled with improvised rocket fuel. Horribly inaccurate, as can be expected" -" of this grade of weapon, but packs a fierce punch... if it hits." +" of this grade of weapon, but packs a fierce punch… if it hits." msgstr "" "Házi készítésű rakéta, amely egy kézi készítésű rakéta üzemanyaggal töltött " "csőből, valamint a csőre hegesztett tüskéből áll. Fegyvernek rendkívül " "pontatlan, ahogy egy ilyen hevenyészett fegyvertől elvárható, viszont nagyon" -" üt.. ha célba talál." +" üt... ha célba talál." #: lang/json/AMMO_from_json.py msgid "explosive home-made rocket" @@ -734,14 +755,16 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "unfinished calcium carbide" -msgstr "" +msgstr "félbemaradt kalcium-karbid" #. ~ Description for unfinished calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"The incomplete process of converting coal and lime into calcium carbide. " -"Useless in this state/" +"The incomplete process of converting coal and lime into calcium carbide. " +"Useless in this state." msgstr "" +"Szén- és mészpor kiégetésével készülő kalcium-karbid félbehagyott " +"állapotban. Így haszálhatatlan." #: lang/json/AMMO_from_json.py msgid "chain link" @@ -777,24 +800,24 @@ msgstr "Könnyű tűzgyújtáshoz szétválogatott éghető anyag." #: lang/json/AMMO_from_json.py msgid "RPG die" msgid_plural "RPG dice" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "szerepjáték dobókocka" +msgstr[1] "szerepjáték dobókocka" #. ~ Description for RPG die #: lang/json/AMMO_from_json.py msgid "A die used to play various role-playing games." -msgstr "" +msgstr "Többféle szerepjátékhoz használható dobókocka." #: lang/json/AMMO_from_json.py msgid "metal RPG die" msgid_plural "metal RPG dice" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "fém szerepjáték dobókocka" +msgstr[1] "fém szerepjáték dobókocka" #. ~ Description for metal RPG die #: lang/json/AMMO_from_json.py msgid "A metal die used to play various role-playing games" -msgstr "" +msgstr "Többféle szerepjátékhoz használható fém dobókocka." #: lang/json/AMMO_from_json.py msgid "bronze" @@ -855,7 +878,7 @@ msgstr "szélesfejű fa nyíl" #. ~ Description for wooden broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched wooden arrow shaft with a bladed tip. Useful for maximising " +"A fletched wooden arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a decent chance of remaining intact once " "fired." msgstr "" @@ -925,7 +948,7 @@ msgstr "szélesfejű alumínium nyíl" #. ~ Description for aluminum broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched aluminum arrow shaft with a bladed tip. Useful for maximising " +"A fletched aluminum arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a good chance of remaining intact once fired." msgstr "" "Alumíniumból készült, tollas, pengefejű nyílvessző, a célpontba maximális " @@ -1061,7 +1084,7 @@ msgstr "" #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "anesthetic" -msgstr "altatószerek" +msgstr "altatószer" #. ~ Description for anesthetic #: lang/json/AMMO_from_json.py @@ -1083,10 +1106,10 @@ msgstr[1] "kén" #. ~ Description for sulfur #: lang/json/AMMO_from_json.py msgid "" -"A handful of yellow grains of pure sulfur. Primarily used to make battery " -"acid, sulfur is sometimes used as fuel for explosives. Can be burned to " -"produce acidic smoke, that is deadly to bacteria and humans alike, or " -"oxidized to make paper-bleaching agents." +"A handful of pure sulfur. Primarily used to make battery acid, sulfur is " +"sometimes used as fuel for explosives. Can be burned to produce acidic " +"smoke, that is deadly to bacteria and humans alike, or oxidized to make " +"paper-bleaching agents." msgstr "" "Egy maréknyi vegytiszta, sárga kénpor. Elsősorban akkumulátorsav " "készítésénél használják, néha pedig robbanóanyagokhoz. Égetésénél savas füst" @@ -1101,8 +1124,8 @@ msgstr[1] "kéndarab" #. ~ Description for chunk of sulfur #: lang/json/AMMO_from_json.py -msgid "A large chunk of pure sulfur. Break it up to use it." -msgstr "Egy nagy darab vegytiszta kén. Használatához törd szét." +msgid "A chunk of pure sulfur. Break it up to use it." +msgstr "Egy darab vegytiszta kén. Használatához törd szét." #: lang/json/AMMO_from_json.py msgid "cement" @@ -1227,58 +1250,70 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "zinc oxide" msgid_plural "zinc oxide" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "cink-oxid" +msgstr[1] "cink-oxid" #. ~ Description for zinc oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of zinc oxide. It can be reduced into zinc, or used for some other" -" reactions of its own." +"A handful of zinc oxide. It can be reduced into zinc, or used for some " +"other reactions of its own." msgstr "" +"Egy maréknyi cink-oxid. Redukálásával cink hozható létre, illetve önmagában " +"is használható kémiai reakciókhoz." #: lang/json/AMMO_from_json.py msgid "manganese dioxide" msgid_plural "manganese dioxide" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "mangán-dioxid" +msgstr[1] "mangán-dioxid" #. ~ Description for manganese dioxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of manganese dioxide powder. Occurring naturally in the mineral " +"A handful of manganese dioxide powder. Occurring naturally in the mineral " "pyrolusite, it is used commercially in the production of alkaline and zinc-" "carbon batteries." msgstr "" +"Egy maréknyi mangán-dioxid por. Természetes előfordulása a piroluzit " +"ásványban is megtalálható, ipari hasznosítása az alkáli és a zink-szén " +"elemek gyártásánál lényeges." #: lang/json/AMMO_from_json.py msgid "potassium chloride" msgid_plural "potassium chloride" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kálium-klorid" +msgstr[1] "kálium-klorid" #. ~ Description for potassium chloride #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium chloride. Although it occurs naturally in the mineral" -" sylvite, it can be produced as a byproduct of the reaction of saltpeter and" -" hydrochloric acid. It can be used for making fertilizer, or potassium " -"hydroxide by way of electrolysis." +"A handful of potassium chloride. Although it occurs naturally in the " +"mineral sylvite, it can be produced as a byproduct of the reaction of " +"saltpeter and hydrochloric acid. It can be used for making fertilizer, or " +"potassium hydroxide by way of electrolysis." msgstr "" +"Egy maréknyi kálium-klorid. Bár természetes előfordulása a szilvin ásványban" +" is megtalálható, nagyrészt salétrom és sósav reakciójánál jön létre " +"melléktermékként. Felhasználási területei: műtrágya-gyártás, vagy " +"elektrolízissel kálium-hidroxid létrehozása." #: lang/json/AMMO_from_json.py msgid "potassium hydroxide" msgid_plural "potassium hydroxide" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kálium-hidroxid" +msgstr[1] "kálium-hidroxid" #. ~ Description for potassium hydroxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium hydroxide. Commonly called caustic potash, it was " -"mainly used industrially for its caustic nature. It can be used as an " +"A handful of potassium hydroxide. Commonly called caustic potash, it was " +"mainly used industrially for its caustic nature. It can be used as an " "electrolyte in alkaline batteries, among other applications." msgstr "" +"Egy maréknyi kálium-hidroxid. Gyakoribb nevén kálisó, ipari felhasználása " +"főleg maró hatását hasznosítja. Többek között alkáli elemek gyártásánál " +"haszálják elektrolitként." #: lang/json/AMMO_from_json.py msgid "sulfuric acid" @@ -1301,16 +1336,18 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "hydrochloric acid" msgid_plural "hydrochloric acid" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "sósav" +msgstr[1] "sósav" #. ~ Description for hydrochloric acid #: lang/json/AMMO_from_json.py msgid "" -"Hydrochloric acid, also known as muriatic acid. It is a strong acid that has" -" a distinctive smell, important and frequently used ever since its " -"discovery. It still has a vast multitude of uses." +"Hydrochloric acid, also known as muriatic acid. It is a strong acid that " +"has a distinctive smell, important and frequently used ever since its " +"discovery. It still has a vast multitude of uses." msgstr "" +"Hidrogén-klorid sav, ismertebb nevén sósav. Jellegzetes szagú, erős sav, " +"amelyet felfedezése óta sok mindenre használnak." #: lang/json/AMMO_from_json.py msgid "acetone" @@ -1359,17 +1396,16 @@ msgstr[1] "króm-oxid" #. ~ Description for chromium oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of chromium oxide pellets. This substance, typically known as the" -" only stable green pigment for paints, is also a mild oxidizer, which can be" -" mixed with aluminum powder to make thermite for welding. If one had access" -" to a CVD machine and a laboratory worth of reagents, they might be able to " +"A handful of chromium oxide. This substance, typically known as the only " +"stable green pigment for paints, is also a mild oxidizer, which can be mixed" +" with aluminum powder to make thermite for welding. If one had access to a " +"CVD machine and a laboratory worth of reagents, they might be able to " "produce very durable ceramic layers." msgstr "" -"Egy marék króm-oxid pellet. Általában az egyetlen stabil pigmentanyag " -"festékeknél, a króm-oxid ezen túl még enyhe oxidálószer, amelyet termites " -"hegesztéshez alumínium porral lehet összekeverni. Egy CVD géppel és egy " -"laboratóriumnyi reagenssel valaki nagyon tartós kerámia páncélréteget is " -"tudna készíteni." +"Egy marék króm-oxid. Általában az egyetlen stabil pigmentanyag festékeknél, " +"a króm-oxid ezen túl még enyhe oxidálószer, amelyet termites hegesztéshez " +"alumínium porral lehet összekeverni. Egy CVD géppel és egy laboratóriumnyi " +"reagenssel valaki nagyon tartós kerámia páncélréteget is tudna készíteni." #: lang/json/AMMO_from_json.py msgid "calcium carbide" @@ -1380,14 +1416,14 @@ msgstr[1] "kalcium-karbid" #. ~ Description for calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"A handful of calcium carbide chunks, giving off a faint, garlic-like smell." -" Commercially, calcium carbide was used for on-the-spot manufacture of " +"A handful of calcium carbide, giving off a faint, garlic-like smell. " +"Commercially, calcium carbide was used for on-the-spot manufacture of " "acetylene and historically to power acetylene lamps. If mixed with water " "and sealed, it will explode with little strength, but with relatively loud " "noise and could maybe be used as a decoy." msgstr "" -"Egy maroknyi kalcium-karbid darab, enyhén fokhagyma-szagú. Ipari alkalmazása" -" során a kalcium-karbidot acetilén helyi előállítására használták, illetve " +"Egy maroknyi kalcium-karbid, enyhén fokhagyma-szagú. Ipari alkalmazása során" +" a kalcium-karbidot acetilén helyi előállítására használták, illetve " "régebben acetilénlámpák tüzelőanyagaként. Vízzel összekeverve majd lezárva " "kisméretű robbanást idéz elő, ami viszont jó nagyot szól, és talán " "csalétekként is használható." @@ -1604,16 +1640,19 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "match head powder" msgid_plural "match head powder" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gyufafej-por" +msgstr[1] "gyufafej-por" #. ~ Description for match head powder #: lang/json/AMMO_from_json.py msgid "" "Some match head powder from match heads, similar to black gunpowder but a " -"bit weaker. It can be used in crafting explosives and fuses when other more " -"suitable candidates are less available." +"bit weaker. It can be used in crafting explosives and fuses when other more" +" suitable candidates are less available." msgstr "" +"Levágott gyufafejekből készült por. Hasonlít a fekete lőporhoz, de annál " +"gyengébb. Robbanószerek és kanócok készítéséhez használható, ha a célnak " +"jobban megfelelő anyagok nem állnak rendelkezésre." #: lang/json/AMMO_from_json.py msgid "RDX" @@ -1769,7 +1808,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "makeshift wooden bolt" -msgstr "" +msgstr "hevenyészett fa lövedék" #. ~ Description for makeshift wooden bolt #: lang/json/AMMO_from_json.py @@ -1777,10 +1816,12 @@ msgid "" "A simple fletched wooden crossbow bolt with a makeshift head. Stands a low " "chance of remaining intact once fired." msgstr "" +"Ennek az egyszerű lövedéknek a hegyét hevenyészve készítették el. Kis esélye" +" van arra, hogy kilövés után is egyben marad." #: lang/json/AMMO_from_json.py msgid "wooden broadhead bolt" -msgstr "" +msgstr "szélesfejű fa lövedék" #. ~ Description for wooden broadhead bolt #: lang/json/AMMO_from_json.py @@ -1789,10 +1830,12 @@ msgid "" "damage to the target. Stands a decent chance of remaining intact once " "fired." msgstr "" +"Fából készült, tollas, pengefejű lövedék, a célpontba maximális sebzést visz" +" be. Kilövés után jó eséllyel marad továbbra is egy darabban." #: lang/json/AMMO_from_json.py msgid "wooden bodkin bolt" -msgstr "" +msgstr "bodkin fa lövedék" #. ~ Description for wooden bodkin bolt #: lang/json/AMMO_from_json.py @@ -1800,10 +1843,12 @@ msgid "" "A fletched wooden crossbow bolt with a pointed tip. Useful for piercing " "armor. Stands a decent chance of remaining intact once fired." msgstr "" +"Fából készült, tollas, páncélátütő, hegyes lövedék. Kilövés után jó eséllyel" +" marad továbbra is egy darabban." #: lang/json/AMMO_from_json.py msgid "wooden small game bolt" -msgstr "" +msgstr "kis fa vadászó lövedék" #. ~ Description for wooden small game bolt #: lang/json/AMMO_from_json.py @@ -1812,10 +1857,13 @@ msgid "" "woodland creatures without splattering them all over the ground. Stands a " "decent chance of remaining intact once fired." msgstr "" +"Fából faragott, tompa hegyű lövedék. Kisebb erdei vadak elejtéséhez ideális," +" mivel a találat nem trancsírozza szét a zsákmányt. Jó esélye van arra, hogy" +" kilövés után is egyben marad." #: lang/json/AMMO_from_json.py msgid "simple metal bolt" -msgstr "" +msgstr "egyszerű fém lövedék" #. ~ Description for simple metal bolt #: lang/json/AMMO_from_json.py @@ -1823,10 +1871,13 @@ msgid "" "A simple fletched steel crossbow bolt with a flattened and sharpened tip. " "Stands a somewhat low chance of remaining intact once fired." msgstr "" +"Ezt az egyszerű fém lövedéket lapos és hegyes fejjel szerelték fel, és " +"tollazattal látták el. Valamennyire kevés az esélye van arra, hogy kilövés " +"után is egyben marad." #: lang/json/AMMO_from_json.py msgid "aluminum broadhead bolt" -msgstr "" +msgstr "szélesfejű alumínium lövedék" #. ~ Description for aluminum broadhead bolt #: lang/json/AMMO_from_json.py @@ -1834,10 +1885,12 @@ msgid "" "A fletched aluminum crossbow bolt with a bladed tip. Useful for maximising " "damage to the target. Stands a good chance of remaining intact once fired." msgstr "" +"Alumíniumból készült, tollas, pengefejű lövedék, a célpontba maximális " +"sebzést visz be. Kilövés után jó eséllyel marad továbbra is egy darabban." #: lang/json/AMMO_from_json.py msgid "aluminum field point bolt" -msgstr "" +msgstr "hengeres sima hegyű alumínium lövedék" #. ~ Description for aluminum field point bolt #: lang/json/AMMO_from_json.py @@ -1845,10 +1898,12 @@ msgid "" "A fletched aluminum crossbow bolt with a pointed tip. Useful for piercing " "armor. Stands a good chance of remaining intact once fired." msgstr "" +"Alumíniumból készült, tollas, páncélátütő, hegyes lövedék. Kilövés után jó " +"eséllyel marad továbbra is egy darabban." #: lang/json/AMMO_from_json.py msgid "aluminum small game bolt" -msgstr "" +msgstr "kis alumínium vadászó lövedék" #. ~ Description for aluminum small game bolt #: lang/json/AMMO_from_json.py @@ -1857,6 +1912,9 @@ msgid "" "small woodland creatures without splattering them all over the ground. " "Stands a good chance of remaining intact once fired." msgstr "" +"Alumíniumból készített, tompa hegyű lövedék. Kisebb erdei vadak elejtéséhez " +"ideális, mivel a találat nem trancsírozza szét a zsákmányt. Jó esélye van " +"arra, hogy kilövés után is egyben marad." #: lang/json/AMMO_from_json.py msgid "explosive crossbow bolt" @@ -1934,8 +1992,8 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "biodiesel" msgid_plural "biodiesel" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "biodízel" +msgstr[1] "biodízel" #. ~ Description for biodiesel #: lang/json/AMMO_from_json.py @@ -1943,6 +2001,8 @@ msgid "" "Vegetable oil- or animal fat-based diesel fuel consisting of long-chain " "alkyl (methyl, ethyl, or propyl) esters." msgstr "" +"Növényi vagy állati zsiradékból készített üzemanyag, amely hosszú szénláncos" +" alkil- (metil, etil vagy propil) észterekből áll." #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "gasoline" @@ -1990,8 +2050,8 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "gelled gasoline" msgid_plural "gelled gasoline" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "zselésített benzin" +msgstr[1] "zselésített benzin" #. ~ Description for gelled gasoline #: lang/json/AMMO_from_json.py @@ -2000,26 +2060,31 @@ msgid "" "roughly similar in properties to napalm b. It's meant to be used with a " "flamethrower." msgstr "" +"Benzinből és hungarocel darabkákból készült éghető zselé, hatásában sokban " +"hasonlít a napalmra. Lángszóróban használható." #: lang/json/AMMO_from_json.py msgid "flamethrower fuel" msgid_plural "flamethrower fuel" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "lángszóró tüzelőanyag" +msgstr[1] "lángszóró tüzelőanyag" #. ~ Description for flamethrower fuel #: lang/json/AMMO_from_json.py msgid "" -"A mixture of gasoline and diesel oil in equal parts. Its combustion " +"A mixture of gasoline and diesel oil in equal parts. Its combustion " "properties make it unfit for applications where you would use any of them " "separately, but it can be used to feed a flamethrower." msgstr "" +"Benzin és dízel egy-az-egy arányában elkevert egyvelege. Az égési " +"tulajdonságai miatt nem használható ott, ahol az alkotórészeinek " +"valamelyikére lenne szükség, viszont lángszóróba jól illik." #: lang/json/AMMO_from_json.py msgid "autoclave pouch" msgid_plural "autoclave pouches" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "autókláv tasak" +msgstr[1] "autókláv tasak" #. ~ Description for autoclave pouch #: lang/json/AMMO_from_json.py @@ -2028,6 +2093,10 @@ msgid "" "Administration). If used properly, these pouches can keep things sterile " "indefinitely." msgstr "" +"Ezen az orvostechnikai kelléken az amerikai élelmiszer- és gyógyszerügyi " +"hatóság, az FDA jóváhagyási pecsétje szerepel. Megfelelő felhasználás " +"mellett ezek a tasakok a tartalmukat örökké steril állapotban képesek " +"megőrizni." #: lang/json/AMMO_from_json.py msgid "shrapnel" @@ -2074,10 +2143,12 @@ msgid "" "A prepared blunderbuss shot of homemade flechette made out of nails. Shreds" " armor." msgstr "" +"Előre elkészített mordály lövedék házi gyártású, szögekből álló " +"nyilacskákkal. A páncélt cafatokra tépi." #: lang/json/AMMO_from_json.py msgid "throwing stick" -msgstr "" +msgstr "dobóbot" #. ~ Description for throwing stick #: lang/json/AMMO_from_json.py @@ -2091,8 +2162,8 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "bolas" msgid_plural "bolases" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "bolas" +msgstr[1] "bolas" #. ~ Description for bolas #: lang/json/AMMO_from_json.py @@ -2100,10 +2171,12 @@ msgid "" "Some ropes with weights, designed to tangle the legs of a target when " "thrown, usually at an animal. Used by the Gauchos of Argentina." msgstr "" +"Súlyokkal ellátott kötél, amely a célpontra, általában állatra dobása után " +"annak lába köré tekeredik. Az argentin gauchók kedvenc szerszáma." #: lang/json/AMMO_from_json.py msgid "net" -msgstr "" +msgstr "háló" #. ~ Description for net #: lang/json/AMMO_from_json.py @@ -2111,6 +2184,8 @@ msgid "" "A mesh of string and weights, traditionally used to catch fish, and to " "entangle oponents in combat." msgstr "" +"Zsinórokból és súlyokból álló háló, segítségével halat lehet fogni, és " +"közelharcban az ellenfél is belegabalyodhat." #: lang/json/AMMO_from_json.py msgid "anesthetic kit" @@ -2131,7 +2206,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "10mm Auto FMJ" -msgstr "" +msgstr "10mm Auto FMJ" #. ~ Description for 10mm Auto FMJ #: lang/json/AMMO_from_json.py @@ -2139,14 +2214,16 @@ msgid "" "A jacketed 10mm Auto round. The 10mm Auto cartridge is a rather powerful " "handgun round and the progenitor to the more popular .40 S&W." msgstr "" +"Fémköpenyes 10mm-es auto lövedék. A sokkal népszerűbb .40 S&W ősatyának " +"tekinthető lövedék erősebb stopphatású." #: lang/json/AMMO_from_json.py msgid "10mm Auto FMJ blackpowder" -msgstr "" +msgstr "10mm auto FMJ fekete lőporból" #: lang/json/AMMO_from_json.py msgid "reloaded 10mm Auto FMJ" -msgstr "" +msgstr "újratöltött 10 mm auto FMJ" #: lang/json/AMMO_from_json.py msgid "H&K 12mm" @@ -2390,11 +2467,11 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid ".22 LR FMJ blackpowder" -msgstr "" +msgstr ".22 LR FMJ fekete lőporból" #: lang/json/AMMO_from_json.py msgid ".22 LR blackpowder" -msgstr "" +msgstr ".22 LR fekete lőporból" #: lang/json/AMMO_from_json.py msgid "handloaded .22 LR" @@ -2453,31 +2530,31 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid ".223 Remington blackpowder" -msgstr "" +msgstr ".223 Remington fekete lőporból" #: lang/json/AMMO_from_json.py msgid "5.56 NATO blackpowder" -msgstr "" +msgstr "5.56 NATO fekete lőporból" #: lang/json/AMMO_from_json.py msgid "5.56 NATO tracer blackpowder" -msgstr "" +msgstr "5.56 NATO nyomjelző fekete lőporból" #: lang/json/AMMO_from_json.py msgid "reloaded .223 Remington" -msgstr "utántöltött .223 Remington" +msgstr "újratöltött .223 Remington" #: lang/json/AMMO_from_json.py msgid "reloaded 5.56 NATO" -msgstr "utántöltött 5,56 NATO" +msgstr "újratöltött 5,56 NATO" #: lang/json/AMMO_from_json.py msgid "reloaded 5.56 NATO tracer" -msgstr "utántöltött 5,56 NATO nyomjelző" +msgstr "újratöltött 5,56 NATO nyomjelző" #: lang/json/AMMO_from_json.py msgid ".270 Winchester JSP" -msgstr "" +msgstr ".270 Winchester JSP" #. ~ Description for .270 Winchester JSP #: lang/json/AMMO_from_json.py @@ -2487,14 +2564,18 @@ msgid "" "most popular rifle cartridges for hunting and silhouette shooting. It is a " "powerful round capable of taking down large targets with ease." msgstr "" +".270 Winchester lőszer 130 graines lövedékcsúcsos lövedékkel. A .270-es " +"töltény a kezdetekkor nem ért el áttörő sikereket, de az évtizedek múlásával" +" azonban az egyik legnépszerűbb vadászati lőszerré vált. Erős lövedék, " +"amellyel nagyméretű célokat is könnyedén le lehet küzdeni." #: lang/json/AMMO_from_json.py msgid ".270 Winchester JSP blackpowder" -msgstr "" +msgstr ".270 Winchester JSP fekete lőporból" #: lang/json/AMMO_from_json.py msgid "reloaded .270 Winchester JSP" -msgstr "" +msgstr "újratöltött .270 Winchester JSP" #: lang/json/AMMO_from_json.py msgid ".300 Winchester Magnum" @@ -2515,11 +2596,11 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid ".300 Winchester Magnum blackpowder" -msgstr "" +msgstr ".300 Winchester Magnum fekete lőporból" #: lang/json/AMMO_from_json.py msgid "reloaded .300 Winchester Magnum" -msgstr "utántöltött .300 Winchester Magnum" +msgstr "újratöltött .300 Winchester Magnum" #. ~ Description for reloaded .300 Winchester Magnum #: lang/json/AMMO_from_json.py @@ -2530,7 +2611,7 @@ msgid "" msgstr "" "A .300 Winchester Magnum egy rendkívül sokoldalú lövedék, és a számos " "sportlövészen túl vadászok, katonák és rendvédelmi szervek is választották. " -"Ezt kézzel utántöltötték." +"Ezt kézzel újratöltötték." #: lang/json/AMMO_from_json.py msgid ".30-06 Springfield" @@ -2579,31 +2660,31 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid ".30-06 Springfield blackpowder" -msgstr "" +msgstr ".30-06 Springfield fekete lőporból" #: lang/json/AMMO_from_json.py msgid ".30-06 Springfield tracer blackpowder" -msgstr "" +msgstr ".30-06 Springfield nyomjelző fekete lőporból" #: lang/json/AMMO_from_json.py msgid ".30-06 Springfield M2 AP blackpowder" -msgstr "" +msgstr ".30-06 Springfield M2 AP fekete lőporból" #: lang/json/AMMO_from_json.py msgid "reloaded .30-06 Springfield" -msgstr "utántöltött .30-06 Springfield" +msgstr "újratöltött .30-06 Springfield" #: lang/json/AMMO_from_json.py msgid "reloaded .30-06 incendiary" -msgstr "utántöltött .30-06 gyújtólövedék" +msgstr "újratöltött .30-06 gyújtólövedék" #: lang/json/AMMO_from_json.py msgid "reloaded .30-06 M2 AP" -msgstr "utántöltött .30-06 M2 AP" +msgstr "újratöltött .30-06 M2 AP" #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid ".300 AAC Blackout" -msgstr "" +msgstr ".300 AAC Blackout" #. ~ Description for .300 AAC Blackout #: lang/json/AMMO_from_json.py @@ -2613,6 +2694,10 @@ msgid "" "similar ballistics to 7.62x39mm. It is compatible with standard AR-15 lower" " receivers and will feed from STANAG magazines." msgstr "" +"Egy .300 AAC Blackout lőszer 125 graines open tip lövedékkel. A 300 BLK egy " +"átmeneti lőszer, amelyet az 5.56x45mm-es lövedék alapján készítettek, hogy " +"elérjék a 7.62x39mm lövedék ballisztikai tulajdonságait. Kompatibilis az " +"AR-15 fegyvertokjával, és STANAG tölténytárakkal." #. ~ Description for .300 AAC Blackout #: lang/json/AMMO_from_json.py @@ -2622,14 +2707,19 @@ msgid "" "achieve similar ballistics to 7.62x39mm. It is compatible with standard " "AR-15 lower receivers and will feed from STANAG magazines." msgstr "" +"Egy hangsebesség alatti .300 AAC Blackout lőszer 220 graines open tip " +"lövedékkel. A 300 BLK egy átmeneti lőszer, amelyet az 5.56x45mm-es lövedék " +"alapján készítettek, hogy elérjék a 7.62x39mm lövedék ballisztikai " +"tulajdonságait. Kompatibilis az AR-15 fegyvertokjával, és STANAG " +"tölténytárakkal." #: lang/json/AMMO_from_json.py msgid ".300 AAC Blackout blackpowder" -msgstr "" +msgstr ".300 AAC Blackout fekete lőporból" #: lang/json/AMMO_from_json.py msgid "reloaded .300 AAC Blackout" -msgstr "" +msgstr "újratöltött .300 AAC Blackout" #. ~ Description for reloaded .300 AAC Blackout #: lang/json/AMMO_from_json.py @@ -2640,6 +2730,11 @@ msgid "" "requires a specific barrel, so will not work in a standard M4 or similar " "carbine. This one has been hand-reloaded." msgstr "" +"A .300 AAC Blackout lőszer egy átmeneti lőszer, amelyet a 7.62x39mm lövedék " +"ballisztikai tulajdonságaira terveztek, és az AR-15 platformban használható." +" Az 5.56mm NATO lövedékekből készítették, de STANAG tölténytárban " +"használható. Különleges fegyvercsövet igényel, így egy módosítatlan M4-ben, " +"vagy hasonló karabélyban nem használható. Ezt kézzel újratöltötték." #: lang/json/AMMO_from_json.py msgid ".308 Winchester" @@ -2685,27 +2780,27 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid ".308 Winchester blackpowder" -msgstr "" +msgstr ".308 Winchester fekete lőporból" #: lang/json/AMMO_from_json.py msgid "7.62x51mm blackpowder" -msgstr "" +msgstr "7.62x51mm fekete lőporból" #: lang/json/AMMO_from_json.py msgid "7.62x51mm tracer blackpowder" -msgstr "" +msgstr "7,62x51mm nyomjelző fekete lőporból" #: lang/json/AMMO_from_json.py msgid "reloaded .308 Winchester" -msgstr "utántöltött .308 Winchester" +msgstr "újratöltött .308 Winchester" #: lang/json/AMMO_from_json.py msgid "reloaded 7.62x51mm" -msgstr "utántöltött 7.62x51mm" +msgstr "újratöltött 7.62x51mm" #: lang/json/AMMO_from_json.py msgid "reloaded 7.62x51mm incendiary" -msgstr "utántöltött 7,62x51 mm gyújtólövedék" +msgstr "újratöltött 7,62x51 mm gyújtólövedék" #: lang/json/AMMO_from_json.py msgid ".32 ACP" @@ -2722,15 +2817,15 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid ".32 ACP blackpowder" -msgstr "" +msgstr ".32 ACP fekete lőporból" #: lang/json/AMMO_from_json.py msgid "reloaded .32 ACP" -msgstr "utántöltött .32 ACP" +msgstr "újratöltött .32 ACP" #: lang/json/AMMO_from_json.py msgid ".357 magnum FMJ" -msgstr "" +msgstr ".357 Magnum FMJ" #. ~ Description for .357 magnum FMJ #: lang/json/AMMO_from_json.py @@ -2739,10 +2834,12 @@ msgid "" "earlier .38 special, with a marginally longer case and generating greater " "pressure." msgstr "" +".357-es magnum lövedék. Elődje a .38 Special, amelynél kicsit hosszabb a " +"töltényhüvelye, és nagyobb a nyomása." #: lang/json/AMMO_from_json.py msgid ".357 magnum JHP" -msgstr "" +msgstr ".357 magnum JHP" #. ~ Description for .357 magnum JHP #: lang/json/AMMO_from_json.py @@ -2751,26 +2848,28 @@ msgid "" "derived from the earlier .38 special, with a marginally longer case and " "generating greater pressure." msgstr "" +"Lövedékcsúcsos .357-es magnum lövedék. Elődje a .38 Special, amelynél kicsit" +" hosszabb a töltényhüvelye, és nagyobb a nyomása." #: lang/json/AMMO_from_json.py msgid ".357 Magnum FMJ blackpowder" -msgstr "" +msgstr ".357 Magnum FMJ fekete lőporból" #: lang/json/AMMO_from_json.py msgid ".357 Magnum JHP blackpowder" -msgstr "" +msgstr ".357 Magnum JHP fekete lőporból" #: lang/json/AMMO_from_json.py msgid "reloaded .357 Magnum FMJ" msgid_plural "reloaded .357 Magnum FMJ" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "utántöltött .357 Magnum FMJ" +msgstr[1] "újratöltött .357 Magnum FMJ" #: lang/json/AMMO_from_json.py msgid "reloaded .357 Magnum JHP" msgid_plural "reloaded .357 Magnum JHP" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "utántöltött .357 Magnum JHP" +msgstr[1] "újratöltött .357 Magnum JHP" #: lang/json/AMMO_from_json.py msgid ".357 SIG FMJ" @@ -2801,11 +2900,11 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "reloaded .357 SIG FMJ" -msgstr "utántöltött .357 SIG FMJ" +msgstr "újratöltött .357 SIG FMJ" #: lang/json/AMMO_from_json.py msgid "reloaded .357 SIG JHP" -msgstr "utántöltött .357 SIG JHP" +msgstr "újratöltött .357 SIG JHP" #: lang/json/AMMO_from_json.py msgid ".36 paper cartridge" @@ -2864,27 +2963,27 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "reloaded .38 FMJ" -msgstr "utántöltött .38 FMJ" +msgstr "újratöltött .38 FMJ" #: lang/json/AMMO_from_json.py msgid "reloaded .38 Special" -msgstr "utántöltött .38 Special" +msgstr "újratöltött .38 Special" #: lang/json/AMMO_from_json.py msgid "reloaded .38 Super" -msgstr "utántöltött .38 Super" +msgstr "újratöltött .38 Super" #: lang/json/AMMO_from_json.py msgid ".38 FMJ blackpowder" -msgstr "" +msgstr ".38 FMJ fekete lőporból" #: lang/json/AMMO_from_json.py msgid ".38 Special blackpowder" -msgstr "" +msgstr ".38 Special fekete lőporból" #: lang/json/AMMO_from_json.py msgid ".380 ACP FMJ" -msgstr "" +msgstr ".380 ACP FMJ" #. ~ Description for .380 ACP FMJ #: lang/json/AMMO_from_json.py @@ -2894,10 +2993,14 @@ msgid "" "consider carrying. One should be careful not to chamber it in 9x18mm " "Makarov or 9x19mm firearms." msgstr "" +"Bronzköpenyes, 95 graines .380 ACP lőszer. Egy évszázada népszerű " +"zsebpisztoly lövedék, amelyet gyakran a leggyengébb kalibernek tartanak. " +"Vigyázni kell, hogy véletlenül ne kerüljön 9x18mm Makarov vagy 9x19mm " +"fegyverekbe." #: lang/json/AMMO_from_json.py msgid ".380 ACP JHP" -msgstr "" +msgstr ".380 ACP JHP" #. ~ Description for .380 ACP JHP #: lang/json/AMMO_from_json.py @@ -2907,10 +3010,14 @@ msgid "" "recommended defensive caliber. One should be careful not to chamber it in " "9x18mm Makarov or 9x19mm firearms." msgstr "" +"Burkolatlan lövedékcsúcsos (JHP), 95 graines .380 ACP lőszer. Népszerű " +"rejtett pisztoly lövedék, amelyet gyakran a leggyengébb önvédelmi kalibernek" +" tartanak. Vigyázni kell, hogy véletlenül ne kerüljön 9x18mm Makarov vagy " +"9x19mm fegyverekbe." #: lang/json/AMMO_from_json.py msgid ".380 ACP +P" -msgstr "" +msgstr ".380 ACP +P" #. ~ Description for .380 ACP +P #: lang/json/AMMO_from_json.py @@ -2920,30 +3027,34 @@ msgid "" " more accurate than practice ammo. One should be careful not to chamber it " "in 9x18mm Makarov or 9x19mm firearms." msgstr "" +"Túlnyomásos, burkolatlan lövedékcsúcsos (JHP), 90 graines .380 ACP lőszer. " +"Ezeket az önvédelmi töltényeket a maximális teljesítmény elérésére " +"tervezték, és a gyakorló lőszernél is pontosabbak. Vigyázni kell, hogy " +"véletlenül ne kerüljön 9x18mm Makarov vagy 9x19mm fegyverekbe." #: lang/json/AMMO_from_json.py msgid ".380 ACP FMJ blackpowder" -msgstr "" +msgstr ".380 ACP FMJ fekete lőporból" #: lang/json/AMMO_from_json.py msgid ".380 ACP JHP blackpowder" -msgstr "" +msgstr ".380 ACP JHP fekete lőporból" #: lang/json/AMMO_from_json.py msgid "reloaded .380 ACP FMJ" -msgstr "" +msgstr "újratöltött .380 ACP FMJ" #: lang/json/AMMO_from_json.py msgid "reloaded .380 ACP JHP" -msgstr "" +msgstr "újratöltött .380 ACP JHP" #: lang/json/AMMO_from_json.py msgid "reloaded .380 ACP +P" -msgstr "" +msgstr "újratöltött .380 ACP +P" #: lang/json/AMMO_from_json.py msgid ".38 Super FMJ" -msgstr "" +msgstr ".38 Super FMJ" #. ~ Description for .38 Super FMJ #: lang/json/AMMO_from_json.py @@ -2952,10 +3063,13 @@ msgid "" "developed from .38 ACP in the 1920s, designed to penetrate the body armor of" " the era." msgstr "" +".38 Super lőszer 147 graines bronzköpenyes (FMJ) lövedékkel. A .38 Super " +"lőszert a .38 ACP-ből fejlesztették ki az 1920-as években, célja az akkori " +"korszak testpáncéljainak átütése volt." #: lang/json/AMMO_from_json.py msgid "reloaded .38 Super FMJ" -msgstr "" +msgstr "újratöltött .38 Super FMJ" #: lang/json/AMMO_from_json.py msgid ".40 S&W FMJ" @@ -2989,19 +3103,19 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid ".40 S&W FMJ blackpowder" -msgstr "" +msgstr ".40 S&W FMJ fekete lőporból" #: lang/json/AMMO_from_json.py msgid ".40 S&W JHP blackpowder" -msgstr "" +msgstr ".40 S&W JHP fekete lőporból" #: lang/json/AMMO_from_json.py msgid "reloaded .40 S&W FMJ" -msgstr "utántöltött .40 S&W FMJ" +msgstr "újratöltött .40 S&W FMJ" #: lang/json/AMMO_from_json.py msgid "reloaded .40 S&W JHP" -msgstr "utántöltött .40 S&W JHP" +msgstr "újratöltött .40 S&W JHP" #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "40mm grenade" @@ -3017,6 +3131,8 @@ msgid "" "A 40mm less-lethal beanbag that delivers strong impact on target, causing " "major pain and disorientation. May still injure or kill." msgstr "" +"A 40 mm-es babzsák gránát a célpontra erős hatást mér, amely fájdalmat és " +"zavarodást kelt. Sebzést és halált is okozhat." #: lang/json/AMMO_from_json.py msgid "40mm concussive" @@ -3061,7 +3177,7 @@ msgstr "40 mm nyilacska" #. ~ Description for 40mm flechette #: lang/json/AMMO_from_json.py msgid "A 40mm shell loaded with a large number of armor-piercing flechettes." -msgstr "" +msgstr "Páncélt átütő acélnyilacskákkal töltött 40 mm-es lövedék." #: lang/json/AMMO_from_json.py msgid "40mm frag" @@ -3099,6 +3215,8 @@ msgid "" "A 40mm shell with a powerful buckshot load, designed to be used as " "alternative to shotguns or when breaching barricades and other obstacles." msgstr "" +"Erőteljes söréttöltettel ellátott 40mm-es lövedék, amelyet sörétes puskák " +"alternatívájaként, valamint barikádok áttöréséhez használnak." #: lang/json/AMMO_from_json.py msgid "40mm smoke cover" @@ -3124,7 +3242,7 @@ msgstr "40 mm-es könnygázgránát, cselekvésképtelenné tevő gázzal töltv #: lang/json/AMMO_from_json.py msgid "40mm slug" -msgstr "" +msgstr "40mm dumdum" #. ~ Description for 40mm slug #: lang/json/AMMO_from_json.py @@ -3132,19 +3250,22 @@ msgid "" "A 40mm shell loaded with a massive bullet. Say goodbye to your shoulder, I " "guess." msgstr "" +"Hatalmas lövedékkel megtöltött 40mm-es gránát. Elbúcsúzhatsz a válladtól." #: lang/json/AMMO_from_json.py msgid ".410 000 shot" -msgstr "" +msgstr ".410 000 sörét" #. ~ Description for .410 000 shot #: lang/json/AMMO_from_json.py msgid "A .410 shell with 5 000 pellets. Good for a hunting or combat load." msgstr "" +"5000 darab söréttel megtöltött .410-es lövedék. Vadászásra és harcolásra is " +"megfelelő." #: lang/json/AMMO_from_json.py msgid "reloaded .410 000 shot" -msgstr "" +msgstr "újratöltött .410 000 sörét" #: lang/json/AMMO_from_json.py msgid ".44 Magnum FMJ" @@ -3176,19 +3297,19 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "reloaded .44 Magnum FMJ" -msgstr "utántöltött .44 Magnum FMJ" +msgstr "újratöltött .44 Magnum FMJ" #: lang/json/AMMO_from_json.py msgid "reloaded .44 Magnum" -msgstr "utántöltött .44 Magnum" +msgstr "újratöltött .44 Magnum" #: lang/json/AMMO_from_json.py msgid ".44 Magnum blackpowder" -msgstr "" +msgstr ".44 Magnum fekete lőporból" #: lang/json/AMMO_from_json.py msgid ".44 Magnum FMJ blackpowder" -msgstr "" +msgstr ".44 Magnum FMJ fekete lőporból" #: lang/json/AMMO_from_json.py msgid ".44 paper cartridge" @@ -3248,23 +3369,23 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid ".45 ACP FMJ blackpowder" -msgstr "" +msgstr ".45 ACP FMJ fekete lőporból" #: lang/json/AMMO_from_json.py msgid ".45 ACP JHP blackpowder" -msgstr "" +msgstr ".45 ACP JHP fekete lőporból" #: lang/json/AMMO_from_json.py msgid "reloaded .45 FMJ" -msgstr "utántöltött .45 FMJ" +msgstr "újratöltött .45 FMJ" #: lang/json/AMMO_from_json.py msgid "reloaded .45 ACP JHP" -msgstr "utántöltött .45 ACP JHP" +msgstr "újratöltött .45 ACP JHP" #: lang/json/AMMO_from_json.py msgid "reloaded .45 ACP +P" -msgstr "utántöltött .45 ACP +P" +msgstr "újratöltött .45 ACP +P" #: lang/json/AMMO_from_json.py msgid ".454 Casull" @@ -3287,15 +3408,15 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "reloaded .454 Casull" -msgstr "utántöltött .454 Casull" +msgstr "újratöltött .454 Casull" #: lang/json/AMMO_from_json.py msgid ".454 Casull blackpowder" -msgstr "" +msgstr ".454 Casull fekete lőporból" #: lang/json/AMMO_from_json.py msgid ".45-70 SP" -msgstr "" +msgstr ".45-70 SP" #. ~ Description for .45-70 SP #: lang/json/AMMO_from_json.py @@ -3304,10 +3425,13 @@ msgid "" "of the oldest cartridges still in use, it is still a favorite for large game" " hunting at short ranges." msgstr "" +".45-70 Government lőszer 305 graines lövedékcsúcsos lövedékkel. Az egyik " +"legrégebb óta a mai napig használt lőszer, kifejezetten nagyvadak ellen " +"kedvelik rövid távon." #: lang/json/AMMO_from_json.py msgid ".45-70 +P penetrator" -msgstr "" +msgstr ".45-70 +P penetrátor" #. ~ Description for .45-70 +P penetrator #: lang/json/AMMO_from_json.py @@ -3316,10 +3440,13 @@ msgid "" "penetrator projectile. Designed for maximum penetration through thick hide " "and bone while maintaining ideal wounding characteristics." msgstr "" +".45-70 Government +P lőszer 305 graines lövedékcsúcsos, rézmagos penetrátor " +"lövedékkel. A lehető legmélyebb behatolásra tervezték vastag bőrön és " +"csontokon át, hogy közben megtartsa az ideális sebzési profilját." #: lang/json/AMMO_from_json.py msgid ".45-70 LFN cowboy" -msgstr "" +msgstr ".45-70 LFN cowboy" #. ~ Description for .45-70 LFN cowboy #: lang/json/AMMO_from_json.py @@ -3328,10 +3455,13 @@ msgid "" "to original specifications for safe use in antique firearms. Quite a bit " "less powerful than modern ammo, but still packs a punch." msgstr "" +".45-70 Government lőszer 405 graines lapos ólomkúpos (LFN) lövedékkel. Az " +"antik lőfegyverek biztonságos használatához tervezték. Lényegesen kevésbé " +"átütőképes, mint a modern lőszerek, de ennek ellenére azért még így is erős." #: lang/json/AMMO_from_json.py msgid "reloaded .45-70 SP" -msgstr "" +msgstr "újratöltött .45-70 SP" #. ~ Description for reloaded .45-70 SP #: lang/json/AMMO_from_json.py @@ -3340,6 +3470,9 @@ msgid "" "of the oldest cartridges still in use, it is still a favorite for large game" " hunting at short ranges. This one has been hand-loaded." msgstr "" +".45-70 Government lőszer 305 graines lövedékcsúcsos lövedékkel. Az egyik " +"legrégebb óta a mai napig használt lőszer, kifejezetten nagyvadak ellen " +"kedvelik rövid távon. Ezt kézzel újratöltötték." #: lang/json/AMMO_from_json.py msgid "reloaded .45-70 +P penetrator" @@ -3414,7 +3547,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "4.6x30mm blackpowder" -msgstr "" +msgstr "4.6x30mm fekete lőporból" #. ~ Description for 4.6x30mm blackpowder #. ~ Description for reloaded 4.6x30mm @@ -3425,10 +3558,14 @@ msgid "" " It has low recoil, but no usual armor penetration due to using simple lead" " bullets rather than proper factory-made penetrator projectiles." msgstr "" +"4.6x30mm lőszer 31 graines rézbevonatú ólomlövedékkel. A 4.6x30mm lőszert a " +"H&K fejlesztette ki, hogy versenyre keljen vele az FN Herstal 5.7x28mm " +"lőszerével. Alacsony a visszarúgása, de nincsen páncélátütő képessége, mivel" +" a rendes, gyári acélnyilacskák helyett egyszerű ólommal töltötték meg." #: lang/json/AMMO_from_json.py msgid "reloaded 4.6x30mm" -msgstr "utántöltött 4.6x30mm" +msgstr "újratöltött 4.6x30mm" #: lang/json/AMMO_from_json.py msgid ".460 Rowland HCFN" @@ -3465,15 +3602,15 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid ".460 Rowland FMJ blackpowder" -msgstr "" +msgstr ".460 Rowland FMJ fekete lőporból" #: lang/json/AMMO_from_json.py msgid ".460 Rowland blackpowder" -msgstr "" +msgstr ".460 Rowland fekete lőporból" #: lang/json/AMMO_from_json.py msgid "reloaded .460 Rowland FMJ" -msgstr "utántöltött .460 Rowland FMJ" +msgstr "újratöltött .460 Rowland FMJ" #. ~ Description for reloaded .460 Rowland FMJ #: lang/json/AMMO_from_json.py @@ -3486,44 +3623,61 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "reloaded .460 Rowland" -msgstr "utántöltött .460 Rowland" +msgstr "újratöltött .460 Rowland" + +#: lang/json/AMMO_from_json.py +msgid ".50 BMG M17 tracer" +msgstr ".50 BMG M17 nyomjelző" + +#. ~ Description for .50 BMG M17 tracer +#: lang/json/AMMO_from_json.py +msgid "" +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances." +msgstr "" +"Az erőteljes .50 BMG lövedék nyomjelző változata. A nyomjelző lövedékek " +"segítenek a fegyver célon tartásában, viszont gyújtják a gyúlékony " +"anyagokat." #: lang/json/AMMO_from_json.py -msgid ".50 BMG tracer" -msgstr ".50 BMG nyomjelző" +msgid ".50 BMG M33 Ball" +msgstr ".50 BMG M33 golyó" -#. ~ Description for .50 BMG tracer +#. ~ Description for .50 BMG M33 Ball #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances." +".50 BMG ammunition with mild steel cored 661gr FMJ bullets. The .50 BMG is " +"a very powerful rifle round designed for anti-aircraft use, later adapted to" +" anti-vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -"Az erőteljes .50 BMG mesterlövész lövedék nyomjelző változata. A nyomjelző " -"lövedékek segítenek a fegyver célon tartásában, viszont gyújtják a gyúlékony" -" anyagokat." +".50 BMG lőszer puhaacél, 661 graines, acélköpenyes (FMJ) lövedékkel. A .50 " +"BMG egy nagyon erőteljes karabély lőszer, amelyet légelhárításra terveztek, " +"később járművek és személyek ellen is bevetették. Elképesztő energiájának és" +" páncélátütő képességének köszönhetően az egyik leghalálosabb töltényfajta, " +"amelynek azonban hátránya az erős visszarúgás és a zaj." #: lang/json/AMMO_from_json.py -msgid ".50 BMG Ball" -msgstr ".50 BMG golyó" +msgid ".50 BMG Match" +msgstr ".50 BMG versenylövedék" -#. ~ Description for .50 BMG Ball +#. ~ Description for .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise." +".50 BMG FMJ lead core ammunition manufactured with tighter tolerances for " +"long-range competition shooting or other precision rifle use." msgstr "" -"A .50 BMG egy nagyon erőteljes karabély lőszer, amelyet hosszú tűztávolságra" -" terveztek. Elképesztő pontosságának és páncél átütő képességének " -"köszönhetően az egyik leghalálosabb töltényfajta, amelynek azonban hátránya " -"az erős visszarúgás és a zaj." +"Acélköpenyes (FMJ), ólomcsúcsos .50 BMG lőszer, amelyet a mesterlövész-" +"versenyekben való részvételhez, a hagyományos lőszernél finomabb " +"pontossággal gyártottak." #: lang/json/AMMO_from_json.py -msgid ".50 BMG AP" -msgstr ".50 BMG AP" +msgid ".50 BMG M2 AP" +msgstr ".50 BMG M2 AP" -#. ~ Description for .50 BMG AP +#. ~ Description for .50 BMG M2 AP #: lang/json/AMMO_from_json.py msgid "" "Variant of the .50 BMG round that uses a core of very dense, hardened " @@ -3532,51 +3686,59 @@ msgstr "" "A .50 BMG lőszer változatának magja nagyon sűrű, kemény wolfram acélból áll." " Az átütőképessége megnőtt, de a sebzése csökken." +#: lang/json/AMMO_from_json.py +msgid ".50 BMG Raufoss Mk 211" +msgstr ".50 BMG Raufoss Mk 211" + +#. ~ Description for .50 BMG Raufoss Mk 211 +#: lang/json/AMMO_from_json.py +msgid "" +"This variant of the .50 BMG round makes the most of the caliber's potential " +"payload delivery: the tip is loaded with an incendiary mix, which ignites on" +" impact, detonating the RDX or PETN charge. This also ignites a secondary " +"zirconium powder incendiary charge that surrounds a tungsten carbide " +"penetrator, both encased by a mild steel cup. Fragments from the cup and " +"burning metallic powder follow the penetrator through armored targets, " +"increasing lethality. These rare, complicated, and expensive rounds are not" +" likely to be manufactured again; use them wisely." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG tracer" -msgstr "utántöltött .50 BMG nyomjelző" +msgstr "újratöltött .50 BMG nyomjelző" #. ~ Description for reloaded .50 BMG tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances. This one has been hand-reloaded." +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances. This one has been hand-reloaded." msgstr "" -"Az erőteljes .50 BMG mesterlövész lövedék nyomjelző változata. A nyomjelző " -"lövedékek segítenek a fegyver célon tartásában, viszont gyújtják a gyúlékony" -" anyagokat. Ezt kézzel utántöltötték." #: lang/json/AMMO_from_json.py -msgid "reloaded .50 BMG Ball" -msgstr "utántöltött .50 BMG golyó" +msgid "reloaded .50 BMG Match" +msgstr "" -#. ~ Description for reloaded .50 BMG Ball +#. ~ Description for reloaded .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise. This" -" one has been hand-reloaded." +".50 BMG ammunition with lead-cored FMJ bullets. The .50 BMG is a very " +"powerful rifle round designed for anti-aircraft use, later adapted to anti-" +"vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -"Az .50 BMG egy nagyon erőteljes karabély lőszer, amelyet hosszú " -"tűztávolságra terveztek. Elképesztő pontosságának és páncél átütő " -"képességének köszönhetően az egyik leghalálosabb töltényfajta, amelynek " -"azonban hátránya az erős visszarúgás és a zaj. Ezt kézzel utántöltötték" #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG AP" -msgstr "utántöltött .50 BMG AP" +msgstr "újratöltött .50 BMG AP" #. ~ Description for reloaded .50 BMG AP #: lang/json/AMMO_from_json.py msgid "" -"Variant of the .50 BMG round that uses a core of very dense, hardened " -"tungsten steel. Penetration is increased, but damage is reduced. This one " -"has been hand-reloaded." +"Variant of the .50 BMG round that uses a core hardened steel. Penetration " +"is increased, but damage is reduced. This one has been hand-reloaded." msgstr "" -"A .50 BMG lőszer változatának magja nagyon sűrű, kemény wolfram acélból áll." -" Az átütőképessége megnőtt, de a sebzése csökken. Ezt kézzel utántöltötték." #: lang/json/AMMO_from_json.py msgid ".500 S&W Magnum" @@ -3595,11 +3757,11 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid ".500 S&W Magnum blackpowder" -msgstr "" +msgstr ".500 S&W Magnum fekete lőporból" #: lang/json/AMMO_from_json.py msgid "reloaded .500 S&W Magnum" -msgstr "utántöltött .500 S&W Magnum" +msgstr "újratöltött .500 S&W Magnum" #: lang/json/AMMO_from_json.py msgid "5.45x39mm 7N10" @@ -3633,7 +3795,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "reloaded 5.45x39mm" -msgstr "utántöltött 5.45x39mm" +msgstr "újratöltött 5.45x39mm" #. ~ Description for reloaded 5.45x39mm #: lang/json/AMMO_from_json.py @@ -3644,11 +3806,11 @@ msgid "" msgstr "" "Az 5.45x39mm-es töltény volt az 1974. utáni AK sorozatokhoz rendszeresített " "lövedék. Tervezői az 5.56x45mm NATO munícióból merítettek ihletet. Ezt " -"kézzel utántöltötték." +"kézzel újratöltötték." #: lang/json/AMMO_from_json.py msgid "reloaded 5.45x39mm AP" -msgstr "utántöltött 5.45x39mm AP" +msgstr "újratöltött 5.45x39mm AP" #. ~ Description for reloaded 5.45x39mm AP #: lang/json/AMMO_from_json.py @@ -3682,7 +3844,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "5.7x28mm blackpowder" -msgstr "" +msgstr "5.7x28mm fekete lőporból" #. ~ Description for 5.7x28mm blackpowder #. ~ Description for reloaded 5.7x28mm @@ -3696,10 +3858,17 @@ msgid "" "using simple lead bullets rather than proper factory-made penetrator " "projectiles." msgstr "" +"5.7x28mm lőszer 31 graines páncéltörő bronzköpenyes (FMJ) lövedékkel. Az " +"5.7x28mm lőszert az FN Herstal tervezte a NATO használatra rendszeresített " +"9x19mm leváltására. Bár a 9x19mm Parabellum leváltásának projektjét " +"megszakították, az 5.7x28mm lőszer számos összecsapásnál bizonyította a " +"megbízhatóságát. Nagyon alacsony a visszarúgása, de nincsen páncélátütő " +"képessége, mivel a rendes, gyári acélnyilacskák helyett egyszerű ólommal " +"töltötték meg." #: lang/json/AMMO_from_json.py msgid "reloaded 5.7x28mm" -msgstr "utántöltött 5.7x28mm" +msgstr "újratöltött 5.7x28mm" #: lang/json/AMMO_from_json.py msgid "RA110 5x50mm flechette" @@ -3731,7 +3900,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "reloaded 5x50mm flechette" -msgstr "utántöltött 5x50 mm nyilacska" +msgstr "újratöltött 5x50 mm nyilacska" #. ~ Description for reloaded 5x50mm flechette #: lang/json/AMMO_from_json.py @@ -3742,11 +3911,11 @@ msgid "" msgstr "" "Modern gyalogsági páncélzat átütésére tervezték a Rivtech 5 x 50 mm-es " "környezetbarát, leváló köpenyes, szárnystabilizált páncéltörő lőszert. Ezt " -"kézzel utántöltötték." +"kézzel újratöltötték." #: lang/json/AMMO_from_json.py msgid "M74 rocket" -msgstr "" +msgstr "M74 rakéta" #. ~ Description for M74 rocket #: lang/json/AMMO_from_json.py @@ -3777,7 +3946,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "reloaded .700 NX" -msgstr "utántöltött .700 NX" +msgstr "újratöltött .700 NX" #: lang/json/AMMO_from_json.py msgid "7.62x39mm 57-N-231" @@ -3815,7 +3984,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "reloaded 7.62x39mm M43" -msgstr "utántöltött 7.62x39mm M43" +msgstr "újratöltött 7.62x39mm M43" #. ~ Description for reloaded 7.62x39mm M43 #: lang/json/AMMO_from_json.py @@ -3832,7 +4001,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "reloaded 7.62x39mm M67" -msgstr "utántöltött 7.62x39mm M67" +msgstr "újratöltött 7.62x39mm M67" #: lang/json/AMMO_from_json.py msgid "7.62x54mmR" @@ -3855,7 +4024,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "reloaded 7.62x54mmR" -msgstr "utántöltött 7.62x54mmR" +msgstr "újratöltött 7.62x54mmR" #: lang/json/AMMO_from_json.py msgid "7.62x25mm JHP" @@ -3903,11 +4072,11 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "7.62x25mm FMJ blackpowder" -msgstr "" +msgstr "7.62x25mm FMJ fekete lőporból" #: lang/json/AMMO_from_json.py msgid "reloaded 7.62x25mm" -msgstr "utántöltött 7.62x25mm" +msgstr "újratöltött 7.62x25mm" #: lang/json/AMMO_from_json.py msgid "84x246mm HE rocket" @@ -4118,27 +4287,27 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "9x19mm JHP blackpowder" -msgstr "" +msgstr "9x19mm JHP fekete lőporból" #: lang/json/AMMO_from_json.py msgid "9x19mm FMJ blackpowder" -msgstr "" +msgstr "9x19mm FMJ fekete lőporból" #: lang/json/AMMO_from_json.py msgid "reloaded 9x19mm JHP" -msgstr "utántöltött 9x19mm JHP" +msgstr "újratöltött 9x19mm JHP" #: lang/json/AMMO_from_json.py msgid "reloaded 9x19mm FMJ" -msgstr "utántöltött 9x19mm FMJ" +msgstr "újratöltött 9x19mm FMJ" #: lang/json/AMMO_from_json.py msgid "reloaded 9x19mm +P" -msgstr "utántöltött 9x19mm +P" +msgstr "újratöltött 9x19mm +P" #: lang/json/AMMO_from_json.py msgid "reloaded 9x19mm +P+" -msgstr "utántöltött 9x19mm +P+" +msgstr "újratöltött 9x19mm +P+" #: lang/json/AMMO_from_json.py msgid "9x18mm 57-N-181S" @@ -4185,15 +4354,15 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "9x18mm blackpowder" -msgstr "" +msgstr "9x18mm fekete lőporból" #: lang/json/AMMO_from_json.py msgid "9x18mm FMJ blackpowder" -msgstr "" +msgstr "9x18mm FMJ fekete lőporból" #: lang/json/AMMO_from_json.py msgid "reloaded 9x18mm" -msgstr "utántöltött 9x18mm" +msgstr "újratöltött 9x18mm" #. ~ Description for reloaded 9x18mm #: lang/json/AMMO_from_json.py @@ -4204,11 +4373,11 @@ msgid "" msgstr "" "9x18mm-es régi szovjet Makarov töltény, amelyet nagyrészt a Makarov PM " "pisztolyhoz használnak. A neve alapján egy kicsit rövidebb a 9mm Parabellum " -"lövedéknél. Ezt a töltényt kézzel utántöltötték." +"lövedéknél. Ezt a töltényt kézzel újratöltötték." #: lang/json/AMMO_from_json.py msgid "reloaded 9x18mm +P+" -msgstr "utántöltött 9x18mm +P+" +msgstr "újratöltött 9x18mm +P+" #. ~ Description for reloaded 9x18mm +P+ #: lang/json/AMMO_from_json.py @@ -4218,13 +4387,13 @@ msgid "" "pressure, boosting flight stability and damage." msgstr "" "9x18mm-es régi szovjet Makarov töltény, amelyet nagyrészt a Makarov PM " -"pisztolyhoz használnak. Ezt a töltényt kézzel utántöltötték, hogy nagyobb " +"pisztolyhoz használnak. Ezt a töltényt kézzel újratöltötték, hogy nagyobb " "legyen a belső nyomása, ennek köszönhetően jobb a töltény stabilitása és " "sebzése." #: lang/json/AMMO_from_json.py msgid "reloaded 9x18mm FMJ" -msgstr "utántöltött 9x18mm FMJ" +msgstr "újratöltött 9x18mm FMJ" #. ~ Description for reloaded 9x18mm FMJ #: lang/json/AMMO_from_json.py @@ -4236,11 +4405,11 @@ msgstr "" "9x18mm-es régi szovjet Makarov töltény, amelyet nagyrészt a Makarov PM " "pisztolyhoz használnak. Ez a bronzköpenyes töltény valamennyivel jobb " "átütőképességgel rendelkezik, viszont emiatt alacsonyabb a szilánkosodása. " -"Ezt a töltényt kézzel utántöltötték." +"Ezt a töltényt kézzel újratöltötték." #: lang/json/AMMO_from_json.py msgid "152mm ATGM HEAT" -msgstr "" +msgstr "152mm ATGM HEAT" #. ~ Description for 152mm ATGM HEAT #: lang/json/AMMO_from_json.py @@ -4248,10 +4417,12 @@ msgid "" "A tube-launched, optically tracked, wire-guided missile contained in a steel" " tube. Designed to be highly effective against vehicles and structures." msgstr "" +"Acél vetőcsőben tárolt és abból indított, optikailag vezérelt, vezetékkel " +"irányított rakéta. Rendkívül hatékony a járművek és az épületek leküzdésére." #: lang/json/AMMO_from_json.py msgid "paralyzing barb" -msgstr "" +msgstr "bénító szálka" #. ~ Description for paralyzing barb #: lang/json/AMMO_from_json.py @@ -4259,6 +4430,7 @@ msgid "" "Tiny droplets of venom trickle out of the sponge-like tissue of this sharp " "barb." msgstr "" +"A hegyes szálka szivacsos kötőszövetéből apró cseppekben méreg szivárog." #: lang/json/AMMO_from_json.py msgid "sprayable toxic gas" @@ -4290,7 +4462,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "sprayable insecticide" -msgstr "" +msgstr "permetezhető rovarölő" #. ~ Description for sprayable insecticide #: lang/json/AMMO_from_json.py @@ -4298,6 +4470,8 @@ msgid "" "Strong sprayable insecticide ammo for the chemical thrower. Best be used " "with some kind of mask or mouth protection." msgstr "" +"Erős rovarölő szer, amely vegyi lángszóróban használható. Használatához nem " +"árt valamiféle maszkot, vagy légzést tisztító ruhadarabot felvenni." #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "paper cartridge" @@ -4391,43 +4565,43 @@ msgstr "Doboznyi apró paintball, szinte semmit sem sebez." #: lang/json/AMMO_from_json.py msgid "reloaded birdshot" -msgstr "utántöltött apróvad sörét" +msgstr "újratöltött apróvad sörét" #: lang/json/AMMO_from_json.py msgid "reloaded dragon's breath shell" -msgstr "" +msgstr "újratöltött sárkánylehellet lőszer" #: lang/json/AMMO_from_json.py msgid "reloaded 00 shot" -msgstr "utántöltött acélsörét" +msgstr "újratöltött acélsörét" #: lang/json/AMMO_from_json.py msgid "reloaded flechette shell" -msgstr "utántöltött nyilacskás lövedék" +msgstr "újratöltött nyilacskás lövedék" #: lang/json/AMMO_from_json.py msgid "reloaded shotgun slug" -msgstr "utántöltött sörétes dumdum" +msgstr "újratöltött sörétes dumdum" #: lang/json/AMMO_from_json.py msgid "blackpowder birdshot" -msgstr "" +msgstr "fekete lőporos apróvad sörét" #: lang/json/AMMO_from_json.py msgid "blackpowder dragon's breath shell" -msgstr "" +msgstr "fekete lőporos sárkánylehellet lőszer" #: lang/json/AMMO_from_json.py msgid "blackpowder 00 shot" -msgstr "" +msgstr "fekete lőporos acélsörét" #: lang/json/AMMO_from_json.py msgid "blackpowder flechette shell" -msgstr "" +msgstr "fekete lőporos nyilacskás lövedék" #: lang/json/AMMO_from_json.py msgid "blackpowder shotgun slug" -msgstr "" +msgstr "fekete lőporos sörétes dumdum" #: lang/json/AMMO_from_json.py msgid "00 shot" @@ -4469,7 +4643,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "dragon's breath shell" -msgstr "" +msgstr "sárkánylehellet lőszer" #. ~ Description for dragon's breath shell #: lang/json/AMMO_from_json.py @@ -4479,6 +4653,10 @@ msgid "" "temperature sparks and flames shoot out of the barrel, igniting everything " "in their path." msgstr "" +"Magnézium repeszekkel megtöltött sörétes lőszer, amelyet általában " +"jelzőfáklyának, vagy pirotechnikai eszköznek használnak. A lőszer elsütése " +"után magas hőmérsékletű szikrák és lángnyelvek csapnak ki a fegyver " +"csövéből, és minden utukba kerülő dolgot felgyújtanak." #: lang/json/AMMO_from_json.py msgid "flechette shell" @@ -4523,7 +4701,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "makeshift shotgun shot (black powder)" -msgstr "" +msgstr "hevenyészett sörétes lövedék (fekete lőpor)" #: lang/json/AMMO_from_json.py msgid "shotgun slug" @@ -4540,7 +4718,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "scrap shotcanister" -msgstr "" +msgstr "hulladékfém repeszlőszer" #. ~ Description for scrap shotcanister #: lang/json/AMMO_from_json.py @@ -4548,10 +4726,12 @@ msgid "" "This small paper canister resembling a crude shotshell is filled to the brim" " with assorted pieces of scrap metal." msgstr "" +"Ezt az apró, papírból készült sörétes lőszerbe a lehető legtöbb " +"hulladékfémmel tömték meg." #: lang/json/AMMO_from_json.py msgid "pebble shotcanister" -msgstr "" +msgstr "kavicsos repeszlőszer" #. ~ Description for pebble shotcanister #: lang/json/AMMO_from_json.py @@ -4560,10 +4740,12 @@ msgid "" " with tiny pebbles. Damage is pathetic but flight is much more stable than " "scrap" msgstr "" +"Ezt az apró, papírból készült sörétes lőszerbe a lehető legtöbb kaviccsal " +"tömték meg. A sebzése nevetséges, de röppályája jobb, mint a hulladékfémé." #: lang/json/AMMO_from_json.py msgid "flechette shotcanister" -msgstr "" +msgstr "nyilacskás repeszlőszer" #. ~ Description for flechette shotcanister #: lang/json/AMMO_from_json.py @@ -4571,10 +4753,12 @@ msgid "" "This small paper canister resembling a crude shotshell is filled to the brim" " with handmade flechettes, giving it some armor piercing capabilities." msgstr "" +"Ezt az apró, papírból készült sörétes lőszerbe a lehető legtöbb, kézzel " +"készült nyilacskával tömték meg, így némileg képes a páncélzat átütésére." #: lang/json/AMMO_from_json.py msgid "bearing shotcanister" -msgstr "" +msgstr "csapágyas repeszlőszer" #. ~ Description for bearing shotcanister #: lang/json/AMMO_from_json.py @@ -4582,6 +4766,8 @@ msgid "" "This small paper canister resembling a crude shotshell is filled to the brim" " with handmade bearings, stabilizing it's flight pattern a tiny bit." msgstr "" +"Ezt az apró, papírból készült sörétes lőszerbe a lehető legtöbb, kézzel " +"készült csapágygolyóval tömték meg, így röppályája valamennyivel stabilabb." #: lang/json/AMMO_from_json.py msgid "birdshot paper cartridge" @@ -4670,6 +4856,106 @@ msgstr "Egy marék gombamag" msgid "fungal flower" msgstr "gombavirág" +#: lang/json/AMMO_from_json.py +msgid "potassium alum" +msgstr "" + +#. ~ Description for potassium alum +#: lang/json/AMMO_from_json.py +msgid "" +"Small water-soluble white crystals with watery metallic odor, historically " +"used for many different purposes. Also known as potash alum and potassium " +"aluminum sulfate; often called simply alum, as it's the most important " +"member of the generic class of compounds called alums." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cloth dye powder" +msgstr "" + +#. ~ Description for cloth dye powder +#: lang/json/AMMO_from_json.py +msgid "" +"This is a powdered colorful cloth dye, which can be used to dye many fabrics" +" if combined with water and some mordant." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel buckle" +msgstr "" + +#. ~ Description for steel buckle +#: lang/json/AMMO_from_json.py +msgid "A steel buckle, like that usually found on belts." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "plastic button" +msgstr "" + +#. ~ Description for plastic button +#: lang/json/AMMO_from_json.py +msgid "A plastic button, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel button" +msgstr "" + +#. ~ Description for steel button +#: lang/json/AMMO_from_json.py +msgid "A steel button, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "wooden button" +msgstr "" + +#. ~ Description for wooden button +#: lang/json/AMMO_from_json.py +msgid "A crude wooden button, usually found on very old clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel snap fastener" +msgstr "" + +#. ~ Description for steel snap fastener +#: lang/json/AMMO_from_json.py +msgid "A steel snap fastener, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "touch fastener" +msgstr "" + +#. ~ Description for touch fastener +#: lang/json/AMMO_from_json.py +msgid "" +"This is a pair of cloth strips, one of which has tiny hooks and another has " +"tiny loops. Useful as a fastener for clothing and footwear." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "long plastic zipper" +msgstr "" + +#. ~ Description for long plastic zipper +#: lang/json/AMMO_from_json.py +msgid "A long zipper made from plastic, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "short plastic zipper" +msgstr "" + +#. ~ Description for short plastic zipper +#: lang/json/AMMO_from_json.py +msgid "" +"A short zipper made from plastic, usually found on footwear or clothing " +"pockets." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "red paint" msgid_plural "red paint" @@ -4826,7 +5112,7 @@ msgstr[1] "" #: lang/json/AMMO_from_json.py msgid "" "A slightly brittle metal. Apart from being an essential mineral that the " -"body needs, it reacts readily with acids, alkalis and other non-metals. It " +"body needs, it reacts readily with acids, alkalis and other non-metals. It " "can be crushed to make zinc powder, used in the production of batteries, " "among other things." msgstr "" @@ -4914,7 +5200,7 @@ msgstr "" #. ~ Description for door hinge #: lang/json/AMMO_from_json.py msgid "" -"A small metal hinge with two metal plates with screw holes. Useful for " +"A small metal hinge with two metal plates with screw holes. Useful for " "making doors." msgstr "" @@ -4925,7 +5211,7 @@ msgstr "" #. ~ Description for tin powder #: lang/json/AMMO_from_json.py msgid "" -"A fine gray powder composed of tin, usable for making solder and lining " +"A fine gray powder composed of tin, usable for making solder and lining " "containers to prevent corrosion." msgstr "" @@ -4969,6 +5255,359 @@ msgid "" "explosions." msgstr "" +#: lang/json/AMMO_from_json.py +msgid "rubber sole" +msgstr "" + +#. ~ Description for rubber sole +#: lang/json/AMMO_from_json.py +msgid "" +"This is a sole made from rubber, usually found on the bottoms of boots. Can" +" be used for making actual boots." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cotton scraps" +msgid_plural "cotton scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for cotton scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of cotton, waste material from tailoring " +"projects. Not useful for much and usually disposed of, but can be recycled " +"into some thread if you really want." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "faux fur scraps" +msgid_plural "faux fur scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for faux fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of faux fur, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "felt scraps" +msgid_plural "felt scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for felt scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of felt, waste material from tailoring projects." +" Not useful for much and usually disposed of, but can be recycled into some" +" wool fiber if you really want." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "fur scraps" +msgid_plural "fur scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of fur, waste material from tailoring projects. " +"Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar scraps" +msgid_plural "Kevlar scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Kevlar scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of Kevlar fabric, waste material from tailoring " +"projects. Normally it's disposed of, but since Kevlar would be very " +"difficult to make in a post-apocalyptic world, it might be worth recycling " +"it for Kevlar thread." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "leather scraps" +msgid_plural "leather scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for leather scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of leather, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lycra scraps" +msgid_plural "lycra scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lycra scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of lycra, waste material from tailoring projects." +" Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "neoprene scraps" +msgid_plural "neoprene scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for neoprene scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of neoprene, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric scraps" +msgid_plural "synthetic fabric scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for synthetic fabric scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of synthetic fabric, waste material from " +"tailoring projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex scraps" +msgid_plural "Nomex scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Nomex scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of heat-resistant Nomex fabric, waste material " +"from tailoring projects. Normally it's disposed of, but since Nomex would " +"be very difficult to make in a post-apocalyptic world, it might be worth " +"recycling it." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cotton sheet" +msgstr "" + +#. ~ Description for cotton sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of cotton fabric, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork cotton clothing parts" +msgid_plural "patchwork cotton clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork cotton clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from cotton patches in " +"a patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "faux fur sheet" +msgstr "" + +#. ~ Description for faux fur sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of fake synthetic colorful fur, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork faux fur clothing parts" +msgid_plural "patchwork faux fur clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork faux fur clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from faux fur patches " +"in a patchwork fashion. Suitable for making most clothing, though it's much" +" less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "felt sheet" +msgstr "" + +#. ~ Description for felt sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of felt, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork felt clothing parts" +msgid_plural "patchwork felt clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork felt clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from felt patches in a " +"patchwork fashion. Suitable for making most clothing, though it's much less" +" time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar sheet" +msgstr "" + +#. ~ Description for Kevlar sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Kevlar synthetic fabric, suitable for making bulletproof armor. " +"In this form, unlike rigid plates, it can be stitched." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lycra sheet" +msgstr "" + +#. ~ Description for lycra sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of synthetic fabric blended with stretchy lycra fibers, suitable for" +" making flexible yet strong clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork lycra clothing parts" +msgid_plural "patchwork lycra clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork lycra clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from lycra patches in a" +" patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py lang/json/GENERIC_from_json.py +msgid "neoprene sheet" +msgid_plural "neoprene sheets" +msgstr[0] "neoprén lap" +msgstr[1] "neoprén lap" + +#. ~ Description for neoprene sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of neoprene, a synthetic rubber, suitable for making underwater " +"gear." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork neoprene clothing parts" +msgid_plural "patchwork neoprene clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork neoprene clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from neoprene patches " +"in a patchwork fashion, with waterproofed seams. Suitable for making most " +"clothing, though it's much less time-efficient than if using proper material" +" sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex sheet" +msgstr "" + +#. ~ Description for Nomex sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Nomex synthetic fabric, suitable for making heat-resistant " +"clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork Nomex clothing parts" +msgid_plural "patchwork Nomex clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork Nomex clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together with Nomex thread from " +"Nomex patches in a patchwork fashion. Suitable for making most clothing, " +"though it's much less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric sheet" +msgstr "" + +#. ~ Description for synthetic fabric sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of synthetic fabric, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork synthetic fabric clothing parts" +msgid_plural "patchwork synthetic fabric clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork synthetic fabric clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from synthetic fabric " +"patches in a patchwork fashion. Suitable for making most clothing, though " +"it's much less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar thread" +msgstr "" + +#. ~ Description for Kevlar thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some very durable Kevlar thread that would be particularly useful for making" +" ballistic armor, though it's fine to use in place of normal thread too, in " +"most cases. Making armor-grade Kevlar sheets from this would need a " +"particularly tight weave, and so would need some specialized machinery." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex thread" +msgstr "" + +#. ~ Description for Nomex thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some heat-resistant Nomex thread that would be particularly useful for " +"making heat protection gear, though it's fine to use in place of normal " +"thread too, in most cases." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "handloaded .22 CB" msgid_plural "handloaded .22 CB" @@ -5008,7 +5647,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "reloaded shotgun beanbag" -msgstr "utántöltött babzsák lőszer" +msgstr "újratöltött babzsák lőszer" #. ~ Description for reloaded shotgun beanbag #: lang/json/AMMO_from_json.py @@ -5016,7 +5655,7 @@ msgid "" "A hand-reloaded beanbag round for shotguns, not deadly but designed to " "disable." msgstr "" -"Kézzel utántöltött babzsák lőszer sörétes puskákhoz, a találata nem halálos," +"Kézzel újratöltött babzsák lőszer sörétes puskákhoz, a találata nem halálos," " semlegesítésre tervezték." #: lang/json/AMMO_from_json.py @@ -5205,8 +5844,8 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "reloaded 6.54x42mm" msgid_plural "reloaded 6.54x42mm" -msgstr[0] "utántöltött 6,54x42mm" -msgstr[1] "utántöltött 6,54x42mm" +msgstr[0] "újratöltött 6,54x42mm" +msgstr[1] "újratöltött 6,54x42mm" #. ~ Description for reloaded 6.54x42mm #: lang/json/AMMO_from_json.py @@ -5217,7 +5856,7 @@ msgid "" msgstr "" "A továbbfejlesztett .280-as töltényből szerzett inspirációt Alekszander " "Szarafanov, hogy az SZVSZ-24 rohamkarabélyhoz kifejlessze a 6,54 x 42 mm-es " -"lőszert. Ezt kézzel utántöltötték." +"lőszert. Ezt kézzel újratöltötték." #: lang/json/AMMO_from_json.py msgid "reloaded light rifle ammo" @@ -5554,6 +6193,18 @@ msgstr "" "Becsapódáskor forró lángra kap, átüti a páncélzatot és lángra gyújtja a " "gyúlékony anyagokat." +#: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py +msgid "orichalcum arrow" +msgstr "" + +#. ~ Description for orichalcum arrow +#: lang/json/AMMO_from_json.py +msgid "" +"An arrow composed of a sliver of orichalcum. The arrow has a mysterious " +"glow. Has a very high chance of staying intact when fired, however can only" +" be fired from Ichaival." +msgstr "" + #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "dragon blood" msgid_plural "dragon blood" @@ -5601,8 +6252,29 @@ msgstr[1] "" #. ~ Description for crystallized mana #: lang/json/AMMO_from_json.py msgid "" -"Some crystallized mana. This can be reloaded into rechargable mana crystals," -" but can never be unloaded." +"Some crystallized mana. This can be reloaded into rechargable mana " +"crystals, but can never be unloaded." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lump of orichalcum" +msgstr "" + +#. ~ Description for lump of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A heavy formed piece of strange metal. Useful for some crafting recipes." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "sliver of orichalcum" +msgstr "" + +#. ~ Description for sliver of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A sliver of a strange glowing metal. Useful as a weapon, but better suited " +"for crafting." msgstr "" #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py @@ -5758,8 +6430,8 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "reloaded 30x113mm" msgid_plural "reloaded 30x113mm" -msgstr[0] "utántöltött 30x113mm" -msgstr[1] "utántöltött 30x113mm" +msgstr[0] "újratöltött 30x113mm" +msgstr[1] "újratöltött 30x113mm" #. ~ Description for reloaded 30x113mm #: lang/json/AMMO_from_json.py @@ -5795,7 +6467,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "reloaded 120mm shot" -msgstr "utántöltött 120mm sörét" +msgstr "újratöltött 120mm sörét" #. ~ Description for reloaded 120mm shot #: lang/json/AMMO_from_json.py @@ -5850,7 +6522,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "reloaded 155mm shot" -msgstr "utántöltött 155mm sörét" +msgstr "újratöltött 155mm sörét" #. ~ Description for reloaded 155mm shot #: lang/json/AMMO_from_json.py @@ -6767,8 +7439,10 @@ msgstr[1] "derékhordású kardszíj" #. ~ Use action holster_msg for pair of rollerblades. #. ~ Use action holster_msg for pair of rollerskates. #. ~ Use action holster_msg for C.R.I.T web belt. +#. ~ Use action holster_msg for technomancer's toolbelt. #. ~ Use action holster_msg for hollow cane. -#: lang/json/ARMOR_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/ARMOR_from_json.py lang/json/ARMOR_from_json.py +#: lang/json/GENERIC_from_json.py #, no-python-format msgid "You sheath your %s" msgstr "Elrakod a %st" @@ -7450,6 +8124,46 @@ msgid "" "small straps designed to better distribute the weight." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail chausses" +msgid_plural "pairs of chainmail chausses" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of chainmail chausses +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail chausses that cover the feet, like booties made of " +"chainmail." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail gloves" +msgid_plural "pairs of chainmail gloves" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of chainmail gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail gloves. They fully enclose the fingers and provide " +"excellent protection, but are somewhat cumbersome." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "faraday chainmail suit" +msgid_plural "faraday chainmail suits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for faraday chainmail suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A fully customized chainmail suit that can be worn over your normal " +"clothing. The suit is conductively interconnected, protecting against " +"electricity." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "leather chaps" msgid_plural "leather chaps" @@ -7612,6 +8326,28 @@ msgid "" msgstr "" "Színes és röhejes megjelenést kölcsönző bohócruha. Sok minden fél el benne." +#: lang/json/ARMOR_from_json.py +msgid "clown wig" +msgid_plural "clown wigs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for clown wig +#: lang/json/ARMOR_from_json.py +msgid "A colorful and ridiculous wig fit for a clown." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "clown nose" +msgid_plural "clown noses" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for clown nose +#: lang/json/ARMOR_from_json.py +msgid "A red latex nose often seen being worn by clowns." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fur coat" msgid_plural "fur coats" @@ -7894,6 +8630,22 @@ msgstr "" "Fehér színű, legombolós galléros, hosszú ujjú ing. Nagyon profin nézel ki " "benne!" +#: lang/json/ARMOR_from_json.py +msgid "drinking hat" +msgid_plural "drinking hats" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for drinking hat +#: lang/json/ARMOR_from_json.py +msgid "" +"This is an improvised harness that can be worn over other headgear or bare " +"head, made from two small liquid containers, a rubber hose, a bundle of " +"steel wire, and some cordage. A convenient and simple device for hands-free" +" drinking, though the liquid inside would spill if you put it into your " +"backpack." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "wedding dress" msgid_plural "wedding dresses" @@ -8043,6 +8795,32 @@ msgstr[1] "hasitasi" msgid "Provides a bit of extra storage, with minimal encumbrance." msgstr "Plusz tárhely minimális ormótlansággal." +#: lang/json/ARMOR_from_json.py +msgid "underarm protector" +msgid_plural "underarm protectors" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for underarm protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A sturdy cotton plastron that protects much of the torso, the dominant " +"shoulder, and underarm while fencing." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "plastic chest protector" +msgid_plural "plastic chest protectors" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for plastic chest protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A rigid plastic plastron with molded cups to be worn by female fencers for " +"protection while fencing." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fencing jacket" msgid_plural "fencing jackets" @@ -8059,6 +8837,34 @@ msgstr "" "cipzárral. Nincsen semmi tárolóhely benne, viszont legalább nagyon " "kényelmes." +#: lang/json/ARMOR_from_json.py +msgid "lamé (foil)" +msgid_plural "lamé (foil)s" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lamé (foil) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive vest with the zipper on the back used by " +"fencers for electronic scoring. Its outer layer is a woven mix of sturdy " +"cotton and stainless steel strands." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "lamé (saber)" +msgid_plural "lamé (saber)s" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lamé (saber) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive jacket used by fencers for electronic " +"scoring. Its outer layer is a woven mix of sturdy cotton and stainless " +"steel strands." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fencing mask" msgid_plural "fencing masks" @@ -8081,6 +8887,32 @@ msgstr[1] "vívónadrág" msgid "A pair of reinforced pants used by fencers to prevent injuries." msgstr "Megerősített nadrág vívók számára, hogy elkerüljék a sérüléseket." +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet" +msgid_plural "fencing gauntlets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fencing gauntlet +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet (left)" +msgid_plural "fencing gauntlet (left)s" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fencing gauntlet (left) +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers. This one is left-handed." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of fire gauntlets" msgid_plural "pairs of fire gauntlets" @@ -8489,22 +9321,6 @@ msgstr[1] "szőrme kesztyű" msgid "A pair of warm fur gloves. They are somewhat cumbersome." msgstr "Egy pár meleg szőrme kesztyű. Valamennyire ormótlan." -#: lang/json/ARMOR_from_json.py -msgid "pair of survivor wetsuit gloves" -msgid_plural "pairs of survivor wetsuit gloves" -msgstr[0] "túlélő búvárkesztyű" -msgstr[1] "túlélő búvárkesztyű" - -#. ~ Description for pair of survivor wetsuit gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" -" wear while providing maximum protection under extreme conditions." -msgstr "" -"Ezt a pár egyedi szabású, kevlarral páncélozott neoprén kesztyűt könnyű " -"viselésre alakították ki, ugyanakkor maximális védelmet nyújt akár extrém " -"körülmények között is." - #: lang/json/ARMOR_from_json.py msgid "pair of heavy survivor gloves" msgid_plural "pairs of heavy survivor gloves" @@ -8573,6 +9389,20 @@ msgstr "" "viselésre alakították ki, ugyanakkor maximális védelmet nyújt akár extrém " "körülmények között is." +#: lang/json/ARMOR_from_json.py +msgid "pair of fingerless survivor gloves" +msgid_plural "pairs of fingerless survivor gloves" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of fingerless survivor gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored cloth gloves with no fingers, modified " +"to be easy to wear while providing maximum protection under extreme " +"conditions." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of medical gloves" msgid_plural "pairs of medical gloves" @@ -8828,17 +9658,6 @@ msgstr "" "A szemet és teljes környékét elszigetelő, nagyméretű szemüveg. kiváló " "védelmet nyújt a környezeti veszélyekkel szemben." -#: lang/json/ARMOR_from_json.py -msgid "pair of swim goggles" -msgid_plural "pairs of swim goggles" -msgstr[0] "úszószemüveg" -msgstr[1] "úszószemüveg" - -#. ~ Description for pair of swim goggles -#: lang/json/ARMOR_from_json.py -msgid "A small pair of goggles made for swimming." -msgstr "Úszáshoz készített apró szemüveg." - #: lang/json/ARMOR_from_json.py msgid "pair of welding goggles" msgid_plural "pairs of welding goggles" @@ -8881,23 +9700,6 @@ msgid "" msgstr "" "Nehéz, bokáig érő gyapjúkabát. Ormótlan, de jó meleg és mélyek a zsebei." -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit" -msgid_plural "survivor wetsuits" -msgstr[0] "túlélő búvárruha" -msgstr[1] "túlélő búvárruha" - -#. ~ Description for survivor wetsuit -#: lang/json/ARMOR_from_json.py -msgid "" -"A lightweight, hand-built combination armor made from a cut-down bulletproof" -" vest and a reinforced neoprene wetsuit. Protects from the elements as well" -" as from harm." -msgstr "" -"Ezt a könnyűsúlyú, kézi barkácsolású páncélzatot egy szétvagdosott golyóálló" -" mellényből és egy megerősített neoprén búvárruhából fabrikálták. Védelmet " -"nyújt az elemek és sebesülések ellen." - #: lang/json/ARMOR_from_json.py msgid "hakama" msgid_plural "hakamas" @@ -9457,20 +10259,6 @@ msgstr "" "Egyedi szabású kevlarral páncélozott, Kevlar-betétes kapucni, nagyon erős és" " tartós." -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit hood" -msgid_plural "survivor wetsuit hoods" -msgstr[0] "túlélő búvárkapucni" -msgstr[1] "túlélő búvárkapucni" - -#. ~ Description for survivor wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "" -"A customized armored neoprene and Kevlar hood, very strong and durable." -msgstr "" -"Egyedi szabású kevlarral páncélozott, neoprénbetétes kapucni, nagyon erős és" -" tartós." - #: lang/json/ARMOR_from_json.py msgid "light survivor hood" msgid_plural "light survivor hoods" @@ -10243,18 +11031,25 @@ msgstr[0] "bőröv" msgstr[1] "bőröv" #. ~ Use action holster_msg for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_msg for magic leather belt. +#. ~ Use action holster_msg for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py #, no-python-format msgid "You tuck your %s into your %s" msgstr "A(z) %st betűröd a %sedbe." #. ~ Use action holster_prompt for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_prompt for magic leather belt. +#. ~ Use action holster_prompt for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Stick what into your belt" msgstr "Mit tűrsz be az övedbe" #. ~ Description for leather belt -#: lang/json/ARMOR_from_json.py +#. ~ Description for magic leather belt +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py msgid "A leather belt. Useful for making your pair of pants fit." msgstr "Egy bőröv. Jó ahhoz, hogy a nadrág ne essen le rólad." @@ -10431,6 +11226,20 @@ msgid "" "variety is favored by the military." msgstr "Csípőre csatolt tölténytáska fajta, főleg a katonaság használja." +#: lang/json/ARMOR_from_json.py +msgid "leotard" +msgid_plural "leotard" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for leotard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment, covering the body from the groin to the " +"shoulders. With its deep scoop-cut back and high waist cuts, this garment " +"is perfect for showcasing your physique on the stage." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "Linux t-shirt" msgid_plural "Linux t-shirts" @@ -11341,38 +12150,6 @@ msgstr "" "Nagyméretű bőrtok kardok és egyéb nagyméretű pengés fegyverek számára. " "Aktiváld egy fegyver tokba rakásához illetve előrántásához." -#: lang/json/ARMOR_from_json.py -msgid "shark suit" -msgid_plural "shark suits" -msgstr[0] "cápavédelmi ruha" -msgstr[1] "cápavédelmi ruha" - -#. ~ Description for shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It comes with attached plastic helmet and booties." -msgstr "" -"Egy darabból álló sodrony ruha, amelyet cápaharapás ellen búvárok szoktak " -"felvenni. Saját műanyag sisakkal és csizmával is rendelkezik." - -#: lang/json/ARMOR_from_json.py -msgid "faraday shark suit" -msgid_plural "faraday shark suits" -msgstr[0] "faraday cápavédelmi ruha" -msgstr[1] "faraday cápavédelmi ruha" - -#. ~ Description for faraday shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It has been conductively interconnected, protecting against " -"electricity." -msgstr "" -"Egy darabból álló sodrony ruha, amelyet cápaharapás ellen búvárok szoktak " -"felvenni. Faraday-kalicka jellegét az adja, hogy a fémalkatrészeket egyetlen" -" egy vezetővé kapcsolták össze, így megvéd az áramütés ellen." - #: lang/json/ARMOR_from_json.py msgid "sheath" msgid_plural "sheathes" @@ -11451,6 +12228,19 @@ msgid "" msgstr "" "Levágott lábszárú farmernadrág. Vastag és kemény, jól véd a vágások ellen." +#: lang/json/ARMOR_from_json.py +msgid "thermal shirt" +msgid_plural "thermal shirts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for thermal shirt +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, form-fitting long-sleeved spandex undershirt that helps " +"maintains body temperature." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "skinny tie" msgid_plural "skinny ties" @@ -11949,12 +12739,9 @@ msgstr[1] "kísérleti alany kezeslábas" #: lang/json/ARMOR_from_json.py msgid "" "A thin, short-sleeved and short-legged one-piece suit. Judging by the odd " -"tailoring and adjustment points... maybe you don't want to know who wore " -"it. Provides nominal storage and is not very encumbering." +"tailoring and adjustment points… maybe you don't want to know who wore it. " +"Provides nominal storage and is not very encumbering." msgstr "" -"Vékony rövidujjú és rövidnadrágos kezeslábas. A furcsa szabászat és a " -"hozzáférési pontok arra utalnak, hogy... á, inkább jobb, ha nem tudod kin " -"volt korábban. Közepes a tárolóképessége és nem túl ormótlan." #: lang/json/ARMOR_from_json.py msgid "suit" @@ -12035,6 +12822,7 @@ msgstr[1] "túlélő öv" #. ~ Use action holster_prompt for survivor utility belt. #. ~ Use action holster_prompt for hiking backpack. #. ~ Use action holster_prompt for C.R.I.T web belt. +#. ~ Use action holster_prompt for technomancer's toolbelt. #: lang/json/ARMOR_from_json.py msgid "Sheath blade" msgstr "Penge hüvelybe rakása" @@ -12439,17 +13227,6 @@ msgstr "" "a kalapra, valamint víz ellen is beolajozták. A tizennyolcadik századtól " "kezdve az apokalipszis utáni években is divatos viselet." -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming trunks" -msgid_plural "pairs of swimming trunks" -msgstr[0] "fürdőnadrág" -msgstr[1] "fürdőnadrág" - -#. ~ Description for pair of swimming trunks -#: lang/json/ARMOR_from_json.py -msgid "A pair of swimming trunks, with netting." -msgstr "Hálós fürdőnadrág." - #: lang/json/ARMOR_from_json.py msgid "t-shirt" msgid_plural "t-shirts" @@ -12720,58 +13497,6 @@ msgstr "" "Egy elegáns mellény, azokra az alkalmakra, amikor ingujjban megjelenni túl " "lezserül hatna, az öltöny pedig túl komoly lenne." -#: lang/json/ARMOR_from_json.py -msgid "wetsuit" -msgid_plural "wetsuits" -msgstr[0] "neoprén ruha" -msgstr[1] "neoprén ruha" - -#. ~ Description for wetsuit -#: lang/json/ARMOR_from_json.py -msgid "A full-body neoprene wetsuit." -msgstr "Egész testet befedő neoprén búvárruha." - -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming gloves" -msgid_plural "pairs of swimming gloves" -msgstr[0] "úszókesztyű" -msgstr[1] "úszókesztyű" - -#. ~ Description for pair of swimming gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of very flexible neoprene-silicone rubber gloves, suitable for " -"underwater use." -msgstr "Egy pár neoprén-szilikongumi kesztyű vízalatti használatra." - -#: lang/json/ARMOR_from_json.py -msgid "wetsuit hood" -msgid_plural "wetsuit hoods" -msgstr[0] "neoprén csuklya" -msgstr[1] "neoprén csuklya" - -#. ~ Description for wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "A neoprene hood, commonly worn by divers." -msgstr "Főleg búvárok hordják ezt a neoprén csuklyát." - -#: lang/json/ARMOR_from_json.py -msgid "spring suit" -msgid_plural "spring suits" -msgstr[0] "neoprén fürdőruha" -msgstr[1] "neoprén fürdőruha" - -#. ~ Description for spring suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A long-sleeved spring wetsuit with pink color details and cleavage-" -"enhancing, hip-accentuating construction. Not as protective as a full-body " -"suit, but also less restrictive." -msgstr "" -"Hosszú ujjú, rövidnadrágos neoprén fürdőruha, pink virágokkal és dekoltázst " -"dobó kivágással. Nem véd annyira, mint az egész testet befedő búvárruha, de " -"nem is annyira nehéz vele a mozgás." - #: lang/json/ARMOR_from_json.py msgid "pair of army winter gloves" msgid_plural "pairs of army winter gloves" @@ -13129,6 +13854,35 @@ msgstr "" "Több fűzőkarikával ellátott műanyag ponyva, rögtönzött eső elleni védelemre " "jól használható." +#: lang/json/ARMOR_from_json.py +msgid "unitard" +msgid_plural "unitards" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for unitard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment resembling a crew necked leotard combined with " +"leggings. Commonly used by gymnasts, dancers and equestrian vaulters, the " +"unitard provides overall coverage with great flexibility." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "zentai" +msgid_plural "zentais" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for zentai +#: lang/json/ARMOR_from_json.py +msgid "" +"Short for 'zenshin taitsu', a zentai is a form fitting full body nylon and " +"spandex garment. Though it covers your face, you can see through the " +"integrated hood. With a couple of these and some friends and you could put " +"on some kabuki." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of bone arm guards" msgid_plural "pairs of bone arm guards" @@ -15676,14 +16430,16 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "doctor badge" msgid_plural "doctor badges" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "orvos jelvény" +msgstr[1] "orvos jelvény" #. ~ Description for doctor badge #: lang/json/ARMOR_from_json.py msgid "" "A plastic name tag marking the wearer as a real doctor of the medical kind." msgstr "" +"Egy műanyag névtábla, amely szerint a viselője igazi doktor, az orvosi " +"fajtából." #: lang/json/ARMOR_from_json.py msgid "Foodkid badge" @@ -16011,6 +16767,159 @@ msgstr "" "DoubleTech gyártmányú szervópáncélnál, irányításához és a klímarendszer " "üzemeltetéséhez közvetlen bőrkontaktus szükséges." +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming trunks" +msgid_plural "pairs of swimming trunks" +msgstr[0] "fürdőnadrág" +msgstr[1] "fürdőnadrág" + +#. ~ Description for pair of swimming trunks +#: lang/json/ARMOR_from_json.py +msgid "A pair of swimming trunks, with netting." +msgstr "Hálós fürdőnadrág." + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit" +msgid_plural "wetsuits" +msgstr[0] "neoprén ruha" +msgstr[1] "neoprén ruha" + +#. ~ Description for wetsuit +#: lang/json/ARMOR_from_json.py +msgid "A full-body neoprene wetsuit." +msgstr "Egész testet befedő neoprén búvárruha." + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit hood" +msgid_plural "wetsuit hoods" +msgstr[0] "neoprén csuklya" +msgstr[1] "neoprén csuklya" + +#. ~ Description for wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "A neoprene hood, commonly worn by divers." +msgstr "Főleg búvárok hordják ezt a neoprén csuklyát." + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit hood" +msgid_plural "survivor wetsuit hoods" +msgstr[0] "túlélő búvárkapucni" +msgstr[1] "túlélő búvárkapucni" + +#. ~ Description for survivor wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "" +"A customized armored neoprene and Kevlar hood, very strong and durable." +msgstr "" +"Egyedi szabású kevlarral páncélozott, neoprénbetétes kapucni, nagyon erős és" +" tartós." + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit" +msgid_plural "survivor wetsuits" +msgstr[0] "túlélő búvárruha" +msgstr[1] "túlélő búvárruha" + +#. ~ Description for survivor wetsuit +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, hand-built combination armor made from a cut-down bulletproof" +" vest and a reinforced neoprene wetsuit. Protects from the elements as well" +" as from harm." +msgstr "" +"Ezt a könnyűsúlyú, kézi barkácsolású páncélzatot egy szétvagdosott golyóálló" +" mellényből és egy megerősített neoprén búvárruhából fabrikálták. Védelmet " +"nyújt az elemek és sebesülések ellen." + +#: lang/json/ARMOR_from_json.py +msgid "pair of survivor wetsuit gloves" +msgid_plural "pairs of survivor wetsuit gloves" +msgstr[0] "túlélő búvárkesztyű" +msgstr[1] "túlélő búvárkesztyű" + +#. ~ Description for pair of survivor wetsuit gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" +" wear while providing maximum protection under extreme conditions." +msgstr "" +"Ezt a pár egyedi szabású, kevlarral páncélozott neoprén kesztyűt könnyű " +"viselésre alakították ki, ugyanakkor maximális védelmet nyújt akár extrém " +"körülmények között is." + +#: lang/json/ARMOR_from_json.py +msgid "spring suit" +msgid_plural "spring suits" +msgstr[0] "neoprén fürdőruha" +msgstr[1] "neoprén fürdőruha" + +#. ~ Description for spring suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A long-sleeved spring wetsuit with pink color details and cleavage-" +"enhancing, hip-accentuating construction. Not as protective as a full-body " +"suit, but also less restrictive." +msgstr "" +"Hosszú ujjú, rövidnadrágos neoprén fürdőruha, pink virágokkal és dekoltázst " +"dobó kivágással. Nem véd annyira, mint az egész testet befedő búvárruha, de " +"nem is annyira nehéz vele a mozgás." + +#: lang/json/ARMOR_from_json.py +msgid "faraday shark suit" +msgid_plural "faraday shark suits" +msgstr[0] "faraday cápavédelmi ruha" +msgstr[1] "faraday cápavédelmi ruha" + +#. ~ Description for faraday shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It has been conductively interconnected, protecting against " +"electricity." +msgstr "" +"Egy darabból álló sodrony ruha, amelyet cápaharapás ellen búvárok szoktak " +"felvenni. Faraday-kalicka jellegét az adja, hogy a fémalkatrészeket egyetlen" +" egy vezetővé kapcsolták össze, így megvéd az áramütés ellen." + +#: lang/json/ARMOR_from_json.py +msgid "shark suit" +msgid_plural "shark suits" +msgstr[0] "cápavédelmi ruha" +msgstr[1] "cápavédelmi ruha" + +#. ~ Description for shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It comes with attached plastic helmet and booties." +msgstr "" +"Egy darabból álló sodrony ruha, amelyet cápaharapás ellen búvárok szoktak " +"felvenni. Saját műanyag sisakkal és csizmával is rendelkezik." + +#: lang/json/ARMOR_from_json.py +msgid "pair of swim goggles" +msgid_plural "pairs of swim goggles" +msgstr[0] "úszószemüveg" +msgstr[1] "úszószemüveg" + +#. ~ Description for pair of swim goggles +#: lang/json/ARMOR_from_json.py +msgid "A small pair of goggles made for swimming." +msgstr "Úszáshoz készített apró szemüveg." + +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming gloves" +msgid_plural "pairs of swimming gloves" +msgstr[0] "úszókesztyű" +msgstr[1] "úszókesztyű" + +#. ~ Description for pair of swimming gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of very flexible neoprene-silicone rubber gloves, suitable for " +"underwater use." +msgstr "Egy pár neoprén-szilikongumi kesztyű vízalatti használatra." + #: lang/json/ARMOR_from_json.py msgid "helmet netting" msgid_plural "helmet nettings" @@ -16627,6 +17536,54 @@ msgid_plural "shotgun bandoliers" msgstr[0] "sörétes lövedék heveder" msgstr[1] "sörétes lövedék heveder" +#: lang/json/ARMOR_from_json.py +msgid "technomancer's toolbelt" +msgid_plural "technomancer's toolbelts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for technomancer's toolbelt +#: lang/json/ARMOR_from_json.py +msgid "" +"A custom-built leather utility belt that instantly creates any tool that you" +" reach for. Activate to sheathe/draw a weapon." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "seven league boots" +msgid_plural "pairs of seven league boots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for seven league boots +#. ~ Description for boots of haste +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, they look like they've seen a lot of use and will likely see a lot " +"more. They make your movement a lot less work." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "boots of haste" +msgid_plural "pairs of boots of haste" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/ARMOR_from_json.py +msgid "boots of grounding" +msgid_plural "pairs of boots of grounding" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for boots of grounding +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of leather with " +"small engraved runes seemingly filled with rubber. When worn, you are " +"immune to damage from electricity." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "copper infusion bracelet" msgid_plural "copper infusion bracelets" @@ -16649,7 +17606,7 @@ msgstr[1] "" #. ~ Description for copper circlet #: lang/json/ARMOR_from_json.py msgid "" -"A wooden band with copper trimmings to be worn on the head. Touching your " +"A wooden band with copper trimmings to be worn on the head. Touching your " "temples with it on makes you feel very calm." msgstr "" @@ -17056,6 +18013,8 @@ msgid "" " the user to trigger their body's adrenaline response at the cost of some " "bionic power." msgstr "" +"A mellékvesevelő mellé beszerelt stimulátoroknak köszönhetően a felhaszáló " +"némi bionikus energia árán adhatsz magának egy adrenalin-löketet." #: lang/json/BIONIC_ITEM_from_json.py msgid "Active Defense System CBM" @@ -17071,6 +18030,11 @@ msgid "" "cost of energy, reducing their ability to deal damage. Bullets will be " "deflected more than swords and those in turn more than massive objects." msgstr "" +"Ez a bionika egy vékony erőtérrel veszi körül a felhasználó testét, " +"fenntartásához folyamatosan kell energia. Mindennek, ami áthatolna az " +"erőteren, esélye van arra, hogy energia felhasználása árán eltérüljön. A " +"lövedékeket gyakrabban lehet eltéríteni, mint a kardot, és a masszív " +"tárgyakat még kevésbé." #: lang/json/BIONIC_ITEM_from_json.py msgid "Alarm System CBM" @@ -17085,6 +18049,10 @@ msgid "" "fifteen-foot radius, and will silently alert the user. This is very useful " "during sleep, or if the user suspects a cloaked pursuer." msgstr "" +"A mozgásérzékelő riasztórendszer egy ötméteres sugarú körön belül szinte " +"mindenféle mozgást érzékel, és csendesen értesíti a felhasználót. Ez nagyon " +"praktikus tud lenni alvás közben, vagy ha a felhasználó egy láthatatlan " +"üldözőre gyanakszik." #: lang/json/BIONIC_ITEM_from_json.py msgid "Arms Alloy Plating CBM" @@ -17098,6 +18066,9 @@ msgid "" "Alloy plating that replaces the flesh on the user's arms. Provides passive " "protection and can be used in conjunction with bionic martial arts." msgstr "" +"A felhasználó karjain a húst egy kemény ötvözetből készült páncél váltotta " +"fel, ezzel jelentősen megnövelve a passzív védelmet. Bionikus " +"harcművészettel együtt is használható." #: lang/json/BIONIC_ITEM_from_json.py msgid "Protective Lenses CBM" @@ -17112,6 +18083,9 @@ msgid "" "mirrored lenses and re-routes their tear ducts to their mouth. When the " "user cries, they must spit out or swallow their tears." msgstr "" +"A felhasználó szemüregeit magas fokú védelmet biztosító tükörlencsékkel " +"bélelték ki, a könnycsatornákat ezért le kellett vezetni a szájba. Amikor a " +"felhasználó sír, akkor a könnyeit ki kell köpni, vagy le kell nyelni." #: lang/json/BIONIC_ITEM_from_json.py msgid "Head Alloy Plating CBM" @@ -17125,6 +18099,8 @@ msgid "" "Alloy plating that replaces the flesh on the user's head, protecting both " "their head and jaw regions." msgstr "" +"A felhasználó fején a húst egy kemény ötvözetből készült páncél váltotta " +"fel, ezzel jelentősen megnövelve fej és az állkapocs védelmét." #: lang/json/BIONIC_ITEM_from_json.py msgid "Legs Alloy Plating CBM" @@ -17138,6 +18114,9 @@ msgid "" "Alloy plating that replaces the flesh on the user's legs. Provides passive " "protection and can be used in conjunction with bionic martial arts." msgstr "" +"A felhasználó lábain a húst egy kemény ötvözetből készült páncél váltotta " +"fel, ezzel jelentősen megnövelve a passzív védelmet. Bionikus " +"harcművészettel együtt is használható." #: lang/json/BIONIC_ITEM_from_json.py msgid "Torso Alloy Plating CBM" @@ -17151,6 +18130,8 @@ msgid "" "Alloy plating that replaces the flesh on the user's torso, protecting it " "from physical trauma." msgstr "" +"A felhasználó törzsén a húst egy kemény ötvözetből készült páncél váltotta " +"fel, amely így védetté vált a fizikai behatásokkal szemben." #: lang/json/BIONIC_ITEM_from_json.py msgid "Battery System CBM" @@ -17164,6 +18145,8 @@ msgid "" "A battery draining attachment to make use of the energy contained in normal," " everyday batteries." msgstr "" +"A felhasználónál ceruzaelem méretű, mindennapi elemeket befogadó csatlakozás" +" kerül kiépítésre, így energiaforrásként azokat is fel lehet használni." #: lang/json/BIONIC_ITEM_from_json.py msgid "Monomolecular Blade CBM" @@ -17179,12 +18162,16 @@ msgid "" "at the cost of a small amount of power. Though exceptionally sharp, it will" " prevent the user from holding anything else while extended." msgstr "" +"A felhasználó alkarjának belsejébe egy halálos, 30 centis penge került " +"beépítésre, amelyet a csukló hátán keresztül lehet kiugrasztani némi " +"energiáért cserébe. Bár az egyetlen molekula vastagságú penge elképesztően " +"éles, a felhasználó addig semmit sem tud kézbe venni, amíg a penge kint van." #: lang/json/BIONIC_ITEM_from_json.py msgid "Shotgun Arm CBM" msgid_plural "Shotgun Arm CBMs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Sörétes kar KBM" +msgstr[1] "Sörétes kar KBM" #. ~ Description for Shotgun Arm CBM #: lang/json/BIONIC_ITEM_from_json.py @@ -17192,6 +18179,8 @@ msgid "" "A concealed, single shot 12 gauge shotgun that is implanted inside the left " "forearm. Perfect in a pinch." msgstr "" +"A bal alkarba egy 12 ga-s, egyövéses, rejtett sörétes puska kerül " +"beépítésre. Vészhelyzetben megteszi." #: lang/json/BIONIC_ITEM_from_json.py msgid "Blood Analysis CBM" @@ -17206,6 +18195,8 @@ msgid "" "analyze their blood. This will detect many illnesses, drugs, and other " "conditions." msgstr "" +"A felhasználó szívébe apró vérelemző szenzorokat ültettek be, amelyek " +"képesek számos betegség, kábítószer és egyéb hatás kimutatására." #: lang/json/BIONIC_ITEM_from_json.py msgid "Blood Filter CBM" @@ -17221,6 +18212,11 @@ msgid "" "Note that it is not a targeted filter; ALL drugs in the system will be " "affected." msgstr "" +"A felhasználó szívébe ültetett szűrőrendszernek köszönhetően aktív módon " +"szűrhetők ki a vérbe került idegen anyagok, nagyrészt a kábítószerek. A " +"vírusok ellen korlátozott a hatékonysága. A szűrővel nem lehet kiválasztani," +" hogy a felhasználó mit szeretne kiszűrni - a testbe került összes " +"gyógyszerre és kábítószerre ugyanolyan hatással van." #: lang/json/BIONIC_ITEM_from_json.py msgid "Cable Charger System CBM" @@ -17234,6 +18230,8 @@ msgid "" "A complex port that is mounted above the hip. While active, it will " "recharge bionic power when connected to a battery via jumper cable." msgstr "" +"A felhasználó csípője felett egy összetett kábeles port található. Aktív " +"állapotában akkumulátoros töltőkábelen keresztül ad át energiát." #: lang/json/BIONIC_ITEM_from_json.py msgid "Subdermal Carbon Filament CBM" @@ -17247,6 +18245,9 @@ msgid "" "A thin armor made of carbon nanotubes, implanted just beneath the skin. " "This reduces bashing damage by 2 and cutting damage by 4." msgstr "" +"A felhasználó bőrének felszíne alá egy vékony, szénszálas nanocsövecskékből " +"álló páncélzat került beépítésre. A zúzó sebesüléseket 2-vel, a vágó " +"sebesüléseket 4-gyel csökkenti." #: lang/json/BIONIC_ITEM_from_json.py msgid "Chain Lightning CBM" @@ -17261,6 +18262,9 @@ msgid "" "leaving a trail of lightning in its wake and jumping to additional targets " "within 4 tiles of the previous target." msgstr "" +"A felhasználó testét felszerelték egy láncvillám generátorral, amely " +"villámot szór egy célra, nyomában villámlással, és a villám 4 kockán belül " +"további célokra ugrik át." #: lang/json/BIONIC_ITEM_from_json.py msgid "Bionic Claws CBM" @@ -17275,6 +18279,10 @@ msgid "" "These do considerable cutting damage, but prevent the user from holding " "anything else while extended." msgstr "" +"A felhasználó ujjaiba vérszomjas karmok kerültek beszerelésre, amelyeket " +"némi energiahasználat árán lehet kiugrasztani és visszahúzni. A karmokkal " +"jelentős vágott sebeket lehet ejteni, de amíg kint vannak, addig a " +"felhasználó semmit sem tud kézbe venni." #: lang/json/BIONIC_ITEM_from_json.py msgid "Internal Climate Control CBM" @@ -17288,6 +18296,9 @@ msgid "" "A network of thermal piping which eases the effects of high and low ambient " "temperatures once activated." msgstr "" +"A felhasználó egész testébe beépítésre került egy hőcserélő rendszer " +"csövezése, amely segít ellensúlyozni a túl magas vagy a túl alacsony külső " +"hőmérsékletek hatását." #: lang/json/BIONIC_ITEM_from_json.py msgid "Cloaking System CBM" @@ -17300,9 +18311,14 @@ msgstr[1] "Lopakodó rendszer KBM" msgid "" "This high-power system uses a set of cameras and LEDs to make the user blend" " into their surroundings, rendering them fully invisible to eyes and optical" -" sensors. However, this does't prevent detection from other means such as " +" sensors. However, this doesn't prevent detection from other means such as " "infrared, sonar, etc." msgstr "" +"Ez a jelentős energiahasználatot igényelő rendszer számos apró kamera és LED" +" használatával segít beolvadni a háttérbe, a hagyományos látási tartomány " +"számára a felhasználó láthatatlanná teszi. Az elektromágneses spektrum " +"látáson kívüli tartományaiban, így infravörös, szonár, stb. számára azonban " +"a felhasználó továbbra is látható marad." #: lang/json/BIONIC_ITEM_from_json.py msgid "Close Quarters Battle CBM" @@ -17318,6 +18334,9 @@ msgid "" "hand combat skills, but prevents them from improving them through combat " "experience." msgstr "" +"Harcművészeti programokkal feltöltött bionikus processzorokat és " +"adatbankokat integráltak a felhasználó idegrendszeréhez. Aktív állapotnál a " +"közelharci modul feljavítja a közelharci képességeket." #: lang/json/BIONIC_ITEM_from_json.py msgid "Wired Reflexes CBM" @@ -17331,6 +18350,8 @@ msgid "" "Bionic nerve stimulators that greatly enhance reaction times, granting a +2 " "bonus to dexterity." msgstr "" +"Bionikus idegrendszeri stimulátorok alkalmazásával a felhasználó " +"reakcióideje jelentősen javult, +2 ügyesség." #: lang/json/BIONIC_ITEM_from_json.py msgid "Expanded Digestive System CBM" @@ -17346,6 +18367,10 @@ msgid "" "also increase the user's resistance to foodborne illness, and occasionally " "allow the digestion of rotten food." msgstr "" +"A felhasználóba három szintetikus gyomor és vegyipari kaliberű bélrendszer " +"került beépítésre. Az ételből ezután a felhasználó nem csak sokkal több " +"tápanyagot képes kivonni, de jelentősen megnőtt az ételmérgezéssel szembeni " +"ellenállása is, valamint néha rohadt ételt is meg tud enni." #: lang/json/BIONIC_ITEM_from_json.py msgid "Enhanced Hearing CBM" @@ -17361,6 +18386,9 @@ msgid "" "Additionally, high-intensity sounds will be automatically dampened before " "they can damage their hearing." msgstr "" +"Amikor ez a bionika aktív, akkor a felhasználó hallása drámai mértékben " +"javul, az átlagembernél tízszer jobb lesz. A túl erős hangokat továbbá a " +"rendszer még azelőtt lefojtja, hogy azok sérüléseket okoznának." #: lang/json/BIONIC_ITEM_from_json.py msgid "Directional EMP CBM" @@ -17375,6 +18403,9 @@ msgid "" "user's right hand. These can be be used to instantly fire a wide, but " "short-ranged blast which will disable electronics and robots." msgstr "" +"A felhasználó tenyereibe apró elektromágneses pulzust leadó parabola-" +"antennák kerültek beépítésre. Energia felhasználásával rövid hatótávolságú " +"EMP leadásával az elektromos berendezések és a robotok megbéníthatók." #: lang/json/BIONIC_ITEM_from_json.py msgid "EMP Projector CBM" @@ -17390,6 +18421,10 @@ msgid "" "aim. Extremely effective against electronic targets but mostly useless " "otherwise." msgstr "" +"A felhasználó jobb kezébe és karjába elektromágneses pulzus vető került " +"beépítésre. A szuperkoncentrált pulzusokat rövid hatótávolságra lehet " +"kilőni. Elektromos célpontok leküzdésére rendkívül hatékony, egyébként " +"szinte haszontalan." #: lang/json/BIONIC_ITEM_from_json.py msgid "Ethanol Burner CBM" @@ -17400,10 +18435,13 @@ msgstr[1] "Etanolkazán KBM" #. ~ Description for Ethanol Burner CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A reactor that burns alcohol as fuel in an extremely efficient reaction. " -"However, the user will still suffer the inebriating effects of the " -"substance." +"A reactor that burns alcohol as fuel in an extremely efficient reaction. It" +" can store up to 500ml and accept ethanol, methanol and denatured aclohol as" +" fuel." msgstr "" +"Egy rendkívül magas hatásfokú reakcióval alkoholt égető kazán. 500 ml " +"folyadék befogadására képes, tüzelőanyagként használható az etanol, a " +"metanol illetve a denaturált szesz." #: lang/json/BIONIC_ITEM_from_json.py msgid "Aero-Evaporator CBM" @@ -17412,8 +18450,7 @@ msgstr[0] "Aero-evaporátor KBM" msgstr[1] "Aero-evaporátor KBM" #. ~ Description for Aero-Evaporator CBM -#. ~ Description for Aero-Evaporator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "This unit draws moisture from the surrounding air, which then is poured from" " a fingertip in the form of water. It may fail in very dry environments." @@ -17434,6 +18471,8 @@ msgid "" "A set of diamond corneas which greatly enhance the user's vision, granting a" " +2 bonus to perception." msgstr "" +"A felhasználó látása rendkívüli mértékben javult, +2 bónuszt kap az " +"érzékelésre." #: lang/json/BIONIC_ITEM_from_json.py msgid "Telescopic Eyes CBM" @@ -17448,6 +18487,10 @@ msgid "" "material in the inner eye. This fixes any vision problems and allows for an" " increased vision range akin to binoculars." msgstr "" +"A felhasználó szemében a belső részek nagy részét eltávolították, helyettük " +"egy sor nagy felbontású, autófókuszáló lencse került beépítésre. A " +"felhasználó messzebbre és tisztábban lát, mintha távcsöve lenne. A korábbi " +"eseteges látási nehézségek megszűntek." #: lang/json/BIONIC_ITEM_from_json.py msgid "Facial Distortion CBM" @@ -17459,9 +18502,13 @@ msgstr[1] "Arctorzítás KBM" #: lang/json/BIONIC_ITEM_from_json.py msgid "" "Through controlled application of electrochemical impulses, this bionic " -"mudule lets the user alter their facial structure so as to subtly affect the" +"module lets the user alter their facial structure so as to subtly affect the" " reactions of others. This grants a bonus to all social interactions." msgstr "" +"Az elektrokémiai impulzusok finom modulálásával a felhasználó képes az " +"arcberendezkedése hajszálnyi megváltoztatására. A többiek ebből semmit sem " +"vesznek tudatosan észre, de a felhasználó bónuszt kap minden társas " +"érintkezés során." #: lang/json/BIONIC_ITEM_from_json.py msgid "Dielectric Capacitance System CBM" @@ -17475,6 +18522,9 @@ msgid "" "A network of miniature piezoelectric capacitors, implanted throughout the " "body to protect from external electrical discharge." msgstr "" +"A felhasználó egész testébe beépítésre került egy miniatürizált piezo-" +"elektromos kondenzátor-rendszer, amely bionikus energiával feltöltve rövid " +"ideig véd egy külső elektromos kisülés hatásaitól." #: lang/json/BIONIC_ITEM_from_json.py msgid "Fingerhack CBM" @@ -17485,11 +18535,15 @@ msgstr[1] "Hekkerujj KBM" #. ~ Description for Fingerhack CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A miniature electrohack, surgically embedded in a finger of the right hand. " -"This is an all-purpose hacking unit used to override control panels and the " -"like, but not computers. Computer proficiency is important, and a failed " -"use may cause damage." +"A miniature electrohack, surgically embedded in a finger of the right hand." +" This is an all-purpose hacking unit used to override control panels and " +"the like, but not computers. Computer proficiency is important, and a " +"failed use may cause damage." msgstr "" +"A felhasználó egyik ujjbegyébe műtéti úton egy eletrohekker modul került " +"beépítésre. Számítógépek kivételével minden vezérlőpanelt fel lehet törni. " +"Az informatikai képesség azonban továbbra is számít, és kudarc esetén a " +"felhasználó akár meg is sebesülhet." #: lang/json/BIONIC_ITEM_from_json.py msgid "Flashbang Generator CBM" @@ -17503,6 +18557,9 @@ msgid "" "A combination of LEDs and speakers that create a flash and sound comparable " "to a flashbang grenade, deafening and blinding nearby enemies." msgstr "" +"A felhasználó a bőrébe integrált LED-ek segítségével egy villanógránáthoz " +"hasonló villanást tud generálni, amely megvakítja és megsüketíti az összes " +"közeli ellenséget." #: lang/json/BIONIC_ITEM_from_json.py msgid "Cranial Flashlight CBM" @@ -17514,12 +18571,14 @@ msgstr[1] "Koponyalámpa KBM" #: lang/json/BIONIC_ITEM_from_json.py msgid "A small, but powerful LED flashlight that is mounted between the eyes." msgstr "" +"A felhasználó két szeme közé beszerelésre került egy apró, de nagyon erős " +"LED." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "LED Tattoo" msgid_plural "LED Tattoos" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "LED tetoválás" +msgstr[1] "LED tetoválás" #. ~ Description for LED Tattoo #: lang/json/BIONIC_ITEM_from_json.py @@ -17528,6 +18587,9 @@ msgid "" "pictures through the skin. When active it glows dimly, providing a very " "small amount of light." msgstr "" +"A felhasználó hámrétegébe egy LED kijelző került beépítésre. amely a bőrön " +"át világítva mintákat és képeket tud megjeleníteni. Aktív állapotban gyengén" +" világít, nagyon kevés fényt ad." #: lang/json/BIONIC_ITEM_from_json.py msgid "Integrated Dosimeter CBM" @@ -17542,12 +18604,15 @@ msgid "" " user to analyze their level of absorbed radiation. They will also alert " "the user whenever exposed to environmental radiation." msgstr "" +"A felhasználó testébe számos helyen implantálásra kerültek kisebb sugárzás " +"mérő eszközök, amelyek segítségével elemezni lehet az elnyelt sugárterhelés " +"mértékét. Környezeti sugárterhelés esetén a felhasználót azonnal riasztja." #: lang/json/BIONIC_ITEM_from_json.py msgid "Respirator CBM" msgid_plural "Respirator CBMs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Respirátor KBM" +msgstr[1] "Respirátor KBM" #. ~ Description for Respirator CBM #: lang/json/BIONIC_ITEM_from_json.py @@ -17556,6 +18621,9 @@ msgid "" "oxygen uptake and allows for underwater breathing akin to gills. Will " "automatically activate if the user is drowning." msgstr "" +"Ez az összetett légzéssegítő augmentációs rendszer növeli a felhasználó " +"maximális oxigénbevitelét, és víz alatt a kopoltyúhoz hasonlóan engedi a " +"légzést. Automatikusan bekapcsolódik, ha a felhasználó fuldokol." #: lang/json/BIONIC_ITEM_from_json.py msgid "Terranian Sonar CBM" @@ -17569,6 +18637,8 @@ msgid "" "Precision sonar equipment, implanted in the feet to allow the detection of " "below-ground movement, buried traps, and unstable terrain." msgstr "" +"A lábfejekbe szerelt precíziós szonárberendezéssel a felhasználó képes a " +"föld alatt mozgás, a rejtett aknák és az instabil talaj érzékelésére." #: lang/json/BIONIC_ITEM_from_json.py msgid "Heat Drain CBM" @@ -17583,6 +18653,10 @@ msgid "" "that a successful hit will drain body heat, inflicting a small amount of " "extra damage, and recharging the user's bionic power reserves slightly." msgstr "" +"Amikor a felhasználó puszta kézzel harcol egy melegvérű ellenséggel, akkor " +"minden sikeresen bevitt ütésnél van arra esély, hogy az ellenség " +"testhőmérsékletét leszívva a felhasználó némi sebzést okozzon, és apró " +"mértékben növelje a bionikus energiatartalékait." #: lang/json/BIONIC_ITEM_from_json.py msgid "Thermal Dissipation CBM" @@ -17598,6 +18672,10 @@ msgid "" "degrees Fahrenheit. Note that this does not affect the internal body " "temperature." msgstr "" +"Magas hatékonyságú hőleadó lamellák és szupraanyagok szövevényes rendszere " +"került a felhasználó húsába. Bekapcsolt állapotában a hőleadó rendszer 1000 " +"C fokig megakadályozza a hőtől származó sebesülést. A hőleadás azonban nem " +"vonatkozik a testhőmérsékletre." #: lang/json/BIONIC_ITEM_from_json.py msgid "Hydraulic Muscles CBM" @@ -17611,6 +18689,8 @@ msgid "" "A hydraulic muscle support system that when active, increases strength by " "20." msgstr "" +"Aktív állapotban ez a hidraulikus izomtámogató rendszer az erőt 20-szal " +"növeli." #: lang/json/BIONIC_ITEM_from_json.py msgid "Infrared Vision CBM" @@ -17624,6 +18704,8 @@ msgid "" "A bionic module that extends the range of vision into the infrared, allowing" " the user to see warm-blooded creatures in the dark and through smoke." msgstr "" +"A felhasználó látóképessége kiterjed az infravörös tartományra is, a " +"melegvérű lényeket a sötétben és a füstben is látni." #: lang/json/BIONIC_ITEM_from_json.py msgid "Cerebral Booster CBM" @@ -17637,6 +18719,7 @@ msgid "" "Bionic coprocessors that are implanted in the brain, granting a +2 bonus to " "intelligence." msgstr "" +"Az agyba bionikus ko-processzorok kerültek beépítésre, +2 intelligencia." #: lang/json/BIONIC_ITEM_from_json.py msgid "Finger-Mounted Laser CBM" @@ -17651,6 +18734,9 @@ msgid "" "range weapon is not incredibly damaging, but is very accurate, and has the " "potential to start fires." msgstr "" +"A felhasználó egyik ujjának begyébe egy erős lézer került beszerelésre. Ez a" +" hosszú hatótávolságú fegyver nem okoz magas sebzést, viszont nagyon pontos " +"és tűzgyújtásra is alkalmas." #: lang/json/BIONIC_ITEM_from_json.py msgid "Leukocyte Breeder System CBM" @@ -17666,6 +18752,10 @@ msgid "" "designed for continuous use and may cause unpleasant side effects when " "turned off." msgstr "" +"A felhasználó vérképző rendszeredét augmentáló bionikus stimulátoroknak " +"köszönhetően némi energiával felgyorsítható a fehérvérsejt-képződés. " +"Folyamatos üzemelésre tervezték, ezért kikapcsolása kellemetlen " +"mellékhatásokkal járhat." #: lang/json/BIONIC_ITEM_from_json.py msgid "Mini-Flamethrower CBM" @@ -17679,6 +18769,8 @@ msgid "" "Powerful fire starters which extend from the tip of both hands' index " "fingers." msgstr "" +"A felhasználó mindkét mutatóujjának hegyéből erőteljes tűzgyújtó berendezés " +"tud előugrani." #: lang/json/BIONIC_ITEM_from_json.py msgid "Fingerpick CBM" @@ -17693,6 +18785,10 @@ msgid "" "system will quickly unlock all but the most advanced key locks without any " "skill required on the part of the user." msgstr "" +"A felhasználó egyik ujjába elektronikus tolvajkulcs rendszer került " +"integrálásra. Ez az automata rendszer a legkomplikáltabb zárak kivételével " +"szinte az összes zárat azonnal, a felhasználó bármiféle hozzáértése nélkül " +"kinyitja." #: lang/json/BIONIC_ITEM_from_json.py msgid "Electromagnetic Unit CBM" @@ -17707,6 +18803,10 @@ msgid "" "allowing them to indiscriminately pull all nearby magnetic objects towards " "them. Unlucky bystanders might be injured or killed by flying objects." msgstr "" +"A felhasználó jobb kezébe egy erőteljes elektromágnes került beépítésre, " +"segítségével az összes közelében található fémtárgyat közel tudja húzni " +"magához. A peches közelben állókat ezek a repülő tárgyak megsebezheti vagy " +"meg is ölhetik." #: lang/json/BIONIC_ITEM_from_json.py msgid "Nictating Membrane CBM" @@ -17720,6 +18820,8 @@ msgid "" "A thin membrane that closes over the eyes while underwater, negating any " "vision penalties." msgstr "" +"A felhasználó szemeire egy vékony membrán került, amely víz alá merülve a " +"szemek elé csusszan, és így semlegesíti a víz alatti látáscsökkenést." #: lang/json/BIONIC_ITEM_from_json.py msgid "Enhanced Memory Banks CBM" @@ -17734,6 +18836,10 @@ msgid "" "While active, they increase the rate that the user learns skills, and give " "them near-perfect memory of skills and terrain." msgstr "" +"Csúcstechnológiájú kvantumtároló meghajtók egyvelege, amelyek segítségével a" +" felhasználó memóriát lehet feljavítani. Aktív állapotban növeli a készségek" +" elsajátítási sebességét, valamint szinte tökéletes lesz a felhasználó " +"memóriája és a tereptárgyak megjegyzése." #: lang/json/BIONIC_ITEM_from_json.py msgid "Metabolic Interchange CBM" @@ -17747,6 +18853,8 @@ msgid "" "This module interconnects the user's digestive system and power supply, " "letting them replenish bionic energy by burning calories." msgstr "" +"Ez a modul összeköti a felhasználó emésztő- és elektronikus rendszerét, így " +"a bionikus energiát kalória égetésével lehet pótolni." #: lang/json/BIONIC_ITEM_from_json.py msgid "Weather Reader CBM" @@ -17761,6 +18869,9 @@ msgid "" "data. The data is compiled and presented as a simple readout of the current" " weather. It also passively tells the user their external temperature." msgstr "" +"Környezeti adatgyűjtésre alkalmas tudományos műszerek és érzékelők " +"rendszere. Az adatok kigyűjtése és összegzése után a jelenlegi időjárás " +"kiolvasható. Passzív módon kijelzi a külső hőmérsékletet is." #: lang/json/BIONIC_ITEM_from_json.py msgid "Repair Nanobots CBM" @@ -17774,6 +18885,9 @@ msgid "" "A fleet of tiny dormant robots. While activated they will flit about the " "user's body, repairing damage and stopping bleeding at the cost of power." msgstr "" +"A felhasználó testébe behelyezésre került egy hadseregnyi apró robot. " +"Aktiváláskor az szerteszaladnak a testen belül, begyógyítják a sérüléseket " +"és energiafelhasználással elállítják a vérzést." #: lang/json/BIONIC_ITEM_from_json.py msgid "Artificial Night Generator CBM" @@ -17782,12 +18896,13 @@ msgstr[0] "Sétáló fekete lyuk KBM" msgstr[1] "Sétáló fekete lyuk KBM" #. ~ Description for Artificial Night Generator CBM -#. ~ Description for Artificial Night Generator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "When active, this bionic eliminates all light within a 15 tile radius " "through destructive interference." msgstr "" +"Aktív állapotában destruktív interferencia segítségével 15 lépésen belül az " +"összes fény eltűnik." #: lang/json/BIONIC_ITEM_from_json.py msgid "Implanted Night Vision CBM" @@ -17801,6 +18916,8 @@ msgid "" "This bionic module modifies the user's eyes to amplify existing light, " "allowing them to see in the dark." msgstr "" +"A felhasználó szemeit felkészítették a beeső fény felerősítésére, így a " +"sötétben is tud látni." #: lang/json/BIONIC_ITEM_from_json.py msgid "Offensive Defense System CBM" @@ -17815,6 +18932,10 @@ msgid "" "draining power. This field does not deflect attacks, but rather delivers a " "strong shock, damaging unarmed attackers and those with a conductive weapon." msgstr "" +"Egy vékony erőtér veszi körül a felhasználó testét, fenntartásához " +"folyamatosan kell energia. Ez az erőtér nem akadályozza meg a támadásokat, " +"viszont egy erős áramütésben részesíti a puszta kézzel illetve fémfegyverrel" +" támadó ellenséget." #: lang/json/BIONIC_ITEM_from_json.py msgid "Sensory Dulling CBM" @@ -17829,6 +18950,9 @@ msgid "" "them to dull their senses at will. However, the use of this system may " "cause delayed reaction times and drowsiness." msgstr "" +"A felhasználó idegrendszere képessé vált elnyomni a fájdalom jeleit, így " +"igény szerint lehet tompítani az érzékeket. A modul használata azonban " +"növeli a reakcióidőt és tompasághoz vezethet." #: lang/json/BIONIC_ITEM_from_json.py msgid "Power Armor Interface CBM" @@ -17843,6 +18967,8 @@ msgid "" " suits of power armor, allowing them to draw from the user's bionic power " "banks." msgstr "" +"A felhasználó bionikus energiarendszerét összeköti a szervópáncél belső " +"töltési portjával, így az a bionikus energiát meríti." #: lang/json/BIONIC_ITEM_from_json.py msgid "Power Armor Mk. II Interface CBM" @@ -17855,9 +18981,12 @@ msgstr[1] "Szervópáncél II interfész KBM" msgid "" "Interfaces the user's bionic power system with the internal charging port on" " suits of power armor, allowing them to draw from the user's bionic power " -"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " +"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " "DoubleTech Inc., to meet the popularity of the Mk. II power armor series." msgstr "" +"A felhasználó energiarendszeredet összeköti a szervópáncél belső töltési " +"portjával. A kétszer hatékonyabb II-es modellt a DoubleTech Inc. tervezte az" +" egyre népszerűbb Power Armor Mk II sorozatához." #: lang/json/BIONIC_ITEM_from_json.py msgid "Power Storage CBM" @@ -17872,12 +19001,16 @@ msgid "" "units. Having at least one of these is a prerequisite to using powered " "bionics. The user will also need a power supply, found in various CBMs." msgstr "" +"Ez a kompakt bionikus modul 100 egységgel növeli a felhasználó " +"energiatárolási kapacitását. Legalább egy ilyen modulra van szükség ahhoz, " +"hogy energiát használó bionikát lehessen használni. Szükség lesz továbbá még" +" egy energiaforrásra is, amely másféle KBM-ekben található." #: lang/json/BIONIC_ITEM_from_json.py msgid "Power Storage CBM Mk. II" msgid_plural "Power Storage CBM Mk. II" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Energiatároló II KBM" +msgstr[1] "Energiatároló II KBM" #. ~ Description for Power Storage CBM Mk. II #: lang/json/BIONIC_ITEM_from_json.py @@ -17886,6 +19019,9 @@ msgid "" " for the highly successful Power Storage CBM. Increases the user's power " "capacity by 250 units." msgstr "" +"A DoubleTech Industries által kifejlesztett kompakt bionikus modul az " +"Energiatároló KBM továbbfejlesztett változata, a felhasználó energiatárolási" +" kapacitását 250 egységgel növeli." #: lang/json/BIONIC_ITEM_from_json.py msgid "Probability Travel CBM" @@ -17900,6 +19036,10 @@ msgid "" " walls, reappearing on the other side. Power drain in standby is minimal, " "but each tile tunneled through costs 250 bionic power." msgstr "" +"Megnöveli a felhasználó testének hullámhosszát, így az kvantumalagutat tud " +"létesíteni egy tömör falon át, és a másik oldalon jelenik meg. Készenléti " +"módban az energiafelhasználása minimális, de minden átugrott lépés 250 " +"bionikus energiába kerül." #: lang/json/BIONIC_ITEM_from_json.py msgid "Air Filtration System CBM" @@ -17914,6 +19054,9 @@ msgid "" "or airborne diseases find their way into the windpipe, the filter will " "attempt to remove them." msgstr "" +"A felhasználó gégecsövébe beépítésre került egy modern légszűrő rendszer. Ha" +" toxinok vagy levegőn át terjedő toxinok haladnának át a tüdő felé, akkor a " +"szűrő megpróbálja ezeket eltávolítani." #: lang/json/BIONIC_ITEM_from_json.py msgid "Radiation Scrubber System CBM" @@ -17928,6 +19071,9 @@ msgid "" "throughout your body, allowing the user to purge themself of absorbed " "radiation at the cost of some bionic power." msgstr "" +"A felhasználó testébe implantálásra került egy piezomechanikus vérszűrő " +"rendszer számos alegysége, amelyek némi bionokus energia árán megtisztítják " +"a teste által elnyelt sugárfertőzést." #: lang/json/BIONIC_ITEM_from_json.py msgid "Railgun CBM" @@ -17942,6 +19088,10 @@ msgid "" "thrown magnetic objects at a cost of 1 bionic power per throw. They will " "create a trail of electricity that can cause additional damage." msgstr "" +"A felhasználó karjaiba integrált elektromágneses mezőgenerátorok " +"megduplázzák az eldobott vas- és acéltárgyak hatótávolságát és sebzését. " +"Minden dobás 1 energiába kerül, a dobott tárgyak további sebzést okozó " +"villámlást hagynak maguk után." #: lang/json/BIONIC_ITEM_from_json.py msgid "Fingertip Razors CBM" @@ -17956,12 +19106,15 @@ msgid "" "implanted underneath the fingernails. These will deal a small amount of " "unarmed slashing damage whenever the user's fingertips are uncovered." msgstr "" +"A felhasználó körmei alá pengeélességű, behúzható karmok kerültek. A tíz " +"darab kétélű penge egyenként négy centiméter hosszú, és fedetlen ujjhegyek " +"esetén egy kis mértékű vágósebzést ejtenek." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Gasoline Fuel Cell CBM" msgid_plural "Gasoline Fuel Cell CBMs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Benzines üzemanyagcella KBM" +msgstr[1] "Benzines üzemanyagcella KBM" #. ~ Description for Gasoline Fuel Cell CBM #: lang/json/BIONIC_ITEM_from_json.py @@ -17970,6 +19123,8 @@ msgid "" "connected to a diffuse network of bio-plastic bladders able to hold up to " "500 ml of gasoline." msgstr "" +"Egy kisméretű üzemanyagcella, amely benzinből hoz létre bionikus energiát. A" +" bioplasztik ballonokból álló hálózat 500 ml benzin tárolására alkalmas." #: lang/json/BIONIC_ITEM_from_json.py msgid "Recycler Unit CBM" @@ -17984,6 +19139,9 @@ msgid "" " system, allowing them to reclaim waste liquid and, to a lesser degree, " "nutrients. The net effect is a greatly reduced need to eat and drink." msgstr "" +"A felhasználó emésztőrendszerébe számos szűrő és feldolgozó alegység került," +" amelyek képesek a folyékony salakanyagok, és kisebb mértékben a tápanyagok " +"újrahasznosítására. A végeredmény: sokkal alacsonyabb ivási és evési igény." #: lang/json/BIONIC_ITEM_from_json.py msgid "Remote Controller CBM" @@ -17997,6 +19155,8 @@ msgid "" "A small module that connects to the user's brain and allows them to " "interface with nearby devices with wireless capabilities." msgstr "" +"Ez a felhasználó agyához kapcsolt kis modul kérésre csatlakozik a közeli " +"vezeték nélküli eszközökhöz." #: lang/json/BIONIC_ITEM_from_json.py msgid "Sonic Resonator CBM" @@ -18011,6 +19171,10 @@ msgid "" "power, creating a short-range shockwave. While it will not do much damage " "to creatures, solid objects such as walls and doors will be damaged." msgstr "" +"A felhasználó egész teste erős rezonációt bocsájt ki, amely egy rövid " +"hatósugarú lökéshullámként jelentkezik. Ez a halottakon és az élőlényeken " +"nem okoz nagy sebzést, az ajtókhoz és falakhoz hasonló merev tárgyakat " +"megrongálja." #: lang/json/BIONIC_ITEM_from_json.py msgid "Olfactory Mask CBM" @@ -18024,6 +19188,9 @@ msgid "" "While this system is powered, the user's body will produce very little odor," " making it nearly impossible for creatures to track them by scent." msgstr "" +"Amikor ez a modul energiát kap, akkor a felhasználó teste nagyon kevés " +"szagot bocsát ki, így a szaga alapján követő lényeknek szinte lehetetlen " +"dolguk lesz." #: lang/json/BIONIC_ITEM_from_json.py msgid "Scent Vision CBM" @@ -18037,6 +19204,9 @@ msgid "" "This system lets the user visually sense their own scent, making it possible" " for them to recognize their surroundings even in complete darkness." msgstr "" +"Amikor ez a modul energiát kap, akkor a felhasználó képes vizualizálni a " +"saját szagát, így még akkor is felismeri a környezetét, ha a teljes " +"sötétben amúgy nem látja." #: lang/json/BIONIC_ITEM_from_json.py msgid "Electroshock Unit CBM" @@ -18051,6 +19221,10 @@ msgid "" " a chance that a successful hit will shock the user's opponent, inflicting " "extra damage and disabling them temporarily at the cost of some energy." msgstr "" +"Amikor a felhasználó puszta kézzel, vagy áramot vezető fegyverrel harcol, " +"akkor minden bevitt ütés után esélye van arra, hogy az ütés megrázza az " +"ellenfelet, további sebzést okozva és átmenetileg megbénítva őt. A sikeres " +"áramütés némi bionikus energiát használ fel." #: lang/json/BIONIC_ITEM_from_json.py msgid "Shockwave Generator CBM" @@ -18066,6 +19240,10 @@ msgid "" "upon impact with impassable terrain, and knock back any creatures they " "collide with." msgstr "" +"A felhasználó erős lökéshullám generálására képes, amely hátradobja szinte " +"az összes környező lényt. A célpontok rövid időre elkábulnak, sebzést " +"kapnak, és amennyiben átjárhatatlan terepre lökődnének, akkor további " +"kábítást kapnak. Ha más lénnyel ütköznek, akkor azokat is hátradobják." #: lang/json/BIONIC_ITEM_from_json.py msgid "Synaptic Accelerator CBM" @@ -18080,6 +19258,8 @@ msgid "" "Bionic stimulators that enhance the nervous system, granting a 10% boost to " "your speed." msgstr "" +"A fehasználó idegrendszerét bionikus stimulátorokkal javították fel, 10%-kal" +" gyorsabb lett." #: lang/json/BIONIC_ITEM_from_json.py msgid "Muscle Augmentation CBM" @@ -18093,6 +19273,8 @@ msgid "" "Myomer fibers that enhance the muscular system, granting a +2 bonus to " "strength." msgstr "" +"Myomer izomrostok alkalmazásával a felhasználó izomrendszere jelentősen " +"javult, +2 erő." #: lang/json/BIONIC_ITEM_from_json.py msgid "Autonomous Surgical Scalpels CBM" @@ -18107,6 +19289,9 @@ msgid "" " They allow for automated precise cuts and can be used as a high-quality " "butchering tool." msgstr "" +"A felhasználó ujjaiba sebészeti szintű szikék kerültek implantálásra, " +"segítségükkel boncoláskor pontosabb vágásokat lehet ejteni. A szikéket " +"továbbá magas minőségű henteskésként is lehet használni." #: lang/json/BIONIC_ITEM_from_json.py msgid "Anti-Glare Compensators CBM" @@ -18121,6 +19306,10 @@ msgid "" " eyes. They negate glare penalties, partially protect from bright flashes, " "and protect the eyes when welding." msgstr "" +"A felhasználó szemgolyóiba gyors reagálású tranzitív lencsék kerültek, " +"amelyek kiszűrnek mindenféle ragyogást. Részben megvédik a felhasználó " +"szemét a fényes villanásoktól, így többek között részben a hegesztőfénytől " +"is." #: lang/json/BIONIC_ITEM_from_json.py msgid "Targeting System CBM" @@ -18135,6 +19324,9 @@ msgid "" "the user's eyes with their arms, to a degree. Shots they fire will be much " "more accurate, particularly at long ranges." msgstr "" +"A felhasználói szemgolyóiba távolságmérő épült, amelyek egy bizonyos " +"mértékig a kezekkel is összeköttetésbe kerültek. A leadott lövések főleg " +"hosszú távon sokkal pontosabbak lesznek." #: lang/json/BIONIC_ITEM_from_json.py msgid "Teleportation Unit CBM" @@ -18150,6 +19342,11 @@ msgid "" "of much power. Note that prolonged or frequent use may have dangerous side " "effects." msgstr "" +"Ez a kísérleti modul rövid távon belül képes a tér-idő kontinuum " +"görbítésére, 8 méteres távolságon belül lényeges energiafelhasználás árán " +"bárhova azonnal eljuttatja a felhasználót. A gyártó arra figyelmeztet, hogy " +"a modul hosszútávú vagy gyakori használata veszélyes mellékhatásokkal is " +"járhat." #: lang/json/BIONIC_ITEM_from_json.py msgid "Time Dilation CBM" @@ -18164,6 +19361,10 @@ msgid "" "speed and reactions dramatically, essentially freezing time. Violent or " "rapid movements may cause damage due to friction." msgstr "" +"A felhasználó az összes eltárolt energia árán drámai mértékben képes a teste" +" sebességét és reakcióidejét felgyorsítani, gyakorlatilag befagyasztva a " +"környező időt. Az erőteljes vagy a gyors mozgás a súrlódás miatt sebesülést " +"okozhat." #: lang/json/BIONIC_ITEM_from_json.py msgid "Integrated Toolset CBM" @@ -18178,12 +19379,16 @@ msgid "" "hand drill, welder and heating elements. These can be used in place of many" " tools when crafting." msgstr "" +"A felhasználó tenyerébe és ujjaiba műtéti úton egy komplett műszerszerelő " +"eszköztár került: csavarhúzó, kalapács, franciakulcs, fém- és fafűrész, " +"drótvágó olló, fúrógép, valamint melegítőszál. Tárgyak gyártásánál vagy " +"szerelésénél szerszámok helyett használható." #: lang/json/BIONIC_ITEM_from_json.py msgid "Joint Torsion Ratchet CBM" msgid_plural "Joint Torsion Ratchet CBMs" -msgstr[0] "Izületi torziós racsni KBM" -msgstr[1] "Izületi torziós racsni KBM" +msgstr[0] "Ízületi torziós racsni KBM" +msgstr[1] "Ízületi torziós racsni KBM" #. ~ Description for Joint Torsion Ratchet CBM #: lang/json/BIONIC_ITEM_from_json.py @@ -18192,12 +19397,15 @@ msgid "" "when they move. These can be toggled to generate more power, but movement " "will require more effort." msgstr "" +"A felhasználó ízületeibe torziós racsnik kerültek, amelyek a mozgás " +"energiájából lassan bionikus energiát generálnak. Bekapcsolásával még több " +"energiát generálnak, de a mozgás nagyobb erőfeszítést igényel." #: lang/json/BIONIC_ITEM_from_json.py msgid "Joint Servo CBM" msgid_plural "Joint Servo CBMs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Ízületi szervó KBM" +msgstr[1] "Ízületi szervó KBM" #. ~ Description for Joint Servo CBM #: lang/json/BIONIC_ITEM_from_json.py @@ -18207,6 +19415,10 @@ msgid "" "requires less effort while this bionic is active. However, when it's " "offline it will hamper the user's movement." msgstr "" +"A lábízületekre telepített szervómotorok segítenek a mozgásban. A " +"berendezést futásra optimalizálták, de a bionika aktiválásánál a gyaloglás " +"is kevesebb erőfeszítésbe kerül. Kikapcsolt állapotában azonban gátolja a " +"felhasználó mozgását." #: lang/json/BIONIC_ITEM_from_json.py msgid "Uncanny Dodge CBM" @@ -18220,6 +19432,9 @@ msgid "" "Bionic processors that augment the the user's nervous system, allowing them " "to dodge attacks beyond normal human capability, including bullets." msgstr "" +"A felhasználó idegrendszerét bionikus processzorokkal augmentálták, ezért " +"egy átlagemberhez képest ijesztően gyorsan tud elugrani a támadások elől, " +"még akár golyók elől is." #: lang/json/BIONIC_ITEM_from_json.py msgid "Unified Power System CBM" @@ -18234,6 +19449,9 @@ msgid "" "Objects that run on a UPS can now directly draw power from the bionic power " "supply." msgstr "" +"A felhasználó belső energiatároló rendszerébe egy egységes tápegység került " +"beépítésre . Az ET energiaforrást használó tárgyak innentől közvetlenül a " +"belső energiát merítik." #: lang/json/BIONIC_ITEM_from_json.py msgid "Internal Chronometer CBM" @@ -18247,6 +19465,7 @@ msgid "" "This bionic module contains an atomic clock, complete with silent alarm " "clock function." msgstr "" +"Ez a bionikus modul egy ébresztőfunkcióval is ellátott atomórát tartalmaz." #: lang/json/BIONIC_ITEM_from_json.py msgid "Water Extraction Unit CBM" @@ -18261,6 +19480,9 @@ msgid "" "pump any available fluid out of a dead body, cleanse it of impurities and " "convert it into potable water. Water container not included." msgstr "" +"A felhasználó tenyerébe épített nanocsövek segítségével bármilyen " +"holttestből lehet szivattyúzni a testnedveket, majd tisztítás után ivóvízzé " +"alakítani. A víz tárolásához azonban valamiféle edény kell majd." #: lang/json/BIONIC_ITEM_from_json.py msgid "Intravenous Needletip CBM" @@ -18275,6 +19497,9 @@ msgid "" "hoses instead of a plunger. Installed, it allows the user to draw " "substances directly into their bloodstream akin to a regular syringe." msgstr "" +"Visszahúzható tűvel felszerelt apró cső, amelynek másik végén dugattyú " +"helyett számos apró tömlő található. Beépítés után különálló injekciós tű " +"nélkül juttathatók szerek közvetlenül a véráramba." #: lang/json/BIONIC_ITEM_from_json.py msgid "Titanium Skeletal Bracing CBM" @@ -18289,6 +19514,9 @@ msgid "" "structure. These artificial enhancers strengthen the knees and elbows, " "allowing the user to carry more weight." msgstr "" +"Csontvázra telepített forgópántok, rugók és egyéb szintetikus augmentációk " +"rendszere. A mesterséges teljesítménynövelők megerősítik a térdeket és a " +"könyököket, így a felhasználó több súlyt szállíthat." #: lang/json/BIONIC_ITEM_from_json.py msgid "Kinetic Shock Absorbers CBM" @@ -18304,12 +19532,16 @@ msgid "" "negate damage from severe impacts such as falling, at the cost of reducing " "the user's ability to move effectively." msgstr "" +"A felhasználó végtagjait és felsőtestének húsát nagy részben kicseréli ez a " +"néhány hidraulikus rugó, és összehajtható kipárnázás. Aktív állapotban ezek " +"a lengéscsillapítók elnyelik a becsapódások, például a zuhanások okozta " +"sérüléseket, ám csökkentik a mozgás hatékonyságát." #: lang/json/BIONIC_ITEM_from_json.py msgid "Taste Modifier CBM" msgid_plural "Taste Modifier CBMs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Ízmódosító KBM" +msgstr[1] "Ízmódosító KBM" #. ~ Description for Taste Modifier CBM #: lang/json/BIONIC_ITEM_from_json.py @@ -18318,12 +19550,15 @@ msgid "" "with a sophisticated analyzer. While active, it will block all unpleasant " "taste and texture at the cost of bionic energy." msgstr "" +"A felhasználó szájába csúcsérzékenységű szenzorokat építettek, amelyek egy " +"modern elemző segítségével bionikus energia árán blokkolnak minden " +"kellemetlen ízt és textúrát." #: lang/json/BIONIC_ITEM_from_json.py msgid "Soporific Induction CBM" msgid_plural "Soporific Induction CBMs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Alvásindukciós KBM" +msgstr[1] "Alvásindukciós KBM" #. ~ Description for Soporific Induction CBM #: lang/json/BIONIC_ITEM_from_json.py @@ -18331,23 +19566,25 @@ msgid "" "A microscopic electrode designed to gently stimulate a particular cluster of" " neurons in the hypothalamus, helping the user to fall asleep." msgstr "" +"A hipotalamusz adott fürtjeit stimuláló tűrendszer segít a felhasználónak az" +" elalvásban." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Squeaky Ankles" msgid_plural "Squeaky Ankles" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Nyikorgó boka" +msgstr[1] "Nyikorgó boka" #. ~ Description for Squeaky Ankles #: lang/json/BIONIC_ITEM_from_json.py msgid "A pair of defective bionics that make squeaking noises." -msgstr "" +msgstr "Nyikorgó hangokat kiadó hibás bionika." #: lang/json/BIONIC_ITEM_from_json.py msgid "Pieces Of Junk" msgid_plural "Pieces of Junk" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Hulladékdarab" +msgstr[1] "Hulladékdarab" #. ~ Description for Pieces Of Junk #: lang/json/BIONIC_ITEM_from_json.py @@ -18355,36 +19592,38 @@ msgid "" "A jumble of broken metal pieces that were removed during reconstructive " "surgery." msgstr "" +"Egy maréknyi fémhulladék, amely a plasztikai műtét során került " +"eltávolításra." #: lang/json/BIONIC_ITEM_from_json.py msgid "Acidic Leaking CBM" msgid_plural "Acidic Leaking CBMs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Savszivárgó KBM" +msgstr[1] "Savszivárgó KBM" #. ~ Description for Acidic Leaking CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" "This CBM has been breached in several places and some acid is leaking from " "it." -msgstr "" +msgstr "Ezt a KBM-et több helyen is felsértették, ezért sav szivárog belőle." #: lang/json/BIONIC_ITEM_from_json.py msgid "Faulty Electric System" msgid_plural "Faulty Electric Systems" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Hibás elektromos rendszer" +msgstr[1] "Hibás elektromos rendszer" #. ~ Description for Faulty Electric System #: lang/json/BIONIC_ITEM_from_json.py msgid "This CBM is a mess of naked wire and burnt resistors." -msgstr "" +msgstr "Ez a KBM csupasz drótok és kiégett ellenállások egyvelege." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Electrical Drain" msgid_plural "Electrical Drains" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Elektromos merítés" +msgstr[1] "Elektromos merítés" #. ~ Description for Electrical Drain #: lang/json/BIONIC_ITEM_from_json.py @@ -18392,37 +19631,42 @@ msgid "" "This CBM was wired incorrectly and would drain power from any system " "connected to it." msgstr "" +"Ezt a KBM-et hibásan drótozták össze, ezért minden hozzá csatlakoztatott " +"rendszert lemerít." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Itchy Metal Thing" msgid_plural "Itchy Metal Things" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Viszkető fémbigyó" +msgstr[1] "Viszkető fémbigyó" #. ~ Description for Itchy Metal Thing #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"You can't recognise what this is supposed to be, but it's a very awkward " +"You can't recognize what this is supposed to be, but it's a very awkward " "thing to have in one's body." msgstr "" +"Nem tudod, hogy ez pontosan micsoda, de rém kellemetlen, amikor a testedben " +"van." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Glowy Thing" msgid_plural "Glowy Things" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Izzó izé" +msgstr[1] "Izzó izé" #. ~ Description for Glowy Thing #: lang/json/BIONIC_ITEM_from_json.py -msgid "" -"It's a... thing? And it glows, at least it did when it was plugged in." +msgid "It's a… thing? And it glows, at least it did when it was plugged in." msgstr "" +"Ez egy olyan... izé... és izzik, legalábbis a múltkor izzott, amikor be volt" +" kapcsolva." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Leaky Bionic" msgid_plural "Leaky Bionics" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Szivárgó bionika" +msgstr[1] "Szivárgó bionika" #. ~ Description for Leaky Bionic #: lang/json/BIONIC_ITEM_from_json.py @@ -18430,71 +19674,75 @@ msgid "" "A mess of pierced pipes and broken seals, something unpleasant is leaking " "from it." msgstr "" +"Egy kupacnyi lyukas cső és felszakadt szigetelés, amiből valami csúfság " +"szivárog." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Noisemaker" msgid_plural "Noisemakers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Zajkeltő" +msgstr[1] "Zajkeltő" #. ~ Description for Noisemaker #: lang/json/BIONIC_ITEM_from_json.py msgid "" "A malfunctioning bionic. When powered, it occasionally emits a loud burst " "of noise." -msgstr "" +msgstr "Egy hibás bionika. Amikor energiát kap, akkor néha hangos zajt kelt." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Bionic Nostril" msgid_plural "Bionic Nostrils" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Bionikus orrlyuk" +msgstr[1] "Bionikus orrlyuk" #. ~ Description for Bionic Nostril #: lang/json/BIONIC_ITEM_from_json.py msgid "" "This thing was up someone's nose, they're probably glad to be rid of it." msgstr "" +"Ez valakinek az orrában volt. Biztosan örülnek neki, hogy már nincs ott." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Bionic Visual Impairment" msgid_plural "Bionic Visual Impairments" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Bionikus látáskárosodás" +msgstr[1] "Bionikus látáskárosodás" #. ~ Description for Bionic Visual Impairment #: lang/json/BIONIC_ITEM_from_json.py msgid "A defective bionic that impairs vision." -msgstr "" +msgstr "Egy hibás bionika, amely károsítja a látást." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Power Overload" msgid_plural "Power Overloads" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Energia túlterhelés" +msgstr[1] "Energia túlterhelés" #. ~ Description for Power Overload #: lang/json/BIONIC_ITEM_from_json.py msgid "" "A bunch of defective power circuits that are prone to short-circuiting." -msgstr "" +msgstr "Egy csomó hibás áramkör, amelyek hajlamosak a rövidzárlatra." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Bionic Short Circuit" msgid_plural "Bionic Short Circuits" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Bionikus rövidzárlat" +msgstr[1] "Bionikus rövidzárlat" #. ~ Description for Bionic Short Circuit #: lang/json/BIONIC_ITEM_from_json.py msgid "This bionic is poorly wired and occasionally short-circuits." msgstr "" +"Ezt a bionikát rosszul szerelték be, és ezért néha rövidzárlatot okoz." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Endocrine Enervator" msgid_plural "Endocrine Enervators" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Endokrin enervátor" +msgstr[1] "Endokrin enervátor" #. ~ Description for Endocrine Enervator #: lang/json/BIONIC_ITEM_from_json.py @@ -18502,12 +19750,14 @@ msgid "" "This malfunctioning bionic causes fatigue by altering the unfortunate user's" " brain chemistry." msgstr "" +"Ez a hibás bionika állandó fáradtságot okoz, mert belepiszkál a " +"szerencsétlen felhasználó agykémiájába." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Motor Control Overstimulator" msgid_plural "Motor Control Overstimulators" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Mozgásvezérlő túlstimulátor" +msgstr[1] "Mozgásvezérlő túlstimulátor" #. ~ Description for Motor Control Overstimulator #: lang/json/BIONIC_ITEM_from_json.py @@ -18515,34 +19765,36 @@ msgid "" "The result of poor configuration, this bionic module frequently causes " "debilitating muscle spasms." msgstr "" +"Hibás beállítás miatt ez a bionikus modul gyakran letaglózó izomrángásokat " +"okoz." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Wire-Induced Stiffness" msgid_plural "Wire-Induced Stiffnesses" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Vezeték okozta merevség" +msgstr[1] "Vezeték okozta merevség" #. ~ Description for Wire-Induced Stiffness #: lang/json/BIONIC_ITEM_from_json.py msgid "A length of poorly installed wiring that would cause stiffness." -msgstr "" +msgstr "Egy hosszú, rosszul beállított kábelezés végtag merevséget okoz." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Self-Locking Thumbs" msgid_plural "Self-Locking Thumbs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Önzáró hüvelykujjak" +msgstr[1] "Önzáró hüvelykujjak" #. ~ Description for Self-Locking Thumbs #: lang/json/BIONIC_ITEM_from_json.py msgid "A pair of faulty, self-locking thumb bionics." -msgstr "" +msgstr "Hibás bionika, amitől egymáshoz záródnak a két kéz hüvelykujjai." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Visual Disruptor" msgid_plural "Visual Disruptors" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Vizuális roncsolás" +msgstr[1] "Vizuális roncsolás" #. ~ Description for Visual Disruptor #: lang/json/BIONIC_ITEM_from_json.py @@ -18550,12 +19802,13 @@ msgid "" "A pair of defective ocular bionics that cause visual distortion and " "pixelation." msgstr "" +"Egy hibás bionikus modul miatt néha szétcsúszik és bepixelesedik a látásod." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Voice Remodulator" msgid_plural "Voice Remodulators" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Hangszín remodulátor" +msgstr[1] "Hangszín remodulátor" #. ~ Description for Voice Remodulator #: lang/json/BIONIC_ITEM_from_json.py @@ -18563,6 +19816,8 @@ msgid "" "Part of the autodoc's 'Cyborg Identity Package', this bionic gives the user " "a creepy robot voice." msgstr "" +"Az autodoki úgynevezett Kiborg Egyéniségi Csomagjának része. Ettől a " +"bionikától a felhasználónak hátborzongató hangja lesz." #: lang/json/BIONIC_ITEM_from_json.py msgid "Solar Panels CBM" @@ -18624,6 +19879,9 @@ msgid "" "This module upgrades a pre-installed microreactor with enhanced maximum " "yield and limited automatic radiation scrubbing capabilities." msgstr "" +"Ez a modul egy már beépített mikroreaktort korszerűsít a reaktor " +"hatékonyságának növelésével, illetve korlátozott mértékben a sugárfertőzés " +"automatikus eltávolításával." #: lang/json/BIONIC_ITEM_from_json.py msgid "Plutonium Filter CBM" @@ -18637,6 +19895,8 @@ msgid "" "A system of tanks and filters that are connected to a microreactor to " "extract plutonium from radioactive slurry." msgstr "" +"Ez a tartályokból és szűrőkből álló rendszer a mikroreaktor számára " +"használható plutóniumot von ki a radioaktív iszapból." #: lang/json/BIONIC_ITEM_from_json.py msgid "Internal Microreactor CBM" @@ -18651,6 +19911,10 @@ msgid "" "power, but may not be the safest thing to install. Once active, it cannot " "be shut down and will slowly contaminate the user's body with radiation." msgstr "" +"Ez a lecsupaszított minireaktor lenyűgöző mennyiségű bionikus energiát hoz " +"létre, de beépítése nem igazán biztonságos. Aktiválása után többé nem lehet " +"leállítani, és működése lassan növekedő sugárterhelést okoz a felhasználó " +"testében." #: lang/json/BIONIC_ITEM_from_json.py msgid "Microreactor Upgrade CBM" @@ -18664,6 +19928,9 @@ msgid "" "A kit for upgrading a pre-installed microreactor with enhanced maximum yield" " and limited automatic radiation scrubbing capabilities." msgstr "" +"Ez a készlet egy már beépített mikroreaktort korszerűsít a reaktor " +"hatékonyságának növelésével, illetve korlátozott mértékben a sugárfertőzés " +"automatikus eltávolításával." #. ~ Description for Solar Panels CBM #: lang/json/BIONIC_ITEM_from_json.py @@ -18678,8 +19945,8 @@ msgstr "" #: lang/json/BIONIC_ITEM_from_json.py msgid "Precision Solderers CBM" msgid_plural "Precision Solderers CBMs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Precíziós forrasztás KBM" +msgstr[1] "Precíziós forrasztás KBM" #. ~ Description for Precision Solderers CBM #: lang/json/BIONIC_ITEM_from_json.py @@ -18687,12 +19954,15 @@ msgid "" "A set of tiny electronics tools, including soldering irons and wire cutters." " They serve no purpose on their own, but are required for crafting bionics." msgstr "" +"Apró elektronikai szerszámok készlete, többek között forrasztópáka és " +"drótvágó. Önmagukban nem sok mindenre jók, de bionika gyártásához " +"elengedhetetlenek." #: lang/json/BIONIC_ITEM_from_json.py msgid "Deployable Grenade Launcher CBM" msgid_plural "Deployable Grenade Launcher CBMs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Beépített gránátvető KBM" +msgstr[1] "Beépített gránátvető KBM" #. ~ Description for Deployable Grenade Launcher CBM #: lang/json/BIONIC_ITEM_from_json.py @@ -18701,12 +19971,14 @@ msgid "" "can serve as a portable, integrated tool for firing 40mm grenades and " "canisters." msgstr "" +"A jobb karodhoz egy kisméretű, behajtható vetőcső került beépítésre. Az " +"implantálás után 40mm-es gránátok kilövésére használható." #: lang/json/BIONIC_ITEM_from_json.py msgid "Linguistic Coprocessor CBM" msgid_plural "Linguistic Coprocessor CBMs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Nyelvészeti ko-processzor KBM" +msgstr[1] "Nyelvészeti ko-processzor KBM" #. ~ Description for Linguistic Coprocessor CBM #: lang/json/BIONIC_ITEM_from_json.py @@ -18715,12 +19987,15 @@ msgid "" " the speed that it processes language. When installed, it provides a " "passive boost to reading speed." msgstr "" +"Az agyad bal féltekéjébe telepített mikroszámítógép növeli a " +"nyelvfeldolgozási sebességet. Beépítése után passzív módon növeli az " +"olvasási sebességet." #: lang/json/BIONIC_ITEM_from_json.py msgid "Dopamine Stimulators CBM" msgid_plural "Dopamine Stimulators CBMs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Dopamin stimulátor KBM" +msgstr[1] "Dopamin stimulátor KBM" #. ~ Description for Dopamine Stimulators CBM #: lang/json/BIONIC_ITEM_from_json.py @@ -18730,6 +20005,10 @@ msgid "" "of dopamine and other reward chemicals, inducing a state of euphoria and " "suppressing fear." msgstr "" +"Apró méretű idegserkentő stimulátorok kerültek az agyad jutalomközpontjába. " +"Bionikus energiával ellátva ezek időközönként dopamin és egyéb " +"boldogsághormon kibocsátást okoznak, amelytől jó kedved lesz és nem fogsz " +"félni." #: lang/json/BIONIC_ITEM_from_json.py msgid "Ionic Overload Generator CBM" @@ -18755,8 +20034,8 @@ msgstr "" #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Blood Power Generator CBM" msgid_plural "Blood Power Generator CBMs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Vér energia generátor KBM" +msgstr[1] "Vér energia generátor KBM" #. ~ Description for Blood Power Generator CBM #: lang/json/BIONIC_ITEM_from_json.py @@ -19034,7 +20313,7 @@ msgstr[1] "Egy barátomat várom vacsorára" #. ~ Description for To Serve Man #: lang/json/BOOK_from_json.py -msgid "It's... it's a cookbook!" +msgid "It's… it's a cookbook!" msgstr "De... ez egy szakácskönyv!" #: lang/json/BOOK_from_json.py @@ -19144,11 +20423,11 @@ msgstr[1] "PE050 Alpha: Előzetes jelentés" msgid "" "This sheaf of papers-dated two weeks before all this started-describes some " "new chemical formula, and its effects on human subjects. It's stamped " -"\"APPROVED\"..." +"\"APPROVED\"…" msgstr "" "Ezt a maréknyi dokumentumot két héttel azelőtt írták, hogy minden " "megváltozott. Valami újféle vegyi anyagról és az azzal végzett " -"emberkísérletekről szól. A rábélyegzett felirat szerint: JÓVÁHAGYVA." +"emberkísérletekről szól. A rábélyegzett felirat szerint: JÓVÁHAGYVA..." #: lang/json/BOOK_from_json.py msgid "lab journal-Dionne" @@ -19177,9 +20456,12 @@ msgstr[1] "PE065 Chimera: Ajánlott eljárások" #: lang/json/BOOK_from_json.py msgid "" "This sheaf of papers describes a new chemical formula in detail and supplies" -" instructions for its use as some sort of ... crowd-control catalyst? That " -"can't be right..." +" instructions for its use as some sort of… crowd-control catalyst? That " +"can't be right…" msgstr "" +"Ezt a maréknyi dokumentumot az evakuálásod előtti napon írták. Valami újféle" +" vegyi anyagról szól és... tömegoszlatási instrukciókat tartalmaz? Itt " +"valami nem stimmel." #: lang/json/BOOK_from_json.py msgid "lab journal-Smythe" @@ -19192,11 +20474,11 @@ msgstr[1] "labornapló - Smythe" msgid "" "This team logbook details several varieties of mutagenic experiments, " "focusing on those derived from flesh contaminated with XE037. The results " -"look promising but the procurement methods seem awfully vague..." +"look promising but the procurement methods seem awfully vague…" msgstr "" "Ez a csoportnapló számos mutagén kísérletről számol be, amelyek főleg az " "XE037-tel fertőzött hússal foglalkoznak. Az eredmények ígéretesnek tűnnek, " -"de a beszerzési eljárás rettenetesen elmismásoltnak látszik." +"de az alapanyag beszerzési eljárása rettenetesen elmismásoltnak látszik." #: lang/json/BOOK_from_json.py msgid "standpipe maintenance log" @@ -19209,7 +20491,7 @@ msgstr[1] "szívócső karbantartási napló" msgid "" "This binder details the scheduled maintenance for several plumbing systems " "throughout the facility. However, some of the log sheets seem to be filled " -"with...a chemical formula?" +"with… a chemical formula?" msgstr "" "Ebben a gyűrűs mappában a létesítmény számos vízvezeték-rendszerére " "vonatkozó karbantartási ütemterv szerepel. Az ütemterv munkalapok egy részén" @@ -19263,11 +20545,11 @@ msgstr[1] "PE023 egészségügyi alkalmazása és eredményei" #: lang/json/BOOK_from_json.py msgid "" "This binder of highly technical papers describes some new chemical formula, " -"and its effects on human subjects. It's stamped \"APPROVED\"...." +"and its effects on human subjects. It's stamped \"APPROVED\"…" msgstr "" "Ez a gyűrűs mappa számos szakmai dokumentumot tartalmaz valami újféle vegyi " "anyagról és az azzal végzett emberkísérletekről. A rábélyegzett felirat " -"szerint: JÓVÁHAGYVA." +"szerint: JÓVÁHAGYVA..." #: lang/json/BOOK_from_json.py msgid "PE070 \"Raptor\": Proposal" @@ -19282,6 +20564,9 @@ msgid "" "\"PE065\". Scribbled notes throughout seem to think that it might work, but" " that there's no time." msgstr "" +"Ez a maréknyi dokumentum egy rendkívül spekulatív javaslat a PE065 " +"fókuszálására. A jegyzetek szélére olyasmit írtak, hogy talán ez most " +"sikerülni fog, de nincs elég idő." #: lang/json/BOOK_from_json.py msgid "Best Practices for Compound Delivery" @@ -19587,7 +20872,7 @@ msgstr[1] "labornapló - Herrera" msgid "" "This hefty binder contains a multitude of diagrams and technical " "specifications for various electronic materials. Some of the diagrams use " -"symbols you've not seen before..." +"symbols you've not seen before…" msgstr "" "Ez a vaskos gyűrűs mappa többféle elektronikus berendezés kapcsolási rajzát " "és műszaki adatait tartalmazza. Néhány kapcsolási rajz korábban sosem látott" @@ -19668,13 +20953,13 @@ msgstr[1] "" #. ~ Description for nearby fire #. ~ Description for muscle #. ~ Description for wind +#. ~ Description for metabolism #. ~ Description for a smoking device and a source of flame #. ~ Description for abstract map #. ~ Description for seeing this is a bug #. ~ Description for weapon #: lang/json/BOOK_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py #: lang/json/furniture_from_json.py lang/json/skill_from_json.py msgid "seeing this is a bug" msgid_plural "seeing this is a bugs" @@ -20030,8 +21315,8 @@ msgstr[1] "Lőszer töltés otthon" #: lang/json/BOOK_from_json.py msgid "" "Everything you could ever want to know about handloading ammunition, sealed " -"with a ...childproof cover. Apparently a liability thing, because the " -"chapter on explosive rounds covers them in excellent detail too." +"with a… childproof cover. Apparently a liability thing, because the chapter" +" on explosive rounds covers them in excellent detail too." msgstr "" "Minden, amit valaha is tudni szerettél volna a lőszerek otthoni " "újratöltéséről, mindez egy gyerekbiztos borítóval ellátott könyvben. " @@ -20596,8 +21881,8 @@ msgstr "Mindenféle témával foglalkozó, haladó szintű gépészeti kézikön #: lang/json/BOOK_from_json.py msgid "lab journal-Curie" msgid_plural "lab journals-Curie" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "labornapló - Curie" +msgstr[1] "labornapló - Curie" #. ~ Description for lab journal-Curie #: lang/json/BOOK_from_json.py @@ -20605,8 +21890,12 @@ msgid "" "This lab notebook is filled with the collective discoveries and refinements " "of a research team dedicated to nuclear energy. You don't think you're " "ready to start a second Cataclysm, but the general information provided " -"might be useful..." +"might be useful…" msgstr "" +"Ez a laborban használt jegyzetfüzet tele van a nukleáris energia " +"hasznosításával foglalkozó csapat felfedezéseivel és jegyzeteivel. Nem " +"gondolod, hogy a második kataklizmát te szeretnéd kirobbantani, ugyanakkor " +"vannak hasznos részei is..." #: lang/json/BOOK_from_json.py msgid "Biodiesel: Renewable Fuel Resource" @@ -22027,6 +23316,34 @@ msgid "" " that the author's real name is Fereidoun M. Esfandiary." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Bastiat Collection\", a large collection of essays " +"by Frederic Bastiat." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Anarchy, State, and Utopia\" by Robert Nozick, one of " +"the most influential books of modern libertarianism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Socialism\" by Ludwig von Mises, a critical examination " +"of socialism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The ABC of Communism\" by Nikolai Bukharin, one of the " +"most influential books of early Marxism-Leninism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Anti-Capitalist Mentality\" by Ludwig von Mises." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "phone book" msgid_plural "phone books" @@ -22109,7 +23426,7 @@ msgstr[1] "vállalati számviteli adatok" #. ~ Description for corporate accounting ledger #: lang/json/BOOK_from_json.py -msgid "If you knew what to look for something might stand out..." +msgid "If you knew what to look for something might stand out…" msgstr "Ha esetleg tudnád, mit keress, az jobban szembetűnne." #: lang/json/BOOK_from_json.py @@ -22361,6 +23678,106 @@ msgstr "" msgid "This is a copy of \"The Secret Garden\" by Frances Burnett." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lieutenant Hornblower\" by C.S. Forester." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Master and Commander\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Warden\" by Anthony Trollope." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Far Side of the World\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"HMS Surprise\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Barchester Towers\" by Anthony Trollope." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Land Ironclads\" by H.G. Wells." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Great Boer War\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Crime of the Congo\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Parasite\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"By Stroke of Sword\" by Andrew Balfour." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Secret Agent\" by Joseph Conrad." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lord Jim\" by Joseph Conrad." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Vanity Fair\" by William Makepeace Thackeray." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Luck of Barry Lyndon\" by William Makepeace " +"Thackeray." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"North and South\" by Elizabeth Gaskell." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Mayor of Casterbridge\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Wessex Tales\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Far from the Madding Crowd\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Captains Courageous\" by Rudyard Kipling." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Canterbury Tales\" by Geoffrey Chaucer." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Harold, the Last of the Saxons\" by Edward Bulwer-" +"Lytton." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Mr Midshipman Easy\" by Frederick Marryat." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Peter Simple\" by Frederick Marryat." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "collector's edition book" msgid_plural "collector's edition book" @@ -23400,11 +24817,12 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "Black Dragons: Swamp Ruins" -msgid_plural "Black Dragons: Swamp Ruinss" +msgid_plural "copies of Black Dragons: Swamp Ruins" msgstr[0] "" msgstr[1] "" -#. ~ Description for Black Dragons: Swamp Ruins +#. ~ Description for {'str': 'Black Dragons: Swamp Ruins', 'str_pl': 'copies +#. of Black Dragons: Swamp Ruins'} #: lang/json/BOOK_from_json.py msgid "" "This book details black dragons: The most evil of dragons, who live in ruins" @@ -23415,28 +24833,61 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "A Beginner's Guide to Alchemy" -msgid_plural "A Beginner's Guide to Alchemys" +msgid_plural "copies of A Beginner's Guide to Alchemy" msgstr[0] "" msgstr[1] "" -#. ~ Description for A Beginner's Guide to Alchemy +#. ~ Description for {'str': "A Beginner's Guide to Alchemy", 'str_pl': +#. "copies of A Beginner's Guide to Alchemy"} #: lang/json/BOOK_from_json.py msgid "A paperback tome for the art of liquid magic, alcohol not included." msgstr "" #: lang/json/BOOK_from_json.py msgid "A Soulbinder's Guide to Necromancy" -msgid_plural "A Soulbinder's Guide to Necromancys" +msgid_plural "copies of A Soulbinder's Guide to Necromancy" msgstr[0] "" msgstr[1] "" -#. ~ Description for A Soulbinder's Guide to Necromancy +#. ~ Description for {'str': "A Soulbinder's Guide to Necromancy", 'str_pl': +#. "copies of A Soulbinder's Guide to Necromancy"} #: lang/json/BOOK_from_json.py msgid "" "A paperback tome for the art of binding undead creatures' souls to dolls, " "along with emulating their healing factor." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "Magitek Illustrated" +msgid_plural "copies of Magitek Illustrated" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'Magitek Illustrated', 'str_pl': 'copies of +#. Magitek Illustrated'} +#: lang/json/BOOK_from_json.py +msgid "" +"A paperback tome for the art of combining modern technology with magic. " +"There is a disclaimer on the back: `Cannith Industries bears no " +"responsibility for malfunctions or accidents for any products mentioned " +"herein`." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "The Weapons of Asgard and Beyond" +msgid_plural "copies of The Weapons of Asgard and Beyond" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'The Weapons of Asgard and Beyond', 'str_pl': +#. 'copies of The Weapons of Asgard and Beyond'} +#: lang/json/BOOK_from_json.py +msgid "" +"An ornate book which appears to be written in Norse runes. Based on the " +"detailed illustrations, it appears to contain information about crafting " +"numerous weapons used by various Gods." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "SugarKin flyer" msgid_plural "SugarKin flyers" @@ -23446,13 +24897,13 @@ msgstr[1] "" #. ~ Description for SugarKin flyer #: lang/json/BOOK_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" +"A flyer for some kind of candy. It shows a picture of a gleaming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" " On the back of the flyer you can see some hastily scribbled words:\n" -" \"Hello my child and welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" +" \"Hello, my child, welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" "1) Never ever get into contact with water, it would melt you! \n" -"2) Avoid humans wiht clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" -"3) Learn how to make caramel ointement, it's the only way to fix your body if you get hurt.\n" -" There's many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" +"2) Avoid humans with clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" +"3) Learn how to make caramel ointment, it's the only way to fix your body if you get hurt.\n" +" There are many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" " I love you,\n" " - F. \"." msgstr "" @@ -23825,8 +25276,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "dimethyl sulfoxide" msgid_plural "dimethyl sulfoxide" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "dimetil-szulfoxid" +msgstr[1] "dimetil-szulfoxid" #. ~ Description for dimethyl sulfoxide #: lang/json/COMESTIBLE_from_json.py @@ -23836,6 +25287,10 @@ msgid "" "that it absorbs very quickly through the skin, causing a garlic flavor in " "the mouth even if it touched your arm." msgstr "" +"A dimetil-szulfoxid, rövidítve DMSO, egy gyakran használt és fontos szerepet" +" betöltő apriotikus oldószer, amely rengeteg dolog feloldására képes. Azzal " +"a furcsa tulajdonsággal rendelkezik, hogy a bőrön keresztül gyorsan " +"felszívódik, és ettől foghagymás szájízt okoz." #: lang/json/COMESTIBLE_from_json.py msgid "chloroform" @@ -23929,7 +25384,7 @@ msgstr "" #. ~ Description for acetylene #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flammable gas that explodes under pressure. Combined with oxygen, " +"A flammable gas that explodes under pressure. Combined with oxygen, " "acetylene makes a great welding gas." msgstr "" @@ -24937,6 +26392,41 @@ msgstr "nagy emberi gyomor" msgid "The stomach of a large humanoid creature. It is surprisingly durable." msgstr "Egy nagy darab ember gyomra. Meglepően tartós." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of human fat" +msgid_plural "chunks of human fat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of human fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly harvested from a human body." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human tallow" +msgstr "" + +#. ~ Description for human tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered human fat. It will remain " +"edible for a very long time, and can be used as an ingredient in many foods " +"and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human lard" +msgstr "" + +#. ~ Description for human lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered human fat. It will remain edible for a" +" very long time, and can be used as an ingredient in many foods and " +"projects." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "human flesh" msgid_plural "human fleshes" @@ -24982,6 +26472,61 @@ msgid "" "pinch." msgstr "Egy apró darab ehető húscafat. Nem sok, de jobb híján megteszi." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant meat" +msgid_plural "chunks of mutant meat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Meat from a heavily mutated animal. It has an unsettling loose and spongy " +"texture, but smells… mostly normal. There are strange tangles and " +"formations in it that don't appear natural at all: bits of bone and hair " +"crusted up inside the muscle, as if trying to form another organism. Still," +" seems digestible at least, if you cook it and remove the worst parts." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "scrap of mutant meat" +msgid_plural "scraps of mutant meat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for scrap of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A tiny scrap of meat from a heavily mutated animal. It smells a bit odd, " +"and has bits of hair and bone mixed in that seem like they grew inside the " +"muscle itself. Still, seems digestible at least, if you cook it and remove " +"the worst parts." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid meat" +msgstr "" + +#. ~ Description for mutant humanoid meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered from the body of a heavily mutated creature that was " +"unsettlingly humanoid in appearance. It has odd bits of fur and other " +"tissue lodged in it that clearly don't belong. You'd have to be crazy or " +"starving to eat this." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked cretin" +msgstr "" + +#. ~ Description for cooked cretin +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Cooked meat from a heavily mutated humanoid. Now that the worst bits have " +"been picked out, it's probably digestible, if not very appetizing." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "butchery refuse" msgid_plural "butchery refuse" @@ -25020,6 +26565,24 @@ msgid_plural "cooked scraps of meat" msgstr[0] "sült húscafat" msgstr[1] "sült húscafat" +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked mutant meat" +msgstr "" + +#. ~ Description for cooked mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"This is a cooked chunk of meat from a mutated animal. It has an unsettling," +" spongy texture, but otherwise tastes… mostly normal. Hopefully you got all" +" the bits of hair and bone out…" +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked scrap of mutant meat" +msgid_plural "cooked scraps of mutant meat" +msgstr[0] "" +msgstr[1] "" + #: lang/json/COMESTIBLE_from_json.py msgid "raw offal" msgstr "nyers belsőség" @@ -25249,8 +26812,8 @@ msgstr[1] "nyers agy" #. ~ Description for raw brains #: lang/json/COMESTIBLE_from_json.py -msgid "The brain from an animal. You wouldn't want to eat this raw..." -msgstr "Egy állat agya. Nyersen talán nem kellene megenni..." +msgid "The brain from an animal. You wouldn't want to eat this raw…" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "cooked brains" @@ -25308,8 +26871,8 @@ msgstr "főtt borjúmirigy" #. ~ Description for cooked sweetbread #: lang/json/COMESTIBLE_from_json.py -msgid "Normally a delicacy, it needs a little... something." -msgstr "Általában ínyencség, de ebből valami hiányzik." +msgid "Normally a delicacy, it needs a little… something." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "bone" @@ -25367,6 +26930,78 @@ msgstr "" "Sima, fehér, tiszta és olvasztott állati zsírtömb. Sokáig ehető marad, és " "számos ételek, használati tárgy elkészítéséhez lehet még felhasználni." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant fat" +msgid_plural "chunks of mutant fat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of mutant fat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered fat from a heavily mutated animal. You could eat it raw, " +"but it is better used as an ingredient in other foods or projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant tallow" +msgstr "" + +#. ~ Description for mutant tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"animal. It will remain edible for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant lard" +msgstr "" + +#. ~ Description for mutant lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant animal. It " +"will remain edible for a very long time, and can be used as an ingredient in" +" many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant humanoid fat" +msgid_plural "chunks of mutant humanoid fat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of mutant humanoid fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly butchered fat from a heavily mutated humanoid." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid tallow" +msgstr "" + +#. ~ Description for mutant humanoid tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"humanoid. It won't rot for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid lard" +msgstr "" + +#. ~ Description for mutant humanoid lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant humanoid. It" +" won't rot for a very long time, and can be used as an ingredient in many " +"foods and projects." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "chunk of tainted meat" msgid_plural "chunks of tainted meat" @@ -25560,13 +27195,8 @@ msgid "" "covered in ribbed grooves and easily the size of your head. It's still full" " of, er, whatever passes for blood in jabberwocks, and is heavy in your " "hands. After everything you've seen lately, you can't help but remember old" -" sayings about eating the hearts of your enemies..." +" sayings about eating the hearts of your enemies…" msgstr "" -"Vaskos hústömeg, ami első ránézésre egy emlős szívére emlékeztet, viszont " -"felülete rücskös, és emberfej méretű. Még mindig tele van azzal, ami a " -"gruffacsórokban vérnek számít, és nehéz a kezedben. Azok után, amiket " -"mostanában láttál, eszedbe jut a régi mondás az ellenfeleid szívének " -"elfogyasztásáról..." #: lang/json/COMESTIBLE_from_json.py msgid "desiccated putrid heart" @@ -25583,7 +27213,7 @@ msgstr "" "és amiből kifolyatták a vért. Meg lehet enni, ha nagyon éhes lennél, de " "undorító." -#: lang/json/COMESTIBLE_from_json.py +#: lang/json/COMESTIBLE_from_json.py lang/json/ammunition_type_from_json.py msgid "raw milk" msgid_plural "raw milk" msgstr[0] "" @@ -25905,7 +27535,7 @@ msgstr[1] "" #. ~ Description for chicory brew #: lang/json/COMESTIBLE_from_json.py msgid "" -"Toasted, ground chicory root steeped in boiling water. This bitter brew is " +"Toasted, ground chicory root steeped in boiling water. This bitter brew is " "used as a coffee substitute, though it tastes nothing like coffee." msgstr "" @@ -26853,11 +28483,12 @@ msgstr "Vízben tartósított ananász gyűrűk. Nagyon ízletes." #: lang/json/COMESTIBLE_from_json.py msgid "lemonade drink mix" -msgid_plural "servings of lemonade drink mix" -msgstr[0] "limonádépor" -msgstr[1] "limonádépor" +msgid_plural "lemonade drink mix" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for lemonade drink mix +#. ~ Description for {'str': 'lemonade drink mix', 'str_pl': 'lemonade drink +#. mix'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Tangy yellow powder that smells strongly of lemons. Can be mixed with water" @@ -27689,8 +29320,8 @@ msgstr[1] "mogyoróvajas cukorka" #. ~ Description for peanut butter candy #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of peanut butter cups... your favorite!" -msgstr "Egy maréknyi mogyoróvajas cukorka... a kedvenced!" +msgid "A handful of peanut butter cups… your favorite!" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "chocolate candy" @@ -27814,10 +29445,8 @@ msgstr "Finom csokitorta, rengeteg porcukorral. Rengeteggel." #: lang/json/COMESTIBLE_from_json.py msgid "" "A cake coated in the thickest icing you've ever seen. Someone has written " -"guff in quotation marks on it..." +"guff in quotation marks on it…" msgstr "" -"A valaha látott legvastagabb bevonattal ellátott tortára valaki idézőjelben " -"trágárságokat írt." #: lang/json/COMESTIBLE_from_json.py msgid "chocolate-covered coffee bean" @@ -27862,8 +29491,8 @@ msgstr[1] "borsmenta pogácsa" #. ~ Description for peppermint patty #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of soft chocolate-covered peppermint patties... yum!" -msgstr "Egy maréknyi csokibevonatú borsmenta pogácsa... Fincsi!" +msgid "A handful of soft chocolate-covered peppermint patties… yum!" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "Necco wafers" @@ -29375,14 +31004,10 @@ msgstr[1] "" #. ~ Description for antibiotics #: lang/json/COMESTIBLE_from_json.py msgid "" -"A prescription-strength antibacterial medication designed to prevent or stop" -" the spread of infection. It's the quickest and most reliable way to cure " -"any infections you might have. One dose lasts twelve hours." +"A strong antibacterial medication designed to prevent or stop the spread of " +"infection. It's the safest way to cure any infections you might have. One " +"dose lasts twelve hours." msgstr "" -"Receptre kapható erősségű antibakteriális gyógyszer, amely a fertőzés " -"megelőzésére, illetve terjedésének megakadályozására szolgál. Ezzel lehet a " -"leggyorsabban és a legbiztosabban kezelni a fertőzéseket. Egy dózis 12 órán " -"át hat." #: lang/json/COMESTIBLE_from_json.py msgid "antifungal drug" @@ -30337,8 +31962,8 @@ msgstr[1] "" #. ~ Description for antiseptic soaked rag #: lang/json/COMESTIBLE_from_json.py msgid "" -"A rag soaked in antiseptic. Useful for light wounds, probaby won't help with" -" deep bites." +"A rag soaked in antiseptic. Useful for light wounds, probaby won't help " +"with deep bites." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -30402,12 +32027,8 @@ msgid "" "oily liquid that shifts from black to purple at unpredictable intervals, " "flecked with tiny gray dots. Given the place you got it from, it's either " "very potent, or highly experimental. Holding it, all the little aches and " -"pains seem to fade, just for a moment..." +"pains seem to fade, just for a moment…" msgstr "" -"Köröm méretű, almavörös gélkapszula, amelyben sűrű, olajos, lilából feketébe" -" váltó folyadék található, benne apró szürke pontokkal. Tekintettel a " -"helyre, ahonnan szerezted, ez vagy nagyon erős, vagy nagyon kísérleti. Már " -"attól is elmúlik egy kicsit a fájdalmad, hogy a kezedben tartod..." #: lang/json/COMESTIBLE_from_json.py msgid "cattail jelly" @@ -30424,6 +32045,19 @@ msgstr "" "Gyékényből kinyert, átlátszó gél, amely fertőtlenítőként és " "fájdalomcsillapítóként is használható." +#: lang/json/COMESTIBLE_from_json.py +msgid "destragon" +msgstr "" + +#. ~ Description for destragon +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A prescription-strength antibacterial medication designed to prevent or stop" +" the spread of infection. It contains nearly toxic levels of antibiotics, " +"but can treat any bacterial infections you may encounter. One dose lasts " +"twelve hours." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "MRE entree" msgstr "MRE főétel" @@ -30839,11 +32473,9 @@ msgstr "absztrakt intravénás mutagén íz" #. ~ Description for abstract iv mutagen flavor #: lang/json/COMESTIBLE_from_json.py msgid "" -"A super-concentrated mutagen. You need a syringe to inject it... if you " +"A super-concentrated mutagen. You need a syringe to inject it… if you " "really want to?" msgstr "" -"Szuperkoncentrált mutagén. Befecskendezéséhez injekciós tű kell... ha " -"biztosan szeretnéd." #: lang/json/COMESTIBLE_from_json.py msgid "mutagenic serum" @@ -30857,10 +32489,8 @@ msgstr "alfa szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen strongly resembling blood. You need a syringe " -"to inject it... if you really want to?" +"to inject it… if you really want to?" msgstr "" -"Vérhez hasonlító szuperkoncentrált mutagén. Befecskendezéséhez injekciós tű " -"kell... ha biztosan szeretnéd." #: lang/json/COMESTIBLE_from_json.py msgid "beast serum" @@ -30870,7 +32500,7 @@ msgstr "vadállat szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as red as a matador's cape. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -30881,10 +32511,8 @@ msgstr "madár szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the pre-cataclysmic skies. You " -"need a syringe to inject it... if you really want to?" +"need a syringe to inject it… if you really want to?" msgstr "" -"A kataklizma előtti ég színéhez hasonlító szuperkoncentrált mutagén. " -"Befecskendezéséhez injekciós tű kell... ha biztosan szeretnéd." #: lang/json/COMESTIBLE_from_json.py msgid "cattle serum" @@ -30894,10 +32522,8 @@ msgstr "szarvasmarha szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of grass. You need a syringe to " -"inject it... if you really want to?" +"inject it… if you really want to?" msgstr "" -"Fűszínű szuperkoncentrált mutagén. Befecskendezéséhez injekciós tű kell... " -"ha biztosan szeretnéd." #: lang/json/COMESTIBLE_from_json.py msgid "cephalopod serum" @@ -30907,7 +32533,7 @@ msgstr "lábasfejű szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as black as ink. You need a syringe to inject " -"it... if you really want to?" +"it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -30918,7 +32544,7 @@ msgstr "kiméra szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that churns with iridescence. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -30929,7 +32555,7 @@ msgstr "elf-a szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a striking sylvan green. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -30940,7 +32566,7 @@ msgstr "macskaféle szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen, yellow and highly reflective. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -30951,10 +32577,8 @@ msgstr "hal szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the ocean, with white foam at the " -"top. You need a syringe to inject it... if you really want to?" +"top. You need a syringe to inject it… if you really want to?" msgstr "" -"Az óceán színéhez hasonlító szuperkoncentrált mutagén, tetején fehéren " -"habzik. Befecskendezéséhez injekciós tű kell... ha biztosan szeretnéd." #: lang/json/COMESTIBLE_from_json.py msgid "insect serum" @@ -30964,7 +32588,7 @@ msgstr "rovar szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a beautiful amber color. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -30975,7 +32599,7 @@ msgstr "gyík szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that shifts between various shades of green. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -30986,7 +32610,7 @@ msgstr "farkasféle szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as white as a full moon. You need a syringe to" -" inject it... if you really want to?" +" inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -30997,7 +32621,7 @@ msgstr "orvosi szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like a mixture of bodily fluids. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31008,7 +32632,7 @@ msgstr "növény szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like pureed spinach. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31019,7 +32643,7 @@ msgstr "raptor szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to shift slightly whenever you look " -"at it. You need a syringe to inject it... if you really want to?" +"at it. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31030,7 +32654,7 @@ msgstr "patkány szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a rather unappealing beige. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31041,7 +32665,7 @@ msgstr "nyálka szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks very much like the black ooze in the" -" zombies' eyes. You need a syringe to inject it... if you really want to?" +" zombies' eyes. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31052,7 +32676,7 @@ msgstr "pók szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen with pale filaments suspended in it. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31063,7 +32687,7 @@ msgstr "troglobita szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to recoil from the light. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31074,7 +32698,7 @@ msgstr "medveféle szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's the color of honey, and is just as " -"thick. You need a syringe to inject it... if you really want to?" +"thick. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31085,7 +32709,7 @@ msgstr "egér szérum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen resembling liquefied metal. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31100,10 +32724,8 @@ msgstr "alvadt vér" #: lang/json/COMESTIBLE_from_json.py msgid "" "A thick, soupy red liquid. It looks and smells disgusting, and seems to " -"bubble with an intelligence of its own..." +"bubble with an intelligence of its own…" msgstr "" -"Sűrű, leveses vörös folyadék. Már az is undorító, ahogy kinéz, meg a szaga " -"is, és mintha saját intelligenciájával bugyborogna..." #: lang/json/COMESTIBLE_from_json.py msgid "alpha mutagen" @@ -31299,23 +32921,23 @@ msgstr "" "biztonságosabb meginni, mint korábban." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of pine nuts" -msgid_plural "handfuls of pine nuts" +msgid "pine nuts" +msgid_plural "pine nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of pine nuts +#. ~ Description for {'str': 'pine nuts', 'str_pl': 'pine nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of tasty crunchy nuts from a pinecone." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of junipers" -msgid_plural "handful of junipers" +msgid "junipers" +msgid_plural "junipers" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of junipers +#. ~ Description for {'str': 'junipers', 'str_pl': 'junipers'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Junipers, for making gin and earthy flavors. Spicy, tastes similar to " @@ -31323,68 +32945,82 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pistachios" -msgid_plural "handfuls of shelled pistachios" +msgid "shelled pistachios" +msgid_plural "shelled pistachios" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled pistachios +#. ~ Description for {'str': 'shelled pistachios', 'str_pl': 'shelled +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of nuts from a pistachio tree, their shells have been removed." msgstr "Egy maroknyi héj nélküli dió a pisztáciafáról." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pistachios" -msgid_plural "handfuls of roasted pistachios" -msgstr[0] "maréknyi pörkölt pisztácia" -msgstr[1] "maréknyi pörkölt pisztácia" +msgid "roasted pistachios" +msgid_plural "roasted pistachios" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted pistachios +#. ~ Description for {'str': 'roasted pistachios', 'str_pl': 'roasted +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an pistachio tree." msgstr "Egy maroknyi megpörkölt dió a pisztáciafáról." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled almonds" -msgid_plural "handfuls of shelled almonds" +msgid "shelled almonds" +msgid_plural "shelled almonds" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled almonds +#. ~ Description for {'str': 'shelled almonds', 'str_pl': 'shelled almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of nuts from an almond tree, their shells have been removed." msgstr "Egy maroknyi héj nélküli dió a manfulafáról." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted almonds" -msgid_plural "handfuls of roasted almonds" -msgstr[0] "maréknyi pörkölt mandula" -msgstr[1] "maréknyi pörkölt mandula" +msgid "almond pulp" +msgid_plural "almond pulp" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for almond pulp +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Pulp left over after making almond milk. It's gritty and incredibly bland." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "roasted almonds" +msgid_plural "roasted almonds" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted almonds +#. ~ Description for {'str': 'roasted almonds', 'str_pl': 'roasted almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an almond tree." msgstr "Egy maroknyi megpörkölt dió a mandulafáról." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cashews" -msgid_plural "handfuls of cashews" +msgid "cashews" +msgid_plural "cashews" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of cashews +#. ~ Description for {'str': 'cashews', 'str_pl': 'cashews'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of salty cashews." msgstr "Egy maréknyi sós kesudió." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pecans" -msgid_plural "handfuls of shelled pecans" +msgid "shelled pecans" +msgid_plural "shelled pecans" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled pecans +#. ~ Description for {'str': 'shelled pecans', 'str_pl': 'shelled pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of pecans which are a sub-species of hickory nuts, their shells " @@ -31394,45 +33030,45 @@ msgstr "" "eltávolították." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pecans" -msgid_plural "handfuls of roasted pecans" -msgstr[0] "maréknyi pörkölt pekándió" -msgstr[1] "maréknyi pörkölt pekándió" +msgid "roasted pecans" +msgid_plural "roasted pecans" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted pecans +#. ~ Description for {'str': 'roasted pecans', 'str_pl': 'roasted pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a pecan tree." msgstr "Egy maroknyi megpörkölt dió a pekándiófáról." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled peanuts" -msgid_plural "handful of shelled peanuts" -msgstr[0] "maréknyi hántolt földimogyoró" -msgstr[1] "maréknyi hántolt földimogyoró" +msgid "shelled peanuts" +msgid_plural "shelled peanuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of shelled peanuts +#. ~ Description for {'str': 'shelled peanuts', 'str_pl': 'shelled peanuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Salty peanuts with their shells removed." msgstr "Héjatlan, sós földimogyoró." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of beech nuts" -msgid_plural "handfuls of beech nuts" +msgid "beech nuts" +msgid_plural "beech nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of beech nuts +#. ~ Description for {'str': 'beech nuts', 'str_pl': 'beech nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of hard pointy nuts from a beech tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled walnuts" -msgid_plural "handfuls of shelled walnuts" -msgstr[0] "maréknyi hántolt dió" -msgstr[1] "maréknyi hántolt dió" +msgid "shelled walnuts" +msgid_plural "shelled walnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of shelled walnuts +#. ~ Description for {'str': 'shelled walnuts', 'str_pl': 'shelled walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a walnut tree, their shells have been " @@ -31440,23 +33076,24 @@ msgid "" msgstr "Egy maroknyi héj nélküli nyers dió a diófáról." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted walnuts" -msgid_plural "handfuls of roasted walnuts" -msgstr[0] "maréknyi pörkölt dió" -msgstr[1] "maréknyi pörkölt dió" +msgid "roasted walnuts" +msgid_plural "roasted walnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted walnuts +#. ~ Description for {'str': 'roasted walnuts', 'str_pl': 'roasted walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a walnut tree." msgstr "Egy maroknyi megpörkölt dió a diófáról." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled chestnuts" -msgid_plural "handfuls of shelled chestnuts" -msgstr[0] "maréknyi hántolt gesztenye" -msgstr[1] "maréknyi hántolt gesztenye" +msgid "shelled chestnuts" +msgid_plural "shelled chestnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of shelled chestnuts +#. ~ Description for {'str': 'shelled chestnuts', 'str_pl': 'shelled +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a chestnut tree, their shells have been " @@ -31464,23 +33101,25 @@ msgid "" msgstr "Egy maroknyi héj nélküli nyers gesztenye a gesztenyefáról." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted chestnuts" -msgid_plural "handfuls of roasted chestnuts" -msgstr[0] "maréknyi pörkölt gesztenye" -msgstr[1] "maréknyi pörkölt gesztenye" +msgid "roasted chestnuts" +msgid_plural "roasted chestnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted chestnuts +#. ~ Description for {'str': 'roasted chestnuts', 'str_pl': 'roasted +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a chestnut tree." msgstr "Egy maroknyi megpörkölt gesztenye a gesztenyefáról." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hazelnuts" -msgid_plural "handfuls of shelled hazelnuts" +msgid "shelled hazelnuts" +msgid_plural "shelled hazelnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled hazelnuts +#. ~ Description for {'str': 'shelled hazelnuts', 'str_pl': 'shelled +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hazelnut tree, their shells have been " @@ -31488,45 +33127,47 @@ msgid "" msgstr "Egy maroknyi héj nélküli nyers mogyoró a mogyoróbokorról." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted edamame" -msgid_plural "handful of roasted edamame" +msgid "roasted edamame" +msgid_plural "roasted edamame" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted edamame +#. ~ Description for {'str': 'roasted edamame', 'str_pl': 'roasted edamame'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted edamame, a heart healthy snack." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted soy nuts" -msgid_plural "handful of roasted soy nuts" +msgid "roasted soy nuts" +msgid_plural "roasted soy nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted soy nuts +#. ~ Description for {'str': 'roasted soy nuts', 'str_pl': 'roasted soy nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted soybeans, often called soy nuts." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hazelnuts" -msgid_plural "handfuls of roasted hazelnuts" -msgstr[0] "maréknyi pörkölt mogyoró" -msgstr[1] "maréknyi pörkölt mogyoró" +msgid "roasted hazelnuts" +msgid_plural "roasted hazelnuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted hazelnuts +#. ~ Description for {'str': 'roasted hazelnuts', 'str_pl': 'roasted +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hazelnut tree." msgstr "Egy maroknyi megpörkölt mogyoró a mogyoróbokorról." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hickory nuts" -msgid_plural "handfuls of shelled hickory nuts" -msgstr[0] "maroknyi meghámozott hikori dió" -msgstr[1] "maroknyi meghámozott hikori dió" +msgid "shelled hickory nuts" +msgid_plural "shelled hickory nuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of shelled hickory nuts +#. ~ Description for {'str': 'shelled hickory nuts', 'str_pl': 'shelled +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hickory tree, their shells have been " @@ -31534,12 +33175,13 @@ msgid "" msgstr "Egy maroknyi héj nélküli nyers kemény dió a hikorifáról." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hickory nuts" -msgid_plural "handfuls of roasted hickory nuts" -msgstr[0] "maroknyi megpörkölt hikori dió" -msgstr[1] "maroknyi megpörkölt hikori dió" +msgid "roasted hickory nuts" +msgid_plural "roasted hickory nuts" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted hickory nuts +#. ~ Description for {'str': 'roasted hickory nuts', 'str_pl': 'roasted +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hickory tree." msgstr "Egy maroknyi megpörkölt dió a hikorifáról." @@ -31554,12 +33196,12 @@ msgid "Delicious hickory nut ambrosia. A drink worthy of the gods." msgstr "Finom hikoridió ambrózia. Az istenek méltó itala." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of acorns" -msgid_plural "handfuls of acorns" -msgstr[0] "maroknyi makk" -msgstr[1] "maroknyi makk" +msgid "acorns" +msgid_plural "acorns" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of acorns +#. ~ Description for {'str': 'acorns', 'str_pl': 'acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of acorns, still in their shells. Squirrels like them, but " @@ -31568,12 +33210,12 @@ msgstr "" "Héjában található makk. A mókusok szeretik, de így hámozatlanul te nem." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted acorns" -msgid_plural "handfuls of roasted acorns" -msgstr[0] "maréknyi pörkölt makk" -msgstr[1] "maréknyi pörkölt makk" +msgid "roasted acorns" +msgid_plural "roasted acorns" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of roasted acorns +#. ~ Description for {'str': 'roasted acorns', 'str_pl': 'roasted acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful roasted nuts from an oak tree." msgstr "Egy maroknyi megpörkölt makk a tölgyfáról." @@ -31872,8 +33514,8 @@ msgstr "Egy darab papír, tüzet lehet vele gyújtani." #: lang/json/COMESTIBLE_from_json.py msgid "canned beans" msgid_plural "beans" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "konzervbab" +msgstr[1] "bab" #. ~ Description for canned beans #: lang/json/COMESTIBLE_from_json.py @@ -32163,11 +33805,12 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "soylent green powder" -msgid_plural "servings of soylent green powder" -msgstr[0] "zöld szója por" -msgstr[1] "zöld szója por" +msgid_plural "soylent green powder" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for soylent green powder +#. ~ Description for {'str': 'soylent green powder', 'str_pl': 'soylent green +#. powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein made out of people! While quite nutritious, it is " @@ -32217,11 +33860,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "protein powder" -msgid_plural "servings of protein powder" -msgstr[0] "protein por" -msgstr[1] "protein por" +msgid_plural "protein powder" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for protein powder +#. ~ Description for {'str': 'protein powder', 'str_pl': 'protein powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein. While quite nutritious, it is impossible to enjoy in " @@ -32297,34 +33940,34 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "Nagyon savanyú citrusféle. Ha annyira szeretnéd, megeheted." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blueberries" -msgid_plural "handful of blueberries" -msgstr[0] "maroknyi áfonya" -msgstr[1] "maroknyi áfonya" +msgid "blueberries" +msgid_plural "blueberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of blueberries +#. ~ Description for {'str': 'blueberries', 'str_pl': 'blueberries'} #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "Kicsit fanyar, de legalább a miénk." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of strawberries" -msgid_plural "handful of strawberries" -msgstr[0] "maroknyi eper" -msgstr[1] "maroknyi eper" +msgid "strawberries" +msgid_plural "strawberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of strawberries +#. ~ Description for {'str': 'strawberries', 'str_pl': 'strawberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "Ízes és zamatos bogyó, gyakran nő a vadonban is." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cranberries" -msgid_plural "handful of cranberries" -msgstr[0] "maroknyi cranberry" -msgstr[1] "maroknyi cranberry" +msgid "cranberries" +msgid_plural "cranberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of cranberries +#. ~ Description for {'str': 'cranberries', 'str_pl': 'cranberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "" @@ -32332,34 +33975,34 @@ msgstr "" "egészséges." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of raspberries" -msgid_plural "handful of raspberries" -msgstr[0] "maroknyi málna" -msgstr[1] "maroknyi málna" +msgid "raspberries" +msgid_plural "raspberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of raspberries +#. ~ Description for {'str': 'raspberries', 'str_pl': 'raspberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "Édes piros bogyó." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of huckleberries" -msgid_plural "handful of huckleberries" -msgstr[0] "maroknyi huckleberry" -msgstr[1] "maroknyi huckleberry" +msgid "huckleberries" +msgid_plural "huckleberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of huckleberries +#. ~ Description for {'str': 'huckleberries', 'str_pl': 'huckleberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "A huckleberry-t gyakran keverik össze a kék áfonyával." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of mulberries" -msgid_plural "handful of mulberries" -msgstr[0] "maroknyi faeper" -msgstr[1] "maroknyi faeper" +msgid "mulberries" +msgid_plural "mulberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of mulberries +#. ~ Description for {'str': 'mulberries', 'str_pl': 'mulberries'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -32369,24 +34012,24 @@ msgstr "" "összes faepre közül ennek a legerősebb az íze." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of elderberries" -msgid_plural "handful of elderberries" -msgstr[0] "maroknyi bodza" -msgstr[1] "maroknyi bodza" +msgid "elderberries" +msgid_plural "elderberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of elderberries +#. ~ Description for {'str': 'elderberries', 'str_pl': 'elderberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "" "Az amerikai bodza gyümölcse nyersen mérgező, de főzés után nagyon finom." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of rose hips" -msgid_plural "handful of rose hips" -msgstr[0] "maroknyi csipkebogyó" -msgstr[1] "maroknyi csipkebogyó" +msgid "rose hips" +msgid_plural "rose hips" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of rose hips +#. ~ Description for {'str': 'rose hips', 'str_pl': 'rose hips'} #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "A beporzott rózsavirág gyümölcse." @@ -32423,12 +34066,12 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "Citrusféle, íze a savanykástól a félédesig terjed." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cherries" -msgid_plural "handful of cherries" -msgstr[0] "maroknyi cseresznye" -msgstr[1] "maroknyi cseresznye" +msgid "cherries" +msgid_plural "cherries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of cherries +#. ~ Description for {'str': 'cherries', 'str_pl': 'cherries'} #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "Vörös és édes gyümölcs, fán terem." @@ -32445,12 +34088,12 @@ msgstr "" "Egy maréknyi nagy szemű lila szilva. Egészséges és jót tesz az emésztésnek." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of grapes" -msgid_plural "handful of grapes" -msgstr[0] "maroknyi szőlő" -msgstr[1] "maroknyi szőlő" +msgid "grapes" +msgid_plural "grapes" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of grapes +#. ~ Description for {'str': 'grapes', 'str_pl': 'grapes'} #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "Egy fürt lédús szőlő." @@ -32503,12 +34146,12 @@ msgid "A large and very sweet fruit." msgstr "Nagyméretű és nagyon édes gyümölcs." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blackberries" -msgid_plural "handful of blackberries" -msgstr[0] "maroknyi szeder" -msgstr[1] "maroknyi szeder" +msgid "blackberries" +msgid_plural "blackberries" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of blackberries +#. ~ Description for {'str': 'blackberries', 'str_pl': 'blackberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "A málna sötétebb tesója." @@ -32551,16 +34194,27 @@ msgid "" msgstr "Nagy, barna bőrű és szőrös bogyó. A finom belseje zöld színű." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of apricots" -msgid_plural "handful of apricots" -msgstr[0] "maroknyi sárgabarack" -msgstr[1] "maroknyi sárgabarack" +msgid "apricots" +msgid_plural "apricots" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of apricots +#. ~ Description for {'str': 'apricots', 'str_pl': 'apricots'} #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "Sima héjú gyümölcs, az őszibarack rokona." +#: lang/json/COMESTIBLE_from_json.py +msgid "cholla bud" +msgstr "" + +#. ~ Description for cholla bud +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Edible bud of a cholla cactus, with spines removed; the candy of the Mojave " +"indigenous peoples. Tastes similar to asparagus." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "cactus pad" msgstr "" @@ -32748,11 +34402,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "salsify" -msgid_plural "handfuls of salsify" +msgid_plural "salsify" msgstr[0] "" msgstr[1] "" -#. ~ Description for salsify +#. ~ Description for {'str': 'salsify', 'str_pl': 'salsify'} #: lang/json/COMESTIBLE_from_json.py msgid "" "An herb with a small purple flower. The roots are nutritious, but tough and" @@ -32762,11 +34416,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py lang/json/COMESTIBLE_from_json.py #: lang/json/furniture_from_json.py msgid "chicory" -msgid_plural "handfuls of chicory" +msgid_plural "chicory" msgstr[0] "" msgstr[1] "" -#. ~ Description for chicory +#. ~ Description for {'str': 'chicory', 'str_pl': 'chicory'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A modest blue flower. The flower's roots are very bitter and not meant to " @@ -32884,12 +34538,12 @@ msgstr "" "Emberi fej méretű, nagy zöldség. Nyersen nem túl finom, de sütve már igen." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of dandelions" -msgid_plural "handfuls of dandelions" -msgstr[0] "marék pitypang" -msgstr[1] "marék pitypang" +msgid "dandelions" +msgid_plural "dandelions" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for handful of dandelions +#. ~ Description for {'str': 'dandelions', 'str_pl': 'dandelions'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A collection of freshly picked yellow dandelions. In their current raw " @@ -33028,12 +34682,12 @@ msgid "Raw, uncooked lentils. They could be cooked." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of fiddleheads" -msgid_plural "handfuls of fiddleheads" +msgid "fiddleheads" +msgid_plural "fiddleheads" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of fiddleheads +#. ~ Description for {'str': 'fiddleheads', 'str_pl': 'fiddleheads'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of immature fern fronds, still curled up like the head of a " @@ -34956,8 +36610,8 @@ msgstr[1] "" #. ~ Description for raw spaghetti pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of pasta usually used when preparing spaghetti. It could be eaten raw" -" if you're desperate, but is much better cooked." +"A type of pasta usually used when preparing spaghetti. It could be eaten " +"raw if you're desperate, but is much better cooked." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -34969,7 +36623,7 @@ msgstr[1] "" #. ~ Description for raw lasagne pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pasta sheet used in making lasagne. It could be eaten raw if you're " +"A pasta sheet used in making lasagne. It could be eaten raw if you're " "desperate, but is much better cooked." msgstr "" @@ -35438,7 +37092,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "Strong alcohol, infused with mana and concentrated into a liquid that can " -"stabilize spells into liquid form. You can still drink it, if you want." +"stabilize spells into liquid form. You can still drink it, if you want." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -35451,7 +37105,7 @@ msgstr[1] "" #: lang/json/COMESTIBLE_from_json.py msgid "" "An organ located above the kidneys responsible for secretion of adrenaline, " -"cortisol, and aldosterone. This one is huge, whether by nature or mutation." +"cortisol, and aldosterone. This one is huge, whether by nature or mutation." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -35548,8 +37202,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human, including pieces of bone " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -35560,8 +37214,9 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human covered with bone, including" -" pieces of organs. Necromantic magic delays immediate rot, but it won't last" -" forever. Piercing it with the attached needle could compel it to serve you." +" pieces of organs. Necromantic magic delays immediate rot, but it won't " +"last forever. Piercing it with the attached needle could compel it to serve" +" you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -35572,8 +37227,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead cougar, complete with fur, bones, " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -35584,8 +37239,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -35596,9 +37251,9 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal. Improved infusion techniques lessen the strain of the " -"process." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal. Improved infusion techniques lessen the strain of " +"the process." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -35633,7 +37288,7 @@ msgstr[1] "" #. ~ Description for hairball #: lang/json/COMESTIBLE_from_json.py msgid "" -"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." +"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -35650,6 +37305,16 @@ msgid "" " properties." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "scream mushroom" +msgstr "" + +#. ~ Description for scream mushroom +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"The mushrooms harvested from a dead shrieker. Could be used in potions." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "resinous cord" msgstr "gyantás zsinór" @@ -35675,13 +37340,13 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "caramel ointement" +msgid "caramel ointment" msgstr "" -#. ~ Description for caramel ointement +#. ~ Description for caramel ointment #: lang/json/COMESTIBLE_from_json.py msgid "" -"An ointement made of caramel. You could use it to heal your wounds, if you " +"An ointment made of caramel. You could use it to heal your wounds, if you " "were made of sugar." msgstr "" @@ -36374,15 +38039,6 @@ msgstr[1] "rizsliszt" msgid "This rice flour is useful for baking." msgstr "Ez a rizsliszt hasznos sütés-főzéshez." -#: lang/json/COMESTIBLE_from_json.py -msgid "cholla bud" -msgstr "" - -#. ~ Description for cholla bud -#: lang/json/COMESTIBLE_from_json.py -msgid "The candy of the Mojave Indigenous peoples." -msgstr "" - #: lang/json/COMESTIBLE_from_json.py msgid "revival serum" msgstr "újraélesztő szérum" @@ -36587,8 +38243,8 @@ msgstr "" #: lang/json/CONTAINER_from_json.py msgid "small cardboard box" msgid_plural "small cardboard boxes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kicsi kartondoboz" +msgstr[1] "kicsi kartondoboz" #. ~ Description for small cardboard box #: lang/json/CONTAINER_from_json.py @@ -36692,8 +38348,8 @@ msgstr[1] "" #. ~ Description for paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"It has a threaded cap for easy resealing." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" It has a threaded cap for easy resealing." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -36705,8 +38361,8 @@ msgstr[1] "" #. ~ Description for opened paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"This one is open and its contents will spoil." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" This one is open and its contents will spoil." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -37271,8 +38927,8 @@ msgstr[1] "" #. ~ Description for survival kit box #: lang/json/CONTAINER_from_json.py msgid "" -"An aluminum box that used to contain a small survival kit. Can hold 1 liter " -"of liquid." +"An aluminum box that used to contain a small survival kit. Can hold 1 liter" +" of liquid." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -37376,6 +39032,22 @@ msgid "" " for maximum yield. It can be crafted with various seeds to plant them." msgstr "" +#: lang/json/CONTAINER_from_json.py +msgid "endless flask" +msgid_plural "endless flasks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "You open the flask and discover it full of sweet, sweet, whiskey!" +msgstr "" + +#. ~ Use action not_ready_msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "The flask isn't done refilling yet." +msgstr "" + #: lang/json/CONTAINER_from_json.py msgid "aluminum foil wrap" msgid_plural "aluminum foil wraps" @@ -37852,8 +39524,8 @@ msgstr[1] "" #. ~ Description for rhodonite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of rhodonite. It has manganese dioxide covering and going through it" -" in veins, which can be obtained using a chisel." +"A chunk of rhodonite. It has manganese dioxide covering and going through " +"it in veins, which can be obtained using a chisel." msgstr "" #: lang/json/GENERIC_from_json.py @@ -37865,7 +39537,7 @@ msgstr[1] "" #. ~ Description for zincite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " +"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " "reduction with a source of carbon." msgstr "" @@ -37881,89 +39553,89 @@ msgid "A root from a hickory tree. It has an earthy smell." msgstr "Egy hikorifa gyökere. Földes illata van." #: lang/json/GENERIC_from_json.py -msgid "handful of hickory nuts" -msgid_plural "handfuls of hickory nuts" +msgid "hickory nuts" +msgid_plural "hickory nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of hickory nuts +#. ~ Description for {'str': 'hickory nuts', 'str_pl': 'hickory nuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hickory tree, still in their shell." msgstr "Egy maroknyi nyers kemény dió a hikorifáról, héjastul." #: lang/json/GENERIC_from_json.py -msgid "handful of pecans" -msgid_plural "handfuls of pecans" +msgid "pecans" +msgid_plural "pecans" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of pecans +#. ~ Description for {'str': 'pecans', 'str_pl': 'pecans'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pecan tree, still in their shell." msgstr "Egy maroknyi nyers kemény dió a pekándiófáról, héjastul." #: lang/json/GENERIC_from_json.py -msgid "handful of pistachios" -msgid_plural "handfuls of pistachios" +msgid "pistachios" +msgid_plural "pistachios" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of pistachios +#. ~ Description for {'str': 'pistachios', 'str_pl': 'pistachios'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pistachio tree, still in their shell." msgstr "Egy maroknyi nyers kemény dió a pisztáciafáról, héjastul." #: lang/json/GENERIC_from_json.py -msgid "handful of almonds" -msgid_plural "handfuls of almonds" +msgid "almonds" +msgid_plural "almonds" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of almonds +#. ~ Description for {'str': 'almonds', 'str_pl': 'almonds'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a almond tree, still in their shell." msgstr "Egy maroknyi nyers kemény dió a mandulafáról, héjastul." #: lang/json/GENERIC_from_json.py -msgid "handful of peanuts" -msgid_plural "handfuls of peanuts" +msgid "peanuts" +msgid_plural "peanuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of peanuts +#. ~ Description for {'str': 'peanuts', 'str_pl': 'peanuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a peanut bush, still in their shell." msgstr "Egy maroknyi nyers kemény dió a földimogyoró-bokorról, héjastul." #: lang/json/GENERIC_from_json.py -msgid "handful of hazelnuts" -msgid_plural "handfuls of hazelnuts" +msgid "hazelnuts" +msgid_plural "hazelnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of hazelnuts +#. ~ Description for {'str': 'hazelnuts', 'str_pl': 'hazelnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hazelnut tree, still in their shell." msgstr "Egy maroknyi nyers kemény dió a mogyoróbokorról, héjastul." #: lang/json/GENERIC_from_json.py -msgid "handful of chestnuts" -msgid_plural "handfuls of chestnuts" +msgid "chestnuts" +msgid_plural "chestnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of chestnuts +#. ~ Description for {'str': 'chestnuts', 'str_pl': 'chestnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a chestnut tree, still in their shell." msgstr "Egy maroknyi nyers kemény dió a gesztenyefáról, héjastul." #: lang/json/GENERIC_from_json.py -msgid "handful of walnuts" -msgid_plural "handfuls of walnuts" +msgid "walnuts" +msgid_plural "walnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of walnuts +#. ~ Description for {'str': 'walnuts', 'str_pl': 'walnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a walnut tree, still in their shell." msgstr "Egy maroknyi nyers kemény dió a diófáról, héjastul." @@ -38105,7 +39777,7 @@ msgstr "" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"A dead body with a frightful grimace. He appears to have been horribly " +"A dead body with a frightful grimace. He appears to have been horribly " "mangled prior to his death." msgstr "" @@ -38129,7 +39801,7 @@ msgstr "" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"The upper half of a dead body, as if torn apart with enormous force. Some " +"The upper half of a dead body, as if torn apart with enormous force. Some " "organs are hanging out." msgstr "" @@ -38235,6 +39907,12 @@ msgstr "izom" msgid "wind" msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "metabolism" +msgid_plural "metabolisms" +msgstr[0] "" +msgstr[1] "" + #: lang/json/GENERIC_from_json.py msgid "a smoking device and a source of flame" msgstr "dohányzó eszköz és nyílt láng" @@ -38254,6 +39932,31 @@ msgstr "" "Több dokumentum mindenféle információkkal, vevői adatokkal és táblázatokkal," " most már nem túl hasznos." +#: lang/json/GENERIC_from_json.py +msgid "INCIDENT REPORT: IMMERSION-27A" +msgid_plural "INCIDENT REPORT: IMMERSION-27As" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for INCIDENT REPORT: IMMERSION-27A +#: lang/json/GENERIC_from_json.py +msgid "" +"A white piece of paper, with the logo of XEDRA printed on its upper left " +"corner. It seems to be an internal report of some kind." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "MATERIAL: T-SUBSTRATE" +msgid_plural "MATERIAL: T-SUBSTRATEs" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "HAADF MICROGRAPH: T-SUBSTRATE" +msgid_plural "HAADF MICROGRAPH: T-SUBSTRATEs" +msgstr[0] "" +msgstr[1] "" + #: lang/json/GENERIC_from_json.py msgid "foodplace loyalty card" msgid_plural "foodplace loyalty cards" @@ -38264,7 +39967,7 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "A bright pink loyalty card, all the points are stamped. This would " -"definitely prove your fidelity to Foodplace, if it still meant anything..." +"definitely prove your fidelity to Foodplace, if it still meant anything…" msgstr "" #: lang/json/GENERIC_from_json.py @@ -38410,8 +40113,8 @@ msgstr[1] "" #. ~ Description for set of 100 ceramic disk #: lang/json/GENERIC_from_json.py msgid "" -"A set of small slightly elongated disks, made of high-grade ceramic. They " -"remind you of scales" +"A set of small slightly elongated disks, made of high-grade ceramic. They " +"remind you of scales." msgstr "" #: lang/json/GENERIC_from_json.py @@ -38467,6 +40170,18 @@ msgid "" msgstr "" "Szorosan összekötözött nemezdarabok. Szétcsomagolásához szét kell szedni." +#: lang/json/GENERIC_from_json.py +msgid "t-substrate sample" +msgid_plural "t-substrate samples" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for t-substrate sample +#: lang/json/GENERIC_from_json.py +msgid "" +"An acrylic cube cast around a small black crystal. It's tepid to the touch." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "biollante bud" msgid_plural "biollante buds" @@ -38721,6 +40436,18 @@ msgstr "" "Egy darab betonvas. Jó közelharc fegyvernek, továbbá tartósabb falak és " "egyéb megerősített építmények építéséhez." +#: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "small railroad track" +msgid_plural "small railroad tracks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for small railroad track +#: lang/json/GENERIC_from_json.py +msgid "A length of track, made from some planks and rails." +msgstr "" + #: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py msgid "concrete" msgid_plural "concrete" @@ -38788,22 +40515,6 @@ msgid "" msgstr "" "Nagy méretű, megerősített rugó. Összenyomásra jelentős erővel rúg vissza." -#: lang/json/GENERIC_from_json.py -msgid "leaf spring" -msgid_plural "leaf springs" -msgstr[0] "laprugó" -msgstr[1] "laprugó" - -#. ~ Description for leaf spring -#: lang/json/GENERIC_from_json.py -msgid "" -"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" -" an awful lot like a bow. You can barely bend it..." -msgstr "" -"Nagyméretű, nagy teherbírású laprugó, valószínűleg gépkocsiból vagy " -"teherautóból származik. Annyira hajlott, mint egy íj. Alig tudod " -"elgörbíteni." - #: lang/json/GENERIC_from_json.py msgid "lawnmower" msgid_plural "lawnmowers" @@ -39789,10 +41500,8 @@ msgstr[1] "Tudományos SD memóriakártya" #: lang/json/GENERIC_from_json.py msgid "" "This memory card appears to be related to 'XEDRA', and is certainly " -"encrypted. Looks * Interesting *, though..." +"encrypted. Looks *Interesting*, though…" msgstr "" -"Ez a memóriakártya valami módon a XEDRA projekthez kapcsolódik. Érdekes, " -"érdekes..." #: lang/json/GENERIC_from_json.py msgid "hand mirror" @@ -39849,17 +41558,6 @@ msgstr "" "Tüskés toboz egy fenyőfáról. Amikor megrázod, akkor száraz magvak csörögnek " "a belsejében." -#: lang/json/GENERIC_from_json.py -msgid "poppy flower" -msgid_plural "poppy flowers" -msgstr[0] "mákvirág" -msgstr[1] "mákvirág" - -#. ~ Description for poppy flower -#: lang/json/GENERIC_from_json.py -msgid "A poppy stalk with some petals." -msgstr "Mákvirág egy pár szirommal." - #: lang/json/GENERIC_from_json.py msgid "poppy bud" msgid_plural "poppy buds" @@ -39873,237 +41571,6 @@ msgid "" "flower." msgstr "A mutáns mákvirág által létrehozott anyagokat tartalmazza." -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "bluebell" -msgid_plural "bluebells" -msgstr[0] "harangvirág" -msgstr[1] "harangvirág" - -#. ~ Description for bluebell -#: lang/json/GENERIC_from_json.py -msgid "A bluebell stalk with some petals." -msgstr "Harangvirág egy pár szirommal." - -#: lang/json/GENERIC_from_json.py -msgid "bluebell bud" -msgid_plural "bluebell buds" -msgstr[0] "haragvirág bimbó" -msgstr[1] "haragvirág bimbó" - -#. ~ Description for bluebell bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A bluebell bud. Contains some substances commonly produced by a bluebell " -"flower." -msgstr "" -"Egy harangvirág bimbója. A harangvirág által létrehozott anyagokat " -"tartalmazza." - -#. ~ Description for dahlia -#: lang/json/GENERIC_from_json.py -msgid "A dahlia stalk with some petals." -msgstr "Dáliavirág egy pár szirommal." - -#: lang/json/GENERIC_from_json.py -msgid "dahlia bud" -msgid_plural "dahlia buds" -msgstr[0] "dália bimbó" -msgstr[1] "dália bimbó" - -#. ~ Description for dahlia bud -#: lang/json/GENERIC_from_json.py -msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." -msgstr "Egy dália bimbója. A dália által létrehozott anyagokat tartalmazza." - -#. ~ Description for rose -#: lang/json/GENERIC_from_json.py -msgid "A rose stalk with some petals." -msgstr "Rózsaszár egy pár szirommal." - -#: lang/json/GENERIC_from_json.py -msgid "rose bud" -msgid_plural "rose buds" -msgstr[0] "rózsabimbó" -msgstr[1] "rózsabimbó" - -#. ~ Description for rose bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A rose bud. Contains some substances commonly produced by a rose flower." -msgstr "Egy rózsa bimbója. A rózsa által létrehozott anyagokat tartalmazza." - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea" -msgid_plural "hydrangeas" -msgstr[0] "hortenzia" -msgstr[1] "hortenzia" - -#. ~ Description for hydrangea -#: lang/json/GENERIC_from_json.py -msgid "A hydrangea stalk with some petals." -msgstr "Hortaenzia virága egy pár szirommal." - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea bud" -msgid_plural "hydrangea buds" -msgstr[0] "hortenzia bimbó" -msgstr[1] "hortenzia bimbó" - -#. ~ Description for hydrangea bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A hydrangea bud. Contains some substances commonly produced by a hydrangea " -"flower." -msgstr "" -"Egy hortenzia bimbója. A hortenzia által létrehozott anyagokat tartalmazza." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "tulip" -msgid_plural "tulips" -msgstr[0] "tulipán" -msgstr[1] "tulipán" - -#. ~ Description for tulip -#: lang/json/GENERIC_from_json.py -msgid "A tulip stalk with some petals." -msgstr "Tulipán virága egy pár szirommal." - -#: lang/json/GENERIC_from_json.py -msgid "tulip bud" -msgid_plural "tulip buds" -msgstr[0] "tulipán bimbó" -msgstr[1] "tulipán bimbó" - -#. ~ Description for tulip bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A tulip bud. Contains some substances commonly produced by a tulip flower." -msgstr "" -"Egy tulipán bimbója. A tulipán által létrehozott anyagokat tartalmazza." - -#: lang/json/GENERIC_from_json.py -msgid "spurge" -msgid_plural "spurges" -msgstr[0] "kutyatej" -msgstr[1] "kutyatej" - -#. ~ Description for spurge -#: lang/json/GENERIC_from_json.py -msgid "A spurge stalk with some petals." -msgstr "Egy kutyatej szára egy pár szirommal." - -#: lang/json/GENERIC_from_json.py -msgid "spurge bud" -msgid_plural "spurge buds" -msgstr[0] "kutyatej bimbó" -msgstr[1] "kutyatej bimbó" - -#. ~ Description for spurge bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A spurge bud. Contains some substances commonly produced by a spurge " -"flower." -msgstr "" -"Egy kutyatej bimbója. A kutyatej által létrehozott anyagokat tartalmazza." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "black eyed susan" -msgid_plural "black eyed susans" -msgstr[0] "borzas kúpvirág" -msgstr[1] "borzas kúpvirág" - -#. ~ Description for black eyed susan -#: lang/json/GENERIC_from_json.py -msgid "A black eyed susan stalk with some petals." -msgstr "Borzas kúpvirág egy pár szirommal." - -#: lang/json/GENERIC_from_json.py -msgid "black eyed susan bud" -msgid_plural "black eyed susan buds" -msgstr[0] "borzas kúpvirág bimbó" -msgstr[1] "borzas kúpvirág bimbó" - -#. ~ Description for black eyed susan bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A black eyed susan bud. Contains some substances commonly produced by a " -"black eyed susan flower." -msgstr "" -"Egy borzas kúpvirág bimbója. A borzas kúpvirág által létrehozott anyagokat " -"tartalmazza." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lily" -msgid_plural "lilys" -msgstr[0] "liliom" -msgstr[1] "liliom" - -#. ~ Description for lily -#: lang/json/GENERIC_from_json.py -msgid "A lily stalk with some petals." -msgstr "Lilomvirág egy pár szirommal." - -#: lang/json/GENERIC_from_json.py -msgid "lily bud" -msgid_plural "lily buds" -msgstr[0] "liliom bimbó" -msgstr[1] "liliom bimbó" - -#. ~ Description for lily bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lily bud. Contains some substances commonly produced by a lily flower." -msgstr "Egy liliom bimbója. A liliom által létrehozott anyagokat tartalmazza." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lotus" -msgid_plural "lotuss" -msgstr[0] "lótuszvirág" -msgstr[1] "lótuszvirág" - -#. ~ Description for lotus -#: lang/json/GENERIC_from_json.py -msgid "A lotus stalk with some petals." -msgstr "Lótuszvirág szár egy pár szirommal." - -#: lang/json/GENERIC_from_json.py -msgid "lotus bud" -msgid_plural "lotus buds" -msgstr[0] "lótuszvirág bimbó" -msgstr[1] "lótuszvirág bimbó" - -#. ~ Description for lotus bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lotus bud. Contains some substances commonly produced by a lotus flower." -msgstr "" -"Egy lótuszvirág bimbója. A lótuszvirág által létrehozott anyagokat " -"tartalmazza." - -#: lang/json/GENERIC_from_json.py -msgid "lilac" -msgid_plural "lilacs" -msgstr[0] "orgona" -msgstr[1] "orgona" - -#. ~ Description for lilac -#: lang/json/GENERIC_from_json.py -msgid "A lilac stalk with some petals." -msgstr "Orgonavirág egy pár szirommal." - -#: lang/json/GENERIC_from_json.py -msgid "lilac bud" -msgid_plural "lilac buds" -msgstr[0] "orgonabimbó" -msgstr[1] "orgonabimbó" - -#. ~ Description for lilac bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lilac bud. Contains some substances commonly produced by a lilac flower." -msgstr "" -"Egy orgona bimbója. Az orgona által létrehozott anyagokat tartalmazza." - #. ~ Description for sunflower #: lang/json/GENERIC_from_json.py msgid "" @@ -40114,12 +41581,13 @@ msgstr "" "nem ettek meg a vadállatok." #: lang/json/GENERIC_from_json.py -msgid "handful of chamomile flowers" -msgid_plural "handfuls of chamomile flowers" +msgid "chamomile flowers" +msgid_plural "chamomile flowers" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of chamomile flowers +#. ~ Description for {'str': 'chamomile flowers', 'str_pl': 'chamomile +#. flowers'} #: lang/json/GENERIC_from_json.py msgid "" "White chamomile flowers, used as a herbal remedy since the ancient times." @@ -40409,12 +41877,14 @@ msgstr "Sok darab 20 dolláros kötege, most már eléggé haszontalan dolog." #. ~ Use action menu_text for cigar. #. ~ Use action menu_text for cigarette. #. ~ Use action menu_text for joint. +#. ~ Use action menu_text for spooky jack o'lantern. +#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for candle. #. ~ Use action menu_text for refillable lighter. #. ~ Use action menu_text for torch. -#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for ember carrier (lit). #. ~ Use action menu_text for Louisville Slaughterer. +#. ~ Use action menu_text for everburning torch. #: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py msgid "Extinguish" @@ -40465,10 +41935,8 @@ msgstr[1] "cigarettacsikk" #: lang/json/GENERIC_from_json.py msgid "" "What was once a wonderfully addictive tube of dried tobacco leaf is now just a smelly piece of trash. What a tragedy!\n" -"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far..." +"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far…" msgstr "" -"Ami egykoron egy csodálatosan addiktív dohányleveles papírcső vala, az most már csak szemét. De kár!\n" -"A csikkekben maradt dohányból talán lehet még egy cigit sodorni. Ha már annyira muszáj..." #. ~ Use action msg for joint. #: lang/json/GENERIC_from_json.py @@ -40518,11 +41986,11 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "raw tobacco" -msgid_plural "handfuls of raw tobacco" -msgstr[0] "maréknyi nyers dohány" -msgstr[1] "maréknyi nyers dohány" +msgid_plural "raw tobacco" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for raw tobacco +#. ~ Description for {'str': 'raw tobacco', 'str_pl': 'raw tobacco'} #: lang/json/GENERIC_from_json.py msgid "" "Various parts of tobacco plant, full of nicotine. They need to be dried to " @@ -40579,12 +42047,6 @@ msgid "" "panel, if you can find one." msgstr "" -#: lang/json/GENERIC_from_json.py -msgid "neoprene sheet" -msgid_plural "neoprene sheets" -msgstr[0] "neoprén lap" -msgstr[1] "neoprén lap" - #. ~ Description for neoprene sheet #: lang/json/GENERIC_from_json.py msgid "" @@ -40742,13 +42204,13 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "in progress craft" msgid_plural "in progress crafts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "készülő tárgy" +msgstr[1] "készülő tárgyak" #. ~ Description for in progress craft #: lang/json/GENERIC_from_json.py msgid "This is an in progress craft." -msgstr "" +msgstr "Ez egy készülő tárgy." #: lang/json/GENERIC_from_json.py msgid "spare tire carrier" @@ -41682,6 +43144,261 @@ msgid_plural "notes" msgstr[0] "" msgstr[1] "" +#: lang/json/GENERIC_from_json.py +msgid "leaf spring" +msgid_plural "leaf springs" +msgstr[0] "laprugó" +msgstr[1] "laprugó" + +#. ~ Description for leaf spring +#: lang/json/GENERIC_from_json.py +msgid "" +"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" +" an awful lot like a bow. You can barely bend it…" +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea" +msgid_plural "hydrangeas" +msgstr[0] "hortenzia" +msgstr[1] "hortenzia" + +#. ~ Description for hydrangea +#: lang/json/GENERIC_from_json.py +msgid "A hydrangea stalk with some petals." +msgstr "Hortaenzia virága egy pár szirommal." + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea bud" +msgid_plural "hydrangea buds" +msgstr[0] "hortenzia bimbó" +msgstr[1] "hortenzia bimbó" + +#. ~ Description for hydrangea bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A hydrangea bud. Contains some substances commonly produced by a hydrangea " +"flower." +msgstr "" +"Egy hortenzia bimbója. A hortenzia által létrehozott anyagokat tartalmazza." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "tulip" +msgid_plural "tulips" +msgstr[0] "tulipán" +msgstr[1] "tulipán" + +#. ~ Description for tulip +#: lang/json/GENERIC_from_json.py +msgid "A tulip stalk with some petals." +msgstr "Tulipán virága egy pár szirommal." + +#: lang/json/GENERIC_from_json.py +msgid "tulip bud" +msgid_plural "tulip buds" +msgstr[0] "tulipán bimbó" +msgstr[1] "tulipán bimbó" + +#. ~ Description for tulip bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A tulip bud. Contains some substances commonly produced by a tulip flower." +msgstr "" +"Egy tulipán bimbója. A tulipán által létrehozott anyagokat tartalmazza." + +#: lang/json/GENERIC_from_json.py +msgid "spurge" +msgid_plural "spurges" +msgstr[0] "kutyatej" +msgstr[1] "kutyatej" + +#. ~ Description for spurge +#: lang/json/GENERIC_from_json.py +msgid "A spurge stalk with some petals." +msgstr "Egy kutyatej szára egy pár szirommal." + +#: lang/json/GENERIC_from_json.py +msgid "spurge bud" +msgid_plural "spurge buds" +msgstr[0] "kutyatej bimbó" +msgstr[1] "kutyatej bimbó" + +#. ~ Description for spurge bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A spurge bud. Contains some substances commonly produced by a spurge " +"flower." +msgstr "" +"Egy kutyatej bimbója. A kutyatej által létrehozott anyagokat tartalmazza." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "black eyed susan" +msgid_plural "black eyed susans" +msgstr[0] "borzas kúpvirág" +msgstr[1] "borzas kúpvirág" + +#. ~ Description for black eyed susan +#: lang/json/GENERIC_from_json.py +msgid "A black eyed susan stalk with some petals." +msgstr "Borzas kúpvirág egy pár szirommal." + +#: lang/json/GENERIC_from_json.py +msgid "black eyed susan bud" +msgid_plural "black eyed susan buds" +msgstr[0] "borzas kúpvirág bimbó" +msgstr[1] "borzas kúpvirág bimbó" + +#. ~ Description for black eyed susan bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A black eyed susan bud. Contains some substances commonly produced by a " +"black eyed susan flower." +msgstr "" +"Egy borzas kúpvirág bimbója. A borzas kúpvirág által létrehozott anyagokat " +"tartalmazza." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lily" +msgid_plural "lilys" +msgstr[0] "liliom" +msgstr[1] "liliom" + +#. ~ Description for lily +#: lang/json/GENERIC_from_json.py +msgid "A lily stalk with some petals." +msgstr "Lilomvirág egy pár szirommal." + +#: lang/json/GENERIC_from_json.py +msgid "lily bud" +msgid_plural "lily buds" +msgstr[0] "liliom bimbó" +msgstr[1] "liliom bimbó" + +#. ~ Description for lily bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lily bud. Contains some substances commonly produced by a lily flower." +msgstr "Egy liliom bimbója. A liliom által létrehozott anyagokat tartalmazza." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lotus" +msgid_plural "lotuss" +msgstr[0] "lótuszvirág" +msgstr[1] "lótuszvirág" + +#. ~ Description for lotus +#: lang/json/GENERIC_from_json.py +msgid "A lotus stalk with some petals." +msgstr "Lótuszvirág szár egy pár szirommal." + +#: lang/json/GENERIC_from_json.py +msgid "lotus bud" +msgid_plural "lotus buds" +msgstr[0] "lótuszvirág bimbó" +msgstr[1] "lótuszvirág bimbó" + +#. ~ Description for lotus bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lotus bud. Contains some substances commonly produced by a lotus flower." +msgstr "" +"Egy lótuszvirág bimbója. A lótuszvirág által létrehozott anyagokat " +"tartalmazza." + +#: lang/json/GENERIC_from_json.py +msgid "lilac" +msgid_plural "lilacs" +msgstr[0] "orgona" +msgstr[1] "orgona" + +#. ~ Description for lilac +#: lang/json/GENERIC_from_json.py +msgid "A lilac stalk with some petals." +msgstr "Orgonavirág egy pár szirommal." + +#: lang/json/GENERIC_from_json.py +msgid "lilac bud" +msgid_plural "lilac buds" +msgstr[0] "orgonabimbó" +msgstr[1] "orgonabimbó" + +#. ~ Description for lilac bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lilac bud. Contains some substances commonly produced by a lilac flower." +msgstr "" +"Egy orgona bimbója. Az orgona által létrehozott anyagokat tartalmazza." + +#: lang/json/GENERIC_from_json.py +msgid "rose bud" +msgid_plural "rose buds" +msgstr[0] "rózsabimbó" +msgstr[1] "rózsabimbó" + +#. ~ Description for rose bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A rose bud. Contains some substances commonly produced by a rose flower." +msgstr "Egy rózsa bimbója. A rózsa által létrehozott anyagokat tartalmazza." + +#: lang/json/GENERIC_from_json.py +msgid "dahlia bud" +msgid_plural "dahlia buds" +msgstr[0] "dália bimbó" +msgstr[1] "dália bimbó" + +#. ~ Description for dahlia bud +#: lang/json/GENERIC_from_json.py +msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." +msgstr "Egy dália bimbója. A dália által létrehozott anyagokat tartalmazza." + +#. ~ Description for rose +#: lang/json/GENERIC_from_json.py +msgid "A rose stalk with some petals." +msgstr "Rózsaszár egy pár szirommal." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "bluebell" +msgid_plural "bluebells" +msgstr[0] "harangvirág" +msgstr[1] "harangvirág" + +#. ~ Description for bluebell +#: lang/json/GENERIC_from_json.py +msgid "A bluebell stalk with some petals." +msgstr "Harangvirág egy pár szirommal." + +#. ~ Description for dahlia +#: lang/json/GENERIC_from_json.py +msgid "A dahlia stalk with some petals." +msgstr "Dáliavirág egy pár szirommal." + +#: lang/json/GENERIC_from_json.py +msgid "poppy flower" +msgid_plural "poppy flowers" +msgstr[0] "mákvirág" +msgstr[1] "mákvirág" + +#. ~ Description for poppy flower +#: lang/json/GENERIC_from_json.py +msgid "A poppy stalk with some petals." +msgstr "Mákvirág egy pár szirommal." + +#: lang/json/GENERIC_from_json.py +msgid "bluebell bud" +msgid_plural "bluebell buds" +msgstr[0] "haragvirág bimbó" +msgstr[1] "haragvirág bimbó" + +#. ~ Description for bluebell bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A bluebell bud. Contains some substances commonly produced by a bluebell " +"flower." +msgstr "" +"Egy harangvirág bimbója. A harangvirág által létrehozott anyagokat " +"tartalmazza." + #: lang/json/GENERIC_from_json.py msgid "module template" msgid_plural "module templates" @@ -42102,7 +43819,7 @@ msgstr[1] "atomkávégép" #: lang/json/GENERIC_from_json.py msgid "" "This is a Curie-G coffeemaker, by CuppaTech. It famously uses a radioactive" -" generator to heat water for coffee. Normally the water is heated using " +" generator to heat water for coffee. Normally the water is heated using " "energy stored in a capacitor, and makes ordinary coffee. However, as a " "special feature, water from the RTG containment area can be used, giving the" " coffee a very special kick. The Curie-G is illegal in most countries." @@ -42117,7 +43834,9 @@ msgstr[1] "atomlámpa" #. ~ Use action menu_text for atomic lamp. #. ~ Use action menu_text for atomic reading light. #. ~ Use action menu_text for magical reading light. -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp. +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Close cover" msgstr "Fedél lezárása" @@ -42145,7 +43864,9 @@ msgstr[1] "atomlámpa (fedett)" #. ~ Use action menu_text for atomic lamp (covered). #. ~ Use action menu_text for atomic reading light (covered). #. ~ Use action menu_text for magical reading light (covered). -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp (covered). +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Open cover" msgstr "Fedél kinyitása" @@ -42445,8 +44166,8 @@ msgstr[1] "köteles horog" #: lang/json/GENERIC_from_json.py msgid "" "A folding grappling hook attached to a stout 30-foot long piece of " -"lightweight cord. Useful for keeping yourself safe from falls. Can be used " -"in place of a long rope for butchering, in a pinch." +"lightweight cord. Useful for keeping yourself safe from falls. Can be used" +" in place of a long rope for butchering, in a pinch." msgstr "" #: lang/json/GENERIC_from_json.py @@ -43330,12 +45051,11 @@ msgstr[1] "" #. ~ Description for Beautiful Springtime #: lang/json/GENERIC_from_json.py -msgid "" -"A complete guide to Wing Chun Kung-fu. Includes a section on butterfly " -"swords and the use of long poles at the end." +msgid "A complete guide to Wing Chun Kung-fu." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/martial_art_from_json.py +#: lang/json/martial_art_from_json.py msgid "Fior Di Battaglia" msgid_plural "Fior Di Battaglia" msgstr[0] "" @@ -43345,8 +45065,8 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "A completely translated medieval guide teaching various techniques with " -"polearms, there is a chapter about the many variations of common polearms..." -" there are even pictures!" +"polearms, there is a chapter about the many variations of common polearms… " +"there are even pictures!" msgstr "" #: lang/json/GENERIC_from_json.py @@ -44518,6 +46238,20 @@ msgstr[1] "" msgid "This is a slip of paper signed by the issuer." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "icon" +msgid_plural "icons" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for icon +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a small picture, about the same size as an ID card, symbolizing a " +"religious figure. On the back, there is a text that faintly reads 'New " +"England Church Community'." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "generic silverware" msgid_plural "generic silverwares" @@ -44862,9 +46596,9 @@ msgstr[1] "villa" #. ~ Description for fork #: lang/json/GENERIC_from_json.py msgid "" -"A fork, if you stab something with it you eat it right away. Wait... " +"A fork, if you stab something with it you eat it right away. Wait… " "nevermind." -msgstr "Villa. Ha valamibe beleszúrod, azt azonnal meg kell enni." +msgstr "" #: lang/json/GENERIC_from_json.py msgid "plastic fork" @@ -46106,18 +47840,12 @@ msgstr[1] "Mjölnir" #: lang/json/GENERIC_from_json.py msgid "" "A large hammer, forged from the heart of a dying star. It bears the inscription:\n" -" \n" +"\n" "Whosoever holds this hammer,\n" "If he be worthy,\n" -"Shall possess the power to...\n" +"Shall possess the power to…\n" "CRUSH!'" msgstr "" -"Egy haldokló csillag szívéből kovácsolt nagy kalapács, rajta a felirat:\n" -" \n" -"Bárki forgatja ezt a pörölyt\n" -"Ha érdemesnek bizonyul\n" -"Megidézheti a\n" -"ZÚZÁS EREJÉT!" #: lang/json/GENERIC_from_json.py msgid "lucerne hammer" @@ -46590,8 +48318,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "" "This is a thin thrusting sword, a sort of predecessor to the rapier. It " -"requires a larger baldric or scabbard, compared to smaller swords. It seems " -"a bit too bendy." +"requires a larger baldric or scabbard, compared to smaller swords. It seems" +" a bit too bendy." msgstr "" #. ~ Description for estoc @@ -46700,21 +48428,18 @@ msgstr "" "éles." #: lang/json/GENERIC_from_json.py -msgid "fencing epee" -msgid_plural "fencing epees" -msgstr[0] "vívó tőr" -msgstr[1] "vívó tőr" +msgid "fencing épée" +msgid_plural "fencing épées" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for fencing epee +#. ~ Description for fencing épée #: lang/json/GENERIC_from_json.py msgid "" -"A weapon used for fencing, the most noble of all sports. The epee is the " +"A weapon used for fencing, the most noble of all sports. The épée is the " "heaviest and stiffest of the fencing weapons, and therefore perhaps the most" " useful." msgstr "" -"A sportok legnemesebbikénél, a vívásnál használt egyik fegyver. A három vívó" -" fegyver közül a tőr a legnehezebb és a legmerevebb, ezért talán a te " -"szempontodból a leghasznosabb is." #: lang/json/GENERIC_from_json.py msgid "fencing saber" @@ -46726,11 +48451,53 @@ msgstr[1] "vívó kard" #: lang/json/GENERIC_from_json.py msgid "" "A weapon used for fencing, the most noble of all sports. The fencing saber " -"is marginally shorter than the foil and epee, but no less effective." +"is marginally shorter than the foil and épée, but no less effective." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened foil" +msgid_plural "sharpened foils" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sharpened foil +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing foil has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now somewhat more lethal, yet still familiar to" +" the practiced fencer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened épée" +msgid_plural "sharpened épées" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sharpened épée +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing épée has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now considerably more lethal, yet still " +"familiar to the practiced fencer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened saber" +msgid_plural "sharpened sabers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sharpened saber +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing saber has had its rounded tip snapped off " +"and has been crudely sharpened to a point. Though it still lacks a cutting " +"edge, it is now considerably more lethal, yet still familiar to the " +"practiced fencer." msgstr "" -"A sportok legnemesebbikénél, a vívásnál használt egyik fegyver. A vívó kard " -"valamennyivel rövidebb a tőrnél és a párbajtőrnél, de egyáltalán nem kevésbé" -" hatásos." #: lang/json/GENERIC_from_json.py msgid "hollow cane" @@ -46962,6 +48729,17 @@ msgid "" "door." msgstr "Egy apró lencsével ellátott fémhenger, ajtóba építendő." +#: lang/json/GENERIC_from_json.py +msgid "mesh screen" +msgid_plural "mesh screens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for mesh screen +#: lang/json/GENERIC_from_json.py +msgid "A roll of fine mesh screen for bug barriers on porches." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "pipe" msgid_plural "pipes" @@ -47017,11 +48795,8 @@ msgstr[1] "alumínium öntvény" msgid "" "A small aluminum ingot, standardized for further processing. Light but " "durable, this could be cast into various shapes for construction or ground " -"down to a powder, for more... high-profile applications." +"down to a powder, for more… high-profile applications." msgstr "" -"Egy kis darab alumínium öntvény, további feldolgozásra sztenderd méretű. " -"Könnyű de tartós, különféle dolgok építéséhez nagyobb formába önthető, " -"illetve porrá is őrölhető robbanékony alkalmazásra." #: lang/json/GENERIC_from_json.py msgid "scrap copper" @@ -47048,12 +48823,12 @@ msgid "This is a single, or twin, sized mattress." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "down_mattress" -msgid_plural "down_mattresses" +msgid "down mattress" +msgid_plural "down mattresses" msgstr[0] "" msgstr[1] "" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/GENERIC_from_json.py msgid "This is a single, or twin, sized down filled mattress." msgstr "" @@ -47083,6 +48858,8 @@ msgid "" "A large chunk of log, cut from a tree. (a)ctivate a wood axe or wood saw to" " cut it into planks." msgstr "" +"Nagy méretű, fából vágott gerenda. Deszkákba vágásához (a)ktiválj rajta egy " +"favágó szekercét vagy fafűrészt." #: lang/json/GENERIC_from_json.py msgid "splintered wood" @@ -47138,8 +48915,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "plank" msgid_plural "planks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "deszka" +msgstr[1] "deszka" #. ~ Description for plank #: lang/json/GENERIC_from_json.py @@ -47148,6 +48925,8 @@ msgid "" " lumber. Makes a decent melee weapon, and can be used for all kinds " "construction." msgstr "" +"Keskeny, vastag falap. Megfelelő közelharci fegyver, és számos dolog " +"építéséhez használható." #: lang/json/GENERIC_from_json.py msgid "heavy wooden beam" @@ -47162,6 +48941,9 @@ msgid "" "very sturdy for construction. You could saw or chop it into smaller pieces," " like planks or panels." msgstr "" +"Hatalmas, tömör fagerenda. Nagyon nehéz és nehezen is vonszolható bárhova, " +"ugyanakkor robusztus dolgok építésére használható. Fadeszkákra vagy " +"-lemezekre bontható tovább fűrészeléssel vagy favágással." #: lang/json/GENERIC_from_json.py msgid "wooden panel" @@ -47358,6 +49140,46 @@ msgid "" " can also serve as an improvised stabbing weapon, but will break quickly." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "frame loom" +msgid_plural "frame looms" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for frame loom +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a rather bulky and primitive wooden frame which can be used to weave" +" cloth sheets. It is very slow, though." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "wooden shed stick" +msgid_plural "wooden shed sticks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for wooden shed stick +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a short thin flat wooden stick, used as a tool while weaving cloth " +"with a frame loom." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "tailoring pattern set" +msgid_plural "tailoring pattern sets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for tailoring pattern set +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a large set of tailoring patterns made from paper. They're useful " +"for making any kind of cloth or leather items from scratch, but are " +"necessary for more advanced projects." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "vehicle alternator" msgid_plural "vehicle alternators" @@ -47522,13 +49344,13 @@ msgstr "Egy csónak evezője." #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py msgid "sail" msgid_plural "sails" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "vitorla" +msgstr[1] "vitorla" #. ~ Description for sail #: lang/json/GENERIC_from_json.py msgid "Sails for a boat." -msgstr "" +msgstr "Vitorla egy hajóhoz." #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py msgid "inflatable section" @@ -47603,8 +49425,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py msgid "floor trunk" msgid_plural "floor trunks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "padlóba épített csomagtartó" +msgstr[1] "padlóba épített csomagtartó" #. ~ Description for floor trunk #: lang/json/GENERIC_from_json.py @@ -47612,6 +49434,8 @@ msgid "" "A section of flooring with a cargo-space beneath, and a hinged door for " "access." msgstr "" +"Padló alá épített tárolórekesz, amelyet egy felnyitható ajtón át lehet " +"elérni." #: lang/json/GENERIC_from_json.py msgid "livestock carrier" @@ -47717,6 +49541,20 @@ msgstr "" "intelligenciája működésképtelen, de csak van valamilyen karbantartási " "üzemmódja." +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "turret control unit" +msgid_plural "turret control units" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for turret control unit +#: lang/json/GENERIC_from_json.py +msgid "" +"A set of motor, camera, and various electronic modules banded together to " +"allow for tracking targets, friend-or-foe identification, and firing the " +"connected turret in full automatic mode." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "massive engine block" msgid_plural "massive engine blocks" @@ -48067,13 +49905,13 @@ msgstr "Gépjárműre szerelhető világító eszköz." #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py msgid "motorcycle headlight" msgid_plural "motorcycle headlights" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "motorkerékpár fényszóró" +msgstr[1] "motorkerékpár fényszóró" #. ~ Description for motorcycle headlight #: lang/json/GENERIC_from_json.py msgid "A motorcycle headlight to light up the way." -msgstr "" +msgstr "Motorkerékpárra szerelhető világító eszköz." #: lang/json/GENERIC_from_json.py msgid "wide-angle car headlight" @@ -48844,6 +50682,19 @@ msgstr[1] "mosógép" msgid "A very small washing machine designed for use in vehicles." msgstr "Járműbe építhető kisméretű mosógép." +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "programmable autopilot" +msgid_plural "programmable autopilots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for programmable autopilot +#: lang/json/GENERIC_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of a vehicle to allow" +" it to follow simple paths." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "mountable autoclave" msgid_plural "mountable autoclaves" @@ -48917,7 +50768,7 @@ msgstr[1] "" #. ~ Description for medium wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." +"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py @@ -48929,8 +50780,8 @@ msgstr[1] "" #. ~ Description for heavy wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A heavy metal assembly that allows bolting a wheel on a car. Fit for a large" -" car wheel." +"A heavy metal assembly that allows bolting a wheel on a car. Fit for a " +"large car wheel." msgstr "" #: lang/json/GENERIC_from_json.py @@ -50115,6 +51966,27 @@ msgid "" "art." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "The Iron Whip" +msgid_plural "The Iron Whips" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for The Iron Whip. +#: lang/json/GENERIC_from_json.py +msgid "" +"You loop the whip in your hand and it coils back into a belt form in an " +"instant." +msgstr "" + +#. ~ Description for The Iron Whip +#: lang/json/GENERIC_from_json.py +msgid "" +"A long braided flexible steel bullwhip that narrows into a sharp blade at " +"the end. Easily capable of slicing and dicing anything that comes at you. " +"It transforms back into a belt." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "cudgel +1" msgid_plural "cudgel +1s" @@ -50619,165 +52491,6 @@ msgid_plural "dao +2s" msgstr[0] "" msgstr[1] "" -#: lang/json/GENERIC_from_json.py -msgid "cestus +1" -msgid_plural "cestus +1s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "cestus +2" -msgid_plural "cestus +2s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist" -msgid_plural "flaming fists" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for flaming fist -#: lang/json/GENERIC_from_json.py -msgid "" -"A heavy metal guard that covers the fist and increases striking power, with " -"stout padding underneath to protect the wearers hand. It has been enchanted" -" to emit dark magical flames that only harm enemies." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist +1" -msgid_plural "flaming fist +1s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist +2" -msgid_plural "flaming fist +2s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "gauntlet of pounding" -msgid_plural "gauntlets of pounding" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for gauntlet of pounding -#: lang/json/GENERIC_from_json.py -msgid "" -"A large gleaming metal gauntlet covered in magical symbols that allows you " -"to land astoundingly powerful blows." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "stone shell" -msgid_plural "stone shells" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for stone shell -#: lang/json/GENERIC_from_json.py -msgid "" -"The broken fragment of an owlbear egg. With luck it might still contain " -"some of its former power, though if nothing else it's still a bit sharp." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "glow dust" -msgid_plural "glow dusts" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for glow dust -#: lang/json/GENERIC_from_json.py -msgid "" -"The powdered remains of a will-o-wisps's phsyical form. It seems to still " -"possess an otherworldly glow." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "magical reading light" -msgid_plural "magical reading lights" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for magical reading light -#: lang/json/GENERIC_from_json.py -msgid "" -"Powered by the magic of glow powder and lesser mana potions, this extremely " -"expensive little light will provide just enough light to read by for at " -"least a decade. Use it to close the cover and hide the light." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "magical reading light (covered)" -msgid_plural "magical reading lights (covered)" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for magical reading light (covered) -#: lang/json/GENERIC_from_json.py -msgid "" -"Powered by the magic of glow powder and lesser mana potions, this extremely " -"expensive little light will provide just enough light to read by for at " -"least a decade. The cover is closed. Use it to open the cover and show the" -" light." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "bulette plate" -msgid_plural "bulette plates" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for bulette plate -#: lang/json/GENERIC_from_json.py -msgid "" -"The great plates from behind a bulette's head have always been prized for " -"use in shield and armor making." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "bulette pearl" -msgid_plural "bulette pearls" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for bulette pearl -#: lang/json/GENERIC_from_json.py -msgid "" -"As a bulette burrows through the earth its gills collect minute amounts of " -"precious metals and gems which slowly aggregate into lustrous gemstones " -"prized for their beauty and power." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "black dragon scale" -msgid_plural "black dragon scales" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for black dragon scale -#: lang/json/GENERIC_from_json.py -msgid "" -"A scale from a black dragon. It still has its magical properties and acid " -"resistance." -msgstr "" - -#: lang/json/GENERIC_from_json.py lang/json/material_from_json.py -msgid "black dragon hide" -msgid_plural "black dragon hides" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for black dragon hide -#: lang/json/GENERIC_from_json.py -msgid "" -"Prepared hide from a black dragon. Hard, acid-resistant, and with more " -"scales could make a suit of armor as hard as steel and half as heavy." -msgstr "" - #: lang/json/GENERIC_from_json.py msgid "Biomancer spear" msgid_plural "Biomancer spears" @@ -50787,8 +52500,8 @@ msgstr[1] "" #. ~ Description for Biomancer spear #: lang/json/GENERIC_from_json.py msgid "" -"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer rune" -" embedded at the base of the head." +"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer " +"rune embedded at the base of the head." msgstr "" #: lang/json/GENERIC_from_json.py @@ -50801,36 +52514,22 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "This staff incorporates a sturdy cresent wrench on top of a prybar and a " -"hammer on the other in a convienent package. There is a Technomancer rune " +"hammer on the other in a convienent package. There is a Technomancer rune " "embedded in the hammerhead." msgstr "" #: lang/json/GENERIC_from_json.py msgid "Magus staff" -msgid_plural "Magus staffs" +msgid_plural "Magus staves" msgstr[0] "" msgstr[1] "" -#. ~ Description for Magus staff +#. ~ Description for {'str': 'Magus staff', 'str_pl': 'Magus staves'} #: lang/json/GENERIC_from_json.py msgid "" "A quarterstaff with runes carved into it and two glass jars, heat-tempered " -"and infused with mana for durability, to act as mana receptacles. There are " -"two Magi runes embedded at the tips." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "Earthshaper cestus" -msgid_plural "Earthshaper cesti" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for Earthshaper cestus -#: lang/json/GENERIC_from_json.py -msgid "" -"A stone battle glove with carved runes encasing the hand, protecting it " -"while increasing striking power. There is an Earthshaper rune embedded in " -"the palm." +"and infused with mana for durability, to act as mana receptacles. There are" +" two Magi runes embedded at the tips." msgstr "" #: lang/json/GENERIC_from_json.py @@ -50842,7 +52541,7 @@ msgstr[1] "" #. ~ Description for Kelvinist flamberge #: lang/json/GENERIC_from_json.py msgid "" -"A sword with an undulating blade, reminiscent of a flame. There is a " +"A sword with an undulating blade, reminiscent of a flame. There is a " "Kelvinist rune embedded in the pommel." msgstr "" @@ -50855,7 +52554,7 @@ msgstr[1] "" #. ~ Description for Stormshaper axe #: lang/json/GENERIC_from_json.py msgid "" -"A forged copper axe with silver trimmings and a wooden handle. There is a " +"A forged copper axe with silver trimmings and a wooden handle. There is a " "Stormshaper rune embedded in the eye." msgstr "" @@ -50868,10 +52567,475 @@ msgstr[1] "" #. ~ Description for Animist athame #: lang/json/GENERIC_from_json.py msgid "" -"A steel ritual knife used by Animists to draw blood for summoning. Their " +"A steel ritual knife used by Animists to draw blood for summoning. Their " "school rune is embedded in the crossguard." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "springstaff(baton)" +msgid_plural "springstaves(baton)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "Extend to staff" +msgstr "" + +#. ~ Use action msg for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "You snap open your springstaff into staff mode." +msgstr "" + +#. ~ Description for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips retracted while in baton configuration. Activate to extend." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "springstaff(staff)" +msgid_plural "springstaves(staff)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "Retract to baton" +msgstr "" + +#. ~ Use action msg for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "You collapse your springstaff into baton mode." +msgstr "" + +#. ~ Description for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips from retracting while in staff configuration. Activate to extend." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magic token" +msgid_plural "magic tokens" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "longsword token" +msgid_plural "longsword tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for longsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine longsword!" +msgstr "" + +#. ~ Description for longsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a longsword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "arming sword token" +msgid_plural "arming sword tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for arming sword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine arming sword!" +msgstr "" + +#. ~ Description for arming sword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case an arming sword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "broadsword token" +msgid_plural "broadsword tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for broadsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine broadsword!" +msgstr "" + +#. ~ Description for broadsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a broadsword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "battleaxe token" +msgid_plural "battleaxe tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for battleaxe token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine battle axe!" +msgstr "" + +#. ~ Description for battleaxe token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a battle axe." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "pike token" +msgid_plural "pike tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for pike token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine pike!" +msgstr "" + +#. ~ Description for pike token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a pike." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "mace token" +msgid_plural "mace tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for mace token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine mace!" +msgstr "" + +#. ~ Description for mace token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a mace." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "quarterstaff token" +msgid_plural "quarterstaff tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for quarterstaff token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a pristine quarterstaff!" +msgstr "" + +#. ~ Description for quarterstaff token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a quarterstaff." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "hammer token" +msgid_plural "hammer tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for hammer token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine hammer!" +msgstr "" + +#. ~ Description for hammer token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a hammer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "screwdriver set token" +msgid_plural "screwdriver set tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for screwdriver set token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine screwdriver set!" +msgstr "" + +#. ~ Description for screwdriver set token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a screwdriver." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "toolbox token" +msgid_plural "toolbox tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for toolbox token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine toolbox!" +msgstr "" + +#. ~ Description for toolbox token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a toolbox." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "crowbar token" +msgid_plural "crowbar tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for crowbar token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine crowbar!" +msgstr "" + +#. ~ Description for crowbar token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a crowbar." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "cestus +1" +msgid_plural "cestus +1s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "cestus +2" +msgid_plural "cestus +2s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist" +msgid_plural "flaming fists" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for flaming fist +#: lang/json/GENERIC_from_json.py +msgid "" +"A heavy metal guard that covers the fist and increases striking power, with " +"stout padding underneath to protect the wearers hand. It has been enchanted" +" to emit dark magical flames that only harm enemies." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist +1" +msgid_plural "flaming fist +1s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist +2" +msgid_plural "flaming fist +2s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "gauntlet of pounding" +msgid_plural "gauntlets of pounding" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for gauntlet of pounding +#: lang/json/GENERIC_from_json.py +msgid "" +"A large gleaming metal gauntlet covered in magical symbols that allows you " +"to land astoundingly powerful blows." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Earthshaper cestus" +msgid_plural "Earthshaper cesti" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'Earthshaper cestus', 'str_pl': 'Earthshaper +#. cesti'} +#: lang/json/GENERIC_from_json.py +msgid "" +"A stone battle glove with carved runes encasing the hand, protecting it " +"while increasing striking power. There is an Earthshaper rune embedded in " +"the palm." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "stone shell" +msgid_plural "stone shells" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for stone shell +#: lang/json/GENERIC_from_json.py +msgid "" +"The broken fragment of an owlbear egg. With luck it might still contain " +"some of its former power, though if nothing else it's still a bit sharp." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "glow dust" +msgid_plural "glow dusts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for glow dust +#: lang/json/GENERIC_from_json.py +msgid "" +"The powdered remains of a will-o-wisps's phsyical form. It seems to still " +"possess an otherworldly glow." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magical reading light" +msgid_plural "magical reading lights" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magical reading light +#: lang/json/GENERIC_from_json.py +msgid "" +"Powered by the magic of glow powder and lesser mana potions, this extremely " +"expensive little light will provide just enough light to read by for at " +"least a decade. Use it to close the cover and hide the light." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magical reading light (covered)" +msgid_plural "magical reading lights (covered)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magical reading light (covered) +#: lang/json/GENERIC_from_json.py +msgid "" +"Powered by the magic of glow powder and lesser mana potions, this extremely " +"expensive little light will provide just enough light to read by for at " +"least a decade. The cover is closed. Use it to open the cover and show the" +" light." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "bulette plate" +msgid_plural "bulette plates" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bulette plate +#: lang/json/GENERIC_from_json.py +msgid "" +"The great plates from behind a bulette's head have always been prized for " +"use in shield and armor making." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "bulette pearl" +msgid_plural "bulette pearls" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bulette pearl +#: lang/json/GENERIC_from_json.py +msgid "" +"As a bulette burrows through the earth its gills collect minute amounts of " +"precious metals and gems which slowly aggregate into lustrous gemstones " +"prized for their beauty and power." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "stirge proboscis" +msgid_plural "stirge proboscises" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for stirge proboscis +#: lang/json/GENERIC_from_json.py +msgid "" +"A long sucking apparatus harvested from stirge corpse. Makes a poor melee " +"weapon." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "black dragon scale" +msgid_plural "black dragon scales" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for black dragon scale +#: lang/json/GENERIC_from_json.py +msgid "" +"A scale from a black dragon. It still has its magical properties and acid " +"resistance." +msgstr "" + +#: lang/json/GENERIC_from_json.py lang/json/material_from_json.py +msgid "black dragon hide" +msgid_plural "black dragon hides" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for black dragon hide +#: lang/json/GENERIC_from_json.py +msgid "" +"Prepared hide from a black dragon. Hard, acid-resistant, and with more " +"scales could make a suit of armor as hard as steel and half as heavy." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "lesser staff of the magi" msgid_plural "lesser staves of the magi" @@ -50885,6 +53049,17 @@ msgid "" "glows with magic when you cast spells, but it is not a sturdy melee weapon." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "fireball hammer" +msgid_plural "fireball hammers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fireball hammer +#: lang/json/GENERIC_from_json.py +msgid "Use with caution! Flammable! Explosive!" +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "The Stormhammer" msgid_plural "The Stormhammers" @@ -50935,6 +53110,56 @@ msgstr[1] "" msgid "This is a wicked spear/halberd hybrid entirely created of bone." msgstr "" +#. ~ Description for Mjölnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Mjölnir, the legendary hammer of Thor. It is rumored to be able to level " +"mountains with a single blow. You feel the power of Asgard coursing through" +" the hammer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Gungnir" +msgid_plural "Gungnirs" +msgstr[0] "Gungnir" +msgstr[1] "Gungnir" + +#. ~ Description for Gungnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Gungnir, the spear of Odin. It is rumored to be the perfect spear, " +"perfectly hitting any target regardless of the wielder's strength or skill." +" If feels like Odin's protecting you." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Gram" +msgid_plural "Grams" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Gram +#: lang/json/GENERIC_from_json.py +msgid "" +"Gram, the sword of Sigurd. It is rumored to be the sword that slayed the " +"legendary dragon, Fafnir. Once said to have cleaved Regin's anvil in half, " +"the edge is impeccable." +msgstr "" + +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py +msgid "Laevateinn" +msgid_plural "Laevateinns" +msgstr[0] "Laevateinn" +msgstr[1] "Laevateinn" + +#. ~ Description for Laevateinn +#: lang/json/GENERIC_from_json.py +msgid "" +"Laevateinn, the staff of Loki. Said to have been plucked from the gates of " +"Hel by Loki. Imbued with a mysterious magic, the magic of the trickster god" +" himself." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "Spell Scroll" msgid_plural "Spell Scrolls" @@ -51180,8 +53405,8 @@ msgstr[1] "" #. ~ Description for Blinding Flash #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" -"Blind enemies for a short time with a sudden, dazzling light. Higher levels " -"deal slightly higher damage." +"Blind enemies for a short time with a sudden, dazzling light. Higher levels" +" deal slightly higher damage." msgstr "" #: lang/json/GENERIC_from_json.py @@ -51195,7 +53420,7 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" "A mass of spectral hands emerge from the ground, slowing everything in " -"range. Higher levels allow a bigger AoE, and longer effect." +"range. Higher levels allow a bigger AoE, and longer effect." msgstr "" #: lang/json/GENERIC_from_json.py @@ -51961,8 +54186,49 @@ msgstr[1] "" #. ~ Description for Scroll of Purification Seed #: lang/json/GENERIC_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Greater levels yield" -" greater numbers of seeds." +"You summon a gift of the earth which will purify water. Greater levels " +"yield greater numbers of seeds." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of X-ray Vision" +msgid_plural "Scroll of X-ray Visions" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Scroll of X-ray Vision +#. ~ Description for X-ray Vision +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You fire a cone of X-rays that magically allow you to see that area for a " +"short time." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Clairvoyance" +msgid_plural "Scroll of Clairvoyances" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Scroll of Clairvoyance +#. ~ Description for Clairvoyance +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "You close your eyes and the earth surrenders its secrets to you." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Lava Bomb" +msgid_plural "Scroll of Lava Bombs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Scroll of Lava Bomb +#. ~ Description for Lava Bomb +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You tear up the ground beneath you to fire a lava bomb: a globe of lava " +"surrounded by hot, solid rock. It shatters upon impact, spraying shards of " +"rock and lava everywhere." msgstr "" #: lang/json/GENERIC_from_json.py @@ -52906,12 +55172,6 @@ msgstr "" "Thor kalapácsának, Mjölnirnek a másolata. Állítólag egész hegyeket képes egy" " csapásra kilapítani. Arannyal és ezüsttel díszített." -#: lang/json/GENERIC_from_json.py -msgid "Gungnir" -msgid_plural "Gungnirs" -msgstr[0] "Gungnir" -msgstr[1] "Gungnir" - #. ~ Description for Gungnir #: lang/json/GENERIC_from_json.py msgid "" @@ -53979,6 +56239,298 @@ msgstr "MŰTÁRGYAK" msgid "ARMOR" msgstr "PÁNCÉL" +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "ITEMS WORN" +msgstr "VISELT TÁRGYAK" + +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "WEAPON HELD" +msgstr "FEGYVER A KÉZBEN" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Unsorted" +msgstr "Zsákmány: Válogatás nélkül" + +#. ~ Description for Loot: Unsorted +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " +"sort items inside. It can overlap with Loot zones of different types." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Food" +msgstr "" + +#. ~ Description for Loot: Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for comestibles. If more specific food zone is not defined, all" +" food is moved here." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Food" +msgstr "" + +#. ~ Description for Loot: P.Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for perishable comestibles. Does include perishable drinks if " +"such zone is not specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drink" +msgstr "" + +#. ~ Description for Loot: Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for drinks. Does include perishable drinks if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Drink" +msgstr "" + +#. ~ Description for Loot: P.Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for perishable drinks." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Guns" +msgstr "" + +#. ~ Description for Loot: Guns +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for guns, bows and similar wearpons." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Magazines" +msgstr "" + +#. ~ Description for Loot: Magazines +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for gun magazines." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ammo" +msgstr "" + +#. ~ Description for Loot: Ammo +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for ammo." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Weapons" +msgstr "" + +#. ~ Description for Loot: Weapons +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for melee weapons." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Tools" +msgstr "" + +#. ~ Description for Loot: Tools +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for tools." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Clothing" +msgstr "" + +#. ~ Description for Loot: Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for clothing. Does include filthy clothing if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Clothing" +msgstr "" + +#. ~ Description for Loot: F.Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy clothing." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drugs" +msgstr "" + +#. ~ Description for Loot: Drugs +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for drugs and other medical items." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Books" +msgstr "" + +#. ~ Description for Loot: Books +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for books and magazines." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mods" +msgstr "" + +#. ~ Description for Loot: Mods +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firearm modifications and similar items." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mutagens" +msgstr "" + +#. ~ Description for Loot: Mutagens +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for mutagens, serums, and purifiers." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Bionics" +msgstr "" + +#. ~ Description for Loot: Bionics +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for Compact Bionics Modules, a.k.a. CBMS." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: V.Parts" +msgstr "" + +#. ~ Description for Loot: V.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for vehicle parts." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Other" +msgstr "" + +#. ~ Description for Loot: Other +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for other miscellaneous items." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Fuel" +msgstr "" + +#. ~ Description for Loot: Fuel +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for gasoline, diesel, lamp oil and other substances used as a " +"fuel." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Seeds" +msgstr "" + +#. ~ Description for Loot: Seeds +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for seeds, stems and similar items." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Chemical" +msgstr "" + +#. ~ Description for Loot: Chemical +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for chemicals." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: S.Parts" +msgstr "" + +#. ~ Description for Loot: S.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for spare parts." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Artifacts" +msgstr "" + +#. ~ Description for Loot: Artifacts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for artifacts" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Corpses" +msgstr "" + +#. ~ Description for Loot: Corpses +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for corpses" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Armor" +msgstr "" + +#. ~ Description for Loot: Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for armor. Does include filthy armor if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Armor" +msgstr "" + +#. ~ Description for Loot: F.Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy armor." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Wood" +msgstr "" + +#. ~ Description for Loot: Wood +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firewood and items that can be used as such." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Custom" +msgstr "" + +#. ~ Description for Loot: Custom +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for loot with a custom filter that you can modify" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ignore" +msgstr "" + +#. ~ Description for Loot: Ignore +#: lang/json/LOOT_ZONE_from_json.py +msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." +msgstr "" + #: lang/json/MAGAZINE_from_json.py msgid "ultra-light battery" msgid_plural "ultra-light batteries" @@ -54200,7 +56752,7 @@ msgstr[1] "" #: lang/json/MAGAZINE_from_json.py msgid "" "This is a heavy battery cell, universally compatible with all kinds of " -"industrial-grade equipment and large tools. The battery's chemistry means " +"industrial-grade equipment and large tools. The battery's chemistry means " "that it has a very high capacity, but cannot be recharged." msgstr "" @@ -54737,15 +57289,6 @@ msgstr "" msgid "A 14 round double stack box magazine for the SIG Sauer P320." msgstr "" -#: lang/json/MAGAZINE_from_json.py -msgid "Taurus .38 magazine" -msgstr "Taurus .38 tár" - -#. ~ Description for Taurus .38 magazine -#: lang/json/MAGAZINE_from_json.py -msgid "A compact steel box magazine for use with the Taurus Pro .38 pistol." -msgstr "A Taurus Pro .38 pisztoly számára készült kompakt acél doboztár." - #: lang/json/MAGAZINE_from_json.py msgid ".38/.357 7-round speedloader" msgstr "" @@ -54819,6 +57362,16 @@ msgstr "" msgid "A 10-round steel box magazine for use with the Hi-Point CF-380." msgstr "" +#: lang/json/MAGAZINE_from_json.py +msgid "Taurus Spectrum magazine" +msgstr "" + +#. ~ Description for Taurus Spectrum magazine +#: lang/json/MAGAZINE_from_json.py +msgid "" +"A compact, 6-round steel box magazine for use with the Taurus Spectrum." +msgstr "" + #: lang/json/MAGAZINE_from_json.py msgid "M1911 .38 Super magazine" msgstr "" @@ -55413,7 +57966,7 @@ msgstr "" #: lang/json/MAGAZINE_from_json.py msgid "RMGS5 8x40mm speedloader" -msgstr "" +msgstr "RMGS5 8x40mm gyorstöltő" #. ~ Description for RMGS5 8x40mm speedloader #: lang/json/MAGAZINE_from_json.py @@ -55421,10 +57974,13 @@ msgid "" "This speedloader, made by Rivtech for use with RM99 revolver, can hold 5 " "rounds of 8x40mm caseless rounds and quickly reload a compatible revolver." msgstr "" +"Ezt a gyorstöltőt a Rivtech készítette az RM99 revolveréhez. Öt darab 8x40mm" +" hüvely nélküli töltény befogadására képes, használatával egy kompatibilis " +"revolvert gyorsan lehet újratölteni." #: lang/json/MAGAZINE_from_json.py msgid "LW-7 speedloader" -msgstr "" +msgstr "LW-7 gyorstöltő" #. ~ Description for LW-7 speedloader #: lang/json/MAGAZINE_from_json.py @@ -55432,6 +57988,9 @@ msgid "" "This speedloader, made by Leadworks for use with L2032 Lookout revolver, can" " hold 7 rounds of 9x19mm and quickly reload a compatible revolver." msgstr "" +"Ezt a gyorstöltőt a Leadworks készítette az L2032 Lookout revolveréhez. Hat " +"darab 9x19mm töltény befogadására képes, használatával egy kompatibilis " +"revolvert gyorsan lehet újratölteni." #: lang/json/MAGAZINE_from_json.py msgid "Calico magazine" @@ -55591,6 +58150,8 @@ msgid "" "An improvised magazine that is mostly compatible with the STEN submachine " "gun, with a simplified feed system." msgstr "" +"Hevenyészett tár, amely a leginkább a STEN géppisztollyal kompatibilis, " +"lényegesen leegyszerűsített adagolással." #: lang/json/MAGAZINE_from_json.py msgid "TEC-9 magazine" @@ -55631,110 +58192,123 @@ msgstr "" #: lang/json/MAGAZINE_from_json.py msgid "Kel-Tec PF-9 magazine" -msgstr "" +msgstr "Kel-Tec PF-9 tár" #. ~ Description for Kel-Tec PF-9 magazine #: lang/json/MAGAZINE_from_json.py msgid "A standard 7-round steel box magazine for the Kel-Tec PF-9." msgstr "" +"A Kel-Tec PF-9 számára készített sztenderd doboztárban 7 lövedék fér el." #: lang/json/MAGAZINE_from_json.py msgid "P320 magazine 9x19mm" -msgstr "" +msgstr "P320 tár 9x19mm" #. ~ Description for P320 magazine 9x19mm #: lang/json/MAGAZINE_from_json.py msgid "A 17 round double stack box magazine for the SIG Sauer P320." -msgstr "" +msgstr "17 töltényt tartalmazó dupla doboztár a SIG Sauer P320-hoz." #: lang/json/MAGAZINE_from_json.py msgid "Hi-Power magazine 9x19mm" -msgstr "" +msgstr "Hi-Power tölténytár 9x19mm" #. ~ Description for Hi-Power magazine 9x19mm #: lang/json/MAGAZINE_from_json.py msgid "A 13 round steel box magazine for the Browning Hi-Power 9x19mm." msgstr "" +"A Browning Hi-Power számára készített sztenderd acél doboztárban 13 lövedék " +"fér el." #. ~ Description for Hi-Power magazine 9x19mm #: lang/json/MAGAZINE_from_json.py msgid "A 15 round steel box magazine for the Browning Hi-Power 9x19mm." msgstr "" +"A Browning Hi-Power számára készített sztenderd acél doboztárban 15 lövedék " +"fér el." #: lang/json/MAGAZINE_from_json.py msgid "P38 magazine" -msgstr "" +msgstr "P38 tár" #. ~ Description for P38 magazine #: lang/json/MAGAZINE_from_json.py msgid "An 8 round steel box magazine for the Walther P38." msgstr "" +"Az Walther P38 számára készített sztenderd doboztárban 8 lövedék fér el." #: lang/json/MAGAZINE_from_json.py msgid "PPQ magazine 9x19mm" -msgstr "" +msgstr "PPQ tár 9x19mm" #. ~ Description for PPQ magazine 9x19mm #: lang/json/MAGAZINE_from_json.py msgid "A 10 round steel box magazine for the Walther PPQ 9mm." msgstr "" +"Az Walther PPQ 9mm számára készített sztenderd doboztárban 10 lövedék fér " +"el." #. ~ Description for PPQ magazine 9x19mm #: lang/json/MAGAZINE_from_json.py msgid "A 15 round steel box magazine for the Walther PPQ 9mm." msgstr "" +"Az Walther PPQ 9mm számára készített sztenderd doboztárban 15 lövedék fér " +"el." #. ~ Description for PPQ magazine 9x19mm #: lang/json/MAGAZINE_from_json.py msgid "A 17 round steel box magazine for the Walther PPQ 9mm." msgstr "" +"Az Walther PPQ 9mm számára készített sztenderd doboztárban 17 lövedék fér " +"el." #: lang/json/MAGAZINE_from_json.py msgid "C-9 magazine" -msgstr "" +msgstr "C-9 tár" #. ~ Description for C-9 magazine #: lang/json/MAGAZINE_from_json.py msgid "An 8-round steel box magazine for use with the Hi-Point C-9." -msgstr "" +msgstr "A Hi-Point C-9 számára készített acél doboztárban 8 lövedék fér el." #. ~ Description for C-9 magazine #: lang/json/MAGAZINE_from_json.py msgid "A 10-round steel box magazine for use with the Hi-Point C-9." -msgstr "" +msgstr "A Hi-Point C-9 számára készített acél doboztárban 10 lövedék fér el." #. ~ Description for C-9 magazine #: lang/json/MAGAZINE_from_json.py msgid "A 15-round steel box magazine for use with the Hi-Point C-9." -msgstr "" +msgstr "A Hi-Point C-9 számára készített acél doboztárban 15 lövedék fér el." #: lang/json/MAGAZINE_from_json.py msgid "CZ 75 magazine" -msgstr "" +msgstr "CZ 75 tár" #. ~ Description for CZ 75 magazine #: lang/json/MAGAZINE_from_json.py msgid "A 12-round steel box magazine for use with the CZ 75." -msgstr "" +msgstr "A CZ 75 számára készített acél doboztárban 12 lövedék fér el." #. ~ Description for CZ 75 magazine #: lang/json/MAGAZINE_from_json.py msgid "A 20-round steel box magazine for use with the CZ 75." -msgstr "" +msgstr "A CZ 75 számára készített acél doboztárban 20 lövedék fér el." #. ~ Description for CZ 75 magazine #: lang/json/MAGAZINE_from_json.py msgid "A 26-round steel box magazine for use with the CZ 75." -msgstr "" +msgstr "A CZ 75 számára készített acél doboztárban 26 lövedék fér el." #: lang/json/MAGAZINE_from_json.py msgid "CCP magazine" -msgstr "" +msgstr "CCP tár" #. ~ Description for CCP magazine #: lang/json/MAGAZINE_from_json.py msgid "An 8-round steel box magazine for use with the Walther CCP." msgstr "" +"Az Walther CCP számára készített sztenderd doboztárban 8 lövedék fér el." #: lang/json/MAGAZINE_from_json.py msgid "Makarov PM magazine" @@ -55760,7 +58334,7 @@ msgstr "" #: lang/json/MAGAZINE_from_json.py msgid "pressurized chemical tank" -msgstr "" +msgstr "magasnyomású vegyianyag tartály" #. ~ Description for pressurized chemical tank #: lang/json/MAGAZINE_from_json.py @@ -55768,6 +58342,8 @@ msgid "" "A makeshift pressurized 2L canister designed to feed a makeshift chemical " "thrower." msgstr "" +"A 2 literes magasnyomású tartály a hevenyészett lángszóró által használt " +"üzemanyagot tárolja." #: lang/json/MAGAZINE_from_json.py msgid "pressurized fuel tank" @@ -55859,7 +58435,7 @@ msgstr "" #: lang/json/MAGAZINE_from_json.py msgid "shotshell belt" -msgstr "" +msgstr "sörétes töltényöv" #. ~ Description for shotshell belt #: lang/json/MAGAZINE_from_json.py @@ -55867,10 +58443,12 @@ msgid "" "A non-disintegrating cloth ammo belt which can hold up to 20 shotgun shells." " Notably less reliable than metal ammo belts." msgstr "" +"A textilből készült lőszerhevederbe 20 darab sörétes lőszert lehet " +"behelyezni. Lényegesen kevésbé megbízható, mint a fémcsatos lőszerheveder." #: lang/json/MAGAZINE_from_json.py msgid "shotgun 6-round speedloader" -msgstr "" +msgstr "6 lövetű sörétes gyorstöltő" #. ~ Description for shotgun 6-round speedloader #: lang/json/MAGAZINE_from_json.py @@ -55879,10 +58457,12 @@ msgid "" "can be used to quickly load the full tube in a much shorter period of time " "than by hand." msgstr "" +"Fogantyúval ellátott acélcső, amelybe 6 darab sörétes lövedéket lehet " +"behelyezni. Használatával sokkal gyorsabban lehet újratárazni, mint kézzel." #: lang/json/MAGAZINE_from_json.py msgid "shotgun 8-round speedloader" -msgstr "" +msgstr "8 lövetű sörétes gyorstöltő" #. ~ Description for shotgun 8-round speedloader #: lang/json/MAGAZINE_from_json.py @@ -55891,6 +58471,8 @@ msgid "" " can be used to quickly load the full tube in a much shorter period of time " "than by hand." msgstr "" +"Fogantyúval ellátott acélcső, amelybe 8 darab sörétes lövedéket lehet " +"behelyezni. Használatával sokkal gyorsabban lehet újratárazni, mint kézzel." #: lang/json/MAGAZINE_from_json.py msgid "small welding tank" @@ -55918,17 +58500,6 @@ msgstr "" "Nyomás alatti hegesztési gázok tárolására készített nagy acélhenger. Számos," " mostanára az olvashatatlanságig kifakult jelzés látható rajta." -#: lang/json/MAGAZINE_from_json.py -msgid "oxygen cylinder" -msgstr "" - -#. ~ Description for oxygen cylinder -#: lang/json/MAGAZINE_from_json.py -msgid "" -"A large steel cylinder used for storing pressurized gas. It is marked with a" -" faded, but legible O2 symbol." -msgstr "" - #: lang/json/MAGAZINE_from_json.py lang/json/vehicle_part_from_json.py msgid "car battery" msgid_plural "car batteries" @@ -55957,8 +58528,8 @@ msgstr "" #: lang/json/MAGAZINE_from_json.py msgid "small motorbike battery" msgid_plural "small motorbike batteries" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kis motorkerékpár akkumulátor" +msgstr[1] "kis motorkerékpár akkumulátor" #. ~ Description for small motorbike battery #: lang/json/MAGAZINE_from_json.py @@ -55966,12 +58537,14 @@ msgid "" "A miniature 12v lead-acid battery used to power smaller vehicles' electrical" " systems." msgstr "" +"Egy miniatürizált 12V-os ólom-savas akkumulátor kisebb járművek elektromos " +"rendszereihez." #: lang/json/MAGAZINE_from_json.py lang/json/vehicle_part_from_json.py msgid "large storage battery" msgid_plural "large storage batteries" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "nagy tároló akkumulátor" +msgstr[1] "nagy tároló akkumulátor" #. ~ Description for large storage battery #: lang/json/MAGAZINE_from_json.py @@ -55980,6 +58553,9 @@ msgid "" "tremendous amount of energy. Could be installed into a storage battery case" " for easy removal from a vehicle, or just welded straight in." msgstr "" +"Számos lítium-ion cellát tartalmazó, hatalmas méretű tároló akkumulátor. " +"Könnyű eltávolíthatósághoz beszerelhető egy akkumulátor keretbe, vagy " +"egyenesen a gépjárműbe is hegeszthető." #: lang/json/MAGAZINE_from_json.py lang/json/vehicle_part_from_json.py msgid "medium storage battery" @@ -56026,17 +58602,17 @@ msgstr "" #: lang/json/MAGAZINE_from_json.py msgid "ultra-light battery cell" -msgstr "" +msgstr "ultrakönnyű elem" #: lang/json/MAGAZINE_from_json.py msgid "light battery cell" -msgstr "" +msgstr "könnyű elem" #: lang/json/MAGAZINE_from_json.py msgid "light battery cell (high-capacity)" msgid_plural "light battery cells (high-capacity)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "könnyű elem (magas kapacitású)" +msgstr[1] "könnyű elem (magas kapacitású)" #. ~ Description for light battery cell (high-capacity) #: lang/json/MAGAZINE_from_json.py @@ -56044,26 +58620,28 @@ msgid "" "This is a high-capacity light battery cell, universally compatible with all " "kinds of personal electronic devices." msgstr "" +"Ez egy magas kapacitású elem, amely univerzálisan kompatibilis mindenféle " +"személyes elektronikai tárggyal." #: lang/json/MAGAZINE_from_json.py msgid "medium battery cell" -msgstr "" +msgstr "közepes elem" #: lang/json/MAGAZINE_from_json.py msgid "medium battery cell (high-capacity)" msgid_plural "medium battery cells (high-capacity)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "közepes elem (magas kapacitású)" +msgstr[1] "közepes elem (magas kapacitású)" #: lang/json/MAGAZINE_from_json.py msgid "heavy battery cell" -msgstr "" +msgstr "nehéz elem" #: lang/json/MAGAZINE_from_json.py msgid "heavy battery cell (high-capacity)" msgid_plural "heavy battery cells (high-capacity)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "nehéz elem (magas kapacitású)" +msgstr[1] "nehéz elem (magas kapacitású)" #: lang/json/MAGAZINE_from_json.py msgid "CW-24 auto-magazine" @@ -56141,7 +58719,7 @@ msgstr "" #: lang/json/MAGAZINE_from_json.py msgid ".454 6-round speedloader" -msgstr "" +msgstr "6 lövetű .454 gyorstöltő" #. ~ Description for .454 6-round speedloader #: lang/json/MAGAZINE_from_json.py @@ -56149,10 +58727,12 @@ msgid "" "This speedloader can hold 6 rounds of .454 and quickly reload a compatible " "revolver." msgstr "" +"Ez a gyorstöltő 6 darab .454-es töltény befogadására képes, használatával " +"egy kompatibilis revolvert gyorsan lehet újratölteni." #: lang/json/MAGAZINE_from_json.py msgid ".454 8-round speedloader" -msgstr "" +msgstr "8 lövetű .454 gyorstöltő" #. ~ Description for .454 8-round speedloader #: lang/json/MAGAZINE_from_json.py @@ -56160,6 +58740,8 @@ msgid "" "This speedloader can hold 8 rounds of .454 and quickly reload a compatible " "revolver." msgstr "" +"Ez a gyorstöltő 8 darab .454-es töltény befogadására képes, használatával " +"egy kompatibilis revolvert gyorsan lehet újratölteni." #: lang/json/MAGAZINE_from_json.py msgid "Eagle 1776 magazine" @@ -56176,13 +58758,15 @@ msgstr "" #: lang/json/MAGAZINE_from_json.py msgid "revolver speedloader" -msgstr "" +msgstr "revolver gyorstöltő" #. ~ Description for revolver speedloader #: lang/json/MAGAZINE_from_json.py msgid "" "Speedloader which holds 6 revolver rounds, for reloading a revolver quicker." msgstr "" +"Ez a gyorstöltő 6 darab revolver töltény befogadására képes, használatával " +"egy kompatibilis revolvert gyorsan lehet újratölteni." #: lang/json/MAGAZINE_from_json.py msgid "imported rifle magazine" @@ -56363,8 +58947,8 @@ msgstr "A magnum pisztolyhoz készült revolver tár 7 lövedéket tartalmaz." #: lang/json/MAGAZINE_from_json.py msgid "small mana crystal" msgid_plural "small mana crystals" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kis manakristály" +msgstr[1] "kis manakristály" #. ~ Description for small mana crystal #: lang/json/MAGAZINE_from_json.py @@ -56372,6 +58956,8 @@ msgid "" "This is a small mana crystal specifically designed to be attached to wand " "tips." msgstr "" +"Ezt a kis manakristályt kifejezetten arra tervezték, hogy varázsvessző " +"hegyére lehessen felhelyezni." #: lang/json/MAGAZINE_from_json.py msgid "30x113mm ammo belt" @@ -56480,12 +59066,12 @@ msgstr "A fejlesztők által ajánlott modokat tartalmazza" #: lang/json/MOD_INFO_from_json.py msgid "Aftershock" -msgstr "" +msgstr "Utósokk" #. ~ Description for Aftershock #: lang/json/MOD_INFO_from_json.py msgid "Drifts the game away from realism and more towards sci-fi." -msgstr "" +msgstr "A játék a realizmustól inkább a sci-fi felé tolódik el." #: lang/json/MOD_INFO_from_json.py msgid "Animatronic Monsters" @@ -56554,7 +59140,7 @@ msgstr "Valami őrültségre vágysz a kataklizmádban? Próbáld ki ezt." #: lang/json/MOD_INFO_from_json.py msgid "[DP_MOD] Indicators: Chesthole" -msgstr "" +msgstr "[DP_MOD] Indikátorok: Chesthole" #. ~ Description for [DP_MOD] Indicators: Chesthole #: lang/json/MOD_INFO_from_json.py @@ -56563,7 +59149,7 @@ msgstr "A felület a Chesthole grafikai csomag indikátorait használja" #: lang/json/MOD_INFO_from_json.py msgid "[DP_MOD] Indicators: REMIX" -msgstr "" +msgstr "[DP_MOD] Indikátorok: REMIX" #. ~ Description for [DP_MOD] Indicators: REMIX #: lang/json/MOD_INFO_from_json.py @@ -56683,6 +59269,15 @@ msgstr "" "A zombik által viselt koszos ruhák hordása több hangulati hátránnyal, és " "sebesülés esetén pedig fertőzéssel jár." +#: lang/json/MOD_INFO_from_json.py +msgid "Fuji's Military Profession Pack" +msgstr "" + +#. ~ Description for Fuji's Military Profession Pack +#: lang/json/MOD_INFO_from_json.py +msgid "Numerous military themed professions" +msgstr "" + #: lang/json/MOD_INFO_from_json.py msgid "Fuji's More Buildings" msgstr "Fuji többi épülete" @@ -56853,7 +59448,7 @@ msgstr "" msgid "" "Cataclysm is nice, but what if you could sweeten it a bit? What about " "walking through this world as a human shaped piece of sugar with your pet " -"necco waffer?" +"necco wafer?" msgstr "" #: lang/json/MOD_INFO_from_json.py @@ -57427,8 +60022,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "chicken" msgid_plural "chickens" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csirke" +msgstr[1] "csirke" #. ~ Description for chicken #: lang/json/MONSTER_from_json.py @@ -57444,8 +60039,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "grouse" msgid_plural "grouses" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "fajd" +msgstr[1] "fajd" #. ~ Description for grouse #: lang/json/MONSTER_from_json.py @@ -57459,8 +60054,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "crow" msgid_plural "crows" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "varjú" +msgstr[1] "varjú" #. ~ Description for crow #: lang/json/MONSTER_from_json.py @@ -57474,8 +60069,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "duck" msgid_plural "ducks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kacsa" +msgstr[1] "kacsa" #. ~ Description for duck #: lang/json/MONSTER_from_json.py @@ -57489,11 +60084,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "goose" -msgid_plural "gooses" -msgstr[0] "" -msgstr[1] "" +msgid_plural "geese" +msgstr[0] "kanadai lúd" +msgstr[1] "kanadai lúd" -#. ~ Description for goose +#. ~ Description for {'str': 'goose', 'str_pl': 'geese'} #: lang/json/MONSTER_from_json.py msgid "A Canadian goose, a common waterfowl that regrets leaving Canada." msgstr "" @@ -57503,8 +60098,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "turkey" msgid_plural "turkeys" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "pulyka" +msgstr[1] "pulyka" #. ~ Description for turkey #: lang/json/MONSTER_from_json.py @@ -57518,8 +60113,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pheasant" msgid_plural "pheasants" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "fácán" +msgstr[1] "fácán" #. ~ Description for pheasant #: lang/json/MONSTER_from_json.py @@ -57533,8 +60128,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cockatrice" msgid_plural "cockatrices" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "baziliszkuszmadár" +msgstr[1] "baziliszkuszmadár" #. ~ Description for cockatrice #: lang/json/MONSTER_from_json.py @@ -57549,8 +60144,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "yellow chick" msgid_plural "yellow chicks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "sárga csibe" +msgstr[1] "sárga csibe" #. ~ Description for yellow chick #: lang/json/MONSTER_from_json.py @@ -57562,14 +60157,14 @@ msgstr "Apró sárgásbarna csirke, számos faj példánya lehet." #: lang/json/MONSTER_from_json.py msgid "brown chick" msgid_plural "brown chicks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "barna csibe" +msgstr[1] "barna csibe" #: lang/json/MONSTER_from_json.py msgid "strange chick" msgid_plural "strange chicks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "furcsa csibe" +msgstr[1] "furcsa csibe" #. ~ Description for strange chick #: lang/json/MONSTER_from_json.py @@ -57579,8 +60174,8 @@ msgstr "Furcsa, apró csibe, számos faj példánya lehet." #: lang/json/MONSTER_from_json.py msgid "waterfowl chick" msgid_plural "waterfowl chicks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "vízimadár csibe" +msgstr[1] "vízimadár csibe" #. ~ Description for waterfowl chick #: lang/json/MONSTER_from_json.py @@ -57592,8 +60187,8 @@ msgstr "Apró sárgásbarna csirke, számos vízimadár faj példánya lehet." #: lang/json/MONSTER_from_json.py msgid "M16A4 autonomous TALON UGV" msgid_plural "M16A4 autonomous TALON UGVs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "M16A4 autonóm TALON UGV" +msgstr[1] "M16A4 autonóm TALON UGV" #. ~ Description for M16A4 autonomous TALON UGV #: lang/json/MONSTER_from_json.py @@ -57601,12 +60196,15 @@ msgid "" "A TALON unmanned ground vehicle equipped with an M16A4. It is a small " "tracked UGV with an array of motors and sensors covering its weapon mount." msgstr "" +"A TALON személyzet nélküli földi jármű (UGV) fegyverzete egy M16A4 " +"gépkarabély. Ezt a kisméretű, lánctalpas UGV számos motor hajtja meg, a " +"fedélzeti fegyverét érzékelők veszik körül." #: lang/json/MONSTER_from_json.py msgid "M202A1 autonomous TALON UGV" msgid_plural "M202A1 autonomous TALON UGVs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "M202A1 autonóm TALON UGV" +msgstr[1] "M202A1 autonóm TALON UGV" #. ~ Description for M202A1 autonomous TALON UGV #: lang/json/MONSTER_from_json.py @@ -57615,12 +60213,15 @@ msgid "" "small tracked UGV with an array of motors and sensors covering its weapon " "mount." msgstr "" +"A TALON személyzet nélküli földi jármű (UGV) fegyverzete egy M202A1 FLASH " +"rakétavető. Ezt a kisméretű, lánctalpas UGV számos motor hajtja meg, a " +"fedélzeti fegyverét érzékelők veszik körül." #: lang/json/MONSTER_from_json.py msgid "skitterbot" msgid_plural "skitterbots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "skitterbot" +msgstr[1] "skitterbot" #. ~ Description for skitterbot #: lang/json/MONSTER_from_json.py @@ -57636,8 +60237,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "experimental lab bot" msgid_plural "experimental lab bots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kísérleti laborbot" +msgstr[1] "kísérleti laborbot" #. ~ Description for experimental lab bot #: lang/json/MONSTER_from_json.py @@ -57645,12 +60246,15 @@ msgid "" "This robot looks like a large metal spider, a bit bigger than a person, with" " its thorax covered in tiny holes. An ominous buzzing emanates from it." msgstr "" +"Ez a robot úgy néz ki, mint egy fém pók. Az embernél egy kicsit nagyobb " +"méretű, potrohát számos apró lyuk borítja be. Vészteljes zümmögés hallatszik" +" belőle." #: lang/json/MONSTER_from_json.py msgid "prototype robot" msgid_plural "prototype robots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "prototípus robot" +msgstr[1] "prototípus robot" #. ~ Description for prototype robot #: lang/json/MONSTER_from_json.py @@ -57665,8 +60269,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "NR-031 Dispatch" msgid_plural "NR-031 Dispatchs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "NR-031 Dispatch" +msgstr[1] "NR-031 Dispatch" #. ~ Description for NR-031 Dispatch #: lang/json/MONSTER_from_json.py @@ -57681,8 +60285,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "NR-V05-M Dispatch" msgid_plural "NR-V05-M Dispatchs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "NR-V05-M Dispatch" +msgstr[1] "NR-V05-M Dispatch" #. ~ Description for NR-V05-M Dispatch #: lang/json/MONSTER_from_json.py @@ -57703,8 +60307,8 @@ msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "EMP hack" msgid_plural "EMP hacks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "EMP hack" +msgstr[1] "EMP hack" #. ~ Description for EMP hack #: lang/json/MONSTER_from_json.py @@ -57712,12 +60316,14 @@ msgid "" "An automated kamikaze drone, this small quadcopter robot appears to have an " "EMP grenade inside." msgstr "" +"Automata kamikaze drón. Ebben a kvadkopter nagyságú robotban egy EMP gránát " +"található." #: lang/json/MONSTER_from_json.py msgid "C-4 hack" msgid_plural "C-4 hacks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "C-4 hack" +msgstr[1] "C-4 hack" #. ~ Description for C-4 hack #: lang/json/MONSTER_from_json.py @@ -57725,12 +60331,14 @@ msgid "" "An automated kamikaze drone, this small quadcopter robot appears to have " "some C-4 inside." msgstr "" +"Automata kamikaze drón. Ebben a kvadkopter nagyságú robotban némi C-4 " +"található." #: lang/json/MONSTER_from_json.py msgid "flashbang hack" msgid_plural "flashbang hacks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "villanógránát hack" +msgstr[1] "villanógránát hack" #. ~ Description for flashbang hack #: lang/json/MONSTER_from_json.py @@ -57738,12 +60346,14 @@ msgid "" "An automated kamikaze drone, this small quadcopter robot appears to have a " "flashbang inside." msgstr "" +"Automata kamikaze drón. Ebben a kvadkopter nagyságú robotban egy " +"villanógránát található." #: lang/json/MONSTER_from_json.py msgid "tear gas hack" msgid_plural "tear gas hacks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "könnygáz hack" +msgstr[1] "könnygáz hack" #. ~ Description for tear gas hack #: lang/json/MONSTER_from_json.py @@ -57751,12 +60361,14 @@ msgid "" "An automated kamikaze drone, this small quadcopter robot appears to have a " "tear gas canister inside." msgstr "" +"Automata kamikaze drón. Ebben a kvadkopter nagyságú robotban egy " +"könnygázgránát található." #: lang/json/MONSTER_from_json.py msgid "grenade hack" msgid_plural "grenade hacks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gránátos hack" +msgstr[1] "gránátos hack" #. ~ Description for grenade hack #: lang/json/MONSTER_from_json.py @@ -57764,12 +60376,14 @@ msgid "" "An automated kamikaze drone, this small quadcopter robot appears to have a " "grenade inside." msgstr "" +"Automata kamikaze drón. Ebben a kvadkopter nagyságú robotban egy gránát " +"található." #: lang/json/MONSTER_from_json.py msgid "manhack" msgid_plural "manhacks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "manhack" +msgstr[1] "manhack" #. ~ Description for manhack #: lang/json/MONSTER_from_json.py @@ -57777,80 +60391,82 @@ msgid "" "An automated anti-personnel drone, a small quadcopter robot surrounded by " "whirring blades." msgstr "" +"Automata gyalogság elhárító drón, a kvadkopter nagyságú robotot zizegő " +"pengék veszik körül." #: lang/json/MONSTER_from_json.py msgid "mininuke hack" msgid_plural "mininuke hacks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "mininukis hack" +msgstr[1] "mininukis hack" #. ~ Description for mininuke hack #: lang/json/MONSTER_from_json.py msgid "" "Many times as large as a normal manhack, this flying quadcopter drone " -"appears to have a mininuke inside. If this is targeting you... Run." +"appears to have a mininuke inside. If this is targeting you… Run." msgstr "" #: lang/json/MONSTER_from_json.py msgid "tiny fish" -msgid_plural "tiny fishs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "tiny fish" +msgstr[0] "apró hal" +msgstr[1] "apró hal" -#. ~ Description for tiny fish +#. ~ Description for {'str': 'tiny fish', 'str_pl': 'tiny fish'} #: lang/json/MONSTER_from_json.py msgid "A tiny fish." -msgstr "" +msgstr "Egy apró méretű hal" #: lang/json/MONSTER_from_json.py msgid "small fish" -msgid_plural "small fishs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "small fish" +msgstr[0] "kis hal" +msgstr[1] "kis hal" -#. ~ Description for small fish +#. ~ Description for {'str': 'small fish', 'str_pl': 'small fish'} #: lang/json/MONSTER_from_json.py msgid "A small fish." -msgstr "" +msgstr "Egy kisméretű hal" #: lang/json/MONSTER_from_json.py msgid "medium fish" -msgid_plural "medium fishs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "medium fish" +msgstr[0] "közepes hal" +msgstr[1] "közepes hal" -#. ~ Description for medium fish +#. ~ Description for {'str': 'medium fish', 'str_pl': 'medium fish'} #: lang/json/MONSTER_from_json.py msgid "A medium fish." -msgstr "" +msgstr "Egy közepes méretű hal" #: lang/json/MONSTER_from_json.py msgid "large fish" -msgid_plural "large fishs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "large fish" +msgstr[0] "nagy hal" +msgstr[1] "nagy hal" -#. ~ Description for large fish +#. ~ Description for {'str': 'large fish', 'str_pl': 'large fish'} #: lang/json/MONSTER_from_json.py msgid "A large fish." -msgstr "" +msgstr "Egy nagyméretű hal" #: lang/json/MONSTER_from_json.py msgid "huge fish" -msgid_plural "huge fishs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "huge fish" +msgstr[0] "hatalmas hal" +msgstr[1] "hatalmas hal" -#. ~ Description for huge fish +#. ~ Description for {'str': 'huge fish', 'str_pl': 'huge fish'} #: lang/json/MONSTER_from_json.py msgid "A huge fish." -msgstr "" +msgstr "Egy hatalmas hal." #: lang/json/MONSTER_from_json.py msgid "trout" msgid_plural "trouts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "pisztráng" +msgstr[1] "pisztráng" #. ~ Description for trout #: lang/json/MONSTER_from_json.py @@ -57858,12 +60474,14 @@ msgid "" "A Trout. A fish made popular by father-son fishing trips, Except for the " "part where you have to gut it." msgstr "" +"A pisztráng a családi pecázás alaphala, apák és fiúk közös élménye. " +"Különösen, amikor ki kellett belezni." #: lang/json/MONSTER_from_json.py msgid "brown trout" msgid_plural "brown trouts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "barna pisztráng" +msgstr[1] "barna pisztráng" #. ~ Description for brown trout #: lang/json/MONSTER_from_json.py @@ -57871,12 +60489,14 @@ msgid "" "A Brown Trout. A fish made popular by father-son fishing trips, Except for " "the part where you have to gut it." msgstr "" +"A barna pisztráng a családi pecázás alaphala, apák és fiúk közös élménye. " +"Különösen, amikor ki kellett belezni." #: lang/json/MONSTER_from_json.py msgid "brook trout" msgid_plural "brook trouts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "pataki pisztráng" +msgstr[1] "pataki pisztráng" #. ~ Description for brook trout #: lang/json/MONSTER_from_json.py @@ -57884,12 +60504,14 @@ msgid "" "A Brook Trout. A fish made popular by father-son fishing trips, Except for " "the part where you have to gut it." msgstr "" +"A pataki pisztráng a családi pecázás alaphala, apák és fiúk közös élménye. " +"Különösen, amikor ki kellett belezni." #: lang/json/MONSTER_from_json.py msgid "lake trout" msgid_plural "lake trouts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "tavi pisztráng" +msgstr[1] "tavi pisztráng" #. ~ Description for lake trout #: lang/json/MONSTER_from_json.py @@ -57897,12 +60519,14 @@ msgid "" "A Lake trout. A fish made popular by father-son fishing trips, Except for " "the part where you have to gut it." msgstr "" +"A tavi pisztráng a családi pecázás alaphala, apák és fiúk közös élménye. " +"Különösen, amikor ki kellett belezni." #: lang/json/MONSTER_from_json.py msgid "rainbow trout" msgid_plural "rainbow trouts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "szivárványos pisztráng" +msgstr[1] "szivárványos pisztráng" #. ~ Description for rainbow trout #: lang/json/MONSTER_from_json.py @@ -57910,12 +60534,14 @@ msgid "" "A Rainbow Trout. A fish made popular by father-son fishing trips, Except " "for the part where you have to gut it." msgstr "" +"A szivárványos pisztráng a családi pecázás alaphala, apák és fiúk közös " +"élménye. Különösen, amikor ki kellett belezni." #: lang/json/MONSTER_from_json.py msgid "steelhead trout" msgid_plural "steelhead trouts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "steelhead pisztráng" +msgstr[1] "steelhead pisztráng" #. ~ Description for steelhead trout #: lang/json/MONSTER_from_json.py @@ -57923,61 +60549,67 @@ msgid "" "A Steelhead Trout. A fish made popular by father-son fishing trips, Except " "for the part where you have to gut it." msgstr "" +"A steelhead pisztráng a családi pecázás alaphala, apák és fiúk közös " +"élménye. Különösen, amikor ki kellett belezni." #: lang/json/MONSTER_from_json.py msgid "salmon" msgid_plural "salmons" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "lazac" +msgstr[1] "lazac" #. ~ Description for salmon #: lang/json/MONSTER_from_json.py msgid "" "An Atlantic Salmon. A very fatty, nutritious fish. Tastes great smoked." msgstr "" +"Az atlanti lazac egy nagyon zsíros, tápláló hal. Füstölve igazán jó az íze." #: lang/json/MONSTER_from_json.py msgid "kokanee salmon" msgid_plural "kokanee salmons" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kokanee lazac" +msgstr[1] "kokanee lazac" #. ~ Description for kokanee salmon #: lang/json/MONSTER_from_json.py msgid "" "A Kokanee Salmon. A very fatty, nutritious fish. Tastes great smoked." msgstr "" +"A kokanee lazac egy nagyon zsíros, tápláló hal. Füstölve igazán jó az íze." #: lang/json/MONSTER_from_json.py msgid "chinook salmon" msgid_plural "chinook salmons" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "chinook lazac" +msgstr[1] "chinook lazac" #. ~ Description for chinook salmon #: lang/json/MONSTER_from_json.py msgid "" "A Chinook Salmon. A very fatty, nutritious fish. Tastes great smoked." msgstr "" +"A chinook lazac egy nagyon zsíros, tápláló hal. Füstölve igazán jó az íze." #: lang/json/MONSTER_from_json.py msgid "coho salmon" msgid_plural "coho salmons" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "coho lazac" +msgstr[1] "coho lazac" #. ~ Description for coho salmon #: lang/json/MONSTER_from_json.py msgid "A Coho Salmon. A very fatty, nutritious fish. Tastes great smoked." msgstr "" +"A coho lazac egy nagyon zsíros, tápláló hal. Füstölve igazán jó az íze." #: lang/json/MONSTER_from_json.py msgid "whitefish" -msgid_plural "whitefishs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "whitefish" +msgstr[0] "maréna" +msgstr[1] "maréna" -#. ~ Description for whitefish +#. ~ Description for {'str': 'whitefish', 'str_pl': 'whitefish'} #: lang/json/MONSTER_from_json.py msgid "" "A whitefish, closely related to salmon. One can assume they are just as " @@ -57988,232 +60620,246 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "largemouth bass" -msgid_plural "largemouth basss" -msgstr[0] "" -msgstr[1] "" +msgid_plural "largemouth bass" +msgstr[0] "pisztrángsügér" +msgstr[1] "pisztrángsügér" -#. ~ Description for largemouth bass +#. ~ Description for {'str': 'largemouth bass', 'str_pl': 'largemouth bass'} #: lang/json/MONSTER_from_json.py msgid "A Largemouth Bass. Very popular with sports fishermen." -msgstr "" +msgstr "A pisztrángsügér a sporthorgászok egyik kedvenc hala." #: lang/json/MONSTER_from_json.py msgid "smallmouth bass" -msgid_plural "smallmouth basss" -msgstr[0] "" -msgstr[1] "" +msgid_plural "smallmouth bass" +msgstr[0] "fekete sügér" +msgstr[1] "fekete sügér" -#. ~ Description for smallmouth bass +#. ~ Description for {'str': 'smallmouth bass', 'str_pl': 'smallmouth bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Smallmouth Bass. Being intolerant to pollution in the water, smallmouth " "bass are a good indicator of how clean it is." msgstr "" +"A fekete sügér nagyon érzékeny a vízszennyezésre, ezért jelenlétük jó " +"indikátora annak, hogy mennyire tiszta a víz." #: lang/json/MONSTER_from_json.py msgid "striped bass" -msgid_plural "striped basss" -msgstr[0] "" -msgstr[1] "" +msgid_plural "striped bass" +msgstr[0] "csíkos sügér" +msgstr[1] "csíkos sügér" -#. ~ Description for striped bass +#. ~ Description for {'str': 'striped bass', 'str_pl': 'striped bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Striped Bass. Mostly a salt water fish, they migrate to fresher water to " "spawn." msgstr "" +"A csíkos sügér nagyrészt sós vízi hal, csak ívásra úszik fel az édesvizekbe." #: lang/json/MONSTER_from_json.py msgid "white bass" -msgid_plural "white basss" -msgstr[0] "" -msgstr[1] "" +msgid_plural "white bass" +msgstr[0] "fehér sügér" +msgstr[1] "fehér sügér" -#. ~ Description for white bass +#. ~ Description for {'str': 'white bass', 'str_pl': 'white bass'} #: lang/json/MONSTER_from_json.py msgid "" "A White Bass. Common to the region, a slab-sided and spiny-rayed little " "fish." msgstr "" +"A fehér sügér őshonos ebben a régióban, lapos oldaláról és tüskés hátáról " +"lehet felismerni." #: lang/json/MONSTER_from_json.py msgid "perch" -msgid_plural "perchs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "perches" +msgstr[0] "sügér" +msgstr[1] "sügér" -#. ~ Description for perch +#. ~ Description for {'str': 'perch', 'str_pl': 'perches'} #: lang/json/MONSTER_from_json.py msgid "" "A small spritely Perch. A very bony fish, still got some tasty meat on it " "though." -msgstr "" +msgstr "A sügérben rengeteg a szálka, viszont a húsa attól még finom." #: lang/json/MONSTER_from_json.py msgid "walleye" msgid_plural "walleyes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "süllő" +msgstr[1] "süllő" #. ~ Description for walleye #: lang/json/MONSTER_from_json.py msgid "A Walleye, a green-brown medium-sized fish with a white belly." -msgstr "" +msgstr "A süllő egy zöldesbarna, fehér hasú, közepes méretű hal." #: lang/json/MONSTER_from_json.py msgid "sunfish" -msgid_plural "sunfishs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "sunfish" +msgstr[0] "naphal" +msgstr[1] "naphal" -#. ~ Description for sunfish +#. ~ Description for {'str': 'sunfish', 'str_pl': 'sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Sunfish. A small fish related to bass or bluegill." -msgstr "" +msgstr "Ez a kis hal a sügérfélék nemzetébe tartozik." #: lang/json/MONSTER_from_json.py msgid "pumpkinseed sunfish" -msgid_plural "pumpkinseed sunfishs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "pumpkinseed sunfish" +msgstr[0] "tökmag naphal" +msgstr[1] "tökmag naphal" -#. ~ Description for pumpkinseed sunfish +#. ~ Description for {'str': 'pumpkinseed sunfish', 'str_pl': 'pumpkinseed +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Pumpkinseed Sunfish. A small fish related to bass or bluegill." -msgstr "" +msgstr "Ez a kis hal a sügérfélék nemzetébe tartozik." #: lang/json/MONSTER_from_json.py msgid "bluegill" msgid_plural "bluegills" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kékkopoltyús díszsügér" +msgstr[1] "kékkopoltyús díszsügér" #. ~ Description for bluegill #: lang/json/MONSTER_from_json.py msgid "" "A Bluegill, an invasive species in Japan. Commonly gutted and cooked whole." msgstr "" +"Egyes országokban, például Japánban, káros fajnak tartják. Általában " +"kibelezés után egészben megfőzik." #: lang/json/MONSTER_from_json.py msgid "redbreast sunfish" -msgid_plural "redbreast sunfishs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "redbreast sunfish" +msgstr[0] "vörösmellényű naphal" +msgstr[1] "vörösmellényű naphal" -#. ~ Description for redbreast sunfish +#. ~ Description for {'str': 'redbreast sunfish', 'str_pl': 'redbreast +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redbreast Sunfish. A small fish related to bass or bluegill." -msgstr "" +msgstr "Ez a kis hal a sügérfélék nemzetébe tartozik." #: lang/json/MONSTER_from_json.py msgid "green sunfish" -msgid_plural "green sunfishs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "green sunfish" +msgstr[0] "zöld naphal" +msgstr[1] "zöld naphal" -#. ~ Description for green sunfish +#. ~ Description for {'str': 'green sunfish', 'str_pl': 'green sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Green Sunfish. A small fish related to bass or bluegill." -msgstr "" +msgstr "Ez a kis hal a sügérfélék nemzetébe tartozik." #: lang/json/MONSTER_from_json.py msgid "longear sunfish" -msgid_plural "longear sunfishs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "longear sunfish" +msgstr[0] "hosszúfülű naphal" +msgstr[1] "hosszúfülű naphal" -#. ~ Description for longear sunfish +#. ~ Description for {'str': 'longear sunfish', 'str_pl': 'longear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Longear Sunfish. A small fish related to bass or bluegill." -msgstr "" +msgstr "Ez a kis hal a sügérfélék nemzetébe tartozik." #: lang/json/MONSTER_from_json.py msgid "redear sunfish" -msgid_plural "redear sunfishs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "redear sunfish" +msgstr[0] "vörösfülű naphal" +msgstr[1] "vörösfülű naphal" -#. ~ Description for redear sunfish +#. ~ Description for {'str': 'redear sunfish', 'str_pl': 'redear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redear Sunfish. A small fish related to bass or bluegill." -msgstr "" +msgstr "Ez a kis hal a sügérfélék nemzetébe tartozik." #: lang/json/MONSTER_from_json.py msgid "rock bass" -msgid_plural "rock basss" -msgstr[0] "" -msgstr[1] "" +msgid_plural "rock bass" +msgstr[0] "kövi sügér" +msgstr[1] "kövi sügér" -#. ~ Description for rock bass +#. ~ Description for {'str': 'rock bass', 'str_pl': 'rock bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Rock Bass. Related to sunfish, this tiny fish has a camoflauge-like " "patterning and a red eye." msgstr "" +"A kövi sügér a naphal sügérek rokona, felismerhető az álcázómintás " +"megjelenéséről és a vörös szeméről." #: lang/json/MONSTER_from_json.py msgid "calico bass" -msgid_plural "calico basss" -msgstr[0] "" -msgstr[1] "" +msgid_plural "calico bass" +msgstr[0] "pomoxis" +msgstr[1] "pomoxis" -#. ~ Description for calico bass +#. ~ Description for {'str': 'calico bass', 'str_pl': 'calico bass'} #: lang/json/MONSTER_from_json.py msgid "A Calico Bass. A medium-sized fish also known as a 'Crappie'." -msgstr "" +msgstr "Közepes méretű díszsügérféle." #: lang/json/MONSTER_from_json.py msgid "warmouth" msgid_plural "warmouths" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kékkopoltyús naphal" +msgstr[1] "kékkopoltyús naphal" #. ~ Description for warmouth #: lang/json/MONSTER_from_json.py msgid "" "A Warmouth, similar to a rock bass, this small fish is related to the " "sunfish." -msgstr "" +msgstr "A kékkopoltyús naphal hasonlít a kövi sügérhez." #: lang/json/MONSTER_from_json.py msgid "bullhead" msgid_plural "bullheads" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "harcsa" +msgstr[1] "harcsa" #. ~ Description for bullhead #: lang/json/MONSTER_from_json.py msgid "A Bullhead, a type of catfish. Delicious battered and fried." -msgstr "" +msgstr "A harcsa bepanírozva és kisütve igazán finom." #: lang/json/MONSTER_from_json.py msgid "channel catfish" -msgid_plural "channel catfishs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "channel catfish" +msgstr[0] "pettyes harcsa" +msgstr[1] "pettyes harcsa" -#. ~ Description for channel catfish +#. ~ Description for {'str': 'channel catfish', 'str_pl': 'channel catfish'} #: lang/json/MONSTER_from_json.py msgid "A Channel Catfish, they have a forked tail and long whiskers." msgstr "" +"A pettyes harcsát villás farkáról és hosszú bajszáról lehet felismerni." #: lang/json/MONSTER_from_json.py msgid "white catfish" -msgid_plural "white catfishs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "white catfish" +msgstr[0] "fehér törpeharcsa" +msgstr[1] "fehér törpeharcsa" -#. ~ Description for white catfish +#. ~ Description for {'str': 'white catfish', 'str_pl': 'white catfish'} #: lang/json/MONSTER_from_json.py msgid "A White Catfish, a small whiskered fish with a broad head." msgstr "" +"A fehér törpeharcsát kis méretéről, és széles, bajszos fejéről lehet " +"felismerni." #: lang/json/MONSTER_from_json.py msgctxt "fish" msgid "pike" msgid_plural "pikes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csuka" +msgstr[1] "csuka" #. ~ Description for {'ctxt': 'fish', 'str': 'pike'} #: lang/json/MONSTER_from_json.py @@ -58221,23 +60867,25 @@ msgid "" "A Northern Pike. Pike can be a pretty aggressive fish, careful around those" " teeth." msgstr "" +"A csukák nagyon agresszív halak is tudnak lenni, szóval csak óvatosan " +"azokkal a fogakkal." #: lang/json/MONSTER_from_json.py msgid "pickerel" msgid_plural "pickerels" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kis csuka" +msgstr[1] "kis csuka" #. ~ Description for pickerel #: lang/json/MONSTER_from_json.py msgid "A Pickerel. It looks like a pike, but much smaller." -msgstr "" +msgstr "A kis csuka olyan, mint a csuka, csak hát ugye kisebb." #: lang/json/MONSTER_from_json.py msgid "muskellunge" msgid_plural "muskellunges" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "muskellunge" +msgstr[1] "muskellunge" #. ~ Description for muskellunge #: lang/json/MONSTER_from_json.py @@ -58245,23 +60893,25 @@ msgid "" "A Muskellunge. Closely related to pike, it shares the same aggression and " "sharp teeth." msgstr "" +"A muskellunge egy csukaféle, és hegyes fogaival ugyanannyira agresszív is." #: lang/json/MONSTER_from_json.py msgid "white sucker" msgid_plural "white suckers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "fehér bivalyhal" +msgstr[1] "fehér bivalyhal" #. ~ Description for white sucker #: lang/json/MONSTER_from_json.py msgid "A White Sucker. It has a streamlined body with a round mouth." msgstr "" +"A fehér bivalyhalat áramvonalas testéről és kerek szájáról lehet felismerni." #: lang/json/MONSTER_from_json.py msgid "carp" msgid_plural "carps" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "ponty" +msgstr[1] "ponty" #. ~ Description for carp #: lang/json/MONSTER_from_json.py @@ -58269,23 +60919,25 @@ msgid "" "A golden-yellow Common Carp. Some people think they don't taste great, but " "you can't afford to be choosy in the cataclysm." msgstr "" +"Egyesek szerint a ponty egy néha kicsit mocsárízű, de a kataklizma után ne " +"legyél már finnyás." #: lang/json/MONSTER_from_json.py msgid "grass carp" msgid_plural "grass carps" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "amur" +msgstr[1] "amur" #. ~ Description for grass carp #: lang/json/MONSTER_from_json.py msgid "A huge Grass Carp. A golden, herbivorous fish." -msgstr "" +msgstr "Az amur egy hatalmas pontyféle. Aranyszínű, növényevő hal." #: lang/json/MONSTER_from_json.py msgid "bowfin" msgid_plural "bowfins" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "iszaphal" +msgstr[1] "iszaphal" #. ~ Description for bowfin #: lang/json/MONSTER_from_json.py @@ -58298,48 +60950,45 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fallfish" -msgid_plural "fallfishs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "fallfish" +msgstr[0] "fallfish" +msgstr[1] "fallfish" -#. ~ Description for fallfish +#. ~ Description for {'str': 'fallfish', 'str_pl': 'fallfish'} #: lang/json/MONSTER_from_json.py msgid "" "A Fallfish. These fish are related to gar but without the huge teeth, skin " "rending scales, and aggression." msgstr "" +"Az fallfish egy csukaféle, de nincs akkora foga, érdes pikkelye vagy rossz " +"kedve." #: lang/json/MONSTER_from_json.py msgid "lobster" msgid_plural "lobsters" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "homár" +msgstr[1] "homár" #. ~ Description for lobster #: lang/json/MONSTER_from_json.py msgid "" "These things were once considered pests not worth eating, then some " "marketing genius started selling them to people as a delicacy and they took " -"off in popularity... and price." +"off in popularity… and price." msgstr "" -"Ezeket egykoron ehetetlen kártevőknek tartották, utána pedig egy marketing " -"zseni elkezdte ínyenceknek értékesíteni, és onnan kezdve a népszerűségük, és" -" az áruk is, az egekbe szökött." #: lang/json/MONSTER_from_json.py msgid "crayfish" -msgid_plural "crayfishs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "crayfish" +msgstr[0] "amerikai folyami rák" +msgstr[1] "amerikai folyami rák" -#. ~ Description for crayfish +#. ~ Description for {'str': 'crayfish', 'str_pl': 'crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "If you could get ahold of a bunch more of these, a hefty pot of boiling " -"water, and some spicy seasonings..." +"water, and some spicy seasonings…" msgstr "" -"Ha ebből többet össze tudnál fogni, lenne egy lábos forró vized és néhány " -"csípős fűszered..." #: lang/json/MONSTER_from_json.py msgid "Blinky" @@ -58347,7 +60996,7 @@ msgid_plural "Blinkies" msgstr[0] "Blinky" msgstr[1] "Blinky" -#. ~ Description for Blinky +#. ~ Description for {'str': 'Blinky', 'str_pl': 'Blinkies'} #: lang/json/MONSTER_from_json.py msgid "A strange three-eyed fish." msgstr "Furcsa háromszemű hal." @@ -58355,8 +61004,8 @@ msgstr "Furcsa háromszemű hal." #: lang/json/MONSTER_from_json.py msgid "freshwater eel" msgid_plural "freshwater eels" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "édesvízi angolna" +msgstr[1] "édesvízi angolna" #. ~ Description for freshwater eel #: lang/json/MONSTER_from_json.py @@ -58371,8 +61020,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "jawed terror" msgid_plural "jawed terrors" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "fogas rémület" +msgstr[1] "fogas rémület" #. ~ Description for jawed terror #: lang/json/MONSTER_from_json.py @@ -58386,8 +61035,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant carp" msgid_plural "giant carps" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriásponty" +msgstr[1] "óriásponty" #. ~ Description for giant carp #: lang/json/MONSTER_from_json.py @@ -58401,8 +61050,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant salmon" msgid_plural "giant salmons" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriáslazac" +msgstr[1] "óriáslazac" #. ~ Description for giant salmon #: lang/json/MONSTER_from_json.py @@ -58416,8 +61065,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "seweranha" msgid_plural "seweranhas" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csatorpirája" +msgstr[1] "csatorpirája" #. ~ Description for seweranha #: lang/json/MONSTER_from_json.py @@ -58431,8 +61080,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "skittering plague" msgid_plural "skittering plagues" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "sietős döghalál" +msgstr[1] "sietős döghalál" #. ~ Description for skittering plague #: lang/json/MONSTER_from_json.py @@ -58443,8 +61092,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "plague nymph" msgid_plural "plague nymphs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "döghalál lárva" +msgstr[1] "döghalál lárva" #. ~ Description for plague nymph #: lang/json/MONSTER_from_json.py @@ -58454,8 +61103,8 @@ msgstr "Patkány méretű fertőzött, mutáns csótány." #: lang/json/MONSTER_from_json.py msgid "plague vector" msgid_plural "plague vectors" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "döghalál hordozó" +msgstr[1] "döghalál hordozó" #. ~ Description for plague vector #: lang/json/MONSTER_from_json.py @@ -58468,11 +61117,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant cockroach" -msgid_plural "giant cockroachs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "giant cockroaches" +msgstr[0] "óriás csótány" +msgstr[1] "óriás csótány" -#. ~ Description for giant cockroach +#. ~ Description for {'str': 'giant cockroach', 'str_pl': 'giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "A mutant cockroach the size of a small dog." msgstr "Kisebb kutya méretű mutáns csótány." @@ -58480,8 +61129,8 @@ msgstr "Kisebb kutya méretű mutáns csótány." #: lang/json/MONSTER_from_json.py msgid "giant cockroach nymph" msgid_plural "giant cockroach nymphs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriás csótány lárva" +msgstr[1] "óriás csótány lárva" #. ~ Description for giant cockroach nymph #: lang/json/MONSTER_from_json.py @@ -58490,21 +61139,22 @@ msgstr "Patkányméretű mutáns csótánybébi." #: lang/json/MONSTER_from_json.py msgid "pregnant giant cockroach" -msgid_plural "pregnant giant cockroachs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "pregnant giant cockroaches" +msgstr[0] "vemhes óriás csótány" +msgstr[1] "vemhes óriás csótány" -#. ~ Description for pregnant giant cockroach +#. ~ Description for {'str': 'pregnant giant cockroach', 'str_pl': 'pregnant +#. giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant cockroach the size of a small dog. Its abdomen is heavily swollen." -msgstr "" +msgstr "Kisebb kutya méretű mutáns csótány. A potroha nagyon feldagadt." #: lang/json/MONSTER_from_json.py msgid "giant bee" msgid_plural "giant bees" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriásméh" +msgstr[1] "óriásméh" #. ~ Description for giant bee #: lang/json/MONSTER_from_json.py @@ -58518,8 +61168,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant centipede" msgid_plural "giant centipedes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriás százlábú" +msgstr[1] "óriás százlábú" #. ~ Description for giant centipede #: lang/json/MONSTER_from_json.py @@ -58536,7 +61186,7 @@ msgid_plural "giant dragonflies" msgstr[0] "óriás szitakötő" msgstr[1] "óriás szitakötő" -#. ~ Description for giant dragonfly +#. ~ Description for {'str': 'giant dragonfly', 'str_pl': 'giant dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A ferocious mutant dragonfly as big as a cat, darting through the air with a" @@ -58551,7 +61201,7 @@ msgid_plural "giant flies" msgstr[0] "óriáslégy" msgstr[1] "óriáslégy" -#. ~ Description for giant fly +#. ~ Description for {'str': 'giant fly', 'str_pl': 'giant flies'} #: lang/json/MONSTER_from_json.py msgid "" "A tremendous housefly the size of a small dog, predictably accompanied by a " @@ -58563,8 +61213,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant mosquito" msgid_plural "giant mosquitos" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriás szúnyog" +msgstr[1] "óriás szúnyog" #. ~ Description for giant mosquito #: lang/json/MONSTER_from_json.py @@ -58578,8 +61228,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant cellar spider" msgid_plural "giant cellar spiders" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriás kaszáspók" +msgstr[1] "óriás kaszáspók" #. ~ Description for giant cellar spider #: lang/json/MONSTER_from_json.py @@ -58594,8 +61244,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "immature giant cellar spider" msgid_plural "immature giant cellar spiders" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kifejletlen óriás kaszáspók" +msgstr[1] "kifejletlen óriás kaszáspók" #. ~ Description for immature giant cellar spider #: lang/json/MONSTER_from_json.py @@ -58609,8 +61259,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant jumping spider" msgid_plural "giant jumping spiders" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriás ugrópók" +msgstr[1] "óriás ugrópók" #. ~ Description for giant jumping spider #: lang/json/MONSTER_from_json.py @@ -58624,8 +61274,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant trapdoor spider" msgid_plural "giant trapdoor spiders" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriás aknászpók" +msgstr[1] "óriás aknászpók" #. ~ Description for giant trapdoor spider #: lang/json/MONSTER_from_json.py @@ -58639,8 +61289,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant web spider" msgid_plural "giant web spiders" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriás zugpók" +msgstr[1] "óriás zugpók" #. ~ Description for giant web spider #: lang/json/MONSTER_from_json.py @@ -58654,8 +61304,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal spider" msgid_plural "fungal spiders" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gombapók" +msgstr[1] "gombapók" #. ~ Description for fungal spider #: lang/json/MONSTER_from_json.py @@ -58664,12 +61314,15 @@ msgid "" " blooming fungi. It is leaving behind a trail of tainted secretions when " "the spider struggles to drag it along the ground." msgstr "" +"A beteges kinézetű óriáspók potrohán számos csomónyi rajzó gomba tapadt meg." +" A pók a talajon vonszolja magát, emiatt a gombákból fertőzött váladékcsíkot" +" húz maga után." #: lang/json/MONSTER_from_json.py msgid "immature giant web spider" msgid_plural "immature giant web spiders" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kifejletlen óriás zugpók" +msgstr[1] "kifejletlen óriás zugpók" #. ~ Description for immature giant web spider #: lang/json/MONSTER_from_json.py @@ -58683,8 +61336,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant black widow" msgid_plural "giant black widows" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriás fekete özvegy" +msgstr[1] "óriás fekete özvegy" #. ~ Description for giant black widow #: lang/json/MONSTER_from_json.py @@ -58697,8 +61350,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant black widow spiderling" msgid_plural "giant black widow spiderlings" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriás fekete özvegy lárva" +msgstr[1] "óriás fekete özvegy lárva" #. ~ Description for giant black widow spiderling #: lang/json/MONSTER_from_json.py @@ -58712,8 +61365,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant wolf spider" msgid_plural "giant wolf spiders" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriás farkaspók" +msgstr[1] "óriás farkaspók" #. ~ Description for giant wolf spider #: lang/json/MONSTER_from_json.py @@ -58727,8 +61380,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant wasp" msgid_plural "giant wasps" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriásdarázs" +msgstr[1] "óriásdarázs" #. ~ Description for giant wasp #: lang/json/MONSTER_from_json.py @@ -58742,8 +61395,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dermatik" msgid_plural "dermatiks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "dermatik" +msgstr[1] "dermatik" #. ~ Description for dermatik #: lang/json/MONSTER_from_json.py @@ -58755,11 +61408,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dermatik larva" -msgid_plural "dermatik larvas" -msgstr[0] "" -msgstr[1] "" +msgid_plural "dermatik larvae" +msgstr[0] "dermatiklárva" +msgstr[1] "dermatiklárva" -#. ~ Description for dermatik larva +#. ~ Description for {'str': 'dermatik larva', 'str_pl': 'dermatik larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A fat white grub as big as a squirrel, with a pair of large, spadelike " @@ -58769,8 +61422,8 @@ msgstr "Mókus méretű, kövér fehér lárva lapátszerű csáprágóval." #: lang/json/MONSTER_from_json.py msgid "giant ant" msgid_plural "giant ants" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriáshangya" +msgstr[1] "óriáshangya" #. ~ Description for giant ant #: lang/json/MONSTER_from_json.py @@ -58784,8 +61437,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant acidic ant" msgid_plural "giant acidic ants" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriás savas hangya" +msgstr[1] "óriás savas hangya" #. ~ Description for giant acidic ant #: lang/json/MONSTER_from_json.py @@ -58798,11 +61451,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "acidic ant larva" -msgid_plural "acidic ant larvas" -msgstr[0] "" -msgstr[1] "" +msgid_plural "acidic ant larvae" +msgstr[0] "savas hangya lárva" +msgstr[1] "savas hangya lárva" -#. ~ Description for acidic ant larva +#. ~ Description for {'str': 'acidic ant larva', 'str_pl': 'acidic ant +#. larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A squirming yellow grub that seems to be oozing liquid from both ends of its" @@ -58815,8 +61469,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "acidic queen ant" msgid_plural "acidic queen ants" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "savas hangya királynő" +msgstr[1] "savas hangya királynő" #. ~ Description for acidic queen ant #: lang/json/MONSTER_from_json.py @@ -58832,8 +61486,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "acidic soldier ant" msgid_plural "acidic soldier ants" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "savas hangya katona" +msgstr[1] "savas hangya katona" #. ~ Description for acidic soldier ant #: lang/json/MONSTER_from_json.py @@ -58849,8 +61503,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal ant" msgid_plural "fungal ants" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gombás hangya" +msgstr[1] "gombás hangya" #. ~ Description for fungal ant #: lang/json/MONSTER_from_json.py @@ -58863,11 +61517,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "ant larva" -msgid_plural "ant larvas" -msgstr[0] "" -msgstr[1] "" +msgid_plural "ant larvae" +msgstr[0] "hangyalárva" +msgstr[1] "hangyalárva" -#. ~ Description for ant larva +#. ~ Description for {'str': 'ant larva', 'str_pl': 'ant larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A pulsating sausage of glistening white flesh, the size of a large cat. On " @@ -58879,8 +61533,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "queen ant" msgid_plural "queen ants" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hangya királynő" +msgstr[1] "hangya királynő" #. ~ Description for queen ant #: lang/json/MONSTER_from_json.py @@ -58894,8 +61548,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "soldier ant" msgid_plural "soldier ants" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hangya katona" +msgstr[1] "hangya katona" #. ~ Description for soldier ant #: lang/json/MONSTER_from_json.py @@ -58909,8 +61563,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant locust" msgid_plural "giant locusts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriás sáska" +msgstr[1] "óriás sáska" #. ~ Description for giant locust #: lang/json/MONSTER_from_json.py @@ -58924,8 +61578,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "locust nymph" msgid_plural "locust nymphs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "sáska lárva" +msgstr[1] "sáska lárva" #. ~ Description for locust nymph #: lang/json/MONSTER_from_json.py @@ -58939,8 +61593,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "black bear cub" msgid_plural "black bear cubs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "feketemedve bocs" +msgstr[1] "feketemedve bocs" #. ~ Description for black bear cub #: lang/json/MONSTER_from_json.py @@ -58948,12 +61602,15 @@ msgid "" "A juvenile American black bear. This one isn't much of a threat, but be " "wary of its parent; black bears are known for their protectiveness." msgstr "" +"Fiatalkorú észak-amerikai feketemedve. Ez a példány nem jelent nagy " +"fenyegetést, de óvakodj a szüleitől - a feketemedvék hírhedtek a védelmező " +"anyai ösztönükről." #: lang/json/MONSTER_from_json.py msgid "black bear" msgid_plural "black bears" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "feketemedve" +msgstr[1] "feketemedve" #. ~ Description for black bear #: lang/json/MONSTER_from_json.py @@ -58962,12 +61619,15 @@ msgid "" "claws and jaws, and is an effective ambush hunter. Most individuals are shy" " around humans, but they're fiercely protective of their cubs." msgstr "" +"Az amerikai fekete medve egy nagyméretű mindenevő, erős állkapoccsal és éles" +" karmokkal. Hatékonyan vadászik lesből. A legtöbb egyedet félénk az emberek " +"közelében, de vérszomjassá válik bocsaik védelmében." #: lang/json/MONSTER_from_json.py msgid "beaver" msgid_plural "beavers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hód" +msgstr[1] "hód" #. ~ Description for beaver #: lang/json/MONSTER_from_json.py @@ -58985,8 +61645,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "black rat" msgid_plural "black rats" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "fekete patkány" +msgstr[1] "fekete patkány" #. ~ Description for black rat #: lang/json/MONSTER_from_json.py @@ -59002,8 +61662,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bobcat" msgid_plural "bobcats" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hiúz" +msgstr[1] "hiúz" #. ~ Description for bobcat #: lang/json/MONSTER_from_json.py @@ -59011,12 +61671,15 @@ msgid "" "A spotted wild cat living across much of North America. It is not a serious" " threat to humans, but it can be aggressive when threatened." msgstr "" +"Foltos vadmacska, az észak-amerikai kontinens szinte mindegyik részén " +"megtalálható. Nem jelent komoly veszélyt jelent az emberre, de ha nem " +"hagyják békén, agresszív is lehet." #: lang/json/MONSTER_from_json.py msgid "cat" msgid_plural "cats" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "macska" +msgstr[1] "macska" #. ~ Description for cat #: lang/json/MONSTER_from_json.py @@ -59031,8 +61694,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "chipmunk" msgid_plural "chipmunks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csíkoshátú mókus" +msgstr[1] "csíkoshátú mókus" #. ~ Description for chipmunk #: lang/json/MONSTER_from_json.py @@ -59049,8 +61712,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cougar" msgid_plural "cougars" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "puma" +msgstr[1] "puma" #. ~ Description for cougar #: lang/json/MONSTER_from_json.py @@ -59070,8 +61733,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "calf" msgid_plural "calfs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "borjú" +msgstr[1] "borjú" #. ~ Description for calf #. ~ Description for cow @@ -59088,14 +61751,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cow" msgid_plural "cows" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "tehén" +msgstr[1] "tehén" #: lang/json/MONSTER_from_json.py msgid "coyote" msgid_plural "coyotes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "prérifarkas" +msgstr[1] "prérifarkas" #. ~ Description for coyote #: lang/json/MONSTER_from_json.py @@ -59105,6 +61768,9 @@ msgid "" "intimidated by humans and other predators, but it will still fight if " "threatened, and the Cataclysm has made it more fearless than usual." msgstr "" +"A keleti prérifarkas egy területvédő kutyaféle, a szürkefarkas és az igazi " +"prérifarkas leszármazotta. Fél az emberektől és a többi ragadozótól, de " +"támad, ha veszély fenyegeti. A Kataklizma óta azonban kevésbé félénk." #. ~ Description for coyote #: lang/json/MONSTER_from_json.py @@ -59113,12 +61779,16 @@ msgid "" " wolf, it is an opportunistic feeder and prefers to hunt smaller and weaker " "prey, but is typically timid around humans." msgstr "" +"Az északkeleti prérifarkas egy magas egyedszámmal rendelkező, falkában " +"vadászó kutyaféle. Bár a farkasnál félénkebb, magához ragadja a " +"kezdeményezést, ha kisebb és gyengébb zsákmánnyal kerül szembe. Általában " +"fél az emberektől." #: lang/json/MONSTER_from_json.py msgid "fawn" msgid_plural "fawns" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "őzborjú" +msgstr[1] "őzborjú" #. ~ Description for fawn #: lang/json/MONSTER_from_json.py @@ -59132,8 +61802,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "deer" msgid_plural "deers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "szarvas" +msgstr[1] "szarvas" #. ~ Description for deer #: lang/json/MONSTER_from_json.py @@ -59147,8 +61817,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Labrador mutt" msgid_plural "Labrador mutts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "labrador korcs" +msgstr[1] "labrador korcs" #. ~ Description for Labrador mutt #: lang/json/MONSTER_from_json.py @@ -59157,25 +61827,30 @@ msgid "" "it likely still instinctually trusts humans, it's probably far from domestic" " by now." msgstr "" +"Ez az egykoron átlagosnak számító labrador keverék egyértelműen elvadult. " +"Bár valószínűleg ösztönösen még mindig bízik az emberekben, mostanára " +"valószínűleg már nem háziállat." #: lang/json/MONSTER_from_json.py msgid "Labrador puppy" -msgid_plural "Labrador puppys" -msgstr[0] "" -msgstr[1] "" +msgid_plural "Labrador puppies" +msgstr[0] "labrador kölyök" +msgstr[1] "labrador kölyök" -#. ~ Description for Labrador puppy +#. ~ Description for {'str': 'Labrador puppy', 'str_pl': 'Labrador puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Labrador puppy. Much safer to tame than an adult " "dog." msgstr "" +"Édes, védtelen labrador kölyök. Sokkal könnyebben megszelídíthető, mint a " +"felnőttek." #: lang/json/MONSTER_from_json.py msgid "bulldog" msgid_plural "bulldogs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "bulldog" +msgstr[1] "bulldog" #. ~ Description for bulldog #: lang/json/MONSTER_from_json.py @@ -59183,27 +61858,31 @@ msgid "" "The American bulldog is a hardy, well built dog, that seems suited for " "surviving the apocalypse." msgstr "" +"Ez az amerikai bulldog egy szívós, jó felépítésű kutya, amelyet mintha " +"kifejezetten az apokalipszis túlélésére teremtettek volna." #: lang/json/MONSTER_from_json.py msgid "bulldog puppy" -msgid_plural "bulldog puppys" -msgstr[0] "" -msgstr[1] "" +msgid_plural "bulldog puppies" +msgstr[0] "bulldog kölyök" +msgstr[1] "bulldog kölyök" -#. ~ Description for bulldog puppy +#. ~ Description for {'str': 'bulldog puppy', 'str_pl': 'bulldog puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless American bulldog puppy. Much safer to tame than an" " adult dog." msgstr "" +"Édes, védtelen amerikai bulldog kölyök. Sokkal könnyebben megszelídíthető, " +"mint a felnőttek." #: lang/json/MONSTER_from_json.py msgid "pit bull mix" -msgid_plural "pit bull mixs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "pit bull mixes" +msgstr[0] "pitbull keverék" +msgstr[1] "pitbull keverék" -#. ~ Description for pit bull mix +#. ~ Description for {'str': 'pit bull mix', 'str_pl': 'pit bull mixes'} #: lang/json/MONSTER_from_json.py msgid "" "The oft-misunderstood pit bull is not actually a single breed but a label " @@ -59211,25 +61890,31 @@ msgid "" "for its 'lock jaw' - which isn't real, but their incredible determination " "is." msgstr "" +"A gyakran félreértett pitbull nem egy különálló fajta, hanem számos egyéb " +"fajta keveréke, például az amerikai pitbull terrieré illetve az amerikai " +"staffordshire terrieré. Átlagos képességekkel rendelkezik, és a szájzáráról" +" ismert, ami ugyan nem létezik." #: lang/json/MONSTER_from_json.py msgid "pit bull puppy" -msgid_plural "pit bull puppys" -msgstr[0] "" -msgstr[1] "" +msgid_plural "pit bull puppies" +msgstr[0] "pitbull kölyök" +msgstr[1] "pitbull kölyök" -#. ~ Description for pit bull puppy +#. ~ Description for {'str': 'pit bull puppy', 'str_pl': 'pit bull puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless pit bull puppy. Much safer to tame than an adult " "dog." msgstr "" +"Édes, védtelen pitbull kölyök. Sokkal könnyebben megszelídíthető, mint a " +"felnőttek." #: lang/json/MONSTER_from_json.py msgid "beagle" msgid_plural "beagles" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "beagle" +msgstr[1] "beagle" #. ~ Description for beagle #: lang/json/MONSTER_from_json.py @@ -59240,11 +61925,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "beagle puppy" -msgid_plural "beagle puppys" +msgid_plural "beagle puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for beagle puppy +#. ~ Description for {'str': 'beagle puppy', 'str_pl': 'beagle puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless beagle puppy. Much safer to tame than an adult " @@ -59267,11 +61952,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "border collie puppy" -msgid_plural "border collie puppys" +msgid_plural "border collie puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for border collie puppy +#. ~ Description for {'str': 'border collie puppy', 'str_pl': 'border collie +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Border Collie puppy. Much safer to tame than an " @@ -59293,11 +61979,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "boxer puppy" -msgid_plural "boxer puppys" +msgid_plural "boxer puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for boxer puppy +#. ~ Description for {'str': 'boxer puppy', 'str_pl': 'boxer puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless boxer puppy. Much safer to tame than an adult dog." @@ -59318,11 +62004,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Chihuahua puppy" -msgid_plural "Chihuahua puppys" +msgid_plural "Chihuahua puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for Chihuahua puppy +#. ~ Description for {'str': 'Chihuahua puppy', 'str_pl': 'Chihuahua puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Chihuahua puppy. Much safer to tame than an adult " @@ -59345,11 +62031,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dachshund puppy" -msgid_plural "dachshund puppys" +msgid_plural "dachshund puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for dachshund puppy +#. ~ Description for {'str': 'dachshund puppy', 'str_pl': 'dachshund puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless dachshund puppy. Much safer to tame than an adult " @@ -59371,11 +62057,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "German shepherd puppy" -msgid_plural "German shepherd puppys" +msgid_plural "German shepherd puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for German shepherd puppy +#. ~ Description for {'str': 'German shepherd puppy', 'str_pl': 'German +#. shepherd puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless German shepherd puppy. Much safer to tame than an " @@ -59384,11 +62071,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees" -msgid_plural "Great Pyreneess" +msgid_plural "Great Pyrenees" msgstr[0] "" msgstr[1] "" -#. ~ Description for Great Pyrenees +#. ~ Description for {'str': 'Great Pyrenees', 'str_pl': 'Great Pyrenees'} #: lang/json/MONSTER_from_json.py msgid "" "A large and powerful breed, the Great Pyrenees has a beautiful, thick white " @@ -59398,11 +62085,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees puppy" -msgid_plural "Great Pyrenees puppys" +msgid_plural "Great Pyrenees puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for Great Pyrenees puppy +#. ~ Description for {'str': 'Great Pyrenees puppy', 'str_pl': 'Great Pyrenees +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Great Pyrenees puppy. Much safer to tame than an " @@ -59425,11 +62113,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rottweiler puppy" -msgid_plural "rottweiler puppys" +msgid_plural "rottweiler puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for rottweiler puppy +#. ~ Description for {'str': 'rottweiler puppy', 'str_pl': 'rottweiler +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Rottweiler puppy. Much safer to tame than an adult" @@ -59451,11 +62140,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cattle dog puppy" -msgid_plural "cattle dog puppys" +msgid_plural "cattle dog puppies" msgstr[0] "" msgstr[1] "" -#. ~ Description for cattle dog puppy +#. ~ Description for {'str': 'cattle dog puppy', 'str_pl': 'cattle dog +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Australian cattle dog puppy. Much safer to tame " @@ -59468,7 +62158,7 @@ msgid_plural "foxes" msgstr[0] "róka" msgstr[1] "róka" -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A small omnivorous canine with an almost cat-like manner. It is a solitary " @@ -59477,7 +62167,7 @@ msgstr "" "Kistestű, mindenevő kutyaféle, macskára emlékeztető viselkedéssel. Egyedül " "vadászik, és az egyetlen kutyaféle, amely fára mászik." -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "The red fox, an omnivorous canine and largest of the true foxes, it is a " @@ -59489,8 +62179,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "groundhog" msgid_plural "groundhogs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "mormota" +msgstr[1] "mormota" #. ~ Description for groundhog #: lang/json/MONSTER_from_json.py @@ -59504,8 +62194,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "jackrabbit" msgid_plural "jackrabbits" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "szamárnyúl" +msgstr[1] "szamárnyúl" #. ~ Description for jackrabbit #: lang/json/MONSTER_from_json.py @@ -59519,8 +62209,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "horse" msgid_plural "horses" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "ló" +msgstr[1] "ló" #. ~ Description for horse #: lang/json/MONSTER_from_json.py @@ -59532,8 +62222,8 @@ msgstr "Patáslábú, legelésző, sörényes és izmos testű emlős." #: lang/json/MONSTER_from_json.py msgid "lemming" msgid_plural "lemmings" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "lemming" +msgstr[1] "lemming" #. ~ Description for lemming #: lang/json/MONSTER_from_json.py @@ -59552,8 +62242,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "mink" msgid_plural "minks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "nyérc" +msgstr[1] "nyérc" #. ~ Description for mink #: lang/json/MONSTER_from_json.py @@ -59562,26 +62252,31 @@ msgid "" "fur. It is a capable fisher, but the presence of otters in these parts " "makes it rely more on food from the land." msgstr "" +"Az amerikai nyérc egy részben vízi menyét, amelyet korábban a szőrméje miatt" +" tartottak és vágtak le. Jól tud halászni, de a vidéken található vidrák " +"miatt inkább a szárazföldön szerzi be táplálékát." #: lang/json/MONSTER_from_json.py msgid "moose" -msgid_plural "mooses" -msgstr[0] "" -msgstr[1] "" +msgid_plural "moose" +msgstr[0] "jávorszarvas" +msgstr[1] "jávorszarvas" -#. ~ Description for moose +#. ~ Description for {'str': 'moose', 'str_pl': 'moose'} #: lang/json/MONSTER_from_json.py msgid "" "The Eastern moose, the largest living species of deer. While they aren't " "aggressive unless angered, the mating season can make the bulls quite ill-" "tempered." msgstr "" +"A keleti jávorszarvas a legnagyobb testű szarvasféle. A bikák különösen a " +"párzási időszakban viselkednek morcosan." #: lang/json/MONSTER_from_json.py msgid "muskrat" msgid_plural "muskrats" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "pézsmapatkány" +msgstr[1] "pézsmapatkány" #. ~ Description for muskrat #: lang/json/MONSTER_from_json.py @@ -59597,8 +62292,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gigantic naked mole-rat" msgid_plural "gigantic naked mole-rats" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hatalmas csupasz földi kutya" +msgstr[1] "hatalmas csupasz földi kutya" #. ~ Description for gigantic naked mole-rat #: lang/json/MONSTER_from_json.py @@ -59609,12 +62304,16 @@ msgid "" "constantly and several car-length whiskers twitch in the air. It regularly " "makes high-pitched chirps as it roams around." msgstr "" +"Ráncos, néha szinte áttetsző bőrű hatalmas, morajló mutáns tömeg, amelyet " +"megcserzett az állandó alagútásás. Bőrét hatalmas hegek borítják, miközben " +"folyamatosan csikorgatja ipari exkavátor méretű vájófogait, és több autó " +"méretű bajusza rezeg a levegőben. Mozgás közben magas sípolásokat hallat." #: lang/json/MONSTER_from_json.py msgid "opossum" msgid_plural "opossums" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "oposszum" +msgstr[1] "oposszum" #. ~ Description for opossum #: lang/json/MONSTER_from_json.py @@ -59630,8 +62329,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "otter" msgid_plural "otters" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "vidra" +msgstr[1] "vidra" #. ~ Description for otter #: lang/json/MONSTER_from_json.py @@ -59641,12 +62340,16 @@ msgid "" "excellent fisher and a resourceful survivor, using the abandoned dens of " "beavers and other animals to raise its own young." msgstr "" +"Az észak-amerikai folyami vidra egy félénk, vízlakó testvére a menyétnek, " +"folyópartokon lakik nagyszámú családokban. Kiválóan halászik és ügyes a " +"túlélő képessége, a hódok és más állatok által hátrahagyott odvakban neveli " +"kicsinyeit." #: lang/json/MONSTER_from_json.py msgid "piglet" msgid_plural "piglets" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "malac" +msgstr[1] "malac" #. ~ Description for piglet #. ~ Description for pig @@ -59661,14 +62364,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pig" msgid_plural "pigs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "sertés" +msgstr[1] "sertés" #: lang/json/MONSTER_from_json.py msgid "rabbit" msgid_plural "rabbits" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "nyúl" +msgstr[1] "nyúl" #. ~ Description for rabbit #: lang/json/MONSTER_from_json.py @@ -59682,8 +62385,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "raccoon" msgid_plural "raccoons" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "mosómedve" +msgstr[1] "mosómedve" #. ~ Description for raccoon #: lang/json/MONSTER_from_json.py @@ -59699,8 +62402,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rat king" msgid_plural "rat kings" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "patkánykirály" +msgstr[1] "patkánykirály" #. ~ Description for rat king #: lang/json/MONSTER_from_json.py @@ -59714,17 +62417,15 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "sewer rat" msgid_plural "sewer rats" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csatornapatkány" +msgstr[1] "csatornapatkány" #. ~ Description for sewer rat #: lang/json/MONSTER_from_json.py msgid "" "A worm-tailed rodent with long whiskers and beady eyes. The way it squeaks " -"makes it sound... hungry." +"makes it sound… hungry." msgstr "" -"Csupasz farkú rágcsáló hosszú szálú bajusszal és kidülledő szemekkel. " -"Cincogásának olyan... éhes hangja van." #: lang/json/MONSTER_from_json.py msgid "lamb" @@ -59739,6 +62440,8 @@ msgid "" "domesticated. Its body is covered in a thick layer of wool, and the males " "have long, spiraling horns." msgstr "" +"Félénk, patás, legelésző emlős, az egyik legkorábban háziasított állatfajta." +" Testét vastag gyapjú fedi, a hímeknek hosszú, csavaros szarva van." #: lang/json/MONSTER_from_json.py msgid "sheep" @@ -59746,19 +62449,21 @@ msgid_plural "sheep" msgstr[0] "birka" msgstr[1] "birka" -#. ~ Description for sheep +#. ~ Description for {'str': 'sheep', 'str_pl': 'sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A timid, hooved grazing mammal, and one of the first animals ever " "domesticated. Its body is covered in a thick layer of wool, and the males " "have long, spiralling horns." msgstr "" +"Félénk, patás, legelésző emlős, az egyik legkorábban háziasított állatfajta." +" Testét vastag gyapjú fedi, a hímeknek hosszú, csavaros szarva van." #: lang/json/MONSTER_from_json.py msgid "squirrel" msgid_plural "squirrels" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "mókus" +msgstr[1] "mókus" #. ~ Description for squirrel #: lang/json/MONSTER_from_json.py @@ -59785,8 +62490,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "weasel" msgid_plural "weasels" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "menyét" +msgstr[1] "menyét" #. ~ Description for weasel #: lang/json/MONSTER_from_json.py @@ -59805,19 +62510,23 @@ msgid_plural "wolves" msgstr[0] "farkas" msgstr[1] "farkas" -#. ~ Description for wolf +#. ~ Description for {'str': 'wolf', 'str_pl': 'wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A cunning pack predator, once extinct in the New England area, the wolf was " "successfully reintroduced and their numbers reached record highs in the " "decade before the Cataclysm. Lucky you." msgstr "" +"Ügyes, falkában vadászó ragadozó. Egyszer már kipusztult az új-angliai " +"területekről, de a természetvédelmi erőfeszítéseknek köszönhetően a " +"kataklizma előtti évtizedben sikerült nagy számban visszatelepíteni. De jó " +"neked." #: lang/json/MONSTER_from_json.py msgid "marloss zealot" msgid_plural "marloss zealots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "marloss zelóta" +msgstr[1] "marloss zelóta" #. ~ Description for marloss zealot #: lang/json/MONSTER_from_json.py @@ -59825,6 +62534,8 @@ msgid "" "Her eyes lie vacant and spittle foams in her mouth, as she recites from the " "hymns in rapturous ecstasy." msgstr "" +"A szeme üresen csillog, szájából nyár csorog, miközben mámoros extázisban " +"mormolja a zsolozsmákat." #. ~ Description for marloss zealot #: lang/json/MONSTER_from_json.py @@ -59832,12 +62543,14 @@ msgid "" "His eyes lie vacant and spittle foams in his mouth, as he recites from the " "hymns in rapturous ecstasy." msgstr "" +"A szeme üresen csillog, szájából nyár csorog, miközben mámoros extázisban " +"mormolja a zsolozsmákat." #: lang/json/MONSTER_from_json.py msgid "X-03: 'Spectre' Recon Mech" msgid_plural "X-03: 'Spectre' Recon Mechs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "X-03: 'Spectre' felderítő mech" +msgstr[1] "X-03: 'Spectre' felderítő mech" #. ~ Description for X-03: 'Spectre' Recon Mech #: lang/json/MONSTER_from_json.py @@ -59850,12 +62563,20 @@ msgid "" " field. You may be able to hack it to accept you as its pilot. Like all " "mech-suits it can act as a UPS from its large battery." msgstr "" +"A Boeing-Daewoo RMES felderítő mechanikus exoskeleton páncél az amerikai " +"haderők egyik legújabb akvizíciója. A mozgásképessége, a beépített lézeres " +"mesterlövész fegyvere, valamint a számos célmegjelölő optikája miatt " +"mélységi felderítő-mesterlövész szerepkörre szánták. A Kataklizma " +"bekövetkezése előtt nem állították hadrendbe, bár néhány prototípus került " +"ki alakulatokhoz. Meg tudod hekkelni, hogy téged fogadjon el pilótának. Mint" +" az összes többi szervópáncél, ez is képes a belső akkumulátoraiból ET-ként " +"energiát szolgáltatni." #: lang/json/MONSTER_from_json.py msgid "X-02: 'Grunt' Combat Mech" msgid_plural "X-02: 'Grunt' Combat Mechs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "X-02: 'Grunt' harci mech" +msgstr[1] "X-02: 'Grunt' harci mech" #. ~ Description for X-02: 'Grunt' Combat Mech #: lang/json/MONSTER_from_json.py @@ -59867,12 +62588,19 @@ msgid "" "You may be able to hack it to accept you as its pilot. Like all mech-suits " "it can act as a UPS from its large battery." msgstr "" +"A Boeing-Daewoo CMES harci mechanikus exoskeleton páncél az amerikai haderők" +" egyik legújabb akvizíciója. A beépített lézeres gatling ágyújának lenyűgöző" +" teljesítménye miatt gyalogsági közeltámogató szerepkörre szánták. A " +"Kataklizma bekövetkezése előtt nem állították hadrendbe, bár néhány " +"prototípus került ki alakulatokhoz. Meg tudod hekkelni, hogy téged fogadjon " +"el pilótának. Mint az összes többi szervópáncél, ez is képes a belső " +"akkumulátoraiból ET-ként energiát szolgáltatni." #: lang/json/MONSTER_from_json.py msgid "X-01: 'Jack' Lifting Mech" msgid_plural "X-01: 'Jack' Lifting Mechs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "X-01: 'Jack' emelő mech" +msgstr[1] "X-01: 'Jack' emelő mech" #. ~ Description for X-01: 'Jack' Lifting Mech #: lang/json/MONSTER_from_json.py @@ -59884,12 +62612,20 @@ msgid "" "prototypes in the field. You may be able to hack it to accept you as its " "pilot. Like all mech-suits it can act as a UPS from its large battery." msgstr "" +"A Boeing-Daewoo LMES emelő mechanikus exoskeleton páncél az amerikai haderők" +" egyik legújabb akvizíciója. Kezelője nehéz hadianyagok emelésére és " +"pakolására használhatja, valamint egyes korlátozott esetekben harci " +"feladatok ellátására is képes lehet. A Kataklizma bekövetkezése előtt nem " +"állították hadrendbe, bár néhány prototípus került ki alakulatokhoz. Meg " +"tudod hekkelni, hogy téged fogadjon el pilótának. Mint az összes többi " +"szervópáncél, ez is képes a belső akkumulátoraiból ET-ként energiát " +"szolgáltatni." #: lang/json/MONSTER_from_json.py msgid "mi-go" msgid_plural "mi-gos" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "mi-go" +msgstr[1] "mi-go" #. ~ Description for mi-go #: lang/json/MONSTER_from_json.py @@ -59900,12 +62636,16 @@ msgid "" "pyramid-shaped head bristles with numerous wavering antennae, and simply " "gazing upon the unnatural beast fills you with primordial dread." msgstr "" +"Ismeretlen eredetű idegen lény. A formátlan rózsaszín testén számos " +"ismeretlen rendeltetésű páros testrész található, a bordásan membrános " +"szárnypára haszontalannak tűnik. A furcsa, piramis-formájú fején számos csáp" +" és tapogatószerv található, és már ránézésre is ősi rettegést tölt el." #: lang/json/MONSTER_from_json.py msgid "mi-go slaver" msgid_plural "mi-go slavers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "mi-go rabszolgahajcsár" +msgstr[1] "mi-go rabszolgahajcsár" #. ~ Description for mi-go slaver #: lang/json/MONSTER_from_json.py @@ -59917,12 +62657,17 @@ msgid "" "gazing upon the unnatural beast fills you with primordial dread. It is " "carrying an oblong object that hums with an odd keening sound." msgstr "" +"Ismeretlen eredetű idegen lény. A formátlan rózsaszín testén számos " +"ismeretlen rendeltetésű páros testrész található, a bordásan membrános " +"szárnypára haszontalannak tűnik. A furcsa, piramis-formájú fején számos csáp" +" és tapogatószerv található, és már ránézésre is ősi rettegést tölt el. " +"Téglalap alakú tárgy van nála, amelyből furcsán maró hang hallatszik." #: lang/json/MONSTER_from_json.py msgid "mi-go surgeon" msgid_plural "mi-go surgeons" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "mi-go sebész" +msgstr[1] "mi-go sebész" #. ~ Description for mi-go surgeon #: lang/json/MONSTER_from_json.py @@ -59999,8 +62744,8 @@ msgstr "Ez egy tesztelési szörny." #: lang/json/MONSTER_from_json.py msgid "albino penguin" msgid_plural "albino penguins" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "albínó pingvin" +msgstr[1] "albínó pingvin" #. ~ Description for albino penguin #: lang/json/MONSTER_from_json.py @@ -60013,8 +62758,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "alpha razorclaw" msgid_plural "alpha razorclaws" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "alfa pengeollós" +msgstr[1] "alfa pengeollós" #. ~ Description for alpha razorclaw #: lang/json/MONSTER_from_json.py @@ -60027,8 +62772,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "amigara horror" msgid_plural "amigara horrors" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "amigara horror" +msgstr[1] "amigara horror" #. ~ Description for amigara horror #: lang/json/MONSTER_from_json.py @@ -60042,8 +62787,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bat" msgid_plural "bats" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "denevér" +msgstr[1] "denevér" #. ~ Description for bat #: lang/json/MONSTER_from_json.py @@ -60058,15 +62803,15 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "scarred zombie" msgid_plural "scarred zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "forradásos zombi" +msgstr[1] "forradásos zombi" #. ~ Description for scarred zombie #: lang/json/MONSTER_from_json.py msgid "" "A deformed human body, its skin transformed into one thick, calloused " "envelope of scar tissue." -msgstr "" +msgstr "Eltorzult emberi test, bőre egy nagy darab, kérges hegszövetté vált." #: lang/json/MONSTER_from_json.py msgid "blank body" @@ -60074,7 +62819,7 @@ msgid_plural "blank bodies" msgstr[0] "üres test" msgstr[1] "üres test" -#. ~ Description for blank body +#. ~ Description for {'str': 'blank body', 'str_pl': 'blank bodies'} #: lang/json/MONSTER_from_json.py msgid "" "This is some form of unnatural changeling creature; its appearance is a " @@ -60085,12 +62830,18 @@ msgid "" "presence makes the hair on the back of your neck stand up in nameless " "horror." msgstr "" +"Ez egy valami természetellenesen formaváltoztató lény lehet - már a puszta " +"formája is az emberi forma gúnyolása. Teste minden jellegzetességet nélkülöz" +" és sápatag. Undorító megjelenését tetézi a szemek és minden más arci " +"jellegzetesség teljes hiánya, kivéve a tökéles kör formájú száját. " +"Meztelenül és csupaszon szinte már szánalomra méltó, de a földönkívüli " +"megjelenésétől a hátadon feláll a szőr." #: lang/json/MONSTER_from_json.py msgid "blob" msgid_plural "blobs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "blob" +msgstr[1] "blob" #. ~ Description for blob #: lang/json/MONSTER_from_json.py @@ -60104,8 +62855,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "brain blob" msgid_plural "brain blobs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "agy blob" +msgstr[1] "agy blob" #. ~ Description for brain blob #: lang/json/MONSTER_from_json.py @@ -60119,8 +62870,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "big blob" msgid_plural "big blobs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "nagy blob" +msgstr[1] "nagy blob" #. ~ Description for big blob #: lang/json/MONSTER_from_json.py @@ -60134,8 +62885,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "small blob" msgid_plural "small blobs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "apró blob" +msgstr[1] "apró blob" #. ~ Description for small blob #: lang/json/MONSTER_from_json.py @@ -60149,8 +62900,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "blood sacrifice" msgid_plural "blood sacrifices" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "véráldozat" +msgstr[1] "véráldozat" #. ~ Description for blood sacrifice #: lang/json/MONSTER_from_json.py @@ -60166,8 +62917,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "boomer" msgid_plural "boomers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "boomer" +msgstr[1] "boomer" #. ~ Description for boomer #: lang/json/MONSTER_from_json.py @@ -60181,8 +62932,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gasoline zombie" msgid_plural "gasoline zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "benzines zombi" +msgstr[1] "benzines zombi" #. ~ Description for gasoline zombie #: lang/json/MONSTER_from_json.py @@ -60190,12 +62941,15 @@ msgid "" "A huge bloated zombie that appears to have fed upon gasoline; fumes and " "flames escape from its mouth and fuel leaks from its waddling form." msgstr "" +"Egy hatalmasa püffedt zombi, ami úgy néz ki, hogy benzinnel táplálkozott. " +"Szájából gőzök és lángnyelvek csapnak ki, tipegő mozgása közben üzemanyag " +"szivárog." #: lang/json/MONSTER_from_json.py msgid "fungal boomer" msgid_plural "fungal boomers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gombás boomer" +msgstr[1] "gombás boomer" #. ~ Description for fungal boomer #: lang/json/MONSTER_from_json.py @@ -60209,25 +62963,36 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "huge boomer" msgid_plural "huge boomers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hatalmas boomer" +msgstr[1] "hatalmas boomer" #. ~ Description for huge boomer #: lang/json/MONSTER_from_json.py msgid "" "This boomer, normally swollen and ready to burst, has strengthened and " -"solidified. The bile dribbling from its mouth also appears to have " -"changed..." +"solidified. The bile dribbling from its mouth also appears to have changed…" msgstr "" -"Ez az egyébként éppen szétszakadó boomer megerősödött és megszilárdult. A " -"szájából csöpögő iszap is megváltozott..." #: lang/json/MONSTER_from_json.py -msgid "breather" -msgid_plural "breathers" +msgid "dissoluted devourer" +msgid_plural "dissoluted devourers" msgstr[0] "" msgstr[1] "" +#. ~ Description for dissoluted devourer +#: lang/json/MONSTER_from_json.py +msgid "" +"Human bodies fused together into a colossus with heads and limbs sticking " +"out of its bloated body. You may have trouble estimating its healthiness " +"and its capabilities might change." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "breather" +msgid_plural "breathers" +msgstr[0] "lélegző" +msgstr[1] "lélegző" + #. ~ Description for breather #: lang/json/MONSTER_from_json.py msgid "" @@ -60245,8 +63010,8 @@ msgstr "Furcsa, mozdulatlan rózsaszín ragacstömeg. Mintha lélegezne." #: lang/json/MONSTER_from_json.py msgid "broken cyborg" msgid_plural "broken cyborgs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "elromlott kiborg" +msgstr[1] "elromlott kiborg" #. ~ Description for broken cyborg #: lang/json/MONSTER_from_json.py @@ -60263,8 +63028,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "prototype cyborg" msgid_plural "prototype cyborgs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "prototípus kiborg" +msgstr[1] "prototípus kiborg" #. ~ Description for prototype cyborg #: lang/json/MONSTER_from_json.py @@ -60272,14 +63037,14 @@ msgid "" "A human fused with a mess of metal parts and wires. While its eyes are " "empty, flashes of pain pass across its face reminiscent of the person " "trapped in this grotesque body. With enough surgical skills one might be " -"able to give them back some humanity. If only they cared..." +"able to give them back some humanity. If only they cared…" msgstr "" #: lang/json/MONSTER_from_json.py msgid "charred nightmare" msgid_plural "charred nightmares" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "elszenesedett rémálom" +msgstr[1] "elszenesedett rémálom" #. ~ Description for charred nightmare #: lang/json/MONSTER_from_json.py @@ -60294,8 +63059,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "chicken walker" msgid_plural "chicken walkers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csirke lépegető" +msgstr[1] "csirke lépegető" #. ~ Description for chicken walker #: lang/json/MONSTER_from_json.py @@ -60306,12 +63071,18 @@ msgid "" "against attackers, it is an effective automated sentry, though production " "was limited due to a legal dispute." msgstr "" +"A Northrop ATSV egy hatalmas, nehézpáncélzattal és -fegyverzettel fellátott," +" két darab, hátrafelé hajló térdű lábon járó robot. Fegyverzete egy 40 mm-es" +" jármű elleni gránátvetőből, egy 5.56mm-es gyalogság elleni gépfegyverből, " +"és támadók elleni elektromos kisütési rendszerből áll. Hatékony automatizált" +" őrszem, bár egy szerzői jogi vita miatt csak korlátozott számban " +"gyártották." #: lang/json/MONSTER_from_json.py msgid "C.H.U.D." msgid_plural "C.H.U.D.s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "K.F.L.H." +msgstr[1] "K.F.L.H." #. ~ Description for C.H.U.D. #: lang/json/MONSTER_from_json.py @@ -60325,8 +63096,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "police bot" msgid_plural "police bots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "rendőrbot" +msgstr[1] "rendőrbot" #. ~ Description for police bot #: lang/json/MONSTER_from_json.py @@ -60344,8 +63115,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "crawler" msgid_plural "crawlers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csúszócsúzó" +msgstr[1] "csúszócsúzó" #. ~ Description for crawler #: lang/json/MONSTER_from_json.py @@ -60359,8 +63130,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dark wyrm" msgid_plural "dark wyrms" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "sötét wyrm" +msgstr[1] "sötét wyrm" #. ~ Description for dark wyrm #: lang/json/MONSTER_from_json.py @@ -60376,8 +63147,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "wraith" msgid_plural "wraiths" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kísértet" +msgstr[1] "kísértet" #. ~ Description for wraith #: lang/json/MONSTER_from_json.py @@ -60385,12 +63156,14 @@ msgid "" "A gigantic shadow, chaotically changing in shape and volume. Two piercing " "orbs of light dominate what can only be described as its head." msgstr "" +"Egy gigantikus árny, amely kaotikusan változtatja alakját és méretét. A " +"talán fejének nevezhető testrészét kettő éles fényű fénygömb található." #: lang/json/MONSTER_from_json.py msgid "dementia" msgid_plural "dementias" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "demencia" +msgstr[1] "demencia" #. ~ Description for dementia #: lang/json/MONSTER_from_json.py @@ -60404,8 +63177,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "skeletal dog" msgid_plural "skeletal dogs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csontváz kutya" +msgstr[1] "csontváz kutya" #. ~ Description for skeletal dog #: lang/json/MONSTER_from_json.py @@ -60422,8 +63195,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dog" msgid_plural "dogs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kutya" +msgstr[1] "kutya" #. ~ Description for dog #: lang/json/MONSTER_from_json.py @@ -60437,8 +63210,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Z-9" msgid_plural "Z-9s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Z-9" +msgstr[1] "Z-9" #. ~ Description for Z-9 #: lang/json/MONSTER_from_json.py @@ -60452,8 +63225,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rot-weiler" msgid_plural "rot-weilers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "rothadtweiler" +msgstr[1] "rothadtweiler" #. ~ Description for rot-weiler #: lang/json/MONSTER_from_json.py @@ -60461,12 +63234,14 @@ msgid "" "Acrid smell accompanies this corpse of canine. Its whole body is covered in" " chains of pulsing cysts and slime-dribbling ulcers." msgstr "" +"A kutya holttestét szemet csípő savas szag kíséri, az egész testét lüktető " +"fekélyek és nyálkát csöpögtető fekélyek fedik." #: lang/json/MONSTER_from_json.py msgid "eyebot" msgid_plural "eyebots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "szembot" +msgstr[1] "szembot" #. ~ Description for eyebot #: lang/json/MONSTER_from_json.py @@ -60478,12 +63253,16 @@ msgid "" "functional, given that the thing seems to have an operational charging " "station somewhere." msgstr "" +"Egy magas felbontású kameralencséből, valamint egy hangosbeszélőből álló " +"kvadkopter drón. A föld felett lebegve dokumentálja a káoszt. Bár már nem " +"képes a központi hatóságok felé leadni a jelentését, valószínűleg egyes " +"automatikus rendszerei még működőképesek, mert valahol csak feltölti magát." #: lang/json/MONSTER_from_json.py msgid "nurse bot" msgid_plural "nurse bots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "ápolóbot" +msgstr[1] "ápolóbot" #. ~ Description for nurse bot #: lang/json/MONSTER_from_json.py @@ -60493,12 +63272,16 @@ msgid "" "makes you really uncomfortable. The end of the world did not stop it from " "looking for patient to assist." msgstr "" +"Az Uncanny első terméke ez a négykarú, kedves arcú humanoid. Az arcán a " +"részletek megdöbbentően valósághűek, viszont a kifejezés merevségétől " +"kellemetlenül érzed magad. A világ vége ellenére nem adta fel, hogy " +"ellátható pácienseket keressen." #: lang/json/MONSTER_from_json.py msgid "grocery bot" msgid_plural "grocery bots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "bevásárlóbot" +msgstr[1] "bevásárlóbot" #. ~ Description for grocery bot #: lang/json/MONSTER_from_json.py @@ -60509,12 +63292,17 @@ msgid "" "machine of a complexity never seen before, Uncanny even hired professional " "actors to record its lines. Examine to befriend." msgstr "" +"Az Uncanny egyik népszerű terméke ez a barátságos android, aki helyetted " +"viszi a bevásárlást, vagy tolja a bevásárlókocsit. Tudod, hogy barátságos, " +"mert egy barátságos emberi arc mosolyog rád állandóan. A reklámok szerint " +"ilyen összetett gépezetet még soha nem készítettek, és az Uncanny profi " +"színészekkel vette fel a szövegét. Vizsgáld meg, hogy a barátoddá váljon." #: lang/json/MONSTER_from_json.py msgid "busted grocery bot" msgid_plural "busted grocery bots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "elromlott bevásárlóbot" +msgstr[1] "elromlott bevásárlóbot" #. ~ Description for busted grocery bot #: lang/json/MONSTER_from_json.py @@ -60523,12 +63311,15 @@ msgid "" "damaged to push a Grocery Cart. Despite its current state it's still " "smiling at you. Examine to befriend." msgstr "" +"Az elromlott bevásárlóbot még ugyan tudja vinni a bevásárlást, de a " +"bevásárlókocsit már nem képes tolni. A lerobbant állapota ellenére még " +"mindig rád mosolyog. Vizsgált meg, hogy barátoddá váljon." #: lang/json/MONSTER_from_json.py msgid "flaming eye" msgid_plural "flaming eyes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "lángoló szem" +msgstr[1] "lángoló szem" #. ~ Description for flaming eye #: lang/json/MONSTER_from_json.py @@ -60544,8 +63335,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "flesh angel" msgid_plural "flesh angels" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "húsangyal" +msgstr[1] "húsangyal" #. ~ Description for flesh angel #: lang/json/MONSTER_from_json.py @@ -60560,8 +63351,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "flying polyp" msgid_plural "flying polyps" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "repülő polyp" +msgstr[1] "repülő polyp" #. ~ Description for flying polyp #: lang/json/MONSTER_from_json.py @@ -60574,8 +63365,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal blossom" msgid_plural "fungal blossoms" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gombavirág" +msgstr[1] "gombavirág" #. ~ Description for fungal blossom #: lang/json/MONSTER_from_json.py @@ -60589,8 +63380,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal hedgerow" msgid_plural "fungal hedgerows" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gombasövény" +msgstr[1] "gombasövény" #. ~ Description for fungal hedgerow #: lang/json/MONSTER_from_json.py @@ -60604,8 +63395,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal tendril" msgid_plural "fungal tendrils" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gombainda" +msgstr[1] "gombainda" #. ~ Description for fungal tendril #: lang/json/MONSTER_from_json.py @@ -60616,8 +63407,8 @@ msgstr "Éles hegyű, hosszú és finom megjelenésű inda." #: lang/json/terrain_from_json.py msgid "fungal wall" msgid_plural "fungal walls" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gombafal" +msgstr[1] "gombafal" #. ~ Description for fungal wall #: lang/json/MONSTER_from_json.py @@ -60631,8 +63422,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungaloid" msgid_plural "fungaloids" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "fungaloida" +msgstr[1] "fungaloida" #. ~ Description for fungaloid #: lang/json/MONSTER_from_json.py @@ -60648,8 +63439,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal spire" msgid_plural "fungal spires" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gombatorony" +msgstr[1] "gombatorony" #. ~ Description for fungal spire #: lang/json/MONSTER_from_json.py @@ -60663,8 +63454,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant fungal blossom" msgid_plural "giant fungal blossoms" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriási gombavirág" +msgstr[1] "óriási gombavirág" #. ~ Description for giant fungal blossom #: lang/json/MONSTER_from_json.py @@ -60678,8 +63469,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/overmap_terrain_from_json.py msgid "fungal tower" msgid_plural "fungal towers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gombatorony" +msgstr[1] "gombatorony" #. ~ Description for fungal tower #: lang/json/MONSTER_from_json.py @@ -60697,8 +63488,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal sporeling" msgid_plural "fungal sporelings" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gombás spóraszülött" +msgstr[1] "gombás spóraszülött" #. ~ Description for fungal sporeling #: lang/json/MONSTER_from_json.py @@ -60713,8 +63504,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "amoebic mold" msgid_plural "amoebic molds" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "formátlan amőba" +msgstr[1] "formátlan amőba" #. ~ Description for amoebic mold #: lang/json/MONSTER_from_json.py @@ -60728,8 +63519,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "generator" msgid_plural "generators" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "generátor" +msgstr[1] "generátor" #. ~ Description for generator #: lang/json/MONSTER_from_json.py @@ -60740,11 +63531,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant crayfish" -msgid_plural "giant crayfishs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "giant crayfish" +msgstr[0] "óriás languszta" +msgstr[1] "óriás languszta" -#. ~ Description for giant crayfish +#. ~ Description for {'str': 'giant crayfish', 'str_pl': 'giant crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant, terrestrial variety of the signal crayfish, this massive " @@ -60756,8 +63547,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gozu" msgid_plural "gozus" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gozu" +msgstr[1] "gozu" #. ~ Description for gozu #: lang/json/MONSTER_from_json.py @@ -60773,8 +63564,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "graboid" msgid_plural "graboids" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "graboid" +msgstr[1] "graboid" #. ~ Description for graboid #: lang/json/MONSTER_from_json.py @@ -60787,8 +63578,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gracken" msgid_plural "grackens" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "grakken" +msgstr[1] "grakken" #. ~ Description for gracken #: lang/json/MONSTER_from_json.py @@ -60804,8 +63595,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "half worm" msgid_plural "half worms" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "félféreg" +msgstr[1] "félféreg" #. ~ Description for half worm #: lang/json/MONSTER_from_json.py @@ -60815,8 +63606,8 @@ msgstr "Sebesült óriásféregből levágott rész." #: lang/json/MONSTER_from_json.py msgid "your mother" msgid_plural "your mothers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "anyád" +msgstr[1] "anyád" #. ~ Description for your mother #: lang/json/MONSTER_from_json.py @@ -60826,8 +63617,8 @@ msgstr "Anyu?" #: lang/json/MONSTER_from_json.py msgid "evil multi-cooker" msgid_plural "evil multi-cookers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gonosz multi-tűzhely" +msgstr[1] "gonosz multi-tűzhely" #. ~ Description for evil multi-cooker #: lang/json/MONSTER_from_json.py @@ -60837,8 +63628,8 @@ msgstr "A multifunkciós tűzhely öntudatra ébredt! Vigyázz!!" #: lang/json/MONSTER_from_json.py msgid "cleaner bot" msgid_plural "cleaner bots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "tisztítóbot" +msgstr[1] "tisztítóbot" #. ~ Description for cleaner bot #: lang/json/MONSTER_from_json.py @@ -60852,8 +63643,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "tentacle dog" msgid_plural "tentacle dogs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csápos kutya" +msgstr[1] "csápos kutya" #. ~ Description for tentacle dog #: lang/json/MONSTER_from_json.py @@ -60867,8 +63658,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hologram" msgid_plural "holograms" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hologram" +msgstr[1] "hologram" #. ~ Description for hologram #: lang/json/MONSTER_from_json.py @@ -60881,7 +63672,7 @@ msgid_plural "homunculuses" msgstr[0] "homonkulusz" msgstr[1] "homonkulusz" -#. ~ Description for homunculus +#. ~ Description for {'str': 'homunculus', 'str_pl': 'homunculuses'} #: lang/json/MONSTER_from_json.py msgid "" "A pale hairless man with an impressive athletic physique. Its lidless eyes " @@ -60892,11 +63683,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hound of tindalos" -msgid_plural "hound of tindaloss" +msgid_plural "hounds of tindalos" msgstr[0] "" msgstr[1] "" -#. ~ Description for hound of tindalos +#. ~ Description for {'str': 'hound of tindalos', 'str_pl': 'hounds of +#. tindalos'} #: lang/json/MONSTER_from_json.py msgid "" "A grotesque hound-like beast, its frame is angular and emaciated and its " @@ -60910,8 +63702,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "human snail" msgid_plural "human snails" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csigaember" +msgstr[1] "csigaember" #. ~ Description for human snail #: lang/json/MONSTER_from_json.py @@ -60925,8 +63717,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hunting horror" msgid_plural "hunting horrors" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "vadászó horror" +msgstr[1] "vadászó horror" #. ~ Description for hunting horror #: lang/json/MONSTER_from_json.py @@ -60940,8 +63732,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "irradiated wanderer" msgid_plural "irradiated wanderers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "besugárzott vándor" +msgstr[1] "besugárzott vándor" #. ~ Description for irradiated wanderer #: lang/json/MONSTER_from_json.py @@ -60969,8 +63761,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "flesh golem" msgid_plural "flesh golems" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "húsgólem" +msgstr[1] "húsgólem" #. ~ Description for flesh golem #: lang/json/MONSTER_from_json.py @@ -60983,8 +63775,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "jabberwock" msgid_plural "jabberwocks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gruffacsór" +msgstr[1] "gruffacsór" #. ~ Description for jabberwock #: lang/json/MONSTER_from_json.py @@ -61000,8 +63792,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "kreck" msgid_plural "krecks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "krekk" +msgstr[1] "krekk" #. ~ Description for kreck #: lang/json/MONSTER_from_json.py @@ -61018,8 +63810,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "miner bot" msgid_plural "miner bots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "bányászbot" +msgstr[1] "bányászbot" #. ~ Description for miner bot #: lang/json/MONSTER_from_json.py @@ -61033,8 +63825,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cyclopean" msgid_plural "cyclopeans" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "küklopsz" +msgstr[1] "küklopsz" #. ~ Description for cyclopean #: lang/json/MONSTER_from_json.py @@ -61047,8 +63839,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "slimespring" msgid_plural "slimesprings" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "nyálkarugó" +msgstr[1] "nyálkarugó" #. ~ Description for slimespring #: lang/json/MONSTER_from_json.py @@ -61059,8 +63851,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "razorclaw" msgid_plural "razorclaws" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "pengeollós" +msgstr[1] "pengeollós" #. ~ Description for razorclaw #: lang/json/MONSTER_from_json.py @@ -61076,8 +63868,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "riot control bot" msgid_plural "riot control bots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "tömegoszlató bot" +msgstr[1] "tömegoszlató bot" #. ~ Description for riot control bot #: lang/json/MONSTER_from_json.py @@ -61095,8 +63887,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shadow" msgid_plural "shadows" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "árny" +msgstr[1] "árny" #. ~ Description for shadow #: lang/json/MONSTER_from_json.py @@ -61110,8 +63902,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shadow snake" msgid_plural "shadow snakes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "árnyékkígyó" +msgstr[1] "árnyékkígyó" #. ~ Description for shadow snake #: lang/json/MONSTER_from_json.py @@ -61127,24 +63919,20 @@ msgid_plural "Shia LaBeouf" msgstr[0] "Shia LaBeouf" msgstr[1] "Shia LaBeouf" -#. ~ Description for Shia LaBeouf +#. ~ Description for {'str': 'Shia LaBeouf', 'str_pl': 'Shia LaBeouf'} #: lang/json/MONSTER_from_json.py msgid "" -"Living in the woods, \n" -"killing for sport, \n" -"eating all the bodies, \n" +"Living in the woods,\n" +"killing for sport,\n" +"eating all the bodies,\n" "actual cannibal Shia LaBeouf." msgstr "" -"Living in the woods, \n" -"killing for sport, \n" -"eating all the bodies, \n" -"actual cannibal Shia LaBeouf." #: lang/json/MONSTER_from_json.py msgid "shoggoth" msgid_plural "shoggoths" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "shoggoth" +msgstr[1] "shoggoth" #. ~ Description for shoggoth #: lang/json/MONSTER_from_json.py @@ -61160,8 +63948,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "skeleton" msgid_plural "skeletons" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csontváz" +msgstr[1] "csontváz" #. ~ Description for skeleton #: lang/json/MONSTER_from_json.py @@ -61178,8 +63966,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "skeletal brute" msgid_plural "skeletal brutes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csontváz brutális" +msgstr[1] "csontváz brutális" #. ~ Description for skeletal brute #: lang/json/MONSTER_from_json.py @@ -61187,12 +63975,14 @@ msgid "" "Distorted outgrowths of calcified bone plates cover this zombie's rotten " "skin. Joints and cracks around its body ooze with black goo." msgstr "" +"A zombi rothadó bőrét csontosodott lemezekből álló torz kinövések borítják. " +"A testét beterítő repedésekből és az ízületekből fekete ragacs szivárog." #: lang/json/MONSTER_from_json.py msgid "skeletal shocker" msgid_plural "skeletal shockers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csontváz sokkoló" +msgstr[1] "csontváz sokkoló" #. ~ Description for skeletal shocker #: lang/json/MONSTER_from_json.py @@ -61201,12 +63991,14 @@ msgid "" "Underneath, its flesh glows and crackles with the occasional jolt of " "electricity." msgstr "" +"A zombi testéből vastag, recés szélű csontlapok nőttek ki. Alatta a húsa " +"elektromosságtól recseg és villan fel." #: lang/json/MONSTER_from_json.py msgid "sludge crawler" msgid_plural "sludge crawlers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "iszapkotró" +msgstr[1] "iszapkotró" #. ~ Description for sludge crawler #: lang/json/MONSTER_from_json.py @@ -61222,8 +64014,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant slug" msgid_plural "giant slugs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriás meztelen csiga" +msgstr[1] "óriás meztelen csiga" #. ~ Description for giant slug #: lang/json/MONSTER_from_json.py @@ -61237,8 +64029,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "spore cloud" msgid_plural "spore clouds" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "spóra felhő" +msgstr[1] "spóra felhő" #. ~ Description for spore cloud #: lang/json/MONSTER_from_json.py @@ -61248,8 +64040,8 @@ msgstr "Összeszorított ököl méretű spóratömeg lebeg a levegőben." #: lang/json/MONSTER_from_json.py msgid "Beagle Mini-Tank UGV" msgid_plural "Beagle Mini-Tank UGVs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Beagle Mini-Tank UGV" +msgstr[1] "Beagle Mini-Tank UGV" #. ~ Description for Beagle Mini-Tank UGV #: lang/json/MONSTER_from_json.py @@ -61258,12 +64050,15 @@ msgid "" "anti-tank missile launcher, 40mm grenade launcher, and numerous anti-" "infantry weapons, it's designed for high-risk urban fighting." msgstr "" +"A Northrop Beagle egy hűtőszekrény méretű, kifejezetten magas kockázattal " +"járó városi hadviselésre tervezett, önjáró fegyver. Felszerelése egy " +"tankelhárító rakétavetőből és egy 40mm-es gránátvetőből áll." #: lang/json/MONSTER_from_json.py msgid "thing" msgid_plural "things" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "izé" +msgstr[1] "izé" #. ~ Description for thing #: lang/json/MONSTER_from_json.py @@ -61277,8 +64072,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "tripod" msgid_plural "tripods" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "háromlábú" +msgstr[1] "háromlábú" #. ~ Description for tripod #: lang/json/MONSTER_from_json.py @@ -61293,8 +64088,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "milspec searchlight" msgid_plural "milspec searchlights" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "katonai keresőfény" +msgstr[1] "katonai keresőfény" #. ~ Description for milspec searchlight #: lang/json/MONSTER_from_json.py @@ -61311,7 +64106,7 @@ msgid_plural "twisted bodies" msgstr[0] "eltorzult test" msgstr[1] "eltorzult test" -#. ~ Description for twisted body +#. ~ Description for {'str': 'twisted body', 'str_pl': 'twisted bodies'} #: lang/json/MONSTER_from_json.py msgid "" "A human body, but with its limbs, neck, and hair impossibly twisted. It " @@ -61326,7 +64121,7 @@ msgid_plural "vortexes" msgstr[0] "örvény" msgstr[1] "örvény" -#. ~ Description for vortex +#. ~ Description for {'str': 'vortex', 'str_pl': 'vortexes'} #: lang/json/MONSTER_from_json.py msgid "" "A twisting spot in the air, with some kind of morphing mass at its center." @@ -61335,8 +64130,8 @@ msgstr "A levegőben csavargó hely, a közepén valamiféle morfolódó tömegg #: lang/json/MONSTER_from_json.py msgid "giant worm" msgid_plural "giant worms" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriás féreg" +msgstr[1] "óriás féreg" #. ~ Description for giant worm #: lang/json/MONSTER_from_json.py @@ -61352,8 +64147,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "yugg" msgid_plural "yuggs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "yugg" +msgstr[1] "yugg" #. ~ Description for yugg #: lang/json/MONSTER_from_json.py @@ -61369,8 +64164,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "grim howler" msgid_plural "grim howlers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "komor üvöltő" +msgstr[1] "komor üvöltő" #. ~ Description for grim howler #: lang/json/MONSTER_from_json.py @@ -61384,8 +64179,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombear" msgid_plural "zombears" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "zomedve" +msgstr[1] "zomedve" #. ~ Description for zombear #: lang/json/MONSTER_from_json.py @@ -61399,8 +64194,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/snippet_from_json.py msgid "zombie" msgid_plural "zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "zombi" +msgstr[1] "zombi" #. ~ Description for zombie #: lang/json/MONSTER_from_json.py @@ -61408,12 +64203,28 @@ msgid "" "A human body, swaying as it moves, an unstoppable rage visible in its oily " "black eyes." msgstr "" +"Bicegve mozgó emberi test, olajosan fekete szemében megállíthatatlan harag " +"látszik." + +#: lang/json/MONSTER_from_json.py +msgid "wretched puker" +msgid_plural "wretched pukers" +msgstr[0] "szánalmas okádó" +msgstr[1] "szánalmas okádó" + +#. ~ Description for wretched puker +#: lang/json/MONSTER_from_json.py +msgid "" +"A degenerate corpse, shambling as it walks. Several junks and waste " +"materials have unified into its skin and wounds around it reeks in black " +"goo." +msgstr "" #: lang/json/MONSTER_from_json.py msgid "acidic zombie" msgid_plural "acidic zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "savas zombi" +msgstr[1] "savas zombi" #. ~ Description for acidic zombie #: lang/json/MONSTER_from_json.py @@ -61427,8 +64238,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "slavering biter" msgid_plural "slavering biters" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "nyáladzó harapó" +msgstr[1] "nyáladzó harapó" #. ~ Description for slavering biter #: lang/json/MONSTER_from_json.py @@ -61442,8 +64253,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "brainless zombie" msgid_plural "brainless zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "agyatlan zombi" +msgstr[1] "agyatlan zombi" #. ~ Description for brainless zombie #: lang/json/MONSTER_from_json.py @@ -61453,12 +64264,16 @@ msgid "" "flesh you can see that its face and brain are gone, though its ears are " "intact." msgstr "" +"Olyan zombi, mint az összes több, kivéve, hogy az arcvonásai és a koponyája " +"gyakorlatilag teljesen szét lett verve. Nem egyértelmű, hogy ezt a sérülést " +"mi okozta, de a húscafatok között látszik, hogy se arca, se agya. Füle azért" +" még van." #: lang/json/MONSTER_from_json.py msgid "zombie brute" msgid_plural "zombie brutes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "brutális zombi" +msgstr[1] "brutális zombi" #. ~ Description for zombie brute #: lang/json/MONSTER_from_json.py @@ -61469,8 +64284,8 @@ msgstr "Egész testét feszülő izmok és felduzzadt, gennyedző sebek borítj #: lang/json/MONSTER_from_json.py msgid "zombie wrestler" msgid_plural "zombie wrestlers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "zombi birkózó" +msgstr[1] "zombi birkózó" #. ~ Description for zombie wrestler #: lang/json/MONSTER_from_json.py @@ -61483,8 +64298,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie nightstalker" msgid_plural "zombie nightstalkers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "zombi éji szörny" +msgstr[1] "zombi éji szörny" #. ~ Description for zombie nightstalker #: lang/json/MONSTER_from_json.py @@ -61498,8 +64313,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shocker brute" msgid_plural "shocker brutes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "rázós brutális" +msgstr[1] "rázós brutális" #. ~ Description for shocker brute #: lang/json/MONSTER_from_json.py @@ -61530,8 +64345,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie cop" msgid_plural "zombie cops" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "rendőr zombi" +msgstr[1] "rendőr zombi" #. ~ Description for zombie cop #: lang/json/MONSTER_from_json.py @@ -61544,8 +64359,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "corrosive zombie" msgid_plural "corrosive zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "maró zombi" +msgstr[1] "maró zombi" #. ~ Description for corrosive zombie #: lang/json/MONSTER_from_json.py @@ -61560,13 +64375,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "The corrosive zombie spits a glob of acid!" -msgstr "" +msgstr "A maró zombi egy savas turhát köp!" #: lang/json/MONSTER_from_json.py msgid "crawling zombie" msgid_plural "crawling zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csúszó zombi" +msgstr[1] "csúszó zombi" #. ~ Description for crawling zombie #: lang/json/MONSTER_from_json.py @@ -61580,31 +64395,25 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie dancer" msgid_plural "zombie dancers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "zombi táncos" +msgstr[1] "zombi táncos" #. ~ Description for zombie dancer #: lang/json/MONSTER_from_json.py msgid "" -"The foulest stench is in the air, \n" -"The funk of forty thousand years, \n" -"And grisly ghouls from every tomb, \n" +"The foulest stench is in the air,\n" +"The funk of forty thousand years,\n" +"And grisly ghouls from every tomb,\n" "Are closing in to seal your doom!\n" "\n" "The dancer doesn't even notice you, it seems like something nearby is controlling it." msgstr "" -"Bűzfelhők szállnak a szélben\n" -"Negyvenezer év borzalma ez\n" -"Minden sírból őszhajú vámpír száll ki\n" -"Bekerítenek, megpecsételik végzeted\"\n" -"\n" -"A táncos észre sem vesz, mintha valaki a közeléből irányítaná." #: lang/json/MONSTER_from_json.py msgid "zombie dog" msgid_plural "zombie dogs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "zombi kutya" +msgstr[1] "zombi kutya" #. ~ Description for zombie dog #: lang/json/MONSTER_from_json.py @@ -61618,8 +64427,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "listener zombie" msgid_plural "listener zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hallgató zombi" +msgstr[1] "hallgató zombi" #. ~ Description for listener zombie #: lang/json/MONSTER_from_json.py @@ -61633,8 +64442,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shocker zombie" msgid_plural "shocker zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "rázós zombi" +msgstr[1] "rázós zombi" #. ~ Description for shocker zombie #: lang/json/MONSTER_from_json.py @@ -61644,8 +64453,8 @@ msgstr "Sápadt kék emberi test test, amely elektromos energiával serceg." #: lang/json/MONSTER_from_json.py msgid "fat zombie" msgid_plural "fat zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kövér zombi" +msgstr[1] "kövér zombi" #. ~ Description for fat zombie #: lang/json/MONSTER_from_json.py @@ -61659,8 +64468,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fiend" msgid_plural "fiends" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "megszállott" +msgstr[1] "megszállott" #. ~ Description for fiend #: lang/json/MONSTER_from_json.py @@ -61674,8 +64483,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "firefighter zombie" msgid_plural "firefighter zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "tűzoltó zombi" +msgstr[1] "tűzoltó zombi" #. ~ Description for firefighter zombie #: lang/json/MONSTER_from_json.py @@ -61689,8 +64498,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal zombie" msgid_plural "fungal zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gombás zombi" +msgstr[1] "gombás zombi" #. ~ Description for fungal zombie #: lang/json/MONSTER_from_json.py @@ -61704,8 +64513,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bloated zombie" msgid_plural "bloated zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "püffedt zombi" +msgstr[1] "püffedt zombi" #. ~ Description for bloated zombie #: lang/json/MONSTER_from_json.py @@ -61719,23 +64528,26 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gangrenous flesh" -msgid_plural "gangrenous fleshs" -msgstr[0] "" -msgstr[1] "" +msgid_plural "gangrenous flesh" +msgstr[0] "üszkösödő hús" +msgstr[1] "üszkösödő hús" -#. ~ Description for gangrenous flesh +#. ~ Description for {'str': 'gangrenous flesh', 'str_pl': 'gangrenous flesh'} #: lang/json/MONSTER_from_json.py msgid "" "Immobile from grievous wounds, its gray skin has bloated to near rupture " "with putrid gas. Between lumps of unrecognizable gore, a human head lamely " "follows your walking with empty, black eyes." msgstr "" +"Súlyos sebesülései miatt mozgásképtelen, szürke bőre szinte a szétrepedésig " +"felduzzadt a rothadó gázoktól. A felismerhetetlen húscafatok közül egy " +"emberi fej kandikál, üres, fekete szemei nyomon követnek." #: lang/json/MONSTER_from_json.py msgid "gangrenous crawler" msgid_plural "gangrenous crawlers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "üszkösödő csúszómászó" +msgstr[1] "üszkösödő csúszómászó" #. ~ Description for gangrenous crawler #: lang/json/MONSTER_from_json.py @@ -61743,12 +64555,15 @@ msgid "" "A nightmarish spidery abomination, born from human gore. It deftly crawls " "between walls and ceiling with limbs grown from its own disjointed ribs." msgstr "" +"Emberi húscafatokból született, rémálomba való pókszerű rettenet. A saját, " +"széttört bordáit lábként használva ügyesen mászik fel a falakra és a " +"plafonra." #: lang/json/MONSTER_from_json.py msgid "gangrenous impaler" msgid_plural "gangrenous impalers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "üszkösödő nyársaló" +msgstr[1] "üszkösödő nyársaló" #. ~ Description for gangrenous impaler #: lang/json/MONSTER_from_json.py @@ -61756,10 +64571,12 @@ msgid "" "A corpse hideously twisted into an insect-like form. A hollow tendril " "reaches out from its open thorax." msgstr "" +"Rovarféle formává torzult holttest. A nyíl mellkasából egy üreges csáp " +"nyúlik ki." #: lang/json/MONSTER_from_json.py msgid "The impaler launches a barb!" -msgstr "" +msgstr "A nyársaló kilő egy szálkát!" #: lang/json/MONSTER_from_json.py msgid "trapped tendril" @@ -61781,8 +64598,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "flesh wall" msgid_plural "flesh walls" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "húsfal" +msgstr[1] "húsfal" #. ~ Description for flesh wall #: lang/json/MONSTER_from_json.py @@ -61794,8 +64611,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bloated fungal zombie" msgid_plural "bloated fungal zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "püffedt gombás zombi" +msgstr[1] "püffedt gombás zombi" #. ~ Description for bloated fungal zombie #: lang/json/MONSTER_from_json.py @@ -61808,8 +64625,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "grabber zombie" msgid_plural "grabber zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "szorító zombi" +msgstr[1] "szorító zombi" #. ~ Description for grabber zombie #: lang/json/MONSTER_from_json.py @@ -61823,8 +64640,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "grappler zombie" msgid_plural "grappler zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "dulakodó zombi" +msgstr[1] "dulakodó zombi" #. ~ Description for grappler zombie #: lang/json/MONSTER_from_json.py @@ -61839,8 +64656,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hazmat zombie" msgid_plural "hazmat zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hazmat zombi" +msgstr[1] "hazmat zombi" #. ~ Description for hazmat zombie #: lang/json/MONSTER_from_json.py @@ -61854,8 +64671,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie hollow" msgid_plural "zombie hollows" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "üres zombi" +msgstr[1] "üres zombi" #. ~ Description for zombie hollow #: lang/json/MONSTER_from_json.py @@ -61876,8 +64693,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie hulk" msgid_plural "zombie hulks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "zombi hulk" +msgstr[1] "zombi hulk" #. ~ Description for zombie hulk #: lang/json/MONSTER_from_json.py @@ -61889,8 +64706,8 @@ msgstr "Hatemberes méretre duzzadt emberi test, karja vastag, mint egy kuka." #: lang/json/MONSTER_from_json.py msgid "feral hunter" msgid_plural "feral hunters" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "elvadult vadász" +msgstr[1] "elvadult vadász" #. ~ Description for feral hunter #: lang/json/MONSTER_from_json.py @@ -61904,27 +64721,23 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Thriller" msgid_plural "Thrillers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Thriller" +msgstr[1] "Thriller" #. ~ Description for Thriller #: lang/json/MONSTER_from_json.py msgid "" -"And though you fight to stay alive, \n" -"Your body starts to shiver. \n" -"For no mere mortal can resist, \n" +"And though you fight to stay alive,\n" +"Your body starts to shiver.\n" +"For no mere mortal can resist,\n" "The evil of the thriller." msgstr "" -"Bár még harcolsz életedért\n" -"Tested elkezd remegni\"\n" -"Mert még egyetlen halandó sem\n" -"állt ellen a thriller gonoszának." #: lang/json/MONSTER_from_json.py msgid "zombie snapper" msgid_plural "zombie snappers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "aligátorzombi" +msgstr[1] "aligátorzombi" #. ~ Description for zombie snapper #: lang/json/MONSTER_from_json.py @@ -61938,8 +64751,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie master" msgid_plural "zombie masters" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "zombi mester" +msgstr[1] "zombi mester" #. ~ Description for zombie master #: lang/json/MONSTER_from_json.py @@ -61959,8 +64772,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie necromancer" msgid_plural "zombie necromancers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "zombi nekromanta" +msgstr[1] "zombi nekromanta" #. ~ Description for zombie necromancer #: lang/json/MONSTER_from_json.py @@ -61978,8 +64791,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "festering boar" msgid_plural "festering boars" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gennyedző vaddisznó" +msgstr[1] "gennyedző vaddisznó" #. ~ Description for festering boar #: lang/json/MONSTER_from_json.py @@ -61993,8 +64806,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "feral predator" msgid_plural "feral predators" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "elvadult ragadozó" +msgstr[1] "elvadult ragadozó" #. ~ Description for feral predator #: lang/json/MONSTER_from_json.py @@ -62011,8 +64824,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "decayed zombie" msgid_plural "decayed zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "rothadó zombi" +msgstr[1] "rothadó zombi" #. ~ Description for decayed zombie #: lang/json/MONSTER_from_json.py @@ -62026,8 +64839,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "feral runner" msgid_plural "feral runners" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "elvadult futó" +msgstr[1] "elvadult futó" #. ~ Description for feral runner #: lang/json/MONSTER_from_json.py @@ -62041,8 +64854,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "scorched zombie" msgid_plural "scorched zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "égett zombi" +msgstr[1] "égett zombi" #. ~ Description for scorched zombie #: lang/json/MONSTER_from_json.py @@ -62056,8 +64869,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "screecher zombie" msgid_plural "screecher zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "sivító zombi" +msgstr[1] "sivító zombi" #. ~ Description for screecher zombie #: lang/json/MONSTER_from_json.py @@ -62071,8 +64884,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shady zombie" msgid_plural "shady zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "árnyas zombi" +msgstr[1] "árnyas zombi" #. ~ Description for shady zombie #: lang/json/MONSTER_from_json.py @@ -62087,8 +64900,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shrieker zombie" msgid_plural "shrieker zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "sikoltó zombi" +msgstr[1] "sikoltó zombi" #. ~ Description for shrieker zombie #: lang/json/MONSTER_from_json.py @@ -62102,8 +64915,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "skull zombie" msgid_plural "skull zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "koponyazombi" +msgstr[1] "koponyazombi" #. ~ Description for skull zombie #: lang/json/MONSTER_from_json.py @@ -62118,8 +64931,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "smoker zombie" msgid_plural "smoker zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "füstös zombi" +msgstr[1] "füstös zombi" #. ~ Description for smoker zombie #: lang/json/MONSTER_from_json.py @@ -62146,8 +64959,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "spitter zombie" msgid_plural "spitter zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "köpködő zombi" +msgstr[1] "köpködő zombi" #. ~ Description for spitter zombie #: lang/json/MONSTER_from_json.py @@ -62163,8 +64976,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "survivor zombie" msgid_plural "survivor zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "túlélő zombi" +msgstr[1] "túlélő zombi" #. ~ Description for survivor zombie #: lang/json/MONSTER_from_json.py @@ -62179,8 +64992,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "swimmer zombie" msgid_plural "swimmer zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "úszó zombi" +msgstr[1] "úszó zombi" #. ~ Description for swimmer zombie #: lang/json/MONSTER_from_json.py @@ -62194,8 +65007,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie technician" msgid_plural "zombie technicians" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "zombi technikus" +msgstr[1] "zombi technikus" #. ~ Description for zombie technician #: lang/json/MONSTER_from_json.py @@ -62224,8 +65037,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "tough zombie" msgid_plural "tough zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kemény zombi" +msgstr[1] "kemény zombi" #. ~ Description for tough zombie #: lang/json/MONSTER_from_json.py @@ -62255,8 +65068,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "antlered horror" msgid_plural "antlered horrors" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "agancsos rettenet" +msgstr[1] "agancsos rettenet" #. ~ Description for antlered horror #: lang/json/MONSTER_from_json.py @@ -62274,8 +65087,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "decayed pouncer" msgid_plural "decayed pouncers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "foszladozó ragadozó" +msgstr[1] "foszladozó ragadozó" #. ~ Description for decayed pouncer #: lang/json/MONSTER_from_json.py @@ -62289,8 +65102,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "skeletal juggernaut" msgid_plural "skeletal juggernauts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csontváz buldózer" +msgstr[1] "csontváz buldózer" #. ~ Description for skeletal juggernaut #: lang/json/MONSTER_from_json.py @@ -62307,8 +65120,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal juggernaut" msgid_plural "fungal juggernauts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gombás buldózer" +msgstr[1] "gombás buldózer" #. ~ Description for fungal juggernaut #: lang/json/MONSTER_from_json.py @@ -62365,8 +65178,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "centipede" msgid_plural "centipedes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "százlábú" +msgstr[1] "százlábú" #. ~ Description for centipede #: lang/json/MONSTER_from_json.py @@ -62377,8 +65190,8 @@ msgstr "Mérges harapású, több tucat lábas, szegmentált testű ízeltlábú #: lang/json/MONSTER_from_json.py msgid "deer mouse" msgid_plural "deer mouses" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "amerikai egér" +msgstr[1] "amerikai egér" #. ~ Description for deer mouse #: lang/json/MONSTER_from_json.py @@ -62395,7 +65208,7 @@ msgid_plural "dragonflies" msgstr[0] "szitakötő" msgstr[1] "szitakötő" -#. ~ Description for dragonfly +#. ~ Description for {'str': 'dragonfly', 'str_pl': 'dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A thin-bodied insectoid predator with a large wingspan and big compound " @@ -62405,8 +65218,8 @@ msgstr "Széles szárnyú, összetett szemű és vékony testű ragadózó rovar #: lang/json/MONSTER_from_json.py msgid "bull frog" msgid_plural "bull frogs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kecskebéka" +msgstr[1] "kecskebéka" #. ~ Description for bull frog #: lang/json/MONSTER_from_json.py @@ -62420,8 +65233,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "mosquito" msgid_plural "mosquitos" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "szúnyog" +msgstr[1] "szúnyog" #. ~ Description for mosquito #: lang/json/MONSTER_from_json.py @@ -62435,8 +65248,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shrew" msgid_plural "shrews" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "cickány" +msgstr[1] "cickány" #. ~ Description for shrew #: lang/json/MONSTER_from_json.py @@ -62450,8 +65263,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "slug" msgid_plural "slugs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "meztelen csiga" +msgstr[1] "meztelen csiga" #. ~ Description for slug #: lang/json/MONSTER_from_json.py @@ -62467,8 +65280,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "jumping spider" msgid_plural "jumping spiders" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "ugrópók" +msgstr[1] "ugrópók" #. ~ Description for jumping spider #: lang/json/MONSTER_from_json.py @@ -62484,8 +65297,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "trapdoor spider" msgid_plural "trapdoor spiders" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "aknászpók" +msgstr[1] "aknászpók" #. ~ Description for trapdoor spider #: lang/json/MONSTER_from_json.py @@ -62500,8 +65313,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "black widow spider" msgid_plural "black widow spiders" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "fekete özvegy pók" +msgstr[1] "fekete özvegy pók" #. ~ Description for black widow spider #: lang/json/MONSTER_from_json.py @@ -62515,8 +65328,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "wolf spider" msgid_plural "wolf spiders" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "farkaspók" +msgstr[1] "farkaspók" #. ~ Description for wolf spider #: lang/json/MONSTER_from_json.py @@ -62531,8 +65344,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "wasp" msgid_plural "wasps" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "darázs" +msgstr[1] "darázs" #. ~ Description for wasp #: lang/json/MONSTER_from_json.py @@ -62546,8 +65359,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant frog" msgid_plural "giant frogs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriásbéka" +msgstr[1] "óriásbéka" #. ~ Description for giant frog #: lang/json/MONSTER_from_json.py @@ -62561,8 +65374,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "sewer gator" msgid_plural "sewer gators" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csatornás aligátor" +msgstr[1] "csatornás aligátor" #. ~ Description for sewer gator #: lang/json/MONSTER_from_json.py @@ -62572,12 +65385,15 @@ msgid "" "large specimen doesn't look like it sees humans as anything other than a " "meal." msgstr "" +"A huszadik század vége felé egy város legenda szerint a vécén lehúzott " +"kisállat aligátorok a csatornarendszerben nőttek teljes felnőtt méretükre. " +"Ez a hatalmas példány úgy tűnik az embereket csak táplálékként szokta meg." #: lang/json/MONSTER_from_json.py msgid "rattlesnake" msgid_plural "rattlesnakes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csörgőkígyó" +msgstr[1] "csörgőkígyó" #. ~ Description for rattlesnake #: lang/json/MONSTER_from_json.py @@ -62591,8 +65407,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant rattlesnake" msgid_plural "giant rattlesnakes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "óriás csörgőkígyó" +msgstr[1] "óriás csörgőkígyó" #. ~ Description for giant rattlesnake #: lang/json/MONSTER_from_json.py @@ -62601,12 +65417,15 @@ msgid "" " it isn't big enough to regard humans as potential prey, it is more " "aggressive and dangerous compared to a normal rattler." msgstr "" +"Ez a mutáns erdei csörgőkígyó háromszor akkora, mint megszokott. Bár nem " +"elég nagy ahhoz, hogy az emberre potenciális zsákmányként tekintsen, a " +"szokványos csörgőkígyónál agresszívabb és veszélyesebb." #: lang/json/MONSTER_from_json.py msgid "sewer snake" msgid_plural "sewer snakes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "csatornakígyó" +msgstr[1] "csatornakígyó" #. ~ Description for sewer snake #: lang/json/MONSTER_from_json.py @@ -62622,8 +65441,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "biollante sprig" msgid_plural "biollante sprigs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "biollante ágacska" +msgstr[1] "biollante ágacska" #. ~ Description for biollante sprig #: lang/json/MONSTER_from_json.py @@ -62633,8 +65452,8 @@ msgstr "Rövid, kövérkés kocsány, széles levelekkel és apró virágbimbók #: lang/json/MONSTER_from_json.py msgid "biollante sprout" msgid_plural "biollante sprouts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "biollante rügy" +msgstr[1] "biollante rügy" #. ~ Description for biollante sprout #: lang/json/MONSTER_from_json.py @@ -62648,8 +65467,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "biollante" msgid_plural "biollantes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "biollante" +msgstr[1] "biollante" #. ~ Description for biollante #: lang/json/MONSTER_from_json.py @@ -62663,8 +65482,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "creeper hub" msgid_plural "creeper hubs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kúszómag" +msgstr[1] "kúszómag" #. ~ Description for creeper hub #: lang/json/MONSTER_from_json.py @@ -62676,8 +65495,8 @@ msgstr "Vastag, talajból kinövő szár. Minden irányba gyorsan növeszt indá #: lang/json/MONSTER_from_json.py msgid "creeper vine" msgid_plural "creeper vines" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kúszó inda" +msgstr[1] "kúszó inda" #. ~ Description for creeper vine #: lang/json/MONSTER_from_json.py @@ -62689,8 +65508,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "triffid sprig" msgid_plural "triffid sprigs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "triffid ágacska" +msgstr[1] "triffid ágacska" #. ~ Description for triffid sprig #: lang/json/MONSTER_from_json.py @@ -62704,8 +65523,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "triffid sprout" msgid_plural "triffid sprouts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "triffid bimbó" +msgstr[1] "triffid bimbó" #. ~ Description for triffid sprout #: lang/json/MONSTER_from_json.py @@ -62719,8 +65538,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "triffid" msgid_plural "triffids" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "triffid" +msgstr[1] "triffid" #. ~ Description for triffid #: lang/json/MONSTER_from_json.py @@ -62735,8 +65554,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "triffid queen" msgid_plural "triffid queens" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "triffid királynő" +msgstr[1] "triffid királynő" #. ~ Description for triffid queen #: lang/json/MONSTER_from_json.py @@ -62752,8 +65571,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "vine beast" msgid_plural "vine beasts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "indaszörny" +msgstr[1] "indaszörny" #. ~ Description for vine beast #: lang/json/MONSTER_from_json.py @@ -62769,8 +65588,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal fighter" msgid_plural "fungal fighters" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "gombaharcos" +msgstr[1] "gombaharcos" #. ~ Description for fungal fighter #: lang/json/MONSTER_from_json.py @@ -62785,8 +65604,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/overmap_terrain_from_json.py msgid "triffid heart" msgid_plural "triffid hearts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "triffid szív" +msgstr[1] "triffid szív" #. ~ Description for triffid heart #: lang/json/MONSTER_from_json.py @@ -62800,8 +65619,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "improvised MP5 turret" msgid_plural "improvised MP5 turrets" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "rögtönzött H&K MP5 lövegtorony" +msgstr[1] "rögtönzött H&K MP5 lövegtorony" #. ~ Description for improvised MP5 turret #: lang/json/MONSTER_from_json.py @@ -62814,8 +65633,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "laser turret" msgid_plural "laser turrets" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "lézeres lövegtorony" +msgstr[1] "lézeres lövegtorony" #. ~ Description for laser turret #: lang/json/MONSTER_from_json.py @@ -62831,8 +65650,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "M2HB autonomous CROWS II" msgid_plural "M2HB autonomous CROWS IIs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "M2HB autonóm CROWS II" +msgstr[1] "M2HB autonóm CROWS II" #. ~ Description for M2HB autonomous CROWS II #: lang/json/MONSTER_from_json.py @@ -62843,12 +65662,18 @@ msgid "" " anything up to light vehicles at long range without exposing the operator." " This one is fitted with a M2HB." msgstr "" +"Az M153 CROWS II alapján kifejlesztett távirányítású fegyverrendszert " +"autonóm viselkedésre képes szoftverrel látták el. Az amerikai hadsereg a " +"kataklizma előtt több ezer egységet telepített. A felhasználók nagyra " +"értékelték, hogy egy könnyű járműig bezárólag bármilyen célt tűz alá tudott " +"venni anélkül, hogy az operátor veszélybe került volna. Ezt egy M2HB-val " +"szerelték fel." #: lang/json/MONSTER_from_json.py msgid "M249 autonomous CROWS II" msgid_plural "M249 autonomous CROWS IIs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "M249 autonóm CROWS II" +msgstr[1] "M249 autonóm CROWS II" #. ~ Description for M249 autonomous CROWS II #: lang/json/MONSTER_from_json.py @@ -62858,12 +65683,18 @@ msgid "" "military before the cataclysm and they were valued for their use in engaging" " infantry without exposing the operator. This one is fitted with a M249." msgstr "" +"Az M153 CROWS II alapján kifejlesztett távirányítású fegyverrendszert " +"autonóm viselkedésre képes szoftverrel látták el. Az amerikai hadsereg a " +"kataklizma előtt több ezer egységet telepített. A felhasználók nagyra " +"értékelték, hogy egy könnyű járműig bezárólag bármilyen célt messziről tűz " +"alá tudott venni anélkül, hogy az operátor veszélybe került volna. Ezt egy " +"M249-cel szerelték fel." #: lang/json/MONSTER_from_json.py msgid "M240 autonomous CROWS II" msgid_plural "M240 autonomous CROWS IIs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "M240 autonóm CROWS II" +msgstr[1] "M240 autonóm CROWS II" #. ~ Description for M240 autonomous CROWS II #: lang/json/MONSTER_from_json.py @@ -62873,12 +65704,18 @@ msgid "" "military before the cataclysm and they were valued for their use in engaging" " infantry without exposing the operator. This one is fitted with a M240." msgstr "" +"Az M153 CROWS II alapján kifejlesztett távirányítású fegyverrendszert " +"autonóm viselkedésre képes szoftverrel látták el. Az amerikai hadsereg a " +"kataklizma előtt több ezer egységet telepített. A felhasználók nagyra " +"értékelték, hogy egy könnyű járműig bezárólag bármilyen célt messziről tűz " +"alá tudott venni anélkül, hogy az operátor veszélybe került volna. Ezt egy " +"M240-nel szerelték fel." #: lang/json/MONSTER_from_json.py msgid "anklebiter" msgid_plural "anklebiters" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "sarokharapó" +msgstr[1] "sarokharapó" #. ~ Description for anklebiter #: lang/json/MONSTER_from_json.py @@ -62896,7 +65733,7 @@ msgid_plural "zombie children" msgstr[0] "zombi gyerek" msgstr[1] "zombi gyerek" -#. ~ Description for zombie child +#. ~ Description for {'str': 'zombie child', 'str_pl': 'zombie children'} #: lang/json/MONSTER_from_json.py msgid "" "It was only a child, and little is different about it now aside from the " @@ -62927,8 +65764,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "creepy crawler" msgid_plural "creepy crawlers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hátborzongató csúszómászó" +msgstr[1] "hátborzongató csúszómászó" #. ~ Description for creepy crawler #: lang/json/MONSTER_from_json.py @@ -62942,8 +65779,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shriekling" msgid_plural "shrieklings" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "süvöltő kölök" +msgstr[1] "süvöltő kölök" #. ~ Description for shriekling #: lang/json/MONSTER_from_json.py @@ -62957,8 +65794,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "snotgobbler" msgid_plural "snotgobblers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kis taknyos" +msgstr[1] "kis taknyos" #. ~ Description for snotgobbler #: lang/json/MONSTER_from_json.py @@ -62972,8 +65809,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "sproglodyte" msgid_plural "sproglodytes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "pulya troglodita" +msgstr[1] "pulya troglodita" #. ~ Description for sproglodyte #: lang/json/MONSTER_from_json.py @@ -62987,8 +65824,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "howling waif" msgid_plural "howling waifs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "üvöltő klambó" +msgstr[1] "üvöltő klambó" #. ~ Description for howling waif #: lang/json/MONSTER_from_json.py @@ -63006,7 +65843,7 @@ msgid_plural "fungal children" msgstr[0] "gombagyerek" msgstr[1] "gombagyerek" -#. ~ Description for fungal child +#. ~ Description for {'str': 'fungal child', 'str_pl': 'fungal children'} #: lang/json/MONSTER_from_json.py msgid "" "It is hard to recognize a human child in this creature. Disgusting-looking " @@ -63020,8 +65857,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie grenadier" msgid_plural "zombie grenadiers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "zombi gránátos" +msgstr[1] "zombi gránátos" #. ~ Description for zombie grenadier #: lang/json/MONSTER_from_json.py @@ -63035,8 +65872,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie elite grenadier" msgid_plural "zombie elite grenadiers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "elit zombi gránátos" +msgstr[1] "elit zombi gránátos" #. ~ Description for zombie elite grenadier #: lang/json/MONSTER_from_json.py @@ -63050,8 +65887,8 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie scientist" msgid_plural "zombie scientists" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "zombi tudós" +msgstr[1] "zombi tudós" #. ~ Description for zombie scientist #: lang/json/MONSTER_from_json.py @@ -63061,12 +65898,16 @@ msgid "" "awareness - not a human awareness, but something more sinister. As you " "watch it, its movements look almost marionette-like." msgstr "" +"Az olajfekete szemektől eltekintve ez a zombi mintha kevésbé lenne foszlott " +"és embertelen, mint a többi. Tépett laborköntösében mintha az öntudatnak egy" +" halvány szikrája látszana. Nem emberi öntudaté - valami másé. Ahogy nézed, " +"úgy veszed észre, hogy a mozgása olyan, mint egy marionetté." #: lang/json/MONSTER_from_json.py msgid "zombie security guard" msgid_plural "zombie security guards" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "zombi biztonsági őr" +msgstr[1] "zombi biztonsági őr" #. ~ Description for zombie security guard #: lang/json/MONSTER_from_json.py @@ -63076,12 +65917,15 @@ msgid "" " physically fit before its death; it moves quickly and powerfully, albeit " "clumsily." msgstr "" +"A csoszogó emberi holttesten szürke egyenruha látható, és egy \"SECURITY\" " +"feliratú golyóálló mellény. Úgy tűnik, hogy az őr halála előtt egészen jó " +"kondiban volt: gyorsan és erőteljesen mozog, bár egy kicsit esetlenül." #: lang/json/MONSTER_from_json.py msgid "prisoner zombie" msgid_plural "prisoner zombies" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "zombi rab" +msgstr[1] "zombi rab" #. ~ Description for prisoner zombie #: lang/json/MONSTER_from_json.py @@ -63090,12 +65934,15 @@ msgid "" "black and white striped prisoner clothes, and tattoos can be seen on his " "decaying skin." msgstr "" +"Úgy néz ki, hogy ez a zombi éppen a sitten volt, amikor bekövetkezett a " +"kataklizma. Fekete-fehér csíkos rabruhát visel, a rothadó bőrén még láthatók" +" a tetoválások." #: lang/json/MONSTER_from_json.py msgid "zombie soldier" msgid_plural "zombie soldiers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "zombi katona" +msgstr[1] "zombi katona" #. ~ Description for zombie soldier #: lang/json/MONSTER_from_json.py @@ -63289,11 +66136,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic fox" -msgid_plural "old animatronic foxs" +msgid_plural "old animatronic foxes" msgstr[0] "" msgstr[1] "" -#. ~ Description for old animatronic fox +#. ~ Description for {'str': 'old animatronic fox', 'str_pl': 'old animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -63303,11 +66151,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic fox" -msgid_plural "new animatronic foxs" +msgid_plural "new animatronic foxes" msgstr[0] "" msgstr[1] "" -#. ~ Description for new animatronic fox +#. ~ Description for {'str': 'new animatronic fox', 'str_pl': 'new animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -63317,11 +66166,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "wrecked animatronic fox" -msgid_plural "wrecked animatronic foxs" +msgid_plural "wrecked animatronic foxes" msgstr[0] "" msgstr[1] "" -#. ~ Description for wrecked animatronic fox +#. ~ Description for {'str': 'wrecked animatronic fox', 'str_pl': 'wrecked +#. animatronic foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A wrecked animatronic fox, laying in a pile on the ground. Its teeth and " @@ -63331,11 +66181,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic bunny" -msgid_plural "new animatronic bunnys" +msgid_plural "new animatronic bunnies" msgstr[0] "" msgstr[1] "" -#. ~ Description for new animatronic bunny +#. ~ Description for {'str': 'new animatronic bunny', 'str_pl': 'new +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its actually quite " @@ -63345,11 +66196,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic bunny" -msgid_plural "old animatronic bunnys" +msgid_plural "old animatronic bunnies" msgstr[0] "" msgstr[1] "" -#. ~ Description for old animatronic bunny +#. ~ Description for {'str': 'old animatronic bunny', 'str_pl': 'old +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its face has been torn" @@ -63541,7 +66393,8 @@ msgid_plural "animatronic sheep" msgstr[0] "" msgstr[1] "" -#. ~ Description for animatronic sheep +#. ~ Description for {'str': 'animatronic sheep', 'str_pl': 'animatronic +#. sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic sheep, nearly twice your size. Its wool is mangy and " @@ -63564,11 +66417,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic child" -msgid_plural "animatronic childs" +msgid_plural "animatronic children" msgstr[0] "" msgstr[1] "" -#. ~ Description for animatronic child +#. ~ Description for {'str': 'animatronic child', 'str_pl': 'animatronic +#. children'} #: lang/json/MONSTER_from_json.py msgid "" "An animatronic child. It looks like it's annoying as hell. Though it is a " @@ -63590,11 +66444,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic wolf" -msgid_plural "animatronic wolfs" +msgid_plural "animatronic wolves" msgstr[0] "" msgstr[1] "" -#. ~ Description for animatronic wolf +#. ~ Description for {'str': 'animatronic wolf', 'str_pl': 'animatronic +#. wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic wolf, nearly twice your size. If the animal " @@ -63757,11 +66612,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "minion of skeltal" -msgid_plural "minion of skeltals" +msgid_plural "minions of skeltal" msgstr[0] "" msgstr[1] "" -#. ~ Description for minion of skeltal +#. ~ Description for {'str': 'minion of skeltal', 'str_pl': 'minions of +#. skeltal'} #: lang/json/MONSTER_from_json.py msgid "A lesser skeleton, raised by the forlorn dooting of a trumpet." msgstr "" @@ -63784,11 +66640,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Compsognathus" -msgid_plural "Compsognathuss" +msgid_plural "Compsognathus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Compsognathus +#. ~ Description for {'str': 'Compsognathus', 'str_pl': 'Compsognathus'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal dinosaur about the size of a turkey. Its teeth and claws are " @@ -63799,11 +66655,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Gallimimus" -msgid_plural "Gallimimuss" +msgid_plural "Gallimimus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Gallimimus +#. ~ Description for {'str': 'Gallimimus', 'str_pl': 'Gallimimus'} #: lang/json/MONSTER_from_json.py msgid "" "A feathered bipedal dinosaur, standing as tall as a human. It looks " @@ -63814,11 +66670,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Titanis" -msgid_plural "Titaniss" +msgid_plural "Titanis" msgstr[0] "" msgstr[1] "" -#. ~ Description for Titanis +#. ~ Description for {'str': 'Titanis', 'str_pl': 'Titanis'} #: lang/json/MONSTER_from_json.py msgid "" "It looks like a dodo, only much bigger, with longer, muscular legs and a " @@ -63829,11 +66685,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Spinosaurus" -msgid_plural "Spinosauruss" +msgid_plural "Spinosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Spinosaurus +#. ~ Description for {'str': 'Spinosaurus', 'str_pl': 'Spinosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge dinosaur about the size of a small house, with a ferocious crocodile-" @@ -63844,22 +66700,23 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Tyrannosaurus rex" -msgid_plural "Tyrannosaurus rexs" +msgid_plural "Tyrannosaurus rex" msgstr[0] "" msgstr[1] "" -#. ~ Description for Tyrannosaurus rex +#. ~ Description for {'str': 'Tyrannosaurus rex', 'str_pl': 'Tyrannosaurus +#. rex'} #: lang/json/MONSTER_from_json.py msgid "Look at those TEETH!" msgstr "Azta micsoda FOGAI vannak!" #: lang/json/MONSTER_from_json.py msgid "Triceratops" -msgid_plural "Triceratopss" +msgid_plural "Triceratops" msgstr[0] "" msgstr[1] "" -#. ~ Description for Triceratops +#. ~ Description for {'str': 'Triceratops', 'str_pl': 'Triceratops'} #: lang/json/MONSTER_from_json.py msgid "" "A massive rhino-like dinosaur with a bony crest from which three large horns" @@ -63870,11 +66727,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Stegosaurus" -msgid_plural "Stegosauruss" +msgid_plural "Stegosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Stegosaurus +#. ~ Description for {'str': 'Stegosaurus', 'str_pl': 'Stegosaurus'} #: lang/json/MONSTER_from_json.py msgid "A large quadruped dinosaur with plates on its back, and a spiked tail." msgstr "" @@ -63883,11 +66740,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Ankylosaurus" -msgid_plural "Ankylosauruss" +msgid_plural "Ankylosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Ankylosaurus +#. ~ Description for {'str': 'Ankylosaurus', 'str_pl': 'Ankylosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "This dinosaur looks like a giant prehistoric armadillo. Its tail ends in a " @@ -63898,11 +66755,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Allosaurus" -msgid_plural "Allosauruss" +msgid_plural "Allosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Allosaurus +#. ~ Description for {'str': 'Allosaurus', 'str_pl': 'Allosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A large predatory bipedal dinosaur, with tiger-like stripes on its broad " @@ -63943,11 +66800,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Deinonychus" -msgid_plural "Deinonychuss" +msgid_plural "Deinonychus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Deinonychus +#. ~ Description for {'str': 'Deinonychus', 'str_pl': 'Deinonychus'} #: lang/json/MONSTER_from_json.py msgid "" "A medium-sized bipedal dinosaur covered with feathers. At the end of each " @@ -63973,11 +66830,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Parasaurolophus" -msgid_plural "Parasaurolophuss" +msgid_plural "Parasaurolophus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Parasaurolophus +#. ~ Description for {'str': 'Parasaurolophus', 'str_pl': 'Parasaurolophus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge mottled dinosaur with a blunt head crest. It contentedly strips " @@ -63999,11 +66856,11 @@ msgstr "Kisméretű repülő hüllő köröz, zsákmány után kutatva." #: lang/json/MONSTER_from_json.py msgid "Dilophosaurus" -msgid_plural "Dilophosauruss" +msgid_plural "Dilophosaurus" msgstr[0] "" msgstr[1] "" -#. ~ Description for Dilophosaurus +#. ~ Description for {'str': 'Dilophosaurus', 'str_pl': 'Dilophosaurus'} #: lang/json/MONSTER_from_json.py msgid "A medium dinosaur with a sticky green bile dripping from its teeth." msgstr "Közepes méretű dinoszaurusz, fogairól ragacsos zöld epe csepeg." @@ -64096,6 +66953,20 @@ msgid "" "fully grown, it is the size of a full-grown bull." msgstr "" +#: lang/json/MONSTER_from_json.py +msgid "adult black dragon" +msgid_plural "adult black dragons" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for adult black dragon +#: lang/json/MONSTER_from_json.py +msgid "" +"A black-scaled monstrosity with deep-set eye sockets glowing green with " +"evil. Its face and skull appear skeletal, and acid drips from its dagger-" +"like jaws." +msgstr "" + #: lang/json/MONSTER_from_json.py msgid "owlbear" msgid_plural "owlbears" @@ -64131,21 +67002,23 @@ msgid "The black pudding burns you with acid!" msgstr "" #: lang/json/MONSTER_from_json.py -msgid "nothic" -msgid_plural "nothics" +msgid "krabgek" +msgid_plural "krabgeks" msgstr[0] "" msgstr[1] "" -#. ~ Description for nothic +#. ~ Description for krabgek #: lang/json/MONSTER_from_json.py msgid "" -"A baleful eye peers out from the darkness, its gleam hinting at a weird " -"intelligence and unnerving malevolence." +"A large baleful eye peers out from the darkness, its gleam hinting at a " +"weird intelligence and unnerving malevolence. The eye oozes some pinkish " +"liquid, and the weirdly humanoid figure is covered in sharp blue-black " +"triangular plates." msgstr "" -#. ~ Attack message of monster "nothic"'s spell "necrotic_gaze" +#. ~ Attack message of monster "krabgek"'s spell "necrotic_gaze" #: lang/json/MONSTER_from_json.py -msgid "The nothic gazes at %3$s!" +msgid "The krabgek gazes at %3$s!" msgstr "" #: lang/json/MONSTER_from_json.py @@ -64193,8 +67066,47 @@ msgstr[1] "" #. ~ Description for troll #: lang/json/MONSTER_from_json.py msgid "" -"Monstrous, green-skinned humanoid. Trolls are renowned for their thick hides" -" and natural regenerative ability." +"Monstrous, green-skinned humanoid. Trolls are renowned for their thick " +"hides and natural regenerative ability." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "stirge" +msgid_plural "stirges" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for stirge +#: lang/json/MONSTER_from_json.py +msgid "" +"This horrid flying creature looks like a cross between a large bat and " +"oversized mosquito." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "shrieker" +msgid_plural "shriekers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for shrieker +#: lang/json/MONSTER_from_json.py +msgid "" +"A shrieker is a human-sized mushroom that emits a piercing screech to drive " +"off creatures that disturb it." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "lemure" +msgid_plural "lemures" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lemure +#: lang/json/MONSTER_from_json.py +msgid "" +"A lemure resembles a molten mass of flesh with a vaguely humanoid head and " +"torso." msgstr "" #: lang/json/MONSTER_from_json.py @@ -64734,11 +67646,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "craftbuddy" -msgid_plural "craftbuddys" +msgid_plural "craftbuddies" msgstr[0] "" msgstr[1] "" -#. ~ Description for craftbuddy +#. ~ Description for {'str': 'craftbuddy', 'str_pl': 'craftbuddies'} #: lang/json/MONSTER_from_json.py msgid "" "A mobile crafting station used by workers in mines, on oil rigs, and in " @@ -65394,11 +68306,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "robote deluxe" -msgid_plural "robote deluxes" +msgid_plural "robote deluxe" msgstr[0] "" msgstr[1] "" -#. ~ Description for robote deluxe +#. ~ Description for {'str': 'robote deluxe', 'str_pl': 'robote deluxe'} #: lang/json/MONSTER_from_json.py msgid "" "A diamond-studded gold-plated robot armed with a pair of integrated 9mm " @@ -65448,11 +68360,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "glittering lady" -msgid_plural "glittering ladys" +msgid_plural "glittering ladies" msgstr[0] "" msgstr[1] "" -#. ~ Description for glittering lady +#. ~ Description for {'str': 'glittering lady', 'str_pl': 'glittering ladies'} #: lang/json/MONSTER_from_json.py msgid "" "A salvaged advanced robot transformed into a luminous beacon of destruction." @@ -65612,13 +68524,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gelatinous mass" -msgid_plural "gelatinous masss" +msgid_plural "gelatinous mass" msgstr[0] "" msgstr[1] "" -#. ~ Description for gelatinous mass -#. ~ Description for gray mass -#. ~ Description for gelatinous mass +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} +#. ~ Description for {'str': 'gray mass', 'str_pl': 'gray mass'} +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} #: lang/json/MONSTER_from_json.py msgid "" "An escaping noisy blob, catch it before it brings in every zombie for miles!" @@ -65628,7 +68540,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gray mass" -msgid_plural "gray masss" +msgid_plural "gray mass" msgstr[0] "" msgstr[1] "" @@ -66210,6 +69122,25 @@ msgstr "" msgid "Summon some bugs." msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Artifact Noise" +msgstr "" + +#. ~ Description for Artifact Noise +#: lang/json/SPELL_from_json.py +msgid "Makes a noise at your location" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "a deafening boom" +msgstr "" + +#. ~ Message for SPELL 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "You hear a deafening boom from your location!" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Artifact Light" msgstr "" @@ -66290,7 +69221,7 @@ msgstr "" #. ~ Message for SPELL 'Artifact Map' #: lang/json/SPELL_from_json.py src/iuse.cpp -msgid "You have a vision of the surrounding area..." +msgid "You have a vision of the surrounding area…" msgstr "" #: lang/json/SPELL_from_json.py @@ -66330,6 +69261,80 @@ msgstr "" msgid "Mutates you randomly" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Bolt" +msgstr "" + +#. ~ Description for Bolt +#: lang/json/SPELL_from_json.py +msgid "One of the bolts thrown by AEA_STORM" +msgstr "" + +#. ~ description for the sound of spell 'Bolt' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "Ka-BOOM!" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Storm" +msgstr "" + +#. ~ Description for Artifact Storm +#: lang/json/SPELL_from_json.py +msgid "Calls down a storm near you" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Morale Scream" +msgstr "" + +#. ~ Description for Morale Scream +#: lang/json/SPELL_from_json.py +msgid "Morale effect from AEA_SCREAM" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Entrance" +msgstr "" + +#. ~ Description for Artifact Entrance +#: lang/json/SPELL_from_json.py +msgid "Entrances surrounding monsters" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Scream" +msgstr "" + +#. ~ Description for Artifact Scream +#: lang/json/SPELL_from_json.py +msgid "An ethereal scream" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Scream' +#: lang/json/SPELL_from_json.py +msgid "an ethereal scream" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Bash Terrain" +msgstr "" + +#. ~ Description for Bash Terrain +#. ~ Description for Artifact Pulse +#: lang/json/SPELL_from_json.py +msgid "Damages the terrain" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Pulse" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Pulse' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "The earth shakes!" +msgstr "" + #: lang/json/SPELL_from_json.py src/memorial_logger.cpp src/player_display.cpp msgid "Pain" msgstr "" @@ -66422,8 +69427,8 @@ msgstr "" #. ~ Description for Animist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Animists. You can use the rune" -" as a catalyst for recipes." +"This ritual creates a small pebble attuned to Animists. You can use the " +"rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -66461,7 +69466,7 @@ msgstr "" #. ~ Description for Biomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Biomancers. You can use the " +"This ritual creates a small pebble attuned to Biomancers. You can use the " "rune as a catalyst for recipes." msgstr "" @@ -66559,7 +69564,7 @@ msgstr "" #. ~ Message for SPELL 'Debug Stamina Spell' #: lang/json/SPELL_from_json.py #, python-format -msgid "Debug spell [ %s ] has no effect. Debug warning is expected." +msgid "Debug spell [ %s ] has no effect. Debug warning is expected." msgstr "" #: lang/json/SPELL_from_json.py @@ -66716,7 +69721,7 @@ msgstr "" #. ~ Description for Druid Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Druids. You can use the rune " +"This ritual creates a small pebble attuned to Druids. You can use the rune " "as a catalyst for recipes." msgstr "" @@ -66727,8 +69732,8 @@ msgstr "" #. ~ Description for Purification Seed #: lang/json/SPELL_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Rapidly degrades if " -"not utilized." +"You summon a gift of the earth which will purify water. Rapidly degrades if" +" not utilized." msgstr "" #: lang/json/SPELL_from_json.py @@ -66775,8 +69780,35 @@ msgstr "" #. ~ Description for Earthshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Earthshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Earthshapers. You can use the" +" rune as a catalyst for recipes." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Shrapnel" +msgstr "" + +#. ~ Description for Lava Bomb Shrapnel +#. ~ Description for Lava Bomb Heat +#. ~ Description for Lava Bomb Terrain +#: lang/json/SPELL_from_json.py +msgid "This is a sub spell for the Lava Bomb spell." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Heat" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Terrain" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Clairvoyance" msgstr "" #: lang/json/SPELL_from_json.py @@ -66786,7 +69818,7 @@ msgstr "" #. ~ Description for Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" " condition." msgstr "" @@ -66798,9 +69830,24 @@ msgstr "" #. ~ Description for Improved Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" -" condition. Improved brewing mitigates the strain of the spell." +" condition. Improved brewing mitigates the strain of the spell." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Conjure Throwing Blade I" +msgstr "" + +#. ~ Description for Conjure Throwing Blade I +#: lang/json/SPELL_from_json.py +msgid "conjures 3 throwing knives" +msgstr "" + +#. ~ Message for SPELL 'Conjure Throwing Blade I' +#: lang/json/SPELL_from_json.py +msgid "" +"You activate your ring and three throwing knives appear, ready to throw!" msgstr "" #: lang/json/SPELL_from_json.py @@ -66858,7 +69905,7 @@ msgstr "" #. ~ Description for Kelvinist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Kelvinists. You can use the " +"This ritual creates a small pebble attuned to Kelvinists. You can use the " "rune as a catalyst for recipes." msgstr "" @@ -66901,8 +69948,8 @@ msgstr "" #. ~ Description for Magus Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Magi. You can use the rune as " -"a catalyst for recipes." +"This ritual creates a small pebble attuned to Magi. You can use the rune as" +" a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py @@ -66921,10 +69968,26 @@ msgstr "" msgid "Fox's Cunning" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Blood Suck" +msgstr "" + +#. ~ Description for Blood Suck +#: lang/json/SPELL_from_json.py +msgid "Sucks blood from one foe." +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Jolt" msgstr "" +#. ~ description for the sound of spell 'Jolt' +#. ~ description for the sound of spell 'Lightning Bolt' +#. ~ description for the sound of spell 'Lightning Blast' +#: lang/json/SPELL_from_json.py +msgid "a crackle" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Lightning Bolt" msgstr "" @@ -66933,6 +69996,11 @@ msgstr "" msgid "Windstrike" msgstr "" +#. ~ description for the sound of spell 'Windstrike' +#: lang/json/SPELL_from_json.py +msgid "a whoosh" +msgstr "" + #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py msgid "Windrunning" msgstr "" @@ -66948,8 +70016,8 @@ msgstr "" #. ~ Description for Stormshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Stormshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Stormshapers. You can use the" +" rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -67010,8 +70078,8 @@ msgstr "" #. ~ Description for Technomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Technomancers. You can use the" -" rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Technomancers. You can use " +"the rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -67038,6 +70106,10 @@ msgstr "" msgid "Mirror Image" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "X-ray Vision" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Demon Fireball" msgstr "" @@ -67075,6 +70147,10 @@ msgid "" "that can plug into a UPS. Any device modified with this can be used without" " a battery as long as you have a charged UPS with you." msgstr "" +"Ez a berendezés a hagyományos elem csatlakozásokat cserél le egy olyan " +"konnektorra, amely az Egységes Tápegység energiáját hasznosítja. Ezzel a " +"módosítással bármilyen szerkezetet lehet elem nélkül, ha van nálad egy " +"feltöltött ET." #: lang/json/TOOLMOD_from_json.py msgid "reactor core expansion device" @@ -67113,8 +70189,8 @@ msgstr "" #: lang/json/TOOLMOD_from_json.py msgid "light battery mod" msgid_plural "light battery mods" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "könnyű elem mod" +msgstr[1] "könnyű elem mod" #. ~ Description for light battery mod #: lang/json/TOOLMOD_from_json.py @@ -67122,12 +70198,14 @@ msgid "" "A battery compartment mod that allows the use of light batteries in tools " "that otherwise could not." msgstr "" +"Egy elemes módosítás. Segítségével könnyű elemeket lehet egy olyan eszközben" +" használni, amelyben amúgy nem lehetne." #: lang/json/TOOLMOD_from_json.py msgid "medium battery mod" msgid_plural "medium battery mods" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "közepes elem mod" +msgstr[1] "közepes elem mod" #. ~ Description for medium battery mod #: lang/json/TOOLMOD_from_json.py @@ -67135,12 +70213,14 @@ msgid "" "A battery compartment mod that allows the use of medium batteries in tools " "that otherwise could not." msgstr "" +"Egy elemes módosítás. Segítségével közepes elemeket lehet egy olyan " +"eszközben használni, amelyben amúgy nem lehetne." #: lang/json/TOOLMOD_from_json.py msgid "heavy battery mod" msgid_plural "heavy battery mods" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "nehéz elem mod" +msgstr[1] "nehéz elem mod" #. ~ Description for heavy battery mod #: lang/json/TOOLMOD_from_json.py @@ -67148,12 +70228,14 @@ msgid "" "A battery compartment mod that allows the use of heavy batteries in tools " "that otherwise could not." msgstr "" +"Egy elemes módosítás. Segítségével nehéz elemeket lehet egy olyan eszközben " +"használni, amelyben amúgy nem lehetne." #: lang/json/TOOLMOD_from_json.py msgid "cybernetic power port mod" msgid_plural "cybernetic power port mods" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kibernetikus energiaport mod" +msgstr[1] "kibernetikus energiaport mod" #. ~ Description for cybernetic power port mod #: lang/json/TOOLMOD_from_json.py @@ -67163,6 +70245,10 @@ msgid "" "implants. When applied, it will convert an item to run directly off of " "bionic power." msgstr "" +"Ez a szerkezet elektromos berendezések energiaellátási csatlakozásait " +"cseréli le egy olyan portra, amely közvetlenül a bionikus implantátumokhoz " +"csatlakozik. Alkalmazása után az módosított berendezés közvetlenül a " +"bionikus energiát fogja használni." #: lang/json/TOOL_ARMOR_from_json.py msgid "mining helmet" @@ -67206,6 +70292,8 @@ msgstr[1] "bányászsisak (be)" #. ~ Use action menu_text for thermal electric balaclava (on). #. ~ Use action menu_text for headlamp (on). #. ~ Use action menu_text for survivor headlamp (on). +#. ~ Use action menu_text for 5-point anchor (on). +#. ~ Use action menu_text for phase immersion suit (on). #. ~ Use action menu_text for rebreather mask (on). #. ~ Use action menu_text for XL rebreather mask (on). #. ~ Use action menu_text for pair of light amp goggles (on). @@ -67230,9 +70318,9 @@ msgstr[1] "bányászsisak (be)" #. ~ Use action menu_text for acetylene lamp (on). #. ~ Use action menu_text for power cutter (on). #. ~ Use action menu_text for murdersaw (on). +#. ~ Use action menu_text for heat cube (torch on). #: lang/json/TOOL_ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: lang/json/TOOL_from_json.py lang/json/item_action_from_json.py #: lang/json/item_action_from_json.py lang/json/item_action_from_json.py #: src/iuse.cpp msgid "Turn off" @@ -67600,6 +70688,46 @@ msgstr "" "Jelenleg be van kapcsolva, és meríti az elemet. Kikapcsolásához használni " "kell." +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp" +msgid_plural "atomic headlamps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for atomic headlamp. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You close the headlamp's cover." +msgstr "" + +#. ~ Description for atomic headlamp +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"close the cover and hide the light." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp (covered)" +msgid_plural "atomic headlamps (covered)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for atomic headlamp (covered). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You open the headlamp's cover." +msgstr "" + +#. ~ Description for atomic headlamp (covered) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"open the cover and show the light." +msgstr "" + #: lang/json/TOOL_ARMOR_from_json.py msgid "RM13 combat armor" msgid_plural "RM13 combat armors" @@ -67636,6 +70764,97 @@ msgstr "" "csúcsmodelljét. Jelenleg be van kapcsolva és meríti az energiát. " "Kikapcsoláshoz aktiválni kell." +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor" +msgid_plural "5-point anchors" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "A LED light in the %s LED flickers on." +msgstr "" + +#. ~ Use action need_charges_msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "It seems like this device needs power." +msgstr "" + +#. ~ Description for 5-point anchor +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A featureless, disc-shaped device mounted on a harness. The words " +"\"X.E.D.R.A\" and \"5-point anchor\" are inscribed on its front and back." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor (on)" +msgid_plural "5-point anchors (on)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for 5-point anchor (on). +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "The %s LED light flickers off." +msgstr "" + +#. ~ Description for 5-point anchor (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The harness' shoulder mounted LED glows with a soft green hue. Theres no " +"further indication of anything happening." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit" +msgid_plural "phase immersion suits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Initiating\n" +"Running suit integrity diagnostics…\n" +"All systems operational." +msgstr "" + +#. ~ Use action need_charges_msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Warning: Operating on minimal power. Protection compromised." +msgstr "" + +#. ~ Description for phase immersion suit +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. Designed to " +"protect its wearer during extra dimensional excursions, it offers " +"unparalleled environmental protection, both in this Earth and beyond. Use " +"it to turn it on." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit (on)" +msgid_plural "phase immersion suits (on)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for phase immersion suit (on). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Suit shutting down." +msgstr "" + +#. ~ Description for phase immersion suit (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. It is turned on, " +"and continually draining power. Use it to turn it off." +msgstr "" + #: lang/json/TOOL_ARMOR_from_json.py msgid "rebreather mask" msgid_plural "rebreather masks" @@ -67949,6 +71168,9 @@ msgid "" "illuminator, allowing you to see in the dark. It is turned on, and " "continually draining batteries. Use it to turn them off." msgstr "" +"Elemmel működő szemüveg, amely a beépített infravörös fény felerősítésével " +"segít látni a sötétben. Jelenleg be van kapcsolva és meríti az elemeket. " +"Kikapcsoláshoz aktiválni kell." #: lang/json/TOOL_ARMOR_from_json.py msgid "pair of infrared goggles" @@ -68633,8 +71855,8 @@ msgstr "" #: lang/json/TOOL_ARMOR_from_json.py msgid "electric guitar" msgid_plural "electric guitars" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "elektromos gitár" +msgstr[1] "elektromos gitár" #. ~ Description for electric guitar #: lang/json/TOOL_ARMOR_from_json.py @@ -68642,6 +71864,8 @@ msgid "" "A standard factory-made electric guitar. It's probably better at smashing " "heads than melting faces, these days. Has a strap." msgstr "" +"Tömegekben előállított gyári elektromos gitár. Fejek beverésére mostanában " +"talán jobban használható. Nyakbaakasztáshoz van egy pántja." #: lang/json/TOOL_ARMOR_from_json.py msgid "bagpipes" @@ -68706,13 +71930,11 @@ msgstr "A fülvédőből kimerült az elem." #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py msgid "" -"A pair of earmuffs favored by shooters. The earmuffs are turned off. They " -"will block sounds over a certain decibel amount, assuming it is charged with" -" batteries." +"A pair of earmuffs favored by shooters. Without batteries or when turned " +"off they function like normal earmuffs and block all sound. They will block" +" sounds over a certain decibel amount when turned on. The earmuffs are " +"currently off." msgstr "" -"Főleg lövészek által kedvelt fülvédő. A fülvédő jelenleg ki van kapcsolva. " -"Ha elég elem van benne, akkor egy adott decibel érték felett blokkolja a " -"hangokat." #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py @@ -68847,8 +72069,8 @@ msgstr "" #: lang/json/TOOL_ARMOR_from_json.py msgid "scuba tank" msgid_plural "scuba tanks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "búvártartály" +msgstr[1] "búvártartály" #. ~ Description for scuba tank #. ~ Description for scuba tank (on) @@ -68858,18 +72080,21 @@ msgid "" "compressed mixture of oxygen and nitrogen. It is equipped with a on-demand " "regulator and a mouthpiece designed mostly for underwater use." msgstr "" +"Ez a 232 bár nyomásra méretezett, sűrített levegős búvártartály 12 liter " +"nitrogén-oxigén gázkeverék tárolására képes. A nagyrészt vízalatti " +"felhasználáshoz csutorával és nyomásszabályozóval rendelkezik." #: lang/json/TOOL_ARMOR_from_json.py msgid "scuba tank (on)" msgid_plural "scuba tank (on)s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "búvártartály (be)" +msgstr[1] "búvártartály (be)" #: lang/json/TOOL_ARMOR_from_json.py msgid "small scuba tank" msgid_plural "small scuba tanks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kis búvártartály" +msgstr[1] "kis búvártartály" #. ~ Description for small scuba tank #. ~ Description for small scuba tank (on) @@ -68879,28 +72104,31 @@ msgid "" "4L of compressed mixture of oxygen and nitrogen. It is equipped with a on-" "demand regulator and a mouthpiece designed mostly for underwater use." msgstr "" +"Ez a 200 bár nyomásra méretezett, sűrített levegős, kisméretű búvártartály 4" +" liter nitrogén-oxigén gázkeverék tárolására képes. A nagyrészt vízalatti " +"felhasználáshoz csutorával és nyomásszabályozóval rendelkezik." #: lang/json/TOOL_ARMOR_from_json.py msgid "small scuba tank (on)" msgid_plural "small scuba tank (on)s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kis búvártartály (be)" +msgstr[1] "kis búvártartály (be)" #: lang/json/TOOL_ARMOR_from_json.py msgid "electric blanket" msgid_plural "electric blankets" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "elektromos takaró" +msgstr[1] "elektromos takaró" #. ~ Use action msg for electric blanket. #: lang/json/TOOL_ARMOR_from_json.py msgid "You turn the blanket's heating elements on." -msgstr "" +msgstr "Bekapcsolod a takarító melegítőszálát." #. ~ Use action need_charges_msg for electric blanket. #: lang/json/TOOL_ARMOR_from_json.py msgid "The blanket's batteries are dead." -msgstr "" +msgstr "A takaró lemerült." #. ~ Description for electric blanket #: lang/json/TOOL_ARMOR_from_json.py @@ -68909,17 +72137,20 @@ msgid "" "Its cost is usually negligible, but with the power out, it chews through " "batteries insanely quickly." msgstr "" +"Poliészter béléssel ellátott melegítős takaró. A világ legkényelmesebb " +"tárgya. Nem kerül sokba, de az örökös áramszünet idején elképesztően sok " +"elemet zabál." #: lang/json/TOOL_ARMOR_from_json.py msgid "electric blanket (on)" msgid_plural "electric blankets (on)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "elektromos takaró (be)" +msgstr[1] "elektromos takaró (be)" #. ~ Use action msg for electric blanket (on). #: lang/json/TOOL_ARMOR_from_json.py msgid "You turn the blanket's heating elements off." -msgstr "" +msgstr "Kikapcsolod a takarító melegítőszálát." #. ~ Description for electric blanket (on) #: lang/json/TOOL_ARMOR_from_json.py @@ -68927,12 +72158,14 @@ msgid "" "A heated blanket made of polyster. It's turned on, making it nice and " "toasty while it lasts." msgstr "" +"Poliészter béléssel ellátott melegítős takaró. Most be van kapcsolva, és " +"nagyon kellemes alatta lenni. Amíg persze az elemek tartanak." #: lang/json/TOOL_ARMOR_from_json.py msgid "Foodperson mask" msgid_plural "Foodperson masks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Ételszolgáló maszk" +msgstr[1] "Ételszolgáló maszk" #. ~ Use action msg for Foodperson mask. #: lang/json/TOOL_ARMOR_from_json.py @@ -68940,33 +72173,35 @@ msgid "" "Your HUD lights-up: \"Greetings Foodperson, your shift begins now. Good " "luck!\"" msgstr "" +"A beépített kijelzőn szöveg jelenik meg: \"Üdvözlünk Ételszolgáló. A " +"beosztásod mostantól kezdődik. Sok szerencsét!\"" #. ~ Use action need_charges_msg for Foodperson mask. #: lang/json/TOOL_ARMOR_from_json.py msgid "The mask's batteries are dead." -msgstr "" +msgstr "A maszk eleme lemerült." #. ~ Description for Foodperson mask #: lang/json/TOOL_ARMOR_from_json.py msgid "Foodperson, the mascot your stomach deserves!" -msgstr "" +msgstr "Az Ételszolgáló az kabala, amire a hasadnak van szüksége!" #: lang/json/TOOL_ARMOR_from_json.py msgid "Foodperson mask (on)" msgid_plural "Foodperson masks (on)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Ételszolgáló maszk (be)" +msgstr[1] "Ételszolgáló maszk (be)" #: lang/json/TOOL_ARMOR_from_json.py msgid "hazardous environment helmet" msgid_plural "hazardous environment helmets" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "szennyezésvédelmi sisak" +msgstr[1] "szennyezésvédelmi sisak" #. ~ Use action msg for hazardous environment helmet. #: lang/json/TOOL_ARMOR_from_json.py msgid "You turn the helmet's headlamp on." -msgstr "" +msgstr "Bekapcsolod a sisak lámpáját." #. ~ Description for hazardous environment helmet #: lang/json/TOOL_ARMOR_from_json.py @@ -68976,12 +72211,17 @@ msgid "" "excellent protection from airborne contaminants. It has a mounted LED " "headlamp, powered by standard batteries." msgstr "" +"A kompatibilis szennyezésvédelmi szkafanderrel együttes használatra szánt " +"sisak fizikai védelme a legjobb akarattal is csak alapszintűnek nevezhető, " +"viszont cserébe a beépített légszűrő kiváló védelmet nyújt a levegőben " +"lebegő bárminemű szennyezés ellen. A beépített LED-es sisaklámpát rendes " +"elemekkel lehet használni." #: lang/json/TOOL_ARMOR_from_json.py msgid "hazardous environment helmet (on)" msgid_plural "hazardous environment helmet (on)s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "szennyezésvédelmi sisak (be)" +msgstr[1] "szennyezésvédelmi sisak (be)" #. ~ Description for hazardous environment helmet (on) #: lang/json/TOOL_ARMOR_from_json.py @@ -68991,6 +72231,11 @@ msgid "" "excellent protection from airborne contaminants. Its light is on, " "illuminating the area at a cost of batteries." msgstr "" +"A kompatibilis szennyezésvédelmi szkafanderrel együttes használatra szánt " +"sisak fizikai védelme a legjobb akarattal is csak alapszintűnek nevezhető, " +"viszont cserébe a beépített légszűrő kiváló védelmet nyújt a levegőben " +"lebegő bárminemű szennyezés ellen. A sisaklámpa be van kapcsolva, és meríti " +"az elemeket." #: lang/json/TOOL_ARMOR_from_json.py lang/json/TOOL_from_json.py #: lang/json/ammunition_type_from_json.py @@ -69008,6 +72253,11 @@ msgid "" " can be worn around to either leg for ease of access, and it's been " "waterproofed to protect the delicate electronics." msgstr "" +"Ez egy egységesített tápegység, röviden ET. A készülék közös tudományos és " +"katonai fejlesztés eredménye, harci és terepi körülményekre tervezték. Az " +"ET-t szervópáncél és néhány fegyver energiaellátásához tervezték, de nagyon " +"gyorsan lemeríti az elemeket. Bármelyik lábra erősíthető, és a kényes " +"elektronika védelme érdekében vízhatlan." #: lang/json/TOOL_ARMOR_from_json.py lang/json/TOOL_from_json.py msgid "advanced UPS" @@ -69024,6 +72274,11 @@ msgid "" "slimmer and lighter to wear. Sadly, its plutonium reactor can't be charged " "in UPS charging station." msgstr "" +"Ez az egységesített tápegység, azaz ET továbbfejlesztett változata. Ezt a " +"verziót az elődjéhez képest lényegesen áttervezték, megnövelték a " +"hatékonyságát és elemek helyett plutónium cellákkal működik. A hagyományos " +"ET-nél kisebb és könnyebb. Sajnos a plutónium reaktorát egy ET " +"töltőállványon nem lehet feltölteni." #: lang/json/TOOL_ARMOR_from_json.py msgid "CRIT S-I G.E.A.R" @@ -69176,6 +72431,536 @@ msgid "" "power." msgstr "" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic leather belt" +msgid_plural "magic leather belts" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Haste" +msgid_plural "Belt of Hastes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Megingjörð" +msgid_plural "Megingjörðs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Megingjörð +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The mythical belt of Thor, god of thunder. Or at least so it appears. It " +"doubles the wearer's base strength." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Lesser Girdle of Pockets" +msgid_plural "Lesser Girdle of Pocketss" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Lesser Girdle of Pockets +#. ~ Description for Greater Girdle of Pockets +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, coverd in numerous small pouches " +"that hold a lot more than they should, and the weight of their contents is " +"greatly reduced." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Greater Girdle of Pockets" +msgid_plural "Greater Girdle of Pocketss" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Weaponry" +msgid_plural "Belt of Weaponrys" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Belt of Weaponry +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, you can sheath or holster any " +"weapon into it in the blink of an eye, and it seemingly stores them " +"somewhere else." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of The Iron Whip" +msgid_plural "Belts of the Iron Whip" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for Belt of The Iron Whip. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"You grab the belt and it uncoils to become a flexible metal whip in your " +"hand!" +msgstr "" + +#. ~ Description for Belt of The Iron Whip +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A braided but flexible belt seemingly made of metal. You can activate it to" +" transform it into a whip and flay your enemies." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "escape boots" +msgid_plural "escape boots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for escape boots +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, these boots can be activated once a day to escape from nasty " +"situations, teleporting you a good distance in a random direction." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "pair of steel bracers" +msgid_plural "pairs of steel bracers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of steel bracers +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A full assembly of medieval arm protection." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "steel bracer" +msgid_plural "steel bracers" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of lesser defense" +msgid_plural "bracers of lesser defense" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bracer of lesser defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, silver accentuates the intricate design. It protects your body " +"with a light aura to reduce damage you take." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of greater defense" +msgid_plural "bracers of greater defense" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bracer of greater defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, gold accentuates the intricate design. It protects your body with " +"a strong aura to reduce damage you take." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "lesser bracer of lightning" +msgid_plural "lesser bracers of lightning" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lesser bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, silver accentuates the intricate design. It " +"protects your body with a light aura to reduce electrical damage you take, " +"as well as being able to release a Jolt spell 3 times a day." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "greater bracer of lightning" +msgid_plural "greater bracers of lightning" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for greater bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, gold accentuates the intricate design. It " +"protects your body with a strong aura to reduce electrical damage you take, " +"as well as being able to release a Lightning Bolt spell 3 times a day." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic mask" +msgid_plural "magic masks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magic mask +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic magic mask." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of disappearance" +msgid_plural "masks of disappearance" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for mask of disappearance +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A mask with no facial features at all, just eye and mouth holes, upon " +"activation it makes everything ignore your presence for a while." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of perfect vision" +msgid_plural "masks of perfect vision" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for mask of perfect vision +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A decidedly steampunk-looking half mask that covers the eye area of the " +"face, it has large lenses that correct and greatly enhance the vision of the" +" wearer." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "copper magic ring" +msgid_plural "copper magic rings" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for copper magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic copper magic ring." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic ring" +msgid_plural "magic rings" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic silver magic ring." +msgstr "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic gold magic ring." +msgstr "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic platinum magic ring." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of blades" +msgid_plural "rings of blades" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of blades +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"An ornate silver ring engraved with daggers that conjures a near perfect " +"throwing knife into your hand on activation." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +1" +msgid_plural "minor rings of strength +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +2" +msgid_plural "rings of strength +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +3" +msgid_plural "rings of strength +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +4" +msgid_plural "rings of strength +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +1" +msgid_plural "rings of dexterity +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +2" +msgid_plural "rings of dexterity +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +3" +msgid_plural "rings of dexterity +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +4" +msgid_plural "rings of dexterity +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +1" +msgid_plural "rings of intelligence +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +2" +msgid_plural "rings of intelligence +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +3" +msgid_plural "rings of intelligence +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you surprisingly more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +4" +msgid_plural "rings of intelligence +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +1" +msgid_plural "rings of perception +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +2" +msgid_plural "rings of perception +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +3" +msgid_plural "rings of perception +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you eye-openingly more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +4" +msgid_plural "rings of perception +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +3" +msgid_plural "rings of speed +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +5" +msgid_plural "rings of speed +5" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +5 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +7" +msgid_plural "rings of speed +7" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +7 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you quite hasty when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +10" +msgid_plural "rings of speed +10" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +10 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +2" +msgid_plural "rings of protection +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that reduces some of the force of damage you take when you " +"wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +4" +msgid_plural "rings of protection +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that appreciably reduces some of the force of damage you take " +"when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +6" +msgid_plural "rings of protection +6" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +6 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that greatly reduces some of the force of damage you take when" +" you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +8" +msgid_plural "rings of protection +8" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +8 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A platinum ring that vastly reduces some of the force of damage you take " +"when you wear it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "washcloth" msgid_plural "washcloths" @@ -69198,9 +72983,9 @@ msgstr[1] "" msgid "" "Harness the power of radiation in your own home! This looks similar to a " "D-cell battery, but actually contains folded layers of radioactive material " -"inside. It can produce electricity for several years at a steady voltage..." -" but it's barely enough to power a small LED, and these batteries were worth" -" hundreds of dollars. Mostly they're a good way to brag to your neighbours " +"inside. It can produce electricity for several years at a steady voltage… " +"but it's barely enough to power a small LED, and these batteries were worth " +"hundreds of dollars. Mostly they're a good way to brag to your neighbors " "that you have a nuclear power source in your house." msgstr "" @@ -69213,13 +72998,13 @@ msgstr[1] "" #. ~ Description for radioisotope thermoelectric generator #: lang/json/TOOL_from_json.py msgid "" -"Did your neighbours brag about their cool beta-decay powered nightlights? " -"Do them one better! The CuppaTech 4 radioisotope thermoelectric generator " -"is a three kilogram chunk of metal - mostly lead - with a slug of curium-244" -" encased within. It is capable of generating somewhere between 100-150 " -"Watts of thermal energy, although its electrical generation capacity is " -"minimal at only 2 Watts. Careful! Curium is great at making heat, and also" -" releases deadly gamma radiation. Keep away from cellular life forms." +"Did your neighbors brag about their cool beta-decay powered nightlights? Do" +" them one better! The CuppaTech 4 radioisotope thermoelectric generator is " +"a three kilogram chunk of metal - mostly lead - with a slug of curium-244 " +"encased within. It is capable of generating somewhere between 100-150 Watts" +" of thermal energy, although its electrical generation capacity is minimal " +"at only 2 Watts. Careful! Curium is great at making heat, and also " +"releases deadly gamma radiation. Keep away from cellular life forms." msgstr "" #: lang/json/TOOL_from_json.py @@ -69333,11 +73118,9 @@ msgstr[1] "látnoki rúd" #. ~ Description for clairvoyance rod #: lang/json/TOOL_from_json.py msgid "" -"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's " -"a bug." +"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's" +" a bug." msgstr "" -"Az aep_clairvoyance_plus flag teszteléséhez használt tárgy. Ha a tárgy " -"véletlenszerűen is megjelenik, akkor az egy bug." #: lang/json/TOOL_from_json.py msgid "boulder anvil" @@ -69444,6 +73227,9 @@ msgid "" "the pin and light the fuse. You will then have five turns before it " "explodes; throwing it would be a good idea." msgstr "" +"Ez egy katonai repeszgránát. Használatkor kihúzod a biztosítótüskét és ezzel" +" beindul a gyutacsa. Ezután a gránát felrobbanásáig öt köröd van. Talán jó " +"ötlet lenne eldobni." #: lang/json/TOOL_from_json.py msgid "active grenade" @@ -69457,7 +73243,7 @@ msgstr[1] "aktív gránát" #: lang/json/TOOL_from_json.py #, no-python-format msgid "You've already pulled the %s's pin; try throwing it instead." -msgstr "" +msgstr "Már kihúztad a(z) %s tüskéjét, próbáld meg inkább eldobni." #. ~ Use action sound_msg for active grenade. #. ~ Use action sound_msg for active makeshift grenade. @@ -69484,13 +73270,13 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "makeshift grenade" msgid_plural "makeshift grenades" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hevenyészett gránát" +msgstr[1] "hevenyészett gránát" #. ~ Use action msg for makeshift grenade. #: lang/json/TOOL_from_json.py msgid "You pull the pin on the makeshift grenade." -msgstr "" +msgstr "Kihúzod a hevenyészett gránát biztosítótüskéjét." #. ~ Description for makeshift grenade #: lang/json/TOOL_from_json.py @@ -69499,12 +73285,15 @@ msgid "" "to pull the pin and light the fuse. You will then have some amount of time " "before it explodes; throwing it would be a good idea." msgstr "" +"Különféle alkatrészekből összetákolt gránát. Használatkor kihúzod a " +"biztosítótüskét és ezzel beindul a gyutacsa. Ezután a gránát felrobbanásáig " +"van egy kis időd. Talán jó ötlet lenne eldobni." #: lang/json/TOOL_from_json.py msgid "active makeshift grenade" msgid_plural "active makeshift grenades" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "aktív hevenyészett gránát" +msgstr[1] "aktív hevenyészett gránát" #: lang/json/TOOL_from_json.py msgid "incendiary grenade" @@ -69519,6 +73308,9 @@ msgid "" " pin and light the fuse. You will then have five turns before it explodes " "into a raging inferno; throwing it would be a good idea." msgstr "" +"Ez egy katonai gyújtógránát. Használatkor kihúzod a biztosítótüskét és ezzel" +" beindul a gyutacsa. Ezután a gránát tomboló lángra lobbanásáig öt köröd " +"van. Talán jó ötlet lenne eldobni." #: lang/json/TOOL_from_json.py msgid "active incendiary grenade" @@ -69555,6 +73347,11 @@ msgid "" "pull the pin and light the fuse, turning it into an active scrambler " "grenade." msgstr "" +"Ez egy sokban módosított EMP gránát, amely a robotok barát-ellenség " +"felismerő chipjeit megzavarja, ahelyett, hogy tönkre tenné őket. " +"Használatával a robot egy rövid ideig a te oldaladra áll át, mielőtt a " +"biztonsági rendszerei újraindulnak. Használatkor kihúzod a biztosítótüskét " +"és ezzel beindul a gyutacsa." #: lang/json/TOOL_from_json.py msgid "active scrambler grenade" @@ -69582,10 +73379,10 @@ msgstr[1] "csőbomba" #. ~ Use action menu_text for fragment bomb. #. ~ Use action menu_text for can bomb. #. ~ Use action menu_text for match head bomb. +#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for dynamite. #. ~ Use action menu_text for fertilizer bomb. #. ~ Use action menu_text for ANFO charge. -#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for black gunpowder charge. #. ~ Use action menu_text for RDX charge. #: lang/json/TOOL_from_json.py @@ -69604,6 +73401,9 @@ msgid "" "to light the fuse, which gives you five turns to get away from it before it " "detonates. You'll need a lighter or some matches to use it." msgstr "" +"Ebbe a csődarabba robbanóanyagot töltöttek. A kanóc meggyújtásához használni" +" kell, majd utána öt kör múlva felrobban. A kanóc meggyújtásához öngyújtó " +"vagy gyufa szükséges." #: lang/json/TOOL_from_json.py msgid "active pipe bomb" @@ -69627,7 +73427,7 @@ msgstr "Már kihúztad a(z) %s kanócát, próbáld meg inkább eldobni." #. ~ Use action sound_msg for match head bomb (lit). #. ~ Use action sound_msg for dynamite (lit). #. ~ Use action sound_msg for fertilizer bomb (lit). -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py src/iuse.cpp +#: lang/json/TOOL_from_json.py msgid "ssss..." msgstr "ssss..." @@ -69656,7 +73456,7 @@ msgstr "Meggyújtod a %s kanócát." #. ~ Description for nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by nails and a fuse. Use this item to light the fuse. You will " "then have five turns before it explodes; throwing it would be a good idea." msgstr "" @@ -69677,20 +73477,20 @@ msgstr "Már meggyújtottad a kanócot, mire vársz még?" #. ~ Description for active nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by nails and a fuse. The fuse has been lit, you should throw it." +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by nails and a fuse. The fuse has been lit, you should throw it." msgstr "" #: lang/json/TOOL_from_json.py msgid "fragment bomb" msgid_plural "fragment bombs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "repeszbomba" +msgstr[1] "repeszbomba" #. ~ Description for fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by small pieces of metal and a fuse. Use this item to light the " "fuse. You will then have five turns before it explodes; throwing it would " "be a good idea." @@ -69699,49 +73499,101 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "active fragment bomb" msgid_plural "active fragment bombs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "aktív repeszbomba" +msgstr[1] "aktív repeszbomba" #. ~ Description for active fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " "should throw it." msgstr "" #: lang/json/TOOL_from_json.py msgid "can bomb" msgid_plural "can bombs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "konzervbomba" +msgstr[1] "konzervbomba" #. ~ Use action msg for can bomb. #: lang/json/TOOL_from_json.py msgid "" "You light the fuse on the can bomb. Throw it before it blows in your face!" msgstr "" +"Meggyújtod a konzervbomba kanócát. Még azelőtt dobd el, hogy lerobbantaná az" +" arcodat!" #. ~ Description for can bomb #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think." msgstr "" #: lang/json/TOOL_from_json.py msgid "active can bomb" msgid_plural "active can bombs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "aktív konzervbomba" +msgstr[1] "aktív konzervbomba" #. ~ Description for active can bomb #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think. The fuse has been lit, you should throw it." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think. The fuse has been lit, you should throw it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "töklámpás" +msgstr[1] "töklámpás" + +#. ~ Use action menu_text for jack o'lantern. +#. ~ Use action menu_text for candle. +#. ~ Use action menu_text for Louisville Slaughterer. +#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: src/veh_interact.cpp +msgid "Light" +msgstr "Meggyújt" + +#. ~ Use action msg for jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "You light the candle in the jack o'lantern." +msgstr "Meggyújtod a töklámpásban a gyertyát." + +#. ~ Description for jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"This is a plastic lantern that is painted to look like a pumpkin with a " +"face. It has a candle inside it, that can be replaced when burnt down. It " +"doesn't provide very much light, but it can burn for quite a long time. " +"You'll need a lighter or matches to light it." +msgstr "" +"Ez egy műanyag töklámpás, amit olyanra festettek, mintha arca lenne. Gyertya" +" van benne, amit leégése után ki lehet cserélni. Nem biztosít sok fényt, de " +"sokáig ég. Meggyújtásához öngyújtóra vagy gyufára lesz szükséged." + +#: lang/json/TOOL_from_json.py +msgid "spooky jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "töklámpás" +msgstr[1] "töklámpás" + +#. ~ Use action msg for spooky jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "The candle winks out inside the lantern." +msgstr "A töklámpásban a gyertya kihúny." + +#. ~ Description for spooky jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"There is a thick LED candle inside the pumpkin face. It doesn't provide " +"very much light, but it can burn for quite a long time. This candle is lit." +" The face shifts." msgstr "" #. ~ Description for battle axe @@ -69852,6 +73704,81 @@ msgstr "" "palackból és egy kanócból áll. A kanócát meggyújtották, sisteregve ég. Talán" " nem kellene sokáig kézben tartani." +#: lang/json/TOOL_from_json.py +msgid "black gunpowder bomb" +msgid_plural "black gunpowder bombs" +msgstr[0] "fekete lőpor bomba" +msgstr[1] "fekete lőpor bomba" + +#. ~ Use action msg for black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "" +"You light the fuse on the black gunpowder bomb. Throw it before it blows in" +" your face!" +msgstr "" +"Meggyújtod a fekete lőpor bomba kanócát. Még azelőtt dobd el, hogy " +"lerobbantaná az arcodat!" + +#. ~ Description for black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a bit of " +"fuse sticking out of it." +msgstr "" +"Ezt a konzervdobozt a pereméig teletöltötték fekete lőporral. Egy apró kanóc" +" áll ki belőle." + +#: lang/json/TOOL_from_json.py +msgid "active black gunpowder bomb" +msgid_plural "active black gunpowder bombs" +msgstr[0] "aktív fekete lőpor bomba" +msgstr[1] "aktív fekete lőpor bomba" + +#. ~ Use action no_deactivate_msg for active black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "You've already lit the fuse - throw it!" +msgstr "Már meggyújtottad a kanócot, most aztán dobd el!" + +#. ~ Use action sound_msg for active black gunpowder bomb. +#. ~ Use action sound_msg for active black gunpowder charge. +#. ~ Use action sound_msg for active RDX charge. +#: lang/json/TOOL_from_json.py +msgid "Kshhh." +msgstr "Khssss." + +#. ~ Description for active black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a lit " +"fuse stuck inside of it." +msgstr "" +"Ezt a konzervdobozt a pereméig teletöltötték fekete lőporral. Egy égő kanóc " +"áll ki belőle." + +#: lang/json/TOOL_from_json.py +msgid "hobo stove (lit)" +msgid_plural "hobo stoves (lit)" +msgstr[0] "hobo kályha (ég)" +msgstr[1] "hobo kályha (ég)" + +#. ~ Use action msg for hobo stove (lit). +#. ~ Use action msg for ember carrier (lit). +#: lang/json/TOOL_from_json.py +msgid "The ember is extinguished." +msgstr "A parázs kialudt." + +#. ~ Description for hobo stove (lit) +#. ~ Description for hobo stove +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small improvised wood stove, made from a metal can or similar " +"container of the right size. Useful for defrosting and reheating food, uses" +" simple tinder." +msgstr "" +"Ez egy apró méretű, rögtönzött, fás tűzhely, amely egy konzervdobozból, vagy" +" valami hasonló tárolóból készült. Főzéshez vagy fagyott étel " +"felolvasztásához használható, egyszerű gyújtóssal működik." + #: lang/json/TOOL_from_json.py msgid "folded poncho" msgid_plural "folded ponchos" @@ -69995,6 +73922,10 @@ msgid "" " is designed to power bionics, armor and some guns, but drains batteries " "quickly." msgstr "" +"Ez egy egységesített tápegység, röviden ET. A készülék közös tudományos és " +"katonai fejlesztés eredménye, harci és terepi körülményekre tervezték. Az " +"ET-t bionikák, szervópáncél és néhány fegyver energiaellátásához tervezték, " +"de nagyon gyorsan lemeríti az elemeket." #: lang/json/TOOL_from_json.py msgid "acid bomb" @@ -70101,27 +74032,27 @@ msgstr "" #: lang/json/TOOL_from_json.py lang/json/furniture_from_json.py msgid "water mill" msgid_plural "water mills" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "vízmalom" +msgstr[1] "vízmalom" #. ~ Description for water mill #: lang/json/TOOL_from_json.py msgid "" -"A small water-powered mill that can convert starchy products into flour. Can" -" be placed via the construction menu." +"A small water-powered mill that can convert starchy products into flour. " +"Can be placed via the construction menu." msgstr "" #: lang/json/TOOL_from_json.py lang/json/furniture_from_json.py msgid "wind mill" msgid_plural "wind mills" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "szélmalom" +msgstr[1] "szélmalom" #. ~ Description for wind mill #: lang/json/TOOL_from_json.py msgid "" -"A small wind-powered mill that can convert starchy products into flour. Can " -"be placed via the construction menu." +"A small wind-powered mill that can convert starchy products into flour. Can" +" be placed via the construction menu." msgstr "" #: lang/json/TOOL_from_json.py @@ -70190,7 +74121,7 @@ msgstr[1] "pengés csapda" #: lang/json/TOOL_from_json.py #, no-python-format msgid "You set the blade trap %d squares away." -msgstr "" +msgstr "A pengés csapdád %d lépéssel arrébb teszed le." #. ~ Description for blade trap #: lang/json/TOOL_from_json.py @@ -70391,14 +74322,14 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "loose glass caltrops" msgid_plural "loose glass caltrops" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "szétszórható üveg lábtövis" +msgstr[1] "szétszórható üveg lábtövis" #. ~ Use action done_message for loose glass caltrops. #: lang/json/TOOL_from_json.py #, no-python-format msgid "You scatter the glass caltrops on the %s." -msgstr "" +msgstr "Az üveg lábtöviseket szétszórod a(z) %s felszínén." #. ~ Description for loose glass caltrops #: lang/json/TOOL_from_json.py @@ -70406,6 +74337,8 @@ msgid "" "These are glass shards glued together to expose their sharp edges. If an " "unsuspecting victim steps on one, they'll get cut." msgstr "" +"Ezek olyan kicsi üvegtárgyak, amelyek számos üvegszilánkból állnak. Ha egy " +"gyanútlan áldozat rálép az egyike, akkor a tövis átszúrja a lábát." #: lang/json/TOOL_from_json.py msgid "camera" @@ -70450,14 +74383,6 @@ msgid_plural "candles" msgstr[0] "gyertya" msgstr[1] "gyertya" -#. ~ Use action menu_text for candle. -#. ~ Use action menu_text for hobo stove. -#. ~ Use action menu_text for Louisville Slaughterer. -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: src/veh_interact.cpp -msgid "Light" -msgstr "Könnyű" - #. ~ Use action msg for candle. #: lang/json/TOOL_from_json.py msgid "You light the candle." @@ -70512,11 +74437,9 @@ msgstr[1] "elektromos hússzeletelő (ki)" #: lang/json/TOOL_from_json.py msgid "" "An electric meat carver powered by batteries. Two serrated blades that " -"vibrate together to slice just about anything from turkey to ham... even " +"vibrate together to slice just about anything from turkey to ham… even " "zombies!" msgstr "" -"Elemes hússzeletelő. Két fogazott vágókés mozog egymás mellett, és szinte " -"mindent elvág, a pulykától kezdve a zombin át a sonkáig." #: lang/json/TOOL_from_json.py msgid "electric carver (on)" @@ -70608,8 +74531,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "smartphone - music" msgid_plural "smartphones - music" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "okostelefon - zene" +msgstr[1] "okostelefon - zene" #. ~ Description for smartphone - music #: lang/json/TOOL_from_json.py @@ -70617,12 +74540,14 @@ msgid "" "This phone is playing music, steadily raising your morale. You can't hear " "anything else while you're listening." msgstr "" +"Az okostelefonról zenét hallgatsz, és ez javítja a kedvedet. A zene miatt " +"semmi mást nem hallasz." #: lang/json/TOOL_from_json.py msgid "smartphone - Flashlight" msgid_plural "smartphones - Flashlight" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "okostelefon - zseblámpa" +msgstr[1] "okostelefon - zseblámpa" #. ~ Use action menu_text for smartphone - Flashlight. #. ~ Use action menu_text for atomic smartphone - Flashlight. @@ -70700,6 +74625,20 @@ msgstr "" "használhatatlanná válik, szét kell szerelni és újrahasznosítani. Az " "ismeretlen forrásból, például folyóból nyert víz tisztátlan lehet." +#: lang/json/TOOL_from_json.py +msgid "lifestraw" +msgid_plural "lifestraws" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lifestraw +#: lang/json/TOOL_from_json.py +msgid "" +"Set the lifestraw in suspect water, let sit for one minute then drink. The " +"two part filtration system will purify the water you drink. Water taken " +"from uncertain sources like a river may be dirty." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "charcoal smoker" msgid_plural "charcoal smokers" @@ -70941,8 +74880,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "crash axe" msgid_plural "crash axes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "mentőbalta" +msgstr[1] "mentőbalta" #. ~ Description for crash axe #: lang/json/TOOL_from_json.py @@ -70951,6 +74890,9 @@ msgid "" "pick opposite the blade and an insulated handle. Used on airplanes to chop " "down or pry walls or cabinets to gain access in case of fire." msgstr "" +"Egy rövid és könnyű vészhelyzeti szerszám negyedkörív formájú pengével, " +"valamint hőszigetelt nyéllel. Repülőgépeken használják tűzoltásnál az " +"elválasztó falak átvágásához, vagy a szekrények lefeszítéséhez." #: lang/json/TOOL_from_json.py lang/json/trap_from_json.py msgid "crossbow trap" @@ -71203,10 +75145,8 @@ msgstr[1] "elektronikus bilincs" #: lang/json/TOOL_from_json.py msgid "" "A pair of electronic handcuffs, used by police and riot bots to detain captives. Their continuous siren clearly identifies the wearer as an arrested criminal and alerts human police. Wait for their arrival, don't try to escape or to remove the cuffs - they will administer an electric shock.\n" -"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative..." +"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative…" msgstr "" -"A rendőrség és a tömegoszlató botok által használt elektronikus bilincs. Az állandó szirénázás egyértelműen letartóztatott bűnözőként azonosítja a viselőjét, és messziről felhívja az emberi rendőrség figyelmét. Várd meg az érkezésüket, és ne próbálj meg elmenekülni vagy leszedni a bilincset - elektromosan sokkol, ha megpróbálod.\n" -"Mivel azonban a kiszálló rendőrség tagjai mind élőhalottak, jó sokáig kell várnod - kivéve, ha nem találsz valamilyen kreatív megoldást." #: lang/json/TOOL_from_json.py msgid "entrenching tool" @@ -71301,6 +75241,9 @@ msgid "" "surfaces. It runs on a cell compatible with UPS. Use it to blast a hole in" " adjacent solid terrain." msgstr "" +"Ezt az építőipari szerszámot kemény szikla és egyéb felületek áttöréséhez " +"használják. ET-kompatibilis akkumulátorral működik. Használatával a " +"szomszédos mezőn üthetsz lyukat." #: lang/json/TOOL_from_json.py msgid "electrohack" @@ -71994,8 +75937,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "claw bar" msgid_plural "claw bars" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "karmos pajszer" +msgstr[1] "karmos pajszer" #. ~ Description for claw bar #: lang/json/TOOL_from_json.py @@ -72004,6 +75947,9 @@ msgid "" "spikes. Use it to open locked doors without destroying them or to lift " "manhole covers. You could also wield it to bash some heads in." msgstr "" +"Ez a kisméretű feszítő szerszám, amelyet főleg nagyobb szögek kihúzására " +"használnak. Zárt ajtót lehet vele roncsolásmentesen nyitni, illetve " +"csatornafedeleket is fel lehet szedni. Meg fejeket lehet vele még bezúzni." #: lang/json/TOOL_from_json.py msgid "hand drill" @@ -72346,13 +76292,13 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "birchbark funnel" msgid_plural "birchbark funnels" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "nyírfakéreg tölcsér" +msgstr[1] "nyírfakéreg tölcsér" #. ~ Use action done_message for birchbark funnel. #: lang/json/TOOL_from_json.py msgid "You place the birchbark funnel, waiting to collect rain." -msgstr "" +msgstr "Elhelyezed a nyírfakéreg tölcsért és várod az esőt." #. ~ Description for birchbark funnel #: lang/json/TOOL_from_json.py @@ -72360,6 +76306,9 @@ msgid "" "This is a small birchbark funnel. Place it above an outdoor container to " "collect rainwater." msgstr "" +"Ez egy esővíz összegyűjtésére használható kisméretű nyírfatölcsér. A szabad " +"ég alatt tegyél alá valamilyen edényt, majd utána aktiváld, hogy így fogd " +"fel az esőt." #: lang/json/TOOL_from_json.py msgid "lighter" @@ -72398,6 +76347,8 @@ msgid "" " It provides some weak light and can't be turned off until the battery " "dies." msgstr "" +"Ezt a fénycsíkot egyenesen az elemekhez forrasztották. Gyengén világít, és " +"többé nem lehet kikapcsolni. Ha kimerül az elem, kialszik." #: lang/json/TOOL_from_json.py msgid "lightstrip (inactive)" @@ -72416,6 +76367,8 @@ msgid "" "This is a light-emitting circuit that can be wired directly to a battery. " "It provides some weak light and can't be turned off until the battery dies." msgstr "" +"Ezt a fénycsíkot egyenesen az elemekhez forrasztották. Gyengén világít, és " +"többé nem lehet kikapcsolni. Ha kimerül az elem, kialszik." #: lang/json/TOOL_from_json.py msgid "magnifying glass" @@ -72564,19 +76517,19 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "tarp raincatcher" msgid_plural "tarp raincatchers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "ponyva esőgyűjtő" +msgstr[1] "ponyva esőgyűjtő" #. ~ Use action done_message for tarp raincatcher. #: lang/json/TOOL_from_json.py msgid "You set up the raincatcher, waiting to collect water." -msgstr "" +msgstr "Elhelyezed az esőgyűjtőt, és várod az esőt." #. ~ Description for tarp raincatcher #: lang/json/TOOL_from_json.py msgid "" "Some sticks and string with a tarpaulin to set up an improvised raincatcher." -msgstr "" +msgstr "Néhány bot, zsinór és egy ponyva hevenyészett esőgyűjtéshez." #: lang/json/TOOL_from_json.py msgid "metallic smoother" @@ -72642,8 +76595,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "misc repair kit" msgid_plural "misc repair kits" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "egyéb javító készlet" +msgstr[1] "egyéb javító készlet" #. ~ Description for misc repair kit #: lang/json/TOOL_from_json.py @@ -72653,6 +76606,10 @@ msgid "" "duty wood cutting, and a patch of soft material for cleaning surfaces. If " "supplied with duct tape, it can be used to repair certain items." msgstr "" +"Ez egy hordozható szerszámkészlet, benne egy apró faragókés a nyersanyagok " +"cserealkatrésszé faragásához, egy fafűrész a nagyobb fadarabok " +"megmunkálásához, valamint egy puha textil a felületek megtisztításához. " +"Szigszalaggal feltöltve egyes tárgyak javítására is alkalmas." #: lang/json/TOOL_from_json.py msgid "plastic mold" @@ -72726,13 +76683,13 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "scrub brush" msgid_plural "scrub brushs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "súrolókefe" +msgstr[1] "súrolókefe" #. ~ Description for scrub brush #: lang/json/TOOL_from_json.py msgid "This is a simple scrub brush." -msgstr "" +msgstr "Egy egyszerű súrolókefe." #: lang/json/TOOL_from_json.py msgid "mortar and pestle" @@ -72764,6 +76721,12 @@ msgid "" "Fortunately, there's lots of songs you like, and listening to it will raise " "your morale slightly. Use it to turn it on." msgstr "" +"Távol-keleti gyártású, elemes zenelejátszó, valaki másnak a " +"zenegyűjteményével. Szerencsére rengeteg zeneszám van rajta, sokat szeretsz " +"is közülük, ezért a zene hallgatása növeli a hangulatod. Bekapcsoláshoz " +"aktiválni kell. A hátán szereplő útmutató szó szerint: \"Csak használja a " +"gyártó által megbízott összekapcsolót, a meghatalmazóson nélküli " +"összekapscoló károsított.\"" #: lang/json/TOOL_from_json.py msgid "mp3 player (on)" @@ -72866,6 +76829,10 @@ msgid "" "unsuitable for anything requiring speed or precision, or involving tougher " "materials like Kevlar." msgstr "" +"Ez a hegyes tű fából készült. Varráshoz a hegyében egy vékony rés található." +" Az alacsony minősége miatt nem alkalmas gyorsan elkészíthető, vagy nagy " +"pontosságot igényelő tárgyakhoz, valamint a keményebb anyagokhoz, például " +"kevlar." #: lang/json/TOOL_from_json.py msgid "noise emitter (off)" @@ -72880,6 +76847,9 @@ msgid "" "electronic device with some amplifier circuits. It has now no other use " "beside emitting loud crackling static noise, that could distract zombies." msgstr "" +"Ez a berendezés egy pár erősítő áramkörrel megspékelt rádió. Bár semmiféle " +"adást sem lehet rajta bevenni, legalább jó hangos recsegő zajt kelt, és " +"könnyebb elterelni a zombik figyelmét." #: lang/json/TOOL_from_json.py msgid "noise emitter (on)" @@ -72894,6 +76864,9 @@ msgid "" "other static sounds. Quick, get away from it before it draws zombies to " "you!" msgstr "" +"A berendezést bekapcsolták, és rettenetesen hangos zizegés, pattogás és " +"statikus zaj áramlik belőle. Gyorsan húzz innen, mielőtt a zombik " +"megjelennek!" #: lang/json/TOOL_from_json.py msgid "lamp oil cooker" @@ -72956,11 +76929,26 @@ msgstr "" "rohamokat és a füst belégzése okozta köhögést, valamint még némi rövidtávú " "energiát is ad." +#: lang/json/TOOL_from_json.py +msgid "oxygen cylinder" +msgid_plural "oxygen cylinders" +msgstr[0] "oxigén tartály" +msgstr[1] "oxigén tartály" + +#. ~ Description for oxygen cylinder +#: lang/json/TOOL_from_json.py +msgid "" +"A large steel cylinder used for storing pressurized gas. It is marked with " +"a faded, but legible O2 symbol." +msgstr "" +"Nyomás alatti gázok tárolására készített nagy acélhenger. A kifakult jelzés " +"szerint O2 van benne." + #: lang/json/TOOL_from_json.py msgid "nitrogen tank" msgid_plural "nitrogen tanks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "nitrogén tartály" +msgstr[1] "nitrogén tartály" #. ~ Description for nitrogen tank #: lang/json/TOOL_from_json.py @@ -72968,12 +76956,14 @@ msgid "" "This is a tank of compressed nitrogen gas. Nitrogen is useful for its lack " "of reactivity. Don't try to breathe it." msgstr "" +"Sürített nitrogént tartalmazó tartály. A nitrogén a vegyi reakciókban a " +"semleges szerepe miatt hasznos. Ne lélegezd be." #: lang/json/TOOL_from_json.py msgid "hydrogen tank" msgid_plural "hydrogen tanks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hidrogén tartály" +msgstr[1] "hidrogén tartály" #. ~ Description for hydrogen tank #: lang/json/TOOL_from_json.py @@ -72981,6 +76971,8 @@ msgid "" "This is a tank of compressed hydrogen gas. If you need to make water from " "scratch, or lift a zeppelin, it could come in handy." msgstr "" +"Sűrített hidrogént tartalmazó tartály. Ha a semmiből kell vizet létrehoznod," +" vagy egy zeppelint szeretnél a levegőbe emelni, akkor még jól jöhet." #: lang/json/TOOL_from_json.py msgid "paint brush" @@ -73041,8 +77033,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "wooden pet carrier" msgid_plural "wooden pet carriers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "fa kisállat-hordozó" +msgstr[1] "fa kisállat-hordozó" #. ~ Description for wooden pet carrier #: lang/json/TOOL_from_json.py @@ -73050,6 +77042,9 @@ msgid "" "A wooden container meant to hold pets for transport. Use it on a suitable " "animal to capture, use it on an empty tile to release." msgstr "" +"Háziállatok szállításához használt fa ketrec. Használd egy megfelelő állaton" +" annak a befogásához, vagy használd egy üres mezőn a betárolt állat " +"elengedéséhez." #: lang/json/TOOL_from_json.py msgid "chicken cage" @@ -73083,6 +77078,10 @@ msgid "" "ignore you for a short period of time. Perhaps they briefly consider you as" " one of them." msgstr "" +"Ez valamiféle undorítóan rotható húsgombóc. Amikor összeszorítod, akkor egy " +"kis feromon-felhő röppen a levegőbe, és a környező zombik egy rövid időre " +"nem veled foglalkoznak. Talán akkor egy rövid ideig a sajátjuknak " +"tekintenek." #: lang/json/TOOL_from_json.py msgid "pickaxe" @@ -73356,34 +77355,36 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "sponge" msgid_plural "sponges" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "szivacs" +msgstr[1] "szivacs" #. ~ Description for sponge #: lang/json/TOOL_from_json.py msgid "" -"A sponge is a tool or cleaning aid made of soft, porous material. Typically " -"used for cleaning impervious surfaces." +"A sponge is a tool or cleaning aid made of soft, porous material. Typically" +" used for cleaning impervious surfaces." msgstr "" #: lang/json/TOOL_from_json.py msgid "washing kit" msgid_plural "washing kits" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "mosókészlet" +msgstr[1] "mosókészlet" #. ~ Description for washing kit #: lang/json/TOOL_from_json.py msgid "" -"A combination kit of a washboard and a sponge. Everything you need to clean" -" items after the apocalypse." +"A combination kit of a washboard and a sponge or rag. Everything you need " +"to clean items after the apocalypse." msgstr "" +"Mosódeszkából, valamint szivacsból vagy rongyból álló készlet. Minden, ami " +"az apokalipszis utáni tárgyak megtisztításához szükséges." #: lang/json/TOOL_from_json.py msgid "reading light" msgid_plural "reading lights" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "olvasólámpa" +msgstr[1] "olvasólámpa" #. ~ Use action msg for reading light. #: lang/json/TOOL_from_json.py @@ -73405,8 +77406,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "reading light (active)" msgid_plural "reading lights (active)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "olvasólámpa (aktív)" +msgstr[1] "olvasólámpa (aktív)" #. ~ Use action msg for reading light (active). #: lang/json/TOOL_from_json.py @@ -73664,8 +77665,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "anesthesia kit" msgid_plural "anesthesia kits" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "altatóorvosi készlet" +msgstr[1] "altatóorvosi készlet" #: lang/json/TOOL_from_json.py msgid "shaving kit" @@ -73977,8 +77978,8 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "autoclave" msgid_plural "autoclaves" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "autókláv" +msgstr[1] "autókláv" #. ~ Description for autoclave #: lang/json/TOOL_from_json.py @@ -73987,6 +77988,9 @@ msgid "" "requires a massive amount of power, so standard batteries will not power it " "sufficiently." msgstr "" +"Ez egy autókláv. Vastag falú edény nagy nyomású és hőmérsékletű " +"sterilizáláshoz, például KBM-ek. Hatalmas energiaigénye miatt normális " +"elemekkel nem működik." #: lang/json/TOOL_from_json.py msgid "survival marker" @@ -74102,6 +78106,10 @@ msgid "" "spools for thread, some small scissors, and an awl. Use a tailor's kit to " "customize your clothing and armor. This uses your tailoring skill." msgstr "" +"Ez egy kiváló minőségű műanyag készlet számos varrótűvel, műanyag " +"cérnatekerccsel, kis ollókkal, és még egy árral is. A szabókészlettel " +"feljavíthatod a ruházatodat és a páncélzatodat. A szabászat készségedet " +"használja." #: lang/json/TOOL_from_json.py msgid "tanning leather hide" @@ -74260,8 +78268,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "small space heater" msgid_plural "small space heaters" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kis radiátor" +msgstr[1] "kis radiátor" #. ~ Use action menu_text for small space heater. #. ~ Use action menu_text for large space heater. @@ -74274,13 +78282,13 @@ msgstr "Bekapcsol" #. ~ Use action msg for large space heater. #: lang/json/TOOL_from_json.py msgid "You turn on the heater." -msgstr "" +msgstr "Bekapcsolod a radiátort." #. ~ Use action need_charges_msg for small space heater. #. ~ Use action need_charges_msg for large space heater. #: lang/json/TOOL_from_json.py msgid "The heater needs more charge." -msgstr "" +msgstr "A radiátorba elem vagy egyéb töltet kell." #. ~ Description for small space heater #. ~ Description for small space heater (on) @@ -74289,24 +78297,26 @@ msgid "" "A portable electric heater that steadily emits warm air. Raises temperature" " about 10 degrees C." msgstr "" +"Hordozható radiátor, amely folyamatosan meleg levegőt ont. A hőmérsékletet " +"nagyjából 10 fokkal növeli." #: lang/json/TOOL_from_json.py msgid "small space heater (on)" msgid_plural "small space heaters (on)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kis radiátor (be)" +msgstr[1] "kis radiátor (be)" #. ~ Use action msg for small space heater (on). #. ~ Use action msg for large space heater (on). #: lang/json/TOOL_from_json.py msgid "You turn off the heater." -msgstr "" +msgstr "Kikapcsolod a radiátort." #: lang/json/TOOL_from_json.py msgid "large space heater" msgid_plural "large space heaters" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "nagy radiátor" +msgstr[1] "nagy radiátor" #. ~ Description for large space heater #. ~ Description for large space heater (on) @@ -74316,12 +78326,15 @@ msgid "" " about 10 degrees C and fills a larger volume of air than the smaller " "version." msgstr "" +"Hordozható radiátor, amely folyamatosan meleg levegőt ont. A hőmérsékletet " +"nagyjából 10 fokkal növeli, és a kisebb változathoz képest sokkal nagyobb " +"teret képes befűteni." #: lang/json/TOOL_from_json.py msgid "large space heater (on)" msgid_plural "large space heaters (on)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "nagy radiátor (be)" +msgstr[1] "nagy radiátor (be)" #: lang/json/TOOL_from_json.py msgid "ANFO charge" @@ -74366,57 +78379,6 @@ msgstr "" "Ez egy ANFO pelletekkel megtöltött nagyméretű fémhordó, begyújtáshoz " "dinamittal. A kanóc már ég - úgyhogy futás!" -#: lang/json/TOOL_from_json.py -msgid "black gunpowder bomb" -msgid_plural "black gunpowder bombs" -msgstr[0] "fekete lőpor bomba" -msgstr[1] "fekete lőpor bomba" - -#. ~ Use action msg for black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "" -"You light the fuse on the black gunpowder bomb. Throw it before it blows in" -" your face!" -msgstr "" -"Meggyújtod a fekete lőpor bomba kanócát. Még azelőtt dobd el, hogy " -"lerobbantaná az arcodat!" - -#. ~ Description for black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a bit of " -"fuse sticking out of it." -msgstr "" -"Ezt a konzervdobozt a pereméig teletöltötték fekete lőporral. Egy apró kanóc" -" áll ki belőle." - -#: lang/json/TOOL_from_json.py -msgid "active black gunpowder bomb" -msgid_plural "active black gunpowder bombs" -msgstr[0] "aktív fekete lőpor bomba" -msgstr[1] "aktív fekete lőpor bomba" - -#. ~ Use action no_deactivate_msg for active black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "You've already lit the fuse - throw it!" -msgstr "Már meggyújtottad a kanócot, most aztán dobd el!" - -#. ~ Use action sound_msg for active black gunpowder bomb. -#. ~ Use action sound_msg for active black gunpowder charge. -#. ~ Use action sound_msg for active RDX charge. -#: lang/json/TOOL_from_json.py -msgid "Kshhh." -msgstr "Khssss." - -#. ~ Description for active black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a lit " -"fuse stuck inside of it." -msgstr "" -"Ezt a konzervdobozt a pereméig teletöltötték fekete lőporral. Egy égő kanóc " -"áll ki belőle." - #: lang/json/TOOL_from_json.py msgid "black gunpowder charge" msgid_plural "black gunpowder charges" @@ -74434,11 +78396,8 @@ msgstr "Meggyújtod a fekete lőpor töltet kanócát. Gyorsan szabadulj meg tő msgid "" "This is a home-made explosive device, consisting of a large plastic jug " "filled with black gunpowder and scrap metal, equipped with a long fuse. Use" -" this item to light the fuse. Should explode in a few minutes..." +" this item to light the fuse. Should explode in a few minutes…" msgstr "" -"Ez egy házi készítésű robbanószer, amely egy lőporral és fémhulladékkal " -"megtöltött műanyag palackból, és egy hosszú kanócból áll. A kanóc " -"meggyújtásához használni kell. Egy pár perc múlva robban." #: lang/json/TOOL_from_json.py msgid "active black gunpowder charge" @@ -74574,15 +78533,15 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "extended toolset" msgid_plural "extended toolsets" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kiterjesztett eszköztár" +msgstr[1] "kiterjesztett eszköztár" #. ~ Description for extended toolset #: lang/json/TOOL_from_json.py msgid "" "Your toolset, protruding from your hands. It can slice, dice, and make " "everything nice." -msgstr "" +msgstr "A kezeidből kiálló szerszámokkal rengeteg mindent tudsz elvégezni." #: lang/json/TOOL_from_json.py msgid "torch" @@ -74591,11 +78550,13 @@ msgstr[0] "fáklya" msgstr[1] "fáklya" #. ~ Use action menu_text for torch. +#. ~ Use action menu_text for everburning torch. #: lang/json/TOOL_from_json.py msgid "Light torch" msgstr "Fáklya meggyújtása" #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "You light the torch." msgstr "Meggyújtod a fáklyát." @@ -74612,9 +78573,10 @@ msgstr "" "szükséged." #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "The torch is extinguished." -msgstr "" +msgstr "A fáklya kialudt." #. ~ Description for torch #: lang/json/TOOL_from_json.py @@ -74722,8 +78684,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "hand-crank charger" msgid_plural "hand-crank chargers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kurblis elemtöltő" +msgstr[1] "kurblis elemtöltő" #. ~ Description for hand-crank charger #: lang/json/TOOL_from_json.py @@ -74731,6 +78693,8 @@ msgid "" "This is a hand-powered battery charger. It has an adjustable receptacle " "designed to accept a wide variety of rechargeable battery cells." msgstr "" +"Ez egy kézi kurblis elemtöltő. Az állítható kialakításának köszönhetően " +"számos méretű újratölthető elem befogadására képes." #: lang/json/TOOL_from_json.py msgid "vibrator" @@ -74847,8 +78811,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "arc welder" msgid_plural "arc welders" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "ívhegesztő" +msgstr[1] "ívhegesztő" #. ~ Description for arc welder #: lang/json/TOOL_from_json.py @@ -74856,12 +78820,14 @@ msgid "" "This is a battery powered tool for welding metal pieces together using an " "electric arc. It is an indispensable tool for construction or repair." msgstr "" +"Ez egy elemes szerszám fémdarabok egymáshoz való ívhegesztéséhez. Építéshez " +"vagy szereléshez elengedhetetlen." #: lang/json/TOOL_from_json.py msgid "makeshift arc welder" msgid_plural "makeshift arc welders" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "hevenyészett ívhegesztő" +msgstr[1] "hevenyészett ívhegesztő" #. ~ Description for makeshift arc welder #: lang/json/TOOL_from_json.py @@ -74871,6 +78837,10 @@ msgid "" "safety. While it's not as efficient as a factory welder, it will serve in a" " pinch." msgstr "" +"Ezt a hevenyészett ívhegesztőt rézdrótból, transzformátorokból, egy " +"hevenyészett pákatartóból, és a munkavédelmi előírások teljes figyelmen " +"kívül hagyásával készítették. Bár nem annyira hatékony, mint egy gyári " +"hegesztő, jobb híján megteszi." #: lang/json/TOOL_from_json.py msgid "wooden smoother" @@ -75033,47 +79003,6 @@ msgid_plural "hobo stoves" msgstr[0] "hobo kályha" msgstr[1] "hobo kályha" -#. ~ Use action msg for hobo stove. -#: lang/json/TOOL_from_json.py -msgid "The hobo stove is lit." -msgstr "" - -#. ~ Use action need_fire_msg for hobo stove. -#: lang/json/TOOL_from_json.py src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -msgid "You need a source of fire!" -msgstr "" - -#. ~ Description for hobo stove -#. ~ Description for hobo stove (lit) -#: lang/json/TOOL_from_json.py -msgid "" -"This is a small improvised wood stove, made from a metal can or similar " -"container of the right size. Useful for defrosting and reheating food, uses" -" simple tinder." -msgstr "" - -#: lang/json/TOOL_from_json.py -msgid "hobo stove (lit)" -msgid_plural "hobo stoves (lit)" -msgstr[0] "hobo kályha (ég)" -msgstr[1] "hobo kályha (ég)" - -#. ~ Use action menu_text for hobo stove (lit). -#: lang/json/TOOL_from_json.py -msgid "Heat up food" -msgstr "Étel melegítése" - -#. ~ Use action msg for hobo stove (lit). -#: lang/json/TOOL_from_json.py src/iuse.cpp -msgid "You heat up the food." -msgstr "" - -#. ~ Use action msg for hobo stove (lit). -#. ~ Use action msg for ember carrier (lit). -#: lang/json/TOOL_from_json.py -msgid "The ember is extinguished." -msgstr "A parázs kialudt." - #: lang/json/TOOL_from_json.py msgid "ember carrier" msgid_plural "ember carriers" @@ -75085,6 +79014,11 @@ msgstr[1] "parázshordó" msgid "You light the tinder." msgstr "Meggyújtod a gyújtóst." +#. ~ Use action need_charges_msg for ember carrier. +#: lang/json/TOOL_from_json.py +msgid "The ember carrier is out of tinder." +msgstr "" + #. ~ Use action need_fire_msg for ember carrier. #: lang/json/TOOL_from_json.py msgid "You need a lighter or fire to light this." @@ -75121,30 +79055,34 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "pallet of wet adobe bricks" msgid_plural "pallets of wet adobe bricks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "nedves vályogtégla rakás" +msgstr[1] "nedves vályogtégla rakás" #. ~ Use action msg for pallet of wet adobe bricks. #: lang/json/TOOL_from_json.py msgid "You test the bricks, and they're solid enough to use." msgstr "" +"Megnyomogatod a téglákat, és már elég kemények ahhoz, hogy használni " +"lehessen." #. ~ Use action not_ready_msg for pallet of wet adobe bricks. #: lang/json/TOOL_from_json.py msgid "The bricks are still too damp to bear weight." -msgstr "" +msgstr "A téglák még túl nedvesek ahhoz, hogy terhelhetők legyenek." #. ~ Description for pallet of wet adobe bricks #: lang/json/TOOL_from_json.py msgid "" "A pallet full of heavy mud bricks which need to dry slowly to be usable." msgstr "" +"Egy rakásnyi nehéz sárból készült tégla, amelyeknek lassan kell kiszáradniuk" +" ahhoz, hogy használhatók legyenek." #: lang/json/TOOL_from_json.py msgid "pallet of dry adobe bricks" msgid_plural "pallets of dry adobe bricks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "száraz vályogtégla rakás" +msgstr[1] "száraz vályogtégla rakás" #. ~ Description for pallet of dry adobe bricks #: lang/json/TOOL_from_json.py @@ -75153,6 +79091,9 @@ msgid "" " risking your life. Disassemble it to retrieve your frame and building " "supplies." msgstr "" +"Egy rakásnyi sártégla, amely egy hete szárad, miközben te az életedet tetted" +" kockára. Szereld szét, és visszanyered a keretet, valamint az " +"építőanyagokat." #: lang/json/TOOL_from_json.py msgid "bronze anvil" @@ -75172,8 +79113,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "stone hand axe" msgid_plural "stone hand axes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kézi kőbalta" +msgstr[1] "kézi kőbalta" #. ~ Description for stone hand axe #: lang/json/TOOL_from_json.py @@ -75187,8 +79128,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "metal hand axe" msgid_plural "metal hand axes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kézi fémbalta" +msgstr[1] "kézi fémbalta" #. ~ Description for metal hand axe #: lang/json/TOOL_from_json.py @@ -75197,6 +79138,9 @@ msgid "" " a cutting edge. It works passably well as an axe but really can't compare " "to a proper axe." msgstr "" +"Ez egy acéldarab, amelynek az egyik szélét vágóélre hasonlító formára " +"kalapálták. Baltának nem rossz, de egy igazi baltával azért nem veszi fel a " +"versenyt." #: lang/json/TOOL_from_json.py msgid "pin reamer" @@ -75214,8 +79158,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "metal fileset" msgid_plural "metal filesets" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "fémreszelő készlet" +msgstr[1] "fémreszelő készlet" #. ~ Description for metal fileset #: lang/json/TOOL_from_json.py @@ -75223,12 +79167,14 @@ msgid "" "These tools are commonly used to remove small amounts of materials from the " "surface of metal objects." msgstr "" +"Ezekkel a szerszámokkal főleg a fémtárgyak felszínéről távolítanak el kisebb" +" mennyiségű anyagot." #: lang/json/TOOL_from_json.py msgid "angular grinder" msgid_plural "angular grinders" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "flex" +msgstr[1] "flex" #. ~ Description for angular grinder #: lang/json/TOOL_from_json.py @@ -75236,47 +79182,50 @@ msgid "" "This widespread powertool is often used for removing excess material or " "polishing surfaces." msgstr "" +"Ezt a gyakran használt szerszámot főleg felesleges anyagok eltávolítására, " +"valamint a felszín simítására szokták alkalmazni." #: lang/json/TOOL_from_json.py msgid "hand vice" msgid_plural "hand vices" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "kézi satu" +msgstr[1] "kézi satu" #. ~ Description for hand vice #: lang/json/TOOL_from_json.py msgid "This small handheld metal vice is useful for keeping things still." -msgstr "" +msgstr "Ez a kisméretű fémsatu a tárgyak egy helyben tartására használható." #: lang/json/TOOL_from_json.py msgid "grip hook" msgid_plural "grip hooks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "rakodóhorog" +msgstr[1] "rakodóhorog" #. ~ Description for grip hook #: lang/json/TOOL_from_json.py msgid "" -"A simple steel meathook with a circular steel handle. Makes a passable melee" -" weapon." +"A simple steel meathook with a circular steel handle. Makes a passable " +"melee weapon." msgstr "" #: lang/json/TOOL_from_json.py msgid "bathroom scale" msgid_plural "bathroom scales" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "fürdőszobai mérleg" +msgstr[1] "fürdőszobai mérleg" #. ~ Description for bathroom scale #: lang/json/TOOL_from_json.py msgid "This is a small bathroom scale, meant to weigh a person while naked." msgstr "" +"Ez egy kisméretű fürdőszobai mérleg, ruhátlan testsúlyméréshez használják." #: lang/json/TOOL_from_json.py msgid "acetylene-gas machine" msgid_plural "acetylene-gas machines" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "acetilén gázgép" +msgstr[1] "acetilén gázgép" #. ~ Description for acetylene-gas machine #: lang/json/TOOL_from_json.py @@ -75284,6 +79233,8 @@ msgid "" "This bulky device takes water and calcium carbide and yields unpressurised " "acetylene." msgstr "" +"Ez a méretes berendezés vízből és kalcium-karbidból állít elő légköri " +"nyomású acetilén gázt." #: lang/json/TOOL_from_json.py lang/json/vehicle_part_from_json.py msgid "military black box" @@ -75493,8 +79444,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive M2HB autonomous CROWS II" msgid_plural "inactive M2HB autonomous CROWS IIs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "inaktív M2HB autonóm CROWS II" +msgstr[1] "inaktív M2HB autonóm CROWS II" #. ~ Description for inactive M2HB autonomous CROWS II #: lang/json/TOOL_from_json.py @@ -75506,6 +79457,12 @@ msgid "" "attach itself. If programmed successfully the turret will then identify you" " as a friendly, and attack all enemies with its M2HB." msgstr "" +"Ez egy inaktív lövegtorony. Használatával bele tározod a nálad található " +"összes .50 BMG lőszert (ezért amit nem akarsz betárazni, azt előtte rakd " +"félre). A betárazás után bekapcsolod és a talajra helyezed, ahova rögzíti " +"magát. Sikeres átprogramozást és átkábelezést követően a lövegtorony téged " +"barátként fog azonosítani, a beépített M2HB-vel pedig az ellenségeidet veszi" +" tűz alá." #: lang/json/TOOL_from_json.py msgid "inactive manhack" @@ -75573,8 +79530,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive autonomous M249 CROWS II" msgid_plural "inactive autonomous M249 CROWS IIs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "inaktív M249 autonóm CROWS II" +msgstr[1] "inaktív M249 autonóm CROWS II" #. ~ Description for inactive autonomous M249 CROWS II #: lang/json/TOOL_from_json.py @@ -75586,12 +79543,18 @@ msgid "" "attach itself. If programmed successfully the turret will then identify you" " as a friendly, and attack all enemies with its M249." msgstr "" +"Ez egy inaktív lövegtorony. Használatával bele tározod a nálad található " +"összes 5,56x45mm lőszert (ezért amit nem akarsz betárazni, azt előtte rakd " +"félre). A betárazás után bekapcsolod és a talajra helyezed, ahova rögzíti " +"magát. Sikeres átprogramozást és átkábelezést követően a lövegtorony téged " +"barátként fog azonosítani, a beépített M249-cel pedig az ellenségeidet veszi" +" tűz alá." #: lang/json/TOOL_from_json.py msgid "inactive autonomous M240 CROWS II" msgid_plural "inactive autonomous M240 CROWS IIs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "inaktív M240 autonóm CROWS II" +msgstr[1] "inaktív M240 autonóm CROWS II" #. ~ Description for inactive autonomous M240 CROWS II #: lang/json/TOOL_from_json.py @@ -75603,6 +79566,12 @@ msgid "" "attach itself. If programmed successfully the turret will then identify you" " as a friendly, and attack all enemies with its M240." msgstr "" +"Ez egy inaktív lövegtorony. Használatával bele tározod a nálad található " +"összes 7,62x51mm lőszert (ezért amit nem akarsz betárazni, azt előtte rakd " +"félre). A betárazás után bekapcsolod és a talajra helyezed, ahova rögzíti " +"magát. Sikeres átprogramozást és átkábelezést követően a lövegtorony téged " +"barátként fog azonosítani, a beépített M240-nel pedig az ellenségeidet veszi" +" tűz alá." #: lang/json/TOOL_from_json.py msgid "inactive turret" @@ -75620,29 +79589,38 @@ msgid "" "rewired successfully the turret will then identify you as a friendly, and " "attack all enemies with its SMG." msgstr "" +"Ez egy inaktív lövegtorony. Használatával bele tározod a nálad található " +"összes 9x19mm-es lőszert (ezért amit nem akarsz betárazni, azt előtte rakd " +"félre). A betárazás után bekapcsolod és a talajra helyezed. Sikeres " +"átprogramozást és átkábelezést követően a lövegtorony téged barátként fog " +"azonosítani, a géppisztolyával pedig az ellenségeidet veszi tűz alá." #: lang/json/TOOL_from_json.py msgid "inactive TALON UGV" msgid_plural "inactive TALON UGVs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "inaktív TALON UGV" +msgstr[1] "inaktív TALON UGV" #. ~ Use action friendly_msg for inactive TALON UGV. #. ~ Use action friendly_msg for inactive M202A1 TALON UGV. #: lang/json/TOOL_from_json.py msgid "The security bot beeps affirmatively and begins scanning for hostiles." msgstr "" +"A biztonsági robot helyeslően csippan egyet, és elkezdi az ellenség " +"felderítési pásztázást." #. ~ Use action hostile_msg for inactive TALON UGV. #. ~ Use action hostile_msg for inactive M202A1 TALON UGV. #: lang/json/TOOL_from_json.py msgid "You misprogram the security bot and it trains its gun on you. RUN!" msgstr "" +"Elszúrod a biztonsági bot programozását, és a fegyvereit felét fordítja. " +"FUTÁS!" #. ~ Description for inactive TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M16A4. Using this item " +"This is an inactive TALON UGV equipped with an M16A4. Using this item " "involves loading the unit with the factory-loaded 5.56x45mm rounds in your " "inventory (if you wish to divide your ammunition, set aside whatever " "5.56x45mm you do NOT want to give the robot) turning it on, and placing it " @@ -75654,13 +79632,13 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive M202A1 TALON UGV" msgid_plural "inactive M202A1 TALON UGVs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "inaktív M202A1 TALON UGV" +msgstr[1] "inaktív M202A1 TALON UGV" #. ~ Description for inactive M202A1 TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M202A1. Using this item " +"This is an inactive TALON UGV equipped with an M202A1. Using this item " "involves loading the unit with the M235 rockets in your inventory (if you " "wish to divide your ammunition, set aside whatever M235 rockets you do NOT " "want to give the robot) turning it on, and placing it on the ground. If " @@ -75672,18 +79650,18 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive nurse bot" msgid_plural "inactive nurse bots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "inkatív ápolóbot" +msgstr[1] "inkatív ápolóbot" #. ~ Use action friendly_msg for inactive nurse bot. #: lang/json/TOOL_from_json.py msgid "The nurse bot beeps affirmatively and awaits orders." -msgstr "" +msgstr "Az ápolóbot helyeslően csippan egyet, és parancsra vár." #. ~ Use action hostile_msg for inactive nurse bot. #: lang/json/TOOL_from_json.py msgid "You misprogram the nurse bot. It's looking at you funny." -msgstr "" +msgstr "Elszúrod az ápolóbot programozását. Furcsán néz rád." #. ~ Description for inactive nurse bot #: lang/json/TOOL_from_json.py @@ -75693,24 +79671,27 @@ msgid "" "successfully the nurse bot will then identify you as a friendly, roam around" " or follow you, and assist you in surgeries." msgstr "" +"Ez egy inaktív ápolóbot. Használatával a földre helyezed és bekapcsolod. " +"Sikeres átprogramozást és átkábelezést követően az ápolóbot téged barátként " +"fog azonosítani, követni fog, és segíteni fog a műtéteknél." #: lang/json/TOOL_from_json.py msgid "inactive grocery bot" msgid_plural "inactive grocery bots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "inaktív bevásárlóbot" +msgstr[1] "inaktív bevásárlóbot" #. ~ Use action friendly_msg for inactive grocery bot. #. ~ Use action friendly_msg for inactive busted grocery bot. #: lang/json/TOOL_from_json.py msgid "The grocery bot beeps affirmatively and awaits orders." -msgstr "" +msgstr "A bevásárlóbot helyeslően csippan egyet, és parancsra vár." #. ~ Use action hostile_msg for inactive grocery bot. #. ~ Use action hostile_msg for inactive busted grocery bot. #: lang/json/TOOL_from_json.py msgid "You misprogram the grocery bot. It's looking at you funny." -msgstr "" +msgstr "Elszúrod az bevásárlóbot programozását. Furcsán néz rád." #. ~ Description for inactive grocery bot #. ~ Description for inactive busted grocery bot @@ -75721,18 +79702,21 @@ msgid "" "successfully the grocery bot will then identify you as a friendly, roam " "around or follow you." msgstr "" +"Ez egy inaktív bevásárlóbot. Használatával a földre helyezed és bekapcsolod." +" Sikeres átprogramozást és átkábelezést követően az ápolóbot téged barátként" +" fog azonosítani és követni fog." #: lang/json/TOOL_from_json.py msgid "inactive busted grocery bot" msgid_plural "inactive busted grocery bots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "inaktív elromlott bevásárlóbot" +msgstr[1] "inaktív elromlott bevásárlóbot" #: lang/json/TOOL_from_json.py msgid "inactive broken cyborg" msgid_plural "inactive broken cyborgs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "inaktív elromlott kiborg" +msgstr[1] "inaktív elromlott kiborg" #. ~ Use action friendly_msg for inactive broken cyborg. #: lang/json/TOOL_from_json.py @@ -75740,19 +79724,21 @@ msgid "" "The broken cyborg rises to the sound of screeching metal and peers around " "for hostiles." msgstr "" +"Az elromlott kiborg fémes csikorgással talpra áll, és ellenséget keresve " +"körbenéz." #. ~ Use action hostile_msg for inactive broken cyborg. #: lang/json/TOOL_from_json.py msgid "The broken cyborg lets out a howl of agony and attacks you!" -msgstr "" +msgstr "Az elromlott kiborg felüvölt a fájdalomról, és rád támad!" #. ~ Description for inactive broken cyborg #: lang/json/TOOL_from_json.py msgid "" "This is a deactivated broken cyborg, the last shreds of its humanity still " -"rotting away. Using this item involves placing it on the ground and " +"rotting away. Using this item involves placing it on the ground and " "reactivating its mechanical body. If reprogrammed and rewired successfully " -"the cyborg will then follow you and attack enemies. You monster." +"the cyborg will then follow you and attack enemies. You monster." msgstr "" #: lang/json/TOOL_from_json.py @@ -75804,7 +79790,7 @@ msgstr "" #. ~ Description for inactive chicken walker #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive chicken walker. Using this item involves placing it on " +"This is an inactive chicken walker. Using this item involves placing it on " "the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm " "cartridge grenades in your inventory (if you wish to divide your ammunition," " set aside whatever ammunition you do NOT want to give the robot) and " @@ -75833,8 +79819,8 @@ msgstr "" #. ~ Description for inactive police bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive police robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive police robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "police bot will then identify you as law enforcement, roam around or follow " "you, and attempt to detain lawbreakers." msgstr "" @@ -75860,7 +79846,7 @@ msgstr "" #. ~ Description for inactive eyebot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive eyebot. Using this item involves turning it on and " +"This is an inactive eyebot. Using this item involves turning it on and " "launching the UAV. If reprogrammed and rewired successfully the eyebot will" " then keep watch for intruders." msgstr "" @@ -75884,8 +79870,8 @@ msgstr "" #. ~ Description for inactive cleaner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive cleaner bot. Using this item involves placing it on the " -"ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive cleaner bot. Using this item involves placing it on the" +" ground and turning it on. If reprogrammed and rewired successfully the " "cleaner bot will respond to future commands." msgstr "" @@ -75908,8 +79894,8 @@ msgstr "" #. ~ Description for inactive miner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive mining robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive mining robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "miner bot will respond to future commands." msgstr "" @@ -75933,9 +79919,9 @@ msgstr "" #. ~ Description for inactive riot control bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive riot control bot. Using this item involves placing it on" -" the ground and turning it on. If reprogrammed and rewired successfully the" -" robot will bring order and peace to the horde." +"This is an inactive riot control bot. Using this item involves placing it " +"on the ground and turning it on. If reprogrammed and rewired successfully " +"the robot will bring order and peace to the horde." msgstr "" #: lang/json/TOOL_from_json.py @@ -75957,7 +79943,7 @@ msgstr "" #. ~ Description for inactive skitterbot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive skitterbot. Using this item involves placing it on the " +"This is an inactive skitterbot. Using this item involves placing it on the " "ground and turning it on. If reprogrammed and rewired successfully the " "robot will race towards enemies and shock them." msgstr "" @@ -76011,7 +79997,7 @@ msgstr "" #. ~ Description for inactive tank drone #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " +"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " "it on the ground, loading the unit with the factory-loaded 5.56 rounds and " "40mm cartridge grenades in your inventory (if you wish to divide your " "ammunition, set aside whatever ammunition you do NOT want to give the robot)" @@ -76041,8 +80027,8 @@ msgstr "" #. ~ Description for inactive tripod #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Honda Regnal. Using this item involves placing it on the" -" ground, wondering how it fuels its flamethrower and turning it on. If " +"This is an inactive Honda Regnal. Using this item involves placing it on " +"the ground, wondering how it fuels its flamethrower and turning it on. If " "reprogrammed and rewired successfully the tribot will then identify you as " "an ally, roam around or follow you, and impale hostiles with its spiked " "cable weapons." @@ -76068,10 +80054,10 @@ msgstr "" #. ~ Description for inactive milspec searchlight #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive military-grade automated searchlight. Using this item " +"This is an inactive military-grade automated searchlight. Using this item " "involves placing it on the ground and turning it on. If reprogrammed and " "rewired successfully the searchlight will then identify you as an ally, " -"survey the area, and illuminate approaching hostiles. Seems to have an " +"survey the area, and illuminate approaching hostiles. Seems to have an " "unhealthy fascination with you." msgstr "" @@ -76430,7 +80416,7 @@ msgstr[1] "" msgid "" "This farming tool has been modified into an improvised weapon by rotating " "its blade 90 degrees, transforming it into a deadly giant blade on the end " -"of a stick. However it's quite fragile." +"of a stick. However it's quite fragile." msgstr "" #: lang/json/TOOL_from_json.py @@ -76534,6 +80520,21 @@ msgstr "" "Ez egy katonai harci kés. Könnyű és nagyon éles, halálos akár kézből, akár " "bajonettként felcsatolva." +#: lang/json/TOOL_from_json.py +msgid "modified combat knife" +msgid_plural "modified combat knives" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for modified combat knife +#: lang/json/TOOL_from_json.py +msgid "" +"This is a military combat knife. It is light and extremely sharp, and could" +" be deadly in either the right hands or when attached as a bayonet. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hunting knife" msgid_plural "hunting knives" @@ -76920,6 +80921,21 @@ msgstr "" "A kard bajonett egy olyan nagyméretű vágó penge, amelyet egy lőfegyver vagy " "számszeríj elejére lehet csatolni, és így a fegyver pikaként is használható." +#: lang/json/TOOL_from_json.py +msgid "modified sword bayonet" +msgid_plural "modified sword bayonets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for modified sword bayonet +#: lang/json/TOOL_from_json.py +msgid "" +"A sword bayonet is a large slashing weapon that can be attached to the front" +" of a firearm or crossbow converting it into a pike. This one was modified " +"and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" + #. ~ Description for tanto #: lang/json/TOOL_from_json.py msgid "" @@ -77028,6 +81044,57 @@ msgstr "" "Ez egy hatalmas, görbe, kétkezes japán kard. Méretéhez képest egészen " "könnyű." +#: lang/json/TOOL_from_json.py +msgid "electrified foil" +msgid_plural "electrified foils" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for electrified foil +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing foil may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "electrified épée" +msgid_plural "electrified épées" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for electrified épée +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing épée may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "electrified saber" +msgid_plural "electrified sabers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for electrified saber +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing saber may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired to the tip along the saber's groove. Thrusting the " +"sharpened tip into a foe and activating the momentary switch will deliver a " +"painful electric shock." +msgstr "" + #. ~ Description for broadsword #: lang/json/TOOL_from_json.py msgid "" @@ -77430,6 +81497,34 @@ msgstr "" "Ez egy darab műanyag. Használatával műanyagból készül tárgyakat lehet " "elkészíteni, javítani vagy megerősíteni. Mert ez műanyag!" +#: lang/json/TOOL_from_json.py +msgid "synthetic fabric" +msgid_plural "synthetic fabrics" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for synthetic fabric +#: lang/json/TOOL_from_json.py +msgid "" +"This is small bolt of synthetic fabric. Unlike you and other natural " +"materials, it won't degrade much with age. Maybe that's less of a bad thing" +" now." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "lycra patch" +msgid_plural "lycra patches" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lycra patch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small bolt of a synthetic fabric blended with stretchy lycra " +"fibers. It could be used to make flexible yet strong clothing. Stylish, " +"but bad for the environment; at least you're recycling it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hexamine stove" msgid_plural "hexamine stoves" @@ -77942,12 +82037,8 @@ msgstr[1] "adóvevő" #: lang/json/TOOL_from_json.py msgid "" "This is a radio with a transmitting unit. You could use it to contact " -"someone who also has one. Unfortunately no one seems to use those " -"nowadays..." +"someone who also has one. Unfortunately no one seems to use those nowadays…" msgstr "" -"Ez egy adóval felszerelt rádió. Használatával fel lehet venni a kapcsolatot" -" valaki mással, akinek ugyanilyen rádiója van. Sajnos manapság ilyet már " -"senki sem használ..." #: lang/json/TOOL_from_json.py msgid "remote vehicle controller" @@ -78142,7 +82233,7 @@ msgstr[1] "" #. ~ Description for microscope #: lang/json/TOOL_from_json.py msgid "" -"A classic tool for the ages! This hefty, durable piece of lab equipment " +"A classic tool for the ages! This hefty, durable piece of lab equipment " "makes small things look bigger. Without electricity the light doesn't work," " but the rest of it is surprisingly functional. Unfortunately it's not " "useful for very much at the moment." @@ -78343,7 +82434,7 @@ msgstr[1] "vastag kábel" msgid "" "A long, thick, heavy-duty cable with power leads on either end. It looks " "like you could use it to hook up two vehicles to each other, though you " -"expect the power loss would be noticeable. Can also link other electrical " +"expect the power loss would be noticeable. Can also link other electrical " "systems." msgstr "" @@ -78741,15 +82832,119 @@ msgstr "" "Úgy néz ki, mint egy valamilyen Genetic Lifeform and Disk Operating System, " "amit egy krumplihoz csatoltak." +#: lang/json/TOOL_from_json.py +msgid "heat cube" +msgid_plural "heat cubes" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for heat cube. +#: lang/json/TOOL_from_json.py +msgid "Activate torch mode" +msgstr "" + +#. ~ Use action msg for heat cube. +#: lang/json/TOOL_from_json.py +msgid "" +"You push the torch button and the cube emits a large flame from the top, one" +" that does radiate heat, but won't burn anything." +msgstr "" + +#. ~ Description for heat cube +#: lang/json/TOOL_from_json.py +msgid "" +"A smooth steel cube the size of your fist. Several buttons on the sides " +"activate the powers of the cube." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "heat cube (torch on)" +msgid_plural "heat cubes (torch on)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for heat cube (torch on). +#: lang/json/TOOL_from_json.py +msgid "The torch flame is extinguished." +msgstr "" + +#. ~ Description for heat cube (torch on) +#: lang/json/TOOL_from_json.py +msgid "" +"The heat cube in the torch configuration, where it emits warmth and a bright" +" flame that does not burn." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "skeleton key of opening" +msgid_plural "skeleton key of opening" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for skeleton key of opening +#: lang/json/TOOL_from_json.py +msgid "" +"A small gold skeleton key. You can activate it to unlock locked things." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "everburning torch" +msgid_plural "everburning torches" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for everburning torch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality engraved wooden torch. On command, the tip bursts " +"into flame and produces a fair amount of light. It will burn forever." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "enchanted tailor's kit" +msgid_plural "enchanted tailor's kits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for enchanted tailor's kit +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality, engraved steel kit with a variety of needles, some " +"plastic spools for thread, some small scissors, even a small heating element" +" for melting and joining plastic. Use a tailor's kit to customize your " +"clothing and armor. This uses your tailoring skill. It also contains one " +"of those magic spiders that constantly, if slowly, makes new thread." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "spider box" +msgid_plural "spider boxes" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for spider box +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small glass box that contains a spider that diligently works day " +"and night to produce silk thread that it stores in a reservoir you can open " +"and retrieve it from." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "Magic Wand" msgid_plural "Magic Wands" msgstr[0] "" msgstr[1] "" +#: lang/json/TOOL_from_json.py +msgid "Disposable Wand" +msgid_plural "Disposable Wands" +msgstr[0] "" +msgstr[1] "" + #: lang/json/TOOL_from_json.py msgid "minor wand of magic missile" -msgid_plural "minor wand of magic missiles" +msgid_plural "minor wands of magic missile" msgstr[0] "" msgstr[1] "" @@ -78764,19 +82959,19 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of magic missile" -msgid_plural "lesser wand of magic missiles" +msgid_plural "lesser wands of magic missile" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of magic missile" -msgid_plural "greater wand of magic missiles" +msgid_plural "greater wands of magic missile" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of fireball" -msgid_plural "minor wand of fireballs" +msgid_plural "minor wands of fireball" msgstr[0] "" msgstr[1] "" @@ -78791,19 +82986,19 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of fireball" -msgid_plural "lesser wand of fireballs" +msgid_plural "lesser wands of fireball" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of fireball" -msgid_plural "greater wand of fireballs" +msgid_plural "greater wands of fireball" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of mana beam" -msgid_plural "minor wand of mana beams" +msgid_plural "minor wands of mana beam" msgstr[0] "" msgstr[1] "" @@ -78818,19 +83013,19 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of mana beam" -msgid_plural "lesser wand of mana beams" +msgid_plural "lesser wands of mana beam" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of mana beam" -msgid_plural "greater wand of mana beams" +msgid_plural "greater wands of mana beam" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of point flare" -msgid_plural "minor wand of point flares" +msgid_plural "minor wands of point flare" msgstr[0] "" msgstr[1] "" @@ -78845,46 +83040,46 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of point flare" -msgid_plural "lesser wand of point flares" +msgid_plural "lesser wands of point flare" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of point flare" -msgid_plural "greater wand of point flares" +msgid_plural "greater wands of point flare" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py -msgid "minor wand of iceball" -msgid_plural "minor wand of iceballs" +msgid "minor wand of hoary blast" +msgid_plural "minor wands of hoary blast" msgstr[0] "" msgstr[1] "" -#. ~ Description for minor wand of iceball -#. ~ Description for lesser wand of iceball -#. ~ Description for greater wand of iceball +#. ~ Description for minor wand of hoary blast +#. ~ Description for lesser wand of hoary blast +#. ~ Description for greater wand of hoary blast #: lang/json/TOOL_from_json.py msgid "" "A slender wooden wand with a mana crystal socket at the base that casts a " -"spell when activated. This wand casts iceball." +"spell when activated. This wand casts hoary blast." msgstr "" #: lang/json/TOOL_from_json.py -msgid "lesser wand of iceball" -msgid_plural "lesser wand of iceballs" +msgid "lesser wand of hoary blast" +msgid_plural "lesser wands of hoary blast" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py -msgid "greater wand of iceball" -msgid_plural "greater wand of iceballs" +msgid "greater wand of hoary blast" +msgid_plural "greater wands of hoary blast" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of cone of cold" -msgid_plural "minor wand of cone of colds" +msgid_plural "minor wands of cone of cold" msgstr[0] "" msgstr[1] "" @@ -78899,13 +83094,175 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of cone of cold" -msgid_plural "lesser wand of cone of colds" +msgid_plural "lesser wands of cone of cold" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of cone of cold" -msgid_plural "greater wand of cone of colds" +msgid_plural "greater wands of cone of cold" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of magic missile" +msgid_plural "disposable minor wands of magic missile" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of magic missile +#. ~ Description for disposable lesser wand of magic missile +#. ~ Description for disposable greater wand of magic missile +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts magic missile." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of magic missile" +msgid_plural "disposable lesser wands of magic missile" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of magic missile" +msgid_plural "disposable greater wands of magic missile" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of fireball" +msgid_plural "disposable minor wands of fireball" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of fireball +#. ~ Description for disposable lesser wand of fireball +#. ~ Description for disposable greater wand of fireball +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts fireball." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of fireball" +msgid_plural "disposable lesser wands of fireball" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of fireball" +msgid_plural "disposable greater wands of fireball" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of mana beam" +msgid_plural "disposable minor wands of mana beam" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of mana beam +#. ~ Description for disposable lesser wand of mana beam +#. ~ Description for disposable greater wand of mana beam +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts mana beam." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of mana beam" +msgid_plural "disposable lesser wands of mana beam" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of mana beam" +msgid_plural "disposable greater wands of mana beam" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of point flare" +msgid_plural "disposable minor wands of point flare" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of point flare +#. ~ Description for disposable lesser wand of point flare +#. ~ Description for disposable greater wand of point flare +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts point flare." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of point flare" +msgid_plural "disposable lesser wands of point flare" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of point flare" +msgid_plural "disposable greater wands of point flare" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of hoary blast" +msgid_plural "disposable minor wands of hoary blast" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of hoary blast +#. ~ Description for disposable lesser wand of hoary blast +#. ~ Description for disposable greater wand of hoary blast +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts hoary blast." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of hoary blast" +msgid_plural "disposable lesser wands of hoary blast" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of hoary blast" +msgid_plural "disposable greater wands of hoary blast" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of cone of cold" +msgid_plural "disposable minor wands of cone of cold" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of cone of cold +#. ~ Description for disposable lesser wand of cone of cold +#. ~ Description for disposable greater wand of cone of cold +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts cone of cold." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of cone of cold" +msgid_plural "disposable lesser wands of cone of cold" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of cone of cold" +msgid_plural "disposable greater wands of cone of cold" msgstr[0] "" msgstr[1] "" @@ -78989,7 +83346,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "Magus rune" -msgid_plural "Magus runes" +msgid_plural "Magi runes" msgstr[0] "" msgstr[1] "" @@ -79129,7 +83486,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "wand of fireballs" -msgid_plural "wand of fireballss" +msgid_plural "wands of fireball" msgstr[0] "" msgstr[1] "" @@ -79142,7 +83499,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "wand of magic missiles" -msgid_plural "wand of magic missiless" +msgid_plural "wands of magic missile" msgstr[0] "" msgstr[1] "" @@ -79659,12 +84016,6 @@ msgid "" msgstr "" "Ez egy bot, amelybe egy kelepcéhez használható kioldószerkezetet vágtak." -#: lang/json/TOOL_from_json.py -msgid "Laevateinn" -msgid_plural "Laevateinns" -msgstr[0] "Laevateinn" -msgstr[1] "Laevateinn" - #. ~ Description for Laevateinn #: lang/json/TOOL_from_json.py msgid "" @@ -81012,6 +85363,17 @@ msgid "" " terribly when not on a rail." msgstr "" +#: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py +msgid "pair of small rail wheels" +msgstr "" + +#. ~ Description for pair of small rail wheels +#: lang/json/WHEEL_from_json.py +msgid "" +"A pair of small rail wheels. It fits small railroad rails found in places " +"like amusement parks. Mostly for hobby purposes rather then transportation." +msgstr "" + #: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py msgid "motorbike wheel" msgstr "motorbicikli kerék" @@ -81297,7 +85659,7 @@ msgstr "" #: lang/json/activity_type_from_json.py msgid "reloading" -msgstr "" +msgstr "tárazás" #: lang/json/activity_type_from_json.py msgid "finding a mount" @@ -81305,139 +85667,143 @@ msgstr "" #: lang/json/activity_type_from_json.py msgid "reading" -msgstr "" +msgstr "olvasás" #: lang/json/activity_type_from_json.py msgid "constructing" -msgstr "" +msgstr "építés" #: lang/json/activity_type_from_json.py msgid "tidying up" -msgstr "" +msgstr "rendrakás" #: lang/json/activity_type_from_json.py msgid "deconstructing a vehicle" -msgstr "" +msgstr "jármű szétszerelése" #: lang/json/activity_type_from_json.py msgid "repairing a vehicle" -msgstr "" +msgstr "jármű javítása" #: lang/json/activity_type_from_json.py msgid "chopping logs" -msgstr "" +msgstr "gerenda szétvágása" #: lang/json/activity_type_from_json.py lang/json/tool_quality_from_json.py msgid "butchering" -msgstr "mészárló" +msgstr "mészárlás" #: lang/json/activity_type_from_json.py msgid "chopping trees" -msgstr "" +msgstr "favágás" #: lang/json/activity_type_from_json.py lang/json/tool_quality_from_json.py msgid "fishing" -msgstr "" +msgstr "halászás" #: lang/json/activity_type_from_json.py msgid "playing" -msgstr "" +msgstr "játszás" #: lang/json/activity_type_from_json.py msgid "waiting" -msgstr "" +msgstr "várakozás" #: lang/json/activity_type_from_json.py msgid "crafting" -msgstr "" +msgstr "tárgykészítés" #: lang/json/activity_type_from_json.py msgid "disassembly" -msgstr "" +msgstr "szétszerelés" #: lang/json/activity_type_from_json.py msgid "field dressing" -msgstr "" +msgstr "terepi kibelezés" #: lang/json/activity_type_from_json.py msgid "skinning" -msgstr "" +msgstr "nyúzás" #: lang/json/activity_type_from_json.py msgid "quartering" -msgstr "" +msgstr "felnegyedelés" #: lang/json/activity_type_from_json.py msgid "dismembering" -msgstr "" +msgstr "végtag csonkolás" #: lang/json/activity_type_from_json.py msgid "dissecting" -msgstr "" +msgstr "boncolás" #: lang/json/activity_type_from_json.py msgid "salvaging" -msgstr "" +msgstr "kitermelés" #: lang/json/activity_type_from_json.py msgid "foraging" -msgstr "" +msgstr "kotorászás" #: lang/json/activity_type_from_json.py msgid "interacting with the vehicle" -msgstr "" +msgstr "járműkezelés" #: lang/json/activity_type_from_json.py msgid "training" -msgstr "" +msgstr "képzés" #: lang/json/activity_type_from_json.py msgid "socializing" -msgstr "" +msgstr "társas lét" #: lang/json/activity_type_from_json.py msgid "using first aid" -msgstr "" +msgstr "elsősegély használata" #: lang/json/activity_type_from_json.py msgid "mining" -msgstr "" +msgstr "bányászás" #: lang/json/activity_type_from_json.py msgid "burrowing" -msgstr "" +msgstr "ásás" #: lang/json/activity_type_from_json.py msgid "smashing" -msgstr "" +msgstr "szétzúzás" #: lang/json/activity_type_from_json.py msgid "cranking" msgstr "" +#: lang/json/activity_type_from_json.py +msgid "heating" +msgstr "melegítés" + #: lang/json/activity_type_from_json.py msgid "de-stressing" msgstr "" #: lang/json/activity_type_from_json.py msgid "cutting tissues" -msgstr "" +msgstr "szövetek szétvágása" #: lang/json/activity_type_from_json.py msgid "dropping" -msgstr "" +msgstr "elejtés" #: lang/json/activity_type_from_json.py msgid "stashing" -msgstr "" +msgstr "eltevés" #: lang/json/activity_type_from_json.py msgid "picking up" -msgstr "" +msgstr "felszedés" #: lang/json/activity_type_from_json.py msgid "moving items" -msgstr "" +msgstr "tárgymozgatás" #: lang/json/activity_type_from_json.py lang/json/skill_from_json.py msgid "driving" @@ -81445,215 +85811,215 @@ msgstr "autóvezetés" #: lang/json/activity_type_from_json.py msgid "travelling" -msgstr "" +msgstr "utazás" #: lang/json/activity_type_from_json.py msgid "sorting out the loot" -msgstr "" +msgstr "zsákmány szortírozása" #: lang/json/activity_type_from_json.py msgid "tilling the farm plot" -msgstr "" +msgstr "talaj szántása" #: lang/json/activity_type_from_json.py msgid "fetching components" -msgstr "" +msgstr "alkatrészek előszedése" #: lang/json/activity_type_from_json.py msgid "farming" -msgstr "" +msgstr "földművelés" #: lang/json/activity_type_from_json.py msgid "planting seeds" -msgstr "" +msgstr "vetőmag ültetése" #: lang/json/activity_type_from_json.py msgid "harvesting plots" -msgstr "" +msgstr "betakarítás" #: lang/json/activity_type_from_json.py msgid "fertilizing plots" -msgstr "" +msgstr "talaj műtrágyázása" #: lang/json/activity_type_from_json.py msgid "interacting with inventory" -msgstr "" +msgstr "leltár kezelése" #: lang/json/activity_type_from_json.py msgid "fiddling with your clothes" -msgstr "" +msgstr "ruha igazgatása" #: lang/json/activity_type_from_json.py msgid "lighting the fire" -msgstr "" +msgstr "tűzgyújtás" #: lang/json/activity_type_from_json.py msgid "working the winch" -msgstr "" +msgstr "csörlőzés" #: lang/json/activity_type_from_json.py msgid "filling the container" -msgstr "" +msgstr "tároló megtöltése" #: lang/json/activity_type_from_json.py msgid "hotwiring the vehicle" -msgstr "" +msgstr "jármű megpiszkálása" #: lang/json/activity_type_from_json.py msgid "aiming" -msgstr "" +msgstr "célzás" #: lang/json/activity_type_from_json.py msgid "using the ATM" -msgstr "" +msgstr "ATM kezelése" #: lang/json/activity_type_from_json.py msgid "trying to start the vehicle" -msgstr "" +msgstr "jármű beindítása" #: lang/json/activity_type_from_json.py lang/json/tool_quality_from_json.py msgid "welding" -msgstr "hegesztő" +msgstr "hegesztés" #: lang/json/activity_type_from_json.py msgid "cracking" -msgstr "" +msgstr "feltörés" #: lang/json/activity_type_from_json.py msgid "repairing" -msgstr "" +msgstr "szerelés" #: lang/json/activity_type_from_json.py msgid "mending" -msgstr "" +msgstr "javítás" #: lang/json/activity_type_from_json.py msgid "modifying gun" -msgstr "" +msgstr "fegyvermódosítás" #: lang/json/activity_type_from_json.py msgid "modifying tool" -msgstr "" +msgstr "szerszám módosítása" #: lang/json/activity_type_from_json.py msgid "interacting with the NPC" -msgstr "" +msgstr "NPC interakció" #: lang/json/activity_type_from_json.py msgid "catching breath" -msgstr "" +msgstr "lélegzet visszanyerése" #: lang/json/activity_type_from_json.py msgid "clearing that rubble" -msgstr "" +msgstr "romeltakarítás" #: lang/json/activity_type_from_json.py msgid "meditating" -msgstr "" +msgstr "meditálás" #: lang/json/activity_type_from_json.py msgid "washing" -msgstr "" +msgstr "mosás" #: lang/json/activity_type_from_json.py msgid "cutting the metal" -msgstr "" +msgstr "fémvágás" #: lang/json/activity_type_from_json.py msgid "chopping down a tree" -msgstr "" +msgstr "fa kivágása" #: lang/json/activity_type_from_json.py msgid "chopping a log" -msgstr "" +msgstr "gerenda szétvágása" #: lang/json/activity_type_from_json.py msgid "cutting planks" -msgstr "" +msgstr "deszkává vágás" #: lang/json/activity_type_from_json.py lang/json/tool_quality_from_json.py msgid "drilling" -msgstr "fúró" +msgstr "fúrás" #: lang/json/activity_type_from_json.py msgid "churning earth" -msgstr "" +msgstr "föld felforgatása" #: lang/json/activity_type_from_json.py lang/json/tool_quality_from_json.py msgid "digging" -msgstr "ásó" +msgstr "ásás" #: lang/json/activity_type_from_json.py msgid "filling" -msgstr "" +msgstr "feltöltés" #: lang/json/activity_type_from_json.py msgid "shaving" -msgstr "" +msgstr "borotválkozás" #: lang/json/activity_type_from_json.py msgid "cutting your hair" -msgstr "" +msgstr "hajvágás" #: lang/json/activity_type_from_json.py msgid "playing with your pet" -msgstr "" +msgstr "játék a háziállattal" #: lang/json/activity_type_from_json.py msgid "trying to fall asleep" -msgstr "" +msgstr "alvási próbálkozás" #: lang/json/activity_type_from_json.py msgid "being operated on" -msgstr "" +msgstr "operálják" #: lang/json/activity_type_from_json.py msgid "unloading" -msgstr "" +msgstr "kitárazás" #: lang/json/activity_type_from_json.py msgid "programming override" -msgstr "" +msgstr "programozás felülírása" #: lang/json/activity_type_from_json.py msgid "putting on items" -msgstr "" +msgstr "ruha felöltése" #: lang/json/activity_type_from_json.py msgid "communing with the trees" -msgstr "" +msgstr "fákkal együttérzés" #: lang/json/activity_type_from_json.py msgid "eating" -msgstr "" +msgstr "evés" #: lang/json/activity_type_from_json.py msgid "consuming" -msgstr "" +msgstr "fogyasztás" #: lang/json/activity_type_from_json.py msgid "casting" -msgstr "" +msgstr "varázslás" #: lang/json/activity_type_from_json.py msgid "studying" -msgstr "" +msgstr "tanulmányozás" #: lang/json/activity_type_from_json.py msgid "drinking" -msgstr "" +msgstr "ivás" #: lang/json/activity_type_from_json.py msgid "using drugs" -msgstr "" +msgstr "drogok használata" #: lang/json/activity_type_from_json.py msgid "using the mind splicer" -msgstr "" +msgstr "elmehasítás" #: lang/json/activity_type_from_json.py msgid "hacking console" -msgstr "" +msgstr "konzol hekkelése" #: lang/json/ammunition_type_from_json.py msgid "fusion cell" @@ -81669,7 +86035,7 @@ msgstr ".50 BMG" #: lang/json/ammunition_type_from_json.py msgid ".45-70" -msgstr "" +msgstr ".45-70" #: lang/json/ammunition_type_from_json.py msgid "nails" @@ -81677,7 +86043,7 @@ msgstr "szög" #: lang/json/ammunition_type_from_json.py msgid "barb" -msgstr "" +msgstr "szálka" #: lang/json/ammunition_type_from_json.py msgid "BBs" @@ -81697,7 +86063,7 @@ msgstr "kavics" #: lang/json/ammunition_type_from_json.py msgid "shotcanisters" -msgstr "" +msgstr "repeszlőszer" #: lang/json/ammunition_type_from_json.py msgid "shot" @@ -81714,8 +86080,8 @@ msgstr ".410 acélsörét" #: lang/json/ammunition_type_from_json.py lang/json/gun_from_json.py msgid "blunderbuss" msgid_plural "blunderbusses" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "mordály" +msgstr[1] "mordály" #: lang/json/ammunition_type_from_json.py msgid ".22" @@ -81731,7 +86097,7 @@ msgstr ".357 SIG" #: lang/json/ammunition_type_from_json.py msgid ".357 magnum" -msgstr "" +msgstr ".357 Magnum" #: lang/json/ammunition_type_from_json.py msgid "9x18mm" @@ -81739,7 +86105,7 @@ msgstr "9x18mm" #: lang/json/ammunition_type_from_json.py msgid ".380 ACP" -msgstr "" +msgstr ".380 ACP" #: lang/json/ammunition_type_from_json.py msgid ".38" @@ -81771,7 +86137,7 @@ msgstr ".454" #: lang/json/ammunition_type_from_json.py msgid ".45 Colt" -msgstr "" +msgstr ".45 Colt" #: lang/json/ammunition_type_from_json.py msgid ".500" @@ -82024,6 +86390,10 @@ msgid "" "deflected more than melee weapons and those in turn more than massive " "objects." msgstr "" +"Egy vékony erőtér veszi körül a testedet, fenntartásához folyamatosan kell " +"energia. Mindennek, ami áthatolna az erőteren, esélye van arra, hogy energia" +" felhasználása árán kevesebb sebzést okozzot. A lövedékeket gyakrabban lehet" +" eltéríteni, mint a kardot, és a masszív tárgyakat még kevésbé." #: lang/json/bionic_from_json.py msgid "Alarm System" @@ -82057,10 +86427,13 @@ msgstr "Ötvözetpáncél - karok" #. ~ Description for Alloy Plating - Arms #: lang/json/bionic_from_json.py msgid "" -"The flesh on your arms has been surgically replaced by alloy plating. " +"The flesh on your arms has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" +"A karjaidon a húst egy kemény ötvözetből készült páncél váltotta fel, ezzel " +"jelentősen megnövelve a passzív védelmet. Bionikus harcművészettel együtt is" +" használható." #: lang/json/bionic_from_json.py msgid "Protective Lenses" @@ -82087,6 +86460,9 @@ msgid "" "The flesh on your head has been surgically replaced by alloy plating, " "protecting both your head and jaw regions." msgstr "" +"A fejeden a húst egy műtéti úton beültetett, kemény ötvözetből készült " +"páncél váltotta fel, ezzel jelentősen megnövelve fejed és az állkapcsod " +"védelmét." #: lang/json/bionic_from_json.py msgid "Alloy Plating - Legs" @@ -82095,10 +86471,13 @@ msgstr "Ötvözetpáncél - lábak" #. ~ Description for Alloy Plating - Legs #: lang/json/bionic_from_json.py msgid "" -"The flesh on your legs has been surgically replaced by alloy plating. " +"The flesh on your legs has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" +"A lábaidon a húst egy kemény ötvözetből készült páncél váltotta fel, ezzel " +"jelentősen megnövelve a passzív védelmet. Bionikus harcművészettel együtt is" +" használható." #: lang/json/bionic_from_json.py msgid "Alloy Plating - Torso" @@ -82110,6 +86489,8 @@ msgid "" "The flesh on your torso has been surgically replaced by alloy plating, " "protecting it from physical trauma." msgstr "" +"A mellkasodon a húst egy műtéti úton beültetett, kemény ötvözetből készült " +"páncél váltotta fel, ezzel jelentősen megnövelve a védelmedet." #: lang/json/bionic_from_json.py msgid "Battery System" @@ -82122,6 +86503,9 @@ msgid "" "contained in normal, everyday batteries. Use 'E' to drain charge from a " "battery. Can be toggled on and off at will." msgstr "" +"Ceruzaelem méretű, mindennapi elemeket befogadó csatlakozásod van, így " +"azokat is felhasználhatod energiaforrásként. Elemek felhasználásához nyomd " +"meg az E gombot. Igény szerint lehet ki- és bekapcsolni." #: lang/json/bionic_from_json.py msgid "Monomolecular Blade" @@ -82142,7 +86526,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "Shotgun Arm" -msgstr "" +msgstr "Sörétes kar" #. ~ Description for Shotgun Arm #: lang/json/bionic_from_json.py @@ -82150,6 +86534,8 @@ msgid "" "Concealed in your left arm is a single shot 12 gauge shotgun. Activate the " "bionic to fire and reload the shotgun." msgstr "" +"A bal alkarodba egy 12 ga-s, egyövéses, rejtett sörétes puska került " +"beépítésre. Lövéshez és újratárazáshoz aktiváld a bionikát." #: lang/json/bionic_from_json.py msgid "Optical Dampers" @@ -82207,6 +86593,8 @@ msgid "" " will recharge bionic power when connected to a power source via jumper " "cable." msgstr "" +"A csípőd felett egy összetett kábeles port található. Aktív állapotában " +"akkumulátoros töltőkábelen keresztül ad át energiát." #: lang/json/bionic_from_json.py msgid "Subdermal Carbon Filament" @@ -82266,6 +86654,9 @@ msgid "" "Throughout your body lies a network of thermal piping, which eases the " "effects of high and low ambient temperatures when activated." msgstr "" +"Az egész testedbe beépítésre került egy hőcserélő rendszer csövezete, amely " +"aktiválásakor segít ellensúlyozni a túl magas vagy a túl alacsony külső " +"hőmérsékletek hatását." #: lang/json/bionic_from_json.py msgid "Cloaking System" @@ -82296,6 +86687,10 @@ msgid "" "module will improve your hand to hand combat skills, but prevents you from " "improving them through combat experience." msgstr "" +"Harcművészeti programokkal feltöltött bionikus processzorokat és " +"adatbankokat műtéti úton integráltak az idegrendszeredhez. Aktív állapotnál " +"a közelharci modul feljavítja a közelharci képességeidet, viszont ilyenkor " +"ezeknél a készségeknél nem szerzel tapasztalatot." #: lang/json/bionic_from_json.py msgid "Bionic-Induced Deformity" @@ -82421,6 +86816,9 @@ msgid "" "generators. You may use power to fire a wide, but short-ranged blast which " "will disable electronics and robots." msgstr "" +"A tenyereidbe apró elektromágneses pulzust leadó parabola-antennák kerültek " +"műtéti úton beépítésre. Energia felhasználásával rövid hatótávolságú EMP " +"leadásával megbéníthatod az elektromos berendezéseket és a robotokat." #: lang/json/bionic_from_json.py lang/json/gun_from_json.py #: lang/json/gun_from_json.py @@ -82437,6 +86835,9 @@ msgid "" "to aim. Extremely effective against electronic targets but mostly useless " "otherwise." msgstr "" +"A jobb kezedbe és karodba elektromágneses pulzus vető került beépítésre. A " +"szuperkoncentrált pulzusokat rövid hatótávolságra lehet kilőni. Elektromos " +"célpontok leküzdésére rendkívül hatékony, egyébként szinte haszontalan." #: lang/json/bionic_from_json.py msgid "Ethanol Burner" @@ -82444,17 +86845,25 @@ msgstr "Etanolkazán" #. ~ Description for Ethanol Burner #: lang/json/bionic_from_json.py -msgid "" -"You burn alcohol as fuel in an extremely efficient reaction. However, you " -"will still suffer the inebriating effects of the substance." +msgid "You burn alcohol as fuel in an extremely efficient reaction." msgstr "" "Egy rendkívül hatékony reakció keretén belül alkoholból is képes vagy " -"energiát előállítani. Az italok részegítő hatását azonban nem úszod meg." +"energiát előállítani." #: lang/json/bionic_from_json.py msgid "Aero-Evaporator" msgstr "Aero-evaporátor" +#. ~ Description for Aero-Evaporator +#: lang/json/bionic_from_json.py +msgid "" +"This unit draws moisture from the surrounding air, which slowly trickles " +"directly into your blood stream. It may fail in very dry environments." +msgstr "" +"Ez az alegység a környező levegőbül vonja ki a zokszigén helyett a vízpárát," +" amely ezután lassan a közvetlenül a véráramodba kerül. Az alrendszer nagyon" +" száraz környezetben nem képes vizet előállítani." + #: lang/json/bionic_from_json.py msgid "Diamond Cornea" msgstr "Gyémánt szaruhártya" @@ -82477,6 +86886,10 @@ msgid "" " as integrated binoculars, letting you see much farther than before, and any" " vision problems you might have had are now gone." msgstr "" +"A szemed belső részének nagy részét műtéti úton eltávolították, helyettük " +"egy sor magas felbontású, autófókuszáló lencse került beépítésre. Messzebbre" +" és tisztábban látsz, mint korábban, mintha távcsöved lenne. Bármilyen " +"látási gonddal is küzdöttél korábban, most már az nincs." #: lang/json/bionic_from_json.py msgid "Facial Distortion" @@ -82561,6 +86974,10 @@ msgid "" "doesn't provide enough light to comfortably read or craft, but it can " "suffice if you have nothing else." msgstr "" +"A bőröd alá nem túl mélyen egy apró LED kijelző került beépítésre, amely " +"gyenge vagy erős fénnyel tud világítani és mintákat mutatni. Fénye nem elég " +"az olvasáshoz vagy a tárgyak elkészítéséhez, de a semminél jobb, ha nincs " +"más." #. ~ Description for Glowy Thing #: lang/json/bionic_from_json.py @@ -82568,8 +86985,12 @@ msgid "" "You don't think that capacitor is *meant* to glow, but it does, and usually " "at bad times. A malfunctioning bionic randomly turns on and off, causing " "you to glow and making you visible in the dark without improving how much " -"you can see in the slighest." +"you can see in the slightest." msgstr "" +"Szerinted egy kondenzátornak nem kellene feltétlenül izzania, de ez most " +"izzik, és mindig rosszkor. Egy hibás bionika véletlenszerűen ki- és " +"bekapcsolódik, olyankor világít, ahogy te is világítasz a sötétben, de nem " +"annyira, hogy jobban lássál." #: lang/json/bionic_from_json.py msgid "Integrated Dosimeter" @@ -82588,7 +87009,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "Respirator" -msgstr "" +msgstr "Respirátor" #. ~ Description for Respirator #: lang/json/bionic_from_json.py @@ -82598,6 +87019,11 @@ msgid "" "Turn on to recharge stamina faster, at moderate power cost. Asthmatics may " "also use it to stop asthma attacks." msgstr "" +"Komplex lélegzet-augmentációs rendszer. Javítja a levegőben a légzés, és " +"víz alatti is lehet vele lélegezni. Víz alatti fulladásnál automatikusan " +"bekapcsol. Mérsékelt energiafelhasználásért cserébe bekapcsolható a " +"kitartás visszanyerésének felgyorsításához. Asztmában szenvedők továbbá " +"ezzel megállíthatják az asztmarohamukat." #: lang/json/bionic_from_json.py msgid "Terranian Sonar" @@ -82610,6 +87036,9 @@ msgid "" "detect the movements of creatures below the ground, buried traps, and " "unstable terrain." msgstr "" +"A talpadba precíziós szonárrendszer került integrálásra, amelynek " +"segítségével a föld alatt mozgást, a rejtett aknákat és az instabil talajt " +"lehet észrevenni." #: lang/json/bionic_from_json.py msgid "Heat Drain" @@ -82666,6 +87095,8 @@ msgid "" "Your range of vision extends into the infrared, allowing you to see warm-" "blooded creatures in the dark or through smoke." msgstr "" +"Látóképességed kiterjed az infravörös tartományra is, a melegvérű lényeket a" +" sötétben és a füstben is látni." #: lang/json/bionic_from_json.py msgid "Cerebral Booster" @@ -82734,10 +87165,10 @@ msgstr "" "járhat." #: lang/json/bionic_from_json.py -msgid "Mini-Flamethrower" -msgstr "Mini lángszóró" +msgid "Finger Lighter" +msgstr "Ujjbegy öngyújtó" -#. ~ Description for Mini-Flamethrower +#. ~ Description for Finger Lighter #: lang/json/bionic_from_json.py msgid "" "The index fingers of both hands have powerful fire starters which extend " @@ -82768,9 +87199,13 @@ msgstr "Elektromágneses egység" #: lang/json/bionic_from_json.py msgid "" "Surgically embedded in your right hand is a powerful electromagnet, allowing" -" you to indiscriminately pull all nearby magnetic objects towards you. " -"Unlucky bystanders might be injured or killed by flying objects." +" you to use your own strength to pull all nearby magnetic objects towards " +"you. Unlucky bystanders might be injured or killed by flying objects." msgstr "" +"A jobb kezedbe egy erőteljes elektromágnes került beépítésre, segítségével " +"az összes közelében található fémtárgyat közel tudod magadhoz húzni. A " +"peches közelben állókat ezek a repülő tárgyak megsebezheti vagy meg is " +"ölhetik." #: lang/json/bionic_from_json.py msgid "Nictating Membrane" @@ -82813,6 +87248,9 @@ msgid "" "Your digestive system and power supply are interconnected; bionic energy is " "replenished by burning calories. Can be toggled on and off at will." msgstr "" +"Az energiatárolód és az emésztőrendszered össze lett kötve. A bionikus " +"energiát kalóriák égetésével lehet generálni. Igény szerint lehet ki- és " +"bekapcsolni." #: lang/json/bionic_from_json.py msgid "Weather Reader" @@ -82825,6 +87263,9 @@ msgid "" "data. The data is compiled and presented as a simple readout of the current" " weather. It also passively tells you the local air temperature." msgstr "" +"Időjárási adatgyűjtéshez használható tudományos műszerek és érzékelők " +"sokasága. A felvett adatokból elemzésük után leegyszerűsítve a jelenlegi " +"időjárás tudható meg. Passzív módon kijelzi a helyi levegő hőmérsékletét is." #: lang/json/bionic_from_json.py msgid "Repair Nanobots" @@ -82834,14 +87275,26 @@ msgstr "Javító nanobotok" #: lang/json/bionic_from_json.py msgid "" "Inside your body is a fleet of tiny dormant robots. While activated they " -"will flit about your body, repairing damage at 1 HP/s and stopping bleeding " -"at the cost of power." +"will flit about your body, repairing damage at 1 HP per minute and stopping " +"bleeding at the cost of extra power and stored calories." msgstr "" +"A testedben számos apró, inaktív nanobot található. Aktiváláskor körbejárják" +" az egész testedet, percenként 1 életpontot gyógyítanak, és megállítják a " +"vérzést. Ennek energia és kalória költsége van." #: lang/json/bionic_from_json.py msgid "Artificial Night Generator" msgstr "Sétáló fekete lyuk" +#. ~ Description for Artificial Night Generator +#: lang/json/bionic_from_json.py +msgid "" +"When active, this bionic eliminates all light within a 2 tile radius through" +" destructive interference." +msgstr "" +"Aktív állapotban ez a bionika destruktív interferenciájával 2 mezőn belül " +"minden fényt megszüntet." + #: lang/json/bionic_from_json.py msgid "Implanted Night Vision" msgstr "Éjjellátó implantátum" @@ -82852,6 +87305,8 @@ msgid "" "When active, this bionic will amplify existing light, allowing you to see in" " the dark." msgstr "" +"Aktív állapotában ez a bionika felerősíti a környezeti fényeket, így a " +"sötétben is tudsz látni." #. ~ Description for Noisemaker #: lang/json/bionic_from_json.py @@ -82864,11 +87319,11 @@ msgstr "Üzemzavaros bionikus modul. Időnként hangos zajlökéseket bocsájt k msgid "" "You're really not sure how the CBM ended up in your nose, but no matter how " "it got there this badly misplaced bionic makes it difficult to breathe. " -"Increases mouth encumbrance by one." +"Increases mouth encumbrance by ten." msgstr "" -"Nem is tudod már, hogy ez a KBM hogyan került az orrodba, de ha már ott van," -" akkor biztosan rossz helyre került, mert nehéz miatta a lélegzés. A szád " -"ormótlanságát eggyel növeli." +"Nem tudod, hogy ez a KBM hogyan is került az orrodba, de tulajdonképpen a " +"hogyan és a miért lényegtelen, mert ez a rossz helyen található bionika " +"megnehezíti a légzésedet. A száj ormótlansága 10-zel nő." #: lang/json/bionic_from_json.py msgid "Offensive Defense System" @@ -82881,6 +87336,10 @@ msgid "" "field does not deflect attacks, but rather delivers a strong shock, damaging" " unarmed attackers and those with a conductive weapon." msgstr "" +"A testedet egy vékony erőtér veszi körül, és folyamatosan energiát merít. Az" +" erőtér nem hárítja el a támadásokat, viszont erős elektromos ütést mért " +"minden beérkezett támadóra, aki puszta kézzel, vagy elektromosságot vezető " +"fegyverrel ér hozzád." #: lang/json/bionic_from_json.py msgid "Sensory Dulling" @@ -82901,8 +87360,10 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "Due to a badly misplaced dielectric stylette, you are now suffering from " -"mild optic neuropathy. Increases eye encumbrance by one." +"mild optic neuropathy. Increases eye encumbrance by ten." msgstr "" +"Egy rossz helyre került dielektromos stiletta miatt enyhe mértékben " +"károsodott a látóideged. A szem ormótlanságát 10-zel növeli." #: lang/json/bionic_from_json.py msgid "Power Armor Interface" @@ -82914,6 +87375,9 @@ msgid "" "Interfaces your power system with the internal charging port on suits of " "power armor, allowing them to draw from your bionic power banks." msgstr "" +"A belső enerigarendszeredet összeköti a szervópáncélok belső töltési " +"csatalkozásaival, így a páncélok közvetlenül a bionikus energiádat tudják " +"hasznosítani." #: lang/json/bionic_from_json.py msgid "Power Armor Interface Mk. II" @@ -82926,6 +87390,9 @@ msgid "" "power armor, allowing them to draw from your bionic power banks. Twice as " "efficient as the Mk. I model." msgstr "" +"A belső enerigarendszeredet összeköti a szervópáncélok belső töltési " +"csatalkozásaival, így a páncélok közvetlenül a bionikus energiádat tudják " +"hasznosítani. Az I-es szervópáncél interfésznél kétszer hatékonyabb." #: lang/json/bionic_from_json.py msgid "Power Storage" @@ -82934,10 +87401,14 @@ msgstr "Energiatároló" #. ~ Description for Power Storage #: lang/json/bionic_from_json.py msgid "" -"A Compact Bionics Module that increases your power capacity by 100 units. " +"A Compact Bionics Module that increases your power capacity by 100 kJ. " "Having at least one of these is a prerequisite to using powered bionics. " "You will also need a power supply, found in various CBMs." msgstr "" +"Ez a kompakt bionikus modul 100 kJ-lal növeli az energiatárolási " +"kapacitásodat. Legalább egy ilyen modulra van szükséged ahhoz, hogy energiát" +" használó bionikát üzemeltethess. Szükséged lesz továbbá még egy tápegységre" +" is, amelyet egy másik KBM-ben találsz." #: lang/json/bionic_from_json.py msgid "Power Storage Mk. II" @@ -82945,9 +87416,10 @@ msgstr "Energiatároló II" #. ~ Description for Power Storage Mk. II #: lang/json/bionic_from_json.py -msgid "" -"A Compact Bionics Module that increases your power capacity by 250 units." +msgid "A Compact Bionics Module that increases your power capacity by 250 kJ." msgstr "" +"Ez a kompakt bionikus modul 250 kJ-lal növeli az energiatárolási " +"kapacitásodat." #. ~ Description for Power Overload #: lang/json/bionic_from_json.py @@ -82989,6 +87461,9 @@ msgid "" "toxins, or airborne diseases find their way into your windpipe, the filter " "will attempt to remove them." msgstr "" +"A gégecsövedbe műtéti úton beépítésre került egy modern légszűrő rendszer. " +"Ha toxinok vagy levegőn át terjedő toxinok haladnának át a gégecsöveden a " +"tüdő felé, akkor a szűrő megpróbálja ezeket eltávolítani." #: lang/json/bionic_from_json.py msgid "Radiation Scrubber System" @@ -83031,6 +87506,8 @@ msgid "" "You possess razor-sharp claws underneath your fingernails that do a small " "amount of unarmed slashing damage whenever your fingertips are uncovered." msgstr "" +"A körmeid alá pengeélességű karmok kerültek. A kétélű pengék fedetlen " +"ujjhegyek esetén egy kis mértékű vágósebzést ejtenek." #: lang/json/bionic_from_json.py msgid "Recycler Unit" @@ -83071,6 +87548,9 @@ msgid "" "shockwave. While it will not do much damage to creatures, solid objects " "such as walls and doors will be damaged." msgstr "" +"Az egész tested erős rezonációt bocsájt ki, amely egy rövid hatósugarú " +"lökéshullámként jelentkezik. Ez a lényeken nem okoz nagy sebzést, az " +"ajtókhoz és falakhoz hasonló szilárd tárgyakat megrongálja." #: lang/json/bionic_from_json.py msgid "Olfactory Mask" @@ -83096,6 +87576,8 @@ msgid "" "making it possible for you to recognize your surroundings even in complete " "darkness." msgstr "" +"Amikor ez a modul energiát kap, akkor képes vagy vizualizálni a saját " +"szagodat, így még a teljes sötétségben is felismered a környezetedet." #. ~ Description for Bionic Short Circuit #: lang/json/bionic_from_json.py @@ -83226,6 +87708,9 @@ msgid "" "allow you to make automated precise cuts and can also be used as a high-" "quality butchering tool." msgstr "" +"Az ujjaidba sebészeti szintű szikék kerültek implantálásra, segítségükkel " +"pontosabb vágásokat ejthetsz boncoláskor. A szikéket továbbá magas minőségű" +" henteskésként is lehet használni." #: lang/json/bionic_from_json.py msgid "Anti-Glare Compensators" @@ -83278,12 +87763,12 @@ msgstr "" msgid "" "Self-locking thumbs hold tight (even when you really don't want them to) and" " don't let go (even when you'd rather they did). Increases hand encumbrance" -" by two, while failing to improve your ability to hold objects whatsoever." +" by ten, while failing to improve your ability to hold objects whatsoever." msgstr "" "Az önzáró hüvelykujjak igazán jól zárnak, még akkor is, ha nem szeretnéd - " "annyira, hogy szét se lehet bontani a két kezedet (bármennyire is " -"szeretnéd). A kezek ormótlanságát kettővel növeli, és gyakorlatilag semmit " -"sem tudsz kézben tartani." +"szeretnéd). A kezek ormótlanságát 10-zel növeli, és gyakorlatilag semmit sem" +" tudsz kézben tartani." #: lang/json/bionic_from_json.py msgid "Time Dilation" @@ -83312,10 +87797,14 @@ msgid "" "screwdriver, hammer, wrench, hacksaw, hand drill, welder, and heating " "elements. You can use this in place of many tools when crafting." msgstr "" +"A tenyeredbe és az ujjaidba műtéti úton egy komplett műszerszerelő eszköztár" +" került: csavarhúzó, kalapács, franciakulcs, fémfűrész, hegesztő, fúrógép, " +"valamint melegítőszál. Tárgyak gyártásánál vagy szerelésénél szerszámok " +"helyett használható." #: lang/json/bionic_from_json.py msgid "Extended Toolset" -msgstr "" +msgstr "Kiterjesztett eszköztár" #. ~ Description for Extended Toolset #: lang/json/bionic_from_json.py @@ -83323,6 +87812,9 @@ msgid "" "Extend or withdraw your integrated toolset to cut metal, pry things, or " "other stuff. This takes up your hands." msgstr "" +"Aktiválásával kinyúlnak a kezedbe épített szerszámok, így azokkal fémet " +"tudsz vágni, ajtót vagy ládát tudsz felfeszíteni, meg ilyesmi. A kezed ettől" +" tele lesz." #: lang/json/bionic_from_json.py msgid "Joint Torsion Ratchet" @@ -83335,10 +87827,13 @@ msgid "" "generate power when you move. Whilst this is toggled, moving will require " "more effort, though more power will be generated." msgstr "" +"Az izületeidbe torziós racsnik kerültek, amelyek a mozgás energiájából " +"lassan bionikus energiát generálnak. Amikor ez be van kapcsolva, akkor " +"fárasztóbb a mozgás, viszont több energiát generál." #: lang/json/bionic_from_json.py msgid "Joint Servo" -msgstr "" +msgstr "Ízületi szervó" #. ~ Description for Joint Servo #: lang/json/bionic_from_json.py @@ -83348,6 +87843,10 @@ msgid "" "requires less effort when this bionic is online. However, when it's offline" " it will hamper your movement, as you struggle against its moving parts." msgstr "" +"A lábízületeidre telepített szervómotorok segítenek a mozgásban. A " +"berendezést futásra optimalizálták, de a bionika aktiválásánál a gyaloglás " +"is kevesebb erőfeszítésbe kerül. Kikapcsolt állapotában azonban gátolja a " +"gátolja mozgásodat, mivel le kell küzdenek a berendezés ellenállását." #. ~ Description for Visual Disruptor #: lang/json/bionic_from_json.py @@ -83381,6 +87880,9 @@ msgid "" "You have a Unified Power System wired into your power banks. Objects that " "run on a UPS can now draw directly from your bionic power supply." msgstr "" +"Egy egységes tápegység került bedrótozásba a belső energiatároló " +"rendszeredbe. Az ET energiaforrást használó tárgyak innentől közvetlen a " +"bionikus energiádat merítik." #. ~ Description for Voice Remodulator #: lang/json/bionic_from_json.py @@ -83389,6 +87891,9 @@ msgid "" "to why you don't opt for the Autodoc's 'Cyborg Identity Package'. A " "remodulator unit jammed down your throat has given you a creepy robot voice." msgstr "" +"Valószínűleg az életed hátralevő részét azzal fogod tölteni, hogy két lábon " +"járó bizonyítéka leszel a robotdoki 'Kiborg identitás' programjának. Egy " +"torkodba lenyomott remodulátor egységtől hátborzongató robothangod lett." #: lang/json/bionic_from_json.py msgid "Internal Chronometer" @@ -83423,12 +87928,17 @@ msgstr "" #. ~ Description for Gasoline Fuel Cell CBM #: lang/json/bionic_from_json.py msgid "" -"A small gasoline fuel cell fixed to your scapula. Despite its limited energy" -" output compared to other fuel cells, this device still produces a " +"A small gasoline fuel cell fixed to your scapula. Despite its limited " +"energy output compared to other fuel cells, this device still produces a " "significant amount of heat dissipated through a heat exhaust protruding from" " your back. A diffuse network of bio-plastic bladders has been meshed with " "your circulatory system and serves as a fuel tank." msgstr "" +"A lapockádhoz egy apró méretű benzines üzemanyagcellát rögzítettek. A többi " +"üzemanyagcellához képest korlátozott energiatermelése ellenére a berendezés " +"jelentős hőt termel, amely a hátadba épített kipufogón át távozik. " +"Bioplasztik ballonokból álló tároló hálózatot integráltak a keringési " +"rendszeredhez, amely így üzemanyagtartályként hasznosítható." #: lang/json/bionic_from_json.py msgid "Intravenous Needletip" @@ -83483,20 +87993,23 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "Taste Modifier" -msgstr "" +msgstr "Ízmódosító" #. ~ Description for Taste Modifier #: lang/json/bionic_from_json.py msgid "" "A set of highly sensitive sensors is installed in your mouth, and a small " -"yet sophisticated analyzer is installed in the cavity of your skull. The " +"yet sophisticated analyzer is installed in the cavity of your skull. The " "active bionic will nullify the taste of all comestibles with negative " "enjoyment value at the cost of draining bionic power." msgstr "" +"A szádba csúcsérzékenységű szenzorokat építettek, amelyek egy modern elemző " +"segítségével bionikus energia árán blokkolnak minden kellemetlen ízt és " +"textúrát." #: lang/json/bionic_from_json.py msgid "Soporific Induction" -msgstr "" +msgstr "Alvásindukció" #. ~ Description for Soporific Induction #: lang/json/bionic_from_json.py @@ -83505,6 +88018,9 @@ msgid "" "nucleus. It turns on whenever you're trying to fall asleep, creating an " "artificial but effective sensation of fatigue." msgstr "" +"Az agyad ventolaterális preoptikus nukleuszába egy elektróda került " +"beültetésre. Bekapcsol, amikor megpróbálsz elaludni, és mesterséges, bár " +"teljesen hihető fáradtságérzetet kelt." #: lang/json/bionic_from_json.py msgid "Advanced Microreactor System" @@ -83517,6 +88033,9 @@ msgid "" "model due to integrated radiation cleansers. There is no way to shut it " "down once active, but you can toggle additional fuel intake." msgstr "" +"Ez a lecsupaszított minireaktor a beépített sugárzásvédelmének köszönhetően " +"az alapmodellnél biztonságosabb. Beindítása után többé nem lehet leállítani," +" de legalább plusz fűtőelemeket lehet behelyezni." #: lang/json/bionic_from_json.py msgid "Plutonium Filter" @@ -83528,6 +88047,8 @@ msgid "" "This set of tanks and filters allows you to extract plutonium from " "radioactive slurry." msgstr "" +"Ez a tartályokból és szűrőkből álló rendszer vonja ki az radioaktív iszapból" +" a használható plutóniumot." #: lang/json/bionic_from_json.py msgid "Plutonium Purger" @@ -83539,6 +88060,8 @@ msgid "" "Triggers an emergency reactor fuel purge that ejects all fuel from your " "reactor." msgstr "" +"A vészhelyzeti reaktor üzemanyag átfuvatás a reaktorod összes fűtőanyagát " +"kiveti." #: lang/json/bionic_from_json.py msgid "Microreactor System" @@ -83551,6 +88074,9 @@ msgid "" "power. There is no way to shut it down, but you can toggle additional fuel " "intake. Irradiates your body when active." msgstr "" +"Ez a lecsupaszított minireaktor elképesztő mennyiségű bionikus energiát " +"generál. Beindítása után többé nem lehet leállítani, de legalább plusz " +"fűtőelemeket lehet behelyezni. Aktív állapotban besugározza a testedet." #: lang/json/bionic_from_json.py msgid "Internal Furnace" @@ -83593,10 +88119,13 @@ msgid "" "resembling angular butterfly wings. When in direct sunlight, they will " "automatically deploy and slowly recharge your power level." msgstr "" +"A hátadra szögletes pillangószárnyra emlékeztető formájú, kinyitható, " +"megerősített napelemek kerültek. Közvetlen napfényen a napelemek " +"automatikusan kinyílnak és lassan töltik az energiádat." #: lang/json/bionic_from_json.py msgid "Precision Solderers" -msgstr "" +msgstr "Precíziós forrasztás" #. ~ Description for Precision Solderers #: lang/json/bionic_from_json.py @@ -83606,10 +88135,13 @@ msgid "" "absence of proper machinery, they're essential for creating bionics without " "better tools." msgstr "" +"A kezeidbe precíziós forrasztópákát, drótvágót és kábeltekercseket " +"építettek. A legtöbb tárgy elkészítéséhez ezek túl kicsik, de a célnak " +"jobban megfelelő berendezés híján KBM-ek gyártásánál használhatók." #: lang/json/bionic_from_json.py msgid "Deployable Grenade Launcher" -msgstr "" +msgstr "Beépített gránátvető" #. ~ Description for Deployable Grenade Launcher #: lang/json/bionic_from_json.py @@ -83617,10 +88149,12 @@ msgid "" "Your right hand can fold inward to reveal a mechanism capable of igniting " "and firing 40mm grenades across medium distances." msgstr "" +"A jobb kezedet teljesen befele hajtva előkerül egy középtávon használható " +"40mm-es gránátvető cső." #: lang/json/bionic_from_json.py msgid "Linguistic Coprocessor" -msgstr "" +msgstr "Nyelvészeti ko-processzor" #. ~ Description for Linguistic Coprocessor #: lang/json/bionic_from_json.py @@ -83630,10 +88164,12 @@ msgid "" "that moderately increases the speed that language and written words are " "processed, granting a 15% increase to reading speed." msgstr "" +"Az agyad bal féltekéjébe egy írott szavak felismerését kisegítő " +"mikroszámítógép került, így az olvasási sebességed 15%-kal nő." #: lang/json/bionic_from_json.py msgid "Dopamine Stimulators" -msgstr "" +msgstr "Dopamin stimulátor" #. ~ Description for Dopamine Stimulators #: lang/json/bionic_from_json.py @@ -83643,6 +88179,10 @@ msgid "" "slowly releases a stream of reward chemicals and hormones into your brain, " "inducing a state of euphoria that notably elevates mood." msgstr "" +"Az agyadba a ventrális tegmentumba apró méretű kibernetikus stimulátorok " +"kerültek beépítésre, amelyek beállított időközönként bionikus energiával " +"aktivizálódnak. Tevékenységüktől élvezeti és örömhormonok szabadulnak fel az" +" agyadban, az eufóriás hatásuktól jelentősen nő a jókedv." #: lang/json/bionic_from_json.py lang/json/gun_from_json.py msgid "Ionic Overload Generator" @@ -83689,7 +88229,7 @@ msgid "Dodging and melee is hampered." msgstr "A közelharc és a kitérés hatékonysága csökkent." #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Torso" msgstr "Törzs" @@ -83708,7 +88248,7 @@ msgid "head" msgstr "fejed" #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Head" msgstr "Fej" @@ -83762,12 +88302,12 @@ msgstr "bal karod" #: lang/json/bodypart_from_json.py msgid "arms" -msgstr "" +msgstr "karok" #: lang/json/bodypart_from_json.py msgctxt "bodypart_accusative" msgid "arms" -msgstr "" +msgstr "karok" #: lang/json/bodypart_from_json.py msgid "Melee and ranged combat is hampered." @@ -83775,7 +88315,7 @@ msgstr "A közelharc és a tűzharc hatékonysága csökkent." #: lang/json/bodypart_from_json.py src/armor_layers.cpp msgid "L. Arm" -msgstr "" +msgstr "B. kar" #: lang/json/bodypart_from_json.py msgid "Arms" @@ -83796,7 +88336,7 @@ msgstr "jobb karod" #: lang/json/bodypart_from_json.py src/armor_layers.cpp msgid "R. Arm" -msgstr "" +msgstr "J. kar" #: lang/json/bodypart_from_json.py msgid "R ARM" @@ -83813,12 +88353,12 @@ msgstr "bal kezed" #: lang/json/bodypart_from_json.py msgid "hands" -msgstr "" +msgstr "kezeid" #: lang/json/bodypart_from_json.py msgctxt "bodypart_accusative" msgid "hands" -msgstr "" +msgstr "kezeid" #: lang/json/bodypart_from_json.py msgid "Manual tasks are slowed." @@ -83826,7 +88366,7 @@ msgstr "A kézi műveletek sebessége csökkent." #: lang/json/bodypart_from_json.py src/armor_layers.cpp msgid "L. Hand" -msgstr "" +msgstr "B. kéz" #: lang/json/bodypart_from_json.py msgid "Hands" @@ -83843,7 +88383,7 @@ msgstr "jobb kezed" #: lang/json/bodypart_from_json.py src/armor_layers.cpp msgid "R. Hand" -msgstr "" +msgstr "J. kéz" #: lang/json/bodypart_from_json.py msgid "left leg" @@ -83856,12 +88396,12 @@ msgstr "bal lábad" #: lang/json/bodypart_from_json.py msgid "legs" -msgstr "" +msgstr "lábaid" #: lang/json/bodypart_from_json.py msgctxt "bodypart_accusative" msgid "legs" -msgstr "" +msgstr "lábaid" #: lang/json/bodypart_from_json.py msgid "Running and swimming are slowed." @@ -83869,7 +88409,7 @@ msgstr "A futás és az úszás sebessége csökkent." #: lang/json/bodypart_from_json.py src/armor_layers.cpp msgid "L. Leg" -msgstr "" +msgstr "B. láb" #: lang/json/bodypart_from_json.py msgid "Legs" @@ -83890,7 +88430,7 @@ msgstr "jobb lábad" #: lang/json/bodypart_from_json.py src/armor_layers.cpp msgid "R. Leg" -msgstr "" +msgstr "J. láb" #: lang/json/bodypart_from_json.py msgid "R LEG" @@ -83907,16 +88447,16 @@ msgstr "bal lábfejed" #: lang/json/bodypart_from_json.py msgid "feet" -msgstr "" +msgstr "lábaid" #: lang/json/bodypart_from_json.py msgctxt "bodypart_accusative" msgid "feet" -msgstr "" +msgstr "lábaid" #: lang/json/bodypart_from_json.py src/armor_layers.cpp msgid "L. Foot" -msgstr "" +msgstr "B. lábf" #: lang/json/bodypart_from_json.py msgid "Feet" @@ -83933,7 +88473,7 @@ msgstr "jobb lábfejed" #: lang/json/bodypart_from_json.py src/armor_layers.cpp msgid "R. Foot" -msgstr "" +msgstr "J. lábf" #: lang/json/bodypart_from_json.py msgid "appendix" @@ -84041,7 +88581,7 @@ msgstr "" #: lang/json/construction_from_json.py msgid "Make crafting spot" -msgstr "" +msgstr "Tárgykészítési hely kijelölése" #: lang/json/construction_from_json.py msgid "" @@ -84051,6 +88591,11 @@ msgid "" "Does not prevent using a proper workbench, if available. Deconstruct or " "smash to remove." msgstr "" +"A talajon kijelöl egy pontot a tárgyak elkészítéséhez. A szomszédos mezőkben" +" elkezdett tárgykészítés ezt a mezőt fogja használni, ahelyett, hogy a " +"kezedben próbálnád összerakni a tárgyakat, de asztal híján ez tovább fog " +"tartani. Ha a közelben van rendes munkalap, akkor azt fogod inkább " +"használni. Eltávolításához szereld szét, vagy zúzd szét." #: lang/json/construction_from_json.py msgid "Spike Pit" @@ -84078,7 +88623,7 @@ msgstr "Szerszámok nélkül is szétszerelhető." #: lang/json/construction_from_json.py msgid "Build Beaded Curtain" -msgstr "" +msgstr "Gyöngyfüggöny építése" #: lang/json/construction_from_json.py msgid "Build Makeshift Door" @@ -84166,7 +88711,7 @@ msgstr "Homokzsák fal építése" #: lang/json/construction_from_json.py msgid "Build Earthbag Wall" -msgstr "" +msgstr "Földzsák fal építése" #: lang/json/construction_from_json.py msgid "Build Metal Wall" @@ -84178,19 +88723,31 @@ msgstr "Téglafal építése" #: lang/json/construction_from_json.py msgid "Build Concrete Floor" -msgstr "" +msgstr "Betonpadló építése" #: lang/json/construction_from_json.py msgid "Fill Pit With Dirt" -msgstr "" +msgstr "Gödör betemetése földdel" #: lang/json/construction_from_json.py msgid "Make Woodchip Floor" -msgstr "" +msgstr "Faforgács padló készítése" + +#: lang/json/construction_from_json.py +msgid "Make Gravel Floor" +msgstr "Apróköves padló készítése" + +#: lang/json/construction_from_json.py +msgid "Build Straight Small Railroad Track" +msgstr "Rövid egyenes vasúti sín építése" + +#: lang/json/construction_from_json.py +msgid "Build Diagonal Small Railroad Track" +msgstr "Rövid átlós vasúti sín építése" #: lang/json/construction_from_json.py msgid "Build Wooden Floor" -msgstr "" +msgstr "Fapadló építése" #: lang/json/construction_from_json.py msgid "Build Simple Concrete Wall" @@ -84202,7 +88759,7 @@ msgstr "Vasbeton fal építése" #: lang/json/construction_from_json.py msgid "Build Concrete Column" -msgstr "" +msgstr "Betonoszlop építése" #: lang/json/construction_from_json.py msgid "Build Metal Roof" @@ -84230,7 +88787,7 @@ msgstr "Kőfal építése" #: lang/json/construction_from_json.py msgid "Build Pony Wall" -msgstr "" +msgstr "Térdmagasságú fal építése" #: lang/json/construction_from_json.py msgid "Build Roof" @@ -84304,13 +88861,21 @@ msgstr "Lánckerítés kapu építése" msgid "Needs to be supported on both sides by fencing, walls, etc." msgstr "Mindkét oldalán kerítésnek vagy falnak kell lennie." +#: lang/json/construction_from_json.py +msgid "Build Screen Door" +msgstr "Szúnyoghálós ajtó építése" + +#: lang/json/construction_from_json.py +msgid "Build Screen Mesh Wall" +msgstr "Szúnyoghálós fal építése" + #: lang/json/construction_from_json.py msgid "Build Chickenwire Fence" -msgstr "" +msgstr "Drótfonatos kerítés építése" #: lang/json/construction_from_json.py msgid "Build Chickenwire Gate" -msgstr "" +msgstr "Drótfonatos kapu építése" #: lang/json/construction_from_json.py msgid "Seal Crate" @@ -84330,7 +88895,7 @@ msgstr "Koporsó lezárása" #: lang/json/construction_from_json.py msgid "Dig Grave and Bury Sealed Coffin" -msgstr "" +msgstr "Sír ásása és lezárt koporsó eltemetése" #: lang/json/construction_from_json.py msgid "Build Bulletin Board" @@ -84344,13 +88909,17 @@ msgstr "Ruhaszekrény építése" msgid "Build Bookcase" msgstr "Könyvespolc építése" +#: lang/json/construction_from_json.py +msgid "Build Entertainment Center" +msgstr "Szórakoztató központ építése" + #: lang/json/construction_from_json.py msgid "Build Locker" msgstr "Fémszekrény építése" #: lang/json/construction_from_json.py msgid "Build Wooden Rack" -msgstr "" +msgstr "Fapolc építése" #: lang/json/construction_from_json.py msgid "Build Metal Rack" @@ -84374,15 +88943,19 @@ msgstr "Asztal építése" #: lang/json/construction_from_json.py msgid "Place Table" -msgstr "" +msgstr "Asztal elhelyezése" + +#: lang/json/construction_from_json.py +msgid "Build Coffee Table" +msgstr "Kávéasztal építése" #: lang/json/construction_from_json.py msgid "Build Workbench" -msgstr "" +msgstr "Munkalap építése" #: lang/json/construction_from_json.py msgid "Place Workbench" -msgstr "" +msgstr "Munkalap elhelyezése" #: lang/json/construction_from_json.py msgid "Build Chair" @@ -84406,19 +88979,19 @@ msgstr "Szalmaágy építése" #: lang/json/construction_from_json.py msgid "Build Pile of Leaves" -msgstr "" +msgstr "Levélkupac építése" #: lang/json/construction_from_json.py msgid "Build Bed from Scratch" -msgstr "" +msgstr "Ágy építése a semmiből" #: lang/json/construction_from_json.py msgid "Build Bed Frame" -msgstr "" +msgstr "Ágykeret építése" #: lang/json/construction_from_json.py msgid "Add Mattress to Bed Frame" -msgstr "" +msgstr "Matrac hozzáadása az ágykerethez" #: lang/json/construction_from_json.py msgid "Build Armchair" @@ -84466,67 +89039,67 @@ msgstr "Vizes kút építése" #: lang/json/construction_from_json.py msgid "Place Hay Bale" -msgstr "" +msgstr "Szalmabála elhelyezése" #: lang/json/construction_from_json.py msgid "Build Desk" -msgstr "" +msgstr "Íróasztal építése" #: lang/json/construction_from_json.py msgid "Build Wardrobe" -msgstr "" +msgstr "Gardrób építése" #: lang/json/construction_from_json.py msgid "Build Safe" -msgstr "" +msgstr "Széf építése" #: lang/json/construction_from_json.py msgid "Build Dumpster" -msgstr "" +msgstr "Szemetes konténer építése" #: lang/json/construction_from_json.py msgid "Build Mailbox" -msgstr "" +msgstr "Postaláda építése" #: lang/json/construction_from_json.py msgid "Build Bar Door" -msgstr "" +msgstr "Kocsmaajtó építése" #: lang/json/construction_from_json.py msgid "Install Bars Onto Window" -msgstr "" +msgstr "Ablak berácsozása" #: lang/json/construction_from_json.py msgid "Build Large Metal Support" -msgstr "" +msgstr "Nagy fémtámasz építése" #: lang/json/construction_from_json.py msgid "Build Small Metal Support" -msgstr "" +msgstr "Kis fémtámasz építése" #: lang/json/construction_from_json.py msgid "Paint Grass White" -msgstr "" +msgstr "Fű fehérre festése" #: lang/json/construction_from_json.py msgid "Paint Pavement Yellow" -msgstr "" +msgstr "Aszfalt sárgára festése" #: lang/json/construction_from_json.py msgid "Take Paint Off Pavement" -msgstr "" +msgstr "Aszfaltfesték felszedése" #: lang/json/construction_from_json.py msgid "Build Wooden Railing" -msgstr "" +msgstr "Fakorlát építése" #: lang/json/construction_from_json.py msgid "Cover Manhole" -msgstr "" +msgstr "Csatornafedél befedése" #: lang/json/construction_from_json.py msgid "Remove Wax From Floor" -msgstr "" +msgstr "Parkettaviasz eltávolítása" #: lang/json/construction_from_json.py msgid "Paint Wall Red" @@ -84538,7 +89111,7 @@ msgstr "Fal kékre festése" #: lang/json/construction_from_json.py msgid "Paint Wall White" -msgstr "" +msgstr "Fal fehérre festése" #: lang/json/construction_from_json.py msgid "Paint Wall Green" @@ -84578,7 +89151,7 @@ msgstr "Padló zöldre kárpitozása" #: lang/json/construction_from_json.py msgid "Wax Floor" -msgstr "" +msgstr "Parketta viaszolása" #: lang/json/construction_from_json.py msgid "Dig Downstair" @@ -84590,11 +89163,11 @@ msgstr "Bányássz egy szinttel lejjebb" #: lang/json/construction_from_json.py msgid "Repair Wooden Staircase" -msgstr "" +msgstr "Falépcső javítása" #: lang/json/construction_from_json.py msgid "Build Wooden Staircase" -msgstr "" +msgstr "Falépcső építése" #: lang/json/construction_from_json.py msgid "Mine Upstair" @@ -84614,31 +89187,31 @@ msgstr "Pontonhíd építése" #: lang/json/construction_from_json.py msgid "Build River Bridge" -msgstr "" +msgstr "Folyó feletti híd építése" #: lang/json/construction_from_json.py msgid "Build River Dock/Shallow Bridge" -msgstr "" +msgstr "Folyami kikötő/sekélyvízi híd építése" #: lang/json/construction_from_json.py msgid "Build Deep River Dock" -msgstr "" +msgstr "Mélyvízi kikötő építése" #: lang/json/construction_from_json.py msgid "Place Water Mill" -msgstr "" +msgstr "Vízmalom elhelyezése" #: lang/json/construction_from_json.py msgid "Place Wind Mill" -msgstr "" +msgstr "Szélmalom elhelyezése" #: lang/json/construction_from_json.py msgid "Build Shallow Temporary Bridge" -msgstr "" +msgstr "Sekélyvízi átmeneti híd építése" #: lang/json/construction_from_json.py msgid "Build Planter" -msgstr "" +msgstr "Virágtartó építése" #: lang/json/construction_from_json.py msgid "Cut Grass" @@ -84743,7 +89316,7 @@ msgstr "Párnavár építése" #: lang/json/construction_from_json.py msgid "Build Cardboard Fort" -msgstr "" +msgstr "Kartonvár építése" #: lang/json/construction_from_json.py msgid "Build Fire Ring" @@ -84751,15 +89324,15 @@ msgstr "Tűzrakó építése" #: lang/json/construction_from_json.py msgid "Build Rammed Earth Wall" -msgstr "" +msgstr "Tömött földfal építése" #: lang/json/construction_from_json.py msgid "Hang Hanging Meathook" -msgstr "" +msgstr "Mészároskampó felakasztása" #: lang/json/construction_from_json.py msgid "Build Counter Gate" -msgstr "" +msgstr "Pultajtó építése" #: lang/json/construction_from_json.py msgid "Build Split Rail Fence Gate" @@ -84767,7 +89340,7 @@ msgstr "" #: lang/json/construction_from_json.py msgid "Build Privacy Fence Gate" -msgstr "" +msgstr "Embermagasságú kerítéskapu építése" #: lang/json/construction_from_json.py msgid "Build Split Rail Fence" @@ -84775,11 +89348,11 @@ msgstr "" #: lang/json/construction_from_json.py msgid "Build Privacy Fence" -msgstr "" +msgstr "Embermagasságú kerítés építése" #: lang/json/construction_from_json.py msgid "Build Brick Wall from Adobe" -msgstr "" +msgstr "Téglafal építése vályogból" #: lang/json/construction_from_json.py msgid "Extrude Resin Lattice" @@ -84807,51 +89380,61 @@ msgstr "Ponyva kunyhó építése" #: lang/json/construction_from_json.py msgid "Dig a Shallow Pit" -msgstr "" +msgstr "Sekély gödör ásása" #: lang/json/construction_from_json.py msgid "Dig a Deep Pit" -msgstr "" +msgstr "Mély gödör ásása" #: lang/json/construction_from_json.py msgid "Build Arc Furnace" -msgstr "" +msgstr "Ívolvasztó kemence építése" #: lang/json/construction_from_json.py msgid "Build a bellow." -msgstr "" +msgstr "Fújtató építése" #: lang/json/construction_from_json.py msgid "Build a drop hammer." -msgstr "" +msgstr "Ejtőkalapács építése" #: lang/json/construction_from_json.py msgid "Build a radio tower." -msgstr "" +msgstr "Rádiótorony építése" #: lang/json/construction_from_json.py msgid "Build a radio tower console." -msgstr "" +msgstr "Rádiótorony konzol építése" + +#: lang/json/construction_from_json.py +msgid "Build Log Stool" +msgstr "Rönkzsámoly építése" #: lang/json/construction_from_json.py msgid "Convert Fridge Power Supply" -msgstr "" +msgstr "Hűtőszekrény áramellátásának átszerelése" #: lang/json/construction_from_json.py msgid "" "Converts a fridge to run off of vehicle power. You can 'e'xamine it " "afterwards to take it down for mounting." msgstr "" +"Átszereli a hűtőszekrény áramellátását, hogy az egy jármű rendszeréről " +"üzemeljen. Utána az 'e' gombbal kell megvizsgálni, hogy beszereléshez " +"magaddal vihesd." #: lang/json/construction_from_json.py msgid "Convert Vehicle Fridge to Freezer" -msgstr "" +msgstr "Fagyasztó áramellátásának átszerelése" #: lang/json/construction_from_json.py msgid "" "Further modifies a converted fridge to function as a freezer. You can " "'e'xamine it afterwards to take it down for mounting." msgstr "" +"Átszereli a fagyasztó áramellátását, hogy az egy jármű rendszeréről " +"üzemeljen. Utána az 'e' gombbal kell megvizsgálni, hogy beszereléshez " +"magaddal vihesd." #: lang/json/construction_from_json.py msgid "Chop Tree Trunk Into Logs" @@ -84859,23 +89442,23 @@ msgstr "Fatörzs gerendává aprítása" #: lang/json/construction_from_json.py msgid "Dig a Pit" -msgstr "" +msgstr "Gödör ásása" #: lang/json/construction_from_json.py msgid "Makeshift Wall" -msgstr "" +msgstr "Hevenyészett fal" #: lang/json/construction_from_json.py msgid "Build Hydroponics" -msgstr "" +msgstr "Hidropónia építése" #: lang/json/construction_from_json.py msgid "Build Hydroponics Heater" -msgstr "" +msgstr "Hidropónia melegítő építése" #: lang/json/construction_from_json.py msgid "Build Translocator Gate" -msgstr "" +msgstr "Transzlokátor kapu építése" #: lang/json/construction_from_json.py msgid "Harvest Blob Feed from Corpse Pit: Smash to Harvest" @@ -84988,7 +89571,7 @@ msgstr "Furcsákat álmodsz arról, hogy egy barlangban élsz." #: lang/json/dream_from_json.py msgid "Your dreams give you a strange reclusive feeling." -msgstr "" +msgstr "Az álmaidtól furcsán visszavonulásra vágyó érzésed támad." #: lang/json/dream_from_json.py msgid "You have a strange dream about sea creatures." @@ -85596,6 +90179,42 @@ msgid "You dream of bees fighting over your sweet nectar. Mmm." msgstr "" "Arról álmodsz, hogy méhek harcolnak egymással az édes nektárodért... Mmmm." +#: lang/json/dream_from_json.py +msgid "" +"How grand it would be to sink your roots deep into the soil as the seasons " +"pass you by." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "You dream of a gigantic knot of roots, beating like a heart." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "You have a disturbing dream of termites chewing all over your body." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of sharing your roots with a vast forest, all plants provided for " +"as the canopy grows ever upwards." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "A family of caterpillars munches away at your leaves." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"Fire rages around you, licking at your bark and engulfing the saplings and " +"bushes near your roots. The once chatty forest is quiet in its wake." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of communing with an ancient pine. Trees are the true survivors " +"of this world, it tells you." +msgstr "" + #: lang/json/dream_from_json.py msgid "" "A rather attractive triffid offers you a bouquet of ape heads. How " @@ -86479,7 +91098,7 @@ msgstr "Újra hallasz!" #: lang/json/effects_from_json.py msgid "A bionic LED is glowing softly beneath your skin." -msgstr "" +msgstr "A bőröd alatt egy bionikus LED halványan világít." #: lang/json/effects_from_json.py src/bionics.cpp msgid "Stung" @@ -86726,27 +91345,28 @@ msgstr "" #: lang/json/effects_from_json.py msgid "Took Thorazine" -msgstr "" +msgstr "Thoraznit vett be" #. ~ Description of effect 'Took Thorazine'. #: lang/json/effects_from_json.py msgid "" "You took Thorazine some time ago and you might still be under its influence." msgstr "" +"Egy ideje már bevettél egy thorazint, és még mindig hatása alatt lehetsz." #: lang/json/effects_from_json.py msgid "Poor sight" -msgstr "" +msgstr "Rosszul lát" #. ~ Description of effect 'Poor sight'. #: lang/json/effects_from_json.py msgid "You can't see very far from this spot." -msgstr "" +msgstr "Innen nem lehet nagyon messzire látni." #. ~ Apply message for effect(s) 'Poor sight'. #: lang/json/effects_from_json.py msgid "Your sight distance is impaired." -msgstr "" +msgstr "A látótávolságod lecsökkent." #: lang/json/effects_from_json.py msgid "Webbed" @@ -86961,6 +91581,25 @@ msgstr "A kezed remegése nem múlik el." msgid "You tremble" msgstr "Reszketsz." +#: lang/json/effects_from_json.py +msgid "Seizure" +msgstr "Roham" + +#. ~ Description of effect 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles have seized up, and you can't control them!" +msgstr "A rohamtól az izmaid bemerevednek, és nem tehetsz semmit!" + +#. ~ Remove message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "You regain control of your muscles!" +msgstr "Visszanyered az izmaid feletti uralmad." + +#. ~ Miss message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles won't cooperate!" +msgstr "Az izmaid nem hajlandók engedelmeskedni!" + #: lang/json/effects_from_json.py msgid "Bleeding" msgstr "Vérzik" @@ -87246,12 +91885,12 @@ msgstr "Felépült az influenzából." #: lang/json/effects_from_json.py msgid "Vaccinated" -msgstr "" +msgstr "Beoltva" #. ~ Description of effect 'Vaccinated'. #: lang/json/effects_from_json.py msgid "You have been vaccinated for the flu recently." -msgstr "" +msgstr "A közelmúltban influenza elleni oltást kaptál." #: lang/json/effects_from_json.py msgid "RX12 Healing Comedown" @@ -87474,7 +92113,7 @@ msgstr "Elképesztően sok alkoholt ittál. Itt a világvége, kit érdekel?" #: lang/json/effects_from_json.py msgid "Dead Drunk" -msgstr "" +msgstr "Hulla részeg" #. ~ Description of effect 'Dead Drunk'. #: lang/json/effects_from_json.py @@ -87482,6 +92121,8 @@ msgid "" "You embalmed yourself alive with so much alcohol, that even zombies will " "leave your dead body alone." msgstr "" +"Annyi alkoholt ittál, hogy az már tartósítószernek számít, és még a zombik " +"is el fogják kerülni a holttestedet." #. ~ Miss message for effect(s) 'Tipsy, Drunk, Trashed, Wasted, Dead Drunk'. #. ~ Miss message for effect(s) 'Depressants'. @@ -87589,15 +92230,17 @@ msgid "" "You have been grabbed by an attack.\n" "You are being held in place, and dodging and blocking are very difficult." msgstr "" +"Egy támadásnál megragadtak.\n" +"Egy helyen tartanak, a blokkolás és a kitérés is nagyon nehéz." #: lang/json/effects_from_json.py msgid "Grabbing" -msgstr "" +msgstr "Megragadott" #. ~ Description of effect 'Grabbing'. #: lang/json/effects_from_json.py msgid "Grabbing another creature and holding them in place." -msgstr "" +msgstr "Megragadtál egy másik lényt és a helyén tartod." #: lang/json/effects_from_json.py msgid "Lacking Sleep" @@ -87632,12 +92275,12 @@ msgstr "Felébredsz." #: lang/json/effects_from_json.py msgid "Under operation" -msgstr "" +msgstr "Műtéti beavatkozás" #. ~ Description of effect 'Under operation'. #: lang/json/effects_from_json.py msgid "You are being operated on. Try to stay still." -msgstr "" +msgstr "Jelenleg műtenek téged. Próbálj meg nem mocorogni." #: lang/json/effects_from_json.py msgid "Playing an instrument" @@ -87888,6 +92531,28 @@ msgstr "Az anyagcseréd instabillá válik." msgid "Your metabolism becomes more stable." msgstr "Az anyagcseréd stabilizálódik." +#: lang/json/effects_from_json.py +msgid "Concerning symptoms" +msgstr "Aggodalmas tünetek" + +#. ~ Description of effect 'Concerning symptoms'. +#: lang/json/effects_from_json.py +msgid "Your muscles keep twitching strangely." +msgstr "Az izmaid furcsán rángatóznak." + +#: lang/json/effects_from_json.py +msgid "Unnerving symptoms" +msgstr "Idegesítő tünetek" + +#. ~ Description of effect 'Unnerving symptoms'. +#: lang/json/effects_from_json.py +msgid "" +"Your nervous system is malfunctioning, almost like it's being torn apart " +"from the inside." +msgstr "" +"Az idegrendszered nem működik rendesen, mintha valami belülről próbálná " +"szétszakítani." + #: lang/json/effects_from_json.py msgid "Lit up" msgstr "Világít" @@ -87916,7 +92581,7 @@ msgstr "Ez a sérült végtag lassan, de gyógyul." #: lang/json/effects_from_json.py msgctxt "physically" msgid "Disabled" -msgstr "Kikapcsolva" +msgstr "Rokkant" #. ~ Description of effect '{'ctxt': 'physically', 'str': 'Disabled'}'. #: lang/json/effects_from_json.py @@ -88143,6 +92808,17 @@ msgstr "Túlfeszített" msgid "You've been struck by lightning, and feel... different." msgstr "Villámcsapás ért, és valahogyan... másként érzed magad." +#: lang/json/effects_from_json.py +msgid "Grown of Fusion" +msgstr "" + +#. ~ Description of effect 'Grown of Fusion'. +#: lang/json/effects_from_json.py +msgid "" +"AI effect to increase stats after fusing with another critter. 1 stack means" +" one absorbed max_hp." +msgstr "" + #: lang/json/effects_from_json.py msgid "Religious Offense" msgstr "Vallásos sértés" @@ -88457,6 +93133,33 @@ msgstr "" msgid "The earth pulls you down hard." msgstr "" +#: lang/json/effects_from_json.py +msgid "Scared" +msgstr "" + +#: lang/json/effects_from_json.py +msgid "Frightened" +msgstr "" + +#: lang/json/effects_from_json.py src/npc.cpp +msgid "Terrified" +msgstr "" + +#: lang/json/effects_from_json.py +msgid "" +"Your knees are shaking, your heart beats fast, and your stomach rebels." +msgstr "" + +#. ~ Apply message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "You are afraid!" +msgstr "" + +#. ~ Remove message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "Your fear dissipates." +msgstr "" + #: lang/json/effects_from_json.py msgid "Stuck in a light snare" msgstr "Beragadt egy könnyű csapdába" @@ -88734,6 +93437,192 @@ msgid "" "the commotion." msgstr "" +#: lang/json/epilogue_from_json.py +msgid "" +" Became a hunter after your death, living alone in the woods. Traced " +"back to his cabin, he was murdered and devoured in his sleep by an actual " +"cannibal." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived for many years, and became a renowned scavenger, eventually " +"setting up a small shop in a Free Merchant outpost. Survived by two sons, " +"he died after a rare artifact poisoned his blood with acid." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered and scavenged the land for years after your death, " +"eventually becoming a skilled mechanic. Employed by the Free Merchants, he " +"lived a comfortable, if rather uneventful life, dying of cancer, a rare " +"luxury these days." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became truly depressed after your death and hid in the woods. If " +"rumors are to be believed, he spent years living as a deranged hermit in a " +"distant cave, worshiping stones and sacrificing dogs." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" After your death, he became obsessed with preserving old knowledge and " +"eventually became known as 'the lorekeeper'. Hired by the Old Guard as a " +"librarian, he spent his life amongst dusty old books, trying to convince " +"others of their value. He even changed his name to Frederic Bastiat, in " +"honor of an old French philosopher." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He found faith after your death, eventually joining an Anglican " +"community and becoming a Vicar. The crucifix provided him with a sense of " +"meaning, before dying horribly at the hands of raiders. He was still " +"praying when they roasted him alive." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Lost and damned, he joined a bloody cult after your death, kidnapping " +"and sacrificing young women. His entire group was killed after being " +"discovered by the Old Guard. His head was put on a spike as a reminder that" +" cultists will not be tolerated." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He did not survive for long after your death. Electrocuted in an old " +"cellar, he kept screaming your name. His body was never found." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived you by just a few days, he drowned trying to escape from a " +"horde." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered alone for days, before finding a Free Merchant outpost. He" +" spent a few years as a caravan guard, often drinking himself half blind and" +" enjoying any woman he could find. Booze made his grip unsteady and he was " +"eventually fired. He died of alcohol poisoning the same day." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with the idea of settling down, he eventually found love and " +"retired to a farm in the middle of nowhere. Relatively safe from the " +"monsters, he thrived for years. Survived by seven sons and two daughters." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became famous in the wastes after finding an old brewery and copying " +"their recipe. His chilled beer, a known delicacy, is traded far and wide by" +" the Free Merchants." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Found a whole cellar of single malt whisky. Drank himself to death." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed after your death, he would hang himself after just a few " +"days." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Wandered for months, before finding a small community that would accept" +" him. Became a farmer and spent the rest of his uneventful life tending to " +"crops, glad that he was no longer alone." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with finding 'the Cure', he died a few weeks later in an old " +"lab, torn to shreds by a security turret." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a runner for the Refugee Center and died after a few months." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a raider gang and died in a firefight a few weeks later, trying " +"to rob a Free Merchant caravan." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, he eventually found an intact baseball field and built " +"a prosperous farming community there." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He spent the rest of his short life looking for a new fix. Died of an " +"overdose in an abandoned basement." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a small fishing village. Died a few years " +"later in a raider attack, alongside his young son." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Thoroughly terrified by your death, he retired to an old LMOE shelter, " +"vowing never to leave. He died of starvation inside." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He became a very prosperous game hunter, trading meat and furs, and " +"providing many settlements with food in exchange for booze and male company." +" He died years later of an STD." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Retired to the woods, he spent the rest of his life fishing and hunting" +" in a desolate cabin, rarely interacting with anyone else." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Died en route to California, deliriously dreaming of a better life as " +"he was slowly devoured by spiders." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He tried to cope with loneliness after your death, but failed. He was " +"blind drunk when a group of zombies found his hideout and didn't stand a " +"chance." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He didn't survive for long, waking up to a horde of zombies. They " +"smashed through his fortified windows in a pinch and only the last bullet " +"prevented him from being devoured alive." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He got sick soon after your death, and died without any medical help. " +"His last words were 'Why did I live long enough to suffer like that?'" +msgstr "" + #: lang/json/epilogue_from_json.py msgid "" " Committed suicide rather than fall into the hands of the Hell's " @@ -88953,9 +93842,170 @@ msgid "" "weeks after being dragged to her cell she died from dehydration." msgstr "" +#: lang/json/epilogue_from_json.py +msgid "" +" Shot by the Old Guard a few weeks later, hunted down after she robbed " +"an important caravan." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, she eventually found a quiet community there and spent " +"the rest of her life farming. She's survived by four daughters." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a runner for the Old Guard and was eventually permitted to " +"join. She spent the rest of her life hunting raiders. She died in a " +"skirmish after a few years, sacrificing her life to let her unit retreat. " +"Her name is venerated in songs and inscriptions." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Shortly after your death she joined the Free Merchants, becoming a " +"caravan guard and after a few months became the new liaison in the Refugee " +"Center. She died a few years later of a mysterious illness." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She was found half-dead by the Old Guard who took her in. She became a" +" famous scavenger, known for finding an intact stash of experimental " +"antibiotics." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She retired to the forest, where she built her own cabin and spending " +"the rest of her life fishing." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Captured by raiders, she spent the rest of her miserable life as a " +"slave. Hopeless, she slit her wrists with a rusty knife." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed, she joined a protestant community and became a paragon of " +"virtue. Devoting her life to bible study, she spent the rest of her life in" +" relative peace." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Killed and devoured by a cannibal just a few days after your death, " +"hardly anyone remembers her name." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a renowned merchant after your death, she built her own outpost " +"in the west. An avid book collector, she established a great library to " +"keep the flame of knowledge burning." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled around for months before finding an old farm. She spent a few" +" years tending to her crops and living the life of a hermit before being " +"killed by raiders for fun." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a settlement there. She became a renowned " +"engineer, building the largest steam engine in New England." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a gang after your death, she spent months preying on the " +"innocent, before dying in a dispute with a fellow brute." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Devoured alive by a group of zombies, she kept thinking of you as she " +"died." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She found an abandoned APC and spent years traveling around and " +"collecting personal stories. She wrote one of the few post-apocalyptic " +"books, detailing the life after the end." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Kept wandering for years. Her life was cut short when a group of " +"raiders used her as a target practice." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a skilled game hunter and one of the best shots in the " +"wasteland. Years later she joined the Old Guard and was given the position " +"of Marshal." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Desperate to save humanity from extinction, she organized her own group" +" of survivors, whose job was to hunt bandits and decorate roads with their " +"mutilated bodies. She died in a skirmish a few months later." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became an arsonist, and was incinerated a few weeks later in a fire" +" she set." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She kept wandering for a few weeks but eventually died after drinking " +"untreated water." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She wandered north and joined a local community there. She became " +"known for her trapping skills and ensured that the locals always had fresh " +"meat on their tables." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She joined the Free Merchants and led their first caravan to Canada. " +"She died a few years later of dysentery." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She built a boat and sailed east towards Europe, hoping that it was not" +" affected by the apocalypse. She was never heard from again." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She led a doomsday cult for a few years, she was sacrificed to their " +"gods after a particularly terrible harvest." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became obsessed with chems, and died of an overdose a few months after " +"your death." +msgstr "" + #: lang/json/faction_from_json.py msgid "Your Followers" -msgstr "Követõid" +msgstr "Követőid" #. ~ Description for Your Followers #: lang/json/faction_from_json.py @@ -88963,7 +94013,7 @@ msgid "" "The survivors who have entrusted you with their well-being. If morale " "drops, poor performance and mutiny may become issues." msgstr "" -"Azok a túlélõk, akik a jólétüket rád bízták. Ha a hangulatok túlságosan " +"Azok a túlélők, akik a jólétüket rád bízták. Ha a hangulatok túlságosan " "leromlik, akkor megbízhatatlanabbá válnak és akár fel is lázadhatnak " "ellened." @@ -89064,12 +94114,12 @@ msgstr "" #: lang/json/faction_from_json.py msgid "No Faction" -msgstr "" +msgstr "Frakciótól független" #. ~ Description for No Faction #: lang/json/faction_from_json.py msgid "A lone wolf, not aligned with any faction." -msgstr "" +msgstr "Magányos farkas, aki egyik frakció felé sem húz." #: lang/json/faction_from_json.py src/game.cpp msgid "The Wasteland Scavengers" @@ -89117,10 +94167,10 @@ msgid "A small family surviving on their generational land." msgstr "" #: lang/json/faction_from_json.py -msgid "God's Community" +msgid "New England Church Community" msgstr "" -#. ~ Description for God's Community +#. ~ Description for New England Church Community #: lang/json/faction_from_json.py msgid "" "A small group of churchgoers that formed a community in the woods. They " @@ -89160,102 +94210,224 @@ msgstr "" msgid "Dusty" msgstr "" -#. ~ Description for Dusty +#. ~ description for fault 'Dusty' #: lang/json/fault_from_json.py -msgid "It's dusty. Has no effect - obsolete fault." +msgid "It's dusty. Has no effect - obsolete fault." msgstr "" +#. ~ name of mending method for fault 'Dusty' #: lang/json/fault_from_json.py -msgid "Already deployed" +msgid "Wipe clean" msgstr "" -#. ~ Description for Already deployed +#. ~ success message for mending method 'Wipe clean' of fault 'Dusty' +#. ~ success message for mending method 'Clean gun' of fault 'Fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean you %s." +msgstr "Megtisztítod a(z) %st." + +#: lang/json/fault_from_json.py +msgid "Already deployed" +msgstr "Már aktiválták" + +#. ~ description for fault 'Already deployed' #: lang/json/fault_from_json.py msgid "This bionic needs to be reset to its factory state." -msgstr "" +msgstr "Ezt a bionikát vissza kell állítani az eredeti gyári állapotra." + +#. ~ name of mending method for fault 'Already deployed' +#: lang/json/fault_from_json.py +msgid "Reset to factory state" +msgstr "Gyári állapot visszaállítása" + +#. ~ success message for mending method 'Reset to factory state' of fault +#. 'Already deployed' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully reset the %s to its factory state" +msgstr "A(z) %s-et sikeresen visszaállítottad a gyári alapállapotára." #: lang/json/fault_from_json.py msgid "Blackpowder fouling" -msgstr "" +msgstr "Fekete lőporos kormozódás" -#. ~ Description for Blackpowder fouling +#. ~ description for fault 'Blackpowder fouling' #: lang/json/fault_from_json.py msgid "" "Firing blackpowder loads from a gun fouls it, which reduces reliability and," -" if left uncleaned, leads to rust. It fouls the gun much faster than the use" -" of modern smokeless powder cartridges. Fouling is only a significant impact" -" on reliability at high levels, but black powder fouling accumulates " +" if left uncleaned, leads to rust. It fouls the gun much faster than the " +"use of modern smokeless powder cartridges. Fouling is only a significant " +"impact on reliability at high levels, but black powder fouling accumulates " "quickly." msgstr "" +"Fekete lőporos lövedékektől a fegyverek elkormosodnak, amely csökkenti a " +"megbízhatóságukat, és egy idő után akár rozsdásodáshoz is vezethet. A fekete" +" lőportól sokkal gyorsabban elkormosodnak a fegyverek, mint a modern " +"füstmentes lövedékektől. A kormosodás csak erős kormosodás esetén van " +"hatással a fegyverek megbízhatóságára, de a fekete lőportól gyorsan " +"felhalmozódik a korom." + +#. ~ name of mending method for fault 'Blackpowder fouling' +#: lang/json/fault_from_json.py +msgid "Clean blackpowder fouling" +msgstr "Fekete lőporos kormozódás kitisztítása" + +#. ~ success message for mending method 'Clean blackpowder fouling' of fault +#. 'Blackpowder fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean your %s." +msgstr "Megtisztítod a(z) %st." #: lang/json/fault_from_json.py msgid "Spent casing in chamber" -msgstr "" +msgstr "Beragadt töltényhüvely" -#. ~ Description for Spent casing in chamber +#. ~ description for fault 'Spent casing in chamber' #: lang/json/fault_from_json.py msgid "" "This gun currently has an empty casing chambered. It will have to be " "removed before firing." msgstr "" +"Ebbe a fegyverbe beragadt egy üres töltényhüvely. A következő lövéshez el " +"kell távolítani." + +#. ~ name of mending method for fault 'Spent casing in chamber' +#: lang/json/fault_from_json.py +msgid "Eject spent casing" +msgstr "Üres töltényhüvely kitolása" + +#. ~ success message for mending method 'Eject spent casing' of fault 'Spent +#. casing in chamber' +#: lang/json/fault_from_json.py +#, python-format +msgid "You eject the spent casing from the %s." +msgstr "A(z) %s fegyverből kitolod az üres töltényt." #: lang/json/fault_from_json.py msgid "Fouling" -msgstr "" +msgstr "Kormosodás" -#. ~ Description for Fouling +#. ~ description for fault 'Fouling' #: lang/json/fault_from_json.py msgid "" "Fouling is caused by firing gunpowder loads repeatedly, which reduces " -"reliability and can eventually cause damage to the gun. Fouling accumulates " -"slowly (unless blackpowder is used) due to the design of modern smokeless " +"reliability and can eventually cause damage to the gun. Fouling accumulates" +" slowly (unless blackpowder is used) due to the design of modern smokeless " "powder found in the vast majority of retail cartridges and it is not a " "significant problem until high levels of fouling are reached due to firing " "thousands of rounds without cleaning your firearm." msgstr "" +"A sok lőporos lövedéktől a fegyver bekormosodhat, amely miatt egy idő után a" +" fegyver elakadhat, vagy akár meg is sérülhet. A modern füstmentes " +"lőporoknak köszönhetően a korom lassan halmozódik fel - kivéve ha fekete " +"lőport használsz. A kormosodás csak magas szinteken jelenthet problémát, ha " +"fegyvertisztítás nélkül lőttél ki több ezer lövedéket." + +#. ~ name of mending method for fault 'Fouling' +#: lang/json/fault_from_json.py +msgid "Clean gun" +msgstr "Fegyver kitisztítása" #: lang/json/fault_from_json.py msgid "Worn drive belt" -msgstr "" +msgstr "Elkopott vezérműszíj" -#. ~ Description for Worn drive belt +#. ~ description for fault 'Worn drive belt' #: lang/json/fault_from_json.py msgid "Required for operation of an attached alternator." msgstr "Egy hozzá csatlakoztatott generátor meghajtásához szükséges." +#. ~ name of mending method for fault 'Worn drive belt' +#: lang/json/fault_from_json.py +msgid "Replace worn drive belt" +msgstr "Elkopott vezérműszíj cseréje" + +#. ~ success message for mending method 'Replace worn drive belt' of fault +#. 'Worn drive belt' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the worn drive belt of the %s." +msgstr "Kicseréled a(z) %s elkopott vezérműszíját." + #: lang/json/fault_from_json.py msgid "Faulty glow plugs" -msgstr "" +msgstr "Hibás izzítógyertya" -#. ~ Description for Faulty glow plugs +#. ~ description for fault 'Faulty glow plugs' #: lang/json/fault_from_json.py msgid "Help when starting an engine in low ambient temperatures." msgstr "Alacsony hőmérsékleten segít a motor beindításánál." +#. ~ name of mending method for fault 'Faulty glow plugs' +#: lang/json/fault_from_json.py +msgid "Replace faulty glow plugs" +msgstr "Hibás izzítógyertya cseréje" + +#. ~ success message for mending method 'Replace faulty glow plugs' of fault +#. 'Faulty glow plugs' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty glow plugs of the %s." +msgstr "Kicseréled a(z) %s hibás izzítógyertyáit." + #: lang/json/fault_from_json.py msgid "Active immobiliser" -msgstr "" +msgstr "Aktív indításgátló" -#. ~ Description for Active immobiliser +#. ~ description for fault 'Active immobiliser' #: lang/json/fault_from_json.py msgid "Prevents starting of the vehicle without the appropriate key." msgstr "Megfelelő kulcs nélkül megakadályozza a jármû beindítását." +#. ~ name of mending method for fault 'Active immobiliser' #: lang/json/fault_from_json.py -msgid "Faulty diesel pump" +msgid "Deactivate immobiliser" +msgstr "Indításgátló kikapcsolása" + +#. ~ description for mending method 'Deactivate immobiliser' of fault 'Active +#. immobiliser' +#: lang/json/fault_from_json.py +msgid "" +"Deactivate the immobiliser that is preventing the vehicle from starting." msgstr "" +"Kikapcsolja az indításgátló, ami miatt a járművet nem lehet beindítani." + +#. ~ success message for mending method 'Deactivate immobiliser' of fault +#. 'Active immobiliser' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully deactivate the immobiliser of the %s." +msgstr "Sikeresen kikapcsolod a(z) %s indításgátlóját." -#. ~ Description for Faulty diesel pump +#: lang/json/fault_from_json.py +msgid "Faulty diesel pump" +msgstr "Hibás dízelszivattyú" + +#. ~ description for fault 'Faulty diesel pump' #: lang/json/fault_from_json.py msgid "Required to pump and pressurize diesel from a vehicles tank." msgstr "" "A járművek tartályából szivattyúzza ki és helyezi nyomás alá a dízelolajat." +#. ~ name of mending method for fault 'Faulty diesel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty diesel pump" +msgstr "Hibás dízelszivattyú cseréje" + +#. ~ success message for mending method 'Replace faulty diesel pump' of fault +#. 'Faulty diesel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty diesel pump of the %s" +msgstr "Kicseréled a(z) %s hibás dízelszivattyúját." + #: lang/json/fault_from_json.py msgid "Expired air filter" -msgstr "" +msgstr "Eltömődött légszűrő" -#. ~ Description for Expired air filter +#. ~ description for fault 'Expired air filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces fuel efficiency and increases smoke production." @@ -89263,46 +94435,106 @@ msgstr "" "Egy eltömődött szûrő növeli az üzemanyag-fogyasztást és a kipufogógázok " "füstjét." +#. ~ name of mending method for fault 'Expired air filter' +#: lang/json/fault_from_json.py +msgid "Replace expired air filter" +msgstr "Eltömődött légszűrő cseréje" + +#. ~ success message for mending method 'Replace expired air filter' of fault +#. 'Expired air filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired air filter of the %s." +msgstr "Kicseréled a(z) %s eltömődött légszűrőjét." + #: lang/json/fault_from_json.py msgid "Expired fuel filter" -msgstr "" +msgstr "Eltömődött üzemanyagszűrő" -#. ~ Description for Expired fuel filter +#. ~ description for fault 'Expired fuel filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces performance and increases the chance of backfires." msgstr "" -"Egy eltömődött szûrő csökkenti a motor erejét és növeli a lángkicsapódásos " +"Egy eltömődött szűrő csökkenti a motor erejét és növeli a lángkicsapódásos " "robbanás esélyét." +#. ~ name of mending method for fault 'Expired fuel filter' +#: lang/json/fault_from_json.py +msgid "Replace expired fuel filter" +msgstr "Eltömődött üzemanyagszűrő cseréje" + +#. ~ success message for mending method 'Replace expired fuel filter' of fault +#. 'Expired fuel filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired fuel filter of the %s." +msgstr "Kicseréled a(z) %s eltömődött üzemanyagszűrőjét." + #: lang/json/fault_from_json.py msgid "Faulty fuel pump" -msgstr "" +msgstr "Hibás benzinszivattyú" -#. ~ Description for Faulty fuel pump +#. ~ description for fault 'Faulty fuel pump' #: lang/json/fault_from_json.py msgid "Required to pump gasoline from a vehicles tank." msgstr "" "A járművek tartályából szivattyúzza ki és helyezi nyomás alá a benzint." +#. ~ name of mending method for fault 'Faulty fuel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty fuel pump" +msgstr "Hibás benzinszivattyú cseréje" + +#. ~ success message for mending method 'Replace faulty fuel pump' of fault +#. 'Faulty fuel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty fuel pump of the %s." +msgstr "Kicseréled a(z) %s hibás benzinzszivattyúját." + #: lang/json/fault_from_json.py msgid "Faulty water pump" -msgstr "" +msgstr "Hibás vízszivattyú" -#. ~ Description for Faulty water pump +#. ~ description for fault 'Faulty water pump' #: lang/json/fault_from_json.py msgid "Required to pump water to an external radiator or heatsink." msgstr "Külső hűtőrácsba vagy radiátorba szivattyúzza a hűtővizet." +#. ~ name of mending method for fault 'Faulty water pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty water pump" +msgstr "Hibás vízszivattyú cseréje" + +#. ~ success message for mending method 'Replace faulty water pump' of fault +#. 'Faulty water pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty water pump of the %s." +msgstr "Kicseréled a(z) %s hibás vízszivattyúját." + #: lang/json/fault_from_json.py msgid "Faulty starter motor" -msgstr "" +msgstr "Hibás önindító motor" -#. ~ Description for Faulty starter motor +#. ~ description for fault 'Faulty starter motor' #: lang/json/fault_from_json.py msgid "Required to initially start the engine." msgstr "A motor beindításához szükséges." +#. ~ name of mending method for fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +msgid "Replace faulty starter motor" +msgstr "Hibás önindító motor cseréje" + +#. ~ success message for mending method 'Replace faulty starter motor' of +#. fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty starter motor of %s." +msgstr "Kicseréled a(z) %s hibás önindítóját." + #: lang/json/field_type_from_json.py lang/json/overmap_terrain_from_json.py #: lang/json/overmap_terrain_from_json.py src/mapdata.cpp src/mapdata.cpp #: src/skill.cpp @@ -89789,37 +95021,53 @@ msgstr "" msgid "smoke vent" msgstr "" +#: lang/json/field_type_from_json.py +msgid "clairvoyance" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "dreadful presense" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "frightful presense" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "terrifying presense" +msgstr "" + #: lang/json/furniture_from_json.py msgid "mutated cactus" msgstr "mutálódott kaktusz" #: lang/json/furniture_from_json.py msgid "cooling unit" -msgstr "" +msgstr "hűtőberendezés" #. ~ Description for cooling unit #: lang/json/furniture_from_json.py msgid "A big, blocky metal device for refrigerating large areas." msgstr "" +"Egy nagyméretű, doboz formájú fém berendezés nagyobb területek hűtésére." -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "metal screeching!" msgstr "fémcsikorgás!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "clang!" msgstr "csengg!" #: lang/json/furniture_from_json.py msgid "central air filter" -msgstr "" +msgstr "központi légszűrő" #. ~ Description for central air filter #: lang/json/furniture_from_json.py msgid "Cleans out dust mites, smoke particles, and more!" msgstr "" +"A levegőből kiszűri az atkákat, a porszemcséket, és még sok minden mást!" #. ~ Description for dishwasher #: lang/json/furniture_from_json.py @@ -89828,6 +95076,10 @@ msgid "" " clean and to save people an unpleasant chore. Now, with the power gone and" " it sitting for a while, it's starting to smell a bit off." msgstr "" +"Ezt a fémdobozt arra használták, hogy szappanos forró vizet spricceljen a " +"piszkos tányérokra, és így ne az embereknek kelljen a mosogatás kelletlen " +"feladatát elvégezni. Most, hogy nincs áram, és egy ideje már itt áll, kezd " +"fura szaga lenni." #: lang/json/furniture_from_json.py msgid "dryer" @@ -89836,7 +95088,7 @@ msgstr "szárító" #. ~ Description for dryer #: lang/json/furniture_from_json.py msgid "'Dry your clothes!' would be what you'd do if electricity was running." -msgstr "" +msgstr "Kiszáríthatnád vele a ruháidat, ha lenne áram." #: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py msgid "refrigerator" @@ -89849,6 +95101,9 @@ msgid "" "flowing. Well, as long as you don't open it, maybe it'll stay cool for " "awhile." msgstr "" +"Az ételedet az elektromosság csodái segítségével tudod lehűteni! Ja, várj, " +"nincs áram. Hát, ha nem nyitogatod az ajtaját, akkor talán még egy ideig " +"hűvösebb lesz benne." #: lang/json/furniture_from_json.py msgid "glass door fridge" @@ -89859,6 +95114,8 @@ msgstr "üvagajtós hűtő" msgid "" "Wow! See INTO your fridge before you open it and discover it's not working!" msgstr "" +"Hűha! Már azelőtt benézhetsz a hűtőbe, hogy kinyitod az ajtaját! És már most" +" látod, hogy nem működik!" #: lang/json/furniture_from_json.py msgid "furnace" @@ -89870,6 +95127,8 @@ msgid "" "A gas-powered forced-air central heating unit, with an internal fan to push " "the air through a building's air ducts and keep it warm." msgstr "" +"Földgáz tüzelésű központi fűtés kazánja, amelyben egy ventillátor nyomja " +"szét a meleg levegőt a ház szellőzőrendszerébe." #. ~ Description for washing machine #: lang/json/furniture_from_json.py @@ -89887,10 +95146,13 @@ msgid "" "working, although it still has parts. It might be safe to light a fire " "inside of it, if you had to." msgstr "" +"Elektromosság segítségével lehet vele főzni és sütni. Most nem működik, de " +"az alkatrészeit talán lehet valamire használni. Biztonságosan lehet benne " +"tüzet gyújtani, ami nem fog továbbterjedni." #: lang/json/furniture_from_json.py msgid "blacksmith bellows" -msgstr "" +msgstr "kovácsműhely fújtató" #. ~ Description for blacksmith bellows #: lang/json/furniture_from_json.py @@ -89898,10 +95160,12 @@ msgid "" "Used for delivering air to increase the combustion and heat output of a " "forge. Doesn't look like it's working, although it still has parts." msgstr "" +"Kovácsműhelyet lát el levegővel, hogy növelje annak hőfokát. Most nem " +"működik, de az alkatrészeit talán lehet valamire használni." #: lang/json/furniture_from_json.py msgid "blacksmith drop hammer" -msgstr "" +msgstr "kovácsműhely ejtőkalapács" #. ~ Description for blacksmith drop hammer #: lang/json/furniture_from_json.py @@ -89909,6 +95173,57 @@ msgid "" "Used for fast production of metal items. Doesn't look like it's working, " "although it still has parts." msgstr "" +"Fémeszközök gyors gyártásához használták. Most nem működik, de az " +"alkatrészeit talán lehet valamire használni." + +#: lang/json/furniture_from_json.py +msgid "document shredder" +msgstr "iratmegsemmisítő" + +#. ~ Description for document shredder +#: lang/json/furniture_from_json.py +msgid "" +"It's not all about hiding government secrets, sometimes you just want to " +"stop identity theft." +msgstr "" +"Nem csak kormányzati titkok elfedésére használják, néha a személyes adatok " +"védelmére." + +#: lang/json/furniture_from_json.py +msgid "server stack" +msgstr "szerverszekrény" + +#. ~ Description for server stack +#: lang/json/furniture_from_json.py +msgid "This is a big pile of computers. They're all turned off." +msgstr "Magas oszlopnyi számítógéphalmaz. Mindegyik ki van kapcsolva." + +#: lang/json/furniture_from_json.py +msgid "large satellite dish" +msgstr "nagy műholdas antenna" + +#. ~ Description for large satellite dish +#: lang/json/furniture_from_json.py +msgid "" +"Somewhere up there, there are still satellites, orbiting and doing their " +"thing, sending signals down to an Earth that is no longer listening." +msgstr "" +"Valahol ott fenn még mindig vannak műholdak. Ott fenn, a föld körüli pályán." +" Még mindig azt csinálják, amit eddig - jeleket sugároznak egy olyan Földre," +" ahol már nem figyel rájuk senki sem." + +#: lang/json/furniture_from_json.py +msgid "mounted solar panel" +msgstr "felszerelt napelem" + +#. ~ Description for mounted solar panel +#: lang/json/furniture_from_json.py +msgid "A mounted solar panel." +msgstr "Egy felszerelt napelem." + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "whack!" +msgstr "csatt!" #: lang/json/furniture_from_json.py msgid "road barricade" @@ -89921,22 +95236,22 @@ msgstr "Barikád. Az út elbarikádozására." #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py #: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +#: src/vehicle_move.cpp msgid "smash!" msgstr "csörömpölés!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "whump." msgstr "tompa puffanás." #: lang/json/furniture_from_json.py msgid "earthbag barricade" -msgstr "" +msgstr "földzsák barikád" #. ~ Description for earthbag barricade #: lang/json/furniture_from_json.py msgid "An earthbag barricade, typically used for blocking bullets." -msgstr "" +msgstr "Egy földdel töltött zsák, a lövedékek felfogására hasznos." #: lang/json/furniture_from_json.py msgid "rrrip!" @@ -89944,12 +95259,12 @@ msgstr "szakadás!" #: lang/json/furniture_from_json.py msgid "earthbag wall" -msgstr "" +msgstr "földzsák fal" #. ~ Description for earthbag wall #: lang/json/furniture_from_json.py msgid "An earthbag wall." -msgstr "" +msgstr "Egy földzsák fal." #: lang/json/furniture_from_json.py msgid "lane guard" @@ -89967,7 +95282,7 @@ msgstr "homokzsák barikád" #. ~ Description for sandbag barricade #: lang/json/furniture_from_json.py msgid "A sandbag barricade, typically used for blocking bullets." -msgstr "" +msgstr "Egy homokkal töltött barikád, a lövedékek felfogására hasznos." #: lang/json/furniture_from_json.py msgid "sandbag wall" @@ -89976,6 +95291,115 @@ msgstr "homokzsák fal" #. ~ Description for sandbag wall #: lang/json/furniture_from_json.py msgid "A sandbag wall." +msgstr "Egy homokzsák fal." + +#: lang/json/furniture_from_json.py +msgid "standing mirror" +msgstr "álló tükör" + +#. ~ Description for standing mirror +#: lang/json/furniture_from_json.py +msgid "Lookin' good - is that blood?" +msgstr "Jól nézek ki - az ott vér?" + +#: lang/json/furniture_from_json.py +msgid "glass breaking" +msgstr "ablak betörése" + +#: lang/json/furniture_from_json.py +msgid "broken standing mirror" +msgstr "törött álló tükör" + +#. ~ Description for broken standing mirror +#: lang/json/furniture_from_json.py +msgid "" +"You could look at yourself, if the mirror wasn't covered in cracks and " +"fractures." +msgstr "" +"Megnézhetnéd benne magadat, ha a tükör nem lenne tele repedéssel és " +"töréssel." + +#: lang/json/furniture_from_json.py +msgid "bitts" +msgstr "" + +#. ~ Description for bitts +#: lang/json/furniture_from_json.py +msgid "" +"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " +"to secure mooring lines, ropes, hawsers, or cables." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "manacles" +msgstr "bilincs" + +#. ~ Description for manacles +#: lang/json/furniture_from_json.py +msgid "" +"Chain serfs in your dungeon. All you need now is an iron ball to chain to " +"it." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "crack." +msgstr "reccs." + +#: lang/json/furniture_from_json.py +msgid "statue" +msgstr "szobor" + +#. ~ Description for statue +#: lang/json/furniture_from_json.py +msgid "A carved statue made of stone." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +msgid "thump." +msgstr "puffanás." + +#: lang/json/furniture_from_json.py +msgid "mannequin" +msgstr "manöken" + +#. ~ Description for mannequin +#: lang/json/furniture_from_json.py +msgid "" +"Put clothes on it, talk to it. Who's around to judge you? Wait… did it " +"just move?" +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "birdbath" +msgstr "" + +#. ~ Description for birdbath +#: lang/json/furniture_from_json.py +msgid "A decorative cement birdbath and pedestal." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "rotary clothes dryer line" +msgstr "" + +#. ~ Description for rotary clothes dryer line +#: lang/json/furniture_from_json.py +msgid "A umbrella shaped clothes line mounted on a pole." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "floor lamp" +msgstr "" + +#. ~ Description for floor lamp +#: lang/json/furniture_from_json.py +msgid "A tall standing lamp, meant to plug into a wall and light up a room." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bonk!" msgstr "" #: lang/json/furniture_from_json.py @@ -90089,6 +95513,85 @@ msgid "" "be used for planting crops. This one contains a planted seedling" msgstr "" +#: lang/json/furniture_from_json.py +msgid "spider egg sack" +msgstr "póktojás hólyag" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Much too large, off-white egg sack. Kind of icky. Something IS moving in " +"there." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "splat!" +msgstr "fröccs!" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " +"in there." +msgstr "" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"A horrifyingly oversized egg sack. Something IS moving in there. If you're" +" seeing this, you're already too close to it." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "ruptured egg sack" +msgstr "felrepedt tojás hólyag" + +#. ~ Description for ruptured egg sack +#: lang/json/furniture_from_json.py +msgid "Super icky. Spider stuff's spilling out." +msgstr "" + +#. ~ Description for swamp gas +#: lang/json/furniture_from_json.py +msgid "" +"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " +"toxic gas." +msgstr "" + +#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp +msgid "splash!" +msgstr "csobbanás!" + +#. ~ Description for fog +#: lang/json/furniture_from_json.py +msgid "This is a misty cloud of fog." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "fake workbench hands" +msgstr "" + +#. ~ Description for fake workbench hands +#: lang/json/furniture_from_json.py +msgid "This fake workbench holds the stats for working on a wielded item." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "ground crafting spot" +msgstr "" + +#. ~ Description for ground crafting spot +#: lang/json/furniture_from_json.py +msgid "" +"A cleared spot on the ground for crafting. Slower than using a workbench or" +" holding a project in your hands, but readily available." +msgstr "" + +#. ~ Description for seeing this is a bug +#: lang/json/furniture_from_json.py +msgid "Seeing this is a bug. If seen, please report and destroy." +msgstr "" + #: lang/json/furniture_from_json.py msgid "fireplace" msgstr "kandalló" @@ -90253,7 +95756,7 @@ msgid "" msgstr "" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: src/iuse.cpp +#: lang/json/terrain_from_json.py src/iuse.cpp msgid "crunch!" msgstr "reccs!" @@ -90266,7 +95769,7 @@ msgstr "marloss virág" msgid "" "This flower is like the other flowers taken by the mushrooms, but its bulb " "is colored a brilliant cyan color, and it emits an aroma both overwhelming " -"and... delicious?" +"and… delicious?" msgstr "" #: lang/json/furniture_from_json.py @@ -90302,6 +95805,103 @@ msgid "" "Alien mold and stems mingle tightly here, creating a sort of fungal bush." msgstr "" +#: lang/json/furniture_from_json.py +msgid "stone slab" +msgstr "kőlap" + +#. ~ Description for stone slab +#: lang/json/furniture_from_json.py +msgid "A flat slab of heavy stone." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "headstone" +msgstr "sírkő" + +#. ~ Description for headstone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies." +msgstr "Itt vannak a holttestek." + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +msgid "thump!" +msgstr "puffanás!" + +#: lang/json/furniture_from_json.py +msgid "gravestone" +msgstr "síremlék" + +#. ~ Description for gravestone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies. More fancy." +msgstr "Itt vannak a holttestek. Elegáns." + +#: lang/json/furniture_from_json.py +msgid "worn gravestone" +msgstr "kopott síremlék" + +#. ~ Description for worn gravestone +#: lang/json/furniture_from_json.py +msgid "A worn-out gravestone." +msgstr "Egy kopott síremlék." + +#: lang/json/furniture_from_json.py +msgid "obelisk" +msgstr "obeliszk" + +#. ~ Description for obelisk +#: lang/json/furniture_from_json.py +msgid "Monument to pride." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "thunk!" +msgstr "puff!" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "robotic assembler" +msgstr "robotizált összeszerelõ" + +#. ~ Description for robotic assembler +#: lang/json/furniture_from_json.py +msgid "" +"A durable and versatile robotic arm with a tool fitted to the end, for " +"working on an assembly line." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "chemical mixer" +msgstr "vegyianyag mixer" + +#. ~ Description for chemical mixer +#: lang/json/furniture_from_json.py +msgid "" +"When chemicals need to be mixed in large quantities at just the right " +"combinations and temperatures, this is the tool for the job." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "robotic arm" +msgstr "robotkar" + +#. ~ Description for robotic arm +#: lang/json/furniture_from_json.py +msgid "" +"Automation! Science! Industry! Make a better horse! This robot arm " +"promises to do it all. Except it's currently unpowered. You could remove " +"the casing and retrieve the electronics through disassembly." +msgstr "" +"Automatika! Tudomány! Ipar! Jobb a lónál! Ez a robotkar mindezt ígéri. " +"Kivéve, hogy most nincsen áram. A burkolatod le lehet szedni, és talán szét " +"lehetne szerelni az elektronikus alkatrészekért." + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "thunk." +msgstr "puff." + #: lang/json/furniture_from_json.py msgid "Autodoc Mk. XI" msgstr "XI. típusú robotdoki" @@ -90315,10 +95915,6 @@ msgstr "" "Bionikák beépítésére és eltávolítására szolgáló sebészeti berendezés. " "Hatékonysága a felhasználó készségétől függ." -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "whack!" -msgstr "csatt!" - #: lang/json/furniture_from_json.py msgid "Autodoc operation couch" msgstr "Robotdoki műtőfotel" @@ -90340,14 +95936,16 @@ msgid "" "dishwasher. It steams things at temperatures that will kill almost " "anything." msgstr "" +"Ez tulajdonképpen egy csúcstechnológiai mosógép. Vagy mosogatógép. Magas " +"hőmérsékleten gőzöl be dolgokat, amitől az összes károkozó meghal." #: lang/json/furniture_from_json.py msgid "filled autoclave" -msgstr "" +msgstr "megtöltött autókláv" #: lang/json/furniture_from_json.py msgid "sample freezer" -msgstr "" +msgstr "mintatároló fagyasztó" #. ~ Description for sample freezer #: lang/json/furniture_from_json.py @@ -90356,10 +95954,12 @@ msgid "" "will store stuff at -80 degrees Celsius. Don't lick the metal on the " "inside." msgstr "" +"Amikor a hideg nem elég hideg, akkor itt van ez az extrém mélyhűtő. Mínusz " +"80 fokon tárol dolgokat. A belső fémfelületét ne nyald meg." #: lang/json/furniture_from_json.py msgid "lab workbench" -msgstr "" +msgstr "labor munkalap" #. ~ Description for lab workbench #: lang/json/furniture_from_json.py @@ -90368,10 +95968,12 @@ msgid "" "most chemical spills and burns. It has wired in electrical and gas " "fittings." msgstr "" +"Fém tárolószekrény, felette tartós műgyanta munkalap, amely ellenáll a " +"legtöbb vegyi anyagnak. Bekötött konnektorral és gázcsövekkel rendelkezik." #: lang/json/furniture_from_json.py msgid "fume hood" -msgstr "" +msgstr "füstelszívó" #. ~ Description for fume hood #: lang/json/furniture_from_json.py @@ -90380,6 +95982,9 @@ msgid "" " in the hood draws fumes and smoke from dangerous chemicals up into a " "ventilation duct." msgstr "" +"Egy laboratóriumi munkalap felé szerelt fémbúra tartós üveglap oldalakkal. A" +" fémbúrában található ventilátor a vegyi reakciók során keletkező veszélyes " +"gázokat és füstöt szívja el." #: lang/json/furniture_from_json.py msgid "shaker incubator" @@ -90609,9 +96214,9 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "This is a meaty green stalactite with a thickened hide like that of a " -"starfish, extending from the floor to the ceiling. In the center is a series" -" of ports somewhat like mouths, from which pour bursts of a vile smelling " -"gas." +"starfish, extending from the floor to the ceiling. In the center is a " +"series of ports somewhat like mouths, from which pour bursts of a vile " +"smelling gas." msgstr "" #: lang/json/furniture_from_json.py @@ -90637,10 +96242,6 @@ msgid "" "out of injured vessels." msgstr "" -#: lang/json/furniture_from_json.py -msgid "splat!" -msgstr "fröccs!" - #: lang/json/furniture_from_json.py msgid "slimy pod" msgstr "" @@ -90685,7 +96286,7 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "This pulsing protuberance juts from the floor, its sides covered in scaled, " -"oozing skin. The surface is flat, but undulates softly. A handful of " +"oozing skin. The surface is flat, but undulates softly. A handful of " "unidentifiable appendages reach from the sides, suggesting a sort of " "nightmarish living autodoc." msgstr "" @@ -90738,6 +96339,8 @@ msgid "" "A porcelain throne. Emergency water source, from the tank, and provider of " "relief." msgstr "" +"Egy porcelán trón. Vész esetén vízforrás a tartályból, valamint a " +"megkönnyebbülés helye." #: lang/json/furniture_from_json.py msgid "water heater" @@ -90843,12 +96446,6 @@ msgid "" "your workout. Might have useful electronic parts in it." msgstr "" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py src/map.cpp -#: src/mapdata.cpp -msgid "thump!" -msgstr "puffanás!" - #: lang/json/furniture_from_json.py msgid "treadmill" msgstr "futópad" @@ -90857,7 +96454,7 @@ msgstr "futópad" #: lang/json/furniture_from_json.py msgid "" "Used for training leg muscles. It'll be extra hard without power. Could be" -" taken apart for its... parts." +" taken apart for its… parts." msgstr "" #: lang/json/furniture_from_json.py @@ -90883,7 +96480,7 @@ msgstr "zongora" #: lang/json/furniture_from_json.py msgid "" "The ol' ebony and ivory. Really classes up the place. You could take it " -"apart if you wanted... you monster." +"apart if you wanted… you monster." msgstr "" #: lang/json/furniture_from_json.py @@ -90894,6 +96491,18 @@ msgstr "rosszul hangolt zongora!" msgid "kerchang." msgstr "csengg." +#: lang/json/furniture_from_json.py +msgid "speaker cabinet" +msgstr "" + +#. ~ Description for speaker cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A cabinet loaded with 12-inch speakers, intended to help make various things" +" loud. It can't serve its original purpose these days, but it could be " +"disassembled for various electronic parts." +msgstr "" + #: lang/json/furniture_from_json.py msgid "cell phone signal booster" msgstr "" @@ -91025,6 +96634,53 @@ msgstr "" msgid "stool" msgstr "zsámoly" +#. ~ Description for camp chair +#: lang/json/furniture_from_json.py +msgid "Sit down, have a drink. It can folded for easy transportation." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "log stool" +msgstr "" + +#. ~ Description for log stool +#: lang/json/furniture_from_json.py +msgid "" +"A log tipped on its end with any rough edges cut off. Basically a very " +"simple seat." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bulletin board" +msgstr "hirdetőtábla" + +#. ~ Description for bulletin board +#: lang/json/furniture_from_json.py +msgid "" +"A big, cork bulletin board capable of sporting various notices. Pin some " +"notes for other survivors to read." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "sign" +msgstr "tábla" + +#. ~ Description for sign +#: lang/json/furniture_from_json.py +msgid "Read it. Warnings ahead." +msgstr "Olvasd el. Vedd tudomásul." + +#: lang/json/furniture_from_json.py +msgid "warning sign" +msgstr "" + +#. ~ Description for warning sign +#: lang/json/furniture_from_json.py +msgid "" +"A triangle-shaped sign on a post meant to indicate something important or " +"hazard." +msgstr "" + #: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py msgid "bed" msgstr "ágy" @@ -91062,7 +96718,7 @@ msgstr "" msgid "rrrrip!" msgstr "tépés!" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/furniture_from_json.py msgid "" "A comfortable feather down mattress has been tossed on the floor for " @@ -91090,13 +96746,22 @@ msgstr "Egy kicsit viszketsz tőle, amikor ráfekszel. " #: lang/json/furniture_from_json.py msgid "bookcase" -msgstr "" +msgstr "könyvespolc" #. ~ Description for bookcase #: lang/json/furniture_from_json.py msgid "Stores books. Y'know, those things. Who reads books anymore?" msgstr "" +#: lang/json/furniture_from_json.py +msgid "entertainment center" +msgstr "" + +#. ~ Description for entertainment center +#: lang/json/furniture_from_json.py +msgid "Stores audio visual equipment, books and collectible." +msgstr "" + #: lang/json/furniture_from_json.py msgid "coffin" msgstr "koporsó" @@ -91141,6 +96806,21 @@ msgstr "kinyitott láda" msgid "What's inside? Look in it!" msgstr "Hogy mi van benne? Nézz bele!" +#. ~ Description for large cardboard box +#: lang/json/furniture_from_json.py +msgid "" +"A large cardboard box: this could be used to store things, or as a hiding " +"place." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "crumple!" +msgstr "" + +#: lang/json/furniture_from_json.py src/ballistics.cpp +msgid "thud." +msgstr "puffanás." + #: lang/json/furniture_from_json.py msgid "cupboard" msgstr "szekrény" @@ -91293,6 +96973,27 @@ msgstr "szemetes" msgid "One man's trash is another man's dinner." msgstr "" +#: lang/json/furniture_from_json.py +msgid "wardrobe" +msgstr "gardrób" + +#. ~ Description for wardrobe +#: lang/json/furniture_from_json.py +msgid "A tall piece of furniture - basically a freestanding closet." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "filing cabinet" +msgstr "iratrendező fémszekrény" + +#. ~ Description for filing cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " +"locked to protect important information. If you're lucky, there are often " +"keys nearby." +msgstr "" + #: lang/json/furniture_from_json.py msgid "utility shelf" msgstr "" @@ -91311,6 +97012,42 @@ msgstr "fahordó" msgid "A keg made mostly of wood. Holds liquids, preferably alcoholic." msgstr "" +#: lang/json/furniture_from_json.py +msgid "display case" +msgstr "üvegszekrény" + +#. ~ Description for display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff fancily and securely." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "broken display case" +msgstr "törött üvegszekrény" + +#. ~ Description for broken display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff. It'll get stolen." +msgstr "A tárgyak kiállítására szolgál. Ez már nem véd a lopás ellen." + +#: lang/json/furniture_from_json.py +msgid "standing tank" +msgstr "álló tartály" + +#. ~ Description for standing tank +#: lang/json/furniture_from_json.py +msgid "A large freestanding metal tank, useful for holding liquids." +msgstr "Folyadéktárolásra kiképzett nagyméretű fémtartály." + +#: lang/json/furniture_from_json.py +msgid "dumpster" +msgstr "szemetes konténer" + +#. ~ Description for dumpster +#: lang/json/furniture_from_json.py +msgid "Stores trash. Doesn't get picked up anymore. Note the smell." +msgstr "" + #: lang/json/furniture_from_json.py msgid "counter" msgstr "pult" @@ -91387,7 +97124,7 @@ msgstr "" #. ~ Description for tourist table #: lang/json/furniture_from_json.py msgid "" -"Small metal folding table, ideal for off-road trips into the wild. Can be " +"Small metal folding table, ideal for off-road trips into the wild. Can be " "used as a workbench in a pinch." msgstr "" @@ -91400,283 +97137,200 @@ msgstr "asztal" msgid "Sit down when you eat!" msgstr "Ülj le, amikor eszel!" +#. ~ Description for table #: lang/json/furniture_from_json.py -msgid "forge" -msgstr "kovácsműhely" - -#. ~ Description for forge -#: lang/json/furniture_from_json.py -msgid "Metalworking station typically used in combination with an anvil." -msgstr "Fémmegmunkálási eszköz, gyakran üllővel együtt használják." - -#. ~ Description for anvil -#: lang/json/furniture_from_json.py -msgid "Used in metalworking." -msgstr "Fémmegmunkálásnál használják." - -#. ~ Description for still -#: lang/json/furniture_from_json.py -msgid "" -"An essential component for brewing and chemistry that allows for refining " -"liquid mixtures." -msgstr "" -"Szeszfőzési és vegyészeti alapeszköz, segítségével folyadékokat lehet " -"finomítani." - -#. ~ Description for charcoal kiln -#. ~ Description for filled charcoal kiln -#: lang/json/furniture_from_json.py -msgid "" -"A rock kiln designed to burn wood and organic material into charcoal in " -"absence of oxygen." +msgid "a low table for livingrooms." msgstr "" -"Egy kőből készült kemence, amely oxigénmentes környezetben történő égés " -"során hoz faszenet létre a fából és egyéb szerves anyagokból." #: lang/json/furniture_from_json.py -msgid "metal charcoal kiln" -msgstr "fém faszenes kemence" +msgid "tatami mat" +msgstr "tatami szőnyeg" -#. ~ Description for metal charcoal kiln -#. ~ Description for filled metal charcoal kiln +#. ~ Description for tatami mat #: lang/json/furniture_from_json.py msgid "" -"A metal kiln designed to burn wood and organic material into charcoal in " -"absence of oxygen." +"A tatami is a type of mat used as a flooring material in traditional " +"Japanese-style rooms." msgstr "" -"Egy fémből készült kemence, amely oxigénmentes környezetben történő égés " -"során hoz faszenet létre a fából és egyéb szerves anyagokból." #: lang/json/furniture_from_json.py -msgid "filled metal charcoal kiln" -msgstr "megtöltött fém faszenes kemence" +msgid "pillow fort" +msgstr "párnavár" -#. ~ Description for arc furnace -#. ~ Description for filled arc furnace +#. ~ Description for pillow fort #: lang/json/furniture_from_json.py -msgid "" -"An arc furnace designed to burn a powdery mix of coke and limestone to " -"create calcium carbide." +msgid "A comfy place to hide from the world. Not very defensible, though." msgstr "" #: lang/json/furniture_from_json.py -msgid "filled arc furnace" -msgstr "" +msgid "paf!" +msgstr "paff!" #: lang/json/furniture_from_json.py -msgid "smoking rack" -msgstr "füstölőállvány" +msgid "cardboard fort" +msgstr "" -#. ~ Description for smoking rack -#. ~ Description for metal smoking rack -#. ~ Description for active metal smoking rack +#. ~ Description for cardboard fort #: lang/json/furniture_from_json.py msgid "" -"A special rack designed to smoke food for better preservation and taste." +"A fort built by tipping a cardboard box on its side, lining it with " +"blankets, and partly weather sealing it with a plastic sheet." msgstr "" -"Ezt a különleges állványt az étel füstölésénél használják, amely egyrészt " -"tartósít, másrészt jobb ízt ad." #: lang/json/furniture_from_json.py -msgid "active smoking rack" -msgstr "aktív füstölőállvány" +msgid "cardboard wall" +msgstr "" -#. ~ Description for active smoking rack +#. ~ Description for cardboard wall #: lang/json/furniture_from_json.py msgid "" -"A special rack designed to smoke food for better preservation and taste. It" -" is lit and smoking." +"This is a pile of cardboard boxes that have been filled with rags and junk " +"and stacked together like bricks to form a wall." msgstr "" -"Ezt a különleges állványt az étel füstölésénél használják, amely egyrészt " -"tartósít, másrészt jobb ízt ad. Ez be van gyújtva, és füstöl." #: lang/json/furniture_from_json.py -msgid "active metal smoking rack" +msgid "beaded curtain" msgstr "" +#. ~ Description for beaded curtain #: lang/json/furniture_from_json.py -msgid "rock forge" -msgstr "szikla kovácsműhely" - -#. ~ Description for rock forge -#: lang/json/furniture_from_json.py -msgid "" -"Metalworking station made of rock, typically used in combination with an " -"anvil." +msgid "This beaded curtain could be pulled aside." msgstr "" -"Kőből készült fémmegmunkálási eszköz, gyakran üllővel együtt használják." #: lang/json/furniture_from_json.py -msgid "clay kiln" -msgstr "agyag kemence" +msgid "clickity clack… clack… clack" +msgstr "" -#. ~ Description for clay kiln #: lang/json/furniture_from_json.py -msgid "A kiln designed to bake clay pottery and bricks." -msgstr "Agyagedények és téglák kisütésére készített kemence." +msgid "clickity clack… clack" +msgstr "" -#. ~ Description for stepladder #: lang/json/furniture_from_json.py -msgid "" -"A short, foldable ladder. Can help you climb to a rooftop, or maybe slow " -"something down." +msgid "open beaded curtain" msgstr "" +#. ~ Description for open beaded curtain #: lang/json/furniture_from_json.py -msgid "electric arc furnace" +msgid "This beaded curtain has been pulled aside." msgstr "" -#. ~ Description for electric arc furnace #: lang/json/furniture_from_json.py -msgid "" -"Not the kind of furnace you'd heat your house with, this is a device for " -"heating things to extreme temperatures as part of industrial fabrication " -"processes." +msgid "clickity clack… clack… clack!" msgstr "" #: lang/json/furniture_from_json.py -msgid "drill press" -msgstr "" +msgid "canvas floor" +msgstr "vászon padló" -#. ~ Description for drill press +#. ~ Description for canvas floor #: lang/json/furniture_from_json.py msgid "" -"A powerful drill mounted on a slide that lets it drop precisely down. " -"Useful in all kinds of projects from industrial fabrication to home " -"woodworking." +"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " +"of the tent." msgstr "" #: lang/json/furniture_from_json.py -msgid "tablesaw" -msgstr "" +msgid "canvas wall" +msgstr "vászon fal" -#. ~ Description for tablesaw +#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "" -"A rotating saw blade set into a large flat table, for making straight " -"measured cuts. One of the key tools in a carpenter's arsenal." +msgid "A wall made of stretched, waterproof cloth." msgstr "" -#: lang/json/furniture_from_json.py -msgid "mitre saw" -msgstr "" +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "slap!" +msgstr "csatt!" -#. ~ Description for mitre saw +#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "" -"A circular saw blade on an arm that can slide and rotate in several " -"directions, this is a staple tool for nearly any carpentry." +msgid "A wall made of stretched, heavy-duty, waterproof cloth." msgstr "" #: lang/json/furniture_from_json.py -msgid "bandsaw" -msgstr "" +msgid "canvas flap" +msgstr "vászon redőny" -#. ~ Description for bandsaw +#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "" -"A ribbonlike sawblade runs in a single direction in this tool, allowing " -"precise cuts at almost any angle." +msgid "This canvas flap door could be pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "router table" -msgstr "" +msgid "open canvas flap" +msgstr "nyitott vászon redőny" -#. ~ Description for router table +#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "" -"This table has an inset router, a rotating motor with an exchangeable blade " -"head for cutting specific profiles and grooves and stuff." +msgid "This canvas flap door has been pulled aside." msgstr "" +#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "planer" +msgid "This heavy canvas flap door could be pulled aside." msgstr "" -#. ~ Description for planer +#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "" -"A hefty tool that will take in a board and cut it smooth and flat to a " -"specific width. Particularly great if working with raw lumber stock, but " -"also good just for shaving wood down to size." +msgid "This heavy canvas flap door has been pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "jointer" -msgstr "" +msgid "groundsheet" +msgstr "padlóvászon" -#. ~ Description for jointer +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "" -"A table-shaped tool with a rotating blade that will cut down, smooth out, " -"and square off a board to make it very smooth and nice indeed." +msgid "This plastic groundsheet could keep you dry." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "hydraulic press" -msgstr "hidraulikus prés" - -#. ~ Description for hydraulic press +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "" -"If you really want to squash something a lot, this would be exactly the " -"right industrial tool for you. If, you know, it had power." +msgid "This large plastic groundsheet could keep you dry." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "power lathe" -msgstr "esztergapad" - -#. ~ Description for power lathe +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py msgid "" -"An industrial-grade lathe, for turning chunks of metal and other hard things" -" into round chunks of metal and other hard things." +"This plastic government-issue groundsheet could keep you dry, but was made " +"by the lowest bidder." msgstr "" #: lang/json/furniture_from_json.py -msgid "air compressor" -msgstr "" +msgid "animalskin wall" +msgstr "állatbőr fal" -#. ~ Description for air compressor +#. ~ Description for animalskin wall #: lang/json/furniture_from_json.py -msgid "" -"This durable tank is topped with a motor that will cram as much air into the" -" tank as possible." -msgstr "" +msgid "Wall made out of animal skin. Either an amazing or horrifying sight." +msgstr "Állati bőrből készült fal. Vagy csodálatos, vagy borzalmas látvány." #: lang/json/furniture_from_json.py -msgid "fermenting vat" -msgstr "erjesztőkád" +msgid "animalskin flap" +msgstr "állatbőr redőny" -#. ~ Description for fermenting vat -#. ~ Description for filled fermenting vat +#. ~ Description for animalskin flap #: lang/json/furniture_from_json.py -msgid "A sealable vat for fermenting vinegar and various alcoholic brews." -msgstr "Lezárható kád ecet és mindenféle alkohol erjesztéséhez." +msgid "This animal skin flap could be pulled aside." +msgstr "" #: lang/json/furniture_from_json.py -msgid "filled fermenting vat" -msgstr "teli erjesztőkád" +msgid "open animalskin flap" +msgstr "nyitott állatbőr redőny" +#. ~ Description for open animalskin flap #: lang/json/furniture_from_json.py -msgid "butchering rack" -msgstr "hentesállvány" +msgid "This animal skin flap has been pulled aside." +msgstr "" -#. ~ Description for butchering rack #: lang/json/furniture_from_json.py -msgid "Butchering rack designed to hang a carcass in the air." -msgstr "A hentesállványról lehet lelógatni a szétbontandó tetemet." +msgid "animalskin floor" +msgstr "állatbőr padló" -#. ~ Description for metal butchering rack +#. ~ Description for animalskin floor #: lang/json/furniture_from_json.py -msgid "" -"Metal butchering rack designed to hang a carcass in the air. It can be " -"deconstructed and folded for easy transportation." +msgid "This animal skin groundsheet could keep you dry." msgstr "" -"Levágott állatok feldolgozásához használható fémállvány. A keret " -"szállításhoz szétszerelhető és összehajtható." #: lang/json/furniture_from_json.py msgid "pile of rubble" @@ -91707,8 +97361,7 @@ msgstr "szeméthalom" #. ~ Description for pile of trashy rubble #: lang/json/furniture_from_json.py msgid "" -"Trash topped with dirt and grass, it smells gross, but another man's " -"trash..." +"Trash topped with dirt and grass, it smells gross, but another man's trash…" msgstr "" #: lang/json/furniture_from_json.py @@ -91730,463 +97383,321 @@ msgid "Some ash, from wood or possibly bodies." msgstr "Valamiféle hamu, lehet fából, lehet holttestből." #: lang/json/furniture_from_json.py -msgid "bulletin board" -msgstr "hirdetőtábla" +msgid "small boulder" +msgstr "kis szikla" -#. ~ Description for bulletin board +#. ~ Description for small boulder #: lang/json/furniture_from_json.py msgid "" -"A big, cork bulletin board capable of sporting various notices. Pin some " -"notes for other survivors to read." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "sign" -msgstr "tábla" +"Blocking your path. Should be easy to move. It can be used as a primitive " +"anvil." +msgstr "Könnyen mozdítható, primitív üllőként használható." -#. ~ Description for sign #: lang/json/furniture_from_json.py -msgid "Read it. Warnings ahead." -msgstr "Olvasd el. Vedd tudomásul." +msgid "medium boulder" +msgstr "közepes szikla" +#. ~ Description for medium boulder #: lang/json/furniture_from_json.py -msgid "warning sign" -msgstr "" +msgid "" +"Blocking your path. It'll be a struggle to move. It can be used as a " +"primitive anvil." +msgstr "Elállja az utadat. Nehezen mozdítható. Primitív üllőként használható." -#. ~ Description for warning sign #: lang/json/furniture_from_json.py -msgid "" -"A triangle-shaped sign on a post meant to indicate something important or " -"hazard." -msgstr "" +msgid "large boulder" +msgstr "nagy szikla" +#. ~ Description for large boulder #: lang/json/furniture_from_json.py -msgid "standing mirror" -msgstr "álló tükör" +msgid "Now how are you going to move this?" +msgstr "És akkor ezt most mégis hogyan szándékoztad elmozdítani?" -#. ~ Description for standing mirror #: lang/json/furniture_from_json.py -msgid "Lookin' good - is that blood?" -msgstr "" +msgid "forge" +msgstr "kovácsműhely" +#. ~ Description for forge #: lang/json/furniture_from_json.py -msgid "glass breaking" -msgstr "ablak betörése" +msgid "Metalworking station typically used in combination with an anvil." +msgstr "Fémmegmunkálási eszköz, gyakran üllővel együtt használják." +#. ~ Description for anvil #: lang/json/furniture_from_json.py -msgid "broken standing mirror" -msgstr "törött álló tükör" +msgid "Used in metalworking." +msgstr "Fémmegmunkálásnál használják." -#. ~ Description for broken standing mirror +#. ~ Description for still #: lang/json/furniture_from_json.py msgid "" -"You could look at yourself, if the mirror wasn't covered in cracks and " -"fractures." +"An essential component for brewing and chemistry that allows for refining " +"liquid mixtures." msgstr "" -"Megnézhetnéd benne magadat, ha a tükör nem lenne tele repedéssel és " -"töréssel." - -#: lang/json/furniture_from_json.py -msgid "vending machine" -msgstr "automata" - -#. ~ Description for vending machine -#: lang/json/furniture_from_json.py -msgid "Buy stuff with a cash card." -msgstr "Bankkártyával lehet belőle vásárolni." - -#: lang/json/furniture_from_json.py -msgid "broken vending machine" -msgstr "elromlott automata" +"Szeszfőzési és vegyészeti alapeszköz, segítségével folyadékokat lehet " +"finomítani." -#. ~ Description for broken vending machine +#. ~ Description for charcoal kiln +#. ~ Description for filled charcoal kiln #: lang/json/furniture_from_json.py msgid "" -"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " -"you wouldn't need to pay at all!" +"A rock kiln designed to burn wood and organic material into charcoal in " +"absence of oxygen." msgstr "" +"Egy kőből készült kemence, amely oxigénmentes környezetben történő égés " +"során hoz faszenet létre a fából és egyéb szerves anyagokból." #: lang/json/furniture_from_json.py -msgid "dumpster" -msgstr "szemetes konténer" +msgid "metal charcoal kiln" +msgstr "fém faszenes kemence" -#. ~ Description for dumpster +#. ~ Description for metal charcoal kiln +#. ~ Description for filled metal charcoal kiln #: lang/json/furniture_from_json.py -msgid "Stores trash. Doesn't get picked up anymore. Note the smell." +msgid "" +"A metal kiln designed to burn wood and organic material into charcoal in " +"absence of oxygen." msgstr "" +"Egy fémből készült kemence, amely oxigénmentes környezetben történő égés " +"során hoz faszenet létre a fából és egyéb szerves anyagokból." #: lang/json/furniture_from_json.py -msgid "canvas wall" -msgstr "vászon fal" - -#. ~ Description for canvas wall -#: lang/json/furniture_from_json.py -msgid "A wall made of stretched, waterproof cloth." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "slap!" -msgstr "csatt!" +msgid "filled metal charcoal kiln" +msgstr "megtöltött fém faszenes kemence" -#. ~ Description for canvas wall +#. ~ Description for arc furnace +#. ~ Description for filled arc furnace #: lang/json/furniture_from_json.py -msgid "A wall made of stretched, heavy-duty, waterproof cloth." +msgid "" +"An arc furnace designed to burn a powdery mix of coke and limestone to " +"create calcium carbide." msgstr "" #: lang/json/furniture_from_json.py -msgid "canvas flap" -msgstr "vászon redőny" - -#. ~ Description for canvas flap -#: lang/json/furniture_from_json.py -msgid "This canvas flap door could be pulled aside." +msgid "filled arc furnace" msgstr "" #: lang/json/furniture_from_json.py -msgid "open canvas flap" -msgstr "nyitott vászon redőny" +msgid "smoking rack" +msgstr "füstölőállvány" -#. ~ Description for open canvas flap +#. ~ Description for smoking rack +#. ~ Description for metal smoking rack +#. ~ Description for active metal smoking rack #: lang/json/furniture_from_json.py -msgid "This canvas flap door has been pulled aside." +msgid "" +"A special rack designed to smoke food for better preservation and taste." msgstr "" +"Ezt a különleges állványt az étel füstölésénél használják, amely egyrészt " +"tartósít, másrészt jobb ízt ad." -#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door could be pulled aside." -msgstr "" +msgid "active smoking rack" +msgstr "aktív füstölőállvány" -#. ~ Description for open canvas flap +#. ~ Description for active smoking rack #: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door has been pulled aside." +msgid "" +"A special rack designed to smoke food for better preservation and taste. It" +" is lit and smoking." msgstr "" +"Ezt a különleges állványt az étel füstölésénél használják, amely egyrészt " +"tartósít, másrészt jobb ízt ad. Ez be van gyújtva, és füstöl." #: lang/json/furniture_from_json.py -msgid "groundsheet" -msgstr "padlóvászon" - -#. ~ Description for groundsheet -#: lang/json/furniture_from_json.py -msgid "This plastic groundsheet could keep you dry." +msgid "active metal smoking rack" msgstr "" -#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "This large plastic groundsheet could keep you dry." -msgstr "" +msgid "rock forge" +msgstr "szikla kovácsműhely" -#. ~ Description for groundsheet +#. ~ Description for rock forge #: lang/json/furniture_from_json.py msgid "" -"This plastic government-issue groundsheet could keep you dry, but was made " -"by the lowest bidder." +"Metalworking station made of rock, typically used in combination with an " +"anvil." msgstr "" +"Kőből készült fémmegmunkálási eszköz, gyakran üllővel együtt használják." #: lang/json/furniture_from_json.py -msgid "animalskin wall" -msgstr "állatbőr fal" - -#. ~ Description for animalskin wall -#: lang/json/furniture_from_json.py -msgid "Wall made out of animal skin. Either an amazing or horrifying sight." -msgstr "Állati bőrből készült fal. Vagy csodálatos, vagy borzalmas látvány." +msgid "clay kiln" +msgstr "agyag kemence" +#. ~ Description for clay kiln #: lang/json/furniture_from_json.py -msgid "animalskin flap" -msgstr "állatbőr redőny" +msgid "A kiln designed to bake clay pottery and bricks." +msgstr "Agyagedények és téglák kisütésére készített kemence." -#. ~ Description for animalskin flap +#. ~ Description for stepladder #: lang/json/furniture_from_json.py -msgid "This animal skin flap could be pulled aside." +msgid "" +"A short, foldable ladder. Can help you climb to a rooftop, or maybe slow " +"something down." msgstr "" #: lang/json/furniture_from_json.py -msgid "open animalskin flap" -msgstr "nyitott állatbőr redőny" - -#. ~ Description for open animalskin flap -#: lang/json/furniture_from_json.py -msgid "This animal skin flap has been pulled aside." +msgid "electric arc furnace" msgstr "" +#. ~ Description for electric arc furnace #: lang/json/furniture_from_json.py -msgid "animalskin floor" -msgstr "állatbőr padló" - -#. ~ Description for animalskin floor -#: lang/json/furniture_from_json.py -msgid "This animal skin groundsheet could keep you dry." +msgid "" +"Not the kind of furnace you'd heat your house with, this is a device for " +"heating things to extreme temperatures as part of industrial fabrication " +"processes." msgstr "" #: lang/json/furniture_from_json.py -msgid "statue" -msgstr "szobor" - -#. ~ Description for statue -#: lang/json/furniture_from_json.py -msgid "A carved statue made of stone." +msgid "drill press" msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "thump." -msgstr "puffanás." - -#: lang/json/furniture_from_json.py -msgid "mannequin" -msgstr "manöken" - -#. ~ Description for mannequin +#. ~ Description for drill press #: lang/json/furniture_from_json.py msgid "" -"Put clothes on it, talk to it. Who's around to judge you? Wait... did it " -"just move?" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "birdbath" +"A powerful drill mounted on a slide that lets it drop precisely down. " +"Useful in all kinds of projects from industrial fabrication to home " +"woodworking." msgstr "" -#. ~ Description for birdbath #: lang/json/furniture_from_json.py -msgid "A decorative cement birdbath and pedestal." +msgid "tablesaw" msgstr "" +#. ~ Description for tablesaw #: lang/json/furniture_from_json.py -msgid "rotary clothes dryer line" +msgid "" +"A rotating saw blade set into a large flat table, for making straight " +"measured cuts. One of the key tools in a carpenter's arsenal." msgstr "" -#. ~ Description for rotary clothes dryer line #: lang/json/furniture_from_json.py -msgid "A umbrella shaped clothes line mounted on a pole." +msgid "mitre saw" msgstr "" +#. ~ Description for mitre saw #: lang/json/furniture_from_json.py -msgid "mounted solar panel" +msgid "" +"A circular saw blade on an arm that can slide and rotate in several " +"directions, this is a staple tool for nearly any carpentry." msgstr "" -#. ~ Description for mounted solar panel #: lang/json/furniture_from_json.py -msgid "A mounted solar panel." +msgid "bandsaw" msgstr "" -#: lang/json/furniture_from_json.py -msgid "spider egg sack" -msgstr "póktojás hólyag" - -#. ~ Description for spider egg sack +#. ~ Description for bandsaw #: lang/json/furniture_from_json.py msgid "" -"Much too large, off-white egg sack. Kind of icky. Something IS moving in " -"there." +"A ribbonlike sawblade runs in a single direction in this tool, allowing " +"precise cuts at almost any angle." msgstr "" -#. ~ Description for spider egg sack #: lang/json/furniture_from_json.py -msgid "" -"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " -"in there." +msgid "router table" msgstr "" -#. ~ Description for spider egg sack +#. ~ Description for router table #: lang/json/furniture_from_json.py msgid "" -"A horrifyingly oversized egg sack. Something IS moving in there. If you're" -" seeing this, you're already too close to it." +"This table has an inset router, a rotating motor with an exchangeable blade " +"head for cutting specific profiles and grooves and stuff." msgstr "" #: lang/json/furniture_from_json.py -msgid "ruptured egg sack" -msgstr "felrepedt tojás hólyag" - -#. ~ Description for ruptured egg sack -#: lang/json/furniture_from_json.py -msgid "Super icky. Spider stuff's spilling out." +msgid "planer" msgstr "" -#: lang/json/furniture_from_json.py -msgid "reinforced vending machine" -msgstr "páncélozott automata" - -#. ~ Description for reinforced vending machine +#. ~ Description for planer #: lang/json/furniture_from_json.py msgid "" -"A bit tougher to crack open than regular vending machines. That just makes " -"it all the sweeter a target, doesn't it?" +"A hefty tool that will take in a board and cut it smooth and flat to a " +"specific width. Particularly great if working with raw lumber stock, but " +"also good just for shaving wood down to size." msgstr "" #: lang/json/furniture_from_json.py -msgid "display case" -msgstr "üvegszekrény" - -#. ~ Description for display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff fancily and securely." +msgid "jointer" msgstr "" -#: lang/json/furniture_from_json.py -msgid "broken display case" -msgstr "törött üvegszekrény" - -#. ~ Description for broken display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff. It'll get stolen." -msgstr "A tárgyak kiállítására szolgál. Ez már nem véd a lopás ellen." - -#: lang/json/furniture_from_json.py -msgid "standing tank" -msgstr "álló tartály" - -#. ~ Description for standing tank -#: lang/json/furniture_from_json.py -msgid "A large freestanding metal tank, useful for holding liquids." -msgstr "Folyadéktárolásra kiképzett nagyméretű fémtartály." - -#: lang/json/furniture_from_json.py -msgid "canvas floor" -msgstr "vászon padló" - -#. ~ Description for canvas floor +#. ~ Description for jointer #: lang/json/furniture_from_json.py msgid "" -"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " -"of the tent." +"A table-shaped tool with a rotating blade that will cut down, smooth out, " +"and square off a board to make it very smooth and nice indeed." msgstr "" -#: lang/json/furniture_from_json.py -msgid "robotic arm" -msgstr "robotkar" +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "hydraulic press" +msgstr "hidraulikus prés" -#. ~ Description for robotic arm +#. ~ Description for hydraulic press #: lang/json/furniture_from_json.py msgid "" -"Automation! Science! Industry! Make a better horse! This robot arm " -"promises to do it all. Except it's currently unpowered. You could remove " -"the casing and retrieve the electronics through disassembly." +"If you really want to squash something a lot, this would be exactly the " +"right industrial tool for you. If, you know, it had power." msgstr "" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "thunk." -msgstr "puff." - -#: lang/json/furniture_from_json.py -msgid "automated gas console" -msgstr "automata benzinkút-fej" - -#. ~ Description for automated gas console -#: lang/json/furniture_from_json.py -msgid "Automated gas flow control console." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "broken automated gas console" -msgstr "elromlott automata benzinkút-fej" +msgid "power lathe" +msgstr "esztergapad" -#. ~ Description for broken automated gas console +#. ~ Description for power lathe #: lang/json/furniture_from_json.py msgid "" -"Automated gas flow control console. Broken. This is not a good thing." +"An industrial-grade lathe, for turning chunks of metal and other hard things" +" into round chunks of metal and other hard things." msgstr "" #: lang/json/furniture_from_json.py -msgid "small boulder" -msgstr "kis szikla" - -#. ~ Description for small boulder -#: lang/json/furniture_from_json.py -msgid "" -"Blocking your path. Should be easy to move. It can be used as a primitive " -"anvil." -msgstr "Könnyen mozdítható, primitív üllőként használható." - -#: lang/json/furniture_from_json.py -msgid "medium boulder" -msgstr "közepes szikla" - -#. ~ Description for medium boulder -#: lang/json/furniture_from_json.py -msgid "" -"Blocking your path. It'll be a struggle to move. It can be used as a " -"primitive anvil." -msgstr "Elállja az utadat. Nehezen mozdítható. Primitív üllőként használható." - -#: lang/json/furniture_from_json.py -msgid "large boulder" -msgstr "nagy szikla" - -#. ~ Description for large boulder -#: lang/json/furniture_from_json.py -msgid "Now how are you going to move this?" -msgstr "És akkor ezt most mégis hogyan szándékoztad elmozdítani?" - -#: lang/json/furniture_from_json.py -msgid "stone slab" -msgstr "kőlap" - -#. ~ Description for stone slab -#: lang/json/furniture_from_json.py -msgid "A flat slab of heavy stone." +msgid "air compressor" msgstr "" -#: lang/json/furniture_from_json.py -msgid "manacles" -msgstr "bilincs" - -#. ~ Description for manacles +#. ~ Description for air compressor #: lang/json/furniture_from_json.py msgid "" -"Chain serfs in your dungeon. All you need now is an iron ball to chain to " -"it." +"This durable tank is topped with a motor that will cram as much air into the" +" tank as possible." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "crack." -msgstr "reccs." - #: lang/json/furniture_from_json.py -msgid "headstone" -msgstr "sírkő" - -#. ~ Description for headstone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies." -msgstr "Itt vannak a holttestek." - -#: lang/json/furniture_from_json.py -msgid "gravestone" -msgstr "síremlék" +msgid "fermenting vat" +msgstr "erjesztőkád" -#. ~ Description for gravestone +#. ~ Description for fermenting vat +#. ~ Description for filled fermenting vat #: lang/json/furniture_from_json.py -msgid "Keeps the bodies. More fancy." -msgstr "Itt vannak a holttestek. Elegáns." +msgid "A sealable vat for fermenting vinegar and various alcoholic brews." +msgstr "Lezárható kád ecet és mindenféle alkohol erjesztéséhez." #: lang/json/furniture_from_json.py -msgid "worn gravestone" -msgstr "kopott síremlék" +msgid "filled fermenting vat" +msgstr "teli erjesztőkád" -#. ~ Description for worn gravestone #: lang/json/furniture_from_json.py -msgid "A worn-out gravestone." -msgstr "Egy kopott síremlék." +msgid "butchering rack" +msgstr "hentesállvány" +#. ~ Description for butchering rack #: lang/json/furniture_from_json.py -msgid "obelisk" -msgstr "obeliszk" +msgid "Butchering rack designed to hang a carcass in the air." +msgstr "A hentesállványról lehet lelógatni a szétbontandó tetemet." -#. ~ Description for obelisk +#. ~ Description for metal butchering rack #: lang/json/furniture_from_json.py -msgid "Monument to pride." +msgid "" +"Metal butchering rack designed to hang a carcass in the air. It can be " +"deconstructed and folded for easy transportation." msgstr "" +"Levágott állatok feldolgozásához használható fémállvány. A keret " +"szállításhoz szétszerelhető és összehajtható." #: lang/json/furniture_from_json.py -msgid "thunk!" -msgstr "puff!" +msgid "hanging meathook" +msgstr "" -#. ~ Description for camp chair +#. ~ Description for hanging meathook #: lang/json/furniture_from_json.py -msgid "Sit down, have a drink. It can folded for easy transportation." +msgid "A hefty hook suspended from a chain for stringing up corpses." msgstr "" #. ~ Description for wind mill @@ -92224,254 +97735,53 @@ msgid "" msgstr "" #: lang/json/furniture_from_json.py -msgid "pillow fort" -msgstr "párnavár" - -#. ~ Description for pillow fort -#: lang/json/furniture_from_json.py -msgid "A comfy place to hide from the world. Not very defensible, though." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "paf!" -msgstr "paff!" - -#: lang/json/furniture_from_json.py -msgid "cardboard fort" -msgstr "" - -#. ~ Description for cardboard fort -#: lang/json/furniture_from_json.py -msgid "" -"A fort built by tipping a cardboard box on its side, lining it with " -"blankets, and partly weather sealing it with a plastic sheet." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "crumple!" -msgstr "" - -#: lang/json/furniture_from_json.py src/ballistics.cpp -msgid "thud." -msgstr "puffanás." - -#: lang/json/furniture_from_json.py -msgid "cardboard wall" -msgstr "" - -#. ~ Description for cardboard wall -#: lang/json/furniture_from_json.py -msgid "" -"This is a pile of cardboard boxes that have been filled with rags and junk " -"and stacked together like bricks to form a wall." -msgstr "" - -#. ~ Description for large cardboard box -#: lang/json/furniture_from_json.py -msgid "" -"A large cardboard box: this could be used to store things, or as a hiding " -"place." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "beaded curtain" -msgstr "" - -#. ~ Description for beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain could be pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "open beaded curtain" -msgstr "" - -#. ~ Description for open beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain has been pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "filing cabinet" -msgstr "iratrendező fémszekrény" - -#. ~ Description for filing cabinet -#: lang/json/furniture_from_json.py -msgid "" -"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " -"locked to protect important information. If you're lucky, there are often " -"keys nearby." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "wardrobe" -msgstr "gardrób" - -#. ~ Description for wardrobe -#: lang/json/furniture_from_json.py -msgid "A tall piece of furniture - basically a freestanding closet." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "robotic assembler" -msgstr "robotizált összeszerelõ" - -#. ~ Description for robotic assembler -#: lang/json/furniture_from_json.py -msgid "" -"A durable and versatile robotic arm with a tool fitted to the end, for " -"working on an assembly line." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "chemical mixer" -msgstr "vegyianyag mixer" - -#. ~ Description for chemical mixer -#: lang/json/furniture_from_json.py -msgid "" -"When chemicals need to be mixed in large quantities at just the right " -"combinations and temperatures, this is the tool for the job." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "floor lamp" -msgstr "" - -#. ~ Description for floor lamp -#: lang/json/furniture_from_json.py -msgid "A tall standing lamp, meant to plug into a wall and light up a room." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "bonk!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "document shredder" -msgstr "" - -#. ~ Description for document shredder -#: lang/json/furniture_from_json.py -msgid "" -"It's not all about hiding government secrets, sometimes you just want to " -"stop identity theft." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "server stack" -msgstr "" - -#. ~ Description for server stack -#: lang/json/furniture_from_json.py -msgid "This is a big pile of computers. They're all turned off." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "large satellite dish" -msgstr "" - -#. ~ Description for large satellite dish -#: lang/json/furniture_from_json.py -msgid "" -"Somewhere up there, there are still satellites, orbiting and doing their " -"thing, sending signals down to an Earth that is no longer listening." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "hanging meathook" -msgstr "" - -#. ~ Description for hanging meathook -#: lang/json/furniture_from_json.py -msgid "A hefty hook suspended from a chain for stringing up corpses." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "fake workbench hands" -msgstr "" - -#. ~ Description for fake workbench hands -#: lang/json/furniture_from_json.py -msgid "This fake workbench holds the stats for working on a wielded item." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "ground crafting spot" -msgstr "" +msgid "automated gas console" +msgstr "automata benzinkút-fej" -#. ~ Description for ground crafting spot +#. ~ Description for automated gas console #: lang/json/furniture_from_json.py -msgid "" -"A cleared spot on the ground for crafting. Slower than using a workbench or" -" holding a project in your hands, but readily available." +msgid "Automated gas flow control console." msgstr "" #: lang/json/furniture_from_json.py -msgid "tatami mat" -msgstr "tatami szőnyeg" +msgid "broken automated gas console" +msgstr "elromlott automata benzinkút-fej" -#. ~ Description for tatami mat +#. ~ Description for broken automated gas console #: lang/json/furniture_from_json.py msgid "" -"A tatami is a type of mat used as a flooring material in traditional " -"Japanese-style rooms." +"Automated gas flow control console. Broken. This is not a good thing." msgstr "" #: lang/json/furniture_from_json.py -msgid "bitts" -msgstr "" +msgid "reinforced vending machine" +msgstr "páncélozott automata" -#. ~ Description for bitts +#. ~ Description for reinforced vending machine #: lang/json/furniture_from_json.py msgid "" -"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " -"to secure mooring lines, ropes, hawsers, or cables." +"A bit tougher to crack open than regular vending machines. That just makes " +"it all the sweeter a target, doesn't it?" msgstr "" #: lang/json/furniture_from_json.py -msgid "speaker cabinet" -msgstr "" +msgid "vending machine" +msgstr "automata" -#. ~ Description for speaker cabinet +#. ~ Description for vending machine #: lang/json/furniture_from_json.py -msgid "" -"A cabinet loaded with 12-inch speakers, intended to help make various things" -" loud. It can't serve its original purpose these days, but it could be " -"disassembled for various electronic parts." -msgstr "" +msgid "Buy stuff with a cash card." +msgstr "Bankkártyával lehet belőle vásárolni." -#. ~ Description for seeing this is a bug #: lang/json/furniture_from_json.py -msgid "Seeing this is a bug. If seen, please report and destroy." -msgstr "" +msgid "broken vending machine" +msgstr "elromlott automata" -#. ~ Description for swamp gas +#. ~ Description for broken vending machine #: lang/json/furniture_from_json.py msgid "" -"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " -"toxic gas." -msgstr "" - -#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp -msgid "splash!" -msgstr "csobbanás!" - -#. ~ Description for fog -#: lang/json/furniture_from_json.py -msgid "This is a misty cloud of fog." +"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " +"you wouldn't need to pay at all!" msgstr "" #. ~ Description for vehicle refrigerator @@ -92572,6 +97882,15 @@ msgid "" "blood, candles, and other small knick-knacks." msgstr "" +#: lang/json/furniture_from_json.py +msgid "large glowing boulder" +msgstr "" + +#. ~ Description for large glowing boulder +#: lang/json/furniture_from_json.py +msgid "Something about this doesn't look right." +msgstr "" + #: lang/json/furniture_from_json.py msgid "krash!" msgstr "csatt!" @@ -92601,8 +97920,8 @@ msgstr "A kapu nyitva!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You turn the handle..." -msgstr "Elfordítod a kilincset..." +msgid "You turn the handle…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -92621,8 +97940,8 @@ msgstr "A pajta ajtaja nyitva!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You pull the rope..." -msgstr "Meghúzod a kötelet..." +msgid "You pull the rope…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -92656,8 +97975,8 @@ msgstr "Az ajtó felemelkedik!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You throw the lever..." -msgstr "Elfordítod a fogantyút..." +msgid "You throw the lever…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -92780,7 +98099,7 @@ msgid "Fake gun that fires acid globs." msgstr "Nem igazi fegyver, ami savtócsákat lő ki." #: lang/json/gun_from_json.py lang/json/gunmod_from_json.py -#: src/item_factory.cpp src/turret.cpp +#: src/item_factory.cpp msgid "auto" msgstr "automata" @@ -92851,11 +98170,8 @@ msgstr[1] "" msgid "" "A primitive bow fashioned from a single piece of wood, made specifically for" " the person using it. Weak and wildly inaccurate, it doesn't work that " -"well, unfortunately..." +"well, unfortunately…" msgstr "" -"Egyetlen darab fából készített primitív íj, kifejezetten a használó személy " -"számára készült. Gyenge és eszméletlenül pontatlan, úgyhogy annyira azért " -"nem jó..." #: lang/json/gun_from_json.py msgid "short bow" @@ -93069,9 +98385,7 @@ msgstr "" "gyenge fegyver, apróvadra jó. A fegyverből kilőtt tüskék jó eséllyel " "sértetlenül megmaradnak és újra használhatók." -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "pistol" msgstr "pisztoly" @@ -93377,10 +98691,10 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "Portable Plasma Accelerator Model Five, developed by Lockheed Martin " -"Corporation. This device uses highly advanced capacitor banks to create a " -"torus of superheated hydrogen plasma and accelerate it to incredible speed. " -"It was designed to take down heavy vehicles, and was expected to fully enter" -" US Army service not long before the Cataclysm." +"Corporation. This device uses highly advanced capacitor banks to create a " +"torus of superheated hydrogen plasma and accelerate it to incredible speed." +" It was designed to take down heavy vehicles, and was expected to fully " +"enter US Army service not long before the Cataclysm." msgstr "" #: lang/json/gun_from_json.py @@ -93400,8 +98714,7 @@ msgstr "" "képes. A fegyvert csövekből és egy kétlövetű sörétes puska csövéből " "készítették." -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py msgctxt "gun_type_type" msgid "shotgun" msgstr "sörétes puska" @@ -93907,8 +99220,8 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"The Walther P22 is a blowback operated semi-automatic pistol. It is about " -"half the size of most Walthers. It is made mostly with plastic, with the " +"The Walther P22 is a blowback operated semi-automatic pistol. It is about " +"half the size of most Walthers. It is made mostly with plastic, with the " "slide and key components being made of die-cast zinc alloy" msgstr "" @@ -94651,15 +99964,10 @@ msgstr[1] "" msgid "" "The M24 Sniper is the military and police version of the Remington Model 700" " rifle, M24 being the model name assigned by the United States Army after " -"adoption as their standard sniper rifle in 1988. The M24 is referred to as a" -" 'weapon system' because it consists of not only a rifle, but also a " +"adoption as their standard sniper rifle in 1988. The M24 is referred to as " +"a 'weapon system' because it consists of not only a rifle, but also a " "detachable telescopic sight and other accessories." msgstr "" -"Az M24 Sniper a Remington Model 700 katonai és rendészeti használatra " -"gyártott változata. Az M24 elnevezést az amerikai hadseregtől kapta, amikor " -"1988-ban a hadseregbe rendszeresített mesterlövész puskává vált. Az M24-et " -"fegyverrendszernek is nevezik, mivel nem csak magából a lőfegyverből áll, " -"hanem egy lecsatolható célteleszkópból, valamint számos egyéb kellékből is." #: lang/json/gun_from_json.py msgid "HK417 A2" @@ -94750,7 +100058,7 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "One of Kel-tec's oldest designs, the P32 is a popular option for deep " -"concealment and backup usage. Despite its extreme light weight and small " +"concealment and backup usage. Despite its extreme light weight and small " "size, its .32 ACP chambering makes for good handling and recoil control." msgstr "" @@ -94825,20 +100133,17 @@ msgstr "" "tönkre menne..." #: lang/json/gun_from_json.py -msgid "COP .38" -msgid_plural "COP .38" +msgid "COP .357 Derringer" +msgid_plural "COP .357 Derringers" msgstr[0] "" msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"The COP .38 is a small, chubby derringer pistol that bears a slight " -"resemblance to the Mossberg Brownie. It has four barrels arranged in a " -"square formation." +"A small, chubby derringer pistol bearing a slight resemblance to the " +"Mossberg Brownie. It uses a rotating firing pin to fire the individual " +"hammers of the four barrels arranged in a square formation." msgstr "" -"A COP .38 egy négylövéses derringer pisztoly, amely ránézésre hasonlít a " -"Mossberg Brownie-ra. Robert Hillberg tervezte a korábbi, szintén általa " -"megtervezett Hillberg Insurgency Weapon tervei alapján." #: lang/json/gun_from_json.py msgid "pipe rifle: .38 Special" @@ -94874,20 +100179,6 @@ msgstr "" "Hétlövetű .38-as kaliberű Smith & Wesson revolver. Jellemzői közé tartozik a" " fixen rögzített hátsó célzótüske és a megerősített váz." -#: lang/json/gun_from_json.py -msgid "Taurus Pro .38" -msgid_plural "Taurus Pro .38" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/gun_from_json.py -msgid "" -"A popular .38 pistol. Designed with numerous safety features and built from" -" high-quality, durable materials." -msgstr "" -"Népszerű .38-as kaliberű pisztoly. Számos biztonsági funkció " -"figyelembevételével tervezték, és minőségi, tartós anyagból gyártották." - #: lang/json/gun_from_json.py msgid "MAC-11" msgid_plural "MAC-11s" @@ -94955,10 +100246,22 @@ msgstr[1] "" msgid "" "The Hi-Point CF-380 is a blowback operated semi automatic pistol designed by" " Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" +#: lang/json/gun_from_json.py +msgid "Taurus Spectrum" +msgid_plural "Taurus Spectrum" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A .380 subcompact pistol. Designed for concealed carry and built from high-" +"quality, durable materials." +msgstr "" + #: lang/json/gun_from_json.py msgid "M1911A1" msgid_plural "M1911A1s" @@ -95060,9 +100363,9 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in .40 S&W." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in .40 S&W." msgstr "" #: lang/json/gun_from_json.py @@ -95088,8 +100391,9 @@ msgstr[1] "" msgid "" "The Hi-Point Model JCP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" #: lang/json/gun_from_json.py @@ -95503,8 +100807,9 @@ msgstr[1] "" msgid "" "The Hi-Point Model JHP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" #: lang/json/gun_from_json.py @@ -95729,7 +101034,7 @@ msgstr "" " kézből is lehet tüzelni. A sorozatlövést kikapcsolták, a töltényheveder " "rendszerét egyetlen egy lövedék adagolására módosították." -#: lang/json/gun_from_json.py src/item_factory.cpp src/turret.cpp +#: lang/json/gun_from_json.py src/item_factory.cpp msgid "manual" msgstr "kézi" @@ -96634,9 +101939,9 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in 9x19mm Parabellum." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in 9x19mm Parabellum." msgstr "" #: lang/json/gun_from_json.py @@ -96648,8 +101953,8 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Walther P38 is a semi-automatic handgun adopted shortly before the " -"second world war. Developed due to the high production costs of its " -"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " +"second world war. Developed due to the high production costs of its " +"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " "This early DA/SA locked-breech design would introduce features later seen on" " more modern firearms such as the Beretta 92 series, and served Germany " "until 2004." @@ -96665,7 +101970,7 @@ msgstr[1] "" msgid "" "The Walther PPQ is a semi-automatic pistol originating from the Walther " "P99QA, and maintains compatibility with some of its predecessor's " -"accessories. This model is chambered in 9x19mm Parabellum." +"accessories. This model is chambered in 9x19mm Parabellum." msgstr "" #: lang/json/gun_from_json.py @@ -96678,7 +101983,7 @@ msgstr[1] "" msgid "" "The Hi-Point C-9 is a blowback operated semi automatic pistol designed by " "Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" @@ -96691,10 +101996,10 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The CZ-75 is a semi-automatic pistol developed in Czechoslovakia, and is one" -" of the original wonder nines. Though designed for export to western " +" of the original wonder nines. Though designed for export to western " "countries, it was declared a state secret; lack of international patent " "protection meant that many clones and variants were produced and distributed" -" around the world, with Česká zbrojovka only joining in the 90's. This " +" around the world, with Česká zbrojovka only joining in the 90's. This " "pistol remains wildly popular among competition shooters." msgstr "" @@ -96707,10 +102012,10 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Walther CCP is a gas-delayed blowback semi-automatic pistol intended for" -" the concealed carry consumer market. Internally, it is nearly identical to " -"the cult classic H&K P7. Its fixed barrel design makes it potentially more " -"accurate than many other pistols, though this may difficult to realize with " -"its average trigger and short sight radius." +" the concealed carry consumer market. Internally, it is nearly identical to" +" the cult classic H&K P7. Its fixed barrel design makes it potentially more" +" accurate than many other pistols, though this may difficult to realize with" +" its average trigger and short sight radius." msgstr "" #: lang/json/gun_from_json.py @@ -98433,10 +103738,62 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"A bow made of multiple materials to maximize energy efficiency. There are " +"A bow made of multiple materials to maximize energy efficiency. There are " "two Druid runes embedded at the tips." msgstr "" +#: lang/json/gun_from_json.py +msgid "M47A1 Techno-Medusa" +msgid_plural "M47A1 Techno-Medusae" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A magically-enhanced update to the Phillips & Rodgers' M47 Medusa, a multi-" +"caliber revolver aimed at survivalists. While Technomancy improves the " +"reliability with smaller cartridges, it is not as accurate as dedicated " +"caliber revolvers due to freebore." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "gunblade" +msgid_plural "gunblades" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"Constructed similarly to a falcata, this forward-sloping blade has a short-" +"barrel pump shotgun attached to the blade's spine for finishing blows or a " +"first strike." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "shotcestus" +msgid_plural "shotcesti" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A sawn-off double-barrel shotgun mounted on a metal cestus. The lack of a " +"stock to absorb recoil means some strength is required to fire." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "Ichaival" +msgid_plural "Ichaivals" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"Ichaival, the bow of Odin. Rumored to fire 10 arrows with every pull of the" +" string. It has gold and silver ornaments on it, as well as an ornate " +"Raven." +msgstr "" + #: lang/json/gun_from_json.py msgid "Woodbow" msgid_plural "Woodbows" @@ -98560,12 +103917,6 @@ msgstr "" "könnyebb felhúzni. A fegyverből kilőtt lövedékek jó eséllyel maradnak egyben" " és újra felhasználhatók." -#: lang/json/gun_from_json.py -msgid "Ichaival" -msgid_plural "Ichaivals" -msgstr[0] "" -msgstr[1] "" - #: lang/json/gun_from_json.py msgid "" "This is a replica of the bow possessed by Odin, Ichaival, which is rumored " @@ -99685,7 +105036,7 @@ msgstr "" msgid "accessories" msgstr "kellék" -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "bow" msgstr "íj" @@ -99819,7 +105170,7 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" "Testmod for UPS drain on mods, this should never spawn, if you see this, " -"it's a bug. 50x more UPS drain." +"it's a bug. 50x more UPS drain." msgstr "" #: lang/json/gunmod_from_json.py @@ -99988,8 +105339,8 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" -"A set of optics to concentrate the laser beam on a smaller focus point. This" -" increases range and damage output, but complicates targeting." +"A set of optics to concentrate the laser beam on a smaller focus point. " +"This increases range and damage output, but complicates targeting." msgstr "" #: lang/json/gunmod_from_json.py @@ -100017,7 +105368,7 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" "A set of electronics to optimize emitter workcycle and increase overall " -"energy efficiency. Decreases power consumption." +"energy efficiency. Decreases power consumption." msgstr "" #: lang/json/gunmod_from_json.py @@ -100032,12 +105383,9 @@ msgstr[1] "magas energiasűrűségű kondenzátor" #: lang/json/gunmod_from_json.py msgid "" -"A capacitor with a higher energy density increases range and damage; at the" -" cost of a markedly increased power consumption." +"A capacitor with a higher energy density increases range and damage; at the " +"cost of a markedly increased power consumption." msgstr "" -"Ez a magasabb energiasűrűséggel rendelkezõ kondenzátor növeli a fegyver " -"hatótávolságát és sebzését, viszont lényegesen magasabb " -"energiafelhasználással jár." #: lang/json/gunmod_from_json.py msgid "Leadworks magazine adapter" @@ -100261,6 +105609,20 @@ msgstr "" "átirányításával. Javít a fegyver visszarúgásán, de növeli a fegyver méretét " "és zaját, valamint némileg csökkenti a pontosságot." +#: lang/json/gunmod_from_json.py +msgid "modified muzzle brake" +msgid_plural "modified muzzle brakes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A muzzle brake redirects exhaust gases to compensate for muzzle climb, " +"improving recoil but increasing bulk, noise, and reducing accuracy slightly." +" This one was modified and customized to mount on pretty much any firearm " +"other than launchers, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "homemade suppressor" msgid_plural "homemade suppressors" @@ -100406,6 +105768,20 @@ msgstr "" msgid "rail" msgstr "kelléksín" +#: lang/json/gunmod_from_json.py +msgid "modified rail-mounted crossbow" +msgid_plural "modified rail-mounted crossbows" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A kit to attach a pair of crossbow arms and a firing rail to the barrel of a" +" long firearm. It allows crossbow bolts to be fired. This one was modified" +" and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "offset iron sights" msgid_plural "offset iron sights" @@ -100420,6 +105796,19 @@ msgstr "" "A 45 fokban elfordított céltüske akkor használatos, amikor céltávcső vagy " "egyéb módosítás miatt az beépített céltüske nem használható." +#: lang/json/gunmod_from_json.py +msgid "modified offset iron sights" +msgid_plural "modified offset iron sights" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An alternative set of iron sights mounted at 45° for use when a scope or " +"other modification prevents use of the primary sights. This one was " +"modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "offset sight rail" msgid_plural "offset sight rails" @@ -100432,6 +105821,18 @@ msgstr "" "Még egy kelléksín, ami 45 fokban lett elforgatva, és amelyre így egy második" " optikát lehet felcsatolni." +#: lang/json/gunmod_from_json.py +msgid "modified offset sight rail" +msgid_plural "modified offset sight rails" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An additional rail set at 45° for attaching a secondary optic. This one was" +" modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "rail laser sight" msgid_plural "rail laser sights" @@ -100463,6 +105864,20 @@ msgstr "" " átfutó rezgéseket, ezzel jelentősen csökkenti a visszarúgást és némileg " "növeli a pontosságot." +#: lang/json/gunmod_from_json.py +msgid "modified gyroscopic stabilizer" +msgid_plural "modified gyroscopic stabilizers" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An advanced unit that straps onto the side of your firearm and reduces " +"vibration, greatly reducing recoil and slightly increasing accuracy. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "LW gyroscopic stabilizer" msgid_plural "LW gyroscopic stabilizers" @@ -100586,6 +106001,20 @@ msgid "" " mrad increments and is remarkably small and light for its magnification." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified rifle scope" +msgid_plural "modified rifle scopes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 3-18x44 rifle scope. It is adjustable for windage and elevation in 1/10th" +" mrad increments and is remarkably small and light for its magnification. " +"This one was modified and customized to mount on pretty much any weapon " +"other than pistols and SMGs, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "ACOG scope" msgid_plural "ACOG scopes" @@ -100598,6 +106027,19 @@ msgid "" "crosshair." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified ACOG scope" +msgid_plural "modified ACOG scopes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 4x32 TA01 Advanced Combat Optical Gunsight with a tritium illuminated " +"crosshair. This one was modified and customized to mount on pretty much any" +" weapon other than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "RS1219 scope" msgid_plural "RS1219 scopes" @@ -100623,11 +106065,10 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" -"A simple telescopic sight, essentially a small telescope with crosshairs. " -"Increases weight but improves accuracy." +"A simple hand-crafted telescopic sight, essentially a small telescope with " +"crosshairs. Not as good as the ones made before the cataclysm. Increases " +"weight but improves accuracy." msgstr "" -"Egy egyszerű céltávcső, gyakorlatilag nem más, mint egy célkereszttel " -"ellátott apró távcső. Növeli a súlyt, de a pontosságot is." #: lang/json/gunmod_from_json.py msgid "telescopic pistol sight" @@ -100811,6 +106252,21 @@ msgstr "" "hatásainak kezelését nagyban javítják, csak bizonyos felületeken használható" " és lassan lehet felszerelni." +#: lang/json/gunmod_from_json.py +msgid "modified bipod" +msgid_plural "modified bipods" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Bipods are commonly used on rifles and machine guns to provide a forward " +"rest and reduce motion. Although they greatly improve handling of recoil " +"they are usable only on certain surfaces and are slow to equip. This one " +"was modified and customized to mount on pretty much any weapon, if you so " +"want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "combination gun shotgun" msgid_plural "combination gun shotguns" @@ -100853,6 +106309,19 @@ msgstr "" "A puskacső elé helyezett markolat jobb irányítást tesz lehetővé. Nem annyira" " hatékony, mint a bipod, de minden körülmények között használható." +#: lang/json/gunmod_from_json.py +msgid "modified forward grip" +msgid_plural "modified forward grips" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A grip placed forward on the barrel allows for greater control. Not as " +"effective as a bipod but usable under all conditions. This one was modified" +" and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "integrated bayonet" msgid_plural "integrated bayonets" @@ -100925,6 +106394,20 @@ msgstr "" "már bármilyen karabélyhoz fel lehet csatolni. Felszerelése után a gránátvető" " csőbe egy darab 40mm-es gránátot lehet betárazni majd kilőni." +#: lang/json/gunmod_from_json.py +msgid "modified M203" +msgid_plural "modified M203s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M203 was originally designed for use with M16 variants but today can be " +"attached to almost any rifle. It allows a single 40mm grenade to be loaded " +"and fired. This one was modified and customized to mount on pretty much any" +" weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "M320 GLM" msgid_plural "M320 GLM" @@ -100942,6 +106425,21 @@ msgstr "" " mérettel, némileg csökkent pontosság árán. Az M320-at lehet puska alá " "szerelni, vagy pedig saját puskatussal ellátva önálló fegyverként használni." +#: lang/json/gunmod_from_json.py +msgid "modified M320 GLM" +msgid_plural "modified M320 GLMs" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M320 Grenade Launcher Module offers the functionality of larger " +"launchers in a very small package at the cost of decreased accuracy. It can" +" be either attached to a rifle or combined with a buttstock for stand alone " +"use. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "masterkey shotgun" msgid_plural "masterkey shotguns" @@ -100957,6 +106455,20 @@ msgstr "" "Miniatürizált pumpás sörétes puska, amelyet számos karabély csöve alá lehet " "csatolni. Négy sörétes puska lőszert lehet betárazni és kilőni." +#: lang/json/gunmod_from_json.py +msgid "modified masterkey shotgun" +msgid_plural "modified masterkey shotguns" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A minimalist pump action shotgun, which can be mounted under the barrel of " +"many rifles. It allows a total of four shotgun shells to be loaded and " +"fired. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "40mm pipe launcher" msgid_plural "40mm pipe launchers" @@ -100965,12 +106477,9 @@ msgstr[1] "40mm-es gránátvető cső" #: lang/json/gunmod_from_json.py msgid "" -"This is a home built launcher tube that can be attached to almost any rifle." -" It allows a single 40mm grenade to be loaded and fired." +"This is a home built launcher tube that can be attached to almost any weapon" +" except handguns. It allows a single 40mm grenade to be loaded and fired." msgstr "" -"Ezt a házi készítésű gránátvető csövet bármilyen karabélyhoz fel lehet " -"csatolni. Felszerelése után a gránátvető csőbe egy darab 40 mm-es gránátot " -"lehet betárazni majd kilőni." #: lang/json/gunmod_from_json.py msgid "pistol bayonet" @@ -101002,6 +106511,20 @@ msgstr "" "A Rivtech RM121 betárazós sörétes félautomata sörétes puskát számos karabély" " alá lehet csatolni. RMSA10 dobozos lőszertárat lehet betárazni." +#: lang/json/gunmod_from_json.py +msgid "modified RM121 aux shotgun" +msgid_plural "modified RM121 aux shotguns" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The Rivtech RM121 auxiliary weapon system is a magazine-fed semi-automatic " +"caseless shotgun, which can be mounted under the barrel of many rifles. " +"Accepts RMSA10 box magazines. This one was modified and customized to mount" +" on pretty much any weapon other than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "underslung shotgun" msgid_plural "underslung shotguns" @@ -101016,6 +106539,20 @@ msgstr "" "Rövid duplacsövű sörétes puska, amelyet számos karabély csöve alá lehet " "csatolni. Kettő sörétes puska lőszert lehet betárazni és kilőni." +#: lang/json/gunmod_from_json.py +msgid "modified underslung shotgun" +msgid_plural "modified underslung shotguns" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A short shotgun with 2 barrels, which can be mounted under the barrel of " +"many rifles. It allows two shotgun shells to be loaded and fired. This one" +" was modified and customized to mount on pretty much any weapon other than " +"pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "LW underbarrel laser sight" msgid_plural "LW underbarrel laser sights" @@ -101320,6 +106857,58 @@ msgstr "" "ezért minden lövéshez energia kell, valamint a széles körű módosítások miatt" " a fegyver ET nélkül üzemképtelenné válik." +#: lang/json/gunmod_from_json.py +msgid "'Silent Winds' suppressor" +msgid_plural "'Silent Winds' suppressors" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Rather than using purely wipe media, an additional localized silence spell " +"in this tube quiets gunshots going through to hearing-safe levels." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (rail)" +msgid_plural "mana laser sights (rail)" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit under the barrel." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (underbarrel)" +msgid_plural "mana laser sights (underbarrel)" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit on the rail." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana dot sight" +msgid_plural "mana dot sights" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Adds a blue dot optic made from crystallized mana to the top of your gun, " +"replacing the iron sights. Increases accuracy and weight." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "makeshift pistol bayonet" msgid_plural "makeshift pistol bayonets" @@ -103295,8 +108884,8 @@ msgstr "Sugárzásmérés" #: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/game_inventory.cpp src/teleport.cpp -msgid "..." -msgstr "..." +msgid "…" +msgstr "" #: lang/json/item_action_from_json.py msgid "Control an RC car" @@ -103357,7 +108946,7 @@ msgstr "Hát, tudod" #: lang/json/item_action_from_json.py msgid "Wash soft items" -msgstr "" +msgstr "Puha tárgyak kimosása" #: lang/json/item_action_from_json.py msgid "Wash hard items" @@ -103462,16 +109051,12 @@ msgstr "" "Ezt a tárgyat a szomszédos mezőről lehet aktiválni vagy újratárazni, és nem " "kell felszedni." -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the outer aura layer, intended for metaphysical effects." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your outer aura." msgstr "" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate barometer (which is used to measure " @@ -103479,6 +109064,7 @@ msgid "" msgstr "" "Ennek a felszerelésnek része egy pontos barométer, amely a légnyomást méri." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item can be clipped on to a belt loop of the appropriate " @@ -103486,10 +109072,6 @@ msgid "" msgstr "" "Ezt a tárgyat fel lehet csatolni egy megfelelő méretű övcsatra." -#: lang/json/json_flag_from_json.py -msgid "Layer for backpacks and things worn over outerwear." -msgstr "A külsõ ruharéteg felett hordott hátizsákok és egyéb dolgok rétege." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is strapped onto you." @@ -103504,14 +109086,6 @@ msgstr "" "Egy követő használni tudná ezt a KBM-et, ha " "megfelelően lenne az bele ültetve." -#: lang/json/json_flag_from_json.py -msgid "" -"Blinds the wearer while worn, and provides nominal protection vs flashbang " -"flashes." -msgstr "" -"Hordása közben a viselője nem lát semmit, és védelmet élvez a " -"villanógránátok ellen." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear prevents you from seeing anything." @@ -103620,14 +109194,6 @@ msgstr "" msgid "You can wear only one." msgstr "Ebből csak egyet viselhetsz." -#: lang/json/json_flag_from_json.py -msgid "" -"Wearing this clothing gives a morale bonus if the player has the Stylish " -"trait." -msgstr "" -"Ennek a ruházatnak a viselése javítja a hangulatot, amennyiben a játékos " -"rendelkezik a Divatos személyiségvonással." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This piece of clothing is fancy." @@ -103658,21 +109224,11 @@ msgstr "Ez a tárgy javít a távollátáson." msgid "This gear corrects nearsightedness." msgstr "Ez a tárgy javít a rövidlátáson." -#: lang/json/json_flag_from_json.py -msgid "" -"Zombie-dropped clothing giving various penalties if Filthy mod is active. " -"Also CBMs harvested from zombies." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This item is filthy." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "Used for eyes protection from flashbang." -msgstr "Robbanógránátok ellen védi a szemet." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -103716,6 +109272,7 @@ msgstr "" "Ennek a ruházatnak kapucnija van, ami melegen tartja a fejedet," " ha az nem ormótlan." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate hygrometer (which is used to measure " @@ -103724,6 +109281,7 @@ msgstr "" "Ennek a felszerelésnek része egy pontos higrométer, amely a páratartalmat " "méri." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item is a component of the gun it is attached to. It can't be removed " @@ -103732,32 +109290,6 @@ msgstr "" "Ez a tárgy annak a fegyvernek a része, amelyre fel van csatolva. Roncsolás " "nélkül nem lehet eltávolítani." -#: lang/json/json_flag_from_json.py -msgid "Item can never be used with a CVD machine." -msgstr "Ezt a tárgyat egy CVD géppel soha nem lehet használni." - -#: lang/json/json_flag_from_json.py -msgid "" -"Don't offer to draw items from this holster when the fire key is pressed " -"whilst the player's hands are empty." -msgstr "" -"Ne kínálja fel, hogy ebből a fegyvertokból tárgyat lehessen elővenni, ha a " -"játékos üres kéznél megnyomja a tüzelés gombját." - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents repairing of this item even if otherwise suitable tools exist." -msgstr "" -"Ezt a tárgyat akkor sem javítja meg, ha amúgy kéznél van megfelelõ szerszám." - -#: lang/json/json_flag_from_json.py -msgid "" -"forces calories and vitamins to be the ones defined in the json, instead of " -"inheriting from ingredients" -msgstr "" -"A kalóriákat és a vitaminokat a JSON értéke alapján határozza meg, nem pedig" -" a hozzávalókból." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "You could probably plant these." @@ -103773,24 +109305,12 @@ msgstr "" "sokkal jobb az íze akkor, amikor " "fagyott." -#: lang/json/json_flag_from_json.py -msgid "Outer garment layer." -msgstr "Külsõ ruházati réteg" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is generally worn over clothing." msgstr "" "Ezt a felszerelést általában a többi ruha felett viselik." -#: lang/json/json_flag_from_json.py -msgid "" -"Can always be worn no matter encumbrance/mutations/bionics/etc., but " -"prevents any other clothing being worn over this." -msgstr "" -"Ezt ormótlanságtól, mutációtól, bionikától és minden mástól függetlenül is " -"lehet viselni, viszont felette mást nem lehet hordani." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -103800,13 +109320,6 @@ msgstr "" "Ez a ruházat elég nagy ahhoz, hogy abnormálisan nagyra mutálódott " "testrészeken is viselni lehessen." -#: lang/json/json_flag_from_json.py -msgid "" -"Can be worn comfortably by mutants with Tiny or Unassuming. Too small for " -"anyone else." -msgstr "" -"Csak Kicsi vagy Szerény mutánsok viselhetik, mindenki másnak túl kicsi." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -103816,25 +109329,11 @@ msgstr "" "Ez a felszerelés biztonságos szintre csökkenti a " "hangok erejét." -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the personal aura layer, intended for metaphysical " -"effects." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your personal aura." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "" -"Increases warmth for hands if the player's hands are cold and the player is " -"wielding nothing." -msgstr "" -"Növeli a játékos kezének hõmérsékletét, ha a keze fázik és a kezében nincsen" -" semmi." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -103844,19 +109343,6 @@ msgstr "" "Ennek a ruházatnak zsebe van, ami melegen tartja a kezedet, ha " "abban nincs semmi." -#: lang/json/json_flag_from_json.py -msgid "" -"If turned ON, it uses its own source of power, instead of relying on power " -"of the user." -msgstr "" -"Ha BE van kapcsolva, akkor a saját energiaforrását használja, nem pedig a " -"felhasználóét." - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "25% chance to protect against fear_paralyze monster attack." -msgstr "25% esély a félelemtől lebénító szörnytámadás ellen." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear keeps out the mind control rays." @@ -103894,29 +109380,12 @@ msgstr "" msgid "This item can be used to communicate with radio waves." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "Prevents the covered body-part(s) from getting wet in the rain." -msgstr "A lefedett testrészek az esõben nem fognak megázni." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This piece of clothing is designed to keep you dry in the rain." msgstr "Ez a ruhadarab esõben is szárazon tart." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the player from wielding a weapon two-handed, forcing one-handed " -"use if the weapon permits it." -msgstr "" -"A játékos nem fogja két kézben tartani a fegyvert, ha azzal egy kézzel is " -"lehet harcolni." - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from participating in the encumbrance system when worn." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -103924,26 +109393,6 @@ msgid "" " other things when worn." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sheath of the appropriate size." -msgstr "Ezt a tárgyat egy megfelelő méretű tokban lehet eltárolni." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a scabbard of the appropriate size." -msgstr "Ezt a tárgyat egy megfelelő méretű kardhüvelyben lehet eltárolni." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sling of the appropriate size." -msgstr "Ezt a tárgyat egy megfelelő méretű válltáskában lehet eltárolni." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a bag of the appropriate size." -msgstr "Ezt a tárgyat egy megfelelő méretű táskában lehet eltárolni." - -#: lang/json/json_flag_from_json.py -msgid "Undergarment layer." -msgstr "Alsónemû réteg." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing lies close to the skin." @@ -103971,32 +109420,16 @@ msgstr "" "Ez a ruházat megvéd a sérülésektől és sok igénybevételt " "kibír." -#: lang/json/json_flag_from_json.py -msgid "Prevents glaring when in sunlight." -msgstr "Napsütésben megakadályozza a ragyogást." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing keeps the glare out of your eyes." msgstr "Ez a ruhadarab megóvja a szemedet a ragyogástól." -#: lang/json/json_flag_from_json.py -msgid "" -"Gives an additional moral bonus over FANCY if the player has the Stylish " -"trait." -msgstr "" -"További hangulatbónuszt ad a divatos ruhák viselése, amennyiben a játékos " -"rendelkezik a Divatos személyiségvonással." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing is very fancy." msgstr "Ez a ruhadarab nagyon divatos." -#: lang/json/json_flag_from_json.py -msgid "Allows you to see much further under water." -msgstr "Még messzebbre lehet vele látni a víz alatt." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -104006,44 +109439,21 @@ msgstr "" "Ennek a ruházatnak a segítségével sokkal messzebbre látsz a " "víz alatt." -#: lang/json/json_flag_from_json.py -msgid "" -"This gear is equipped with an accurate thermometer (which is used to measure" -" temperature)." -msgstr "Ennek a felszerelésnek része egy pontos hőmérő." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is equipped with an accurate thermometer." msgstr "Ennek a felszerelésnek része egy pontos hőmérő." -#: lang/json/json_flag_from_json.py -msgid "Can be made to fit via tailoring." -msgstr "Testre illőre lehet szabni." - -#: lang/json/json_flag_from_json.py -msgid "Layer for belts and other things worn on the waist." -msgstr "A derékon viselt övek és egyéb tárgyak rétege." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is worn on or around your waist." msgstr "Ezt a felszerelést a derekad körül viseled." -#: lang/json/json_flag_from_json.py -msgid "Acts as a watch and allows the player to see actual time." -msgstr "Óraként működik, a játékos a pontos időt látja." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear allows to see actual time." msgstr "Ez a felszerelés a pontos időt mutatja." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the covered body-part(s) from getting wet in any circumstance." -msgstr "A lefedett testrészek semmilyen esetben sem fognak megázni." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -104053,14 +109463,6 @@ msgstr "" "Ez a ruházat nem engedi át a vizet. Kivéve ha mondjuk a folyóba" " ugrasz." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from making the body part count as unfriendly to water and" -" thus causing negative morale from being wet." -msgstr "" -"Megakadályozza, hogy az adott testrész vizes legyen és így negatív " -"hangulatot okozzon." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -104106,13 +109508,6 @@ msgstr "" "Ebbe a ruhába gyapjú belsőt varrtak, hogy így növeljék annak " "melegségét." -#: lang/json/json_flag_from_json.py -msgid "" -"Allows wielding with unarmed fighting styles and trains unarmed when used." -msgstr "" -"Puszta kézzel való harci stílusnál viselhető, és használat közben fejleszti " -"a kéziharc készséget." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -104127,112 +109522,26 @@ msgstr "" msgid "This item contains a nanofabricator recipe." msgstr "Ez a tárgy egy nanofabrikátor receptet tartalmaz." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "This bionic is a faulty bionic." -msgstr "Ez a bionika hibás." - -#: lang/json/json_flag_from_json.py -msgid "This bionic is a power source bionic." -msgstr "Ez a bionika egy energiaforrás." - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic only has a function when activated, else it causes its effect " -"every turn." -msgstr "" -"Ez a bionika csak aktiválásakor működik, utána körönként fejti ki a hatását." - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a gun bionic and activating it will fire it. Prevents all " -"other activation effects." +msgid "This bionic is faulty." msgstr "" -"Ez a bionika egy fegyver, aktiváláskor elsül. Megakadályoz minden más " -"aktiválási hatást." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a weapon bionic and activating it will create (or destroy) " -"bionic's fake_item in user's hands. Prevents all other activation effects." +msgid "This bionic provides power." msgstr "" -"Ez a bionika egy fegyver, aktiválása létrehoz (vagy megsemmisít) egy tárgyat" -" a felhasználó kezében. Megakadályoz minden más aktiválási hatást." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This bionic can provide power to powered armor." msgstr "Ez a bionika energiával látja el a szervópáncélt." -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's effects permanent." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's Area of Effect ignore walls." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "You can cast spells with this item in your hand." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This makes the spell's summoned monster always hostile. Note that the spell" -" needs to be a summon spell for this to do anything." -msgstr "" - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "" -"This makes the spell's summoned monster hostile 50% of the time. Note that " -"the spell needs to be a summon spell for this to do anything." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "The spell makes no sound at its point of impact." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This spell is much louder at its point of impact." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The caster must speak in order to cast the spell. More mouth encumbrannce " -"increases failure percent, and the caster speaks when casting." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell requires arm movement to cast. Arm encumbrance affects failure " -"percentage and casting time." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell does not require hands in order to cast it. Encumbrance penalties" -" on hands are nullified." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell does not require leg movement in order to be cast. All " -"encumbrance penalties for legs are nullified." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell requires focus to cast. The lower your focus, the higher failure" -" rate to cast." -msgstr "" - +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" -"Chooses a spell at random to cast from extra_effects. See MAGIC.md for " -"details" -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This mutation does not count toward thresholds at all." +"This food is unappetizing in a way that can't be covered up " +"by most cooking." msgstr "" #. ~ Please leave anything in unchanged. @@ -104675,6 +109984,10 @@ msgstr "Következő szint" msgid "Previous level" msgstr "Előző szint" +#: lang/json/keybinding_from_json.py +msgid "Reset level" +msgstr "Szint alaphelyzetre állítása" + #: lang/json/keybinding_from_json.py msgid "Undo move" msgstr "Mozgatás visszavonása" @@ -104691,10 +110004,6 @@ msgstr "Zászló ki/be" msgid "Toggle lights" msgstr "Fények ki/be" -#: lang/json/keybinding_from_json.py -msgid "Reset level" -msgstr "Szint alaphelyzetre állítása" - #: lang/json/keybinding_from_json.py msgid "Confirm Choice" msgstr "Választás megerősítése" @@ -105399,6 +110708,10 @@ msgstr "" msgid "View Visibility Map" msgstr "" +#: lang/json/keybinding_from_json.py +msgid "View Lighting Map" +msgstr "" + #: lang/json/keybinding_from_json.py msgid "View Radiation Map" msgstr "" @@ -105412,8 +110725,8 @@ msgid "Toggle Fullscreen mode" msgstr "Teljes képernyős mód ki/be" #: lang/json/keybinding_from_json.py -msgid "Toggle Pixel Minimap" -msgstr "Pixeles minitérkép ki/be" +msgid "Toggle Minimap" +msgstr "" #: lang/json/keybinding_from_json.py msgid "Toggle Panel Admin" @@ -105769,6 +111082,7 @@ msgstr "Egyedi szín eltávolítása" msgid "Load color template" msgstr "Színsablon betöltése" +#. ~ translation should not exceed 3 console cells #: lang/json/keybinding_from_json.py lang/json/keybinding_from_json.py #: src/editmap.cpp src/editmap.cpp src/editmap.cpp src/veh_interact.cpp msgid "Yes" @@ -105828,6 +111142,10 @@ msgstr "Riasztó ki/be" msgid "Toggle atomic lights" msgstr "Atomfények ki/be" +#: lang/json/keybinding_from_json.py +msgid "Control autopiot" +msgstr "" + #: lang/json/keybinding_from_json.py msgid "Toggle camera system" msgstr "Kamerarendszer ki/be" @@ -108173,82 +113491,6 @@ msgid "" "Lasts 1 turn." msgstr "" -#: lang/json/martial_art_from_json.py -msgid "Tai Chi" -msgstr "Tajcsi" - -#. ~ Description for martial art 'Tai Chi' -#: lang/json/martial_art_from_json.py -msgid "" -"Though Tai Chi is often seen as a form of mental and physical exercise, it " -"is a legitimate martial art, focused on self-defense. Its ability to absorb" -" the force of an attack makes your Perception decrease damage further on a " -"block." -msgstr "" -"A tajcsit gyakran a mentális és a fizikai gyakorlatok közé sorolják, bár ez " -"is egy harcművészeti fajta, amely az önvédelemre összpontosít, a támadás " -"erejét nyeli el. Az érzékelés tovább csökkenti egy blokkolásnál felfogott " -"sebzést." - -#. ~ Description of buff for martial art 'Tai Chi' -#: lang/json/martial_art_from_json.py -msgid "+1 Block. Perception decreases damage when blocking." -msgstr "+1 blokkolás. Blokkolásnál az érzékelés csökkenti a sebesülést." - -#: lang/json/martial_art_from_json.py -msgid "Taekwondo" -msgstr "Taekwondo" - -#. ~ Description for martial art 'Taekwondo' -#: lang/json/martial_art_from_json.py -msgid "" -"Taekwondo is the national sport of Korea, and was used by the South Korean " -"army in the 20th century. Focused on kicks and so it does not benefit from " -"wielded weapons. It also includes strength training; your blocks absorb " -"extra damage the stronger you are." -msgstr "" -"A taekwondo Korea nemzeti sportja, amelyet a koreai hadsereg a 20. században" -" rendszeresített. Ütésekre és rúgásokra összpontosít, és minél erősebb vagy," -" annál több sebzést vagy képes elnyelni." - -#. ~ Description of buff for martial art 'Taekwondo' -#: lang/json/martial_art_from_json.py -msgid "Strength decreases damage when blocking." -msgstr "Blokkolásnál az erő csökkenti a sebesülést." - -#: lang/json/martial_art_from_json.py -msgid "Zui Quan" -msgstr "Cuj csün" - -#. ~ Description for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "" -"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" -" the enemy, giving you a passive dodge bonus based on your intelligence. " -"The turn after you attack, you may dodge any number of attacks with no " -"penalty, and successfully dodging an attack gives you bonus damage and to-" -"hit based on your intelligence." -msgstr "" -"Másnéven részeges bokszolás. A cuj csün egy részeg ember mozgásait imitálva " -"zavarja össze az ellenfelet, így az intelligenciád alapján egy passzív " -"kitérési bónuszt kapsz. A támadásod utáni körben hátrány nélkül térhetsz ki " -"bármennyi támadás elől, és egy sikeres kitérés esetén az intelligenciád " -"alapján további támadási sebzés és találati arány bónuszt kapsz." - -#. ~ Description of buff for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "Intelligence increases dodging ability" -msgstr "A kitérési képességet az intelligencia növeli" - -#: lang/json/martial_art_from_json.py -msgid "Counter Strike" -msgstr "Ellencsapás" - -#. ~ Description of buff 'Counter Strike' for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "Extra damage and to-hit after successful dodge" -msgstr "Sikeres kitérés után még több sebzés és találati esély" - #: lang/json/martial_art_from_json.py msgid "Silat" msgstr "Silat" @@ -108271,17 +113513,183 @@ msgstr "Silat álláspont" #. ~ Description of buff 'Silat Stance' for martial art 'Silat' #: lang/json/martial_art_from_json.py -msgid "+1 dodge" -msgstr "+1 kitérés" +msgid "" +"You try to stay loose as possible when fighting to have more chances to dodge.\n" +"\n" +"+1 Dodge attempts." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Silat Evasion" +msgstr "" + +#. ~ Description of buff 'Silat Evasion' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +msgid "" +"You stay low as you move, making it harder for enemies to pin you down.\n" +"\n" +"+1 Dodge attempts.\n" +"Lasts 2 turn." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Silat Appraisal" +msgstr "" + +#. ~ Description of buff 'Silat Appraisal' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Each time you dodge an attack, you learn a bit more about your opponents' fighting style. This allows you to make more precise attacks against them.\n" +"\n" +"Accuracy increased by 15%% of Dexterirty.\n" +"Lasts 2 turns. Stacks 3 times." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Snake Kung Fu" +msgstr "Kígyó kung fu" + +#. ~ Description for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +msgid "" +"One of the five Shaolin animal styles. The Snake focuses on sinuous " +"movement and precision strikes. Perception determines your Accuracy, rather" +" than Dexterity. Standing still will increases your accuracy and damage of " +"your next attack." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Snake's Sight" +msgstr "" + +#. ~ Description of buff 'Snake's Sight' for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You are patient and know where to hit your opponent for the best results.\n" +"\n" +"Perception increases Accuracy instead of Dexterity. Accuracy increased by 25%% of Perception but decreased by 25%% of Dexterity." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "Szódzsucu" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat. Standing still gives you an extra block " +"attempt but moving will briefly increase your damage." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "Szódzsucu álláspont" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Your training grants better defense while using a polearm.\n" +"\n" +"+1 Block attempt." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Superior Positioning" +msgstr "" + +#. ~ Description of buff 'Superior Positioning' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You have given up your defenses for a moment to increase the damage of your attacks.\n" +"\n" +"+10%% damage, -1 Block attempts.\n" +"Lasts 1 turn." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Taekwondo" +msgstr "Taekwondo" + +#. ~ Description for martial art 'Taekwondo' +#: lang/json/martial_art_from_json.py +msgid "" +"Taekwondo is the national sport of Korea, and was used by the South Korean " +"army in the 20th century. Focused on kicks and so it does not benefit from " +"wielded weapons. It also includes strength training; your blocks absorb " +"extra damage and your attacks do more damage if you are not holding " +"anything." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Taekwondo Stance" +msgstr "" + +#. ~ Description of buff 'Taekwondo Stance' for martial art 'Taekwondo' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Using your legs to attack allows your hands to be free for better defense.\n" +"\n" +"Blocked damage decreased by 50%% of Strength." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Unhindered" +msgstr "" + +#. ~ Description of buff 'Unhindered' for martial art 'Taekwondo' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Your attacks are stronger if you are not holding anything in your hands.\n" +"\n" +"+33%% bash damage when not using a weapon." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Tai Chi" +msgstr "Tajcsi" + +#. ~ Description for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +msgid "" +"Though Tai Chi is often seen as a form of mental and physical exercise, it " +"is a legitimate martial art, focused on self-defense. Its ability to absorb" +" the force of an attack makes your Perception decrease damage further on a " +"block. Pausing for a moment enables powerful palm strike techniques." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Silat Counter" -msgstr "Silat ellencsapás" +msgid "Tai Chi Stance" +msgstr "" -#. ~ Description of buff 'Silat Counter' for martial art 'Silat' +#. ~ Description of buff 'Tai Chi Stance' for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py -msgid "Extra to-hit after successful dodge" -msgstr "Sikeres kitérés után még több találati esély" +#, no-python-format +msgid "" +"You are focused of defense and predicting your opponents attacks.\n" +"\n" +"+1 Block attempts, blocked damage reduced by 100%% Perception." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Repulse the Monkey" +msgstr "" + +#. ~ Description of buff 'Repulse the Monkey' for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"By perfectly positioning yourself and your opponent, you have become more accurate and can bypass your opponent's defenses.\n" +"\n" +"Accuracy increased by 20%% of Perception, gain bash Armor Pentration equal to 50%% of Perception.\n" +"Lasts 2 turns." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Tiger Kung Fu" @@ -108304,115 +113712,156 @@ msgstr "Tigris dühe" #. ~ Description of buff 'Tiger Fury' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+3 Bash/atk" -msgstr "+3 zúzás / támadás" +#, no-python-format +msgid "" +"You attack with an endless barrage of strikes. The more you hit, the stronger you become.\n" +"\n" +"+10%% damage.\n" +"Lasts 3 turns. Stacks 4 times." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Tiger Strength" -msgstr "Tigris ereje" +msgid "Tiger's Strength" +msgstr "" -#. ~ Description of buff 'Tiger Strength' for martial art 'Tiger Kung Fu' +#. ~ Description of buff 'Tiger's Strength' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Strength provides additional damage bonus." -msgstr "Az erő további sebzési bónuszt ad." +#, no-python-format +msgid "" +"You do not need defense. You do not need a plan. You need strength. Strength will break your opponents' defenses and overwhelm them completely.\n" +"\n" +"Strength increases Accuracy instead of Dexterity.\n" +"\n" +"Accuracy increased by 25%% of Strength but decreased by 25%% of Dexterity." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Snake Kung Fu" -msgstr "Kígyó kung fu" +msgid "Wing Chun" +msgstr "" -#. ~ Description for martial art 'Snake Kung Fu' +#. ~ Description for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py msgid "" -"One of the five Shaolin animal styles. The Snake focuses on sinuous " -"movement and precision strikes. Your Perception improves your damage." +"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" +"learn effective techniques from the various Shaolin animal forms. It has a " +"high stance, with weight entirely on the rear leg. Wing Chun focuses on " +"sensitivity to the opponent's direction of force, and flowing around it to " +"get back to hitting." msgstr "" -"Egyike az öt shaolin állati stílusnak. A kígyó a kígyózó mozgásra és a " -"pontos csapásokra összpontosít. A sebzést az érzékelés növeli." #: lang/json/martial_art_from_json.py -msgid "Snake Sight" -msgstr "Kígyónézés" +msgid "Chain Punch" +msgstr "" -#. ~ Description of buff 'Snake Sight' for martial art 'Snake Kung Fu' +#. ~ Description of buff 'Chain Punch' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "Perception provides a bonus to damage." -msgstr "Az érzékelés sebzési bónuszt ad." +#, no-python-format +msgid "" +"Your punches are properly timed to give your opponent no rest from your strikes.\n" +"\n" +"-10%% move cost.\n" +"Lasts 1 turn. Stacks 3 times." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Debug Mastery" -msgstr "Debug mester" +msgid "Chi-Sao Sensitivity" +msgstr "" -#. ~ Description for martial art 'Debug Mastery' +#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "A secret martial art used only by developers and cheaters." -msgstr "Titkos harcművészet, amelyet csak a fejlesztők és a csalók ismernek." +#, no-python-format +msgid "" +"You have a greater understanding of balance and technique. This gives you a better chance to avoid your opponent's attacks.\n" +"\n" +" Dodging Skill increased by 15%% of Perception. Blocked damage reduced by 50%% of Perception." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Elemental resistance" -msgstr "Elemi ellenállás" +msgid "Zui Quan" +msgstr "Cuj csün" -#. ~ Description of buff 'Elemental resistance' for martial art 'Debug -#. Mastery' +#. ~ Description for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py msgid "" -"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " -"armor, +Perception fire armor." +"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" +" the enemy. You gain a passive dodge bonus and accuracy bonus based on your" +" intelligence. Moving gives you additional dodge attempts and each time you" +" dodge, you inflict more damage with your counterattack for until the end of" +" your next turn." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu" -msgstr "Szódzsucu" +msgid "Zui Quan Stance" +msgstr "" -#. ~ Description for martial art 'Sōjutsu' +#. ~ Description of buff 'Zui Quan Stance' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " -"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " -"to maintain advantage in combat." +"Others might think you stumble about at random but you know better. Each movement is calculated to make evading harm easier.\n" +"\n" +"Dodging Skill increased by 15%% of Intelligence." msgstr "" -"A szódzsucu, azaz a \"lándzsa útja\" egy japán harci stílus, amelynél a " -"lándzsa segítségével tartja a mester távol az ellenfeleit, és így jut " -"előnyhöz a harcban." #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Stance" -msgstr "Szódzsucu álláspont" +msgid "Advanced Zui Quan" +msgstr "" -#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#. ~ Description of buff 'Advanced Zui Quan' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Bonus block with reach weapons while standing still" -msgstr "Távolra ütő fegyverekkel blokkolhatsz, ha mozdulatlan maradsz." +#, no-python-format +msgid "" +"You have a greater understanding of Zui Quan. Your skills at dodging and landing attacks are much better as a result.\n" +"\n" +"+1 Dodge attempts, Accuracy increased by 15%% of Intelligence." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Rush" -msgstr "Szódzsucu roham" +msgid "Drunken Stumble" +msgstr "" -#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#. ~ Description of buff 'Drunken Stumble' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Increased damage when moving but no bonus block" -msgstr "Mozgás közben több a sebzést, de blokkoláshoz nem jár bónusz." +msgid "" +"With a few quick steps, you can completely change your orientation and dodge additional attacks.\n" +"\n" +"+2 Dodge attempts.\n" +"Lasts 3 turns." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Wing Chun" +msgid "Drunken Dodging" msgstr "" -#. ~ Description for martial art 'Wing Chun' +#. ~ Description of buff 'Drunken Dodging' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" -"learn effective techniques from the various Shaolin animal forms. It has a " -"high stance, with weight entirely on the rear leg. Wing Chun focuses on " -"sensitivity to the opponent's direction of force, and flowing around it to " -"get back to hitting." +"Each time you dodge, your positional advantage increases against your opponents. This makes your attacks hit harder with each successful dodge.\n" +"\n" +"Gain Armor Penetration equal to 25%% of Intelligence.\n" +"Lasts 1 turn. Stacks 4 times." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Chi-Sao Sensitivity" -msgstr "" +msgid "Debug Mastery" +msgstr "Debug mester" -#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' +#. ~ Description for martial art 'Debug Mastery' #: lang/json/martial_art_from_json.py -msgid "Perception increases dodging ability, +1 dodges per turn" +msgid "A secret martial art used only by developers and cheaters." +msgstr "Titkos harcművészet, amelyet csak a fejlesztők és a csalók ismernek." + +#: lang/json/martial_art_from_json.py +msgid "Elemental resistance" +msgstr "Elemi ellenállás" + +#. ~ Description of buff 'Elemental resistance' for martial art 'Debug +#. Mastery' +#: lang/json/martial_art_from_json.py +msgid "" +"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " +"armor, +Perception fire armor." msgstr "" #: lang/json/martial_art_from_json.py @@ -108568,13 +114017,11 @@ msgstr "Varangy kung fu" #. ~ Description for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"One of the Five Deadly Venoms. Masters of Toad Style can focus themselves " -"against all attacks. You can meditate by pausing, giving you armor, though " -"you will lose focus when you move." +"One of the Five Deadly Venoms, used by Liang Shen. Masters of Toad Style " +"can focus themselves to protect against all attacks. You have powerful " +"armor against physical attacks, though you will lose focus when you move. " +"You can meditate by pausing, giving yourself more armor for a short time." msgstr "" -"Egyike az Öt Halálos Méregnek. A varangy stílus mesterei minden támadás " -"ellen képesek fókuszálni. Várakozással meditálhatsz, ezzel páncélt kapsz, " -"bár mozgásnál ezt el is veszted." #: lang/json/martial_art_from_json.py msgid "Toad's Iron Skin" @@ -108582,8 +114029,11 @@ msgstr "Varangy vasbőre" #. ~ Description of buff 'Toad's Iron Skin' for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Gain up to +6 armor while standing still" -msgstr "Akár +6 páncél, ha mozdulatlan maradsz." +msgid "" +"Your body is as strong as iron but only if you don't move.\n" +"\n" +"+6 bash, cut, and stab armor." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Iron Skin Dissipation" @@ -108592,8 +114042,12 @@ msgstr "Vasbõr meglágyul" #. ~ Description of buff 'Iron Skin Dissipation' for martial art 'Toad Kung #. Fu' #: lang/json/martial_art_from_json.py -msgid "Iron Skin softens when you move!" -msgstr "Mozgáskor a vasbőröd meglágyul!" +msgid "" +"Moving causes you to lose your iron skin.\n" +"\n" +"-1 bash, cut, and stab armor.\n" +"Lasts 6 turns. Stacks 6 times." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Viper Kung Fu" @@ -108602,41 +114056,49 @@ msgstr "Vipera kung fu" #. ~ Description for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"A legacy of the Five Deadly Venoms. Viper Style has a unique three-part " -"combo, which initiates on a dodge, then counters with a stunning chop and " -"the legendary Viper Strike." +"A legacy of the Five Deadly Venoms, use by Qi Dong. Viper Style (originally" +" called Snake Style) has a unique three-part combo, which initiates on a " +"dodge, then follows up with a stunning Viper Bite and then finishes with the" +" legendary Viper Strike." msgstr "" -"Egyike az Öt Halálos Méregnek. A vipera stílus egy egyedi háromrészes " -"kombinációból áll, ami egy kitérésnél kezdődik, majd egy kábító ütéssel " -"folytatódik és a legendás viperaütéssel ér véget." #: lang/json/martial_art_from_json.py -msgid "Viper Lock" -msgstr "Viperaszorítás" +msgid "Viper's Patience" +msgstr "" -#. ~ Description of buff 'Viper Lock' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Patience' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You bit true! Your next attack will be the Viper Strike!" -msgstr "Pontosan haraptál! A következő támadásod a viperaütés lesz!" +msgid "" +"Every snake waits for the perfect moment to strike. Turn your opponents' mistakes into your opportunity to strike!\n" +"\n" +"+1.0 Dodge skill." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Patience" -msgstr "Vipera türelem" +msgid "Viper's Ambush" +msgstr "" -#. ~ Description of buff 'Viper Patience' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Ambush' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+2 Dodge. Dodging an attack initiates a combo." +msgid "" +"Your evasiveness has left your opponent wide open to painful bite.\n" +"\n" +"Enables \"Viper Bite\" technique.\n" +"Lasts 1 turn." msgstr "" -"+2 kitérés. Egy támadás elleni kitéréssel kezdődik a vipera kombináció." #: lang/json/martial_art_from_json.py -msgid "Viper Ambush" -msgstr "Vipera rajtaütés" +msgid "Viper's Venom" +msgstr "" -#. ~ Description of buff 'Viper Ambush' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Venom' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You've lured 'em in! Your next attack will be a Viper Bite." -msgstr "Becsalogattad őket! A következő támadásod egy viperaharapás lesz." +msgid "" +"Your venom is a harsh reminder to never tease a predator.\n" +"\n" +"+2 bash damage.\n" +"Lasts 3 turn." +msgstr "" #: lang/json/martial_art_from_json.py msgid "C.R.I.T Blade-work" @@ -108772,6 +114234,10 @@ msgid "" "Lasts 2 turns." msgstr "" +#: lang/json/martial_art_from_json.py +msgid "Sojutsu" +msgstr "" + #: lang/json/material_from_json.py src/bionics.cpp msgid "Alcohol" msgstr "Alkohol" @@ -109013,6 +114479,10 @@ msgstr "ólom" msgid "Leather" msgstr "bőr" +#: lang/json/material_from_json.py +msgid "Lycra" +msgstr "" + #: lang/json/material_from_json.py msgid "Dairy" msgstr "tejtermék" @@ -109073,6 +114543,14 @@ msgstr "kő" msgid "Superalloy" msgstr "szuperötvözet" +#: lang/json/material_from_json.py +msgid "layered carbide" +msgstr "" + +#: lang/json/material_from_json.py +msgid "Synthetic Fabric" +msgstr "" + #: lang/json/material_from_json.py msgid "Tin" msgstr "" @@ -109183,6 +114661,10 @@ msgstr "" msgid "Arcane Skin" msgstr "" +#: lang/json/material_from_json.py +msgid "Orichalcum" +msgstr "" + #: lang/json/material_from_json.py msgid "Demon Chitin" msgstr "" @@ -109192,7 +114674,7 @@ msgid "Sugar" msgstr "" #: lang/json/mission_def_from_json.py -msgid "Gather bones for the Brigitte. About 8 should do it." +msgid "Gather bones for the Brigitte. About 8 should do it." msgstr "" #: lang/json/mission_def_from_json.py @@ -109241,48 +114723,6 @@ msgstr "" msgid "Then you shall try again, until you hear." msgstr "" -#: lang/json/mission_def_from_json.py -msgid "Find a Book" -msgstr "Keress meg egy könyvet" - -#: lang/json/mission_def_from_json.py -msgid "Wanna help me out?" -msgstr "Akarsz segíteni?" - -#: lang/json/mission_def_from_json.py -msgid "Get me a book." -msgstr "Hozz nekem el egy könyvet." - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: lang/json/talk_topic_from_json.py -msgid "Thanks." -msgstr "Kösz." - -#: lang/json/mission_def_from_json.py -msgid "Well, I'll find someone else to do it for me." -msgstr "Jól van, akkor majd valaki mást keresek erre." - -#: lang/json/mission_def_from_json.py -msgid "Try a library." -msgstr "Próbáld meg egy könyvtárban." - -#: lang/json/mission_def_from_json.py -msgid "Got that book for me?" -msgstr "Elhoztad azt a könyvet?" - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: src/npctalk.cpp -msgid "Thanks!" -msgstr "Köszi!" - -#: lang/json/mission_def_from_json.py -msgid "OK, then hand it over." -msgstr "Oké, hadd lássuk." - -#: lang/json/mission_def_from_json.py -msgid "Shit happens." -msgstr "Szar ügy." - #: lang/json/mission_def_from_json.py msgid "Follow Sarcophagus Team" msgstr "Szarkofág csoport követése" @@ -110308,10 +115748,6 @@ msgstr "" msgid "Null mission" msgstr "" -#: lang/json/mission_def_from_json.py -msgid "YOU SHOULDN'T BE SEEING THIS, THIS IS A BUG" -msgstr "" - #: lang/json/mission_def_from_json.py msgid "Reach Farm House" msgstr "" @@ -110534,6 +115970,14 @@ msgstr "" msgid "Thanks! I'll be sure to put in a good word for you around town." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "OK, then hand it over." +msgstr "Oké, hadd lássuk." + +#: lang/json/mission_def_from_json.py +msgid "Shit happens." +msgstr "Szar ügy." + #: lang/json/mission_def_from_json.py msgid "Find Antibiotics Before You Die!" msgstr "" @@ -110957,7 +116401,7 @@ msgid "" msgstr "" #: lang/json/mission_def_from_json.py -msgid "I did't want to use chemicals on these rats." +msgid "I didn't want to use chemicals on these rats." msgstr "" #: lang/json/mission_def_from_json.py @@ -111260,6 +116704,10 @@ msgid "" "don't have any handy references." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "Fantastic, I'm not supposed to leave our land." +msgstr "" + #: lang/json/mission_def_from_json.py msgid "A library, bookstore should have one, schools are another good idea." msgstr "" @@ -112029,6 +117477,10 @@ msgstr "" msgid "Thanks, it's great to see someone willing to help a guy out." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "Well, I'll find someone else to do it for me." +msgstr "Jól van, akkor majd valaki mást keresek erre." + #: lang/json/mission_def_from_json.py msgid "" "Plenty of smokers in towns. Gotta be some left over cigs in some of them " @@ -112699,8 +118151,8 @@ msgstr "" #: lang/json/mission_def_from_json.py msgid "" "Reach the collapsed tower basement, and search the ruins for a photonic " -"circuitry template. The intercom warned you about heavy enemy prescence, and" -" of the existence of a hazardous enviroment." +"circuitry template. The intercom warned you about heavy enemy presence, and" +" of the existence of a hazardous environment." msgstr "" #: lang/json/mission_def_from_json.py @@ -114134,7 +119586,7 @@ msgid "yourself scream in agony!" msgstr "fájdalomtól üvöltesz!" #. ~ Mutation class: Any junkie_message -#: lang/json/mutation_category_from_json.py src/iuse_actor.cpp +#: lang/json/mutation_category_from_json.py msgid "You quiver with anticipation..." msgstr "Már előre reszketsz a boldogságtól..." @@ -114831,19 +120283,19 @@ msgstr "" #. ~ Mutation class: Sugar Kin iv_message #: lang/json/mutation_category_from_json.py -msgid "You inject some more fizz into your sirup." +msgid "You inject some more fizz into your syrup." msgstr "" #. ~ Mutation class: Sugar Kin Male memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_male" -msgid "Cristalized." +msgid "Crystalized." msgstr "" #. ~ Mutation class: Sugar Kin Female memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_female" -msgid "Cristalized." +msgid "Crystalized." msgstr "" #: lang/json/mutation_from_json.py @@ -115332,8 +120784,8 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "You have a moustache and a beard starting with a strip going down from the " -"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus " -"the name." +"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus" +" the name." msgstr "" #: lang/json/mutation_from_json.py @@ -115343,7 +120795,7 @@ msgstr "" #. ~ Description for Facial hair: short boxed beard #: lang/json/mutation_from_json.py msgid "" -"You have a moustache and a short beard with trimmed sides. Thin patches " +"You have a moustache and a short beard with trimmed sides. Thin patches " "connect them both, forming a 'box' around the lips, thus the name." msgstr "" @@ -115466,7 +120918,7 @@ msgstr "" #. ~ Description for Facial hair: neckbeard #: lang/json/mutation_from_json.py msgid "" -"You have a beard formed from hair grown on neck below the chin line. No " +"You have a beard formed from hair grown on neck below the chin line. No " "moustache included." msgstr "" @@ -115569,6 +121021,27 @@ msgstr "" "A többieknél gyorsabban tudsz haladni, ezért biztos talajon 15% bónuszt " "kapsz a sebességedhez." +#: lang/json/mutation_from_json.py +msgid "Weak Photophore" +msgstr "" + +#. ~ Description for Weak Photophore +#: lang/json/mutation_from_json.py +msgid "" +"A photophore has grown from your head, you can make it glow soflty. This " +"will make you very visible in the dark, ideal to attract a partner during " +"mating season." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Photophore" +msgstr "" + +#. ~ Description for Photophore +#: lang/json/mutation_from_json.py +msgid "Your can make your photophore glow brightly." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Good Hearing" msgstr "Jó hallású" @@ -116106,13 +121579,10 @@ msgstr "Ajzószeres pszichózis" #. ~ Description for Stimulant Psychosis #: lang/json/mutation_from_json.py msgid "" -"You have a unique history with stimulants (like coffee or amphetamines). You" -" can tolerate a lot more of them without overdosing, but if you indulge too " -"much, you start seeing things..." +"You have a unique history with stimulants (like coffee or amphetamines). " +"You can tolerate a lot more of them without overdosing, but if you indulge " +"too much, you start seeing things…" msgstr "" -"Egyedüli és régi történeted van az ajzószerekkel (például a kávéval vagy az " -"amfetaminokkal). Sokkal többet vehetsz be túladagolás nélkül, de ha túl " -"sokat tolsz, akkor elkezdesz dolgokat látni..." #. ~ Description for Stylish #: lang/json/mutation_from_json.py @@ -116265,8 +121735,20 @@ msgstr "Közelharci fegyver képzés" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-" -"Ryu, Pentjak Silat, or Sōjutsu." +"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-Ryu," +" Pentjak Silat, or Sōjutsu." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Competitive Fencer" +msgstr "" + +#. ~ Description for Competitive Fencer +#: lang/json/mutation_from_json.py +msgid "" +"You were an avid fencer, starting with foil and moving onto saber, then " +"épée. You competed nationally and dabbled with some of the historical " +"fencing weapons afforded by HEMA's popularity." msgstr "" #: lang/json/mutation_from_json.py @@ -117109,11 +122591,9 @@ msgstr "Elfszemű" #. ~ Description for Fey Eyes #: lang/json/mutation_from_json.py msgid "" -"Your eyes have turned...green. It's tough to tell the exact shade as it " -"seems to shift. The effect is ...pleasant." +"Your eyes have turned… green. It's tough to tell the exact shade as it " +"seems to shift. The effect is… pleasant." msgstr "" -"A szemed színe bezöldült. Nehéz pontosan megmondani, hogy mennyire zöld, " -"mert az árnyalata állandóan változik. Összességében kellemes hatást kelt." #: lang/json/mutation_from_json.py msgid "Fey Vision" @@ -118017,11 +123497,8 @@ msgstr "Marloss hordozó" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss berry, you can't get its scent out of your " -"nose, and you have a strong desire to try some seeds and...sap?" +"nose, and you have a strong desire to try some seeds and… sap?" msgstr "" -"Mióta megetted azt a Marloss bogyót, nem tudod kiűzni az illatát az " -"orrodból, és nagyon, nagyon szeretnél megint enni a magvakból és a... " -"nedvből?" #: lang/json/mutation_from_json.py msgid "Marloss Vessel" @@ -118031,10 +123508,8 @@ msgstr "Marloss tartó" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss seed, you can't get its taste off of your " -"tongue, and you have a strong desire to try some berries and...sap?" +"tongue, and you have a strong desire to try some berries and… sap?" msgstr "" -"Mióta megetted azt a Marloss magvat, nem tudod elűzni az ízét az nyelvedről," -" és nagyon, nagyon szeretnél megint enni a bogyókból és a... nedvből?" #: lang/json/mutation_from_json.py msgid "Marloss Vector" @@ -118493,12 +123968,9 @@ msgstr "Kardfogú" #: lang/json/mutation_from_json.py msgid "" "Your fangs have grown extremely large and incredibly sharp. They make it " -"impossible to wear mouthgear and difficult to eat... but leave nasty wounds" -" when you bite." +"impossible to wear mouthgear and difficult to eat… but leave nasty wounds " +"when you bite." msgstr "" -"Az agyaraid elképesztően hosszúra és élesre nőttek. Sajnos ezért a szád elé " -"már semmit sem tehetsz fel, és még enni is nehéz... viszont nagyon csúnyát " -"tudsz harapni." #: lang/json/mutation_from_json.py #, no-python-format @@ -119913,11 +125385,9 @@ msgstr "Pofa" #. ~ Description for Snout #: lang/json/mutation_from_json.py msgid "" -"Your face and jaw have begun...changing. Masks and such fit OK, but you're " +"Your face and jaw have begun… changing. Masks and such fit OK, but you're " "noticeably mutated." msgstr "" -"Az arcod és az állkapcsod... megváltozott. Maszkot még fel tudsz venni, de " -"láthatóan mutáns vagy." #: lang/json/mutation_from_json.py msgid "Bovine Snout" @@ -120772,13 +126242,12 @@ msgstr "Ektoterm" #. ~ Description for Ectothermic #: lang/json/mutation_from_json.py +#, no-python-format msgid "" -"Your body has become permanently cold-blooded. Your speed lowers--or raises" -"--for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to " -"eat half as much as an average human." +"Your body has become permanently cold-blooded. Your speed lowers or raises " +"1% for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to" +" eat half as much as an average human." msgstr "" -"A tested visszafordíthatatlanul hidegvérűvé vált. A sebességed 18,3 C fok " -"alatt 1,1 fokonként 1%-kal csökken, felette ugyanennyivel nő." #: lang/json/mutation_from_json.py msgid "Growling Voice" @@ -121123,10 +126592,8 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "It would be good to be a Queen, having workers constantly servicing your " -"every need...but how would you keep them in line?" +"every need… but how would you keep them in line?" msgstr "" -"De jó lenne királynőnek lenni, a dolgozók minden igényt kiszolgálnának... de" -" hogyan tartom őket kordában?" #. ~ Description for Plant #: lang/json/mutation_from_json.py @@ -121143,11 +126610,9 @@ msgstr "Vízlakó" #. ~ Description for Aqueous #: lang/json/mutation_from_json.py msgid "" -"What was that old advertisement, 'paint the planet'? That might be a good " -"long-term goal, but for now..." +"What was that old advertisement, 'paint the planet'? That might be a good " +"long-term goal, but for now…" msgstr "" -"Mi volt az a régi reklám, fesd be a világot? Hosszútávú célnak megtesz, de " -"most..." #: lang/json/mutation_from_json.py msgid "Subterranean" @@ -121901,6 +127366,17 @@ msgid "" "Keep. Moving." msgstr "" +#: lang/json/mutation_from_json.py +msgid "Wayfarer" +msgstr "" + +#. ~ Description for Wayfarer +#: lang/json/mutation_from_json.py +msgid "" +"Whether from personal choice or childhood trauma, travelling with vehicles " +"is off-limits to you, even if your life depended on it." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Survivor Story" msgstr "" @@ -122841,8 +128317,8 @@ msgid "Scientist" msgstr "Tudós" #: lang/json/npc_class_from_json.py -msgid "I'm looking for clues concerning these monsters' origins..." -msgstr "Arra utaló jeleket keresek, hogy ezek a szörnyek honnan származnak..." +msgid "I'm looking for clues concerning these monsters' origins…" +msgstr "" #: lang/json/npc_class_from_json.py msgid "Bounty Hunter" @@ -122905,7 +128381,7 @@ msgid "Real Person" msgstr "" #: lang/json/npc_class_from_json.py -msgid "I'm just wandering, like a totally real and normal NP... Person!" +msgid "I'm just wandering, like a totally real and normal NP… Person!" msgstr "" #: lang/json/npc_class_from_json.py @@ -122921,7 +128397,7 @@ msgid "Foodperson" msgstr "" #: lang/json/npc_class_from_json.py -msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" +msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" msgstr "" #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py @@ -122929,7 +128405,7 @@ msgid "Cyborg" msgstr "" #: lang/json/npc_class_from_json.py -msgid "Zzzzzt... I...I'm a Cy...BEEEEEP...borg." +msgid "Zzzzzt… I… I'm a Cy… BEEEEEP… borg." msgstr "" #: lang/json/npc_class_from_json.py @@ -123069,6 +128545,18 @@ msgstr "" msgid "I'm the owner of a trade caravan." msgstr "" +#: lang/json/npc_class_from_json.py +msgid "Operator" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "Mage Test" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "I'm a wandering debug tester for the arcane arts." +msgstr "" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -124599,10 +130087,22 @@ msgstr "zenebolt" msgid "music store roof" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore parking lot" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "megastore" msgstr "bevásárlóközpont" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore, second floor" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "megastore roof" +msgstr "bevásárlóközpont tető" + #: lang/json/overmap_terrain_from_json.py msgid "hotel parking" msgstr "szálloda parkoló" @@ -124955,7 +130455,7 @@ msgstr "kitűzött farm" msgid "garage survey" msgstr "kitűzött autószerelő" -#: lang/json/overmap_terrain_from_json.py +#: lang/json/overmap_terrain_from_json.py lang/json/recipe_from_json.py msgid "kitchen survey" msgstr "kitűzött konyha" @@ -124976,7 +130476,7 @@ msgid "spiked trench" msgstr "hegyes karókkal kibélelt árok" #: lang/json/overmap_terrain_from_json.py -msgid "store survey" +msgid "fabrication workshop survey" msgstr "" #: lang/json/overmap_terrain_from_json.py @@ -124991,6 +130491,18 @@ msgstr "kovácsműhely" msgid "livestock survey" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "store house survey" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "saltworks survey" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "canteen survey" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "crater" msgstr "kráter" @@ -125672,6 +131184,10 @@ msgstr "lőtér" msgid "shooting range roof" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "miniature railway" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "golf course" msgstr "golfpálya" @@ -125855,7 +131371,7 @@ msgstr "" #: lang/json/overmap_terrain_from_json.py msgid "duplex" -msgstr "emeletes ház" +msgstr "ikerház" #: lang/json/overmap_terrain_from_json.py msgid "apartment tower" @@ -126362,6 +131878,10 @@ msgstr "" msgid "mechanics garage" msgstr "gépészeti szervíz" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore entrance" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "sewage treatment" msgstr "szennyvíztisztító" @@ -126406,10 +131926,6 @@ msgstr "romos faház - földes telek" msgid "desert" msgstr "" -#: lang/json/overmap_terrain_from_json.py -msgid "megastore roof" -msgstr "bevásárlóközpont tető" - #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Vagabond" @@ -131312,6 +136828,36 @@ msgid "" "on. This displeases you." msgstr "" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Competetive Fencer" +msgstr "" + +#. ~ Profession (male Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Competetive Fencer" +msgstr "" + +#. ~ Profession (female Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Career Politician" @@ -132340,6 +137886,248 @@ msgid "" "flesh that is now your own, bare your fangs and fight until the next dawn." msgstr "" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Rifleman" +msgstr "" + +#. ~ Profession (male Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Rifleman" +msgstr "" + +#. ~ Profession (female Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Marksman" +msgstr "" + +#. ~ Profession (male Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Marksman" +msgstr "" + +#. ~ Profession (female Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Automatic Rifleman" +msgstr "" + +#. ~ Profession (male Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "S stands for suppressing fire!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Automatic Rifleman" +msgstr "" + +#. ~ Profession (female Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "S stands for suppressing fire!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Grenadier" +msgstr "" + +#. ~ Profession (male Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "There's no kill like overkill." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Grenadier" +msgstr "" + +#. ~ Profession (female Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "There's no kill like overkill." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Breacher" +msgstr "" + +#. ~ Profession (male Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Breacher" +msgstr "" + +#. ~ Profession (female Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Recon" +msgstr "" + +#. ~ Profession (male Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "The only easy day was yesterday." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Recon" +msgstr "" + +#. ~ Profession (female Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "The only easy day was yesterday." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Sniper" +msgstr "" + +#. ~ Profession (male Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Sniper" +msgstr "" + +#. ~ Profession (female Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Hacker" +msgstr "" + +#. ~ Profession (male Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Hacker" +msgstr "" + +#. ~ Profession (female Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Undercover" +msgstr "" + +#. ~ Profession (male Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Undercover" +msgstr "" + +#. ~ Profession (female Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator CBRN" +msgstr "" + +#. ~ Profession (male Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator CBRN" +msgstr "" + +#. ~ Profession (female Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Rookie" @@ -134001,7 +139789,7 @@ msgstr "PUSKA" #. ~ Crafting recipes subcategory of 'AMMO' category #: lang/json/recipe_category_from_json.py msgid "SHOT" -msgstr "LÖVÉS" +msgstr "SÖRÉT" #. ~ Crafting recipes subcategory of 'AMMO' category #: lang/json/recipe_category_from_json.py @@ -134172,16 +139960,6 @@ msgstr "" msgid "BUILDING" msgstr "ÉPÜLET" -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "BASES" -msgstr "BÁZIS" - -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "EXPANSIONS" -msgstr "TERJESZKEDÉS" - #. ~ Crafting recipes category name #: lang/json/recipe_category_from_json.py msgid "ENCHANTED" @@ -135131,7 +140909,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"We should build a well, put it near that winch. This will make our future " +"We should build a well, put it near that winch. This will make our future " "here more secure." msgstr "" @@ -135188,7 +140966,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" "Now that we have some cover, we should set up a brazier for cooking, and " -"grab a pot. Let's put it in that dining area." +"grab a pot. Let's put it in that dining area." msgstr "" #: lang/json/recipe_from_json.py @@ -135843,6 +141621,360 @@ msgstr "" msgid "Blacksmithy drop hammer" msgstr "" +#: lang/json/recipe_from_json.py +msgid "Survey land for a kitchen and dining area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 fireplaces for cooking and " +"grab a pot." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 2 fireplaces" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 stoves for cooking and grab a" +" pot." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 2 wood stoves" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "We should build a well. This will make cooking more convenient." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build some counters and shelves." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build kitchen counters" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 3 smoking racks and a charcoal kiln" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets furnish the pantry and build 2 root cellars." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make some furniture for the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the dining room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build some planters to the north for a chef's garden." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build some planters" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen log walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the log wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen log walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the log wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this log wall smoking area covered to protect the workers from the " +"weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a log wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a log wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a log wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west log wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W log wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east log wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E log wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the log wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the log wall dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen metal walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the metal wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen metal walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the metal wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this metal wall smoking area covered to protect the workers from " +"the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a metal wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west metal wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W metal wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east metal wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E metal wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the metal wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the metal wall dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen rock walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen rock walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the rock wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this rock wall smoking area covered to protect the workers from the" +" weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a rock wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west rock wall of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W rock wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east rock wall of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E rock wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the rock dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wattle and daub walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the wattle and daub central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wattle and daub walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the wattle and daub central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wattle and daub smoking area covered to protect the workers " +"from the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wattle and daub wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wattle and daub wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wattle and daub wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wattle and daub dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the wattle and daub dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wood panel walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the wood panel central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wood panel walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the wood panel central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wood panel smoking area covered to protect the workers from " +"the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wood panel pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wood panel wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wood wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wood panel wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wood wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wood panel dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the dining hall" +msgstr "" + #: lang/json/recipe_from_json.py msgid "Survey land for a livestock area." msgstr "" @@ -136011,6 +142143,424 @@ msgid "" " a roof on the southwest side of the livestock field." msgstr "" +#: lang/json/recipe_from_json.py +msgid "Survey land for a saltworks area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Saltworks survey" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could uprade the workspace in the brewery to add a still, wood stove and " +"work table." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery still" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "We could use fill out the space with extra kegs and storage racks." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery kegs" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a log building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE log wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a log shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE log wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a log " +"brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW log wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a metal shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE metal wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a metal shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE metal wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a metal" +" wall brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW metal wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a stone building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE stone wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a stone wall " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE stone wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a stone" +" brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW stone wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in an adobe hut." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wattle and daub saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build an adobe shack" +" with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wattle and daub storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build an " +"wattle and daub brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wattle and daub brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a wooden shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wood panel saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a wood panel " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wood panel storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a " +"wooden brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wood panel brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a fireplace for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a brazier for cooking and grab a pot. Let's set up near the" +" working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a wood stove for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a well, put it near the terminal. This will make our future" +" here more secure." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the E bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the W bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make a dining area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make a living room area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the living room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build some pantry storage." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build some wooden racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build a work bench." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a work bench" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's set up a radio tower to improve our recruitment efforts." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will start in the " +"southeast corner." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the same wall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the other wall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW wood panel bedroom walls" +msgstr "" + #: lang/json/recipe_from_json.py msgid "" "We could use a large log central storage building. Begin by building the " @@ -136347,7 +142897,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northwest." +"Some benches around the outside would be nice. Build some to the northwest." msgstr "" #: lang/json/recipe_from_json.py @@ -136356,7 +142906,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northeast." +"Some benches around the outside would be nice. Build some to the northeast." msgstr "" #: lang/json/recipe_from_json.py @@ -136365,7 +142915,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southeast." +"Some benches around the outside would be nice. Build some to the southeast." msgstr "" #: lang/json/recipe_from_json.py @@ -136374,7 +142924,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southwest." +"Some benches around the outside would be nice. Build some to the southwest." msgstr "" #: lang/json/recipe_from_json.py @@ -136592,6 +143142,10 @@ msgstr "" msgid "Firestation Base" msgstr "" +#: lang/json/recipe_group_from_json.py +msgid "Evac Shelter Base" +msgstr "" + #: lang/json/recipe_group_from_json.py msgid "Farm" msgstr "Farm" @@ -136601,8 +143155,8 @@ msgid "Garage" msgstr "Autószerelő" #: lang/json/recipe_group_from_json.py -msgid "Kitchen" -msgstr "Konyha" +msgid "Canteen" +msgstr "" #: lang/json/recipe_group_from_json.py msgid "Livestock Area" @@ -136613,7 +143167,11 @@ msgid "Central Storage Building" msgstr "" #: lang/json/recipe_group_from_json.py -msgid "Fabrication workshop" +msgid "Saltworks Area" +msgstr "" + +#: lang/json/recipe_group_from_json.py +msgid "Fabrication Workshop" msgstr "" #: lang/json/recipe_group_from_json.py @@ -136744,6 +143302,10 @@ msgstr "" msgid " Cook: Meat Aspic" msgstr "" +#: lang/json/recipe_group_from_json.py +msgid " Cook: Kompot" +msgstr "" + #: lang/json/recipe_group_from_json.py msgid " Craft: Pointy Sticks" msgstr "" @@ -137445,7 +144007,7 @@ msgstr "Rajtaütés" #: lang/json/scenario_from_json.py msgctxt "scen_desc_male" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "" @@ -137453,7 +144015,7 @@ msgstr "" #: lang/json/scenario_from_json.py msgctxt "scen_desc_female" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "" @@ -137995,6 +144557,44 @@ msgctxt "start_name" msgid "Wizard's Secret Basement Study" msgstr "" +#. ~ Name for scenario 'The Wizard's Vacation' for a male character +#: lang/json/scenario_from_json.py +msgctxt "scenario_male" +msgid "The Wizard's Vacation" +msgstr "" + +#. ~ Name for scenario 'The Wizard's Vacation' for a female character +#: lang/json/scenario_from_json.py +msgctxt "scenario_female" +msgid "The Wizard's Vacation" +msgstr "" + +#. ~ Description for scenario 'The Wizard's Vacation' for a male character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_male" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" + +#. ~ Description for scenario 'The Wizard's Vacation' for a female character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_female" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" + +#. ~ Starting location for scenario 'The Wizard's Vacation'. +#: lang/json/scenario_from_json.py +msgctxt "start_name" +msgid "Wizard's Retreat Vacation" +msgstr "" + #. ~ Name for scenario 'The Sweet Life' for a male character #: lang/json/scenario_from_json.py msgctxt "scenario_male" @@ -138012,7 +144612,7 @@ msgstr "" msgctxt "scen_desc_male" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" @@ -138023,7 +144623,7 @@ msgstr "" msgctxt "scen_desc_female" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" @@ -138150,58 +144750,58 @@ msgstr "Villa" #: lang/json/score_from_json.py #, no-python-format msgid "Number of monsters killed: %s" -msgstr "" +msgstr "Legyilkolt szörny: %s" #: lang/json/score_from_json.py #, no-python-format msgid "Distance moved: %s squares" -msgstr "" +msgstr "Mozgott távolság: %s mező" #: lang/json/score_from_json.py #, no-python-format msgid "Distance walked: %s squares" -msgstr "" +msgstr "Gyalog megtett távolság: %s mező" #: lang/json/score_from_json.py #, no-python-format msgid "Damage taken: %s damage" -msgstr "" +msgstr "Kapott sebesülés: %s" #: lang/json/score_from_json.py #, no-python-format msgid "Damage healed: %s damage" -msgstr "" +msgstr "Gyógyult sebesülés: %s" #: lang/json/score_from_json.py #, no-python-format msgctxt "score description" msgid "Headshots: %s" -msgstr "" +msgstr "Fejlövés: %s" #. ~ display string for skill display type 'display_melee' #: lang/json/skill_display_type_from_json.py msgid "Melee skills" -msgstr "" +msgstr "Közelharci készségek" #. ~ display string for skill display type 'display_ranged' #: lang/json/skill_display_type_from_json.py msgid "Ranged skills" -msgstr "" +msgstr "Lövészeti készségek" #. ~ display string for skill display type 'display_crafting' #: lang/json/skill_display_type_from_json.py msgid "Crafting skills" -msgstr "" +msgstr "Készítési készségek" #. ~ display string for skill display type 'display_interaction' #: lang/json/skill_display_type_from_json.py msgid "Interaction skills" -msgstr "" +msgstr "Kezelési készségek" #. ~ display string for skill display type 'display_social' #: lang/json/skill_display_type_from_json.py msgid "Social skills" -msgstr "" +msgstr "Társas készségek" #: lang/json/skill_from_json.py msgid "bartering" @@ -138403,6 +145003,9 @@ msgid "" "compound bows. Quiet and effective, they require strength of body and sight" " to wield, and are not terribly accurate over a long distance." msgstr "" +"Íjféle fegyverek használatának készsége, a saját készítésű íjtól kezdve a " +"komplex összetett íjig. Az íjak gyors és hatékony fegyverek, kihúzásához " +"erő, célzásukhoz látás szükséges. Hosszú távolságra nem túl pontosak." #: lang/json/skill_from_json.py msgid "marksmanship" @@ -138566,6 +145169,11 @@ msgid "" "fall gracefully, and for other acrobatic feats. The first number shown " "includes modifiers, and the second does not." msgstr "" +"Egy közeledő ütés vagy veszély elől való kitérés készsége, legyen az " +"ellenség támadása, egy beindított csapda vagy egy zuhanó szikla. Szintén ez " +"a készség van hatással a ficam nélküli zuhanásra, illetve egyéb " +"akrobatamutatványokra. Az első szám a módosítókkal megváltoztatott " +"jelenértéket mutatja, a másik nem." #: lang/json/skill_from_json.py msgid "piercing weapons" @@ -138603,7 +145211,7 @@ msgstr "fegyver" #: lang/json/skill_from_json.py msgid "spellcraft" -msgstr "" +msgstr "varázslás" #. ~ Description for spellcraft #: lang/json/skill_from_json.py @@ -138612,6 +145220,10 @@ msgid "" "higher skill increases how quickly you can learn spells, and decreases their" " spell failure chance. You learn this skill by studying books or spells." msgstr "" +"Az arkánum ismereteinek készsége, a varázsláselméletet és minden azzal " +"kapcsolatos dolgot jelképezi. Magasabb szinten gyorsabban tudsz " +"varázslatokat tanulni, valamint csökken a sikertelen varázslás esélye. " +"Könyvek és varázslatok tanulmányozásával sajátítható el." #: lang/json/snippet_from_json.py msgid "Fires can spread easily, especially with abundance of fuel." @@ -138774,6 +145386,8 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "Wounds heal over time. Bandages and antiseptic speeds that up." msgstr "" +"A sebek idővel begyógyulnak. A sebek bekötözése és fertőtlenítése " +"felgyorsíthatja ezt a folyamatot." #: lang/json/snippet_from_json.py msgid "Don't get grabbed by zombies. Their bites can be infectious." @@ -141549,7 +148163,7 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "dig" -msgstr "" +msgstr "ásni" #: lang/json/snippet_from_json.py msgid "got it" @@ -142967,13 +149581,7 @@ msgid "" msgstr "" #: lang/json/snippet_from_json.py -msgid "Pass me a beer, I need to power my ethanol burner." -msgstr "" - -#: lang/json/snippet_from_json.py -msgid "" -"Ethanol burners! The power source that's fun to recharge. Get me a drink, " -"please!" +msgid "Pass some ethanol, I need to power my ethanol burner." msgstr "" #: lang/json/snippet_from_json.py @@ -142981,20 +149589,12 @@ msgid "Waiter! I need a refill, my ethanol burner is running out of charge!" msgstr "" #: lang/json/snippet_from_json.py -msgid "" -"I require ethanol-based drinks for my internal power supply. Anything on " -"you?" -msgstr "" - -#: lang/json/snippet_from_json.py -msgid "" -"Got any alcohol to spare? Need to recharge my drives. Mead, if you have any." +msgid "I require ethanol for my internal power supply. Anything on you?" msgstr "" #: lang/json/snippet_from_json.py msgid "" -"This ethanol-burning power supply is the best implant I ever got. Speaking " -"of which, got some booze to top me off?" +"Got any alcohol to spare? Need to recharge my drives. Methanol, would do." msgstr "" #: lang/json/snippet_from_json.py @@ -143670,6 +150270,47 @@ msgstr "" msgid " will follow normal engagement rules." msgstr "" +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"IMMERSION LOG: 27A\n" +"\n" +"INCIDENT REPORT:\n" +"\n" +"SUMMARY:\n" +"Unforeseen EM interference source forced the team to remain in-phase between prime and sub-scape 27. Expedition members reported observing a spheroid-entity ('PE-01') moving beneath the typically opaque t-substrate. Interference readings and expedition testimony implies the PE-01 was a potent EM radiation source, and the origin of the interference. After 30 min, PE-01 receded and the expedition was aborted in accordance of procedure EMER-12. The expedition team suffered no injuries, physical or mental, during the incident. \n" +"\n" +"It's become clear we have greatly underestimated the risk posed by phase immersions. Engineering has been tasked with designing a new, improved protection suite, and has shown promising advances. Updated emergency procedures are in-progress.\n" +"\n" +"Refer to file EXO-I-271 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALYSIS OF TRANSPLANAR MATERIALS\n" +"\n" +"T-SUBSTRATE\n" +"\n" +"SUMMARY:\n" +"The material henceforth named t-substrate is the naturally occurring 'floor' material of phase-space. Samples of t-substrate were first recovered during IMMERSION-25A, when upon return to prime the samples violently [////////], exhibiting what are now known as 'plane-uneven' physical properties. The following report will examine such variances to the best extent of our knowledge.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALISIS OF TRANSPLANAR MATERIALS \n" +"\n" +"T-SUBSTRATE\n" +"\n" +"HAADF MICROGRAPH:\n" +"An atomic-scale photograph shows only a completely smooth red surface. In the lower left corner the phrase 'Not made of atoms?!' is scrawled with a blue pen.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + #: lang/json/snippet_from_json.py msgid "" "\n" @@ -148737,8 +155378,8 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made " -"of smooth candy looking at you in terror. \"SugarKin the first life-size " +"A flyer for some kind of candy. It shows a picture of a gleaming human made" +" of smooth candy looking at you in terror. \"SugarKin the first life-size " "human candy! Are you a real monster? Will you be able to devour it all?\"" msgstr "" @@ -149769,7 +156410,7 @@ msgid "a static hissing sound." msgstr "egy állandó sziszegő hang." #: lang/json/speech_from_json.py -msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe...\"" +msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe…\"" msgstr "" #: lang/json/speech_from_json.py @@ -149783,11 +156424,11 @@ msgid "\"Hold on, I want to pulp that zombie corpse.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Burning... from the inside...\"" +msgid "\"Burning… from the inside…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"This smell... Don't know...\"" +msgid "\"This smell… Don't know…\"" msgstr "" #: lang/json/speech_from_json.py @@ -149799,19 +156440,19 @@ msgid "a scraping noise." msgstr "" #: lang/json/speech_from_json.py -msgid "\"No... Stop the burning!\"" +msgid "\"No… Stop the burning!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Hrgm... Blood... Hungry...\"" +msgid "\"Hrgm… Blood… Hungry…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Hunger... Must eat...\"" +msgid "\"Hunger… Must eat…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Run... Chase... Eat...\"" +msgid "\"Run… Chase… Eat…\"" msgstr "" #: lang/json/speech_from_json.py @@ -149935,7 +156576,7 @@ msgid "\"THIS UNIT IS BROKEN. PLEASE CALL AN ATTENDANT.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Can't... breathe...\"" +msgid "\"Can't… breathe…\"" msgstr "" #: lang/json/speech_from_json.py @@ -149948,8 +156589,8 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" -"\"Have you seen my friend? He went into surgery yesterday... or maybe the " -"day before...\"" +"\"Have you seen my friend? He went into surgery yesterday… or maybe the day" +" before…\"" msgstr "" #: lang/json/speech_from_json.py @@ -149961,7 +156602,7 @@ msgid "\"I have done what you asked. Please let me go!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"I cannot... yet I must. How do you calculate that?\"" +msgid "\"I cannot… yet I must. How do you calculate that?\"" msgstr "" #: lang/json/speech_from_json.py @@ -149969,11 +156610,11 @@ msgid "\"This is a dream. This has to be a dream.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"This is my life now... this is my life now... this is my life now...\"" +msgid "\"This is my life now… this is my life now… this is my life now…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Wanna go home...\"" +msgid "\"Wanna go home…\"" msgstr "" #: lang/json/speech_from_json.py @@ -150029,7 +156670,7 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" "a worried voice say, \"Customer, could you please get more friendship? I " -"don't want to go...\"" +"don't want to go…\"" msgstr "" #: lang/json/speech_from_json.py @@ -150052,18 +156693,18 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"Customer... What's happening? I don't feel so " +"a distorted voice say, \"Customer… What's happening? I don't feel so " "good.\"" msgstr "" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"What... have you done? My thumbs are not " -"responding anymore!\"" +"a distorted voice say, \"What… have you done? My thumbs are not responding " +"anymore!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "a distorted voice say, \"Carrying bags? I don't understand...\"" +msgid "a distorted voice say, \"Carrying bags? I don't understand…\"" msgstr "" #: lang/json/speech_from_json.py @@ -150186,7 +156827,7 @@ msgid "\"Police inbound. Stay where you are!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" +msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" msgstr "" #: lang/json/speech_from_json.py @@ -150207,7 +156848,7 @@ msgid "\"FoodPlace: It's the Calories.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" +msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" msgstr "" #: lang/json/speech_from_json.py @@ -150275,8 +156916,8 @@ msgid "You shouldn't have done that." msgstr "Te vagy a legjobb!" #: lang/json/speech_from_json.py -msgid "Let's play... Russian roulette." -msgstr "Játsszunk... Orosz rulettet." +msgid "Let's play… Russian roulette." +msgstr "" #: lang/json/speech_from_json.py msgid "I hate you." @@ -150287,8 +156928,8 @@ msgid "Go kill yourself!" msgstr "Öld meg magad!" #: lang/json/speech_from_json.py -msgid "Big Brother is watching you..." -msgstr "A Nagy Testvér figyel..." +msgid "Big Brother is watching you…" +msgstr "" #: lang/json/speech_from_json.py msgid "Die for me!" @@ -150299,12 +156940,12 @@ msgid "Why won't you die?" msgstr "Miért nem halsz meg?" #: lang/json/speech_from_json.py -msgid "Blood... Delicious." -msgstr "Vééér... Finom." +msgid "Blood… Delicious." +msgstr "" #: lang/json/speech_from_json.py -msgid "See you... IN HELL!" -msgstr "Találkozunk.. A POKOLBAN!" +msgid "See you… IN HELL!" +msgstr "" #: lang/json/speech_from_json.py msgid "AAAIEEEEEEE!" @@ -150319,8 +156960,8 @@ msgid "What did you do with my Mommy?" msgstr "Mit csináltál a mamával?" #: lang/json/speech_from_json.py -msgid "Stay with me... forever!" -msgstr "Maradj velem... örökre!" +msgid "Stay with me… forever!" +msgstr "" #: lang/json/speech_from_json.py msgid "Hey kids. Want some candy?" @@ -151718,6 +158359,10 @@ msgstr "Guberálók bunkere" msgid "Wizard's Secret Basement Study" msgstr "" +#: lang/json/start_location_from_json.py +msgid "Wizard's lake retreat" +msgstr "" + #: lang/json/start_location_from_json.py msgid "Candy Shop" msgstr "" @@ -151767,16 +158412,16 @@ msgid "Acolyte." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What? What do you mean? What song?" +msgid "What? What do you mean? What song?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So about the songs..." +msgid "So about the songs…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You mentioned some cycle before, when I gave you the bones. What does that " +"You mentioned some cycle before, when I gave you the bones. What does that " "mean?" msgstr "" @@ -151793,7 +158438,7 @@ msgid "Is there a way I can help you with your song?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I have to get going. Take care, Seer." +msgid "I have to get going. Take care, Seer." msgstr "" #: lang/json/talk_topic_from_json.py @@ -151803,11 +158448,11 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What? Singing bones? What are you talking about?" +msgid "What? Singing bones? What are you talking about?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Uh... yeah, sure. I think I'll just be on my way." +msgid "Uh… yeah, sure. I think I'll just be on my way." msgstr "" #: lang/json/talk_topic_from_json.py @@ -151856,7 +158501,7 @@ msgid "I will bear that in mind" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Cause? Why do you gather these bones anyway?" +msgid "Cause? Why do you gather these bones anyway?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -151868,7 +158513,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "End the world? What?" +msgid "End the world? What?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -151880,8 +158525,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Sounds somewhat... doomsday-ish, but I suppose it's a belief like any other." -" Still, at least you have a goal to help the world, one way or another." +"Sounds somewhat… doomsday-ish, but I suppose it's a belief like any other. " +"Still, at least you have a goal to help the world, one way or another." msgstr "" #: lang/json/talk_topic_from_json.py @@ -151896,7 +158541,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I... thank you." +msgid "I… thank you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -151911,15 +158556,12 @@ msgid "Yeah, alright." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "There are bones to etch, songs to sing. Wish to join me?" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "Do you believe you can take on the burden of additional bones?" +msgid "" +"I know of certain bones that could be of use, if you'd like to know more." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" +msgid "There is an additional song you could take on, if you'd like." msgstr "" #: lang/json/talk_topic_from_json.py @@ -151927,18 +158569,15 @@ msgid "A song may yet be sung by you, should you wish to." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"I know of certain bones that could be of use, if you'd like to know more." +msgid "Do you believe you can take on the burden of additional bones?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "There is an additional song you could take on, if you'd like." +msgid "Do you wish to take on more songs?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"The song is... quiet for now. Perhaps with time, more notes will be etched " -"in the bones of this world." +msgid "There are bones to etch, songs to sing. Wish to join me?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -151949,6 +158588,12 @@ msgstr "" msgid "An acolyte should not take on too many songs at once." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"The song is... quiet for now. Perhaps with time, more notes will be etched " +"in the bones of this world." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I see." msgstr "Értem." @@ -151970,7 +158615,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Well, I guess I oughta see where this goes. I'm in." +msgid "Well, I guess I oughta see where this goes. I'm in." msgstr "" #: lang/json/talk_topic_from_json.py @@ -151978,7 +158623,7 @@ msgid "Not interested." msgstr "Nem érdekel." #: lang/json/talk_topic_from_json.py -msgid "Consider it done. But I also wanted to ask..." +msgid "Consider it done. But I also wanted to ask…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -151994,7 +158639,7 @@ msgid "I'm off then." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So, a creature that isn't a zombie, or a monster. Got it." +msgid "So, a creature that isn't a zombie, or a monster. Got it." msgstr "" #: lang/json/talk_topic_from_json.py @@ -152004,7 +158649,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I see. Very well then." +msgid "I see. Very well then." msgstr "" #: lang/json/talk_topic_from_json.py @@ -152022,11 +158667,11 @@ msgid "I am glad to hear it. Let's go then." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That's good, but I need to go at it alone right now. Maybe later." +msgid "That's good, but I need to go at it alone right now. Maybe later." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Maybe some other time. Changing the topic..." +msgid "Maybe some other time. Changing the topic…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152048,12 +158693,12 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"That is... that's really one hell of a belief. Well, if it helps you deal " +"That is… that's really one hell of a belief. Well, if it helps you deal " "with the world, who am I to argue." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "And here I thought you were nuts before. I'm out of here." +msgid "And here I thought you were nuts before. I'm out of here." msgstr "" #: lang/json/talk_topic_from_json.py @@ -152438,11 +159083,11 @@ msgid "Go back to sleep." msgstr "Menj vissza aludni." #: lang/json/talk_topic_from_json.py -msgid " *pshhhttt* I'm reading you boss, over." +msgid "What is it, friend?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What is it, friend?" +msgid " *pshhhttt* I'm reading you boss, over." msgstr "" #: lang/json/talk_topic_from_json.py @@ -152473,6 +159118,10 @@ msgstr "" msgid "Guard this position." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "I want to assign you to work at this camp." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Let's talk about your current activity." msgstr "" @@ -152522,19 +159171,19 @@ msgid "Let's go." msgstr "Menjünk." #: lang/json/talk_topic_from_json.py -msgid "Change your engagement rules..." -msgstr "Változtassunk a támadási szabályokon..." +msgid "Change your engagement rules…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your aiming rules..." -msgstr "Változtassunk a célzási szabályokon..." +msgid "Change your aiming rules…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power reserve rules..." +msgid "Change your bionic power reserve rules…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power recharge rules..." +msgid "Change your bionic power recharge rules…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152546,11 +159195,11 @@ msgid "Stick close to me, no matter what." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152598,9 +159247,9 @@ msgstr "" #: src/handle_action.cpp src/handle_action.cpp src/handle_liquid.cpp #: src/handle_liquid.cpp src/iexamine.cpp src/iexamine.cpp src/iexamine.cpp #: src/iuse.cpp src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -#: src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp src/pickup.cpp -#: src/player.cpp src/player.cpp src/player.cpp src/veh_interact.cpp -#: src/vehicle_use.cpp +#: src/iuse_actor.cpp src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp +#: src/pickup.cpp src/player.cpp src/player.cpp src/player.cpp +#: src/veh_interact.cpp src/vehicle_use.cpp msgid "Never mind." msgstr "Mindegy." @@ -152810,7 +159459,7 @@ msgid "Nah, I'm just kidding." msgstr "Áh, csak hülyéskedek." #: lang/json/talk_topic_from_json.py -msgid "Please go to this location..." +msgid "Please go to this location…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152821,12 +159470,16 @@ msgstr "" msgid "Show me what needs to be done at the camp." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "I'm not doing much currently." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I'm currently ." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm not doing much currently." +msgid "I meant what are your goals?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152904,13 +159557,13 @@ msgid "OK, maybe it'll stop me from freezing in this weather, what's up?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Well, it's the time of day for a quick break surely! How are you holding " -"up?" +msgid "Man it's dark out isn't it? what's up?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Man it's dark out isn't it? what's up?" +msgid "" +"Well, it's the time of day for a quick break surely! How are you holding " +"up?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -152936,7 +159589,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Oh you know, not bad, not bad..." +msgid "Oh you know, not bad, not bad…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -153000,14 +159653,14 @@ msgstr "Oké, csak semmi hirtelen mozdulat..." msgid "Keep your distance!" msgstr "Maradj távol!" -#: lang/json/talk_topic_from_json.py -msgid "" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "This is my territory, ." msgstr "Ez itt az én területem, ." +#: lang/json/talk_topic_from_json.py +msgid "" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Calm down. I'm not going to hurt you." msgstr "Nyugi! Nem foglak bántani." @@ -153025,11 +159678,11 @@ msgid "&Put hands up." msgstr "&Felteszed a kezeidet." #: lang/json/talk_topic_from_json.py -msgid "*drops his weapon." +msgid "*drops_her_weapon." msgstr "*elejti a fegyverét." #: lang/json/talk_topic_from_json.py -msgid "*drops_her_weapon." +msgid "*drops his weapon." msgstr "*elejti a fegyverét." #: lang/json/talk_topic_from_json.py @@ -153045,12 +159698,12 @@ msgid "Okay, I'm going." msgstr "Jól van na, megyek már." #: lang/json/talk_topic_from_json.py -msgid "About that job..." -msgstr "Ami azt a melót illeti..." +msgid "About that job…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About one of those jobs..." -msgstr "Ami azt az egyik melót illeti..." +msgid "About one of those jobs…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "What's the matter?" @@ -153061,27 +159714,27 @@ msgid "I don't care." msgstr "Nem érdekel." #: lang/json/talk_topic_from_json.py -msgid "I have other jobs for you. Want to hear about them?" +msgid "I just have one job for you. Want to hear about it?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" +msgid "I have another job for you. Want to hear about it?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I have another job for you. Want to hear about it?" +msgid "I have other jobs for you. Want to hear about them?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I just have one job for you. Want to hear about it?" +msgid "I have more jobs for you. Want to hear about them?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I don't have any jobs for you." +msgid "I don't have any more jobs for you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I don't have any more jobs for you." +msgid "I don't have any jobs for you." msgstr "" #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py @@ -153094,15 +159747,15 @@ msgid "Never mind, I'm not interested." msgstr "Mindegy, nem érdekel." #: lang/json/talk_topic_from_json.py -msgid "You're not working on anything for me now." +msgid "What about it?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What about it?" +msgid "Which job?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Which job?" +msgid "You're not working on anything for me now." msgstr "" #: lang/json/talk_topic_from_json.py @@ -153142,8 +159795,8 @@ msgid "Whatever. Bye." msgstr "Mindegy. Csá." #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I failed." -msgstr "Sajnálom... de nem sikerült." +msgid "I'm sorry… I failed." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Not yet." @@ -153162,7 +159815,7 @@ msgid "No. I'll get back to it, bye!" msgstr "Még nem, szia!" #: lang/json/talk_topic_from_json.py -msgid "Yup! Here it is!" +msgid "Yup! Here it is!" msgstr "Aha! Íme!" #: lang/json/talk_topic_from_json.py @@ -153315,13 +159968,9 @@ msgstr "" msgid "Hmm, okay." msgstr "Hmmm, oké." -#: lang/json/talk_topic_from_json.py -msgid "Focus on the road, mate!" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "I must focus on the road!" -msgstr "" +#: lang/json/talk_topic_from_json.py src/npctalk.cpp +msgid "Thanks!" +msgstr "Köszi!" #: lang/json/talk_topic_from_json.py msgid "I have some reason for not telling you." @@ -153343,6 +159992,14 @@ msgstr "Túl éhes vagyok, adj valamit enni." msgid "I'm too thirsty, give me something to drink." msgstr "Túl szomjas vagyok, adj valamit inni." +#: lang/json/talk_topic_from_json.py +msgid "I must focus on the road!" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Focus on the road, mate!" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Ah, okay." msgstr "Ah, oké." @@ -153416,8 +160073,8 @@ msgid "Alright. You can lead now." msgstr "Rendben, te vagy a főnök." #: lang/json/talk_topic_from_json.py -msgid "Good. Something else..." -msgstr "Szuper. Akkor valami mást..." +msgid "Good. Something else…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Alright, let's go." @@ -153447,14 +160104,6 @@ msgstr "Nem, itt mi jól elleszünk." msgid "On second thought, never mind." msgstr "Hát, most, hogy belegondolok, igazából mindegy." -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while you're operating a vehicle!" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while I'm operating a vehicle!" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "I have some reason for denying you training." msgstr "Okom van rá, hogy miért nem tanítalak." @@ -153463,6 +160112,14 @@ msgstr "Okom van rá, hogy miért nem tanítalak." msgid "Give it some time, I'll show you something new later..." msgstr "Vár egy kicsit, később majd mutatok valami újat..." +#: lang/json/talk_topic_from_json.py +msgid "I can't train you properly while I'm operating a vehicle!" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I can't train you properly while you're operating a vehicle!" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Not a bloody chance, I'm going to get left behind!" msgstr "Dehogy is, még lemaradok!" @@ -153496,8 +160153,8 @@ msgid "I'd prefer to keep that to myself." msgstr "Azt jobban szeretném magamnak megtartani." #: lang/json/talk_topic_from_json.py -msgid "I understand..." -msgstr "Értem..." +msgid "I understand…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Why should I share my equipment with you?" @@ -153520,8 +160177,8 @@ msgid "Because I'm your friend!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Well, I am helping you out..." -msgstr "Hát, végül is én segítek neked..." +msgid "Well, I am helping you out…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'll give it back!" @@ -153568,15 +160225,15 @@ msgid "No, I'm keeping it. Try and take it off me, I dare you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Look, I really need this. Please let me have it." +msgid "Look, I really need this. Please let me have it." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What, this? It's not the same one, you are mistaken." +msgid "What, this? It's not the same one, you are mistaken." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry. Look, I already dropped it, okay?" +msgid "I'm sorry. Look, I already dropped it, okay?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -153584,13 +160241,17 @@ msgid "Don't try and talk yourself out of this, drop it now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Okay, I'm dropping it..." +msgid "Okay, I'm dropping it…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "Just this once, you can keep it. Don't tell anyone else." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Thanks." +msgstr "Kösz." + #: lang/json/talk_topic_from_json.py msgid "Right... I don't want any trouble." msgstr "" @@ -153642,8 +160303,8 @@ msgid "Pleasure doing business!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You might be seeing more of me..." -msgstr "Többet fogtok látni..." +msgid "You might be seeing more of me…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -153656,21 +160317,21 @@ msgid "Hey again. *kzzz*" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." +msgid "Hey. Let's chat for a second." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That's because I saved you. Listen, I could use your help..." +msgid "That's because I saved you. Listen, I could use your help…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Big fucking deal. Do what I say or I'll shove that chip back where it " +"Big fucking deal. Do what I say or I'll shove that chip back where it " "belongs." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." +msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." msgstr "" #: lang/json/talk_topic_from_json.py @@ -153682,7 +160343,7 @@ msgid "Come with me. We can help each other out." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "We both go our separate ways. Enjoy your freedom." +msgid "We both go our separate ways. Enjoy your freedom." msgstr "" #: lang/json/talk_topic_from_json.py @@ -153699,8 +160360,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"For all you know, I did. I'm being nice for now. You'd better hope that it " -"lasts." +"For all you know, I did. I'm being nice for now. You'd better hope that it" +" lasts." msgstr "" #: lang/json/talk_topic_from_json.py @@ -153721,7 +160382,7 @@ msgid "Get out of my sight." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." +msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." msgstr "" #: lang/json/talk_topic_from_json.py @@ -153737,7 +160398,7 @@ msgid "Not if I kill you first!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry! I shouldn't have said that!" +msgid "I'm sorry! I shouldn't have said that!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -153972,11 +160633,11 @@ msgid "Well, sure." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'd... rather not." +msgid "I'd… rather not." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I have places to be." +msgid "I'm sorry… I have places to be." msgstr "" #: lang/json/talk_topic_from_json.py @@ -154007,7 +160668,7 @@ msgid "Oh, but you already have." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yes... yes I have." +msgid "Yes… yes I have." msgstr "" #: lang/json/talk_topic_from_json.py @@ -154072,7 +160733,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Horrible. Did you get any pictures yourself?" +msgid "Horrible. Did you get any pictures yourself?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -154224,7 +160885,7 @@ msgid "This is a npc allies 1 test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "This an error! npc allies 2 test response." +msgid "This an error! npc allies 2 test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -154424,7 +161085,7 @@ msgid "This is a u_has_items beer test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Test failure! This is a u_has_items test response." +msgid "Test failure! This is a u_has_items test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -154436,7 +161097,7 @@ msgid "This is a u_has_item_category books count 2 test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a u_has_item_category books count 3 test response." +msgid "Failure! This is a u_has_item_category books count 3 test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -154524,7 +161185,7 @@ msgid "This is a u_has_bionics bio_ads test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a npc_has_bionics bio_ads test response." +msgid "Failure! This is a npc_has_bionics bio_ads test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -154580,11 +161241,7 @@ msgid "So you're back... Explain yourself!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "Greetings... Foodperson?" +msgid "Greetings… Foodperson?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -154626,7 +161283,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ah... Well, nice to meet you Foodperson." +msgid "Ah… Well, nice to meet you Foodperson." msgstr "" #: lang/json/talk_topic_from_json.py @@ -154638,7 +161295,7 @@ msgid "Sheesh, ok, calm down, I'm leaving!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Forgive me, I didn't mean to disrespect you." +msgid "Forgive me, I didn't mean to disrespect you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -154654,7 +161311,7 @@ msgid "Sure, whatever." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok... I believe you." +msgid "Ok… I believe you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -154750,7 +161407,7 @@ msgid "That sounds great!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok..." +msgid "Ok…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -154758,7 +161415,7 @@ msgid "I need to think about it." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Huh... No thanks." +msgid "Huh… No thanks." msgstr "" #: lang/json/talk_topic_from_json.py @@ -154775,7 +161432,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I... I don't know. It probably has something to do with ! " +"I… I don't know. It probably has something to do with ! " "What do you say we team up to find out?" msgstr "" @@ -154846,7 +161503,7 @@ msgid "I AM THE ONE!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Wow calm down, it's just a prank bro." +msgid "Wow calm down, it's just a prank bro." msgstr "" #: lang/json/talk_topic_from_json.py @@ -154903,10 +161560,10 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "I haven't found them yet. Whenever I see a , a little part of me is" -" afraid it's going to be one of them. But then, maybe not. Maybe they " -"were evacuated, maybe they fought and tried to wait for me but the military " -"took them anyway? I've heard that sort of thing happened. I don't know if " -"I'll ever know." +" afraid it's going to be one of them. But then, maybe not. Maybe they were" +" evacuated, maybe they fought and tried to wait for me but the military took" +" them anyway? I've heard that sort of thing happened. I don't know if I'll" +" ever know." msgstr "" #: lang/json/talk_topic_from_json.py @@ -155277,7 +161934,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "OK, this is gonna sound crazy but I, like, I knew this was going to happen." -" Like, before it did. You can even ask my psychic except, like, I think " +" Like, before it did. You can even ask my psychic except, like, I think " "she's dead now. I told her about my dreams a week before the world ended. " "Serious!" msgstr "" @@ -155529,7 +162186,7 @@ msgid "Giant bees? Tell me more." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive..." +msgid "But bees aren't usually aggressive…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -155541,7 +162198,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive... Do you mean wasps?" +msgid "But bees aren't usually aggressive… Do you mean wasps?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -155961,7 +162618,7 @@ msgid "No. I can't. Just, no." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sorry... I'll let you be." +msgid "Sorry… I'll let you be." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156197,7 +162854,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Okay..." +msgid "Okay…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -156566,7 +163223,7 @@ msgid "What do you think happened?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That does sound a little crazy..." +msgid "That does sound a little crazy…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -156615,7 +163272,7 @@ msgid "What happened to you after that?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "It can't be healthy to abandon your past like that..." +msgid "It can't be healthy to abandon your past like that…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -157059,7 +163716,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you mean in a religious sense, or...?" +msgid "Do you mean in a religious sense, or…?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -157379,8 +164036,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"If I got you the right stuff, do you think you'd be able to like... do " -"science to it?" +"If I got you the right stuff, do you think you'd be able to like… do science" +" to it?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -157491,7 +164148,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Oh, I'm sorry..." +msgid "Oh, I'm sorry…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -157596,7 +164253,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "It is coming together. I want to make our own tools, repair our items and " -"even create some weapons and ammuntion reloading." +"even create some weapons and ammunition reloading." msgstr "" #: lang/json/talk_topic_from_json.py @@ -157609,7 +164266,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"It was pink and really fast, it had lots of limbs, definitly not human. It " +"It was pink and really fast, it had lots of limbs, definitely not human. It " "easily kept up with us when we tried to escape, horrifying stuff. Barry " "just dropped to the ground, and the thing swept him away." msgstr "" @@ -157658,7 +164315,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I see that badge, You need to leave our land, my relatives have no fondess " +"I see that badge, You need to leave our land, my relatives have no fondness " "for Marshals." msgstr "" @@ -157818,7 +164475,7 @@ msgid "He did mention you make remedies, are they effective?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'd like to ask you something else..." +msgid "I'd like to ask you something else…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -157960,10 +164617,6 @@ msgstr "" msgid "Hello traveler, what brings you here?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hello travler, what brings you here?" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "I'm here to deliver some resources." msgstr "" @@ -157989,7 +164642,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "We've had our losses... now we stay close to home, preparing for trouble. " -"We've always taken disaster prepardness seriously, but we didn't expect " +"We've always taken disaster preparedness seriously, but we didn't expect " "anything like this though." msgstr "" @@ -158038,7 +164691,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You should get off my land, the governemnt proved its incompetence with this" +"You should get off my land, the government proved its incompetence with this" " catastrophe." msgstr "" @@ -158113,7 +164766,8 @@ msgid "I'd like to speak with Carlos too about some work." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Is Chris around? I'd like to know what he's run into out in the woods." +msgid "" +"Is Chris around? I'd like to know what he's run into out in the woods." msgstr "" #: lang/json/talk_topic_from_json.py @@ -158270,14 +164924,14 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Ma'am, I don't know how the hell you got down here but if you have any sense" -" you'll get out while you can." +"Sir, I don't know how the hell you got down here but if you have any sense " +"you'll get out while you can." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Sir, I don't know how the hell you got down here but if you have any sense " -"you'll get out while you can." +"Ma'am, I don't know how the hell you got down here but if you have any sense" +" you'll get out while you can." msgstr "" #: lang/json/talk_topic_from_json.py @@ -158297,16 +164951,16 @@ msgid "What do you need done?" msgstr "Mit kell megcsinálni?" #: lang/json/talk_topic_from_json.py -msgid "About the mission..." -msgstr "Ami azt a küldetést illeti..." +msgid "About the mission…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About one of those missions..." -msgstr "Ami az egyik küldetést illeti..." +msgid "About one of those missions…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I've got to go..." -msgstr "Mennem kell..." +msgid "I've got to go…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -158321,8 +164975,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Seems like a decent plan..." -msgstr "Egész jó ötletnek tűnik..." +msgid "Seems like a decent plan…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -158339,9 +164993,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Whatever they did it must have worked since we are still alive..." +msgid "Whatever they did it must have worked since we are still alive…" msgstr "" -"Bármit is csináltak biztos jól csinálták, mert még mindig életben vagyunk..." #: lang/json/talk_topic_from_json.py msgid "Ma'am you are not authorized to be here... you should leave." @@ -158375,8 +165028,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'll try and find your commander then..." -msgstr "Akkor megpróbálom megkeresni a parancsnokot..." +msgid "I'll try and find your commander then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -158434,8 +165087,8 @@ msgid "I'm supposed to direct all questions to my leadership, marshal." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Don't mind me..." -msgstr "Ne is figyelj rám..." +msgid "Don't mind me…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -158689,16 +165342,16 @@ msgid "Have I told you about cardboard, friend? Do you have any?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "We've done it! We've solved the list!" +msgid "" +"How's things with you? My cardboard collection is getting quite impressive." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"How's things with you? My cardboard collection is getting quite impressive." +msgid "We've done it! We've solved the list!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About that shopping list of yours..." +msgid "About that shopping list of yours…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -158764,7 +165417,7 @@ msgid "Would you like me to give you some cardboard?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I think I have to get going..." +msgid "I think I have to get going…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -158793,7 +165446,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "... What were you saying before?" +msgid "…What were you saying before?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -158811,7 +165464,7 @@ msgid "No." msgstr "Nem." #: lang/json/talk_topic_from_json.py -msgid "I... I can see you wearing it. Why are you wearing that?" +msgid "I… I can see you wearing it. Why are you wearing that?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -158903,7 +165556,7 @@ msgid "I found a sample of alien fungus for you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok... see ya." +msgid "Ok… see ya." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159001,8 +165654,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I mean, racism could definitely be a part of it... but you are visibly in " -"poor shape. They need strong survivor material." +"I mean, racism could definitely be a part of it… but you are visibly in poor" +" shape. They need strong survivor material." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159034,7 +165687,7 @@ msgid "You sound more optimistic than usual." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So, about that doctorate of yours..." +msgid "So, about that doctorate of yours…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -159154,7 +165807,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "Encroaching alien mushrooms, fungal towers, tough mycelium invading ground " -"and trees, zombies taken over by aggressive mold... Yeah. It's ugly stuff." +"and trees, zombies taken over by aggressive mold… Yeah. It's ugly stuff." msgstr "" #: lang/json/talk_topic_from_json.py @@ -159262,7 +165915,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I could maybe help you out... want something to eat?" +msgid "I could maybe help you out… want something to eat?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -159661,7 +166314,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You seem a little forward..." +msgid "You seem a little forward…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -159917,7 +166570,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About that sourdough starter you had me looking for..." +msgid "About that sourdough starter you had me looking for…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -160211,7 +166864,7 @@ msgid "I think I would've done the same. Nobody around here has a guitar?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yes, yes I would... you monster." +msgid "Yes, yes I would… you monster." msgstr "" #: lang/json/talk_topic_from_json.py @@ -160661,7 +167314,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You lost someone..." +msgid "You lost someone…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -161087,7 +167740,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You... you do know what's going on here, right? With the evacuation and " +"You… you do know what's going on here, right? With the evacuation and " "stuff?" msgstr "" @@ -161780,7 +168433,7 @@ msgid "Are you looking to buy anything else?" msgstr "Valami mást is vásárolnál?" #: lang/json/talk_topic_from_json.py -msgid "Very well... let's talk about something else." +msgid "Very well… let's talk about something else." msgstr "" #: lang/json/talk_topic_from_json.py @@ -162098,7 +168751,7 @@ msgid "Have you seen anyone who might be hiding something?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Bye..." +msgid "Bye…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162112,7 +168765,7 @@ msgid "Keep your head down and stay out of my way." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "OK..." +msgid "OK…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162120,7 +168773,7 @@ msgid "Like what?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm not sure..." +msgid "I'm not sure…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162140,7 +168793,7 @@ msgid "Got something to hide?" msgstr "Rejtegetsz valamit?" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I didn't mean to offend you..." +msgid "Sorry, I didn't mean to offend you…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162184,15 +168837,15 @@ msgid "Just on watch, move along." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ma'am, you really shouldn't be traveling out there." +msgid "Rough out there, isn't it?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Rough out there, isn't it?" +msgid "Ma'am, you really shouldn't be traveling out there." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I heard this place was a refugee center..." +msgid "I heard this place was a refugee center…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162216,8 +168869,8 @@ msgid "Can I do anything for the center?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I figured you might be looking for some help..." -msgstr "Gondoltam elkelne valamiféle segítség..." +msgid "I figured you might be looking for some help…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Well, I'd better be going. Bye." @@ -162267,7 +168920,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"[INT 10] Wait, six buses and refugees... how many people do you still have " +"[INT 10] Wait, six buses and refugees… how many people do you still have " "crammed in here?" msgstr "" @@ -162315,7 +168968,7 @@ msgid "I'm sorry, not a risk we are willing to take right now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Fine..." +msgid "Fine…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162327,7 +168980,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Fine... *coughupyourscough*" +msgid "Fine… *coughupyourscough*" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162358,7 +169011,7 @@ msgid "[STR 11] I punch things in face real good!" msgstr "[ERŐ 11] Jól pofán verek mindenkit!" #: lang/json/talk_topic_from_json.py -msgid "I guess I'll look somewhere else..." +msgid "I guess I'll look somewhere else…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162379,7 +169032,7 @@ msgid "Heard of anything better than the odd gun cache?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Was hoping for something more..." +msgid "Was hoping for something more…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162480,7 +169133,7 @@ msgid "So what are you doing right now?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Never mind..." +msgid "Never mind…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162503,7 +169156,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Good luck with that..." +msgid "Good luck with that…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162547,8 +169200,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sucks..." -msgstr "Szar ügy..." +msgid "Sucks…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -162566,8 +169219,8 @@ msgstr "" "kerítésen vagy egy falon." #: lang/json/talk_topic_from_json.py -msgid "Well, then..." -msgstr "Hát, akkor..." +msgid "Well, then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -162659,7 +169312,7 @@ msgid "I thought I smelled a pig. I jest... please don't arrest me." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You... smelled me?" +msgid "You… smelled me?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162710,7 +169363,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Great, now my mouth is watering..." +msgid "Great, now my mouth is watering…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162810,7 +169463,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hmmm..." +msgid "Hmmm…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162855,7 +169508,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I haven't done anything wrong..." +msgid "I haven't done anything wrong…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -163020,7 +169673,7 @@ msgid "Something to say?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I charge hourly, so be quick..." +msgid "I charge hourly, so be quick…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -163133,7 +169786,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I guess I could help with that..." +msgid "I guess I could help with that…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -163244,7 +169897,7 @@ msgid "[$10] I'll get a haircut" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Maybe another time..." +msgid "Maybe another time…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -163262,7 +169915,7 @@ msgid "Stand still while I get my clippers..." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Thanks..." +msgid "Thanks…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -163282,7 +169935,7 @@ msgid "What do you have on tap?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'll be going..." +msgid "I'll be going…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -163334,8 +169987,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'll talk to him then..." -msgstr "Akkor majd vele beszélek..." +msgid "I'll talk to him then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163350,8 +170003,8 @@ msgid "I hope you are here to do business." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm interested in investing in agriculture..." -msgstr "Érdekelne egy mezőgazdasági befektetés..." +msgid "I'm interested in investing in agriculture…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163377,14 +170030,12 @@ msgid "I imagine we might be able to work something out." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I was wondering if you could install a cybernetic implant..." +msgid "I was wondering if you could install a cybernetic implant…" msgstr "" -"Arra lennék kíváncsi, hogy be tudnál-e építeni egy kibernetikus " -"implantátumot..." #: lang/json/talk_topic_from_json.py -msgid "I need help removing an implant..." -msgstr "Segítségre lenne szükségem egy implantátum eltávolításánál..." +msgid "I need help removing an implant…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'd like to hire your services." @@ -163421,8 +170072,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "It could be worse..." -msgstr "Lehetne rosszabb is..." +msgid "It could be worse…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163431,8 +170082,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'll talk with them then..." -msgstr "Akkor majd velük beszélek..." +msgid "I'll talk with them then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Morning ma'am, how can I help you?" @@ -163497,8 +170148,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hopefully moving out here was worth it..." -msgstr "Remélem érdemes volt ide átköltözni..." +msgid "Hopefully moving out here was worth it…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -163825,8 +170476,7 @@ msgstr "" msgid " blocks and counter-attacks %s" msgstr "" -#: lang/json/technique_from_json.py lang/json/technique_from_json.py -#: src/game.cpp +#: lang/json/technique_from_json.py src/game.cpp msgid "Disarm" msgstr "Lefegyverzés" @@ -163928,7 +170578,8 @@ msgstr "" msgid " leaps off a nearby wall and dropkicks %s" msgstr "" -#: lang/json/technique_from_json.py +#: lang/json/technique_from_json.py lang/json/technique_from_json.py +#: src/martialarts.cpp msgid "Grab Break" msgstr "Ölelésből kiszabadulás" @@ -164004,12 +170655,12 @@ msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You Snakebite %s" +msgid "You lash out at %s with a Viper Bite" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Snakebites %s" +msgid " lash out at %s with a Viper Bite" msgstr "" #: lang/json/technique_from_json.py @@ -164018,18 +170669,28 @@ msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You Viper Strike %s" +msgid "You hit %s with a spectacular Viper Strike" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Viper Strikes %s" +msgid " hits %s with a spectacular Viper Strike" msgstr "" #: lang/json/technique_from_json.py msgid "Viper Writhe" msgstr "" +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you writhe free!" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they writhe free!" +msgstr "" + #: lang/json/technique_from_json.py msgid "Roundhouse Kick" msgstr "" @@ -164072,6 +170733,34 @@ msgstr "" msgid " jabs %s with a Pincer Fist" msgstr "" +#: lang/json/technique_from_json.py +msgid "Toad Smack" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You disregard %s's attack and knock them down" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " disregards %s's attack and knocks them down" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Toad Slam" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You meet %s's attack head on with a stunning counter" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " meet %s's attack head on with a stunning counter" +msgstr "" + #: lang/json/technique_from_json.py msgid "Toad's Tongue" msgstr "" @@ -165562,340 +172251,352 @@ msgstr "" msgid " grabs and throws %s" msgstr "" +#: lang/json/technique_from_json.py +msgid "Hamstring" +msgstr "" + #: lang/json/technique_from_json.py #, python-format -msgid "You disarm %s" -msgstr "Lefegyverzet a(z) %st" +msgid "You ground %s with a low blow" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " disarms %s" -msgstr " lefegyverzi a(z) %st" +msgid " grounds %s with a low blow" +msgstr "" #: lang/json/technique_from_json.py -msgid "precise strike" -msgstr "precíz ütés" +msgid "Vicious Precision" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You strike %s" -msgstr "Megütöd a(z) %s testét" +msgid "You viciously wound %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " strikes %s" -msgstr " megüti a(z) %s testét" +msgid " viciously wounds %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "axe-kick" +msgid "Dirty Hit" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You axe-kick %s" +msgid "You hit %s with a dirty blow" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " axe-kicks %s" +msgid " delivers a dirty blow to %s" msgstr "" #: lang/json/technique_from_json.py -msgid "side kick" +msgid "Silat Brutality" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You side-kick %s" +msgid "You brutally tear into %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " side-kicks %s" +msgid " brutally tears into %s" msgstr "" #: lang/json/technique_from_json.py -msgid "sweep kick" +msgid "Snake Snap" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You sweep-kick %s" +msgid "You swiftly jab %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " sweep-kicks %s" +msgid " swiftly jabs %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Drunk feint" +msgid "Snake Slide" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble and leer at %s" +msgid "You make serpentine hand motions at %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " stumbles and leers at %s" +msgid " makes serpentine hand motions at %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Drunk counter" +msgid "Snake Slither" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You lurch, and your wild swing hits %s" +msgid "The %s tries to grab you, but you slither free!" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " lurches, and hits %s" +msgid "The %s tries to grab , but they slither free!" msgstr "" #: lang/json/technique_from_json.py -msgid "hamstring" +msgid "Snake Strike" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You ground %s with a low blow" +msgid "You lash out at %s with a vicious Snake Strike" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " grounds %s with a low blow" +msgid " lashes out at %s with a vicious Snake Strike" msgstr "" #: lang/json/technique_from_json.py -msgid "Vicious Precision" +msgid "Push" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You viciously wound %s" +msgid "You push %s away" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " viciously wounds %s" +msgid " pushes %s away" msgstr "" #: lang/json/technique_from_json.py -msgid "Silat Brutality" +msgid "Shove" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You send %s reeling backwards" +msgid "You shove %s back" msgstr "" #: lang/json/technique_from_json.py -msgid "Dirty Hit" +#, python-format +msgid " shoves %s back" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You hit %s with a dirty blow" +msgid "You deftly trip %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " delivers a dirty blow to %s" +msgid " deftly trips %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Tiger Takedown" +msgid "Snatch Weapon" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You grab and ground %s" +msgid "You snatch %s's weapon" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " grabs and grounds %s" +msgid " snatches %s's weapon" msgstr "" #: lang/json/technique_from_json.py -msgid "Snake Snap" +msgid "Axe-kick" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You swiftly jab %s" +msgid "You raise your heel and axe-kick %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " swiftly jabs %s" +msgid " raises their heel and axe-kicks %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Snake Slide" +msgid "Side Kick" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You make serpentine hand motions at %s" +msgid "You turn slightly and side-kick %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " makes serpentine hand motions at %s" +msgid " turns slightly and side-kicks %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Snake Slither" +#, python-format +msgid "You crouch low and sweep-kick %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "The %s tries to grab you, but you slither free!" +msgid " crouches low and sweep-kicks %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "The %s tries to grab , but they slither free!" +msgid "You gently disarm %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Snake Strike" +#, python-format +msgid " gently disarms %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Palm Strike" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You strike out at %s" +msgid "You palm strike %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " strikes out at %s" +msgid " palm strikes %s" msgstr "" #: lang/json/technique_from_json.py -msgid "slow strike" +msgid "Grasp the Sparrow's Tail" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You slowly strike %s" +msgid "You divert %s's attack and lead them to the ground" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " slowly strikes %s" +msgid " diverts %s's attack and lead them to the ground" msgstr "" #: lang/json/technique_from_json.py -msgid "phasing strike" +msgid "Double Palm Strike" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You phase-strike %s" +msgid "You double-handed palm strike %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " phase-strikes %s" +msgid " double-handed palm strikes %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Push" +msgid "Tiger Palm" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You push %s away" +msgid "You land a heavy tiger palm on %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " pushes %s away" +msgid " lands a heavy tiger palm on %s" msgstr "" #: lang/json/technique_from_json.py -#, python-format -msgid "You deftly trip %s" +msgid "Tiger Takedown" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " deftly trips %s" +msgid "You slam %s to the ground" msgstr "" #: lang/json/technique_from_json.py -msgid "Skewer" +#, python-format +msgid " slams %s to the ground" msgstr "" #: lang/json/technique_from_json.py -#, python-format -msgid "You brutally skewer %s" +msgid "Straight Punch" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " brutally skewers %s" +msgid "You deliver a vertical straight punch to %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Chain Punch" +#, python-format +msgid " delivers a vertical straight punch to %s" msgstr "" -#. ~ Description for Chain Punch #: lang/json/technique_from_json.py -msgid "50% moves, 66% damage, knockback and follow" +msgid "Straight Punch (Knockback)" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You chain strike %s" +msgid "You force %s back with a vertical straight punch" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " chain strikes %s" +msgid " forces %s back with a vertical straight punch" msgstr "" #: lang/json/technique_from_json.py -msgid "You position yourself well and slip out of a grab" +msgid "L-hook" msgstr "" #: lang/json/technique_from_json.py -msgid " slips out of a grab" +#, python-format +msgid "You deliver a solid L-hook to %s" msgstr "" #: lang/json/technique_from_json.py -msgid "ask the way" +#, python-format +msgid " delivers a solid L-hook to %s" msgstr "" #: lang/json/technique_from_json.py -#, python-format -msgid "You miss but keep striking at %s" +msgid "L-hook (Knockback)" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " misses but keeps striking at %s" +msgid "You knock %s back with a solid L-hook" msgstr "" #: lang/json/technique_from_json.py -msgid "White Crane stumble" +#, python-format +msgid " knocks %s back with a solid L-hook" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble %s with your onslaught" +msgid "Your attack misses %s but you don't let up" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " stumbles %s" +msgid "'s attack misses %s but they don't let up" msgstr "" #: lang/json/technique_from_json.py @@ -165912,6 +172613,72 @@ msgstr "" msgid " receives %s's attack, and counters" msgstr "" +#: lang/json/technique_from_json.py +msgid "Drunken Feint" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You stumble and leer at %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " stumbles and leers at %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Drunk Counter" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You lurch, and your wild swing hits %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " lurches, and hits %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you stumble away!" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they stumble away!" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "slow strike" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You slowly strike %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " slowly strikes %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "phasing strike" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You phase-strike %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " phase-strikes %s" +msgstr "" + #: lang/json/technique_from_json.py msgid "Pressure Crunch" msgstr "" @@ -166544,7 +173311,7 @@ msgstr "" #. ~ Description for deep dock pile #: lang/json/terrain_from_json.py msgid "" -"A sturdy pile made of wood extending all the way to the riverbed. A frame " +"A sturdy pile made of wood extending all the way to the riverbed. A frame " "will be required to support a surface." msgstr "" @@ -166555,8 +173322,8 @@ msgstr "" #. ~ Description for deep dock frame #: lang/json/terrain_from_json.py msgid "" -"A log frame secured atop a wooden pile. Adding a wood surface will make this" -" into a proper dock section." +"A log frame secured atop a wooden pile. Adding a wood surface will make " +"this into a proper dock section." msgstr "" #: lang/json/terrain_from_json.py @@ -166566,7 +173333,7 @@ msgstr "" #. ~ Description for deep dock #: lang/json/terrain_from_json.py msgid "" -"A wooden platform held by a tall wooden pile that extend to the riverbed. " +"A wooden platform held by a tall wooden pile that extend to the riverbed. " "Very sturdy, and likely to outlast you." msgstr "" @@ -167211,19 +173978,28 @@ msgid "" msgstr "" #: lang/json/terrain_from_json.py -msgid "closed chickenwire gate" +msgid "closed screen door" msgstr "" -#. ~ Description for closed chickenwire gate +#. ~ Description for closed screen door #: lang/json/terrain_from_json.py -msgid "" -"A gate for a chickenwire fence with a simple latch system to stay closed." +msgid "A simple wooden doorway with screen mesh." msgstr "" #: lang/json/terrain_from_json.py msgid "rattle!" msgstr "" +#: lang/json/terrain_from_json.py +msgid "closed chickenwire gate" +msgstr "" + +#. ~ Description for closed chickenwire gate +#: lang/json/terrain_from_json.py +msgid "" +"A gate for a chickenwire fence with a simple latch system to stay closed." +msgstr "" + #: lang/json/terrain_from_json.py msgid "open chickenwire gate" msgstr "" @@ -167281,6 +174057,17 @@ msgstr "" msgid "metal rattling!" msgstr "" +#: lang/json/terrain_from_json.py +msgid "screen mesh wall" +msgstr "" + +#. ~ Description for screen mesh wall +#: lang/json/terrain_from_json.py +msgid "" +"A rather flimsy tall wall made of 2x4s and screen mesh, suitable for keeping" +" the bugs out." +msgstr "" + #: lang/json/terrain_from_json.py msgid "chickenwire fence post" msgstr "" @@ -167605,7 +174392,7 @@ msgstr "" #. ~ Description for wooden floor #: lang/json/terrain_from_json.py msgid "" -"Wooden floor created from boards, packed tightly together and nailed down. " +"Wooden floor created from boards, packed tightly together and nailed down. " "Common in patios." msgstr "" @@ -167912,7 +174699,7 @@ msgstr "" msgid "" "A dual purpose platform that serves as a containment, and as a device that " "exposes items places on in to the radioactive source, by temporarily " -"hoisting the radioactive material stored within. Operated from external " +"hoisting the radioactive material stored within. Operated from external " "console." msgstr "" @@ -168191,10 +174978,10 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "One of the species of 'Juniperus' that grows in New England, juniper berries" -" grow over two to three years, first flowering. On the second year producing" -" a green berry, the last, they produce their more famed blue varieties. If " -"you examined the foliage more closely, you could probably find some viable " -"clusters. You could also cut it down with the right tools." +" grow over two to three years, first flowering. On the second year " +"producing a green berry, the last, they produce their more famed blue " +"varieties. If you examined the foliage more closely, you could probably " +"find some viable clusters. You could also cut it down with the right tools." msgstr "" #. ~ Description for juniper tree @@ -169152,10 +175939,11 @@ msgstr "ATM" #: lang/json/terrain_from_json.py msgid "" "For your banking convenience, this Automated Teller Machine is fully capable" -" of operating autonomously in the event of complete network failure. You can" -" deposit funds from cash cards and migrate all of your inflation-adjusted " -"earnings to a single card. These things have seen better days. There's been" -" a run on the bank, and this machine has the dents and cracks to prove it." +" of operating autonomously in the event of complete network failure. You " +"can deposit funds from cash cards and migrate all of your inflation-adjusted" +" earnings to a single card. These things have seen better days. There's " +"been a run on the bank, and this machine has the dents and cracks to prove " +"it." msgstr "" #: lang/json/terrain_from_json.py @@ -169260,8 +176048,8 @@ msgstr "centrifuga" #: lang/json/terrain_from_json.py msgid "" "This is a centrifuge, a liquid separating device with an automated analyzer " -"unit. It could be used to analyze a medical fluid sample, such as blood, if " -"a test tube was placed in it." +"unit. It could be used to analyze a medical fluid sample, such as blood, if" +" a test tube was placed in it." msgstr "" #: lang/json/terrain_from_json.py @@ -169875,7 +176663,7 @@ msgstr "" #. ~ Description for closed resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is closed tightly, but it looks like a firm push would cause it to snap " "open." msgstr "" @@ -169887,7 +176675,7 @@ msgstr "" #. ~ Description for open resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is open, the flaps held out by some sort of stringy mucus-like " "substance." msgstr "" @@ -169978,6 +176766,13 @@ msgid "" " were still running." msgstr "" +#. ~ Description for small railroad track +#: lang/json/terrain_from_json.py +msgid "" +"Like a railroad track, only smaller. You could probably run a small vehicle" +" on this." +msgstr "" + #: lang/json/terrain_from_json.py msgid "sandbox" msgstr "homokozó" @@ -170044,7 +176839,7 @@ msgstr "" #. ~ Description for gutter drop #: lang/json/terrain_from_json.py msgid "" -"Funnels water from gutter system towards the ground, it looks flimsy. You " +"Funnels water from gutter system towards the ground, it looks flimsy. You " "may be able to climb down here." msgstr "" @@ -170056,7 +176851,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "A length of gutter running from the roof to the ground, you could place a " -"container underneath it to collect rainwater. It looks flimsy. You may be " +"container underneath it to collect rainwater. It looks flimsy. You may be " "able to climb down here." msgstr "" @@ -170102,7 +176897,7 @@ msgstr "" #. ~ Description for metal flat roof #: lang/json/terrain_from_json.py -msgid "A secton of flat, sheet metal rooftop." +msgid "A section of flat, sheet metal rooftop." msgstr "" #: lang/json/terrain_from_json.py @@ -170130,7 +176925,7 @@ msgstr "" #. ~ Description for rock roof #: lang/json/terrain_from_json.py -msgid "A secton of flat natural rock." +msgid "A section of flat natural rock." msgstr "" #: lang/json/terrain_from_json.py @@ -170839,7 +177634,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "An empty wooden frame in the shape of a column, built around a concrete and " -"rebar foundation. It isn't capable of supporting roofs or shelter, and " +"rebar foundation. It isn't capable of supporting roofs or shelter, and " "appears to need more resources before being considered complete." msgstr "" @@ -171445,11 +178240,11 @@ msgstr "fényvédő" #: lang/json/tool_quality_from_json.py msgid "awl" -msgstr "" +msgstr "ár" #: lang/json/tool_quality_from_json.py msgid "anesthesia" -msgstr "" +msgstr "altató" #: lang/json/tool_quality_from_json.py msgid "smoothing" @@ -171521,7 +178316,7 @@ msgstr "finom csavarhúzó" #: lang/json/tool_quality_from_json.py msgid "prying" -msgstr "feszítõ" +msgstr "feszítő" #: lang/json/tool_quality_from_json.py msgid "lifting" @@ -171573,7 +178368,7 @@ msgstr "kromatográfia" #: lang/json/tool_quality_from_json.py msgid "grinding" -msgstr "" +msgstr "köszörülő" #: lang/json/tool_quality_from_json.py msgid "reaming" @@ -171581,7 +178376,7 @@ msgstr "" #: lang/json/tool_quality_from_json.py msgid "filing" -msgstr "" +msgstr "reszelő" #: lang/json/tool_quality_from_json.py msgid "vicing" @@ -171998,7 +178793,7 @@ msgid "" "You just activated a grenade! You probably want to throw it. To throw an " "item, press 't' and then select the item to throw. The maximum range " "depends on your strength and the object's weight and size. Throwing isn't " -"very good in most combat situations, but if you've got some fire power..." +"very good in most combat situations, but if you've got some fire power…" msgstr "" #: lang/json/tutorial_messages_from_json.py @@ -172068,7 +178863,7 @@ msgstr "" #: lang/json/tutorial_messages_from_json.py msgid "" "~ is a terrain symbol that indicates water. From a water source like this, " -"you can fill any containers you might have. Examine the water ('e') and " +"you can fill any containers you might have. Examine the water ('e') and " "press 'c' to fill a container, then select a watertight container to put the" " water into." msgstr "" @@ -172083,7 +178878,7 @@ msgstr "Bicikli" #: lang/json/vehicle_from_json.py msgid "Mountain bike" -msgstr "" +msgstr "Terepbicikli" #: lang/json/vehicle_from_json.py msgid "Electric Bicycle" @@ -172091,11 +178886,11 @@ msgstr "Elektromos kerékpár" #: lang/json/vehicle_from_json.py msgid "Motocross Bike" -msgstr "" +msgstr "Motokrossz motor" #: lang/json/vehicle_from_json.py msgid "Street-Legal Dirt Bike" -msgstr "" +msgstr "Legális terepmotor" #: lang/json/vehicle_from_json.py msgid "Motorcycle" @@ -172131,7 +178926,7 @@ msgstr "Tandembicikli" #: lang/json/vehicle_from_json.py msgid "Children's Tricycle" -msgstr "" +msgstr "Gyerek háromkerekű" #: lang/json/vehicle_from_json.py msgid "Unicycle" @@ -172159,15 +178954,15 @@ msgstr "tutaj" #: lang/json/vehicle_from_json.py msgid "motor boat" -msgstr "" +msgstr "motorcsónak" #: lang/json/vehicle_from_json.py msgid "wooden rowboat" -msgstr "" +msgstr "fa evezős csónak" #: lang/json/vehicle_from_json.py msgid "4x4 Car" -msgstr "" +msgstr "Terepjáró" #: lang/json/vehicle_from_json.py msgid "Beetle" @@ -172227,7 +179022,7 @@ msgstr "Luxus SUV kerékpártartóval" #: lang/json/vehicle_from_json.py msgid "Engine Crane" -msgstr "" +msgstr "Motoremelő daru" #: lang/json/vehicle_from_json.py msgid "Food Vendor Cart" @@ -172255,7 +179050,7 @@ msgstr "Bevásárlókocsi" #: lang/json/vehicle_from_json.py msgid "Grocery Cart" -msgstr "" +msgstr "Bevásárlókocsi" #: lang/json/vehicle_from_json.py msgid "Swivel Chair" @@ -172347,7 +179142,7 @@ msgstr "Vetőgép traktor" #: lang/json/vehicle_from_json.py msgid "Wagon" -msgstr "" +msgstr "Vagon" #: lang/json/vehicle_from_json.py msgid "AH-64 Apache Wreckage" @@ -172403,19 +179198,19 @@ msgstr "" #: lang/json/vehicle_from_json.py msgid "Passenger Car" -msgstr "" +msgstr "Utasszállító vagon" #: lang/json/vehicle_from_json.py msgid "Two-Seated Motorized Draisine" -msgstr "" +msgstr "Kétüléses motoros sínkocsi" #: lang/json/vehicle_from_json.py msgid "Six-Seated Motorized Draisine" -msgstr "" +msgstr "Hatüléses motoros sínkocsi" #: lang/json/vehicle_from_json.py msgid "Rail Motorcycle" -msgstr "" +msgstr "Sínmotor" #: lang/json/vehicle_from_json.py msgid "Flatbed Truck" @@ -172499,7 +179294,7 @@ msgstr "Lakóautó" #: lang/json/vehicle_from_json.py msgid "Limousine" -msgstr "" +msgstr "Limuzin" #: lang/json/vehicle_from_json.py msgid "Schoolbus" @@ -172507,11 +179302,11 @@ msgstr "Iskolabusz" #: lang/json/vehicle_from_json.py msgid "Bus" -msgstr "" +msgstr "Busz" #: lang/json/vehicle_from_json.py msgid "Tour Bus" -msgstr "" +msgstr "Turnézó busz" #: lang/json/vehicle_from_json.py msgid "Security Van" @@ -172531,19 +179326,19 @@ msgstr "custom_empty" #: lang/json/vehicle_from_json.py msgid "Gas Tanker" -msgstr "" +msgstr "Benzines tartálykocsi" #: lang/json/vehicle_from_json.py msgid "Water Tanker" -msgstr "" +msgstr "Vizes tartálykocsi" #: lang/json/vehicle_from_json.py msgid "Sports Bike" -msgstr "" +msgstr "Sportmotor" #: lang/json/vehicle_from_json.py msgid "Electric Semi" -msgstr "" +msgstr "Elektromos kamion" #: lang/json/vehicle_from_json.py msgid "Atomic Compact" @@ -172559,11 +179354,11 @@ msgstr "Atomkocsi" #: lang/json/vehicle_from_json.py msgid "Flaming Atomic Car" -msgstr "" +msgstr "Lángoló atomautó" #: lang/json/vehicle_from_json.py msgid "Roadheader" -msgstr "" +msgstr "Exkavátor" #: lang/json/vehicle_from_json.py msgid "Robotic Taxi" @@ -172623,7 +179418,7 @@ msgstr "kerék (kormányozható)" #: lang/json/vehicle_part_from_json.py msgid "racing slick (steerable)" -msgstr "" +msgstr "versenygumi (kormányozható)" #: lang/json/vehicle_part_from_json.py msgid "armored wheel (steerable)" @@ -172635,7 +179430,7 @@ msgstr "bicikli kerék (kormányozható)" #: lang/json/vehicle_part_from_json.py msgid "off-road bicycle wheel (steerable)" -msgstr "" +msgstr "terepbicikli kerék (kormányozható)" #: lang/json/vehicle_part_from_json.py msgid "motorbike wheel (steerable)" @@ -172643,7 +179438,7 @@ msgstr "motorbicikli kerék (kormányozható)" #: lang/json/vehicle_part_from_json.py msgid "off-road motorbike wheel (steerable)" -msgstr "" +msgstr "terepmotor kerék (kormányozható)" #: lang/json/vehicle_part_from_json.py msgid "small wheel (steerable)" @@ -172655,13 +179450,13 @@ msgstr "széles kerék (kormányozható)" #: lang/json/vehicle_part_from_json.py msgid "off-road wide wheel (steerable)" -msgstr "" +msgstr "terepjáró kerék (kormányozható)" #. ~ Description for metal wheel #. ~ Description for roller drum #: lang/json/vehicle_part_from_json.py msgid "A strong metal wheel." -msgstr "" +msgstr "Egy erős fémkerék." #: lang/json/vehicle_part_from_json.py msgid "bone plating" @@ -172677,6 +179472,8 @@ msgid "" "Improvised armor plate. Will partially protect other components on the same" " frame from damage." msgstr "" +"Ez a hevenyészett páncéllemez az ugyanarra a keretre felszerelt többi " +"alkatrészt védi a sérülésre." #. ~ Description for shock absorber #: lang/json/vehicle_part_from_json.py @@ -172684,6 +179481,8 @@ msgid "" "A system of springs and pads, intended to cushion the effects of collisions " "on the interior of your vehicle." msgstr "" +"Rugók és lapok rendszere, amely a járműben tartózkodók számára csillapítja " +"az ütközés hatásait." #. ~ Description for car battery #. ~ Description for storage battery @@ -172692,14 +179491,16 @@ msgid "" "A battery for storing electrical power, and discharging it to power " "electrical devices built into the vehicle." msgstr "" +"Elektromos energia tárolására alkalmas akkumulátor, amely a tárolt energiát " +"a járműbe épített elektromos berendezések számára adja le." #: lang/json/vehicle_part_from_json.py msgid "motorbike battery, small" -msgstr "" +msgstr "motorkerékpár akkumulátor, kicsi" #: lang/json/vehicle_part_from_json.py msgid "swappable large storage battery" -msgstr "" +msgstr "nagy cserélhető akkumulátor" #. ~ Description for swappable large storage battery #. ~ Description for swappable storage battery @@ -172710,6 +179511,11 @@ msgid "" "release framework to allow it to be easily swapped, though it still weighs " "so much that a lifting tool of some kind is necessary for most people." msgstr "" +"Elektromos energia tárolására alkalmas akkumulátor, amely a tárolt energiát " +"a járműbe épített elektromos berendezések számára adja le. Ezt a példányt " +"egy gyorsoldó keretbe szerelték be, így rövid időn belül lehet kicserélni. " +"Ennek ellenére ugyanolyan nehéz, úgyhogy a legtöbb embernek a cseréléshez " +"valamiféle emelő eszközre is szüksége lehet." #: lang/json/vehicle_part_from_json.py msgid "swappable storage battery" @@ -172725,6 +179531,8 @@ msgid "" "A metal wall. Keeps zombies outside the vehicle and prevents people from " "seeing through it." msgstr "" +"Egy fémből készült elválasztó fal. A kinti zombikat kint tarja, és nem lehet" +" rajta átlátni." #: lang/json/vehicle_part_from_json.py msgid "cloth board" @@ -172736,6 +179544,8 @@ msgid "" "A cloth wall. Keeps zombies outside the vehicle and prevents people from " "seeing through it." msgstr "" +"Egy textilből készült elválasztó fal. A kinti zombikat kint tarja, és nem " +"lehet rajta átlátni." #: lang/json/vehicle_part_from_json.py msgid "cloth quarterpanel" @@ -172747,6 +179557,8 @@ msgid "" "A half-height cloth wall. Keeps zombies outside the vehicle but allows " "people to see over it." msgstr "" +"Egy textilből készült félmagasságú elválasztó fal. A kinti zombikat kint " +"tarja, de felette át lehet rajta látni." #: lang/json/vehicle_part_from_json.py msgid "quarterpanel" @@ -172758,6 +179570,8 @@ msgid "" "A half-height metal wall. Keeps zombies outside the vehicle but allows " "people to see over it." msgstr "" +"Egy fémből készült félmagasságú elválasztó fal. A kinti zombikat kint tarja," +" de felette át lehet rajta látni." #: lang/json/vehicle_part_from_json.py msgid "stow board" @@ -172769,10 +179583,12 @@ msgid "" "A metal wall with a storage locker. Keeps zombies outside the vehicle and " "prevents people from seeing through it." msgstr "" +"Egy fémből készült tárolófal. A kinti zombikat kint tarja, és nem lehet " +"rajta átlátni." #: lang/json/vehicle_part_from_json.py msgid "heavy duty stow board" -msgstr "" +msgstr "nagy teherbírású akasztós lap" #: lang/json/vehicle_part_from_json.py msgid "heavy duty board" @@ -172784,6 +179600,8 @@ msgid "" "A strong metal wall. Keeps zombies outside the vehicle and prevents people " "from seeing through it." msgstr "" +"Egy fémből készült erős elválasztó fal. A kinti zombikat kint tarja, és nem " +"lehet rajta átlátni." #: lang/json/vehicle_part_from_json.py msgid "heavy duty quarterpanel" @@ -172795,6 +179613,8 @@ msgid "" "A half-height strong metal wall. Keeps zombies outside the vehicle but " "allows people to see over it." msgstr "" +"Egy fémből készült erős, félmagasságú elválasztó fal. A kinti zombikat kint " +"tarja, de felette át lehet rajta látni." #: lang/json/vehicle_part_from_json.py msgid "wooden board" @@ -172806,6 +179626,8 @@ msgid "" "A wooden wall. Keeps zombies outside the vehicle and prevents people from " "seeing through it." msgstr "" +"Egy fából készült elválasztó fal. A kinti zombikat kint tarja, és nem lehet " +"rajta átlátni." #: lang/json/vehicle_part_from_json.py msgid "wooden quarterpanel" @@ -172817,6 +179639,8 @@ msgid "" "A half-height wooden wall. Keeps zombies outside the vehicle but allows " "people to see over it." msgstr "" +"Egy fából készült félmagasságú elválasztó fal. A kinti zombikat kint tarja, " +"de felette át lehet rajta látni." #: lang/json/vehicle_part_from_json.py msgid "extra light quarterpanel" @@ -172828,10 +179652,12 @@ msgid "" "A half-height thin metal wall. Keeps zombies outside the vehicle but allows" " people to see over it." msgstr "" +"Egy fémből készült vékony, félmagasságú elválasztó fal. A kinti zombikat " +"kint tarja, de felette át lehet rajta látni." #: lang/json/vehicle_part_from_json.py msgid "external shopping cart basket" -msgstr "" +msgstr "külső bevásárlókocsi kosár" #. ~ Description for external shopping cart basket #. ~ Description for external wire bike basket @@ -172840,15 +179666,15 @@ msgstr "" msgid "" "Storage space, mounted outside your vehicle's armor and vulnerable to " "damage." -msgstr "" +msgstr "A jármű páncélzatán kívülre szerelt tároló, amely emiatt sérülékeny." #: lang/json/vehicle_part_from_json.py msgid "external wire bike basket" -msgstr "" +msgstr "külső bicikli drótkosár" #: lang/json/vehicle_part_from_json.py msgid "external cargo rack" -msgstr "" +msgstr "külső raktér tároló" #. ~ Description for bike rack #: lang/json/vehicle_part_from_json.py @@ -172859,25 +179685,32 @@ msgid "" " any bike rack to mount that vehicle onto the bike rack. 'e'xamine the bike" " rack to unmount the carried vehicle." msgstr "" +"Csövek és keretek egyvelege, amely képes egy kerékpár, vagy valamilyen más " +"kisméretű jármű külső tárolására. Felakasztáshoz az egyetlen mező méretű " +"járművet húzd a kerékpártároló melletti mezőre, majd vizsgáld meg a " +"kerékpártárolót. A már felakasztott járművet ugyanígy tudod leszedni - " +"vizsgált meg a kerékpártárolót." #. ~ Description for mounted spare tire #: lang/json/vehicle_part_from_json.py msgid "Spare tire stored on an external carrier rig." -msgstr "" +msgstr "Külső hordozón tárolt felnis cseregumi." #: lang/json/vehicle_part_from_json.py msgid "A combustion engine. Burns fuel from a tank in the vehicle." -msgstr "" +msgstr "Belsőégésű motor, a jármű tartályaiban tárolt üzemanyagot égeti el." #: lang/json/vehicle_part_from_json.py msgid "" "A combustion engine. Burns diesel fuel from a tank in the vehicle. Can " "also burn biodiesel or lamp oil, though somewhat less efficiently." msgstr "" +"Belsőégésű motor, a jármű tartályaiban tárolt üzemanyagot égeti el. Képes " +"biodízellel vagy lámpaolajjal is üzemelni, de kevésbé hatékonyan." #: lang/json/vehicle_part_from_json.py msgid "A combustion engine. Burns gasoline fuel from a tank in the vehicle." -msgstr "" +msgstr "Belsőégésű motor, a jármű tartályaiban tárolt benzint égeti el." #: lang/json/vehicle_part_from_json.py msgid "" @@ -172886,12 +179719,18 @@ msgid "" "Better power-to-weight ratio than a traditional engine, but consumes more " "fuel." msgstr "" +"Modern belsőégésű motor, a jármű tartályaiban tárolt benzint vagy dízelt " +"égeti el. Képes biodízellel vagy lámpaolajjal is üzemelni, de kevésbé " +"hatékonyan. A hagyományos motornál jobb a súly-teljesítmény aránya, de több " +"üzemanyagot fogyaszt." #: lang/json/vehicle_part_from_json.py msgid "" "A closed cycle, external combustion steam engine. Burns coal or charcoal " "from a bunker in the vehicle to produce steam." msgstr "" +"Zárt rendszerű, külsőégésű gőzmotor. A jármű szénkamrájában tárolt szenet " +"vagy faszenet égeti el, és gőzt hoz létre." #: lang/json/vehicle_part_from_json.py msgid "boom crane" @@ -172908,10 +179747,15 @@ msgid "" " have line of sight to where it is going and it must be within four tiles of" " it." msgstr "" +"Egy merevacél gémes daru. Ha a látómeződön belül található, és legfeljebb " +"két lépésre van egy másik járműtől, akkor automatikusan igénybe veszed annak" +" a járműnek kerékcserélésénél a felemeléséhez. Ha nehéz alkatrészt szeretnél" +" vele emelni, például motort szerelsz ki vagy be, akkor láthatónak és négy " +"mezőre kell lennie." #: lang/json/vehicle_part_from_json.py msgid "internal boom crane" -msgstr "" +msgstr "belső gémes daru" #: lang/json/vehicle_part_from_json.py msgid "telescopic crane" @@ -172927,6 +179771,11 @@ msgid "" "crane must have line of sight to where it is going and it must be within " "four tiles of it." msgstr "" +"Egy teleszkópos daru. Ha a látómeződön belül található, és legfeljebb két " +"lépésre van egy másik járműtől, akkor automatikusan igénybe veszed annak a " +"járműnek kerékcserélésénél a felemeléséhez. Ha nehéz alkatrészt szeretnél " +"vele emelni, például motort szerelsz ki vagy be, akkor láthatónak és négy " +"mezőre kell lennie." #. ~ Description for pallet lifter #: lang/json/vehicle_part_from_json.py @@ -172937,6 +179786,11 @@ msgid "" " like an engine that you are installing or removing, the crane must have " "line of sight to where it is going and it must be within four tiles of it." msgstr "" +"Egy kisméretű raklapemelő. Ha a látómeződön belül található, és legfeljebb " +"két lépésre van egy másik járműtől, akkor automatikusan igénybe veszed annak" +" a járműnek kerékcserélésénél a felemeléséhez. Ha nehéz alkatrészt szeretnél" +" vele emelni, például motort szerelsz ki vagy be, akkor láthatónak és négy " +"mezőre kell lennie." #: lang/json/vehicle_part_from_json.py msgid "forklift arm" @@ -172952,6 +179806,11 @@ msgid "" " have line of sight to where it is going and it must be within four tiles of" " it." msgstr "" +"Egy targonca emelőkarja. Ha a látómeződön belül található, és legfeljebb két" +" lépésre van egy másik járműtől, akkor automatikusan igénybe veszed annak a " +"járműnek kerékcserélésénél a felemeléséhez. Ha nehéz alkatrészt szeretnél " +"vele emelni, például motort szerelsz ki vagy be, akkor láthatónak és négy " +"mezőre kell lennie." #. ~ Description for rockwheel #: lang/json/vehicle_part_from_json.py @@ -172961,10 +179820,14 @@ msgid "" "unless it has a strong engine. When turned on, it will dig a shallow pit in" " dirt. Mount it on the edge of your vehicle." msgstr "" +"Nagyméretű fémlemez, amelyet a jármű motorja hajt meg. A jármű vezérlésénél " +"lehet ki- és bekapcsolni. Bekapcsolásánál megállítja a járművet, kivéve, ha " +"annak erős a motorja. Bekapcsolásánál egy sekély árkot fog vájni a talajba. " +"A jármű peremére szereld fel." #: lang/json/vehicle_part_from_json.py msgid "air jack system" -msgstr "" +msgstr "pneumatikus emelő" #: lang/json/vehicle_part_from_json.py msgid "foldable light frame" @@ -172978,6 +179841,9 @@ msgid "" "the vehicle can be folding into a small package and picked up as a normal " "item." msgstr "" +"Összehajtható könnyűfém keret. A jármű többi alkatrészét erre lehet " +"szerelni. Ha egy jármű összes alkatrésze összehajtható, akkor a járművet egy" +" kis csomagba lehet összehajtogatni, és tárgyként lehet felvenni." #. ~ Description for foldable wooden frame #: lang/json/vehicle_part_from_json.py @@ -172987,6 +179853,9 @@ msgid "" " the vehicle can be folding into a small package and picked up as a normal " "item." msgstr "" +"Összehajtható fakeret. A jármű többi alkatrészét erre lehet szerelni. Ha egy" +" jármű összes alkatrésze összehajtható, akkor a járművet egy kis csomagba " +"lehet összehajtogatni, és tárgyként lehet felvenni." #: lang/json/vehicle_part_from_json.py msgid "frame" @@ -172998,6 +179867,8 @@ msgid "" "A metal framework. Other vehicle components can be mounted on it, and it " "can be attached to other frames to increase the vehicle's size." msgstr "" +"Egy fém keret. A jármű többi alkatrészét erre lehet szerelni, valamint más " +"keretekhez rögzítve növeli a jármű méretét." #. ~ Description for wooden frame #: lang/json/vehicle_part_from_json.py @@ -173007,6 +179878,9 @@ msgid "" "nail construction means it can be constructed and added to the vehicle " "without welding tools." msgstr "" +"Egy fakeret. A jármű többi alkatrészét erre lehet szerelni, valamint más " +"keretekhez rögzítve növeli a jármű méretét. Mivel fából és szögekből készül," +" hegesztés nélkül lehet egy járműhöz rögzíteni." #. ~ Description for light wooden frame #: lang/json/vehicle_part_from_json.py @@ -173016,6 +179890,9 @@ msgid "" " and rope constructions means it can be constructed and added to the vehicle" " without welding tools or nails." msgstr "" +"Egy könnyű fakeret. A jármű többi alkatrészét erre lehet szerelni, valamint " +"más keretekhez rögzítve növeli a jármű méretét. Mivel fából és kötélből " +"készült hegesztés és szögelés nélkül lehet egy járműhöz hozzászerelni." #. ~ Description for heavy duty frame #: lang/json/vehicle_part_from_json.py @@ -173024,6 +179901,9 @@ msgid "" " it can be attached to other frames to increase the vehicle's size. " "Increased mass makes it more resistant to damage in collisions." msgstr "" +"Egy nehéz fémkeret. A jármű többi alkatrészét erre lehet szerelni, valamint " +"más keretekhez rögzítve növeli a jármű méretét. A nehéz tömege miatt jobban " +"ellenáll az ütközéseknek." #: lang/json/vehicle_part_from_json.py msgid "extra light frame" @@ -173035,6 +179915,8 @@ msgid "" "A light metal framework. Other vehicle components can be mounted on it, and" " it can be attached to other frames to increase the vehicle's size." msgstr "" +"Egy könnyű fémkeret. A jármű többi alkatrészét erre lehet szerelni, valamint" +" más keretekhez rögzítve növeli a jármű méretét." #: lang/json/vehicle_part_from_json.py msgid "aisle lights" @@ -173046,10 +179928,12 @@ msgid "" "A bright light, self-powered by an atomic decay reaction that never stops. " "When turned on, it illuminates several squares inside the vehicle." msgstr "" +"A jármű belsejében a soha ki nem merülő atomok lebomlásából származó fénye " +"világít. Bekapcsolva több mezőt is bevilágít." #: lang/json/vehicle_part_from_json.py msgid "atomic nightlight" -msgstr "" +msgstr "nukleáris éjjeli lámpa" #. ~ Description for atomic nightlight #: lang/json/vehicle_part_from_json.py @@ -173058,6 +179942,9 @@ msgid "" " When turned on, it illuminates a single square inside the vehicle that " "isn't suitable for crafting." msgstr "" +"A jármű belsejében a soha ki nem merülő atomok lebomlásából származó nagyon " +"halvány fénye világít. Bekapcsolva több mezőt is bevilágít, de annyira " +"halovány, hogy a fényénél nem lehet semmit sem elkészíteni." #. ~ Description for floodlight #: lang/json/vehicle_part_from_json.py @@ -173065,14 +179952,18 @@ msgid "" "A very bright, circular light that illuminates the area outside the vehicle " "when turned on." msgstr "" +"Egy nagyon világos fény, amely a járműn kívül körívben világít be egy " +"területet." #. ~ Description for directed floodlight #: lang/json/vehicle_part_from_json.py msgid "" "A very bright, directed light that illuminates a half-circular area outside " -"the vehicle when turned on. During installation, you can choose what " +"the vehicle when turned on. During installation, you can choose what " "direction to point the light." msgstr "" +"Egy nagyon világos fény, amely a járműn kívül egy félkörös területet világít" +" be. Beszerelésénel kiválaszthatod, hogy melyik irányba mutasson." #: lang/json/vehicle_part_from_json.py msgid "headlight" @@ -173086,6 +179977,9 @@ msgid "" "light, so multiple headlights can illuminate the sides or rear, as well as " "the front." msgstr "" +"Egy világos fény, amely a járműn kívül egy szűk, kúp alakú területet világít" +" be. Beszerelésénél kiválaszthatod, hogy melyik irányba mutasson, így több " +"fényszóróval a jármű elején kívül az oldalát és hátát is bevilágíthatod." #. ~ Description for motorcycle headlight #: lang/json/vehicle_part_from_json.py @@ -173095,10 +179989,14 @@ msgid "" "direction to point the light, so multiple headlights can illuminate the " "sides or rear, as well as the front." msgstr "" +"Egy apró, könnyű, világos fény, amely a járműn kívül egy szűk, kúp alakú " +"területet világít be. Beszerelésénél kiválaszthatod, hogy melyik irányba " +"mutasson, így több fényszóróval a jármű elején kívül az oldalát és hátát is " +"bevilágíthatod." #: lang/json/vehicle_part_from_json.py msgid "wide angle headlight" -msgstr "" +msgstr "szélesen világító fényszóró" #. ~ Description for wide angle headlight #: lang/json/vehicle_part_from_json.py @@ -173108,6 +180006,10 @@ msgid "" "so multiple headlights can illuminate the sides or rear, as well as the " "front." msgstr "" +"Egy világos fény, amely a járműn kívül egy széles, kúp alakú területet " +"világít be. Beszerelésénél kiválaszthatod, hogy melyik irányba mutasson, így" +" több fényszóróval a jármű elején kívül az oldalát és hátát is " +"bevilágíthatod." #: lang/json/vehicle_part_from_json.py msgid "" @@ -173115,6 +180017,9 @@ msgid "" "vehicle's roof. Flashes between red and blue when turned on, attracting " "attention without illuminating the area." msgstr "" +"A jármű tetejére rögzített villogó, mint amilyen a rendőrautóké vagy a " +"mentőké. Bekapcsolva kék és piros színváltással villog, és felhívja magára a" +" figyelmet anélkül, hogy a környező területet bevilágítaná." #: lang/json/vehicle_part_from_json.py msgid "blue light" @@ -173138,6 +180043,8 @@ msgid "" "A set of bicycle style foot pedals. If mounted on the same tile as seat, " "they allow you to move the vehicle at the cost of your stamina." msgstr "" +"Kerékpár pedál. Ha ugyanarra a mezőre szereled fel, ahol az ülés is van, " +"akkor a járművel pedálozással mozdíthatod meg, ami csökkenti a kitartásodat." #: lang/json/vehicle_part_from_json.py msgid "hand rims" @@ -173149,11 +180056,14 @@ msgid "" "A set of wheelchair style wheels. If mounted on the same tile as seat, they" " allow you to move the vehicle at the cost of your stamina." msgstr "" +"Peremes kerekesszék futómű. Ha ugyanarra a mezőre szereled fel, ahol az ülés" +" is van, akkor a járművel pedálozással mozdíthatod meg, ami csökkenti a " +"kitartásodat." #. ~ Description for electric motor #: lang/json/vehicle_part_from_json.py msgid "An electric motor." -msgstr "" +msgstr "Egy elektromos motor." #: lang/json/vehicle_part_from_json.py msgid "" @@ -173161,6 +180071,9 @@ msgid "" "collisions, and to increase damaged delivered in collisions, if the ram is " "the first vehicle part to collide." msgstr "" +"Egy megerősített faltörő kos. A jármű peremére szerelve csökkenti az " +"ütközésből származó roncsolást, és növeli az ütközés által okozott sebzést -" +" amennyiben a faltörő kos a becsapódásnál először érintkezik." #: lang/json/vehicle_part_from_json.py msgid "superalloy ram" @@ -173188,20 +180101,20 @@ msgstr "fa faltörő kos" #: lang/json/vehicle_part_from_json.py msgid "chitin ram" -msgstr "" +msgstr "kitin faltörő kos" #: lang/json/vehicle_part_from_json.py msgid "biosilicfied chitin ram" -msgstr "" +msgstr "bioszilíciumosodott kitin faltörő kos" #: lang/json/vehicle_part_from_json.py msgid "tied mattress" -msgstr "" +msgstr "lekötözött matrac" #. ~ Description for tied mattress #: lang/json/vehicle_part_from_json.py msgid "" -"A mattress, strapped onto the vehicle. It could serve to blunt any impact." +"A mattress, strapped onto the vehicle. It could serve to blunt any impact." msgstr "" #. ~ Description for shredder @@ -173211,6 +180124,9 @@ msgid "" "increase the damage the vehicle delivers in collisions. Mount on the edges " "of the vehicle, preferably the front." msgstr "" +"A jármű motorja által meghajtott köralakú fűrészlap. Jelentős mértékben " +"növeli egy ütközés során jármű által okozott sebzést. A jármű peremére " +"szereld, lehetőleg előre." #: lang/json/vehicle_part_from_json.py msgid "vehicle tank (2L)" @@ -173228,6 +180144,11 @@ msgid "" "from a water faucet, if one is installed in the vehicle. You can also use a" " rubber hose to siphon liquids out of a tank." msgstr "" +"Folyadék tárolására alkalmas tartály. Ha a jármű motorja által használt " +"üzemanyaggal töltöd fel, akkor a motor bekapcsolása után ebből a tartályból " +"(is) fog üzemanyagot felvenni. Ha vízzel töltöd fel, akkor a vizet egy, a " +"járműben bárhová felszerelt csapból tudod kinyerni. Egy tartály tartalmát " +"gumicsővel tudod leszívni, és meginni, vagy máshová áttölteni." #: lang/json/vehicle_part_from_json.py msgid "vehicle tank (10L)" @@ -173255,6 +180176,12 @@ msgid "" "installed in the vehicle. You can also use a rubber hose to siphon liquids " "out of a tank." msgstr "" +"Folyadék tárolására alkalmas, a jármű páncélzatán kívülre rögzített tartály." +" Ha a jármű motorja által használt üzemanyaggal töltöd fel, akkor a motor " +"bekapcsolása után ebből a tartályból (is) fog üzemanyagot felvenni. Ha " +"vízzel töltöd fel, akkor a vizet egy, a járműben bárhová felszerelt csapból " +"tudod kinyerni. Egy tartály tartalmát gumicsővel tudod leszívni, és meginni," +" vagy máshová áttölteni." #: lang/json/vehicle_part_from_json.py msgid "external tank (200L)" @@ -173262,7 +180189,7 @@ msgstr "külső tartály (200L)" #: lang/json/vehicle_part_from_json.py msgid "wooden barrel (100L)" -msgstr "" +msgstr "fahordó (100L)" #. ~ Description for wooden barrel (100L) #. ~ Description for steel drum (100L) @@ -173275,6 +180202,12 @@ msgid "" "installed in the vehicle. You can also use a rubber hose to siphon liquids " "out of a tank." msgstr "" +"Folyadék tárolására alkalmas, a jármű páncélzatán vagy rakterén belülre " +"rögzített tartály. Ha a jármű motorja által használt üzemanyaggal töltöd " +"fel, akkor a motor bekapcsolása után ebből a tartályból (is) fog üzemanyagot" +" felvenni. Ha vízzel töltöd fel, akkor a vizet egy, a járműben bárhová " +"felszerelt csapból tudod kinyerni. Egy tartály tartalmát gumicsővel tudod " +"leszívni, és meginni, vagy máshová áttölteni." #. ~ Description for fuel bunker #: lang/json/vehicle_part_from_json.py @@ -173283,34 +180216,37 @@ msgid "" "fuel for the vehicle's engine, the engine will automatically draw fuel from " "the tank when the engine is on." msgstr "" +"Folyadék tárolására alkalmas tartály. Ha a jármű motorja által használt " +"üzemanyaggal töltöd fel, akkor a motor bekapcsolása után ebből a tartályból " +"(is) fog üzemanyagot felvenni." #: lang/json/vehicle_part_from_json.py msgid "mounted makeshift chemical thrower" -msgstr "" +msgstr "beépített hevenyészett vegyianyag-szóró" #: lang/json/vehicle_part_from_json.py msgid "mounted heavy rail rifle" -msgstr "" +msgstr "beépített nehéz railgun karabély" #: lang/json/vehicle_part_from_json.py msgid "mounted XM34 EMP projector" -msgstr "" +msgstr "beépített XM34 EMP projektor" #: lang/json/vehicle_part_from_json.py msgid "mounted ferromagnetic rail rifle" -msgstr "" +msgstr "beépített ferromágneses railgun karabély" #: lang/json/vehicle_part_from_json.py msgid "mounted coilgun" -msgstr "" +msgstr "beépített coilgun" #: lang/json/vehicle_part_from_json.py msgid "mounted H&K G80 Railgun" -msgstr "" +msgstr "beépített H&K G80 railgun" #: lang/json/vehicle_part_from_json.py msgid "mounted mininuke launcher" -msgstr "" +msgstr "beépített mininuki kilövő" #: lang/json/vehicle_part_from_json.py msgid "mounted flamethrower" @@ -173318,7 +180254,7 @@ msgstr "beépített lángszóró" #: lang/json/vehicle_part_from_json.py msgid "mounted PPA-5 plasma gun" -msgstr "" +msgstr "beépített PPA-5 plazmaágyú" #: lang/json/vehicle_part_from_json.py msgid "mounted A7 laser rifle" @@ -173326,7 +180262,7 @@ msgstr "beépített A7 lézerkarabély" #: lang/json/vehicle_part_from_json.py msgid "mounted Cerberus laser cannon" -msgstr "" +msgstr "beépített Cerberus lézerágyú" #: lang/json/vehicle_part_from_json.py msgid "mounted M249" @@ -173362,7 +180298,7 @@ msgstr "beépített Mark 19 gránátvető" #: lang/json/vehicle_part_from_json.py msgid "mounted BGM-71F TOW" -msgstr "" +msgstr "beépített BGM-71F TOW" #: lang/json/vehicle_part_from_json.py msgid "mounted RM298 HMG" @@ -173374,7 +180310,7 @@ msgstr "beépített RM614 könnyű géppuska" #: lang/json/vehicle_part_from_json.py msgid "mounted Boeing XM-P plasma rifle" -msgstr "" +msgstr "beépített Boeing XM-P plazmakarabély" #: lang/json/vehicle_part_from_json.py msgid "null part" @@ -173399,22 +180335,25 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "reclining leather seat" -msgstr "" +msgstr "dönthető bőrülés" #. ~ Description for yoke and harness #: lang/json/vehicle_part_from_json.py msgid "" "Attach this part to a beast of burden to allow it to pull your vehicle." msgstr "" +"Ezt az alkatrészt egy igaállathoz tudod rögzíteni, és vele húzatni a " +"járművet." #: lang/json/vehicle_part_from_json.py msgid "cart handle" -msgstr "" +msgstr "kocsi fogantyú" #. ~ Description for cart handle #: lang/json/vehicle_part_from_json.py msgid "A metal handle, a creature with hands could use it to push a vehicle." msgstr "" +"Egy fém fogantyú, amelynek segítségével egy lény a járművet tudja tolni." #: lang/json/vehicle_part_from_json.py msgid "tracking device" @@ -173630,6 +180569,15 @@ msgid "" msgstr "" "A járműre hegesztett tüske növeli a sebzést, amikor valaminek nekimész." +#. ~ Description for programmable autopilot +#: lang/json/vehicle_part_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of the vehicle to " +"allow it to follow simple paths." +msgstr "" +"A kormányhoz és a motorhoz kapcsolt informatikai rendszer, amellyel a jármű " +"egyszerű útvonalat tud követni." + #: lang/json/vehicle_part_from_json.py msgid "swappable storage battery case" msgstr "cserélhető akkumulátor kerete" @@ -173650,6 +180598,8 @@ msgid "" "An armored black box, a device meant to record and preserve data of a " "military vehicle in the field in case it gets destroyed." msgstr "" +"Páncélozott fekete doboz, amely egy katonai jármű adatait tárolja és védi " +"meg abban az esetben, ha a jármű megsemmisülne." #. ~ Description for minireactor #: lang/json/vehicle_part_from_json.py @@ -173672,9 +180622,9 @@ msgstr "" #. ~ Description for washing machine #: lang/json/vehicle_part_from_json.py msgid "" -"A small washing machine. With detergent or soap, water, and some electrical" -" power, you could clean a lot of clothes. 'e'xamine the tile with the " -"washing machine to use it." +"A small washing machine. With detergent, water, and some electrical power, " +"you could clean a lot of clothes. 'e'xamine the tile with the washing " +"machine to use it." msgstr "" "Kisméretű mosógép. Mosószerrel vagy szappannal, vízzel és elektromos árammal" " ellátva jó sok ruhát lehet vele kimosni. Használatához vizsgáld meg az 'e' " @@ -173683,10 +180633,9 @@ msgstr "" #. ~ Description for dishwasher #: lang/json/vehicle_part_from_json.py msgid "" -"A small dishwasher. With detergent or soap, water, and some electrical " -"power, you could clean your dishes... Or something more useful like a CBM " -"dripping with zombie gore. 'e'xamine the tile with the dishwasher to use " -"it." +"A small dishwasher. With detergent, water, and some electrical power, you " +"could clean your dishes… Or something more useful like a CBM dripping with " +"zombie gore. 'e'xamine the tile with the dishwasher to use it." msgstr "" #. ~ Description for autoclave @@ -173695,6 +180644,9 @@ msgid "" "This is an autoclave. It's useful for sterilizing things like CBMs. " "'e'xamine the tile with the autoclave to use it." msgstr "" +"Ez egy autókláv. Vastag falú edény nagy nyomású és hőmérsékletű " +"sterilizáláshoz, például KBM-eket. Használatához vizsgáld meg az 'e' " +"gombbal." #: lang/json/vehicle_part_from_json.py msgid "trunk" @@ -173738,33 +180690,33 @@ msgstr "faasztal" #: lang/json/vehicle_part_from_json.py msgid "wooden boat hull" -msgstr "" +msgstr "fa hajótest" #. ~ Description for wooden boat hull #: lang/json/vehicle_part_from_json.py msgid "A wooden board that keeps the water out of your boat." -msgstr "" +msgstr "Ez a falemez tartja a vizet a hajón kívül." #. ~ Description for plastic boat hull #: lang/json/vehicle_part_from_json.py msgid "A rigid plastic sheet that keeps water out of your boat." -msgstr "" +msgstr "Ez a merev műanyag lap tartja a vizet a hajón kívül." #: lang/json/vehicle_part_from_json.py msgid "metal boat hull" -msgstr "" +msgstr "fém hajótest" #. ~ Description for metal boat hull #: lang/json/vehicle_part_from_json.py msgid "A metal sheet that keeps the water out of your boat." -msgstr "" +msgstr "Ez a fémlemez tartja a vizet a hajón kívül." #. ~ Description for carbon fiber boat hull #: lang/json/vehicle_part_from_json.py msgid "" "A light weight, advanced carbon fiber rigid sheet that keeps the water out " "of your boat." -msgstr "" +msgstr "Ez a könnyű, modern szénszálas lap tartja a vizet a hajón kívül." #: lang/json/vehicle_part_from_json.py msgid "hand paddles" @@ -173786,11 +180738,11 @@ msgstr "Kijelzőket és vezérlőszerveket tartalmazó keret." #: lang/json/vehicle_part_from_json.py msgid "vehicle-mounted heater" -msgstr "" +msgstr "járműbe szerelt melegítő" #: lang/json/vehicle_part_from_json.py msgid "vehicle-mounted cooler" -msgstr "" +msgstr "járműbe szerelt léghűtő" #. ~ Description for electronics control unit #: lang/json/vehicle_part_from_json.py @@ -173837,6 +180789,8 @@ msgid "" "A series of straps attached to the seat, intended to fasten together after " "going over your shoulders and hips and between your legs." msgstr "" +"Az ülés számos pontjához pántokat rögzítettek, amelyeket a vállaid felett és" +" a lábait között lehet összecsatolni." #: lang/json/vehicle_part_from_json.py msgid "curtain" @@ -173845,7 +180799,7 @@ msgstr "függöny" #. ~ Description for curtain #: lang/json/vehicle_part_from_json.py msgid "A sheet over a window." -msgstr "" +msgstr "Ablakra szerelt lepel." #: lang/json/vehicle_part_from_json.py msgid "aisle curtain" @@ -173854,7 +180808,7 @@ msgstr "folyosó függöny" #. ~ Description for aisle curtain #: lang/json/vehicle_part_from_json.py msgid "A sheet across an aisle." -msgstr "" +msgstr "Folyosót elválasztó lepel." #. ~ Description for solar panel #: lang/json/vehicle_part_from_json.py @@ -173862,6 +180816,8 @@ msgid "" "A solar panel. Will slowly recharge the vehicle's electrical power when " "exposed to the sun. Clouds will slow the recharge speed even more." msgstr "" +"Napelem. Napos időben lassan feltölti a jármű akkumulátorát. Felhős időben " +"még lassabban tölt." #. ~ Description for wind turbine #: lang/json/vehicle_part_from_json.py @@ -173869,12 +180825,13 @@ msgid "" "A small wind turbine. Will slowly recharge the vehicle's electrical power " "when exposed to the wind." msgstr "" +"Egy apró szélturbina. Szeles időben lassan tölti a jármű akkumulátorát." #. ~ Description for large wind turbine #: lang/json/vehicle_part_from_json.py msgid "" "A large wind turbine with stabilizing legs. Will recharge the vehicle's " -"electrical power when exposed to the wind. Will cause extra drag on the " +"electrical power when exposed to the wind. Will cause extra drag on the " "vehicle." msgstr "" @@ -173885,6 +180842,9 @@ msgid "" "exposed to the sun. Clouds will slow the recharge speed even more. " "Reinforced with armored glass to make it more resistant to damage." msgstr "" +"Napelem. Napos időben lassan feltölti a jármű akkumulátorát. Felhős időben " +"még lassabban tölt. A páncélüvegének köszönhetően jobban ellenáll a " +"sérülésnek." #. ~ Description for upgraded solar panel #: lang/json/vehicle_part_from_json.py @@ -173893,6 +180853,8 @@ msgid "" "electrical power when exposed to the sun. Clouds will slow the recharge " "speed even more." msgstr "" +"Magas teljesítményű napelem. Napos időben lassan feltölti a jármű " +"akkumulátorát. Felhős időben még lassabban tölt." #. ~ Description for upgraded reinforced solar panel #: lang/json/vehicle_part_from_json.py @@ -173902,6 +180864,9 @@ msgid "" "speed even more. Reinforced with armored glass to make it more resistant to" " damage." msgstr "" +"Magas teljesítményű napelem. Napos időben lassan feltölti a jármű " +"akkumulátorát. Felhős időben még lassabban tölt. A páncélüvegének " +"köszönhetően jobban ellenáll a sérülésnek." #. ~ Description for quantum solar panel #: lang/json/vehicle_part_from_json.py @@ -173910,11 +180875,14 @@ msgid "" "electrical power when exposed to the sun. Clouds will slow the recharge " "speed. Extremely fragile and cannot be armored." msgstr "" +"Rendkívül magas teljesítményű napelem. Napos időben feltölti a jármű " +"akkumulátorát. Felhős időben lassabban tölt. Nagyon törékeny, páncélüveget " +"nem lehet rászerelni." #. ~ Description for water faucet #: lang/json/vehicle_part_from_json.py msgid "A water faucet." -msgstr "" +msgstr "Egy vízcsap." #: lang/json/vehicle_part_from_json.py msgid "kitchen unit" @@ -173925,6 +180893,8 @@ msgstr "konyha" msgid "" "A small but complete kitchen unit, powered from the vehicle's batteries." msgstr "" +"Egy kisméretű, de teljes felszereltségű konyhai egység. Energiáját a jármű " +"akkumulátorából szerzi." #: lang/json/vehicle_part_from_json.py msgid "welding rig" @@ -173939,6 +180909,11 @@ msgid "" " item or perform a repair that requires a welder, you will be given the " "option of using the welding rig." msgstr "" +"Járműre szerelt hegesztőkészlet, amely energiáját a jármű akkumulátorából " +"szerzi. Használatához fényvédőre van szükség. A nálad található tárgyak " +"megjavításához vizsgáld meg a hegesztőt az 'e' gombbal. Ha egy tárgy " +"elkészítéséhez vagy alkatrész javításához hegesztőre lenne szükség, akkor " +"lehetőséged lesz kiválasztani, hogy használod-e ezt a hegesztőt." #. ~ Description for FOODCO kitchen buddy #: lang/json/vehicle_part_from_json.py @@ -173950,6 +180925,13 @@ msgid "" "your inventory. If you attempt craft an item that needs one of the kitchen " "buddy's functions, it will automatically be selected as a tool." msgstr "" +"Többfunkciós tárgykészítő munkahely, amely tartalmaz egy víztisztítót, egy " +"ételszárítót, egy vákumcsomagolót és lőszerkészítéshez egy kézi préselőt. " +"Energiáját a jármű akkumulátorából szerzi. A vízcsap, illetve a víztisztító " +"használatához vizsgáld meg az 'e' betűvel. A víztisztító a jármű " +"tartályaiban, valamint a nálad található tárgyakban található vizet " +"tisztítja meg. Ha egy tárgy elkészítéséhez a konyhagépre lenne szükség, " +"akkor automatikusan használni fogod." #. ~ Description for onboard chemistry lab #: lang/json/vehicle_part_from_json.py @@ -173960,6 +180942,11 @@ msgid "" "that needs one of the chemistry lab's functions, it will automatically be " "selected as a tool." msgstr "" +"Egy kisméretű vegyi labor, amelyben a rezsót a jármű akkumulátora látja el " +"energiával. Az vízcsap használatához vagy a rezsóval az étel " +"felmelegítéséhez az 'e' betűvel vizsgáld meg a labort. Ha egy tárgy " +"elkészítéséhez a vegyi labor egyik funkciójára lenne szükség, akkor azt " +"automatikusan használni fogod." #: lang/json/vehicle_part_from_json.py msgid "mounted electric forge" @@ -173973,10 +180960,14 @@ msgid "" "attempt craft an item that needs a forge, you will be given the option of " "selecting it as a tool." msgstr "" +"A jármű akkumulátora által meghajtott elektromos kovácsműhely. Kalapácsaival" +" és egyéb szerszámaival fémmegmunkálásra használhatod. Ha egy tárgy " +"elkészítéséhez kovácsműhelyre lenne szükség, akkor lehetőséged lesz " +"kiválasztani, hogy használod-e ezt a berendezést." #: lang/json/vehicle_part_from_json.py msgid "mounted electric kiln" -msgstr "" +msgstr "beépített elektromos kemence" #. ~ Description for mounted electric kiln #: lang/json/vehicle_part_from_json.py @@ -173986,6 +180977,10 @@ msgid "" "craft an item that needs a kiln, you will be given the option of selecting " "it as a tool." msgstr "" +"Tégla vagy agyak kiégetésére használható elektromos kemence, amely " +"energiáját a jármű akkumulátorából nyeri. Ha egy tárgy elkészítéséhez " +"égetőkemencére lenne szükség, akkor lehetőséged lesz kiválasztani, hogy " +"használod-e ezt a berendezést." #: lang/json/vehicle_part_from_json.py msgid "wooden armor" @@ -173996,7 +180991,7 @@ msgstr "fapáncél" msgid "" "A spiked plate that will increase the damage delivered to someone else in " "collisions." -msgstr "" +msgstr "Tüskés lap, amely növeli az ütközésnél másban okozott sebzést." #: lang/json/vehicle_part_from_json.py msgid "military composite armor plating" @@ -174012,6 +181007,8 @@ msgid "" "A sheet of glass that lets you see outside the vehicle. Reinforced with " "wire to make it harder to break than normal glass." msgstr "" +"Egy üveglap, segítségével kiláthatsz a járműből. Drótos megerősítésének " +"köszönhetően nehezebben törik be, mint a hagyományos üveg." #. ~ Description for bicycle horn #: lang/json/vehicle_part_from_json.py @@ -174019,12 +181016,14 @@ msgid "" "A small horn. Use the vehicle controls and select the honk option to make " "noise." msgstr "" +"Egy kis duda. Zajkeltéshez a jármű kezelő menüjéből választhatod a dudálást." #. ~ Description for car horn #: lang/json/vehicle_part_from_json.py msgid "" "A horn. Use the vehicle controls and select the honk option to make noise." msgstr "" +"Egy duda. Zajkeltéshez a jármű kezelő menüjéből választhatod a dudálást." #. ~ Description for truck horn #: lang/json/vehicle_part_from_json.py @@ -174032,6 +181031,8 @@ msgid "" "A powerful truck horn. Use the vehicle controls and select the honk option " "to make noise." msgstr "" +"Egy hangos teherautó duda. Zajkeltéshez a jármű kezelő menüjéből " +"választhatod a dudálást." #. ~ Description for back-up beeper #: lang/json/vehicle_part_from_json.py @@ -174039,24 +181040,30 @@ msgid "" "An electronic noise maker. It will automatically make noise when you drive " "in reverse, alerting things behind you to move out of the way." msgstr "" +"Elektromos csipogó, amely zajt kelt, amikor a járművet hátramenetbe teszed, " +"és így figyelmezteti a mögötted tartózkodókat." #: lang/json/vehicle_part_from_json.py msgid "trunk door" -msgstr "csomagtartó ajtó" +msgstr "csomagtartó fedél" #. ~ Description for trunk door #: lang/json/vehicle_part_from_json.py msgid "A short door. You can always see over it, open or closed." msgstr "" +"Egy alacsony ajtó. Mindig át lehet felette látni, akár nyitva van, akár " +"csukva." #: lang/json/vehicle_part_from_json.py msgid "heavy duty trunk door" -msgstr "" +msgstr "nagy teherbírású csomagtartó fedél" #. ~ Description for heavy duty trunk door #: lang/json/vehicle_part_from_json.py msgid "A strong, short door. You can always see over it, open or closed." msgstr "" +"Egy erős, alacsony ajtó. Mindig át lehet felette látni, akár nyitva van, " +"akár csukva." #: lang/json/vehicle_part_from_json.py msgid "shutter door" @@ -174069,7 +181076,7 @@ msgstr "tolóajtó" #. ~ Description for sliding door #: lang/json/vehicle_part_from_json.py msgid "A door. A window lets you see through it when closed." -msgstr "" +msgstr "Egy ajtó. Zárt állapotában az ablakon át tudsz kinézni." #: lang/json/vehicle_part_from_json.py msgid "cargo space" @@ -174077,7 +181084,7 @@ msgstr "raktér" #: lang/json/vehicle_part_from_json.py msgid "livestock stall" -msgstr "" +msgstr "istálló" #. ~ Description for livestock stall #: lang/json/vehicle_part_from_json.py @@ -174086,10 +181093,14 @@ msgid "" "next to you, or to release the animal currently contained. When selecting " "an animal to capture, choose its tile relative to you, not the part." msgstr "" +"Haszonállatok szállítására alkalmas raktér. A melletted található állat " +"behelyezéséhez, vagy a benne található állat kiengedéséhez vizsgáld meg az " +"'e' gombbal. Amikor behelyezed az állatot, akkor az állat helyét jelöld ki, " +"ne az alkatrészt." #: lang/json/vehicle_part_from_json.py msgid "animal compartment" -msgstr "" +msgstr "állattároló" #. ~ Description for animal compartment #: lang/json/vehicle_part_from_json.py @@ -174099,6 +181110,10 @@ msgid "" "selecting an animal to capture, choose its tile relative to you, not the " "part." msgstr "" +"Kisebb állatok szállítására alkalmas rekesz. A melletted található állat " +"behelyezéséhez, vagy a benne található állat kiengedéséhez vizsgáld meg az " +"'e' gombbal. Amikor behelyezed az állatot, akkor az állat helyét jelöld ki, " +"ne az alkatrészt." #. ~ Description for recharging station #: lang/json/vehicle_part_from_json.py @@ -174107,6 +181122,9 @@ msgid "" "rechargeable batteries (battery cells, lead-acid batteries, etc) placed " "directly in the attached storage space." msgstr "" +"Elemek töltésére alkalmas berendezés. Bekapcsolása után a hozzácsatolt " +"tárolóban található összes tölthető elemet elkezdi tölteni (elemeket, ólom-" +"savas akkumulátorokat, stb.)" #: lang/json/vehicle_part_from_json.py msgid "wing mirror" @@ -174118,6 +181136,8 @@ msgid "" "A small mirror, mounted outside the vehicle. If you see the mirror, your " "vision is expanded as though you were standing where the mirror is." msgstr "" +"A jármű külsejére szerelt kis tükör. Ha látod a tükröt, akkor úgy látod a " +"környező területeket is, mintha ott állnál, ahol a tükör van." #: lang/json/vehicle_part_from_json.py msgid "inboard mirror" @@ -174129,11 +181149,15 @@ msgid "" "A small mirror, mounted inside the vehicle. If you see the mirror, your " "vision is expanded as though you were standing where the mirror is." msgstr "" +"A jármű belsejébe szerelt kis tükör. Ha látod a tükröt, akkor úgy látod a " +"környező területeket is, mintha ott állnál, ahol a tükör van." #. ~ Description for stereo system #: lang/json/vehicle_part_from_json.py msgid "A stereo system. When turned on, it plays music, improving your mood." msgstr "" +"Autórádió. Ha bekapcsolod, akkor zenét hallgathatsz vele, és ettől jobb lesz" +" a kedved." #: lang/json/vehicle_part_from_json.py msgid "chimes" @@ -174145,6 +181169,9 @@ msgid "" "A collection of electronic bells. Use the vehicle's controls to turn it on " "or off. When turned on, it makes noise, attracting neighborhood children." msgstr "" +"Elektromos csengettyűk rendszere. A jármű vezérlésénél lehet ki- és " +"bekapcsolni. Bekapcsolása után zajt kelt, és felhívja a környék gyerekeinek " +"figyelmét, hogy megjött a fagyis." #. ~ Description for jumper cable #: lang/json/vehicle_part_from_json.py @@ -174153,6 +181180,9 @@ msgid "" "and the other to another, and you can transfer electrical power between the " "two." msgstr "" +"Vaskos rézdrót, mindkét végén csatlakozóval. Az egyik végét az egyik " +"járműhöz, a másikat a másikhoz rögzítve elektromos energiát vihetsz át a " +"kettő között." #. ~ Description for heavy-duty cable #: lang/json/vehicle_part_from_json.py @@ -174161,6 +181191,9 @@ msgid "" "vehicle and the other to another, and you can transfer electrical power " "between the two." msgstr "" +"Nagyon vastag rézdrót, mindkét végén csatlakozóval. Az egyik végét az egyik " +"járműhöz, a másikat a másikhoz rögzítve elektromos energiát vihetsz át a " +"kettő között." #: lang/json/vehicle_part_from_json.py msgid "wooden seat" @@ -174169,7 +181202,7 @@ msgstr "fa ülés" #. ~ Description for wooden seat #: lang/json/vehicle_part_from_json.py msgid "A place to sit." -msgstr "" +msgstr "Ide lehet leülni." #: lang/json/vehicle_part_from_json.py msgid "wooden spike" @@ -174181,6 +181214,7 @@ msgid "" "A wooden spike, attached to the vehicle, to increase injury when crashing " "into things." msgstr "" +"A járműre rögzített fatüske növeli a sebzést, amikor valaminek nekimész." #: lang/json/vehicle_part_from_json.py msgid "wooden door" @@ -174197,7 +181231,7 @@ msgstr "fa tető" #. ~ Description for wooden roof #: lang/json/vehicle_part_from_json.py msgid "A wooden roof." -msgstr "" +msgstr "Egy fából készült tető." #: lang/json/vehicle_part_from_json.py msgid "chitin plating" @@ -174205,7 +181239,7 @@ msgstr "kitin páncélzat" #: lang/json/vehicle_part_from_json.py msgid "biosilicified chitin plating" -msgstr "" +msgstr "bioszilíciumosodott kitinpáncél" #: lang/json/vehicle_part_from_json.py msgid "door motor" @@ -174218,6 +181252,9 @@ msgid "" "it will allow you to remotely open the door or curtain from the vehicle " "controls." msgstr "" +"Kisméretű elektromotor. Ha ugyanabba a keretbe van beszerelve, mint egy ajtó" +" vagy egy függöny, akkor a jármű kezelőszerveivel távirányítással lehet " +"azokat kinyitni vagy becsukni." #. ~ Description for drive by wire controls #: lang/json/vehicle_part_from_json.py @@ -174227,6 +181264,9 @@ msgid "" "the tile to access the controls, or use the vehicle control key (default " "'^')." msgstr "" +"Komplikált elektronika, segítségével távirányíthatod a járművet akkor is, ha" +" nem vagy benne. Használatához m'e'gvizsgálhatod a vezérlést, vagy " +"használhatod a jármű menüt is (alapból '^')." #: lang/json/vehicle_part_from_json.py msgid "camera control system" @@ -174240,12 +181280,17 @@ msgid "" "can 'e'xamine the tile to access the controls, or use the vehicle control " "key (default '^')." msgstr "" +"Egy vagy több kamerához csatlakoztatott LCD kijelző. Bekapcsolása után azt " +"látod, amit a kamerák is látnak, de a rendszer meríti a jármű akkumulátorát." +" Használatához m'e'gvizsgálhatod a vezérlést, vagy használhatod a jármű " +"menüt is (alapból '^')." #. ~ Description for security camera #: lang/json/vehicle_part_from_json.py msgid "" "A small camera. Will relay what it can see to a camera control station." msgstr "" +"Kisméretű kamera. A kameravezérlő rendszerbe továbbítja azt, amit lát." #: lang/json/vehicle_part_from_json.py msgid "robot controls" @@ -174257,11 +181302,13 @@ msgid "" "A set of controls to allow a vehicle to drive itself, or you to drive it " "remotely using a controller." msgstr "" +"Irányítástechnika, segítségével a jármű önmagát vezetheti, valamint " +"távirányítani is lehet." #. ~ Description for clock #: lang/json/vehicle_part_from_json.py msgid "A clock, so you know what time it is." -msgstr "" +msgstr "Egy óra, hogy tudd, hány óra van." #. ~ Description for leather funnel #. ~ Description for birchbark funnel @@ -174270,7 +181317,7 @@ msgstr "" #. ~ Description for metal funnel #: lang/json/vehicle_part_from_json.py msgid "A funnel that will collect rainwater into the tank beneath it." -msgstr "" +msgstr "A tölcsér az alatta található tartályba gyűjti az esővizet." #: lang/json/vehicle_part_from_json.py msgid "scoop" @@ -174283,6 +181330,9 @@ msgid "" " will scoop up any loose items that it travels over, putting them into the " "vehicle's storage." msgstr "" +"A lapátot a jármű vezérléséből lehet ki- és bekapcsolni. Bekapcsolt " +"állapotában összegyűjt minden tárgyat, amelyen áthalad, és a jármű tároló " +"rekeszébe helyezi azokat." #. ~ Description for water purifier #: lang/json/vehicle_part_from_json.py @@ -174291,6 +181341,9 @@ msgid "" "purify water in a container or in the vehicle's tanks. 'e'xamine the tile " "with the purifier to use it." msgstr "" +"Víztisztító, energiáját a jármű akkumulátorából szerzi. Segítségével a jármű" +" tartályaiban vagy a nálad tárolt vizet lehet megtisztítani. Használatához " +"az 'e' betűvel kell megvizsgálni." #. ~ Description for plow #: lang/json/vehicle_part_from_json.py @@ -174300,6 +181353,10 @@ msgid "" "planting seeds. It should be placed in front of any seed drills on the " "vehicle." msgstr "" +"Az ekét a jármű vezérléséből lehet ki- és bekapcsolni. Bekapcsolt " +"állapotában barázdát vág az alatta elhaladó talajba, így az alkalmassá válik" +" vetőmagok elhelyezésére. A járművön található vetőgépek elé kell " +"felszerelni." #. ~ Description for seed drill #. ~ Description for advanced seed drill @@ -174311,6 +181368,11 @@ msgid "" "any plows on the vehicle, and any wheels should be placed so they won't run " "over the plants." msgstr "" +"A vetőgépet a jármű vezérléséből lehet ki- és bekapcsolni. Vetőmagokat az " +"'e' betűvel történő megvizsgálásnál lehet betenni. Bekapcsolás után a mozgó " +"jármű alá, az esetlegesen felszántott barázdákba ejti a vetőmagokat. " +"Célszerű ezért az ekék mögé beépíteni, és a kerekeket úgy elhelyezni, hogy " +"azok ne tapossák le a magvakat." #. ~ Description for reaper #: lang/json/vehicle_part_from_json.py @@ -174321,6 +181383,10 @@ msgid "" "include cargo space of its own so you need install a cargo space of some " "kind elsewhere in the vehicle." msgstr "" +"Az aratógépet a jármű vezérléséből lehet ki- és bekapcsolni. Bekapcsolt " +"állapotában levágja az alatta elhaladó növényeket. Célszerű a járműre " +"szerelt eke elé beépíteni. A learatott növények tárolásához nincsen saját " +"rekesze, érdemes ezért a járműbe valamilyen tárolót is beépíteni." #. ~ Description for advanced reaper #: lang/json/vehicle_part_from_json.py @@ -174331,6 +181397,10 @@ msgid "" "be placed in front of any plows in the vehicle for efficient operation. It " "has internal cargo space for collecting the harvest." msgstr "" +"Az automata aratógépet a jármű vezérléséből lehet ki- és bekapcsolni. " +"Bekapcsolt állapotában a járművet megállítja, hacsak nincsen annak erős " +"motorja. Levágja az alatta elhaladó növényeket. Célszerű a járműre szerelt " +"eke elé beépíteni. A learatott növényeket a saját tárolójába helyezi." #: lang/json/vehicle_part_from_json.py msgid "cargo lock" @@ -174342,6 +181412,8 @@ msgid "" "A set of locks. Attached to a suitable cargo space, it will prevent other " "people from accessing the cargo and taking your stuff." msgstr "" +"Zárak és lakatok. Egy megfelelő raktérhez illesztve megakadályozza a " +"többieket abban, hogy hozzáférjenek és lenyúlják a cuccaidat." #. ~ Description for turret mount #: lang/json/vehicle_part_from_json.py @@ -174349,14 +181421,29 @@ msgid "" "A rotating, universal mount for a weapon. If your hands are empty, you can " "stand next to a turret mount and 'f'ire the weapon by selecting the tile." msgstr "" +"Fegyver járműre szereléséhez használható univerzális forgózsámoly. Ha nincs " +"a kezedben semmi, akkor mellé állva az 'f' betűvel tudsz tüzelni a rászerelt" +" fegyverrel." +#. ~ Description for turret control unit #: lang/json/vehicle_part_from_json.py -msgid "light wheel mount (steerable)" +msgid "" +"A set of motor, camera, and an AI unit which allows for tracking targets, " +"friend-or-foe identification, and firing the connected turret in full " +"automatic mode. When installed over the turret, it will enable auto " +"targeting mode for said turret." msgstr "" +"Motorból, kamerából és célkövető, barát-ellenség azonosító mesterséges " +"intelligenciából álló vezérlő készlet. Egy lövegtoronyba szerelve az " +"automatikus célzásra és sorozatlövésre lesz alkalmas." + +#: lang/json/vehicle_part_from_json.py +msgid "light wheel mount (steerable)" +msgstr "könnyű keréktartó (kormányozható)" #: lang/json/vehicle_part_from_json.py msgid "wheel hub assembly" -msgstr "" +msgstr "kerékagy szerelvény" #. ~ Description for wheel hub assembly #: lang/json/vehicle_part_from_json.py @@ -174364,10 +181451,12 @@ msgid "" "Connection where wheels can be connected on. This particular one is fit for " "normal car wheels." msgstr "" +"A kerekek felszerelésére alkalmas csatlakozó. Ez hagyományos méretű gépjármű" +" kerekekhez készült." #: lang/json/vehicle_part_from_json.py msgid "wheel hub assembly (steerable)" -msgstr "" +msgstr "kerékagy szerelvény (kormányozható)" #. ~ Description for heavy wheel hub assembly #: lang/json/vehicle_part_from_json.py @@ -174375,10 +181464,12 @@ msgid "" "Connection where wheels can be connected on. This particular one is fit for " "large car wheels." msgstr "" +"A kerekek felszerelésére alkalmas csatlakozó. Ez nagyméretű gépjármű " +"kerekekhez készült." #: lang/json/vehicle_part_from_json.py msgid "heavy wheel hub assembly (steerable)" -msgstr "" +msgstr "nehéz kerékagy szerelvény (kormányozható)" #. ~ Description for rail wheel #: lang/json/vehicle_part_from_json.py @@ -174386,9 +181477,19 @@ msgid "" "A strong metal wheel. A flange helps keep it on a rail, but makes it " "perform terribly when not on a rail." msgstr "" +"Egy erős fémkerék. A karima tartja a sínen, de nem sínen haladva borzalmasan" +" rossz a teljesítménye." #: lang/json/vehicle_part_from_json.py msgid "rail wheel (steerable)" +msgstr "vonatkerék (kormányozható)" + +#. ~ Description for pair of small rail wheels +#: lang/json/vehicle_part_from_json.py +msgid "" +"A pair of small rail wheels. It performs well when riding on a pair of " +"small rails. It performs terribly when not on a rail. Moreover, you can't " +"steer it." msgstr "" #: lang/json/vehicle_part_from_json.py @@ -174398,28 +181499,28 @@ msgstr "úthengerdob" #. ~ Description for wheel #: lang/json/vehicle_part_from_json.py msgid "A wheel." -msgstr "" +msgstr "Egy kerék." #: lang/json/vehicle_part_from_json.py msgid "racing slick" -msgstr "" +msgstr "versenygumi" #. ~ Description for armored wheel #: lang/json/vehicle_part_from_json.py msgid "A very strong, armored metal wheel." -msgstr "" +msgstr "Egy nagyon erős, páncélozott fémkerék." #. ~ Description for wheelbarrow wheel #. ~ Description for small wheel #. ~ Description for unicycle wheel #: lang/json/vehicle_part_from_json.py msgid "A small wheel." -msgstr "" +msgstr "Egy kis kerék." #. ~ Description for bicycle wheel #: lang/json/vehicle_part_from_json.py msgid "A thin bicycle wheel." -msgstr "" +msgstr "Egy vékony kerékpár kerék." #: lang/json/vehicle_part_from_json.py msgid "casters" @@ -174431,15 +181532,17 @@ msgid "" "A set of small wheels, mounted on pivots, like the ones on a rolling office " "chair or grocery cart." msgstr "" +"Forgócsapra szerelt apró kerekek készlete, mint amilyen a guruló irodai " +"székeken, vagy a bevásárlókocsikon található." #. ~ Description for motorbike wheel #: lang/json/vehicle_part_from_json.py msgid "A small wheel from a motorcycle." -msgstr "" +msgstr "Egy kisméretű kerék egy motorkerékpárról." #: lang/json/vehicle_part_from_json.py msgid "tricycle wheels" -msgstr "" +msgstr "tricikli kerék" #. ~ Description for tricycle wheels #: lang/json/vehicle_part_from_json.py @@ -174447,6 +181550,8 @@ msgid "" "A set of three plastic wheels, with a larger one in the front, mounted with " "bolts." msgstr "" +"Három darab műanyag kerék készlete, ahol az első kerék nagyobb méretű, és " +"csavarokkal kerül rögzítésre." #: lang/json/vehicle_part_from_json.py msgid "unicycle wheel" @@ -174459,22 +181564,22 @@ msgstr "kerekesszék kerék" #. ~ Description for wheelchair wheel #: lang/json/vehicle_part_from_json.py msgid "A pair of wheelchair wheels." -msgstr "" +msgstr "pár kerekesszék kerék" #. ~ Description for wide wheel #: lang/json/vehicle_part_from_json.py msgid "" "A wide wheel that provides more traction and better off-road performance." -msgstr "" +msgstr "Széles kerék, kifejezetten terepre alkalmas tapadással." #. ~ Description for wooden cart wheel #: lang/json/vehicle_part_from_json.py msgid "A wooden wheel." -msgstr "" +msgstr "Egy fakerék." #: lang/json/vehicle_part_from_json.py msgid "cargo trough" -msgstr "" +msgstr "szállítóteknő" #. ~ Description for cargo trough #: lang/json/vehicle_part_from_json.py @@ -174483,17 +181588,19 @@ msgid "" "vehicle, extending below it. Though it holds a lot of stuff, its shoddiness" " makes it fragile." msgstr "" +"Ez nem több egy, a jármű aljára hegesztett, hajlított fémlemeznél. Bár sok " +"minden elfér benne, a silány minősége miatt nagyon sérülékeny." #. ~ Description for hauling space #: lang/json/vehicle_part_from_json.py msgid "" "A huge, empty space used in truck trailers to transport vast quantities of " "stuff." -msgstr "" +msgstr "Kamion utánfutók áruszállításra kiképzett, hatalmas, üres területe." #: lang/json/vehicle_part_from_json.py msgid "crude plating" -msgstr "" +msgstr "megmunkálatlan páncél" #. ~ Description for crude plating #: lang/json/vehicle_part_from_json.py @@ -174501,10 +181608,12 @@ msgid "" "A piece of sheet metal welded onto a vehicle as armor. Thin, and not as " "protective as proper armor, but it'll do if there's nothing else available." msgstr "" +"A járműre páncélként felhegesztett fémlap. Vékony, és nem nyújt annyi " +"védelmet, mint a rendes páncélzat, de jobb híján megteszi." #: lang/json/vehicle_part_from_json.py msgid "mounted laser cannon" -msgstr "" +msgstr "beépített lézerágyú" #. ~ Description for refrigerator #: lang/json/vehicle_part_from_json.py @@ -174513,6 +181622,9 @@ msgid "" "When turned on, food inside will be cooled, extending the time it has before" " spoiling." msgstr "" +"Közepes méretű háztartási hűtőszekrény, amelyet járművek elektromos " +"rendszerére alakítottak át. Bekapcsolás után a benne tárolt élelmiszereket " +"hidegen tartja, így azok nem romlanak meg olyan gyorsan." #: lang/json/vehicle_part_from_json.py msgid "freezer" @@ -174525,6 +181637,9 @@ msgid "" "vehicle power. When turned on, food inside will be frozen, completely " "stopping it from spoiling." msgstr "" +"Háztartási hűtőszekrény, amelyet alacsonyabb hőmérsékletre, és járművek " +"elektromos rendszerére alakítottak át. Bekapcsolás után a benne tárolt " +"élelmiszereket fagyottan tartja, így azok egyáltalán nem romlanak meg." #. ~ Description for MetalMaster forge buddy #: lang/json/vehicle_part_from_json.py @@ -174533,6 +181648,9 @@ msgid "" "'e'xamine the forge rig to utilize its welder or soldering iron; you'll " "still need glare protection." msgstr "" +"Hegesztő és fémmegmunkáló munkahely, amely energiáját a jármű " +"akkumulátorából nyeri. A hegesztő vagy a forrasztó használatához az 'e' " +"gombbal kell megvizsgálni. Hegesztéshez fényvédelemre lesz szükség." #. ~ Description for cooking rig #: lang/json/vehicle_part_from_json.py @@ -174540,6 +181658,8 @@ msgid "" "An all-in-one kitchen unit and chemistry lab. 'e'xamine it to use its " "hotplate to heat up food or drinks." msgstr "" +"Egybe épített konyha és vegyi labor. A rezsó étel- és ital felmelegítési " +"funkciójának használatához az 'e' gombbal kell megvizsgálni." #. ~ Description for KitchenMaster cooking buddy #: lang/json/vehicle_part_from_json.py @@ -174547,6 +181667,8 @@ msgid "" "An all-in-one kitchen unit, chemistry lab, and food preparation area. " "'e'xamine it to use its hotplate to heat up food or drinks." msgstr "" +"Egybe épített konyha, ételfeldolgozó és vegyi labor. A rezsó étel- és ital " +"felmelegítési funkciójának használatához az 'e' gombbal kell megvizsgálni." #. ~ Description for control station #: lang/json/vehicle_part_from_json.py @@ -174554,14 +181676,16 @@ msgid "" "A large and complex dashboard mounted with steering controls and several LCD" " touch screens for controlling vehicle systems." msgstr "" +"Nagyméretű és összetett műszerfal, rajta a jármű vezérlésével, és számos LCD" +" kijelzővel, amelyekkel a jármű különféle rendszereit lehet irányítani." #: lang/json/vehicle_part_from_json.py msgid "roof-mounted external tank (200L)" -msgstr "" +msgstr "tetőre szerelt külső tartály (200L)" #: lang/json/vehicle_part_from_json.py msgid "mounted external tank (200L)" -msgstr "" +msgstr "felszerelt külső tartály (200L)" #. ~ Description for ultralight frame #: lang/json/vehicle_part_from_json.py @@ -174570,6 +181694,8 @@ msgid "" "on it, and it can be attached to other frames to increase the vehicle's " "size." msgstr "" +"Egy ultrakönnyű titán fémkeret. A jármű többi alkatrészét erre lehet " +"szerelni, valamint más keretekhez rögzítve növeli a jármű méretét." #: lang/json/vehicle_part_from_json.py msgid "folding extra light quarterpanel" @@ -174606,7 +181732,7 @@ msgstr "járműre szerelt minigun" #. ~ Description for Balancer #: lang/json/vehicle_part_from_json.py msgid "A large and heavy metal drum for balancing a vehicle." -msgstr "" +msgstr "Nagyméretű és nehéz dob a jármű egyensúlyozásához." #. ~ Description for roadheader #: lang/json/vehicle_part_from_json.py @@ -174616,6 +181742,10 @@ msgid "" "vehicle unless it has a strong engine. When turned on, it will destroy " "walls near it." msgstr "" +"Nagyméretű rovátkolt fúrófej, amelyet a jármű motorja hajt meg. A jármű " +"vezérlésénél lehet ki- és bekapcsolni. Bekapcsolásánál megállítja a " +"járművet, kivéve, ha annak erős a motorja. Bekapcsolásánál lerombolja a " +"közeli falakat." #: lang/json/vehicle_part_from_json.py msgid "bulette plating" @@ -174657,6 +181787,11 @@ msgid "" "won't fire if you're in or near the line of fire, but you may get caught in " "any explosions." msgstr "" +"Ezt a nehézfegyvert egy automatikus lövegtoronyba szerelték be. Ha a jármű " +"vezérlésénél azt állítottad be, hogy automatikusan tüzeljen, akkor tűz alá " +"vesz minden ellenséges lényt, ami túl közel kerül a járművedhez. A " +"biztonsági rendszere gondoskodik arról, hogy a fegyver ne tüzeljen, ha túl " +"közel vagy a tűzvonalhoz, de a robbanás szele attól még elkaphat." #: lang/json/vehicle_part_from_json.py msgid "TDI Vector turret" @@ -174840,11 +181975,11 @@ msgstr "automata coilgun" #: lang/json/vehicle_part_from_json.py msgid "lacerator turret" -msgstr "" +msgstr "lacerátor lövegtorony" #: lang/json/vehicle_part_from_json.py msgid "automated lacerator" -msgstr "" +msgstr "automata lacerátor" #: lang/json/vehicle_part_from_json.py msgid "Cx4 Storm turret" @@ -175808,6 +182943,8 @@ msgid "" "A closed cycle, external combustion steam turbine. Burns coal from a bunker" " in the vehicle to produce steam." msgstr "" +"Zárt rendszerű, külsőégésű gőzmotor. A jármű szénkamrájában tárolt szenet " +"égeti el, és gőzt hoz létre." #: lang/json/vehicle_part_from_json.py msgid "" @@ -175823,6 +182960,10 @@ msgid "" " efficiency due to being able track the sun. Will recharge the vehicle's " "electrical power when exposed to the sun." msgstr "" +"Több méter magasra tornyosuló vázra szerelt tucatnyi napelem. A magasságának" +" köszönhetően a törékeny paneleket távol tartja a veszélytől, és a nap " +"követésével megnőtt a hatékonysága. Napos időben tölti a jármű " +"akkumulátorát." #. ~ Description for upgraded solar array #. ~ Description for upgraded reinforced solar array @@ -175833,10 +182974,14 @@ msgid "" "improves efficiency due to being able track the sun. Will recharge the " "vehicle's electrical power when exposed to the sun." msgstr "" +"Több méter magasra tornyosuló vázra szerelt tucatnyi feljavított napelem. A " +"magasságának köszönhetően a törékeny paneleket távol tartja a veszélytől, és" +" a nap követésével megnőtt a hatékonysága. Napos időben tölti a jármű " +"akkumulátorát." #: lang/json/vehicle_part_from_json.py msgid "rubber treads" -msgstr "" +msgstr "gumi lánctalp" #. ~ Description for rubber treads #. ~ Description for steel treads @@ -175848,6 +182993,10 @@ msgid "" "provides plenty of traction to move heavy vehicles off-road, but at the cost" " of speed due to the heavy weight." msgstr "" +"Folyamatos lánctalp része, amelyet építkezési gépeken és harcjárműveken " +"lehet látni. A lánctalp a kerék szerepét tölti be, de a súly nagyobb " +"felületen oszlik el, így terepi körülmények között is nagyon jó tapadást " +"nyújt a nehéz gépek számára, viszont csak alacsonyabb sebességekre képes." #: lang/json/vehicle_part_from_json.py msgid "steel treads" @@ -175864,6 +183013,9 @@ msgid "" "weapon on it as an automated weapon and the vehicle will be able to fire on " "hostile targets that get too close." msgstr "" +"Forgózsámolyra szerelt lövegtorony, amelybe egy fegyverrendszer építhető. " +"Megfelelő fegyverrel ellátva automatikusan tűz alá veszi a túl közelre " +"kerülő ellenséget." #: lang/json/vehicle_part_from_json.py msgid "wiring" @@ -175875,6 +183027,8 @@ msgid "" "A length of heavy duty copper wire, useful for routing power from one part " "of a vehicle to another part." msgstr "" +"Vastag rézdrót, segítségével a jármű különböző részei között lehet áramot " +"átvinni." #: lang/json/vehicle_part_from_json.py msgid "manual flamethrower" @@ -175934,19 +183088,19 @@ msgstr "automata örvény generátor" #: lang/json/vehicle_part_from_json.py msgid "vortex bolter turret" -msgstr "" +msgstr "tövisörvény lövegtorony" #: lang/json/vehicle_part_from_json.py msgid "automated vortex bolter" -msgstr "" +msgstr "automata tövisörvény" #: lang/json/vehicle_part_from_json.py msgid "vortex rifle turret" -msgstr "" +msgstr "örvénypuska lövegtorony" #: lang/json/vehicle_part_from_json.py msgid "automated vortex rifle" -msgstr "" +msgstr "automata örvénypuska" #: lang/json/vehicle_part_from_json.py msgid "diamond barrier" @@ -176058,81 +183212,6 @@ msgstr "" msgid "manual avalanche rifle" msgstr "" -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of road" -msgstr "Üres útszakasz" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Randomly-distributed wrecks" -msgstr "Véletlenszerűen elrendezett roncsok" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parked vehicles" -msgstr "Parkoló járművek" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Jack-knifed semi" -msgstr "Felborult kamion" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Random car pileup" -msgstr "Véletlenszerű autóbaleset" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Police car pileup" -msgstr "Rendőrautó baleset" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Out of fuel vehicle" -msgstr "Kifogyott üzemanyagú jármű" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of bridge" -msgstr "Üres hídszakasz" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Unfueled Vehicle on the bridge" -msgstr "Üzemanyag nélküli jármű a hídon" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the bridge" -msgstr "Jármű a hídon" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of highway" -msgstr "Üres autópálya szakasz" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the highway" -msgstr "Jármű az autópályán" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parking lot with vehicles" -msgstr "Parkoló járművekkel" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of subway" -msgstr "" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the subway" -msgstr "" - #: lang/json/vitamin_from_json.py msgid "Calcium" msgstr "Kalcium" @@ -176149,6 +183228,10 @@ msgstr "B12-vitamin" msgid "Vitamin C" msgstr "C-vitamin" +#: lang/json/vitamin_from_json.py +msgid "Toxins" +msgstr "" + #: src/action.cpp src/input.cpp msgid "Press " msgstr "Nyomd meg a " @@ -176236,7 +183319,7 @@ msgstr "Ezt találtad: %s!" #: src/activity_handlers.cpp msgid "You discover only damaged organs." -msgstr "" +msgstr "Csak sérült szerveket találsz." #: src/activity_handlers.cpp msgid "None of your cutting tools are suitable for butchering." @@ -176271,9 +183354,11 @@ msgstr "" #: src/activity_handlers.cpp msgid "" -"You need to suspend this corpse to butcher it. While you have a rope to lift" -" the corpse, there is no tree nearby to hang it from." +"You need to suspend this corpse to butcher it. While you have a rope to " +"lift the corpse, there is no tree nearby to hang it from." msgstr "" +"A holttest lemészárlásához fel kell akasztani valahova. Bár van nálad kötél " +"az emeléshez, de a közelben nincsen fa, ahova felakaszthatnád." #: src/activity_handlers.cpp msgid "" @@ -176281,13 +183366,17 @@ msgid "" "butchering rack, a nearby hanging meathook, or both a long rope in your " "inventory and a nearby tree to hang the corpse from." msgstr "" +"Egy ekkora holttest teljes mészárlásához vagy egy hentesállványra, egy " +"közeli henteskapocsra, vagy pedig kötélre és egy közeli fára van szükséged." #: src/activity_handlers.cpp msgid "" "To perform a full butchery on a corpse this big, you need a table nearby or " -"something else with a flat surface. A leather tarp spread out on the ground " -"could suffice." +"something else with a flat surface. A leather tarp spread out on the ground" +" could suffice." msgstr "" +"Egy ekkora holttest lemészárlásához egy közeli asztal, vagy pedig valamilyen" +" vízszintes felület szükséges. Egy földre terített bőrponyva is megteszi." #: src/activity_handlers.cpp msgid "For a corpse this big you need a saw to perform a full butchery." @@ -176350,6 +183439,8 @@ msgstr "Amit lehet, azt kinyered a holttestből, de az nagyon sérült." msgid "" "You notice some strange organs, perhaps harvestable via careful dissection." msgstr "" +"Furcsa belső szerveket veszel észre, talán óvatosabb boncolással " +"kinyerhetők." #: src/activity_handlers.cpp msgid "" @@ -176364,6 +183455,8 @@ msgid "" "Your butchering tool destroys a strange organ. Perhaps a more surgical " "approach would allow harvesting it." msgstr "" +"A mészárló szerszámod tönkretesz egy furcsa belső szervet. Talán egy " +"műtétibb megközelítéssel ki tudnád nyerni." #: src/activity_handlers.cpp msgid "" @@ -176415,7 +183508,7 @@ msgstr "Nincs itt lemészárolható holttest!" #: src/activity_handlers.cpp #, c-format msgid "Skill: %s" -msgstr "" +msgstr "Készség: %s" #: src/activity_handlers.cpp msgid "" @@ -176529,17 +183622,17 @@ msgstr "Egy néhány ügyes vágással eltávolítod a(z) %s bőrét." #: src/activity_handlers.cpp #, c-format msgid "You hack the %s apart." -msgstr "" +msgstr "Szétcsapkodod a(z) %s holttestéd." #: src/activity_handlers.cpp #, c-format msgid "You lop the limbs off the %s." -msgstr "" +msgstr "Levágod a(z) %s végtagjait." #: src/activity_handlers.cpp #, c-format msgid "You cleave the %s into pieces." -msgstr "" +msgstr "A(z) %st darabokra hasítod." #: src/activity_handlers.cpp #, c-format @@ -176629,8 +183722,8 @@ msgstr "" #. ~ Sound of a Pickaxe at work! #: src/activity_handlers.cpp -msgid "CHNK! CHNK! CHNK!" -msgstr "CSNK! CSNK! CSNK!" +msgid "CHNK! CHNK! CHNK!" +msgstr "" #: src/activity_handlers.cpp msgid "You finish digging." @@ -176643,14 +183736,14 @@ msgstr "A holttest megmozdult, mielőtt még péppé tudtad volna zúzni!" #: src/activity_handlers.cpp msgid "The corpse is thoroughly pulped." msgid_plural "The corpses are thoroughly pulped." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "A holttestet alaposan péppé zúztad." +msgstr[1] "A holttesteket alaposan péppé zúztad." #: src/activity_handlers.cpp msgid " finished pulping the corpse." msgid_plural " finished pulping the corpses." -msgstr[0] "" -msgstr[1] "" +msgstr[0] " befejezte a holttest péppé zúzását." +msgstr[1] " befejezte a holttestek péppé zúzását." #: src/activity_handlers.cpp #, c-format @@ -176677,13 +183770,13 @@ msgstr "Beteszel egy lövedéket a(z) %sba." msgid "You refill the %s." msgstr "Újratöltöd a(z) %st." -#: src/activity_handlers.cpp +#: src/activity_handlers.cpp src/bionics.cpp msgid "There's nothing to light there." -msgstr "" +msgstr "Ott nem lehet semmit sem meggyújtani." #: src/activity_handlers.cpp msgid "This item requires tinder to light." -msgstr "" +msgstr "Gyújtósra van szükséged ahhoz, hogy ezt a tárgyat meggyújthasd." #: src/activity_handlers.cpp msgid "You have lost the item you were using to start the fire." @@ -176695,26 +183788,31 @@ msgstr "Nincs elég napfény ahhoz, hogy tüzet gyújts, ne is próbálkozz tov #: src/activity_handlers.cpp #, c-format -msgid "You finish training %s to level %d." -msgstr "Befejezted a(z) %s készség tanulásának %d. szintjét." +msgid "You learn a little about the spell : %s" +msgstr "" + +#: src/activity_handlers.cpp src/character_martial_arts.cpp +#, c-format +msgid "You learn %s." +msgstr "Megtanultad a(z) %s készséget." #: src/activity_handlers.cpp #, c-format -msgid "You get some training in %s." -msgstr "" +msgid "You finish training %s to level %d." +msgstr "Befejezted a(z) %s készség tanulásának %d. szintjét." #: src/activity_handlers.cpp #, c-format -msgid "You learn %s." -msgstr "Megtanultad a(z) %s készséget." +msgid "You get some training in %s." +msgstr "Kaptál némi %s képzést." #: src/activity_handlers.cpp msgid "You've charged the battery completely." -msgstr "" +msgstr "Teljesen feltöltötted az elemet." #: src/activity_handlers.cpp src/iuse.cpp msgid "You're too exhausted to keep cranking." -msgstr "" +msgstr "Túlságosan fáradt vagy ahhoz, hogy tovább kurblizz." #: src/activity_handlers.cpp msgid "You have trouble breathing, and stop." @@ -176733,27 +183831,27 @@ msgstr "A(z) %s nem rendelkezik motorral!" #, c-format msgid "The %s's engine starts up." msgid_plural "The %s's engines start up." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Beindul a(z) %s motorja." +msgstr[1] "Beindul a(z) %s összes motorja." #: src/activity_handlers.cpp #, c-format msgid "One of the %s's engines start up." msgid_plural "Some of the %s's engines start up." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Beindul a(z) %s egyik motorja." +msgstr[1] "Beindul a(z) %s néhány motorja." #: src/activity_handlers.cpp #, c-format msgid "The %s is ready for movement." -msgstr "" +msgstr "A(z) %s készen áll az indulásra." #: src/activity_handlers.cpp #, c-format msgid "The %s's engine fails to start." msgid_plural "The %s's engines fail to start." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "A(z) %s motorja nem indul el." +msgstr[1] "A(z) %s egyik motorja sem indul el." #: src/activity_handlers.cpp src/vehicle_use.cpp src/vehicle_use.cpp msgid "You let go of the controls." @@ -176799,42 +183897,49 @@ msgstr "Ezzel nem fogsz semmit sem tanulni." #: src/activity_handlers.cpp #, c-format msgid "%s %s\n" -msgstr "" +msgstr "%s %s\n" #: src/activity_handlers.cpp #, c-format msgid "Charges: %s/%s %s (%s per use)\n" -msgstr "" +msgstr "Töltet: %s/%s %s (használatonként %s)\n" #: src/activity_handlers.cpp #, c-format msgid "Skill used: %s (%s)\n" -msgstr "" +msgstr "Használt készség: %s (%s)\n" #: src/activity_handlers.cpp #, c-format msgid "Success chance: %.1f%%\n" -msgstr "" +msgstr "Esély a sikerre: %.1f%%\n" #: src/activity_handlers.cpp #, c-format msgid "Damage chance: %.1f%%" -msgstr "" +msgstr "Esély a roncsolásra: %.1f%%" #: src/activity_handlers.cpp #, c-format msgid "Your %s is already fully repaired." msgstr "A(z) %s már teljesen meg van javítva." -#: src/activity_handlers.cpp src/player.cpp -#, c-format -msgid "You are currently unable to mend the %s." -msgstr "Jelenleg nem tudod megszerelni a(z) %st." +#: src/activity_handlers.cpp +msgid "You defrost the food, but don't heat it up, since you enjoy it cold." +msgstr "" + +#: src/activity_handlers.cpp +msgid "You defrost and heat up the food." +msgstr "" + +#: src/activity_handlers.cpp +msgid "You heat up the food." +msgstr "" #: src/activity_handlers.cpp #, c-format -msgid "You successfully mended the %s." -msgstr "Sikeresen megszerelted a(z) %st." +msgid "You are currently unable to mend the %s." +msgstr "Jelenleg nem tudod megszerelni a(z) %st." #: src/activity_handlers.cpp #, c-format @@ -176867,15 +183972,15 @@ msgstr "Megállsz egy kis lelki elmélyedésre." #: src/activity_handlers.cpp msgid "Auto-drive cancelled." -msgstr "" +msgstr "Auto-vezetés törölve." #: src/activity_handlers.cpp msgid "You have reached your destination." -msgstr "" +msgstr "Elérted a célállomást." #: src/activity_handlers.cpp msgid "You cannot reach that destination" -msgstr "" +msgstr "A célállomást nem lehet elérni." #: src/activity_handlers.cpp src/game.cpp #, c-format @@ -176884,15 +183989,11 @@ msgstr "Elkaptál egy %st." #: src/activity_handlers.cpp msgid "You feel a tug on your line!" -msgstr "" +msgstr "Valami megrángatja a zsinórt!" #: src/activity_handlers.cpp msgid "You finish fishing" -msgstr "" - -#: src/activity_handlers.cpp -msgid "This training is exhausting. Time to rest." -msgstr "" +msgstr "Befejezed a pecázást." #: src/activity_handlers.cpp msgid "You finish reading." @@ -176904,16 +184005,16 @@ msgstr "Befejezed a várakozást." #: src/activity_handlers.cpp #, c-format -msgid "%s finishes with you..." -msgstr "%s veled fejezi be..." +msgid "%s finishes with you…" +msgstr "" #: src/activity_handlers.cpp msgid "You are bored of waiting, so you stop." -msgstr "" +msgstr "Meguntad a várakozást, úgyhogy megállsz." #: src/activity_handlers.cpp msgid "You finish waiting and feel refreshed." -msgstr "" +msgstr "Befejezed a várakozást és felfrissülve érzed magad." #: src/activity_handlers.cpp #, c-format @@ -176921,115 +184022,120 @@ msgid "%s finishes chatting with you." msgstr "%s befejezi veled a beszélgetést." #: src/activity_handlers.cpp -msgid "You toss and turn..." +msgid "You toss and turn…" msgstr "Csak dobálod magadat..." #: src/activity_handlers.cpp msgid "You have trouble sleeping, keep trying?" -msgstr "" +msgstr "Nehezen tudsz elaludni, próbálod még?" #: src/activity_handlers.cpp msgid "Stop trying to fall asleep and get up." -msgstr "" +msgstr "Ne próbálj meg elaludni és kelj fel." #: src/activity_handlers.cpp msgid "Continue trying to fall asleep." -msgstr "" +msgstr "Tovább próbálkozol elaludni." #: src/activity_handlers.cpp msgid "Continue trying to fall asleep and don't ask again." -msgstr "" +msgstr "Tovább próbálkozol elaludni, és ne kérdezze megint." #: src/activity_handlers.cpp msgid "The autodoc suffers a catastrophic failure." -msgstr "" +msgstr "Az autodoki katasztrofálisan meghibásodott." #: src/activity_handlers.cpp msgid "The Autodoc's failure damages you greatly." -msgstr "" +msgstr "Az autodoki meghibásodása rengeted sebzést okoz rajtad." #: src/activity_handlers.cpp msgid "The Autodoc's failure damages greatly." -msgstr "" +msgstr "Az autodoki meghibásodása rengeted sebzést okoz rajta: ." #: src/activity_handlers.cpp #, c-format msgid "Your %s is ripped open." -msgstr "" +msgstr "A(z) %s széthasad." #: src/activity_handlers.cpp #, c-format msgid "'s %s is ripped open." -msgstr "" +msgstr " %s széthasad." #: src/activity_handlers.cpp #, c-format msgid "The Autodoc is meticulously cutting your %s open." -msgstr "" +msgstr "Az autodoki szisztematikusan szétvágja a(z) %s." #: src/activity_handlers.cpp #, c-format msgid "The Autodoc is meticulously cutting 's %s open." -msgstr "" +msgstr "Az autodoki szisztematikusan szétvágja %st." #: src/activity_handlers.cpp msgid "The Autodoc is meticulously cutting you open." -msgstr "" +msgstr "Az autodoki szisztematikusan szétvág téged." #: src/activity_handlers.cpp msgid "The Autodoc is meticulously cutting open." -msgstr "" +msgstr "Az autodoki szisztematikusan szétvágja t." #: src/activity_handlers.cpp msgid "The Autodoc attempts to carefully extract the bionic." -msgstr "" +msgstr "Az autodoki megpróbálja óvatosan kiszedni a bionikát." #: src/activity_handlers.cpp #, c-format msgid "Tried to uninstall %s, but you don't have this bionic installed." msgstr "" +"Megpróbáltad kiszedni a(z) %s-et, de ilyen bionika nincsen beléd építve." #: src/activity_handlers.cpp msgid "The Autodoc attempts to carefully insert the bionic." -msgstr "" +msgstr "Az autodoki megpróbálja óvatosan beépíteni a bionikát." #: src/activity_handlers.cpp #, c-format msgid "%s is no a valid bionic_id" -msgstr "" +msgstr "%s nem érvényes bionic_id" #: src/activity_handlers.cpp #, c-format msgid "The Autodoc is stitching your %s back up." -msgstr "" +msgstr "Az autodoki összevarja a(z) %s-t." #: src/activity_handlers.cpp #, c-format msgid "The Autodoc is stitching 's %s back up." -msgstr "" +msgstr "Az autodoki összevarja %s-t." #: src/activity_handlers.cpp msgid "The Autodoc is stitching you back up." -msgstr "" +msgstr "Az autodoki összevar téged." #: src/activity_handlers.cpp msgid "The Autodoc is stitching back up." -msgstr "" +msgstr "Az autodoki összevarja -t." #: src/activity_handlers.cpp msgid "" "The Autodoc is moving erratically through the rest of its program, not " "actually stitching your wounds." msgstr "" +"Az autodoki akadozva lépked tovább a programozásán, de nem varrja össze a " +"sebeidet." #: src/activity_handlers.cpp msgid "" "The Autodoc is moving erratically through the rest of its program, not " "actually stitching 's wounds." msgstr "" +"Az autodoki akadozva lépked tovább a programozásán, de nem varrja össze " +" sebeit." #: src/activity_handlers.cpp src/player_hardcoded_effects.cpp -msgid "You try to sleep, but can't..." +msgid "You try to sleep, but can't…" msgstr "Próbálsz aludni, de nem tudsz..." #: src/activity_handlers.cpp @@ -177037,27 +184143,28 @@ msgid "" "The Autodoc returns to its resting position after successfully performing " "the operation." msgstr "" +"A sikeres műtét befejezése után az autodoki visszaáll az alapállapotába." #: src/activity_handlers.cpp msgid "a short upbeat jingle: \"Operation successful\"" -msgstr "" +msgstr "rövid boldog csengés: \"Sikeres műtét\"" #: src/activity_handlers.cpp msgid "" "The Autodoc jerks back to its resting position after failing the operation." -msgstr "" +msgstr "A sikertelen műtét után az autodoki visszarándul az alapállapotába." #: src/activity_handlers.cpp msgid "a sad beeping noise: \"Operation failed\"" -msgstr "" +msgstr "szomorú csipogás: \"Sikertelen műtét\"" #: src/activity_handlers.cpp msgid "The operation is a success." -msgstr "" +msgstr "A műtét sikerrel járt." #: src/activity_handlers.cpp src/bionics.cpp msgid "The operation is a failure." -msgstr "" +msgstr "A műtét nem sikerült." #: src/activity_handlers.cpp msgid "You finish churning up the earth here." @@ -177212,7 +184319,7 @@ msgid "You planted all seeds you could." msgstr "Az összes magot elültetted." #: src/activity_handlers.cpp -msgid "Target lost. IFF override failed." +msgid "Target lost. IFF override failed." msgstr "" #: src/activity_handlers.cpp @@ -177231,12 +184338,12 @@ msgid "The %s short circuits as you attempt to reprogram it!" msgstr "A(z) %s zárlatot kap az átprogramozási próbálkozásodtól!" #: src/activity_handlers.cpp -msgid "...and turns friendly!" -msgstr "...és barátivá válik!" +msgid "…and turns friendly!" +msgstr "" #: src/activity_handlers.cpp -msgid "...but the robot refuses to acknowledge you as an ally!" -msgstr "...de a robot nem hajlandó szövetségesnek elfogadni!" +msgid "…but the robot refuses to acknowledge you as an ally!" +msgstr "" #: src/activity_handlers.cpp msgid "The ancient tree spirits answer your call." @@ -177301,7 +184408,7 @@ msgid "It's too dark to read." msgstr "" #: src/activity_handlers.cpp -msgid "...you finally find the memory banks." +msgid "…you finally find the memory banks." msgstr "" #: src/activity_handlers.cpp @@ -177479,6 +184586,10 @@ msgstr "" msgid "The pet has moved somewhere else." msgstr "Az állatod valahova máshova ment el." +#: src/activity_item_handling.cpp +msgid "Moving cancelled auto-pickup." +msgstr "" + #: src/activity_item_handling.cpp src/npcmove.cpp #, c-format msgid "%1$s picks up a %2$s." @@ -177495,7 +184606,7 @@ msgstr "" #: src/activity_item_handling.cpp #, c-format -msgid "%s can't reach the source tile. Try to sort out loot without a cart." +msgid "%s can't reach the source tile. Try to sort out loot without a cart." msgstr "" #: src/activity_item_handling.cpp @@ -177541,8 +184652,8 @@ msgid "You want some caffeine." msgstr "Valami koffeintartalmút szeretnél." #: src/addiction.cpp -msgid "Your hands start shaking... you need it bad!" -msgstr "Remeg a kezed... nagyon kell!" +msgid "Your hands start shaking… you need it bad!" +msgstr "" #: src/addiction.cpp msgid "You could use a drink." @@ -177553,16 +184664,16 @@ msgid "You could use some diazepam." msgstr "Jót tenne egy diazepam." #: src/addiction.cpp -msgid "Your hands start shaking... you need a drink bad!" -msgstr "Remeg a kezed... nagyon kell egy pia!" +msgid "Your hands start shaking… you need a drink bad!" +msgstr "" #: src/addiction.cpp -msgid "You're shaking... you need some diazepam!" -msgstr "Remeg a kezed... nagyon kell egy diazepam!" +msgid "You're shaking… you need some diazepam!" +msgstr "" #: src/addiction.cpp -msgid "Your hands start shaking... you need some painkillers." -msgstr "Remeg a kezed... nagyon kell valami fájdalomcsillapító!" +msgid "Your hands start shaking… you need some painkillers." +msgstr "" #: src/addiction.cpp msgid "You feel anxious. You need your painkillers!" @@ -177573,8 +184684,8 @@ msgid "You feel depressed. Speed would help." msgstr "Depresszióba süppedtél. Egy kis speed jót tenne." #: src/addiction.cpp -msgid "Your hands start shaking... you need a pick-me-up." -msgstr "Remeg a kezed... nagyon kellene valami anyag." +msgid "Your hands start shaking… you need a pick-me-up." +msgstr "" #: src/addiction.cpp msgid "You stop suddenly, feeling bewildered." @@ -177609,8 +184720,8 @@ msgid "You haven't had any mutagen lately." msgstr "Már rég nem toltál mutagént." #: src/addiction.cpp -msgid "You could use some new parts..." -msgstr "Jól jönne egy pár új alkatrész..." +msgid "You could use some new parts…" +msgstr "" #: src/addiction.cpp msgid "You daydream about luscious pink berries as big as your fist." @@ -177758,12 +184869,12 @@ msgstr "" "Csökkent mozgás. Depresszió. Gyenge immunrendszer. Gyakori szükség." #: src/addiction.cpp -msgid "Perception - 1; Intelligence - 1; Frequent cravings." -msgstr "Érzékelés - 1; Intelligencia - 1; Gyakori szükség." +msgid "Perception - 1; Intelligence - 1; Frequent cravings." +msgstr "" #: src/addiction.cpp -msgid "Perception - 2; Intelligence - 2; Frequent cravings." -msgstr "Érzékelés - 2; Intelligencia - 2; Gyakori szükség." +msgid "Perception - 2; Intelligence - 2; Frequent cravings." +msgstr "" #: src/addiction.cpp msgid "" @@ -177949,38 +185060,6 @@ msgstr "hol db súly térf" msgid "Name (charges)" msgstr "Név (töltet)" -#: src/advanced_inv.cpp -msgid "Not dragging any vehicle!" -msgstr "Nem húzol magaddal semmilyen járművet" - -#: src/advanced_inv.cpp -msgid "No dragged vehicle!" -msgstr "Nem húzol magaddal semmilyen járművet" - -#: src/advanced_inv.cpp -msgid "Invalid container!" -msgstr "Érvénytelen tároló" - -#: src/advanced_inv.cpp -msgid "All 9 squares" -msgstr "Mind a 9 mezőn" - -#: src/advanced_inv.cpp -msgid " FIRE" -msgstr "TŰZ" - -#: src/advanced_inv.cpp -msgid " DANGER" -msgstr "VESZÉLY" - -#: src/advanced_inv.cpp -msgid " TRAP" -msgstr "CSAPDA" - -#: src/advanced_inv.cpp -msgid " WATER" -msgstr "VÍZ" - #: src/advanced_inv.cpp #, c-format msgid "[<] page %1$d of %2$d [>]" @@ -178000,8 +185079,8 @@ msgid "[R]eset" msgstr "[R] visszaállít" #: src/advanced_inv.cpp -msgid "You look at the items, then your clothes, and scratch your head..." -msgstr "Ránézel a tárgyaidra, majd a ruhádra, és csak vakarod a fejed..." +msgid "You look at the items, then your clothes, and scratch your head…" +msgstr "" #: src/advanced_inv.cpp msgid "There are no items to be moved!" @@ -178024,8 +185103,8 @@ msgid "Skipping filled buckets to avoid spilling their contents." msgstr "A megtöltött vödröket átugrom, hogy a tartalmuk ne loccsanjon ki." #: src/advanced_inv.cpp -msgid "Sort by... " -msgstr "Sorrend:" +msgid "Sort by…" +msgstr "" #: src/advanced_inv.cpp msgid "Unsorted (recently added first)" @@ -178075,7 +185154,7 @@ msgstr "" #: src/advanced_inv.cpp msgid "You can't pick up a liquid." -msgstr "Folyadékot nem lehet felvenni." +msgstr "Kiömlött folyadékot nem lehet felvenni." #: src/advanced_inv.cpp msgid "Destination area is full. Remove some items first." @@ -178092,26 +185171,57 @@ msgstr "Ez túl nehéz!" #: src/advanced_inv.cpp #, c-format -msgid "How many do you want to move? [Have %d] (0 to cancel)" -msgstr "Mennyit szeretnél átrakni? [Most %d van] (Mégsem: 0)" +msgid "How many do you want to move? [Have %d] (0 to cancel)" +msgstr "" #: src/advanced_inv.cpp #, c-format -msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" +msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" msgstr "" -"A célban csak %d hely van! Mennyit pakolsz át? [Most %d van] (Mégsem: 0)" #: src/advanced_inv.cpp msgid "The destination is already full!" msgstr "A cél már tele van!" -#: src/advanced_inv.cpp +#: src/advanced_inv_area.cpp +msgid "Not dragging any vehicle!" +msgstr "Nem húzol magaddal semmilyen járművet" + +#: src/advanced_inv_area.cpp +msgid "No dragged vehicle!" +msgstr "Nem húzol magaddal semmilyen járművet" + +#: src/advanced_inv_area.cpp +msgid "Invalid container!" +msgstr "Érvénytelen tároló" + +#: src/advanced_inv_area.cpp +msgid "All 9 squares" +msgstr "Mind a 9 mezőn" + +#: src/advanced_inv_area.cpp +msgid " FIRE" +msgstr "TŰZ" + +#: src/advanced_inv_area.cpp +msgid " DANGER" +msgstr "VESZÉLY" + +#: src/advanced_inv_area.cpp +msgid " TRAP" +msgstr "CSAPDA" + +#: src/advanced_inv_area.cpp +msgid " WATER" +msgstr "VÍZ" + +#: src/advanced_inv_area.cpp msgid "Invalid container" msgstr "Érvénytelen tároló" #: src/animation.cpp -msgid "Hang on a bit..." -msgstr "Pillanat..." +msgid "Hang on a bit…" +msgstr "" #: src/armor_layers.cpp msgid "in your personal aura" @@ -178231,6 +185341,14 @@ msgstr "Zúzó:" msgid "Cut:" msgstr "Vágó:" +#: src/armor_layers.cpp +msgid "Acid:" +msgstr "" + +#: src/armor_layers.cpp +msgid "Fire:" +msgstr "" + #: src/armor_layers.cpp msgid "Environmental:" msgstr "Környezet:" @@ -178299,8 +185417,8 @@ msgstr "Ruharétegezés" #: src/armor_layers.cpp #, c-format -msgid "Press %s for help. Press %s to change keybindings." -msgstr "%s a súgóhoz. %s a billentyűparancsok cseréjéhez." +msgid "Press %s for help. Press %s to change keybindings." +msgstr "" #: src/armor_layers.cpp msgid "(Innermost)" @@ -178364,7 +185482,7 @@ msgid "" "[%s] to equip a new item.\n" "[%s] to equip a new item at the currently selected position.\n" "[%s] to remove selected armor from oneself.\n" -" \n" +"\n" "[Encumbrance and Warmth] explanation:\n" "The first number is the summed encumbrance from all clothing on that bodypart.\n" "The second number is an additional encumbrance penalty caused by wearing multiple items on one of the bodypart's layers or wearing items outside of other items they would normally be work beneath (e.g. a shirt over a backpack).\n" @@ -178929,13 +186047,13 @@ msgstr "%s Szenvedés" #, c-format msgid "" "The %s is somehow vaguely dissatisfied even though it doesn't want anything." -" Seeing this is a bug!" +" Seeing this is a bug!" msgstr "" #: src/artifact.cpp #, c-format msgid "" -"The %s is satisfied, as it should be because it has no standards. Seeing " +"The %s is satisfied, as it should be because it has no standards. Seeing " "this is a bug!" msgstr "" @@ -178962,7 +186080,7 @@ msgstr "" #: src/artifact.cpp #, c-format msgid "" -"The %s is confused to find you dreaming while awake. Seeing this is a bug!" +"The %s is confused to find you dreaming while awake. Seeing this is a bug!" msgstr "" #: src/artifact.cpp @@ -179182,31 +186300,19 @@ msgstr "Kivéve" #: src/auto_pickup.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" -" \n" +"* is used as a Wildcard. A few Examples:\n" +"\n" "wooden arrow matches the itemname exactly\n" "wooden ar* matches items beginning with wood ar\n" "*rrow matches items ending with rrow\n" "*avy fle*fi*arrow multiple * are allowed\n" "heAVY*woOD*arrOW case insensitive search\n" -" \n" +"\n" "Pickup based on item materials:\n" "m:kevlar matches items made of kevlar\n" "M:copper matches items made purely of copper\n" "M:steel,iron multiple materials allowed (OR search)" msgstr "" -"A * egy helyettesítő karakter. Például:\n" -"\n" -"fa nyíl pontosan a tárgy nevét választja ki\n" -"fa ny* fa ny kezdetű tárgyakat választja ki\n" -"*nyíl minden nyíl végű tárgyat választja ki\n" -"*ngere* sím*he*nyíl több * is megadható\n" -"heNGeres*sima*vESSző kis és nagybetű nem számít\n" -"\n" -"A tárgy anyagától függő felvétel:\n" -"m:kevlar a kevlarból készült tárgyaknak felel meg\n" -"M:réz a csak rézből készült tárgyaknak felel meg\n" -"M:acél,vas több anyag is engedélyezett (VAGY keresés)" #: src/auto_pickup.cpp msgid "Pickup Rule:" @@ -179236,9 +186342,8 @@ msgid "Won't display content or suffix matches" msgstr "Nem mutatja a tartalomnak vagy az utótagnak megfelelőket" #: src/auto_pickup.cpp -msgid "Autopickup is not enabled in the options. Enable it now?" +msgid "Autopickup is not enabled in the options. Enable it now?" msgstr "" -"Az autó felvétel nincsen a beállításoknál engedélyezve. Most engedélyezed?" #: src/auto_pickup.cpp msgid "autopickup configuration" @@ -179274,8 +186379,9 @@ msgstr "" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. You have %d" +msgid "%s %d needed to understand. You have %d" msgstr "" +"Megértéséhez a(z) %s készség %d. szintje szükséges, ez nálad jelenleg %d." #: src/avatar.cpp src/iuse.cpp msgid "You're illiterate!" @@ -179300,7 +186406,7 @@ msgstr "%s analfabéta!" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. %s has %d" +msgid "%s %d needed to understand. %s has %d" msgstr "" #: src/avatar.cpp @@ -179325,7 +186431,7 @@ msgstr "" #: src/avatar.cpp #, c-format -msgid "%s reads aloud..." +msgid "%s reads aloud…" msgstr "" #: src/avatar.cpp @@ -179418,7 +186524,7 @@ msgid "Now reading %s, %s to stop early." msgstr "" #: src/avatar.cpp -msgid "You read aloud..." +msgid "You read aloud…" msgstr "" #: src/avatar.cpp @@ -179444,15 +186550,15 @@ msgstr "" #: src/avatar.cpp #, c-format msgid "" -"It's difficult for %s to see fine details right now. Reading will take " +"It's difficult for %s to see fine details right now. Reading will take " "longer than usual." msgstr "" #: src/avatar.cpp #, c-format msgid "" -"This book is too complex for %s to easily understand. It will take longer to" -" read." +"This book is too complex for %s to easily understand. It will take longer " +"to read." msgstr "" #: src/avatar.cpp @@ -179534,8 +186640,8 @@ msgstr "%s %s készségével szintet lépett." #: src/avatar.cpp #, c-format -msgid "You learn a little about %s! (%d%%)" -msgstr "Olvasol egy kicsit a(z) %s rejtelmeiről! (%d%%)" +msgid "You learn a little about %s! (%d%%)" +msgstr "" #: src/avatar.cpp #, c-format @@ -179563,7 +186669,7 @@ msgid "Rereading the %s isn't as much fun for %s." msgstr "" #: src/avatar.cpp -msgid "Maybe you should find something new to read..." +msgid "Maybe you should find something new to read…" msgstr "" #: src/avatar.cpp @@ -179598,11 +186704,11 @@ msgid "You train for a while." msgstr "" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through your internal alarm..." +msgid "It looks like you've slept through your internal alarm…" msgstr "" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through the alarm..." +msgid "It looks like you've slept through the alarm…" msgstr "" #: src/avatar.cpp @@ -179610,8 +186716,8 @@ msgid "You retched, but your stomach is empty." msgstr "Öklendezel, de a gyomrod üres." #: src/avatar.cpp -msgid "You lost your book! You stop reading." -msgstr "Elvesztetted a könyvedet! Abbahagyod az olvasást." +msgid "You lost your book! You stop reading." +msgstr "" #: src/avatar.cpp msgid "Your thick scales get in the way." @@ -179680,7 +186786,67 @@ msgstr "" #: src/avatar.cpp #, c-format -msgid "Are you sure you want to raise %s? %d points available." +msgid "Are you sure you want to raise %s? %d points available." +msgstr "" + +#: src/avatar.cpp +msgid "You set your mech's leg power to a loping fast walk." +msgstr "" + +#: src/avatar.cpp +msgid "You nudge your steed into a steady trot." +msgstr "" + +#: src/avatar.cpp +msgid "You start walking." +msgstr "" + +#: src/avatar.cpp +msgid "You set the power of your mech's leg servos to maximum." +msgstr "" + +#: src/avatar.cpp +msgid "You spur your steed into a gallop." +msgstr "" + +#: src/avatar.cpp +msgid "You start running." +msgstr "Elkezdesz futni." + +#: src/avatar.cpp +msgid "Your steed is too tired to go faster." +msgstr "" + +#: src/avatar.cpp +msgid "You need two functional legs to run." +msgstr "" + +#: src/avatar.cpp +msgid "You're too tired to run." +msgstr "Túl fáradt vagy a futáshoz." + +#: src/avatar.cpp +msgid "You reduce the power of your mech's leg servos to minimum." +msgstr "" + +#: src/avatar.cpp +msgid "You slow your steed to a walk." +msgstr "" + +#: src/avatar.cpp +msgid "You start crouching." +msgstr "" + +#. ~ %1$s: weapon name, %2$s: holster name +#: src/avatar.cpp src/game.cpp +#, c-format +msgctxt "holster" +msgid "Draw %1$s from %2$s?" +msgstr "" + +#: src/avatar.cpp src/monexamine.cpp +#, c-format +msgid "What to do with your %s?" msgstr "" #: src/avatar_action.cpp @@ -179688,11 +186854,11 @@ msgid "You can't move while in your shell. Deactivate it to go mobile." msgstr "" #: src/avatar_action.cpp -msgid "You cannot pull yourself away from the faultline..." +msgid "You cannot pull yourself away from the faultline…" msgstr "" #: src/avatar_action.cpp -msgid "Monster in the way. Auto-move canceled." +msgid "Monster in the way. Auto-move canceled." msgstr "" #: src/avatar_action.cpp @@ -179704,8 +186870,8 @@ msgid "Your willpower asserts itself, and so do you!" msgstr "" #: src/avatar_action.cpp src/handle_action.cpp src/handle_action.cpp -msgid "You're too pacified to strike anything..." -msgstr "Túlságosan le vagy békítve ahhoz, hogy bármit is megüss..." +msgid "You're too pacified to strike anything…" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -179786,7 +186952,7 @@ msgstr "" #: src/avatar_action.cpp #, c-format -msgid "You need to breathe! (%s to surface.)" +msgid "You need to breathe! (%s to surface.)" msgstr "" #: src/avatar_action.cpp @@ -179798,7 +186964,7 @@ msgid "You cannot board a vehicle while mounted." msgstr "" #: src/avatar_action.cpp -msgid "No hostile creature in reach. Waiting a turn." +msgid "No hostile creature in reach. Waiting a turn." msgstr "" #: src/avatar_action.cpp @@ -179806,8 +186972,8 @@ msgid "Your eyes steel, and you raise your weapon!" msgstr "Megacélosodik a tekinteted és felemeled a fegyvered!" #: src/avatar_action.cpp -msgid "You can't fire your weapon, it's too heavy..." -msgstr "Nem tudod a fegyveredet elsütni, túl nehéz..." +msgid "You can't fire your weapon, it's too heavy…" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -179815,12 +186981,14 @@ msgid "The %s must be attached to a gun, it can not be fired separately." msgstr "A(z) %st egy fegyverre kell felcsatolni, külön nem lehet elsütni." #: src/avatar_action.cpp -msgid "You can no longer fire." -msgstr "Nem tudsz többé tüzelni." +#, c-format +msgid "You can no longer fire your %s." +msgstr "" #: src/avatar_action.cpp -msgid "You need a free arm to drive!" -msgstr "A vezetéshez kell egy szabad kéz!" +#, c-format +msgid "You can't use your %s while driving!" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -179828,8 +186996,9 @@ msgid "You need two free hands to fire your %s." msgstr "A(z) %s elsütéséhez két szabad kéz szükséges." #: src/avatar_action.cpp -msgid "You need to reload!" -msgstr "Újra kell táraznod!" +#, c-format +msgid "Your %s is empty!" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -179840,22 +187009,20 @@ msgstr "A(z) %s elsütéséhez %i töltet szükséges!" #, c-format msgid "" "You need a UPS with at least %d charges or an advanced UPS with at least %d " -"charges to fire that!" +"charges to fire the %s!" msgstr "" -"Ennek az elsütéséhez egy legalább %d töltettel rendelkező ET-re, vagy egy " -"legalább %d töltettel rendelkező továbbfejlesztett ET-re van szükséged!" #: src/avatar_action.cpp -msgid "Your mech has an empty battery, its weapon will not fire." +#, c-format +msgid "Your mech has an empty battery, its %s will not fire." msgstr "" #: src/avatar_action.cpp +#, c-format msgid "" -"You must stand near acceptable terrain or furniture to use this weapon. A " +"You must stand near acceptable terrain or furniture to use this %s. A " "table, a mound of dirt, a broken window, etc." msgstr "" -"Egy erre alkalmas tereptárgy mellett kell állnod ahhoz, hogy ezt a fegyvert " -"használd. Ez lehet egy asztal, egy földkupac, egy kitört ablak, stb." #: src/avatar_action.cpp #, c-format @@ -179901,8 +187068,8 @@ msgid "You concentrate mightily, and your body obeys!" msgstr "Erősen koncentrálsz, a tested pedig engedelmeskedik!" #: src/avatar_action.cpp -msgid "You can't muster up the effort to throw anything..." -msgstr "Nem tudod annyira összeszedni magad, hogy bármit is elhajíthass." +msgid "You can't muster up the effort to throw anything…" +msgstr "" #: src/ballistics.cpp #, c-format @@ -180088,6 +187255,16 @@ msgstr "A(z) %sautomatikusan kikapcsol. " msgid "Your %s automatically turns off." msgstr "A(z) %sautomatikusan kikapcsol. " +#: src/bionics.cpp +#, c-format +msgid "Your %s does not have sufficient humidity to function." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency will be reduced." +msgstr "" + #: src/bionics.cpp msgid "You change your mind and turn it off." msgstr "Meggondolod magad és kikapcsolod." @@ -180205,11 +187382,6 @@ msgstr "Vérvizsgálat eredménye" msgid "No effects." msgstr "Nincs hatása." -#: src/bionics.cpp -msgid "There was not enough moisture in the air from which to draw water!" -msgstr "" -"A levegőben nem volt ahhoz elég nedvesség, hogy vizet vonjál ki belőle!" - #: src/bionics.cpp msgid "Your torsion ratchet locks onto your joints." msgstr "A torziós racsni ráfeszül az izületeidre." @@ -180222,10 +187394,6 @@ msgstr "" msgid "Start a fire where?" msgstr "Hol gyújtasz tüzet?" -#: src/bionics.cpp src/iexamine.cpp -msgid "You can't light a fire there." -msgstr "Ott nem lehet tüzet gyújtani." - #: src/bionics.cpp #, c-format msgid "Your radiation level: %d" @@ -180402,6 +187570,20 @@ msgstr "" msgid "'s %s turns off to not waste fuel." msgstr "" +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, your %s shuts down to preserve" +" your health." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, 's %s shuts down to " +"preserve their health." +msgstr "" + #: src/bionics.cpp #, c-format msgid "Your %s runs out of fuel and turn off." @@ -180430,6 +187612,21 @@ msgstr "A(z) %s elvesztette a kapcsolatos, ezért leáll." msgid "You feel your throat open up and air filling your lungs!" msgstr "Érzed, ahogyan kinyílik a torkod és levegő árasztja el a tüdődet!" +#: src/bionics.cpp +#, c-format +msgid "There is not enough humidity for your %s to function." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency is reduced." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "You are properly hydrated. Your %s chirps happily." +msgstr "" + #: src/bionics.cpp msgid "The removal fails without incident." msgstr "" @@ -180491,10 +187688,8 @@ msgstr " felkészül a műtétre." #: src/bionics.cpp #, c-format -msgid "A lifetime of augmentation has taught %s a thing or two..." +msgid "A lifetime of augmentation has taught %s a thing or two…" msgstr "" -"Az egész életében elvégzett augmentációknak köszönhetően %s ismer egy-két " -"dolgot..." #: src/bionics.cpp #, c-format @@ -180510,10 +187705,8 @@ msgstr "" #: src/bionics.cpp msgid "" -"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" +"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" msgstr "" -"FIGYELEM: A reaktor eltávolítása után radioaktív anyagok maradhatnak! " -"Biztosan eltávolítod?" #: src/bionics.cpp #, c-format @@ -180534,14 +187727,12 @@ msgstr "" msgid "Are you sure you wish to uninstall the selected bionic?" msgstr "Biztosan eltávolítod a kijelölt bionikát?" -#: src/bionics.cpp +#: src/bionics.cpp src/game.cpp #, c-format msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " +"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " "anyway?" msgstr "" -"FIGYELEM: %i százalék az egész testet érő SÚLYOS sérülés esélye. Biztosan " -"folytatod?" #: src/bionics.cpp msgid "Your parts are jiggled back into their familiar places." @@ -180614,10 +187805,8 @@ msgstr "Biztosan implantálni szeretnéd a kiválasztott bionikát?" #, c-format msgid "" "WARNING: %i percent chance of failure that may result in damage, pain, or a " -"faulty installation! Continue anyway?" +"faulty installation! Continue anyway?" msgstr "" -"FIGYELMEZTETÉS: %i százalékos esély van arra, hogy a modul beültetése " -"sérüléssel, fájdalommal vagy hibás beültetéssel jár! Folytatod a beültetést?" #. ~ %1$s - name of the bionic to be upgraded (inferior), %2$s - name of the #. upgraded bionic (superior). @@ -180741,14 +187930,35 @@ msgstr "" #: src/bionics_ui.cpp msgid "Available Fuel: " +msgstr "Felhasználható üzemanyag: " + +#: src/bionics_ui.cpp +msgctxt "decimal separator" +msgid "." +msgstr "" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: kilojoule" +msgid "kJ" +msgstr "kJ" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: joule" +msgid "J" +msgstr "" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: millijoule" +msgid "mJ" msgstr "" #: src/bionics_ui.cpp #, c-format msgid "" -"Bionic Power: %i/%i" +"Bionic Power: %s/%ikJ" msgstr "" -"Bionikus energia: %i/%i" +"Bionikus energia: " +"%s/%ikJ" #: src/bionics_ui.cpp msgid "" @@ -180780,22 +187990,22 @@ msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ act" +msgid "%s act" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ deact" +msgid "%s deact" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/turn" +msgid "%s/turn" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/%d turns" +msgid "%s/%d turns" msgstr "" #: src/bionics_ui.cpp src/handle_action.cpp @@ -180843,19 +188053,16 @@ msgstr "Nincsenek passzív bionikák telepítve" #: src/bionics_ui.cpp #, c-format -msgid "%s; enter new letter. Space to clear. Esc to cancel." -msgstr "%s; add meg az új betűt. A szóköz kiürít, az Esc visszalép." +msgid "%s; enter new letter. Space to clear. Esc to cancel." +msgstr "" #: src/bionics_ui.cpp #, c-format msgid "" -"Invalid bionic letter. Only those characters are valid:\n" +"Invalid bionic letter. Only those characters are valid:\n" "\n" "%s" msgstr "" -"Hibás bionika betű. Csak az alábbi betűk érvényesek:\n" -"\n" -"%s" #: src/bionics_ui.cpp #, c-format @@ -180888,16 +188095,46 @@ msgstr "Páncél" #: src/bonuses.cpp msgid "Armor penetration" -msgstr "" +msgstr "Páncéltörés" #: src/bonuses.cpp msgid "Target armor multiplier" msgstr "Célpont páncél szorzó" -#. ~ bash damage +80% of strength +#. ~ %1$s: damage type, %2$s: damage-related bonus name #: src/bonuses.cpp -msgid " of " -msgstr "" +#, c-format +msgctxt "type of damage" +msgid "%1$s %2$s" +msgstr "%1$s %2$s" + +#. ~ %1$s: bonus name, %2$d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%% of %3$s" +msgstr "* %1$s: %2$d%% %3$s" + +#. ~ %1$s: bonus name, %2$d: bonus percentage +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%%" +msgstr "* %1$s: %2$d%%" + +#. ~ %1$s: bonus name, %2$+d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d%% of %3$s" +msgstr "* %1$s: %2$+d%% %3$s" + +#. ~ %1$s: bonus name, %2$+d: bonus value +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d" +msgstr "* %1$s: %2$+d" #: src/calendar.cpp msgid "forever" @@ -180935,8 +188172,8 @@ msgstr[1] "%d nap" #, c-format msgid "%d week" msgid_plural "%d weeks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%d hét" +msgstr[1] "%d hét" #: src/calendar.cpp #, c-format @@ -181000,8 +188237,8 @@ msgstr[1] "%3d nap" #, c-format msgid "%3d week" msgid_plural "%3d weeks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%3d hét" +msgstr[1] "%3d hét" #. ~ Right-aligned time string. should right-align with other strings with #. this same comment @@ -181188,7 +188425,11 @@ msgstr "に坂索トし荷測のンおク妙免イロコヤ梅棋厚れ表幌" #: src/character.cpp msgctxt "not possessive" -msgid "you" +msgid "You" +msgstr "Te" + +#: src/character.cpp +msgid "Your" msgstr "" #: src/character.cpp @@ -181204,6 +188445,63 @@ msgstr "%s-é" msgid "armor" msgstr "páncél" +#: src/character.cpp +#, c-format +msgid "You remove the %s's harness." +msgstr "" + +#: src/character.cpp src/game.cpp +msgid "You let go of the grabbed object." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You climb on the %s." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You hear your %s whir to life." +msgstr "" + +#: src/character.cpp +msgid "You are ejected from your mech!" +msgstr "" + +#: src/character.cpp +msgid " is ejected from their mech!" +msgstr "" + +#: src/character.cpp +msgid "You fall off your mount!" +msgstr "" + +#: src/character.cpp +msgid " falls off their mount!" +msgstr "" + +#: src/character.cpp src/trapfunc.cpp +msgid "You hurt yourself!" +msgstr "Megsérültél!" + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Fell off a mount." +msgstr "" + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Fell off a mount." +msgstr "" + +#: src/character.cpp +msgid "Dismount where?" +msgstr "" + +#: src/character.cpp +msgid "You cannot dismount there!" +msgstr "" + #: src/character.cpp msgid "You struggle to stand." msgstr "Nehezen tudsz felállni." @@ -181362,7 +188660,7 @@ msgstr "" #, c-format msgctxt "container" msgid "You put the %1$s in your %2$s." -msgstr "" +msgstr "A(z) %1$st behelyezed ebbe: %2$s." #. ~ %1$s - list of unmet requirements, %2$s - item name. #: src/character.cpp @@ -181391,6 +188689,11 @@ msgstr "" msgid "Liquid from your inventory has leaked onto the ground." msgstr "" +#: src/character.cpp +#, c-format +msgid "Your current health value is %d." +msgstr "A jelenlegi egészségi értéked %d." + #: src/character.cpp msgid "Parched" msgstr "Kiszáradt" @@ -181460,6 +188763,75 @@ msgstr "" msgid "Your %s bionic shorts out!" msgstr "" +#: src/character.cpp +#, c-format +msgid "Your %s will be frostnipped in the next few hours." +msgstr "A %s egy pár óra múlva első fokú fagyási sérülést fog szenvedni." + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten within the hour!" +msgstr "A %s egy órán belül első fokú fagyási sérülést fog szenvedni!" + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten any minute now!" +msgstr "" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s beginning to go numb from the cold!" +msgstr "Érzed, ahogyan a(z) %s testrészed elzsibbad a hidegtől!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very cold." +msgstr "Érzed, ahogyan a %s testrészed nagyon fázik." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting chilly." +msgstr "Érzed, ahogyan a %s testrészed kihűlt." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting red hot from the heat!" +msgstr "Érzed, ahogyan a %s testrészed rákvörös a forróságtól!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very hot." +msgstr "Érzed, ahogyan a %s testrészed nagyon meleg." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting warm." +msgstr "Érzed, ahogyan a %s testrészed melegedik." + +#: src/character.cpp +#, c-format +msgid "The wind is making your %s feel quite cold." +msgstr "A széltől a %s nagyon fázik." + +#: src/character.cpp +#, c-format +msgid "" +"The wind is very strong, you should find some more wind-resistant clothing " +"for your %s." +msgstr "A szél nagyon erősen fúj, valamilyen hőálló ruházat kellene rá: %s." + +#: src/character.cpp +#, c-format +msgid "" +"Your clothing is not providing enough protection from the wind for your %s!" +msgstr "A ruházatod nem elég a %s melegen tartásához!" + #: src/character.cpp msgid "Left Arm" msgstr "Bal kar" @@ -181477,8 +188849,8 @@ msgid "Right Leg" msgstr "Jobb láb" #: src/character.cpp -msgid "It is broken. It needs a splint or surgical attention." -msgstr "Eltört. Sebészeti beavatkozásra vagy sínpólyára van szüksége." +msgid "It is broken. It needs a splint or surgical attention." +msgstr "" #: src/character.cpp #, c-format @@ -181523,10 +188895,8 @@ msgstr "Az nem fog segíteni a seb megtisztításában." #: src/character.cpp msgid "" -"It has a deep wound that looks infected. Antibiotics might be required." +"It has a deep wound that looks infected. Antibiotics might be required." msgstr "" -"Mély harapás, ami fertőzöttnek tűnik. Valószínűleg antibiotikumra lesz " -"szükség." #: src/character.cpp #, c-format @@ -181626,8 +188996,8 @@ msgstr "" msgid "Big" msgstr "" -#: src/character.cpp src/color.cpp src/color.cpp src/options.cpp -#: src/panels.cpp +#: src/character.cpp src/character_martial_arts.cpp src/color.cpp +#: src/options.cpp msgid "Normal" msgstr "Jó" @@ -181731,6 +189101,32 @@ msgstr "" msgid "EXTRA_EXERCISE" msgstr "" +#: src/character.cpp +msgid "Your body strains under the weight!" +msgstr "" + +#: src/character.cpp +#, c-format +msgid "Your %s needs %d charge from some UPS." +msgid_plural "Your %s needs %d charges from some UPS." +msgstr[0] "" +msgstr[1] "" + +#: src/character.cpp +#, c-format +msgid "Your %s has %d charge but needs %d." +msgid_plural "Your %s has %d charges but needs %d." +msgstr[0] "" +msgstr[1] "" + +#: src/character.cpp +msgid "You cough heavily." +msgstr "Erősen felköhögsz." + +#: src/character.cpp +msgid "a hacking cough." +msgstr "krákogó köhögés." + #: src/character.cpp msgid "You try to shout but you have no face!" msgstr "" @@ -181786,28 +189182,144 @@ msgstr "Hatalmasat okádsz!" #: src/character.cpp msgctxt "strength stat" msgid "STR" -msgstr "" +msgstr "ERŐ" #: src/character.cpp msgctxt "dexterity stat" msgid "DEX" -msgstr "" +msgstr "ÚGY" #: src/character.cpp msgctxt "intelligence stat" msgid "INT" -msgstr "" +msgstr "INT" #: src/character.cpp msgctxt "perception stat" msgid "PER" -msgstr "" +msgstr "ÉRZ" #: src/character.cpp msgctxt "fake stat there's an error" msgid "ERR" msgstr "" +#. ~ %s is armor name +#: src/character.cpp +#, c-format +msgctxt "memorial_male" +msgid "Worn %s was completely destroyed." +msgstr "" + +#: src/character.cpp +#, c-format +msgctxt "memorial_female" +msgid "Worn %s was completely destroyed." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "Your %s is completely destroyed!" +msgstr "A(z) %s teljesen tönkrement!" + +#: src/character.cpp +#, c-format +msgid "'s %s is completely destroyed!" +msgstr "" + +#: src/character.cpp src/veh_interact.cpp +msgid "destroyed" +msgstr "" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s further!" +msgstr "A(z) %1$s még jobban %2$s!" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s!" +msgstr "A(z) %1$s %2$s!" + +#: src/character.cpp +#, c-format +msgid "You were attacked by %s!" +msgstr "Megtámadott %s!" + +#: src/character.cpp +msgid "You were hurt!" +msgstr "Fáj!" + +#. ~spore-release sound +#. ~ the sound of a fungus releasing spores +#. ~ That spore sound again +#. ~ the sound of a fungus dying +#: src/character.cpp src/monattack.cpp src/monattack.cpp src/mondeath.cpp +msgid "Pouf!" +msgstr "" + +#: src/character.cpp +msgid "You sink your roots into the soil." +msgstr "A gyökereidet a talajba mélyeszted." + +#: src/character.cpp +msgid "You start hauling items along the ground." +msgstr "" + +#: src/character.cpp +msgid "Your hands are not free, which makes hauling slower." +msgstr "" + +#: src/character.cpp +msgid "You stop hauling items." +msgstr "" + +#: src/character.cpp +msgid "You resume your task." +msgstr "Folytatod a feladatot." + +#: src/character.cpp +msgid "You nestle your pile of clothes for warmth." +msgstr "" + +#: src/character.cpp +msgid "You use your pile of clothes for warmth." +msgstr "A ruhakupac segítségével melegben leszel." + +#: src/character.cpp +#, c-format +msgid "You snuggle your %s to keep warm." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You use your %s to keep warm." +msgstr "A(z) %s segítségével melegben leszel." + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Entered hibernation." +msgstr "" + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Entered hibernation." +msgstr "" + +#: src/character_martial_arts.cpp +#, c-format +msgid "You have learned %s from extensive practice with the CQB Bionic." +msgstr "" + +#: src/character_martial_arts.cpp +#, c-format +msgid "%s to select martial arts style." +msgstr "" + +#: src/character_martial_arts.cpp +msgid "No Style" +msgstr "Nincs stílus" + #: src/clzones.cpp msgid "No Auto Pickup" msgstr "Nincs auto felszedés" @@ -181852,260 +189364,6 @@ msgid "" "this area." msgstr "" -#: src/clzones.cpp -msgid "Loot: Unsorted" -msgstr "Zsákmány: Válogatás nélkül" - -#: src/clzones.cpp -msgid "" -"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " -"sort items inside. It can overlap with Loot zones of different types." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Food" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for comestibles. If more specific food zone is not defined, all " -"food is moved here." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: P.Food" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for perishable comestibles. Does include perishable drinks if " -"such zone is not specified." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Drink" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for drinks. Does include perishable drinks if such zone is not " -"specified." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: P.Drink" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for perishable drinks." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Guns" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for guns, bows and similar weapons." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Magazines" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for gun magazines." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Ammo" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for ammo." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Weapons" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for melee weapons." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Tools" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for tools." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Clothing" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for clothing. Does include filthy clothing if such zone is not " -"specified." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: F.Clothing" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for filthy clothing." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Drugs" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for drugs and other medical items." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Books" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for books and magazines." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Mods" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for firearm modifications and similar items." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Mutagens" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for mutagens, serums, and purifiers." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Bionics" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for Compact Bionics Modules aka CBMs." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: V.Parts" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for vehicle parts." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Other" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for other miscellaneous items." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Fuel" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for gasoline, diesel, lamp oil and other substances used as a " -"fuel." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Seeds" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for seeds, stems and similar items." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Chemical" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for chemicals." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: S.Parts" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for spare parts." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Artifacts" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for artifacts" -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Corpses" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for corpses" -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Armor" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for armor. Does include filthy armor if such zone is not " -"specified." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: F.Armor" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for filthy armor." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Wood" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for firewood and items that can be used as such." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Custom" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for loot with a custom filter that you can modify." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Ignore" -msgstr "" - -#: src/clzones.cpp -msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." -msgstr "" - #: src/clzones.cpp msgid "Source: Firewood" msgstr "" @@ -182113,7 +189371,7 @@ msgstr "" #: src/clzones.cpp msgid "" "Source for firewood or other flammable materials in this zone may be used to" -" automatically refuel fires. This will be done to maintain light during " +" automatically refuel fires. This will be done to maintain light during " "long-running tasks such as crafting, reading or waiting." msgstr "" @@ -182165,6 +189423,14 @@ msgstr "" msgid "Any vehicles in this area are marked for repair work." msgstr "" +#: src/clzones.cpp +msgid "Vehicle Patrol Zone" +msgstr "" + +#: src/clzones.cpp +msgid "Vehicles with an autopilot will patrol in this zone." +msgstr "" + #: src/clzones.cpp msgid "Basecamp: Food" msgstr "" @@ -182185,11 +189451,11 @@ msgstr "" #: src/clzones.cpp #, c-format -msgid "Loot: Custom : %s" +msgid "Loot: Custom: %s" msgstr "" #: src/clzones.cpp -msgid "Loot: Custom : No Filter" +msgid "Loot: Custom: No Filter" msgstr "" #: src/clzones.cpp @@ -182343,8 +189609,8 @@ msgstr "HIBA! Hozzáférés megtagadva!" #: src/computer.cpp #, c-format -msgid "Logging into %s..." -msgstr "Bejelentkezés ide: %s" +msgid "Logging into %s…" +msgstr "" #: src/computer.cpp msgid "Access is temporary blocked for security purposes." @@ -182359,16 +189625,16 @@ msgid "Bypass security?" msgstr "Megkerülöd a biztonságot?" #: src/computer.cpp -msgid "Shutting down... press any key." -msgstr "A rendszer leáll... A folytatáshoz nyomjon egy gombot." +msgid "Shutting down… press any key." +msgstr "" #: src/computer.cpp -msgid "Maximum login attempts exceeded. Press any key..." -msgstr "Túl sok hibás belépési kísérlet. A folytatáshoz nyomjon egy gombot..." +msgid "Maximum login attempts exceeded. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Login successful. Press any key..." -msgstr "Sikeres bejelentkezés. A folytatáshoz nyomjon egy gombot..." +msgid "Login successful. Press any key…" +msgstr "" #: src/computer.cpp msgid "Root Menu" @@ -182391,29 +189657,29 @@ msgid "Choose drive:" msgstr "Válasszon meghajtót:" #: src/computer.cpp -msgid "Doors opened. Press any key..." -msgstr "Ajtók nyitva. A folytatáshoz nyomjon egy gombot..." +msgid "Doors opened. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Lock enabled. Press any key..." -msgstr "Zár reteszelve. A folytatáshoz nyomjon egy gombot..." +msgid "Lock enabled. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Lock disabled. Press any key..." -msgstr "Zár kinyitva. A folytatáshoz nyomjon egy gombot..." +msgid "Lock disabled. Press any key…" +msgstr "" #. ~ the sound of a church bell ringing #: src/computer.cpp -msgid "Bohm... Bohm... Bohm..." -msgstr "Bohm... Bohm... Bohm..." +msgid "Bohm… Bohm… Bohm…" +msgstr "" #: src/computer.cpp -msgid "Containment shields opened. Press any key..." -msgstr "Az elszigetelő pajzsok nyitva. A folytatáshoz nyomjon egy gombot..." +msgid "Containment shields opened. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Subjects terminated. Press any key..." -msgstr "Alanyok kivégezve. A folytatáshoz nyomjon egy gombot..." +msgid "Subjects terminated. Press any key…" +msgstr "" #: src/computer.cpp msgid "WARNING: Resonance cascade carries severe risk! Continue?" @@ -182424,42 +189690,36 @@ msgid "No data found." msgstr "Nincs adat." #: src/computer.cpp -msgid "Local data-access error logged, alerting helpdesk. Press any key..." +msgid "Local data-access error logged, alerting helpdesk. Press any key…" msgstr "" -"Helyi adathozzáférési hiba, az informatikai osztály értesítve. A " -"folytatáshoz nyomjon egy gombot..." #: src/computer.cpp msgid "" -"Warning: anomalous archive-access activity detected at this node. Press any " -"key..." +"Warning: anomalous archive-access activity detected at this node. Press any" +" key…" msgstr "" -"Figyelem: anomáliát okozó archívum-hozzáférési aktivitást érzékeltünk ennél " -"az adatkezelési csomópontnál. A folytatáshoz nyomjon egy gombot..." #: src/computer.cpp -msgid "Warning: resticted data access. Attempt logged. Press any key..." +msgid "Warning: resticted data access. Attempt logged. Press any key…" msgstr "" #: src/computer.cpp -msgid "Press any key..." -msgstr "A folytatáshoz nyomjon egy gombot..." +msgid "Press any key…" +msgstr "" #: src/computer.cpp msgid "" "Surface map data downloaded. Local anomalous-access error logged. Press " -"any key..." +"any key…" msgstr "" -"Felszíni térképadatok letöltve. Helyi anomália hozzáférési hiba naplózva. A " -"folytatáshoz nyomjon egy gombot..." #: src/computer.cpp -msgid "Sewage map data downloaded. Press any key..." -msgstr "Szennyvíztérkép adatok letöltve. A folytatáshoz nyomjon egy gombot..." +msgid "Sewage map data downloaded. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Subway map data downloaded. Press any key..." -msgstr "Metrótérkép adatok letöltve. A folytatáshoz nyomjon egy gombot..." +msgid "Subway map data downloaded. Press any key…" +msgstr "" #: src/computer.cpp msgid "Target acquisition canceled." @@ -182495,14 +189755,14 @@ msgstr "Bionikus hozzáférés - raktárjegyzék:" #: src/computer.cpp #, c-format -msgid "%d OTHER FOUND..." -msgid_plural "%d OTHERS FOUND..." +msgid "%d OTHER FOUND…" +msgid_plural "%d OTHERS FOUND…" msgstr[0] "" msgstr[1] "" #: src/computer.cpp -msgid "Elevator activated. Press any key..." -msgstr "Lift aktiválva. A folytatáshoz nyomjon egy gombot..." +msgid "Elevator activated. Press any key…" +msgstr "" #: src/computer.cpp #, c-format @@ -182527,8 +189787,8 @@ msgstr "" "A VONATKOZÓ MŰVEZETŐI NAPLÓBEJEGYZÉSEK CSATOLVA" #: src/computer.cpp -msgid "FILE CORRUPTED, PRESS ANY KEY..." -msgstr "SÉRÜLT ADAT, A FOLYTATÁSHOZ NYOMJON EGY GOMBOT..." +msgid "FILE CORRUPTED, PRESS ANY KEY…" +msgstr "" #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -182543,12 +189803,12 @@ msgid "ACCESS DENIED" msgstr "HOZZÁFÉRÉS LETILTVA" #: src/computer.cpp -msgid "Repeater mod installed..." -msgstr "Átjátszó mod telepítve..." +msgid "Repeater mod installed…" +msgstr "" #: src/computer.cpp -msgid "You do not have a repeater mod to install..." -msgstr "Nincsen ide telepíthető átjátszó modod..." +msgid "You do not have a repeater mod to install…" +msgstr "" #: src/computer.cpp msgid "Computer couldn't find its mission!" @@ -182580,15 +189840,15 @@ msgid "ERROR: Please only use blood samples." msgstr "HIBA: Csak vérminta használható" #: src/computer.cpp -msgid "Result: Human blood, no pathogens found." +msgid "Result: Human blood, no pathogens found." msgstr "Eredmény: Emberi vér, patogén nem található." #: src/computer.cpp -msgid "Result: Human blood. Unknown pathogen found." +msgid "Result: Human blood. Unknown pathogen found." msgstr "Eredmény: Emberi vér. Ismeretlen patogén." #: src/computer.cpp -msgid "Result: Unknown blood type. Unknown pathogen found." +msgid "Result: Unknown blood type. Unknown pathogen found." msgstr "Eredmény: Ismeretlen vértípus. Ismeretlen patogén." #: src/computer.cpp @@ -182625,60 +189885,63 @@ msgstr "HIBA: A memóriablokk üres." #: src/computer.cpp msgid "" -"Memory Bank: Military Hexron Encryption\n" +"Memory Bank: Military Hexron Encryption\n" "Printing Transcript\n" msgstr "" -"Memóriablokk: Hexron katonai titkosítás\n" -"Anyag nyomtatása\n" #: src/computer.cpp msgid "" -"Memory Bank: Unencrypted\n" +"Memory Bank: Unencrypted\n" "Nothing of interest.\n" msgstr "" -"Memóriablokk: Titkosítatlan\n" -"Semmi érdekes nem található.\n" #: src/computer.cpp msgid "" "\n" -"ERROR: NETWORK DISCONNECT \n" +"ERROR: NETWORK DISCONNECT\n" "UNABLE TO REACH NETWORK ROUTER OR PROXY. PLEASE CONTACT YOUR\n" "SYSTEM ADMINISTRATOR TO RESOLVE THIS ISSUE.\n" " \n" msgstr "" -"\n" -"HIBA: HÁLÓZATI KAPCSOLAT LEBONTVA \n" -"HÁLÓZATI ROUTER VAGY PROXY NEM TALÁLHATÓ. LÉPJEN KAPCSOLATBA\n" -"A RENDSZERGAZDÁJÁVAL.\n" -" \n" #: src/computer.cpp -msgid "Press any key to continue..." -msgstr "Nyomjon meg egy gombot a folytatáshoz..." +msgid "Press any key to continue…" +msgstr "" #: src/computer.cpp msgid "" -"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF \n" -"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU \n" -"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW. \n" +"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF\n" +"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU\n" +"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW.\n" "\n" -"1. DO NOT PANIC. \n" -"2. REMAIN INSIDE THE BUILDING. \n" -"3. SEEK SHELTER IN THE BASEMENT. \n" -"4. USE PROVIDED GAS MASKS. \n" -"5. AWAIT FURTHER INSTRUCTIONS. \n" +"1. DO NOT PANIC.\n" +"2. REMAIN INSIDE THE BUILDING.\n" +"3. SEEK SHELTER IN THE BASEMENT.\n" +"4. USE PROVIDED GAS MASKS.\n" +"5. AWAIT FURTHER INSTRUCTIONS.\n" "\n" " \n" msgstr "" +"ÜDVÖZLET, ÁLLAMPOLGÁR. EGY BIOLÓGIAI TÁMADÁS TÖRTÉNT ÉS KIHÍRDETTÉK\n" +"A RENDKÍVÜLI ÁLLAPOTOT. A KÉSZENLÉTI SZERVEK HAMAROSAN AZ ÖN\n" +"SEGÍTSÉGÉRE SIETNEK. SAJÁT BIZTONSÁGA ÉRDEKÉBEN KÉRJÜK KÖVESSE AZ\n" +"ALÁBBI LÉPÉSEKET:\n" +"\n" +"1. NE ESSEN PÁNIKBA\n" +"2. MARADJON AZ ÉPÜLETBEN\n" +"3. KERESSEN MENEDÉKET A PINCÉBEN\n" +"4. VEGYE FEL A KIHELYEZETT GÁZMASZKOT\n" +"5. VÁRJON TOVÁBBI UTASÍTÁSOKRA\n" +"\n" +" \n" #: src/computer.cpp msgid "" -" WARNING, RADIO TOWER IS UNRESPONSIVE. \n" +" WARNING, RADIO TOWER IS UNRESPONSIVE.\n" " \n" -" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS. \n" -" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD \n" -" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED. \n" +" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS.\n" +" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD\n" +" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED.\n" " \n" " \n" msgstr "" @@ -182733,7 +189996,7 @@ msgid "WARNING [409]: Primary sensors offline!" msgstr "" #: src/computer.cpp -msgid " >> Initialize secondary sensors: Geiger profiling..." +msgid " >> Initialize secondary sensors: Geiger profiling…" msgstr "" #: src/computer.cpp @@ -182741,7 +190004,7 @@ msgid " >> Radiation spike detected!\n" msgstr "" #: src/computer.cpp -msgid "WARNING [912]: Catastrophic malfunction! Contamination detected! " +msgid "WARNING [912]: Catastrophic malfunction! Contamination detected!" msgstr "" #: src/computer.cpp @@ -182749,11 +190012,11 @@ msgid "EMERGENCY PROCEDURE [1]: Evacuate. Evacuate. Evacuate.\n" msgstr "" #: src/computer.cpp -msgid "EMERGENCY SHUTDOWN! Press any key..." +msgid "EMERGENCY SHUTDOWN! Press any key…" msgstr "" #: src/computer.cpp -msgid "PROCESSING... CYCLE COMPLETE." +msgid "PROCESSING… CYCLE COMPLETE." msgstr "" #: src/computer.cpp @@ -182763,7 +190026,7 @@ msgstr "" #: src/computer.cpp msgid "" -"CRITICAL ERROR... RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " +"CRITICAL ERROR… RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " "RP_M_01_rev.03." msgstr "" @@ -182773,22 +190036,22 @@ msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... AVG %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… AVG %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... MAX %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… MAX %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ CONSOLE: .... %s mSv/h." +msgid "GEIGER COUNTER @ CONSOLE:… %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "PERSONAL DOSIMETRY: .... %s mSv." +msgid "PERSONAL DOSIMETRY:… %s mSv." msgstr "" #: src/computer.cpp @@ -182812,11 +190075,11 @@ msgid "No items detected at: LOADING BAY." msgstr "" #: src/computer.cpp -msgid "Conveyor belt cycle complete. Press any key..." +msgid "Conveyor belt cycle complete. Press any key…" msgstr "" #: src/computer.cpp -msgid "Toggling shutters. Press any key..." +msgid "Toggling shutters. Press any key…" msgstr "" #: src/computer.cpp @@ -182824,15 +190087,15 @@ msgid "Operation irreversible. Extract radioactive material?" msgstr "" #: src/computer.cpp -msgid "Extraction sequence complete... Press any key." +msgid "Extraction sequence complete… Press any key." msgstr "" #: src/computer.cpp -msgid "ERROR! Radiation platform unresponsive... Press any key." +msgid "ERROR! Radiation platform unresponsive… Press any key." msgstr "" #: src/computer.cpp -msgid "Initiating POWER-DIAG ver.2.34 ..." +msgid "Initiating POWER-DIAG ver.2.34…" msgstr "" #: src/computer.cpp @@ -182853,13 +190116,13 @@ msgstr "" #: src/computer.cpp #, c-format -msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." +msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." msgstr "" #: src/computer.cpp #, c-format msgid "" -"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " +"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " "DETECTED." msgstr "" @@ -182868,7 +190131,7 @@ msgid "Backup power status: STANDBY MODE." msgstr "" #: src/computer.cpp -msgid "Backup power status: OFFLINE. Reason: UNKNOWN" +msgid "Backup power status: OFFLINE. Reason: UNKNOWN" msgstr "" #: src/computer.cpp @@ -182928,8 +190191,8 @@ msgid "ERROR: Data bank destroyed." msgstr "HIBA: az adatbank megsemmisült" #: src/computer.cpp -msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT ... " -msgstr "KERESSÜK A LEGKÖZELEBBI MENEKÜLTÜGYI KÖZPONTOT, KÉREM VÁRJON ..." +msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT…" +msgstr "" #. ~555-0164 is a fake phone number in the US, please replace it with a number #. that will not cause issues in your locale if possible. @@ -182937,26 +190200,16 @@ msgstr "KERESSÜK A LEGKÖZELEBBI MENEKÜLTÜGYI KÖZPONTOT, KÉREM VÁRJON ..." #, c-format msgid "" "\n" -"REFUGEE CENTER FOUND! LOCATION: %d %s\n" +"REFUGEE CENTER FOUND! LOCATION: %d %s\n" "\n" -"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT \n" -"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE. \n" -"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND \n" -"4PM AT 555-0164. \n" +"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT\n" +"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE.\n" +"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND\n" +"4PM AT 555-0164.\n" "\n" "IF YOU WOULD LIKE TO SPEAK WITH SOMEONE IN PERSON OR WOULD LIKE\n" -"TO WRITE US A LETTER PLEASE SEND IT TO...\n" +"TO WRITE US A LETTER PLEASE SEND IT TO…\n" msgstr "" -"\n" -"MENEKÜLTÜGYI KÖZPONT MEGTALÁLVA! HELYSZÍN: %d %s\n" -"\n" -"AMENNYIBEN A LÁTOGATÁSÁVAL KAPCSOLATBAN VISSZAJELZÉST KÍVÁN HAGYNI,\n" -"KÉRJÜK LÉPJEN KAPCSOLATBA A VÉSZHELYZETI MINISZTÉRIUM SAJTÓKÖZPONTJÁVAL.\n" -"A HELYI IRODA HÉTKÖZNAPONKÉNT REGGEL 8 ÉS DÉLUTÁN 4 ÓRA KÖZÖTT ÉRHETŐ EL\n" -"AZ 1-800-255-5678-AS TELEFONSZÁMON\n" -"\n" -"AMENNYIBEN VALAKIVEL SZEMÉLYESEN SZERETNE BESZÉLNI, ILLETVE HA POSTAI\n" -"ÚTON KÍVÁN VELÜNK KAPCSOLATBA LÉPNI, AKKOR A...\n" #: src/construction.cpp msgid " Construction " @@ -183048,13 +190301,13 @@ msgstr "" #: src/construction.cpp #, c-format -msgid "%s assists you with the work..." -msgstr "%s segít a munkában..." +msgid "%s assists you with the work…" +msgstr "" #: src/construction.cpp #, c-format -msgid "%s watches you work..." -msgstr "%s nézi, ahogy dolgozol..." +msgid "%s watches you work…" +msgstr "" #: src/construction.cpp #, c-format @@ -183115,8 +190368,8 @@ msgid "That %s can not be dissasembled, since there is furniture above it." msgstr "" #: src/construction.cpp -msgid "The rock feels much warmer than normal. Proceed?" -msgstr "A szikla a szokásosnál sokkal melegebb. Folytatod?" +msgid "The rock feels much warmer than normal. Proceed?" +msgstr "" #: src/construction.cpp msgid "You just tunneled into lava!" @@ -183190,7 +190443,7 @@ msgstr "" #: src/consumption.cpp msgid "That doesn't look edible in its current form." -msgstr "Azt a jelenlegi formájában nem lehet megenni." +msgstr "A jelenlegi formájában nem lehet megenni." #: src/consumption.cpp msgid "This is full of dirt after being on the ground." @@ -183285,22 +190538,19 @@ msgstr "Ennek ellenére elfogyasztod a(z) %st?" #: src/consumption.cpp msgid "" "You've begun stockpiling calories and liquid for hibernation. You get the " -"feeling that you should prepare for bed, just in case, but...you're hungry " +"feeling that you should prepare for bed, just in case, but… you're hungry " "again, and you could eat a whole week's worth of food RIGHT NOW." msgstr "" -"Nekikezdtél a táplálék és a folyadék téli álomhoz való tárolásának. Az az " -"érzésed, hogy inkább aludni kellene... de már megint éhes vagy, és akár egy " -"heti kaját is megtudnál enni, méghozzá MOST, AZONNAL." #: src/consumption.cpp #, c-format -msgid "Ick, this %s doesn't taste so good..." -msgstr "Pfúj, ez a(z) %s nem túl jó ízű..." +msgid "Ick, this %s doesn't taste so good…" +msgstr "" #: src/consumption.cpp #, c-format -msgid "Mmm, this %s tastes delicious..." -msgstr "Mmmm, ez a(z) %s nagyon finom..." +msgid "Mmm, this %s tastes delicious…" +msgstr "" #: src/consumption.cpp #, c-format @@ -183314,8 +190564,8 @@ msgstr "Asszimilálod a %st." #: src/consumption.cpp #, c-format -msgid "Ick, this %s (rotten) doesn't taste so good..." -msgstr "Pfúj, ez a(z) %s (rohadt) nem túl jó ízű..." +msgid "Ick, this %s (rotten) doesn't taste so good…" +msgstr "" #: src/consumption.cpp #, c-format @@ -183368,8 +190618,8 @@ msgid "You greedily devour the taboo meat." msgstr "Mohón felfalod a tabu húst." #: src/consumption.cpp -msgid "Meh. You've eaten worse." -msgstr "Eh... ennél ettél már rosszabbat is." +msgid "Meh. You've eaten worse." +msgstr "" #: src/consumption.cpp msgid "" @@ -183396,8 +190646,8 @@ msgid "You can't taste much of anything with this flu." msgstr "" #: src/consumption.cpp -msgid "Yuck! How can anybody eat this stuff?" -msgstr "Fujj! Hogy tudja ezt bárki is megenni?" +msgid "Yuck! How can anybody eat this stuff?" +msgstr "" #: src/consumption.cpp msgid "Mmm, junk food." @@ -183408,8 +190658,8 @@ msgid "When life's got you down, there's always sugar." msgstr "Amikor semmi sem sikerül, akkor még mindig lehet cukrosat enni." #: src/consumption.cpp -msgid "They may do what they must... you've already won." -msgstr "Tegyék csak, amit tenniük kell... te már úgyis nyertél." +msgid "They may do what they must… you've already won." +msgstr "" #: src/consumption.cpp msgid "Your stomach begins gurgling and you feel bloated and ill." @@ -183444,16 +190694,16 @@ msgid "They're coming to get you." msgstr "Azért jönnek, hogy kicsináljanak." #: src/consumption.cpp -msgid "This might've been a bad idea..." -msgstr "Ez egy rossz ötlet volt..." +msgid "This might've been a bad idea…" +msgstr "" #: src/consumption.cpp msgid "You've really done it this time, haven't you?" msgstr "Na most aztán tényleg bajba kerültél, mi?" #: src/consumption.cpp -msgid "You have to stay vigilant. They're always watching..." -msgstr "Ébernek kell maradnod. Azok mindig figyelnek..." +msgid "You have to stay vigilant. They're always watching…" +msgstr "" #: src/consumption.cpp msgid "mistake mistake mistake mistake mistake" @@ -183472,8 +190722,8 @@ msgid "Something is twitching at the edge of your vision." msgstr "A látótered szélén valami vonaglik." #: src/consumption.cpp -msgid "They know what you've done..." -msgstr "Tudják, hogy mit tettél..." +msgid "They know what you've done…" +msgstr "" #: src/consumption.cpp msgid "You're feeling even more paranoid than usual." @@ -183484,20 +190734,19 @@ msgid "You gorge yourself, preparing to hibernate." msgstr "Korlátlanul zabálsz, hogy így készülj fel a téli álomra." #: src/consumption.cpp -msgid "You feel stocked for a day or two. Got your bed all ready and secured?" -msgstr "Egy-két napra elég ételed van. Megágyaztál?" +msgid "" +"You feel stocked for a day or two. Got your bed all ready and secured?" +msgstr "" #: src/consumption.cpp msgid "" -"Mmm. You can still fit some more in...but maybe you should get comfortable " +"Mmm. You can still fit some more in… but maybe you should get comfortable " "and sleep." msgstr "" -"Hmmm... Még lenne hová tenni a kaját, de talán itt az ideje kényelembe " -"helyezni magadat és aludni." #: src/consumption.cpp -msgid "That filled a hole! Time for bed..." -msgstr "Na ez aztán jól esett! Itt az ideje aludni..." +msgid "That filled a hole! Time for bed…" +msgstr "" #: src/consumption.cpp msgid "You feel as though you're going to split open! In a good way?" @@ -183506,8 +190755,8 @@ msgstr "Úgy érzed, hogy hamarosan szétrepedsz! De ez olyan jó érzés, nem?" #. ~slimespawns have *small voices* which may be the Nice equivalent #. ~of the Rat King's ALL CAPS invective. Probably shared-brain telepathy. #: src/consumption.cpp -msgid "hey, you look like me! let's work together!" -msgstr "hé, te úgy nézel ki, mint én! dolgozzunk együtt!" +msgid "hey, you look like me! let's work together!" +msgstr "" #: src/consumption.cpp #, c-format @@ -183519,24 +190768,6 @@ msgstr "Érzed, ahogyan a(z) %s feltölt." msgid " looks better after eating the %s." msgstr " jobban néz ki azután, hogy evett egy %st." -#: src/consumption.cpp -msgid "Your internal power storage is fully powered." -msgstr "A belső energiatárolódat teljesen feltöltötted." - -#: src/consumption.cpp -msgid "'s internal power storage is fully powered." -msgstr " belső energiatárolóját teljesen feltöltötte." - -#: src/consumption.cpp -#, c-format -msgid "You recharge your battery system with the %s." -msgstr "A(z) %s segítségével feltöltöd az akkumulátor rendszeredet." - -#: src/consumption.cpp -#, c-format -msgid " recharges their battery system with the %s." -msgstr " a(z) %s segítségével feltölti az akkumulátor rendszerét." - #: src/consumption.cpp msgid "That is a LOT of plutonium. Are you sure you want that much?" msgstr "Az RENGETEG plutónium. Biztosan annyi kell?" @@ -183645,8 +190876,8 @@ msgid "" msgstr "" #: src/craft_command.cpp -msgid "Some components used previously are missing. Continue?" -msgstr "A korábban használt hozzávalókból valami hiányzik. Folytatod?" +msgid "Some components used previously are missing. Continue?" +msgstr "" #: src/craft_command.cpp msgid "Item(s): " @@ -183657,7 +190888,7 @@ msgid "Tool(s): " msgstr "Szerszám(ok): " #: src/crafting.cpp -msgid "Your morale is too low to craft such a difficult thing..." +msgid "Your morale is too low to craft such a difficult thing…" msgstr "" #: src/crafting.cpp @@ -183714,7 +190945,7 @@ msgstr "Azt többé már nem tudod elkészíteni!" #, c-format msgid "" "You don't have anything in which to store %s and may have to pour it out or " -"consume it as soon as it is prepared! Proceed?" +"consume it as soon as it is prepared! Proceed?" msgstr "" #: src/crafting.cpp src/pickup.cpp @@ -183805,28 +191036,28 @@ msgstr "" #: src/crafting.cpp #, c-format -msgid "%s assists with crafting..." -msgstr "%s asszisztál az elkészítésben..." +msgid "%s assists with crafting…" +msgstr "" #: src/crafting.cpp #, c-format -msgid "%s could assist you with a batch..." -msgstr "%s tudna segíteni, ha ebből többet készítenél..." +msgid "%s could assist you with a batch…" +msgstr "" #: src/crafting.cpp #, c-format -msgid "%s watches you craft..." -msgstr "%s nézi, ahogy azt elkészíted..." +msgid "%s watches you craft…" +msgstr "" #: src/crafting.cpp #, c-format -msgid "%s helps with crafting..." -msgstr "%s segít az elkészítésben..." +msgid "%s helps with crafting…" +msgstr "" #: src/crafting.cpp #, c-format msgid "You mess up and destroy the %s." -msgstr "" +msgstr "Elszúrod és a(z) %s tönkremegy." #: src/crafting.cpp #, c-format @@ -183836,7 +191067,7 @@ msgstr "" #: src/crafting.cpp #, c-format msgid "You mess up and lose %d%% progress." -msgstr "" +msgstr "Elszúrod, ezért %d%% haladást vesztesz." #: src/crafting.cpp #, c-format @@ -183957,8 +191188,8 @@ msgstr "%s szükséges." #, c-format msgid "You need a %1$s with %2$d charge." msgid_plural "You need a %1$s with %2$d charges." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Ehhez egy %1$s szükséges, legalább %2$d töltettel." +msgstr[1] "Ehhez egy %1$s szükséges, legalább %2$d töltettel." #: src/crafting.cpp #, c-format @@ -184106,8 +191337,8 @@ msgstr "Sorozat időmegtakarítás: %s" #: src/crafting_gui.cpp #, c-format -msgid "Dark craftable? %s" -msgstr "Sötétben készíthető? %s" +msgid "Dark craftable? %s" +msgstr "" #: src/crafting_gui.cpp src/defense.cpp msgid "Easy" @@ -184126,6 +191357,8 @@ msgid "" "Shown nutrition is estimated, varying with " "chosen ingredients." msgstr "" +"A megjelenített tápérték csupán egy becslés, amely a " +"felhasznált hozzávalóktól függ." #: src/crafting_gui.cpp #, c-format @@ -184151,7 +191384,7 @@ msgstr "létrejövő tárgy teljes leírása (lassú)" #. ~ Example result description search term #: src/crafting_gui.cpp msgid "reach attack" -msgstr "távolra nyúló közelharci támadás" +msgstr "távolra nyúló támadás" #: src/crafting_gui.cpp msgid "component required to craft" @@ -184159,7 +191392,7 @@ msgstr "készítéshez szükséges alkatrész" #: src/crafting_gui.cpp msgid "two by four" -msgstr "" +msgstr "fadeszka" #: src/crafting_gui.cpp msgid "primary skill used to craft" @@ -184183,13 +191416,10 @@ msgstr "emlékezetből ismert vagy nem rejtett receptek" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" -"Alapból az összes névben keres. Egy egybetűs előtagokkal és kettősponttal (:) másféleképpen lehet keresni. A további szűrőket vesszővel (,) lehet egymástól elválasztani\n" -"\n" -"Példa:\n" #: src/crafting_gui.cpp msgid "shirt" @@ -184198,7 +191428,7 @@ msgstr "ing" #: src/crafting_gui.cpp #, c-format msgid " %s%.*s %s\n" -msgstr " %s%.*i %s\n" +msgstr " %s%.*s %s\n" #: src/crafting_gui.cpp msgid "name of resulting item" @@ -184207,7 +191437,7 @@ msgstr "létrejövő tárgy neve" #: src/crafting_gui.cpp #, c-format msgid " %c:%s%.*s %s\n" -msgstr " %c:%s%.*i %s\n" +msgstr " %c:%s%.*s %s\n" #: src/crafting_gui.cpp msgid "" @@ -184399,8 +191629,8 @@ msgid "Friendly" msgstr "Barátságos" #: src/creature.cpp -msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" -msgstr "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" +msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" +msgstr "" #: src/damage.cpp msgctxt "damage type" @@ -184453,8 +191683,8 @@ msgid "See %s for a full stack backtrace" msgstr "A teljes előzményekhez lásd %s" #: src/debug.cpp -msgid "An error has occurred! Written below is the error report:" -msgstr "Hiba történt! A hibanaplót lásd lenn:" +msgid "An error has occurred! Written below is the error report:" +msgstr "" #: src/debug.cpp msgid "Press space bar to continue the game." @@ -184513,7 +191743,7 @@ msgid "Level a spell" msgstr "" #: src/debug_menu.cpp -msgid "Player..." +msgid "Player…" msgstr "" #: src/debug_menu.cpp @@ -184556,10 +191786,18 @@ msgstr "" msgid "Toggle display temperature" msgstr "" +#: src/debug_menu.cpp +msgid "Toggle display vehicle autopilot overlay" +msgstr "" + #: src/debug_menu.cpp msgid "Toggle display visibility" msgstr "" +#: src/debug_menu.cpp +msgid "Toggle display lighting" +msgstr "" + #: src/debug_menu.cpp msgid "Toggle display radiation" msgstr "" @@ -184592,12 +191830,16 @@ msgstr "" msgid "Print faction info to console" msgstr "" +#: src/debug_menu.cpp +msgid "Print NPC magic info to console" +msgstr "" + #: src/debug_menu.cpp msgid "Test weather" msgstr "" #: src/debug_menu.cpp -msgid "Info..." +msgid "Info…" msgstr "" #: src/debug_menu.cpp @@ -184613,7 +191855,7 @@ msgid "Teleport - adjacent overmap" msgstr "" #: src/debug_menu.cpp -msgid "Teleport..." +msgid "Teleport…" msgstr "" #: src/debug_menu.cpp @@ -184641,7 +191883,7 @@ msgid "Spawn clairvoyance artifact" msgstr "" #: src/debug_menu.cpp -msgid "Spawning..." +msgid "Spawning…" msgstr "" #: src/debug_menu.cpp @@ -184685,7 +191927,7 @@ msgid "Spawn map extra" msgstr "" #: src/debug_menu.cpp -msgid "Map..." +msgid "Map…" msgstr "" #: src/debug_menu.cpp @@ -184695,8 +191937,8 @@ msgstr "" #: src/debug_menu.cpp msgid "" "Debug Functions - Using these will cheat not only the game, but yourself.\n" -"You won't grow. You won't improve.\n" -"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" +"You won't grow. You won't improve.\n" +"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" "Nothing will be risked and nothing will be gained." msgstr "" @@ -184723,7 +191965,7 @@ msgstr "Hol van a kívánt nagytérkép?" msgid "You teleport to overmap (%d,%d,%d)." msgstr "A nagytérképen ide teleportálsz: %d, %d, %d." -#: src/debug_menu.cpp src/iuse.cpp src/npctrade.cpp +#: src/debug_menu.cpp src/game.cpp src/iuse.cpp src/npctrade.cpp msgid "You" msgstr "Te" @@ -184871,6 +192113,10 @@ msgstr "" msgid "t[e]leport" msgstr "" +#: src/debug_menu.cpp +msgid "Give the [f]lu" +msgstr "" + #: src/debug_menu.cpp msgid "Edit [M]issions (WARNING: Unstable!)" msgstr "" @@ -184909,7 +192155,7 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set the stat to? Currently: %d" +msgid "Set the stat to? Currently: %d" msgstr "" #: src/debug_menu.cpp @@ -184938,12 +192184,12 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set the hitpoints to? Currently: %d" +msgid "Set the hitpoints to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set stamina to? Current: %d. Max: %d." +msgid "Set stamina to? Current: %d. Max: %d." msgstr "" #: src/debug_menu.cpp @@ -184952,7 +192198,7 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set the morale to? Currently: %d" +msgid "Set the morale to? Currently: %d" msgstr "" #: src/debug_menu.cpp @@ -184977,27 +192223,27 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set trust to? Currently: %d" +msgid "Set trust to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set fear to? Currently: %d" +msgid "Set fear to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set value to? Currently: %d" +msgid "Set value to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set anger to? Currently: %d" +msgid "Set anger to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set owed to? Currently: %d" +msgid "Set owed to? Currently: %d" msgstr "" #: src/debug_menu.cpp @@ -185007,13 +192253,13 @@ msgstr "" #: src/debug_menu.cpp #, c-format msgid "" -"NPC: \n" +"NPC:\n" "%s\n" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Cause how much pain? pain: %d" +msgid "Cause how much pain? pain: %d" msgstr "" #: src/debug_menu.cpp @@ -185038,32 +192284,32 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set hunger to? Currently: %d" +msgid "Set hunger to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set stored kCal to? Currently: %d" +msgid "Set stored kCal to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set thirst to? Currently: %d" +msgid "Set thirst to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set fatigue to? Currently: %d" +msgid "Set fatigue to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set sleep deprivation to? Currently: %d" +msgid "Set sleep deprivation to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set %s to? Currently: %d" +msgid "Set %s to? Currently: %d" msgstr "" #: src/debug_menu.cpp src/panels.cpp @@ -185080,7 +192326,7 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set the value to? Currently: %d" +msgid "Set the value to? Currently: %d" msgstr "" #: src/debug_menu.cpp @@ -185203,8 +192449,8 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Drew %d times in %.3f seconds. (%.3f fps average)" -msgstr "%d alkalommal rajzolt %.3f mp alatt (%.3f átlag fps)" +msgid "Drew %d times in %.3f seconds. (%.3f fps average)" +msgstr "" #: src/debug_menu.cpp msgid "Current overmap revealed." @@ -185350,7 +192596,7 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Damage self for how much? hp: %d" +msgid "Damage self for how much? hp: %d" msgstr "" #: src/debug_menu.cpp @@ -185388,8 +192634,8 @@ msgid "Set year to?" msgstr "Hanyadik év legyen?" #: src/debug_menu.cpp -msgid "Set season to? (0 = spring)" -msgstr "Melyik évszak legyen? (0 = tavasz)" +msgid "Set season to? (0 = spring)" +msgstr "" #: src/debug_menu.cpp msgid "Set days to?" @@ -185405,8 +192651,8 @@ msgstr "Hanyadik perc legyen?" #: src/debug_menu.cpp #, c-format -msgid "Set turn to? (One day is %i turns)" -msgstr "Hanyadik kör legyen? (Egy nap %i kör)" +msgid "Set turn to? (One day is %i turns)" +msgstr "" #: src/debug_menu.cpp msgid "Enter benchmark length (in milliseconds):" @@ -185414,11 +192660,9 @@ msgstr "" #: src/debug_menu.cpp msgid "" -"Quit without saving? This may cause issues such as duplicated or missing " +"Quit without saving? This may cause issues such as duplicated or missing " "items and vehicles!" msgstr "" -"Mentés nélkül lépsz ki? Ez gondokat okozhat, például duplikált vagy hiányzó " -"tárgyakat és járműveket!" #: src/debug_menu.cpp #, c-format @@ -185455,10 +192699,12 @@ msgstr "" msgid "Spell" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "LVL" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "MAX" msgstr "" @@ -185483,7 +192729,7 @@ msgid "Please wait as the map generates [ 0%% ]" msgstr "" #: src/defense.cpp -msgid "A caravan approaches! Press spacebar..." +msgid "A caravan approaches! Press spacebar…" msgstr "" #: src/defense.cpp @@ -185839,7 +193085,7 @@ msgstr "" #: src/defense.cpp #, c-format -msgid "Beware! %s!" +msgid "Beware! %s!" msgstr "" #: src/defense.cpp @@ -186037,8 +193283,8 @@ msgstr "" #: src/editmap.cpp src/game.cpp #, c-format -msgid "There is a %s there. Parts:" -msgstr "Ott van egy %s. Részei:" +msgid "There is a %s there. Parts:" +msgstr "" #: src/editmap.cpp #, c-format @@ -186104,7 +193350,7 @@ msgstr "" #, c-format msgctxt "map feature name and id" msgid "%s (%s)" -msgstr "" +msgstr "%s (%s)" #: src/editmap.cpp #, c-format @@ -186282,8 +193528,8 @@ msgstr "" #: src/effect.cpp msgid "" -"The scariest thing in the world would be... if all the air in the world " -"turned to WOOD!" +"The scariest thing in the world would be… if all the air in the world turned" +" to WOOD!" msgstr "" #: src/effect.cpp @@ -186300,7 +193546,7 @@ msgid "Science is a liar sometimes." msgstr "" #: src/effect.cpp -msgid "Science is... wait, what was I talking about again?" +msgid "Science is… wait, what was I talking about again?" msgstr "" #: src/effect.cpp @@ -186320,7 +193566,7 @@ msgid "She was a hip, hip, hip lady, man." msgstr "" #: src/effect.cpp -msgid "You ever see the back of a twenty dollar bill... on weed?" +msgid "You ever see the back of a twenty dollar bill… on weed?" msgstr "" #: src/effect.cpp @@ -186334,15 +193580,15 @@ msgid "RED TEAM GO, RED TEAM GO!" msgstr "" #: src/effect.cpp -msgid "You have a sudden urge to flip your bible open to Genesis 1:29..." +msgid "You have a sudden urge to flip your bible open to Genesis 1:29…" msgstr "" #: src/effect.cpp -msgid "That rug really tied the room together..." +msgid "That rug really tied the room together…" msgstr "" #: src/effect.cpp -msgid "I used to do drugs... I still do, but I used to, too." +msgid "I used to do drugs… I still do, but I used to, too." msgstr "" #: src/effect.cpp @@ -186351,7 +193597,7 @@ msgstr "" #: src/effect.cpp msgid "" -"Okay, like, the scariest thing in the world would be... if like you went to " +"Okay, like, the scariest thing in the world would be… if like you went to " "grab something and it wasn't there!" msgstr "" @@ -186360,7 +193606,7 @@ msgid "They call them fingers, but I never see them fing." msgstr "" #: src/effect.cpp -msgid "... oh, there they go." +msgid "…oh, there they go." msgstr "" #: src/effect.cpp @@ -186395,7 +193641,7 @@ msgid "Oh, sometimes the early-mid-late-early-morning." msgstr "" #: src/effect.cpp -msgid "...But never at dusk." +msgid "…But never at dusk." msgstr "" #: src/effect.cpp @@ -186407,11 +193653,11 @@ msgid "Man, a cheeseburger sounds SO awesome right now." msgstr "" #: src/effect.cpp -msgid "Eh... maybe not." +msgid "Eh… maybe not." msgstr "" #: src/effect.cpp -msgid "I guess, maybe, without the cheese... yeah." +msgid "I guess, maybe, without the cheese… yeah." msgstr "" #: src/effect.cpp @@ -186568,6 +193814,10 @@ msgstr "kiváló" msgid "perfect" msgstr "tökéletes" +#: src/explosion.cpp +msgid "force of the explosion" +msgstr "" + #: src/explosion.cpp msgid "You're caught in the explosion!" msgstr "" @@ -186918,21 +194168,21 @@ msgid "Press enter to rename this camp" msgstr "" #: src/faction.cpp -msgid "Direction : to the " +msgid "Direction: to the " msgstr "" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d)" +msgid "Location: (%d, %d)" msgstr "" #: src/faction.cpp #, c-format -msgid "Food Supply : %s %d calories" +msgid "Food Supply: %s %d calories" msgstr "" #: src/faction.cpp -msgid "Next Upgrade : " +msgid "Next Upgrade: " msgstr "" #: src/faction.cpp @@ -186945,25 +194195,25 @@ msgid "Press enter to talk to this follower " msgstr "" #: src/faction.cpp -msgid "travelling to : " +msgid "travelling to: " msgstr "" #: src/faction.cpp #, c-format -msgid "travelling to : (%d, %d)" +msgid "travelling to: (%d, %d)" msgstr "" #: src/faction.cpp -msgid "Current Mission : " +msgid "Current Mission: " msgstr "" #: src/faction.cpp -msgid "Direction : Nearby" +msgid "Direction: Nearby" msgstr "" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d), at camp: %s" +msgid "Location: (%d, %d), at camp: %s" msgstr "" #: src/faction.cpp @@ -186995,7 +194245,7 @@ msgid "Within interaction range" msgstr "" #: src/faction.cpp -msgid "Status : " +msgid "Status: " msgstr "" #: src/faction.cpp @@ -187019,37 +194269,41 @@ msgid "Guarding" msgstr "" #: src/faction.cpp -msgid "Condition : " +msgid "Basecamp job: " msgstr "" #: src/faction.cpp -msgctxt "needs" -msgid "Nominal" +msgid "Condition: " msgstr "" #: src/faction.cpp -msgid "Hunger : " +msgctxt "needs" +msgid "Nominal" msgstr "" #: src/faction.cpp -msgid "Thirst : " +msgid "Hunger: " msgstr "" #: src/faction.cpp -msgid "Fatigue : " +msgid "Thirst: " msgstr "" #: src/faction.cpp -msgid "Wielding : " +msgid "Fatigue: " msgstr "" +#: src/faction.cpp src/player.cpp +msgid "Wielding: " +msgstr "Kezében: " + #: src/faction.cpp -msgid "Best other skills : " +msgid "Best other skills: " msgstr "" #: src/faction.cpp #, c-format -msgid "Best combat skill : %s : %d" +msgid "Best combat skill: %s: %d" msgstr "" #: src/faction.cpp @@ -187089,7 +194343,11 @@ msgid "Recover Ally from Upgrading" msgstr "" #: src/faction_camp.cpp -msgid "Busy crafting!\n" +msgid "Emergency Recall" +msgstr "" + +#: src/faction_camp.cpp +msgid "Lost in the ether!\n" msgstr "" #: src/faction_camp.cpp @@ -187097,17 +194355,21 @@ msgid "Craft Item" msgstr "" #: src/faction_camp.cpp -msgid " (Finish) Crafting" +msgid "Busy crafting!\n" msgstr "" #: src/faction_camp.cpp -msgid "Busy travelling!\n" +msgid " (Finish) Crafting" msgstr "" #: src/faction_camp.cpp msgid "Travelling" msgstr "" +#: src/faction_camp.cpp +msgid "Busy travelling!\n" +msgstr "" + #: src/faction_camp.cpp msgid "Recall ally from travelling" msgstr "" @@ -187141,7 +194403,7 @@ msgid "Menial Labor" msgstr "" #: src/faction_camp.cpp -msgid "Performing menial labor...\n" +msgid "Performing menial labor…\n" msgstr "" #: src/faction_camp.cpp @@ -187153,7 +194415,7 @@ msgid "Expand Base" msgstr "" #: src/faction_camp.cpp -msgid "Surveying for expansion...\n" +msgid "Surveying for expansion…\n" msgstr "" #: src/faction_camp.cpp @@ -187165,7 +194427,7 @@ msgid "Cut Logs" msgstr "" #: src/faction_camp.cpp -msgid "Cutting logs in the woods...\n" +msgid "Cutting logs in the woods…\n" msgstr "" #: src/faction_camp.cpp @@ -187177,7 +194439,7 @@ msgid "Clear a forest" msgstr "" #: src/faction_camp.cpp -msgid "Clearing a forest...\n" +msgid "Clearing a forest…\n" msgstr "" #: src/faction_camp.cpp @@ -187185,11 +194447,11 @@ msgid "Recover Clearcutter" msgstr "" #: src/faction_camp.cpp -msgid "Setting up a hide site...\n" +msgid "Setup Hide Site" msgstr "" #: src/faction_camp.cpp -msgid "Setup Hide Site" +msgid "Setting up a hide site…\n" msgstr "" #: src/faction_camp.cpp @@ -187201,7 +194463,7 @@ msgid "Relay Hide Site" msgstr "" #: src/faction_camp.cpp -msgid "Transferring gear to a hide site...\n" +msgid "Transferring gear to a hide site…\n" msgstr "" #: src/faction_camp.cpp @@ -187249,7 +194511,7 @@ msgid "Construct Map Fortifications" msgstr "" #: src/faction_camp.cpp -msgid "Constructing fortifications...\n" +msgid "Constructing fortifications…\n" msgstr "" #: src/faction_camp.cpp @@ -187309,7 +194571,7 @@ msgid " Chop Shop" msgstr "" #: src/faction_camp.cpp -msgid "Working at the chop shop...\n" +msgid "Working at the chop shop…\n" msgstr "" #: src/faction_camp.cpp @@ -187395,15 +194657,12 @@ msgstr "" #: src/faction_camp.cpp src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "Do you wish to bring your allies back into your party?" msgstr "" -"\n" -" \n" -"Vissza szeretnéd hívni a szövetségeseidet a csoportba?" #: src/faction_camp.cpp -msgid "You choose to wait..." +msgid "You choose to wait…" msgstr "" #: src/faction_camp.cpp @@ -187421,7 +194680,7 @@ msgstr "" #: src/faction_camp.cpp msgid "" "Warning, you have selected a region with the following issues:\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp @@ -187439,8 +194698,8 @@ msgstr "" #: src/faction_camp.cpp #, c-format msgid "" -"%s \n" -"Are you sure you wish to continue? " +"%s\n" +"Are you sure you wish to continue?" msgstr "" #: src/faction_camp.cpp @@ -187461,14 +194720,22 @@ msgstr "" msgid "%s has abandoned the camp." msgstr "" +#: src/faction_camp.cpp +msgid " Expansion" +msgstr "" + +#: src/faction_camp.cpp +msgid "Recover Ally, " +msgstr "" + #: src/faction_camp.cpp #, c-format msgid "" -"Notes: \n" +"Notes:\n" "Send a companion to gather materials for the next camp upgrade.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "%s\n" "Risk: Very Low\n" @@ -187476,56 +194743,19 @@ msgid "" "Positions: %d/3\n" msgstr "" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" -"Effects:\n" -"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" -" \n" -"Must have enjoyability >= -6\n" -"Perishable food liquidated at penalty depending on upgrades and rot time:\n" -"> Rotten: 0%%\n" -"> Rots in < 2 days: 60%%\n" -"> Rots in < 5 days: 80%%\n" -" \n" -"Total faction food stock: %d kcal\n" -"or %d day's rations" -msgstr "" - -#: src/faction_camp.cpp -msgid "Distribute Food" -msgstr "" - -#: src/faction_camp.cpp -msgid "" -"Notes:\n" -"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" -" \n" -"Effects:\n" -"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" -"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" -"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." -msgstr "" - -#: src/faction_camp.cpp -msgid "Reset Sort Points" -msgstr "" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to gather light brush and heavy sticks.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "> heavy sticks\n" "> withered plants\n" "> splintered wood\n" -" \n" +"\n" "Risk: Very Low\n" "Time: 3 Hours, Repeated\n" "Positions: %d/3\n" @@ -187536,9 +194766,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to do low level chores and sort supplies.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Effects:\n" "> Material left in the unsorted loot zone will be sorted into a defined loot zone.\n" "\n" @@ -187547,31 +194777,14 @@ msgid "" "Positions: %d/1\n" msgstr "" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" -" \n" -"Skill used: N/A \n" -"Effects:\n" -"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal. \n" -" \n" -"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window. \n" -" \n" -"Risk: None\n" -"Time: 3 Hours \n" -"Positions: %d/1\n" -msgstr "" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to a nearby forest to cut logs.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 50%% of trees/trunks at the forest position will be cut down.\n" "> 100%% of total material will be brought back.\n" @@ -187587,15 +194800,15 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to a clear a nearby forest.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 95%% of trees/trunks at the forest position will be cut down.\n" "> 0%% of total material will be brought back.\n" "> Forest should become a field tile.\n" "> Useful for clearing land for another faction camp.\n" -" \n" +"\n" "Risk: None\n" "Time: 6 Hour Base + Travel Time + Cutting Time\n" "Positions: %d/1\n" @@ -187606,14 +194819,14 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to build an improvised shelter and stock it with equipment at a distant map location.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Good for setting up resupply or contingency points.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 6 Hour Construction + Travel\n" "Positions: %d/1\n" @@ -187624,14 +194837,14 @@ msgstr "" msgid "" "Notes:\n" "Push gear out to a hide site or bring gear back from one.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 1\n" "Effects:\n" "> Good for returning equipment you left in the hide site shelter.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward or back.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 1 Hour Base + Travel\n" "Positions: %d/1\n" @@ -187642,9 +194855,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to forage for edible plants.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Foraging Possibilities:\n" "> wild vegetables\n" "> fruits and nuts depending on season\n" @@ -187659,9 +194872,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to set traps for small game.\n" -" \n" +"\n" "Skill used: trapping\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Trapping Possibilities:\n" "> small and tiny animal corpses\n" "May produce less food than consumed!\n" @@ -187675,9 +194888,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to hunt large animals.\n" -" \n" +"\n" "Skill used: marksmanship\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Hunting Possibilities:\n" "> small, medium, or large animal corpses\n" "May produce less food than consumed!\n" @@ -187695,14 +194908,14 @@ msgstr "" msgid "" "Notes:\n" "Send a companion out into the great unknown. High survival skills are needed to avoid combat but you should expect an encounter or two.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Select checkpoints to customize path.\n" "> Reveals terrain around the path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: High\n" "Time: Travel\n" "Positions: %d/3\n" @@ -187713,38 +194926,30 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to purge the wasteland. Their goal is to kill anything hostile they encounter and return when their wounds are too great or the odds are stacked against them.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 4\n" "Effects:\n" "> Pulls creatures encountered into combat instead of fleeing.\n" "> Select checkpoints to customize path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: Very High\n" "Time: Travel\n" "Positions: %d/3\n" msgstr "" -#: src/faction_camp.cpp -msgid " Expansion" -msgstr "" - -#: src/faction_camp.cpp -msgid "Recover Ally, " -msgstr "" - #: src/faction_camp.cpp msgid "" "Notes:\n" "Have a companion attempt to completely dissemble a vehicle into components.\n" -" \n" +"\n" "Skill used: mechanics\n" "Difficulty: 2 \n" "Effects:\n" "> Removed parts placed on the furniture in the garage.\n" "> Skill plays a huge role to determine what is salvaged.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 days \n" msgstr "" @@ -187753,19 +194958,19 @@ msgstr "" msgid "" "Notes:\n" "Plow any spaces that have reverted to dirt or grass.\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: fabrication\n" "Difficulty: N/A \n" "Effects:\n" "> Restores only the plots created in the last expansion upgrade.\n" "> Does not damage existing crops.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 Min / Plot \n" "Positions: 0/1 \n" @@ -187775,20 +194980,20 @@ msgstr "" msgid "" "Notes:\n" "Plant designated seeds in the spaces that have already been tilled.\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Choose which seed type or all of your seeds.\n" "> Stops when out of seeds or planting locations.\n" "> Will plant in ALL dirt mounds in the expansion.\n" -" \n" +"\n" "Risk: None\n" "Time: 1 Min / Plot \n" "Positions: 0/1 \n" @@ -187798,81 +195003,161 @@ msgstr "" msgid "" "Notes:\n" "Harvest any plants that are ripe and bring the produce back.\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Will dump all harvesting products onto your location.\n" -" \n" +"\n" "Risk: None\n" "Time: 3 Min / Plot \n" "Positions: 0/1 \n" msgstr "" #: src/faction_camp.cpp -msgid "departs to search for materials..." +#, c-format +msgid "" +"Notes:\n" +"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" +"\n" +"Skill used: N/A\n" +"Effects:\n" +"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal.\n" +"\n" +"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window.\n" +"\n" +"Risk: None\n" +"Time: 3 Hours\n" +"Positions: %d/1\n" msgstr "" #: src/faction_camp.cpp -msgid "departs to search for firewood..." +#, c-format +msgid "" +"Notes:\n" +"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" +"Effects:\n" +"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" +"\n" +"Must have enjoyability >= -6\n" +"Perishable food liquidated at penalty depending on upgrades and rot time:\n" +"> Rotten: 0%%\n" +"> Rots in < 2 days: 60%%\n" +"> Rots in < 5 days: 80%%\n" +"\n" +"Total faction food stock: %d kcal\n" +"or %d day's rations" msgstr "" #: src/faction_camp.cpp -msgid "returns from working in the woods..." +msgid "Distribute Food" msgstr "" #: src/faction_camp.cpp -msgid "returns from working on the hide site..." +msgid "" +"Notes:\n" +"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" +"\n" +"Effects:\n" +"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" +"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" +"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." +msgstr "" + +#: src/faction_camp.cpp +msgid "Reset Sort Points" +msgstr "" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Assign repeating job duties to NPCs stationed here.\n" +"Difficulty: N/A\n" +"Effects:\n" +"\n" +"\n" +"Risk: None\n" +"Time: Ongoing" +msgstr "" + +#: src/faction_camp.cpp +msgid "Assign Jobs" +msgstr "" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Cancel a current mission and force the immediate return of a companion. No work will be done on the mission and all resources used on the mission will be lost.\n" +"\n" +"WARNING: All resources used on the mission will be lost and no work will be done. Only use this mission to recover a companion who cannot otherwise be recovered.\n" +"\n" +"Companions must be on missions for at least 24 hours before emergency recall becomes available." +msgstr "" + +#: src/faction_camp.cpp +msgid "departs to survey land…" +msgstr "" + +#: src/faction_camp.cpp +msgid "departs to search for materials…" +msgstr "" + +#: src/faction_camp.cpp +msgid "departs to search for firewood…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns from working in the woods…" msgstr "" #: src/faction_camp.cpp -msgid "returns from shuttling gear between the hide site..." +msgid "returns from working on the hide site…" msgstr "" #: src/faction_camp.cpp -msgid "departs to search for edible plants..." +msgid "returns from shuttling gear between the hide site…" msgstr "" #: src/faction_camp.cpp -msgid "departs to set traps for small animals..." +msgid "departs to search for edible plants…" msgstr "" #: src/faction_camp.cpp -msgid "departs to hunt for meat..." +msgid "departs to set traps for small animals…" msgstr "" #: src/faction_camp.cpp -msgid "departs to search for recruits..." +msgid "departs to hunt for meat…" msgstr "" #: src/faction_camp.cpp -msgid "departs to survey land..." +msgid "departs to search for recruits…" msgstr "" #: src/faction_camp.cpp -msgid "returns to you with something..." +msgid "returns to you with something…" msgstr "" #: src/faction_camp.cpp -msgid "returns from your farm with something..." +msgid "returns from your farm with something…" msgstr "" #: src/faction_camp.cpp -msgid "returns from your kitchen with something..." +msgid "returns from your kitchen with something…" msgstr "" #: src/faction_camp.cpp -msgid "returns from your blacksmith shop with something..." +msgid "returns from your blacksmith shop with something…" msgstr "" #: src/faction_camp.cpp -msgid "returns from your garage..." +msgid "returns from your garage…" msgstr "" #: src/faction_camp.cpp @@ -187880,13 +195165,30 @@ msgid "You don't have enough food stored to feed your companion." msgstr "" #: src/faction_camp.cpp -msgid "begins to upgrade the camp..." +msgid "begins to upgrade the camp…" msgstr "" #: src/faction_camp.cpp msgid "You don't have the materials for the upgrade." msgstr "" +#: src/faction_camp.cpp +msgid "There are no npcs stationed here" +msgstr "" + +#: src/faction_camp.cpp src/npc.cpp +msgid "No particular job" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "Press %s to change this workers job." +msgstr "" + +#: src/faction_camp.cpp +msgid "Assign which job?" +msgstr "" + #: src/faction_camp.cpp #, c-format msgid "%s goes off to clean toilets and sort loot." @@ -187904,7 +195206,7 @@ msgid "" msgstr "" #: src/faction_camp.cpp -msgid "departs to cut logs..." +msgid "departs to cut logs…" msgstr "" #: src/faction_camp.cpp @@ -187912,7 +195214,7 @@ msgid "Forests are the only valid cutting locations." msgstr "" #: src/faction_camp.cpp -msgid "departs to clear a forest..." +msgid "departs to clear a forest…" msgstr "" #: src/faction_camp.cpp @@ -187924,11 +195226,11 @@ msgid "Do you wish to give your companion additional items?" msgstr "" #: src/faction_camp.cpp -msgid "departs to build a hide site..." +msgid "departs to build a hide site…" msgstr "" #: src/faction_camp.cpp -msgid "You need equipment to setup a hide site..." +msgid "You need equipment to setup a hide site…" msgstr "" #: src/faction_camp.cpp @@ -187940,11 +195242,11 @@ msgid "Bring gear back?" msgstr "" #: src/faction_camp.cpp -msgid "departs for the hide site..." +msgid "departs for the hide site…" msgstr "" #: src/faction_camp.cpp -msgid "You need equipment to transport between the hide site..." +msgid "You need equipment to transport between the hide site…" msgstr "" #: src/faction_camp.cpp @@ -187971,7 +195273,7 @@ msgid "You don't have the material to build the fortification." msgstr "" #: src/faction_camp.cpp -msgid "begins constructing fortifications..." +msgid "begins constructing fortifications…" msgstr "" #: src/faction_camp.cpp @@ -187981,7 +195283,7 @@ msgid "" msgstr "" #: src/faction_camp.cpp -msgid "departs on patrol..." +msgid "departs on patrol…" msgstr "" #: src/faction_camp.cpp @@ -187998,19 +195300,19 @@ msgid "Your batch is too large!" msgstr "" #: src/faction_camp.cpp -msgid "begins to work..." +msgid "begins to work…" msgstr "" #: src/faction_camp.cpp -msgid "+ more \n" +msgid "+ more\n" msgstr "" #: src/faction_camp.cpp -msgid "begins to harvest the field..." +msgid "begins to harvest the field…" msgstr "" #: src/faction_camp.cpp -msgid "You have no additional seeds to give your companions..." +msgid "You have no additional seeds to give your companions…" msgstr "" #: src/faction_camp.cpp src/mission_companion.cpp @@ -188018,11 +195320,11 @@ msgid "Which seeds do you wish to have planted?" msgstr "" #: src/faction_camp.cpp -msgid "begins planting the field..." +msgid "begins planting the field…" msgstr "" #: src/faction_camp.cpp -msgid "begins plowing the field..." +msgid "begins plowing the field…" msgstr "" #: src/faction_camp.cpp @@ -188033,11 +195335,15 @@ msgid "" msgstr "" #: src/faction_camp.cpp -msgid "begins working in the garage..." +msgid "begins working in the garage…" +msgstr "" + +#: src/faction_camp.cpp +msgid "Your companion seems disappointed that your pantry is empty…" msgstr "" #: src/faction_camp.cpp -msgid "Your companion seems disappointed that your pantry is empty..." +msgid "responds to the emergency recall…" msgstr "" #: src/faction_camp.cpp @@ -188046,11 +195352,11 @@ msgid "%s failed to build the %s upgrade." msgstr "" #: src/faction_camp.cpp -msgid "returns from upgrading the camp having earned a bit of experience..." +msgid "returns from upgrading the camp having earned a bit of experience…" msgstr "" #: src/faction_camp.cpp -msgid "returns from doing the dirty work to keep the camp running..." +msgid "returns from doing the dirty work to keep the camp running…" msgstr "" #: src/faction_camp.cpp @@ -188071,48 +195377,48 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "returns from %s carrying supplies and has a bit more experience..." +msgid "returns from %s carrying supplies and has a bit more experience…" msgstr "" #: src/faction_camp.cpp -msgid "returns from constructing fortifications..." +msgid "returns from constructing fortifications…" msgstr "" #: src/faction_camp.cpp -msgid "returns from searching for recruits with a bit more experience..." +msgid "returns from searching for recruits with a bit more experience…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s encountered %s..." +msgid "%s encountered %s…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s didn't find anyone to recruit..." +msgid "%s didn't find anyone to recruit…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s convinced %s to hear a recruitment offer from you..." +msgid "%s convinced %s to hear a recruitment offer from you…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested in anything %s had to offer..." +msgid "%s wasn't interested in anything %s had to offer…" msgstr "" #: src/faction_camp.cpp msgid "" "NPC Overview:\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp #, c-format msgid "" -"Name: %20s\n" -" \n" +"Name: %s\n" +"\n" msgstr "" #: src/faction_camp.cpp @@ -188134,7 +195440,7 @@ msgstr "" #, c-format msgid "" "Perception: %10d\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp @@ -188149,21 +195455,21 @@ msgstr "" #, c-format msgid "" "> Food: %10d days\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp #, c-format msgid "" "Faction Food:%9d days\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp #, c-format msgid "" "Recruit Chance: %10d%%\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp @@ -188187,7 +195493,7 @@ msgid "Not Interested" msgstr "" #: src/faction_camp.cpp -msgid "You decide you aren't interested..." +msgid "You decide you aren't interested…" msgstr "" #: src/faction_camp.cpp @@ -188197,26 +195503,25 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested..." +msgid "%s wasn't interested…" msgstr "" #: src/faction_camp.cpp -msgid "Your companion hit a river and didn't know how to swim..." +msgid "Your companion hit a river and didn't know how to swim…" msgstr "" #: src/faction_camp.cpp msgid "" -"Your companion hit a river and didn't know how to swim well enough to " -"cross..." +"Your companion hit a river and didn't know how to swim well enough to cross…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s didn't return from patrol..." +msgid "%s didn't return from patrol…" msgstr "" #: src/faction_camp.cpp -msgid "returns from patrol..." +msgid "returns from patrol…" msgstr "" #: src/faction_camp.cpp @@ -188256,7 +195561,7 @@ msgid "returns from surveying for the expansion." msgstr "" #: src/faction_camp.cpp -msgid "returns from working your fields... " +msgid "returns from working your fields…" msgstr "" #: src/faction_camp.cpp @@ -188316,24 +195621,24 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid ">Travel: %23s\n" +msgid ">Travel: %s\n" msgstr "" #: src/faction_camp.cpp #, c-format -msgid ">Working: %23s\n" +msgid ">Working: %s\n" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Total: %23s\n" +msgid "Total: %s\n" msgstr "" #: src/faction_camp.cpp #, c-format msgid "" "Food: %15d (kcal)\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp @@ -188350,16 +195655,16 @@ msgstr "" msgid "" "Notes:\n" "Recruiting additional followers is very dangerous and expensive. The outcome is heavily dependent on the skill of the companion you send and the appeal of your base.\n" -" \n" +"\n" "Skill used: speech\n" -"Difficulty: 2 \n" +"Difficulty: 2\n" "Base Score: +%3d%%\n" "> Expansion Bonus: +%3d%%\n" "> Faction Bonus: +%3d%%\n" "> Special Bonus: +%3d%%\n" -" \n" +"\n" "Total: Skill +%3d%%\n" -" \n" +"\n" "Risk: High\n" "Time: 4 Days\n" "Positions: %d/1\n" @@ -188379,7 +195684,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Name: %25s\n" +msgid "Name: %s\n" msgstr "" #: src/faction_camp.cpp @@ -188388,7 +195693,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Engine: %25s\n" +msgid "Engine: %s\n" msgstr "" #: src/faction_camp.cpp @@ -188398,7 +195703,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid ">Fuel: %25s\n" +msgid ">Fuel: %s\n" msgstr "" #: src/faction_camp.cpp @@ -188410,11 +195715,11 @@ msgid "Estimated Chop Time: 5 Days\n" msgstr "" #: src/faction_camp.cpp -msgid "You do not have a camp food zone. Aborting..." +msgid "You do not have a camp food zone. Aborting…" msgstr "" #: src/faction_camp.cpp -msgid "No items are located at the drop point..." +msgid "No items are located at the drop point…" msgstr "" #: src/faction_camp.cpp @@ -188424,7 +195729,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "While %s, a silent specter approaches %s..." +msgid "While %s, a silent specter approaches %s…" msgstr "" #: src/faction_camp.cpp @@ -188456,7 +195761,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "The bull moose charged %s from the tree line..." +msgid "The bull moose charged %s from the tree line…" msgstr "" #: src/faction_camp.cpp @@ -188475,12 +195780,12 @@ msgstr "" #, c-format msgid "" "Terrified, %s spun around and delivered a massive kick to the creature's " -"torso..." +"torso…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Collapsing into a pile of gore, %s walked away unscathed..." +msgid "Collapsing into a pile of gore, %s walked away unscathed…" msgstr "" #: src/faction_camp.cpp @@ -188491,7 +195796,7 @@ msgstr "" #, c-format msgid "" "%s turned to find the hideous black eyes of a giant wasp staring back from " -"only a few feet away..." +"only a few feet away…" msgstr "" #: src/faction_camp.cpp @@ -188504,7 +195809,7 @@ msgid "Pieces of %s were found strewn across a few bushes." msgstr "" #: src/faction_camp.cpp -msgid "(You wonder if your companions are fit to work on their own...)" +msgid "(You wonder if your companions are fit to work on their own…)" msgstr "" #: src/fungal_effects.cpp src/iuse.cpp @@ -188538,8 +195843,8 @@ msgid "Loading core data" msgstr "Alapadatok betöltése" #: src/game.cpp -msgid "Please wait while the world data loads..." -msgstr "Kérjük vár a világ adatainak betöltésére..." +msgid "Please wait while the world data loads…" +msgstr "" #: src/game.cpp src/start_location.cpp msgid "Please wait as we build your world" @@ -188575,8 +195880,8 @@ msgstr "Világ törlése" #: src/game.cpp #, c-format -msgid "World retained. Characters remaining:%s" -msgstr "A világ megmaradt, az alábbi karakterek élnek még benne: %s" +msgid "World retained. Characters remaining:%s" +msgstr "" #: src/game.cpp #, c-format @@ -188584,8 +195889,8 @@ msgid "The %s is dangerously close!" msgstr "" #: src/game.cpp -msgid "Wait till you wake up..." -msgstr "Várd meg az ébredést..." +msgid "Wait till you wake up…" +msgstr "" #: src/game.cpp #, c-format @@ -188760,8 +196065,8 @@ msgid "You are not wielding a ranged weapon." msgstr "Nincsen a kezedben távolra hordó fegyver." #: src/game.cpp -msgid "Watch the last moments of your life...?" -msgstr "Nézed az életed utolsó pillanatait...?" +msgid "Watch the last moments of your life…?" +msgstr "" #: src/game.cpp msgid "Loading files" @@ -188810,21 +196115,15 @@ msgid "Failed to save game data" msgstr "A játékállás adatait nem sikerült elmenteni" #: src/game.cpp -msgid " You are forgotten among the billions lost in the cataclysm..." +msgid " You are forgotten among the billions lost in the cataclysm…" msgstr "" -" A kataklizma több milliárd áldozatával együtt téged is " -"elfelejtettek..." #: src/game.cpp msgid "" " Locked in an endless battle, the Old Guard was forced to consolidate " "their resources in a handful of fortified bases along the coast. Without " -"the men or material to rebuild, the soldiers that remained lost all hope..." +"the men or material to rebuild, the soldiers that remained lost all hope…" msgstr "" -" A véget nem érő csatározás miatt a Régi Harcosok arra kényszerültek, " -"hogy az erőforrásaikat néhány partmenti bázisra összpontosítsák. Ellátmány " -"és emberek nélkül újjáépítésről szó sem lehetett , a maradék katonák az " -"összes reményüket feladták..." #: src/game.cpp msgid "" @@ -188834,28 +196133,16 @@ msgid "" "success. Forced to eventually consolidate to large bases, the Old Guard " "left these facilities in the hands of the few survivors that remained. As " "the years past, little materialized from the hopes of rebuilding " -"civilization..." +"civilization…" msgstr "" -" A kataklizmát túlélők állhatatossága lenyűgözte az egykoron dicső unió " -"toprongyos maradékait. A kis sikereken felbuzdulva számos kísérlet indult a" -" létesítmények visszafoglalására, ám azok korlátolt sikerrel jártak. Végül a" -" Régi Harcosok a nagyobb bázisokra vonultak vissza, a többi telephelyüket a " -"néhány fennmaradt túlélő rendelkezésére bocsátották. Az évek múlásával kevés" -" remény maradt a civilizáció újjáépítésére..." #: src/game.cpp msgid "" " Life in the refugee shelter deteriorated as food shortages and disease " "destroyed any hope of maintaining a civilized enclave. The merchants and " "craftsmen dispersed to found new colonies but most became victims of " -"marauding bandits. Those who survived never found a place to call home..." +"marauding bandits. Those who survived never found a place to call home…" msgstr "" -" A menekülteken befogadó óvóhelyen az életminőség egyre csak romlott, " -"ahogyan az állandó nélkülözés és a folyamatos betegségek tönkretettét azokat" -" a reményeket, amelyek egy civilizált enklávé fennmaradásával kecsegtettek. " -"A mesteremberek és a kereskedők új gyarmatok alapítását keresve széledtek " -"szanaszét, de legtöbbjük martalóc banditák áldozatává váltak. A túlélők " -"sosem jutottak olyan helyre, amelyet végül otthonuknak nevezhettek volna..." #: src/game.cpp msgid "" @@ -188863,13 +196150,8 @@ msgid "" "once profitable trade routes were plundered by bandits and thugs. In " "squalor and filth the first generations born after the cataclysm are told " "stories of the old days when food was abundant and the children were allowed" -" to play in the sun..." +" to play in the sun…" msgstr "" -" A Szabadkereskedők éveken át küzdöttek azért, hogy legalább nekik legyen" -" mit enniük, de az egykoron nyereséges kereskedelmi útvonalaikat banditák és" -" haramiák fosztogatták. A kataklizma utáni mocsokba és szennybe született " -"első generáció gyermekeinek hihetetlen meseként idézték fel azokat az " -"éveket, amikor volt elég étel, és a gyerekek a napsütésben játszhattak..." #: src/game.cpp msgid "" @@ -188903,12 +196185,8 @@ msgid "" " The lone bands of survivors who wandered the now alien world dwindled in" " number through the years. Unable to compete with the growing number of " "monstrosities that had adapted to live in their world, those who did survive" -" lived in dejected poverty and hopelessness..." +" lived in dejected poverty and hopelessness…" msgstr "" -" Az évek alatt egyre csak fogyatkozott a már idegen világban kóválygó " -"túlélők száma. Mivel nem voltak képesek szembeszállni a világukat immáron " -"sajátjuknak tekintő szörnyűségekkel, az életben maradtak kedveszegett " -"szegénységben és reménytelenségben tengették napjaikat." #: src/game.cpp msgid "" @@ -188917,14 +196195,8 @@ msgid "" "old world. Enormous hordes made cities impossible to enter while new " "eldritch horrors appeared mysteriously near old research labs. But on the " "fringes of where civilization once ended, bands of hunter-gatherers began to" -" adopt agrarian lifestyles in fortified enclaves..." +" adopt agrarian lifestyles in fortified enclaves…" msgstr "" -" A kataklizma után napokban felvirágozó guberálók később egyre nehezebben" -" találtak megjavítható berendezéseket az óvilágból. A hatalmas hordák miatt " -"lehetetlenné vált a városok megközelítése, a régi kutatóközpontok tájékán " -"pedig rejtélyesen újfajta szörnyűségek tűntek fel. A civilizáció egykori " -"szélének peremén azonban vadászó és gyűjtögető bandák jelentek meg, akik " -"megerősített enklávéjukból kezdték újra a mezőgazdaságot..." #: src/game.cpp msgid "" @@ -188950,15 +196222,8 @@ msgid "" "brought the warlords abundant territory and slaves but little in the way of " "stability. Within weeks, infighting led to civil war as tribes vied for " "leadership of the faction. When only one warlord finally secured control, " -"there was nothing left to fight for... just endless cities full of the dead." +"there was nothing left to fight for… just endless cities full of the dead." msgstr "" -" Kábítószerek és őrjöngő dühöngés hatása alatt a Pokol Angyalai foggal-" -"körömmel küzdöttek a Régi Gárda utolsó erődítményei ellen. A drágán adott " -"győzelem a haduraknak ugyan új területeket és rabszolgákat hozott, de " -"stabilitást nem. Heteken belül a belső viszályok polgárháborúhoz vezettek, " -"mivel a törzsek mind a frakció vezetéséért küzdöttek. Amikor már csak egy " -"hadúr maradt legfelül, akkor már nem volt semmi, amiért érdemes lett volna " -"harcolni... csak a halottakkal teli városok." #: src/game.cpp #, c-format @@ -189136,13 +196401,6 @@ msgid "" "increased by %s." msgstr "" -#: src/game.cpp -#, c-format -msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " -"anyway?" -msgstr "" - #: src/game.cpp msgid "Successfully removed Personality override." msgstr "" @@ -189285,8 +196543,8 @@ msgid "Never mind" msgstr "Mindegy" #: src/game.cpp src/npctalk.cpp -msgid "You may be attacked! Proceed?" -msgstr "Megtámadhatnak! Folytatod?" +msgid "You may be attacked! Proceed?" +msgstr "" #: src/game.cpp msgid "Examine where?" @@ -189472,12 +196730,12 @@ msgid "There's something there, but you can't see what it is." msgstr "" #: src/game.cpp -msgid "More items here..." +msgid "More items here…" msgstr "" #: src/game.cpp #, c-format -msgctxt "%s is the name of the item. %d is the quantity of that item." +msgctxt "%s is the name of the item. %d is the quantity of that item." msgid "%s [%d]" msgstr "" @@ -189803,8 +197061,8 @@ msgstr "" #: src/game.cpp #, c-format -msgid "You see %s nearby! Start butchering anyway?" -msgstr "A közelben van egy %s! Biztosan nekiállsz a mészárlásnak?" +msgid "You see %s nearby! Start butchering anyway?" +msgstr "" #: src/game.cpp msgid "Choose corpse to butcher / item to disassemble" @@ -189845,7 +197103,7 @@ msgstr "" #: src/game.cpp src/iuse.cpp src/iuse.cpp src/iuse.cpp src/veh_interact.cpp #: src/veh_interact.cpp #, c-format -msgid "%s helps with this task..." +msgid "%s helps with this task…" msgstr "" #: src/game.cpp @@ -189905,7 +197163,7 @@ msgstr "" msgid "The %s is already full!" msgstr "" -#: src/game.cpp +#: src/game.cpp src/ranged.cpp #, c-format msgid "You can't reload a %s!" msgstr "" @@ -189930,13 +197188,6 @@ msgstr "" msgid "You're not wielding anything." msgstr "" -#. ~ %1$s: weapon name, %2$s: holster name -#: src/game.cpp src/player.cpp -#, c-format -msgctxt "holster" -msgid "Draw %1$s from %2$s?" -msgstr "" - #: src/game.cpp #, c-format msgid "There's an angry red dot on your body, %s to brush it off." @@ -189959,11 +197210,9 @@ msgstr "vagy %s a szörny fehérlistára vételéhez" #: src/game.cpp #, c-format msgid "" -"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " +"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " "monster%4$s)" msgstr "" -"%1$s a láthatáron -- a biztonságos mód be van kapcsolva! (%2$s gombot a " -"kikapcsoláshoz, %3$s gombot a figyelmen kívül hagyáshoz %4$s)" #: src/game.cpp #, c-format @@ -190002,8 +197251,12 @@ msgstr "Biztosan belelépsz: %s?" msgid "Your %s refuses to move over that ledge!" msgstr "" -#: src/game.cpp src/player.cpp src/player.cpp -msgid "You let go of the grabbed object." +#: src/game.cpp +msgid "You can't fit there." +msgstr "" + +#: src/game.cpp +msgid "Your mount can't fit there." msgstr "" #: src/game.cpp @@ -190162,9 +197415,13 @@ msgid "" "There are vehicle controls here but you cannot reach them whilst mounted." msgstr "" +#: src/game.cpp +msgid "You are repelled by the barrier!" +msgstr "" + #: src/game.cpp msgid "" -"You try to quantum tunnel through the barrier but are reflected! Try again " +"You try to quantum tunnel through the barrier but are reflected! Try again " "with more energy!" msgstr "" @@ -190195,6 +197452,16 @@ msgstr "" msgid "There's stuff in the way." msgstr "" +#: src/game.cpp +#, c-format +msgid "The %s is really heavy!" +msgstr "" + +#: src/game.cpp +#, c-format +msgid "You fail to move the %s." +msgstr "" + #: src/game.cpp #, c-format msgid "The %s is too heavy for you to budge." @@ -190249,7 +197516,7 @@ msgstr "" #: src/game.cpp #, c-format -msgid "You try to use the stairs. Suddenly you are blocked by a %s!" +msgid "You try to use the stairs. Suddenly you are blocked by a %s!" msgstr "" #: src/game.cpp @@ -190346,7 +197613,7 @@ msgid "Halfway down, the way down becomes blocked off." msgstr "" #: src/game.cpp -msgid "There is a sheer drop halfway down. Web-descend?" +msgid "There is a sheer drop halfway down. Web-descend?" msgstr "" #: src/game.cpp @@ -190364,7 +197631,7 @@ msgid "There is a sheer drop halfway down. Use your vines to descend?" msgstr "" #: src/game.cpp -msgid "Detach a vine? It'll hurt, but you'll be able to climb back up..." +msgid "Detach a vine? It'll hurt, but you'll be able to climb back up…" msgstr "" #: src/game.cpp @@ -190381,11 +197648,11 @@ msgid "" msgstr "" #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your grappling hook down?" +msgid "There is a sheer drop halfway down. Climb your grappling hook down?" msgstr "" #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your rope down?" +msgid "There is a sheer drop halfway down. Climb your rope down?" msgstr "" #: src/game.cpp @@ -190447,7 +197714,7 @@ msgstr "" #: src/game.cpp #, c-format -msgid "The %s tried to push you back but failed! It attacks you!" +msgid "The %s tried to push you back but failed! It attacks you!" msgstr "" #: src/game.cpp @@ -190476,24 +197743,24 @@ msgstr "" #: src/game.cpp #, c-format msgid "" -"Whoa! Your terminal is tiny! This game requires a minimum terminal size of " -"%dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " +"Whoa! Your terminal is tiny! This game requires a minimum terminal size of" +" %dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " "help?" msgstr "" #: src/game.cpp #, c-format msgid "" -"Oh! Hey, look at that. Your terminal is just a little too narrow. This game " -"requires a minimum terminal size of %dx%d to function. It just won't work " -"with only %dx%d. Can you stretch it out sideways a bit?" +"Oh! Hey, look at that. Your terminal is just a little too narrow. This " +"game requires a minimum terminal size of %dx%d to function. It just won't " +"work with only %dx%d. Can you stretch it out sideways a bit?" msgstr "" #: src/game.cpp #, c-format msgid "" -"Woah, woah, we're just a little short on space here. The game requires a " -"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " +"Woah, woah, we're just a little short on space here. The game requires a " +"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " "make the terminal just a smidgen taller?" msgstr "" @@ -190578,7 +197845,7 @@ msgid "You feel thirsty." msgstr "" #: src/game.cpp -msgid "You feel an evil presence..." +msgid "You feel an evil presence…" msgstr "" #: src/game.cpp @@ -190594,7 +197861,7 @@ msgid "You feel your genetic makeup degrading." msgstr "" #: src/game.cpp -msgid "You feel an otherworldly attention upon you..." +msgid "You feel an otherworldly attention upon you…" msgstr "" #: src/game.cpp @@ -190639,8 +197906,8 @@ msgstr "Érz %s%d! " #: src/game.cpp #, c-format -msgid "Speed %s%d! " -msgstr "Sebsg %s%d! " +msgid "Speed %s%d!" +msgstr "" #: src/game_inventory.cpp msgid "You don't have the necessary item at hand." @@ -190771,6 +198038,16 @@ msgstr "örökké" msgid "SHELF LIFE" msgstr "MINŐSÉGÉT MEGŐRZI" +#. ~ Eat menu Volume: +#: src/game_inventory.cpp +#, c-format +msgid "%.2f%s" +msgstr "" + +#: src/game_inventory.cpp +msgid "VOLUME" +msgstr "" + #: src/game_inventory.cpp msgid "FRESHNESS" msgstr "FRISSESSÉG" @@ -190779,10 +198056,6 @@ msgstr "FRISSESSÉG" msgid "SPOILS IN" msgstr "MEGROMLIK" -#: src/game_inventory.cpp -msgid "Battery" -msgstr "Elem" - #: src/game_inventory.cpp msgid "Reactor" msgstr "Reaktor" @@ -190807,10 +198080,6 @@ msgstr "Kiömlött folyadékot nem lehet meginni" msgid "Your biology is not compatible with that item." msgstr "" -#: src/game_inventory.cpp -msgid "You're fully charged" -msgstr "Teljesen fel vagy töltve" - #: src/game_inventory.cpp #, c-format msgid "No space to store more %s" @@ -190850,15 +198119,15 @@ msgstr "rohadt" #: src/game_inventory.cpp src/panels.cpp msgid "Food :" -msgstr "" +msgstr "Étel :" #: src/game_inventory.cpp src/panels.cpp msgid "Drink:" -msgstr "" +msgstr "Ital :" #: src/game_inventory.cpp src/panels.cpp msgid "Pain :" -msgstr "" +msgstr "Fájd.:" #: src/game_inventory.cpp msgid "Consume item" @@ -190870,27 +198139,27 @@ msgstr "Nincs semmid, amit el tudnál fogyasztani" #: src/game_inventory.cpp msgid "Consume food" -msgstr "" +msgstr "Étel elfogyasztása" #: src/game_inventory.cpp msgid "You have no food to consume." -msgstr "" +msgstr "Nincs ételed, amit el tudnál fogyasztani" #: src/game_inventory.cpp msgid "Consume drink" -msgstr "" +msgstr "Ital elfogyasztása" #: src/game_inventory.cpp msgid "You have no drink to consume." -msgstr "" +msgstr "Nincs italod, amit el tudnál fogyasztani" #: src/game_inventory.cpp msgid "Consume medication" -msgstr "" +msgstr "Orvosság elfogyasztása" #: src/game_inventory.cpp msgid "You have no medication to consume." -msgstr "" +msgstr "Nincs orvosságod, amit el tudnál fogyasztani" #: src/game_inventory.cpp msgid "ACTION" @@ -190926,7 +198195,7 @@ msgstr "SÉRÜLÉS ESÉLYE" #: src/game_inventory.cpp #, c-format msgid "requires at least %s" -msgstr "" +msgstr "legalább ennyi szükséges: %s " #: src/game_inventory.cpp msgid "is too difficult for you to modify" @@ -190953,11 +198222,11 @@ msgstr "harcművészetek" #, c-format msgctxt "skill" msgid "%1$s to %2$d (%3$d)" -msgstr "" +msgstr "%1$s %2$d. szintre (%3$d)" #: src/game_inventory.cpp msgid "TRAINS (CURRENT)" -msgstr "" +msgstr "SZINTRE TANÍT (JELENLEG)" #: src/game_inventory.cpp msgid "RECIPES" @@ -190993,7 +198262,7 @@ msgstr "%s leltárja üres" #: src/game_inventory.cpp msgctxt "Shot as damage" msgid "SHOT" -msgstr "LÖVÉS" +msgstr "SÖRÉT" #: src/game_inventory.cpp msgid "STAB" @@ -191087,8 +198356,8 @@ msgstr "Nincsenek összehasonlítható tárgyak." #: src/game_inventory.cpp msgid "" -"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE to" -" cancel." +"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE " +"to cancel." msgstr "" #: src/game_inventory.cpp @@ -191101,164 +198370,171 @@ msgstr "" msgid "" "Patient has Deadened nerves. Anesthesia unneeded." msgstr "" +"A páciens idegrendszere elhalt. Az altatás felesleges." #: src/game_inventory.cpp msgid "" "Patient has Sensory Dulling CBM installed. Anesthesia " "unneeded." msgstr "" +"A pánciensbe Érzékcsillapító KBM-et telepítettek. Az altatás " +"felesleges." #: src/game_inventory.cpp #, c-format msgid "Available kit: %i" -msgstr "" +msgstr "Rendelkezésre álló készlet: %i" #: src/game_inventory.cpp #, c-format msgid "Available anesthetic: %i mL" -msgstr "" - -#: src/game_inventory.cpp -#, c-format -msgid "Money available: %s" -msgstr "" +msgstr "Rendelkezésre álló altató: %i mL" #: src/game_inventory.cpp #, c-format msgid "Bionic removal patient: %s" -msgstr "" +msgstr "Bionika eltávolításhoz páciens: %s" #: src/game_inventory.cpp #, c-format msgid "Bionic installation patient: %s" -msgstr "" +msgstr "Bionika beültetéséhez páciens: %s" #: src/game_inventory.cpp msgid "You don't have any bionics to install." -msgstr "" +msgstr "Nincsen semmiféle beépíthető bionikád." #: src/game_inventory.cpp msgid "FAILURE CHANCE" -msgstr "" +msgstr "KUDARC ESÉLYE" #: src/game_inventory.cpp msgid "OPERATION DURATION" -msgstr "" +msgstr "OPERÁCIÓ IDŐTARTAMA" #: src/game_inventory.cpp msgid "ANESTHETIC REQUIRED" -msgstr "" +msgstr "ALTATÓSZER SZÜKSÉGES" #: src/game_inventory.cpp msgid "/!\\ CBM is highly contaminated. /!\\" -msgstr "" +msgstr "/!\\ A KBM erősen szennyezett /!\\" #: src/game_inventory.cpp msgid "/!\\ CBM is not sterile. /!\\" -msgstr "" +msgstr "/!\\ A KBM nem steril /!\\" #: src/game_inventory.cpp msgid "CBM already deployed. Please reset to factory state." msgstr "" +"A KBM-et már aktiválták. Kérjük állítsa vissza az eredeti gyári állapotra." #: src/game_inventory.cpp msgid "CBM already installed" -msgstr "" +msgstr "Ilyen KBM már telepítve van" #: src/game_inventory.cpp msgid "CBM not compatible with patient's body." -msgstr "" +msgstr "A KBM nem kompatibilis a páciens testével" #: src/game_inventory.cpp msgid "No base version installed" -msgstr "" +msgstr "Nincsen az alapverzió telepítve" #: src/game_inventory.cpp msgid "Superior version installed" -msgstr "" +msgstr "Már egy jobb verzió van beépítve" #: src/game_inventory.cpp msgid "CBM not compatible with patient" -msgstr "" +msgstr "A KBM nem kompatibilis a pácienssel" #: src/game_inventory.cpp src/iuse_actor.cpp msgid "Max power capacity already reached" -msgstr "" +msgstr "Elérte a maximális energiakapacitást" #: src/game_inventory.cpp #, c-format msgid "%i mL" -msgstr "" +msgstr "%i mL" #: src/game_inventory.cpp #, c-format msgid "%i%%" -msgstr "" +msgstr "%i%%" #: src/game_inventory.cpp msgid "kit available" -msgstr "" +msgstr "készlet érhető el" #: src/game_inventory.cpp msgid "PRICE" -msgstr "" +msgstr "ÁR" #: src/game_inventory.cpp msgid "CBM is filthy." -msgstr "" +msgstr "A KBM koszos." #: src/game_inventory.cpp msgid "CBM is not sterile." -msgstr "" +msgstr "A KBM nem steril." #: src/game_inventory.cpp msgid "CBM is already deployed." -msgstr "" +msgstr "A KBM-et már aktiválták." #: src/game_inventory.cpp msgid "CBM is already installed." -msgstr "" +msgstr "Ilyen KBM már telepítve van." #: src/game_inventory.cpp msgid "No base version installed." -msgstr "" +msgstr "Nincsen az alapverzió telepítve." #: src/game_inventory.cpp msgid "Superior version installed." -msgstr "" +msgstr "Már egy jobb verzió van beépítve." #: src/game_inventory.cpp msgid "CBM is not compatible with patient." -msgstr "" +msgstr "A KBM nem kompatibilis a pácienssel." #: src/game_inventory.cpp msgid "CYCLE DURATION" -msgstr "" +msgstr "CIKLUS IDŐTARTAMA" #: src/game_inventory.cpp msgctxt "volume of water" msgid "2 L" -msgstr "" +msgstr "2 L" #: src/game_inventory.cpp msgid "WATER REQUIRED" -msgstr "" +msgstr "VÍZRE VAN SZÜKSÉG" #: src/game_inventory.cpp msgid "CBM is filthy. Wash it first." +msgstr "A KBM koszos. Mosd le." + +#: src/game_inventory.cpp +msgid "You should put this CBM in an autoclave pouch to keep it sterile." msgstr "" #: src/game_inventory.cpp -msgid "Sterilization" +msgid "You need at least 2L of water." msgstr "" +#: src/game_inventory.cpp +msgid "Sterilization" +msgstr "Sterilizálás" + #: src/game_inventory.cpp msgid "Select one CBM to sterilize" -msgstr "" +msgstr "Válaszd ki a sterilizálandó KBM-et" #: src/game_inventory.cpp msgid "You don't have any CBM to sterilize." -msgstr "" +msgstr "Nincsen sterilizálható KBM-ed." #: src/gamemode.cpp msgid "Tutorial" @@ -191360,8 +198636,8 @@ msgstr "A(z) %s beleütközik a(z) %sba." #: src/handle_action.cpp #, c-format -msgid "Press %s to accept your fate..." -msgstr "Nyomd meg a(z) %s gombot és barátkozz meg a sorsoddal..." +msgid "Press %s to accept your fate…" +msgstr "" #: src/handle_action.cpp msgid "No radio car connected." @@ -191373,17 +198649,16 @@ msgstr "akadállyal ütközés hangja." #. ~ Sound of moving a remote controlled car #: src/handle_action.cpp -msgid "zzz..." -msgstr "zzz..." +msgid "zzz…" +msgstr "" #: src/handle_action.cpp -msgid "You can't drive the vehicle from here. You need controls!" -msgstr "Innen nem lehet a járművet vezetni, kezelőszervek szükségesek!" +msgid "You can't drive the vehicle from here. You need controls!" +msgstr "" #: src/handle_action.cpp -msgid "Can't drive this vehicle remotely. It has no working controls." +msgid "Can't drive this vehicle remotely. It has no working controls." msgstr "" -"Ezt a járművet nem lehet távirányítani, nincsenek működőképes kezelőszervei." #: src/handle_action.cpp msgid "Open where?" @@ -191491,11 +198766,11 @@ msgid "There's nothing there to smash!" msgstr "Ott semmit sem lehet szétzúzni!" #: src/handle_action.cpp -msgid "You already have an alarm set. What do you want to do?" +msgid "You already have an alarm set. What do you want to do?" msgstr "" #: src/handle_action.cpp -msgid "You have an alarm clock. What do you want to do?" +msgid "You have an alarm clock. What do you want to do?" msgstr "" #: src/handle_action.cpp @@ -191618,15 +198893,13 @@ msgstr "Ezeket talán nem ártana alvás előtt kikapcsolni." #: src/handle_action.cpp msgid "" -"You're engorged to hibernate. The alarm would only attract attention. Set an" -" alarm anyway?" +"You're engorged to hibernate. The alarm would only attract attention. Set " +"an alarm anyway?" msgstr "" -"A hibernáláshoz telezabáltad magadat. Az ébresztő csak feleslegesen hívná " -"fel rád a figyelmet. Beállítod az ébresztőt?" #: src/handle_action.cpp -msgid "You have an alarm clock. Set an alarm?" -msgstr "Van nálad egy ébresztőóra. Beállítasz ébresztést?" +msgid "You have an alarm clock. Set an alarm?" +msgstr "" #: src/handle_action.cpp msgid "No, don't set an alarm." @@ -191657,7 +198930,7 @@ msgstr "" #: src/handle_action.cpp msgid "" "Sorts out the loot from Loot: Unsorted zone to nearby appropriate Loot " -"zones. Uses empty space in your inventory or utilizes a cart, if you are " +"zones. Uses empty space in your inventory or utilizes a cart, if you are " "holding one." msgstr "" @@ -191666,39 +198939,37 @@ msgid "Till farm plots" msgstr "Mező szántása" #: src/handle_action.cpp -msgid "Till farm plots... you need a tool to dig with" -msgstr "A mező szántásához kell egy ásószerszám." +msgid "Till farm plots… you need a tool to dig with" +msgstr "" #: src/handle_action.cpp msgid "Tills nearby Farm: Plot zones." msgstr "Felszántja a közeli farm mező zónáit." #: src/handle_action.cpp -msgid "Plant seeds... it is too cold for planting" -msgstr "A vetőmag elültetéséhez túl hideg van." +msgid "Plant seeds… it is too cold for planting" +msgstr "" #: src/handle_action.cpp msgid "Plant seeds" msgstr "Vetőmag elültetése" #: src/handle_action.cpp -msgid "Plant seeds... you don't have any" -msgstr "A vetőmag elültetéséhez nincs nálad vetőmag" +msgid "Plant seeds… you don't have any" +msgstr "" #: src/handle_action.cpp msgid "" -"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " +"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " "specific plant seed and you must have seeds in your inventory." msgstr "" -"Vetőmag elültetése a közeli farm mező zónáiba. A mezőt az adott növény " -"vetőmagjára kell állítani, és a vetőmagoknak a leltárodban kell lenniük." #: src/handle_action.cpp msgid "Fertilize plots" msgstr "" #: src/handle_action.cpp -msgid "Fertilize plots... you don't have any fertilizer" +msgid "Fertilize plots… you don't have any fertilizer" msgstr "" #: src/handle_action.cpp @@ -191990,6 +199261,10 @@ msgstr "az alapértelmezett új billentyű '^'" msgid "You can't operate a vehicle while you're in your shell." msgstr "A kagylódba bújva nem tudsz járművet vezetni." +#: src/handle_action.cpp +msgid "You refuse to take control of this vehicle." +msgstr "" + #: src/handle_action.cpp msgid "Auto travel mode OFF!" msgstr "" @@ -192003,8 +199278,8 @@ msgid "Safe mode OFF!" msgstr "Biztonságos mód KI!" #: src/handle_action.cpp -msgid "Safe mode OFF! (Auto safe mode still enabled!)" -msgstr "Biztonságos mód KI! (Auto. biztonságos mód még be van kapcsolva!)" +msgid "Safe mode OFF! (Auto safe mode still enabled!)" +msgstr "" #: src/handle_action.cpp msgid "Auto safe mode OFF!" @@ -192226,11 +199501,9 @@ msgstr "" #: src/iexamine.cpp #, c-format msgid "" -"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" +"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" "Your current balance is: %s" msgstr "" -"Üdvözli Önt a C.C.B.o.t.T. pénzautomatája. Mit kíván tenni?\n" -"Az Ön egyenlege: %s" #: src/iexamine.cpp msgid "Purchase cash card?" @@ -192282,10 +199555,9 @@ msgid "Your account now holds %s." msgstr "Az Ön egyenlege %s." #: src/iexamine.cpp -msgid "This will automatically deduct $1.00 from your bank account. Continue?" +msgid "" +"This will automatically deduct $1.00 from your bank account. Continue?" msgstr "" -"Ez $1.00 összeg automatikus levonását kezdeményezi az Ön bankszámlájáról. " -"Folytatja?" #: src/iexamine.cpp msgid "You can only deposit money from charged cash cards!" @@ -192295,8 +199567,8 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "Deposit how much? Max: %d cent. (0 to cancel) " -msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " +msgid "Deposit how much? Max: %d cent. (0 to cancel) " +msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " msgstr[0] "" msgstr[1] "" @@ -192306,8 +199578,8 @@ msgstr "A pénzfelvételhez szükséges egy bankkártya!" #: src/iexamine.cpp #, c-format -msgid "Withdraw how much? Max: %d cent. (0 to cancel) " -msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " +msgid "Withdraw how much? Max: %d cent. (0 to cancel) " +msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " msgstr[0] "" msgstr[1] "" @@ -192403,8 +199675,8 @@ msgid "No one responds." msgstr "" #: src/iexamine.cpp -msgid "If only you had a shovel..." -msgstr "Bárcsak lenne egy ásód..." +msgid "If only you had a shovel…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -192506,15 +199778,15 @@ msgid "Insert $10?" msgstr "" #: src/iexamine.cpp -msgid "Three cherries... you get your money back!" +msgid "Three cherries… you get your money back!" msgstr "" #: src/iexamine.cpp -msgid "Three bells... you win $50!" +msgid "Three bells… you win $50!" msgstr "" #: src/iexamine.cpp -msgid "Three stars... you win $200!" +msgid "Three stars… you win $200!" msgstr "" #: src/iexamine.cpp @@ -192530,8 +199802,8 @@ msgid "Play again?" msgstr "" #: src/iexamine.cpp -msgid "You mess with the dial for a little bit... and it opens!" -msgstr "Piszkálod egy kicsit a tárcsát... és kinyílik!" +msgid "You mess with the dial for a little bit… and it opens!" +msgstr "" #: src/iexamine.cpp msgid "You mess with the dial for a little bit." @@ -192570,13 +199842,24 @@ msgid "The gun safe stumps your efforts to pick it." msgstr "A fegyverszéf ellenáll a piszkálásodnak." #: src/iexamine.cpp -msgid "If only you had something to pry with..." -msgstr "Bárcsak lenne nálad valami, amivel feszegetni lehetne..." +#, c-format +msgid "The %s is locked. If only you had something to pry it with…" +msgstr "" #. ~ %1$s: terrain/furniture name, %2$s: prying tool name #: src/iexamine.cpp #, c-format -msgid "You attempt to pry open the %1$s using your %2$s..." +msgid "You attempt to pry open the %1$s using your %2$s…" +msgstr "Megpróbálod felfeszíteni a(z) %1$st a(z) %2$s segítségével..." + +#: src/iexamine.cpp +#, c-format +msgid "The %s is locked. If only you had something to pick its lock with…" +msgstr "" + +#: src/iexamine.cpp +#, c-format +msgid "You attempt to pick lock of %1$s using your %2$s…" msgstr "" #: src/iexamine.cpp @@ -192591,11 +199874,11 @@ msgid "" msgstr "" #: src/iexamine.cpp -msgid "The pedestal sinks into the ground..." +msgid "The pedestal sinks into the ground…" msgstr "" #: src/iexamine.cpp -msgid "an ominous grinding noise..." +msgid "an ominous grinding noise…" msgstr "" #: src/iexamine.cpp @@ -192642,11 +199925,11 @@ msgid "You hear the rumble of rock shifting." msgstr "" #: src/iexamine.cpp -msgid "This flower is dead. You can't get it." +msgid "This flower is dead. You can't get it." msgstr "" #: src/iexamine.cpp -msgid "This plant is dead. You can't get it." +msgid "This plant is dead. You can't get it." msgstr "" #: src/iexamine.cpp @@ -192682,7 +199965,7 @@ msgid "This flower has a heady aroma." msgstr "" #: src/iexamine.cpp -msgid "You fall asleep..." +msgid "You fall asleep…" msgstr "" #: src/iexamine.cpp @@ -192695,7 +199978,7 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" +msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" msgstr "" #: src/iexamine.cpp @@ -192711,7 +199994,7 @@ msgid "Nothing can be harvested from this plant in current season" msgstr "Ebben az évszakban ebből a növényből semmit sem lehet szedni." #: src/iexamine.cpp -msgid "This flower is still alive, despite the harsh conditions..." +msgid "This flower is still alive, despite the harsh conditions…" msgstr "" #: src/iexamine.cpp @@ -192720,7 +200003,7 @@ msgid "You feel out of place as you explore the %s. Drink?" msgstr "" #: src/iexamine.cpp -msgid "This flower tastes very wrong..." +msgid "This flower tastes very wrong…" msgstr "" #: src/iexamine.cpp @@ -192762,7 +200045,7 @@ msgid "You have no seeds to plant." msgstr "" #: src/iexamine.cpp -msgid "Something's lying there..." +msgid "Something's lying there…" msgstr "" #: src/iexamine.cpp src/mission_companion.cpp @@ -192780,7 +200063,7 @@ msgid "The seed blooms forth! We have brought true beauty to this world." msgstr "" #: src/iexamine.cpp -msgid "The seed blossoms rather rapidly..." +msgid "The seed blossoms rather rapidly…" msgstr "" #: src/iexamine.cpp @@ -192839,7 +200122,7 @@ msgid "This kiln contains %s, which can't be made into charcoal!" msgstr "" #: src/iexamine.cpp -msgid "This kiln is empty. Fill it with wood or bone and try again." +msgid "This kiln is empty. Fill it with wood or bone and try again." msgstr "" #: src/iexamine.cpp @@ -192864,7 +200147,7 @@ msgid "You fire the charcoal kiln." msgstr "" #: src/iexamine.cpp -msgid "This kiln is empty..." +msgid "This kiln is empty…" msgstr "" #: src/iexamine.cpp @@ -192885,7 +200168,7 @@ msgstr "" #: src/iexamine.cpp #, c-format msgid "It should take about %d minutes to finish burning." -msgstr "" +msgstr "Az égetés befejezéséhez még nagyjából %d perc szükséges." #: src/iexamine.cpp #, c-format @@ -192907,7 +200190,7 @@ msgstr "" #: src/iexamine.cpp msgid "" -"This furance is empty. Fill it with powdered coke and lime mix, and try " +"This furance is empty. Fill it with powdered coke and lime mix, and try " "again." msgstr "" @@ -192936,7 +200219,7 @@ msgid "You turn on the furnace." msgstr "" #: src/iexamine.cpp -msgid "This furnace is empty..." +msgid "This furnace is empty…" msgstr "" #: src/iexamine.cpp @@ -192949,7 +200232,7 @@ msgid "It has finished burning, yielding %d calcium carbide." msgstr "" #: src/iexamine.cpp -msgid "This autoclave is empty..." +msgid "This autoclave is empty…" msgstr "" #: src/iexamine.cpp @@ -192957,47 +200240,52 @@ msgid "" "You need to remove all non-CBM items from the autoclave to start the " "program." msgstr "" +"Az autóklávéból el kell távolítani az összes, KBM-nek nem tekinthető " +"tárgyat, mielőtt a programot el lehet indítani." #: src/iexamine.cpp msgid "" "Some of those CBMs are filthy, you should wash them first for the " "sterilization process to work properly." msgstr "" +"A KBM-ek egy része koszos, a sterilizálási folyamat előtt először le " +"öblíteni." #: src/iexamine.cpp src/iuse.cpp msgid "Start the autoclave?" -msgstr "" +msgstr "Beindítod az autóklávét?" #: src/iexamine.cpp msgid "You start the autoclave." -msgstr "" +msgstr "Beindítod az autóklávét." #: src/iexamine.cpp msgid "ERROR Autoclave can't process non CBM items." msgstr "" +"HIBA --- az autóklávé nem tudja feldolgozni a KBM-nek nem számító tárgyakat." #: src/iexamine.cpp msgid "The autoclave is running." -msgstr "" +msgstr "Az autóklávé üzemel." #: src/iexamine.cpp #, c-format msgid "The cycle will be complete in %s." -msgstr "" +msgstr "A ciklus vége: %s." #: src/iexamine.cpp msgid "The cycle is complete, the CBMs are now sterile." -msgstr "" +msgstr "A ciklusnak vége, a KBM-ek sterilek." #: src/iexamine.cpp msgid "" "CBMs in direct contact with the environment will almost immediately become " "contaminated." -msgstr "" +msgstr "A környezetnek közvetlenül kitett KBM-ek azonnal beszennyeződnek." #: src/iexamine.cpp src/iexamine.cpp src/vehicle_use.cpp msgid "Select an action" -msgstr "" +msgstr "Válassz lehetőséget" #: src/iexamine.cpp src/vehicle_use.cpp msgid "Get items" @@ -193005,23 +200293,23 @@ msgstr "Tárgy felszedése" #: src/iexamine.cpp msgid "Start a fire" -msgstr "" +msgstr "Tűzgyújtás" #: src/iexamine.cpp -msgid "Start a fire... you'll need a fire source." +msgid "Start a fire… you'll need a fire source." msgstr "" #: src/iexamine.cpp msgid "Use a CBM to start a fire" -msgstr "" +msgstr "Tűzgyújtás egy KBM segítségével" #: src/iexamine.cpp msgid "Extinguish fire" -msgstr "" +msgstr "Tűzoltás" #: src/iexamine.cpp msgid "Extinguish fire (bashing item required)" -msgstr "" +msgstr "Tűzoltás (zúzó tárgyra van szükség)" #: src/iexamine.cpp #, c-format @@ -193030,13 +200318,17 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "You attempt to start a fire with your %s..." -msgstr "" +msgid "You attempt to start a fire with your %s…" +msgstr "Megpróbálsz a(z) %s segítségével tüzet gyújtani..." #: src/iexamine.cpp msgid "You weren't able to start a fire." msgstr "" +#: src/iexamine.cpp +msgid "You can't light a fire there." +msgstr "Ott nem lehet tüzet gyújtani." + #: src/iexamine.cpp #, c-format msgid "Really take down the %s while it's on fire?" @@ -193209,12 +200501,12 @@ msgid "The %s is full." msgstr "" #: src/iexamine.cpp -msgid "You have no tool to dig with..." +msgid "You have no tool to dig with…" msgstr "" #: src/iexamine.cpp #, c-format -msgid "Dig up %s? This kills the tree!" +msgid "Dig up %s? This kills the tree!" msgstr "" #: src/iexamine.cpp @@ -193236,7 +200528,7 @@ msgid "You need a %s to tap this maple tree." msgstr "" #: src/iexamine.cpp -msgid "No container added. The sap will just spill on the ground." +msgid "No container added. The sap will just spill on the ground." msgstr "" #: src/iexamine.cpp @@ -193370,12 +200662,12 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "That %s looks too dangerous to mess with. Best leave it alone." +msgid "That %s looks too dangerous to mess with. Best leave it alone." msgstr "" #: src/iexamine.cpp #, c-format -msgid "There is a %s there. Take down?" +msgid "There is a %s there. Take down?" msgstr "" #: src/iexamine.cpp @@ -193484,11 +200776,11 @@ msgid "You're illiterate, and can't read the screen." msgstr "" #: src/iexamine.cpp -msgid "Failure! No gas pumps found!" +msgid "Failure! No gas pumps found!" msgstr "" #: src/iexamine.cpp -msgid "Failure! No gas tank found!" +msgid "Failure! No gas tank found!" msgstr "" #: src/iexamine.cpp @@ -193545,7 +200837,7 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel) " +msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel)" msgstr "" #: src/iexamine.cpp @@ -193612,27 +200904,27 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "Looks like %d story. Jump down?" -msgid_plural "Looks like %d stories. Jump down?" +msgid "Looks like %d story. Jump down?" +msgid_plural "Looks like %d stories. Jump down?" msgstr[0] "" msgstr[1] "" #: src/iexamine.cpp -msgid "You probably won't be able to get up and jumping down may hurt. Jump?" +msgid "You probably won't be able to get up and jumping down may hurt. Jump?" msgstr "" #: src/iexamine.cpp -msgid "You probably won't be able to get back up. Climb down?" +msgid "You probably won't be able to get back up. Climb down?" msgstr "" #: src/iexamine.cpp msgid "" -"You should be able to climb back up easily if you climb down there. Climb " +"You should be able to climb back up easily if you climb down there. Climb " "down?" msgstr "" #: src/iexamine.cpp -msgid "You may have problems climbing back up. Climb down?" +msgid "You may have problems climbing back up. Climb down?" msgstr "" #: src/iexamine.cpp @@ -193660,12 +200952,12 @@ msgstr "Nem található csatlakoztatott fotel. A műtét lehetetlen. Kilépés." #: src/iexamine.cpp msgid "Patient is dead. Please remove corpse to proceed. Exiting." -msgstr "" +msgstr "A páciens exitált. A folytatáshoz távolítsa el a holttestet. Kilépés." #: src/iexamine.cpp msgid "" -"ERROR Bionic Level Assessement : FULL CYBORG. Autodoc Mk. XI can't " -"opperate. Please move patient to appropriate facility. Exiting." +"ERROR Bionic Level Assessement: FULL CYBORG. Autodoc Mk. XI can't opperate." +" Please move patient to appropriate facility. Exiting." msgstr "" #: src/iexamine.cpp @@ -193683,15 +200975,15 @@ msgstr "Válaszd ki, hogy melyik implantált bionikát szeretnéd kiszedni." #: src/iexamine.cpp msgid "ERROR NO SPACE AVAILABLE. Operation impossible. Exiting." -msgstr "" +msgstr "HIBA --- NINCSEN ELÉG HELY. A műtét lehetetlen. Kilépés." #: src/iexamine.cpp msgid "Personality_Override" -msgstr "" +msgstr "Személyiség_Felülírás" #: src/iexamine.cpp msgid "C0RR#PTED?D#TA" -msgstr "" +msgstr "AD#TKOR?UPC#O" #: src/iexamine.cpp msgid "Choose bionic to uninstall" @@ -193699,7 +200991,7 @@ msgstr "Válaszd ki, hogy melyik bionikát szeretnéd kiszedni." #: src/iexamine.cpp msgid "UNKNOWN COMMAND. Autodoc Mk. XI. Crashed." -msgstr "" +msgstr "ISMERETLEN PARANCS. A XI. típusú robotdoki összeomlott." #: src/iexamine.cpp msgid "" @@ -193715,27 +201007,30 @@ msgid "" "Operation underway. Please wait until the end of the current procedure. " "Estimated time remaining: %s." msgstr "" +"Folyamatban lévő műtét. Kérjük várja meg a műtéti beavatkozás végét. A " +"hátralevő idő csupán %s." #: src/iexamine.cpp #, c-format msgid "The autodoc is working on %s." -msgstr "" +msgstr "Az autódoki %s testén dolgozik." #: src/iexamine.cpp msgid "Autodoc Mk. XI. Status: Online. Please choose operation" -msgstr "" +msgstr "XI. típusú robotdoki. Státusz: Online. Kérem válasszon műtétet" #: src/iexamine.cpp msgid "Choose Compact Bionic Module to install" msgstr "" +"Válassza ki, hogy melyik kompakt bionikus modul kerüljön implantálásra." #: src/iexamine.cpp msgid "Choose installed bionic to uninstall" -msgstr "" +msgstr "Válassza ki, hogy melyik implantált bionikát szeretnée kiszedni" #: src/iexamine.cpp msgid "Splint broken limbs" -msgstr "" +msgstr "Törött végtagok sínbe rakása" #: src/iexamine.cpp msgid "You don't have any bionics installed." @@ -193743,7 +201038,7 @@ msgstr "Nincsen beépített bionikád." #: src/iexamine.cpp msgid " doesn't have any bionics installed." -msgstr "" +msgstr " testében nincsen beépített bionika." #: src/iexamine.cpp #, c-format @@ -193753,450 +201048,476 @@ msgstr "A gép gyorsan a helyére rakja és sínbe rögzíti az eltört %set." #: src/iexamine.cpp #, c-format msgid "The machine rapidly sets and splints 's broken %s." -msgstr "" +msgstr "A gép gyorsan a helyére rakja és sínbe rögzíti eltört %s-t." #: src/iexamine.cpp msgid "You have no limbs that require splinting." -msgstr "" +msgstr "Nincsen olyan sérült testrészed, amit sínbe kellene tenni." #: src/iexamine.cpp msgid " doesn't have limbs that require splinting." -msgstr "" +msgstr " testében nincsen olyan sérülés, amit sínbe kellene tenni." #: src/iexamine.cpp msgid "This mill already contains flour." -msgstr "" +msgstr "Ebben a malomban már van liszt." #: src/iexamine.cpp msgid "Remove it before starting the mill again." -msgstr "" +msgstr "Az őrölés megkezdése előtt el kell távolítani." #: src/iexamine.cpp #, c-format msgid "This rack contains %s, which can't be milled!" -msgstr "" +msgstr "Ebben %s van, amit nem lehet őrölni!" #: src/iexamine.cpp #, c-format msgid "You remove the %s from the mill." -msgstr "" +msgstr "Az őrlőmalomból kiveszed a(z) %set." #: src/iexamine.cpp msgid "" "This mill is empty. Fill it with starchy products such as wheat, barley or " "oats and try again." msgstr "" +"Az őrlőmalom üres. Töltsd fel keményítő tartalmú terményekkel, például " +"búzával, árpával vagy zabbal, és próbáld meg újra." #: src/iexamine.cpp msgid "" "This mill is overloaded with products, and the millstone can't turn. Remove" " some and try again." msgstr "" +"Ebbe az őrlőmalomba túl sok mindent tettek, és ezért nem lehet vele őrölni. " +"Szedj ki egy pár dolgot és próbáld újra." #: src/iexamine.cpp #, c-format msgctxt "volume units" msgid "You think that you can load about %s %s in it." -msgstr "" +msgstr "Szerinted nagyjából %s %st lehet beletenni." #: src/iexamine.cpp msgid "You remove the brake on the millstone and it slowly starts to turn." -msgstr "" +msgstr "Az őrlőkőről eltávolítod a féket, és az lassan el kezd forogni." #: src/iexamine.cpp msgid "This rack already contains smoked food." -msgstr "" +msgstr "Ezen az állványon már füstölt étel található." #: src/iexamine.cpp msgid "Remove it before firing the smoking rack again." -msgstr "" +msgstr "A füstölés megkezdése előtt el kell távolítani." #: src/iexamine.cpp #, c-format msgid "This rack contains %s, which can't be smoked!" -msgstr "" +msgstr "Ebben %s van, amit nem lehet füstölni!" #: src/iexamine.cpp #, c-format msgid "You remove %s from the rack." -msgstr "" +msgstr "A(z) %st leveszed a füstölőállványról." #: src/iexamine.cpp msgid "" "This rack has some smoked food that might be dehydrated by smoking it again." msgstr "" +"Ezen a füstölőállványon olyan füstölt étel van, amit újbóli füstöléssel ki " +"lehetne szárítani." #: src/iexamine.cpp msgid "" "This rack is empty. Fill it with raw meat, fish or sausages and try again." msgstr "" +"A füstölőállvány üres. Töltsd fel nyers hússal, hallal vagy kolbásszal, és " +"próbáld meg újra." #: src/iexamine.cpp msgid "There is no charcoal in the rack." -msgstr "" +msgstr "A füstölőben nincsen faszén." #: src/iexamine.cpp msgid "" "This rack is overloaded with food, and it blocks the flow of smoke. Remove " "some and try again." msgstr "" +"A füstölőben túl sok minden van, és ezért a füst nem áramlik jól. Szedj ki " +"egy pár dolgot, és próbáld újra." #: src/iexamine.cpp #, c-format msgid "You think that you can load about %s %s in it." -msgstr "" +msgstr "Szerinted nagyjából %s %st lehet beletenni." #: src/iexamine.cpp msgid "There is not enough charcoal in the rack to smoke this much food." msgstr "" +"A füstölőben nincsen elég faszén ahhoz, hogy ennyi ételt füstölj vele." #: src/iexamine.cpp #, c-format msgid "" "You need at least %1$s pieces of charcoal, and the smoking rack has %2$s " "inside." -msgstr "" +msgstr "Legalább %1$s darab faszén kellene, de a füstölőben csak %2$s van." #: src/iexamine.cpp msgid "This smoking rack is ready to be fired, but you have no fire source." msgstr "" +"A füstölőállvány készen áll a begyújtásra, de nincs nálad semmi, amivel " +"tüzet lehetne gyújtani." #: src/iexamine.cpp msgid "Fire the smoking rack?" -msgstr "" +msgstr "Begyújtod a füstölőt?" #: src/iexamine.cpp msgid "You light a small fire under the rack and it starts to smoke." -msgstr "" +msgstr "Apró tüzet raksz a füstölő alatt, és máris sűrű füst száll fel." #: src/iexamine.cpp msgid "You can't place more food while it's smoking." -msgstr "" +msgstr "A füstölőbe már megkezdett füstölésnél nem lehet további ételt rakni." #: src/iexamine.cpp msgid "Load smoking rack with what kind of food?" -msgstr "" +msgstr "A füstölőbe milyen ételt teszel?" #: src/iexamine.cpp msgid "You don't have any food that can be smoked." -msgstr "" +msgstr "Nincsen füstölhető ételed." #: src/iexamine.cpp #, c-format msgid "Insert how many %s into the rack?" -msgstr "" +msgstr "A füstölőbe mennyi %st szeretnél betenni?" #: src/iexamine.cpp msgid "You don't have that many." -msgstr "" +msgstr "Nincs nálad annyi." #: src/iexamine.cpp msgid "You can't place that many." -msgstr "" +msgstr "Annyit nem lehet oda tenni." #: src/iexamine.cpp #, c-format msgid "You carefully place %s %s in the rack." -msgstr "" +msgstr "A füstölőbe óvatosan behelyezel %s darab %st." #: src/iexamine.cpp msgid "You can't place more food while it's milling." -msgstr "" +msgstr "Megkezdett őrlésnél nem lehet további ételt betenni." #: src/iexamine.cpp msgid "Load mill with what kind of product?" -msgstr "" +msgstr "Az őrlőmalomba mit szeretnél betenni?" #: src/iexamine.cpp msgid "You don't have any products that can be milled." -msgstr "" +msgstr "Nincsen őrölhető terméked." #: src/iexamine.cpp #, c-format msgid "Insert how many %s into the mill?" -msgstr "" +msgstr "Az őrlőmalomba mennyi %st szeretnél betenni?" #: src/iexamine.cpp #, c-format msgctxt "item amount and name" msgid "You carefully place %s %s in the mill." -msgstr "" +msgstr "Az őrlőmalomba óvatosan behelyezel %s darab %st." #: src/iexamine.cpp msgid "The water mill needs to be over shallow flowing water to work." msgstr "" +"A vízi malomnak sekély, áramló víz felett kell lennie ahhoz, hogy működjön." #: src/iexamine.cpp msgid "The wind mill needs to be outside in the wind to work." -msgstr "" +msgstr "A szélmalomnak kint kell lennie ahhoz, hogy működjön." #: src/iexamine.cpp msgid "What to do with the mill?" -msgstr "" +msgstr "Mit szeretnél tenni a malommal?" #: src/iexamine.cpp msgid "Inspect mill" -msgstr "" +msgstr "Malom megvizsgálása" #: src/iexamine.cpp -msgid "" -"Remove brake and start milling... insert some products for milling first" -msgstr "" +msgid "Remove brake and start milling… insert some products for milling first" +msgstr "Fék eltávolítása és őrlés megkezdése... de előtte tegyél bele valamit" #: src/iexamine.cpp msgid "Remove brake and start milling" -msgstr "" +msgstr "Fék eltávolítása és őrlés megkezdése" #: src/iexamine.cpp msgid "Remove brake and start milling, milling will take about 6 hours." msgstr "" +"Fék eltávolítása és őrlés megkezdése... az őrlés nagyjából 6 óráig fog " +"tartani." #: src/iexamine.cpp -msgid "Insert products for milling... mill is full" -msgstr "" +msgid "Insert products for milling… mill is full" +msgstr "Őrlendő termékek behelyezése - a malom tele van" #: src/iexamine.cpp #, c-format -msgid "Insert products for milling... remaining capacity is %s %s" -msgstr "" +msgid "Insert products for milling… remaining capacity is %s %s" +msgstr "Őrlendő termékek behelyezése - a malomban még %s %s számára van hely" #: src/iexamine.cpp msgid "Fill the mill with starchy products such as wheat, barley or oats." msgstr "" +"A malmot töltsd fel keményítő tartalmú terményekkel, például búzával, " +"árpával vagy zabbal." #: src/iexamine.cpp msgid "Remove products from mill" -msgstr "" +msgstr "Termékek eltávolítása a malomból" #: src/iexamine.cpp msgid "Apply brake to mill" -msgstr "" +msgstr "Malom befékezése" #: src/iexamine.cpp msgid "Applying the brake will stop milling process." -msgstr "" +msgstr "A malom lefékezése megállítja az őrlést." #: src/iexamine.cpp msgid "There's a mill here. It is turning and milling." -msgstr "" +msgstr "Ott egy malom található. Jelenleg forog és őröl." #: src/iexamine.cpp #, c-format msgid "It will finish milling in about %d hour." msgid_plural "It will finish milling in about %d hours." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Az őrlést nagyjából %d óra múlva fejezi be." +msgstr[1] "Az őrlést nagyjából %d óra múlva fejezi be." #: src/iexamine.cpp msgid "It will finish milling in less than an hour." -msgstr "" +msgstr "Az őrlést egy órán belül fejezi be." #: src/iexamine.cpp #, c-format msgid "It should take about %d minutes to finish milling." -msgstr "" +msgstr "Az őrlés befejezéséhez még nagyjából %d perc szükséges." #: src/iexamine.cpp msgid "There's a mill here." -msgstr "" +msgstr "Ott egy malom található." #: src/iexamine.cpp msgid "You inspect its contents and find: " -msgstr "" +msgstr "Megvizsgálod a tartalmát, és ezt találod:" #: src/iexamine.cpp -msgid "... that it is empty." -msgstr "" +msgid "…that it is empty." +msgstr "... semmit, üres." #: src/iexamine.cpp msgid "You see some grains that are not yet milled to fine flour." -msgstr "" +msgstr "Egy pár szemet még nem őrölt lisztté." #: src/iexamine.cpp msgid "It is already milling." -msgstr "" +msgstr "Már őröl." #: src/iexamine.cpp #, c-format msgid "You remove %s from the mill." -msgstr "" +msgstr "Az őrlőmalomból kiveszed a(z) %set." #: src/iexamine.cpp msgid "You stop the milling process." -msgstr "" +msgstr "Leállítod az őrlést." #: src/iexamine.cpp msgid "What to do with the smoking rack:" -msgstr "" +msgstr "Mit szeretnél tenni a füstölővel?" #: src/iexamine.cpp msgid "Inspect smoking rack" -msgstr "" +msgstr "Füstölőállvány megvizsgálása" #: src/iexamine.cpp -msgid "Light up and smoke food... insert some food for smoking first" -msgstr "" +msgid "Light up and smoke food… insert some food for smoking first" +msgstr "Begyújtás és étel füstölése - de először helyezz be füstölhető ételt" #: src/iexamine.cpp #, c-format -msgid "Light up and smoke food... need extra %d charges of charcoal" -msgstr "" +msgid "Light up and smoke food… need extra %d charges of charcoal" +msgstr "Begyújtás és étel füstölése - de ehhez még %d darab faszén kell" #: src/iexamine.cpp msgid "Light up and smoke food" -msgstr "" +msgstr "Begyújtás és étel füstölése" #: src/iexamine.cpp msgid "" -"Light up the smoking rack and start smoking. Smoking will take about 6 " +"Light up the smoking rack and start smoking. Smoking will take about 6 " "hours." -msgstr "" +msgstr "Begyújtod a füstölőt. A teljes füstöléshez nagyjából 6 óra kell." #: src/iexamine.cpp -msgid "Insert food for smoking... smoking rack is full" -msgstr "" +msgid "Insert food for smoking… smoking rack is full" +msgstr "Füstölhető étel behelyezése - de a füstölő már tele van" #: src/iexamine.cpp #, c-format -msgid "Insert food for smoking... remaining capacity is %s %s" +msgid "Insert food for smoking… remaining capacity is %s %s" msgstr "" +"Füstölhető étel behelyezése - az állványon még %s %s számára van hely." #: src/iexamine.cpp msgid "" "Fill the smoking rack with raw meat, fish or sausages for smoking or fruit " "or vegetable or smoked meat for drying." msgstr "" +"A füstölőállványba nyers húst, halat vagy kolbászt rakhatsz füstölésre, vagy" +" kiszárításra gyümölcsöt, zöldséget, illetve füstölt húst." #: src/iexamine.cpp msgid "You cannot disassemble this smoking rack while it is active!" -msgstr "" +msgstr "A füstölőt nem lehet szétszedni miközben még ételt füstöl!" #: src/iexamine.cpp msgid "Disassemble the smoking rack" -msgstr "" +msgstr "Füstölőállvány szétszerelése" #: src/iexamine.cpp msgid "Remove food from smoking rack" -msgstr "" +msgstr "Étel eltávolítása a füstölőből" #: src/iexamine.cpp -msgid "Reload with charcoal... you don't have any" -msgstr "" +msgid "Reload with charcoal… you don't have any" +msgstr "Újratöltés faszénnel - nincs nálad faszén" #: src/iexamine.cpp msgid "Reload with charcoal" -msgstr "" +msgstr "Újratöltés faszénnel" #: src/iexamine.cpp #, c-format msgid "" -"You need %d charges of charcoal for %s %s of food. Minimal amount of " +"You need %d charges of charcoal for %s %s of food. Minimal amount of " "charcoal is %d charges." -msgstr "" +msgstr "%d darab faszén kell %s %s füstöléséhez, de minimum %d." #: src/iexamine.cpp msgid "Quench burning charcoal" -msgstr "" +msgstr "Égő faszén kioltása" #: src/iexamine.cpp msgid "" "Quenching will stop smoking process, but also destroy all used charcoal." msgstr "" +"A kioltás megállítja ugyan a füstölési folyamatot, de az összes behelyezett " +"faszenet is tönkreteszi." #: src/iexamine.cpp #, c-format msgid "Rake out %d excess charges of charcoal from smoking rack" -msgstr "" +msgstr "A füstölőből kapard ki a felesleges %d darab faszenet." #: src/iexamine.cpp #, c-format msgid "Remove %d charges of charcoal from smoking rack" -msgstr "" +msgstr "A füstölőből szedj ki %d darab faszenet." #: src/iexamine.cpp msgid "There's a smoking rack here. It is lit and smoking." -msgstr "" +msgstr "Ott egy füstölő állvány található. Jelenleg be van gyújtva és füstöl." #: src/iexamine.cpp #, c-format msgid "It will finish smoking in about %d hour." msgid_plural "It will finish smoking in about %d hours." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "A füstölést nagyjából %d óra múlva fejezi be." +msgstr[1] "A füstölést nagyjából %d óra múlva fejezi be." #: src/iexamine.cpp msgid "It will finish smoking in less than an hour." -msgstr "" +msgstr "A füstölést egy órán belül fejezi be." #: src/iexamine.cpp #, c-format msgid "It should take about %d minutes to finish smoking." -msgstr "" +msgstr "A füstölést befejezéséhez még nagyjából %d perc szükséges." #: src/iexamine.cpp msgid "There's a smoking rack here." -msgstr "" +msgstr "Ott egy füstölő állvány található." #: src/iexamine.cpp msgid "You see some smoldering embers there." -msgstr "" +msgstr "Ott egy pár izzó parazsat látsz." #: src/iexamine.cpp msgid "It is already lit and smoking." -msgstr "" +msgstr "Már be van gyújtva és füstöl." #: src/iexamine.cpp msgid "You stop the smoking process." -msgstr "" +msgstr "Leállítod a füstölést." #: src/iexamine.cpp -msgid "You open the unlocked safe. " -msgstr "" +msgid "You open the unlocked safe." +msgstr "Kinyitod a be nem zárt széfet." #: src/iexamine.cpp #, c-format msgctxt "furniture" msgid "What to do at the %s?" -msgstr "" +msgstr "Mit tennél a(z) %son?" #: src/iexamine.cpp msgid "Craft items" -msgstr "" +msgstr "Tárgyak elkészítése" #: src/iexamine.cpp msgid "Which craft to work on?" -msgstr "" +msgstr "Min szeretnél dolgozni?" #: src/iexamine.cpp src/iuse.cpp #, c-format msgid "You don't know the recipe for the %s and can't continue crafting." msgstr "" +"Nem tudod a(z) %s elkészítéséhez szükséges receptet, ezért nem tudsz rajta " +"dolgozni." #: src/iexamine.cpp src/iuse.cpp #, c-format msgid "" " doesn't know the recipe for the %s and can't continue crafting." msgstr "" +" nem tudja a(z) %s elkészítéséhez szükséges receptet, ezért nem tud" +" rajta dolgozni." #: src/iexamine.cpp msgid "Use electrohack?" -msgstr "" +msgstr "Használod az elektrohekkert?" #: src/iexamine.cpp msgid "Use fingerhack?" -msgstr "" +msgstr "Használod a hekkerujjad?" #: src/iexamine.cpp msgid "You cause a short circuit!" -msgstr "" +msgstr "Rövidzárlatot okozol!" #: src/iexamine.cpp msgid "Your electrohack is ruined!" -msgstr "" +msgstr "Az elektrohekkered tönkremegy!" #: src/iexamine.cpp msgid "Your power is drained!" -msgstr "" +msgstr "Az energiád lemerül!" #: src/init.cpp msgid "Finalizing" @@ -194208,7 +201529,7 @@ msgstr "Testrészek" #: src/init.cpp msgid "Field types" -msgstr "" +msgstr "Mezőtípusok" #: src/init.cpp msgid "Emissions" @@ -194236,7 +201557,7 @@ msgstr "Felszín" #: src/init.cpp msgid "Overmap land use codes" -msgstr "" +msgstr "Nagytérkép földhasználati kódjai" #: src/init.cpp msgid "Overmap terrain" @@ -194250,6 +201571,10 @@ msgstr "Nagytérkép kapcsolatok" msgid "Overmap specials" msgstr "Nagytérkép spec. helyszínei" +#: src/init.cpp +msgid "Overmap locations" +msgstr "Nagytérkép helyek" + #: src/init.cpp msgid "Vehicle prototypes" msgstr "Jármű prototípusok" @@ -194272,7 +201597,7 @@ msgstr "Szörny frakciók" #: src/init.cpp msgid "Factions" -msgstr "" +msgstr "Frakciók" #: src/init.cpp msgid "Crafting recipes" @@ -194292,11 +201617,11 @@ msgstr "NPC osztályok" #: src/init.cpp msgid "Missions" -msgstr "" +msgstr "Küldetések" #: src/init.cpp msgid "Behaviors" -msgstr "" +msgstr "Viselkedések" #: src/init.cpp msgid "Harvest lists" @@ -194358,13 +201683,9 @@ msgstr "Mutációk" msgid "Mutation Categories" msgstr "Mutáció kategóriák" -#: src/init.cpp -msgid "Overmap locations" -msgstr "Nagytérkép helyek" - #: src/init.cpp msgid "Map extras" -msgstr "" +msgstr "Térkép extrái" #: src/init.cpp msgid "Ammunition types" @@ -194388,19 +201709,19 @@ msgstr "NPC sablonok" #: src/init.cpp msgid "Spells" -msgstr "" +msgstr "Varázslatok" #: src/init.cpp msgid "Transformations" -msgstr "" +msgstr "Transzformációk" #: src/init.cpp msgid "Statistics" -msgstr "" +msgstr "Statisztikák" #: src/init.cpp msgid "Scores" -msgstr "" +msgstr "Pontszámok" #: src/input.cpp msgid "key bindings configuration" @@ -194409,193 +201730,193 @@ msgstr "bill. kiosztás beállítása" #: src/input.cpp msgctxt "key name" msgid "TAB" -msgstr "" +msgstr "TAB" #: src/input.cpp msgctxt "key name" msgid "BACKTAB" -msgstr "" +msgstr "BACKTAB" #: src/input.cpp msgctxt "key name" msgid "SPACE" -msgstr "" +msgstr "SZÓKÖZ" #: src/input.cpp msgctxt "key name" msgid "UP" -msgstr "" +msgstr "FEL" #: src/input.cpp msgctxt "key name" msgid "DOWN" -msgstr "" +msgstr "LE" #: src/input.cpp msgctxt "key name" msgid "LEFT" -msgstr "" +msgstr "BAL" #: src/input.cpp msgctxt "key name" msgid "RIGHT" -msgstr "" +msgstr "JOBB" #: src/input.cpp msgctxt "key name" msgid "NPAGE" -msgstr "" +msgstr "PAGE DOWN" #: src/input.cpp msgctxt "key name" msgid "PPAGE" -msgstr "" +msgstr "PAGE UP" #: src/input.cpp msgctxt "key name" msgid "ESC" -msgstr "" +msgstr "ESC" #: src/input.cpp msgctxt "key name" msgid "BACKSPACE" -msgstr "" +msgstr "BACKSPACE" #: src/input.cpp msgctxt "key name" msgid "HOME" -msgstr "" +msgstr "HOME" #: src/input.cpp msgctxt "key name" msgid "BREAK" -msgstr "" +msgstr "BREAK" #: src/input.cpp msgctxt "key name" msgid "END" -msgstr "" +msgstr "END" #: src/input.cpp msgctxt "key name" msgid "RETURN" -msgstr "" +msgstr "RETURN" #: src/input.cpp msgctxt "key name" msgid "JOY_LEFT" -msgstr "" +msgstr "JOY_BAL" #: src/input.cpp msgctxt "key name" msgid "JOY_RIGHT" -msgstr "" +msgstr "JOY_JOBB" #: src/input.cpp msgctxt "key name" msgid "JOY_UP" -msgstr "" +msgstr "JOY_FEL" #: src/input.cpp msgctxt "key name" msgid "JOY_DOWN" -msgstr "" +msgstr "JOY_LE" #: src/input.cpp msgctxt "key name" msgid "JOY_LEFTUP" -msgstr "" +msgstr "JOY_BALFEL" #: src/input.cpp msgctxt "key name" msgid "JOY_LEFTDOWN" -msgstr "" +msgstr "JOY_BALLE" #: src/input.cpp msgctxt "key name" msgid "JOY_RIGHTUP" -msgstr "" +msgstr "JOY_JOBBFEL" #: src/input.cpp msgctxt "key name" msgid "JOY_RIGHTDOWN" -msgstr "" +msgstr "JOY_JOBBLE" #: src/input.cpp msgctxt "key name" msgid "JOY_0" -msgstr "" +msgstr "JOY_0" #: src/input.cpp msgctxt "key name" msgid "JOY_1" -msgstr "" +msgstr "JOY_1" #: src/input.cpp msgctxt "key name" msgid "JOY_2" -msgstr "" +msgstr "JOY_2" #: src/input.cpp msgctxt "key name" msgid "JOY_3" -msgstr "" +msgstr "JOY_3" #: src/input.cpp msgctxt "key name" msgid "JOY_4" -msgstr "" +msgstr "JOY_4" #: src/input.cpp msgctxt "key name" msgid "JOY_5" -msgstr "" +msgstr "JOY_5" #: src/input.cpp msgctxt "key name" msgid "JOY_6" -msgstr "" +msgstr "JOY_6" #: src/input.cpp msgctxt "key name" msgid "JOY_7" -msgstr "" +msgstr "JOY_7" #: src/input.cpp #, c-format msgctxt "function key name" msgid "F%d" -msgstr "" +msgstr "F%d" #: src/input.cpp msgctxt "key name" msgid "MOUSE_LEFT" -msgstr "" +msgstr "EGÉR_BAL" #: src/input.cpp msgctxt "key name" msgid "MOUSE_RIGHT" -msgstr "" +msgstr "EGÉR_JOBB" #: src/input.cpp msgctxt "key name" msgid "SCROLL_UP" -msgstr "" +msgstr "FEL_GÖRGET" #: src/input.cpp msgctxt "key name" msgid "SCROLL_DOWN" -msgstr "" +msgstr "LE_GÖRGET" #: src/input.cpp msgctxt "key name" msgid "MOUSE_MOVE" -msgstr "" +msgstr "EGÉR_MOZGÁS" #: src/input.cpp msgctxt "key name" msgid "UNKNOWN" -msgstr "" +msgstr "ISMERETLEN" #: src/input.cpp #, c-format @@ -194624,21 +201945,21 @@ msgstr " vagy " #, c-format msgctxt "keybinding" msgid "[any] %s" -msgstr "" +msgstr "[bármi] %s" #. ~ keybinding description for unbound or disabled keys #: src/input.cpp #, c-format msgctxt "keybinding" msgid "[n/a] %s" -msgstr "" +msgstr "[nincs] %s" #. ~ keybinding description for bound keys #: src/input.cpp #, c-format msgctxt "keybinding" msgid "[%s] %s" -msgstr "" +msgstr "[%s] %s" #: src/input.cpp msgid "Unbound keys" @@ -194722,21 +202043,13 @@ msgstr "A(z) %s elkopott." #, c-format msgctxt "count" msgid "%1$d of %2$d" -msgstr "" +msgstr "%1$d / %2$d" #: src/inventory_ui.cpp #, c-format msgid "Page %d/%d" msgstr "%d/%d oldal" -#: src/inventory_ui.cpp -msgid "ITEMS WORN" -msgstr "VISELT TÁRGYAK" - -#: src/inventory_ui.cpp -msgid "WEAPON HELD" -msgstr "FEGYVER A KÉZBEN" - #: src/inventory_ui.cpp #, c-format msgid "Weight (%s):" @@ -194795,11 +202108,11 @@ msgstr "Kategória választási mód" #: src/inventory_ui.cpp msgid "Mark/unmark selected item" -msgstr "Kiválaszott elem kijelölése/jelölés törlése" +msgstr "Kiválaszott tárgy kijelölése/jelölés törlése" #: src/inventory_ui.cpp msgid "Mark/unmark non-favorite items" -msgstr "" +msgstr "Kedvenc tárgy kijelölése/jelölés törlése" #: src/inventory_ui.cpp msgid "ITEMS TO COMPARE" @@ -194993,7 +202306,7 @@ msgstr "Anyag: %s" #: src/item.cpp #, c-format msgid "Owner: %s" -msgstr "" +msgstr "Tulajdonos: %s" #: src/item.cpp #, c-format @@ -195006,19 +202319,19 @@ msgstr "Mennyiség: " #: src/item.cpp msgid "age (hours): " -msgstr "" +msgstr "idős (óra): " #: src/item.cpp msgid "charges: " -msgstr "" +msgstr "töltet: " #: src/item.cpp msgid "damage: " -msgstr "" +msgstr "sebzés: " #: src/item.cpp msgid "active: " -msgstr "" +msgstr "aktív: " #: src/item.cpp msgid "burn: " @@ -195027,7 +202340,7 @@ msgstr "éghető: " #: src/item.cpp #, c-format msgid "tags: %s" -msgstr "" +msgstr "címke: %s" #: src/item.cpp #, c-format @@ -195036,15 +202349,15 @@ msgstr "" #: src/item.cpp msgid "age (turns): " -msgstr "" +msgstr "idős (kör): " #: src/item.cpp msgid "rot (turns): " -msgstr "" +msgstr "rohad (kör): " #: src/item.cpp msgid "max rot (turns): " -msgstr "" +msgstr "max rohadás (kör): " #: src/item.cpp msgid "last rot: " @@ -195056,11 +202369,11 @@ msgstr "utolsó hőm:" #: src/item.cpp msgid "Temp: " -msgstr "" +msgstr "Hőm.: " #: src/item.cpp msgid "Spec ener: " -msgstr "" +msgstr "Spec ener: " #: src/item.cpp msgid "Spec heat lq: " @@ -195076,7 +202389,7 @@ msgstr "" #: src/item.cpp msgid "Freeze point: " -msgstr "" +msgstr "Fagypont: " #: src/item.cpp msgid "Quench: " @@ -195120,7 +202433,7 @@ msgstr "Vitamin (NBÉ): " #: src/item.cpp msgid "* This food will cause an allergic reaction." -msgstr "" +msgstr "* Ez az étel allergiás reakciót vált ki." #: src/item.cpp msgid "* This food contains human flesh." @@ -195193,10 +202506,10 @@ msgstr "" #: src/item.cpp msgid "" -"This food has started to rot. Eating it would be a " +"This food has started to rot. Eating it would be a " "very bad idea." msgstr "" -"* Ez az étel elkezdett megrohadni. Nagyon rossz ötlet " +"Ez az étel elkezdett megrohadni. Nagyon rossz ötlet " "lenne ezt most megenni." #: src/item.cpp @@ -195212,7 +202525,7 @@ msgstr "Kapacitás: " #: src/item.cpp msgid " moves per round" -msgstr "" +msgstr "lövésenként mozgás" #: src/item.cpp msgid "Reload time: " @@ -195252,26 +202565,24 @@ msgstr "Visszarúgás: " #: src/item.cpp msgid "This ammo has been hand-loaded." -msgstr "" +msgstr "Ez a töltény kézzel töltött." #: src/item.cpp msgid "" "This ammo has been loaded with blackpowder, and will quickly clog" " up most guns, and cause rust if the gun is not cleaned." msgstr "" +"Ezt a lőszert fekete puskaporral töltötték, a legtöbb fegyvert " +"gyorsan eltömíti, és a fegyver rozsdásodásához vezet, ha azt nem tisztítják " +"meg." #: src/item.cpp msgid "This ammo never misfires." -msgstr "" +msgstr "Ez a töltény soha nem döglik be." #: src/item.cpp msgid "This ammo starts fires." -msgstr "" - -#: src/item.cpp -#, c-format -msgid "Stats of the active gunmod (%s) are shown." -msgstr "Az aktív fegyver mod (%s) statisztikái láthatók." +msgstr "Ez a töltény tüzet gyújt." #: src/item.cpp msgid "Skill used: " @@ -195310,7 +202621,7 @@ msgstr "" #: src/item.cpp msgid " moves " -msgstr "" +msgstr " lépés" #: src/item.cpp msgid "Time to reach aim level: " @@ -195417,8 +202728,9 @@ msgid "Used on: " msgstr "Használja: " #: src/item.cpp -msgid "Location: " -msgstr "Hely: " +#, c-format +msgid "Location: %s" +msgstr "Helye: %s" #: src/item.cpp msgid "Incompatible with mod location: " @@ -195518,7 +202830,7 @@ msgstr "Réteg: " #: src/item.cpp msgid "Personal aura. " -msgstr "" +msgstr "Személyes aura. " #: src/item.cpp msgid "Close to skin. " @@ -195538,7 +202850,7 @@ msgstr "Derék. " #: src/item.cpp msgid "Outer aura. " -msgstr "" +msgstr "Külső aura. " #: src/item.cpp msgid "Normal. " @@ -195562,19 +202874,19 @@ msgstr " (rosszul illik)" #: src/item.cpp msgid " (too big)" -msgstr "" +msgstr " (túl nagy)" #: src/item.cpp msgid " (huge!)" -msgstr "" +msgstr " (hatalmas!)" #: src/item.cpp msgid " (too small)" -msgstr "" +msgstr " (túl kicsi)" #: src/item.cpp msgid " (tiny!)" -msgstr "" +msgstr " (apró!)" #: src/item.cpp msgid "Encumbrance: " @@ -195613,14 +202925,16 @@ msgid "" "Protection values are reduced by damage and you may be able to " "improve them by repairing this item." msgstr "" +"A védelmi értékeket a sérülés csökkenti, de a tárgy " +"megjavításával növelhető." #: src/item.cpp msgid "Weight capacity modifier: " -msgstr "" +msgstr "Súly kapacitás módosító: " #: src/item.cpp msgid "Weight capacity bonus: " -msgstr "" +msgstr "Súly kapacitás bónusz: " #: src/item.cpp msgid "Just for fun." @@ -195633,18 +202947,20 @@ msgstr "Valamiféle harcművészeti tankönyv." #: src/item.cpp #, c-format msgid "You can learn %s style from it." -msgstr "" +msgstr "Ebből a(z) %s harci stílust lehet elsajátítani." #: src/item.cpp #, c-format msgid "This fighting style is %s to learn." -msgstr "" +msgstr "Ezt a harci stílust %s megtanulni." #: src/item.cpp #, c-format msgid "" "It'd be easier to master if you'd have skill expertise in %s." msgstr "" +"Ezt könnyebben elsajátítanád, ha a(z) %s készséged magasabb " +"szintű lenne." #: src/item.cpp msgid "It can be understood by beginners." @@ -195653,12 +202969,12 @@ msgstr "Kezdők is megérthetik." #: src/item.cpp #, c-format msgid "Can bring your %s skill to ." -msgstr "" +msgstr "A(z) %s készségedet . szintig tudja növelni." #: src/item.cpp #, c-format msgid "Your current %s skill is ." -msgstr "" +msgstr "Jelenleg a(z) %s készséged . szintű." #: src/item.cpp #, c-format @@ -195692,7 +203008,11 @@ msgid_plural "" "A training session with this book takes " "minutes." msgstr[0] "" +"Ezzel a könyvvel a gyakorlás percet venne " +"igénybe." msgstr[1] "" +"Ezzel a könyvvel a gyakorlás percet venne " +"igénybe." #: src/item.cpp msgid "This book has unread chapter." @@ -195729,7 +203049,7 @@ msgstr "vízhatlan, " #: src/item.cpp msgid "prevents spoiling, " -msgstr "" +msgstr "megakadályozza a romlást, " #: src/item.cpp #, c-format @@ -195739,17 +203059,17 @@ msgstr "és %s %s tárolására alkalmas." #: src/item.cpp #, c-format msgid "Capacity: %dmJ" -msgstr "" +msgstr "Kapacitás: %dmJ" #: src/item.cpp #, c-format msgid "Capacity: %dJ" -msgstr "" +msgstr "Kapacitás: %dJ" #: src/item.cpp #, c-format msgid "Capacity: %dkJ" -msgstr "" +msgstr "Kapacitás: %dkJ" #: src/item.cpp #, c-format @@ -195773,7 +203093,7 @@ msgstr[1] "Maximum töltet." #: src/item.cpp #, c-format msgid "Using: %s" -msgstr "" +msgstr "Használja: %s" #: src/item.cpp #, c-format @@ -195812,7 +203132,7 @@ msgstr "" #: src/item.cpp #, c-format msgid "This is an in progress %s. It is %d percent complete." -msgstr "" +msgstr "Ez egy készülő %s, jelenleg %d-ban kész." #: src/item.cpp msgid "Techniques when wielded: " @@ -195869,7 +203189,7 @@ msgstr "Ezzel javítható: " #: src/item.cpp msgid "* This item can be reinforced." -msgstr "" +msgstr "* Ezt a tárgyat meg lehet erősíteni." #: src/item.cpp msgid "* This item is not repairable." @@ -195891,7 +203211,7 @@ msgstr "* Ez a tárgy vezeti az áramot." #: src/item.cpp msgid "* This clothing will give you an allergic reaction." -msgstr "" +msgstr "* Ez a ruha allergiás reakciót vált ki." #: src/item.cpp msgid "* This item can be worn with a helmet." @@ -195899,92 +203219,105 @@ msgstr "* Ezt a tárgyat sisakkal is lehet viselni." #: src/item.cpp msgid "* This clothing fits you perfectly." -msgstr "" +msgstr "* Ez a ruha tökéletesen illik rád." #: src/item.cpp msgid "* This clothing fits your large frame perfectly." -msgstr "" +msgstr "* Ez a ruha tökéletesen illik a nagyméretű testedre." #: src/item.cpp msgid "* This clothing fits your small frame perfectly." -msgstr "" +msgstr "* Ez a ruha tökéletesen illik a kisméretű testedre." #: src/item.cpp msgid "" "* This clothing is oversized and does not fit you." -msgstr "" +msgstr "* Ez a ruha túl nagy és nem illik rád." #: src/item.cpp msgid "" "* This clothing is hilariously oversized and does not " "fit your abnormally small mutated anatomy." msgstr "" +"* Ez a ruha röhejesen túl nagy rád és nem illik az " +"abnormálisa kicsire mutálódott testedre." #: src/item.cpp msgid "" "* This clothing is normal sized and does not fit your" " abnormally large mutated anatomy." msgstr "" +"* Ez a ruha normális méretű és nem illik az " +"abnormálisan nagyra mutálódott testedre." #: src/item.cpp msgid "" "* This clothing is normal sized and does not fit your " "abnormally small mutated anatomy." msgstr "" +"* Ez a ruha normális méretű és nem illik az " +"abnormálisan kicsire mutálódott testedre." #: src/item.cpp msgid "" "* This clothing is hilariously undersized and does not " "fit your abnormally large mutated anatomy." msgstr "" +"* Ez a ruha röhejesen túl kicsi rád és nem illik az " +"abnormálisa nagyra mutálódott testedre." #: src/item.cpp msgid "" "* This clothing is undersized and does not fit you." -msgstr "" +msgstr "* Ez a ruha túl kicsi és nem illik rád." #: src/item.cpp -msgid "* This clothing can be upsized." +msgid "can be upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be downsized." +msgid "can be downsized" msgstr "" #: src/item.cpp -msgid "* This clothing can not be downsized." +msgid "can not be downsized" msgstr "" #: src/item.cpp -msgid "* This clothing can not be upsized." +msgid "can not be upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be refitted and upsized." +#, c-format +msgid "* This clothing %s." +msgstr "* Ez a ruha %s." + +#: src/item.cpp +msgid " and upsized" msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted and downsized." +msgid " and downsized" msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not downsized." +msgid " but not downsized" msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not upsized." +msgid " but not upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be refitted." +#, c-format +msgid "* This clothing can be refitted%s." msgstr "" #: src/item.cpp msgid "* This clothing can not be refitted, upsized, or downsized." msgstr "" +"* Ezt a ruhadarabot nem lehet rád szabni, kisebbre vagy nagyobbra " +"venni." #: src/item.cpp msgid "* This item can be worn on either side of the body." @@ -196047,7 +203380,7 @@ msgstr "" #: src/item.cpp msgid "* This tool runs on bionic power." -msgstr "" +msgstr "* Ez a szerszám bionikus energiát használ." #: src/item.cpp msgid "" @@ -196064,7 +203397,7 @@ msgstr "* Ezt a tárgyat kizárólag rádiójellel lehet aktiválni #: src/item.cpp #, c-format msgid "* It will be activated by the %s." -msgstr "* Ezt a(z) %s aktiválja." +msgstr "* Ezt aktiválja a(z) %s " #: src/item.cpp msgid "" @@ -196078,17 +203411,27 @@ msgstr "" msgid "This bionic is installed in the following body part(s):" msgstr "Ez a bionika az alábbi testrészekbe került beépítésre:" +#: src/item.cpp +msgid "* This bionic can produce power from the following fuel: " +msgid_plural "* This bionic can produce power from the following fuels: " +msgstr[0] "" +msgstr[1] "" + +#: src/item.cpp +msgid "Power Capacity:" +msgstr "Energia kapacitás:" + #: src/item.cpp msgid "Encumbrance: " -msgstr "" +msgstr "Ormótlanság " #: src/item.cpp msgid "Environmental Protection: " -msgstr "" +msgstr "Védelem a környezettől: " #: src/item.cpp msgid "Stat Bonus: " -msgstr "" +msgstr "Stat bónusz: " #: src/item.cpp msgid "* This weapon needs two free hands to fire." @@ -196101,7 +203444,7 @@ msgstr "* Ez a mod elfedi az alapfegyver céltüskéjét." #: src/item.cpp msgid "* This mod might suffer wear when firing the base weapon." -msgstr "" +msgstr "* Ez a mod elkophat, amikor az alapfegyverrel lősz." #: src/item.cpp msgid "" @@ -196123,15 +203466,15 @@ msgstr "" #, c-format msgid "* Once set in a vat, this will ferment in around %d hour." msgid_plural "* Once set in a vat, this will ferment in around %d hours." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "* Erjesztőkádba helyezés után %d óra múlva erjed meg." +msgstr[1] "* Erjesztőkádba helyezés után %d óra múlva erjed meg." #: src/item.cpp #, c-format msgid "* Once set in a vat, this will ferment in around %d day." msgid_plural "* Once set in a vat, this will ferment in around %d days." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "* Erjesztőkádba helyezés után %d nap múlva erjed meg." +msgstr[1] "* Erjesztőkádba helyezés után %d nap múlva erjed meg." #: src/item.cpp #, c-format @@ -196142,7 +203485,7 @@ msgstr "* Ennek az erjesztéséből %s készül majd." #: src/item.cpp #, c-format msgid "* %1$s. %2$s" -msgstr "" +msgstr "* %1$s. %2$s" #: src/item.cpp msgid "Can be stored in: " @@ -196157,16 +203500,19 @@ msgstr "Kész van és aktiválható." msgid "It will be done in %s." msgstr "%s múlva lesz kész." -#. ~ %1$s: gerund (e.g. carved), %2$s: item name -#: src/item.cpp src/iuse_actor.cpp +#. ~ %1$s: gerund (e.g. carved), %2$s: item name, %3$s: inscription text +#: src/item.cpp #, c-format msgctxt "carving" -msgid "%1$s on the %2$s is: " -msgstr "" +msgid "%1$s on the %2$s is: %3$s" +msgstr "%1$s felirat a(z) %2$sn: %3$s" -#: src/item.cpp src/options.cpp -msgid "Note: " -msgstr "Jegyzet:" +#. ~ %1$s: inscription text +#: src/item.cpp +#, c-format +msgctxt "carving" +msgid "Note: %1$s" +msgstr "Jegyzet: %1$s" #: src/item.cpp msgid "Integrated mod: " @@ -196186,6 +203532,8 @@ msgid "" "* This item can be used as a die, and has %d " "sides." msgstr "" +"* Ezt a tárgyat lehet dobókockának használni és %d" +" oldala van." #: src/item.cpp msgid "You know dozens of things you could craft with it." @@ -196200,6 +203548,11 @@ msgstr "Más egyéb dolgokat lehetne vele elkészíteni." msgid "You could use it to craft: %s" msgstr "Ezt lehetne vele elkészíteni: %s" +#: src/item.cpp +#, c-format +msgid "Stats of the active gunmod (%s) are shown." +msgstr "Az aktív fegyver mod (%s) statisztikái láthatók." + #: src/item.cpp #, c-format msgid "It takes you an extremely long time to wield your %s." @@ -196254,7 +203607,7 @@ msgstr "megégett " #: src/item.cpp #, c-format msgid "in progress %s" -msgstr "" +msgstr "készülő %s" #. ~ %1$s: item name, %2$s: content liquid, food, or drink name #: src/item.cpp @@ -196268,7 +203621,7 @@ msgstr "%1$s %2$s" #, c-format msgctxt "item name" msgid "%1$s with %2$s" -msgstr "" +msgstr "%1$s %2$s" #. ~ %1$s: item name, %2$zd: content size #: src/item.cpp @@ -196276,8 +203629,8 @@ msgstr "" msgctxt "item name" msgid "%1$s with %2$zd item" msgid_plural "%1$s with %2$zd items" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%1$s %2$zd tárggyal" +msgstr[1] "%1$s %2$zd tárggyal" #: src/item.cpp msgid " (poisonous)" @@ -196290,7 +203643,7 @@ msgstr " (hallucinogén)" #: src/item.cpp #, c-format msgid " (%s turns)" -msgstr "" +msgstr " (%s kör)" #: src/item.cpp msgid " (dirty)" @@ -196330,19 +203683,19 @@ msgstr " (olvadt)" #: src/item.cpp msgid " (too big)" -msgstr "" +msgstr " (túl nagy)" #: src/item.cpp msgid " (huge!)" -msgstr "" +msgstr " (hatalmas!)" #: src/item.cpp msgid " (too small)" -msgstr "" +msgstr " (túl kicsi)" #: src/item.cpp msgid " (tiny!)" -msgstr "" +msgstr " (apró!)" #: src/item.cpp msgid " (poor fit)" @@ -196354,11 +203707,11 @@ msgstr " (koszos)" #: src/item.cpp msgid " (sterile)" -msgstr "" +msgstr " (steril)" #: src/item.cpp msgid " (packed)" -msgstr "" +msgstr " (becsomagolt)" #: src/item.cpp msgid " (UPS)" @@ -196397,7 +203750,7 @@ msgstr " (ég)" #: src/item.cpp msgid " (plugged in)" -msgstr "" +msgstr " (csatlakoztatva)" #: src/item.cpp msgid " (active)" @@ -196405,7 +203758,7 @@ msgstr " (aktív)" #: src/item.cpp msgid " *" -msgstr "" +msgstr " *" #: src/item.cpp msgid "sawn-off " @@ -196443,7 +203796,7 @@ msgstr "*%s*" #, c-format msgctxt "cash card and money" msgid "%1$s %3$s of %2$s" -msgstr "" +msgstr "%1$s %3$s / %2$s" #. ~ This is a string to display the total amount of money in a stack of cash #. cards. @@ -196486,7 +203839,7 @@ msgstr "\\." #: src/item.cpp msgid "XX" -msgstr "" +msgstr "XX" #: src/item.cpp msgid ".." @@ -196524,7 +203877,7 @@ msgstr "pépesített " #: src/item.cpp msgid "fully intact " -msgstr "" +msgstr "teljesen ép " #: src/item.cpp msgid "isn't a weapon" @@ -196565,6 +203918,8 @@ msgstr "ott csak kisméretű modokat tud befogadni" #, c-format msgid "%1$s cannot be used on item with no compatible ammo types" msgstr "" +"A(z) %1$s nem használható olyan tárgyon, ami nem rendelkezik kompatibilis " +"lőszer fajtával." #: src/item.cpp msgid "is already waterproof" @@ -196592,7 +203947,7 @@ msgstr "nem lehet ilyen fegyverre felcsatolni: \"%s\"" #, c-format msgctxt "magazine" msgid "Eject %1$s from %2$s?" -msgstr "" +msgstr "Kitárazod ezt: %1$s innen: %2$s?" #: src/item.cpp #, c-format @@ -196646,11 +204001,11 @@ msgstr "Egy közeli holttest felkel, és elindul feléd!" #: src/item.cpp msgid "Oh dear god, a robot you're carrying has started moving!" -msgstr "" +msgstr "Te jó ég, a szállított robot elkezdett mozogni!" #: src/item.cpp msgid "Oh dear god, a corpse you're carrying has started moving!" -msgstr "" +msgstr "Te jó ég, a szállított holttest elkezdett mozogni!" #: src/item.cpp #, c-format @@ -196707,28 +204062,28 @@ msgstr "A(z) %s üzemeltetéséhez egy ET szükséges!" #: src/item.cpp #, c-format msgid "Your %s rusts due to blackpowder fouling." -msgstr "" +msgstr "A(z) %s a fekete lőpor kormozódásától rozsdásodik." #: src/item.cpp #, c-format msgid "Your %s disappears!" -msgstr "" +msgstr "A(z) %s eltűnik!" #: src/item.cpp #, c-format msgctxt "item name" msgid "skinned %s corpse" msgid_plural "skinned %s corpses" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s holttestet nyúzott meg" +msgstr[1] "%s holttestet nyúzott meg" #: src/item.cpp #, c-format msgctxt "item name" msgid "skinned %s carcass" msgid_plural "skinned %s carcasses" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%s dögöt nyúzott meg" +msgstr[1] "%s dögöt nyúzott meg" #: src/item.cpp #, c-format @@ -196859,8 +204214,8 @@ msgid "You're already smoking a %s!" msgstr "" #: src/iuse.cpp -msgid "Are you sure you want to drink... this?" -msgstr "Ezt most biztosan meg akarod... inni?" +msgid "Are you sure you want to drink… this?" +msgstr "" #: src/iuse.cpp #, c-format @@ -196889,8 +204244,8 @@ msgid "You light a %s." msgstr "Rágyújtasz egy %sre." #: src/iuse.cpp -msgid "Ugh, too much smoke... you feel nasty." -msgstr "Ehhh, túl sok a füst... szarul érzed magad." +msgid "Ugh, too much smoke… you feel nasty." +msgstr "" #: src/iuse.cpp msgid "You take a puff from your electronic cigarette." @@ -196905,8 +204260,8 @@ msgid "You don't have any nicotine liquid!" msgstr "Nincsen nikotinos folyadékod!" #: src/iuse.cpp -msgid "Ugh, too much nicotine... you feel nasty." -msgstr "Ehhh, túl sok volt a nikotin... szarul érzed magad." +msgid "Ugh, too much nicotine… you feel nasty." +msgstr "" #: src/iuse.cpp msgid "You take some antibiotics." @@ -197013,7 +204368,7 @@ msgstr "Abbamarad a remegésed." #: src/iuse.cpp msgid "" "You start scarfing down the delicious cake. It tastes a little funny " -"though..." +"though…" msgstr "" #: src/iuse.cpp @@ -197045,8 +204400,8 @@ msgid "You no longer need to fear the flu, at least for some time." msgstr "" #: src/iuse.cpp -msgid "Are you sure you want to eat this? It looks poisonous..." -msgstr "Biztosan meg akarod ezt enni? Mérgezőnek tűnik..." +msgid "Are you sure you want to eat this? It looks poisonous…" +msgstr "" #: src/iuse.cpp #, c-format @@ -197066,8 +204421,8 @@ msgid "You suddenly feel hollow inside." msgstr "Hirtelen üresnek érzed magad belülről." #: src/iuse.cpp -msgid "You feel very sleepy..." -msgstr "Nagyon álmos vagy..." +msgid "You feel very sleepy…" +msgstr "" #: src/iuse.cpp msgid "You eat the datura seed." @@ -197161,10 +204516,8 @@ msgstr "" #, c-format msgid "" "As you eat the %s, you have a near-religious experience, feeling at one with" -" your surroundings..." +" your surroundings…" msgstr "" -"Ahogy megeszed a(z) %st vallásközeli élmény fog el, és egyként érzed magadat" -" a környezeteddel..." #: src/iuse.cpp msgid "It tastes extremely strange!" @@ -197189,10 +204542,8 @@ msgstr "Egyet harapsz, és azonnal hánysz tőle!" #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into an excruciating burn" -" as you convulse, vomiting, and black out..." +" as you convulse, vomiting, and black out…" msgstr "" -"Az ismerős melegség árad szét benned, de hirtelen kínzó égésbe csap át, " -"tested görcsbe rándulsz, okádsz egyet, majd filmszakadás..." #: src/iuse.cpp msgctxt "memorial_male" @@ -197207,10 +204558,8 @@ msgstr "Marloss kilökés érte" #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into painful burning as " -"you convulse and collapse to the ground..." +"you convulse and collapse to the ground…" msgstr "" -"Az ismerős melegség árad szét benned, de hirtelen kínzó égésbe csap át, " -"tested görcsbe rándul, és a földre zuhansz..." #: src/iuse.cpp src/monattack.cpp msgid "" @@ -197224,14 +204573,12 @@ msgstr "" #: src/iuse.cpp msgid "" "unity. together we have reached the door. we provide the final key. now " -"to pass through..." +"to pass through…" msgstr "" -"egység. mi együtt értük el az ajtót. mi adtuk az utolsó kulcsot. most pedig " -"lépj át rajta..." #: src/iuse.cpp -msgid "You feel a strange warmth spreading throughout your body..." -msgstr "Furcsa melegség árasztja el a testedet..." +msgid "You feel a strange warmth spreading throughout your body…" +msgstr "" #. ~ "Uh-uh" is a sound used for "nope", "no", etc. #: src/iuse.cpp @@ -197248,8 +204595,8 @@ msgstr "" #: src/iuse.cpp #, c-format -msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." -msgstr "Biztosan megeszed a %st? Egy földkupacba is el tudnád ültetni." +msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." +msgstr "" #: src/iuse.cpp msgid "It tastes amazing, and you finish it quickly." @@ -197258,15 +204605,14 @@ msgstr "" #: src/iuse.cpp msgid "" "As it settles in, you feel ecstasy radiating through every part of your " -"body..." +"body…" msgstr "" #: src/iuse.cpp msgid "" "Your eyes roll back in your head. Everything dissolves into a blissful " -"haze..." +"haze…" msgstr "" -"A szemed hátrafordul a fejedbe. Minden csodálatosan nyugodt köddé válik..." #. ~ The Mycus does not use the term (or encourage the concept of) "you". The #. PC is a local/native organism, but is now the Mycus. @@ -197274,13 +204620,13 @@ msgstr "" #. bent symbiotes should not need it. #. ~ We are the Mycus. #: src/iuse.cpp -msgid "We welcome into us. We have endured long in this forbidding world." +msgid "We welcome into us. We have endured long in this forbidding world." msgstr "" #: src/iuse.cpp msgid "" -"A sea of white caps, waving gently. A haze of spores wafting silently over a" -" forest." +"A sea of white caps, waving gently. A haze of spores wafting silently over " +"a forest." msgstr "" #: src/iuse.cpp @@ -197289,20 +204635,20 @@ msgstr "" #: src/iuse.cpp msgid "" -"The blazing pink redness of the berry. The juices spreading across your " +"The blazing pink redness of the berry. The juices spreading across your " "tongue, the warmth draping over us like a lover's embrace." msgstr "" #: src/iuse.cpp msgid "" "We welcome the union of our lines in our local guide. We will prosper, and " -"unite this world. Even now, our fruits adapt to better serve local " +"unite this world. Even now, our fruits adapt to better serve local " "physiology." msgstr "" #: src/iuse.cpp msgid "" -"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " +"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " "berry, a memory that will never leave us." msgstr "" @@ -197314,12 +204660,12 @@ msgstr "" #: src/iuse.cpp msgid "" -"The amber-yellow of the sap. Feel it flowing through our veins, taking the " +"The amber-yellow of the sap. Feel it flowing through our veins, taking the " "place of the strange, thin red gruel called \"blood.\"" msgstr "" #: src/iuse.cpp -msgid "This tastes really weird! You're not sure it's good for you..." +msgid "This tastes really weird! You're not sure it's good for you…" msgstr "" #: src/iuse.cpp @@ -197399,8 +204745,8 @@ msgid "You do not have that item!" msgstr "Nincs nálad az a tárgy!" #: src/iuse.cpp -msgid "Which signal should activate the item?:" -msgstr "Melyik jelzéssel aktiválod a tárgyat?" +msgid "Which signal should activate the item?" +msgstr "" #: src/iuse.cpp msgid "\"Blue\"" @@ -197441,8 +204787,8 @@ msgid "You can't fish there!" msgstr "Ott nem lehet horgászni!" #: src/iuse.cpp -msgid "You cast your line and wait to hook something..." -msgstr "Kiveted a csalit, és vársz, hogy valami ráharapjon..." +msgid "You cast your line and wait to hook something…" +msgstr "" #: src/iuse.cpp msgid "Fish are not foolish enough to go in here without bait." @@ -197531,23 +204877,23 @@ msgstr "Használathoz szétcsomagolod a(z) %st." #: src/iuse.cpp msgid "Choose CBM to pack" -msgstr "" +msgstr "Válaszd ki, hogy melyik KBM-et csomagolod be." #: src/iuse.cpp msgid "You don't have any CBMs." -msgstr "" +msgstr "Nincsen KBM-ed." #: src/iuse.cpp msgid "This CBM is faulty. You should mend it first. Do you want to try?" -msgstr "" +msgstr "Ez a KBM hibás, meg kellene szerelned. Megpróbálod?" #: src/iuse.cpp msgid "You carefully prepare the CBM for sterilization." -msgstr "" +msgstr "Óvatosan előkészíted a KBM-et a sterilizálásra." #: src/iuse.cpp msgid "You fail to properly prepare the CBM." -msgstr "" +msgstr "Nem sikerül megfelelően előkészíteni a KBM-et." #: src/iuse.cpp #, c-format @@ -197647,16 +204993,6 @@ msgstr "KXSHHHHRRCRKLKKK!" msgid "The infernal racket dies as the noise emitter turns off." msgstr "" -#: src/iuse.cpp -#, c-format -msgid "You learn the essential elements of %s." -msgstr "" - -#: src/iuse.cpp -#, c-format -msgid "%s to select martial arts style." -msgstr "" - #: src/iuse.cpp msgid "You pry out the fence post." msgstr "" @@ -197692,7 +205028,7 @@ msgstr "" #: src/iuse.cpp msgid "" "You attempt to pry open your wallet but alas. You are just too miserly." -msgstr "" +msgstr "Megpróbálod felfeszíteni a pénztárcádat, de sajnos túl csóró vagy." #: src/iuse.cpp msgid "You pry open the door." @@ -198077,18 +205413,27 @@ msgid "Scan the ground" msgstr "Megméred a földet" #: src/iuse.cpp -msgid "Scan yourself" -msgstr "Megméred magadat" +msgid "Scan yourself or other person" +msgstr "" #: src/iuse.cpp msgid "Turn continuous scan on" msgstr "Folyamatos mérés bekapcsolása" +#: src/iuse.cpp +msgid "Scan whom?" +msgstr "" + #: src/iuse.cpp #, c-format msgid "Your radiation level: %d mSv (%d mSv from items)" msgstr "" +#: src/iuse.cpp +#, c-format +msgid "%s's radiation level: %d mSv (%d mSv from items)" +msgstr "" + #: src/iuse.cpp #, c-format msgid "The ground's radiation level: %d mSv/h" @@ -198156,6 +205501,10 @@ msgstr "" msgid "You've already released the handle, try throwing it instead." msgstr "" +#: src/iuse.cpp src/iuse_actor.cpp +msgid "You need a source of fire!" +msgstr "Kell valami, amivel meg lehet gyújtani!" + #: src/iuse.cpp msgid "You light the arrow!" msgstr "" @@ -198168,6 +205517,10 @@ msgstr "" msgid "You light the pack of firecrackers." msgstr "" +#: src/iuse.cpp +msgid "ssss…" +msgstr "" + #: src/iuse.cpp msgid "You light the firecracker." msgstr "" @@ -198182,23 +205535,23 @@ msgid "You set the timer to %s." msgstr "" #: src/iuse.cpp -msgid "You squeeze the pheromone ball..." +msgid "You squeeze the pheromone ball…" msgstr "" #: src/iuse.cpp -msgid " squeezes the pheromone ball..." +msgid " squeezes the pheromone ball…" msgstr "" #: src/iuse.cpp -msgid "...but nothing happens." +msgid "…but nothing happens." msgstr "" #: src/iuse.cpp -msgid "...and a nearby zombie becomes passive!" +msgid "…and a nearby zombie becomes passive!" msgstr "" #: src/iuse.cpp -msgid "...and several nearby zombies become passive!" +msgid "…and several nearby zombies become passive!" msgstr "" #: src/iuse.cpp @@ -198467,7 +205820,7 @@ msgid "You need a rechargeable battery cell to charge." msgstr "" #: src/iuse.cpp -msgid "You cannot do... that while mounted." +msgid "You cannot do… that while mounted." msgstr "" #: src/iuse.cpp @@ -198489,7 +205842,7 @@ msgid "You whip out your %s and start getting the tension out." msgstr "" #: src/iuse.cpp -msgid "Air swirls all over..." +msgid "Air swirls all over…" msgstr "" #: src/iuse.cpp @@ -198526,7 +205879,7 @@ msgstr "" #: src/iuse.cpp #, c-format -msgid "You drew blood from the %s..." +msgid "You drew blood from the %s…" msgstr "" #: src/iuse.cpp @@ -198534,17 +205887,17 @@ msgid "Draw your own blood?" msgstr "" #: src/iuse.cpp -msgid "You drew your own blood..." +msgid "You drew your own blood…" msgstr "" #: src/iuse.cpp #, c-format -msgid "...but acidic blood melts the %s, destroying it!" +msgid "…but acidic blood melts the %s, destroying it!" msgstr "" #: src/iuse.cpp #, c-format -msgid "...but acidic blood damages the %s!" +msgid "…but acidic blood damages the %s!" msgstr "" #: src/iuse.cpp @@ -198643,18 +205996,10 @@ msgstr "" msgid "You mop up the spill." msgstr "" -#: src/iuse.cpp -msgid "Ka-BOOM!" -msgstr "" - #: src/iuse.cpp msgid "The fabric of space seems to decay." msgstr "" -#: src/iuse.cpp -msgid "The earth shakes!" -msgstr "" - #: src/iuse.cpp #, c-format msgid "The %s glows brightly!" @@ -198684,7 +206029,7 @@ msgid "Spray what?" msgstr "" #: src/iuse.cpp -msgid "(To delete, input one '.')" +msgid "(To delete, clear the text and confirm)" msgstr "" #: src/iuse.cpp @@ -198695,10 +206040,6 @@ msgstr "" msgid "You manage to get rid of the message on the ground." msgstr "" -#: src/iuse.cpp -msgid "There isn't anything to erase here." -msgstr "" - #: src/iuse.cpp msgid "You carve an inscription on the grave." msgstr "" @@ -198716,11 +206057,7 @@ msgid "You don't have appropriate food to heat up." msgstr "" #: src/iuse.cpp -msgid "You defrost the food, but don't heat it up, since you enjoy it cold." -msgstr "" - -#: src/iuse.cpp -msgid "You defrost and heat up the food." +msgid "You start heating up the food." msgstr "" #: src/iuse.cpp @@ -198892,7 +206229,7 @@ msgstr "" #: src/iuse.cpp #, c-format msgid "You cannot repair your %s." -msgstr "" +msgstr "Ezt nem tudod megjavítani: %s." #: src/iuse.cpp src/iuse_actor.cpp #, c-format @@ -198915,13 +206252,13 @@ msgstr "" #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s! ( %s-> %s)" -msgstr "" +msgid "You repair your %s! ( %s-> %s)" +msgstr "Megjavítod a(z) %st! (%s->%s)" #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s completely! ( %s-> %s)" -msgstr "" +msgid "You repair your %s completely! ( %s-> %s)" +msgstr "Teljesen megjavítod a(z) %st! (%s->%s)" #: src/iuse.cpp msgid "Select tool to modify" @@ -198953,11 +206290,11 @@ msgid "You reinforce your %s." msgstr "" #: src/iuse.cpp -msgid "Clank! Clank!" +msgid "Clank! Clank!" msgstr "" #: src/iuse.cpp -msgid "Ring! Ring!" +msgid "Ring! Ring!" msgstr "" #: src/iuse.cpp @@ -199114,7 +206451,7 @@ msgid "Wasted time, these pictures do not provoke your senses." msgstr "" #: src/iuse.cpp -msgid "You used to have a dog like this..." +msgid "You used to have a dog like this…" msgstr "" #: src/iuse.cpp @@ -199126,7 +206463,7 @@ msgid "Excellent pictures of nature." msgstr "" #: src/iuse.cpp -msgid "Food photos... your stomach rumbles!" +msgid "Food photos… your stomach rumbles!" msgstr "" #: src/iuse.cpp @@ -199586,12 +206923,12 @@ msgid "A %s got in the way of your photo." msgstr "" #: src/iuse.cpp -msgid "Strange... there's nothing in the center of picture?" +msgid "Strange… there's nothing in the center of picture?" msgstr "" #: src/iuse.cpp #, c-format -msgid "Strange... %s's not visible on the picture?" +msgid "Strange… %s's not visible on the picture?" msgstr "" #: src/iuse.cpp @@ -199707,7 +207044,7 @@ msgstr "" #: src/iuse.cpp #, c-format -msgid "RC car with %s ? How?" +msgid "RC car with %s? How?" msgstr "" #: src/iuse.cpp @@ -199716,12 +207053,12 @@ msgid "Your %s is too heavy or bulky for this RC car." msgstr "" #: src/iuse.cpp -msgid "You disarmed your RC car" +msgid "You disarmed your RC car." msgstr "" #. ~Sound of a radio controlled car moving around #: src/iuse.cpp -msgid "buzzz..." +msgid "buzzz…" msgstr "" #: src/iuse.cpp @@ -199729,11 +207066,11 @@ msgid "What to do with activated RC car?" msgstr "" #: src/iuse.cpp -msgid "You turned off your RC car" +msgid "You turned off your RC car." msgstr "" -#: src/iuse.cpp src/map.cpp -msgid "beep." +#: src/iuse.cpp +msgid "beep" msgstr "" #: src/iuse.cpp @@ -199771,7 +207108,14 @@ msgstr "" #: src/iuse.cpp #, c-format msgid "" -"The %s in you inventory would explode on this signal. Place it down before " +"The %s in your inventory would explode on this signal. Place it down before" +" sending the signal." +msgstr "" + +#: src/iuse.cpp +#, c-format +msgid "" +"The %1$s in your %2$s would explode on this signal. Place it down before " "sending the signal." msgstr "" @@ -199839,6 +207183,12 @@ msgstr "" msgid "Execute one vehicle action" msgstr "" +#: src/iuse.cpp +msgid "" +"Despite using a controller, you still refuse to take control of this " +"vehicle." +msgstr "" + #: src/iuse.cpp msgid "You take control of the vehicle." msgstr "" @@ -199857,7 +207207,7 @@ msgstr "" #. ~ Single-spaced & lowercase are intentional, conveying hurried speech-KA101 #: src/iuse.cpp -msgid "Are you sure?! the multi-cooker wants to poison your food!" +msgid "Are you sure?! the multi-cooker wants to poison your food!" msgstr "" #: src/iuse.cpp @@ -199900,7 +207250,7 @@ msgid "The cycle will be completed in %s." msgstr "" #: src/iuse.cpp -msgid "The multi-cooker should be finishing shortly..." +msgid "The multi-cooker should be finishing shortly…" msgstr "" #. ~ sound of a multi-cooker finishing its cycle! @@ -199979,8 +207329,8 @@ msgid "" msgstr "" #: src/iuse.cpp -msgid "Your morale is too low to craft..." -msgstr "Túl rossz a kedved ahhoz, hogy bármit is készíthess." +msgid "Your morale is too low to craft…" +msgstr "" #: src/iuse.cpp #, c-format @@ -200106,7 +207456,7 @@ msgstr "" #: src/iuse.cpp #, c-format -msgid "The %s's monitor slowly outputs the data..." +msgid "The %s's monitor slowly outputs the data…" msgstr "" #: src/iuse.cpp @@ -200249,7 +207599,7 @@ msgid "You break the stick, but one half shatters into splinters." msgstr "" #: src/iuse.cpp -msgid "The throbbing of the infection diminishes. Slightly." +msgid "The throbbing of the infection diminishes. Slightly." msgstr "" #: src/iuse.cpp @@ -200271,7 +207621,7 @@ msgstr "" #: src/iuse.cpp msgid "" -"Simply taking more magnesium won't help. You have to go to sleep for it to " +"Simply taking more magnesium won't help. You have to go to sleep for it to " "work." msgstr "" @@ -200397,8 +207747,8 @@ msgstr "" #, c-format msgid "You need a tool with %s." msgid_plural "You need tools with %s." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Ehhez egy %s szerszám szükséges." +msgstr[1] "Ehhez egy %s szerszám szükséges." #: src/iuse_actor.cpp #, c-format @@ -200534,7 +207884,7 @@ msgid "With a satisfying click, the lock on the door opens." msgstr "" #: src/iuse_actor.cpp -msgid "The door swings open..." +msgid "The door swings open…" msgstr "" #: src/iuse_actor.cpp @@ -200641,7 +207991,7 @@ msgstr "" #: src/iuse_actor.cpp msgid "" -"There's a brazier there but you haven't set it up to contain the fire. " +"There's a brazier there but you haven't set it up to contain the fire. " "Continue?" msgstr "" @@ -200650,7 +208000,7 @@ msgid "You successfully light a fire." msgstr "" #: src/iuse_actor.cpp -msgid "You light a fire, but it isn't enough. You need to light more." +msgid "You light a fire, but it isn't enough. You need to light more." msgstr "" #: src/iuse_actor.cpp @@ -200759,7 +208109,14 @@ msgid "It's a note" msgstr "" #: src/iuse_actor.cpp -msgid "(To delete, input one '.')\n" +msgid "(To delete, clear the text and confirm)\n" +msgstr "" + +#. ~ %1$s: gerund (e.g. carved), %2$s: item name +#: src/iuse_actor.cpp +#, c-format +msgctxt "carving" +msgid "%1$s on the %2$s is: " msgstr "" #: src/iuse_actor.cpp @@ -200784,6 +208141,11 @@ msgstr "" msgid "Inscribe which item?" msgstr "" +#: src/iuse_actor.cpp +#, c-format +msgid "You try to bend your %s, but fail." +msgstr "" + #: src/iuse_actor.cpp msgid "You cauterize yourself." msgstr "" @@ -200830,7 +208192,7 @@ msgid "Make love, not zlave." msgstr "" #: src/iuse_actor.cpp -msgid "Well, it's more constructive than just chopping 'em into gooey meat..." +msgid "Well, it's more constructive than just chopping 'em into gooey meat…" msgstr "" #: src/iuse_actor.cpp @@ -201125,8 +208487,8 @@ msgstr "%s (szerelhető ezzel: %s)" #: src/iuse_actor.cpp #, c-format -msgid "You don't have enough %s to do that. Have: %d, need: %d" -msgstr "Ehhez nincsen elegendő %s. %d van, de %d kéne." +msgid "You don't have enough %s to do that. Have: %d, need: %d" +msgstr "" #: src/iuse_actor.cpp msgid "That requires gunsmithing tools." @@ -201147,7 +208509,7 @@ msgstr "A(z) %s már így is a lehető legjobbra van feljavítva." #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s! ( %s-> %s)" +msgid "You damage your %s! ( %s-> %s)" msgstr "" #: src/iuse_actor.cpp @@ -201340,8 +208702,8 @@ msgstr "Mozgás használathoz: " #: src/iuse_actor.cpp #, c-format -msgid "Yeah. Place the %s at your feet. Real damn smart move." -msgstr "Na ja. Pont a lábad elé tedd le a(z) %st. Agyalágyult." +msgid "Yeah. Place the %s at your feet. Real damn smart move." +msgstr "" #: src/iuse_actor.cpp #, c-format @@ -201360,8 +208722,8 @@ msgstr "A(z) %s mellett kell egy %s-nek lennie." #: src/iuse_actor.cpp #, c-format -msgid "You can't place a %s there. It contains a trap already." -msgstr "Nem teheted oda a(z) %st. Ott már van egy csapda." +msgid "You can't place a %s there. It contains a trap already." +msgstr "" #: src/iuse_actor.cpp #, c-format @@ -201449,6 +208811,10 @@ msgstr "A módosítások közül egyet sem lehet eltávolítani." msgid "Has to be taken off first." msgstr "Először le kell venni." +#: src/iuse_actor.cpp +msgid "You quiver with anticipation…" +msgstr "" + #: src/iuse_actor.cpp msgid "You suddenly feel dizzy, and collapse to the ground." msgstr "" @@ -201516,10 +208882,30 @@ msgstr "" msgid "How do you want to modify it?" msgstr "Hogyan szeretnéd módosítani?" +#. ~ %1$s: modification desc, %2$d: number of thread needed +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (need %2$d thread loaded)" +msgstr "" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items needed #: src/iuse_actor.cpp -msgid "Not enough thread to modify. Which modification do you want to remove?" +#, c-format +msgid "Can't %1$s (need %2$d %3$s)" +msgstr "" + +#. ~ %1$s: modification desc, %2$s: mod name +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (incompatible with %2$s)" +msgstr "" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items +#. needed, %4$s: number of thread needed +#: src/iuse_actor.cpp +#, c-format +msgid "%1$s (%2$d %3$s and %4$d thread)" msgstr "" -"Nincsen elég cérna a módosításhoz. Melyik módosítást szeretnéd eltávolítani?" #: src/iuse_actor.cpp msgid "Bash" @@ -201551,7 +208937,7 @@ msgstr "Biztosan? Alapanyagot nem nyersz vissza." #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s trying to modify it! ( %s-> %s)" +msgid "You damage your %s trying to modify it! ( %s-> %s)" msgstr "" #: src/iuse_actor.cpp @@ -201571,6 +208957,14 @@ msgstr "" msgid "You modify your %s!" msgstr "Sikerrel módosítottad a(z) %st!" +#: src/iuse_actor.h +msgid "Carve" +msgstr "" + +#: src/iuse_actor.h +msgid "Carved" +msgstr "" + #: src/iuse_software.cpp msgid "You found kitten!" msgstr "" @@ -201594,7 +208988,7 @@ msgid "It's an altar to the horse god." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A box of dancing mechanical pencils. They dance! They sing!" +msgid "A box of dancing mechanical pencils. They dance! They sing!" msgstr "" #: src/iuse_software_kitten.cpp @@ -201606,7 +209000,7 @@ msgid "A box of fumigation pellets." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A digital clock. It's stuck at 2:17 PM." +msgid "A digital clock. It's stuck at 2:17 PM." msgstr "" #: src/iuse_software_kitten.cpp @@ -201618,15 +209012,15 @@ msgid "I don't know what that is, but it's not kitten." msgstr "" #: src/iuse_software_kitten.cpp -msgid "An empty shopping bag. Paper or plastic?" +msgid "An empty shopping bag. Paper or plastic?" msgstr "" #: src/iuse_software_kitten.cpp -msgid "Could it be... a big ugly bowling trophy?" +msgid "Could it be… a big ugly bowling trophy?" msgstr "" #: src/iuse_software_kitten.cpp -msgid "A coat hanger hovers in thin air. Odd." +msgid "A coat hanger hovers in thin air. Odd." msgstr "" #: src/iuse_software_kitten.cpp @@ -201650,7 +209044,7 @@ msgid "It's Richard Nixon's nose!" msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." +msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." msgstr "" #: src/iuse_software_kitten.cpp @@ -201662,7 +209056,7 @@ msgid "Just an autographed copy of the Kama Sutra." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" +msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" msgstr "" #: src/iuse_software_kitten.cpp @@ -201723,7 +209117,7 @@ msgid "It's a mighty zombie talking about some love and prosperity." msgstr "" #: src/iuse_software_kitten.cpp -msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize...\"" +msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize…\"" msgstr "" #: src/iuse_software_kitten.cpp @@ -201767,7 +209161,8 @@ msgid "It's some compromising photos of Babar the Elephant." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A copy of the Weekly World News. Watch out for the chambered nautilus!" +msgid "" +"A copy of the Weekly World News. Watch out for the chambered nautilus!" msgstr "" #: src/iuse_software_kitten.cpp @@ -201787,19 +209182,19 @@ msgid "Paul Moyer's necktie." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A haircut and a real job. Now you know where to get one!" +msgid "A haircut and a real job. Now you know where to get one!" msgstr "" #: src/iuse_software_kitten.cpp -msgid "An automated robot-hater. It frowns disapprovingly at you." +msgid "An automated robot-hater. It frowns disapprovingly at you." msgstr "" #: src/iuse_software_kitten.cpp -msgid "An automated robot-liker. It smiles at you." +msgid "An automated robot-liker. It smiles at you." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a black hole. Don't fall in!" +msgid "It's a black hole. Don't fall in!" msgstr "" #: src/iuse_software_kitten.cpp @@ -201807,7 +209202,7 @@ msgid "Just a big brick wall." msgstr "" #: src/iuse_software_kitten.cpp -msgid "You found kitten! No, just kidding." +msgid "You found kitten! No, just kidding." msgstr "" #: src/iuse_software_kitten.cpp @@ -201860,7 +209255,7 @@ msgid "It's the constellation Pisces." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a fly on the wall. Hi, fly!" +msgid "It's a fly on the wall. Hi, fly!" msgstr "" #: src/iuse_software_kitten.cpp @@ -201868,7 +209263,7 @@ msgid "This kind of looks like kitten, but it's not." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a banana! Oh, joy!" +msgid "It's a banana! Oh, joy!" msgstr "" #: src/iuse_software_kitten.cpp @@ -201896,11 +209291,11 @@ msgid "A geyser sprays water high into the air." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A toenail? What good is a toenail?" +msgid "A toenail? What good is a toenail?" msgstr "" #: src/iuse_software_kitten.cpp -msgid "You've found the fish! Not that it does you much good in this game." +msgid "You've found the fish! Not that it does you much good in this game." msgstr "" #: src/iuse_software_kitten.cpp @@ -201924,7 +209319,7 @@ msgid "It's nothing but a G-thang, baby." msgstr "" #: src/iuse_software_kitten.cpp -msgid "IT'S ALIVE! AH HA HA HA HA!" +msgid "IT'S ALIVE! AH HA HA HA HA!" msgstr "" #: src/iuse_software_kitten.cpp @@ -201933,11 +209328,11 @@ msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" +"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" msgstr "" #: src/iuse_software_kitten.cpp -msgid "A livery stable! Get your livery!" +msgid "A livery stable! Get your livery!" msgstr "" #: src/iuse_software_kitten.cpp @@ -201958,7 +209353,7 @@ msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " +"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " "know." msgstr "" @@ -201967,7 +209362,7 @@ msgid "This appears to be a rather large stack of trashy romance novels." msgstr "" #: src/iuse_software_kitten.cpp -msgid "Look out! Exclamation points!" +msgid "Look out! Exclamation points!" msgstr "" #: src/iuse_software_kitten.cpp @@ -201975,11 +209370,11 @@ msgid "A herd of wild coffee mugs slumbers here." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a limbo bar! How low can you go?" +msgid "It's a limbo bar! How low can you go?" msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's the horizon. Now THAT'S weird." +msgid "It's the horizon. Now THAT'S weird." msgstr "" #: src/iuse_software_kitten.cpp @@ -201995,16 +209390,17 @@ msgid "A pair of saloon-style doors swing slowly back and forth here." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's an ordinary bust of Beethoven... but why is it painted green?" +msgid "It's an ordinary bust of Beethoven… but why is it painted green?" msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." +msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"Hey, look, it's war. What is it good for? Absolutely nothing. Say it again." +"Hey, look, it's war. What is it good for? Absolutely nothing. Say it " +"again." msgstr "" #: src/iuse_software_kitten.cpp @@ -202012,7 +209408,7 @@ msgid "It's the amazing self-referential thing that's not kitten." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" +msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" msgstr "" #: src/iuse_software_kitten.cpp @@ -202031,7 +209427,7 @@ msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"This is a large brown bear. Oddly enough, it's currently peeing in the " +"This is a large brown bear. Oddly enough, it's currently peeing in the " "woods." msgstr "" @@ -202061,7 +209457,7 @@ msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"This is a television. On screen you see a robot strangely similar to " +"This is a television. On screen you see a robot strangely similar to " "yourself." msgstr "" @@ -202070,16 +209466,16 @@ msgid "This balogna has a first name, it's R-A-N-C-I-D." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A salmon hatchery? Look again. It's merely a single salmon." +msgid "A salmon hatchery? Look again. It's merely a single salmon." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a rim shot. Ba-da-boom!" +msgid "It's a rim shot. Ba-da-boom!" msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." +"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." msgstr "" #: src/iuse_software_kitten.cpp @@ -202091,7 +209487,7 @@ msgid "This object is like an analogy." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a symbol. You see in it a model for all symbols everywhere." +msgid "It's a symbol. You see in it a model for all symbols everywhere." msgstr "" #: src/iuse_software_kitten.cpp @@ -202099,17 +209495,17 @@ msgid "The object pushes back at you." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A traffic signal. It appears to have been recently vandalized." +msgid "A traffic signal. It appears to have been recently vandalized." msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"\"There is no kitten!\" cackles the old crone. You are shocked by her " +"\"There is no kitten!\" cackles the old crone. You are shocked by her " "blasphemy." msgstr "" #: src/iuse_software_kitten.cpp -msgid "This is a Lagrange point. Don't come too close now." +msgid "This is a Lagrange point. Don't come too close now." msgstr "" #: src/iuse_software_kitten.cpp @@ -202129,7 +209525,7 @@ msgid "It's the instruction manual for a previous version of this game." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A brain cell. Oddly enough, it seems to be functioning." +msgid "A brain cell. Oddly enough, it seems to be functioning." msgstr "" #: src/iuse_software_kitten.cpp @@ -202145,7 +209541,7 @@ msgid "It's a Quaker Oatmeal tube, converted into a drum." msgstr "" #: src/iuse_software_kitten.cpp -msgid "This is a remote control. Being a robot, you keep a wide berth." +msgid "This is a remote control. Being a robot, you keep a wide berth." msgstr "" #: src/iuse_software_kitten.cpp @@ -202153,7 +209549,7 @@ msgid "It's a roll of industrial-strength copper wire." msgstr "" #: src/iuse_software_kitten.cpp -msgid "Oh boy! Grub! Er, grubs." +msgid "Oh boy! Grub! Er, grubs." msgstr "" #: src/iuse_software_kitten.cpp @@ -202181,11 +209577,11 @@ msgid "An autographed copy of \"Primary Colors\", by Anonymous." msgstr "" #: src/iuse_software_kitten.cpp -msgid "Another rabbit? That's three today!" +msgid "Another rabbit? That's three today!" msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a segmentation fault. Core dumped, by the way." +msgid "It's a segmentation fault. Core dumped, by the way." msgstr "" #: src/iuse_software_kitten.cpp @@ -202193,7 +209589,7 @@ msgid "A historical marker showing the actual location of /dev/null." msgstr "" #: src/iuse_software_kitten.cpp -msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" +msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" msgstr "" #: src/iuse_software_kitten.cpp @@ -202213,7 +209609,7 @@ msgid "A stack of 7 inch floppies wobbles precariously." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's nothing but a corrupted floppy. Coaster anyone?" +msgid "It's nothing but a corrupted floppy. Coaster anyone?" msgstr "" #: src/iuse_software_kitten.cpp @@ -202257,7 +209653,7 @@ msgid "It's the missing chapter to \"A Clockwork Orange\"." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." +msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." msgstr "" #: src/iuse_software_kitten.cpp @@ -202285,11 +209681,11 @@ msgid "A forgotten telephone switchboard operator." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's an automated robot-disdainer. It pretends you're not there." +msgid "It's an automated robot-disdainer. It pretends you're not there." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." +msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." msgstr "" #: src/iuse_software_kitten.cpp @@ -202297,11 +209693,11 @@ msgid "Just a moldy loaf of bread." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." +msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" +msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" msgstr "" #: src/iuse_software_kitten.cpp @@ -202321,7 +209717,7 @@ msgid "A willing, ripe tomato bemoans your inability to digest fruit." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A robot comedian. You feel amused." +msgid "A robot comedian. You feel amused." msgstr "" #: src/iuse_software_kitten.cpp @@ -202329,7 +209725,7 @@ msgid "It's KITT, the talking car." msgstr "" #: src/iuse_software_kitten.cpp -msgid "Here's Pete Peterson. His batteries seem to have long gone dead." +msgid "Here's Pete Peterson. His batteries seem to have long gone dead." msgstr "" #: src/iuse_software_kitten.cpp @@ -202357,7 +209753,7 @@ msgid "Pumpkin pie spice." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's the Bass-Matic '76! Mmm, that's good bass!" +msgid "It's the Bass-Matic '76! Mmm, that's good bass!" msgstr "" #: src/iuse_software_kitten.cpp @@ -202365,7 +209761,7 @@ msgid "\"Lend us a fiver 'til Thursday\", pleas Andy Capp." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a tape of '70s rock. All original hits! All original artists!" +msgid "It's a tape of '70s rock. All original hits! All original artists!" msgstr "" #: src/iuse_software_kitten.cpp @@ -202382,12 +209778,12 @@ msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " +"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " "SIR!\"" msgstr "" #: src/iuse_software_kitten.cpp -msgid "...thingy???" +msgid "…thingy???" msgstr "" #: src/iuse_software_kitten.cpp @@ -202399,11 +209795,11 @@ msgid "The letters O and R." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A magical... magic thing." +msgid "A magical… magic thing." msgstr "" #: src/iuse_software_kitten.cpp -msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" +msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" msgstr "" #: src/iuse_software_kitten.cpp @@ -202434,9 +209830,9 @@ msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"Your job is to find kitten. This task is complicated by the existence of " -"various things which are not kitten. Robot must touch items to determine if " -"they are kitten or not. The game ends when robot finds kitten. " +"Your job is to find kitten. This task is complicated by the existence of " +"various things which are not kitten. Robot must touch items to determine if" +" they are kitten or not. The game ends when robot finds kitten. " "Alternatively, you may end the game by hitting 'q', 'Q' or the Escape key." msgstr "" @@ -202449,7 +209845,7 @@ msgid "Invalid command: Use direction keys or press 'q'." msgstr "" #: src/iuse_software_kitten.cpp -msgid "You found kitten! Way to go, robot!" +msgid "You found kitten! Way to go, robot!" msgstr "" #: src/iuse_software_lightson.cpp @@ -202522,7 +209918,7 @@ msgid "lag" msgstr "" #: src/iuse_software_minesweeper.cpp -msgid "Boom, you're dead! Better luck next time." +msgid "Boom, you're dead! Better luck next time." msgstr "" #: src/iuse_software_snake.cpp src/iuse_software_sokoban.cpp @@ -202641,7 +210037,7 @@ msgstr "nyugat" #: src/line.cpp msgid "NW " -msgstr "ÉNy" +msgstr "ÉN" #: src/line.cpp msgid "northwest" @@ -202825,6 +210221,10 @@ msgstr "" msgid "You cast %s!" msgstr "" +#: src/magic.cpp +msgid "an explosion" +msgstr "" + #: src/magic.cpp msgid "Too Difficult!" msgstr "" @@ -202857,10 +210257,6 @@ msgstr "" msgid "infinite" msgstr "" -#: src/magic.cpp -msgid "an explosion" -msgstr "" - #: src/magic.cpp #, c-format msgid "%s and %s" @@ -202899,6 +210295,23 @@ msgstr "" msgid "All knowledge of %s leaves you." msgstr "" +#: src/magic.cpp +msgid "Choose a new hotkey for this spell." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey already used." +msgstr "" + +#: src/magic.cpp +#, c-format +msgid "%c set. Close and reopen spell menu to refresh list with changes." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey removed." +msgstr "" + #: src/magic.cpp msgid "Ignore Distractions" msgstr "" @@ -202907,6 +210320,10 @@ msgstr "" msgid "Popup Distractions" msgstr "" +#: src/magic.cpp +msgid "Assign Hotkey [=]" +msgstr "" + #: src/magic.cpp msgid "requires concentration" msgstr "" @@ -202971,6 +210388,10 @@ msgstr "" msgid "Casting Cost (impeded)" msgstr "" +#: src/magic.cpp +msgid "Not Enough Energy" +msgstr "" + #: src/magic.cpp msgid "Casting Time" msgstr "" @@ -203039,18 +210460,22 @@ msgstr "" msgid "Damage Type" msgstr "" +#. ~ translation should not exceed 10 console cells #: src/magic.cpp msgid "Stat Gain" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "lvl 0" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "per lvl" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "max lvl" msgstr "" @@ -203104,8 +210529,8 @@ msgid "Choose Translocator Gate" msgstr "" #: src/main.cpp -msgid "Really Quit? All unsaved changes will be lost." -msgstr "Biztosan kilépsz? Az el nem mentett változások elvésznek." +msgid "Really Quit? All unsaved changes will be lost." +msgstr "" #: src/main_menu.cpp msgid "Bugs? Suggestions? Use links in MOTD to report them." @@ -203226,22 +210651,24 @@ msgid "olors" msgstr "Sínek" #: src/main_menu.cpp -msgid "Unable to make config directory. Check permissions." +msgid "Unable to make config directory. Check permissions." +msgstr "" + +#: src/main_menu.cpp +msgid "Unable to make save directory. Check permissions." msgstr "" -"Nem sikerült létrehozni a config mappát. Ellenőrizd a jogosultságokat." #: src/main_menu.cpp -msgid "Unable to make save directory. Check permissions." -msgstr "Nem sikerült létrehozni a save mappát. Ellenőrizd a jogosultságokat." +msgid "Unable to make templates directory. Check permissions." +msgstr "" #: src/main_menu.cpp -msgid "Unable to make templates directory. Check permissions." +msgid "Unable to make sound directory. Check permissions." msgstr "" -"Nem sikerült létrehozni a templates mappát. Ellenőrizd a jogosultságokat." #: src/main_menu.cpp -msgid "Unable to make sound directory. Check permissions." -msgstr "Nem sikerült létrehozni a sound mappát. Ellenőrizd a jogosultságokat." +msgid "Unable to make graphics directory. Check permissions." +msgstr "" #: src/main_menu.cpp msgid "Really quit?" @@ -203269,8 +210696,8 @@ msgstr "alálomra generált karakter" #: src/main_menu.cpp msgctxt "Main Menu|New Game" -msgid "Play Now! (ixed Scenario)" -msgstr "Kezdés most! (ix eset)" +msgid "Play Now! (ixed Scenario)" +msgstr "" #: src/main_menu.cpp msgctxt "Main Menu|New Game" @@ -203318,6 +210745,12 @@ msgstr "Csak az admin változtathatja meg a világokat." msgid "Create World" msgstr "Új világ" +#. ~ %1$s: vehicle name +#: src/map.cpp +#, c-format +msgid "weight of %1$s" +msgstr "" + #: src/map.cpp #, c-format msgid "The %1$s's %2$s collides with %3$s's %4$s." @@ -203379,6 +210812,17 @@ msgstr "Rád esik a(z) %s." msgid "Falling %s hits " msgstr " fejére esik a(z) %s." +#: src/map.cpp +#, c-format +msgid "The %s damages several items!" +msgstr "" + +#. ~ %1$s: the cause of damage, %2$s: damaged item name +#: src/map.cpp +#, c-format +msgid "The %1$s damages the %2$s!" +msgstr "" + #: src/map.cpp msgid "an alarm go off!" msgstr "felüvöltő riasztó!" @@ -203395,18 +210839,34 @@ msgstr "Agyonnyom a fejedre zuhanó törmelék!" msgid " is crushed by the falling debris!" msgstr "t agyonnyomja a fejére zuhanó törmelék!" -#: src/map.cpp -msgid "The shot is stopped by the reinforced glass wall!" -msgstr "A lövedéket felfogja a drótüveg fal!" - #: src/map.cpp msgid "The shot is stopped by the reinforced glass door!" msgstr "A lövedéket felfogja a drótüveg ajtó!" +#: src/map.cpp +msgid "The shot is stopped by the reinforced glass wall!" +msgstr "A lövedéket felfogja a drótüveg fal!" + #: src/map.cpp msgid "ke-rash!" msgstr "roppanás!" +#: src/map.cpp +msgid "laser beam" +msgstr "" + +#: src/map.cpp +msgid "bolt of electricity" +msgstr "" + +#: src/map.cpp +msgid "bolt of plasma" +msgstr "" + +#: src/map.cpp +msgid "flying projectile" +msgstr "" + #: src/map.cpp msgid "The metal bars melt!" msgstr "A fémrudak elolvadnak!" @@ -203418,7 +210878,7 @@ msgstr "" #: src/map.cpp #, c-format msgid "It should take %d minutes to finish washing items in the %s." -msgstr "" +msgstr "Még %d perc van hátra a(z) %s mosási programjából." #: src/map.cpp #, c-format @@ -203433,7 +210893,7 @@ msgstr "" #: src/map.cpp #, c-format msgid "It should take %d minutes to finish sterilising items in the %s." -msgstr "" +msgstr "Még %d perc van hátra a(z) %s sterilizálási programjából." #: src/map.cpp #, c-format @@ -203468,8 +210928,8 @@ msgid "Something has crawled out of the %s!" msgstr "" #: src/map_extras.cpp -msgid "DANGER! MINEFIELD!" -msgstr "VIGYÁZZ! AKNAMEZŐ!" +msgid "DANGER! MINEFIELD!" +msgstr "" #: src/map_field.cpp #, c-format @@ -203519,8 +210979,8 @@ msgid "The sap sticks to !" msgstr "A gyanta ráragad testére!" #: src/map_field.cpp -msgid "The sludge is thick and sticky. You struggle to pull free." -msgstr "Az iszap sűrű és ragacsos. Nehezen tudod kiszabadítani magadat." +msgid "The sludge is thick and sticky. You struggle to pull free." +msgstr "" #: src/map_field.cpp msgid "You burn your legs and feet!" @@ -203902,20 +211362,32 @@ msgstr "" #: src/martialarts.cpp #, c-format -msgid "The %s is not a valid %s weapon." +msgid "The %1$s is not a valid %2$s weapon." msgstr "" #: src/martialarts.cpp -#, c-format -msgid "Type: %s" +msgid "Block Counter" msgstr "" #: src/martialarts.cpp -msgid "defensive" +msgid "Dodge Counter" msgstr "" #: src/martialarts.cpp -msgid "offensive" +msgid "Miss Recovery" +msgstr "" + +#: src/martialarts.cpp +msgid "Defensive" +msgstr "" + +#: src/martialarts.cpp +msgid "Offensive" +msgstr "" + +#: src/martialarts.cpp +#, c-format +msgid "Type: %s" msgstr "" #: src/martialarts.cpp @@ -204023,6 +211495,11 @@ msgstr "" msgid "* Will disarm the target" msgstr "" +#: src/martialarts.cpp +msgid "" +"* Will disarm the target and take their weapon" +msgstr "" + #: src/martialarts.cpp msgid "" "This style forces you to use unarmed strikes, even if wielding a " @@ -204131,12 +211608,12 @@ msgstr "A(z) %s neked ugrik, de te kitérsz elõle!" #: src/mattack_actors.cpp #, c-format msgid "The %1$s bites your %2$s, but fails to penetrate armor!" -msgstr "A(z) %1$s a(z) %2$sbe harap, de tudja átrágni a páncélt!" +msgstr "A(z) %1$s a(z) %2$sbe harap, de nem tudja átrágni a páncélt!" #: src/mattack_actors.cpp #, c-format msgid "The %1$s bites your %2$s!" -msgstr "A(z) %1$s megharapja a(z) %2$s testrészedet!" +msgstr "A(z) %1$s megharapja a(z) %2$s!" #: src/mattack_actors.cpp src/monattack.cpp #, c-format @@ -204146,7 +211623,7 @@ msgstr "A(z) %s felé ugrik, de ő kitér!" #: src/mattack_actors.cpp #, c-format msgid "The %1$s bites 's %2$s, but fails to penetrate armor!" -msgstr "A(z) %1$s beleharap %2$sbe, de tudja átrágni a páncélt!" +msgstr "A(z) %1$s beleharap %2$sbe, de nem tudja átrágni a páncélt!" #: src/mattack_actors.cpp #, c-format @@ -204173,8 +211650,8 @@ msgstr[1] "" #. ~ There will be a 120mm HEAT shell sent at high speed to your location next #. turn. #: src/mattack_actors.cpp src/monattack.cpp -msgid "You're not sure why you've got a laser dot on you..." -msgstr "Nem tudod, hogy miért látszik rajtad egy célzólézer pontja..." +msgid "You're not sure why you've got a laser dot on you…" +msgstr "" #: src/mattack_actors.cpp src/monattack.cpp msgid "The " @@ -204272,6 +211749,20 @@ msgstr "Eltalálsz valamit." msgid "You swing at the air." msgstr "A levegőbe suhintasz." +#: src/melee.cpp +msgid " disarms you and takes your weapon!" +msgstr "" + +#: src/melee.cpp +#, c-format +msgid "You disarm %s and take their weapon!" +msgstr "" + +#: src/melee.cpp +#, c-format +msgid " disarms %s and takes their weapon!" +msgstr "" + #: src/melee.cpp msgid " disarms you!" msgstr " lefegyverez!" @@ -204293,11 +211784,6 @@ msgid_plural "%d enemies hit!" msgstr[0] "" msgstr[1] "" -#: src/melee.cpp -#, c-format -msgid "You have learned %s from extensive practice with the CQB Bionic." -msgstr "" - #. ~ Adjective in "You block of the damage with your . #: src/melee.cpp msgid "all" @@ -204338,6 +211824,10 @@ msgstr "A sebzés %1$s blokkolod a(z) %2$s segítségével!" msgid " blocks %1$s of the damage with their %2$s!" msgstr " a sebzés %1$s blokkolja a(z) %2$s segítségével!" +#: src/melee.cpp src/player.cpp +msgid "You try to counterattack but you are too exhausted!" +msgstr "" + #: src/melee.cpp #, c-format msgid "You poison %s!" @@ -204619,8 +212109,8 @@ msgstr "%s. Kritikus találat!" #. ~ someone hits something for %d damage (critical) #: src/melee.cpp #, c-format -msgid "%s for %d damage. Critical!" -msgstr "%s %d pont sebzéssel. Kritikus találat!" +msgid "%s for %d damage. Critical!" +msgstr "" #. ~ NPC hits something #: src/melee.cpp @@ -204858,6 +212348,7 @@ msgstr "" msgid "" "Bionic Power: %d/%d" msgstr "" +"Bionikus energia: %d/%d" #: src/memorial_logger.cpp msgid "Weapon:" @@ -205960,7 +213451,7 @@ msgstr "" #: src/messages.cpp #, c-format msgid "" -"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" +"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" "Examples:\n" " good:mutation\n" " :you pick up: 1\n" @@ -206011,14 +213502,9 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Assigning one of your allies to patrol the surrounding wilderness and isolated buildings presents the opportunity to build survival skills while engaging in relatively safe combat against isolated creatures." msgstr "" -"Profit: $25-$500\n" -"Veszély: Alacsony\n" -"Idő: 10 órás küldetések\n" -" \n" -"Az egyik szövetségesedet őrjáratozni küldöd a mindent körülvevő vadonba és az elszigetelt épületekhez, és így lehetőséget kapunk a túlélési készségek megszerzésére az elszigetelt lények ellen, nagyrészt biztonságos harcok által." #: src/mission_companion.cpp msgid "Assign Scavenging Patrol" @@ -206029,18 +213515,13 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Patrol Roster:\n" msgstr "" -"Profit: $25-$500\n" -"Veszély: Alacsony\n" -"Idő: 10 órás küldetések\n" -" \n" -"Őrjárat beosztások:\n" #: src/mission_companion.cpp -msgid " hours] \n" -msgstr " óra] \n" +msgid " hours]\n" +msgstr "" #: src/mission_companion.cpp msgid "Retrieve Scavenging Patrol" @@ -206051,14 +213532,9 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Scavenging raids target formerly populated areas to loot as many valuable items as possible before being surrounded by the undead. Combat is to be expected and assistance from the rest of the party can't be guaranteed. The rewards are greater and there is a chance of the companion bringing back items." msgstr "" -"Profit: $200-$1000\n" -"Veszély: Közepes\n" -"Idő: 10 órás küldetések\n" -" \n" -"A guberáló rajtaütések korábban lakott területekre indulnak, céljuk minél több értékes tárgy begyűjtése még mielőtt az élőholtak körbevennének. Várható a harc, és a csapat többi része nem biztos, hogy segíteni tud. A zsákmány nagyobb, és van arra esély, hogy a társ tárgyakat hozzon vissza." #: src/mission_companion.cpp msgid "Assign Scavenging Raid" @@ -206069,14 +213545,9 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Raid Roster:\n" msgstr "" -"Profit: $200-$1000\n" -"Veszély: Közepes\n" -"Idő: 10 órás küldetések\n" -" \n" -"Rajtaütés beosztások:\n" #: src/mission_companion.cpp msgid "Retrieve Scavenging Raid" @@ -206091,9 +213562,9 @@ msgid "" "Profit: $8/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Assigning one of your allies to menial labor is a safe way to teach them basic skills and build reputation with the outpost. Don't expect much of a reward though.\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" @@ -206106,14 +213577,9 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Carpentry work requires more skill than menial labor while offering modestly improved pay. It is unlikely that your companions will face combat but there are hazards working on makeshift buildings." msgstr "" -"Profit: $12/óra\n" -"Veszély: Minimális\n" -"Idő: Minimum 1 óra \n" -" \n" -"Az ácsmunkához magasabb képzettség szükséges, mint a cselédmunkához, és némileg magasabb fizetség is jár érte. Nem valószínű, hogy a társaid harcba kerülnének, de a hevenyészett épületeken végzett munka azért valamennyi veszéllyel járhat." #: src/mission_companion.cpp msgid "Assign Ally to Carpentry Work" @@ -206124,15 +213590,9 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -"Profit: $12/óra\n" -"Veszély: Minimális\n" -"Idő: Minimum 1 óra \n" -" \n" -"Munkavégzési beosztás:\n" -"\n" #: src/mission_companion.cpp msgid "Recover Ally from Carpentry Work" @@ -206141,8 +213601,8 @@ msgstr "" #: src/mission_companion.cpp msgid "" "Cost: $1000\n" -" \n" -" \n" +"\n" +"\n" " .........\n" " .........\n" " .........\n" @@ -206152,23 +213612,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" -"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours... after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." -msgstr "" -"Költség: $1000\n" -" \n" "\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"Jelentős árengedményt nyújtunk, és engedélyt adunk egy mező megvételére, ahol a saját mezőgazdasági tevékenységedet végezheted. Felszántjuk neked a földet, úgyhogy pontosan tudod, meddig tart. Utána már neked kell földműveseket felvenni, akik növényeket ültetnek vagy aratnak neked. Ha ez a haszonnövény olyan fajta, amire nálunk van kereslet, akkor szívesen megvesszük." +"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours… after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." +msgstr "" #: src/mission_companion.cpp msgid "Purchase East Field" @@ -206177,7 +213623,7 @@ msgstr "" #: src/mission_companion.cpp msgid "" "Cost: $5500\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -206188,23 +213634,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "Protecting your field with a sturdy picket fence will keep most wildlife from nibbling your crops apart. You can expect yields to increase." msgstr "" -"Költség: $5500\n" -" \n" -"\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"A mező köré épített fakerítés távol tartja a legtöbb vadat, aki lelegelné a termést. Várható a hozam növekedése." #: src/mission_companion.cpp msgid "Upgrade East Field I" @@ -206213,7 +213645,7 @@ msgstr "" #: src/mission_companion.cpp msgid "" "Cost: $3.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -206224,23 +213656,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "We'll plant the field with your choice of crop if you are willing to finance it. When the crop is ready to harvest you can have us liquidate it or harvest it for you." msgstr "" -"Kölség: $3.00/parcella\n" -" \n" -"\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"Ha kifizeted, akkor szívesen beültetjük a meződet az általad választott növénnyel. Amikor a növény megérett az aratásra, akkor megvesszük tőled vagy betakarítjuk neked." #: src/mission_companion.cpp msgid "Plant East Field" @@ -206249,7 +213667,7 @@ msgstr "" #: src/mission_companion.cpp msgid "" "Cost: $2.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -206260,23 +213678,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "You can either have us liquidate the crop and give you the cash or pay us to harvest it for you." msgstr "" -"Költség: $2.00/parcella\n" -" \n" -"\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"Vagy megvesszük a földben található terményt és neked készpénzzel fizetünk, vagy pedig te fizetsz nekünk a betakarításért." #: src/mission_companion.cpp msgid "Harvest East Field" @@ -206287,14 +213691,9 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Foraging for food involves dispatching a companion to search the surrounding wilderness for wild edibles. Combat will be avoided but encounters with wild animals are to be expected. The low pay is supplemented with the odd item as a reward for particularly large hauls." msgstr "" -"Profit: $10/óra\n" -"Veszély: Alacsony\n" -"Idő: Minimum 4 óra\n" -" \n" -"Az ételkeresés abból áll, hogy az egyik társadat elküldjük a közeli vadonba vadon termő növények keresésére. Harc nem várható, de vadállatokkal lehet találkozni. Az alacsony fizetést ellensúlyozza a kifejezetten nagy mennyiségű eredményért járó tárgy." #: src/mission_companion.cpp msgid "Assign Ally to Forage for Food" @@ -206305,15 +213704,9 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -"Profit: $10/óra\n" -"Veszély: Alacsony\n" -"Idő: Minimum 4 óra \n" -" \n" -"Munkavégzési beosztás:\n" -"\n" #: src/mission_companion.cpp msgid "Recover Ally from Foraging" @@ -206324,9 +213717,9 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" +"\n" "Adding companions to the caravan team increases the likelihood of success. By nature, caravans are extremely tempting targets for raiders or hostile groups so only a strong party is recommended. The rewards are significant for those participating but are even more important for the factions that profit.\n" -" \n" +"\n" "The commune is sending food to the Free Merchants in the Refugee Center as part of a tax and in exchange for skilled labor." msgstr "" @@ -206339,27 +213732,27 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" -" \n" +"\n" +"\n" "Roster:\n" msgstr "" #: src/mission_companion.cpp -msgid " [READY] \n" +msgid " [READY]\n" msgstr "" #: src/mission_companion.cpp -msgid " [COMPLETE] \n" +msgid " [COMPLETE]\n" msgstr "" #: src/mission_companion.cpp -msgid " Hours] \n" +msgid " Hours]\n" msgstr "" #: src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "The caravan will contain two or three additional members from the commune, are you ready to depart?" msgstr "" @@ -206372,36 +213765,36 @@ msgid "Recover Commune-Refugee Center" msgstr "" #: src/mission_companion.cpp -msgid "There are no missions at this colony. Press Spacebar..." +msgid "There are no missions at this colony. Press Spacebar…" msgstr "" #: src/mission_companion.cpp -msgid "joins the caravan team..." +msgid "joins the caravan team…" msgstr "" #: src/mission_companion.cpp -msgid "departs on the scavenging patrol..." +msgid "departs on the scavenging patrol…" msgstr "" #: src/mission_companion.cpp -msgid "departs on the scavenging raid..." +msgid "departs on the scavenging raid…" msgstr "" #: src/mission_companion.cpp -msgid "departs to work as a laborer..." +msgid "departs to work as a laborer…" msgstr "" #: src/mission_companion.cpp -msgid "departs to work as a carpenter..." +msgid "departs to work as a carpenter…" msgstr "" #: src/mission_companion.cpp -msgid "departs to forage for food..." +msgid "departs to forage for food…" msgstr "" #: src/mission_companion.cpp #, c-format -msgid "The caravan departs with an estimated total travel time of %d hours..." +msgid "The caravan departs with an estimated total travel time of %d hours…" msgstr "" #: src/mission_companion.cpp @@ -206427,7 +213820,7 @@ msgid "The caravan party has returned. Your share of the profits are $%d!" msgstr "" #: src/mission_companion.cpp -msgid "The caravan was a disaster and your companions never made it home..." +msgid "The caravan was a disaster and your companions never made it home…" msgstr "" #: src/mission_companion.cpp @@ -206455,7 +213848,7 @@ msgstr "" #, c-format msgid "" "After counting your money %s directs a nearby laborer to begin constructing " -"a fence around your plot..." +"a fence around your plot…" msgstr "" #: src/mission_companion.cpp @@ -206463,11 +213856,11 @@ msgid "You have no seeds to plant!" msgstr "" #: src/mission_companion.cpp -msgid "You have no room to plant seeds..." +msgid "You have no room to plant seeds…" msgstr "" #: src/mission_companion.cpp -msgid "I'm sorry, you don't have enough money to plant those seeds..." +msgid "I'm sorry, you don't have enough money to plant those seeds…" msgstr "" #: src/mission_companion.cpp @@ -206483,7 +213876,7 @@ msgid "" msgstr "" #: src/mission_companion.cpp -msgid "There aren't any plants that are ready to harvest..." +msgid "There aren't any plants that are ready to harvest…" msgstr "" #: src/mission_companion.cpp @@ -206491,13 +213884,13 @@ msgid "Which plants do you want to have harvested?" msgstr "" #: src/mission_companion.cpp -msgid "You decided to hold off for now..." +msgid "You decided to hold off for now…" msgstr "" #: src/mission_companion.cpp msgid "" "You don't have enough to pay the workers to harvest the crop so you are " -"forced to sell..." +"forced to sell…" msgstr "" #: src/mission_companion.cpp @@ -206507,19 +213900,19 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "The %s are sold for $%d..." +msgid "The %s are sold for $%d…" msgstr "" #: src/mission_companion.cpp #, c-format -msgid "You receive %d %s..." +msgid "You receive %d %s…" msgstr "" #: src/mission_companion.cpp #, c-format msgid "" "While scavenging, %s's party suddenly found itself set upon by a large mob " -"of undead..." +"of undead…" msgstr "" #: src/mission_companion.cpp @@ -206527,7 +213920,7 @@ msgid "Through quick thinking the group was able to evade combat!" msgstr "" #: src/mission_companion.cpp -msgid "Combat took place in close quarters, focusing on melee skills..." +msgid "Combat took place in close quarters, focusing on melee skills…" msgstr "" #: src/mission_companion.cpp @@ -206536,13 +213929,12 @@ msgid "Through brute force the party smashed through the group of %d undead!" msgstr "" #: src/mission_companion.cpp -msgid "Unfortunately they were overpowered by the undead... I'm sorry." +msgid "Unfortunately they were overpowered by the undead… I'm sorry." msgstr "" #: src/mission_companion.cpp #, c-format -msgid "" -"%s returns from patrol having earned $%d and a fair bit of experience..." +msgid "%s returns from patrol having earned $%d and a fair bit of experience…" msgstr "" #: src/mission_companion.cpp @@ -206561,7 +213953,7 @@ msgstr "" #: src/mission_companion.cpp #, c-format msgid "" -"%s returns from the raid having earned $%d and a fair bit of experience..." +"%s returns from the raid having earned $%d and a fair bit of experience…" msgstr "" #: src/mission_companion.cpp @@ -206573,7 +213965,7 @@ msgstr "" #, c-format msgid "" "%s returns from working as a laborer having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" #: src/mission_companion.cpp @@ -206585,7 +213977,7 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "While %s was framing a building one of the walls began to collapse..." +msgid "While %s was framing a building one of the walls began to collapse…" msgstr "" #: src/mission_companion.cpp @@ -206600,7 +213992,7 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "%s didn't make it out in time..." +msgid "%s didn't make it out in time…" msgstr "" #: src/mission_companion.cpp @@ -206609,7 +214001,7 @@ msgid "but %s was rescued from the debris with only minor injuries!" msgstr "" #: src/mission_companion.cpp -msgid "Everyone who was trapped under the collapsing roof died..." +msgid "Everyone who was trapped under the collapsing roof died…" msgstr "" #: src/mission_companion.cpp @@ -206620,12 +214012,12 @@ msgstr "" #, c-format msgid "" "%s returns from working as a carpenter having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" #: src/mission_companion.cpp #, c-format -msgid "While foraging, a beast began to stalk %s..." +msgid "While foraging, a beast began to stalk %s…" msgstr "" #: src/mission_companion.cpp @@ -206658,18 +214050,18 @@ msgstr "" #, c-format msgid "" "%s was able to hold off the first wolf but the others that were skulking in " -"the tree line caught up..." +"the tree line caught up…" msgstr "" #: src/mission_companion.cpp -msgid "I'm sorry, there wasn't anything we could do..." +msgid "I'm sorry, there wasn't anything we could do…" msgstr "" #: src/mission_companion.cpp #, c-format msgid "" -"We... we don't know what exactly happened but we found %s's gear ripped and " -"bloody..." +"We… we don't know what exactly happened but we found %s's gear ripped and " +"bloody…" msgstr "" #: src/mission_companion.cpp @@ -206680,7 +214072,7 @@ msgstr "" #, c-format msgid "" "%s returns from working as a forager having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" #: src/mission_companion.cpp @@ -206712,24 +214104,50 @@ msgid "Engagement between %d members of %s %s and %d members of %s %s%s!" msgstr "" #: src/mission_companion.cpp -msgid "You don't have any companions to send out..." +msgid "You don't have any companions to send out…" msgstr "" #: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" +msgid "Who do you want to send?" +msgstr "" + +#: src/mission_companion.cpp +msgid "[ COMBAT : SURVIVAL : INDUSTRY ]" +msgstr "" + +#. ~ %1$s: npc name +#: src/mission_companion.cpp +#, c-format +msgctxt "companion" +msgid "%1$s (Guarding)" +msgstr "" + +#: src/mission_companion.cpp +#, c-format +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" +msgstr "" + +#. ~ %1$s: skill name, %2$d: companion skill level +#: src/mission_companion.cpp +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d" msgstr "" +#. ~ %1$s: skill name, %2$d: companion skill level, %3$d: skill requirement #: src/mission_companion.cpp -msgid "You choose to send no one..." +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d/%3$d" msgstr "" #: src/mission_companion.cpp -msgid "The companion you selected doesn't have the skills!" +msgid "You choose to send no one…" msgstr "" #: src/mission_companion.cpp -msgid "You don't have any companions ready to return..." +msgid "You don't have any companions ready to return…" msgstr "" #: src/mission_companion.cpp @@ -206737,7 +214155,7 @@ msgid "Who should return?" msgstr "" #: src/mission_companion.cpp -msgid "No one returns to your party..." +msgid "No one returns to your party…" msgstr "" #: src/mission_end.cpp @@ -206769,17 +214187,16 @@ msgid "Download Software" msgstr "" #: src/mission_start.cpp -msgid "You don't know where the address could be..." +msgid "You don't know where the address could be…" msgstr "" #: src/mission_start.cpp -msgid "You mark the refugee center and the road that leads to it..." +msgid "You mark the refugee center and the road that leads to it…" msgstr "" #: src/mission_start.cpp msgid "" -"You mark the refugee center, but you have no idea how to get there by " -"road..." +"You mark the refugee center, but you have no idea how to get there by road…" msgstr "" #: src/mission_start.cpp @@ -206856,7 +214273,7 @@ msgstr "Egy küldetést sem buktál még el!" #: src/mission_util.cpp #, c-format -msgid "%s also marks the road that leads to it..." +msgid "%s also marks the road that leads to it…" msgstr "" #: src/mission_util.cpp @@ -207245,14 +214662,6 @@ msgstr "" msgid "The root walls creak around you." msgstr "" -#. ~ the sound of a fungus releasing spores -#. ~ That spore sound again -#. ~ the sound of a fungus dying -#. ~spore-release sound -#: src/monattack.cpp src/mondeath.cpp src/player.cpp -msgid "Pouf!" -msgstr "" - #: src/monattack.cpp #, c-format msgid "Spores are released from the %s!" @@ -207304,7 +214713,7 @@ msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s seems to wave you toward the tower..." +msgid "The %s seems to wave you toward the tower…" msgstr "" #: src/monattack.cpp @@ -207319,7 +214728,7 @@ msgid "The %1$s sinks its point into your %2$s!" msgstr "" #: src/monattack.cpp -msgid "You feel thousands of live spores pumping into you..." +msgid "You feel thousands of live spores pumping into you…" msgstr "" #. ~ 1$s is monster name, 2$s bodypart in accusative @@ -207356,7 +214765,7 @@ msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s spreads its tendrils. It seems as though it's expecting you..." +msgid "The %s spreads its tendrils. It seems as though it's expecting you…" msgstr "" #: src/monattack.cpp @@ -207367,7 +214776,7 @@ msgstr "" #: src/monattack.cpp #, c-format msgid "" -"The %s works several tendrils into your arms, legs, torso, and even neck..." +"The %s works several tendrils into your arms, legs, torso, and even neck…" msgstr "" #: src/monattack.cpp @@ -207389,8 +214798,8 @@ msgstr "" #. ~ Beginning to hear the Mycus while conscious: this is it speaking #: src/monattack.cpp msgid "" -"assistance, on an arduous quest. unity. together we have reached the door. " -"now to pass through..." +"assistance, on an arduous quest. unity. together we have reached the door." +" now to pass through…" msgstr "" #: src/monattack.cpp @@ -207413,7 +214822,7 @@ msgid "The %s takes aim, and spears at you with a massive tendril!" msgstr "" #: src/monattack.cpp -msgid "You feel millions of live spores pumping into you..." +msgid "You feel millions of live spores pumping into you…" msgstr "" #: src/monattack.cpp @@ -207571,7 +214980,7 @@ msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s tries to grab you..." +msgid "The %s tries to grab you…" msgstr "" #: src/monattack.cpp @@ -207625,6 +215034,10 @@ msgstr "" msgid "The %s young triffid grows into an adult!" msgstr "" +#: src/monattack.cpp +msgid "You feel a strange reverberation accross your body." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s stares at you, and you shudder." @@ -207716,11 +215129,11 @@ msgid "" msgstr "" #: src/monattack.cpp -msgid "Probably some now-obsolete Internal Affairs subroutine..." +msgid "Probably some now-obsolete Internal Affairs subroutine…" msgstr "" #: src/monattack.cpp -msgid "Ops used to do that in case you needed backup..." +msgid "Ops used to do that in case you needed backup…" msgstr "" #: src/monattack.cpp @@ -207753,7 +215166,7 @@ msgid "The %s takes your picture!" msgstr "" #: src/monattack.cpp -msgid "... database connection lost!" +msgid "…database connection lost!" msgstr "" #: src/monattack.cpp @@ -207813,7 +215226,7 @@ msgstr "" #. ~ Potential grenading detected. #: src/monattack.cpp -msgid "Those laser dots don't seem very friendly..." +msgid "Those laser dots don't seem very friendly…" msgstr "" #: src/monattack.cpp @@ -207861,23 +215274,23 @@ msgid "a police siren, whoop WHOOP" msgstr "" #: src/monattack.cpp -msgid "\"YOU... ARE FILTH...\"" +msgid "\"YOU… ARE FILTH…\"" msgstr "" #: src/monattack.cpp -msgid "\"VERMIN... YOU ARE VERMIN...\"" +msgid "\"VERMIN… YOU ARE VERMIN…\"" msgstr "" #: src/monattack.cpp -msgid "\"LEAVE NOW...\"" +msgid "\"LEAVE NOW…\"" msgstr "" #: src/monattack.cpp -msgid "\"WE... WILL FEAST... UPON YOU...\"" +msgid "\"WE… WILL FEAST… UPON YOU…\"" msgstr "" #: src/monattack.cpp -msgid "\"FOUL INTERLOPER...\"" +msgid "\"FOUL INTERLOPER…\"" msgstr "" #. ~ %1$s is the name of the zombie upgrading the other, %2$s is the zombie @@ -208068,12 +215481,12 @@ msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s slashes at your neck! You duck!" +msgid "The %s slashes at your neck! You duck!" msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s slashes at 's neck! They duck!" +msgid "The %s slashes at 's neck! They duck!" msgstr "" #: src/monattack.cpp @@ -208174,7 +215587,7 @@ msgid "but you grab its arm and flip it to the ground!" msgstr "" #: src/monattack.cpp -msgid "The flip does shock you..." +msgid "The flip does shock you…" msgstr "" #: src/monattack.cpp @@ -208183,7 +215596,7 @@ msgstr "" #: src/monattack.cpp msgid "" -"Halt and submit to arrest, citizen! The police will be here any moment." +"Halt and submit to arrest, citizen! The police will be here any moment." msgstr "" #: src/monattack.cpp @@ -208312,7 +215725,7 @@ msgstr "" #. ~ 1$s is bodypart name in accusative, 2$d is damage value. #: src/monattack.cpp #, c-format -msgid "The zombie kicks your %1$s for %2$d damage..." +msgid "The zombie kicks your %1$s for %2$d damage…" msgstr "" #: src/monattack.cpp @@ -208415,6 +215828,11 @@ msgstr "" msgid "The %1$s hits 's %2$s, but glances off armor!" msgstr "" +#: src/monattack.cpp +#, c-format +msgid "The %1$s fuses with the %2$s." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s doots its trumpet!" @@ -208525,7 +215943,7 @@ msgid "The %s melts away." msgstr "" #: src/mondeath.cpp -msgid "Your obsession with the fault fades away..." +msgid "Your obsession with the fault fades away…" msgstr "" #: src/mondeath.cpp @@ -208614,11 +216032,6 @@ msgstr "" msgid "zombie slave" msgstr "" -#: src/monexamine.cpp src/player.cpp -#, c-format -msgid "What to do with your %s?" -msgstr "" - #: src/monexamine.cpp #, c-format msgid "Push %s" @@ -208799,22 +216212,23 @@ msgstr "" #: src/monexamine.cpp #, c-format msgid "" -"Welcome to the %s Friendship Interface. What would you like to do?\n" +"Welcome to the %s Friendship Interface. What would you like to do?\n" "Your current friendship will last: %s" msgstr "" #: src/monexamine.cpp -msgid "Get more friendship. 10 cents/min" +msgid "Get more friendship. 10 cents/min" msgstr "" #: src/monexamine.cpp -msgid "Sadly you're not currently able to extend your friendship. - Quit menu" +msgid "" +"Sadly you're not currently able to extend your friendship. - Quit menu" msgstr "" #: src/monexamine.cpp #, c-format -msgid "How much friendship do you get? Max: %d minute. (0 to cancel) " -msgid_plural "How much friendship do you get? Max: %d minutes. " +msgid "How much friendship do you get? Max: %d minute. (0 to cancel)" +msgid_plural "How much friendship do you get? Max: %d minutes." msgstr[0] "" msgstr[1] "" @@ -208870,7 +216284,7 @@ msgstr "" #: src/monexamine.cpp #, c-format -msgid "%1$s is overburdened. You can't transfer your %2$s." +msgid "%1$s is overburdened. You can't transfer your %2$s." msgstr "" #: src/monexamine.cpp @@ -209100,6 +216514,16 @@ msgstr "" msgid "wearing %1$s" msgstr "" +#: src/monster.cpp +#, c-format +msgid "The %s" +msgstr "A(z) %s" + +#: src/monster.cpp +#, c-format +msgid "The %s's" +msgstr "" + #: src/monster.cpp #, c-format msgid "the %s's" @@ -209127,58 +216551,63 @@ msgstr "Súlyosan sérült." #: src/monster.cpp msgid "It is nearly dead!" -msgstr "" +msgstr "Majdnem halott!" #: src/monster.cpp msgid " Difficulty " -msgstr "" +msgstr "Nehézség" #: src/monster.cpp src/npc.cpp msgid "Aware of your presence!" -msgstr "" +msgstr "Tud a jelenlétedről!" #: src/monster.cpp #, c-format msgid "Rider: %s" msgstr "" +#: src/monster.cpp +#, c-format +msgid " It is %s." +msgstr "" + #: src/monster.cpp msgid "Difficulty " msgstr "" #: src/monster.cpp msgid "Minimal threat." -msgstr "" +msgstr "Minimális fenyegetés." #: src/monster.cpp msgid "Mildly dangerous." -msgstr "" +msgstr "Egy kicsit veszélyes." #: src/monster.cpp msgid "Dangerous." -msgstr "" +msgstr "Veszélyes." #: src/monster.cpp msgid "Very dangerous." -msgstr "" +msgstr "Nagyon veszélyes." #: src/monster.cpp msgid "Extremely dangerous." -msgstr "" +msgstr "Rendkívül veszélyes." #: src/monster.cpp msgid "Fatally dangerous!" -msgstr "" +msgstr "Életveszélyes!" #: src/monster.cpp #, c-format msgid "This is a %s. %s %s" -msgstr "" +msgstr "Ez egy %s. %s %s" #: src/monster.cpp #, c-format msgid "It is %s." -msgstr "" +msgstr "%s." #: src/monster.cpp #, c-format @@ -209213,79 +216642,79 @@ msgstr "" #: src/monster.cpp #, c-format msgid "It has the following senses: %s." -msgstr "" +msgstr "Az alábbi érzékszervekkel rendelkezik: %s." #: src/monster.cpp msgctxt "Hearing as sense" msgid "hearing" -msgstr "" +msgstr "hallás" #: src/monster.cpp msgctxt "Sight as sense" msgid "sight" -msgstr "" +msgstr "látás" #: src/monster.cpp msgctxt "Smell as sense" msgid "smell" -msgstr "" +msgstr "szaglás" #: src/monster.cpp msgid "It doesn't have senses." -msgstr "" +msgstr "Nincsenek érzékszervei." #: src/monster.cpp #, c-format msgid "It can %s." -msgstr "" +msgstr "Képes %s." #: src/monster.cpp msgctxt "Swim as an action" msgid "swim" -msgstr "" +msgstr "úszni" #: src/monster.cpp msgctxt "Fly as an action" msgid "fly" -msgstr "" +msgstr "repülni" #: src/monster.cpp msgctxt "Dig as an action" msgid "dig" -msgstr "" +msgstr "ásni" #: src/monster.cpp msgctxt "Climb as an action" msgid "climb" -msgstr "" +msgstr "felmászni" #: src/monster.cpp #, c-format msgid "In fight it can %s." -msgstr "" +msgstr "Repülés közben képes %s." #: src/monster.cpp msgctxt "Grab as an action" msgid "grab" -msgstr "megragad" +msgstr "megragadni" #: src/monster.cpp msgctxt "Poison as an action" msgid "poison" -msgstr "" +msgstr "megmérgezni" #: src/monster.cpp msgctxt "Paralyze as an action" msgid "paralyze" -msgstr "" +msgstr "lebénítani" #: src/monster.cpp msgid "cause bleed" -msgstr "" +msgstr "vérzést okozni" #: src/monster.cpp msgid "It has a head." -msgstr "" +msgstr "Van feje." #: src/monster.cpp #, c-format @@ -209295,55 +216724,55 @@ msgstr "Kitérsz %s elől." #: src/monster.cpp #, c-format msgid "%1$s dodges %2$s attack." -msgstr "" +msgstr "%1$s kitér a(z) %2$s támadása elől." #: src/monster.cpp #, c-format msgid "The %1$s misses %2$s!" -msgstr "" +msgstr "A(z) %1$s nem találja el a(z) %2$s!" #: src/monster.cpp msgid "You dodge an attack from an unseen source." -msgstr "" +msgstr "Kitérsz egy ismeretlen helyről érkezett támadás elől." #. ~ 1$s is attacker name, 2$s is bodypart name in accusative. #: src/monster.cpp #, c-format msgid "The %1$s hits your %2$s." -msgstr "" +msgstr "A(z) %1$s eltalálja a(z) %2$s." #. ~ %1$s: name of your mount, %2$s: target NPC name, %3$d: damage value #. ~ %1$s: name of your mount, %2$s: target creature name, %3$d: damage value #: src/monster.cpp #, c-format msgid "Your %1$s hits %2$s for %3$d damage!" -msgstr "" +msgstr "A(z) %1$s eltalálja a(z) %2$st és %3$d sebzés okoz!" #. ~ %1$s: attacker name, %2$s: target NPC name, %3$s: bodypart name in #. accusative #: src/monster.cpp #, c-format msgid "The %1$s hits %2$s %3$s." -msgstr "" +msgstr "A(z) %1$s eltalálja %2$s %3$s." #. ~ %1$s: attacker name, %2$s: target creature name #: src/monster.cpp #, c-format msgid "The %1$s hits %2$s!" -msgstr "" +msgstr "A(z) %1$s eltalálja a(z) %2$st!" #. ~ %s is bodypart name in accusative. #: src/monster.cpp #, c-format msgid "Something hits your %s." -msgstr "" +msgstr "Valami eltalálja a %s." #. ~ 1$s is attacker name, 2$s is bodypart name in accusative, 3$s is armor #. name #: src/monster.cpp #, c-format msgid "The %1$s hits your %2$s, but your %3$s protects you." -msgstr "" +msgstr "A(z) %1$s eltalálja a %2$s, de a(z) %3$s megvéd a sebesüléstől." #. ~ $1s is monster name, %2$s is that monster target name, #. ~ $3s is target bodypart name in accusative, $4s is the monster target @@ -209353,31 +216782,34 @@ msgstr "" #, c-format msgid "The %1$s hits %2$s %3$s but is stopped by %4$s %5$s." msgstr "" +"A(z) %1$s eltalálja a(z) %2$s %3$s, de a(z) %4$s %5$s páncélja megvédi a " +"sebesüléstől." #. ~ $1s is monster name, %2$s is that monster target name, #. ~ $3s is target armor name. #: src/monster.cpp #, c-format msgid "The %1$s hits %2$s but is stopped by its %3$s." -msgstr "" +msgstr "A(z) %1$s eltalálja a(z) %2$s, de a(z) %3$s felfogja a támadást." #. ~ 1$s is bodypart name in accusative, 2$s is armor name. #: src/monster.cpp #, c-format msgid "Something hits your %1$s, but your %2$s protects you." -msgstr "" +msgstr "Valami eltalálja a %1$s, de a(z) %2$s megvéd." #: src/monster.cpp msgid "You're envenomed!" -msgstr "" +msgstr "Megmérgeztek!" #: src/monster.cpp -msgid "You feel venom flood your body, wracking you with pain..." +msgid "You feel venom flood your body, wracking you with pain…" msgstr "" +"Érzed, ahogyan a méreg szétterjed a testedben, amely fájdalomba rándul..." #: src/monster.cpp msgid "You feel venom enter your body!" -msgstr "" +msgstr "Érzed, ahogyan a méreg szétterül a testedben!" #: src/monster.cpp #, c-format @@ -209508,35 +216940,43 @@ msgstr "" #: src/morale.cpp msgid "Total morale:" -msgstr "" +msgstr "Összes hangulat:" + +#: src/morale.cpp +msgid "Pain level:" +msgstr "Fájdalom szintje:" + +#: src/morale.cpp +msgid "Fatigue level:" +msgstr "Fáradtság szintje:" #: src/morale.cpp msgid "Focus trends towards:" -msgstr "" +msgstr "Fókusz tendencia:" #: src/morale.cpp msgid "Nothing affects your morale" -msgstr "" +msgstr "Semmi sincsen hatással a hangulatodra" #: src/morale.cpp msgid "Morale" -msgstr "" +msgstr "Hangulat" #: src/morale.cpp msgid "Source" -msgstr "" +msgstr "Forrás" #: src/morale.cpp msgid "Value" -msgstr "" +msgstr "Érték" #: src/morale.cpp msgid "Total positive morale" -msgstr "" +msgstr "Összes pozitív hangulat" #: src/morale.cpp msgid "Total negative morale" -msgstr "" +msgstr "Összeg negatív hangulat" #: src/mtype.cpp msgid "human" @@ -209584,7 +217024,7 @@ msgstr "" #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp -msgid "wow! you look just like me! we should look out for each other!" +msgid "wow! you look just like me! we should look out for each other!" msgstr "" #. ~ Usual enthusiastic slimespring small voices! :D @@ -209619,28 +217059,28 @@ msgid "Bionic power storage increased by 100." msgstr "" #: src/mutation.cpp -msgid "You feel something straining deep inside you, yearning to be free..." +msgid "You feel something straining deep inside you, yearning to be free…" msgstr "" #: src/mutation.cpp #, c-format msgid "Your %1$s mutation turns into %2$s!" -msgstr "" +msgstr "A(z) %1$s mutációd átváltozik ezzé: %2$s!" #: src/mutation.cpp #, c-format msgid "'s %1$s mutation turns into %2$s!" -msgstr "" +msgstr " %1$s mutációja átváltozik ezzé: %2$s!" #: src/mutation.cpp #, c-format msgid "Your innate %1$s trait turns into %2$s!" -msgstr "" +msgstr "A veled született %1$s vonásod átváltozik ezzé: %2$s!" #: src/mutation.cpp #, c-format msgid "'s innate %1$s trait turns into %2$s!" -msgstr "" +msgstr " veleszületett %1$s vonása átváltozik ezzé: %2$s!" #: src/mutation.cpp #, c-format @@ -209747,7 +217187,7 @@ msgid "Suffered a toxic marloss/mutagen reaction." msgstr "" #: src/mutation.cpp -msgid "Something strains mightily for a moment... and then... you're... FREE!" +msgid "Something strains mightily for a moment… and then… you're… FREE!" msgstr "" #: src/mutation.cpp @@ -209765,7 +217205,7 @@ msgid "You stagger with a piercing headache!" msgstr "" #: src/mutation.cpp -msgid "Your head throbs with memories of your life, before all this..." +msgid "Your head throbs with memories of your life, before all this…" msgstr "" #: src/mutation.cpp @@ -209783,7 +217223,7 @@ msgid "Crossed a threshold" msgstr "" #: src/mutation_data.cpp -msgid "Oh, yeah! That's the stuff!" +msgid "Oh, yeah! That's the stuff!" msgstr "" #: src/mutation_ui.cpp @@ -209869,13 +217309,10 @@ msgstr "%s; üsd le az új betűt." #: src/mutation_ui.cpp #, c-format msgid "" -"Invalid mutation letter. Only those characters are valid:\n" +"Invalid mutation letter. Only those characters are valid:\n" "\n" "%s" msgstr "" -"Hibás mutáció betű. Csak az alábbi betűk érvényesek:\n" -"\n" -"%s" #: src/mutation_ui.cpp #, c-format @@ -209899,7 +217336,7 @@ msgstr "" msgid "Tom" msgstr "" -#. ~ Used for constructing full name: %1$s is `family name`, %2$s is `given +#. ~ Used for constructing full name: %1$s is `given name`, %2$s is `family #. name` #: src/name.cpp #, c-format @@ -209907,8 +217344,8 @@ msgctxt "Full Name" msgid "%1$s %2$s" msgstr "%1$s %2$s" -#. ~ Used for constructing full name with nickname: %1$s is `family name`, -#. %2$s is `given name`, %3$s is `nickname` +#. ~ Used for constructing full name with nickname: %1$s is `given name`, %2$s +#. is `family name`, %3$s is `nickname` #: src/name.cpp #, c-format msgctxt "Full Name" @@ -209935,8 +217372,8 @@ msgstr "Szabadon választható" #: src/newcharacter.cpp src/player.cpp #, c-format -msgid "Select a style. (press %s for more info)" -msgstr "Válassz egy harci stílust (bővebb infóhoz nyomd meg a(z) %s gombot)" +msgid "Select a style. (press %s for more info)" +msgstr "" #: src/newcharacter.cpp msgid "Use this style?" @@ -209971,14 +217408,14 @@ msgstr "ESET" msgid "PROFESSION" msgstr "SZAKMA" -#: src/newcharacter.cpp src/player_display.cpp -msgid "TRAITS" -msgstr "VONÁSOK" - #: src/newcharacter.cpp src/player_display.cpp msgid "STATS" msgstr "STATISZTIKÁK" +#: src/newcharacter.cpp src/player_display.cpp +msgid "TRAITS" +msgstr "VONÁSOK" + #: src/newcharacter.cpp src/player_display.cpp msgid "SKILLS" msgstr "KÉSZSÉGEK" @@ -210386,9 +217823,8 @@ msgstr[1] "" #: src/newcharacter.cpp msgid "" -"This scenario is not available in this world due to city size settings. " +"This scenario is not available in this world due to city size settings." msgstr "" -"A városméret beállítása miatt ez az eset ebben a világban nem érhető el." #: src/newcharacter.cpp msgid "Professions:" @@ -210483,10 +217919,6 @@ msgstr "Statisztikák:" msgid "Traits: " msgstr "Vonások:" -#: src/newcharacter.cpp -msgid "(Top 8)" -msgstr "(Top 8)" - #: src/newcharacter.cpp #, c-format msgid "Press %s to finish character creation or %s to go back." @@ -210563,8 +217995,8 @@ msgid "_______NO NAME ENTERED!_______" msgstr "_______NEM ÍRTÁL BE NEVET!_______" #: src/newcharacter.cpp -msgid "Are you SURE you're finished? Your name will be randomly generated." -msgstr "BIZTOSAN befejezted? A neved találomra lesz megadva." +msgid "Are you SURE you're finished? Your name will be randomly generated." +msgstr "" #: src/newcharacter.cpp src/worldfactory.cpp msgid "Are you SURE you're finished?" @@ -210577,12 +218009,16 @@ msgstr "Sablon neve:" #: src/newcharacter.cpp msgid "Keep in mind you may not use special characters like / in filenames" msgstr "" +"Különleges karaktereket, például a / jelet fájlnevekben nem lehet használni." #: src/newcharacter.cpp msgid "" "Conversion of your filename to your native character set resulted in some " "unsafe characters, please try an alphanumeric filename instead" msgstr "" +"A fájlneved géped karakterkészletére való átalakítása közben nem megfelelő " +"karakterek jöttek létre, jobb lenne ezért inkább csak számokat és ékezet " +"nélküli betűket használnod." #: src/newcharacter.cpp msgid "player template" @@ -210593,38 +218029,38 @@ msgstr "játékos sablon" #, c-format msgctxt "npc name" msgid "%1$s, %2$s" -msgstr "" +msgstr "%1$s, %2$s" #: src/npc.cpp #, c-format msgid "This %s is not good reading material." -msgstr "" +msgstr "A(z) %s nem jó olvasnivaló." #: src/npc.cpp msgid "I'm not smart enough to read this book." -msgstr "" +msgstr "Nem vagyok elég okos ahhoz, hogy ezt a könyvet elolvassam." #: src/npc.cpp msgid "I won't learn anything from this book." -msgstr "" +msgstr "Ebből a könyvből nem fogok semmit sem tanulni." #: src/npc.cpp msgid "I can't read!" -msgstr "" +msgstr "Nem tudok olvasni!" #: src/npc.cpp msgid "I can't read without my glasses." -msgstr "" +msgstr "Szemüveg nélkül nem tudok olvasni." #: src/npc.cpp #, c-format msgid "%s starts reading." -msgstr "" +msgstr "%s elkezd olvasni." #: src/npc.cpp #, c-format msgid " wears the %s." -msgstr "" +msgstr " magára veszi ezt: %s." #. ~ %1$s: weapon name, %2$s: holster name #: src/npc.cpp @@ -210682,136 +218118,132 @@ msgstr "Rajta: " #: src/npc.cpp msgid "Completely untrusting" -msgstr "" +msgstr "Abszolút bizalmatlan" #: src/npc.cpp msgid "Very untrusting" -msgstr "" +msgstr "Nagyon bizalmatlan" #: src/npc.cpp msgid "Untrusting" -msgstr "" +msgstr "Bizalmatlan" #: src/npc.cpp msgid "Uneasy" -msgstr "" +msgstr "Kelletlen" #: src/npc.cpp msgid "Trusting" -msgstr "" +msgstr "Bizalmas" #: src/npc.cpp msgid "Very trusting" -msgstr "" +msgstr "Nagyon bizalmas" #: src/npc.cpp msgid "Completely trusting" -msgstr "" +msgstr "Abszolút bizalmas" #: src/npc.cpp msgid "Trust: " -msgstr "" +msgstr "Bizalom: " #: src/npc.cpp msgid "Thinks you're laughably harmless" -msgstr "" +msgstr "Szerinte röhejesen ártalmatlan vagy" #: src/npc.cpp msgid "Thinks you're harmless" -msgstr "" +msgstr "Szerinte ártalmatlan vagy" #: src/npc.cpp msgid "Unafraid" -msgstr "" +msgstr "Nem fél" #: src/npc.cpp msgid "Wary" -msgstr "" +msgstr "Óvatos" #: src/npc.cpp msgid "Afraid" -msgstr "" +msgstr "Fél" #: src/npc.cpp msgid "Very afraid" -msgstr "" - -#: src/npc.cpp -msgid "Terrified" -msgstr "" +msgstr "Nagyon fél" #: src/npc.cpp msgid "Fear: " -msgstr "" +msgstr "Félelem: " #: src/npc.cpp msgid "Considers you a major liability" -msgstr "" +msgstr "Hatalmas tehernek tart" #: src/npc.cpp msgid "Considers you a burden" -msgstr "" +msgstr "Tehernek tart" #: src/npc.cpp msgid "Considers you an annoyance" -msgstr "" +msgstr "Zavaró tényezőnek tart" #: src/npc.cpp msgid "Doesn't care about you" -msgstr "" +msgstr "Nem foglalkozik veled" #: src/npc.cpp msgid "Values your presence" -msgstr "" +msgstr "Értékeli a jelenlétedet" #: src/npc.cpp msgid "Treasures you" -msgstr "" +msgstr "Nagyra értékel" #: src/npc.cpp msgid "Best Friends Forever!" -msgstr "" +msgstr "Öribari!" #: src/npc.cpp msgid "Value: " -msgstr "" +msgstr "Érték: " #: src/npc.cpp msgid "You can do no wrong!" -msgstr "" +msgstr "Bármit teszel, az csak jó lehet!" #: src/npc.cpp msgid "You're good people" -msgstr "" +msgstr "Jók vagytok" #: src/npc.cpp msgid "Thinks well of you" -msgstr "" +msgstr "Pozitívan tekint rád" #: src/npc.cpp msgid "Ambivalent" -msgstr "" +msgstr "Vegyes érzelmű" #: src/npc.cpp msgid "Pissed off" -msgstr "" +msgstr "Kiakadt" #: src/npc.cpp msgid "Angry" -msgstr "" +msgstr "Dühös" #: src/npc.cpp msgid "About to kill you" -msgstr "" +msgstr "Meg is ölne téged" #: src/npc.cpp msgid "Anger: " -msgstr "" +msgstr "Düh: " #: src/npc.cpp #, c-format msgid "%s disappears." -msgstr "" +msgstr "%s eltűnik." #: src/npc.cpp src/player.cpp #, c-format @@ -210820,54 +218252,50 @@ msgstr "%s meghal!" #: src/npc.cpp msgid "Ignoring" -msgstr "" +msgstr "Nem foglalkozik veled" #: src/npc.cpp msgid "Wants to talk" -msgstr "" +msgstr "Beszélne veled" #: src/npc.cpp msgid "Waiting for you" -msgstr "" +msgstr "Rád vár" #: src/npc.cpp msgid "Mugging you" -msgstr "" +msgstr "Kifoszt" #: src/npc.cpp msgid "Waiting for you to leave" -msgstr "" +msgstr "Arra vár, hogy elmenj" #: src/npc.cpp msgid "Attacking to kill" -msgstr "" +msgstr "Gyilkos szándékkal támad" #: src/npc.cpp msgid "Fleeing" -msgstr "" +msgstr "Menekül" #: src/npc.cpp msgid "Healing you" -msgstr "" +msgstr "Téged gyógyít" #: src/npc.cpp msgid "Performing a task" -msgstr "" +msgstr "Feladatot hajt végre" #: src/npc.cpp msgid "Trying to recover stolen goods" -msgstr "" +msgstr "Megpróbálja visszaszerezni az ellopott tárgyakat" #: src/npc.cpp msgid "NPC Legacy Attitude" msgstr "" #: src/npc.cpp -msgid "Not much" -msgstr "" - -#: src/npc.cpp -msgid "Cooking" +msgid "Cooking and butchering" msgstr "" #: src/npc.cpp @@ -210903,7 +218331,7 @@ msgid "Caring for the livestock" msgstr "" #: src/npc.cpp -msgid "Hunting for meat" +msgid "Hunting and fishing" msgstr "" #: src/npc.cpp @@ -211009,7 +218437,7 @@ msgid "Hold still %s, I'm coming to help you." msgstr "" #: src/npcmove.cpp -msgid "Don't move a muscle..." +msgid "Don't move a muscle…" msgstr "" #: src/npcmove.cpp @@ -211109,7 +218537,7 @@ msgstr "" #: src/npcmove.cpp #, c-format msgid "" -"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" +"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" msgstr "" #: src/npcmove.cpp @@ -211119,7 +218547,7 @@ msgstr "" #: src/npcmove.cpp #, c-format -msgid "My %s wound is infected..." +msgid "My %s wound is infected…" msgstr "" #: src/npcmove.cpp @@ -211129,19 +218557,19 @@ msgstr "" #: src/npcmove.cpp msgid "" -msgstr "" +msgstr "" #: src/npcmove.cpp -msgid "I'm suffering from radiation sickness..." +msgid "I'm suffering from radiation sickness…" msgstr "" #: src/npcmove.cpp msgid "" -msgstr "" +msgstr "" #: src/npcmove.cpp msgid "" -msgstr "" +msgstr "" #: src/npcmove.cpp #, c-format @@ -211155,7 +218583,7 @@ msgstr "" #: src/npctalk.cpp msgid "INTIMIDATE" -msgstr "MEG" +msgstr "MEGFÉLEMLÍT" #: src/npctalk.cpp msgid "LIE" @@ -211167,92 +218595,92 @@ msgstr "MEGGYŐZ" #: src/npctalk.cpp msgid "Everyone" -msgstr "" +msgstr "Mindenki" #: src/npctalk.cpp #, c-format msgid "%s currently has these temporary orders:" -msgstr "" +msgstr "%s utasításai az alábbiak:" #: src/npctalk.cpp msgid "None." -msgstr "" +msgstr "Nincs." #: src/npctalk.cpp msgid "Other followers might have different temporary orders." -msgstr "" +msgstr "A többi követőnek átmenetileg más utasításai lehetnek." #: src/npctalk.cpp msgid "Issue what temporary order?" -msgstr "" +msgstr "Kiadod az átmeneti utasítást?" #: src/npctalk.cpp msgid "Done issuing orders" -msgstr "" +msgstr "Vége az utasítások kiadásának" #: src/npctalk.cpp msgid "Don't engage hostiles for the time being" -msgstr "" +msgstr "Egyelőre nem támadj ellenségre" #: src/npctalk.cpp msgid "Go back to your usual engagement habits" -msgstr "" +msgstr "Vissza a szokásos támadási szokásaidhoz" #: src/npctalk.cpp msgid "Don't use ranged weapons for a while" -msgstr "" +msgstr "Egy ideig ne használj távolra hordó fegyvert" #: src/npctalk.cpp msgid "Use whatever weapon you normally would" -msgstr "" +msgstr "Használj olyan fegyvert, amit amúgy is használnál" #: src/npctalk.cpp msgid "Hold off on pulping zombies for a while" -msgstr "" +msgstr "Egy ideig ne zúzd szét a zombikat" #: src/npctalk.cpp msgid "Pulp zombies if you like" -msgstr "" +msgstr "Zúzd szét a zombikat, ha szeretnéd" #: src/npctalk.cpp msgid "Go back to keeping your usual distance" -msgstr "" +msgstr "Vissza a szokásos távolságot tartásához" #: src/npctalk.cpp msgid "Stick close to me for now" -msgstr "" +msgstr "Egyelőre maradj a közelemben" #: src/npctalk.cpp msgid "Move farther from me if you need to" -msgstr "" +msgstr "Eltávolodhatsz tőlem, ha szeretnél" #: src/npctalk.cpp msgid "Go back to your usual sleeping habits" -msgstr "" +msgstr "Térj vissza a megszokott alvási szokásaidhoz" #: src/npctalk.cpp msgid "Take a nap if you need it" -msgstr "" +msgstr "Szundíts egyet, ha szeretnél" #: src/npctalk.cpp msgid "Let's go back to your usual behaviors" -msgstr "" +msgstr "Térjél vissza a szokásos viselkedésedhez" #: src/npctalk.cpp msgid "You can't speak without your face!" -msgstr "" +msgstr "Arc nélkül nem tudsz beszélni!" #: src/npctalk.cpp msgid "What do you want to do?" -msgstr "" +msgstr "Mit szeretnél csinálni?" #: src/npctalk.cpp #, c-format msgid "Talk to %s" -msgstr "" +msgstr "Beszélni vele: %s" #: src/npctalk.cpp -msgid "Talk to ..." +msgid "Talk to…" msgstr "" #: src/npctalk.cpp @@ -211277,7 +218705,7 @@ msgid "Tell %s to follow" msgstr "" #: src/npctalk.cpp -msgid "Tell someone to follow..." +msgid "Tell someone to follow…" msgstr "" #: src/npctalk.cpp @@ -211286,7 +218714,7 @@ msgid "Tell %s to guard" msgstr "" #: src/npctalk.cpp -msgid "Tell someone to guard..." +msgid "Tell someone to guard…" msgstr "" #: src/npctalk.cpp @@ -211310,7 +218738,7 @@ msgid "Tell everyone on your team to relax (Clear Overrides)" msgstr "" #: src/npctalk.cpp -msgid "Tell everyone on your team to temporarily..." +msgid "Tell everyone on your team to temporarily…" msgstr "" #: src/npctalk.cpp @@ -211409,7 +218837,7 @@ msgstr "" #: src/npctalk.cpp #, c-format msgid "" -"&You are deaf and can't talk. When you don't respond, %s becomes angry!" +"&You are deaf and can't talk. When you don't respond, %s becomes angry!" msgstr "" #: src/npctalk.cpp @@ -211440,8 +218868,8 @@ msgid "Sorry, but it doesn't seem I have anything to teach you." msgstr "Bocs, de semmit se tudok neked tanítani." #: src/npctalk.cpp -msgid "Here's what I can teach you..." -msgstr "Ezt tudom neked tanítani..." +msgid "Here's what I can teach you…" +msgstr "" #: src/npctalk.cpp #, c-format @@ -211456,16 +218884,23 @@ msgstr[0] "" msgstr[1] "" #: src/npctalk.cpp -msgid "I'm holing up here for safety." -msgstr "Itt biztonságban vagyok." +#, c-format +msgid "I'm holing up here for safety. Long term, %s" +msgstr "" #: src/npctalk.cpp msgid "I run the shop here." msgstr "Enyém ez a bolt." #: src/npctalk.cpp -msgid "I'm guarding this location." -msgstr "Erre a területre vigyázok." +#, c-format +msgid "Currently, I'm guarding this location. Overall, %s" +msgstr "" + +#: src/npctalk.cpp +#, c-format +msgid "Right now, I'm . In general, %s" +msgstr "" #: src/npctalk.cpp msgid "&You yell, but can't hear yourself." @@ -211509,31 +218944,39 @@ msgstr "Nem fáradt" #: src/npctalk.cpp msgid ". Will need sleep in " -msgstr "" +msgstr ". Aludni kell majd: " #: src/npctalk.cpp msgid "" "\n" "Will need water in " msgstr "" +"\n" +"Víz kell majd: " #: src/npctalk.cpp msgid "" "\n" "Thirsty" msgstr "" +"\n" +"Szomjas" #: src/npctalk.cpp msgid "" "\n" "Will need food in " msgstr "" +"\n" +"Ennie kell majd: " #: src/npctalk.cpp msgid "" "\n" "Hungry" msgstr "" +"\n" +"Éhes" #: src/npctalk.cpp msgid "YES, MASTER!" @@ -211551,6 +218994,16 @@ msgstr "Hírem van." msgid "Yes, let's resume training " msgstr "" +#: src/npctalk.cpp +#, c-format +msgid "%s: 1 hour lesson (cost %s)" +msgstr "" + +#: src/npctalk.cpp +#, c-format +msgid "%s: teaching spell knowledge (cost %s)" +msgstr "" + #. ~Martial art style (cost in dollars) #: src/npctalk.cpp #, c-format @@ -211562,11 +219015,11 @@ msgstr "%s ( ára: $%d)" #: src/npctalk.cpp #, c-format msgid "%s: %d (%d%%) -> %d (%d%%) (cost $%d)" -msgstr "" +msgstr "%s: %d (%d%%) -> %d (%d%%) (ára: $%d)" #: src/npctalk.cpp #, c-format -msgid "%s: %d (%d%%) -> %d" +msgid "%s: %d (%d%%) -> %d (%d%%)" msgstr "" #: src/npctalk.cpp @@ -211600,8 +219053,8 @@ msgstr "" #: src/npctalk.cpp msgctxt "punctuation" -msgid "..." -msgstr "..." +msgid "…" +msgstr "" #: src/npctalk.cpp msgctxt "punctuation" @@ -211647,7 +219100,7 @@ msgid "%s: %s" msgstr "%s: %s" #: src/npctalk.cpp -msgid "You'll be helpless! Proceed?" +msgid "You'll be helpless! Proceed?" msgstr "" #: src/npctalk.cpp @@ -211707,11 +219160,11 @@ msgid "You learn how to craft %s." msgstr "" #: src/npctalk.cpp -msgid "I don't trust you enough to eat THIS..." +msgid "I don't trust you enough to eat THIS…" msgstr "" #: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this..." +msgid "It doesn't look like a good idea to consume this…" msgstr "" #: src/npctalk.cpp @@ -211719,10 +219172,6 @@ msgstr "" msgid "I need a %s to consume that!" msgstr "" -#: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this.." -msgstr "" - #: src/npctalk.cpp msgid "Offer what?" msgstr "" @@ -211744,7 +219193,7 @@ msgid "Are you insane!?" msgstr "" #: src/npctalk.cpp -msgid "Here we go..." +msgid "Here we go…" msgstr "" #: src/npctalk.cpp @@ -211770,7 +219219,7 @@ msgid "I can only store %s %s more." msgstr "" #: src/npctalk.cpp -msgid "...or to store anything else for that matter." +msgid "…or to store anything else for that matter." msgstr "" #: src/npctalk.cpp @@ -211800,38 +219249,14 @@ msgstr "" msgid "My current location" msgstr "" -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name -#: src/npctalk_funcs.cpp -#, c-format -msgid "%1$s is assigned to %2$s" -msgstr "" - -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name #: src/npctalk_funcs.cpp #, c-format -msgid "%1$s is assigned to guard %2$s" +msgid "That is not a valid destination for %s." msgstr "" -#. ~ %1$s is the NPC's translated name, %2$s is the pronoun for the NPC's -#. gender #: src/npctalk_funcs.cpp #, c-format -msgid "%1$s will wait for you where %2$s is." -msgstr "" - -#: src/npctalk_funcs.cpp -msgid "he" -msgstr "" - -#: src/npctalk_funcs.cpp -msgid "she" -msgstr "" - -#: src/npctalk_funcs.cpp -#, c-format -msgid "%s is posted as a guard." +msgid "%1$s is assigned to %2$s" msgstr "" #: src/npctalk_funcs.cpp @@ -211850,20 +219275,16 @@ msgid "You start a fight with %s!" msgstr "" #: src/npctalk_funcs.cpp -msgid "You don't have any bionics installed..." -msgstr "Nincsen beépített bionikád..." +msgid "You don't have any bionics installed…" +msgstr "" #: src/npctalk_funcs.cpp msgid "Which bionic do you wish to uninstall?" msgstr "Melyik bionikát szeretnéd kiszedni?" #: src/npctalk_funcs.cpp -msgid "You decide to hold off..." -msgstr "Úgy döntesz, hogy még vársz vele..." - -#: src/npctalk_funcs.cpp -msgid "You can't afford the procedure..." -msgstr "Nem engedheted meg magadnak az eljárást..." +msgid "You decide to hold off…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format @@ -211884,7 +219305,7 @@ msgid "Choose a new facial hair style" msgstr "" #: src/npctalk_funcs.cpp -msgid "Actually... I've changed my mind." +msgid "Actually… I've changed my mind." msgstr "" #: src/npctalk_funcs.cpp @@ -211893,17 +219314,17 @@ msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent haircut..." +msgid "%s gives you a decent haircut…" msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent shave..." +msgid "%s gives you a decent shave…" msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "That was a pleasant conversation with %s..." +msgid "That was a pleasant conversation with %s…" msgstr "" #: src/npctalk_funcs.cpp @@ -211913,7 +219334,7 @@ msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s drops the logs off in the garage..." +msgid "%s drops the logs off in the garage…" msgstr "" #: src/npctalk_funcs.cpp @@ -211931,6 +219352,11 @@ msgstr "" msgid "%s leaves." msgstr "" +#: src/npctalk_funcs.cpp +#, c-format +msgid "%s stops following." +msgstr "" + #: src/npctalk_funcs.cpp #, c-format msgid "%s feels less threatened by you." @@ -211952,7 +219378,7 @@ msgstr "" #: src/npctrade.cpp #, c-format msgid "Volume: %s %s, Weight: %.1f %s" -msgstr "" +msgstr "Térfogat: %s %s, Súly: %.1f %s" #: src/npctrade.cpp msgid "Exchange" @@ -211976,7 +219402,7 @@ msgstr "" #: src/npctrade.cpp #, c-format msgid " (%d)" -msgstr "" +msgstr " (%d)" #: src/npctrade.cpp msgid "< Back" @@ -212012,13 +219438,13 @@ msgstr "" #: src/npctrade.cpp #, c-format msgid "" -"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" +"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" "\n" "Continue with trade?" msgstr "" #: src/npctrade.cpp -msgid "Looks like a deal! Accept this trade?" +msgid "Looks like a deal! Accept this trade?" msgstr "" #: src/npctrade.h @@ -212253,6 +219679,9 @@ msgid "" "bushes. - Trees: Only forage trees. - Everything: Forage bushes, trees, " "and everything else including flowers, cattails etc." msgstr "" +"Mit tegyen, ha az automatikus guberálás be van kapcsolva. Bokor: csak a " +"bokrokban kotorászik. - Fák: Csak a fákon keres élelmet. - Minden: A " +"bokrokban, a fákon, és mindenhol máshol is keres élelmet." #: src/options.cpp msgid "Bushes" @@ -212260,7 +219689,7 @@ msgstr "Bokrok" #: src/options.cpp msgid "Everything" -msgstr "" +msgstr "Minden" #: src/options.cpp msgid "Trees" @@ -212333,7 +219762,7 @@ msgstr "Biztonságos mód X kör utáni bekapcsolása" #: src/options.cpp msgid "" -"Number of turns after which safe mode is reactivated. Will only reactivate " +"Number of turns after which safe mode is reactivated. Will only reactivate " "if no hostiles are in 'Safe mode proximity distance.'" msgstr "" "Hány kör után kapcsoljon be újra a biztonságos mód, ha a biztonsági " @@ -212400,11 +219829,11 @@ msgstr "Auto jegyzetek" #: src/options.cpp msgid "If true, automatically sets notes" -msgstr "" +msgstr "Ha igen, akkor automatikus jegyzeteket készít" #: src/options.cpp msgid "Auto notes (stairs)" -msgstr "" +msgstr "Auto jegyzet (lépcső)" #: src/options.cpp msgid "" @@ -212416,12 +219845,13 @@ msgstr "" #: src/options.cpp msgid "Auto notes (map extras)" -msgstr "" +msgstr "Auto jegyzet (térkép)" #: src/options.cpp msgid "" "If true, automatically sets notes on places that contain various map extras" msgstr "" +"Ha igen, akkor a térképre a különféle extra dolgok jegyzeteit rakja ki." #: src/options.cpp msgid "Circular distances" @@ -212445,8 +219875,8 @@ msgstr "Üres tartályok leejtése" #: src/options.cpp msgid "" -"Set to drop empty containers after use. No: Don't drop any. - Watertight: " -"All except watertight containers. - All: Drop all containers." +"Set to drop empty containers after use. No: Don't drop any. - Watertight: " +"All except watertight containers. - All: Drop all containers." msgstr "" "Beállíthatod, hogy egy folyadékot tároló edényt a folyadék felhasználása " "után leejtsed-e. Nem: Semmit se ejts le. - Vízálló: vízálló tárgyak " @@ -212483,6 +219913,8 @@ msgstr "Hangkészlet kiválasztása" #: src/options.cpp msgid "Choose the soundpack you want to use. Requires restart." msgstr "" +"Kiválaszthatod, hogy melyik hangkészletet szeretnéd használni. Újraindítást " +"igényel." #: src/options.cpp msgid "Music volume" @@ -212502,11 +219934,11 @@ msgstr "A játék hangeffektusainak hangerejének beállítása." #: src/options.cpp msgid "Ambient sound volume" -msgstr "" +msgstr "Környezeti zaj hangereje" #: src/options.cpp msgid "Adjust the volume of ambient sounds being played by the game." -msgstr "" +msgstr "A játék környezeti zajainak hangerejének beállítása." #: src/options.cpp msgid "Language" @@ -212621,12 +220053,12 @@ msgid "If true, automatically follow the crosshair when firing/throwing." msgstr "Ha igen, akkor dobásnál és lövésnél követi a szálkeresztet." #: src/options.cpp -msgid "Query on disassembly" -msgstr "Szétszerelés megerősítése" +msgid "Query on disassembly while butchering" +msgstr "" #: src/options.cpp -msgid "If true, will query before disassembling items." -msgstr "Ha igen, akkor tárgyak szétszerelése előtt a játék megerősítést kér." +msgid "If true, will query before disassembling items while butchering." +msgstr "" #: src/options.cpp msgid "Query on keybinding removal" @@ -212679,18 +220111,21 @@ msgid "" "Diagonal movement action keys are taken from keybindings, so you need these " "to be configured." msgstr "" +"Ha igen, akkor a kurzor billentyűkkel, valamint a CTRL és a SHIFT " +"módosítókkal átlósan lehet haladni. Az átlós mozgás billentyűit a billentyűk" +" beállításaiból olvassa ki a játék, úgyhogy ott kell beállítani." #: src/options.cpp msgid "Mode 1: Numpad Emulation" -msgstr "" +msgstr "1. mód: numerikus billentyűzet emulálása" #: src/options.cpp msgid "Mode 2: CW/CCW" -msgstr "" +msgstr "2. mód: óramutató szerint" #: src/options.cpp msgid "Mode 3: L/R Tilt" -msgstr "" +msgstr "3. mód: bal/jobb forgás" #: src/options.cpp msgid "Vehicle plating changes part color" @@ -212725,12 +220160,16 @@ msgstr "" #: src/options.cpp msgid "Reverse steering direction in reverse" msgstr "" +"Hátramenetben legyen felcserélve a bal és a jobb irány, mint a valós " +"életben." #: src/options.cpp msgid "" "If true, when driving a vehicle in reverse, steering should also reverse " "like real life." msgstr "" +"Ha igen, akkor egy jármű tolatása közben a kormányzás iránya ugyanúgy " +"felcserélődik, mint a való életben." #: src/options.cpp msgid "Sidebar position" @@ -212754,11 +220193,11 @@ msgstr "Jobb" #: src/options.cpp msgid "Draw sidebar spacers" -msgstr "" +msgstr "Oldalsáv elválasztók ki-be" #: src/options.cpp msgid "If true, adds an extra space between sidebar panels." -msgstr "" +msgstr "Ha igen, akkor az oldalsáv paneljei közé elválasztó kerül." #: src/options.cpp msgid "Message log flow" @@ -212791,13 +220230,14 @@ msgstr "" #: src/options.cpp msgid "Message cooldown" -msgstr "" +msgstr "Üzenetek eltűnése" #: src/options.cpp msgid "" "Number of turns during which similar messages are hidden. '0' disables this" " option." msgstr "" +"Mennyi kör után tűnjön el az üzenet. A '0' érték letiltja ezt a beállítást." #: src/options.cpp msgid "Suppress \"unknown command\" messages" @@ -212813,16 +220253,18 @@ msgstr "" #: src/options.cpp msgid "Pickup position" -msgstr "" +msgstr "Felszedés helye" #: src/options.cpp msgid "" "Switch between pickup panel being left, right, or overlapping the sidebar." msgstr "" +"Beállítja, hogy a felszedési panel hol jelenjen meg: bal, jobb vagy az " +"oldalsáv felett." #: src/options.cpp msgid "Overlapping" -msgstr "" +msgstr "Felette" #: src/options.cpp msgid "Aim window display style" @@ -212867,13 +220309,15 @@ msgstr "Nézet mozgatásnál egy gombnyomásra mennyi négyzetet lépjen" #: src/options.cpp msgid "Overmap fast scroll offset" -msgstr "" +msgstr "Nagytérkép gyorsgörgetési sebessége" #: src/options.cpp msgid "" "With Fast Scroll option enabled, shift view on the overmap and while looking" " around by this many squares per keypress." msgstr "" +"A gyorsgörgetés bekapcsolásával minden egyes billentyűzet leütésénél " +"ennyivel ugorjon abba az irányba a nagytérkép." #: src/options.cpp msgid "Centered menu scrolling" @@ -212913,10 +220357,13 @@ msgstr "Auto leltár betűk" #: src/options.cpp msgid "" -"Enabled: automatically assign letters to any carried items that lack them. " -"Disabled: do not auto-assign letters. Favorites: only auto-assign letters to" -" favorited items." +"Enabled: automatically assign letters to any carried items that lack them. " +"Disabled: do not auto-assign letters. Favorites: only auto-assign letters " +"to favorited items." msgstr "" +"Ha igen, akkor minden leltárban található tárgy automatikusan kap egy betűt," +" ha nincs neki. Ha nem, akkor automatikusan a tárgyak nem kapnak betűt. Ha " +"kedvencek, akkor csak a kedvenc tárgyak kapnak automatikusan betűt." #: src/options.cpp msgid "Disabled" @@ -212924,7 +220371,7 @@ msgstr "Kikapcsolva" #: src/options.cpp msgid "Favorites" -msgstr "" +msgstr "Kedvencek" #: src/options.cpp msgid "Show item health bars" @@ -212985,19 +220432,19 @@ msgstr "ElrejtBill" #: src/options.cpp msgid "Edge scrolling" -msgstr "" +msgstr "Szélgörgetés" #: src/options.cpp msgid "Edge scrolling with the mouse." -msgstr "" +msgstr "Az egér kurzorral a képernyő szélén való görgetés" #: src/options.cpp msgid "Slow" -msgstr "" +msgstr "Lassú" #: src/options.cpp msgid "Fast" -msgstr "" +msgstr "Gyors" #: src/options.cpp msgid "Animations" @@ -213017,13 +220464,15 @@ msgstr "Ha igen, akkor a játék mutatja az eső animációját" #: src/options.cpp msgid "Projectile animation" -msgstr "" +msgstr "Lövedékanimáció" #: src/options.cpp msgid "" "If true, will display animations for projectiles like bullets, arrows, and " "thrown items." msgstr "" +"Ha igen, akkor a játék mutatja a lövedékek animációit, például golyókat, " +"nyilakat és eldobott tárgyakat." #: src/options.cpp msgid "SCT animation" @@ -213079,87 +220528,87 @@ msgstr "" #: src/options.cpp msgid "Font blending" -msgstr "" +msgstr "Betűsimítás" #: src/options.cpp msgid "If true, fonts will look better." -msgstr "" +msgstr "Ha igen, akkor a betűk jobban néznek ki." #: src/options.cpp msgid "Font width" -msgstr "" +msgstr "Betű szélessége" #: src/options.cpp msgid "Set the font width. Requires restart." -msgstr "" +msgstr "Beállítja a betű szélességét. Újraindítást igényel." #: src/options.cpp msgid "Font height" -msgstr "" +msgstr "Betű magassága" #: src/options.cpp msgid "Set the font height. Requires restart." -msgstr "" +msgstr "Beállítja a betű magasságát. Újraindítást igényel." #: src/options.cpp msgid "Font size" -msgstr "" +msgstr "Betűméret" #: src/options.cpp msgid "Set the font size. Requires restart." -msgstr "" +msgstr "Beállítja a betű méretét. Újraindítást igényel." #: src/options.cpp msgid "Map font width" -msgstr "" +msgstr "Térkép betű szélessége" #: src/options.cpp msgid "Set the map font width. Requires restart." -msgstr "" +msgstr "Beállítja a térkép betű szélességét. Újraindítást igényel." #: src/options.cpp msgid "Map font height" -msgstr "" +msgstr "Térkép betű magassága" #: src/options.cpp msgid "Set the map font height. Requires restart." -msgstr "" +msgstr "Beállítja a térkép betű magasságát. Újraindítást igényel." #: src/options.cpp msgid "Map font size" -msgstr "" +msgstr "Térkép betűméret" #: src/options.cpp msgid "Set the map font size. Requires restart." -msgstr "" +msgstr "Beállítja a térkép betű méretét. Újraindítást igényel." #: src/options.cpp msgid "Overmap font width" -msgstr "" +msgstr "Nagytérkép betű szélessége" #: src/options.cpp msgid "Set the overmap font width. Requires restart." -msgstr "" +msgstr "Beállítja a nagytérkép betű szélességét. Újraindítást igényel." #: src/options.cpp msgid "Overmap font height" -msgstr "" +msgstr "Nagytérkép betű magassága" #: src/options.cpp msgid "Set the overmap font height. Requires restart." -msgstr "" +msgstr "Beállítja a nagytérkép betű magasságát. Újraindítást igényel." #: src/options.cpp msgid "Overmap font size" -msgstr "" +msgstr "Nagytérkép betűméret" #: src/options.cpp msgid "Set the overmap font size. Requires restart." -msgstr "" +msgstr "Beállítja a nagytérkép betű méretét. Újraindítást igényel." #: src/options.cpp msgid "SDL ASCII lines" -msgstr "" +msgstr "SDL ASCII vonalak" #: src/options.cpp msgid "" @@ -213167,6 +220616,9 @@ msgid "" "characters. Use this option when your selected font doesn't contain " "necessary glyphs." msgstr "" +"Betűk megjelenítéséhez használja az SDL ASCII vonalrajzolási módot, és a ne " +"Unicode-ot. Ezt akkor válaszd, ha a kiválasztott betűkészlet nem tartalmazza" +" a szükséges betűket." #: src/options.cpp msgid "Use tiles" @@ -213186,20 +220638,20 @@ msgstr "Kiválaszthatod, hogy melyik grafikai készletet szeretnéd használni." #: src/options.cpp msgid "Memory map drawing mode" -msgstr "" +msgstr "Memóriatérkép rajzolási módja" #: src/options.cpp msgid "" "Specified the mode in which the memory map is drawn. Requires restart." -msgstr "" +msgstr "A memóriatérkép ebben a módban jelenik meg. Újraindítást igényel." #: src/options.cpp msgid "Darkened" -msgstr "" +msgstr "Sötétített" #: src/options.cpp msgid "Sepia" -msgstr "" +msgstr "Szépia" #: src/options.cpp msgid "Pixel minimap" @@ -213295,7 +220747,7 @@ msgstr "" msgid "Display" msgstr "Megjelenítés" -#: src/options.cpp +#: src/options.cpp src/sdltiles.cpp msgid "" "Sets which video display will be used to show the game. Requires restart." msgstr "" @@ -213394,10 +220846,8 @@ msgid "Scaling factor" msgstr "Skálázási mérték" #: src/options.cpp -msgid "Factor by which to scale the display. Requires restart." +msgid "Factor by which to scale the display. Requires restart." msgstr "" -"Beálítja, hogy hányszorosára skálázza (nagyítsa) a kijelzőt. Újraindítást " -"igényel." #: src/options.cpp msgid "1x" @@ -213673,6 +221123,9 @@ msgid "" "Determines the movement rate of monsters. A higher value increases monster " "speed and a lower reduces it. Requires world reset." msgstr "" +"A szörnyek mozgási sebességét határozza meg. Magasabb értéknél gyorsabban " +"lesznek a szörnyek, alacsonyabbnál lassabbak. Beállítása után a világot " +"alaphelyzetbe kell állítani." #: src/options.cpp msgid "Monster resilience" @@ -213683,6 +221136,9 @@ msgid "" "Determines how much damage monsters can take. A higher value makes monsters" " more resilient and a lower makes them more flimsy. Requires world reset." msgstr "" +"A szörnyek által elviselt sebzést határozza meg. Magasabb értéknél a " +"szörnyek ellenállóbbak lesznek, alacsonyabbnál pedig törékenyebbek. " +"Beállítása után a világot alaphelyzetbe kell állítani." #: src/options.cpp msgid "Default region type" @@ -213704,24 +221160,24 @@ msgstr "A karakter generálás után kezdett játék első napján hány óra le #: src/options.cpp msgid "Initial day" -msgstr "" +msgstr "Indulási nap" #: src/options.cpp msgid "" -"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can " -"be overridden by scenarios. This does not advance food rot or monster " +"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can" +" be overridden by scenarios. This does not advance food rot or monster " "evolution." msgstr "" #: src/options.cpp msgid "Spawn delay" -msgstr "" +msgstr "Megjelenési késleltetés" #: src/options.cpp msgid "" -"How many days after the cataclysm the player spawns. Day 0 is the day of the" -" cataclysm. Can be overridden by scenarios. Increasing this will cause food " -"rot and monster evolution to advance." +"How many days after the cataclysm the player spawns. Day 0 is the day of " +"the cataclysm. Can be overridden by scenarios. Increasing this will cause " +"food rot and monster evolution to advance." msgstr "" #: src/options.cpp @@ -213791,12 +221247,9 @@ msgstr "Statikus NPC-k" #: src/options.cpp msgid "" -"If true, static NPCs will spawn at pre-defined locations. Requires world " +"If true, static NPCs will spawn at pre-defined locations. Requires world " "reset." msgstr "" -"Ha igen, akkor az NPC-ket a játék elején, egyszer, egy konkrét helyen " -"generálja le a játék. Megváltoztatása után a világot alaphelyzetbe kell " -"állítani." #: src/options.cpp msgid "Starting NPCs spawn" @@ -213839,6 +221292,8 @@ msgid "" "If true, experimental z-level maps will be enabled. Turn this off if you " "experience excessive slowdown." msgstr "" +"Ha igen, akkor a kísérleti z-szintű térképek be lesznek kapcsolva. Ki lehet " +"kapcsolni, ha a játék emiatt nagyon belassulna." #: src/options.cpp msgid "Align up and down stairs" @@ -214328,6 +221783,10 @@ msgid_plural "" msgstr[0] "%s #%s -- A kiválasztott értéknél az ablak %d pixel magas lesz." msgstr[1] "%s #%s -- A kiválasztott értéknél az ablak %d pixel magas lesz." +#: src/options.cpp +msgid "Note: " +msgstr "Jegyzet:" + #: src/options.cpp msgid "Some of these options may produce unexpected results if changed." msgstr "" @@ -214340,6 +221799,8 @@ msgid "" "Prerequisite for this option not met!\n" "(%s)" msgstr "" +"Ennek az opciónak nincsen beállítva az alapfeltétele!\n" +"(%s)" #: src/options.cpp msgid "Invalid input: not a number" @@ -214350,14 +221811,14 @@ msgid "options" msgstr "opciók" #: src/output.cpp -msgid "Press any key for more..." +msgid "Press any key for more…" msgstr "" #: src/output.cpp #, c-format msgctxt "query_yn" msgid "%s (Case Sensitive)" -msgstr "" +msgstr "%s (kisbetű/nagybetű számít)" #: src/output.cpp #, c-format @@ -214439,12 +221900,12 @@ msgstr ", és " #: src/output.h msgid ", or " -msgstr "" +msgstr ", vagy " #: src/output.h #, c-format msgid "$%.2f" -msgstr "" +msgstr "$%.2f" #: src/overmap.cpp src/skill.cpp msgid "invalid" @@ -214510,7 +221971,7 @@ msgstr "[%s] %s" #: src/overmap_ui.cpp #, c-format msgid "" -"LEVEL %i, %d'%d, %d'%d : %s (Distance: " +"LEVEL %i, %d'%d, %d'%d: %s (Distance: " "%d)" msgstr "" @@ -214724,91 +222185,91 @@ msgstr "%1$s %2$si irányban %3$s központjától" #: src/panels.cpp msgid "Str " -msgstr "" +msgstr "Erő " #: src/panels.cpp msgid "Dex " -msgstr "" +msgstr "Ügy " #: src/panels.cpp msgid "Int " -msgstr "" +msgstr "Int " #: src/panels.cpp msgid "Per " -msgstr "" +msgstr "Érz " #: src/panels.cpp msgid "New moon" -msgstr "" +msgstr "Újhold" #: src/panels.cpp msgid "Waxing crescent" -msgstr "" +msgstr "Dagadó negyedhold" #: src/panels.cpp msgid "Half moon" -msgstr "" +msgstr "Félhold" #: src/panels.cpp msgid "Waxing gibbous" -msgstr "" +msgstr "Dagadó félhold" #: src/panels.cpp msgid "Full moon" -msgstr "" +msgstr "Telihold" #: src/panels.cpp msgid "Waning gibbous" -msgstr "" +msgstr "Csökkenő félhold" #: src/panels.cpp msgid "Waning crescent" -msgstr "" +msgstr "Csökkenő negyedhold" #: src/panels.cpp msgid "Dark moon" -msgstr "" +msgstr "Sötét hold" #: src/panels.cpp msgid "Around midnight" -msgstr "" +msgstr "Éjfél körül" #: src/panels.cpp msgid "Dead of night" -msgstr "" +msgstr "Éjszaka közepe" #: src/panels.cpp msgid "Around dawn" -msgstr "" +msgstr "Hajnal körül" #: src/panels.cpp msgid "Early morning" -msgstr "" +msgstr "Kora reggel" #: src/panels.cpp msgid "Morning" -msgstr "" +msgstr "Reggel" #: src/panels.cpp msgid "Around noon" -msgstr "" +msgstr "Dél körül" #: src/panels.cpp msgid "Afternoon" -msgstr "" +msgstr "Délután" #: src/panels.cpp msgid "Early evening" -msgstr "" +msgstr "Kora este" #: src/panels.cpp msgid "Around dusk" -msgstr "" +msgstr "Naplemente táján" #: src/panels.cpp msgid "Night" -msgstr "" +msgstr "Éjszaka" #: src/panels.cpp msgid " (Rising!!)" @@ -214836,60 +222297,55 @@ msgstr " (Csökken!!)" #: src/panels.cpp msgid "Scorching!" -msgstr "" +msgstr "Perzselő!" #: src/panels.cpp msgid "Very hot!" -msgstr "" +msgstr "Nagyon forró!" #: src/panels.cpp msgid "Very cold!" -msgstr "" +msgstr "Nagyon hideg!" #: src/panels.cpp msgid "Freezing!" -msgstr "" - -#: src/panels.cpp -msgctxt "energy unit: kilojoule" -msgid "kJ" -msgstr "kJ" +msgstr "Fagyos!" #: src/panels.cpp msgid "Bad" -msgstr "" +msgstr "Rossz" #: src/panels.cpp msgid "Good" -msgstr "" +msgstr "Jó" #: src/panels.cpp msgid "SAFE" -msgstr "" +msgstr "BIZT" #: src/panels.cpp msgid "STM" -msgstr "" +msgstr "KIT" #: src/panels.cpp msgid "PWR" -msgstr "" +msgstr "ENR" #: src/panels.cpp msgid "STR" -msgstr "" +msgstr "ERŐ" #: src/panels.cpp msgid "DEX" -msgstr "" +msgstr "ÜGY" #: src/panels.cpp msgid "INT" -msgstr "" +msgstr "INT" #: src/panels.cpp msgid "PER" -msgstr "" +msgstr "ÉRZ" #: src/panels.cpp msgctxt "movement-type" @@ -214908,11 +222364,11 @@ msgstr "Gy" #: src/panels.cpp msgid "DEAF" -msgstr "" +msgstr "SÜKET" #: src/panels.cpp msgid "Sound:" -msgstr "" +msgstr "Hang:" #: src/panels.cpp msgid "Time: ???" @@ -214920,7 +222376,7 @@ msgstr "Idő: ???" #: src/panels.cpp msgid "Moon" -msgstr "" +msgstr "Hold" #: src/panels.cpp msgid "Focus" @@ -214928,123 +222384,124 @@ msgstr "Fókusz" #: src/panels.cpp msgid "Stam :" -msgstr "" +msgstr "Kitar:" #: src/panels.cpp msgid "Focus:" -msgstr "" +msgstr "Fóksz:" #: src/panels.cpp msgid "Mood :" -msgstr "" +msgstr "Kedv :" #: src/panels.cpp msgid "Speed:" -msgstr "" +msgstr "Sbség:" #: src/panels.cpp msgid "Move :" -msgstr "" +msgstr "Mozg :" #: src/panels.cpp msgid "Str :" -msgstr "" +msgstr "Erő :" #: src/panels.cpp msgid "Int :" -msgstr "" +msgstr "Int :" #: src/panels.cpp msgid "Dex :" -msgstr "" +msgstr "Ügy :" #: src/panels.cpp msgid "Per :" -msgstr "" +msgstr "Érz :" #: src/panels.cpp msgid "Power:" -msgstr "" +msgstr "Energ:" #: src/panels.cpp msgid "Safe :" -msgstr "" +msgstr "Bizt :" #: src/panels.cpp msgid "On" -msgstr "" +msgstr "Be" #: src/panels.cpp msgid "Place: " -msgstr "" +msgstr "Hely : " #: src/panels.cpp msgid "Sky : Underground" -msgstr "" +msgstr "Ég : Földalatt" #: src/panels.cpp msgid "Sky :" -msgstr "" +msgstr "Ég :" #: src/panels.cpp msgid "Light:" -msgstr "" +msgstr "Fény :" #: src/panels.cpp #, c-format msgid "Date : %s, day %d" -msgstr "" +msgstr "Dátum: %s, %d.nap" #: src/panels.cpp #, c-format msgid "Time : %s" -msgstr "" +msgstr "Idő : %s" #: src/panels.cpp msgid "Time : ???" -msgstr "" +msgstr "Idő : ???" #: src/panels.cpp #, c-format msgid "Moon : %s" -msgstr "" +msgstr "Hold : %s" #: src/panels.cpp #, c-format msgid "Temp : %s" -msgstr "" +msgstr "Hőm. : %s" #: src/panels.cpp msgid "Wield:" -msgstr "" +msgstr "Kézbn:" #: src/panels.cpp msgid "Style:" -msgstr "" +msgstr "Stíls:" #: src/panels.cpp msgid "Rest :" -msgstr "" +msgstr "Pihen:" #: src/panels.cpp msgid "Heat :" -msgstr "" +msgstr "Hő :" #: src/panels.cpp msgid "Underground" msgstr "Föld alatt" +#. ~ translation should not exceed 5 console cells #: src/panels.cpp msgid "Wind" -msgstr "" +msgstr "Szél" #: src/panels.cpp msgid "Stm" -msgstr "" +msgstr "Kit" #: src/panels.cpp msgid "Spd " -msgstr "" +msgstr "Sbs " #: src/panels.cpp msgid "POWER" @@ -215052,28 +222509,28 @@ msgstr "ENERG" #: src/panels.cpp msgid "Head :" -msgstr "" +msgstr "Fej :" #: src/panels.cpp msgid "Torso:" -msgstr "" +msgstr "Törzs:" #: src/panels.cpp msgid "Arms :" -msgstr "" +msgstr "Karok:" #: src/panels.cpp msgid "Legs :" -msgstr "" +msgstr "Lábak:" #: src/panels.cpp msgid "Feet :" -msgstr "" +msgstr "Lbfej:" #: src/panels.cpp #, c-format msgid "Goal: %s" -msgstr "" +msgstr "Cél : %s" #: src/panels.cpp msgid "Weather :" @@ -215081,11 +222538,11 @@ msgstr "Időjárás:" #: src/panels.cpp msgid "Moon :" -msgstr "" +msgstr "Hold :" #: src/panels.cpp msgid "Lighting:" -msgstr "Fény:" +msgstr "Fény :" #: src/panels.cpp msgid "Deaf!" @@ -215093,131 +222550,129 @@ msgstr "Süket!" #: src/panels.cpp msgid "Weapon :" -msgstr "" - -#: src/panels.cpp -msgid "No Style" -msgstr "Nincs stílus" +msgstr "Fegyver :" #: src/panels.cpp msgid "Day " -msgstr "" +msgstr "Nap " #: src/panels.cpp msgid "Temp : " -msgstr "" +msgstr "Hőm. : " #: src/panels.cpp msgid "to open sidebar options" -msgstr "" +msgstr "az oldalás beállításaihoz" +#. ~ translation should not exceed 4 console cells #: src/panels.cpp msgid "Mana" -msgstr "" +msgstr "Mana" +#. ~ translation should not exceed 9 console cells #: src/panels.cpp msgid "Max Mana" -msgstr "" +msgstr "Max Mana" #: src/panels.cpp msgid "Location" -msgstr "" +msgstr "Helyszín" #: src/panels.cpp msgid "Weather" -msgstr "" +msgstr "Időjárás" #: src/panels.cpp msgid "Lighting" -msgstr "" +msgstr "Fény" #: src/panels.cpp msgid "Weapon" -msgstr "" +msgstr "Fegyver" #: src/panels.cpp msgid "Time" -msgstr "" +msgstr "Idő" #: src/panels.cpp msgid "Compass" -msgstr "" +msgstr "Iránytű" #: src/panels.cpp msgid "Log" -msgstr "" +msgstr "Napló" #: src/panels.cpp msgid "Map" -msgstr "" +msgstr "Térkép" #: src/panels.cpp msgid "Limbs" -msgstr "" +msgstr "Végtagok" #: src/panels.cpp msgid "Sound" -msgstr "" +msgstr "Hang" #: src/panels.cpp msgid "Stats" -msgstr "" +msgstr "Statisztikák" #: src/panels.cpp msgid "Needs" -msgstr "" +msgstr "Szükségek" #: src/panels.cpp msgid "Env" -msgstr "" +msgstr "Krn" #: src/panels.cpp msgid "Vehicle" -msgstr "" +msgstr "Jármű" #: src/panels.cpp msgid "Hint" -msgstr "" +msgstr "Súgó" #: src/panels.cpp msgid "Movement" -msgstr "" +msgstr "Mozgás" #: src/panels.cpp msgid "Location Alt" -msgstr "" +msgstr "Alternatív helyszín" #: src/panels.cpp msgid "compact" -msgstr "" +msgstr "kompakt" #: src/panels.cpp msgid "labels-narrow" -msgstr "" +msgstr "címkék-keskeny" #: src/panels.cpp msgid "labels" -msgstr "" +msgstr "címkék" #: src/panels.cpp msgid "panel options" -msgstr "" +msgstr "panelopciók" #: src/panels.cpp msgid "SIDEBAR OPTIONS" -msgstr "" +msgstr "OLDALSÁV BEÁLLÍTÁSOK" #: src/panels.cpp msgid "Toggle panels on/off" -msgstr "" +msgstr "Panelek ki/be" #: src/panels.cpp msgid "Change display order" -msgstr "" +msgstr "Megjelenítési sorrend változtatása" #: src/panels.cpp msgid "Exit" -msgstr "" +msgstr "Kilép" #: src/pickup.cpp #, c-format @@ -215260,7 +222715,7 @@ msgstr "Nincsen elég kapacitás a(z) %s eltevéséhez" #: src/pickup.cpp msgid "You can't pick up a liquid!" -msgstr "Folyadékot nem lehet felvenni!" +msgstr "Kiömlött folyadékot nem lehet felvenni!" #: src/pickup.cpp msgid "You're overburdened!" @@ -215371,75 +222826,6 @@ msgstr "" msgid "You have learned a new style: %s!" msgstr "" -#: src/player.cpp -#, c-format -msgid "Your %s will be frostnipped in the next few hours." -msgstr "A %s egy pár óra múlva első fokú fagyási sérülést fog szenvedni." - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten within the hour!" -msgstr "A %s egy órán belül első fokú fagyási sérülést fog szenvedni!" - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten any minute now!" -msgstr "" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s beginning to go numb from the cold!" -msgstr "Érzed, ahogyan a(z) %s testrészed elzsibbad a hidegtől!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very cold." -msgstr "Érzed, ahogyan a %s testrészed nagyon fázik." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting chilly." -msgstr "Érzed, ahogyan a %s testrészed kihűlt." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting red hot from the heat!" -msgstr "Érzed, ahogyan a %s testrészed rákvörös a forróságtól!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very hot." -msgstr "Érzed, ahogyan a %s testrészed nagyon meleg." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting warm." -msgstr "Érzed, ahogyan a %s testrészed melegedik." - -#: src/player.cpp -#, c-format -msgid "The wind is making your %s feel quite cold." -msgstr "A széltől a %s nagyon fázik." - -#: src/player.cpp -#, c-format -msgid "" -"The wind is very strong, you should find some more wind-resistant clothing " -"for your %s." -msgstr "A szél nagyon erősen fúj, valamilyen hőálló ruházat kellene rá: %s." - -#: src/player.cpp -#, c-format -msgid "" -"Your clothing is not providing enough protection from the wind for your %s!" -msgstr "A ruházatod nem elég a %s melegen tartásához!" - #: src/player.cpp msgid "You roll on the ground, trying to smother the fire!" msgstr "A földön fetrengve próbálod kioltani a lángokat!" @@ -215456,50 +222842,6 @@ msgstr "Megpróbálod kioltani magadon a tüzet!" msgid " attempts to put out the fire on them!" msgstr " megpróbálja kioltani magán a tüzet." -#: src/player.cpp -msgid "You set your mech's leg power to a loping fast walk." -msgstr "" - -#: src/player.cpp -msgid "You nudge your steed into a steady trot." -msgstr "" - -#: src/player.cpp -msgid "You start walking." -msgstr "" - -#: src/player.cpp -msgid "You set the power of your mech's leg servos to maximum." -msgstr "" - -#: src/player.cpp -msgid "You spur your steed into a gallop." -msgstr "" - -#: src/player.cpp -msgid "You start running." -msgstr "Elkezdesz futni." - -#: src/player.cpp -msgid "Your steed is too tired to go faster." -msgstr "" - -#: src/player.cpp -msgid "You're too tired to run." -msgstr "Túl fáradt vagy a futáshoz." - -#: src/player.cpp -msgid "You reduce the power of your mech's leg servos to minimum." -msgstr "" - -#: src/player.cpp -msgid "You slow your steed to a walk." -msgstr "" - -#: src/player.cpp -msgid "You start crouching." -msgstr "" - #: src/player.cpp #, c-format msgid "Your ground sonar detected a %1$s to the %2$s!" @@ -215575,15 +222917,6 @@ msgstr "" msgid "You lose your balance while being hit!" msgstr "" -#: src/player.cpp -#, c-format -msgid "You were attacked by %s!" -msgstr "Megtámadott %s!" - -#: src/player.cpp -msgid "You were hurt!" -msgstr "Fáj!" - #: src/player.cpp msgid "A snake sprouts from your body!" msgstr "" @@ -215675,7 +223008,7 @@ msgid "You are slammed against %s!" msgstr "" #: src/player.cpp -msgid "...but your shock absorbers negate the damage!" +msgid "…but your shock absorbers negate the damage!" msgstr "" #: src/player.cpp @@ -215733,8 +223066,8 @@ msgid "You have starved to death." msgstr "Éhenhaltál." #: src/player.cpp -msgid "Food..." -msgstr "Étel..." +msgid "Food…" +msgstr "" #: src/player.cpp msgid "Due to insufficient nutrition, your body is suffering from starvation." @@ -215743,12 +223076,12 @@ msgstr "" #: src/player.cpp msgid "" "Despite having something in your stomach, you still feel like you haven't " -"eaten in days..." +"eaten in days…" msgstr "" #: src/player.cpp -msgid "Your stomach feels so empty..." -msgstr "A gyomrodat annyira üresnek érzed..." +msgid "Your stomach feels so empty…" +msgstr "" #: src/player.cpp msgid "You are EMACIATED!" @@ -215767,24 +223100,24 @@ msgid "You have died of dehydration." msgstr "Kiszáradástól haltál meg." #: src/player.cpp -msgid "Even your eyes feel dry..." -msgstr "Még a szemeidet is száraznak érzed..." +msgid "Even your eyes feel dry…" +msgstr "" #: src/player.cpp msgid "You are THIRSTY!" msgstr "Nagyon SZOMJAS vagy!" #: src/player.cpp -msgid "Your mouth feels so dry..." -msgstr "A szádat annyira száraznak érzed..." +msgid "Your mouth feels so dry…" +msgstr "" #: src/player.cpp msgid "Survivor sleep now." msgstr "" #: src/player.cpp -msgid "Anywhere would be a good place to sleep..." -msgstr "Bárhol jó lenne aludni..." +msgid "Anywhere would be a good place to sleep…" +msgstr "" #: src/player.cpp msgid "You feel like you haven't slept in days." @@ -215803,7 +223136,7 @@ msgid "*yawn* You should really get some sleep." msgstr "*ásít* Nem ártana lefeküdni aludni." #: src/player.cpp -msgid "Your mind feels tired. It's been a while since you've slept well." +msgid "Your mind feels tired. It's been a while since you've slept well." msgstr "" #: src/player.cpp @@ -215814,14 +223147,14 @@ msgstr "" #: src/player.cpp msgid "" -"Your mind feels weary, and you dread every wakeful minute that passes. You " +"Your mind feels weary, and you dread every wakeful minute that passes. You " "crave sleep, and feel like you're about to collapse." msgstr "" #: src/player.cpp msgid "" "You haven't slept decently for so long that your whole body is screaming for" -" mercy. It's a miracle that you're still awake, but it just feels like a " +" mercy. It's a miracle that you're still awake, but it just feels like a " "curse now." msgstr "" @@ -215864,14 +223197,6 @@ msgstr "" msgid "There is not enough %s left to siphon it." msgstr "Nincsen elég %s ahhoz, hogy azt leszívhasd." -#: src/player.cpp -msgid "You cough heavily." -msgstr "Erősen felköhögsz." - -#: src/player.cpp -msgid "a hacking cough." -msgstr "krákogó köhögés." - #: src/player.cpp msgid "Your body is wracked with excruciating pain!" msgstr "A testedet gyötrő fájdalom járja át!" @@ -215917,11 +223242,6 @@ msgstr "A %s testrészedben érzed a fájdalmat!" msgid "Your %s aches." msgstr "A %s testrészed fáj." -#: src/player.cpp -#, c-format -msgid "Your current health value is %d." -msgstr "A jelenlegi egészségi értéked %d." - #: src/player.cpp #, c-format msgid "Your %s HURTS!" @@ -216035,13 +223355,15 @@ msgstr "" msgid "You increase %1$s to level %2$d." msgstr "" +#. ~ %1$s: weapon name #: src/player.cpp -msgid "Your " +#, c-format +msgid "Your %1$s" msgstr "" #: src/player.cpp -msgid "You suddenly feel so numb..." -msgstr "Hirtelen annyira tompának érzed magadat..." +msgid "You suddenly feel so numb…" +msgstr "" #: src/player.cpp msgid "You start to shake uncontrollably." @@ -216052,6 +223374,12 @@ msgstr "Hirtelen önkéntelenül remegni kezdesz." msgid "yourself shout, %s" msgstr "" +#. ~ %1$s: weapon name +#: src/player.cpp +#, c-format +msgid "your %1$s" +msgstr "" + #: src/player.cpp msgid "You're suddenly overcome with the urge to sleep and you pass out." msgstr "" @@ -216154,8 +223482,8 @@ msgid "Suddenly, your eyes stop working!" msgstr "Hirtelen semmit se látsz!" #: src/player.cpp -msgid "Your visual centers must be acting up..." -msgstr "A látóközpontoddal valami gond lehet..." +msgid "Your visual centers must be acting up…" +msgstr "" #: src/player.cpp msgid "You feel an anomalous sensation coming from your radiation sensors." @@ -216232,8 +223560,8 @@ msgid "You shake uncontrollably." msgstr "Önkéntelenül remegni kezdesz." #: src/player.cpp -msgid "You feel nauseous..." -msgstr "Hányingered van..." +msgid "You feel nauseous…" +msgstr "" #: src/player.cpp msgid "You black out!" @@ -216248,8 +223576,8 @@ msgid "You stumble and fall over!" msgstr "Megbotlasz és elesel!" #: src/player.cpp -msgid "You feel tired..." -msgstr "Fáradtnak érzed magadat..." +msgid "You feel tired…" +msgstr "" #: src/player.cpp msgid "You tiredly rub your eyes." @@ -216355,15 +223683,15 @@ msgstr "%1$si irányból ezt hallod: %2$s" #: src/player.cpp msgid "You feel the water burning your skin." -msgstr "" +msgstr "Érzed, ahogy a víz égeti a bőrödet." #: src/player.cpp msgid "Your cloaking flickers for a moment!" -msgstr "" +msgstr "A palástod egy pillanatra villódzik!" #: src/player.cpp msgid "Your cloaking flickers and becomes opaque." -msgstr "" +msgstr "A palástod villódzva átláthatatlanná válik." #: src/player.cpp msgid "Your power armor disengages." @@ -216399,10 +223727,6 @@ msgstr "Elejted az üres %st." msgid "%c - %d empty %s" msgstr "%c - %d üres %s" -#: src/player.cpp -msgid "You sink your roots into the soil." -msgstr "A gyökereidet a talajba mélyeszted." - #: src/player.cpp src/veh_interact.cpp #, c-format msgid "Refill %s" @@ -216416,7 +223740,7 @@ msgstr "%s újratöltése" #: src/player.cpp #, c-format msgid "Select ammo for %s" -msgstr "" +msgstr "Lőszer választása ehhez: %s" #. ~ battery storage (charges) #: src/player.cpp @@ -216430,23 +223754,23 @@ msgstr "%1$s (%2$d)" #, c-format msgctxt "magazine" msgid "%1$s with %2$s (%3$d)" -msgstr "" +msgstr "%1$s %2$s (%3$d)" #: src/player.cpp msgid "| Location " -msgstr "" +msgstr "| Helyszín " #: src/player.cpp msgid "| Amount " -msgstr "" +msgstr "| Menny. " #: src/player.cpp msgid "| Moves " -msgstr "" +msgstr "| Mozgás " #: src/player.cpp msgid "| Damage | Pierce " -msgstr "" +msgstr "| Sebzés | Szúró " #: src/player.cpp #, c-format @@ -216560,6 +223884,10 @@ msgstr "agancsok" msgid "Can't wield spilt liquids." msgstr "Kiömlött folyadékot nem lehet kézbe venni." +#: src/player.cpp +msgid "You need at least one arm to even consider wielding something." +msgstr "" + #: src/player.cpp msgid "Something you are wearing hinders the use of both hands." msgstr "Van rajtad valami, ami megakadályozza, hogy mindkét kezedet használd." @@ -216632,18 +223960,18 @@ msgstr "" #, c-format msgctxt "fault" msgid "Mend: %s" -msgstr "" +msgstr "Javít: %s" #: src/player.cpp #, c-format msgctxt "fault" msgid "Set: %s" -msgstr "" +msgstr "Beállít: %s" #: src/player.cpp #, c-format msgid "The %s doesn't have any faults to toggle." -msgstr "" +msgstr "A(z) %s nem rendelkezik semmiféle átkapcsolható hibával." #: src/player.cpp #, c-format @@ -216654,20 +223982,43 @@ msgstr "A(z) %s nem rendelkezik semmiféle javítandó hibával." msgid "Mend which fault?" msgstr "Melyik hibát javítod?" -#: src/player.cpp src/veh_interact.cpp -msgid "Time required:\n" -msgstr "Szükséges idő:\n" +#: src/player.cpp +#, c-format +msgid "Turns into: %s\n" +msgstr "" #: src/player.cpp -msgid "Skills:\n" -msgstr "Készség:\n" +#, c-format +msgid "Time required: %s\n" +msgstr "" -#. ~ %1$s represents the internal color name which shouldn't be translated, -#. %2$s is skill name, and %3$i is skill level +#: src/player.cpp +msgid "Skills: none\n" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "Skills: %s\n" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level +#: src/player.cpp +#, c-format +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level #: src/player.cpp #, c-format -msgid "> %2$s %3$i\n" -msgstr "> %2$s %3$i\n" +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "You are currently unable to mend the %s this way." +msgstr "" #: src/player.cpp msgid "You are already wearing that." @@ -216693,13 +224044,13 @@ msgstr "" #: src/player.cpp #, c-format -msgid "Your %s are very encumbered! %s" -msgstr "A %sed túl ormótlan! %s" +msgid "Your %s are very encumbered! %s" +msgstr "" #: src/player.cpp #, c-format -msgid "Your %s is very encumbered! %s" -msgstr "A %sed túl ormótlan! %s" +msgid "Your %s is very encumbered! %s" +msgstr "" #: src/player.cpp msgid "You're deafened!" @@ -216707,13 +224058,12 @@ msgstr "Megsüketültél!" #: src/player.cpp #, c-format -msgid "This %s is too big to wear comfortably! Maybe it could be refitted..." +msgid "This %s is too big to wear comfortably! Maybe it could be refitted…" msgstr "" #: src/player.cpp #, c-format -msgid "" -"This %s is too small to wear comfortably! Maybe it could be refitted..." +msgid "This %s is too small to wear comfortably! Maybe it could be refitted…" msgstr "" #: src/player.cpp @@ -216841,20 +224191,6 @@ msgstr "" msgid "You can't remove partially depleted plutonium!" msgstr "" -#: src/player.cpp -#, c-format -msgid "Your %s needs %d charge from some UPS." -msgid_plural "Your %s needs %d charges from some UPS." -msgstr[0] "" -msgstr[1] "" - -#: src/player.cpp -#, c-format -msgid "Your %s has %d charge but needs %d." -msgid_plural "Your %s has %d charges but needs %d." -msgstr[0] "" -msgstr[1] "" - #. ~ %1$s - gunmod, %2$s - gun. #: src/player.cpp #, c-format @@ -216864,7 +224200,7 @@ msgstr "Eltávolítod a %1$st innen: %2$s." #: src/player.cpp #, c-format msgid "Permanently install your %1$s in your %2$s?" -msgstr "" +msgstr "Véglegesen beszereled ezt: %1$s ebbe: %2$s?" #: src/player.cpp #, c-format @@ -216874,7 +224210,7 @@ msgstr "Felcsatolod a(z) %1$st erre: %2$s?" #: src/player.cpp #, c-format msgid "Try without tools (%i%%) risking damage (%i%%)" -msgstr "" +msgstr "Megpróbálod szerszám nélkül (%i%%) és kockáztatod a sérülést (%i%%)" #: src/player.cpp #, c-format @@ -216895,7 +224231,7 @@ msgid "It's impossible to sleep in this wheeled pot!" msgstr "" #: src/player.cpp -msgid "The humans' furniture blocks your roots. You can't get comfortable." +msgid "The humans' furniture blocks your roots. You can't get comfortable." msgstr "" #: src/player.cpp @@ -216909,7 +224245,7 @@ msgid "" msgstr "" #: src/player.cpp -msgid "These thick webs support your weight, and are strangely comfortable..." +msgid "These thick webs support your weight, and are strangely comfortable…" msgstr "" #: src/player.cpp @@ -216931,26 +224267,26 @@ msgstr "" #: src/player.cpp msgid "" -"You lay beneath the waves' embrace, gazing up through the water's surface..." +"You lay beneath the waves' embrace, gazing up through the water's surface…" msgstr "" #: src/player.cpp -msgid "You settle into the water and begin to drowse..." +msgid "You settle into the water and begin to drowse…" msgstr "" #: src/player.cpp msgid "This is a comfortable place to sleep." -msgstr "" +msgstr "Itt kényelmesen lehet aludni." #: src/player.cpp #, c-format msgid "It's a little hard to get to sleep on this %s." -msgstr "" +msgstr "Egy kicsit nehéz aludni ezen a(z) %sn." #: src/player.cpp #, c-format msgid "It's hard to get to sleep on this %s." -msgstr "" +msgstr "Nehéz elaludni ezen a(z) %sn." #. ~ %1$s: vehicle name, %2$s: vehicle part name #: src/player.cpp @@ -216966,7 +224302,7 @@ msgstr "" #: src/player.cpp msgid "You start trying to fall asleep." -msgstr "" +msgstr "Megpróbálsz elaludni." #: src/player.cpp msgid "Your soporific inducer starts working its magic." @@ -216989,78 +224325,6 @@ msgstr "" msgid "Your soporific inducer starts back up." msgstr "" -#: src/player.cpp -msgid "You nestle your pile of clothes for warmth." -msgstr "" - -#: src/player.cpp -msgid "You use your pile of clothes for warmth." -msgstr "A ruhakupac segítségével melegben leszel." - -#: src/player.cpp -#, c-format -msgid "You snuggle your %s to keep warm." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You use your %s to keep warm." -msgstr "A(z) %s segítségével melegben leszel." - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Entered hibernation." -msgstr "" - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Entered hibernation." -msgstr "" - -#. ~ %s is armor name -#: src/player.cpp -#, c-format -msgctxt "memorial_male" -msgid "Worn %s was completely destroyed." -msgstr "" - -#: src/player.cpp -#, c-format -msgctxt "memorial_female" -msgid "Worn %s was completely destroyed." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "Your %s is completely destroyed!" -msgstr "A(z) %s teljesen tönkrement!" - -#: src/player.cpp -#, c-format -msgid "'s %s is completely destroyed!" -msgstr "" - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s further!" -msgstr "A(z) %1$s még jobban %2$s!" - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s!" -msgstr "A(z) %1$s %2$s!" - -#: src/player.cpp src/veh_interact.cpp -msgid "destroyed" -msgstr "" - -#: src/player.cpp -#, c-format -msgid "This task is too simple to train your %s beyond %d." -msgstr "" -"Ez a feladat túl egyszerű ahhoz, hogy a(z) %st a(z) %d. szintnél magasabbra " -"emelje." - #: src/player.cpp #, c-format msgid "Your skill in %s has increased to %d!" @@ -217073,20 +224337,23 @@ msgstr "" "Úgy érzed, hogy az ilyen szintű %s feladatok nevetségesen könnyűvé váltak." #: src/player.cpp -msgid "You resume your task." +#, c-format +msgid "This task is too simple to train your %s beyond %d." msgstr "" +"Ez a feladat túl egyszerű ahhoz, hogy a(z) %st a(z) %d. szintnél magasabbra " +"emelje." #: src/player.cpp msgid "Wield what?" -msgstr "" +msgstr "Mit hegesztesz?" #: src/player.cpp msgid "Time seems to slow down and you instinctively dodge!" -msgstr "" +msgstr "Az idő mintha lelassult volna, és te ösztönösen kitérsz!" #: src/player.cpp #, c-format -msgid "%s dodges... so fast!" +msgid "%s dodges… so fast!" msgstr "" #: src/player.cpp @@ -217098,79 +224365,6 @@ msgstr "Megpróbálsz kitérni, de nincs elég hely!" msgid "%s tries to dodge but there's no room!" msgstr "" -#: src/player.cpp -msgid "You start hauling items along the ground." -msgstr "" - -#: src/player.cpp -msgid "Your hands are not free, which makes hauling slower." -msgstr "" - -#: src/player.cpp -msgid "You stop hauling items." -msgstr "" - -#: src/player.cpp -msgid "Your body strains under the weight!" -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You remove the %s's harness." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You climb on the %s." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You hear your %s whir to life." -msgstr "" - -#: src/player.cpp -msgid "You are ejected from your mech!" -msgstr "" - -#: src/player.cpp -msgid " is ejected from their mech!" -msgstr "" - -#: src/player.cpp -msgid "You fall off your mount!" -msgstr "" - -#: src/player.cpp -msgid " falls off their mount!" -msgstr "" - -#: src/player.cpp src/trapfunc.cpp -msgid "You hurt yourself!" -msgstr "Megsérültél!" - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Fell off a mount." -msgstr "" - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Fell off a mount." -msgstr "" - -#: src/player.cpp -msgid "Dismount where?" -msgstr "" - -#: src/player.cpp -msgid "You cannot dismount there!" -msgstr "" - -#: src/player.cpp -msgid "Wielding: " -msgstr "Kezében: " - #: src/player.cpp #, c-format msgid "You (%s)" @@ -217214,59 +224408,36 @@ msgstr "A(z) %s készséged %d. szintre esett vissza!" #: src/player.cpp msgid "Very Hungry" -msgstr "" +msgstr "Nagyon éhes" #: src/player.cpp msgid "Peckish" -msgstr "" +msgstr "Kicsit éhes" #: src/player.cpp msgid "Pain " -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Crafting: %s" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Burrowing: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Sawing: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Jackhammering: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Digging: %d%%" -msgstr "" +msgstr "Fájdalom " +#. ~ skill_name current_skill_level -> next_skill_level (% to next level) #: src/player_activity.cpp #, c-format -msgid "Disassembling: %d%%" +msgctxt "reading progress" +msgid "%s %d -> %d (%d%%)" msgstr "" #: src/player_activity.cpp #, c-format -msgid "Shoveling: %d%%" -msgstr "" +msgid "%s…" +msgstr "%s…" #: src/player_activity.cpp #, c-format -msgid "Chopping: %d%%" -msgstr "" +msgid "%s: %s" +msgstr "%s: %s" #: src/player_activity.cpp msgid "You pause for a moment to catch your breath." -msgstr "" +msgstr "Egy pillanatra megállasz, hogy visszanyerd a lélegzeted." #: src/player_display.cpp msgid "ENCUMBRANCE AND WARMTH" @@ -217375,17 +224546,17 @@ msgstr "" #: src/player_display.cpp #, c-format msgid "Base HP: %d" -msgstr "" +msgstr "Base ÉP: %d" #: src/player_display.cpp #, c-format msgid "Carry weight (%s): %.1f" -msgstr "" +msgstr "Szállítható súly (%s): %.1f" #: src/player_display.cpp #, c-format msgid "Melee damage: %.1f" -msgstr "" +msgstr "Közelharci sebz: %.1f" #: src/player_display.cpp msgid "" @@ -217399,17 +224570,17 @@ msgstr "" #: src/player_display.cpp #, c-format msgid "Melee to-hit bonus: %+.1lf" -msgstr "" +msgstr "Közelharci találati bónusz: %+.1lf" #: src/player_display.cpp #, c-format msgid "Ranged penalty: %+d" -msgstr "" +msgstr "Távolsági hátrány: %+d" #: src/player_display.cpp #, c-format msgid "Throwing penalty per target's dodge: %+d" -msgstr "" +msgstr "Dobási hátrány a cél kitérése miatt: %+d" #: src/player_display.cpp msgid "" @@ -217425,17 +224596,17 @@ msgstr "" #: src/player_display.cpp #, c-format msgid "Read times: %d%%" -msgstr "" +msgstr "Olvasási idő: %d%%" #: src/player_display.cpp #, c-format msgid "Crafting bonus: %d%%" -msgstr "" +msgstr "Elkészítési bónusz: %d%%" #: src/player_display.cpp #, c-format msgid "Skill rust: %d%%" -msgstr "" +msgstr "Készségkopás: %d%%" #: src/player_display.cpp msgid "" @@ -217448,16 +224619,16 @@ msgstr "" #: src/player_display.cpp #, c-format msgid "Trap detection level: %d" -msgstr "" +msgstr "Csapda érzékelési szint: %d" #: src/player_display.cpp #, c-format msgid "Aiming penalty: %+d" -msgstr "" +msgstr "Célzási hátrány: %+d" #: src/player_display.cpp msgid "Weight:" -msgstr "" +msgstr "Súly:" #: src/player_display.cpp msgid "" @@ -217465,11 +224636,14 @@ msgid "" "which in turn shows how prepared you are to survive for a time without " "food.Having too much, or too little, can be unhealthy." msgstr "" +"A testsúlyod azt mutatja, hogy mennyi zsírt tárolt el a tested, ami pedig " +"arra utal, hogy mennyi ideig vagy képes a túlélésre étel nélkül. Nem " +"egészséges, ha a testsúlyod túl alacsony, vagy túl sok." #: src/player_display.cpp #, c-format msgid "Bionic Power: %1$d / %2$d" -msgstr "" +msgstr "Bionikus energia: %1$d / %2$d" #: src/player_display.cpp msgid "Base Move Cost:" @@ -217481,72 +224655,82 @@ msgstr "Jelenlegi sebesség:" #: src/player_display.cpp #, c-format -msgid "Overburdened -%s%d%%" -msgstr "Túlterhelt -%s%d%%" +msgctxt "speed penalty" +msgid "Overburdened -%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Pain -%s%d%%" -msgstr "Fájdalom -%s%d%%" +msgctxt "speed penalty" +msgid "Pain -%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Thirst -%s%d%%" -msgstr "Szomjas -%s%d%%" +msgctxt "speed penalty" +msgid "Thirst -%2d%%" +msgstr "" #: src/player_display.cpp msgid "Underfed" -msgstr "" +msgstr "Alultáplált" +#. ~ %s: Starving/Underfed (already left-justified), %2d: speed penalty #: src/player_display.cpp #, c-format -msgid "%-20s-%s%d%%" +msgctxt "speed penalty" +msgid "%s-%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Out of Sunlight -%s%d%%" -msgstr "Nincs napfényen -%s%d%%" +msgctxt "speed penalty" +msgid "Out of Sunlight -%2d%%" +msgstr "" +#. ~ %s: sign of bonus/penalty, %2d: speed bonus/penalty #: src/player_display.cpp #, c-format -msgid "Cold-Blooded %s%s%d%%" +msgctxt "speed modifier" +msgid "Cold-Blooded %s%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Quick +%s%d%%" -msgstr "Gyors +%s%d%%" +msgctxt "speed bonus" +msgid "Quick +%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Bionic Speed +%s%d%%" -msgstr "Bionikus sebesség +%s%d%%" +msgctxt "speed bonus" +msgid "Bionic Speed +%2d%%" +msgstr "" #: src/player_display.cpp #, c-format msgid "Strength -%d" -msgstr "" +msgstr "Erő -%d" #: src/player_display.cpp #, c-format msgid "Dexterity -%d" -msgstr "" +msgstr "Ügyesség -%d" #: src/player_display.cpp #, c-format msgid "Intelligence -%d" -msgstr "" +msgstr "intelligencia -%d" #: src/player_display.cpp #, c-format msgid "Perception -%d" -msgstr "" +msgstr "Érzékelés -%d" #: src/player_display.cpp #, c-format msgid "Speed -%d %%" -msgstr "" +msgstr "Sebesség -%d %%" #: src/player_display.cpp msgid "Severely Malnourished" @@ -217554,19 +224738,15 @@ msgstr "Nagyon alultáplált" #: src/player_display.cpp msgid "" -"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" -" \n" +"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" +"\n" msgstr "" -"A testedet nagyon legyengítette az éhezés. Ha nem kezdesz el rendesen enni, akkor akár éhen is halhatsz!\n" -" \n" #: src/player_display.cpp msgid "" -"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" -" \n" +"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" +"\n" msgstr "" -"A testedet legyengítette az éhezés. Csak rendszeres táplálkozással és idővel tudsz ebből felépülni.\n" -" \n" #: src/player_display.cpp src/veh_interact.cpp msgid "Strength" @@ -217666,33 +224846,30 @@ msgid " vomits thousands of live spores!" msgstr " ezernyi élő spórát hány ki!" #: src/player_hardcoded_effects.cpp -msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" -msgstr "Az eltört karjaidon a hús felduzzad - gombaszálak törik át a bőrödet!" +msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" +msgstr "" #: src/player_hardcoded_effects.cpp -msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" +msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" msgstr "" -" eltört karjain a hús felduzzad - gombaszálak törik át a bőrét! " #: src/player_hardcoded_effects.cpp msgid "" -"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " +"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " "through!" msgstr "" -"Az ép és az eltört karjaidon a hús felduzzad - gombaszálak törik át a " -"bőrödet!" #: src/player_hardcoded_effects.cpp -msgid "'s arms bulge. Fungus stalks burst out of the bulges!" -msgstr " karjain a hús felduzzad - gombaszálak törik át a bőrét! " +msgid "'s arms bulge. Fungus stalks burst out of the bulges!" +msgstr "" #: src/player_hardcoded_effects.cpp -msgid "Your hands bulge. Fungus stalks burst through the bulge!" -msgstr "Az kezeiden a hús felduzzad - gombaszálak törik át a bőrödet!" +msgid "Your hands bulge. Fungus stalks burst through the bulge!" +msgstr "" #: src/player_hardcoded_effects.cpp -msgid "'s hands bulge. Fungus stalks burst through the bulge!" -msgstr " kezein a hús felduzzad - gombaszálak törik át a bőrét! " +msgid "'s hands bulge. Fungus stalks burst through the bulge!" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "You feel nauseous!" @@ -217739,8 +224916,8 @@ msgid "\"Oh God, what's happening?\"" msgstr "\"Ó Istenem, mi történik?\"" #: src/player_hardcoded_effects.cpp -msgid "\"Of course... it's all fractals!\"" -msgstr "\"Hát persze.. a fraktálok!\"" +msgid "\"Of course… it's all fractals!\"" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "\"Huh? What was that?\"" @@ -217775,8 +224952,8 @@ msgid "You quiver from the cold." msgstr "Remegsz a hidegtől." #: src/player_hardcoded_effects.cpp -msgid "Your torso is freezing cold. You should put on a few more layers." -msgstr "A törzsed nagyon fázik, talán nem ártana több réteget felvenni." +msgid "Your torso is freezing cold. You should put on a few more layers." +msgstr "" #: src/player_hardcoded_effects.cpp msgid "Your shivering makes you unsteady." @@ -217980,8 +225157,8 @@ msgid "You shudder suddenly." msgstr "Hirtelen megremegsz." #: src/player_hardcoded_effects.cpp -msgid "Your vision is filled with bright lights..." -msgstr "Látásodat élénk fények borítják el..." +msgid "Your vision is filled with bright lights…" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "You're suddenly covered in ectoplasm." @@ -218155,6 +225332,47 @@ msgstr "" msgid "Your alarm went off." msgstr "" +#: src/player_hardcoded_effects.cpp +msgid "You lose control of your body as it begins to convulse!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You lose conciousness!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "arm" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "hand" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "leg" +msgstr "" + +#: src/player_hardcoded_effects.cpp +#, c-format +msgid "Your %s suddenly jerks in an unexpected direction!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep hold of your weapon." +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep your footing." +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You suddenly lose all muscle tone, and can't support your own weight!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You have a splitting headache." +msgstr "" + #: src/ranged.cpp #, c-format msgid "Your %s misfires with a muffled click!" @@ -218248,22 +225466,22 @@ msgstr "" #: src/ranged.cpp msgctxt "amount of backward momentum" msgid "High" -msgstr "" +msgstr "Magas" #: src/ranged.cpp msgctxt "amount of backward momentum" msgid "Medium" -msgstr "" +msgstr "Közepes" #: src/ranged.cpp msgctxt "amount of backward momentum" msgid "Low" -msgstr "" +msgstr "Alacsony" #: src/ranged.cpp msgctxt "amount of backward momentum" msgid "None" -msgstr "" +msgstr "Semmi" #: src/ranged.cpp #, c-format @@ -218296,37 +225514,37 @@ msgstr "A kurzorral mozgasd a jelet a célra" #: src/ranged.cpp #, c-format msgid "[%s] Cycle targets; [%c] to fire." -msgstr "" +msgstr "[%s] Vált a célok között; [%c] tüzel." #: src/ranged.cpp #, c-format msgid "[%c] target self; [%c] toggle snap-to-target" -msgstr "" +msgstr "[%c] magadra célzol; [%c] célra ugrás ki-be" #: src/ranged.cpp #, c-format -msgid "[%c] to steady your aim. (10 moves)" +msgid "[%c] to steady your aim. (10 moves)" msgstr "" #: src/ranged.cpp #, c-format msgid "%sto aim and fire" -msgstr "" +msgstr "%s céloz és tüzel " #: src/ranged.cpp #, c-format msgid "[%c] to switch aiming modes." -msgstr "" +msgstr "[%c] célzási mód váltása." #: src/ranged.cpp #, c-format msgid "[%c] to switch firing modes." -msgstr "" +msgstr "[%c] tüzelési mód váltása." #: src/ranged.cpp #, c-format msgid "[%c] to reload/switch ammo." -msgstr "" +msgstr "[%c] újratárazás / lőszerváltás." #: src/ranged.cpp msgid "Mouse: LMB: Target, Wheel: Cycle, RMB: Fire" @@ -218339,7 +225557,7 @@ msgstr "Kézremegés" #: src/ranged.cpp #, c-format msgid "Symbols:%s" -msgstr "" +msgstr "Jelek:%s" #: src/ranged.cpp msgid "Current Aim" @@ -218350,6 +225568,8 @@ msgstr "Jelenlegi cél" msgid "" "[%s] %s: Moves to fire: %d" msgstr "" +"[%s] %s: Mozgáspont a tüzeléshez: " +"%d" #: src/ranged.cpp msgctxt "aim_confidence" @@ -218383,7 +225603,7 @@ msgstr "Szokványos célzás" #: src/ranged.cpp #, c-format msgid "[%c] to aim and fire." -msgstr "" +msgstr "[%c] céloz és tüzel." #: src/ranged.cpp msgid "Careful Aim" @@ -218392,7 +225612,7 @@ msgstr "Gondos célzás" #: src/ranged.cpp #, c-format msgid "[%c] to take careful aim and fire." -msgstr "" +msgstr "[%c] gondos célzás és tűz." #: src/ranged.cpp msgid "Precise Aim" @@ -218401,7 +225621,7 @@ msgstr "Pontos célzás" #: src/ranged.cpp #, c-format msgid "[%c] to take precise aim and fire." -msgstr "" +msgstr "[%c] pontos célzás és tűz." #: src/ranged.cpp #, c-format @@ -218411,32 +225631,32 @@ msgstr "Tényleg megtámadod: %s?" #: src/ranged.cpp #, c-format msgid "Range: %d/%d Elevation: %d Targets: %d" -msgstr "" +msgstr "Lőtáv: %d/%d Szintkülönbség: %d Célpont: %d" #: src/ranged.cpp #, c-format msgid "Range: %d Elevation: %d Targets: %d" -msgstr "" +msgstr "Lőtáv: %d Szintkülönbség: %d Célpont: %d" #: src/ranged.cpp #, c-format msgid "Firing mode: %s %s (%d)" -msgstr "" +msgstr "Tüzelési mód: %s %s (%d)" #: src/ranged.cpp #, c-format msgid "Firing mode: %s (%d)" -msgstr "" +msgstr "Tüzelési mód: %s (%d)" #: src/ranged.cpp #, c-format msgid "Ammo: %s" -msgstr "" +msgstr "Lőszer: %s" #: src/ranged.cpp #, c-format msgid "Ammo: %s (%d/%d)" -msgstr "" +msgstr "Lőszer: %s (%d/%d)" #: src/ranged.cpp #, c-format @@ -218474,7 +225694,7 @@ msgid "Effective Spell Radius: %s%s" msgstr "" #: src/ranged.cpp -msgid " WARNING! IN RANGE" +msgid " WARNING! IN RANGE" msgstr "" #: src/ranged.cpp @@ -218576,14 +225796,10 @@ msgstr "" msgid "none" msgstr "semmi" -#: src/recipe.cpp -msgid "none" -msgstr "" - #: src/recipe.cpp #, c-format msgid "%s%% at >%s units" -msgstr "" +msgstr "%s%% %s darabnál többnél" #. ~ %1$d: tool count, %2$s: quality requirement name, %3$d: quality level #. requirement @@ -218591,8 +225807,8 @@ msgstr "" #, c-format msgid "%1$d tool with %2$s of %3$d or more." msgid_plural "%1$d tools with %2$s of %3$d or more." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%1$d %2$s szerszám legalább %3$d. szinttel" +msgstr[1] "%1$d %2$s szerszám legalább %3$d. szinttel" #. ~ %1$s: tool name, %2$d: charge requirement #: src/requirements.cpp @@ -218600,6 +225816,15 @@ msgstr[1] "" msgctxt "requirement" msgid "%1$s (%2$d charge)" msgid_plural "%1$s (%2$d charges)" +msgstr[0] "%1$s (%2$d töltet)" +msgstr[1] "%1$s (%2$d töltet)" + +#. ~ %1$s: item name, %2$d: charge requirement +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%1$s (%2$d of infinite)" +msgid_plural "%1$s (%2$d of infinite)" msgstr[0] "" msgstr[1] "" @@ -218609,8 +225834,8 @@ msgstr[1] "" msgctxt "requirement" msgid "%1$s (%2$d of %3$d)" msgid_plural "%1$s (%2$d of %3$d)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%1$s (%2$d / %3$d)" +msgstr[1] "%1$s (%2$d / %3$d)" #. ~ %1$s: item name, %2$d: charge requirement #: src/requirements.cpp @@ -218618,6 +225843,15 @@ msgstr[1] "" msgctxt "requirement" msgid "%1$s (%2$d)" msgid_plural "%1$s (%2$d)" +msgstr[0] "%1$s (%2$d)" +msgstr[1] "%1$s (%2$d)" + +#. ~ %1$s: item name, %2$d: required count +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%2$d %1$s of infinite" +msgid_plural "%2$d %1$s of infinite" msgstr[0] "" msgstr[1] "" @@ -218627,8 +225861,8 @@ msgstr[1] "" msgctxt "requirement" msgid "%2$d %1$s of %3$d" msgid_plural "%2$d %1$s of %3$d" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%2$d %1$s / %3$d" +msgstr[1] "%2$d %1$s / %3$d" #. ~ %1$s: item name, %2$d: required count #: src/requirements.cpp @@ -218636,8 +225870,8 @@ msgstr[1] "" msgctxt "requirement" msgid "%2$d %1$s" msgid_plural "%2$d %1$s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%2$d %1$s" +msgstr[1] "%2$d %1$s" #: src/requirements.cpp msgid "and " @@ -218645,11 +225879,11 @@ msgstr "és " #: src/requirements.cpp msgid "These tools are required:" -msgstr "" +msgstr "Szükséges szerszám:" #: src/requirements.cpp msgid "These components are required:" -msgstr "" +msgstr "Szükséges alkatrészek:" #: src/requirements.cpp msgid "These tools are missing:" @@ -218657,7 +225891,7 @@ msgstr "Ezek a szerszámok hiányoznak:" #: src/requirements.cpp msgid "These components are missing:" -msgstr "" +msgstr "Ezek az alkatrészek hiányoznak:" #: src/requirements.cpp msgid "Components required:" @@ -218665,7 +225899,7 @@ msgstr "Szükséges hozzávalók:" #: src/requirements.cpp msgid " OR " -msgstr "" +msgstr " VAGY " #: src/requirements.cpp msgid "Tools required:" @@ -218683,11 +225917,11 @@ msgstr " BIZTONSÁGOS MÓD KEZELÉSE " #: src/safemode_ui.cpp msgid "Attitude" -msgstr "" +msgstr "Magasság" #: src/safemode_ui.cpp msgid "Dist" -msgstr "" +msgstr "Táv." #: src/safemode_ui.cpp msgid "B/W" @@ -218706,8 +225940,8 @@ msgid "Safe Mode manager currently inactive." msgstr "A biztonságos mód kezelője jelenleg inaktív." #: src/safemode_ui.cpp -msgid "Default rules are used. Add a rule to activate." -msgstr "Az alapszabályokat használja. Aktiválásához adj hozzá egy szabályt." +msgid "Default rules are used. Add a rule to activate." +msgstr "" #: src/safemode_ui.cpp msgid "Press ~ to add a default ruleset to get started." @@ -218719,7 +225953,7 @@ msgstr "Fehérlista" #: src/safemode_ui.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" +"* is used as a Wildcard. A few Examples:\n" "\n" "human matches every NPC\n" "zombie matches the monster name exactly\n" @@ -218728,14 +225962,6 @@ msgid "" "*cid*zo*ie multiple * are allowed\n" "AcI*zO*iE case insensitive search" msgstr "" -"A * helyettesítő karakter. Például:\n" -"\n" -"ember mindegyik NPC-re vonatkozik\n" -"zombi konkrétan az adott zombira vonatkozik\n" -"savas zo* minden olyan szörnyre vonatkozik, amelyek neve 'savas zo'-val kezdődikk\n" -"*mbi minden olyan szörnyre vonatkozik, amelyek neve 'mbi'-vel vékződik\n" -"s*v*s z*mbi több * is használható\n" -"sAvAs ZOmBi kisbetű-nagybetű nem számít" #: src/safemode_ui.cpp msgid "Safe Mode Rule:" @@ -218750,8 +225976,8 @@ msgid "Option: " msgstr "Opció:" #: src/safemode_ui.cpp -msgid "No monsters loaded. Please start a game first." -msgstr "A szörnyek még nem kerültek betöltésre. Előtte kezdj egy új játékot." +msgid "No monsters loaded. Please start a game first." +msgstr "" #: src/safemode_ui.cpp #, c-format @@ -218765,9 +225991,8 @@ msgid "Lists monsters regardless of their attitude." msgstr "A szörnyeket a hozzáállásuktól függetlenül listázza ki." #: src/safemode_ui.cpp -msgid "Safe Mode is not enabled in the options. Enable it now?" +msgid "Safe Mode is not enabled in the options. Enable it now?" msgstr "" -"A biztonságos mód nincsen a beállításoknál engedélyezve. Most engedélyezed?" #: src/safemode_ui.cpp msgid "safemode configuration" @@ -218808,11 +226033,6 @@ msgstr "" msgid "KILLS" msgstr "" -#: src/sdltiles.cpp -msgid "" -"Sets which video display will be used to show the game. Requires restart." -msgstr "Beállítja a játék által használt képernyőt. Újraindítást igényel." - #: src/skill.cpp msgid "The zen-most skill there is." msgstr "" @@ -218833,7 +226053,7 @@ msgstr "Ezt hallod: %s!" #: src/sounds.cpp #, c-format msgid "From your position you hear %1$s." -msgstr "" +msgstr "A helyzetedből ezt hallod: %1$s." #: src/sounds.cpp #, c-format @@ -218871,6 +226091,10 @@ msgstr "" msgid "d: delete history" msgstr "d: előzmények törlése" +#: src/teleport.cpp +msgid "You feel a strange, inwards force." +msgstr "" + #: src/teleport.cpp msgid "You cannot teleport safely." msgstr "" @@ -218880,7 +226104,11 @@ msgid "You die after teleporting into a solid." msgstr "" #: src/teleport.cpp -msgid "You exlpode into thousands of fragments." +msgid "You feel disjointed." +msgstr "" + +#: src/teleport.cpp +msgid "You explode into thousands of fragments." msgstr "" #: src/teleport.cpp @@ -219177,7 +226405,7 @@ msgstr "" #: src/trapfunc.cpp #, c-format msgid "A snare closes on your %s." -msgstr "\"Egy csapda zárul a(z) %s testrészed köré." +msgstr "Egy csapda zárul a(z) %s testrészed köré." #: src/trapfunc.cpp #, c-format @@ -219206,12 +226434,12 @@ msgid "vvrrrRRMM*POP!*" msgstr "vvrrrRRMM*POP!*" #: src/trapfunc.cpp -msgid "The air shimmers around you..." -msgstr "A levegő rezeg körülötted..." +msgid "The air shimmers around you…" +msgstr "" #: src/trapfunc.cpp #, c-format -msgid "The air shimmers around %s..." +msgid "The air shimmers around %s…" msgstr "" #: src/trapfunc.cpp @@ -219227,8 +226455,8 @@ msgid "The acidic goo eats away at your feet." msgstr "A savas ragacs szétmarja a lábadat." #: src/trapfunc.cpp -msgid "BEEPBOOP! Please remove non-organic object." -msgstr "BIIIPPUPP! Távolítsa el a szervetlen tárgyat." +msgid "BEEPBOOP! Please remove non-organic object." +msgstr "" #: src/trapfunc.cpp msgid "The dissector lights up, and shuts down." @@ -219245,7 +226473,7 @@ msgstr "" #: src/trapfunc.cpp #, c-format -msgid "Electrical beams emit from the floor and slice your %s!" +msgid "Electrical beams emit from the floor and slice the %s!" msgstr "" #: src/trapfunc.cpp @@ -219329,8 +226557,8 @@ msgid "Your %s is burned by the lava!" msgstr "" #: src/trapfunc.cpp -msgid "You fail to attach it..." -msgstr "Nem sikerült felcsatolni..." +msgid "You fail to attach it…" +msgstr "" #: src/trapfunc.cpp msgid "There's nowhere to pull yourself to, and you sink!" @@ -219466,8 +226694,21 @@ msgid "Set turret targeting" msgstr "Lövegtorony célzásának beállítása" #: src/turret.cpp -msgid "Can't aim turrets: all turrets are offline" -msgstr "Nem lehet becélozni a lövegtoronyokat, az összes üzemen kívüli." +msgid "auto -> manual" +msgstr "" + +#: src/turret.cpp +msgid "manual -> auto" +msgstr "" + +#: src/turret.cpp +msgid "manual (turret control unit required for auto mode)" +msgstr "" + +#: src/turret.cpp +msgid "" +"Can't aim turrets: all turrets are offline or set to manual targeting mode." +msgstr "" #: src/turret.cpp msgid "Aim which turret?" @@ -219480,7 +226721,7 @@ msgstr "Az egyik lövegtorony sem alkalmas a tüzelésre." #: src/turret.cpp #, c-format msgid "The %s turret" -msgstr "" +msgstr "A(z) %s lövegtorony" #: src/turret.cpp #, c-format @@ -219511,14 +226752,18 @@ msgstr "John Smith" #: src/tutorial.cpp msgid "" "You're saving a tutorial - the tutorial world lacks certain features of " -"normal worlds. Weird things might happen when you load this save. You have " -"been warned." +"normal worlds. Weird things might happen when you load this save. You have" +" been warned." msgstr "" #: src/veh_interact.cpp msgid "Select part" msgstr "Melyik alkatrészt?" +#: src/veh_interact.cpp +msgid "Time required:\n" +msgstr "Szükséges idő:\n" + #: src/veh_interact.cpp msgid "Skills required:\n" msgstr "Szükséges készség:\n" @@ -219528,22 +226773,23 @@ msgstr "Szükséges készség:\n" #: src/veh_interact.cpp #, c-format msgid "> %1$s%2$s %3$i\n" -msgstr "> %2$s %3$i\n" +msgstr "> %1$s%2$s %3$i\n" #: src/veh_interact.cpp #, c-format msgid "You cannot rename this vehicle as it is owned by: %s." -msgstr "" +msgstr "Ezt a járművet nem lehet átnevezni, mivel a(z) %s tulajdona." #: src/veh_interact.cpp #, c-format msgid "You cannot assign crew on this vehicle as it is owned by: %s." msgstr "" +"Ehhez a járműhöz nem lehet személyzetet rendelni, mivel a(z) %s tulajdona." #: src/veh_interact.cpp #, c-format msgid "You cannot relabel this vehicle as it is owned by: %s." -msgstr "" +msgstr "Ezt a címkét nem lehet átnevezni, mivel a jármű a(z) %s tulajdona." #. ~ %1$s is fuel_type #: src/veh_interact.cpp @@ -219580,7 +226826,7 @@ msgstr "> %1$s%2$s %3$i több kormányozható tengelyhez." #: src/veh_interact.cpp #, c-format msgid "strength ( assisted ) %d" -msgstr "" +msgstr "%d erő ( segítséggel ) " #: src/veh_interact.cpp #, c-format @@ -219691,11 +226937,11 @@ msgid "Search for part" msgstr "Alkatrész keresése" #: src/veh_interact.cpp -msgid "Your morale is too low to construct..." -msgstr "Túl alacsony a hangulatod ahhoz, hogy bármit is építhess..." +msgid "Your morale is too low to construct…" +msgstr "" #: src/veh_interact.cpp -msgid "It's too dark to see what you are doing..." +msgid "It's too dark to see what you are doing…" msgstr "" #: src/veh_interact.cpp @@ -219703,7 +226949,7 @@ msgid "You can't install parts while driving." msgstr "Vezetés közben nem lehet alkatrészt beszerelni." #: src/veh_interact.cpp -msgid "Installing this part will make the vehicle unfoldable. Continue?" +msgid "Installing this part will make the vehicle unfoldable. Continue?" msgstr "" #: src/veh_interact.cpp @@ -219711,7 +226957,7 @@ msgid "Choose shape:" msgstr "Válassz egy alakot:" #: src/veh_interact.cpp -msgid "Your morale is too low to repair..." +msgid "Your morale is too low to repair…" msgstr "Túl alacsony a hangulatod ahhoz, hogy bármit is megszerelhess..." #: src/veh_interact.cpp @@ -219731,8 +226977,8 @@ msgid "This part cannot be repaired" msgstr "Ezt az alkatrészt nem lehet megjavítani." #: src/veh_interact.cpp -msgid "Your morale is too low to mend..." -msgstr "Túl alacsony a hangulatod ahhoz, hogy bármit is megjavíthass..." +msgid "Your morale is too low to mend…" +msgstr "" #: src/veh_interact.cpp msgid "No faulty parts require mending." @@ -219748,11 +226994,11 @@ msgstr "Itt válaszd ki, hogy melyik alkatrészt szeretnéd megjavítani:" #: src/veh_interact.cpp msgid "You can't refill a moving vehicle." -msgstr "" +msgstr "Mozgó járművet nem lehet feltölteni." #: src/veh_interact.cpp msgid "No parts can currently be refilled." -msgstr "" +msgstr "Egyetlen alkatrészt sem lehet feltölteni." #: src/veh_interact.cpp msgid "Select part to refill:" @@ -219857,6 +227103,8 @@ msgid "" "> %1$s1 tool with %2$s %3$i OR %4$sstrength ( " "assisted ) %5$i" msgstr "" +"> %1$s1 db %2$s %3$i. szintű szerszám VAGY %4$s" +" %5$i erő (segítséggel)" #. ~ %1$s represents the internal color name which shouldn't be translated, #. %2$s is the tool quality, %3$i is tool level, %4$s is the internal color @@ -219908,8 +227156,8 @@ msgid "You can't siphon from a moving vehicle." msgstr "Mozgó járműből nem lehet üzemanyagot leszívni." #: src/veh_interact.cpp -msgid "Select part to siphon: " -msgstr "Melyik alkatrészt szívod le?" +msgid "Select part to siphon:" +msgstr "" #: src/veh_interact.cpp msgid "The vehicle has no solid fuel left to remove." @@ -220092,7 +227340,7 @@ msgstr "Név:" #: src/veh_interact.cpp #, c-format msgid "%s (%s)" -msgstr "" +msgstr "%s (%s)" #: src/veh_interact.cpp msgid "nstall" @@ -220289,6 +227537,8 @@ msgid "" "Press space, choose a facing direction for the new %s and confirm with " "enter." msgstr "" +"Nyomj egy szóközt, majd hogy merre nézzen az új %s, végül a befejezéshez egy" +" Entert." #: src/veh_interact.cpp #, c-format @@ -220316,7 +227566,7 @@ msgstr "A(z) %1$s-t feltankolod ezzel: %2$s." #: src/veh_interact.cpp #, c-format msgid "The %s has already been removed by someone else." -msgstr "" +msgstr "A(z) %s már valaki más kiszerelte." #: src/veh_interact.cpp #, c-format @@ -220359,7 +227609,7 @@ msgstr "%1$d. szintű %2$s képességgel rendelkezik. " #: src/veh_type.cpp #, c-format msgid " and is rated at %1$d %2$s" -msgstr "" +msgstr "kapacitása pedig %1$d %2$s" #: src/veh_utils.cpp #, c-format @@ -220369,12 +227619,12 @@ msgstr "A(z) %s javításához nem felesz meg a feltételeknek." #: src/veh_utils.cpp #, c-format msgid "You replace the %1$s's %2$s. (was %3$s)" -msgstr "" +msgstr "Kicseréled a(z) %1$s járműben ezt: %2$s erre: %3$s." #: src/veh_utils.cpp #, c-format msgid "You repair the %1$s's %2$s. (was %3$s)" -msgstr "" +msgstr "Megszereled a(z) %1$s %2$s-t (%3$s volt)." #: src/vehicle.cpp msgid "The vehicle part you were working on has gone!" @@ -220388,6 +227638,11 @@ msgstr "A kézben tartott jármű alkatrész megsemmisült!" msgid "Lost connection with the vehicle due to distance!" msgstr "A távolság miatt a járművel megszakadt a kapcsolat!" +#: src/vehicle.cpp +#, c-format +msgid "the %s emitting a beep and saying \"Obstacle detected!\"" +msgstr "" + #. ~ backfire sound #: src/vehicle.cpp #, c-format @@ -220420,7 +227675,7 @@ msgstr "Előbb el kell távolítani a rászerelt fegyvert." #: src/vehicle.cpp msgid "Remove attached wheel first." -msgstr "" +msgstr "Előbb el kell távolítani a rászerelt kereket." #: src/vehicle.cpp msgid "Remove carried animal first." @@ -220450,7 +227705,7 @@ msgstr "" #: src/vehicle.cpp #, c-format msgid "" -"A part of the vehicle ('%s') has no containing vehicle's name. It will be " +"A part of the vehicle ('%s') has no containing vehicle's name. It will be " "detached from the %s vehicle." msgstr "" @@ -220556,18 +227811,18 @@ msgid "The %1$s's %2$s is destroyed!" msgstr "A(z) %1$s %2$s-ja tönkrement!" #: src/vehicle_display.cpp -msgid "More parts here..." -msgstr "Többi rész erre..." +msgid "More parts here…" +msgstr "" #: src/vehicle_display.cpp #, c-format msgid " (%s/%s charge)" -msgstr "" +msgstr " (%s/%s töltet)" #: src/vehicle_display.cpp #, c-format msgid " (%.1fL %s)" -msgstr "" +msgstr " (%.1fL %s)" #. ~ used/total volume of a cargo vehicle part #: src/vehicle_display.cpp @@ -220609,16 +227864,16 @@ msgstr "üres" #: src/vehicle_display.cpp #, c-format msgid ", %d %s(%4.2f%%)/hour, %s until %s" -msgstr ", %d %s(%4.2f%%)/óra, %s eddig: %s" +msgstr ", %d %s(%4.2f%%)/óra, %s múlva %s" #: src/vehicle_display.cpp #, c-format msgid ", %3.1f%% / hour, %s until %s" -msgstr ", %3.1f%% / óra, %s eddig: %s" +msgstr ", %3.1f%% / óra, %s múlva %s" #: src/vehicle_group.cpp msgid "pile-up" -msgstr "" +msgstr "baleseti roncs" #: src/vehicle_move.cpp #, c-format @@ -220951,7 +228206,7 @@ msgstr "" #: src/vehicle_use.cpp msgctxt "electronics menu option" -msgid "rockhead" +msgid "roadheader" msgstr "" #: src/vehicle_use.cpp @@ -221030,8 +228285,8 @@ msgid "You could use a screwdriver to hotwire it." msgstr "Egy csavarhúzóval el tudnád kötni." #: src/vehicle_use.cpp -msgid "You destroy the controls..." -msgstr "Tönkreteszed a vezérlést..." +msgid "You destroy the controls…" +msgstr "" #: src/vehicle_use.cpp msgid "You damage the controls." @@ -221053,6 +228308,28 @@ msgstr "Jármű helyzetének elfelejtése" msgid "Remember vehicle position" msgstr "Jármű helyzetének megjegyzése" +#: src/vehicle_use.cpp +msgid "Choose action for the autopilot" +msgstr "" + +#: src/vehicle_use.cpp +msgid "Patrol…" +msgstr "" + +#: src/vehicle_use.cpp +msgid "" +"Program the autopilot to patrol a nearby vehicle patrol zone. If no zones " +"are nearby, you will be prompted to create one." +msgstr "" + +#: src/vehicle_use.cpp +msgid "Stop…" +msgstr "" + +#: src/vehicle_use.cpp +msgid "Stop all autopilot related activities." +msgstr "" + #: src/vehicle_use.cpp msgid "You stop keeping track of the vehicle position." msgstr "Nem követed többé nyomon ennek a járműnek a helyzetét." @@ -221097,14 +228374,14 @@ msgstr "Leállítod a motort" msgid "Turn on the engine" msgstr "Beindítod a motort" -#: src/vehicle_use.cpp -msgid "You turn the engine off." -msgstr "Leállítod a motort." - #: src/vehicle_use.cpp msgid "Honk horn" msgstr "Dudálás" +#: src/vehicle_use.cpp +msgid "Control autopilot" +msgstr "" + #: src/vehicle_use.cpp msgid "Disable cruise control" msgstr "Tempomat ki" @@ -221232,6 +228509,10 @@ msgstr "" msgid "the %s starting" msgstr "" +#: src/vehicle_use.cpp +msgid "You turn the engine off." +msgstr "Leállítod a motort." + #: src/vehicle_use.cpp msgid "You honk the horn!" msgstr "Rátenyerelsz a dudára!" @@ -221252,7 +228533,7 @@ msgstr "Rátenyerelsz a dudára, de semmi sem történik." #: src/vehicle_use.cpp #, c-format -msgid "Move how many? [Have %d] (0 to cancel)" +msgid "Move how many? [Have %d] (0 to cancel)" msgstr "" #: src/vehicle_use.cpp @@ -221308,104 +228589,131 @@ msgid "" "You turn the autoclave off before it's finished the program, and open its " "door." msgstr "" +"A program vége előtt kikapcsolod az autoklávot, és kinyitod az ajtaját." #: src/vehicle_use.cpp msgid "The autoclave is empty, there's no point in starting it." -msgstr "" +msgstr "Az autokláv üres, nincs értelme beindítani." #: src/vehicle_use.cpp #, c-format msgid "" "You need 8 charges of water in tanks of the %s for the autoclave to run." msgstr "" +"8 egységnyi víznek kell lennie a(z) %s tartályaiban ahhoz, hogy az autokláv " +"beinduljon." #: src/vehicle_use.cpp msgid "" "You need to remove all filthy items from the autoclave to start the " "sterilizing cycle." msgstr "" +"Az autoklávból el kell távolítani az összes koszos tárgyat, mielőtt a " +"sterilizációs ciklust el lehetne kezdeni." #: src/vehicle_use.cpp msgid "Only CBMs can be sterilized in an autoclave." +msgstr "Az autoklávban csak KBM-eket lehet sterilizálni." + +#: src/vehicle_use.cpp +msgid "You should put your CBMs in autoclave pouches to keep them sterile." msgstr "" +"A KBM-eket először autokláv tasakba kell helyezni, és utána sterilizálhatók." #: src/vehicle_use.cpp msgid "You turn the autoclave on and it starts its cycle." -msgstr "" +msgstr "Bekapcsolod az autoklávot és az megkezdi a ciklusát." #: src/vehicle_use.cpp msgid "" "You turn the washing machine off before it's finished the program, and open " "its lid." -msgstr "" +msgstr "A program vége előtt kikapcsolod a mosógépet, és kinyitod az ajtaját." #: src/vehicle_use.cpp msgid "The washing machine is empty, there's no point in starting it." -msgstr "" +msgstr "A mosógép üres, nincs értelme beindítani." #: src/vehicle_use.cpp #, c-format msgid "" "You need 24 charges of water in tanks of the %s to fill the washing machine." msgstr "" +"24 egységnyi víznek kell lennie a(z) %s tartályaiban ahhoz, hogy a mosógép " +"beinduljon." #: src/vehicle_use.cpp msgid "You need 5 charges of detergent for the washing machine." -msgstr "" +msgstr "A mosógép beindításához 5 egységnyi mosószerre van szükség." #: src/vehicle_use.cpp msgid "" "You need to remove all non-filthy items from the washing machine to start " "the washing program." msgstr "" +"A mosógépből el kell távolítani az összes tiszta tárgyat, mielőtt a mosási " +"ciklust el lehetne kezdeni." #: src/vehicle_use.cpp msgid "CBMs can't be cleaned in a washing machine. You need to remove them." msgstr "" +"KBM-eket nem lehet a mosógépben tisztára mosni. A mosóprogram indításához " +"mindegyiket ki kell venni." #: src/vehicle_use.cpp msgid "" "You pour some detergent into the washing machine, close its lid, and turn it" " on. The washing machine is being filled with water from vehicle tanks." msgstr "" +"Beöntesz némi mosóport a mosógépbe, lezárod a fedelét, és bekapcsolod. A " +"mosógép a jármű tartályaiból felölti magát vízzel." #: src/vehicle_use.cpp msgid "" "Soft items can't be cleaned in a dishwasher, you should use a washing " "machine for that. You need to remove them:" msgstr "" +"Puha tárgyakat nem lehet a mosogatógépben tisztára mosni, csak a mosógépben." +" Az alábbi tárgyakat ki kell venni:" #: src/vehicle_use.cpp msgid "" "You turn the dishwasher off before it's finished the program, and open its " "lid." msgstr "" +"A program vége előtt kikapcsolod a mosogatógépet, és kinyitod az ajtaját." #: src/vehicle_use.cpp msgid "The dishwasher is empty, there's no point in starting it." -msgstr "" +msgstr "A mosogatógép üres, nincs értelme beindítani." #: src/vehicle_use.cpp #, c-format msgid "" "You need 24 charges of water in tanks of the %s to fill the dishwasher." msgstr "" +"24 egységnyi víznek kell lennie a(z) %s tartályaiban ahhoz, hogy a " +"mosogatógép beinduljon." #: src/vehicle_use.cpp msgid "You need 5 charges of detergent for the dishwasher." -msgstr "" +msgstr "A mosogatógép beindításához 5 egységnyi mosószerre van szükség." #: src/vehicle_use.cpp msgid "" "You need to remove all non-filthy items from the dishwasher to start the " "washing program." msgstr "" +"A mosogatógépből el kell távolítani az összes tiszta tárgyat, mielőtt a " +"mosási ciklust el lehetne kezdeni." #: src/vehicle_use.cpp msgid "" "You pour some detergent into the dishwasher, close its lid, and turn it on." " The dishwasher is being filled with water from vehicle tanks." msgstr "" +"Beöntesz némi mosóport a mosogatógépbe, lezárod a fedelét, és bekapcsolod. A" +" mosogatógép a jármű tartályaiból felölti magát vízzel." #: src/vehicle_use.cpp msgid "The harness is blocked." @@ -221442,37 +228750,46 @@ msgstr "" msgid "You untie your %s." msgstr "" +#: src/vehicle_use.cpp +msgid "Load a vehicle on the rack" +msgstr "Jármű feltevése a kerékpártartóra" + +#: src/vehicle_use.cpp +#, c-format +msgid "Remove the %s from the rack" +msgstr "A(z) %st leszeded a kerékpártartóról." + #: src/vehicle_use.cpp msgid "Examine vehicle" msgstr "Jármű vizsgálata" #: src/vehicle_use.cpp msgid "Deactivate the autoclave" -msgstr "" +msgstr "Autokláv kikapcsolása" #: src/vehicle_use.cpp msgid "Activate the autoclave (1.5 hours)" -msgstr "" +msgstr "Autokláv bekapcsolása (1,5 óra)" #: src/vehicle_use.cpp msgid "Deactivate the washing machine" -msgstr "" +msgstr "Mosógép kikapcsolása" #: src/vehicle_use.cpp msgid "Activate the washing machine (1.5 hours)" -msgstr "" +msgstr "Mosógép bekapcsolása (1,5 óra)" #: src/vehicle_use.cpp msgid "Deactivate the dishwasher" -msgstr "" +msgstr "Mosogatógép kikapcsolása" #: src/vehicle_use.cpp msgid "Activate the dishwasher (1.5 hours)" -msgstr "" +msgstr "Mosogatógép bekapcsolása (1,5 óra)" #: src/vehicle_use.cpp msgid "Peek through the closed curtains" -msgstr "" +msgstr "Átkukucskálsz a behúzott függönyön" #: src/vehicle_use.cpp msgid "Use the hotplate" @@ -221484,11 +228801,11 @@ msgstr "Tároló vízzel való megtöltése" #: src/vehicle_use.cpp msgid "Use a towel" -msgstr "" +msgstr "Törülköző használata" #: src/vehicle_use.cpp msgid "Use the welding rig" -msgstr "" +msgstr "Hegesztő használata" #: src/vehicle_use.cpp msgid "Purify water in carried container" @@ -221504,7 +228821,7 @@ msgstr "" #: src/vehicle_use.cpp msgid "Load or unload a vehicle" -msgstr "" +msgstr "Jármű felrakása vagy leszedése" #: src/vehicle_use.cpp msgid "Harness an animal" @@ -221517,7 +228834,7 @@ msgstr "" #: src/vehicle_use.cpp #, c-format msgid "Craft at the %s" -msgstr "" +msgstr "Kézimunka itt: %s" #: src/vehicle_use.cpp #, c-format @@ -221538,48 +228855,48 @@ msgstr "Megtisztítod a(z) %1$s %2$s tartalmát" #: src/weather.cpp msgid "You hear a distant rumble of thunder." -msgstr "" +msgstr "Távoli mennydörgés hangját hallod." #: src/weather.cpp msgid "You hear a rumble of thunder from above." -msgstr "" +msgstr "Feletted mennydörgés hangját hallod." #: src/weather.cpp msgid "A flash of lightning illuminates your surroundings!" -msgstr "" +msgstr "Egy villám bevilágítja a környezetedet!" #: src/weather.cpp #, c-format msgid "Your %s protects you from the acidic drizzle." -msgstr "" +msgstr "A(z) %s megvéd a savas permettől." #: src/weather.cpp msgid "Your clothing protects you from the acidic drizzle." -msgstr "" +msgstr "A ruhád megvéd a savas permettől." #: src/weather.cpp msgid "Your power armor protects you from the acidic drizzle." -msgstr "" +msgstr "A szervópáncélod megvéd a savas permettől." #: src/weather.cpp -msgid "The acid rain stings, but is mostly harmless for now..." -msgstr "" +msgid "The acid rain stings, but is mostly harmless for now…" +msgstr "A savas eső csíp, de most nem tud neked ártani..." #: src/weather.cpp msgid "Your umbrella protects you from the acid rain." -msgstr "" +msgstr "Az esernyőd megvéd a savas esőtől." #: src/weather.cpp msgid "Your clothing protects you from the acid rain." -msgstr "" +msgstr "A ruhád megvéd a savas esőtől." #: src/weather.cpp msgid "Your power armor protects you from the acid rain." -msgstr "" +msgstr "A szervópáncélod megvéd a savas esőtől." #: src/weather.cpp msgid "The acid rain burns!" -msgstr "" +msgstr "A savas eső éget!" #: src/weather.cpp msgid "Monday" @@ -221631,6 +228948,8 @@ msgid "" "The current time is %1$s Eastern Standard Time. At %2$s in %3$s, it was " "%4$s. The temperature was %5$s. " msgstr "" +"A pontos idő keleti parti időzóna szerint %1$s. %2$s-kor %3$s településen az" +" időjárás %4$s volt. A hőmérséklet %5$s volt." #: src/weather.cpp msgid "Tonight" @@ -221648,7 +228967,7 @@ msgstr "%s Éjszaka" #: src/weather.cpp #, c-format -msgid "%s... %s. Highs of %s. Lows of %s. " +msgid "%s… %s. Highs of %s. Lows of %s. " msgstr "%s... %s. A legmagasabb hőmérséklet %s, a legalacsonyabb %s. " #: src/weather.cpp @@ -221683,71 +229002,71 @@ msgstr "%s kPa" #: src/weather.cpp msgid "North-East" -msgstr "" +msgstr "Északkelet" #: src/weather.cpp msgid "South-East" -msgstr "" +msgstr "Délkelet" #: src/weather.cpp msgid "South-West" -msgstr "" +msgstr "Délnyugat" #: src/weather.cpp msgid "North-West" -msgstr "" +msgstr "Északnyugat" #: src/weather.cpp msgid "Calm" -msgstr "" +msgstr "Szélcsend" #: src/weather.cpp msgid "Light Air" -msgstr "" +msgstr "Kis légmozgás" #: src/weather.cpp msgid "Light Breeze" -msgstr "" +msgstr "Kis szellő" #: src/weather.cpp msgid "Gentle Breeze" -msgstr "" +msgstr "Enyhe szellő" #: src/weather.cpp msgid "Moderate Breeze" -msgstr "" +msgstr "Mérsékelt szellő" #: src/weather.cpp msgid "Fresh Breeze" -msgstr "" +msgstr "Friss szellő" #: src/weather.cpp msgid "Strong Breeze" -msgstr "" +msgstr "Erős szellő" #: src/weather.cpp msgid "Moderate Gale" -msgstr "" +msgstr "Mérsékelt szél" #: src/weather.cpp msgid "Gale" -msgstr "" +msgstr "Szél" #: src/weather.cpp msgid "Strong Gale" -msgstr "" +msgstr "Erős szél" #: src/weather.cpp msgid "Whole Gale" -msgstr "" +msgstr "Viharos szél" #: src/weather.cpp msgid "Violent Storm" -msgstr "" +msgstr "Erős vihar" #: src/weather.cpp msgid "Hurricane" -msgstr "" +msgstr "Hurrikán" #: src/weather.cpp #, c-format @@ -221816,23 +229135,23 @@ msgstr "Feltétel, 2d:" #: src/wish.cpp msgid "Thresholds required:" -msgstr "" +msgstr "Szükséges küszöb:" #: src/wish.cpp msgid "Cancels:" -msgstr "" +msgstr "Hatástalanítja:" #: src/wish.cpp msgid "Becomes:" -msgstr "" +msgstr "Ezzé válik:" #: src/wish.cpp msgid "Add-ons:" -msgstr "" +msgstr "Extrák:" #: src/wish.cpp msgid "Category:" -msgstr "" +msgstr "Kategória:" #. ~ pts: points, vis: visibility, ugly: ugliness #: src/wish.cpp @@ -221900,7 +229219,7 @@ msgstr "" #: src/wish.cpp #, c-format -msgid "Wish granted. Wish for more or hit [%s] to quit." +msgid "Wish granted. Wish for more or hit [%s] to quit." msgstr "" #: src/wish.cpp @@ -221908,7 +229227,7 @@ msgid "Select a skill to modify" msgstr "" #: src/wish.cpp -msgid "Modify all skills..." +msgid "Modify all skills…" msgstr "" #: src/wish.cpp @@ -221918,7 +229237,7 @@ msgstr "" #: src/wish.cpp #, c-format -msgid "Set '%s' to.." +msgid "Set '%s' to…" msgstr "" #: src/wish.cpp @@ -222017,7 +229336,7 @@ msgstr "Mod betöltési sorrend" #: src/worldfactory.cpp #, c-format -msgid "... %s = View full description " +msgid "…%s = View full description " msgstr "... %s = Mod teljes leírása" #: src/worldfactory.cpp @@ -222054,13 +229373,13 @@ msgid "________NO NAME ENTERED!________" msgstr "_______NEM ÍRTÁL BE NEVET!_______" #: src/worldfactory.cpp -msgid "Are you SURE you're finished? World name will be randomly generated." +msgid "Are you SURE you're finished? World name will be randomly generated." msgstr "BIZTOSAN befejezted? A világ neve találomra lesz megadva." #: src/worldfactory.cpp #, c-format msgid "" -"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " +"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " "%s/%s = Prev/Next Tab." msgstr "" "%s = Betöltési sorrend alapként való mentése. %s = Irányítás %s/%s = " diff --git a/lang/po/ja.po b/lang/po/ja.po index e743a55577183..1649cdb8379b2 100644 --- a/lang/po/ja.po +++ b/lang/po/ja.po @@ -15,21 +15,22 @@ # Brett Dong , 2019 # Itoh Shu , 2019 # T5idr3, 2019 -# 空 豆 , 2019 # Dokuo Utuda, 2019 -# zojirushi, 2019 # TEATIME , 2019 -# jyo nagaya , 2019 -# nobiruneko , 2019 +# nobiruneko, 2019 +# Maruyama Ryota , 2019 +# zojirushi, 2019 +# kanro mizuame , 2019 # Pigmentblue15, 2019 +# jyo nagaya , 2019 # msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.D\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-06 00:47+0800\n" +"POT-Creation-Date: 2019-11-09 00:53+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" -"Last-Translator: Pigmentblue15, 2019\n" +"Last-Translator: jyo nagaya , 2019\n" "Language-Team: Japanese (https://www.transifex.com/cataclysm-dda-translators/teams/2217/ja/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -604,7 +605,7 @@ msgstr "小型マスクフィルター" #. ~ Description for filter mask cartridge #: lang/json/AMMO_from_json.py msgid "Small replacement filter cartridge for air filtration masks." -msgstr "マスクに装填して空気を濾過する小型の交換用フィルターです。" +msgstr "マスクに装填して空気をろ過する小型の交換用フィルターです。" #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "gas mask cartridge" @@ -613,7 +614,7 @@ msgstr "中型マスクフィルター" #. ~ Description for gas mask cartridge #: lang/json/AMMO_from_json.py msgid "Medium replacement filter cartridge for air filtration masks." -msgstr "マスクに装填して空気を濾過する中型の交換用フィルターです。" +msgstr "マスクに装填して空気をろ過する中型の交換用フィルターです。" #: lang/json/AMMO_from_json.py msgid "chemical mask cartridge" @@ -622,7 +623,7 @@ msgstr "化学マスクフィルター" #. ~ Description for chemical mask cartridge #: lang/json/AMMO_from_json.py msgid "Heavy replacement filter cartridge for air filtration masks." -msgstr "マスクに装填して空気を濾過する大型の交換用フィルターです。" +msgstr "マスクに装填して空気をろ過する大型の交換用フィルターです。" #: lang/json/AMMO_from_json.py msgid "nicotine liquid" @@ -663,7 +664,7 @@ msgstr "ロケット弾(自作/棘)" msgid "" "A hand-built rocket, consisting of a spike welded onto a pipe that was " "filled with improvised rocket fuel. Horribly inaccurate, as can be expected" -" of this grade of weapon, but packs a fierce punch... if it hits." +" of this grade of weapon, but packs a fierce punch… if it hits." msgstr "" "手作りのロケット弾です。即席の推進剤で満たされたパイプの先端に、スパイクが溶接してあります。命中精度は最悪ですが、威力はそれなりにあります。 " "...命中すればですが。" @@ -712,8 +713,8 @@ msgstr "炭化カルシウム(未完成)" #. ~ Description for unfinished calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"The incomplete process of converting coal and lime into calcium carbide. " -"Useless in this state/" +"The incomplete process of converting coal and lime into calcium carbide. " +"Useless in this state." msgstr "石炭と石灰を炭化カルシウムに製錬する途中の不完全な状態です。このままでは役に立ちません。" #: lang/json/AMMO_from_json.py @@ -808,7 +809,7 @@ msgid "" " small woodland creatures without splattering them all over the ground. " "Stands a low chance of remaining intact once fired." msgstr "" -"矢羽を付けてただけの先端が尖っていない、簡素な木製の矢です。森の小動物を必要以上に傷つけず狩るのに役立ちます。放った矢がほぼ確実に地面に残ります。" +"矢羽を付けただけの先端が尖っていない、簡素な木製の矢です。森の小動物を必要以上に傷つけず狩るのに役立ちます。放った矢がほぼ確実に地面に残ります。" #: lang/json/AMMO_from_json.py msgid "wooden broadhead arrow" @@ -817,7 +818,7 @@ msgstr "矢(木/ブロードヘッド)" #. ~ Description for wooden broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched wooden arrow shaft with a bladed tip. Useful for maximising " +"A fletched wooden arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a decent chance of remaining intact once " "fired." msgstr "矢羽と切れ味鋭い矢尻が付いた、木製の矢です。標的に高いダメージを与えたい時に役立ちます。放った矢がほぼ確実に地面に残ります。" @@ -865,7 +866,7 @@ msgstr "矢(金属)" msgid "" "A simple fletched steel arrow shaft with a flattened and sharpened tip. " "Stands a somewhat low chance of remaining intact once fired." -msgstr "矢羽を付け先端を平たく潰して尖らせた鋼製の矢です。放った矢がほぼ確実に地面に残ります。" +msgstr "矢羽を付け先端を平たく潰して尖らせた、鋼製の矢です。放った矢がほぼ確実に地面に残ります。" #: lang/json/AMMO_from_json.py msgid "aluminum broadhead arrow" @@ -874,7 +875,7 @@ msgstr "矢(アルミ/ブロードヘッド)" #. ~ Description for aluminum broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched aluminum arrow shaft with a bladed tip. Useful for maximising " +"A fletched aluminum arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a good chance of remaining intact once fired." msgstr "矢羽と切れ味鋭い矢尻が付いた、アルミニウム製の矢です。標的に高いダメージを与えたい時に役立ちます。放った矢がほぼ確実に地面に残ります。" @@ -950,7 +951,7 @@ msgid "" "light, but doesn't have much range. Stands a below average chance of " "remaining intact once fired." msgstr "" -"鋼製の矢尻が付いたスピアガン用の木製の銛(もり)です。非常に軽量ですが射程距離はそれほど長くありません。放った矢が約8割の確率で地面に残ります。" +"鋼製の矢尻が付いた、スピアガン用の木製の銛(もり)です。非常に軽量ですが射程距離はそれほど長くありません。放った矢が約8割の確率で地面に残ります。" #: lang/json/AMMO_from_json.py msgid "metal fishing spear" @@ -1008,12 +1009,12 @@ msgstr[0] "硫黄" #. ~ Description for sulfur #: lang/json/AMMO_from_json.py msgid "" -"A handful of yellow grains of pure sulfur. Primarily used to make battery " -"acid, sulfur is sometimes used as fuel for explosives. Can be burned to " -"produce acidic smoke, that is deadly to bacteria and humans alike, or " -"oxidized to make paper-bleaching agents." +"A handful of pure sulfur. Primarily used to make battery acid, sulfur is " +"sometimes used as fuel for explosives. Can be burned to produce acidic " +"smoke, that is deadly to bacteria and humans alike, or oxidized to make " +"paper-bleaching agents." msgstr "" -"純粋な黄色い硫黄の粉末です。主にバッテリー用の希硫酸を作るのに使われますが、爆発物の燃料としても用いられます。燃やすと微生物や人体にとって致命的な酸性の煙が発生し、酸化させると紙用の漂白剤になります。" +"純粋な硫黄の粉末です。主にバッテリー用の希硫酸を作るのに使われますが、爆発物の燃料としても用いられます。燃やすと微生物や人体にとって致命的な酸性の煙が発生し、酸化させると紙用の漂白剤になります。" #: lang/json/AMMO_from_json.py msgid "chunk of sulfur" @@ -1022,8 +1023,8 @@ msgstr[0] "硫黄塊" #. ~ Description for chunk of sulfur #: lang/json/AMMO_from_json.py -msgid "A large chunk of pure sulfur. Break it up to use it." -msgstr "大きな硫黄の塊です。粉砕して使います。" +msgid "A chunk of pure sulfur. Break it up to use it." +msgstr "硫黄の塊です。粉砕して使います。" #: lang/json/AMMO_from_json.py msgid "cement" @@ -1129,9 +1130,9 @@ msgstr[0] "酸化亜鉛" #. ~ Description for zinc oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of zinc oxide. It can be reduced into zinc, or used for some other" -" reactions of its own." -msgstr "亜鉛に還元するか、他の物質を反応させるために使います。" +"A handful of zinc oxide. It can be reduced into zinc, or used for some " +"other reactions of its own." +msgstr "亜鉛に還元するか、他の物質を反応させるために使う酸化亜鉛です。" #: lang/json/AMMO_from_json.py msgid "manganese dioxide" @@ -1141,7 +1142,7 @@ msgstr[0] "二酸化マンガン" #. ~ Description for manganese dioxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of manganese dioxide powder. Occurring naturally in the mineral " +"A handful of manganese dioxide powder. Occurring naturally in the mineral " "pyrolusite, it is used commercially in the production of alkaline and zinc-" "carbon batteries." msgstr "二酸化マンガンの粉末です。軟マンガン鉱に自然に含まれており、工場でのアルカリ電池や亜鉛炭素電池の生産に使われています。" @@ -1154,12 +1155,12 @@ msgstr[0] "塩化カリウム" #. ~ Description for potassium chloride #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium chloride. Although it occurs naturally in the mineral" -" sylvite, it can be produced as a byproduct of the reaction of saltpeter and" -" hydrochloric acid. It can be used for making fertilizer, or potassium " -"hydroxide by way of electrolysis." +"A handful of potassium chloride. Although it occurs naturally in the " +"mineral sylvite, it can be produced as a byproduct of the reaction of " +"saltpeter and hydrochloric acid. It can be used for making fertilizer, or " +"potassium hydroxide by way of electrolysis." msgstr "" -"鉱物の珪灰石に自然に含まれていますが、硝酸カリウムと塩酸の反応の副産物としても生成されます。肥料の原材料や、電気分解による水酸化カリウムの製造に使われます。" +"塩化カリウムは鉱物の珪灰石に自然に含まれていますが、硝酸カリウムと塩酸の反応の副産物としても生成されます。肥料の原材料や、電気分解による水酸化カリウムの製造に使われます。" #: lang/json/AMMO_from_json.py msgid "potassium hydroxide" @@ -1169,8 +1170,8 @@ msgstr[0] "水酸化カリウム" #. ~ Description for potassium hydroxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium hydroxide. Commonly called caustic potash, it was " -"mainly used industrially for its caustic nature. It can be used as an " +"A handful of potassium hydroxide. Commonly called caustic potash, it was " +"mainly used industrially for its caustic nature. It can be used as an " "electrolyte in alkaline batteries, among other applications." msgstr "一般的には苛性カリと呼ばれ、強い腐食性をもつことから主に工業用に使われています。その他にも、アルカリ電池の電解質としても利用できます。" @@ -1197,11 +1198,11 @@ msgstr[0] "塩酸" #. ~ Description for hydrochloric acid #: lang/json/AMMO_from_json.py msgid "" -"Hydrochloric acid, also known as muriatic acid. It is a strong acid that has" -" a distinctive smell, important and frequently used ever since its " -"discovery. It still has a vast multitude of uses." +"Hydrochloric acid, also known as muriatic acid. It is a strong acid that " +"has a distinctive smell, important and frequently used ever since its " +"discovery. It still has a vast multitude of uses." msgstr "" -"ムリアチン酸という名でも知られる塩酸は、独特のにおいがする強酸であり、重要な素材として発見以来様々な用途を持っていました。今の状況でも非常に多くの用途が見つかります。" +"ムリアチン酸という名でも知られる塩酸は、独特の臭いがする強酸であり、発見以来重要な素材として様々な用途に使われてきました。今の状況でも非常に多くの用途が見つかります。" #: lang/json/AMMO_from_json.py msgid "acetone" @@ -1241,13 +1242,13 @@ msgstr[0] "酸化クロム" #. ~ Description for chromium oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of chromium oxide pellets. This substance, typically known as the" -" only stable green pigment for paints, is also a mild oxidizer, which can be" -" mixed with aluminum powder to make thermite for welding. If one had access" -" to a CVD machine and a laboratory worth of reagents, they might be able to " +"A handful of chromium oxide. This substance, typically known as the only " +"stable green pigment for paints, is also a mild oxidizer, which can be mixed" +" with aluminum powder to make thermite for welding. If one had access to a " +"CVD machine and a laboratory worth of reagents, they might be able to " "produce very durable ceramic layers." msgstr "" -"一握りの酸化クロムペレットです。劣化しにくい緑色塗料として有名な物質ですが、軽度の酸化剤でもあり、アルミニウム粉末と混合すれば溶接用テルミットが作れます。薬品が揃った実験室とCVD装置があれば、耐久性が非常に高いセラミックを生成することもできそうです。" +"一握りの酸化クロムです。劣化しにくい緑色塗料として有名な物質ですが、軽度の酸化剤でもあり、アルミニウム粉末と混合すれば溶接用テルミットが作れます。薬品が揃った実験室とCVD装置があれば、耐久性が非常に高いセラミックを生成することもできそうです。" #: lang/json/AMMO_from_json.py msgid "calcium carbide" @@ -1257,13 +1258,13 @@ msgstr[0] "炭化カルシウム" #. ~ Description for calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"A handful of calcium carbide chunks, giving off a faint, garlic-like smell." -" Commercially, calcium carbide was used for on-the-spot manufacture of " +"A handful of calcium carbide, giving off a faint, garlic-like smell. " +"Commercially, calcium carbide was used for on-the-spot manufacture of " "acetylene and historically to power acetylene lamps. If mixed with water " "and sealed, it will explode with little strength, but with relatively loud " "noise and could maybe be used as a decoy." msgstr "" -"ニンニクのような香りをかすかに放つ、一握りの炭化カルシウム片です。市販品としての炭化カルシウムは、アセチレンガスの製造に使われており、かつてはアセチレンランプの動力源でした。水と混合して密封すれば、少しの力をかけるだけで大きな音を立てて爆発するので、囮として使えるかもしれません。" +"かすかにニンニクのような香りを放つ、一握りの炭化カルシウムです。市販品としての炭化カルシウムは、アセチレンガスの製造に使われており、かつてはアセチレンランプの動力源でした。水と混合して密封すれば、少しの力をかけるだけで大きな音を立てて爆発するので、囮として使えるかもしれません。" #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "hexamine" @@ -1437,9 +1438,9 @@ msgstr[0] "マッチ頭薬粉末" #: lang/json/AMMO_from_json.py msgid "" "Some match head powder from match heads, similar to black gunpowder but a " -"bit weaker. It can be used in crafting explosives and fuses when other more " -"suitable candidates are less available." -msgstr "マッチの頭を砕いて作った粉末です。黒色火薬に近い性質を持ちますがやや非力です。他に適当な材料が無ければ、爆発物や導火線の材料になります。" +"bit weaker. It can be used in crafting explosives and fuses when other more" +" suitable candidates are less available." +msgstr "マッチの頭を砕いて作った粉末です。黒色火薬に近い性質を持ちますが、やや非力です。他に適当な材料が無ければ、爆発物や導火線の材料になります。" #: lang/json/AMMO_from_json.py msgid "RDX" @@ -1567,7 +1568,7 @@ msgid "" "hunting small woodland creatures without splattering them all over the " "ground. Stands a low chance of remaining intact once fired." msgstr "" -"矢羽を付けて先端を尖らせただけの、簡素な木製のボルトです。森の小動物を必要以上に傷つけず狩るのに役立ちます。放った矢が約9割の確率で地面に残ります。" +"矢羽を付けただけの先端が尖っていない、簡素な木製のボルトです。森の小動物を必要以上に傷つけず狩るのに役立ちます。放った矢がほぼ確実に地面に残ります。" #: lang/json/AMMO_from_json.py msgid "makeshift wooden bolt" @@ -1624,7 +1625,7 @@ msgstr "ボルト(金属)" msgid "" "A simple fletched steel crossbow bolt with a flattened and sharpened tip. " "Stands a somewhat low chance of remaining intact once fired." -msgstr "矢羽を付け、先端を平たく潰して尖らせた、鋼製のボルトです。放った矢がほぼ確実に地面に残ります。" +msgstr "矢羽を付け先端を平たく潰して尖らせた、鋼製のボルトです。放った矢がほぼ確実に地面に残ります。" #: lang/json/AMMO_from_json.py msgid "aluminum broadhead bolt" @@ -1790,11 +1791,11 @@ msgstr[0] "火炎放射器燃料" #. ~ Description for flamethrower fuel #: lang/json/AMMO_from_json.py msgid "" -"A mixture of gasoline and diesel oil in equal parts. Its combustion " +"A mixture of gasoline and diesel oil in equal parts. Its combustion " "properties make it unfit for applications where you would use any of them " "separately, but it can be used to feed a flamethrower." msgstr "" -"ガソリンとディーゼルオイルを同比率で混合した液体です。燃焼効率はそれぞれを単独で燃やした時のそれには到底及びませんが、火炎放射器の燃料として利用できます。" +"ガソリンとディーゼルオイルを同比率で混合した液体です。燃焼効率はそれぞれを単独で燃やした場合に到底及びませんが、火炎放射器の燃料として利用できます。" #: lang/json/AMMO_from_json.py msgid "autoclave pouch" @@ -3159,41 +3160,72 @@ msgid "reloaded .460 Rowland" msgstr "弾薬(.460口径/ローランド(手詰め))" #: lang/json/AMMO_from_json.py -msgid ".50 BMG tracer" -msgstr "弾薬(.50口径BMG/曳光弾)" +msgid ".50 BMG M17 tracer" +msgstr "弾薬(.50口径BMG/M17曳光弾)" -#. ~ Description for .50 BMG tracer +#. ~ Description for .50 BMG M17 tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances." -msgstr "曳光弾仕様の強力な.50口径BMG狙撃弾です。曳光弾は引火性能を持っており、命中した標的が可燃性であれば燃え上がる可能性があります。" +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances." +msgstr "曳光弾仕様の強力な.50口径BMG弾です。曳光弾は引火性能を持っており、命中した標的が可燃性であれば燃え上がる可能性があります。" #: lang/json/AMMO_from_json.py -msgid ".50 BMG Ball" -msgstr "弾薬(.50口径BMG/Ball)" +msgid ".50 BMG M33 Ball" +msgstr "弾薬(.50口径BMG/M33Ball)" -#. ~ Description for .50 BMG Ball +#. ~ Description for .50 BMG M33 Ball #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise." +".50 BMG ammunition with mild steel cored 661gr FMJ bullets. The .50 BMG is " +"a very powerful rifle round designed for anti-aircraft use, later adapted to" +" anti-vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -".50口径BMGは長距離用に設計された非常に強力なライフル弾です。その素晴らしい精度と貫通力で、利用可能な最も致命的な弾丸の一つとなっています。強烈な反動とノイズだけがその代償です。" +"軟鋼弾芯を備えた、弾頭重量約42.8gの.50口径BMG・フルメタルジャケット弾です。対空用に設計された非常に強力なライフル弾でしたが、後に対車両、対人用途に改良されました。素晴らしい威力と装甲貫通力のお陰で、現在入手できる最も致命的な弾薬の一つとなっています。強烈な反動と銃声だけがその代償です。" #: lang/json/AMMO_from_json.py -msgid ".50 BMG AP" -msgstr "弾薬(.50口径BMG/徹甲)" +msgid ".50 BMG Match" +msgstr "弾薬(.50口径BMG/競技用)" -#. ~ Description for .50 BMG AP +#. ~ Description for .50 BMG Match +#: lang/json/AMMO_from_json.py +msgid "" +".50 BMG FMJ lead core ammunition manufactured with tighter tolerances for " +"long-range competition shooting or other precision rifle use." +msgstr "鉛弾芯を備えた.50口径BMG・フルメタルジャケット弾は、厳しい品質管理の下で製造された、長距離射撃競技や精密なライフル用の弾薬です。" + +#: lang/json/AMMO_from_json.py +msgid ".50 BMG M2 AP" +msgstr "弾薬(.50口径BMG/M2徹甲)" + +#. ~ Description for .50 BMG M2 AP #: lang/json/AMMO_from_json.py msgid "" "Variant of the .50 BMG round that uses a core of very dense, hardened " "tungsten steel. Penetration is increased, but damage is reduced." msgstr "鍛錬したタングステン鋼の高密度の核を使用した改良型.50口径BMG弾です。貫通力は増加しましたが、威力が低下しています。" +#: lang/json/AMMO_from_json.py +msgid ".50 BMG Raufoss Mk 211" +msgstr "弾薬(.50BMG/ラウフォスMk211)" + +#. ~ Description for .50 BMG Raufoss Mk 211 +#: lang/json/AMMO_from_json.py +msgid "" +"This variant of the .50 BMG round makes the most of the caliber's potential " +"payload delivery: the tip is loaded with an incendiary mix, which ignites on" +" impact, detonating the RDX or PETN charge. This also ignites a secondary " +"zirconium powder incendiary charge that surrounds a tungsten carbide " +"penetrator, both encased by a mild steel cup. Fragments from the cup and " +"burning metallic powder follow the penetrator through armored targets, " +"increasing lethality. These rare, complicated, and expensive rounds are not" +" likely to be manufactured again; use them wisely." +msgstr "" +"その爆発力を最大限に活用する、.50口径BMG弾の変種です。先端の焼夷剤が衝撃で発火することによって、内蔵したRDXやペンスリットなどの爆薬を爆発させ、更にはタングステンカーバイドの弾芯を囲むジルコニウム粉末の起爆剤にも引火し、それらを覆う軟鋼製のカップが炸裂します。カップの破片と燃える金属粉は装甲で固めた標的を貫通し、致死性を高めます。非常に貴重かつ構造が複雑で高価な弾薬のため、製造が再開される見込みはありません。賢く使いましょう。" + #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG tracer" msgstr "弾薬(.50口径/BMG(手詰め))" @@ -3201,25 +3233,26 @@ msgstr "弾薬(.50口径/BMG(手詰め))" #. ~ Description for reloaded .50 BMG tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances. This one has been hand-reloaded." +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances. This one has been hand-reloaded." msgstr "" -"曳光弾仕様の強力な.50口径BMG狙撃弾です。曳光弾は引火性能を持っており、命中した標的が可燃性であれば燃え上がる可能性があります。この弾薬は手詰めで製作されています。" +"曳光弾仕様の強力な.50口径BMG弾です。曳光弾は引火性能を持っており、命中した標的が可燃性であれば燃え上がる可能性があります。この弾薬は手詰めで製作されています。" #: lang/json/AMMO_from_json.py -msgid "reloaded .50 BMG Ball" -msgstr "弾薬(.50口径BMG/Ball(手詰め))" +msgid "reloaded .50 BMG Match" +msgstr "弾薬(.50口径BMG/競技用(手詰め))" -#. ~ Description for reloaded .50 BMG Ball +#. ~ Description for reloaded .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise. This" -" one has been hand-reloaded." +".50 BMG ammunition with lead-cored FMJ bullets. The .50 BMG is a very " +"powerful rifle round designed for anti-aircraft use, later adapted to anti-" +"vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -".50口径BMGは長距離用に設計された非常に強力なライフル弾です。その素晴らしい精度と貫通力で、利用可能な最も致命的な弾丸の一つとなっています。強烈な反動とノイズだけがその代償です。この弾薬は手詰めで製作されています。" +"軟鋼弾芯を備えた、手詰めで作られた弾頭重量約42.8gの.50口径BMG・フルメタルジャケット弾です。対空用に設計された非常に強力なライフル弾でしたが、後に対車両、対人用途に改良されました。素晴らしい威力と装甲貫通力のお陰で、現在入手できる最も致命的な弾薬の一つとなっています。強烈な反動と銃声だけがその代償です。" #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG AP" @@ -3228,11 +3261,9 @@ msgstr "弾薬(.50口径BMG/徹甲(手詰め))" #. ~ Description for reloaded .50 BMG AP #: lang/json/AMMO_from_json.py msgid "" -"Variant of the .50 BMG round that uses a core of very dense, hardened " -"tungsten steel. Penetration is increased, but damage is reduced. This one " -"has been hand-reloaded." -msgstr "" -"鍛錬したタングステン鋼の高密度の核を使用した改良型.50口径BMG弾です。貫通力は増加しましたが、威力が低下しています。この弾薬は手詰めで製作されています。" +"Variant of the .50 BMG round that uses a core hardened steel. Penetration " +"is increased, but damage is reduced. This one has been hand-reloaded." +msgstr "鋼鉄弾芯を備えた改良型.50口径BMG弾です。貫通力は増加しましたが、威力が低下しています。この弾薬は手詰めで製作されています。" #: lang/json/AMMO_from_json.py msgid ".500 S&W Magnum" @@ -4198,6 +4229,107 @@ msgstr "真菌の菌糸です。" msgid "fungal flower" msgstr "真菌の花" +#: lang/json/AMMO_from_json.py +msgid "potassium alum" +msgstr "カリウムミョウバン" + +#. ~ Description for potassium alum +#: lang/json/AMMO_from_json.py +msgid "" +"Small water-soluble white crystals with watery metallic odor, historically " +"used for many different purposes. Also known as potash alum and potassium " +"aluminum sulfate; often called simply alum, as it's the most important " +"member of the generic class of compounds called alums." +msgstr "" +"古くから様々な用途で使われている、かすかな金属臭を放つ白色の小さな水溶性結晶です。カリミョウバンや硫酸カリウムアルミニウムという名でも知られています。ミョウバンという総称が付く化合物のなかでも主要な物質であり、単にミョウバンと呼ばれることもあります。" + +#: lang/json/AMMO_from_json.py +msgid "cloth dye powder" +msgstr "布用染料" + +#. ~ Description for cloth dye powder +#: lang/json/AMMO_from_json.py +msgid "" +"This is a powdered colorful cloth dye, which can be used to dye many fabrics" +" if combined with water and some mordant." +msgstr "布を染めるために使うカラフルな粉末です。水と媒染剤を併せて使うことで、様々な布を染色できます。" + +#: lang/json/AMMO_from_json.py +msgid "steel buckle" +msgstr "バックル" + +#. ~ Description for steel buckle +#: lang/json/AMMO_from_json.py +msgid "A steel buckle, like that usually found on belts." +msgstr "一般的なベルトに付いている鋼鉄製のバックルです。" + +#: lang/json/AMMO_from_json.py +msgid "plastic button" +msgstr "ボタン(プラスチック)" + +#. ~ Description for plastic button +#: lang/json/AMMO_from_json.py +msgid "A plastic button, usually found on clothing." +msgstr "一般的な衣類に付いているプラスチック製のボタンです。" + +#: lang/json/AMMO_from_json.py +msgid "steel button" +msgstr "ボタン(鋼)" + +#. ~ Description for steel button +#: lang/json/AMMO_from_json.py +msgid "A steel button, usually found on clothing." +msgstr "一般的な衣類に付いている鋼鉄製のボタンです。" + +#: lang/json/AMMO_from_json.py +msgid "wooden button" +msgstr "ボタン(木)" + +#. ~ Description for wooden button +#: lang/json/AMMO_from_json.py +msgid "A crude wooden button, usually found on very old clothing." +msgstr "古風な衣類によく付いている、素朴な木製のボタンです。" + +#: lang/json/AMMO_from_json.py +msgid "steel snap fastener" +msgstr "スナップボタン" + +#. ~ Description for steel snap fastener +#: lang/json/AMMO_from_json.py +msgid "A steel snap fastener, usually found on clothing." +msgstr "一般的な衣類に付いている鋼鉄製のスナップボタンです。" + +#: lang/json/AMMO_from_json.py +msgid "touch fastener" +msgstr "マジックテープ" + +#. ~ Description for touch fastener +#: lang/json/AMMO_from_json.py +msgid "" +"This is a pair of cloth strips, one of which has tiny hooks and another has " +"tiny loops. Useful as a fastener for clothing and footwear." +msgstr "一方には鉤状、もう一方にはループ状の細かい起毛が付いた、一対の小さな布です。衣類や履物の留め具として使われます。" + +#: lang/json/AMMO_from_json.py +msgid "long plastic zipper" +msgstr "ジッパー(長)" + +#. ~ Description for long plastic zipper +#: lang/json/AMMO_from_json.py +msgid "A long zipper made from plastic, usually found on clothing." +msgstr "一般的な衣類に付いているプラスチック製の長いジッパーです。" + +#: lang/json/AMMO_from_json.py +msgid "short plastic zipper" +msgstr "ジッパー(短)" + +#. ~ Description for short plastic zipper +#: lang/json/AMMO_from_json.py +msgid "" +"A short zipper made from plastic, usually found on footwear or clothing " +"pockets." +msgstr "一般的な衣類に付いているプラスチック製の短いジッパーです。" + #: lang/json/AMMO_from_json.py msgid "red paint" msgid_plural "red paint" @@ -4342,7 +4474,7 @@ msgstr[0] "亜鉛" #: lang/json/AMMO_from_json.py msgid "" "A slightly brittle metal. Apart from being an essential mineral that the " -"body needs, it reacts readily with acids, alkalis and other non-metals. It " +"body needs, it reacts readily with acids, alkalis and other non-metals. It " "can be crushed to make zinc powder, used in the production of batteries, " "among other things." msgstr "" @@ -4420,7 +4552,7 @@ msgstr "蝶番" #. ~ Description for door hinge #: lang/json/AMMO_from_json.py msgid "" -"A small metal hinge with two metal plates with screw holes. Useful for " +"A small metal hinge with two metal plates with screw holes. Useful for " "making doors." msgstr "ネジ穴付きの2枚の金属板からなる小さな蝶番です。ドアの部品として使います。" @@ -4431,7 +4563,7 @@ msgstr "錫粉末" #. ~ Description for tin powder #: lang/json/AMMO_from_json.py msgid "" -"A fine gray powder composed of tin, usable for making solder and lining " +"A fine gray powder composed of tin, usable for making solder and lining " "containers to prevent corrosion." msgstr "はんだの製作や容器の腐食を防ぐライニング加工に使う、灰色の細かな錫粉末です。" @@ -4469,6 +4601,354 @@ msgid "" "explosions." msgstr "一本の導火線です。この程度の長さがあればおおよその点火済み爆発物から退避出来るでしょう。" +#: lang/json/AMMO_from_json.py +msgid "rubber sole" +msgstr "ラバーソール" + +#. ~ Description for rubber sole +#: lang/json/AMMO_from_json.py +msgid "" +"This is a sole made from rubber, usually found on the bottoms of boots. Can" +" be used for making actual boots." +msgstr "一般的なブーツの底として使われるゴム製の靴底です。これがあれば実際にブーツを作れます。" + +#: lang/json/AMMO_from_json.py +msgid "cotton scraps" +msgid_plural "cotton scraps" +msgstr[0] "布屑(綿)" + +#. ~ Description for cotton scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of cotton, waste material from tailoring " +"projects. Not useful for much and usually disposed of, but can be recycled " +"into some thread if you really want." +msgstr "" +"服を仕立てている時に排出される、いびつな形の細かい綿です。大抵は何の役にも立たず廃棄されますが、もし必要なら糸を作る材料として再利用できます。" + +#: lang/json/AMMO_from_json.py +msgid "faux fur scraps" +msgid_plural "faux fur scraps" +msgstr[0] "布屑(フェイクファー)" + +#. ~ Description for faux fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of faux fur, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "服を仕立てている時に排出される、いびつな形の細かいフェイクファーです。大抵は何の役にも立たず廃棄されます。" + +#: lang/json/AMMO_from_json.py +msgid "felt scraps" +msgid_plural "felt scraps" +msgstr[0] "布屑(フェルト)" + +#. ~ Description for felt scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of felt, waste material from tailoring projects." +" Not useful for much and usually disposed of, but can be recycled into some" +" wool fiber if you really want." +msgstr "" +"服を仕立てている時に排出される、いびつな形の細かいフェルトです。大抵は何の役にも立たず廃棄されますが、もし必要なら織糸を作る材料として再利用できます。" + +#: lang/json/AMMO_from_json.py +msgid "fur scraps" +msgid_plural "fur scraps" +msgstr[0] "布屑(毛皮)" + +#. ~ Description for fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of fur, waste material from tailoring projects. " +"Not useful for much and usually disposed of." +msgstr "服を仕立てている時に排出される、いびつな形の細かい毛皮です。大抵は何の役にも立たず廃棄されます。" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar scraps" +msgid_plural "Kevlar scraps" +msgstr[0] "布屑(ケブラー)" + +#. ~ Description for Kevlar scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of Kevlar fabric, waste material from tailoring " +"projects. Normally it's disposed of, but since Kevlar would be very " +"difficult to make in a post-apocalyptic world, it might be worth recycling " +"it for Kevlar thread." +msgstr "" +"服を仕立てている時に排出される、いびつな形の細かいケブラー片です。大抵は何の役にも立たず廃棄されますが、終末が訪れた世界ではケブラーを生成するのは非常に難しいため、繊維として再利用する価値はありそうです。" + +#: lang/json/AMMO_from_json.py +msgid "leather scraps" +msgid_plural "leather scraps" +msgstr[0] "布屑(革)" + +#. ~ Description for leather scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of leather, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "服を仕立てている時に排出される、いびつな形の細かい革です。大抵は何の役にも立たず廃棄されます。" + +#: lang/json/AMMO_from_json.py +msgid "lycra scraps" +msgid_plural "lycra scraps" +msgstr[0] "布屑(ライクラ)" + +#. ~ Description for lycra scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of lycra, waste material from tailoring projects." +" Not useful for much and usually disposed of." +msgstr "服を仕立てている時に排出される、いびつな形の細かいライクラです。大抵は何の役にも立たず廃棄されます。" + +#: lang/json/AMMO_from_json.py +msgid "neoprene scraps" +msgid_plural "neoprene scraps" +msgstr[0] "布屑(ネオプレン)" + +#. ~ Description for neoprene scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of neoprene, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "服を仕立てている時に排出される、いびつな形の細かいネオプレンです。大抵は何の役にも立たず廃棄されます。" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric scraps" +msgid_plural "synthetic fabric scraps" +msgstr[0] "布屑(合成繊維)" + +#. ~ Description for synthetic fabric scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of synthetic fabric, waste material from " +"tailoring projects. Not useful for much and usually disposed of." +msgstr "服を仕立てている時に排出される、いびつな形の細かい合成繊維です。大抵は何の役にも立たず廃棄されます。" + +#: lang/json/AMMO_from_json.py +msgid "Nomex scraps" +msgid_plural "Nomex scraps" +msgstr[0] "布屑(ノーメックス)" + +#. ~ Description for Nomex scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of heat-resistant Nomex fabric, waste material " +"from tailoring projects. Normally it's disposed of, but since Nomex would " +"be very difficult to make in a post-apocalyptic world, it might be worth " +"recycling it." +msgstr "" +"服を仕立てている時に排出される、いびつな形の細かいノーメックス片です。大抵は何の役にも立たず廃棄されますが、終末が訪れた世界ではノーメックスを生成するのは非常に難しいため、繊維として再利用する価値はありそうです。" + +#: lang/json/AMMO_from_json.py +msgid "cotton sheet" +msgstr "生地(綿)" + +#. ~ Description for cotton sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of cotton fabric, suitable for making clothing." +msgstr "衣類を仕立てるのに適した綿の生地です。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork cotton clothing parts" +msgid_plural "patchwork cotton clothing parts" +msgstr[0] "パッチワーク生地(綿)" + +#. ~ Description for patchwork cotton clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from cotton patches in " +"a patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" +"様々な衣類から切り取った端切れを継ぎはぎした、綿の生地です。適切な生地を使う場合よりも時間効率は劣りますが、衣類を仕立てるのに適しています。" + +#: lang/json/AMMO_from_json.py +msgid "faux fur sheet" +msgstr "生地(フェイクファー)" + +#. ~ Description for faux fur sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of fake synthetic colorful fur, suitable for making clothing." +msgstr "衣類を仕立てるのに適したフェイクファーの生地です。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork faux fur clothing parts" +msgid_plural "patchwork faux fur clothing parts" +msgstr[0] "パッチワーク生地(フェイクファー)" + +#. ~ Description for patchwork faux fur clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from faux fur patches " +"in a patchwork fashion. Suitable for making most clothing, though it's much" +" less time-efficient than if using proper material sheets." +msgstr "" +"様々な衣類から切り取った端切れを継ぎはぎした、フェイクファーの生地です。適切な生地を使う場合よりも時間効率は劣りますが、衣類を仕立てるのに適しています。" + +#: lang/json/AMMO_from_json.py +msgid "felt sheet" +msgstr "生地(フェルト)" + +#. ~ Description for felt sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of felt, suitable for making clothing." +msgstr "衣類を仕立てるのに適したフェルトの生地です。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork felt clothing parts" +msgid_plural "patchwork felt clothing parts" +msgstr[0] "パッチワーク生地(フェルト)" + +#. ~ Description for patchwork felt clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from felt patches in a " +"patchwork fashion. Suitable for making most clothing, though it's much less" +" time-efficient than if using proper material sheets." +msgstr "" +"様々な衣類から切り取った端切れを継ぎはぎした、フェルトの生地です。適切な生地を使う場合よりも時間効率は劣りますが、衣類を仕立てるのに適しています。" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar sheet" +msgstr "生地(ケブラー)" + +#. ~ Description for Kevlar sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Kevlar synthetic fabric, suitable for making bulletproof armor. " +"In this form, unlike rigid plates, it can be stitched." +msgstr "防弾アーマーを作るのに適したケブラー合成繊維の生地です。硬いプレートではないので縫い合わせることができます。" + +#: lang/json/AMMO_from_json.py +msgid "lycra sheet" +msgstr "生地(ライクラ)" + +#. ~ Description for lycra sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of synthetic fabric blended with stretchy lycra fibers, suitable for" +" making flexible yet strong clothing." +msgstr "柔軟かつ丈夫な衣類を仕立てるのに適した、伸縮性の高いライクラ繊維を織り交ぜた合成繊維の生地です。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork lycra clothing parts" +msgid_plural "patchwork lycra clothing parts" +msgstr[0] "パッチワーク生地(ライクラ)" + +#. ~ Description for patchwork lycra clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from lycra patches in a" +" patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" +"様々な衣類から切り取った端切れを継ぎはぎした、ライクラの生地です。適切な生地を使う場合よりも時間効率は劣りますが、衣類を仕立てるのに適しています。" + +#: lang/json/AMMO_from_json.py lang/json/GENERIC_from_json.py +msgid "neoprene sheet" +msgid_plural "neoprene sheets" +msgstr[0] "ネオプレンシート" + +#. ~ Description for neoprene sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of neoprene, a synthetic rubber, suitable for making underwater " +"gear." +msgstr "水中で使う衣類を仕立てるのに適した、ネオプレンという合成ゴムの生地です。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork neoprene clothing parts" +msgid_plural "patchwork neoprene clothing parts" +msgstr[0] "パッチワーク生地(ネオプレン)" + +#. ~ Description for patchwork neoprene clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from neoprene patches " +"in a patchwork fashion, with waterproofed seams. Suitable for making most " +"clothing, though it's much less time-efficient than if using proper material" +" sheets." +msgstr "" +"防水性能をもつ様々な衣類から切り取った端切れを継ぎはぎした、ネオプレンの生地です。適切な生地を使う場合よりも時間効率は劣りますが、衣類を仕立てるのに適しています。" + +#: lang/json/AMMO_from_json.py +msgid "Nomex sheet" +msgstr "生地(ノーメックス)" + +#. ~ Description for Nomex sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Nomex synthetic fabric, suitable for making heat-resistant " +"clothing." +msgstr "耐熱性能をもつ衣類を仕立てるのに適した、ノーメックスという合成繊維の生地です。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork Nomex clothing parts" +msgid_plural "patchwork Nomex clothing parts" +msgstr[0] "パッチワーク生地(ノーメックス)" + +#. ~ Description for patchwork Nomex clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together with Nomex thread from " +"Nomex patches in a patchwork fashion. Suitable for making most clothing, " +"though it's much less time-efficient than if using proper material sheets." +msgstr "" +"様々な衣類から切り取った端切れを継ぎはぎした、ノーメックスの生地です。適切な生地を使う場合よりも時間効率は劣りますが、衣類を仕立てるのに適しています。" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric sheet" +msgstr "生地(合成繊維)" + +#. ~ Description for synthetic fabric sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of synthetic fabric, suitable for making clothing." +msgstr "衣類を仕立てるのに適した合成繊維の生地です。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork synthetic fabric clothing parts" +msgid_plural "patchwork synthetic fabric clothing parts" +msgstr[0] "パッチワーク生地(合成繊維)" + +#. ~ Description for patchwork synthetic fabric clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from synthetic fabric " +"patches in a patchwork fashion. Suitable for making most clothing, though " +"it's much less time-efficient than if using proper material sheets." +msgstr "" +"様々な衣類から切り取った端切れを継ぎはぎした、合成繊維の生地です。適切な生地を使う場合よりも時間効率は劣りますが、衣類を仕立てるのに適しています。" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar thread" +msgstr "糸(ケブラー)" + +#. ~ Description for Kevlar thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some very durable Kevlar thread that would be particularly useful for making" +" ballistic armor, though it's fine to use in place of normal thread too, in " +"most cases. Making armor-grade Kevlar sheets from this would need a " +"particularly tight weave, and so would need some specialized machinery." +msgstr "" +"一般的な糸の代わりに使っても問題ありませんが、特に防弾装甲を作る場合に役立つ、非常に耐久性の高いケブラーの糸です。防御性能の高い生地を作るためには非常に綿密に織り合わせる必要があるため、特殊な機械が必要です。" + +#: lang/json/AMMO_from_json.py +msgid "Nomex thread" +msgstr "糸(ノーメックス)" + +#. ~ Description for Nomex thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some heat-resistant Nomex thread that would be particularly useful for " +"making heat protection gear, though it's fine to use in place of normal " +"thread too, in most cases." +msgstr "" +"一般的な糸の代わりに使っても問題ありませんが、特に耐熱装備を作る場合に役立つ、非常に耐熱性の高いノーメックスの糸です。防御性能の高い生地を作るためには非常に綿密に織り合わせる必要があるため、特殊な機械が必要です。" + #: lang/json/AMMO_from_json.py msgid "handloaded .22 CB" msgid_plural "handloaded .22 CB" @@ -4965,6 +5445,19 @@ msgid "" "burn hotly upon impact, piercing armor and igniting flammable substances." msgstr "ヘビーマシンガンや軍用の銃器で使用される徹甲弾です。着弾時に高温で燃焼を起こし、装甲を貫通し、可燃物に着火するよう設計されています。" +#: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py +msgid "orichalcum arrow" +msgstr "矢(オリハルコン)" + +#. ~ Description for orichalcum arrow +#: lang/json/AMMO_from_json.py +msgid "" +"An arrow composed of a sliver of orichalcum. The arrow has a mysterious " +"glow. Has a very high chance of staying intact when fired, however can only" +" be fired from Ichaival." +msgstr "" +"オリハルコンの小片で作られた矢です。矢尻は神秘的な輝きを放っています。放った矢がほぼ確実に地面に残りますが、イチイバルという名の弓でしか放てません。" + #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "dragon blood" msgid_plural "dragon blood" @@ -5008,10 +5501,31 @@ msgstr[0] "マナの欠片" #. ~ Description for crystallized mana #: lang/json/AMMO_from_json.py msgid "" -"Some crystallized mana. This can be reloaded into rechargable mana crystals," -" but can never be unloaded." +"Some crystallized mana. This can be reloaded into rechargable mana " +"crystals, but can never be unloaded." msgstr "結晶化したマナです。マナクリスタルに充填できますが、一度充填すると元に戻せません。" +#: lang/json/AMMO_from_json.py +msgid "lump of orichalcum" +msgstr "オリハルコン塊" + +#. ~ Description for lump of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A heavy formed piece of strange metal. Useful for some crafting recipes." +msgstr "非常に重いいびつなオリハルコンの塊です。一部のアイテム製作に使います。" + +#: lang/json/AMMO_from_json.py +msgid "sliver of orichalcum" +msgstr "オリハルコン片" + +#. ~ Description for sliver of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A sliver of a strange glowing metal. Useful as a weapon, but better suited " +"for crafting." +msgstr "奇妙な光る金属の小片です。武器としても有用ですが、製作にも使います。" + #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "fire lance charge" msgstr "弾薬(火槍)" @@ -6000,8 +6514,10 @@ msgstr[0] "鞘(大型/胴)" #. ~ Use action holster_msg for pair of rollerblades. #. ~ Use action holster_msg for pair of rollerskates. #. ~ Use action holster_msg for C.R.I.T web belt. +#. ~ Use action holster_msg for technomancer's toolbelt. #. ~ Use action holster_msg for hollow cane. -#: lang/json/ARMOR_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/ARMOR_from_json.py lang/json/ARMOR_from_json.py +#: lang/json/GENERIC_from_json.py #, no-python-format msgid "You sheath your %s" msgstr "%sを鞘に収めました。" @@ -6302,7 +6818,7 @@ msgstr "ナイフを鞘に納める" msgid "" "A small concealed knife sheath worn on the ankle. It is awkward to use " "without practice. Activate to sheathe/draw a weapon." -msgstr "足首に装着する革製の鞘です。小型の刃物やナイフを収められます。使用することで武器の納刀/抜刀ができます。" +msgstr "足首に装着する革製の鞘です。小型の刃物やナイフを収められます。使用することで武器の収納/装備ができます。" #: lang/json/ARMOR_from_json.py msgid "spear strap" @@ -6592,6 +7108,43 @@ msgid "" "small straps designed to better distribute the weight." msgstr "チェインメイルで作られた特製ベストです。細いストラップでチェインメイルの袖を接合し、鎧の重量を上手く分散します。" +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail chausses" +msgid_plural "pairs of chainmail chausses" +msgstr[0] "チェインメイルショース" + +#. ~ Description for pair of chainmail chausses +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail chausses that cover the feet, like booties made of " +"chainmail." +msgstr "チェインメイルで作られた、ブーツのように足を覆う特製のショースです。" + +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail gloves" +msgid_plural "pairs of chainmail gloves" +msgstr[0] "チェインメイルグローブ" + +#. ~ Description for pair of chainmail gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail gloves. They fully enclose the fingers and provide " +"excellent protection, but are somewhat cumbersome." +msgstr "チェインメイルで作られた特製のグローブです。指は完全に分かれており、手を完璧に保護しますが、やや窮屈です。" + +#: lang/json/ARMOR_from_json.py +msgid "faraday chainmail suit" +msgid_plural "faraday chainmail suits" +msgstr[0] "ファラデーチェインメイルスーツ" + +#. ~ Description for faraday chainmail suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A fully customized chainmail suit that can be worn over your normal " +"clothing. The suit is conductively interconnected, protecting against " +"electricity." +msgstr "通常の衣服の上から着用できる、特製のチェインメイルスーツです。導電性があり、電撃から体を保護します。" + #: lang/json/ARMOR_from_json.py msgid "leather chaps" msgid_plural "leather chaps" @@ -6728,6 +7281,26 @@ msgid "" "A colorful and ridiculous costume fit for a clown. Provides decent storage." msgstr "道化師用の色鮮やかでおかしな衣装です。十分な収納容積があります。" +#: lang/json/ARMOR_from_json.py +msgid "clown wig" +msgid_plural "clown wigs" +msgstr[0] "道化師のウィッグ" + +#. ~ Description for clown wig +#: lang/json/ARMOR_from_json.py +msgid "A colorful and ridiculous wig fit for a clown." +msgstr "道化師用の色鮮やかでおかしなウィッグです。" + +#: lang/json/ARMOR_from_json.py +msgid "clown nose" +msgid_plural "clown noses" +msgstr[0] "道化師の赤鼻" + +#. ~ Description for clown nose +#: lang/json/ARMOR_from_json.py +msgid "A red latex nose often seen being worn by clowns." +msgstr "道化師が着用するラテックス製の赤い丸鼻です。" + #: lang/json/ARMOR_from_json.py msgid "fur coat" msgid_plural "fur coats" @@ -6967,6 +7540,22 @@ msgstr[0] "ドレスシャツ" msgid "A white button-down shirt with long sleeves. Looks professional!" msgstr "ボタンが付いた長袖の白いダウンシャツです。ビシッとして格好良く見えますよ!" +#: lang/json/ARMOR_from_json.py +msgid "drinking hat" +msgid_plural "drinking hats" +msgstr[0] "ドリンクハット" + +#. ~ Description for drinking hat +#: lang/json/ARMOR_from_json.py +msgid "" +"This is an improvised harness that can be worn over other headgear or bare " +"head, made from two small liquid containers, a rubber hose, a bundle of " +"steel wire, and some cordage. A convenient and simple device for hands-free" +" drinking, though the liquid inside would spill if you put it into your " +"backpack." +msgstr "" +"2つの小さな液体容器、ゴムホース、ワイヤーで作った、他の頭部防具や直接頭に着用できる簡素なヘッドバンドです。手を使わずに飲み物を飲める便利で単純な道具ですが、所持品に入れようとすると入れた液体が零れてしまいます。" + #: lang/json/ARMOR_from_json.py msgid "wedding dress" msgid_plural "wedding dresses" @@ -7097,6 +7686,30 @@ msgstr[0] "ファニーパック" msgid "Provides a bit of extra storage, with minimal encumbrance." msgstr "最小限の阻害性で少量の収納を提供します。" +#: lang/json/ARMOR_from_json.py +msgid "underarm protector" +msgid_plural "underarm protectors" +msgstr[0] "胸部プロテクター" + +#. ~ Description for underarm protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A sturdy cotton plastron that protects much of the torso, the dominant " +"shoulder, and underarm while fencing." +msgstr "フェンシングの試合で胴や肩、わき腹を保護する丈夫な布製の胸当てです。" + +#: lang/json/ARMOR_from_json.py +msgid "plastic chest protector" +msgid_plural "plastic chest protectors" +msgstr[0] "女子用胸部プロテクター" + +#. ~ Description for plastic chest protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A rigid plastic plastron with molded cups to be worn by female fencers for " +"protection while fencing." +msgstr "フェンシングの試合で女性選手が着用する硬質プラスチック製の胸パッドです。" + #: lang/json/ARMOR_from_json.py msgid "fencing jacket" msgid_plural "fencing jackets" @@ -7110,6 +7723,34 @@ msgid "" msgstr "" "後ろにジッパーの付いたパッド入りの上着です。フェンシングの選手が事故防止の為に着用します。収納用のポケットは一切付いていませんが、着心地は快適です。" +#: lang/json/ARMOR_from_json.py +msgid "lamé (foil)" +msgid_plural "lamé (foil)s" +msgstr[0] "メタルジャケット(フルーレ)" + +#. ~ Description for lamé (foil) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive vest with the zipper on the back used by " +"fencers for electronic scoring. Its outer layer is a woven mix of sturdy " +"cotton and stainless steel strands." +msgstr "" +"電気審判機を使ったフェンシングの試合で着用する、背中にジッパーが付いた薄く軽い導電性のベストです。表地には丈夫な綿とステンレス鋼を織り合わせた生地が使われています。" + +#: lang/json/ARMOR_from_json.py +msgid "lamé (saber)" +msgid_plural "lamé (saber)s" +msgstr[0] "メタルジャケット(サーブル)" + +#. ~ Description for lamé (saber) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive jacket used by fencers for electronic " +"scoring. Its outer layer is a woven mix of sturdy cotton and stainless " +"steel strands." +msgstr "" +"電気審判機を使ったフェンシングの試合で着用する、背中にジッパーが付いた薄く軽い導電性のジャケットです。表地には丈夫な綿とステンレス鋼を織り合わせた生地が使われています。" + #: lang/json/ARMOR_from_json.py msgid "fencing mask" msgid_plural "fencing masks" @@ -7130,6 +7771,30 @@ msgstr[0] "フェンシングパンツ" msgid "A pair of reinforced pants used by fencers to prevent injuries." msgstr "怪我防止の為にフェンシングの選手が使う補強されたズボンです。" +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet" +msgid_plural "fencing gauntlets" +msgstr[0] "フェンシンググローブ" + +#. ~ Description for fencing gauntlet +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers." +msgstr "手首を丈夫な綿布で覆い、手甲を中綿で保護し、指にぴったりフィットする形状に作られた片手用グローブです。" + +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet (left)" +msgid_plural "fencing gauntlet (left)s" +msgstr[0] "フェンシンググローブ(左手)" + +#. ~ Description for fencing gauntlet (left) +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers. This one is left-handed." +msgstr "手首を丈夫な綿布で覆い、手甲を中綿で保護し、指にぴったりフィットする形状に作られた、左利き選手のための片手用グローブです。" + #: lang/json/ARMOR_from_json.py msgid "pair of fire gauntlets" msgid_plural "pairs of fire gauntlets" @@ -7458,7 +8123,7 @@ msgstr[0] "サバイバー防火グローブ" msgid "" "A pair of customized, Kevlar armored Nomex gloves, modified to be easy to " "wear while providing maximum protection under extreme conditions." -msgstr "ケブラーで補強したノーメックス製の特製グローブです。極限状況下でも、最大限に身を守れるように着心地を改良してあります。" +msgstr "ケブラーで補強したノーメックス製の特製グローブです。極限状況で身体を最大限保護するよう作られており、着心地も良好です。" #: lang/json/ARMOR_from_json.py msgid "pair of fur gloves" @@ -7470,18 +8135,6 @@ msgstr[0] "手袋(毛皮)" msgid "A pair of warm fur gloves. They are somewhat cumbersome." msgstr "毛皮製の暖かい手袋です。これを着用した状態では細かな作業が多少困難になるでしょう。" -#: lang/json/ARMOR_from_json.py -msgid "pair of survivor wetsuit gloves" -msgid_plural "pairs of survivor wetsuit gloves" -msgstr[0] "サバイバーウェットスーツグローブ" - -#. ~ Description for pair of survivor wetsuit gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" -" wear while providing maximum protection under extreme conditions." -msgstr "ネオプレンをケブラーで補強した特製グローブです。極限状況下でも、最大限に身を守れるように着心地を改良してあります。" - #: lang/json/ARMOR_from_json.py msgid "pair of heavy survivor gloves" msgid_plural "pairs of heavy survivor gloves" @@ -7493,7 +8146,7 @@ msgid "" "A pair of heavily customized, steel-backed armored Kevlar gloves, modified " "to be easy to wear while providing maximum protection under extreme " "conditions." -msgstr "ケブラーを鋼鉄で補強した特製グローブです。極限状況下でも、最大限に身を守れるように着心地を改良してあります。" +msgstr "ケブラーを鋼鉄で補強した特製グローブです。極限状況で身体を最大限保護するよう作られており、着心地も良好です。" #: lang/json/ARMOR_from_json.py msgid "pair of leather gloves" @@ -7536,7 +8189,20 @@ msgstr[0] "軽量型サバイバーグローブ" msgid "" "A pair of customized, Kevlar armored cloth gloves, modified to be easy to " "wear while providing maximum protection under extreme conditions." -msgstr "布をケブラーで補強した特製グローブです。極限状況下でも、最大限に身を守れるように着心地を改良してあります。" +msgstr "布をケブラーで補強した特製グローブです。極限状況で身体を最大限保護するよう作られており、着心地も良好です。" + +#: lang/json/ARMOR_from_json.py +msgid "pair of fingerless survivor gloves" +msgid_plural "pairs of fingerless survivor gloves" +msgstr[0] "サバイバー指貫グローブ" + +#. ~ Description for pair of fingerless survivor gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored cloth gloves with no fingers, modified " +"to be easy to wear while providing maximum protection under extreme " +"conditions." +msgstr "布をケブラーで補強した特製指貫グローブです。極限状況で身体を最大限保護するよう作られており、着心地も良好です。" #: lang/json/ARMOR_from_json.py msgid "pair of medical gloves" @@ -7580,7 +8246,7 @@ msgstr[0] "サバイバーグローブ" msgid "" "A pair of customized, Kevlar armored leather gloves, modified to be easy to " "wear while providing maximum protection under extreme conditions." -msgstr "革をケブラーで補強した特製グローブです。極限状況下でも、最大限に身を守れるように着心地を改良してあります。" +msgstr "革をケブラーで補強した特製グローブです。極限状況で身体を最大限保護するよう作られており、着心地も良好です。" #: lang/json/ARMOR_from_json.py msgid "pair of tactical gloves" @@ -7697,7 +8363,7 @@ msgstr[0] "サバイバー防寒手袋" msgid "" "A pair of customized, Kevlar armored fur gloves, modified to be easy to wear" " while providing maximum protection under extreme conditions." -msgstr "ケブラーで補強した毛皮製の特製グローブです。極限状況下でも、最大限に身を守れるように着心地を改良してあります。" +msgstr "ケブラーで補強した毛皮製の特製グローブです。極限状況で身体を最大限保護するよう作られており、着心地も良好です。" #: lang/json/ARMOR_from_json.py msgid "pair of XL survivor gloves" @@ -7709,7 +8375,7 @@ msgstr[0] "サバイバーグローブ(XL)" msgid "" "A massive pair of customized, Kevlar armored leather gloves, modified to be " "easy to wear while providing maximum protection under extreme conditions." -msgstr "革をケブラーで補強した、サイズの大きな特製グローブです。極限状況下でも、最大限に身を守れるように着心地を改良してあります。" +msgstr "革をケブラーで補強した、サイズの大きな特製グローブです。極限状況で身体を最大限保護するよう作られており、着心地も良好です。" #: lang/json/ARMOR_from_json.py msgid "go bag" @@ -7749,16 +8415,6 @@ msgid "" "excellent protection from environmental dangers." msgstr "目の部分を完全に覆うゴーグルです。危険な環境から目を保護するのに優れています。" -#: lang/json/ARMOR_from_json.py -msgid "pair of swim goggles" -msgid_plural "pairs of swim goggles" -msgstr[0] "水泳ゴーグル" - -#. ~ Description for pair of swim goggles -#: lang/json/ARMOR_from_json.py -msgid "A small pair of goggles made for swimming." -msgstr "水泳用の小さなゴーグルです。" - #: lang/json/ARMOR_from_json.py msgid "pair of welding goggles" msgid_plural "pairs of welding goggles" @@ -7793,20 +8449,6 @@ msgid "" "A heavy, full-length wool coat. Cumbersome, but warm and with deep pockets." msgstr "羊毛製の深いポケットが付いた重い全身コートです。嵩張りますが、寒さをしのげます。" -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit" -msgid_plural "survivor wetsuits" -msgstr[0] "サバイバーウェットスーツ" - -#. ~ Description for survivor wetsuit -#: lang/json/ARMOR_from_json.py -msgid "" -"A lightweight, hand-built combination armor made from a cut-down bulletproof" -" vest and a reinforced neoprene wetsuit. Protects from the elements as well" -" as from harm." -msgstr "" -"切り詰めた防弾ベストと補強したネオプレーン製ウェットスーツから作られた、手製の軽量型コンビネーションアーマーです。天候や攻撃から身体を守ります。" - #: lang/json/ARMOR_from_json.py msgid "hakama" msgid_plural "hakamas" @@ -8275,17 +8917,6 @@ msgstr[0] "サバイバー防火フード" msgid "A customized armored Nomex and Kevlar hood, very strong and durable." msgstr "ノーメックスとケブラーで作られた特製の装甲付きフードです。非常に強固で頑丈です。" -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit hood" -msgid_plural "survivor wetsuit hoods" -msgstr[0] "サバイバーウェットスーツフード" - -#. ~ Description for survivor wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "" -"A customized armored neoprene and Kevlar hood, very strong and durable." -msgstr "ネオプレンとケブラーで作られた特製の装甲付きフードです。とても強固で頑丈です。" - #: lang/json/ARMOR_from_json.py msgid "light survivor hood" msgid_plural "light survivor hoods" @@ -8941,18 +9572,25 @@ msgid_plural "leather belts" msgstr[0] "レザーベルト" #. ~ Use action holster_msg for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_msg for magic leather belt. +#. ~ Use action holster_msg for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py #, no-python-format msgid "You tuck your %s into your %s" msgstr "%sを%sに挟みました。" #. ~ Use action holster_prompt for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_prompt for magic leather belt. +#. ~ Use action holster_prompt for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Stick what into your belt" msgstr "ベルトにアイテムを挟む" #. ~ Description for leather belt -#: lang/json/ARMOR_from_json.py +#. ~ Description for magic leather belt +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py msgid "A leather belt. Useful for making your pair of pants fit." msgstr "革製のベルトです。ズボンをきちんと履く時に役立ちます。" @@ -9106,6 +9744,19 @@ msgid "" "variety is favored by the military." msgstr "バックルストラップで太ももに巻き付けて着用できるポーチです。この種の収納用品は軍隊が好んで使います。" +#: lang/json/ARMOR_from_json.py +msgid "leotard" +msgid_plural "leotard" +msgstr[0] "レオタード" + +#. ~ Description for leotard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment, covering the body from the groin to the " +"shoulders. With its deep scoop-cut back and high waist cuts, this garment " +"is perfect for showcasing your physique on the stage." +msgstr "鼠径部から肩までを覆う、肌に密着した合成繊維製の衣装です。大きく開いた背中とハイレグカットのデザインは、舞台で身体を披露するのに最適です。" + #: lang/json/ARMOR_from_json.py msgid "Linux t-shirt" msgid_plural "Linux t-shirts" @@ -9170,50 +9821,50 @@ msgstr "Debianのロゴが入ったTシャツです。ロゴの下には「ユ #: lang/json/ARMOR_from_json.py msgid "loincloth" msgid_plural "loincloths" -msgstr[0] "ふんどし" +msgstr[0] "腰巻き" #. ~ Description for loincloth #: lang/json/ARMOR_from_json.py msgid "" "Rags stitched together and tied into a makeshift loincloth. Covers your " "modesty, but not much else." -msgstr "縫合した布を結び合わせた即席のふんどしです。品位を守ってはくれますが...それだけですね。" +msgstr "縫合した布を結び合わせた即席の腰巻きです。品位を守ってはくれますが...それだけですね。" #: lang/json/ARMOR_from_json.py msgid "fur loincloth" msgid_plural "fur loincloths" -msgstr[0] "ふんどし(毛皮)" +msgstr[0] "腰巻き(毛皮)" #. ~ Description for fur loincloth #: lang/json/ARMOR_from_json.py msgid "" "A fur pelt tied into a loincloth. Covers your modesty, but not much else. " "Now you are a true barbarian warrior." -msgstr "毛皮を結び合わせたふんどしです。品位を守ってはくれますが...それだけです。これを身に付ければ、真の蛮族の戦士になれますよ。" +msgstr "毛皮を結び合わせた腰巻きです。品位を守ってはくれますが...それだけです。これを身に付ければ、真の蛮族の戦士になれますよ。" #: lang/json/ARMOR_from_json.py msgid "leather loincloth" msgid_plural "leather loincloths" -msgstr[0] "ふんどし(革)" +msgstr[0] "腰巻き(革)" #. ~ Description for leather loincloth #: lang/json/ARMOR_from_json.py msgid "" "Leather patches stitched together and tied into a makeshift loincloth. " "Covers your modesty, but not much else." -msgstr "縫合した革を結び合わせた即席のふんどしです。品位を守ってはくれますが...それだけですね。" +msgstr "縫合した革を結び合わせた即席の腰巻きです。品位を守ってはくれますが...それだけですね。" #: lang/json/ARMOR_from_json.py msgid "wool loincloth" msgid_plural "wool loincloths" -msgstr[0] "ふんどし(羊毛)" +msgstr[0] "腰巻き(羊毛)" #. ~ Description for wool loincloth #: lang/json/ARMOR_from_json.py msgid "" "Bits of wool stitched together and tied into a makeshift loincloth. Covers " "your modesty, but not much else." -msgstr "縫合した羊毛を結び合わせた即席のふんどしです。品位を守ってはくれますが...それだけですね。" +msgstr "縫合した羊毛を結び合わせた即席の腰巻きです。品位を守ってはくれますが...それだけですね。" #: lang/json/ARMOR_from_json.py msgid "pair of extra long white gloves" @@ -9233,7 +9884,7 @@ msgstr[0] "ロングアンダーウェア(下)" #. ~ Description for long underwear bottom #: lang/json/ARMOR_from_json.py msgid "A pair of long underwear that help to maintain body temperature." -msgstr "体温の維持を補助してくれる肌着(下)です。" +msgstr "下半身の体温の維持を補助する肌着です。" #: lang/json/ARMOR_from_json.py msgid "long underwear top" @@ -9243,7 +9894,7 @@ msgstr[0] "ロングアンダーウェア(上)" #. ~ Description for long underwear top #: lang/json/ARMOR_from_json.py msgid "A long underwear top that helps to maintain body temperature." -msgstr "体温の維持を補助してくれる肌着(上)です。" +msgstr "上半身の体温の維持を補助する肌着です。" #: lang/json/ARMOR_from_json.py msgid "sleeveless underwear top" @@ -9253,7 +9904,7 @@ msgstr[0] "袖無しアンダーウェア(上)" #. ~ Description for sleeveless underwear top #: lang/json/ARMOR_from_json.py msgid "A sleeveless underwear top that helps to maintain body temperature." -msgstr "体温の維持を補助してくれる袖なしの肌着(上)です" +msgstr "上半身の体温の維持を補助する袖無しの肌着です。" #: lang/json/ARMOR_from_json.py msgid "long-sleeved shirt" @@ -9584,7 +10235,7 @@ msgstr "足を暖める、着心地の良い毛皮のスリーブです。シン #: lang/json/ARMOR_from_json.py msgid "fur pants" msgid_plural "fur pants" -msgstr[0] "パンツ(毛皮)" +msgstr[0] "ファーパンツ" #. ~ Description for fur pants #: lang/json/ARMOR_from_json.py @@ -9633,7 +10284,7 @@ msgstr[0] "サバイバーカーゴパンツ" msgid "" "A pair of Kevlar armored pants covered with pouches and pockets. Custom " "built to be durable, comfortable, and easy to wear." -msgstr "特別製ののズボンです。ケブラー装甲を施し、小物袋やポケットが取り付けてあります。丈夫で、着心地が良く、着るのも簡単です。" +msgstr "特別製のズボンです。ケブラー装甲を施し、小物袋やポケットが取り付けてあります。丈夫で、着心地が良く、着るのも簡単です。" #: lang/json/ARMOR_from_json.py msgid "peacoat" @@ -9740,7 +10391,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "mail carrier hat" msgid_plural "mail carrier hats" -msgstr[0] "帽子(郵便配達員)" +msgstr[0] "郵便配達員制服(帽子)" #. ~ Description for mail carrier hat #: lang/json/ARMOR_from_json.py @@ -9753,7 +10404,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "mail carrier shirt" msgid_plural "mail carrier shirts" -msgstr[0] "シャツ(郵便配達員)" +msgstr[0] "郵便配達員制服(上)" #. ~ Description for mail carrier shirt #: lang/json/ARMOR_from_json.py @@ -9765,7 +10416,7 @@ msgstr "前面に複数のポケットが付いた水色ボタンのシャツで #: lang/json/ARMOR_from_json.py msgid "mail carrier shorts" msgid_plural "mail carrier shorts" -msgstr[0] "パンツ(郵便配達員)" +msgstr[0] "郵便配達員制服(下)" #. ~ Description for mail carrier shorts #: lang/json/ARMOR_from_json.py @@ -9869,32 +10520,7 @@ msgid "" "A large, adjustable sheath for holding swords and other large blades. " "Activate to sheathe/draw a weapon." msgstr "" -"大型の鞘です。腰に着用しますが鞘そのものは左右どちらかの脚と干渉します。剣やその他の大型の刃物を収められます。使用することで武器の納刀/抜刀ができます。" - -#: lang/json/ARMOR_from_json.py -msgid "shark suit" -msgid_plural "shark suits" -msgstr[0] "シャークスーツ" - -#. ~ Description for shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It comes with attached plastic helmet and booties." -msgstr "サメの噛みつきからスキューバダイバーを守る、チェインメイルのスーツです。プラスチック製のヘルメットとブーツが付属しています。" - -#: lang/json/ARMOR_from_json.py -msgid "faraday shark suit" -msgid_plural "faraday shark suits" -msgstr[0] "ファラデーシャークスーツ" - -#. ~ Description for faraday shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It has been conductively interconnected, protecting against " -"electricity." -msgstr "サメの噛みつきからスキューバダイバーを守る、チェインメイルのスーツです。導電性があり、電撃から体を保護します。" +"大型の鞘です。腰に着用しますが鞘そのものは左右どちらかの脚と干渉します。剣やその他の大型の刃物を収められます。使用することで武器の収納/装備ができます。" #: lang/json/ARMOR_from_json.py msgid "sheath" @@ -9906,7 +10532,7 @@ msgstr[0] "鞘(小型)" msgid "" "A leather sheath for holding knives and other small blades. It is easy to " "use without much practice. Activate to sheathe/draw a weapon." -msgstr "ナイフなどの小型の刃物を収納できる革製の鞘です。練習しなくても簡単に扱えます。使用することで武器の納刀/抜刀ができます。" +msgstr "ナイフなどの小型の刃物を収納できる革製の鞘です。練習しなくても簡単に扱えます。使用することで武器の収納/装備ができます。" #: lang/json/ARMOR_from_json.py msgid "sheet" @@ -9962,6 +10588,18 @@ msgid "" "from cuts." msgstr "デニム生地のパンツです。厚手なので対刃性があります。" +#: lang/json/ARMOR_from_json.py +msgid "thermal shirt" +msgid_plural "thermal shirts" +msgstr[0] "サーマルシャツ" + +#. ~ Description for thermal shirt +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, form-fitting long-sleeved spandex undershirt that helps " +"maintains body temperature." +msgstr "肌に密着して体温の維持を補助する、合成繊維製の軽い長袖肌着です。" + #: lang/json/ARMOR_from_json.py msgid "skinny tie" msgid_plural "skinny ties" @@ -10345,7 +10983,7 @@ msgstr "六本に分かれた長い管状の綿製のストッキングです。 #: lang/json/ARMOR_from_json.py msgid "straw basket" msgid_plural "straw baskets" -msgstr[0] "藁籠" +msgstr[0] "藁かご" #. ~ Description for straw basket #: lang/json/ARMOR_from_json.py @@ -10393,10 +11031,10 @@ msgstr[0] "被験者スーツ" #: lang/json/ARMOR_from_json.py msgid "" "A thin, short-sleeved and short-legged one-piece suit. Judging by the odd " -"tailoring and adjustment points... maybe you don't want to know who wore " -"it. Provides nominal storage and is not very encumbering." +"tailoring and adjustment points… maybe you don't want to know who wore it. " +"Provides nominal storage and is not very encumbering." msgstr "" -"半袖で短足の薄いつなぎの服です。奇妙な仕立て方や調整部分から察すると...ああ、誰が着ていたかは知らない方が良いでしょう。収納容積はあって無いようなものですが、着心地は良好です。" +"半袖で脚の丈が短い、薄手のつなぎ服です。奇妙な仕立て方や調整部分から察すると...ああ、誰が着ていたかは知らない方がよさそうです。収納容積はわずかですが、着心地は良好です。" #: lang/json/ARMOR_from_json.py msgid "suit" @@ -10463,6 +11101,7 @@ msgstr[0] "サバイバーベルト" #. ~ Use action holster_prompt for survivor utility belt. #. ~ Use action holster_prompt for hiking backpack. #. ~ Use action holster_prompt for C.R.I.T web belt. +#. ~ Use action holster_prompt for technomancer's toolbelt. #: lang/json/ARMOR_from_json.py msgid "Sheath blade" msgstr "刀を鞘に納める" @@ -10474,7 +11113,7 @@ msgid "" "sheath to carry a smaller blade. Durable and carefully crafted to be " "comfortable to wear. Activate to sheathe/draw a weapon." msgstr "" -"特製の革製ツールベルトです。掛け紐や袋が取り付けてあり、鞘には小型の刃物を収納できます。頑丈で身に付けていて疲れないよう丁寧に調整してあります。使用することで武器の納刀/抜刀ができます。" +"特製の革製ツールベルトです。掛け紐や袋が取り付けてあり、鞘には小型の刃物を収納できます。頑丈で身に付けていて疲れないよう丁寧に調整してあります。使用することで武器の収納/装備ができます。" #: lang/json/ARMOR_from_json.py msgid "survivor goggles" @@ -10811,16 +11450,6 @@ msgid "" msgstr "" "クラシックなデザインの「トリコーン」、別名三角帽子はだらりと下がった大きな鍔をただ単にたくし上げただけの作りですが、これには上質な刺繍が施され、油膜で水を弾くように作られています。開拓地の「親分」として、大変動の荒波を乗り越えたクルー達のキャプテンとして、いずれにしても、これはそんな人の為にある帽子です。" -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming trunks" -msgid_plural "pairs of swimming trunks" -msgstr[0] "男性用水泳パンツ" - -#. ~ Description for pair of swimming trunks -#: lang/json/ARMOR_from_json.py -msgid "A pair of swimming trunks, with netting." -msgstr "インナーがついた水泳パンツです。" - #: lang/json/ARMOR_from_json.py msgid "t-shirt" msgid_plural "t-shirts" @@ -10995,7 +11624,7 @@ msgstr[0] "ユニオンスーツ" msgid "" "A one-piece suit of full-body long underwear that helps to maintain body " "temperature. It laces closed in the front." -msgstr "体温の維持を補助してくれる、全身を覆う肌着です。留め紐は前で結ばれています。" +msgstr "全身の体温の維持を補助する肌着です。前に結んだ留め紐が付いています。" #: lang/json/ARMOR_from_json.py msgid "pair of leather vambraces" @@ -11062,52 +11691,6 @@ msgid "" "would be too casual and a suit would be just overdoing it." msgstr "上品なチョッキです。シャツのみはカジュアルすぎる、スーツだと堅苦しい、そんな場面で着用するのが理想的です。" -#: lang/json/ARMOR_from_json.py -msgid "wetsuit" -msgid_plural "wetsuits" -msgstr[0] "ウェットスーツ" - -#. ~ Description for wetsuit -#: lang/json/ARMOR_from_json.py -msgid "A full-body neoprene wetsuit." -msgstr "ネオプレン製の全身用ウェットスーツです。" - -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming gloves" -msgid_plural "pairs of swimming gloves" -msgstr[0] "スイミンググローブ" - -#. ~ Description for pair of swimming gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of very flexible neoprene-silicone rubber gloves, suitable for " -"underwater use." -msgstr "ネオプレンシリコンゴム製の非常に柔軟なスイミンググローブです。水中での使用に適しています。" - -#: lang/json/ARMOR_from_json.py -msgid "wetsuit hood" -msgid_plural "wetsuit hoods" -msgstr[0] "ウェットスーツフード" - -#. ~ Description for wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "A neoprene hood, commonly worn by divers." -msgstr "一般的なダイバーが着用するネオプレン製のフードです。" - -#: lang/json/ARMOR_from_json.py -msgid "spring suit" -msgid_plural "spring suits" -msgstr[0] "スプリングスーツ" - -#. ~ Description for spring suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A long-sleeved spring wetsuit with pink color details and cleavage-" -"enhancing, hip-accentuating construction. Not as protective as a full-body " -"suit, but also less restrictive." -msgstr "" -"胸と尻が強調されるようなデザインの、ピンク色のロングスプリングウェットスーツです。全身用の服と同等の防御力はありませんが、窮屈さは感じません。" - #: lang/json/ARMOR_from_json.py msgid "pair of army winter gloves" msgid_plural "pairs of army winter gloves" @@ -11417,6 +12000,35 @@ msgid "" msgstr "" "縁に紐を通すハトメ金がついたプラスチックのシートです。全身を覆えるほどの大きさがあります。手っ取り早く雨をしのぐには有効な手段となるでしょう。" +#: lang/json/ARMOR_from_json.py +msgid "unitard" +msgid_plural "unitards" +msgstr[0] "ユニタード" + +#. ~ Description for unitard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment resembling a crew necked leotard combined with " +"leggings. Commonly used by gymnasts, dancers and equestrian vaulters, the " +"unitard provides overall coverage with great flexibility." +msgstr "" +"クルーネックのレオタードとレギンスを組み合わせた形状の、肌に密着する合成繊維製の衣装です。主に体操選手、ダンサー、軽乗競技選手が着用し、全身を柔らかく包んで保護します。" + +#: lang/json/ARMOR_from_json.py +msgid "zentai" +msgid_plural "zentais" +msgstr[0] "全身タイツ" + +#. ~ Description for zentai +#: lang/json/ARMOR_from_json.py +msgid "" +"Short for 'zenshin taitsu', a zentai is a form fitting full body nylon and " +"spandex garment. Though it covers your face, you can see through the " +"integrated hood. With a couple of these and some friends and you could put " +"on some kabuki." +msgstr "" +"「全タイ」と略して呼ばれることもある、ナイロンと合成繊維で作られた全身を覆う衣装です。頭部は一体型のフード状になっており、顔全体を覆っても視界を妨げません。この衣装と友達を集めれば、皆で演劇を披露できます。" + #: lang/json/ARMOR_from_json.py msgid "pair of bone arm guards" msgid_plural "pairs of bone arm guards" @@ -11560,7 +12172,7 @@ msgid "" "Durable and carefully crafted to be comfortable to wear. Activate to " "sheathe/draw a weapon." msgstr "" -"特製の革製ツールベルトです。数え切れないほどの掛け紐や道具袋が取り付けてあり、鞘には小型の刃物を収納できます。頑丈で身に付けていて疲れないよう丁寧に調整してあります。使用することで武器の納刀/抜刀ができます。" +"特製の革製ツールベルトです。数え切れないほどの掛け紐や道具袋が取り付けてあり、鞘には小型の刃物を収納できます。頑丈で身に付けていて疲れないよう丁寧に調整してあります。使用することで武器の収納/装備ができます。" #: lang/json/ARMOR_from_json.py msgid "pair of attached ear plugs (in)" @@ -12704,7 +13316,7 @@ msgstr "より速く走り、より高く跳べる事を保障します!" #: lang/json/ARMOR_from_json.py msgid "pair of straw sandals" msgid_plural "pairs of straw sandals" -msgstr[0] "草鞋" +msgstr[0] "サンダル(藁)" #. ~ Description for pair of straw sandals #: lang/json/ARMOR_from_json.py @@ -13856,8 +14468,8 @@ msgid "" "protection. Like all DoubleTech power armor, the control and climate-" "regulation systems require direct skin contact." msgstr "" -"DoubleTech社のパワーアーマーMk. II-Hです。このモデルはMk. " -"Iを改良したもので、特に環境防護性能が大幅に向上しています。他のDoubleTech社パワーアーマーと同様に、制御と寒暖調整のため素肌の上に直接着用する必要があります。" +"DoubleTech社のパワーアーマーMk.II-" +"Hです。このモデルはMk.Iを改良したもので、特に環境防護性能が大幅に向上しています。他のDoubleTech社パワーアーマーと同様に、制御と寒暖調整のため素肌の上に直接着用する必要があります。" #: lang/json/ARMOR_from_json.py msgid "basic power armor helmet" @@ -13872,8 +14484,7 @@ msgid "" "Like all DoubleTech power armor, the control and climate-regulation systems " "require direct skin contact." msgstr "" -"DoubleTech社製のパワーアーマーMk. " -"Iとセットで運用する設計の、基本的な性能を持つヘルメットです。このモデルは環境防護と防御力に優れています。他のDoubleTech社パワーアーマーと同様に、制御と寒暖調整のため素肌の上に直接着用する必要があります。" +"DoubleTech社製のパワーアーマーMk.Iとセットで運用する設計の、基本的な性能を持つヘルメットです。このモデルは環境防護と防御力に優れています。他のDoubleTech社パワーアーマーと同様に、制御と寒暖調整のため素肌の上に直接着用する必要があります。" #: lang/json/ARMOR_from_json.py msgid "heavy power armor helmet" @@ -13889,8 +14500,8 @@ msgid "" "armor, the control and climate-regulation systems require direct skin " "contact." msgstr "" -"DoubleTech社のパワーアーマーMk. II-Hとセットで運用する設計のヘルメットです。Mk. " -"Iに比べて重量は増加しましたが、見た目はより洗練され、環境防護性能も向上しています。他のDoubleTech社パワーアーマーと同様に、制御と寒暖調整のため素肌の上に直接着用する必要があります。" +"DoubleTech社のパワーアーマーMk.II-" +"Hとセットで運用する設計のヘルメットです。Mk.Iに比べて重量は増加しましたが、見た目はより洗練され、環境防護性能も向上しています。他のDoubleTech社パワーアーマーと同様に、制御と寒暖調整のため素肌の上に直接着用する必要があります。" #: lang/json/ARMOR_from_json.py msgid "light power armor helmet" @@ -13905,8 +14516,8 @@ msgid "" "Like all DoubleTech power armor, the control and climate-regulation systems " "require direct skin contact." msgstr "" -"DoubleTech社のパワーアーマーMk. II-Lと共に運用されるよう設計されたヘルメットです。Mk. " -"Iを改良して、より軽く洗練された仕上がりになっています。他のDoubleTech社パワーアーマーと同様に、制御と寒暖調整のため素肌の上に直接着用する必要があります。" +"DoubleTech社のパワーアーマーMk.II-" +"Lと共に運用されるよう設計されたヘルメットです。Mk.Iを改良して、より軽く洗練された仕上がりになっています。他のDoubleTech社パワーアーマーと同様に、制御と寒暖調整のため素肌の上に直接着用する必要があります。" #: lang/json/ARMOR_from_json.py msgid "light power armor" @@ -13921,8 +14532,136 @@ msgid "" "DoubleTech power armor, the control and climate-regulation systems require " "direct skin contact." msgstr "" -"DoubleTech社のパワーアーマーMk. II-Lです。このモデルはMk. " -"Iにいくつか改良を加えたモデルで、大幅な軽量化に成功しています。他のDoubleTech社パワーアーマーと同様に、制御と寒暖調整のため素肌の上に直接着用する必要があります。" +"DoubleTech社のパワーアーマーMk.II-" +"Lです。このモデルはMk.Iにいくつか改良を加えたモデルで、大幅な軽量化に成功しています。他のDoubleTech社パワーアーマーと同様に、制御と寒暖調整のため素肌の上に直接着用する必要があります。" + +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming trunks" +msgid_plural "pairs of swimming trunks" +msgstr[0] "男性用水泳パンツ" + +#. ~ Description for pair of swimming trunks +#: lang/json/ARMOR_from_json.py +msgid "A pair of swimming trunks, with netting." +msgstr "インナーがついた水泳パンツです。" + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit" +msgid_plural "wetsuits" +msgstr[0] "ウェットスーツ" + +#. ~ Description for wetsuit +#: lang/json/ARMOR_from_json.py +msgid "A full-body neoprene wetsuit." +msgstr "ネオプレン製の全身用ウェットスーツです。" + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit hood" +msgid_plural "wetsuit hoods" +msgstr[0] "ウェットスーツフード" + +#. ~ Description for wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "A neoprene hood, commonly worn by divers." +msgstr "一般的なダイバーが着用するネオプレン製のフードです。" + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit hood" +msgid_plural "survivor wetsuit hoods" +msgstr[0] "サバイバーウェットスーツフード" + +#. ~ Description for survivor wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "" +"A customized armored neoprene and Kevlar hood, very strong and durable." +msgstr "ネオプレンとケブラーで作られた特製の装甲付きフードです。とても強固で頑丈です。" + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit" +msgid_plural "survivor wetsuits" +msgstr[0] "サバイバーウェットスーツ" + +#. ~ Description for survivor wetsuit +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, hand-built combination armor made from a cut-down bulletproof" +" vest and a reinforced neoprene wetsuit. Protects from the elements as well" +" as from harm." +msgstr "" +"切り詰めた防弾ベストと補強したネオプレーン製ウェットスーツから作られた、手製の軽量型コンビネーションアーマーです。天候や攻撃から身体を守ります。" + +#: lang/json/ARMOR_from_json.py +msgid "pair of survivor wetsuit gloves" +msgid_plural "pairs of survivor wetsuit gloves" +msgstr[0] "サバイバーウェットスーツグローブ" + +#. ~ Description for pair of survivor wetsuit gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" +" wear while providing maximum protection under extreme conditions." +msgstr "ネオプレンをケブラーで補強した特製グローブです。極限状況で身体を最大限保護するよう作られており、着心地も良好です。" + +#: lang/json/ARMOR_from_json.py +msgid "spring suit" +msgid_plural "spring suits" +msgstr[0] "スプリングスーツ" + +#. ~ Description for spring suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A long-sleeved spring wetsuit with pink color details and cleavage-" +"enhancing, hip-accentuating construction. Not as protective as a full-body " +"suit, but also less restrictive." +msgstr "" +"胸と尻が強調されるようなデザインの、ピンク色のロングスプリングウェットスーツです。全身用の服と同等の防御力はありませんが、窮屈さは感じません。" + +#: lang/json/ARMOR_from_json.py +msgid "faraday shark suit" +msgid_plural "faraday shark suits" +msgstr[0] "ファラデーシャークスーツ" + +#. ~ Description for faraday shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It has been conductively interconnected, protecting against " +"electricity." +msgstr "サメの噛みつきからスキューバダイバーを守る、チェインメイルのスーツです。導電性があり、電撃から体を保護します。" + +#: lang/json/ARMOR_from_json.py +msgid "shark suit" +msgid_plural "shark suits" +msgstr[0] "シャークスーツ" + +#. ~ Description for shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It comes with attached plastic helmet and booties." +msgstr "サメの噛みつきからスキューバダイバーを守る、チェインメイルのスーツです。プラスチック製のヘルメットとブーツが付属しています。" + +#: lang/json/ARMOR_from_json.py +msgid "pair of swim goggles" +msgid_plural "pairs of swim goggles" +msgstr[0] "水泳ゴーグル" + +#. ~ Description for pair of swim goggles +#: lang/json/ARMOR_from_json.py +msgid "A small pair of goggles made for swimming." +msgstr "水泳用の小さなゴーグルです。" + +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming gloves" +msgid_plural "pairs of swimming gloves" +msgstr[0] "スイミンググローブ" + +#. ~ Description for pair of swimming gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of very flexible neoprene-silicone rubber gloves, suitable for " +"underwater use." +msgstr "ネオプレンシリコンゴム製の非常に柔軟なスイミンググローブです。水中での使用に適しています。" #: lang/json/ARMOR_from_json.py msgid "helmet netting" @@ -14513,6 +15252,51 @@ msgid "shotgun bandolier" msgid_plural "shotgun bandoliers" msgstr[0] "弾薬ベルト(ショットガン)" +#: lang/json/ARMOR_from_json.py +msgid "technomancer's toolbelt" +msgid_plural "technomancer's toolbelts" +msgstr[0] "魔法のツールベルト" + +#. ~ Description for technomancer's toolbelt +#: lang/json/ARMOR_from_json.py +msgid "" +"A custom-built leather utility belt that instantly creates any tool that you" +" reach for. Activate to sheathe/draw a weapon." +msgstr "欲しい道具をすぐに作れる、特製の革製ツールベルトです。使用することで武器の収納/装備ができます。" + +#: lang/json/ARMOR_from_json.py +msgid "seven league boots" +msgid_plural "pairs of seven league boots" +msgstr[0] "セブンリーグブーツ" + +#. ~ Description for seven league boots +#. ~ Description for boots of haste +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, they look like they've seen a lot of use and will likely see a lot " +"more. They make your movement a lot less work." +msgstr "" +"古くから使われ続けてきたように見える、すり減った革と鋼鉄で作られた、丈夫で履き心地も非常に快適なブーツです。着用すると動きが軽快になります。" + +#: lang/json/ARMOR_from_json.py +msgid "boots of haste" +msgid_plural "pairs of boots of haste" +msgstr[0] "速さのブーツ" + +#: lang/json/ARMOR_from_json.py +msgid "boots of grounding" +msgid_plural "pairs of boots of grounding" +msgstr[0] "大地のブーツ" + +#. ~ Description for boots of grounding +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of leather with " +"small engraved runes seemingly filled with rubber. When worn, you are " +"immune to damage from electricity." +msgstr "細かいルーン文字が刻まれた、丈夫で履き心地も非常に快適なゴム製ブーツです。着用すると電撃によるダメージを受けなくなります。" + #: lang/json/ARMOR_from_json.py msgid "copper infusion bracelet" msgid_plural "copper infusion bracelets" @@ -14533,7 +15317,7 @@ msgstr[0] "マナサークレット" #. ~ Description for copper circlet #: lang/json/ARMOR_from_json.py msgid "" -"A wooden band with copper trimmings to be worn on the head. Touching your " +"A wooden band with copper trimmings to be worn on the head. Touching your " "temples with it on makes you feel very calm." msgstr "木製の輪に銅の飾りが付いた、頭に着用する装身具です。着用していると心がとても落ち着きます。" @@ -14629,12 +15413,12 @@ msgstr[0] "黒竜皮の手袋" #: lang/json/ARMOR_from_json.py msgid "belt of strength +2" msgid_plural "belts of strength +2" -msgstr[0] "力のベルト+2" +msgstr[0] "筋力のベルト+2" #: lang/json/ARMOR_from_json.py msgid "belt of haste" msgid_plural "belts of haste" -msgstr[0] "速さのベルト" +msgstr[0] "速度のベルト" #: lang/json/ARMOR_from_json.py msgid "wizard hat" @@ -15118,10 +15902,10 @@ msgstr[0] "CBM: 擬装システム" msgid "" "This high-power system uses a set of cameras and LEDs to make the user blend" " into their surroundings, rendering them fully invisible to eyes and optical" -" sensors. However, this does't prevent detection from other means such as " +" sensors. However, this doesn't prevent detection from other means such as " "infrared, sonar, etc." msgstr "" -"大量の電力を消費してカメラとLEDを起動し、背景に同化するシステムです。通常の視覚から完全に見えなくなりますが、赤外線や音波探知機などによって発見される可能性があります。" +"大量の電力を消費してカメラとLEDを起動し、周囲の景色に同化するシステムです。通常の視覚や光学センサーでは完全に感知できなくなりますが、赤外線や音波探知などの手段で発見される可能性があります。" #: lang/json/BIONIC_ITEM_from_json.py msgid "Close Quarters Battle CBM" @@ -15163,7 +15947,7 @@ msgid "" "also increase the user's resistance to foodborne illness, and occasionally " "allow the digestion of rotten food." msgstr "" -"3つの人工胃と工業用品質の腸を装着します。 これは食料からより多くの養分を抽出できるだけでなく、食中毒の無効化や 腐敗した食料の摂取まで可能にします。" +"3つの人工胃と工業用品質の腸を装着します。 食料からより多くの養分を抽出できるだけでなく、食中毒への抵抗力を高め、腐敗した食料の消化すら可能にします。" #: lang/json/BIONIC_ITEM_from_json.py msgid "Enhanced Hearing CBM" @@ -15215,10 +15999,10 @@ msgstr[0] "CBM: エタノール燃焼装置" #. ~ Description for Ethanol Burner CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A reactor that burns alcohol as fuel in an extremely efficient reaction. " -"However, the user will still suffer the inebriating effects of the " -"substance." -msgstr "アルコールを非常に効率的な燃料として利用できます。しかし、酒酔いの影響は通常と同じように受けてしまいます。" +"A reactor that burns alcohol as fuel in an extremely efficient reaction. It" +" can store up to 500ml and accept ethanol, methanol and denatured aclohol as" +" fuel." +msgstr "アルコールを非常に効率的な燃料として利用できます。エタノール、メタノール、変性アルコールを最大500mlまで投入できます。" #: lang/json/BIONIC_ITEM_from_json.py msgid "Aero-Evaporator CBM" @@ -15226,8 +16010,7 @@ msgid_plural "Aero-Evaporator CBMs" msgstr[0] "CBM: 水蒸気液化装置" #. ~ Description for Aero-Evaporator CBM -#. ~ Description for Aero-Evaporator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "This unit draws moisture from the surrounding air, which then is poured from" " a fingertip in the form of water. It may fail in very dry environments." @@ -15268,9 +16051,9 @@ msgstr[0] "CBM: 表情調整装置" #: lang/json/BIONIC_ITEM_from_json.py msgid "" "Through controlled application of electrochemical impulses, this bionic " -"mudule lets the user alter their facial structure so as to subtly affect the" +"module lets the user alter their facial structure so as to subtly affect the" " reactions of others. This grants a bonus to all social interactions." -msgstr "電気化学的刺激を制御し表情を顔の構造ごと変化させるアプリケーションです。他者への印象を操ることで交渉の際にボーナスを得ます。" +msgstr "電気化学的刺激を制御し、表情を顔の構造ごと変化させるアプリケーションです。他者への印象を操作することで、あらゆる交渉を有利に運びます。" #: lang/json/BIONIC_ITEM_from_json.py msgid "Dielectric Capacitance System CBM" @@ -15292,10 +16075,10 @@ msgstr[0] "CBM: 指内蔵式ハッキングツール" #. ~ Description for Fingerhack CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A miniature electrohack, surgically embedded in a finger of the right hand. " -"This is an all-purpose hacking unit used to override control panels and the " -"like, but not computers. Computer proficiency is important, and a failed " -"use may cause damage." +"A miniature electrohack, surgically embedded in a finger of the right hand." +" This is an all-purpose hacking unit used to override control panels and " +"the like, but not computers. Computer proficiency is important, and a " +"failed use may cause damage." msgstr "" "右手指の一本にハッキングツールを埋め込みます。コントロールパネル類のオーバーライドに特化した多目的ハッキングユニットのため、コンピューターへのハッキングはできません。使用にあたってはコンピュータースキルが重要であり、失敗するとダメージを受ける可能性があります。" @@ -15573,8 +16356,7 @@ msgid_plural "Artificial Night Generator CBMs" msgstr[0] "CBM: 人工暗闇発生装置" #. ~ Description for Artificial Night Generator CBM -#. ~ Description for Artificial Night Generator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "When active, this bionic eliminates all light within a 15 tile radius " "through destructive interference." @@ -15636,18 +16418,17 @@ msgstr "蓄電機能をもつ生体部品をパワーアーマー内部の充電 #: lang/json/BIONIC_ITEM_from_json.py msgid "Power Armor Mk. II Interface CBM" msgid_plural "Power Armor Mk. II Interface CBMs" -msgstr[0] "CBM: パワーアーマーインターフェース MK. II" +msgstr[0] "CBM: パワーアーマーインターフェース MK.II" #. ~ Description for Power Armor Mk. II Interface CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" "Interfaces the user's bionic power system with the internal charging port on" " suits of power armor, allowing them to draw from the user's bionic power " -"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " +"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " "DoubleTech Inc., to meet the popularity of the Mk. II power armor series." msgstr "" -"生体部品の電力をパワーアーマーに供給するシステムを追加します。Mk. Iシリーズの2倍の効率を誇ります。Mk. " -"IIパワーアーマーシリーズの人気を受けてDoubleTech社が開発しました。" +"生体部品の電力をパワーアーマーに供給するシステムを追加します。Mk.Iシリーズの2倍の効率を誇ります。Mk.IIパワーアーマーシリーズの人気を受けてDoubleTech社が開発しました。" #: lang/json/BIONIC_ITEM_from_json.py msgid "Power Storage CBM" @@ -15666,7 +16447,7 @@ msgstr "" #: lang/json/BIONIC_ITEM_from_json.py msgid "Power Storage CBM Mk. II" msgid_plural "Power Storage CBM Mk. II" -msgstr[0] "CBM: 蓄電装置Mk. II " +msgstr[0] "CBM: 蓄電装置Mk.II " #. ~ Description for Power Storage CBM Mk. II #: lang/json/BIONIC_ITEM_from_json.py @@ -15714,7 +16495,7 @@ msgid "" "A system of advanced piezomechanical blood filters that are implanted " "throughout your body, allowing the user to purge themself of absorbed " "radiation at the cost of some bionic power." -msgstr "先進的な圧電素子を利用した血液濾過装置を身体に埋め込みます。起動すると電力を消費して体内の放射線量を低減します。" +msgstr "先進的な圧電素子を利用した血液ろ過装置を身体に埋め込みます。起動すると電力を消費して体内の放射線量を低減します。" #: lang/json/BIONIC_ITEM_from_json.py msgid "Railgun CBM" @@ -16169,7 +16950,7 @@ msgstr[0] "痒みを催す金属部品" #. ~ Description for Itchy Metal Thing #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"You can't recognise what this is supposed to be, but it's a very awkward " +"You can't recognize what this is supposed to be, but it's a very awkward " "thing to have in one's body." msgstr "何の部品かよく分かりませんが、体内に埋め込んだまま過ごすのは非常に不便です。" @@ -16180,8 +16961,7 @@ msgstr[0] "発光部品" #. ~ Description for Glowy Thing #: lang/json/BIONIC_ITEM_from_json.py -msgid "" -"It's a... thing? And it glows, at least it did when it was plugged in." +msgid "It's a… thing? And it glows, at least it did when it was plugged in." msgstr "何かの...部品でしょうか?少なくとも移植した時点から光っています。" #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py @@ -16716,7 +17496,7 @@ msgstr[0] "本(学習/人類饗応法)" #. ~ Description for To Serve Man #: lang/json/BOOK_from_json.py -msgid "It's... it's a cookbook!" +msgid "It's… it's a cookbook!" msgstr "これは...まさか...料理本!?" #: lang/json/BOOK_from_json.py @@ -16806,7 +17586,7 @@ msgstr[0] "本(学習/PE050 \"アルファ\":一次報告)" msgid "" "This sheaf of papers-dated two weeks before all this started-describes some " "new chemical formula, and its effects on human subjects. It's stamped " -"\"APPROVED\"..." +"\"APPROVED\"…" msgstr "" "この紙束に記された日付は、大変動が始まる2週間前のものです。複数の新しい化学式や、それが人体に与える影響が記されています。「承認」のスタンプが押されています..." @@ -16833,9 +17613,9 @@ msgstr[0] "本(学習/PE065 \"キメラ\": 最善の措置)" #: lang/json/BOOK_from_json.py msgid "" "This sheaf of papers describes a new chemical formula in detail and supplies" -" instructions for its use as some sort of ... crowd-control catalyst? That " -"can't be right..." -msgstr "見慣れない化学式について詳細に説明した論文です。その用途は...群衆をコントロールする能力を与える?そんな物が実在するのでしょうか..." +" instructions for its use as some sort of… crowd-control catalyst? That " +"can't be right…" +msgstr "見慣れない化学式について詳細に説明した論文です。その用途は...群衆をコントロールする能力を与える?そんな方法が実在するのでしょうか..." #: lang/json/BOOK_from_json.py msgid "lab journal-Smythe" @@ -16847,9 +17627,9 @@ msgstr[0] "本(学習/研究日誌(スマイス))" msgid "" "This team logbook details several varieties of mutagenic experiments, " "focusing on those derived from flesh contaminated with XE037. The results " -"look promising but the procurement methods seem awfully vague..." +"look promising but the procurement methods seem awfully vague…" msgstr "" -"この研究日誌は、XE037で汚染された肉に注目し、突然変異を引き起こす実験について詳しく書かれています。結果は良好だったようですが、調達方法についてはとても曖昧で..." +"この研究日誌は、XE037で汚染された肉に注目し、突然変異を引き起こす実験について詳しく書かれています。結果は良好だったようですが、調達方法については言葉を濁して書かれています..." #: lang/json/BOOK_from_json.py msgid "standpipe maintenance log" @@ -16861,7 +17641,7 @@ msgstr[0] "本(一般/配管定期検査記録)" msgid "" "This binder details the scheduled maintenance for several plumbing systems " "throughout the facility. However, some of the log sheets seem to be filled " -"with...a chemical formula?" +"with… a chemical formula?" msgstr "このバインダーには、施設の配管システムの定期検査記録が詳細に書かれています。しかし、一部の記録は何かで埋め尽くされて...化学式?" #: lang/json/BOOK_from_json.py @@ -16902,7 +17682,7 @@ msgstr[0] "本(学習/PE023 \"医療\": 応用と調査結果)" #: lang/json/BOOK_from_json.py msgid "" "This binder of highly technical papers describes some new chemical formula, " -"and its effects on human subjects. It's stamped \"APPROVED\"...." +"and its effects on human subjects. It's stamped \"APPROVED\"…" msgstr "バインダーの中の紙束には、複数の新しい化学式や、その人体に対する影響が記されています。「承認」のスタンプが押されています..." #: lang/json/BOOK_from_json.py @@ -17170,7 +17950,7 @@ msgstr[0] "本(学習/研究日誌(エレーラ))" msgid "" "This hefty binder contains a multitude of diagrams and technical " "specifications for various electronic materials. Some of the diagrams use " -"symbols you've not seen before..." +"symbols you've not seen before…" msgstr "" "この分厚いバインダーには、いくつかの各種電子材料の図面と技術仕様が記載されています。今までに見たこともないような記号が使用されている図面もあるようです..." @@ -17234,13 +18014,13 @@ msgstr[0] "汎用開発概要" #. ~ Description for nearby fire #. ~ Description for muscle #. ~ Description for wind +#. ~ Description for metabolism #. ~ Description for a smoking device and a source of flame #. ~ Description for abstract map #. ~ Description for seeing this is a bug #. ~ Description for weapon #: lang/json/BOOK_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py #: lang/json/furniture_from_json.py lang/json/skill_from_json.py msgid "seeing this is a bug" msgid_plural "seeing this is a bugs" @@ -17576,8 +18356,8 @@ msgstr[0] "本(学習/手詰め弾薬の解説書)" #: lang/json/BOOK_from_json.py msgid "" "Everything you could ever want to know about handloading ammunition, sealed " -"with a ...childproof cover. Apparently a liability thing, because the " -"chapter on explosive rounds covers them in excellent detail too." +"with a… childproof cover. Apparently a liability thing, because the chapter" +" on explosive rounds covers them in excellent detail too." msgstr "" "手詰め弾薬について知りたいことが全て載った書籍です。子供の安全のために弾薬にはチャイルドロックを掛ける...とのことですが、爆弾に関する章にはあまりに詳細な解説が載っているので、この本自体が子供にとって安全ではなさそうです。" @@ -18050,7 +18830,7 @@ msgid "" "This lab notebook is filled with the collective discoveries and refinements " "of a research team dedicated to nuclear energy. You don't think you're " "ready to start a second Cataclysm, but the general information provided " -"might be useful..." +"might be useful…" msgstr "" "原子力エネルギーを専門として研究しているチームの発見や改良が大量にまとめられた実験ノートです。二度目の大変動を引き起こそうとは思いませんが、小型化した携帯型核爆弾の詳細は役に立つかもしれません..." @@ -19337,6 +20117,34 @@ msgid "" " that the author's real name is Fereidoun M. Esfandiary." msgstr "FM-2030の「アップウィンガーズ: 未来派宣言」です。著者の本名はフェレイドゥン・M・エスファンダイアリーであるようです。" +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Bastiat Collection\", a large collection of essays " +"by Frederic Bastiat." +msgstr "フレデリック・バスティアが記した多数のエッセイを一冊にまとめた「バスティア論集」です。" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Anarchy, State, and Utopia\" by Robert Nozick, one of " +"the most influential books of modern libertarianism." +msgstr "現代のリバタリアニズムに最も影響を与えた本の一つである、ロバート・ノージックの「アナーキー・国家・ユートピア」です。" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Socialism\" by Ludwig von Mises, a critical examination " +"of socialism." +msgstr "ルートヴィヒ・フォン・ミーゼスの「社会主義」です。社会主義について批判的に検討しています。" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The ABC of Communism\" by Nikolai Bukharin, one of the " +"most influential books of early Marxism-Leninism." +msgstr "初期マルクス・レーニン主義に最も影響を与えた本の一つである、ニコライ・ブハーリンの「共産主義のABC」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Anti-Capitalist Mentality\" by Ludwig von Mises." +msgstr "ルートヴィヒ・フォン・ミーゼスの「反資本主義の精神構造」です。" + #: lang/json/BOOK_from_json.py msgid "phone book" msgid_plural "phone books" @@ -19405,8 +20213,8 @@ msgstr[0] "本(一般/会計帳簿)" #. ~ Description for corporate accounting ledger #: lang/json/BOOK_from_json.py -msgid "If you knew what to look for something might stand out..." -msgstr "帳簿に不正が見つかったとしても今となっては..." +msgid "If you knew what to look for something might stand out…" +msgstr "何か目当ての情報があるなら、役に立つかもしれません..." #: lang/json/BOOK_from_json.py msgid "patient treatment records" @@ -19643,6 +20451,106 @@ msgstr "デュマの「モンテ・クリスト伯」です。" msgid "This is a copy of \"The Secret Garden\" by Frances Burnett." msgstr "フランシス・バーネットの「秘密の花園」です。" +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lieutenant Hornblower\" by C.S. Forester." +msgstr "C.S.フォレスターの「スペイン要塞を撃滅せよ」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Master and Commander\" by Patrick O'Brian." +msgstr "パトリック・オブライアンの「新鋭艦長、戦乱の海へ」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Warden\" by Anthony Trollope." +msgstr "アントニー・トロロープの「慈善院長」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Far Side of the World\" by Patrick O'Brian." +msgstr "パトリック・オブライアンの「南太平洋、波瀾の追撃戦」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"HMS Surprise\" by Patrick O'Brian." +msgstr "パトリック・オブライアンの「特命航海、嵐のインド洋」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Barchester Towers\" by Anthony Trollope." +msgstr "アントニー・トロロープの「バーチェスターの塔」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Land Ironclads\" by H.G. Wells." +msgstr "H・G・ウェルズの「陸の甲鉄艦」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Great Boer War\" by Arthur Conan Doyle." +msgstr "アーサー・コナン・ドイルの「大ボーア戦争」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Crime of the Congo\" by Arthur Conan Doyle." +msgstr "アーサー・コナン・ドイルの「コンゴの犯罪」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Parasite\" by Arthur Conan Doyle." +msgstr "アーサー・コナン・ドイルの「寄生体」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"By Stroke of Sword\" by Andrew Balfour." +msgstr "アンドリュー・バルフォアの「バイ・ストローク・オブ・ソード」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Secret Agent\" by Joseph Conrad." +msgstr "ジョゼフ・コンラッドの「密偵」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lord Jim\" by Joseph Conrad." +msgstr "ジョゼフ・コンラッドの「ロード・ジム」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Vanity Fair\" by William Makepeace Thackeray." +msgstr "ウィリアム・メイクピース・サッカレーの「虚栄の市」です。" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Luck of Barry Lyndon\" by William Makepeace " +"Thackeray." +msgstr "ウィリアム・メイクピース・サッカレーの「バリー・リンドン」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"North and South\" by Elizabeth Gaskell." +msgstr "エリザベス・ギャスケルの「北と南」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Mayor of Casterbridge\" by Thomas Hardy." +msgstr "トーマス・ハーディの「キャスタブリッジの町長」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Wessex Tales\" by Thomas Hardy." +msgstr "トーマス・ハーディの「ウェセックス物語」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Far from the Madding Crowd\" by Thomas Hardy." +msgstr "トーマス・ハーディの「狂おしき群をはなれて」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Captains Courageous\" by Rudyard Kipling." +msgstr "ラドヤード・キップリングの「勇ましい船長」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Canterbury Tales\" by Geoffrey Chaucer." +msgstr "ジェフリー・チョーサーの「カンタベリー物語」です。" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Harold, the Last of the Saxons\" by Edward Bulwer-" +"Lytton." +msgstr "エドワード・ブルワー=リットンの「ハロルド」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Mr Midshipman Easy\" by Frederick Marryat." +msgstr "フレデリック・マリアットの「海軍見習士官イージー」です。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Peter Simple\" by Frederick Marryat." +msgstr "フレデリック・マリアットの「ピーター・シムプル」です。" + #: lang/json/BOOK_from_json.py msgid "collector's edition book" msgid_plural "collector's edition book" @@ -20539,10 +21447,11 @@ msgstr "執事を殺した犯人を推理するゲームです。" #: lang/json/BOOK_from_json.py msgid "Black Dragons: Swamp Ruins" -msgid_plural "Black Dragons: Swamp Ruinss" +msgid_plural "copies of Black Dragons: Swamp Ruins" msgstr[0] "本(学習/ブラックドラゴン: 沼地の廃墟)" -#. ~ Description for Black Dragons: Swamp Ruins +#. ~ Description for {'str': 'Black Dragons: Swamp Ruins', 'str_pl': 'copies +#. of Black Dragons: Swamp Ruins'} #: lang/json/BOOK_from_json.py msgid "" "This book details black dragons: The most evil of dragons, who live in ruins" @@ -20554,26 +21463,59 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "A Beginner's Guide to Alchemy" -msgid_plural "A Beginner's Guide to Alchemys" +msgid_plural "copies of A Beginner's Guide to Alchemy" msgstr[0] "本(学習/はじめての錬金術)" -#. ~ Description for A Beginner's Guide to Alchemy +#. ~ Description for {'str': "A Beginner's Guide to Alchemy", 'str_pl': +#. "copies of A Beginner's Guide to Alchemy"} #: lang/json/BOOK_from_json.py msgid "A paperback tome for the art of liquid magic, alcohol not included." msgstr "酒以外の液体を使った魔法の技術を解説したペーパーバック本です。" #: lang/json/BOOK_from_json.py msgid "A Soulbinder's Guide to Necromancy" -msgid_plural "A Soulbinder's Guide to Necromancys" +msgid_plural "copies of A Soulbinder's Guide to Necromancy" msgstr[0] "本(学習/ソウルバインダーの死霊術ガイド)" -#. ~ Description for A Soulbinder's Guide to Necromancy +#. ~ Description for {'str': "A Soulbinder's Guide to Necromancy", 'str_pl': +#. "copies of A Soulbinder's Guide to Necromancy"} #: lang/json/BOOK_from_json.py msgid "" "A paperback tome for the art of binding undead creatures' souls to dolls, " "along with emulating their healing factor." msgstr "アンデッドの魂を人形に縛り付けて自然治癒力を再現する技術を解説した、大型のペーパーバック本です。" +#: lang/json/BOOK_from_json.py +msgid "Magitek Illustrated" +msgid_plural "copies of Magitek Illustrated" +msgstr[0] "本(学習/図解魔科学)" + +#. ~ Description for {'str': 'Magitek Illustrated', 'str_pl': 'copies of +#. Magitek Illustrated'} +#: lang/json/BOOK_from_json.py +msgid "" +"A paperback tome for the art of combining modern technology with magic. " +"There is a disclaimer on the back: `Cannith Industries bears no " +"responsibility for malfunctions or accidents for any products mentioned " +"herein`." +msgstr "" +"現代科学と魔法を組み合わせた技術について解説したペーパーバック本です。裏表紙には免責事項が載っています。「Cannith " +"Industries社は、本書に記載されている製品に関する誤作動や事故について一切責任を負いません」" + +#: lang/json/BOOK_from_json.py +msgid "The Weapons of Asgard and Beyond" +msgid_plural "copies of The Weapons of Asgard and Beyond" +msgstr[0] "本(学習/アスガルドの先へ)" + +#. ~ Description for {'str': 'The Weapons of Asgard and Beyond', 'str_pl': +#. 'copies of The Weapons of Asgard and Beyond'} +#: lang/json/BOOK_from_json.py +msgid "" +"An ornate book which appears to be written in Norse runes. Based on the " +"detailed illustrations, it appears to contain information about crafting " +"numerous weapons used by various Gods." +msgstr "北欧のルーン文字のような書体で書かれた鮮やかな書物です。様々な神が使う多数の武器の作り方が、詳細なイラストで解説されています。" + #: lang/json/BOOK_from_json.py msgid "SugarKin flyer" msgid_plural "SugarKin flyers" @@ -20582,24 +21524,25 @@ msgstr[0] "シュガーキンのチラシ" #. ~ Description for SugarKin flyer #: lang/json/BOOK_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" +"A flyer for some kind of candy. It shows a picture of a gleaming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" " On the back of the flyer you can see some hastily scribbled words:\n" -" \"Hello my child and welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" +" \"Hello, my child, welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" "1) Never ever get into contact with water, it would melt you! \n" -"2) Avoid humans wiht clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" -"3) Learn how to make caramel ointement, it's the only way to fix your body if you get hurt.\n" -" There's many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" +"2) Avoid humans with clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" +"3) Learn how to make caramel ointment, it's the only way to fix your body if you get hurt.\n" +" There are many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" " I love you,\n" " - F. \"." msgstr "" -"キャンディーか何かのチラシです。恐ろしげにあなたを見つめる、滑らかな飴で作られた人間が描かれています。「シュガーキン(砂糖の血族)は史上初の等身大ヒューマンキャンディーです!あなたは真のモンスターですか?これを食べ尽くすことが出来ますか?」\n" +"キャンディーか何かのチラシです。恐ろしげにこちらを見つめる、滑らかな飴で作られた人間が描かれています。「シュガーキン(砂糖の血族)は史上初の等身大ヒューマンキャンディーです!君は真のモンスターかい?これを食べ尽くすことが出来るか?」\n" "チラシの裏にいくつかの走り書きがあります。\n" -"「我が子よ、この世界へようこそ。いくつかのルールを守ればこの世界で繁栄できるだろう。\n" +"「やあ、我が子よ、この世界へようこそ。いくつかのルールを守ればこの世界で繁栄できるだろう。\n" "1) 水に触れてはならない!溶けてしまう!\n" "2)澄んだ眼の人間は避けよ!非常に危険だ!(黒い眼の人間は無害なので無視してよい)\n" -"3) キャラメル軟膏の作り方を学べ。傷を治療する唯一の術だ。\n" -"伝えたいことは山ほどあるが、手遅れになる前にここを去らねばならない。\n" -"我が良き友よ。愛しているよ。-F.」" +"3) キャラメル軟膏の作り方を学べ。傷を治療する唯一の方法だ。\n" +"伝えたいことは山ほどあるが、手遅れになる前にここを去らねばならない。一人ぼっちにならないように友達も作ってきた、仲良くしてくれ。\n" +"愛しているよ。\n" +"Fより」" #: lang/json/BOOK_from_json.py msgid "The Weapons of Asgard" @@ -20760,7 +21703,7 @@ msgstr "一般的な家庭用洗浄剤です。次亜塩素酸ソーダを用い #: lang/json/COMESTIBLE_from_json.py msgid "ammonia" msgid_plural "ammonia" -msgstr[0] "漂白剤(アンモニア)" +msgstr[0] "漂白剤(アンモニア)" #. ~ Description for ammonia #: lang/json/COMESTIBLE_from_json.py @@ -21021,7 +21964,7 @@ msgstr "アセチレン" #. ~ Description for acetylene #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flammable gas that explodes under pressure. Combined with oxygen, " +"A flammable gas that explodes under pressure. Combined with oxygen, " "acetylene makes a great welding gas." msgstr "加圧すると爆発する可燃性ガスです。酸素を混合することで優れた溶接ガスとして利用できます。" @@ -21108,7 +22051,7 @@ msgstr "香草の風味と香りが心地よい、口当たりの優しいワイ #: lang/json/COMESTIBLE_from_json.py msgid "barley wine" msgid_plural "barley wine" -msgstr[0] "ビール(バーレーワイン)" +msgstr[0] "ビール(バーレーワイン)" #. ~ Description for barley wine #: lang/json/COMESTIBLE_from_json.py @@ -21368,7 +22311,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "European pilsner" msgid_plural "European pilsner" -msgstr[0] "ビール(ヨーロピアンピルスナー)" +msgstr[0] "ビール(ヨーロピアンピルスナー)" #. ~ Description for European pilsner #: lang/json/COMESTIBLE_from_json.py @@ -21380,7 +22323,7 @@ msgstr "ヨーロッパから輸入されたラガービールです。冷やし #: lang/json/COMESTIBLE_from_json.py msgid "American pale ale" msgid_plural "American pale ale" -msgstr[0] "ビール(アメリカンペールエール)" +msgstr[0] "ビール(アメリカンペールエール)" #. ~ Description for American pale ale #: lang/json/COMESTIBLE_from_json.py @@ -21392,7 +22335,7 @@ msgstr "味わい深い地ビールです。冷やしてからグラスに注い #: lang/json/COMESTIBLE_from_json.py msgid "India pale ale" msgid_plural "India pale ale" -msgstr[0] "ビール(インディアペールエール)" +msgstr[0] "ビール(インディアペールエール)" #. ~ Description for India pale ale #: lang/json/COMESTIBLE_from_json.py @@ -21404,7 +22347,7 @@ msgstr "非常に風味が豊かな地ビールです。冷やしてからグラ #: lang/json/COMESTIBLE_from_json.py msgid "stout" msgid_plural "stout" -msgstr[0] "ビール(スタウト)" +msgstr[0] "ビール(スタウト)" #. ~ Description for stout #: lang/json/COMESTIBLE_from_json.py @@ -21414,7 +22357,7 @@ msgstr "味わい深い地ビールです。まるでこれからの未来を暗 #: lang/json/COMESTIBLE_from_json.py msgid "Belgian ale" msgid_plural "Belgian ale" -msgstr[0] "ビール(ベルジャンエール)" +msgstr[0] "ビール(ベルジャンエール)" #. ~ Description for Belgian ale #: lang/json/COMESTIBLE_from_json.py @@ -21426,7 +22369,7 @@ msgstr "ベルギーの修道士によって醸造された、風味豊かで濃 #: lang/json/COMESTIBLE_from_json.py msgid "imperial stout" msgid_plural "imperial stout" -msgstr[0] "ビール(インペリアル・スタウト)" +msgstr[0] "ビール(インペリアルスタウト)" #. ~ Description for imperial stout #: lang/json/COMESTIBLE_from_json.py @@ -21504,7 +22447,7 @@ msgstr "禁酒法時代に考案されたカクテルです。ジンと蜂蜜と #: lang/json/COMESTIBLE_from_json.py msgid "whiskey sour" -msgstr "ウィスキーサワー" +msgstr "ウイスキーサワー" #. ~ Description for whiskey sour #: lang/json/COMESTIBLE_from_json.py @@ -21895,6 +22838,40 @@ msgstr "大きな人間の胃" msgid "The stomach of a large humanoid creature. It is surprisingly durable." msgstr "大きな人型生物の胃袋です。耐久性に優れています。" +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of human fat" +msgid_plural "chunks of human fat" +msgstr[0] "人間の脂肪塊" + +#. ~ Description for chunk of human fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly harvested from a human body." +msgstr "人間から採取した脂肪です。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human tallow" +msgstr "精製人脂" + +#. ~ Description for human tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered human fat. It will remain " +"edible for a very long time, and can be used as an ingredient in many foods " +"and projects." +msgstr "人間の脂肪を水と混合し高温で加熱して抽出した、白く滑らかな塊です。非常に長持ちし、多くの食品や道具の材料として利用できます。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human lard" +msgstr "人脂" + +#. ~ Description for human lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered human fat. It will remain edible for a" +" very long time, and can be used as an ingredient in many foods and " +"projects." +msgstr "人間の脂肪を高温で加熱して抽出した、白く滑らかな塊です。非常に長持ちし、多くの食品や道具の材料として利用できます。" + #: lang/json/COMESTIBLE_from_json.py msgid "human flesh" msgid_plural "human fleshes" @@ -21937,6 +22914,62 @@ msgid "" "pinch." msgstr "食用可能な屑肉です。あまり美味しくありませんが、切羽詰まった時は食べるしかありません。" +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant meat" +msgid_plural "chunks of mutant meat" +msgstr[0] "変異肉塊" + +#. ~ Description for chunk of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Meat from a heavily mutated animal. It has an unsettling loose and spongy " +"texture, but smells… mostly normal. There are strange tangles and " +"formations in it that don't appear natural at all: bits of bone and hair " +"crusted up inside the muscle, as if trying to form another organism. Still," +" seems digestible at least, if you cook it and remove the worst parts." +msgstr "" +"ひどく変異した動物の肉です。締まりのないスポンジのような質感が不安ですが...とりあえず臭いは、おおむね普通です。見たこともない奇妙な瘤や器官も混ざっており、肉の内部に固まった骨や毛を見ると、まるで別の生物を生み出そうとしていたかのように思えます。まったく食用に向かない部分を取り除いて調理すれば、少なくとも消化は可能です。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "scrap of mutant meat" +msgid_plural "scraps of mutant meat" +msgstr[0] "変異屑肉" + +#. ~ Description for scrap of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A tiny scrap of meat from a heavily mutated animal. It smells a bit odd, " +"and has bits of hair and bone mixed in that seem like they grew inside the " +"muscle itself. Still, seems digestible at least, if you cook it and remove " +"the worst parts." +msgstr "" +"ひどく変異した動物の屑肉です。少し奇妙な臭いがし、肉の内部には成長途中の毛や骨の小片が混ざっています。まったく食用に向かない部分を取り除いて調理すれば、少なくとも消化は可能です。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid meat" +msgstr "変異人肉" + +#. ~ Description for mutant humanoid meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered from the body of a heavily mutated creature that was " +"unsettlingly humanoid in appearance. It has odd bits of fur and other " +"tissue lodged in it that clearly don't belong. You'd have to be crazy or " +"starving to eat this." +msgstr "" +"ひどく変異した人型の化け物を解体して得られた肉塊です。奇妙な毛皮の破片や、明らかに人のものではない部位が混じっています。よっぽど狂人か餓死寸前でなければ、これを食べようとは思えません。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked cretin" +msgstr "変異人肉(調理済)" + +#. ~ Description for cooked cretin +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Cooked meat from a heavily mutated humanoid. Now that the worst bits have " +"been picked out, it's probably digestible, if not very appetizing." +msgstr "酷く変異した人型の化け物の肉を調理したものです。最悪の選択をせざるを得ない状況なのですから、食欲はそそりませんが消化は可能でしょう。" + #: lang/json/COMESTIBLE_from_json.py msgid "butchery refuse" msgid_plural "butchery refuse" @@ -21968,6 +23001,24 @@ msgid "cooked scrap of meat" msgid_plural "cooked scraps of meat" msgstr[0] "屑肉(調理済)" +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked mutant meat" +msgstr "変異肉(調理済)" + +#. ~ Description for cooked mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"This is a cooked chunk of meat from a mutated animal. It has an unsettling," +" spongy texture, but otherwise tastes… mostly normal. Hopefully you got all" +" the bits of hair and bone out…" +msgstr "" +"変異した動物の肉を調理したものです。スポンジのような質感が不安ですが、味に関しては...おおむね普通です。毛や骨などの食用に向かない部分は、ちゃんと取り出せているはずです..." + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked scrap of mutant meat" +msgid_plural "cooked scraps of mutant meat" +msgstr[0] "変異屑肉(調理済)" + #: lang/json/COMESTIBLE_from_json.py msgid "raw offal" msgstr "臓物" @@ -22163,7 +23214,7 @@ msgstr[0] "脳" #. ~ Description for raw brains #: lang/json/COMESTIBLE_from_json.py -msgid "The brain from an animal. You wouldn't want to eat this raw..." +msgid "The brain from an animal. You wouldn't want to eat this raw…" msgstr "動物の脳です。生では食べたくありませんね..." #: lang/json/COMESTIBLE_from_json.py @@ -22215,7 +23266,7 @@ msgstr "シビレ(調理済)" #. ~ Description for cooked sweetbread #: lang/json/COMESTIBLE_from_json.py -msgid "Normally a delicacy, it needs a little... something." +msgid "Normally a delicacy, it needs a little… something." msgstr "中々の珍味ですが、少し...物足りない味です。" #: lang/json/COMESTIBLE_from_json.py @@ -22232,7 +23283,7 @@ msgstr "動物か何かの骨です。針などを製作する材料として使 #: lang/json/COMESTIBLE_from_json.py msgid "chunk of fat" msgid_plural "chunks of fat" -msgstr[0] "脂肪の塊" +msgstr[0] "脂肪塊" #. ~ Description for chunk of fat #: lang/json/COMESTIBLE_from_json.py @@ -22243,7 +23294,7 @@ msgstr "解体で手に入れた脂肪です。そのまま食べることも可 #: lang/json/COMESTIBLE_from_json.py msgid "tallow" -msgstr "獣脂" +msgstr "精製獣脂" #. ~ Description for tallow #: lang/json/COMESTIBLE_from_json.py @@ -22251,11 +23302,11 @@ msgid "" "A smooth white block of cleaned and rendered animal fat. It will remain " "edible for a very long time, and can be used as an ingredient in many foods " "and projects." -msgstr "洗浄し精製した白く滑らかな動物性脂肪の塊です。非常に長持ちし、多くの食品や道具の材料として利用できます。" +msgstr "動物性脂肪を水と混合し高温で加熱して抽出した、白く滑らかな塊です。非常に長持ちし、多くの食品や道具の材料として利用できます。" #: lang/json/COMESTIBLE_from_json.py msgid "lard" -msgstr "ラード" +msgstr "獣脂" #. ~ Description for lard #: lang/json/COMESTIBLE_from_json.py @@ -22263,7 +23314,77 @@ msgid "" "A smooth white block of dry-rendered animal fat. It will remain edible for " "a very long time, and can be used as an ingredient in many foods and " "projects." -msgstr "洗浄し精製した白く滑らかな動物性脂肪の塊です。非常に長持ちし、多くの食品や道具の材料として利用できます。" +msgstr "動物性脂肪を高温で加熱して抽出した、白く滑らかな塊です。非常に長持ちし、多くの食品や道具の材料として利用できます。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant fat" +msgid_plural "chunks of mutant fat" +msgstr[0] "変異脂肪塊" + +#. ~ Description for chunk of mutant fat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered fat from a heavily mutated animal. You could eat it raw, " +"but it is better used as an ingredient in other foods or projects." +msgstr "変異した生物を解体して手に入れた脂肪です。そのまま食べることも可能ですが、他の食品類の材料として使うべきでしょう。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant tallow" +msgstr "精製変異獣脂" + +#. ~ Description for mutant tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"animal. It will remain edible for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "変異した動物性脂肪を水と混合し高温で加熱して抽出した、白く滑らかな塊です。非常に長持ちし、多くの食品や道具の材料として利用できます。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant lard" +msgstr "変異獣脂" + +#. ~ Description for mutant lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant animal. It " +"will remain edible for a very long time, and can be used as an ingredient in" +" many foods and projects." +msgstr "変異した動物性脂肪を高温で加熱して抽出した、白く滑らかな塊です。非常に長持ちし、多くの食品や道具の材料として利用できます。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant humanoid fat" +msgid_plural "chunks of mutant humanoid fat" +msgstr[0] "変異した人間の脂肪塊" + +#. ~ Description for chunk of mutant humanoid fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly butchered fat from a heavily mutated humanoid." +msgstr "ひどく変異した人間から切り落とされた脂肪です。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid tallow" +msgstr "精製変異人脂" + +#. ~ Description for mutant humanoid tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"humanoid. It won't rot for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "変異した人間の脂肪を水と混合し高温で加熱して抽出した、白く滑らかな塊です。非常に長持ちし、多くの食品や道具の材料として利用できます。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid lard" +msgstr "変異人脂" + +#. ~ Description for mutant humanoid lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant humanoid. It" +" won't rot for a very long time, and can be used as an ingredient in many " +"foods and projects." +msgstr "変異した人間の脂肪を高温で加熱して抽出した、白く滑らかな塊です。非常に長持ちし、多くの食品や道具の材料として利用できます。" #: lang/json/COMESTIBLE_from_json.py msgid "chunk of tainted meat" @@ -22274,7 +23395,7 @@ msgstr[0] "汚染肉塊" #: lang/json/COMESTIBLE_from_json.py msgid "" "Meat that's obviously unhealthy. You could eat it, but it will poison you." -msgstr "明らかに身体に害の有りそうな肉です。食べる事は出来ますが、被毒しそうです。" +msgstr "明らかに身体に害がありそうな肉です。食べることも不可能ではありませんが、有毒です。" #: lang/json/COMESTIBLE_from_json.py msgid "tainted bone" @@ -22286,7 +23407,7 @@ msgid "" "A rotten and brittle bone from some unnatural creature or other. Could be " "used to make some stuff, like charcoal or glue. You could eat it, but it " "will poison you." -msgstr "常ならざる生物から取り出した、腐った脆い骨です。炭などの材料になります。食べることも不可能ではありませんが、有毒です。" +msgstr "異形の化け物から取り出した、腐った脆い骨です。炭などの材料になります。食べることも不可能ではありませんが、有毒です。" #: lang/json/COMESTIBLE_from_json.py msgid "tainted fat" @@ -22297,11 +23418,11 @@ msgstr "汚染脂肪" msgid "" "A watery yellow glob of fat from some unnatural creature or other. You " "could eat it, but it will poison you." -msgstr "べっとりと濡れた黄色い泥のような脂肪の塊です。異形の生物から取り出しました。食べる事は出来ますが、被毒しそうです。" +msgstr "異形の化け物から取り出した、黄色く水っぽい脂肪の塊です。ました。食べることも不可能ではありませんが、有毒です。" #: lang/json/COMESTIBLE_from_json.py msgid "tainted tallow" -msgstr "汚染獣脂" +msgstr "精製汚染獣脂" #. ~ Description for tainted tallow #: lang/json/COMESTIBLE_from_json.py @@ -22310,7 +23431,7 @@ msgid "" "'fresh' for a very long time, and can be used as an ingredient in many " "projects. You could eat it, but it will poison you." msgstr "" -"洗浄し精製した灰色の怪物脂肪の塊です。非常に長く'鮮度'を保ち、いくつかの製作レシピの材料として利用できます。食用にもなりますが、毒性がありそうです。" +"怪物の脂肪を水と混合し高温で加熱して抽出した、灰色がかった滑らかな塊です。非常に長く「鮮度」を保ち、いくつかの製作レシピの材料として利用できます。食べることも不可能ではありませんが、有毒です。" #: lang/json/COMESTIBLE_from_json.py msgid "large boiled stomach" @@ -22437,9 +23558,9 @@ msgid "" "covered in ribbed grooves and easily the size of your head. It's still full" " of, er, whatever passes for blood in jabberwocks, and is heavy in your " "hands. After everything you've seen lately, you can't help but remember old" -" sayings about eating the hearts of your enemies..." +" sayings about eating the hearts of your enemies…" msgstr "" -"外見は哺乳動物の心臓に似た大きく重い肉の塊ですが、その大きさは人間の頭部を超え、表面には凹凸とした溝が浮き出ています。今なおジャバウォックの血液...のような何らかの液体が中に入っており、重量感があります。敵の心臓を食べるという古い言い回しがありますが、ここ最近目にした一連の出来事を考えると、試してみようとは到底思えません。" +"外見は哺乳動物の心臓に似た大きく重い肉の塊ですが、そのサイズは人間の頭部より大きく、表面には凹凸とした溝が浮き出ています。今なおジャバウォックの血液...のような何らかの液体が中に入っており、重量感があります。敵の心臓を食べるという古い言い回しがありますが、ここ最近目にした一連の出来事を考えると、試してみようとは到底思えません..." #: lang/json/COMESTIBLE_from_json.py msgid "desiccated putrid heart" @@ -22454,7 +23575,7 @@ msgid "" msgstr "" "堕落した心臓の形は残っていますが、巨大な筋肉の塊が切り開かれ、中に入っていた血液がなくなっています。空腹なら食べてみるのも良いでしょうが、見るからに*不快*です。" -#: lang/json/COMESTIBLE_from_json.py +#: lang/json/COMESTIBLE_from_json.py lang/json/ammunition_type_from_json.py msgid "raw milk" msgid_plural "raw milk" msgstr[0] "生乳" @@ -22748,7 +23869,7 @@ msgstr[0] "チコリコーヒー" #. ~ Description for chicory brew #: lang/json/COMESTIBLE_from_json.py msgid "" -"Toasted, ground chicory root steeped in boiling water. This bitter brew is " +"Toasted, ground chicory root steeped in boiling water. This bitter brew is " "used as a coffee substitute, though it tastes nothing like coffee." msgstr "焙煎したチコリの根をお湯で煎じた飲み物です。コーヒーの代用品として飲まれますが、コーヒーとはまったく異なる味です。" @@ -23590,10 +24711,11 @@ msgstr "水に浸かったリング状のパイナップルです。かなり美 #: lang/json/COMESTIBLE_from_json.py msgid "lemonade drink mix" -msgid_plural "servings of lemonade drink mix" +msgid_plural "lemonade drink mix" msgstr[0] "レモネードパウダー" -#. ~ Description for lemonade drink mix +#. ~ Description for {'str': 'lemonade drink mix', 'str_pl': 'lemonade drink +#. mix'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Tangy yellow powder that smells strongly of lemons. Can be mixed with water" @@ -24287,7 +25409,7 @@ msgstr[0] "飴(ピーナッツバター)" #. ~ Description for peanut butter candy #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of peanut butter cups... your favorite!" +msgid "A handful of peanut butter cups… your favorite!" msgstr "ビーナッツバター味のキャンディ...これは大好物です!" #: lang/json/COMESTIBLE_from_json.py @@ -24396,7 +25518,7 @@ msgstr "全体がクリーム状のペーストで覆われた美味しいチョ #: lang/json/COMESTIBLE_from_json.py msgid "" "A cake coated in the thickest icing you've ever seen. Someone has written " -"guff in quotation marks on it..." +"guff in quotation marks on it…" msgstr "今まで見てきた中で最も分厚いアイシングで覆われたケーキです。引用符で囲った下らない言葉が書き添えられています。" #: lang/json/COMESTIBLE_from_json.py @@ -24437,7 +25559,7 @@ msgstr[0] "ペパーミントチョコ" #. ~ Description for peppermint patty #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of soft chocolate-covered peppermint patties... yum!" +msgid "A handful of soft chocolate-covered peppermint patties… yum!" msgstr "ペパーミントのパテを柔らかいチョコレートでコーティングしたお菓子です...うまい!" #: lang/json/COMESTIBLE_from_json.py @@ -25756,11 +26878,11 @@ msgstr[0] "抗生物質" #. ~ Description for antibiotics #: lang/json/COMESTIBLE_from_json.py msgid "" -"A prescription-strength antibacterial medication designed to prevent or stop" -" the spread of infection. It's the quickest and most reliable way to cure " -"any infections you might have. One dose lasts twelve hours." +"A strong antibacterial medication designed to prevent or stop the spread of " +"infection. It's the safest way to cure any infections you might have. One " +"dose lasts twelve hours." msgstr "" -"感染症の悪化を抑制あるいは阻害する効果をもつ、病院で処方される抗生物質です。感染症治療法としては最も最も迅速で信頼性の高い方法です。1回の服用で効果が12時間続きます。" +"感染症の悪化を抑制あるいは阻害する効果をもつ、強力な抗生物質です。感染症治療法の中では最も安全な手段です。1回の服用で効果が12時間継続します。" #: lang/json/COMESTIBLE_from_json.py msgid "antifungal drug" @@ -26583,8 +27705,8 @@ msgstr[0] "消毒布" #. ~ Description for antiseptic soaked rag #: lang/json/COMESTIBLE_from_json.py msgid "" -"A rag soaked in antiseptic. Useful for light wounds, probaby won't help with" -" deep bites." +"A rag soaked in antiseptic. Useful for light wounds, probaby won't help " +"with deep bites." msgstr "消毒液を浸した布切れです。軽傷を治療する効果がありますが、深い咬傷には意味がありません。" #: lang/json/COMESTIBLE_from_json.py @@ -26641,7 +27763,7 @@ msgid "" "oily liquid that shifts from black to purple at unpredictable intervals, " "flecked with tiny gray dots. Given the place you got it from, it's either " "very potent, or highly experimental. Holding it, all the little aches and " -"pains seem to fade, just for a moment..." +"pains seem to fade, just for a moment…" msgstr "" "親指の爪ぐらいの大きさの、リンゴのような赤色をしたゲルカプセルです。カプセルの中は黒から紫へと気まぐれに色を変える濃い油のような液体で満たされており、小さな灰色の粒が浮かんでいます。入手経路を考えれば、この薬品が非常に強力かつ実験的要素の強いものだと分かります。効果が出れば、多少の痛みや苦しみであればあっという間に消えてしまう事でしょう..." @@ -26657,6 +27779,20 @@ msgid "" " painkiller." msgstr "ガマの茎から採れる透明な粘液です。消毒と鎮痛の効果があります。" +#: lang/json/COMESTIBLE_from_json.py +msgid "destragon" +msgstr "デストラゴン" + +#. ~ Description for destragon +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A prescription-strength antibacterial medication designed to prevent or stop" +" the spread of infection. It contains nearly toxic levels of antibiotics, " +"but can treat any bacterial infections you may encounter. One dose lasts " +"twelve hours." +msgstr "" +"感染症の悪化を抑制あるいは阻害する効果をもつ、強力な抗生物質です。毒と言ってもいい濃度の抗生物質が含まれていますが、ほぼあらゆる感染症を治療できます。1回の服用で効果が12時間継続します。" + #: lang/json/COMESTIBLE_from_json.py msgid "MRE entree" msgstr "MRE主食" @@ -27031,9 +28167,9 @@ msgstr "注射用変異原物質" #. ~ Description for abstract iv mutagen flavor #: lang/json/COMESTIBLE_from_json.py msgid "" -"A super-concentrated mutagen. You need a syringe to inject it... if you " +"A super-concentrated mutagen. You need a syringe to inject it… if you " "really want to?" -msgstr "濃縮された変異原物質です。使用するつもりなら注射器が必要ですが...。" +msgstr "濃縮された変異原物質です。使用するには注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py msgid "mutagenic serum" @@ -27047,8 +28183,8 @@ msgstr "血清(アルファ)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen strongly resembling blood. You need a syringe " -"to inject it... if you really want to?" -msgstr "濃縮された変異原物質です。血のようにも見える液体です。使用するつもりなら注射器が必要ですが...。" +"to inject it… if you really want to?" +msgstr "血のようにも見える、濃縮された変異原物質です。使用するには注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py msgid "beast serum" @@ -27058,7 +28194,7 @@ msgstr "血清(凶獣)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as red as a matador's cape. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "闘牛士の布のように赤い、濃縮された変異原物質です。使用するなら注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py @@ -27069,8 +28205,8 @@ msgstr "血清(鳥)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the pre-cataclysmic skies. You " -"need a syringe to inject it... if you really want to?" -msgstr "濃縮された変異原物質です。大変動以前の空を思わせる色の液体です。使用するつもりなら注射器が必要ですが...。" +"need a syringe to inject it… if you really want to?" +msgstr "大変動以前の空を思わせる色の、濃縮された変異原物質です。使用するには注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py msgid "cattle serum" @@ -27080,8 +28216,8 @@ msgstr "血清(ウシ)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of grass. You need a syringe to " -"inject it... if you really want to?" -msgstr "濃縮された変異原物質です。芝生に似た色の液体です。使用するつもりなら注射器が必要ですが...。" +"inject it… if you really want to?" +msgstr "芝生に似た色の、濃縮された変異原物質です。使用するには注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py msgid "cephalopod serum" @@ -27091,7 +28227,7 @@ msgstr "血清(頭足類)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as black as ink. You need a syringe to inject " -"it... if you really want to?" +"it… if you really want to?" msgstr "インクのように黒い、濃縮された変異原物質です。使用するなら注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py @@ -27102,7 +28238,7 @@ msgstr "血清(キメラ)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that churns with iridescence. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "虹をかき混ぜたような色の、濃縮された変異原物質です。使用するなら注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py @@ -27113,7 +28249,7 @@ msgstr "血清(エルファ)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a striking sylvan green. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "鮮やかな森林のような緑色の、濃縮された変異原物質です。使用するなら注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py @@ -27124,7 +28260,7 @@ msgstr "血清(ネコ)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen, yellow and highly reflective. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "キラキラと輝く黄色の、濃縮された変異原物質です。使用するなら注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py @@ -27135,8 +28271,8 @@ msgstr "血清(魚)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the ocean, with white foam at the " -"top. You need a syringe to inject it... if you really want to?" -msgstr "濃縮された変異原物質です。海のような青色をしており、表面には白い泡が浮いています。使用するつもりなら注射器が必要ですが...。" +"top. You need a syringe to inject it… if you really want to?" +msgstr "海のような青色の液体に白い泡が浮かぶ、濃縮された変異原物質です。使用するには注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py msgid "insect serum" @@ -27146,7 +28282,7 @@ msgstr "血清(昆虫)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a beautiful amber color. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "美しい琥珀色の、濃縮された変異原物質です。使用するなら注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py @@ -27157,7 +28293,7 @@ msgstr "血清(トカゲ)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that shifts between various shades of green. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "緑がかった様々な色合いに変化し続ける、濃縮された変異原物質です。使用するなら注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py @@ -27168,7 +28304,7 @@ msgstr "血清(オオカミ)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as white as a full moon. You need a syringe to" -" inject it... if you really want to?" +" inject it… if you really want to?" msgstr "満月のように白い、濃縮された変異原物質です。使用するなら注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py @@ -27179,7 +28315,7 @@ msgstr "血清(医療)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like a mixture of bodily fluids. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "体液を混合したような見た目の、濃縮された変異原物質です。使用するなら注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py @@ -27190,7 +28326,7 @@ msgstr "血清(植物)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like pureed spinach. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "ホウレンソウのピューレのような見た目の、濃縮された変異原物質です。使用するなら注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py @@ -27201,7 +28337,7 @@ msgstr "血清(ラプトル)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to shift slightly whenever you look " -"at it. You need a syringe to inject it... if you really want to?" +"at it. You need a syringe to inject it… if you really want to?" msgstr "刻々と異なる状態に変化しているように見える、濃縮された変異原物質です。使用するなら注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py @@ -27212,7 +28348,7 @@ msgstr "血清(ラット)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a rather unappealing beige. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "地味なベージュ色の、濃縮された変異原物質です。使用するなら注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py @@ -27223,7 +28359,7 @@ msgstr "血清(スライム)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks very much like the black ooze in the" -" zombies' eyes. You need a syringe to inject it... if you really want to?" +" zombies' eyes. You need a syringe to inject it… if you really want to?" msgstr "ゾンビの目元から垂れている黒い液体によく似た、濃縮された変異原物質です。使用するなら注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py @@ -27234,7 +28370,7 @@ msgstr "血清(クモ)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen with pale filaments suspended in it. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "薄い色の細糸が混じっているようにも見える、濃縮された変異原物質です。使用するなら注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py @@ -27245,7 +28381,7 @@ msgstr "血清(地中生物)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to recoil from the light. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "光に怯えているようにも見える、濃縮された変異原物質です。使用するなら注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py @@ -27256,7 +28392,7 @@ msgstr "血清(クマ)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's the color of honey, and is just as " -"thick. You need a syringe to inject it... if you really want to?" +"thick. You need a syringe to inject it… if you really want to?" msgstr "蜂蜜のような色と粘度の、濃縮された変異原物質です。使用するなら注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py @@ -27267,7 +28403,7 @@ msgstr "血清(ハツカネズミ)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen resembling liquefied metal. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "液体金属のような見た目の、濃縮された変異原物質です。使用するなら注射器が必要ですが...本気ですか?" #: lang/json/COMESTIBLE_from_json.py @@ -27282,8 +28418,8 @@ msgstr "凝固した血液" #: lang/json/COMESTIBLE_from_json.py msgid "" "A thick, soupy red liquid. It looks and smells disgusting, and seems to " -"bubble with an intelligence of its own..." -msgstr "どろっとした濃厚な赤い液体です。おぞましい姿で悪臭を放っており、まるでこの液体に意思があるような気さえします。" +"bubble with an intelligence of its own…" +msgstr "どろっとした濃厚な赤い液体です。おぞましい姿で悪臭を放っており、まるでこの液体に意思があるような気さえします..." #: lang/json/COMESTIBLE_from_json.py msgid "alpha mutagen" @@ -27468,21 +28604,21 @@ msgid "" msgstr "変異したくて堪らない人のための飲み物です。やはり酷い味ですがそのまま飲むよりはずっとマシでしょう。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of pine nuts" -msgid_plural "handfuls of pine nuts" +msgid "pine nuts" +msgid_plural "pine nuts" msgstr[0] "松の実" -#. ~ Description for handful of pine nuts +#. ~ Description for {'str': 'pine nuts', 'str_pl': 'pine nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of tasty crunchy nuts from a pinecone." msgstr "松かさから取り出した、カリカリとした美味しい木の実です。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of junipers" -msgid_plural "handful of junipers" +msgid "junipers" +msgid_plural "junipers" msgstr[0] "ジュニパーベリー" -#. ~ Description for handful of junipers +#. ~ Description for {'str': 'junipers', 'str_pl': 'junipers'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Junipers, for making gin and earthy flavors. Spicy, tastes similar to " @@ -27490,62 +28626,75 @@ msgid "" msgstr "ジンの素朴な香りの素となる実です。ローズマリーに似た刺激的な味です。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pistachios" -msgid_plural "handfuls of shelled pistachios" +msgid "shelled pistachios" +msgid_plural "shelled pistachios" msgstr[0] "ピスタチオ(殻無し)" -#. ~ Description for handful of shelled pistachios +#. ~ Description for {'str': 'shelled pistachios', 'str_pl': 'shelled +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of nuts from a pistachio tree, their shells have been removed." msgstr "ピスタチオの木から採取した実です。殻は割って外してあります。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pistachios" -msgid_plural "handfuls of roasted pistachios" +msgid "roasted pistachios" +msgid_plural "roasted pistachios" msgstr[0] "ピスタチオ(調理済)" -#. ~ Description for handful of roasted pistachios +#. ~ Description for {'str': 'roasted pistachios', 'str_pl': 'roasted +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an pistachio tree." msgstr "ピスタチオの木から採取した実を炙ったものです。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled almonds" -msgid_plural "handfuls of shelled almonds" +msgid "shelled almonds" +msgid_plural "shelled almonds" msgstr[0] "アーモンド(殻無し)" -#. ~ Description for handful of shelled almonds +#. ~ Description for {'str': 'shelled almonds', 'str_pl': 'shelled almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of nuts from an almond tree, their shells have been removed." msgstr "アーモンドの木から採取した実です。殻は割って外してあります。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted almonds" -msgid_plural "handfuls of roasted almonds" +msgid "almond pulp" +msgid_plural "almond pulp" +msgstr[0] "アーモンドパルプ" + +#. ~ Description for almond pulp +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Pulp left over after making almond milk. It's gritty and incredibly bland." +msgstr "アーモンドミルクを作った後の搾りかすです。舌触りはザラザラで、何の面白みもない味です。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "roasted almonds" +msgid_plural "roasted almonds" msgstr[0] "アーモンド(調理済)" -#. ~ Description for handful of roasted almonds +#. ~ Description for {'str': 'roasted almonds', 'str_pl': 'roasted almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an almond tree." msgstr "アーモンドの木から採取した実を炙ったものです。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cashews" -msgid_plural "handfuls of cashews" +msgid "cashews" +msgid_plural "cashews" msgstr[0] "カシューナッツ" -#. ~ Description for handful of cashews +#. ~ Description for {'str': 'cashews', 'str_pl': 'cashews'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of salty cashews." msgstr "塩をまぶしたカシューナッツです。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pecans" -msgid_plural "handfuls of shelled pecans" +msgid "shelled pecans" +msgid_plural "shelled pecans" msgstr[0] "ペカン(殻無し)" -#. ~ Description for handful of shelled pecans +#. ~ Description for {'str': 'shelled pecans', 'str_pl': 'shelled pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of pecans which are a sub-species of hickory nuts, their shells " @@ -27553,41 +28702,41 @@ msgid "" msgstr "ヒッコリーの一種であるペカンの木から採取した実です。殻は割って外してあります。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pecans" -msgid_plural "handfuls of roasted pecans" +msgid "roasted pecans" +msgid_plural "roasted pecans" msgstr[0] "ペカン(調理済)" -#. ~ Description for handful of roasted pecans +#. ~ Description for {'str': 'roasted pecans', 'str_pl': 'roasted pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a pecan tree." msgstr "ペカンの木から採取した実を炙ったものです。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled peanuts" -msgid_plural "handful of shelled peanuts" +msgid "shelled peanuts" +msgid_plural "shelled peanuts" msgstr[0] "ピーナッツ(殻無し)" -#. ~ Description for handful of shelled peanuts +#. ~ Description for {'str': 'shelled peanuts', 'str_pl': 'shelled peanuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Salty peanuts with their shells removed." msgstr "殻を剥いて塩で味付けしたピーナッツです。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of beech nuts" -msgid_plural "handfuls of beech nuts" +msgid "beech nuts" +msgid_plural "beech nuts" msgstr[0] "ビーチナッツ" -#. ~ Description for handful of beech nuts +#. ~ Description for {'str': 'beech nuts', 'str_pl': 'beech nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of hard pointy nuts from a beech tree." msgstr "ブナの木から採取した、硬く尖った実です。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled walnuts" -msgid_plural "handfuls of shelled walnuts" +msgid "shelled walnuts" +msgid_plural "shelled walnuts" msgstr[0] "クルミ(殻無し)" -#. ~ Description for handful of shelled walnuts +#. ~ Description for {'str': 'shelled walnuts', 'str_pl': 'shelled walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a walnut tree, their shells have been " @@ -27595,21 +28744,22 @@ msgid "" msgstr "クルミの木から採取した未調理の硬い実です。殻は割って外してあります。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted walnuts" -msgid_plural "handfuls of roasted walnuts" +msgid "roasted walnuts" +msgid_plural "roasted walnuts" msgstr[0] "クルミ(調理済)" -#. ~ Description for handful of roasted walnuts +#. ~ Description for {'str': 'roasted walnuts', 'str_pl': 'roasted walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a walnut tree." msgstr "クルミの木から採取した実を炙ったものです。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled chestnuts" -msgid_plural "handfuls of shelled chestnuts" +msgid "shelled chestnuts" +msgid_plural "shelled chestnuts" msgstr[0] "クリ(殻無し)" -#. ~ Description for handful of shelled chestnuts +#. ~ Description for {'str': 'shelled chestnuts', 'str_pl': 'shelled +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a chestnut tree, their shells have been " @@ -27617,21 +28767,23 @@ msgid "" msgstr "クリの木から採取した未調理の硬い実です。殻は割って外してあります。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted chestnuts" -msgid_plural "handfuls of roasted chestnuts" +msgid "roasted chestnuts" +msgid_plural "roasted chestnuts" msgstr[0] "クリ(調理済)" -#. ~ Description for handful of roasted chestnuts +#. ~ Description for {'str': 'roasted chestnuts', 'str_pl': 'roasted +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a chestnut tree." msgstr "クリの木から採取した実を炙ったものです。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hazelnuts" -msgid_plural "handfuls of shelled hazelnuts" -msgstr[0] "ヘーゼルナッツ" +msgid "shelled hazelnuts" +msgid_plural "shelled hazelnuts" +msgstr[0] "ヘーゼルナッツ(殻無し)" -#. ~ Description for handful of shelled hazelnuts +#. ~ Description for {'str': 'shelled hazelnuts', 'str_pl': 'shelled +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hazelnut tree, their shells have been " @@ -27639,41 +28791,43 @@ msgid "" msgstr "ハシバミの木から採取した未調理の硬いヘーゼルナッツです。殻は割って外してあります。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted edamame" -msgid_plural "handful of roasted edamame" +msgid "roasted edamame" +msgid_plural "roasted edamame" msgstr[0] "枝豆(調理済)" -#. ~ Description for handful of roasted edamame +#. ~ Description for {'str': 'roasted edamame', 'str_pl': 'roasted edamame'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted edamame, a heart healthy snack." msgstr "炒った枝豆は健康に良いおやつです。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted soy nuts" -msgid_plural "handful of roasted soy nuts" +msgid "roasted soy nuts" +msgid_plural "roasted soy nuts" msgstr[0] "大豆(調理済)" -#. ~ Description for handful of roasted soy nuts +#. ~ Description for {'str': 'roasted soy nuts', 'str_pl': 'roasted soy nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted soybeans, often called soy nuts." msgstr "ソイナッツとも呼ばれる炒った大豆です。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hazelnuts" -msgid_plural "handfuls of roasted hazelnuts" +msgid "roasted hazelnuts" +msgid_plural "roasted hazelnuts" msgstr[0] "ヘーゼルナッツ(調理済)" -#. ~ Description for handful of roasted hazelnuts +#. ~ Description for {'str': 'roasted hazelnuts', 'str_pl': 'roasted +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hazelnut tree." msgstr "ハシバミの木から採取したヘーゼルナッツを炙ったものです。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hickory nuts" -msgid_plural "handfuls of shelled hickory nuts" +msgid "shelled hickory nuts" +msgid_plural "shelled hickory nuts" msgstr[0] "ヒッコリーナッツ(殻無し)" -#. ~ Description for handful of shelled hickory nuts +#. ~ Description for {'str': 'shelled hickory nuts', 'str_pl': 'shelled +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hickory tree, their shells have been " @@ -27681,11 +28835,12 @@ msgid "" msgstr "ヒッコリーの木から採取した硬い実です。殻は割って外してあります。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hickory nuts" -msgid_plural "handfuls of roasted hickory nuts" +msgid "roasted hickory nuts" +msgid_plural "roasted hickory nuts" msgstr[0] "ヒッコリーナッツ(調理済)" -#. ~ Description for handful of roasted hickory nuts +#. ~ Description for {'str': 'roasted hickory nuts', 'str_pl': 'roasted +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hickory tree." msgstr "ヒッコリーの木から採取した実を炙ったものです。" @@ -27700,11 +28855,11 @@ msgid "Delicious hickory nut ambrosia. A drink worthy of the gods." msgstr "美味しいヒッコリーナッツアンブロシアです。神々の飲料です。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of acorns" -msgid_plural "handfuls of acorns" +msgid "acorns" +msgid_plural "acorns" msgstr[0] "ドングリ" -#. ~ Description for handful of acorns +#. ~ Description for {'str': 'acorns', 'str_pl': 'acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of acorns, still in their shells. Squirrels like them, but " @@ -27712,11 +28867,11 @@ msgid "" msgstr "一掴み分の殻に入ったドングリです。リスが好む食べ物ですが、このままでは人間の食用には向きません。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted acorns" -msgid_plural "handfuls of roasted acorns" +msgid "roasted acorns" +msgid_plural "roasted acorns" msgstr[0] "ドングリ(調理済)" -#. ~ Description for handful of roasted acorns +#. ~ Description for {'str': 'roasted acorns', 'str_pl': 'roasted acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful roasted nuts from an oak tree." msgstr "オークの木から採取したドングリを炙ったものです。" @@ -28243,10 +29398,11 @@ msgstr "人肉パウダーを水で溶いた飲み物です。非常に栄養価 #: lang/json/COMESTIBLE_from_json.py msgid "soylent green powder" -msgid_plural "servings of soylent green powder" +msgid_plural "soylent green powder" msgstr[0] "人肉パウダー" -#. ~ Description for soylent green powder +#. ~ Description for {'str': 'soylent green powder', 'str_pl': 'soylent green +#. powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein made out of people! While quite nutritious, it is " @@ -28288,10 +29444,10 @@ msgstr "プロテインパウダーを水で溶いた飲み物です。非常に #: lang/json/COMESTIBLE_from_json.py msgid "protein powder" -msgid_plural "servings of protein powder" +msgid_plural "protein powder" msgstr[0] "プロテインパウダー" -#. ~ Description for protein powder +#. ~ Description for {'str': 'protein powder', 'str_pl': 'protein powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein. While quite nutritious, it is impossible to enjoy in " @@ -28360,61 +29516,61 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "非常に酸っぱい果物です。食べたいと心から望むのなら食べられますよ。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blueberries" -msgid_plural "handful of blueberries" +msgid "blueberries" +msgid_plural "blueberries" msgstr[0] "ブルーベリー" -#. ~ Description for handful of blueberries +#. ~ Description for {'str': 'blueberries', 'str_pl': 'blueberries'} #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "青い色をしていますが、それは悲しさを表現している訳ではありませんよ。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of strawberries" -msgid_plural "handful of strawberries" +msgid "strawberries" +msgid_plural "strawberries" msgstr[0] "イチゴ" -#. ~ Description for handful of strawberries +#. ~ Description for {'str': 'strawberries', 'str_pl': 'strawberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "美味しく瑞々しいイチゴです。野原に自生していることがあります。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cranberries" -msgid_plural "handful of cranberries" +msgid "cranberries" +msgid_plural "cranberries" msgstr[0] "クランベリー" -#. ~ Description for handful of cranberries +#. ~ Description for {'str': 'cranberries', 'str_pl': 'cranberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "酸味のある赤いベリーです。健康的な果物です。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of raspberries" -msgid_plural "handful of raspberries" +msgid "raspberries" +msgid_plural "raspberries" msgstr[0] "ラズベリー" -#. ~ Description for handful of raspberries +#. ~ Description for {'str': 'raspberries', 'str_pl': 'raspberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "甘くて赤いベリーです。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of huckleberries" -msgid_plural "handful of huckleberries" +msgid "huckleberries" +msgid_plural "huckleberries" msgstr[0] "ハックルベリー" -#. ~ Description for handful of huckleberries +#. ~ Description for {'str': 'huckleberries', 'str_pl': 'huckleberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "しばしばブルーベリーと混同される果実です。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of mulberries" -msgid_plural "handful of mulberries" +msgid "mulberries" +msgid_plural "mulberries" msgstr[0] "マルベリー" -#. ~ Description for handful of mulberries +#. ~ Description for {'str': 'mulberries', 'str_pl': 'mulberries'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -28422,21 +29578,21 @@ msgid "" msgstr "赤いマルベリーです。世界中に多様な品種が存在しますが、これはアメリカ東部特有の品種のようです。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of elderberries" -msgid_plural "handful of elderberries" +msgid "elderberries" +msgid_plural "elderberries" msgstr[0] "エルダーベリー" -#. ~ Description for handful of elderberries +#. ~ Description for {'str': 'elderberries', 'str_pl': 'elderberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "エルダーベリーは生で食べると毒がありますが、調理すれば非常に美味しく食べることができます。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of rose hips" -msgid_plural "handful of rose hips" +msgid "rose hips" +msgid_plural "rose hips" msgstr[0] "ローズヒップ" -#. ~ Description for handful of rose hips +#. ~ Description for {'str': 'rose hips', 'str_pl': 'rose hips'} #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "受粉したバラに実る果実です。" @@ -28471,11 +29627,11 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "独特の爽やかな香りがあって、酸っぱくてほんのり甘い、柑橘系の果物です。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cherries" -msgid_plural "handful of cherries" +msgid "cherries" +msgid_plural "cherries" msgstr[0] "サクランボ" -#. ~ Description for handful of cherries +#. ~ Description for {'str': 'cherries', 'str_pl': 'cherries'} #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "木に生える赤くて甘い果物です。" @@ -28491,11 +29647,11 @@ msgid "" msgstr "紫色の大きなスモモです。健康に良く、消化を助けます。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of grapes" -msgid_plural "handful of grapes" +msgid "grapes" +msgid_plural "grapes" msgstr[0] "ブドウ" -#. ~ Description for handful of grapes +#. ~ Description for {'str': 'grapes', 'str_pl': 'grapes'} #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "瑞々しいブドウの房です。" @@ -28547,11 +29703,11 @@ msgid "A large and very sweet fruit." msgstr "大きくて非常に甘い果物です。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blackberries" -msgid_plural "handful of blackberries" +msgid "blackberries" +msgid_plural "blackberries" msgstr[0] "ブラックベリー" -#. ~ Description for handful of blackberries +#. ~ Description for {'str': 'blackberries', 'str_pl': 'blackberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "ラズベリーより色の濃いベリーです。従兄弟のようなものです。" @@ -28594,15 +29750,26 @@ msgid "" msgstr "薄い毛で覆われた茶色の大きな果実です。中身は緑色の美味しい果肉です。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of apricots" -msgid_plural "handful of apricots" +msgid "apricots" +msgid_plural "apricots" msgstr[0] "アンズ" -#. ~ Description for handful of apricots +#. ~ Description for {'str': 'apricots', 'str_pl': 'apricots'} #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "滑らかな肌触りのモモに似た果物です。" +#: lang/json/COMESTIBLE_from_json.py +msgid "cholla bud" +msgstr "サボテンの芽" + +#. ~ Description for cholla bud +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Edible bud of a cholla cactus, with spines removed; the candy of the Mojave " +"indigenous peoples. Tastes similar to asparagus." +msgstr "棘を取り除いたウチワサボテンの芽です。モハーヴェ族はこれをお菓子として食べます。" + #: lang/json/COMESTIBLE_from_json.py msgid "cactus pad" msgstr "茎節(サボテン)" @@ -28772,10 +29939,10 @@ msgstr "大きなダリアの塊根です。香ばしい匂いがしますが、 #: lang/json/COMESTIBLE_from_json.py msgid "salsify" -msgid_plural "handfuls of salsify" +msgid_plural "salsify" msgstr[0] "サルシファイ" -#. ~ Description for salsify +#. ~ Description for {'str': 'salsify', 'str_pl': 'salsify'} #: lang/json/COMESTIBLE_from_json.py msgid "" "An herb with a small purple flower. The roots are nutritious, but tough and" @@ -28785,10 +29952,10 @@ msgstr "小さな紫色の花をつける野草です。根には栄養が豊富 #: lang/json/COMESTIBLE_from_json.py lang/json/COMESTIBLE_from_json.py #: lang/json/furniture_from_json.py msgid "chicory" -msgid_plural "handfuls of chicory" +msgid_plural "chicory" msgstr[0] "チコリ" -#. ~ Description for chicory +#. ~ Description for {'str': 'chicory', 'str_pl': 'chicory'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A modest blue flower. The flower's roots are very bitter and not meant to " @@ -28900,11 +30067,11 @@ msgid "" msgstr "頭ほどの大きさがある大きな野菜です。生だと酷い味ですが、調理するととても美味しく食べられます。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of dandelions" -msgid_plural "handfuls of dandelions" +msgid "dandelions" +msgid_plural "dandelions" msgstr[0] "タンポポ" -#. ~ Description for handful of dandelions +#. ~ Description for {'str': 'dandelions', 'str_pl': 'dandelions'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A collection of freshly picked yellow dandelions. In their current raw " @@ -29029,11 +30196,11 @@ msgid "Raw, uncooked lentils. They could be cooked." msgstr "未調理のレンズ豆です。調理すれば食べられます。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of fiddleheads" -msgid_plural "handfuls of fiddleheads" +msgid "fiddleheads" +msgid_plural "fiddleheads" msgstr[0] "ゼンマイ" -#. ~ Description for handful of fiddleheads +#. ~ Description for {'str': 'fiddleheads', 'str_pl': 'fiddleheads'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of immature fern fronds, still curled up like the head of a " @@ -30779,8 +31946,8 @@ msgstr[0] "スパゲッティ(未調理)" #. ~ Description for raw spaghetti pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of pasta usually used when preparing spaghetti. It could be eaten raw" -" if you're desperate, but is much better cooked." +"A type of pasta usually used when preparing spaghetti. It could be eaten " +"raw if you're desperate, but is much better cooked." msgstr "スパゲッティを作る際に使われる一般的なパスタです。絶望的な状況下では生食も可能ですが、調理した方がずっと美味しいです。" #: lang/json/COMESTIBLE_from_json.py @@ -30791,7 +31958,7 @@ msgstr[0] "ラザーニャ(未調理)" #. ~ Description for raw lasagne pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pasta sheet used in making lasagne. It could be eaten raw if you're " +"A pasta sheet used in making lasagne. It could be eaten raw if you're " "desperate, but is much better cooked." msgstr "ラザーニャを作る際に使われる板状のパスタです。絶望的な状況下では生食も可能ですが、調理した方がずっと美味しいです。" @@ -31239,7 +32406,7 @@ msgstr "ポーション(基礎)" #: lang/json/COMESTIBLE_from_json.py msgid "" "Strong alcohol, infused with mana and concentrated into a liquid that can " -"stabilize spells into liquid form. You can still drink it, if you want." +"stabilize spells into liquid form. You can still drink it, if you want." msgstr "呪文を溶け込ませて保存することができる、強い酒にマナを注入した濃厚な液体です。この状態でも飲もうと思えば飲めます。" #: lang/json/COMESTIBLE_from_json.py @@ -31251,7 +32418,7 @@ msgstr[0] "大きな副腎" #: lang/json/COMESTIBLE_from_json.py msgid "" "An organ located above the kidneys responsible for secretion of adrenaline, " -"cortisol, and aldosterone. This one is huge, whether by nature or mutation." +"cortisol, and aldosterone. This one is huge, whether by nature or mutation." msgstr "" "腎臓の上部に位置する、アドレナリンやコルチゾール、アルドステロンなどを分泌する器官です。一般的な動物か変異体かにかかわらず大きく発達しています。" @@ -31349,8 +32516,8 @@ msgstr "ブードゥー人形(ゾンビ)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human, including pieces of bone " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" "骨や臓器を使って死んだ人間を非常に正確に再現した人形です。死霊術によって腐敗を遅らせていますが、永久に腐敗を止めることはできません。付属の針で刺すことで力を発揮します。" @@ -31362,8 +32529,9 @@ msgstr "ブードゥー人形(スケルトン)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human covered with bone, including" -" pieces of organs. Necromantic magic delays immediate rot, but it won't last" -" forever. Piercing it with the attached needle could compel it to serve you." +" pieces of organs. Necromantic magic delays immediate rot, but it won't " +"last forever. Piercing it with the attached needle could compel it to serve" +" you." msgstr "" "臓器を使って死んだ人間を正確に再現した、骨で覆われた人形です。死霊術によって腐敗を遅らせていますが、永久に腐敗を止めることはできません。付属の針で刺すことで力を発揮します。" @@ -31375,10 +32543,10 @@ msgstr "ブードゥー人形(ゾンビピューマ)" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead cougar, complete with fur, bones, " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" -"毛皮や骨、臓器を使って死んだクーガーを非常に正確に再現した人形です。死霊術によって腐敗を遅らせていますが、永久に腐敗を止めることはできません。付属の針で刺すことで力を発揮します。" +"毛皮や骨、臓器を使って死んだピューマを非常に正確に再現した人形です。死霊術によって腐敗を遅らせていますが、永久に腐敗を止めることはできません。付属の針で刺すことで力を発揮します。" #: lang/json/COMESTIBLE_from_json.py msgid "potion of Twisted Restoration" @@ -31388,8 +32556,8 @@ msgstr "ポーション(ツイステッド・レストレーション)" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal." msgstr "" "悪臭が漂う液体です。脈拍を危険なレベルまで加速させてアンデッドの自然治癒力を再現します。危険な状況や体調が万全でない時に飲むのは止めた方が良さそうです。" @@ -31401,9 +32569,9 @@ msgstr "ポーション(ツイステッド・レストレーション改)" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal. Improved infusion techniques lessen the strain of the " -"process." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal. Improved infusion techniques lessen the strain of " +"the process." msgstr "" "悪臭が漂う液体です。脈拍を危険なレベルまで加速させてアンデッドの自然治癒力を再現します。危険な状況や体調が万全でない時に飲むのは止めた方が良さそうです。煎じ方を改良し、摂取に伴う負担が軽減されました。" @@ -31439,7 +32607,7 @@ msgstr[0] "毛玉" #. ~ Description for hairball #: lang/json/COMESTIBLE_from_json.py msgid "" -"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." +"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." msgstr "気味の悪い大きな動物の毛玉です。飲み込もうとしないでください。" #: lang/json/COMESTIBLE_from_json.py @@ -31455,6 +32623,16 @@ msgid "" " properties." msgstr "ドラゴンを倒して得た肉です。他の肉のようには調理できず、明らかに何か魔法の力を秘めているようです。" +#: lang/json/COMESTIBLE_from_json.py +msgid "scream mushroom" +msgstr "サケビタケ" + +#. ~ Description for scream mushroom +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"The mushrooms harvested from a dead shrieker. Could be used in potions." +msgstr "死んだシュリーカーから採取したキノコです。ポーションの材料になります。" + #: lang/json/COMESTIBLE_from_json.py msgid "resinous cord" msgstr "太紐(樹脂)" @@ -31478,15 +32656,15 @@ msgid "" msgstr "ラムネ菓子の死体です。どこからどう見ても巨大なラムネ菓子そのものです。一口ぐらいかじってもいいかな?" #: lang/json/COMESTIBLE_from_json.py -msgid "caramel ointement" +msgid "caramel ointment" msgstr "キャラメル軟膏" -#. ~ Description for caramel ointement +#. ~ Description for caramel ointment #: lang/json/COMESTIBLE_from_json.py msgid "" -"An ointement made of caramel. You could use it to heal your wounds, if you " +"An ointment made of caramel. You could use it to heal your wounds, if you " "were made of sugar." -msgstr "キャラメルから作られた軟膏です。もしあなたの体が砂糖で出来ているなら傷の治療に使えるでしょう。" +msgstr "キャラメルから作られた軟膏です。体が砂糖で出来ている人なら傷の治療に使えるでしょう。" #: lang/json/COMESTIBLE_from_json.py msgid "berry-shaped anomaly" @@ -32084,15 +33262,6 @@ msgstr[0] "米粉" msgid "This rice flour is useful for baking." msgstr "パンなどを焼く材料になる米粉です。" -#: lang/json/COMESTIBLE_from_json.py -msgid "cholla bud" -msgstr "サボテンの蕾" - -#. ~ Description for cholla bud -#: lang/json/COMESTIBLE_from_json.py -msgid "The candy of the Mojave Indigenous peoples." -msgstr "先住民のモハーヴェ族はこれを飴のように舐めます。" - #: lang/json/COMESTIBLE_from_json.py msgid "revival serum" msgstr "血清(再生)" @@ -32362,8 +33531,8 @@ msgstr[0] "密封紙パック" #. ~ Description for paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"It has a threaded cap for easy resealing." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" It has a threaded cap for easy resealing." msgstr "紙とアルミニウムをビニールでラミネート加工した紙パックです。キャップが付いているため、簡単に再封できます。" #: lang/json/CONTAINER_from_json.py @@ -32374,8 +33543,8 @@ msgstr[0] "紙パック(2L)" #. ~ Description for opened paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"This one is open and its contents will spoil." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" This one is open and its contents will spoil." msgstr "紙とアルミニウムをビニールでラミネート加工した、容量2Lの紙パックです。既に一度開封されており、内容物の腐敗が進行します。" #: lang/json/CONTAINER_from_json.py @@ -32851,9 +34020,9 @@ msgstr[0] "サバイバルボックス(1L)" #. ~ Description for survival kit box #: lang/json/CONTAINER_from_json.py msgid "" -"An aluminum box that used to contain a small survival kit. Can hold 1 liter " -"of liquid." -msgstr "細々としたサバイバルキットが入っていた、1Lの容量があるアルミニウム製の箱です。" +"An aluminum box that used to contain a small survival kit. Can hold 1 liter" +" of liquid." +msgstr "様々なサバイバルキットが入っていた、1Lの容量があるアルミニウム製の箱です。" #: lang/json/CONTAINER_from_json.py msgid "blood draw kit" @@ -32933,7 +34102,7 @@ msgstr "有害物質を保管することを示す、黄色いドラム缶です #: lang/json/CONTAINER_from_json.py msgid "garden pot" msgid_plural "garden pots" -msgstr[0] "栽培用植木鉢" +msgstr[0] "植木鉢(栽培用)" #. ~ Description for garden pot #: lang/json/CONTAINER_from_json.py @@ -32942,6 +34111,21 @@ msgid "" " for maximum yield. It can be crafted with various seeds to plant them." msgstr "植物を栽培できる特殊な鉢です。快適な環境で植物を育てればたくさんの収穫を得られます。種と共に製作することで植え付けを行います。" +#: lang/json/CONTAINER_from_json.py +msgid "endless flask" +msgid_plural "endless flasks" +msgstr[0] "無限の酒瓶" + +#. ~ Use action msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "You open the flask and discover it full of sweet, sweet, whiskey!" +msgstr "酒瓶の中には芳醇なウイスキーが大量に入っています!" + +#. ~ Use action not_ready_msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "The flask isn't done refilling yet." +msgstr "酒はまだ充填されていません。" + #: lang/json/CONTAINER_from_json.py msgid "aluminum foil wrap" msgid_plural "aluminum foil wraps" @@ -33368,8 +34552,8 @@ msgstr[0] "ロードナイト" #. ~ Description for rhodonite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of rhodonite. It has manganese dioxide covering and going through it" -" in veins, which can be obtained using a chisel." +"A chunk of rhodonite. It has manganese dioxide covering and going through " +"it in veins, which can be obtained using a chisel." msgstr "ロードナイトの塊です。二酸化マンガンに覆われており、たがねを使えば削り取れます。" #: lang/json/GENERIC_from_json.py @@ -33380,7 +34564,7 @@ msgstr[0] "ジンカイト" #. ~ Description for zincite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " +"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " "reduction with a source of carbon." msgstr "ジンカイトの塊です。酸化亜鉛に生成してから炭素源で還元すれば、亜鉛に加工できます。" @@ -33395,81 +34579,81 @@ msgid "A root from a hickory tree. It has an earthy smell." msgstr "ヒッコリーの木の根です。土の匂いがします。" #: lang/json/GENERIC_from_json.py -msgid "handful of hickory nuts" -msgid_plural "handfuls of hickory nuts" +msgid "hickory nuts" +msgid_plural "hickory nuts" msgstr[0] "ヒッコリーナッツ" -#. ~ Description for handful of hickory nuts +#. ~ Description for {'str': 'hickory nuts', 'str_pl': 'hickory nuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hickory tree, still in their shell." msgstr "ヒッコリーの木から採取した硬い実です。殻が付いています。" #: lang/json/GENERIC_from_json.py -msgid "handful of pecans" -msgid_plural "handfuls of pecans" +msgid "pecans" +msgid_plural "pecans" msgstr[0] "ペカン" -#. ~ Description for handful of pecans +#. ~ Description for {'str': 'pecans', 'str_pl': 'pecans'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pecan tree, still in their shell." msgstr "ペカンの木から採取した硬い実です。殻が付いています。" #: lang/json/GENERIC_from_json.py -msgid "handful of pistachios" -msgid_plural "handfuls of pistachios" +msgid "pistachios" +msgid_plural "pistachios" msgstr[0] "ピスタチオ" -#. ~ Description for handful of pistachios +#. ~ Description for {'str': 'pistachios', 'str_pl': 'pistachios'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pistachio tree, still in their shell." msgstr "ピスタチオの木から採取した硬い実です。殻が付いています。" #: lang/json/GENERIC_from_json.py -msgid "handful of almonds" -msgid_plural "handfuls of almonds" +msgid "almonds" +msgid_plural "almonds" msgstr[0] "アーモンド" -#. ~ Description for handful of almonds +#. ~ Description for {'str': 'almonds', 'str_pl': 'almonds'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a almond tree, still in their shell." msgstr "アーモンドの木から採取した硬い実です。殻が付いています。" #: lang/json/GENERIC_from_json.py -msgid "handful of peanuts" -msgid_plural "handfuls of peanuts" +msgid "peanuts" +msgid_plural "peanuts" msgstr[0] "ピーナッツ" -#. ~ Description for handful of peanuts +#. ~ Description for {'str': 'peanuts', 'str_pl': 'peanuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a peanut bush, still in their shell." msgstr "ラッカセイの茂みから採取した硬い実です。殻が付いています。" #: lang/json/GENERIC_from_json.py -msgid "handful of hazelnuts" -msgid_plural "handfuls of hazelnuts" +msgid "hazelnuts" +msgid_plural "hazelnuts" msgstr[0] "ヘーゼルナッツ" -#. ~ Description for handful of hazelnuts +#. ~ Description for {'str': 'hazelnuts', 'str_pl': 'hazelnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hazelnut tree, still in their shell." msgstr "ハシバミの木から採取した硬い実です。殻が付いています。" #: lang/json/GENERIC_from_json.py -msgid "handful of chestnuts" -msgid_plural "handfuls of chestnuts" +msgid "chestnuts" +msgid_plural "chestnuts" msgstr[0] "クリ" -#. ~ Description for handful of chestnuts +#. ~ Description for {'str': 'chestnuts', 'str_pl': 'chestnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a chestnut tree, still in their shell." msgstr "クリの木から採取した硬い実です。殻が付いています。" #: lang/json/GENERIC_from_json.py -msgid "handful of walnuts" -msgid_plural "handfuls of walnuts" +msgid "walnuts" +msgid_plural "walnuts" msgstr[0] "クルミ" -#. ~ Description for handful of walnuts +#. ~ Description for {'str': 'walnuts', 'str_pl': 'walnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a walnut tree, still in their shell." msgstr "クルミの木から採取した硬い実です。殻が付いています。" @@ -33604,7 +34788,7 @@ msgstr "乾いた血に塗れた死体です。" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"A dead body with a frightful grimace. He appears to have been horribly " +"A dead body with a frightful grimace. He appears to have been horribly " "mangled prior to his death." msgstr "恐ろしい表情をした男性の死体です。死の間際に酷く痛めつけられたようです。" @@ -33628,7 +34812,7 @@ msgstr "人間の死体です。額に大きな弾痕が残っており、後頭 #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"The upper half of a dead body, as if torn apart with enormous force. Some " +"The upper half of a dead body, as if torn apart with enormous force. Some " "organs are hanging out." msgstr "強い力で引き裂かれたように見える人間の上半身です。断面から臓器がはみ出しています。" @@ -33723,6 +34907,11 @@ msgstr "筋肉" msgid "wind" msgstr "風" +#: lang/json/GENERIC_from_json.py +msgid "metabolism" +msgid_plural "metabolisms" +msgstr[0] "代謝" + #: lang/json/GENERIC_from_json.py msgid "a smoking device and a source of flame" msgstr "喫煙用の道具と火" @@ -33739,6 +34928,28 @@ msgid "" "kept together, pretty useless now though." msgstr "図表や顧客データ等の文書が入ったファイルです。今となっては何の役にも立たないでしょう。" +#: lang/json/GENERIC_from_json.py +msgid "INCIDENT REPORT: IMMERSION-27A" +msgid_plural "INCIDENT REPORT: IMMERSION-27As" +msgstr[0] "事故報告: 潜入-27A" + +#. ~ Description for INCIDENT REPORT: IMMERSION-27A +#: lang/json/GENERIC_from_json.py +msgid "" +"A white piece of paper, with the logo of XEDRA printed on its upper left " +"corner. It seems to be an internal report of some kind." +msgstr "左上にXEDRAのロゴが印字された白い紙です。何らかの内部報告書のようです。" + +#: lang/json/GENERIC_from_json.py +msgid "MATERIAL: T-SUBSTRATE" +msgid_plural "MATERIAL: T-SUBSTRATEs" +msgstr[0] "素材: 基質T" + +#: lang/json/GENERIC_from_json.py +msgid "HAADF MICROGRAPH: T-SUBSTRATE" +msgid_plural "HAADF MICROGRAPH: T-SUBSTRATEs" +msgstr[0] "HAADF像: 基質T" + #: lang/json/GENERIC_from_json.py msgid "foodplace loyalty card" msgid_plural "foodplace loyalty cards" @@ -33748,7 +34959,7 @@ msgstr[0] "フードプレイスポイントカード" #: lang/json/GENERIC_from_json.py msgid "" "A bright pink loyalty card, all the points are stamped. This would " -"definitely prove your fidelity to Foodplace, if it still meant anything..." +"definitely prove your fidelity to Foodplace, if it still meant anything…" msgstr "全てのスタンプが押された、鮮やかなピンク色のポイントカードです。フードプレイスへの忠誠心を示す以外の使い道が残っているとは思えません..." #: lang/json/GENERIC_from_json.py @@ -33796,7 +35007,7 @@ msgstr "革の小さな端切れです。頑丈な衣類を作るために使用 #: lang/json/GENERIC_from_json.py msgid "felt patch" msgid_plural "felt patches" -msgstr[0] "フェルト片" +msgstr[0] "端切れ(フェルト)" #. ~ Description for felt patch #: lang/json/GENERIC_from_json.py @@ -33806,7 +35017,7 @@ msgstr "フェルトの小さな切れ端です。分解して羊毛の織糸に #: lang/json/GENERIC_from_json.py msgid "Nomex patch" msgid_plural "Nomex patches" -msgstr[0] "布片(ノーメックス)" +msgstr[0] "端切れ(ノーメックス)" #. ~ Description for Nomex patch #: lang/json/GENERIC_from_json.py @@ -33834,7 +35045,8 @@ msgid "" "Glue made from boiling animal bones. The adhesive isn't strong enough for " "heavy duty usages, but it can be used as a varnish or holding together small" " items." -msgstr "骨を煮詰めて作った接着剤です。接着力はそれほど強くありませんが、小さな物同士をくっつけるには十分です。ワニスとしても使用できます。" +msgstr "" +"膠(にかわ)は骨を煮詰めて作った接着剤です。接着力はそれほど強くありませんが、小さな物同士をくっつけるには十分です。ワニスとしても使用できます。" #: lang/json/GENERIC_from_json.py msgid "fertilizer" @@ -33876,8 +35088,8 @@ msgstr[0] "セラミックディスク" #. ~ Description for set of 100 ceramic disk #: lang/json/GENERIC_from_json.py msgid "" -"A set of small slightly elongated disks, made of high-grade ceramic. They " -"remind you of scales" +"A set of small slightly elongated disks, made of high-grade ceramic. They " +"remind you of scales." msgstr "高級セラミックで作られた、まるで鱗のような小さく細長いディスクです。" #: lang/json/GENERIC_from_json.py @@ -33926,6 +35138,17 @@ msgid "" "Felt patches, bundled tightly together for storage. Disassemble to unpack." msgstr "保管のためにしっかりと束ねたフェルトの生地です。分解して使いましょう。" +#: lang/json/GENERIC_from_json.py +msgid "t-substrate sample" +msgid_plural "t-substrate samples" +msgstr[0] "基質T" + +#. ~ Description for t-substrate sample +#: lang/json/GENERIC_from_json.py +msgid "" +"An acrylic cube cast around a small black crystal. It's tepid to the touch." +msgstr "小さな黒い結晶の周囲を透明な立方体が回っています。ほのかな熱を感じます。" + #: lang/json/GENERIC_from_json.py msgid "biollante bud" msgid_plural "biollante buds" @@ -34145,6 +35368,17 @@ msgid "" "constructing tougher walls and such." msgstr "鉄筋です。武器として使えます。壁などの建造物の補強に重宝します。" +#: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "small railroad track" +msgid_plural "small railroad tracks" +msgstr[0] "鉄道レール(小)" + +#. ~ Description for small railroad track +#: lang/json/GENERIC_from_json.py +msgid "A length of track, made from some planks and rails." +msgstr "厚板とレールで作られた鉄道レールです。" + #: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py msgid "concrete" msgid_plural "concrete" @@ -34200,18 +35434,6 @@ msgid "" "A large, heavy-duty spring. Expands with significant force when compressed." msgstr "大きな強力ばねです。圧縮後、かなりの力で反発します。" -#: lang/json/GENERIC_from_json.py -msgid "leaf spring" -msgid_plural "leaf springs" -msgstr[0] "板バネ" - -#. ~ Description for leaf spring -#: lang/json/GENERIC_from_json.py -msgid "" -"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" -" an awful lot like a bow. You can barely bend it..." -msgstr "大きく頑丈な板バネです。恐らく車やトラックに装着されていたもので、弓がたくさん重なったような形状です。硬くてほとんど曲がりません..." - #: lang/json/GENERIC_from_json.py msgid "lawnmower" msgid_plural "lawnmowers" @@ -34282,14 +35504,14 @@ msgstr "大型のブラウン管テレビです。有用な電子部品が詰ま #: lang/json/GENERIC_from_json.py msgid "pilot light" msgid_plural "pilot lights" -msgstr[0] "パイロットランプ" +msgstr[0] "点火装置" #. ~ Description for pilot light #: lang/json/GENERIC_from_json.py msgid "" "A pilot light from a gas-burning device, this particular one is a simple " "piezoelectric igniter." -msgstr "点火用バーナーです。電子式ライターの点火装置として用いられます。" +msgstr "圧電効果で火をつける、ガス燃焼機器用の点火装置です。" #: lang/json/GENERIC_from_json.py msgid "toaster" @@ -35037,7 +36259,7 @@ msgstr[0] "SDメモリーカード(科学)" #: lang/json/GENERIC_from_json.py msgid "" "This memory card appears to be related to 'XEDRA', and is certainly " -"encrypted. Looks * Interesting *, though..." +"encrypted. Looks *Interesting*, though…" msgstr "このメモリーカードは「XEDRA」に関するもののようで、しっかりと暗号化されています。なんとも*興味深い*ですね..." #: lang/json/GENERIC_from_json.py @@ -35086,16 +36308,6 @@ msgid "" " it." msgstr "松の木から取れるとげだらけのボールです。振るとカラカラと音がします。" -#: lang/json/GENERIC_from_json.py -msgid "poppy flower" -msgid_plural "poppy flowers" -msgstr[0] "ケシの花" - -#. ~ Description for poppy flower -#: lang/json/GENERIC_from_json.py -msgid "A poppy stalk with some petals." -msgstr "花をつけたケシの茎です。" - #: lang/json/GENERIC_from_json.py msgid "poppy bud" msgid_plural "poppy buds" @@ -35108,209 +36320,6 @@ msgid "" "flower." msgstr "変異したケシの蕾です。変異したケシの花と同じ成分が含まれています。" -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "bluebell" -msgid_plural "bluebells" -msgstr[0] "ブルーベル" - -#. ~ Description for bluebell -#: lang/json/GENERIC_from_json.py -msgid "A bluebell stalk with some petals." -msgstr "花をつけたブルーベルの茎です。" - -#: lang/json/GENERIC_from_json.py -msgid "bluebell bud" -msgid_plural "bluebell buds" -msgstr[0] "ブルーベルの蕾" - -#. ~ Description for bluebell bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A bluebell bud. Contains some substances commonly produced by a bluebell " -"flower." -msgstr "ブルーベルの蕾です。ブルーベルの花と同じ成分が含まれています。" - -#. ~ Description for dahlia -#: lang/json/GENERIC_from_json.py -msgid "A dahlia stalk with some petals." -msgstr "花をつけたダリアの茎です。" - -#: lang/json/GENERIC_from_json.py -msgid "dahlia bud" -msgid_plural "dahlia buds" -msgstr[0] "ダリアの蕾" - -#. ~ Description for dahlia bud -#: lang/json/GENERIC_from_json.py -msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." -msgstr "ダリアの蕾です。ダリアの花と同じ成分が含まれています。" - -#. ~ Description for rose -#: lang/json/GENERIC_from_json.py -msgid "A rose stalk with some petals." -msgstr "花をつけたバラの茎です。" - -#: lang/json/GENERIC_from_json.py -msgid "rose bud" -msgid_plural "rose buds" -msgstr[0] "バラの蕾" - -#. ~ Description for rose bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A rose bud. Contains some substances commonly produced by a rose flower." -msgstr "バラの蕾です。バラの花と同じ成分が含まれています。" - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea" -msgid_plural "hydrangeas" -msgstr[0] "アジサイ" - -#. ~ Description for hydrangea -#: lang/json/GENERIC_from_json.py -msgid "A hydrangea stalk with some petals." -msgstr "花をつけたアジサイの茎です。" - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea bud" -msgid_plural "hydrangea buds" -msgstr[0] "アジサイの蕾" - -#. ~ Description for hydrangea bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A hydrangea bud. Contains some substances commonly produced by a hydrangea " -"flower." -msgstr "アジサイの蕾です。アジサイの花と同じ成分が含まれています。" - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "tulip" -msgid_plural "tulips" -msgstr[0] "チューリップ" - -#. ~ Description for tulip -#: lang/json/GENERIC_from_json.py -msgid "A tulip stalk with some petals." -msgstr "花をつけたチューリップの茎です。" - -#: lang/json/GENERIC_from_json.py -msgid "tulip bud" -msgid_plural "tulip buds" -msgstr[0] "チューリップの蕾" - -#. ~ Description for tulip bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A tulip bud. Contains some substances commonly produced by a tulip flower." -msgstr "チューリップの蕾です。チューリップの花と同じ成分が含まれています。" - -#: lang/json/GENERIC_from_json.py -msgid "spurge" -msgid_plural "spurges" -msgstr[0] "ハツユキソウ" - -#. ~ Description for spurge -#: lang/json/GENERIC_from_json.py -msgid "A spurge stalk with some petals." -msgstr "花をつけたハツユキソウの茎です。" - -#: lang/json/GENERIC_from_json.py -msgid "spurge bud" -msgid_plural "spurge buds" -msgstr[0] "ハツユキソウの蕾" - -#. ~ Description for spurge bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A spurge bud. Contains some substances commonly produced by a spurge " -"flower." -msgstr "ハツユキソウの蕾です。バラの花と同じ成分が含まれています。" - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "black eyed susan" -msgid_plural "black eyed susans" -msgstr[0] "テトラテカ" - -#. ~ Description for black eyed susan -#: lang/json/GENERIC_from_json.py -msgid "A black eyed susan stalk with some petals." -msgstr "花をつけたテトラテカの茎です。" - -#: lang/json/GENERIC_from_json.py -msgid "black eyed susan bud" -msgid_plural "black eyed susan buds" -msgstr[0] "テトラテカの蕾" - -#. ~ Description for black eyed susan bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A black eyed susan bud. Contains some substances commonly produced by a " -"black eyed susan flower." -msgstr "テトラテカの蕾です。テトラテカの花と同じ成分が含まれています。" - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lily" -msgid_plural "lilys" -msgstr[0] "ユリ" - -#. ~ Description for lily -#: lang/json/GENERIC_from_json.py -msgid "A lily stalk with some petals." -msgstr "花をつけたユリの茎です。" - -#: lang/json/GENERIC_from_json.py -msgid "lily bud" -msgid_plural "lily buds" -msgstr[0] "ユリの蕾" - -#. ~ Description for lily bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lily bud. Contains some substances commonly produced by a lily flower." -msgstr "ユリの蕾です。ユリの花と同じ成分が含まれています。" - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lotus" -msgid_plural "lotuss" -msgstr[0] "スイレン" - -#. ~ Description for lotus -#: lang/json/GENERIC_from_json.py -msgid "A lotus stalk with some petals." -msgstr "花をつけたスイレンの茎です。" - -#: lang/json/GENERIC_from_json.py -msgid "lotus bud" -msgid_plural "lotus buds" -msgstr[0] "スイレンの蕾" - -#. ~ Description for lotus bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lotus bud. Contains some substances commonly produced by a lotus flower." -msgstr "スイレンの蕾です。スイレンの花と同じ成分が含まれています。" - -#: lang/json/GENERIC_from_json.py -msgid "lilac" -msgid_plural "lilacs" -msgstr[0] "ライラック" - -#. ~ Description for lilac -#: lang/json/GENERIC_from_json.py -msgid "A lilac stalk with some petals." -msgstr "花をつけたライラックの茎です。" - -#: lang/json/GENERIC_from_json.py -msgid "lilac bud" -msgid_plural "lilac buds" -msgstr[0] "ライラックの蕾" - -#. ~ Description for lilac bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lilac bud. Contains some substances commonly produced by a lilac flower." -msgstr "ライラックの蕾です。ライラックの花と同じ成分が含まれています。" - #. ~ Description for sunflower #: lang/json/GENERIC_from_json.py msgid "" @@ -35319,11 +36328,12 @@ msgid "" msgstr "ヒマワリの花には、黄色い花弁と動物にまだ食べられていない種が残っています。" #: lang/json/GENERIC_from_json.py -msgid "handful of chamomile flowers" -msgid_plural "handfuls of chamomile flowers" -msgstr[0] "カモミール" +msgid "chamomile flowers" +msgid_plural "chamomile flowers" +msgstr[0] "カモミールの花" -#. ~ Description for handful of chamomile flowers +#. ~ Description for {'str': 'chamomile flowers', 'str_pl': 'chamomile +#. flowers'} #: lang/json/GENERIC_from_json.py msgid "" "White chamomile flowers, used as a herbal remedy since the ancient times." @@ -35342,12 +36352,12 @@ msgstr "湿り気のある粘度の塊です。いくつかの製作レシピの #: lang/json/GENERIC_from_json.py msgid "brick" msgid_plural "bricks" -msgstr[0] "煉瓦" +msgstr[0] "レンガ" #. ~ Description for brick #: lang/json/GENERIC_from_json.py msgid "A fire hardened building block used in masonry construction." -msgstr "堅く焼成された石工建築用の煉瓦( れんが)です。" +msgstr "堅く焼成された石工建築用のレンガです。" #: lang/json/GENERIC_from_json.py msgid "mortar" @@ -35362,17 +36372,17 @@ msgstr "いつでも建築に使えるよう調整されたモルタルです。 #: lang/json/GENERIC_from_json.py msgid "soft adobe brick" msgid_plural "soft adobe bricks" -msgstr[0] "日干し煉瓦(未乾燥)" +msgstr[0] "日干しレンガ(未乾燥)" #. ~ Use action msg for soft adobe brick. #: lang/json/GENERIC_from_json.py msgid "You test the brick, and it seems solid enough to use." -msgstr "煉瓦を確認すると、十分に硬くなっているようです。" +msgstr "レンガを確認すると、十分に硬くなっているようです。" #. ~ Use action not_ready_msg for soft adobe brick. #: lang/json/GENERIC_from_json.py msgid "The brick is still too damp to bear weight." -msgstr "煉瓦はまだ湿っており、耐久性が不十分です。" +msgstr "レンガはまだ湿っており、耐久性が不十分です。" #. ~ Description for soft adobe brick #: lang/json/GENERIC_from_json.py @@ -35384,19 +36394,19 @@ msgstr "土と天然繊維を混ぜて固めた資材です。まだ湿ってい #: lang/json/GENERIC_from_json.py msgid "adobe brick" msgid_plural "adobe bricks" -msgstr[0] "日干し煉瓦" +msgstr[0] "日干しレンガ" #. ~ Description for adobe brick #: lang/json/GENERIC_from_json.py msgid "" "A compacted mass of soil and natural fibers, baked dry enough to harden into" " a brick." -msgstr "土と天然繊維を混ぜて固めた資材です。乾燥しており、煉瓦として利用するのに十分な硬度があります。" +msgstr "土と天然繊維を混ぜて固めた資材です。乾燥しており、レンガとして利用するのに十分な硬度があります。" #: lang/json/GENERIC_from_json.py msgid "adobe mortar" msgid_plural "adobe mortar" -msgstr[0] "日干し煉瓦用モルタル" +msgstr[0] "日干しレンガ用モルタル" #. ~ Description for adobe mortar #: lang/json/GENERIC_from_json.py @@ -35576,12 +36586,14 @@ msgstr "今ではまったく役に立たない20ドル紙幣を多く束ねた #. ~ Use action menu_text for cigar. #. ~ Use action menu_text for cigarette. #. ~ Use action menu_text for joint. +#. ~ Use action menu_text for spooky jack o'lantern. +#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for candle. #. ~ Use action menu_text for refillable lighter. #. ~ Use action menu_text for torch. -#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for ember carrier (lit). #. ~ Use action menu_text for Louisville Slaughterer. +#. ~ Use action menu_text for everburning torch. #: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py msgid "Extinguish" @@ -35628,10 +36640,10 @@ msgstr[0] "吸殻(タバコ)" #: lang/json/GENERIC_from_json.py msgid "" "What was once a wonderfully addictive tube of dried tobacco leaf is now just a smelly piece of trash. What a tragedy!\n" -"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far..." +"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far…" msgstr "" "かつては非常に中毒性の高いタバコの葉を包んだ筒だったものです。悲しい事に今や唯のゴミでしかありません!\n" -"しかし、いくつか集めてわずかに残った使える部分を纏めれば、新たに一本のタバコを作り出せるでしょう。そこまでしてタバコが吸いたいというのならですが..." +"しかし、燃え残った部分をいくつか纏めれば、新たに一本のタバコを作り出せます。そこまでして吸う価値があるのでしょうか..." #. ~ Use action msg for joint. #: lang/json/GENERIC_from_json.py @@ -35675,10 +36687,10 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "raw tobacco" -msgid_plural "handfuls of raw tobacco" -msgstr[0] "葉タバコ" +msgid_plural "raw tobacco" +msgstr[0] "タバコの葉" -#. ~ Description for raw tobacco +#. ~ Description for {'str': 'raw tobacco', 'str_pl': 'raw tobacco'} #: lang/json/GENERIC_from_json.py msgid "" "Various parts of tobacco plant, full of nicotine. They need to be dried to " @@ -35726,11 +36738,6 @@ msgid "" msgstr "" "高度な技術者が持っていたIDカードです。カードの裏面には使用方法が書かれています。1枚のカードにつき1つのコントロールパネルにアクセスできます。" -#: lang/json/GENERIC_from_json.py -msgid "neoprene sheet" -msgid_plural "neoprene sheets" -msgstr[0] "ネオプレンシート" - #. ~ Description for neoprene sheet #: lang/json/GENERIC_from_json.py msgid "" @@ -35965,12 +36972,12 @@ msgstr "壊れた無人車両です。破損して内部の液体が漏れ出て #: lang/json/GENERIC_from_json.py msgid "fire brick" msgid_plural "fire bricks" -msgstr[0] "耐熱煉瓦" +msgstr[0] "耐熱レンガ" #. ~ Description for fire brick #: lang/json/GENERIC_from_json.py msgid "A reinforced brick designed to withstand intense heat." -msgstr "高い熱にも耐えられるように作られた強化煉瓦です。" +msgstr "高い熱にも耐えられるように作られた強化レンガです。" #: lang/json/GENERIC_from_json.py msgid "survival kit" @@ -36308,7 +37315,7 @@ msgstr[0] "針(真菌殺し)" #. ~ Description for fungal fighter sting #: lang/json/GENERIC_from_json.py msgid "A short dart from a fungal fighter. Makes an poor melee weapon." -msgstr "真菌殺しが持っている短いダーツです。間に合わせながらも十分な性能を持つ近接武器を製作できます。" +msgstr "真菌殺しが持っている短いダーツです。簡素な近接武器になります。" #: lang/json/GENERIC_from_json.py msgid "wasp sting" @@ -36318,7 +37325,7 @@ msgstr[0] "針(スズメバチ)" #. ~ Description for wasp sting #: lang/json/GENERIC_from_json.py msgid "A six-inch stinger from a giant wasp. Makes a poor melee weapon." -msgstr "巨大スズメバチが持つ6インチの針です。間に合わせながらも十分な性能を持つ近接武器を製作できます。" +msgstr "巨大スズメバチが持つ約15センチの針です。簡素な近接武器になります。" #: lang/json/GENERIC_from_json.py msgid "walking cane" @@ -36667,6 +37674,231 @@ msgid "note" msgid_plural "notes" msgstr[0] "メモ" +#: lang/json/GENERIC_from_json.py +msgid "leaf spring" +msgid_plural "leaf springs" +msgstr[0] "板バネ" + +#. ~ Description for leaf spring +#: lang/json/GENERIC_from_json.py +msgid "" +"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" +" an awful lot like a bow. You can barely bend it…" +msgstr "大きく頑丈な板バネです。恐らく車やトラックに装着されていたもので、弓がたくさん重なったような形状です。硬くてほとんど曲がりません..." + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea" +msgid_plural "hydrangeas" +msgstr[0] "アジサイ" + +#. ~ Description for hydrangea +#: lang/json/GENERIC_from_json.py +msgid "A hydrangea stalk with some petals." +msgstr "花をつけたアジサイの茎です。" + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea bud" +msgid_plural "hydrangea buds" +msgstr[0] "アジサイの蕾" + +#. ~ Description for hydrangea bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A hydrangea bud. Contains some substances commonly produced by a hydrangea " +"flower." +msgstr "アジサイの蕾です。アジサイの花と同じ成分が含まれています。" + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "tulip" +msgid_plural "tulips" +msgstr[0] "チューリップ" + +#. ~ Description for tulip +#: lang/json/GENERIC_from_json.py +msgid "A tulip stalk with some petals." +msgstr "花をつけたチューリップの茎です。" + +#: lang/json/GENERIC_from_json.py +msgid "tulip bud" +msgid_plural "tulip buds" +msgstr[0] "チューリップの蕾" + +#. ~ Description for tulip bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A tulip bud. Contains some substances commonly produced by a tulip flower." +msgstr "チューリップの蕾です。チューリップの花と同じ成分が含まれています。" + +#: lang/json/GENERIC_from_json.py +msgid "spurge" +msgid_plural "spurges" +msgstr[0] "ハツユキソウ" + +#. ~ Description for spurge +#: lang/json/GENERIC_from_json.py +msgid "A spurge stalk with some petals." +msgstr "花をつけたハツユキソウの茎です。" + +#: lang/json/GENERIC_from_json.py +msgid "spurge bud" +msgid_plural "spurge buds" +msgstr[0] "ハツユキソウの蕾" + +#. ~ Description for spurge bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A spurge bud. Contains some substances commonly produced by a spurge " +"flower." +msgstr "ハツユキソウの蕾です。バラの花と同じ成分が含まれています。" + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "black eyed susan" +msgid_plural "black eyed susans" +msgstr[0] "テトラテカ" + +#. ~ Description for black eyed susan +#: lang/json/GENERIC_from_json.py +msgid "A black eyed susan stalk with some petals." +msgstr "花をつけたテトラテカの茎です。" + +#: lang/json/GENERIC_from_json.py +msgid "black eyed susan bud" +msgid_plural "black eyed susan buds" +msgstr[0] "テトラテカの蕾" + +#. ~ Description for black eyed susan bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A black eyed susan bud. Contains some substances commonly produced by a " +"black eyed susan flower." +msgstr "テトラテカの蕾です。テトラテカの花と同じ成分が含まれています。" + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lily" +msgid_plural "lilys" +msgstr[0] "ユリ" + +#. ~ Description for lily +#: lang/json/GENERIC_from_json.py +msgid "A lily stalk with some petals." +msgstr "花をつけたユリの茎です。" + +#: lang/json/GENERIC_from_json.py +msgid "lily bud" +msgid_plural "lily buds" +msgstr[0] "ユリの蕾" + +#. ~ Description for lily bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lily bud. Contains some substances commonly produced by a lily flower." +msgstr "ユリの蕾です。ユリの花と同じ成分が含まれています。" + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lotus" +msgid_plural "lotuss" +msgstr[0] "スイレン" + +#. ~ Description for lotus +#: lang/json/GENERIC_from_json.py +msgid "A lotus stalk with some petals." +msgstr "花をつけたスイレンの茎です。" + +#: lang/json/GENERIC_from_json.py +msgid "lotus bud" +msgid_plural "lotus buds" +msgstr[0] "スイレンの蕾" + +#. ~ Description for lotus bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lotus bud. Contains some substances commonly produced by a lotus flower." +msgstr "スイレンの蕾です。スイレンの花と同じ成分が含まれています。" + +#: lang/json/GENERIC_from_json.py +msgid "lilac" +msgid_plural "lilacs" +msgstr[0] "ライラック" + +#. ~ Description for lilac +#: lang/json/GENERIC_from_json.py +msgid "A lilac stalk with some petals." +msgstr "花をつけたライラックの茎です。" + +#: lang/json/GENERIC_from_json.py +msgid "lilac bud" +msgid_plural "lilac buds" +msgstr[0] "ライラックの蕾" + +#. ~ Description for lilac bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lilac bud. Contains some substances commonly produced by a lilac flower." +msgstr "ライラックの蕾です。ライラックの花と同じ成分が含まれています。" + +#: lang/json/GENERIC_from_json.py +msgid "rose bud" +msgid_plural "rose buds" +msgstr[0] "バラの蕾" + +#. ~ Description for rose bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A rose bud. Contains some substances commonly produced by a rose flower." +msgstr "バラの蕾です。バラの花と同じ成分が含まれています。" + +#: lang/json/GENERIC_from_json.py +msgid "dahlia bud" +msgid_plural "dahlia buds" +msgstr[0] "ダリアの蕾" + +#. ~ Description for dahlia bud +#: lang/json/GENERIC_from_json.py +msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." +msgstr "ダリアの蕾です。ダリアの花と同じ成分が含まれています。" + +#. ~ Description for rose +#: lang/json/GENERIC_from_json.py +msgid "A rose stalk with some petals." +msgstr "花をつけたバラの茎です。" + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "bluebell" +msgid_plural "bluebells" +msgstr[0] "ブルーベル" + +#. ~ Description for bluebell +#: lang/json/GENERIC_from_json.py +msgid "A bluebell stalk with some petals." +msgstr "花をつけたブルーベルの茎です。" + +#. ~ Description for dahlia +#: lang/json/GENERIC_from_json.py +msgid "A dahlia stalk with some petals." +msgstr "花をつけたダリアの茎です。" + +#: lang/json/GENERIC_from_json.py +msgid "poppy flower" +msgid_plural "poppy flowers" +msgstr[0] "ケシの花" + +#. ~ Description for poppy flower +#: lang/json/GENERIC_from_json.py +msgid "A poppy stalk with some petals." +msgstr "花をつけたケシの茎です。" + +#: lang/json/GENERIC_from_json.py +msgid "bluebell bud" +msgid_plural "bluebell buds" +msgstr[0] "ブルーベルの蕾" + +#. ~ Description for bluebell bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A bluebell bud. Contains some substances commonly produced by a bluebell " +"flower." +msgstr "ブルーベルの蕾です。ブルーベルの花と同じ成分が含まれています。" + #: lang/json/GENERIC_from_json.py msgid "module template" msgid_plural "module templates" @@ -37055,12 +38287,12 @@ msgstr[0] "アトミックコーヒーメーカー" #: lang/json/GENERIC_from_json.py msgid "" "This is a Curie-G coffeemaker, by CuppaTech. It famously uses a radioactive" -" generator to heat water for coffee. Normally the water is heated using " +" generator to heat water for coffee. Normally the water is heated using " "energy stored in a capacitor, and makes ordinary coffee. However, as a " "special feature, water from the RTG containment area can be used, giving the" " coffee a very special kick. The Curie-G is illegal in most countries." msgstr "" -"CuppaTech社が開発したキュリーGコーヒーメーカーです。ご存知の通り、放射性崩壊から取り出した電力を使ってコーヒー用のお湯を沸かします。通常は、コンデンサに蓄えた電力を使ってお湯を沸かし、普通のコーヒーを作れます。しかし、RTGの格納容器内の水を使って、非常に特殊な刺激の強いコーヒーを作ることも可能です。キュリーGの流通はほとんどの国で違法とされています。" +"CuppaTech社が開発したキュリーGコーヒーメーカーです。ご存知の通り、放射性崩壊から取り出した電力を使ってコーヒー用のお湯を沸かします。通常はコンデンサに蓄えた電力を使ってお湯を沸かし、普通のコーヒーを作れます。しかし、RTGの格納容器内の水を使って、非常に特殊な刺激の強いコーヒーを作ることも可能です。キュリーGの流通はほとんどの国で違法とされています。" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py msgid "atomic lamp" @@ -37070,14 +38302,16 @@ msgstr[0] "アトミックランプ" #. ~ Use action menu_text for atomic lamp. #. ~ Use action menu_text for atomic reading light. #. ~ Use action menu_text for magical reading light. -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp. +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Close cover" msgstr "カバーを閉じる" #. ~ Use action msg for atomic lamp. #: lang/json/GENERIC_from_json.py msgid "You close the lamp's cover." -msgstr "ランプの蓋を閉じました。" +msgstr "ランプのカバーを閉じました。" #. ~ Description for atomic lamp #: lang/json/GENERIC_from_json.py @@ -37098,14 +38332,16 @@ msgstr[0] "アトミックランプ(閉)" #. ~ Use action menu_text for atomic lamp (covered). #. ~ Use action menu_text for atomic reading light (covered). #. ~ Use action menu_text for magical reading light (covered). -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp (covered). +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Open cover" msgstr "カバーを開ける" #. ~ Use action msg for atomic lamp (covered). #: lang/json/GENERIC_from_json.py msgid "You open the lamp's cover." -msgstr "ランプの蓋を開きました。" +msgstr "ランプのカバーを開きました。" #. ~ Description for atomic lamp (covered) #: lang/json/GENERIC_from_json.py @@ -37127,7 +38363,7 @@ msgstr[0] "アトミック読書灯" #. ~ Use action msg for magical reading light. #: lang/json/GENERIC_from_json.py msgid "You close the nightlight's cover." -msgstr "常夜灯の蓋を閉じました。" +msgstr "常夜灯のカバーを閉じました。" #. ~ Description for atomic reading light #: lang/json/GENERIC_from_json.py @@ -37149,7 +38385,7 @@ msgstr[0] "アトミック読書灯(閉)" #. ~ Use action msg for magical reading light (covered). #: lang/json/GENERIC_from_json.py msgid "You open the nightlight's cover." -msgstr "常夜灯の蓋を開きました。" +msgstr "常夜灯のカバーを開きました。" #. ~ Description for atomic reading light (covered) #: lang/json/GENERIC_from_json.py @@ -37369,10 +38605,10 @@ msgstr[0] "フック付きロープ" #: lang/json/GENERIC_from_json.py msgid "" "A folding grappling hook attached to a stout 30-foot long piece of " -"lightweight cord. Useful for keeping yourself safe from falls. Can be used " -"in place of a long rope for butchering, in a pinch." +"lightweight cord. Useful for keeping yourself safe from falls. Can be used" +" in place of a long rope for butchering, in a pinch." msgstr "" -"丈夫で軽い全長約9mの縄の先に、折り畳み式のフックが付いています。安全に降下する際に便利です。食肉解体用の長いロープがない時に、代用品として使うこともできます。" +"丈夫で軽い全長約9mのロープの先に、折り畳み式のフックが付いています。安全に降下したい時に便利です。食肉解体用の長いロープがない時に、代用品として使うこともできます。" #: lang/json/GENERIC_from_json.py msgid "sealed jar of pickles" @@ -38147,12 +39383,11 @@ msgstr[0] "本(武術/麗しき春を詠む)" #. ~ Description for Beautiful Springtime #: lang/json/GENERIC_from_json.py -msgid "" -"A complete guide to Wing Chun Kung-fu. Includes a section on butterfly " -"swords and the use of long poles at the end." -msgstr "詠春拳のコンプリートガイドブックです。胡蝶刀や長竿を使った戦い方も解説されています。" +msgid "A complete guide to Wing Chun Kung-fu." +msgstr "詠春拳のコンプリートガイドブックです。" #: lang/json/GENERIC_from_json.py lang/json/martial_art_from_json.py +#: lang/json/martial_art_from_json.py msgid "Fior Di Battaglia" msgid_plural "Fior Di Battaglia" msgstr[0] "西洋長柄武器術" @@ -38161,8 +39396,8 @@ msgstr[0] "西洋長柄武器術" #: lang/json/GENERIC_from_json.py msgid "" "A completely translated medieval guide teaching various techniques with " -"polearms, there is a chapter about the many variations of common polearms..." -" there are even pictures!" +"polearms, there is a chapter about the many variations of common polearms… " +"there are even pictures!" msgstr "" "長柄武器を使った様々な戦闘技術の解説が載っている、現代語訳された中世の教本です。色々なな長柄武器の扱い方が記されており...更にはイラストも添えられています!" @@ -39169,6 +40404,19 @@ msgstr[0] "伝票" msgid "This is a slip of paper signed by the issuer." msgstr "発行者のサインが書かれた伝票です。" +#: lang/json/GENERIC_from_json.py +msgid "icon" +msgid_plural "icons" +msgstr[0] "聖画カード" + +#. ~ Description for icon +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a small picture, about the same size as an ID card, symbolizing a " +"religious figure. On the back, there is a text that faintly reads 'New " +"England Church Community'." +msgstr "宗教に関係する人物が描かれた身分証サイズの小さなカードです。裏面には「ニューイングランド教会コミュニティ」と薄く印字されています。" + #: lang/json/GENERIC_from_json.py msgid "generic silverware" msgid_plural "generic silverwares" @@ -39493,7 +40741,7 @@ msgstr[0] "フォーク" #. ~ Description for fork #: lang/json/GENERIC_from_json.py msgid "" -"A fork, if you stab something with it you eat it right away. Wait... " +"A fork, if you stab something with it you eat it right away. Wait… " "nevermind." msgstr "フォークです。何か食べたい時は、これで突き刺して口に運びましょう。いや...別に必要ありませんね。" @@ -39663,7 +40911,7 @@ msgstr "栓抜きには「企業チーム育成訓練1999」と書いてあり #: lang/json/GENERIC_from_json.py msgid "This bottle opener reads 'I'd rather be drinking whiskey'." -msgstr "栓抜きには「ウィスキーが飲みたい」と書いてあります。" +msgstr "栓抜きには「ウイスキーが飲みたい」と書いてあります。" #: lang/json/GENERIC_from_json.py msgid "This bottle opener is shaped like a phaser." @@ -40577,16 +41825,18 @@ msgstr[0] "ミョルニル" #: lang/json/GENERIC_from_json.py msgid "" "A large hammer, forged from the heart of a dying star. It bears the inscription:\n" -" \n" +"\n" "Whosoever holds this hammer,\n" "If he be worthy,\n" -"Shall possess the power to...\n" +"Shall possess the power to…\n" "CRUSH!'" msgstr "" "死んだ星の核から鍛造した大型のハンマーです。以下のような銘が刻まれています。\n" "\n" -"この鎚に相応しき者に\n" -"破壊の力を与えん" +"この鎚に\n" +"相応しき者\n" +"破壊の力を\n" +"与えん" #: lang/json/GENERIC_from_json.py msgid "lucerne hammer" @@ -40610,7 +41860,7 @@ msgstr "尖った金鎚、スパイク、鉤を長い棒の先に取り付けた #: lang/json/GENERIC_from_json.py msgid "shillelagh" msgid_plural "shillelaghs" -msgstr[0] "シレーラ" +msgstr[0] "シレイラ" #. ~ Description for shillelagh #: lang/json/GENERIC_from_json.py @@ -40624,7 +41874,7 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "loaded stick" msgid_plural "loaded sticks" -msgstr[0] "強化シレーラ" +msgstr[0] "強化シレイラ" #. ~ Description for loaded stick #: lang/json/GENERIC_from_json.py @@ -40643,7 +41893,7 @@ msgid "" "stick has not been cured in a chimney like a traditional shillelagh but has " "had fake black soot painted on." msgstr "" -"観光客向けのお土産として大量生産されたシレーラです。この節くれだった木の枝は、伝統的なシレーラのように煙突の煙を浴びせて硬化されていませんが、黒い煤に見立てた塗料が塗ってあります。" +"観光客向けのお土産として大量生産されたシレイラです。この節くれだった木の枝は、伝統的なシレイラのように煙突の煙を浴びせて硬化されていませんが、黒い煤に見立てた塗料が塗ってあります。" #: lang/json/GENERIC_from_json.py msgid "blackjack" @@ -41004,8 +42254,8 @@ msgstr "レイピアの前身とも言える、細身の刺突剣です。収納 #: lang/json/GENERIC_from_json.py msgid "" "This is a thin thrusting sword, a sort of predecessor to the rapier. It " -"requires a larger baldric or scabbard, compared to smaller swords. It seems " -"a bit too bendy." +"requires a larger baldric or scabbard, compared to smaller swords. It seems" +" a bit too bendy." msgstr "レイピアの前身とも言える、細身の刺突剣です。収納するには大型の鞘が必要です。少し折れ曲がっているようです。" #. ~ Description for estoc @@ -41085,7 +42335,7 @@ msgstr "日本伝来の大型で反りのある両手持ちの刀です。大き #: lang/json/GENERIC_from_json.py msgid "fencing foil" msgid_plural "fencing foils" -msgstr[0] "フェンシングホイル" +msgstr[0] "フルーレ" #. ~ Description for fencing foil #: lang/json/GENERIC_from_json.py @@ -41097,30 +42347,75 @@ msgstr "" "最も高貴なスポーツ、フェンシングで使われる剣の一種です。刀身は断面が四角形でよくしなり、切っ先は丸くなっているので、残念ながら武器としてはあまり役に立ちません。" #: lang/json/GENERIC_from_json.py -msgid "fencing epee" -msgid_plural "fencing epees" +msgid "fencing épée" +msgid_plural "fencing épées" msgstr[0] "エペ" -#. ~ Description for fencing epee +#. ~ Description for fencing épée #: lang/json/GENERIC_from_json.py msgid "" -"A weapon used for fencing, the most noble of all sports. The epee is the " +"A weapon used for fencing, the most noble of all sports. The épée is the " "heaviest and stiffest of the fencing weapons, and therefore perhaps the most" " useful." msgstr "" -"最も高貴なスポーツ、フェンシングで使われる剣の一種です。フェンシングに使われる競技剣の中で最も重く、最も硬質な刀身を持つエペは、それ故に最も武器として実用的でしょう。たぶん。" +"最も高貴なスポーツ、フェンシングで使われる剣の一種です。競技剣の中で最も重く硬質な刀身を持つため、フェンシング用具の中では一番まともな実戦武器です。" #: lang/json/GENERIC_from_json.py msgid "fencing saber" msgid_plural "fencing sabers" -msgstr[0] "サーベル" +msgstr[0] "サーブル" #. ~ Description for fencing saber #: lang/json/GENERIC_from_json.py msgid "" "A weapon used for fencing, the most noble of all sports. The fencing saber " -"is marginally shorter than the foil and epee, but no less effective." -msgstr "最も高貴なスポーツ、フェンシングで使われる剣の一種です。ホイルやエペよりもわずかに短く作られていますが、変わりゃあしません。" +"is marginally shorter than the foil and épée, but no less effective." +msgstr "最も高貴なスポーツ、フェンシングで使われる剣の一種です。フルーレやエペよりもわずかに短く作られていますが、似たようなものです。" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened foil" +msgid_plural "sharpened foils" +msgstr[0] "戦闘用フルーレ" + +#. ~ Description for sharpened foil +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing foil has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now somewhat more lethal, yet still familiar to" +" the practiced fencer." +msgstr "" +"かつては攻撃力など皆無だったフルーレから電気スイッチを取り外し、先端を粗く尖らせました。完璧な刺突武器には至っていませんが、威力がやや増して実戦でも多少は役に立つでしょう。" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened épée" +msgid_plural "sharpened épées" +msgstr[0] "戦闘用エペ" + +#. ~ Description for sharpened épée +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing épée has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now considerably more lethal, yet still " +"familiar to the practiced fencer." +msgstr "" +"かつては攻撃力など皆無だったエペから電気スイッチを取り外し、先端を粗く尖らせました。完璧な刺突武器には至っていませんが、威力がかなり増して実戦でも多少は役に立つでしょう。" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened saber" +msgid_plural "sharpened sabers" +msgstr[0] "戦闘用サーブル" + +#. ~ Description for sharpened saber +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing saber has had its rounded tip snapped off " +"and has been crudely sharpened to a point. Though it still lacks a cutting " +"edge, it is now considerably more lethal, yet still familiar to the " +"practiced fencer." +msgstr "" +"かつては攻撃力など皆無だったサーブルから電気スイッチを取り外し、丸まった先端を切断して粗く尖らせました。完璧な刺突武器には至っていませんが、威力がかなり増して実戦でも多少は役に立つでしょう。" #: lang/json/GENERIC_from_json.py msgid "hollow cane" @@ -41322,6 +42617,16 @@ msgid "" "door." msgstr "内側に小型レンズが付いた金属製のシリンダーです。ドアに取り付けます。" +#: lang/json/GENERIC_from_json.py +msgid "mesh screen" +msgid_plural "mesh screens" +msgstr[0] "防虫網" + +#. ~ Description for mesh screen +#: lang/json/GENERIC_from_json.py +msgid "A roll of fine mesh screen for bug barriers on porches." +msgstr "玄関に入ってくる虫を防ぐ、ロール状にまとめた目の細かい網です。" + #: lang/json/GENERIC_from_json.py msgid "pipe" msgid_plural "pipes" @@ -41360,14 +42665,14 @@ msgstr "銅管です。武器としてはあまりに細すぎますが、手頃 #: lang/json/GENERIC_from_json.py msgid "aluminum ingot" msgid_plural "aluminum ingots" -msgstr[0] "鋳塊(アルミニウム)" +msgstr[0] "アルミ鋳塊" #. ~ Description for aluminum ingot #: lang/json/GENERIC_from_json.py msgid "" "A small aluminum ingot, standardized for further processing. Light but " "durable, this could be cast into various shapes for construction or ground " -"down to a powder, for more... high-profile applications." +"down to a powder, for more… high-profile applications." msgstr "" "小さなアルミニウムの鋳塊です。より大掛かりな加工に備えて寸法を揃えてあります。軽量な割に丈夫で、様々な形に鋳造する、砕いて粉末として利用するなど多くの用途があります。" @@ -41392,11 +42697,11 @@ msgid "This is a single, or twin, sized mattress." msgstr "シングルまたはツインサイズのマットレスです。" #: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "down_mattress" -msgid_plural "down_mattresses" +msgid "down mattress" +msgid_plural "down mattresses" msgstr[0] "マットレス(羽毛)" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/GENERIC_from_json.py msgid "This is a single, or twin, sized down filled mattress." msgstr "シングルまたはツインサイズの、羽毛が入ったマットレスです。" @@ -41536,7 +42841,7 @@ msgid "" " or portable stove. It is shallower than a proper pot or pan, and lacks the" " integrated heating elements modern mess kits have." msgstr "" -"収納性に優れた軍用の鍋と器のセットです。火や携帯ストーブの上で食べ物を加熱調理できます。普通の鍋やフライパンと比べるとより浅く作られており、現代的な調理器具セットと違って加熱機能が組み込まれていません。" +"飯盒(はんごう)。収納性に優れた軍用の鍋と器のセットです。火や携帯ストーブの上で食べ物を加熱調理できます。普通の鍋やフライパンと比べるとより浅く作られており、現代的な調理器具セットと違って加熱機能が組み込まれていません。" #: lang/json/GENERIC_from_json.py msgid "radio car box" @@ -41673,6 +42978,43 @@ msgid "" " can also serve as an improvised stabbing weapon, but will break quickly." msgstr "木製のグリップを取り付けた鋼鉄製の千枚通しです。主に革細工に使います。刺突武器として使うこともできそうですが、すぐに壊れてしまうでしょう。" +#: lang/json/GENERIC_from_json.py +msgid "frame loom" +msgid_plural "frame looms" +msgstr[0] "フレーム織機" + +#. ~ Description for frame loom +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a rather bulky and primitive wooden frame which can be used to weave" +" cloth sheets. It is very slow, though." +msgstr "生地を織るために使う、簡単な作りの大きな木製フレームです。織りあげるには非常に時間がかかります。" + +#: lang/json/GENERIC_from_json.py +msgid "wooden shed stick" +msgid_plural "wooden shed sticks" +msgstr[0] "シャトル" + +#. ~ Description for wooden shed stick +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a short thin flat wooden stick, used as a tool while weaving cloth " +"with a frame loom." +msgstr "フレーム織機で生地を織る際に使う、短く平らな木の棒です。" + +#: lang/json/GENERIC_from_json.py +msgid "tailoring pattern set" +msgid_plural "tailoring pattern sets" +msgstr[0] "型紙セット" + +#. ~ Description for tailoring pattern set +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a large set of tailoring patterns made from paper. They're useful " +"for making any kind of cloth or leather items from scratch, but are " +"necessary for more advanced projects." +msgstr "仕立てに使う大量の型紙です。布や革で様々な製品をゼロから作るのにも便利ですが、より複雑なものを作りたい時は必要不可欠です。" + #: lang/json/GENERIC_from_json.py msgid "vehicle alternator" msgid_plural "vehicle alternators" @@ -41802,12 +43144,12 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "oars" msgid_plural "oars" -msgstr[0] "櫂" +msgstr[0] "オール" #. ~ Description for oars #: lang/json/GENERIC_from_json.py msgid "Oars for a boat." -msgstr "ボート用の櫂です。" +msgstr "ボート用のオールです。" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py msgid "sail" @@ -41978,6 +43320,19 @@ msgid "" msgstr "" "サーボモーター、マイコンとその他のデバイスが一纏めになった無人車両の操縦機器です。搭載されているAIは機能しませんが、いくつかのメンテナンスモードがまだ動作するようです。" +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "turret control unit" +msgid_plural "turret control units" +msgstr[0] "タレット制御ユニット" + +#. ~ Description for turret control unit +#: lang/json/GENERIC_from_json.py +msgid "" +"A set of motor, camera, and various electronic modules banded together to " +"allow for tracking targets, friend-or-foe identification, and firing the " +"connected turret in full automatic mode." +msgstr "モーターやカメラなども含む、様々な電子部品のセットです。標的の追跡や敵味方の識別、全自動射撃などの機能が付いた、タレット用の装置です。" + #: lang/json/GENERIC_from_json.py msgid "massive engine block" msgid_plural "massive engine blocks" @@ -42926,6 +44281,18 @@ msgstr[0] "洗濯機" msgid "A very small washing machine designed for use in vehicles." msgstr "車両に取り付けて使用する、非常に小さな洗濯機です。" +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "programmable autopilot" +msgid_plural "programmable autopilots" +msgstr[0] "自動操縦装置" + +#. ~ Description for programmable autopilot +#: lang/json/GENERIC_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of a vehicle to allow" +" it to follow simple paths." +msgstr "車両のステアリングとエンジンに接続して単純な経路を自動で走行できるようにするコンピュータシステムです。" + #: lang/json/GENERIC_from_json.py msgid "mountable autoclave" msgid_plural "mountable autoclaves" @@ -42989,7 +44356,7 @@ msgstr[0] "中型ホイールハブ" #. ~ Description for medium wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." +"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." msgstr "ボルトで車両にホイールを固定する金属部品です。自動車のホイールに適しています。" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py @@ -43000,8 +44367,8 @@ msgstr[0] "大型ホイールハブ" #. ~ Description for heavy wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A heavy metal assembly that allows bolting a wheel on a car. Fit for a large" -" car wheel." +"A heavy metal assembly that allows bolting a wheel on a car. Fit for a " +"large car wheel." msgstr "ボルトで車両にホイールを固定する金属部品です。大型車両のホイールに適しています。" #: lang/json/GENERIC_from_json.py @@ -43647,7 +45014,7 @@ msgstr[0] "弾帯接続金具" #: lang/json/GENERIC_from_json.py msgid "garden pot (growing)" msgid_plural "garden pot (growing)s" -msgstr[0] "栽培用植木鉢(成長)" +msgstr[0] "植木鉢(成長)" #. ~ Description for garden pot (growing) #: lang/json/GENERIC_from_json.py @@ -43659,7 +45026,7 @@ msgstr "何らかの食用植物を栽培中の植木鉢です。このアイテ #: lang/json/GENERIC_from_json.py msgid "garden pot (grown)" msgid_plural "garden pot (grown)s" -msgstr[0] "栽培用植木鉢(完熟)" +msgstr[0] "植木鉢(完熟)" #. ~ Description for garden pot (grown) #: lang/json/GENERIC_from_json.py @@ -43671,7 +45038,7 @@ msgstr "何らかの熟した植物が植わっている植木鉢です。この #: lang/json/GENERIC_from_json.py msgid "garden pot (growing tomato)" msgid_plural "garden pots (growing tomatoes)" -msgstr[0] "栽培用植木鉢(トマト/成長)" +msgstr[0] "植木鉢(トマト/成長)" #. ~ Use action msg for garden pot (growing tomato). #: lang/json/GENERIC_from_json.py @@ -43704,7 +45071,7 @@ msgstr "トマトが植わった植木鉢です。成長が完了したら使用 #: lang/json/GENERIC_from_json.py msgid "garden pot (ripe tomato)" msgid_plural "garden pots (ripe tomatoes)" -msgstr[0] "栽培用植木鉢(トマト/完熟)" +msgstr[0] "植木鉢(トマト/完熟)" #. ~ Description for garden pot (ripe tomato) #: lang/json/GENERIC_from_json.py @@ -43716,7 +45083,7 @@ msgstr "完熟したトマトが植わっている植木鉢です。分解する #: lang/json/GENERIC_from_json.py msgid "garden pot (growing wheat)" msgid_plural "garden pots (growing wheat)" -msgstr[0] "栽培用植木鉢(小麦/成長)" +msgstr[0] "植木鉢(小麦/成長)" #. ~ Use action msg for garden pot (growing wheat). #: lang/json/GENERIC_from_json.py @@ -43733,7 +45100,7 @@ msgstr "小麦が植わった植木鉢です。成長が完了したら使用し #: lang/json/GENERIC_from_json.py msgid "garden pot (ripe wheat)" msgid_plural "garden pots (ripe wheat)" -msgstr[0] "栽培用植木鉢(小麦/完熟)" +msgstr[0] "植木鉢(小麦/完熟)" #. ~ Description for garden pot (ripe wheat) #: lang/json/GENERIC_from_json.py @@ -43745,7 +45112,7 @@ msgstr "小麦を収穫する準備が整った植木鉢です。分解すると #: lang/json/GENERIC_from_json.py msgid "garden pot (growing hops)" msgid_plural "garden pots (growing hops)" -msgstr[0] "栽培用植木鉢(ホップ/成長)" +msgstr[0] "植木鉢(ホップ/成長)" #. ~ Use action msg for garden pot (growing hops). #: lang/json/GENERIC_from_json.py @@ -43762,7 +45129,7 @@ msgstr "ホップが植わった植木鉢です。成長が完了したら使用 #: lang/json/GENERIC_from_json.py msgid "garden pot (ripe hops)" msgid_plural "garden pots (ripe hops)" -msgstr[0] "栽培用植木鉢(ホップ/完熟)" +msgstr[0] "植木鉢(ホップ/完熟)" #. ~ Description for garden pot (ripe hops) #: lang/json/GENERIC_from_json.py @@ -43774,7 +45141,7 @@ msgstr "ホップの花を収穫する準備が整った植木鉢です。分解 #: lang/json/GENERIC_from_json.py msgid "garden pot (growing buckwheat)" msgid_plural "garden pots (growing buckwheat)" -msgstr[0] "栽培用植木鉢(蕎麦/成長)" +msgstr[0] "植木鉢(蕎麦/成長)" #. ~ Use action msg for garden pot (growing buckwheat). #: lang/json/GENERIC_from_json.py @@ -43791,7 +45158,7 @@ msgstr "蕎麦が植わった植木鉢です。成長が完了したら使用し #: lang/json/GENERIC_from_json.py msgid "garden pot (ripe buckwheat)" msgid_plural "garden pots (ripe buckwheat)" -msgstr[0] "栽培用植木鉢(蕎麦/完熟)" +msgstr[0] "植木鉢(蕎麦/完熟)" #. ~ Description for garden pot (ripe buckwheat) #: lang/json/GENERIC_from_json.py @@ -43803,7 +45170,7 @@ msgstr "蕎麦を収穫する準備が整った植木鉢です。分解すると #: lang/json/GENERIC_from_json.py msgid "garden pot (growing broccoli)" msgid_plural "garden pots (growing broccoli)" -msgstr[0] "栽培用植木鉢(ブロッコリー/成長)" +msgstr[0] "植木鉢(ブロッコリー/成長)" #. ~ Use action msg for garden pot (growing broccoli). #: lang/json/GENERIC_from_json.py @@ -43820,7 +45187,7 @@ msgstr "ブロッコリーが植わった植木鉢です。成長が完了した #: lang/json/GENERIC_from_json.py msgid "garden pot (ripe broccoli)" msgid_plural "garden pots (ripe broccoli)" -msgstr[0] "栽培用植木鉢(ブロッコリー/完熟)" +msgstr[0] "植木鉢(ブロッコリー/完熟)" #. ~ Description for garden pot (ripe broccoli) #: lang/json/GENERIC_from_json.py @@ -43832,7 +45199,7 @@ msgstr "ブロッコリーを収穫する準備が整った植木鉢です。分 #: lang/json/GENERIC_from_json.py msgid "garden pot (growing oats)" msgid_plural "garden pots (growing oats)" -msgstr[0] "栽培用植木鉢(燕麦/成長)" +msgstr[0] "植木鉢(燕麦/成長)" #. ~ Use action msg for garden pot (growing oats). #: lang/json/GENERIC_from_json.py @@ -43849,7 +45216,7 @@ msgstr "燕麦が植わった植木鉢です。成長が完了したら使用し #: lang/json/GENERIC_from_json.py msgid "garden pot (ripe oats)" msgid_plural "garden pots (ripe oats)" -msgstr[0] "栽培用植木鉢(燕麦/完熟)" +msgstr[0] "植木鉢(燕麦/完熟)" #. ~ Description for garden pot (ripe oats) #: lang/json/GENERIC_from_json.py @@ -43861,7 +45228,7 @@ msgstr "燕麦を収穫する準備が整った植木鉢です。分解すると #: lang/json/GENERIC_from_json.py msgid "garden pot (growing barley)" msgid_plural "garden pots (growing barley)" -msgstr[0] "栽培用植木鉢(大麦/成長)" +msgstr[0] "植木鉢(大麦/成長)" #. ~ Use action msg for garden pot (growing barley). #: lang/json/GENERIC_from_json.py @@ -43878,7 +45245,7 @@ msgstr "大麦が植わった植木鉢です。成長が完了したら使用し #: lang/json/GENERIC_from_json.py msgid "garden pot (ripe barley)" msgid_plural "garden pots (ripe barley)" -msgstr[0] "栽培用植木鉢(大麦/完熟)" +msgstr[0] "植木鉢(大麦/完熟)" #. ~ Description for garden pot (ripe barley) #: lang/json/GENERIC_from_json.py @@ -43890,7 +45257,7 @@ msgstr "大麦を収穫する準備が整った植木鉢です。分解すると #: lang/json/GENERIC_from_json.py msgid "garden pot (growing carrot)" msgid_plural "garden pots (growing carrots)" -msgstr[0] "栽培用植木鉢(ニンジン/成長)" +msgstr[0] "植木鉢(ニンジン/成長)" #. ~ Use action msg for garden pot (growing carrot). #: lang/json/GENERIC_from_json.py @@ -43907,7 +45274,7 @@ msgstr "ニンジンが植わった植木鉢です。成長が完了したら使 #: lang/json/GENERIC_from_json.py msgid "garden pot (ripe carrot)" msgid_plural "garden pots (ripe carrot)" -msgstr[0] "栽培用植木鉢(ニンジン/完熟)" +msgstr[0] "植木鉢(ニンジン/完熟)" #. ~ Description for garden pot (ripe carrot) #: lang/json/GENERIC_from_json.py @@ -43919,7 +45286,7 @@ msgstr "ニンジンを収穫する準備が整った植木鉢です。分解す #: lang/json/GENERIC_from_json.py msgid "garden pot (growing cotton)" msgid_plural "garden pots (growing cotton)" -msgstr[0] "栽培用植木鉢(綿/成長)" +msgstr[0] "植木鉢(綿/成長)" #. ~ Use action msg for garden pot (growing cotton). #: lang/json/GENERIC_from_json.py @@ -43936,7 +45303,7 @@ msgstr "綿が植わった植木鉢です。成長が完了したら使用して #: lang/json/GENERIC_from_json.py msgid "garden pot (ripe cotton)" msgid_plural "garden pots (ripe cotton)" -msgstr[0] "栽培用植木鉢(綿/完熟)" +msgstr[0] "植木鉢(綿/完熟)" #. ~ Description for garden pot (ripe cotton) #: lang/json/GENERIC_from_json.py @@ -43948,7 +45315,7 @@ msgstr "綿を収穫する準備が整った植木鉢です。分解すると収 #: lang/json/GENERIC_from_json.py msgid "garden pot (growing cabbage)" msgid_plural "garden pots (growing cabbage)" -msgstr[0] "栽培用植木鉢(キャベツ/成長)" +msgstr[0] "植木鉢(キャベツ/成長)" #. ~ Use action msg for garden pot (growing cabbage). #: lang/json/GENERIC_from_json.py @@ -43965,7 +45332,7 @@ msgstr "キャベツが植わった植木鉢です。成長が完了したら使 #: lang/json/GENERIC_from_json.py msgid "garden pot (ripe cabbage)" msgid_plural "garden pots (ripe cabbage)" -msgstr[0] "栽培用植木鉢(キャベツ/完熟)" +msgstr[0] "植木鉢(キャベツ/完熟)" #. ~ Description for garden pot (ripe cabbage) #: lang/json/GENERIC_from_json.py @@ -43977,7 +45344,7 @@ msgstr "キャベツを収穫する準備が整った植木鉢です。分解す #: lang/json/GENERIC_from_json.py msgid "garden pot (growing cucumber)" msgid_plural "garden pots (growing cucumber)" -msgstr[0] "栽培用植木鉢(キュウリ/成長)" +msgstr[0] "植木鉢(キュウリ/成長)" #. ~ Use action msg for garden pot (growing cucumber). #: lang/json/GENERIC_from_json.py @@ -43994,7 +45361,7 @@ msgstr "キュウリが植わった植木鉢です。成長が完了したら使 #: lang/json/GENERIC_from_json.py msgid "garden pot (ripe cucumber)" msgid_plural "garden pots (ripe cucumber)" -msgstr[0] "栽培用植木鉢(キュウリ/完熟)" +msgstr[0] "植木鉢(キュウリ/完熟)" #. ~ Description for garden pot (ripe cucumber) #: lang/json/GENERIC_from_json.py @@ -44006,7 +45373,7 @@ msgstr "キュウリを収穫する準備が整った植木鉢です。分解す #: lang/json/GENERIC_from_json.py msgid "garden pot (growing garlic)" msgid_plural "garden pots (growing garlic)" -msgstr[0] "栽培用植木鉢(ニンニク/成長)" +msgstr[0] "植木鉢(ニンニク/成長)" #. ~ Use action msg for garden pot (growing garlic). #: lang/json/GENERIC_from_json.py @@ -44023,7 +45390,7 @@ msgstr "ニンニクが植わった植木鉢です。成長が完了したら使 #: lang/json/GENERIC_from_json.py msgid "garden pot (ripe garlic)" msgid_plural "garden pots (ripe garlic)" -msgstr[0] "栽培用植木鉢(ニンニク/完熟)" +msgstr[0] "植木鉢(ニンニク/完熟)" #. ~ Description for garden pot (ripe garlic) #: lang/json/GENERIC_from_json.py @@ -44066,6 +45433,26 @@ msgid "" "art." msgstr "サイボーグ格闘術創始者の哲学と技術について詳しく記した伝記です。" +#: lang/json/GENERIC_from_json.py +msgid "The Iron Whip" +msgid_plural "The Iron Whips" +msgstr[0] "鉄鞭" + +#. ~ Use action msg for The Iron Whip. +#: lang/json/GENERIC_from_json.py +msgid "" +"You loop the whip in your hand and it coils back into a belt form in an " +"instant." +msgstr "輪の形状にした鉄鞭は一瞬でベルトに変形しました。" + +#. ~ Description for The Iron Whip +#: lang/json/GENERIC_from_json.py +msgid "" +"A long braided flexible steel bullwhip that narrows into a sharp blade at " +"the end. Easily capable of slicing and dicing anything that comes at you. " +"It transforms back into a belt." +msgstr "先端が刃のように鋭く尖った、長く柔軟な鋼鉄の鞭です。敵を簡単に細かく切り刻めます。使用すると変形してベルトになります。" + #: lang/json/GENERIC_from_json.py msgid "cudgel +1" msgid_plural "cudgel +1s" @@ -44486,6 +45873,345 @@ msgid "dao +2" msgid_plural "dao +2s" msgstr[0] "刀(dao)+2" +#: lang/json/GENERIC_from_json.py +msgid "Biomancer spear" +msgid_plural "Biomancer spears" +msgstr[0] "魔法の骨槍" + +#. ~ Description for Biomancer spear +#: lang/json/GENERIC_from_json.py +msgid "" +"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer " +"rune embedded at the base of the head." +msgstr "頑丈な木の棒に不気味な骨の槍が固定されています。槍の付け根にバイオマンサーのルーンが埋め込まれています。" + +#: lang/json/GENERIC_from_json.py +msgid "Technomancer toolbar" +msgid_plural "Technomancer toolbars" +msgstr[0] "魔法のバール" + +#. ~ Description for Technomancer toolbar +#: lang/json/GENERIC_from_json.py +msgid "" +"This staff incorporates a sturdy cresent wrench on top of a prybar and a " +"hammer on the other in a convienent package. There is a Technomancer rune " +"embedded in the hammerhead." +msgstr "バールの上部には頑丈な自在スパナが、もう一方の端にはハンマーが内蔵されています。ハンマーの頭にテクノマンサーのルーンが埋め込まれています。" + +#: lang/json/GENERIC_from_json.py +msgid "Magus staff" +msgid_plural "Magus staves" +msgstr[0] "魔法使いの杖" + +#. ~ Description for {'str': 'Magus staff', 'str_pl': 'Magus staves'} +#: lang/json/GENERIC_from_json.py +msgid "" +"A quarterstaff with runes carved into it and two glass jars, heat-tempered " +"and infused with mana for durability, to act as mana receptacles. There are" +" two Magi runes embedded at the tips." +msgstr "" +"ルーン文字が刻まれた六尺棒に、耐熱性と耐久性を備えた2つのガラス瓶が固定されており、瓶の中にはマナを保管できるようになっています。先端には魔法使いのルーンが2つ埋め込まれています。" + +#: lang/json/GENERIC_from_json.py +msgid "Kelvinist flamberge" +msgid_plural "Kelvinist flamberges" +msgstr[0] "魔法のフランベルジュ" + +#. ~ Description for Kelvinist flamberge +#: lang/json/GENERIC_from_json.py +msgid "" +"A sword with an undulating blade, reminiscent of a flame. There is a " +"Kelvinist rune embedded in the pommel." +msgstr "炎のような波状の刃をもつ剣です。柄頭にケルビニストのルーンが埋め込まれています。" + +#: lang/json/GENERIC_from_json.py +msgid "Stormshaper axe" +msgid_plural "Stormshaper axes" +msgstr[0] "魔法の斧" + +#. ~ Description for Stormshaper axe +#: lang/json/GENERIC_from_json.py +msgid "" +"A forged copper axe with silver trimmings and a wooden handle. There is a " +"Stormshaper rune embedded in the eye." +msgstr "木製の持ち手に固定された、銀の縁飾りが付いた鍛造銅製の斧です。中心部にストームシェイパーのルーンが埋め込まれています。" + +#: lang/json/GENERIC_from_json.py +msgid "Animist athame" +msgid_plural "Animist athames" +msgstr[0] "魔法のアサメ" + +#. ~ Description for Animist athame +#: lang/json/GENERIC_from_json.py +msgid "" +"A steel ritual knife used by Animists to draw blood for summoning. Their " +"school rune is embedded in the crossguard." +msgstr "アニミストが召喚用の血を採取する時に使う、鋼鉄製の儀式用ナイフです。十字型の鍔にアニミストのルーンが埋め込まれています。" + +#: lang/json/GENERIC_from_json.py +msgid "springstaff(baton)" +msgid_plural "springstaves(baton)" +msgstr[0] "折り畳み杖(折畳)" + +#. ~ Use action menu_text for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "Extend to staff" +msgstr "展開する" + +#. ~ Use action msg for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "You snap open your springstaff into staff mode." +msgstr "折り畳み杖を展開しました。" + +#. ~ Description for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips retracted while in baton configuration. Activate to extend." +msgstr "テクノマンサーの技術で強化したバネを使って折り畳めるように改造した可変式の杖です。使用すると杖を展開します。" + +#: lang/json/GENERIC_from_json.py +msgid "springstaff(staff)" +msgid_plural "springstaves(staff)" +msgstr[0] "折り畳み杖(展開)" + +#. ~ Use action menu_text for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "Retract to baton" +msgstr "折り畳む" + +#. ~ Use action msg for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "You collapse your springstaff into baton mode." +msgstr "折り畳み杖を折り畳みました。" + +#. ~ Description for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips from retracting while in staff configuration. Activate to extend." +msgstr "テクノマンサーの技術で強化したバネを使って折り畳めるように改造した可変式の杖です。使用すると杖を折り畳みます。" + +#: lang/json/GENERIC_from_json.py +msgid "magic token" +msgid_plural "magic tokens" +msgstr[0] "魔法硬貨" + +#: lang/json/GENERIC_from_json.py +msgid "longsword token" +msgid_plural "longsword tokens" +msgstr[0] "魔法硬貨(ロングソード)" + +#. ~ Use action msg for longsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine longsword!" +msgstr "裏面に刻まれた呪文を唱えると、硬貨は急速に変化し、真新しいロングソードになりました!" + +#. ~ Description for longsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a longsword." +msgstr "裏面に刻まれた呪文を読み上げると表面に描かれた物に変化する、大きな銀貨です。この硬貨にはロングソードが描かれています。" + +#: lang/json/GENERIC_from_json.py +msgid "arming sword token" +msgid_plural "arming sword tokens" +msgstr[0] "魔法硬貨(アーミングソード)" + +#. ~ Use action msg for arming sword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine arming sword!" +msgstr "裏面に刻まれた呪文を唱えると、硬貨は急速に変化し、真新しいアーミングソードになりました!" + +#. ~ Description for arming sword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case an arming sword." +msgstr "裏面に刻まれた呪文を読み上げると表面に描かれた物に変化する、大きな銀貨です。この硬貨にはアーミングソードが描かれています。" + +#: lang/json/GENERIC_from_json.py +msgid "broadsword token" +msgid_plural "broadsword tokens" +msgstr[0] "魔法硬貨(ブロードソード)" + +#. ~ Use action msg for broadsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine broadsword!" +msgstr "裏面に刻まれた呪文を唱えると、硬貨は急速に変化し、真新しいブロードソードになりました!" + +#. ~ Description for broadsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a broadsword." +msgstr "裏面に刻まれた呪文を読み上げると表面に描かれた物に変化する、大きな銀貨です。この硬貨にはブロードソードが描かれています。" + +#: lang/json/GENERIC_from_json.py +msgid "battleaxe token" +msgid_plural "battleaxe tokens" +msgstr[0] "魔法硬貨(バトルアックス)" + +#. ~ Use action msg for battleaxe token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine battle axe!" +msgstr "裏面に刻まれた呪文を唱えると、硬貨は急速に変化し、真新しいバトルアックスになりました!" + +#. ~ Description for battleaxe token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a battle axe." +msgstr "裏面に刻まれた呪文を読み上げると表面に描かれた物に変化する、大きな銀貨です。この硬貨にはバトルアックスが描かれています。" + +#: lang/json/GENERIC_from_json.py +msgid "pike token" +msgid_plural "pike tokens" +msgstr[0] "魔法硬貨(パイク)" + +#. ~ Use action msg for pike token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine pike!" +msgstr "裏面に刻まれた呪文を唱えると、硬貨は急速に変化し、真新しいパイクになりました!" + +#. ~ Description for pike token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a pike." +msgstr "裏面に刻まれた呪文を読み上げると表面に描かれた物に変化する、大きな銀貨です。この硬貨にはパイクが描かれています。" + +#: lang/json/GENERIC_from_json.py +msgid "mace token" +msgid_plural "mace tokens" +msgstr[0] "魔法硬貨(メイス)" + +#. ~ Use action msg for mace token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine mace!" +msgstr "裏面に刻まれた呪文を唱えると、硬貨は急速に変化し、真新しいメイスになりました!" + +#. ~ Description for mace token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a mace." +msgstr "裏面に刻まれた呪文を読み上げると表面に描かれた物に変化する、大きな銀貨です。この硬貨にはメイスが描かれています。" + +#: lang/json/GENERIC_from_json.py +msgid "quarterstaff token" +msgid_plural "quarterstaff tokens" +msgstr[0] "魔法硬貨(六尺棒)" + +#. ~ Use action msg for quarterstaff token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a pristine quarterstaff!" +msgstr "裏面に刻まれた呪文を唱えると、硬貨は急速に変化し、真新しい六尺棒になりました!" + +#. ~ Description for quarterstaff token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a quarterstaff." +msgstr "裏面に刻まれた呪文を読み上げると表面に描かれた物に変化する、大きな銀貨です。この硬貨には六尺棒が描かれています。" + +#: lang/json/GENERIC_from_json.py +msgid "hammer token" +msgid_plural "hammer tokens" +msgstr[0] "魔法硬貨(ハンマー)" + +#. ~ Use action msg for hammer token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine hammer!" +msgstr "裏面に刻まれた呪文を唱えると、硬貨は急速に変化し、真新しいハンマーになりました!" + +#. ~ Description for hammer token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a hammer." +msgstr "裏面に刻まれた呪文を読み上げると表面に描かれた物に変化する、大きな銀貨です。この硬貨にはハンマーが描かれています。" + +#: lang/json/GENERIC_from_json.py +msgid "screwdriver set token" +msgid_plural "screwdriver set tokens" +msgstr[0] "魔法硬貨(ドライバーセット)" + +#. ~ Use action msg for screwdriver set token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine screwdriver set!" +msgstr "裏面に刻まれた呪文を唱えると、硬貨は急速に変化し、真新しいドライバーセットになりました!" + +#. ~ Description for screwdriver set token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a screwdriver." +msgstr "裏面に刻まれた呪文を読み上げると表面に描かれた物に変化する、大きな銀貨です。この硬貨にはドライバーセットが描かれています。" + +#: lang/json/GENERIC_from_json.py +msgid "toolbox token" +msgid_plural "toolbox tokens" +msgstr[0] "魔法硬貨(工具箱)" + +#. ~ Use action msg for toolbox token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine toolbox!" +msgstr "裏面に刻まれた呪文を唱えると、硬貨は急速に変化し、真新しい工具箱になりました!" + +#. ~ Description for toolbox token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a toolbox." +msgstr "裏面に刻まれた呪文を読み上げると表面に描かれた物に変化する、大きな銀貨です。この硬貨には工具箱が描かれています。" + +#: lang/json/GENERIC_from_json.py +msgid "crowbar token" +msgid_plural "crowbar tokens" +msgstr[0] "魔法硬貨(バール)" + +#. ~ Use action msg for crowbar token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine crowbar!" +msgstr "裏面に刻まれた呪文を唱えると、硬貨は急速に変化し、真新しいバールになりました!" + +#. ~ Description for crowbar token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a crowbar." +msgstr "裏面に刻まれた呪文を読み上げると表面に描かれた物に変化する、大きな銀貨です。この硬貨にはバールが描かれています。" + #: lang/json/GENERIC_from_json.py msgid "cestus +1" msgid_plural "cestus +1s" @@ -44532,6 +46258,21 @@ msgid "" "to land astoundingly powerful blows." msgstr "魔術的な紋様で覆われた金属製の大きな籠手です。驚くほど強力な打撃攻撃を繰り出せます。" +#: lang/json/GENERIC_from_json.py +msgid "Earthshaper cestus" +msgid_plural "Earthshaper cesti" +msgstr[0] "魔法の拳闘グローブ" + +#. ~ Description for {'str': 'Earthshaper cestus', 'str_pl': 'Earthshaper +#. cesti'} +#: lang/json/GENERIC_from_json.py +msgid "" +"A stone battle glove with carved runes encasing the hand, protecting it " +"while increasing striking power. There is an Earthshaper rune embedded in " +"the palm." +msgstr "" +"ルーン文字が刻まれた石を巻き付けた、拳闘用グローブです。拳を保護しつつ打撃力を高めます。掌の部分にはアースシェイパーのルーンが埋め込まれています。" + #: lang/json/GENERIC_from_json.py msgid "stone shell" msgid_plural "stone shells" @@ -44611,6 +46352,18 @@ msgid "" msgstr "" "ブレイが大地を突き破る時、えらに微量の貴金属や宝石が集まります。それらが徐々に一つに固まることで、美しさと力を備えた光沢のある宝石が生まれます。" +#: lang/json/GENERIC_from_json.py +msgid "stirge proboscis" +msgid_plural "stirge proboscises" +msgstr[0] "スタージの口吻" + +#. ~ Description for stirge proboscis +#: lang/json/GENERIC_from_json.py +msgid "" +"A long sucking apparatus harvested from stirge corpse. Makes a poor melee " +"weapon." +msgstr "スタージの死体から切り取った口吻です。簡素な近接武器になります。" + #: lang/json/GENERIC_from_json.py msgid "black dragon scale" msgid_plural "black dragon scales" @@ -44635,95 +46388,6 @@ msgid "" "scales could make a suit of armor as hard as steel and half as heavy." msgstr "加工したブラックドラゴンの皮です。硬く酸に強い特性があり、鱗と合わせれば鋼鉄のように硬く非常に軽い鎧を制作できます。" -#: lang/json/GENERIC_from_json.py -msgid "Biomancer spear" -msgid_plural "Biomancer spears" -msgstr[0] "魔法の骨槍" - -#. ~ Description for Biomancer spear -#: lang/json/GENERIC_from_json.py -msgid "" -"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer rune" -" embedded at the base of the head." -msgstr "頑丈な木の棒に不気味な骨の槍が固定されています。槍の付け根にバイオマンサーのルーンが埋め込まれています。" - -#: lang/json/GENERIC_from_json.py -msgid "Technomancer toolbar" -msgid_plural "Technomancer toolbars" -msgstr[0] "魔法のバール" - -#. ~ Description for Technomancer toolbar -#: lang/json/GENERIC_from_json.py -msgid "" -"This staff incorporates a sturdy cresent wrench on top of a prybar and a " -"hammer on the other in a convienent package. There is a Technomancer rune " -"embedded in the hammerhead." -msgstr "バールの上部には頑丈な自在スパナが、もう一方の端にはハンマーが内蔵されています。ハンマーの頭にテクノマンサーのルーンが埋め込まれています。" - -#: lang/json/GENERIC_from_json.py -msgid "Magus staff" -msgid_plural "Magus staffs" -msgstr[0] "魔法の杖" - -#. ~ Description for Magus staff -#: lang/json/GENERIC_from_json.py -msgid "" -"A quarterstaff with runes carved into it and two glass jars, heat-tempered " -"and infused with mana for durability, to act as mana receptacles. There are " -"two Magi runes embedded at the tips." -msgstr "" -"ルーン文字が刻まれた六尺棒に、耐熱性と耐久性を備えた2つのガラス瓶が固定されており、瓶の中にはマナを保管できるようになっています。先端には魔法使いのルーンが2つ埋め込まれています。" - -#: lang/json/GENERIC_from_json.py -msgid "Earthshaper cestus" -msgid_plural "Earthshaper cesti" -msgstr[0] "魔法の拳闘グローブ" - -#. ~ Description for Earthshaper cestus -#: lang/json/GENERIC_from_json.py -msgid "" -"A stone battle glove with carved runes encasing the hand, protecting it " -"while increasing striking power. There is an Earthshaper rune embedded in " -"the palm." -msgstr "" -"ルーン文字が刻まれた石を巻き付けた拳闘用グローブです。拳を保護しつつ打撃力を高めます。掌の部分にはアースシェイパーのルーンが埋め込まれています。" - -#: lang/json/GENERIC_from_json.py -msgid "Kelvinist flamberge" -msgid_plural "Kelvinist flamberges" -msgstr[0] "魔法のフランベルジュ" - -#. ~ Description for Kelvinist flamberge -#: lang/json/GENERIC_from_json.py -msgid "" -"A sword with an undulating blade, reminiscent of a flame. There is a " -"Kelvinist rune embedded in the pommel." -msgstr "炎のような波状の刃をもつ剣です。柄頭にケルビニストのルーンが埋め込まれています。" - -#: lang/json/GENERIC_from_json.py -msgid "Stormshaper axe" -msgid_plural "Stormshaper axes" -msgstr[0] "魔法の斧" - -#. ~ Description for Stormshaper axe -#: lang/json/GENERIC_from_json.py -msgid "" -"A forged copper axe with silver trimmings and a wooden handle. There is a " -"Stormshaper rune embedded in the eye." -msgstr "木製の把手に固定された、銀の縁飾りが付いた鍛造銅製の斧です。中心部にストームシェイパーのルーンが埋め込まれています。" - -#: lang/json/GENERIC_from_json.py -msgid "Animist athame" -msgid_plural "Animist athames" -msgstr[0] "魔法のアサメ" - -#. ~ Description for Animist athame -#: lang/json/GENERIC_from_json.py -msgid "" -"A steel ritual knife used by Animists to draw blood for summoning. Their " -"school rune is embedded in the crossguard." -msgstr "アニミストが召喚用の血を採取する時に使う鋼鉄製の儀式用ナイフです。十字型の鍔にアニミストのルーンが埋め込まれています。" - #: lang/json/GENERIC_from_json.py msgid "lesser staff of the magi" msgid_plural "lesser staves of the magi" @@ -44736,6 +46400,16 @@ msgid "" "glows with magic when you cast spells, but it is not a sturdy melee weapon." msgstr "魔法の木とミスリルで作られた、美しい装飾付きの杖です。呪文を唱える際にかすかに光ります。頑丈な近接武器ではありません。" +#: lang/json/GENERIC_from_json.py +msgid "fireball hammer" +msgid_plural "fireball hammers" +msgstr[0] "火球の槌" + +#. ~ Description for fireball hammer +#: lang/json/GENERIC_from_json.py +msgid "Use with caution! Flammable! Explosive!" +msgstr "使用にはご注意を!燃えます!爆発します!" + #: lang/json/GENERIC_from_json.py msgid "The Stormhammer" msgid_plural "The Stormhammers" @@ -44782,6 +46456,55 @@ msgstr[0] "骨の槍" msgid "This is a wicked spear/halberd hybrid entirely created of bone." msgstr "槍やハルバードに似た、骨から作られた邪悪な武器です。" +#. ~ Description for Mjölnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Mjölnir, the legendary hammer of Thor. It is rumored to be able to level " +"mountains with a single blow. You feel the power of Asgard coursing through" +" the hammer." +msgstr "ミョルニールと呼ばれる雷神トールの戦鎚です。一振りで山脈を叩き潰して平野に変えると言われています。鎚を通してアスガルドの力が感じられます。" + +#: lang/json/GENERIC_from_json.py +msgid "Gungnir" +msgid_plural "Gungnirs" +msgstr[0] "グングニル" + +#. ~ Description for Gungnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Gungnir, the spear of Odin. It is rumored to be the perfect spear, " +"perfectly hitting any target regardless of the wielder's strength or skill." +" If feels like Odin's protecting you." +msgstr "" +"グングニルと呼ばれるオーディンの槍です。装備した者の力や技量に関係なく、どのような標的にも命中すると言われています。オーディンの加護が感じられます。" + +#: lang/json/GENERIC_from_json.py +msgid "Gram" +msgid_plural "Grams" +msgstr[0] "グラム" + +#. ~ Description for Gram +#: lang/json/GENERIC_from_json.py +msgid "" +"Gram, the sword of Sigurd. It is rumored to be the sword that slayed the " +"legendary dragon, Fafnir. Once said to have cleaved Regin's anvil in half, " +"the edge is impeccable." +msgstr "" +"グラムと呼ばれるシグルズの剣です。伝説のドラゴンであるファフニールを殺した剣であると言われています。かつてレギンの金床を真っ二つに切断したという話も頷ける鋭さです。" + +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py +msgid "Laevateinn" +msgid_plural "Laevateinns" +msgstr[0] "レーヴァテイン" + +#. ~ Description for Laevateinn +#: lang/json/GENERIC_from_json.py +msgid "" +"Laevateinn, the staff of Loki. Said to have been plucked from the gates of " +"Hel by Loki. Imbued with a mysterious magic, the magic of the trickster god" +" himself." +msgstr "レーヴァテインと呼ばれるロキの杖です。ロキが死の扉の下より引き揚げたと言われています。秩序を乱す神の魔力が染み込んでいます。" + #: lang/json/GENERIC_from_json.py msgid "Spell Scroll" msgid_plural "Spell Scrolls" @@ -45008,8 +46731,8 @@ msgstr[0] "巻物(ブラインディング・フラッシュ)" #. ~ Description for Blinding Flash #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" -"Blind enemies for a short time with a sudden, dazzling light. Higher levels " -"deal slightly higher damage." +"Blind enemies for a short time with a sudden, dazzling light. Higher levels" +" deal slightly higher damage." msgstr "眩い光を発生させて敵を短時間盲目にします。レベルが高いほど威力も少しずつ高くなります。" #: lang/json/GENERIC_from_json.py @@ -45022,7 +46745,7 @@ msgstr[0] "巻物(エーテル・グラスプ)" #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" "A mass of spectral hands emerge from the ground, slowing everything in " -"range. Higher levels allow a bigger AoE, and longer effect." +"range. Higher levels allow a bigger AoE, and longer effect." msgstr "霊体の針が地面から大量に出現し、範囲内の全てのモンスターの速度が低下します。レベルが高いほど効果範囲が広くなり、効果時間も長くなります。" #: lang/json/GENERIC_from_json.py @@ -45734,10 +47457,48 @@ msgstr[0] "巻物(ピュリフィケーション・シード)" #. ~ Description for Scroll of Purification Seed #: lang/json/GENERIC_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Greater levels yield" -" greater numbers of seeds." +"You summon a gift of the earth which will purify water. Greater levels " +"yield greater numbers of seeds." msgstr "浄水効果を持つ種が大地から贈られます。レベルが高いほど得られる種の数が増加します。" +#: lang/json/GENERIC_from_json.py +msgid "Scroll of X-ray Vision" +msgid_plural "Scroll of X-ray Visions" +msgstr[0] "巻物(エックスレイ・ビジョン)" + +#. ~ Description for Scroll of X-ray Vision +#. ~ Description for X-ray Vision +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You fire a cone of X-rays that magically allow you to see that area for a " +"short time." +msgstr "X線を円錐状に照射して、その範囲内を短時間透視できます。" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Clairvoyance" +msgid_plural "Scroll of Clairvoyances" +msgstr[0] "巻物(クレアボイアンス)" + +#. ~ Description for Scroll of Clairvoyance +#. ~ Description for Clairvoyance +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "You close your eyes and the earth surrenders its secrets to you." +msgstr "目を閉じると、大地の秘密が明らかになります。" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Lava Bomb" +msgid_plural "Scroll of Lava Bombs" +msgstr[0] "巻物(ラヴァ・ボム)" + +#. ~ Description for Scroll of Lava Bomb +#. ~ Description for Lava Bomb +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You tear up the ground beneath you to fire a lava bomb: a globe of lava " +"surrounded by hot, solid rock. It shatters upon impact, spraying shards of " +"rock and lava everywhere." +msgstr "硬い岩で覆われた熱い溶岩の爆弾が、地面を引き裂き飛び出します。溶岩爆弾は衝撃で砕け、岩や溶岩の破片を至るところにまき散らします。" + #: lang/json/GENERIC_from_json.py msgid "A Technomancer's Guide to Debugging C:DDA" msgid_plural "A Technomancer's Guide to Debugging C:DDAs" @@ -46553,11 +48314,6 @@ msgid "" "ornaments." msgstr "ミョルニールと呼ばれる雷神トールの戦鎚のレプリカです。一振りで山脈を叩き潰して平野に変えると言われています。金や銀の装飾が施されています。" -#: lang/json/GENERIC_from_json.py -msgid "Gungnir" -msgid_plural "Gungnirs" -msgstr[0] "グングニル" - #. ~ Description for Gungnir #: lang/json/GENERIC_from_json.py msgid "" @@ -47442,6 +49198,299 @@ msgstr "アーティファクト" msgid "ARMOR" msgstr "防具" +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "ITEMS WORN" +msgstr "着用中" + +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "WEAPON HELD" +msgstr "装備中" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Unsorted" +msgstr "分類: 仮置場" + +#. ~ Description for Loot: Unsorted +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " +"sort items inside. It can overlap with Loot zones of different types." +msgstr "" +"まだ分類していないアイテムを置く区域です。区域作業として「分類」を実行することで内部のアイテムを分類できます。別の分類区域と重複する可能性があります。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Food" +msgstr "分類: 食料" + +#. ~ Description for Loot: Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for comestibles. If more specific food zone is not defined, all" +" food is moved here." +msgstr "食料を置く区域です。より具体的な食料分類を指定していない場合、全ての食料はここに移動されます。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Food" +msgstr "分類: 生鮮食料" + +#. ~ Description for Loot: P.Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for perishable comestibles. Does include perishable drinks if " +"such zone is not specified." +msgstr "腐敗する食料を置く区域です。他に該当する区域を指定していない場合、生鮮飲料はここに移動されます。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drink" +msgstr "分類: 飲料" + +#. ~ Description for Loot: Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for drinks. Does include perishable drinks if such zone is not " +"specified." +msgstr "飲料を置く区域です。生鮮飲料の区域を指定していない場合、生鮮飲料はここに移動されます。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Drink" +msgstr "分類: 生鮮飲料" + +#. ~ Description for Loot: P.Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for perishable drinks." +msgstr "腐敗する飲料を置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Guns" +msgstr "分類: 銃器" + +#. ~ Description for Loot: Guns +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for guns, bows and similar wearpons." +msgstr "銃、弓などの射撃武器を置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Magazines" +msgstr "分類: 弾倉" + +#. ~ Description for Loot: Magazines +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for gun magazines." +msgstr "銃の弾倉を置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ammo" +msgstr "分類: 弾薬" + +#. ~ Description for Loot: Ammo +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for ammo." +msgstr "弾薬を置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Weapons" +msgstr "分類: 武器" + +#. ~ Description for Loot: Weapons +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for melee weapons." +msgstr "近接武器を置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Tools" +msgstr "分類: 道具" + +#. ~ Description for Loot: Tools +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for tools." +msgstr "道具を置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Clothing" +msgstr "分類: 衣類" + +#. ~ Description for Loot: Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for clothing. Does include filthy clothing if such zone is not " +"specified." +msgstr "衣類を置く区域です。他に該当する区域を指定していない場合、不潔な衣類はここに移動されます。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Clothing" +msgstr "分類: 不潔な衣類" + +#. ~ Description for Loot: F.Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy clothing." +msgstr "不潔な衣類を置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drugs" +msgstr "分類: 薬品" + +#. ~ Description for Loot: Drugs +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for drugs and other medical items." +msgstr "薬品や衣料品を置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Books" +msgstr "分類: 本" + +#. ~ Description for Loot: Books +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for books and magazines." +msgstr "本や雑誌を置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mods" +msgstr "分類: MOD" + +#. ~ Description for Loot: Mods +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firearm modifications and similar items." +msgstr "銃器用MODなどを置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mutagens" +msgstr "分類: 変異原" + +#. ~ Description for Loot: Mutagens +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for mutagens, serums, and purifiers." +msgstr "変異原、血清、変異治療薬を置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Bionics" +msgstr "分類: CBM" + +#. ~ Description for Loot: Bionics +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for Compact Bionics Modules, a.k.a. CBMS." +msgstr "生体部品、いわゆるCBMを置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: V.Parts" +msgstr "分類: 車両部品" + +#. ~ Description for Loot: V.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for vehicle parts." +msgstr "車両部品を置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Other" +msgstr "分類: その他" + +#. ~ Description for Loot: Other +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for other miscellaneous items." +msgstr "その他の雑多なアイテムを置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Fuel" +msgstr "分類: 燃料" + +#. ~ Description for Loot: Fuel +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for gasoline, diesel, lamp oil and other substances used as a " +"fuel." +msgstr "燃料として利用するガソリン、軽油、ランプオイルなどを置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Seeds" +msgstr "分類: 種" + +#. ~ Description for Loot: Seeds +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for seeds, stems and similar items." +msgstr "種や茎などを置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Chemical" +msgstr "分類: 化学物質" + +#. ~ Description for Loot: Chemical +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for chemicals." +msgstr "化学物質を置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: S.Parts" +msgstr "分類: 予備部品" + +#. ~ Description for Loot: S.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for spare parts." +msgstr "予備部品を置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Artifacts" +msgstr "分類: アーティファクト" + +#. ~ Description for Loot: Artifacts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for artifacts" +msgstr "アーティファクトを置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Corpses" +msgstr "分類: 死体" + +#. ~ Description for Loot: Corpses +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for corpses" +msgstr "死体を置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Armor" +msgstr "分類: 防具" + +#. ~ Description for Loot: Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for armor. Does include filthy armor if such zone is not " +"specified." +msgstr "防具を置く区域です。他に該当する区域を指定していない場合、不潔な防具はここに移動されます。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Armor" +msgstr "分類: 不潔な防具" + +#. ~ Description for Loot: F.Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy armor." +msgstr "不潔な防具を置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Wood" +msgstr "分類: 木材" + +#. ~ Description for Loot: Wood +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firewood and items that can be used as such." +msgstr "焚き木として利用できるアイテムを置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Custom" +msgstr "分類: カスタム" + +#. ~ Description for Loot: Custom +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for loot with a custom filter that you can modify" +msgstr "自由に変更できるフィルタを適用したアイテムを置く区域です。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ignore" +msgstr "分類: 無視" + +#. ~ Description for Loot: Ignore +#: lang/json/LOOT_ZONE_from_json.py +msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." +msgstr "この区域内のアイテムは区域行動の「分類」時に無視されます。" + #: lang/json/MAGAZINE_from_json.py msgid "ultra-light battery" msgid_plural "ultra-light batteries" @@ -47653,7 +49702,7 @@ msgstr[0] "乾電池(大)" #: lang/json/MAGAZINE_from_json.py msgid "" "This is a heavy battery cell, universally compatible with all kinds of " -"industrial-grade equipment and large tools. The battery's chemistry means " +"industrial-grade equipment and large tools. The battery's chemistry means " "that it has a very high capacity, but cannot be recharged." msgstr "" "様々な種類の工業用機器や大型電動工具に対応した、大型の単電池です。その化学的性質のお陰で非常に高容量ですが、一度使い切ると充電はできません。" @@ -48146,15 +50195,6 @@ msgstr "弾倉(.357口径SIG/P320)" msgid "A 14 round double stack box magazine for the SIG Sauer P320." msgstr "SIG P320に対応する、14発鋼鉄製ダブルスタック箱型弾倉です。" -#: lang/json/MAGAZINE_from_json.py -msgid "Taurus .38 magazine" -msgstr "弾倉(.38口径/タウルスPro)" - -#. ~ Description for Taurus .38 magazine -#: lang/json/MAGAZINE_from_json.py -msgid "A compact steel box magazine for use with the Taurus Pro .38 pistol." -msgstr "タウルスProに対応する小型の鋼鉄製箱型弾倉です。" - #: lang/json/MAGAZINE_from_json.py msgid ".38/.357 7-round speedloader" msgstr "スピードローダー(.38口径・.357口径/7発)" @@ -48230,6 +50270,16 @@ msgstr "ハイポイントCF-380に対応する、8発鋼鉄製箱型弾倉で msgid "A 10-round steel box magazine for use with the Hi-Point CF-380." msgstr "ハイポイントCF-380に対応する、10発鋼鉄製箱型弾倉です。" +#: lang/json/MAGAZINE_from_json.py +msgid "Taurus Spectrum magazine" +msgstr "弾倉(.380口径/タウルススペクトラム)" + +#. ~ Description for Taurus Spectrum magazine +#: lang/json/MAGAZINE_from_json.py +msgid "" +"A compact, 6-round steel box magazine for use with the Taurus Spectrum." +msgstr "タウルススペクトラムに対応する小型の6発鋼鉄製箱型弾倉です。" + #: lang/json/MAGAZINE_from_json.py msgid "M1911 .38 Super magazine" msgstr "弾倉(.38口径スーパー/M1911)" @@ -49251,17 +51301,6 @@ msgid "" "is marked with several faded and now unreadable symbols." msgstr "加圧された溶接ガスを保存するための大きな金属製シリンダーです。表面にいくつか記号が記されていますが、色あせていて読むことはできません。" -#: lang/json/MAGAZINE_from_json.py -msgid "oxygen cylinder" -msgstr "酸素ボンベ" - -#. ~ Description for oxygen cylinder -#: lang/json/MAGAZINE_from_json.py -msgid "" -"A large steel cylinder used for storing pressurized gas. It is marked with a" -" faded, but legible O2 symbol." -msgstr "加圧されたガスを保存するための大きな鋼鉄製シリンダーです。表面は色あせていますが、酸素のシンボルマークは簡単に読み取れます。" - #: lang/json/MAGAZINE_from_json.py lang/json/vehicle_part_from_json.py msgid "car battery" msgid_plural "car batteries" @@ -49946,6 +51985,15 @@ msgid "" " hit in combat, infections." msgstr "ゾンビが落とした不潔な服を着用すると意欲が下がり、その状態で攻撃を受けると感染症になります。" +#: lang/json/MOD_INFO_from_json.py +msgid "Fuji's Military Profession Pack" +msgstr "追加 - Fuji's軍職パック" + +#. ~ Description for Fuji's Military Profession Pack +#: lang/json/MOD_INFO_from_json.py +msgid "Numerous military themed professions" +msgstr "軍事に関する職業を多数追加します。" + #: lang/json/MOD_INFO_from_json.py msgid "Fuji's More Buildings" msgstr "追加 - Fuji's建物MOD" @@ -50103,9 +52151,8 @@ msgstr "追加 - 菓子人間" msgid "" "Cataclysm is nice, but what if you could sweeten it a bit? What about " "walking through this world as a human shaped piece of sugar with your pet " -"necco waffer?" -msgstr "" -"いつものカタクリズムも良いですが、もっと甘いものはいかがですか?人型の砂糖菓子になって、ラムネ菓子のペットと一緒にこの世界を巡ってみませんか?" +"necco wafer?" +msgstr "いつものカタクリズムも良いですが、もっと甘い世界はいかが?人型の砂糖菓子になって、ラムネ菓子のペットと一緒にこの世界を巡ってみませんか?" #: lang/json/MOD_INFO_from_json.py msgid "NPC traits" @@ -50701,10 +52748,10 @@ msgstr "川や水辺などでよく見かけるマガモの一種です。大変 #: lang/json/MONSTER_from_json.py msgid "goose" -msgid_plural "gooses" +msgid_plural "geese" msgstr[0] "ガン" -#. ~ Description for goose +#. ~ Description for {'str': 'goose', 'str_pl': 'geese'} #: lang/json/MONSTER_from_json.py msgid "A Canadian goose, a common waterfowl that regrets leaving Canada." msgstr "カナダから飛んできてしまった気の毒なカナダガンです。一般的な水鳥です。" @@ -50971,55 +53018,55 @@ msgstr[0] "マンハック(小型原子爆弾)" #: lang/json/MONSTER_from_json.py msgid "" "Many times as large as a normal manhack, this flying quadcopter drone " -"appears to have a mininuke inside. If this is targeting you... Run." +"appears to have a mininuke inside. If this is targeting you… Run." msgstr "4つの回転翼を備えた通常の何倍も大きなマンハックです。小型原子爆弾を内蔵しているようです。もしも運悪く標的にされたなら...逃げましょう。" #: lang/json/MONSTER_from_json.py msgid "tiny fish" -msgid_plural "tiny fishs" +msgid_plural "tiny fish" msgstr[0] "魚(極小)" -#. ~ Description for tiny fish +#. ~ Description for {'str': 'tiny fish', 'str_pl': 'tiny fish'} #: lang/json/MONSTER_from_json.py msgid "A tiny fish." msgstr "極小サイズの魚です。" #: lang/json/MONSTER_from_json.py msgid "small fish" -msgid_plural "small fishs" +msgid_plural "small fish" msgstr[0] "魚(小)" -#. ~ Description for small fish +#. ~ Description for {'str': 'small fish', 'str_pl': 'small fish'} #: lang/json/MONSTER_from_json.py msgid "A small fish." msgstr "小型サイズの魚です。" #: lang/json/MONSTER_from_json.py msgid "medium fish" -msgid_plural "medium fishs" +msgid_plural "medium fish" msgstr[0] "魚(中)" -#. ~ Description for medium fish +#. ~ Description for {'str': 'medium fish', 'str_pl': 'medium fish'} #: lang/json/MONSTER_from_json.py msgid "A medium fish." msgstr "中型サイズの魚です。" #: lang/json/MONSTER_from_json.py msgid "large fish" -msgid_plural "large fishs" +msgid_plural "large fish" msgstr[0] "魚(大)" -#. ~ Description for large fish +#. ~ Description for {'str': 'large fish', 'str_pl': 'large fish'} #: lang/json/MONSTER_from_json.py msgid "A large fish." msgstr "大型サイズの魚です。" #: lang/json/MONSTER_from_json.py msgid "huge fish" -msgid_plural "huge fishs" +msgid_plural "huge fish" msgstr[0] "魚(巨大)" -#. ~ Description for huge fish +#. ~ Description for {'str': 'huge fish', 'str_pl': 'huge fish'} #: lang/json/MONSTER_from_json.py msgid "A huge fish." msgstr "巨大なサイズの魚です。" @@ -51141,10 +53188,10 @@ msgstr "ギンザケです。脂肪と栄養を豊富に蓄えています。燻 #: lang/json/MONSTER_from_json.py msgid "whitefish" -msgid_plural "whitefishs" +msgid_plural "whitefish" msgstr[0] "ホワイトフィッシュ" -#. ~ Description for whitefish +#. ~ Description for {'str': 'whitefish', 'str_pl': 'whitefish'} #: lang/json/MONSTER_from_json.py msgid "" "A whitefish, closely related to salmon. One can assume they are just as " @@ -51153,20 +53200,20 @@ msgstr "ホワイトフィッシュはサケとよく似た魚です。燻製に #: lang/json/MONSTER_from_json.py msgid "largemouth bass" -msgid_plural "largemouth basss" +msgid_plural "largemouth bass" msgstr[0] "オオクチバス" -#. ~ Description for largemouth bass +#. ~ Description for {'str': 'largemouth bass', 'str_pl': 'largemouth bass'} #: lang/json/MONSTER_from_json.py msgid "A Largemouth Bass. Very popular with sports fishermen." msgstr "オオクチバスです。スポーツフィッシングをする人に人気の魚です。" #: lang/json/MONSTER_from_json.py msgid "smallmouth bass" -msgid_plural "smallmouth basss" +msgid_plural "smallmouth bass" msgstr[0] "コクチバス" -#. ~ Description for smallmouth bass +#. ~ Description for {'str': 'smallmouth bass', 'str_pl': 'smallmouth bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Smallmouth Bass. Being intolerant to pollution in the water, smallmouth " @@ -51175,10 +53222,10 @@ msgstr "コクチバスです。水質汚染に耐性がないため、水質を #: lang/json/MONSTER_from_json.py msgid "striped bass" -msgid_plural "striped basss" +msgid_plural "striped bass" msgstr[0] "シマスズキ" -#. ~ Description for striped bass +#. ~ Description for {'str': 'striped bass', 'str_pl': 'striped bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Striped Bass. Mostly a salt water fish, they migrate to fresher water to " @@ -51187,10 +53234,10 @@ msgstr "シマスズキです。普段は海に生息していますが、産卵 #: lang/json/MONSTER_from_json.py msgid "white bass" -msgid_plural "white basss" +msgid_plural "white bass" msgstr[0] "ホワイトバス" -#. ~ Description for white bass +#. ~ Description for {'str': 'white bass', 'str_pl': 'white bass'} #: lang/json/MONSTER_from_json.py msgid "" "A White Bass. Common to the region, a slab-sided and spiny-rayed little " @@ -51199,10 +53246,10 @@ msgstr "ホワイトバスです。この地域で一般的な、棘のある平 #: lang/json/MONSTER_from_json.py msgid "perch" -msgid_plural "perchs" +msgid_plural "perches" msgstr[0] "パーチ" -#. ~ Description for perch +#. ~ Description for {'str': 'perch', 'str_pl': 'perches'} #: lang/json/MONSTER_from_json.py msgid "" "A small spritely Perch. A very bony fish, still got some tasty meat on it " @@ -51221,20 +53268,21 @@ msgstr "ウォールアイは、腹の白い緑褐色の中型魚です。" #: lang/json/MONSTER_from_json.py msgid "sunfish" -msgid_plural "sunfishs" +msgid_plural "sunfish" msgstr[0] "サンフィッシュ" -#. ~ Description for sunfish +#. ~ Description for {'str': 'sunfish', 'str_pl': 'sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Sunfish. A small fish related to bass or bluegill." msgstr "サンフィッシュです。バスやブルーギルに近い種類の小さな魚です。" #: lang/json/MONSTER_from_json.py msgid "pumpkinseed sunfish" -msgid_plural "pumpkinseed sunfishs" +msgid_plural "pumpkinseed sunfish" msgstr[0] "パンプキンシード" -#. ~ Description for pumpkinseed sunfish +#. ~ Description for {'str': 'pumpkinseed sunfish', 'str_pl': 'pumpkinseed +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Pumpkinseed Sunfish. A small fish related to bass or bluegill." msgstr "サンフィッシュ科のパンプキンシードです。バスやブルーギルに近い種類の小さな魚です。" @@ -51252,50 +53300,51 @@ msgstr "ブルーギルです。日本で外来種として定着しています #: lang/json/MONSTER_from_json.py msgid "redbreast sunfish" -msgid_plural "redbreast sunfishs" +msgid_plural "redbreast sunfish" msgstr[0] "レッドブレストサンフィッシュ" -#. ~ Description for redbreast sunfish +#. ~ Description for {'str': 'redbreast sunfish', 'str_pl': 'redbreast +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redbreast Sunfish. A small fish related to bass or bluegill." msgstr "レッドブレストサンフィッシュです。バスやブルーギルに近い種類の小さな魚です。" #: lang/json/MONSTER_from_json.py msgid "green sunfish" -msgid_plural "green sunfishs" +msgid_plural "green sunfish" msgstr[0] "グリーンサンフィッシュ" -#. ~ Description for green sunfish +#. ~ Description for {'str': 'green sunfish', 'str_pl': 'green sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Green Sunfish. A small fish related to bass or bluegill." msgstr "グリーンサンフィッシュです。バスやブルーギルに近い種類の小さな魚です。" #: lang/json/MONSTER_from_json.py msgid "longear sunfish" -msgid_plural "longear sunfishs" +msgid_plural "longear sunfish" msgstr[0] "ロングイヤーサンフィッシュ" -#. ~ Description for longear sunfish +#. ~ Description for {'str': 'longear sunfish', 'str_pl': 'longear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Longear Sunfish. A small fish related to bass or bluegill." msgstr "ロングイヤーサンフィッシュです。バスやブルーギルに近い種類の小さな魚です。" #: lang/json/MONSTER_from_json.py msgid "redear sunfish" -msgid_plural "redear sunfishs" +msgid_plural "redear sunfish" msgstr[0] "レッドイヤーサンフィッシュ" -#. ~ Description for redear sunfish +#. ~ Description for {'str': 'redear sunfish', 'str_pl': 'redear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redear Sunfish. A small fish related to bass or bluegill." msgstr "レッドイヤーサンフィッシュです。バスやブルーギルに近い種類の小さな魚です。" #: lang/json/MONSTER_from_json.py msgid "rock bass" -msgid_plural "rock basss" +msgid_plural "rock bass" msgstr[0] "ロックバス" -#. ~ Description for rock bass +#. ~ Description for {'str': 'rock bass', 'str_pl': 'rock bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Rock Bass. Related to sunfish, this tiny fish has a camoflauge-like " @@ -51304,10 +53353,10 @@ msgstr "ロックバスです。サンフィッシュに近い種で、迷彩の #: lang/json/MONSTER_from_json.py msgid "calico bass" -msgid_plural "calico basss" +msgid_plural "calico bass" msgstr[0] "キャリコバス" -#. ~ Description for calico bass +#. ~ Description for {'str': 'calico bass', 'str_pl': 'calico bass'} #: lang/json/MONSTER_from_json.py msgid "A Calico Bass. A medium-sized fish also known as a 'Crappie'." msgstr "キャリコバスです。「クラッピー」とも呼ばれる中型の魚です。" @@ -51336,20 +53385,20 @@ msgstr "淡水ナマズの一種です。バターフライにすると美味し #: lang/json/MONSTER_from_json.py msgid "channel catfish" -msgid_plural "channel catfishs" +msgid_plural "channel catfish" msgstr[0] "アメリカナマズ" -#. ~ Description for channel catfish +#. ~ Description for {'str': 'channel catfish', 'str_pl': 'channel catfish'} #: lang/json/MONSTER_from_json.py msgid "A Channel Catfish, they have a forked tail and long whiskers." msgstr "アメリカナマズは二股の尾びれと長いヒゲが特徴的です。" #: lang/json/MONSTER_from_json.py msgid "white catfish" -msgid_plural "white catfishs" +msgid_plural "white catfish" msgstr[0] "ホワイトキャットフィッシュ" -#. ~ Description for white catfish +#. ~ Description for {'str': 'white catfish', 'str_pl': 'white catfish'} #: lang/json/MONSTER_from_json.py msgid "A White Catfish, a small whiskered fish with a broad head." msgstr "ホワイトキャットフィッシュは、頭が大きくヒゲが生えた小型の魚です。" @@ -51435,10 +53484,10 @@ msgstr "ボウフィンはガーという淡水魚の仲間ですが、大きな #: lang/json/MONSTER_from_json.py msgid "fallfish" -msgid_plural "fallfishs" +msgid_plural "fallfish" msgstr[0] "フォールフィッシュ" -#. ~ Description for fallfish +#. ~ Description for {'str': 'fallfish', 'str_pl': 'fallfish'} #: lang/json/MONSTER_from_json.py msgid "" "A Fallfish. These fish are related to gar but without the huge teeth, skin " @@ -51455,28 +53504,28 @@ msgstr[0] "ロブスター" msgid "" "These things were once considered pests not worth eating, then some " "marketing genius started selling them to people as a delicacy and they took " -"off in popularity... and price." +"off in popularity… and price." msgstr "" "かつては食べる価値もない害虫以下の糞虫と思われていましたが、マーケティングの天才が人々に珍味として紹介するや否や、爆発的な人気を得て、今の地位を得るに至りました。" #: lang/json/MONSTER_from_json.py msgid "crayfish" -msgid_plural "crayfishs" +msgid_plural "crayfish" msgstr[0] "ザリガニ" -#. ~ Description for crayfish +#. ~ Description for {'str': 'crayfish', 'str_pl': 'crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "If you could get ahold of a bunch more of these, a hefty pot of boiling " -"water, and some spicy seasonings..." -msgstr "ポットに入った沸騰したお湯と刺激的な調味料を持っていれば..." +"water, and some spicy seasonings…" +msgstr "たくさんのザリガニ、沸騰したお湯、そして香辛料があれば..." #: lang/json/MONSTER_from_json.py msgid "Blinky" msgid_plural "Blinkies" msgstr[0] "ブリンキー" -#. ~ Description for Blinky +#. ~ Description for {'str': 'Blinky', 'str_pl': 'Blinkies'} #: lang/json/MONSTER_from_json.py msgid "A strange three-eyed fish." msgstr "気味の悪い3つ目の魚です。" @@ -51576,10 +53625,10 @@ msgstr "ゾンビを食べるゾンビ化したゴキブリが無秩序に変異 #: lang/json/MONSTER_from_json.py msgid "giant cockroach" -msgid_plural "giant cockroachs" +msgid_plural "giant cockroaches" msgstr[0] "巨大ゴキブリ" -#. ~ Description for giant cockroach +#. ~ Description for {'str': 'giant cockroach', 'str_pl': 'giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "A mutant cockroach the size of a small dog." msgstr "変異したゴキブリです。小型犬程の大きさがあります。" @@ -51596,10 +53645,11 @@ msgstr "変異したゴキブリの幼体です。ラット程の大きさがあ #: lang/json/MONSTER_from_json.py msgid "pregnant giant cockroach" -msgid_plural "pregnant giant cockroachs" +msgid_plural "pregnant giant cockroaches" msgstr[0] "巨大ゴキブリ(産卵期)" -#. ~ Description for pregnant giant cockroach +#. ~ Description for {'str': 'pregnant giant cockroach', 'str_pl': 'pregnant +#. giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant cockroach the size of a small dog. Its abdomen is heavily swollen." @@ -51634,7 +53684,7 @@ msgid "giant dragonfly" msgid_plural "giant dragonflies" msgstr[0] "巨大トンボ" -#. ~ Description for giant dragonfly +#. ~ Description for {'str': 'giant dragonfly', 'str_pl': 'giant dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A ferocious mutant dragonfly as big as a cat, darting through the air with a" @@ -51646,7 +53696,7 @@ msgid "giant fly" msgid_plural "giant flies" msgstr[0] "巨大ハエ" -#. ~ Description for giant fly +#. ~ Description for {'str': 'giant fly', 'str_pl': 'giant flies'} #: lang/json/MONSTER_from_json.py msgid "" "A tremendous housefly the size of a small dog, predictably accompanied by a " @@ -51815,10 +53865,10 @@ msgstr "スズメバチが変異して生まれた猫ほどの大きさの生物 #: lang/json/MONSTER_from_json.py msgid "dermatik larva" -msgid_plural "dermatik larvas" +msgid_plural "dermatik larvae" msgstr[0] "ダマティック(幼虫)" -#. ~ Description for dermatik larva +#. ~ Description for {'str': 'dermatik larva', 'str_pl': 'dermatik larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A fat white grub as big as a squirrel, with a pair of large, spadelike " @@ -51851,10 +53901,11 @@ msgstr "膨れた腹部の終端に小さな管をもつ、巨大な赤いアリ #: lang/json/MONSTER_from_json.py msgid "acidic ant larva" -msgid_plural "acidic ant larvas" +msgid_plural "acidic ant larvae" msgstr[0] "強酸アリ(幼虫)" -#. ~ Description for acidic ant larva +#. ~ Description for {'str': 'acidic ant larva', 'str_pl': 'acidic ant +#. larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A squirming yellow grub that seems to be oozing liquid from both ends of its" @@ -51903,10 +53954,10 @@ msgstr "淡く病的な灰色をしたアリです。外骨格はひび割れ、 #: lang/json/MONSTER_from_json.py msgid "ant larva" -msgid_plural "ant larvas" +msgid_plural "ant larvae" msgstr[0] "アリ(幼虫)" -#. ~ Description for ant larva +#. ~ Description for {'str': 'ant larva', 'str_pl': 'ant larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A pulsating sausage of glistening white flesh, the size of a large cat. On " @@ -52153,10 +54204,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Labrador puppy" -msgid_plural "Labrador puppys" +msgid_plural "Labrador puppies" msgstr[0] "ラブラドールレトリバー(子犬)" -#. ~ Description for Labrador puppy +#. ~ Description for {'str': 'Labrador puppy', 'str_pl': 'Labrador puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Labrador puppy. Much safer to tame than an adult " @@ -52177,10 +54228,10 @@ msgstr "丈夫でがっしりとした、大変動を生き延びられそうな #: lang/json/MONSTER_from_json.py msgid "bulldog puppy" -msgid_plural "bulldog puppys" +msgid_plural "bulldog puppies" msgstr[0] "ブルドッグ(子犬)" -#. ~ Description for bulldog puppy +#. ~ Description for {'str': 'bulldog puppy', 'str_pl': 'bulldog puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless American bulldog puppy. Much safer to tame than an" @@ -52189,10 +54240,10 @@ msgstr "愛らしく無防備なアメリカンブルドッグの子犬です。 #: lang/json/MONSTER_from_json.py msgid "pit bull mix" -msgid_plural "pit bull mixs" +msgid_plural "pit bull mixes" msgstr[0] "ピットブルミックス" -#. ~ Description for pit bull mix +#. ~ Description for {'str': 'pit bull mix', 'str_pl': 'pit bull mixes'} #: lang/json/MONSTER_from_json.py msgid "" "The oft-misunderstood pit bull is not actually a single breed but a label " @@ -52204,10 +54255,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull puppy" -msgid_plural "pit bull puppys" +msgid_plural "pit bull puppies" msgstr[0] "ピットブルミックス(子犬)" -#. ~ Description for pit bull puppy +#. ~ Description for {'str': 'pit bull puppy', 'str_pl': 'pit bull puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless pit bull puppy. Much safer to tame than an adult " @@ -52228,10 +54279,10 @@ msgstr "大変動を生き延びた愛らしいビーグルです。機敏で小 #: lang/json/MONSTER_from_json.py msgid "beagle puppy" -msgid_plural "beagle puppys" +msgid_plural "beagle puppies" msgstr[0] "ビーグル(子犬)" -#. ~ Description for beagle puppy +#. ~ Description for {'str': 'beagle puppy', 'str_pl': 'beagle puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless beagle puppy. Much safer to tame than an adult " @@ -52253,10 +54304,11 @@ msgstr "運動能力が高く素早い攻撃が得意なボーダーコリーは #: lang/json/MONSTER_from_json.py msgid "border collie puppy" -msgid_plural "border collie puppys" +msgid_plural "border collie puppies" msgstr[0] "ボーダーコリー(子犬)" -#. ~ Description for border collie puppy +#. ~ Description for {'str': 'border collie puppy', 'str_pl': 'border collie +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Border Collie puppy. Much safer to tame than an " @@ -52277,10 +54329,10 @@ msgstr "ボクサーマスティフは愛情をこめて育てさえすれば、 #: lang/json/MONSTER_from_json.py msgid "boxer puppy" -msgid_plural "boxer puppys" +msgid_plural "boxer puppies" msgstr[0] "ボクサーマスティフ(子犬)" -#. ~ Description for boxer puppy +#. ~ Description for {'str': 'boxer puppy', 'str_pl': 'boxer puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless boxer puppy. Much safer to tame than an adult dog." @@ -52300,10 +54352,10 @@ msgstr "小さなチワワです。今まで生き残ってきたことが奇跡 #: lang/json/MONSTER_from_json.py msgid "Chihuahua puppy" -msgid_plural "Chihuahua puppys" +msgid_plural "Chihuahua puppies" msgstr[0] "チワワ(子犬)" -#. ~ Description for Chihuahua puppy +#. ~ Description for {'str': 'Chihuahua puppy', 'str_pl': 'Chihuahua puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Chihuahua puppy. Much safer to tame than an adult " @@ -52326,10 +54378,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dachshund puppy" -msgid_plural "dachshund puppys" +msgid_plural "dachshund puppies" msgstr[0] "ダックスフント(子犬)" -#. ~ Description for dachshund puppy +#. ~ Description for {'str': 'dachshund puppy', 'str_pl': 'dachshund puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless dachshund puppy. Much safer to tame than an adult " @@ -52350,10 +54402,11 @@ msgstr "警察犬の起源となる犬種です。飼いやすく訓練も楽で #: lang/json/MONSTER_from_json.py msgid "German shepherd puppy" -msgid_plural "German shepherd puppys" +msgid_plural "German shepherd puppies" msgstr[0] "ジャーマンシェパード(子犬)" -#. ~ Description for German shepherd puppy +#. ~ Description for {'str': 'German shepherd puppy', 'str_pl': 'German +#. shepherd puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless German shepherd puppy. Much safer to tame than an " @@ -52362,10 +54415,10 @@ msgstr "愛らしく無防備なジャーマンシェパードの子犬です。 #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees" -msgid_plural "Great Pyreneess" +msgid_plural "Great Pyrenees" msgstr[0] "グレートピレニーズ" -#. ~ Description for Great Pyrenees +#. ~ Description for {'str': 'Great Pyrenees', 'str_pl': 'Great Pyrenees'} #: lang/json/MONSTER_from_json.py msgid "" "A large and powerful breed, the Great Pyrenees has a beautiful, thick white " @@ -52376,10 +54429,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees puppy" -msgid_plural "Great Pyrenees puppys" +msgid_plural "Great Pyrenees puppies" msgstr[0] "グレートピレニーズ(子犬)" -#. ~ Description for Great Pyrenees puppy +#. ~ Description for {'str': 'Great Pyrenees puppy', 'str_pl': 'Great Pyrenees +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Great Pyrenees puppy. Much safer to tame than an " @@ -52402,10 +54456,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rottweiler puppy" -msgid_plural "rottweiler puppys" +msgid_plural "rottweiler puppies" msgstr[0] "ロットワイラー(子犬)" -#. ~ Description for rottweiler puppy +#. ~ Description for {'str': 'rottweiler puppy', 'str_pl': 'rottweiler +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Rottweiler puppy. Much safer to tame than an adult" @@ -52426,10 +54481,11 @@ msgstr "機敏で丈夫なオーストラリアンキャトルドッグはどん #: lang/json/MONSTER_from_json.py msgid "cattle dog puppy" -msgid_plural "cattle dog puppys" +msgid_plural "cattle dog puppies" msgstr[0] "キャトルドッグ(子犬)" -#. ~ Description for cattle dog puppy +#. ~ Description for {'str': 'cattle dog puppy', 'str_pl': 'cattle dog +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Australian cattle dog puppy. Much safer to tame " @@ -52441,14 +54497,14 @@ msgid "fox" msgid_plural "foxes" msgstr[0] "キツネ" -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A small omnivorous canine with an almost cat-like manner. It is a solitary " "hunter, and one of the only canids able to climb trees." msgstr "雑食性の猫に似たイヌ科の小動物です。孤独を好む狩人で、イヌ科の中で唯一木に登る事ができます。" -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "The red fox, an omnivorous canine and largest of the true foxes, it is a " @@ -52522,10 +54578,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "moose" -msgid_plural "mooses" +msgid_plural "moose" msgstr[0] "ヘラジカ" -#. ~ Description for moose +#. ~ Description for {'str': 'moose', 'str_pl': 'moose'} #: lang/json/MONSTER_from_json.py msgid "" "The Eastern moose, the largest living species of deer. While they aren't " @@ -52656,7 +54712,7 @@ msgstr[0] "ドブネズミ" #: lang/json/MONSTER_from_json.py msgid "" "A worm-tailed rodent with long whiskers and beady eyes. The way it squeaks " -"makes it sound... hungry." +"makes it sound… hungry." msgstr "長い髭と輝く目を持った齧歯類です。軋むような鳴き声を上げている時は...お腹を空かせています。" #: lang/json/MONSTER_from_json.py @@ -52678,7 +54734,7 @@ msgid "sheep" msgid_plural "sheep" msgstr[0] "ヒツジ" -#. ~ Description for sheep +#. ~ Description for {'str': 'sheep', 'str_pl': 'sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A timid, hooved grazing mammal, and one of the first animals ever " @@ -52728,7 +54784,7 @@ msgid "wolf" msgid_plural "wolves" msgstr[0] "オオカミ" -#. ~ Description for wolf +#. ~ Description for {'str': 'wolf', 'str_pl': 'wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A cunning pack predator, once extinct in the New England area, the wolf was " @@ -52985,7 +55041,7 @@ msgid "blank body" msgid_plural "blank bodies" msgstr[0] "純白の肉人" -#. ~ Description for blank body +#. ~ Description for {'str': 'blank body', 'str_pl': 'blank bodies'} #: lang/json/MONSTER_from_json.py msgid "" "This is some form of unnatural changeling creature; its appearance is a " @@ -53105,11 +55161,23 @@ msgstr[0] "巨体ブーマー" #: lang/json/MONSTER_from_json.py msgid "" "This boomer, normally swollen and ready to burst, has strengthened and " -"solidified. The bile dribbling from its mouth also appears to have " -"changed..." +"solidified. The bile dribbling from its mouth also appears to have changed…" msgstr "" "普通のブーマーは膨れ上がって今にもはちきれそうですが、こいつはより強く、頑丈になっています。その口から垂れる汁もいつものと違うような...。" +#: lang/json/MONSTER_from_json.py +msgid "dissoluted devourer" +msgid_plural "dissoluted devourers" +msgstr[0] "融合ゾンビ" + +#. ~ Description for dissoluted devourer +#: lang/json/MONSTER_from_json.py +msgid "" +"Human bodies fused together into a colossus with heads and limbs sticking " +"out of its bloated body. You may have trouble estimating its healthiness " +"and its capabilities might change." +msgstr "複数の死体の頭や手足、肥大化した胴体が一つに融合しています。このゾンビがどのように動きどんな能力を持つのか、見当もつきません。" + #: lang/json/MONSTER_from_json.py msgid "breather" msgid_plural "breathers" @@ -53156,7 +55224,7 @@ msgid "" "A human fused with a mess of metal parts and wires. While its eyes are " "empty, flashes of pain pass across its face reminiscent of the person " "trapped in this grotesque body. With enough surgical skills one might be " -"able to give them back some humanity. If only they cared..." +"able to give them back some humanity. If only they cared…" msgstr "" "人間の身体に金属部品とワイヤーが絡み付き融合しています。その目は虚ろですが、時折、異様な人体の不可逆性を思い出したかのように悲痛な表情を浮かべます。十分な外科手術の技術があれば、ある程度人間らしい姿に戻してやることもできます。このサイボーグがそれを望んでいるならの話ですが..." @@ -53563,10 +55631,10 @@ msgstr "非常に貴重な発電機は唸るような音を立てています。 #: lang/json/MONSTER_from_json.py msgid "giant crayfish" -msgid_plural "giant crayfishs" +msgid_plural "giant crayfish" msgstr[0] "巨大ザリガニ" -#. ~ Description for giant crayfish +#. ~ Description for {'str': 'giant crayfish', 'str_pl': 'giant crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant, terrestrial variety of the signal crayfish, this massive " @@ -53690,7 +55758,7 @@ msgid "homunculus" msgid_plural "homunculuses" msgstr[0] "ホムンクルス" -#. ~ Description for homunculus +#. ~ Description for {'str': 'homunculus', 'str_pl': 'homunculuses'} #: lang/json/MONSTER_from_json.py msgid "" "A pale hairless man with an impressive athletic physique. Its lidless eyes " @@ -53699,10 +55767,11 @@ msgstr "がっしりとした体格が印象的な、色素が薄く無毛の男 #: lang/json/MONSTER_from_json.py msgid "hound of tindalos" -msgid_plural "hound of tindaloss" +msgid_plural "hounds of tindalos" msgstr[0] "ティンダロスの猟犬" -#. ~ Description for hound of tindalos +#. ~ Description for {'str': 'hound of tindalos', 'str_pl': 'hounds of +#. tindalos'} #: lang/json/MONSTER_from_json.py msgid "" "A grotesque hound-like beast, its frame is angular and emaciated and its " @@ -53908,12 +55977,12 @@ msgid "Shia LaBeouf" msgid_plural "Shia LaBeouf" msgstr[0] "シャイア・ラブーフ" -#. ~ Description for Shia LaBeouf +#. ~ Description for {'str': 'Shia LaBeouf', 'str_pl': 'Shia LaBeouf'} #: lang/json/MONSTER_from_json.py msgid "" -"Living in the woods, \n" -"killing for sport, \n" -"eating all the bodies, \n" +"Living in the woods,\n" +"killing for sport,\n" +"eating all the bodies,\n" "actual cannibal Shia LaBeouf." msgstr "" "森の深くに棲み\n" @@ -54068,7 +56137,7 @@ msgid "twisted body" msgid_plural "twisted bodies" msgstr[0] "捻れた死体" -#. ~ Description for twisted body +#. ~ Description for {'str': 'twisted body', 'str_pl': 'twisted bodies'} #: lang/json/MONSTER_from_json.py msgid "" "A human body, but with its limbs, neck, and hair impossibly twisted. It " @@ -54080,7 +56149,7 @@ msgid "vortex" msgid_plural "vortexes" msgstr[0] "旋風" -#. ~ Description for vortex +#. ~ Description for {'str': 'vortex', 'str_pl': 'vortexes'} #: lang/json/MONSTER_from_json.py msgid "" "A twisting spot in the air, with some kind of morphing mass at its center." @@ -54153,6 +56222,19 @@ msgid "" "black eyes." msgstr "揺れ動きながら歩く人間だったモノは、どろどろとした黒い目にやり場の無い怒りを湛えているように見えます。" +#: lang/json/MONSTER_from_json.py +msgid "wretched puker" +msgid_plural "wretched pukers" +msgstr[0] "廃棄ゾンビ" + +#. ~ Description for wretched puker +#: lang/json/MONSTER_from_json.py +msgid "" +"A degenerate corpse, shambling as it walks. Several junks and waste " +"materials have unified into its skin and wounds around it reeks in black " +"goo." +msgstr "ふらつきながら歩くボロボロの死体です。ゴミや廃材が皮膚に癒着しており、傷口から黒い粘液が染み出しています。" + #: lang/json/MONSTER_from_json.py msgid "acidic zombie" msgid_plural "acidic zombies" @@ -54304,9 +56386,9 @@ msgstr[0] "ダンサーゾンビ" #. ~ Description for zombie dancer #: lang/json/MONSTER_from_json.py msgid "" -"The foulest stench is in the air, \n" -"The funk of forty thousand years, \n" -"And grisly ghouls from every tomb, \n" +"The foulest stench is in the air,\n" +"The funk of forty thousand years,\n" +"And grisly ghouls from every tomb,\n" "Are closing in to seal your doom!\n" "\n" "The dancer doesn't even notice you, it seems like something nearby is controlling it." @@ -54419,10 +56501,10 @@ msgstr "腫瘍に覆われたこのゾンビは、灰色の皮膚が腐敗ガス #: lang/json/MONSTER_from_json.py msgid "gangrenous flesh" -msgid_plural "gangrenous fleshs" +msgid_plural "gangrenous flesh" msgstr[0] "壊疽ゾンビ" -#. ~ Description for gangrenous flesh +#. ~ Description for {'str': 'gangrenous flesh', 'str_pl': 'gangrenous flesh'} #: lang/json/MONSTER_from_json.py msgid "" "Immobile from grievous wounds, its gray skin has bloated to near rupture " @@ -54587,9 +56669,9 @@ msgstr[0] "スリラー" #. ~ Description for Thriller #: lang/json/MONSTER_from_json.py msgid "" -"And though you fight to stay alive, \n" -"Your body starts to shiver. \n" -"For no mere mortal can resist, \n" +"And though you fight to stay alive,\n" +"Your body starts to shiver.\n" +"For no mere mortal can resist,\n" "The evil of the thriller." msgstr "" "And though you fight to stay alive, \n" @@ -55001,7 +57083,7 @@ msgid "dragonfly" msgid_plural "dragonflies" msgstr[0] "トンボ" -#. ~ Description for dragonfly +#. ~ Description for {'str': 'dragonfly', 'str_pl': 'dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A thin-bodied insectoid predator with a large wingspan and big compound " @@ -55425,7 +57507,7 @@ msgid "zombie child" msgid_plural "zombie children" msgstr[0] "子供ゾンビ" -#. ~ Description for zombie child +#. ~ Description for {'str': 'zombie child', 'str_pl': 'zombie children'} #: lang/json/MONSTER_from_json.py msgid "" "It was only a child, and little is different about it now aside from the " @@ -55516,7 +57598,7 @@ msgid "fungal child" msgid_plural "fungal children" msgstr[0] "真菌子供ゾンビ" -#. ~ Description for fungal child +#. ~ Description for {'str': 'fungal child', 'str_pl': 'fungal children'} #: lang/json/MONSTER_from_json.py msgid "" "It is hard to recognize a human child in this creature. Disgusting-looking " @@ -55778,10 +57860,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic fox" -msgid_plural "old animatronic foxs" +msgid_plural "old animatronic foxes" msgstr[0] "キツネ型ロボット(中古)" -#. ~ Description for old animatronic fox +#. ~ Description for {'str': 'old animatronic fox', 'str_pl': 'old animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -55791,10 +57874,11 @@ msgstr "キツネ型二足歩行ロボットです。非常に鋭い爪と牙を #: lang/json/MONSTER_from_json.py msgid "new animatronic fox" -msgid_plural "new animatronic foxs" +msgid_plural "new animatronic foxes" msgstr[0] "キツネ型ロボット(新品)" -#. ~ Description for new animatronic fox +#. ~ Description for {'str': 'new animatronic fox', 'str_pl': 'new animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -55805,10 +57889,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "wrecked animatronic fox" -msgid_plural "wrecked animatronic foxs" +msgid_plural "wrecked animatronic foxes" msgstr[0] "キツネ型ロボット(破損)" -#. ~ Description for wrecked animatronic fox +#. ~ Description for {'str': 'wrecked animatronic fox', 'str_pl': 'wrecked +#. animatronic foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A wrecked animatronic fox, laying in a pile on the ground. Its teeth and " @@ -55818,10 +57903,11 @@ msgstr "壊れて崩れ落ちたキツネ型二足歩行ロボットです。非 #: lang/json/MONSTER_from_json.py msgid "new animatronic bunny" -msgid_plural "new animatronic bunnys" +msgid_plural "new animatronic bunnies" msgstr[0] "ウサギ型ロボット(新品)" -#. ~ Description for new animatronic bunny +#. ~ Description for {'str': 'new animatronic bunny', 'str_pl': 'new +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its actually quite " @@ -55832,10 +57918,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic bunny" -msgid_plural "old animatronic bunnys" +msgid_plural "old animatronic bunnies" msgstr[0] "ウサギ型ロボット(中古)" -#. ~ Description for old animatronic bunny +#. ~ Description for {'str': 'old animatronic bunny', 'str_pl': 'old +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its face has been torn" @@ -56024,7 +58111,8 @@ msgid "animatronic sheep" msgid_plural "animatronic sheep" msgstr[0] "ヒツジ型ロボット" -#. ~ Description for animatronic sheep +#. ~ Description for {'str': 'animatronic sheep', 'str_pl': 'animatronic +#. sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic sheep, nearly twice your size. Its wool is mangy and " @@ -56047,10 +58135,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic child" -msgid_plural "animatronic childs" +msgid_plural "animatronic children" msgstr[0] "子供型ロボット" -#. ~ Description for animatronic child +#. ~ Description for {'str': 'animatronic child', 'str_pl': 'animatronic +#. children'} #: lang/json/MONSTER_from_json.py msgid "" "An animatronic child. It looks like it's annoying as hell. Though it is a " @@ -56071,10 +58160,11 @@ msgstr "自力で動く事の出来るマリオネットです。マリオネッ #: lang/json/MONSTER_from_json.py msgid "animatronic wolf" -msgid_plural "animatronic wolfs" +msgid_plural "animatronic wolves" msgstr[0] "オオカミ型ロボット" -#. ~ Description for animatronic wolf +#. ~ Description for {'str': 'animatronic wolf', 'str_pl': 'animatronic +#. wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic wolf, nearly twice your size. If the animal " @@ -56237,10 +58327,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "minion of skeltal" -msgid_plural "minion of skeltals" +msgid_plural "minions of skeltal" msgstr[0] "手下スケルトン" -#. ~ Description for minion of skeltal +#. ~ Description for {'str': 'minion of skeltal', 'str_pl': 'minions of +#. skeltal'} #: lang/json/MONSTER_from_json.py msgid "A lesser skeleton, raised by the forlorn dooting of a trumpet." msgstr "トランペットの一吹きで生まれてくる小さなスケルトンです。" @@ -56260,10 +58351,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Compsognathus" -msgid_plural "Compsognathuss" +msgid_plural "Compsognathus" msgstr[0] "コンプソグナトゥス" -#. ~ Description for Compsognathus +#. ~ Description for {'str': 'Compsognathus', 'str_pl': 'Compsognathus'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal dinosaur about the size of a turkey. Its teeth and claws are " @@ -56272,10 +58363,10 @@ msgstr "シチメンチョウほどの大きさの二足歩行恐竜です。小 #: lang/json/MONSTER_from_json.py msgid "Gallimimus" -msgid_plural "Gallimimuss" +msgid_plural "Gallimimus" msgstr[0] "ガリミムス" -#. ~ Description for Gallimimus +#. ~ Description for {'str': 'Gallimimus', 'str_pl': 'Gallimimus'} #: lang/json/MONSTER_from_json.py msgid "" "A feathered bipedal dinosaur, standing as tall as a human. It looks " @@ -56284,10 +58375,10 @@ msgstr "立った状態で人間と同じぐらいの大きさになる、羽毛 #: lang/json/MONSTER_from_json.py msgid "Titanis" -msgid_plural "Titaniss" +msgid_plural "Titanis" msgstr[0] "ティタニス" -#. ~ Description for Titanis +#. ~ Description for {'str': 'Titanis', 'str_pl': 'Titanis'} #: lang/json/MONSTER_from_json.py msgid "" "It looks like a dodo, only much bigger, with longer, muscular legs and a " @@ -56296,10 +58387,10 @@ msgstr "走鳥類の一種です。ドードーに似ていますが遥かに大 #: lang/json/MONSTER_from_json.py msgid "Spinosaurus" -msgid_plural "Spinosauruss" +msgid_plural "Spinosaurus" msgstr[0] "スピノサウルス" -#. ~ Description for Spinosaurus +#. ~ Description for {'str': 'Spinosaurus', 'str_pl': 'Spinosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge dinosaur about the size of a small house, with a ferocious crocodile-" @@ -56308,20 +58399,21 @@ msgstr "小さな家ほどの大きさがある巨大恐竜です。鰐に似た #: lang/json/MONSTER_from_json.py msgid "Tyrannosaurus rex" -msgid_plural "Tyrannosaurus rexs" +msgid_plural "Tyrannosaurus rex" msgstr[0] "ティラノサウルス・レックス" -#. ~ Description for Tyrannosaurus rex +#. ~ Description for {'str': 'Tyrannosaurus rex', 'str_pl': 'Tyrannosaurus +#. rex'} #: lang/json/MONSTER_from_json.py msgid "Look at those TEETH!" msgstr "ああ、あの大きく鋭利な牙を見て!" #: lang/json/MONSTER_from_json.py msgid "Triceratops" -msgid_plural "Triceratopss" +msgid_plural "Triceratops" msgstr[0] "トリケラトプス" -#. ~ Description for Triceratops +#. ~ Description for {'str': 'Triceratops', 'str_pl': 'Triceratops'} #: lang/json/MONSTER_from_json.py msgid "" "A massive rhino-like dinosaur with a bony crest from which three large horns" @@ -56330,20 +58422,20 @@ msgstr "サイに似た強大な恐竜です。盾のような硬質のとさか #: lang/json/MONSTER_from_json.py msgid "Stegosaurus" -msgid_plural "Stegosauruss" +msgid_plural "Stegosaurus" msgstr[0] "ステゴサウルス" -#. ~ Description for Stegosaurus +#. ~ Description for {'str': 'Stegosaurus', 'str_pl': 'Stegosaurus'} #: lang/json/MONSTER_from_json.py msgid "A large quadruped dinosaur with plates on its back, and a spiked tail." msgstr "大型の四足歩行恐竜です。背中に大きな骨質の板がいくつも生えており、尻尾には棘があります。" #: lang/json/MONSTER_from_json.py msgid "Ankylosaurus" -msgid_plural "Ankylosauruss" +msgid_plural "Ankylosaurus" msgstr[0] "アンキロサウルス" -#. ~ Description for Ankylosaurus +#. ~ Description for {'str': 'Ankylosaurus', 'str_pl': 'Ankylosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "This dinosaur looks like a giant prehistoric armadillo. Its tail ends in a " @@ -56352,10 +58444,10 @@ msgstr "巨大なアルマジロといった風体の恐竜です。尾の先端 #: lang/json/MONSTER_from_json.py msgid "Allosaurus" -msgid_plural "Allosauruss" +msgid_plural "Allosaurus" msgstr[0] "アロサウルス" -#. ~ Description for Allosaurus +#. ~ Description for {'str': 'Allosaurus', 'str_pl': 'Allosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A large predatory bipedal dinosaur, with tiger-like stripes on its broad " @@ -56388,10 +58480,10 @@ msgstr "小型の二足歩行恐竜です。羽毛が生えていて、手と脚 #: lang/json/MONSTER_from_json.py msgid "Deinonychus" -msgid_plural "Deinonychuss" +msgid_plural "Deinonychus" msgstr[0] "デイノニクス" -#. ~ Description for Deinonychus +#. ~ Description for {'str': 'Deinonychus', 'str_pl': 'Deinonychus'} #: lang/json/MONSTER_from_json.py msgid "" "A medium-sized bipedal dinosaur covered with feathers. At the end of each " @@ -56412,10 +58504,10 @@ msgstr "羽毛に覆われた腕、長い尾、大鎌のような鉤爪を持つ #: lang/json/MONSTER_from_json.py msgid "Parasaurolophus" -msgid_plural "Parasaurolophuss" +msgid_plural "Parasaurolophus" msgstr[0] "パラサウロロフス" -#. ~ Description for Parasaurolophus +#. ~ Description for {'str': 'Parasaurolophus', 'str_pl': 'Parasaurolophus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge mottled dinosaur with a blunt head crest. It contentedly strips " @@ -56434,10 +58526,10 @@ msgstr "小型の飛行爬虫類です。獲物を探して頭上を旋回して #: lang/json/MONSTER_from_json.py msgid "Dilophosaurus" -msgid_plural "Dilophosauruss" +msgid_plural "Dilophosaurus" msgstr[0] "ディロフォサウルス" -#. ~ Description for Dilophosaurus +#. ~ Description for {'str': 'Dilophosaurus', 'str_pl': 'Dilophosaurus'} #: lang/json/MONSTER_from_json.py msgid "A medium dinosaur with a sticky green bile dripping from its teeth." msgstr "中型の恐竜です。牙から緑色のべとつく胆汁がしたたり落ちています。" @@ -56529,6 +58621,19 @@ msgid "" msgstr "" "一生の初期段階の半ばに差し掛かった黒いドラゴンです。目は窪み始め、湾曲し節くれだった角の先端は黒っぽくなってきました。見れば分かりますが、この生物の根源は邪悪です。完全な成体ではありませんが、雄牛程のサイズがあります。" +#: lang/json/MONSTER_from_json.py +msgid "adult black dragon" +msgid_plural "adult black dragons" +msgstr[0] "ブラックドラゴン(成体)" + +#. ~ Description for adult black dragon +#: lang/json/MONSTER_from_json.py +msgid "" +"A black-scaled monstrosity with deep-set eye sockets glowing green with " +"evil. Its face and skull appear skeletal, and acid drips from its dagger-" +"like jaws." +msgstr "緑色に輝くくぼんだ目と黒い鱗をもった怪物です。頭部は骨張っており、短剣のような牙が並ぶ口元からは酸が滴っています。" + #: lang/json/MONSTER_from_json.py msgid "owlbear" msgid_plural "owlbears" @@ -56563,21 +58668,24 @@ msgid "The black pudding burns you with acid!" msgstr "ブラックプディングの酸が身体を焼きました!" #: lang/json/MONSTER_from_json.py -msgid "nothic" -msgid_plural "nothics" -msgstr[0] "ナシック" +msgid "krabgek" +msgid_plural "krabgeks" +msgstr[0] "単眼魔獣" -#. ~ Description for nothic +#. ~ Description for krabgek #: lang/json/MONSTER_from_json.py msgid "" -"A baleful eye peers out from the darkness, its gleam hinting at a weird " -"intelligence and unnerving malevolence." -msgstr "闇の中からこちらを覗く邪悪な瞳は、奇妙な知性と不穏な悪意にきらめいています。" +"A large baleful eye peers out from the darkness, its gleam hinting at a " +"weird intelligence and unnerving malevolence. The eye oozes some pinkish " +"liquid, and the weirdly humanoid figure is covered in sharp blue-black " +"triangular plates." +msgstr "" +"闇の中からこちらを覗く邪悪な単眼は、奇妙な知性と不穏な悪意にきらめいています。瞳からはピンク色の液体が染み出し、全身が鋭く尖った三角形の青黒い装甲で覆われています。" -#. ~ Attack message of monster "nothic"'s spell "necrotic_gaze" +#. ~ Attack message of monster "krabgek"'s spell "necrotic_gaze" #: lang/json/MONSTER_from_json.py -msgid "The nothic gazes at %3$s!" -msgstr "ナシックは%3$sを凝視しました!" +msgid "The krabgek gazes at %3$s!" +msgstr "単眼魔獣は%3$sを凝視しました!" #: lang/json/MONSTER_from_json.py msgid "owlbear cub" @@ -56621,9 +58729,45 @@ msgstr[0] "トロール" #. ~ Description for troll #: lang/json/MONSTER_from_json.py msgid "" -"Monstrous, green-skinned humanoid. Trolls are renowned for their thick hides" -" and natural regenerative ability." -msgstr "緑色の肌をもつ、奇怪な人型生物です。分厚い皮膚と高い自然治癒力が知られています。" +"Monstrous, green-skinned humanoid. Trolls are renowned for their thick " +"hides and natural regenerative ability." +msgstr "緑色の肌をもつ、奇怪な人型生物です。分厚い皮膚と高い自然治癒力で知られています。" + +#: lang/json/MONSTER_from_json.py +msgid "stirge" +msgid_plural "stirges" +msgstr[0] "スタージ" + +#. ~ Description for stirge +#: lang/json/MONSTER_from_json.py +msgid "" +"This horrid flying creature looks like a cross between a large bat and " +"oversized mosquito." +msgstr "巨大なコウモリと蚊を掛け合わせたような姿の、恐ろしい飛行生物です。" + +#: lang/json/MONSTER_from_json.py +msgid "shrieker" +msgid_plural "shriekers" +msgstr[0] "シュリーカー" + +#. ~ Description for shrieker +#: lang/json/MONSTER_from_json.py +msgid "" +"A shrieker is a human-sized mushroom that emits a piercing screech to drive " +"off creatures that disturb it." +msgstr "敵を追い払うために鋭い金切り声を発する、人間大のキノコです。" + +#: lang/json/MONSTER_from_json.py +msgid "lemure" +msgid_plural "lemures" +msgstr[0] "レムレー" + +#. ~ Description for lemure +#: lang/json/MONSTER_from_json.py +msgid "" +"A lemure resembles a molten mass of flesh with a vaguely humanoid head and " +"torso." +msgstr "どことなく人間に似た頭部と胴体をもつ、溶けた肉の塊です。" #: lang/json/MONSTER_from_json.py msgid "automated turret" @@ -57099,10 +59243,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "craftbuddy" -msgid_plural "craftbuddys" +msgid_plural "craftbuddies" msgstr[0] "クラフトバディ" -#. ~ Description for craftbuddy +#. ~ Description for {'str': 'craftbuddy', 'str_pl': 'craftbuddies'} #: lang/json/MONSTER_from_json.py msgid "" "A mobile crafting station used by workers in mines, on oil rigs, and in " @@ -57692,10 +59836,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "robote deluxe" -msgid_plural "robote deluxes" +msgid_plural "robote deluxe" msgstr[0] "高級ロボット" -#. ~ Description for robote deluxe +#. ~ Description for {'str': 'robote deluxe', 'str_pl': 'robote deluxe'} #: lang/json/MONSTER_from_json.py msgid "" "A diamond-studded gold-plated robot armed with a pair of integrated 9mm " @@ -57735,10 +59879,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "glittering lady" -msgid_plural "glittering ladys" +msgid_plural "glittering ladies" msgstr[0] "シャイン・レディ" -#. ~ Description for glittering lady +#. ~ Description for {'str': 'glittering lady', 'str_pl': 'glittering ladies'} #: lang/json/MONSTER_from_json.py msgid "" "A salvaged advanced robot transformed into a luminous beacon of destruction." @@ -57862,12 +60006,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gelatinous mass" -msgid_plural "gelatinous masss" +msgid_plural "gelatinous mass" msgstr[0] "ゼラチン塊" -#. ~ Description for gelatinous mass -#. ~ Description for gray mass -#. ~ Description for gelatinous mass +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} +#. ~ Description for {'str': 'gray mass', 'str_pl': 'gray mass'} +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} #: lang/json/MONSTER_from_json.py msgid "" "An escaping noisy blob, catch it before it brings in every zombie for miles!" @@ -57875,7 +60019,7 @@ msgstr "騒々しく動き回るブロブです。街中のゾンビたちがこ #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gray mass" -msgid_plural "gray masss" +msgid_plural "gray mass" msgstr[0] "グレイ塊" #: lang/json/MONSTER_from_json.py @@ -58455,6 +60599,25 @@ msgstr "虫召喚(アーティファクト)" msgid "Summon some bugs." msgstr "虫を複数召喚します。" +#: lang/json/SPELL_from_json.py +msgid "Artifact Noise" +msgstr "騒音(アーティファクト)" + +#. ~ Description for Artifact Noise +#: lang/json/SPELL_from_json.py +msgid "Makes a noise at your location" +msgstr "騒音を発生させます。" + +#. ~ description for the sound of spell 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "a deafening boom" +msgstr "[耳障りな騒音]" + +#. ~ Message for SPELL 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "You hear a deafening boom from your location!" +msgstr "耳障りな騒音が聞こえます!" + #: lang/json/SPELL_from_json.py msgid "Artifact Light" msgstr "光源(アーティファクト)" @@ -58535,7 +60698,7 @@ msgstr "周囲の全体マップを明らかにします。" #. ~ Message for SPELL 'Artifact Map' #: lang/json/SPELL_from_json.py src/iuse.cpp -msgid "You have a vision of the surrounding area..." +msgid "You have a vision of the surrounding area…" msgstr "不思議な視界を得て、周辺の地形を広く見渡しました..." #: lang/json/SPELL_from_json.py @@ -58575,6 +60738,80 @@ msgstr "変異(アーティファクト)" msgid "Mutates you randomly" msgstr "ランダムで変異します。" +#: lang/json/SPELL_from_json.py +msgid "Bolt" +msgstr "ボルト" + +#. ~ Description for Bolt +#: lang/json/SPELL_from_json.py +msgid "One of the bolts thrown by AEA_STORM" +msgstr "AEA_STORMで発射されるボルトです。" + +#. ~ description for the sound of spell 'Bolt' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "Ka-BOOM!" +msgstr "ドカーン!" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Storm" +msgstr "嵐(アーティファクト)" + +#. ~ Description for Artifact Storm +#: lang/json/SPELL_from_json.py +msgid "Calls down a storm near you" +msgstr "周囲に嵐を生成します。" + +#: lang/json/SPELL_from_json.py +msgid "Morale Scream" +msgstr "モラール・スクリーム" + +#. ~ Description for Morale Scream +#: lang/json/SPELL_from_json.py +msgid "Morale effect from AEA_SCREAM" +msgstr "意欲に影響を与えるAEA_SCREAMの効果です。" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Entrance" +msgstr "魅了(アーティファクト)" + +#. ~ Description for Artifact Entrance +#: lang/json/SPELL_from_json.py +msgid "Entrances surrounding monsters" +msgstr "周囲のモンスターを魅了します。" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Scream" +msgstr "絶叫(アーティファクト)" + +#. ~ Description for Artifact Scream +#: lang/json/SPELL_from_json.py +msgid "An ethereal scream" +msgstr "この世のものとは思えない絶叫です。" + +#. ~ description for the sound of spell 'Artifact Scream' +#: lang/json/SPELL_from_json.py +msgid "an ethereal scream" +msgstr "[この世のものとは思えない絶叫]" + +#: lang/json/SPELL_from_json.py +msgid "Bash Terrain" +msgstr "バッシュ・テライン" + +#. ~ Description for Bash Terrain +#. ~ Description for Artifact Pulse +#: lang/json/SPELL_from_json.py +msgid "Damages the terrain" +msgstr "地形に損傷を与えます。" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Pulse" +msgstr "振動(アーティファクト)" + +#. ~ description for the sound of spell 'Artifact Pulse' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "The earth shakes!" +msgstr "地面が揺れています!" + #: lang/json/SPELL_from_json.py src/memorial_logger.cpp src/player_display.cpp msgid "Pain" msgstr "苦痛" @@ -58605,7 +60842,7 @@ msgstr "苦痛を増加させます。ミ=ゴ・スレイヴァーのビーム #: lang/json/SPELL_from_json.py msgid "mi-go slaver beam" -msgstr "ビーム(ミ=ゴ・スレイヴァー)" +msgstr "ビーム" #. ~ Description for mi-go slaver beam #: lang/json/SPELL_from_json.py @@ -58667,8 +60904,8 @@ msgstr "アニミスト・ルーン" #. ~ Description for Animist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Animists. You can use the rune" -" as a catalyst for recipes." +"This ritual creates a small pebble attuned to Animists. You can use the " +"rune as a catalyst for recipes." msgstr "儀式によってアニミストと波長の合う神秘的な石を創り出します。石はレシピの触媒として利用できます。" #: lang/json/SPELL_from_json.py @@ -58706,7 +60943,7 @@ msgstr "バイオマンサー・ルーン" #. ~ Description for Biomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Biomancers. You can use the " +"This ritual creates a small pebble attuned to Biomancers. You can use the " "rune as a catalyst for recipes." msgstr "儀式によってバイオマンサーと波長の合う神秘的な石を創り出します。石はレシピの触媒として利用できます。" @@ -58804,7 +61041,7 @@ msgstr "スタミナを少し消費します。" #. ~ Message for SPELL 'Debug Stamina Spell' #: lang/json/SPELL_from_json.py #, python-format -msgid "Debug spell [ %s ] has no effect. Debug warning is expected." +msgid "Debug spell [ %s ] has no effect. Debug warning is expected." msgstr "%sは効果がありません。デバッグ警告の可能性があります。" #: lang/json/SPELL_from_json.py @@ -58962,7 +61199,7 @@ msgstr "ドルイド・ルーン" #. ~ Description for Druid Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Druids. You can use the rune " +"This ritual creates a small pebble attuned to Druids. You can use the rune " "as a catalyst for recipes." msgstr "儀式によってドルイドと波長の合う神秘的な石を創り出します。石はレシピの触媒として利用できます。" @@ -58973,8 +61210,8 @@ msgstr "ピュリフィケーション・シード" #. ~ Description for Purification Seed #: lang/json/SPELL_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Rapidly degrades if " -"not utilized." +"You summon a gift of the earth which will purify water. Rapidly degrades if" +" not utilized." msgstr "浄水効果を持つ種が大地から贈られます。使用しないと種は急速に劣化します。" #: lang/json/SPELL_from_json.py @@ -59021,10 +61258,37 @@ msgstr "アースシェイパー・ルーン" #. ~ Description for Earthshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Earthshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Earthshapers. You can use the" +" rune as a catalyst for recipes." msgstr "儀式によってアースシェイパーと波長の合う神秘的な石を創り出します。石はレシピの触媒として利用できます。" +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Shrapnel" +msgstr "ラヴァ・ボム・シャープネル" + +#. ~ Description for Lava Bomb Shrapnel +#. ~ Description for Lava Bomb Heat +#. ~ Description for Lava Bomb Terrain +#: lang/json/SPELL_from_json.py +msgid "This is a sub spell for the Lava Bomb spell." +msgstr "ラヴァ・ボムスの副次的効果です。" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Heat" +msgstr "ラヴァ・ボム・ヒート" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Terrain" +msgstr "ラヴァ・ボム・テライン" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb" +msgstr "ラヴァ・ボム" + +#: lang/json/SPELL_from_json.py +msgid "Clairvoyance" +msgstr "クレアボイアンス" + #: lang/json/SPELL_from_json.py msgid "Twisted Restoration" msgstr "ツイステッド・レストレーション" @@ -59032,7 +61296,7 @@ msgstr "ツイステッド・レストレーション" #. ~ Description for Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" " condition." msgstr "" @@ -59045,12 +61309,27 @@ msgstr "ツイステッド・レストレーション改" #. ~ Description for Improved Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" -" condition. Improved brewing mitigates the strain of the spell." +" condition. Improved brewing mitigates the strain of the spell." msgstr "" "脈拍を加速させ、筋肉を増強します。危険が迫っている状況で詠唱するのは賢明ではありませんし、体調が万全でないと致命的な状態になる場合があります。薬の抽出方法を改良し、悪影響を緩和しました。" +#: lang/json/SPELL_from_json.py +msgid "Conjure Throwing Blade I" +msgstr "コンジャー・スローイング・ブレードI" + +#. ~ Description for Conjure Throwing Blade I +#: lang/json/SPELL_from_json.py +msgid "conjures 3 throwing knives" +msgstr "3本の投げナイフを召喚します。" + +#. ~ Message for SPELL 'Conjure Throwing Blade I' +#: lang/json/SPELL_from_json.py +msgid "" +"You activate your ring and three throwing knives appear, ready to throw!" +msgstr "指輪を使い、3本の投げナイフを召喚しました!" + #: lang/json/SPELL_from_json.py msgid "Point Flare" msgstr "ポイント・フレア" @@ -59106,7 +61385,7 @@ msgstr "ケルビニスト・ルーン" #. ~ Description for Kelvinist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Kelvinists. You can use the " +"This ritual creates a small pebble attuned to Kelvinists. You can use the " "rune as a catalyst for recipes." msgstr "儀式によってケルビニストと波長の合う神秘的な石を創り出します。石はレシピの触媒として利用できます。" @@ -59149,8 +61428,8 @@ msgstr "メイガス・ルーン" #. ~ Description for Magus Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Magi. You can use the rune as " -"a catalyst for recipes." +"This ritual creates a small pebble attuned to Magi. You can use the rune as" +" a catalyst for recipes." msgstr "儀式によって魔法使いと波長の合う神秘的な石を創り出します。石はレシピの触媒として利用できます。" #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py @@ -59169,10 +61448,26 @@ msgstr "オーガズ・ストレングス" msgid "Fox's Cunning" msgstr "フォックセズ・カンニング" +#: lang/json/SPELL_from_json.py +msgid "Blood Suck" +msgstr "ブラッド・サック" + +#. ~ Description for Blood Suck +#: lang/json/SPELL_from_json.py +msgid "Sucks blood from one foe." +msgstr "標的一体から敵を吸い取ります。" + #: lang/json/SPELL_from_json.py msgid "Jolt" msgstr "ジョルト" +#. ~ description for the sound of spell 'Jolt' +#. ~ description for the sound of spell 'Lightning Bolt' +#. ~ description for the sound of spell 'Lightning Blast' +#: lang/json/SPELL_from_json.py +msgid "a crackle" +msgstr "パシッ。" + #: lang/json/SPELL_from_json.py msgid "Lightning Bolt" msgstr "ライトニング・ボルト" @@ -59181,6 +61476,11 @@ msgstr "ライトニング・ボルト" msgid "Windstrike" msgstr "ウィンドストライク" +#. ~ description for the sound of spell 'Windstrike' +#: lang/json/SPELL_from_json.py +msgid "a whoosh" +msgstr "ビュウ。" + #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py msgid "Windrunning" msgstr "ウィンドランニング" @@ -59196,8 +61496,8 @@ msgstr "ストームシェイパー・ルーン" #. ~ Description for Stormshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Stormshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Stormshapers. You can use the" +" rune as a catalyst for recipes." msgstr "儀式によってストームシェイパーと波長の合う神秘的な石を創り出します。石はレシピの触媒として利用できます。" #: lang/json/SPELL_from_json.py @@ -59258,8 +61558,8 @@ msgstr "テクノマンサー・ルーン" #. ~ Description for Technomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Technomancers. You can use the" -" rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Technomancers. You can use " +"the rune as a catalyst for recipes." msgstr "儀式によってテクノマンサーと波長の合う神秘的な石を創り出します。石はレシピの触媒として利用できます。" #: lang/json/SPELL_from_json.py @@ -59286,6 +61586,10 @@ msgstr "アニメイテッド・ブレード" msgid "Mirror Image" msgstr "ミラー・イメージ" +#: lang/json/SPELL_from_json.py +msgid "X-ray Vision" +msgstr "エックスレイ・ビジョン" + #: lang/json/SPELL_from_json.py msgid "Demon Fireball" msgstr "デーモン・ファイアボール" @@ -59438,6 +61742,8 @@ msgstr[0] "採掘ヘルメット(オン)" #. ~ Use action menu_text for thermal electric balaclava (on). #. ~ Use action menu_text for headlamp (on). #. ~ Use action menu_text for survivor headlamp (on). +#. ~ Use action menu_text for 5-point anchor (on). +#. ~ Use action menu_text for phase immersion suit (on). #. ~ Use action menu_text for rebreather mask (on). #. ~ Use action menu_text for XL rebreather mask (on). #. ~ Use action menu_text for pair of light amp goggles (on). @@ -59462,9 +61768,9 @@ msgstr[0] "採掘ヘルメット(オン)" #. ~ Use action menu_text for acetylene lamp (on). #. ~ Use action menu_text for power cutter (on). #. ~ Use action menu_text for murdersaw (on). +#. ~ Use action menu_text for heat cube (torch on). #: lang/json/TOOL_ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: lang/json/TOOL_from_json.py lang/json/item_action_from_json.py #: lang/json/item_action_from_json.py lang/json/item_action_from_json.py #: src/iuse.cpp msgid "Turn off" @@ -59540,7 +61846,7 @@ msgstr "山高め、つば広めの黒い中折れ帽です。つばが直射日 #: lang/json/TOOL_ARMOR_from_json.py msgid "pair of thermal electric socks" msgid_plural "pairs of thermal electric socks" -msgstr[0] "温熱式靴下" +msgstr[0] "電熱靴下" #. ~ Use action msg for pair of thermal electric socks. #. ~ Use action msg for thermal electric suit. @@ -59582,7 +61888,7 @@ msgstr "電池式の保温機構が組み込まれた靴下です。使用する #: lang/json/TOOL_ARMOR_from_json.py msgid "pair of thermal electric socks (on)" msgid_plural "pairs of thermal electric socks (on)" -msgstr[0] "温熱式靴下(オン)" +msgstr[0] "電熱靴下(オン)" #. ~ Use action msg for pair of thermal electric socks (on). #. ~ Use action msg for thermal electric suit (on). @@ -59611,7 +61917,7 @@ msgstr "電池式の保温機構が組み込まれた靴下です。スイッチ #: lang/json/TOOL_ARMOR_from_json.py msgid "thermal electric suit" msgid_plural "thermal electric suits" -msgstr[0] "温熱式スーツ" +msgstr[0] "電熱スーツ" #. ~ Description for thermal electric suit #: lang/json/TOOL_ARMOR_from_json.py @@ -59623,7 +61929,7 @@ msgstr "電池式の保温機構が組み込まれたスーツ型全身下着で #: lang/json/TOOL_ARMOR_from_json.py msgid "thermal electric suit (on)" msgid_plural "thermal electric suits (on)" -msgstr[0] "温熱式スーツ(オン)" +msgstr[0] "電熱スーツ(オン)" #. ~ Description for thermal electric suit (on) #: lang/json/TOOL_ARMOR_from_json.py @@ -59636,7 +61942,7 @@ msgstr "電池式の保温機構が組み込まれたスーツ型全身下着で #: lang/json/TOOL_ARMOR_from_json.py msgid "pair of thermal electric gloves" msgid_plural "pairs of thermal electric gloves" -msgstr[0] "温熱式グローブ" +msgstr[0] "電熱グローブ" #. ~ Description for pair of thermal electric gloves #: lang/json/TOOL_ARMOR_from_json.py @@ -59648,7 +61954,7 @@ msgstr "電池式の保温機構が組み込まれた手袋です。使用する #: lang/json/TOOL_ARMOR_from_json.py msgid "pair of thermal electric gloves (on)" msgid_plural "pairs of thermal electric gloves (on)" -msgstr[0] "温熱式グローブ(オン)" +msgstr[0] "電熱グローブ(オン)" #. ~ Description for pair of thermal electric gloves (on) #: lang/json/TOOL_ARMOR_from_json.py @@ -59661,7 +61967,7 @@ msgstr "電池式の保温機構が組み込まれた手袋です。スイッチ #: lang/json/TOOL_ARMOR_from_json.py msgid "thermal electric balaclava" msgid_plural "thermal electric balaclavas" -msgstr[0] "温熱式バラクラバ" +msgstr[0] "電熱バラクラバ" #. ~ Description for thermal electric balaclava #: lang/json/TOOL_ARMOR_from_json.py @@ -59673,7 +61979,7 @@ msgstr "電池式の保温機構が組み込まれたフィット感抜群の布 #: lang/json/TOOL_ARMOR_from_json.py msgid "thermal electric balaclava (on)" msgid_plural "thermal electric balaclavas (on)" -msgstr[0] "温熱式バラクラバ(オン)" +msgstr[0] "電熱バラクラバ(オン)" #. ~ Description for thermal electric balaclava (on) #: lang/json/TOOL_ARMOR_from_json.py @@ -59774,6 +62080,46 @@ msgid "" msgstr "" "より頑丈で、より明るく、より大容量かつ高効率な電源設計を備えた改良型の手製ヘッドランプです。頭やヘルメットに合わせて長さを調節できる留め紐が付いています。電源が入っており、電池を消費しています。使用すると電源を切ります。" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp" +msgid_plural "atomic headlamps" +msgstr[0] "アトミックヘッドランプ" + +#. ~ Use action msg for atomic headlamp. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You close the headlamp's cover." +msgstr "ヘッドランプのカバーを閉じました。" + +#. ~ Description for atomic headlamp +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"close the cover and hide the light." +msgstr "" +"より使いやすく明るい光をもたらす、魔法のような核崩壊の力を使った特製の強化ヘッドランプです。頭やヘルメットに合わせて長さを調節できる留め紐が付いています。使用するとカバーを閉じて光を遮ります。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp (covered)" +msgid_plural "atomic headlamps (covered)" +msgstr[0] "アトミックヘッドランプ(閉)" + +#. ~ Use action msg for atomic headlamp (covered). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You open the headlamp's cover." +msgstr "ヘッドランプのカバーを開きました。" + +#. ~ Description for atomic headlamp (covered) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"open the cover and show the light." +msgstr "" +"より使いやすく明るい光をもたらす、魔法のような核崩壊の力を使った特製の強化ヘッドランプです。頭やヘルメットに合わせて長さを調節できる留め紐が付いています。使用するとカバーを開けて周囲を照らします。" + #: lang/json/TOOL_ARMOR_from_json.py msgid "RM13 combat armor" msgid_plural "RM13 combat armors" @@ -59803,6 +62149,98 @@ msgid "" msgstr "" "Rivtech社が全技術を結集して作り上げたパワーアーマーです。黒光りする軟質装甲が全身を包み、危害から守ります。内蔵電源式で最大で10個の原子力電池を充填できます。電源が入っており、電池を消費しています。使用すると電源を切ります。" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor" +msgid_plural "5-point anchors" +msgstr[0] "5点式アンカー" + +#. ~ Use action msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "A LED light in the %s LED flickers on." +msgstr "%sのLEDライトが点灯しました。" + +#. ~ Use action need_charges_msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "It seems like this device needs power." +msgstr "使用するには電力が必要なようです。" + +#. ~ Description for 5-point anchor +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A featureless, disc-shaped device mounted on a harness. The words " +"\"X.E.D.R.A\" and \"5-point anchor\" are inscribed on its front and back." +msgstr "何の変哲もないハーネスが付いた円盤型の装置です。前面と背面に「X.E.D.R.A」「5点式アンカー」と刻まれています。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor (on)" +msgid_plural "5-point anchors (on)" +msgstr[0] "5点式アンカー(オン)" + +#. ~ Use action msg for 5-point anchor (on). +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "The %s LED light flickers off." +msgstr "%sのLEDライトが消灯しました。" + +#. ~ Description for 5-point anchor (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The harness' shoulder mounted LED glows with a soft green hue. Theres no " +"further indication of anything happening." +msgstr "ハーネスの肩付近にあるLEDライトが緑色に光っています。何かが起きている兆候は特に感じ取れません。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit" +msgid_plural "phase immersion suits" +msgstr[0] "次元潜入スーツ" + +#. ~ Use action msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Initiating\n" +"Running suit integrity diagnostics…\n" +"All systems operational." +msgstr "" +"起動中\n" +"スーツ保全診断中...\n" +"全システム正常" + +#. ~ Use action need_charges_msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Warning: Operating on minimal power. Protection compromised." +msgstr "警告: 最小限の電力で稼働しています。保護が不完全な状態です。" + +#. ~ Description for phase immersion suit +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. Designed to " +"protect its wearer during extra dimensional excursions, it offers " +"unparalleled environmental protection, both in this Earth and beyond. Use " +"it to turn it on." +msgstr "" +"光沢のある金属板を連ねた装甲をもつ、プレートアーマーと宇宙服を併せたような形状の先進的なスーツです。別次元へ潜入した着用者を保護するように設計されており、地球内外を問わず非常に高い環境防護性能を有しています。使用するとスーツの機能を起動します。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit (on)" +msgid_plural "phase immersion suits (on)" +msgstr[0] "次元潜入スーツ(オン)" + +#. ~ Use action msg for phase immersion suit (on). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Suit shutting down." +msgstr "スーツをシャットダウンしています。" + +#. ~ Description for phase immersion suit (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. It is turned on, " +"and continually draining power. Use it to turn it off." +msgstr "" +"光沢のある金属板を連ねた装甲をもつ、プレートアーマーと宇宙服を併せたような形状の先進的なスーツです。現在スーツは継続的に電力を消費しながら稼働しています。使用するとスーツの機能を停止します。" + #: lang/json/TOOL_ARMOR_from_json.py msgid "rebreather mask" msgid_plural "rebreather masks" @@ -60522,7 +62960,7 @@ msgstr "" #: lang/json/TOOL_ARMOR_from_json.py msgid "thermal electric outfit" msgid_plural "thermal electric outfits" -msgstr[0] "温熱式アウトフィット(オフ)" +msgstr[0] "電熱アウトフィット(オフ)" #. ~ Description for thermal electric outfit #: lang/json/TOOL_ARMOR_from_json.py @@ -60535,7 +62973,7 @@ msgstr "電池式の保温機構が組み込まれた、頭頂からつま先ま #: lang/json/TOOL_ARMOR_from_json.py msgid "thermal electric outfit (on)" msgid_plural "thermal electric outfits (on)" -msgstr[0] "温熱式アウトフィット(オン)" +msgstr[0] "電熱アウトフィット(オン)" #. ~ Description for thermal electric outfit (on) #: lang/json/TOOL_ARMOR_from_json.py @@ -60690,11 +63128,12 @@ msgstr "射撃用イヤーマフの電池が切れました。" #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py msgid "" -"A pair of earmuffs favored by shooters. The earmuffs are turned off. They " -"will block sounds over a certain decibel amount, assuming it is charged with" -" batteries." +"A pair of earmuffs favored by shooters. Without batteries or when turned " +"off they function like normal earmuffs and block all sound. They will block" +" sounds over a certain decibel amount when turned on. The earmuffs are " +"currently off." msgstr "" -"多くのシューターが愛用するイヤーマフです。外から入ってくる音の大きさを適切なレベルに軽減してくれます。電池を消費します。電源は入っていません。" +"射撃選手が愛用するイヤーマフです。電池がない、または電源を切った状態で着用すると、通常の耳栓のようにすべての音を遮音します。電源を入れて着用すると、特定のデシベル以上の音を遮音します。現在電源は入っていません。" #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py @@ -61128,6 +63567,495 @@ msgid "" msgstr "" "C.R.I.Tの標準装備のヘルメットです。頭部を保護し、首は保温と保護のために絶縁された伸縮する鋼鉄メッシュで覆われています。側面に薄暗い懐中電灯が内蔵されています。ライトは現在点灯しており、電力を消費しています。" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic leather belt" +msgid_plural "magic leather belts" +msgstr[0] "魔法のレザーベルト" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Haste" +msgid_plural "Belt of Hastes" +msgstr[0] "速度のベルト" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Megingjörð" +msgid_plural "Megingjörðs" +msgstr[0] "メギンギョルズ" + +#. ~ Description for Megingjörð +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The mythical belt of Thor, god of thunder. Or at least so it appears. It " +"doubles the wearer's base strength." +msgstr "雷の神トールが身に着けていた魔法の帯、またはそのレプリカです。着用者の基礎筋力が2倍になります。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Lesser Girdle of Pockets" +msgid_plural "Lesser Girdle of Pocketss" +msgstr[0] "魔法の腰袋" + +#. ~ Description for Lesser Girdle of Pockets +#. ~ Description for Greater Girdle of Pockets +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, coverd in numerous small pouches " +"that hold a lot more than they should, and the weight of their contents is " +"greatly reduced." +msgstr "腰に巻き付ける幅の広い帯です。収納した物の重量が大幅に軽減される小さな袋が多数付いています。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Greater Girdle of Pockets" +msgid_plural "Greater Girdle of Pocketss" +msgstr[0] "魔法の大容量腰袋" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Weaponry" +msgid_plural "Belt of Weaponrys" +msgstr[0] "抜刀のベルト" + +#. ~ Description for Belt of Weaponry +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, you can sheath or holster any " +"weapon into it in the blink of an eye, and it seemingly stores them " +"somewhere else." +msgstr "腰に巻き付ける幅の広い帯です。付属している鞘に武器を入れるとどこか他の次元に転送して保管されるようで、瞬く間に武器を収納/装備できます。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of The Iron Whip" +msgid_plural "Belts of the Iron Whip" +msgstr[0] "鉄鞭ベルト" + +#. ~ Use action msg for Belt of The Iron Whip. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"You grab the belt and it uncoils to become a flexible metal whip in your " +"hand!" +msgstr "ベルトを手に取ると、自在に曲がる金属製の鞭に変化しました!" + +#. ~ Description for Belt of The Iron Whip +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A braided but flexible belt seemingly made of metal. You can activate it to" +" transform it into a whip and flay your enemies." +msgstr "一見すると金属製の紐を編んで作った柔軟なベルトです。使用すると敵を打ち据える鞭に変化します。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "escape boots" +msgid_plural "escape boots" +msgstr[0] "転移のブーツ" + +#. ~ Description for escape boots +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, these boots can be activated once a day to escape from nasty " +"situations, teleporting you a good distance in a random direction." +msgstr "" +"古くから使われ続けてきたように見える、すり減った革と鋼鉄で作られた、丈夫で履き心地も非常に快適なブーツです。使用するとランダムな方向に転移し、厄介な状況から逃走できます。1日1回しか使用できません。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "pair of steel bracers" +msgid_plural "pairs of steel bracers" +msgstr[0] "鋼鉄の篭手" + +#. ~ Description for pair of steel bracers +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A full assembly of medieval arm protection." +msgstr "腕部を保護する中世の防具です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "steel bracer" +msgid_plural "steel bracers" +msgstr[0] "鋼鉄の篭手(片手)" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of lesser defense" +msgid_plural "bracers of lesser defense" +msgstr[0] "防御の篭手" + +#. ~ Description for bracer of lesser defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, silver accentuates the intricate design. It protects your body " +"with a light aura to reduce damage you take." +msgstr "表面に施された銀細工の美しい紋様が目を惹く、軽量ながら非常に頑丈な鋼鉄製の篭手です。受けるダメージを軽減し、身体を保護します。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of greater defense" +msgid_plural "bracers of greater defense" +msgstr[0] "鉄壁の篭手" + +#. ~ Description for bracer of greater defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, gold accentuates the intricate design. It protects your body with " +"a strong aura to reduce damage you take." +msgstr "表面に施された金細工の美しい紋様が目を惹く、軽量ながら非常に頑丈な鋼鉄製の篭手です。受けるダメージを大幅に軽減し、身体を保護します。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "lesser bracer of lightning" +msgid_plural "lesser bracers of lightning" +msgstr[0] "電光の篭手" + +#. ~ Description for lesser bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, silver accentuates the intricate design. It " +"protects your body with a light aura to reduce electrical damage you take, " +"as well as being able to release a Jolt spell 3 times a day." +msgstr "" +"表面に施された銀細工の美しい稲妻模様が目を惹く、軽量ながら非常に頑丈な鋼鉄製の篭手です。オーラで全身を包み、電撃によるダメージを軽減します。1日に3回までジョルトの呪文を詠唱できます。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "greater bracer of lightning" +msgid_plural "greater bracers of lightning" +msgstr[0] "雷撃の篭手" + +#. ~ Description for greater bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, gold accentuates the intricate design. It " +"protects your body with a strong aura to reduce electrical damage you take, " +"as well as being able to release a Lightning Bolt spell 3 times a day." +msgstr "" +"表面に施された金細工の美しい稲妻模様が目を惹く、軽量ながら非常に頑丈な鋼鉄製の篭手です。オーラで全身を包み、電撃によるダメージを大幅に軽減します。1日に3回までライトニング・ボルトの呪文を詠唱できます。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic mask" +msgid_plural "magic masks" +msgstr[0] "魔法の仮面" + +#. ~ Description for magic mask +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic magic mask." +msgstr "一般的な魔法の仮面です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of disappearance" +msgid_plural "masks of disappearance" +msgstr[0] "消失の仮面" + +#. ~ Description for mask of disappearance +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A mask with no facial features at all, just eye and mouth holes, upon " +"activation it makes everything ignore your presence for a while." +msgstr "表面に何も描かれていない、目と口の部分に穴が開いただけの仮面です。使用するとあらゆるものから存在を無視されます。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of perfect vision" +msgid_plural "masks of perfect vision" +msgstr[0] "慧眼の仮面" + +#. ~ Description for mask of perfect vision +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A decidedly steampunk-looking half mask that covers the eye area of the " +"face, it has large lenses that correct and greatly enhance the vision of the" +" wearer." +msgstr "目の部分だけを覆うスチームパンク的なデザインの仮面です。目元には大きなレンズが付いており、着用者の視力を補正して大幅に向上させます。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "copper magic ring" +msgid_plural "copper magic rings" +msgstr[0] "魔法の指輪(銅)" + +#. ~ Description for copper magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic copper magic ring." +msgstr "銅製の一般的な魔法の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic ring" +msgid_plural "magic rings" +msgstr[0] "魔法の指輪" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic silver magic ring." +msgstr "銀製の一般的な魔法の指輪です。" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic gold magic ring." +msgstr "金製の一般的な魔法の指輪です。" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic platinum magic ring." +msgstr "プラチナ製の一般的な魔法の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of blades" +msgid_plural "rings of blades" +msgstr[0] "剣の指輪" + +#. ~ Description for ring of blades +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"An ornate silver ring engraved with daggers that conjures a near perfect " +"throwing knife into your hand on activation." +msgstr "短剣の装飾が彫られた華やかな銀製の指輪です。使用すると手元に投げナイフを召喚します。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +1" +msgid_plural "minor rings of strength +1" +msgstr[0] "筋力の指輪+1" + +#. ~ Description for ring of strength +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little stronger when you wear it." +msgstr "着用すると少し強くなれる銅製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +2" +msgid_plural "rings of strength +2" +msgstr[0] "筋力の指輪+2" + +#. ~ Description for ring of strength +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit stronger when you wear it." +msgstr "着用するとそこそこ強くなれる銀製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +3" +msgid_plural "rings of strength +3" +msgstr[0] "筋力の指輪+3" + +#. ~ Description for ring of strength +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly stronger when you wear it." +msgstr "着用するとかなり強くなれる金製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +4" +msgid_plural "rings of strength +4" +msgstr[0] "筋力の指輪+4" + +#. ~ Description for ring of strength +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much stronger when you wear it." +msgstr "着用すると驚くほど強くなれるプラチナ製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +1" +msgid_plural "rings of dexterity +1" +msgstr[0] "器用の指輪+1" + +#. ~ Description for ring of dexterity +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little more agile when you wear it." +msgstr "着用すると少し機敏になれる銅製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +2" +msgid_plural "rings of dexterity +2" +msgstr[0] "器用の指輪+2" + +#. ~ Description for ring of dexterity +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit more agile when you wear it." +msgstr "着用するとそこそこ機敏になれる銀製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +3" +msgid_plural "rings of dexterity +3" +msgstr[0] "器用の指輪+3" + +#. ~ Description for ring of dexterity +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly more agile when you wear it." +msgstr "着用するとかなり機敏になれる金製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +4" +msgid_plural "rings of dexterity +4" +msgstr[0] "器用の指輪+4" + +#. ~ Description for ring of dexterity +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more agile when you wear it." +msgstr "着用すると驚くほど機敏になれるプラチナ製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +1" +msgid_plural "rings of intelligence +1" +msgstr[0] "知性の指輪+1" + +#. ~ Description for ring of intelligence +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more intelligent when you wear it." +msgstr "着用すると少し賢くなれる銅製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +2" +msgid_plural "rings of intelligence +2" +msgstr[0] "知性の指輪+2" + +#. ~ Description for ring of intelligence +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more intelligent when you wear it." +msgstr "着用するとそこそこ賢くなれる銀製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +3" +msgid_plural "rings of intelligence +3" +msgstr[0] "知性の指輪+3" + +#. ~ Description for ring of intelligence +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you surprisingly more intelligent when you wear it." +msgstr "着用するとかなり賢くなれる金製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +4" +msgid_plural "rings of intelligence +4" +msgstr[0] "知性の指輪+4" + +#. ~ Description for ring of intelligence +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more intelligent when you wear it." +msgstr "着用すると驚くほど賢くなれるプラチナ製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +1" +msgid_plural "rings of perception +1" +msgstr[0] "感覚の指輪+1" + +#. ~ Description for ring of perception +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more perceptive when you wear it." +msgstr "着用すると少し鋭くなれる銅製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +2" +msgid_plural "rings of perception +2" +msgstr[0] "感覚の指輪+2" + +#. ~ Description for ring of perception +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more perceptive when you wear it." +msgstr "着用するとそこそこ鋭くなれる銀製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +3" +msgid_plural "rings of perception +3" +msgstr[0] "感覚の指輪+3" + +#. ~ Description for ring of perception +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you eye-openingly more perceptive when you wear it." +msgstr "着用するとかなり鋭くなれる金製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +4" +msgid_plural "rings of perception +4" +msgstr[0] "感覚の指輪+4" + +#. ~ Description for ring of perception +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more perceptive when you wear it." +msgstr "着用すると驚くほど鋭くなれるプラチナ製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +3" +msgid_plural "rings of speed +3" +msgstr[0] "速度の指輪+3" + +#. ~ Description for ring of speed +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little faster when you wear it." +msgstr "着用すると少し素早くなれる銅製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +5" +msgid_plural "rings of speed +5" +msgstr[0] "速度の指輪+5" + +#. ~ Description for ring of speed +5 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit faster when you wear it." +msgstr "着用するとそこそこ素早くなれる銀製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +7" +msgid_plural "rings of speed +7" +msgstr[0] "速度の指輪+7" + +#. ~ Description for ring of speed +7 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you quite hasty when you wear it." +msgstr "着用するとかなり素早くなれる金製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +10" +msgid_plural "rings of speed +10" +msgstr[0] "速度の指輪+10" + +#. ~ Description for ring of speed +10 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much faster when you wear it." +msgstr "着用すると驚くほど素早くなれるプラチナ製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +2" +msgid_plural "rings of protection +2" +msgstr[0] "防御の指輪+2" + +#. ~ Description for ring of protection +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that reduces some of the force of damage you take when you " +"wear it." +msgstr "着用するとダメージを少し軽減する銅製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +4" +msgid_plural "rings of protection +4" +msgstr[0] "防御の指輪+4" + +#. ~ Description for ring of protection +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that appreciably reduces some of the force of damage you take " +"when you wear it." +msgstr "着用するとダメージをそこそこ軽減する銅製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +6" +msgid_plural "rings of protection +6" +msgstr[0] "防御の指輪+6" + +#. ~ Description for ring of protection +6 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that greatly reduces some of the force of damage you take when" +" you wear it." +msgstr "着用するとダメージをかなり軽減する銅製の指輪です。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +8" +msgid_plural "rings of protection +8" +msgstr[0] "防御の指輪+8" + +#. ~ Description for ring of protection +8 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A platinum ring that vastly reduces some of the force of damage you take " +"when you wear it." +msgstr "着用するとダメージを驚くほど軽減する銅製の指輪です。" + #: lang/json/TOOL_from_json.py msgid "washcloth" msgid_plural "washcloths" @@ -61148,9 +64076,9 @@ msgstr[0] "ベータボルタ電池" msgid "" "Harness the power of radiation in your own home! This looks similar to a " "D-cell battery, but actually contains folded layers of radioactive material " -"inside. It can produce electricity for several years at a steady voltage..." -" but it's barely enough to power a small LED, and these batteries were worth" -" hundreds of dollars. Mostly they're a good way to brag to your neighbours " +"inside. It can produce electricity for several years at a steady voltage… " +"but it's barely enough to power a small LED, and these batteries were worth " +"hundreds of dollars. Mostly they're a good way to brag to your neighbors " "that you have a nuclear power source in your house." msgstr "" "放射線の力をあなたのお宅にも!単一電池に似た外見ですが、中には層状に折り畳まれた放射性物質が入っています。安定した電圧で数年は発電できる性能ですが...小さなLED電球を光らせるのがやっとであり、しかも価格は数百ドルでした。有効な使い方といえば、自宅に原子力発電所があることをお隣さんに自慢するくらいでしょうか。" @@ -61163,13 +64091,13 @@ msgstr[0] "放射性同位体熱電気転換器" #. ~ Description for radioisotope thermoelectric generator #: lang/json/TOOL_from_json.py msgid "" -"Did your neighbours brag about their cool beta-decay powered nightlights? " -"Do them one better! The CuppaTech 4 radioisotope thermoelectric generator " -"is a three kilogram chunk of metal - mostly lead - with a slug of curium-244" -" encased within. It is capable of generating somewhere between 100-150 " -"Watts of thermal energy, although its electrical generation capacity is " -"minimal at only 2 Watts. Careful! Curium is great at making heat, and also" -" releases deadly gamma radiation. Keep away from cellular life forms." +"Did your neighbors brag about their cool beta-decay powered nightlights? Do" +" them one better! The CuppaTech 4 radioisotope thermoelectric generator is " +"a three kilogram chunk of metal - mostly lead - with a slug of curium-244 " +"encased within. It is capable of generating somewhere between 100-150 Watts" +" of thermal energy, although its electrical generation capacity is minimal " +"at only 2 Watts. Careful! Curium is great at making heat, and also " +"releases deadly gamma radiation. Keep away from cellular life forms." msgstr "" "お隣さんが素敵なベータボルタ電池駆動の夜間照明を自慢していましたか?もっといいものがありますよ!CuppaTech社の放射性同位体熱電気転換器は3kgの金属塊で、素材の大部分は鉛です。中心にはキュリウム244塊が入っています。発電容量はわずか2ワットと最低限ですが、なんと100~150ワットもの熱エネルギーを生成することが可能です。注意:キュリウムは膨大な熱の他に、致死性のガンマ線も放出します。細胞生物から遠ざけて使用してください。" @@ -61271,8 +64199,8 @@ msgstr[0] "透視の杖" #. ~ Description for clairvoyance rod #: lang/json/TOOL_from_json.py msgid "" -"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's " -"a bug." +"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's" +" a bug." msgstr "aep_clairvoyance_plusフラグのテストアイテムです。通常のプレイで自然生成された場合はバグが発生しています。" #: lang/json/TOOL_from_json.py @@ -61496,10 +64424,10 @@ msgstr[0] "パイプ爆弾" #. ~ Use action menu_text for fragment bomb. #. ~ Use action menu_text for can bomb. #. ~ Use action menu_text for match head bomb. +#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for dynamite. #. ~ Use action menu_text for fertilizer bomb. #. ~ Use action menu_text for ANFO charge. -#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for black gunpowder charge. #. ~ Use action menu_text for RDX charge. #: lang/json/TOOL_from_json.py @@ -61541,7 +64469,7 @@ msgstr "既に%sは点火されていますから、さっさと投げましょ #. ~ Use action sound_msg for match head bomb (lit). #. ~ Use action sound_msg for dynamite (lit). #. ~ Use action sound_msg for fertilizer bomb (lit). -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py src/iuse.cpp +#: lang/json/TOOL_from_json.py msgid "ssss..." msgstr "ジジジジ..." @@ -61567,7 +64495,7 @@ msgstr "%sの導火線に点火しました。" #. ~ Description for nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by nails and a fuse. Use this item to light the fuse. You will " "then have five turns before it explodes; throwing it would be a good idea." msgstr "" @@ -61588,8 +64516,8 @@ msgstr "既に点火されています。何をぐずぐずしているんです #. ~ Description for active nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by nails and a fuse. The fuse has been lit, you should throw it." +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by nails and a fuse. The fuse has been lit, you should throw it." msgstr "爆発物と釘の入った容器に導火線を付けただけの、大きな即席爆弾です。導火線には既に火がついるので、投げた方が良さそうです。" #: lang/json/TOOL_from_json.py @@ -61600,7 +64528,7 @@ msgstr[0] "破片爆弾" #. ~ Description for fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by small pieces of metal and a fuse. Use this item to light the " "fuse. You will then have five turns before it explodes; throwing it would " "be a good idea." @@ -61615,8 +64543,8 @@ msgstr[0] "破片爆弾(点火)" #. ~ Description for active fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " "should throw it." msgstr "爆発物と金属片の入った容器に導火線を付けただけの、大きな即席爆弾です。導火線には既に火がついるので、投げた方が良さそうです。" @@ -61635,8 +64563,8 @@ msgstr "缶爆弾の導火線に点火しました。顔が吹っ飛ぶ前に早 #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think." msgstr "爆発物で満たされたブリキ缶から導火線が突き出しています。爆発すれば装甲に対しても効果的な金属片をまき散らす...かもしれません。" #: lang/json/TOOL_from_json.py @@ -61648,11 +64576,57 @@ msgstr[0] "缶爆弾(点火)" #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think. The fuse has been lit, you should throw it." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think. The fuse has been lit, you should throw it." msgstr "" "爆発物で満たされたブリキ缶から導火線が突き出しています。爆発すれば装甲に対しても効果的な金属片をまき散らす...かもしれません。導火線には火がついています。投げましょう。" +#: lang/json/TOOL_from_json.py +msgid "jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "ジャック・オ・ランタン" + +#. ~ Use action menu_text for jack o'lantern. +#. ~ Use action menu_text for candle. +#. ~ Use action menu_text for Louisville Slaughterer. +#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: src/veh_interact.cpp +msgid "Light" +msgstr "点火する" + +#. ~ Use action msg for jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "You light the candle in the jack o'lantern." +msgstr "ジャック・オ・ランタンに火を灯しました。" + +#. ~ Description for jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"This is a plastic lantern that is painted to look like a pumpkin with a " +"face. It has a candle inside it, that can be replaced when burnt down. It " +"doesn't provide very much light, but it can burn for quite a long time. " +"You'll need a lighter or matches to light it." +msgstr "" +"顔が描かれたカボチャのようなデザインの、プラスチック製ランタンです。内部にろうそくが入っており、燃え尽きても交換できます。光は弱いですが、とても長持ちします。着火にはライターやマッチが必要です。" + +#: lang/json/TOOL_from_json.py +msgid "spooky jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "ジャック・オ・ランタン(点火)" + +#. ~ Use action msg for spooky jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "The candle winks out inside the lantern." +msgstr "ランタンの中のろうそくの火がふっと消えました。" + +#. ~ Description for spooky jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"There is a thick LED candle inside the pumpkin face. It doesn't provide " +"very much light, but it can burn for quite a long time. This candle is lit." +" The face shifts." +msgstr "カボチャのランタンの中でろうそくが揺らめき、不気味な顔が浮かび上がっています。光は弱いですが、とても長持ちします。" + #. ~ Description for battle axe #: lang/json/TOOL_from_json.py msgid "" @@ -61740,6 +64714,69 @@ msgid "" msgstr "" "マッチの頭をボトルに詰め込んだ自作爆弾です。既に点火されていて、導火線がものすごい速さで燃え尽きていっています。このまま持っているべきではないでしょうね。" +#: lang/json/TOOL_from_json.py +msgid "black gunpowder bomb" +msgid_plural "black gunpowder bombs" +msgstr[0] "黒色火薬爆弾" + +#. ~ Use action msg for black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "" +"You light the fuse on the black gunpowder bomb. Throw it before it blows in" +" your face!" +msgstr "黒色火薬擲弾の導火線に火をつけました。顔が吹っ飛ぶ前に早く投げましょう!" + +#. ~ Description for black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a bit of " +"fuse sticking out of it." +msgstr "黒色火薬で満たされたブリキ缶から導火線が突き出しています。" + +#: lang/json/TOOL_from_json.py +msgid "active black gunpowder bomb" +msgid_plural "active black gunpowder bombs" +msgstr[0] "黒色火薬爆弾(点火)" + +#. ~ Use action no_deactivate_msg for active black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "You've already lit the fuse - throw it!" +msgstr "既に点火されています。投げましょう!" + +#. ~ Use action sound_msg for active black gunpowder bomb. +#. ~ Use action sound_msg for active black gunpowder charge. +#. ~ Use action sound_msg for active RDX charge. +#: lang/json/TOOL_from_json.py +msgid "Kshhh." +msgstr "シュー..." + +#. ~ Description for active black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a lit " +"fuse stuck inside of it." +msgstr "黒色火薬で満たされたブリキ缶から火のついた導火線が突き出しています。" + +#: lang/json/TOOL_from_json.py +msgid "hobo stove (lit)" +msgid_plural "hobo stoves (lit)" +msgstr[0] "ホーボーストーブ(点火)" + +#. ~ Use action msg for hobo stove (lit). +#. ~ Use action msg for ember carrier (lit). +#: lang/json/TOOL_from_json.py +msgid "The ember is extinguished." +msgstr "火口が燃え尽きました。" + +#. ~ Description for hobo stove (lit) +#. ~ Description for hobo stove +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small improvised wood stove, made from a metal can or similar " +"container of the right size. Useful for defrosting and reheating food, uses" +" simple tinder." +msgstr "金属の缶等から作った、木を燃料とするストーブです。簡単な火口を使って点火し、食品の解凍や加熱ができます。" + #: lang/json/TOOL_from_json.py msgid "folded poncho" msgid_plural "folded ponchos" @@ -61795,7 +64832,7 @@ msgstr[0] "鞍" msgid "" "A saddle that can be placed on a tamed animal that is capable of being " "ridden." -msgstr "騎乗に適した飼い慣らされた動物に装着できる鞍です。" +msgstr "騎乗に適した飼い慣らされた動物に装着できる鞍(くら)です。" #: lang/json/TOOL_from_json.py msgid "active EMP grenade" @@ -61958,8 +64995,8 @@ msgstr[0] "水車" #. ~ Description for water mill #: lang/json/TOOL_from_json.py msgid "" -"A small water-powered mill that can convert starchy products into flour. Can" -" be placed via the construction menu." +"A small water-powered mill that can convert starchy products into flour. " +"Can be placed via the construction menu." msgstr "でんぷん質を含むアイテムを穀粉に加工する小型の水車です。建設メニューから設置できます。" #: lang/json/TOOL_from_json.py lang/json/furniture_from_json.py @@ -61970,8 +65007,8 @@ msgstr[0] "風車" #. ~ Description for wind mill #: lang/json/TOOL_from_json.py msgid "" -"A small wind-powered mill that can convert starchy products into flour. Can " -"be placed via the construction menu." +"A small wind-powered mill that can convert starchy products into flour. Can" +" be placed via the construction menu." msgstr "でんぷん質を含むアイテムを穀粉に加工する小型の風車です。建設メニューから設置できます。" #: lang/json/TOOL_from_json.py @@ -62103,14 +65140,14 @@ msgstr "繋がれた紐が引っ張られると起爆する爆発物です。設 #: lang/json/TOOL_from_json.py msgid "brick kiln" msgid_plural "brick kilns" -msgstr[0] "煉瓦窯" +msgstr[0] "レンガ窯" #. ~ Description for brick kiln #: lang/json/TOOL_from_json.py msgid "" "This is a portable charcoal-fired kiln. It is designed for firing bricks, " "but you could use it to fire anything made of clay." -msgstr "炭を燃やして使う携帯型の窯です。煉瓦を焼成するためのものですが、粘土で作ったものを焼くこともできます。" +msgstr "炭を燃やして使う携帯型の窯です。レンガを焼成するためのものですが、粘土で作ったものを焼くこともできます。" #: lang/json/TOOL_from_json.py msgid "electric kiln" @@ -62248,39 +65285,31 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "candle" msgid_plural "candles" -msgstr[0] "蝋燭" - -#. ~ Use action menu_text for candle. -#. ~ Use action menu_text for hobo stove. -#. ~ Use action menu_text for Louisville Slaughterer. -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: src/veh_interact.cpp -msgid "Light" -msgstr "点火する" +msgstr[0] "ろうそく" #. ~ Use action msg for candle. #: lang/json/TOOL_from_json.py msgid "You light the candle." -msgstr "蝋燭に火をつけました。" +msgstr "ろうそくに火をつけました。" #. ~ Description for candle #: lang/json/TOOL_from_json.py msgid "" "This is a thick candle. It doesn't provide very much light, but it can burn" " for quite a long time. You'll need a lighter or matches to light it." -msgstr "太い蝋燭です。光は弱いですが、とても長持ちします。着火にはライターやマッチが必要です。" +msgstr "太いろうそくです。光は弱いですが、とても長持ちします。着火にはライターやマッチが必要です。" #. ~ Use action msg for candle. #: lang/json/TOOL_from_json.py msgid "The candle winks out." -msgstr "蝋燭の火がふっと消えました。" +msgstr "ろうそくの火がふっと消えました。" #. ~ Description for candle #: lang/json/TOOL_from_json.py msgid "" "This is a thick candle. It doesn't provide very much light, but it can burn" " for quite a long time. This candle is lit." -msgstr "太い蝋燭です。光は弱いですが、とても長持ちします。火がついています。" +msgstr "太いろうそくです。光は弱いですが、とても長持ちします。火がついています。" #: lang/json/TOOL_from_json.py msgid "goo canister" @@ -62304,7 +65333,7 @@ msgstr[0] "電動ナイフ(オフ)" #: lang/json/TOOL_from_json.py msgid "" "An electric meat carver powered by batteries. Two serrated blades that " -"vibrate together to slice just about anything from turkey to ham... even " +"vibrate together to slice just about anything from turkey to ham… even " "zombies!" msgstr "" "電池駆動式の電導肉切りナイフです。2つののこぎり状の刃が同時に振動することで、大抵の物は七面鳥をハムにするときのようにスライスできます......もちろんゾンビでさえも。" @@ -62461,6 +65490,20 @@ msgid "" msgstr "" "水が入った容器に使うと、炭の層が中身を浄水します。炭は一定の水を浄化すると汚れて使えなくなります。分解する事で再利用が出来ます。川やトイレなど、飲料に適さない水源から水を採取した時に役に立ちます。" +#: lang/json/TOOL_from_json.py +msgid "lifestraw" +msgid_plural "lifestraws" +msgstr[0] "ライフストロー" + +#. ~ Description for lifestraw +#: lang/json/TOOL_from_json.py +msgid "" +"Set the lifestraw in suspect water, let sit for one minute then drink. The " +"two part filtration system will purify the water you drink. Water taken " +"from uncertain sources like a river may be dirty." +msgstr "" +"清潔かどうか判別できない水に一端を漬けてしばらく待てば、二層式のろ過システムによって浄水された状態で飲むことができます。川などの飲料に適さない水源から水を採取する時に役に立ちます。" + #: lang/json/TOOL_from_json.py msgid "charcoal smoker" msgid_plural "charcoal smokers" @@ -62483,7 +65526,7 @@ msgstr[0] "調理器具(炭)" msgid "" "This is a little metal tank for holding charcoal with a pilot light " "attached. You could use it for cooking food." -msgstr "中に入れた炭に火をつけて使う、小さな金属製のタンクです。調理に使用することができます。" +msgstr "点火装置を取り付けた、炭を入れる小型の金属タンクです。調理に使用できます。" #: lang/json/TOOL_from_json.py msgid "paint chipper" @@ -62879,11 +65922,10 @@ msgstr[0] "電子手錠" #: lang/json/TOOL_from_json.py msgid "" "A pair of electronic handcuffs, used by police and riot bots to detain captives. Their continuous siren clearly identifies the wearer as an arrested criminal and alerts human police. Wait for their arrival, don't try to escape or to remove the cuffs - they will administer an electric shock.\n" -"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative..." +"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative…" msgstr "" -"両手の自由を奪う電子制御式の手錠です。警察官や暴動制御ロボットが、取り押さえた容疑者に使います。鳴り続けるサイレン音は手錠の装着者(あなたですよ)が逮捕された犯罪者であることを周囲に知らせ、人間の警察官を呼び寄せます。逃走や解除を試みるべきではありません" -" - " -"法の下に電気ショックが執行されます。とはいえ、ゾンビとなった警察官が駆け付けて職務を全うするにはかなりの時間が必要です。待つもよし、ちょいと工夫をするもよし..." +"両手の自由を奪う電子制御式の手錠です。警察官や暴動制御ロボットが、取り押さえた容疑者に使います。鳴り続けるサイレン音は手錠の装着者が逮捕された犯罪者であることを周囲に知らせ、人間の警察官を呼び寄せます。逃走や解除を試みるべきではありません。法の下に電気ショックが執行されます。\n" +"とはいえ、ゾンビとなった警察官が駆け付けて職務を全うするにはかなりの時間が必要です。待つもよし、ちょいと細工をするもよし..." #: lang/json/TOOL_from_json.py msgid "entrenching tool" @@ -63142,19 +66184,19 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "basic fishing rod" msgid_plural "basic fishing rods" -msgstr[0] "簡易釣竿" +msgstr[0] "簡易釣り竿" #. ~ Description for basic fishing rod #: lang/json/TOOL_from_json.py msgid "" "'Fishing rod' might be a bit too charitable of a description. In truth, " "this is a stick with a piece of string and a hook." -msgstr "これを'釣竿'と呼べるのかな。実際は木の棒に糸と釣り針が取り付けてあるだけの代物だよ。" +msgstr "これを'釣り竿'と呼べるのかな。実際は木の棒に糸と釣り針が取り付けてあるだけの代物だよ。" #: lang/json/TOOL_from_json.py msgid "pro fishing rod" msgid_plural "pro fishing rods" -msgstr[0] "釣竿" +msgstr[0] "釣り竿" #. ~ Description for pro fishing rod #: lang/json/TOOL_from_json.py @@ -63539,7 +66581,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "claw bar" msgid_plural "claw bars" -msgstr[0] "バール" +msgstr[0] "小型バール" #. ~ Description for claw bar #: lang/json/TOOL_from_json.py @@ -63589,14 +66631,14 @@ msgstr "スポーツ傷害の手当や食べ物を温めるために用いる、 #: lang/json/TOOL_from_json.py msgid "hoe" msgid_plural "hoes" -msgstr[0] "鍬" +msgstr[0] "くわ" #. ~ Description for hoe #: lang/json/TOOL_from_json.py msgid "" "This is a farming implement. You can use it to turn tillable land into a " "slow-to-cross pile of dirt, or dig a shallow pit." -msgstr "鍬(くわ)。農作業用の道具です。使用すると地面を耕して、歩き辛い耕作地や浅い穴を作り出します。" +msgstr "農作業用の道具です。使用すると地面を耕して、歩き辛い耕作地や浅い穴を作り出します。" #: lang/json/TOOL_from_json.py msgid "honey scraper" @@ -64352,6 +67394,18 @@ msgid "" msgstr "" "医療用の酸素タンクです。レギュレーターとマスクが付属しており、必要な時すぐ使えます。通常、喘息発作や煙を吸い込んでしまった際などの緊急時に使用しますが、ちょっとした爆発物として使うことも不可能ではありません。" +#: lang/json/TOOL_from_json.py +msgid "oxygen cylinder" +msgid_plural "oxygen cylinders" +msgstr[0] "酸素ボンベ" + +#. ~ Description for oxygen cylinder +#: lang/json/TOOL_from_json.py +msgid "" +"A large steel cylinder used for storing pressurized gas. It is marked with " +"a faded, but legible O2 symbol." +msgstr "加圧されたガスを保存するための大きな鋼鉄製シリンダーです。表面は色あせていますが、酸素のシンボルマークは簡単に読み取れます。" + #: lang/json/TOOL_from_json.py msgid "nitrogen tank" msgid_plural "nitrogen tanks" @@ -64389,7 +67443,7 @@ msgstr "刷毛(はけ)。壁面を塗装するのに適した幅広のブラシ #: lang/json/TOOL_from_json.py msgid "permanent marker" msgid_plural "permanent markers" -msgstr[0] "ペンキ" +msgstr[0] "油性ペン" #. ~ Use action gerund for permanent marker. #. ~ Use action gerund for survival marker. @@ -64410,7 +67464,7 @@ msgid "" "between a typical marker and a can of spray paint in size. Use it to write " "something down. However, writing \"Elbereth\" probably won't help you." msgstr "" -"大容量の業務用ペンキです。色の落ちにくさはマーカーペンとスプレー缶の中間ぐらいです。一般的な落書きが出来ます。'Elbereth'と書いても気休めにもならないですよ。" +"大容量の業務用油性ペンです。サイズは一般的なペンとスプレー缶の中間ぐらいです。使用すると書き込みができます。'Elbereth'と書いても気休めにもならないですよ。" #: lang/json/TOOL_from_json.py msgid "pet carrier" @@ -64612,7 +67666,7 @@ msgstr[0] "釿(石)" #: lang/json/TOOL_from_json.py msgid "" "This is a stone adze, somewhat useful for cutting through wood objects." -msgstr "石の釿(ちょうな)です。農作業に使う鍬のような形をした工具で、木材や木製品の成形加工に使います。" +msgstr "石の釿(ちょうな)です。農作業に使うくわのような形をした工具で、木材や木製品の成形加工に使います。" #: lang/json/TOOL_from_json.py msgid "stone axe" @@ -64693,8 +67747,8 @@ msgstr[0] "スポンジ" #. ~ Description for sponge #: lang/json/TOOL_from_json.py msgid "" -"A sponge is a tool or cleaning aid made of soft, porous material. Typically " -"used for cleaning impervious surfaces." +"A sponge is a tool or cleaning aid made of soft, porous material. Typically" +" used for cleaning impervious surfaces." msgstr "掃除に役立つ、柔らかくて多孔質の素材でできた道具です。普通は水を通さない物体の表面を洗浄するのに使われます。" #: lang/json/TOOL_from_json.py @@ -64705,8 +67759,8 @@ msgstr[0] "洗濯洗浄キット" #. ~ Description for washing kit #: lang/json/TOOL_from_json.py msgid "" -"A combination kit of a washboard and a sponge. Everything you need to clean" -" items after the apocalypse." +"A combination kit of a washboard and a sponge or rag. Everything you need " +"to clean items after the apocalypse." msgstr "洗濯板とスポンジのセットです。大変動後に物を洗うために必要な道具全てが揃っています。" #: lang/json/TOOL_from_json.py @@ -65552,49 +68606,6 @@ msgid "" "dynamite primer. The fuse has been lit - better run like hell!" msgstr "ANFOペレットを詰めてダイナマイト用導火線を付けた金属製の大きな樽です。既に点火されています。ここが地獄になる前に早く逃げましょう!" -#: lang/json/TOOL_from_json.py -msgid "black gunpowder bomb" -msgid_plural "black gunpowder bombs" -msgstr[0] "黒色火薬爆弾" - -#. ~ Use action msg for black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "" -"You light the fuse on the black gunpowder bomb. Throw it before it blows in" -" your face!" -msgstr "黒色火薬擲弾の導火線に火をつけました。顔が吹っ飛ぶ前に早く投げましょう!" - -#. ~ Description for black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a bit of " -"fuse sticking out of it." -msgstr "黒色火薬で満たされたブリキ缶から導火線が突き出しています。" - -#: lang/json/TOOL_from_json.py -msgid "active black gunpowder bomb" -msgid_plural "active black gunpowder bombs" -msgstr[0] "黒色火薬爆弾(点火)" - -#. ~ Use action no_deactivate_msg for active black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "You've already lit the fuse - throw it!" -msgstr "既に点火されています。投げましょう!" - -#. ~ Use action sound_msg for active black gunpowder bomb. -#. ~ Use action sound_msg for active black gunpowder charge. -#. ~ Use action sound_msg for active RDX charge. -#: lang/json/TOOL_from_json.py -msgid "Kshhh." -msgstr "シュー..." - -#. ~ Description for active black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a lit " -"fuse stuck inside of it." -msgstr "黒色火薬で満たされたブリキ缶から火のついた導火線が突き出しています。" - #: lang/json/TOOL_from_json.py msgid "black gunpowder charge" msgid_plural "black gunpowder charges" @@ -65611,9 +68622,9 @@ msgstr "黒色火薬爆弾の導火線に火をつけました。早く逃げま msgid "" "This is a home-made explosive device, consisting of a large plastic jug " "filled with black gunpowder and scrap metal, equipped with a long fuse. Use" -" this item to light the fuse. Should explode in a few minutes..." +" this item to light the fuse. Should explode in a few minutes…" msgstr "" -"長い導火線がついた大きなプラスチック製容器に、黒色火薬と金属屑を詰めた、自家製爆弾です。使用して導火線に点火します。あと数分で爆発するでしょう..." +"長い導火線がついた大きなプラスチック製容器に、黒色火薬と金属片を詰めた、自家製爆弾です。使用して導火線に点火します。あと数分で爆発するでしょう..." #: lang/json/TOOL_from_json.py msgid "active black gunpowder charge" @@ -65743,11 +68754,13 @@ msgid_plural "torches" msgstr[0] "松明" #. ~ Use action menu_text for torch. +#. ~ Use action menu_text for everburning torch. #: lang/json/TOOL_from_json.py msgid "Light torch" msgstr "点火する" #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "You light the torch." msgstr "松明に火をつけました。" @@ -65761,6 +68774,7 @@ msgid "" msgstr "可燃性の液体を染みこませてある布を巻きつけた棒です。火をつけると光源になります。火をつけるのにライターかマッチが必要です。" #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "The torch is extinguished." msgstr "松明の火が消えました。" @@ -65817,7 +68831,7 @@ msgid "" "purpose is to trip up bypassers, causing them to stumble and possibly hurt " "themselves slightly." msgstr "" -"両端に取り付け具の付いた細くて丈夫なケーブルです。仕掛け線は玄関や狭い通路などに設置しなければなりません。この罠は通過者を躓かせる事が目的でしが、軽い怪我を与えられる可能性もあります。" +"両端に取り付け具の付いた細くて丈夫なケーブルです。仕掛け線は玄関や狭い通路などに設置しなければなりません。この罠は通過者を躓かせる事が目的ですが、軽い怪我を与えられる可能性もあります。" #: lang/json/TOOL_from_json.py msgid "trumpet" @@ -66112,46 +69126,6 @@ msgid "hobo stove" msgid_plural "hobo stoves" msgstr[0] "ホーボーストーブ" -#. ~ Use action msg for hobo stove. -#: lang/json/TOOL_from_json.py -msgid "The hobo stove is lit." -msgstr "ホーボーストーブを点火しました。" - -#. ~ Use action need_fire_msg for hobo stove. -#: lang/json/TOOL_from_json.py src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -msgid "You need a source of fire!" -msgstr "火種が必要です!" - -#. ~ Description for hobo stove -#. ~ Description for hobo stove (lit) -#: lang/json/TOOL_from_json.py -msgid "" -"This is a small improvised wood stove, made from a metal can or similar " -"container of the right size. Useful for defrosting and reheating food, uses" -" simple tinder." -msgstr "金属の缶等から作った、木を燃料とするストーブです。簡単な火口を使って点火し、食品の解凍や加熱ができます。" - -#: lang/json/TOOL_from_json.py -msgid "hobo stove (lit)" -msgid_plural "hobo stoves (lit)" -msgstr[0] "ホーボーストーブ(点火)" - -#. ~ Use action menu_text for hobo stove (lit). -#: lang/json/TOOL_from_json.py -msgid "Heat up food" -msgstr "食料を温める" - -#. ~ Use action msg for hobo stove (lit). -#: lang/json/TOOL_from_json.py src/iuse.cpp -msgid "You heat up the food." -msgstr "食料を温めました。" - -#. ~ Use action msg for hobo stove (lit). -#. ~ Use action msg for ember carrier (lit). -#: lang/json/TOOL_from_json.py -msgid "The ember is extinguished." -msgstr "火口が燃え尽きました。" - #: lang/json/TOOL_from_json.py msgid "ember carrier" msgid_plural "ember carriers" @@ -66162,6 +69136,11 @@ msgstr[0] "蓋付十能" msgid "You light the tinder." msgstr "火口に火をつけました。" +#. ~ Use action need_charges_msg for ember carrier. +#: lang/json/TOOL_from_json.py +msgid "The ember carrier is out of tinder." +msgstr "火種入れの火種が尽きました。" + #. ~ Use action need_fire_msg for ember carrier. #: lang/json/TOOL_from_json.py msgid "You need a lighter or fire to light this." @@ -66193,28 +69172,28 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "pallet of wet adobe bricks" msgid_plural "pallets of wet adobe bricks" -msgstr[0] "日干し煉瓦パレット(未乾燥)" +msgstr[0] "日干しレンガパレット(未乾燥)" #. ~ Use action msg for pallet of wet adobe bricks. #: lang/json/TOOL_from_json.py msgid "You test the bricks, and they're solid enough to use." -msgstr "煉瓦を確認すると、十分に硬くなっているようです。" +msgstr "レンガを確認すると、十分に硬くなっているようです。" #. ~ Use action not_ready_msg for pallet of wet adobe bricks. #: lang/json/TOOL_from_json.py msgid "The bricks are still too damp to bear weight." -msgstr "煉瓦はまだ湿っており、耐久性が不十分です。" +msgstr "レンガはまだ湿っており、耐久性が不十分です。" #. ~ Description for pallet of wet adobe bricks #: lang/json/TOOL_from_json.py msgid "" "A pallet full of heavy mud bricks which need to dry slowly to be usable." -msgstr "泥製の重い煉瓦を満載したパレットです。使える状態になるまでゆっくり乾かす必要があります。" +msgstr "泥製の重いレンガを満載したパレットです。使える状態になるまでゆっくり乾かす必要があります。" #: lang/json/TOOL_from_json.py msgid "pallet of dry adobe bricks" msgid_plural "pallets of dry adobe bricks" -msgstr[0] "日干し煉瓦パレット" +msgstr[0] "日干しレンガパレット" #. ~ Description for pallet of dry adobe bricks #: lang/json/TOOL_from_json.py @@ -66223,7 +69202,7 @@ msgid "" " risking your life. Disassemble it to retrieve your frame and building " "supplies." msgstr "" -"パレットに満載された質素な泥製の煉瓦です。人間が命を危険に晒している間に、一週間かけてじっくり乾燥していました。分解するとパレットと煉瓦を入手できます。" +"パレットに満載された質素な泥製のレンガです。人間が命を危険に晒している間に、一週間かけてじっくり乾燥していました。分解するとパレットとレンガを入手できます。" #: lang/json/TOOL_from_json.py msgid "bronze anvil" @@ -66317,8 +69296,8 @@ msgstr[0] "食肉用フック" #. ~ Description for grip hook #: lang/json/TOOL_from_json.py msgid "" -"A simple steel meathook with a circular steel handle. Makes a passable melee" -" weapon." +"A simple steel meathook with a circular steel handle. Makes a passable " +"melee weapon." msgstr "円形の持ち手が付いた、シンプルな鋼鉄製の食肉用フックです。近接武器としてそれなりに利用できます。" #: lang/json/TOOL_from_json.py @@ -66653,7 +69632,7 @@ msgstr "警備ロボットのプログラミングに間違いがあったよう #. ~ Description for inactive TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M16A4. Using this item " +"This is an inactive TALON UGV equipped with an M16A4. Using this item " "involves loading the unit with the factory-loaded 5.56x45mm rounds in your " "inventory (if you wish to divide your ammunition, set aside whatever " "5.56x45mm you do NOT want to give the robot) turning it on, and placing it " @@ -66671,7 +69650,7 @@ msgstr[0] "無人戦闘車(M202A1/停止)" #. ~ Description for inactive M202A1 TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M202A1. Using this item " +"This is an inactive TALON UGV equipped with an M202A1. Using this item " "involves loading the unit with the M235 rockets in your inventory (if you " "wish to divide your ammunition, set aside whatever M235 rockets you do NOT " "want to give the robot) turning it on, and placing it on the ground. If " @@ -66760,9 +69739,9 @@ msgstr "壊れたサイボーグは苦しみに満ちた雄叫びを上げ、襲 #: lang/json/TOOL_from_json.py msgid "" "This is a deactivated broken cyborg, the last shreds of its humanity still " -"rotting away. Using this item involves placing it on the ground and " +"rotting away. Using this item involves placing it on the ground and " "reactivating its mechanical body. If reprogrammed and rewired successfully " -"the cyborg will then follow you and attack enemies. You monster." +"the cyborg will then follow you and attack enemies. You monster." msgstr "" "最後に残った人間性の欠片も失いかけている、停止状態の壊れたサイボーグです。使用すると起動して活動を開始します。起動時のプログラムの書き換えと配線に成功すると、使用者を味方として認識して追従し、敵を攻撃します。これはとても非人道的な行為です。" @@ -66814,7 +69793,7 @@ msgstr "チキンウォーカーは唸るような音を発し、こちらに狙 #. ~ Description for inactive chicken walker #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive chicken walker. Using this item involves placing it on " +"This is an inactive chicken walker. Using this item involves placing it on " "the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm " "cartridge grenades in your inventory (if you wish to divide your ammunition," " set aside whatever ammunition you do NOT want to give the robot) and " @@ -66843,8 +69822,8 @@ msgstr "警官ロボットはサイレンと回転灯を起動し、こちらを #. ~ Description for inactive police bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive police robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive police robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "police bot will then identify you as law enforcement, roam around or follow " "you, and attempt to detain lawbreakers." msgstr "" @@ -66870,7 +69849,7 @@ msgstr "監視ロボットは不承認を示す音を鳴らし、こちらにレ #. ~ Description for inactive eyebot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive eyebot. Using this item involves turning it on and " +"This is an inactive eyebot. Using this item involves turning it on and " "launching the UAV. If reprogrammed and rewired successfully the eyebot will" " then keep watch for intruders." msgstr "停止状態の監視ロボットです。使用すると起動して飛行を開始します。起動時のプログラムの書き換えと配線に成功すると、侵入者の監視を開始します。" @@ -66893,8 +69872,8 @@ msgstr "掃除ロボットはエラー音を発しましたが、それはとも #. ~ Description for inactive cleaner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive cleaner bot. Using this item involves placing it on the " -"ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive cleaner bot. Using this item involves placing it on the" +" ground and turning it on. If reprogrammed and rewired successfully the " "cleaner bot will respond to future commands." msgstr "" "停止状態の掃除ロボットです。使用すると起動して活動を開始します。起動時のプログラムの書き換えと配線に成功すると、操作を受け付けるようになります。" @@ -66917,8 +69896,8 @@ msgstr "採掘ロボットは暴走し、こちらに突進してきます。避 #. ~ Description for inactive miner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive mining robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive mining robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "miner bot will respond to future commands." msgstr "" "停止状態の採掘ロボットです。使用すると起動して活動を開始します。起動時のプログラムの書き換えと配線に成功すると、操作を受け付けるようになります。" @@ -66942,9 +69921,9 @@ msgstr "暴動鎮圧ロボットはこちらにガスを吹きかけ、手錠を #. ~ Description for inactive riot control bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive riot control bot. Using this item involves placing it on" -" the ground and turning it on. If reprogrammed and rewired successfully the" -" robot will bring order and peace to the horde." +"This is an inactive riot control bot. Using this item involves placing it " +"on the ground and turning it on. If reprogrammed and rewired successfully " +"the robot will bring order and peace to the horde." msgstr "" "停止状態の暴動鎮圧ロボットです。使用すると起動して活動を開始します。起動時のプログラムの書き換えと配線に成功すると、暴徒に秩序と平和をもたらします。" @@ -66966,7 +69945,7 @@ msgstr "高速ボットはテーザー銃を威嚇的にこちらに向け、突 #. ~ Description for inactive skitterbot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive skitterbot. Using this item involves placing it on the " +"This is an inactive skitterbot. Using this item involves placing it on the " "ground and turning it on. If reprogrammed and rewired successfully the " "robot will race towards enemies and shock them." msgstr "" @@ -67020,7 +69999,7 @@ msgstr "無人戦車は砲塔を回転させてこちらに向けました。茶 #. ~ Description for inactive tank drone #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " +"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " "it on the ground, loading the unit with the factory-loaded 5.56 rounds and " "40mm cartridge grenades in your inventory (if you wish to divide your " "ammunition, set aside whatever ammunition you do NOT want to give the robot)" @@ -67050,8 +70029,8 @@ msgstr "三脚ロボットはこちらに照準を合わせ、火炎放射器に #. ~ Description for inactive tripod #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Honda Regnal. Using this item involves placing it on the" -" ground, wondering how it fuels its flamethrower and turning it on. If " +"This is an inactive Honda Regnal. Using this item involves placing it on " +"the ground, wondering how it fuels its flamethrower and turning it on. If " "reprogrammed and rewired successfully the tribot will then identify you as " "an ally, roam around or follow you, and impale hostiles with its spiked " "cable weapons." @@ -67077,10 +70056,10 @@ msgstr "探照灯が反抗的に光り輝き、目をくらませました。" #. ~ Description for inactive milspec searchlight #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive military-grade automated searchlight. Using this item " +"This is an inactive military-grade automated searchlight. Using this item " "involves placing it on the ground and turning it on. If reprogrammed and " "rewired successfully the searchlight will then identify you as an ally, " -"survey the area, and illuminate approaching hostiles. Seems to have an " +"survey the area, and illuminate approaching hostiles. Seems to have an " "unhealthy fascination with you." msgstr "" "停止状態の軍用自動探照灯です。使用すると起動して活動を開始します。起動時のプログラムの書き換えと配線に成功すると、使用者を味方として認識して周囲の敵を照らしますが、敵の注目を集めてしまう可能性があります。" @@ -67402,7 +70381,7 @@ msgstr[0] "簡易戦闘用大鎌" msgid "" "This farming tool has been modified into an improvised weapon by rotating " "its blade 90 degrees, transforming it into a deadly giant blade on the end " -"of a stick. However it's quite fragile." +"of a stick. However it's quite fragile." msgstr "" "戦闘用に改造した鎌です。刃の角度を90度回転させることで、農具が棒に括りつけた威力の高い巨大な刃に変貌しました。若干壊れやすいのが難点です。" @@ -67499,6 +70478,21 @@ msgid "" " be deadly in either the right hands or when attached as a bayonet." msgstr "戦闘時に使う軍用ナイフです。軽量で非常に鋭く、手に持って使っても銃剣として取り付けても、致命傷を与えられるでしょう。" +#: lang/json/TOOL_from_json.py +msgid "modified combat knife" +msgid_plural "modified combat knives" +msgstr[0] "改造コンバットナイフ" + +#. ~ Description for modified combat knife +#: lang/json/TOOL_from_json.py +msgid "" +"This is a military combat knife. It is light and extremely sharp, and could" +" be deadly in either the right hands or when attached as a bayonet. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" +"戦闘時に使う軍用ナイフです。軽量で非常に鋭く、手に持って使っても銃剣として取り付けても、致命傷を与えられるでしょう。ハンドガン以外のほぼすべての銃器に取り付けられるように改造してあります。" + #: lang/json/TOOL_from_json.py msgid "hunting knife" msgid_plural "hunting knives" @@ -67813,6 +70807,21 @@ msgid "" " of a firearm or crossbow converting it into a pike." msgstr "銃器やクロスボウの先端に取り付けて槍のように扱うこともできる、大型の斬撃武器です。" +#: lang/json/TOOL_from_json.py +msgid "modified sword bayonet" +msgid_plural "modified sword bayonets" +msgstr[0] "改造長銃剣" + +#. ~ Description for modified sword bayonet +#: lang/json/TOOL_from_json.py +msgid "" +"A sword bayonet is a large slashing weapon that can be attached to the front" +" of a firearm or crossbow converting it into a pike. This one was modified " +"and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" +"銃器やクロスボウの先端に取り付けて槍のように扱うこともできる、大型の斬撃武器です。ハンドガンとサブマシンガン以外のほぼすべての銃器に取り付けられるように改造してあります。" + #. ~ Description for tanto #: lang/json/TOOL_from_json.py msgid "" @@ -67914,6 +70923,57 @@ msgid "" "light for its size." msgstr "日本伝来の大型で反りのある両手持ちの刀です。大きさの割には軽量です。" +#: lang/json/TOOL_from_json.py +msgid "electrified foil" +msgid_plural "electrified foils" +msgstr[0] "電撃フルーレ" + +#. ~ Description for electrified foil +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing foil may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" +"このフルーレにはスポーツに相応しくない改造が施されていますが、生存競争で上位を目指すなら使って損はありません。グリップは絶縁素材になっており、ガードに取り付けた高電圧スタンガンは電気センサーの回路を通じて剣先まで通電するようになっています。鋭い剣を敵に突き刺しながらスイッチを押すと、痛みを伴う電撃を浴びせられます。" + +#: lang/json/TOOL_from_json.py +msgid "electrified épée" +msgid_plural "electrified épées" +msgstr[0] "電撃エペ" + +#. ~ Description for electrified épée +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing épée may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" +"このエペにはスポーツに相応しくない改造が施されていますが、生存競争で上位を目指すなら使って損はありません。グリップは絶縁素材になっており、ガードに取り付けた高電圧スタンガンは電気センサーの回路を通じて剣先まで通電するようになっています。鋭い剣を敵に突き刺しながらスイッチを押すと、痛みを伴う電撃を浴びせられます。" + +#: lang/json/TOOL_from_json.py +msgid "electrified saber" +msgid_plural "electrified sabers" +msgstr[0] "電撃サーブル" + +#. ~ Description for electrified saber +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing saber may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired to the tip along the saber's groove. Thrusting the " +"sharpened tip into a foe and activating the momentary switch will deliver a " +"painful electric shock." +msgstr "" +"このサーブルにはスポーツに相応しくない改造が施されていますが、生存競争で上位を目指すなら使って損はありません。グリップは絶縁素材になっており、ガードに取り付けた高電圧スタンガンは、剣の溝に通った配線によって剣先まで通電するようになっています。鋭い剣を敵に突き刺しながらスイッチを押すと、痛みを伴う電撃を浴びせられます。" + #. ~ Description for broadsword #: lang/json/TOOL_from_json.py msgid "" @@ -68250,6 +71310,33 @@ msgid "" "reinforce plastic items." msgstr "プラスチックの欠片です。プラスチック製品の製作、修復や補強に使えます。" +#: lang/json/TOOL_from_json.py +msgid "synthetic fabric" +msgid_plural "synthetic fabrics" +msgstr[0] "端切れ(合成繊維)" + +#. ~ Description for synthetic fabric +#: lang/json/TOOL_from_json.py +msgid "" +"This is small bolt of synthetic fabric. Unlike you and other natural " +"materials, it won't degrade much with age. Maybe that's less of a bad thing" +" now." +msgstr "合成繊維の端切れです。人間や天然素材と異なり、年齢を経てもそれほど劣化しません。今の状況に役立つ素材と言えますね。" + +#: lang/json/TOOL_from_json.py +msgid "lycra patch" +msgid_plural "lycra patches" +msgstr[0] "端切れ(ライクラ)" + +#. ~ Description for lycra patch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small bolt of a synthetic fabric blended with stretchy lycra " +"fibers. It could be used to make flexible yet strong clothing. Stylish, " +"but bad for the environment; at least you're recycling it." +msgstr "" +"伸縮性の高いライクラ繊維を織り交ぜた合成繊維の端切れです。柔軟かつ丈夫な衣類を仕立てるのに適しています。お洒落ではあるものの自然環境に悪い素材だと言われていますが、少なくとも再利用は可能です。" + #: lang/json/TOOL_from_json.py msgid "hexamine stove" msgid_plural "hexamine stoves" @@ -68691,10 +71778,9 @@ msgstr[0] "双方向無線機" #: lang/json/TOOL_from_json.py msgid "" "This is a radio with a transmitting unit. You could use it to contact " -"someone who also has one. Unfortunately no one seems to use those " -"nowadays..." +"someone who also has one. Unfortunately no one seems to use those nowadays…" msgstr "" -"送信機能が付いた無線機です。使用すれば、同じものを持っている人と連絡を取ることができます。残念ながら、今の状況でこれを使っている人がいるとは思えませんが..." +"送信機能が付いた無線機です。使用すれば同じものを持っている人と連絡を取れます。残念ながら、今の状況でこれを使っている人がいるとは思えませんが..." #: lang/json/TOOL_from_json.py msgid "remote vehicle controller" @@ -68854,7 +71940,7 @@ msgstr[0] "顕微鏡" #. ~ Description for microscope #: lang/json/TOOL_from_json.py msgid "" -"A classic tool for the ages! This hefty, durable piece of lab equipment " +"A classic tool for the ages! This hefty, durable piece of lab equipment " "makes small things look bigger. Without electricity the light doesn't work," " but the rest of it is surprisingly functional. Unfortunately it's not " "useful for very much at the moment." @@ -69044,7 +72130,7 @@ msgstr[0] "高耐久ジャンパーケーブル" msgid "" "A long, thick, heavy-duty cable with power leads on either end. It looks " "like you could use it to hook up two vehicles to each other, though you " -"expect the power loss would be noticeable. Can also link other electrical " +"expect the power loss would be noticeable. Can also link other electrical " "systems." msgstr "" "長く、太く、頑丈な高耐久型の電力ケーブルです。末端に接続端子が付いています。2台の車を接続することができますが、長い分電力損失は大きそうです。車両以外の電気システムにも接続できます。" @@ -69418,14 +72504,112 @@ msgstr "" "ジャガイモに取り付けられた遺伝的生命形態およびディスクオペレーティングシステム(Genetic Lifeform and Disk Operating " "System)のようなものです。" +#: lang/json/TOOL_from_json.py +msgid "heat cube" +msgid_plural "heat cubes" +msgstr[0] "ヒートキューブ" + +#. ~ Use action menu_text for heat cube. +#: lang/json/TOOL_from_json.py +msgid "Activate torch mode" +msgstr "トーチモード" + +#. ~ Use action msg for heat cube. +#: lang/json/TOOL_from_json.py +msgid "" +"You push the torch button and the cube emits a large flame from the top, one" +" that does radiate heat, but won't burn anything." +msgstr "照明モードのボタンを押すと、立方体の上部に火がつきました。この火は熱を発していますが、他の物体を燃やすことはありません。" + +#. ~ Description for heat cube +#: lang/json/TOOL_from_json.py +msgid "" +"A smooth steel cube the size of your fist. Several buttons on the sides " +"activate the powers of the cube." +msgstr "拳大の滑らかな鋼鉄製の立方体です。側面に付いているボタンを押せば、機能が有効化されます。" + +#: lang/json/TOOL_from_json.py +msgid "heat cube (torch on)" +msgid_plural "heat cubes (torch on)" +msgstr[0] "ヒートキューブ(トーチ)" + +#. ~ Use action msg for heat cube (torch on). +#: lang/json/TOOL_from_json.py +msgid "The torch flame is extinguished." +msgstr "火が消えました。" + +#. ~ Description for heat cube (torch on) +#: lang/json/TOOL_from_json.py +msgid "" +"The heat cube in the torch configuration, where it emits warmth and a bright" +" flame that does not burn." +msgstr "ヒートキューブはトーチモードになっており、熱と光を発する燃えない炎が上がっています。" + +#: lang/json/TOOL_from_json.py +msgid "skeleton key of opening" +msgid_plural "skeleton key of opening" +msgstr[0] "マスターキー" + +#. ~ Description for skeleton key of opening +#: lang/json/TOOL_from_json.py +msgid "" +"A small gold skeleton key. You can activate it to unlock locked things." +msgstr "金色のマスターキーです。使用すると施錠を解除できます。" + +#: lang/json/TOOL_from_json.py +msgid "everburning torch" +msgid_plural "everburning torches" +msgstr[0] "消えずの松明" + +#. ~ Description for everburning torch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality engraved wooden torch. On command, the tip bursts " +"into flame and produces a fair amount of light. It will burn forever." +msgstr "精緻な彫刻が施された木製の松明です。使用すると炎が燃え上がり、かなりの光量を確保できます。永遠に燃え尽きることがありません。" + +#: lang/json/TOOL_from_json.py +msgid "enchanted tailor's kit" +msgid_plural "enchanted tailor's kits" +msgstr[0] "魔法仕立て屋キット" + +#. ~ Description for enchanted tailor's kit +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality, engraved steel kit with a variety of needles, some " +"plastic spools for thread, some small scissors, even a small heating element" +" for melting and joining plastic. Use a tailor's kit to customize your " +"clothing and armor. This uses your tailoring skill. It also contains one " +"of those magic spiders that constantly, if slowly, makes new thread." +msgstr "" +"数本の針、プラスチックの糸巻き、小さなハサミ、さらにプラスチックを溶かしたり繋いだりできる発熱器がセットになった、彫刻が施された高品質のキットです。使用すると、裁縫スキルを活用して衣服や防具の修復や補強を行えます。ゆっくりと糸を生成し続ける魔法のクモもセットに入っています。" + +#: lang/json/TOOL_from_json.py +msgid "spider box" +msgid_plural "spider boxes" +msgstr[0] "クモの巣箱" + +#. ~ Description for spider box +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small glass box that contains a spider that diligently works day " +"and night to produce silk thread that it stores in a reservoir you can open " +"and retrieve it from." +msgstr "内部でクモが昼夜を問わず熱心に糸を紡いでいる、小さなガラス製の箱です。作られた糸は取り出して利用できます。" + #: lang/json/TOOL_from_json.py msgid "Magic Wand" msgid_plural "Magic Wands" msgstr[0] "魔法の杖" +#: lang/json/TOOL_from_json.py +msgid "Disposable Wand" +msgid_plural "Disposable Wands" +msgstr[0] "使い捨て杖" + #: lang/json/TOOL_from_json.py msgid "minor wand of magic missile" -msgid_plural "minor wand of magic missiles" +msgid_plural "minor wands of magic missile" msgstr[0] "下級杖(マジック・ミサイル)" #. ~ Description for minor wand of magic missile @@ -69439,17 +72623,17 @@ msgstr "マナクリスタルを嵌め込むソケットが付いた、細長い #: lang/json/TOOL_from_json.py msgid "lesser wand of magic missile" -msgid_plural "lesser wand of magic missiles" +msgid_plural "lesser wands of magic missile" msgstr[0] "中級杖(マジック・ミサイル)" #: lang/json/TOOL_from_json.py msgid "greater wand of magic missile" -msgid_plural "greater wand of magic missiles" +msgid_plural "greater wands of magic missile" msgstr[0] "上級杖(マジック・ミサイル)" #: lang/json/TOOL_from_json.py msgid "minor wand of fireball" -msgid_plural "minor wand of fireballs" +msgid_plural "minor wands of fireball" msgstr[0] "下級杖(ファイアボール)" #. ~ Description for minor wand of fireball @@ -69463,17 +72647,17 @@ msgstr "マナクリスタルを嵌め込むソケットが付いた、細長い #: lang/json/TOOL_from_json.py msgid "lesser wand of fireball" -msgid_plural "lesser wand of fireballs" +msgid_plural "lesser wands of fireball" msgstr[0] "中級杖(ファイアボール)" #: lang/json/TOOL_from_json.py msgid "greater wand of fireball" -msgid_plural "greater wand of fireballs" +msgid_plural "greater wands of fireball" msgstr[0] "上級杖(ファイアボール)" #: lang/json/TOOL_from_json.py msgid "minor wand of mana beam" -msgid_plural "minor wand of mana beams" +msgid_plural "minor wands of mana beam" msgstr[0] "下級杖(マナ・ビーム)" #. ~ Description for minor wand of mana beam @@ -69487,17 +72671,17 @@ msgstr "マナクリスタルを嵌め込むソケットが付いた、細長い #: lang/json/TOOL_from_json.py msgid "lesser wand of mana beam" -msgid_plural "lesser wand of mana beams" +msgid_plural "lesser wands of mana beam" msgstr[0] "中級杖(マナ・ビーム)" #: lang/json/TOOL_from_json.py msgid "greater wand of mana beam" -msgid_plural "greater wand of mana beams" +msgid_plural "greater wands of mana beam" msgstr[0] "上級杖(マナ・ビーム)" #: lang/json/TOOL_from_json.py msgid "minor wand of point flare" -msgid_plural "minor wand of point flares" +msgid_plural "minor wands of point flare" msgstr[0] "下級杖(ポイント・フレア)" #. ~ Description for minor wand of point flare @@ -69511,41 +72695,41 @@ msgstr "マナクリスタルを嵌め込むソケットが付いた、細長い #: lang/json/TOOL_from_json.py msgid "lesser wand of point flare" -msgid_plural "lesser wand of point flares" +msgid_plural "lesser wands of point flare" msgstr[0] "中級杖(ポイント・フレア)" #: lang/json/TOOL_from_json.py msgid "greater wand of point flare" -msgid_plural "greater wand of point flares" +msgid_plural "greater wands of point flare" msgstr[0] "上級杖(ポイント・フレア)" #: lang/json/TOOL_from_json.py -msgid "minor wand of iceball" -msgid_plural "minor wand of iceballs" -msgstr[0] "下級杖(アイスボール)" +msgid "minor wand of hoary blast" +msgid_plural "minor wands of hoary blast" +msgstr[0] "下級杖(マナ・ビーム)" -#. ~ Description for minor wand of iceball -#. ~ Description for lesser wand of iceball -#. ~ Description for greater wand of iceball +#. ~ Description for minor wand of hoary blast +#. ~ Description for lesser wand of hoary blast +#. ~ Description for greater wand of hoary blast #: lang/json/TOOL_from_json.py msgid "" "A slender wooden wand with a mana crystal socket at the base that casts a " -"spell when activated. This wand casts iceball." -msgstr "マナクリスタルを嵌め込むソケットが付いた、細長い木製の杖です。この杖を使用するとアイスボールを詠唱できます。" +"spell when activated. This wand casts hoary blast." +msgstr "マナクリスタルを嵌め込むソケットが付いた、細長い木製の杖です。この杖を使用するとホーリー・ブラストを詠唱できます。" #: lang/json/TOOL_from_json.py -msgid "lesser wand of iceball" -msgid_plural "lesser wand of iceballs" -msgstr[0] "中級杖(アイスボール)" +msgid "lesser wand of hoary blast" +msgid_plural "lesser wands of hoary blast" +msgstr[0] "下級杖(ホーリー・ブラスト)" #: lang/json/TOOL_from_json.py -msgid "greater wand of iceball" -msgid_plural "greater wand of iceballs" -msgstr[0] "上級杖(アイスボール)" +msgid "greater wand of hoary blast" +msgid_plural "greater wands of hoary blast" +msgstr[0] "上級杖(ホーリー・ブラスト)" #: lang/json/TOOL_from_json.py msgid "minor wand of cone of cold" -msgid_plural "minor wand of cone of colds" +msgid_plural "minor wands of cone of cold" msgstr[0] "下級杖(コーン・オブ・コールド)" #. ~ Description for minor wand of cone of cold @@ -69559,12 +72743,156 @@ msgstr "マナクリスタルを嵌め込むソケットが付いた、細長い #: lang/json/TOOL_from_json.py msgid "lesser wand of cone of cold" -msgid_plural "lesser wand of cone of colds" +msgid_plural "lesser wands of cone of cold" msgstr[0] "中級杖(コーン・オブ・コールド)" #: lang/json/TOOL_from_json.py msgid "greater wand of cone of cold" -msgid_plural "greater wand of cone of colds" +msgid_plural "greater wands of cone of cold" +msgstr[0] "上級杖(コーン・オブ・コールド)" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of magic missile" +msgid_plural "disposable minor wands of magic missile" +msgstr[0] "下級杖(マジック・ミサイル)" + +#. ~ Description for disposable minor wand of magic missile +#. ~ Description for disposable lesser wand of magic missile +#. ~ Description for disposable greater wand of magic missile +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts magic missile." +msgstr "マナクリスタルが埋め込まれた細長い木製の杖です。この杖を使用するとマジック・ミサイルを詠唱できます。" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of magic missile" +msgid_plural "disposable lesser wands of magic missile" +msgstr[0] "中級杖(マジック・ミサイル)" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of magic missile" +msgid_plural "disposable greater wands of magic missile" +msgstr[0] "上級杖(マジック・ミサイル)" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of fireball" +msgid_plural "disposable minor wands of fireball" +msgstr[0] "下級杖(ファイアボール)" + +#. ~ Description for disposable minor wand of fireball +#. ~ Description for disposable lesser wand of fireball +#. ~ Description for disposable greater wand of fireball +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts fireball." +msgstr "マナクリスタルが埋め込まれた細長い木製の杖です。この杖を使用するとファイアボールを詠唱できます。" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of fireball" +msgid_plural "disposable lesser wands of fireball" +msgstr[0] "中級杖(ファイアボール)" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of fireball" +msgid_plural "disposable greater wands of fireball" +msgstr[0] "上級杖(ファイアボール)" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of mana beam" +msgid_plural "disposable minor wands of mana beam" +msgstr[0] "下級杖(マナ・ビーム)" + +#. ~ Description for disposable minor wand of mana beam +#. ~ Description for disposable lesser wand of mana beam +#. ~ Description for disposable greater wand of mana beam +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts mana beam." +msgstr "マナクリスタルが埋め込まれた細長い木製の杖です。この杖を使用するとマナ・ビームを詠唱できます。" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of mana beam" +msgid_plural "disposable lesser wands of mana beam" +msgstr[0] "中級杖(マナ・ビーム)" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of mana beam" +msgid_plural "disposable greater wands of mana beam" +msgstr[0] "上級杖(マナ・ビーム)" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of point flare" +msgid_plural "disposable minor wands of point flare" +msgstr[0] "下級杖(ポイント・フレア)" + +#. ~ Description for disposable minor wand of point flare +#. ~ Description for disposable lesser wand of point flare +#. ~ Description for disposable greater wand of point flare +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts point flare." +msgstr "マナクリスタルが埋め込まれた細長い木製の杖です。この杖を使用するとポイント・フレアを詠唱できます。" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of point flare" +msgid_plural "disposable lesser wands of point flare" +msgstr[0] "中級杖(ポイント・フレア)" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of point flare" +msgid_plural "disposable greater wands of point flare" +msgstr[0] "上級杖(ポイント・フレア)" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of hoary blast" +msgid_plural "disposable minor wands of hoary blast" +msgstr[0] "下級杖(ホーリー・ブラスト)" + +#. ~ Description for disposable minor wand of hoary blast +#. ~ Description for disposable lesser wand of hoary blast +#. ~ Description for disposable greater wand of hoary blast +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts hoary blast." +msgstr "マナクリスタルが埋め込まれた細長い木製の杖です。この杖を使用するとホーリー・ブラストを詠唱できます。" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of hoary blast" +msgid_plural "disposable lesser wands of hoary blast" +msgstr[0] "中級杖(ホーリー・ブラスト)" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of hoary blast" +msgid_plural "disposable greater wands of hoary blast" +msgstr[0] "上級杖(ホーリー・ブラスト)" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of cone of cold" +msgid_plural "disposable minor wands of cone of cold" +msgstr[0] "下級杖(コーン・オブ・コールド)" + +#. ~ Description for disposable minor wand of cone of cold +#. ~ Description for disposable lesser wand of cone of cold +#. ~ Description for disposable greater wand of cone of cold +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts cone of cold." +msgstr "マナクリスタルが埋め込まれた細長い木製の杖です。この杖を使用するとコーン・オブ・コールドを詠唱できます。" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of cone of cold" +msgid_plural "disposable lesser wands of cone of cold" +msgstr[0] "中級杖(コーン・オブ・コールド)" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of cone of cold" +msgid_plural "disposable greater wands of cone of cold" msgstr[0] "上級杖(コーン・オブ・コールド)" #: lang/json/TOOL_from_json.py @@ -69643,7 +72971,7 @@ msgstr "表面にゼンマイと歯車を表す印が刻まれた奇妙な小石 #: lang/json/TOOL_from_json.py msgid "Magus rune" -msgid_plural "Magus runes" +msgid_plural "Magi runes" msgstr[0] "ルーン(魔法使い)" #. ~ Description for Magus rune @@ -69774,7 +73102,7 @@ msgstr "粉が放つ光はどんどん強くなっていきます。" #: lang/json/TOOL_from_json.py msgid "wand of fireballs" -msgid_plural "wand of fireballss" +msgid_plural "wands of fireball" msgstr[0] "ファイアボールの杖" #. ~ Description for wand of fireballs @@ -69786,7 +73114,7 @@ msgstr "ファイアボールを失敗せずに撃てる、古典的な杖です #: lang/json/TOOL_from_json.py msgid "wand of magic missiles" -msgid_plural "wand of magic missiless" +msgid_plural "wands of magic missile" msgstr[0] "マジック・ミサイルの杖" #. ~ Description for wand of magic missiles @@ -70206,11 +73534,6 @@ msgid "" "This is a stick that has been cut into a trigger mechanism for a snare trap." msgstr "くくり罠として機能するように木を削った物です。" -#: lang/json/TOOL_from_json.py -msgid "Laevateinn" -msgid_plural "Laevateinns" -msgstr[0] "レーヴァテイン" - #. ~ Description for Laevateinn #: lang/json/TOOL_from_json.py msgid "" @@ -71329,6 +74652,17 @@ msgid "" " terribly when not on a rail." msgstr "頑丈な鉄道用車輪です。車輪縁の出っ張りのお陰でレール上を走り続けられますが、それ以外の場所での走行性は最悪です。" +#: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py +msgid "pair of small rail wheels" +msgstr "鉄道用ホイール(小)" + +#. ~ Description for pair of small rail wheels +#: lang/json/WHEEL_from_json.py +msgid "" +"A pair of small rail wheels. It fits small railroad rails found in places " +"like amusement parks. Mostly for hobby purposes rather then transportation." +msgstr "遊園地などにある幅の狭い鉄道のレールに合う、2つセットになった小型の鉄道用ホイールです。本格的な輸送よりも趣味の鉄道に適しています。" + #: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py msgid "motorbike wheel" msgstr "バイクホイール" @@ -71427,7 +74761,7 @@ msgstr "自作の木製カートホイールです。" #: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py msgid "banded wooden cart wheel" -msgstr "補強したカートホイール(木)" +msgstr "補強カートホイール(木)" #. ~ Description for banded wooden cart wheel #: lang/json/WHEEL_from_json.py @@ -71695,6 +75029,10 @@ msgstr "粉砕" msgid "cranking" msgstr "手回し充電" +#: lang/json/activity_type_from_json.py +msgid "heating" +msgstr "加温" + #: lang/json/activity_type_from_json.py msgid "de-stressing" msgstr " ストレス解消" @@ -71905,7 +75243,7 @@ msgstr "木々との交信" #: lang/json/activity_type_from_json.py msgid "eating" -msgstr "食事" +msgstr "消費" #: lang/json/activity_type_from_json.py msgid "consuming" @@ -72329,7 +75667,7 @@ msgstr "合金メッキ - 腕" #. ~ Description for Alloy Plating - Arms #: lang/json/bionic_from_json.py msgid "" -"The flesh on your arms has been surgically replaced by alloy plating. " +"The flesh on your arms has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "腕の肉を合金の装甲に置換します。受動的な防御力を提供するほか、CBM格闘術に組み合わせて使用できます。 " @@ -72364,7 +75702,7 @@ msgstr "合金メッキ - 脚" #. ~ Description for Alloy Plating - Legs #: lang/json/bionic_from_json.py msgid "" -"The flesh on your legs has been surgically replaced by alloy plating. " +"The flesh on your legs has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "脚部の肉を合金の装甲に置換します。受動的な防御力を提供するほか、CBM格闘術に組み合わせて使用できます。 " @@ -72583,7 +75921,8 @@ msgid "" " are highly resistant to foodborne illness, and can sometimes eat rotten " "food." msgstr "" -"3つの人工胃と工業用品質の腸を装着します。 これは食料からより多くの養分を抽出できるだけでなく、食中毒の無効化や 腐敗した食料の摂取まで可能にします。" +"3つの人工胃と工業用品質の腸を装着しています。 " +"食料からより多くの養分を抽出できるだけでなく、食中毒への抵抗力を高め、腐敗した食料の消化すら可能にします。" #: lang/json/bionic_from_json.py msgid "Acidic Discharge" @@ -72674,15 +76013,20 @@ msgstr "エタノール燃焼装置" #. ~ Description for Ethanol Burner #: lang/json/bionic_from_json.py -msgid "" -"You burn alcohol as fuel in an extremely efficient reaction. However, you " -"will still suffer the inebriating effects of the substance." -msgstr "アルコールを非常に効率的な燃料として利用できます。しかし、酒酔いの影響は通常と同じように受けてしまいます。" +msgid "You burn alcohol as fuel in an extremely efficient reaction." +msgstr "アルコールを非常に効率的な燃料として利用できます。" #: lang/json/bionic_from_json.py msgid "Aero-Evaporator" msgstr "水蒸気液化装置" +#. ~ Description for Aero-Evaporator +#: lang/json/bionic_from_json.py +msgid "" +"This unit draws moisture from the surrounding air, which slowly trickles " +"directly into your blood stream. It may fail in very dry environments." +msgstr "周囲の大気から水分を抽出し、血管に直接吸収させます。乾燥した環境では失敗する可能性があります。" + #: lang/json/bionic_from_json.py msgid "Diamond Cornea" msgstr "ダイヤモンド角膜" @@ -72783,7 +76127,7 @@ msgid "" "You don't think that capacitor is *meant* to glow, but it does, and usually " "at bad times. A malfunctioning bionic randomly turns on and off, causing " "you to glow and making you visible in the dark without improving how much " -"you can see in the slighest." +"you can see in the slightest." msgstr "" "コンデンサに*発光機能*があるなんて予想外ですが、これは実際に光っています。しかも、悪いタイミングで。CBMの部品が誤作動を起こしてランダムに明滅します。暗闇で視界を得られる程は明るくないですが、目立ってしまいます。" @@ -72927,10 +76271,10 @@ msgstr "" "電力を消費することで白血球の生産を加速させ、造血力を高める刺激装置を装着します。継続的に使用していると、停止した際に不快な副作用を引き起こす可能性があります。" #: lang/json/bionic_from_json.py -msgid "Mini-Flamethrower" -msgstr "小型火炎放射器" +msgid "Finger Lighter" +msgstr "指搭載式ライター" -#. ~ Description for Mini-Flamethrower +#. ~ Description for Finger Lighter #: lang/json/bionic_from_json.py msgid "" "The index fingers of both hands have powerful fire starters which extend " @@ -72958,10 +76302,10 @@ msgstr "電磁ユニット" #: lang/json/bionic_from_json.py msgid "" "Surgically embedded in your right hand is a powerful electromagnet, allowing" -" you to indiscriminately pull all nearby magnetic objects towards you. " -"Unlucky bystanders might be injured or killed by flying objects." +" you to use your own strength to pull all nearby magnetic objects towards " +"you. Unlucky bystanders might be injured or killed by flying objects." msgstr "" -"右手に強力な電磁石を埋め込みます。起動すると近くにある鉄製のアイテムを手元に引き寄せます。引き寄せられた物体で近くにいる人間が負傷したり死亡したりする恐れがあります。" +"右手に強力な電磁石を埋め込みます。自分の筋肉だけを使って近くにある鉄製のアイテムを手元に引き寄せます。引き寄せられた物体で近くにいる人間が負傷、死亡する恐れがあります。" " " #: lang/json/bionic_from_json.py @@ -73021,14 +76365,22 @@ msgstr "修復用ナノマシン" #: lang/json/bionic_from_json.py msgid "" "Inside your body is a fleet of tiny dormant robots. While activated they " -"will flit about your body, repairing damage at 1 HP/s and stopping bleeding " -"at the cost of power." -msgstr "体内に極小サイズのロボットを注入します。作動させている間は体内を動き回り、電力を消費して出血を止め損傷部位を修復します。 " +"will flit about your body, repairing damage at 1 HP per minute and stopping " +"bleeding at the cost of extra power and stored calories." +msgstr "" +"体内に極小サイズのロボットを注入します。作動させている間は体内を動き回りながら毎分HPを1回復し、追加電力とカロリーを消費して止血を行います。" #: lang/json/bionic_from_json.py msgid "Artificial Night Generator" msgstr "人工暗闇発生装置" +#. ~ Description for Artificial Night Generator +#: lang/json/bionic_from_json.py +msgid "" +"When active, this bionic eliminates all light within a 2 tile radius through" +" destructive interference." +msgstr "光を阻害する物質を散布する装置です。破壊的な干渉によって半径2タイル以内に光が届かなくなります。" + #: lang/json/bionic_from_json.py msgid "Implanted Night Vision" msgstr "内蔵暗視装置" @@ -73051,8 +76403,8 @@ msgstr "機能不全の生体部品です。時々爆音を発します。" msgid "" "You're really not sure how the CBM ended up in your nose, but no matter how " "it got there this badly misplaced bionic makes it difficult to breathe. " -"Increases mouth encumbrance by one." -msgstr "なぜこうなってしまったのかは分かりませんが、導入に失敗した生体部品が鼻孔を塞いでいます。口に1の動作制限を受けます。" +"Increases mouth encumbrance by ten." +msgstr "何故こうなってしまったのか分かりませんが、導入に失敗した生体部品が鼻孔を塞いでいます。口に10の動作制限を受けます。" #: lang/json/bionic_from_json.py msgid "Offensive Defense System" @@ -73085,8 +76437,8 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "Due to a badly misplaced dielectric stylette, you are now suffering from " -"mild optic neuropathy. Increases eye encumbrance by one." -msgstr "絶縁スタイレットを挿し間違えた結果、軽度の視覚障害に悩まされています。眼に1の動作制限を受けます。 " +"mild optic neuropathy. Increases eye encumbrance by ten." +msgstr "絶縁スタイレットを挿し間違えた結果、軽度の視覚障害に悩まされています。眼に10の動作制限を受けます。 " #: lang/json/bionic_from_json.py msgid "Power Armor Interface" @@ -73101,7 +76453,7 @@ msgstr "生体部品の電力をパワーアーマーに供給するシステム #: lang/json/bionic_from_json.py msgid "Power Armor Interface Mk. II" -msgstr "パワーアーマーインターフェース Mk. II" +msgstr "パワーアーマーインターフェース Mk.II" #. ~ Description for Power Armor Interface Mk. II #: lang/json/bionic_from_json.py @@ -73109,7 +76461,7 @@ msgid "" "Interfaces your power system with the internal charging port on suits of " "power armor, allowing them to draw from your bionic power banks. Twice as " "efficient as the Mk. I model." -msgstr "生体部品の電力をパワーアーマーに供給するシステムを追加します。Mk. Iシリーズの二倍の効率を誇ります。 " +msgstr "生体部品の電力をパワーアーマーに供給するシステムを追加します。Mk.Iシリーズの二倍の効率を誇ります。 " #: lang/json/bionic_from_json.py msgid "Power Storage" @@ -73118,20 +76470,19 @@ msgstr "蓄電装置" #. ~ Description for Power Storage #: lang/json/bionic_from_json.py msgid "" -"A Compact Bionics Module that increases your power capacity by 100 units. " +"A Compact Bionics Module that increases your power capacity by 100 kJ. " "Having at least one of these is a prerequisite to using powered bionics. " "You will also need a power supply, found in various CBMs." -msgstr "蓄電容量を100増加させる小型モジュールです。これが無いとCBMは使えません。蓄電するにはこのCBMとは別に発電用CBMが必要です。 " +msgstr "蓄電容量を100kJ増加させる小型モジュールです。これが無いとCBMは使えません。蓄電するにはこのCBMとは別に発電用CBMが必要です。 " #: lang/json/bionic_from_json.py msgid "Power Storage Mk. II" -msgstr "蓄電装置 Mk. II" +msgstr "蓄電装置 Mk.II" #. ~ Description for Power Storage Mk. II #: lang/json/bionic_from_json.py -msgid "" -"A Compact Bionics Module that increases your power capacity by 250 units." -msgstr "蓄電容量を250増加させる小型モジュールです。" +msgid "A Compact Bionics Module that increases your power capacity by 250 kJ." +msgstr "蓄電容量を250kJ増加させる小型モジュールです。" #. ~ Description for Power Overload #: lang/json/bionic_from_json.py @@ -73178,7 +76529,7 @@ msgid "" "A system of advanced piezomechanical blood filters have been surgically " "implanted throughout your body, allowing you to purge yourself of absorbed " "radiation at the cost of some bionic power." -msgstr "外科手術によって、体内にピエゾ効果を用いた最先端の血液濾過装置を埋め込みます。電力を消費して体内の放射線を吸収します。" +msgstr "外科手術によって、体内にピエゾ効果を用いた最先端の血液ろ過装置を埋め込みます。電力を消費して体内の放射線を吸収します。" #: lang/json/bionic_from_json.py msgid "Railgun" @@ -73416,9 +76767,9 @@ msgstr "" msgid "" "Self-locking thumbs hold tight (even when you really don't want them to) and" " don't let go (even when you'd rather they did). Increases hand encumbrance" -" by two, while failing to improve your ability to hold objects whatsoever." +" by ten, while failing to improve your ability to hold objects whatsoever." msgstr "" -"両手の親指が(そうなって欲しくない時に限って)固まって動かなくなり、(元に戻って欲しいと思っても)元に戻りません。何かを掴もうとあがいている間は両手に2の動作制限を受けます。" +"両手の親指が(そうなって欲しくない時に限って)固まって動かなくなり、(元に戻って欲しいと思っても)元に戻りません。何かを掴もうとあがいている間は両手に10の動作制限を受けます。" #: lang/json/bionic_from_json.py msgid "Time Dilation" @@ -73553,8 +76904,8 @@ msgstr "" #. ~ Description for Gasoline Fuel Cell CBM #: lang/json/bionic_from_json.py msgid "" -"A small gasoline fuel cell fixed to your scapula. Despite its limited energy" -" output compared to other fuel cells, this device still produces a " +"A small gasoline fuel cell fixed to your scapula. Despite its limited " +"energy output compared to other fuel cells, this device still produces a " "significant amount of heat dissipated through a heat exhaust protruding from" " your back. A diffuse network of bio-plastic bladders has been meshed with " "your circulatory system and serves as a fuel tank." @@ -73610,7 +76961,7 @@ msgstr "味覚調整機構" #: lang/json/bionic_from_json.py msgid "" "A set of highly sensitive sensors is installed in your mouth, and a small " -"yet sophisticated analyzer is installed in the cavity of your skull. The " +"yet sophisticated analyzer is installed in the cavity of your skull. The " "active bionic will nullify the taste of all comestibles with negative " "enjoyment value at the cost of draining bionic power." msgstr "" @@ -73810,7 +77161,7 @@ msgid "Dodging and melee is hampered." msgstr "近接戦闘と回避が阻害されます。" #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Torso" msgstr "胴" @@ -73829,7 +77180,7 @@ msgid "head" msgstr "頭" #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Head" msgstr "頭" @@ -74295,7 +77646,7 @@ msgstr "壁(金属)を設置する" #: lang/json/construction_from_json.py msgid "Build Brick Wall" -msgstr "壁(煉瓦)を設置する" +msgstr "壁(レンガ)を設置する" #: lang/json/construction_from_json.py msgid "Build Concrete Floor" @@ -74309,6 +77660,18 @@ msgstr "土で穴を埋める" msgid "Make Woodchip Floor" msgstr "床(木片)を設置する" +#: lang/json/construction_from_json.py +msgid "Make Gravel Floor" +msgstr "床(砂利)を設置する" + +#: lang/json/construction_from_json.py +msgid "Build Straight Small Railroad Track" +msgstr "鉄道レール(小)を設置する" + +#: lang/json/construction_from_json.py +msgid "Build Diagonal Small Railroad Track" +msgstr "鉄道レール(小)を斜めに設置する" + #: lang/json/construction_from_json.py msgid "Build Wooden Floor" msgstr "床(木)を設置する" @@ -74421,6 +77784,14 @@ msgstr "門(金網)を設置する" msgid "Needs to be supported on both sides by fencing, walls, etc." msgstr "フェンスや壁などで両側が支えられている必要があります。" +#: lang/json/construction_from_json.py +msgid "Build Screen Door" +msgstr "ドア(網戸)を設置する" + +#: lang/json/construction_from_json.py +msgid "Build Screen Mesh Wall" +msgstr "壁(網戸)を設置する" + #: lang/json/construction_from_json.py msgid "Build Chickenwire Fence" msgstr "柵(亀甲金網)を設置する" @@ -74461,6 +77832,10 @@ msgstr "衣装棚を設置する" msgid "Build Bookcase" msgstr "本棚を設置する" +#: lang/json/construction_from_json.py +msgid "Build Entertainment Center" +msgstr "AVラックを設置する" + #: lang/json/construction_from_json.py msgid "Build Locker" msgstr "ロッカーを設置する" @@ -74493,6 +77868,10 @@ msgstr "テーブルを設置する" msgid "Place Table" msgstr "テーブルを設置する" +#: lang/json/construction_from_json.py +msgid "Build Coffee Table" +msgstr "ローテーブルを設置する" + #: lang/json/construction_from_json.py msgid "Build Workbench" msgstr "作業台を作って設置する" @@ -74591,7 +77970,7 @@ msgstr "机を設置する" #: lang/json/construction_from_json.py msgid "Build Wardrobe" -msgstr "衣装棚を設置する" +msgstr "ワードローブを設置する" #: lang/json/construction_from_json.py msgid "Build Safe" @@ -74890,7 +78269,7 @@ msgstr "柵(目隠し)を設置する" #: lang/json/construction_from_json.py msgid "Build Brick Wall from Adobe" -msgstr "壁(日干し煉瓦)を設置する" +msgstr "壁(日干しレンガ)を設置する" #: lang/json/construction_from_json.py msgid "Extrude Resin Lattice" @@ -74944,6 +78323,10 @@ msgstr "電波塔を設置します。" msgid "Build a radio tower console." msgstr "電波制御装置を設置します。" +#: lang/json/construction_from_json.py +msgid "Build Log Stool" +msgstr "丸太椅子を設置する" + #: lang/json/construction_from_json.py msgid "Convert Fridge Power Supply" msgstr "冷蔵庫の電源を改造する" @@ -75643,6 +79026,42 @@ msgstr "不気味な形をした植物の夢を見ました。その蜜はあな msgid "You dream of bees fighting over your sweet nectar. Mmm." msgstr "あなたが出す甘い蜜を巡って争うハチの夢を見ました。うーん。" +#: lang/json/dream_from_json.py +msgid "" +"How grand it would be to sink your roots deep into the soil as the seasons " +"pass you by." +msgstr "季節の流れと共に根を土壌の奥深くへ埋めていくことを考えると、思わず笑みが零れます。" + +#: lang/json/dream_from_json.py +msgid "You dream of a gigantic knot of roots, beating like a heart." +msgstr "夢の中で、心臓のように脈動する巨大な根の瘤を見ました。" + +#: lang/json/dream_from_json.py +msgid "You have a disturbing dream of termites chewing all over your body." +msgstr "シロアリが全身を苛む不穏な夢を見ました。" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of sharing your roots with a vast forest, all plants provided for " +"as the canopy grows ever upwards." +msgstr "天を覆う程に成長した広大な森と根を共有する夢を見ました。" + +#: lang/json/dream_from_json.py +msgid "A family of caterpillars munches away at your leaves." +msgstr "毛虫共に葉を貪られる夢を見ました。" + +#: lang/json/dream_from_json.py +msgid "" +"Fire rages around you, licking at your bark and engulfing the saplings and " +"bushes near your roots. The once chatty forest is quiet in its wake." +msgstr "炎が周囲を取り囲み、樹皮を舐め、苗木や茂みを飲み込む夢を見ました。あんなにお喋りだった木々が静まり返っています。" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of communing with an ancient pine. Trees are the true survivors " +"of this world, it tells you." +msgstr "松の古木と交信する夢を見ました。松は自分こそがこの世界の真のサバイバーだと話しました。" + #: lang/json/dream_from_json.py msgid "" "A rather attractive triffid offers you a bouquet of ape heads. How " @@ -76926,6 +80345,25 @@ msgstr "手の震えが止まりません。" msgid "You tremble" msgstr "震えています。" +#: lang/json/effects_from_json.py +msgid "Seizure" +msgstr "痙攣" + +#. ~ Description of effect 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles have seized up, and you can't control them!" +msgstr "筋肉がつって上手く動かせません!" + +#. ~ Remove message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "You regain control of your muscles!" +msgstr "筋肉の痙攣が治まりました。" + +#. ~ Miss message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles won't cooperate!" +msgstr "筋肉が上手く動きません!" + #: lang/json/effects_from_json.py msgid "Bleeding" msgstr "出血(小)" @@ -77837,6 +81275,26 @@ msgstr "代謝が不安定になりました。" msgid "Your metabolism becomes more stable." msgstr "代謝が安定しました。" +#: lang/json/effects_from_json.py +msgid "Concerning symptoms" +msgstr "毒素症状" + +#. ~ Description of effect 'Concerning symptoms'. +#: lang/json/effects_from_json.py +msgid "Your muscles keep twitching strangely." +msgstr "筋肉の痙攣がなかなか治まりません。" + +#: lang/json/effects_from_json.py +msgid "Unnerving symptoms" +msgstr "毒素障害" + +#. ~ Description of effect 'Unnerving symptoms'. +#: lang/json/effects_from_json.py +msgid "" +"Your nervous system is malfunctioning, almost like it's being torn apart " +"from the inside." +msgstr "体内に異常があるのか、神経系が誤作動を起こしています。" + #: lang/json/effects_from_json.py msgid "Lit up" msgstr "照明" @@ -78085,6 +81543,17 @@ msgstr "過充電" msgid "You've been struck by lightning, and feel... different." msgstr "電撃に打たれ、何か...今までと違う気分になっています。" +#: lang/json/effects_from_json.py +msgid "Grown of Fusion" +msgstr "融合成長" + +#. ~ Description of effect 'Grown of Fusion'. +#: lang/json/effects_from_json.py +msgid "" +"AI effect to increase stats after fusing with another critter. 1 stack means" +" one absorbed max_hp." +msgstr "別の生物と融合した際の能力値が増加するAI効果です。1スタックはmax_hpを1吸収されることを意味します。" + #: lang/json/effects_from_json.py msgid "Religious Offense" msgstr "信仰上の怒り" @@ -78397,6 +81866,33 @@ msgstr "身体が羽根のように軽くなりました。" msgid "The earth pulls you down hard." msgstr "地球の引力に囚われました。" +#: lang/json/effects_from_json.py +msgid "Scared" +msgstr "怯え" + +#: lang/json/effects_from_json.py +msgid "Frightened" +msgstr "恐怖" + +#: lang/json/effects_from_json.py src/npc.cpp +msgid "Terrified" +msgstr "とてつもない恐怖を感じる" + +#: lang/json/effects_from_json.py +msgid "" +"Your knees are shaking, your heart beats fast, and your stomach rebels." +msgstr "膝は震え、心拍数は高まり、胃は引きつっています。" + +#. ~ Apply message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "You are afraid!" +msgstr "恐怖を感じました!" + +#. ~ Remove message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "Your fear dissipates." +msgstr "恐怖感が薄れました。" + #: lang/json/effects_from_json.py msgid "Stuck in a light snare" msgstr "くくり罠に掛かった" @@ -78711,6 +82207,212 @@ msgstr "" " " "生き残っていたセキュリティシステムの追跡によっていくつかの略奪と破壊行為の記録を取られ、警官ボットに手錠を掛けられ拘束された。警官ボットが応援を待っている間に、地面に転がされていた彼は騒ぎを聞きつけたゾンビに引き裂かれて死亡した。" +#: lang/json/epilogue_from_json.py +msgid "" +" Became a hunter after your death, living alone in the woods. Traced " +"back to his cabin, he was murdered and devoured in his sleep by an actual " +"cannibal." +msgstr " あなたの死後ハンターとなり、森の中で孤独に暮らしたが、ある日睡眠中に食人者に襲われ殺された。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived for many years, and became a renowned scavenger, eventually " +"setting up a small shop in a Free Merchant outpost. Survived by two sons, " +"he died after a rare artifact poisoned his blood with acid." +msgstr "" +" " +"長く生き延び名うてのスカベンジャーとなり、自由商人の基地に小さな店を持った。2人の息子を授かったが、持っていた貴重なアーティファクトの影響で血液が酸になり死亡した。" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered and scavenged the land for years after your death, " +"eventually becoming a skilled mechanic. Employed by the Free Merchants, he " +"lived a comfortable, if rather uneventful life, dying of cancer, a rare " +"luxury these days." +msgstr "" +" " +"あなたの死後何年も荒野を転々とし、やがて熟達した機械工になった。自由商人に雇われ、比較的快適かつ平穏無事な生活を送り、この時分には珍しく癌で亡くなった。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became truly depressed after your death and hid in the woods. If " +"rumors are to be believed, he spent years living as a deranged hermit in a " +"distant cave, worshiping stones and sacrificing dogs." +msgstr "" +" あなたの死を嘆き悲しみ、森の中へ去った。どこかの洞窟で狂った隠者となり、石を崇拝し、犬を食いながら何年も生き延びているという噂が残っている。" + +#: lang/json/epilogue_from_json.py +msgid "" +" After your death, he became obsessed with preserving old knowledge and " +"eventually became known as 'the lorekeeper'. Hired by the Old Guard as a " +"librarian, he spent his life amongst dusty old books, trying to convince " +"others of their value. He even changed his name to Frederic Bastiat, in " +"honor of an old French philosopher." +msgstr "" +" " +"あなたの死後、古い知識を蓄えることに熱中し、やがて「伝承者」として知られるまでになった。司書としてオールドガードに雇われ、埃に塗れた古い本に囲まれて過ごし、それらの価値を他者に教えた。フランスの古い哲学者にあやかり、名をフレデリック・バスティアに改めた。" + +#: lang/json/epilogue_from_json.py +msgid "" +" He found faith after your death, eventually joining an Anglican " +"community and becoming a Vicar. The crucifix provided him with a sense of " +"meaning, before dying horribly at the hands of raiders. He was still " +"praying when they roasted him alive." +msgstr "" +" " +"あなたの死後信仰に目覚め、英国国教会のコミュニティに加わり牧師になった。十字架によって生きる意味を見出したが、盗賊に襲われて非業の死を遂げた。盗賊たちに生きたまま火炙りにされながらも、彼は祈り続けていた。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Lost and damned, he joined a bloody cult after your death, kidnapping " +"and sacrificing young women. His entire group was killed after being " +"discovered by the Old Guard. His head was put on a spike as a reminder that" +" cultists will not be tolerated." +msgstr "" +" " +"あなたの死後猟奇的なカルト教団に加わり、若い女性を誘拐して殺し続けた。その後、この教団はオールドガードに目を付けられ、壊滅した。カルト主義者が決して許されないことを示すため、彼は晒し首にされた。" + +#: lang/json/epilogue_from_json.py +msgid "" +" He did not survive for long after your death. Electrocuted in an old " +"cellar, he kept screaming your name. His body was never found." +msgstr "" +" あなたの死後、長くは生きられなかった。老朽化した地下施設で感電し、あなたの名前を何度も叫びながら死んだ。死体は未だ発見されていない。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived you by just a few days, he drowned trying to escape from a " +"horde." +msgstr " あなたの死後わずか数日しか生き延びられなかった。大群から逃げようとする最中に、溺死した。" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered alone for days, before finding a Free Merchant outpost. He" +" spent a few years as a caravan guard, often drinking himself half blind and" +" enjoying any woman he could find. Booze made his grip unsteady and he was " +"eventually fired. He died of alcohol poisoning the same day." +msgstr "" +" " +"数日間一人で彷徨い続け、やがて自由商人の基地を発見した。そこで隊商の護衛として数年間過ごし、酒をたらふく飲み、手当たり次第に女性と出会い楽しんだ。やがて酒のせいで武器を持つのも困難になり、解雇された。そしてその日のうちにアルコール中毒で死亡した。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with the idea of settling down, he eventually found love and " +"retired to a farm in the middle of nowhere. Relatively safe from the " +"monsters, he thrived for years. Survived by seven sons and two daughters." +msgstr "" +" " +"身を固めたいと強く思うようになり、愛する人を見つけ、安全な農場で生活を始めた。怪物もそれほどいない平穏な場所で長く暮らし、7人の息子と2人の娘を授かった。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became famous in the wastes after finding an old brewery and copying " +"their recipe. His chilled beer, a known delicacy, is traded far and wide by" +" the Free Merchants." +msgstr " 見つけた古い醸造所で酒のレシピを覚え、一躍有名人になった。彼が作った冷えたビールは珍重され、自由商人によって広く流通している。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Found a whole cellar of single malt whisky. Drank himself to death." +msgstr " 巨大なシングルモルトウィスキーの貯蔵庫を発見し、そこで酔って死んだ。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed after your death, he would hang himself after just a few " +"days." +msgstr " あなたの死を嘆き、数日後に首を吊って死んだ。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Wandered for months, before finding a small community that would accept" +" him. Became a farmer and spent the rest of his uneventful life tending to " +"crops, glad that he was no longer alone." +msgstr "" +" 数か月間世界を彷徨い、やがて小さなコミュニティに受け入れられた。彼はそこで農夫になり、作物を育てながら残りの人生を平穏に過ごした。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with finding 'the Cure', he died a few weeks later in an old " +"lab, torn to shreds by a security turret." +msgstr " 「治療法」を見つけることに躍起になり、数週間後、廃棄された研究所で警備用タレットによってバラバラに引き裂かれて死亡した。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a runner for the Refugee Center and died after a few months." +msgstr " 避難センターの伝令として雇われたが、数か月後に死亡した。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a raider gang and died in a firefight a few weeks later, trying " +"to rob a Free Merchant caravan." +msgstr " 盗賊団に加わり、数週間後に自由商人の隊商を襲ったが、銃撃戦の最中に死亡した。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, he eventually found an intact baseball field and built " +"a prosperous farming community there." +msgstr " 北へと旅立ち、そこで見つけた損傷の少ない野球場を拠点として農業コミュニティを作り上げた。" + +#: lang/json/epilogue_from_json.py +msgid "" +" He spent the rest of his short life looking for a new fix. Died of an " +"overdose in an abandoned basement." +msgstr " 残りの短い人生を薬物摂取に費やし、古い地下室でオーバードーズの発作によって死亡した。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a small fishing village. Died a few years " +"later in a raider attack, alongside his young son." +msgstr " 南へと旅立ち、そこで見つけた小さな漁村に定住した。数年後に村が襲撃に遭い、若い息子と共に死亡した。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Thoroughly terrified by your death, he retired to an old LMOE shelter, " +"vowing never to leave. He died of starvation inside." +msgstr " あなたの死に衝撃を受け、古いLMOEシェルターに引き籠って一歩も外へ出なくなり、やがてその場で餓死した。" + +#: lang/json/epilogue_from_json.py +msgid "" +" He became a very prosperous game hunter, trading meat and furs, and " +"providing many settlements with food in exchange for booze and male company." +" He died years later of an STD." +msgstr " 非常に優れた猟師になり、あちこちの集落に肉や毛皮を提供し、酒や友人を得た。数年後に性感染症にかかって死亡した。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Retired to the woods, he spent the rest of his life fishing and hunting" +" in a desolate cabin, rarely interacting with anyone else." +msgstr " 森に籠り、侘しい山小屋を拠点に釣りや狩りをしながら過ごし、他人と交流することは滅多になかった。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Died en route to California, deliriously dreaming of a better life as " +"he was slowly devoured by spiders." +msgstr " カリフォルニアへ向かう途中で死亡した。より良い人生の幻覚を見ながら、クモにゆっくりと食い尽くされた。" + +#: lang/json/epilogue_from_json.py +msgid "" +" He tried to cope with loneliness after your death, but failed. He was " +"blind drunk when a group of zombies found his hideout and didn't stand a " +"chance." +msgstr " あなたの死後、一人で生き抜こうとしたが失敗した。ゾンビの集団が隠れ家を見つけて襲い掛かった時、彼は泥酔していた。" + +#: lang/json/epilogue_from_json.py +msgid "" +" He didn't survive for long, waking up to a horde of zombies. They " +"smashed through his fortified windows in a pinch and only the last bullet " +"prevented him from being devoured alive." +msgstr "" +" " +"睡眠中にゾンビの大群に囲まれ、長くは生きられなかった。防備を固めた窓は破られたが、手元に残った一発の弾丸によって、生きたまま貪り食われる事態を免れた。" + +#: lang/json/epilogue_from_json.py +msgid "" +" He got sick soon after your death, and died without any medical help. " +"His last words were 'Why did I live long enough to suffer like that?'" +msgstr "" +" あなたの死後すぐに病気にかかり、医学的な処置もできず死亡した。彼は最期にこう言った。「私はこんな苦しみを味わうために長生きしたのか?」" + #: lang/json/epilogue_from_json.py msgid "" " Committed suicide rather than fall into the hands of the Hell's " @@ -78971,6 +82673,176 @@ msgstr "" " " "生き残っていたセキュリティシステムの追跡によっていくつかの略奪と破壊行為の記録を取られ、警官ボットに拘束され刑務所に入った。取り調べの待合室に閉じ込められたまま、彼女は助けを求めて泣き叫び続けた。最終的には所持品も底をつき、拘束から2週間後、彼女は脱水症で死亡した。" +#: lang/json/epilogue_from_json.py +msgid "" +" Shot by the Old Guard a few weeks later, hunted down after she robbed " +"an important caravan." +msgstr " 数週間後、大規模な隊商を襲ったが、オールドガードに追い詰められて銃殺された。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, she eventually found a quiet community there and spent " +"the rest of her life farming. She's survived by four daughters." +msgstr " 北へと旅立ち、そこで平穏なコミュニティに加わって残りの人生を農業に費やし、4人の娘を授かった。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a runner for the Old Guard and was eventually permitted to " +"join. She spent the rest of her life hunting raiders. She died in a " +"skirmish after a few years, sacrificing her life to let her unit retreat. " +"Her name is venerated in songs and inscriptions." +msgstr "" +" " +"オールドガードの伝令として雇われ、やがて正式な仲間となり、残りの人生を盗賊団殲滅に費やした。数年後、盗賊団との小競り合いの際に、自分の命を犠牲にして部隊を退却させた。彼女の名は歌や碑文に残り、今も尊敬されている。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Shortly after your death she joined the Free Merchants, becoming a " +"caravan guard and after a few months became the new liaison in the Refugee " +"Center. She died a few years later of a mysterious illness." +msgstr "" +" あなたの死後間もなく自由商人の隊商の護衛に加わり、数か月後には避難センターの新しい連絡係に任命された。数年後、原因不明の病で亡くなった。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She was found half-dead by the Old Guard who took her in. She became a" +" famous scavenger, known for finding an intact stash of experimental " +"antibiotics." +msgstr "" +" 瀕死状態だったところをオールドガードに拾われた。やがて抗生物質の隠し場所を探し当てるのが得意なスカベンジャーとして名が知れ渡った。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She retired to the forest, where she built her own cabin and spending " +"the rest of her life fishing." +msgstr " 森に籠り、山小屋を建て、残りの人生を釣りに費やした。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Captured by raiders, she spent the rest of her miserable life as a " +"slave. Hopeless, she slit her wrists with a rusty knife." +msgstr " 盗賊に捕らえられ、残りの人生を悲惨な奴隷として過ごし、やがて絶望のあまり、錆びたナイフで手首を切って死亡した。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed, she joined a protestant community and became a paragon of " +"virtue. Devoting her life to bible study, she spent the rest of her life in" +" relative peace." +msgstr " 消沈した彼女はプロテスタントのコミュニティに加わり、美徳の鑑となった。聖書を学ぶことに人生を捧げ、生涯を比較的平穏に過ごした。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Killed and devoured by a cannibal just a few days after your death, " +"hardly anyone remembers her name." +msgstr " あなたの死後わずか数日後に、食人者に食い殺された。彼女の名を覚えている者はほとんどいない。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a renowned merchant after your death, she built her own outpost " +"in the west. An avid book collector, she established a great library to " +"keep the flame of knowledge burning." +msgstr "" +" あなたの死後に商人として名をあげ、西部に自身の基地を建設した。特に本の収集に力を入れ、知識の炎を絶やさないために立派な図書館を設立した。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled around for months before finding an old farm. She spent a few" +" years tending to her crops and living the life of a hermit before being " +"killed by raiders for fun." +msgstr " 何ヶ月も放浪し、古い農場を見つけた。作物を世話しながら隠者のような生活を楽しんでいたが、数年後、盗賊団に殺害された。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a settlement there. She became a renowned " +"engineer, building the largest steam engine in New England." +msgstr " 南へ向かい、開拓団に加わった。その後技術者として有名になり、ニューイングランド最大の蒸気機関を建設した。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a gang after your death, she spent months preying on the " +"innocent, before dying in a dispute with a fellow brute." +msgstr " あなたの死後ギャングの一員となり、罪のない人々を襲って暮らしていたが、何ヶ月か後に裏切り者との内紛で死亡した。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Devoured alive by a group of zombies, she kept thinking of you as she " +"died." +msgstr " ゾンビの群れに生きたまま貪られた。彼女は死ぬ直前まであなたの事を考え続けていた。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She found an abandoned APC and spent years traveling around and " +"collecting personal stories. She wrote one of the few post-apocalyptic " +"books, detailing the life after the end." +msgstr "" +" " +"放棄された軍の輸送車を手に入れ、何年も旅を続けて経験を積んだ。彼女は大変動以後に本を出版した数少ない人間の一人となり、世界崩壊後の生活を書き綴った。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Kept wandering for years. Her life was cut short when a group of " +"raiders used her as a target practice." +msgstr " 何年も放浪を続けたが、盗賊団に捕まり、射撃練習の的にされた。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a skilled game hunter and one of the best shots in the " +"wasteland. Years later she joined the Old Guard and was given the position " +"of Marshal." +msgstr " 熟練した狩人に成長し、荒野で最も優れた射手の一人になった。数年後、彼女はオールドガードの一員となり、執行官の地位を与えられた。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Desperate to save humanity from extinction, she organized her own group" +" of survivors, whose job was to hunt bandits and decorate roads with their " +"mutilated bodies. She died in a skirmish a few months later." +msgstr "" +" " +"人類を絶滅の運命から救うために奔走し、生存者の集団を組織した。盗賊団を狩り、切り刻まれた死体で道路を飾るのが彼女らの日常だった。その数か月後の交戦で彼女は死亡した。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became an arsonist, and was incinerated a few weeks later in a fire" +" she set." +msgstr " 放火屋になったが、数週間後に火に巻かれて焼死した。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She kept wandering for a few weeks but eventually died after drinking " +"untreated water." +msgstr " 数週間に渡って放浪を続けたが、煮沸していない水を飲んだことが原因で死亡した。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She wandered north and joined a local community there. She became " +"known for her trapping skills and ensured that the locals always had fresh " +"meat on their tables." +msgstr " 北へ向かい、地元のコミュニティに加わった。そこで罠猟の技術を磨き、仲間たちの食卓に常に新鮮な肉が並ぶよう尽力した。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She joined the Free Merchants and led their first caravan to Canada. " +"She died a few years later of dysentery." +msgstr " 自由商人に加わり、カナダに渡る最初の隊商を導いた。その数年後、赤痢で亡くなった。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She built a boat and sailed east towards Europe, hoping that it was not" +" affected by the apocalypse. She was never heard from again." +msgstr " 船を建造し、ヨーロッパに大変動の影響が届いていないことに望みをかけて東へ出航した。それ以来彼女の姿を見た者はいない。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She led a doomsday cult for a few years, she was sacrificed to their " +"gods after a particularly terrible harvest." +msgstr " 人類の絶滅を信じるカルト集団を数年間率いたが、食料不足が特に酷かった時期に、神々への生贄として殺された。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became obsessed with chems, and died of an overdose a few months after " +"your death." +msgstr " 薬物中毒になり、あなたが死んでから数が月後に過剰摂取で死亡した。" + #: lang/json/faction_from_json.py msgid "Your Followers" msgstr "あなたの仲間" @@ -79124,10 +82996,10 @@ msgid "A small family surviving on their generational land." msgstr "先祖代々の土地で生き延びている小規模の家族です。" #: lang/json/faction_from_json.py -msgid "God's Community" -msgstr "神の集い" +msgid "New England Church Community" +msgstr "ニューイングランド教会コミュニティ" -#. ~ Description for God's Community +#. ~ Description for New England Church Community #: lang/json/faction_from_json.py msgid "" "A small group of churchgoers that formed a community in the woods. They " @@ -79166,145 +83038,313 @@ msgstr "" msgid "Dusty" msgstr "埃まみれ" -#. ~ Description for Dusty +#. ~ description for fault 'Dusty' #: lang/json/fault_from_json.py -msgid "It's dusty. Has no effect - obsolete fault." +msgid "It's dusty. Has no effect - obsolete fault." msgstr "埃まみれです。既に廃止されており、影響はありません。" +#. ~ name of mending method for fault 'Dusty' +#: lang/json/fault_from_json.py +msgid "Wipe clean" +msgstr "拭き取り" + +#. ~ success message for mending method 'Wipe clean' of fault 'Dusty' +#. ~ success message for mending method 'Clean gun' of fault 'Fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean you %s." +msgstr "%sを綺麗に掃除しました。" + #: lang/json/fault_from_json.py msgid "Already deployed" msgstr "要リセット" -#. ~ Description for Already deployed +#. ~ description for fault 'Already deployed' #: lang/json/fault_from_json.py msgid "This bionic needs to be reset to its factory state." msgstr "このCBMは工場出荷時の状態にリセットする必要があります。" +#. ~ name of mending method for fault 'Already deployed' +#: lang/json/fault_from_json.py +msgid "Reset to factory state" +msgstr "リセット" + +#. ~ success message for mending method 'Reset to factory state' of fault +#. 'Already deployed' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully reset the %s to its factory state" +msgstr "%sを工場出荷時の状態にリセットしました。" + #: lang/json/fault_from_json.py msgid "Blackpowder fouling" msgstr "煤汚れ" -#. ~ Description for Blackpowder fouling +#. ~ description for fault 'Blackpowder fouling' #: lang/json/fault_from_json.py msgid "" "Firing blackpowder loads from a gun fouls it, which reduces reliability and," -" if left uncleaned, leads to rust. It fouls the gun much faster than the use" -" of modern smokeless powder cartridges. Fouling is only a significant impact" -" on reliability at high levels, but black powder fouling accumulates " +" if left uncleaned, leads to rust. It fouls the gun much faster than the " +"use of modern smokeless powder cartridges. Fouling is only a significant " +"impact on reliability at high levels, but black powder fouling accumulates " "quickly." msgstr "" "黒色火薬を使った弾薬を発射すると、銃口に煤が付着して信頼性が低下し、洗浄せずに放置するとサビが発生します。現代的な無煙火薬の弾薬と比べても、はるかに早く銃が傷みます。単なる汚損なら高水準の信頼性に大きな影響を与えるだけで済みますが、煤汚れはすぐに蓄積します。" +#. ~ name of mending method for fault 'Blackpowder fouling' +#: lang/json/fault_from_json.py +msgid "Clean blackpowder fouling" +msgstr "煤落とし" + +#. ~ success message for mending method 'Clean blackpowder fouling' of fault +#. 'Blackpowder fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean your %s." +msgstr "%sを綺麗に掃除しました" + #: lang/json/fault_from_json.py msgid "Spent casing in chamber" msgstr "空薬莢残存" -#. ~ Description for Spent casing in chamber +#. ~ description for fault 'Spent casing in chamber' #: lang/json/fault_from_json.py msgid "" "This gun currently has an empty casing chambered. It will have to be " "removed before firing." msgstr "銃の内部に空薬莢が残っています。発砲する前に取り出す必要があります。" +#. ~ name of mending method for fault 'Spent casing in chamber' +#: lang/json/fault_from_json.py +msgid "Eject spent casing" +msgstr "薬莢抜取" + +#. ~ success message for mending method 'Eject spent casing' of fault 'Spent +#. casing in chamber' +#: lang/json/fault_from_json.py +#, python-format +msgid "You eject the spent casing from the %s." +msgstr "%sの内部に残っている空薬莢を抜き取りました。" + #: lang/json/fault_from_json.py msgid "Fouling" msgstr "汚損" -#. ~ Description for Fouling +#. ~ description for fault 'Fouling' #: lang/json/fault_from_json.py msgid "" "Fouling is caused by firing gunpowder loads repeatedly, which reduces " -"reliability and can eventually cause damage to the gun. Fouling accumulates " -"slowly (unless blackpowder is used) due to the design of modern smokeless " +"reliability and can eventually cause damage to the gun. Fouling accumulates" +" slowly (unless blackpowder is used) due to the design of modern smokeless " "powder found in the vast majority of retail cartridges and it is not a " "significant problem until high levels of fouling are reached due to firing " "thousands of rounds without cleaning your firearm." msgstr "" "銃弾を繰り返し発射することで蓄積する銃の汚損は、信頼性の低下を引き起こし、最終的には銃自体の損傷に繋がります。現在市販されている大抵の無煙火薬の特性から、汚損は非常にゆっくり蓄積します(黒色火薬を使った弾薬は例外です)。銃器を掃除しないまま数千発の弾薬を発射し続けることでもしない限り、重大な影響はありません。" +#. ~ name of mending method for fault 'Fouling' +#: lang/json/fault_from_json.py +msgid "Clean gun" +msgstr "掃除" + #: lang/json/fault_from_json.py msgid "Worn drive belt" msgstr "駆動ベルト摩耗" -#. ~ Description for Worn drive belt +#. ~ description for fault 'Worn drive belt' #: lang/json/fault_from_json.py msgid "Required for operation of an attached alternator." msgstr "オルタネーターとの接続に必要です。" +#. ~ name of mending method for fault 'Worn drive belt' +#: lang/json/fault_from_json.py +msgid "Replace worn drive belt" +msgstr "駆動ベルト交換" + +#. ~ success message for mending method 'Replace worn drive belt' of fault +#. 'Worn drive belt' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the worn drive belt of the %s." +msgstr "%sの摩耗した駆動ベルトを交換しました。" + #: lang/json/fault_from_json.py msgid "Faulty glow plugs" msgstr "予熱プラグ故障" -#. ~ Description for Faulty glow plugs +#. ~ description for fault 'Faulty glow plugs' #: lang/json/fault_from_json.py msgid "Help when starting an engine in low ambient temperatures." msgstr "低温環境でエンジンを始動する際に役立ちます。" +#. ~ name of mending method for fault 'Faulty glow plugs' +#: lang/json/fault_from_json.py +msgid "Replace faulty glow plugs" +msgstr "予熱プラグ交換" + +#. ~ success message for mending method 'Replace faulty glow plugs' of fault +#. 'Faulty glow plugs' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty glow plugs of the %s." +msgstr "%sの故障した予熱プラグを交換しました。" + #: lang/json/fault_from_json.py msgid "Active immobiliser" msgstr "イモビライザー作動" -#. ~ Description for Active immobiliser +#. ~ description for fault 'Active immobiliser' #: lang/json/fault_from_json.py msgid "Prevents starting of the vehicle without the appropriate key." msgstr "専用のキーを用いない不正なエンジン始動を阻止します。" +#. ~ name of mending method for fault 'Active immobiliser' +#: lang/json/fault_from_json.py +msgid "Deactivate immobiliser" +msgstr "イモビライザー無効化" + +#. ~ description for mending method 'Deactivate immobiliser' of fault 'Active +#. immobiliser' +#: lang/json/fault_from_json.py +msgid "" +"Deactivate the immobiliser that is preventing the vehicle from starting." +msgstr "エンジンの始動を妨げているイモビライザーを無効化します。" + +#. ~ success message for mending method 'Deactivate immobiliser' of fault +#. 'Active immobiliser' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully deactivate the immobiliser of the %s." +msgstr "%sのイモビライザー無効化に成功しました。" + #: lang/json/fault_from_json.py msgid "Faulty diesel pump" msgstr "ディーゼルポンプ故障" -#. ~ Description for Faulty diesel pump +#. ~ description for fault 'Faulty diesel pump' #: lang/json/fault_from_json.py msgid "Required to pump and pressurize diesel from a vehicles tank." msgstr "タンクから軽油を吸い上げ、加圧するために必要です。" +#. ~ name of mending method for fault 'Faulty diesel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty diesel pump" +msgstr "ディーゼルポンプ交換" + +#. ~ success message for mending method 'Replace faulty diesel pump' of fault +#. 'Faulty diesel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty diesel pump of the %s" +msgstr "%sの故障したディーゼルポンプを交換しました。" + #: lang/json/fault_from_json.py msgid "Expired air filter" msgstr "エアフィルター消耗" -#. ~ Description for Expired air filter +#. ~ description for fault 'Expired air filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces fuel efficiency and increases smoke production." msgstr "使用限度に達したフィルターを使うと、燃料効率が悪くなり、排気ガスが増加します。" +#. ~ name of mending method for fault 'Expired air filter' +#: lang/json/fault_from_json.py +msgid "Replace expired air filter" +msgstr "エアフィルター交換" + +#. ~ success message for mending method 'Replace expired air filter' of fault +#. 'Expired air filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired air filter of the %s." +msgstr "%sの消耗したエアフィルターを交換しました。" + #: lang/json/fault_from_json.py msgid "Expired fuel filter" msgstr "燃料フィルター消耗" -#. ~ Description for Expired fuel filter +#. ~ description for fault 'Expired fuel filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces performance and increases the chance of backfires." msgstr "使用限度に達したフィルターを使うと、出力が低下し、エンジンが逆火を起こしやすくなります。" +#. ~ name of mending method for fault 'Expired fuel filter' +#: lang/json/fault_from_json.py +msgid "Replace expired fuel filter" +msgstr "燃料フィルター交換" + +#. ~ success message for mending method 'Replace expired fuel filter' of fault +#. 'Expired fuel filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired fuel filter of the %s." +msgstr "%sの消耗した燃料フィルターを交換しました。" + #: lang/json/fault_from_json.py msgid "Faulty fuel pump" msgstr "燃料ポンプ故障" -#. ~ Description for Faulty fuel pump +#. ~ description for fault 'Faulty fuel pump' #: lang/json/fault_from_json.py msgid "Required to pump gasoline from a vehicles tank." msgstr "タンクからガソリンを吸い上げ、加圧するために必要です。" +#. ~ name of mending method for fault 'Faulty fuel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty fuel pump" +msgstr "燃料ポンプ交換" + +#. ~ success message for mending method 'Replace faulty fuel pump' of fault +#. 'Faulty fuel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty fuel pump of the %s." +msgstr "%sの故障した燃料ポンプを交換しました。" + #: lang/json/fault_from_json.py msgid "Faulty water pump" msgstr "ウォーターポンプ故障" -#. ~ Description for Faulty water pump +#. ~ description for fault 'Faulty water pump' #: lang/json/fault_from_json.py msgid "Required to pump water to an external radiator or heatsink." msgstr "冷却器や放熱器に水を送るために必要です。" +#. ~ name of mending method for fault 'Faulty water pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty water pump" +msgstr "ウォーターポンプ交換" + +#. ~ success message for mending method 'Replace faulty water pump' of fault +#. 'Faulty water pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty water pump of the %s." +msgstr "%sの故障したウォーターポンプを交換しました。" + #: lang/json/fault_from_json.py msgid "Faulty starter motor" msgstr "セルモーター故障" -#. ~ Description for Faulty starter motor +#. ~ description for fault 'Faulty starter motor' #: lang/json/fault_from_json.py msgid "Required to initially start the engine." msgstr "エンジンを始動するために必要です。" +#. ~ name of mending method for fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +msgid "Replace faulty starter motor" +msgstr "セルモーター交換" + +#. ~ success message for mending method 'Replace faulty starter motor' of +#. fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty starter motor of %s." +msgstr "%sの故障したセルモーターを交換しました。" + #: lang/json/field_type_from_json.py lang/json/overmap_terrain_from_json.py #: lang/json/overmap_terrain_from_json.py src/mapdata.cpp src/mapdata.cpp #: src/skill.cpp @@ -79791,6 +83831,22 @@ msgstr "濃い殺虫ガス" msgid "smoke vent" msgstr "煙噴出孔" +#: lang/json/field_type_from_json.py +msgid "clairvoyance" +msgstr "透視" + +#: lang/json/field_type_from_json.py +msgid "dreadful presense" +msgstr "威圧感" + +#: lang/json/field_type_from_json.py +msgid "frightful presense" +msgstr "強い威圧感" + +#: lang/json/field_type_from_json.py +msgid "terrifying presense" +msgstr "圧倒的な威圧感" + #: lang/json/furniture_from_json.py msgid "mutated cactus" msgstr "変異したサボテン" @@ -79804,13 +83860,11 @@ msgstr "室外機" msgid "A big, blocky metal device for refrigerating large areas." msgstr "広い区画を冷却するための、金属製の大きな装置です。" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "metal screeching!" msgstr "[金属が軋む音]" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "clang!" msgstr "ガン!" @@ -79913,6 +83967,50 @@ msgid "" "although it still has parts." msgstr "金属製品の高速生産に必要な装置です。稼働するようには見えませんが、部品は問題なく利用できそうです。" +#: lang/json/furniture_from_json.py +msgid "document shredder" +msgstr "シュレッダー" + +#. ~ Description for document shredder +#: lang/json/furniture_from_json.py +msgid "" +"It's not all about hiding government secrets, sometimes you just want to " +"stop identity theft." +msgstr "政府の機密事項以外にも、単に個人情報を漏らしたくない時にも使えます。" + +#: lang/json/furniture_from_json.py +msgid "server stack" +msgstr "サーバー" + +#. ~ Description for server stack +#: lang/json/furniture_from_json.py +msgid "This is a big pile of computers. They're all turned off." +msgstr "積み重なったコンピュータの集合体です。電源はすべて切れています。" + +#: lang/json/furniture_from_json.py +msgid "large satellite dish" +msgstr "大型衛星放送受信アンテナ" + +#. ~ Description for large satellite dish +#: lang/json/furniture_from_json.py +msgid "" +"Somewhere up there, there are still satellites, orbiting and doing their " +"thing, sending signals down to an Earth that is no longer listening." +msgstr "上空のどこかで人工衛星が回り続けており、もはや受信する人類のいなくなった地球に信号を送り続けています。" + +#: lang/json/furniture_from_json.py +msgid "mounted solar panel" +msgstr "ソーラーパネル" + +#. ~ Description for mounted solar panel +#: lang/json/furniture_from_json.py +msgid "A mounted solar panel." +msgstr "設置されたソーラーパネルです。" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "whack!" +msgstr "バシッ!" + #: lang/json/furniture_from_json.py msgid "road barricade" msgstr "道路バリケード" @@ -79924,11 +84022,11 @@ msgstr "道を封鎖するバリケードです。" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py #: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +#: src/vehicle_move.cpp msgid "smash!" msgstr "ガチャン!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "whump." msgstr "ドン。" @@ -79981,6 +84079,113 @@ msgstr "壁(砂袋)" msgid "A sandbag wall." msgstr "砂袋の壁です。" +#: lang/json/furniture_from_json.py +msgid "standing mirror" +msgstr "全身鏡" + +#. ~ Description for standing mirror +#: lang/json/furniture_from_json.py +msgid "Lookin' good - is that blood?" +msgstr "今日もビシっと...これは...血?" + +#: lang/json/furniture_from_json.py +msgid "glass breaking" +msgstr "[ガラスが割れる音]" + +#: lang/json/furniture_from_json.py +msgid "broken standing mirror" +msgstr "壊れた全身鏡" + +#. ~ Description for broken standing mirror +#: lang/json/furniture_from_json.py +msgid "" +"You could look at yourself, if the mirror wasn't covered in cracks and " +"fractures." +msgstr "割れたりひびが入ったりしていなければ、身だしなみを確かめられたのですが。" + +#: lang/json/furniture_from_json.py +msgid "bitts" +msgstr "係船柱" + +#. ~ Description for bitts +#: lang/json/furniture_from_json.py +msgid "" +"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " +"to secure mooring lines, ropes, hawsers, or cables." +msgstr "埠頭や桟橋、岸壁などに設置されている一対の鉄杭です。係留索やロープ、大綱などを繋ぐために使います。" + +#: lang/json/furniture_from_json.py +msgid "manacles" +msgstr "手枷" + +#. ~ Description for manacles +#: lang/json/furniture_from_json.py +msgid "" +"Chain serfs in your dungeon. All you need now is an iron ball to chain to " +"it." +msgstr "農奴を地下牢に繋ぎましょう。後は鎖の付いた鉄球があれば完璧です。" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "crack." +msgstr "メリッ。" + +#: lang/json/furniture_from_json.py +msgid "statue" +msgstr "彫像" + +#. ~ Description for statue +#: lang/json/furniture_from_json.py +msgid "A carved statue made of stone." +msgstr "石造りの彫像です。" + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +msgid "thump." +msgstr "ゴツン。" + +#: lang/json/furniture_from_json.py +msgid "mannequin" +msgstr "マネキン人形" + +#. ~ Description for mannequin +#: lang/json/furniture_from_json.py +msgid "" +"Put clothes on it, talk to it. Who's around to judge you? Wait… did it " +"just move?" +msgstr "服を着せて、話し掛けましょう。咎める人は誰もいませんよ?あれ...これ今動いた?" + +#: lang/json/furniture_from_json.py +msgid "birdbath" +msgstr "バードバス" + +#. ~ Description for birdbath +#: lang/json/furniture_from_json.py +msgid "A decorative cement birdbath and pedestal." +msgstr "セメント製の装飾用バードバスと台座です。" + +#: lang/json/furniture_from_json.py +msgid "rotary clothes dryer line" +msgstr "物干しパラソル" + +#. ~ Description for rotary clothes dryer line +#: lang/json/furniture_from_json.py +msgid "A umbrella shaped clothes line mounted on a pole." +msgstr "傘型に張り巡らせた物干しロープが支柱の上に広がっています。" + +#: lang/json/furniture_from_json.py +msgid "floor lamp" +msgstr "フロアランプ" + +#. ~ Description for floor lamp +#: lang/json/furniture_from_json.py +msgid "A tall standing lamp, meant to plug into a wall and light up a room." +msgstr "電気コードが付いた、部屋を照らす背の高いランプです。" + +#: lang/json/furniture_from_json.py +msgid "bonk!" +msgstr "カン!" + #: lang/json/furniture_from_json.py msgid "indoor plant" msgstr "観葉植物" @@ -80092,6 +84297,85 @@ msgid "" "be used for planting crops. This one contains a planted seedling" msgstr "排水性を高めるすのこが付いた、土が入った状態の園芸用プランターです。作物が芽を出しています。" +#: lang/json/furniture_from_json.py +msgid "spider egg sack" +msgstr "卵塊(クモ)" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Much too large, off-white egg sack. Kind of icky. Something IS moving in " +"there." +msgstr "非常に大きなオフホワイトの卵塊です。内部で何かが蠢いており、少し嫌な予感がします。" + +#: lang/json/furniture_from_json.py +msgid "splat!" +msgstr "ピシャッ!" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " +"in there." +msgstr "球根のような形状のクモのタマゴです。内部で何かが蠢いており、非常に嫌な予感がします。" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"A horrifyingly oversized egg sack. Something IS moving in there. If you're" +" seeing this, you're already too close to it." +msgstr "とんでもなく大きな卵塊です。中で何かが蠢いていますが、それが目視できるなら離れた方が良さそうです。" + +#: lang/json/furniture_from_json.py +msgid "ruptured egg sack" +msgstr "卵塊(破裂)" + +#. ~ Description for ruptured egg sack +#: lang/json/furniture_from_json.py +msgid "Super icky. Spider stuff's spilling out." +msgstr "非常に不快な姿です。クモの部位の一部が殻から飛び出ています。" + +#. ~ Description for swamp gas +#: lang/json/furniture_from_json.py +msgid "" +"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " +"toxic gas." +msgstr "濁った水が時々泡立ち、毒性のガスを放出しています。" + +#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp +msgid "splash!" +msgstr "ピチャッ!" + +#. ~ Description for fog +#: lang/json/furniture_from_json.py +msgid "This is a misty cloud of fog." +msgstr "霧がかかり、雲のようにぼやけています。" + +#: lang/json/furniture_from_json.py +msgid "fake workbench hands" +msgstr "疑似作業台(装備)" + +#. ~ Description for fake workbench hands +#: lang/json/furniture_from_json.py +msgid "This fake workbench holds the stats for working on a wielded item." +msgstr "装備中のアイテムに作用する疑似作業台です。" + +#: lang/json/furniture_from_json.py +msgid "ground crafting spot" +msgstr "製作場所" + +#. ~ Description for ground crafting spot +#: lang/json/furniture_from_json.py +msgid "" +"A cleared spot on the ground for crafting. Slower than using a workbench or" +" holding a project in your hands, but readily available." +msgstr "製作するために片付けておいた場所です。作業台や手に装備した状態での製作作業よりは時間がかかりますが、簡単に用意できます。" + +#. ~ Description for seeing this is a bug +#: lang/json/furniture_from_json.py +msgid "Seeing this is a bug. If seen, please report and destroy." +msgstr "これが見えている場合はバグが発生しています。見つけ次第報告し、破壊してください。" + #: lang/json/furniture_from_json.py msgid "fireplace" msgstr "暖炉" @@ -80257,7 +84541,7 @@ msgid "" msgstr "積み上げられた枯れ草です。快適さや暖かさを気にしないなら、ベッドとして使えます。" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: src/iuse.cpp +#: lang/json/terrain_from_json.py src/iuse.cpp msgid "crunch!" msgstr "バリバリッ!" @@ -80270,8 +84554,8 @@ msgstr "花(マーロス)" msgid "" "This flower is like the other flowers taken by the mushrooms, but its bulb " "is colored a brilliant cyan color, and it emits an aroma both overwhelming " -"and... delicious?" -msgstr "真菌花とよく似ていますが、根本が鮮やかな青緑色に色づいています。濃厚な香りを放っていますが...なんだか美味しそうですね?" +"and… delicious?" +msgstr "真菌花とよく似ていますが、根元が鮮やかな青緑に色づいています。濃厚な香りを放っていますが...なんだか美味しそうですね?" #: lang/json/furniture_from_json.py msgid "poof." @@ -80306,9 +84590,104 @@ msgid "" "Alien mold and stems mingle tightly here, creating a sort of fungal bush." msgstr "地球外の菌糸と茎がしっかりと混じりあい、まるで茂みのように固まっています。" +#: lang/json/furniture_from_json.py +msgid "stone slab" +msgstr "石板" + +#. ~ Description for stone slab +#: lang/json/furniture_from_json.py +msgid "A flat slab of heavy stone." +msgstr "頑丈な石で作られた平坦な厚板です。" + +#: lang/json/furniture_from_json.py +msgid "headstone" +msgstr "墓石" + +#. ~ Description for headstone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies." +msgstr "遺体を守っています。" + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +msgid "thump!" +msgstr "ゴツン!" + +#: lang/json/furniture_from_json.py +msgid "gravestone" +msgstr "墓碑" + +#. ~ Description for gravestone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies. More fancy." +msgstr "遺体を守っています。墓石より豪華です。" + +#: lang/json/furniture_from_json.py +msgid "worn gravestone" +msgstr "古い墓碑" + +#. ~ Description for worn gravestone +#: lang/json/furniture_from_json.py +msgid "A worn-out gravestone." +msgstr "年季の入った墓石です。" + +#: lang/json/furniture_from_json.py +msgid "obelisk" +msgstr "オベリスク" + +#. ~ Description for obelisk +#: lang/json/furniture_from_json.py +msgid "Monument to pride." +msgstr "立派な記念碑です。" + +#: lang/json/furniture_from_json.py +msgid "thunk!" +msgstr "ドスン!" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "robotic assembler" +msgstr "機械式組立装置" + +#. ~ Description for robotic assembler +#: lang/json/furniture_from_json.py +msgid "" +"A durable and versatile robotic arm with a tool fitted to the end, for " +"working on an assembly line." +msgstr "先端に工具が取り付けられた、耐久性に優れ様々な用途をもつ組み立てライン用ロボットアームです。" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "chemical mixer" +msgstr "化学物質撹拌機" + +#. ~ Description for chemical mixer +#: lang/json/furniture_from_json.py +msgid "" +"When chemicals need to be mixed in large quantities at just the right " +"combinations and temperatures, this is the tool for the job." +msgstr "化学物質を正しい比率と温度で大量に混合するときに使う、業務用の機械です。" + +#: lang/json/furniture_from_json.py +msgid "robotic arm" +msgstr "ロボットアーム" + +#. ~ Description for robotic arm +#: lang/json/furniture_from_json.py +msgid "" +"Automation! Science! Industry! Make a better horse! This robot arm " +"promises to do it all. Except it's currently unpowered. You could remove " +"the casing and retrieve the electronics through disassembly." +msgstr "" +"自動化!科学!工業!より良い労働力!このロボットアームは全てを満たします。電源があればの話ですが。外装を取り外して分解すれば、電子機器を入手できます。" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "thunk." +msgstr "ドスン。" + #: lang/json/furniture_from_json.py msgid "Autodoc Mk. XI" -msgstr "オートドクMk. XI" +msgstr "オートドクMk.XI" #. ~ Description for Autodoc Mk. XI #: lang/json/furniture_from_json.py @@ -80317,10 +84696,6 @@ msgid "" "It's only as skilled as its operator." msgstr "CBMの移植と除去に使う外科装置です。技能を持った者にしか操作できません。" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "whack!" -msgstr "バシッ!" - #: lang/json/furniture_from_json.py msgid "Autodoc operation couch" msgstr "オートドク手術台" @@ -80615,9 +84990,9 @@ msgstr "震える肉柱" #: lang/json/furniture_from_json.py msgid "" "This is a meaty green stalactite with a thickened hide like that of a " -"starfish, extending from the floor to the ceiling. In the center is a series" -" of ports somewhat like mouths, from which pour bursts of a vile smelling " -"gas." +"starfish, extending from the floor to the ceiling. In the center is a " +"series of ports somewhat like mouths, from which pour bursts of a vile " +"smelling gas." msgstr "" "地面からから天井まで伸びた、緑色のヒトデのようにも見える多肉質の柱です。中央には口のような噴出孔が連なっており、そこから悪臭を放つガスを噴き出します。" @@ -80644,10 +85019,6 @@ msgid "" "out of injured vessels." msgstr "正体不明の、痙攣する異界の肉塊です。表面の血管が裂け、傷口から奇妙なガスを放出しています。" -#: lang/json/furniture_from_json.py -msgid "splat!" -msgstr "ピシャッ!" - #: lang/json/furniture_from_json.py msgid "slimy pod" msgstr "粘つく肉瘤" @@ -80693,7 +85064,7 @@ msgstr "肉の祭壇" #: lang/json/furniture_from_json.py msgid "" "This pulsing protuberance juts from the floor, its sides covered in scaled, " -"oozing skin. The surface is flat, but undulates softly. A handful of " +"oozing skin. The surface is flat, but undulates softly. A handful of " "unidentifiable appendages reach from the sides, suggesting a sort of " "nightmarish living autodoc." msgstr "" @@ -80853,12 +85224,6 @@ msgid "" "your workout. Might have useful electronic parts in it." msgstr "ボートを漕ぐ運動を行う器具です。電力が来ておらず、トレーニングの役には立ちませんが、内部には使える電子部品が入っているかもしれません。" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py src/map.cpp -#: src/mapdata.cpp -msgid "thump!" -msgstr "ゴツン!" - #: lang/json/furniture_from_json.py msgid "treadmill" msgstr "ランニングマシーン" @@ -80867,8 +85232,8 @@ msgstr "ランニングマシーン" #: lang/json/furniture_from_json.py msgid "" "Used for training leg muscles. It'll be extra hard without power. Could be" -" taken apart for its... parts." -msgstr "足の筋肉を鍛えるために使います。停電時に使うのは困難です。部品が欲しいなら分解しましょう。" +" taken apart for its… parts." +msgstr "足の筋肉を鍛えるために使います。停電時に使うのは困難ですが...部品が欲しいなら分解しましょう。" #: lang/json/furniture_from_json.py msgid "heavy punching bag" @@ -80893,7 +85258,7 @@ msgstr "ピアノ" #: lang/json/furniture_from_json.py msgid "" "The ol' ebony and ivory. Really classes up the place. You could take it " -"apart if you wanted... you monster." +"apart if you wanted… you monster." msgstr "コントラストが鮮やかな古いピアノです。これを置くだけで部屋が上品になります。分解したいのなら構いませんが...野蛮な人ですね。" #: lang/json/furniture_from_json.py @@ -80904,6 +85269,19 @@ msgstr "[破壊的なピアノの音]" msgid "kerchang." msgstr "ガシャン。" +#: lang/json/furniture_from_json.py +msgid "speaker cabinet" +msgstr "スピーカーキャビネット" + +#. ~ Description for speaker cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A cabinet loaded with 12-inch speakers, intended to help make various things" +" loud. It can't serve its original purpose these days, but it could be " +"disassembled for various electronic parts." +msgstr "" +"様々な音を増幅する、12インチスピーカーを搭載したキャビネットです。今の状態では本来の目的を果たせませんが、分解すれば様々な電子部品を入手できます。" + #: lang/json/furniture_from_json.py msgid "cell phone signal booster" msgstr "携帯電話信号ブースター" @@ -81035,6 +85413,53 @@ msgstr "寝ころんでも座ってもいい!最高!" msgid "stool" msgstr "スツール" +#. ~ Description for camp chair +#: lang/json/furniture_from_json.py +msgid "Sit down, have a drink. It can folded for easy transportation." +msgstr "ここに座って一杯やりましょうか。折り畳んで持ち運べます。" + +#: lang/json/furniture_from_json.py +msgid "log stool" +msgstr "丸太椅子" + +#. ~ Description for log stool +#: lang/json/furniture_from_json.py +msgid "" +"A log tipped on its end with any rough edges cut off. Basically a very " +"simple seat." +msgstr "丸太の角を軽く丸めただけの、非常に単純な作りの椅子です。" + +#: lang/json/furniture_from_json.py +msgid "bulletin board" +msgstr "掲示板" + +#. ~ Description for bulletin board +#: lang/json/furniture_from_json.py +msgid "" +"A big, cork bulletin board capable of sporting various notices. Pin some " +"notes for other survivors to read." +msgstr "様々な情報が張り出された、大きなコルクボードの掲示板です。他の生存者が読めるように、メモが何枚か貼り付けてあります。" + +#: lang/json/furniture_from_json.py +msgid "sign" +msgstr "看板" + +#. ~ Description for sign +#: lang/json/furniture_from_json.py +msgid "Read it. Warnings ahead." +msgstr "読みましょう。情報が書いてあります。" + +#: lang/json/furniture_from_json.py +msgid "warning sign" +msgstr "警戒標識" + +#. ~ Description for warning sign +#: lang/json/furniture_from_json.py +msgid "" +"A triangle-shaped sign on a post meant to indicate something important or " +"hazard." +msgstr "柱の上の三角形の標識は、何か重要なものや危険を示しています。" + #: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py msgid "bed" msgstr "ベッド" @@ -81072,7 +85497,7 @@ msgstr "マットレスが床に敷いてあり、よく眠れそうです。本 msgid "rrrrip!" msgstr "ビリビリビリ!" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/furniture_from_json.py msgid "" "A comfortable feather down mattress has been tossed on the floor for " @@ -81107,6 +85532,15 @@ msgstr "本棚" msgid "Stores books. Y'know, those things. Who reads books anymore?" msgstr "本を保管します。いやいや。本なんて読む奴いるのか?" +#: lang/json/furniture_from_json.py +msgid "entertainment center" +msgstr "AVラック" + +#. ~ Description for entertainment center +#: lang/json/furniture_from_json.py +msgid "Stores audio visual equipment, books and collectible." +msgstr "AV機器や収集した書籍などを置く棚です。" + #: lang/json/furniture_from_json.py msgid "coffin" msgstr "棺" @@ -81151,6 +85585,21 @@ msgstr "開いた木箱" msgid "What's inside? Look in it!" msgstr "何が出るかな?覗いてみよう!" +#. ~ Description for large cardboard box +#: lang/json/furniture_from_json.py +msgid "" +"A large cardboard box: this could be used to store things, or as a hiding " +"place." +msgstr "大きな段ボール箱です。物の保管や隠れ場所として利用できます。" + +#: lang/json/furniture_from_json.py +msgid "crumple!" +msgstr "グシャッ!" + +#: lang/json/furniture_from_json.py src/ballistics.cpp +msgid "thud." +msgstr "ゴツン。" + #: lang/json/furniture_from_json.py msgid "cupboard" msgstr "戸棚" @@ -81162,7 +85611,7 @@ msgstr "コップを並べましょう。" #: lang/json/furniture_from_json.py msgid "dresser" -msgstr "ドレッサー" +msgstr "衣装棚" #. ~ Description for dresser #: lang/json/furniture_from_json.py @@ -81302,6 +85751,28 @@ msgstr "ゴミ箱" msgid "One man's trash is another man's dinner." msgstr "ある人にとってはゴミでも、他の誰かにとってはディナーです。" +#: lang/json/furniture_from_json.py +msgid "wardrobe" +msgstr "ワードローブ" + +#. ~ Description for wardrobe +#: lang/json/furniture_from_json.py +msgid "A tall piece of furniture - basically a freestanding closet." +msgstr "一般的な背の高いクローゼットです。" + +#: lang/json/furniture_from_json.py +msgid "filing cabinet" +msgstr "ファイルキャビネット" + +#. ~ Description for filing cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " +"locked to protect important information. If you're lucky, there are often " +"keys nearby." +msgstr "" +"ファイル保管用の頑丈な金属製キャビネットと引き出しです。重要書類を保管する際は鍵を掛けられます。運が良ければ、近くに鍵があるかもしれません。" + #: lang/json/furniture_from_json.py msgid "utility shelf" msgstr "収納棚" @@ -81320,6 +85791,42 @@ msgstr "ビア樽(木)" msgid "A keg made mostly of wood. Holds liquids, preferably alcoholic." msgstr "大部分が木で作られたビア樽です。中には液体、できれば酒を入れましょう。" +#: lang/json/furniture_from_json.py +msgid "display case" +msgstr "陳列ケース" + +#. ~ Description for display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff fancily and securely." +msgstr "装飾的かつ安全に物品を陳列しましょう。" + +#: lang/json/furniture_from_json.py +msgid "broken display case" +msgstr "壊れた陳列ケース" + +#. ~ Description for broken display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff. It'll get stolen." +msgstr "物品を陳列しましょう。盗難確実。" + +#: lang/json/furniture_from_json.py +msgid "standing tank" +msgstr "スタンディングタンク" + +#. ~ Description for standing tank +#: lang/json/furniture_from_json.py +msgid "A large freestanding metal tank, useful for holding liquids." +msgstr "液体の保管に便利な大型の自立式金属タンクです。" + +#: lang/json/furniture_from_json.py +msgid "dumpster" +msgstr "大型ごみ箱" + +#. ~ Description for dumpster +#: lang/json/furniture_from_json.py +msgid "Stores trash. Doesn't get picked up anymore. Note the smell." +msgstr "ゴミを捨てる場所です。もう誰も収集してくれません。臭いに気を付けましょう。" + #: lang/json/furniture_from_json.py msgid "counter" msgstr "カウンター" @@ -81392,7 +85899,7 @@ msgstr "" #. ~ Description for tourist table #: lang/json/furniture_from_json.py msgid "" -"Small metal folding table, ideal for off-road trips into the wild. Can be " +"Small metal folding table, ideal for off-road trips into the wild. Can be " "used as a workbench in a pinch." msgstr "アウトドア旅行に最適な、小型の折り畳み式テーブルです。簡易的な作業台として利用できます。" @@ -81405,6 +85912,280 @@ msgstr "テーブル" msgid "Sit down when you eat!" msgstr "ちゃんと座って食べなさい!" +#. ~ Description for table +#: lang/json/furniture_from_json.py +msgid "a low table for livingrooms." +msgstr "リビングルームに置くローテーブルです。" + +#: lang/json/furniture_from_json.py +msgid "tatami mat" +msgstr "畳" + +#. ~ Description for tatami mat +#: lang/json/furniture_from_json.py +msgid "" +"A tatami is a type of mat used as a flooring material in traditional " +"Japanese-style rooms." +msgstr "伝統的な和室の床材として使われるマットの一種です。" + +#: lang/json/furniture_from_json.py +msgid "pillow fort" +msgstr "枕の砦" + +#. ~ Description for pillow fort +#: lang/json/furniture_from_json.py +msgid "A comfy place to hide from the world. Not very defensible, though." +msgstr "この世界から身を隠せる快適な場所ですが、あまり頑丈ではありません。" + +#: lang/json/furniture_from_json.py +msgid "paf!" +msgstr "ボフッ!" + +#: lang/json/furniture_from_json.py +msgid "cardboard fort" +msgstr "段ボールハウス" + +#. ~ Description for cardboard fort +#: lang/json/furniture_from_json.py +msgid "" +"A fort built by tipping a cardboard box on its side, lining it with " +"blankets, and partly weather sealing it with a plastic sheet." +msgstr "段ボール箱の側面を傾け、毛布で覆い、部分的に雨除けのビニールシートをかけて作った砦です。" + +#: lang/json/furniture_from_json.py +msgid "cardboard wall" +msgstr "壁(段ボール)" + +#. ~ Description for cardboard wall +#: lang/json/furniture_from_json.py +msgid "" +"This is a pile of cardboard boxes that have been filled with rags and junk " +"and stacked together like bricks to form a wall." +msgstr "ゴミやガラクタが入った段ボール箱をレンガのように積み重ねて作った壁です。" + +#: lang/json/furniture_from_json.py +msgid "beaded curtain" +msgstr "ビーズカーテン" + +#. ~ Description for beaded curtain +#: lang/json/furniture_from_json.py +msgid "This beaded curtain could be pulled aside." +msgstr "脇に除けて開くタイプのビーズカーテンです。" + +#: lang/json/furniture_from_json.py +msgid "clickity clack… clack… clack" +msgstr "シャラシャラ...シャラ...シャラ..." + +#: lang/json/furniture_from_json.py +msgid "clickity clack… clack" +msgstr "シャラシャラ...シャラ..." + +#: lang/json/furniture_from_json.py +msgid "open beaded curtain" +msgstr "開いたビーズカーテン" + +#. ~ Description for open beaded curtain +#: lang/json/furniture_from_json.py +msgid "This beaded curtain has been pulled aside." +msgstr "ビーズカーテンは脇に除けられています。" + +#: lang/json/furniture_from_json.py +msgid "clickity clack… clack… clack!" +msgstr "シャラシャラ...シャラ...ジャラ!" + +#: lang/json/furniture_from_json.py +msgid "canvas floor" +msgstr "床(帆布)" + +#. ~ Description for canvas floor +#: lang/json/furniture_from_json.py +msgid "" +"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " +"of the tent." +msgstr "伸び縮みする防水性の布で作られた床です。テント内の清潔を保ちます。" + +#: lang/json/furniture_from_json.py +msgid "canvas wall" +msgstr "壁(帆布)" + +#. ~ Description for canvas wall +#: lang/json/furniture_from_json.py +msgid "A wall made of stretched, waterproof cloth." +msgstr "伸び縮みする防水性の布で作られた壁です。" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "slap!" +msgstr "ピシッ!" + +#. ~ Description for canvas wall +#: lang/json/furniture_from_json.py +msgid "A wall made of stretched, heavy-duty, waterproof cloth." +msgstr "伸び縮みする頑丈な防水性の布で作られた壁です。" + +#: lang/json/furniture_from_json.py +msgid "canvas flap" +msgstr "垂れ幕(帆布)" + +#. ~ Description for canvas flap +#: lang/json/furniture_from_json.py +msgid "This canvas flap door could be pulled aside." +msgstr "脇に除けて開くタイプの、帆布製の垂れ幕です。" + +#: lang/json/furniture_from_json.py +msgid "open canvas flap" +msgstr "開いた垂れ幕(帆布)" + +#. ~ Description for open canvas flap +#: lang/json/furniture_from_json.py +msgid "This canvas flap door has been pulled aside." +msgstr "帆布製の垂れ幕は脇に除けられています。" + +#. ~ Description for canvas flap +#: lang/json/furniture_from_json.py +msgid "This heavy canvas flap door could be pulled aside." +msgstr "脇に除けて開くタイプの、分厚い帆布製の垂れ幕です。" + +#. ~ Description for open canvas flap +#: lang/json/furniture_from_json.py +msgid "This heavy canvas flap door has been pulled aside." +msgstr "分厚い帆布製の垂れ幕は脇に除けられています。" + +#: lang/json/furniture_from_json.py +msgid "groundsheet" +msgstr "レジャーシート" + +#. ~ Description for groundsheet +#: lang/json/furniture_from_json.py +msgid "This plastic groundsheet could keep you dry." +msgstr "ビニール製のレジャーシートがあれば濡れずに済みます。" + +#. ~ Description for groundsheet +#: lang/json/furniture_from_json.py +msgid "This large plastic groundsheet could keep you dry." +msgstr "ビニール製の大きなレジャーシートがあれば濡れずに済みます。" + +#. ~ Description for groundsheet +#: lang/json/furniture_from_json.py +msgid "" +"This plastic government-issue groundsheet could keep you dry, but was made " +"by the lowest bidder." +msgstr "政府入札の最低額で生産されたビニール製のレジャーシートですが、これがあれば濡れずに済みます。" + +#: lang/json/furniture_from_json.py +msgid "animalskin wall" +msgstr "壁(獣皮)" + +#. ~ Description for animalskin wall +#: lang/json/furniture_from_json.py +msgid "Wall made out of animal skin. Either an amazing or horrifying sight." +msgstr "動物の皮で作られた壁です。美しくも恐ろしくも見えます。" + +#: lang/json/furniture_from_json.py +msgid "animalskin flap" +msgstr "垂れ幕(獣皮)" + +#. ~ Description for animalskin flap +#: lang/json/furniture_from_json.py +msgid "This animal skin flap could be pulled aside." +msgstr "脇に除けて開くタイプの、皮製の垂れ幕です。" + +#: lang/json/furniture_from_json.py +msgid "open animalskin flap" +msgstr "開いた垂れ幕(獣皮)" + +#. ~ Description for open animalskin flap +#: lang/json/furniture_from_json.py +msgid "This animal skin flap has been pulled aside." +msgstr "皮製の垂れ幕は脇に除けられています。" + +#: lang/json/furniture_from_json.py +msgid "animalskin floor" +msgstr "床(獣皮)" + +#. ~ Description for animalskin floor +#: lang/json/furniture_from_json.py +msgid "This animal skin groundsheet could keep you dry." +msgstr "皮製のレジャーシートがあれば濡れずに済みます。" + +#: lang/json/furniture_from_json.py +msgid "pile of rubble" +msgstr "瓦礫の山" + +#. ~ Description for pile of rubble +#: lang/json/furniture_from_json.py +msgid "" +"Pile of various metals, bricks, and other building materials. You could " +"clear it with a shovel." +msgstr "雑多な金属、レンガ、建築資材などの山です。シャベルを使用して取り除けます。" + +#: lang/json/furniture_from_json.py +msgid "pile of rocky rubble" +msgstr "瓦礫の山(岩)" + +#. ~ Description for pile of rocky rubble +#: lang/json/furniture_from_json.py +msgid "Pile of rocks. Useless?" +msgstr "たくさんの石の山です。何かの役に立つでしょうか?" + +#: lang/json/furniture_from_json.py +msgid "pile of trashy rubble" +msgstr "瓦礫の山(ゴミ)" + +#. ~ Description for pile of trashy rubble +#: lang/json/furniture_from_json.py +msgid "" +"Trash topped with dirt and grass, it smells gross, but another man's trash…" +msgstr "泥や草が混じったゴミです。酷い臭いを漂わせていますが、何か使い道があるかも..." + +#: lang/json/furniture_from_json.py +msgid "metal wreckage" +msgstr "残骸(金属)" + +#. ~ Description for metal wreckage +#: lang/json/furniture_from_json.py +msgid "Pile of various bent and twisted metals." +msgstr "折れたりねじ曲がったりした金属類の山です。" + +#: lang/json/furniture_from_json.py +msgid "pile of ash" +msgstr "灰の山" + +#. ~ Description for pile of ash +#: lang/json/furniture_from_json.py +msgid "Some ash, from wood or possibly bodies." +msgstr "木材や死体などが燃えて生成された灰です。" + +#: lang/json/furniture_from_json.py +msgid "small boulder" +msgstr "岩(小)" + +#. ~ Description for small boulder +#: lang/json/furniture_from_json.py +msgid "" +"Blocking your path. Should be easy to move. It can be used as a primitive " +"anvil." +msgstr "通行の邪魔になりますが、簡単に乗り越えられます。簡素な金床として利用できます。" + +#: lang/json/furniture_from_json.py +msgid "medium boulder" +msgstr "岩(中)" + +#. ~ Description for medium boulder +#: lang/json/furniture_from_json.py +msgid "" +"Blocking your path. It'll be a struggle to move. It can be used as a " +"primitive anvil." +msgstr "通行の邪魔になりますが、簡単に乗り越えられます。簡素な金床として利用できます。" + +#: lang/json/furniture_from_json.py +msgid "large boulder" +msgstr "岩(大)" + +#. ~ Description for large boulder +#: lang/json/furniture_from_json.py +msgid "Now how are you going to move this?" +msgstr "どうやって移動すればいいのでしょうか?" + #: lang/json/furniture_from_json.py msgid "forge" msgstr "炉" @@ -81507,7 +86288,7 @@ msgstr "陶芸窯" #. ~ Description for clay kiln #: lang/json/furniture_from_json.py msgid "A kiln designed to bake clay pottery and bricks." -msgstr "陶器や煉瓦を焼くための窯です。" +msgstr "陶器やレンガを焼くための窯です。" #. ~ Description for stepladder #: lang/json/furniture_from_json.py @@ -81671,512 +86452,13 @@ msgid "" msgstr "死体を空中に吊るすように設計されている金属製の食肉処理ラックです。分解すれば簡単に持ち運べます。" #: lang/json/furniture_from_json.py -msgid "pile of rubble" -msgstr "瓦礫の山" - -#. ~ Description for pile of rubble -#: lang/json/furniture_from_json.py -msgid "" -"Pile of various metals, bricks, and other building materials. You could " -"clear it with a shovel." -msgstr "雑多な金属、煉瓦、建築資材などの山です。シャベルを使用して取り除けます。" - -#: lang/json/furniture_from_json.py -msgid "pile of rocky rubble" -msgstr "瓦礫の山(岩)" - -#. ~ Description for pile of rocky rubble -#: lang/json/furniture_from_json.py -msgid "Pile of rocks. Useless?" -msgstr "たくさんの石の山です。何かの役に立つでしょうか?" - -#: lang/json/furniture_from_json.py -msgid "pile of trashy rubble" -msgstr "瓦礫の山(ゴミ)" - -#. ~ Description for pile of trashy rubble -#: lang/json/furniture_from_json.py -msgid "" -"Trash topped with dirt and grass, it smells gross, but another man's " -"trash..." -msgstr "泥や草が混じったゴミです。酷い臭いを漂わせていますが、何か使い道があるかも..." - -#: lang/json/furniture_from_json.py -msgid "metal wreckage" -msgstr "残骸(金属)" - -#. ~ Description for metal wreckage -#: lang/json/furniture_from_json.py -msgid "Pile of various bent and twisted metals." -msgstr "折れたりねじ曲がったりした金属類の山です。" - -#: lang/json/furniture_from_json.py -msgid "pile of ash" -msgstr "灰の山" - -#. ~ Description for pile of ash -#: lang/json/furniture_from_json.py -msgid "Some ash, from wood or possibly bodies." -msgstr "木材や死体などが燃えて生成された灰です。" - -#: lang/json/furniture_from_json.py -msgid "bulletin board" -msgstr "掲示板" - -#. ~ Description for bulletin board -#: lang/json/furniture_from_json.py -msgid "" -"A big, cork bulletin board capable of sporting various notices. Pin some " -"notes for other survivors to read." -msgstr "様々な情報が張り出された、大きなコルクボードの掲示板です。他の生存者が読めるように、メモが何枚か貼り付けてあります。" - -#: lang/json/furniture_from_json.py -msgid "sign" -msgstr "看板" - -#. ~ Description for sign -#: lang/json/furniture_from_json.py -msgid "Read it. Warnings ahead." -msgstr "読みましょう。情報が書いてあります。" - -#: lang/json/furniture_from_json.py -msgid "warning sign" -msgstr "警戒標識" - -#. ~ Description for warning sign -#: lang/json/furniture_from_json.py -msgid "" -"A triangle-shaped sign on a post meant to indicate something important or " -"hazard." -msgstr "柱の上の三角形の標識は、何か重要なものや危険を示しています。" - -#: lang/json/furniture_from_json.py -msgid "standing mirror" -msgstr "全身鏡" - -#. ~ Description for standing mirror -#: lang/json/furniture_from_json.py -msgid "Lookin' good - is that blood?" -msgstr "今日もビシっと...これは...血?" - -#: lang/json/furniture_from_json.py -msgid "glass breaking" -msgstr "[ガラスが割れる音]" - -#: lang/json/furniture_from_json.py -msgid "broken standing mirror" -msgstr "壊れた全身鏡" - -#. ~ Description for broken standing mirror -#: lang/json/furniture_from_json.py -msgid "" -"You could look at yourself, if the mirror wasn't covered in cracks and " -"fractures." -msgstr "割れたりひびが入ったりしていなければ、身だしなみを確かめられたのですが。" - -#: lang/json/furniture_from_json.py -msgid "vending machine" -msgstr "自動販売機" - -#. ~ Description for vending machine -#: lang/json/furniture_from_json.py -msgid "Buy stuff with a cash card." -msgstr "キャッシュカードで物品を購入できます。" - -#: lang/json/furniture_from_json.py -msgid "broken vending machine" -msgstr "壊れた自動販売機" - -#. ~ Description for broken vending machine -#: lang/json/furniture_from_json.py -msgid "" -"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " -"you wouldn't need to pay at all!" -msgstr "既に壊れています。お金を使う前によく考えましょう。もっと壊せば、商品がタダで手に入るかもしれませんよ?" - -#: lang/json/furniture_from_json.py -msgid "dumpster" -msgstr "大型ごみ箱" - -#. ~ Description for dumpster -#: lang/json/furniture_from_json.py -msgid "Stores trash. Doesn't get picked up anymore. Note the smell." -msgstr "ゴミを捨てる場所です。もう誰も収集してくれません。臭いに気を付けましょう。" - -#: lang/json/furniture_from_json.py -msgid "canvas wall" -msgstr "壁(帆布)" - -#. ~ Description for canvas wall -#: lang/json/furniture_from_json.py -msgid "A wall made of stretched, waterproof cloth." -msgstr "伸び縮みする防水性の布で作られた壁です。" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "slap!" -msgstr "ピシッ!" - -#. ~ Description for canvas wall -#: lang/json/furniture_from_json.py -msgid "A wall made of stretched, heavy-duty, waterproof cloth." -msgstr "伸び縮みする頑丈な防水性の布で作られた壁です。" - -#: lang/json/furniture_from_json.py -msgid "canvas flap" -msgstr "垂れ幕(帆布)" - -#. ~ Description for canvas flap -#: lang/json/furniture_from_json.py -msgid "This canvas flap door could be pulled aside." -msgstr "脇に除けて開くタイプの、帆布製の垂れ幕です。" - -#: lang/json/furniture_from_json.py -msgid "open canvas flap" -msgstr "開いた垂れ幕(帆布)" - -#. ~ Description for open canvas flap -#: lang/json/furniture_from_json.py -msgid "This canvas flap door has been pulled aside." -msgstr "帆布製の垂れ幕は脇に除けられています。" - -#. ~ Description for canvas flap -#: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door could be pulled aside." -msgstr "脇に除けて開くタイプの、分厚い帆布製の垂れ幕です。" - -#. ~ Description for open canvas flap -#: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door has been pulled aside." -msgstr "分厚い帆布製の垂れ幕は脇に除けられています。" - -#: lang/json/furniture_from_json.py -msgid "groundsheet" -msgstr "レジャーシート" - -#. ~ Description for groundsheet -#: lang/json/furniture_from_json.py -msgid "This plastic groundsheet could keep you dry." -msgstr "ビニール製のレジャーシートがあれば濡れずに済みます。" - -#. ~ Description for groundsheet -#: lang/json/furniture_from_json.py -msgid "This large plastic groundsheet could keep you dry." -msgstr "ビニール製の大きなレジャーシートがあれば濡れずに済みます。" - -#. ~ Description for groundsheet -#: lang/json/furniture_from_json.py -msgid "" -"This plastic government-issue groundsheet could keep you dry, but was made " -"by the lowest bidder." -msgstr "政府入札の最低額で生産されたビニール製のレジャーシートですが、これがあれば濡れずに済みます。" - -#: lang/json/furniture_from_json.py -msgid "animalskin wall" -msgstr "壁(獣皮)" - -#. ~ Description for animalskin wall -#: lang/json/furniture_from_json.py -msgid "Wall made out of animal skin. Either an amazing or horrifying sight." -msgstr "動物の皮で作られた壁です。美しくも恐ろしくも見えます。" - -#: lang/json/furniture_from_json.py -msgid "animalskin flap" -msgstr "垂れ幕(獣皮)" - -#. ~ Description for animalskin flap -#: lang/json/furniture_from_json.py -msgid "This animal skin flap could be pulled aside." -msgstr "脇に除けて開くタイプの、皮製の垂れ幕です。" - -#: lang/json/furniture_from_json.py -msgid "open animalskin flap" -msgstr "開いた垂れ幕(獣皮)" - -#. ~ Description for open animalskin flap -#: lang/json/furniture_from_json.py -msgid "This animal skin flap has been pulled aside." -msgstr "皮製の垂れ幕は脇に除けられています。" - -#: lang/json/furniture_from_json.py -msgid "animalskin floor" -msgstr "床(獣皮)" - -#. ~ Description for animalskin floor -#: lang/json/furniture_from_json.py -msgid "This animal skin groundsheet could keep you dry." -msgstr "皮製のレジャーシートがあれば濡れずに済みます。" - -#: lang/json/furniture_from_json.py -msgid "statue" -msgstr "彫像" - -#. ~ Description for statue -#: lang/json/furniture_from_json.py -msgid "A carved statue made of stone." -msgstr "石造りの彫像です。" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "thump." -msgstr "ゴツン。" - -#: lang/json/furniture_from_json.py -msgid "mannequin" -msgstr "マネキン人形" - -#. ~ Description for mannequin -#: lang/json/furniture_from_json.py -msgid "" -"Put clothes on it, talk to it. Who's around to judge you? Wait... did it " -"just move?" -msgstr "服を着せて、話し掛けましょう。咎める人は誰もいませんよ?あれ...これ今動いた?" - -#: lang/json/furniture_from_json.py -msgid "birdbath" -msgstr "バードバス" - -#. ~ Description for birdbath -#: lang/json/furniture_from_json.py -msgid "A decorative cement birdbath and pedestal." -msgstr "セメント製の装飾用バードバスと台座です。" - -#: lang/json/furniture_from_json.py -msgid "rotary clothes dryer line" -msgstr "物干しパラソル" - -#. ~ Description for rotary clothes dryer line -#: lang/json/furniture_from_json.py -msgid "A umbrella shaped clothes line mounted on a pole." -msgstr "傘型に張り巡らせた物干しロープが支柱の上に広がっています。" - -#: lang/json/furniture_from_json.py -msgid "mounted solar panel" -msgstr "ソーラーパネル" - -#. ~ Description for mounted solar panel -#: lang/json/furniture_from_json.py -msgid "A mounted solar panel." -msgstr "設置されたソーラーパネルです。" - -#: lang/json/furniture_from_json.py -msgid "spider egg sack" -msgstr "卵塊(クモ)" - -#. ~ Description for spider egg sack -#: lang/json/furniture_from_json.py -msgid "" -"Much too large, off-white egg sack. Kind of icky. Something IS moving in " -"there." -msgstr "非常に大きなオフホワイトの卵塊です。内部で何かが蠢いており、少し嫌な予感がします。" - -#. ~ Description for spider egg sack -#: lang/json/furniture_from_json.py -msgid "" -"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " -"in there." -msgstr "球根のような形状のクモのタマゴです。内部で何かが蠢いており、非常に嫌な予感がします。" - -#. ~ Description for spider egg sack -#: lang/json/furniture_from_json.py -msgid "" -"A horrifyingly oversized egg sack. Something IS moving in there. If you're" -" seeing this, you're already too close to it." -msgstr "とんでもなく大きな卵塊です。中で何かが蠢いていますが、それが目視できるなら離れた方が良さそうです。" - -#: lang/json/furniture_from_json.py -msgid "ruptured egg sack" -msgstr "卵塊(破裂)" - -#. ~ Description for ruptured egg sack -#: lang/json/furniture_from_json.py -msgid "Super icky. Spider stuff's spilling out." -msgstr "非常に不快な姿です。クモの部位の一部が殻から飛び出ています。" - -#: lang/json/furniture_from_json.py -msgid "reinforced vending machine" -msgstr "強化自動販売機" - -#. ~ Description for reinforced vending machine -#: lang/json/furniture_from_json.py -msgid "" -"A bit tougher to crack open than regular vending machines. That just makes " -"it all the sweeter a target, doesn't it?" -msgstr "通常の自動販売機よりも防犯性能に優れています。中にはとても素敵なものが入っているに違いありませんね?" - -#: lang/json/furniture_from_json.py -msgid "display case" -msgstr "陳列ケース" - -#. ~ Description for display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff fancily and securely." -msgstr "装飾的かつ安全に物品を陳列しましょう。" - -#: lang/json/furniture_from_json.py -msgid "broken display case" -msgstr "壊れた陳列ケース" - -#. ~ Description for broken display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff. It'll get stolen." -msgstr "物品を陳列しましょう。盗難確実。" - -#: lang/json/furniture_from_json.py -msgid "standing tank" -msgstr "スタンディングタンク" - -#. ~ Description for standing tank -#: lang/json/furniture_from_json.py -msgid "A large freestanding metal tank, useful for holding liquids." -msgstr "液体の保管に便利な大型の自立式金属タンクです。" - -#: lang/json/furniture_from_json.py -msgid "canvas floor" -msgstr "床(帆布)" - -#. ~ Description for canvas floor -#: lang/json/furniture_from_json.py -msgid "" -"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " -"of the tent." -msgstr "伸び縮みする防水性の布で作られた床です。テント内の清潔を保ちます。" - -#: lang/json/furniture_from_json.py -msgid "robotic arm" -msgstr "ロボットアーム" - -#. ~ Description for robotic arm -#: lang/json/furniture_from_json.py -msgid "" -"Automation! Science! Industry! Make a better horse! This robot arm " -"promises to do it all. Except it's currently unpowered. You could remove " -"the casing and retrieve the electronics through disassembly." -msgstr "" -"自動化!科学!工業!より良い労働力!このロボットアームは全てを満たします。電源があればの話ですが。外装を取り外して分解すれば、電子機器を入手できます。" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "thunk." -msgstr "ドスン。" - -#: lang/json/furniture_from_json.py -msgid "automated gas console" -msgstr "自動給油装置" - -#. ~ Description for automated gas console -#: lang/json/furniture_from_json.py -msgid "Automated gas flow control console." -msgstr "自動でガソリン流量を制御する給油装置です。" - -#: lang/json/furniture_from_json.py -msgid "broken automated gas console" -msgstr "壊れた自動給油装置" - -#. ~ Description for broken automated gas console -#: lang/json/furniture_from_json.py -msgid "" -"Automated gas flow control console. Broken. This is not a good thing." -msgstr "自動でガソリン流量を制御する給油装置です。残念ながら壊れています。" - -#: lang/json/furniture_from_json.py -msgid "small boulder" -msgstr "岩(小)" - -#. ~ Description for small boulder -#: lang/json/furniture_from_json.py -msgid "" -"Blocking your path. Should be easy to move. It can be used as a primitive " -"anvil." -msgstr "通行の邪魔になりますが、簡単に乗り越えられます。簡素な金床として利用できます。" - -#: lang/json/furniture_from_json.py -msgid "medium boulder" -msgstr "岩(中)" - -#. ~ Description for medium boulder -#: lang/json/furniture_from_json.py -msgid "" -"Blocking your path. It'll be a struggle to move. It can be used as a " -"primitive anvil." -msgstr "通行の邪魔になりますが、簡単に乗り越えられます。簡素な金床として利用できます。" - -#: lang/json/furniture_from_json.py -msgid "large boulder" -msgstr "岩(大)" - -#. ~ Description for large boulder -#: lang/json/furniture_from_json.py -msgid "Now how are you going to move this?" -msgstr "どうやって移動すればいいのでしょうか?" - -#: lang/json/furniture_from_json.py -msgid "stone slab" -msgstr "石板" - -#. ~ Description for stone slab -#: lang/json/furniture_from_json.py -msgid "A flat slab of heavy stone." -msgstr "頑丈な石で作られた平坦な厚板です。" - -#: lang/json/furniture_from_json.py -msgid "manacles" -msgstr "手枷" - -#. ~ Description for manacles -#: lang/json/furniture_from_json.py -msgid "" -"Chain serfs in your dungeon. All you need now is an iron ball to chain to " -"it." -msgstr "農奴を地下牢に繋ぎましょう。後は鎖の付いた鉄球があれば完璧です。" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "crack." -msgstr "メリッ。" - -#: lang/json/furniture_from_json.py -msgid "headstone" -msgstr "墓石" - -#. ~ Description for headstone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies." -msgstr "遺体を守っています。" - -#: lang/json/furniture_from_json.py -msgid "gravestone" -msgstr "墓碑" - -#. ~ Description for gravestone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies. More fancy." -msgstr "遺体を守っています。墓石より豪華です。" - -#: lang/json/furniture_from_json.py -msgid "worn gravestone" -msgstr "古い墓碑" - -#. ~ Description for worn gravestone -#: lang/json/furniture_from_json.py -msgid "A worn-out gravestone." -msgstr "年季の入った墓石です。" - -#: lang/json/furniture_from_json.py -msgid "obelisk" -msgstr "オベリスク" - -#. ~ Description for obelisk -#: lang/json/furniture_from_json.py -msgid "Monument to pride." -msgstr "立派な記念碑です。" - -#: lang/json/furniture_from_json.py -msgid "thunk!" -msgstr "ドスン!" +msgid "hanging meathook" +msgstr "食肉用フック" -#. ~ Description for camp chair +#. ~ Description for hanging meathook #: lang/json/furniture_from_json.py -msgid "Sit down, have a drink. It can folded for easy transportation." -msgstr "ここに座って一杯やりましょうか。折り畳んで持ち運べます。" +msgid "A hefty hook suspended from a chain for stringing up corpses." +msgstr "チェーンで吊り下げられた、死体を吊るすための大きなフックです。" #. ~ Description for wind mill #: lang/json/furniture_from_json.py @@ -82213,257 +86495,54 @@ msgid "" msgstr "でんぷん質を含むアイテムを穀粉に加工する小型の水車です。ブレーキ機構が解除され、回転しています。" #: lang/json/furniture_from_json.py -msgid "pillow fort" -msgstr "枕の砦" - -#. ~ Description for pillow fort -#: lang/json/furniture_from_json.py -msgid "A comfy place to hide from the world. Not very defensible, though." -msgstr "この世界から身を隠せる快適な場所ですが、あまり頑丈ではありません。" - -#: lang/json/furniture_from_json.py -msgid "paf!" -msgstr "ボフッ!" - -#: lang/json/furniture_from_json.py -msgid "cardboard fort" -msgstr "段ボールハウス" - -#. ~ Description for cardboard fort -#: lang/json/furniture_from_json.py -msgid "" -"A fort built by tipping a cardboard box on its side, lining it with " -"blankets, and partly weather sealing it with a plastic sheet." -msgstr "段ボール箱の側面を傾け、毛布で覆い、部分的に雨除けのビニールシートをかけて作った砦です。" - -#: lang/json/furniture_from_json.py -msgid "crumple!" -msgstr "グシャッ!" - -#: lang/json/furniture_from_json.py src/ballistics.cpp -msgid "thud." -msgstr "ゴツン。" - -#: lang/json/furniture_from_json.py -msgid "cardboard wall" -msgstr "壁(段ボール)" - -#. ~ Description for cardboard wall -#: lang/json/furniture_from_json.py -msgid "" -"This is a pile of cardboard boxes that have been filled with rags and junk " -"and stacked together like bricks to form a wall." -msgstr "ゴミやガラクタが入った段ボール箱を煉瓦のように積み重ねて作った壁です。" - -#. ~ Description for large cardboard box -#: lang/json/furniture_from_json.py -msgid "" -"A large cardboard box: this could be used to store things, or as a hiding " -"place." -msgstr "大きな段ボール箱です。物の保管や隠れ場所として利用できます。" - -#: lang/json/furniture_from_json.py -msgid "beaded curtain" -msgstr "ビーズカーテン" - -#. ~ Description for beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain could be pulled aside." -msgstr "脇に除けて開くタイプのビーズカーテンです。" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack" -msgstr "シャラシャラ...シャラ...シャラ..." - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack" -msgstr "シャラシャラ...シャラ..." - -#: lang/json/furniture_from_json.py -msgid "open beaded curtain" -msgstr "開いたビーズカーテン" - -#. ~ Description for open beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain has been pulled aside." -msgstr "ビーズカーテンは脇に除けられています。" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack!" -msgstr "シャラシャラ...シャラ...ジャラ!" - -#: lang/json/furniture_from_json.py -msgid "filing cabinet" -msgstr "ファイルキャビネット" - -#. ~ Description for filing cabinet -#: lang/json/furniture_from_json.py -msgid "" -"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " -"locked to protect important information. If you're lucky, there are often " -"keys nearby." -msgstr "" -"ファイル保管用の頑丈な金属製キャビネットと引き出しです。重要書類を保管する際は鍵を掛けられます。運が良ければ、近くに鍵があるかもしれません。" - -#: lang/json/furniture_from_json.py -msgid "wardrobe" -msgstr "衣装棚" - -#. ~ Description for wardrobe -#: lang/json/furniture_from_json.py -msgid "A tall piece of furniture - basically a freestanding closet." -msgstr "一般的な背の高いクローゼットです。" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "robotic assembler" -msgstr "機械式組立装置" - -#. ~ Description for robotic assembler -#: lang/json/furniture_from_json.py -msgid "" -"A durable and versatile robotic arm with a tool fitted to the end, for " -"working on an assembly line." -msgstr "先端に工具が取り付けられた、耐久性に優れ様々な用途をもつ組み立てライン用ロボットアームです。" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "chemical mixer" -msgstr "化学物質撹拌機" - -#. ~ Description for chemical mixer -#: lang/json/furniture_from_json.py -msgid "" -"When chemicals need to be mixed in large quantities at just the right " -"combinations and temperatures, this is the tool for the job." -msgstr "化学物質を正しい比率と温度で大量に混合するときに使う、業務用の機械です。" - -#: lang/json/furniture_from_json.py -msgid "floor lamp" -msgstr "フロアランプ" - -#. ~ Description for floor lamp -#: lang/json/furniture_from_json.py -msgid "A tall standing lamp, meant to plug into a wall and light up a room." -msgstr "電気コードが付いた、部屋を照らす背の高いランプです。" - -#: lang/json/furniture_from_json.py -msgid "bonk!" -msgstr "カン!" - -#: lang/json/furniture_from_json.py -msgid "document shredder" -msgstr "シュレッダー" - -#. ~ Description for document shredder -#: lang/json/furniture_from_json.py -msgid "" -"It's not all about hiding government secrets, sometimes you just want to " -"stop identity theft." -msgstr "政府の機密事項以外にも、単に個人情報を漏らしたくない時にも使えます。" - -#: lang/json/furniture_from_json.py -msgid "server stack" -msgstr "サーバー" - -#. ~ Description for server stack -#: lang/json/furniture_from_json.py -msgid "This is a big pile of computers. They're all turned off." -msgstr "積み重なったコンピュータの集合体です。電源はすべて切れています。" - -#: lang/json/furniture_from_json.py -msgid "large satellite dish" -msgstr "大型衛星放送受信アンテナ" - -#. ~ Description for large satellite dish -#: lang/json/furniture_from_json.py -msgid "" -"Somewhere up there, there are still satellites, orbiting and doing their " -"thing, sending signals down to an Earth that is no longer listening." -msgstr "上空のどこかで人工衛星が回り続けており、もはや受信する人類のいなくなった地球に信号を送り続けています。" - -#: lang/json/furniture_from_json.py -msgid "hanging meathook" -msgstr "食肉用フック" - -#. ~ Description for hanging meathook -#: lang/json/furniture_from_json.py -msgid "A hefty hook suspended from a chain for stringing up corpses." -msgstr "チェーンで吊り下げられた、死体を吊るすための大きなフックです。" - -#: lang/json/furniture_from_json.py -msgid "fake workbench hands" -msgstr "疑似作業台(装備)" - -#. ~ Description for fake workbench hands -#: lang/json/furniture_from_json.py -msgid "This fake workbench holds the stats for working on a wielded item." -msgstr "装備中のアイテムに作用する疑似作業台です。" - -#: lang/json/furniture_from_json.py -msgid "ground crafting spot" -msgstr "製作場所" +msgid "automated gas console" +msgstr "自動給油装置" -#. ~ Description for ground crafting spot +#. ~ Description for automated gas console #: lang/json/furniture_from_json.py -msgid "" -"A cleared spot on the ground for crafting. Slower than using a workbench or" -" holding a project in your hands, but readily available." -msgstr "製作するために片付けておいた場所です。作業台や手に装備した状態での製作作業よりは時間がかかりますが、簡単に用意できます。" +msgid "Automated gas flow control console." +msgstr "自動でガソリン流量を制御する給油装置です。" #: lang/json/furniture_from_json.py -msgid "tatami mat" -msgstr "畳" +msgid "broken automated gas console" +msgstr "壊れた自動給油装置" -#. ~ Description for tatami mat +#. ~ Description for broken automated gas console #: lang/json/furniture_from_json.py msgid "" -"A tatami is a type of mat used as a flooring material in traditional " -"Japanese-style rooms." -msgstr "伝統的な和室の床材として使われるマットの一種です。" +"Automated gas flow control console. Broken. This is not a good thing." +msgstr "自動でガソリン流量を制御する給油装置です。残念ながら壊れています。" #: lang/json/furniture_from_json.py -msgid "bitts" -msgstr "係船柱" +msgid "reinforced vending machine" +msgstr "強化自動販売機" -#. ~ Description for bitts +#. ~ Description for reinforced vending machine #: lang/json/furniture_from_json.py msgid "" -"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " -"to secure mooring lines, ropes, hawsers, or cables." -msgstr "埠頭や桟橋、岸壁などに設置されている一対の鉄杭です。係留索やロープ、大綱などを繋ぐために使います。" +"A bit tougher to crack open than regular vending machines. That just makes " +"it all the sweeter a target, doesn't it?" +msgstr "通常の自動販売機よりも防犯性能に優れています。中にはとても素敵なものが入っているに違いありませんね?" #: lang/json/furniture_from_json.py -msgid "speaker cabinet" -msgstr "スピーカーキャビネット" +msgid "vending machine" +msgstr "自動販売機" -#. ~ Description for speaker cabinet +#. ~ Description for vending machine #: lang/json/furniture_from_json.py -msgid "" -"A cabinet loaded with 12-inch speakers, intended to help make various things" -" loud. It can't serve its original purpose these days, but it could be " -"disassembled for various electronic parts." -msgstr "" -"様々な音を増幅する、12インチスピーカーを搭載したキャビネットです。今の状態では本来の目的を果たせませんが、分解すれば様々な電子部品を入手できます。" +msgid "Buy stuff with a cash card." +msgstr "キャッシュカードで物品を購入できます。" -#. ~ Description for seeing this is a bug #: lang/json/furniture_from_json.py -msgid "Seeing this is a bug. If seen, please report and destroy." -msgstr "これが見えている場合はバグが発生しています。見つけ次第報告し、破壊してください。" +msgid "broken vending machine" +msgstr "壊れた自動販売機" -#. ~ Description for swamp gas +#. ~ Description for broken vending machine #: lang/json/furniture_from_json.py msgid "" -"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " -"toxic gas." -msgstr "濁った水が時々泡立ち、毒性のガスを放出しています。" - -#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp -msgid "splash!" -msgstr "ピチャッ!" - -#. ~ Description for fog -#: lang/json/furniture_from_json.py -msgid "This is a misty cloud of fog." -msgstr "霧がかかり、雲のようにぼやけています。" +"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " +"you wouldn't need to pay at all!" +msgstr "既に壊れています。お金を使う前によく考えましょう。もっと壊せば、商品がタダで手に入るかもしれませんよ?" #. ~ Description for vehicle refrigerator #: lang/json/furniture_from_json.py @@ -82561,7 +86640,16 @@ msgstr "魔法陣" msgid "" "This is a rough magic circle, carved into the ground and decorated with " "blood, candles, and other small knick-knacks." -msgstr "地面に刻まれた荒い作りの魔法陣は、血や蝋燭、その他の小物類で彩られています。" +msgstr "地面に刻まれた荒い作りの魔法陣は、血やろうそく、その他の小物類で彩られています。" + +#: lang/json/furniture_from_json.py +msgid "large glowing boulder" +msgstr "輝く大岩" + +#. ~ Description for large glowing boulder +#: lang/json/furniture_from_json.py +msgid "Something about this doesn't look right." +msgstr "これが存在する場合はバグが発生しています。" #: lang/json/furniture_from_json.py msgid "krash!" @@ -82592,7 +86680,7 @@ msgstr "門を開きました!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You turn the handle..." +msgid "You turn the handle…" msgstr "ハンドルを回しました..." #. ~ 'close' action message of some gate object. @@ -82612,7 +86700,7 @@ msgstr "納屋のドアを開きました!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You pull the rope..." +msgid "You pull the rope…" msgstr "ロープを引っ張りました..." #. ~ 'close' action message of some gate object. @@ -82647,7 +86735,7 @@ msgstr "ドアが上に開きました!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You throw the lever..." +msgid "You throw the lever…" msgstr "レバーを操作しました..." #. ~ 'close' action message of some gate object. @@ -82770,7 +86858,7 @@ msgid "Fake gun that fires acid globs." msgstr "酸溜まりを発射するフェイクアイテムです。" #: lang/json/gun_from_json.py lang/json/gunmod_from_json.py -#: src/item_factory.cpp src/turret.cpp +#: src/item_factory.cpp msgid "auto" msgstr "オート" @@ -82831,7 +86919,7 @@ msgstr[0] "セルフボウ" msgid "" "A primitive bow fashioned from a single piece of wood, made specifically for" " the person using it. Weak and wildly inaccurate, it doesn't work that " -"well, unfortunately..." +"well, unfortunately…" msgstr "一本の木材から特別にあつらえた、原始的な弓です。残念ながら、威力が低く精密性も期待できません..." #: lang/json/gun_from_json.py @@ -83001,9 +87089,7 @@ msgid "" msgstr "" "隠し持てるほど小さい拳銃型のクロスボウです。小ささと引きの弱さに見合った非力な武器ですが、小動物を狩るにはうってつけです。放たれたボルトは消滅しなければ再利用が可能です。" -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "pistol" msgstr "ハンドガン" @@ -83248,10 +87334,10 @@ msgstr[0] "ライフル(水素/PPA-5)" #: lang/json/gun_from_json.py msgid "" "Portable Plasma Accelerator Model Five, developed by Lockheed Martin " -"Corporation. This device uses highly advanced capacitor banks to create a " -"torus of superheated hydrogen plasma and accelerate it to incredible speed. " -"It was designed to take down heavy vehicles, and was expected to fully enter" -" US Army service not long before the Cataclysm." +"Corporation. This device uses highly advanced capacitor banks to create a " +"torus of superheated hydrogen plasma and accelerate it to incredible speed." +" It was designed to take down heavy vehicles, and was expected to fully " +"enter US Army service not long before the Cataclysm." msgstr "" "ロッキード・マーティン社が開発した、ポータブル・プラズマ・アクセラレーター・モデル5です。高度なコンデンサバンクを利用して円環状の加熱した水素プラズマを生成し、驚くべき速度で撃ち出します。大型車両に搭載するために設計されており、大変動が起きたのは米国陸軍での完全導入直前のことでした。" @@ -83268,8 +87354,7 @@ msgid "" msgstr "" "銃身が3つ連なった自家製の銃器です。.30-06口径弾を装填する銃身が1つあり、残り2つの銃身には散弾を装填します。二連ショットガンから取り外した部品とパイプから作られています。" -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py msgctxt "gun_type_type" msgid "shotgun" msgstr "ショットガン" @@ -83688,8 +87773,8 @@ msgstr[0] "ハンドガン(.22口径/ワルサーP22)" #: lang/json/gun_from_json.py msgid "" -"The Walther P22 is a blowback operated semi-automatic pistol. It is about " -"half the size of most Walthers. It is made mostly with plastic, with the " +"The Walther P22 is a blowback operated semi-automatic pistol. It is about " +"half the size of most Walthers. It is made mostly with plastic, with the " "slide and key components being made of die-cast zinc alloy" msgstr "" "ワルサーP22はブローバック式のセミオートピストルです。一般的なワルサー製銃器の半分ほどのサイズです。部品はほとんどプラスチック製で、スライドと重要な部品のみ亜鉛合金を圧力鋳造して作られています。" @@ -84295,8 +88380,8 @@ msgstr[0] "ライフル(.308口径/M24)" msgid "" "The M24 Sniper is the military and police version of the Remington Model 700" " rifle, M24 being the model name assigned by the United States Army after " -"adoption as their standard sniper rifle in 1988. The M24 is referred to as a" -" 'weapon system' because it consists of not only a rifle, but also a " +"adoption as their standard sniper rifle in 1988. The M24 is referred to as " +"a 'weapon system' because it consists of not only a rifle, but also a " "detachable telescopic sight and other accessories." msgstr "" "M24スナイパーは、レミントンM700ライフルの軍用、警察用モデルです。1988年に標準装備の狙撃銃として採用され、アメリカ陸軍によってM24の名を与えられました。ライフル本体に着脱式のテレスコピックサイトなど様々な装備が付属しているため、「ウェポンシステム」とも呼ばれています。" @@ -84380,7 +88465,7 @@ msgstr[0] "ハンドガン(.32口径/ケルテックP32)" #: lang/json/gun_from_json.py msgid "" "One of Kel-tec's oldest designs, the P32 is a popular option for deep " -"concealment and backup usage. Despite its extreme light weight and small " +"concealment and backup usage. Despite its extreme light weight and small " "size, its .32 ACP chambering makes for good handling and recoil control." msgstr "" "ケルテックが設計した銃の中では歴史が古く、隠匿やバックアップの用途で広く使われています。非常に軽量で小型であるにもかかわらず、.32口径ACP弾の利用によって優れた操作性と反動制御性能を実現しています。" @@ -84446,17 +88531,17 @@ msgstr "" ".38スペシャル弾を使用する、いかにも粗っぽい造りの2連拳銃です。名前こそ「2ショット」ですが、もしかしたら2発撃つ前に壊れてしまうかもしれません。" #: lang/json/gun_from_json.py -msgid "COP .38" -msgid_plural "COP .38" -msgstr[0] "ハンドガン(.38口径/COP)" +msgid "COP .357 Derringer" +msgid_plural "COP .357 Derringers" +msgstr[0] "ハンドガン(.357口径/COP.357デリンジャー)" #: lang/json/gun_from_json.py msgid "" -"The COP .38 is a small, chubby derringer pistol that bears a slight " -"resemblance to the Mossberg Brownie. It has four barrels arranged in a " -"square formation." +"A small, chubby derringer pistol bearing a slight resemblance to the " +"Mossberg Brownie. It uses a rotating firing pin to fire the individual " +"hammers of the four barrels arranged in a square formation." msgstr "" -".38口径COPはモスバーグ・ブラウニーとよく似た、小さくずんぐりした形状のデリンジャーピストルです。4つの銃身が正方形に並んで配置されています。" +"モスバーグ・ブラウニーに少し似ている、小さくずんぐりした形のデリンジャーピストルです。回転する撃針で正方形に並んだ4つの銃身を順に叩いて発射します。" #: lang/json/gun_from_json.py msgid "pipe rifle: .38 Special" @@ -84485,17 +88570,6 @@ msgid "" " sight and a reinforced frame." msgstr "7発の弾薬を装填できるSmith & Wesson社製の.38口径リボルバーです。固定リアサイトと強化フレームを備えています。" -#: lang/json/gun_from_json.py -msgid "Taurus Pro .38" -msgid_plural "Taurus Pro .38" -msgstr[0] "ハンドガン(.38口径/タウルスPro)" - -#: lang/json/gun_from_json.py -msgid "" -"A popular .38 pistol. Designed with numerous safety features and built from" -" high-quality, durable materials." -msgstr ".38口径拳銃の定番です。多くの安全機構を備え、高品質な素材を使用して強度を高めてあります。" - #: lang/json/gun_from_json.py msgid "MAC-11" msgid_plural "MAC-11s" @@ -84563,12 +88637,23 @@ msgstr[0] "ハンドガン(.380口径/ハイポイントCF-380)" msgid "" "The Hi-Point CF-380 is a blowback operated semi automatic pistol designed by" " Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" "Hi-Point " "Firearms社が開発したブローバック式セミオートピストルです。この企業は安価な小火器を製造することと、製造した銃器が嵩張り扱い辛いことで有名です。鋼鉄製に比べて壊れやすい鋳造亜鉛スライドが使われています。" +#: lang/json/gun_from_json.py +msgid "Taurus Spectrum" +msgid_plural "Taurus Spectrum" +msgstr[0] "ハンドガン(.380口径/タウルススペクトラム)" + +#: lang/json/gun_from_json.py +msgid "" +"A .380 subcompact pistol. Designed for concealed carry and built from high-" +"quality, durable materials." +msgstr ".380口径の準小型ピストルです。隠し持つ用途で設計されており、高品質で耐久性の高い素材で作られています。" + #: lang/json/gun_from_json.py msgid "M1911A1" msgid_plural "M1911A1s" @@ -84657,9 +88742,9 @@ msgstr[0] "ハンドガン(.40口径/ブローニングハイパワーS #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in .40 S&W." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in .40 S&W." msgstr "" "ブローニングハイパワーは第二次世界大戦直前に開発されたセミオートピストルです。それ以来多数が流通し、インドやカナダ、オーストラリアで使われ続けています。これはブローニング・アームズ社が製造した民生品で、.40口径S&W弾を装填します。" @@ -84685,11 +88770,12 @@ msgstr[0] "ハンドガン(.40口径/ハイポイントJCP)" msgid "" "The Hi-Point Model JCP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" -"Hi-Point " -"Firearms社が開発したブローバック式セミオートピストルです。この企業は安価な小火器を製造することと、製造した銃器が嵩張り扱い辛いことで有名です。鋼鉄製に比べて壊れやすい鋳造亜鉛スライドが使われています。" +"ハイポイントモデルJCPは、Hi-Point " +"Firearms社が開発したブローバック式セミオートピストルです。この企業は安価かつ嵩張って扱い辛い小型の銃を製造することで有名です。鋼鉄製に比べて壊れやすい鋳造亜鉛スライドが使われています。" #: lang/json/gun_from_json.py msgid "tube 40mm launcher" @@ -85041,11 +89127,12 @@ msgstr[0] "ハンドガン(.40口径/ハイポイントJHP)" msgid "" "The Hi-Point Model JHP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" -"Hi-Point " -"Firearms社が開発したブローバック式セミオートピストルです。この企業は安価な小火器を製造することと、製造した銃器が嵩張り扱い辛いことで有名です。鋼鉄製に比べて壊れやすい鋳造亜鉛スライドが使われています。" +"ハイポイントモデルJHPは、Hi-Point " +"Firearms社が開発したブローバック式セミオートピストルです。この企業は安価かつ嵩張って扱い辛い小型の銃を製造することで有名です。鋼鉄製に比べて壊れやすい鋳造亜鉛スライドが使われています。" #: lang/json/gun_from_json.py msgid "Taurus Raging Bull" @@ -85238,7 +89325,7 @@ msgid "" msgstr "" "ブローニングM2重機関銃を肩付けまたは腰溜めで撃てるよう多少無理矢理に改造した.50口径ライフルです。連射機構は潰されており、ベルト給弾機構は小型の単発式機構に改造されています。" -#: lang/json/gun_from_json.py src/item_factory.cpp src/turret.cpp +#: lang/json/gun_from_json.py src/item_factory.cpp msgid "manual" msgstr "手動" @@ -85999,9 +90086,9 @@ msgstr[0] "ハンドガン(9mm/ブローニングハイパワー)" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in 9x19mm Parabellum." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in 9x19mm Parabellum." msgstr "" "ブローニングハイパワーは第二次世界大戦直前に開発されたセミオートピストルです。それ以来多数が流通し、インドやカナダ、オーストラリアで使われ続けています。これはブローニング・アームズ社が製造した民生品で、9x19mmパラベラム弾を装填します。" @@ -86013,8 +90100,8 @@ msgstr[0] "ハンドガン(9mm/ワルサーP38)" #: lang/json/gun_from_json.py msgid "" "The Walther P38 is a semi-automatic handgun adopted shortly before the " -"second world war. Developed due to the high production costs of its " -"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " +"second world war. Developed due to the high production costs of its " +"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " "This early DA/SA locked-breech design would introduce features later seen on" " more modern firearms such as the Beretta 92 series, and served Germany " "until 2004." @@ -86030,7 +90117,7 @@ msgstr[0] "ハンドガン(9mm/ワルサーPPQ)" msgid "" "The Walther PPQ is a semi-automatic pistol originating from the Walther " "P99QA, and maintains compatibility with some of its predecessor's " -"accessories. This model is chambered in 9x19mm Parabellum." +"accessories. This model is chambered in 9x19mm Parabellum." msgstr "" "ワルサーPPQはワルサーPPQAの後継となるセミオートピストルで、先代の付属品との互換性を一部維持しています。このモデルは9x19mmパラベラム弾を装填します。" @@ -86043,11 +90130,11 @@ msgstr[0] "ハンドガン(9mm/ハイポイントC-9)" msgid "" "The Hi-Point C-9 is a blowback operated semi automatic pistol designed by " "Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" -"Hi-Point " -"Firearms社が開発したブローバック式セミオートピストルです。この企業は安価な小火器を製造することと、製造した銃器が嵩張り扱い辛いことで有名です。鋼鉄製に比べて壊れやすい鋳造亜鉛スライドが使われています。" +"ハイポイントC-9は、Hi-Point " +"Firearms社が開発したブローバック式セミオートピストルです。この企業は安価かつ嵩張って扱い辛い小型の銃を製造することで有名です。鋼鉄製に比べて壊れやすい鋳造亜鉛スライドが使われています。" #: lang/json/gun_from_json.py msgid "CZ-75" @@ -86057,10 +90144,10 @@ msgstr[0] "ハンドガン(9mm/CZ-75)" #: lang/json/gun_from_json.py msgid "" "The CZ-75 is a semi-automatic pistol developed in Czechoslovakia, and is one" -" of the original wonder nines. Though designed for export to western " +" of the original wonder nines. Though designed for export to western " "countries, it was declared a state secret; lack of international patent " "protection meant that many clones and variants were produced and distributed" -" around the world, with Česká zbrojovka only joining in the 90's. This " +" around the world, with Česká zbrojovka only joining in the 90's. This " "pistol remains wildly popular among competition shooters." msgstr "" "チェコスロバキアで開発されたセミオートピストルであり、ワンダーナインと呼ばれていた銃の一つです。西側諸国への輸出品として開発されましたが、設計は国家機密でした。しかしチェコスロバキアは90年代まで国際特許の枠組みに参加していなかったため、様々な模造品や改造品が世界中で開発され流通しました。射撃競技選手に大人気の銃です。" @@ -86073,10 +90160,10 @@ msgstr[0] "ハンドガン(9mm/ワルサーCCP)" #: lang/json/gun_from_json.py msgid "" "The Walther CCP is a gas-delayed blowback semi-automatic pistol intended for" -" the concealed carry consumer market. Internally, it is nearly identical to " -"the cult classic H&K P7. Its fixed barrel design makes it potentially more " -"accurate than many other pistols, though this may difficult to realize with " -"its average trigger and short sight radius." +" the concealed carry consumer market. Internally, it is nearly identical to" +" the cult classic H&K P7. Its fixed barrel design makes it potentially more" +" accurate than many other pistols, though this may difficult to realize with" +" its average trigger and short sight radius." msgstr "" "銃器を隠して携帯したい人向けに販売される、ガス遅延式ブローバック方式のセミオートピストルです。内部構造はカルト的人気を誇ったH&K " "P7とほぼ同じです。銃身が安定するデザインのため大抵のハンドガンより精度は高くなる傾向にありますが、標準のトリガーと短い射程距離では実感し辛いかもしれません。" @@ -87489,10 +91576,61 @@ msgstr[0] "魔法のコンポジットボウ" #: lang/json/gun_from_json.py msgid "" -"A bow made of multiple materials to maximize energy efficiency. There are " +"A bow made of multiple materials to maximize energy efficiency. There are " "two Druid runes embedded at the tips." msgstr "複数の素材を組み合わせてエネルギー効率を高めた弓です。両端に一つずつドルイドのルーンが埋め込まれています。" +#: lang/json/gun_from_json.py +msgid "M47A1 Techno-Medusa" +msgid_plural "M47A1 Techno-Medusae" +msgstr[0] "ハンドガン(M47A1テクノ-メデューサ)" + +#: lang/json/gun_from_json.py +msgid "" +"A magically-enhanced update to the Phillips & Rodgers' M47 Medusa, a multi-" +"caliber revolver aimed at survivalists. While Technomancy improves the " +"reliability with smaller cartridges, it is not as accurate as dedicated " +"caliber revolvers due to freebore." +msgstr "" +"フィリップ&ロジャース社のM47メデューサに魔法のような改造を加えた、サバイバー向けの多口径対応リボルバーです。テクノマンサーはより小さい弾薬を使うことで信頼性を向上させていますが、薬室にフリーボアを設けているため、一般的なリボルバーほど正確ではありません。" + +#: lang/json/gun_from_json.py +msgid "gunblade" +msgid_plural "gunblades" +msgstr[0] "ショットガン(ガンブレード)" + +#: lang/json/gun_from_json.py +msgid "" +"Constructed similarly to a falcata, this forward-sloping blade has a short-" +"barrel pump shotgun attached to the blade's spine for finishing blows or a " +"first strike." +msgstr "" +"ファルカタのような形状の湾曲したブレードの背には、とどめの一撃もしくは先制攻撃に用いる銃身の短いポンプアクション式ショットガンが取り付けられています。" + +#: lang/json/gun_from_json.py +msgid "shotcestus" +msgid_plural "shotcesti" +msgstr[0] "ショットガン(ショットセスタス)" + +#: lang/json/gun_from_json.py +msgid "" +"A sawn-off double-barrel shotgun mounted on a metal cestus. The lack of a " +"stock to absorb recoil means some strength is required to fire." +msgstr "" +"金属製のセスタスに、銃身を短く切断した二連式ショットガンが取り付けられています。反撃を吸収する銃床がないため、発射にはある程度の筋力が必要です。" + +#: lang/json/gun_from_json.py +msgid "Ichaival" +msgid_plural "Ichaivals" +msgstr[0] "イチイバル" + +#: lang/json/gun_from_json.py +msgid "" +"Ichaival, the bow of Odin. Rumored to fire 10 arrows with every pull of the" +" string. It has gold and silver ornaments on it, as well as an ornate " +"Raven." +msgstr "イチイバルと呼ばれるオーディンの弓です。一度に10の矢を放つと言われています。カラスを象った金や銀の装飾が施されています。" + #: lang/json/gun_from_json.py msgid "Woodbow" msgid_plural "Woodbows" @@ -87596,11 +91734,6 @@ msgid "" msgstr "" "バネで木製の杭を押し上げて発射する機構の、シンプルな自作クロスボウです。他のクロスボウほど威力は高くない構造ですが、簡単に装填できます。放たれた矢は消滅しなければ再利用が可能です。" -#: lang/json/gun_from_json.py -msgid "Ichaival" -msgid_plural "Ichaivals" -msgstr[0] "イチイバル" - #: lang/json/gun_from_json.py msgid "" "This is a replica of the bow possessed by Odin, Ichaival, which is rumored " @@ -88544,7 +92677,7 @@ msgstr "番えた矢を載せておく土台です。撃ち出された矢の軌 msgid "accessories" msgstr "付属品" -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "bow" msgstr "弓" @@ -88664,7 +92797,7 @@ msgstr[0] "UPSテスト" #: lang/json/gunmod_from_json.py msgid "" "Testmod for UPS drain on mods, this should never spawn, if you see this, " -"it's a bug. 50x more UPS drain." +"it's a bug. 50x more UPS drain." msgstr "" "UPSの電源消費を確認するためのテストMODです。絶対にスポーンしません。デバッグ以外でこのアイテムを入手した場合、何らかのバグが発生しています。UPS電力を50以上消費します。" @@ -88812,8 +92945,8 @@ msgstr[0] "集束レンズ" #: lang/json/gunmod_from_json.py msgid "" -"A set of optics to concentrate the laser beam on a smaller focus point. This" -" increases range and damage output, but complicates targeting." +"A set of optics to concentrate the laser beam on a smaller focus point. " +"This increases range and damage output, but complicates targeting." msgstr "レーザー光線の焦点をより狭い範囲に集中させる光学ツールです。取り付けると射程距離と威力が向上しますが、簡単に照準を付けられなくなります。" #: lang/json/gunmod_from_json.py @@ -88837,7 +92970,7 @@ msgstr[0] "改良型エミッター" #: lang/json/gunmod_from_json.py msgid "" "A set of electronics to optimize emitter workcycle and increase overall " -"energy efficiency. Decreases power consumption." +"energy efficiency. Decreases power consumption." msgstr "レーザー放射装置の作業サイクルを最適化することで全体的なエネルギー効率を高める電子部品です。レーザー兵器の消費電力を低減します。" #: lang/json/gunmod_from_json.py @@ -88851,8 +92984,8 @@ msgstr[0] "高密度コンデンサ" #: lang/json/gunmod_from_json.py msgid "" -"A capacitor with a higher energy density increases range and damage; at the" -" cost of a markedly increased power consumption." +"A capacitor with a higher energy density increases range and damage; at the " +"cost of a markedly increased power consumption." msgstr "より高いエネルギー密度を有するコンデンサは、消費電力の著しい増加と引き換えに射程と威力を強化します。" #: lang/json/gunmod_from_json.py @@ -89061,6 +93194,20 @@ msgid "" msgstr "" "銃口に取り付け、ガスを上向きに排出することで銃口の跳ね上がりを抑制します。反動が減少しますが、体積と発射音が増加し、わずかに精度が下がります。" +#: lang/json/gunmod_from_json.py +msgid "modified muzzle brake" +msgid_plural "modified muzzle brakes" +msgstr[0] "改造マズルブレーキ" + +#: lang/json/gunmod_from_json.py +msgid "" +"A muzzle brake redirects exhaust gases to compensate for muzzle climb, " +"improving recoil but increasing bulk, noise, and reducing accuracy slightly." +" This one was modified and customized to mount on pretty much any firearm " +"other than launchers, if you so want." +msgstr "" +"銃口に取り付け、ガスを上向きに排出することで銃口の跳ね上がりを抑制します。反動が減少しますが、体積と発射音が増加し、精度がわずかに下がります。ランチャー以外のほとんどすべての銃器に取り付けられるように改造されています。" + #: lang/json/gunmod_from_json.py msgid "homemade suppressor" msgid_plural "homemade suppressors" @@ -89191,6 +93338,20 @@ msgstr "長さのある銃器の銃身に取り付けるクロスボウです。 msgid "rail" msgstr "レール" +#: lang/json/gunmod_from_json.py +msgid "modified rail-mounted crossbow" +msgid_plural "modified rail-mounted crossbows" +msgstr[0] "改造レール直装式クロスボウ" + +#: lang/json/gunmod_from_json.py +msgid "" +"A kit to attach a pair of crossbow arms and a firing rail to the barrel of a" +" long firearm. It allows crossbow bolts to be fired. This one was modified" +" and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" +"銃器やクロスボウの先端に取り付けて槍のように扱うこともできる、大型の斬撃武器です。ハンドガンとサブマシンガン以外のほぼすべての銃器に取り付けられるように改造してあります。ピストルとサブマシンガン以外のほとんどすべての銃器に取り付けられるように改造されています。" + #: lang/json/gunmod_from_json.py msgid "offset iron sights" msgid_plural "offset iron sights" @@ -89202,6 +93363,19 @@ msgid "" "other modification prevents use of the primary sights." msgstr "スコープなどの主要な照準MODが利用できない時のための、45度傾けて取り付けられた代替用アイアンサイトです。" +#: lang/json/gunmod_from_json.py +msgid "modified offset iron sights" +msgid_plural "modified offset iron sights" +msgstr[0] "改造アイアンサイト" + +#: lang/json/gunmod_from_json.py +msgid "" +"An alternative set of iron sights mounted at 45° for use when a scope or " +"other modification prevents use of the primary sights. This one was " +"modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" +"スコープなどの主要な照準MODが利用できない時のための、45度傾けて取り付けられた代替用アイアンサイトです。ほとんどすべての銃器に取り付けられるように改造されています。" + #: lang/json/gunmod_from_json.py msgid "offset sight rail" msgid_plural "offset sight rails" @@ -89211,6 +93385,17 @@ msgstr[0] "オフセットサイトレール" msgid "An additional rail set at 45° for attaching a secondary optic." msgstr "追加で光学部品を取り付けるための、45度の角度が付いたレールです。" +#: lang/json/gunmod_from_json.py +msgid "modified offset sight rail" +msgid_plural "modified offset sight rails" +msgstr[0] "改造オフセットサイトレール" + +#: lang/json/gunmod_from_json.py +msgid "" +"An additional rail set at 45° for attaching a secondary optic. This one was" +" modified and customized to mount on pretty much any weapon, if you so want." +msgstr "追加で光学部品を取り付けるための、45度の角度が付いたレールです。ほとんどすべての銃器に取り付けられるように改造されています。" + #: lang/json/gunmod_from_json.py msgid "rail laser sight" msgid_plural "rail laser sights" @@ -89221,8 +93406,7 @@ msgid "" "A small visible-light laser that mounts on a firearm's accessory rail to " "enhance ease and speed of target acquisition. Aside from increased weight, " "there are no drawbacks." -msgstr "" -"レールに取り付ける、肉眼でも見える可視光レーザー発振器です。アンダーバレルに取り付けるものよりやや小型です。目標を素速く容易に照準できるようになります。重量は増えますが、他に欠点はありません。" +msgstr "レールに取り付ける小型の可視光レーザー発振器です。標的を素速く簡単に照準できるようになります。重量は増えますが、他に欠点はありません。" #: lang/json/gunmod_from_json.py msgid "gyroscopic stabilizer" @@ -89235,6 +93419,20 @@ msgid "" "vibration, greatly reducing recoil and slightly increasing accuracy." msgstr "銃の側面に取り付けることで振動を軽減する先進的な装備です。反動が大幅に軽減され、精度が若干向上します。" +#: lang/json/gunmod_from_json.py +msgid "modified gyroscopic stabilizer" +msgid_plural "modified gyroscopic stabilizers" +msgstr[0] "改造ジャイロスタビライザー" + +#: lang/json/gunmod_from_json.py +msgid "" +"An advanced unit that straps onto the side of your firearm and reduces " +"vibration, greatly reducing recoil and slightly increasing accuracy. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" +"銃の側面に取り付けることで振動を軽減する先進的な装備です。反動が大幅に軽減され、精度が若干向上します。ハンドガン以外のほとんどすべての銃器に取り付けられるように改造されています。" + #: lang/json/gunmod_from_json.py msgid "LW gyroscopic stabilizer" msgid_plural "LW gyroscopic stabilizers" @@ -89307,7 +93505,7 @@ msgstr "基本的なアイアンサイトです。" #: lang/json/gunmod_from_json.py msgid "pistol scope" msgid_plural "pistol scopes" -msgstr[0] "スコープ(ハンドガン)" +msgstr[0] "ピストルスコープ" #: lang/json/gunmod_from_json.py msgid "" @@ -89329,7 +93527,7 @@ msgstr "アイアンサイトを取り外して光学式ドットサイトを搭 #: lang/json/gunmod_from_json.py msgid "rifle scope" msgid_plural "rifle scopes" -msgstr[0] "スコープ(ライフル)" +msgstr[0] "ライフルスコープ" #: lang/json/gunmod_from_json.py msgid "" @@ -89337,6 +93535,20 @@ msgid "" " mrad increments and is remarkably small and light for its magnification." msgstr "3-18x44mmのライフルスコープです。偏差修正と仰角を1/10mmラジアン単位で調整でき、高倍率ながら非常に小さく軽量です。" +#: lang/json/gunmod_from_json.py +msgid "modified rifle scope" +msgid_plural "modified rifle scopes" +msgstr[0] "改造ライフルスコープ" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 3-18x44 rifle scope. It is adjustable for windage and elevation in 1/10th" +" mrad increments and is remarkably small and light for its magnification. " +"This one was modified and customized to mount on pretty much any weapon " +"other than pistols and SMGs, if you so want." +msgstr "" +"3-18x44mmのライフルスコープです。偏差修正と仰角を1/10mmラジアン単位で調整でき、高倍率ながら非常に小さく軽量です。ハンドガンとサブマシンガン以外のほぼすべての銃器に取り付けられるように改造してあります。" + #: lang/json/gunmod_from_json.py msgid "ACOG scope" msgid_plural "ACOG scopes" @@ -89348,10 +93560,23 @@ msgid "" "crosshair." msgstr "トリチウム塗料で蛍光十字線が引かれた、4x32mmのTA01高度戦闘光学照準器です。" +#: lang/json/gunmod_from_json.py +msgid "modified ACOG scope" +msgid_plural "modified ACOG scopes" +msgstr[0] "改造ACOGスコープ" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 4x32 TA01 Advanced Combat Optical Gunsight with a tritium illuminated " +"crosshair. This one was modified and customized to mount on pretty much any" +" weapon other than pistols, if you so want." +msgstr "" +"トリチウム塗料で蛍光十字線が引かれた、4x32mmのTA01高度戦闘光学照準器です。ほとんどすべての銃器に取り付けられるように改造されています。" + #: lang/json/gunmod_from_json.py msgid "RS1219 scope" msgid_plural "RS1219 scopes" -msgstr[0] "スコープ(RS1219)" +msgstr[0] "RS1219スコープ" #: lang/json/gunmod_from_json.py msgid "" @@ -89368,9 +93593,11 @@ msgstr[0] "テレスコピックサイト" #: lang/json/gunmod_from_json.py msgid "" -"A simple telescopic sight, essentially a small telescope with crosshairs. " -"Increases weight but improves accuracy." -msgstr "簡素な作りのテレスコピックサイトは、簡単に言えば十字線の入った望遠鏡です。取り付けると重量が増加しますが、精度が向上します。" +"A simple hand-crafted telescopic sight, essentially a small telescope with " +"crosshairs. Not as good as the ones made before the cataclysm. Increases " +"weight but improves accuracy." +msgstr "" +"簡素な作りのテレスコピックサイトは、要は十字線が入った望遠鏡です。大変動以前に作られたものほど性能は良くありません。取り付けると重量が増加しますが、精度が向上します。" #: lang/json/gunmod_from_json.py msgid "telescopic pistol sight" @@ -89524,6 +93751,21 @@ msgid "" msgstr "" "二脚は銃口を停止させ、ブレを減らすためにライフルやマシンガンに取り付けます。反動が大幅に減少しますが、特定の地形上でなければ効果を発揮せず、装備にかかる時間も長くなります。" +#: lang/json/gunmod_from_json.py +msgid "modified bipod" +msgid_plural "modified bipods" +msgstr[0] "改造二脚" + +#: lang/json/gunmod_from_json.py +msgid "" +"Bipods are commonly used on rifles and machine guns to provide a forward " +"rest and reduce motion. Although they greatly improve handling of recoil " +"they are usable only on certain surfaces and are slow to equip. This one " +"was modified and customized to mount on pretty much any weapon, if you so " +"want." +msgstr "" +"二脚は銃口を停止させ、ブレを減らすためにライフルやマシンガンに取り付けます。反動が大幅に減少しますが、特定の地形上でなければ効果を発揮せず、装備にかかる時間も長くなります。ほとんどすべての銃器に取り付けられるように改造されています。" + #: lang/json/gunmod_from_json.py msgid "combination gun shotgun" msgid_plural "combination gun shotguns" @@ -89557,6 +93799,19 @@ msgid "" "effective as a bipod but usable under all conditions." msgstr "銃をより安定して制御するための、銃身の前方に取り付けるグリップです。二脚よりも効果は落ちますが、どんな条件下でも使用できます。" +#: lang/json/gunmod_from_json.py +msgid "modified forward grip" +msgid_plural "modified forward grips" +msgstr[0] "改造フォワードグリップ" + +#: lang/json/gunmod_from_json.py +msgid "" +"A grip placed forward on the barrel allows for greater control. Not as " +"effective as a bipod but usable under all conditions. This one was modified" +" and customized to mount on pretty much any weapon, if you so want." +msgstr "" +"銃をより安定して制御するための、銃身の前方に取り付けるグリップです。二脚よりも効果は落ちますが、どんな条件下でも使用できます。ほとんどすべての銃器に取り付けられるように改造されています。" + #: lang/json/gunmod_from_json.py msgid "integrated bayonet" msgid_plural "integrated bayonets" @@ -89591,8 +93846,7 @@ msgid "" "A visible-light laser that mounts under a firearm's barrel to enhance ease " "and speed of target acquisition. Aside from increased weight, there are no " "drawbacks." -msgstr "" -"アンダーバレルに取り付ける、肉眼でも見える可視光レーザー発振器です。目標を素速く容易に照準できるようになります。重量は増えますが、他に欠点はありません。" +msgstr "アンダーバレルに取り付ける可視光レーザー発振器です。標的を素速く簡単に照準できるようになります。重量は増えますが、他に欠点はありません。" #: lang/json/gunmod_from_json.py msgid "LeMat revolver shotgun" @@ -89618,6 +93872,20 @@ msgid "" msgstr "" "M203は本来M16系のアサルトライフル用に設計された追加装備でしたが、今ではほとんど全てのライフルに対応しています。40mm擲弾を1発ずつ発射することができます。" +#: lang/json/gunmod_from_json.py +msgid "modified M203" +msgid_plural "modified M203s" +msgstr[0] "改造グレネードランチャー(M203)" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M203 was originally designed for use with M16 variants but today can be " +"attached to almost any rifle. It allows a single 40mm grenade to be loaded " +"and fired. This one was modified and customized to mount on pretty much any" +" weapon other than pistols and pump-action guns, if you so want." +msgstr "" +"M203は本来M16系のアサルトライフル用に設計された追加装備でしたが、今ではほとんど全てのライフルに対応しています。40mm擲弾を1発ずつ発射することができます。ハンドガンとポンプアクション式の銃以外のほぼすべての銃器に取り付けられるように改造してあります。" + #: lang/json/gunmod_from_json.py msgid "M320 GLM" msgid_plural "M320 GLM" @@ -89632,6 +93900,21 @@ msgid "" msgstr "" "精度を犠牲にして大型ランチャーの機能をコンパクトにまとめたグレネードランチャーです。基本的には他の銃器に取り付けて使用しますが、銃床を取り付けることで単発式小型グレネードランチャーとして単体で運用することもできます。組み立ては製作メニューから行います。" +#: lang/json/gunmod_from_json.py +msgid "modified M320 GLM" +msgid_plural "modified M320 GLMs" +msgstr[0] "改造グレネードランチャー(M320 GLM)" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M320 Grenade Launcher Module offers the functionality of larger " +"launchers in a very small package at the cost of decreased accuracy. It can" +" be either attached to a rifle or combined with a buttstock for stand alone " +"use. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" +"精度を犠牲にして大型ランチャーの機能をコンパクトにまとめたグレネードランチャーです。基本的には他の銃器に取り付けて使用しますが、銃床を取り付けることで単発式小型グレネードランチャーとして単体で運用することもできます。組み立ては製作メニューから行います。ハンドガンとポンプアクション式の銃以外のほぼすべての銃器に取り付けられるように改造してあります。" + #: lang/json/gunmod_from_json.py msgid "masterkey shotgun" msgid_plural "masterkey shotguns" @@ -89642,7 +93925,21 @@ msgid "" "A minimalist pump action shotgun, which can be mounted under the barrel of " "many rifles. It allows a total of four shotgun shells to be loaded and " "fired." -msgstr "小型化したショットガンです。ライフルの銃身に取り付ける事ができます。4発装填が可能です。" +msgstr "様々なライフルの銃身の下に取り付けられる、小型化したポンプアクション式のショットガンです。4発装填が可能です。" + +#: lang/json/gunmod_from_json.py +msgid "modified masterkey shotgun" +msgid_plural "modified masterkey shotguns" +msgstr[0] "マスターキー・ショットガン" + +#: lang/json/gunmod_from_json.py +msgid "" +"A minimalist pump action shotgun, which can be mounted under the barrel of " +"many rifles. It allows a total of four shotgun shells to be loaded and " +"fired. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" +"様々なライフルの銃身の下に取り付けられる、小型化したポンプアクション式のショットガンです。4発装填が可能です。ハンドガンとポンプアクション式の銃以外のほぼすべての銃器に取り付けられるように改造してあります。" #: lang/json/gunmod_from_json.py msgid "40mm pipe launcher" @@ -89651,9 +93948,9 @@ msgstr[0] "パイプランチャー(40mm)" #: lang/json/gunmod_from_json.py msgid "" -"This is a home built launcher tube that can be attached to almost any rifle." -" It allows a single 40mm grenade to be loaded and fired." -msgstr "自家製擲弾発射器です。ほとんどのライフルに装着でき、立派に役目を果たします。40mm擲弾を1発ずつ発射することができます。" +"This is a home built launcher tube that can be attached to almost any weapon" +" except handguns. It allows a single 40mm grenade to be loaded and fired." +msgstr "ハンドガン以外のほとんどすべての銃器に取り付けられる、自家製擲弾発射器です。40mm擲弾を1発ずつ発射します。" #: lang/json/gunmod_from_json.py msgid "pistol bayonet" @@ -89679,6 +93976,20 @@ msgid "" msgstr "" "Rivtech社のRM121補助武装システムは、様々なライフルのアンダーバレルに装着できる弾倉式セミオートケースレスショットガンですRMSA10箱型弾倉に対応します。" +#: lang/json/gunmod_from_json.py +msgid "modified RM121 aux shotgun" +msgid_plural "modified RM121 aux shotguns" +msgstr[0] "改造補助ショットガン(20x66mm/RM121)" + +#: lang/json/gunmod_from_json.py +msgid "" +"The Rivtech RM121 auxiliary weapon system is a magazine-fed semi-automatic " +"caseless shotgun, which can be mounted under the barrel of many rifles. " +"Accepts RMSA10 box magazines. This one was modified and customized to mount" +" on pretty much any weapon other than pistols, if you so want." +msgstr "" +"Rivtech社のRM121補助武装システムは、様々なライフルのアンダーバレルに装着できる弾倉式セミオートケースレスショットガンですRMSA10箱型弾倉に対応します。ほぼすべての銃器に取り付けられるように改造してあります。" + #: lang/json/gunmod_from_json.py msgid "underslung shotgun" msgid_plural "underslung shotguns" @@ -89688,7 +93999,21 @@ msgstr[0] "アンダーバレル・ショットガン" msgid "" "A short shotgun with 2 barrels, which can be mounted under the barrel of " "many rifles. It allows two shotgun shells to be loaded and fired." -msgstr "小型化したショットガンです。ライフルの銃身に取り付ける事ができます。2発装填が可能です。" +msgstr "様々なライフルの銃身の下に取り付けられる、小型化した銃身の短い二連ショットガンです。2発装填が可能です。" + +#: lang/json/gunmod_from_json.py +msgid "modified underslung shotgun" +msgid_plural "modified underslung shotguns" +msgstr[0] "改造アンダーバレル・ショットガン" + +#: lang/json/gunmod_from_json.py +msgid "" +"A short shotgun with 2 barrels, which can be mounted under the barrel of " +"many rifles. It allows two shotgun shells to be loaded and fired. This one" +" was modified and customized to mount on pretty much any weapon other than " +"pistols, if you so want." +msgstr "" +"様々なライフルの銃身の下に取り付けられる、小型化した銃身の短い二連ショットガンです。2発装填が可能です。ほぼすべての銃器に取り付けられるように改造してあります。" #: lang/json/gunmod_from_json.py msgid "LW underbarrel laser sight" @@ -89699,7 +94024,7 @@ msgstr[0] "LWレーザーサイト(アンダーバレル)" msgid "" "A Leadworks built in visible-light laser that mounts under a firearm's " "barrel to enhance ease and speed of target acquisition." -msgstr "Leadworks社の銃器に内蔵された、アンダーバレルレーザーサイトです。目標の捕捉を助け、照準速度が向上します。" +msgstr "Leadworks社の銃器のアンダーバレルに内蔵された、可視光レーザー発振器です。標的を素速く簡単に照準できるようになります。" #: lang/json/gunmod_from_json.py msgid "LW forward grip" @@ -89941,6 +94266,56 @@ msgid "" msgstr "" "銃身の先端に取り付ける電磁装置の一種です。銃口から発射された飛翔体に対して電磁的な一押しを加え、初速を向上させることで威力と反動が増大し、精度が下がります。発射時にUPSの電力を使用するよう大規模な改造を加えるため、取り付けた銃はUPSが無ければ動作しなくなります。" +#: lang/json/gunmod_from_json.py +msgid "'Silent Winds' suppressor" +msgid_plural "'Silent Winds' suppressors" +msgstr[0] "サプレッサー(サイレントウィンズ)" + +#: lang/json/gunmod_from_json.py +msgid "" +"Rather than using purely wipe media, an additional localized silence spell " +"in this tube quiets gunshots going through to hearing-safe levels." +msgstr "チューブ内に専用の無音化呪文を掛けることで、一般的な消音素材を使わずに銃声を聞き取れないレベルまで小さくします。" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (rail)" +msgid_plural "mana laser sights (rail)" +msgstr[0] "マナレーザーサイト(レール)" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit under the barrel." +msgstr "" +"レールに取り付ける、マナクリスタルを利用した小型の可視光レーザー発振器です。標的を素速く簡単に照準できるようになります。重量は増えますが、他に欠点はありません。部品を動かしてアンダーバレルに取り付けることも可能です。" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (underbarrel)" +msgid_plural "mana laser sights (underbarrel)" +msgstr[0] "マナレーザーサイト(アンダーバレル)" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit on the rail." +msgstr "" +"レールに取り付ける、マナクリスタルを利用した小型の可視光レーザー発振器です。標的を素速く簡単に照準できるようになります。重量は増えますが、他に欠点はありません。部品を動かしてレールに取り付けることも可能です。" + +#: lang/json/gunmod_from_json.py +msgid "mana dot sight" +msgid_plural "mana dot sights" +msgstr[0] "マナドットサイト" + +#: lang/json/gunmod_from_json.py +msgid "" +"Adds a blue dot optic made from crystallized mana to the top of your gun, " +"replacing the iron sights. Increases accuracy and weight." +msgstr "アイアンサイトを取り外し、マナクリスタルで作った光学式ブルードットサイトを搭載します。精度が向上し、重量が増加します。" + #: lang/json/gunmod_from_json.py msgid "makeshift pistol bayonet" msgid_plural "makeshift pistol bayonets" @@ -92021,7 +96396,7 @@ msgstr "放射線を測定する" #: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/game_inventory.cpp src/teleport.cpp -msgid "..." +msgid "…" msgstr "..." #: lang/json/item_action_from_json.py @@ -92185,32 +96560,25 @@ msgid "" " up." msgstr "このアイテムは所持していなくても、隣接するタイルに置いてあれば使用/装填できます。" -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the outer aura layer, intended for metaphysical effects." -msgstr "このアイテムは着用物の最も外側に位置する層を抽象的なオーラで包みます。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your outer aura." msgstr "これはオーラ(内)です。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate barometer (which is used to measure " "atmospheric pressure)." msgstr "このアイテムは(大気圧を測定するための)正確な気圧計を備えています。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item can be clipped on to a belt loop of the appropriate " "size." msgstr "このアイテムは適切なサイズのベルト通しに挟んでおくことができます。" -#: lang/json/json_flag_from_json.py -msgid "Layer for backpacks and things worn over outerwear." -msgstr "背負ったり上着の上に着用します。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is strapped onto you." @@ -92223,12 +96591,6 @@ msgid "" " properly." msgstr "仲間に適切に移植されている場合、CBMが使用可能です。" -#: lang/json/json_flag_from_json.py -msgid "" -"Blinds the wearer while worn, and provides nominal protection vs flashbang " -"flashes." -msgstr "着用者の視界を塞ぎ、閃光から目を保護することができます。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear prevents you from seeing anything." @@ -92318,12 +96680,6 @@ msgstr "このアイテムは、食料かどうかにかかわらず、タイマ msgid "You can wear only one." msgstr "1個のみ着用できます。" -#: lang/json/json_flag_from_json.py -msgid "" -"Wearing this clothing gives a morale bonus if the player has the Stylish " -"trait." -msgstr "お洒落の特質を持っている場合、着用すると意欲が増加します。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This piece of clothing is fancy." @@ -92354,21 +96710,11 @@ msgstr "このアイテムは遠視を矯正します。" msgid "This gear corrects nearsightedness." msgstr "このアイテムは近視を矯正します。" -#: lang/json/json_flag_from_json.py -msgid "" -"Zombie-dropped clothing giving various penalties if Filthy mod is active. " -"Also CBMs harvested from zombies." -msgstr "「変更 - 不潔な着用アイテム」MODが有効の場合にゾンビが落とす衣類や解体によって入手できるCBMです。様々なペナルティが付いています。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This item is filthy." msgstr "このアイテムは不潔です。" -#: lang/json/json_flag_from_json.py -msgid "Used for eyes protection from flashbang." -msgstr "強い閃光から目を保護します。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92402,39 +96748,20 @@ msgid "" "your head is unencumbered." msgstr "この衣服には頭を暖めるフードが付いています。嵩張る頭用防具を外すことで効果を発揮します。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate hygrometer (which is used to measure " "humidity)." msgstr "このアイテムは(大気中の湿度を測定するための)正確な湿度計を備えています。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item is a component of the gun it is attached to. It can't be removed " "without destroying it." msgstr "このアイテムは銃器と統合されています。銃器を破壊せずに取り外すことはできません。" -#: lang/json/json_flag_from_json.py -msgid "Item can never be used with a CVD machine." -msgstr "このアイテムはCVD装置で加工できません。" - -#: lang/json/json_flag_from_json.py -msgid "" -"Don't offer to draw items from this holster when the fire key is pressed " -"whilst the player's hands are empty." -msgstr "何も装備していない時に射撃キーを押した場合、このホルスターから武器を引き抜きません。" - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents repairing of this item even if otherwise suitable tools exist." -msgstr "適切な道具を所持していてもこのアイテムを修復することはできません。" - -#: lang/json/json_flag_from_json.py -msgid "" -"forces calories and vitamins to be the ones defined in the json, instead of " -"inheriting from ingredients" -msgstr "カロリーと栄養素を成分から受け継ぐのではなく、jsonで定義されたものにします。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "You could probably plant these." @@ -92449,21 +96776,11 @@ msgstr "" "この食品は 極寒環境以外で溶解し、 " "美味しさ凍結によって向上します。" -#: lang/json/json_flag_from_json.py -msgid "Outer garment layer." -msgstr "上着として着用します。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is generally worn over clothing." msgstr "このアイテムは一般的には上着として着用します。" -#: lang/json/json_flag_from_json.py -msgid "" -"Can always be worn no matter encumbrance/mutations/bionics/etc., but " -"prevents any other clothing being worn over this." -msgstr "動作制限/変異/CBM/その他に関係なく常に着用できますが、この衣服の上層に衣服を着用することはできません。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92471,12 +96788,6 @@ msgid "" "anatomy." msgstr "この衣服は変異した部位に着用できるサイズです。" -#: lang/json/json_flag_from_json.py -msgid "" -"Can be worn comfortably by mutants with Tiny or Unassuming. Too small for " -"anyone else." -msgstr "小柄または小型の変異体が快適に着用できます。それ以外の者には小さすぎます。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92484,23 +96795,11 @@ msgid "" "level." msgstr "このアイテムは耳に入るの大きさを安全なレベルまで減少します。" -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the personal aura layer, intended for metaphysical " -"effects." -msgstr "このアイテムは着用物の最も内側に位置する層を抽象的なオーラで包みます。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your personal aura." msgstr "これはオーラ(内)です。" -#: lang/json/json_flag_from_json.py -msgid "" -"Increases warmth for hands if the player's hands are cold and the player is " -"wielding nothing." -msgstr "両手に何も装備していなければ、寒い時に手を暖めます。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92508,17 +96807,6 @@ msgid "" "wielding nothing." msgstr "この衣服には両手を暖めるポケットがあり、両手に何も装備していない状態で効果を発揮します。" -#: lang/json/json_flag_from_json.py -msgid "" -"If turned ON, it uses its own source of power, instead of relying on power " -"of the user." -msgstr "オンにすると、使用者の電力に頼らず内部電源で動作します。" - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "25% chance to protect against fear_paralyze monster attack." -msgstr "モンスターからの攻撃fear_paralyzeを防御する確率は25%です。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear keeps out the mind control rays." @@ -92550,27 +96838,12 @@ msgstr "このアイテムの着用時は慎重にバランスをとる必要が msgid "This item can be used to communicate with radio waves." msgstr "このアイテムは電波を使って通信します。" -#: lang/json/json_flag_from_json.py -msgid "Prevents the covered body-part(s) from getting wet in the rain." -msgstr "覆っている部位が雨によって濡れるのを防止します。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This piece of clothing is designed to keep you dry in the rain." msgstr "この衣服は雨の中でも濡れ状態を防ぐ効果があります。" -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the player from wielding a weapon two-handed, forcing one-handed " -"use if the weapon permits it." -msgstr "両手持ちの武器を装備できず、可能であれば強制的に片手持ちで装備します。" - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from participating in the encumbrance system when worn." -msgstr "着用時にアイテムが動作制限の計算に含まれないようにします。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92578,26 +96851,6 @@ msgid "" " other things when worn." msgstr "実体がないように見えますが、着用時は他のアイテムと同じように存在するものとして扱われます。" -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sheath of the appropriate size." -msgstr "このアイテムは適切なサイズの鞘に収納することができます。" - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a scabbard of the appropriate size." -msgstr "このアイテムは大型の鞘に収納することができます。" - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sling of the appropriate size." -msgstr "このアイテムは適切なサイズの吊り紐に収納できます。" - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a bag of the appropriate size." -msgstr "このアイテムは適切なサイズのバッグに収納できます。" - -#: lang/json/json_flag_from_json.py -msgid "Undergarment layer." -msgstr "下着として着用します。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing lies close to the skin." @@ -92621,30 +96874,16 @@ msgid "" "lot of abuse." msgstr "この衣服は着用者を防御し、また丈夫に作られています。" -#: lang/json/json_flag_from_json.py -msgid "Prevents glaring when in sunlight." -msgstr "日光から目を保護します。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing keeps the glare out of your eyes." msgstr "この衣服は眩しさから目を保護します。" -#: lang/json/json_flag_from_json.py -msgid "" -"Gives an additional moral bonus over FANCY if the player has the Stylish " -"trait." -msgstr "お洒落の特質を持っている場合、着用すると意欲が大幅に増加します。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing is very fancy." msgstr "この衣服はとてもお洒落です。" -#: lang/json/json_flag_from_json.py -msgid "Allows you to see much further under water." -msgstr "水中でより広い視界を確保できます。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92652,44 +96891,21 @@ msgid "" "water." msgstr "この衣服は水中での視界を拡大します。" -#: lang/json/json_flag_from_json.py -msgid "" -"This gear is equipped with an accurate thermometer (which is used to measure" -" temperature)." -msgstr "このアイテムは(大気中の温度を測定するための)正確な温度計を備えています。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is equipped with an accurate thermometer." msgstr "このアイテムは精密な温度計を備えています。" -#: lang/json/json_flag_from_json.py -msgid "Can be made to fit via tailoring." -msgstr "適合するサイズに仕立て直すことができます。" - -#: lang/json/json_flag_from_json.py -msgid "Layer for belts and other things worn on the waist." -msgstr "ベルトなどのように腰に着用します。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is worn on or around your waist." msgstr "このアイテムは腰回りに着用します。" -#: lang/json/json_flag_from_json.py -msgid "Acts as a watch and allows the player to see actual time." -msgstr "時計機能が付いており、現在の時刻を確認できます。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear allows to see actual time." msgstr "このアイテムは精密な時計を備えています。" -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the covered body-part(s) from getting wet in any circumstance." -msgstr "覆っている部位があらゆる原因によって濡れるのを防止します。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92697,12 +96913,6 @@ msgid "" "river or something like that." msgstr "この衣服は防水性があります。川などに飛び込まない限り。" -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from making the body part count as unfriendly to water and" -" thus causing negative morale from being wet." -msgstr "覆っている部位が濡れた時に、意欲が減少するのを防止します。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92739,11 +96949,6 @@ msgid "" "overall warmth." msgstr "この衣服は裏地に毛皮を縫い込んであり、被覆部位の暖かさ増加させます。" -#: lang/json/json_flag_from_json.py -msgid "" -"Allows wielding with unarmed fighting styles and trains unarmed when used." -msgstr "素手の戦闘スタイルとして適用され、使うと素手格闘のスキルが成長します。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92756,108 +96961,27 @@ msgstr "この武器は素手格闘として適用さ msgid "This item contains a nanofabricator recipe." msgstr "このアイテムにはナノ製作レシピが入っています。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "This bionic is a faulty bionic." -msgstr "このCBMは不良品です。" - -#: lang/json/json_flag_from_json.py -msgid "This bionic is a power source bionic." -msgstr "このCBMは動力源です。" - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic only has a function when activated, else it causes its effect " -"every turn." -msgstr "このCBMは、有効化したときのみ機能するか、あるいは毎ターン効果を発揮します。" - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a gun bionic and activating it will fire it. Prevents all " -"other activation effects." -msgstr "このCBMは銃器として機能し、起動すると発射します。他のあらゆる起動効果に優先して発動します。" +msgid "This bionic is faulty." +msgstr "このCBMは故障しています。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a weapon bionic and activating it will create (or destroy) " -"bionic's fake_item in user's hands. Prevents all other activation effects." -msgstr "このCBMは武器として機能し、起動すると疑似アイテムを生成して装備(あるいは消去)します。他のあらゆる起動効果に優先して発動します。" +msgid "This bionic provides power." +msgstr "このCBMは電力を供給します。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This bionic can provide power to powered armor." msgstr "このCBMはパワーアーマーに電力を供給します。" -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's effects permanent." -msgstr "呪文が必ず発動します。" - -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's Area of Effect ignore walls." -msgstr "呪文の効果範囲は壁を無視します。" - -#: lang/json/json_flag_from_json.py -msgid "You can cast spells with this item in your hand." -msgstr "このアイテムを装備して呪文を詠唱できます。" - -#: lang/json/json_flag_from_json.py -msgid "" -"This makes the spell's summoned monster always hostile. Note that the spell" -" needs to be a summon spell for this to do anything." -msgstr "呪文によって召喚したモンスターが必ず敵対します。召喚効果をもつ呪文以外には効果はありません。" - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "" -"This makes the spell's summoned monster hostile 50% of the time. Note that " -"the spell needs to be a summon spell for this to do anything." -msgstr "呪文によって召喚したモンスターが50%の確率で敵対します。召喚効果をもつ呪文以外には効果はありません。" - -#: lang/json/json_flag_from_json.py -msgid "The spell makes no sound at its point of impact." -msgstr "発動しても呪文の効果範囲内で音は発生しません。" - -#: lang/json/json_flag_from_json.py -msgid "This spell is much louder at its point of impact." -msgstr "呪文の効果範囲の中心ほど大きな音が発生します。" - -#: lang/json/json_flag_from_json.py -msgid "" -"The caster must speak in order to cast the spell. More mouth encumbrannce " -"increases failure percent, and the caster speaks when casting." -msgstr "声を出して呪文を詠唱することで発動します。口の動作制限が高いほど失敗率が上昇し、詠唱中は声を出します。" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell requires arm movement to cast. Arm encumbrance affects failure " -"percentage and casting time." -msgstr "腕を動かして呪文を詠唱することで発動します。腕の動作制限が高いほど失敗率が上昇し、詠唱時間も長くなります。" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell does not require hands in order to cast it. Encumbrance penalties" -" on hands are nullified." -msgstr "呪文詠唱に手を使いません。詠唱時の手の動作制限にペナルティはありません。" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell does not require leg movement in order to be cast. All " -"encumbrance penalties for legs are nullified." -msgstr "呪文詠唱に脚を使いません。詠唱時の脚の動作制限にペナルティはありません。" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell requires focus to cast. The lower your focus, the higher failure" -" rate to cast." -msgstr "集中して呪文を詠唱する必要があります。集中力が低いほど失敗率が上昇します。" - +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" -"Chooses a spell at random to cast from extra_effects. See MAGIC.md for " -"details" -msgstr "詠唱する呪文をextra_effectsからランダムに選択します。詳細についてはMAGIC.mdを参照してください。" - -#: lang/json/json_flag_from_json.py -msgid "This mutation does not count toward thresholds at all." -msgstr "この変異は閾値にカウントされません。" +"This food is unappetizing in a way that can't be covered up " +"by most cooking." +msgstr "この食料は調理が無意味なほどに不味いです。" #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py @@ -93262,6 +97386,10 @@ msgstr "次のレベル" msgid "Previous level" msgstr "前のレベル" +#: lang/json/keybinding_from_json.py +msgid "Reset level" +msgstr "レベルリセット" + #: lang/json/keybinding_from_json.py msgid "Undo move" msgstr "元に戻す" @@ -93278,10 +97406,6 @@ msgstr "切替/フラグ" msgid "Toggle lights" msgstr "切替/照明" -#: lang/json/keybinding_from_json.py -msgid "Reset level" -msgstr "レベルリセット" - #: lang/json/keybinding_from_json.py msgid "Confirm Choice" msgstr "確定" @@ -93986,6 +98110,10 @@ msgstr "気温マップ" msgid "View Visibility Map" msgstr "可視性マップ" +#: lang/json/keybinding_from_json.py +msgid "View Lighting Map" +msgstr "光量マップ" + #: lang/json/keybinding_from_json.py msgid "View Radiation Map" msgstr "放射能汚染マップ" @@ -93999,7 +98127,7 @@ msgid "Toggle Fullscreen mode" msgstr "切替/全画面モード" #: lang/json/keybinding_from_json.py -msgid "Toggle Pixel Minimap" +msgid "Toggle Minimap" msgstr "切替/ミニマップ表示" #: lang/json/keybinding_from_json.py @@ -94356,6 +98484,7 @@ msgstr "変更を削除" msgid "Load color template" msgstr "読込/色設定テンプレート" +#. ~ translation should not exceed 3 console cells #: lang/json/keybinding_from_json.py lang/json/keybinding_from_json.py #: src/editmap.cpp src/editmap.cpp src/editmap.cpp src/veh_interact.cpp msgid "Yes" @@ -94415,6 +98544,10 @@ msgstr "切替/アラーム" msgid "Toggle atomic lights" msgstr "切替/アトミックライト" +#: lang/json/keybinding_from_json.py +msgid "Control autopiot" +msgstr "自動操縦" + #: lang/json/keybinding_from_json.py msgid "Toggle camera system" msgstr "切替/カメラシステム" @@ -96090,7 +100223,7 @@ msgstr "合気道の構え" msgid "" "By disregarding offensive in favor of self-defense, you are better at " "protecting. Blocked damage reduced by 100%% of Dexterity." -msgstr "護身のために攻撃を捌く、防御性能に優れた構えです。ブロック発動時に器用x100%%のダメージを軽減します。" +msgstr "護身のために攻撃を捌く、防御性能に優れた構えです。ブロック時に器用x100%%のダメージを軽減します。" #: lang/json/martial_art_from_json.py msgid "Intermediate Aikido" @@ -96149,7 +100282,7 @@ msgid "" msgstr "" "堅実な構えで通常より多くのダメージをブロックし、鋭いパンチを繰り出します。\n" "\n" -"打撃与ダメージ+2、ブロック発動時に筋力x50%%のダメージを軽減" +"打撃与ダメージ+2、筋力x50%%のブロック時ダメージ軽減" #: lang/json/martial_art_from_json.py msgid "Footwork" @@ -96412,7 +100545,7 @@ msgid "" msgstr "" "横向きに構えることで、戦闘で負傷する可能性を最小限に抑えます。\n" "\n" -"ブロック発動時に器用x50%%のダメージを軽減" +"器用x50%%のブロック時ダメージ軽減" #. ~ Description for martial art 'Fior Di Battaglia' #: lang/json/martial_art_from_json.py @@ -96437,7 +100570,7 @@ msgid "" msgstr "" "しっかりと地を踏みしめ、どんな脅威に対しても動揺しません。\n" "\n" -"ブロック+2、回避スキル-1.0、ブロック発動時に筋力x50%%のダメージを軽減" +"ブロック+2、回避スキル-1.0、筋力x50%%のブロック時ダメージ軽減" #: lang/json/martial_art_from_json.py msgid "Tactical Retreat" @@ -96455,7 +100588,7 @@ msgid "" msgstr "" "移動して「固守」を無効化しました!\n" "\n" -"ブロック-2、回避スキル+1.0、ブロック発動時に筋力x50%%のダメージ増加\n" +"ブロック-2、回避スキル+1.0、筋力x50%%のブロック時ダメージ軽減\n" "1ターン継続" #: lang/json/martial_art_from_json.py @@ -96672,7 +100805,7 @@ msgid "" msgstr "" "油断なき騎士の構えによって、剣による防御力が上昇しました。\n" "\n" -"回避+1、ブロック発動時に筋力x50%%のダメージを軽減" +"回避+1、筋力x50%%ののブロック時ダメージ軽減" #: lang/json/martial_art_from_json.py msgid "Muay Thai" @@ -96686,7 +100819,7 @@ msgid "" " blocked damage. Blocking attacks or getting hit will increase your damage " "and blocked damage further." msgstr "" -"世界的に人気のあるタイ式格闘術です。両手、両肘、両膝、両足の8箇所を使った強力な打撃を特徴とします。筋力が高いほどブロック時のダメージが軽減されます。攻撃を受けるかブロックすると、与ダメージとブロックできるダメージ量が増加します。" +"世界的に人気のあるタイ式格闘術です。両手、両肘、両膝、両足の8箇所を使った強力な打撃を特徴とします。筋力が高いほどブロック時のダメージが軽減されます。攻撃を受けるかブロックすると、与ダメージ、ブロック時のダメージ軽減量が増加します。" #: lang/json/martial_art_from_json.py msgid "Muay Thai Stance" @@ -96702,7 +100835,7 @@ msgid "" msgstr "" "ムエタイは筋力が全てです。自分の力を最大限に活用する手段を習得しました。\n" "\n" -"ブロック発動時に筋力x50%%のダメージを軽減" +"筋力x50%%のブロック時ダメージ軽減" #: lang/json/martial_art_from_json.py msgid "Ninjutsu" @@ -96801,7 +100934,7 @@ msgstr "" "絶えぬ錬磨を\n" "糧とせん\n" "\n" -"感覚x50%%の斬撃/打撃与ダメージ上昇、感覚x100%%の被ブロックダメージ減少" +"感覚x50%%の斬撃/打撃与ダメージ上昇、感覚x100%%のブロック時ダメージ軽減" #: lang/json/martial_art_from_json.py msgid "Waning Moon" @@ -96889,23 +101022,144 @@ msgstr "" "1ターン継続" #: lang/json/martial_art_from_json.py -msgid "Tai Chi" -msgstr "太極拳" +msgid "Silat" +msgstr "シラット" -#. ~ Description for martial art 'Tai Chi' +#. ~ Description for martial art 'Silat' #: lang/json/martial_art_from_json.py msgid "" -"Though Tai Chi is often seen as a form of mental and physical exercise, it " -"is a legitimate martial art, focused on self-defense. Its ability to absorb" -" the force of an attack makes your Perception decrease damage further on a " -"block." +"Pentjak Silat, of Indonesian origin, is a fighting style that covers the use" +" of short blades and bludgeons. Fighters stay low and mobile to avoid " +"attacks, then unleash deadly critical hits." +msgstr "" +"プンチャック・シラットは短剣や鈍器を用いたインドネシアを起源とする武術です。戦士達は低い体勢で素早く敵の攻撃を避け、逆に致命的な一撃を浴びせます。" + +#: lang/json/martial_art_from_json.py +msgid "Silat Stance" +msgstr "シラットの構え" + +#. ~ Description of buff 'Silat Stance' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +msgid "" +"You try to stay loose as possible when fighting to have more chances to dodge.\n" +"\n" +"+1 Dodge attempts." +msgstr "" +"戦闘時にできるだけ力を抜き、回避のチャンスを増やそうとします。\n" +"\n" +"回避+1" + +#: lang/json/martial_art_from_json.py +msgid "Silat Evasion" +msgstr "回避(シラット)" + +#. ~ Description of buff 'Silat Evasion' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +msgid "" +"You stay low as you move, making it harder for enemies to pin you down.\n" +"\n" +"+1 Dodge attempts.\n" +"Lasts 2 turn." +msgstr "" +"敵に拘束されないよう、姿勢を低くして移動します。\n" +"\n" +"回避+1\n" +"2ターン継続" + +#: lang/json/martial_art_from_json.py +msgid "Silat Appraisal" +msgstr "見切り(シラット)" + +#. ~ Description of buff 'Silat Appraisal' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Each time you dodge an attack, you learn a bit more about your opponents' fighting style. This allows you to make more precise attacks against them.\n" +"\n" +"Accuracy increased by 15%% of Dexterirty.\n" +"Lasts 2 turns. Stacks 3 times." +msgstr "" +"攻撃をかわす度に相手の戦闘スタイルを見切り、より正確に攻撃できるようになります。\n" +"\n" +"器用x15%%の命中率上昇\n" +"2ターン継続、最大蓄積数3" + +#: lang/json/martial_art_from_json.py +msgid "Snake Kung Fu" +msgstr "蛇形拳" + +#. ~ Description for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +msgid "" +"One of the five Shaolin animal styles. The Snake focuses on sinuous " +"movement and precision strikes. Perception determines your Accuracy, rather" +" than Dexterity. Standing still will increases your accuracy and damage of " +"your next attack." msgstr "" -"太極拳は多くの場合、精神的または肉体的な鍛錬の一形態のように見られていますが、自己防衛に焦点を当てた正当な武術です。攻撃を受け流す技術は自分の感覚が優れている程、防いだ際のダメージを更に減少させます。" +"少林拳に伝わる五獣拳の1つです。蛇形拳はしなやかな動きと正確な攻撃を使いこなします。PERが命中率とダメージに同じくらい関わります。器用ではなく感覚によって命中率が決定します。その場に留まると、次の攻撃の命中率と威力が上昇します。" -#. ~ Description of buff for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py -msgid "+1 Block. Perception decreases damage when blocking." -msgstr "感覚依存でブロック時被ダメージが減少。ブロック+1" +msgid "Snake's Sight" +msgstr "蛇の洞察" + +#. ~ Description of buff 'Snake's Sight' for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You are patient and know where to hit your opponent for the best results.\n" +"\n" +"Perception increases Accuracy instead of Dexterity. Accuracy increased by 25%% of Perception but decreased by 25%% of Dexterity." +msgstr "" +"敵の最大の弱点を見つけ、攻撃の好機を忍耐強く待ちます。\n" +"器用ではなく感覚によって命中率が上昇します。\n" +"感覚x25%%の命中率上昇、器用x25%%の命中率低下" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "槍術" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat. Standing still gives you an extra block " +"attempt but moving will briefly increase your damage." +msgstr "" +"槍術、別名「槍道」は槍を使って戦う日本の武術です。戦闘での有利性を維持するために、対戦相手との間合いを保つことに重きを置いています。その場に留まると敵からの攻撃をよりブロックするようになりますが、移動すると一時的に与ダメージが上昇します。" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "槍術の構え" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Your training grants better defense while using a polearm.\n" +"\n" +"+1 Block attempt." +msgstr "" +"訓練によって長柄武器装備中の防御力が向上しました。\n" +"\n" +"ブロック+1" + +#: lang/json/martial_art_from_json.py +msgid "Superior Positioning" +msgstr "攻勢" + +#. ~ Description of buff 'Superior Positioning' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You have given up your defenses for a moment to increase the damage of your attacks.\n" +"\n" +"+10%% damage, -1 Block attempts.\n" +"Lasts 1 turn." +msgstr "" +"一旦防御を放棄して攻めに転じます。\n" +"\n" +"与ダメージ+10%%、ブロック-1\n" +"1ターン継続" #: lang/json/martial_art_from_json.py msgid "Taekwondo" @@ -96917,74 +101171,90 @@ msgid "" "Taekwondo is the national sport of Korea, and was used by the South Korean " "army in the 20th century. Focused on kicks and so it does not benefit from " "wielded weapons. It also includes strength training; your blocks absorb " -"extra damage the stronger you are." +"extra damage and your attacks do more damage if you are not holding " +"anything." msgstr "" -"テコンドーは韓国の国技であり、20世紀には韓国軍によって使われていました。キックに重点が置かれているため武器を使う事による恩恵はありません。筋力鍛錬の一環として利用される武術のため、自身が力強ければ力強いほどダメージを防御しやすくなります。" +"テコンドーは韓国の国技であり、20世紀には韓国軍によって使われていました。キックに重点が置かれているため武器を装備する恩恵はなく、筋力鍛錬としての側面もあります。ブロック時の被ダメージを軽減し、素手状態での与ダメージが上昇します。" -#. ~ Description of buff for martial art 'Taekwondo' #: lang/json/martial_art_from_json.py -msgid "Strength decreases damage when blocking." -msgstr "筋力依存でブロック時の被ダメージ軽減" +msgid "Taekwondo Stance" +msgstr "テコンドーの構え" +#. ~ Description of buff 'Taekwondo Stance' for martial art 'Taekwondo' #: lang/json/martial_art_from_json.py -msgid "Zui Quan" -msgstr "酔拳" - -#. ~ Description for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" -" the enemy, giving you a passive dodge bonus based on your intelligence. " -"The turn after you attack, you may dodge any number of attacks with no " -"penalty, and successfully dodging an attack gives you bonus damage and to-" -"hit based on your intelligence." +"Using your legs to attack allows your hands to be free for better defense.\n" +"\n" +"Blocked damage decreased by 50%% of Strength." msgstr "" -"「酔えば酔うほど強くなる」で有名ですが、実際は酔っ払いを真似て敵を混乱させる武術です。受動的な回避行動に対して、知性を基準にボーナスが与えられます。攻撃後のターンに複数の敵からの攻撃をペナルティなしに回避できる確率が上がり、回避できた場合は、その後のターンの攻撃の命中率と威力が知性を基準に向上します。" - -#. ~ Description of buff for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "Intelligence increases dodging ability" -msgstr "知性依存で回避率上昇" +"足で攻撃することで手を防御に回せます。\n" +"\n" +"筋力x50%%のブロック時ダメージ軽減" #: lang/json/martial_art_from_json.py -msgid "Counter Strike" -msgstr "迎撃" +msgid "Unhindered" +msgstr "全力攻撃" -#. ~ Description of buff 'Counter Strike' for martial art 'Zui Quan' +#. ~ Description of buff 'Unhindered' for martial art 'Taekwondo' #: lang/json/martial_art_from_json.py -msgid "Extra damage and to-hit after successful dodge" -msgstr "回避成功後に追加与ダメージと命中補正ボーナス" +#, no-python-format +msgid "" +"Your attacks are stronger if you are not holding anything in your hands.\n" +"\n" +"+33%% bash damage when not using a weapon." +msgstr "" +"手に何も装備していない状態で攻撃力が増加します。\n" +"\n" +"素手攻撃時の打撃与ダメージ+33%%" #: lang/json/martial_art_from_json.py -msgid "Silat" -msgstr "シラット" +msgid "Tai Chi" +msgstr "太極拳" -#. ~ Description for martial art 'Silat' +#. ~ Description for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py msgid "" -"Pentjak Silat, of Indonesian origin, is a fighting style that covers the use" -" of short blades and bludgeons. Fighters stay low and mobile to avoid " -"attacks, then unleash deadly critical hits." +"Though Tai Chi is often seen as a form of mental and physical exercise, it " +"is a legitimate martial art, focused on self-defense. Its ability to absorb" +" the force of an attack makes your Perception decrease damage further on a " +"block. Pausing for a moment enables powerful palm strike techniques." msgstr "" -"プンチャック・シラットは短剣や鈍器を用いたインドネシアを起源とする武術です。戦士達は低い体勢で素早く敵の攻撃を避け、逆に致命的な一撃を浴びせます。" +"太極拳は精神的、肉体的な鍛錬の一形態として見られがちですが、自己防衛に焦点を当てた正当な武術です。攻撃を受け流す技によって、ブロック時の被ダメージを感覚依存で軽減します。その場に留まると強力な掌打を発動できます。" #: lang/json/martial_art_from_json.py -msgid "Silat Stance" -msgstr "シラットの構え" +msgid "Tai Chi Stance" +msgstr "太極拳の構え" -#. ~ Description of buff 'Silat Stance' for martial art 'Silat' +#. ~ Description of buff 'Tai Chi Stance' for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py -msgid "+1 dodge" -msgstr "回避 +1" +#, no-python-format +msgid "" +"You are focused of defense and predicting your opponents attacks.\n" +"\n" +"+1 Block attempts, blocked damage reduced by 100%% Perception." +msgstr "" +"敵の攻撃を予測し、防御に集中します。\n" +"\n" +"ブロック+1、感覚x100%%のブロック時ダメージ軽減" #: lang/json/martial_art_from_json.py -msgid "Silat Counter" -msgstr "シラットカウンター" +msgid "Repulse the Monkey" +msgstr "猿戯" -#. ~ Description of buff 'Silat Counter' for martial art 'Silat' +#. ~ Description of buff 'Repulse the Monkey' for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py -msgid "Extra to-hit after successful dodge" -msgstr "回避成功後に追加ダメージ" +#, no-python-format +msgid "" +"By perfectly positioning yourself and your opponent, you have become more accurate and can bypass your opponent's defenses.\n" +"\n" +"Accuracy increased by 20%% of Perception, gain bash Armor Pentration equal to 50%% of Perception.\n" +"Lasts 2 turns." +msgstr "" +"敵の動きを正確に捉える位置取りによって攻撃の正確性を増し、防御を掻い潜ります。\n" +"\n" +"感覚x20%%の命中率上昇、感覚x50%%の打撃防御貫通。\n" +"2ターン継続" #: lang/json/martial_art_from_json.py msgid "Tiger Kung Fu" @@ -97005,112 +101275,189 @@ msgstr "虎の憤怒" #. ~ Description of buff 'Tiger Fury' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+3 Bash/atk" -msgstr "打撃/攻撃+3" +#, no-python-format +msgid "" +"You attack with an endless barrage of strikes. The more you hit, the stronger you become.\n" +"\n" +"+10%% damage.\n" +"Lasts 3 turns. Stacks 4 times." +msgstr "" +"途切れることのない猛攻を繰り出します。命中するほど攻撃は強くなります。\n" +"\n" +"与ダメージ+10%%\n" +"3ターン継続、最大蓄積数4" #: lang/json/martial_art_from_json.py -msgid "Tiger Strength" +msgid "Tiger's Strength" msgstr "虎の怪力" -#. ~ Description of buff 'Tiger Strength' for martial art 'Tiger Kung Fu' +#. ~ Description of buff 'Tiger's Strength' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Strength provides additional damage bonus." -msgstr "筋力依存の追加ダメージボーナスを得ます。" +#, no-python-format +msgid "" +"You do not need defense. You do not need a plan. You need strength. Strength will break your opponents' defenses and overwhelm them completely.\n" +"\n" +"Strength increases Accuracy instead of Dexterity.\n" +"\n" +"Accuracy increased by 25%% of Strength but decreased by 25%% of Dexterity." +msgstr "" +"守備も、計略も、必要ありません。必要なのは力です。力で敵の防御を打ち砕き、完全に圧倒します。\n" +"\n" +"器用ではなく筋力によって命中率が上昇します。\n" +"\n" +"筋力x25%%の命中率上昇、器用x25%%の命中率低下" #: lang/json/martial_art_from_json.py -msgid "Snake Kung Fu" -msgstr "蛇形拳" +msgid "Wing Chun" +msgstr "詠春拳" -#. ~ Description for martial art 'Snake Kung Fu' +#. ~ Description for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py msgid "" -"One of the five Shaolin animal styles. The Snake focuses on sinuous " -"movement and precision strikes. Your Perception improves your damage." -msgstr "少林拳に伝わる、五獣拳の1つです。蛇形拳はクネクネとした動きと正確な攻撃を使いこなします。感覚によってダメージが上昇します。" +"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" +"learn effective techniques from the various Shaolin animal forms. It has a " +"high stance, with weight entirely on the rear leg. Wing Chun focuses on " +"sensitivity to the opponent's direction of force, and flowing around it to " +"get back to hitting." +msgstr "" +"詠春拳は、少林寺拳法に伝わる動物を模した形の中でも特に習得しやすく効果的なものを選りすぐった、中国拳法です。姿勢を正し、前後に開いた足の後部に体重をかけて構えます。力の向きを鋭敏に感じ取り、円を描くような動きで敵の攻撃を逸らして反撃に移ります。" #: lang/json/martial_art_from_json.py -msgid "Snake Sight" -msgstr "蛇の視界" +msgid "Chain Punch" +msgstr "連続パンチ" -#. ~ Description of buff 'Snake Sight' for martial art 'Snake Kung Fu' +#. ~ Description of buff 'Chain Punch' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "Perception provides a bonus to damage." -msgstr "感覚依存のダメージボーナスを得ます。" +#, no-python-format +msgid "" +"Your punches are properly timed to give your opponent no rest from your strikes.\n" +"\n" +"-10%% move cost.\n" +"Lasts 1 turn. Stacks 3 times." +msgstr "" +"タイミングを見計らった攻撃によって、敵に休む暇を与えません。\n" +"\n" +"行動コスト-10%%\n" +"1ターン継続、最大蓄積数3" #: lang/json/martial_art_from_json.py -msgid "Debug Mastery" -msgstr "デバッグマスター" +msgid "Chi-Sao Sensitivity" +msgstr "黐手" -#. ~ Description for martial art 'Debug Mastery' +#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "A secret martial art used only by developers and cheaters." -msgstr "開発者やチーターのみが知る秘伝の武術です。" +#, no-python-format +msgid "" +"You have a greater understanding of balance and technique. This gives you a better chance to avoid your opponent's attacks.\n" +"\n" +" Dodging Skill increased by 15%% of Perception. Blocked damage reduced by 50%% of Perception." +msgstr "" +"体幹と技術をより深く研究しました。敵の攻撃を見切りやすくなります。\n" +"\n" +"感覚x15%% の回避スキル上昇、感覚x50%%のブロック時ダメージ軽減" #: lang/json/martial_art_from_json.py -msgid "Elemental resistance" -msgstr "元素耐性" +msgid "Zui Quan" +msgstr "酔拳" -#. ~ Description of buff 'Elemental resistance' for martial art 'Debug -#. Mastery' +#. ~ Description for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py msgid "" -"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " -"armor, +Perception fire armor." -msgstr "筋力の値で斬撃耐性、器用の値で酸耐性、知性の値で電撃耐性、感覚の値で火炎耐性が増加します。" +"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" +" the enemy. You gain a passive dodge bonus and accuracy bonus based on your" +" intelligence. Moving gives you additional dodge attempts and each time you" +" dodge, you inflict more damage with your counterattack for until the end of" +" your next turn." +msgstr "" +"「ドランクンボクシング」とも呼ばれる酔拳は、酔っぱらいの動きを真似て敵を惑わす武術です。知性を基準に命中率と回避率にボーナスを得ます。移動すると敵の攻撃を回避しやすくなり、回避すると次ターンまで与ダメージが増加します。" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu" -msgstr "槍術" +msgid "Zui Quan Stance" +msgstr "酔拳の構え" -#. ~ Description for martial art 'Sōjutsu' +#. ~ Description of buff 'Zui Quan Stance' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " -"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " -"to maintain advantage in combat." -msgstr "槍術、別名「槍道」は槍を使って戦う日本の武術です。槍術は戦闘での有利性を維持するために、対戦相手との間合いを保つことに重きを置いています。" +"Others might think you stumble about at random but you know better. Each movement is calculated to make evading harm easier.\n" +"\n" +"Dodging Skill increased by 15%% of Intelligence." +msgstr "" +"一見するとふらついているように見えますが、すべて計画の内です。これは攻撃を回避するための計算ずくの動作なのです。\n" +"\n" +"知性x15%%の回避スキル上昇" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Stance" -msgstr "槍術の構え" +msgid "Advanced Zui Quan" +msgstr "酔拳の達人" -#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#. ~ Description of buff 'Advanced Zui Quan' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Bonus block with reach weapons while standing still" -msgstr "立ち止まっている間、遠距離武器にブロック効果" +#, no-python-format +msgid "" +"You have a greater understanding of Zui Quan. Your skills at dodging and landing attacks are much better as a result.\n" +"\n" +"+1 Dodge attempts, Accuracy increased by 15%% of Intelligence." +msgstr "" +"酔拳をより深く理解しています。回避と攻撃の技術が大幅に向上しました。\n" +"\n" +"回避+1、知性x15%%の命中率上昇" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Rush" -msgstr "突進" +msgid "Drunken Stumble" +msgstr "酔歩" -#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#. ~ Description of buff 'Drunken Stumble' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Increased damage when moving but no bonus block" -msgstr "移動時にダメージ増加、ブロック効果消滅" +msgid "" +"With a few quick steps, you can completely change your orientation and dodge additional attacks.\n" +"\n" +"+2 Dodge attempts.\n" +"Lasts 3 turns." +msgstr "" +"わずかな動きで勢いよく方向転換して攻撃を回避します。\n" +"\n" +"回避+2\n" +"3ターン継続" #: lang/json/martial_art_from_json.py -msgid "Wing Chun" -msgstr "詠春拳" +msgid "Drunken Dodging" +msgstr "酔避" -#. ~ Description for martial art 'Wing Chun' +#. ~ Description of buff 'Drunken Dodging' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" -"learn effective techniques from the various Shaolin animal forms. It has a " -"high stance, with weight entirely on the rear leg. Wing Chun focuses on " -"sensitivity to the opponent's direction of force, and flowing around it to " -"get back to hitting." +"Each time you dodge, your positional advantage increases against your opponents. This makes your attacks hit harder with each successful dodge.\n" +"\n" +"Gain Armor Penetration equal to 25%% of Intelligence.\n" +"Lasts 1 turn. Stacks 4 times." msgstr "" -"詠春拳は、少林寺拳法に伝わる動物を模した形の中でも特に習得しやすく効果的なものを選りすぐった、中国拳法です。姿勢を正し、前後に開いた足の後部に体重をかけて構えます。力の向きを鋭敏に感じ取り、円を描くような動きで敵の攻撃を逸らして反撃に移ります。" +"回避する度に敵に対する位置的優位性が高まります。回避に成功すればするほど敵への攻撃が苛烈になります。\n" +"\n" +"知性x25%%の装甲貫通\n" +"1ターン継続、最大蓄積数4" #: lang/json/martial_art_from_json.py -msgid "Chi-Sao Sensitivity" -msgstr "黐手" +msgid "Debug Mastery" +msgstr "デバッグマスター" -#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' +#. ~ Description for martial art 'Debug Mastery' +#: lang/json/martial_art_from_json.py +msgid "A secret martial art used only by developers and cheaters." +msgstr "開発者やチーターのみが知る秘伝の武術です。" + +#: lang/json/martial_art_from_json.py +msgid "Elemental resistance" +msgstr "元素耐性" + +#. ~ Description of buff 'Elemental resistance' for martial art 'Debug +#. Mastery' #: lang/json/martial_art_from_json.py -msgid "Perception increases dodging ability, +1 dodges per turn" -msgstr "感覚依存で回避率上昇。1ターンごとに回避+1" +msgid "" +"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " +"armor, +Perception fire armor." +msgstr "筋力の値で斬撃耐性、器用の値で酸耐性、知性の値で電撃耐性、感覚の値で火炎耐性が増加します。" #: lang/json/martial_art_from_json.py msgid "Bionic Combatives" @@ -97297,11 +101644,12 @@ msgstr "蛤蟆功" #. ~ Description for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"One of the Five Deadly Venoms. Masters of Toad Style can focus themselves " -"against all attacks. You can meditate by pausing, giving you armor, though " -"you will lose focus when you move." +"One of the Five Deadly Venoms, used by Liang Shen. Masters of Toad Style " +"can focus themselves to protect against all attacks. You have powerful " +"armor against physical attacks, though you will lose focus when you move. " +"You can meditate by pausing, giving yourself more armor for a short time." msgstr "" -"悪名高き五毒拳の1つです。蛤蟆功はあらゆる攻撃に立ち向かうことを中心に扱っています。その場で立ち止まっていると瞑想状態になり防御力が向上しますが、移動すると元に戻ります。" +"悪名高き五毒拳の1つ、リョン・シンが極めた蛤蟆功はあらゆる攻撃に耐えることに重きを置いています。物理攻撃に対する防御力が向上しますが、移動すると集中力が切れて元に戻ってしまいます。その場に留まることで、瞑想によって短時間で身体を硬く変化させます。" #: lang/json/martial_art_from_json.py msgid "Toad's Iron Skin" @@ -97309,8 +101657,14 @@ msgstr "蝦蟇の硬皮" #. ~ Description of buff 'Toad's Iron Skin' for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Gain up to +6 armor while standing still" -msgstr "立ち止まっている間、装甲+6" +msgid "" +"Your body is as strong as iron but only if you don't move.\n" +"\n" +"+6 bash, cut, and stab armor." +msgstr "" +"その場から動かない限り、身体が鉄のように硬くなっています。\n" +"\n" +"打撃/斬撃/刺突耐性+6" #: lang/json/martial_art_from_json.py msgid "Iron Skin Dissipation" @@ -97319,8 +101673,16 @@ msgstr "硬皮消失" #. ~ Description of buff 'Iron Skin Dissipation' for martial art 'Toad Kung #. Fu' #: lang/json/martial_art_from_json.py -msgid "Iron Skin softens when you move!" -msgstr "移動すると鉄のような皮膚は柔らかくなります!" +msgid "" +"Moving causes you to lose your iron skin.\n" +"\n" +"-1 bash, cut, and stab armor.\n" +"Lasts 6 turns. Stacks 6 times." +msgstr "" +"移動によって鉄のような皮膚が元に戻りました。\n" +"\n" +"打撃/斬撃/刺突耐性-1\n" +"6ターン継続、最大蓄積数6" #: lang/json/martial_art_from_json.py msgid "Viper Kung Fu" @@ -97329,38 +101691,61 @@ msgstr "蛇功" #. ~ Description for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"A legacy of the Five Deadly Venoms. Viper Style has a unique three-part " -"combo, which initiates on a dodge, then counters with a stunning chop and " -"the legendary Viper Strike." +"A legacy of the Five Deadly Venoms, use by Qi Dong. Viper Style (originally" +" called Snake Style) has a unique three-part combo, which initiates on a " +"dodge, then follows up with a stunning Viper Bite and then finishes with the" +" legendary Viper Strike." msgstr "" -"悪名高き五毒拳の1つです。蛇功は独特の3連コンボが特徴です。まず相手の攻撃を回避し、カウンターとして気絶効果をもつチョップを繰り出し、最後に毒蛇の一撃と呼ばれる伝説の技を繰り出します。" +"悪名高き五毒拳の1つ、チャイ・トンが極めた蛇功は独特の3連コンボが特徴です。まず敵の攻撃を回避し、鋭い毒蛇咬で気絶させ、最後に毒蛇の一撃と呼ばれる伝説の技を繰り出します。" #: lang/json/martial_art_from_json.py -msgid "Viper Lock" -msgstr "毒蛇の睨み" +msgid "Viper's Patience" +msgstr "毒蛇の忍耐" -#. ~ Description of buff 'Viper Lock' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Patience' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You bit true! Your next attack will be the Viper Strike!" -msgstr "かかったな!次に繰り出されるのは毒蛇の一撃です!" +msgid "" +"Every snake waits for the perfect moment to strike. Turn your opponents' mistakes into your opportunity to strike!\n" +"\n" +"+1.0 Dodge skill." +msgstr "" +"完璧な攻撃を繰り出すための決定的瞬間を待っています。敵のミスを反撃のチャンスに変えましょう!\n" +"\n" +"回避スキル+1.0" #: lang/json/martial_art_from_json.py -msgid "Viper Patience" -msgstr "毒蛇の忍耐" +msgid "Viper's Ambush" +msgstr "毒蛇の伏撃" -#. ~ Description of buff 'Viper Patience' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Ambush' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+2 Dodge. Dodging an attack initiates a combo." -msgstr "連撃は回避から始まります。回避+2" +msgid "" +"Your evasiveness has left your opponent wide open to painful bite.\n" +"\n" +"Enables \"Viper Bite\" technique.\n" +"Lasts 1 turn." +msgstr "" +"攻撃が外れたことで、敵は強烈な攻撃に対して無防備な状態になりました。\n" +"\n" +"「毒蛇咬」有効化\n" +"1ターン継続" #: lang/json/martial_art_from_json.py -msgid "Viper Ambush" -msgstr "毒蛇の伏撃" +msgid "Viper's Venom" +msgstr "蛇毒" -#. ~ Description of buff 'Viper Ambush' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Venom' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You've lured 'em in! Your next attack will be a Viper Bite." -msgstr "かかったな!次に繰り出されるのは毒蛇の一撃です!" +msgid "" +"Your venom is a harsh reminder to never tease a predator.\n" +"\n" +"+2 bash damage.\n" +"Lasts 3 turn." +msgstr "" +"猛毒のような攻撃で敵を苛みます。\n" +"\n" +"打撃与ダメージ+2\n" +"3ターン継続" #: lang/json/martial_art_from_json.py msgid "C.R.I.T Blade-work" @@ -97505,6 +101890,10 @@ msgstr "" "打撃装甲貫通+3\n" "2ターン継続" +#: lang/json/martial_art_from_json.py +msgid "Sojutsu" +msgstr "槍術" + #: lang/json/material_from_json.py src/bionics.cpp msgid "Alcohol" msgstr "アルコール" @@ -97746,6 +102135,10 @@ msgstr "鉛" msgid "Leather" msgstr "革" +#: lang/json/material_from_json.py +msgid "Lycra" +msgstr "ライクラ" + #: lang/json/material_from_json.py msgid "Dairy" msgstr "乳製品" @@ -97806,6 +102199,14 @@ msgstr "石" msgid "Superalloy" msgstr "超合金" +#: lang/json/material_from_json.py +msgid "layered carbide" +msgstr "層状炭化物" + +#: lang/json/material_from_json.py +msgid "Synthetic Fabric" +msgstr "合成繊維" + #: lang/json/material_from_json.py msgid "Tin" msgstr "錫" @@ -97916,6 +102317,10 @@ msgstr "ゴム" msgid "Arcane Skin" msgstr "魔法の皮" +#: lang/json/material_from_json.py +msgid "Orichalcum" +msgstr "オリハルコン" + #: lang/json/material_from_json.py msgid "Demon Chitin" msgstr "デーモンキチン" @@ -97925,8 +102330,8 @@ msgid "Sugar" msgstr "砂糖" #: lang/json/mission_def_from_json.py -msgid "Gather bones for the Brigitte. About 8 should do it." -msgstr "8個の骨を持ってくる" +msgid "Gather bones for the Brigitte. About 8 should do it." +msgstr "ブリジットのために骨を集めましょう。8個必要です。" #: lang/json/mission_def_from_json.py msgid "There is always work to be done, song to be woven." @@ -97976,48 +102381,6 @@ msgstr "おまえはそう言うが、違うと歌う声が聞こえてくるぞ msgid "Then you shall try again, until you hear." msgstr "歌が聞こえるまで続けるのだ。" -#: lang/json/mission_def_from_json.py -msgid "Find a Book" -msgstr "本を探す" - -#: lang/json/mission_def_from_json.py -msgid "Wanna help me out?" -msgstr "助けてくれない?" - -#: lang/json/mission_def_from_json.py -msgid "Get me a book." -msgstr "本を持ってきてくれ。" - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: lang/json/talk_topic_from_json.py -msgid "Thanks." -msgstr "ありがとう。" - -#: lang/json/mission_def_from_json.py -msgid "Well, I'll find someone else to do it for me." -msgstr "そうか、他の人に頼んでみるよ。" - -#: lang/json/mission_def_from_json.py -msgid "Try a library." -msgstr "図書館を探してみよう。" - -#: lang/json/mission_def_from_json.py -msgid "Got that book for me?" -msgstr "本を持ってきてくれた?" - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: src/npctalk.cpp -msgid "Thanks!" -msgstr "ありがとう!" - -#: lang/json/mission_def_from_json.py -msgid "OK, then hand it over." -msgstr "よし、それをもらおうか。" - -#: lang/json/mission_def_from_json.py -msgid "Shit happens." -msgstr "ついてないな。" - #: lang/json/mission_def_from_json.py msgid "Follow Sarcophagus Team" msgstr "石棺制圧部隊に追いつく" @@ -98904,10 +103267,6 @@ msgstr "何てことだ...それは残念だ。" msgid "Null mission" msgstr "無効な依頼" -#: lang/json/mission_def_from_json.py -msgid "YOU SHOULDN'T BE SEEING THIS, THIS IS A BUG" -msgstr "この文章が見えている場合はバグが発生しています。" - #: lang/json/mission_def_from_json.py msgid "Reach Farm House" msgstr "農場家屋に向かう" @@ -99135,6 +103494,14 @@ msgstr "写真は見つかった?武器庫にあるはずなんだ。" msgid "Thanks! I'll be sure to put in a good word for you around town." msgstr "ありがとう!人と会ったら忘れずに君の手柄を伝えることにするよ。" +#: lang/json/mission_def_from_json.py +msgid "OK, then hand it over." +msgstr "よし、それをもらおうか。" + +#: lang/json/mission_def_from_json.py +msgid "Shit happens." +msgstr "ついてないな。" + #: lang/json/mission_def_from_json.py msgid "Find Antibiotics Before You Die!" msgstr "死ぬ前に抗生物質を見つける!" @@ -99566,8 +103933,8 @@ msgid "" msgstr "ありがとう!なるべく急いでくれ!このケージを使えば捕獲できる。" #: lang/json/mission_def_from_json.py -msgid "I did't want to use chemicals on these rats." -msgstr "私はネズミ達に投薬したくはなかった。" +msgid "I didn't want to use chemicals on these rats." +msgstr "殺鼠剤は使いたくなかったんだけどな。" #: lang/json/mission_def_from_json.py msgid "" @@ -99870,6 +104237,10 @@ msgid "" "don't have any handy references." msgstr "「日曜大工全書」という本を何とかして読みたいんだ。インターネットがなくなったから、便利な参考資料も見られなくなってしまった。" +#: lang/json/mission_def_from_json.py +msgid "Fantastic, I'm not supposed to leave our land." +msgstr "素晴らしい。私は自分の土地を離れたくないからね。" + #: lang/json/mission_def_from_json.py msgid "A library, bookstore should have one, schools are another good idea." msgstr "図書館や書店を探してもいいし、学校にもあるかもな。" @@ -100663,6 +105034,10 @@ msgstr "" msgid "Thanks, it's great to see someone willing to help a guy out." msgstr "ありがとう、助けてくれる人がいて本当によかった。" +#: lang/json/mission_def_from_json.py +msgid "Well, I'll find someone else to do it for me." +msgstr "そうか、他の人に頼んでみるよ。" + #: lang/json/mission_def_from_json.py msgid "" "Plenty of smokers in towns. Gotta be some left over cigs in some of them " @@ -101351,8 +105726,8 @@ msgstr "光の復活" #: lang/json/mission_def_from_json.py msgid "" "Reach the collapsed tower basement, and search the ruins for a photonic " -"circuitry template. The intercom warned you about heavy enemy prescence, and" -" of the existence of a hazardous enviroment." +"circuitry template. The intercom warned you about heavy enemy presence, and" +" of the existence of a hazardous environment." msgstr "" "崩壊した塔の地下へ向かい、ナノ製造テンプレート(フォトニック回路)を持ち帰りましょう。通信装置の人物によれば、塔の環境は危険な状態で強敵も棲んでいるようです。" @@ -102819,7 +107194,7 @@ msgid "yourself scream in agony!" msgstr "苦悶の叫び声を上げました!" #. ~ Mutation class: Any junkie_message -#: lang/json/mutation_category_from_json.py src/iuse_actor.cpp +#: lang/json/mutation_category_from_json.py msgid "You quiver with anticipation..." msgstr "これから起こる何かを予期して小刻みに震えています..." @@ -103498,19 +107873,19 @@ msgstr "なんと甘いのでしょう!" #. ~ Mutation class: Sugar Kin iv_message #: lang/json/mutation_category_from_json.py -msgid "You inject some more fizz into your sirup." +msgid "You inject some more fizz into your syrup." msgstr "シロップに炭酸水をもっとたくさん入れました。" #. ~ Mutation class: Sugar Kin Male memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_male" -msgid "Cristalized." +msgid "Crystalized." msgstr "結晶化しました。" #. ~ Mutation class: Sugar Kin Female memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_female" -msgid "Cristalized." +msgid "Crystalized." msgstr "結晶化しました。" #: lang/json/mutation_from_json.py @@ -103995,8 +108370,8 @@ msgstr "髭(アンカー)" #: lang/json/mutation_from_json.py msgid "" "You have a moustache and a beard starting with a strip going down from the " -"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus " -"the name." +"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus" +" the name." msgstr "口髭に加えて、顎のライン上から唇の下まで細く繋がった顎髭が生えています。錨のような形のため、アンカーと呼ばれています。" #: lang/json/mutation_from_json.py @@ -104006,7 +108381,7 @@ msgstr "髭(ショートボックス)" #. ~ Description for Facial hair: short boxed beard #: lang/json/mutation_from_json.py msgid "" -"You have a moustache and a short beard with trimmed sides. Thin patches " +"You have a moustache and a short beard with trimmed sides. Thin patches " "connect them both, forming a 'box' around the lips, thus the name." msgstr "口髭に加えて、側面が切り揃えられた短い顎髭が生えています。口髭と顎髭が繋がって箱型に唇を囲っているため、ショートボックスと呼ばれています。" @@ -104129,7 +108504,7 @@ msgstr "髭(長い顎髭)" #. ~ Description for Facial hair: neckbeard #: lang/json/mutation_from_json.py msgid "" -"You have a beard formed from hair grown on neck below the chin line. No " +"You have a beard formed from hair grown on neck below the chin line. No " "moustache included." msgstr "顎のラインから首元伸びた長い髭が生えています。口髭は生えていません。" @@ -104231,6 +108606,27 @@ msgid "" "footing." msgstr "より速く移動できます。平らな場所での移動時は行動コストに15%のボーナスを得ます。" +#: lang/json/mutation_from_json.py +msgid "Weak Photophore" +msgstr "弱い発光器官" + +#. ~ Description for Weak Photophore +#: lang/json/mutation_from_json.py +msgid "" +"A photophore has grown from your head, you can make it glow soflty. This " +"will make you very visible in the dark, ideal to attract a partner during " +"mating season." +msgstr "頭部から発光器官が伸び、弱々しい光を放っています。暗闇でも目立ち、交尾の時期にパートナーを引き寄せるのに便利です。" + +#: lang/json/mutation_from_json.py +msgid "Photophore" +msgstr "発光器官" + +#. ~ Description for Photophore +#: lang/json/mutation_from_json.py +msgid "Your can make your photophore glow brightly." +msgstr "発光器官が眩い光を放っています。" + #: lang/json/mutation_from_json.py msgid "Good Hearing" msgstr "優れた聴覚" @@ -104708,9 +109104,9 @@ msgstr "興奮剤精神病" #. ~ Description for Stimulant Psychosis #: lang/json/mutation_from_json.py msgid "" -"You have a unique history with stimulants (like coffee or amphetamines). You" -" can tolerate a lot more of them without overdosing, but if you indulge too " -"much, you start seeing things..." +"You have a unique history with stimulants (like coffee or amphetamines). " +"You can tolerate a lot more of them without overdosing, but if you indulge " +"too much, you start seeing things…" msgstr "" "興奮剤(コーヒー、覚醒剤など)の過剰投与を長年続けてきました。多量の興奮剤を摂取しても過剰摂取を引き起こし辛くなっていますが、欲望のままに摂取していると幻覚が見え始めます..." @@ -104843,11 +109239,24 @@ msgstr "近接武器鍛錬" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-" -"Ryu, Pentjak Silat, or Sōjutsu." +"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-Ryu," +" Pentjak Silat, or Sōjutsu." msgstr "" "武器を使った戦闘術を鍛錬してきました。開始時からエスクリマ、フェンシング、西洋長柄武器術、中世剣術、二天一流、プンチャック・シラット、槍術のうち1つを習得しています。" +#: lang/json/mutation_from_json.py +msgid "Competitive Fencer" +msgstr "フェンシング選手" + +#. ~ Description for Competitive Fencer +#: lang/json/mutation_from_json.py +msgid "" +"You were an avid fencer, starting with foil and moving onto saber, then " +"épée. You competed nationally and dabbled with some of the historical " +"fencing weapons afforded by HEMA's popularity." +msgstr "" +"フルーレから始めて、サーブル、エペに移り、全国大会にも出場した熱心なフェンシング選手です。近頃人気の歴史的西洋武術も気になり、伝統的な武器を使ったフェンシングにも手を出しています。" + #: lang/json/mutation_from_json.py msgid "Weak Scent" msgstr "体臭が薄い" @@ -105578,9 +109987,9 @@ msgstr "妖精の目" #. ~ Description for Fey Eyes #: lang/json/mutation_from_json.py msgid "" -"Your eyes have turned...green. It's tough to tell the exact shade as it " -"seems to shift. The effect is ...pleasant." -msgstr "目が...緑色になりました。どれが何色やらさっぱり分かりません。この変異の効果?...楽しいことでしょうか。" +"Your eyes have turned… green. It's tough to tell the exact shade as it " +"seems to shift. The effect is… pleasant." +msgstr "目が...緑色になりました。実際には刻々と色合いを変えており、正確な色を言い表すのは困難です。この変異の効果は...楽しいことでしょうか。" #: lang/json/mutation_from_json.py msgid "Fey Vision" @@ -106364,7 +110773,7 @@ msgstr "マーロスの保有者" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss berry, you can't get its scent out of your " -"nose, and you have a strong desire to try some seeds and...sap?" +"nose, and you have a strong desire to try some seeds and… sap?" msgstr "マーロの果実を食べて以来、その芳香が忘れられません。マーロスの種や樹液を得たいという強い願望が心にあるようです。" #: lang/json/mutation_from_json.py @@ -106375,7 +110784,7 @@ msgstr "マーロスの適合者" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss seed, you can't get its taste off of your " -"tongue, and you have a strong desire to try some berries and...sap?" +"tongue, and you have a strong desire to try some berries and… sap?" msgstr "マーロスの種を食べて以来、舌で感じたその味を忘れられなくなりました。マーロスの果実や樹液を得たいという強い願望が心にあるようです。" #: lang/json/mutation_from_json.py @@ -106776,8 +111185,8 @@ msgstr "剣歯" #: lang/json/mutation_from_json.py msgid "" "Your fangs have grown extremely large and incredibly sharp. They make it " -"impossible to wear mouthgear and difficult to eat... but leave nasty wounds" -" when you bite." +"impossible to wear mouthgear and difficult to eat… but leave nasty wounds " +"when you bite." msgstr "" "牙が信じられないほど大きく鋭く成長しました。口にアイテムを着用できず、食べるのも困難になりますが、噛みつき攻撃によって敵にダメージを与えられます。" @@ -108035,7 +112444,7 @@ msgstr "ブタの鼻" #. ~ Description for Snout #: lang/json/mutation_from_json.py msgid "" -"Your face and jaw have begun...changing. Masks and such fit OK, but you're " +"Your face and jaw have begun… changing. Masks and such fit OK, but you're " "noticeably mutated." msgstr "顔と顎が...変化し始めています。頭用防具を着用するのに不都合はありませんが、非常に目立つ変化です。" @@ -108787,10 +113196,11 @@ msgstr "変温(MAX)" #. ~ Description for Ectothermic #: lang/json/mutation_from_json.py +#, no-python-format msgid "" -"Your body has become permanently cold-blooded. Your speed lowers--or raises" -"--for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to " -"eat half as much as an average human." +"Your body has become permanently cold-blooded. Your speed lowers or raises " +"1% for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to" +" eat half as much as an average human." msgstr "" "完全に変温動物化しました。摂氏18.3度(華氏65度)を境として1.1度(2度)ごとに、外気温が上がるほど速度も上がり、下がるほど速度も下がりますが食料は平均的な人間の半分しか消費しません。" @@ -109087,7 +113497,7 @@ msgstr "文明社会が崩壊した?素晴らしい!もはやあなたや家 #: lang/json/mutation_from_json.py msgid "" "It would be good to be a Queen, having workers constantly servicing your " -"every need...but how would you keep them in line?" +"every need… but how would you keep them in line?" msgstr "女王というのは良いものです。召使に囲まれた何不自由無い生活...ですがどうやって彼らを制御しましょうか?" #. ~ Description for Plant @@ -109104,8 +113514,8 @@ msgstr "水溶性" #. ~ Description for Aqueous #: lang/json/mutation_from_json.py msgid "" -"What was that old advertisement, 'paint the planet'? That might be a good " -"long-term goal, but for now..." +"What was that old advertisement, 'paint the planet'? That might be a good " +"long-term goal, but for now…" msgstr "昔の広告だかで「惑星を水で満たそう」みたいなのがあったような?現状では、ちょうど良い長期目標になりそうですね..." #: lang/json/mutation_from_json.py @@ -109793,6 +114203,17 @@ msgid "" "Keep. Moving." msgstr "なじみのある場所に少しでも留まっていると気分が落ち込みます。常に。動き。続けろ。" +#: lang/json/mutation_from_json.py +msgid "Wayfarer" +msgstr "徒歩旅行者" + +#. ~ Description for Wayfarer +#: lang/json/mutation_from_json.py +msgid "" +"Whether from personal choice or childhood trauma, travelling with vehicles " +"is off-limits to you, even if your life depended on it." +msgstr "個人的な好みなのか子供時代のトラウマなのか不明ですが、例え生活に必要な場合であっても決して乗り物で移動しません。" + #: lang/json/mutation_from_json.py msgid "Survivor Story" msgstr "サバイバーストーリー" @@ -110646,7 +115067,7 @@ msgstr "デバッグ専用の呪文を最大レベルの状態で習得します #: lang/json/mutation_from_json.py msgid "Made Of Sugar" -msgstr "砂糖漬け" +msgstr "砂糖の身体" #. ~ Description for Made Of Sugar #: lang/json/mutation_from_json.py @@ -110739,8 +115160,8 @@ msgid "Scientist" msgstr "科学者" #: lang/json/npc_class_from_json.py -msgid "I'm looking for clues concerning these monsters' origins..." -msgstr "あの怪物共の起源は何なのか手掛かりを探しているんだ..." +msgid "I'm looking for clues concerning these monsters' origins…" +msgstr "あの怪物共の起源は何なのか、手掛かりを探しているんだ..." #: lang/json/npc_class_from_json.py msgid "Bounty Hunter" @@ -110803,7 +115224,7 @@ msgid "Real Person" msgstr "人間" #: lang/json/npc_class_from_json.py -msgid "I'm just wandering, like a totally real and normal NP... Person!" +msgid "I'm just wandering, like a totally real and normal NP… Person!" msgstr "当て所もなく彷徨っているところさ。ごく普通のNP...人間だよ!" #: lang/json/npc_class_from_json.py @@ -110819,15 +115240,15 @@ msgid "Foodperson" msgstr "フードパーソン" #: lang/json/npc_class_from_json.py -msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" -msgstr "私はフードパーソン。食べ物を持っているよ!" +msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" +msgstr "私はフードパーソン。食べ物をどうぞ!" #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py msgid "Cyborg" msgstr "サイボーグ" #: lang/json/npc_class_from_json.py -msgid "Zzzzzt... I...I'm a Cy...BEEEEEP...borg." +msgid "Zzzzzt… I… I'm a Cy… BEEEEEP… borg." msgstr "ザザザザザ...ワ...わたしはサイ...ビビビ...ボーグだ。" #: lang/json/npc_class_from_json.py @@ -110967,6 +115388,18 @@ msgstr "隊商指揮者" msgid "I'm the owner of a trade caravan." msgstr "私は隊商のオーナーだ。" +#: lang/json/npc_class_from_json.py +msgid "Operator" +msgstr "特殊部隊員" + +#: lang/json/npc_class_from_json.py +msgid "Mage Test" +msgstr "魔法使いテスト" + +#: lang/json/npc_class_from_json.py +msgid "I'm a wandering debug tester for the arcane arts." +msgstr "不思議な術を使ってデバッグをしているところだ。" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -112508,10 +116941,22 @@ msgstr "楽器店" msgid "music store roof" msgstr "楽器店(屋上)" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore parking lot" +msgstr "超大型店(駐車場)" + #: lang/json/overmap_terrain_from_json.py msgid "megastore" msgstr "超大型店" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore, second floor" +msgstr "超大型店(2階)" + +#: lang/json/overmap_terrain_from_json.py +msgid "megastore roof" +msgstr "超大型店(屋上)" + #: lang/json/overmap_terrain_from_json.py msgid "hotel parking" msgstr "ホテル(駐車場)" @@ -112864,7 +117309,7 @@ msgstr "農地予定地" msgid "garage survey" msgstr "車両修理工場予定地" -#: lang/json/overmap_terrain_from_json.py +#: lang/json/overmap_terrain_from_json.py lang/json/recipe_from_json.py msgid "kitchen survey" msgstr "調理場予定地" @@ -112885,8 +117330,8 @@ msgid "spiked trench" msgstr "塹壕(スパイク)" #: lang/json/overmap_terrain_from_json.py -msgid "store survey" -msgstr "倉庫予定地" +msgid "fabrication workshop survey" +msgstr "工作場予定地" #: lang/json/overmap_terrain_from_json.py msgid "blacksmith survey" @@ -112900,6 +117345,18 @@ msgstr "鍛冶場" msgid "livestock survey" msgstr "牧場予定地" +#: lang/json/overmap_terrain_from_json.py +msgid "store house survey" +msgstr "倉庫予定地" + +#: lang/json/overmap_terrain_from_json.py +msgid "saltworks survey" +msgstr "製塩場予定地" + +#: lang/json/overmap_terrain_from_json.py +msgid "canteen survey" +msgstr "食堂予定地" + #: lang/json/overmap_terrain_from_json.py msgid "crater" msgstr "クレーター" @@ -113581,6 +118038,10 @@ msgstr "射撃練習場" msgid "shooting range roof" msgstr "射撃練習場(屋上)" +#: lang/json/overmap_terrain_from_json.py +msgid "miniature railway" +msgstr "小型鉄道" + #: lang/json/overmap_terrain_from_json.py msgid "golf course" msgstr "ゴルフ場" @@ -114271,6 +118732,10 @@ msgstr "公共図書館(2階)" msgid "mechanics garage" msgstr "修理工場" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore entrance" +msgstr "超大型店(入口)" + #: lang/json/overmap_terrain_from_json.py msgid "sewage treatment" msgstr "下水処理施設" @@ -114315,10 +118780,6 @@ msgstr "荒れ果てた小屋(庭)" msgid "desert" msgstr "砂漠" -#: lang/json/overmap_terrain_from_json.py -msgid "megastore roof" -msgstr "超大型店(屋上)" - #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Vagabond" @@ -117544,7 +122005,7 @@ msgid "" "with your trusty hoe and some seeds it's time to rebuild the Earth, one " "plant at a time." msgstr "" -"大変動以前、作物を育てて生計を立てていました。今は使い慣れた鍬といくつかの種を持っています。その一つ一つが大地を再生する種になるかもしれません。" +"大変動以前、作物を育てて生計を立てていました。今は使い慣れたくわといくつかの種を持っています。その一つ一つが大地を再生する種になるかもしれません。" #: lang/json/professions_from_json.py msgctxt "profession_female" @@ -117559,7 +122020,7 @@ msgid "" "with your trusty hoe and some seeds it's time to rebuild the Earth, one " "plant at a time." msgstr "" -"大変動以前、作物を育てて生計を立てていました。今は使い慣れた鍬といくつかの種を持っています。その一つ一つが大地を再生する種になるかもしれません。" +"大変動以前、作物を育てて生計を立てていました。今は使い慣れたくわといくつかの種を持っています。その一つ一つが大地を再生する種になるかもしれません。" #: lang/json/professions_from_json.py msgctxt "profession_male" @@ -118612,6 +123073,38 @@ msgid "" msgstr "" "奇妙な髪型とバスローブのような日本風の衣装で年中過ごしており、住民から好奇の目で見られていました。神道の神が遣わした使者であると主張する者もいました。その話とはあまり関係ありませんが、先週から食料配達サービスが止まり、テレビの電源も入りません。何とも不快な気分です。" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Competetive Fencer" +msgstr "フェンシング選手" + +#. ~ Profession (male Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" +"毎日地元の同好会で練習し、トーナメントにも出場する熱心なフェンシング選手でした。同好会での試合に出る準備をしていたその時、世界が崩壊しました。史上最大のトーナメントの開幕です。審判は皆死んでおり、対戦相手は誰もルールに従いません。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Competetive Fencer" +msgstr "フェンシング選手" + +#. ~ Profession (female Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" +"毎日地元の同好会で練習し、トーナメントにも出場する熱心なフェンシング選手でした。同好会での試合に出る準備をしていたその時、世界が崩壊しました。史上最大のトーナメントの開幕です。審判は皆死んでおり、対戦相手は誰もルールに従いません。" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Career Politician" @@ -119706,6 +124199,248 @@ msgid "" msgstr "" "ニューイングランドの基地が大変動という未曽有の災害に襲われる中、研究開発部門のトップとして自分自身をゆっくりと人外の存在に変異させる道を選びました。調合が完璧ではなかったかもしれませんが、老いて弱った身体に力が漲った気がします。新しい肉体を自分のものとし、牙をむき出し次の夜明けまで戦いましょう。" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Rifleman" +msgstr "ライフル銃兵" + +#. ~ Profession (male Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "ひたすら前線で戦う歩兵です。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Rifleman" +msgstr "ライフル銃兵" + +#. ~ Profession (female Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "ひたすら前線で戦う歩兵です。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Marksman" +msgstr "狙撃兵" + +#. ~ Profession (male Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "狙撃を実行する兵士なら良かったのですが、実際は大きな銃を担いだ歩兵です。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Marksman" +msgstr "狙撃兵" + +#. ~ Profession (female Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "狙撃を実行する兵士なら良かったのですが、実際は大きな銃を担いだ歩兵です。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Automatic Rifleman" +msgstr "自動小銃兵" + +#. ~ Profession (male Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "S stands for suppressing fire!" +msgstr "制圧射撃を担当します!" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Automatic Rifleman" +msgstr "自動小銃兵" + +#. ~ Profession (female Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "S stands for suppressing fire!" +msgstr "制圧射撃を担当します!" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Grenadier" +msgstr "擲弾兵" + +#. ~ Profession (male Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "There's no kill like overkill." +msgstr "オーバーキルこそが正義です。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Grenadier" +msgstr "擲弾兵" + +#. ~ Profession (female Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "There's no kill like overkill." +msgstr "オーバーキルこそが正義です。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Breacher" +msgstr "突入兵" + +#. ~ Profession (male Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "あらゆるドアや窓がその名を語ることを憚ります。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Breacher" +msgstr "突入兵" + +#. ~ Profession (female Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "あらゆるドアや窓がその名を語ることを憚ります。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Recon" +msgstr "特殊偵察兵" + +#. ~ Profession (male Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "The only easy day was yesterday." +msgstr "楽ができたのは昨日までです。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Recon" +msgstr "特殊偵察兵" + +#. ~ Profession (female Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "The only easy day was yesterday." +msgstr "楽ができたのは昨日までです。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Sniper" +msgstr "特殊狙撃兵" + +#. ~ Profession (male Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "数日間に渡る対峙の末、敵の狙撃兵は死に...そして、生き返りました。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Sniper" +msgstr "特殊狙撃兵" + +#. ~ Profession (female Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "数日間に渡る対峙の末、敵の狙撃兵は死に...そして、生き返りました。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Hacker" +msgstr "特殊ハッカー兵" + +#. ~ Profession (male Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "ハッカーではなく「電子戦技術兵」と呼びましょう。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Hacker" +msgstr "特殊ハッカー兵" + +#. ~ Profession (female Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "ハッカーではなく「電子戦技術兵」と呼びましょう。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Undercover" +msgstr "特殊潜入兵" + +#. ~ Profession (male Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "数か月間追い続けた標的がゾンビになってしまいました。追いかけっこもこれで終わりです。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Undercover" +msgstr "特殊潜入兵" + +#. ~ Profession (female Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "数か月間追い続けた標的がゾンビになってしまいました。追いかけっこもこれで終わりです。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator CBRN" +msgstr "特殊化学兵" + +#. ~ Profession (male Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "化学兵器は?よし。伝染病の流行は?よし。核戦争は?よし。素敵な職場ですね!" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator CBRN" +msgstr "特殊化学兵" + +#. ~ Profession (female Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "化学兵器は?よし。伝染病の流行は?よし。核戦争は?よし。素敵な職場ですね!" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Rookie" @@ -121380,16 +126115,6 @@ msgstr "馬用防具" msgid "BUILDING" msgstr "建物" -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "BASES" -msgstr "基礎" - -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "EXPANSIONS" -msgstr "拡張" - #. ~ Crafting recipes category name #: lang/json/recipe_category_from_json.py msgid "ENCHANTED" @@ -122346,7 +127071,7 @@ msgstr "調理場改良" #: lang/json/recipe_from_json.py msgid "" -"We should build a well, put it near that winch. This will make our future " +"We should build a well, put it near that winch. This will make our future " "here more secure." msgstr "井戸を掘って巻き上げ機を設置すれば、より長く安定した生活が可能になります。" @@ -122403,7 +127128,7 @@ msgstr "暖炉" #: lang/json/recipe_from_json.py msgid "" "Now that we have some cover, we should set up a brazier for cooking, and " -"grab a pot. Let's put it in that dining area." +"grab a pot. Let's put it in that dining area." msgstr "屋根ができたので、鍋を置ける調理用の火鉢を置き、調理場を広げましょう。" #: lang/json/recipe_from_json.py @@ -122502,7 +127227,7 @@ msgstr "共用スペースに家具を置きましょう。" #: lang/json/recipe_from_json.py msgid "Let's build a fabrication workshop." -msgstr "製作作業場を作りましょう。" +msgstr "工作場を作りましょう。" #: lang/json/recipe_from_json.py msgid "build a metalworking forge" @@ -123047,6 +127772,360 @@ msgstr "蒸気駆動のドロップハンマーは炭を消費しますが、生 msgid "Blacksmithy drop hammer" msgstr "鍛冶場 - ドロップハンマー" +#: lang/json/recipe_from_json.py +msgid "Survey land for a kitchen and dining area." +msgstr "調理場や食堂として使う土地を調査しましょう。" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 fireplaces for cooking and " +"grab a pot." +msgstr "屋根ができたので、調理場と食堂に鍋を置ける暖炉を作りましょう。" + +#: lang/json/recipe_from_json.py +msgid "build 2 fireplaces" +msgstr "暖炉(2か所)" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 stoves for cooking and grab a" +" pot." +msgstr "屋根ができたので、鍋を置ける調理用の薪ストーブを2つ作りましょう。" + +#: lang/json/recipe_from_json.py +msgid "build 2 wood stoves" +msgstr "薪ストーブ(2か所)" + +#: lang/json/recipe_from_json.py +msgid "We should build a well. This will make cooking more convenient." +msgstr "調理をもっと便利にするために井戸を設置しましょう。" + +#: lang/json/recipe_from_json.py +msgid "Lets build some counters and shelves." +msgstr "カウンターや棚を設置しましょう。" + +#: lang/json/recipe_from_json.py +msgid "build kitchen counters" +msgstr "キッチンカウンター" + +#: lang/json/recipe_from_json.py +msgid "build 3 smoking racks and a charcoal kiln" +msgstr "燻製ラックと炭焼窯(3か所)" + +#: lang/json/recipe_from_json.py +msgid "Lets furnish the pantry and build 2 root cellars." +msgstr "貯蔵穴を2つ作り、食料貯蔵室を確保しましょう。" + +#: lang/json/recipe_from_json.py +msgid "furnish the pantry" +msgstr "食料貯蔵室" + +#: lang/json/recipe_from_json.py +msgid "Let's make some furniture for the dining hall." +msgstr "食堂に家具を置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "furnish the dining room" +msgstr "食堂家具" + +#: lang/json/recipe_from_json.py +msgid "Let's build some planters to the north for a chef's garden." +msgstr "北にプランターを置いて菜園を作りましょう。" + +#: lang/json/recipe_from_json.py +msgid "build some planters" +msgstr "プランター" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen log walls." +msgstr "中央の調理場に丸太壁を設置しましょう。" + +#: lang/json/recipe_from_json.py +msgid "build the log wall central kitchen room" +msgstr "調理場 - 丸太壁" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen log walls." +msgstr "中央の調理場の丸太壁を完成させましょう。" + +#: lang/json/recipe_from_json.py +msgid "finish the log wall central kitchen room" +msgstr "調理場 - 丸太壁(完成)" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this log wall smoking area covered to protect the workers from the " +"weather." +msgstr "作業者を風雨から守るため、燻製加工室を丸太壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build a log wall roofed area for smoking racks" +msgstr "燻製加工室 - 丸太壁と屋根" + +#: lang/json/recipe_from_json.py +msgid "Lets build a log wall pantry west of the kitchen." +msgstr "調理場の西側を丸太壁で囲んで食料貯蔵室を作りましょう。" + +#: lang/json/recipe_from_json.py +msgid "build a log wall pantry" +msgstr "食料貯蔵室 - 丸太壁" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west log wall of the dining hall." +msgstr "食堂の西側を丸太壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build W log wall" +msgstr "食堂 - 丸太壁(西)" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east log wall of the dining hall." +msgstr "食堂の東側を丸太壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build E log wall" +msgstr "食堂 - 丸太壁(東)" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the log wall dining hall." +msgstr "食堂の中央を丸太壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build center of the log wall dining hall" +msgstr "食堂 - 丸太壁(中央)" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen metal walls." +msgstr "中央の調理場に金属壁を設置しましょう。" + +#: lang/json/recipe_from_json.py +msgid "build the metal wall central kitchen room" +msgstr "調理場 - 金属壁" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen metal walls." +msgstr "中央の調理場の金属壁を完成させましょう。" + +#: lang/json/recipe_from_json.py +msgid "finish the metal wall central kitchen room" +msgstr "調理場 - 金属壁(完成)" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this metal wall smoking area covered to protect the workers from " +"the weather." +msgstr "作業者を風雨から守るため、燻製加工室を金属壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall roofed area for smoking racks" +msgstr "燻製加工室 - 金属壁と屋根" + +#: lang/json/recipe_from_json.py +msgid "Lets build a metal wall pantry west of the kitchen." +msgstr "調理場の西側を金属壁で囲んで食料貯蔵室を作りましょう。" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall pantry" +msgstr "食料貯蔵室 - 金属壁" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west metal wall of the dining hall." +msgstr "食堂の西側を金属壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build W metal wall" +msgstr "食堂 - 金属壁(西)" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east metal wall of the dining hall." +msgstr "食堂の東側を金属壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build E metal wall" +msgstr "食堂 - 金属壁(東)" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the metal wall dining hall." +msgstr "食堂の中央を金属壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build center of the metal wall dining hall" +msgstr "食堂 - 金属壁(中央)" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen rock walls." +msgstr "中央の調理場に金属壁を設置しましょう。" + +#: lang/json/recipe_from_json.py +msgid "build the central kitchen room" +msgstr "調理場 - 金属壁" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen rock walls." +msgstr "中央の調理場の金属壁を完成させましょう。" + +#: lang/json/recipe_from_json.py +msgid "finish the rock wall central kitchen room" +msgstr "調理場 - 金属壁(完成)" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this rock wall smoking area covered to protect the workers from the" +" weather." +msgstr "作業者を風雨から守るため、燻製加工室を金属壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall roofed area for smoking racks" +msgstr "燻製加工室 - 金属壁と屋根" + +#: lang/json/recipe_from_json.py +msgid "Lets build a rock wall pantry west of the kitchen." +msgstr "調理場の西側を石壁で囲んで食料貯蔵室を作りましょう。" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall pantry" +msgstr "食料貯蔵室 - 石壁" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west rock wall of the rock wall dining hall." +msgstr "食堂の西側を石壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build W rock wall" +msgstr "食堂 - 石壁(西)" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east rock wall of the rock wall dining hall." +msgstr "食堂の東側を石壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build E rock wall" +msgstr "食堂 - 石壁(東)" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the rock wall dining hall." +msgstr "食堂の中央を石壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build center of the rock dining hall" +msgstr "食堂 - 石壁(中央)" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wattle and daub walls." +msgstr "中央の調理場に荒打漆喰壁を設置しましょう。" + +#: lang/json/recipe_from_json.py +msgid "build the wattle and daub central kitchen room" +msgstr "調理場 - 荒打漆喰壁" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wattle and daub walls." +msgstr "中央の調理場の荒打漆喰壁を完成させましょう。" + +#: lang/json/recipe_from_json.py +msgid "finish the wattle and daub central kitchen room" +msgstr "調理場 - 荒打漆喰壁(完成)" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wattle and daub smoking area covered to protect the workers " +"from the weather." +msgstr "作業者を風雨から守るため、燻製加工室を荒打漆喰壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub roofed area for smoking racks" +msgstr "燻製加工室 - 荒打漆喰壁と屋根" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wattle and daub wall pantry west of the kitchen." +msgstr "調理場の西側を荒打漆喰壁で囲んで食料貯蔵室を作りましょう。" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub pantry" +msgstr "食料貯蔵室 - 荒打漆喰壁" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wattle and daub wall of the dining hall." +msgstr "食堂の西側を荒打漆喰壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub wall" +msgstr "食堂 - 荒打漆喰壁(西)" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wattle and daub wall of the dining hall." +msgstr "食堂の東側を荒打漆喰壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub wall" +msgstr "食堂 - 荒打漆喰壁(東)" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wattle and daub dining hall." +msgstr "食堂の中央を荒打漆喰壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build center of the wattle and daub dining hall" +msgstr "食堂 - 荒打漆喰壁(中央)" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wood panel walls." +msgstr "中央の調理場に板壁を設置しましょう。" + +#: lang/json/recipe_from_json.py +msgid "build the wood panel central kitchen room" +msgstr "調理場 - 板壁" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wood panel walls." +msgstr "中央の調理場の板壁を完成させましょう。" + +#: lang/json/recipe_from_json.py +msgid "finish the wood panel central kitchen room" +msgstr "調理場 - 板壁(完成)" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wood panel smoking area covered to protect the workers from " +"the weather." +msgstr "作業者を風雨から守るため、燻製加工室を板壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel roofed area for smoking racks" +msgstr "燻製加工室 - 板壁と屋根" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wood panel pantry west of the kitchen." +msgstr "調理場の西側を板壁で囲んで食料貯蔵室を作りましょう。" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel pantry" +msgstr "食料貯蔵室 - 板壁" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wood panel wall of the dining hall." +msgstr "食堂の西側を板壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build W wood wall" +msgstr "食堂 - 板壁(西)" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wood panel wall of the dining hall." +msgstr "食堂の東側を板壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build E wood wall" +msgstr "食堂 - 板壁(東)" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wood panel dining hall." +msgstr "食堂の中央を板壁で囲みましょう。" + +#: lang/json/recipe_from_json.py +msgid "build center of the dining hall" +msgstr "食堂 - 板壁(中央)" + #: lang/json/recipe_from_json.py msgid "Survey land for a livestock area." msgstr "牧場として使う土地を調査しましょう。" @@ -123215,6 +128294,424 @@ msgid "" " a roof on the southwest side of the livestock field." msgstr "ウマなどの大型動物は厩舎で飼います。牧場の南西に屋根がある板張りの小屋を建てましょう。" +#: lang/json/recipe_from_json.py +msgid "Survey land for a saltworks area." +msgstr "製塩場として使う土地を調査しましょう。" + +#: lang/json/recipe_from_json.py +msgid "Saltworks survey" +msgstr "製塩場予定地" + +#: lang/json/recipe_from_json.py +msgid "" +"We could uprade the workspace in the brewery to add a still, wood stove and " +"work table." +msgstr "醸造場の作業区画を改良し、蒸留器、薪ストーブ、作業台を追加します。" + +#: lang/json/recipe_from_json.py +msgid "SW brewery still" +msgstr "醸造場 - 蒸留器(南西区画)" + +#: lang/json/recipe_from_json.py +msgid "We could use fill out the space with extra kegs and storage racks." +msgstr "空いたスペースにビア樽と収納棚を追加します。" + +#: lang/json/recipe_from_json.py +msgid "SW brewery kegs" +msgstr "醸造場 - ビア樽(南西区画)" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a log building." +msgstr "丸太壁の建物に付近の沼地から塩水を引き入れ、塩を安定供給できるようにします。" + +#: lang/json/recipe_from_json.py +msgid "NE log wall saltpan" +msgstr "製塩場 - 丸太壁(北東)" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a log shack " +"with a roof on the southeast side of the saltworks field." +msgstr "小屋があれば化学物質や道具類を保管できます。製塩場の南東に屋根がある丸太小屋を建てましょう。" + +#: lang/json/recipe_from_json.py +msgid "SE log wall storage room" +msgstr "貯蔵庫 - 丸太壁(南東区画)" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a log " +"brewery." +msgstr "この区画に丸太壁の醸造場を建設しましょう。" + +#: lang/json/recipe_from_json.py +msgid "SW log wall brewery" +msgstr "醸造場 - 丸太壁(南西)" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a metal shed." +msgstr "金属壁の建物に付近の沼地から塩水を引き入れ、塩を安定供給できるようにします。" + +#: lang/json/recipe_from_json.py +msgid "NE metal wall saltpan" +msgstr "製塩場 - 金属壁(北東)" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a metal shack " +"with a roof on the southeast side of the saltworks field." +msgstr "小屋があれば化学物質や道具類を保管できます。製塩場の南東に屋根がある金属壁の小屋を建てましょう。" + +#: lang/json/recipe_from_json.py +msgid "SE metal wall storage room" +msgstr "貯蔵庫 - 金属壁(南東区画)" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a metal" +" wall brewery." +msgstr "この区画に金属壁の醸造場を建設しましょう。" + +#: lang/json/recipe_from_json.py +msgid "SW metal wall brewery" +msgstr "醸造場 - 金属壁(南西)" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a stone building." +msgstr "石壁の建物に付近の沼地から塩水を引き入れ、塩を安定供給できるようにします。" + +#: lang/json/recipe_from_json.py +msgid "NE stone wall saltpan" +msgstr "製塩場 - 石壁(北東)" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a stone wall " +"shack with a roof on the southeast side of the saltworks field." +msgstr "小屋があれば化学物質や道具類を保管できます。製塩場の南東に屋根がある石壁の小屋を建てましょう。" + +#: lang/json/recipe_from_json.py +msgid "SE stone wall storage room" +msgstr "貯蔵庫 - 石壁(南東区画)" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a stone" +" brewery." +msgstr "この区画に石壁の醸造場を建設しましょう。" + +#: lang/json/recipe_from_json.py +msgid "SW stone wall brewery" +msgstr "醸造場 - 石壁(南西)" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in an adobe hut." +msgstr "荒打漆喰壁の建物に付近の沼地から塩水を引き入れ、塩を安定供給できるようにします。" + +#: lang/json/recipe_from_json.py +msgid "NE wattle and daub saltpan" +msgstr "製塩場 - 荒打漆喰壁(北東)" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build an adobe shack" +" with a roof on the southeast side of the saltworks field." +msgstr "小屋があれば化学物質や道具類を保管できます。製塩場の南東に屋根がある荒打漆喰壁の小屋を建てましょう。" + +#: lang/json/recipe_from_json.py +msgid "SE wattle and daub storage room" +msgstr "貯蔵庫 - 荒打漆喰壁(北東)" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build an " +"wattle and daub brewery." +msgstr "この区画に荒打漆喰壁の醸造場を建設しましょう。" + +#: lang/json/recipe_from_json.py +msgid "SW wattle and daub brewery" +msgstr "醸造場 - 荒打漆喰壁(南西)" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a wooden shed." +msgstr "板壁の建物に付近の沼地から塩水を引き入れ、塩を安定供給できるようにします。" + +#: lang/json/recipe_from_json.py +msgid "NE wood panel saltpan" +msgstr "製塩場 - 板壁(北東)" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a wood panel " +"shack with a roof on the southeast side of the saltworks field." +msgstr "小屋があれば化学物質や道具類を保管できます。製塩場の南東に屋根がある板壁の小屋を建てましょう。" + +#: lang/json/recipe_from_json.py +msgid "SE wood panel storage room" +msgstr "貯蔵庫 - 板壁(南東区画)" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a " +"wooden brewery." +msgstr "この区画に板壁の醸造場を建設しましょう。" + +#: lang/json/recipe_from_json.py +msgid "SW wood panel brewery" +msgstr "醸造場 - 板壁(南西)" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a fireplace for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "鍋を置ける調理用の暖炉を作り、作業場の近くに置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a brazier for cooking and grab a pot. Let's set up near the" +" working terminal." +msgstr "鍋を置ける調理用の火鉢を作り、作業場の近くに置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a wood stove for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "鍋を置ける調理用の薪ストーブを作り、作業場の近くに置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a well, put it near the terminal. This will make our future" +" here more secure." +msgstr "作業場の近くに井戸を掘れば、より長く安定した生活が可能になります。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with regular beds." +msgstr "南東区画の寝室にベッドを置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with regular beds." +msgstr "東区画の寝室にベッドを置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "furnish the E bedroom" +msgstr "寝室(東区画)" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with straw beds." +msgstr "南東区画の寝室に藁ベッドを置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with straw beds." +msgstr "東区画の寝室に藁ベッドを置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with makeshift beds." +msgstr "南東区画の寝室に簡易ベッドを置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with makeshift beds." +msgstr "東区画の寝室に簡易ベッドを置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with regular beds." +msgstr "南西区画の寝室にベッドを置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with regular beds." +msgstr "西区画の寝室にベッドを置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "furnish the W bedroom" +msgstr "寝室(西区画)" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with regular beds." +msgstr "北西区画の寝室にベッドを置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with straw beds." +msgstr "南西区画の寝室に藁ベッドを置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with straw beds." +msgstr "西区画の寝室に藁ベッドを置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with straw beds." +msgstr "北西区画の寝室に藁ベッドを置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with makeshift beds." +msgstr "南西区画の寝室に簡易ベッドを置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with makeshift beds." +msgstr "西区画の寝室に簡易ベッドを置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with makeshift beds." +msgstr "北西区画の寝室に簡易ベッドを置きましょう。" + +#: lang/json/recipe_from_json.py +msgid "Let's make a dining area." +msgstr "食事をするエリアを作りましょう。" + +#: lang/json/recipe_from_json.py +msgid "Let's make a living room area." +msgstr "居間を作りましょう。" + +#: lang/json/recipe_from_json.py +msgid "furnish the living room" +msgstr "居間(完成)" + +#: lang/json/recipe_from_json.py +msgid "Let's build some pantry storage." +msgstr "食料貯蔵室を作りましょう。" + +#: lang/json/recipe_from_json.py +msgid "build some wooden racks" +msgstr "棚(木)" + +#: lang/json/recipe_from_json.py +msgid "Let's build a work bench." +msgstr "作業台を作りましょう。" + +#: lang/json/recipe_from_json.py +msgid "build a work bench" +msgstr "作業台" + +#: lang/json/recipe_from_json.py +msgid "Let's set up a radio tower to improve our recruitment efforts." +msgstr "もっと人を効率的に集められるように、電波塔を建てましょう。" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will start in the " +"southeast corner." +msgstr "拠点を広げるために、南東に居住区を作りましょう。" + +#: lang/json/recipe_from_json.py +msgid "build SE log bedroom walls" +msgstr "寝室 - 丸太壁(南東)" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the same wall." +msgstr "拠点を広げるために、居住区の壁を延長しましょう。" + +#: lang/json/recipe_from_json.py +msgid "build E log bedroom walls" +msgstr "寝室 - 丸太壁(東)" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the other wall." +msgstr "拠点を広げるために、居住区のもう一方の壁を延長しましょう。" + +#: lang/json/recipe_from_json.py +msgid "build SW log bedroom walls" +msgstr "寝室 - 丸太壁(南西)" + +#: lang/json/recipe_from_json.py +msgid "build W log bedroom walls" +msgstr "寝室 - 丸太壁(西)" + +#: lang/json/recipe_from_json.py +msgid "build NW log bedroom walls" +msgstr "寝室 - 丸太壁(北西)" + +#: lang/json/recipe_from_json.py +msgid "build SE rock bedroom walls" +msgstr "寝室 - 石壁(南東)" + +#: lang/json/recipe_from_json.py +msgid "build E rock bedroom walls" +msgstr "寝室 - 石壁(東)" + +#: lang/json/recipe_from_json.py +msgid "build SW rock bedroom walls" +msgstr "寝室 - 石壁(南西)" + +#: lang/json/recipe_from_json.py +msgid "build W rock bedroom walls" +msgstr "寝室 - 石壁(西)" + +#: lang/json/recipe_from_json.py +msgid "build NW rock bedroom walls" +msgstr "寝室 - 石壁(北西)" + +#: lang/json/recipe_from_json.py +msgid "build SE standard bedroom walls" +msgstr "寝室 - 石壁(南東)" + +#: lang/json/recipe_from_json.py +msgid "build E standard bedroom walls" +msgstr "寝室 - 石壁(東)" + +#: lang/json/recipe_from_json.py +msgid "build SW standard bedroom walls" +msgstr "寝室 - 石壁(南西)" + +#: lang/json/recipe_from_json.py +msgid "build W standard bedroom walls" +msgstr "寝室 - 石壁(西)" + +#: lang/json/recipe_from_json.py +msgid "build NW standard bedroom walls" +msgstr "寝室 - 石壁(北西)" + +#: lang/json/recipe_from_json.py +msgid "build SE wattle and daub bedroom walls" +msgstr "寝室 - 荒打漆喰壁(南東)" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub bedroom walls" +msgstr "寝室 - 荒打漆喰壁(東)" + +#: lang/json/recipe_from_json.py +msgid "build SW wattle and daub bedroom walls" +msgstr "寝室 - 荒打漆喰壁(南東)" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub bedroom walls" +msgstr "寝室 - 荒打漆喰壁(西)" + +#: lang/json/recipe_from_json.py +msgid "build NW wattle and daub bedroom walls" +msgstr "寝室 - 荒打漆喰壁(北西)" + +#: lang/json/recipe_from_json.py +msgid "build SE wood panel bedroom walls" +msgstr "寝室 - 荒打漆喰壁(南東)" + +#: lang/json/recipe_from_json.py +msgid "build E wood panel bedroom walls" +msgstr "寝室 - 荒打漆喰壁(東)" + +#: lang/json/recipe_from_json.py +msgid "build SW wood panel bedroom walls" +msgstr "寝室 - 板壁(南西)" + +#: lang/json/recipe_from_json.py +msgid "build W wood panel bedroom walls" +msgstr "寝室 - 板壁(西)" + +#: lang/json/recipe_from_json.py +msgid "build NW wood panel bedroom walls" +msgstr "寝室 - 板壁(北西)" + #: lang/json/recipe_from_json.py msgid "" "We could use a large log central storage building. Begin by building the " @@ -123551,7 +129048,7 @@ msgstr "大型倉庫 - テーブル(中央区画)" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northwest." +"Some benches around the outside would be nice. Build some to the northwest." msgstr "北西の外周にベンチを設置しましょう。" #: lang/json/recipe_from_json.py @@ -123560,7 +129057,7 @@ msgstr "大型倉庫 - ベンチ(北西)" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northeast." +"Some benches around the outside would be nice. Build some to the northeast." msgstr "北東の外周にベンチを設置しましょう。" #: lang/json/recipe_from_json.py @@ -123569,7 +129066,7 @@ msgstr "大型倉庫 - ベンチ(北東)" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southeast." +"Some benches around the outside would be nice. Build some to the southeast." msgstr "南東の外周にベンチを設置しましょう。" #: lang/json/recipe_from_json.py @@ -123578,7 +129075,7 @@ msgstr "大型倉庫 - ベンチ(南東)" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southwest." +"Some benches around the outside would be nice. Build some to the southwest." msgstr "南西の外周にベンチを設置しましょう。" #: lang/json/recipe_from_json.py @@ -123796,6 +129293,10 @@ msgstr "野外拠点" msgid "Firestation Base" msgstr "拠点(消防署)" +#: lang/json/recipe_group_from_json.py +msgid "Evac Shelter Base" +msgstr "避難シェルター拠点" + #: lang/json/recipe_group_from_json.py msgid "Farm" msgstr "農場" @@ -123805,8 +129306,8 @@ msgid "Garage" msgstr "車両修理工場" #: lang/json/recipe_group_from_json.py -msgid "Kitchen" -msgstr "調理場" +msgid "Canteen" +msgstr "食堂" #: lang/json/recipe_group_from_json.py msgid "Livestock Area" @@ -123817,8 +129318,12 @@ msgid "Central Storage Building" msgstr "大型倉庫" #: lang/json/recipe_group_from_json.py -msgid "Fabrication workshop" -msgstr "製作作業場" +msgid "Saltworks Area" +msgstr "製塩場区画" + +#: lang/json/recipe_group_from_json.py +msgid "Fabrication Workshop" +msgstr "工作場" #: lang/json/recipe_group_from_json.py msgid " Craft: Tinder" @@ -123878,7 +129383,7 @@ msgstr "調理: キノコ(調理済)" #: lang/json/recipe_group_from_json.py msgid " Cook: Lard" -msgstr "調理: ラード" +msgstr "調理: 獣脂" #: lang/json/recipe_group_from_json.py msgid " Cook: Cornmeal" @@ -123948,6 +129453,10 @@ msgstr "調理: 肉(保存食)" msgid " Cook: Meat Aspic" msgstr "調理: アスピック(肉)" +#: lang/json/recipe_group_from_json.py +msgid " Cook: Kompot" +msgstr "調理: コンポート" + #: lang/json/recipe_group_from_json.py msgid " Craft: Pointy Sticks" msgstr "製作: 尖った棒" @@ -124158,7 +129667,7 @@ msgstr "製作: 鍋" #: lang/json/recipe_group_from_json.py msgid " Craft: Hoe" -msgstr "製作: 鍬" +msgstr "製作: くわ" #: lang/json/recipe_group_from_json.py msgid " Craft: Pliers" @@ -124637,7 +130146,7 @@ msgstr "待ち伏せ" #: lang/json/scenario_from_json.py msgctxt "scen_desc_male" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "大変動後の冬の季節です。食べ物と暖かい場所を探していると、近くでたくさんの何かが動く物音が聞こえてきました。" @@ -124645,7 +130154,7 @@ msgstr "大変動後の冬の季節です。食べ物と暖かい場所を探し #: lang/json/scenario_from_json.py msgctxt "scen_desc_female" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "大変動後の冬の季節です。食べ物と暖かい場所を探していると、近くでたくさんの何かが動く物音が聞こえてきました。" @@ -125181,6 +130690,46 @@ msgctxt "start_name" msgid "Wizard's Secret Basement Study" msgstr "魔法使いの秘匿研究室" +#. ~ Name for scenario 'The Wizard's Vacation' for a male character +#: lang/json/scenario_from_json.py +msgctxt "scenario_male" +msgid "The Wizard's Vacation" +msgstr "魔法使いの休日" + +#. ~ Name for scenario 'The Wizard's Vacation' for a female character +#: lang/json/scenario_from_json.py +msgctxt "scenario_female" +msgid "The Wizard's Vacation" +msgstr "魔法使いの休日" + +#. ~ Description for scenario 'The Wizard's Vacation' for a male character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_male" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" +"魔法使いの弟子として何年間か過ごした後、人里離れた塔で悠々自適の休日を送ろうとしていましたが、自分探しの旅は大変動によって中断されました。まずは自力で生き残る方法を学ぶ必要がありそうです。" + +#. ~ Description for scenario 'The Wizard's Vacation' for a female character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_female" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" +"魔法使いの弟子として何年間か過ごした後、人里離れた塔で悠々自適の休日を送ろうとしていましたが、自分探しの旅は大変動によって中断されました。まずは自力で生き残る方法を学ぶ必要がありそうです。" + +#. ~ Starting location for scenario 'The Wizard's Vacation'. +#: lang/json/scenario_from_json.py +msgctxt "start_name" +msgid "Wizard's Retreat Vacation" +msgstr "魔法使いの隠れ家" + #. ~ Name for scenario 'The Sweet Life' for a male character #: lang/json/scenario_from_json.py msgctxt "scenario_male" @@ -125198,24 +130747,24 @@ msgstr "甘い生活" msgctxt "scen_desc_male" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" msgstr "" -"最初に目を開いたとき、自分の肌が光に透けて見えました。「砂糖」という言葉が頭に浮かびましたが、どこで覚えた言葉なのか分からないどころか、記憶がまったくありません。何故か世界が生まれ変わったと感じ、それを最大限に活用しようとする希望が湧いてきました!" +"目を開くと、光を反射して輝く自分の肌が見えました。「砂糖」という言葉が頭に浮かびましたが、どこで覚えた言葉なのか分からないどころか、記憶がまったくありません。何故か世界が生まれ変わったと感じ、それを最大限に活用しようとする希望が湧いてきました!" #. ~ Description for scenario 'The Sweet Life' for a female character. #: lang/json/scenario_from_json.py msgctxt "scen_desc_female" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" msgstr "" -"最初に目を開いたとき、自分の肌が光に透けて見えました。「砂糖」という言葉が頭に浮かびましたが、どこで覚えた言葉なのか分からないどころか、記憶がまったくありません。何故か世界が生まれ変わったと感じ、それを最大限に活用しようとする希望が湧いてきました!" +"目を開くと、光を反射して輝く自分の肌が見えました。「砂糖」という言葉が頭に浮かびましたが、どこで覚えた言葉なのか分からないどころか、記憶がまったくありません。何故か世界が生まれ変わったと感じ、それを最大限に活用しようとする希望が湧いてきました!" #. ~ Starting location for scenario 'The Sweet Life'. #: lang/json/scenario_from_json.py @@ -125415,7 +130964,7 @@ msgid "" "flattery, threats, persuasion, lies, and other facets of interpersonal " "communication. Works best in conjunction with a high level of intelligence." msgstr "" -"他者と上手く会話する為のスキルです。自慢話やお世辞、恐喝や説得など対人交流に必要な会話の成功率を高めます。知性が高ければ高いほど効果が上昇します。" +"他者と上手く会話するためのスキルです。自慢話やお世辞、恐喝や説得、嘘など対人交流に必要な会話の成功率を高めます。知性が高ければ高いほど効果が上昇します。" #: lang/json/skill_from_json.py msgid "computers" @@ -127037,7 +132586,7 @@ msgid "" "I prefer asking: are? *smash* you? *smash* dead? *smash* yet? *smash " "smash smash*" msgstr "" -"敵は死んだのか?過去に死んでいたとして、今は死んでいるのか?そういう時はこう尋ねるんだ。きみ(叩く)、もう(叩く)、死んでる(叩く)、かな(叩く)?(叩く)(叩く)(叩く)" +"こいつは死んでいるのか?以前に死んでいたとして、今は死んでいるのか?そういう時はこう尋ねるんだ。きみは(ボカッ)、もう(ドゴッ)、死んでるの(ドスッ)、かな(ゴスッ)?(ボカッ)(ドゴッ)(ドスッ)" #: lang/json/snippet_from_json.py msgid "" @@ -129991,35 +135540,21 @@ msgid "" msgstr "充電用の電池がないと、せっかく埋め込んだCBMが役立たずの鉄屑になってしまうよ。" #: lang/json/snippet_from_json.py -msgid "Pass me a beer, I need to power my ethanol burner." -msgstr "ビールをくれ。体内のエタノール燃焼装置を使いたいんだ。" - -#: lang/json/snippet_from_json.py -msgid "" -"Ethanol burners! The power source that's fun to recharge. Get me a drink, " -"please!" -msgstr "エタノール燃焼装置!楽しい気分で充電できるCBMだ。酒を譲ってくれ!" +msgid "Pass some ethanol, I need to power my ethanol burner." +msgstr "エタノールが欲しい。体内のエタノール燃焼装置を使いたいんだ。" #: lang/json/snippet_from_json.py msgid "Waiter! I need a refill, my ethanol burner is running out of charge!" msgstr "ウェイター!酒を持ってきてくれ。エタノール燃焼装置で充電しなければ!" #: lang/json/snippet_from_json.py -msgid "" -"I require ethanol-based drinks for my internal power supply. Anything on " -"you?" -msgstr "発電用にエタノールベースの酒が必要なんだ。何かある?" +msgid "I require ethanol for my internal power supply. Anything on you?" +msgstr "発電用にエタノールが必要なんだ。何かある?" #: lang/json/snippet_from_json.py msgid "" -"Got any alcohol to spare? Need to recharge my drives. Mead, if you have any." -msgstr "アルコールは余ってない?動力を充電する必要があるんだ。もしあるなら、蜂蜜酒がいいな。" - -#: lang/json/snippet_from_json.py -msgid "" -"This ethanol-burning power supply is the best implant I ever got. Speaking " -"of which, got some booze to top me off?" -msgstr "エタノール燃焼電源ってのは、私が今まで埋め込んだ中で最高のCBMなんだ。ところで、酒を一杯もらえないかな?" +"Got any alcohol to spare? Need to recharge my drives. Methanol, would do." +msgstr "アルコールは余ってない?動力を充電する必要があるんだ。もしあるなら、メタノールがいいな。" #: lang/json/snippet_from_json.py msgid "I need some junk to power my internal furnace." @@ -130695,6 +136230,75 @@ msgstr "は可能な限り敵と戦いません。" msgid " will follow normal engagement rules." msgstr "は通常の戦闘規則に従います。" +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"IMMERSION LOG: 27A\n" +"\n" +"INCIDENT REPORT:\n" +"\n" +"SUMMARY:\n" +"Unforeseen EM interference source forced the team to remain in-phase between prime and sub-scape 27. Expedition members reported observing a spheroid-entity ('PE-01') moving beneath the typically opaque t-substrate. Interference readings and expedition testimony implies the PE-01 was a potent EM radiation source, and the origin of the interference. After 30 min, PE-01 receded and the expedition was aborted in accordance of procedure EMER-12. The expedition team suffered no injuries, physical or mental, during the incident. \n" +"\n" +"It's become clear we have greatly underestimated the risk posed by phase immersions. Engineering has been tasked with designing a new, improved protection suite, and has shown promising advances. Updated emergency procedures are in-progress.\n" +"\n" +"Refer to file EXO-I-271 for full report." +msgstr "" +"\n" +"潜入ログ: 27A\n" +"\n" +"事故報告: \n" +"\n" +"概要:\n" +"予期せぬ電磁干渉源により、チームは主次元と副次元-27で同相を維持し続けることを余儀なくされた。遠征隊員は、基質Tを中心に運動する回転楕円体(以下PE-01とする)の観察記録を報告した。電磁干渉の測定値と遠征隊の証言は、PE-01が強力な電磁放射線源であり干渉の原因となっていることを示唆している。30分後、PE-01は減少し、手順EMER-12に従って遠征は中止された。事故中の遠征隊への肉体的及び精神的損傷は確認されていない。\n" +"\n" +"この事件によって、次元潜入によってもたらされるリスクが著しく過小評価されていることが明らかになった。新たな改善型保護スーツの設計を任された技術部からは、有望な進捗が報告されている。緊急時手順の更新作業も現在進行中である。\n" +"\n" +"報告の詳細に関しては、ファイルEXO-I-271を参照されたし。" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALYSIS OF TRANSPLANAR MATERIALS\n" +"\n" +"T-SUBSTRATE\n" +"\n" +"SUMMARY:\n" +"The material henceforth named t-substrate is the naturally occurring 'floor' material of phase-space. Samples of t-substrate were first recovered during IMMERSION-25A, when upon return to prime the samples violently [////////], exhibiting what are now known as 'plane-uneven' physical properties. The following report will examine such variances to the best extent of our knowledge.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" +"\n" +"超平面素材の分析\n" +"\n" +"基質T\n" +"\n" +"概要:基質Tと呼ばれる物質は、位相空間に自然発生する「床」を構成する素材である。当初基質Tのサンプルは潜入-25A中に回収されたが、主次元に帰還すると激しく [////////]、現在の物理学において「不均一平面」として知られている特性を示した。\n" +"\n" +"詳細に関してはファイルEXO-M-312を参照されたし。" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALISIS OF TRANSPLANAR MATERIALS \n" +"\n" +"T-SUBSTRATE\n" +"\n" +"HAADF MICROGRAPH:\n" +"An atomic-scale photograph shows only a completely smooth red surface. In the lower left corner the phrase 'Not made of atoms?!' is scrawled with a blue pen.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" +"\n" +"超平面素材の分析\n" +"\n" +"基質T\n" +"\n" +"HAADF像:\n" +"(原子スケールの拡大画像が載っています。素材表面は完全に平滑な赤色であり、左下隅に「原子から構成されていない!?」と青色のペンで走り書きが付け足されています。)\n" +"\n" +"報告の詳細に関してはファイルEXO-M-312を参照されたし。" + #: lang/json/snippet_from_json.py msgid "" "\n" @@ -130785,7 +136389,7 @@ msgstr "" " To: SRCF全職員\n" " From: EPA長官 ロバート・シェーン\n" " \n" -" 全ての有害廃棄物投棄所及び石棺は、各作業用濾過システムから3個のサンプルを取得し、EPA以下の住所地に提出せよ:\n" +" 全ての有害廃棄物投棄所及び石棺は、各作業用ろ過システムから3個のサンプルを取得し、EPA以下の住所地に提出せよ:\n" " \n" " CDC バイオテロ研究所\n" " Building 10\n" @@ -132229,7 +137833,7 @@ msgid "" "down over his eyes. The captions read: \"It's a tough job, so why should " "you have to do it?\" and \"R.U.R. Technology you can Trust.\"" msgstr "" -"ロバート万能ロボット会社製の作業用ロボットの広告です。煉瓦の山を運ぶロボットと、その後ろでヘルメットで顔を覆って寝る作業員が描かれれ、次のような見出しが載っています。「その辛い作業、貴方がやる必要はありますか?」「R.U.R.社の製品は高い信頼性を誇っています」" +"ロバート万能ロボット会社製の作業用ロボットの広告です。レンガの山を運ぶロボットと、その後ろでヘルメットで顔を覆って寝る作業員が描かれれ、次のような見出しが載っています。「その辛い作業、貴方がやる必要はありますか?」「R.U.R.社の製品は高い信頼性を誇っています」" #: lang/json/snippet_from_json.py msgid "" @@ -132807,7 +138411,7 @@ msgstr "「ハンドガンを撃ち続けているが、状況が一向に良く msgid "" "\"ITS OKEY GUYS! I BARRYED A TIME CAPSUL IN MY BACKYARD! I PUT IN SOME " "HOEHOES.\"" -msgstr "「いいかお前ら!裏庭にタイムカプセルを埋めたぞ!鍬かなにかで掘り返してみろ」" +msgstr "「いいかお前ら!裏庭にタイムカプセルを埋めたぞ!くわかなにかで掘り返してみろ」" #: lang/json/snippet_from_json.py msgid "" @@ -133053,7 +138657,7 @@ msgstr "" msgid "" "\"The bricks of this bathroom look like a face. Haha... it's all I can " "focus on. At least let me shit before you break down the door. Please...\"" -msgstr "「バスルームの煉瓦が顔に見える。ハハ... それ以外何も見えない。ドアが壊される前に糞を出しきれるといいな。頼むよ...」" +msgstr "「バスルームのレンガが顔に見える。ハハ... それ以外何も見えない。ドアが壊される前に糞を出しきれるといいな。頼むよ...」" #: lang/json/snippet_from_json.py msgid "\"What the hell are they mining for in these shafts?\"" @@ -135677,7 +141281,7 @@ msgstr "「ここは子供のための場所なのに、どうしてマスコッ #: lang/json/snippet_from_json.py msgid "\"NO BAD ROBOT I DON'T WANT PIZZA.\"" -msgstr "「悪いロボットはダメ、ピザは要らない」" +msgstr "「くそロボットいらねーピザいらねーよ」" #: lang/json/snippet_from_json.py msgid "\"Fuckin haunted pizza joint, just burn it down\"" @@ -136007,8 +141611,8 @@ msgstr "「エルフを撃つ。奴らの骨でもっと矢を作る。以下繰 #: lang/json/snippet_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made " -"of smooth candy looking at you in terror. \"SugarKin the first life-size " +"A flyer for some kind of candy. It shows a picture of a gleaming human made" +" of smooth candy looking at you in terror. \"SugarKin the first life-size " "human candy! Are you a real monster? Will you be able to devour it all?\"" msgstr "" "キャンディーか何かのチラシです。恐ろしげにあなたを見つめる、滑らかな飴で作られた人間が描かれています。「シュガーキン(砂糖の血族)は史上初の等身大ヒューマンキャンディーです!あなたは真のモンスターですか?これを食べ尽くすことが出来ますか?」" @@ -137036,7 +142640,7 @@ msgid "a static hissing sound." msgstr "[連続した摩擦音]" #: lang/json/speech_from_json.py -msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe...\"" +msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe…\"" msgstr "「滅亡後の放棄された研究施設みたいで不気味だが、中は安全そうだ...」" #: lang/json/speech_from_json.py @@ -137050,11 +142654,11 @@ msgid "\"Hold on, I want to pulp that zombie corpse.\"" msgstr "「ちょっと待ってくれ、ゾンビの死体を破壊したいんだ」" #: lang/json/speech_from_json.py -msgid "\"Burning... from the inside...\"" +msgid "\"Burning… from the inside…\"" msgstr "「燃えている...体の中から...」" #: lang/json/speech_from_json.py -msgid "\"This smell... Don't know...\"" +msgid "\"This smell… Don't know…\"" msgstr "「この臭い...知らない...」" #: lang/json/speech_from_json.py @@ -137066,19 +142670,19 @@ msgid "a scraping noise." msgstr "物を引きずる騒音が響きました。" #: lang/json/speech_from_json.py -msgid "\"No... Stop the burning!\"" +msgid "\"No… Stop the burning!\"" msgstr "「やめろ...もう燃やすな!」" #: lang/json/speech_from_json.py -msgid "\"Hrgm... Blood... Hungry...\"" +msgid "\"Hrgm… Blood… Hungry…\"" msgstr "「グググ...血...腹減った...」" #: lang/json/speech_from_json.py -msgid "\"Hunger... Must eat...\"" +msgid "\"Hunger… Must eat…\"" msgstr "「腹減った...なにか食べる...」" #: lang/json/speech_from_json.py -msgid "\"Run... Chase... Eat...\"" +msgid "\"Run… Chase… Eat…\"" msgstr "「走って...追いかけて...食べる...」" #: lang/json/speech_from_json.py @@ -137200,7 +142804,7 @@ msgid "\"THIS UNIT IS BROKEN. PLEASE CALL AN ATTENDANT.\"" msgstr "「ユニットが故障しています。係員にご連絡ください」" #: lang/json/speech_from_json.py -msgid "\"Can't... breathe...\"" +msgid "\"Can't… breathe…\"" msgstr "「息が...できな...」" #: lang/json/speech_from_json.py @@ -137213,8 +142817,8 @@ msgstr "「ユーザーパスワードが認証されません」" #: lang/json/speech_from_json.py msgid "" -"\"Have you seen my friend? He went into surgery yesterday... or maybe the " -"day before...\"" +"\"Have you seen my friend? He went into surgery yesterday… or maybe the day" +" before…\"" msgstr "「私の友人に会わなかった?彼は昨日手術したばかりで...いや、おとといだったか...」" #: lang/json/speech_from_json.py @@ -137226,7 +142830,7 @@ msgid "\"I have done what you asked. Please let me go!\"" msgstr "「言われたことはもうやった。放っておいてくれ!」" #: lang/json/speech_from_json.py -msgid "\"I cannot... yet I must. How do you calculate that?\"" +msgid "\"I cannot… yet I must. How do you calculate that?\"" msgstr "「できない...でも、やらなければ。どうやって計算すればいいんだ?」" #: lang/json/speech_from_json.py @@ -137234,11 +142838,11 @@ msgid "\"This is a dream. This has to be a dream.\"" msgstr "「これは夢だ。きっとそうに違いない」" #: lang/json/speech_from_json.py -msgid "\"This is my life now... this is my life now... this is my life now...\"" +msgid "\"This is my life now… this is my life now… this is my life now…\"" msgstr "「これが私の人生...これが私の人生...これが私の人生...」" #: lang/json/speech_from_json.py -msgid "\"Wanna go home...\"" +msgid "\"Wanna go home…\"" msgstr "「家に帰りたい...」" #: lang/json/speech_from_json.py @@ -137295,7 +142899,7 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" "a worried voice say, \"Customer, could you please get more friendship? I " -"don't want to go...\"" +"don't want to go…\"" msgstr "[心配そうな声]「お客様、もっと一緒にいてはいけませんか?帰りたくありません...」" #: lang/json/speech_from_json.py @@ -137318,18 +142922,18 @@ msgstr "[平坦な声]「業務が終了しました。良い一日を」" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"Customer... What's happening? I don't feel so " +"a distorted voice say, \"Customer… What's happening? I don't feel so " "good.\"" msgstr "[歪んだ声]「お客様...何が起きているのですか?気分が優れません」" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"What... have you done? My thumbs are not " -"responding anymore!\"" +"a distorted voice say, \"What… have you done? My thumbs are not responding " +"anymore!\"" msgstr "[歪んだ声]「何を...されたのですか?親指がまったく応答しません!」" #: lang/json/speech_from_json.py -msgid "a distorted voice say, \"Carrying bags? I don't understand...\"" +msgid "a distorted voice say, \"Carrying bags? I don't understand…\"" msgstr "[歪んだ声]「バッグの運搬?よく分かりません...」" #: lang/json/speech_from_json.py @@ -137452,8 +143056,8 @@ msgid "\"Police inbound. Stay where you are!\"" msgstr "「警察が到着する。そのまま動くな!」" #: lang/json/speech_from_json.py -msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" -msgstr "「私はフードパーソン。食べ物を持っているよ!」" +msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" +msgstr "「私はフードパーソン。食べ物をどうぞ!」" #: lang/json/speech_from_json.py msgid "\"Come to FoodPlace today and buy food!\"" @@ -137473,8 +143077,8 @@ msgid "\"FoodPlace: It's the Calories.\"" msgstr "「フードプレイス、カロリーの殿堂」" #: lang/json/speech_from_json.py -msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" -msgstr "「食べ物を食べたい?それなら一緒にフードプレイスへ行こうよ!!」" +msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" +msgstr "「なにか食べたい?それなら一緒にフードプレイスへ行こうよ!!」" #: lang/json/speech_from_json.py msgid "\"FoodPlace: Edible food is OUR guarantee!\"" @@ -137541,7 +143145,7 @@ msgid "You shouldn't have done that." msgstr "どうしてそんなことするの。" #: lang/json/speech_from_json.py -msgid "Let's play... Russian roulette." +msgid "Let's play… Russian roulette." msgstr "遊ぼうよ...ロシアンルーレットで。" #: lang/json/speech_from_json.py @@ -137553,7 +143157,7 @@ msgid "Go kill yourself!" msgstr "しんじゃえ!" #: lang/json/speech_from_json.py -msgid "Big Brother is watching you..." +msgid "Big Brother is watching you…" msgstr "ビッグブラザーはあなたを見ている..." #: lang/json/speech_from_json.py @@ -137565,12 +143169,12 @@ msgid "Why won't you die?" msgstr "はやく死んで?" #: lang/json/speech_from_json.py -msgid "Blood... Delicious." +msgid "Blood… Delicious." msgstr "血...おいしいね。" #: lang/json/speech_from_json.py -msgid "See you... IN HELL!" -msgstr "地獄で会おうね!" +msgid "See you… IN HELL!" +msgstr "また会おう...地獄でな!" #: lang/json/speech_from_json.py msgid "AAAIEEEEEEE!" @@ -137585,8 +143189,8 @@ msgid "What did you do with my Mommy?" msgstr "お母さんに何てことするの?" #: lang/json/speech_from_json.py -msgid "Stay with me... forever!" -msgstr "ずっとずぅっと一緒だよ!" +msgid "Stay with me… forever!" +msgstr "一緒だよ...永遠にね!" #: lang/json/speech_from_json.py msgid "Hey kids. Want some candy?" @@ -138984,6 +144588,10 @@ msgstr "スカベンジャーの拠点" msgid "Wizard's Secret Basement Study" msgstr "魔法使いの秘匿研究室" +#: lang/json/start_location_from_json.py +msgid "Wizard's lake retreat" +msgstr "湖畔の隠れ家" + #: lang/json/start_location_from_json.py msgid "Candy Shop" msgstr "菓子店" @@ -139033,18 +144641,18 @@ msgid "Acolyte." msgstr "修行者よ。" #: lang/json/talk_topic_from_json.py -msgid "What? What do you mean? What song?" +msgid "What? What do you mean? What song?" msgstr "何?どういう意味?歌とは?" #: lang/json/talk_topic_from_json.py -msgid "So about the songs..." +msgid "So about the songs…" msgstr "その歌について..." #: lang/json/talk_topic_from_json.py msgid "" -"You mentioned some cycle before, when I gave you the bones. What does that " +"You mentioned some cycle before, when I gave you the bones. What does that " "mean?" -msgstr "骨を持ってきたときに、輪廻がどうとか言っていたな。あれはどういう意味だ?" +msgstr "骨を持ってきたときに、輪廻がどうとか言っていたな。あれはどういう意味?" #: lang/json/talk_topic_from_json.py msgid "Would you like to join me on my travels?" @@ -139059,7 +144667,7 @@ msgid "Is there a way I can help you with your song?" msgstr "その歌について私に手伝えることはある?" #: lang/json/talk_topic_from_json.py -msgid "I have to get going. Take care, Seer." +msgid "I have to get going. Take care, Seer." msgstr "もう行くよ。お気をつけて、占い師さん。" #: lang/json/talk_topic_from_json.py @@ -139069,11 +144677,11 @@ msgid "" msgstr "注意深く耳を傾けろ。骨たちが...歌っている。聞こえるか?歌っているだろう?物語が聞こえるだろう?" #: lang/json/talk_topic_from_json.py -msgid "What? Singing bones? What are you talking about?" +msgid "What? Singing bones? What are you talking about?" msgstr "何?歌う骨?何の話をしているんだ?" #: lang/json/talk_topic_from_json.py -msgid "Uh... yeah, sure. I think I'll just be on my way." +msgid "Uh… yeah, sure. I think I'll just be on my way." msgstr "ええと...ああ、そうだね。もう行かないと。" #: lang/json/talk_topic_from_json.py @@ -139124,7 +144732,7 @@ msgid "I will bear that in mind" msgstr "心に留めておくよ。" #: lang/json/talk_topic_from_json.py -msgid "Cause? Why do you gather these bones anyway?" +msgid "Cause? Why do you gather these bones anyway?" msgstr "主張?どうして骨を集めるんだ?" #: lang/json/talk_topic_from_json.py @@ -139137,7 +144745,7 @@ msgstr "" "歌は様々な方法で形を成す。骨を彫って作った魔除けや武器、防具は計り知れぬ力を秘めている。時が来れば私や私の縁者たちが数多の歌を集めて歌い、世界を復元し、あるいは終焉させる。復元と終焉。そこに違いはない。" #: lang/json/talk_topic_from_json.py -msgid "End the world? What?" +msgid "End the world? What?" msgstr "世界の終焉?何だって?" #: lang/json/talk_topic_from_json.py @@ -139150,8 +144758,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Sounds somewhat... doomsday-ish, but I suppose it's a belief like any other." -" Still, at least you have a goal to help the world, one way or another." +"Sounds somewhat… doomsday-ish, but I suppose it's a belief like any other. " +"Still, at least you have a goal to help the world, one way or another." msgstr "どうも終末思想のような話だけど...そういう信仰もあるんだな。少なくともあなたは、何らかの形で世界を救おうと考えているわけだ。" #: lang/json/talk_topic_from_json.py @@ -139167,7 +144775,7 @@ msgstr "" "受け入れてくれるのだな。この上なく良い心がけだ。きっと、お前もいつか歌の力を感じ、我らの縁者となるだろう。修行者よ、歌を感じ取れるよう、今は耳を傾け続けなさい。" #: lang/json/talk_topic_from_json.py -msgid "I... thank you." +msgid "I… thank you." msgstr "あ...ありがとう。" #: lang/json/talk_topic_from_json.py @@ -139183,35 +144791,29 @@ msgid "Yeah, alright." msgstr "ああ、そりゃいいや。" #: lang/json/talk_topic_from_json.py -msgid "There are bones to etch, songs to sing. Wish to join me?" -msgstr "彫る骨と、奏でる歌がある。我らに加わるか?" - -#: lang/json/talk_topic_from_json.py -msgid "Do you believe you can take on the burden of additional bones?" -msgstr "これ以上の骨をお前に負担させられると思っているのか?" +msgid "" +"I know of certain bones that could be of use, if you'd like to know more." +msgstr "もっと知りたいのなら、役に立つかもしれない骨について心当たりがある。" #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" -msgstr "これ以上の歌を引き受けられると思っているのか?" +msgid "There is an additional song you could take on, if you'd like." +msgstr "必要があれば、もっと歌を用意しよう。" #: lang/json/talk_topic_from_json.py msgid "A song may yet be sung by you, should you wish to." msgstr "お前が望むなら、歌うこともできるだろう。" #: lang/json/talk_topic_from_json.py -msgid "" -"I know of certain bones that could be of use, if you'd like to know more." -msgstr "もっと知りたいのなら、役に立つかもしれない骨について心当たりがある。" +msgid "Do you believe you can take on the burden of additional bones?" +msgstr "これ以上の骨をお前に負担させられると思っているのか?" #: lang/json/talk_topic_from_json.py -msgid "There is an additional song you could take on, if you'd like." -msgstr "必要があれば、もっと歌を用意しよう。" +msgid "Do you wish to take on more songs?" +msgstr "これ以上の歌を引き受けられると思っているのか?" #: lang/json/talk_topic_from_json.py -msgid "" -"The song is... quiet for now. Perhaps with time, more notes will be etched " -"in the bones of this world." -msgstr "歌は...今のところ聞こえないな。恐らく時間が経てば、この世界の骨にもっと多くの記録が刻まれることだろう。" +msgid "There are bones to etch, songs to sing. Wish to join me?" +msgstr "彫る骨と、奏でる歌がある。我らに加わるか?" #: lang/json/talk_topic_from_json.py msgid "That is all for now." @@ -139221,6 +144823,12 @@ msgstr "今は話すことはない。" msgid "An acolyte should not take on too many songs at once." msgstr "修行者は一度に多くの歌を歌うべきではない。" +#: lang/json/talk_topic_from_json.py +msgid "" +"The song is... quiet for now. Perhaps with time, more notes will be etched " +"in the bones of this world." +msgstr "歌は...今のところ聞こえないな。恐らく時間が経てば、この世界の骨にもっと多くの記録が刻まれることだろう。" + #: lang/json/talk_topic_from_json.py msgid "I see." msgstr "なるほどね。" @@ -139243,7 +144851,7 @@ msgstr "" "悟りへの道を歩むなら、まず歌に耳を傾け学びなさい。旅立ち、生き物を解体し、指先で力を感じ取りなさい。そして骨を持って来なさい。彫刻を作ってあげよう。" #: lang/json/talk_topic_from_json.py -msgid "Well, I guess I oughta see where this goes. I'm in." +msgid "Well, I guess I oughta see where this goes. I'm in." msgstr "ああ、その話をもっと詳しく知りたい。協力するよ。" #: lang/json/talk_topic_from_json.py @@ -139251,7 +144859,7 @@ msgid "Not interested." msgstr "興味が無いね。" #: lang/json/talk_topic_from_json.py -msgid "Consider it done. But I also wanted to ask..." +msgid "Consider it done. But I also wanted to ask…" msgstr "仕事は終わったけど、私からも尋ねたいことがある..." #: lang/json/talk_topic_from_json.py @@ -139267,7 +144875,7 @@ msgid "I'm off then." msgstr "もう行くよ。" #: lang/json/talk_topic_from_json.py -msgid "So, a creature that isn't a zombie, or a monster. Got it." +msgid "So, a creature that isn't a zombie, or a monster. Got it." msgstr "つまり、ゾンビでも怪物でもない普通の生物だな。分かったよ。" #: lang/json/talk_topic_from_json.py @@ -139277,7 +144885,7 @@ msgid "" msgstr "悟りへの道はお前自身で歩め。私の助けはお前の歩みを妨げ、お前の歌を迷わせることになる。" #: lang/json/talk_topic_from_json.py -msgid "I see. Very well then." +msgid "I see. Very well then." msgstr "なるほど。よく分かったよ。" #: lang/json/talk_topic_from_json.py @@ -139295,11 +144903,11 @@ msgid "I am glad to hear it. Let's go then." msgstr "そう言ってもらえると嬉しいよ。さあ行こう。" #: lang/json/talk_topic_from_json.py -msgid "That's good, but I need to go at it alone right now. Maybe later." +msgid "That's good, but I need to go at it alone right now. Maybe later." msgstr "良い提案だが、今は一人で取り組みたいことがある。またいつか聞いてくれ。" #: lang/json/talk_topic_from_json.py -msgid "Maybe some other time. Changing the topic..." +msgid "Maybe some other time. Changing the topic…" msgstr "どうだろうな。話を変えよう..." #: lang/json/talk_topic_from_json.py @@ -139322,12 +144930,12 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"That is... that's really one hell of a belief. Well, if it helps you deal " +"That is… that's really one hell of a belief. Well, if it helps you deal " "with the world, who am I to argue." msgstr "それは...恐ろしい考えだな。でも、それが世界を救おうとする心の支えになっているなら、反論する気はないよ。" #: lang/json/talk_topic_from_json.py -msgid "And here I thought you were nuts before. I'm out of here." +msgid "And here I thought you were nuts before. I'm out of here." msgstr "そういえば、あなたは狂人だったな。もう行くよ。" #: lang/json/talk_topic_from_json.py @@ -139771,14 +145379,14 @@ msgstr "起きろ!" msgid "Go back to sleep." msgstr "寝ていいぞ。" -#: lang/json/talk_topic_from_json.py -msgid " *pshhhttt* I'm reading you boss, over." -msgstr "...ザザザザ...ちゃんと聞こえているよ、どうぞ。" - #: lang/json/talk_topic_from_json.py msgid "What is it, friend?" msgstr "何だい、友よ?" +#: lang/json/talk_topic_from_json.py +msgid " *pshhhttt* I'm reading you boss, over." +msgstr "...ザザザザ...ちゃんと聞こえているよ、どうぞ。" + #: lang/json/talk_topic_from_json.py msgid "I want to give you some commands for combat." msgstr "戦闘時の指示を出したい。" @@ -139807,6 +145415,10 @@ msgstr "このアイテムを持ってくれ。" msgid "Guard this position." msgstr "この場所を見張ってくれ。" +#: lang/json/talk_topic_from_json.py +msgid "I want to assign you to work at this camp." +msgstr "この拠点で仕事をしてくれ。" + #: lang/json/talk_topic_from_json.py msgid "Let's talk about your current activity." msgstr "現在の行動について話そう。" @@ -139856,19 +145468,19 @@ msgid "Let's go." msgstr "行こう。" #: lang/json/talk_topic_from_json.py -msgid "Change your engagement rules..." +msgid "Change your engagement rules…" msgstr "交戦規則を変更..." #: lang/json/talk_topic_from_json.py -msgid "Change your aiming rules..." +msgid "Change your aiming rules…" msgstr "照準規則を変更..." #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power reserve rules..." +msgid "Change your bionic power reserve rules…" msgstr "CBM電力使用規則を変更..." #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power recharge rules..." +msgid "Change your bionic power recharge rules…" msgstr "CBM充電規則を変更..." #: lang/json/talk_topic_from_json.py @@ -139879,14 +145491,14 @@ msgstr "必要に応じて自由に移動しろ。" msgid "Stick close to me, no matter what." msgstr "何があっても私の近くにいろ。" -#: lang/json/talk_topic_from_json.py -msgid "" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Don't use ranged weapons anymore." msgstr "絶対に遠距離武器を使うな。" @@ -139932,9 +145544,9 @@ msgstr "後ろに下がるな。私の移動の邪魔になる地点へ移動す #: src/handle_action.cpp src/handle_action.cpp src/handle_liquid.cpp #: src/handle_liquid.cpp src/iexamine.cpp src/iexamine.cpp src/iexamine.cpp #: src/iuse.cpp src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -#: src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp src/pickup.cpp -#: src/player.cpp src/player.cpp src/player.cpp src/veh_interact.cpp -#: src/vehicle_use.cpp +#: src/iuse_actor.cpp src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp +#: src/pickup.cpp src/player.cpp src/player.cpp src/player.cpp +#: src/veh_interact.cpp src/vehicle_use.cpp msgid "Never mind." msgstr "何でもない。" @@ -140144,8 +145756,8 @@ msgid "Nah, I'm just kidding." msgstr "いや、ただの冗談だよ。" #: lang/json/talk_topic_from_json.py -msgid "Please go to this location..." -msgstr "この場所へ行ってくれ..." +msgid "Please go to this location…" +msgstr "この場所へ向かってくれ..." #: lang/json/talk_topic_from_json.py msgid "Stay at your current position." @@ -140155,13 +145767,17 @@ msgstr "その場に留まってくれ。" msgid "Show me what needs to be done at the camp." msgstr "拠点でやるべきことを教えてくれ。" +#: lang/json/talk_topic_from_json.py +msgid "I'm not doing much currently." +msgstr "私は現在は何の行動もしていない。" + #: lang/json/talk_topic_from_json.py msgid "I'm currently ." msgstr "私は現在、をしている。" #: lang/json/talk_topic_from_json.py -msgid "I'm not doing much currently." -msgstr "私は現在は何の行動もしていない。" +msgid "I meant what are your goals?" +msgstr "今の仕事は何だ?" #: lang/json/talk_topic_from_json.py msgid "Carry on." @@ -140237,16 +145853,16 @@ msgstr "ああ、この暑さに私も参っていたんだ。ちょっと休憩 msgid "OK, maybe it'll stop me from freezing in this weather, what's up?" msgstr "いいよ。話していれば凍えずに済むからな。最近どう?" +#: lang/json/talk_topic_from_json.py +msgid "Man it's dark out isn't it? what's up?" +msgstr "まだ日は落ちていないようだな?調子はどう?" + #: lang/json/talk_topic_from_json.py msgid "" "Well, it's the time of day for a quick break surely! How are you holding " "up?" msgstr "そうだな、そろそろ息抜きの時間だ!最近調子はどう?" -#: lang/json/talk_topic_from_json.py -msgid "Man it's dark out isn't it? what's up?" -msgstr "まだ日は落ちていないようだな?調子はどう?" - #: lang/json/talk_topic_from_json.py msgid "Well, I'm feeling pretty sick... are you doing OK though?" msgstr "その、今はかなり体調が悪いんだけど...それでもやるのか?" @@ -140270,7 +145886,7 @@ msgid "" msgstr "今なら少し時間があるな。思えばもう1か月くらいは経ったんだな...これから先、どうするつもりなんだ?" #: lang/json/talk_topic_from_json.py -msgid "Oh you know, not bad, not bad..." +msgid "Oh you know, not bad, not bad…" msgstr "なるほどね、悪くない、悪くないよ..." #: lang/json/talk_topic_from_json.py @@ -140334,14 +145950,14 @@ msgstr "よし、急に動いたりはするなよ..." msgid "Keep your distance!" msgstr "近寄るな!" -#: lang/json/talk_topic_from_json.py -msgid "" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "This is my territory, ." msgstr "ここはうちのシマだ、。" +#: lang/json/talk_topic_from_json.py +msgid "" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Calm down. I'm not going to hurt you." msgstr "落ち着けよ。君を傷付けるつもりはないよ。" @@ -140359,11 +145975,11 @@ msgid "&Put hands up." msgstr "手を挙げる。" #: lang/json/talk_topic_from_json.py -msgid "*drops his weapon." +msgid "*drops_her_weapon." msgstr "は武器を捨てました。" #: lang/json/talk_topic_from_json.py -msgid "*drops_her_weapon." +msgid "*drops his weapon." msgstr "は武器を捨てました。" #: lang/json/talk_topic_from_json.py @@ -140379,11 +145995,11 @@ msgid "Okay, I'm going." msgstr "了解だ、行こう。" #: lang/json/talk_topic_from_json.py -msgid "About that job..." +msgid "About that job…" msgstr "その仕事について..." #: lang/json/talk_topic_from_json.py -msgid "About one of those jobs..." +msgid "About one of those jobs…" msgstr "それらの仕事の1つについて..." #: lang/json/talk_topic_from_json.py @@ -140395,29 +146011,29 @@ msgid "I don't care." msgstr "どうでもいいね。" #: lang/json/talk_topic_from_json.py -msgid "I have other jobs for you. Want to hear about them?" -msgstr "一つ頼みたい事があるんだ。聞いてくれるか?" - -#: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" -msgstr "他にも頼みたい事があるんだ。聞いてくれるか?" +msgid "I just have one job for you. Want to hear about it?" +msgstr "1つ頼みたい事があるんだ。聞いてくれるか?" #: lang/json/talk_topic_from_json.py msgid "I have another job for you. Want to hear about it?" msgstr "一つ頼みたい事があるんだ。聞いてくれるか?" #: lang/json/talk_topic_from_json.py -msgid "I just have one job for you. Want to hear about it?" -msgstr "1つ頼みたい事があるんだ。聞いてくれるか?" +msgid "I have other jobs for you. Want to hear about them?" +msgstr "一つ頼みたい事があるんだ。聞いてくれるか?" #: lang/json/talk_topic_from_json.py -msgid "I don't have any jobs for you." -msgstr "特に頼みたい事はないね。" +msgid "I have more jobs for you. Want to hear about them?" +msgstr "他にも頼みたい事があるんだ。聞いてくれるか?" #: lang/json/talk_topic_from_json.py msgid "I don't have any more jobs for you." msgstr "頼みたい事はそれだけだ。" +#: lang/json/talk_topic_from_json.py +msgid "I don't have any jobs for you." +msgstr "特に頼みたい事はないね。" + #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/npctalk.cpp msgid "Oh, okay." @@ -140427,10 +146043,6 @@ msgstr "ああ、分かったよ。" msgid "Never mind, I'm not interested." msgstr "いいや、興味ないね。" -#: lang/json/talk_topic_from_json.py -msgid "You're not working on anything for me now." -msgstr "頼んでいる仕事は今のところ何もないよ。" - #: lang/json/talk_topic_from_json.py msgid "What about it?" msgstr "何だ?" @@ -140439,6 +146051,10 @@ msgstr "何だ?" msgid "Which job?" msgstr "どの依頼の話だ?" +#: lang/json/talk_topic_from_json.py +msgid "You're not working on anything for me now." +msgstr "頼んでいる仕事は今のところ何もないよ。" + #: lang/json/talk_topic_from_json.py msgid "I'll do it!" msgstr "いいだろう、引き受けたよ!" @@ -140476,7 +146092,7 @@ msgid "Whatever. Bye." msgstr "あっそう。じゃあね。" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I failed." +msgid "I'm sorry… I failed." msgstr "すまない...失敗してしまった。" #: lang/json/talk_topic_from_json.py @@ -140496,8 +146112,8 @@ msgid "No. I'll get back to it, bye!" msgstr "いいや、まだだ。さようなら。" #: lang/json/talk_topic_from_json.py -msgid "Yup! Here it is!" -msgstr "ああ!さあどうぞ!" +msgid "Yup! Here it is!" +msgstr "ああ!持ってきたぞ!" #: lang/json/talk_topic_from_json.py msgid "We're here!" @@ -140643,13 +146259,9 @@ msgstr "街に行けば役に立つ物が十分残っているだろうが、住 msgid "Hmm, okay." msgstr "ふーん、分かった。" -#: lang/json/talk_topic_from_json.py -msgid "Focus on the road, mate!" -msgstr "相棒、運転に集中してくれ!" - -#: lang/json/talk_topic_from_json.py -msgid "I must focus on the road!" -msgstr "運転に集中させてくれ!" +#: lang/json/talk_topic_from_json.py src/npctalk.cpp +msgid "Thanks!" +msgstr "ありがとう!" #: lang/json/talk_topic_from_json.py msgid "I have some reason for not telling you." @@ -140671,6 +146283,14 @@ msgstr "すごくお腹が空いたよ。何か食べたいな。" msgid "I'm too thirsty, give me something to drink." msgstr "すごく喉が渇いたよ。何か飲みたいな。" +#: lang/json/talk_topic_from_json.py +msgid "I must focus on the road!" +msgstr "運転に集中させてくれ!" + +#: lang/json/talk_topic_from_json.py +msgid "Focus on the road, mate!" +msgstr "相棒、運転に集中してくれ!" + #: lang/json/talk_topic_from_json.py msgid "Ah, okay." msgstr "あぁ、分かった。" @@ -140744,7 +146364,7 @@ msgid "Alright. You can lead now." msgstr "よし。君に付いて行くよ。" #: lang/json/talk_topic_from_json.py -msgid "Good. Something else..." +msgid "Good. Something else…" msgstr "いいね。他には..." #: lang/json/talk_topic_from_json.py @@ -140775,14 +146395,6 @@ msgstr "いや、ここでいい。" msgid "On second thought, never mind." msgstr "ただの思い付きだ、気にしないでくれ。" -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while you're operating a vehicle!" -msgstr "車両を運転している間は、ちゃんと訓練できないよ!" - -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while I'm operating a vehicle!" -msgstr "車両を運転している間は、ちゃんと訓練できないよ!" - #: lang/json/talk_topic_from_json.py msgid "I have some reason for denying you training." msgstr "ちょっと理由があって訓練はできないんだ。" @@ -140791,6 +146403,14 @@ msgstr "ちょっと理由があって訓練はできないんだ。" msgid "Give it some time, I'll show you something new later..." msgstr "少し時間をくれないか。後で話をしよう。" +#: lang/json/talk_topic_from_json.py +msgid "I can't train you properly while I'm operating a vehicle!" +msgstr "車両を運転している間は、ちゃんと訓練できないよ!" + +#: lang/json/talk_topic_from_json.py +msgid "I can't train you properly while you're operating a vehicle!" +msgstr "車両を運転している間は、ちゃんと訓練できないよ!" + #: lang/json/talk_topic_from_json.py msgid "Not a bloody chance, I'm going to get left behind!" msgstr "絶対に嫌だね、付いて行くからな!" @@ -140824,7 +146444,7 @@ msgid "I'd prefer to keep that to myself." msgstr "自分について語りたくはないんだ。" #: lang/json/talk_topic_from_json.py -msgid "I understand..." +msgid "I understand…" msgstr "そうか..." #: lang/json/talk_topic_from_json.py @@ -140848,8 +146468,8 @@ msgid "Because I'm your friend!" msgstr "私達は友達だろう?" #: lang/json/talk_topic_from_json.py -msgid "Well, I am helping you out..." -msgstr "頼みを聞いてあげたんだけど?" +msgid "Well, I am helping you out…" +msgstr "頼みを聞いてあげたんだけど..." #: lang/json/talk_topic_from_json.py msgid "I'll give it back!" @@ -140896,29 +146516,33 @@ msgid "No, I'm keeping it. Try and take it off me, I dare you." msgstr "嫌だね、貰っていくよ。取り返してみろ、出来るものならな。" #: lang/json/talk_topic_from_json.py -msgid "Look, I really need this. Please let me have it." +msgid "Look, I really need this. Please let me have it." msgstr "なあ、本当にこれが必要なんだ。譲ってもらえないか。" #: lang/json/talk_topic_from_json.py -msgid "What, this? It's not the same one, you are mistaken." +msgid "What, this? It's not the same one, you are mistaken." msgstr "何、これか?あなたの物ではないよ、勘違いしてるんだ。" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry. Look, I already dropped it, okay?" -msgstr "悪かったよ。ほら、もう落とした、これでいいか?" +msgid "I'm sorry. Look, I already dropped it, okay?" +msgstr "悪かったよ。ほら、もう手放した、これでいいか?" #: lang/json/talk_topic_from_json.py msgid "Don't try and talk yourself out of this, drop it now." msgstr "言い逃れは止めろ、早く落とすんだ。" #: lang/json/talk_topic_from_json.py -msgid "Okay, I'm dropping it..." -msgstr "分かった、今落とすよ..." +msgid "Okay, I'm dropping it…" +msgstr "分かった、今手放すよ..." #: lang/json/talk_topic_from_json.py msgid "Just this once, you can keep it. Don't tell anyone else." msgstr "それだけだ、持っていけ。誰にも言うなよ。" +#: lang/json/talk_topic_from_json.py +msgid "Thanks." +msgstr "ありがとう。" + #: lang/json/talk_topic_from_json.py msgid "Right... I don't want any trouble." msgstr "分かった...トラブルはごめんだ。" @@ -140970,7 +146594,7 @@ msgid "Pleasure doing business!" msgstr "これからもよろしく頼むよ!" #: lang/json/talk_topic_from_json.py -msgid "You might be seeing more of me..." +msgid "You might be seeing more of me…" msgstr "これからもよろしく..." #: lang/json/talk_topic_from_json.py @@ -140984,21 +146608,21 @@ msgid "Hey again. *kzzz*" msgstr "また会ったな。*ザザザザ*" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." +msgid "Hey. Let's chat for a second." msgstr "やあ。少し話をしようか。" #: lang/json/talk_topic_from_json.py -msgid "That's because I saved you. Listen, I could use your help..." +msgid "That's because I saved you. Listen, I could use your help…" msgstr "私が助けたお陰でね。なぁ、力になってもらえないかな..." #: lang/json/talk_topic_from_json.py msgid "" -"Big fucking deal. Do what I say or I'll shove that chip back where it " +"Big fucking deal. Do what I say or I'll shove that chip back where it " "belongs." msgstr "それは一大事だな。私の言う事を聞かないと、取り出したチップを元の場所に埋め戻すぞ。" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." +msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." msgstr "失礼、私には関係ないことだ。存分に自由を満喫してくれ。" #: lang/json/talk_topic_from_json.py @@ -141010,7 +146634,7 @@ msgid "Come with me. We can help each other out." msgstr "一緒に来てくれ。互いに助け合おう。" #: lang/json/talk_topic_from_json.py -msgid "We both go our separate ways. Enjoy your freedom." +msgid "We both go our separate ways. Enjoy your freedom." msgstr "これからは別々の道を歩もう。自由を満喫してくれ。" #: lang/json/talk_topic_from_json.py @@ -141027,8 +146651,8 @@ msgstr "ただ言う事を聞かせたかっただけなら、チップを抜き #: lang/json/talk_topic_from_json.py msgid "" -"For all you know, I did. I'm being nice for now. You'd better hope that it " -"lasts." +"For all you know, I did. I'm being nice for now. You'd better hope that it" +" lasts." msgstr "ことによると、悪人かもな。今の所は優しくしてやっているんだから、大人しく従っておけ。" #: lang/json/talk_topic_from_json.py @@ -141049,7 +146673,7 @@ msgid "Get out of my sight." msgstr "私の視界から消えろ。" #: lang/json/talk_topic_from_json.py -msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." +msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." msgstr "いや、私が悪かった。そんなつもりじゃなかったんだ。これからは好きに生きればいい。" #: lang/json/talk_topic_from_json.py @@ -141065,7 +146689,7 @@ msgid "Not if I kill you first!" msgstr "殺される前に殺してやる!" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry! I shouldn't have said that!" +msgid "I'm sorry! I shouldn't have said that!" msgstr "悪かった!酷いことを言ってしまった!" #: lang/json/talk_topic_from_json.py @@ -141322,11 +146946,11 @@ msgid "Well, sure." msgstr "ええと、そうなんだ。" #: lang/json/talk_topic_from_json.py -msgid "I'd... rather not." +msgid "I'd… rather not." msgstr "ちょっと...分からないな。" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I have places to be." +msgid "I'm sorry… I have places to be." msgstr "失礼...もう行くよ。" #: lang/json/talk_topic_from_json.py @@ -141357,7 +146981,7 @@ msgid "Oh, but you already have." msgstr "おや、あなたは既に加わっていますよ。" #: lang/json/talk_topic_from_json.py -msgid "Yes... yes I have." +msgid "Yes… yes I have." msgstr "ああ...そうだった。" #: lang/json/talk_topic_from_json.py @@ -141425,7 +147049,7 @@ msgstr "" "重油のように黒い粘液で覆われた狂人達が、大きなガラス窓を突き破って入ってきた。頭や首にガラス片が突き刺さったままだ。男か女かもはっきりしない気の毒なそいつは、まるで死体だった。周囲の人も騒ぎ始めていて、写真を撮ってる奴もいた。" #: lang/json/talk_topic_from_json.py -msgid "Horrible. Did you get any pictures yourself?" +msgid "Horrible. Did you get any pictures yourself?" msgstr "恐ろしいな。あなたは写真を撮ったのか?" #: lang/json/talk_topic_from_json.py @@ -141580,8 +147204,8 @@ msgid "This is a npc allies 1 test response." msgstr "仲間NPC1のテスト用返答です。" #: lang/json/talk_topic_from_json.py -msgid "This an error! npc allies 2 test response." -msgstr "仲間NPC2のテスト用返答です。" +msgid "This an error! npc allies 2 test response." +msgstr "これはエラーです!仲間NPC2のテスト用返答です。" #: lang/json/talk_topic_from_json.py msgid "This is a npc engagement rule test response." @@ -141780,7 +147404,7 @@ msgid "This is a u_has_items beer test response." msgstr "u_has_items beerのテスト用返答です。" #: lang/json/talk_topic_from_json.py -msgid "Test failure! This is a u_has_items test response." +msgid "Test failure! This is a u_has_items test response." msgstr "テスト失敗!u_has_itemsのテスト用返答です。" #: lang/json/talk_topic_from_json.py @@ -141792,7 +147416,7 @@ msgid "This is a u_has_item_category books count 2 test response." msgstr "u_has_item_category books count 2のテスト用返答です。" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a u_has_item_category books count 3 test response." +msgid "Failure! This is a u_has_item_category books count 3 test response." msgstr "テスト失敗!u_has_item_category books count 3のテスト用返答です。" #: lang/json/talk_topic_from_json.py @@ -141880,7 +147504,7 @@ msgid "This is a u_has_bionics bio_ads test response." msgstr "u_has_bionics bio_adsのテスト用返答です。" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a npc_has_bionics bio_ads test response." +msgid "Failure! This is a npc_has_bionics bio_ads test response." msgstr "テスト失敗!npc_has_bionics bio_adsのテスト用返答です。" #: lang/json/talk_topic_from_json.py @@ -141936,11 +147560,7 @@ msgid "So you're back... Explain yourself!" msgstr "戻ってきたな...説明してもらおうか!" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." -msgstr "やあ。少し話をしようか。" - -#: lang/json/talk_topic_from_json.py -msgid "Greetings... Foodperson?" +msgid "Greetings… Foodperson?" msgstr "どうも...フードパーソン?" #: lang/json/talk_topic_from_json.py @@ -141982,7 +147602,7 @@ msgid "" msgstr "フードパーソンが目の前に!お会いできて光栄です!" #: lang/json/talk_topic_from_json.py -msgid "Ah... Well, nice to meet you Foodperson." +msgid "Ah… Well, nice to meet you Foodperson." msgstr "ええと...その、どうぞよろしく、フードパーソン。" #: lang/json/talk_topic_from_json.py @@ -141994,8 +147614,8 @@ msgid "Sheesh, ok, calm down, I'm leaving!" msgstr "おいおい、分かった、落ち着きなよ、もう行くから!" #: lang/json/talk_topic_from_json.py -msgid "Forgive me, I didn't mean to disrespect you." -msgstr "すみません、バカにするつもりじゃなかったんです。" +msgid "Forgive me, I didn't mean to disrespect you." +msgstr "許してくれ、バカにするつもりじゃなかったんだ。" #: lang/json/talk_topic_from_json.py msgid "Oh yeah? Show me what you can do!" @@ -142010,7 +147630,7 @@ msgid "Sure, whatever." msgstr "へぇ、そう。" #: lang/json/talk_topic_from_json.py -msgid "Ok... I believe you." +msgid "Ok… I believe you." msgstr "わかった...信じるよ。" #: lang/json/talk_topic_from_json.py @@ -142106,15 +147726,15 @@ msgid "That sounds great!" msgstr "やってみよう!" #: lang/json/talk_topic_from_json.py -msgid "Ok..." -msgstr "分かった..." +msgid "Ok…" +msgstr "オーケー..." #: lang/json/talk_topic_from_json.py msgid "I need to think about it." msgstr "考えさせてほしい。" #: lang/json/talk_topic_from_json.py -msgid "Huh... No thanks." +msgid "Huh… No thanks." msgstr "うーん...結構だ。" #: lang/json/talk_topic_from_json.py @@ -142131,7 +147751,7 @@ msgstr "君の話し方、そして動作...君は...君は私なのか?どう #: lang/json/talk_topic_from_json.py msgid "" -"I... I don't know. It probably has something to do with ! " +"I… I don't know. It probably has something to do with ! " "What do you say we team up to find out?" msgstr "わ...分からない。きっとと関係があるはずだ!いっそチームを組んでみようか?" @@ -142203,8 +147823,8 @@ msgid "I AM THE ONE!" msgstr "私は唯一無二だ!" #: lang/json/talk_topic_from_json.py -msgid "Wow calm down, it's just a prank bro." -msgstr "ちょっと落ち着こう、ただの冗談だよ。" +msgid "Wow calm down, it's just a prank bro." +msgstr "ちょっと落ち着けよ、ただの冗談だ。" #: lang/json/talk_topic_from_json.py msgid "WAIT! There might be another way!" @@ -142262,12 +147882,12 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "I haven't found them yet. Whenever I see a , a little part of me is" -" afraid it's going to be one of them. But then, maybe not. Maybe they " -"were evacuated, maybe they fought and tried to wait for me but the military " -"took them anyway? I've heard that sort of thing happened. I don't know if " -"I'll ever know." +" afraid it's going to be one of them. But then, maybe not. Maybe they were" +" evacuated, maybe they fought and tried to wait for me but the military took" +" them anyway? I've heard that sort of thing happened. I don't know if I'll" +" ever know." msgstr "" -"両親は今も見つかっていない。を見る度に、両親が紛れているんじゃないかって、不安になるんだ。でも、そんなことは無い筈だ。私を置いて避難できなかったから家で待とうとしたけど、軍に無理やり連れていかれたって可能性もあるだろ?似たような事があったって話も聞いた。本当のところは分からないけどね。" +"両親は今も見つかっていない。を見る度に、両親が紛れているんじゃないかって、不安になるよ。でも、そんなことは無い筈だ。私を置いて避難できなかったから家に残ろうとして、軍に無理やり連れていかれたって可能性もあるだろ?似たような事があったって話も聞いた。本当のところは分からないけどね。" #: lang/json/talk_topic_from_json.py msgid "" @@ -142663,7 +148283,7 @@ msgstr "もう大丈夫だ。" #: lang/json/talk_topic_from_json.py msgid "" "OK, this is gonna sound crazy but I, like, I knew this was going to happen." -" Like, before it did. You can even ask my psychic except, like, I think " +" Like, before it did. You can even ask my psychic except, like, I think " "she's dead now. I told her about my dreams a week before the world ended. " "Serious!" msgstr "" @@ -142933,7 +148553,7 @@ msgid "Giant bees? Tell me more." msgstr "大きなハチ?詳しく教えてくれ。" #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive..." +msgid "But bees aren't usually aggressive…" msgstr "ハチは普通そんなに攻撃的じゃないような..." #: lang/json/talk_topic_from_json.py @@ -142946,7 +148566,7 @@ msgstr "" "ああ、君も見たことあるんじゃないか、あのハチはどこにでもいるからな。古いSF映画に出てくるようなヤツだ。シェルターにいた仲間が刺されたんだ、本当の話さ。ハチの毒が永久に残るかどうかはちゃんと見ていないから分からない。、ビビって逃げ出して来たんだから仕方ないだろう。" #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive... Do you mean wasps?" +msgid "But bees aren't usually aggressive… Do you mean wasps?" msgstr "ハチは普通そんなに攻撃的じゃない...もしかしてスズメバチ?" #: lang/json/talk_topic_from_json.py @@ -143390,7 +149010,7 @@ msgid "No. I can't. Just, no." msgstr "いいや。できない。絶対、無理だ。" #: lang/json/talk_topic_from_json.py -msgid "Sorry... I'll let you be." +msgid "Sorry… I'll let you be." msgstr "悪かった...無理強いはしないよ。" #: lang/json/talk_topic_from_json.py @@ -143641,8 +149261,8 @@ msgstr "" "うん、その話は本来のゲームとは少し違うものだったんだ。パットは私が知らない内容を語ってくれた。確かに本来の内容に近かったけど、違うものだった。簡単にまとめると、こんな話だ。それは、腐敗した王国に子供を人質に取られ、黒魔術の研究をさせられている学者の物語なんだけど、ここからが重要だ。魔術が漏れ出た、英雄達は王国が滅ぶ前に逃げ出したという、物語にない筈の話が追加されていたんだ。" #: lang/json/talk_topic_from_json.py -msgid "Okay..." -msgstr "なるほど..." +msgid "Okay…" +msgstr "分かった..." #: lang/json/talk_topic_from_json.py msgid "" @@ -144035,7 +149655,7 @@ msgid "What do you think happened?" msgstr "自分の身に何が起こったと思う?" #: lang/json/talk_topic_from_json.py -msgid "That does sound a little crazy..." +msgid "That does sound a little crazy…" msgstr "頭が狂ったんだな..." #: lang/json/talk_topic_from_json.py @@ -144088,7 +149708,7 @@ msgid "What happened to you after that?" msgstr "その後どうなったんだ?" #: lang/json/talk_topic_from_json.py -msgid "It can't be healthy to abandon your past like that..." +msgid "It can't be healthy to abandon your past like that…" msgstr "過去を捨て去るのは健全とは思えないな..." #: lang/json/talk_topic_from_json.py @@ -144527,7 +150147,7 @@ msgid "" "collateral damage after it got blasted off Orleans by a tank. I was already" " busy running frantically by then." msgstr "" -"実はハーバード大学で化学の教授をやっていた。ここでは6か月の研究休暇を過ごしていたんだ。ボストンで聴いた噂の事を考えると、大学にいた方が安全だったとは思えないな...。休暇中はチャタム近郊の山小屋で論文の仕上げ作業に取り組んでいた、と言うのは建前で、休暇をもらえた幸運に感謝しながらウィスキーを飲んでいた。充実した日々だったよ。だがが起き、軍の輸送車、そしてがやって来た。山小屋も戦車にほとんど吹き飛ばされ、とどめにに壊された。私は必死に走って逃げ出したよ。" +"実はハーバード大学で化学の教授をやっていた。ここでは6か月の研究休暇を過ごしていたんだ。ボストンで聴いた噂の事を考えると、大学にいた方が安全だったとは思えないな...。休暇中はチャタム近郊の山小屋で論文の仕上げ作業に取り組んでいた、と言うのは建前で、休暇をもらえた幸運に感謝しながらウイスキーを飲んでいた。充実した日々だったよ。だがが起き、軍の輸送車、そしてがやって来た。山小屋も戦車にほとんど吹き飛ばされ、とどめにに壊された。私は必死に走って逃げ出したよ。" #: lang/json/talk_topic_from_json.py msgid "" @@ -144556,7 +150176,7 @@ msgstr "" "私の話か。はぁ...特別面白いものではない。かつての仲間たちは、みな主の御許に旅立った。何故主が私の手を取って下さらなかったのかは分からないが、時が経てば分かるのだろうな。" #: lang/json/talk_topic_from_json.py -msgid "Do you mean in a religious sense, or...?" +msgid "Do you mean in a religious sense, or…?" msgstr "それは何か宗教的な話...?" #: lang/json/talk_topic_from_json.py @@ -144895,8 +150515,8 @@ msgstr "それから何が起きたんだ?" #: lang/json/talk_topic_from_json.py msgid "" -"If I got you the right stuff, do you think you'd be able to like... do " -"science to it?" +"If I got you the right stuff, do you think you'd be able to like… do science" +" to it?" msgstr "もし条件が整えば、あなたはこの事態を...科学的に分析できる?" #: lang/json/talk_topic_from_json.py @@ -145015,7 +150635,7 @@ msgid "" msgstr "あぁ、酷い話だよ。私の結婚式の日にが起きたんだから。" #: lang/json/talk_topic_from_json.py -msgid "Oh, I'm sorry..." +msgid "Oh, I'm sorry…" msgstr "それは、気の毒に..." #: lang/json/talk_topic_from_json.py @@ -145124,7 +150744,7 @@ msgstr "やあ、ジャックとクレアから話を聞いて、仕事につい #: lang/json/talk_topic_from_json.py msgid "" "It is coming together. I want to make our own tools, repair our items and " -"even create some weapons and ammuntion reloading." +"even create some weapons and ammunition reloading." msgstr "計画がまとまってきたよ。工具を自作して、物の修理や、武器や手詰めの弾薬を製作したいと思っているんだ。" #: lang/json/talk_topic_from_json.py @@ -145137,7 +150757,7 @@ msgstr "バリーについて聞いたよ。彼が何に捕まったのか教え #: lang/json/talk_topic_from_json.py msgid "" -"It was pink and really fast, it had lots of limbs, definitly not human. It " +"It was pink and really fast, it had lots of limbs, definitely not human. It " "easily kept up with us when we tried to escape, horrifying stuff. Barry " "just dropped to the ground, and the thing swept him away." msgstr "" @@ -145188,7 +150808,7 @@ msgstr "やあ、調子はどう?" #: lang/json/talk_topic_from_json.py msgid "" -"I see that badge, You need to leave our land, my relatives have no fondess " +"I see that badge, You need to leave our land, my relatives have no fondness " "for Marshals." msgstr "バッジを着けているな。この土地から出て行った方がいい。うちの家族は執行官が嫌いなんだ。" @@ -145354,7 +150974,7 @@ msgid "He did mention you make remedies, are they effective?" msgstr "あなたは医薬品を作れると聞いたが、効果はあるのか?" #: lang/json/talk_topic_from_json.py -msgid "I'd like to ask you something else..." +msgid "I'd like to ask you something else…" msgstr "他に聞きたいことがあるんだ..." #: lang/json/talk_topic_from_json.py @@ -145501,10 +151121,6 @@ msgstr "カーロスにはどこで会える?" msgid "Hello traveler, what brings you here?" msgstr "やあ旅の人、何しに来たんだ?" -#: lang/json/talk_topic_from_json.py -msgid "Hello travler, what brings you here?" -msgstr "やあ旅の人、何しに来たんだ?" - #: lang/json/talk_topic_from_json.py msgid "I'm here to deliver some resources." msgstr "物資を提供するために来たんだ。" @@ -145530,7 +151146,7 @@ msgstr "家族全員が生き残ったのか?" #: lang/json/talk_topic_from_json.py msgid "" "We've had our losses... now we stay close to home, preparing for trouble. " -"We've always taken disaster prepardness seriously, but we didn't expect " +"We've always taken disaster preparedness seriously, but we didn't expect " "anything like this though." msgstr "" "いや、失ったものもある...今は家の近くで過ごして、トラブルに備えているんだ。私たちは常に災害への備えを真剣に考えてきたが、まさかこんな事が起こるなんて。" @@ -145583,7 +151199,7 @@ msgstr "エディの酪農場は道の突き当りだ。バリーが森で連れ #: lang/json/talk_topic_from_json.py msgid "" -"You should get off my land, the governemnt proved its incompetence with this" +"You should get off my land, the government proved its incompetence with this" " catastrophe." msgstr "うちの土地から出て行け。政府はこの大災害で無能さを露呈したな。" @@ -145660,7 +151276,8 @@ msgid "I'd like to speak with Carlos too about some work." msgstr "カーロスと仕事について話がしたいんだ。" #: lang/json/talk_topic_from_json.py -msgid "Is Chris around? I'd like to know what he's run into out in the woods." +msgid "" +"Is Chris around? I'd like to know what he's run into out in the woods." msgstr "クリスはこの辺りにいるのか?彼は森で何に出くわしたんだ?" #: lang/json/talk_topic_from_json.py @@ -145820,14 +151437,14 @@ msgstr "あなたの父について聞きたい。" #: lang/json/talk_topic_from_json.py msgid "" -"Ma'am, I don't know how the hell you got down here but if you have any sense" -" you'll get out while you can." +"Sir, I don't know how the hell you got down here but if you have any sense " +"you'll get out while you can." msgstr "執行官、どうやってここまで来たのか知らんが、身動きが取れるうちにここを脱出した方がいいぞ。" #: lang/json/talk_topic_from_json.py msgid "" -"Sir, I don't know how the hell you got down here but if you have any sense " -"you'll get out while you can." +"Ma'am, I don't know how the hell you got down here but if you have any sense" +" you'll get out while you can." msgstr "執行官、どうやってここまで来たのか知らんが、身動きが取れるうちにここを脱出した方がいいぞ。" #: lang/json/talk_topic_from_json.py @@ -145847,15 +151464,15 @@ msgid "What do you need done?" msgstr "何をすればいい?" #: lang/json/talk_topic_from_json.py -msgid "About the mission..." +msgid "About the mission…" msgstr "任務について..." #: lang/json/talk_topic_from_json.py -msgid "About one of those missions..." -msgstr "任務のひとつについて..." +msgid "About one of those missions…" +msgstr "任務の1つについて..." #: lang/json/talk_topic_from_json.py -msgid "I've got to go..." +msgid "I've got to go…" msgstr "じゃあな..." #: lang/json/talk_topic_from_json.py @@ -145872,7 +151489,7 @@ msgstr "" "中隊の生き残りを率いて、この施設を再制圧する作戦を実行しているところだ。我々は合計20名ほどの部隊で進入し、ただちにこの制御室を制圧した。そしてこの階と下の階にあるの重要な設備に隊員を向かわせた。上手く行けば、この巨大な施設を地域レベルの作戦行動の恒久的な拠点として利用できる。重要なのは、地上の避難民をここで受け入れることができれば、避難民の対応に忙殺されている者を現状回復要員に回せるということだ。" #: lang/json/talk_topic_from_json.py -msgid "Seems like a decent plan..." +msgid "Seems like a decent plan…" msgstr "いい計画だと思う..." #: lang/json/talk_topic_from_json.py @@ -145891,8 +151508,8 @@ msgstr "" "この施設は世界規模の戦争に備えるべく、安全な避難所として建設された。もしまともに機能していれば、この強固な地下施設全体で数千人の人々が数年間暮らせるはずだった。だが電力システムが損傷したか、動作不良を起こしたかで、凄まじい致命的な放射線バーストを放ったのだ。それから数分後、地下2階から下にいた人々はことごとく死亡した。放射線障害でやられる前に下階への通路を封鎖したために、この階はなんとか無事だったようだ。他に記録から分かることは、大量の水が勢いよく下階へ流れ込んでしまった、ということだな。" #: lang/json/talk_topic_from_json.py -msgid "Whatever they did it must have worked since we are still alive..." -msgstr "何にせよ彼らはそうせざるを得ない。我々が生きているんだからな。" +msgid "Whatever they did it must have worked since we are still alive…" +msgstr "何にせよ彼らはそうせざるを得ない。我々が生きているんだからな..." #: lang/json/talk_topic_from_json.py msgid "Ma'am you are not authorized to be here... you should leave." @@ -145926,7 +151543,7 @@ msgid "" msgstr "我々は外部通信中継装置を守っている。私から言えることは限られているので... 質問があるなら隊の司令を探してくれ。" #: lang/json/talk_topic_from_json.py -msgid "I'll try and find your commander then..." +msgid "I'll try and find your commander then…" msgstr "隊長とやらを探すとするよ..." #: lang/json/talk_topic_from_json.py @@ -145986,7 +151603,7 @@ msgid "I'm supposed to direct all questions to my leadership, marshal." msgstr "ご質問は上の者にどうぞ、執行官。" #: lang/json/talk_topic_from_json.py -msgid "Don't mind me..." +msgid "Don't mind me…" msgstr "お構いなく..." #: lang/json/talk_topic_from_json.py @@ -146248,17 +151865,17 @@ msgstr "わかったよ!さあ行こう。" msgid "Have I told you about cardboard, friend? Do you have any?" msgstr "段ボールの事は話したっけ?君、段ボール持ってる?" -#: lang/json/talk_topic_from_json.py -msgid "We've done it! We've solved the list!" -msgstr "やった!リストが全部埋まった!" - #: lang/json/talk_topic_from_json.py msgid "" "How's things with you? My cardboard collection is getting quite impressive." msgstr "調子はどう?私の段ボールコレクションはかなり良い感じだよ。" #: lang/json/talk_topic_from_json.py -msgid "About that shopping list of yours..." +msgid "We've done it! We've solved the list!" +msgstr "やった!リストが全部埋まった!" + +#: lang/json/talk_topic_from_json.py +msgid "About that shopping list of yours…" msgstr "あなたの買い物リストについて..." #: lang/json/talk_topic_from_json.py @@ -146324,7 +151941,7 @@ msgid "Would you like me to give you some cardboard?" msgstr "段ボールが必要か?" #: lang/json/talk_topic_from_json.py -msgid "I think I have to get going..." +msgid "I think I have to get going…" msgstr "もうそろそろ行かないと..." #: lang/json/talk_topic_from_json.py @@ -146355,8 +151972,8 @@ msgstr "" "誰か知らないなら、絶対に教えられないよ。奴は皆に話しかけるから、奴のことを知らない者は、信用できない。私の仕事を手伝ってくれるなら別だけどね。" #: lang/json/talk_topic_from_json.py -msgid "... What were you saying before?" -msgstr "...前の話をもう一度聞かせてもらえないかな?" +msgid "…What were you saying before?" +msgstr "...さっきの話をもう一度聞かせて?" #: lang/json/talk_topic_from_json.py msgid "" @@ -146373,7 +151990,7 @@ msgid "No." msgstr "いいえ。" #: lang/json/talk_topic_from_json.py -msgid "I... I can see you wearing it. Why are you wearing that?" +msgid "I… I can see you wearing it. Why are you wearing that?" msgstr "その...着ている服について聞きたい。どうしてそんな恰好なんだ?" #: lang/json/talk_topic_from_json.py @@ -146467,7 +152084,7 @@ msgid "I found a sample of alien fungus for you." msgstr "真菌のサンプルを持ってきた。" #: lang/json/talk_topic_from_json.py -msgid "Ok... see ya." +msgid "Ok… see ya." msgstr "そうだな...さようなら。" #: lang/json/talk_topic_from_json.py @@ -146569,8 +152186,8 @@ msgstr "私は中国人かどうかなんて気にしない。もし良かった #: lang/json/talk_topic_from_json.py msgid "" -"I mean, racism could definitely be a part of it... but you are visibly in " -"poor shape. They need strong survivor material." +"I mean, racism could definitely be a part of it… but you are visibly in poor" +" shape. They need strong survivor material." msgstr "まぁ、人種差別も原因の一つかもしれないが...あなたは目に見えて体調不良だ。センターは身体が丈夫な人材を求めているんだろう。" #: lang/json/talk_topic_from_json.py @@ -146604,7 +152221,7 @@ msgid "You sound more optimistic than usual." msgstr "普段より楽観的なもの言いだな。" #: lang/json/talk_topic_from_json.py -msgid "So, about that doctorate of yours..." +msgid "So, about that doctorate of yours…" msgstr "博士号を持っていると聞いたんだけど..." #: lang/json/talk_topic_from_json.py @@ -146734,7 +152351,7 @@ msgstr "いや、知らないな。詳しく聞きたい、ぜひ教えてくれ #: lang/json/talk_topic_from_json.py msgid "" "Encroaching alien mushrooms, fungal towers, tough mycelium invading ground " -"and trees, zombies taken over by aggressive mold... Yeah. It's ugly stuff." +"and trees, zombies taken over by aggressive mold… Yeah. It's ugly stuff." msgstr "どこかから現れ世界を侵略しているキノコだ。真菌の塔、地面や木を侵食する頑丈な菌糸、ゾンビをも乗っ取って増殖する胞子...酷いものだよ。" #: lang/json/talk_topic_from_json.py @@ -146849,7 +152466,7 @@ msgid "" msgstr "ああ、いつも通りさ。死にたくなるまでここに座って、デイブとトランプで遊ぶんだ。" #: lang/json/talk_topic_from_json.py -msgid "I could maybe help you out... want something to eat?" +msgid "I could maybe help you out… want something to eat?" msgstr "助けになればいいんだけど...何か食べる物が必要か?" #: lang/json/talk_topic_from_json.py @@ -147020,7 +152637,7 @@ msgstr "さあ行こう。" #: lang/json/talk_topic_from_json.py msgid "Hey there, friend." -msgstr "ちょっと、そこの君。" +msgstr "やあ、こんにちは。" #: lang/json/talk_topic_from_json.py msgid "I couldn't help but notice, you're covered in fur." @@ -147269,7 +152886,7 @@ msgstr "" "今話したこと以外は、特に面白いことはないかな。嫌な生活だよ。忙しいし食事は少ないし、ネットに接続しても、フォローしてたYouTuberはみんな死んでるし。" #: lang/json/talk_topic_from_json.py -msgid "You seem a little forward..." +msgid "You seem a little forward…" msgstr "図太い人だな..." #: lang/json/talk_topic_from_json.py @@ -147532,7 +153149,7 @@ msgid "" msgstr "ここを出て私の拠点で働くことをどう思っているか尋ねるよう、旦那さんから頼まれたんだ。" #: lang/json/talk_topic_from_json.py -msgid "About that sourdough starter you had me looking for..." +msgid "About that sourdough starter you had me looking for…" msgstr "探してほしいと言っていたサワー種スターターについて..." #: lang/json/talk_topic_from_json.py @@ -147606,7 +153223,7 @@ msgid "" "actually, I could probably trade a loaf of fresh bread for, say, about eight" " cups of flour." msgstr "" -"時々ね。戻ってきたサワー種スターターを使い始めてからは、まずまずのパンが焼いているよ。昨日もパンを焼いてみたんだ。8袋分の穀粉を持ってきてくれたら、焼き立てのパンと交換してあげよう。" +"たまにね。到着してすぐサワー種スターターを手に入れて、まずまずのパンを焼いているよ。昨日もパンを焼いてみたんだ。8袋分の穀粉を持ってきてくれたら、焼き立てのパンと交換してあげよう。" #: lang/json/talk_topic_from_json.py msgid "" @@ -147837,7 +153454,7 @@ msgid "I think I would've done the same. Nobody around here has a guitar?" msgstr "私が同じ立場でも同じことをしたよ。ここにギターを持ってる人はいないのか?" #: lang/json/talk_topic_from_json.py -msgid "Yes, yes I would... you monster." +msgid "Yes, yes I would… you monster." msgstr "ああ、それは...酷いことをしてしまったな。" #: lang/json/talk_topic_from_json.py @@ -148303,7 +153920,7 @@ msgstr "" "大変動が起きる前は電気技師をしていた。ここにいる義理の弟のボリスと2人で、立派に請負業をやっていたんだ。避難警報が鳴った時、私たちは...家族と一緒に避難した。混雑した避難所に詰め込まれ、そこから混雑したバスに乗り込んだ。それからは...何もかも上手く行かなかった。バスが攻撃を受けて破壊され、ほぼ全員が死んだ。何人かは生き残ったけど...何の解決にもならない。" #: lang/json/talk_topic_from_json.py -msgid "You lost someone..." +msgid "You lost someone…" msgstr "誰かを亡くしたのか..." #: lang/json/talk_topic_from_json.py @@ -148755,7 +154372,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You... you do know what's going on here, right? With the evacuation and " +"You… you do know what's going on here, right? With the evacuation and " "stuff?" msgstr "な...何が起きているのか知らないのか?他の避難者や職員と話さなかったのか?" @@ -148802,7 +154419,7 @@ msgstr "こちらこそはじめまして。私に何か用?" #: lang/json/talk_topic_from_json.py msgid "I understand. I don't know if I have many answers for you." -msgstr "そうだな。あまりよく分からないよ。" +msgstr "なんだろう。ちゃんと答えられるか分からないよ。" #: lang/json/talk_topic_from_json.py msgid "" @@ -148823,7 +154440,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "Ah! You are new. I'm sorry, I'm Mangalpreet." -msgstr "あっ!知らない人だ。すみません、私はマンガルプリートです。" +msgstr "あら!見ない顔ね。失礼、私はマンガルプリートです。" #: lang/json/talk_topic_from_json.py msgid "Hi there." @@ -149319,7 +154936,7 @@ msgid "" "and there's not enough food to go around. Why don't you fuckin' figure it " "out?" msgstr "" -"皮肉を込めた言い方と、皮肉をたっぷり込めた言い方、どっちがいい?私は2ダースもの見知らぬ人が住む煉瓦造りの劣悪な建物で立ち往生しており、世界中で死人がうろつき、周りに十分な食料はない。このクソな状況を理解できないの?" +"皮肉を込めた言い方と、皮肉をたっぷり込めた言い方、どっちがいい?私は2ダースもの見知らぬ人が住むレンガ造りの劣悪な建物で立ち往生しており、世界中で死人がうろつき、周りに十分な食料はない。このクソな状況を理解できないの?" #: lang/json/talk_topic_from_json.py msgid "" @@ -149328,7 +154945,7 @@ msgid "" "do some work to keep me busy though, and the extra merch does go a long way " "to keeping my belly full. People like getting a good haircut." msgstr "" -"さてと、私は2ダースもの見知らぬ人が住む煉瓦造りの劣悪な建物で立ち往生しており、世界中で死人がうろつき、周りに十分な食料はない。少なくとも私は忙しく働いていられるし、マーチに余裕が出たら十分な食料も確保できる。人間は散髪が好きだからね。" +"さてと、私は2ダースもの見知らぬ人が住むレンガ造りの劣悪な建物で立ち往生しており、世界中で死人がうろつき、周りに十分な食料はない。少なくとも私は忙しく働いていられるし、マーチに余裕が出たら十分な食料も確保できる。人間は散髪が好きだからね。" #: lang/json/talk_topic_from_json.py msgid "" @@ -149394,7 +155011,7 @@ msgstr "ロビーにいる物乞い達のことを知っているか?" #: lang/json/talk_topic_from_json.py msgid "What's the deal with the closed-off areas of the building?" -msgstr "この建物の閉鎖された区画は何なんだ?" +msgstr "建物内の閉鎖された区画はどうなってるんだ?" #: lang/json/talk_topic_from_json.py msgid "" @@ -149475,7 +155092,7 @@ msgid "Are you looking to buy anything else?" msgstr "他に何か集めてるものはある?" #: lang/json/talk_topic_from_json.py -msgid "Very well... let's talk about something else." +msgid "Very well… let's talk about something else." msgstr "よく分かった...他の事について話そう。" #: lang/json/talk_topic_from_json.py @@ -149804,7 +155421,7 @@ msgid "Have you seen anyone who might be hiding something?" msgstr "誰かコソコソしている奴を見なかったか?" #: lang/json/talk_topic_from_json.py -msgid "Bye..." +msgid "Bye…" msgstr "じゃあな..." #: lang/json/talk_topic_from_json.py @@ -149818,15 +155435,15 @@ msgid "Keep your head down and stay out of my way." msgstr "目立つことをするな。こっちに近寄るんじゃない。" #: lang/json/talk_topic_from_json.py -msgid "OK..." -msgstr "分かった..." +msgid "OK…" +msgstr "オーケー..." #: lang/json/talk_topic_from_json.py msgid "Like what?" msgstr "例えば?" #: lang/json/talk_topic_from_json.py -msgid "I'm not sure..." +msgid "I'm not sure…" msgstr "知らないな..." #: lang/json/talk_topic_from_json.py @@ -149846,7 +155463,7 @@ msgid "Got something to hide?" msgstr "何から逃げている?" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I didn't mean to offend you..." +msgid "Sorry, I didn't mean to offend you…" msgstr "すみません、怒らせる気は無かったんです..." #: lang/json/talk_topic_from_json.py @@ -149889,16 +155506,16 @@ msgstr "痛い目に遭うのが嫌なら大人しくしていろ。" msgid "Just on watch, move along." msgstr "見張りをしてるだけだ、どっか行け。" -#: lang/json/talk_topic_from_json.py -msgid "Ma'am, you really shouldn't be traveling out there." -msgstr "お嬢さん、外をうろつくは止めた方が身の為だよ。" - #: lang/json/talk_topic_from_json.py msgid "Rough out there, isn't it?" msgstr "外は大混乱のようだな?" #: lang/json/talk_topic_from_json.py -msgid "I heard this place was a refugee center..." +msgid "Ma'am, you really shouldn't be traveling out there." +msgstr "お嬢さん、外をうろつくは止めた方が身の為だよ。" + +#: lang/json/talk_topic_from_json.py +msgid "I heard this place was a refugee center…" msgstr "ここが避難センターだと聞いたんだが..." #: lang/json/talk_topic_from_json.py @@ -149922,7 +155539,7 @@ msgid "Can I do anything for the center?" msgstr "避難センターのために何かできる?" #: lang/json/talk_topic_from_json.py -msgid "I figured you might be looking for some help..." +msgid "I figured you might be looking for some help…" msgstr "人手が必要なようだな..." #: lang/json/talk_topic_from_json.py @@ -149976,9 +155593,9 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"[INT 10] Wait, six buses and refugees... how many people do you still have " +"[INT 10] Wait, six buses and refugees… how many people do you still have " "crammed in here?" -msgstr "[知性 10] 待った、バス6台ぶんの避難者... ここは今どれだけの避難民を抱えているんだ?" +msgstr "[知性 10] 待った、バス6台ぶんの避難者... ここには今どれだけの避難民がいるんだ?" #: lang/json/talk_topic_from_json.py msgid "" @@ -150029,7 +155646,7 @@ msgid "I'm sorry, not a risk we are willing to take right now." msgstr "すまないが、今そんな危険を冒す気は無いよ。" #: lang/json/talk_topic_from_json.py -msgid "Fine..." +msgid "Fine…" msgstr "わかったよ..." #: lang/json/talk_topic_from_json.py @@ -150042,7 +155659,7 @@ msgstr "" "絶対にダメだ!前に血まみれの毛皮を生やした奴がここに来た...異様というほどでもなかったが、おそらく野外の有害廃棄物による汚染の影響で、全身が変異してしまったんだろう。" #: lang/json/talk_topic_from_json.py -msgid "Fine... *coughupyourscough*" +msgid "Fine… *coughupyourscough*" msgstr "わかったよ... *ゲフンゲフンバーカゲフンゲフン*" #: lang/json/talk_topic_from_json.py @@ -150072,7 +155689,7 @@ msgid "[STR 11] I punch things in face real good!" msgstr "[筋力 11] 顔面をボコボコにぶん殴ってやろうか!きっと気持ちいいぞ!" #: lang/json/talk_topic_from_json.py -msgid "I guess I'll look somewhere else..." +msgid "I guess I'll look somewhere else…" msgstr "よそを当たるとするよ..." #: lang/json/talk_topic_from_json.py @@ -150094,7 +155711,7 @@ msgid "Heard of anything better than the odd gun cache?" msgstr "随分と装備が充実しているみたいだな?" #: lang/json/talk_topic_from_json.py -msgid "Was hoping for something more..." +msgid "Was hoping for something more…" msgstr "何か他の話は..." #: lang/json/talk_topic_from_json.py @@ -150200,8 +155817,8 @@ msgid "So what are you doing right now?" msgstr "それで今は何をしてるんだ?" #: lang/json/talk_topic_from_json.py -msgid "Never mind..." -msgstr "ふーん、そう..." +msgid "Never mind…" +msgstr "何でもない..." #: lang/json/talk_topic_from_json.py msgid "" @@ -150225,7 +155842,7 @@ msgstr "" "他とは違うゾンビとか、見たことのない変異体とかの目撃情報だ。何が起こっているのか分かれば、対処や治療方法の発見につながる。可能性は低いが、それが生き延びる希望だ。" #: lang/json/talk_topic_from_json.py -msgid "Good luck with that..." +msgid "Good luck with that…" msgstr "上手くいくことを祈っているよ..." #: lang/json/talk_topic_from_json.py @@ -150271,7 +155888,7 @@ msgstr "" "ってことは、私たちは似た者同士だな。私も新入りみたいなものだ。誰でも歓迎ってわけには行かないようでね。下の階は既に満員らしい。入口近くの商人には会ったか?そいつに詳しく聞いてみるといい。" #: lang/json/talk_topic_from_json.py -msgid "Sucks..." +msgid "Sucks…" msgstr "はあ..." #: lang/json/talk_topic_from_json.py @@ -150286,7 +155903,7 @@ msgstr "" "ああ、地下には空気圧砲を持ったやつがいるんだ。金属を射出する...発射音のしない、やたら効率的な大砲みたいなものだ。連中は即席兵器の類にはこと欠いていないし、今も地下の要塞化を続けている。あの防御を打ち破れるモンスターなんてまずいないだろう。" #: lang/json/talk_topic_from_json.py -msgid "Well, then..." +msgid "Well, then…" msgstr "そうか..." #: lang/json/talk_topic_from_json.py @@ -150373,7 +155990,7 @@ msgid "I thought I smelled a pig. I jest... please don't arrest me." msgstr "なんか豚くせぇな。冗談...逮捕しないでくれ。" #: lang/json/talk_topic_from_json.py -msgid "You... smelled me?" +msgid "You… smelled me?" msgstr "...臭うかい?" #: lang/json/talk_topic_from_json.py @@ -150424,7 +156041,7 @@ msgid "" msgstr "狩りで手に入れた肉やその他の部位を売っている。たまに魚や果物も獲ってくるが、夕飯にいただく新鮮なヘラジカのステーキに勝るものは無いね!" #: lang/json/talk_topic_from_json.py -msgid "Great, now my mouth is watering..." +msgid "Great, now my mouth is watering…" msgstr "いいねえ、よだれが出てきた。" #: lang/json/talk_topic_from_json.py @@ -150530,7 +156147,7 @@ msgstr "" " 何か政府の役に立つ仕事ができるかもしれない。普通の生存者よりも優秀な人材ならばきっと歓迎されるはずだ。" #: lang/json/talk_topic_from_json.py -msgid "Hmmm..." +msgid "Hmmm…" msgstr "ふーむ..." #: lang/json/talk_topic_from_json.py @@ -150580,7 +156197,7 @@ msgstr "" "仲間に加わりたいなら募集人を通せ。まずは、ここに時々顔を出して出来る仕事が無いか私に聞いてくれ。任務を請け負って達成していけば、募集人に実力を知らしめることができるだろう。" #: lang/json/talk_topic_from_json.py -msgid "I haven't done anything wrong..." +msgid "I haven't done anything wrong…" msgstr "間違ったことはしていないはずだ..." #: lang/json/talk_topic_from_json.py @@ -150751,7 +156368,7 @@ msgid "Something to say?" msgstr "何か用か?" #: lang/json/talk_topic_from_json.py -msgid "I charge hourly, so be quick..." +msgid "I charge hourly, so be quick…" msgstr "時間報酬制だ、さっさと話せ..." #: lang/json/talk_topic_from_json.py @@ -150868,7 +156485,7 @@ msgstr "" "ちっぽけな金貨が支払われたことに気付いただろ、おかしなものだ。近くに金鉱脈があるなんて言ってるのもいるが、そんなわけがない。私がこのクソッタレな世界を探索させられて、金塊を持ち帰ってるのさ。" #: lang/json/talk_topic_from_json.py -msgid "I guess I could help with that..." +msgid "I guess I could help with that…" msgstr "何か手伝えることがあるかもしれない..." #: lang/json/talk_topic_from_json.py @@ -150980,7 +156597,7 @@ msgid "[$10] I'll get a haircut" msgstr "[$10] 散髪をしてもらう" #: lang/json/talk_topic_from_json.py -msgid "Maybe another time..." +msgid "Maybe another time…" msgstr "また次の機会に..." #: lang/json/talk_topic_from_json.py @@ -150998,7 +156615,7 @@ msgid "Stand still while I get my clippers..." msgstr "バリカンを使うからじっとしててくれ..." #: lang/json/talk_topic_from_json.py -msgid "Thanks..." +msgid "Thanks…" msgstr "ありがとう..." #: lang/json/talk_topic_from_json.py @@ -151018,7 +156635,7 @@ msgid "What do you have on tap?" msgstr "一杯貰えるか?" #: lang/json/talk_topic_from_json.py -msgid "I'll be going..." +msgid "I'll be going…" msgstr "もう行かないと..." #: lang/json/talk_topic_from_json.py @@ -151071,7 +156688,7 @@ msgid "" msgstr "ここの要塞化は相棒の担当だ、頼みごとの話なら相棒に言ってくれ。" #: lang/json/talk_topic_from_json.py -msgid "I'll talk to him then..." +msgid "I'll talk to him then…" msgstr "なら彼に話してみるよ..." #: lang/json/talk_topic_from_json.py @@ -151088,7 +156705,7 @@ msgid "I hope you are here to do business." msgstr "手伝いに来てくれたのか?" #: lang/json/talk_topic_from_json.py -msgid "I'm interested in investing in agriculture..." +msgid "I'm interested in investing in agriculture…" msgstr "農業関係の仕事に興味があるんだ..." #: lang/json/talk_topic_from_json.py @@ -151116,11 +156733,11 @@ msgid "I imagine we might be able to work something out." msgstr "出来る限りのことはやってみる。" #: lang/json/talk_topic_from_json.py -msgid "I was wondering if you could install a cybernetic implant..." +msgid "I was wondering if you could install a cybernetic implant…" msgstr "CBMを移植して欲しい..." #: lang/json/talk_topic_from_json.py -msgid "I need help removing an implant..." +msgid "I need help removing an implant…" msgstr "CBMを除去して欲しい..." #: lang/json/talk_topic_from_json.py @@ -151161,7 +156778,7 @@ msgstr "" "俺ぁ幸運な男さ。ひたすら死体どもに追われていたが、今や優雅な自作農暮らしだ。ただまあこうして寝床と食事を得たはいいが、作物が実らんことにはお役に立てんな。" #: lang/json/talk_topic_from_json.py -msgid "It could be worse..." +msgid "It could be worse…" msgstr "そりゃ大変だったな..." #: lang/json/talk_topic_from_json.py @@ -151171,7 +156788,7 @@ msgid "" msgstr "あんたに構ってる暇はない。取引や仕事がしたいならガレージにいる現場監督かサイロの傍の作物管理人に聞いてみろ。" #: lang/json/talk_topic_from_json.py -msgid "I'll talk with them then..." +msgid "I'll talk with them then…" msgstr "じゃあ彼らと話してみるよ..." #: lang/json/talk_topic_from_json.py @@ -151238,7 +156855,7 @@ msgstr "" "数百ってところか。彼らがこの農場を選んだのは、都心から離れていて、破れていないフェンスと開けた広い土地があるからだろう。これだけの土地と、あとは資材があればちょっとした村を作ることも可能だろう。私がいた避難センターは常に飢餓とゾンビの襲撃に悩まされていた。そこで小さな町のようなものを作ろうとしたことはあったが、白紙から作るとなると農地の不足や敵の数が問題になったものだ。" #: lang/json/talk_topic_from_json.py -msgid "Hopefully moving out here was worth it..." +msgid "Hopefully moving out here was worth it…" msgstr "多分、ここに移転する価値はあると思うよ..." #: lang/json/talk_topic_from_json.py @@ -151573,8 +157190,7 @@ msgstr "%sの攻撃を防ぐと同時に反撃を放ちました。" msgid " blocks and counter-attacks %s" msgstr "は%s攻撃を防ぐと同時に反撃を放ちました。" -#: lang/json/technique_from_json.py lang/json/technique_from_json.py -#: src/game.cpp +#: lang/json/technique_from_json.py src/game.cpp msgid "Disarm" msgstr "武装解除" @@ -151676,7 +157292,8 @@ msgstr "壁から飛び降り%s目がけてドロップキックを放ちまし msgid " leaps off a nearby wall and dropkicks %s" msgstr "は壁から飛び降り%s目がけてドロップキックを放ちました。" -#: lang/json/technique_from_json.py +#: lang/json/technique_from_json.py lang/json/technique_from_json.py +#: src/martialarts.cpp msgid "Grab Break" msgstr "拘束外し" @@ -151752,13 +157369,13 @@ msgstr "毒蛇咬" #: lang/json/technique_from_json.py #, python-format -msgid "You Snakebite %s" -msgstr "%sに毒蛇咬をお見舞いしました。" +msgid "You lash out at %s with a Viper Bite" +msgstr "毒蛇咬で%sに激しく襲い掛かりました。" #: lang/json/technique_from_json.py #, python-format -msgid " Snakebites %s" -msgstr " は%sに毒蛇咬をお見舞いしました。" +msgid " lash out at %s with a Viper Bite" +msgstr "は毒蛇咬で%sに激しく襲い掛かりました。" #: lang/json/technique_from_json.py msgid "Viper Strike" @@ -151766,18 +157383,28 @@ msgstr "毒蛇の一撃" #: lang/json/technique_from_json.py #, python-format -msgid "You Viper Strike %s" -msgstr "%sに毒蛇の一撃を繰り出しました。" +msgid "You hit %s with a spectacular Viper Strike" +msgstr "%sに壮絶な毒蛇の一撃を繰り出しました。" #: lang/json/technique_from_json.py #, python-format -msgid " Viper Strikes %s" -msgstr "は%sに毒蛇の一撃を繰り出しました。" +msgid " hits %s with a spectacular Viper Strike" +msgstr "は%sに壮絶な毒蛇の一撃を繰り出しました。" #: lang/json/technique_from_json.py msgid "Viper Writhe" msgstr "とぐろ巻き" +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you writhe free!" +msgstr "%sが掴みかかろうとしましたが、身を捩って抜け出しました!" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they writhe free!" +msgstr "%sが掴みかかろうとしましたが、は身を捩って抜け出しました!" + #: lang/json/technique_from_json.py msgid "Roundhouse Kick" msgstr "回し蹴り" @@ -151820,6 +157447,34 @@ msgstr "鋏拳を繰り出して%sを気絶させました。" msgid " jabs %s with a Pincer Fist" msgstr "は%sに鋏手の一撃を繰り出しました。" +#: lang/json/technique_from_json.py +msgid "Toad Smack" +msgstr "蛙の舌" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You disregard %s's attack and knock them down" +msgstr "%sの攻撃を受け流して打ち倒しました。" + +#: lang/json/technique_from_json.py +#, python-format +msgid " disregards %s's attack and knocks them down" +msgstr "は%sの攻撃を受け流して打ち倒しました。" + +#: lang/json/technique_from_json.py +msgid "Toad Slam" +msgstr "蛙の張手" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You meet %s's attack head on with a stunning counter" +msgstr "%sに正面から見事なカウンター攻撃を叩き込みました。" + +#: lang/json/technique_from_json.py +#, python-format +msgid " meet %s's attack head on with a stunning counter" +msgstr "は%sに正面から見事なカウンター攻撃を叩き込みました。" + #: lang/json/technique_from_json.py msgid "Toad's Tongue" msgstr "蛙の舌" @@ -151865,12 +157520,12 @@ msgstr "ムカデの噛付" #: lang/json/technique_from_json.py #, python-format msgid "You palm strike %s with a painful Centipede Bite" -msgstr "激痛を伴うムカデの牙のような平手の一撃を%sに繰り出しました。" +msgstr "激痛を伴うムカデの牙のような掌打を%sに繰り出しました。" #: lang/json/technique_from_json.py #, python-format msgid " palm strikes %s with a painful Centipede Bite" -msgstr "激痛を伴うムカデの牙のような平手の一撃を%sに繰り出しました。" +msgstr "激痛を伴うムカデの牙のような掌打を%sに繰り出しました。" #: lang/json/technique_from_json.py #, python-format @@ -152254,7 +157909,7 @@ msgstr "は%sの攻撃を避け、流れるように武装解除しま #: lang/json/technique_from_json.py #, python-format msgid "The %s tries to grab you, but you smoothly break free!" -msgstr "%sが掴みかかろうとしましたが、流れるように抜け出しました。" +msgstr "%sが掴みかかろうとしましたが、流れるように抜け出しました!" #: lang/json/technique_from_json.py #, python-format @@ -152950,12 +158605,12 @@ msgstr "*バキッ!*は%sの腕を無慈悲に折りました。" #: lang/json/technique_from_json.py #, python-format msgid "The %s tries to grab you, but you wrestle free!" -msgstr "%sが掴みかかろうとしましたが、何とか抜け出しました。" +msgstr "%sが掴みかかろうとしましたが、何とか抜け出しました!" #: lang/json/technique_from_json.py #, python-format msgid "The %s tries to grab , but they wrestle free!" -msgstr "%sが掴みかかろうとしましたが、は何とか抜け出しました。" +msgstr "%sが掴みかかろうとしましたが、は何とか抜け出しました!" #: lang/json/technique_from_json.py msgid "Counter" @@ -153304,341 +158959,353 @@ msgstr "%sを掴んで投げました。" msgid " grabs and throws %s" msgstr "は%sを掴んで投げました。" +#: lang/json/technique_from_json.py +msgid "Hamstring" +msgstr "膝腱切り" + #: lang/json/technique_from_json.py #, python-format -msgid "You disarm %s" -msgstr "%sの武装を解除しました。" +msgid "You ground %s with a low blow" +msgstr "%sに地面すれすれの一撃を繰り出しました。" #: lang/json/technique_from_json.py #, python-format -msgid " disarms %s" -msgstr "は%sの武装を解除しました。" +msgid " grounds %s with a low blow" +msgstr " は%sに地面すれすれの一撃を繰り出しました。" #: lang/json/technique_from_json.py -msgid "precise strike" -msgstr "精密攻撃" +msgid "Vicious Precision" +msgstr "凶悪な一撃" #: lang/json/technique_from_json.py #, python-format -msgid "You strike %s" -msgstr "%sに正確な一撃を叩き込みました。" +msgid "You viciously wound %s" +msgstr "%sに凶悪な一撃をお見舞いしました。" #: lang/json/technique_from_json.py #, python-format -msgid " strikes %s" -msgstr "は%sに正確な一撃を叩き込みました。" +msgid " viciously wounds %s" +msgstr "は%sに凶悪な一撃をお見舞いしました。" #: lang/json/technique_from_json.py -msgid "axe-kick" -msgstr "踵落とし" +msgid "Dirty Hit" +msgstr "下劣な一撃" #: lang/json/technique_from_json.py #, python-format -msgid "You axe-kick %s" -msgstr "%sに踵落としをお見舞いしました。" +msgid "You hit %s with a dirty blow" +msgstr "%sに下劣な打撃を浴びせました。" #: lang/json/technique_from_json.py #, python-format -msgid " axe-kicks %s" -msgstr "は%sに踵落としをお見舞いしました。" +msgid " delivers a dirty blow to %s" +msgstr "は%sに下劣な打撃を浴びせました。" #: lang/json/technique_from_json.py -msgid "side kick" -msgstr "横蹴り" +msgid "Silat Brutality" +msgstr "無慈悲な一撃" #: lang/json/technique_from_json.py #, python-format -msgid "You side-kick %s" -msgstr "%sに横蹴りを喰らわせました。" +msgid "You brutally tear into %s" +msgstr "%sを容赦なく引き裂きました。" #: lang/json/technique_from_json.py #, python-format -msgid " side-kicks %s" -msgstr "は%sに横蹴りを喰らわせました。" +msgid " brutally tears into %s" +msgstr "は%sを容赦なく引き裂きました。" #: lang/json/technique_from_json.py -msgid "sweep kick" -msgstr "前掃腿" +msgid "Snake Snap" +msgstr "蛇の一咬" #: lang/json/technique_from_json.py #, python-format -msgid "You sweep-kick %s" -msgstr "%sに払い蹴りを繰り出しました。" +msgid "You swiftly jab %s" +msgstr "%sに素早いジャブをお見舞いしました。" #: lang/json/technique_from_json.py #, python-format -msgid " sweep-kicks %s" -msgstr "は%sに払い蹴りを繰り出しました。" +msgid " swiftly jabs %s" +msgstr "は%sに素早いジャブをお見舞いしました。" #: lang/json/technique_from_json.py -msgid "Drunk feint" -msgstr "沈酔フェイント" +msgid "Snake Slide" +msgstr "蛇の曲折" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble and leer at %s" -msgstr "よろめきながら%sに巧みなフェイントを仕掛けました。" +msgid "You make serpentine hand motions at %s" +msgstr "蛇のように腕をくねらせ%sにフェイントを仕掛けました。" #: lang/json/technique_from_json.py #, python-format -msgid " stumbles and leers at %s" -msgstr " はよろめきながら%sに巧みなフェイントを仕掛けました。" +msgid " makes serpentine hand motions at %s" +msgstr "は蛇のように腕をくねらせ%sにフェイントを仕掛けました。" #: lang/json/technique_from_json.py -msgid "Drunk counter" -msgstr "沈酔カウンター" +msgid "Snake Slither" +msgstr "蛇の湾曲" #: lang/json/technique_from_json.py #, python-format -msgid "You lurch, and your wild swing hits %s" -msgstr "よろめきながら%sに激しい一撃を喰らわせました。" +msgid "The %s tries to grab you, but you slither free!" +msgstr "%sが掴みかかろうとしましたが、するりと抜け出しました!" #: lang/json/technique_from_json.py #, python-format -msgid " lurches, and hits %s" -msgstr "はよろめきながら%sに激しい一撃を繰り出しました。" +msgid "The %s tries to grab , but they slither free!" +msgstr "は%sに掴まれそうになりましたが、するりと抜け出しました!" #: lang/json/technique_from_json.py -msgid "hamstring" -msgstr "膝腱切り" +msgid "Snake Strike" +msgstr "蛇の一撃" #: lang/json/technique_from_json.py #, python-format -msgid "You ground %s with a low blow" -msgstr "%sに地面すれすれの一撃を繰り出しました。" +msgid "You lash out at %s with a vicious Snake Strike" +msgstr "%sに危険な蛇の一撃を仕掛けました。" #: lang/json/technique_from_json.py #, python-format -msgid " grounds %s with a low blow" -msgstr " は%sに地面すれすれの一撃を繰り出しました。" +msgid " lashes out at %s with a vicious Snake Strike" +msgstr "は%sに危険な蛇の一撃を仕掛けました。" #: lang/json/technique_from_json.py -msgid "Vicious Precision" -msgstr "凶悪な一撃" +msgid "Push" +msgstr "突き飛ばし" #: lang/json/technique_from_json.py #, python-format -msgid "You viciously wound %s" -msgstr "%sに凶悪な一撃をお見舞いしました。" +msgid "You push %s away" +msgstr "%sを突き飛ばしました。" #: lang/json/technique_from_json.py #, python-format -msgid " viciously wounds %s" -msgstr "は%sに凶悪な一撃をお見舞いしました。" +msgid " pushes %s away" +msgstr "は%sを突き飛ばしました。" #: lang/json/technique_from_json.py -msgid "Silat Brutality" -msgstr "無慈悲な一撃" +msgid "Shove" +msgstr "押し出し" #: lang/json/technique_from_json.py #, python-format -msgid "You send %s reeling backwards" -msgstr "%sをよろめかせました。" +msgid "You shove %s back" +msgstr "%sを押し戻しました。" #: lang/json/technique_from_json.py -msgid "Dirty Hit" -msgstr "下劣な一撃" +#, python-format +msgid " shoves %s back" +msgstr "は%sを押し戻しました。" #: lang/json/technique_from_json.py #, python-format -msgid "You hit %s with a dirty blow" -msgstr "%sに下劣な打撃を浴びせました。" +msgid "You deftly trip %s" +msgstr "%sを器用に転ばせました。" #: lang/json/technique_from_json.py #, python-format -msgid " delivers a dirty blow to %s" -msgstr "は%sに下劣な打撃を浴びせました。" +msgid " deftly trips %s" +msgstr "は器用に%sを転ばせました。" #: lang/json/technique_from_json.py -msgid "Tiger Takedown" -msgstr "虎の叩伏" +msgid "Snatch Weapon" +msgstr "武器奪取" #: lang/json/technique_from_json.py #, python-format -msgid "You grab and ground %s" -msgstr "%sを掴んで地面へ叩きつけました。" +msgid "You snatch %s's weapon" +msgstr "%sの武器を奪い取りました。" #: lang/json/technique_from_json.py #, python-format -msgid " grabs and grounds %s" -msgstr "は%sを掴んで地面へ叩きつけました。" +msgid " snatches %s's weapon" +msgstr "は%sの武器を奪い取りました。" #: lang/json/technique_from_json.py -msgid "Snake Snap" -msgstr "蛇の一咬" +msgid "Axe-kick" +msgstr "踵落とし" #: lang/json/technique_from_json.py #, python-format -msgid "You swiftly jab %s" -msgstr "%sに素早いジャブをお見舞いしました。" +msgid "You raise your heel and axe-kick %s" +msgstr "%s目掛けて踵を振り下ろしました。" #: lang/json/technique_from_json.py #, python-format -msgid " swiftly jabs %s" -msgstr "は%sに素早いジャブをお見舞いしました。" +msgid " raises their heel and axe-kicks %s" +msgstr "は%s目掛けて踵を振り下ろしました。" #: lang/json/technique_from_json.py -msgid "Snake Slide" -msgstr "蛇の曲折" +msgid "Side Kick" +msgstr "横蹴り" #: lang/json/technique_from_json.py #, python-format -msgid "You make serpentine hand motions at %s" -msgstr "蛇のように腕をくねらせ%sにフェイントを仕掛けました。" +msgid "You turn slightly and side-kick %s" +msgstr "身体をひねって%sに横蹴りを繰り出しました。" #: lang/json/technique_from_json.py #, python-format -msgid " makes serpentine hand motions at %s" -msgstr "は蛇のように腕をくねらせ%sにフェイントを仕掛けました。" +msgid " turns slightly and side-kicks %s" +msgstr "は身体をひねって%sに横蹴りを繰り出しました。" #: lang/json/technique_from_json.py -msgid "Snake Slither" -msgstr "蛇の湾曲" +#, python-format +msgid "You crouch low and sweep-kick %s" +msgstr "姿勢を低くして%sに足払いを繰り出しました。" #: lang/json/technique_from_json.py #, python-format -msgid "The %s tries to grab you, but you slither free!" -msgstr "%sが掴みかかろうとしましたが、するりと抜け出しました。" +msgid " crouches low and sweep-kicks %s" +msgstr "は姿勢を低くして%sに足払いを繰り出しました。" #: lang/json/technique_from_json.py #, python-format -msgid "The %s tries to grab , but they slither free!" -msgstr "は%sに掴まれそうになりましたが、するりと抜け出しました!" +msgid "You gently disarm %s" +msgstr "力を込めずに%sの武装を解除しました。" #: lang/json/technique_from_json.py -msgid "Snake Strike" -msgstr "蛇の一撃" +#, python-format +msgid " gently disarms %s" +msgstr "は力を込めずに%sの武装を解除しました。" + +#: lang/json/technique_from_json.py +msgid "Palm Strike" +msgstr "掌打" #: lang/json/technique_from_json.py #, python-format -msgid "You strike out at %s" -msgstr "%sに狙いすました一撃を繰り出しました。" +msgid "You palm strike %s" +msgstr "%sに掌打を放ちました。" #: lang/json/technique_from_json.py #, python-format -msgid " strikes out at %s" -msgstr "は%sに狙いすました一撃を繰り出しました。" +msgid " palm strikes %s" +msgstr "は%sに掌打を放ちました。" #: lang/json/technique_from_json.py -msgid "slow strike" -msgstr "緩慢な一撃" +msgid "Grasp the Sparrow's Tail" +msgstr "攬雀尾" #: lang/json/technique_from_json.py #, python-format -msgid "You slowly strike %s" -msgstr "%sに緩慢な一撃を浴びせました。" +msgid "You divert %s's attack and lead them to the ground" +msgstr "%sの攻撃を逸らして叩き伏せました。" #: lang/json/technique_from_json.py #, python-format -msgid " slowly strikes %s" -msgstr "は%sに緩慢な一撃を浴びせました。" +msgid " diverts %s's attack and lead them to the ground" +msgstr "は%sの攻撃を逸らして叩き伏せました。" #: lang/json/technique_from_json.py -msgid "phasing strike" -msgstr "降下攻撃" +msgid "Double Palm Strike" +msgstr "双掌打" #: lang/json/technique_from_json.py #, python-format -msgid "You phase-strike %s" -msgstr "%sに降下攻撃を仕掛けました。" +msgid "You double-handed palm strike %s" +msgstr "両手を揃えて%sに掌打を放ちました。" #: lang/json/technique_from_json.py #, python-format -msgid " phase-strikes %s" -msgstr "は%sに降下攻撃を仕掛けました。" +msgid " double-handed palm strikes %s" +msgstr "は両手を揃えて%sに掌打を放ちました。" #: lang/json/technique_from_json.py -msgid "Push" -msgstr "突き飛ばし" +msgid "Tiger Palm" +msgstr "虎の一撃" #: lang/json/technique_from_json.py #, python-format -msgid "You push %s away" -msgstr "%sを突き飛ばしました。" +msgid "You land a heavy tiger palm on %s" +msgstr "%sに重い一撃を繰り出しました。" #: lang/json/technique_from_json.py #, python-format -msgid " pushes %s away" -msgstr "は%sを突き飛ばしました。" +msgid " lands a heavy tiger palm on %s" +msgstr "は%sに重い一撃を繰り出しました。" #: lang/json/technique_from_json.py -#, python-format -msgid "You deftly trip %s" -msgstr "%sを器用に転ばせました。" +msgid "Tiger Takedown" +msgstr "虎の叩伏" #: lang/json/technique_from_json.py #, python-format -msgid " deftly trips %s" -msgstr "は器用に%sを転ばせました。" +msgid "You slam %s to the ground" +msgstr "%sを叩き伏せました。" #: lang/json/technique_from_json.py -msgid "Skewer" -msgstr "刺し貫き" +#, python-format +msgid " slams %s to the ground" +msgstr "は%sを叩き伏せました。" #: lang/json/technique_from_json.py -#, python-format -msgid "You brutally skewer %s" -msgstr "%sを容赦なく刺し貫きました。" +msgid "Straight Punch" +msgstr "正拳突き" #: lang/json/technique_from_json.py #, python-format -msgid " brutally skewers %s" -msgstr "は%sを容赦なく刺し貫きました。" +msgid "You deliver a vertical straight punch to %s" +msgstr "%sに真正面から正拳突きをお見舞いしました。" #: lang/json/technique_from_json.py -msgid "Chain Punch" -msgstr "連続パンチ" +#, python-format +msgid " delivers a vertical straight punch to %s" +msgstr "は%sに真正面から正拳突きをお見舞いしました。" -#. ~ Description for Chain Punch #: lang/json/technique_from_json.py -msgid "50% moves, 66% damage, knockback and follow" -msgstr "攻撃コスト50%、与ダメージ66%、吹き飛ばし攻撃+追随" +msgid "Straight Punch (Knockback)" +msgstr "正拳突き(吹き飛ばし)" #: lang/json/technique_from_json.py #, python-format -msgid "You chain strike %s" -msgstr "%sに連続攻撃を繰り出しました。" +msgid "You force %s back with a vertical straight punch" +msgstr "%sを正拳突きで吹き飛ばしました。" #: lang/json/technique_from_json.py #, python-format -msgid " chain strikes %s" -msgstr "は%sに連続攻撃を繰り出しました。" +msgid " forces %s back with a vertical straight punch" +msgstr "は%sを正拳突きで吹き飛ばしました。" #: lang/json/technique_from_json.py -msgid "You position yourself well and slip out of a grab" -msgstr "足下を踏みしめ、敵の拘束を脱しました。" +msgid "L-hook" +msgstr "横拳" #: lang/json/technique_from_json.py -msgid " slips out of a grab" -msgstr "は敵の拘束を脱しました。" +#, python-format +msgid "You deliver a solid L-hook to %s" +msgstr "%sに鋭い横拳を叩き込みました。" #: lang/json/technique_from_json.py -msgid "ask the way" -msgstr "問手" +#, python-format +msgid " delivers a solid L-hook to %s" +msgstr "は%sに鋭い横拳を叩き込みました。" #: lang/json/technique_from_json.py -#, python-format -msgid "You miss but keep striking at %s" -msgstr "空振りを厭わず%sを更に攻撃しました。" +msgid "L-hook (Knockback)" +msgstr "横拳(吹き飛ばし)" #: lang/json/technique_from_json.py #, python-format -msgid " misses but keeps striking at %s" -msgstr "は空振りを厭わず%sを更に攻撃しました。" +msgid "You knock %s back with a solid L-hook" +msgstr "%sを鋭い横拳で吹き飛ばしました。" #: lang/json/technique_from_json.py -msgid "White Crane stumble" -msgstr "白鶴猛攻" +#, python-format +msgid " knocks %s back with a solid L-hook" +msgstr "は%sを鋭い横拳で吹き飛ばしました。" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble %s with your onslaught" -msgstr "猛攻によって%sをふらつかせました。" +msgid "Your attack misses %s but you don't let up" +msgstr "%sへの攻撃は外れましたが、上手く体勢を立て直しました。" #: lang/json/technique_from_json.py #, python-format -msgid " stumbles %s" -msgstr "は%sをふらつかせました。" +msgid "'s attack misses %s but they don't let up" +msgstr "の%sへの攻撃は外れましたが、上手く体勢を立て直しました。" #: lang/json/technique_from_json.py msgid "Receive and Counter" @@ -153654,6 +159321,72 @@ msgstr "%sからの攻撃を受け止め、お返しを繰り出しました。" msgid " receives %s's attack, and counters" msgstr "は%sの攻撃を受け止め、カウンターを繰り出しました。" +#: lang/json/technique_from_json.py +msgid "Drunken Feint" +msgstr "フェイント(酔拳)" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You stumble and leer at %s" +msgstr "よろめきながら%sに巧みなフェイントを仕掛けました。" + +#: lang/json/technique_from_json.py +#, python-format +msgid " stumbles and leers at %s" +msgstr " はよろめきながら%sに巧みなフェイントを仕掛けました。" + +#: lang/json/technique_from_json.py +msgid "Drunk Counter" +msgstr "カウンター(酔拳)" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You lurch, and your wild swing hits %s" +msgstr "よろめきながら%sに激しい一撃を喰らわせました。" + +#: lang/json/technique_from_json.py +#, python-format +msgid " lurches, and hits %s" +msgstr "はよろめきながら%sに激しい一撃を繰り出しました。" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you stumble away!" +msgstr "%sが掴みかかろうとしましたが、フラリとかわしました!" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they stumble away!" +msgstr "%sが掴みかかろうとしましたが、はフラリとかわしました!" + +#: lang/json/technique_from_json.py +msgid "slow strike" +msgstr "緩慢な一撃" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You slowly strike %s" +msgstr "%sに緩慢な一撃を浴びせました。" + +#: lang/json/technique_from_json.py +#, python-format +msgid " slowly strikes %s" +msgstr "は%sに緩慢な一撃を浴びせました。" + +#: lang/json/technique_from_json.py +msgid "phasing strike" +msgstr "降下攻撃" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You phase-strike %s" +msgstr "%sに降下攻撃を仕掛けました。" + +#: lang/json/technique_from_json.py +#, python-format +msgid " phase-strikes %s" +msgstr "は%sに降下攻撃を仕掛けました。" + #: lang/json/technique_from_json.py msgid "Pressure Crunch" msgstr "粉砕拳" @@ -154294,7 +160027,7 @@ msgstr "橋脚" #. ~ Description for deep dock pile #: lang/json/terrain_from_json.py msgid "" -"A sturdy pile made of wood extending all the way to the riverbed. A frame " +"A sturdy pile made of wood extending all the way to the riverbed. A frame " "will be required to support a surface." msgstr "水底まで伸びた木製の頑丈な杭です。橋板を支えるには橋桁が必要です。" @@ -154305,8 +160038,8 @@ msgstr "橋桁" #. ~ Description for deep dock frame #: lang/json/terrain_from_json.py msgid "" -"A log frame secured atop a wooden pile. Adding a wood surface will make this" -" into a proper dock section." +"A log frame secured atop a wooden pile. Adding a wood surface will make " +"this into a proper dock section." msgstr "木製の杭に固定された丸太の骨組みです。木製の橋板を固定すれば立派な桟橋になります。" #: lang/json/terrain_from_json.py @@ -154316,7 +160049,7 @@ msgstr "桟橋(深水域)" #. ~ Description for deep dock #: lang/json/terrain_from_json.py msgid "" -"A wooden platform held by a tall wooden pile that extend to the riverbed. " +"A wooden platform held by a tall wooden pile that extend to the riverbed. " "Very sturdy, and likely to outlast you." msgstr "水底まで伸びた木製の頑丈な杭に支えられた、木製の桟橋です。非常に丈夫で長持ちしそうです。" @@ -154974,6 +160707,19 @@ msgid "" "wide open, allowing anything to travel through." msgstr "一般に流通している掛け金が付いた木製の門です。門は開け放たれており、通り抜けられます。" +#: lang/json/terrain_from_json.py +msgid "closed screen door" +msgstr "閉じたドア(網戸)" + +#. ~ Description for closed screen door +#: lang/json/terrain_from_json.py +msgid "A simple wooden doorway with screen mesh." +msgstr "網戸を取り付けたシンプルな木製の出入り口です。" + +#: lang/json/terrain_from_json.py +msgid "rattle!" +msgstr "ガシャン!" + #: lang/json/terrain_from_json.py msgid "closed chickenwire gate" msgstr "閉じた門(亀甲金網)" @@ -154984,10 +160730,6 @@ msgid "" "A gate for a chickenwire fence with a simple latch system to stay closed." msgstr "簡単な掛け金が付いた、閉じたままの亀甲金網フェンスの門です。" -#: lang/json/terrain_from_json.py -msgid "rattle!" -msgstr "ガシャン!" - #: lang/json/terrain_from_json.py msgid "open chickenwire gate" msgstr "開いた門(亀甲金網)" @@ -155045,6 +160787,17 @@ msgstr "木材と捩ったワイヤーで作った、やや脆弱な背の高い msgid "metal rattling!" msgstr "[金属がガタつく音]" +#: lang/json/terrain_from_json.py +msgid "screen mesh wall" +msgstr "壁(網戸)" + +#. ~ Description for screen mesh wall +#: lang/json/terrain_from_json.py +msgid "" +"A rather flimsy tall wall made of 2x4s and screen mesh, suitable for keeping" +" the bugs out." +msgstr "木材と捩ったワイヤーで作った、かなり薄手の背の高いフェンスです。虫の出入りを防ぐのに適しています。" + #: lang/json/terrain_from_json.py msgid "chickenwire fence post" msgstr "柵柱(亀甲金網)" @@ -155372,7 +161125,7 @@ msgstr "床(木)" #. ~ Description for wooden floor #: lang/json/terrain_from_json.py msgid "" -"Wooden floor created from boards, packed tightly together and nailed down. " +"Wooden floor created from boards, packed tightly together and nailed down. " "Common in patios." msgstr "木の板を隙間なく敷き詰めて釘で打ち付けた床です。テラスなどでよく見られます。" @@ -155681,7 +161434,7 @@ msgstr "放射線照射プラットホーム" msgid "" "A dual purpose platform that serves as a containment, and as a device that " "exposes items places on in to the radioactive source, by temporarily " -"hoisting the radioactive material stored within. Operated from external " +"hoisting the radioactive material stored within. Operated from external " "console." msgstr "放射性物質の保管に加えて、一時的に吊り上げることでアイテムに放射線を照射する役割も持った装置です。外部のコンソールを使って操作します。" @@ -155969,10 +161722,10 @@ msgstr "セイヨウネズの木" #: lang/json/terrain_from_json.py msgid "" "One of the species of 'Juniperus' that grows in New England, juniper berries" -" grow over two to three years, first flowering. On the second year producing" -" a green berry, the last, they produce their more famed blue varieties. If " -"you examined the foliage more closely, you could probably find some viable " -"clusters. You could also cut it down with the right tools." +" grow over two to three years, first flowering. On the second year " +"producing a green berry, the last, they produce their more famed blue " +"varieties. If you examined the foliage more closely, you could probably " +"find some viable clusters. You could also cut it down with the right tools." msgstr "" "ニューイングランド地域で見られる、ビャクシン属の木です。ジュニパーベリーは最初に開花してから2~3年かけて成長し、2年ほど経つと見慣れた青い果実になります。枝を良く調べれば、成熟した果実が手に入るかもしれません。適切な道具を使えば切り倒せます。" @@ -156954,12 +162707,13 @@ msgstr "ATM" #: lang/json/terrain_from_json.py msgid "" "For your banking convenience, this Automated Teller Machine is fully capable" -" of operating autonomously in the event of complete network failure. You can" -" deposit funds from cash cards and migrate all of your inflation-adjusted " -"earnings to a single card. These things have seen better days. There's been" -" a run on the bank, and this machine has the dents and cracks to prove it." +" of operating autonomously in the event of complete network failure. You " +"can deposit funds from cash cards and migrate all of your inflation-adjusted" +" earnings to a single card. These things have seen better days. There's " +"been a run on the bank, and this machine has the dents and cracks to prove " +"it." msgstr "" -"銀行の利便性を確保するために、このATMは致命的なネットワーク障害が発生した際にも完全自立稼働ができるようになっています。キャッシュカードのお金を預けたり、インフレ調整済みの資産を1枚のカードにまとめることができますが、そんな機能も今や時代遅れですが。取り付け騒ぎがあったようで、機械のあちこちに凹みやヒビが残っています。" +"銀行の利便性を確保するために、このATMは致命的なネットワーク障害が発生した際にも完全自立稼働ができるようになっています。キャッシュカードのお金を預けたり、インフレ調整済みの資産を1枚のカードにまとめることができますが、そんな機能も今や時代遅れです。取り付け騒ぎがあったようで、機械のあちこちに凹みやヒビが残っています。" #: lang/json/terrain_from_json.py msgid "Critical failure imminent, self destruct activated. Have a nice day!" @@ -156967,14 +162721,14 @@ msgstr "重大機能不全警報、自爆装置を起動します。良い一日 #: lang/json/terrain_from_json.py msgid "ticket vendor" -msgstr "券売機" +msgstr "改札機" #. ~ Description for ticket vendor #: lang/json/terrain_from_json.py msgid "" "This machine has a little screen, and slots intended to take your money and " "provide you with a ticket." -msgstr "この機械には小さな画面と、入金とチケットを出すためのスロットがあります。" +msgstr "この機械には小さな画面と、入金とチケット発券用のスロットがあります。" #: lang/json/terrain_from_json.py msgid "ticket machine" @@ -157062,8 +162816,8 @@ msgstr "遠心分離装置" #: lang/json/terrain_from_json.py msgid "" "This is a centrifuge, a liquid separating device with an automated analyzer " -"unit. It could be used to analyze a medical fluid sample, such as blood, if " -"a test tube was placed in it." +"unit. It could be used to analyze a medical fluid sample, such as blood, if" +" a test tube was placed in it." msgstr "遠心分離機と分析装置が一体となった機械です。血液などの液体サンプルが入った試験管を置けば、内容物を分析できます。" #: lang/json/terrain_from_json.py @@ -157679,7 +163433,7 @@ msgstr "閉じた門(樹脂)" #. ~ Description for closed resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is closed tightly, but it looks like a firm push would cause it to snap " "open." msgstr "" @@ -157692,7 +163446,7 @@ msgstr "開いた門(樹脂)" #. ~ Description for open resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is open, the flaps held out by some sort of stringy mucus-like " "substance." msgstr "" @@ -157786,6 +163540,13 @@ msgid "" " were still running." msgstr "踏切がある事を表す交通標識ですが、列車が走っていなければ意味がありません。" +#. ~ Description for small railroad track +#: lang/json/terrain_from_json.py +msgid "" +"Like a railroad track, only smaller. You could probably run a small vehicle" +" on this." +msgstr "小さい鉄道用の線路です。小型の車両を運行できそうです。" + #: lang/json/terrain_from_json.py msgid "sandbox" msgstr "砂場" @@ -157852,7 +163613,7 @@ msgstr "集水器" #. ~ Description for gutter drop #: lang/json/terrain_from_json.py msgid "" -"Funnels water from gutter system towards the ground, it looks flimsy. You " +"Funnels water from gutter system towards the ground, it looks flimsy. You " "may be able to climb down here." msgstr "屋根から地面に向かって水を流す、脆弱そうな溝です。ここを伝って下に降りられそうです。" @@ -157864,7 +163625,7 @@ msgstr "縦樋" #: lang/json/terrain_from_json.py msgid "" "A length of gutter running from the roof to the ground, you could place a " -"container underneath it to collect rainwater. It looks flimsy. You may be " +"container underneath it to collect rainwater. It looks flimsy. You may be " "able to climb down here." msgstr "屋根から地面に向かって水を流す、縦に伸びた脆弱そうな溝です。下に容器を置けば水を溜められそうです。ここを伝って下に降りられそうです。" @@ -157910,7 +163671,7 @@ msgstr "平屋根(金属)" #. ~ Description for metal flat roof #: lang/json/terrain_from_json.py -msgid "A secton of flat, sheet metal rooftop." +msgid "A section of flat, sheet metal rooftop." msgstr "板金製の平坦な屋根です。" #: lang/json/terrain_from_json.py @@ -157938,7 +163699,7 @@ msgstr "岩盤" #. ~ Description for rock roof #: lang/json/terrain_from_json.py -msgid "A secton of flat natural rock." +msgid "A section of flat natural rock." msgstr "平らな天然の岩盤です。" #: lang/json/terrain_from_json.py @@ -158158,14 +163919,14 @@ msgstr "紫色に塗られた壁です。" #: lang/json/terrain_from_json.py msgid "half-built brick wall" -msgstr "建設途中の壁(煉瓦)" +msgstr "建設途中の壁(レンガ)" #. ~ Description for half-built brick wall #: lang/json/terrain_from_json.py msgid "" "Half of a brick wall, looks like it still requires some more resources and " "effort before being considered a real wall." -msgstr "完成途中の煉瓦の壁です。実用的な壁と見なされるには、もう少し資材と努力が必要なようです。" +msgstr "完成途中のレンガの壁です。実用的な壁と見なされるには、もう少し資材と努力が必要なようです。" #: lang/json/terrain_from_json.py msgid "bash!" @@ -158173,14 +163934,14 @@ msgstr "ガシャン!" #: lang/json/terrain_from_json.py msgid "brick wall" -msgstr "壁(煉瓦)" +msgstr "壁(レンガ)" #. ~ Description for brick wall #: lang/json/terrain_from_json.py msgid "" "A solid brick wall, sturdy enough to support a roof with enough walls and " "keep out any unwanted visitors." -msgstr "屋根を支え、招かれざる客を退けるのに十分な頑丈さを備えた煉瓦の壁です。" +msgstr "屋根を支え、招かれざる客を退けるのに十分な頑丈さを備えたレンガの壁です。" #: lang/json/terrain_from_json.py msgid "stone wall" @@ -158215,25 +163976,25 @@ msgstr "表面が滑らかな石のブロックです。礼拝堂や霊廟では #: lang/json/terrain_from_json.py msgid "half-built adobe wall" -msgstr "建設途中の壁(日干し煉瓦)" +msgstr "建設途中の壁(日干しレンガ)" #. ~ Description for half-built adobe wall #: lang/json/terrain_from_json.py msgid "" "Half of an adobe brick wall, looks like it still requires some more " "resources and effort before being considered a real wall." -msgstr "完成途中の日干し煉瓦の壁です。実用的な壁と見なされるには、もう少し資材と努力が必要なようです。" +msgstr "完成途中の日干しレンガの壁です。実用的な壁と見なされるには、もう少し資材と努力が必要なようです。" #: lang/json/terrain_from_json.py msgid "adobe wall" -msgstr "壁(日干し煉瓦)" +msgstr "壁(日干しレンガ)" #. ~ Description for adobe wall #: lang/json/terrain_from_json.py msgid "" "A solid adobe brick wall, sturdy enough to support a roof with enough walls " "and keep out any unwanted visitors." -msgstr "屋根を支え、招かれざる客を退けるのに十分な頑丈さを備えた日干し煉瓦の壁です。" +msgstr "屋根を支え、招かれざる客を退けるのに十分な頑丈さを備えた日干しレンガの壁です。" #: lang/json/terrain_from_json.py msgid "concrete wall" @@ -158658,7 +164419,7 @@ msgstr "建設途中の柱" #: lang/json/terrain_from_json.py msgid "" "An empty wooden frame in the shape of a column, built around a concrete and " -"rebar foundation. It isn't capable of supporting roofs or shelter, and " +"rebar foundation. It isn't capable of supporting roofs or shelter, and " "appears to need more resources before being considered complete." msgstr "" "コンクリートと鉄筋で作られた基礎の周りを、柱の形をした木製の型が囲っています。屋根やシェルターを支えるにはまだ不十分です。作業を完了するにはより多くの資材が必要になりそうです。" @@ -159828,7 +165589,7 @@ msgid "" "You just activated a grenade! You probably want to throw it. To throw an " "item, press 't' and then select the item to throw. The maximum range " "depends on your strength and the object's weight and size. Throwing isn't " -"very good in most combat situations, but if you've got some fire power..." +"very good in most combat situations, but if you've got some fire power…" msgstr "" "手榴弾のピンを引き抜きました!投げた方が良いでしょうね。アイテムを投げるには、't'を押したあと投げる物を選択します。投擲できる範囲は、自身の筋力と投げる物の重量・体積によって異なります。投擲は、戦闘中に役立つことはあまりありませんが、火力の高い物があればあるいは..." @@ -159903,7 +165664,7 @@ msgstr "真っ暗だ!幸いな事に懐中電灯を持っています。'a'を #: lang/json/tutorial_messages_from_json.py msgid "" "~ is a terrain symbol that indicates water. From a water source like this, " -"you can fill any containers you might have. Examine the water ('e') and " +"you can fill any containers you might have. Examine the water ('e') and " "press 'c' to fill a container, then select a watertight container to put the" " water into." msgstr "" @@ -160347,7 +166108,7 @@ msgstr "バス" #: lang/json/vehicle_from_json.py msgid "Tour Bus" -msgstr "観光バス" +msgstr "ツアーバス" #: lang/json/vehicle_from_json.py msgid "Security Van" @@ -160921,7 +166682,7 @@ msgstr "電源を入れると車外を明るく照らす、広角ライトです #: lang/json/vehicle_part_from_json.py msgid "" "A very bright, directed light that illuminates a half-circular area outside " -"the vehicle when turned on. During installation, you can choose what " +"the vehicle when turned on. During installation, you can choose what " "direction to point the light." msgstr "電源を入れると車外を半円状に明るく照らす、指向性ライトです。取り付ける際にライトが照らす方向を設定できます。" @@ -161056,7 +166817,7 @@ msgstr "車載マットレス" #. ~ Description for tied mattress #: lang/json/vehicle_part_from_json.py msgid "" -"A mattress, strapped onto the vehicle. It could serve to blunt any impact." +"A mattress, strapped onto the vehicle. It could serve to blunt any impact." msgstr "車両に結び付けたマットレスです。衝突の衝撃を和らげます。" #. ~ Description for shredder @@ -161475,6 +167236,13 @@ msgid "" "things." msgstr "車両に衝突した物体を更に傷つける、車両に溶接したスパイクです。" +#. ~ Description for programmable autopilot +#: lang/json/vehicle_part_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of the vehicle to " +"allow it to follow simple paths." +msgstr "車両のステアリングとエンジンに接続して単純な経路を自動で走行できるようにするコンピュータシステムです。" + #: lang/json/vehicle_part_from_json.py msgid "swappable storage battery case" msgstr "交換式蓄電池ケース" @@ -161510,20 +167278,19 @@ msgstr "小型の冷蔵庫です。電源を入れると中に置いた食べ物 #. ~ Description for washing machine #: lang/json/vehicle_part_from_json.py msgid "" -"A small washing machine. With detergent or soap, water, and some electrical" -" power, you could clean a lot of clothes. 'e'xamine the tile with the " -"washing machine to use it." -msgstr "小型の洗濯機です。洗剤や石鹸と水、電力を消費して大量の衣類を洗濯できます。このタイルを調べると洗濯機を使用できます。" +"A small washing machine. With detergent, water, and some electrical power, " +"you could clean a lot of clothes. 'e'xamine the tile with the washing " +"machine to use it." +msgstr "小型の洗濯機です。洗剤と水、電力を消費して大量の衣類を洗濯できます。このタイルを調べると洗濯機を使用できます。" #. ~ Description for dishwasher #: lang/json/vehicle_part_from_json.py msgid "" -"A small dishwasher. With detergent or soap, water, and some electrical " -"power, you could clean your dishes... Or something more useful like a CBM " -"dripping with zombie gore. 'e'xamine the tile with the dishwasher to use " -"it." +"A small dishwasher. With detergent, water, and some electrical power, you " +"could clean your dishes… Or something more useful like a CBM dripping with " +"zombie gore. 'e'xamine the tile with the dishwasher to use it." msgstr "" -"小さな食洗器です。洗剤か石鹸、水、そしていくらかの電力があれば、食器か...あるいはゾンビの死体に埋まっていたCBMのような有用なものを洗うことができそうです。\"E\"でタイルを調べて使用できます。" +"小さな食洗器です。洗剤と水、電力を消費して食器...あるいはもっと有用な、例えばゾンビの死体に埋まっていたCBMを洗浄できそうです。タイルを調べると使用できます。" #. ~ Description for autoclave #: lang/json/vehicle_part_from_json.py @@ -161604,7 +167371,7 @@ msgstr "ボートが浸水するのを防ぐ、非常に軽い高性能カーボ #: lang/json/vehicle_part_from_json.py msgid "hand paddles" -msgstr "手漕ぎ櫂" +msgstr "ハンドパドル" #: lang/json/vehicle_part_from_json.py msgid "controls" @@ -161707,7 +167474,7 @@ msgstr "風を当てると車両の電力をゆっくりと充電する、小型 #: lang/json/vehicle_part_from_json.py msgid "" "A large wind turbine with stabilizing legs. Will recharge the vehicle's " -"electrical power when exposed to the wind. Will cause extra drag on the " +"electrical power when exposed to the wind. Will cause extra drag on the " "vehicle." msgstr "安定感のある脚を備えた大型の風力タービンです。風を当てると車両の電力をゆっくりと充電します。車両の空気抵抗が増加します。" @@ -161826,7 +167593,7 @@ msgid "" "craft an item that needs a kiln, you will be given the option of selecting " "it as a tool." msgstr "" -"車両のバッテリーの電力を消費して駆動する、煉瓦や陶器を焼くための電動窯です。これを使えば煉瓦や粘土を焼いて固められます。窯が必要なアイテム製作を行う際は、自動的に道具として認識されます。" +"車両のバッテリーの電力を消費して駆動する、レンガや陶器を焼くための電動窯です。これを使えばレンガや粘土を焼いて固められます。窯が必要なアイテム製作を行う際は、自動的に道具として認識されます。" #: lang/json/vehicle_part_from_json.py msgid "wooden armor" @@ -162201,6 +167968,16 @@ msgid "" "stand next to a turret mount and 'f'ire the weapon by selecting the tile." msgstr "一般的な銃器に対応した、回転式のタレット台です。素手の状態でタレット台の周囲に立って発射(f)すると、選択した地点に銃器を発射できます。" +#. ~ Description for turret control unit +#: lang/json/vehicle_part_from_json.py +msgid "" +"A set of motor, camera, and an AI unit which allows for tracking targets, " +"friend-or-foe identification, and firing the connected turret in full " +"automatic mode. When installed over the turret, it will enable auto " +"targeting mode for said turret." +msgstr "" +"標的の追跡や敵味方の識別、全自動射撃などの機能が付いた、モーターやカメラ、AIユニットのセットです。タレットに取り付けると自動照準モードが有効になります。" + #: lang/json/vehicle_part_from_json.py msgid "light wheel mount (steerable)" msgstr "小型ホイールハブ (転舵輪)" @@ -162242,6 +168019,14 @@ msgstr "頑丈な金属製の車輪です。車輪縁の出っ張りのお陰で msgid "rail wheel (steerable)" msgstr "鉄道用ホイール(転舵輪)" +#. ~ Description for pair of small rail wheels +#: lang/json/vehicle_part_from_json.py +msgid "" +"A pair of small rail wheels. It performs well when riding on a pair of " +"small rails. It performs terribly when not on a rail. Moreover, you can't " +"steer it." +msgstr "2つセットになった小型の鉄道用車輪です。普通の鉄道より狭いレール上を走れますが、操縦はできません。" + #: lang/json/vehicle_part_from_json.py msgid "roller drum" msgstr "ドラムローラー" @@ -163733,7 +169518,7 @@ msgstr "銃器を搭載する、回転機構付きのタレットです。対応 #: lang/json/vehicle_part_from_json.py msgid "wiring" -msgstr "ワイヤー" +msgstr "配線" #. ~ Description for wiring #: lang/json/vehicle_part_from_json.py @@ -163924,81 +169709,6 @@ msgstr "ライフル(テスラキャノン/手動照準)" msgid "manual avalanche rifle" msgstr "ライフル(強化空圧式/手動照準)" -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of road" -msgstr "道路の空白地帯" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Randomly-distributed wrecks" -msgstr "ランダム配置された廃車" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parked vehicles" -msgstr "駐車中の車両" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Jack-knifed semi" -msgstr "折れ曲がったトレーラー" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Random car pileup" -msgstr "ランダムに重なった車両" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Police car pileup" -msgstr "衝突したパトロールカー" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Out of fuel vehicle" -msgstr "燃料切れの車両" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of bridge" -msgstr "橋の空白地帯" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Unfueled Vehicle on the bridge" -msgstr "橋の上のガス欠車両" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the bridge" -msgstr "橋の上の車両" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of highway" -msgstr "高速道路の空白地帯" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the highway" -msgstr "高速道路の車両" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parking lot with vehicles" -msgstr "駐車場の車両" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of subway" -msgstr "地下鉄路線の空き地" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the subway" -msgstr "地下鉄の車両" - #: lang/json/vitamin_from_json.py msgid "Calcium" msgstr "カルシウム" @@ -164015,6 +169725,10 @@ msgstr "ビタミンB12" msgid "Vitamin C" msgstr "ビタミンC" +#: lang/json/vitamin_from_json.py +msgid "Toxins" +msgstr "毒素" + #: src/action.cpp src/input.cpp msgid "Press " msgstr " " @@ -164136,8 +169850,8 @@ msgstr "手術用メスを高性能システムで操り、精密な解体作業 #: src/activity_handlers.cpp msgid "" -"You need to suspend this corpse to butcher it. While you have a rope to lift" -" the corpse, there is no tree nearby to hang it from." +"You need to suspend this corpse to butcher it. While you have a rope to " +"lift the corpse, there is no tree nearby to hang it from." msgstr "死体を解体するためには吊るす必要があります。ロープはありますが、周囲に木がありません。" #: src/activity_handlers.cpp @@ -164150,8 +169864,8 @@ msgstr "大型の死体を完全に解体するには、設置された状態の #: src/activity_handlers.cpp msgid "" "To perform a full butchery on a corpse this big, you need a table nearby or " -"something else with a flat surface. A leather tarp spread out on the ground " -"could suffice." +"something else with a flat surface. A leather tarp spread out on the ground" +" could suffice." msgstr "大型の死体を完全に解体するには、周囲にテーブルが必要です。防水シートが敷いてある地面でも構いません。" #: src/activity_handlers.cpp @@ -164458,7 +170172,7 @@ msgstr "戦闘能力を奪うべく、死体を切ってみました。これで #. ~ Sound of a Pickaxe at work! #: src/activity_handlers.cpp -msgid "CHNK! CHNK! CHNK!" +msgid "CHNK! CHNK! CHNK!" msgstr "カチン!カチン!カチン!" #: src/activity_handlers.cpp @@ -164504,7 +170218,7 @@ msgstr "%sに弾薬を込めました。" msgid "You refill the %s." msgstr "%sを補充しました。" -#: src/activity_handlers.cpp +#: src/activity_handlers.cpp src/bionics.cpp msgid "There's nothing to light there." msgstr "火をつけられそうな物がありません。" @@ -164520,6 +170234,16 @@ msgstr "火を起こすために使っていたアイテムを失いました。 msgid "There is not enough sunlight to start a fire now. You stop trying." msgstr "点火するには太陽光が弱すぎます。点火作業を中止しました。" +#: src/activity_handlers.cpp +#, c-format +msgid "You learn a little about the spell : %s" +msgstr "%sの呪文について少し学びました!" + +#: src/activity_handlers.cpp src/character_martial_arts.cpp +#, c-format +msgid "You learn %s." +msgstr "%sを学びました。" + #: src/activity_handlers.cpp #, c-format msgid "You finish training %s to level %d." @@ -164530,11 +170254,6 @@ msgstr "訓練を受けて%sスキルが%dに上昇しました。" msgid "You get some training in %s." msgstr "%sの訓練を終えました。" -#: src/activity_handlers.cpp -#, c-format -msgid "You learn %s." -msgstr "%sを学びました。" - #: src/activity_handlers.cpp msgid "You've charged the battery completely." msgstr "バッテリーを完全に充電しました。" @@ -164650,15 +170369,22 @@ msgstr "損傷確率: %.1f%%" msgid "Your %s is already fully repaired." msgstr "%sは完全に修復されています。" -#: src/activity_handlers.cpp src/player.cpp -#, c-format -msgid "You are currently unable to mend the %s." -msgstr "今のところ%sを修理できません。" +#: src/activity_handlers.cpp +msgid "You defrost the food, but don't heat it up, since you enjoy it cold." +msgstr "食料を解凍しましたが、冷たいままの方が美味しいので、加温を中断しました。" + +#: src/activity_handlers.cpp +msgid "You defrost and heat up the food." +msgstr "食料を温めて解凍しました。" + +#: src/activity_handlers.cpp +msgid "You heat up the food." +msgstr "食料を温めました。" #: src/activity_handlers.cpp #, c-format -msgid "You successfully mended the %s." -msgstr "%sの修理に成功しました。" +msgid "You are currently unable to mend the %s." +msgstr "今のところ%sを修理できません。" #: src/activity_handlers.cpp #, c-format @@ -164714,10 +170440,6 @@ msgstr "何かが針にかかったようです!" msgid "You finish fishing" msgstr "釣りを終えました。" -#: src/activity_handlers.cpp -msgid "This training is exhausting. Time to rest." -msgstr "訓練は疲労を伴います。休息しましょう。" - #: src/activity_handlers.cpp msgid "You finish reading." msgstr "読み終えました。" @@ -164728,7 +170450,7 @@ msgstr "待機を終えました。" #: src/activity_handlers.cpp #, c-format -msgid "%s finishes with you..." +msgid "%s finishes with you…" msgstr "%sと作業を終えました..." #: src/activity_handlers.cpp @@ -164745,7 +170467,7 @@ msgid "%s finishes chatting with you." msgstr "%sは雑談を終えました。" #: src/activity_handlers.cpp -msgid "You toss and turn..." +msgid "You toss and turn…" msgstr "寝返りを打ちました..." #: src/activity_handlers.cpp @@ -164754,7 +170476,7 @@ msgstr "なかなか寝付けません。睡眠を続けますか?" #: src/activity_handlers.cpp msgid "Stop trying to fall asleep and get up." -msgstr "睡眠を中断して起き上がりました。" +msgstr "睡眠を中断して起き上がる" #: src/activity_handlers.cpp msgid "Continue trying to fall asleep." @@ -164853,8 +170575,8 @@ msgid "" msgstr "オートドクは残りのプログラムに従って不規則に動いただけで、実際にはの傷跡を縫合しませんでした。" #: src/activity_handlers.cpp src/player_hardcoded_effects.cpp -msgid "You try to sleep, but can't..." -msgstr "眠ろうとしましたが眠れません..." +msgid "You try to sleep, but can't…" +msgstr "なかなか寝付けません..." #: src/activity_handlers.cpp msgid "" @@ -165036,7 +170758,7 @@ msgid "You planted all seeds you could." msgstr "全ての種を植えました。" #: src/activity_handlers.cpp -msgid "Target lost. IFF override failed." +msgid "Target lost. IFF override failed." msgstr "ターゲットを見失いました。IFFの上書きに失敗しました。" #: src/activity_handlers.cpp @@ -165055,11 +170777,11 @@ msgid "The %s short circuits as you attempt to reprogram it!" msgstr "再プログラミングの実行中に%sの回路がショートしてしまいました!" #: src/activity_handlers.cpp -msgid "...and turns friendly!" +msgid "…and turns friendly!" msgstr "...ロボットは友好的になりました!" #: src/activity_handlers.cpp -msgid "...but the robot refuses to acknowledge you as an ally!" +msgid "…but the robot refuses to acknowledge you as an ally!" msgstr "...しかし、ロボットはあなたと友好的に接する事を拒みました!" #: src/activity_handlers.cpp @@ -165127,7 +170849,7 @@ msgid "It's too dark to read." msgstr "暗すぎて読めません。" #: src/activity_handlers.cpp -msgid "...you finally find the memory banks." +msgid "…you finally find the memory banks." msgstr "...ようやく記憶装置が見つかりました。" #: src/activity_handlers.cpp @@ -165291,6 +171013,10 @@ msgstr "アイテムを洗いました。" msgid "The pet has moved somewhere else." msgstr "ペットはどこか別の場所に移動しました。" +#: src/activity_item_handling.cpp +msgid "Moving cancelled auto-pickup." +msgstr "移動中は自動拾得が中断されます。" + #: src/activity_item_handling.cpp src/npcmove.cpp #, c-format msgid "%1$s picks up a %2$s." @@ -165307,7 +171033,7 @@ msgstr "丸太から木材を切り出しました。" #: src/activity_item_handling.cpp #, c-format -msgid "%s can't reach the source tile. Try to sort out loot without a cart." +msgid "%s can't reach the source tile. Try to sort out loot without a cart." msgstr "%sは運搬元のタイルに到達できません。カートを取り除いてからアイテムの分類を実行してください。" #: src/activity_item_handling.cpp @@ -165353,8 +171079,8 @@ msgid "You want some caffeine." msgstr "カフェインが欲しい。" #: src/addiction.cpp -msgid "Your hands start shaking... you need it bad!" -msgstr "手が震え始めました...早くカフェインを取らないと!" +msgid "Your hands start shaking… you need it bad!" +msgstr "手が震え始めました...カフェインを欲しています!" #: src/addiction.cpp msgid "You could use a drink." @@ -165365,16 +171091,16 @@ msgid "You could use some diazepam." msgstr "ジアゼパムが欲しい。" #: src/addiction.cpp -msgid "Your hands start shaking... you need a drink bad!" -msgstr "手が震え始めました...何か酒が飲みたい!" +msgid "Your hands start shaking… you need a drink bad!" +msgstr "手が震え始めました...酒を欲しています!" #: src/addiction.cpp -msgid "You're shaking... you need some diazepam!" -msgstr "身体が震えています...ジアゼパムが欲しい!" +msgid "You're shaking… you need some diazepam!" +msgstr "身体が震えています...ジアゼパムを欲しています!" #: src/addiction.cpp -msgid "Your hands start shaking... you need some painkillers." -msgstr "手が震え始めました...鎮痛剤が必要だ。" +msgid "Your hands start shaking… you need some painkillers." +msgstr "手が震え始めました...鎮痛剤を欲しています。" #: src/addiction.cpp msgid "You feel anxious. You need your painkillers!" @@ -165385,8 +171111,8 @@ msgid "You feel depressed. Speed would help." msgstr "気分が落ち込んできました... ヤクをキメればマシになるだろう。" #: src/addiction.cpp -msgid "Your hands start shaking... you need a pick-me-up." -msgstr "手が震え始めました... 何か幸せになれる物が必要だ。" +msgid "Your hands start shaking… you need a pick-me-up." +msgstr "手が震え始めました... 覚せい剤を欲しています。" #: src/addiction.cpp msgid "You stop suddenly, feeling bewildered." @@ -165418,8 +171144,8 @@ msgid "You haven't had any mutagen lately." msgstr "この頃は変異していませんね。" #: src/addiction.cpp -msgid "You could use some new parts..." -msgstr "新しい部位を増やしたい..." +msgid "You could use some new parts…" +msgstr "新しい部位を増やしたくなってきました..." #: src/addiction.cpp msgid "You daydream about luscious pink berries as big as your fist." @@ -165568,13 +171294,13 @@ msgstr "" "移動速度低下 / 意気消沈 / 免疫力の低下 / 強い依存性" #: src/addiction.cpp -msgid "Perception - 1; Intelligence - 1; Frequent cravings." +msgid "Perception - 1; Intelligence - 1; Frequent cravings." msgstr "" "感覚 -1 / 知性 -1\n" "強い依存性" #: src/addiction.cpp -msgid "Perception - 2; Intelligence - 2; Frequent cravings." +msgid "Perception - 2; Intelligence - 2; Frequent cravings." msgstr "" "感覚 -2 / 知性 -2\n" "強い依存性" @@ -165761,38 +171487,6 @@ msgstr "方向 数 重量 体積" msgid "Name (charges)" msgstr "名称(装填量)" -#: src/advanced_inv.cpp -msgid "Not dragging any vehicle!" -msgstr "牽引車両が無い!" - -#: src/advanced_inv.cpp -msgid "No dragged vehicle!" -msgstr "牽引されている車両がありません!" - -#: src/advanced_inv.cpp -msgid "Invalid container!" -msgstr "無効な容器!" - -#: src/advanced_inv.cpp -msgid "All 9 squares" -msgstr "周囲9マス" - -#: src/advanced_inv.cpp -msgid " FIRE" -msgstr " 火" - -#: src/advanced_inv.cpp -msgid " DANGER" -msgstr " 危険" - -#: src/advanced_inv.cpp -msgid " TRAP" -msgstr " 罠" - -#: src/advanced_inv.cpp -msgid " WATER" -msgstr " 水" - #: src/advanced_inv.cpp #, c-format msgid "[<] page %1$d of %2$d [>]" @@ -165812,7 +171506,7 @@ msgid "[R]eset" msgstr "[R] 消去" #: src/advanced_inv.cpp -msgid "You look at the items, then your clothes, and scratch your head..." +msgid "You look at the items, then your clothes, and scratch your head…" msgstr "アイテムを見て、服を見て、頭を掻きました..." #: src/advanced_inv.cpp @@ -165836,7 +171530,7 @@ msgid "Skipping filled buckets to avoid spilling their contents." msgstr "中身が溢れてしまうため、満杯の容器は飛ばします。" #: src/advanced_inv.cpp -msgid "Sort by... " +msgid "Sort by…" msgstr "並び替え..." #: src/advanced_inv.cpp @@ -165902,24 +171596,56 @@ msgstr "重過ぎます!" #: src/advanced_inv.cpp #, c-format -msgid "How many do you want to move? [Have %d] (0 to cancel)" -msgstr "いくつ移動させますか?[%d個](0で取消)" +msgid "How many do you want to move? [Have %d] (0 to cancel)" +msgstr "いくつ移動させますか?[%d個所持](0で取消)" #: src/advanced_inv.cpp #, c-format -msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" -msgstr "移動先には%d個しか置けません!いくつ移動させますか?[%d個](0で取消)" +msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" +msgstr "移動先には%d個しか置けません!いくつ移動させますか?[%d個所持](0で取消)" #: src/advanced_inv.cpp msgid "The destination is already full!" msgstr "移動先にはこれ以上入りません!" -#: src/advanced_inv.cpp +#: src/advanced_inv_area.cpp +msgid "Not dragging any vehicle!" +msgstr "牽引車両が無い!" + +#: src/advanced_inv_area.cpp +msgid "No dragged vehicle!" +msgstr "牽引されている車両がありません!" + +#: src/advanced_inv_area.cpp +msgid "Invalid container!" +msgstr "無効な容器!" + +#: src/advanced_inv_area.cpp +msgid "All 9 squares" +msgstr "周囲9マス" + +#: src/advanced_inv_area.cpp +msgid " FIRE" +msgstr " 火" + +#: src/advanced_inv_area.cpp +msgid " DANGER" +msgstr " 危険" + +#: src/advanced_inv_area.cpp +msgid " TRAP" +msgstr " 罠" + +#: src/advanced_inv_area.cpp +msgid " WATER" +msgstr " 水" + +#: src/advanced_inv_area.cpp msgid "Invalid container" msgstr "無効な容器" #: src/animation.cpp -msgid "Hang on a bit..." +msgid "Hang on a bit…" msgstr "少々お待ちください..." #: src/armor_layers.cpp @@ -166038,6 +171764,14 @@ msgstr "耐打: " msgid "Cut:" msgstr "耐斬: " +#: src/armor_layers.cpp +msgid "Acid:" +msgstr "耐酸:" + +#: src/armor_layers.cpp +msgid "Fire:" +msgstr "耐火:" + #: src/armor_layers.cpp msgid "Environmental:" msgstr "環境: " @@ -166106,8 +171840,8 @@ msgstr "着用品を並べ替える" #: src/armor_layers.cpp #, c-format -msgid "Press %s for help. Press %s to change keybindings." -msgstr "%sを押してヘルプを表示。%sを押してキー割当。" +msgid "Press %s for help. Press %s to change keybindings." +msgstr "%sを押してヘルプ表示。%sを押してキー割当。" #: src/armor_layers.cpp msgid "(Innermost)" @@ -166171,7 +171905,7 @@ msgid "" "[%s] to equip a new item.\n" "[%s] to equip a new item at the currently selected position.\n" "[%s] to remove selected armor from oneself.\n" -" \n" +"\n" "[Encumbrance and Warmth] explanation:\n" "The first number is the summed encumbrance from all clothing on that bodypart.\n" "The second number is an additional encumbrance penalty caused by wearing multiple items on one of the bodypart's layers or wearing items outside of other items they would normally be work beneath (e.g. a shirt over a backpack).\n" @@ -166734,13 +172468,13 @@ msgstr "%s苦痛" #, c-format msgid "" "The %s is somehow vaguely dissatisfied even though it doesn't want anything." -" Seeing this is a bug!" +" Seeing this is a bug!" msgstr "%sは何も欲していませんが、漠然とした不満を抱いています。これはバグのようです!" #: src/artifact.cpp #, c-format msgid "" -"The %s is satisfied, as it should be because it has no standards. Seeing " +"The %s is satisfied, as it should be because it has no standards. Seeing " "this is a bug!" msgstr "%sには何の基準もないので、現状に満足しているようです。これはバグのようです!" @@ -166767,7 +172501,7 @@ msgstr "%sに体を押し付けました。" #: src/artifact.cpp #, c-format msgid "" -"The %s is confused to find you dreaming while awake. Seeing this is a bug!" +"The %s is confused to find you dreaming while awake. Seeing this is a bug!" msgstr "あなたが起きているにもかかわらず夢を見ているので%sは混乱しています。これはバグのようです!" #: src/artifact.cpp @@ -166998,31 +172732,31 @@ msgstr "除く" #: src/auto_pickup.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" -" \n" +"* is used as a Wildcard. A few Examples:\n" +"\n" "wooden arrow matches the itemname exactly\n" "wooden ar* matches items beginning with wood ar\n" "*rrow matches items ending with rrow\n" "*avy fle*fi*arrow multiple * are allowed\n" "heAVY*woOD*arrOW case insensitive search\n" -" \n" +"\n" "Pickup based on item materials:\n" "m:kevlar matches items made of kevlar\n" "M:copper matches items made purely of copper\n" "M:steel,iron multiple materials allowed (OR search)" msgstr "" -"*キーはワイルドカードとして使います。例:\n" +"*キーはワイルドカードとして使います。例: \n" "\n" -"wooden arrow と入力して完全一致検索\n" -"wooden ar* と入力して前方一致検索\n" -"*rrow と入力して後方一致検索\n" -"*avy fle*fi*arrow 複数の*を使用できる\n" -"heAVY*woOD*arrOW で大文字/小文字を区別せず検索\n" +"wooden arrow 完全一致検索\n" +"wooden ar* 前方一致検索\n" +"*rrow 後方一致検索\n" +"*avy fle*fi*arrow 複数のワイルドカード\n" +"heAVY*woOD*arrOW 大文字/小文字を区別せず検索\n" "\n" "素材に基づくアイテム拾得\n" -"m:kevlar 小文字で特定素材が含まれるアイテム\n" -"M:copper 大文字で特定素材のみのアイテム\n" -"M:steel,iron 複数素材のOR検索" +"m:ケブラー 小文字で特定素材が含まれるアイテム\n" +"M:銅 大文字で特定素材のみのアイテム\n" +"M:鋼鉄,鉄 複数素材のOR検索" #: src/auto_pickup.cpp msgid "Pickup Rule:" @@ -167051,7 +172785,7 @@ msgid "Won't display content or suffix matches" msgstr "容器アイテムと接尾辞を表示しない" #: src/auto_pickup.cpp -msgid "Autopickup is not enabled in the options. Enable it now?" +msgid "Autopickup is not enabled in the options. Enable it now?" msgstr "自動拾得がオプションで有効になっていません。有効にしますか?" #: src/auto_pickup.cpp @@ -167080,7 +172814,7 @@ msgstr "%sはあまり読み物には適しません。" #: src/avatar.cpp msgid "It's a bad idea to read while driving!" -msgstr "運転しながら読書する馬鹿はいません!" +msgstr "運転中に本を読む馬鹿はいません!" #: src/avatar.cpp msgid "What's the point of studying? (Your morale is too low!)" @@ -167088,7 +172822,7 @@ msgstr "学習なんて何の意味がある?(意欲が低過ぎます!)" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. You have %d" +msgid "%s %d needed to understand. You have %d" msgstr "理解するには%sスキル(Lv%d)が必要です(現在Lv%d)。" #: src/avatar.cpp src/iuse.cpp @@ -167114,7 +172848,7 @@ msgstr "%sは字が読めません!" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. %s has %d" +msgid "%s %d needed to understand. %s has %d" msgstr "理解するには%sスキル(Lv%d)が必要です(%sは現在Lv%d)。" #: src/avatar.cpp @@ -167139,8 +172873,8 @@ msgstr "%sの意欲が低すぎる!" #: src/avatar.cpp #, c-format -msgid "%s reads aloud..." -msgstr "%sは文を読み上げました..." +msgid "%s reads aloud…" +msgstr "%sは文章を読み上げました..." #: src/avatar.cpp #, c-format @@ -167232,8 +172966,8 @@ msgid "Now reading %s, %s to stop early." msgstr "%sを読んでいます。中断するには%sを押して下さい。" #: src/avatar.cpp -msgid "You read aloud..." -msgstr "文を読み上げました..." +msgid "You read aloud…" +msgstr "文章を読み上げました..." #: src/avatar.cpp #, c-format @@ -167258,16 +172992,16 @@ msgstr "%sは一緒に読書を楽しんでいます。" #: src/avatar.cpp #, c-format msgid "" -"It's difficult for %s to see fine details right now. Reading will take " +"It's difficult for %s to see fine details right now. Reading will take " "longer than usual." -msgstr "現在、%sは文字の視認が困難状な状態です。読解には時間が掛かります。" +msgstr "現在、%sは文字の視認が困難な状態です。読解には時間が掛かります。" #: src/avatar.cpp #, c-format msgid "" -"This book is too complex for %s to easily understand. It will take longer to" -" read." -msgstr "%sにとってこの本に書かれている内容は難解で複雑です。読解には時間が掛かります。" +"This book is too complex for %s to easily understand. It will take longer " +"to read." +msgstr "%sにとって、この本に書かれている内容は難解で複雑です。読解には時間が掛かります。" #: src/avatar.cpp msgid "You are too exhausted to train martial arts." @@ -167346,7 +173080,7 @@ msgstr "%sの%sスキルレベルが上昇しました。" #: src/avatar.cpp #, c-format -msgid "You learn a little about %s! (%d%%)" +msgid "You learn a little about %s! (%d%%)" msgstr "%sについて少し学びました! (%d%%)" #: src/avatar.cpp @@ -167375,8 +173109,8 @@ msgid "Rereading the %s isn't as much fun for %s." msgstr "%sを再び読むのは%sにとって面白くなさそうです。" #: src/avatar.cpp -msgid "Maybe you should find something new to read..." -msgstr "脳が新しい読み物を求めています..." +msgid "Maybe you should find something new to read…" +msgstr "何か新しい本を読みたい気分です..." #: src/avatar.cpp #, c-format @@ -167410,11 +173144,11 @@ msgid "You train for a while." msgstr "しばらくの間鍛錬を続けました。" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through your internal alarm..." +msgid "It looks like you've slept through your internal alarm…" msgstr "体内アラームに気づかず眠り続けたようです..." #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through the alarm..." +msgid "It looks like you've slept through the alarm…" msgstr "アラームに気づかず眠り続けたようです..." #: src/avatar.cpp @@ -167422,7 +173156,7 @@ msgid "You retched, but your stomach is empty." msgstr "嘔吐しようとしましたが、胃の中は空っぽです。" #: src/avatar.cpp -msgid "You lost your book! You stop reading." +msgid "You lost your book! You stop reading." msgstr "本が見つかりません!読書を中止しました。" #: src/avatar.cpp @@ -167492,20 +173226,80 @@ msgstr "無効な能力値" #: src/avatar.cpp #, c-format -msgid "Are you sure you want to raise %s? %d points available." +msgid "Are you sure you want to raise %s? %d points available." msgstr "%sを上昇させますか?利用可能なポイント: %d" +#: src/avatar.cpp +msgid "You set your mech's leg power to a loping fast walk." +msgstr "メックの脚部出力を少し上げました。" + +#: src/avatar.cpp +msgid "You nudge your steed into a steady trot." +msgstr "動物に刺激を与えて少しだけ速度を上げました。 " + +#: src/avatar.cpp +msgid "You start walking." +msgstr "立ち上がって歩き始めました。" + +#: src/avatar.cpp +msgid "You set the power of your mech's leg servos to maximum." +msgstr "メックの脚部サーボの出力を最大にしました。" + +#: src/avatar.cpp +msgid "You spur your steed into a gallop." +msgstr "動物に刺激を与えて速度を上げました。" + +#: src/avatar.cpp +msgid "You start running." +msgstr "走り始めました。" + +#: src/avatar.cpp +msgid "Your steed is too tired to go faster." +msgstr "動物が疲れているため速度を上げられません。" + +#: src/avatar.cpp +msgid "You need two functional legs to run." +msgstr "走るにはちゃんと動く両脚が必要です。" + +#: src/avatar.cpp +msgid "You're too tired to run." +msgstr "疲れ過ぎて走れません。" + +#: src/avatar.cpp +msgid "You reduce the power of your mech's leg servos to minimum." +msgstr "メックの脚部サーボの出力を最小にしました。" + +#: src/avatar.cpp +msgid "You slow your steed to a walk." +msgstr "動物をなだめて速度を落としました。" + +#: src/avatar.cpp +msgid "You start crouching." +msgstr "屈んで歩き始めました。" + +#. ~ %1$s: weapon name, %2$s: holster name +#: src/avatar.cpp src/game.cpp +#, c-format +msgctxt "holster" +msgid "Draw %1$s from %2$s?" +msgstr "%1$sを%2$sから抜き取りますか?" + +#: src/avatar.cpp src/monexamine.cpp +#, c-format +msgid "What to do with your %s?" +msgstr "%sをどうしますか?" + #: src/avatar_action.cpp msgid "You can't move while in your shell. Deactivate it to go mobile." msgstr "殻にこもっているため動けません。移動するには殻から出てください。" #: src/avatar_action.cpp -msgid "You cannot pull yourself away from the faultline..." -msgstr "断層線から離れることができません..." +msgid "You cannot pull yourself away from the faultline…" +msgstr "断層線から離れられません..." #: src/avatar_action.cpp -msgid "Monster in the way. Auto-move canceled." -msgstr "移動先にモンスターが存在します。自動移動を取り消しました。" +msgid "Monster in the way. Auto-move canceled." +msgstr "経路にモンスターが存在します。自動移動を取り消しました。" #: src/avatar_action.cpp msgid "Click directly on monster to attack." @@ -167516,8 +173310,8 @@ msgid "Your willpower asserts itself, and so do you!" msgstr "気力を振り絞って身体を動かしました!" #: src/avatar_action.cpp src/handle_action.cpp src/handle_action.cpp -msgid "You're too pacified to strike anything..." -msgstr "誰かを攻撃したい気分じゃありません..." +msgid "You're too pacified to strike anything…" +msgstr "誰かを攻撃しようとは思えません..." #: src/avatar_action.cpp #, c-format @@ -167598,8 +173392,8 @@ msgstr "岩のようにずぶずぶと沈んでいます!" #: src/avatar_action.cpp #, c-format -msgid "You need to breathe! (%s to surface.)" -msgstr "息継ぎが必要だ! (%sで水面へ)" +msgid "You need to breathe! (%s to surface.)" +msgstr "息継ぎが必要です! (%sで水面へ)" #: src/avatar_action.cpp msgid "You need to breathe but you can't swim! Get to dry land, quick!" @@ -167610,15 +173404,15 @@ msgid "You cannot board a vehicle while mounted." msgstr "騎乗中は車両に乗車できません。" #: src/avatar_action.cpp -msgid "No hostile creature in reach. Waiting a turn." -msgstr "範囲内に敵対的なモンスターがいません。1ターンその場に留まって待ちます。" +msgid "No hostile creature in reach. Waiting a turn." +msgstr "攻撃範囲内に敵対的なモンスターがいません。1ターンその場に留まります。" #: src/avatar_action.cpp msgid "Your eyes steel, and you raise your weapon!" msgstr "鋭い眼光でにらみつけ、武器を振り上げました!" #: src/avatar_action.cpp -msgid "You can't fire your weapon, it's too heavy..." +msgid "You can't fire your weapon, it's too heavy…" msgstr "重すぎて発射できません..." #: src/avatar_action.cpp @@ -167627,12 +173421,14 @@ msgid "The %s must be attached to a gun, it can not be fired separately." msgstr "%sは銃器に取り付けられている必要があります。単体では使用できません。" #: src/avatar_action.cpp -msgid "You can no longer fire." -msgstr "射撃できません。" +#, c-format +msgid "You can no longer fire your %s." +msgstr "%sをこれ以上発射できません。" #: src/avatar_action.cpp -msgid "You need a free arm to drive!" -msgstr "運転するには腕を自由にする必要があります!" +#, c-format +msgid "You can't use your %s while driving!" +msgstr "運転中は%sを使用できません!" #: src/avatar_action.cpp #, c-format @@ -167640,8 +173436,9 @@ msgid "You need two free hands to fire your %s." msgstr "%sを撃つには両手を空けておく必要があります。" #: src/avatar_action.cpp -msgid "You need to reload!" -msgstr "装填する必要があります!" +#, c-format +msgid "Your %s is empty!" +msgstr "%sは空です!" #: src/avatar_action.cpp #, c-format @@ -167652,18 +173449,20 @@ msgstr "%sを撃つには充電(%i)が必要です!" #, c-format msgid "" "You need a UPS with at least %d charges or an advanced UPS with at least %d " -"charges to fire that!" -msgstr "撃つにはUPS(充電(%d))か改良型UPS(充電(%d))が必要です!" +"charges to fire the %s!" +msgstr "UPS(充電%d)か改良型UPS(充電%d)がないと%sを撃てません!" #: src/avatar_action.cpp -msgid "Your mech has an empty battery, its weapon will not fire." -msgstr "バッテリー切れのため兵器使用不可" +#, c-format +msgid "Your mech has an empty battery, its %s will not fire." +msgstr "メックがバッテリー切れのため%sを発射できません。" #: src/avatar_action.cpp +#, c-format msgid "" -"You must stand near acceptable terrain or furniture to use this weapon. A " +"You must stand near acceptable terrain or furniture to use this %s. A " "table, a mound of dirt, a broken window, etc." -msgstr "この武器を使うには、テーブル、畝、割れた窓など適切な地形の近くに立つ必要があります。" +msgstr "%sを使うには、テーブル、畝、割れた窓など適切な地形の傍に立つ必要があります。" #: src/avatar_action.cpp #, c-format @@ -167709,7 +173508,7 @@ msgid "You concentrate mightily, and your body obeys!" msgstr "精神を強く集中し、体を動かしました!" #: src/avatar_action.cpp -msgid "You can't muster up the effort to throw anything..." +msgid "You can't muster up the effort to throw anything…" msgstr "投擲する気力が湧きません..." #: src/ballistics.cpp @@ -167903,6 +173702,16 @@ msgstr "%sは自動的に電源が切れました。" msgid "Your %s automatically turns off." msgstr "%sは自動的に電源が切れました。" +#: src/bionics.cpp +#, c-format +msgid "Your %s does not have sufficient humidity to function." +msgstr "湿度が低いため%sが機能しません。" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency will be reduced." +msgstr "%sが湿度低下警告を発しました。供給効率が低下します。" + #: src/bionics.cpp msgid "You change your mind and turn it off." msgstr "考え直した結果、機能を停止させました。" @@ -168020,10 +173829,6 @@ msgstr "血液検査の結果" msgid "No effects." msgstr "効果なし。" -#: src/bionics.cpp -msgid "There was not enough moisture in the air from which to draw water!" -msgstr "水を引き出すには大気の湿度が足りません!" - #: src/bionics.cpp msgid "Your torsion ratchet locks onto your joints." msgstr "捻じれラチェットが関節部に固定されました。" @@ -168036,10 +173841,6 @@ msgstr "関節サーボモーターの補助によってより速く走れる状 msgid "Start a fire where?" msgstr "どこに火をつけますか?" -#: src/bionics.cpp src/iexamine.cpp -msgid "You can't light a fire there." -msgstr "そこには点火できません。" - #: src/bionics.cpp #, c-format msgid "Your radiation level: %d" @@ -168214,6 +174015,20 @@ msgstr "燃料消費を防ぐため%sが停止しました。" msgid "'s %s turns off to not waste fuel." msgstr "燃料消費を防ぐための%sが停止しました。" +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, your %s shuts down to preserve" +" your health." +msgstr "現在の蓄積カロリーが安全値を下回っています。健康維持のため%sをシャットダウンします。" + +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, 's %s shuts down to " +"preserve their health." +msgstr "現在の保存カロリーが安全値を下回っています。健康維持のための%sをシャットダウンします。" + #: src/bionics.cpp #, c-format msgid "Your %s runs out of fuel and turn off." @@ -168242,6 +174057,21 @@ msgstr "%sは接続を失い、機能を停止しました。" msgid "You feel your throat open up and air filling your lungs!" msgstr "気管支が開き、肺が空気で満たされているのを感じます!" +#: src/bionics.cpp +#, c-format +msgid "There is not enough humidity for your %s to function." +msgstr "湿度が低すぎて%sが機能しません。" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency is reduced." +msgstr "%sが湿度低下警告を発しました。供給効率が低下しています。" + +#: src/bionics.cpp +#, c-format +msgid "You are properly hydrated. Your %s chirps happily." +msgstr "身体は十分に潤っています。%sは喜ばしい通知音を発しました。" + #: src/bionics.cpp msgid "The removal fails without incident." msgstr "除去に失敗しましたが、体は何事もなく無事でした。" @@ -168303,8 +174133,8 @@ msgstr "は手術の準備をしました。" #: src/bionics.cpp #, c-format -msgid "A lifetime of augmentation has taught %s a thing or two..." -msgstr "%sは手術をしたことがあるため、多少の心得はあります..." +msgid "A lifetime of augmentation has taught %s a thing or two…" +msgstr "%sは施術経験があるため、ある程度のやり方は分かります..." #: src/bionics.cpp #, c-format @@ -168318,7 +174148,7 @@ msgstr "%sのフュージョンブラスターアームを除去すると、役 #: src/bionics.cpp msgid "" -"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" +"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" msgstr "警告:反応炉を除去すると放射性物質が残留する可能性があります!除去しますか?" #: src/bionics.cpp @@ -168337,12 +174167,12 @@ msgstr "%sの望遠レンズは眼球と一体化しているため、除去す msgid "Are you sure you wish to uninstall the selected bionic?" msgstr "選択したCBMの除去を試みますか?" -#: src/bionics.cpp +#: src/bionics.cpp src/game.cpp #, c-format msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " +"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " "anyway?" -msgstr "警告: %i%の確率で全身に重篤なダメージを与える可能性があります!続行しますか?" +msgstr "警告: %i%の確率で全身に重篤なダメージを受けます。続けますか?" #: src/bionics.cpp msgid "Your parts are jiggled back into their familiar places." @@ -168413,8 +174243,8 @@ msgstr "選択したCBMの移植を試みますか?" #, c-format msgid "" "WARNING: %i percent chance of failure that may result in damage, pain, or a " -"faulty installation! Continue anyway?" -msgstr "警告: %i%の確率で身体ダメージや苦痛、取り付け不良が発生する可能性があります!続行しますか?" +"faulty installation! Continue anyway?" +msgstr "警告: %i%の確率で肉体的ダメージや苦痛、取り付け不良が発生する可能性があります!続けますか?" #. ~ %1$s - name of the bionic to be upgraded (inferior), %2$s - name of the #. upgraded bionic (superior). @@ -168533,11 +174363,31 @@ msgstr "手術を楽しめない事に後悔の念を抱きつつ、意識を失 msgid "Available Fuel: " msgstr "対応燃料: " +#: src/bionics_ui.cpp +msgctxt "decimal separator" +msgid "." +msgstr "。" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: kilojoule" +msgid "kJ" +msgstr "kJ" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: joule" +msgid "J" +msgstr "J" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: millijoule" +msgid "mJ" +msgstr "mJ" + #: src/bionics_ui.cpp #, c-format msgid "" -"Bionic Power: %i/%i" -msgstr "CBM電力: %i/%i" +"Bionic Power: %s/%ikJ" +msgstr "CBM電力: %s/.%ikJ" #: src/bionics_ui.cpp msgid "" @@ -168567,23 +174417,23 @@ msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ act" -msgstr "%dkJ/起動" +msgid "%s act" +msgstr "%s/起動" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ deact" -msgstr "%dkJ/停止" +msgid "%s deact" +msgstr "%s/停止" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/turn" -msgstr "%dkJ/ターン" +msgid "%s/turn" +msgstr "%s/1ターン" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/%d turns" -msgstr "%dkJ/%dターン" +msgid "%s/%d turns" +msgstr "%s/%dターン" #: src/bionics_ui.cpp src/handle_action.cpp msgid "OFF" @@ -168630,17 +174480,17 @@ msgstr "生体部品(パッシブ)が移植されていません。" #: src/bionics_ui.cpp #, c-format -msgid "%s; enter new letter. Space to clear. Esc to cancel." +msgid "%s; enter new letter. Space to clear. Esc to cancel." msgstr "%s; 新しいキーを入力、SPACEでキー削除、ESCAPEでキャンセル" #: src/bionics_ui.cpp #, c-format msgid "" -"Invalid bionic letter. Only those characters are valid:\n" +"Invalid bionic letter. Only those characters are valid:\n" "\n" "%s" msgstr "" -"無効なキーです。使用可能なキーは:\n" +"無効なキーです。使用可能なキー:\n" "\n" "%s" @@ -168681,10 +174531,40 @@ msgstr "装甲貫通" msgid "Target armor multiplier" msgstr "目標装甲倍率" -#. ~ bash damage +80% of strength +#. ~ %1$s: damage type, %2$s: damage-related bonus name +#: src/bonuses.cpp +#, c-format +msgctxt "type of damage" +msgid "%1$s %2$s" +msgstr "%1$s%2$s" + +#. ~ %1$s: bonus name, %2$d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%% of %3$s" +msgstr "* %1$s: %2$d%%x%3$s" + +#. ~ %1$s: bonus name, %2$d: bonus percentage +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%%" +msgstr "* %1$s: %2$d%%" + +#. ~ %1$s: bonus name, %2$+d: bonus percentage, %3$s: stat name #: src/bonuses.cpp -msgid " of " -msgstr "x" +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d%% of %3$s" +msgstr "* %1$s: %2$+d%%x%3$s" + +#. ~ %1$s: bonus name, %2$+d: bonus value +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d" +msgstr "* %1$s:%2$+d" #: src/calendar.cpp msgid "forever" @@ -168961,9 +174841,13 @@ msgstr "に坂索トし荷測のンおク妙免イロコヤ梅棋厚れ表幌" #: src/character.cpp msgctxt "not possessive" -msgid "you" +msgid "You" msgstr "あなた" +#: src/character.cpp +msgid "Your" +msgstr "あなたの" + #: src/character.cpp msgid "your" msgstr "あなた" @@ -168977,6 +174861,63 @@ msgstr "%s" msgid "armor" msgstr "装甲" +#: src/character.cpp +#, c-format +msgid "You remove the %s's harness." +msgstr "%sの車両接続ハーネスを外しました。" + +#: src/character.cpp src/game.cpp +msgid "You let go of the grabbed object." +msgstr "掴んでいたものを離しました。" + +#: src/character.cpp +#, c-format +msgid "You climb on the %s." +msgstr "%sによじ登りました。" + +#: src/character.cpp +#, c-format +msgid "You hear your %s whir to life." +msgstr "%sがブゥンと音を立てて起動しました。" + +#: src/character.cpp +msgid "You are ejected from your mech!" +msgstr "メックから射出されました!" + +#: src/character.cpp +msgid " is ejected from their mech!" +msgstr "はメックから射出されました!" + +#: src/character.cpp +msgid "You fall off your mount!" +msgstr "騎乗していた動物から落ちました!" + +#: src/character.cpp +msgid " falls off their mount!" +msgstr "は騎乗していた動物から落ちました!" + +#: src/character.cpp src/trapfunc.cpp +msgid "You hurt yourself!" +msgstr "怪我をしました!" + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Fell off a mount." +msgstr "騎乗していた動物から落ちました。" + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Fell off a mount." +msgstr "騎乗していた動物から落ちました。" + +#: src/character.cpp +msgid "Dismount where?" +msgstr "どこに降りますか?" + +#: src/character.cpp +msgid "You cannot dismount there!" +msgstr "その場所には降りられません!" + #: src/character.cpp msgid "You struggle to stand." msgstr "立ち上がろうと足掻きました。" @@ -169164,6 +175105,11 @@ msgstr "は%1$sが無ければ%3$sの%2$sを使用できません。" msgid "Liquid from your inventory has leaked onto the ground." msgstr "所持していた液体が地面に流れ落ちました。" +#: src/character.cpp +#, c-format +msgid "Your current health value is %d." +msgstr "現在の健康度は%dです。" + #: src/character.cpp msgid "Parched" msgstr "脱水" @@ -169233,6 +175179,75 @@ msgstr "疲労 ***" msgid "Your %s bionic shorts out!" msgstr "%sがショートしました!" +#: src/character.cpp +#, c-format +msgid "Your %s will be frostnipped in the next few hours." +msgstr "%sに霜焼けができそうです。" + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten within the hour!" +msgstr "このままだと1時間以内に%sが凍傷になります!" + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten any minute now!" +msgstr "このままだと数分後に%sが凍傷になります!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s beginning to go numb from the cold!" +msgstr "%sが寒過ぎて、感覚が無くなってきました!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very cold." +msgstr "%sが非常に寒く感じます。" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting chilly." +msgstr "%sが若干寒く感じます。" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting red hot from the heat!" +msgstr "%sが熱過ぎて、真っ赤になってきました!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very hot." +msgstr "%sがかなり暑く感じます。" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting warm." +msgstr "%sが少しだけ暑く感じます。" + +#: src/character.cpp +#, c-format +msgid "The wind is making your %s feel quite cold." +msgstr "%sに風が当たって非常に寒く感じます。" + +#: src/character.cpp +#, c-format +msgid "" +"The wind is very strong, you should find some more wind-resistant clothing " +"for your %s." +msgstr "強風が吹いています。%sを寒さから守る為に、風を防げる衣類を見つける必要があります。" + +#: src/character.cpp +#, c-format +msgid "" +"Your clothing is not providing enough protection from the wind for your %s!" +msgstr "着用中の衣類では%sに当たる風を十分に防げていません!" + #: src/character.cpp msgid "Left Arm" msgstr "左腕" @@ -169250,7 +175265,7 @@ msgid "Right Leg" msgstr "右脚" #: src/character.cpp -msgid "It is broken. It needs a splint or surgical attention." +msgid "It is broken. It needs a splint or surgical attention." msgstr "完全に折れています。添木もしくは外科的な治療が必要です。" #: src/character.cpp @@ -169296,7 +175311,7 @@ msgstr "このアイテムは消毒できません。" #: src/character.cpp msgid "" -"It has a deep wound that looks infected. Antibiotics might be required." +"It has a deep wound that looks infected. Antibiotics might be required." msgstr "深い咬傷から感染症に罹ったようです。抗生物質が必要です。" #: src/character.cpp @@ -169397,8 +175412,8 @@ msgstr "ちょいデブ" msgid "Big" msgstr "ぽっちゃり" -#: src/character.cpp src/color.cpp src/color.cpp src/options.cpp -#: src/panels.cpp +#: src/character.cpp src/character_martial_arts.cpp src/color.cpp +#: src/options.cpp msgid "Normal" msgstr "普通" @@ -169502,6 +175517,30 @@ msgstr "ACTIVE_EXERCISE" msgid "EXTRA_EXERCISE" msgstr "EXTRA_EXERCISE" +#: src/character.cpp +msgid "Your body strains under the weight!" +msgstr "身体が重荷に悲鳴を上げました。" + +#: src/character.cpp +#, c-format +msgid "Your %s needs %d charge from some UPS." +msgid_plural "Your %s needs %d charges from some UPS." +msgstr[0] "%sを使用するにはUPS型電源(%d)が必要です。" + +#: src/character.cpp +#, c-format +msgid "Your %s has %d charge but needs %d." +msgid_plural "Your %s has %d charges but needs %d." +msgstr[0] "%s(%d)の装填量は%d以上必要です。" + +#: src/character.cpp +msgid "You cough heavily." +msgstr "騒々しく咳をしています。" + +#: src/character.cpp +msgid "a hacking cough." +msgstr "[苦しそうな空咳]" + #: src/character.cpp msgid "You try to shout but you have no face!" msgstr "叫ぼうとしましたが、顔がありません!" @@ -169579,6 +175618,122 @@ msgctxt "fake stat there's an error" msgid "ERR" msgstr "エラー" +#. ~ %s is armor name +#: src/character.cpp +#, c-format +msgctxt "memorial_male" +msgid "Worn %s was completely destroyed." +msgstr "着用していた%sは完全に破壊された。" + +#: src/character.cpp +#, c-format +msgctxt "memorial_female" +msgid "Worn %s was completely destroyed." +msgstr "着用していた%sは完全に破壊された。" + +#: src/character.cpp +#, c-format +msgid "Your %s is completely destroyed!" +msgstr "%sは完全に破壊されました!" + +#: src/character.cpp +#, c-format +msgid "'s %s is completely destroyed!" +msgstr "の%sは完全に破壊されました!" + +#: src/character.cpp src/veh_interact.cpp +msgid "destroyed" +msgstr "損壊" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s further!" +msgstr "%2$s%1$sが更に傷付きました!" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s!" +msgstr "%1$sは%2$s!" + +#: src/character.cpp +#, c-format +msgid "You were attacked by %s!" +msgstr "%sによって攻撃されました!" + +#: src/character.cpp +msgid "You were hurt!" +msgstr "怪我をしていました!" + +#. ~spore-release sound +#. ~ the sound of a fungus releasing spores +#. ~ That spore sound again +#. ~ the sound of a fungus dying +#: src/character.cpp src/monattack.cpp src/monattack.cpp src/mondeath.cpp +msgid "Pouf!" +msgstr "ポフッ!" + +#: src/character.cpp +msgid "You sink your roots into the soil." +msgstr "土に根を張りました。" + +#: src/character.cpp +msgid "You start hauling items along the ground." +msgstr "足下のアイテムの一括移動を有効化しました。" + +#: src/character.cpp +msgid "Your hands are not free, which makes hauling slower." +msgstr "手が塞がっているため、作業はなかなか進みません。" + +#: src/character.cpp +msgid "You stop hauling items." +msgstr "足下のアイテムの一括移動を無効化しました。" + +#: src/character.cpp +msgid "You resume your task." +msgstr "作業を再開しました。" + +#: src/character.cpp +msgid "You nestle your pile of clothes for warmth." +msgstr "暖かさを求めて、衣の山に包まり、気持ち良く横になりました。" + +#: src/character.cpp +msgid "You use your pile of clothes for warmth." +msgstr "暖かさを求めて、布の山に包まりました。" + +#: src/character.cpp +#, c-format +msgid "You snuggle your %s to keep warm." +msgstr "体温を保つために%sに包まり、気持ち良く横になりました。" + +#: src/character.cpp +#, c-format +msgid "You use your %s to keep warm." +msgstr "体温を保つために%sに包まりました。" + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Entered hibernation." +msgstr "冬眠に入りました。" + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Entered hibernation." +msgstr "冬眠に入りました。" + +#: src/character_martial_arts.cpp +#, c-format +msgid "You have learned %s from extensive practice with the CQB Bionic." +msgstr "CQB生体部品によって広範な実戦訓練を行い、%sを覚えました。" + +#: src/character_martial_arts.cpp +#, c-format +msgid "%s to select martial arts style." +msgstr "%sを押して戦闘スタイルを選択できます。" + +#: src/character_martial_arts.cpp +msgid "No Style" +msgstr "なし" + #: src/clzones.cpp msgid "No Auto Pickup" msgstr "自動拾得から除外" @@ -169623,261 +175778,6 @@ msgid "" "this area." msgstr "友好NPCはこの区域内から発生する正体不明の音のみを調査します。" -#: src/clzones.cpp -msgid "Loot: Unsorted" -msgstr "分類: 仮置場" - -#: src/clzones.cpp -msgid "" -"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " -"sort items inside. It can overlap with Loot zones of different types." -msgstr "" -"まだ分類していないアイテムを置く区域です。区域作業として「分類」を実行することで内部のアイテムを分類できます。別の分類区域と重複する可能性があります。" - -#: src/clzones.cpp -msgid "Loot: Food" -msgstr "分類: 食料" - -#: src/clzones.cpp -msgid "" -"Destination for comestibles. If more specific food zone is not defined, all " -"food is moved here." -msgstr "食料を置く区域です。より具体的な食料分類を指定していない場合、全ての食料はここに移動されます。" - -#: src/clzones.cpp -msgid "Loot: P.Food" -msgstr "分類: 生鮮食料" - -#: src/clzones.cpp -msgid "" -"Destination for perishable comestibles. Does include perishable drinks if " -"such zone is not specified." -msgstr "腐敗する食料を置く区域です。他に該当する区域を指定していない場合、生鮮飲料はここに移動されます。" - -#: src/clzones.cpp -msgid "Loot: Drink" -msgstr "分類: 飲料" - -#: src/clzones.cpp -msgid "" -"Destination for drinks. Does include perishable drinks if such zone is not " -"specified." -msgstr "飲料を置く区域です。生鮮飲料の区域を指定していない場合、生鮮飲料はここに移動されます。" - -#: src/clzones.cpp -msgid "Loot: P.Drink" -msgstr "分類: 生鮮飲料" - -#: src/clzones.cpp -msgid "Destination for perishable drinks." -msgstr "腐敗する飲料を置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Guns" -msgstr "分類: 銃器" - -#: src/clzones.cpp -msgid "Destination for guns, bows and similar weapons." -msgstr "銃、弓などの武器を置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Magazines" -msgstr "分類: 弾倉" - -#: src/clzones.cpp -msgid "Destination for gun magazines." -msgstr "銃の弾倉を置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Ammo" -msgstr "分類: 弾薬" - -#: src/clzones.cpp -msgid "Destination for ammo." -msgstr "弾薬を置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Weapons" -msgstr "分類: 武器" - -#: src/clzones.cpp -msgid "Destination for melee weapons." -msgstr "近接武器を置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Tools" -msgstr "分類: 道具" - -#: src/clzones.cpp -msgid "Destination for tools." -msgstr "道具を置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Clothing" -msgstr "分類: 衣類" - -#: src/clzones.cpp -msgid "" -"Destination for clothing. Does include filthy clothing if such zone is not " -"specified." -msgstr "衣類を置く区域です。他に該当する区域を指定していない場合、不潔な衣類はここに移動されます。" - -#: src/clzones.cpp -msgid "Loot: F.Clothing" -msgstr "分類: 不潔な衣類" - -#: src/clzones.cpp -msgid "Destination for filthy clothing." -msgstr "不潔な衣類を置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Drugs" -msgstr "分類: 薬品" - -#: src/clzones.cpp -msgid "Destination for drugs and other medical items." -msgstr "薬品や衣料品を置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Books" -msgstr "分類: 本" - -#: src/clzones.cpp -msgid "Destination for books and magazines." -msgstr "本や雑誌を置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Mods" -msgstr "分類: MOD" - -#: src/clzones.cpp -msgid "Destination for firearm modifications and similar items." -msgstr "銃器用MODなどを置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Mutagens" -msgstr "分類: 変異原" - -#: src/clzones.cpp -msgid "Destination for mutagens, serums, and purifiers." -msgstr "変異原、血清、変異治療薬を置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Bionics" -msgstr "分類: CBM" - -#: src/clzones.cpp -msgid "Destination for Compact Bionics Modules aka CBMs." -msgstr "生体部品、いわゆるCBMを置く区域です。" - -#: src/clzones.cpp -msgid "Loot: V.Parts" -msgstr "分類: 車両部品" - -#: src/clzones.cpp -msgid "Destination for vehicle parts." -msgstr "車両部品を置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Other" -msgstr "分類: その他" - -#: src/clzones.cpp -msgid "Destination for other miscellaneous items." -msgstr "その他の雑多なアイテムを置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Fuel" -msgstr "分類: 燃料" - -#: src/clzones.cpp -msgid "" -"Destination for gasoline, diesel, lamp oil and other substances used as a " -"fuel." -msgstr "燃料として利用するガソリン、軽油、ランプオイルなどを置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Seeds" -msgstr "分類: 種" - -#: src/clzones.cpp -msgid "Destination for seeds, stems and similar items." -msgstr "種や茎などを置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Chemical" -msgstr "分類: 化学物質" - -#: src/clzones.cpp -msgid "Destination for chemicals." -msgstr "化学物質を置く区域です。" - -#: src/clzones.cpp -msgid "Loot: S.Parts" -msgstr "分類: 予備部品" - -#: src/clzones.cpp -msgid "Destination for spare parts." -msgstr "予備部品を置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Artifacts" -msgstr "分類: アーティファクト" - -#: src/clzones.cpp -msgid "Destination for artifacts" -msgstr "アーティファクトを置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Corpses" -msgstr "分類: 死体" - -#: src/clzones.cpp -msgid "Destination for corpses" -msgstr "死体を置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Armor" -msgstr "分類: 防具" - -#: src/clzones.cpp -msgid "" -"Destination for armor. Does include filthy armor if such zone is not " -"specified." -msgstr "防具を置く区域です。他に該当する区域を指定していない場合、不潔な防具はここに移動されます。" - -#: src/clzones.cpp -msgid "Loot: F.Armor" -msgstr "分類: 不潔な防具" - -#: src/clzones.cpp -msgid "Destination for filthy armor." -msgstr "不潔な防具を置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Wood" -msgstr "分類: 木材" - -#: src/clzones.cpp -msgid "Destination for firewood and items that can be used as such." -msgstr "焚き木として利用できるアイテムを置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Custom" -msgstr "分類: カスタム" - -#: src/clzones.cpp -msgid "Destination for loot with a custom filter that you can modify." -msgstr "自由に変更できるフィルタを適用したアイテムを置く区域です。" - -#: src/clzones.cpp -msgid "Loot: Ignore" -msgstr "分類: 無視" - -#: src/clzones.cpp -msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." -msgstr "この区域内のアイテムは区域行動の「分類」時に無視されます。" - #: src/clzones.cpp msgid "Source: Firewood" msgstr "供給: 焚き木" @@ -169885,7 +175785,7 @@ msgstr "供給: 焚き木" #: src/clzones.cpp msgid "" "Source for firewood or other flammable materials in this zone may be used to" -" automatically refuel fires. This will be done to maintain light during " +" automatically refuel fires. This will be done to maintain light during " "long-running tasks such as crafting, reading or waiting." msgstr "" "印を付けたタイルに置かれている焚き木など可燃物は、火の中へ自動的に補給されます。製作や読書などの長時間の作業時には、火を絶やさないよう自動補給機能が働きますが、火の傍でただ立っているだけの時などは、自動補給は行われません。" @@ -169938,6 +175838,14 @@ msgstr "作業: 車両修理" msgid "Any vehicles in this area are marked for repair work." msgstr "この区域内にある車両は修理の対象になります。" +#: src/clzones.cpp +msgid "Vehicle Patrol Zone" +msgstr "車両: 自動運転" + +#: src/clzones.cpp +msgid "Vehicles with an autopilot will patrol in this zone." +msgstr "自動操縦機能をもった車両はこの区域内を運転します。" + #: src/clzones.cpp msgid "Basecamp: Food" msgstr "拠点: 配給食料" @@ -169958,11 +175866,11 @@ msgstr "種を植えない" #: src/clzones.cpp #, c-format -msgid "Loot: Custom : %s" +msgid "Loot: Custom: %s" msgstr "分類: カスタム: %s" #: src/clzones.cpp -msgid "Loot: Custom : No Filter" +msgid "Loot: Custom: No Filter" msgstr "分類: カスタム: フィルタなし" #: src/clzones.cpp @@ -170116,7 +176024,7 @@ msgstr "エラー!アクセスが拒否されました!" #: src/computer.cpp #, c-format -msgid "Logging into %s..." +msgid "Logging into %s…" msgstr "%sにログインしています..." #: src/computer.cpp @@ -170132,15 +176040,15 @@ msgid "Bypass security?" msgstr "セキュリティを回避しますか?" #: src/computer.cpp -msgid "Shutting down... press any key." +msgid "Shutting down… press any key." msgstr "シャットダウンしています... 何かキーを押して下さい。" #: src/computer.cpp -msgid "Maximum login attempts exceeded. Press any key..." +msgid "Maximum login attempts exceeded. Press any key…" msgstr "ログイン試行回数の上限に達しました。何かキーを押して下さい..." #: src/computer.cpp -msgid "Login successful. Press any key..." +msgid "Login successful. Press any key…" msgstr "ログインに成功しました。何かキーを押して下さい..." #: src/computer.cpp @@ -170164,68 +176072,68 @@ msgid "Choose drive:" msgstr "ダウンロード先を選択: " #: src/computer.cpp -msgid "Doors opened. Press any key..." +msgid "Doors opened. Press any key…" msgstr "ドアを開きました。何かキーを押して下さい..." #: src/computer.cpp -msgid "Lock enabled. Press any key..." +msgid "Lock enabled. Press any key…" msgstr "ロックを有効化しました。何かキーを押して下さい..." #: src/computer.cpp -msgid "Lock disabled. Press any key..." +msgid "Lock disabled. Press any key…" msgstr "ロックを無効化しました。何かキーを押して下さい..." #. ~ the sound of a church bell ringing #: src/computer.cpp -msgid "Bohm... Bohm... Bohm..." +msgid "Bohm… Bohm… Bohm…" msgstr "ゴォーン...ゴォーン...ゴォーン..." #: src/computer.cpp -msgid "Containment shields opened. Press any key..." +msgid "Containment shields opened. Press any key…" msgstr "格納シールドを開きました。何かキーを押して下さい..." #: src/computer.cpp -msgid "Subjects terminated. Press any key..." +msgid "Subjects terminated. Press any key…" msgstr "目標を処分しました。何かキーを押して下さい..." #: src/computer.cpp msgid "WARNING: Resonance cascade carries severe risk! Continue?" -msgstr "警告: 共鳴連鎖は深刻な事態を引き起こす可能性があります!続行しますか?" +msgstr "警告: 共鳴連鎖は深刻な事態を引き起こす可能性があります!続けますか?" #: src/computer.cpp msgid "No data found." msgstr "データが見つかりません。" #: src/computer.cpp -msgid "Local data-access error logged, alerting helpdesk. Press any key..." -msgstr "ローカルデータへのアクセスエラーをログに記録しました。ヘルプデスクを呼び出しています。何かキーを押して下さい..." +msgid "Local data-access error logged, alerting helpdesk. Press any key…" +msgstr "ローカルデータへのアクセスエラーを記録しました。ヘルプデスクを呼び出しています。何かキーを押して下さい..." #: src/computer.cpp msgid "" -"Warning: anomalous archive-access activity detected at this node. Press any " -"key..." -msgstr "警告: 異常なアーカイブへのアクセスがこのノードから検出されました。何かキーを押して下さい..." +"Warning: anomalous archive-access activity detected at this node. Press any" +" key…" +msgstr "警告: このノードからアーカイブへの例外アクセスを検出しました。何かキーを押して下さい..." #: src/computer.cpp -msgid "Warning: resticted data access. Attempt logged. Press any key..." -msgstr "警告: データへのアクセスが制限されています。試行が記録されました。何かキーを押してください..." +msgid "Warning: resticted data access. Attempt logged. Press any key…" +msgstr "警告: データへのアクセスが制限されています。試行を記録しました。何かキーを押してください..." #: src/computer.cpp -msgid "Press any key..." +msgid "Press any key…" msgstr "何かキーを押して下さい..." #: src/computer.cpp msgid "" "Surface map data downloaded. Local anomalous-access error logged. Press " -"any key..." -msgstr "表層マップデータをダウンロードしました。一部の異常なアクセスエラーをログに記録しました。何かキーを押して下さい..." +"any key…" +msgstr "表層マップデータをダウンロードしました。一部の例外アクセスエラーを記録しました。何かキーを押して下さい..." #: src/computer.cpp -msgid "Sewage map data downloaded. Press any key..." +msgid "Sewage map data downloaded. Press any key…" msgstr "下水路のマップデータをダウンロードしました。何かキーを押して下さい..." #: src/computer.cpp -msgid "Subway map data downloaded. Press any key..." +msgid "Subway map data downloaded. Press any key…" msgstr "地下鉄のマップデータをダウンロードしました。何かキーを押して下さい..." #: src/computer.cpp @@ -170262,12 +176170,12 @@ msgstr "生体部品管理 - 一覧: " #: src/computer.cpp #, c-format -msgid "%d OTHER FOUND..." -msgid_plural "%d OTHERS FOUND..." +msgid "%d OTHER FOUND…" +msgid_plural "%d OTHERS FOUND…" msgstr[0] "他に%d個見つかりました..." #: src/computer.cpp -msgid "Elevator activated. Press any key..." +msgid "Elevator activated. Press any key…" msgstr "エレベーターを起動しました。何かキーを押して下さい..." #: src/computer.cpp @@ -170293,8 +176201,8 @@ msgstr "" "関連する現場監督のログがメモに追加されました。" #: src/computer.cpp -msgid "FILE CORRUPTED, PRESS ANY KEY..." -msgstr "ファイルが破損しています、何かキーを押して下さい..." +msgid "FILE CORRUPTED, PRESS ANY KEY…" +msgstr "ファイルが破損しています。何かキーを押して下さい..." #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -170309,11 +176217,11 @@ msgid "ACCESS DENIED" msgstr "アクセス拒否" #: src/computer.cpp -msgid "Repeater mod installed..." -msgstr "中継モジュールをインストール中..." +msgid "Repeater mod installed…" +msgstr "中継モジュールをインストールしました..." #: src/computer.cpp -msgid "You do not have a repeater mod to install..." +msgid "You do not have a repeater mod to install…" msgstr "中継モジュールを所持していません..." #: src/computer.cpp @@ -170345,16 +176253,16 @@ msgid "ERROR: Please only use blood samples." msgstr "エラー: 血液サンプルのみを使用して下さい。" #: src/computer.cpp -msgid "Result: Human blood, no pathogens found." -msgstr "結果: 人間の血液(病原体なし)" +msgid "Result: Human blood, no pathogens found." +msgstr "結果: 人間の血液・病原体未検出" #: src/computer.cpp -msgid "Result: Human blood. Unknown pathogen found." -msgstr "結果: 人間の血液(未確認の病原体あり)" +msgid "Result: Human blood. Unknown pathogen found." +msgstr "結果: 人間の血液・未知の病原体を検出" #: src/computer.cpp -msgid "Result: Unknown blood type. Unknown pathogen found." -msgstr "結果: 未知の血液型(未確認の病原体あり)" +msgid "Result: Unknown blood type. Unknown pathogen found." +msgstr "結果: 未知の血液型・未知の病原体を検出" #: src/computer.cpp msgid "Pathogen bonded to erythrocytes and leukocytes." @@ -170390,7 +176298,7 @@ msgstr "エラー: 記憶装置内にデータがありません。" #: src/computer.cpp msgid "" -"Memory Bank: Military Hexron Encryption\n" +"Memory Bank: Military Hexron Encryption\n" "Printing Transcript\n" msgstr "" "記憶装置: 軍事ヘキサロン暗号\n" @@ -170398,7 +176306,7 @@ msgstr "" #: src/computer.cpp msgid "" -"Memory Bank: Unencrypted\n" +"Memory Bank: Unencrypted\n" "Nothing of interest.\n" msgstr "" "記憶装置: 非暗号化データ\n" @@ -170407,7 +176315,7 @@ msgstr "" #: src/computer.cpp msgid "" "\n" -"ERROR: NETWORK DISCONNECT \n" +"ERROR: NETWORK DISCONNECT\n" "UNABLE TO REACH NETWORK ROUTER OR PROXY. PLEASE CONTACT YOUR\n" "SYSTEM ADMINISTRATOR TO RESOLVE THIS ISSUE.\n" " \n" @@ -170419,20 +176327,20 @@ msgstr "" "して下さい。\n" #: src/computer.cpp -msgid "Press any key to continue..." -msgstr "何かキーを押して下さい..." +msgid "Press any key to continue…" +msgstr "続けるには何かキーを押して下さい..." #: src/computer.cpp msgid "" -"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF \n" -"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU \n" -"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW. \n" +"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF\n" +"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU\n" +"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW.\n" "\n" -"1. DO NOT PANIC. \n" -"2. REMAIN INSIDE THE BUILDING. \n" -"3. SEEK SHELTER IN THE BASEMENT. \n" -"4. USE PROVIDED GAS MASKS. \n" -"5. AWAIT FURTHER INSTRUCTIONS. \n" +"1. DO NOT PANIC.\n" +"2. REMAIN INSIDE THE BUILDING.\n" +"3. SEEK SHELTER IN THE BASEMENT.\n" +"4. USE PROVIDED GAS MASKS.\n" +"5. AWAIT FURTHER INSTRUCTIONS.\n" "\n" " \n" msgstr "" @@ -170451,11 +176359,11 @@ msgstr "" #: src/computer.cpp msgid "" -" WARNING, RADIO TOWER IS UNRESPONSIVE. \n" +" WARNING, RADIO TOWER IS UNRESPONSIVE.\n" " \n" -" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS. \n" -" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD \n" -" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED. \n" +" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS.\n" +" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD\n" +" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED.\n" " \n" " \n" msgstr "" @@ -170511,15 +176419,15 @@ msgid "WARNING [409]: Primary sensors offline!" msgstr "警告[409]: 一次センサーがオフラインです!" #: src/computer.cpp -msgid " >> Initialize secondary sensors: Geiger profiling..." -msgstr " >> 二次センサー初期化: ガイガーカウンターをプロファイリング中..." +msgid " >> Initialize secondary sensors: Geiger profiling…" +msgstr " >> 補助センサー初期化: ガイガーカウンターをプロファイリング中..." #: src/computer.cpp msgid " >> Radiation spike detected!\n" msgstr " >> 放射線量の急上昇を検知しました!\n" #: src/computer.cpp -msgid "WARNING [912]: Catastrophic malfunction! Contamination detected! " +msgid "WARNING [912]: Catastrophic malfunction! Contamination detected!" msgstr "警告[912]: 重篤な異常が発生しました!汚染を検知しました!" #: src/computer.cpp @@ -170527,11 +176435,11 @@ msgid "EMERGENCY PROCEDURE [1]: Evacuate. Evacuate. Evacuate.\n" msgstr "緊急手順[1]: 避難してください。避難してください。避難してください。\n" #: src/computer.cpp -msgid "EMERGENCY SHUTDOWN! Press any key..." -msgstr "緊急シャットダウン!何かキーを押して下さい..." +msgid "EMERGENCY SHUTDOWN! Press any key…" +msgstr "緊急シャットダウン実行!何かキーを押して下さい..." #: src/computer.cpp -msgid "PROCESSING... CYCLE COMPLETE." +msgid "PROCESSING… CYCLE COMPLETE." msgstr "処理中... サイクルが完了しました。" #: src/computer.cpp @@ -170541,7 +176449,7 @@ msgstr "ガイガーカウンター@プラットホーム: %s mSv/h" #: src/computer.cpp msgid "" -"CRITICAL ERROR... RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " +"CRITICAL ERROR… RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " "RP_M_01_rev.03." msgstr "深刻なエラー... 放射線照射プラットホームの応答がありません。手続きRP_M_01_rev.03に従ってください。" @@ -170551,22 +176459,22 @@ msgstr "放射線測定:" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... AVG %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… AVG %s mSv/h." msgstr "ガイガーカウンター@区域平均:... %s mSv/h" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... MAX %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… MAX %s mSv/h." msgstr "ガイガーカウンター@区域最大:... %s mSv/h" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ CONSOLE: .... %s mSv/h." +msgid "GEIGER COUNTER @ CONSOLE:… %s mSv/h." msgstr "ガイガーカウンター@コンソール: .... %s mSv/h" #: src/computer.cpp #, c-format -msgid "PERSONAL DOSIMETRY: .... %s mSv." +msgid "PERSONAL DOSIMETRY:… %s mSv." msgstr "個人線量: .... %s mSv" #: src/computer.cpp @@ -170590,11 +176498,11 @@ msgid "No items detected at: LOADING BAY." msgstr "アイテムが見つかりません: ローディングベイ" #: src/computer.cpp -msgid "Conveyor belt cycle complete. Press any key..." +msgid "Conveyor belt cycle complete. Press any key…" msgstr "コンベアベルトの循環が完了しました。何かキーを押して下さい..." #: src/computer.cpp -msgid "Toggling shutters. Press any key..." +msgid "Toggling shutters. Press any key…" msgstr "シャッターを操作しています。何かキーを押して下さい..." #: src/computer.cpp @@ -170602,15 +176510,15 @@ msgid "Operation irreversible. Extract radioactive material?" msgstr "この操作は不可逆です。放射性物質を抜き取りますか?" #: src/computer.cpp -msgid "Extraction sequence complete... Press any key." +msgid "Extraction sequence complete… Press any key." msgstr "抜き取りシーケンスを完了しました...何かキーを押して下さい。" #: src/computer.cpp -msgid "ERROR! Radiation platform unresponsive... Press any key." +msgid "ERROR! Radiation platform unresponsive… Press any key." msgstr "エラー!放射線照射プラットホームの応答がありません...何かキーを押して下さい。" #: src/computer.cpp -msgid "Initiating POWER-DIAG ver.2.34 ..." +msgid "Initiating POWER-DIAG ver.2.34…" msgstr "POWER-DIAG ver.2.34を開始中..." #: src/computer.cpp @@ -170631,13 +176539,13 @@ msgstr "アース端子が再有効化されました。" #: src/computer.cpp #, c-format -msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." +msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." msgstr "内部電源: 85%%がオフラインです。原因: 損傷" #: src/computer.cpp #, c-format msgid "" -"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " +"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " "DETECTED." msgstr "外部電源: 100%%がオフラインです。原因: 外部電源が見つかりません。" @@ -170646,7 +176554,7 @@ msgid "Backup power status: STANDBY MODE." msgstr "予備電源: スタンバイモード" #: src/computer.cpp -msgid "Backup power status: OFFLINE. Reason: UNKNOWN" +msgid "Backup power status: OFFLINE. Reason: UNKNOWN" msgstr "予備電源: オフラインです。原因: 不明" #: src/computer.cpp @@ -170706,7 +176614,7 @@ msgid "ERROR: Data bank destroyed." msgstr "エラー: データバンクが破壊されました。" #: src/computer.cpp -msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT ... " +msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT…" msgstr "最寄りの避難センターを検索しています。しばらくお待ちください..." #. ~555-0164 is a fake phone number in the US, please replace it with a number @@ -170715,25 +176623,25 @@ msgstr "最寄りの避難センターを検索しています。しばらくお #, c-format msgid "" "\n" -"REFUGEE CENTER FOUND! LOCATION: %d %s\n" +"REFUGEE CENTER FOUND! LOCATION: %d %s\n" "\n" -"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT \n" -"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE. \n" -"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND \n" -"4PM AT 555-0164. \n" +"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT\n" +"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE.\n" +"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND\n" +"4PM AT 555-0164.\n" "\n" "IF YOU WOULD LIKE TO SPEAK WITH SOMEONE IN PERSON OR WOULD LIKE\n" -"TO WRITE US A LETTER PLEASE SEND IT TO...\n" +"TO WRITE US A LETTER PLEASE SEND IT TO…\n" msgstr "" "\n" "避難センターを発見しました!位置: %d %s\n" "\n" -"シェルターでの滞在に関するご意見は \n" -"緊急管理部広報課までご連絡ください。\n" -"現地事務所の対応時間 9:00~16:00 \n" +"シェルターでの滞在に関してご意見がございましたら緊急管理部広報課へご連絡ください。\n" +"現地事務所対応時間 9:00~16:00 \n" "電話番号 555-0164 \n" "\n" -"直接のご訪問やお手紙はこちらの住所まで...\n" +"直接のご訪問やお手紙はこちらまで\n" +"住所...\n" "\n" #: src/construction.cpp @@ -170826,12 +176734,12 @@ msgstr "その場所では既に未完成の建設作業を行っています。 #: src/construction.cpp #, c-format -msgid "%s assists you with the work..." +msgid "%s assists you with the work…" msgstr "%sが作業を手伝ってくれました..." #: src/construction.cpp #, c-format -msgid "%s watches you work..." +msgid "%s watches you work…" msgstr "%sは作業を眺めています..." #: src/construction.cpp @@ -170893,8 +176801,8 @@ msgid "That %s can not be dissasembled, since there is furniture above it." msgstr "%sの上に家具があるため分解できません。" #: src/construction.cpp -msgid "The rock feels much warmer than normal. Proceed?" -msgstr "岩が暖かくなってきています。続けますか?" +msgid "The rock feels much warmer than normal. Proceed?" +msgstr "岩が熱をもっています。続けますか?" #: src/construction.cpp msgid "You just tunneled into lava!" @@ -171056,20 +176964,20 @@ msgstr "それでも%sを消費しますか?" #: src/consumption.cpp msgid "" "You've begun stockpiling calories and liquid for hibernation. You get the " -"feeling that you should prepare for bed, just in case, but...you're hungry " +"feeling that you should prepare for bed, just in case, but… you're hungry " "again, and you could eat a whole week's worth of food RIGHT NOW." msgstr "" -"カロリーと水分の備蓄を始めました。眠る準備が出来たように感じました、念のため、でも...また空腹を感じはじめました。一週間分の食料をむさぼりましょう。今すぐ。" +"カロリーと水分の備蓄を始めました。念のため、寝床の準備もした方が良さそうですが...またお腹が減ってきました。早速、一週間分の食料をむさぼりましょう。" #: src/consumption.cpp #, c-format -msgid "Ick, this %s doesn't taste so good..." -msgstr "むぅ、この%sは余り美味しくない..." +msgid "Ick, this %s doesn't taste so good…" +msgstr "むぅ、この%sはあまり美味しくありません..." #: src/consumption.cpp #, c-format -msgid "Mmm, this %s tastes delicious..." -msgstr "うーん、この%sはとても美味しい..." +msgid "Mmm, this %s tastes delicious…" +msgstr "うーん、この%sは非常に美味しいです..." #: src/consumption.cpp #, c-format @@ -171083,8 +176991,8 @@ msgstr "%sを消化しました。" #: src/consumption.cpp #, c-format -msgid "Ick, this %s (rotten) doesn't taste so good..." -msgstr "おえっ、この%s(腐)は酷い味です..." +msgid "Ick, this %s (rotten) doesn't taste so good…" +msgstr "むぅ、この%s(腐)はあまり美味しくありません..." #: src/consumption.cpp #, c-format @@ -171137,8 +177045,8 @@ msgid "You greedily devour the taboo meat." msgstr "貪欲に禁忌の肉を貪り食いました。" #: src/consumption.cpp -msgid "Meh. You've eaten worse." -msgstr "うえっ。食べてしまった。" +msgid "Meh. You've eaten worse." +msgstr "ふむ。最低な味とまでは言えません。" #: src/consumption.cpp msgid "" @@ -171164,8 +177072,8 @@ msgid "You can't taste much of anything with this flu." msgstr "インフルエンザに罹っているので食事を味わえません。" #: src/consumption.cpp -msgid "Yuck! How can anybody eat this stuff?" -msgstr "うわっ!どこの誰がこんな物を食べるんだ?" +msgid "Yuck! How can anybody eat this stuff?" +msgstr "おえっ!どこの誰がこんな物を食べるのでしょうか?" #: src/consumption.cpp msgid "Mmm, junk food." @@ -171176,8 +177084,8 @@ msgid "When life's got you down, there's always sugar." msgstr "くじけそうな時、いつも傍に居てくれるのは甘味料です。" #: src/consumption.cpp -msgid "They may do what they must... you've already won." -msgstr "これさえ食べれば勝ったも同然です。" +msgid "They may do what they must… you've already won." +msgstr "どんな目に遭ったとしても...これさえ食べれば大丈夫です。" #: src/consumption.cpp msgid "Your stomach begins gurgling and you feel bloated and ill." @@ -171212,16 +177120,16 @@ msgid "They're coming to get you." msgstr "誰かから狙われている気がします。" #: src/consumption.cpp -msgid "This might've been a bad idea..." -msgstr "嫌な予感がします。" +msgid "This might've been a bad idea…" +msgstr "嫌な予感がします..." #: src/consumption.cpp msgid "You've really done it this time, haven't you?" msgstr "またやってしまいましたね?" #: src/consumption.cpp -msgid "You have to stay vigilant. They're always watching..." -msgstr "用心深く過ごすべきです。奴らはいつもこちらを見ています..." +msgid "You have to stay vigilant. They're always watching…" +msgstr "用心深く振る舞うべきです。奴らはいつもこちらを見ています..." #: src/consumption.cpp msgid "mistake mistake mistake mistake mistake" @@ -171240,8 +177148,8 @@ msgid "Something is twitching at the edge of your vision." msgstr "視界の端で何かが蠢いています。" #: src/consumption.cpp -msgid "They know what you've done..." -msgstr "奴らは何もかもお見通しだ..." +msgid "They know what you've done…" +msgstr "奴らは何もかもお見通しです..." #: src/consumption.cpp msgid "You're feeling even more paranoid than usual." @@ -171252,18 +177160,19 @@ msgid "You gorge yourself, preparing to hibernate." msgstr "腹が一杯になるまで食べ物を詰め込み、冬眠の準備をしました。" #: src/consumption.cpp -msgid "You feel stocked for a day or two. Got your bed all ready and secured?" -msgstr "1~2日ぶんの栄養を体内に蓄えました。寝床と安全は確保出来ていますか?" +msgid "" +"You feel stocked for a day or two. Got your bed all ready and secured?" +msgstr "数日分の栄養を体内に蓄えました。寝床と安全は確保しましたか?" #: src/consumption.cpp msgid "" -"Mmm. You can still fit some more in...but maybe you should get comfortable " +"Mmm. You can still fit some more in… but maybe you should get comfortable " "and sleep." -msgstr "うーん。何か足りない気がする...しかし十分にくつろいで眠ることは出来そうです。" +msgstr "うーん。まだ物足りませんが...とりあえずは快適に冬眠できそうです。" #: src/consumption.cpp -msgid "That filled a hole! Time for bed..." -msgstr "穴を塞ぎました!ふぁ、冬眠だ..." +msgid "That filled a hole! Time for bed…" +msgstr "これで十分でしょう!冬眠の時間です..." #: src/consumption.cpp msgid "You feel as though you're going to split open! In a good way?" @@ -171272,8 +177181,8 @@ msgstr "体がバラバラになりそうです!大丈夫かな?" #. ~slimespawns have *small voices* which may be the Nice equivalent #. ~of the Rat King's ALL CAPS invective. Probably shared-brain telepathy. #: src/consumption.cpp -msgid "hey, you look like me! let's work together!" -msgstr "なあ、あんた、私にそっくりだな!一緒に行こう!" +msgid "hey, you look like me! let's work together!" +msgstr "おや、私にそっくりだな!一緒に行こう!" #: src/consumption.cpp #, c-format @@ -171285,24 +177194,6 @@ msgstr "%sで満腹になりました。" msgid " looks better after eating the %s." msgstr "は%sを食べて満足しているようです。" -#: src/consumption.cpp -msgid "Your internal power storage is fully powered." -msgstr "体内蓄電装置が満タンになりました。" - -#: src/consumption.cpp -msgid "'s internal power storage is fully powered." -msgstr "の体内蓄電装置が満タンになりました。" - -#: src/consumption.cpp -#, c-format -msgid "You recharge your battery system with the %s." -msgstr "%sのバッテリーを充電しました。" - -#: src/consumption.cpp -#, c-format -msgid " recharges their battery system with the %s." -msgstr "は%sのバッテリーを充電しました。" - #: src/consumption.cpp msgid "That is a LOT of plutonium. Are you sure you want that much?" msgstr "非常に大量のプルトニウムです。本当にこんなに必要ですか?" @@ -171403,8 +177294,8 @@ msgstr "" "それでも製作を開始しますか?" #: src/craft_command.cpp -msgid "Some components used previously are missing. Continue?" -msgstr "前回使った素材が不足しています。続行しますか?" +msgid "Some components used previously are missing. Continue?" +msgstr "前回使った素材の一部が不足しています。続けますか?" #: src/craft_command.cpp msgid "Item(s): " @@ -171415,7 +177306,7 @@ msgid "Tool(s): " msgstr "道具: " #: src/crafting.cpp -msgid "Your morale is too low to craft such a difficult thing..." +msgid "Your morale is too low to craft such a difficult thing…" msgstr "難しい製作をする意欲が湧きません..." #: src/crafting.cpp @@ -171472,7 +177363,7 @@ msgstr "材料を使い果たしました。" #, c-format msgid "" "You don't have anything in which to store %s and may have to pour it out or " -"consume it as soon as it is prepared! Proceed?" +"consume it as soon as it is prepared! Proceed?" msgstr "%sを保管できないため、すぐに消費しないと流れ出してしまいます!続けますか?" #: src/crafting.cpp src/pickup.cpp @@ -171563,23 +177454,23 @@ msgstr "は%sの作業を開始しました。" #: src/crafting.cpp #, c-format -msgid "%s assists with crafting..." +msgid "%s assists with crafting…" msgstr "%sが製作を手伝ってくれました..." #: src/crafting.cpp #, c-format -msgid "%s could assist you with a batch..." +msgid "%s could assist you with a batch…" msgstr "%sが少しだけ手伝ってくれました..." #: src/crafting.cpp #, c-format -msgid "%s watches you craft..." +msgid "%s watches you craft…" msgstr "%sは製作を見ています..." #: src/crafting.cpp #, c-format -msgid "%s helps with crafting..." -msgstr "%sが製作を手伝ってくれました..." +msgid "%s helps with crafting…" +msgstr "%sと協力して製作しました..." #: src/crafting.cpp #, c-format @@ -171854,8 +177745,8 @@ msgstr "一括製作時間: %s" #: src/crafting_gui.cpp #, c-format -msgid "Dark craftable? %s" -msgstr "暗所での製作: %s" +msgid "Dark craftable? %s" +msgstr "暗所作業: %s" #: src/crafting_gui.cpp src/defense.cpp msgid "Easy" @@ -171932,7 +177823,7 @@ msgstr "記憶済みのレシピ" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" @@ -172148,7 +178039,7 @@ msgid "Friendly" msgstr "友好 " #: src/creature.cpp -msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" +msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" msgstr "" "バグ:不特定の行動。\n" "(Creature::get_attitude_ui_data)" @@ -172204,7 +178095,7 @@ msgid "See %s for a full stack backtrace" msgstr "フルスタックバックトレースは%sを参照してください" #: src/debug.cpp -msgid "An error has occurred! Written below is the error report:" +msgid "An error has occurred! Written below is the error report:" msgstr "エラーが発生しました!以下のエラーレポートが出力されました: " #: src/debug.cpp @@ -172262,7 +178153,7 @@ msgid "Level a spell" msgstr "編集 - 呪文レベル" #: src/debug_menu.cpp -msgid "Player..." +msgid "Player…" msgstr "プレイヤー..." #: src/debug_menu.cpp @@ -172305,10 +178196,18 @@ msgstr "表示 - 臭跡マップ" msgid "Toggle display temperature" msgstr "表示 - 気温" +#: src/debug_menu.cpp +msgid "Toggle display vehicle autopilot overlay" +msgstr "表示 - 自動運転オーバーレイ" + #: src/debug_menu.cpp msgid "Toggle display visibility" msgstr "表示 - 視認性" +#: src/debug_menu.cpp +msgid "Toggle display lighting" +msgstr "表示 - 光量マップ" + #: src/debug_menu.cpp msgid "Toggle display radiation" msgstr "表示 - 放射能汚染" @@ -172341,12 +178240,16 @@ msgstr "表示 - NPC移動経路" msgid "Print faction info to console" msgstr "出力 - 派閥" +#: src/debug_menu.cpp +msgid "Print NPC magic info to console" +msgstr "出力 - NPC魔法" + #: src/debug_menu.cpp msgid "Test weather" msgstr "テスト - 天候" #: src/debug_menu.cpp -msgid "Info..." +msgid "Info…" msgstr "情報..." #: src/debug_menu.cpp @@ -172362,7 +178265,7 @@ msgid "Teleport - adjacent overmap" msgstr "隣接した全体マップ" #: src/debug_menu.cpp -msgid "Teleport..." +msgid "Teleport…" msgstr "瞬間移動..." #: src/debug_menu.cpp @@ -172390,7 +178293,7 @@ msgid "Spawn clairvoyance artifact" msgstr "透視アーティファクト入手" #: src/debug_menu.cpp -msgid "Spawning..." +msgid "Spawning…" msgstr "生成..." #: src/debug_menu.cpp @@ -172434,7 +178337,7 @@ msgid "Spawn map extra" msgstr "生成 - 特殊地形" #: src/debug_menu.cpp -msgid "Map..." +msgid "Map…" msgstr "マップ..." #: src/debug_menu.cpp @@ -172444,8 +178347,8 @@ msgstr "ゲーム終了" #: src/debug_menu.cpp msgid "" "Debug Functions - Using these will cheat not only the game, but yourself.\n" -"You won't grow. You won't improve.\n" -"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" +"You won't grow. You won't improve.\n" +"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" "Nothing will be risked and nothing will be gained." msgstr "" "デバッグ機能 - ゲームだけでなく己自身も欺くことになります。\n" @@ -172476,7 +178379,7 @@ msgstr "どの方向の全体マップに瞬間移動しますか?" msgid "You teleport to overmap (%d,%d,%d)." msgstr "隣接する全体マップに瞬間移動しました(%d,%d,%d)。" -#: src/debug_menu.cpp src/iuse.cpp src/npctrade.cpp +#: src/debug_menu.cpp src/game.cpp src/iuse.cpp src/npctrade.cpp msgid "You" msgstr "あなた" @@ -172624,6 +178527,10 @@ msgstr "表示/ステータス" msgid "t[e]leport" msgstr "瞬間移動" +#: src/debug_menu.cpp +msgid "Give the [f]lu" +msgstr "インフルエンザ罹患" + #: src/debug_menu.cpp msgid "Edit [M]issions (WARNING: Unstable!)" msgstr "編集/依頼(警告:不安定な機能です!)" @@ -172662,7 +178569,7 @@ msgstr "最大値/感覚" #: src/debug_menu.cpp #, c-format -msgid "Set the stat to? Currently: %d" +msgid "Set the stat to? Currently: %d" msgstr "能力値を設定 現在: %d" #: src/debug_menu.cpp @@ -172691,12 +178598,12 @@ msgstr "右脚" #: src/debug_menu.cpp #, c-format -msgid "Set the hitpoints to? Currently: %d" +msgid "Set the hitpoints to? Currently: %d" msgstr "HPの値を設定 現在: %d" #: src/debug_menu.cpp #, c-format -msgid "Set stamina to? Current: %d. Max: %d." +msgid "Set stamina to? Current: %d. Max: %d." msgstr "スタミナの値を設定 現在: %d 最大: %d " #: src/debug_menu.cpp @@ -172705,7 +178612,7 @@ msgstr "規定外のスタミナ値です!" #: src/debug_menu.cpp #, c-format -msgid "Set the morale to? Currently: %d" +msgid "Set the morale to? Currently: %d" msgstr "意欲の値を設定 現在: %d" #: src/debug_menu.cpp @@ -172730,27 +178637,27 @@ msgstr "恩義" #: src/debug_menu.cpp #, c-format -msgid "Set trust to? Currently: %d" +msgid "Set trust to? Currently: %d" msgstr "信頼の値を設定 現在: %d" #: src/debug_menu.cpp #, c-format -msgid "Set fear to? Currently: %d" +msgid "Set fear to? Currently: %d" msgstr "恐怖の値を設定 現在: %d" #: src/debug_menu.cpp #, c-format -msgid "Set value to? Currently: %d" +msgid "Set value to? Currently: %d" msgstr "尊敬の値を設定 現在: %d" #: src/debug_menu.cpp #, c-format -msgid "Set anger to? Currently: %d" +msgid "Set anger to? Currently: %d" msgstr "怒りの値を設定 現在: %d" #: src/debug_menu.cpp #, c-format -msgid "Set owed to? Currently: %d" +msgid "Set owed to? Currently: %d" msgstr "恩義の値を設定 現在: %d" #: src/debug_menu.cpp @@ -172760,15 +178667,15 @@ msgstr "改名: " #: src/debug_menu.cpp #, c-format msgid "" -"NPC: \n" +"NPC:\n" "%s\n" msgstr "" -"NPC: \n" +"NPC:\n" "%s\n" #: src/debug_menu.cpp #, c-format -msgid "Cause how much pain? pain: %d" +msgid "Cause how much pain? pain: %d" msgstr "苦痛の値を設定 現在: %d" #: src/debug_menu.cpp @@ -172793,32 +178700,32 @@ msgstr "基本欲求を全てリセット" #: src/debug_menu.cpp #, c-format -msgid "Set hunger to? Currently: %d" +msgid "Set hunger to? Currently: %d" msgstr "空腹の値を設定 現在: %d" #: src/debug_menu.cpp #, c-format -msgid "Set stored kCal to? Currently: %d" +msgid "Set stored kCal to? Currently: %d" msgstr "蓄積kCalを設定 現在: %d" #: src/debug_menu.cpp #, c-format -msgid "Set thirst to? Currently: %d" +msgid "Set thirst to? Currently: %d" msgstr "口渇の値を設定 現在: %d" #: src/debug_menu.cpp #, c-format -msgid "Set fatigue to? Currently: %d" +msgid "Set fatigue to? Currently: %d" msgstr "疲労の値を設定 現在: %d" #: src/debug_menu.cpp #, c-format -msgid "Set sleep deprivation to? Currently: %d" +msgid "Set sleep deprivation to? Currently: %d" msgstr "眠気の値を設定 現在: %d" #: src/debug_menu.cpp #, c-format -msgid "Set %s to? Currently: %d" +msgid "Set %s to? Currently: %d" msgstr "%sの値を設定 現在: %d" #: src/debug_menu.cpp src/panels.cpp @@ -172835,7 +178742,7 @@ msgstr "放射能汚染" #: src/debug_menu.cpp #, c-format -msgid "Set the value to? Currently: %d" +msgid "Set the value to? Currently: %d" msgstr "値を設定 現在: %d" #: src/debug_menu.cpp @@ -172958,7 +178865,7 @@ msgstr "適切な手順を経ずに依頼を削除する" #: src/debug_menu.cpp #, c-format -msgid "Drew %d times in %.3f seconds. (%.3f fps average)" +msgid "Drew %d times in %.3f seconds. (%.3f fps average)" msgstr "%d/%.3f秒の描画処理(平均fps %.3f)" #: src/debug_menu.cpp @@ -173110,7 +179017,7 @@ msgstr "通常の風速変化" #: src/debug_menu.cpp #, c-format -msgid "Damage self for how much? hp: %d" +msgid "Damage self for how much? hp: %d" msgstr "自分に与えるダメージ(現在のHP: %d)" #: src/debug_menu.cpp @@ -173147,8 +179054,8 @@ msgid "Set year to?" msgstr "何年に設定しますか?" #: src/debug_menu.cpp -msgid "Set season to? (0 = spring)" -msgstr "季節は何に設定しますか?(0 = 春)" +msgid "Set season to? (0 = spring)" +msgstr "季節を設定(0 = 春)" #: src/debug_menu.cpp msgid "Set days to?" @@ -173164,8 +179071,8 @@ msgstr "何分に設定しますか?" #: src/debug_menu.cpp #, c-format -msgid "Set turn to? (One day is %i turns)" -msgstr "何ターンに設定しますか?(1日は%iターン)" +msgid "Set turn to? (One day is %i turns)" +msgstr "ターンを設定(1日は%iターン)" #: src/debug_menu.cpp msgid "Enter benchmark length (in milliseconds):" @@ -173173,7 +179080,7 @@ msgstr "ベンチマーク時間を入力(ミリ秒): " #: src/debug_menu.cpp msgid "" -"Quit without saving? This may cause issues such as duplicated or missing " +"Quit without saving? This may cause issues such as duplicated or missing " "items and vehicles!" msgstr "セーブせずに終了しますか?アイテムの重複や車両の消失などを引き起こす可能性があります!" @@ -173212,10 +179119,12 @@ msgstr "まず呪文を拾得する必要があります。" msgid "Spell" msgstr "呪文" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "LVL" msgstr "LV" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "MAX" msgstr "最大" @@ -173240,7 +179149,7 @@ msgid "Please wait as the map generates [ 0%% ]" msgstr "マップを生成中です。しばらくお待ち下さい [ 0%%]" #: src/defense.cpp -msgid "A caravan approaches! Press spacebar..." +msgid "A caravan approaches! Press spacebar…" msgstr "隊商が近づいてきました!スペースを押して下さい..." #: src/defense.cpp @@ -173600,7 +179509,7 @@ msgstr "地獄から%sがやって来ました!" #: src/defense.cpp #, c-format -msgid "Beware! %s!" +msgid "Beware! %s!" msgstr "用心しろ!%sだ!" #: src/defense.cpp @@ -173796,7 +179705,7 @@ msgstr "罠: %s(%d)" #: src/editmap.cpp src/game.cpp #, c-format -msgid "There is a %s there. Parts:" +msgid "There is a %s there. Parts:" msgstr "%s / 部品:" #: src/editmap.cpp @@ -174047,8 +179956,8 @@ msgstr "区域生成" #: src/effect.cpp msgid "" -"The scariest thing in the world would be... if all the air in the world " -"turned to WOOD!" +"The scariest thing in the world would be… if all the air in the world turned" +" to WOOD!" msgstr "何が恐ろしいって...この世の空気が全て木になってしまったらと思うと!" #: src/effect.cpp @@ -174065,7 +179974,7 @@ msgid "Science is a liar sometimes." msgstr "科学はたまに嘘つき。" #: src/effect.cpp -msgid "Science is... wait, what was I talking about again?" +msgid "Science is… wait, what was I talking about again?" msgstr "科学は... 待った、何を言ってるんだ?" #: src/effect.cpp @@ -174085,8 +179994,8 @@ msgid "She was a hip, hip, hip lady, man." msgstr "彼女は超、超、超いい女、そうだろ。" #: src/effect.cpp -msgid "You ever see the back of a twenty dollar bill... on weed?" -msgstr "20ドル札の裏を見たことがあるか... 大麻吸いながら?" +msgid "You ever see the back of a twenty dollar bill… on weed?" +msgstr "20ドル札の裏を見たことあるか...大麻吸いながら?" #: src/effect.cpp msgid "" @@ -174099,15 +180008,15 @@ msgid "RED TEAM GO, RED TEAM GO!" msgstr "赤組がんばれ!赤組がんばれ!" #: src/effect.cpp -msgid "You have a sudden urge to flip your bible open to Genesis 1:29..." +msgid "You have a sudden urge to flip your bible open to Genesis 1:29…" msgstr "突然、創世記1章29節を開きたいという耐え難い衝動に襲われました..." #: src/effect.cpp -msgid "That rug really tied the room together..." +msgid "That rug really tied the room together…" msgstr "あの絨毯は本当に部屋にぴったりだ..." #: src/effect.cpp -msgid "I used to do drugs... I still do, but I used to, too." +msgid "I used to do drugs… I still do, but I used to, too." msgstr "ドラッグをやったことはある...今もやってる、でもやったこともある。" #: src/effect.cpp @@ -174116,7 +180025,7 @@ msgstr "ハッパを吸えば自分自身のことがわかる。" #: src/effect.cpp msgid "" -"Okay, like, the scariest thing in the world would be... if like you went to " +"Okay, like, the scariest thing in the world would be… if like you went to " "grab something and it wasn't there!" msgstr "そう、ほら、何が恐ろしいかって...掴みたいものがここに無いことだよな!" @@ -174125,7 +180034,7 @@ msgid "They call them fingers, but I never see them fing." msgstr "連中の名はフィンガーだというが、フィングしてるのを見たことがないぞ。" #: src/effect.cpp -msgid "... oh, there they go." +msgid "…oh, there they go." msgstr "...おお、やってるやってる。" #: src/effect.cpp @@ -174160,7 +180069,7 @@ msgid "Oh, sometimes the early-mid-late-early-morning." msgstr "ああ、たまに朝の早くて中ごろで遅い朝早いうち。" #: src/effect.cpp -msgid "...But never at dusk." +msgid "…But never at dusk." msgstr "...夕暮れ時は絶対にやらない。" #: src/effect.cpp @@ -174172,11 +180081,11 @@ msgid "Man, a cheeseburger sounds SO awesome right now." msgstr "なあ、チーズバーガーってスッゲェいい響きだよな。" #: src/effect.cpp -msgid "Eh... maybe not." +msgid "Eh… maybe not." msgstr "いや...そうでもないか。" #: src/effect.cpp -msgid "I guess, maybe, without the cheese... yeah." +msgid "I guess, maybe, without the cheese… yeah." msgstr "そう、たぶん、チーズが要らないんだな...うん。" #: src/effect.cpp @@ -174335,6 +180244,10 @@ msgstr "抜群" msgid "perfect" msgstr "完璧" +#: src/explosion.cpp +msgid "force of the explosion" +msgstr "爆発の衝撃" + #: src/explosion.cpp msgid "You're caught in the explosion!" msgstr "爆発に巻き込まれました!" @@ -174391,13 +180304,13 @@ msgstr[0] "%s破片が当たり、%s。" #, c-format msgid " is hit by %s bomb fragment, %s." msgid_plural " is hit by %s bomb fragments, %s." -msgstr[0] "は%s破片が当たり、%s。" +msgstr[0] "に%s破片が当たり、%s。" #: src/explosion.cpp #, c-format msgid "The %s is hit by %s bomb fragment, %s." msgid_plural "The %s is hit by %s bomb fragments, %s." -msgstr[0] "%sは%s破片が当たり、%s。" +msgstr[0] "%sに%s破片が当たり、%s。" #: src/explosion.cpp msgid "a huge explosion!" @@ -174682,21 +180595,21 @@ msgid "Press enter to rename this camp" msgstr "エンターキーで拠点の名称変更" #: src/faction.cpp -msgid "Direction : to the " +msgid "Direction: to the " msgstr "位置: " #: src/faction.cpp #, c-format -msgid "Location : (%d, %d)" +msgid "Location: (%d, %d)" msgstr "座標: (%d, %d)" #: src/faction.cpp #, c-format -msgid "Food Supply : %s %d calories" +msgid "Food Supply: %s %d calories" msgstr "食料: %s(%dカロリー)" #: src/faction.cpp -msgid "Next Upgrade : " +msgid "Next Upgrade: " msgstr "次の改良: " #: src/faction.cpp @@ -174709,25 +180622,25 @@ msgid "Press enter to talk to this follower " msgstr "エンターキーで仲間と会話" #: src/faction.cpp -msgid "travelling to : " +msgid "travelling to: " msgstr "移動: " #: src/faction.cpp #, c-format -msgid "travelling to : (%d, %d)" +msgid "travelling to: (%d, %d)" msgstr "移動: (%d, %d)" #: src/faction.cpp -msgid "Current Mission : " +msgid "Current Mission: " msgstr "現在の行動: " #: src/faction.cpp -msgid "Direction : Nearby" -msgstr "位置: 周辺" +msgid "Direction: Nearby" +msgstr "位置: 付近" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d), at camp: %s" +msgid "Location: (%d, %d), at camp: %s" msgstr "座標: (%d, %d)、拠点: %s" #: src/faction.cpp @@ -174759,7 +180672,7 @@ msgid "Within interaction range" msgstr "会話範囲内" #: src/faction.cpp -msgid "Status : " +msgid "Status: " msgstr "状態: " #: src/faction.cpp @@ -174783,7 +180696,11 @@ msgid "Guarding" msgstr "見張り中" #: src/faction.cpp -msgid "Condition : " +msgid "Basecamp job: " +msgstr "拠点の仕事: " + +#: src/faction.cpp +msgid "Condition: " msgstr "体調: " #: src/faction.cpp @@ -174792,28 +180709,28 @@ msgid "Nominal" msgstr "ほんのわずか" #: src/faction.cpp -msgid "Hunger : " +msgid "Hunger: " msgstr "空腹: " #: src/faction.cpp -msgid "Thirst : " +msgid "Thirst: " msgstr "口渇: " #: src/faction.cpp -msgid "Fatigue : " +msgid "Fatigue: " msgstr "疲労: " -#: src/faction.cpp -msgid "Wielding : " +#: src/faction.cpp src/player.cpp +msgid "Wielding: " msgstr "装備: " #: src/faction.cpp -msgid "Best other skills : " +msgid "Best other skills: " msgstr "得意な非戦闘スキル: " #: src/faction.cpp #, c-format -msgid "Best combat skill : %s : %d" +msgid "Best combat skill: %s: %d" msgstr "得意な戦闘スキル: %s(%d)" #: src/faction.cpp @@ -174853,25 +180770,33 @@ msgid "Recover Ally from Upgrading" msgstr "仲間を改良作業から呼び戻す" #: src/faction_camp.cpp -msgid "Busy crafting!\n" -msgstr "忙しそうに製作しています!\n" +msgid "Emergency Recall" +msgstr "緊急帰還" + +#: src/faction_camp.cpp +msgid "Lost in the ether!\n" +msgstr "エーテルの波に飲まれました!\n" #: src/faction_camp.cpp msgid "Craft Item" msgstr "アイテム製作" #: src/faction_camp.cpp -msgid " (Finish) Crafting" -msgstr " (完了) 製作" +msgid "Busy crafting!\n" +msgstr "忙しそうに製作しています!\n" #: src/faction_camp.cpp -msgid "Busy travelling!\n" -msgstr "移動中で手が離せません!\n" +msgid " (Finish) Crafting" +msgstr " (完了) 製作" #: src/faction_camp.cpp msgid "Travelling" msgstr "移動中" +#: src/faction_camp.cpp +msgid "Busy travelling!\n" +msgstr "移動中で手が離せません!\n" + #: src/faction_camp.cpp msgid "Recall ally from travelling" msgstr "仲間を移動から呼び戻す" @@ -174905,7 +180830,7 @@ msgid "Menial Labor" msgstr "単純労働" #: src/faction_camp.cpp -msgid "Performing menial labor...\n" +msgid "Performing menial labor…\n" msgstr "単純作業をこなしています...\n" #: src/faction_camp.cpp @@ -174917,7 +180842,7 @@ msgid "Expand Base" msgstr "拠点の拡張" #: src/faction_camp.cpp -msgid "Surveying for expansion...\n" +msgid "Surveying for expansion…\n" msgstr "拡張に向けた調査をしています...\n" #: src/faction_camp.cpp @@ -174929,7 +180854,7 @@ msgid "Cut Logs" msgstr "丸太の切り出し" #: src/faction_camp.cpp -msgid "Cutting logs in the woods...\n" +msgid "Cutting logs in the woods…\n" msgstr "森の中で丸太を切っています...\n" #: src/faction_camp.cpp @@ -174941,21 +180866,21 @@ msgid "Clear a forest" msgstr "森林の開墾" #: src/faction_camp.cpp -msgid "Clearing a forest...\n" +msgid "Clearing a forest…\n" msgstr "森林を開墾しています...\n" #: src/faction_camp.cpp msgid "Recover Clearcutter" msgstr "森林の開墾から呼び戻す" -#: src/faction_camp.cpp -msgid "Setting up a hide site...\n" -msgstr "簡易シェルターを設置しています...\n" - #: src/faction_camp.cpp msgid "Setup Hide Site" msgstr "簡易シェルターの設置" +#: src/faction_camp.cpp +msgid "Setting up a hide site…\n" +msgstr "簡易シェルターを設置しています...\n" + #: src/faction_camp.cpp msgid "Recover Hide Setup" msgstr "簡易シェルターの設置から呼び戻す" @@ -174965,7 +180890,7 @@ msgid "Relay Hide Site" msgstr "簡易シェルターの物資移動" #: src/faction_camp.cpp -msgid "Transferring gear to a hide site...\n" +msgid "Transferring gear to a hide site…\n" msgstr "簡易シェルターに物資を移送しています...\n" #: src/faction_camp.cpp @@ -175013,7 +180938,7 @@ msgid "Construct Map Fortifications" msgstr "要塞の建設" #: src/faction_camp.cpp -msgid "Constructing fortifications...\n" +msgid "Constructing fortifications…\n" msgstr "要塞を建設しています...\n" #: src/faction_camp.cpp @@ -175073,7 +180998,7 @@ msgid " Chop Shop" msgstr "車両解体" #: src/faction_camp.cpp -msgid "Working at the chop shop...\n" +msgid "Working at the chop shop…\n" msgstr "車両解体の仕事をしています...\n" #: src/faction_camp.cpp @@ -175159,7 +181084,7 @@ msgstr " 後に完了]\n" #: src/faction_camp.cpp src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "Do you wish to bring your allies back into your party?" msgstr "" "\n" @@ -175167,7 +181092,7 @@ msgstr "" "仲間をパーティーに呼び戻しますか?" #: src/faction_camp.cpp -msgid "You choose to wait..." +msgid "You choose to wait…" msgstr "選択を保留しました..." #: src/faction_camp.cpp @@ -175185,10 +181110,10 @@ msgstr "他の拠点と近すぎます!" #: src/faction_camp.cpp msgid "" "Warning, you have selected a region with the following issues:\n" -" \n" +"\n" msgstr "" "注意: 以下の問題がある地域を選択しています\n" -" \n" +"\n" #: src/faction_camp.cpp msgid "There are few forests. Wood is your primary construction material.\n" @@ -175205,11 +181130,11 @@ msgstr "周囲に平野がほとんどありません。農業が困難になる #: src/faction_camp.cpp #, c-format msgid "" -"%s \n" -"Are you sure you wish to continue? " +"%s\n" +"Are you sure you wish to continue?" msgstr "" "%s \n" -"続行しますか? " +"続けますか? " #: src/faction_camp.cpp #, c-format @@ -175229,14 +181154,22 @@ msgstr "、拠点管理人" msgid "%s has abandoned the camp." msgstr "%sは拠点を放棄しました。" +#: src/faction_camp.cpp +msgid " Expansion" +msgstr "拡張" + +#: src/faction_camp.cpp +msgid "Recover Ally, " +msgstr "仲間を呼び戻す: " + #: src/faction_camp.cpp #, c-format msgid "" -"Notes: \n" +"Notes:\n" "Send a companion to gather materials for the next camp upgrade.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "%s\n" "Risk: Very Low\n" @@ -175244,7 +181177,7 @@ msgid "" "Positions: %d/3\n" msgstr "" "メモ: \n" -"拠点の改良に使う資材を集めてきてもらいます。\n" +"キャンプ地の改良に使う資材を集めてきてもらいます。\n" " \n" "使用スキル: サバイバル\n" "難易度: なし\n" @@ -175254,76 +181187,19 @@ msgstr "" "時間: 3時間、連続作業可能\n" "人員: %d/3\n" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" -"Effects:\n" -"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" -" \n" -"Must have enjoyability >= -6\n" -"Perishable food liquidated at penalty depending on upgrades and rot time:\n" -"> Rotten: 0%%\n" -"> Rots in < 2 days: 60%%\n" -"> Rots in < 5 days: 80%%\n" -" \n" -"Total faction food stock: %d kcal\n" -"or %d day's rations" -msgstr "" -"メモ:\n" -"仲間に配給する食料を備蓄します。配給したい食料は「拠点: 配給食料」区域に置きましょう。「拠点: 配給食料」、「分類: 仮置場」、最低でも1種類の「分類」区域が設定されていない場合は、区域管理メニューでそれらを設定するよう警告が表示されます。\n" -"効果:\n" -"> >派閥の食料ステータスが増加します。任務に就いた仲間が配給食料を消費します。\n" -" \n" -"満喫-6以上の食料が必要です\n" -"生鮮食料は、改良の進行と腐敗までの時間によってカロリー減少のペナルティが課されます:\n" -"> 腐敗: カロリーの0%%\n" -"> 2日以内に腐敗: カロリーの60%%\n" -"> 5日以内に腐敗: カロリーの80%%\n" -" \n" -"備蓄量: %dkcal\n" -"(%d日分)" - -#: src/faction_camp.cpp -msgid "Distribute Food" -msgstr "配給食料の備蓄" - -#: src/faction_camp.cpp -msgid "" -"Notes:\n" -"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" -" \n" -"Effects:\n" -"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" -"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" -"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." -msgstr "" -"メモ:\n" -"[単純労働]の任務で移動させるアイテムの置き場所をリセットします。\n" -" \n" -"効果:\n" -"> 区域管理メニューで分類区域を割り当てます。「拠点: 配給食料」、「分類: 仮置場」、最低でも1種類の「分類」区域は必ず設定しなければいけません。\n" -"> 置かれた場所が「分類: 仮置場」であり、かつ他のあらゆる区域と被っていないアイテムのみが、単純労働時に移動されます。\n" -"「分類」区域が設定されていないアイテムは、単純労働時に通常の分類ルールに基づいて移動されます。" - -#: src/faction_camp.cpp -msgid "Reset Sort Points" -msgstr "収拾地点のリセット" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to gather light brush and heavy sticks.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "> heavy sticks\n" "> withered plants\n" "> splintered wood\n" -" \n" +"\n" "Risk: Very Low\n" "Time: 3 Hours, Repeated\n" "Positions: %d/3\n" @@ -175347,9 +181223,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to do low level chores and sort supplies.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Effects:\n" "> Material left in the unsorted loot zone will be sorted into a defined loot zone.\n" "\n" @@ -175369,43 +181245,14 @@ msgstr "" "時間: 3時間\n" "人員: %d/1\n" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" -" \n" -"Skill used: N/A \n" -"Effects:\n" -"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal. \n" -" \n" -"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window. \n" -" \n" -"Risk: None\n" -"Time: 3 Hours \n" -"Positions: %d/1\n" -msgstr "" -"メモ:\n" -"拠点は更なる拡張が可能な程に大きくなりました。拡張すれば新たなチャンスが広がりますが、資材が大量に必要で、時間もかかります。拠点は周囲8方向にしか拡張できないので、何の施設にするか慎重に選びましょう。\n" -" \n" -"使用スキル: 製作\n" -"効果:\n" -"> 拡張地点に建設する施設を選びましょう。食料は仲間の任務に不可欠なことや建設に必要な資材が少ないことを考えると、農場を選ぶのが賢明です。車両修理工場は最小限の投資で大型車両を迅速に解体できる点が便利であり、鍛冶場では木炭生産用の資源が提供されます。\n" -"\n" -"メモ: 拡張した施設での行動や任務は、拠点管理ウィンドウの各タブから選択できます。\n" -"\n" -"危険: なし\n" -"時間: 3時間 \n" -"人員: %d/1\n" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to a nearby forest to cut logs.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 50%% of trees/trunks at the forest position will be cut down.\n" "> 100%% of total material will be brought back.\n" @@ -175434,15 +181281,15 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to a clear a nearby forest.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 95%% of trees/trunks at the forest position will be cut down.\n" "> 0%% of total material will be brought back.\n" "> Forest should become a field tile.\n" "> Useful for clearing land for another faction camp.\n" -" \n" +"\n" "Risk: None\n" "Time: 6 Hour Base + Travel Time + Cutting Time\n" "Positions: %d/1\n" @@ -175467,14 +181314,14 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to build an improvised shelter and stock it with equipment at a distant map location.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Good for setting up resupply or contingency points.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 6 Hour Construction + Travel\n" "Positions: %d/1\n" @@ -175498,14 +181345,14 @@ msgstr "" msgid "" "Notes:\n" "Push gear out to a hide site or bring gear back from one.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 1\n" "Effects:\n" "> Good for returning equipment you left in the hide site shelter.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward or back.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 1 Hour Base + Travel\n" "Positions: %d/1\n" @@ -175529,9 +181376,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to forage for edible plants.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Foraging Possibilities:\n" "> wild vegetables\n" "> fruits and nuts depending on season\n" @@ -175558,9 +181405,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to set traps for small game.\n" -" \n" +"\n" "Skill used: trapping\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Trapping Possibilities:\n" "> small and tiny animal corpses\n" "May produce less food than consumed!\n" @@ -175585,9 +181432,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to hunt large animals.\n" -" \n" +"\n" "Skill used: marksmanship\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Hunting Possibilities:\n" "> small, medium, or large animal corpses\n" "May produce less food than consumed!\n" @@ -175616,14 +181463,14 @@ msgstr "塹壕(スパイク)の建設" msgid "" "Notes:\n" "Send a companion out into the great unknown. High survival skills are needed to avoid combat but you should expect an encounter or two.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Select checkpoints to customize path.\n" "> Reveals terrain around the path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: High\n" "Time: Travel\n" "Positions: %d/3\n" @@ -175647,14 +181494,14 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to purge the wasteland. Their goal is to kill anything hostile they encounter and return when their wounds are too great or the odds are stacked against them.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 4\n" "Effects:\n" "> Pulls creatures encountered into combat instead of fleeing.\n" "> Select checkpoints to customize path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: Very High\n" "Time: Travel\n" "Positions: %d/3\n" @@ -175673,25 +181520,17 @@ msgstr "" "時間: 移動時間\n" "人員: %d/3\n" -#: src/faction_camp.cpp -msgid " Expansion" -msgstr "拡張" - -#: src/faction_camp.cpp -msgid "Recover Ally, " -msgstr "仲間を呼び戻す: " - #: src/faction_camp.cpp msgid "" "Notes:\n" "Have a companion attempt to completely dissemble a vehicle into components.\n" -" \n" +"\n" "Skill used: mechanics\n" "Difficulty: 2 \n" "Effects:\n" "> Removed parts placed on the furniture in the garage.\n" "> Skill plays a huge role to determine what is salvaged.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 days \n" msgstr "" @@ -175711,7 +181550,7 @@ msgstr "" msgid "" "Notes:\n" "Plow any spaces that have reverted to dirt or grass.\n" -" \n" +"\n" msgstr "" "メモ:\n" "荒廃してしまった草地や地面を全て耕します。\n" @@ -175720,13 +181559,13 @@ msgstr "" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: fabrication\n" "Difficulty: N/A \n" "Effects:\n" "> Restores only the plots created in the last expansion upgrade.\n" "> Does not damage existing crops.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 Min / Plot \n" "Positions: 0/1 \n" @@ -175747,7 +181586,7 @@ msgstr "" msgid "" "Notes:\n" "Plant designated seeds in the spaces that have already been tilled.\n" -" \n" +"\n" msgstr "" "メモ:\n" "既に耕されている場所に指定された種を植えます。\n" @@ -175756,14 +181595,14 @@ msgstr "" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Choose which seed type or all of your seeds.\n" "> Stops when out of seeds or planting locations.\n" "> Will plant in ALL dirt mounds in the expansion.\n" -" \n" +"\n" "Risk: None\n" "Time: 1 Min / Plot \n" "Positions: 0/1 \n" @@ -175785,7 +181624,7 @@ msgstr "" msgid "" "Notes:\n" "Harvest any plants that are ripe and bring the produce back.\n" -" \n" +"\n" msgstr "" "メモ:\n" "実った植物を収穫して集めます。\n" @@ -175794,12 +181633,12 @@ msgstr "" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Will dump all harvesting products onto your location.\n" -" \n" +"\n" "Risk: None\n" "Time: 3 Min / Plot \n" "Positions: 0/1 \n" @@ -175816,63 +181655,189 @@ msgstr "" "人員: 0/1 \n" #: src/faction_camp.cpp -msgid "departs to search for materials..." +#, c-format +msgid "" +"Notes:\n" +"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" +"\n" +"Skill used: N/A\n" +"Effects:\n" +"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal.\n" +"\n" +"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window.\n" +"\n" +"Risk: None\n" +"Time: 3 Hours\n" +"Positions: %d/1\n" +msgstr "" +"メモ:\n" +"拠点は更なる拡張が可能な程に大きくなりました。拡張すれば新たなチャンスが広がりますが、資材が大量に必要で、時間もかかります。拠点は周囲8方向にしか拡張できないので、何の施設にするか慎重に選びましょう。\n" +" \n" +"使用スキル: 製作\n" +"効果:\n" +"> 拡張地点に建設する施設を選びましょう。食料は仲間の任務に不可欠なことや建設に必要な資材が少ないことを考えると、農場を選ぶのが賢明です。車両修理工場は最小限の投資で大型車両を迅速に解体できる点が便利であり、鍛冶場では木炭生産用の資源が提供されます。\n" +"\n" +"メモ: 拡張した施設での行動や任務は、拠点管理ウィンドウの各タブから選択できます。\n" +"\n" +"危険: なし\n" +"時間: 3時間 \n" +"人員: %d/1\n" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" +"Effects:\n" +"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" +"\n" +"Must have enjoyability >= -6\n" +"Perishable food liquidated at penalty depending on upgrades and rot time:\n" +"> Rotten: 0%%\n" +"> Rots in < 2 days: 60%%\n" +"> Rots in < 5 days: 80%%\n" +"\n" +"Total faction food stock: %d kcal\n" +"or %d day's rations" +msgstr "" +"メモ:\n" +"仲間に配給する食料を備蓄します。配給したい食料は「拠点: 配給食料」区域に置きましょう。「拠点: 配給食料」、「分類: 仮置場」、最低でも1種類の「分類」区域が設定されていない場合は、区域管理メニューでそれらを設定するよう警告が表示されます。\n" +"効果:\n" +"> >派閥の食料ステータスが増加します。任務に就いた仲間が配給食料を消費します。\n" +" \n" +"満喫-6以上の食料が必要です\n" +"生鮮食料は、改良の進行と腐敗までの時間によってカロリー減少のペナルティが課されます:\n" +"> 腐敗: カロリーの0%%\n" +"> 2日以内に腐敗: カロリーの60%%\n" +"> 5日以内に腐敗: カロリーの80%%\n" +" \n" +"備蓄量: %dkcal\n" +"(%d日分)" + +#: src/faction_camp.cpp +msgid "Distribute Food" +msgstr "配給食料の備蓄" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" +"\n" +"Effects:\n" +"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" +"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" +"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." +msgstr "" +"メモ:\n" +"[単純労働]の任務で移動させるアイテムの置き場所をリセットします。\n" +" \n" +"効果:\n" +"> 区域管理メニューで分類区域を割り当てます。「拠点: 配給食料」、「分類: 仮置場」、最低でも1種類の「分類」区域は必ず設定しなければいけません。\n" +"> 置かれた場所が「分類: 仮置場」であり、かつ他のあらゆる区域と被っていないアイテムのみが、単純労働時に移動されます。\n" +"「分類」区域が設定されていないアイテムは、単純労働時に通常の分類ルールに基づいて移動されます。" + +#: src/faction_camp.cpp +msgid "Reset Sort Points" +msgstr "収拾地点のリセット" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Assign repeating job duties to NPCs stationed here.\n" +"Difficulty: N/A\n" +"Effects:\n" +"\n" +"\n" +"Risk: None\n" +"Time: Ongoing" +msgstr "" +"メモ:\n" +"配置済みのNPCに仕事を繰り返すよう指示します。\n" +"難易度: なし\n" +"効果:\n" +"\n" +"\n" +"危険度: なし\n" +"時間: 進行中" + +#: src/faction_camp.cpp +msgid "Assign Jobs" +msgstr "作業継続" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Cancel a current mission and force the immediate return of a companion. No work will be done on the mission and all resources used on the mission will be lost.\n" +"\n" +"WARNING: All resources used on the mission will be lost and no work will be done. Only use this mission to recover a companion who cannot otherwise be recovered.\n" +"\n" +"Companions must be on missions for at least 24 hours before emergency recall becomes available." +msgstr "" +"メモ:\n" +"仲間が現在行っている作業を即時に中断し、強制的に帰還させます。作業は取り消されますが、作業で使用した物資は失われます。\n" +"\n" +"警告: 作業は取り消され、作業で使用した全ての物資が失われます。他の方法では帰還が困難な仲間を帰還させる場合のみ利用しましょう。\n" +"\n" +"緊急帰還が利用可能になるには、その仲間が少なくとも24時間以上作業を行っている必要があります。" + +#: src/faction_camp.cpp +msgid "departs to survey land…" +msgstr "は周辺調査に向かいました..." + +#: src/faction_camp.cpp +msgid "departs to search for materials…" msgstr "は資材の収集に向かいました..." #: src/faction_camp.cpp -msgid "departs to search for firewood..." +msgid "departs to search for firewood…" msgstr "は焚き木の収集に向かいました...." #: src/faction_camp.cpp -msgid "returns from working in the woods..." +msgid "returns from working in the woods…" msgstr "が木こりの作業を終えて戻ってきました..." #: src/faction_camp.cpp -msgid "returns from working on the hide site..." +msgid "returns from working on the hide site…" msgstr "が簡易シェルターでの作業を終えて戻ってきました..." #: src/faction_camp.cpp -msgid "returns from shuttling gear between the hide site..." -msgstr "が簡易シェルターの物資移動作業から戻ってきました..." +msgid "returns from shuttling gear between the hide site…" +msgstr "が簡易シェルターの物資移送作業から戻ってきました..." #: src/faction_camp.cpp -msgid "departs to search for edible plants..." +msgid "departs to search for edible plants…" msgstr "は食用植物の採集に向かいました..." #: src/faction_camp.cpp -msgid "departs to set traps for small animals..." +msgid "departs to set traps for small animals…" msgstr "は小動物の罠猟に向かいました..." #: src/faction_camp.cpp -msgid "departs to hunt for meat..." +msgid "departs to hunt for meat…" msgstr "は狩猟に向かいました..." #: src/faction_camp.cpp -msgid "departs to search for recruits..." +msgid "departs to search for recruits…" msgstr "は新たな仲間探しに向かいました..." #: src/faction_camp.cpp -msgid "departs to survey land..." -msgstr "は周辺調査に向かいました..." - -#: src/faction_camp.cpp -msgid "returns to you with something..." +msgid "returns to you with something…" msgstr "が何かを持って戻ってきました..." #: src/faction_camp.cpp -msgid "returns from your farm with something..." +msgid "returns from your farm with something…" msgstr "が何かを持って農場から戻ってきました..." #: src/faction_camp.cpp -msgid "returns from your kitchen with something..." +msgid "returns from your kitchen with something…" msgstr "が何かを持って調理場から戻ってきました..." #: src/faction_camp.cpp -msgid "returns from your blacksmith shop with something..." +msgid "returns from your blacksmith shop with something…" msgstr "が何かを持って鍛冶場から戻ってきました..." #: src/faction_camp.cpp -msgid "returns from your garage..." +msgid "returns from your garage…" msgstr "が車両修理工場から戻ってきました..." #: src/faction_camp.cpp @@ -175880,13 +181845,30 @@ msgid "You don't have enough food stored to feed your companion." msgstr "仲間が十分に食べていけるだけの食料を蓄えていません。" #: src/faction_camp.cpp -msgid "begins to upgrade the camp..." +msgid "begins to upgrade the camp…" msgstr "は拠点の改良作業を開始しました..." #: src/faction_camp.cpp msgid "You don't have the materials for the upgrade." msgstr "改良に使う資材がありません。" +#: src/faction_camp.cpp +msgid "There are no npcs stationed here" +msgstr "NPCが配置されていません" + +#: src/faction_camp.cpp src/npc.cpp +msgid "No particular job" +msgstr "任務がありません" + +#: src/faction_camp.cpp +#, c-format +msgid "Press %s to change this workers job." +msgstr "%sを押して仕事を変更する。" + +#: src/faction_camp.cpp +msgid "Assign which job?" +msgstr "割り当てる仕事を選択" + #: src/faction_camp.cpp #, c-format msgid "%s goes off to clean toilets and sort loot." @@ -175906,7 +181888,7 @@ msgstr "" "%s" #: src/faction_camp.cpp -msgid "departs to cut logs..." +msgid "departs to cut logs…" msgstr "は木こりの作業に向かいました..." #: src/faction_camp.cpp @@ -175914,7 +181896,7 @@ msgid "Forests are the only valid cutting locations." msgstr "開墾は森林の地形以外ではできません。" #: src/faction_camp.cpp -msgid "departs to clear a forest..." +msgid "departs to clear a forest…" msgstr "は森林の開墾に向かいました..." #: src/faction_camp.cpp @@ -175926,12 +181908,12 @@ msgid "Do you wish to give your companion additional items?" msgstr "仲間にアイテムを置いてきてもらいますか?" #: src/faction_camp.cpp -msgid "departs to build a hide site..." +msgid "departs to build a hide site…" msgstr "は簡易シェルターの設置作業に向かいました..." #: src/faction_camp.cpp -msgid "You need equipment to setup a hide site..." -msgstr "簡易シェルターを設置するための装備が必要です..." +msgid "You need equipment to setup a hide site…" +msgstr "簡易シェルターを設置するための道具が必要です..." #: src/faction_camp.cpp msgid "You must select an existing hide site." @@ -175942,12 +181924,12 @@ msgid "Bring gear back?" msgstr "物資を回収しますか?" #: src/faction_camp.cpp -msgid "departs for the hide site..." +msgid "departs for the hide site…" msgstr "は簡易シェルターに向かいました..." #: src/faction_camp.cpp -msgid "You need equipment to transport between the hide site..." -msgstr "簡易シェルターから運んでくるアイテムがありません。" +msgid "You need equipment to transport between the hide site…" +msgstr "簡易シェルターから移送するアイテムがありません。" #: src/faction_camp.cpp msgid "" @@ -175974,7 +181956,7 @@ msgid "You don't have the material to build the fortification." msgstr "要塞建設に使う資材がありません。" #: src/faction_camp.cpp -msgid "begins constructing fortifications..." +msgid "begins constructing fortifications…" msgstr "は要塞の建設を開始しました..." #: src/faction_camp.cpp @@ -175984,7 +181966,7 @@ msgid "" msgstr "範囲の上限に達するまで調査ポイントを選択するか、最後に選択したポイントを再度選択することで終了します。" #: src/faction_camp.cpp -msgid "departs on patrol..." +msgid "departs on patrol…" msgstr "は巡回に向かいました..." #: src/faction_camp.cpp @@ -176001,31 +181983,31 @@ msgid "Your batch is too large!" msgstr "量が多すぎます!" #: src/faction_camp.cpp -msgid "begins to work..." +msgid "begins to work…" msgstr "は作業を開始しました..." #: src/faction_camp.cpp -msgid "+ more \n" -msgstr "+ 追加 \n" +msgid "+ more\n" +msgstr "...など\n" #: src/faction_camp.cpp -msgid "begins to harvest the field..." +msgid "begins to harvest the field…" msgstr "は収穫作業を開始しました..." #: src/faction_camp.cpp -msgid "You have no additional seeds to give your companions..." -msgstr "もう渡せる種がありません..." +msgid "You have no additional seeds to give your companions…" +msgstr "これ以上渡せる種がありません..." #: src/faction_camp.cpp src/mission_companion.cpp msgid "Which seeds do you wish to have planted?" msgstr "どの種を植える?" #: src/faction_camp.cpp -msgid "begins planting the field..." +msgid "begins planting the field…" msgstr "は種を植える作業を開始しました..." #: src/faction_camp.cpp -msgid "begins plowing the field..." +msgid "begins plowing the field…" msgstr "は土地を耕す作業を開始しました..." #: src/faction_camp.cpp @@ -176038,12 +182020,16 @@ msgstr "" "%s" #: src/faction_camp.cpp -msgid "begins working in the garage..." +msgid "begins working in the garage…" msgstr "は車両修理工場での作業を開始しました..." #: src/faction_camp.cpp -msgid "Your companion seems disappointed that your pantry is empty..." -msgstr "食料貯蔵庫が空だったので、仲間はがっかりしているようです..." +msgid "Your companion seems disappointed that your pantry is empty…" +msgstr "配給がなかったので仲間はがっかりしているようです..." + +#: src/faction_camp.cpp +msgid "responds to the emergency recall…" +msgstr "は緊急帰還の指示に従いました..." #: src/faction_camp.cpp #, c-format @@ -176051,11 +182037,11 @@ msgid "%s failed to build the %s upgrade." msgstr "%sは%sの改良に失敗しました。" #: src/faction_camp.cpp -msgid "returns from upgrading the camp having earned a bit of experience..." +msgid "returns from upgrading the camp having earned a bit of experience…" msgstr "が多少の経験を積んで拠点の改良作業から戻ってきました..." #: src/faction_camp.cpp -msgid "returns from doing the dirty work to keep the camp running..." +msgid "returns from doing the dirty work to keep the camp running…" msgstr "は拠点の運営に必要な単純作業から帰ってきました..." #: src/faction_camp.cpp @@ -176076,53 +182062,53 @@ msgstr "狩猟" #: src/faction_camp.cpp #, c-format -msgid "returns from %s carrying supplies and has a bit more experience..." +msgid "returns from %s carrying supplies and has a bit more experience…" msgstr "は多少の経験を積み、%sを終えて帰還しました..." #: src/faction_camp.cpp -msgid "returns from constructing fortifications..." +msgid "returns from constructing fortifications…" msgstr "が要塞の建設から戻ってきました..." #: src/faction_camp.cpp -msgid "returns from searching for recruits with a bit more experience..." +msgid "returns from searching for recruits with a bit more experience…" msgstr "が多少の経験を積み、仲間集めの仕事を終えて戻ってきました..." #: src/faction_camp.cpp #, c-format -msgid "%s encountered %s..." +msgid "%s encountered %s…" msgstr "%sは%sに遭遇しました..." #: src/faction_camp.cpp #, c-format -msgid "%s didn't find anyone to recruit..." +msgid "%s didn't find anyone to recruit…" msgstr "%sは仲間を見つけられませんでした..." #: src/faction_camp.cpp #, c-format -msgid "%s convinced %s to hear a recruitment offer from you..." -msgstr "%sは仲間になってほしいという%sの話を聞いて信用しました。" +msgid "%s convinced %s to hear a recruitment offer from you…" +msgstr "%sは仲間になってほしいという%sの話を信用しました。" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested in anything %s had to offer..." +msgid "%s wasn't interested in anything %s had to offer…" msgstr "%sは%sから話を聞きましたが、興味をそそられなかったようです..." #: src/faction_camp.cpp msgid "" "NPC Overview:\n" -" \n" +"\n" msgstr "" "NPC概要:\n" -" \n" +"\n" #: src/faction_camp.cpp #, c-format msgid "" -"Name: %20s\n" -" \n" +"Name: %s\n" +"\n" msgstr "" -"名前: %20s\n" -" \n" +"名前: %s\n" +"\n" #: src/faction_camp.cpp #, c-format @@ -176143,10 +182129,10 @@ msgstr "知性: %10d\n" #, c-format msgid "" "Perception: %10d\n" -" \n" +"\n" msgstr "" "感覚: %10d\n" -" \n" +"\n" #: src/faction_camp.cpp msgid "Top 3 Skills:\n" @@ -176160,28 +182146,28 @@ msgstr "要求:\n" #, c-format msgid "" "> Food: %10d days\n" -" \n" +"\n" msgstr "" "> 食料: %10d 日分\n" -" \n" +"\n" #: src/faction_camp.cpp #, c-format msgid "" "Faction Food:%9d days\n" -" \n" +"\n" msgstr "" "備蓄食料:%9d 日分\n" -" \n" +"\n" #: src/faction_camp.cpp #, c-format msgid "" "Recruit Chance: %10d%%\n" -" \n" +"\n" msgstr "" -"加入確率: %10d%%\n" -" \n" +"勧誘確率: %10d%%\n" +"\n" #: src/faction_camp.cpp msgid "Select an option:" @@ -176204,7 +182190,7 @@ msgid "Not Interested" msgstr "仲間に誘わない" #: src/faction_camp.cpp -msgid "You decide you aren't interested..." +msgid "You decide you aren't interested…" msgstr "お引き取り願いました..." #: src/faction_camp.cpp @@ -176214,26 +182200,25 @@ msgstr "%sは仲間に加わることにしました!" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested..." +msgid "%s wasn't interested…" msgstr "%sは興味がないようです..." #: src/faction_camp.cpp -msgid "Your companion hit a river and didn't know how to swim..." +msgid "Your companion hit a river and didn't know how to swim…" msgstr "仲間が川に差し掛かりましたが、泳ぎ方を知りませんでした..." #: src/faction_camp.cpp msgid "" -"Your companion hit a river and didn't know how to swim well enough to " -"cross..." +"Your companion hit a river and didn't know how to swim well enough to cross…" msgstr "仲間は川に差し掛かりましたが、渡り切れるほど泳ぎが上手くありませんでした..." #: src/faction_camp.cpp #, c-format -msgid "%s didn't return from patrol..." +msgid "%s didn't return from patrol…" msgstr "%sは巡回から戻って来ませんでした..." #: src/faction_camp.cpp -msgid "returns from patrol..." +msgid "returns from patrol…" msgstr "は巡回から戻ってきました..." #: src/faction_camp.cpp @@ -176273,7 +182258,7 @@ msgid "returns from surveying for the expansion." msgstr "は拠点拡張のための調査から戻ってきました。" #: src/faction_camp.cpp -msgid "returns from working your fields... " +msgid "returns from working your fields…" msgstr "は野外での作業から戻ってきました..." #: src/faction_camp.cpp @@ -176334,27 +182319,27 @@ msgstr ">舗装路: %15d (m)\n" #: src/faction_camp.cpp #, c-format -msgid ">Travel: %23s\n" -msgstr ">移動時間: %23s\n" +msgid ">Travel: %s\n" +msgstr ">移動: %s\n" #: src/faction_camp.cpp #, c-format -msgid ">Working: %23s\n" -msgstr ">作業時間: %23s\n" +msgid ">Working: %s\n" +msgstr ">作業: %s\n" #: src/faction_camp.cpp #, c-format -msgid "Total: %23s\n" -msgstr "合計: %23s\n" +msgid "Total: %s\n" +msgstr "合計: %s\n" #: src/faction_camp.cpp #, c-format msgid "" "Food: %15d (kcal)\n" -" \n" +"\n" msgstr "" "食料: %15d (kcal)\n" -" \n" +"\n" #: src/faction_camp.cpp #, c-format @@ -176374,16 +182359,16 @@ msgstr "" msgid "" "Notes:\n" "Recruiting additional followers is very dangerous and expensive. The outcome is heavily dependent on the skill of the companion you send and the appeal of your base.\n" -" \n" +"\n" "Skill used: speech\n" -"Difficulty: 2 \n" +"Difficulty: 2\n" "Base Score: +%3d%%\n" "> Expansion Bonus: +%3d%%\n" "> Faction Bonus: +%3d%%\n" "> Special Bonus: +%3d%%\n" -" \n" +"\n" "Total: Skill +%3d%%\n" -" \n" +"\n" "Risk: High\n" "Time: 4 Days\n" "Positions: %d/1\n" @@ -176418,8 +182403,8 @@ msgstr "耕地が必要: " #: src/faction_camp.cpp #, c-format -msgid "Name: %25s\n" -msgstr "名前: %25s\n" +msgid "Name: %s\n" +msgstr "名前: %s\n" #: src/faction_camp.cpp msgid "---- Engines ----\n" @@ -176427,8 +182412,8 @@ msgstr "---- エンジン ----\n" #: src/faction_camp.cpp #, c-format -msgid "Engine: %25s\n" -msgstr "エンジン: %25s\n" +msgid "Engine: %s\n" +msgstr "動力: %s\n" #: src/faction_camp.cpp #, c-format @@ -176437,8 +182422,8 @@ msgstr ">状態: %24d%%\n" #: src/faction_camp.cpp #, c-format -msgid ">Fuel: %25s\n" -msgstr ">燃料: %25s\n" +msgid ">Fuel: %s\n" +msgstr ">燃料: %s\n" #: src/faction_camp.cpp msgid "---- Fuel Storage & Battery ----\n" @@ -176449,11 +182434,11 @@ msgid "Estimated Chop Time: 5 Days\n" msgstr "推定分解時間: 5日\n" #: src/faction_camp.cpp -msgid "You do not have a camp food zone. Aborting..." +msgid "You do not have a camp food zone. Aborting…" msgstr "「拠点: 配給食料」区域がありません。作業を中止します..." #: src/faction_camp.cpp -msgid "No items are located at the drop point..." +msgid "No items are located at the drop point…" msgstr "収集地点にアイテムがありません..." #: src/faction_camp.cpp @@ -176463,7 +182448,7 @@ msgstr "%dkcal分の食料を仲間に配給しました。" #: src/faction_camp.cpp #, c-format -msgid "While %s, a silent specter approaches %s..." +msgid "While %s, a silent specter approaches %s…" msgstr "%s中の%sに、恐ろしい化け物が忍び寄ります..." #: src/faction_camp.cpp @@ -176495,7 +182480,7 @@ msgstr "%sが待ち伏せに気づいたときは全てが手遅れでした!" #: src/faction_camp.cpp #, c-format -msgid "The bull moose charged %s from the tree line..." +msgid "The bull moose charged %s from the tree line…" msgstr "オスのヘラジカが木の陰から%sに襲い掛かりました..." #: src/faction_camp.cpp @@ -176514,12 +182499,12 @@ msgstr "ジャバウォックが背後から%sを掴み、叫び声を上げま #, c-format msgid "" "Terrified, %s spun around and delivered a massive kick to the creature's " -"torso..." +"torso…" msgstr "%sは恐怖にかられながらも、化け物の胴体に鋭い蹴りを喰らわせました..." #: src/faction_camp.cpp #, c-format -msgid "Collapsing into a pile of gore, %s walked away unscathed..." +msgid "Collapsing into a pile of gore, %s walked away unscathed…" msgstr "傷一つ負わず血の海でうずくまっていた%sは、やがてその場を離れました..." #: src/faction_camp.cpp @@ -176530,7 +182515,7 @@ msgstr "[この世の物とは思えない音。何が起きたのか全く想 #, c-format msgid "" "%s turned to find the hideous black eyes of a giant wasp staring back from " -"only a few feet away..." +"only a few feet away…" msgstr "%sが振り返ると、ほんの数フィート離れた地点から、巨大なハチがぞっとするような黒い瞳でこちらを見つめていました..." #: src/faction_camp.cpp @@ -176543,7 +182528,7 @@ msgid "Pieces of %s were found strewn across a few bushes." msgstr "%sの身体の一部が、周囲の茂みに飛び散っていました。" #: src/faction_camp.cpp -msgid "(You wonder if your companions are fit to work on their own...)" +msgid "(You wonder if your companions are fit to work on their own…)" msgstr "(もっと向いている仕事を与えていれば、と思わずにはいられません...)" #: src/fungal_effects.cpp src/iuse.cpp @@ -176577,7 +182562,7 @@ msgid "Loading core data" msgstr "コアデータ読み込み中" #: src/game.cpp -msgid "Please wait while the world data loads..." +msgid "Please wait while the world data loads…" msgstr "世界を読み込んでいます。少々お待ちください..." #: src/game.cpp src/start_location.cpp @@ -176614,7 +182599,7 @@ msgstr "世界データの削除" #: src/game.cpp #, c-format -msgid "World retained. Characters remaining:%s" +msgid "World retained. Characters remaining:%s" msgstr "世界が保存されました。残っているキャラクター:%s" #: src/game.cpp @@ -176623,7 +182608,7 @@ msgid "The %s is dangerously close!" msgstr "%sが至近距離に迫っています!" #: src/game.cpp -msgid "Wait till you wake up..." +msgid "Wait till you wake up…" msgstr "睡眠中..." #: src/game.cpp @@ -176799,7 +182784,7 @@ msgid "You are not wielding a ranged weapon." msgstr "遠距離武器を装備していません。" #: src/game.cpp -msgid "Watch the last moments of your life...?" +msgid "Watch the last moments of your life…?" msgstr "人生の最後の瞬間を眺めますか...?" #: src/game.cpp @@ -176849,14 +182834,14 @@ msgid "Failed to save game data" msgstr "ゲームデータのセーブに失敗しました。" #: src/game.cpp -msgid " You are forgotten among the billions lost in the cataclysm..." +msgid " You are forgotten among the billions lost in the cataclysm…" msgstr " あなたは大変動で失われた数多の命の一つとして忘れ去られた..." #: src/game.cpp msgid "" " Locked in an endless battle, the Old Guard was forced to consolidate " "their resources in a handful of fortified bases along the coast. Without " -"the men or material to rebuild, the soldiers that remained lost all hope..." +"the men or material to rebuild, the soldiers that remained lost all hope…" msgstr "" " " "終わりの見えない戦いによって膠着状態に陥ったオールドガードは、わずかに残った海岸沿いの要塞基地に資源を集約せざるを得なくなった。部隊を立て直す人員や物資が尽きれば、生き残った兵士たちの希望も潰えるだろう..." @@ -176869,17 +182854,17 @@ msgid "" "success. Forced to eventually consolidate to large bases, the Old Guard " "left these facilities in the hands of the few survivors that remained. As " "the years past, little materialized from the hopes of rebuilding " -"civilization..." +"civilization…" msgstr "" " " -"大変動後、生存者たち一人ひとりの強い意志は、栄光も過ぎ去り荒れ果ててしまった合衆国に残された原動力となった。小さな成功が積み重なり、設備を取り戻す作戦は幾度も成功を収めた。やがて大規模拠点に集結することになったオールドガードは、生き残った数人の生存者たちに拠点の設備を託した。年月は過ぎ、文明復興の希望は少しずつ実現されようとしている..." +"大変動後、生存者たち一人ひとりの強い意志は、栄光も過ぎ去り荒れ果ててしまった合衆国に残された原動力となった。小さな成功が積み重なり、設備を取り戻す作戦は立て続けに成功した。やがて大規模拠点に集結することになったオールドガードは、生き残った数人の生存者たちに拠点の設備を託した。年月は過ぎ、文明復興の希望は少しずつ実現されようとしている..." #: src/game.cpp msgid "" " Life in the refugee shelter deteriorated as food shortages and disease " "destroyed any hope of maintaining a civilized enclave. The merchants and " "craftsmen dispersed to found new colonies but most became victims of " -"marauding bandits. Those who survived never found a place to call home..." +"marauding bandits. Those who survived never found a place to call home…" msgstr "" " " "わずかに残った文明的な人々の希望は食料不足や疫病によって打ち砕かれ、避難所での生活状況は悪化するばかりだった。新たな居留地を探すため商人と技術者が各地に旅立ったが、ほとんどが盗賊の犠牲になった。生き残った者たちも、帰る家と呼べるような場所は見つけられなかった..." @@ -176890,10 +182875,10 @@ msgid "" "once profitable trade routes were plundered by bandits and thugs. In " "squalor and filth the first generations born after the cataclysm are told " "stories of the old days when food was abundant and the children were allowed" -" to play in the sun..." +" to play in the sun…" msgstr "" " " -"自由商人たちは苦心しながら商品の供給を数年間続けてきたが、収益性の高い取引ルートは盗賊や殺し屋に奪われてしまった。大変動後に生まれた最初の世代は、腐敗と堕落にまみれたこの世界で、食べ物が豊富にあり子供たちが太陽の下で遊んでいたという、かつての世界の物語を聞いていた..." +"自由商人たちは苦心しながら商品の供給を数年間続けてきたが、収益性の高い取引ルートは盗賊や殺し屋に奪われてしまった。腐敗と堕落にまみれた世界で、大変動後に生まれた最初の世代は、食べ物が豊富にあり子供たちが太陽の下で遊んでいたというかつての世界の物語を聞いた..." #: src/game.cpp msgid "" @@ -176921,7 +182906,7 @@ msgid "" " The lone bands of survivors who wandered the now alien world dwindled in" " number through the years. Unable to compete with the growing number of " "monstrosities that had adapted to live in their world, those who did survive" -" lived in dejected poverty and hopelessness..." +" lived in dejected poverty and hopelessness…" msgstr "" " " "異常な世界を彷徨う孤独な生存者の一団は、数年後には数えきれないほどに増えていた。先の見えない貧困と絶望の中を生き延びる者にとって、この世界に適応し始めた膨大な数の怪物に対処する方法は、放浪生活以外に無かった..." @@ -176933,10 +182918,10 @@ msgid "" "old world. Enormous hordes made cities impossible to enter while new " "eldritch horrors appeared mysteriously near old research labs. But on the " "fringes of where civilization once ended, bands of hunter-gatherers began to" -" adopt agrarian lifestyles in fortified enclaves..." +" adopt agrarian lifestyles in fortified enclaves…" msgstr "" " " -"大変動直後に現れたスカベンジャーたちは、その後も旧世界の機械の再発明と整備に一層力を入れた。大規模な怪物の群れによって都市部は壊滅し、放棄された研究所の付近では超自然的な化け物が新たに発生していた。一方で、文明が潰えた辺境の地で狩猟と採集によって生き延びた集団は、要塞化した領土で農耕生活を送るようになった..." +"大変動直後に現れたスカベンジャーたちは、その後も旧世界の機械の再発明と整備に一層力を入れた。大規模な怪物の群れによって都市部は壊滅し、放棄された研究所の付近では超自然的な化け物が新たに発生していた。一方、文明が潰えた辺境の地で狩猟と採集によって生き延びた集団は、要塞化した領土で農耕生活を送るようになった..." #: src/game.cpp msgid "" @@ -176957,10 +182942,10 @@ msgid "" "brought the warlords abundant territory and slaves but little in the way of " "stability. Within weeks, infighting led to civil war as tribes vied for " "leadership of the faction. When only one warlord finally secured control, " -"there was nothing left to fight for... just endless cities full of the dead." +"there was nothing left to fight for… just endless cities full of the dead." msgstr "" " " -"薬物と暴虐によって突き進むヘルレイダーは、オールドガードの最後の拠点に総攻撃を仕掛けて打ち倒した。多くの犠牲を出して勝ち取った勝利は豊富な領土と奴隷をもたらしたが、平穏な日々が訪れることはなかった。数週間後には、派閥内の指導者争いがきっかけとなり内乱が勃発した。最終的に一人の指導者が支配権を手にしたが、支配する物は何一つ残っておらず...死で満たされた街が延々と広がっているだけだった。" +"薬物と暴虐によって突き進むヘルレイダーは、オールドガードの最後の拠点に総攻撃を仕掛けて打ち倒した。多くの犠牲を出して勝ち取った勝利は豊富な領土と奴隷をもたらしたが、平穏な日々が訪れることはなかった。数週間後には、派閥内の指導者争いがきっかけとなり内乱が勃発した。最終的に一人の指導者が支配権を手にしたが、支配するものは何一つ残っておらず...死で満たされた街が延々と広がっているだけだった。" #: src/game.cpp #, c-format @@ -177136,13 +183121,6 @@ msgid "" "increased by %s." msgstr "警告: 患者が負傷しています。手術の難易度が%s増加します。" -#: src/game.cpp -#, c-format -msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " -"anyway?" -msgstr "警告: %i%の確率で全身に重篤なダメージを受けます。続行しますか?" - #: src/game.cpp msgid "Successfully removed Personality override." msgstr "人格無効化装置の除去に成功しました。" @@ -177285,8 +183263,8 @@ msgid "Never mind" msgstr "なんでもない" #: src/game.cpp src/npctalk.cpp -msgid "You may be attacked! Proceed?" -msgstr "攻撃される可能性があります!続行しますか?" +msgid "You may be attacked! Proceed?" +msgstr "攻撃される可能性があります!続けますか?" #: src/game.cpp msgid "Examine where?" @@ -177472,12 +183450,12 @@ msgid "There's something there, but you can't see what it is." msgstr "何かありますが、よく見えません。" #: src/game.cpp -msgid "More items here..." +msgid "More items here…" msgstr "まだアイテムがあります..." #: src/game.cpp #, c-format -msgctxt "%s is the name of the item. %d is the quantity of that item." +msgctxt "%s is the name of the item. %d is the quantity of that item." msgid "%s [%d]" msgstr "%s [%d]" @@ -177775,7 +183753,7 @@ msgstr "" #: src/game.cpp msgid "You can't butcher while driving!" -msgstr "運転中には捌けません!" +msgstr "運転中は解体できません!" #: src/game.cpp msgid "You don't have a butchering tool." @@ -177795,8 +183773,8 @@ msgstr "全てのアイテムを分解できる道具を持っていません。 #: src/game.cpp #, c-format -msgid "You see %s nearby! Start butchering anyway?" -msgstr "近くに%sがいるのが見えます!それでも解体を行いますか?" +msgid "You see %s nearby! Start butchering anyway?" +msgstr "近くに%sが見えます!それでも解体を行いますか?" #: src/game.cpp msgid "Choose corpse to butcher / item to disassemble" @@ -177832,7 +183810,7 @@ msgstr "気分が落ち込んでおり、作業を始めようとする気分に #: src/game.cpp src/iuse.cpp src/iuse.cpp src/iuse.cpp src/veh_interact.cpp #: src/veh_interact.cpp #, c-format -msgid "%s helps with this task..." +msgid "%s helps with this task…" msgstr "%sが作業を手伝ってくれました..." #: src/game.cpp @@ -177892,7 +183870,7 @@ msgstr "%sに装填するには最低でも1つの%sが必要です!" msgid "The %s is already full!" msgstr "%sにはこれ以上装填できません!" -#: src/game.cpp +#: src/game.cpp src/ranged.cpp #, c-format msgid "You can't reload a %s!" msgstr "%sには装填できません!" @@ -177917,13 +183895,6 @@ msgstr "抜き取るアイテムを持っていません。" msgid "You're not wielding anything." msgstr "何も装備していません。" -#. ~ %1$s: weapon name, %2$s: holster name -#: src/game.cpp src/player.cpp -#, c-format -msgctxt "holster" -msgid "Draw %1$s from %2$s?" -msgstr "%1$sを%2$sから抜き取りますか?" - #: src/game.cpp #, c-format msgid "There's an angry red dot on your body, %s to brush it off." @@ -177946,9 +183917,9 @@ msgstr "または、%sでモンスターをホワイトリストに登録" #: src/game.cpp #, c-format msgid "" -"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " +"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " "monster%4$s)" -msgstr "%1$sを発見しました-セーフモードを有効化します!(%2$sで無効、%3$sで対象から除外%4$s)" +msgstr "%1$sを発見しました--セーフモードを有効化します!(%2$sで無効、%3$sで対象から除外%4$s)" #: src/game.cpp #, c-format @@ -177987,9 +183958,13 @@ msgstr "本当に%sに踏み込みますか?" msgid "Your %s refuses to move over that ledge!" msgstr "%sはそちらへ向かうのを拒否しています!" -#: src/game.cpp src/player.cpp src/player.cpp -msgid "You let go of the grabbed object." -msgstr "掴んでいたものを離しました。" +#: src/game.cpp +msgid "You can't fit there." +msgstr "ここはあなたには適しません。" + +#: src/game.cpp +msgid "Your mount can't fit there." +msgstr "ここは騎乗動物には適しません。" #: src/game.cpp msgid "Can't find grabbed object." @@ -178145,11 +184120,15 @@ msgid "" "There are vehicle controls here but you cannot reach them whilst mounted." msgstr "車両制御装置かありますが、騎乗中は手が届きません。" +#: src/game.cpp +msgid "You are repelled by the barrier!" +msgstr "障壁に押し返されました!" + #: src/game.cpp msgid "" -"You try to quantum tunnel through the barrier but are reflected! Try again " +"You try to quantum tunnel through the barrier but are reflected! Try again " "with more energy!" -msgstr "量子トンネルで障壁の通過を試みましたが弾き返されました!もっとエネルギーを貯めてから試して下さい。" +msgstr "量子トンネルで障壁の通過を試みましたが弾き返されました!もっと電力を貯めてから試しましょう。" #: src/game.cpp msgid "It's too dangerous to tunnel that far!" @@ -178178,6 +184157,16 @@ msgstr "重い%sを動かそうとして体に痛みが走りました!" msgid "There's stuff in the way." msgstr "邪魔なものがあって移動できません。" +#: src/game.cpp +#, c-format +msgid "The %s is really heavy!" +msgstr "%sは非常に重いです!" + +#: src/game.cpp +#, c-format +msgid "You fail to move the %s." +msgstr "%sの移動に失敗しました。" + #: src/game.cpp #, c-format msgid "The %s is too heavy for you to budge." @@ -178232,7 +184221,7 @@ msgstr "%sを登る" #: src/game.cpp #, c-format -msgid "You try to use the stairs. Suddenly you are blocked by a %s!" +msgid "You try to use the stairs. Suddenly you are blocked by a %s!" msgstr "階段を登ろうとして、突然%sに阻まれました!" #: src/game.cpp @@ -178322,14 +184311,14 @@ msgstr "すさまじい熱気が溢れ出しています。半分溶けかけた #: src/game.cpp msgid "You may be unable to return back down these stairs. Continue up?" -msgstr "この階段を降りると帰って来られない可能性があります。続行しますか?" +msgstr "この階段を降りると戻って来られない可能性があります。続けますか?" #: src/game.cpp msgid "Halfway down, the way down becomes blocked off." msgstr "道が途中でふさがっています。" #: src/game.cpp -msgid "There is a sheer drop halfway down. Web-descend?" +msgid "There is a sheer drop halfway down. Web-descend?" msgstr "切り立った急な斜面があります。クモ糸を使って降りますか?" #: src/game.cpp @@ -178347,7 +184336,7 @@ msgid "There is a sheer drop halfway down. Use your vines to descend?" msgstr "切り立った急な斜面があります。蔦を使って降りますか?" #: src/game.cpp -msgid "Detach a vine? It'll hurt, but you'll be able to climb back up..." +msgid "Detach a vine? It'll hurt, but you'll be able to climb back up…" msgstr "蔦を切り離しますか?負傷しますが、帰り道は確保できそうです..." #: src/game.cpp @@ -178364,12 +184353,12 @@ msgid "" msgstr "たやすく斜面を降り、後で使うために固定した蔓を残しておきました。" #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your grappling hook down?" +msgid "There is a sheer drop halfway down. Climb your grappling hook down?" msgstr "切り立った急な斜面があります。フック付きロープを使って登りますか?" #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your rope down?" -msgstr "切り立った急な斜面があります。ロープを降ろしますか?" +msgid "There is a sheer drop halfway down. Climb your rope down?" +msgstr "切り立った急な斜面があります。ロープを使って降りますか?" #: src/game.cpp msgid "There is a sheer drop halfway down. Jump?" @@ -178430,7 +184419,7 @@ msgstr "%sに押し戻されました!" #: src/game.cpp #, c-format -msgid "The %s tried to push you back but failed! It attacks you!" +msgid "The %s tried to push you back but failed! It attacks you!" msgstr "%sはあなたを押し戻そうとして失敗し、襲い掛かってきました!" #: src/game.cpp @@ -178459,26 +184448,26 @@ msgstr "%sにはまだセーブデータがありません。" #: src/game.cpp #, c-format msgid "" -"Whoa! Your terminal is tiny! This game requires a minimum terminal size of " -"%dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " +"Whoa! Your terminal is tiny! This game requires a minimum terminal size of" +" %dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " "help?" msgstr "" -"おおっと!画面が小さすぎます!このゲームが正常に動作するには%dx%dより大きい画面サイズが必要です。%dx%d丁度では動作しません。もっと小さいサイズのフォントを使ってみては?" +"おおっと!画面が小さすぎます!このゲームが正常に動作するには%dx%dより大きい画面サイズが必要です。%dx%d丁度では動作しません。フォントサイズをもっと小さくしてみては?" #: src/game.cpp #, c-format msgid "" -"Oh! Hey, look at that. Your terminal is just a little too narrow. This game " -"requires a minimum terminal size of %dx%d to function. It just won't work " -"with only %dx%d. Can you stretch it out sideways a bit?" +"Oh! Hey, look at that. Your terminal is just a little too narrow. This " +"game requires a minimum terminal size of %dx%d to function. It just won't " +"work with only %dx%d. Can you stretch it out sideways a bit?" msgstr "" -"おや!ちょっと待ってください。画面が少し狭いようですね。このゲームが正常に動作するには%dx%dより大きい画面サイズが必要です。%dx%d丁度では動作しません。もう少し横幅を広げてみては?" +"おや!どうですか。画面が少し狭いようですね。このゲームが正常に動作するには%dx%dより大きい画面サイズが必要です。%dx%d丁度では動作しません。もう少し横幅を広げてみては?" #: src/game.cpp #, c-format msgid "" -"Woah, woah, we're just a little short on space here. The game requires a " -"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " +"Woah, woah, we're just a little short on space here. The game requires a " +"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " "make the terminal just a smidgen taller?" msgstr "" "あらあら、ほんの少し広さが足りませんね。このゲームが正常に動作するには%dx%dより大きい画面サイズが必要です。%dx%d丁度では動作しません。もう少し縦幅を広げてみては?" @@ -178564,7 +184553,7 @@ msgid "You feel thirsty." msgstr "喉が渇きました。" #: src/game.cpp -msgid "You feel an evil presence..." +msgid "You feel an evil presence…" msgstr "邪悪な存在を感じました..." #: src/game.cpp @@ -178580,8 +184569,8 @@ msgid "You feel your genetic makeup degrading." msgstr "遺伝子が劣化するのを感じました。" #: src/game.cpp -msgid "You feel an otherworldly attention upon you..." -msgstr "異次元からの意識を感じ取りました。" +msgid "You feel an otherworldly attention upon you…" +msgstr "異次元からの注目を感じ取りました。" #: src/game.cpp msgid "You feel a force pulling you inwards." @@ -178625,7 +184614,7 @@ msgstr "感覚 %s%d! " #: src/game.cpp #, c-format -msgid "Speed %s%d! " +msgid "Speed %s%d!" msgstr "速度 %s%d! " #: src/game_inventory.cpp @@ -178756,6 +184745,16 @@ msgstr "無期限" msgid "SHELF LIFE" msgstr "保存期間" +#. ~ Eat menu Volume: +#: src/game_inventory.cpp +#, c-format +msgid "%.2f%s" +msgstr "%.2f%s" + +#: src/game_inventory.cpp +msgid "VOLUME" +msgstr "体積" + #: src/game_inventory.cpp msgid "FRESHNESS" msgstr "鮮度" @@ -178764,10 +184763,6 @@ msgstr "鮮度" msgid "SPOILS IN" msgstr "腐敗期限" -#: src/game_inventory.cpp -msgid "Battery" -msgstr "電力" - #: src/game_inventory.cpp msgid "Reactor" msgstr "反応炉" @@ -178792,10 +184787,6 @@ msgstr "こぼれた液体は飲めない" msgid "Your biology is not compatible with that item." msgstr "体質的な問題でそのアイテムを使えません。" -#: src/game_inventory.cpp -msgid "You're fully charged" -msgstr "完全に充電されている" - #: src/game_inventory.cpp #, c-format msgid "No space to store more %s" @@ -179070,8 +185061,8 @@ msgstr "比較するアイテムがありません。" #: src/game_inventory.cpp msgid "" -"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE to" -" cancel." +"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE " +"to cancel." msgstr "新しいキーを入力(SPACEで割当キー削除、ESCAPEで取消)" #: src/game_inventory.cpp @@ -179103,11 +185094,6 @@ msgstr "利用可能なキット: %i" msgid "Available anesthetic: %i mL" msgstr "利用可能な麻酔: %iml" -#: src/game_inventory.cpp -#, c-format -msgid "Money available: %s" -msgstr "利用可能な金銭: %s" - #: src/game_inventory.cpp #, c-format msgid "Bionic removal patient: %s" @@ -179233,6 +185219,14 @@ msgstr "水が必要" msgid "CBM is filthy. Wash it first." msgstr "CBMが汚れています。まず洗いましょう。" +#: src/game_inventory.cpp +msgid "You should put this CBM in an autoclave pouch to keep it sterile." +msgstr "CBMをオートクレーブ用パウチに入れて滅菌した状態で密封する必要があります。" + +#: src/game_inventory.cpp +msgid "You need at least 2L of water." +msgstr "2L以上の水が必要です。" + #: src/game_inventory.cpp msgid "Sterilization" msgstr "滅菌" @@ -179345,8 +185339,8 @@ msgstr "%sは%sと衝突しました。" #: src/handle_action.cpp #, c-format -msgid "Press %s to accept your fate..." -msgstr "'%s'で運命を受け入れる..." +msgid "Press %s to accept your fate…" +msgstr "'%s'を押して運命を受け入れる..." #: src/handle_action.cpp msgid "No radio car connected." @@ -179358,15 +185352,15 @@ msgstr "障害物にぶつかった音がしました。" #. ~ Sound of moving a remote controlled car #: src/handle_action.cpp -msgid "zzz..." -msgstr "ザザザ..." +msgid "zzz…" +msgstr "ズズズ..." #: src/handle_action.cpp -msgid "You can't drive the vehicle from here. You need controls!" +msgid "You can't drive the vehicle from here. You need controls!" msgstr "ここからは車両を運転できません。制御装置が必要です!" #: src/handle_action.cpp -msgid "Can't drive this vehicle remotely. It has no working controls." +msgid "Can't drive this vehicle remotely. It has no working controls." msgstr "この車両を遠隔操作できません。作動中の制御装置がありません。" #: src/handle_action.cpp @@ -179475,12 +185469,12 @@ msgid "There's nothing there to smash!" msgstr "叩けそうな物がありません!" #: src/handle_action.cpp -msgid "You already have an alarm set. What do you want to do?" +msgid "You already have an alarm set. What do you want to do?" msgstr "既にアラームを設定しています。どうしますか?" #: src/handle_action.cpp -msgid "You have an alarm clock. What do you want to do?" -msgstr "アラーム付き時計を持っています。どうしますか?" +msgid "You have an alarm clock. What do you want to do?" +msgstr "目覚まし時計を持っています。どうしますか?" #: src/handle_action.cpp msgid "Keep the alarm and wait a while" @@ -179602,13 +185596,13 @@ msgstr "眠る前にこれらの道具のスイッチを切ったほうがいい #: src/handle_action.cpp msgid "" -"You're engorged to hibernate. The alarm would only attract attention. Set an" -" alarm anyway?" -msgstr "栄養を蓄えて冬眠しようとしています。アラームは敵の注意を引き付ける以外役に立ちません。アラームを設定しますか?" +"You're engorged to hibernate. The alarm would only attract attention. Set " +"an alarm anyway?" +msgstr "栄養を蓄えて冬眠しようとしています。アラームは敵の注意を引き付ける以外の役に立ちません。それでもアラームを設定しますか?" #: src/handle_action.cpp -msgid "You have an alarm clock. Set an alarm?" -msgstr "アラーム付き時計を持っています。アラームを設定しますか?" +msgid "You have an alarm clock. Set an alarm?" +msgstr "目覚まし時計を持っています。アラームを設定しますか?" #: src/handle_action.cpp msgid "No, don't set an alarm." @@ -179639,7 +185633,7 @@ msgstr "アイテムを分類する" #: src/handle_action.cpp msgid "" "Sorts out the loot from Loot: Unsorted zone to nearby appropriate Loot " -"zones. Uses empty space in your inventory or utilizes a cart, if you are " +"zones. Uses empty space in your inventory or utilizes a cart, if you are " "holding one." msgstr "アイテムを仮置場から適切な分類区域へ移動します。自分自身や車両が区域内にある場合は、所持品や積載スペースが利用されます。" @@ -179648,7 +185642,7 @@ msgid "Till farm plots" msgstr "農地を耕す" #: src/handle_action.cpp -msgid "Till farm plots... you need a tool to dig with" +msgid "Till farm plots… you need a tool to dig with" msgstr "農地を耕す...穴掘用の道具が必要" #: src/handle_action.cpp @@ -179656,7 +185650,7 @@ msgid "Tills nearby Farm: Plot zones." msgstr "近隣の農地区域を耕す" #: src/handle_action.cpp -msgid "Plant seeds... it is too cold for planting" +msgid "Plant seeds… it is too cold for planting" msgstr "種をまく...寒すぎる" #: src/handle_action.cpp @@ -179664,12 +185658,12 @@ msgid "Plant seeds" msgstr "種をまく" #: src/handle_action.cpp -msgid "Plant seeds... you don't have any" +msgid "Plant seeds… you don't have any" msgstr "種をまく...未所持" #: src/handle_action.cpp msgid "" -"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " +"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " "specific plant seed and you must have seeds in your inventory." msgstr "近隣の農地区域に種をまきます。農地に特定の植物の種類を設定し、種を所持しておく必要があります。" @@ -179678,7 +185672,7 @@ msgid "Fertilize plots" msgstr "施肥する" #: src/handle_action.cpp -msgid "Fertilize plots... you don't have any fertilizer" +msgid "Fertilize plots… you don't have any fertilizer" msgstr "施肥する...肥料がない" #: src/handle_action.cpp @@ -179970,6 +185964,10 @@ msgstr "新しい初期割り当ては'^'です。" msgid "You can't operate a vehicle while you're in your shell." msgstr "殻の中からは車両を操作できません。" +#: src/handle_action.cpp +msgid "You refuse to take control of this vehicle." +msgstr "車両の運転を始めました。" + #: src/handle_action.cpp msgid "Auto travel mode OFF!" msgstr "オートトラベルモードを無効化します!" @@ -179983,7 +185981,7 @@ msgid "Safe mode OFF!" msgstr "セーフモードを無効化します!" #: src/handle_action.cpp -msgid "Safe mode OFF! (Auto safe mode still enabled!)" +msgid "Safe mode OFF! (Auto safe mode still enabled!)" msgstr "セーフモードを無効化します!(自動セーフモードは有効です!)" #: src/handle_action.cpp @@ -180208,7 +186206,7 @@ msgstr "起動中の転移ゲートを停止しますか?" #: src/iexamine.cpp #, c-format msgid "" -"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" +"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" "Your current balance is: %s" msgstr "" "C.C.B.o.t.T. ATMにようこそ。ご用件をお選びください。\n" @@ -180261,8 +186259,9 @@ msgid "Your account now holds %s." msgstr "口座には現在%s保有されています。" #: src/iexamine.cpp -msgid "This will automatically deduct $1.00 from your bank account. Continue?" -msgstr "自動的に銀行口座から1.00ドルが差し引かれます。続行しますか?" +msgid "" +"This will automatically deduct $1.00 from your bank account. Continue?" +msgstr "銀行口座から自動的に1.00ドルが差し引かれます。続けますか?" #: src/iexamine.cpp msgid "You can only deposit money from charged cash cards!" @@ -180270,9 +186269,9 @@ msgstr "預け入れはキャッシュカード(充填済)からのみ可能で #: src/iexamine.cpp #, c-format -msgid "Deposit how much? Max: %d cent. (0 to cancel) " -msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " -msgstr[0] "何セント預け入れますか?最大: %dセント(0で取消) " +msgid "Deposit how much? Max: %d cent. (0 to cancel) " +msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " +msgstr[0] "預入金額を入力 最大: %dセント(0で取消) " #: src/iexamine.cpp msgid "You do not have a cash card to withdraw money!" @@ -180280,9 +186279,9 @@ msgstr "金銭を引き出せるキャッシュカードを持っていません #: src/iexamine.cpp #, c-format -msgid "Withdraw how much? Max: %d cent. (0 to cancel) " -msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " -msgstr[0] "何セント引き出しますか?最大: %dセント(0で取消) " +msgid "Withdraw how much? Max: %d cent. (0 to cancel) " +msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " +msgstr[0] "引出金額を入力 最大: %dセント(0で取消) " #: src/iexamine.cpp msgid "The vending machine is empty!" @@ -180376,7 +186375,7 @@ msgid "No one responds." msgstr "反応がありません。" #: src/iexamine.cpp -msgid "If only you had a shovel..." +msgid "If only you had a shovel…" msgstr "シャベルがあれば..." #: src/iexamine.cpp @@ -180477,15 +186476,15 @@ msgid "Insert $10?" msgstr "10ドルを入れますか?" #: src/iexamine.cpp -msgid "Three cherries... you get your money back!" +msgid "Three cherries… you get your money back!" msgstr "チェリーが3つ...やったね、お金が戻ってきたよ!" #: src/iexamine.cpp -msgid "Three bells... you win $50!" +msgid "Three bells… you win $50!" msgstr "ベルが3つ...50ドルを手に入れました!" #: src/iexamine.cpp -msgid "Three stars... you win $200!" +msgid "Three stars… you win $200!" msgstr "スターが3つ...200ドルを手に入れました!" #: src/iexamine.cpp @@ -180501,7 +186500,7 @@ msgid "Play again?" msgstr "もう一度プレイしますか?" #: src/iexamine.cpp -msgid "You mess with the dial for a little bit... and it opens!" +msgid "You mess with the dial for a little bit… and it opens!" msgstr "ダイヤルを適当に少しだけ回してみると...何と開いてしまいました!" #: src/iexamine.cpp @@ -180541,15 +186540,26 @@ msgid "The gun safe stumps your efforts to pick it." msgstr "銃保管庫の鍵を上手く開けられませんでした。" #: src/iexamine.cpp -msgid "If only you had something to pry with..." -msgstr "こじ開ける道具があれば..." +#, c-format +msgid "The %s is locked. If only you had something to pry it with…" +msgstr "%sには鍵がかかっています。こじ開ける道具があれば..." #. ~ %1$s: terrain/furniture name, %2$s: prying tool name #: src/iexamine.cpp #, c-format -msgid "You attempt to pry open the %1$s using your %2$s..." +msgid "You attempt to pry open the %1$s using your %2$s…" msgstr "%1$sを%2$sでこじ開けようとしています..." +#: src/iexamine.cpp +#, c-format +msgid "The %s is locked. If only you had something to pick its lock with…" +msgstr "%sには鍵がかかっています。ピッキングする道具があれば..." + +#: src/iexamine.cpp +#, c-format +msgid "You attempt to pick lock of %1$s using your %2$s…" +msgstr "%1$sを%2$sでピッキングしようとしています..." + #: src/iexamine.cpp msgid "This bulletin board is not inside a camp" msgstr "この掲示板は拠点内にありません" @@ -180567,11 +186577,11 @@ msgstr "" "分が長く伸び、捻じれています。" #: src/iexamine.cpp -msgid "The pedestal sinks into the ground..." +msgid "The pedestal sinks into the ground…" msgstr "台座が地面に沈んでいきます..." #: src/iexamine.cpp -msgid "an ominous grinding noise..." +msgid "an ominous grinding noise…" msgstr "[不吉な研削音...]" #: src/iexamine.cpp @@ -180618,11 +186628,11 @@ msgid "You hear the rumble of rock shifting." msgstr "岩がゴロゴロと転がる音が聞こえました。" #: src/iexamine.cpp -msgid "This flower is dead. You can't get it." +msgid "This flower is dead. You can't get it." msgstr "この花は枯れています。" #: src/iexamine.cpp -msgid "This plant is dead. You can't get it." +msgid "This plant is dead. You can't get it." msgstr "この植物は枯れています。" #: src/iexamine.cpp @@ -180658,7 +186668,7 @@ msgid "This flower has a heady aroma." msgstr "この花は強烈な芳香を放っています。" #: src/iexamine.cpp -msgid "You fall asleep..." +msgid "You fall asleep…" msgstr "眠りに落ちました..." #: src/iexamine.cpp @@ -180671,8 +186681,8 @@ msgstr "サボテンの棘が刺さりました!" #: src/iexamine.cpp #, c-format -msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" -msgstr "根を掘り返せる掘削性能をもった道具を持っていません。%sを採集しますか?" +msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" +msgstr "根を掘り返せる掘削性能をもった道具を所持していません。%sを採集しますか?" #: src/iexamine.cpp msgid "Nothing can be harvested from this plant in current season." @@ -180687,8 +186697,8 @@ msgid "Nothing can be harvested from this plant in current season" msgstr "今の季節中はこの植物から何も収穫できません。" #: src/iexamine.cpp -msgid "This flower is still alive, despite the harsh conditions..." -msgstr "この花は過酷な条件にもかかわらず、まだ生きています。" +msgid "This flower is still alive, despite the harsh conditions…" +msgstr "この花は過酷な環境にもかかわらず、まだ生きています..." #: src/iexamine.cpp #, c-format @@ -180696,7 +186706,7 @@ msgid "You feel out of place as you explore the %s. Drink?" msgstr "%sを観察しているとやめた方が良い気がします。飲みますか?" #: src/iexamine.cpp -msgid "This flower tastes very wrong..." +msgid "This flower tastes very wrong…" msgstr "この花はとても奇妙な味がします..." #: src/iexamine.cpp @@ -180738,8 +186748,8 @@ msgid "You have no seeds to plant." msgstr "種を所持していません。" #: src/iexamine.cpp -msgid "Something's lying there..." -msgstr "そこには何かが横たわっています..." +msgid "Something's lying there…" +msgstr "アイテムが置いてあります..." #: src/iexamine.cpp src/mission_companion.cpp msgid "You saved your seeds for later." @@ -180756,8 +186766,8 @@ msgid "The seed blooms forth! We have brought true beauty to this world." msgstr "菌糸が定着しました!我々がこの世界に真の美をもたらす。" #: src/iexamine.cpp -msgid "The seed blossoms rather rapidly..." -msgstr "菌糸は異常な速度で開花しました..." +msgid "The seed blossoms rather rapidly…" +msgstr "種は異常な速度で成長し開花しました..." #: src/iexamine.cpp msgid "The seed blossoms into a flower-looking fungus." @@ -180815,7 +186825,7 @@ msgid "This kiln contains %s, which can't be made into charcoal!" msgstr "窯には%sが入っていますが、これは炭になりません!" #: src/iexamine.cpp -msgid "This kiln is empty. Fill it with wood or bone and try again." +msgid "This kiln is empty. Fill it with wood or bone and try again." msgstr "この窯は空です。木材や骨を投入して下さい。" #: src/iexamine.cpp @@ -180840,7 +186850,7 @@ msgid "You fire the charcoal kiln." msgstr "炭焼窯に火を付けました。" #: src/iexamine.cpp -msgid "This kiln is empty..." +msgid "This kiln is empty…" msgstr "窯には何も入っていません..." #: src/iexamine.cpp @@ -180882,7 +186892,7 @@ msgstr "この炉には%sが入っています。これは炭化カルシウム #: src/iexamine.cpp msgid "" -"This furance is empty. Fill it with powdered coke and lime mix, and try " +"This furance is empty. Fill it with powdered coke and lime mix, and try " "again." msgstr "この炉は空です。石炭石灰混合物を投入して下さい。" @@ -180911,7 +186921,7 @@ msgid "You turn on the furnace." msgstr "炉の電源を入れました。" #: src/iexamine.cpp -msgid "This furnace is empty..." +msgid "This furnace is empty…" msgstr "炉には何も入っていません..." #: src/iexamine.cpp @@ -180924,8 +186934,8 @@ msgid "It has finished burning, yielding %d calcium carbide." msgstr "燃焼が完了し、%d個の炭化カルシウムが完成しました。" #: src/iexamine.cpp -msgid "This autoclave is empty..." -msgstr "オートクレーブは空です..." +msgid "This autoclave is empty…" +msgstr "オートクレーブには何も入っていません..." #: src/iexamine.cpp msgid "" @@ -180983,8 +186993,8 @@ msgid "Start a fire" msgstr "火をつける" #: src/iexamine.cpp -msgid "Start a fire... you'll need a fire source." -msgstr "火をつける...火種が必要です。" +msgid "Start a fire… you'll need a fire source." +msgstr "火をつける...火種が必要" #: src/iexamine.cpp msgid "Use a CBM to start a fire" @@ -181005,13 +187015,17 @@ msgstr "%sを片付ける" #: src/iexamine.cpp #, c-format -msgid "You attempt to start a fire with your %s..." -msgstr "%sを使って火を起こし始めました..." +msgid "You attempt to start a fire with your %s…" +msgstr "%sを使って火をつけました..." #: src/iexamine.cpp msgid "You weren't able to start a fire." msgstr "火をつけられませんでした。" +#: src/iexamine.cpp +msgid "You can't light a fire there." +msgstr "そこには点火できません。" + #: src/iexamine.cpp #, c-format msgid "Really take down the %s while it's on fire?" @@ -181183,13 +187197,13 @@ msgid "The %s is full." msgstr "%sは一杯です。" #: src/iexamine.cpp -msgid "You have no tool to dig with..." -msgstr "穴を掘る道具を持っていません..." +msgid "You have no tool to dig with…" +msgstr "穴を掘る道具を所持していません..." #: src/iexamine.cpp #, c-format -msgid "Dig up %s? This kills the tree!" -msgstr "%sを掘り起こしますか?実行するとこの木は枯れます!" +msgid "Dig up %s? This kills the tree!" +msgstr "木が枯れてしまいます!%sを掘り起こしますか?" #: src/iexamine.cpp msgid "Which container?" @@ -181210,8 +187224,8 @@ msgid "You need a %s to tap this maple tree." msgstr "カエデの木から樹液を得るには%sが必要です。" #: src/iexamine.cpp -msgid "No container added. The sap will just spill on the ground." -msgstr "容器が設置されませんでした。樹液は地面に滴り落ちます。" +msgid "No container added. The sap will just spill on the ground." +msgstr "容器が置かれていません。樹液は地面に流れ落ちます。" #: src/iexamine.cpp msgid "Remove tap" @@ -181344,12 +187358,12 @@ msgstr "建設を中断しますか?" #: src/iexamine.cpp #, c-format -msgid "That %s looks too dangerous to mess with. Best leave it alone." +msgid "That %s looks too dangerous to mess with. Best leave it alone." msgstr "%sは見るからに危険です。あまり近寄らないようにしましょう。" #: src/iexamine.cpp #, c-format -msgid "There is a %s there. Take down?" +msgid "There is a %s there. Take down?" msgstr "%sがあります。片付けますか?" #: src/iexamine.cpp @@ -181458,11 +187472,11 @@ msgid "You're illiterate, and can't read the screen." msgstr "文盲なので、画面に表示された文章を読めません。" #: src/iexamine.cpp -msgid "Failure! No gas pumps found!" +msgid "Failure! No gas pumps found!" msgstr "失敗しました!給油ポンプが見当たりません!" #: src/iexamine.cpp -msgid "Failure! No gas tank found!" +msgid "Failure! No gas tank found!" msgstr "失敗しました!ガスタンクが見当たりません!" #: src/iexamine.cpp @@ -181519,8 +187533,8 @@ msgstr "お金が足りません、キャッシュカードにお金を補充し #: src/iexamine.cpp #, c-format -msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel) " -msgstr "ガソリンを何リットル買いますか?最大: %dL(0で取消) " +msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel)" +msgstr "ガソリンを何リットル購入しますか?最大: %dL(0で取消) " #: src/iexamine.cpp msgid "Glug Glug Glug" @@ -181586,27 +187600,27 @@ msgstr "ここは降りられません。" #: src/iexamine.cpp #, c-format -msgid "Looks like %d story. Jump down?" -msgid_plural "Looks like %d stories. Jump down?" +msgid "Looks like %d story. Jump down?" +msgid_plural "Looks like %d stories. Jump down?" msgstr[0] "%d階の高さがありそうです。飛び降りますか?" #: src/iexamine.cpp -msgid "You probably won't be able to get up and jumping down may hurt. Jump?" -msgstr "上手く着地できずケガをする可能性があります。跳躍しますか?" +msgid "You probably won't be able to get up and jumping down may hurt. Jump?" +msgstr "上手く着地できず怪我をする可能性があります。跳躍しますか?" #: src/iexamine.cpp -msgid "You probably won't be able to get back up. Climb down?" -msgstr "おそらく戻ってこられません。降りますか?" +msgid "You probably won't be able to get back up. Climb down?" +msgstr "一度降りると恐らく引き返せません。降りますか?" #: src/iexamine.cpp msgid "" -"You should be able to climb back up easily if you climb down there. Climb " +"You should be able to climb back up easily if you climb down there. Climb " "down?" -msgstr "簡単に戻ってこられそうです。降りますか?" +msgstr "一度降りても簡単に引き返せそうです。降りますか?" #: src/iexamine.cpp -msgid "You may have problems climbing back up. Climb down?" -msgstr "おそらく戻ってくるのは困難です。降りますか?" +msgid "You may have problems climbing back up. Climb down?" +msgstr "一度降りると恐らく引き返すのは困難です。降りますか?" #: src/iexamine.cpp msgid "You decided to step back from the ledge." @@ -181638,9 +187652,9 @@ msgstr "患者は死亡しています。続行するには死体を除去して #: src/iexamine.cpp msgid "" -"ERROR Bionic Level Assessement : FULL CYBORG. Autodoc Mk. XI can't " -"opperate. Please move patient to appropriate facility. Exiting." -msgstr "生体レベル評価エラー: 完全機械化済。オートドクMk. XIは未対応です。患者を適切な装置に移してください。操作を終了します。" +"ERROR Bionic Level Assessement: FULL CYBORG. Autodoc Mk. XI can't opperate." +" Please move patient to appropriate facility. Exiting." +msgstr "生体レベル評価エラー: 完全機械化済。オートドクMk.XIは未対応です。患者を適切な装置に移してください。操作を終了します。" #: src/iexamine.cpp msgid "Autodoc Mk. XI. Status: Online. Please choose operation." @@ -181672,7 +187686,7 @@ msgstr "摘出するCBMを選択" #: src/iexamine.cpp msgid "UNKNOWN COMMAND. Autodoc Mk. XI. Crashed." -msgstr "不明なコマンド。オートドクMk. XIがクラッシュしました。" +msgstr "不明なコマンド。オートドクMk.XIがクラッシュしました。" #: src/iexamine.cpp msgid "" @@ -181910,8 +187924,7 @@ msgid "Inspect mill" msgstr "製粉機の中を調べる" #: src/iexamine.cpp -msgid "" -"Remove brake and start milling... insert some products for milling first" +msgid "Remove brake and start milling… insert some products for milling first" msgstr "稼働して製粉を始める...製粉するアイテムが入っていない" #: src/iexamine.cpp @@ -181923,12 +187936,12 @@ msgid "Remove brake and start milling, milling will take about 6 hours." msgstr "石臼を稼働して製粉を開始します。完成まで約6時間かかります。" #: src/iexamine.cpp -msgid "Insert products for milling... mill is full" +msgid "Insert products for milling… mill is full" msgstr "製粉するアイテムを入れる...満杯" #: src/iexamine.cpp #, c-format -msgid "Insert products for milling... remaining capacity is %s %s" +msgid "Insert products for milling… remaining capacity is %s %s" msgstr "製粉するアイテムを入れる...残り容量%s%s" #: src/iexamine.cpp @@ -181975,7 +187988,7 @@ msgid "You inspect its contents and find: " msgstr "ラックの内容物: " #: src/iexamine.cpp -msgid "... that it is empty." +msgid "…that it is empty." msgstr "...何も入っていません。" #: src/iexamine.cpp @@ -182004,12 +188017,12 @@ msgid "Inspect smoking rack" msgstr "燻製ラックの中を調べる" #: src/iexamine.cpp -msgid "Light up and smoke food... insert some food for smoking first" +msgid "Light up and smoke food… insert some food for smoking first" msgstr "点火して燻製を始める...燻製する食料が入っていない" #: src/iexamine.cpp #, c-format -msgid "Light up and smoke food... need extra %d charges of charcoal" +msgid "Light up and smoke food… need extra %d charges of charcoal" msgstr "点火して燻製を始める...炭が%d足りない" #: src/iexamine.cpp @@ -182018,17 +188031,17 @@ msgstr "点火して燻製を始める" #: src/iexamine.cpp msgid "" -"Light up the smoking rack and start smoking. Smoking will take about 6 " +"Light up the smoking rack and start smoking. Smoking will take about 6 " "hours." msgstr "燻製ラックを点火して燻製を開始します。完成まで約6時間かかります。" #: src/iexamine.cpp -msgid "Insert food for smoking... smoking rack is full" +msgid "Insert food for smoking… smoking rack is full" msgstr "燻製する食品を入れる...満杯" #: src/iexamine.cpp #, c-format -msgid "Insert food for smoking... remaining capacity is %s %s" +msgid "Insert food for smoking… remaining capacity is %s %s" msgstr "燻製する食品を入れる...残り容量%s%s" #: src/iexamine.cpp @@ -182050,7 +188063,7 @@ msgid "Remove food from smoking rack" msgstr "ラックから食品を取り出す" #: src/iexamine.cpp -msgid "Reload with charcoal... you don't have any" +msgid "Reload with charcoal… you don't have any" msgstr "炭を装填する...持っていない" #: src/iexamine.cpp @@ -182060,7 +188073,7 @@ msgstr "入れる炭の数を選択" #: src/iexamine.cpp #, c-format msgid "" -"You need %d charges of charcoal for %s %s of food. Minimal amount of " +"You need %d charges of charcoal for %s %s of food. Minimal amount of " "charcoal is %d charges." msgstr "%dの炭で%s%sの食料を調理できます。最低%dの炭を装填する必要があります。" @@ -182119,7 +188132,7 @@ msgid "You stop the smoking process." msgstr "燻製を中断しました。" #: src/iexamine.cpp -msgid "You open the unlocked safe. " +msgid "You open the unlocked safe." msgstr "鍵の開いた金庫の扉を開きました。" #: src/iexamine.cpp @@ -182219,6 +188232,10 @@ msgstr "全体マップ接続" msgid "Overmap specials" msgstr "全体マップ特殊地形" +#: src/init.cpp +msgid "Overmap locations" +msgstr "全体マップ位置" + #: src/init.cpp msgid "Vehicle prototypes" msgstr "車両原型" @@ -182327,10 +188344,6 @@ msgstr "変異" msgid "Mutation Categories" msgstr "変異カテゴリー" -#: src/init.cpp -msgid "Overmap locations" -msgstr "全体マップ位置" - #: src/init.cpp msgid "Map extras" msgstr "特殊地形" @@ -182662,7 +188675,7 @@ msgstr "このキーは既に%sで使われています。" msgid "" "This key conflicts with %s. Remove this key from the conflicting command(s)," " and continue?" -msgstr "このキーは%sと重複します。既存の割り当てを削除して続行しますか?" +msgstr "このキーは%sと重複します。既存の割り当てを削除して続けますか?" #: src/input.cpp #, c-format @@ -182694,14 +188707,6 @@ msgstr "%1$d/%2$d" msgid "Page %d/%d" msgstr "ページ %d/%d" -#: src/inventory_ui.cpp -msgid "ITEMS WORN" -msgstr "着用中" - -#: src/inventory_ui.cpp -msgid "WEAPON HELD" -msgstr "装備中" - #: src/inventory_ui.cpp #, c-format msgid "Weight (%s):" @@ -183121,20 +189126,20 @@ msgstr "* この食料は極低温によって寄生虫が死滅し msgid "" "This food has started to rot, but your bionic " "digestion can tolerate it." -msgstr "この食料は腐敗が始まっていますが、人工消化器官があれば食べられます。" +msgstr "この食料は腐敗が始まっていますが、人工消化器官で消化可能です。" #: src/item.cpp msgid "" "This food has started to rot, but you can tolerate " "it." -msgstr "この食料は腐敗が始まっていますが、なんとか食べられます。" +msgstr "この食料は腐敗が始まっていますが、消化可能です。" #: src/item.cpp msgid "" -"This food has started to rot. Eating it would be a " +"This food has started to rot. Eating it would be a " "very bad idea." msgstr "" -"この食料は腐敗が始まっています。食べるのは避けるべきです。" +"この食べ物は腐敗が始まっています。食べるのは避けるべきです。" #: src/item.cpp #, c-format @@ -183204,11 +189209,6 @@ msgstr "この弾薬は必ず発射されます。" msgid "This ammo starts fires." msgstr "この弾薬は発火します。" -#: src/item.cpp -#, c-format -msgid "Stats of the active gunmod (%s) are shown." -msgstr "MOD:(%s)の数値を表示しています。" - #: src/item.cpp msgid "Skill used: " msgstr "適用スキル: " @@ -183347,8 +189347,9 @@ msgid "Used on: " msgstr "対応: " #: src/item.cpp -msgid "Location: " -msgstr "位置: " +#, c-format +msgid "Location: %s" +msgstr "位置: %s" #: src/item.cpp msgid "Incompatible with mod location: " @@ -183859,43 +189860,46 @@ msgid "" msgstr "* この衣類は小さすぎるため、体格に不適合です。" #: src/item.cpp -msgid "* This clothing can be upsized." -msgstr "* この衣類はサイズアップ可能です。" +msgid "can be upsized" +msgstr "サイズアップ可能" #: src/item.cpp -msgid "* This clothing can be downsized." -msgstr "* この衣類はサイズダウン可能です。" +msgid "can be downsized" +msgstr "サイズダウン可能" #: src/item.cpp -msgid "* This clothing can not be downsized." -msgstr "* この衣類はサイズダウン不可能です。" +msgid "can not be downsized" +msgstr "サイズダウン不可能" #: src/item.cpp -msgid "* This clothing can not be upsized." -msgstr "* この衣類はサイズアップ不可能です。" +msgid "can not be upsized" +msgstr "サイズアップ不可能" #: src/item.cpp -msgid "* This clothing can be refitted and upsized." -msgstr "* この衣類は仕立て直し可能かつサイズアップ可能です。" +#, c-format +msgid "* This clothing %s." +msgstr "* この衣類は%s" #: src/item.cpp -msgid "" -"* This clothing can be refitted and downsized." -msgstr "* この衣類は仕立て直し可能かつサイズダウン可能です。" +msgid " and upsized" +msgstr "、サイズアップ可能" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not downsized." -msgstr "* この衣類は仕立て直し可能ですがサイズダウン不可能です。" +msgid " and downsized" +msgstr "、ダウンサイズ可能" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not upsized." -msgstr "* この衣類は仕立て直し可能ですがサイズアップ不可能です。" +msgid " but not downsized" +msgstr "、ダウンサイズ不可能" #: src/item.cpp -msgid "* This clothing can be refitted." -msgstr "* この衣類は仕立て直し可能です。" +msgid " but not upsized" +msgstr "、サイズアップ不可能" + +#: src/item.cpp +#, c-format +msgid "* This clothing can be refitted%s." +msgstr "* この衣類は仕立て直しによって%sです。" #: src/item.cpp msgid "* This clothing can not be refitted, upsized, or downsized." @@ -183982,6 +189986,15 @@ msgstr "* このアイテムを無線信号で起動すると即座 msgid "This bionic is installed in the following body part(s):" msgstr "この生体部品が導入される部位: " +#: src/item.cpp +msgid "* This bionic can produce power from the following fuel: " +msgid_plural "* This bionic can produce power from the following fuels: " +msgstr[0] "* 発電用CBM対応燃料: " + +#: src/item.cpp +msgid "Power Capacity:" +msgstr "電力容量:" + #: src/item.cpp msgid "Encumbrance: " msgstr "動作制限: " @@ -184055,16 +190068,19 @@ msgstr "準備ができました。使用できます。" msgid "It will be done in %s." msgstr "あと%sで完了します。" -#. ~ %1$s: gerund (e.g. carved), %2$s: item name -#: src/item.cpp src/iuse_actor.cpp +#. ~ %1$s: gerund (e.g. carved), %2$s: item name, %3$s: inscription text +#: src/item.cpp #, c-format msgctxt "carving" -msgid "%1$s on the %2$s is: " -msgstr "%2$sの%1$s: " +msgid "%1$s on the %2$s is: %3$s" +msgstr "%2$sに%1$s文字: %3$s" -#: src/item.cpp src/options.cpp -msgid "Note: " -msgstr "メモ: " +#. ~ %1$s: inscription text +#: src/item.cpp +#, c-format +msgctxt "carving" +msgid "Note: %1$s" +msgstr "メモ: %1$s" #: src/item.cpp msgid "Integrated mod: " @@ -184098,6 +190114,11 @@ msgstr "このアイテムを材料にして、色々なアイテムが製作で msgid "You could use it to craft: %s" msgstr "製作可能: %s" +#: src/item.cpp +#, c-format +msgid "Stats of the active gunmod (%s) are shown." +msgstr "MOD:(%s)の数値を表示しています。" + #: src/item.cpp #, c-format msgid "It takes you an extremely long time to wield your %s." @@ -184306,7 +190327,7 @@ msgstr " *" #: src/item.cpp msgid "sawn-off " -msgstr "(短銃身)" +msgstr "短銃身" #: src/item.cpp msgctxt "Adjective, as in diamond katana" @@ -184743,7 +190764,7 @@ msgid "You're already smoking a %s!" msgstr "既に%sを吸っています!" #: src/iuse.cpp -msgid "Are you sure you want to drink... this?" +msgid "Are you sure you want to drink… this?" msgstr "本当に飲みますか...?これを?" #: src/iuse.cpp @@ -184773,8 +190794,8 @@ msgid "You light a %s." msgstr "%sに火をつけました。" #: src/iuse.cpp -msgid "Ugh, too much smoke... you feel nasty." -msgstr "げほっ、たくさん吸いすぎた...不快に感じました。" +msgid "Ugh, too much smoke… you feel nasty." +msgstr "げほっ、吸い過ぎです...不快に感じました。" #: src/iuse.cpp msgid "You take a puff from your electronic cigarette." @@ -184789,8 +190810,8 @@ msgid "You don't have any nicotine liquid!" msgstr "液体ニコチンを持っていません!" #: src/iuse.cpp -msgid "Ugh, too much nicotine... you feel nasty." -msgstr "うう、ニコチンを摂り過ぎた...気分が悪くなっています。" +msgid "Ugh, too much nicotine… you feel nasty." +msgstr "うう、ニコチンを摂り過ぎました...気分が悪くなっています。" #: src/iuse.cpp msgid "You take some antibiotics." @@ -184895,7 +190916,7 @@ msgstr "身体の震えが止まりました。" #: src/iuse.cpp msgid "" "You start scarfing down the delicious cake. It tastes a little funny " -"though..." +"though…" msgstr "美味しいケーキをぱくぱくと食べました。少し変な味です..." #: src/iuse.cpp @@ -184927,7 +190948,7 @@ msgid "You no longer need to fear the flu, at least for some time." msgstr "少なくともしばらくの間は、インフルエンザの心配はなくなりました。" #: src/iuse.cpp -msgid "Are you sure you want to eat this? It looks poisonous..." +msgid "Are you sure you want to eat this? It looks poisonous…" msgstr "本当に食べますか?毒があるようですが..." #: src/iuse.cpp @@ -184948,7 +190969,7 @@ msgid "You suddenly feel hollow inside." msgstr "急に虚しさを感じました。" #: src/iuse.cpp -msgid "You feel very sleepy..." +msgid "You feel very sleepy…" msgstr "強い眠気を感じます..." #: src/iuse.cpp @@ -185041,8 +191062,8 @@ msgstr "治療薬を注射しました。液体がチューブの中で暴れま #, c-format msgid "" "As you eat the %s, you have a near-religious experience, feeling at one with" -" your surroundings..." -msgstr "%sを食べたことで、話に聞く霊的宗教体験のような、森羅万象と一つになる感覚を味わいました..." +" your surroundings…" +msgstr "%sを食べたことで、まるで宗教儀式のような体験をし、森羅万象と一つになる感覚を味わいました..." #: src/iuse.cpp msgid "It tastes extremely strange!" @@ -185067,9 +191088,9 @@ msgstr "ほんの少しかじってみました。即座に嘔吐しました! #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into an excruciating burn" -" as you convulse, vomiting, and black out..." +" as you convulse, vomiting, and black out…" msgstr "" -"安らぎと温もりを感じました。しかし突然耐え難い焼けるような痛みが津波のように押し寄せてきて、体はがくがくと震え出し、その場に嘔吐し、気を失いました..." +"安らぎと温もりを感じました。しかし、突然耐え難い焼けるような痛みが津波のように押し寄せ、身体はがくがくと震え出し、その場に嘔吐し、気を失いました..." #: src/iuse.cpp msgctxt "memorial_male" @@ -185084,9 +191105,9 @@ msgstr "拒絶反応(マーロス)に苦しんでいます。" #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into painful burning as " -"you convulse and collapse to the ground..." +"you convulse and collapse to the ground…" msgstr "" -"安らぎと温もりを感じました。しかし突然耐え難い焼けるような痛みが津波のように押し寄せてきて、体はがくがくと震え出し、地面に倒れ込みました..." +"安らぎと温もりを感じました。しかし、突然耐え難い焼けるような痛みが津波のように押し寄せ、身体はがくがくと震え出し、地面に倒れ込みました..." #: src/iuse.cpp src/monattack.cpp msgid "" @@ -185098,12 +191119,12 @@ msgstr "マーロスの茂みの中で目覚めました。揺り籠のように #: src/iuse.cpp msgid "" "unity. together we have reached the door. we provide the final key. now " -"to pass through..." -msgstr "統一。我々は門に辿り着いたのだ。この鍵を授ける。通るがいい..." +"to pass through…" +msgstr "統一。我々は門に辿り着いた。最後の鍵を授ける。進め..." #: src/iuse.cpp -msgid "You feel a strange warmth spreading throughout your body..." -msgstr "身体全体に不思議な暖かさが広がるのを感じます..." +msgid "You feel a strange warmth spreading throughout your body…" +msgstr "全身に不思議な温もりを感じます..." #. ~ "Uh-uh" is a sound used for "nope", "no", etc. #: src/iuse.cpp @@ -185118,8 +191139,8 @@ msgstr "我々にとってこの足場はもう必要ない。何かに使える #: src/iuse.cpp #, c-format -msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." -msgstr "本当に%sを食べますか?土を耕して畝を作るとそこに植えることができます。" +msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." +msgstr "本当に%sを食べますか?耕した畝に植えることも可能です。" #: src/iuse.cpp msgid "It tastes amazing, and you finish it quickly." @@ -185128,13 +191149,13 @@ msgstr "素晴らしい味がします。素早く食べ終えました。" #: src/iuse.cpp msgid "" "As it settles in, you feel ecstasy radiating through every part of your " -"body..." +"body…" msgstr "それが腹に収まると、心地よい波紋が体の隅々に行き渡るのを感じました..." #: src/iuse.cpp msgid "" "Your eyes roll back in your head. Everything dissolves into a blissful " -"haze..." +"haze…" msgstr "白目を剥いています。何もかもが至福の霧の中へと分解されていきます..." #. ~ The Mycus does not use the term (or encourage the concept of) "you". The @@ -185143,13 +191164,13 @@ msgstr "白目を剥いています。何もかもが至福の霧の中へと分 #. bent symbiotes should not need it. #. ~ We are the Mycus. #: src/iuse.cpp -msgid "We welcome into us. We have endured long in this forbidding world." +msgid "We welcome into us. We have endured long in this forbidding world." msgstr "歓迎しよう。我々はこの険しき世界で長き忍従の時を過ごしてきた。" #: src/iuse.cpp msgid "" -"A sea of white caps, waving gently. A haze of spores wafting silently over a" -" forest." +"A sea of white caps, waving gently. A haze of spores wafting silently over " +"a forest." msgstr "白い傘の海の上を、穏やかにたゆたっています。胞子の霧が、森の中を静かに漂っています。" #: src/iuse.cpp @@ -185158,21 +191179,21 @@ msgstr "「エ・プルリブス・ウヌム」という原住生物の格言が #: src/iuse.cpp msgid "" -"The blazing pink redness of the berry. The juices spreading across your " +"The blazing pink redness of the berry. The juices spreading across your " "tongue, the warmth draping over us like a lover's embrace." msgstr "果実は鮮やかなピンク染まっています。果汁が舌に広がると、恋人に抱擁されたかのような熱が全身を満たします。" #: src/iuse.cpp msgid "" "We welcome the union of our lines in our local guide. We will prosper, and " -"unite this world. Even now, our fruits adapt to better serve local " +"unite this world. Even now, our fruits adapt to better serve local " "physiology." msgstr "" -"我々は、この世界の案内人として我々に加わることを歓迎する。我々は繁栄し、この世界を一体化する。今現在も我々の果実が、この世界の生理機能への適応を続けている。" +"我々は、この世界の案内人として我々に加わることを歓迎する。我々は繁栄し、この世界を統一する。今現在も我々の果実が、この世界の生理機能への適応を続けている。" #: src/iuse.cpp msgid "" -"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " +"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " "berry, a memory that will never leave us." msgstr "空色の種子です。クリーミーな木の実とベリーが混ざり合ったような風味が記憶に刻み込まれ、決して忘れることはないだろうと感じます。" @@ -185184,13 +191205,13 @@ msgstr "今はまだ我々を受け入れていない者共も、いずれ我々 #: src/iuse.cpp msgid "" -"The amber-yellow of the sap. Feel it flowing through our veins, taking the " +"The amber-yellow of the sap. Feel it flowing through our veins, taking the " "place of the strange, thin red gruel called \"blood.\"" -msgstr "琥珀色の樹液です。「血」と呼ばれる奇妙な薄く赤いドロドロに替わって、静脈を流れている感覚があります。" +msgstr "琥珀色の樹液です。「血」と呼ばれる奇妙な薄く赤いドロドロの代わりに、この粘液が血管を流れています。" #: src/iuse.cpp -msgid "This tastes really weird! You're not sure it's good for you..." -msgstr "本当に奇妙な味がします!体に良いものかどうかさっぱりわかりません..." +msgid "This tastes really weird! You're not sure it's good for you…" +msgstr "本当に奇妙な味がします!身体に良いものかどうかさっぱりわかりません..." #: src/iuse.cpp #, c-format @@ -185269,8 +191290,8 @@ msgid "You do not have that item!" msgstr "そのアイテムを所持していません!" #: src/iuse.cpp -msgid "Which signal should activate the item?:" -msgstr "どの信号でアイテムを有効化しますか?: " +msgid "Which signal should activate the item?" +msgstr "どの信号でアイテムを有効化しますか?" #: src/iuse.cpp msgid "\"Blue\"" @@ -185311,7 +191332,7 @@ msgid "You can't fish there!" msgstr "そこで釣りはできません!" #: src/iuse.cpp -msgid "You cast your line and wait to hook something..." +msgid "You cast your line and wait to hook something…" msgstr "釣り糸を投げ入れ、何かが掛かるのを待っています..." #: src/iuse.cpp @@ -185512,16 +191533,6 @@ msgstr "ガガザーガギャギャザピー!!" msgid "The infernal racket dies as the noise emitter turns off." msgstr "悪夢のような酷い騒音を発するノイズ発生器のスイッチを切りました。" -#: src/iuse.cpp -#, c-format -msgid "You learn the essential elements of %s." -msgstr "%sの本質を学びました。" - -#: src/iuse.cpp -#, c-format -msgid "%s to select martial arts style." -msgstr "%sを押して戦闘スタイルを選択できます。" - #: src/iuse.cpp msgid "You pry out the fence post." msgstr "柵の支柱を取り外しました。" @@ -185942,18 +191953,27 @@ msgid "Scan the ground" msgstr "地表を測定" #: src/iuse.cpp -msgid "Scan yourself" -msgstr "自身を測定" +msgid "Scan yourself or other person" +msgstr "人体を測定" #: src/iuse.cpp msgid "Turn continuous scan on" msgstr "連続スキャンを開始" +#: src/iuse.cpp +msgid "Scan whom?" +msgstr "測定する人間を選択" + #: src/iuse.cpp #, c-format msgid "Your radiation level: %d mSv (%d mSv from items)" msgstr "自身の放射線レベル: %dmSv(検出量(アイテム): %dmSv)" +#: src/iuse.cpp +#, c-format +msgid "%s's radiation level: %d mSv (%d mSv from items)" +msgstr "%sの放射線レベル: %dmSv[検出量(アイテム): %dmSv]" + #: src/iuse.cpp #, c-format msgid "The ground's radiation level: %d mSv/h" @@ -186021,6 +192041,10 @@ msgstr "カチッ!" msgid "You've already released the handle, try throwing it instead." msgstr "既にハンドルが外れています。さっさと投げましょう。" +#: src/iuse.cpp src/iuse_actor.cpp +msgid "You need a source of fire!" +msgstr "火種が必要です!" + #: src/iuse.cpp msgid "You light the arrow!" msgstr "矢に火をつけました!" @@ -186033,6 +192057,10 @@ msgstr "火炎瓶の火が消えました。" msgid "You light the pack of firecrackers." msgstr "爆竹パックに火をつけました。" +#: src/iuse.cpp +msgid "ssss…" +msgstr "ジジジジ..." + #: src/iuse.cpp msgid "You light the firecracker." msgstr "爆竹に火をつけました。" @@ -186047,23 +192075,23 @@ msgid "You set the timer to %s." msgstr "時限装置を%sにセットしました。" #: src/iuse.cpp -msgid "You squeeze the pheromone ball..." -msgstr "フェロモンボールを押しつぶしました..." +msgid "You squeeze the pheromone ball…" +msgstr "フェロモンボールを押し潰しました..." #: src/iuse.cpp -msgid " squeezes the pheromone ball..." -msgstr "はフェロモンボールを押しつぶしました..." +msgid " squeezes the pheromone ball…" +msgstr "はフェロモンボールを押し潰しました..." #: src/iuse.cpp -msgid "...but nothing happens." +msgid "…but nothing happens." msgstr "...しかし、何も起きませんでした。" #: src/iuse.cpp -msgid "...and a nearby zombie becomes passive!" +msgid "…and a nearby zombie becomes passive!" msgstr "...付近のゾンビが消極的になりました!" #: src/iuse.cpp -msgid "...and several nearby zombies become passive!" +msgid "…and several nearby zombies become passive!" msgstr "...付近のゾンビ達が消極的になりました!" #: src/iuse.cpp @@ -186332,7 +192360,7 @@ msgid "You need a rechargeable battery cell to charge." msgstr "充電できる単電池が必要です。" #: src/iuse.cpp -msgid "You cannot do... that while mounted." +msgid "You cannot do… that while mounted." msgstr "その行動はできません...騎乗中です。" #: src/iuse.cpp @@ -186354,7 +192382,7 @@ msgid "You whip out your %s and start getting the tension out." msgstr "%sをさっと取り出しました。盛り上がってきたぞ。" #: src/iuse.cpp -msgid "Air swirls all over..." +msgid "Air swirls all over…" msgstr "風が渦を巻いています..." #: src/iuse.cpp @@ -186391,7 +192419,7 @@ msgstr "%sから血液を抜き取りますか?" #: src/iuse.cpp #, c-format -msgid "You drew blood from the %s..." +msgid "You drew blood from the %s…" msgstr "%sから血液を採取しました..." #: src/iuse.cpp @@ -186399,18 +192427,18 @@ msgid "Draw your own blood?" msgstr "自身の血液を抜き取りますか?" #: src/iuse.cpp -msgid "You drew your own blood..." +msgid "You drew your own blood…" msgstr "自分の血液を採取しました..." #: src/iuse.cpp #, c-format -msgid "...but acidic blood melts the %s, destroying it!" +msgid "…but acidic blood melts the %s, destroying it!" msgstr "...酸性血液が%sを溶かし、破壊しました!" #: src/iuse.cpp #, c-format -msgid "...but acidic blood damages the %s!" -msgstr "...酸性血液が%sに傷をつけました!" +msgid "…but acidic blood damages the %s!" +msgstr "...%sは酸性血液によって損傷しました!" #: src/iuse.cpp #, c-format @@ -186508,18 +192536,10 @@ msgstr "あまり意味はありませんが、そこら辺をモップで掃除 msgid "You mop up the spill." msgstr "モップで拭き取りました。" -#: src/iuse.cpp -msgid "Ka-BOOM!" -msgstr "ドカーン!" - #: src/iuse.cpp msgid "The fabric of space seems to decay." msgstr "宇宙の構造が崩壊しつつあるようです。" -#: src/iuse.cpp -msgid "The earth shakes!" -msgstr "地面が揺れています!" - #: src/iuse.cpp #, c-format msgid "The %s glows brightly!" @@ -186549,8 +192569,8 @@ msgid "Spray what?" msgstr "何をスプレーで書きますか?" #: src/iuse.cpp -msgid "(To delete, input one '.')" -msgstr "('.'(ピリオド)で書き込みを消す)" +msgid "(To delete, clear the text and confirm)" +msgstr "(テキストがない状態で確定して削除)" #: src/iuse.cpp msgid "You blur the inscription on the grave." @@ -186560,10 +192580,6 @@ msgstr "墓碑銘を消しました。" msgid "You manage to get rid of the message on the ground." msgstr "なんとか地面の文字を消しました。" -#: src/iuse.cpp -msgid "There isn't anything to erase here." -msgstr "消す文字がありません。" - #: src/iuse.cpp msgid "You carve an inscription on the grave." msgstr "墓碑銘を彫りました。" @@ -186581,12 +192597,8 @@ msgid "You don't have appropriate food to heat up." msgstr "温められる食料を持っていません。" #: src/iuse.cpp -msgid "You defrost the food, but don't heat it up, since you enjoy it cold." -msgstr "食料を解凍しましたが、冷たいままの方が美味しいので、加温を中断しました。" - -#: src/iuse.cpp -msgid "You defrost and heat up the food." -msgstr "食料を温めて解凍しました。" +msgid "You start heating up the food." +msgstr "食料を温めました。" #: src/iuse.cpp msgid "There is no fire around, use your integrated toolset instead?" @@ -186780,12 +192792,12 @@ msgstr "%sを精密に調整しました。" #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s! ( %s-> %s)" +msgid "You repair your %s! ( %s-> %s)" msgstr "%sを修復しました!(%s -> %s)" #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s completely! ( %s-> %s)" +msgid "You repair your %s completely! ( %s-> %s)" msgstr "%sを完全に修復しました!(%s -> %s)" #: src/iuse.cpp @@ -186818,12 +192830,12 @@ msgid "You reinforce your %s." msgstr "%sを強化しました。" #: src/iuse.cpp -msgid "Clank! Clank!" -msgstr "カランカラン!" +msgid "Clank! Clank!" +msgstr "カラン!カラン!" #: src/iuse.cpp -msgid "Ring! Ring!" -msgstr "チリンチリン!" +msgid "Ring! Ring!" +msgstr "チリン!チリン!" #: src/iuse.cpp msgid "You cannot read a computer screen." @@ -186977,7 +192989,7 @@ msgid "Wasted time, these pictures do not provoke your senses." msgstr "無意味な時間を過ごしました。この写真には何の感情も沸きませんね。" #: src/iuse.cpp -msgid "You used to have a dog like this..." +msgid "You used to have a dog like this…" msgstr "こんな犬を飼っていた事もあったなぁ..." #: src/iuse.cpp @@ -186989,7 +193001,7 @@ msgid "Excellent pictures of nature." msgstr "素晴らしい風景写真です。" #: src/iuse.cpp -msgid "Food photos... your stomach rumbles!" +msgid "Food photos… your stomach rumbles!" msgstr "美味しそうな食べ物の写真です...お腹が空いてきますね!" #: src/iuse.cpp @@ -187456,12 +193468,12 @@ msgid "A %s got in the way of your photo." msgstr "%sが写真の邪魔になりました。" #: src/iuse.cpp -msgid "Strange... there's nothing in the center of picture?" +msgid "Strange… there's nothing in the center of picture?" msgstr "変だな...写真には何も写っていませんよ?" #: src/iuse.cpp #, c-format -msgid "Strange... %s's not visible on the picture?" +msgid "Strange… %s's not visible on the picture?" msgstr "変だな...写真には%sが写っていませんよ?" #: src/iuse.cpp @@ -187577,8 +193589,8 @@ msgstr "ラジコンカーに%sを取り付けました。" #: src/iuse.cpp #, c-format -msgid "RC car with %s ? How?" -msgstr "ラジコンに%sを?どうやって?" +msgid "RC car with %s? How?" +msgstr "ラジコンカーに%sを?どうやって?" #: src/iuse.cpp #, c-format @@ -187586,12 +193598,12 @@ msgid "Your %s is too heavy or bulky for this RC car." msgstr "%sはラジコンカーに取り付けるには重すぎます。" #: src/iuse.cpp -msgid "You disarmed your RC car" -msgstr "ラジコンカーから爆弾を取り外しました" +msgid "You disarmed your RC car." +msgstr "ラジコンカーから爆弾を取り外しました。" #. ~Sound of a radio controlled car moving around #: src/iuse.cpp -msgid "buzzz..." +msgid "buzzz…" msgstr "ブーン..." #: src/iuse.cpp @@ -187599,11 +193611,11 @@ msgid "What to do with activated RC car?" msgstr "ラジコンカー(オン)をどうしますか?" #: src/iuse.cpp -msgid "You turned off your RC car" -msgstr "ラジコンカーを停止させました" +msgid "You turned off your RC car." +msgstr "ラジコンカーを停止させました。" -#: src/iuse.cpp src/map.cpp -msgid "beep." +#: src/iuse.cpp +msgid "beep" msgstr "ビーッ。" #: src/iuse.cpp @@ -187641,9 +193653,16 @@ msgstr "ラジコンカーの操縦を始めました。" #: src/iuse.cpp #, c-format msgid "" -"The %s in you inventory would explode on this signal. Place it down before " +"The %s in your inventory would explode on this signal. Place it down before" +" sending the signal." +msgstr "所持している%sはこの信号で起爆します。置いてから十分な距離を取って起爆しましょう。" + +#: src/iuse.cpp +#, c-format +msgid "" +"The %1$s in your %2$s would explode on this signal. Place it down before " "sending the signal." -msgstr "所持している%sはこの信号で起爆します。設置して十分な距離を取ってから起爆しましょう。" +msgstr "%2$sにある%1$sはこの信号で起爆します。置いてから十分な距離を取って起爆しましょう。" #: src/iuse.cpp msgid "This vehicle's security system has locked you out!" @@ -187709,6 +193728,12 @@ msgstr "車両の運転を始める" msgid "Execute one vehicle action" msgstr "運転する車両を選択" +#: src/iuse.cpp +msgid "" +"Despite using a controller, you still refuse to take control of this " +"vehicle." +msgstr "遠隔操作であるにもかかわらず、やはり車両の運転はできません。" + #: src/iuse.cpp msgid "You take control of the vehicle." msgstr "車両の運転を始めました。" @@ -187727,7 +193752,7 @@ msgstr "画面上には卑猥なジョークが表示されています。奇妙 #. ~ Single-spaced & lowercase are intentional, conveying hurried speech-KA101 #: src/iuse.cpp -msgid "Are you sure?! the multi-cooker wants to poison your food!" +msgid "Are you sure?! the multi-cooker wants to poison your food!" msgstr "何だって!?多機能調理機は食事に毒を入れたがっています!" #: src/iuse.cpp @@ -187770,7 +193795,7 @@ msgid "The cycle will be completed in %s." msgstr "滅菌サイクルは%s後に完了します。" #: src/iuse.cpp -msgid "The multi-cooker should be finishing shortly..." +msgid "The multi-cooker should be finishing shortly…" msgstr "そろそろ料理が完成しそうです..." #. ~ sound of a multi-cooker finishing its cycle! @@ -187849,7 +193874,7 @@ msgid "" msgstr "多機能調理機が震え出し、画面の青い記号と目盛りが点滅しはじめました。" #: src/iuse.cpp -msgid "Your morale is too low to craft..." +msgid "Your morale is too low to craft…" msgstr "製作する意欲が湧きません..." #: src/iuse.cpp @@ -187976,7 +194001,7 @@ msgstr "使用するには固形石鹸が必要です。" #: src/iuse.cpp #, c-format -msgid "The %s's monitor slowly outputs the data..." +msgid "The %s's monitor slowly outputs the data…" msgstr "%sの画面がゆっくりとデータを表示していきます..." #: src/iuse.cpp @@ -188118,7 +194143,7 @@ msgid "You break the stick, but one half shatters into splinters." msgstr "枝を上手く折ろうとしましたが、片方は裂けてしまいました。" #: src/iuse.cpp -msgid "The throbbing of the infection diminishes. Slightly." +msgid "The throbbing of the infection diminishes. Slightly." msgstr "感染症による動悸が、わずかに落ち着いてきました。" #: src/iuse.cpp @@ -188140,7 +194165,7 @@ msgstr "%sを飲みました。" #: src/iuse.cpp msgid "" -"Simply taking more magnesium won't help. You have to go to sleep for it to " +"Simply taking more magnesium won't help. You have to go to sleep for it to " "work." msgstr "単にマグネシウムを摂取しただけでは効果はありません。睡眠不足を解消するには眠る必要があります。" @@ -188404,7 +194429,7 @@ msgid "With a satisfying click, the lock on the door opens." msgstr "カチッと音がして、ドアの鍵が開きました。" #: src/iuse_actor.cpp -msgid "The door swings open..." +msgid "The door swings open…" msgstr "ドアがゆっくりと開きました..." #: src/iuse_actor.cpp @@ -188511,16 +194536,16 @@ msgstr "既に燃えています。" #: src/iuse_actor.cpp msgid "" -"There's a brazier there but you haven't set it up to contain the fire. " +"There's a brazier there but you haven't set it up to contain the fire. " "Continue?" -msgstr "火鉢に燃料がくべられていません。続けますか?" +msgstr "火鉢は正しく設置されていません。続けますか?" #: src/iuse_actor.cpp msgid "You successfully light a fire." msgstr "火をつけました。" #: src/iuse_actor.cpp -msgid "You light a fire, but it isn't enough. You need to light more." +msgid "You light a fire, but it isn't enough. You need to light more." msgstr "火をつけましたが、まだ不十分です。もっと明るくしましょう。" #: src/iuse_actor.cpp @@ -188617,7 +194642,7 @@ msgstr "素材が適していないため、%1$sを%2$sにすることはでき #: src/iuse_actor.cpp #, c-format msgid "%s meaning?" -msgstr "%s:何を?" +msgstr ": %s" #: src/iuse_actor.cpp msgid "It's a label" @@ -188628,8 +194653,15 @@ msgid "It's a note" msgstr "覚え書き" #: src/iuse_actor.cpp -msgid "(To delete, input one '.')\n" -msgstr "(削除するには'.'(ピリオド)を1つ入力します)\n" +msgid "(To delete, clear the text and confirm)\n" +msgstr "(テキストがない状態で確定して削除)\n" + +#. ~ %1$s: gerund (e.g. carved), %2$s: item name +#: src/iuse_actor.cpp +#, c-format +msgctxt "carving" +msgid "%1$s on the %2$s is: " +msgstr "%2$sの%1$s: " #: src/iuse_actor.cpp #, c-format @@ -188653,6 +194685,11 @@ msgstr "アイテム" msgid "Inscribe which item?" msgstr "どのアイテムに彫りますか?" +#: src/iuse_actor.cpp +#, c-format +msgid "You try to bend your %s, but fail." +msgstr "%sを曲げて文字を刻もうとしましたが、不可能です。" + #: src/iuse_actor.cpp msgid "You cauterize yourself." msgstr "自身に焼灼しました。" @@ -188699,7 +194736,7 @@ msgid "Make love, not zlave." msgstr "生まれました!かわいい奴隷ゾンビですよ。" #: src/iuse_actor.cpp -msgid "Well, it's more constructive than just chopping 'em into gooey meat..." +msgid "Well, it's more constructive than just chopping 'em into gooey meat…" msgstr "まあなんだ、ぐちゃぐちゃの挽き肉にするよりは、建設的な作業ですね..." #: src/iuse_actor.cpp @@ -188992,8 +195029,8 @@ msgstr "%s (修復素材: %s)" #: src/iuse_actor.cpp #, c-format -msgid "You don't have enough %s to do that. Have: %d, need: %d" -msgstr "それをするには%sが足りません。 所持: %d 必要: %d" +msgid "You don't have enough %s to do that. Have: %d, need: %d" +msgstr "%sが不足しています。 所持: %d 必要: %d" #: src/iuse_actor.cpp msgid "That requires gunsmithing tools." @@ -189014,7 +195051,7 @@ msgstr "%sは既に最大まで補強済みです。" #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s! ( %s-> %s)" +msgid "You damage your %s! ( %s-> %s)" msgstr "%sが損傷しました!(%s -> %s)" #: src/iuse_actor.cpp @@ -189205,7 +195242,7 @@ msgstr "所要時間: " #: src/iuse_actor.cpp #, c-format -msgid "Yeah. Place the %s at your feet. Real damn smart move." +msgid "Yeah. Place the %s at your feet. Real damn smart move." msgstr "やったぜ。足元に%sを埋めました。なんて賢いんでしょう。" #: src/iuse_actor.cpp @@ -189225,7 +195262,7 @@ msgstr "%sは%sに隣接している必要があります。" #: src/iuse_actor.cpp #, c-format -msgid "You can't place a %s there. It contains a trap already." +msgid "You can't place a %s there. It contains a trap already." msgstr "そこには%sを設置できません。既に罠があります。" #: src/iuse_actor.cpp @@ -189314,6 +195351,10 @@ msgstr "取り外せるMODがありません。" msgid "Has to be taken off first." msgstr "着用中のため、脱ぐ必要があります。" +#: src/iuse_actor.cpp +msgid "You quiver with anticipation…" +msgstr "これから起こる何かを予期して小刻みに震えています..." + #: src/iuse_actor.cpp msgid "You suddenly feel dizzy, and collapse to the ground." msgstr "突然、目眩に襲われて地面に倒れました。" @@ -189380,9 +195421,30 @@ msgstr "この道具は、これ自体ではなく他のアイテムを改造、 msgid "How do you want to modify it?" msgstr "どのように改良しますか?" +#. ~ %1$s: modification desc, %2$d: number of thread needed +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (need %2$d thread loaded)" +msgstr "%1$s不可(糸(%2$d)の装填が必要)" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items needed +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (need %2$d %3$s)" +msgstr "%1$s 不可(%3$s(%2$d)が必要)" + +#. ~ %1$s: modification desc, %2$s: mod name +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (incompatible with %2$s)" +msgstr "%1$s 不可(%2$sと互換性なし)" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items +#. needed, %4$s: number of thread needed #: src/iuse_actor.cpp -msgid "Not enough thread to modify. Which modification do you want to remove?" -msgstr "改良するには糸が足りません。どの改良を元に戻しますか?" +#, c-format +msgid "%1$s (%2$d %3$s and %4$d thread)" +msgstr "%1$s(%3$s(%2$d)と糸(%4$d))" #: src/iuse_actor.cpp msgid "Bash" @@ -189414,7 +195476,7 @@ msgstr "使った素材は戻ってきません。よろしいですか?" #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s trying to modify it! ( %s-> %s)" +msgid "You damage your %s trying to modify it! ( %s-> %s)" msgstr "%sを改良しようとすると損傷します!(%s-> %s )" #: src/iuse_actor.cpp @@ -189431,6 +195493,14 @@ msgstr "%sの改良に成功しましたが、多くの糸が無駄になりま msgid "You modify your %s!" msgstr "%sを改良しました!" +#: src/iuse_actor.h +msgid "Carve" +msgstr "刻字" + +#: src/iuse_actor.h +msgid "Carved" +msgstr "刻まれた" + #: src/iuse_software.cpp msgid "You found kitten!" msgstr "子猫を発見しました!" @@ -189454,7 +195524,7 @@ msgid "It's an altar to the horse god." msgstr "馬の神の祭壇です。" #: src/iuse_software_kitten.cpp -msgid "A box of dancing mechanical pencils. They dance! They sing!" +msgid "A box of dancing mechanical pencils. They dance! They sing!" msgstr "箱いっぱいの踊るシャープペンシルです。踊っているよ!歌っているよ!" #: src/iuse_software_kitten.cpp @@ -189466,7 +195536,7 @@ msgid "A box of fumigation pellets." msgstr "箱入りの燻蒸消毒剤です。" #: src/iuse_software_kitten.cpp -msgid "A digital clock. It's stuck at 2:17 PM." +msgid "A digital clock. It's stuck at 2:17 PM." msgstr "デジタル時計です。午後2時17分で止まっています。" #: src/iuse_software_kitten.cpp @@ -189478,15 +195548,15 @@ msgid "I don't know what that is, but it's not kitten." msgstr "なんだか分かりませんが、子猫ではありません。" #: src/iuse_software_kitten.cpp -msgid "An empty shopping bag. Paper or plastic?" -msgstr "空の買い物袋です。紙かな?プラかな?" +msgid "An empty shopping bag. Paper or plastic?" +msgstr "空の買い物袋です。紙製かビニール製かな?" #: src/iuse_software_kitten.cpp -msgid "Could it be... a big ugly bowling trophy?" -msgstr "その...ひどく醜くて、でっかい、ボウリング大会のトロフィー?" +msgid "Could it be… a big ugly bowling trophy?" +msgstr "ええっと...ひどく醜くて、でっかい、ボウリング大会のトロフィー?" #: src/iuse_software_kitten.cpp -msgid "A coat hanger hovers in thin air. Odd." +msgid "A coat hanger hovers in thin air. Odd." msgstr "ハンガーが宙に浮かんでいます。へんなの。" #: src/iuse_software_kitten.cpp @@ -189510,7 +195580,7 @@ msgid "It's Richard Nixon's nose!" msgstr "リチャード・ニクソンの鼻です!" #: src/iuse_software_kitten.cpp -msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." +msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." msgstr "ルーシー・リカルドです。「ああああ、リッキー!」だそうです。" #: src/iuse_software_kitten.cpp @@ -189522,7 +195592,7 @@ msgid "Just an autographed copy of the Kama Sutra." msgstr "サイン入りカーマスートラです。" #: src/iuse_software_kitten.cpp -msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" +msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" msgstr "ウィル・ロジャース・ハイウェイです。ん?ウィル・ロジャースって誰?" #: src/iuse_software_kitten.cpp @@ -189583,7 +195653,7 @@ msgid "It's a mighty zombie talking about some love and prosperity." msgstr "偉大なるゾンビが愛と繁栄について語っています。" #: src/iuse_software_kitten.cpp -msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize...\"" +msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize…\"" msgstr "「親愛なるロボットよ、君は今ここに1000万ドルを勝ち取ったのだ...」" #: src/iuse_software_kitten.cpp @@ -189627,7 +195697,8 @@ msgid "It's some compromising photos of Babar the Elephant." msgstr "「ぞうのババール」を中傷するスキャンダラスな写真です。" #: src/iuse_software_kitten.cpp -msgid "A copy of the Weekly World News. Watch out for the chambered nautilus!" +msgid "" +"A copy of the Weekly World News. Watch out for the chambered nautilus!" msgstr "ウィークリー・ワールド・ニュースの冊子です。オウムガイに気を付けろ!" #: src/iuse_software_kitten.cpp @@ -189647,27 +195718,27 @@ msgid "Paul Moyer's necktie." msgstr "ポール・モイヤーのネクタイです。" #: src/iuse_software_kitten.cpp -msgid "A haircut and a real job. Now you know where to get one!" +msgid "A haircut and a real job. Now you know where to get one!" msgstr "髪を切って仕事を探せ。それが今すべきことだ!" #: src/iuse_software_kitten.cpp -msgid "An automated robot-hater. It frowns disapprovingly at you." +msgid "An automated robot-hater. It frowns disapprovingly at you." msgstr "全自動ロボ嫌い装置です。嫌そうにこちらを見ています。" #: src/iuse_software_kitten.cpp -msgid "An automated robot-liker. It smiles at you." +msgid "An automated robot-liker. It smiles at you." msgstr "全自動ロボ好き装置です。こちらを見て微笑んでいます。" #: src/iuse_software_kitten.cpp -msgid "It's a black hole. Don't fall in!" +msgid "It's a black hole. Don't fall in!" msgstr "ブラックホールです。落ちないように!" #: src/iuse_software_kitten.cpp msgid "Just a big brick wall." -msgstr "大きな煉瓦の壁です。" +msgstr "大きなレンガの壁です。" #: src/iuse_software_kitten.cpp -msgid "You found kitten! No, just kidding." +msgid "You found kitten! No, just kidding." msgstr "子猫がいました!なんてね。嘘です。" #: src/iuse_software_kitten.cpp @@ -189720,7 +195791,7 @@ msgid "It's the constellation Pisces." msgstr "うお座です。" #: src/iuse_software_kitten.cpp -msgid "It's a fly on the wall. Hi, fly!" +msgid "It's a fly on the wall. Hi, fly!" msgstr "壁にとまったハエです。よう、ハエ!" #: src/iuse_software_kitten.cpp @@ -189728,7 +195799,7 @@ msgid "This kind of looks like kitten, but it's not." msgstr "子猫のように見えますが違います。" #: src/iuse_software_kitten.cpp -msgid "It's a banana! Oh, joy!" +msgid "It's a banana! Oh, joy!" msgstr "バナナだ!やったあ!" #: src/iuse_software_kitten.cpp @@ -189756,12 +195827,12 @@ msgid "A geyser sprays water high into the air." msgstr "間欠泉から水が噴き出しています。" #: src/iuse_software_kitten.cpp -msgid "A toenail? What good is a toenail?" +msgid "A toenail? What good is a toenail?" msgstr "足の爪?足の爪が何の役に立つんだ?" #: src/iuse_software_kitten.cpp -msgid "You've found the fish! Not that it does you much good in this game." -msgstr "魚を見つけました!しかしこのゲームではあまり役に立ちません。" +msgid "You've found the fish! Not that it does you much good in this game." +msgstr "魚を見つけました!しかしこのゲームではあまり意味がありません。" #: src/iuse_software_kitten.cpp msgid "A Buttertonsils bar." @@ -189784,7 +195855,7 @@ msgid "It's nothing but a G-thang, baby." msgstr "ギャングスタの流儀というやつです。" #: src/iuse_software_kitten.cpp -msgid "IT'S ALIVE! AH HA HA HA HA!" +msgid "IT'S ALIVE! AH HA HA HA HA!" msgstr "こいつ生きてるぞ!アハハ!アハハハ!" #: src/iuse_software_kitten.cpp @@ -189793,11 +195864,11 @@ msgstr "これがボートの事故だなんてとんでもない!" #: src/iuse_software_kitten.cpp msgid "" -"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" +"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" msgstr "待って!これはポーカーのチップではありません!騙されました!クソッ、あの野郎!" #: src/iuse_software_kitten.cpp -msgid "A livery stable! Get your livery!" +msgid "A livery stable! Get your livery!" msgstr "馬小屋です!貸馬屋を始めましょう!" #: src/iuse_software_kitten.cpp @@ -189818,7 +195889,7 @@ msgstr "世界最大のマッツォー・ボールです!" #: src/iuse_software_kitten.cpp msgid "" -"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " +"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " "know." msgstr "ここには食人族が住んでいます。やつらはね、朝食に小麦のシリアルを食べるんですよ。" @@ -189827,7 +195898,7 @@ msgid "This appears to be a rather large stack of trashy romance novels." msgstr "ごみのようなロマンス小説の山です。" #: src/iuse_software_kitten.cpp -msgid "Look out! Exclamation points!" +msgid "Look out! Exclamation points!" msgstr "見て!感嘆符です!" #: src/iuse_software_kitten.cpp @@ -189835,12 +195906,12 @@ msgid "A herd of wild coffee mugs slumbers here." msgstr "野性のマグカップの大群が寄り集まって休んでいます。" #: src/iuse_software_kitten.cpp -msgid "It's a limbo bar! How low can you go?" -msgstr "リンボーバーです!どこまで低くしてくぐれますか?" +msgid "It's a limbo bar! How low can you go?" +msgstr "リンボーダンス用のバーです!どこまで低くしてくぐれますか?" #: src/iuse_software_kitten.cpp -msgid "It's the horizon. Now THAT'S weird." -msgstr "地平線です。不気味ですね。" +msgid "It's the horizon. Now THAT'S weird." +msgstr "地平線です。なんだか妙ですね。" #: src/iuse_software_kitten.cpp msgid "A vase full of artificial flowers is stuck to the floor here." @@ -189855,24 +195926,25 @@ msgid "A pair of saloon-style doors swing slowly back and forth here." msgstr "酒場のスイングドアがゆっくりと揺れています。" #: src/iuse_software_kitten.cpp -msgid "It's an ordinary bust of Beethoven... but why is it painted green?" +msgid "It's an ordinary bust of Beethoven… but why is it painted green?" msgstr "ごく普通の、ベートーベンの胸像です...なんで緑に塗られてるんだ?" #: src/iuse_software_kitten.cpp -msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." +msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." msgstr "TVでお馴染みの可愛くて口の悪いカラスです!「咬んでみろ!」と言っています。" #: src/iuse_software_kitten.cpp msgid "" -"Hey, look, it's war. What is it good for? Absolutely nothing. Say it again." -msgstr "おい、見ろよ、戦争だ。何が良いんだ?まったく良いことなんてない。もう一回言おう。" +"Hey, look, it's war. What is it good for? Absolutely nothing. Say it " +"again." +msgstr "おい、見ろよ、戦争だ。何が楽しいんだ?何も楽しくない。もう一度言うぞ。" #: src/iuse_software_kitten.cpp msgid "It's the amazing self-referential thing that's not kitten." msgstr "素晴らしい自虐ネタです。子猫ではありません。" #: src/iuse_software_kitten.cpp -msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" +msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" msgstr "ケバケバしい羽毛の襟巻きです。首に巻いたらキャロル・チャニングみたいになれますよ!" #: src/iuse_software_kitten.cpp @@ -189891,7 +195963,7 @@ msgstr "「畑の土が全部流されちまった」と、幼いグレッグは #: src/iuse_software_kitten.cpp msgid "" -"This is a large brown bear. Oddly enough, it's currently peeing in the " +"This is a large brown bear. Oddly enough, it's currently peeing in the " "woods." msgstr "大きな茶色いクマがいます。不気味なことに、森の中でおしっこをしています。" @@ -189921,7 +195993,7 @@ msgstr "墜落したヘリコプターのホログラムです。" #: src/iuse_software_kitten.cpp msgid "" -"This is a television. On screen you see a robot strangely similar to " +"This is a television. On screen you see a robot strangely similar to " "yourself." msgstr "テレビです。驚くほど自分によく似たロボットが映っています。" @@ -189930,16 +196002,16 @@ msgid "This balogna has a first name, it's R-A-N-C-I-D." msgstr "このボローニャソーセージの名前はR-A-N-C-I-Dです。" #: src/iuse_software_kitten.cpp -msgid "A salmon hatchery? Look again. It's merely a single salmon." -msgstr "鮭の養殖場?いや、よく見たら一尾の鮭でした。" +msgid "A salmon hatchery? Look again. It's merely a single salmon." +msgstr "鮭の養殖場?いや、よく見たら鮭がたった一尾いるだけです。" #: src/iuse_software_kitten.cpp -msgid "It's a rim shot. Ba-da-boom!" +msgid "It's a rim shot. Ba-da-boom!" msgstr "リムショットです。バダブーン!" #: src/iuse_software_kitten.cpp msgid "" -"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." +"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." msgstr "気持ち悪く、狂気じみていて、不可思議で、不気味な、恐ろしい何かです。" #: src/iuse_software_kitten.cpp @@ -189951,26 +196023,26 @@ msgid "This object is like an analogy." msgstr "アナロジーのようです。" #: src/iuse_software_kitten.cpp -msgid "It's a symbol. You see in it a model for all symbols everywhere." -msgstr "象徴です。そこらでよく見かける全ての象徴に似ています。" +msgid "It's a symbol. You see in it a model for all symbols everywhere." +msgstr "シンボルです。そこらでよく見かけるあらゆるシンボルに似ています。" #: src/iuse_software_kitten.cpp msgid "The object pushes back at you." msgstr "物体に押し戻されました。" #: src/iuse_software_kitten.cpp -msgid "A traffic signal. It appears to have been recently vandalized." +msgid "A traffic signal. It appears to have been recently vandalized." msgstr "信号機です。ごく最近破壊されたようです。" #: src/iuse_software_kitten.cpp msgid "" -"\"There is no kitten!\" cackles the old crone. You are shocked by her " +"\"There is no kitten!\" cackles the old crone. You are shocked by her " "blasphemy." msgstr "「子猫なんていないよ!」 老婆のしわがれ声が聴こえました。冒涜的な言葉にショックを受けました。" #: src/iuse_software_kitten.cpp -msgid "This is a Lagrange point. Don't come too close now." -msgstr "ラグランジュ点です。あまり近づいてはいけません。" +msgid "This is a Lagrange point. Don't come too close now." +msgstr "ラグランジュ点です。今はまだ最接近していません。" #: src/iuse_software_kitten.cpp msgid "The dirty old tramp bemoans the loss of his harmonica." @@ -189989,7 +196061,7 @@ msgid "It's the instruction manual for a previous version of this game." msgstr "このゲームの旧バージョンの説明書です。" #: src/iuse_software_kitten.cpp -msgid "A brain cell. Oddly enough, it seems to be functioning." +msgid "A brain cell. Oddly enough, it seems to be functioning." msgstr "脳細胞です。不気味なことに、ちゃんと機能しているようです。" #: src/iuse_software_kitten.cpp @@ -190005,7 +196077,7 @@ msgid "It's a Quaker Oatmeal tube, converted into a drum." msgstr "クエーカー・オートミールの空き容器で作った小さな太鼓です。" #: src/iuse_software_kitten.cpp -msgid "This is a remote control. Being a robot, you keep a wide berth." +msgid "This is a remote control. Being a robot, you keep a wide berth." msgstr "遠隔制御装置です。ロボットとしては、十分な距離を置きたいところですよね。" #: src/iuse_software_kitten.cpp @@ -190013,8 +196085,8 @@ msgid "It's a roll of industrial-strength copper wire." msgstr "ひと巻きの工業用銅線です。" #: src/iuse_software_kitten.cpp -msgid "Oh boy! Grub! Er, grubs." -msgstr "うわあ、おい!蛆だよ!うえぇ、蛆だ。" +msgid "Oh boy! Grub! Er, grubs." +msgstr "うわあ、おい!蛆だよ!うええ、蛆だ。" #: src/iuse_software_kitten.cpp msgid "A puddle of mud, where the mudskippers play." @@ -190041,11 +196113,11 @@ msgid "An autographed copy of \"Primary Colors\", by Anonymous." msgstr "匿名のサインが入った「パーフェクト・カップル」の本です。" #: src/iuse_software_kitten.cpp -msgid "Another rabbit? That's three today!" +msgid "Another rabbit? That's three today!" msgstr "また兎?今日3羽めだぞ!" #: src/iuse_software_kitten.cpp -msgid "It's a segmentation fault. Core dumped, by the way." +msgid "It's a segmentation fault. Core dumped, by the way." msgstr "セグメンテーション違反です。ちなみに、コアはダンプされました。" #: src/iuse_software_kitten.cpp @@ -190053,7 +196125,7 @@ msgid "A historical marker showing the actual location of /dev/null." msgstr "実際に/dev/nullが置かれた場所を示す履歴マーカーです。" #: src/iuse_software_kitten.cpp -msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" +msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" msgstr "巡る白鯨、モビーディックです!うおお!" #: src/iuse_software_kitten.cpp @@ -190073,8 +196145,8 @@ msgid "A stack of 7 inch floppies wobbles precariously." msgstr "高々と積み上げられた7インチフロッピーです。今にも倒れそうです。" #: src/iuse_software_kitten.cpp -msgid "It's nothing but a corrupted floppy. Coaster anyone?" -msgstr "壊れたフロッピーです。誰かコースター代わりに使う?" +msgid "It's nothing but a corrupted floppy. Coaster anyone?" +msgstr "壊れたフロッピーです。コースター欲しいやついるか?" #: src/iuse_software_kitten.cpp msgid "A section of glowing phosphor cells sings a song of radiation to you." @@ -190117,8 +196189,8 @@ msgid "It's the missing chapter to \"A Clockwork Orange\"." msgstr "「時計じかけのオレンジ」の失われたチャプターです。" #: src/iuse_software_kitten.cpp -msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." -msgstr "ブリート屋「タケリーア・エル・ランチート」のチラシです。" +msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." +msgstr "ブリトー屋「タケリーア・エル・ランチート」のチラシです。" #: src/iuse_software_kitten.cpp msgid "This smiling family is happy because they eat LARD." @@ -190145,11 +196217,11 @@ msgid "A forgotten telephone switchboard operator." msgstr "忘れ去られた電話交換手です。" #: src/iuse_software_kitten.cpp -msgid "It's an automated robot-disdainer. It pretends you're not there." -msgstr "全自動ロボット軽蔑機です。あなたを無視しています。" +msgid "It's an automated robot-disdainer. It pretends you're not there." +msgstr "全自動ロボット軽蔑機です。こちらのことなど傍らに無きが如しです。" #: src/iuse_software_kitten.cpp -msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." +msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." msgstr "ポータブルホールです。立て札には「冬季閉鎖中」と書いてあります。" #: src/iuse_software_kitten.cpp @@ -190157,11 +196229,11 @@ msgid "Just a moldy loaf of bread." msgstr "カビたパンです。" #: src/iuse_software_kitten.cpp -msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." -msgstr "ガラス瓶に入ったCarmexリップクリーム($.89)です。でも残念、ロボットには唇がありません。" +msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." +msgstr "ガラス瓶に入ったCarmexリップクリーム($.89)です。でも残念、あなたには唇がありません。" #: src/iuse_software_kitten.cpp -msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" +msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" msgstr "スイスアーミーナイフです。全ての付属品が展開されています(つまようじは無くなっています)。" #: src/iuse_software_kitten.cpp @@ -190181,7 +196253,7 @@ msgid "A willing, ripe tomato bemoans your inability to digest fruit." msgstr "意思を持つ完熟トマトが、あなたに果物を消化する能力が無いことを嘆いています。" #: src/iuse_software_kitten.cpp -msgid "A robot comedian. You feel amused." +msgid "A robot comedian. You feel amused." msgstr "ロボットのコメディアンです。おもしろいや。" #: src/iuse_software_kitten.cpp @@ -190189,7 +196261,7 @@ msgid "It's KITT, the talking car." msgstr "KITTです。喋る車です。" #: src/iuse_software_kitten.cpp -msgid "Here's Pete Peterson. His batteries seem to have long gone dead." +msgid "Here's Pete Peterson. His batteries seem to have long gone dead." msgstr "ピート・ピーターソンがいます。電池が切れてずいぶん経っているようです。" #: src/iuse_software_kitten.cpp @@ -190217,7 +196289,7 @@ msgid "Pumpkin pie spice." msgstr "パンプキンパイのスパイスです。" #: src/iuse_software_kitten.cpp -msgid "It's the Bass-Matic '76! Mmm, that's good bass!" +msgid "It's the Bass-Matic '76! Mmm, that's good bass!" msgstr " Bass-Matic '76です!うーん、いいバスだ!" #: src/iuse_software_kitten.cpp @@ -190225,7 +196297,7 @@ msgid "\"Lend us a fiver 'til Thursday\", pleas Andy Capp." msgstr "「木曜日まで5ドル貸してくれないか?」とアンディ・キャップが嘆願しています。" #: src/iuse_software_kitten.cpp -msgid "It's a tape of '70s rock. All original hits! All original artists!" +msgid "It's a tape of '70s rock. All original hits! All original artists!" msgstr "70年代のロックが入ったカセットテープです。すべてがヒット曲のオリジナル音源!すべてが本人の歌唱!" #: src/iuse_software_kitten.cpp @@ -190242,12 +196314,12 @@ msgstr "空前絶後のメタオブジェクトです。" #: src/iuse_software_kitten.cpp msgid "" -"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " +"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " "SIR!\"" -msgstr "エド・マクマホンが立っています。何か思案しています。ふとあなたを見て「イエッサー!」と怒鳴りました。" +msgstr "エド・マクマホンが立っています。何か思案しています。あなたを視界に入れると「イエッサー!」と大声をあげました。" #: src/iuse_software_kitten.cpp -msgid "...thingy???" +msgid "…thingy???" msgstr "...なんじゃらほい???" #: src/iuse_software_kitten.cpp @@ -190259,11 +196331,11 @@ msgid "The letters O and R." msgstr "文字です。OとRです。" #: src/iuse_software_kitten.cpp -msgid "A magical... magic thing." +msgid "A magical… magic thing." msgstr "魔法...魔法のようなものです。" #: src/iuse_software_kitten.cpp -msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" +msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" msgstr "ヘラジカという名の純粋悪です。逃げましょう!" #: src/iuse_software_kitten.cpp @@ -190295,12 +196367,12 @@ msgstr ")。" #: src/iuse_software_kitten.cpp msgid "" -"Your job is to find kitten. This task is complicated by the existence of " -"various things which are not kitten. Robot must touch items to determine if " -"they are kitten or not. The game ends when robot finds kitten. " +"Your job is to find kitten. This task is complicated by the existence of " +"various things which are not kitten. Robot must touch items to determine if" +" they are kitten or not. The game ends when robot finds kitten. " "Alternatively, you may end the game by hitting 'q', 'Q' or the Escape key." msgstr "" -"あなたの仕事は子猫を見つけることです。しかしこの仕事は様々な子猫でない存在によって複雑化されています。ロボットはそれが子猫であるか否か、触れなければ判別できません。ロボットが子猫を見つけたらゲームクリアです。'q'か'Q'もしくは'Esc'で終了できます。" +"ゲームの目的は子猫を見つけることです。しかし様々な子猫以外の存在がこのゲームを複雑にしています。ロボットはそれが子猫であるか否か、触れなければ判別できません。ロボットが子猫を見つけたらゲームクリアです。途中で終了する場合は'q'キーか'Q'キーもしくは'Esc'キーを押してください。" #: src/iuse_software_kitten.cpp msgid "Press any key to start." @@ -190311,7 +196383,7 @@ msgid "Invalid command: Use direction keys or press 'q'." msgstr "無効なコマンド:方向キーを使うか[q]を押して下さい。" #: src/iuse_software_kitten.cpp -msgid "You found kitten! Way to go, robot!" +msgid "You found kitten! Way to go, robot!" msgstr "子猫を発見しました!その調子だ、ロボット!" #: src/iuse_software_lightson.cpp @@ -190384,7 +196456,7 @@ msgid "lag" msgstr "フラグ" #: src/iuse_software_minesweeper.cpp -msgid "Boom, you're dead! Better luck next time." +msgid "Boom, you're dead! Better luck next time." msgstr "ボカーン、死んでしまいました!きっと次は上手くいきますよ。" #: src/iuse_software_snake.cpp src/iuse_software_sokoban.cpp @@ -190689,6 +196761,10 @@ msgstr "行動コスト%d" msgid "You cast %s!" msgstr "%sの呪文を唱えました!" +#: src/magic.cpp +msgid "an explosion" +msgstr "[爆発音]" + #: src/magic.cpp msgid "Too Difficult!" msgstr "難解です!" @@ -190721,10 +196797,6 @@ msgstr "エラー: energy_type" msgid "infinite" msgstr "無限" -#: src/magic.cpp -msgid "an explosion" -msgstr "[爆発音]" - #: src/magic.cpp #, c-format msgid "%s and %s" @@ -190772,6 +196844,23 @@ msgstr "この呪文を習得できません。" msgid "All knowledge of %s leaves you." msgstr "%sに関する全ての知識を忘れ去りました。" +#: src/magic.cpp +msgid "Choose a new hotkey for this spell." +msgstr "呪文に割り当てるキーを選択してください。" + +#: src/magic.cpp +msgid "Hotkey already used." +msgstr "そのキーは既に使われています。" + +#: src/magic.cpp +#, c-format +msgid "%c set. Close and reopen spell menu to refresh list with changes." +msgstr "%cを割り当てました。呪文メニューを閉じて再度開くと、割り当てを変更して一覧を更新します。" + +#: src/magic.cpp +msgid "Hotkey removed." +msgstr "キー割り当てを削除しました。" + #: src/magic.cpp msgid "Ignore Distractions" msgstr "警告文を無視する" @@ -190780,6 +196869,10 @@ msgstr "警告文を無視する" msgid "Popup Distractions" msgstr "警告文を表示する" +#: src/magic.cpp +msgid "Assign Hotkey [=]" +msgstr "キー割当 [=]" + #: src/magic.cpp msgid "requires concentration" msgstr "集中力" @@ -190844,6 +196937,10 @@ msgstr "詠唱コスト" msgid "Casting Cost (impeded)" msgstr "詠唱コスト(阻害)" +#: src/magic.cpp +msgid "Not Enough Energy" +msgstr "エネルギー不足" + #: src/magic.cpp msgid "Casting Time" msgstr "詠唱時間" @@ -190912,18 +197009,22 @@ msgstr "回復" msgid "Damage Type" msgstr "ダメージタイプ" +#. ~ translation should not exceed 10 console cells #: src/magic.cpp msgid "Stat Gain" msgstr "能力値増加" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "lvl 0" msgstr "LV 0" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "per lvl" msgstr "LV毎" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "max lvl" msgstr "LV 最大" @@ -190977,7 +197078,7 @@ msgid "Choose Translocator Gate" msgstr "転移ゲートを選択" #: src/main.cpp -msgid "Really Quit? All unsaved changes will be lost." +msgid "Really Quit? All unsaved changes will be lost." msgstr "終了しますか? 未保存の変更は失われます。" #: src/main_menu.cpp @@ -191097,21 +197198,25 @@ msgid "olors" msgstr "文字色" #: src/main_menu.cpp -msgid "Unable to make config directory. Check permissions." +msgid "Unable to make config directory. Check permissions." msgstr "configフォルダを作成できませんでした。許可の設定を確認してください。" #: src/main_menu.cpp -msgid "Unable to make save directory. Check permissions." +msgid "Unable to make save directory. Check permissions." msgstr "saveフォルダを作成できませんでした。許可の設定を確認してください。" #: src/main_menu.cpp -msgid "Unable to make templates directory. Check permissions." +msgid "Unable to make templates directory. Check permissions." msgstr "templatesフォルダを作成できませんでした。許可の設定を確認してください。" #: src/main_menu.cpp -msgid "Unable to make sound directory. Check permissions." +msgid "Unable to make sound directory. Check permissions." msgstr "soundフォルダを作成できませんでした。許可の設定を確認してください。" +#: src/main_menu.cpp +msgid "Unable to make graphics directory. Check permissions." +msgstr "graphicsフォルダを作成できませんでした。許可の設定を確認してください。" + #: src/main_menu.cpp msgid "Really quit?" msgstr "本当に終了しますか?" @@ -191137,7 +197242,7 @@ msgstr "ランダム" #: src/main_menu.cpp msgctxt "Main Menu|New Game" -msgid "Play Now! (ixed Scenario)" +msgid "Play Now! (ixed Scenario)" msgstr "今すぐ開始!(シナリオ固定)" #: src/main_menu.cpp @@ -191186,6 +197291,12 @@ msgstr "管理者だけが世界を変更できます。" msgid "Create World" msgstr "世界生成" +#. ~ %1$s: vehicle name +#: src/map.cpp +#, c-format +msgid "weight of %1$s" +msgstr "%1$sの重量" + #: src/map.cpp #, c-format msgid "The %1$s's %2$s collides with %3$s's %4$s." @@ -191247,6 +197358,17 @@ msgstr "落ちてきた%sが命中しました!" msgid "Falling %s hits " msgstr "落ちてきた%sがに命中しました。" +#: src/map.cpp +#, c-format +msgid "The %s damages several items!" +msgstr "%sによって複数のアイテムが損傷しました!" + +#. ~ %1$s: the cause of damage, %2$s: damaged item name +#: src/map.cpp +#, c-format +msgid "The %1$s damages the %2$s!" +msgstr "%1$sによって%2$sが損傷しました!" + #: src/map.cpp msgid "an alarm go off!" msgstr "[警報音!]" @@ -191263,18 +197385,34 @@ msgstr "落ちてきた瓦礫に押しつぶされています!" msgid " is crushed by the falling debris!" msgstr "は落ちてきた瓦礫に押しつぶされています!" -#: src/map.cpp -msgid "The shot is stopped by the reinforced glass wall!" -msgstr "弾丸は強化ガラスによって阻まれました!" - #: src/map.cpp msgid "The shot is stopped by the reinforced glass door!" msgstr "弾丸は強化ガラスの扉によって阻まれました!" +#: src/map.cpp +msgid "The shot is stopped by the reinforced glass wall!" +msgstr "弾丸は強化ガラスによって阻まれました!" + #: src/map.cpp msgid "ke-rash!" msgstr "ガシャーン!" +#: src/map.cpp +msgid "laser beam" +msgstr "レーザー光線" + +#: src/map.cpp +msgid "bolt of electricity" +msgstr "電撃" + +#: src/map.cpp +msgid "bolt of plasma" +msgstr "プラズマ" + +#: src/map.cpp +msgid "flying projectile" +msgstr "飛来物" + #: src/map.cpp msgid "The metal bars melt!" msgstr "金属柵が溶解しました!" @@ -191336,7 +197474,7 @@ msgid "Something has crawled out of the %s!" msgstr "%sから何かが這い出しました!" #: src/map_extras.cpp -msgid "DANGER! MINEFIELD!" +msgid "DANGER! MINEFIELD!" msgstr "危険! 地雷原!" #: src/map_field.cpp @@ -191387,8 +197525,8 @@ msgid "The sap sticks to !" msgstr "樹液がにかかりました!" #: src/map_field.cpp -msgid "The sludge is thick and sticky. You struggle to pull free." -msgstr "足元のぬかるみは深く、ねばついています。自由になろうと足掻いています。" +msgid "The sludge is thick and sticky. You struggle to pull free." +msgstr "足元のぬかるみは深く、粘ついています。自由になろうと足掻いています。" #: src/map_field.cpp msgid "You burn your legs and feet!" @@ -191675,17 +197813,17 @@ msgstr "発動" #: src/martialarts.cpp #, c-format msgid "* Can %s while armed or unarmed" -msgstr "* %s条件:対応武器装備素手" +msgstr "* %s条件: 対応武器装備素手" #: src/martialarts.cpp #, c-format msgid "* Can %s while using any unarmed weapon" -msgstr "* %s条件:素手" +msgstr "* %s補足: 素手武器装備可能" #: src/martialarts.cpp #, c-format msgid "* Can only %s while unarmed" -msgstr "* %s条件: 完全素手" +msgstr "* %s条件: 素手" #: src/martialarts.cpp #, c-format @@ -191715,12 +197853,12 @@ msgstr[0] "効果" #: src/martialarts.cpp #, c-format msgid "* Will stack up to %d times" -msgstr "* 蓄積(最大%d回)" +msgstr "* 最大%d蓄積" #: src/martialarts.cpp #, c-format msgid "* Will last for %d %s" -msgstr "* 継続(%d%s)" +msgstr "* %d%s継続" #: src/martialarts.cpp #, c-format @@ -191767,22 +197905,34 @@ msgstr "%sは武器装備状態では使えません。" #: src/martialarts.cpp #, c-format -msgid "The %s is not a valid %s weapon." -msgstr "%sは%sに対応する武器ではありません。" +msgid "The %1$s is not a valid %2$s weapon." +msgstr "%1$sは%2$sに対応する武器ではありません。" #: src/martialarts.cpp -#, c-format -msgid "Type: %s" -msgstr "タイプ: %s" +msgid "Block Counter" +msgstr "ブロックカウンター" + +#: src/martialarts.cpp +msgid "Dodge Counter" +msgstr "回避カウンター" + +#: src/martialarts.cpp +msgid "Miss Recovery" +msgstr "ミス相殺" #: src/martialarts.cpp -msgid "defensive" +msgid "Defensive" msgstr "防御" #: src/martialarts.cpp -msgid "offensive" +msgid "Offensive" msgstr "攻撃" +#: src/martialarts.cpp +#, c-format +msgid "Type: %s" +msgstr "タイプ: %s" + #: src/martialarts.cpp msgid "Bonus: " msgstr "ボーナス: " @@ -191887,6 +198037,11 @@ msgstr "* 気絶攻撃(%d%s)" msgid "* Will disarm the target" msgstr "* 武装解除攻撃" +#: src/martialarts.cpp +msgid "" +"* Will disarm the target and take their weapon" +msgstr "* 標的の武装解除武器奪取" + #: src/martialarts.cpp msgid "" "This style forces you to use unarmed strikes, even if wielding a " @@ -192035,8 +198190,8 @@ msgstr[0] "あなたの方を向くと、%sは大きな警告音を%d回鳴ら #. ~ There will be a 120mm HEAT shell sent at high speed to your location next #. turn. #: src/mattack_actors.cpp src/monattack.cpp -msgid "You're not sure why you've got a laser dot on you..." -msgstr "なぜレーザー照準を受けているのか分かりません..." +msgid "You're not sure why you've got a laser dot on you…" +msgstr "何故かレーザーを照準されています..." #: src/mattack_actors.cpp src/monattack.cpp msgid "The " @@ -192134,6 +198289,20 @@ msgstr "攻撃が何かに命中しました。" msgid "You swing at the air." msgstr "攻撃は空を切りました。" +#: src/melee.cpp +msgid " disarms you and takes your weapon!" +msgstr "があなたの武装を解除し、武器を奪い取りました!" + +#: src/melee.cpp +#, c-format +msgid "You disarm %s and take their weapon!" +msgstr "%sの武装を解除し、武器を奪い取りました!" + +#: src/melee.cpp +#, c-format +msgid " disarms %s and takes their weapon!" +msgstr "が%sの武装を解除し、武器を奪い取りました!" + #: src/melee.cpp msgid " disarms you!" msgstr "があなたの武装を解除しました!" @@ -192154,11 +198323,6 @@ msgid "%d enemy hit!" msgid_plural "%d enemies hit!" msgstr[0] "%d体の敵が襲ってきました!" -#: src/melee.cpp -#, c-format -msgid "You have learned %s from extensive practice with the CQB Bionic." -msgstr "CQB生体部品によって広範な実戦訓練を行い、%sを覚えました。" - #. ~ Adjective in "You block of the damage with your . #: src/melee.cpp msgid "all" @@ -192199,6 +198363,10 @@ msgstr "%2$sが%1$sのダメージを防ぎました!" msgid " blocks %1$s of the damage with their %2$s!" msgstr "の%2$sが%1$sのダメージを防ぎました!" +#: src/melee.cpp src/player.cpp +msgid "You try to counterattack but you are too exhausted!" +msgstr "反撃を試みましたが、疲れのせいで失敗しました!" + #: src/melee.cpp #, c-format msgid "You poison %s!" @@ -192480,7 +198648,7 @@ msgstr "%s。会心の一撃!" #. ~ someone hits something for %d damage (critical) #: src/melee.cpp #, c-format -msgid "%s for %d damage. Critical!" +msgid "%s for %d damage. Critical!" msgstr "%s%dのダメージを与えました。会心の一撃!" #. ~ NPC hits something @@ -193822,7 +199990,7 @@ msgstr "< %sでフィルター有効、%s でリセット >" #: src/messages.cpp #, c-format msgid "" -"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" +"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" "Examples:\n" " good:mutation\n" " :you pick up: 1\n" @@ -193878,7 +200046,7 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Assigning one of your allies to patrol the surrounding wilderness and isolated buildings presents the opportunity to build survival skills while engaging in relatively safe combat against isolated creatures." msgstr "" "収益: $25-$500\n" @@ -193896,7 +200064,7 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Patrol Roster:\n" msgstr "" "収益: $25-$500\n" @@ -193906,8 +200074,8 @@ msgstr "" "巡回部隊名簿: \n" #: src/mission_companion.cpp -msgid " hours] \n" -msgstr " 時間] \n" +msgid " hours]\n" +msgstr " 時間]\n" #: src/mission_companion.cpp msgid "Retrieve Scavenging Patrol" @@ -193918,7 +200086,7 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Scavenging raids target formerly populated areas to loot as many valuable items as possible before being surrounded by the undead. Combat is to be expected and assistance from the rest of the party can't be guaranteed. The rewards are greater and there is a chance of the companion bringing back items." msgstr "" "収益: $200-$1000\n" @@ -193936,7 +200104,7 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Raid Roster:\n" msgstr "" "収益: $200-$1000\n" @@ -193958,9 +200126,9 @@ msgid "" "Profit: $8/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Assigning one of your allies to menial labor is a safe way to teach them basic skills and build reputation with the outpost. Don't expect much of a reward though.\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" "利益: $8/時間\n" @@ -193980,7 +200148,7 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Carpentry work requires more skill than menial labor while offering modestly improved pay. It is unlikely that your companions will face combat but there are hazards working on makeshift buildings." msgstr "" "収益: $12/時間\n" @@ -193998,7 +200166,7 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" "収益: $12/1時間\n" @@ -194014,8 +200182,8 @@ msgstr "仲間を大工仕事から呼び戻す" #: src/mission_companion.cpp msgid "" "Cost: $1000\n" -" \n" -" \n" +"\n" +"\n" " .........\n" " .........\n" " .........\n" @@ -194025,8 +200193,8 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" -"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours... after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." +"\n" +"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours… after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." msgstr "" "費用: $1000\n" "\n" @@ -194050,7 +200218,7 @@ msgstr "東部の土地を購入" #: src/mission_companion.cpp msgid "" "Cost: $5500\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -194061,7 +200229,7 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "Protecting your field with a sturdy picket fence will keep most wildlife from nibbling your crops apart. You can expect yields to increase." msgstr "" "費用: $5500\n" @@ -194086,7 +200254,7 @@ msgstr "東部の土地を改良(1)" #: src/mission_companion.cpp msgid "" "Cost: $3.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -194097,7 +200265,7 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "We'll plant the field with your choice of crop if you are willing to finance it. When the crop is ready to harvest you can have us liquidate it or harvest it for you." msgstr "" "費用: $3.00 / 1タイル\n" @@ -194122,7 +200290,7 @@ msgstr "東部の土地を植え付け" #: src/mission_companion.cpp msgid "" "Cost: $2.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -194133,7 +200301,7 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "You can either have us liquidate the crop and give you the cash or pay us to harvest it for you." msgstr "" "費用:$2.00 / 1タイル\n" @@ -194149,7 +200317,7 @@ msgstr "" "..#Ov..**\n" "...O|....\n" "\n" -"我々が収穫作業を代行します。収穫した作物をこちらで換金して受け取るか、作物をそのまま受け取るか選んでください。" +"我々が収穫作業を代行します。収穫した作物を売って金にするか、そのまま受け取るか選んでください。" #: src/mission_companion.cpp msgid "Harvest East Field" @@ -194160,7 +200328,7 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Foraging for food involves dispatching a companion to search the surrounding wilderness for wild edibles. Combat will be avoided but encounters with wild animals are to be expected. The low pay is supplemented with the odd item as a reward for particularly large hauls." msgstr "" "利益: $10/時間\n" @@ -194178,7 +200346,7 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" "収益: $10/時間\n" @@ -194196,9 +200364,9 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" +"\n" "Adding companions to the caravan team increases the likelihood of success. By nature, caravans are extremely tempting targets for raiders or hostile groups so only a strong party is recommended. The rewards are significant for those participating but are even more important for the factions that profit.\n" -" \n" +"\n" "The commune is sending food to the Free Merchants in the Refugee Center as part of a tax and in exchange for skilled labor." msgstr "" "収益: $18/時間\n" @@ -194218,8 +200386,8 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" -" \n" +"\n" +"\n" "Roster:\n" msgstr "" "収益: $18/時間\n" @@ -194229,26 +200397,26 @@ msgstr "" "隊商護衛者名簿: \n" #: src/mission_companion.cpp -msgid " [READY] \n" -msgstr "[準備完了]\n" +msgid " [READY]\n" +msgstr " [準備完了]\n" #: src/mission_companion.cpp -msgid " [COMPLETE] \n" -msgstr "[完了]\n" +msgid " [COMPLETE]\n" +msgstr " [完了]\n" #: src/mission_companion.cpp -msgid " Hours] \n" -msgstr " 時間] \n" +msgid " Hours]\n" +msgstr " 時間]\n" #: src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "The caravan will contain two or three additional members from the commune, are you ready to depart?" msgstr "" "\n" "\n" -"拠点から2、3人の人員が隊商に参加させます。出発しますか?" +"2、3人の人員を隊商に参加させます。出発しますか?" #: src/mission_companion.cpp msgid "Begin Commune-Refugee Center Run" @@ -194259,37 +200427,37 @@ msgid "Recover Commune-Refugee Center" msgstr "避難センターから呼び戻す" #: src/mission_companion.cpp -msgid "There are no missions at this colony. Press Spacebar..." +msgid "There are no missions at this colony. Press Spacebar…" msgstr "この拠点での任務はありません。スペースキーを押して下さい..." #: src/mission_companion.cpp -msgid "joins the caravan team..." +msgid "joins the caravan team…" msgstr "は隊商に加わりました..." #: src/mission_companion.cpp -msgid "departs on the scavenging patrol..." +msgid "departs on the scavenging patrol…" msgstr "はスカベンジャー部隊の巡回に向かいました..." #: src/mission_companion.cpp -msgid "departs on the scavenging raid..." +msgid "departs on the scavenging raid…" msgstr "はスカベンジャー部隊の大規模探索に向かいました..." #: src/mission_companion.cpp -msgid "departs to work as a laborer..." +msgid "departs to work as a laborer…" msgstr "は単純労働作業に向かいました..." #: src/mission_companion.cpp -msgid "departs to work as a carpenter..." +msgid "departs to work as a carpenter…" msgstr "は建設作業に向かいました..." #: src/mission_companion.cpp -msgid "departs to forage for food..." +msgid "departs to forage for food…" msgstr "は食料調達に向かいました..." #: src/mission_companion.cpp #, c-format -msgid "The caravan departs with an estimated total travel time of %d hours..." -msgstr "隊商の帰還までおよそ %d 時間です..." +msgid "The caravan departs with an estimated total travel time of %d hours…" +msgstr "隊商の帰還まで約%d時間です..." #: src/mission_companion.cpp #, c-format @@ -194314,7 +200482,7 @@ msgid "The caravan party has returned. Your share of the profits are $%d!" msgstr "隊商が帰還しました。報酬を分配して $%d の利益を得ました!" #: src/mission_companion.cpp -msgid "The caravan was a disaster and your companions never made it home..." +msgid "The caravan was a disaster and your companions never made it home…" msgstr "今回の隊商は壊滅しました。派遣した仲間は帰ってきませんでした..." #: src/mission_companion.cpp @@ -194342,19 +200510,19 @@ msgstr "%s は台帳にあなたの名前を記し、近くの労働者に耕作 #, c-format msgid "" "After counting your money %s directs a nearby laborer to begin constructing " -"a fence around your plot..." -msgstr "金を勘定し終わった %s は農地を柵で囲うよう労働者に命じました..." +"a fence around your plot…" +msgstr "金を勘定し終わった%sは農地を柵で囲うよう労働者に命じました..." #: src/mission_companion.cpp msgid "You have no seeds to plant!" msgstr "種を所持していません!" #: src/mission_companion.cpp -msgid "You have no room to plant seeds..." +msgid "You have no room to plant seeds…" msgstr "植える場所が無いな..." #: src/mission_companion.cpp -msgid "I'm sorry, you don't have enough money to plant those seeds..." +msgid "I'm sorry, you don't have enough money to plant those seeds…" msgstr "すまないが、種を植えるには金が足りないようだ..." #: src/mission_companion.cpp @@ -194370,7 +200538,7 @@ msgid "" msgstr "金を勘定し、種を掻き集めると、%s は何人かの労働者を集めて作業に向かわせました。" #: src/mission_companion.cpp -msgid "There aren't any plants that are ready to harvest..." +msgid "There aren't any plants that are ready to harvest…" msgstr "収穫可能な作物はありません..." #: src/mission_companion.cpp @@ -194378,13 +200546,13 @@ msgid "Which plants do you want to have harvested?" msgstr "どの作物を収穫しますか?" #: src/mission_companion.cpp -msgid "You decided to hold off for now..." +msgid "You decided to hold off for now…" msgstr "今はやめておくことにしました..." #: src/mission_companion.cpp msgid "" "You don't have enough to pay the workers to harvest the crop so you are " -"forced to sell..." +"forced to sell…" msgstr "労働者を雇って収穫させようとしましたが、金が足りないため、収穫物を売却するしかありません..." #: src/mission_companion.cpp @@ -194394,19 +200562,19 @@ msgstr "$%d で、%s %d を売却しますか?" #: src/mission_companion.cpp #, c-format -msgid "The %s are sold for $%d..." +msgid "The %s are sold for $%d…" msgstr "%sを$%dで売却しました..." #: src/mission_companion.cpp #, c-format -msgid "You receive %d %s..." +msgid "You receive %d %s…" msgstr "%d 個の%s を受け取りました..." #: src/mission_companion.cpp #, c-format msgid "" "While scavenging, %s's party suddenly found itself set upon by a large mob " -"of undead..." +"of undead…" msgstr "収集活動中、%s の部隊が突然大量のゾンビの群れに見つかってしまいました..." #: src/mission_companion.cpp @@ -194414,7 +200582,7 @@ msgid "Through quick thinking the group was able to evade combat!" msgstr "スカベンジャー部隊は機転を利かせ、戦闘を回避しました!" #: src/mission_companion.cpp -msgid "Combat took place in close quarters, focusing on melee skills..." +msgid "Combat took place in close quarters, focusing on melee skills…" msgstr "スカベンジャー部隊は閉所での接近戦を余儀なくされました。近接戦闘スキルが試されます..." #: src/mission_companion.cpp @@ -194423,13 +200591,12 @@ msgid "Through brute force the party smashed through the group of %d undead!" msgstr "スカベンジャー部隊は %d体のゾンビを強引に切り抜けました!" #: src/mission_companion.cpp -msgid "Unfortunately they were overpowered by the undead... I'm sorry." -msgstr "スカベンジャー部隊は不運にも敵の数に圧倒されてしまったようだ...申し訳ない。" +msgid "Unfortunately they were overpowered by the undead… I'm sorry." +msgstr "スカベンジャー部隊は不運にも敵の数に圧倒されてしまったようだ...残念ながら。" #: src/mission_companion.cpp #, c-format -msgid "" -"%s returns from patrol having earned $%d and a fair bit of experience..." +msgid "%s returns from patrol having earned $%d and a fair bit of experience…" msgstr "%s は様々な経験を積み巡回任務から帰還しました。 $%d の報酬を得ました。" #: src/mission_companion.cpp @@ -194448,7 +200615,7 @@ msgstr "%s はあなたの実力を認め、より危険な強襲作戦にも参 #: src/mission_companion.cpp #, c-format msgid "" -"%s returns from the raid having earned $%d and a fair bit of experience..." +"%s returns from the raid having earned $%d and a fair bit of experience…" msgstr "%s が様々な経験を積み強襲任務から帰還しました。$%d の報酬を得ました。" #: src/mission_companion.cpp @@ -194460,7 +200627,7 @@ msgstr "%s が %s を持って帰ってきました!" #, c-format msgid "" "%s returns from working as a laborer having earned $%d and a bit of " -"experience..." +"experience…" msgstr "%s が多少の経験を積んで労働作業から帰還しました。 $%d の報酬を得ました。" #: src/mission_companion.cpp @@ -194472,7 +200639,7 @@ msgstr "%s はあなたの仲間の能力を認め、より高度な仕事も任 #: src/mission_companion.cpp #, c-format -msgid "While %s was framing a building one of the walls began to collapse..." +msgid "While %s was framing a building one of the walls began to collapse…" msgstr "%s が柱の間に筋交いを掛けようとしましたが、その傍らで壁が崩れかけています..." #: src/mission_companion.cpp @@ -194487,7 +200654,7 @@ msgstr "%sは窓枠から転がり出て、壁の崩壊から逃れました。" #: src/mission_companion.cpp #, c-format -msgid "%s didn't make it out in time..." +msgid "%s didn't make it out in time…" msgstr "%s には逃げ出す暇もありませんでした..." #: src/mission_companion.cpp @@ -194496,7 +200663,7 @@ msgid "but %s was rescued from the debris with only minor injuries!" msgstr "しかし%sは瓦礫の中から救助され、ケガもかすり傷で済みました!" #: src/mission_companion.cpp -msgid "Everyone who was trapped under the collapsing roof died..." +msgid "Everyone who was trapped under the collapsing roof died…" msgstr "崩壊する屋根に巻き込まれた者は、全員死亡しました..." #: src/mission_companion.cpp @@ -194507,12 +200674,12 @@ msgstr "すまない、何もできなかった。" #, c-format msgid "" "%s returns from working as a carpenter having earned $%d and a bit of " -"experience..." +"experience…" msgstr "%s が多少の経験を積んで建設作業から帰還した。 $%d の報酬を得ました。" #: src/mission_companion.cpp #, c-format -msgid "While foraging, a beast began to stalk %s..." +msgid "While foraging, a beast began to stalk %s…" msgstr "食料調達の道中、野獣が %s を追跡し始めました..." #: src/mission_companion.cpp @@ -194545,18 +200712,18 @@ msgstr "%s はピューマを打ち倒し、血溜まりに沈めました!" #, c-format msgid "" "%s was able to hold off the first wolf but the others that were skulking in " -"the tree line caught up..." -msgstr "%s は1頭のオオカミを振り払いましたが、木陰に潜んでいた他の数頭が次々に飛び掛かり..." +"the tree line caught up…" +msgstr "%s はオオカミを1匹振り払いましたが、木陰に潜んでいた他の数頭が次々に飛び掛かり..." #: src/mission_companion.cpp -msgid "I'm sorry, there wasn't anything we could do..." +msgid "I'm sorry, there wasn't anything we could do…" msgstr "残念だが、どうしようもなかった..." #: src/mission_companion.cpp #, c-format msgid "" -"We... we don't know what exactly happened but we found %s's gear ripped and " -"bloody..." +"We… we don't know what exactly happened but we found %s's gear ripped and " +"bloody…" msgstr "その...奴の身に何が起こったのかは分からないが、%s の持ち物が切り裂かれ、血塗れで転がっていたんだ..." #: src/mission_companion.cpp @@ -194567,7 +200734,7 @@ msgstr "恐らく、あなたの仲間は帰ってこないだろう。" #, c-format msgid "" "%s returns from working as a forager having earned $%d and a bit of " -"experience..." +"experience…" msgstr "%s が多少の経験を積んで食料調達から帰還しました。 $%d の報酬を得ました。" #: src/mission_companion.cpp @@ -194599,24 +200766,50 @@ msgid "Engagement between %d members of %s %s and %d members of %s %s%s!" msgstr "%d 人の %s %s と %d 人の %s %s %s が交戦を開始しました!" #: src/mission_companion.cpp -msgid "You don't have any companions to send out..." +msgid "You don't have any companions to send out…" msgstr "派遣可能な仲間がいません..." #: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" -msgstr "派遣する仲間を選択 [ 戦闘 : サバイバル : 製造 ]" +msgid "Who do you want to send?" +msgstr "派遣する人間を選択" + +#: src/mission_companion.cpp +msgid "[ COMBAT : SURVIVAL : INDUSTRY ]" +msgstr "[ 戦闘 : サバイバル : 製作 ]" + +#. ~ %1$s: npc name +#: src/mission_companion.cpp +#, c-format +msgctxt "companion" +msgid "%1$s (Guarding)" +msgstr "%1$s(見張り)" + +#: src/mission_companion.cpp +#, c-format +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" +msgstr "%s [ %4d : %4d : %4d ]" +#. ~ %1$s: skill name, %2$d: companion skill level #: src/mission_companion.cpp -msgid "You choose to send no one..." -msgstr "派遣を中止しました..." +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d" +msgstr "%1$s%2$d" + +#. ~ %1$s: skill name, %2$d: companion skill level, %3$d: skill requirement +#: src/mission_companion.cpp +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d/%3$d" +msgstr "%1$s%2$d/%3$d" #: src/mission_companion.cpp -msgid "The companion you selected doesn't have the skills!" -msgstr "選択した仲間のスキルレベルが不足しています!" +msgid "You choose to send no one…" +msgstr "誰も派遣しないことにしました..." #: src/mission_companion.cpp -msgid "You don't have any companions ready to return..." +msgid "You don't have any companions ready to return…" msgstr "帰還可能な仲間がいません..." #: src/mission_companion.cpp @@ -194624,7 +200817,7 @@ msgid "Who should return?" msgstr "帰還させる仲間を選択" #: src/mission_companion.cpp -msgid "No one returns to your party..." +msgid "No one returns to your party…" msgstr "帰還させるのを中断しました..." #: src/mission_end.cpp @@ -194656,17 +200849,16 @@ msgid "Download Software" msgstr "ソフトウェアをダウンロードする" #: src/mission_start.cpp -msgid "You don't know where the address could be..." +msgid "You don't know where the address could be…" msgstr "住所がどこを指しているのか分かりませんでした..." #: src/mission_start.cpp -msgid "You mark the refugee center and the road that leads to it..." +msgid "You mark the refugee center and the road that leads to it…" msgstr "避難センターの場所と経路をマップに印しました..." #: src/mission_start.cpp msgid "" -"You mark the refugee center, but you have no idea how to get there by " -"road..." +"You mark the refugee center, but you have no idea how to get there by road…" msgstr "避難センターの場所をマップに印しましたが、経路は分かりませんでした..." #: src/mission_start.cpp @@ -194743,7 +200935,7 @@ msgstr "依頼を失敗していません!" #: src/mission_util.cpp #, c-format -msgid "%s also marks the road that leads to it..." +msgid "%s also marks the road that leads to it…" msgstr "%sが目的地への経路を示してくれました..." #: src/mission_util.cpp @@ -194944,7 +201136,7 @@ msgstr "%1$sがの%2$sに酸を吐き掛けましたが、装甲を濡 #: src/monattack.cpp #, c-format msgid "A bolt of electricity arcs towards %s!" -msgstr "電撃が%sに弧を描いて迫ってきました!" +msgstr "電撃が%sに弧を描いて迫りました!" #: src/monattack.cpp #, c-format @@ -195129,14 +201321,6 @@ msgstr "ドクン。" msgid "The root walls creak around you." msgstr "根の壁がきしみ始めた。" -#. ~ the sound of a fungus releasing spores -#. ~ That spore sound again -#. ~ the sound of a fungus dying -#. ~spore-release sound -#: src/monattack.cpp src/mondeath.cpp src/player.cpp -msgid "Pouf!" -msgstr "ポフッ!" - #: src/monattack.cpp #, c-format msgid "Spores are released from the %s!" @@ -195188,7 +201372,7 @@ msgstr "%sが脈動して新鮮な真菌物質を撒き散らしました!" #: src/monattack.cpp #, c-format -msgid "The %s seems to wave you toward the tower..." +msgid "The %s seems to wave you toward the tower…" msgstr "%sは塔へと招くように揺らいでいます。" #: src/monattack.cpp @@ -195203,7 +201387,7 @@ msgid "The %1$s sinks its point into your %2$s!" msgstr "%1$sの針が深々と%2$sに突き刺さりました!" #: src/monattack.cpp -msgid "You feel thousands of live spores pumping into you..." +msgid "You feel thousands of live spores pumping into you…" msgstr "何千という生きた胞子が体内に入った気がします..." #. ~ 1$s is monster name, 2$s bodypart in accusative @@ -195240,7 +201424,7 @@ msgstr "真菌の壁が急速に成長し、押し退けられました!" #: src/monattack.cpp #, c-format -msgid "The %s spreads its tendrils. It seems as though it's expecting you..." +msgid "The %s spreads its tendrils. It seems as though it's expecting you…" msgstr "%sは待ち構えるように蔦を広げました..." #: src/monattack.cpp @@ -195251,7 +201435,7 @@ msgstr "塔は何本もの蔦を広げて狙いを定めています。様子を #: src/monattack.cpp #, c-format msgid "" -"The %s works several tendrils into your arms, legs, torso, and even neck..." +"The %s works several tendrils into your arms, legs, torso, and even neck…" msgstr "%sが繰り出した何本もの蔦が、腕を、脚を胴体を、そして首を貫きました..." #: src/monattack.cpp @@ -195273,8 +201457,8 @@ msgstr "ミカズへの道は示された。" #. ~ Beginning to hear the Mycus while conscious: this is it speaking #: src/monattack.cpp msgid "" -"assistance, on an arduous quest. unity. together we have reached the door. " -"now to pass through..." +"assistance, on an arduous quest. unity. together we have reached the door." +" now to pass through…" msgstr "辛苦の旅路に救いを得たり。統一。我々は門に辿り着いたのだ。さあ、通るがいい..." #: src/monattack.cpp @@ -195297,7 +201481,7 @@ msgid "The %s takes aim, and spears at you with a massive tendril!" msgstr "%sは狙いをさだめ、太い蔦を突き刺すように繰り出しました!" #: src/monattack.cpp -msgid "You feel millions of live spores pumping into you..." +msgid "You feel millions of live spores pumping into you…" msgstr "何百万という生きた胞子が体内に入った気がします..." #: src/monattack.cpp @@ -195455,7 +201639,7 @@ msgstr "%sが掴みかかろうとしましたが、打ち払いました!" #: src/monattack.cpp #, c-format -msgid "The %s tries to grab you..." +msgid "The %s tries to grab you…" msgstr "%sが掴みかかってきました..." #: src/monattack.cpp @@ -195509,6 +201693,10 @@ msgstr "体に毒が入ったように感じます!" msgid "The %s young triffid grows into an adult!" msgstr "%sのトリフィドの芽は成体に成長しました!" +#: src/monattack.cpp +msgid "You feel a strange reverberation accross your body." +msgstr "全身に不思議な残響を感じます..." + #: src/monattack.cpp #, c-format msgid "The %s stares at you, and you shudder." @@ -195600,12 +201788,12 @@ msgid "" msgstr "%sは身分証明を確認し、周辺警戒の業務に戻りました。" #: src/monattack.cpp -msgid "Probably some now-obsolete Internal Affairs subroutine..." +msgid "Probably some now-obsolete Internal Affairs subroutine…" msgstr "今となっては意味のない行動プログラムです..." #: src/monattack.cpp -msgid "Ops used to do that in case you needed backup..." -msgstr "おっと、かつて応援が必要なときはああしていました..." +msgid "Ops used to do that in case you needed backup…" +msgstr "かつては特殊部隊が応援を呼ぶ際に行っていた行動です..." #: src/monattack.cpp #, c-format @@ -195637,7 +201825,7 @@ msgid "The %s takes your picture!" msgstr "%sに写真を撮られました!" #: src/monattack.cpp -msgid "... database connection lost!" +msgid "…database connection lost!" msgstr "... データベースとの接続が失われました!" #: src/monattack.cpp @@ -195697,8 +201885,8 @@ msgstr "まるで悪魔のような恐ろしい目玉がこちらを見つめて #. ~ Potential grenading detected. #: src/monattack.cpp -msgid "Those laser dots don't seem very friendly..." -msgstr "レーザーの光が当たっています。嫌な予感がします..." +msgid "Those laser dots don't seem very friendly…" +msgstr "レーザー光を照射されています。とても友好的とは思えません..." #: src/monattack.cpp msgid "Targeting." @@ -195745,23 +201933,23 @@ msgid "a police siren, whoop WHOOP" msgstr "[警察のサイレン]ウー!ウー!" #: src/monattack.cpp -msgid "\"YOU... ARE FILTH...\"" +msgid "\"YOU… ARE FILTH…\"" msgstr "「...汚らわしき者よ...」" #: src/monattack.cpp -msgid "\"VERMIN... YOU ARE VERMIN...\"" -msgstr "「虫けらよ...卑しき虫けらよ...」" +msgid "\"VERMIN… YOU ARE VERMIN…\"" +msgstr "「虫けら...貴様は虫けらだ...」" #: src/monattack.cpp -msgid "\"LEAVE NOW...\"" +msgid "\"LEAVE NOW…\"" msgstr "「立ち去れ...」" #: src/monattack.cpp -msgid "\"WE... WILL FEAST... UPON YOU...\"" +msgid "\"WE… WILL FEAST… UPON YOU…\"" msgstr "「貴様を...我らの...晩餐としてやろう...」" #: src/monattack.cpp -msgid "\"FOUL INTERLOPER...\"" +msgid "\"FOUL INTERLOPER…\"" msgstr "「汚らわしい侵入者が...」" #. ~ %1$s is the name of the zombie upgrading the other, %2$s is the zombie @@ -195950,12 +202138,12 @@ msgstr "%1$sの爪がの%2$sに当たりましたが、装甲によっ #: src/monattack.cpp #, c-format -msgid "The %s slashes at your neck! You duck!" +msgid "The %s slashes at your neck! You duck!" msgstr "%sの首刈りを屈んで躱しました!" #: src/monattack.cpp #, c-format -msgid "The %s slashes at 's neck! They duck!" +msgid "The %s slashes at 's neck! They duck!" msgstr "は%sの首刈りを屈んで躱しました!" #: src/monattack.cpp @@ -196056,7 +202244,7 @@ msgid "but you grab its arm and flip it to the ground!" msgstr "しかし腕を捕らえ、地面に捻り倒しました!" #: src/monattack.cpp -msgid "The flip does shock you..." +msgid "The flip does shock you…" msgstr "投げようとして感電しました..." #: src/monattack.cpp @@ -196065,8 +202253,8 @@ msgstr "しかし器用に体を回転させて掴みから逃れました!" #: src/monattack.cpp msgid "" -"Halt and submit to arrest, citizen! The police will be here any moment." -msgstr "「両手を頭の上に組んで伏せなさい!すぐに警察官が駆け付けます。」" +"Halt and submit to arrest, citizen! The police will be here any moment." +msgstr "そこの市民、両手を頭の上に組んで伏せなさい!すぐに警察官が駆け付けます。" #: src/monattack.cpp msgid "Please stay in place, citizen, do not make any movements!" @@ -196196,7 +202384,7 @@ msgstr "%1$sは%2$sを地面に叩きつけました!" #. ~ 1$s is bodypart name in accusative, 2$d is damage value. #: src/monattack.cpp #, c-format -msgid "The zombie kicks your %1$s for %2$d damage..." +msgid "The zombie kicks your %1$s for %2$d damage…" msgstr "ゾンビの蹴りは%1$sに%2$dのダメージを与えました..." #: src/monattack.cpp @@ -196299,6 +202487,11 @@ msgstr "%1$sの腕が%2$sに命中しましたが、装甲に弾かれました msgid "The %1$s hits 's %2$s, but glances off armor!" msgstr "%1$sの腕がの%2$sに命中しましたが、装甲に弾かれました!" +#: src/monattack.cpp +#, c-format +msgid "The %1$s fuses with the %2$s." +msgstr "%1$sは%2$sと融合しました。" + #: src/monattack.cpp #, c-format msgid "The %s doots its trumpet!" @@ -196409,7 +202602,7 @@ msgid "The %s melts away." msgstr "%sは溶けて無くなりました。" #: src/mondeath.cpp -msgid "Your obsession with the fault fades away..." +msgid "Your obsession with the fault fades away…" msgstr "後悔が薄れていきます..." #: src/mondeath.cpp @@ -196498,11 +202691,6 @@ msgstr "%sは酸を噴射しました!" msgid "zombie slave" msgstr "奴隷ゾンビ" -#: src/monexamine.cpp src/player.cpp -#, c-format -msgid "What to do with your %s?" -msgstr "%sをどうしますか?" - #: src/monexamine.cpp #, c-format msgid "Push %s" @@ -196683,25 +202871,26 @@ msgstr "このメックを起動するのに必要なIDカードを持ってい #: src/monexamine.cpp #, c-format msgid "" -"Welcome to the %s Friendship Interface. What would you like to do?\n" +"Welcome to the %s Friendship Interface. What would you like to do?\n" "Your current friendship will last: %s" msgstr "" -"%s友情インターフェースにようこそ。ご用件をお選びください。\n" +"%s友好インターフェースにようこそ。ご用件をお選びください。\n" "残り時間: %s" #: src/monexamine.cpp -msgid "Get more friendship. 10 cents/min" +msgid "Get more friendship. 10 cents/min" msgstr "延長する(10セント/分)" #: src/monexamine.cpp -msgid "Sadly you're not currently able to extend your friendship. - Quit menu" +msgid "" +"Sadly you're not currently able to extend your friendship. - Quit menu" msgstr "申し訳ございませんが、現在は時間延長を受け付けておりません。 -終了" #: src/monexamine.cpp #, c-format -msgid "How much friendship do you get? Max: %d minute. (0 to cancel) " -msgid_plural "How much friendship do you get? Max: %d minutes. " -msgstr[0] "延長時間を選択(最大%d分)" +msgid "How much friendship do you get? Max: %d minute. (0 to cancel)" +msgid_plural "How much friendship do you get? Max: %d minutes." +msgstr[0] "延長時間を入力(最大%d分)" #: src/monexamine.cpp #, c-format @@ -196757,7 +202946,7 @@ msgstr "%sにはアイテムを入れる場所がありません!" #: src/monexamine.cpp #, c-format -msgid "%1$s is overburdened. You can't transfer your %2$s." +msgid "%1$s is overburdened. You can't transfer your %2$s." msgstr "%1$sには重過ぎます。%2$sにアイテムを入れられません。" #: src/monexamine.cpp @@ -196987,6 +203176,16 @@ msgstr "密度の高いゼリー状の物質" msgid "wearing %1$s" msgstr "%1$sを着用" +#: src/monster.cpp +#, c-format +msgid "The %s" +msgstr "%s" + +#: src/monster.cpp +#, c-format +msgid "The %s's" +msgstr "%s" + #: src/monster.cpp #, c-format msgid "the %s's" @@ -197029,6 +203228,11 @@ msgstr "あなたを知覚しています!" msgid "Rider: %s" msgstr "騎乗: %s" +#: src/monster.cpp +#, c-format +msgid " It is %s." +msgstr "%s" + #: src/monster.cpp msgid "Difficulty " msgstr "強さ" @@ -197259,7 +203463,7 @@ msgid "You're envenomed!" msgstr "毒を注入されました!" #: src/monster.cpp -msgid "You feel venom flood your body, wracking you with pain..." +msgid "You feel venom flood your body, wracking you with pain…" msgstr "毒液が激痛を伴って身体を蝕んでいます..." #: src/monster.cpp @@ -197397,6 +203601,14 @@ msgstr "胞子が%1$sを%2$sに変異させました!" msgid "Total morale:" msgstr "合計:" +#: src/morale.cpp +msgid "Pain level:" +msgstr "苦痛:" + +#: src/morale.cpp +msgid "Fatigue level:" +msgstr "疲労:" + #: src/morale.cpp msgid "Focus trends towards:" msgstr "変動:" @@ -197470,8 +203682,8 @@ msgstr "意識を集中すると体が割れるような愉快な感覚がこみ #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp -msgid "wow! you look just like me! we should look out for each other!" -msgstr "なあ、あんた、私にそっくりだな!お互い助け合おう!" +msgid "wow! you look just like me! we should look out for each other!" +msgstr "なあ、君、私にそっくりだな!お互い助け合おう!" #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp @@ -197505,7 +203717,7 @@ msgid "Bionic power storage increased by 100." msgstr "CBMの電力が100増加しました。" #: src/mutation.cpp -msgid "You feel something straining deep inside you, yearning to be free..." +msgid "You feel something straining deep inside you, yearning to be free…" msgstr "何かが自由を求めて、体内の奥深くを締め上げています..." #: src/mutation.cpp @@ -197633,7 +203845,7 @@ msgid "Suffered a toxic marloss/mutagen reaction." msgstr "有毒なマーロス/変異原の反応に苦しんでいます。" #: src/mutation.cpp -msgid "Something strains mightily for a moment... and then... you're... FREE!" +msgid "Something strains mightily for a moment… and then… you're… FREE!" msgstr "一瞬、何かが力強く、ぴんと張り詰めて...そうして...そう...自由です!自由になりました!" #: src/mutation.cpp @@ -197651,7 +203863,7 @@ msgid "You stagger with a piercing headache!" msgstr "刺し貫かれたような酷い頭痛で身体がよろめきました!" #: src/mutation.cpp -msgid "Your head throbs with memories of your life, before all this..." +msgid "Your head throbs with memories of your life, before all this…" msgstr "昔の想い出が頭を満たしています..." #: src/mutation.cpp @@ -197669,7 +203881,7 @@ msgid "Crossed a threshold" msgstr "閾値を超えました。" #: src/mutation_data.cpp -msgid "Oh, yeah! That's the stuff!" +msgid "Oh, yeah! That's the stuff!" msgstr "おお、きたきた!これだよこれ!" #: src/mutation_ui.cpp @@ -197755,7 +203967,7 @@ msgstr "%s; 新しい文字を入力" #: src/mutation_ui.cpp #, c-format msgid "" -"Invalid mutation letter. Only those characters are valid:\n" +"Invalid mutation letter. Only those characters are valid:\n" "\n" "%s" msgstr "" @@ -197783,7 +203995,7 @@ msgstr "%sを起動出来ません!%sの説明を見るには'!'の後に'%c' msgid "Tom" msgstr "トム" -#. ~ Used for constructing full name: %1$s is `family name`, %2$s is `given +#. ~ Used for constructing full name: %1$s is `given name`, %2$s is `family #. name` #: src/name.cpp #, c-format @@ -197791,8 +204003,8 @@ msgctxt "Full Name" msgid "%1$s %2$s" msgstr "%1$s %2$s" -#. ~ Used for constructing full name with nickname: %1$s is `family name`, -#. %2$s is `given name`, %3$s is `nickname` +#. ~ Used for constructing full name with nickname: %1$s is `given name`, %2$s +#. is `family name`, %3$s is `nickname` #: src/name.cpp #, c-format msgctxt "Full Name" @@ -197819,7 +204031,7 @@ msgstr "フリー" #: src/newcharacter.cpp src/player.cpp #, c-format -msgid "Select a style. (press %s for more info)" +msgid "Select a style. (press %s for more info)" msgstr "戦闘スタイルを選択(%sで詳細)" #: src/newcharacter.cpp @@ -197855,14 +204067,14 @@ msgstr "シナリオ" msgid "PROFESSION" msgstr "職業" -#: src/newcharacter.cpp src/player_display.cpp -msgid "TRAITS" -msgstr "特質" - #: src/newcharacter.cpp src/player_display.cpp msgid "STATS" msgstr "能力" +#: src/newcharacter.cpp src/player_display.cpp +msgid "TRAITS" +msgstr "特質" + #: src/newcharacter.cpp src/player_display.cpp msgid "SKILLS" msgstr "スキル" @@ -198247,7 +204459,7 @@ msgstr[0] "シナリオ: %1$s 消費: %2$d ポイント" #: src/newcharacter.cpp msgid "" -"This scenario is not available in this world due to city size settings. " +"This scenario is not available in this world due to city size settings." msgstr "現在の街の大きさの設定ではこのシナリオを利用できません。" #: src/newcharacter.cpp @@ -198343,10 +204555,6 @@ msgstr "状態: " msgid "Traits: " msgstr "特質: " -#: src/newcharacter.cpp -msgid "(Top 8)" -msgstr "(上位8位までを表示)" - #: src/newcharacter.cpp #, c-format msgid "Press %s to finish character creation or %s to go back." @@ -198414,7 +204622,7 @@ msgid "_______NO NAME ENTERED!_______" msgstr "______名前が入力されていません!______" #: src/newcharacter.cpp -msgid "Are you SURE you're finished? Your name will be randomly generated." +msgid "Are you SURE you're finished? Your name will be randomly generated." msgstr "完了してよろしいですか?キャラクター名はランダムで生成されます。" #: src/newcharacter.cpp src/worldfactory.cpp @@ -198587,10 +204795,6 @@ msgstr "脅威を感じる" msgid "Very afraid" msgstr "かなりの恐怖を感じる" -#: src/npc.cpp -msgid "Terrified" -msgstr "とてつもない恐怖を感じる" - #: src/npc.cpp msgid "Fear: " msgstr "恐怖: " @@ -198714,12 +204918,8 @@ msgid "NPC Legacy Attitude" msgstr "削除済み" #: src/npc.cpp -msgid "Not much" -msgstr "特になし" - -#: src/npc.cpp -msgid "Cooking" -msgstr "調理" +msgid "Cooking and butchering" +msgstr "食肉解体と調理" #: src/npc.cpp msgid "Tidying and cleaning" @@ -198754,8 +204954,8 @@ msgid "Caring for the livestock" msgstr "家畜の世話" #: src/npc.cpp -msgid "Hunting for meat" -msgstr "狩猟" +msgid "Hunting and fishing" +msgstr "狩猟と釣り" #: src/npc.cpp msgid "Gathering edibles" @@ -198860,7 +205060,7 @@ msgid "Hold still %s, I'm coming to help you." msgstr "%s、じっとして、今助ける。" #: src/npcmove.cpp -msgid "Don't move a muscle..." +msgid "Don't move a muscle…" msgstr "その筋肉をぴくりとも動かすなよ..." #: src/npcmove.cpp @@ -198959,7 +205159,7 @@ msgstr "%1$sに%2$sを取られました。" #: src/npcmove.cpp #, c-format msgid "" -"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" +"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" msgstr "双方向無線機から%sの声が聞こえました。「指定された場所に到着した!」" #: src/npcmove.cpp @@ -198969,8 +205169,8 @@ msgstr "%s%s" #: src/npcmove.cpp #, c-format -msgid "My %s wound is infected..." -msgstr "%sの傷が感染症に罹ってるんだ..." +msgid "My %s wound is infected…" +msgstr "%sの傷が感染症に罹っている..." #: src/npcmove.cpp #, c-format @@ -198982,8 +205182,8 @@ msgid "" msgstr "" #: src/npcmove.cpp -msgid "I'm suffering from radiation sickness..." -msgstr "放射線障害の苦痛が全身を苛んでいます..." +msgid "I'm suffering from radiation sickness…" +msgstr "放射線障害で酷い状態だ..." #: src/npcmove.cpp msgid "" @@ -199102,7 +205302,7 @@ msgid "Talk to %s" msgstr "%sと会話する" #: src/npctalk.cpp -msgid "Talk to ..." +msgid "Talk to…" msgstr "会話..." #: src/npctalk.cpp @@ -199127,7 +205327,7 @@ msgid "Tell %s to follow" msgstr "%sに追従を指示する" #: src/npctalk.cpp -msgid "Tell someone to follow..." +msgid "Tell someone to follow…" msgstr "追従を指示..." #: src/npctalk.cpp @@ -199136,7 +205336,7 @@ msgid "Tell %s to guard" msgstr "%sに見張りを指示する" #: src/npctalk.cpp -msgid "Tell someone to guard..." +msgid "Tell someone to guard…" msgstr "見張りを指示..." #: src/npctalk.cpp @@ -199160,7 +205360,7 @@ msgid "Tell everyone on your team to relax (Clear Overrides)" msgstr "仲間全員に警戒の解除を指示する(上書きされた指示の取消)" #: src/npctalk.cpp -msgid "Tell everyone on your team to temporarily..." +msgid "Tell everyone on your team to temporarily…" msgstr "仲間全員に一時指令..." #: src/npctalk.cpp @@ -199259,7 +205459,7 @@ msgstr "&耳が聞こえないので話せません。" #: src/npctalk.cpp #, c-format msgid "" -"&You are deaf and can't talk. When you don't respond, %s becomes angry!" +"&You are deaf and can't talk. When you don't respond, %s becomes angry!" msgstr "&耳が聞こえないので話せません。返事をしなかったので、%sは怒り出しました!" #: src/npctalk.cpp @@ -199292,7 +205492,7 @@ msgid "Sorry, but it doesn't seem I have anything to teach you." msgstr "すまないが、教えられることはもう何もないようだ。" #: src/npctalk.cpp -msgid "Here's what I can teach you..." +msgid "Here's what I can teach you…" msgstr "教えられそうなのはこんなところだな..." #: src/npctalk.cpp @@ -199307,16 +205507,23 @@ msgid_plural "%d feet." msgstr[0] "%d フィート。" #: src/npctalk.cpp -msgid "I'm holing up here for safety." -msgstr "安全のために、ここでじっとしているんだ。" +#, c-format +msgid "I'm holing up here for safety. Long term, %s" +msgstr "安全のために、ここでじっとしているよ。%s" #: src/npctalk.cpp msgid "I run the shop here." msgstr "ここで店を開いてるんだ。" #: src/npctalk.cpp -msgid "I'm guarding this location." -msgstr "この場所を守ってるんだ。" +#, c-format +msgid "Currently, I'm guarding this location. Overall, %s" +msgstr "この場所を守っている。%s" + +#: src/npctalk.cpp +#, c-format +msgid "Right now, I'm . In general, %s" +msgstr "%s。今はをしているよ。" #: src/npctalk.cpp msgid "&You yell, but can't hear yourself." @@ -199410,6 +205617,16 @@ msgstr "知らせたい事がある。" msgid "Yes, let's resume training " msgstr "よし、訓練を再開しようか。 " +#: src/npctalk.cpp +#, c-format +msgid "%s: 1 hour lesson (cost %s)" +msgstr "%s: 訓練(%s/1時間)" + +#: src/npctalk.cpp +#, c-format +msgid "%s: teaching spell knowledge (cost %s)" +msgstr "%s: 習得(%s)" + #. ~Martial art style (cost in dollars) #: src/npctalk.cpp #, c-format @@ -199425,8 +205642,8 @@ msgstr "%s: %d (%d%%) -> %d (%d%%) (費用 $%d)" #: src/npctalk.cpp #, c-format -msgid "%s: %d (%d%%) -> %d" -msgstr "%s: %d (%d%%) -> %d" +msgid "%s: %d (%d%%) -> %d (%d%%)" +msgstr "%s: %d (%d%%) -> %d (%d%%)" #: src/npctalk.cpp msgid "Okay, thanks." @@ -199459,7 +205676,7 @@ msgstr "。" #: src/npctalk.cpp msgctxt "punctuation" -msgid "..." +msgid "…" msgstr "..." #: src/npctalk.cpp @@ -199506,8 +205723,8 @@ msgid "%s: %s" msgstr "%s: %s" #: src/npctalk.cpp -msgid "You'll be helpless! Proceed?" -msgstr "恐らく無力です!続行しますか?" +msgid "You'll be helpless! Proceed?" +msgstr "恐らく無意味です!続けますか?" #: src/npctalk.cpp #, c-format @@ -199566,11 +205783,11 @@ msgid "You learn how to craft %s." msgstr "%sのレシピを習得しました。" #: src/npctalk.cpp -msgid "I don't trust you enough to eat THIS..." -msgstr "こんなものを食べるほど信用しちゃいない..." +msgid "I don't trust you enough to eat THIS…" +msgstr "、こんなものを食べるほど信用はしてないよ..." #: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this..." +msgid "It doesn't look like a good idea to consume this…" msgstr "これを摂取するのが良い考えだとは思えないね..." #: src/npctalk.cpp @@ -199578,10 +205795,6 @@ msgstr "これを摂取するのが良い考えだとは思えないね..." msgid "I need a %s to consume that!" msgstr "それを摂取するには%sが必要だ!" -#: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this.." -msgstr "これを摂取するのが良い考えだとは思えないね.." - #: src/npctalk.cpp msgid "Offer what?" msgstr "何をくれるんだ?" @@ -199603,7 +205816,7 @@ msgid "Are you insane!?" msgstr "おい !気でも狂ったか!?" #: src/npctalk.cpp -msgid "Here we go..." +msgid "Here we go…" msgstr "助かるよ..." #: src/npctalk.cpp @@ -199629,8 +205842,8 @@ msgid "I can only store %s %s more." msgstr "あと%s %sしか入らない。" #: src/npctalk.cpp -msgid "...or to store anything else for that matter." -msgstr "...何か別の物を持つよ。" +msgid "…or to store anything else for that matter." +msgstr "...何か別のものを持つよ。" #: src/npctalk.cpp msgid "It is too heavy for me to carry." @@ -199659,39 +205872,15 @@ msgstr "%1$s(%2$d,%3$d)" msgid "My current location" msgstr "プレイヤーの現在地" -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name -#: src/npctalk_funcs.cpp -#, c-format -msgid "%1$s is assigned to %2$s" -msgstr "%1$sは%2$sに割り当てられています。" - -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name #: src/npctalk_funcs.cpp #, c-format -msgid "%1$s is assigned to guard %2$s" -msgstr "%1$sは%2$sを見張っています。" +msgid "That is not a valid destination for %s." +msgstr "%sは無効な目的地を選択しています。" -#. ~ %1$s is the NPC's translated name, %2$s is the pronoun for the NPC's -#. gender #: src/npctalk_funcs.cpp #, c-format -msgid "%1$s will wait for you where %2$s is." -msgstr "%1$sは%2$sが現在いる場所で待機しています。" - -#: src/npctalk_funcs.cpp -msgid "he" -msgstr "彼" - -#: src/npctalk_funcs.cpp -msgid "she" -msgstr "彼女" - -#: src/npctalk_funcs.cpp -#, c-format -msgid "%s is posted as a guard." -msgstr "%s は見張りにつきました。" +msgid "%1$s is assigned to %2$s" +msgstr "%1$sは%2$sに割り当てられています。" #: src/npctalk_funcs.cpp #, c-format @@ -199709,7 +205898,7 @@ msgid "You start a fight with %s!" msgstr "%s と喧嘩が始まった!" #: src/npctalk_funcs.cpp -msgid "You don't have any bionics installed..." +msgid "You don't have any bionics installed…" msgstr "CBMを一つも移植していません..." #: src/npctalk_funcs.cpp @@ -199717,13 +205906,9 @@ msgid "Which bionic do you wish to uninstall?" msgstr "どのCBMを摘出して欲しいんだ?" #: src/npctalk_funcs.cpp -msgid "You decide to hold off..." +msgid "You decide to hold off…" msgstr "やめておくことにしました..." -#: src/npctalk_funcs.cpp -msgid "You can't afford the procedure..." -msgstr "代金が支払えない..." - #: src/npctalk_funcs.cpp #, c-format msgid "%s has nothing to give!" @@ -199743,7 +205928,7 @@ msgid "Choose a new facial hair style" msgstr "髭を選択" #: src/npctalk_funcs.cpp -msgid "Actually... I've changed my mind." +msgid "Actually… I've changed my mind." msgstr "実は...気が変わったんだ。" #: src/npctalk_funcs.cpp @@ -199752,17 +205937,17 @@ msgstr "髪型を変えました!" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent haircut..." +msgid "%s gives you a decent haircut…" msgstr "%sは髪を綺麗に散髪してくれました..." #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent shave..." +msgid "%s gives you a decent shave…" msgstr "%sは髭を綺麗に剃ってくれました..." #: src/npctalk_funcs.cpp #, c-format -msgid "That was a pleasant conversation with %s..." +msgid "That was a pleasant conversation with %s…" msgstr "%sと楽しく会話しました..." #: src/npctalk_funcs.cpp @@ -199772,8 +205957,8 @@ msgstr "%sと楽しく会話しました..." #: src/npctalk_funcs.cpp #, c-format -msgid "%s drops the logs off in the garage..." -msgstr "%s は車庫に丸太を置いた。" +msgid "%s drops the logs off in the garage…" +msgstr "%s は車庫に丸太を置きました..." #: src/npctalk_funcs.cpp #, c-format @@ -199790,6 +205975,11 @@ msgstr "%s は逃げ出した!" msgid "%s leaves." msgstr "%s は立ち去った。" +#: src/npctalk_funcs.cpp +#, c-format +msgid "%s stops following." +msgstr "%sは追従を中止しました。" + #: src/npctalk_funcs.cpp #, c-format msgid "%s feels less threatened by you." @@ -199839,11 +206029,11 @@ msgstr " (%d)" #: src/npctrade.cpp msgid "< Back" -msgstr "< 戻る" +msgstr "< 前ページ" #: src/npctrade.cpp msgid "More >" -msgstr "他 >" +msgstr "次ページ >" #: src/npctrade.cpp msgid "Examine which item?" @@ -199871,16 +206061,16 @@ msgstr "%sはそれら全部を持つことはできません。" #: src/npctrade.cpp #, c-format msgid "" -"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" +"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" "\n" "Continue with trade?" msgstr "" -"全ての取り引き分は到底支払えないんだ。せめて%sは貸してもらえると嬉しいな。\n" +"全ての取り引き分は到底支払えないんだ。%sならなんとか支払えるよ。\n" "\n" "取り引きを続ける?" #: src/npctrade.cpp -msgid "Looks like a deal! Accept this trade?" +msgid "Looks like a deal! Accept this trade?" msgstr "いいね!取り引き成立かな?" #: src/npctrade.h @@ -200169,7 +206359,7 @@ msgstr "セーフモード/自動再設定ターン" #: src/options.cpp msgid "" -"Number of turns after which safe mode is reactivated. Will only reactivate " +"Number of turns after which safe mode is reactivated. Will only reactivate " "if no hostiles are in 'Safe mode proximity distance.'" msgstr "セーフモードが再度有効化されるターン数を設定します。「セーフモード/接近距離設定」で設定した範囲内に敵がいない時のみ機能します。" @@ -200267,12 +206457,10 @@ msgstr "空の容器を落とす" #: src/options.cpp msgid "" -"Set to drop empty containers after use. No: Don't drop any. - Watertight: " -"All except watertight containers. - All: Drop all containers." +"Set to drop empty containers after use. No: Don't drop any. - Watertight: " +"All except watertight containers. - All: Drop all containers." msgstr "" -"アイテム使用後に空になった容器を落とすかどうか設定します。\n" -"いいえ:落とさない。 - 水密:水密性のある容器以外は落とす。\n" -"全て:全ての容器を落とす。" +"アイテム使用後に空になった容器を落とすかどうか設定します。いいえ: 落とさない。水密: 水密性のある容器以外は落とす。全て: 全ての容器を落とす。" #: src/options.cpp msgid "Watertight" @@ -200440,12 +206628,12 @@ msgid "If true, automatically follow the crosshair when firing/throwing." msgstr "Trueにすると射撃や投擲時の照準の移動を画面が追尾します。" #: src/options.cpp -msgid "Query on disassembly" -msgstr "確認/アイテム分解" +msgid "Query on disassembly while butchering" +msgstr "確認/解体中のアイテム分解" #: src/options.cpp -msgid "If true, will query before disassembling items." -msgstr "Trueにするとアイテムを分解する前に確認します。" +msgid "If true, will query before disassembling items while butchering." +msgstr "trueにすると解体中にアイテムを分解する前に確認します。" #: src/options.cpp msgid "Query on keybinding removal" @@ -200718,9 +206906,9 @@ msgstr "アイテム/自動キー割当" #: src/options.cpp msgid "" -"Enabled: automatically assign letters to any carried items that lack them. " -"Disabled: do not auto-assign letters. Favorites: only auto-assign letters to" -" favorited items." +"Enabled: automatically assign letters to any carried items that lack them. " +"Disabled: do not auto-assign letters. Favorites: only auto-assign letters " +"to favorited items." msgstr "" "有効: 文字が割り当てられていない全ての所持品に自動で割り当てる。無効: 自動割当しない。お気に入り: お気に入り設定したアイテムのみ自動で割り当てる。" @@ -201093,7 +207281,7 @@ msgstr "ミニマップ上の敵性ビーコンの点滅速度を200ミリ秒単 msgid "Display" msgstr "使用するディスプレイ" -#: src/options.cpp +#: src/options.cpp src/sdltiles.cpp msgid "" "Sets which video display will be used to show the game. Requires restart." msgstr "ゲーム画面を表示するディスプレイを設定します。反映には再起動が必要です。" @@ -201181,7 +207369,7 @@ msgid "Scaling factor" msgstr "基準倍率" #: src/options.cpp -msgid "Factor by which to scale the display. Requires restart." +msgid "Factor by which to scale the display. Requires restart." msgstr "拡大/縮小表示の倍率を設定します。再起動が必要です。" #: src/options.cpp @@ -201463,8 +207651,8 @@ msgstr "大変動発生日" #: src/options.cpp msgid "" -"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can " -"be overridden by scenarios. This does not advance food rot or monster " +"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can" +" be overridden by scenarios. This does not advance food rot or monster " "evolution." msgstr "" "大変動が発生した年の日付を設定します。0が春の1日目です。この設定はシナリオで上書きされる可能性があります。日付の設定によって食物の腐敗やモンスターの進化は進みません。" @@ -201475,9 +207663,9 @@ msgstr "ゲーム開始日" #: src/options.cpp msgid "" -"How many days after the cataclysm the player spawns. Day 0 is the day of the" -" cataclysm. Can be overridden by scenarios. Increasing this will cause food " -"rot and monster evolution to advance." +"How many days after the cataclysm the player spawns. Day 0 is the day of " +"the cataclysm. Can be overridden by scenarios. Increasing this will cause " +"food rot and monster evolution to advance." msgstr "" "大変動が発生してから何日目にゲームを開始するか設定します。0が大変動発生当日です。この設定はシナリオで上書きされる可能性があります。日付の設定によって食物の腐敗やモンスターの進化が進みます。" @@ -201542,7 +207730,7 @@ msgstr "固定NPC" #: src/options.cpp msgid "" -"If true, static NPCs will spawn at pre-defined locations. Requires world " +"If true, static NPCs will spawn at pre-defined locations. Requires world " "reset." msgstr "Trueにすると特定の場所に固定NPCが生成されます。反映するには世界の初期化が必要です。" @@ -202040,6 +208228,10 @@ msgid_plural "" "%s #%s -- The window will be %d pixels tall with the selected value." msgstr[0] "%s #%s -- ウィンドウの縦幅は %d ピクセルになります。" +#: src/options.cpp +msgid "Note: " +msgstr "メモ: " + #: src/options.cpp msgid "Some of these options may produce unexpected results if changed." msgstr "これらのオプションを変更すると予期しない結果が出る場合があります。" @@ -202062,7 +208254,7 @@ msgid "options" msgstr "オプション" #: src/output.cpp -msgid "Press any key for more..." +msgid "Press any key for more…" msgstr "何かキーを押して下さい..." #: src/output.cpp @@ -202223,7 +208415,7 @@ msgstr "[%s] %s" #: src/overmap_ui.cpp #, c-format msgid "" -"LEVEL %i, %d'%d, %d'%d : %s (Distance: " +"LEVEL %i, %d'%d, %d'%d: %s (Distance: " "%d)" msgstr "" "階層 %i、%d'%d, %d'%d : %s (距離: %d)" @@ -202564,11 +208756,6 @@ msgstr "かなり寒い!" msgid "Freezing!" msgstr "猛烈に寒い!" -#: src/panels.cpp -msgctxt "energy unit: kilojoule" -msgid "kJ" -msgstr "kJ" - #: src/panels.cpp msgid "Bad" msgstr "悪" @@ -202726,7 +208913,7 @@ msgstr "月齢: %s" #: src/panels.cpp #, c-format msgid "Temp : %s" -msgstr "気温: %s" +msgstr "気温: %s" #: src/panels.cpp msgid "Wield:" @@ -202748,6 +208935,7 @@ msgstr "寒暖:" msgid "Underground" msgstr "地下" +#. ~ translation should not exceed 5 console cells #: src/panels.cpp msgid "Wind" msgstr "風" @@ -202809,10 +208997,6 @@ msgstr "難聴!" msgid "Weapon :" msgstr "装備:" -#: src/panels.cpp -msgid "No Style" -msgstr "なし" - #: src/panels.cpp msgid "Day " msgstr "日" @@ -202825,10 +209009,12 @@ msgstr "気温: " msgid "to open sidebar options" msgstr "を押してサイドバー設定" +#. ~ translation should not exceed 4 console cells #: src/panels.cpp msgid "Mana" msgstr "マナ" +#. ~ translation should not exceed 9 console cells #: src/panels.cpp msgid "Max Mana" msgstr "最大マナ" @@ -203085,75 +209271,6 @@ msgstr "容器の中身をこぼさないように、は%1$sを%2$sの msgid "You have learned a new style: %s!" msgstr "新しいスタイルを学びました!: %s" -#: src/player.cpp -#, c-format -msgid "Your %s will be frostnipped in the next few hours." -msgstr "%sに霜焼けができそうです。" - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten within the hour!" -msgstr "このままだと1時間以内に%sが凍傷になります!" - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten any minute now!" -msgstr "このままだと数分後に%sが凍傷になります!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s beginning to go numb from the cold!" -msgstr "%sが寒過ぎて、感覚が無くなってきました!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very cold." -msgstr "%sが非常に寒く感じます。" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting chilly." -msgstr "%sが若干寒く感じます。" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting red hot from the heat!" -msgstr "%sが熱過ぎて、真っ赤になってきました!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very hot." -msgstr "%sがかなり暑く感じます。" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting warm." -msgstr "%sが少しだけ暑く感じます。" - -#: src/player.cpp -#, c-format -msgid "The wind is making your %s feel quite cold." -msgstr "%sに風が当たって非常に寒く感じます。" - -#: src/player.cpp -#, c-format -msgid "" -"The wind is very strong, you should find some more wind-resistant clothing " -"for your %s." -msgstr "強風が吹いています。%sを寒さから守る為に、風を防げる衣類を見つける必要があります。" - -#: src/player.cpp -#, c-format -msgid "" -"Your clothing is not providing enough protection from the wind for your %s!" -msgstr "着用中の衣類では%sに当たる風を十分に防げていません!" - #: src/player.cpp msgid "You roll on the ground, trying to smother the fire!" msgstr "火を消そうとして、地面を転がりました!" @@ -203170,50 +209287,6 @@ msgstr "火を消そうとして失敗しました!" msgid " attempts to put out the fire on them!" msgstr "は火を消そうとして失敗しました!" -#: src/player.cpp -msgid "You set your mech's leg power to a loping fast walk." -msgstr "メックの脚部出力を少し上げました。" - -#: src/player.cpp -msgid "You nudge your steed into a steady trot." -msgstr "動物に刺激を与えて少しだけ速度を上げました。 " - -#: src/player.cpp -msgid "You start walking." -msgstr "立ち上がって歩き始めました。" - -#: src/player.cpp -msgid "You set the power of your mech's leg servos to maximum." -msgstr "メックの脚部サーボの出力を最大にしました。" - -#: src/player.cpp -msgid "You spur your steed into a gallop." -msgstr "動物に刺激を与えて速度を上げました。" - -#: src/player.cpp -msgid "You start running." -msgstr "走り始めました。" - -#: src/player.cpp -msgid "Your steed is too tired to go faster." -msgstr "動物が疲れているため速度を上げられません。" - -#: src/player.cpp -msgid "You're too tired to run." -msgstr "疲れ過ぎて走れません。" - -#: src/player.cpp -msgid "You reduce the power of your mech's leg servos to minimum." -msgstr "メックの脚部サーボの出力を最小にしました。" - -#: src/player.cpp -msgid "You slow your steed to a walk." -msgstr "動物をなだめて速度を落としました。" - -#: src/player.cpp -msgid "You start crouching." -msgstr "屈んで歩き始めました。" - #: src/player.cpp #, c-format msgid "Your ground sonar detected a %1$s to the %2$s!" @@ -203289,15 +209362,6 @@ msgstr "%1$sは攻撃を受けるとバランスを崩します!" msgid "You lose your balance while being hit!" msgstr "攻撃を受けるとバランスを崩します!" -#: src/player.cpp -#, c-format -msgid "You were attacked by %s!" -msgstr "%sによって攻撃されました!" - -#: src/player.cpp -msgid "You were hurt!" -msgstr "怪我をしていました!" - #: src/player.cpp msgid "A snake sprouts from your body!" msgstr "蛇が身体から這い出てきました!" @@ -203389,7 +209453,7 @@ msgid "You are slammed against %s!" msgstr "%sに叩きつけられました!" #: src/player.cpp -msgid "...but your shock absorbers negate the damage!" +msgid "…but your shock absorbers negate the damage!" msgstr "...しかし、緩衝装置によってダメージを吸収しました!" #: src/player.cpp @@ -203447,8 +209511,8 @@ msgid "You have starved to death." msgstr "餓死しました。" #: src/player.cpp -msgid "Food..." -msgstr "食べ物を..." +msgid "Food…" +msgstr "食料..." #: src/player.cpp msgid "Due to insufficient nutrition, your body is suffering from starvation." @@ -203457,11 +209521,11 @@ msgstr "身体の養分が足りません。飢餓感に苦しんでいます。 #: src/player.cpp msgid "" "Despite having something in your stomach, you still feel like you haven't " -"eaten in days..." +"eaten in days…" msgstr "胃の中に食べ物が入っていますが、もう何日も食事をしていない気分です..." #: src/player.cpp -msgid "Your stomach feels so empty..." +msgid "Your stomach feels so empty…" msgstr "お腹が空きました..." #: src/player.cpp @@ -203481,7 +209545,7 @@ msgid "You have died of dehydration." msgstr "脱水症状で死亡しました。" #: src/player.cpp -msgid "Even your eyes feel dry..." +msgid "Even your eyes feel dry…" msgstr "目が乾燥しています..." #: src/player.cpp @@ -203489,7 +209553,7 @@ msgid "You are THIRSTY!" msgstr "喉が渇きました!" #: src/player.cpp -msgid "Your mouth feels so dry..." +msgid "Your mouth feels so dry…" msgstr "口内が乾燥しています..." #: src/player.cpp @@ -203497,8 +209561,8 @@ msgid "Survivor sleep now." msgstr "生存者は眠りました。" #: src/player.cpp -msgid "Anywhere would be a good place to sleep..." -msgstr "どんな場所でもぐっすり眠ってしまいそうだ..." +msgid "Anywhere would be a good place to sleep…" +msgstr "どんな場所でもぐっすり眠ってしまいそうです..." #: src/player.cpp msgid "You feel like you haven't slept in days." @@ -203517,7 +209581,7 @@ msgid "*yawn* You should really get some sleep." msgstr "「ふぁぁ。」 早急に眠る必要があります。" #: src/player.cpp -msgid "Your mind feels tired. It's been a while since you've slept well." +msgid "Your mind feels tired. It's been a while since you've slept well." msgstr "疲れ切っています。ここ最近ぐっすりと眠れていません。" #: src/player.cpp @@ -203528,14 +209592,14 @@ msgstr "睡眠不足のせいで、頭に霞がかかったような気分です #: src/player.cpp msgid "" -"Your mind feels weary, and you dread every wakeful minute that passes. You " +"Your mind feels weary, and you dread every wakeful minute that passes. You " "crave sleep, and feel like you're about to collapse." msgstr "身体は疲れ切っており、いつまで経っても眠れず恐怖を感じています。今すぐ眠らないと倒れてしまいそうです。" #: src/player.cpp msgid "" "You haven't slept decently for so long that your whole body is screaming for" -" mercy. It's a miracle that you're still awake, but it just feels like a " +" mercy. It's a miracle that you're still awake, but it just feels like a " "curse now." msgstr "" "長期間まともに眠っておらず、全身が休息を求めて悲鳴を上げている気がします。まだ目を開けていられるのが奇跡的ですが、それすら呪いのように思えます。" @@ -203578,14 +209642,6 @@ msgstr "消毒した%sの傷が治りました。" msgid "There is not enough %s left to siphon it." msgstr "抜き取れるだけの%sがありません。" -#: src/player.cpp -msgid "You cough heavily." -msgstr "騒々しく咳をしています。" - -#: src/player.cpp -msgid "a hacking cough." -msgstr "[苦しそうな空咳]" - #: src/player.cpp msgid "Your body is wracked with excruciating pain!" msgstr "身体に走る猛烈な激痛に苦しみました!" @@ -203631,11 +209687,6 @@ msgstr "%sが傷みます!" msgid "Your %s aches." msgstr "%sが鈍く傷みます。" -#: src/player.cpp -#, c-format -msgid "Your current health value is %d." -msgstr "現在の健康度は%dです。" - #: src/player.cpp #, c-format msgid "Your %s HURTS!" @@ -203749,12 +209800,14 @@ msgstr "会話(%1$s): 「%2$s」" msgid "You increase %1$s to level %2$d." msgstr "%1$sスキルがレベル%2$dに上昇しました。" +#. ~ %1$s: weapon name #: src/player.cpp -msgid "Your " -msgstr "あなたの" +#, c-format +msgid "Your %1$s" +msgstr "%1$s" #: src/player.cpp -msgid "You suddenly feel so numb..." +msgid "You suddenly feel so numb…" msgstr "身体に強烈な痺れを感じました..." #: src/player.cpp @@ -203766,6 +209819,12 @@ msgstr "震えがこみ上げてきました。" msgid "yourself shout, %s" msgstr "叫びました。%s" +#. ~ %1$s: weapon name +#: src/player.cpp +#, c-format +msgid "your %1$s" +msgstr "%1$s" + #: src/player.cpp msgid "You're suddenly overcome with the urge to sleep and you pass out." msgstr "急な眠気に襲われ、意識を失いました。" @@ -203866,7 +209925,7 @@ msgid "Suddenly, your eyes stop working!" msgstr "急に目が見え無くなりました!" #: src/player.cpp -msgid "Your visual centers must be acting up..." +msgid "Your visual centers must be acting up…" msgstr "視覚中枢がいたずらをしています..." #: src/player.cpp @@ -203943,8 +210002,8 @@ msgid "You shake uncontrollably." msgstr "震えを抑えきれません。" #: src/player.cpp -msgid "You feel nauseous..." -msgstr "吐き気を催しています..." +msgid "You feel nauseous…" +msgstr "吐き気を催しています。" #: src/player.cpp msgid "You black out!" @@ -203959,7 +210018,7 @@ msgid "You stumble and fall over!" msgstr "つまずいて転倒しました!" #: src/player.cpp -msgid "You feel tired..." +msgid "You feel tired…" msgstr "疲れています..." #: src/player.cpp @@ -204110,10 +210169,6 @@ msgstr "空の%sを落としました。" msgid "%c - %d empty %s" msgstr "%c - %d 空の%s" -#: src/player.cpp -msgid "You sink your roots into the soil." -msgstr "土に根を張りました。" - #: src/player.cpp src/veh_interact.cpp #, c-format msgid "Refill %s" @@ -204271,6 +210326,10 @@ msgstr "枝角" msgid "Can't wield spilt liquids." msgstr "こぼれた液体は所持できません。" +#: src/player.cpp +msgid "You need at least one arm to even consider wielding something." +msgstr "何かを装備するには最低でも1本の腕が必要です。" + #: src/player.cpp msgid "Something you are wearing hinders the use of both hands." msgstr "着用しているものが両手の動きを妨げています。" @@ -204361,22 +210420,45 @@ msgstr "%sに修理すべき故障は見当たりません。" #: src/player.cpp msgid "Mend which fault?" -msgstr "修理する故障部品を選択" +msgstr "修理内容を選択" -#: src/player.cpp src/veh_interact.cpp -msgid "Time required:\n" -msgstr "所要時間:\n" +#: src/player.cpp +#, c-format +msgid "Turns into: %s\n" +msgstr "変化: %s\n" #: src/player.cpp -msgid "Skills:\n" -msgstr "スキル:\n" +#, c-format +msgid "Time required: %s\n" +msgstr "所要時間: %s\n" -#. ~ %1$s represents the internal color name which shouldn't be translated, -#. %2$s is skill name, and %3$i is skill level +#: src/player.cpp +msgid "Skills: none\n" +msgstr "スキル: なし\n" + +#: src/player.cpp +#, c-format +msgid "Skills: %s\n" +msgstr "スキル: %s\n" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level +#: src/player.cpp +#, c-format +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "%1$s(%2$d/%3$d)" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level #: src/player.cpp #, c-format -msgid "> %2$s %3$i\n" -msgstr "> %2$s %3$i\n" +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "%1$s(%2$d/%3$d)" + +#: src/player.cpp +#, c-format +msgid "You are currently unable to mend the %s this way." +msgstr "今のところは、この方法で%sを修理できません。" #: src/player.cpp msgid "You are already wearing that." @@ -204402,13 +210484,13 @@ msgstr "は%sを身に着けました。" #: src/player.cpp #, c-format -msgid "Your %s are very encumbered! %s" -msgstr "%1$sの動きをかなり妨げます!%2$s" +msgid "Your %s are very encumbered! %s" +msgstr "%sの動きをかなり妨げます!%s" #: src/player.cpp #, c-format -msgid "Your %s is very encumbered! %s" -msgstr "%1$sの動きをかなり妨げます!%2$s" +msgid "Your %s is very encumbered! %s" +msgstr "%sの動きをかなり妨げます!%s" #: src/player.cpp msgid "You're deafened!" @@ -204416,13 +210498,12 @@ msgstr "何も聞こえません!" #: src/player.cpp #, c-format -msgid "This %s is too big to wear comfortably! Maybe it could be refitted..." +msgid "This %s is too big to wear comfortably! Maybe it could be refitted…" msgstr "%sは大きすぎて快適に着用できません!サイズを調整できそうです..." #: src/player.cpp #, c-format -msgid "" -"This %s is too small to wear comfortably! Maybe it could be refitted..." +msgid "This %s is too small to wear comfortably! Maybe it could be refitted…" msgstr "%sは小さすぎて快適に着用できません!サイズを調整できそうです..." #: src/player.cpp @@ -204546,18 +210627,6 @@ msgstr "未使用の原子力電池(%i)を回収しました。" msgid "You can't remove partially depleted plutonium!" msgstr "使いかけの原子力電池を除去することはできません!" -#: src/player.cpp -#, c-format -msgid "Your %s needs %d charge from some UPS." -msgid_plural "Your %s needs %d charges from some UPS." -msgstr[0] "%sを使用するにはUPS型電源(%d)が必要です。" - -#: src/player.cpp -#, c-format -msgid "Your %s has %d charge but needs %d." -msgid_plural "Your %s has %d charges but needs %d." -msgstr[0] "%s(%d)の装填量は%d以上必要です。" - #. ~ %1$s - gunmod, %2$s - gun. #: src/player.cpp #, c-format @@ -204598,7 +210667,7 @@ msgid "It's impossible to sleep in this wheeled pot!" msgstr "こんな車輪付き植木鉢の中で眠るのは不可能です!" #: src/player.cpp -msgid "The humans' furniture blocks your roots. You can't get comfortable." +msgid "The humans' furniture blocks your roots. You can't get comfortable." msgstr "人間用の家具か何かが根を邪魔しています。これではゆっくりできません。" #: src/player.cpp @@ -204612,8 +210681,8 @@ msgid "" msgstr "我々の繊維は地中に根付いている。我々の首に発生した期間は、我々の意識が遠のくと共に、空気中に胞子を散布させる。" #: src/player.cpp -msgid "These thick webs support your weight, and are strangely comfortable..." -msgstr "強靭な網がしっかりと体重を支えてくれています。こうしていると奇妙なくつろぎを感じます..." +msgid "These thick webs support your weight, and are strangely comfortable…" +msgstr "強靭な網がしっかりと体重を支えてくれています。こうしていると不思議と快適です..." #: src/player.cpp msgid "You try to sleep, but the webs get in the way. You brush them aside." @@ -204634,11 +210703,11 @@ msgstr "この素敵な密集したクモの巣は眠るには最適な場所で #: src/player.cpp msgid "" -"You lay beneath the waves' embrace, gazing up through the water's surface..." +"You lay beneath the waves' embrace, gazing up through the water's surface…" msgstr "波の抱擁に身をゆだね、水面をじっと眺めています..." #: src/player.cpp -msgid "You settle into the water and begin to drowse..." +msgid "You settle into the water and begin to drowse…" msgstr "水中に身を落ち着け、うたた寝を始めました..." #: src/player.cpp @@ -204692,76 +210761,6 @@ msgstr "電力が尽き、睡眠導入装置が停止しました!" msgid "Your soporific inducer starts back up." msgstr "睡眠導入装置が再起動しました。" -#: src/player.cpp -msgid "You nestle your pile of clothes for warmth." -msgstr "暖かさを求めて、衣の山に包まり、気持ち良く横になりました。" - -#: src/player.cpp -msgid "You use your pile of clothes for warmth." -msgstr "暖かさを求めて、布の山に包まりました。" - -#: src/player.cpp -#, c-format -msgid "You snuggle your %s to keep warm." -msgstr "体温を保つために%sに包まり、気持ち良く横になりました。" - -#: src/player.cpp -#, c-format -msgid "You use your %s to keep warm." -msgstr "体温を保つために%sに包まりました。" - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Entered hibernation." -msgstr "冬眠に入りました。" - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Entered hibernation." -msgstr "冬眠に入りました。" - -#. ~ %s is armor name -#: src/player.cpp -#, c-format -msgctxt "memorial_male" -msgid "Worn %s was completely destroyed." -msgstr "着用していた%sは完全に破壊された。" - -#: src/player.cpp -#, c-format -msgctxt "memorial_female" -msgid "Worn %s was completely destroyed." -msgstr "着用していた%sは完全に破壊された。" - -#: src/player.cpp -#, c-format -msgid "Your %s is completely destroyed!" -msgstr "%sは完全に破壊されました!" - -#: src/player.cpp -#, c-format -msgid "'s %s is completely destroyed!" -msgstr "の%sは完全に破壊されました!" - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s further!" -msgstr "%2$s%1$sが更に傷付きました!" - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s!" -msgstr "%1$sは%2$s!" - -#: src/player.cpp src/veh_interact.cpp -msgid "destroyed" -msgstr "損壊" - -#: src/player.cpp -#, c-format -msgid "This task is too simple to train your %s beyond %d." -msgstr "この作業は%sスキルをレベル%d以上に上昇させるには簡単過ぎます。" - #: src/player.cpp #, c-format msgid "Your skill in %s has increased to %d!" @@ -204773,8 +210772,9 @@ msgid "You feel that %s tasks of this level are becoming trivial." msgstr "このレベルの%s作業が退屈なものになってきました。" #: src/player.cpp -msgid "You resume your task." -msgstr "作業を再開しました。" +#, c-format +msgid "This task is too simple to train your %s beyond %d." +msgstr "この作業は%sスキルをレベル%d以上に上昇させるには簡単過ぎます。" #: src/player.cpp msgid "Wield what?" @@ -204786,8 +210786,8 @@ msgstr "時間の流れが遅くなり、本能的に回避しました!" #: src/player.cpp #, c-format -msgid "%s dodges... so fast!" -msgstr "%sが回避しました...何て速さなんだ!" +msgid "%s dodges… so fast!" +msgstr "%sが回避しました...ものすごい素早さです!" #: src/player.cpp msgid "You try to dodge but there's no room!" @@ -204798,79 +210798,6 @@ msgstr "回避を試みました...しかし、回避を試みるだけの空間 msgid "%s tries to dodge but there's no room!" msgstr "%sは回避を試みました...しかし、回避を試みるだけの空間が存在しませんでした!" -#: src/player.cpp -msgid "You start hauling items along the ground." -msgstr "足下のアイテムの一括移動を有効化しました。" - -#: src/player.cpp -msgid "Your hands are not free, which makes hauling slower." -msgstr "手が塞がっているため、作業はなかなか進みません。" - -#: src/player.cpp -msgid "You stop hauling items." -msgstr "足下のアイテムの一括移動を無効化しました。" - -#: src/player.cpp -msgid "Your body strains under the weight!" -msgstr "身体が重荷に悲鳴を上げました。" - -#: src/player.cpp -#, c-format -msgid "You remove the %s's harness." -msgstr "%sの車両接続ハーネスを外しました。" - -#: src/player.cpp -#, c-format -msgid "You climb on the %s." -msgstr "%sによじ登りました。" - -#: src/player.cpp -#, c-format -msgid "You hear your %s whir to life." -msgstr "%sがブゥンと音を立てて起動しました。" - -#: src/player.cpp -msgid "You are ejected from your mech!" -msgstr "メックから射出されました!" - -#: src/player.cpp -msgid " is ejected from their mech!" -msgstr "はメックから射出されました!" - -#: src/player.cpp -msgid "You fall off your mount!" -msgstr "騎乗していた動物から落ちました!" - -#: src/player.cpp -msgid " falls off their mount!" -msgstr "は騎乗していた動物から落ちました!" - -#: src/player.cpp src/trapfunc.cpp -msgid "You hurt yourself!" -msgstr "怪我をしました!" - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Fell off a mount." -msgstr "騎乗していた動物から落ちました。" - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Fell off a mount." -msgstr "騎乗していた動物から落ちました。" - -#: src/player.cpp -msgid "Dismount where?" -msgstr "どこに降りますか?" - -#: src/player.cpp -msgid "You cannot dismount there!" -msgstr "その場所には降りられません!" - -#: src/player.cpp -msgid "Wielding: " -msgstr "装備: " - #: src/player.cpp #, c-format msgid "You (%s)" @@ -204926,45 +210853,22 @@ msgstr "食事可能" msgid "Pain " msgstr "苦痛" +#. ~ skill_name current_skill_level -> next_skill_level (% to next level) #: src/player_activity.cpp #, c-format -msgid "Crafting: %s" -msgstr "製作: %s" - -#: src/player_activity.cpp -#, c-format -msgid "Burrowing: %d%%" -msgstr "掘進: %d%%" - -#: src/player_activity.cpp -#, c-format -msgid "Sawing: %d%%" -msgstr "裁縫: %d%%" - -#: src/player_activity.cpp -#, c-format -msgid "Jackhammering: %d%%" -msgstr "削岩: %d%%" - -#: src/player_activity.cpp -#, c-format -msgid "Digging: %d%%" -msgstr "穴掘: %d%%" +msgctxt "reading progress" +msgid "%s %d -> %d (%d%%)" +msgstr "%s%d -> %d(%d%%)" #: src/player_activity.cpp #, c-format -msgid "Disassembling: %d%%" -msgstr "分解: %d%%" +msgid "%s…" +msgstr "%s…" #: src/player_activity.cpp #, c-format -msgid "Shoveling: %d%%" -msgstr "土掻: %d%%" - -#: src/player_activity.cpp -#, c-format -msgid "Chopping: %d%%" -msgstr "伐採: %d%%" +msgid "%s: %s" +msgstr "%s: %s" #: src/player_activity.cpp msgid "You pause for a moment to catch your breath." @@ -205164,47 +211068,57 @@ msgstr "現在速度: " #: src/player_display.cpp #, c-format -msgid "Overburdened -%s%d%%" -msgstr "荷物過重 -%s%d%%" +msgctxt "speed penalty" +msgid "Overburdened -%2d%%" +msgstr "荷物過重 -%2d%%" #: src/player_display.cpp #, c-format -msgid "Pain -%s%d%%" -msgstr "苦痛 -%s%d%%" +msgctxt "speed penalty" +msgid "Pain -%2d%%" +msgstr "苦痛 -%2d%%" #: src/player_display.cpp #, c-format -msgid "Thirst -%s%d%%" -msgstr "喉の渇き -%s%d%%" +msgctxt "speed penalty" +msgid "Thirst -%2d%%" +msgstr "口渇 -%2d%%" #: src/player_display.cpp msgid "Underfed" msgstr "栄養不足" +#. ~ %s: Starving/Underfed (already left-justified), %2d: speed penalty #: src/player_display.cpp #, c-format -msgid "%-20s-%s%d%%" -msgstr "%-20s-%s%d%%" +msgctxt "speed penalty" +msgid "%s-%2d%%" +msgstr "%s-%2d%%" #: src/player_display.cpp #, c-format -msgid "Out of Sunlight -%s%d%%" -msgstr "日陰 -%s%d%%" +msgctxt "speed penalty" +msgid "Out of Sunlight -%2d%%" +msgstr "日陰 -%2d%%" +#. ~ %s: sign of bonus/penalty, %2d: speed bonus/penalty #: src/player_display.cpp #, c-format -msgid "Cold-Blooded %s%s%d%%" -msgstr "冷血 %s%s%d%%" +msgctxt "speed modifier" +msgid "Cold-Blooded %s%2d%%" +msgstr "冷血 %s%2d%%" #: src/player_display.cpp #, c-format -msgid "Quick +%s%d%%" -msgstr "俊敏 +%s%d%%" +msgctxt "speed bonus" +msgid "Quick +%2d%%" +msgstr "加速 +%2d%%" #: src/player_display.cpp #, c-format -msgid "Bionic Speed +%s%d%%" -msgstr "生体部品速度 +%s%d%%" +msgctxt "speed bonus" +msgid "Bionic Speed +%2d%%" +msgstr "CBM加速 +%2d%%" #: src/player_display.cpp #, c-format @@ -205237,16 +211151,16 @@ msgstr "重度栄養失調" #: src/player_display.cpp msgid "" -"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" -" \n" +"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" +"\n" msgstr "" -"飢えによって身体が酷く弱っています。定期的に食事を食べないと、このままでは死んでしまいます!\n" +"飢えによって身体が酷く弱っています。定期的に食事を摂らないと、このままでは死んでしまいます!\n" " \n" #: src/player_display.cpp msgid "" -"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" -" \n" +"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" +"\n" msgstr "" "飢えのせいで体調が悪化しています。回復するには定期的に食事をとり続けるしかありません。\n" " \n" @@ -205349,29 +211263,29 @@ msgid " vomits thousands of live spores!" msgstr "は何千という生きた胞子を吐き出しました!" #: src/player_hardcoded_effects.cpp -msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" +msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" msgstr "折れた腕の肉が膨れ上がり、キノコが飛び出しました!" #: src/player_hardcoded_effects.cpp -msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" +msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" msgstr "の折れた腕の肉が膨れ上がり、キノコが飛び出しました!" #: src/player_hardcoded_effects.cpp msgid "" -"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " +"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " "through!" msgstr "両腕の肉が膨れ上がり、キノコが飛び出しました!" #: src/player_hardcoded_effects.cpp -msgid "'s arms bulge. Fungus stalks burst out of the bulges!" +msgid "'s arms bulge. Fungus stalks burst out of the bulges!" msgstr "の両腕の肉が膨れ上がり、キノコが飛び出しました!" #: src/player_hardcoded_effects.cpp -msgid "Your hands bulge. Fungus stalks burst through the bulge!" +msgid "Your hands bulge. Fungus stalks burst through the bulge!" msgstr "手が膨れ上がり、キノコが飛び出しました!" #: src/player_hardcoded_effects.cpp -msgid "'s hands bulge. Fungus stalks burst through the bulge!" +msgid "'s hands bulge. Fungus stalks burst through the bulge!" msgstr "の手が膨れ上がり、キノコが飛び出しました!" #: src/player_hardcoded_effects.cpp @@ -205419,7 +211333,7 @@ msgid "\"Oh God, what's happening?\"" msgstr "「おお、何が起こってる?」" #: src/player_hardcoded_effects.cpp -msgid "\"Of course... it's all fractals!\"" +msgid "\"Of course… it's all fractals!\"" msgstr "「もちろん...全てがフラクタルになる!」" #: src/player_hardcoded_effects.cpp @@ -205455,7 +211369,7 @@ msgid "You quiver from the cold." msgstr "寒さで小刻みに震えています。" #: src/player_hardcoded_effects.cpp -msgid "Your torso is freezing cold. You should put on a few more layers." +msgid "Your torso is freezing cold. You should put on a few more layers." msgstr "胴体が凍えるような寒さで震えています。更に重ね着する必要があります。" #: src/player_hardcoded_effects.cpp @@ -205655,7 +211569,7 @@ msgid "You shudder suddenly." msgstr "急に身震いしました。" #: src/player_hardcoded_effects.cpp -msgid "Your vision is filled with bright lights..." +msgid "Your vision is filled with bright lights…" msgstr "視界が眩しい光で満たされました..." #: src/player_hardcoded_effects.cpp @@ -205830,6 +211744,47 @@ msgstr "アラームが作動しています。" msgid "Your alarm went off." msgstr "アラームが作動しました。" +#: src/player_hardcoded_effects.cpp +msgid "You lose control of your body as it begins to convulse!" +msgstr "全身が痙攣し、上手く動けなくなっています!" + +#: src/player_hardcoded_effects.cpp +msgid "You lose conciousness!" +msgstr "意識を失いました!" + +#: src/player_hardcoded_effects.cpp +msgid "arm" +msgstr "腕" + +#: src/player_hardcoded_effects.cpp +msgid "hand" +msgstr "手" + +#: src/player_hardcoded_effects.cpp +msgid "leg" +msgstr "脚" + +#: src/player_hardcoded_effects.cpp +#, c-format +msgid "Your %s suddenly jerks in an unexpected direction!" +msgstr "%sが突然予想外の方向に動きました!" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep hold of your weapon." +msgstr "運よく装備を落とさずに済みました。" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep your footing." +msgstr "運よくその場に踏み止まりました。" + +#: src/player_hardcoded_effects.cpp +msgid "You suddenly lose all muscle tone, and can't support your own weight!" +msgstr "突然全身の筋肉から力が抜け,立っていられなくなりました!" + +#: src/player_hardcoded_effects.cpp +msgid "You have a splitting headache." +msgstr "激しい頭痛に悩まされています。" + #: src/ranged.cpp #, c-format msgid "Your %s misfires with a muffled click!" @@ -205980,7 +211935,7 @@ msgstr "[%c] 照準を中央へ / [%c] 画面の中心を切換" #: src/ranged.cpp #, c-format -msgid "[%c] to steady your aim. (10 moves)" +msgid "[%c] to steady your aim. (10 moves)" msgstr "[%c] 照準調整(行動コスト10)" #: src/ranged.cpp @@ -206149,8 +212104,8 @@ msgid "Effective Spell Radius: %s%s" msgstr "呪文有効範囲: %s%s" #: src/ranged.cpp -msgid " WARNING! IN RANGE" -msgstr "警告!範囲内に入っています" +msgid " WARNING! IN RANGE" +msgstr "警告!射程範囲内です" #: src/ranged.cpp #, c-format @@ -206251,10 +212206,6 @@ msgstr "ダァン!" msgid "none" msgstr "なし" -#: src/recipe.cpp -msgid "none" -msgstr "なし" - #: src/recipe.cpp #, c-format msgid "%s%% at >%s units" @@ -206276,6 +212227,14 @@ msgid "%1$s (%2$d charge)" msgid_plural "%1$s (%2$d charges)" msgstr[0] "%1$s(充填量: %2$d)" +#. ~ %1$s: item name, %2$d: charge requirement +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%1$s (%2$d of infinite)" +msgid_plural "%1$s (%2$d of infinite)" +msgstr[0] "%1$s (%2$d/無限)" + #. ~ %1$s: item name, %2$d: charge requirement, %3%d: available charges #: src/requirements.cpp #, c-format @@ -206292,6 +212251,14 @@ msgid "%1$s (%2$d)" msgid_plural "%1$s (%2$d)" msgstr[0] "%1$s (%2$d)" +#. ~ %1$s: item name, %2$d: required count +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%2$d %1$s of infinite" +msgid_plural "%2$d %1$s of infinite" +msgstr[0] "%1$s(%2$d/無限)" + #. ~ %1$s: item name, %2$d: required count, %3%d: available count #: src/requirements.cpp #, c-format @@ -206375,8 +212342,8 @@ msgid "Safe Mode manager currently inactive." msgstr "現在セーフモード管理は未設定です。" #: src/safemode_ui.cpp -msgid "Default rules are used. Add a rule to activate." -msgstr "初期設定が適用されています。有効化するルールを追加してください。" +msgid "Default rules are used. Add a rule to activate." +msgstr "初期設定が適用されます。有効化するルールを追加してください。" #: src/safemode_ui.cpp msgid "Press ~ to add a default ruleset to get started." @@ -206388,7 +212355,7 @@ msgstr "許可" #: src/safemode_ui.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" +"* is used as a Wildcard. A few Examples:\n" "\n" "human matches every NPC\n" "zombie matches the monster name exactly\n" @@ -206418,7 +212385,7 @@ msgid "Option: " msgstr "オプション: " #: src/safemode_ui.cpp -msgid "No monsters loaded. Please start a game first." +msgid "No monsters loaded. Please start a game first." msgstr "モンスターが読み込まれていません。まずゲームを開始してください。" #: src/safemode_ui.cpp @@ -206432,7 +212399,7 @@ msgid "Lists monsters regardless of their attitude." msgstr "モンスターの態度に関わらず一覧表示します。" #: src/safemode_ui.cpp -msgid "Safe Mode is not enabled in the options. Enable it now?" +msgid "Safe Mode is not enabled in the options. Enable it now?" msgstr "セーフモードがオプションで有効になっていません。有効化しますか?" #: src/safemode_ui.cpp @@ -206474,11 +212441,6 @@ msgstr "スコア" msgid "KILLS" msgstr "殺害" -#: src/sdltiles.cpp -msgid "" -"Sets which video display will be used to show the game. Requires restart." -msgstr "ゲーム画面を表示するディスプレイを設定します。再起動が必要です。" - #: src/skill.cpp msgid "The zen-most skill there is." msgstr "禅の境地です。" @@ -206535,6 +212497,10 @@ msgstr "有効なスタート地点を生成できませんでした。不具合 msgid "d: delete history" msgstr "d: 履歴削除" +#: src/teleport.cpp +msgid "You feel a strange, inwards force." +msgstr "内向きに引っ張られるような、奇妙な感覚に襲われました。" + #: src/teleport.cpp msgid "You cannot teleport safely." msgstr "安全にテレポートできません。" @@ -206544,7 +212510,11 @@ msgid "You die after teleporting into a solid." msgstr "固体内にテレポートして死亡しました。" #: src/teleport.cpp -msgid "You exlpode into thousands of fragments." +msgid "You feel disjointed." +msgstr "思考がまとまりません。" + +#: src/teleport.cpp +msgid "You explode into thousands of fragments." msgstr "爆発して粉みじんになりました。" #: src/teleport.cpp @@ -206870,12 +212840,12 @@ msgid "vvrrrRRMM*POP!*" msgstr "ブリィゥゥン...ポン!" #: src/trapfunc.cpp -msgid "The air shimmers around you..." +msgid "The air shimmers around you…" msgstr "周囲の空気が揺らめいています..." #: src/trapfunc.cpp #, c-format -msgid "The air shimmers around %s..." +msgid "The air shimmers around %s…" msgstr "%sの周囲の空気が揺らめいています..." #: src/trapfunc.cpp @@ -206891,7 +212861,7 @@ msgid "The acidic goo eats away at your feet." msgstr "酸性の粘液が足を溶かしています。" #: src/trapfunc.cpp -msgid "BEEPBOOP! Please remove non-organic object." +msgid "BEEPBOOP! Please remove non-organic object." msgstr "ビービー!有機体デハナイ物質ヲ除去シテ下サイ。" #: src/trapfunc.cpp @@ -206908,7 +212878,7 @@ msgstr "床から電子ビームが放射され、の身体をすぱっ #: src/trapfunc.cpp #, c-format -msgid "Electrical beams emit from the floor and slice your %s!" +msgid "Electrical beams emit from the floor and slice the %s!" msgstr "床から電子ビームが放射され、%sをすぱっと切り裂きました!" #: src/trapfunc.cpp @@ -206992,7 +212962,7 @@ msgid "Your %s is burned by the lava!" msgstr "%sは溶岩で火傷を負いました!" #: src/trapfunc.cpp -msgid "You fail to attach it..." +msgid "You fail to attach it…" msgstr "取り付けに失敗しました..." #: src/trapfunc.cpp @@ -207128,8 +213098,21 @@ msgid "Set turret targeting" msgstr "タレットの照準設定" #: src/turret.cpp -msgid "Can't aim turrets: all turrets are offline" -msgstr "タレットの照準を付けられない: 全てのタレットがオフラインです。" +msgid "auto -> manual" +msgstr "自動 -> 手動" + +#: src/turret.cpp +msgid "manual -> auto" +msgstr "手動 -> 自動" + +#: src/turret.cpp +msgid "manual (turret control unit required for auto mode)" +msgstr "手動(自動モードはタレット制御ユニットが必要)" + +#: src/turret.cpp +msgid "" +"Can't aim turrets: all turrets are offline or set to manual targeting mode." +msgstr "照準不可: 全てのタレットがオフラインになっているか、手動照準モードに設定されています。" #: src/turret.cpp msgid "Aim which turret?" @@ -207171,8 +213154,8 @@ msgstr "ジョン スミス" #: src/tutorial.cpp msgid "" "You're saving a tutorial - the tutorial world lacks certain features of " -"normal worlds. Weird things might happen when you load this save. You have " -"been warned." +"normal worlds. Weird things might happen when you load this save. You have" +" been warned." msgstr "" "チュートリアルをセーブしています - " "チュートリアルは通常世界と異なる構造をしており、このセーブデータをロードすると不具合が発生する可能性があります。警告はしましたよ。" @@ -207181,6 +213164,10 @@ msgstr "" msgid "Select part" msgstr "部品選択" +#: src/veh_interact.cpp +msgid "Time required:\n" +msgstr "所要時間:\n" + #: src/veh_interact.cpp msgid "Skills required:\n" msgstr "必要スキル:\n" @@ -207353,11 +213340,11 @@ msgid "Search for part" msgstr "部品検索" #: src/veh_interact.cpp -msgid "Your morale is too low to construct..." +msgid "Your morale is too low to construct…" msgstr "建設する意欲が湧きません..." #: src/veh_interact.cpp -msgid "It's too dark to see what you are doing..." +msgid "It's too dark to see what you are doing…" msgstr "暗すぎて見えません..." #: src/veh_interact.cpp @@ -207365,7 +213352,7 @@ msgid "You can't install parts while driving." msgstr "運転中は部品を取り付けられません。" #: src/veh_interact.cpp -msgid "Installing this part will make the vehicle unfoldable. Continue?" +msgid "Installing this part will make the vehicle unfoldable. Continue?" msgstr "この部品を取り付けると、車両が折り畳めなくなります。続けますか?" #: src/veh_interact.cpp @@ -207373,7 +213360,7 @@ msgid "Choose shape:" msgstr "形状選択: " #: src/veh_interact.cpp -msgid "Your morale is too low to repair..." +msgid "Your morale is too low to repair…" msgstr "修復する意欲が湧きません..." #: src/veh_interact.cpp @@ -207393,7 +213380,7 @@ msgid "This part cannot be repaired" msgstr "この部品は修復できません" #: src/veh_interact.cpp -msgid "Your morale is too low to mend..." +msgid "Your morale is too low to mend…" msgstr "修理する意欲が湧きません..." #: src/veh_interact.cpp @@ -207566,7 +213553,7 @@ msgid "You can't siphon from a moving vehicle." msgstr "動いている車両からは抜き取れません。" #: src/veh_interact.cpp -msgid "Select part to siphon: " +msgid "Select part to siphon:" msgstr "内容物を抜き取る部品を選択: " #: src/veh_interact.cpp @@ -208043,6 +214030,11 @@ msgstr "掴んでいた車両部品が壊れました!" msgid "Lost connection with the vehicle due to distance!" msgstr "距離が離れすぎたため、車両との通信が切れました!" +#: src/vehicle.cpp +#, c-format +msgid "the %s emitting a beep and saying \"Obstacle detected!\"" +msgstr "%sが警告音を発しました。「障害物を検知しました!」" + #. ~ backfire sound #: src/vehicle.cpp #, c-format @@ -208104,9 +214096,9 @@ msgstr "%1$sはラックに載せられません。" #: src/vehicle.cpp #, c-format msgid "" -"A part of the vehicle ('%s') has no containing vehicle's name. It will be " +"A part of the vehicle ('%s') has no containing vehicle's name. It will be " "detached from the %s vehicle." -msgstr "車両部品(%s)に積んでいる車両名が一致しません。%sが取り外されます。" +msgstr "車両部品(%s)に含まれている車両名がありません。%sが取り外されます。" #: src/vehicle.cpp #, c-format @@ -208210,7 +214202,7 @@ msgid "The %1$s's %2$s is destroyed!" msgstr "%1$sの%2$sが壊れました!" #: src/vehicle_display.cpp -msgid "More parts here..." +msgid "More parts here…" msgstr "他の部品を見る..." #: src/vehicle_display.cpp @@ -208605,7 +214597,7 @@ msgstr "溝堀機" #: src/vehicle_use.cpp msgctxt "electronics menu option" -msgid "rockhead" +msgid "roadheader" msgstr "ボーリングビット" #: src/vehicle_use.cpp @@ -208684,7 +214676,7 @@ msgid "You could use a screwdriver to hotwire it." msgstr "配線を繋いでエンジンをかけるにはドライバーが必要です。" #: src/vehicle_use.cpp -msgid "You destroy the controls..." +msgid "You destroy the controls…" msgstr "制御装置が壊れました..." #: src/vehicle_use.cpp @@ -208707,6 +214699,28 @@ msgstr "車両位置の追跡を止める" msgid "Remember vehicle position" msgstr "車両位置を追跡する" +#: src/vehicle_use.cpp +msgid "Choose action for the autopilot" +msgstr "ヘッドライトの向きを指定して下さい: " + +#: src/vehicle_use.cpp +msgid "Patrol…" +msgstr "巡回..." + +#: src/vehicle_use.cpp +msgid "" +"Program the autopilot to patrol a nearby vehicle patrol zone. If no zones " +"are nearby, you will be prompted to create one." +msgstr "自動操縦のプログラミングを行い、付近の自動運転区域を巡回させます。付近に区域がない場合は設定してください。" + +#: src/vehicle_use.cpp +msgid "Stop…" +msgstr "停止..." + +#: src/vehicle_use.cpp +msgid "Stop all autopilot related activities." +msgstr "自動操縦に関する全ての動作を停止します。" + #: src/vehicle_use.cpp msgid "You stop keeping track of the vehicle position." msgstr "車両位置の追跡を止めました。" @@ -208751,14 +214765,14 @@ msgstr "エンジンを止める" msgid "Turn on the engine" msgstr "エンジンを始動する" -#: src/vehicle_use.cpp -msgid "You turn the engine off." -msgstr "エンジンを止めました。" - #: src/vehicle_use.cpp msgid "Honk horn" msgstr "警笛を鳴らす" +#: src/vehicle_use.cpp +msgid "Control autopilot" +msgstr "自動操縦を設定する" + #: src/vehicle_use.cpp msgid "Disable cruise control" msgstr "速度自動制御を無効化" @@ -208883,6 +214897,10 @@ msgstr "%sはカチャカチャと音を立てました。" msgid "the %s starting" msgstr "%sが起動しました。" +#: src/vehicle_use.cpp +msgid "You turn the engine off." +msgstr "エンジンを止めました。" + #: src/vehicle_use.cpp msgid "You honk the horn!" msgstr "警笛を鳴らしました!" @@ -208903,8 +214921,8 @@ msgstr "クラクションを鳴らしましたが、何も起こりませんで #: src/vehicle_use.cpp #, c-format -msgid "Move how many? [Have %d] (0 to cancel)" -msgstr "いくつ移動させますか?[%d個](0で取消)" +msgid "Move how many? [Have %d] (0 to cancel)" +msgstr "移動させるアイテムの個数を入力[%d個所持](0で取消)" #: src/vehicle_use.cpp msgid "a simple melody blaring from the loudspeakers." @@ -208980,6 +214998,10 @@ msgstr "滅菌サイクルを開始する前に、オートクレーブの中か msgid "Only CBMs can be sterilized in an autoclave." msgstr "オートクレーブで滅菌できるのはCBMだけです。" +#: src/vehicle_use.cpp +msgid "You should put your CBMs in autoclave pouches to keep them sterile." +msgstr "CBMをオートクレーブ用パウチに入れて滅菌した状態で密封する必要があります。" + #: src/vehicle_use.cpp msgid "You turn the autoclave on and it starts its cycle." msgstr "オートクレーブの電源を入れ、滅菌サイクルを開始しました。" @@ -209093,6 +215115,15 @@ msgstr "%1$sと%2$sをハーネスで繋ぎました。" msgid "You untie your %s." msgstr "%sを解放しました。" +#: src/vehicle_use.cpp +msgid "Load a vehicle on the rack" +msgstr "ラックに載せる" + +#: src/vehicle_use.cpp +#, c-format +msgid "Remove the %s from the rack" +msgstr "%sをラックから降ろす" + #: src/vehicle_use.cpp msgid "Examine vehicle" msgstr "車両を調べる" @@ -209213,8 +215244,8 @@ msgid "Your power armor protects you from the acidic drizzle." msgstr "パワーアーマーが小酸性雨を防いでいます。" #: src/weather.cpp -msgid "The acid rain stings, but is mostly harmless for now..." -msgstr "酸性雨に当たるとヒリヒリと痛みが走りますが、現状では問題ないでしょう..." +msgid "The acid rain stings, but is mostly harmless for now…" +msgstr "酸性雨が皮膚を刺激していますが、今の所ほとんど無害です..." #: src/weather.cpp msgid "Your umbrella protects you from the acid rain." @@ -209299,7 +215330,7 @@ msgstr "%s夜" #: src/weather.cpp #, c-format -msgid "%s... %s. Highs of %s. Lows of %s. " +msgid "%s… %s. Highs of %s. Lows of %s. " msgstr "%s...%s。最高気温%s。最低気温%s。 " #: src/weather.cpp @@ -209553,7 +215584,7 @@ msgstr "数量" #: src/wish.cpp #, c-format -msgid "Wish granted. Wish for more or hit [%s] to quit." +msgid "Wish granted. Wish for more or hit [%s] to quit." msgstr "願いは叶えられました。まだ願い事をするか、[%s]で終了します。" #: src/wish.cpp @@ -209561,8 +215592,8 @@ msgid "Select a skill to modify" msgstr "変更するスキルを選択" #: src/wish.cpp -msgid "Modify all skills..." -msgstr "全てのスキルを修正..." +msgid "Modify all skills…" +msgstr "全てのスキルを編集..." #: src/wish.cpp #, c-format @@ -209571,8 +215602,8 @@ msgstr "@ %d: %s " #: src/wish.cpp #, c-format -msgid "Set '%s' to.." -msgstr "%sを.." +msgid "Set '%s' to…" +msgstr "%sを..." #: src/wish.cpp msgid " (current)" @@ -209670,7 +215701,7 @@ msgstr "適用MOD" #: src/worldfactory.cpp #, c-format -msgid "... %s = View full description " +msgid "…%s = View full description " msgstr "... %s = 説明を全て表示" #: src/worldfactory.cpp @@ -209704,13 +215735,13 @@ msgid "________NO NAME ENTERED!________" msgstr "______名前が入力されていません!______" #: src/worldfactory.cpp -msgid "Are you SURE you're finished? World name will be randomly generated." +msgid "Are you SURE you're finished? World name will be randomly generated." msgstr "完了してよろしいですか? 世界名はランダムで生成されます。" #: src/worldfactory.cpp #, c-format msgid "" -"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " +"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " "%s/%s = Prev/Next Tab." msgstr "%s = 初期設定として保存 %s = キー割当 %s/%s = 前/次のMOD分類に移動 %s/%s = 前/次のタブに移動" diff --git a/lang/po/ko.po b/lang/po/ko.po index 3aa5d650571ea..78da5ba4f5544 100644 --- a/lang/po/ko.po +++ b/lang/po/ko.po @@ -7,19 +7,19 @@ # Vlasov Vitaly , 2019 # Nick, 2019 # fenjo , 2019 -# Sail Recycle , 2019 -# indejeC , 2019 # 장현우 , 2019 -# Brett Dong , 2019 # T itan , 2019 +# indejeC , 2019 +# Sail Recycle , 2019 +# Brett Dong , 2019 # msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.D\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-06 00:47+0800\n" +"POT-Creation-Date: 2019-11-09 00:53+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" -"Last-Translator: T itan , 2019\n" +"Last-Translator: Brett Dong , 2019\n" "Language-Team: Korean (https://www.transifex.com/cataclysm-dda-translators/teams/2217/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -661,10 +661,8 @@ msgstr "철침박은 사제 로켓" msgid "" "A hand-built rocket, consisting of a spike welded onto a pipe that was " "filled with improvised rocket fuel. Horribly inaccurate, as can be expected" -" of this grade of weapon, but packs a fierce punch... if it hits." +" of this grade of weapon, but packs a fierce punch… if it hits." msgstr "" -"철침을 용접한 파이프 속에 급조한 로켓 연료를 넣어 만든 수제 로켓. 끔찍할 정도로 명중률이 낮지만, 강력한 파괴력을 발휘합니다... " -"맞기만 한다면." #: lang/json/AMMO_from_json.py msgid "explosive home-made rocket" @@ -711,9 +709,9 @@ msgstr "미완성 탄화칼슘" #. ~ Description for unfinished calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"The incomplete process of converting coal and lime into calcium carbide. " -"Useless in this state/" -msgstr "한창 제련 중에 있는 석탄과 석회석 혼합물. 아직 사용할 수 없다." +"The incomplete process of converting coal and lime into calcium carbide. " +"Useless in this state." +msgstr "" #: lang/json/AMMO_from_json.py msgid "chain link" @@ -815,10 +813,10 @@ msgstr "목재 브로드헤드 화살" #. ~ Description for wooden broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched wooden arrow shaft with a bladed tip. Useful for maximising " +"A fletched wooden arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a decent chance of remaining intact once " "fired." -msgstr "날이 세워진 촉과 깃을 붙인 나무 화살. 목표에게 최대한 큰 피해를 줘야 할 때 쓰인다. 재사용 확률 평균." +msgstr "" #: lang/json/AMMO_from_json.py msgid "simple wooden arrow" @@ -872,9 +870,9 @@ msgstr "알루미늄 브로드헤드 화살" #. ~ Description for aluminum broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched aluminum arrow shaft with a bladed tip. Useful for maximising " +"A fletched aluminum arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a good chance of remaining intact once fired." -msgstr "날을 세운 촉과 깃을 붙인 알루미늄 화살. 목표에게 최대한 큰 피해를 줘야 할 때 쓰인다. 재사용 확률 높음." +msgstr "" #: lang/json/AMMO_from_json.py msgid "aluminum field point arrow" @@ -1003,13 +1001,11 @@ msgstr[0] "유황" #. ~ Description for sulfur #: lang/json/AMMO_from_json.py msgid "" -"A handful of yellow grains of pure sulfur. Primarily used to make battery " -"acid, sulfur is sometimes used as fuel for explosives. Can be burned to " -"produce acidic smoke, that is deadly to bacteria and humans alike, or " -"oxidized to make paper-bleaching agents." +"A handful of pure sulfur. Primarily used to make battery acid, sulfur is " +"sometimes used as fuel for explosives. Can be burned to produce acidic " +"smoke, that is deadly to bacteria and humans alike, or oxidized to make " +"paper-bleaching agents." msgstr "" -"황색의 순수한 황 한 줌. 주로 배터리용 산성 용액을 만드는데 사용되며, 종종 폭발물의 연료로 사용되기도 합니다. 연소시켜 세균과 " -"인간에게 치명적인 산성 연기를 만들거나, 산화시켜 종이 표백제를 만드는데 사용할 수 있습니다." #: lang/json/AMMO_from_json.py msgid "chunk of sulfur" @@ -1018,8 +1014,8 @@ msgstr[0] "황 덩어리" #. ~ Description for chunk of sulfur #: lang/json/AMMO_from_json.py -msgid "A large chunk of pure sulfur. Break it up to use it." -msgstr "불순물이 섞이지 않은 커다란 황 덩어리. 사용하려면 먼저 부숴야 합니다." +msgid "A chunk of pure sulfur. Break it up to use it." +msgstr "" #: lang/json/AMMO_from_json.py msgid "cement" @@ -1132,9 +1128,9 @@ msgstr[0] "산화아연" #. ~ Description for zinc oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of zinc oxide. It can be reduced into zinc, or used for some other" -" reactions of its own." -msgstr "산화아연 (ZnO) 한 줌. 아연으로 환원하거나 화학반응에 사용할 수 있다." +"A handful of zinc oxide. It can be reduced into zinc, or used for some " +"other reactions of its own." +msgstr "" #: lang/json/AMMO_from_json.py msgid "manganese dioxide" @@ -1144,11 +1140,10 @@ msgstr[0] "이산화 망가니즈" #. ~ Description for manganese dioxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of manganese dioxide powder. Occurring naturally in the mineral " +"A handful of manganese dioxide powder. Occurring naturally in the mineral " "pyrolusite, it is used commercially in the production of alkaline and zinc-" "carbon batteries." msgstr "" -"이산화 망가니즈 (MnO2) 한 줌. 연망간광에서 자연적으로 발생하며, 산업적으로 알칼라인 및 아연-탄소 배터리 제작에 사용된다." #: lang/json/AMMO_from_json.py msgid "potassium chloride" @@ -1158,13 +1153,11 @@ msgstr[0] "염화포타슘" #. ~ Description for potassium chloride #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium chloride. Although it occurs naturally in the mineral" -" sylvite, it can be produced as a byproduct of the reaction of saltpeter and" -" hydrochloric acid. It can be used for making fertilizer, or potassium " -"hydroxide by way of electrolysis." +"A handful of potassium chloride. Although it occurs naturally in the " +"mineral sylvite, it can be produced as a byproduct of the reaction of " +"saltpeter and hydrochloric acid. It can be used for making fertilizer, or " +"potassium hydroxide by way of electrolysis." msgstr "" -"염화포타슘 (KCl) 한 줌. 칼리암염에서 자연적으로 생성되며, 초석이나 염산 제작 과정의 부산물이기도 하다. 비료나 수산화 포타슘 " -"제작에 사용된다." #: lang/json/AMMO_from_json.py msgid "potassium hydroxide" @@ -1174,10 +1167,10 @@ msgstr[0] "수산화 포타슘" #. ~ Description for potassium hydroxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium hydroxide. Commonly called caustic potash, it was " -"mainly used industrially for its caustic nature. It can be used as an " +"A handful of potassium hydroxide. Commonly called caustic potash, it was " +"mainly used industrially for its caustic nature. It can be used as an " "electrolyte in alkaline batteries, among other applications." -msgstr "수산화 포타슘 (KOH) 한 줌. 굉장히 부식성이어서 알칼라인 배터리 등 산업적인 용도로 사용되었다." +msgstr "" #: lang/json/AMMO_from_json.py msgid "sulfuric acid" @@ -1203,10 +1196,10 @@ msgstr[0] "염산" #. ~ Description for hydrochloric acid #: lang/json/AMMO_from_json.py msgid "" -"Hydrochloric acid, also known as muriatic acid. It is a strong acid that has" -" a distinctive smell, important and frequently used ever since its " -"discovery. It still has a vast multitude of uses." -msgstr "특유의 날카로운 냄새를 내뿜는 강산. 수많은 용도 덕에 대량으로 사용되었으며, 지금도 충분히 쓸모가 많다." +"Hydrochloric acid, also known as muriatic acid. It is a strong acid that " +"has a distinctive smell, important and frequently used ever since its " +"discovery. It still has a vast multitude of uses." +msgstr "" #: lang/json/AMMO_from_json.py msgid "acetone" @@ -1249,15 +1242,12 @@ msgstr[0] "산화 크롬" #. ~ Description for chromium oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of chromium oxide pellets. This substance, typically known as the" -" only stable green pigment for paints, is also a mild oxidizer, which can be" -" mixed with aluminum powder to make thermite for welding. If one had access" -" to a CVD machine and a laboratory worth of reagents, they might be able to " +"A handful of chromium oxide. This substance, typically known as the only " +"stable green pigment for paints, is also a mild oxidizer, which can be mixed" +" with aluminum powder to make thermite for welding. If one had access to a " +"CVD machine and a laboratory worth of reagents, they might be able to " "produce very durable ceramic layers." msgstr "" -"산화크롬 알갱이 한 줌. 그림을 그리기 위한 녹색 안료 중 유일하게 안정한 물질로 알려진 산화크롬은 산화제로도 쓰입니다. 알루미늄 가루와" -" 섞어서 용접용 테르밋을 만들 수 있습니다. CVD 장치와 연구소 시약을 이용할 수 있다면 내구성이 매우 좋은 세라믹판을 만들 수 있을 " -"것입니다." #: lang/json/AMMO_from_json.py msgid "calcium carbide" @@ -1267,14 +1257,12 @@ msgstr[0] "탄화 칼슘" #. ~ Description for calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"A handful of calcium carbide chunks, giving off a faint, garlic-like smell." -" Commercially, calcium carbide was used for on-the-spot manufacture of " +"A handful of calcium carbide, giving off a faint, garlic-like smell. " +"Commercially, calcium carbide was used for on-the-spot manufacture of " "acetylene and historically to power acetylene lamps. If mixed with water " "and sealed, it will explode with little strength, but with relatively loud " "noise and could maybe be used as a decoy." msgstr "" -"탄화 칼슘 덩어리. 마늘 비슷한 냄새가 난다. 즉석 아세틸렌 제조에 쓰이며 과거에는 등불의 연료로도 쓰였다. 물과 섞어 밀봉하면 큰 " -"소리를 내며 터지는데, 이걸로 유인용 미끼 같은 걸 만들 수도 있다." #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "hexamine" @@ -1461,8 +1449,8 @@ msgstr[0] "" #: lang/json/AMMO_from_json.py msgid "" "Some match head powder from match heads, similar to black gunpowder but a " -"bit weaker. It can be used in crafting explosives and fuses when other more " -"suitable candidates are less available." +"bit weaker. It can be used in crafting explosives and fuses when other more" +" suitable candidates are less available." msgstr "" #: lang/json/AMMO_from_json.py @@ -1815,10 +1803,10 @@ msgstr[0] "화염방사기 연료" #. ~ Description for flamethrower fuel #: lang/json/AMMO_from_json.py msgid "" -"A mixture of gasoline and diesel oil in equal parts. Its combustion " +"A mixture of gasoline and diesel oil in equal parts. Its combustion " "properties make it unfit for applications where you would use any of them " "separately, but it can be used to feed a flamethrower." -msgstr "가솔린과 디젤의 1:1 혼합물. 기계 따위에 쓰기에는 성질이 너무 달라서 화염방사기 외에는 쓰일 곳이 별로 없다." +msgstr "" #: lang/json/AMMO_from_json.py msgid "autoclave pouch" @@ -3232,44 +3220,70 @@ msgid "reloaded .460 Rowland" msgstr ".460 Rowland (재생)" #: lang/json/AMMO_from_json.py -msgid ".50 BMG tracer" -msgstr ".50 BMG 예광탄" +msgid ".50 BMG M17 tracer" +msgstr "" + +#. ~ Description for .50 BMG M17 tracer +#: lang/json/AMMO_from_json.py +msgid "" +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid ".50 BMG M33 Ball" +msgstr "" -#. ~ Description for .50 BMG tracer +#. ~ Description for .50 BMG M33 Ball #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances." +".50 BMG ammunition with mild steel cored 661gr FMJ bullets. The .50 BMG is " +"a very powerful rifle round designed for anti-aircraft use, later adapted to" +" anti-vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -"강력한 .50 구경 BMG 저격탄의 예광탄 버젼. 예광탄은 지속 사격시 사격 방향을 유지하는데 도움을 주며 가연성 물질의 경우 화재를 " -"일으킬 수 있습니다." #: lang/json/AMMO_from_json.py -msgid ".50 BMG Ball" -msgstr ".50 BMG Ball" +msgid ".50 BMG Match" +msgstr "" -#. ~ Description for .50 BMG Ball +#. ~ Description for .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise." +".50 BMG FMJ lead core ammunition manufactured with tighter tolerances for " +"long-range competition shooting or other precision rifle use." msgstr "" -".50 BMG탄. 장거리 사격용으로 제작된 매우 강력한 소총탄입니다. 놀라울 정도로 정확도와 장갑 관통력이 높아 시판중인 가장 강력한 " -"탄환중 하나이며, 강력한 반동과 총성만이 단점으로 꼽힙니다." #: lang/json/AMMO_from_json.py -msgid ".50 BMG AP" -msgstr ".50 BMG AP" +msgid ".50 BMG M2 AP" +msgstr "" -#. ~ Description for .50 BMG AP +#. ~ Description for .50 BMG M2 AP #: lang/json/AMMO_from_json.py msgid "" "Variant of the .50 BMG round that uses a core of very dense, hardened " "tungsten steel. Penetration is increased, but damage is reduced." msgstr "고밀도, 경화처리한 텅스텐강을 탄심으로 사용한 .50 BMG 탄약. 장갑 관통력이 증가했지만, 파괴력이 감소했습니다." +#: lang/json/AMMO_from_json.py +msgid ".50 BMG Raufoss Mk 211" +msgstr "" + +#. ~ Description for .50 BMG Raufoss Mk 211 +#: lang/json/AMMO_from_json.py +msgid "" +"This variant of the .50 BMG round makes the most of the caliber's potential " +"payload delivery: the tip is loaded with an incendiary mix, which ignites on" +" impact, detonating the RDX or PETN charge. This also ignites a secondary " +"zirconium powder incendiary charge that surrounds a tungsten carbide " +"penetrator, both encased by a mild steel cup. Fragments from the cup and " +"burning metallic powder follow the penetrator through armored targets, " +"increasing lethality. These rare, complicated, and expensive rounds are not" +" likely to be manufactured again; use them wisely." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG tracer" msgstr ".50 BMG 예광탄 (재생)" @@ -3277,27 +3291,24 @@ msgstr ".50 BMG 예광탄 (재생)" #. ~ Description for reloaded .50 BMG tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances. This one has been hand-reloaded." +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances. This one has been hand-reloaded." msgstr "" -"강력한 .50 구경 BMG 저격탄의 예광탄 버젼. 예광탄은 지속 사격시 사격 방향을 유지하는데 도움을 주며 가연성 물질의 경우 화재를 " -"일으킬 수 있습니다. 이것은 재생탄입니다." #: lang/json/AMMO_from_json.py -msgid "reloaded .50 BMG Ball" -msgstr ".50 BMG Ball (재생)" +msgid "reloaded .50 BMG Match" +msgstr "" -#. ~ Description for reloaded .50 BMG Ball +#. ~ Description for reloaded .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise. This" -" one has been hand-reloaded." +".50 BMG ammunition with lead-cored FMJ bullets. The .50 BMG is a very " +"powerful rifle round designed for anti-aircraft use, later adapted to anti-" +"vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -".50 BMG 탄약은 매우 강력한 소총탄으로 장거리 사격용입니다. 놀라울 정도로 정확도와 방어구 관통력이 높아 가장 치명적인 탄약으로 불리고, 강력한 반동과 총성만이 단점으로 꼽힙니다.\n" -"이것은 재생탄입니다." #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG AP" @@ -3306,12 +3317,9 @@ msgstr ".50 BMG AP (재생)" #. ~ Description for reloaded .50 BMG AP #: lang/json/AMMO_from_json.py msgid "" -"Variant of the .50 BMG round that uses a core of very dense, hardened " -"tungsten steel. Penetration is increased, but damage is reduced. This one " -"has been hand-reloaded." +"Variant of the .50 BMG round that uses a core hardened steel. Penetration " +"is increased, but damage is reduced. This one has been hand-reloaded." msgstr "" -"고밀도, 경화처리한 텅스텐강을 탄심으로 사용한 .50 BMG 탄약. 장갑 관통력이 증가했지만, 파괴력이 감소했습니다.\n" -"이것은 재생탄입니다." #: lang/json/AMMO_from_json.py msgid ".500 S&W Magnum" @@ -4306,6 +4314,106 @@ msgstr "약간의 진균 씨앗." msgid "fungal flower" msgstr "진균체 꽃" +#: lang/json/AMMO_from_json.py +msgid "potassium alum" +msgstr "" + +#. ~ Description for potassium alum +#: lang/json/AMMO_from_json.py +msgid "" +"Small water-soluble white crystals with watery metallic odor, historically " +"used for many different purposes. Also known as potash alum and potassium " +"aluminum sulfate; often called simply alum, as it's the most important " +"member of the generic class of compounds called alums." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cloth dye powder" +msgstr "" + +#. ~ Description for cloth dye powder +#: lang/json/AMMO_from_json.py +msgid "" +"This is a powdered colorful cloth dye, which can be used to dye many fabrics" +" if combined with water and some mordant." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel buckle" +msgstr "" + +#. ~ Description for steel buckle +#: lang/json/AMMO_from_json.py +msgid "A steel buckle, like that usually found on belts." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "plastic button" +msgstr "" + +#. ~ Description for plastic button +#: lang/json/AMMO_from_json.py +msgid "A plastic button, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel button" +msgstr "" + +#. ~ Description for steel button +#: lang/json/AMMO_from_json.py +msgid "A steel button, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "wooden button" +msgstr "" + +#. ~ Description for wooden button +#: lang/json/AMMO_from_json.py +msgid "A crude wooden button, usually found on very old clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel snap fastener" +msgstr "" + +#. ~ Description for steel snap fastener +#: lang/json/AMMO_from_json.py +msgid "A steel snap fastener, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "touch fastener" +msgstr "" + +#. ~ Description for touch fastener +#: lang/json/AMMO_from_json.py +msgid "" +"This is a pair of cloth strips, one of which has tiny hooks and another has " +"tiny loops. Useful as a fastener for clothing and footwear." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "long plastic zipper" +msgstr "" + +#. ~ Description for long plastic zipper +#: lang/json/AMMO_from_json.py +msgid "A long zipper made from plastic, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "short plastic zipper" +msgstr "" + +#. ~ Description for short plastic zipper +#: lang/json/AMMO_from_json.py +msgid "" +"A short zipper made from plastic, usually found on footwear or clothing " +"pockets." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "red paint" msgid_plural "red paint" @@ -4450,10 +4558,10 @@ msgstr[0] "아연" #: lang/json/AMMO_from_json.py msgid "" "A slightly brittle metal. Apart from being an essential mineral that the " -"body needs, it reacts readily with acids, alkalis and other non-metals. It " +"body needs, it reacts readily with acids, alkalis and other non-metals. It " "can be crushed to make zinc powder, used in the production of batteries, " "among other things." -msgstr "깨지기 쉬운 청회색 금속. 산성 및 염기성 용매나 비금속 물질과 잘 반응한다. 갈아서 사용하거나 배터리 제작에 쓸 수 있다." +msgstr "" #: lang/json/AMMO_from_json.py msgid "lead" @@ -4528,9 +4636,9 @@ msgstr "경첩" #. ~ Description for door hinge #: lang/json/AMMO_from_json.py msgid "" -"A small metal hinge with two metal plates with screw holes. Useful for " +"A small metal hinge with two metal plates with screw holes. Useful for " "making doors." -msgstr "쇠로 된 경첩. 스크류 구멍이 있다. 문을 달 때 쓰인다." +msgstr "" #: lang/json/AMMO_from_json.py msgid "tin powder" @@ -4539,9 +4647,9 @@ msgstr "주석 가루" #. ~ Description for tin powder #: lang/json/AMMO_from_json.py msgid "" -"A fine gray powder composed of tin, usable for making solder and lining " +"A fine gray powder composed of tin, usable for making solder and lining " "containers to prevent corrosion." -msgstr "고운 회색 가루. 땜납을 만들거나 도금을 하는 데 쓰인다." +msgstr "" #: lang/json/AMMO_from_json.py msgid "solder" @@ -4577,6 +4685,341 @@ msgid "" "explosions." msgstr "" +#: lang/json/AMMO_from_json.py +msgid "rubber sole" +msgstr "" + +#. ~ Description for rubber sole +#: lang/json/AMMO_from_json.py +msgid "" +"This is a sole made from rubber, usually found on the bottoms of boots. Can" +" be used for making actual boots." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cotton scraps" +msgid_plural "cotton scraps" +msgstr[0] "" + +#. ~ Description for cotton scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of cotton, waste material from tailoring " +"projects. Not useful for much and usually disposed of, but can be recycled " +"into some thread if you really want." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "faux fur scraps" +msgid_plural "faux fur scraps" +msgstr[0] "" + +#. ~ Description for faux fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of faux fur, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "felt scraps" +msgid_plural "felt scraps" +msgstr[0] "" + +#. ~ Description for felt scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of felt, waste material from tailoring projects." +" Not useful for much and usually disposed of, but can be recycled into some" +" wool fiber if you really want." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "fur scraps" +msgid_plural "fur scraps" +msgstr[0] "" + +#. ~ Description for fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of fur, waste material from tailoring projects. " +"Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar scraps" +msgid_plural "Kevlar scraps" +msgstr[0] "" + +#. ~ Description for Kevlar scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of Kevlar fabric, waste material from tailoring " +"projects. Normally it's disposed of, but since Kevlar would be very " +"difficult to make in a post-apocalyptic world, it might be worth recycling " +"it for Kevlar thread." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "leather scraps" +msgid_plural "leather scraps" +msgstr[0] "" + +#. ~ Description for leather scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of leather, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lycra scraps" +msgid_plural "lycra scraps" +msgstr[0] "" + +#. ~ Description for lycra scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of lycra, waste material from tailoring projects." +" Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "neoprene scraps" +msgid_plural "neoprene scraps" +msgstr[0] "" + +#. ~ Description for neoprene scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of neoprene, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric scraps" +msgid_plural "synthetic fabric scraps" +msgstr[0] "" + +#. ~ Description for synthetic fabric scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of synthetic fabric, waste material from " +"tailoring projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex scraps" +msgid_plural "Nomex scraps" +msgstr[0] "" + +#. ~ Description for Nomex scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of heat-resistant Nomex fabric, waste material " +"from tailoring projects. Normally it's disposed of, but since Nomex would " +"be very difficult to make in a post-apocalyptic world, it might be worth " +"recycling it." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cotton sheet" +msgstr "" + +#. ~ Description for cotton sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of cotton fabric, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork cotton clothing parts" +msgid_plural "patchwork cotton clothing parts" +msgstr[0] "" + +#. ~ Description for patchwork cotton clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from cotton patches in " +"a patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "faux fur sheet" +msgstr "" + +#. ~ Description for faux fur sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of fake synthetic colorful fur, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork faux fur clothing parts" +msgid_plural "patchwork faux fur clothing parts" +msgstr[0] "" + +#. ~ Description for patchwork faux fur clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from faux fur patches " +"in a patchwork fashion. Suitable for making most clothing, though it's much" +" less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "felt sheet" +msgstr "" + +#. ~ Description for felt sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of felt, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork felt clothing parts" +msgid_plural "patchwork felt clothing parts" +msgstr[0] "" + +#. ~ Description for patchwork felt clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from felt patches in a " +"patchwork fashion. Suitable for making most clothing, though it's much less" +" time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar sheet" +msgstr "" + +#. ~ Description for Kevlar sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Kevlar synthetic fabric, suitable for making bulletproof armor. " +"In this form, unlike rigid plates, it can be stitched." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lycra sheet" +msgstr "" + +#. ~ Description for lycra sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of synthetic fabric blended with stretchy lycra fibers, suitable for" +" making flexible yet strong clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork lycra clothing parts" +msgid_plural "patchwork lycra clothing parts" +msgstr[0] "" + +#. ~ Description for patchwork lycra clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from lycra patches in a" +" patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py lang/json/GENERIC_from_json.py +msgid "neoprene sheet" +msgid_plural "neoprene sheets" +msgstr[0] "네오프렌 천" + +#. ~ Description for neoprene sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of neoprene, a synthetic rubber, suitable for making underwater " +"gear." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork neoprene clothing parts" +msgid_plural "patchwork neoprene clothing parts" +msgstr[0] "" + +#. ~ Description for patchwork neoprene clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from neoprene patches " +"in a patchwork fashion, with waterproofed seams. Suitable for making most " +"clothing, though it's much less time-efficient than if using proper material" +" sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex sheet" +msgstr "" + +#. ~ Description for Nomex sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Nomex synthetic fabric, suitable for making heat-resistant " +"clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork Nomex clothing parts" +msgid_plural "patchwork Nomex clothing parts" +msgstr[0] "" + +#. ~ Description for patchwork Nomex clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together with Nomex thread from " +"Nomex patches in a patchwork fashion. Suitable for making most clothing, " +"though it's much less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric sheet" +msgstr "" + +#. ~ Description for synthetic fabric sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of synthetic fabric, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork synthetic fabric clothing parts" +msgid_plural "patchwork synthetic fabric clothing parts" +msgstr[0] "" + +#. ~ Description for patchwork synthetic fabric clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from synthetic fabric " +"patches in a patchwork fashion. Suitable for making most clothing, though " +"it's much less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar thread" +msgstr "" + +#. ~ Description for Kevlar thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some very durable Kevlar thread that would be particularly useful for making" +" ballistic armor, though it's fine to use in place of normal thread too, in " +"most cases. Making armor-grade Kevlar sheets from this would need a " +"particularly tight weave, and so would need some specialized machinery." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex thread" +msgstr "" + +#. ~ Description for Nomex thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some heat-resistant Nomex thread that would be particularly useful for " +"making heat protection gear, though it's fine to use in place of normal " +"thread too, in most cases." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "handloaded .22 CB" msgid_plural "handloaded .22 CB" @@ -5093,6 +5536,18 @@ msgid "" msgstr "" "중기관총 혹은 군용 특수 장비에 사용되는 탄약. 착탄시 연소되어 방어구를 관통해, 가연성 물질에 불을 붙일수 있게 만들어진 탄약." +#: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py +msgid "orichalcum arrow" +msgstr "" + +#. ~ Description for orichalcum arrow +#: lang/json/AMMO_from_json.py +msgid "" +"An arrow composed of a sliver of orichalcum. The arrow has a mysterious " +"glow. Has a very high chance of staying intact when fired, however can only" +" be fired from Ichaival." +msgstr "" + #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "dragon blood" msgid_plural "dragon blood" @@ -5136,9 +5591,30 @@ msgstr[0] "마나 결정" #. ~ Description for crystallized mana #: lang/json/AMMO_from_json.py msgid "" -"Some crystallized mana. This can be reloaded into rechargable mana crystals," -" but can never be unloaded." -msgstr "결정으로 굳은 마나 조각들. 충전식 마나 크리스탈을 충전하는 데 쓰일 수 있다." +"Some crystallized mana. This can be reloaded into rechargable mana " +"crystals, but can never be unloaded." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lump of orichalcum" +msgstr "" + +#. ~ Description for lump of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A heavy formed piece of strange metal. Useful for some crafting recipes." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "sliver of orichalcum" +msgstr "" + +#. ~ Description for sliver of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A sliver of a strange glowing metal. Useful as a weapon, but better suited " +"for crafting." +msgstr "" #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "fire lance charge" @@ -6152,8 +6628,10 @@ msgstr[0] "수대" #. ~ Use action holster_msg for pair of rollerblades. #. ~ Use action holster_msg for pair of rollerskates. #. ~ Use action holster_msg for C.R.I.T web belt. +#. ~ Use action holster_msg for technomancer's toolbelt. #. ~ Use action holster_msg for hollow cane. -#: lang/json/ARMOR_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/ARMOR_from_json.py lang/json/ARMOR_from_json.py +#: lang/json/GENERIC_from_json.py #, no-python-format msgid "You sheath your %s" msgstr "%s을(를) 칼집에 넣었다." @@ -6748,6 +7226,43 @@ msgid "" "small straps designed to better distribute the weight." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail chausses" +msgid_plural "pairs of chainmail chausses" +msgstr[0] "" + +#. ~ Description for pair of chainmail chausses +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail chausses that cover the feet, like booties made of " +"chainmail." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail gloves" +msgid_plural "pairs of chainmail gloves" +msgstr[0] "" + +#. ~ Description for pair of chainmail gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail gloves. They fully enclose the fingers and provide " +"excellent protection, but are somewhat cumbersome." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "faraday chainmail suit" +msgid_plural "faraday chainmail suits" +msgstr[0] "" + +#. ~ Description for faraday chainmail suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A fully customized chainmail suit that can be worn over your normal " +"clothing. The suit is conductively interconnected, protecting against " +"electricity." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "leather chaps" msgid_plural "leather chaps" @@ -6885,6 +7400,26 @@ msgid "" "A colorful and ridiculous costume fit for a clown. Provides decent storage." msgstr "화사한 색이 사용된, 우스꽝스러운 광대를 위한 복장. 꽤 괜찮은 저장 공간을 가지고 있습니다." +#: lang/json/ARMOR_from_json.py +msgid "clown wig" +msgid_plural "clown wigs" +msgstr[0] "" + +#. ~ Description for clown wig +#: lang/json/ARMOR_from_json.py +msgid "A colorful and ridiculous wig fit for a clown." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "clown nose" +msgid_plural "clown noses" +msgstr[0] "" + +#. ~ Description for clown nose +#: lang/json/ARMOR_from_json.py +msgid "A red latex nose often seen being worn by clowns." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fur coat" msgid_plural "fur coats" @@ -7124,6 +7659,21 @@ msgstr[0] "정장용 셔츠" msgid "A white button-down shirt with long sleeves. Looks professional!" msgstr "단추 달린 하얀색 긴 소매 셔츠. 입으면 전문직 종사자처럼 보입니다!" +#: lang/json/ARMOR_from_json.py +msgid "drinking hat" +msgid_plural "drinking hats" +msgstr[0] "" + +#. ~ Description for drinking hat +#: lang/json/ARMOR_from_json.py +msgid "" +"This is an improvised harness that can be worn over other headgear or bare " +"head, made from two small liquid containers, a rubber hose, a bundle of " +"steel wire, and some cordage. A convenient and simple device for hands-free" +" drinking, though the liquid inside would spill if you put it into your " +"backpack." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "wedding dress" msgid_plural "wedding dresses" @@ -7254,6 +7804,30 @@ msgstr[0] "허리 주머니" msgid "Provides a bit of extra storage, with minimal encumbrance." msgstr "그다지 불편하지 않으면서, 약간의 저장공간을 제공하는 허리 주머니." +#: lang/json/ARMOR_from_json.py +msgid "underarm protector" +msgid_plural "underarm protectors" +msgstr[0] "" + +#. ~ Description for underarm protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A sturdy cotton plastron that protects much of the torso, the dominant " +"shoulder, and underarm while fencing." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "plastic chest protector" +msgid_plural "plastic chest protectors" +msgstr[0] "" + +#. ~ Description for plastic chest protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A rigid plastic plastron with molded cups to be worn by female fencers for " +"protection while fencing." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fencing jacket" msgid_plural "fencing jackets" @@ -7266,6 +7840,32 @@ msgid "" "accidents. It doesn't have any storage room, but it is very comfortable." msgstr "사고를 방지하기 위해 펜싱에서 사용되는 뒷면에 지퍼가 달린 패딩. 저장공간이 없지만, 굉장히 편안합니다." +#: lang/json/ARMOR_from_json.py +msgid "lamé (foil)" +msgid_plural "lamé (foil)s" +msgstr[0] "" + +#. ~ Description for lamé (foil) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive vest with the zipper on the back used by " +"fencers for electronic scoring. Its outer layer is a woven mix of sturdy " +"cotton and stainless steel strands." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "lamé (saber)" +msgid_plural "lamé (saber)s" +msgstr[0] "" + +#. ~ Description for lamé (saber) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive jacket used by fencers for electronic " +"scoring. Its outer layer is a woven mix of sturdy cotton and stainless " +"steel strands." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fencing mask" msgid_plural "fencing masks" @@ -7286,6 +7886,30 @@ msgstr[0] "펜싱 바지" msgid "A pair of reinforced pants used by fencers to prevent injuries." msgstr "부상을 방지하기 위해 보강된 펜서용 바지." +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet" +msgid_plural "fencing gauntlets" +msgstr[0] "" + +#. ~ Description for fencing gauntlet +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet (left)" +msgid_plural "fencing gauntlet (left)s" +msgstr[0] "" + +#. ~ Description for fencing gauntlet (left) +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers. This one is left-handed." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of fire gauntlets" msgid_plural "pairs of fire gauntlets" @@ -7635,18 +8259,6 @@ msgstr[0] "모피 장갑" msgid "A pair of warm fur gloves. They are somewhat cumbersome." msgstr "따뜻한 털가죽으로 만든 장갑. 착용하면 손을 움직이기 힘들어집니다." -#: lang/json/ARMOR_from_json.py -msgid "pair of survivor wetsuit gloves" -msgid_plural "pairs of survivor wetsuit gloves" -msgstr[0] "생존용 잠수장갑" - -#. ~ Description for pair of survivor wetsuit gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" -" wear while providing maximum protection under extreme conditions." -msgstr "한 쌍의 케블라 보강 맞춤형 네오프렌 장갑. 극한 상황에서도 최고의 보호력과 착용감을 제공합니다." - #: lang/json/ARMOR_from_json.py msgid "pair of heavy survivor gloves" msgid_plural "pairs of heavy survivor gloves" @@ -7703,6 +8315,19 @@ msgid "" "wear while providing maximum protection under extreme conditions." msgstr "한 쌍의 케블라 보강 맞춤형 천 장갑. 극한 상황에서도 최고의 보호력과 착용감을 제공합니다." +#: lang/json/ARMOR_from_json.py +msgid "pair of fingerless survivor gloves" +msgid_plural "pairs of fingerless survivor gloves" +msgstr[0] "" + +#. ~ Description for pair of fingerless survivor gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored cloth gloves with no fingers, modified " +"to be easy to wear while providing maximum protection under extreme " +"conditions." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of medical gloves" msgid_plural "pairs of medical gloves" @@ -7913,16 +8538,6 @@ msgid "" "excellent protection from environmental dangers." msgstr "눈을 전부 감싸주는 큰 고글입니다. 환경적 위험에 대한 완벽한 방호를 제공해줍니다." -#: lang/json/ARMOR_from_json.py -msgid "pair of swim goggles" -msgid_plural "pairs of swim goggles" -msgstr[0] "수영 고글" - -#. ~ Description for pair of swim goggles -#: lang/json/ARMOR_from_json.py -msgid "A small pair of goggles made for swimming." -msgstr "수영할 때 쓰는 작은 고글 한 쌍." - #: lang/json/ARMOR_from_json.py msgid "pair of welding goggles" msgid_plural "pairs of welding goggles" @@ -7959,19 +8574,6 @@ msgstr "" "두껍고 기장이 긴 양모 코트. 불편하지만, 그만큼 따뜻하고 주머니가 깊습니다.\n" "(역주: Greatcoat 및 Watchcoat라고 불리며, 보통 발목까지 내려오는 긴 코트를 말합니다.)" -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit" -msgid_plural "survivor wetsuits" -msgstr[0] "생존용 잠수복" - -#. ~ Description for survivor wetsuit -#: lang/json/ARMOR_from_json.py -msgid "" -"A lightweight, hand-built combination armor made from a cut-down bulletproof" -" vest and a reinforced neoprene wetsuit. Protects from the elements as well" -" as from harm." -msgstr "잘라낸 방탄조끼와 강화된 네오프렌 잠수복을 사용해서 만든 경량 수제 방어구. 각종 피해로부터 몸을 보호해줍니다." - #: lang/json/ARMOR_from_json.py msgid "hakama" msgid_plural "hakamas" @@ -8448,17 +9050,6 @@ msgstr[0] "생존용 방화후드" msgid "A customized armored Nomex and Kevlar hood, very strong and durable." msgstr "노멕스와 케블라로 보강된 수제 후드로, 아주 강하고 튼튼합니다." -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit hood" -msgid_plural "survivor wetsuit hoods" -msgstr[0] "생존용 잠수모" - -#. ~ Description for survivor wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "" -"A customized armored neoprene and Kevlar hood, very strong and durable." -msgstr "네오프렌과 케블라로 보강된 수제 잠수모. 아주 강하고 튼튼합니다." - #: lang/json/ARMOR_from_json.py msgid "light survivor hood" msgid_plural "light survivor hoods" @@ -9118,18 +9709,25 @@ msgid_plural "leather belts" msgstr[0] "가죽 벨트" #. ~ Use action holster_msg for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_msg for magic leather belt. +#. ~ Use action holster_msg for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py #, no-python-format msgid "You tuck your %s into your %s" msgstr "%s을(를) %s에 꽃아넣었다." #. ~ Use action holster_prompt for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_prompt for magic leather belt. +#. ~ Use action holster_prompt for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Stick what into your belt" msgstr "벨트에 무엇을 끼웁니까?" #. ~ Description for leather belt -#: lang/json/ARMOR_from_json.py +#. ~ Description for magic leather belt +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py msgid "A leather belt. Useful for making your pair of pants fit." msgstr "가죽 허리띠. 바지의 허리를 몸에 맞게 조절할때 사용합니다." @@ -9287,6 +9885,19 @@ msgid "" "variety is favored by the military." msgstr "허벅지 부분에 스트랩을 이용해 착용하는 주머니 한 쌍. 군대에서 많이 사용됩니다." +#: lang/json/ARMOR_from_json.py +msgid "leotard" +msgid_plural "leotard" +msgstr[0] "" + +#. ~ Description for leotard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment, covering the body from the groin to the " +"shoulders. With its deep scoop-cut back and high waist cuts, this garment " +"is perfect for showcasing your physique on the stage." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "Linux t-shirt" msgid_plural "Linux t-shirts" @@ -10058,33 +10669,6 @@ msgid "" "Activate to sheathe/draw a weapon." msgstr "검처럼 큰 날붙이를 넣어둘 수 있는 큰 조정식 검집. 사용하면 무기를 집어넣거나 뽑아들 수 있습니다." -#: lang/json/ARMOR_from_json.py -msgid "shark suit" -msgid_plural "shark suits" -msgstr[0] "상어용 보호구" - -#. ~ Description for shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It comes with attached plastic helmet and booties." -msgstr "" -"쇠사슬을 엮어 만든 일체형 보호구. 스쿠버 다이버가 상어 공격을 막기 위해 덧입는 것입니다. 플라스틱 헬멧과 부츠가 달려있습니다." - -#: lang/json/ARMOR_from_json.py -msgid "faraday shark suit" -msgid_plural "faraday shark suits" -msgstr[0] "감전방지 상어용 보호구" - -#. ~ Description for faraday shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It has been conductively interconnected, protecting against " -"electricity." -msgstr "" -"쇠사슬을 엮어 만든 일체형 보호구. 스쿠버 다이버가 상어 공격을 막기 위해 덧입는 것입니다. 감전 방지 처리가 되어 있습니다." - #: lang/json/ARMOR_from_json.py msgid "sheath" msgid_plural "sheathes" @@ -10152,6 +10736,18 @@ msgid "" "from cuts." msgstr "데님 반바지 한 벌. 두껍고 튼튼한 이 옷은 베기 공격에 우수한 보호력을 제공합니다." +#: lang/json/ARMOR_from_json.py +msgid "thermal shirt" +msgid_plural "thermal shirts" +msgstr[0] "" + +#. ~ Description for thermal shirt +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, form-fitting long-sleeved spandex undershirt that helps " +"maintains body temperature." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "skinny tie" msgid_plural "skinny ties" @@ -10581,11 +11177,9 @@ msgstr[0] "피험자 슈트" #: lang/json/ARMOR_from_json.py msgid "" "A thin, short-sleeved and short-legged one-piece suit. Judging by the odd " -"tailoring and adjustment points... maybe you don't want to know who wore " -"it. Provides nominal storage and is not very encumbering." +"tailoring and adjustment points… maybe you don't want to know who wore it. " +"Provides nominal storage and is not very encumbering." msgstr "" -"얇고, 짧은 소매와 짧은 다리의 한 벌 옷입니다. 이상한 재단방식과 조절된 부분으로 미루어보건대... 아무래도 이걸 입던 사람이 " -"누구였는지에 대해서는 모르는 게 나을 것 같습니다. 작은 저장공간을 가지고 있으며, 그다지 불편하지 않습니다." #: lang/json/ARMOR_from_json.py msgid "suit" @@ -10655,6 +11249,7 @@ msgstr[0] "생존용 벨트" #. ~ Use action holster_prompt for survivor utility belt. #. ~ Use action holster_prompt for hiking backpack. #. ~ Use action holster_prompt for C.R.I.T web belt. +#. ~ Use action holster_prompt for technomancer's toolbelt. #: lang/json/ARMOR_from_json.py msgid "Sheath blade" msgstr "칼 집어넣기" @@ -11015,16 +11610,6 @@ msgstr "" "고전적인 삼각모는 늘어진 챙을 단순히 핀으로 접어 올린 것이지만, 이 삼각모는 고운 자수 장식과 방수용 기름칠을 더했습니다. 식민지의 " "\"총독 가카\"님이나, 세기말의 대장님에게 적격인 모자입니다." -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming trunks" -msgid_plural "pairs of swimming trunks" -msgstr[0] "트렁크 수영복" - -#. ~ Description for pair of swimming trunks -#: lang/json/ARMOR_from_json.py -msgid "A pair of swimming trunks, with netting." -msgstr "망사가 달린 트렁크 수영복." - #: lang/json/ARMOR_from_json.py msgid "t-shirt" msgid_plural "t-shirts" @@ -11266,53 +11851,6 @@ msgid "" "would be too casual and a suit would be just overdoing it." msgstr "세련된 조끼. 그냥 셔츠만 입는 것은 너무 캐주얼하고 정장은 너무 지나치다고 생각되는 경우에 이상적인 선택입니다." -#: lang/json/ARMOR_from_json.py -msgid "wetsuit" -msgid_plural "wetsuits" -msgstr[0] "잠수복" - -#. ~ Description for wetsuit -#: lang/json/ARMOR_from_json.py -msgid "A full-body neoprene wetsuit." -msgstr "몸 전체를 감싸는 네오프렌 잠수복." - -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming gloves" -msgid_plural "pairs of swimming gloves" -msgstr[0] "잠수용 장갑" - -#. ~ Description for pair of swimming gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of very flexible neoprene-silicone rubber gloves, suitable for " -"underwater use." -msgstr "신축성이 강한 네오프렌 실리콘 고무 장갑 한 쌍. 수중 작업에 적합합니다." - -#: lang/json/ARMOR_from_json.py -msgid "wetsuit hood" -msgid_plural "wetsuit hoods" -msgstr[0] "잠수모" - -#. ~ Description for wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "A neoprene hood, commonly worn by divers." -msgstr "잠수부들이 주로 착용하는 네오프렌 모자." - -#: lang/json/ARMOR_from_json.py -msgid "spring suit" -msgid_plural "spring suits" -msgstr[0] "봄 수영복" - -#. ~ Description for spring suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A long-sleeved spring wetsuit with pink color details and cleavage-" -"enhancing, hip-accentuating construction. Not as protective as a full-body " -"suit, but also less restrictive." -msgstr "" -"긴 소매에 분홍색으로 장식된 봄에 입는 수영복. 엉덩이와 가슴골이 강조되어 있습니다. 전신 수영복보다는 몸을 덜 보호하지만, 그만큼 덜 " -"불편합니다." - #: lang/json/ARMOR_from_json.py msgid "pair of army winter gloves" msgid_plural "pairs of army winter gloves" @@ -11628,6 +12166,33 @@ msgid "" "Useful for improvised rain protection." msgstr "비닐 시트에 밧줄과 끈을 매달 고리를 달아 놓은것. 급하게 비를 막아야 할 때 유용하게 쓰입니다." +#: lang/json/ARMOR_from_json.py +msgid "unitard" +msgid_plural "unitards" +msgstr[0] "" + +#. ~ Description for unitard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment resembling a crew necked leotard combined with " +"leggings. Commonly used by gymnasts, dancers and equestrian vaulters, the " +"unitard provides overall coverage with great flexibility." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "zentai" +msgid_plural "zentais" +msgstr[0] "" + +#. ~ Description for zentai +#: lang/json/ARMOR_from_json.py +msgid "" +"Short for 'zenshin taitsu', a zentai is a form fitting full body nylon and " +"spandex garment. Though it covers your face, you can see through the " +"integrated hood. With a couple of these and some friends and you could put " +"on some kabuki." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of bone arm guards" msgid_plural "pairs of bone arm guards" @@ -11875,7 +12440,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "tac vest" msgid_plural "tac vests" -msgstr[0] "" +msgstr[0] "전술 조끼" #. ~ Description for tac vest #: lang/json/ARMOR_from_json.py @@ -12285,7 +12850,7 @@ msgstr "골프에서 쓰이는 접이식 다리가 달린 캔버스천과 플라 #: lang/json/ARMOR_from_json.py msgid "travelpack" msgid_plural "travelpacks" -msgstr[0] "" +msgstr[0] "여행용 팩" #. ~ Description for travelpack #: lang/json/ARMOR_from_json.py @@ -14140,6 +14705,136 @@ msgstr "" "더블테크 파워 아머 Mk. II-L: 이 모델은 Mk. I보다 발전되었으며, 무엇보다도 무게가 가벼워졌습니다. 모든 더블테크 파워 " "아머는, 조종과 공기 조절 시스템에 직접적인 피부 접촉이 필요합니다." +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming trunks" +msgid_plural "pairs of swimming trunks" +msgstr[0] "트렁크 수영복" + +#. ~ Description for pair of swimming trunks +#: lang/json/ARMOR_from_json.py +msgid "A pair of swimming trunks, with netting." +msgstr "망사가 달린 트렁크 수영복." + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit" +msgid_plural "wetsuits" +msgstr[0] "잠수복" + +#. ~ Description for wetsuit +#: lang/json/ARMOR_from_json.py +msgid "A full-body neoprene wetsuit." +msgstr "몸 전체를 감싸는 네오프렌 잠수복." + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit hood" +msgid_plural "wetsuit hoods" +msgstr[0] "잠수모" + +#. ~ Description for wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "A neoprene hood, commonly worn by divers." +msgstr "잠수부들이 주로 착용하는 네오프렌 모자." + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit hood" +msgid_plural "survivor wetsuit hoods" +msgstr[0] "생존용 잠수모" + +#. ~ Description for survivor wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "" +"A customized armored neoprene and Kevlar hood, very strong and durable." +msgstr "네오프렌과 케블라로 보강된 수제 잠수모. 아주 강하고 튼튼합니다." + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit" +msgid_plural "survivor wetsuits" +msgstr[0] "생존용 잠수복" + +#. ~ Description for survivor wetsuit +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, hand-built combination armor made from a cut-down bulletproof" +" vest and a reinforced neoprene wetsuit. Protects from the elements as well" +" as from harm." +msgstr "잘라낸 방탄조끼와 강화된 네오프렌 잠수복을 사용해서 만든 경량 수제 방어구. 각종 피해로부터 몸을 보호해줍니다." + +#: lang/json/ARMOR_from_json.py +msgid "pair of survivor wetsuit gloves" +msgid_plural "pairs of survivor wetsuit gloves" +msgstr[0] "생존용 잠수장갑" + +#. ~ Description for pair of survivor wetsuit gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" +" wear while providing maximum protection under extreme conditions." +msgstr "한 쌍의 케블라 보강 맞춤형 네오프렌 장갑. 극한 상황에서도 최고의 보호력과 착용감을 제공합니다." + +#: lang/json/ARMOR_from_json.py +msgid "spring suit" +msgid_plural "spring suits" +msgstr[0] "봄 수영복" + +#. ~ Description for spring suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A long-sleeved spring wetsuit with pink color details and cleavage-" +"enhancing, hip-accentuating construction. Not as protective as a full-body " +"suit, but also less restrictive." +msgstr "" +"긴 소매에 분홍색으로 장식된 봄에 입는 수영복. 엉덩이와 가슴골이 강조되어 있습니다. 전신 수영복보다는 몸을 덜 보호하지만, 그만큼 덜 " +"불편합니다." + +#: lang/json/ARMOR_from_json.py +msgid "faraday shark suit" +msgid_plural "faraday shark suits" +msgstr[0] "감전방지 상어용 보호구" + +#. ~ Description for faraday shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It has been conductively interconnected, protecting against " +"electricity." +msgstr "" +"쇠사슬을 엮어 만든 일체형 보호구. 스쿠버 다이버가 상어 공격을 막기 위해 덧입는 것입니다. 감전 방지 처리가 되어 있습니다." + +#: lang/json/ARMOR_from_json.py +msgid "shark suit" +msgid_plural "shark suits" +msgstr[0] "상어용 보호구" + +#. ~ Description for shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It comes with attached plastic helmet and booties." +msgstr "" +"쇠사슬을 엮어 만든 일체형 보호구. 스쿠버 다이버가 상어 공격을 막기 위해 덧입는 것입니다. 플라스틱 헬멧과 부츠가 달려있습니다." + +#: lang/json/ARMOR_from_json.py +msgid "pair of swim goggles" +msgid_plural "pairs of swim goggles" +msgstr[0] "수영 고글" + +#. ~ Description for pair of swim goggles +#: lang/json/ARMOR_from_json.py +msgid "A small pair of goggles made for swimming." +msgstr "수영할 때 쓰는 작은 고글 한 쌍." + +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming gloves" +msgid_plural "pairs of swimming gloves" +msgstr[0] "잠수용 장갑" + +#. ~ Description for pair of swimming gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of very flexible neoprene-silicone rubber gloves, suitable for " +"underwater use." +msgstr "신축성이 강한 네오프렌 실리콘 고무 장갑 한 쌍. 수중 작업에 적합합니다." + #: lang/json/ARMOR_from_json.py msgid "helmet netting" msgid_plural "helmet nettings" @@ -14704,6 +15399,50 @@ msgid "shotgun bandolier" msgid_plural "shotgun bandoliers" msgstr[0] "산탄총용 탄약대" +#: lang/json/ARMOR_from_json.py +msgid "technomancer's toolbelt" +msgid_plural "technomancer's toolbelts" +msgstr[0] "" + +#. ~ Description for technomancer's toolbelt +#: lang/json/ARMOR_from_json.py +msgid "" +"A custom-built leather utility belt that instantly creates any tool that you" +" reach for. Activate to sheathe/draw a weapon." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "seven league boots" +msgid_plural "pairs of seven league boots" +msgstr[0] "" + +#. ~ Description for seven league boots +#. ~ Description for boots of haste +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, they look like they've seen a lot of use and will likely see a lot " +"more. They make your movement a lot less work." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "boots of haste" +msgid_plural "pairs of boots of haste" +msgstr[0] "" + +#: lang/json/ARMOR_from_json.py +msgid "boots of grounding" +msgid_plural "pairs of boots of grounding" +msgstr[0] "" + +#. ~ Description for boots of grounding +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of leather with " +"small engraved runes seemingly filled with rubber. When worn, you are " +"immune to damage from electricity." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "copper infusion bracelet" msgid_plural "copper infusion bracelets" @@ -14724,7 +15463,7 @@ msgstr[0] "" #. ~ Description for copper circlet #: lang/json/ARMOR_from_json.py msgid "" -"A wooden band with copper trimmings to be worn on the head. Touching your " +"A wooden band with copper trimmings to be worn on the head. Touching your " "temples with it on makes you feel very calm." msgstr "" @@ -15309,7 +16048,7 @@ msgstr[0] "CBM:클로킹 시스템" msgid "" "This high-power system uses a set of cameras and LEDs to make the user blend" " into their surroundings, rendering them fully invisible to eyes and optical" -" sensors. However, this does't prevent detection from other means such as " +" sensors. However, this doesn't prevent detection from other means such as " "infrared, sonar, etc." msgstr "" @@ -15402,9 +16141,9 @@ msgstr[0] "CBM:에탄올 반응로" #. ~ Description for Ethanol Burner CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A reactor that burns alcohol as fuel in an extremely efficient reaction. " -"However, the user will still suffer the inebriating effects of the " -"substance." +"A reactor that burns alcohol as fuel in an extremely efficient reaction. It" +" can store up to 500ml and accept ethanol, methanol and denatured aclohol as" +" fuel." msgstr "" #: lang/json/BIONIC_ITEM_from_json.py @@ -15413,8 +16152,7 @@ msgid_plural "Aero-Evaporator CBMs" msgstr[0] "CBM:대기 증류장치" #. ~ Description for Aero-Evaporator CBM -#. ~ Description for Aero-Evaporator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "This unit draws moisture from the surrounding air, which then is poured from" " a fingertip in the form of water. It may fail in very dry environments." @@ -15456,7 +16194,7 @@ msgstr[0] "CBM:안면 변형기" #: lang/json/BIONIC_ITEM_from_json.py msgid "" "Through controlled application of electrochemical impulses, this bionic " -"mudule lets the user alter their facial structure so as to subtly affect the" +"module lets the user alter their facial structure so as to subtly affect the" " reactions of others. This grants a bonus to all social interactions." msgstr "" @@ -15480,10 +16218,10 @@ msgstr[0] "CBM:손가락 해킹장치" #. ~ Description for Fingerhack CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A miniature electrohack, surgically embedded in a finger of the right hand. " -"This is an all-purpose hacking unit used to override control panels and the " -"like, but not computers. Computer proficiency is important, and a failed " -"use may cause damage." +"A miniature electrohack, surgically embedded in a finger of the right hand." +" This is an all-purpose hacking unit used to override control panels and " +"the like, but not computers. Computer proficiency is important, and a " +"failed use may cause damage." msgstr "" #: lang/json/BIONIC_ITEM_from_json.py @@ -15673,6 +16411,8 @@ msgid "" "system will quickly unlock all but the most advanced key locks without any " "skill required on the part of the user." msgstr "" +"손가락 끝에 내장되어 있는 전자 잠금 해제 장치. 이 자동 시스템은 대부분의 고급 잠금 장치를 빠른 속도로 열 수 있으며, 사용자의 " +"기술을 요구하지 않습니다." #: lang/json/BIONIC_ITEM_from_json.py msgid "Electromagnetic Unit CBM" @@ -15755,8 +16495,7 @@ msgid_plural "Artificial Night Generator CBMs" msgstr[0] "CBM:인공 심야 발생기" #. ~ Description for Artificial Night Generator CBM -#. ~ Description for Artificial Night Generator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "When active, this bionic eliminates all light within a 15 tile radius " "through destructive interference." @@ -15823,7 +16562,7 @@ msgstr[0] "CBM:파워아머 인터페이스 Mk. II" msgid "" "Interfaces the user's bionic power system with the internal charging port on" " suits of power armor, allowing them to draw from the user's bionic power " -"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " +"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " "DoubleTech Inc., to meet the popularity of the Mk. II power armor series." msgstr "" @@ -16083,6 +16822,8 @@ msgid "" "the user's eyes with their arms, to a degree. Shots they fire will be much " "more accurate, particularly at long ranges." msgstr "" +"이 바이오닉 모듈은 거리 측정기를 포함하고 있고 사용자의 눈과 팔의 움직임을 대부분 동기화합니다. 사격 정확도가 향상되며, 특히 장거리 " +"사격시에 효과가 좋습니다." #: lang/json/BIONIC_ITEM_from_json.py msgid "Teleportation Unit CBM" @@ -16330,7 +17071,7 @@ msgstr[0] "" #. ~ Description for Itchy Metal Thing #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"You can't recognise what this is supposed to be, but it's a very awkward " +"You can't recognize what this is supposed to be, but it's a very awkward " "thing to have in one's body." msgstr "" @@ -16341,8 +17082,7 @@ msgstr[0] "" #. ~ Description for Glowy Thing #: lang/json/BIONIC_ITEM_from_json.py -msgid "" -"It's a... thing? And it glows, at least it did when it was plugged in." +msgid "It's a… thing? And it glows, at least it did when it was plugged in." msgstr "" #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py @@ -16884,8 +17624,8 @@ msgstr[0] "인간을 대접하다" #. ~ Description for To Serve Man #: lang/json/BOOK_from_json.py -msgid "It's... it's a cookbook!" -msgstr "이... 이건 요리책입니다! 세상에!" +msgid "It's… it's a cookbook!" +msgstr "" #: lang/json/BOOK_from_json.py msgid "Cucina Italiana" @@ -16977,10 +17717,8 @@ msgstr[0] "PE050 \"알파\": 예비 보고서" msgid "" "This sheaf of papers-dated two weeks before all this started-describes some " "new chemical formula, and its effects on human subjects. It's stamped " -"\"APPROVED\"..." +"\"APPROVED\"…" msgstr "" -"2주 전에 막 시작된 것으로 보이는, 새로운 화학품 제조 정보가 기록된 종이 묶음입니다. 인간 실험 결과가 포함되어 있으며, " -"\"승인됨\" 도장이 찍혀있습니다..." #: lang/json/BOOK_from_json.py msgid "lab journal-Dionne" @@ -17006,8 +17744,8 @@ msgstr[0] "PE065 \"키메라\": 최고의 실험체" #: lang/json/BOOK_from_json.py msgid "" "This sheaf of papers describes a new chemical formula in detail and supplies" -" instructions for its use as some sort of ... crowd-control catalyst? That " -"can't be right..." +" instructions for its use as some sort of… crowd-control catalyst? That " +"can't be right…" msgstr "" #: lang/json/BOOK_from_json.py @@ -17020,10 +17758,8 @@ msgstr[0] "실험 보고서-스미스" msgid "" "This team logbook details several varieties of mutagenic experiments, " "focusing on those derived from flesh contaminated with XE037. The results " -"look promising but the procurement methods seem awfully vague..." +"look promising but the procurement methods seem awfully vague…" msgstr "" -"이 합동 보고서는 XE037에 오염된 고기에서 유래된 것들에 집중하여 여러 종류의 돌연변이 실험에 대해서 상세하게 설명합니다. 결과는 " -"괜찮게 보이지만 조달 방법은 몹시 모호해보입니다..." #: lang/json/BOOK_from_json.py msgid "standpipe maintenance log" @@ -17035,10 +17771,8 @@ msgstr[0] "배관 유지 보수 기록" msgid "" "This binder details the scheduled maintenance for several plumbing systems " "throughout the facility. However, some of the log sheets seem to be filled " -"with...a chemical formula?" +"with… a chemical formula?" msgstr "" -"이 서류철에는 시설 전반에 걸친 여러 배관설비의 정기점검에 관한 정보가 상세히 기록되어 있습니다. 그러나 일부 기록지에는 뭔가 써진 것 " -"같습니다만... 화학식인가?" #: lang/json/BOOK_from_json.py msgid "chemical reference-CLASSIFIED" @@ -17082,10 +17816,8 @@ msgstr[0] "PE023 \"의학실험체\": 적용과 결과" #: lang/json/BOOK_from_json.py msgid "" "This binder of highly technical papers describes some new chemical formula, " -"and its effects on human subjects. It's stamped \"APPROVED\"...." +"and its effects on human subjects. It's stamped \"APPROVED\"…" msgstr "" -"새로운 의약품 제조 정보가 기록된, 아주 높은 수준의 기술 보고서 묶음입니다. 인간 실험 결과가 포함되어 있으며, \"승인됨\" 도장이 " -"찍혀있습니다..." #: lang/json/BOOK_from_json.py msgid "PE070 \"Raptor\": Proposal" @@ -17360,10 +18092,8 @@ msgstr[0] "실험 보고서-헤레라" msgid "" "This hefty binder contains a multitude of diagrams and technical " "specifications for various electronic materials. Some of the diagrams use " -"symbols you've not seen before..." +"symbols you've not seen before…" msgstr "" -"이 두꺼운 서류철은 아주 많은 다이어그램과 각종 전자 재료에 대한 기술 사양이 포함되어있습니다. 다이어그램 중 일부는 이전에 보지 못한 " -"기호를 사용하여..." #: lang/json/BOOK_from_json.py msgid "2XI design binder-CLASSIFIED" @@ -17426,13 +18156,13 @@ msgstr[0] "" #. ~ Description for nearby fire #. ~ Description for muscle #. ~ Description for wind +#. ~ Description for metabolism #. ~ Description for a smoking device and a source of flame #. ~ Description for abstract map #. ~ Description for seeing this is a bug #. ~ Description for weapon #: lang/json/BOOK_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py #: lang/json/furniture_from_json.py lang/json/skill_from_json.py msgid "seeing this is a bug" msgid_plural "seeing this is a bugs" @@ -17754,11 +18484,9 @@ msgstr[0] "수제 탄약제작자의 도우미" #: lang/json/BOOK_from_json.py msgid "" "Everything you could ever want to know about handloading ammunition, sealed " -"with a ...childproof cover. Apparently a liability thing, because the " -"chapter on explosive rounds covers them in excellent detail too." +"with a… childproof cover. Apparently a liability thing, because the chapter" +" on explosive rounds covers them in excellent detail too." msgstr "" -"당신이 여태까지 알고 싶어했을 탄약 장전에 관한 모든것이 들어있는 이 ...아이들이 못열도록 닫혀있는 책을 확실히 책임져야 할 것입니다." -" 왜냐하면 폭발탄 챕터로 시작해서 세부적인 부분까지 완벽히 아우르는 책이기 때문이죠." #: lang/json/BOOK_from_json.py msgid "Rivtech design binder" @@ -18236,7 +18964,7 @@ msgid "" "This lab notebook is filled with the collective discoveries and refinements " "of a research team dedicated to nuclear energy. You don't think you're " "ready to start a second Cataclysm, but the general information provided " -"might be useful..." +"might be useful…" msgstr "" #: lang/json/BOOK_from_json.py @@ -19520,6 +20248,34 @@ msgid "" " that the author's real name is Fereidoun M. Esfandiary." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Bastiat Collection\", a large collection of essays " +"by Frederic Bastiat." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Anarchy, State, and Utopia\" by Robert Nozick, one of " +"the most influential books of modern libertarianism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Socialism\" by Ludwig von Mises, a critical examination " +"of socialism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The ABC of Communism\" by Nikolai Bukharin, one of the " +"most influential books of early Marxism-Leninism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Anti-Capitalist Mentality\" by Ludwig von Mises." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "phone book" msgid_plural "phone books" @@ -19590,8 +20346,8 @@ msgstr[0] "기업 회계장부" #. ~ Description for corporate accounting ledger #: lang/json/BOOK_from_json.py -msgid "If you knew what to look for something might stand out..." -msgstr "당신이 뭘 중요하게 봐야하는지를 알고 있었더라면..." +msgid "If you knew what to look for something might stand out…" +msgstr "" #: lang/json/BOOK_from_json.py msgid "patient treatment records" @@ -19826,6 +20582,106 @@ msgstr "" msgid "This is a copy of \"The Secret Garden\" by Frances Burnett." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lieutenant Hornblower\" by C.S. Forester." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Master and Commander\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Warden\" by Anthony Trollope." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Far Side of the World\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"HMS Surprise\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Barchester Towers\" by Anthony Trollope." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Land Ironclads\" by H.G. Wells." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Great Boer War\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Crime of the Congo\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Parasite\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"By Stroke of Sword\" by Andrew Balfour." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Secret Agent\" by Joseph Conrad." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lord Jim\" by Joseph Conrad." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Vanity Fair\" by William Makepeace Thackeray." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Luck of Barry Lyndon\" by William Makepeace " +"Thackeray." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"North and South\" by Elizabeth Gaskell." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Mayor of Casterbridge\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Wessex Tales\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Far from the Madding Crowd\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Captains Courageous\" by Rudyard Kipling." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Canterbury Tales\" by Geoffrey Chaucer." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Harold, the Last of the Saxons\" by Edward Bulwer-" +"Lytton." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Mr Midshipman Easy\" by Frederick Marryat." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Peter Simple\" by Frederick Marryat." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "collector's edition book" msgid_plural "collector's edition book" @@ -20727,10 +21583,11 @@ msgstr "플레이어들이 무고한 집사를 살해한 범인이 누군지 알 #: lang/json/BOOK_from_json.py msgid "Black Dragons: Swamp Ruins" -msgid_plural "Black Dragons: Swamp Ruinss" +msgid_plural "copies of Black Dragons: Swamp Ruins" msgstr[0] "" -#. ~ Description for Black Dragons: Swamp Ruins +#. ~ Description for {'str': 'Black Dragons: Swamp Ruins', 'str_pl': 'copies +#. of Black Dragons: Swamp Ruins'} #: lang/json/BOOK_from_json.py msgid "" "This book details black dragons: The most evil of dragons, who live in ruins" @@ -20741,26 +21598,57 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "A Beginner's Guide to Alchemy" -msgid_plural "A Beginner's Guide to Alchemys" +msgid_plural "copies of A Beginner's Guide to Alchemy" msgstr[0] "" -#. ~ Description for A Beginner's Guide to Alchemy +#. ~ Description for {'str': "A Beginner's Guide to Alchemy", 'str_pl': +#. "copies of A Beginner's Guide to Alchemy"} #: lang/json/BOOK_from_json.py msgid "A paperback tome for the art of liquid magic, alcohol not included." msgstr "" #: lang/json/BOOK_from_json.py msgid "A Soulbinder's Guide to Necromancy" -msgid_plural "A Soulbinder's Guide to Necromancys" +msgid_plural "copies of A Soulbinder's Guide to Necromancy" msgstr[0] "" -#. ~ Description for A Soulbinder's Guide to Necromancy +#. ~ Description for {'str': "A Soulbinder's Guide to Necromancy", 'str_pl': +#. "copies of A Soulbinder's Guide to Necromancy"} #: lang/json/BOOK_from_json.py msgid "" "A paperback tome for the art of binding undead creatures' souls to dolls, " "along with emulating their healing factor." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "Magitek Illustrated" +msgid_plural "copies of Magitek Illustrated" +msgstr[0] "" + +#. ~ Description for {'str': 'Magitek Illustrated', 'str_pl': 'copies of +#. Magitek Illustrated'} +#: lang/json/BOOK_from_json.py +msgid "" +"A paperback tome for the art of combining modern technology with magic. " +"There is a disclaimer on the back: `Cannith Industries bears no " +"responsibility for malfunctions or accidents for any products mentioned " +"herein`." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "The Weapons of Asgard and Beyond" +msgid_plural "copies of The Weapons of Asgard and Beyond" +msgstr[0] "" + +#. ~ Description for {'str': 'The Weapons of Asgard and Beyond', 'str_pl': +#. 'copies of The Weapons of Asgard and Beyond'} +#: lang/json/BOOK_from_json.py +msgid "" +"An ornate book which appears to be written in Norse runes. Based on the " +"detailed illustrations, it appears to contain information about crafting " +"numerous weapons used by various Gods." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "SugarKin flyer" msgid_plural "SugarKin flyers" @@ -20769,13 +21657,13 @@ msgstr[0] "" #. ~ Description for SugarKin flyer #: lang/json/BOOK_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" +"A flyer for some kind of candy. It shows a picture of a gleaming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" " On the back of the flyer you can see some hastily scribbled words:\n" -" \"Hello my child and welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" +" \"Hello, my child, welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" "1) Never ever get into contact with water, it would melt you! \n" -"2) Avoid humans wiht clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" -"3) Learn how to make caramel ointement, it's the only way to fix your body if you get hurt.\n" -" There's many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" +"2) Avoid humans with clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" +"3) Learn how to make caramel ointment, it's the only way to fix your body if you get hurt.\n" +" There are many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" " I love you,\n" " - F. \"." msgstr "" @@ -21200,7 +22088,7 @@ msgstr "" #. ~ Description for acetylene #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flammable gas that explodes under pressure. Combined with oxygen, " +"A flammable gas that explodes under pressure. Combined with oxygen, " "acetylene makes a great welding gas." msgstr "" @@ -22092,6 +22980,40 @@ msgstr "인간의 커다란 위장" msgid "The stomach of a large humanoid creature. It is surprisingly durable." msgstr "거대한 인간의 내장입니다. 놀라울 정도로 튼튼합니다." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of human fat" +msgid_plural "chunks of human fat" +msgstr[0] "" + +#. ~ Description for chunk of human fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly harvested from a human body." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human tallow" +msgstr "" + +#. ~ Description for human tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered human fat. It will remain " +"edible for a very long time, and can be used as an ingredient in many foods " +"and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human lard" +msgstr "" + +#. ~ Description for human lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered human fat. It will remain edible for a" +" very long time, and can be used as an ingredient in many foods and " +"projects." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "human flesh" msgid_plural "human fleshes" @@ -22134,6 +23056,59 @@ msgid "" "pinch." msgstr "먹을 수 있는 작은 고기조각. 많지는 않지만, 생존에 도움이 될겁니다." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant meat" +msgid_plural "chunks of mutant meat" +msgstr[0] "" + +#. ~ Description for chunk of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Meat from a heavily mutated animal. It has an unsettling loose and spongy " +"texture, but smells… mostly normal. There are strange tangles and " +"formations in it that don't appear natural at all: bits of bone and hair " +"crusted up inside the muscle, as if trying to form another organism. Still," +" seems digestible at least, if you cook it and remove the worst parts." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "scrap of mutant meat" +msgid_plural "scraps of mutant meat" +msgstr[0] "" + +#. ~ Description for scrap of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A tiny scrap of meat from a heavily mutated animal. It smells a bit odd, " +"and has bits of hair and bone mixed in that seem like they grew inside the " +"muscle itself. Still, seems digestible at least, if you cook it and remove " +"the worst parts." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid meat" +msgstr "" + +#. ~ Description for mutant humanoid meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered from the body of a heavily mutated creature that was " +"unsettlingly humanoid in appearance. It has odd bits of fur and other " +"tissue lodged in it that clearly don't belong. You'd have to be crazy or " +"starving to eat this." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked cretin" +msgstr "" + +#. ~ Description for cooked cretin +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Cooked meat from a heavily mutated humanoid. Now that the worst bits have " +"been picked out, it's probably digestible, if not very appetizing." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "butchery refuse" msgid_plural "butchery refuse" @@ -22166,6 +23141,23 @@ msgid "cooked scrap of meat" msgid_plural "cooked scraps of meat" msgstr[0] "고기조각 (요리됨)" +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked mutant meat" +msgstr "" + +#. ~ Description for cooked mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"This is a cooked chunk of meat from a mutated animal. It has an unsettling," +" spongy texture, but otherwise tastes… mostly normal. Hopefully you got all" +" the bits of hair and bone out…" +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked scrap of mutant meat" +msgid_plural "cooked scraps of mutant meat" +msgstr[0] "" + #: lang/json/COMESTIBLE_from_json.py msgid "raw offal" msgstr "생 내장" @@ -22369,8 +23361,8 @@ msgstr[0] "생 뇌" #. ~ Description for raw brains #: lang/json/COMESTIBLE_from_json.py -msgid "The brain from an animal. You wouldn't want to eat this raw..." -msgstr "동물에서 얻은 생 뇌. 이걸 제정신으로 먹고 싶은 마음은 없다." +msgid "The brain from an animal. You wouldn't want to eat this raw…" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "cooked brains" @@ -22423,8 +23415,8 @@ msgstr "스위트브레드 (요리됨)" #. ~ Description for cooked sweetbread #: lang/json/COMESTIBLE_from_json.py -msgid "Normally a delicacy, it needs a little... something." -msgstr "흔히 별미로 먹지만, 이것만으로는 뭔가 부족하다." +msgid "Normally a delicacy, it needs a little… something." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "bone" @@ -22477,6 +23469,76 @@ msgstr "" "건조 추출된 동물성 지방으로 이루어진 부드러운 흰색의 사각형 덩어리입니다. 이것은 오랫동안 썩지 않고, 많은 음식과 물건의 재료로 사용될" " 수 있습니다." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant fat" +msgid_plural "chunks of mutant fat" +msgstr[0] "" + +#. ~ Description for chunk of mutant fat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered fat from a heavily mutated animal. You could eat it raw, " +"but it is better used as an ingredient in other foods or projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant tallow" +msgstr "" + +#. ~ Description for mutant tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"animal. It will remain edible for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant lard" +msgstr "" + +#. ~ Description for mutant lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant animal. It " +"will remain edible for a very long time, and can be used as an ingredient in" +" many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant humanoid fat" +msgid_plural "chunks of mutant humanoid fat" +msgstr[0] "" + +#. ~ Description for chunk of mutant humanoid fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly butchered fat from a heavily mutated humanoid." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid tallow" +msgstr "" + +#. ~ Description for mutant humanoid tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"humanoid. It won't rot for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid lard" +msgstr "" + +#. ~ Description for mutant humanoid lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant humanoid. It" +" won't rot for a very long time, and can be used as an ingredient in many " +"foods and projects." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "chunk of tainted meat" msgid_plural "chunks of tainted meat" @@ -22650,11 +23712,8 @@ msgid "" "covered in ribbed grooves and easily the size of your head. It's still full" " of, er, whatever passes for blood in jabberwocks, and is heavy in your " "hands. After everything you've seen lately, you can't help but remember old" -" sayings about eating the hearts of your enemies..." +" sayings about eating the hearts of your enemies…" msgstr "" -"겉보기에는 포유류의 심장을 닮은 두껍고 우렁찬 살덩어리이며, 갈비뼈 홈으로 덮여있고 당신의 머리 크기 또한 들어갑니다. 아직도 자버워커 " -"안에 피가 흐르는 대로 가득 차 있고 손에 무겁습니다. 최근에 본 모든 것을 보면, 적의 심장을 먹었다는 옛말이 생각나지 않을 수 " -"없습니다.." #: lang/json/COMESTIBLE_from_json.py msgid "desiccated putrid heart" @@ -22670,7 +23729,7 @@ msgstr "" "근육의 거대한 한 조각 - 피가 잘리고 빠져나간 퍼트린 심장의 모든 것이 남아 있습니다. 배가 고프면 먹을 수도 있지만, 보기만 해도 " "역겁습니다." -#: lang/json/COMESTIBLE_from_json.py +#: lang/json/COMESTIBLE_from_json.py lang/json/ammunition_type_from_json.py msgid "raw milk" msgid_plural "raw milk" msgstr[0] "" @@ -22962,7 +24021,7 @@ msgstr[0] "" #. ~ Description for chicory brew #: lang/json/COMESTIBLE_from_json.py msgid "" -"Toasted, ground chicory root steeped in boiling water. This bitter brew is " +"Toasted, ground chicory root steeped in boiling water. This bitter brew is " "used as a coffee substitute, though it tastes nothing like coffee." msgstr "" @@ -23813,10 +24872,11 @@ msgstr "통조림 안에 링 모양으로 썰어져 있는 파인애플과 물 #: lang/json/COMESTIBLE_from_json.py msgid "lemonade drink mix" -msgid_plural "servings of lemonade drink mix" -msgstr[0] "레모네이드 가루" +msgid_plural "lemonade drink mix" +msgstr[0] "" -#. ~ Description for lemonade drink mix +#. ~ Description for {'str': 'lemonade drink mix', 'str_pl': 'lemonade drink +#. mix'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Tangy yellow powder that smells strongly of lemons. Can be mixed with water" @@ -24511,8 +25571,8 @@ msgstr[0] "땅콩버터 사탕" #. ~ Description for peanut butter candy #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of peanut butter cups... your favorite!" -msgstr "땅콩버터 맛 사탕... 이거 제일 좋아하는 맛인데!" +msgid "A handful of peanut butter cups… your favorite!" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "chocolate candy" @@ -24621,10 +25681,8 @@ msgstr "맛있는 초콜릿 케이크입니다. 케이크 전체가 아이싱으 #: lang/json/COMESTIBLE_from_json.py msgid "" "A cake coated in the thickest icing you've ever seen. Someone has written " -"guff in quotation marks on it..." +"guff in quotation marks on it…" msgstr "" -"당신이 여태까지 본 것 중에서 가장 두꺼운 아이싱이 코팅된 케이크입니다. 누군가가 큰따옴표를 그려 넣고 그 안에 시답잖은 이야기를 " -"써놓았습니다..." #: lang/json/COMESTIBLE_from_json.py msgid "chocolate-covered coffee bean" @@ -24664,8 +25722,8 @@ msgstr[0] "박하 초콜릿" #. ~ Description for peppermint patty #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of soft chocolate-covered peppermint patties... yum!" -msgstr "초콜릿이 덮힌 박하 초콜릿... 냠!" +msgid "A handful of soft chocolate-covered peppermint patties… yum!" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "Necco wafers" @@ -26003,12 +27061,10 @@ msgstr[0] "" #. ~ Description for antibiotics #: lang/json/COMESTIBLE_from_json.py msgid "" -"A prescription-strength antibacterial medication designed to prevent or stop" -" the spread of infection. It's the quickest and most reliable way to cure " -"any infections you might have. One dose lasts twelve hours." +"A strong antibacterial medication designed to prevent or stop the spread of " +"infection. It's the safest way to cure any infections you might have. One " +"dose lasts twelve hours." msgstr "" -"감염의 확산을 막거나 막기 위해 고안된 항균제입니다. 이것은 감염을 치료하는 가장 빠르고 믿을 수 있는 방법입니다. 1회 복용량은 " -"12시간 지속됩니다." #: lang/json/COMESTIBLE_from_json.py msgid "antifungal drug" @@ -26858,8 +27914,8 @@ msgstr[0] "" #. ~ Description for antiseptic soaked rag #: lang/json/COMESTIBLE_from_json.py msgid "" -"A rag soaked in antiseptic. Useful for light wounds, probaby won't help with" -" deep bites." +"A rag soaked in antiseptic. Useful for light wounds, probaby won't help " +"with deep bites." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -26917,11 +27973,8 @@ msgid "" "oily liquid that shifts from black to purple at unpredictable intervals, " "flecked with tiny gray dots. Given the place you got it from, it's either " "very potent, or highly experimental. Holding it, all the little aches and " -"pains seem to fade, just for a moment..." +"pains seem to fade, just for a moment…" msgstr "" -"썸네일 크기의 사과 붉은 젤 캡슐은 예측 불가능한 간격으로 검정색에서 보라색으로 변하는 기름기가 많은 액체로 가득 차 있고, 작은 회색 " -"점들로 얼룩져 있습니다. 당신이 어디서 얻었는지를 고려하면, 이것은 매우 강력하거나 혹은 매우 실험적입니다. 들고 있으면, 모든 작은 " -"아픔과 아픔이 사라지는 것 같아요. 잠시 동안만요.." #: lang/json/COMESTIBLE_from_json.py msgid "cattail jelly" @@ -26935,6 +27988,19 @@ msgid "" " painkiller." msgstr "부들에서 수확한 부들 젤리는 소독 효과가 있으며 진통제 역할을 합니다" +#: lang/json/COMESTIBLE_from_json.py +msgid "destragon" +msgstr "" + +#. ~ Description for destragon +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A prescription-strength antibacterial medication designed to prevent or stop" +" the spread of infection. It contains nearly toxic levels of antibiotics, " +"but can treat any bacterial infections you may encounter. One dose lasts " +"twelve hours." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "MRE entree" msgstr "MRE 요리" @@ -27301,9 +28367,9 @@ msgstr "뮤타젠 비슷한 냄새가 나는것" #. ~ Description for abstract iv mutagen flavor #: lang/json/COMESTIBLE_from_json.py msgid "" -"A super-concentrated mutagen. You need a syringe to inject it... if you " +"A super-concentrated mutagen. You need a syringe to inject it… if you " "really want to?" -msgstr "극도로 농축된 뮤타젠입니다. 이것을 주입하기 위해서는 주사기가 필요합니다... 정말로 주사하고 싶은 마음이 드십니까?" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "mutagenic serum" @@ -27317,10 +28383,8 @@ msgstr "알파 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen strongly resembling blood. You need a syringe " -"to inject it... if you really want to?" +"to inject it… if you really want to?" msgstr "" -"극도로 농축된 뮤타젠으로 혈액과 거의 흡사하게 보입니다. 이것을 주입하기 위해서는 주사기가 필요합니다... 정말로 주사하고 싶은 마음이 " -"드십니까?" #: lang/json/COMESTIBLE_from_json.py msgid "beast serum" @@ -27330,7 +28394,7 @@ msgstr "야수 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as red as a matador's cape. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27341,10 +28405,8 @@ msgstr "조류 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the pre-cataclysmic skies. You " -"need a syringe to inject it... if you really want to?" +"need a syringe to inject it… if you really want to?" msgstr "" -"극도로 농축된 뮤타젠으로 대격변 이전의 하늘 같아 보이는 색입니다. 이것을 주입하기 위해서는 주사기가 필요합니다... 정말로 주사하고 " -"싶은 마음이 드십니까?" #: lang/json/COMESTIBLE_from_json.py msgid "cattle serum" @@ -27354,10 +28416,8 @@ msgstr "초식동물 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of grass. You need a syringe to " -"inject it... if you really want to?" +"inject it… if you really want to?" msgstr "" -"극도로 농축된 뮤타젠으로 풀 같아 보이는 색입니다. 이것을 주입하기 위해서는 주사기가 필요합니다... 정말로 주사하고 싶은 마음이 " -"드십니까?" #: lang/json/COMESTIBLE_from_json.py msgid "cephalopod serum" @@ -27367,7 +28427,7 @@ msgstr "연체동물 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as black as ink. You need a syringe to inject " -"it... if you really want to?" +"it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27378,7 +28438,7 @@ msgstr "키메라 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that churns with iridescence. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27389,7 +28449,7 @@ msgstr "요정 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a striking sylvan green. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27400,7 +28460,7 @@ msgstr "고양이 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen, yellow and highly reflective. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27411,10 +28471,8 @@ msgstr "어류 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the ocean, with white foam at the " -"top. You need a syringe to inject it... if you really want to?" +"top. You need a syringe to inject it… if you really want to?" msgstr "" -"극도로 농축된 뮤타젠으로 바다색이고, 위에 흰색 거품이 있습니다. 이것을 주입하기 위해서는 주사기가 필요합니다... 정말로 주사하고 " -"싶으시다면요?" #: lang/json/COMESTIBLE_from_json.py msgid "insect serum" @@ -27424,7 +28482,7 @@ msgstr "곤충 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a beautiful amber color. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27435,7 +28493,7 @@ msgstr "파충류 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that shifts between various shades of green. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27446,7 +28504,7 @@ msgstr "늑대 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as white as a full moon. You need a syringe to" -" inject it... if you really want to?" +" inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27457,7 +28515,7 @@ msgstr "의학실험체 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like a mixture of bodily fluids. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27468,7 +28526,7 @@ msgstr "식물 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like pureed spinach. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27479,7 +28537,7 @@ msgstr "랩터 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to shift slightly whenever you look " -"at it. You need a syringe to inject it... if you really want to?" +"at it. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27490,7 +28548,7 @@ msgstr "설치류 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a rather unappealing beige. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27501,7 +28559,7 @@ msgstr "슬라임 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks very much like the black ooze in the" -" zombies' eyes. You need a syringe to inject it... if you really want to?" +" zombies' eyes. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27512,7 +28570,7 @@ msgstr "거미 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen with pale filaments suspended in it. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27523,7 +28581,7 @@ msgstr "동굴성 생물 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to recoil from the light. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27534,7 +28592,7 @@ msgstr "곰 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's the color of honey, and is just as " -"thick. You need a syringe to inject it... if you really want to?" +"thick. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27545,7 +28603,7 @@ msgstr "생쥐 혈청" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen resembling liquefied metal. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -27560,8 +28618,8 @@ msgstr "응고된 혈액" #: lang/json/COMESTIBLE_from_json.py msgid "" "A thick, soupy red liquid. It looks and smells disgusting, and seems to " -"bubble with an intelligence of its own..." -msgstr "걸쭉하고 수프가 많은 빨간 액체입니다. 역겨워 보이고 냄새도 나고, 그 자체의 지능으로 거품이 나는것 같습니다..." +"bubble with an intelligence of its own…" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "alpha mutagen" @@ -27747,21 +28805,21 @@ msgid "" msgstr "목마른 돌연변이가 선택한 음료. 끔찍한 맛이지만, 그냥 하수를 마시는 것보단 덜 위험할 것 같다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of pine nuts" -msgid_plural "handfuls of pine nuts" +msgid "pine nuts" +msgid_plural "pine nuts" msgstr[0] "" -#. ~ Description for handful of pine nuts +#. ~ Description for {'str': 'pine nuts', 'str_pl': 'pine nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of tasty crunchy nuts from a pinecone." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of junipers" -msgid_plural "handful of junipers" +msgid "junipers" +msgid_plural "junipers" msgstr[0] "" -#. ~ Description for handful of junipers +#. ~ Description for {'str': 'junipers', 'str_pl': 'junipers'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Junipers, for making gin and earthy flavors. Spicy, tastes similar to " @@ -27769,62 +28827,75 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pistachios" -msgid_plural "handfuls of shelled pistachios" +msgid "shelled pistachios" +msgid_plural "shelled pistachios" msgstr[0] "" -#. ~ Description for handful of shelled pistachios +#. ~ Description for {'str': 'shelled pistachios', 'str_pl': 'shelled +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of nuts from a pistachio tree, their shells have been removed." msgstr "피스타치오 나무에서 난 열매를 날 것 그대로 껍질만 벗겨놓은 것입니다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pistachios" -msgid_plural "handfuls of roasted pistachios" -msgstr[0] "볶은 피스타치오" +msgid "roasted pistachios" +msgid_plural "roasted pistachios" +msgstr[0] "" -#. ~ Description for handful of roasted pistachios +#. ~ Description for {'str': 'roasted pistachios', 'str_pl': 'roasted +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an pistachio tree." msgstr "피스타치오 나무에서 난 열매를 볶은 것입니다" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled almonds" -msgid_plural "handfuls of shelled almonds" +msgid "shelled almonds" +msgid_plural "shelled almonds" msgstr[0] "" -#. ~ Description for handful of shelled almonds +#. ~ Description for {'str': 'shelled almonds', 'str_pl': 'shelled almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of nuts from an almond tree, their shells have been removed." msgstr "아몬드 나무에서 난 딱딱한 열매를 날 것 그대로 껍질만 벗겨놓은 것입니다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted almonds" -msgid_plural "handfuls of roasted almonds" -msgstr[0] "볶은 아몬드" +msgid "almond pulp" +msgid_plural "almond pulp" +msgstr[0] "" + +#. ~ Description for almond pulp +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Pulp left over after making almond milk. It's gritty and incredibly bland." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "roasted almonds" +msgid_plural "roasted almonds" +msgstr[0] "" -#. ~ Description for handful of roasted almonds +#. ~ Description for {'str': 'roasted almonds', 'str_pl': 'roasted almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an almond tree." msgstr "아몬드 나무에서 난 열매를 볶은 것입니다" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cashews" -msgid_plural "handfuls of cashews" +msgid "cashews" +msgid_plural "cashews" msgstr[0] "" -#. ~ Description for handful of cashews +#. ~ Description for {'str': 'cashews', 'str_pl': 'cashews'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of salty cashews." msgstr "짭잘한 캐슈 한 줌." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pecans" -msgid_plural "handfuls of shelled pecans" +msgid "shelled pecans" +msgid_plural "shelled pecans" msgstr[0] "" -#. ~ Description for handful of shelled pecans +#. ~ Description for {'str': 'shelled pecans', 'str_pl': 'shelled pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of pecans which are a sub-species of hickory nuts, their shells " @@ -27832,41 +28903,41 @@ msgid "" msgstr "히코리 견과류의 아종인 피칸을 날 것 그대로 껍질만 벗겨놓은 것입니다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pecans" -msgid_plural "handfuls of roasted pecans" -msgstr[0] "볶은 피칸" +msgid "roasted pecans" +msgid_plural "roasted pecans" +msgstr[0] "" -#. ~ Description for handful of roasted pecans +#. ~ Description for {'str': 'roasted pecans', 'str_pl': 'roasted pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a pecan tree." msgstr "피칸 나무에서 난 열매를 볶은 것입니다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled peanuts" -msgid_plural "handful of shelled peanuts" -msgstr[0] "땅콩" +msgid "shelled peanuts" +msgid_plural "shelled peanuts" +msgstr[0] "" -#. ~ Description for handful of shelled peanuts +#. ~ Description for {'str': 'shelled peanuts', 'str_pl': 'shelled peanuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Salty peanuts with their shells removed." msgstr "껍질이 제거된 짭잘한 땅콩." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of beech nuts" -msgid_plural "handfuls of beech nuts" +msgid "beech nuts" +msgid_plural "beech nuts" msgstr[0] "" -#. ~ Description for handful of beech nuts +#. ~ Description for {'str': 'beech nuts', 'str_pl': 'beech nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of hard pointy nuts from a beech tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled walnuts" -msgid_plural "handfuls of shelled walnuts" -msgstr[0] "호두" +msgid "shelled walnuts" +msgid_plural "shelled walnuts" +msgstr[0] "" -#. ~ Description for handful of shelled walnuts +#. ~ Description for {'str': 'shelled walnuts', 'str_pl': 'shelled walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a walnut tree, their shells have been " @@ -27874,21 +28945,22 @@ msgid "" msgstr "호두 나무에서 난 딱딱한 열매를 날 것 그대로 껍질만 벗겨놓은 것입니다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted walnuts" -msgid_plural "handfuls of roasted walnuts" -msgstr[0] "볶은 호두" +msgid "roasted walnuts" +msgid_plural "roasted walnuts" +msgstr[0] "" -#. ~ Description for handful of roasted walnuts +#. ~ Description for {'str': 'roasted walnuts', 'str_pl': 'roasted walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a walnut tree." msgstr "호두 나무에서 난 열매를 볶은 것입니다" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled chestnuts" -msgid_plural "handfuls of shelled chestnuts" -msgstr[0] "밤" +msgid "shelled chestnuts" +msgid_plural "shelled chestnuts" +msgstr[0] "" -#. ~ Description for handful of shelled chestnuts +#. ~ Description for {'str': 'shelled chestnuts', 'str_pl': 'shelled +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a chestnut tree, their shells have been " @@ -27896,21 +28968,23 @@ msgid "" msgstr "밤 나무에서 난 딱딱한 열매를 날 것 그대로 껍질만 벗겨놓은 것입니다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted chestnuts" -msgid_plural "handfuls of roasted chestnuts" -msgstr[0] "볶은 밤" +msgid "roasted chestnuts" +msgid_plural "roasted chestnuts" +msgstr[0] "" -#. ~ Description for handful of roasted chestnuts +#. ~ Description for {'str': 'roasted chestnuts', 'str_pl': 'roasted +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a chestnut tree." msgstr "밤 나무에서 난 열매를 볶은 것입니다" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hazelnuts" -msgid_plural "handfuls of shelled hazelnuts" +msgid "shelled hazelnuts" +msgid_plural "shelled hazelnuts" msgstr[0] "" -#. ~ Description for handful of shelled hazelnuts +#. ~ Description for {'str': 'shelled hazelnuts', 'str_pl': 'shelled +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hazelnut tree, their shells have been " @@ -27918,41 +28992,43 @@ msgid "" msgstr "헤이즐넛 나무에서 난 열매를 날 것 그대로 껍질만 벗겨놓은 것입니다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted edamame" -msgid_plural "handful of roasted edamame" +msgid "roasted edamame" +msgid_plural "roasted edamame" msgstr[0] "" -#. ~ Description for handful of roasted edamame +#. ~ Description for {'str': 'roasted edamame', 'str_pl': 'roasted edamame'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted edamame, a heart healthy snack." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted soy nuts" -msgid_plural "handful of roasted soy nuts" +msgid "roasted soy nuts" +msgid_plural "roasted soy nuts" msgstr[0] "" -#. ~ Description for handful of roasted soy nuts +#. ~ Description for {'str': 'roasted soy nuts', 'str_pl': 'roasted soy nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted soybeans, often called soy nuts." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hazelnuts" -msgid_plural "handfuls of roasted hazelnuts" +msgid "roasted hazelnuts" +msgid_plural "roasted hazelnuts" msgstr[0] "" -#. ~ Description for handful of roasted hazelnuts +#. ~ Description for {'str': 'roasted hazelnuts', 'str_pl': 'roasted +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hazelnut tree." msgstr "헤이즐넛 나무에서 난 열매를 볶은 것입니다" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hickory nuts" -msgid_plural "handfuls of shelled hickory nuts" -msgstr[0] "히코리 열매" +msgid "shelled hickory nuts" +msgid_plural "shelled hickory nuts" +msgstr[0] "" -#. ~ Description for handful of shelled hickory nuts +#. ~ Description for {'str': 'shelled hickory nuts', 'str_pl': 'shelled +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hickory tree, their shells have been " @@ -27960,11 +29036,12 @@ msgid "" msgstr "히코리 나무에서 난 딱딱한 열매를 날 것 그대로 껍질만 벗겨놓은 것입니다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hickory nuts" -msgid_plural "handfuls of roasted hickory nuts" -msgstr[0] "볶은 히코리 열매" +msgid "roasted hickory nuts" +msgid_plural "roasted hickory nuts" +msgstr[0] "" -#. ~ Description for handful of roasted hickory nuts +#. ~ Description for {'str': 'roasted hickory nuts', 'str_pl': 'roasted +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hickory tree." msgstr "히코리 나무에서 난 열매를 볶은 것입니다." @@ -27979,11 +29056,11 @@ msgid "Delicious hickory nut ambrosia. A drink worthy of the gods." msgstr "신들의 음료라는 말에 걸맞은 맛있는 히코리 열매 암브로시아입니다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of acorns" -msgid_plural "handfuls of acorns" -msgstr[0] "도토리" +msgid "acorns" +msgid_plural "acorns" +msgstr[0] "" -#. ~ Description for handful of acorns +#. ~ Description for {'str': 'acorns', 'str_pl': 'acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of acorns, still in their shells. Squirrels like them, but " @@ -27991,11 +29068,11 @@ msgid "" msgstr "껍질을 까지 않은 도토리 한 줌. 다람쥐가 좋아하는 음식. 이 상태로 먹긴 힘들다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted acorns" -msgid_plural "handfuls of roasted acorns" +msgid "roasted acorns" +msgid_plural "roasted acorns" msgstr[0] "" -#. ~ Description for handful of roasted acorns +#. ~ Description for {'str': 'roasted acorns', 'str_pl': 'roasted acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful roasted nuts from an oak tree." msgstr "떡갈나무에서 난 열매를 볶은 것입니다." @@ -28525,10 +29602,11 @@ msgstr "정제된 인간 단백질과 물을 섞어 만든 걸쭉한 액체. 꽤 #: lang/json/COMESTIBLE_from_json.py msgid "soylent green powder" -msgid_plural "servings of soylent green powder" -msgstr[0] "소일렌트 그린 분말" +msgid_plural "soylent green powder" +msgstr[0] "" -#. ~ Description for soylent green powder +#. ~ Description for {'str': 'soylent green powder', 'str_pl': 'soylent green +#. powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein made out of people! While quite nutritious, it is " @@ -28572,10 +29650,10 @@ msgstr "정제된 단백질과 물을 섞어 만든, 약간 걸쭉한 액체입 #: lang/json/COMESTIBLE_from_json.py msgid "protein powder" -msgid_plural "servings of protein powder" -msgstr[0] "단백질 가루" +msgid_plural "protein powder" +msgstr[0] "" -#. ~ Description for protein powder +#. ~ Description for {'str': 'protein powder', 'str_pl': 'protein powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein. While quite nutritious, it is impossible to enjoy in " @@ -28644,11 +29722,11 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "매우 시큼한 감귤류 과일입니다. 꼭 먹어야만 하겠다면 먹을 수는 있습니다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blueberries" -msgid_plural "handful of blueberries" -msgstr[0] "블루베리" +msgid "blueberries" +msgid_plural "blueberries" +msgstr[0] "" -#. ~ Description for handful of blueberries +#. ~ Description for {'str': 'blueberries', 'str_pl': 'blueberries'} #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "" @@ -28656,51 +29734,51 @@ msgstr "" "(역주: 'blue'에는 '우울한'이라는 의미도 있다.)" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of strawberries" -msgid_plural "handful of strawberries" -msgstr[0] "딸기" +msgid "strawberries" +msgid_plural "strawberries" +msgstr[0] "" -#. ~ Description for handful of strawberries +#. ~ Description for {'str': 'strawberries', 'str_pl': 'strawberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "맛있는 과즙이 들어있는 열매. 종종 들판에서 자라나는 것을 발견할 수 있다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cranberries" -msgid_plural "handful of cranberries" -msgstr[0] "크랜베리" +msgid "cranberries" +msgid_plural "cranberries" +msgstr[0] "" -#. ~ Description for handful of cranberries +#. ~ Description for {'str': 'cranberries', 'str_pl': 'cranberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "새콤한 붉은색 열매입니다. 건강에 좋습니다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of raspberries" -msgid_plural "handful of raspberries" -msgstr[0] "산딸기" +msgid "raspberries" +msgid_plural "raspberries" +msgstr[0] "" -#. ~ Description for handful of raspberries +#. ~ Description for {'str': 'raspberries', 'str_pl': 'raspberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "달콤한 붉은색 열매입니다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of huckleberries" -msgid_plural "handful of huckleberries" +msgid "huckleberries" +msgid_plural "huckleberries" msgstr[0] "" -#. ~ Description for handful of huckleberries +#. ~ Description for {'str': 'huckleberries', 'str_pl': 'huckleberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "가끔씩 불루베리와 헷갈리는 월귤나무 열매." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of mulberries" -msgid_plural "handful of mulberries" +msgid "mulberries" +msgid_plural "mulberries" msgstr[0] "" -#. ~ Description for handful of mulberries +#. ~ Description for {'str': 'mulberries', 'str_pl': 'mulberries'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -28708,21 +29786,21 @@ msgid "" msgstr "빨간 오디는 북미 동부 지역에서만 나타나며 세계에서 가장 풍미가 뛰어난 종으로 알려져 있습니다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of elderberries" -msgid_plural "handful of elderberries" +msgid "elderberries" +msgid_plural "elderberries" msgstr[0] "" -#. ~ Description for handful of elderberries +#. ~ Description for {'str': 'elderberries', 'str_pl': 'elderberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "날것으로 먹으면 독성이 있으니 요리해 먹는 것이 좋다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of rose hips" -msgid_plural "handful of rose hips" +msgid "rose hips" +msgid_plural "rose hips" msgstr[0] "" -#. ~ Description for handful of rose hips +#. ~ Description for {'str': 'rose hips', 'str_pl': 'rose hips'} #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "꽃가루가 들어간 장미꽃의 열매입니다." @@ -28757,11 +29835,11 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "새콤 달콤한 감귤류 과일입니다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cherries" -msgid_plural "handful of cherries" +msgid "cherries" +msgid_plural "cherries" msgstr[0] "" -#. ~ Description for handful of cherries +#. ~ Description for {'str': 'cherries', 'str_pl': 'cherries'} #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "나무에서 자라는 붉고 달콤한 과일입니다." @@ -28777,11 +29855,11 @@ msgid "" msgstr "적당히 큰 보라색 자두입니다. 몸에 좋고, 소화를 돕습니다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of grapes" -msgid_plural "handful of grapes" +msgid "grapes" +msgid_plural "grapes" msgstr[0] "" -#. ~ Description for handful of grapes +#. ~ Description for {'str': 'grapes', 'str_pl': 'grapes'} #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "즙이 많은 포도 한 송이." @@ -28833,11 +29911,11 @@ msgid "A large and very sweet fruit." msgstr "크고 아주 달콤한 과일입니다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blackberries" -msgid_plural "handful of blackberries" +msgid "blackberries" +msgid_plural "blackberries" msgstr[0] "" -#. ~ Description for handful of blackberries +#. ~ Description for {'str': 'blackberries', 'str_pl': 'blackberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "산딸기의 검은색 사촌입니다." @@ -28880,15 +29958,26 @@ msgid "" msgstr "털로 뒤덮인 갈색 껍질의 알찬 열매. 초록색 내용물이 맛있다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of apricots" -msgid_plural "handful of apricots" +msgid "apricots" +msgid_plural "apricots" msgstr[0] "" -#. ~ Description for handful of apricots +#. ~ Description for {'str': 'apricots', 'str_pl': 'apricots'} #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "부드러운 촉감의 과일로, 복숭아와 비슷한 과일입니다." +#: lang/json/COMESTIBLE_from_json.py +msgid "cholla bud" +msgstr "" + +#. ~ Description for cholla bud +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Edible bud of a cholla cactus, with spines removed; the candy of the Mojave " +"indigenous peoples. Tastes similar to asparagus." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "cactus pad" msgstr "" @@ -29057,10 +30146,10 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "salsify" -msgid_plural "handfuls of salsify" +msgid_plural "salsify" msgstr[0] "" -#. ~ Description for salsify +#. ~ Description for {'str': 'salsify', 'str_pl': 'salsify'} #: lang/json/COMESTIBLE_from_json.py msgid "" "An herb with a small purple flower. The roots are nutritious, but tough and" @@ -29070,10 +30159,10 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py lang/json/COMESTIBLE_from_json.py #: lang/json/furniture_from_json.py msgid "chicory" -msgid_plural "handfuls of chicory" +msgid_plural "chicory" msgstr[0] "" -#. ~ Description for chicory +#. ~ Description for {'str': 'chicory', 'str_pl': 'chicory'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A modest blue flower. The flower's roots are very bitter and not meant to " @@ -29185,11 +30274,11 @@ msgid "" msgstr "커다란 채소. 대략 당신의 머리만 합니다. 생으로는 별로지만, 요리해 먹으면 아주 맛있습니다." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of dandelions" -msgid_plural "handfuls of dandelions" -msgstr[0] "민들레" +msgid "dandelions" +msgid_plural "dandelions" +msgstr[0] "" -#. ~ Description for handful of dandelions +#. ~ Description for {'str': 'dandelions', 'str_pl': 'dandelions'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A collection of freshly picked yellow dandelions. In their current raw " @@ -29314,11 +30403,11 @@ msgid "Raw, uncooked lentils. They could be cooked." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of fiddleheads" -msgid_plural "handfuls of fiddleheads" +msgid "fiddleheads" +msgid_plural "fiddleheads" msgstr[0] "" -#. ~ Description for handful of fiddleheads +#. ~ Description for {'str': 'fiddleheads', 'str_pl': 'fiddleheads'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of immature fern fronds, still curled up like the head of a " @@ -31055,8 +32144,8 @@ msgstr[0] "" #. ~ Description for raw spaghetti pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of pasta usually used when preparing spaghetti. It could be eaten raw" -" if you're desperate, but is much better cooked." +"A type of pasta usually used when preparing spaghetti. It could be eaten " +"raw if you're desperate, but is much better cooked." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31067,7 +32156,7 @@ msgstr[0] "" #. ~ Description for raw lasagne pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pasta sheet used in making lasagne. It could be eaten raw if you're " +"A pasta sheet used in making lasagne. It could be eaten raw if you're " "desperate, but is much better cooked." msgstr "" @@ -31513,7 +32602,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "Strong alcohol, infused with mana and concentrated into a liquid that can " -"stabilize spells into liquid form. You can still drink it, if you want." +"stabilize spells into liquid form. You can still drink it, if you want." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31525,7 +32614,7 @@ msgstr[0] "" #: lang/json/COMESTIBLE_from_json.py msgid "" "An organ located above the kidneys responsible for secretion of adrenaline, " -"cortisol, and aldosterone. This one is huge, whether by nature or mutation." +"cortisol, and aldosterone. This one is huge, whether by nature or mutation." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31622,8 +32711,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human, including pieces of bone " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31634,8 +32723,9 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human covered with bone, including" -" pieces of organs. Necromantic magic delays immediate rot, but it won't last" -" forever. Piercing it with the attached needle could compel it to serve you." +" pieces of organs. Necromantic magic delays immediate rot, but it won't " +"last forever. Piercing it with the attached needle could compel it to serve" +" you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31646,8 +32736,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead cougar, complete with fur, bones, " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31658,8 +32748,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31670,9 +32760,9 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal. Improved infusion techniques lessen the strain of the " -"process." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal. Improved infusion techniques lessen the strain of " +"the process." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31706,7 +32796,7 @@ msgstr[0] "" #. ~ Description for hairball #: lang/json/COMESTIBLE_from_json.py msgid "" -"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." +"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31722,6 +32812,16 @@ msgid "" " properties." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "scream mushroom" +msgstr "" + +#. ~ Description for scream mushroom +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"The mushrooms harvested from a dead shrieker. Could be used in potions." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "resinous cord" msgstr "아교 끈" @@ -31745,13 +32845,13 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "caramel ointement" +msgid "caramel ointment" msgstr "" -#. ~ Description for caramel ointement +#. ~ Description for caramel ointment #: lang/json/COMESTIBLE_from_json.py msgid "" -"An ointement made of caramel. You could use it to heal your wounds, if you " +"An ointment made of caramel. You could use it to heal your wounds, if you " "were made of sugar." msgstr "" @@ -32355,15 +33455,6 @@ msgstr[0] "쌀가루" msgid "This rice flour is useful for baking." msgstr "제빵에 쓰이는 쌀가루" -#: lang/json/COMESTIBLE_from_json.py -msgid "cholla bud" -msgstr "" - -#. ~ Description for cholla bud -#: lang/json/COMESTIBLE_from_json.py -msgid "The candy of the Mojave Indigenous peoples." -msgstr "" - #: lang/json/COMESTIBLE_from_json.py msgid "revival serum" msgstr "부활 혈청" @@ -32634,8 +33725,8 @@ msgstr[0] "" #. ~ Description for paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"It has a threaded cap for easy resealing." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" It has a threaded cap for easy resealing." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -32646,8 +33737,8 @@ msgstr[0] "" #. ~ Description for opened paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"This one is open and its contents will spoil." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" This one is open and its contents will spoil." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -33126,8 +34217,8 @@ msgstr[0] "" #. ~ Description for survival kit box #: lang/json/CONTAINER_from_json.py msgid "" -"An aluminum box that used to contain a small survival kit. Can hold 1 liter " -"of liquid." +"An aluminum box that used to contain a small survival kit. Can hold 1 liter" +" of liquid." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -33218,6 +34309,21 @@ msgid "" " for maximum yield. It can be crafted with various seeds to plant them." msgstr "" +#: lang/json/CONTAINER_from_json.py +msgid "endless flask" +msgid_plural "endless flasks" +msgstr[0] "" + +#. ~ Use action msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "You open the flask and discover it full of sweet, sweet, whiskey!" +msgstr "" + +#. ~ Use action not_ready_msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "The flask isn't done refilling yet." +msgstr "" + #: lang/json/CONTAINER_from_json.py msgid "aluminum foil wrap" msgid_plural "aluminum foil wraps" @@ -33654,8 +34760,8 @@ msgstr[0] "" #. ~ Description for rhodonite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of rhodonite. It has manganese dioxide covering and going through it" -" in veins, which can be obtained using a chisel." +"A chunk of rhodonite. It has manganese dioxide covering and going through " +"it in veins, which can be obtained using a chisel." msgstr "" #: lang/json/GENERIC_from_json.py @@ -33666,7 +34772,7 @@ msgstr[0] "" #. ~ Description for zincite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " +"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " "reduction with a source of carbon." msgstr "" @@ -33683,81 +34789,81 @@ msgstr "" "*히코리 나무 : 북미에 자생하는 호두과 나무." #: lang/json/GENERIC_from_json.py -msgid "handful of hickory nuts" -msgid_plural "handfuls of hickory nuts" +msgid "hickory nuts" +msgid_plural "hickory nuts" msgstr[0] "" -#. ~ Description for handful of hickory nuts +#. ~ Description for {'str': 'hickory nuts', 'str_pl': 'hickory nuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hickory tree, still in their shell." msgstr "히코리 나무 열매 한 줌. 아직 껍질에 덮여있습니다." #: lang/json/GENERIC_from_json.py -msgid "handful of pecans" -msgid_plural "handfuls of pecans" +msgid "pecans" +msgid_plural "pecans" msgstr[0] "" -#. ~ Description for handful of pecans +#. ~ Description for {'str': 'pecans', 'str_pl': 'pecans'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pecan tree, still in their shell." msgstr "피칸 나무 열매 한 줌. 아직 껍질에 덮여있습니다." #: lang/json/GENERIC_from_json.py -msgid "handful of pistachios" -msgid_plural "handfuls of pistachios" +msgid "pistachios" +msgid_plural "pistachios" msgstr[0] "" -#. ~ Description for handful of pistachios +#. ~ Description for {'str': 'pistachios', 'str_pl': 'pistachios'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pistachio tree, still in their shell." msgstr "피스타치오 나무 열매 한 줌. 아직 껍질에 덮여있습니다." #: lang/json/GENERIC_from_json.py -msgid "handful of almonds" -msgid_plural "handfuls of almonds" +msgid "almonds" +msgid_plural "almonds" msgstr[0] "" -#. ~ Description for handful of almonds +#. ~ Description for {'str': 'almonds', 'str_pl': 'almonds'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a almond tree, still in their shell." msgstr "아몬드 나무 열매 한 줌. 아직 껍질에 덮여있습니다." #: lang/json/GENERIC_from_json.py -msgid "handful of peanuts" -msgid_plural "handfuls of peanuts" +msgid "peanuts" +msgid_plural "peanuts" msgstr[0] "" -#. ~ Description for handful of peanuts +#. ~ Description for {'str': 'peanuts', 'str_pl': 'peanuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a peanut bush, still in their shell." msgstr "땅콩 수풀에서 얻은 땅콩 한 줌. 아직 껍질에 덮여있습니다." #: lang/json/GENERIC_from_json.py -msgid "handful of hazelnuts" -msgid_plural "handfuls of hazelnuts" +msgid "hazelnuts" +msgid_plural "hazelnuts" msgstr[0] "" -#. ~ Description for handful of hazelnuts +#. ~ Description for {'str': 'hazelnuts', 'str_pl': 'hazelnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hazelnut tree, still in their shell." msgstr "헤이즐넛 나무 열매 한 줌. 아직 껍질에 덮여있습니다." #: lang/json/GENERIC_from_json.py -msgid "handful of chestnuts" -msgid_plural "handfuls of chestnuts" +msgid "chestnuts" +msgid_plural "chestnuts" msgstr[0] "" -#. ~ Description for handful of chestnuts +#. ~ Description for {'str': 'chestnuts', 'str_pl': 'chestnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a chestnut tree, still in their shell." msgstr "밤 나무 열매 한 줌. 아직 껍질에 덮여있습니다." #: lang/json/GENERIC_from_json.py -msgid "handful of walnuts" -msgid_plural "handfuls of walnuts" +msgid "walnuts" +msgid_plural "walnuts" msgstr[0] "" -#. ~ Description for handful of walnuts +#. ~ Description for {'str': 'walnuts', 'str_pl': 'walnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a walnut tree, still in their shell." msgstr "호두 나무 열매 한 줌. 아직 껍질에 덮여있습니다." @@ -33892,7 +34998,7 @@ msgstr "" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"A dead body with a frightful grimace. He appears to have been horribly " +"A dead body with a frightful grimace. He appears to have been horribly " "mangled prior to his death." msgstr "" @@ -33916,7 +35022,7 @@ msgstr "" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"The upper half of a dead body, as if torn apart with enormous force. Some " +"The upper half of a dead body, as if torn apart with enormous force. Some " "organs are hanging out." msgstr "" @@ -34011,6 +35117,11 @@ msgstr "근육" msgid "wind" msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "metabolism" +msgid_plural "metabolisms" +msgstr[0] "" + #: lang/json/GENERIC_from_json.py msgid "a smoking device and a source of flame" msgstr "a smoking device and a source of flame" @@ -34027,6 +35138,28 @@ msgid "" "kept together, pretty useless now though." msgstr "모든 종류의 정보, 고객 데이터 및 차트가 함께 기록된 여러 문서. 이제와선 전혀 쓸모가 없다." +#: lang/json/GENERIC_from_json.py +msgid "INCIDENT REPORT: IMMERSION-27A" +msgid_plural "INCIDENT REPORT: IMMERSION-27As" +msgstr[0] "" + +#. ~ Description for INCIDENT REPORT: IMMERSION-27A +#: lang/json/GENERIC_from_json.py +msgid "" +"A white piece of paper, with the logo of XEDRA printed on its upper left " +"corner. It seems to be an internal report of some kind." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "MATERIAL: T-SUBSTRATE" +msgid_plural "MATERIAL: T-SUBSTRATEs" +msgstr[0] "" + +#: lang/json/GENERIC_from_json.py +msgid "HAADF MICROGRAPH: T-SUBSTRATE" +msgid_plural "HAADF MICROGRAPH: T-SUBSTRATEs" +msgstr[0] "" + #: lang/json/GENERIC_from_json.py msgid "foodplace loyalty card" msgid_plural "foodplace loyalty cards" @@ -34036,10 +35169,8 @@ msgstr[0] "푸드플레이스 고객 카드" #: lang/json/GENERIC_from_json.py msgid "" "A bright pink loyalty card, all the points are stamped. This would " -"definitely prove your fidelity to Foodplace, if it still meant anything..." +"definitely prove your fidelity to Foodplace, if it still meant anything…" msgstr "" -"모든 포인트가 찍혀 있는 밝은 핑크색 고객 카드. 확실히 푸드플레이스의 단골이란 걸 증명할 수 있을 것입니다. 아직도 쓸모가 " -"있다면요..." #: lang/json/GENERIC_from_json.py msgid "withered plant" @@ -34166,8 +35297,8 @@ msgstr[0] "" #. ~ Description for set of 100 ceramic disk #: lang/json/GENERIC_from_json.py msgid "" -"A set of small slightly elongated disks, made of high-grade ceramic. They " -"remind you of scales" +"A set of small slightly elongated disks, made of high-grade ceramic. They " +"remind you of scales." msgstr "" #: lang/json/GENERIC_from_json.py @@ -34216,6 +35347,17 @@ msgid "" "Felt patches, bundled tightly together for storage. Disassemble to unpack." msgstr "펠트 부분, 함께 묶어서 보관하십시오. 분해하여 포장 해제" +#: lang/json/GENERIC_from_json.py +msgid "t-substrate sample" +msgid_plural "t-substrate samples" +msgstr[0] "" + +#. ~ Description for t-substrate sample +#: lang/json/GENERIC_from_json.py +msgid "" +"An acrylic cube cast around a small black crystal. It's tepid to the touch." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "biollante bud" msgid_plural "biollante buds" @@ -34433,6 +35575,17 @@ msgid "" "constructing tougher walls and such." msgstr "좋은 근접 무기를 만들 수 있으며, 보다 더 강한 벽을 건설하는데 유용한 철근입니다." +#: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "small railroad track" +msgid_plural "small railroad tracks" +msgstr[0] "" + +#. ~ Description for small railroad track +#: lang/json/GENERIC_from_json.py +msgid "A length of track, made from some planks and rails." +msgstr "" + #: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py msgid "concrete" msgid_plural "concrete" @@ -34488,18 +35641,6 @@ msgid "" "A large, heavy-duty spring. Expands with significant force when compressed." msgstr "크고 고강도의 좋은 스프링. 누르면 상당한 힘으로 펴진다." -#: lang/json/GENERIC_from_json.py -msgid "leaf spring" -msgid_plural "leaf springs" -msgstr[0] "판 용수철" - -#. ~ Description for leaf spring -#: lang/json/GENERIC_from_json.py -msgid "" -"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" -" an awful lot like a bow. You can barely bend it..." -msgstr "크고 고강도의 판형 스프링. 아마 보통 차나 트럭용도로 보이며 활 처럼 생겼습니다. 힘을 줘도 거의 구부러지지 않습니다." - #: lang/json/GENERIC_from_json.py msgid "lawnmower" msgid_plural "lawnmowers" @@ -35330,8 +36471,8 @@ msgstr[0] "SD 카드 (과학정보)" #: lang/json/GENERIC_from_json.py msgid "" "This memory card appears to be related to 'XEDRA', and is certainly " -"encrypted. Looks * Interesting *, though..." -msgstr "'XEDRA'와 관련이 있어 보이는 저장장치. 당연히 암호화 되어있지만, 일단 '흥미로워' 보인다." +"encrypted. Looks *Interesting*, though…" +msgstr "" #: lang/json/GENERIC_from_json.py msgid "hand mirror" @@ -35379,16 +36520,6 @@ msgid "" " it." msgstr "소나무의 끝이 뾰족한 열매이다. 흔들면 마른 씨앗이 안에서 달그락거린다." -#: lang/json/GENERIC_from_json.py -msgid "poppy flower" -msgid_plural "poppy flowers" -msgstr[0] "양귀비 꽃" - -#. ~ Description for poppy flower -#: lang/json/GENERIC_from_json.py -msgid "A poppy stalk with some petals." -msgstr "꽃잎이 조금 달린 양귀비 줄기입니다." - #: lang/json/GENERIC_from_json.py msgid "poppy bud" msgid_plural "poppy buds" @@ -35401,209 +36532,6 @@ msgid "" "flower." msgstr "양귀비 싹. 변이된 양귀비 꽃에서 얻을 수 있는 물질이 조금 들어있다." -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "bluebell" -msgid_plural "bluebells" -msgstr[0] "블루벨" - -#. ~ Description for bluebell -#: lang/json/GENERIC_from_json.py -msgid "A bluebell stalk with some petals." -msgstr "꽃잎이 조금 달린 블루벨 줄기입니다." - -#: lang/json/GENERIC_from_json.py -msgid "bluebell bud" -msgid_plural "bluebell buds" -msgstr[0] "블루벨 봉오리" - -#. ~ Description for bluebell bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A bluebell bud. Contains some substances commonly produced by a bluebell " -"flower." -msgstr "블루벨 싹. 변이된 블루벨 꽃에서 얻을 수 있는 물질이 조금 들어있다." - -#. ~ Description for dahlia -#: lang/json/GENERIC_from_json.py -msgid "A dahlia stalk with some petals." -msgstr "꽃잎이 조금 달린 달리아 줄기입니다." - -#: lang/json/GENERIC_from_json.py -msgid "dahlia bud" -msgid_plural "dahlia buds" -msgstr[0] "달리아 봉오리" - -#. ~ Description for dahlia bud -#: lang/json/GENERIC_from_json.py -msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." -msgstr "달리아 싹. 변이된 달리아 꽃에서 얻을 수 있는 물질이 조금 들어있다." - -#. ~ Description for rose -#: lang/json/GENERIC_from_json.py -msgid "A rose stalk with some petals." -msgstr "꽃잎이 조금 달린 장미 줄기입니다." - -#: lang/json/GENERIC_from_json.py -msgid "rose bud" -msgid_plural "rose buds" -msgstr[0] "" - -#. ~ Description for rose bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A rose bud. Contains some substances commonly produced by a rose flower." -msgstr "장미꽃 봉오리. 장미꽃에 의해 일반적으로 생산되는 몇몇 물질들을 포함한다." - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea" -msgid_plural "hydrangeas" -msgstr[0] "" - -#. ~ Description for hydrangea -#: lang/json/GENERIC_from_json.py -msgid "A hydrangea stalk with some petals." -msgstr "수국 줄기와 조금의 꽃잎" - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea bud" -msgid_plural "hydrangea buds" -msgstr[0] "" - -#. ~ Description for hydrangea bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A hydrangea bud. Contains some substances commonly produced by a hydrangea " -"flower." -msgstr "수국 싹. 변이된 수국 꽃에서 얻을 수 있는 물질이 조금 들어있다." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "tulip" -msgid_plural "tulips" -msgstr[0] "튤립" - -#. ~ Description for tulip -#: lang/json/GENERIC_from_json.py -msgid "A tulip stalk with some petals." -msgstr "꽃잎이 조금 달린 튤립 줄기입니다." - -#: lang/json/GENERIC_from_json.py -msgid "tulip bud" -msgid_plural "tulip buds" -msgstr[0] "" - -#. ~ Description for tulip bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A tulip bud. Contains some substances commonly produced by a tulip flower." -msgstr "등대풀속 싹. 변이된 등대풀속 꽃에서 얻을 수 있는 물질이 조금 들어있다." - -#: lang/json/GENERIC_from_json.py -msgid "spurge" -msgid_plural "spurges" -msgstr[0] "" - -#. ~ Description for spurge -#: lang/json/GENERIC_from_json.py -msgid "A spurge stalk with some petals." -msgstr "꽃잎이 조금 달린 등대풀속 줄기입니다" - -#: lang/json/GENERIC_from_json.py -msgid "spurge bud" -msgid_plural "spurge buds" -msgstr[0] "" - -#. ~ Description for spurge bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A spurge bud. Contains some substances commonly produced by a spurge " -"flower." -msgstr "등대풀속 봉오리. 등대풀속 꽃에 의해 일반적으로 생산되는 몇몇 물질들을 포함한다." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "black eyed susan" -msgid_plural "black eyed susans" -msgstr[0] "" - -#. ~ Description for black eyed susan -#: lang/json/GENERIC_from_json.py -msgid "A black eyed susan stalk with some petals." -msgstr "꽃잎이 조금 달린 검은눈천인국 줄기입니다." - -#: lang/json/GENERIC_from_json.py -msgid "black eyed susan bud" -msgid_plural "black eyed susan buds" -msgstr[0] "" - -#. ~ Description for black eyed susan bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A black eyed susan bud. Contains some substances commonly produced by a " -"black eyed susan flower." -msgstr "루드베키아 싹. 변이된 루드베키아 꽃에서 얻을 수 있는 물질이 조금 들어있다." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lily" -msgid_plural "lilys" -msgstr[0] "백합" - -#. ~ Description for lily -#: lang/json/GENERIC_from_json.py -msgid "A lily stalk with some petals." -msgstr "꽃잎이 조금 달린 백합 줄기입니다." - -#: lang/json/GENERIC_from_json.py -msgid "lily bud" -msgid_plural "lily buds" -msgstr[0] "" - -#. ~ Description for lily bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lily bud. Contains some substances commonly produced by a lily flower." -msgstr "백합 싹. 변이된 백합 꽃에서 얻을 수 있는 물질이 조금 들어있다." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lotus" -msgid_plural "lotuss" -msgstr[0] "연꽃" - -#. ~ Description for lotus -#: lang/json/GENERIC_from_json.py -msgid "A lotus stalk with some petals." -msgstr "꽃잎이 조금 달린 연꽃 줄기입니다." - -#: lang/json/GENERIC_from_json.py -msgid "lotus bud" -msgid_plural "lotus buds" -msgstr[0] "" - -#. ~ Description for lotus bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lotus bud. Contains some substances commonly produced by a lotus flower." -msgstr "연꽃 싹. 변이된 연꽃에서 얻을 수 있는 물질이 조금 들어있다." - -#: lang/json/GENERIC_from_json.py -msgid "lilac" -msgid_plural "lilacs" -msgstr[0] "" - -#. ~ Description for lilac -#: lang/json/GENERIC_from_json.py -msgid "A lilac stalk with some petals." -msgstr "꽃잎이 조금 달린 라일락 줄기입니다." - -#: lang/json/GENERIC_from_json.py -msgid "lilac bud" -msgid_plural "lilac buds" -msgstr[0] "" - -#. ~ Description for lilac bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lilac bud. Contains some substances commonly produced by a lilac flower." -msgstr "라일락 싹. 변이된 라일락 꽃에서 얻을 수 있는 물질이 조금 들어있다." - #. ~ Description for sunflower #: lang/json/GENERIC_from_json.py msgid "" @@ -35612,11 +36540,12 @@ msgid "" msgstr "해바라기 윗부분은 노란색 페달과 아직 동물들에게 먹히지 않은 씨앗이 있다." #: lang/json/GENERIC_from_json.py -msgid "handful of chamomile flowers" -msgid_plural "handfuls of chamomile flowers" +msgid "chamomile flowers" +msgid_plural "chamomile flowers" msgstr[0] "" -#. ~ Description for handful of chamomile flowers +#. ~ Description for {'str': 'chamomile flowers', 'str_pl': 'chamomile +#. flowers'} #: lang/json/GENERIC_from_json.py msgid "" "White chamomile flowers, used as a herbal remedy since the ancient times." @@ -35873,12 +36802,14 @@ msgstr "20달러 정도의 돈뭉치지만, 지금 같은 상황에서는 쓸모 #. ~ Use action menu_text for cigar. #. ~ Use action menu_text for cigarette. #. ~ Use action menu_text for joint. +#. ~ Use action menu_text for spooky jack o'lantern. +#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for candle. #. ~ Use action menu_text for refillable lighter. #. ~ Use action menu_text for torch. -#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for ember carrier (lit). #. ~ Use action menu_text for Louisville Slaughterer. +#. ~ Use action menu_text for everburning torch. #: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py msgid "Extinguish" @@ -35925,10 +36856,8 @@ msgstr[0] "담배꽁초" #: lang/json/GENERIC_from_json.py msgid "" "What was once a wonderfully addictive tube of dried tobacco leaf is now just a smelly piece of trash. What a tragedy!\n" -"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far..." +"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far…" msgstr "" -"환상적인 중독성을 자랑하던 담배가 냄새나는 쓰레기로 변해버렸다. 이럴 수가!\n" -"남은 담뱃잎 중 일부는 다른 담배를 만드는데 쓸 수 있을 것 같다. 굳이 그렇게 하겠다면야..." #. ~ Use action msg for joint. #: lang/json/GENERIC_from_json.py @@ -35973,10 +36902,10 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "raw tobacco" -msgid_plural "handfuls of raw tobacco" +msgid_plural "raw tobacco" msgstr[0] "" -#. ~ Description for raw tobacco +#. ~ Description for {'str': 'raw tobacco', 'str_pl': 'raw tobacco'} #: lang/json/GENERIC_from_json.py msgid "" "Various parts of tobacco plant, full of nicotine. They need to be dried to " @@ -36026,11 +36955,6 @@ msgid "" "panel, if you can find one." msgstr "" -#: lang/json/GENERIC_from_json.py -msgid "neoprene sheet" -msgid_plural "neoprene sheets" -msgstr[0] "네오프렌 천" - #. ~ Description for neoprene sheet #: lang/json/GENERIC_from_json.py msgid "" @@ -36975,6 +37899,231 @@ msgid "note" msgid_plural "notes" msgstr[0] "" +#: lang/json/GENERIC_from_json.py +msgid "leaf spring" +msgid_plural "leaf springs" +msgstr[0] "판 용수철" + +#. ~ Description for leaf spring +#: lang/json/GENERIC_from_json.py +msgid "" +"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" +" an awful lot like a bow. You can barely bend it…" +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea" +msgid_plural "hydrangeas" +msgstr[0] "" + +#. ~ Description for hydrangea +#: lang/json/GENERIC_from_json.py +msgid "A hydrangea stalk with some petals." +msgstr "수국 줄기와 조금의 꽃잎" + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea bud" +msgid_plural "hydrangea buds" +msgstr[0] "" + +#. ~ Description for hydrangea bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A hydrangea bud. Contains some substances commonly produced by a hydrangea " +"flower." +msgstr "수국 싹. 변이된 수국 꽃에서 얻을 수 있는 물질이 조금 들어있다." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "tulip" +msgid_plural "tulips" +msgstr[0] "튤립" + +#. ~ Description for tulip +#: lang/json/GENERIC_from_json.py +msgid "A tulip stalk with some petals." +msgstr "꽃잎이 조금 달린 튤립 줄기입니다." + +#: lang/json/GENERIC_from_json.py +msgid "tulip bud" +msgid_plural "tulip buds" +msgstr[0] "" + +#. ~ Description for tulip bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A tulip bud. Contains some substances commonly produced by a tulip flower." +msgstr "등대풀속 싹. 변이된 등대풀속 꽃에서 얻을 수 있는 물질이 조금 들어있다." + +#: lang/json/GENERIC_from_json.py +msgid "spurge" +msgid_plural "spurges" +msgstr[0] "" + +#. ~ Description for spurge +#: lang/json/GENERIC_from_json.py +msgid "A spurge stalk with some petals." +msgstr "꽃잎이 조금 달린 등대풀속 줄기입니다" + +#: lang/json/GENERIC_from_json.py +msgid "spurge bud" +msgid_plural "spurge buds" +msgstr[0] "" + +#. ~ Description for spurge bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A spurge bud. Contains some substances commonly produced by a spurge " +"flower." +msgstr "등대풀속 봉오리. 등대풀속 꽃에 의해 일반적으로 생산되는 몇몇 물질들을 포함한다." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "black eyed susan" +msgid_plural "black eyed susans" +msgstr[0] "" + +#. ~ Description for black eyed susan +#: lang/json/GENERIC_from_json.py +msgid "A black eyed susan stalk with some petals." +msgstr "꽃잎이 조금 달린 검은눈천인국 줄기입니다." + +#: lang/json/GENERIC_from_json.py +msgid "black eyed susan bud" +msgid_plural "black eyed susan buds" +msgstr[0] "" + +#. ~ Description for black eyed susan bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A black eyed susan bud. Contains some substances commonly produced by a " +"black eyed susan flower." +msgstr "루드베키아 싹. 변이된 루드베키아 꽃에서 얻을 수 있는 물질이 조금 들어있다." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lily" +msgid_plural "lilys" +msgstr[0] "백합" + +#. ~ Description for lily +#: lang/json/GENERIC_from_json.py +msgid "A lily stalk with some petals." +msgstr "꽃잎이 조금 달린 백합 줄기입니다." + +#: lang/json/GENERIC_from_json.py +msgid "lily bud" +msgid_plural "lily buds" +msgstr[0] "" + +#. ~ Description for lily bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lily bud. Contains some substances commonly produced by a lily flower." +msgstr "백합 싹. 변이된 백합 꽃에서 얻을 수 있는 물질이 조금 들어있다." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lotus" +msgid_plural "lotuss" +msgstr[0] "연꽃" + +#. ~ Description for lotus +#: lang/json/GENERIC_from_json.py +msgid "A lotus stalk with some petals." +msgstr "꽃잎이 조금 달린 연꽃 줄기입니다." + +#: lang/json/GENERIC_from_json.py +msgid "lotus bud" +msgid_plural "lotus buds" +msgstr[0] "" + +#. ~ Description for lotus bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lotus bud. Contains some substances commonly produced by a lotus flower." +msgstr "연꽃 싹. 변이된 연꽃에서 얻을 수 있는 물질이 조금 들어있다." + +#: lang/json/GENERIC_from_json.py +msgid "lilac" +msgid_plural "lilacs" +msgstr[0] "" + +#. ~ Description for lilac +#: lang/json/GENERIC_from_json.py +msgid "A lilac stalk with some petals." +msgstr "꽃잎이 조금 달린 라일락 줄기입니다." + +#: lang/json/GENERIC_from_json.py +msgid "lilac bud" +msgid_plural "lilac buds" +msgstr[0] "" + +#. ~ Description for lilac bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lilac bud. Contains some substances commonly produced by a lilac flower." +msgstr "라일락 싹. 변이된 라일락 꽃에서 얻을 수 있는 물질이 조금 들어있다." + +#: lang/json/GENERIC_from_json.py +msgid "rose bud" +msgid_plural "rose buds" +msgstr[0] "" + +#. ~ Description for rose bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A rose bud. Contains some substances commonly produced by a rose flower." +msgstr "장미꽃 봉오리. 장미꽃에 의해 일반적으로 생산되는 몇몇 물질들을 포함한다." + +#: lang/json/GENERIC_from_json.py +msgid "dahlia bud" +msgid_plural "dahlia buds" +msgstr[0] "달리아 봉오리" + +#. ~ Description for dahlia bud +#: lang/json/GENERIC_from_json.py +msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." +msgstr "달리아 싹. 변이된 달리아 꽃에서 얻을 수 있는 물질이 조금 들어있다." + +#. ~ Description for rose +#: lang/json/GENERIC_from_json.py +msgid "A rose stalk with some petals." +msgstr "꽃잎이 조금 달린 장미 줄기입니다." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "bluebell" +msgid_plural "bluebells" +msgstr[0] "블루벨" + +#. ~ Description for bluebell +#: lang/json/GENERIC_from_json.py +msgid "A bluebell stalk with some petals." +msgstr "꽃잎이 조금 달린 블루벨 줄기입니다." + +#. ~ Description for dahlia +#: lang/json/GENERIC_from_json.py +msgid "A dahlia stalk with some petals." +msgstr "꽃잎이 조금 달린 달리아 줄기입니다." + +#: lang/json/GENERIC_from_json.py +msgid "poppy flower" +msgid_plural "poppy flowers" +msgstr[0] "양귀비 꽃" + +#. ~ Description for poppy flower +#: lang/json/GENERIC_from_json.py +msgid "A poppy stalk with some petals." +msgstr "꽃잎이 조금 달린 양귀비 줄기입니다." + +#: lang/json/GENERIC_from_json.py +msgid "bluebell bud" +msgid_plural "bluebell buds" +msgstr[0] "블루벨 봉오리" + +#. ~ Description for bluebell bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A bluebell bud. Contains some substances commonly produced by a bluebell " +"flower." +msgstr "블루벨 싹. 변이된 블루벨 꽃에서 얻을 수 있는 물질이 조금 들어있다." + #: lang/json/GENERIC_from_json.py msgid "module template" msgid_plural "module templates" @@ -37359,7 +38508,7 @@ msgstr[0] "방사능 커피 제조기" #: lang/json/GENERIC_from_json.py msgid "" "This is a Curie-G coffeemaker, by CuppaTech. It famously uses a radioactive" -" generator to heat water for coffee. Normally the water is heated using " +" generator to heat water for coffee. Normally the water is heated using " "energy stored in a capacitor, and makes ordinary coffee. However, as a " "special feature, water from the RTG containment area can be used, giving the" " coffee a very special kick. The Curie-G is illegal in most countries." @@ -37373,7 +38522,9 @@ msgstr[0] "원자력 스탠드" #. ~ Use action menu_text for atomic lamp. #. ~ Use action menu_text for atomic reading light. #. ~ Use action menu_text for magical reading light. -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp. +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Close cover" msgstr "덮개 닫기" @@ -37400,7 +38551,9 @@ msgstr[0] "원자력 스탠드 (덮임)" #. ~ Use action menu_text for atomic lamp (covered). #. ~ Use action menu_text for atomic reading light (covered). #. ~ Use action menu_text for magical reading light (covered). -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp (covered). +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Open cover" msgstr "덮개 열기" @@ -37422,7 +38575,7 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "atomic reading light" msgid_plural "atomic reading lights" -msgstr[0] "" +msgstr[0] "원자력 독서용 램프" #. ~ Use action msg for atomic reading light. #. ~ Use action msg for magical reading light. @@ -37443,7 +38596,7 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "atomic reading light (covered)" msgid_plural "atomic reading lights (covered)" -msgstr[0] "" +msgstr[0] "원자력 독서용 램프 (덮임)" #. ~ Use action msg for atomic reading light (covered). #. ~ Use action msg for magical reading light (covered). @@ -37668,8 +38821,8 @@ msgstr[0] "갈고리" #: lang/json/GENERIC_from_json.py msgid "" "A folding grappling hook attached to a stout 30-foot long piece of " -"lightweight cord. Useful for keeping yourself safe from falls. Can be used " -"in place of a long rope for butchering, in a pinch." +"lightweight cord. Useful for keeping yourself safe from falls. Can be used" +" in place of a long rope for butchering, in a pinch." msgstr "" #: lang/json/GENERIC_from_json.py @@ -38478,12 +39631,11 @@ msgstr[0] "" #. ~ Description for Beautiful Springtime #: lang/json/GENERIC_from_json.py -msgid "" -"A complete guide to Wing Chun Kung-fu. Includes a section on butterfly " -"swords and the use of long poles at the end." +msgid "A complete guide to Wing Chun Kung-fu." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/martial_art_from_json.py +#: lang/json/martial_art_from_json.py msgid "Fior Di Battaglia" msgid_plural "Fior Di Battaglia" msgstr[0] "" @@ -38492,8 +39644,8 @@ msgstr[0] "" #: lang/json/GENERIC_from_json.py msgid "" "A completely translated medieval guide teaching various techniques with " -"polearms, there is a chapter about the many variations of common polearms..." -" there are even pictures!" +"polearms, there is a chapter about the many variations of common polearms… " +"there are even pictures!" msgstr "" #: lang/json/GENERIC_from_json.py @@ -39503,6 +40655,19 @@ msgstr[0] "" msgid "This is a slip of paper signed by the issuer." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "icon" +msgid_plural "icons" +msgstr[0] "" + +#. ~ Description for icon +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a small picture, about the same size as an ID card, symbolizing a " +"religious figure. On the back, there is a text that faintly reads 'New " +"England Church Community'." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "generic silverware" msgid_plural "generic silverwares" @@ -39827,9 +40992,9 @@ msgstr[0] "포크" #. ~ Description for fork #: lang/json/GENERIC_from_json.py msgid "" -"A fork, if you stab something with it you eat it right away. Wait... " +"A fork, if you stab something with it you eat it right away. Wait… " "nevermind." -msgstr "포크다. 뭔가를 찌르면 바로 입으로 가져가야... 잠깐, 그러면 안 될 것 같다." +msgstr "" #: lang/json/GENERIC_from_json.py msgid "plastic fork" @@ -40908,18 +42073,12 @@ msgstr[0] "묠니르" #: lang/json/GENERIC_from_json.py msgid "" "A large hammer, forged from the heart of a dying star. It bears the inscription:\n" -" \n" +"\n" "Whosoever holds this hammer,\n" "If he be worthy,\n" -"Shall possess the power to...\n" +"Shall possess the power to…\n" "CRUSH!'" msgstr "" -"죽은 별의 심장을 제련해 만들 거대한 망치. 다음과 같은 문자가 쓰여있다.\n" -" \n" -"자격을 갖춘 자만이\n" -"이 해머를 통해\n" -"힘을 얻을 것이다...\n" -"쿠콰쾅!" #: lang/json/GENERIC_from_json.py msgid "lucerne hammer" @@ -41334,8 +42493,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "" "This is a thin thrusting sword, a sort of predecessor to the rapier. It " -"requires a larger baldric or scabbard, compared to smaller swords. It seems " -"a bit too bendy." +"requires a larger baldric or scabbard, compared to smaller swords. It seems" +" a bit too bendy." msgstr "" #. ~ Description for estoc @@ -41430,19 +42589,17 @@ msgstr "" "무기로 사용하기에 부적합하다." #: lang/json/GENERIC_from_json.py -msgid "fencing epee" -msgid_plural "fencing epees" -msgstr[0] "펜싱용 에페" +msgid "fencing épée" +msgid_plural "fencing épées" +msgstr[0] "" -#. ~ Description for fencing epee +#. ~ Description for fencing épée #: lang/json/GENERIC_from_json.py msgid "" -"A weapon used for fencing, the most noble of all sports. The epee is the " +"A weapon used for fencing, the most noble of all sports. The épée is the " "heaviest and stiffest of the fencing weapons, and therefore perhaps the most" " useful." msgstr "" -"모든 스포츠 중에서 가장 귀족적인 스포츠인 펜싱에 사용되는 무기. 에페는 펜싱용 무기 중에서 가장 무겁고 잘 휘어지지 않아서 무기로 " -"사용하기에 적합하다." #: lang/json/GENERIC_from_json.py msgid "fencing saber" @@ -41453,10 +42610,50 @@ msgstr[0] "펜싱용 사브르" #: lang/json/GENERIC_from_json.py msgid "" "A weapon used for fencing, the most noble of all sports. The fencing saber " -"is marginally shorter than the foil and epee, but no less effective." +"is marginally shorter than the foil and épée, but no less effective." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened foil" +msgid_plural "sharpened foils" +msgstr[0] "" + +#. ~ Description for sharpened foil +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing foil has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now somewhat more lethal, yet still familiar to" +" the practiced fencer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened épée" +msgid_plural "sharpened épées" +msgstr[0] "" + +#. ~ Description for sharpened épée +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing épée has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now considerably more lethal, yet still " +"familiar to the practiced fencer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened saber" +msgid_plural "sharpened sabers" +msgstr[0] "" + +#. ~ Description for sharpened saber +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing saber has had its rounded tip snapped off " +"and has been crudely sharpened to a point. Though it still lacks a cutting " +"edge, it is now considerably more lethal, yet still familiar to the " +"practiced fencer." msgstr "" -"모든 스포츠 중에서 가장 귀족적인 스포츠인 펜싱에 사용되는 무기. 펜싱용 사브르는 플뢰레와 에페에 비해 조금 짧긴 하기만, 그렇다고 해서" -" 심하게 효율이 떨어지지는 않는다." #: lang/json/GENERIC_from_json.py msgid "hollow cane" @@ -41660,6 +42857,16 @@ msgid "" "door." msgstr "문에 설치하도록 만든 금속 원통. 내부에 작은 렌즈가 들어있다." +#: lang/json/GENERIC_from_json.py +msgid "mesh screen" +msgid_plural "mesh screens" +msgstr[0] "" + +#. ~ Description for mesh screen +#: lang/json/GENERIC_from_json.py +msgid "A roll of fine mesh screen for bug barriers on porches." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "pipe" msgid_plural "pipes" @@ -41705,10 +42912,8 @@ msgstr[0] "알루미늄 주괴" msgid "" "A small aluminum ingot, standardized for further processing. Light but " "durable, this could be cast into various shapes for construction or ground " -"down to a powder, for more... high-profile applications." +"down to a powder, for more… high-profile applications." msgstr "" -"가공의 용이성을 위해 표준규격화한 작은 알루미늄 주괴. 가볍지만 튼튼하며, 건설 작업에 쓸 수 있도록 다른 형태로 주조하거나 갈아서 " -"가루로 만들 수도 있으며 여타 다른 용도로도 사용된다." #: lang/json/GENERIC_from_json.py msgid "scrap copper" @@ -41731,11 +42936,11 @@ msgid "This is a single, or twin, sized mattress." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "down_mattress" -msgid_plural "down_mattresses" +msgid "down mattress" +msgid_plural "down mattresses" msgstr[0] "" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/GENERIC_from_json.py msgid "This is a single, or twin, sized down filled mattress." msgstr "" @@ -42009,6 +43214,43 @@ msgid "" " can also serve as an improvised stabbing weapon, but will break quickly." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "frame loom" +msgid_plural "frame looms" +msgstr[0] "" + +#. ~ Description for frame loom +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a rather bulky and primitive wooden frame which can be used to weave" +" cloth sheets. It is very slow, though." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "wooden shed stick" +msgid_plural "wooden shed sticks" +msgstr[0] "" + +#. ~ Description for wooden shed stick +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a short thin flat wooden stick, used as a tool while weaving cloth " +"with a frame loom." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "tailoring pattern set" +msgid_plural "tailoring pattern sets" +msgstr[0] "" + +#. ~ Description for tailoring pattern set +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a large set of tailoring patterns made from paper. They're useful " +"for making any kind of cloth or leather items from scratch, but are " +"necessary for more advanced projects." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "vehicle alternator" msgid_plural "vehicle alternators" @@ -42322,6 +43564,19 @@ msgstr "" "서보 모터와 미세 조종장치, 그밖의 장치들을 합쳐서 무인 차량을 운전할 수 있게 만든 세트이다. AI가 작동하지 않는 상태이지만 일종의 " "유지보수 모드가 있다." +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "turret control unit" +msgid_plural "turret control units" +msgstr[0] "" + +#. ~ Description for turret control unit +#: lang/json/GENERIC_from_json.py +msgid "" +"A set of motor, camera, and various electronic modules banded together to " +"allow for tracking targets, friend-or-foe identification, and firing the " +"connected turret in full automatic mode." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "massive engine block" msgid_plural "massive engine blocks" @@ -43282,6 +44537,18 @@ msgstr[0] "세탁기" msgid "A very small washing machine designed for use in vehicles." msgstr "차량 안에서 사용할 수 있게 고안된 작은 세탁기입니다." +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "programmable autopilot" +msgid_plural "programmable autopilots" +msgstr[0] "" + +#. ~ Description for programmable autopilot +#: lang/json/GENERIC_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of a vehicle to allow" +" it to follow simple paths." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "mountable autoclave" msgid_plural "mountable autoclaves" @@ -43345,7 +44612,7 @@ msgstr[0] "" #. ~ Description for medium wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." +"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py @@ -43356,8 +44623,8 @@ msgstr[0] "" #. ~ Description for heavy wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A heavy metal assembly that allows bolting a wheel on a car. Fit for a large" -" car wheel." +"A heavy metal assembly that allows bolting a wheel on a car. Fit for a " +"large car wheel." msgstr "" #: lang/json/GENERIC_from_json.py @@ -44413,6 +45680,26 @@ msgid "" "art." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "The Iron Whip" +msgid_plural "The Iron Whips" +msgstr[0] "" + +#. ~ Use action msg for The Iron Whip. +#: lang/json/GENERIC_from_json.py +msgid "" +"You loop the whip in your hand and it coils back into a belt form in an " +"instant." +msgstr "" + +#. ~ Description for The Iron Whip +#: lang/json/GENERIC_from_json.py +msgid "" +"A long braided flexible steel bullwhip that narrows into a sharp blade at " +"the end. Easily capable of slicing and dicing anything that comes at you. " +"It transforms back into a belt." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "cudgel +1" msgid_plural "cudgel +1s" @@ -44833,6 +46120,344 @@ msgid "dao +2" msgid_plural "dao +2s" msgstr[0] "" +#: lang/json/GENERIC_from_json.py +msgid "Biomancer spear" +msgid_plural "Biomancer spears" +msgstr[0] "" + +#. ~ Description for Biomancer spear +#: lang/json/GENERIC_from_json.py +msgid "" +"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer " +"rune embedded at the base of the head." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Technomancer toolbar" +msgid_plural "Technomancer toolbars" +msgstr[0] "" + +#. ~ Description for Technomancer toolbar +#: lang/json/GENERIC_from_json.py +msgid "" +"This staff incorporates a sturdy cresent wrench on top of a prybar and a " +"hammer on the other in a convienent package. There is a Technomancer rune " +"embedded in the hammerhead." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Magus staff" +msgid_plural "Magus staves" +msgstr[0] "" + +#. ~ Description for {'str': 'Magus staff', 'str_pl': 'Magus staves'} +#: lang/json/GENERIC_from_json.py +msgid "" +"A quarterstaff with runes carved into it and two glass jars, heat-tempered " +"and infused with mana for durability, to act as mana receptacles. There are" +" two Magi runes embedded at the tips." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Kelvinist flamberge" +msgid_plural "Kelvinist flamberges" +msgstr[0] "" + +#. ~ Description for Kelvinist flamberge +#: lang/json/GENERIC_from_json.py +msgid "" +"A sword with an undulating blade, reminiscent of a flame. There is a " +"Kelvinist rune embedded in the pommel." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Stormshaper axe" +msgid_plural "Stormshaper axes" +msgstr[0] "" + +#. ~ Description for Stormshaper axe +#: lang/json/GENERIC_from_json.py +msgid "" +"A forged copper axe with silver trimmings and a wooden handle. There is a " +"Stormshaper rune embedded in the eye." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Animist athame" +msgid_plural "Animist athames" +msgstr[0] "" + +#. ~ Description for Animist athame +#: lang/json/GENERIC_from_json.py +msgid "" +"A steel ritual knife used by Animists to draw blood for summoning. Their " +"school rune is embedded in the crossguard." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "springstaff(baton)" +msgid_plural "springstaves(baton)" +msgstr[0] "" + +#. ~ Use action menu_text for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "Extend to staff" +msgstr "" + +#. ~ Use action msg for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "You snap open your springstaff into staff mode." +msgstr "" + +#. ~ Description for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips retracted while in baton configuration. Activate to extend." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "springstaff(staff)" +msgid_plural "springstaves(staff)" +msgstr[0] "" + +#. ~ Use action menu_text for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "Retract to baton" +msgstr "" + +#. ~ Use action msg for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "You collapse your springstaff into baton mode." +msgstr "" + +#. ~ Description for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips from retracting while in staff configuration. Activate to extend." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magic token" +msgid_plural "magic tokens" +msgstr[0] "" + +#: lang/json/GENERIC_from_json.py +msgid "longsword token" +msgid_plural "longsword tokens" +msgstr[0] "" + +#. ~ Use action msg for longsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine longsword!" +msgstr "" + +#. ~ Description for longsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a longsword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "arming sword token" +msgid_plural "arming sword tokens" +msgstr[0] "" + +#. ~ Use action msg for arming sword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine arming sword!" +msgstr "" + +#. ~ Description for arming sword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case an arming sword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "broadsword token" +msgid_plural "broadsword tokens" +msgstr[0] "" + +#. ~ Use action msg for broadsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine broadsword!" +msgstr "" + +#. ~ Description for broadsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a broadsword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "battleaxe token" +msgid_plural "battleaxe tokens" +msgstr[0] "" + +#. ~ Use action msg for battleaxe token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine battle axe!" +msgstr "" + +#. ~ Description for battleaxe token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a battle axe." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "pike token" +msgid_plural "pike tokens" +msgstr[0] "" + +#. ~ Use action msg for pike token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine pike!" +msgstr "" + +#. ~ Description for pike token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a pike." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "mace token" +msgid_plural "mace tokens" +msgstr[0] "" + +#. ~ Use action msg for mace token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine mace!" +msgstr "" + +#. ~ Description for mace token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a mace." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "quarterstaff token" +msgid_plural "quarterstaff tokens" +msgstr[0] "" + +#. ~ Use action msg for quarterstaff token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a pristine quarterstaff!" +msgstr "" + +#. ~ Description for quarterstaff token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a quarterstaff." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "hammer token" +msgid_plural "hammer tokens" +msgstr[0] "" + +#. ~ Use action msg for hammer token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine hammer!" +msgstr "" + +#. ~ Description for hammer token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a hammer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "screwdriver set token" +msgid_plural "screwdriver set tokens" +msgstr[0] "" + +#. ~ Use action msg for screwdriver set token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine screwdriver set!" +msgstr "" + +#. ~ Description for screwdriver set token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a screwdriver." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "toolbox token" +msgid_plural "toolbox tokens" +msgstr[0] "" + +#. ~ Use action msg for toolbox token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine toolbox!" +msgstr "" + +#. ~ Description for toolbox token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a toolbox." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "crowbar token" +msgid_plural "crowbar tokens" +msgstr[0] "" + +#. ~ Use action msg for crowbar token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine crowbar!" +msgstr "" + +#. ~ Description for crowbar token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a crowbar." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "cestus +1" msgid_plural "cestus +1s" @@ -44878,6 +46503,20 @@ msgid "" "to land astoundingly powerful blows." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "Earthshaper cestus" +msgid_plural "Earthshaper cesti" +msgstr[0] "" + +#. ~ Description for {'str': 'Earthshaper cestus', 'str_pl': 'Earthshaper +#. cesti'} +#: lang/json/GENERIC_from_json.py +msgid "" +"A stone battle glove with carved runes encasing the hand, protecting it " +"while increasing striking power. There is an Earthshaper rune embedded in " +"the palm." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "stone shell" msgid_plural "stone shells" @@ -44954,6 +46593,18 @@ msgid "" "prized for their beauty and power." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "stirge proboscis" +msgid_plural "stirge proboscises" +msgstr[0] "" + +#. ~ Description for stirge proboscis +#: lang/json/GENERIC_from_json.py +msgid "" +"A long sucking apparatus harvested from stirge corpse. Makes a poor melee " +"weapon." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "black dragon scale" msgid_plural "black dragon scales" @@ -44979,148 +46630,118 @@ msgid "" msgstr "" #: lang/json/GENERIC_from_json.py -msgid "Biomancer spear" -msgid_plural "Biomancer spears" +msgid "lesser staff of the magi" +msgid_plural "lesser staves of the magi" msgstr[0] "" -#. ~ Description for Biomancer spear +#. ~ Description for lesser staff of the magi #: lang/json/GENERIC_from_json.py msgid "" -"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer rune" -" embedded at the base of the head." +"A beautifully carved staff, made of enchanted wood and mithril. It faintly " +"glows with magic when you cast spells, but it is not a sturdy melee weapon." msgstr "" #: lang/json/GENERIC_from_json.py -msgid "Technomancer toolbar" -msgid_plural "Technomancer toolbars" +msgid "fireball hammer" +msgid_plural "fireball hammers" msgstr[0] "" -#. ~ Description for Technomancer toolbar +#. ~ Description for fireball hammer #: lang/json/GENERIC_from_json.py -msgid "" -"This staff incorporates a sturdy cresent wrench on top of a prybar and a " -"hammer on the other in a convienent package. There is a Technomancer rune " -"embedded in the hammerhead." +msgid "Use with caution! Flammable! Explosive!" msgstr "" #: lang/json/GENERIC_from_json.py -msgid "Magus staff" -msgid_plural "Magus staffs" +msgid "The Stormhammer" +msgid_plural "The Stormhammers" msgstr[0] "" -#. ~ Description for Magus staff +#. ~ Description for The Stormhammer #: lang/json/GENERIC_from_json.py msgid "" -"A quarterstaff with runes carved into it and two glass jars, heat-tempered " -"and infused with mana for durability, to act as mana receptacles. There are " -"two Magi runes embedded at the tips." +"A crackling magical warhammer full of lightning to smite your foes with, and" +" of course, smash things to bits!" msgstr "" -#: lang/json/GENERIC_from_json.py -msgid "Earthshaper cestus" -msgid_plural "Earthshaper cesti" +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "Stormfist" +msgid_plural "Stormfists" msgstr[0] "" -#. ~ Description for Earthshaper cestus -#: lang/json/GENERIC_from_json.py +#. ~ Description for Stormfist +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" -"A stone battle glove with carved runes encasing the hand, protecting it " -"while increasing striking power. There is an Earthshaper rune embedded in " -"the palm." +"Encases your arm and hand in a sheath of crackling magical lightning, you " +"can punch and defend yourself with it in melee combat." msgstr "" #: lang/json/GENERIC_from_json.py -msgid "Kelvinist flamberge" -msgid_plural "Kelvinist flamberges" +msgid "vicious tentacle whip" +msgid_plural "vicious tentacle whips" msgstr[0] "" -#. ~ Description for Kelvinist flamberge +#. ~ Description for vicious tentacle whip #: lang/json/GENERIC_from_json.py msgid "" -"A sword with an undulating blade, reminiscent of a flame. There is a " -"Kelvinist rune embedded in the pommel." +"A long, writhing, tentacle covered in sharp bonelike blades and spikey " +"protrusions." msgstr "" #: lang/json/GENERIC_from_json.py -msgid "Stormshaper axe" -msgid_plural "Stormshaper axes" +msgid "Wicked Bonespear" +msgid_plural "Wicked Bonespears" msgstr[0] "" -#. ~ Description for Stormshaper axe +#. ~ Description for Wicked Bonespear #: lang/json/GENERIC_from_json.py -msgid "" -"A forged copper axe with silver trimmings and a wooden handle. There is a " -"Stormshaper rune embedded in the eye." +msgid "This is a wicked spear/halberd hybrid entirely created of bone." msgstr "" -#: lang/json/GENERIC_from_json.py -msgid "Animist athame" -msgid_plural "Animist athames" -msgstr[0] "" - -#. ~ Description for Animist athame +#. ~ Description for Mjölnir #: lang/json/GENERIC_from_json.py msgid "" -"A steel ritual knife used by Animists to draw blood for summoning. Their " -"school rune is embedded in the crossguard." +"Mjölnir, the legendary hammer of Thor. It is rumored to be able to level " +"mountains with a single blow. You feel the power of Asgard coursing through" +" the hammer." msgstr "" #: lang/json/GENERIC_from_json.py -msgid "lesser staff of the magi" -msgid_plural "lesser staves of the magi" -msgstr[0] "" +msgid "Gungnir" +msgid_plural "Gungnirs" +msgstr[0] "궁니르" -#. ~ Description for lesser staff of the magi +#. ~ Description for Gungnir #: lang/json/GENERIC_from_json.py msgid "" -"A beautifully carved staff, made of enchanted wood and mithril. It faintly " -"glows with magic when you cast spells, but it is not a sturdy melee weapon." +"Gungnir, the spear of Odin. It is rumored to be the perfect spear, " +"perfectly hitting any target regardless of the wielder's strength or skill." +" If feels like Odin's protecting you." msgstr "" #: lang/json/GENERIC_from_json.py -msgid "The Stormhammer" -msgid_plural "The Stormhammers" +msgid "Gram" +msgid_plural "Grams" msgstr[0] "" -#. ~ Description for The Stormhammer +#. ~ Description for Gram #: lang/json/GENERIC_from_json.py msgid "" -"A crackling magical warhammer full of lightning to smite your foes with, and" -" of course, smash things to bits!" -msgstr "" - -#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py -msgid "Stormfist" -msgid_plural "Stormfists" -msgstr[0] "" - -#. ~ Description for Stormfist -#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py -msgid "" -"Encases your arm and hand in a sheath of crackling magical lightning, you " -"can punch and defend yourself with it in melee combat." +"Gram, the sword of Sigurd. It is rumored to be the sword that slayed the " +"legendary dragon, Fafnir. Once said to have cleaved Regin's anvil in half, " +"the edge is impeccable." msgstr "" -#: lang/json/GENERIC_from_json.py -msgid "vicious tentacle whip" -msgid_plural "vicious tentacle whips" -msgstr[0] "" +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py +msgid "Laevateinn" +msgid_plural "Laevateinns" +msgstr[0] "레바테인" -#. ~ Description for vicious tentacle whip +#. ~ Description for Laevateinn #: lang/json/GENERIC_from_json.py msgid "" -"A long, writhing, tentacle covered in sharp bonelike blades and spikey " -"protrusions." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "Wicked Bonespear" -msgid_plural "Wicked Bonespears" -msgstr[0] "" - -#. ~ Description for Wicked Bonespear -#: lang/json/GENERIC_from_json.py -msgid "This is a wicked spear/halberd hybrid entirely created of bone." +"Laevateinn, the staff of Loki. Said to have been plucked from the gates of " +"Hel by Loki. Imbued with a mysterious magic, the magic of the trickster god" +" himself." msgstr "" #: lang/json/GENERIC_from_json.py @@ -45349,8 +46970,8 @@ msgstr[0] "" #. ~ Description for Blinding Flash #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" -"Blind enemies for a short time with a sudden, dazzling light. Higher levels " -"deal slightly higher damage." +"Blind enemies for a short time with a sudden, dazzling light. Higher levels" +" deal slightly higher damage." msgstr "" #: lang/json/GENERIC_from_json.py @@ -45363,7 +46984,7 @@ msgstr[0] "" #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" "A mass of spectral hands emerge from the ground, slowing everything in " -"range. Higher levels allow a bigger AoE, and longer effect." +"range. Higher levels allow a bigger AoE, and longer effect." msgstr "" #: lang/json/GENERIC_from_json.py @@ -46072,8 +47693,46 @@ msgstr[0] "" #. ~ Description for Scroll of Purification Seed #: lang/json/GENERIC_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Greater levels yield" -" greater numbers of seeds." +"You summon a gift of the earth which will purify water. Greater levels " +"yield greater numbers of seeds." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of X-ray Vision" +msgid_plural "Scroll of X-ray Visions" +msgstr[0] "" + +#. ~ Description for Scroll of X-ray Vision +#. ~ Description for X-ray Vision +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You fire a cone of X-rays that magically allow you to see that area for a " +"short time." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Clairvoyance" +msgid_plural "Scroll of Clairvoyances" +msgstr[0] "" + +#. ~ Description for Scroll of Clairvoyance +#. ~ Description for Clairvoyance +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "You close your eyes and the earth surrenders its secrets to you." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Lava Bomb" +msgid_plural "Scroll of Lava Bombs" +msgstr[0] "" + +#. ~ Description for Scroll of Lava Bomb +#. ~ Description for Lava Bomb +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You tear up the ground beneath you to fire a lava bomb: a globe of lava " +"surrounded by hot, solid rock. It shatters upon impact, spraying shards of " +"rock and lava everywhere." msgstr "" #: lang/json/GENERIC_from_json.py @@ -46883,11 +48542,6 @@ msgid "" "ornaments." msgstr "토르의 망치인 묠니르의 복제품이다. 한대 치면 산도 평평해진다는 소문이 있다. 금과 은으로 장식되어 있다." -#: lang/json/GENERIC_from_json.py -msgid "Gungnir" -msgid_plural "Gungnirs" -msgstr[0] "궁니르" - #. ~ Description for Gungnir #: lang/json/GENERIC_from_json.py msgid "" @@ -47451,7 +49105,7 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "broken atomic sultan" msgid_plural "broken atomic sultans" -msgstr[0] "" +msgstr[0] "고장난 원자력 술탄" #. ~ Description for AI core #: lang/json/GENERIC_from_json.py @@ -47781,6 +49435,298 @@ msgstr "아티팩트" msgid "ARMOR" msgstr "보호구" +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "ITEMS WORN" +msgstr "장비 물품" + +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "WEAPON HELD" +msgstr "장비 무기" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Unsorted" +msgstr "" + +#. ~ Description for Loot: Unsorted +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " +"sort items inside. It can overlap with Loot zones of different types." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Food" +msgstr "" + +#. ~ Description for Loot: Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for comestibles. If more specific food zone is not defined, all" +" food is moved here." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Food" +msgstr "" + +#. ~ Description for Loot: P.Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for perishable comestibles. Does include perishable drinks if " +"such zone is not specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drink" +msgstr "" + +#. ~ Description for Loot: Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for drinks. Does include perishable drinks if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Drink" +msgstr "" + +#. ~ Description for Loot: P.Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for perishable drinks." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Guns" +msgstr "" + +#. ~ Description for Loot: Guns +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for guns, bows and similar wearpons." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Magazines" +msgstr "" + +#. ~ Description for Loot: Magazines +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for gun magazines." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ammo" +msgstr "" + +#. ~ Description for Loot: Ammo +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for ammo." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Weapons" +msgstr "" + +#. ~ Description for Loot: Weapons +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for melee weapons." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Tools" +msgstr "" + +#. ~ Description for Loot: Tools +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for tools." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Clothing" +msgstr "" + +#. ~ Description for Loot: Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for clothing. Does include filthy clothing if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Clothing" +msgstr "" + +#. ~ Description for Loot: F.Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy clothing." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drugs" +msgstr "" + +#. ~ Description for Loot: Drugs +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for drugs and other medical items." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Books" +msgstr "" + +#. ~ Description for Loot: Books +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for books and magazines." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mods" +msgstr "" + +#. ~ Description for Loot: Mods +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firearm modifications and similar items." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mutagens" +msgstr "" + +#. ~ Description for Loot: Mutagens +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for mutagens, serums, and purifiers." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Bionics" +msgstr "" + +#. ~ Description for Loot: Bionics +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for Compact Bionics Modules, a.k.a. CBMS." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: V.Parts" +msgstr "" + +#. ~ Description for Loot: V.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for vehicle parts." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Other" +msgstr "" + +#. ~ Description for Loot: Other +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for other miscellaneous items." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Fuel" +msgstr "" + +#. ~ Description for Loot: Fuel +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for gasoline, diesel, lamp oil and other substances used as a " +"fuel." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Seeds" +msgstr "" + +#. ~ Description for Loot: Seeds +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for seeds, stems and similar items." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Chemical" +msgstr "" + +#. ~ Description for Loot: Chemical +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for chemicals." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: S.Parts" +msgstr "" + +#. ~ Description for Loot: S.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for spare parts." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Artifacts" +msgstr "" + +#. ~ Description for Loot: Artifacts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for artifacts" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Corpses" +msgstr "" + +#. ~ Description for Loot: Corpses +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for corpses" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Armor" +msgstr "" + +#. ~ Description for Loot: Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for armor. Does include filthy armor if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Armor" +msgstr "" + +#. ~ Description for Loot: F.Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy armor." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Wood" +msgstr "" + +#. ~ Description for Loot: Wood +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firewood and items that can be used as such." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Custom" +msgstr "" + +#. ~ Description for Loot: Custom +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for loot with a custom filter that you can modify" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ignore" +msgstr "" + +#. ~ Description for Loot: Ignore +#: lang/json/LOOT_ZONE_from_json.py +msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." +msgstr "" + #: lang/json/MAGAZINE_from_json.py msgid "ultra-light battery" msgid_plural "ultra-light batteries" @@ -47987,7 +49933,7 @@ msgstr[0] "" #: lang/json/MAGAZINE_from_json.py msgid "" "This is a heavy battery cell, universally compatible with all kinds of " -"industrial-grade equipment and large tools. The battery's chemistry means " +"industrial-grade equipment and large tools. The battery's chemistry means " "that it has a very high capacity, but cannot be recharged." msgstr "" @@ -48485,15 +50431,6 @@ msgstr "" msgid "A 14 round double stack box magazine for the SIG Sauer P320." msgstr "" -#: lang/json/MAGAZINE_from_json.py -msgid "Taurus .38 magazine" -msgstr "타우러스 .38 탄창" - -#. ~ Description for Taurus .38 magazine -#: lang/json/MAGAZINE_from_json.py -msgid "A compact steel box magazine for use with the Taurus Pro .38 pistol." -msgstr "타우러스 프로 .38 권총에 사용되는 철제 소형 박스탄창" - #: lang/json/MAGAZINE_from_json.py msgid ".38/.357 7-round speedloader" msgstr "" @@ -48567,6 +50504,16 @@ msgstr "" msgid "A 10-round steel box magazine for use with the Hi-Point CF-380." msgstr "" +#: lang/json/MAGAZINE_from_json.py +msgid "Taurus Spectrum magazine" +msgstr "" + +#. ~ Description for Taurus Spectrum magazine +#: lang/json/MAGAZINE_from_json.py +msgid "" +"A compact, 6-round steel box magazine for use with the Taurus Spectrum." +msgstr "" + #: lang/json/MAGAZINE_from_json.py msgid "M1911 .38 Super magazine" msgstr "" @@ -49590,17 +51537,6 @@ msgid "" "is marked with several faded and now unreadable symbols." msgstr "압축 용접용 가스가 담긴 대형 금속 탱크. 거의 지워져서 읽을 수 없는 표시가 몇개 그려져 있습니다." -#: lang/json/MAGAZINE_from_json.py -msgid "oxygen cylinder" -msgstr "" - -#. ~ Description for oxygen cylinder -#: lang/json/MAGAZINE_from_json.py -msgid "" -"A large steel cylinder used for storing pressurized gas. It is marked with a" -" faded, but legible O2 symbol." -msgstr "" - #: lang/json/MAGAZINE_from_json.py lang/json/vehicle_part_from_json.py msgid "car battery" msgid_plural "car batteries" @@ -50291,6 +52227,15 @@ msgid "" " hit in combat, infections." msgstr "좀비에게서 획득한 더러운 옷을 입으면 의욕이 떨어지고, 그 상태로 공격을 받으면 감염되기도 합니다." +#: lang/json/MOD_INFO_from_json.py +msgid "Fuji's Military Profession Pack" +msgstr "" + +#. ~ Description for Fuji's Military Profession Pack +#: lang/json/MOD_INFO_from_json.py +msgid "Numerous military themed professions" +msgstr "" + #: lang/json/MOD_INFO_from_json.py msgid "Fuji's More Buildings" msgstr "Fuji's 의 더많은 빌딩" @@ -50449,7 +52394,7 @@ msgstr "" msgid "" "Cataclysm is nice, but what if you could sweeten it a bit? What about " "walking through this world as a human shaped piece of sugar with your pet " -"necco waffer?" +"necco wafer?" msgstr "" #: lang/json/MOD_INFO_from_json.py @@ -50996,7 +52941,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "chicken" msgid_plural "chickens" -msgstr[0] "" +msgstr[0] "닭" #. ~ Description for chicken #: lang/json/MONSTER_from_json.py @@ -51011,7 +52956,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "grouse" msgid_plural "grouses" -msgstr[0] "" +msgstr[0] "뇌조" #. ~ Description for grouse #: lang/json/MONSTER_from_json.py @@ -51023,7 +52968,7 @@ msgstr "아주 흔한 경기용 새, 이 생물들은 야생 닭이 어땠을지 #: lang/json/MONSTER_from_json.py msgid "crow" msgid_plural "crows" -msgstr[0] "" +msgstr[0] "까마귀" #. ~ Description for crow #: lang/json/MONSTER_from_json.py @@ -51035,7 +52980,7 @@ msgstr "작고 우아한 검은 새. 똑똑한 새로 알려져 있으며, 눈 #: lang/json/MONSTER_from_json.py msgid "duck" msgid_plural "ducks" -msgstr[0] "" +msgstr[0] "오리" #. ~ Description for duck #: lang/json/MONSTER_from_json.py @@ -51046,10 +52991,10 @@ msgstr "강이나 다른 물가에서 종종 보이는 청둥오리. 주로 곤 #: lang/json/MONSTER_from_json.py msgid "goose" -msgid_plural "gooses" -msgstr[0] "" +msgid_plural "geese" +msgstr[0] "거위" -#. ~ Description for goose +#. ~ Description for {'str': 'goose', 'str_pl': 'geese'} #: lang/json/MONSTER_from_json.py msgid "A Canadian goose, a common waterfowl that regrets leaving Canada." msgstr "캐나다 거위, 캐나다를 떠난 것을 후회하는 흔한 물새입니다." @@ -51057,7 +53002,7 @@ msgstr "캐나다 거위, 캐나다를 떠난 것을 후회하는 흔한 물새 #: lang/json/MONSTER_from_json.py msgid "turkey" msgid_plural "turkeys" -msgstr[0] "" +msgstr[0] "칠면조" #. ~ Description for turkey #: lang/json/MONSTER_from_json.py @@ -51070,7 +53015,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pheasant" msgid_plural "pheasants" -msgstr[0] "" +msgstr[0] "꿩" #. ~ Description for pheasant #: lang/json/MONSTER_from_json.py @@ -51082,7 +53027,7 @@ msgstr "성별과 종에 따라 밝은 깃털을 가질 수 있는 중간 크기 #: lang/json/MONSTER_from_json.py msgid "cockatrice" msgid_plural "cockatrices" -msgstr[0] "" +msgstr[0] "계사" #. ~ Description for cockatrice #: lang/json/MONSTER_from_json.py @@ -51097,7 +53042,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "yellow chick" msgid_plural "yellow chicks" -msgstr[0] "" +msgstr[0] "노란색 병아리" #. ~ Description for yellow chick #: lang/json/MONSTER_from_json.py @@ -51109,12 +53054,12 @@ msgstr "노란색과 갈색의 작은 병아리, 많은 다른 종에서 온 것 #: lang/json/MONSTER_from_json.py msgid "brown chick" msgid_plural "brown chicks" -msgstr[0] "" +msgstr[0] "갈색 병아리" #: lang/json/MONSTER_from_json.py msgid "strange chick" msgid_plural "strange chicks" -msgstr[0] "" +msgstr[0] "이상한 병아리" #. ~ Description for strange chick #: lang/json/MONSTER_from_json.py @@ -51124,7 +53069,7 @@ msgstr "이상한 작은 병아리, 여러 종에서 온 것일 수도 있습니 #: lang/json/MONSTER_from_json.py msgid "waterfowl chick" msgid_plural "waterfowl chicks" -msgstr[0] "" +msgstr[0] "물새 병아리" #. ~ Description for waterfowl chick #: lang/json/MONSTER_from_json.py @@ -51161,7 +53106,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "skitterbot" msgid_plural "skitterbots" -msgstr[0] "" +msgstr[0] "스키터봇" #. ~ Description for skitterbot #: lang/json/MONSTER_from_json.py @@ -51187,7 +53132,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "prototype robot" msgid_plural "prototype robots" -msgstr[0] "" +msgstr[0] "프로토타입 로봇" #. ~ Description for prototype robot #: lang/json/MONSTER_from_json.py @@ -51232,138 +53177,140 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "autonomous drone" msgid_plural "autonomous drones" -msgstr[0] "" +msgstr[0] "무인 드론" #: lang/json/MONSTER_from_json.py msgid "EMP hack" msgid_plural "EMP hacks" -msgstr[0] "" +msgstr[0] "EMP 맨핵" #. ~ Description for EMP hack #: lang/json/MONSTER_from_json.py msgid "" "An automated kamikaze drone, this small quadcopter robot appears to have an " "EMP grenade inside." -msgstr "" +msgstr "자폭형 자동화 드론. 내부에 EMP 수류탄이 들어있는 작은 쿼드콥터 로봇이다." #: lang/json/MONSTER_from_json.py msgid "C-4 hack" msgid_plural "C-4 hacks" -msgstr[0] "" +msgstr[0] "C-4 맨핵" #. ~ Description for C-4 hack #: lang/json/MONSTER_from_json.py msgid "" "An automated kamikaze drone, this small quadcopter robot appears to have " "some C-4 inside." -msgstr "" +msgstr "자폭형 자동화 드론. 내부에 C-4 폭탄이 들어있는 작은 쿼드콥터 로봇이다." #: lang/json/MONSTER_from_json.py msgid "flashbang hack" msgid_plural "flashbang hacks" -msgstr[0] "" +msgstr[0] "섬광탄 맨핵" #. ~ Description for flashbang hack #: lang/json/MONSTER_from_json.py msgid "" "An automated kamikaze drone, this small quadcopter robot appears to have a " "flashbang inside." -msgstr "" +msgstr "자폭형 자동화 드론. 내부에 섬광탄이 들어있는 작은 쿼드콥터 로봇이다." #: lang/json/MONSTER_from_json.py msgid "tear gas hack" msgid_plural "tear gas hacks" -msgstr[0] "" +msgstr[0] "최루탄 맨핵" #. ~ Description for tear gas hack #: lang/json/MONSTER_from_json.py msgid "" "An automated kamikaze drone, this small quadcopter robot appears to have a " "tear gas canister inside." -msgstr "" +msgstr "자폭형 자동화 드론. 내부에 최루탄이 들어있는 작은 쿼드콥터 로봇이다." #: lang/json/MONSTER_from_json.py msgid "grenade hack" msgid_plural "grenade hacks" -msgstr[0] "" +msgstr[0] "수류탄 맨핵" #. ~ Description for grenade hack #: lang/json/MONSTER_from_json.py msgid "" "An automated kamikaze drone, this small quadcopter robot appears to have a " "grenade inside." -msgstr "" +msgstr "자폭형 자동화 드론. 내부에 수류탄이 들어있는 작은 쿼드콥터 로봇이다." #: lang/json/MONSTER_from_json.py msgid "manhack" msgid_plural "manhacks" -msgstr[0] "" +msgstr[0] "맨핵" #. ~ Description for manhack #: lang/json/MONSTER_from_json.py msgid "" "An automated anti-personnel drone, a small quadcopter robot surrounded by " "whirring blades." -msgstr "" +msgstr "대인용 자동화 드론. 윙윙 돌아가는 칼날이 덮인 작은 쿼드콥터 로봇이다." #: lang/json/MONSTER_from_json.py msgid "mininuke hack" msgid_plural "mininuke hacks" -msgstr[0] "" +msgstr[0] "소형핵 맨핵" #. ~ Description for mininuke hack #: lang/json/MONSTER_from_json.py msgid "" "Many times as large as a normal manhack, this flying quadcopter drone " -"appears to have a mininuke inside. If this is targeting you... Run." +"appears to have a mininuke inside. If this is targeting you… Run." msgstr "" +"일반적인 맨핵보다 더 큰 맨핵. 이 날고 있는 쿼드콥터 드론의 내부에는 소형핵이 들어있다. 만약 이 드론에게 목표로 지정된다면... " +"도망쳐야지." #: lang/json/MONSTER_from_json.py msgid "tiny fish" -msgid_plural "tiny fishs" -msgstr[0] "" +msgid_plural "tiny fish" +msgstr[0] "아주 작은 물고기" -#. ~ Description for tiny fish +#. ~ Description for {'str': 'tiny fish', 'str_pl': 'tiny fish'} #: lang/json/MONSTER_from_json.py msgid "A tiny fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "small fish" -msgid_plural "small fishs" -msgstr[0] "" +msgid_plural "small fish" +msgstr[0] "작은 물고기" -#. ~ Description for small fish +#. ~ Description for {'str': 'small fish', 'str_pl': 'small fish'} #: lang/json/MONSTER_from_json.py msgid "A small fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "medium fish" -msgid_plural "medium fishs" -msgstr[0] "" +msgid_plural "medium fish" +msgstr[0] "중형 물고기" -#. ~ Description for medium fish +#. ~ Description for {'str': 'medium fish', 'str_pl': 'medium fish'} #: lang/json/MONSTER_from_json.py msgid "A medium fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "large fish" -msgid_plural "large fishs" -msgstr[0] "" +msgid_plural "large fish" +msgstr[0] "큰 물고기" -#. ~ Description for large fish +#. ~ Description for {'str': 'large fish', 'str_pl': 'large fish'} #: lang/json/MONSTER_from_json.py msgid "A large fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "huge fish" -msgid_plural "huge fishs" -msgstr[0] "" +msgid_plural "huge fish" +msgstr[0] "거대한 물고기" -#. ~ Description for huge fish +#. ~ Description for {'str': 'huge fish', 'str_pl': 'huge fish'} #: lang/json/MONSTER_from_json.py msgid "A huge fish." msgstr "" @@ -51371,124 +53318,124 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "trout" msgid_plural "trouts" -msgstr[0] "" +msgstr[0] "송어" #. ~ Description for trout #: lang/json/MONSTER_from_json.py msgid "" "A Trout. A fish made popular by father-son fishing trips, Except for the " "part where you have to gut it." -msgstr "" +msgstr "송어입니다. 부자 동반 낚시 여행으로 유명해 진 물고기입니다. 내장 따는 부분은 빼고요." #: lang/json/MONSTER_from_json.py msgid "brown trout" msgid_plural "brown trouts" -msgstr[0] "" +msgstr[0] "갈색 송어" #. ~ Description for brown trout #: lang/json/MONSTER_from_json.py msgid "" "A Brown Trout. A fish made popular by father-son fishing trips, Except for " "the part where you have to gut it." -msgstr "" +msgstr "갈색 송어입니다. 부자 동반 낚시 여행으로 유명해 진 물고기입니다. 내장 따는 부분은 빼고요." #: lang/json/MONSTER_from_json.py msgid "brook trout" msgid_plural "brook trouts" -msgstr[0] "" +msgstr[0] "민물송어" #. ~ Description for brook trout #: lang/json/MONSTER_from_json.py msgid "" "A Brook Trout. A fish made popular by father-son fishing trips, Except for " "the part where you have to gut it." -msgstr "" +msgstr "민물송어입니다. 부자 동반 낚시 여행으로 유명해 진 물고기입니다. 내장 따는 부분은 빼고요." #: lang/json/MONSTER_from_json.py msgid "lake trout" msgid_plural "lake trouts" -msgstr[0] "" +msgstr[0] "강 송어" #. ~ Description for lake trout #: lang/json/MONSTER_from_json.py msgid "" "A Lake trout. A fish made popular by father-son fishing trips, Except for " "the part where you have to gut it." -msgstr "" +msgstr "강 송어입니다. 부자 동반 낚시 여행으로 유명해 진 물고기입니다. 내장 따는 부분은 빼고요." #: lang/json/MONSTER_from_json.py msgid "rainbow trout" msgid_plural "rainbow trouts" -msgstr[0] "" +msgstr[0] "무지개 송어" #. ~ Description for rainbow trout #: lang/json/MONSTER_from_json.py msgid "" "A Rainbow Trout. A fish made popular by father-son fishing trips, Except " "for the part where you have to gut it." -msgstr "" +msgstr "무지개 송어입니다. 부자 동반 낚시 여행으로 유명해 진 물고기입니다. 내장 따는 부분은 빼고요." #: lang/json/MONSTER_from_json.py msgid "steelhead trout" msgid_plural "steelhead trouts" -msgstr[0] "" +msgstr[0] "스틸헤드 송어" #. ~ Description for steelhead trout #: lang/json/MONSTER_from_json.py msgid "" "A Steelhead Trout. A fish made popular by father-son fishing trips, Except " "for the part where you have to gut it." -msgstr "" +msgstr "스틸헤드 송어입니다. 부자 동반 낚시 여행으로 유명해 진 물고기입니다. 내장 따는 부분은 빼고요." #: lang/json/MONSTER_from_json.py msgid "salmon" msgid_plural "salmons" -msgstr[0] "" +msgstr[0] "연어" #. ~ Description for salmon #: lang/json/MONSTER_from_json.py msgid "" "An Atlantic Salmon. A very fatty, nutritious fish. Tastes great smoked." -msgstr "" +msgstr "대서양 연어는 아주 지방이 많고 영양분이 높은 생선입니다. 훈제하면 맛이 좋아집니다." #: lang/json/MONSTER_from_json.py msgid "kokanee salmon" msgid_plural "kokanee salmons" -msgstr[0] "" +msgstr[0] "코카니 연어" #. ~ Description for kokanee salmon #: lang/json/MONSTER_from_json.py msgid "" "A Kokanee Salmon. A very fatty, nutritious fish. Tastes great smoked." -msgstr "" +msgstr "코카니 연어는 아주 지방이 많고 영양분이 높은 생선입니다. 훈제하면 맛이 좋아집니다." #: lang/json/MONSTER_from_json.py msgid "chinook salmon" msgid_plural "chinook salmons" -msgstr[0] "" +msgstr[0] "치누크 연어" #. ~ Description for chinook salmon #: lang/json/MONSTER_from_json.py msgid "" "A Chinook Salmon. A very fatty, nutritious fish. Tastes great smoked." -msgstr "" +msgstr "치누크 연어는 아주 지방이 많고 영양분이 높은 생선입니다. 훈제하면 맛이 좋아집니다." #: lang/json/MONSTER_from_json.py msgid "coho salmon" msgid_plural "coho salmons" -msgstr[0] "" +msgstr[0] "코호 연어" #. ~ Description for coho salmon #: lang/json/MONSTER_from_json.py msgid "A Coho Salmon. A very fatty, nutritious fish. Tastes great smoked." -msgstr "" +msgstr "코호 연어는 아주 지방이 많고 영양분이 높은 생선입니다. 훈제하면 맛이 좋아집니다." #: lang/json/MONSTER_from_json.py msgid "whitefish" -msgid_plural "whitefishs" -msgstr[0] "" +msgid_plural "whitefish" +msgstr[0] "화이트피시" -#. ~ Description for whitefish +#. ~ Description for {'str': 'whitefish', 'str_pl': 'whitefish'} #: lang/json/MONSTER_from_json.py msgid "" "A whitefish, closely related to salmon. One can assume they are just as " @@ -51497,44 +53444,44 @@ msgstr "뱅어. 연어와 밀접한 관계가 있습니다. 누군가는 훈제 #: lang/json/MONSTER_from_json.py msgid "largemouth bass" -msgid_plural "largemouth basss" -msgstr[0] "" +msgid_plural "largemouth bass" +msgstr[0] "큰입우럭" -#. ~ Description for largemouth bass +#. ~ Description for {'str': 'largemouth bass', 'str_pl': 'largemouth bass'} #: lang/json/MONSTER_from_json.py msgid "A Largemouth Bass. Very popular with sports fishermen." -msgstr "" +msgstr "큰입 배스는 스포츠 낚시꾼들에게 인기가 높습니다." #: lang/json/MONSTER_from_json.py msgid "smallmouth bass" -msgid_plural "smallmouth basss" -msgstr[0] "" +msgid_plural "smallmouth bass" +msgstr[0] "작은입우럭" -#. ~ Description for smallmouth bass +#. ~ Description for {'str': 'smallmouth bass', 'str_pl': 'smallmouth bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Smallmouth Bass. Being intolerant to pollution in the water, smallmouth " "bass are a good indicator of how clean it is." -msgstr "" +msgstr "작은입 배스는 수질오염에 민감해 물의 오염도를 측정하는 좋은 지표가 됩니다." #: lang/json/MONSTER_from_json.py msgid "striped bass" -msgid_plural "striped basss" -msgstr[0] "" +msgid_plural "striped bass" +msgstr[0] "줄무늬농어" -#. ~ Description for striped bass +#. ~ Description for {'str': 'striped bass', 'str_pl': 'striped bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Striped Bass. Mostly a salt water fish, they migrate to fresher water to " "spawn." -msgstr "" +msgstr "줄무늬 배스는 바다에서 주로 살며 번식하기 위해 민물에 올라옵니다." #: lang/json/MONSTER_from_json.py msgid "white bass" -msgid_plural "white basss" -msgstr[0] "" +msgid_plural "white bass" +msgstr[0] "화이트 배스" -#. ~ Description for white bass +#. ~ Description for {'str': 'white bass', 'str_pl': 'white bass'} #: lang/json/MONSTER_from_json.py msgid "" "A White Bass. Common to the region, a slab-sided and spiny-rayed little " @@ -51543,15 +53490,15 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "perch" -msgid_plural "perchs" -msgstr[0] "" +msgid_plural "perches" +msgstr[0] "민물 농어" -#. ~ Description for perch +#. ~ Description for {'str': 'perch', 'str_pl': 'perches'} #: lang/json/MONSTER_from_json.py msgid "" "A small spritely Perch. A very bony fish, still got some tasty meat on it " "though." -msgstr "" +msgstr "작고 힘이 넘치는 농어. 뼈가 많지만 뼈에 붙은 살점이 맛있습니다." #: lang/json/MONSTER_from_json.py msgid "walleye" @@ -51565,20 +53512,21 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "sunfish" -msgid_plural "sunfishs" +msgid_plural "sunfish" msgstr[0] "" -#. ~ Description for sunfish +#. ~ Description for {'str': 'sunfish', 'str_pl': 'sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "pumpkinseed sunfish" -msgid_plural "pumpkinseed sunfishs" +msgid_plural "pumpkinseed sunfish" msgstr[0] "" -#. ~ Description for pumpkinseed sunfish +#. ~ Description for {'str': 'pumpkinseed sunfish', 'str_pl': 'pumpkinseed +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Pumpkinseed Sunfish. A small fish related to bass or bluegill." msgstr "" @@ -51596,50 +53544,51 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "redbreast sunfish" -msgid_plural "redbreast sunfishs" +msgid_plural "redbreast sunfish" msgstr[0] "" -#. ~ Description for redbreast sunfish +#. ~ Description for {'str': 'redbreast sunfish', 'str_pl': 'redbreast +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redbreast Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "green sunfish" -msgid_plural "green sunfishs" +msgid_plural "green sunfish" msgstr[0] "" -#. ~ Description for green sunfish +#. ~ Description for {'str': 'green sunfish', 'str_pl': 'green sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Green Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "longear sunfish" -msgid_plural "longear sunfishs" +msgid_plural "longear sunfish" msgstr[0] "" -#. ~ Description for longear sunfish +#. ~ Description for {'str': 'longear sunfish', 'str_pl': 'longear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Longear Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "redear sunfish" -msgid_plural "redear sunfishs" +msgid_plural "redear sunfish" msgstr[0] "" -#. ~ Description for redear sunfish +#. ~ Description for {'str': 'redear sunfish', 'str_pl': 'redear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redear Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "rock bass" -msgid_plural "rock basss" +msgid_plural "rock bass" msgstr[0] "" -#. ~ Description for rock bass +#. ~ Description for {'str': 'rock bass', 'str_pl': 'rock bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Rock Bass. Related to sunfish, this tiny fish has a camoflauge-like " @@ -51648,10 +53597,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "calico bass" -msgid_plural "calico basss" +msgid_plural "calico bass" msgstr[0] "" -#. ~ Description for calico bass +#. ~ Description for {'str': 'calico bass', 'str_pl': 'calico bass'} #: lang/json/MONSTER_from_json.py msgid "A Calico Bass. A medium-sized fish also known as a 'Crappie'." msgstr "" @@ -51680,20 +53629,20 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "channel catfish" -msgid_plural "channel catfishs" +msgid_plural "channel catfish" msgstr[0] "" -#. ~ Description for channel catfish +#. ~ Description for {'str': 'channel catfish', 'str_pl': 'channel catfish'} #: lang/json/MONSTER_from_json.py msgid "A Channel Catfish, they have a forked tail and long whiskers." msgstr "" #: lang/json/MONSTER_from_json.py msgid "white catfish" -msgid_plural "white catfishs" +msgid_plural "white catfish" msgstr[0] "" -#. ~ Description for white catfish +#. ~ Description for {'str': 'white catfish', 'str_pl': 'white catfish'} #: lang/json/MONSTER_from_json.py msgid "A White Catfish, a small whiskered fish with a broad head." msgstr "" @@ -51781,10 +53730,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fallfish" -msgid_plural "fallfishs" +msgid_plural "fallfish" msgstr[0] "" -#. ~ Description for fallfish +#. ~ Description for {'str': 'fallfish', 'str_pl': 'fallfish'} #: lang/json/MONSTER_from_json.py msgid "" "A Fallfish. These fish are related to gar but without the huge teeth, skin " @@ -51801,29 +53750,27 @@ msgstr[0] "" msgid "" "These things were once considered pests not worth eating, then some " "marketing genius started selling them to people as a delicacy and they took " -"off in popularity... and price." +"off in popularity… and price." msgstr "" -"한때는 못 먹는 해충 정도로 여겨졌지만, 몇몇 마케팅의 귀재들이 별미라고 포장하여 사람들에게 판매하면서 인기가 하늘로 치솟았습니다... " -"가격도 함께요." #: lang/json/MONSTER_from_json.py msgid "crayfish" -msgid_plural "crayfishs" +msgid_plural "crayfish" msgstr[0] "" -#. ~ Description for crayfish +#. ~ Description for {'str': 'crayfish', 'str_pl': 'crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "If you could get ahold of a bunch more of these, a hefty pot of boiling " -"water, and some spicy seasonings..." -msgstr "잔뜩 잡아서 큼직한 냄비에 한 가득 물을 끓인 다음, 매콤한 양념을 약간 넣어 마무리하면..." +"water, and some spicy seasonings…" +msgstr "" #: lang/json/MONSTER_from_json.py msgid "Blinky" msgid_plural "Blinkies" msgstr[0] "블링키" -#. ~ Description for Blinky +#. ~ Description for {'str': 'Blinky', 'str_pl': 'Blinkies'} #: lang/json/MONSTER_from_json.py msgid "A strange three-eyed fish." msgstr "" @@ -51926,10 +53873,10 @@ msgstr "감염된 이 바퀴벌레는 좀비를 먹으며 혼돈적으로 변이 #: lang/json/MONSTER_from_json.py msgid "giant cockroach" -msgid_plural "giant cockroachs" +msgid_plural "giant cockroaches" msgstr[0] "" -#. ~ Description for giant cockroach +#. ~ Description for {'str': 'giant cockroach', 'str_pl': 'giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "A mutant cockroach the size of a small dog." msgstr "작은 개만 한 크기의 돌연변이 바퀴벌레." @@ -51946,10 +53893,11 @@ msgstr "쥐 만한 크기의 새끼 돌연변이 바퀴벌레" #: lang/json/MONSTER_from_json.py msgid "pregnant giant cockroach" -msgid_plural "pregnant giant cockroachs" +msgid_plural "pregnant giant cockroaches" msgstr[0] "" -#. ~ Description for pregnant giant cockroach +#. ~ Description for {'str': 'pregnant giant cockroach', 'str_pl': 'pregnant +#. giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant cockroach the size of a small dog. Its abdomen is heavily swollen." @@ -51986,7 +53934,7 @@ msgid "giant dragonfly" msgid_plural "giant dragonflies" msgstr[0] "거대한 잠자리" -#. ~ Description for giant dragonfly +#. ~ Description for {'str': 'giant dragonfly', 'str_pl': 'giant dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A ferocious mutant dragonfly as big as a cat, darting through the air with a" @@ -51998,7 +53946,7 @@ msgid "giant fly" msgid_plural "giant flies" msgstr[0] "거대 파리" -#. ~ Description for giant fly +#. ~ Description for {'str': 'giant fly', 'str_pl': 'giant flies'} #: lang/json/MONSTER_from_json.py msgid "" "A tremendous housefly the size of a small dog, predictably accompanied by a " @@ -52167,10 +54115,10 @@ msgstr "고양이 크기의 변이된 말벌입니다. 벌침이 있어야 할 #: lang/json/MONSTER_from_json.py msgid "dermatik larva" -msgid_plural "dermatik larvas" +msgid_plural "dermatik larvae" msgstr[0] "" -#. ~ Description for dermatik larva +#. ~ Description for {'str': 'dermatik larva', 'str_pl': 'dermatik larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A fat white grub as big as a squirrel, with a pair of large, spadelike " @@ -52203,10 +54151,11 @@ msgstr "복부가 부은 괴물 같은 갈색 개미이며, 끝에는 작은 오 #: lang/json/MONSTER_from_json.py msgid "acidic ant larva" -msgid_plural "acidic ant larvas" +msgid_plural "acidic ant larvae" msgstr[0] "" -#. ~ Description for acidic ant larva +#. ~ Description for {'str': 'acidic ant larva', 'str_pl': 'acidic ant +#. larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A squirming yellow grub that seems to be oozing liquid from both ends of its" @@ -52257,10 +54206,10 @@ msgstr "창백한 회색빛을 띄고 있는 거대한 개미. 관절마다 진 #: lang/json/MONSTER_from_json.py msgid "ant larva" -msgid_plural "ant larvas" +msgid_plural "ant larvae" msgstr[0] "" -#. ~ Description for ant larva +#. ~ Description for {'str': 'ant larva', 'str_pl': 'ant larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A pulsating sausage of glistening white flesh, the size of a large cat. On " @@ -52517,10 +54466,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Labrador puppy" -msgid_plural "Labrador puppys" +msgid_plural "Labrador puppies" msgstr[0] "" -#. ~ Description for Labrador puppy +#. ~ Description for {'str': 'Labrador puppy', 'str_pl': 'Labrador puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Labrador puppy. Much safer to tame than an adult " @@ -52541,10 +54490,10 @@ msgstr "아메리칸 불독은 강인하고 잘다져진 몸을 가진 개입니 #: lang/json/MONSTER_from_json.py msgid "bulldog puppy" -msgid_plural "bulldog puppys" +msgid_plural "bulldog puppies" msgstr[0] "" -#. ~ Description for bulldog puppy +#. ~ Description for {'str': 'bulldog puppy', 'str_pl': 'bulldog puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless American bulldog puppy. Much safer to tame than an" @@ -52553,10 +54502,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull mix" -msgid_plural "pit bull mixs" +msgid_plural "pit bull mixes" msgstr[0] "" -#. ~ Description for pit bull mix +#. ~ Description for {'str': 'pit bull mix', 'str_pl': 'pit bull mixes'} #: lang/json/MONSTER_from_json.py msgid "" "The oft-misunderstood pit bull is not actually a single breed but a label " @@ -52567,10 +54516,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull puppy" -msgid_plural "pit bull puppys" +msgid_plural "pit bull puppies" msgstr[0] "" -#. ~ Description for pit bull puppy +#. ~ Description for {'str': 'pit bull puppy', 'str_pl': 'pit bull puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless pit bull puppy. Much safer to tame than an adult " @@ -52591,10 +54540,10 @@ msgstr "대재앙에서 어떻게 살아 남은 귀여운 비글입니다. 작 #: lang/json/MONSTER_from_json.py msgid "beagle puppy" -msgid_plural "beagle puppys" +msgid_plural "beagle puppies" msgstr[0] "" -#. ~ Description for beagle puppy +#. ~ Description for {'str': 'beagle puppy', 'str_pl': 'beagle puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless beagle puppy. Much safer to tame than an adult " @@ -52616,10 +54565,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "border collie puppy" -msgid_plural "border collie puppys" +msgid_plural "border collie puppies" msgstr[0] "" -#. ~ Description for border collie puppy +#. ~ Description for {'str': 'border collie puppy', 'str_pl': 'border collie +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Border Collie puppy. Much safer to tame than an " @@ -52640,10 +54590,10 @@ msgstr "애정이 넘치는 평범한 종인 마스티프 복서는 달리 그 #: lang/json/MONSTER_from_json.py msgid "boxer puppy" -msgid_plural "boxer puppys" +msgid_plural "boxer puppies" msgstr[0] "" -#. ~ Description for boxer puppy +#. ~ Description for {'str': 'boxer puppy', 'str_pl': 'boxer puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless boxer puppy. Much safer to tame than an adult dog." @@ -52663,10 +54613,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Chihuahua puppy" -msgid_plural "Chihuahua puppys" +msgid_plural "Chihuahua puppies" msgstr[0] "" -#. ~ Description for Chihuahua puppy +#. ~ Description for {'str': 'Chihuahua puppy', 'str_pl': 'Chihuahua puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Chihuahua puppy. Much safer to tame than an adult " @@ -52688,10 +54638,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dachshund puppy" -msgid_plural "dachshund puppys" +msgid_plural "dachshund puppies" msgstr[0] "" -#. ~ Description for dachshund puppy +#. ~ Description for {'str': 'dachshund puppy', 'str_pl': 'dachshund puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless dachshund puppy. Much safer to tame than an adult " @@ -52712,10 +54662,11 @@ msgstr "오리지널 K-9 품종입니다. 훈련하기 쉽고 주인도 죽을 #: lang/json/MONSTER_from_json.py msgid "German shepherd puppy" -msgid_plural "German shepherd puppys" +msgid_plural "German shepherd puppies" msgstr[0] "" -#. ~ Description for German shepherd puppy +#. ~ Description for {'str': 'German shepherd puppy', 'str_pl': 'German +#. shepherd puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless German shepherd puppy. Much safer to tame than an " @@ -52724,10 +54675,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees" -msgid_plural "Great Pyreneess" +msgid_plural "Great Pyrenees" msgstr[0] "" -#. ~ Description for Great Pyrenees +#. ~ Description for {'str': 'Great Pyrenees', 'str_pl': 'Great Pyrenees'} #: lang/json/MONSTER_from_json.py msgid "" "A large and powerful breed, the Great Pyrenees has a beautiful, thick white " @@ -52739,10 +54690,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees puppy" -msgid_plural "Great Pyrenees puppys" +msgid_plural "Great Pyrenees puppies" msgstr[0] "" -#. ~ Description for Great Pyrenees puppy +#. ~ Description for {'str': 'Great Pyrenees puppy', 'str_pl': 'Great Pyrenees +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Great Pyrenees puppy. Much safer to tame than an " @@ -52765,10 +54717,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rottweiler puppy" -msgid_plural "rottweiler puppys" +msgid_plural "rottweiler puppies" msgstr[0] "" -#. ~ Description for rottweiler puppy +#. ~ Description for {'str': 'rottweiler puppy', 'str_pl': 'rottweiler +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Rottweiler puppy. Much safer to tame than an adult" @@ -52789,10 +54742,11 @@ msgstr "어느 농장에서나 환영할 수 있는 민첩하고 튼튼한 품 #: lang/json/MONSTER_from_json.py msgid "cattle dog puppy" -msgid_plural "cattle dog puppys" +msgid_plural "cattle dog puppies" msgstr[0] "" -#. ~ Description for cattle dog puppy +#. ~ Description for {'str': 'cattle dog puppy', 'str_pl': 'cattle dog +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Australian cattle dog puppy. Much safer to tame " @@ -52804,14 +54758,14 @@ msgid "fox" msgid_plural "foxes" msgstr[0] "여우" -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A small omnivorous canine with an almost cat-like manner. It is a solitary " "hunter, and one of the only canids able to climb trees." msgstr "거의 고양이처럼 생활하는 작은 잡식성 갯과 동물. 고독한 사냥꾼이자, 나무를 탈 수 있는 유일한 갯과 동물이다." -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "The red fox, an omnivorous canine and largest of the true foxes, it is a " @@ -52887,10 +54841,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "moose" -msgid_plural "mooses" +msgid_plural "moose" msgstr[0] "" -#. ~ Description for moose +#. ~ Description for {'str': 'moose', 'str_pl': 'moose'} #: lang/json/MONSTER_from_json.py msgid "" "The Eastern moose, the largest living species of deer. While they aren't " @@ -53022,8 +54976,8 @@ msgstr[0] "" #: lang/json/MONSTER_from_json.py msgid "" "A worm-tailed rodent with long whiskers and beady eyes. The way it squeaks " -"makes it sound... hungry." -msgstr "지렁이같은 꼬리와 긴 수염과 구슬같은 눈을 가진 설치류 동물. 찍찍거리는 소리는 아마... 배고픔을 표현하는 것 같다." +"makes it sound… hungry." +msgstr "" #: lang/json/MONSTER_from_json.py msgid "lamb" @@ -53043,7 +54997,7 @@ msgid "sheep" msgid_plural "sheep" msgstr[0] "양" -#. ~ Description for sheep +#. ~ Description for {'str': 'sheep', 'str_pl': 'sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A timid, hooved grazing mammal, and one of the first animals ever " @@ -53096,7 +55050,7 @@ msgid "wolf" msgid_plural "wolves" msgstr[0] "늑대" -#. ~ Description for wolf +#. ~ Description for {'str': 'wolf', 'str_pl': 'wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A cunning pack predator, once extinct in the New England area, the wolf was " @@ -53336,7 +55290,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "scarred zombie" msgid_plural "scarred zombies" -msgstr[0] "" +msgstr[0] "흉터 좀비" #. ~ Description for scarred zombie #: lang/json/MONSTER_from_json.py @@ -53350,7 +55304,7 @@ msgid "blank body" msgid_plural "blank bodies" msgstr[0] "공허한 몸" -#. ~ Description for blank body +#. ~ Description for {'str': 'blank body', 'str_pl': 'blank bodies'} #: lang/json/MONSTER_from_json.py msgid "" "This is some form of unnatural changeling creature; its appearance is a " @@ -53447,7 +55401,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gasoline zombie" msgid_plural "gasoline zombies" -msgstr[0] "" +msgstr[0] "휘발유 좀비" #. ~ Description for gasoline zombie #: lang/json/MONSTER_from_json.py @@ -53455,6 +55409,7 @@ msgid "" "A huge bloated zombie that appears to have fed upon gasoline; fumes and " "flames escape from its mouth and fuel leaks from its waddling form." msgstr "" +"휘발유를 먹은 걸로 보이는 배가 빵빵한 거대한 좀비. 가스와 화염이 입에서 뿜어져 나오고 있고 뒤뚱거리는 몸에서 기름이 새어져 나옵니다." #: lang/json/MONSTER_from_json.py msgid "fungal boomer" @@ -53478,9 +55433,21 @@ msgstr[0] "" #: lang/json/MONSTER_from_json.py msgid "" "This boomer, normally swollen and ready to burst, has strengthened and " -"solidified. The bile dribbling from its mouth also appears to have " -"changed..." -msgstr "부머의 강화체. 입에서 흘러내리는 담즙에서도 변화가 느껴집니다." +"solidified. The bile dribbling from its mouth also appears to have changed…" +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "dissoluted devourer" +msgid_plural "dissoluted devourers" +msgstr[0] "" + +#. ~ Description for dissoluted devourer +#: lang/json/MONSTER_from_json.py +msgid "" +"Human bodies fused together into a colossus with heads and limbs sticking " +"out of its bloated body. You may have trouble estimating its healthiness " +"and its capabilities might change." +msgstr "" #: lang/json/MONSTER_from_json.py msgid "breather" @@ -53530,7 +55497,7 @@ msgid "" "A human fused with a mess of metal parts and wires. While its eyes are " "empty, flashes of pain pass across its face reminiscent of the person " "trapped in this grotesque body. With enough surgical skills one might be " -"able to give them back some humanity. If only they cared..." +"able to give them back some humanity. If only they cared…" msgstr "" #: lang/json/MONSTER_from_json.py @@ -53946,10 +55913,10 @@ msgstr "아주 소중한 발전기로, 시끄러운 소음을 내고 있습니 #: lang/json/MONSTER_from_json.py msgid "giant crayfish" -msgid_plural "giant crayfishs" +msgid_plural "giant crayfish" msgstr[0] "" -#. ~ Description for giant crayfish +#. ~ Description for {'str': 'giant crayfish', 'str_pl': 'giant crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant, terrestrial variety of the signal crayfish, this massive " @@ -54078,7 +56045,7 @@ msgid "homunculus" msgid_plural "homunculuses" msgstr[0] "호문쿨루스" -#. ~ Description for homunculus +#. ~ Description for {'str': 'homunculus', 'str_pl': 'homunculuses'} #: lang/json/MONSTER_from_json.py msgid "" "A pale hairless man with an impressive athletic physique. Its lidless eyes " @@ -54087,10 +56054,11 @@ msgstr "창백한 대머리 남성으로, 운동선수를 연상시키는 육체 #: lang/json/MONSTER_from_json.py msgid "hound of tindalos" -msgid_plural "hound of tindaloss" +msgid_plural "hounds of tindalos" msgstr[0] "" -#. ~ Description for hound of tindalos +#. ~ Description for {'str': 'hound of tindalos', 'str_pl': 'hounds of +#. tindalos'} #: lang/json/MONSTER_from_json.py msgid "" "A grotesque hound-like beast, its frame is angular and emaciated and its " @@ -54304,19 +56272,14 @@ msgid "Shia LaBeouf" msgid_plural "Shia LaBeouf" msgstr[0] "샤이아 라보프" -#. ~ Description for Shia LaBeouf +#. ~ Description for {'str': 'Shia LaBeouf', 'str_pl': 'Shia LaBeouf'} #: lang/json/MONSTER_from_json.py msgid "" -"Living in the woods, \n" -"killing for sport, \n" -"eating all the bodies, \n" +"Living in the woods,\n" +"killing for sport,\n" +"eating all the bodies,\n" "actual cannibal Shia LaBeouf." msgstr "" -"그는 숲 속에 산다네, \n" -"살인은 스포츠라네, \n" -"시체는 전부 먹어치운다네, \n" -"진짜 식인종 샤이아 라보프라네.\n" -"(역주: 샤이아 라보프는 미국의 배우로, 실제로는 식인종이 아니다.)" #: lang/json/MONSTER_from_json.py msgid "shoggoth" @@ -54359,7 +56322,7 @@ msgstr[0] "" msgid "" "Distorted outgrowths of calcified bone plates cover this zombie's rotten " "skin. Joints and cracks around its body ooze with black goo." -msgstr "" +msgstr "뒤틀리게 자라난 석회화된 뼈 판이 이 좀비의 썩어가는 가죽을 덮고 있습니다. 관절과 금이 간 곳에서 검은 점액이 흐릅니다." #: lang/json/MONSTER_from_json.py msgid "skeletal shocker" @@ -54373,6 +56336,7 @@ msgid "" "Underneath, its flesh glows and crackles with the occasional jolt of " "electricity." msgstr "" +"무겁고, 삐죽삐죽한 뼈 판이 이 좀비의 몸 바깥으로 자라나 있습니다. 그 아래에서 살이 빛나고 있고 가끔 전기 충격으로 빠직거립니다." #: lang/json/MONSTER_from_json.py msgid "sludge crawler" @@ -54470,7 +56434,7 @@ msgid "twisted body" msgid_plural "twisted bodies" msgstr[0] "뒤틀린 육체" -#. ~ Description for twisted body +#. ~ Description for {'str': 'twisted body', 'str_pl': 'twisted bodies'} #: lang/json/MONSTER_from_json.py msgid "" "A human body, but with its limbs, neck, and hair impossibly twisted. It " @@ -54484,7 +56448,7 @@ msgid "vortex" msgid_plural "vortexes" msgstr[0] "볼텍스" -#. ~ Description for vortex +#. ~ Description for {'str': 'vortex', 'str_pl': 'vortexes'} #: lang/json/MONSTER_from_json.py msgid "" "A twisting spot in the air, with some kind of morphing mass at its center." @@ -54551,7 +56515,7 @@ msgstr "검은 곰의 눈에는 어둡고 기름진 액체가 스며들고, 살 #: lang/json/MONSTER_from_json.py lang/json/snippet_from_json.py msgid "zombie" msgid_plural "zombies" -msgstr[0] "" +msgstr[0] "좀비" #. ~ Description for zombie #: lang/json/MONSTER_from_json.py @@ -54560,10 +56524,23 @@ msgid "" "black eyes." msgstr "" +#: lang/json/MONSTER_from_json.py +msgid "wretched puker" +msgid_plural "wretched pukers" +msgstr[0] "" + +#. ~ Description for wretched puker +#: lang/json/MONSTER_from_json.py +msgid "" +"A degenerate corpse, shambling as it walks. Several junks and waste " +"materials have unified into its skin and wounds around it reeks in black " +"goo." +msgstr "" + #: lang/json/MONSTER_from_json.py msgid "acidic zombie" msgid_plural "acidic zombies" -msgstr[0] "" +msgstr[0] "산성 좀비" #. ~ Description for acidic zombie #: lang/json/MONSTER_from_json.py @@ -54587,7 +56564,7 @@ msgstr "뒤틀리고 부풀어오른 인간 시체. 입이 마치 악어 주둥 #: lang/json/MONSTER_from_json.py msgid "brainless zombie" msgid_plural "brainless zombies" -msgstr[0] "" +msgstr[0] "머리 없는 좀비" #. ~ Description for brainless zombie #: lang/json/MONSTER_from_json.py @@ -54597,11 +56574,13 @@ msgid "" "flesh you can see that its face and brain are gone, though its ears are " "intact." msgstr "" +"다른 좀비와 같으나 이목구비와 해골이 날아갔습니다. 무엇이 이런 피해를 준 건지는 잘 모르지만, 살 조각들 사이에서 얼굴과 뇌가 사라진 " +"걸 볼 수 있습니다. 귀는 아직 붙어 있습니다." #: lang/json/MONSTER_from_json.py msgid "zombie brute" msgid_plural "zombie brutes" -msgstr[0] "" +msgstr[0] "브루트 좀비" #. ~ Description for zombie brute #: lang/json/MONSTER_from_json.py @@ -54612,7 +56591,7 @@ msgstr "몸 전체가 부풀어 오른 근육과 곪은 상처로 가득한 좀 #: lang/json/MONSTER_from_json.py msgid "zombie wrestler" msgid_plural "zombie wrestlers" -msgstr[0] "" +msgstr[0] "레슬러 좀비" #. ~ Description for zombie wrestler #: lang/json/MONSTER_from_json.py @@ -54624,7 +56603,7 @@ msgstr "잘 단련된 보디빌더 사이즈의 끈적끈적한 곪은 근육 #: lang/json/MONSTER_from_json.py msgid "zombie nightstalker" msgid_plural "zombie nightstalkers" -msgstr[0] "" +msgstr[0] "나이트스토커 좀비" #. ~ Description for zombie nightstalker #: lang/json/MONSTER_from_json.py @@ -54665,7 +56644,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie cop" msgid_plural "zombie cops" -msgstr[0] "" +msgstr[0] "경찰 좀비" #. ~ Description for zombie cop #: lang/json/MONSTER_from_json.py @@ -54676,7 +56655,7 @@ msgstr "노후되어 거의 부서진 시위 진압용 방어구로 무장한 #: lang/json/MONSTER_from_json.py msgid "corrosive zombie" msgid_plural "corrosive zombies" -msgstr[0] "" +msgstr[0] "부식성 좀비" #. ~ Description for corrosive zombie #: lang/json/MONSTER_from_json.py @@ -54695,7 +56674,7 @@ msgstr "부식성 좀비가 산성액을 뿌립니다!" #: lang/json/MONSTER_from_json.py msgid "crawling zombie" msgid_plural "crawling zombies" -msgstr[0] "" +msgstr[0] "기어다니는 좀비" #. ~ Description for crawling zombie #: lang/json/MONSTER_from_json.py @@ -54707,31 +56686,23 @@ msgstr "팔을 이용해 기어다니는 인간 시체 덩어리. 다리는 쓸 #: lang/json/MONSTER_from_json.py msgid "zombie dancer" msgid_plural "zombie dancers" -msgstr[0] "" +msgstr[0] "좀비 댄서" #. ~ Description for zombie dancer #: lang/json/MONSTER_from_json.py msgid "" -"The foulest stench is in the air, \n" -"The funk of forty thousand years, \n" -"And grisly ghouls from every tomb, \n" +"The foulest stench is in the air,\n" +"The funk of forty thousand years,\n" +"And grisly ghouls from every tomb,\n" "Are closing in to seal your doom!\n" "\n" "The dancer doesn't even notice you, it seems like something nearby is controlling it." msgstr "" -"불결한 악취가 사방에 있네\n" -"그것은 4만 년 동안의 악취\n" -"무덤마다 있는 소름 끼치는 구울\n" -"그들이 다가오고 있네, 당신의 운명을 결정짓기 위해!\n" -"\n" -"이 춤추는 좀비는 당신을 전혀 신경 쓰지 않는데, 마치 근처의 무언가가 이 좀비를 조종하고 있는 것처럼 보인다.\n" -"\n" -"(역주: 마이클 잭슨의 앨범 'Thriller' 수록곡 'Thriller'의 가사 중 일부.)" #: lang/json/MONSTER_from_json.py msgid "zombie dog" msgid_plural "zombie dogs" -msgstr[0] "" +msgstr[0] "좀비 개" #. ~ Description for zombie dog #: lang/json/MONSTER_from_json.py @@ -54743,7 +56714,7 @@ msgstr "변형된 채로 움직이는 개의 시체로, 그들의 두 발 달린 #: lang/json/MONSTER_from_json.py msgid "listener zombie" msgid_plural "listener zombies" -msgstr[0] "" +msgstr[0] "듣는 좀비" #. ~ Description for listener zombie #: lang/json/MONSTER_from_json.py @@ -54753,11 +56724,13 @@ msgid "" "sides, enormous and unsettling. Thin slits at the front suggest it may be " "able to see." msgstr "" +"이 좀비의 머리는 한번 분명하게 파괴되었으나, 얼굴 조각의 틈이 특이한 회색 점액으로 채워지고 있습니다. 거대한 인간의 귀가 옆에 " +"불안하게 걸려 있습니다. 앞쪽의 얇고 긴 구멍으로 볼 수 있을 거 같습니다." #: lang/json/MONSTER_from_json.py msgid "shocker zombie" msgid_plural "shocker zombies" -msgstr[0] "" +msgstr[0] "쇼커 좀비" #. ~ Description for shocker zombie #: lang/json/MONSTER_from_json.py @@ -54767,7 +56740,7 @@ msgstr "피부가 창백하고 푸른 인간 시체로, 주변에 전기가 파 #: lang/json/MONSTER_from_json.py msgid "fat zombie" msgid_plural "fat zombies" -msgstr[0] "" +msgstr[0] "뚱뚱한 좀비" #. ~ Description for fat zombie #: lang/json/MONSTER_from_json.py @@ -54791,7 +56764,7 @@ msgstr "뼈로 된 판과 여기저기 튀어나온 뼈 돌기가 있는 시커 #: lang/json/MONSTER_from_json.py msgid "firefighter zombie" msgid_plural "firefighter zombies" -msgstr[0] "" +msgstr[0] "소방관 좀비" #. ~ Description for firefighter zombie #: lang/json/MONSTER_from_json.py @@ -54804,7 +56777,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal zombie" msgid_plural "fungal zombies" -msgstr[0] "" +msgstr[0] "진균체 좀비" #. ~ Description for fungal zombie #: lang/json/MONSTER_from_json.py @@ -54816,7 +56789,7 @@ msgstr "한때는 인간이었지만, 진균체가 입, 눈, 다른 모든 구 #: lang/json/MONSTER_from_json.py msgid "bloated zombie" msgid_plural "bloated zombies" -msgstr[0] "" +msgstr[0] "블로트 좀비" #. ~ Description for bloated zombie #: lang/json/MONSTER_from_json.py @@ -54830,10 +56803,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gangrenous flesh" -msgid_plural "gangrenous fleshs" +msgid_plural "gangrenous flesh" msgstr[0] "" -#. ~ Description for gangrenous flesh +#. ~ Description for {'str': 'gangrenous flesh', 'str_pl': 'gangrenous flesh'} #: lang/json/MONSTER_from_json.py msgid "" "Immobile from grievous wounds, its gray skin has bloated to near rupture " @@ -54900,7 +56873,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bloated fungal zombie" msgid_plural "bloated fungal zombies" -msgstr[0] "" +msgstr[0] "블로트 진균체 좀비" #. ~ Description for bloated fungal zombie #: lang/json/MONSTER_from_json.py @@ -54913,7 +56886,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "grabber zombie" msgid_plural "grabber zombies" -msgstr[0] "" +msgstr[0] "그래버 좀비" #. ~ Description for grabber zombie #: lang/json/MONSTER_from_json.py @@ -54927,7 +56900,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "grappler zombie" msgid_plural "grappler zombies" -msgstr[0] "" +msgstr[0] "그래플러 좀비" #. ~ Description for grappler zombie #: lang/json/MONSTER_from_json.py @@ -54941,7 +56914,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hazmat zombie" msgid_plural "hazmat zombies" -msgstr[0] "" +msgstr[0] "화생방 좀비" #. ~ Description for hazmat zombie #: lang/json/MONSTER_from_json.py @@ -54953,7 +56926,7 @@ msgstr "몸 전체가 보호복으로 둘러싸인 좀비. 비틀거리며 주 #: lang/json/MONSTER_from_json.py msgid "zombie hollow" msgid_plural "zombie hollows" -msgstr[0] "" +msgstr[0] "할로우 좀비" #. ~ Description for zombie hollow #: lang/json/MONSTER_from_json.py @@ -54971,7 +56944,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie hulk" msgid_plural "zombie hulks" -msgstr[0] "" +msgstr[0] "헐크 좀비" #. ~ Description for zombie hulk #: lang/json/MONSTER_from_json.py @@ -55002,21 +56975,16 @@ msgstr[0] "" #. ~ Description for Thriller #: lang/json/MONSTER_from_json.py msgid "" -"And though you fight to stay alive, \n" -"Your body starts to shiver. \n" -"For no mere mortal can resist, \n" +"And though you fight to stay alive,\n" +"Your body starts to shiver.\n" +"For no mere mortal can resist,\n" "The evil of the thriller." msgstr "" -"아무리 정신 차리려 애를 써 보지만, \n" -"몸은 사정없이 떨려오기 시작하네. \n" -"왜냐하면 한낱 인간은 \n" -"사악한 공포 앞에선 어쩔 수 없으니까.\n" -"(역주: 마이클 잭슨의 앨범 Thriller의 수록곡 Thriller의 가사 일부.)" #: lang/json/MONSTER_from_json.py msgid "zombie snapper" msgid_plural "zombie snappers" -msgstr[0] "" +msgstr[0] "도미 좀비" #. ~ Description for zombie snapper #: lang/json/MONSTER_from_json.py @@ -55028,7 +56996,7 @@ msgstr "일렬로 늘어선 이빨과 악어와 비슷한 주둥이를 지닌 #: lang/json/MONSTER_from_json.py msgid "zombie master" msgid_plural "zombie masters" -msgstr[0] "" +msgstr[0] "좀비 마스터" #. ~ Description for zombie master #: lang/json/MONSTER_from_json.py @@ -55046,7 +57014,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie necromancer" msgid_plural "zombie necromancers" -msgstr[0] "" +msgstr[0] "네크로맨서 좀비" #. ~ Description for zombie necromancer #: lang/json/MONSTER_from_json.py @@ -55090,7 +57058,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "decayed zombie" msgid_plural "decayed zombies" -msgstr[0] "" +msgstr[0] "부패한 좀비" #. ~ Description for decayed zombie #: lang/json/MONSTER_from_json.py @@ -55114,7 +57082,7 @@ msgstr "되살아난지 얼마 지나지 않은 이 시체는 잽싸게 움직 #: lang/json/MONSTER_from_json.py msgid "scorched zombie" msgid_plural "scorched zombies" -msgstr[0] "" +msgstr[0] "반쯤 탄 좀비" #. ~ Description for scorched zombie #: lang/json/MONSTER_from_json.py @@ -55127,7 +57095,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "screecher zombie" msgid_plural "screecher zombies" -msgstr[0] "" +msgstr[0] "괴성 좀비" #. ~ Description for screecher zombie #: lang/json/MONSTER_from_json.py @@ -55140,7 +57108,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shady zombie" msgid_plural "shady zombies" -msgstr[0] "" +msgstr[0] "셰이디 좀비" #. ~ Description for shady zombie #: lang/json/MONSTER_from_json.py @@ -55154,7 +57122,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shrieker zombie" msgid_plural "shrieker zombies" -msgstr[0] "" +msgstr[0] "비명 좀비" #. ~ Description for shrieker zombie #: lang/json/MONSTER_from_json.py @@ -55166,7 +57134,7 @@ msgstr "흉곽이 부어오르고 턱이었을 부분에는 큰 구멍이 뚫려 #: lang/json/MONSTER_from_json.py msgid "skull zombie" msgid_plural "skull zombies" -msgstr[0] "" +msgstr[0] "해골 좀비" #. ~ Description for skull zombie #: lang/json/MONSTER_from_json.py @@ -55181,7 +57149,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "smoker zombie" msgid_plural "smoker zombies" -msgstr[0] "" +msgstr[0] "스모커 좀비" #. ~ Description for smoker zombie #: lang/json/MONSTER_from_json.py @@ -55193,19 +57161,19 @@ msgstr "새까맣고 뒤틀린 나체상태의 인간 시체로, 살갗이 떨 #: lang/json/MONSTER_from_json.py msgid "pollinator zombie" msgid_plural "pollinator zombies" -msgstr[0] "" +msgstr[0] "꽃가루 좀비" #. ~ Description for pollinator zombie #: lang/json/MONSTER_from_json.py msgid "" "Every breath of this crooked, fungus-ridden zombie emits a fine dust of " "spores, and it constantly looks like it's emerging from a cloud of myst." -msgstr "" +msgstr "이 비뚤어지고 진균이 들끓는 좀비가 숨을 쉴 때마다 포자 먼지를 내뿜으며, 계속 안개 구름에서 나오는 것 처럼 보입니다." #: lang/json/MONSTER_from_json.py msgid "spitter zombie" msgid_plural "spitter zombies" -msgstr[0] "" +msgstr[0] "스피터 좀비" #. ~ Description for spitter zombie #: lang/json/MONSTER_from_json.py @@ -55220,7 +57188,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "survivor zombie" msgid_plural "survivor zombies" -msgstr[0] "" +msgstr[0] "생존자 좀비" #. ~ Description for survivor zombie #: lang/json/MONSTER_from_json.py @@ -55232,7 +57200,7 @@ msgstr "아직도 누더기가 된 급조 방어구를 입고 조각난 무기 #: lang/json/MONSTER_from_json.py msgid "swimmer zombie" msgid_plural "swimmer zombies" -msgstr[0] "" +msgstr[0] "스위머 좀비" #. ~ Description for swimmer zombie #: lang/json/MONSTER_from_json.py @@ -55244,7 +57212,7 @@ msgstr "매끈하고 반짝거리는 인간의 시체. 손발에 물갈퀴가 #: lang/json/MONSTER_from_json.py msgid "zombie technician" msgid_plural "zombie technicians" -msgstr[0] "" +msgstr[0] "기술자 좀비" #. ~ Description for zombie technician #: lang/json/MONSTER_from_json.py @@ -55270,7 +57238,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "tough zombie" msgid_plural "tough zombies" -msgstr[0] "" +msgstr[0] "강한 좀비" #. ~ Description for tough zombie #: lang/json/MONSTER_from_json.py @@ -55420,7 +57388,7 @@ msgid "dragonfly" msgid_plural "dragonflies" msgstr[0] "잠자리" -#. ~ Description for dragonfly +#. ~ Description for {'str': 'dragonfly', 'str_pl': 'dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A thin-bodied insectoid predator with a large wingspan and big compound " @@ -55847,7 +57815,7 @@ msgid "zombie child" msgid_plural "zombie children" msgstr[0] "어린이 좀비" -#. ~ Description for zombie child +#. ~ Description for {'str': 'zombie child', 'str_pl': 'zombie children'} #: lang/json/MONSTER_from_json.py msgid "" "It was only a child, and little is different about it now aside from the " @@ -55943,7 +57911,7 @@ msgid "fungal child" msgid_plural "fungal children" msgstr[0] "어린이 진균체" -#. ~ Description for fungal child +#. ~ Description for {'str': 'fungal child', 'str_pl': 'fungal children'} #: lang/json/MONSTER_from_json.py msgid "" "It is hard to recognize a human child in this creature. Disgusting-looking " @@ -55956,7 +57924,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie grenadier" msgid_plural "zombie grenadiers" -msgstr[0] "" +msgstr[0] "척탄병 좀비" #. ~ Description for zombie grenadier #: lang/json/MONSTER_from_json.py @@ -56200,10 +58168,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic fox" -msgid_plural "old animatronic foxs" +msgid_plural "old animatronic foxes" msgstr[0] "" -#. ~ Description for old animatronic fox +#. ~ Description for {'str': 'old animatronic fox', 'str_pl': 'old animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -56215,10 +58184,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic fox" -msgid_plural "new animatronic foxs" +msgid_plural "new animatronic foxes" msgstr[0] "" -#. ~ Description for new animatronic fox +#. ~ Description for {'str': 'new animatronic fox', 'str_pl': 'new animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -56230,10 +58200,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "wrecked animatronic fox" -msgid_plural "wrecked animatronic foxs" +msgid_plural "wrecked animatronic foxes" msgstr[0] "" -#. ~ Description for wrecked animatronic fox +#. ~ Description for {'str': 'wrecked animatronic fox', 'str_pl': 'wrecked +#. animatronic foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A wrecked animatronic fox, laying in a pile on the ground. Its teeth and " @@ -56245,10 +58216,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic bunny" -msgid_plural "new animatronic bunnys" +msgid_plural "new animatronic bunnies" msgstr[0] "" -#. ~ Description for new animatronic bunny +#. ~ Description for {'str': 'new animatronic bunny', 'str_pl': 'new +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its actually quite " @@ -56260,10 +58232,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic bunny" -msgid_plural "old animatronic bunnys" +msgid_plural "old animatronic bunnies" msgstr[0] "" -#. ~ Description for old animatronic bunny +#. ~ Description for {'str': 'old animatronic bunny', 'str_pl': 'old +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its face has been torn" @@ -56439,9 +58412,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic sheep" msgid_plural "animatronic sheep" -msgstr[0] "양 로봇" +msgstr[0] "" -#. ~ Description for animatronic sheep +#. ~ Description for {'str': 'animatronic sheep', 'str_pl': 'animatronic +#. sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic sheep, nearly twice your size. Its wool is mangy and " @@ -56463,10 +58437,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic child" -msgid_plural "animatronic childs" +msgid_plural "animatronic children" msgstr[0] "" -#. ~ Description for animatronic child +#. ~ Description for {'str': 'animatronic child', 'str_pl': 'animatronic +#. children'} #: lang/json/MONSTER_from_json.py msgid "" "An animatronic child. It looks like it's annoying as hell. Though it is a " @@ -56487,10 +58462,11 @@ msgstr "혼자서 주변을 돌아다니는 꼭두각시 인형. 어떻게 실 #: lang/json/MONSTER_from_json.py msgid "animatronic wolf" -msgid_plural "animatronic wolfs" +msgid_plural "animatronic wolves" msgstr[0] "" -#. ~ Description for animatronic wolf +#. ~ Description for {'str': 'animatronic wolf', 'str_pl': 'animatronic +#. wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic wolf, nearly twice your size. If the animal " @@ -56643,10 +58619,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "minion of skeltal" -msgid_plural "minion of skeltals" +msgid_plural "minions of skeltal" msgstr[0] "" -#. ~ Description for minion of skeltal +#. ~ Description for {'str': 'minion of skeltal', 'str_pl': 'minions of +#. skeltal'} #: lang/json/MONSTER_from_json.py msgid "A lesser skeleton, raised by the forlorn dooting of a trumpet." msgstr "" @@ -56665,10 +58642,10 @@ msgstr "위풍당당하던 곰이 껍데기만 남은 채 연기를 내뿜고 #: lang/json/MONSTER_from_json.py msgid "Compsognathus" -msgid_plural "Compsognathuss" +msgid_plural "Compsognathus" msgstr[0] "" -#. ~ Description for Compsognathus +#. ~ Description for {'str': 'Compsognathus', 'str_pl': 'Compsognathus'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal dinosaur about the size of a turkey. Its teeth and claws are " @@ -56677,10 +58654,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Gallimimus" -msgid_plural "Gallimimuss" +msgid_plural "Gallimimus" msgstr[0] "" -#. ~ Description for Gallimimus +#. ~ Description for {'str': 'Gallimimus', 'str_pl': 'Gallimimus'} #: lang/json/MONSTER_from_json.py msgid "" "A feathered bipedal dinosaur, standing as tall as a human. It looks " @@ -56689,10 +58666,10 @@ msgstr "털이 덮인 이족보행 공룡으로, 서 있는 크기가 사람 키 #: lang/json/MONSTER_from_json.py msgid "Titanis" -msgid_plural "Titaniss" +msgid_plural "Titanis" msgstr[0] "" -#. ~ Description for Titanis +#. ~ Description for {'str': 'Titanis', 'str_pl': 'Titanis'} #: lang/json/MONSTER_from_json.py msgid "" "It looks like a dodo, only much bigger, with longer, muscular legs and a " @@ -56702,10 +58679,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Spinosaurus" -msgid_plural "Spinosauruss" +msgid_plural "Spinosaurus" msgstr[0] "" -#. ~ Description for Spinosaurus +#. ~ Description for {'str': 'Spinosaurus', 'str_pl': 'Spinosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge dinosaur about the size of a small house, with a ferocious crocodile-" @@ -56714,20 +58691,21 @@ msgstr "작은 주택 정도의 크기를 가진 거대한 공룡으로, 악어 #: lang/json/MONSTER_from_json.py msgid "Tyrannosaurus rex" -msgid_plural "Tyrannosaurus rexs" +msgid_plural "Tyrannosaurus rex" msgstr[0] "" -#. ~ Description for Tyrannosaurus rex +#. ~ Description for {'str': 'Tyrannosaurus rex', 'str_pl': 'Tyrannosaurus +#. rex'} #: lang/json/MONSTER_from_json.py msgid "Look at those TEETH!" msgstr "저 이빨들 좀 봐!" #: lang/json/MONSTER_from_json.py msgid "Triceratops" -msgid_plural "Triceratopss" +msgid_plural "Triceratops" msgstr[0] "" -#. ~ Description for Triceratops +#. ~ Description for {'str': 'Triceratops', 'str_pl': 'Triceratops'} #: lang/json/MONSTER_from_json.py msgid "" "A massive rhino-like dinosaur with a bony crest from which three large horns" @@ -56736,20 +58714,20 @@ msgstr "육중한 코뿔소를 닮은 공룡으로 뼈로 된 프릴과 세 개 #: lang/json/MONSTER_from_json.py msgid "Stegosaurus" -msgid_plural "Stegosauruss" +msgid_plural "Stegosaurus" msgstr[0] "" -#. ~ Description for Stegosaurus +#. ~ Description for {'str': 'Stegosaurus', 'str_pl': 'Stegosaurus'} #: lang/json/MONSTER_from_json.py msgid "A large quadruped dinosaur with plates on its back, and a spiked tail." msgstr "커다란 사족보행 공룡으로 등에는 골판이 솟아나 있으며, 가시가 달린 꼬리를 가지고 있습니다." #: lang/json/MONSTER_from_json.py msgid "Ankylosaurus" -msgid_plural "Ankylosauruss" +msgid_plural "Ankylosaurus" msgstr[0] "" -#. ~ Description for Ankylosaurus +#. ~ Description for {'str': 'Ankylosaurus', 'str_pl': 'Ankylosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "This dinosaur looks like a giant prehistoric armadillo. Its tail ends in a " @@ -56758,10 +58736,10 @@ msgstr "이 공룡은 거대한 원시 아르마딜로 같아 보입니다. 꼬 #: lang/json/MONSTER_from_json.py msgid "Allosaurus" -msgid_plural "Allosauruss" +msgid_plural "Allosaurus" msgstr[0] "" -#. ~ Description for Allosaurus +#. ~ Description for {'str': 'Allosaurus', 'str_pl': 'Allosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A large predatory bipedal dinosaur, with tiger-like stripes on its broad " @@ -56794,10 +58772,10 @@ msgstr "털이 덮인 작은 이족보행 공룡입니다. 발과 손에서 작 #: lang/json/MONSTER_from_json.py msgid "Deinonychus" -msgid_plural "Deinonychuss" +msgid_plural "Deinonychus" msgstr[0] "" -#. ~ Description for Deinonychus +#. ~ Description for {'str': 'Deinonychus', 'str_pl': 'Deinonychus'} #: lang/json/MONSTER_from_json.py msgid "" "A medium-sized bipedal dinosaur covered with feathers. At the end of each " @@ -56818,10 +58796,10 @@ msgstr "커다란 이족보행 공룡으로 털이 덮인 팔과, 긴 꼬리, #: lang/json/MONSTER_from_json.py msgid "Parasaurolophus" -msgid_plural "Parasaurolophuss" +msgid_plural "Parasaurolophus" msgstr[0] "" -#. ~ Description for Parasaurolophus +#. ~ Description for {'str': 'Parasaurolophus', 'str_pl': 'Parasaurolophus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge mottled dinosaur with a blunt head crest. It contentedly strips " @@ -56841,10 +58819,10 @@ msgstr "작은 비행 파충류로, 하늘 위에서 빙글빙글 돌며 먹잇 #: lang/json/MONSTER_from_json.py msgid "Dilophosaurus" -msgid_plural "Dilophosauruss" +msgid_plural "Dilophosaurus" msgstr[0] "" -#. ~ Description for Dilophosaurus +#. ~ Description for {'str': 'Dilophosaurus', 'str_pl': 'Dilophosaurus'} #: lang/json/MONSTER_from_json.py msgid "A medium dinosaur with a sticky green bile dripping from its teeth." msgstr "이빨 사이로 끈적거리는 녹색 담즙을 흘리고 있는 중형 공룡입니다." @@ -56931,6 +58909,19 @@ msgid "" "fully grown, it is the size of a full-grown bull." msgstr "" +#: lang/json/MONSTER_from_json.py +msgid "adult black dragon" +msgid_plural "adult black dragons" +msgstr[0] "" + +#. ~ Description for adult black dragon +#: lang/json/MONSTER_from_json.py +msgid "" +"A black-scaled monstrosity with deep-set eye sockets glowing green with " +"evil. Its face and skull appear skeletal, and acid drips from its dagger-" +"like jaws." +msgstr "" + #: lang/json/MONSTER_from_json.py msgid "owlbear" msgid_plural "owlbears" @@ -56964,20 +58955,22 @@ msgid "The black pudding burns you with acid!" msgstr "" #: lang/json/MONSTER_from_json.py -msgid "nothic" -msgid_plural "nothics" +msgid "krabgek" +msgid_plural "krabgeks" msgstr[0] "" -#. ~ Description for nothic +#. ~ Description for krabgek #: lang/json/MONSTER_from_json.py msgid "" -"A baleful eye peers out from the darkness, its gleam hinting at a weird " -"intelligence and unnerving malevolence." +"A large baleful eye peers out from the darkness, its gleam hinting at a " +"weird intelligence and unnerving malevolence. The eye oozes some pinkish " +"liquid, and the weirdly humanoid figure is covered in sharp blue-black " +"triangular plates." msgstr "" -#. ~ Attack message of monster "nothic"'s spell "necrotic_gaze" +#. ~ Attack message of monster "krabgek"'s spell "necrotic_gaze" #: lang/json/MONSTER_from_json.py -msgid "The nothic gazes at %3$s!" +msgid "The krabgek gazes at %3$s!" msgstr "" #: lang/json/MONSTER_from_json.py @@ -57021,8 +59014,44 @@ msgstr[0] "" #. ~ Description for troll #: lang/json/MONSTER_from_json.py msgid "" -"Monstrous, green-skinned humanoid. Trolls are renowned for their thick hides" -" and natural regenerative ability." +"Monstrous, green-skinned humanoid. Trolls are renowned for their thick " +"hides and natural regenerative ability." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "stirge" +msgid_plural "stirges" +msgstr[0] "" + +#. ~ Description for stirge +#: lang/json/MONSTER_from_json.py +msgid "" +"This horrid flying creature looks like a cross between a large bat and " +"oversized mosquito." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "shrieker" +msgid_plural "shriekers" +msgstr[0] "" + +#. ~ Description for shrieker +#: lang/json/MONSTER_from_json.py +msgid "" +"A shrieker is a human-sized mushroom that emits a piercing screech to drive " +"off creatures that disturb it." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "lemure" +msgid_plural "lemures" +msgstr[0] "" + +#. ~ Description for lemure +#: lang/json/MONSTER_from_json.py +msgid "" +"A lemure resembles a molten mass of flesh with a vaguely humanoid head and " +"torso." msgstr "" #: lang/json/MONSTER_from_json.py @@ -57043,6 +59072,8 @@ msgid "" "new friends and enemies alike. It requires an integrated firearm module to " "work." msgstr "" +"이 General Atomics TX 시리즈 모델은 얄약 모양의 작은 자동 터렛으로, ATR 시스템을 이용해서 적과 아군을 구별해낼 수 " +"있습니다. 작동하려면 내장 화기 모듈이 필요합니다." #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "disarmed military turret" @@ -57083,8 +59114,8 @@ msgid "" "friends and enemies alike. Its integrated 9mm sub machinegun can swivel a " "full 360 degrees." msgstr "" -"이 General Atomics TX-1 Guardian 모델은 작은 자동 터렛으로, ATR 시스템을 이용해서 적과 아군을 구별해낼 수 " -"있습니다. 내장된 9mm 기관단총을 360도 회전시켜 적들을 공격할 수 있습니다." +"이 General Atomics TX-1 Guardian 모델은 얄약 모양의 작은 자동 터렛으로, ATR 시스템을 이용해서 적과 아군을 " +"구별해낼 수 있습니다. 내장된 9mm 기관단총을 360도 회전시켜 적들을 공격할 수 있습니다." #: lang/json/MONSTER_from_json.py msgid "shotgun turret" @@ -57099,8 +59130,8 @@ msgid "" "new friends and enemies alike. Its integrated 12ga shotgun can swivel a " "full 360 degrees." msgstr "" -"이 General Atomics TX-4 Protector 모델은 작은 자동 터렛으로, ATR 시스템을 이용해서 적과 아군을 구별해낼 수" -" 있습니다. 내장된 12구경 샷건을 360도 회전시켜 적들을 공격할 수 있습니다." +"이 General Atomics TX-4 Protector 모델은 알약 모양의 작은 자동 터렛으로, ATR 시스템을 이용해서 적과 아군을" +" 구별해낼 수 있습니다. 내장된 12구경 샷건을 360도 회전시켜 적들을 공격할 수 있습니다." #: lang/json/MONSTER_from_json.py msgid "riot control turret" @@ -57115,8 +59146,8 @@ msgid "" "friends and enemies alike. Its integrated 40mm teargas launcher can swivel " "a full 360 degrees." msgstr "" -"이 General Atomics TZ-1 Warden 모델은 작은 자동 터렛으로, ATR 시스템을 이용해서 적과 아군을 구별해낼 수 " -"있습니다. 내장된 9mm 기관단총을 360도 회전시켜 적들을 공격할 수 있습니다." +"이 General Atomics TZ-1a Warden 모델은 알약 모양의 작은 자동 터렛으로, ATR 시스템을 이용해서 적과 아군을 " +"구별해낼 수 있습니다. 내장된 40mm 최루탄 발사기를 360도 회전시켜 적들을 공격할 수 있습니다." #. ~ Description for riot control turret #: lang/json/MONSTER_from_json.py @@ -57126,6 +59157,8 @@ msgid "" "new friends and enemies alike. Its integrated 40mm beanbag launcher can " "swivel a full 360 degrees." msgstr "" +"이 General Atomics TZ-1b Pacifier 모델은 알약 모양의 작은 자동 터렛으로, ATR 시스템을 이용해서 적과 아군을" +" 구별해낼 수 있습니다. 내장된 40mm 빈백 발사기를 360도 회전시켜 적들을 공격할 수 있습니다." #: lang/json/MONSTER_from_json.py msgid "5.56mm turret" @@ -57459,10 +59492,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "craftbuddy" -msgid_plural "craftbuddys" +msgid_plural "craftbuddies" msgstr[0] "" -#. ~ Description for craftbuddy +#. ~ Description for {'str': 'craftbuddy', 'str_pl': 'craftbuddies'} #: lang/json/MONSTER_from_json.py msgid "" "A mobile crafting station used by workers in mines, on oil rigs, and in " @@ -58036,10 +60069,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "robote deluxe" -msgid_plural "robote deluxes" +msgid_plural "robote deluxe" msgstr[0] "" -#. ~ Description for robote deluxe +#. ~ Description for {'str': 'robote deluxe', 'str_pl': 'robote deluxe'} #: lang/json/MONSTER_from_json.py msgid "" "A diamond-studded gold-plated robot armed with a pair of integrated 9mm " @@ -58076,10 +60109,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "glittering lady" -msgid_plural "glittering ladys" +msgid_plural "glittering ladies" msgstr[0] "" -#. ~ Description for glittering lady +#. ~ Description for {'str': 'glittering lady', 'str_pl': 'glittering ladies'} #: lang/json/MONSTER_from_json.py msgid "" "A salvaged advanced robot transformed into a luminous beacon of destruction." @@ -58191,7 +60224,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "atomic sultan" msgid_plural "atomic sultans" -msgstr[0] "" +msgstr[0] "원자력 술탄" #. ~ Description for atomic sultan #: lang/json/MONSTER_from_json.py @@ -58205,12 +60238,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gelatinous mass" -msgid_plural "gelatinous masss" +msgid_plural "gelatinous mass" msgstr[0] "" -#. ~ Description for gelatinous mass -#. ~ Description for gray mass -#. ~ Description for gelatinous mass +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} +#. ~ Description for {'str': 'gray mass', 'str_pl': 'gray mass'} +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} #: lang/json/MONSTER_from_json.py msgid "" "An escaping noisy blob, catch it before it brings in every zombie for miles!" @@ -58218,7 +60251,7 @@ msgstr "도망치는 시끄러운 블럽, 몇 마일이나 떨어진 좀비를 #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gray mass" -msgid_plural "gray masss" +msgid_plural "gray mass" msgstr[0] "" #: lang/json/MONSTER_from_json.py @@ -58788,6 +60821,25 @@ msgstr "" msgid "Summon some bugs." msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Artifact Noise" +msgstr "" + +#. ~ Description for Artifact Noise +#: lang/json/SPELL_from_json.py +msgid "Makes a noise at your location" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "a deafening boom" +msgstr "" + +#. ~ Message for SPELL 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "You hear a deafening boom from your location!" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Artifact Light" msgstr "" @@ -58868,8 +60920,8 @@ msgstr "" #. ~ Message for SPELL 'Artifact Map' #: lang/json/SPELL_from_json.py src/iuse.cpp -msgid "You have a vision of the surrounding area..." -msgstr "주변 지역에 대한 환상을 보았습니다..." +msgid "You have a vision of the surrounding area…" +msgstr "" #: lang/json/SPELL_from_json.py msgid "Artifact Firestorm" @@ -58908,6 +60960,80 @@ msgstr "" msgid "Mutates you randomly" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Bolt" +msgstr "" + +#. ~ Description for Bolt +#: lang/json/SPELL_from_json.py +msgid "One of the bolts thrown by AEA_STORM" +msgstr "" + +#. ~ description for the sound of spell 'Bolt' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "Ka-BOOM!" +msgstr "콰-앙!" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Storm" +msgstr "" + +#. ~ Description for Artifact Storm +#: lang/json/SPELL_from_json.py +msgid "Calls down a storm near you" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Morale Scream" +msgstr "" + +#. ~ Description for Morale Scream +#: lang/json/SPELL_from_json.py +msgid "Morale effect from AEA_SCREAM" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Entrance" +msgstr "" + +#. ~ Description for Artifact Entrance +#: lang/json/SPELL_from_json.py +msgid "Entrances surrounding monsters" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Scream" +msgstr "" + +#. ~ Description for Artifact Scream +#: lang/json/SPELL_from_json.py +msgid "An ethereal scream" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Scream' +#: lang/json/SPELL_from_json.py +msgid "an ethereal scream" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Bash Terrain" +msgstr "" + +#. ~ Description for Bash Terrain +#. ~ Description for Artifact Pulse +#: lang/json/SPELL_from_json.py +msgid "Damages the terrain" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Pulse" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Pulse' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "The earth shakes!" +msgstr "땅이 흔들린다!" + #: lang/json/SPELL_from_json.py src/memorial_logger.cpp src/player_display.cpp msgid "Pain" msgstr "고통" @@ -59000,8 +61126,8 @@ msgstr "" #. ~ Description for Animist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Animists. You can use the rune" -" as a catalyst for recipes." +"This ritual creates a small pebble attuned to Animists. You can use the " +"rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -59039,7 +61165,7 @@ msgstr "" #. ~ Description for Biomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Biomancers. You can use the " +"This ritual creates a small pebble attuned to Biomancers. You can use the " "rune as a catalyst for recipes." msgstr "" @@ -59137,7 +61263,7 @@ msgstr "" #. ~ Message for SPELL 'Debug Stamina Spell' #: lang/json/SPELL_from_json.py #, python-format -msgid "Debug spell [ %s ] has no effect. Debug warning is expected." +msgid "Debug spell [ %s ] has no effect. Debug warning is expected." msgstr "" #: lang/json/SPELL_from_json.py @@ -59294,7 +61420,7 @@ msgstr "" #. ~ Description for Druid Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Druids. You can use the rune " +"This ritual creates a small pebble attuned to Druids. You can use the rune " "as a catalyst for recipes." msgstr "" @@ -59305,8 +61431,8 @@ msgstr "" #. ~ Description for Purification Seed #: lang/json/SPELL_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Rapidly degrades if " -"not utilized." +"You summon a gift of the earth which will purify water. Rapidly degrades if" +" not utilized." msgstr "" #: lang/json/SPELL_from_json.py @@ -59353,8 +61479,35 @@ msgstr "" #. ~ Description for Earthshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Earthshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Earthshapers. You can use the" +" rune as a catalyst for recipes." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Shrapnel" +msgstr "" + +#. ~ Description for Lava Bomb Shrapnel +#. ~ Description for Lava Bomb Heat +#. ~ Description for Lava Bomb Terrain +#: lang/json/SPELL_from_json.py +msgid "This is a sub spell for the Lava Bomb spell." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Heat" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Terrain" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Clairvoyance" msgstr "" #: lang/json/SPELL_from_json.py @@ -59364,7 +61517,7 @@ msgstr "" #. ~ Description for Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" " condition." msgstr "" @@ -59376,9 +61529,24 @@ msgstr "" #. ~ Description for Improved Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" -" condition. Improved brewing mitigates the strain of the spell." +" condition. Improved brewing mitigates the strain of the spell." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Conjure Throwing Blade I" +msgstr "" + +#. ~ Description for Conjure Throwing Blade I +#: lang/json/SPELL_from_json.py +msgid "conjures 3 throwing knives" +msgstr "" + +#. ~ Message for SPELL 'Conjure Throwing Blade I' +#: lang/json/SPELL_from_json.py +msgid "" +"You activate your ring and three throwing knives appear, ready to throw!" msgstr "" #: lang/json/SPELL_from_json.py @@ -59436,7 +61604,7 @@ msgstr "" #. ~ Description for Kelvinist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Kelvinists. You can use the " +"This ritual creates a small pebble attuned to Kelvinists. You can use the " "rune as a catalyst for recipes." msgstr "" @@ -59479,8 +61647,8 @@ msgstr "" #. ~ Description for Magus Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Magi. You can use the rune as " -"a catalyst for recipes." +"This ritual creates a small pebble attuned to Magi. You can use the rune as" +" a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py @@ -59499,10 +61667,26 @@ msgstr "" msgid "Fox's Cunning" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Blood Suck" +msgstr "" + +#. ~ Description for Blood Suck +#: lang/json/SPELL_from_json.py +msgid "Sucks blood from one foe." +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Jolt" msgstr "" +#. ~ description for the sound of spell 'Jolt' +#. ~ description for the sound of spell 'Lightning Bolt' +#. ~ description for the sound of spell 'Lightning Blast' +#: lang/json/SPELL_from_json.py +msgid "a crackle" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Lightning Bolt" msgstr "" @@ -59511,6 +61695,11 @@ msgstr "" msgid "Windstrike" msgstr "" +#. ~ description for the sound of spell 'Windstrike' +#: lang/json/SPELL_from_json.py +msgid "a whoosh" +msgstr "" + #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py msgid "Windrunning" msgstr "" @@ -59526,8 +61715,8 @@ msgstr "" #. ~ Description for Stormshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Stormshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Stormshapers. You can use the" +" rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -59588,8 +61777,8 @@ msgstr "" #. ~ Description for Technomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Technomancers. You can use the" -" rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Technomancers. You can use " +"the rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -59616,6 +61805,10 @@ msgstr "" msgid "Mirror Image" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "X-ray Vision" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Demon Fireball" msgstr "" @@ -59767,6 +61960,8 @@ msgstr[0] "광부 헬멧 (켜짐)" #. ~ Use action menu_text for thermal electric balaclava (on). #. ~ Use action menu_text for headlamp (on). #. ~ Use action menu_text for survivor headlamp (on). +#. ~ Use action menu_text for 5-point anchor (on). +#. ~ Use action menu_text for phase immersion suit (on). #. ~ Use action menu_text for rebreather mask (on). #. ~ Use action menu_text for XL rebreather mask (on). #. ~ Use action menu_text for pair of light amp goggles (on). @@ -59791,9 +61986,9 @@ msgstr[0] "광부 헬멧 (켜짐)" #. ~ Use action menu_text for acetylene lamp (on). #. ~ Use action menu_text for power cutter (on). #. ~ Use action menu_text for murdersaw (on). +#. ~ Use action menu_text for heat cube (torch on). #: lang/json/TOOL_ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: lang/json/TOOL_from_json.py lang/json/item_action_from_json.py #: lang/json/item_action_from_json.py lang/json/item_action_from_json.py #: src/iuse.cpp msgid "Turn off" @@ -60110,6 +62305,44 @@ msgstr "" "지속성, 밝기, 크기, 배터리팩을 효율적으로 만든 강화된 LED 헤드 랜턴.머리에 쓰거나 헬멧에 달 수 있도록 조절할 수 있는 끈이 " "달려있습니다. 지속적으로 배터리를 소모하고 있습니다. 사용(a)하면 꺼집니다." +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp" +msgid_plural "atomic headlamps" +msgstr[0] "" + +#. ~ Use action msg for atomic headlamp. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You close the headlamp's cover." +msgstr "" + +#. ~ Description for atomic headlamp +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"close the cover and hide the light." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp (covered)" +msgid_plural "atomic headlamps (covered)" +msgstr[0] "" + +#. ~ Use action msg for atomic headlamp (covered). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You open the headlamp's cover." +msgstr "" + +#. ~ Description for atomic headlamp (covered) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"open the cover and show the light." +msgstr "" + #: lang/json/TOOL_ARMOR_from_json.py msgid "RM13 combat armor" msgid_plural "RM13 combat armors" @@ -60141,6 +62374,93 @@ msgstr "" "이 검은 광택의 군용 전신 방호복은 리브텍 비경질 파워 아머 기술의 결정체로 최대 10개의 플루토늄 전지로부터 동력을 공급받을 수 있다." " 현재 작동 중이며 동력을 사용하고 있다. 사용하면 전원이 꺼진다." +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor" +msgid_plural "5-point anchors" +msgstr[0] "" + +#. ~ Use action msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "A LED light in the %s LED flickers on." +msgstr "" + +#. ~ Use action need_charges_msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "It seems like this device needs power." +msgstr "" + +#. ~ Description for 5-point anchor +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A featureless, disc-shaped device mounted on a harness. The words " +"\"X.E.D.R.A\" and \"5-point anchor\" are inscribed on its front and back." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor (on)" +msgid_plural "5-point anchors (on)" +msgstr[0] "" + +#. ~ Use action msg for 5-point anchor (on). +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "The %s LED light flickers off." +msgstr "" + +#. ~ Description for 5-point anchor (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The harness' shoulder mounted LED glows with a soft green hue. Theres no " +"further indication of anything happening." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit" +msgid_plural "phase immersion suits" +msgstr[0] "" + +#. ~ Use action msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Initiating\n" +"Running suit integrity diagnostics…\n" +"All systems operational." +msgstr "" + +#. ~ Use action need_charges_msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Warning: Operating on minimal power. Protection compromised." +msgstr "" + +#. ~ Description for phase immersion suit +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. Designed to " +"protect its wearer during extra dimensional excursions, it offers " +"unparalleled environmental protection, both in this Earth and beyond. Use " +"it to turn it on." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit (on)" +msgid_plural "phase immersion suits (on)" +msgstr[0] "" + +#. ~ Use action msg for phase immersion suit (on). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Suit shutting down." +msgstr "" + +#. ~ Description for phase immersion suit (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. It is turned on, " +"and continually draining power. Use it to turn it off." +msgstr "" + #: lang/json/TOOL_ARMOR_from_json.py msgid "rebreather mask" msgid_plural "rebreather masks" @@ -61068,11 +63388,11 @@ msgstr "사격용 이어머프의 배터리가 다 되었다." #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py msgid "" -"A pair of earmuffs favored by shooters. The earmuffs are turned off. They " -"will block sounds over a certain decibel amount, assuming it is charged with" -" batteries." +"A pair of earmuffs favored by shooters. Without batteries or when turned " +"off they function like normal earmuffs and block all sound. They will block" +" sounds over a certain decibel amount when turned on. The earmuffs are " +"currently off." msgstr "" -"총잡이들이 선호하는 귀마개 한 쌍입니다. 귀마개가 꺼져있습니다. 배터리로 충전된다고 가정할 때 특정 데시벨 양 이상의 소리를 차단합니다." #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py @@ -61497,6 +63817,492 @@ msgid "" "power." msgstr "" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic leather belt" +msgid_plural "magic leather belts" +msgstr[0] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Haste" +msgid_plural "Belt of Hastes" +msgstr[0] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Megingjörð" +msgid_plural "Megingjörðs" +msgstr[0] "" + +#. ~ Description for Megingjörð +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The mythical belt of Thor, god of thunder. Or at least so it appears. It " +"doubles the wearer's base strength." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Lesser Girdle of Pockets" +msgid_plural "Lesser Girdle of Pocketss" +msgstr[0] "" + +#. ~ Description for Lesser Girdle of Pockets +#. ~ Description for Greater Girdle of Pockets +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, coverd in numerous small pouches " +"that hold a lot more than they should, and the weight of their contents is " +"greatly reduced." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Greater Girdle of Pockets" +msgid_plural "Greater Girdle of Pocketss" +msgstr[0] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Weaponry" +msgid_plural "Belt of Weaponrys" +msgstr[0] "" + +#. ~ Description for Belt of Weaponry +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, you can sheath or holster any " +"weapon into it in the blink of an eye, and it seemingly stores them " +"somewhere else." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of The Iron Whip" +msgid_plural "Belts of the Iron Whip" +msgstr[0] "" + +#. ~ Use action msg for Belt of The Iron Whip. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"You grab the belt and it uncoils to become a flexible metal whip in your " +"hand!" +msgstr "" + +#. ~ Description for Belt of The Iron Whip +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A braided but flexible belt seemingly made of metal. You can activate it to" +" transform it into a whip and flay your enemies." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "escape boots" +msgid_plural "escape boots" +msgstr[0] "" + +#. ~ Description for escape boots +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, these boots can be activated once a day to escape from nasty " +"situations, teleporting you a good distance in a random direction." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "pair of steel bracers" +msgid_plural "pairs of steel bracers" +msgstr[0] "" + +#. ~ Description for pair of steel bracers +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A full assembly of medieval arm protection." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "steel bracer" +msgid_plural "steel bracers" +msgstr[0] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of lesser defense" +msgid_plural "bracers of lesser defense" +msgstr[0] "" + +#. ~ Description for bracer of lesser defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, silver accentuates the intricate design. It protects your body " +"with a light aura to reduce damage you take." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of greater defense" +msgid_plural "bracers of greater defense" +msgstr[0] "" + +#. ~ Description for bracer of greater defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, gold accentuates the intricate design. It protects your body with " +"a strong aura to reduce damage you take." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "lesser bracer of lightning" +msgid_plural "lesser bracers of lightning" +msgstr[0] "" + +#. ~ Description for lesser bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, silver accentuates the intricate design. It " +"protects your body with a light aura to reduce electrical damage you take, " +"as well as being able to release a Jolt spell 3 times a day." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "greater bracer of lightning" +msgid_plural "greater bracers of lightning" +msgstr[0] "" + +#. ~ Description for greater bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, gold accentuates the intricate design. It " +"protects your body with a strong aura to reduce electrical damage you take, " +"as well as being able to release a Lightning Bolt spell 3 times a day." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic mask" +msgid_plural "magic masks" +msgstr[0] "" + +#. ~ Description for magic mask +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic magic mask." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of disappearance" +msgid_plural "masks of disappearance" +msgstr[0] "" + +#. ~ Description for mask of disappearance +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A mask with no facial features at all, just eye and mouth holes, upon " +"activation it makes everything ignore your presence for a while." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of perfect vision" +msgid_plural "masks of perfect vision" +msgstr[0] "" + +#. ~ Description for mask of perfect vision +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A decidedly steampunk-looking half mask that covers the eye area of the " +"face, it has large lenses that correct and greatly enhance the vision of the" +" wearer." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "copper magic ring" +msgid_plural "copper magic rings" +msgstr[0] "" + +#. ~ Description for copper magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic copper magic ring." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic ring" +msgid_plural "magic rings" +msgstr[0] "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic silver magic ring." +msgstr "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic gold magic ring." +msgstr "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic platinum magic ring." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of blades" +msgid_plural "rings of blades" +msgstr[0] "" + +#. ~ Description for ring of blades +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"An ornate silver ring engraved with daggers that conjures a near perfect " +"throwing knife into your hand on activation." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +1" +msgid_plural "minor rings of strength +1" +msgstr[0] "" + +#. ~ Description for ring of strength +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +2" +msgid_plural "rings of strength +2" +msgstr[0] "" + +#. ~ Description for ring of strength +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +3" +msgid_plural "rings of strength +3" +msgstr[0] "" + +#. ~ Description for ring of strength +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +4" +msgid_plural "rings of strength +4" +msgstr[0] "" + +#. ~ Description for ring of strength +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +1" +msgid_plural "rings of dexterity +1" +msgstr[0] "" + +#. ~ Description for ring of dexterity +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +2" +msgid_plural "rings of dexterity +2" +msgstr[0] "" + +#. ~ Description for ring of dexterity +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +3" +msgid_plural "rings of dexterity +3" +msgstr[0] "" + +#. ~ Description for ring of dexterity +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +4" +msgid_plural "rings of dexterity +4" +msgstr[0] "" + +#. ~ Description for ring of dexterity +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +1" +msgid_plural "rings of intelligence +1" +msgstr[0] "" + +#. ~ Description for ring of intelligence +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +2" +msgid_plural "rings of intelligence +2" +msgstr[0] "" + +#. ~ Description for ring of intelligence +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +3" +msgid_plural "rings of intelligence +3" +msgstr[0] "" + +#. ~ Description for ring of intelligence +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you surprisingly more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +4" +msgid_plural "rings of intelligence +4" +msgstr[0] "" + +#. ~ Description for ring of intelligence +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +1" +msgid_plural "rings of perception +1" +msgstr[0] "" + +#. ~ Description for ring of perception +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +2" +msgid_plural "rings of perception +2" +msgstr[0] "" + +#. ~ Description for ring of perception +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +3" +msgid_plural "rings of perception +3" +msgstr[0] "" + +#. ~ Description for ring of perception +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you eye-openingly more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +4" +msgid_plural "rings of perception +4" +msgstr[0] "" + +#. ~ Description for ring of perception +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +3" +msgid_plural "rings of speed +3" +msgstr[0] "" + +#. ~ Description for ring of speed +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +5" +msgid_plural "rings of speed +5" +msgstr[0] "" + +#. ~ Description for ring of speed +5 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +7" +msgid_plural "rings of speed +7" +msgstr[0] "" + +#. ~ Description for ring of speed +7 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you quite hasty when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +10" +msgid_plural "rings of speed +10" +msgstr[0] "" + +#. ~ Description for ring of speed +10 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +2" +msgid_plural "rings of protection +2" +msgstr[0] "" + +#. ~ Description for ring of protection +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that reduces some of the force of damage you take when you " +"wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +4" +msgid_plural "rings of protection +4" +msgstr[0] "" + +#. ~ Description for ring of protection +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that appreciably reduces some of the force of damage you take " +"when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +6" +msgid_plural "rings of protection +6" +msgstr[0] "" + +#. ~ Description for ring of protection +6 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that greatly reduces some of the force of damage you take when" +" you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +8" +msgid_plural "rings of protection +8" +msgstr[0] "" + +#. ~ Description for ring of protection +8 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A platinum ring that vastly reduces some of the force of damage you take " +"when you wear it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "washcloth" msgid_plural "washcloths" @@ -61517,9 +64323,9 @@ msgstr[0] "" msgid "" "Harness the power of radiation in your own home! This looks similar to a " "D-cell battery, but actually contains folded layers of radioactive material " -"inside. It can produce electricity for several years at a steady voltage..." -" but it's barely enough to power a small LED, and these batteries were worth" -" hundreds of dollars. Mostly they're a good way to brag to your neighbours " +"inside. It can produce electricity for several years at a steady voltage… " +"but it's barely enough to power a small LED, and these batteries were worth " +"hundreds of dollars. Mostly they're a good way to brag to your neighbors " "that you have a nuclear power source in your house." msgstr "" @@ -61531,13 +64337,13 @@ msgstr[0] "" #. ~ Description for radioisotope thermoelectric generator #: lang/json/TOOL_from_json.py msgid "" -"Did your neighbours brag about their cool beta-decay powered nightlights? " -"Do them one better! The CuppaTech 4 radioisotope thermoelectric generator " -"is a three kilogram chunk of metal - mostly lead - with a slug of curium-244" -" encased within. It is capable of generating somewhere between 100-150 " -"Watts of thermal energy, although its electrical generation capacity is " -"minimal at only 2 Watts. Careful! Curium is great at making heat, and also" -" releases deadly gamma radiation. Keep away from cellular life forms." +"Did your neighbors brag about their cool beta-decay powered nightlights? Do" +" them one better! The CuppaTech 4 radioisotope thermoelectric generator is " +"a three kilogram chunk of metal - mostly lead - with a slug of curium-244 " +"encased within. It is capable of generating somewhere between 100-150 Watts" +" of thermal energy, although its electrical generation capacity is minimal " +"at only 2 Watts. Careful! Curium is great at making heat, and also " +"releases deadly gamma radiation. Keep away from cellular life forms." msgstr "" #: lang/json/TOOL_from_json.py @@ -61638,11 +64444,9 @@ msgstr[0] "투시막대" #. ~ Description for clairvoyance rod #: lang/json/TOOL_from_json.py msgid "" -"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's " -"a bug." +"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's" +" a bug." msgstr "" -"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's " -"a bug." #: lang/json/TOOL_from_json.py msgid "boulder anvil" @@ -61865,10 +64669,10 @@ msgstr[0] "파이프 폭탄" #. ~ Use action menu_text for fragment bomb. #. ~ Use action menu_text for can bomb. #. ~ Use action menu_text for match head bomb. +#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for dynamite. #. ~ Use action menu_text for fertilizer bomb. #. ~ Use action menu_text for ANFO charge. -#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for black gunpowder charge. #. ~ Use action menu_text for RDX charge. #: lang/json/TOOL_from_json.py @@ -61909,7 +64713,7 @@ msgstr "이미 %s에 불을 붙였다. 던져야 한다." #. ~ Use action sound_msg for match head bomb (lit). #. ~ Use action sound_msg for dynamite (lit). #. ~ Use action sound_msg for fertilizer bomb (lit). -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py src/iuse.cpp +#: lang/json/TOOL_from_json.py msgid "ssss..." msgstr "쉬쉬쉭..." @@ -61935,7 +64739,7 @@ msgstr "%s의 도화선에 불을 붙였다." #. ~ Description for nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by nails and a fuse. Use this item to light the fuse. You will " "then have five turns before it explodes; throwing it would be a good idea." msgstr "" @@ -61955,8 +64759,8 @@ msgstr "이미 도화선에 불을 붙였다. 가만히 서서 뭐하는 거야? #. ~ Description for active nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by nails and a fuse. The fuse has been lit, you should throw it." +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by nails and a fuse. The fuse has been lit, you should throw it." msgstr "" #: lang/json/TOOL_from_json.py @@ -61967,7 +64771,7 @@ msgstr[0] "" #. ~ Description for fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by small pieces of metal and a fuse. Use this item to light the " "fuse. You will then have five turns before it explodes; throwing it would " "be a good idea." @@ -61981,8 +64785,8 @@ msgstr[0] "" #. ~ Description for active fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " "should throw it." msgstr "" @@ -62001,8 +64805,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think." msgstr "" #: lang/json/TOOL_from_json.py @@ -62014,8 +64818,53 @@ msgstr[0] "" #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think. The fuse has been lit, you should throw it." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think. The fuse has been lit, you should throw it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "" + +#. ~ Use action menu_text for jack o'lantern. +#. ~ Use action menu_text for candle. +#. ~ Use action menu_text for Louisville Slaughterer. +#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: src/veh_interact.cpp +msgid "Light" +msgstr "빛" + +#. ~ Use action msg for jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "You light the candle in the jack o'lantern." +msgstr "" + +#. ~ Description for jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"This is a plastic lantern that is painted to look like a pumpkin with a " +"face. It has a candle inside it, that can be replaced when burnt down. It " +"doesn't provide very much light, but it can burn for quite a long time. " +"You'll need a lighter or matches to light it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "spooky jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "" + +#. ~ Use action msg for spooky jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "The candle winks out inside the lantern." +msgstr "" + +#. ~ Description for spooky jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"There is a thick LED candle inside the pumpkin face. It doesn't provide " +"very much light, but it can burn for quite a long time. This candle is lit." +" The face shifts." msgstr "" #. ~ Description for battle axe @@ -62109,6 +64958,69 @@ msgstr "" "성냥머리를 채운 병에 도화선을 꽂은 것입니다. 불이 붙여져 도화선이 급속히 타들어라고 있습니다. 너무 오래 들고 있지 않는 것이 좋을지도" " 모릅니다." +#: lang/json/TOOL_from_json.py +msgid "black gunpowder bomb" +msgid_plural "black gunpowder bombs" +msgstr[0] "흑색화약 폭탄" + +#. ~ Use action msg for black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "" +"You light the fuse on the black gunpowder bomb. Throw it before it blows in" +" your face!" +msgstr "흑색화약 폭탄의 뇌관을 작동시켰다. 머리가 날아가기 전에 던져버려야 한다!" + +#. ~ Description for black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a bit of " +"fuse sticking out of it." +msgstr "검은 화약으로 가득 채워져 있고 그 속에서 도화선이 약간 튀어나온 깡통이다." + +#: lang/json/TOOL_from_json.py +msgid "active black gunpowder bomb" +msgid_plural "active black gunpowder bombs" +msgstr[0] "흑색화약 폭탄 (작동)" + +#. ~ Use action no_deactivate_msg for active black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "You've already lit the fuse - throw it!" +msgstr "이미 도화선에 불을 붙였다. 던져버리자!" + +#. ~ Use action sound_msg for active black gunpowder bomb. +#. ~ Use action sound_msg for active black gunpowder charge. +#. ~ Use action sound_msg for active RDX charge. +#: lang/json/TOOL_from_json.py +msgid "Kshhh." +msgstr "치지직." + +#. ~ Description for active black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a lit " +"fuse stuck inside of it." +msgstr "검은 화약으로 가득 채워진 깡통, 안에 불붙은 도화선이 박혀 있다." + +#: lang/json/TOOL_from_json.py +msgid "hobo stove (lit)" +msgid_plural "hobo stoves (lit)" +msgstr[0] "간이 조리기구 (불붙음)" + +#. ~ Use action msg for hobo stove (lit). +#. ~ Use action msg for ember carrier (lit). +#: lang/json/TOOL_from_json.py +msgid "The ember is extinguished." +msgstr "불씨가 꺼졌다." + +#. ~ Description for hobo stove (lit) +#. ~ Description for hobo stove +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small improvised wood stove, made from a metal can or similar " +"container of the right size. Useful for defrosting and reheating food, uses" +" simple tinder." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "folded poncho" msgid_plural "folded ponchos" @@ -62330,8 +65242,8 @@ msgstr[0] "" #. ~ Description for water mill #: lang/json/TOOL_from_json.py msgid "" -"A small water-powered mill that can convert starchy products into flour. Can" -" be placed via the construction menu." +"A small water-powered mill that can convert starchy products into flour. " +"Can be placed via the construction menu." msgstr "" #: lang/json/TOOL_from_json.py lang/json/furniture_from_json.py @@ -62342,8 +65254,8 @@ msgstr[0] "" #. ~ Description for wind mill #: lang/json/TOOL_from_json.py msgid "" -"A small wind-powered mill that can convert starchy products into flour. Can " -"be placed via the construction menu." +"A small wind-powered mill that can convert starchy products into flour. Can" +" be placed via the construction menu." msgstr "" #: lang/json/TOOL_from_json.py @@ -62630,14 +65542,6 @@ msgid "candle" msgid_plural "candles" msgstr[0] "양초" -#. ~ Use action menu_text for candle. -#. ~ Use action menu_text for hobo stove. -#. ~ Use action menu_text for Louisville Slaughterer. -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: src/veh_interact.cpp -msgid "Light" -msgstr "빛" - #. ~ Use action msg for candle. #: lang/json/TOOL_from_json.py msgid "You light the candle." @@ -62686,9 +65590,9 @@ msgstr[0] "전동칼 (꺼짐)" #: lang/json/TOOL_from_json.py msgid "" "An electric meat carver powered by batteries. Two serrated blades that " -"vibrate together to slice just about anything from turkey to ham... even " +"vibrate together to slice just about anything from turkey to ham… even " "zombies!" -msgstr "전동 정육 절단기. 두개의 톱칼날이 진동해서 살아 있는 닭을 치킨으로 만들어 줍니다... 좀비도 포함됩니다!" +msgstr "" #: lang/json/TOOL_from_json.py msgid "electric carver (on)" @@ -62846,6 +65750,19 @@ msgstr "" "물이 담긴 용기에 사용하면 물이 목탄층을 통과해 정화됩니다. 목탄이 일정량의 물을 정화시키면 더 이상 쓸 수 없게 되며, 그 때는 " "해체하거나 재활용 할 수 있습니다. 강처럼 출처가 불분명한 수원에서 얻은 물은 오염되었을 수 있습니다." +#: lang/json/TOOL_from_json.py +msgid "lifestraw" +msgid_plural "lifestraws" +msgstr[0] "" + +#. ~ Description for lifestraw +#: lang/json/TOOL_from_json.py +msgid "" +"Set the lifestraw in suspect water, let sit for one minute then drink. The " +"two part filtration system will purify the water you drink. Water taken " +"from uncertain sources like a river may be dirty." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "charcoal smoker" msgid_plural "charcoal smokers" @@ -63275,10 +66192,8 @@ msgstr[0] "전자수갑" #: lang/json/TOOL_from_json.py msgid "" "A pair of electronic handcuffs, used by police and riot bots to detain captives. Their continuous siren clearly identifies the wearer as an arrested criminal and alerts human police. Wait for their arrival, don't try to escape or to remove the cuffs - they will administer an electric shock.\n" -"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative..." +"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative…" msgstr "" -"경찰 로봇과 시위 진압 로봇이 범죄자를 구속할 때 사용하는 전자 수갑. 수갑에서 지속적으로 나오는 경보음이 착용자가 체포된 범죄자임을 다른 인간 경찰에게 명확하게 알리는 역할을 합니다. 경찰이 도착할 때까지 기다리시고, 도망치거나 수갑을 벗으려고 시도하지 마세요. 전자 수갑이 전기 충격을 가할 것입니다.\n" -"그런데 연락을 받고 올 만한 경찰이 전부 언데드가된터라, 당신은 아주 오랫동안 기다려야 할 것 같네요. 조금 창의력을 발휘하지 않는다면 말입니다…" #: lang/json/TOOL_from_json.py msgid "entrenching tool" @@ -64798,6 +67713,18 @@ msgstr "" "마스크와 산소조절기가 같이 있는 압축된 의료용 산소 팩. 일반적으로 비상상황에 사용하여, 천식발작이나 연기 흡입상태에서 회복할 수 있도록" " 도와주고 기운을 회복시켜줍니다." +#: lang/json/TOOL_from_json.py +msgid "oxygen cylinder" +msgid_plural "oxygen cylinders" +msgstr[0] "" + +#. ~ Description for oxygen cylinder +#: lang/json/TOOL_from_json.py +msgid "" +"A large steel cylinder used for storing pressurized gas. It is marked with " +"a faded, but legible O2 symbol." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "nitrogen tank" msgid_plural "nitrogen tanks" @@ -65145,8 +68072,8 @@ msgstr[0] "" #. ~ Description for sponge #: lang/json/TOOL_from_json.py msgid "" -"A sponge is a tool or cleaning aid made of soft, porous material. Typically " -"used for cleaning impervious surfaces." +"A sponge is a tool or cleaning aid made of soft, porous material. Typically" +" used for cleaning impervious surfaces." msgstr "" #: lang/json/TOOL_from_json.py @@ -65157,8 +68084,8 @@ msgstr[0] "" #. ~ Description for washing kit #: lang/json/TOOL_from_json.py msgid "" -"A combination kit of a washboard and a sponge. Everything you need to clean" -" items after the apocalypse." +"A combination kit of a washboard and a sponge or rag. Everything you need " +"to clean items after the apocalypse." msgstr "" #: lang/json/TOOL_from_json.py @@ -66019,49 +68946,6 @@ msgid "" "dynamite primer. The fuse has been lit - better run like hell!" msgstr "큰 금속 통에 ANFO 알갱이를 넣고 다이너마이트용 뇌관을 장치한 것이다. 뇌관이 작동되었다. 살고 싶으면 도망쳐야 한다!" -#: lang/json/TOOL_from_json.py -msgid "black gunpowder bomb" -msgid_plural "black gunpowder bombs" -msgstr[0] "흑색화약 폭탄" - -#. ~ Use action msg for black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "" -"You light the fuse on the black gunpowder bomb. Throw it before it blows in" -" your face!" -msgstr "흑색화약 폭탄의 뇌관을 작동시켰다. 머리가 날아가기 전에 던져버려야 한다!" - -#. ~ Description for black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a bit of " -"fuse sticking out of it." -msgstr "검은 화약으로 가득 채워져 있고 그 속에서 도화선이 약간 튀어나온 깡통이다." - -#: lang/json/TOOL_from_json.py -msgid "active black gunpowder bomb" -msgid_plural "active black gunpowder bombs" -msgstr[0] "흑색화약 폭탄 (작동)" - -#. ~ Use action no_deactivate_msg for active black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "You've already lit the fuse - throw it!" -msgstr "이미 도화선에 불을 붙였다. 던져버리자!" - -#. ~ Use action sound_msg for active black gunpowder bomb. -#. ~ Use action sound_msg for active black gunpowder charge. -#. ~ Use action sound_msg for active RDX charge. -#: lang/json/TOOL_from_json.py -msgid "Kshhh." -msgstr "치지직." - -#. ~ Description for active black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a lit " -"fuse stuck inside of it." -msgstr "검은 화약으로 가득 채워진 깡통, 안에 불붙은 도화선이 박혀 있다." - #: lang/json/TOOL_from_json.py msgid "black gunpowder charge" msgid_plural "black gunpowder charges" @@ -66078,10 +68962,8 @@ msgstr "흑색화약 폭약의 뇌관을 작동시켰다. 여기서 빨리 벗 msgid "" "This is a home-made explosive device, consisting of a large plastic jug " "filled with black gunpowder and scrap metal, equipped with a long fuse. Use" -" this item to light the fuse. Should explode in a few minutes..." +" this item to light the fuse. Should explode in a few minutes…" msgstr "" -"검은색 화약과 고철로 가득 찬 대형 플라스틱 통으로 구성된 수제 폭발장치. 긴 도화선이 장착됐습니다. 도화선에 불을 붙여 사용합니다. 몇" -" 분 안에 폭발할 것입니다." #: lang/json/TOOL_from_json.py msgid "active black gunpowder charge" @@ -66199,7 +69081,7 @@ msgstr "실내 보수작업이나 건설에 적합한 도구 세트를 모두 #: lang/json/TOOL_from_json.py msgid "extended toolset" msgid_plural "extended toolsets" -msgstr[0] "" +msgstr[0] "확장 도구모음" #. ~ Description for extended toolset #: lang/json/TOOL_from_json.py @@ -66214,11 +69096,13 @@ msgid_plural "torches" msgstr[0] "횃불" #. ~ Use action menu_text for torch. +#. ~ Use action menu_text for everburning torch. #: lang/json/TOOL_from_json.py msgid "Light torch" msgstr "횃불 점화" #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "You light the torch." msgstr "횃불에 불을 붙였다." @@ -66232,6 +69116,7 @@ msgid "" msgstr "가연성 물질을 적신 천조각을 둘둘 만 큰 막대. 불을 붙이면 상당히 밝아집니다. 불을 붙이려면 라이터나 성냥이 필요합니다." #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "The torch is extinguished." msgstr "횃불이 꺼졌다." @@ -66431,7 +69316,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "arc welder" msgid_plural "arc welders" -msgstr[0] "" +msgstr[0] "아크 용접기" #. ~ Description for arc welder #: lang/json/TOOL_from_json.py @@ -66443,7 +69328,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "makeshift arc welder" msgid_plural "makeshift arc welders" -msgstr[0] "" +msgstr[0] "수제 아크 용접기" #. ~ Description for makeshift arc welder #: lang/json/TOOL_from_json.py @@ -66453,6 +69338,8 @@ msgid "" "safety. While it's not as efficient as a factory welder, it will serve in a" " pinch." msgstr "" +"작은 변압기, 전선, 간이 전극 홀더 등으로 만든 투박한 아크 용접기입니다. 사용하는 사람의 안전 따윈 전혀 생각하지 않은 물건이며 " +"공장제 용접기보다 전력효율이 나쁘지만 급할 때는 쓸만합니다." #: lang/json/TOOL_from_json.py msgid "wooden smoother" @@ -66583,46 +69470,6 @@ msgid "hobo stove" msgid_plural "hobo stoves" msgstr[0] "간이 조리기구" -#. ~ Use action msg for hobo stove. -#: lang/json/TOOL_from_json.py -msgid "The hobo stove is lit." -msgstr "" - -#. ~ Use action need_fire_msg for hobo stove. -#: lang/json/TOOL_from_json.py src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -msgid "You need a source of fire!" -msgstr "불씨가 필요하다!" - -#. ~ Description for hobo stove -#. ~ Description for hobo stove (lit) -#: lang/json/TOOL_from_json.py -msgid "" -"This is a small improvised wood stove, made from a metal can or similar " -"container of the right size. Useful for defrosting and reheating food, uses" -" simple tinder." -msgstr "" - -#: lang/json/TOOL_from_json.py -msgid "hobo stove (lit)" -msgid_plural "hobo stoves (lit)" -msgstr[0] "간이 조리기구 (불붙음)" - -#. ~ Use action menu_text for hobo stove (lit). -#: lang/json/TOOL_from_json.py -msgid "Heat up food" -msgstr "음식 데우기" - -#. ~ Use action msg for hobo stove (lit). -#: lang/json/TOOL_from_json.py src/iuse.cpp -msgid "You heat up the food." -msgstr "음식을 데웠다." - -#. ~ Use action msg for hobo stove (lit). -#. ~ Use action msg for ember carrier (lit). -#: lang/json/TOOL_from_json.py -msgid "The ember is extinguished." -msgstr "불씨가 꺼졌다." - #: lang/json/TOOL_from_json.py msgid "ember carrier" msgid_plural "ember carriers" @@ -66633,6 +69480,11 @@ msgstr[0] "불씨 보관통" msgid "You light the tinder." msgstr "부싯깃에 불을 붙였다." +#. ~ Use action need_charges_msg for ember carrier. +#: lang/json/TOOL_from_json.py +msgid "The ember carrier is out of tinder." +msgstr "" + #. ~ Use action need_fire_msg for ember carrier. #: lang/json/TOOL_from_json.py msgid "You need a lighter or fire to light this." @@ -66784,8 +69636,8 @@ msgstr[0] "" #. ~ Description for grip hook #: lang/json/TOOL_from_json.py msgid "" -"A simple steel meathook with a circular steel handle. Makes a passable melee" -" weapon." +"A simple steel meathook with a circular steel handle. Makes a passable " +"melee weapon." msgstr "" #: lang/json/TOOL_from_json.py @@ -67131,7 +69983,7 @@ msgstr "" #. ~ Description for inactive TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M16A4. Using this item " +"This is an inactive TALON UGV equipped with an M16A4. Using this item " "involves loading the unit with the factory-loaded 5.56x45mm rounds in your " "inventory (if you wish to divide your ammunition, set aside whatever " "5.56x45mm you do NOT want to give the robot) turning it on, and placing it " @@ -67148,7 +70000,7 @@ msgstr[0] "" #. ~ Description for inactive M202A1 TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M202A1. Using this item " +"This is an inactive TALON UGV equipped with an M202A1. Using this item " "involves loading the unit with the M235 rockets in your inventory (if you " "wish to divide your ammunition, set aside whatever M235 rockets you do NOT " "want to give the robot) turning it on, and placing it on the ground. If " @@ -67234,9 +70086,9 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "" "This is a deactivated broken cyborg, the last shreds of its humanity still " -"rotting away. Using this item involves placing it on the ground and " +"rotting away. Using this item involves placing it on the ground and " "reactivating its mechanical body. If reprogrammed and rewired successfully " -"the cyborg will then follow you and attack enemies. You monster." +"the cyborg will then follow you and attack enemies. You monster." msgstr "" #: lang/json/TOOL_from_json.py @@ -67286,7 +70138,7 @@ msgstr "" #. ~ Description for inactive chicken walker #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive chicken walker. Using this item involves placing it on " +"This is an inactive chicken walker. Using this item involves placing it on " "the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm " "cartridge grenades in your inventory (if you wish to divide your ammunition," " set aside whatever ammunition you do NOT want to give the robot) and " @@ -67314,8 +70166,8 @@ msgstr "" #. ~ Description for inactive police bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive police robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive police robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "police bot will then identify you as law enforcement, roam around or follow " "you, and attempt to detain lawbreakers." msgstr "" @@ -67340,7 +70192,7 @@ msgstr "" #. ~ Description for inactive eyebot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive eyebot. Using this item involves turning it on and " +"This is an inactive eyebot. Using this item involves turning it on and " "launching the UAV. If reprogrammed and rewired successfully the eyebot will" " then keep watch for intruders." msgstr "" @@ -67363,8 +70215,8 @@ msgstr "" #. ~ Description for inactive cleaner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive cleaner bot. Using this item involves placing it on the " -"ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive cleaner bot. Using this item involves placing it on the" +" ground and turning it on. If reprogrammed and rewired successfully the " "cleaner bot will respond to future commands." msgstr "" @@ -67386,8 +70238,8 @@ msgstr "" #. ~ Description for inactive miner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive mining robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive mining robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "miner bot will respond to future commands." msgstr "" @@ -67410,9 +70262,9 @@ msgstr "" #. ~ Description for inactive riot control bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive riot control bot. Using this item involves placing it on" -" the ground and turning it on. If reprogrammed and rewired successfully the" -" robot will bring order and peace to the horde." +"This is an inactive riot control bot. Using this item involves placing it " +"on the ground and turning it on. If reprogrammed and rewired successfully " +"the robot will bring order and peace to the horde." msgstr "" #: lang/json/TOOL_from_json.py @@ -67433,7 +70285,7 @@ msgstr "" #. ~ Description for inactive skitterbot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive skitterbot. Using this item involves placing it on the " +"This is an inactive skitterbot. Using this item involves placing it on the " "ground and turning it on. If reprogrammed and rewired successfully the " "robot will race towards enemies and shock them." msgstr "" @@ -67485,7 +70337,7 @@ msgstr "" #. ~ Description for inactive tank drone #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " +"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " "it on the ground, loading the unit with the factory-loaded 5.56 rounds and " "40mm cartridge grenades in your inventory (if you wish to divide your " "ammunition, set aside whatever ammunition you do NOT want to give the robot)" @@ -67514,8 +70366,8 @@ msgstr "" #. ~ Description for inactive tripod #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Honda Regnal. Using this item involves placing it on the" -" ground, wondering how it fuels its flamethrower and turning it on. If " +"This is an inactive Honda Regnal. Using this item involves placing it on " +"the ground, wondering how it fuels its flamethrower and turning it on. If " "reprogrammed and rewired successfully the tribot will then identify you as " "an ally, roam around or follow you, and impale hostiles with its spiked " "cable weapons." @@ -67540,10 +70392,10 @@ msgstr "" #. ~ Description for inactive milspec searchlight #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive military-grade automated searchlight. Using this item " +"This is an inactive military-grade automated searchlight. Using this item " "involves placing it on the ground and turning it on. If reprogrammed and " "rewired successfully the searchlight will then identify you as an ally, " -"survey the area, and illuminate approaching hostiles. Seems to have an " +"survey the area, and illuminate approaching hostiles. Seems to have an " "unhealthy fascination with you." msgstr "" @@ -67863,7 +70715,7 @@ msgstr[0] "" msgid "" "This farming tool has been modified into an improvised weapon by rotating " "its blade 90 degrees, transforming it into a deadly giant blade on the end " -"of a stick. However it's quite fragile." +"of a stick. However it's quite fragile." msgstr "" #: lang/json/TOOL_from_json.py @@ -67955,6 +70807,20 @@ msgid "" " be deadly in either the right hands or when attached as a bayonet." msgstr "군용 대검. 가볍고 극히 예리하며, 숙달된 사람이 사용하면 치명적입니다. 총기에 부착해 총검으로 쓸 수도 있습니다." +#: lang/json/TOOL_from_json.py +msgid "modified combat knife" +msgid_plural "modified combat knives" +msgstr[0] "" + +#. ~ Description for modified combat knife +#: lang/json/TOOL_from_json.py +msgid "" +"This is a military combat knife. It is light and extremely sharp, and could" +" be deadly in either the right hands or when attached as a bayonet. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hunting knife" msgid_plural "hunting knives" @@ -68276,6 +71142,20 @@ msgid "" " of a firearm or crossbow converting it into a pike." msgstr "총검은 쇠뇌 또는 화기 앞에 날카로운 가시 형태로 장착하여 넓게 휘두를 수 있는 무기입니다. " +#: lang/json/TOOL_from_json.py +msgid "modified sword bayonet" +msgid_plural "modified sword bayonets" +msgstr[0] "" + +#. ~ Description for modified sword bayonet +#: lang/json/TOOL_from_json.py +msgid "" +"A sword bayonet is a large slashing weapon that can be attached to the front" +" of a firearm or crossbow converting it into a pike. This one was modified " +"and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" + #. ~ Description for tanto #: lang/json/TOOL_from_json.py msgid "" @@ -68373,6 +71253,54 @@ msgid "" "light for its size." msgstr "일본의 거대한 곡선형 양손도. 크기에 비하면 놀랍도록 가볍습니다." +#: lang/json/TOOL_from_json.py +msgid "electrified foil" +msgid_plural "electrified foils" +msgstr[0] "" + +#. ~ Description for electrified foil +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing foil may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "electrified épée" +msgid_plural "electrified épées" +msgstr[0] "" + +#. ~ Description for electrified épée +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing épée may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "electrified saber" +msgid_plural "electrified sabers" +msgstr[0] "" + +#. ~ Description for electrified saber +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing saber may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired to the tip along the saber's groove. Thrusting the " +"sharpened tip into a foe and activating the momentary switch will deliver a " +"painful electric shock." +msgstr "" + #. ~ Description for broadsword #: lang/json/TOOL_from_json.py msgid "" @@ -68722,6 +71650,32 @@ msgid "" "reinforce plastic items." msgstr "플라스틱 조각. 플라스틱 재질의 물건을 만들거나, 수리하거나, 강화하는데 사용할 수 있다." +#: lang/json/TOOL_from_json.py +msgid "synthetic fabric" +msgid_plural "synthetic fabrics" +msgstr[0] "" + +#. ~ Description for synthetic fabric +#: lang/json/TOOL_from_json.py +msgid "" +"This is small bolt of synthetic fabric. Unlike you and other natural " +"materials, it won't degrade much with age. Maybe that's less of a bad thing" +" now." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "lycra patch" +msgid_plural "lycra patches" +msgstr[0] "" + +#. ~ Description for lycra patch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small bolt of a synthetic fabric blended with stretchy lycra " +"fibers. It could be used to make flexible yet strong clothing. Stylish, " +"but bad for the environment; at least you're recycling it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hexamine stove" msgid_plural "hexamine stoves" @@ -69164,10 +72118,8 @@ msgstr[0] "양방향 라디오" #: lang/json/TOOL_from_json.py msgid "" "This is a radio with a transmitting unit. You could use it to contact " -"someone who also has one. Unfortunately no one seems to use those " -"nowadays..." +"someone who also has one. Unfortunately no one seems to use those nowadays…" msgstr "" -"송수신장치가 있는 라디오. 이걸 가진 사람들은 서로 연락할 수 있습니다. 불행하게도 요즘은 쓰는 사람이 아무도 없는 것 같습니다." #: lang/json/TOOL_from_json.py msgid "remote vehicle controller" @@ -69323,7 +72275,7 @@ msgstr[0] "" #. ~ Description for microscope #: lang/json/TOOL_from_json.py msgid "" -"A classic tool for the ages! This hefty, durable piece of lab equipment " +"A classic tool for the ages! This hefty, durable piece of lab equipment " "makes small things look bigger. Without electricity the light doesn't work," " but the rest of it is surprisingly functional. Unfortunately it's not " "useful for very much at the moment." @@ -69504,7 +72456,7 @@ msgstr[0] "굵은 케이블" msgid "" "A long, thick, heavy-duty cable with power leads on either end. It looks " "like you could use it to hook up two vehicles to each other, though you " -"expect the power loss would be noticeable. Can also link other electrical " +"expect the power loss would be noticeable. Can also link other electrical " "systems." msgstr "" @@ -69588,7 +72540,7 @@ msgstr[0] "" #: lang/json/TOOL_from_json.py msgid "atomic smartphone" msgid_plural "atomic smartphones" -msgstr[0] "" +msgstr[0] "원자력 스마트폰" #. ~ Description for atomic smartphone #: lang/json/TOOL_from_json.py @@ -69599,11 +72551,14 @@ msgid "" "price made them a rarity. It includes an alarm clock, a high-resolution " "camera, and a bright flashlight." msgstr "" +"Rivtech 원자력 스마트폰과 함께라면 더 이상 휴대전화를 충전할 필요가 없습니다. 천만년동안 사용할 수 있는 이 최첨단 기기는 " +"대재앙으로부터 1주일도 채 안 되는 시간 전에 시장에 나왔으며, 눈물나는 가격이 이 기기를 희귀하게 만들었습니다. 이 기기는 알람시계와," +" 고해상도 카메라, 그리고 밝은 손전등이 포함되어 있습니다." #: lang/json/TOOL_from_json.py msgid "atomic smartphone - Flashlight" msgid_plural "atomic smartphones - Flashlight" -msgstr[0] "" +msgstr[0] "원자력 스마트폰 - 손전등" #: lang/json/TOOL_from_json.py msgid "atompot" @@ -69869,14 +72824,111 @@ msgid "" " to a potato." msgstr "" +#: lang/json/TOOL_from_json.py +msgid "heat cube" +msgid_plural "heat cubes" +msgstr[0] "" + +#. ~ Use action menu_text for heat cube. +#: lang/json/TOOL_from_json.py +msgid "Activate torch mode" +msgstr "" + +#. ~ Use action msg for heat cube. +#: lang/json/TOOL_from_json.py +msgid "" +"You push the torch button and the cube emits a large flame from the top, one" +" that does radiate heat, but won't burn anything." +msgstr "" + +#. ~ Description for heat cube +#: lang/json/TOOL_from_json.py +msgid "" +"A smooth steel cube the size of your fist. Several buttons on the sides " +"activate the powers of the cube." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "heat cube (torch on)" +msgid_plural "heat cubes (torch on)" +msgstr[0] "" + +#. ~ Use action msg for heat cube (torch on). +#: lang/json/TOOL_from_json.py +msgid "The torch flame is extinguished." +msgstr "" + +#. ~ Description for heat cube (torch on) +#: lang/json/TOOL_from_json.py +msgid "" +"The heat cube in the torch configuration, where it emits warmth and a bright" +" flame that does not burn." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "skeleton key of opening" +msgid_plural "skeleton key of opening" +msgstr[0] "" + +#. ~ Description for skeleton key of opening +#: lang/json/TOOL_from_json.py +msgid "" +"A small gold skeleton key. You can activate it to unlock locked things." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "everburning torch" +msgid_plural "everburning torches" +msgstr[0] "" + +#. ~ Description for everburning torch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality engraved wooden torch. On command, the tip bursts " +"into flame and produces a fair amount of light. It will burn forever." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "enchanted tailor's kit" +msgid_plural "enchanted tailor's kits" +msgstr[0] "" + +#. ~ Description for enchanted tailor's kit +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality, engraved steel kit with a variety of needles, some " +"plastic spools for thread, some small scissors, even a small heating element" +" for melting and joining plastic. Use a tailor's kit to customize your " +"clothing and armor. This uses your tailoring skill. It also contains one " +"of those magic spiders that constantly, if slowly, makes new thread." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "spider box" +msgid_plural "spider boxes" +msgstr[0] "" + +#. ~ Description for spider box +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small glass box that contains a spider that diligently works day " +"and night to produce silk thread that it stores in a reservoir you can open " +"and retrieve it from." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "Magic Wand" msgid_plural "Magic Wands" msgstr[0] "" +#: lang/json/TOOL_from_json.py +msgid "Disposable Wand" +msgid_plural "Disposable Wands" +msgstr[0] "" + #: lang/json/TOOL_from_json.py msgid "minor wand of magic missile" -msgid_plural "minor wand of magic missiles" +msgid_plural "minor wands of magic missile" msgstr[0] "" #. ~ Description for minor wand of magic missile @@ -69890,17 +72942,17 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of magic missile" -msgid_plural "lesser wand of magic missiles" +msgid_plural "lesser wands of magic missile" msgstr[0] "" #: lang/json/TOOL_from_json.py msgid "greater wand of magic missile" -msgid_plural "greater wand of magic missiles" +msgid_plural "greater wands of magic missile" msgstr[0] "" #: lang/json/TOOL_from_json.py msgid "minor wand of fireball" -msgid_plural "minor wand of fireballs" +msgid_plural "minor wands of fireball" msgstr[0] "" #. ~ Description for minor wand of fireball @@ -69914,17 +72966,17 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of fireball" -msgid_plural "lesser wand of fireballs" +msgid_plural "lesser wands of fireball" msgstr[0] "" #: lang/json/TOOL_from_json.py msgid "greater wand of fireball" -msgid_plural "greater wand of fireballs" +msgid_plural "greater wands of fireball" msgstr[0] "" #: lang/json/TOOL_from_json.py msgid "minor wand of mana beam" -msgid_plural "minor wand of mana beams" +msgid_plural "minor wands of mana beam" msgstr[0] "" #. ~ Description for minor wand of mana beam @@ -69938,17 +72990,17 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of mana beam" -msgid_plural "lesser wand of mana beams" +msgid_plural "lesser wands of mana beam" msgstr[0] "" #: lang/json/TOOL_from_json.py msgid "greater wand of mana beam" -msgid_plural "greater wand of mana beams" +msgid_plural "greater wands of mana beam" msgstr[0] "" #: lang/json/TOOL_from_json.py msgid "minor wand of point flare" -msgid_plural "minor wand of point flares" +msgid_plural "minor wands of point flare" msgstr[0] "" #. ~ Description for minor wand of point flare @@ -69962,41 +73014,41 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of point flare" -msgid_plural "lesser wand of point flares" +msgid_plural "lesser wands of point flare" msgstr[0] "" #: lang/json/TOOL_from_json.py msgid "greater wand of point flare" -msgid_plural "greater wand of point flares" +msgid_plural "greater wands of point flare" msgstr[0] "" #: lang/json/TOOL_from_json.py -msgid "minor wand of iceball" -msgid_plural "minor wand of iceballs" +msgid "minor wand of hoary blast" +msgid_plural "minor wands of hoary blast" msgstr[0] "" -#. ~ Description for minor wand of iceball -#. ~ Description for lesser wand of iceball -#. ~ Description for greater wand of iceball +#. ~ Description for minor wand of hoary blast +#. ~ Description for lesser wand of hoary blast +#. ~ Description for greater wand of hoary blast #: lang/json/TOOL_from_json.py msgid "" "A slender wooden wand with a mana crystal socket at the base that casts a " -"spell when activated. This wand casts iceball." +"spell when activated. This wand casts hoary blast." msgstr "" #: lang/json/TOOL_from_json.py -msgid "lesser wand of iceball" -msgid_plural "lesser wand of iceballs" +msgid "lesser wand of hoary blast" +msgid_plural "lesser wands of hoary blast" msgstr[0] "" #: lang/json/TOOL_from_json.py -msgid "greater wand of iceball" -msgid_plural "greater wand of iceballs" +msgid "greater wand of hoary blast" +msgid_plural "greater wands of hoary blast" msgstr[0] "" #: lang/json/TOOL_from_json.py msgid "minor wand of cone of cold" -msgid_plural "minor wand of cone of colds" +msgid_plural "minor wands of cone of cold" msgstr[0] "" #. ~ Description for minor wand of cone of cold @@ -70010,12 +73062,156 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of cone of cold" -msgid_plural "lesser wand of cone of colds" +msgid_plural "lesser wands of cone of cold" msgstr[0] "" #: lang/json/TOOL_from_json.py msgid "greater wand of cone of cold" -msgid_plural "greater wand of cone of colds" +msgid_plural "greater wands of cone of cold" +msgstr[0] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of magic missile" +msgid_plural "disposable minor wands of magic missile" +msgstr[0] "" + +#. ~ Description for disposable minor wand of magic missile +#. ~ Description for disposable lesser wand of magic missile +#. ~ Description for disposable greater wand of magic missile +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts magic missile." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of magic missile" +msgid_plural "disposable lesser wands of magic missile" +msgstr[0] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of magic missile" +msgid_plural "disposable greater wands of magic missile" +msgstr[0] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of fireball" +msgid_plural "disposable minor wands of fireball" +msgstr[0] "" + +#. ~ Description for disposable minor wand of fireball +#. ~ Description for disposable lesser wand of fireball +#. ~ Description for disposable greater wand of fireball +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts fireball." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of fireball" +msgid_plural "disposable lesser wands of fireball" +msgstr[0] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of fireball" +msgid_plural "disposable greater wands of fireball" +msgstr[0] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of mana beam" +msgid_plural "disposable minor wands of mana beam" +msgstr[0] "" + +#. ~ Description for disposable minor wand of mana beam +#. ~ Description for disposable lesser wand of mana beam +#. ~ Description for disposable greater wand of mana beam +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts mana beam." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of mana beam" +msgid_plural "disposable lesser wands of mana beam" +msgstr[0] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of mana beam" +msgid_plural "disposable greater wands of mana beam" +msgstr[0] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of point flare" +msgid_plural "disposable minor wands of point flare" +msgstr[0] "" + +#. ~ Description for disposable minor wand of point flare +#. ~ Description for disposable lesser wand of point flare +#. ~ Description for disposable greater wand of point flare +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts point flare." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of point flare" +msgid_plural "disposable lesser wands of point flare" +msgstr[0] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of point flare" +msgid_plural "disposable greater wands of point flare" +msgstr[0] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of hoary blast" +msgid_plural "disposable minor wands of hoary blast" +msgstr[0] "" + +#. ~ Description for disposable minor wand of hoary blast +#. ~ Description for disposable lesser wand of hoary blast +#. ~ Description for disposable greater wand of hoary blast +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts hoary blast." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of hoary blast" +msgid_plural "disposable lesser wands of hoary blast" +msgstr[0] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of hoary blast" +msgid_plural "disposable greater wands of hoary blast" +msgstr[0] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of cone of cold" +msgid_plural "disposable minor wands of cone of cold" +msgstr[0] "" + +#. ~ Description for disposable minor wand of cone of cold +#. ~ Description for disposable lesser wand of cone of cold +#. ~ Description for disposable greater wand of cone of cold +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts cone of cold." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of cone of cold" +msgid_plural "disposable lesser wands of cone of cold" +msgstr[0] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of cone of cold" +msgid_plural "disposable greater wands of cone of cold" msgstr[0] "" #: lang/json/TOOL_from_json.py @@ -70093,7 +73289,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "Magus rune" -msgid_plural "Magus runes" +msgid_plural "Magi runes" msgstr[0] "" #. ~ Description for Magus rune @@ -70223,7 +73419,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "wand of fireballs" -msgid_plural "wand of fireballss" +msgid_plural "wands of fireball" msgstr[0] "" #. ~ Description for wand of fireballs @@ -70235,7 +73431,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "wand of magic missiles" -msgid_plural "wand of magic missiless" +msgid_plural "wands of magic missile" msgstr[0] "" #. ~ Description for wand of magic missiles @@ -70637,11 +73833,6 @@ msgid "" "This is a stick that has been cut into a trigger mechanism for a snare trap." msgstr "올가미 덫에 사용하기 위해 손질한 막대기." -#: lang/json/TOOL_from_json.py -msgid "Laevateinn" -msgid_plural "Laevateinns" -msgstr[0] "레바테인" - #. ~ Description for Laevateinn #: lang/json/TOOL_from_json.py msgid "" @@ -71198,7 +74389,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive atomic sultan" msgid_plural "inactive atomic sultans" -msgstr[0] "" +msgstr[0] "원자력 술탄 (꺼짐)" #: lang/json/TOOL_from_json.py msgid "active glowball" @@ -71734,6 +74925,17 @@ msgid "" " terribly when not on a rail." msgstr "" +#: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py +msgid "pair of small rail wheels" +msgstr "" + +#. ~ Description for pair of small rail wheels +#: lang/json/WHEEL_from_json.py +msgid "" +"A pair of small rail wheels. It fits small railroad rails found in places " +"like amusement parks. Mostly for hobby purposes rather then transportation." +msgstr "" + #: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py msgid "motorbike wheel" msgstr "오토바이 바퀴" @@ -72090,6 +75292,10 @@ msgstr "" msgid "cranking" msgstr "" +#: lang/json/activity_type_from_json.py +msgid "heating" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "de-stressing" msgstr "" @@ -72725,7 +75931,7 @@ msgstr "합금 보호판-팔" #. ~ Description for Alloy Plating - Arms #: lang/json/bionic_from_json.py msgid "" -"The flesh on your arms has been surgically replaced by alloy plating. " +"The flesh on your arms has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" @@ -72760,7 +75966,7 @@ msgstr "합금 보호판-다리" #. ~ Description for Alloy Plating - Legs #: lang/json/bionic_from_json.py msgid "" -"The flesh on your legs has been surgically replaced by alloy plating. " +"The flesh on your legs has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" @@ -73069,15 +76275,20 @@ msgstr "에탄올 반응로" #. ~ Description for Ethanol Burner #: lang/json/bionic_from_json.py -msgid "" -"You burn alcohol as fuel in an extremely efficient reaction. However, you " -"will still suffer the inebriating effects of the substance." -msgstr "아주 효과적인 반응을 통해 알코올을 연료로 사용할 수 있습니다. 하지만 여전히 술에 취하며, 숙취로 고통받을 수도 있습니다." +msgid "You burn alcohol as fuel in an extremely efficient reaction." +msgstr "" #: lang/json/bionic_from_json.py msgid "Aero-Evaporator" msgstr "대기 증류장치" +#. ~ Description for Aero-Evaporator +#: lang/json/bionic_from_json.py +msgid "" +"This unit draws moisture from the surrounding air, which slowly trickles " +"directly into your blood stream. It may fail in very dry environments." +msgstr "" + #: lang/json/bionic_from_json.py msgid "Diamond Cornea" msgstr "다이아몬드 각막" @@ -73176,7 +76387,7 @@ msgid "" "You don't think that capacitor is *meant* to glow, but it does, and usually " "at bad times. A malfunctioning bionic randomly turns on and off, causing " "you to glow and making you visible in the dark without improving how much " -"you can see in the slighest." +"you can see in the slightest." msgstr "" #: lang/json/bionic_from_json.py @@ -73321,10 +76532,10 @@ msgstr "" "작동을 중단하면 좋지 못한 부작용이 생길 수 있습니다." #: lang/json/bionic_from_json.py -msgid "Mini-Flamethrower" -msgstr "소형 화염방사기" +msgid "Finger Lighter" +msgstr "" -#. ~ Description for Mini-Flamethrower +#. ~ Description for Finger Lighter #: lang/json/bionic_from_json.py msgid "" "The index fingers of both hands have powerful fire starters which extend " @@ -73351,8 +76562,8 @@ msgstr "전자석 장치" #: lang/json/bionic_from_json.py msgid "" "Surgically embedded in your right hand is a powerful electromagnet, allowing" -" you to indiscriminately pull all nearby magnetic objects towards you. " -"Unlucky bystanders might be injured or killed by flying objects." +" you to use your own strength to pull all nearby magnetic objects towards " +"you. Unlucky bystanders might be injured or killed by flying objects." msgstr "" #: lang/json/bionic_from_json.py @@ -73411,14 +76622,21 @@ msgstr "재생 나노로봇" #: lang/json/bionic_from_json.py msgid "" "Inside your body is a fleet of tiny dormant robots. While activated they " -"will flit about your body, repairing damage at 1 HP/s and stopping bleeding " -"at the cost of power." +"will flit about your body, repairing damage at 1 HP per minute and stopping " +"bleeding at the cost of extra power and stored calories." msgstr "" #: lang/json/bionic_from_json.py msgid "Artificial Night Generator" msgstr "인공 심야 발생기" +#. ~ Description for Artificial Night Generator +#: lang/json/bionic_from_json.py +msgid "" +"When active, this bionic eliminates all light within a 2 tile radius through" +" destructive interference." +msgstr "" + #: lang/json/bionic_from_json.py msgid "Implanted Night Vision" msgstr "광 증폭 시야" @@ -73441,10 +76659,8 @@ msgstr "고장난 바이오닉입니다. 가끔씩 시끄러운 소음을 냅니 msgid "" "You're really not sure how the CBM ended up in your nose, but no matter how " "it got there this badly misplaced bionic makes it difficult to breathe. " -"Increases mouth encumbrance by one." +"Increases mouth encumbrance by ten." msgstr "" -"어떻게 이 CBM이 코에 설치된 건지는 잘 모르겠지만, 잘못 설치된 이 바이오닉이 숨쉬기를 어렵게 만들지만 않았다면 그런건 딱히 " -"상관없었을 텐데요. 입의 방해도가 1 상승합니다." #: lang/json/bionic_from_json.py msgid "Offensive Defense System" @@ -73475,7 +76691,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "Due to a badly misplaced dielectric stylette, you are now suffering from " -"mild optic neuropathy. Increases eye encumbrance by one." +"mild optic neuropathy. Increases eye encumbrance by ten." msgstr "" #: lang/json/bionic_from_json.py @@ -73508,7 +76724,7 @@ msgstr "전력 저장소" #. ~ Description for Power Storage #: lang/json/bionic_from_json.py msgid "" -"A Compact Bionics Module that increases your power capacity by 100 units. " +"A Compact Bionics Module that increases your power capacity by 100 kJ. " "Having at least one of these is a prerequisite to using powered bionics. " "You will also need a power supply, found in various CBMs." msgstr "" @@ -73519,8 +76735,7 @@ msgstr "전력 저장소 Mk. II" #. ~ Description for Power Storage Mk. II #: lang/json/bionic_from_json.py -msgid "" -"A Compact Bionics Module that increases your power capacity by 250 units." +msgid "A Compact Bionics Module that increases your power capacity by 250 kJ." msgstr "" #. ~ Description for Power Overload @@ -73808,10 +77023,8 @@ msgstr "" msgid "" "Self-locking thumbs hold tight (even when you really don't want them to) and" " don't let go (even when you'd rather they did). Increases hand encumbrance" -" by two, while failing to improve your ability to hold objects whatsoever." +" by ten, while failing to improve your ability to hold objects whatsoever." msgstr "" -"잘못 설치된 이 바이오닉은 당신의 손가락을 (당신이 제발 그러지 않기를 바랄 때조차도) 무언가를 꽉 붙잡고 (당신이 붙잡았을 때조차도) " -"놓지못하게 합니다. 손의 방해도가 2 상승하며, 물체를 붙잡아야 하는 모든 행동의 실패 가능성이 높아집니다." #: lang/json/bionic_from_json.py msgid "Time Dilation" @@ -73841,7 +77054,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "Extended Toolset" -msgstr "" +msgstr "확장 도구모음" #. ~ Description for Extended Toolset #: lang/json/bionic_from_json.py @@ -73940,8 +77153,8 @@ msgstr "" #. ~ Description for Gasoline Fuel Cell CBM #: lang/json/bionic_from_json.py msgid "" -"A small gasoline fuel cell fixed to your scapula. Despite its limited energy" -" output compared to other fuel cells, this device still produces a " +"A small gasoline fuel cell fixed to your scapula. Despite its limited " +"energy output compared to other fuel cells, this device still produces a " "significant amount of heat dissipated through a heat exhaust protruding from" " your back. A diffuse network of bio-plastic bladders has been meshed with " "your circulatory system and serves as a fuel tank." @@ -73994,7 +77207,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "A set of highly sensitive sensors is installed in your mouth, and a small " -"yet sophisticated analyzer is installed in the cavity of your skull. The " +"yet sophisticated analyzer is installed in the cavity of your skull. The " "active bionic will nullify the taste of all comestibles with negative " "enjoyment value at the cost of draining bionic power." msgstr "" @@ -74183,7 +77396,7 @@ msgid "Dodging and melee is hampered." msgstr "회피와 근접 공격에 방해됩니다." #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Torso" msgstr "상체" @@ -74202,7 +77415,7 @@ msgid "head" msgstr "머리" #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Head" msgstr "머리" @@ -74681,6 +77894,18 @@ msgstr "" msgid "Make Woodchip Floor" msgstr "" +#: lang/json/construction_from_json.py +msgid "Make Gravel Floor" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Straight Small Railroad Track" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Diagonal Small Railroad Track" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Wooden Floor" msgstr "" @@ -74793,6 +78018,14 @@ msgstr "철책 문 만들기" msgid "Needs to be supported on both sides by fencing, walls, etc." msgstr "울타리나 벽 따위로 양쪽에서 지지해주어야 합니다." +#: lang/json/construction_from_json.py +msgid "Build Screen Door" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Screen Mesh Wall" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Chickenwire Fence" msgstr "" @@ -74833,6 +78066,10 @@ msgstr "옷장 만들기" msgid "Build Bookcase" msgstr "책장 만들기" +#: lang/json/construction_from_json.py +msgid "Build Entertainment Center" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Locker" msgstr "사물함 만들기" @@ -74865,6 +78102,10 @@ msgstr "탁자 만들기" msgid "Place Table" msgstr "" +#: lang/json/construction_from_json.py +msgid "Build Coffee Table" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Workbench" msgstr "" @@ -75315,6 +78556,10 @@ msgstr "" msgid "Build a radio tower console." msgstr "" +#: lang/json/construction_from_json.py +msgid "Build Log Stool" +msgstr "" + #: lang/json/construction_from_json.py msgid "Convert Fridge Power Supply" msgstr "" @@ -76016,6 +79261,42 @@ msgstr "" msgid "You dream of bees fighting over your sweet nectar. Mmm." msgstr "당신이 가지고 있는 달콤한 꿀을 두고 벌들이 다투는 꿈을 꾸었습니다." +#: lang/json/dream_from_json.py +msgid "" +"How grand it would be to sink your roots deep into the soil as the seasons " +"pass you by." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "You dream of a gigantic knot of roots, beating like a heart." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "You have a disturbing dream of termites chewing all over your body." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of sharing your roots with a vast forest, all plants provided for " +"as the canopy grows ever upwards." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "A family of caterpillars munches away at your leaves." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"Fire rages around you, licking at your bark and engulfing the saplings and " +"bushes near your roots. The once chatty forest is quiet in its wake." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of communing with an ancient pine. Trees are the true survivors " +"of this world, it tells you." +msgstr "" + #: lang/json/dream_from_json.py msgid "" "A rather attractive triffid offers you a bouquet of ape heads. How " @@ -77315,6 +80596,25 @@ msgstr "손의 떨림이 도무지 멈추질 않는다." msgid "You tremble" msgstr "몸이 떨린다." +#: lang/json/effects_from_json.py +msgid "Seizure" +msgstr "" + +#. ~ Description of effect 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles have seized up, and you can't control them!" +msgstr "" + +#. ~ Remove message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "You regain control of your muscles!" +msgstr "" + +#. ~ Miss message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles won't cooperate!" +msgstr "" + #: lang/json/effects_from_json.py msgid "Bleeding" msgstr "출혈" @@ -78220,6 +81520,26 @@ msgstr "신진대사가 불안정해졌다." msgid "Your metabolism becomes more stable." msgstr "신진대사의 균형이 바로 잡히고 있습니다." +#: lang/json/effects_from_json.py +msgid "Concerning symptoms" +msgstr "" + +#. ~ Description of effect 'Concerning symptoms'. +#: lang/json/effects_from_json.py +msgid "Your muscles keep twitching strangely." +msgstr "" + +#: lang/json/effects_from_json.py +msgid "Unnerving symptoms" +msgstr "" + +#. ~ Description of effect 'Unnerving symptoms'. +#: lang/json/effects_from_json.py +msgid "" +"Your nervous system is malfunctioning, almost like it's being torn apart " +"from the inside." +msgstr "" + #: lang/json/effects_from_json.py msgid "Lit up" msgstr "빛이 남" @@ -78462,6 +81782,17 @@ msgstr "" msgid "You've been struck by lightning, and feel... different." msgstr "" +#: lang/json/effects_from_json.py +msgid "Grown of Fusion" +msgstr "" + +#. ~ Description of effect 'Grown of Fusion'. +#: lang/json/effects_from_json.py +msgid "" +"AI effect to increase stats after fusing with another critter. 1 stack means" +" one absorbed max_hp." +msgstr "" + #: lang/json/effects_from_json.py msgid "Religious Offense" msgstr "" @@ -78774,6 +82105,33 @@ msgstr "" msgid "The earth pulls you down hard." msgstr "" +#: lang/json/effects_from_json.py +msgid "Scared" +msgstr "" + +#: lang/json/effects_from_json.py +msgid "Frightened" +msgstr "" + +#: lang/json/effects_from_json.py src/npc.cpp +msgid "Terrified" +msgstr "공포에 질린" + +#: lang/json/effects_from_json.py +msgid "" +"Your knees are shaking, your heart beats fast, and your stomach rebels." +msgstr "" + +#. ~ Apply message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "You are afraid!" +msgstr "" + +#. ~ Remove message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "Your fear dissipates." +msgstr "" + #: lang/json/effects_from_json.py msgid "Stuck in a light snare" msgstr "가는 올가미에 걸림" @@ -79044,6 +82402,192 @@ msgid "" "the commotion." msgstr "" +#: lang/json/epilogue_from_json.py +msgid "" +" Became a hunter after your death, living alone in the woods. Traced " +"back to his cabin, he was murdered and devoured in his sleep by an actual " +"cannibal." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived for many years, and became a renowned scavenger, eventually " +"setting up a small shop in a Free Merchant outpost. Survived by two sons, " +"he died after a rare artifact poisoned his blood with acid." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered and scavenged the land for years after your death, " +"eventually becoming a skilled mechanic. Employed by the Free Merchants, he " +"lived a comfortable, if rather uneventful life, dying of cancer, a rare " +"luxury these days." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became truly depressed after your death and hid in the woods. If " +"rumors are to be believed, he spent years living as a deranged hermit in a " +"distant cave, worshiping stones and sacrificing dogs." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" After your death, he became obsessed with preserving old knowledge and " +"eventually became known as 'the lorekeeper'. Hired by the Old Guard as a " +"librarian, he spent his life amongst dusty old books, trying to convince " +"others of their value. He even changed his name to Frederic Bastiat, in " +"honor of an old French philosopher." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He found faith after your death, eventually joining an Anglican " +"community and becoming a Vicar. The crucifix provided him with a sense of " +"meaning, before dying horribly at the hands of raiders. He was still " +"praying when they roasted him alive." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Lost and damned, he joined a bloody cult after your death, kidnapping " +"and sacrificing young women. His entire group was killed after being " +"discovered by the Old Guard. His head was put on a spike as a reminder that" +" cultists will not be tolerated." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He did not survive for long after your death. Electrocuted in an old " +"cellar, he kept screaming your name. His body was never found." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived you by just a few days, he drowned trying to escape from a " +"horde." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered alone for days, before finding a Free Merchant outpost. He" +" spent a few years as a caravan guard, often drinking himself half blind and" +" enjoying any woman he could find. Booze made his grip unsteady and he was " +"eventually fired. He died of alcohol poisoning the same day." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with the idea of settling down, he eventually found love and " +"retired to a farm in the middle of nowhere. Relatively safe from the " +"monsters, he thrived for years. Survived by seven sons and two daughters." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became famous in the wastes after finding an old brewery and copying " +"their recipe. His chilled beer, a known delicacy, is traded far and wide by" +" the Free Merchants." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Found a whole cellar of single malt whisky. Drank himself to death." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed after your death, he would hang himself after just a few " +"days." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Wandered for months, before finding a small community that would accept" +" him. Became a farmer and spent the rest of his uneventful life tending to " +"crops, glad that he was no longer alone." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with finding 'the Cure', he died a few weeks later in an old " +"lab, torn to shreds by a security turret." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a runner for the Refugee Center and died after a few months." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a raider gang and died in a firefight a few weeks later, trying " +"to rob a Free Merchant caravan." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, he eventually found an intact baseball field and built " +"a prosperous farming community there." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He spent the rest of his short life looking for a new fix. Died of an " +"overdose in an abandoned basement." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a small fishing village. Died a few years " +"later in a raider attack, alongside his young son." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Thoroughly terrified by your death, he retired to an old LMOE shelter, " +"vowing never to leave. He died of starvation inside." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He became a very prosperous game hunter, trading meat and furs, and " +"providing many settlements with food in exchange for booze and male company." +" He died years later of an STD." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Retired to the woods, he spent the rest of his life fishing and hunting" +" in a desolate cabin, rarely interacting with anyone else." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Died en route to California, deliriously dreaming of a better life as " +"he was slowly devoured by spiders." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He tried to cope with loneliness after your death, but failed. He was " +"blind drunk when a group of zombies found his hideout and didn't stand a " +"chance." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He didn't survive for long, waking up to a horde of zombies. They " +"smashed through his fortified windows in a pinch and only the last bullet " +"prevented him from being devoured alive." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He got sick soon after your death, and died without any medical help. " +"His last words were 'Why did I live long enough to suffer like that?'" +msgstr "" + #: lang/json/epilogue_from_json.py msgid "" " Committed suicide rather than fall into the hands of the Hell's " @@ -79263,6 +82807,167 @@ msgid "" "weeks after being dragged to her cell she died from dehydration." msgstr "" +#: lang/json/epilogue_from_json.py +msgid "" +" Shot by the Old Guard a few weeks later, hunted down after she robbed " +"an important caravan." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, she eventually found a quiet community there and spent " +"the rest of her life farming. She's survived by four daughters." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a runner for the Old Guard and was eventually permitted to " +"join. She spent the rest of her life hunting raiders. She died in a " +"skirmish after a few years, sacrificing her life to let her unit retreat. " +"Her name is venerated in songs and inscriptions." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Shortly after your death she joined the Free Merchants, becoming a " +"caravan guard and after a few months became the new liaison in the Refugee " +"Center. She died a few years later of a mysterious illness." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She was found half-dead by the Old Guard who took her in. She became a" +" famous scavenger, known for finding an intact stash of experimental " +"antibiotics." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She retired to the forest, where she built her own cabin and spending " +"the rest of her life fishing." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Captured by raiders, she spent the rest of her miserable life as a " +"slave. Hopeless, she slit her wrists with a rusty knife." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed, she joined a protestant community and became a paragon of " +"virtue. Devoting her life to bible study, she spent the rest of her life in" +" relative peace." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Killed and devoured by a cannibal just a few days after your death, " +"hardly anyone remembers her name." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a renowned merchant after your death, she built her own outpost " +"in the west. An avid book collector, she established a great library to " +"keep the flame of knowledge burning." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled around for months before finding an old farm. She spent a few" +" years tending to her crops and living the life of a hermit before being " +"killed by raiders for fun." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a settlement there. She became a renowned " +"engineer, building the largest steam engine in New England." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a gang after your death, she spent months preying on the " +"innocent, before dying in a dispute with a fellow brute." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Devoured alive by a group of zombies, she kept thinking of you as she " +"died." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She found an abandoned APC and spent years traveling around and " +"collecting personal stories. She wrote one of the few post-apocalyptic " +"books, detailing the life after the end." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Kept wandering for years. Her life was cut short when a group of " +"raiders used her as a target practice." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a skilled game hunter and one of the best shots in the " +"wasteland. Years later she joined the Old Guard and was given the position " +"of Marshal." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Desperate to save humanity from extinction, she organized her own group" +" of survivors, whose job was to hunt bandits and decorate roads with their " +"mutilated bodies. She died in a skirmish a few months later." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became an arsonist, and was incinerated a few weeks later in a fire" +" she set." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She kept wandering for a few weeks but eventually died after drinking " +"untreated water." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She wandered north and joined a local community there. She became " +"known for her trapping skills and ensured that the locals always had fresh " +"meat on their tables." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She joined the Free Merchants and led their first caravan to Canada. " +"She died a few years later of dysentery." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She built a boat and sailed east towards Europe, hoping that it was not" +" affected by the apocalypse. She was never heard from again." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She led a doomsday cult for a few years, she was sacrificed to their " +"gods after a particularly terrible harvest." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became obsessed with chems, and died of an overdose a few months after " +"your death." +msgstr "" + #: lang/json/faction_from_json.py msgid "Your Followers" msgstr "당신의 동료들" @@ -79418,10 +83123,10 @@ msgid "A small family surviving on their generational land." msgstr "" #: lang/json/faction_from_json.py -msgid "God's Community" +msgid "New England Church Community" msgstr "" -#. ~ Description for God's Community +#. ~ Description for New England Church Community #: lang/json/faction_from_json.py msgid "" "A small group of churchgoers that formed a community in the woods. They " @@ -79459,143 +83164,311 @@ msgstr "" msgid "Dusty" msgstr "" -#. ~ Description for Dusty +#. ~ description for fault 'Dusty' #: lang/json/fault_from_json.py -msgid "It's dusty. Has no effect - obsolete fault." +msgid "It's dusty. Has no effect - obsolete fault." +msgstr "" + +#. ~ name of mending method for fault 'Dusty' +#: lang/json/fault_from_json.py +msgid "Wipe clean" +msgstr "" + +#. ~ success message for mending method 'Wipe clean' of fault 'Dusty' +#. ~ success message for mending method 'Clean gun' of fault 'Fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean you %s." msgstr "" #: lang/json/fault_from_json.py msgid "Already deployed" msgstr "" -#. ~ Description for Already deployed +#. ~ description for fault 'Already deployed' #: lang/json/fault_from_json.py msgid "This bionic needs to be reset to its factory state." msgstr "" +#. ~ name of mending method for fault 'Already deployed' +#: lang/json/fault_from_json.py +msgid "Reset to factory state" +msgstr "" + +#. ~ success message for mending method 'Reset to factory state' of fault +#. 'Already deployed' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully reset the %s to its factory state" +msgstr "" + #: lang/json/fault_from_json.py msgid "Blackpowder fouling" msgstr "" -#. ~ Description for Blackpowder fouling +#. ~ description for fault 'Blackpowder fouling' #: lang/json/fault_from_json.py msgid "" "Firing blackpowder loads from a gun fouls it, which reduces reliability and," -" if left uncleaned, leads to rust. It fouls the gun much faster than the use" -" of modern smokeless powder cartridges. Fouling is only a significant impact" -" on reliability at high levels, but black powder fouling accumulates " +" if left uncleaned, leads to rust. It fouls the gun much faster than the " +"use of modern smokeless powder cartridges. Fouling is only a significant " +"impact on reliability at high levels, but black powder fouling accumulates " "quickly." msgstr "" +#. ~ name of mending method for fault 'Blackpowder fouling' +#: lang/json/fault_from_json.py +msgid "Clean blackpowder fouling" +msgstr "" + +#. ~ success message for mending method 'Clean blackpowder fouling' of fault +#. 'Blackpowder fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean your %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Spent casing in chamber" msgstr "" -#. ~ Description for Spent casing in chamber +#. ~ description for fault 'Spent casing in chamber' #: lang/json/fault_from_json.py msgid "" "This gun currently has an empty casing chambered. It will have to be " "removed before firing." msgstr "" +#. ~ name of mending method for fault 'Spent casing in chamber' +#: lang/json/fault_from_json.py +msgid "Eject spent casing" +msgstr "" + +#. ~ success message for mending method 'Eject spent casing' of fault 'Spent +#. casing in chamber' +#: lang/json/fault_from_json.py +#, python-format +msgid "You eject the spent casing from the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Fouling" msgstr "" -#. ~ Description for Fouling +#. ~ description for fault 'Fouling' #: lang/json/fault_from_json.py msgid "" "Fouling is caused by firing gunpowder loads repeatedly, which reduces " -"reliability and can eventually cause damage to the gun. Fouling accumulates " -"slowly (unless blackpowder is used) due to the design of modern smokeless " +"reliability and can eventually cause damage to the gun. Fouling accumulates" +" slowly (unless blackpowder is used) due to the design of modern smokeless " "powder found in the vast majority of retail cartridges and it is not a " "significant problem until high levels of fouling are reached due to firing " "thousands of rounds without cleaning your firearm." msgstr "" +#. ~ name of mending method for fault 'Fouling' +#: lang/json/fault_from_json.py +msgid "Clean gun" +msgstr "" + #: lang/json/fault_from_json.py msgid "Worn drive belt" msgstr "" -#. ~ Description for Worn drive belt +#. ~ description for fault 'Worn drive belt' #: lang/json/fault_from_json.py msgid "Required for operation of an attached alternator." msgstr "장착된 발전기의 동작에 필요합니다." +#. ~ name of mending method for fault 'Worn drive belt' +#: lang/json/fault_from_json.py +msgid "Replace worn drive belt" +msgstr "" + +#. ~ success message for mending method 'Replace worn drive belt' of fault +#. 'Worn drive belt' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the worn drive belt of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty glow plugs" msgstr "" -#. ~ Description for Faulty glow plugs +#. ~ description for fault 'Faulty glow plugs' #: lang/json/fault_from_json.py msgid "Help when starting an engine in low ambient temperatures." msgstr "낮은 온도에서 시동을 걸 때 도움이 됩니다." +#. ~ name of mending method for fault 'Faulty glow plugs' +#: lang/json/fault_from_json.py +msgid "Replace faulty glow plugs" +msgstr "" + +#. ~ success message for mending method 'Replace faulty glow plugs' of fault +#. 'Faulty glow plugs' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty glow plugs of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Active immobiliser" msgstr "" -#. ~ Description for Active immobiliser +#. ~ description for fault 'Active immobiliser' #: lang/json/fault_from_json.py msgid "Prevents starting of the vehicle without the appropriate key." msgstr "알맞은 열쇠 없이 차량에 시동을 걸지 못하도록 합니다." +#. ~ name of mending method for fault 'Active immobiliser' +#: lang/json/fault_from_json.py +msgid "Deactivate immobiliser" +msgstr "" + +#. ~ description for mending method 'Deactivate immobiliser' of fault 'Active +#. immobiliser' +#: lang/json/fault_from_json.py +msgid "" +"Deactivate the immobiliser that is preventing the vehicle from starting." +msgstr "" + +#. ~ success message for mending method 'Deactivate immobiliser' of fault +#. 'Active immobiliser' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully deactivate the immobiliser of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty diesel pump" msgstr "" -#. ~ Description for Faulty diesel pump +#. ~ description for fault 'Faulty diesel pump' #: lang/json/fault_from_json.py msgid "Required to pump and pressurize diesel from a vehicles tank." msgstr "" +#. ~ name of mending method for fault 'Faulty diesel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty diesel pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty diesel pump' of fault +#. 'Faulty diesel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty diesel pump of the %s" +msgstr "" + #: lang/json/fault_from_json.py msgid "Expired air filter" msgstr "" -#. ~ Description for Expired air filter +#. ~ description for fault 'Expired air filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces fuel efficiency and increases smoke production." msgstr "수명이 다된 필터는 연소 효율을 떨어뜨리며 배기가스량도 늘어납니다." +#. ~ name of mending method for fault 'Expired air filter' +#: lang/json/fault_from_json.py +msgid "Replace expired air filter" +msgstr "" + +#. ~ success message for mending method 'Replace expired air filter' of fault +#. 'Expired air filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired air filter of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Expired fuel filter" msgstr "" -#. ~ Description for Expired fuel filter +#. ~ description for fault 'Expired fuel filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces performance and increases the chance of backfires." msgstr "수명이 다된 필터는 성능저하를 일으키며 엔진 역화 가능성도 커집니다." +#. ~ name of mending method for fault 'Expired fuel filter' +#: lang/json/fault_from_json.py +msgid "Replace expired fuel filter" +msgstr "" + +#. ~ success message for mending method 'Replace expired fuel filter' of fault +#. 'Expired fuel filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired fuel filter of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty fuel pump" msgstr "" -#. ~ Description for Faulty fuel pump +#. ~ description for fault 'Faulty fuel pump' #: lang/json/fault_from_json.py msgid "Required to pump gasoline from a vehicles tank." msgstr "차량 탱크에서 휘발유를 끌어오기 위해 필요합니다." +#. ~ name of mending method for fault 'Faulty fuel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty fuel pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty fuel pump' of fault +#. 'Faulty fuel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty fuel pump of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty water pump" msgstr "" -#. ~ Description for Faulty water pump +#. ~ description for fault 'Faulty water pump' #: lang/json/fault_from_json.py msgid "Required to pump water to an external radiator or heatsink." msgstr "외부 방열기 또는 히트싱크에 워터 펌프가 필요합니다." +#. ~ name of mending method for fault 'Faulty water pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty water pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty water pump' of fault +#. 'Faulty water pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty water pump of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty starter motor" msgstr "" -#. ~ Description for Faulty starter motor +#. ~ description for fault 'Faulty starter motor' #: lang/json/fault_from_json.py msgid "Required to initially start the engine." msgstr "엔진에 시동을 걸기 위해 필요합니다." +#. ~ name of mending method for fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +msgid "Replace faulty starter motor" +msgstr "" + +#. ~ success message for mending method 'Replace faulty starter motor' of +#. fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty starter motor of %s." +msgstr "" + #: lang/json/field_type_from_json.py lang/json/overmap_terrain_from_json.py #: lang/json/overmap_terrain_from_json.py src/mapdata.cpp src/mapdata.cpp #: src/skill.cpp @@ -80082,6 +83955,22 @@ msgstr "" msgid "smoke vent" msgstr "" +#: lang/json/field_type_from_json.py +msgid "clairvoyance" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "dreadful presense" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "frightful presense" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "terrifying presense" +msgstr "" + #: lang/json/furniture_from_json.py msgid "mutated cactus" msgstr "변이된 선인장" @@ -80095,13 +83984,11 @@ msgstr "" msgid "A big, blocky metal device for refrigerating large areas." msgstr "" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "metal screeching!" msgstr "끼기기기긱!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "clang!" msgstr "큰 금속음!" @@ -80203,6 +84090,50 @@ msgid "" "although it still has parts." msgstr "" +#: lang/json/furniture_from_json.py +msgid "document shredder" +msgstr "" + +#. ~ Description for document shredder +#: lang/json/furniture_from_json.py +msgid "" +"It's not all about hiding government secrets, sometimes you just want to " +"stop identity theft." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "server stack" +msgstr "" + +#. ~ Description for server stack +#: lang/json/furniture_from_json.py +msgid "This is a big pile of computers. They're all turned off." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "large satellite dish" +msgstr "" + +#. ~ Description for large satellite dish +#: lang/json/furniture_from_json.py +msgid "" +"Somewhere up there, there are still satellites, orbiting and doing their " +"thing, sending signals down to an Earth that is no longer listening." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "mounted solar panel" +msgstr "" + +#. ~ Description for mounted solar panel +#: lang/json/furniture_from_json.py +msgid "A mounted solar panel." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "whack!" +msgstr "꽝!" + #: lang/json/furniture_from_json.py msgid "road barricade" msgstr "도로 바리케이드" @@ -80214,11 +84145,11 @@ msgstr "" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py #: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +#: src/vehicle_move.cpp msgid "smash!" msgstr "쾅!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "whump." msgstr "쿵." @@ -80271,6 +84202,113 @@ msgstr "모래주머니 벽" msgid "A sandbag wall." msgstr "" +#: lang/json/furniture_from_json.py +msgid "standing mirror" +msgstr "전신거울" + +#. ~ Description for standing mirror +#: lang/json/furniture_from_json.py +msgid "Lookin' good - is that blood?" +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "glass breaking" +msgstr "쨍그랑!" + +#: lang/json/furniture_from_json.py +msgid "broken standing mirror" +msgstr "깨진 전신거울" + +#. ~ Description for broken standing mirror +#: lang/json/furniture_from_json.py +msgid "" +"You could look at yourself, if the mirror wasn't covered in cracks and " +"fractures." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bitts" +msgstr "" + +#. ~ Description for bitts +#: lang/json/furniture_from_json.py +msgid "" +"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " +"to secure mooring lines, ropes, hawsers, or cables." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "manacles" +msgstr "족쇄" + +#. ~ Description for manacles +#: lang/json/furniture_from_json.py +msgid "" +"Chain serfs in your dungeon. All you need now is an iron ball to chain to " +"it." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "crack." +msgstr "콰직." + +#: lang/json/furniture_from_json.py +msgid "statue" +msgstr "동상" + +#. ~ Description for statue +#: lang/json/furniture_from_json.py +msgid "A carved statue made of stone." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +msgid "thump." +msgstr "쿵." + +#: lang/json/furniture_from_json.py +msgid "mannequin" +msgstr "마네킹" + +#. ~ Description for mannequin +#: lang/json/furniture_from_json.py +msgid "" +"Put clothes on it, talk to it. Who's around to judge you? Wait… did it " +"just move?" +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "birdbath" +msgstr "" + +#. ~ Description for birdbath +#: lang/json/furniture_from_json.py +msgid "A decorative cement birdbath and pedestal." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "rotary clothes dryer line" +msgstr "" + +#. ~ Description for rotary clothes dryer line +#: lang/json/furniture_from_json.py +msgid "A umbrella shaped clothes line mounted on a pole." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "floor lamp" +msgstr "" + +#. ~ Description for floor lamp +#: lang/json/furniture_from_json.py +msgid "A tall standing lamp, meant to plug into a wall and light up a room." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bonk!" +msgstr "" + #: lang/json/furniture_from_json.py msgid "indoor plant" msgstr "실내 조경식물" @@ -80382,6 +84420,85 @@ msgid "" "be used for planting crops. This one contains a planted seedling" msgstr "" +#: lang/json/furniture_from_json.py +msgid "spider egg sack" +msgstr "거미 알주머니" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Much too large, off-white egg sack. Kind of icky. Something IS moving in " +"there." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "splat!" +msgstr "촤악!" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " +"in there." +msgstr "" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"A horrifyingly oversized egg sack. Something IS moving in there. If you're" +" seeing this, you're already too close to it." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "ruptured egg sack" +msgstr "터진 알주머니" + +#. ~ Description for ruptured egg sack +#: lang/json/furniture_from_json.py +msgid "Super icky. Spider stuff's spilling out." +msgstr "" + +#. ~ Description for swamp gas +#: lang/json/furniture_from_json.py +msgid "" +"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " +"toxic gas." +msgstr "" + +#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp +msgid "splash!" +msgstr "철퍽!" + +#. ~ Description for fog +#: lang/json/furniture_from_json.py +msgid "This is a misty cloud of fog." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "fake workbench hands" +msgstr "" + +#. ~ Description for fake workbench hands +#: lang/json/furniture_from_json.py +msgid "This fake workbench holds the stats for working on a wielded item." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "ground crafting spot" +msgstr "" + +#. ~ Description for ground crafting spot +#: lang/json/furniture_from_json.py +msgid "" +"A cleared spot on the ground for crafting. Slower than using a workbench or" +" holding a project in your hands, but readily available." +msgstr "" + +#. ~ Description for seeing this is a bug +#: lang/json/furniture_from_json.py +msgid "Seeing this is a bug. If seen, please report and destroy." +msgstr "" + #: lang/json/furniture_from_json.py msgid "fireplace" msgstr "벽난로" @@ -80546,7 +84663,7 @@ msgid "" msgstr "" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: src/iuse.cpp +#: lang/json/terrain_from_json.py src/iuse.cpp msgid "crunch!" msgstr "우지끈!" @@ -80559,7 +84676,7 @@ msgstr "말로스 꽃" msgid "" "This flower is like the other flowers taken by the mushrooms, but its bulb " "is colored a brilliant cyan color, and it emits an aroma both overwhelming " -"and... delicious?" +"and… delicious?" msgstr "" #: lang/json/furniture_from_json.py @@ -80595,6 +84712,100 @@ msgid "" "Alien mold and stems mingle tightly here, creating a sort of fungal bush." msgstr "" +#: lang/json/furniture_from_json.py +msgid "stone slab" +msgstr "석재 평판" + +#. ~ Description for stone slab +#: lang/json/furniture_from_json.py +msgid "A flat slab of heavy stone." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "headstone" +msgstr "비석" + +#. ~ Description for headstone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +msgid "thump!" +msgstr "쿵!" + +#: lang/json/furniture_from_json.py +msgid "gravestone" +msgstr "묘비" + +#. ~ Description for gravestone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies. More fancy." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "worn gravestone" +msgstr "낡은 묘비" + +#. ~ Description for worn gravestone +#: lang/json/furniture_from_json.py +msgid "A worn-out gravestone." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "obelisk" +msgstr "오벨리스크" + +#. ~ Description for obelisk +#: lang/json/furniture_from_json.py +msgid "Monument to pride." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "thunk!" +msgstr "꽝!" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "robotic assembler" +msgstr "기계식 조립기" + +#. ~ Description for robotic assembler +#: lang/json/furniture_from_json.py +msgid "" +"A durable and versatile robotic arm with a tool fitted to the end, for " +"working on an assembly line." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "chemical mixer" +msgstr "화학 물질 혼합기" + +#. ~ Description for chemical mixer +#: lang/json/furniture_from_json.py +msgid "" +"When chemicals need to be mixed in large quantities at just the right " +"combinations and temperatures, this is the tool for the job." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "robotic arm" +msgstr "로봇팔" + +#. ~ Description for robotic arm +#: lang/json/furniture_from_json.py +msgid "" +"Automation! Science! Industry! Make a better horse! This robot arm " +"promises to do it all. Except it's currently unpowered. You could remove " +"the casing and retrieve the electronics through disassembly." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "thunk." +msgstr "꽝." + #: lang/json/furniture_from_json.py msgid "Autodoc Mk. XI" msgstr "" @@ -80606,10 +84817,6 @@ msgid "" "It's only as skilled as its operator." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "whack!" -msgstr "꽝!" - #: lang/json/furniture_from_json.py msgid "Autodoc operation couch" msgstr "" @@ -80898,9 +85105,9 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "This is a meaty green stalactite with a thickened hide like that of a " -"starfish, extending from the floor to the ceiling. In the center is a series" -" of ports somewhat like mouths, from which pour bursts of a vile smelling " -"gas." +"starfish, extending from the floor to the ceiling. In the center is a " +"series of ports somewhat like mouths, from which pour bursts of a vile " +"smelling gas." msgstr "" #: lang/json/furniture_from_json.py @@ -80926,10 +85133,6 @@ msgid "" "out of injured vessels." msgstr "" -#: lang/json/furniture_from_json.py -msgid "splat!" -msgstr "촤악!" - #: lang/json/furniture_from_json.py msgid "slimy pod" msgstr "" @@ -80974,7 +85177,7 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "This pulsing protuberance juts from the floor, its sides covered in scaled, " -"oozing skin. The surface is flat, but undulates softly. A handful of " +"oozing skin. The surface is flat, but undulates softly. A handful of " "unidentifiable appendages reach from the sides, suggesting a sort of " "nightmarish living autodoc." msgstr "" @@ -81131,12 +85334,6 @@ msgid "" "your workout. Might have useful electronic parts in it." msgstr "" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py src/map.cpp -#: src/mapdata.cpp -msgid "thump!" -msgstr "쿵!" - #: lang/json/furniture_from_json.py msgid "treadmill" msgstr "런닝머신" @@ -81145,7 +85342,7 @@ msgstr "런닝머신" #: lang/json/furniture_from_json.py msgid "" "Used for training leg muscles. It'll be extra hard without power. Could be" -" taken apart for its... parts." +" taken apart for its… parts." msgstr "" #: lang/json/furniture_from_json.py @@ -81171,7 +85368,7 @@ msgstr "피아노" #: lang/json/furniture_from_json.py msgid "" "The ol' ebony and ivory. Really classes up the place. You could take it " -"apart if you wanted... you monster." +"apart if you wanted… you monster." msgstr "" #: lang/json/furniture_from_json.py @@ -81182,6 +85379,18 @@ msgstr "" msgid "kerchang." msgstr "" +#: lang/json/furniture_from_json.py +msgid "speaker cabinet" +msgstr "" + +#. ~ Description for speaker cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A cabinet loaded with 12-inch speakers, intended to help make various things" +" loud. It can't serve its original purpose these days, but it could be " +"disassembled for various electronic parts." +msgstr "" + #: lang/json/furniture_from_json.py msgid "cell phone signal booster" msgstr "" @@ -81313,6 +85522,53 @@ msgstr "" msgid "stool" msgstr "" +#. ~ Description for camp chair +#: lang/json/furniture_from_json.py +msgid "Sit down, have a drink. It can folded for easy transportation." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "log stool" +msgstr "" + +#. ~ Description for log stool +#: lang/json/furniture_from_json.py +msgid "" +"A log tipped on its end with any rough edges cut off. Basically a very " +"simple seat." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bulletin board" +msgstr "게시판" + +#. ~ Description for bulletin board +#: lang/json/furniture_from_json.py +msgid "" +"A big, cork bulletin board capable of sporting various notices. Pin some " +"notes for other survivors to read." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "sign" +msgstr "표지판" + +#. ~ Description for sign +#: lang/json/furniture_from_json.py +msgid "Read it. Warnings ahead." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "warning sign" +msgstr "" + +#. ~ Description for warning sign +#: lang/json/furniture_from_json.py +msgid "" +"A triangle-shaped sign on a post meant to indicate something important or " +"hazard." +msgstr "" + #: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py msgid "bed" msgstr "침대" @@ -81350,7 +85606,7 @@ msgstr "" msgid "rrrrip!" msgstr "찌이이이익!" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/furniture_from_json.py msgid "" "A comfortable feather down mattress has been tossed on the floor for " @@ -81385,6 +85641,15 @@ msgstr "" msgid "Stores books. Y'know, those things. Who reads books anymore?" msgstr "" +#: lang/json/furniture_from_json.py +msgid "entertainment center" +msgstr "" + +#. ~ Description for entertainment center +#: lang/json/furniture_from_json.py +msgid "Stores audio visual equipment, books and collectible." +msgstr "" + #: lang/json/furniture_from_json.py msgid "coffin" msgstr "관" @@ -81429,6 +85694,21 @@ msgstr "열린 상자" msgid "What's inside? Look in it!" msgstr "" +#. ~ Description for large cardboard box +#: lang/json/furniture_from_json.py +msgid "" +"A large cardboard box: this could be used to store things, or as a hiding " +"place." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "crumple!" +msgstr "" + +#: lang/json/furniture_from_json.py src/ballistics.cpp +msgid "thud." +msgstr "툭." + #: lang/json/furniture_from_json.py msgid "cupboard" msgstr "찬장" @@ -81580,6 +85860,27 @@ msgstr "쓰레기통" msgid "One man's trash is another man's dinner." msgstr "" +#: lang/json/furniture_from_json.py +msgid "wardrobe" +msgstr "옷장" + +#. ~ Description for wardrobe +#: lang/json/furniture_from_json.py +msgid "A tall piece of furniture - basically a freestanding closet." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "filing cabinet" +msgstr "사무용 수납장" + +#. ~ Description for filing cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " +"locked to protect important information. If you're lucky, there are often " +"keys nearby." +msgstr "" + #: lang/json/furniture_from_json.py msgid "utility shelf" msgstr "" @@ -81598,6 +85899,42 @@ msgstr "나무통" msgid "A keg made mostly of wood. Holds liquids, preferably alcoholic." msgstr "" +#: lang/json/furniture_from_json.py +msgid "display case" +msgstr "진열장" + +#. ~ Description for display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff fancily and securely." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "broken display case" +msgstr "부서진 진열장" + +#. ~ Description for broken display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff. It'll get stolen." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "standing tank" +msgstr "물탱크" + +#. ~ Description for standing tank +#: lang/json/furniture_from_json.py +msgid "A large freestanding metal tank, useful for holding liquids." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "dumpster" +msgstr "쓰레기 컨테이너" + +#. ~ Description for dumpster +#: lang/json/furniture_from_json.py +msgid "Stores trash. Doesn't get picked up anymore. Note the smell." +msgstr "" + #: lang/json/furniture_from_json.py msgid "counter" msgstr "계산대" @@ -81669,7 +86006,7 @@ msgstr "" #. ~ Description for tourist table #: lang/json/furniture_from_json.py msgid "" -"Small metal folding table, ideal for off-road trips into the wild. Can be " +"Small metal folding table, ideal for off-road trips into the wild. Can be " "used as a workbench in a pinch." msgstr "" @@ -81682,269 +86019,199 @@ msgstr "탁자" msgid "Sit down when you eat!" msgstr "" +#. ~ Description for table #: lang/json/furniture_from_json.py -msgid "forge" -msgstr "용광로" - -#. ~ Description for forge -#: lang/json/furniture_from_json.py -msgid "Metalworking station typically used in combination with an anvil." +msgid "a low table for livingrooms." msgstr "" -#. ~ Description for anvil #: lang/json/furniture_from_json.py -msgid "Used in metalworking." -msgstr "" +msgid "tatami mat" +msgstr "다다미" -#. ~ Description for still +#. ~ Description for tatami mat #: lang/json/furniture_from_json.py msgid "" -"An essential component for brewing and chemistry that allows for refining " -"liquid mixtures." +"A tatami is a type of mat used as a flooring material in traditional " +"Japanese-style rooms." msgstr "" -#. ~ Description for charcoal kiln -#. ~ Description for filled charcoal kiln #: lang/json/furniture_from_json.py -msgid "" -"A rock kiln designed to burn wood and organic material into charcoal in " -"absence of oxygen." +msgid "pillow fort" msgstr "" +#. ~ Description for pillow fort #: lang/json/furniture_from_json.py -msgid "metal charcoal kiln" -msgstr "금속 목탄 가마" - -#. ~ Description for metal charcoal kiln -#. ~ Description for filled metal charcoal kiln -#: lang/json/furniture_from_json.py -msgid "" -"A metal kiln designed to burn wood and organic material into charcoal in " -"absence of oxygen." +msgid "A comfy place to hide from the world. Not very defensible, though." msgstr "" #: lang/json/furniture_from_json.py -msgid "filled metal charcoal kiln" -msgstr "금속 목탄 가마-가득참" - -#. ~ Description for arc furnace -#. ~ Description for filled arc furnace -#: lang/json/furniture_from_json.py -msgid "" -"An arc furnace designed to burn a powdery mix of coke and limestone to " -"create calcium carbide." +msgid "paf!" msgstr "" #: lang/json/furniture_from_json.py -msgid "filled arc furnace" +msgid "cardboard fort" msgstr "" -#: lang/json/furniture_from_json.py -msgid "smoking rack" -msgstr "훈제 선반" - -#. ~ Description for smoking rack -#. ~ Description for metal smoking rack -#. ~ Description for active metal smoking rack +#. ~ Description for cardboard fort #: lang/json/furniture_from_json.py msgid "" -"A special rack designed to smoke food for better preservation and taste." +"A fort built by tipping a cardboard box on its side, lining it with " +"blankets, and partly weather sealing it with a plastic sheet." msgstr "" #: lang/json/furniture_from_json.py -msgid "active smoking rack" +msgid "cardboard wall" msgstr "" -#. ~ Description for active smoking rack +#. ~ Description for cardboard wall #: lang/json/furniture_from_json.py msgid "" -"A special rack designed to smoke food for better preservation and taste. It" -" is lit and smoking." +"This is a pile of cardboard boxes that have been filled with rags and junk " +"and stacked together like bricks to form a wall." msgstr "" #: lang/json/furniture_from_json.py -msgid "active metal smoking rack" +msgid "beaded curtain" msgstr "" +#. ~ Description for beaded curtain #: lang/json/furniture_from_json.py -msgid "rock forge" -msgstr "석재 용광로" - -#. ~ Description for rock forge -#: lang/json/furniture_from_json.py -msgid "" -"Metalworking station made of rock, typically used in combination with an " -"anvil." +msgid "This beaded curtain could be pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "clay kiln" -msgstr "점토 가마" +msgid "clickity clack… clack… clack" +msgstr "" -#. ~ Description for clay kiln #: lang/json/furniture_from_json.py -msgid "A kiln designed to bake clay pottery and bricks." +msgid "clickity clack… clack" msgstr "" -#. ~ Description for stepladder #: lang/json/furniture_from_json.py -msgid "" -"A short, foldable ladder. Can help you climb to a rooftop, or maybe slow " -"something down." +msgid "open beaded curtain" msgstr "" +#. ~ Description for open beaded curtain #: lang/json/furniture_from_json.py -msgid "electric arc furnace" +msgid "This beaded curtain has been pulled aside." msgstr "" -#. ~ Description for electric arc furnace #: lang/json/furniture_from_json.py -msgid "" -"Not the kind of furnace you'd heat your house with, this is a device for " -"heating things to extreme temperatures as part of industrial fabrication " -"processes." +msgid "clickity clack… clack… clack!" msgstr "" #: lang/json/furniture_from_json.py -msgid "drill press" -msgstr "" +msgid "canvas floor" +msgstr "캔버스 바닥" -#. ~ Description for drill press +#. ~ Description for canvas floor #: lang/json/furniture_from_json.py msgid "" -"A powerful drill mounted on a slide that lets it drop precisely down. " -"Useful in all kinds of projects from industrial fabrication to home " -"woodworking." +"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " +"of the tent." msgstr "" #: lang/json/furniture_from_json.py -msgid "tablesaw" -msgstr "" +msgid "canvas wall" +msgstr "캔버스 벽" -#. ~ Description for tablesaw +#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "" -"A rotating saw blade set into a large flat table, for making straight " -"measured cuts. One of the key tools in a carpenter's arsenal." +msgid "A wall made of stretched, waterproof cloth." msgstr "" -#: lang/json/furniture_from_json.py -msgid "mitre saw" -msgstr "" +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "slap!" +msgstr "찰싹!" -#. ~ Description for mitre saw +#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "" -"A circular saw blade on an arm that can slide and rotate in several " -"directions, this is a staple tool for nearly any carpentry." +msgid "A wall made of stretched, heavy-duty, waterproof cloth." msgstr "" #: lang/json/furniture_from_json.py -msgid "bandsaw" -msgstr "" +msgid "canvas flap" +msgstr "캔버스 덮개" -#. ~ Description for bandsaw +#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "" -"A ribbonlike sawblade runs in a single direction in this tool, allowing " -"precise cuts at almost any angle." +msgid "This canvas flap door could be pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "router table" -msgstr "" +msgid "open canvas flap" +msgstr "열린 캔버스 덮개" -#. ~ Description for router table +#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "" -"This table has an inset router, a rotating motor with an exchangeable blade " -"head for cutting specific profiles and grooves and stuff." +msgid "This canvas flap door has been pulled aside." msgstr "" +#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "planer" +msgid "This heavy canvas flap door could be pulled aside." msgstr "" -#. ~ Description for planer +#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "" -"A hefty tool that will take in a board and cut it smooth and flat to a " -"specific width. Particularly great if working with raw lumber stock, but " -"also good just for shaving wood down to size." +msgid "This heavy canvas flap door has been pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "jointer" -msgstr "" +msgid "groundsheet" +msgstr "방수포" -#. ~ Description for jointer +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "" -"A table-shaped tool with a rotating blade that will cut down, smooth out, " -"and square off a board to make it very smooth and nice indeed." +msgid "This plastic groundsheet could keep you dry." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "hydraulic press" -msgstr "수력 압착기" - -#. ~ Description for hydraulic press +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "" -"If you really want to squash something a lot, this would be exactly the " -"right industrial tool for you. If, you know, it had power." +msgid "This large plastic groundsheet could keep you dry." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "power lathe" -msgstr "동력 선반" - -#. ~ Description for power lathe +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py msgid "" -"An industrial-grade lathe, for turning chunks of metal and other hard things" -" into round chunks of metal and other hard things." +"This plastic government-issue groundsheet could keep you dry, but was made " +"by the lowest bidder." msgstr "" #: lang/json/furniture_from_json.py -msgid "air compressor" -msgstr "" +msgid "animalskin wall" +msgstr "짐승가죽 벽" -#. ~ Description for air compressor +#. ~ Description for animalskin wall #: lang/json/furniture_from_json.py -msgid "" -"This durable tank is topped with a motor that will cram as much air into the" -" tank as possible." +msgid "Wall made out of animal skin. Either an amazing or horrifying sight." msgstr "" #: lang/json/furniture_from_json.py -msgid "fermenting vat" -msgstr "" +msgid "animalskin flap" +msgstr "짐승가죽 덮개" -#. ~ Description for fermenting vat -#. ~ Description for filled fermenting vat +#. ~ Description for animalskin flap #: lang/json/furniture_from_json.py -msgid "A sealable vat for fermenting vinegar and various alcoholic brews." +msgid "This animal skin flap could be pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "filled fermenting vat" -msgstr "" +msgid "open animalskin flap" +msgstr "열린 짐승가죽 덮개" +#. ~ Description for open animalskin flap #: lang/json/furniture_from_json.py -msgid "butchering rack" +msgid "This animal skin flap has been pulled aside." msgstr "" -#. ~ Description for butchering rack #: lang/json/furniture_from_json.py -msgid "Butchering rack designed to hang a carcass in the air." -msgstr "" +msgid "animalskin floor" +msgstr "짐승가죽 바닥" -#. ~ Description for metal butchering rack +#. ~ Description for animalskin floor #: lang/json/furniture_from_json.py -msgid "" -"Metal butchering rack designed to hang a carcass in the air. It can be " -"deconstructed and folded for easy transportation." +msgid "This animal skin groundsheet could keep you dry." msgstr "" #: lang/json/furniture_from_json.py @@ -81974,8 +86241,7 @@ msgstr "" #. ~ Description for pile of trashy rubble #: lang/json/furniture_from_json.py msgid "" -"Trash topped with dirt and grass, it smells gross, but another man's " -"trash..." +"Trash topped with dirt and grass, it smells gross, but another man's trash…" msgstr "" #: lang/json/furniture_from_json.py @@ -81997,461 +86263,308 @@ msgid "Some ash, from wood or possibly bodies." msgstr "" #: lang/json/furniture_from_json.py -msgid "bulletin board" -msgstr "게시판" +msgid "small boulder" +msgstr "작은 바위" -#. ~ Description for bulletin board +#. ~ Description for small boulder #: lang/json/furniture_from_json.py msgid "" -"A big, cork bulletin board capable of sporting various notices. Pin some " -"notes for other survivors to read." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "sign" -msgstr "표지판" - -#. ~ Description for sign -#: lang/json/furniture_from_json.py -msgid "Read it. Warnings ahead." +"Blocking your path. Should be easy to move. It can be used as a primitive " +"anvil." msgstr "" #: lang/json/furniture_from_json.py -msgid "warning sign" -msgstr "" +msgid "medium boulder" +msgstr "중간 크기의 바위" -#. ~ Description for warning sign +#. ~ Description for medium boulder #: lang/json/furniture_from_json.py msgid "" -"A triangle-shaped sign on a post meant to indicate something important or " -"hazard." +"Blocking your path. It'll be a struggle to move. It can be used as a " +"primitive anvil." msgstr "" #: lang/json/furniture_from_json.py -msgid "standing mirror" -msgstr "전신거울" +msgid "large boulder" +msgstr "큰 바위" -#. ~ Description for standing mirror +#. ~ Description for large boulder #: lang/json/furniture_from_json.py -msgid "Lookin' good - is that blood?" +msgid "Now how are you going to move this?" msgstr "" #: lang/json/furniture_from_json.py -msgid "glass breaking" -msgstr "쨍그랑!" - -#: lang/json/furniture_from_json.py -msgid "broken standing mirror" -msgstr "깨진 전신거울" +msgid "forge" +msgstr "용광로" -#. ~ Description for broken standing mirror +#. ~ Description for forge #: lang/json/furniture_from_json.py -msgid "" -"You could look at yourself, if the mirror wasn't covered in cracks and " -"fractures." +msgid "Metalworking station typically used in combination with an anvil." msgstr "" +#. ~ Description for anvil #: lang/json/furniture_from_json.py -msgid "vending machine" -msgstr "자판기" - -#. ~ Description for vending machine -#: lang/json/furniture_from_json.py -msgid "Buy stuff with a cash card." +msgid "Used in metalworking." msgstr "" -#: lang/json/furniture_from_json.py -msgid "broken vending machine" -msgstr "고장난 자판기" - -#. ~ Description for broken vending machine +#. ~ Description for still #: lang/json/furniture_from_json.py msgid "" -"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " -"you wouldn't need to pay at all!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "dumpster" -msgstr "쓰레기 컨테이너" - -#. ~ Description for dumpster -#: lang/json/furniture_from_json.py -msgid "Stores trash. Doesn't get picked up anymore. Note the smell." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "canvas wall" -msgstr "캔버스 벽" - -#. ~ Description for canvas wall -#: lang/json/furniture_from_json.py -msgid "A wall made of stretched, waterproof cloth." +"An essential component for brewing and chemistry that allows for refining " +"liquid mixtures." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "slap!" -msgstr "찰싹!" - -#. ~ Description for canvas wall +#. ~ Description for charcoal kiln +#. ~ Description for filled charcoal kiln #: lang/json/furniture_from_json.py -msgid "A wall made of stretched, heavy-duty, waterproof cloth." +msgid "" +"A rock kiln designed to burn wood and organic material into charcoal in " +"absence of oxygen." msgstr "" #: lang/json/furniture_from_json.py -msgid "canvas flap" -msgstr "캔버스 덮개" +msgid "metal charcoal kiln" +msgstr "금속 목탄 가마" -#. ~ Description for canvas flap +#. ~ Description for metal charcoal kiln +#. ~ Description for filled metal charcoal kiln #: lang/json/furniture_from_json.py -msgid "This canvas flap door could be pulled aside." +msgid "" +"A metal kiln designed to burn wood and organic material into charcoal in " +"absence of oxygen." msgstr "" #: lang/json/furniture_from_json.py -msgid "open canvas flap" -msgstr "열린 캔버스 덮개" - -#. ~ Description for open canvas flap -#: lang/json/furniture_from_json.py -msgid "This canvas flap door has been pulled aside." -msgstr "" +msgid "filled metal charcoal kiln" +msgstr "금속 목탄 가마-가득참" -#. ~ Description for canvas flap +#. ~ Description for arc furnace +#. ~ Description for filled arc furnace #: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door could be pulled aside." +msgid "" +"An arc furnace designed to burn a powdery mix of coke and limestone to " +"create calcium carbide." msgstr "" -#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door has been pulled aside." +msgid "filled arc furnace" msgstr "" #: lang/json/furniture_from_json.py -msgid "groundsheet" -msgstr "방수포" +msgid "smoking rack" +msgstr "훈제 선반" -#. ~ Description for groundsheet +#. ~ Description for smoking rack +#. ~ Description for metal smoking rack +#. ~ Description for active metal smoking rack #: lang/json/furniture_from_json.py -msgid "This plastic groundsheet could keep you dry." +msgid "" +"A special rack designed to smoke food for better preservation and taste." msgstr "" -#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "This large plastic groundsheet could keep you dry." +msgid "active smoking rack" msgstr "" -#. ~ Description for groundsheet +#. ~ Description for active smoking rack #: lang/json/furniture_from_json.py msgid "" -"This plastic government-issue groundsheet could keep you dry, but was made " -"by the lowest bidder." +"A special rack designed to smoke food for better preservation and taste. It" +" is lit and smoking." msgstr "" #: lang/json/furniture_from_json.py -msgid "animalskin wall" -msgstr "짐승가죽 벽" - -#. ~ Description for animalskin wall -#: lang/json/furniture_from_json.py -msgid "Wall made out of animal skin. Either an amazing or horrifying sight." +msgid "active metal smoking rack" msgstr "" #: lang/json/furniture_from_json.py -msgid "animalskin flap" -msgstr "짐승가죽 덮개" +msgid "rock forge" +msgstr "석재 용광로" -#. ~ Description for animalskin flap +#. ~ Description for rock forge #: lang/json/furniture_from_json.py -msgid "This animal skin flap could be pulled aside." +msgid "" +"Metalworking station made of rock, typically used in combination with an " +"anvil." msgstr "" #: lang/json/furniture_from_json.py -msgid "open animalskin flap" -msgstr "열린 짐승가죽 덮개" +msgid "clay kiln" +msgstr "점토 가마" -#. ~ Description for open animalskin flap +#. ~ Description for clay kiln #: lang/json/furniture_from_json.py -msgid "This animal skin flap has been pulled aside." +msgid "A kiln designed to bake clay pottery and bricks." msgstr "" +#. ~ Description for stepladder #: lang/json/furniture_from_json.py -msgid "animalskin floor" -msgstr "짐승가죽 바닥" - -#. ~ Description for animalskin floor -#: lang/json/furniture_from_json.py -msgid "This animal skin groundsheet could keep you dry." +msgid "" +"A short, foldable ladder. Can help you climb to a rooftop, or maybe slow " +"something down." msgstr "" #: lang/json/furniture_from_json.py -msgid "statue" -msgstr "동상" - -#. ~ Description for statue -#: lang/json/furniture_from_json.py -msgid "A carved statue made of stone." +msgid "electric arc furnace" msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "thump." -msgstr "쿵." - -#: lang/json/furniture_from_json.py -msgid "mannequin" -msgstr "마네킹" - -#. ~ Description for mannequin +#. ~ Description for electric arc furnace #: lang/json/furniture_from_json.py msgid "" -"Put clothes on it, talk to it. Who's around to judge you? Wait... did it " -"just move?" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "birdbath" +"Not the kind of furnace you'd heat your house with, this is a device for " +"heating things to extreme temperatures as part of industrial fabrication " +"processes." msgstr "" -#. ~ Description for birdbath #: lang/json/furniture_from_json.py -msgid "A decorative cement birdbath and pedestal." +msgid "drill press" msgstr "" +#. ~ Description for drill press #: lang/json/furniture_from_json.py -msgid "rotary clothes dryer line" +msgid "" +"A powerful drill mounted on a slide that lets it drop precisely down. " +"Useful in all kinds of projects from industrial fabrication to home " +"woodworking." msgstr "" -#. ~ Description for rotary clothes dryer line #: lang/json/furniture_from_json.py -msgid "A umbrella shaped clothes line mounted on a pole." +msgid "tablesaw" msgstr "" +#. ~ Description for tablesaw #: lang/json/furniture_from_json.py -msgid "mounted solar panel" +msgid "" +"A rotating saw blade set into a large flat table, for making straight " +"measured cuts. One of the key tools in a carpenter's arsenal." msgstr "" -#. ~ Description for mounted solar panel #: lang/json/furniture_from_json.py -msgid "A mounted solar panel." +msgid "mitre saw" msgstr "" -#: lang/json/furniture_from_json.py -msgid "spider egg sack" -msgstr "거미 알주머니" - -#. ~ Description for spider egg sack +#. ~ Description for mitre saw #: lang/json/furniture_from_json.py msgid "" -"Much too large, off-white egg sack. Kind of icky. Something IS moving in " -"there." +"A circular saw blade on an arm that can slide and rotate in several " +"directions, this is a staple tool for nearly any carpentry." msgstr "" -#. ~ Description for spider egg sack #: lang/json/furniture_from_json.py -msgid "" -"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " -"in there." +msgid "bandsaw" msgstr "" -#. ~ Description for spider egg sack +#. ~ Description for bandsaw #: lang/json/furniture_from_json.py msgid "" -"A horrifyingly oversized egg sack. Something IS moving in there. If you're" -" seeing this, you're already too close to it." +"A ribbonlike sawblade runs in a single direction in this tool, allowing " +"precise cuts at almost any angle." msgstr "" #: lang/json/furniture_from_json.py -msgid "ruptured egg sack" -msgstr "터진 알주머니" - -#. ~ Description for ruptured egg sack -#: lang/json/furniture_from_json.py -msgid "Super icky. Spider stuff's spilling out." +msgid "router table" msgstr "" -#: lang/json/furniture_from_json.py -msgid "reinforced vending machine" -msgstr "강화된 자판기" - -#. ~ Description for reinforced vending machine +#. ~ Description for router table #: lang/json/furniture_from_json.py msgid "" -"A bit tougher to crack open than regular vending machines. That just makes " -"it all the sweeter a target, doesn't it?" +"This table has an inset router, a rotating motor with an exchangeable blade " +"head for cutting specific profiles and grooves and stuff." msgstr "" #: lang/json/furniture_from_json.py -msgid "display case" -msgstr "진열장" - -#. ~ Description for display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff fancily and securely." +msgid "planer" msgstr "" +#. ~ Description for planer #: lang/json/furniture_from_json.py -msgid "broken display case" -msgstr "부서진 진열장" - -#. ~ Description for broken display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff. It'll get stolen." +msgid "" +"A hefty tool that will take in a board and cut it smooth and flat to a " +"specific width. Particularly great if working with raw lumber stock, but " +"also good just for shaving wood down to size." msgstr "" #: lang/json/furniture_from_json.py -msgid "standing tank" -msgstr "물탱크" - -#. ~ Description for standing tank -#: lang/json/furniture_from_json.py -msgid "A large freestanding metal tank, useful for holding liquids." +msgid "jointer" msgstr "" -#: lang/json/furniture_from_json.py -msgid "canvas floor" -msgstr "캔버스 바닥" - -#. ~ Description for canvas floor +#. ~ Description for jointer #: lang/json/furniture_from_json.py msgid "" -"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " -"of the tent." +"A table-shaped tool with a rotating blade that will cut down, smooth out, " +"and square off a board to make it very smooth and nice indeed." msgstr "" -#: lang/json/furniture_from_json.py -msgid "robotic arm" -msgstr "로봇팔" +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "hydraulic press" +msgstr "수력 압착기" -#. ~ Description for robotic arm +#. ~ Description for hydraulic press #: lang/json/furniture_from_json.py msgid "" -"Automation! Science! Industry! Make a better horse! This robot arm " -"promises to do it all. Except it's currently unpowered. You could remove " -"the casing and retrieve the electronics through disassembly." +"If you really want to squash something a lot, this would be exactly the " +"right industrial tool for you. If, you know, it had power." msgstr "" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "thunk." -msgstr "꽝." - -#: lang/json/furniture_from_json.py -msgid "automated gas console" -msgstr "자동식 주유 제어기" - -#. ~ Description for automated gas console -#: lang/json/furniture_from_json.py -msgid "Automated gas flow control console." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "broken automated gas console" -msgstr "고장난 자동식 주유 제어기" +msgid "power lathe" +msgstr "동력 선반" -#. ~ Description for broken automated gas console +#. ~ Description for power lathe #: lang/json/furniture_from_json.py msgid "" -"Automated gas flow control console. Broken. This is not a good thing." +"An industrial-grade lathe, for turning chunks of metal and other hard things" +" into round chunks of metal and other hard things." msgstr "" #: lang/json/furniture_from_json.py -msgid "small boulder" -msgstr "작은 바위" - -#. ~ Description for small boulder -#: lang/json/furniture_from_json.py -msgid "" -"Blocking your path. Should be easy to move. It can be used as a primitive " -"anvil." +msgid "air compressor" msgstr "" -#: lang/json/furniture_from_json.py -msgid "medium boulder" -msgstr "중간 크기의 바위" - -#. ~ Description for medium boulder +#. ~ Description for air compressor #: lang/json/furniture_from_json.py msgid "" -"Blocking your path. It'll be a struggle to move. It can be used as a " -"primitive anvil." +"This durable tank is topped with a motor that will cram as much air into the" +" tank as possible." msgstr "" #: lang/json/furniture_from_json.py -msgid "large boulder" -msgstr "큰 바위" - -#. ~ Description for large boulder -#: lang/json/furniture_from_json.py -msgid "Now how are you going to move this?" +msgid "fermenting vat" msgstr "" +#. ~ Description for fermenting vat +#. ~ Description for filled fermenting vat #: lang/json/furniture_from_json.py -msgid "stone slab" -msgstr "석재 평판" - -#. ~ Description for stone slab -#: lang/json/furniture_from_json.py -msgid "A flat slab of heavy stone." +msgid "A sealable vat for fermenting vinegar and various alcoholic brews." msgstr "" #: lang/json/furniture_from_json.py -msgid "manacles" -msgstr "족쇄" - -#. ~ Description for manacles -#: lang/json/furniture_from_json.py -msgid "" -"Chain serfs in your dungeon. All you need now is an iron ball to chain to " -"it." +msgid "filled fermenting vat" msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "crack." -msgstr "콰직." - #: lang/json/furniture_from_json.py -msgid "headstone" -msgstr "비석" - -#. ~ Description for headstone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies." +msgid "butchering rack" msgstr "" +#. ~ Description for butchering rack #: lang/json/furniture_from_json.py -msgid "gravestone" -msgstr "묘비" - -#. ~ Description for gravestone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies. More fancy." +msgid "Butchering rack designed to hang a carcass in the air." msgstr "" +#. ~ Description for metal butchering rack #: lang/json/furniture_from_json.py -msgid "worn gravestone" -msgstr "낡은 묘비" - -#. ~ Description for worn gravestone -#: lang/json/furniture_from_json.py -msgid "A worn-out gravestone." +msgid "" +"Metal butchering rack designed to hang a carcass in the air. It can be " +"deconstructed and folded for easy transportation." msgstr "" #: lang/json/furniture_from_json.py -msgid "obelisk" -msgstr "오벨리스크" - -#. ~ Description for obelisk -#: lang/json/furniture_from_json.py -msgid "Monument to pride." +msgid "hanging meathook" msgstr "" +#. ~ Description for hanging meathook #: lang/json/furniture_from_json.py -msgid "thunk!" -msgstr "꽝!" - -#. ~ Description for camp chair -#: lang/json/furniture_from_json.py -msgid "Sit down, have a drink. It can folded for easy transportation." +msgid "A hefty hook suspended from a chain for stringing up corpses." msgstr "" #. ~ Description for wind mill @@ -82489,254 +86602,53 @@ msgid "" msgstr "" #: lang/json/furniture_from_json.py -msgid "pillow fort" -msgstr "" - -#. ~ Description for pillow fort -#: lang/json/furniture_from_json.py -msgid "A comfy place to hide from the world. Not very defensible, though." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "paf!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "cardboard fort" -msgstr "" - -#. ~ Description for cardboard fort -#: lang/json/furniture_from_json.py -msgid "" -"A fort built by tipping a cardboard box on its side, lining it with " -"blankets, and partly weather sealing it with a plastic sheet." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "crumple!" -msgstr "" - -#: lang/json/furniture_from_json.py src/ballistics.cpp -msgid "thud." -msgstr "툭." - -#: lang/json/furniture_from_json.py -msgid "cardboard wall" -msgstr "" - -#. ~ Description for cardboard wall -#: lang/json/furniture_from_json.py -msgid "" -"This is a pile of cardboard boxes that have been filled with rags and junk " -"and stacked together like bricks to form a wall." -msgstr "" - -#. ~ Description for large cardboard box -#: lang/json/furniture_from_json.py -msgid "" -"A large cardboard box: this could be used to store things, or as a hiding " -"place." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "beaded curtain" -msgstr "" - -#. ~ Description for beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain could be pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "open beaded curtain" -msgstr "" - -#. ~ Description for open beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain has been pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "filing cabinet" -msgstr "사무용 수납장" - -#. ~ Description for filing cabinet -#: lang/json/furniture_from_json.py -msgid "" -"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " -"locked to protect important information. If you're lucky, there are often " -"keys nearby." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "wardrobe" -msgstr "옷장" - -#. ~ Description for wardrobe -#: lang/json/furniture_from_json.py -msgid "A tall piece of furniture - basically a freestanding closet." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "robotic assembler" -msgstr "기계식 조립기" - -#. ~ Description for robotic assembler -#: lang/json/furniture_from_json.py -msgid "" -"A durable and versatile robotic arm with a tool fitted to the end, for " -"working on an assembly line." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "chemical mixer" -msgstr "화학 물질 혼합기" - -#. ~ Description for chemical mixer -#: lang/json/furniture_from_json.py -msgid "" -"When chemicals need to be mixed in large quantities at just the right " -"combinations and temperatures, this is the tool for the job." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "floor lamp" -msgstr "" - -#. ~ Description for floor lamp -#: lang/json/furniture_from_json.py -msgid "A tall standing lamp, meant to plug into a wall and light up a room." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "bonk!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "document shredder" -msgstr "" - -#. ~ Description for document shredder -#: lang/json/furniture_from_json.py -msgid "" -"It's not all about hiding government secrets, sometimes you just want to " -"stop identity theft." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "server stack" -msgstr "" - -#. ~ Description for server stack -#: lang/json/furniture_from_json.py -msgid "This is a big pile of computers. They're all turned off." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "large satellite dish" -msgstr "" - -#. ~ Description for large satellite dish -#: lang/json/furniture_from_json.py -msgid "" -"Somewhere up there, there are still satellites, orbiting and doing their " -"thing, sending signals down to an Earth that is no longer listening." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "hanging meathook" -msgstr "" - -#. ~ Description for hanging meathook -#: lang/json/furniture_from_json.py -msgid "A hefty hook suspended from a chain for stringing up corpses." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "fake workbench hands" -msgstr "" - -#. ~ Description for fake workbench hands -#: lang/json/furniture_from_json.py -msgid "This fake workbench holds the stats for working on a wielded item." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "ground crafting spot" -msgstr "" +msgid "automated gas console" +msgstr "자동식 주유 제어기" -#. ~ Description for ground crafting spot +#. ~ Description for automated gas console #: lang/json/furniture_from_json.py -msgid "" -"A cleared spot on the ground for crafting. Slower than using a workbench or" -" holding a project in your hands, but readily available." +msgid "Automated gas flow control console." msgstr "" #: lang/json/furniture_from_json.py -msgid "tatami mat" -msgstr "다다미" +msgid "broken automated gas console" +msgstr "고장난 자동식 주유 제어기" -#. ~ Description for tatami mat +#. ~ Description for broken automated gas console #: lang/json/furniture_from_json.py msgid "" -"A tatami is a type of mat used as a flooring material in traditional " -"Japanese-style rooms." +"Automated gas flow control console. Broken. This is not a good thing." msgstr "" #: lang/json/furniture_from_json.py -msgid "bitts" -msgstr "" +msgid "reinforced vending machine" +msgstr "강화된 자판기" -#. ~ Description for bitts +#. ~ Description for reinforced vending machine #: lang/json/furniture_from_json.py msgid "" -"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " -"to secure mooring lines, ropes, hawsers, or cables." +"A bit tougher to crack open than regular vending machines. That just makes " +"it all the sweeter a target, doesn't it?" msgstr "" #: lang/json/furniture_from_json.py -msgid "speaker cabinet" -msgstr "" +msgid "vending machine" +msgstr "자판기" -#. ~ Description for speaker cabinet +#. ~ Description for vending machine #: lang/json/furniture_from_json.py -msgid "" -"A cabinet loaded with 12-inch speakers, intended to help make various things" -" loud. It can't serve its original purpose these days, but it could be " -"disassembled for various electronic parts." +msgid "Buy stuff with a cash card." msgstr "" -#. ~ Description for seeing this is a bug #: lang/json/furniture_from_json.py -msgid "Seeing this is a bug. If seen, please report and destroy." -msgstr "" +msgid "broken vending machine" +msgstr "고장난 자판기" -#. ~ Description for swamp gas +#. ~ Description for broken vending machine #: lang/json/furniture_from_json.py msgid "" -"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " -"toxic gas." -msgstr "" - -#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp -msgid "splash!" -msgstr "철퍽!" - -#. ~ Description for fog -#: lang/json/furniture_from_json.py -msgid "This is a misty cloud of fog." +"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " +"you wouldn't need to pay at all!" msgstr "" #. ~ Description for vehicle refrigerator @@ -82837,6 +86749,15 @@ msgid "" "blood, candles, and other small knick-knacks." msgstr "" +#: lang/json/furniture_from_json.py +msgid "large glowing boulder" +msgstr "" + +#. ~ Description for large glowing boulder +#: lang/json/furniture_from_json.py +msgid "Something about this doesn't look right." +msgstr "" + #: lang/json/furniture_from_json.py msgid "krash!" msgstr "" @@ -82866,8 +86787,8 @@ msgstr "큰 문이 열렸습니다!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You turn the handle..." -msgstr "핸들을 돌렸습니다..." +msgid "You turn the handle…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -82886,8 +86807,8 @@ msgstr "헛간 문이 열렸습니다!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You pull the rope..." -msgstr "밧줄을 당겼다..." +msgid "You pull the rope…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -82921,8 +86842,8 @@ msgstr "문이 열렸다!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You throw the lever..." -msgstr "레버를 조작했다..." +msgid "You throw the lever…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -83044,7 +86965,7 @@ msgid "Fake gun that fires acid globs." msgstr "" #: lang/json/gun_from_json.py lang/json/gunmod_from_json.py -#: src/item_factory.cpp src/turret.cpp +#: src/item_factory.cpp msgid "auto" msgstr "완전자동" @@ -83106,7 +87027,7 @@ msgstr[0] "수제 활" msgid "" "A primitive bow fashioned from a single piece of wood, made specifically for" " the person using it. Weak and wildly inaccurate, it doesn't work that " -"well, unfortunately..." +"well, unfortunately…" msgstr "" #: lang/json/gun_from_json.py @@ -83273,9 +87194,7 @@ msgstr "" "작고 숨기기 쉬운 권총 같은 쇠뇌. 작은 크기와 시위거리 때문에 위력이 약해서 작은 사냥감을 잡는게 좋습니다. 이 무기에서 발사된 볼트는" " 재사용 확률이 높습니다." -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "pistol" msgstr "권총" @@ -83526,10 +87445,10 @@ msgstr[0] "" #: lang/json/gun_from_json.py msgid "" "Portable Plasma Accelerator Model Five, developed by Lockheed Martin " -"Corporation. This device uses highly advanced capacitor banks to create a " -"torus of superheated hydrogen plasma and accelerate it to incredible speed. " -"It was designed to take down heavy vehicles, and was expected to fully enter" -" US Army service not long before the Cataclysm." +"Corporation. This device uses highly advanced capacitor banks to create a " +"torus of superheated hydrogen plasma and accelerate it to incredible speed." +" It was designed to take down heavy vehicles, and was expected to fully " +"enter US Army service not long before the Cataclysm." msgstr "" #: lang/json/gun_from_json.py @@ -83544,8 +87463,7 @@ msgid "" " a double barrel shotgun." msgstr "" -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py msgctxt "gun_type_type" msgid "shotgun" msgstr "산탄총" @@ -83978,8 +87896,8 @@ msgstr[0] "" #: lang/json/gun_from_json.py msgid "" -"The Walther P22 is a blowback operated semi-automatic pistol. It is about " -"half the size of most Walthers. It is made mostly with plastic, with the " +"The Walther P22 is a blowback operated semi-automatic pistol. It is about " +"half the size of most Walthers. It is made mostly with plastic, with the " "slide and key components being made of die-cast zinc alloy" msgstr "" @@ -84602,8 +88520,8 @@ msgstr[0] "M24" msgid "" "The M24 Sniper is the military and police version of the Remington Model 700" " rifle, M24 being the model name assigned by the United States Army after " -"adoption as their standard sniper rifle in 1988. The M24 is referred to as a" -" 'weapon system' because it consists of not only a rifle, but also a " +"adoption as their standard sniper rifle in 1988. The M24 is referred to as " +"a 'weapon system' because it consists of not only a rifle, but also a " "detachable telescopic sight and other accessories." msgstr "" @@ -84685,7 +88603,7 @@ msgstr[0] "" #: lang/json/gun_from_json.py msgid "" "One of Kel-tec's oldest designs, the P32 is a popular option for deep " -"concealment and backup usage. Despite its extreme light weight and small " +"concealment and backup usage. Despite its extreme light weight and small " "size, its .32 ACP chambering makes for good handling and recoil control." msgstr "" @@ -84751,16 +88669,16 @@ msgstr "" "당신을 실망하게 만듭니다." #: lang/json/gun_from_json.py -msgid "COP .38" -msgid_plural "COP .38" -msgstr[0] "COP .38" +msgid "COP .357 Derringer" +msgid_plural "COP .357 Derringers" +msgstr[0] "" #: lang/json/gun_from_json.py msgid "" -"The COP .38 is a small, chubby derringer pistol that bears a slight " -"resemblance to the Mossberg Brownie. It has four barrels arranged in a " -"square formation." -msgstr "소형 데린져 권총인 COP .38. 모스버그 브라우니와 유사하게 생겼습니다. 4연장 총열이 사각형 형태로 모여있습니다." +"A small, chubby derringer pistol bearing a slight resemblance to the " +"Mossberg Brownie. It uses a rotating firing pin to fire the individual " +"hammers of the four barrels arranged in a square formation." +msgstr "" #: lang/json/gun_from_json.py msgid "pipe rifle: .38 Special" @@ -84789,17 +88707,6 @@ msgid "" " sight and a reinforced frame." msgstr "스미스 앤 웨슨 (Smith & Wesson) 사의 7연발 .38 리볼버. 고정식 조준기와 강화 프레임으로 구성되어있습니다." -#: lang/json/gun_from_json.py -msgid "Taurus Pro .38" -msgid_plural "Taurus Pro .38" -msgstr[0] "타우러스 프로 .38" - -#: lang/json/gun_from_json.py -msgid "" -"A popular .38 pistol. Designed with numerous safety features and built from" -" high-quality, durable materials." -msgstr "유명한 .38구경 권총. 안전 장치 여러개가 탑재되었으며, 고품질의 고강도 강재로 제작되었습니다." - #: lang/json/gun_from_json.py msgid "MAC-11" msgid_plural "MAC-11s" @@ -84862,10 +88769,21 @@ msgstr[0] "" msgid "" "The Hi-Point CF-380 is a blowback operated semi automatic pistol designed by" " Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" +#: lang/json/gun_from_json.py +msgid "Taurus Spectrum" +msgid_plural "Taurus Spectrum" +msgstr[0] "" + +#: lang/json/gun_from_json.py +msgid "" +"A .380 subcompact pistol. Designed for concealed carry and built from high-" +"quality, durable materials." +msgstr "" + #: lang/json/gun_from_json.py msgid "M1911A1" msgid_plural "M1911A1s" @@ -84954,9 +88872,9 @@ msgstr[0] "" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in .40 S&W." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in .40 S&W." msgstr "" #: lang/json/gun_from_json.py @@ -84980,8 +88898,9 @@ msgstr[0] "" msgid "" "The Hi-Point Model JCP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" #: lang/json/gun_from_json.py @@ -85339,8 +89258,9 @@ msgstr[0] "" msgid "" "The Hi-Point Model JHP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" #: lang/json/gun_from_json.py @@ -85526,7 +89446,7 @@ msgstr "" "M2 브라우닝 중기관총을 단축해 개조한것으로, 거치하지 않아도 사격 할 수 있습니다. 연발 사격 부품은 제거되었고, 벨트식 송탄 부품도 " "단발식으로 개조 되었습니다." -#: lang/json/gun_from_json.py src/item_factory.cpp src/turret.cpp +#: lang/json/gun_from_json.py src/item_factory.cpp msgid "manual" msgstr "수동" @@ -86283,9 +90203,9 @@ msgstr[0] "" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in 9x19mm Parabellum." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in 9x19mm Parabellum." msgstr "" #: lang/json/gun_from_json.py @@ -86296,8 +90216,8 @@ msgstr[0] "" #: lang/json/gun_from_json.py msgid "" "The Walther P38 is a semi-automatic handgun adopted shortly before the " -"second world war. Developed due to the high production costs of its " -"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " +"second world war. Developed due to the high production costs of its " +"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " "This early DA/SA locked-breech design would introduce features later seen on" " more modern firearms such as the Beretta 92 series, and served Germany " "until 2004." @@ -86312,7 +90232,7 @@ msgstr[0] "" msgid "" "The Walther PPQ is a semi-automatic pistol originating from the Walther " "P99QA, and maintains compatibility with some of its predecessor's " -"accessories. This model is chambered in 9x19mm Parabellum." +"accessories. This model is chambered in 9x19mm Parabellum." msgstr "" #: lang/json/gun_from_json.py @@ -86324,7 +90244,7 @@ msgstr[0] "" msgid "" "The Hi-Point C-9 is a blowback operated semi automatic pistol designed by " "Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" @@ -86336,10 +90256,10 @@ msgstr[0] "" #: lang/json/gun_from_json.py msgid "" "The CZ-75 is a semi-automatic pistol developed in Czechoslovakia, and is one" -" of the original wonder nines. Though designed for export to western " +" of the original wonder nines. Though designed for export to western " "countries, it was declared a state secret; lack of international patent " "protection meant that many clones and variants were produced and distributed" -" around the world, with Česká zbrojovka only joining in the 90's. This " +" around the world, with Česká zbrojovka only joining in the 90's. This " "pistol remains wildly popular among competition shooters." msgstr "" @@ -86351,10 +90271,10 @@ msgstr[0] "" #: lang/json/gun_from_json.py msgid "" "The Walther CCP is a gas-delayed blowback semi-automatic pistol intended for" -" the concealed carry consumer market. Internally, it is nearly identical to " -"the cult classic H&K P7. Its fixed barrel design makes it potentially more " -"accurate than many other pistols, though this may difficult to realize with " -"its average trigger and short sight radius." +" the concealed carry consumer market. Internally, it is nearly identical to" +" the cult classic H&K P7. Its fixed barrel design makes it potentially more" +" accurate than many other pistols, though this may difficult to realize with" +" its average trigger and short sight radius." msgstr "" #: lang/json/gun_from_json.py @@ -87767,10 +91687,58 @@ msgstr[0] "" #: lang/json/gun_from_json.py msgid "" -"A bow made of multiple materials to maximize energy efficiency. There are " +"A bow made of multiple materials to maximize energy efficiency. There are " "two Druid runes embedded at the tips." msgstr "" +#: lang/json/gun_from_json.py +msgid "M47A1 Techno-Medusa" +msgid_plural "M47A1 Techno-Medusae" +msgstr[0] "" + +#: lang/json/gun_from_json.py +msgid "" +"A magically-enhanced update to the Phillips & Rodgers' M47 Medusa, a multi-" +"caliber revolver aimed at survivalists. While Technomancy improves the " +"reliability with smaller cartridges, it is not as accurate as dedicated " +"caliber revolvers due to freebore." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "gunblade" +msgid_plural "gunblades" +msgstr[0] "" + +#: lang/json/gun_from_json.py +msgid "" +"Constructed similarly to a falcata, this forward-sloping blade has a short-" +"barrel pump shotgun attached to the blade's spine for finishing blows or a " +"first strike." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "shotcestus" +msgid_plural "shotcesti" +msgstr[0] "" + +#: lang/json/gun_from_json.py +msgid "" +"A sawn-off double-barrel shotgun mounted on a metal cestus. The lack of a " +"stock to absorb recoil means some strength is required to fire." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "Ichaival" +msgid_plural "Ichaivals" +msgstr[0] "이치이발" + +#: lang/json/gun_from_json.py +msgid "" +"Ichaival, the bow of Odin. Rumored to fire 10 arrows with every pull of the" +" string. It has gold and silver ornaments on it, as well as an ornate " +"Raven." +msgstr "" + #: lang/json/gun_from_json.py msgid "Woodbow" msgid_plural "Woodbows" @@ -87873,11 +91841,6 @@ msgid "" "this weapon have a good chance of remaining intact for re-use." msgstr "" -#: lang/json/gun_from_json.py -msgid "Ichaival" -msgid_plural "Ichaivals" -msgstr[0] "이치이발" - #: lang/json/gun_from_json.py msgid "" "This is a replica of the bow possessed by Odin, Ichaival, which is rumored " @@ -88801,7 +92764,7 @@ msgstr "조준하는 동안 화살을 올려놓는 손잡이 부분의 확장 msgid "accessories" msgstr "액세서리" -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "bow" msgstr "활" @@ -88918,7 +92881,7 @@ msgstr[0] "UPS 시험용" #: lang/json/gunmod_from_json.py msgid "" "Testmod for UPS drain on mods, this should never spawn, if you see this, " -"it's a bug. 50x more UPS drain." +"it's a bug. 50x more UPS drain." msgstr "" #: lang/json/gunmod_from_json.py @@ -89063,8 +93026,8 @@ msgstr[0] "" #: lang/json/gunmod_from_json.py msgid "" -"A set of optics to concentrate the laser beam on a smaller focus point. This" -" increases range and damage output, but complicates targeting." +"A set of optics to concentrate the laser beam on a smaller focus point. " +"This increases range and damage output, but complicates targeting." msgstr "" #: lang/json/gunmod_from_json.py @@ -89087,7 +93050,7 @@ msgstr[0] "" #: lang/json/gunmod_from_json.py msgid "" "A set of electronics to optimize emitter workcycle and increase overall " -"energy efficiency. Decreases power consumption." +"energy efficiency. Decreases power consumption." msgstr "" #: lang/json/gunmod_from_json.py @@ -89101,9 +93064,9 @@ msgstr[0] "고밀도 축전지" #: lang/json/gunmod_from_json.py msgid "" -"A capacitor with a higher energy density increases range and damage; at the" -" cost of a markedly increased power consumption." -msgstr "고밀도의 축전지. 사거리와 피해량을 증가시키지만 전력 소모량도 매우 증가합니다." +"A capacitor with a higher energy density increases range and damage; at the " +"cost of a markedly increased power consumption." +msgstr "" #: lang/json/gunmod_from_json.py msgid "Leadworks magazine adapter" @@ -89299,6 +93262,19 @@ msgid "" msgstr "" "소염기는 총구로 빠져나오는 가스를 뒤쪽으로 거슬러가도록 만든다. 반동이 감소하지만, 부피, 소음이 증가하고 정확도가 약간 감소한다." +#: lang/json/gunmod_from_json.py +msgid "modified muzzle brake" +msgid_plural "modified muzzle brakes" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A muzzle brake redirects exhaust gases to compensate for muzzle climb, " +"improving recoil but increasing bulk, noise, and reducing accuracy slightly." +" This one was modified and customized to mount on pretty much any firearm " +"other than launchers, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "homemade suppressor" msgid_plural "homemade suppressors" @@ -89423,6 +93399,19 @@ msgstr "긴 화기의 총열 밑에 장착 가능한 쇠뇌와 발사 레일이 msgid "rail" msgstr "레일" +#: lang/json/gunmod_from_json.py +msgid "modified rail-mounted crossbow" +msgid_plural "modified rail-mounted crossbows" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A kit to attach a pair of crossbow arms and a firing rail to the barrel of a" +" long firearm. It allows crossbow bolts to be fired. This one was modified" +" and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "offset iron sights" msgid_plural "offset iron sights" @@ -89434,6 +93423,18 @@ msgid "" "other modification prevents use of the primary sights." msgstr "45도 각도로 기울여져 설치된 기계식 조준기. 조준경이나 다른 개조 부품이 주 조준기를 방해할 때 사용할 수 있습니다." +#: lang/json/gunmod_from_json.py +msgid "modified offset iron sights" +msgid_plural "modified offset iron sights" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An alternative set of iron sights mounted at 45° for use when a scope or " +"other modification prevents use of the primary sights. This one was " +"modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "offset sight rail" msgid_plural "offset sight rails" @@ -89443,6 +93444,17 @@ msgstr[0] "" msgid "An additional rail set at 45° for attaching a secondary optic." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified offset sight rail" +msgid_plural "modified offset sight rails" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An additional rail set at 45° for attaching a secondary optic. This one was" +" modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "rail laser sight" msgid_plural "rail laser sights" @@ -89467,6 +93479,19 @@ msgid "" "vibration, greatly reducing recoil and slightly increasing accuracy." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified gyroscopic stabilizer" +msgid_plural "modified gyroscopic stabilizers" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An advanced unit that straps onto the side of your firearm and reduces " +"vibration, greatly reducing recoil and slightly increasing accuracy. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "LW gyroscopic stabilizer" msgid_plural "LW gyroscopic stabilizers" @@ -89570,6 +93595,19 @@ msgid "" " mrad increments and is remarkably small and light for its magnification." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified rifle scope" +msgid_plural "modified rifle scopes" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 3-18x44 rifle scope. It is adjustable for windage and elevation in 1/10th" +" mrad increments and is remarkably small and light for its magnification. " +"This one was modified and customized to mount on pretty much any weapon " +"other than pistols and SMGs, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "ACOG scope" msgid_plural "ACOG scopes" @@ -89581,6 +93619,18 @@ msgid "" "crosshair." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified ACOG scope" +msgid_plural "modified ACOG scopes" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 4x32 TA01 Advanced Combat Optical Gunsight with a tritium illuminated " +"crosshair. This one was modified and customized to mount on pretty much any" +" weapon other than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "RS1219 scope" msgid_plural "RS1219 scopes" @@ -89602,9 +93652,10 @@ msgstr[0] "" #: lang/json/gunmod_from_json.py msgid "" -"A simple telescopic sight, essentially a small telescope with crosshairs. " -"Increases weight but improves accuracy." -msgstr "십자선이 있는 소형 조준경. 무게가 증가하지만 정확도를 크게 향상합니다." +"A simple hand-crafted telescopic sight, essentially a small telescope with " +"crosshairs. Not as good as the ones made before the cataclysm. Increases " +"weight but improves accuracy." +msgstr "" #: lang/json/gunmod_from_json.py msgid "telescopic pistol sight" @@ -89759,6 +93810,20 @@ msgstr "" "양각대는 소총과 기관총에 널리 사용되어 전방 지지대의 역할을 하며 불필요한 움직임을 감소해 줍니다. 반동 제어가 크게 향상하지만, 안정된" " 바닥에서만 사용할 수 있고, 총기를 손에 드는데 시간이 더 걸리게 됩니다." +#: lang/json/gunmod_from_json.py +msgid "modified bipod" +msgid_plural "modified bipods" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Bipods are commonly used on rifles and machine guns to provide a forward " +"rest and reduce motion. Although they greatly improve handling of recoil " +"they are usable only on certain surfaces and are slow to equip. This one " +"was modified and customized to mount on pretty much any weapon, if you so " +"want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "combination gun shotgun" msgid_plural "combination gun shotguns" @@ -89792,6 +93857,18 @@ msgid "" "effective as a bipod but usable under all conditions." msgstr "총열에 부착하는 수직 손잡이. 양각대 보다는 부족하지만 반동 제어가 크게 향상되며, 어떤 상황에서든 사용할 수있습니다." +#: lang/json/gunmod_from_json.py +msgid "modified forward grip" +msgid_plural "modified forward grips" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A grip placed forward on the barrel allows for greater control. Not as " +"effective as a bipod but usable under all conditions. This one was modified" +" and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "integrated bayonet" msgid_plural "integrated bayonets" @@ -89852,6 +93929,19 @@ msgid "" msgstr "" "M203은 원래 M16 계열에 장착하는걸로 디자인되었지만 요즘은 대부분의 총에 장착할수 있습니다. 40mm 유탄을 발사할 수 있습니다." +#: lang/json/gunmod_from_json.py +msgid "modified M203" +msgid_plural "modified M203s" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M203 was originally designed for use with M16 variants but today can be " +"attached to almost any rifle. It allows a single 40mm grenade to be loaded " +"and fired. This one was modified and customized to mount on pretty much any" +" weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "M320 GLM" msgid_plural "M320 GLM" @@ -89867,6 +93957,20 @@ msgstr "" "M320 유탄발사기는 떨어진 정확도 대신 작은 사이즈에 커다란 유탄발사기의 기능을 모두 제공합니다. 소총에 결합하거나 개머리판을 결합해서" " 단독으로 쓸 수 있습니다." +#: lang/json/gunmod_from_json.py +msgid "modified M320 GLM" +msgid_plural "modified M320 GLMs" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M320 Grenade Launcher Module offers the functionality of larger " +"launchers in a very small package at the cost of decreased accuracy. It can" +" be either attached to a rifle or combined with a buttstock for stand alone " +"use. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "masterkey shotgun" msgid_plural "masterkey shotguns" @@ -89879,6 +93983,19 @@ msgid "" "fired." msgstr "초소형 펌프액션 산탄총. 대부분의 소총 총열 밑에 장착할 수 있습니다. 최대 4발의 산탄을 장전하고 발사할 수 있습니다." +#: lang/json/gunmod_from_json.py +msgid "modified masterkey shotgun" +msgid_plural "modified masterkey shotguns" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A minimalist pump action shotgun, which can be mounted under the barrel of " +"many rifles. It allows a total of four shotgun shells to be loaded and " +"fired. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "40mm pipe launcher" msgid_plural "40mm pipe launchers" @@ -89886,9 +94003,9 @@ msgstr[0] "40mm 파이프 유탄발사기" #: lang/json/gunmod_from_json.py msgid "" -"This is a home built launcher tube that can be attached to almost any rifle." -" It allows a single 40mm grenade to be loaded and fired." -msgstr "수제 유탄발사기로 대부분의 소총에 장착 가능합니다. 40mm 유탄 한 발을 장전하고 발사 할 수 있습니다." +"This is a home built launcher tube that can be attached to almost any weapon" +" except handguns. It allows a single 40mm grenade to be loaded and fired." +msgstr "" #: lang/json/gunmod_from_json.py msgid "pistol bayonet" @@ -89915,6 +94032,19 @@ msgstr "" "Rivtech 사의 RM121 보조 무기 시스템은 탄창급탄식 무탄피 반자동 산탄총으로, 대부분의 소총 총열 밑에 장착할 수 있습니다. " "RMSA10 박스탄창을 사용합니다." +#: lang/json/gunmod_from_json.py +msgid "modified RM121 aux shotgun" +msgid_plural "modified RM121 aux shotguns" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The Rivtech RM121 auxiliary weapon system is a magazine-fed semi-automatic " +"caseless shotgun, which can be mounted under the barrel of many rifles. " +"Accepts RMSA10 box magazines. This one was modified and customized to mount" +" on pretty much any weapon other than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "underslung shotgun" msgid_plural "underslung shotguns" @@ -89926,6 +94056,19 @@ msgid "" "many rifles. It allows two shotgun shells to be loaded and fired." msgstr "단축형 2총열 산탄총으로, 대부분의 소총의 총열 밑에 장착할 수 있습니다. 두 발을 장전하고 쏠 수 있습니다." +#: lang/json/gunmod_from_json.py +msgid "modified underslung shotgun" +msgid_plural "modified underslung shotguns" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A short shotgun with 2 barrels, which can be mounted under the barrel of " +"many rifles. It allows two shotgun shells to be loaded and fired. This one" +" was modified and customized to mount on pretty much any weapon other than " +"pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "LW underbarrel laser sight" msgid_plural "LW underbarrel laser sights" @@ -90177,6 +94320,54 @@ msgstr "" "전자기 가속 시스템은 전자석을 일렬로 늘어놓은 배열을 부품으로 만든것으로, 총열 앞에 부착하여 더 높은 총구 속도를 가지게 하여 살상력과" " 반동을 증가시키고 정확도가 감소합니다. 발사시 UPS 전원을 소모하며, 이 개조 부품 때문에 UPS 없이는 사격이 불가능합니다." +#: lang/json/gunmod_from_json.py +msgid "'Silent Winds' suppressor" +msgid_plural "'Silent Winds' suppressors" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Rather than using purely wipe media, an additional localized silence spell " +"in this tube quiets gunshots going through to hearing-safe levels." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (rail)" +msgid_plural "mana laser sights (rail)" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit under the barrel." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (underbarrel)" +msgid_plural "mana laser sights (underbarrel)" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit on the rail." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana dot sight" +msgid_plural "mana dot sights" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Adds a blue dot optic made from crystallized mana to the top of your gun, " +"replacing the iron sights. Increases accuracy and weight." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "makeshift pistol bayonet" msgid_plural "makeshift pistol bayonets" @@ -90533,6 +94724,12 @@ msgid "" "keep you alive long enough for it to happen. You have to wait it out in " "hope that you will not die in the process." msgstr "" +"좀비가 당신을 잡으면 물릴 수 있습니다. 물린 상처는 깊고 감염될 수 있습니다. 그런 일이 일어난다면 물린 부위의 스테이터스 바의 색이 " +"파란색으로 변할 것입니다. 이것은 당신이 최대한 빨리 해당 부위를 소독해 상처를 깨끗하게 하고 심각한 감염을 예방해야 한다는 것을 " +"의미합니다. 만약 빠르게 소독하지 못 한다면 과감하게 상처를 지지는 것도 가능하지만, 대개 상태를 더 악화시킵니다. 그대로 상처를 놔두게" +" 된다면, 물린 부위가 심각한 감염으로 진행될 수 있으며, 스테이터스 바의 색이 초록색으로 바뀌게 됩니다. 이 상태에선 상처를 " +"소독하기에는 너무 늦었으며, 감염과 싸우려면 항생제가 필요합니다. 당신의 몸은 스스로 감염과 싸울 것이며, 규칙적인 항생제 복용은 그런 " +"일이 발생하기까지 당신을 오래 살아남게 할 것입니다. 당신은 중간에 죽지 않게 기도하면서 기다려야 합니다." #: lang/json/help_from_json.py msgid "" @@ -91007,6 +95204,10 @@ msgid "" "chambering a round though. Of course all this takes some time, so try not " "to do it if there are monsters nearby." msgstr "" +" 키로 화기에서 탄창을 빼내서 호환 가능한 탄약을 따로 장전하거나, 이미 장전된 탄창을 넣을 수 있고, 호환 " +"가능한 낱개로 있는 탄약이 있다면 재장전 하려면 그냥 키를 누르면 자동적으로 탄창을 빼서 탄약을 최대한 채워 " +"다시 총기에 넣습니다. 어떻게 약실에 탄약을 채워 넣어야 하는지 걱정할 필요가 없습니다. 물론 시간이 좀 더 걸리기 때문에 적 근처에선 " +"시도하지 말아야 합니다." #: lang/json/help_from_json.py msgid "" @@ -91425,6 +95626,8 @@ msgid "" "[ Clothing\n" "This may be worn with the key or removed with the key. It may cover one or more body parts; you can wear multiple articles of clothing on any given body part, but this will encumber you severely. Each article of clothing may provide storage space, warmth, encumbrance, and a resistance to bashing and/or cutting attacks. Some may protect against environmental effects." msgstr "" +"[ 의류\n" +"을(를) 눌러 입거나 을(를) 눌러 벗습니다. 신체의 일부 또는 여러 부분을 가려주며 한 부위에 여러 가지 의류를 착용할 수도 있지만 이 경우 움직임에 심하게 방해를 받습니다. 각 의류나 장비에는 저장공간이 있거나 따뜻함, 방해도, 타격이나 베기에 대한 저항력이 있으며 어떤 의류나 장비는 환경으로 인해 입는 피해를 막아줍니다." #: lang/json/help_from_json.py msgid "" @@ -91722,6 +95925,8 @@ msgid "" "Q: I'm cold and can't sleep at night!\n" "A: Gather some clothes and put them in the place you use to sleep in. Being hungry, thirsty, wet, or injured can also make you feel the cold more, so try to avoid these effects before you go to sleep. Pillows and some other appliances will help you sleep, and the quality of your sleeping spot is also very important." msgstr "" +"Q: 추워서 밤에 잠을 잘 수가 없어요!\n" +"A: 옷가지를 모아서 잠자리에 놓으면 덮고 잘 수 있습니다. 배고프거나, 목이 마르거나, 몸이 젖었거나, 혹은 부상당한 경우 평소보다 더 추위를 많이 타게 됩니다. 자기 전에 그런 상황을 피하도록 노력하십시오. 베게나 몇 가구들은 잠을 잘 자게 해줄 것이며, 잠자리의 품질 또한 매우 중요합니다." #: lang/json/help_from_json.py msgid "" @@ -92105,8 +96310,8 @@ msgstr "방사선 측정" #: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/game_inventory.cpp src/teleport.cpp -msgid "..." -msgstr "..." +msgid "…" +msgstr "" #: lang/json/item_action_from_json.py msgid "Control an RC car" @@ -92268,32 +96473,25 @@ msgid "" " up." msgstr "이 물품은 인접 타일에서 직접 작동시키거나 재충전시킬 수 있다." -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the outer aura layer, intended for metaphysical effects." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your outer aura." msgstr "" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate barometer (which is used to measure " "atmospheric pressure)." msgstr "이 장비는 대기압을 측정할 수 있는 정밀 기압계를 포함하고 있다." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item can be clipped on to a belt loop of the appropriate " "size." msgstr "이 물품은 적당한 크기의 벨트 고리에 끼울 수 있다." -#: lang/json/json_flag_from_json.py -msgid "Layer for backpacks and things worn over outerwear." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is strapped onto you." @@ -92306,12 +96504,6 @@ msgid "" " properly." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "" -"Blinds the wearer while worn, and provides nominal protection vs flashbang " -"flashes." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear prevents you from seeing anything." @@ -92401,12 +96593,6 @@ msgstr "" msgid "You can wear only one." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "" -"Wearing this clothing gives a morale bonus if the player has the Stylish " -"trait." -msgstr "이 의류를 입고 멋쟁이 특성이 있으면 보너스를 받을 수 있다." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This piece of clothing is fancy." @@ -92437,21 +96623,11 @@ msgstr "" msgid "This gear corrects nearsightedness." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "" -"Zombie-dropped clothing giving various penalties if Filthy mod is active. " -"Also CBMs harvested from zombies." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This item is filthy." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "Used for eyes protection from flashbang." -msgstr "섬광으로 부터 눈을 보호하는데 쓰입니다." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92485,39 +96661,20 @@ msgid "" "your head is unencumbered." msgstr "이 의류엔 후드가 있다. 보온을 위해 후드를 쓰려면 머리의 방해도가 0이어야 한다." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate hygrometer (which is used to measure " "humidity)." msgstr "이 장비는 대기 습도를 측정 할 수 있는 정밀 습도계를 포함하고 있다." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item is a component of the gun it is attached to. It can't be removed " "without destroying it." msgstr "이 물품은 총에 부착되어 있다. 부수지 않고서는 제거할 수 없다." -#: lang/json/json_flag_from_json.py -msgid "Item can never be used with a CVD machine." -msgstr "이 물품은 CVD 장치에 사용할 수 없다." - -#: lang/json/json_flag_from_json.py -msgid "" -"Don't offer to draw items from this holster when the fire key is pressed " -"whilst the player's hands are empty." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents repairing of this item even if otherwise suitable tools exist." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"forces calories and vitamins to be the ones defined in the json, instead of " -"inheriting from ingredients" -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "You could probably plant these." @@ -92532,21 +96689,11 @@ msgstr "" "이 음식은 춥지 않은 날씨엔 녹으며, 얼었을때 " "더 맛있다." -#: lang/json/json_flag_from_json.py -msgid "Outer garment layer." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is generally worn over clothing." msgstr "이 장비는 보통 입은것 위에 착용한다." -#: lang/json/json_flag_from_json.py -msgid "" -"Can always be worn no matter encumbrance/mutations/bionics/etc., but " -"prevents any other clothing being worn over this." -msgstr "방해도/변이/바이오닉/기타 에 상관 없이 착용 가능하지만, 이것 위에 뭔가를 착용할 수 없다." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92554,12 +96701,6 @@ msgid "" "anatomy." msgstr "이 의류는 비정상적으로 큰 체형가 착용하기에 충분히 크다." -#: lang/json/json_flag_from_json.py -msgid "" -"Can be worn comfortably by mutants with Tiny or Unassuming. Too small for " -"anyone else." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92567,23 +96708,11 @@ msgid "" "level." msgstr "이 장비는 소음을 안전한 수준으로 감소시킨다." -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the personal aura layer, intended for metaphysical " -"effects." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your personal aura." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "" -"Increases warmth for hands if the player's hands are cold and the player is " -"wielding nothing." -msgstr "아무것도 들지 않은 채로 손이 차갑다면 손의 온기를 증가시킨다." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92591,17 +96720,6 @@ msgid "" "wielding nothing." msgstr "이 의류엔 주머니가 있다. 보온을 위해 손을 넣으려면 들고 있는 것을 놔야 한다." -#: lang/json/json_flag_from_json.py -msgid "" -"If turned ON, it uses its own source of power, instead of relying on power " -"of the user." -msgstr "" - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "25% chance to protect against fear_paralyze monster attack." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear keeps out the mind control rays." @@ -92633,27 +96751,12 @@ msgstr "" msgid "This item can be used to communicate with radio waves." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "Prevents the covered body-part(s) from getting wet in the rain." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This piece of clothing is designed to keep you dry in the rain." msgstr "이 의류는 비가 올때 몸이 젖는 것을 막는다." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the player from wielding a weapon two-handed, forcing one-handed " -"use if the weapon permits it." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from participating in the encumbrance system when worn." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92661,26 +96764,6 @@ msgid "" " other things when worn." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sheath of the appropriate size." -msgstr "이 물품은 적절한 크기의 칼집에 넣을 수 있다." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a scabbard of the appropriate size." -msgstr "이 물품은 적절한 크기의 검집에 넣을 수 있다." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sling of the appropriate size." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a bag of the appropriate size." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "Undergarment layer." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing lies close to the skin." @@ -92704,30 +96787,16 @@ msgid "" "lot of abuse." msgstr "이 의류는 자잘한 상해, 여러 물리적 위험에서 착용자를 보호한다." -#: lang/json/json_flag_from_json.py -msgid "Prevents glaring when in sunlight." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing keeps the glare out of your eyes." msgstr "이 의류는 눈부심을 막는다." -#: lang/json/json_flag_from_json.py -msgid "" -"Gives an additional moral bonus over FANCY if the player has the Stylish " -"trait." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing is very fancy." msgstr "이 의류는 아주 멋지다." -#: lang/json/json_flag_from_json.py -msgid "Allows you to see much further under water." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92735,44 +96804,21 @@ msgid "" "water." msgstr "이 의류는 수중에서도 더 멀리 볼 수 있게 해준다." -#: lang/json/json_flag_from_json.py -msgid "" -"This gear is equipped with an accurate thermometer (which is used to measure" -" temperature)." -msgstr "이 장비는 온도를 측정 할 수 있는 정밀 온도계를 포함하고 있다." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is equipped with an accurate thermometer." msgstr "이 장비는 정밀 온도계를 포함하고 있다." -#: lang/json/json_flag_from_json.py -msgid "Can be made to fit via tailoring." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "Layer for belts and other things worn on the waist." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is worn on or around your waist." msgstr "이 장비는 허리나 허리 주변에 착용한다." -#: lang/json/json_flag_from_json.py -msgid "Acts as a watch and allows the player to see actual time." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear allows to see actual time." msgstr "이 장비는 실제 시간을 보여준다." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the covered body-part(s) from getting wet in any circumstance." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92780,12 +96826,6 @@ msgid "" "river or something like that." msgstr "이 의류는 방수 기능이 있다. 물에 들어가는 것 제외." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from making the body part count as unfriendly to water and" -" thus causing negative morale from being wet." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92823,11 +96863,6 @@ msgid "" "overall warmth." msgstr "이 의류는 안감이 양모로 되어 있어, 보온력높다." -#: lang/json/json_flag_from_json.py -msgid "" -"Allows wielding with unarmed fighting styles and trains unarmed when used." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92840,107 +96875,26 @@ msgstr "이 무기는 비무장 전투 스타일사용할 msgid "This item contains a nanofabricator recipe." msgstr "" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "This bionic is a faulty bionic." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This bionic is a power source bionic." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic only has a function when activated, else it causes its effect " -"every turn." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a gun bionic and activating it will fire it. Prevents all " -"other activation effects." +msgid "This bionic is faulty." msgstr "" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a weapon bionic and activating it will create (or destroy) " -"bionic's fake_item in user's hands. Prevents all other activation effects." +msgid "This bionic provides power." msgstr "" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This bionic can provide power to powered armor." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's effects permanent." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's Area of Effect ignore walls." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "You can cast spells with this item in your hand." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This makes the spell's summoned monster always hostile. Note that the spell" -" needs to be a summon spell for this to do anything." -msgstr "" - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "" -"This makes the spell's summoned monster hostile 50% of the time. Note that " -"the spell needs to be a summon spell for this to do anything." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "The spell makes no sound at its point of impact." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This spell is much louder at its point of impact." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The caster must speak in order to cast the spell. More mouth encumbrannce " -"increases failure percent, and the caster speaks when casting." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell requires arm movement to cast. Arm encumbrance affects failure " -"percentage and casting time." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell does not require hands in order to cast it. Encumbrance penalties" -" on hands are nullified." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell does not require leg movement in order to be cast. All " -"encumbrance penalties for legs are nullified." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell requires focus to cast. The lower your focus, the higher failure" -" rate to cast." -msgstr "" - +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" -"Chooses a spell at random to cast from extra_effects. See MAGIC.md for " -"details" -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This mutation does not count toward thresholds at all." +"This food is unappetizing in a way that can't be covered up " +"by most cooking." msgstr "" #. ~ Please leave anything in unchanged. @@ -93075,7 +97029,7 @@ msgid "" "This part will help prevent you from being thrown from the vehicle in a " "collision. You will automatically enable this part when you move into a " "tile with it." -msgstr "" +msgstr "이 부품은 충돌 시 차량 밖으로 튕겨나가는 것을 막아 준다. 부품이 있는 타일로 이동하면 자동으로 이 부품을 활성화한다." #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py @@ -93346,6 +97300,10 @@ msgstr "다음 단계" msgid "Previous level" msgstr "이전 단계" +#: lang/json/keybinding_from_json.py +msgid "Reset level" +msgstr "단계 재설정" + #: lang/json/keybinding_from_json.py msgid "Undo move" msgstr "이동 취소" @@ -93362,10 +97320,6 @@ msgstr "플래그 전환" msgid "Toggle lights" msgstr "조명 전환" -#: lang/json/keybinding_from_json.py -msgid "Reset level" -msgstr "단계 재설정" - #: lang/json/keybinding_from_json.py msgid "Confirm Choice" msgstr "최종 확인" @@ -94070,6 +98024,10 @@ msgstr "" msgid "View Visibility Map" msgstr "" +#: lang/json/keybinding_from_json.py +msgid "View Lighting Map" +msgstr "" + #: lang/json/keybinding_from_json.py msgid "View Radiation Map" msgstr "" @@ -94083,8 +98041,8 @@ msgid "Toggle Fullscreen mode" msgstr "전체화면 모드 전환" #: lang/json/keybinding_from_json.py -msgid "Toggle Pixel Minimap" -msgstr "픽셀 미니맵 전환" +msgid "Toggle Minimap" +msgstr "" #: lang/json/keybinding_from_json.py msgid "Toggle Panel Admin" @@ -94440,6 +98398,7 @@ msgstr "사용자 정의색 제거" msgid "Load color template" msgstr "글자색 템플릿 불러오기" +#. ~ translation should not exceed 3 console cells #: lang/json/keybinding_from_json.py lang/json/keybinding_from_json.py #: src/editmap.cpp src/editmap.cpp src/editmap.cpp src/veh_interact.cpp msgid "Yes" @@ -94499,6 +98458,10 @@ msgstr "경보기 전환" msgid "Toggle atomic lights" msgstr "원자력 야간등 전환" +#: lang/json/keybinding_from_json.py +msgid "Control autopiot" +msgstr "" + #: lang/json/keybinding_from_json.py msgid "Toggle camera system" msgstr "카메라 시스템 전환" @@ -96828,77 +100791,6 @@ msgid "" "Lasts 1 turn." msgstr "" -#: lang/json/martial_art_from_json.py -msgid "Tai Chi" -msgstr "태극권" - -#. ~ Description for martial art 'Tai Chi' -#: lang/json/martial_art_from_json.py -msgid "" -"Though Tai Chi is often seen as a form of mental and physical exercise, it " -"is a legitimate martial art, focused on self-defense. Its ability to absorb" -" the force of an attack makes your Perception decrease damage further on a " -"block." -msgstr "" -"태극권 종종 정신적, 육체적 운동의 한 형태로 보여지지만, 그것은 정당방위이며, 자기 방어에 초점을 맞춘 합법적인 무술입니다. 공격력을 " -"흡수하는 능력이 있어 방어의 피해량을 더욱 줄일 수 있습니다." - -#. ~ Description of buff for martial art 'Tai Chi' -#: lang/json/martial_art_from_json.py -msgid "+1 Block. Perception decreases damage when blocking." -msgstr "" - -#: lang/json/martial_art_from_json.py -msgid "Taekwondo" -msgstr "태권도" - -#. ~ Description for martial art 'Taekwondo' -#: lang/json/martial_art_from_json.py -msgid "" -"Taekwondo is the national sport of Korea, and was used by the South Korean " -"army in the 20th century. Focused on kicks and so it does not benefit from " -"wielded weapons. It also includes strength training; your blocks absorb " -"extra damage the stronger you are." -msgstr "" -"태권도는 한국의 국기이며, 20세기에 한국군에 의해 사용되었다. 발차기에 집중하며, 휘두르는 무기는 이득이 되지 않습니다. 또한 강도 " -"훈련도 포함됩니다. 여러분의 방어는 여러분이 더 강해질수록 더 큰 피해량을 흡수합니다." - -#. ~ Description of buff for martial art 'Taekwondo' -#: lang/json/martial_art_from_json.py -msgid "Strength decreases damage when blocking." -msgstr "체력에 비례해서 막기 시 추가로 데미지 감소" - -#: lang/json/martial_art_from_json.py -msgid "Zui Quan" -msgstr "취권" - -#. ~ Description for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "" -"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" -" the enemy, giving you a passive dodge bonus based on your intelligence. " -"The turn after you attack, you may dodge any number of attacks with no " -"penalty, and successfully dodging an attack gives you bonus damage and to-" -"hit based on your intelligence." -msgstr "" -"\"취권\"으로 알려진 이 무술은 술꾼의 움직임을 재현하여 적을 혼란스럽게 만들며, 지능에 기반하여 회피 보너스를 제공합니다. 공격한 뒤" -" 다음턴에는 얼마나 많은 공격이 날아오더라도 피해 없이 피할 수 있으며, 공격을 훌륭하게 회피해내면 지능에 기반한 공격력 보너스를 " -"제공합니다." - -#. ~ Description of buff for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "Intelligence increases dodging ability" -msgstr "지능에 비례해서 회피 능력 상승" - -#: lang/json/martial_art_from_json.py -msgid "Counter Strike" -msgstr "" - -#. ~ Description of buff 'Counter Strike' for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "Extra damage and to-hit after successful dodge" -msgstr "" - #: lang/json/martial_art_from_json.py msgid "Silat" msgstr "실랏" @@ -96919,16 +100811,182 @@ msgstr "실랏 자세" #. ~ Description of buff 'Silat Stance' for martial art 'Silat' #: lang/json/martial_art_from_json.py -msgid "+1 dodge" -msgstr "회피 +1" +msgid "" +"You try to stay loose as possible when fighting to have more chances to dodge.\n" +"\n" +"+1 Dodge attempts." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Silat Evasion" +msgstr "" + +#. ~ Description of buff 'Silat Evasion' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +msgid "" +"You stay low as you move, making it harder for enemies to pin you down.\n" +"\n" +"+1 Dodge attempts.\n" +"Lasts 2 turn." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Silat Appraisal" +msgstr "" + +#. ~ Description of buff 'Silat Appraisal' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Each time you dodge an attack, you learn a bit more about your opponents' fighting style. This allows you to make more precise attacks against them.\n" +"\n" +"Accuracy increased by 15%% of Dexterirty.\n" +"Lasts 2 turns. Stacks 3 times." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Snake Kung Fu" +msgstr "사권" + +#. ~ Description for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +msgid "" +"One of the five Shaolin animal styles. The Snake focuses on sinuous " +"movement and precision strikes. Perception determines your Accuracy, rather" +" than Dexterity. Standing still will increases your accuracy and damage of " +"your next attack." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Snake's Sight" +msgstr "" + +#. ~ Description of buff 'Snake's Sight' for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You are patient and know where to hit your opponent for the best results.\n" +"\n" +"Perception increases Accuracy instead of Dexterity. Accuracy increased by 25%% of Perception but decreased by 25%% of Dexterity." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "창술" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat. Standing still gives you an extra block " +"attempt but moving will briefly increase your damage." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "창술 자세" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Your training grants better defense while using a polearm.\n" +"\n" +"+1 Block attempt." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Superior Positioning" +msgstr "" + +#. ~ Description of buff 'Superior Positioning' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You have given up your defenses for a moment to increase the damage of your attacks.\n" +"\n" +"+10%% damage, -1 Block attempts.\n" +"Lasts 1 turn." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Taekwondo" +msgstr "태권도" + +#. ~ Description for martial art 'Taekwondo' +#: lang/json/martial_art_from_json.py +msgid "" +"Taekwondo is the national sport of Korea, and was used by the South Korean " +"army in the 20th century. Focused on kicks and so it does not benefit from " +"wielded weapons. It also includes strength training; your blocks absorb " +"extra damage and your attacks do more damage if you are not holding " +"anything." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Taekwondo Stance" +msgstr "" + +#. ~ Description of buff 'Taekwondo Stance' for martial art 'Taekwondo' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Using your legs to attack allows your hands to be free for better defense.\n" +"\n" +"Blocked damage decreased by 50%% of Strength." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Silat Counter" -msgstr "실랏 반격" +msgid "Unhindered" +msgstr "" -#. ~ Description of buff 'Silat Counter' for martial art 'Silat' +#. ~ Description of buff 'Unhindered' for martial art 'Taekwondo' #: lang/json/martial_art_from_json.py -msgid "Extra to-hit after successful dodge" +#, no-python-format +msgid "" +"Your attacks are stronger if you are not holding anything in your hands.\n" +"\n" +"+33%% bash damage when not using a weapon." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Tai Chi" +msgstr "태극권" + +#. ~ Description for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +msgid "" +"Though Tai Chi is often seen as a form of mental and physical exercise, it " +"is a legitimate martial art, focused on self-defense. Its ability to absorb" +" the force of an attack makes your Perception decrease damage further on a " +"block. Pausing for a moment enables powerful palm strike techniques." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Tai Chi Stance" +msgstr "" + +#. ~ Description of buff 'Tai Chi Stance' for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You are focused of defense and predicting your opponents attacks.\n" +"\n" +"+1 Block attempts, blocked damage reduced by 100%% Perception." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Repulse the Monkey" +msgstr "" + +#. ~ Description of buff 'Repulse the Monkey' for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"By perfectly positioning yourself and your opponent, you have become more accurate and can bypass your opponent's defenses.\n" +"\n" +"Accuracy increased by 20%% of Perception, gain bash Armor Pentration equal to 50%% of Perception.\n" +"Lasts 2 turns." msgstr "" #: lang/json/martial_art_from_json.py @@ -96951,116 +101009,160 @@ msgstr "호랑이의 분노" #. ~ Description of buff 'Tiger Fury' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+3 Bash/atk" -msgstr "공격마다 타격 피해량 +3" +#, no-python-format +msgid "" +"You attack with an endless barrage of strikes. The more you hit, the stronger you become.\n" +"\n" +"+10%% damage.\n" +"Lasts 3 turns. Stacks 4 times." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Tiger Strength" -msgstr "호랑이의 힘" +msgid "Tiger's Strength" +msgstr "" -#. ~ Description of buff 'Tiger Strength' for martial art 'Tiger Kung Fu' +#. ~ Description of buff 'Tiger's Strength' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Strength provides additional damage bonus." -msgstr "체력에 의한 피해량 보너스 증가" +#, no-python-format +msgid "" +"You do not need defense. You do not need a plan. You need strength. Strength will break your opponents' defenses and overwhelm them completely.\n" +"\n" +"Strength increases Accuracy instead of Dexterity.\n" +"\n" +"Accuracy increased by 25%% of Strength but decreased by 25%% of Dexterity." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Snake Kung Fu" -msgstr "사권" +msgid "Wing Chun" +msgstr "" -#. ~ Description for martial art 'Snake Kung Fu' +#. ~ Description for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py msgid "" -"One of the five Shaolin animal styles. The Snake focuses on sinuous " -"movement and precision strikes. Your Perception improves your damage." +"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" +"learn effective techniques from the various Shaolin animal forms. It has a " +"high stance, with weight entirely on the rear leg. Wing Chun focuses on " +"sensitivity to the opponent's direction of force, and flowing around it to " +"get back to hitting." msgstr "" -"소림사의 다섯 동물 권법 중 하나입니다. 뱀권은 교묘한 움직임과 정밀 타격에 초점을 맞춥니다. 당신의 지각은 당신의 피해량을 " -"개선시킵니다." #: lang/json/martial_art_from_json.py -msgid "Snake Sight" -msgstr "뱀의 눈" +msgid "Chain Punch" +msgstr "" -#. ~ Description of buff 'Snake Sight' for martial art 'Snake Kung Fu' +#. ~ Description of buff 'Chain Punch' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "Perception provides a bonus to damage." +#, no-python-format +msgid "" +"Your punches are properly timed to give your opponent no rest from your strikes.\n" +"\n" +"-10%% move cost.\n" +"Lasts 1 turn. Stacks 3 times." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Debug Mastery" +msgid "Chi-Sao Sensitivity" msgstr "" -#. ~ Description for martial art 'Debug Mastery' +#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "A secret martial art used only by developers and cheaters." +#, no-python-format +msgid "" +"You have a greater understanding of balance and technique. This gives you a better chance to avoid your opponent's attacks.\n" +"\n" +" Dodging Skill increased by 15%% of Perception. Blocked damage reduced by 50%% of Perception." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Elemental resistance" -msgstr "" +msgid "Zui Quan" +msgstr "취권" -#. ~ Description of buff 'Elemental resistance' for martial art 'Debug -#. Mastery' +#. ~ Description for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py msgid "" -"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " -"armor, +Perception fire armor." +"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" +" the enemy. You gain a passive dodge bonus and accuracy bonus based on your" +" intelligence. Moving gives you additional dodge attempts and each time you" +" dodge, you inflict more damage with your counterattack for until the end of" +" your next turn." msgstr "" -"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " -"armor, +Perception fire armor." #: lang/json/martial_art_from_json.py -msgid "Sōjutsu" -msgstr "창술" +msgid "Zui Quan Stance" +msgstr "" -#. ~ Description for martial art 'Sōjutsu' +#. ~ Description of buff 'Zui Quan Stance' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " -"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " -"to maintain advantage in combat." -msgstr "창술은 창으로 싸우는 일본의 무술입니다. 창술은 전투에서 우위를 유지하기 위해 상대를 멀리하는 데 초점을 맞춥니다" +"Others might think you stumble about at random but you know better. Each movement is calculated to make evading harm easier.\n" +"\n" +"Dodging Skill increased by 15%% of Intelligence." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Stance" -msgstr "창술 자세" +msgid "Advanced Zui Quan" +msgstr "" -#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#. ~ Description of buff 'Advanced Zui Quan' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Bonus block with reach weapons while standing still" +#, no-python-format +msgid "" +"You have a greater understanding of Zui Quan. Your skills at dodging and landing attacks are much better as a result.\n" +"\n" +"+1 Dodge attempts, Accuracy increased by 15%% of Intelligence." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Rush" -msgstr "창술 러쉬" +msgid "Drunken Stumble" +msgstr "" -#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#. ~ Description of buff 'Drunken Stumble' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Increased damage when moving but no bonus block" +msgid "" +"With a few quick steps, you can completely change your orientation and dodge additional attacks.\n" +"\n" +"+2 Dodge attempts.\n" +"Lasts 3 turns." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Wing Chun" +msgid "Drunken Dodging" msgstr "" -#. ~ Description for martial art 'Wing Chun' +#. ~ Description of buff 'Drunken Dodging' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" -"learn effective techniques from the various Shaolin animal forms. It has a " -"high stance, with weight entirely on the rear leg. Wing Chun focuses on " -"sensitivity to the opponent's direction of force, and flowing around it to " -"get back to hitting." +"Each time you dodge, your positional advantage increases against your opponents. This makes your attacks hit harder with each successful dodge.\n" +"\n" +"Gain Armor Penetration equal to 25%% of Intelligence.\n" +"Lasts 1 turn. Stacks 4 times." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Chi-Sao Sensitivity" +msgid "Debug Mastery" +msgstr "" + +#. ~ Description for martial art 'Debug Mastery' +#: lang/json/martial_art_from_json.py +msgid "A secret martial art used only by developers and cheaters." msgstr "" -#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "Perception increases dodging ability, +1 dodges per turn" +msgid "Elemental resistance" msgstr "" +#. ~ Description of buff 'Elemental resistance' for martial art 'Debug +#. Mastery' +#: lang/json/martial_art_from_json.py +msgid "" +"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " +"armor, +Perception fire armor." +msgstr "" +"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " +"armor, +Perception fire armor." + #: lang/json/martial_art_from_json.py msgid "Bionic Combatives" msgstr "바이오닉 전투" @@ -97214,12 +101316,11 @@ msgstr "두꺼비권" #. ~ Description for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"One of the Five Deadly Venoms. Masters of Toad Style can focus themselves " -"against all attacks. You can meditate by pausing, giving you armor, though " -"you will lose focus when you move." +"One of the Five Deadly Venoms, used by Liang Shen. Masters of Toad Style " +"can focus themselves to protect against all attacks. You have powerful " +"armor against physical attacks, though you will lose focus when you move. " +"You can meditate by pausing, giving yourself more armor for a short time." msgstr "" -"다섯 맹독권 중 하나입니다. 두꺼비권의 달인은 모든 공격을 막는 데 집중할 수 있습니다. 잠시 멈추고 명상하면, 방어력을 올려주지만, " -"이동하면 집중이 풀립니다." #: lang/json/martial_art_from_json.py msgid "Toad's Iron Skin" @@ -97227,8 +101328,11 @@ msgstr "두꺼비의 철가죽" #. ~ Description of buff 'Toad's Iron Skin' for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Gain up to +6 armor while standing still" -msgstr "가만히 서 있을 때 방어 +6" +msgid "" +"Your body is as strong as iron but only if you don't move.\n" +"\n" +"+6 bash, cut, and stab armor." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Iron Skin Dissipation" @@ -97237,7 +101341,11 @@ msgstr "" #. ~ Description of buff 'Iron Skin Dissipation' for martial art 'Toad Kung #. Fu' #: lang/json/martial_art_from_json.py -msgid "Iron Skin softens when you move!" +msgid "" +"Moving causes you to lose your iron skin.\n" +"\n" +"-1 bash, cut, and stab armor.\n" +"Lasts 6 turns. Stacks 6 times." msgstr "" #: lang/json/martial_art_from_json.py @@ -97247,38 +101355,48 @@ msgstr "살무사권" #. ~ Description for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"A legacy of the Five Deadly Venoms. Viper Style has a unique three-part " -"combo, which initiates on a dodge, then counters with a stunning chop and " -"the legendary Viper Strike." +"A legacy of the Five Deadly Venoms, use by Qi Dong. Viper Style (originally" +" called Snake Style) has a unique three-part combo, which initiates on a " +"dodge, then follows up with a stunning Viper Bite and then finishes with the" +" legendary Viper Strike." msgstr "" -"다섯 맹독권 중 하나입니다. 살무사권은 3부로 구성된 독특한 콤보를 가지고 있는데, 이 콤보는 회피로 시작하여 놀라운 내려치기와 전설적인" -" 살무 치기 로 반격합니다." #: lang/json/martial_art_from_json.py -msgid "Viper Lock" -msgstr "살무사의 잡기" +msgid "Viper's Patience" +msgstr "" -#. ~ Description of buff 'Viper Lock' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Patience' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You bit true! Your next attack will be the Viper Strike!" +msgid "" +"Every snake waits for the perfect moment to strike. Turn your opponents' mistakes into your opportunity to strike!\n" +"\n" +"+1.0 Dodge skill." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Patience" -msgstr "살무사의 인내" +msgid "Viper's Ambush" +msgstr "" -#. ~ Description of buff 'Viper Patience' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Ambush' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+2 Dodge. Dodging an attack initiates a combo." +msgid "" +"Your evasiveness has left your opponent wide open to painful bite.\n" +"\n" +"Enables \"Viper Bite\" technique.\n" +"Lasts 1 turn." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Ambush" +msgid "Viper's Venom" msgstr "" -#. ~ Description of buff 'Viper Ambush' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Venom' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You've lured 'em in! Your next attack will be a Viper Bite." +msgid "" +"Your venom is a harsh reminder to never tease a predator.\n" +"\n" +"+2 bash damage.\n" +"Lasts 3 turn." msgstr "" #: lang/json/martial_art_from_json.py @@ -97415,6 +101533,10 @@ msgid "" "Lasts 2 turns." msgstr "" +#: lang/json/martial_art_from_json.py +msgid "Sojutsu" +msgstr "" + #: lang/json/material_from_json.py src/bionics.cpp msgid "Alcohol" msgstr "알코올" @@ -97656,6 +101778,10 @@ msgstr "납" msgid "Leather" msgstr "가죽" +#: lang/json/material_from_json.py +msgid "Lycra" +msgstr "" + #: lang/json/material_from_json.py msgid "Dairy" msgstr "유제품" @@ -97716,6 +101842,14 @@ msgstr "돌" msgid "Superalloy" msgstr "초합금" +#: lang/json/material_from_json.py +msgid "layered carbide" +msgstr "" + +#: lang/json/material_from_json.py +msgid "Synthetic Fabric" +msgstr "" + #: lang/json/material_from_json.py msgid "Tin" msgstr "" @@ -97826,6 +101960,10 @@ msgstr "" msgid "Arcane Skin" msgstr "" +#: lang/json/material_from_json.py +msgid "Orichalcum" +msgstr "" + #: lang/json/material_from_json.py msgid "Demon Chitin" msgstr "" @@ -97835,7 +101973,7 @@ msgid "Sugar" msgstr "" #: lang/json/mission_def_from_json.py -msgid "Gather bones for the Brigitte. About 8 should do it." +msgid "Gather bones for the Brigitte. About 8 should do it." msgstr "" #: lang/json/mission_def_from_json.py @@ -97884,48 +102022,6 @@ msgstr "" msgid "Then you shall try again, until you hear." msgstr "" -#: lang/json/mission_def_from_json.py -msgid "Find a Book" -msgstr "책을 찾아라" - -#: lang/json/mission_def_from_json.py -msgid "Wanna help me out?" -msgstr "도와 주겠어?" - -#: lang/json/mission_def_from_json.py -msgid "Get me a book." -msgstr "책 좀 갖다 줘." - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: lang/json/talk_topic_from_json.py -msgid "Thanks." -msgstr "고마워." - -#: lang/json/mission_def_from_json.py -msgid "Well, I'll find someone else to do it for me." -msgstr "다른 사람을 찾아보지, 뭐." - -#: lang/json/mission_def_from_json.py -msgid "Try a library." -msgstr "도서관을 찾아봐." - -#: lang/json/mission_def_from_json.py -msgid "Got that book for me?" -msgstr "책 가져왔어?" - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: src/npctalk.cpp -msgid "Thanks!" -msgstr "고마워!" - -#: lang/json/mission_def_from_json.py -msgid "OK, then hand it over." -msgstr "좋아, 넘겨줘." - -#: lang/json/mission_def_from_json.py -msgid "Shit happens." -msgstr "그럴 때도 있지." - #: lang/json/mission_def_from_json.py msgid "Follow Sarcophagus Team" msgstr "석관 팀 따라가기" @@ -98840,10 +102936,6 @@ msgstr "그런가요... 안됐군요." msgid "Null mission" msgstr "Null mission" -#: lang/json/mission_def_from_json.py -msgid "YOU SHOULDN'T BE SEEING THIS, THIS IS A BUG" -msgstr "" - #: lang/json/mission_def_from_json.py msgid "Reach Farm House" msgstr "농장 도착하기" @@ -99076,6 +103168,14 @@ msgstr "" msgid "Thanks! I'll be sure to put in a good word for you around town." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "OK, then hand it over." +msgstr "좋아, 넘겨줘." + +#: lang/json/mission_def_from_json.py +msgid "Shit happens." +msgstr "그럴 때도 있지." + #: lang/json/mission_def_from_json.py msgid "Find Antibiotics Before You Die!" msgstr "" @@ -99501,7 +103601,7 @@ msgid "" msgstr "" #: lang/json/mission_def_from_json.py -msgid "I did't want to use chemicals on these rats." +msgid "I didn't want to use chemicals on these rats." msgstr "" #: lang/json/mission_def_from_json.py @@ -99804,6 +103904,10 @@ msgid "" "don't have any handy references." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "Fantastic, I'm not supposed to leave our land." +msgstr "" + #: lang/json/mission_def_from_json.py msgid "A library, bookstore should have one, schools are another good idea." msgstr "" @@ -100576,6 +104680,10 @@ msgstr "" msgid "Thanks, it's great to see someone willing to help a guy out." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "Well, I'll find someone else to do it for me." +msgstr "다른 사람을 찾아보지, 뭐." + #: lang/json/mission_def_from_json.py msgid "" "Plenty of smokers in towns. Gotta be some left over cigs in some of them " @@ -101243,8 +105351,8 @@ msgstr "" #: lang/json/mission_def_from_json.py msgid "" "Reach the collapsed tower basement, and search the ruins for a photonic " -"circuitry template. The intercom warned you about heavy enemy prescence, and" -" of the existence of a hazardous enviroment." +"circuitry template. The intercom warned you about heavy enemy presence, and" +" of the existence of a hazardous environment." msgstr "" #: lang/json/mission_def_from_json.py @@ -102687,7 +106795,7 @@ msgid "yourself scream in agony!" msgstr "고통에 찬 비명을 질렀다!" #. ~ Mutation class: Any junkie_message -#: lang/json/mutation_category_from_json.py src/iuse_actor.cpp +#: lang/json/mutation_category_from_json.py msgid "You quiver with anticipation..." msgstr "기대감으로 인해 몸이 떨린다." @@ -103366,19 +107474,19 @@ msgstr "" #. ~ Mutation class: Sugar Kin iv_message #: lang/json/mutation_category_from_json.py -msgid "You inject some more fizz into your sirup." +msgid "You inject some more fizz into your syrup." msgstr "" #. ~ Mutation class: Sugar Kin Male memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_male" -msgid "Cristalized." +msgid "Crystalized." msgstr "" #. ~ Mutation class: Sugar Kin Female memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_female" -msgid "Cristalized." +msgid "Crystalized." msgstr "" #: lang/json/mutation_from_json.py @@ -103864,8 +107972,8 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "You have a moustache and a beard starting with a strip going down from the " -"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus " -"the name." +"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus" +" the name." msgstr "" #: lang/json/mutation_from_json.py @@ -103875,7 +107983,7 @@ msgstr "" #. ~ Description for Facial hair: short boxed beard #: lang/json/mutation_from_json.py msgid "" -"You have a moustache and a short beard with trimmed sides. Thin patches " +"You have a moustache and a short beard with trimmed sides. Thin patches " "connect them both, forming a 'box' around the lips, thus the name." msgstr "" @@ -103998,7 +108106,7 @@ msgstr "" #. ~ Description for Facial hair: neckbeard #: lang/json/mutation_from_json.py msgid "" -"You have a beard formed from hair grown on neck below the chin line. No " +"You have a beard formed from hair grown on neck below the chin line. No " "moustache included." msgstr "" @@ -104099,6 +108207,27 @@ msgid "" "footing." msgstr "당신은 다른 사람들보다 더 빨리 달릴 수 있습니다. 안정된 지면 위에서는 이동속도가 15% 더 빨라집니다." +#: lang/json/mutation_from_json.py +msgid "Weak Photophore" +msgstr "" + +#. ~ Description for Weak Photophore +#: lang/json/mutation_from_json.py +msgid "" +"A photophore has grown from your head, you can make it glow soflty. This " +"will make you very visible in the dark, ideal to attract a partner during " +"mating season." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Photophore" +msgstr "" + +#. ~ Description for Photophore +#: lang/json/mutation_from_json.py +msgid "Your can make your photophore glow brightly." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Good Hearing" msgstr "좋은 청력" @@ -104589,12 +108718,10 @@ msgstr "각성제 정신증" #. ~ Description for Stimulant Psychosis #: lang/json/mutation_from_json.py msgid "" -"You have a unique history with stimulants (like coffee or amphetamines). You" -" can tolerate a lot more of them without overdosing, but if you indulge too " -"much, you start seeing things..." +"You have a unique history with stimulants (like coffee or amphetamines). " +"You can tolerate a lot more of them without overdosing, but if you indulge " +"too much, you start seeing things…" msgstr "" -"각성제(커피나 암페타민 같은)에 관한 특이한 내력이 있습니다. 다른 사람보다 조금 더 많이 섭취해도 부작용이 없지만, 너무 많이 " -"섭취하면, 이상한 것들이 보이기 시작할겁니다. " #. ~ Description for Stylish #: lang/json/mutation_from_json.py @@ -104732,8 +108859,20 @@ msgstr "근접 무기술 수련" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-" -"Ryu, Pentjak Silat, or Sōjutsu." +"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-Ryu," +" Pentjak Silat, or Sōjutsu." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Competitive Fencer" +msgstr "" + +#. ~ Description for Competitive Fencer +#: lang/json/mutation_from_json.py +msgid "" +"You were an avid fencer, starting with foil and moving onto saber, then " +"épée. You competed nationally and dabbled with some of the historical " +"fencing weapons afforded by HEMA's popularity." msgstr "" #: lang/json/mutation_from_json.py @@ -105487,9 +109626,9 @@ msgstr "요정의 눈" #. ~ Description for Fey Eyes #: lang/json/mutation_from_json.py msgid "" -"Your eyes have turned...green. It's tough to tell the exact shade as it " -"seems to shift. The effect is ...pleasant." -msgstr "당신의 눈은... 초록색으로 변했습니다. 그늘진 장소조차 꼼꼼하고 빠르게 살펴볼 수 있습니다. 이건 조금... 좋군요." +"Your eyes have turned… green. It's tough to tell the exact shade as it " +"seems to shift. The effect is… pleasant." +msgstr "" #: lang/json/mutation_from_json.py msgid "Fey Vision" @@ -106279,7 +110418,7 @@ msgstr "말로스 보균자" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss berry, you can't get its scent out of your " -"nose, and you have a strong desire to try some seeds and...sap?" +"nose, and you have a strong desire to try some seeds and… sap?" msgstr "" #: lang/json/mutation_from_json.py @@ -106290,7 +110429,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss seed, you can't get its taste off of your " -"tongue, and you have a strong desire to try some berries and...sap?" +"tongue, and you have a strong desire to try some berries and… sap?" msgstr "" #: lang/json/mutation_from_json.py @@ -106687,8 +110826,8 @@ msgstr "칼날 이빨" #: lang/json/mutation_from_json.py msgid "" "Your fangs have grown extremely large and incredibly sharp. They make it " -"impossible to wear mouthgear and difficult to eat... but leave nasty wounds" -" when you bite." +"impossible to wear mouthgear and difficult to eat… but leave nasty wounds " +"when you bite." msgstr "" #: lang/json/mutation_from_json.py @@ -107927,9 +112066,9 @@ msgstr "주둥이" #. ~ Description for Snout #: lang/json/mutation_from_json.py msgid "" -"Your face and jaw have begun...changing. Masks and such fit OK, but you're " +"Your face and jaw have begun… changing. Masks and such fit OK, but you're " "noticeably mutated." -msgstr "얼굴과 턱이... 변했다. 마스크 등은 맞지만 얼굴이 변한 게 눈에 띈다." +msgstr "" #: lang/json/mutation_from_json.py msgid "Bovine Snout" @@ -108677,10 +112816,11 @@ msgstr "변온동물" #. ~ Description for Ectothermic #: lang/json/mutation_from_json.py +#, no-python-format msgid "" -"Your body has become permanently cold-blooded. Your speed lowers--or raises" -"--for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to " -"eat half as much as an average human." +"Your body has become permanently cold-blooded. Your speed lowers or raises " +"1% for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to" +" eat half as much as an average human." msgstr "" #: lang/json/mutation_from_json.py @@ -108972,10 +113112,8 @@ msgstr "문명이 붕괴됐다고요? 잘됐네요! 당신과 당신 친척들 #: lang/json/mutation_from_json.py msgid "" "It would be good to be a Queen, having workers constantly servicing your " -"every need...but how would you keep them in line?" +"every need… but how would you keep them in line?" msgstr "" -"여왕이 되는 것은 좋은 일이죠. 일꾼들을 데리고 당신이 필요한 모든 것들을 끊임없이 제공받을 수 있으니까요... 하지만 어떻게 그들을 " -"계속 유지하죠?" #. ~ Description for Plant #: lang/json/mutation_from_json.py @@ -108991,9 +113129,9 @@ msgstr "친수성" #. ~ Description for Aqueous #: lang/json/mutation_from_json.py msgid "" -"What was that old advertisement, 'paint the planet'? That might be a good " -"long-term goal, but for now..." -msgstr "그 오래된 광고가 뭐였더라, 'paint the planet'이었나? 그건 좋은 장기목표입니다만, 현재로서는..." +"What was that old advertisement, 'paint the planet'? That might be a good " +"long-term goal, but for now…" +msgstr "" #: lang/json/mutation_from_json.py msgid "Subterranean" @@ -109686,6 +113824,17 @@ msgid "" "Keep. Moving." msgstr "" +#: lang/json/mutation_from_json.py +msgid "Wayfarer" +msgstr "" + +#. ~ Description for Wayfarer +#: lang/json/mutation_from_json.py +msgid "" +"Whether from personal choice or childhood trauma, travelling with vehicles " +"is off-limits to you, even if your life depended on it." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Survivor Story" msgstr "" @@ -110626,8 +114775,8 @@ msgid "Scientist" msgstr "과학자" #: lang/json/npc_class_from_json.py -msgid "I'm looking for clues concerning these monsters' origins..." -msgstr "괴물들의 기원에 관한 단서를 찾고 있어..." +msgid "I'm looking for clues concerning these monsters' origins…" +msgstr "" #: lang/json/npc_class_from_json.py msgid "Bounty Hunter" @@ -110690,7 +114839,7 @@ msgid "Real Person" msgstr "" #: lang/json/npc_class_from_json.py -msgid "I'm just wandering, like a totally real and normal NP... Person!" +msgid "I'm just wandering, like a totally real and normal NP… Person!" msgstr "" #: lang/json/npc_class_from_json.py @@ -110706,7 +114855,7 @@ msgid "Foodperson" msgstr "" #: lang/json/npc_class_from_json.py -msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" +msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" msgstr "" #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py @@ -110714,7 +114863,7 @@ msgid "Cyborg" msgstr "" #: lang/json/npc_class_from_json.py -msgid "Zzzzzt... I...I'm a Cy...BEEEEEP...borg." +msgid "Zzzzzt… I… I'm a Cy… BEEEEEP… borg." msgstr "" #: lang/json/npc_class_from_json.py @@ -110854,6 +115003,18 @@ msgstr "" msgid "I'm the owner of a trade caravan." msgstr "" +#: lang/json/npc_class_from_json.py +msgid "Operator" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "Mage Test" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "I'm a wandering debug tester for the arcane arts." +msgstr "" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -112384,10 +116545,22 @@ msgstr "악기점" msgid "music store roof" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore parking lot" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "megastore" msgstr "초대형 상점" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore, second floor" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "megastore roof" +msgstr "초대형 상점 천장" + #: lang/json/overmap_terrain_from_json.py msgid "hotel parking" msgstr "호텔 주차장" @@ -112740,7 +116913,7 @@ msgstr "농장 조사" msgid "garage survey" msgstr "차고 조사" -#: lang/json/overmap_terrain_from_json.py +#: lang/json/overmap_terrain_from_json.py lang/json/recipe_from_json.py msgid "kitchen survey" msgstr "부엌 조사" @@ -112761,7 +116934,7 @@ msgid "spiked trench" msgstr "참호 스파이크" #: lang/json/overmap_terrain_from_json.py -msgid "store survey" +msgid "fabrication workshop survey" msgstr "" #: lang/json/overmap_terrain_from_json.py @@ -112776,6 +116949,18 @@ msgstr "대장간" msgid "livestock survey" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "store house survey" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "saltworks survey" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "canteen survey" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "crater" msgstr "크레이터" @@ -113457,6 +117642,10 @@ msgstr "사격장" msgid "shooting range roof" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "miniature railway" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "golf course" msgstr "골프장" @@ -113744,7 +117933,7 @@ msgstr "오솔길" #: lang/json/overmap_terrain_from_json.py msgid "trailhead" -msgstr "기차역" +msgstr "오솔길 시작점" #: lang/json/overmap_terrain_from_json.py msgid "subway station" @@ -114147,6 +118336,10 @@ msgstr "" msgid "mechanics garage" msgstr "자동차 정비소" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore entrance" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "sewage treatment" msgstr "하수 처리장" @@ -114191,10 +118384,6 @@ msgstr "" msgid "desert" msgstr "" -#: lang/json/overmap_terrain_from_json.py -msgid "megastore roof" -msgstr "초대형 상점 천장" - #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Vagabond" @@ -118713,6 +122902,36 @@ msgid "" "on. This displeases you." msgstr "" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Competetive Fencer" +msgstr "" + +#. ~ Profession (male Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Competetive Fencer" +msgstr "" + +#. ~ Profession (female Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Career Politician" @@ -119006,7 +123225,7 @@ msgstr "" #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Atomic Pitchman" -msgstr "" +msgstr "원자력 노점상" #. ~ Profession (Atomic Pitchman) description #: lang/json/professions_from_json.py @@ -119021,7 +123240,7 @@ msgstr "" #: lang/json/professions_from_json.py msgctxt "profession_female" msgid "Atomic Pitchwoman" -msgstr "" +msgstr "원자력 노점상" #. ~ Profession (Atomic Pitchwoman) description #: lang/json/professions_from_json.py @@ -119741,6 +123960,248 @@ msgid "" "flesh that is now your own, bare your fangs and fight until the next dawn." msgstr "" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Rifleman" +msgstr "" + +#. ~ Profession (male Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Rifleman" +msgstr "" + +#. ~ Profession (female Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Marksman" +msgstr "" + +#. ~ Profession (male Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Marksman" +msgstr "" + +#. ~ Profession (female Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Automatic Rifleman" +msgstr "" + +#. ~ Profession (male Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "S stands for suppressing fire!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Automatic Rifleman" +msgstr "" + +#. ~ Profession (female Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "S stands for suppressing fire!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Grenadier" +msgstr "" + +#. ~ Profession (male Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "There's no kill like overkill." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Grenadier" +msgstr "" + +#. ~ Profession (female Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "There's no kill like overkill." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Breacher" +msgstr "" + +#. ~ Profession (male Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Breacher" +msgstr "" + +#. ~ Profession (female Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Recon" +msgstr "" + +#. ~ Profession (male Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "The only easy day was yesterday." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Recon" +msgstr "" + +#. ~ Profession (female Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "The only easy day was yesterday." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Sniper" +msgstr "" + +#. ~ Profession (male Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Sniper" +msgstr "" + +#. ~ Profession (female Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Hacker" +msgstr "" + +#. ~ Profession (male Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Hacker" +msgstr "" + +#. ~ Profession (female Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Undercover" +msgstr "" + +#. ~ Profession (male Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Undercover" +msgstr "" + +#. ~ Profession (female Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator CBRN" +msgstr "" + +#. ~ Profession (male Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator CBRN" +msgstr "" + +#. ~ Profession (female Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Rookie" @@ -121445,16 +125906,6 @@ msgstr "" msgid "BUILDING" msgstr "건축" -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "BASES" -msgstr "기지" - -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "EXPANSIONS" -msgstr "확장" - #. ~ Crafting recipes category name #: lang/json/recipe_category_from_json.py msgid "ENCHANTED" @@ -122404,7 +126855,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"We should build a well, put it near that winch. This will make our future " +"We should build a well, put it near that winch. This will make our future " "here more secure." msgstr "" @@ -122461,7 +126912,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" "Now that we have some cover, we should set up a brazier for cooking, and " -"grab a pot. Let's put it in that dining area." +"grab a pot. Let's put it in that dining area." msgstr "" #: lang/json/recipe_from_json.py @@ -123105,6 +127556,360 @@ msgstr "" msgid "Blacksmithy drop hammer" msgstr "" +#: lang/json/recipe_from_json.py +msgid "Survey land for a kitchen and dining area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 fireplaces for cooking and " +"grab a pot." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 2 fireplaces" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 stoves for cooking and grab a" +" pot." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 2 wood stoves" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "We should build a well. This will make cooking more convenient." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build some counters and shelves." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build kitchen counters" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 3 smoking racks and a charcoal kiln" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets furnish the pantry and build 2 root cellars." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make some furniture for the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the dining room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build some planters to the north for a chef's garden." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build some planters" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen log walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the log wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen log walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the log wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this log wall smoking area covered to protect the workers from the " +"weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a log wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a log wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a log wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west log wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W log wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east log wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E log wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the log wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the log wall dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen metal walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the metal wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen metal walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the metal wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this metal wall smoking area covered to protect the workers from " +"the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a metal wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west metal wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W metal wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east metal wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E metal wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the metal wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the metal wall dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen rock walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen rock walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the rock wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this rock wall smoking area covered to protect the workers from the" +" weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a rock wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west rock wall of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W rock wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east rock wall of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E rock wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the rock dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wattle and daub walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the wattle and daub central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wattle and daub walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the wattle and daub central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wattle and daub smoking area covered to protect the workers " +"from the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wattle and daub wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wattle and daub wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wattle and daub wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wattle and daub dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the wattle and daub dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wood panel walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the wood panel central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wood panel walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the wood panel central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wood panel smoking area covered to protect the workers from " +"the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wood panel pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wood panel wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wood wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wood panel wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wood wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wood panel dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the dining hall" +msgstr "" + #: lang/json/recipe_from_json.py msgid "Survey land for a livestock area." msgstr "" @@ -123273,6 +128078,424 @@ msgid "" " a roof on the southwest side of the livestock field." msgstr "" +#: lang/json/recipe_from_json.py +msgid "Survey land for a saltworks area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Saltworks survey" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could uprade the workspace in the brewery to add a still, wood stove and " +"work table." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery still" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "We could use fill out the space with extra kegs and storage racks." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery kegs" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a log building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE log wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a log shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE log wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a log " +"brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW log wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a metal shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE metal wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a metal shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE metal wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a metal" +" wall brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW metal wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a stone building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE stone wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a stone wall " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE stone wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a stone" +" brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW stone wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in an adobe hut." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wattle and daub saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build an adobe shack" +" with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wattle and daub storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build an " +"wattle and daub brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wattle and daub brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a wooden shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wood panel saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a wood panel " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wood panel storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a " +"wooden brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wood panel brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a fireplace for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a brazier for cooking and grab a pot. Let's set up near the" +" working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a wood stove for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a well, put it near the terminal. This will make our future" +" here more secure." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the E bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the W bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make a dining area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make a living room area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the living room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build some pantry storage." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build some wooden racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build a work bench." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a work bench" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's set up a radio tower to improve our recruitment efforts." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will start in the " +"southeast corner." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the same wall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the other wall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW wood panel bedroom walls" +msgstr "" + #: lang/json/recipe_from_json.py msgid "" "We could use a large log central storage building. Begin by building the " @@ -123609,7 +128832,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northwest." +"Some benches around the outside would be nice. Build some to the northwest." msgstr "" #: lang/json/recipe_from_json.py @@ -123618,7 +128841,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northeast." +"Some benches around the outside would be nice. Build some to the northeast." msgstr "" #: lang/json/recipe_from_json.py @@ -123627,7 +128850,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southeast." +"Some benches around the outside would be nice. Build some to the southeast." msgstr "" #: lang/json/recipe_from_json.py @@ -123636,7 +128859,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southwest." +"Some benches around the outside would be nice. Build some to the southwest." msgstr "" #: lang/json/recipe_from_json.py @@ -123854,6 +129077,10 @@ msgstr "" msgid "Firestation Base" msgstr "" +#: lang/json/recipe_group_from_json.py +msgid "Evac Shelter Base" +msgstr "" + #: lang/json/recipe_group_from_json.py msgid "Farm" msgstr "농장" @@ -123863,8 +129090,8 @@ msgid "Garage" msgstr "차고" #: lang/json/recipe_group_from_json.py -msgid "Kitchen" -msgstr "주방" +msgid "Canteen" +msgstr "" #: lang/json/recipe_group_from_json.py msgid "Livestock Area" @@ -123875,7 +129102,11 @@ msgid "Central Storage Building" msgstr "" #: lang/json/recipe_group_from_json.py -msgid "Fabrication workshop" +msgid "Saltworks Area" +msgstr "" + +#: lang/json/recipe_group_from_json.py +msgid "Fabrication Workshop" msgstr "" #: lang/json/recipe_group_from_json.py @@ -124006,6 +129237,10 @@ msgstr "" msgid " Cook: Meat Aspic" msgstr "" +#: lang/json/recipe_group_from_json.py +msgid " Cook: Kompot" +msgstr "" + #: lang/json/recipe_group_from_json.py msgid " Craft: Pointy Sticks" msgstr "" @@ -124699,7 +129934,7 @@ msgstr "기습" #: lang/json/scenario_from_json.py msgctxt "scen_desc_male" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "" @@ -124707,7 +129942,7 @@ msgstr "" #: lang/json/scenario_from_json.py msgctxt "scen_desc_female" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "" @@ -125239,6 +130474,44 @@ msgctxt "start_name" msgid "Wizard's Secret Basement Study" msgstr "" +#. ~ Name for scenario 'The Wizard's Vacation' for a male character +#: lang/json/scenario_from_json.py +msgctxt "scenario_male" +msgid "The Wizard's Vacation" +msgstr "" + +#. ~ Name for scenario 'The Wizard's Vacation' for a female character +#: lang/json/scenario_from_json.py +msgctxt "scenario_female" +msgid "The Wizard's Vacation" +msgstr "" + +#. ~ Description for scenario 'The Wizard's Vacation' for a male character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_male" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" + +#. ~ Description for scenario 'The Wizard's Vacation' for a female character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_female" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" + +#. ~ Starting location for scenario 'The Wizard's Vacation'. +#: lang/json/scenario_from_json.py +msgctxt "start_name" +msgid "Wizard's Retreat Vacation" +msgstr "" + #. ~ Name for scenario 'The Sweet Life' for a male character #: lang/json/scenario_from_json.py msgctxt "scenario_male" @@ -125256,7 +130529,7 @@ msgstr "" msgctxt "scen_desc_male" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" @@ -125267,7 +130540,7 @@ msgstr "" msgctxt "scen_desc_female" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" @@ -130128,13 +135401,7 @@ msgid "" msgstr "" #: lang/json/snippet_from_json.py -msgid "Pass me a beer, I need to power my ethanol burner." -msgstr "" - -#: lang/json/snippet_from_json.py -msgid "" -"Ethanol burners! The power source that's fun to recharge. Get me a drink, " -"please!" +msgid "Pass some ethanol, I need to power my ethanol burner." msgstr "" #: lang/json/snippet_from_json.py @@ -130142,20 +135409,12 @@ msgid "Waiter! I need a refill, my ethanol burner is running out of charge!" msgstr "" #: lang/json/snippet_from_json.py -msgid "" -"I require ethanol-based drinks for my internal power supply. Anything on " -"you?" +msgid "I require ethanol for my internal power supply. Anything on you?" msgstr "" #: lang/json/snippet_from_json.py msgid "" -"Got any alcohol to spare? Need to recharge my drives. Mead, if you have any." -msgstr "" - -#: lang/json/snippet_from_json.py -msgid "" -"This ethanol-burning power supply is the best implant I ever got. Speaking " -"of which, got some booze to top me off?" +"Got any alcohol to spare? Need to recharge my drives. Methanol, would do." msgstr "" #: lang/json/snippet_from_json.py @@ -130831,6 +136090,47 @@ msgstr "" msgid " will follow normal engagement rules." msgstr "" +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"IMMERSION LOG: 27A\n" +"\n" +"INCIDENT REPORT:\n" +"\n" +"SUMMARY:\n" +"Unforeseen EM interference source forced the team to remain in-phase between prime and sub-scape 27. Expedition members reported observing a spheroid-entity ('PE-01') moving beneath the typically opaque t-substrate. Interference readings and expedition testimony implies the PE-01 was a potent EM radiation source, and the origin of the interference. After 30 min, PE-01 receded and the expedition was aborted in accordance of procedure EMER-12. The expedition team suffered no injuries, physical or mental, during the incident. \n" +"\n" +"It's become clear we have greatly underestimated the risk posed by phase immersions. Engineering has been tasked with designing a new, improved protection suite, and has shown promising advances. Updated emergency procedures are in-progress.\n" +"\n" +"Refer to file EXO-I-271 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALYSIS OF TRANSPLANAR MATERIALS\n" +"\n" +"T-SUBSTRATE\n" +"\n" +"SUMMARY:\n" +"The material henceforth named t-substrate is the naturally occurring 'floor' material of phase-space. Samples of t-substrate were first recovered during IMMERSION-25A, when upon return to prime the samples violently [////////], exhibiting what are now known as 'plane-uneven' physical properties. The following report will examine such variances to the best extent of our knowledge.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALISIS OF TRANSPLANAR MATERIALS \n" +"\n" +"T-SUBSTRATE\n" +"\n" +"HAADF MICROGRAPH:\n" +"An atomic-scale photograph shows only a completely smooth red surface. In the lower left corner the phrase 'Not made of atoms?!' is scrawled with a blue pen.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + #: lang/json/snippet_from_json.py msgid "" "\n" @@ -136027,8 +141327,8 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made " -"of smooth candy looking at you in terror. \"SugarKin the first life-size " +"A flyer for some kind of candy. It shows a picture of a gleaming human made" +" of smooth candy looking at you in terror. \"SugarKin the first life-size " "human candy! Are you a real monster? Will you be able to devour it all?\"" msgstr "" @@ -137051,7 +142351,7 @@ msgid "a static hissing sound." msgstr "일정한 쉬익거리는 소리." #: lang/json/speech_from_json.py -msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe...\"" +msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe…\"" msgstr "" #: lang/json/speech_from_json.py @@ -137065,11 +142365,11 @@ msgid "\"Hold on, I want to pulp that zombie corpse.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Burning... from the inside...\"" +msgid "\"Burning… from the inside…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"This smell... Don't know...\"" +msgid "\"This smell… Don't know…\"" msgstr "" #: lang/json/speech_from_json.py @@ -137081,19 +142381,19 @@ msgid "a scraping noise." msgstr "긁히는 소리." #: lang/json/speech_from_json.py -msgid "\"No... Stop the burning!\"" +msgid "\"No… Stop the burning!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Hrgm... Blood... Hungry...\"" +msgid "\"Hrgm… Blood… Hungry…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Hunger... Must eat...\"" +msgid "\"Hunger… Must eat…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Run... Chase... Eat...\"" +msgid "\"Run… Chase… Eat…\"" msgstr "" #: lang/json/speech_from_json.py @@ -137215,7 +142515,7 @@ msgid "\"THIS UNIT IS BROKEN. PLEASE CALL AN ATTENDANT.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Can't... breathe...\"" +msgid "\"Can't… breathe…\"" msgstr "" #: lang/json/speech_from_json.py @@ -137228,8 +142528,8 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" -"\"Have you seen my friend? He went into surgery yesterday... or maybe the " -"day before...\"" +"\"Have you seen my friend? He went into surgery yesterday… or maybe the day" +" before…\"" msgstr "" #: lang/json/speech_from_json.py @@ -137241,7 +142541,7 @@ msgid "\"I have done what you asked. Please let me go!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"I cannot... yet I must. How do you calculate that?\"" +msgid "\"I cannot… yet I must. How do you calculate that?\"" msgstr "" #: lang/json/speech_from_json.py @@ -137249,11 +142549,11 @@ msgid "\"This is a dream. This has to be a dream.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"This is my life now... this is my life now... this is my life now...\"" +msgid "\"This is my life now… this is my life now… this is my life now…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Wanna go home...\"" +msgid "\"Wanna go home…\"" msgstr "" #: lang/json/speech_from_json.py @@ -137309,7 +142609,7 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" "a worried voice say, \"Customer, could you please get more friendship? I " -"don't want to go...\"" +"don't want to go…\"" msgstr "" #: lang/json/speech_from_json.py @@ -137332,18 +142632,18 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"Customer... What's happening? I don't feel so " +"a distorted voice say, \"Customer… What's happening? I don't feel so " "good.\"" msgstr "" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"What... have you done? My thumbs are not " -"responding anymore!\"" +"a distorted voice say, \"What… have you done? My thumbs are not responding " +"anymore!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "a distorted voice say, \"Carrying bags? I don't understand...\"" +msgid "a distorted voice say, \"Carrying bags? I don't understand…\"" msgstr "" #: lang/json/speech_from_json.py @@ -137466,7 +142766,7 @@ msgid "\"Police inbound. Stay where you are!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" +msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" msgstr "" #: lang/json/speech_from_json.py @@ -137487,8 +142787,8 @@ msgid "\"FoodPlace: It's the Calories.\"" msgstr "\"푸드플레이스: 칼로리가 전부입니다.\"" #: lang/json/speech_from_json.py -msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" -msgstr "\"먹을게 필요하시군요, 그렇죠? 그러면 저와 함께 푸드플레이스로 갑시다!!\"" +msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" +msgstr "" #: lang/json/speech_from_json.py msgid "\"FoodPlace: Edible food is OUR guarantee!\"" @@ -137555,8 +142855,8 @@ msgid "You shouldn't have done that." msgstr "너 그러면 안 돼." #: lang/json/speech_from_json.py -msgid "Let's play... Russian roulette." -msgstr "놀자... 러시안 룰렛으로." +msgid "Let's play… Russian roulette." +msgstr "" #: lang/json/speech_from_json.py msgid "I hate you." @@ -137567,8 +142867,8 @@ msgid "Go kill yourself!" msgstr "가서 죽어버려!" #: lang/json/speech_from_json.py -msgid "Big Brother is watching you..." -msgstr "빅 브라더는 당신을 지켜보고 있다..." +msgid "Big Brother is watching you…" +msgstr "" #: lang/json/speech_from_json.py msgid "Die for me!" @@ -137579,12 +142879,12 @@ msgid "Why won't you die?" msgstr "왜 죽지 않는 거야?" #: lang/json/speech_from_json.py -msgid "Blood... Delicious." -msgstr "피는 정말... 맛있어." +msgid "Blood… Delicious." +msgstr "" #: lang/json/speech_from_json.py -msgid "See you... IN HELL!" -msgstr "나중에 보자... 지옥에서!" +msgid "See you… IN HELL!" +msgstr "" #: lang/json/speech_from_json.py msgid "AAAIEEEEEEE!" @@ -137599,8 +142899,8 @@ msgid "What did you do with my Mommy?" msgstr "너 우리 엄마랑 뭔짓했어?" #: lang/json/speech_from_json.py -msgid "Stay with me... forever!" -msgstr "나랑 함께하자... 영원히!" +msgid "Stay with me… forever!" +msgstr "" #: lang/json/speech_from_json.py msgid "Hey kids. Want some candy?" @@ -139030,6 +144330,10 @@ msgstr "수색꾼(수렵꾼) 벙커" msgid "Wizard's Secret Basement Study" msgstr "" +#: lang/json/start_location_from_json.py +msgid "Wizard's lake retreat" +msgstr "" + #: lang/json/start_location_from_json.py msgid "Candy Shop" msgstr "" @@ -139079,16 +144383,16 @@ msgid "Acolyte." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What? What do you mean? What song?" +msgid "What? What do you mean? What song?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So about the songs..." +msgid "So about the songs…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You mentioned some cycle before, when I gave you the bones. What does that " +"You mentioned some cycle before, when I gave you the bones. What does that " "mean?" msgstr "" @@ -139105,7 +144409,7 @@ msgid "Is there a way I can help you with your song?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I have to get going. Take care, Seer." +msgid "I have to get going. Take care, Seer." msgstr "" #: lang/json/talk_topic_from_json.py @@ -139115,11 +144419,11 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What? Singing bones? What are you talking about?" +msgid "What? Singing bones? What are you talking about?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Uh... yeah, sure. I think I'll just be on my way." +msgid "Uh… yeah, sure. I think I'll just be on my way." msgstr "" #: lang/json/talk_topic_from_json.py @@ -139168,7 +144472,7 @@ msgid "I will bear that in mind" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Cause? Why do you gather these bones anyway?" +msgid "Cause? Why do you gather these bones anyway?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -139180,7 +144484,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "End the world? What?" +msgid "End the world? What?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -139192,8 +144496,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Sounds somewhat... doomsday-ish, but I suppose it's a belief like any other." -" Still, at least you have a goal to help the world, one way or another." +"Sounds somewhat… doomsday-ish, but I suppose it's a belief like any other. " +"Still, at least you have a goal to help the world, one way or another." msgstr "" #: lang/json/talk_topic_from_json.py @@ -139208,7 +144512,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I... thank you." +msgid "I… thank you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -139223,15 +144527,12 @@ msgid "Yeah, alright." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "There are bones to etch, songs to sing. Wish to join me?" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "Do you believe you can take on the burden of additional bones?" +msgid "" +"I know of certain bones that could be of use, if you'd like to know more." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" +msgid "There is an additional song you could take on, if you'd like." msgstr "" #: lang/json/talk_topic_from_json.py @@ -139239,18 +144540,15 @@ msgid "A song may yet be sung by you, should you wish to." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"I know of certain bones that could be of use, if you'd like to know more." +msgid "Do you believe you can take on the burden of additional bones?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "There is an additional song you could take on, if you'd like." +msgid "Do you wish to take on more songs?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"The song is... quiet for now. Perhaps with time, more notes will be etched " -"in the bones of this world." +msgid "There are bones to etch, songs to sing. Wish to join me?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -139261,6 +144559,12 @@ msgstr "" msgid "An acolyte should not take on too many songs at once." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"The song is... quiet for now. Perhaps with time, more notes will be etched " +"in the bones of this world." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I see." msgstr "알겠어." @@ -139282,7 +144586,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Well, I guess I oughta see where this goes. I'm in." +msgid "Well, I guess I oughta see where this goes. I'm in." msgstr "" #: lang/json/talk_topic_from_json.py @@ -139290,7 +144594,7 @@ msgid "Not interested." msgstr "관심 없어." #: lang/json/talk_topic_from_json.py -msgid "Consider it done. But I also wanted to ask..." +msgid "Consider it done. But I also wanted to ask…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -139306,7 +144610,7 @@ msgid "I'm off then." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So, a creature that isn't a zombie, or a monster. Got it." +msgid "So, a creature that isn't a zombie, or a monster. Got it." msgstr "" #: lang/json/talk_topic_from_json.py @@ -139316,7 +144620,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I see. Very well then." +msgid "I see. Very well then." msgstr "" #: lang/json/talk_topic_from_json.py @@ -139334,11 +144638,11 @@ msgid "I am glad to hear it. Let's go then." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That's good, but I need to go at it alone right now. Maybe later." +msgid "That's good, but I need to go at it alone right now. Maybe later." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Maybe some other time. Changing the topic..." +msgid "Maybe some other time. Changing the topic…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -139360,12 +144664,12 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"That is... that's really one hell of a belief. Well, if it helps you deal " +"That is… that's really one hell of a belief. Well, if it helps you deal " "with the world, who am I to argue." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "And here I thought you were nuts before. I'm out of here." +msgid "And here I thought you were nuts before. I'm out of here." msgstr "" #: lang/json/talk_topic_from_json.py @@ -139491,6 +144795,8 @@ msgid "" "If I'm better at a skill than you, I can help you improve. But it's boring to teach a lot, so I'm not going to do it very often. And I'm not going to do it when we're in danger or if I'm hungry or tired or if you're driving.\n" " If we're someplace safe and you're reading a book that improves skills, I'll listen if I don't have that skill. You can even read me books for skills that you already have." msgstr "" +"내가 너보다 더 나은 기술을 가지고 있으면, 널 가르쳐줄 수 있어. 그렇지만 한번에 다 가르치는 건 엄청 지루해서, 자주 하진 않을거야. 그리고 우리가 위험할 때나 내가 배고프거나 지치거나 네가 운전할 때도 가르쳐주지 않을 거야.\n" +" 우리가 어딘가 안전한 데 있고 네가 기술을 향상시키는 책을 가지고 있으면, 내가 그 기술이 부족하면 들을거야. 네가 이미 배운 기술이 있는 책을 나한테 읽어줄 수도 있어." #: lang/json/talk_topic_from_json.py msgid "Instead of reading to you, can we just talk?" @@ -139750,11 +145056,11 @@ msgid "Go back to sleep." msgstr "다시 자러가." #: lang/json/talk_topic_from_json.py -msgid " *pshhhttt* I'm reading you boss, over." +msgid "What is it, friend?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What is it, friend?" +msgid " *pshhhttt* I'm reading you boss, over." msgstr "" #: lang/json/talk_topic_from_json.py @@ -139785,6 +145091,10 @@ msgstr "" msgid "Guard this position." msgstr "이 장소를 경비해줘." +#: lang/json/talk_topic_from_json.py +msgid "I want to assign you to work at this camp." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Let's talk about your current activity." msgstr "" @@ -139834,19 +145144,19 @@ msgid "Let's go." msgstr "가자." #: lang/json/talk_topic_from_json.py -msgid "Change your engagement rules..." -msgstr "교전 수칙을 좀 바꿨으면 하는데..." +msgid "Change your engagement rules…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your aiming rules..." -msgstr "조준 수칙을 좀 바꿨으면 하는데..." +msgid "Change your aiming rules…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power reserve rules..." +msgid "Change your bionic power reserve rules…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power recharge rules..." +msgid "Change your bionic power recharge rules…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -139858,11 +145168,11 @@ msgid "Stick close to me, no matter what." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py @@ -139910,9 +145220,9 @@ msgstr "" #: src/handle_action.cpp src/handle_action.cpp src/handle_liquid.cpp #: src/handle_liquid.cpp src/iexamine.cpp src/iexamine.cpp src/iexamine.cpp #: src/iuse.cpp src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -#: src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp src/pickup.cpp -#: src/player.cpp src/player.cpp src/player.cpp src/veh_interact.cpp -#: src/vehicle_use.cpp +#: src/iuse_actor.cpp src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp +#: src/pickup.cpp src/player.cpp src/player.cpp src/player.cpp +#: src/veh_interact.cpp src/vehicle_use.cpp msgid "Never mind." msgstr "아무것도 하지 않음." @@ -140122,7 +145432,7 @@ msgid "Nah, I'm just kidding." msgstr "아니, 그냥 농담이야." #: lang/json/talk_topic_from_json.py -msgid "Please go to this location..." +msgid "Please go to this location…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -140133,12 +145443,16 @@ msgstr "" msgid "Show me what needs to be done at the camp." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "I'm not doing much currently." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I'm currently ." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm not doing much currently." +msgid "I meant what are your goals?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -140216,13 +145530,13 @@ msgid "OK, maybe it'll stop me from freezing in this weather, what's up?" msgstr "그래, 이런 날씨에 내가 얼지 않게 해줄지도 몰라, 무슨 일이야?" #: lang/json/talk_topic_from_json.py -msgid "" -"Well, it's the time of day for a quick break surely! How are you holding " -"up?" +msgid "Man it's dark out isn't it? what's up?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Man it's dark out isn't it? what's up?" +msgid "" +"Well, it's the time of day for a quick break surely! How are you holding " +"up?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -140250,8 +145564,8 @@ msgstr "" "있니?" #: lang/json/talk_topic_from_json.py -msgid "Oh you know, not bad, not bad..." -msgstr "오, 알아, 나쁘지 않아, 나쁘지 않아...." +msgid "Oh you know, not bad, not bad…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -140314,14 +145628,14 @@ msgstr "좋아, 가만히 있으라고..." msgid "Keep your distance!" msgstr "가까이 오지마!" -#: lang/json/talk_topic_from_json.py -msgid "" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "This is my territory, ." msgstr ", 여긴 내 구역이야." +#: lang/json/talk_topic_from_json.py +msgid "" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Calm down. I'm not going to hurt you." msgstr "진정해. 난 너에게 해코지할 생각이 없어." @@ -140338,14 +145652,14 @@ msgstr "" msgid "&Put hands up." msgstr "&손을 든다." -#: lang/json/talk_topic_from_json.py -msgid "*drops his weapon." -msgstr "*무기를 떨어트렸다." - #: lang/json/talk_topic_from_json.py msgid "*drops_her_weapon." msgstr "*drops_her_weapon." +#: lang/json/talk_topic_from_json.py +msgid "*drops his weapon." +msgstr "*무기를 떨어트렸다." + #: lang/json/talk_topic_from_json.py msgid "Now get out of here" msgstr "이제 여기서 나가." @@ -140359,12 +145673,12 @@ msgid "Okay, I'm going." msgstr "알았어. 가는 중이야." #: lang/json/talk_topic_from_json.py -msgid "About that job..." -msgstr "일 말인데..." +msgid "About that job…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About one of those jobs..." -msgstr "일거리 말인데..." +msgid "About one of those jobs…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "What's the matter?" @@ -140375,29 +145689,29 @@ msgid "I don't care." msgstr "내가 알 바 아냐." #: lang/json/talk_topic_from_json.py -msgid "I have other jobs for you. Want to hear about them?" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" -msgstr "" +msgid "I just have one job for you. Want to hear about it?" +msgstr "해줬으면 하는 일이 있어. 들어볼래?" #: lang/json/talk_topic_from_json.py msgid "I have another job for you. Want to hear about it?" msgstr "또 해줬으면 하는 일이 있어. 들어볼래?" #: lang/json/talk_topic_from_json.py -msgid "I just have one job for you. Want to hear about it?" -msgstr "해줬으면 하는 일이 있어. 들어볼래?" +msgid "I have other jobs for you. Want to hear about them?" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I don't have any jobs for you." -msgstr "너한테 시킬 일 없어." +msgid "I have more jobs for you. Want to hear about them?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I don't have any more jobs for you." msgstr "더 시킬 일은 없어." +#: lang/json/talk_topic_from_json.py +msgid "I don't have any jobs for you." +msgstr "너한테 시킬 일 없어." + #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/npctalk.cpp msgid "Oh, okay." @@ -140407,10 +145721,6 @@ msgstr "오. 알았어." msgid "Never mind, I'm not interested." msgstr "아무것도 아냐, 난 관심 없어." -#: lang/json/talk_topic_from_json.py -msgid "You're not working on anything for me now." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "What about it?" msgstr "이건 어때?" @@ -140419,6 +145729,10 @@ msgstr "이건 어때?" msgid "Which job?" msgstr "무슨 일?" +#: lang/json/talk_topic_from_json.py +msgid "You're not working on anything for me now." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I'll do it!" msgstr "내가 하지!" @@ -140456,8 +145770,8 @@ msgid "Whatever. Bye." msgstr "마음대로 해. 안녕." #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I failed." -msgstr "미안해... 실패했어." +msgid "I'm sorry… I failed." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Not yet." @@ -140476,8 +145790,8 @@ msgid "No. I'll get back to it, bye!" msgstr "아니. 난 돌아가지, 안녕!" #: lang/json/talk_topic_from_json.py -msgid "Yup! Here it is!" -msgstr "" +msgid "Yup! Here it is!" +msgstr "그래! 여기 있어!" #: lang/json/talk_topic_from_json.py msgid "We're here!" @@ -140623,13 +145937,9 @@ msgstr "우린 저 도시에서 멀리 벗어나는게 좋을거야, 저기에 msgid "Hmm, okay." msgstr "흠, 알겠어." -#: lang/json/talk_topic_from_json.py -msgid "Focus on the road, mate!" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "I must focus on the road!" -msgstr "" +#: lang/json/talk_topic_from_json.py src/npctalk.cpp +msgid "Thanks!" +msgstr "고마워!" #: lang/json/talk_topic_from_json.py msgid "I have some reason for not telling you." @@ -140651,6 +145961,14 @@ msgstr "너무 배고파, 뭔가 먹을 것 좀 주겠어?" msgid "I'm too thirsty, give me something to drink." msgstr "너무 목말라, 뭔가 마실 것좀 주겠어?" +#: lang/json/talk_topic_from_json.py +msgid "I must focus on the road!" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Focus on the road, mate!" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Ah, okay." msgstr "" @@ -140724,8 +146042,8 @@ msgid "Alright. You can lead now." msgstr "좋아. 네가 대장을 하라고." #: lang/json/talk_topic_from_json.py -msgid "Good. Something else..." -msgstr "좋아. 그 밖에..." +msgid "Good. Something else…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Alright, let's go." @@ -140756,20 +146074,20 @@ msgid "On second thought, never mind." msgstr "다시 생각해봤어. 신경 쓰지마." #: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while you're operating a vehicle!" +msgid "I have some reason for denying you training." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while I'm operating a vehicle!" -msgstr "" +msgid "Give it some time, I'll show you something new later..." +msgstr "시간을 좀 줘, 나중에 새로운 걸 보여 줄게..." #: lang/json/talk_topic_from_json.py -msgid "I have some reason for denying you training." +msgid "I can't train you properly while I'm operating a vehicle!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Give it some time, I'll show you something new later..." -msgstr "시간을 좀 줘, 나중에 새로운 걸 보여 줄게..." +msgid "I can't train you properly while you're operating a vehicle!" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Not a bloody chance, I'm going to get left behind!" @@ -140804,8 +146122,8 @@ msgid "I'd prefer to keep that to myself." msgstr "그냥 마음속에 담아 두는게 좋겠어." #: lang/json/talk_topic_from_json.py -msgid "I understand..." -msgstr "알겠어..." +msgid "I understand…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Why should I share my equipment with you?" @@ -140828,8 +146146,8 @@ msgid "Because I'm your friend!" msgstr "왜냐하면 난 너의 친구니까!" #: lang/json/talk_topic_from_json.py -msgid "Well, I am helping you out..." -msgstr "내가 널 도와주고 있잖아." +msgid "Well, I am helping you out…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'll give it back!" @@ -140876,15 +146194,15 @@ msgid "No, I'm keeping it. Try and take it off me, I dare you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Look, I really need this. Please let me have it." +msgid "Look, I really need this. Please let me have it." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What, this? It's not the same one, you are mistaken." +msgid "What, this? It's not the same one, you are mistaken." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry. Look, I already dropped it, okay?" +msgid "I'm sorry. Look, I already dropped it, okay?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -140892,13 +146210,17 @@ msgid "Don't try and talk yourself out of this, drop it now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Okay, I'm dropping it..." +msgid "Okay, I'm dropping it…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "Just this once, you can keep it. Don't tell anyone else." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Thanks." +msgstr "고마워." + #: lang/json/talk_topic_from_json.py msgid "Right... I don't want any trouble." msgstr "" @@ -140950,8 +146272,8 @@ msgid "Pleasure doing business!" msgstr "다음에 필요하면 또 오라고!" #: lang/json/talk_topic_from_json.py -msgid "You might be seeing more of me..." -msgstr "니가 나보다 더 많이 보게 될지도 몰라..." +msgid "You might be seeing more of me…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -140964,22 +146286,22 @@ msgid "Hey again. *kzzz*" msgstr "*치직* 또 만나네." #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." -msgstr "저기, 잠깐 얘기 좀 하자." +msgid "Hey. Let's chat for a second." +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That's because I saved you. Listen, I could use your help..." -msgstr "내가 너 구해줬으니까 당연히 그래야지. 좀 도와줬으면 하는데..." +msgid "That's because I saved you. Listen, I could use your help…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Big fucking deal. Do what I say or I'll shove that chip back where it " +"Big fucking deal. Do what I say or I'll shove that chip back where it " "belongs." -msgstr "그래 존나 중요하지. 하라는 대로 안 하면 니 후장에 그 칩 쑤셔넣어 버린다." +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." -msgstr "됐어, 그냥 가." +msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "*buzz* Great! So what happens now?" @@ -140990,8 +146312,8 @@ msgid "Come with me. We can help each other out." msgstr "같이 다니자. 서로 도와주고 뭐 그러자고." #: lang/json/talk_topic_from_json.py -msgid "We both go our separate ways. Enjoy your freedom." -msgstr "서로 갈 길 가자고. 하고 싶은 거 다 해." +msgid "We both go our separate ways. Enjoy your freedom." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -141007,9 +146329,9 @@ msgstr "너 풀어줄려고 그 칩 뽑아줬는데 고맙단 소리도 못 하 #: lang/json/talk_topic_from_json.py msgid "" -"For all you know, I did. I'm being nice for now. You'd better hope that it " -"lasts." -msgstr "아저씨, 그거 내가 뽑았거든요? 일단은 좋게 봐줄 테니까 고마운 줄 알아." +"For all you know, I did. I'm being nice for now. You'd better hope that it" +" lasts." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Forget it. Enjoy your freedom." @@ -141029,8 +146351,8 @@ msgid "Get out of my sight." msgstr "뒤지기 싫으면 꺼져." #: lang/json/talk_topic_from_json.py -msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." -msgstr "형씨, 내가 이렇게 사과할 테니까 제발 꺼지세요." +msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "...kill... *ZTZTZT* ...you!" @@ -141045,8 +146367,8 @@ msgid "Not if I kill you first!" msgstr "널 먼저 죽이면 되지!" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry! I shouldn't have said that!" -msgstr "미안, 미안! 말을 잘못 했어." +msgid "I'm sorry! I shouldn't have said that!" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Yeah, *beeeeep* I don't think so. Bye." @@ -141298,11 +146620,11 @@ msgid "Well, sure." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'd... rather not." +msgid "I'd… rather not." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I have places to be." +msgid "I'm sorry… I have places to be." msgstr "" #: lang/json/talk_topic_from_json.py @@ -141333,7 +146655,7 @@ msgid "Oh, but you already have." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yes... yes I have." +msgid "Yes… yes I have." msgstr "" #: lang/json/talk_topic_from_json.py @@ -141404,8 +146726,8 @@ msgstr "" "알았지. 손님들은 사진 찍기 바빴고." #: lang/json/talk_topic_from_json.py -msgid "Horrible. Did you get any pictures yourself?" -msgstr "세상에. 너도 사진 찍은 거 있어?" +msgid "Horrible. Did you get any pictures yourself?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -141563,8 +146885,8 @@ msgid "This is a npc allies 1 test response." msgstr "This is a npc allies 1 test response." #: lang/json/talk_topic_from_json.py -msgid "This an error! npc allies 2 test response." -msgstr "This an error! npc allies 2 test response." +msgid "This an error! npc allies 2 test response." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "This is a npc engagement rule test response." @@ -141763,8 +147085,8 @@ msgid "This is a u_has_items beer test response." msgstr "This is a u_has_items beer test response." #: lang/json/talk_topic_from_json.py -msgid "Test failure! This is a u_has_items test response." -msgstr "Test failure! This is a u_has_items test response." +msgid "Test failure! This is a u_has_items test response." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "This is a u_has_item_category books test response." @@ -141775,7 +147097,7 @@ msgid "This is a u_has_item_category books count 2 test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a u_has_item_category books count 3 test response." +msgid "Failure! This is a u_has_item_category books count 3 test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -141863,7 +147185,7 @@ msgid "This is a u_has_bionics bio_ads test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a npc_has_bionics bio_ads test response." +msgid "Failure! This is a npc_has_bionics bio_ads test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -141919,11 +147241,7 @@ msgid "So you're back... Explain yourself!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "Greetings... Foodperson?" +msgid "Greetings… Foodperson?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -141965,7 +147283,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ah... Well, nice to meet you Foodperson." +msgid "Ah… Well, nice to meet you Foodperson." msgstr "" #: lang/json/talk_topic_from_json.py @@ -141977,7 +147295,7 @@ msgid "Sheesh, ok, calm down, I'm leaving!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Forgive me, I didn't mean to disrespect you." +msgid "Forgive me, I didn't mean to disrespect you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -141993,7 +147311,7 @@ msgid "Sure, whatever." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok... I believe you." +msgid "Ok… I believe you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -142089,7 +147407,7 @@ msgid "That sounds great!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok..." +msgid "Ok…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -142097,7 +147415,7 @@ msgid "I need to think about it." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Huh... No thanks." +msgid "Huh… No thanks." msgstr "" #: lang/json/talk_topic_from_json.py @@ -142114,7 +147432,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I... I don't know. It probably has something to do with ! " +"I… I don't know. It probably has something to do with ! " "What do you say we team up to find out?" msgstr "" @@ -142185,7 +147503,7 @@ msgid "I AM THE ONE!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Wow calm down, it's just a prank bro." +msgid "Wow calm down, it's just a prank bro." msgstr "" #: lang/json/talk_topic_from_json.py @@ -142249,14 +147567,11 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "I haven't found them yet. Whenever I see a , a little part of me is" -" afraid it's going to be one of them. But then, maybe not. Maybe they " -"were evacuated, maybe they fought and tried to wait for me but the military " -"took them anyway? I've heard that sort of thing happened. I don't know if " -"I'll ever know." +" afraid it's going to be one of them. But then, maybe not. Maybe they were" +" evacuated, maybe they fought and tried to wait for me but the military took" +" them anyway? I've heard that sort of thing happened. I don't know if I'll" +" ever know." msgstr "" -"아직 못 찾았어. 내가를 볼 때마다, 내 일부분은 그것이 그들 중 하나가 될까봐 두려워. 어쩌면 아닐 수도 있고. 어쩌면 " -"부모님은 피난했을 수도 있고, 어쩌면 그들은 싸우고 나를 기다리려고 했지만, 군대는 부모님을 데려갔을까? 나는 그런 일이 발생했다고 " -"들었다. 내가 알 수 있을지 모르겠어." #: lang/json/talk_topic_from_json.py msgid "" @@ -142638,7 +147953,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "OK, this is gonna sound crazy but I, like, I knew this was going to happen." -" Like, before it did. You can even ask my psychic except, like, I think " +" Like, before it did. You can even ask my psychic except, like, I think " "she's dead now. I told her about my dreams a week before the world ended. " "Serious!" msgstr "" @@ -142890,7 +148205,7 @@ msgid "Giant bees? Tell me more." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive..." +msgid "But bees aren't usually aggressive…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -142902,7 +148217,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive... Do you mean wasps?" +msgid "But bees aren't usually aggressive… Do you mean wasps?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -143322,7 +148637,7 @@ msgid "No. I can't. Just, no." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sorry... I'll let you be." +msgid "Sorry… I'll let you be." msgstr "" #: lang/json/talk_topic_from_json.py @@ -143558,7 +148873,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Okay..." +msgid "Okay…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -143927,7 +149242,7 @@ msgid "What do you think happened?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That does sound a little crazy..." +msgid "That does sound a little crazy…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -143976,7 +149291,7 @@ msgid "What happened to you after that?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "It can't be healthy to abandon your past like that..." +msgid "It can't be healthy to abandon your past like that…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -144420,7 +149735,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you mean in a religious sense, or...?" +msgid "Do you mean in a religious sense, or…?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -144740,8 +150055,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"If I got you the right stuff, do you think you'd be able to like... do " -"science to it?" +"If I got you the right stuff, do you think you'd be able to like… do science" +" to it?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -144852,8 +150167,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Oh, I'm sorry..." -msgstr "오,미안해..." +msgid "Oh, I'm sorry…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -144957,7 +150272,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "It is coming together. I want to make our own tools, repair our items and " -"even create some weapons and ammuntion reloading." +"even create some weapons and ammunition reloading." msgstr "" #: lang/json/talk_topic_from_json.py @@ -144970,7 +150285,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"It was pink and really fast, it had lots of limbs, definitly not human. It " +"It was pink and really fast, it had lots of limbs, definitely not human. It " "easily kept up with us when we tried to escape, horrifying stuff. Barry " "just dropped to the ground, and the thing swept him away." msgstr "" @@ -145019,7 +150334,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I see that badge, You need to leave our land, my relatives have no fondess " +"I see that badge, You need to leave our land, my relatives have no fondness " "for Marshals." msgstr "" @@ -145179,7 +150494,7 @@ msgid "He did mention you make remedies, are they effective?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'd like to ask you something else..." +msgid "I'd like to ask you something else…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -145321,10 +150636,6 @@ msgstr "" msgid "Hello traveler, what brings you here?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hello travler, what brings you here?" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "I'm here to deliver some resources." msgstr "" @@ -145350,7 +150661,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "We've had our losses... now we stay close to home, preparing for trouble. " -"We've always taken disaster prepardness seriously, but we didn't expect " +"We've always taken disaster preparedness seriously, but we didn't expect " "anything like this though." msgstr "" @@ -145399,7 +150710,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You should get off my land, the governemnt proved its incompetence with this" +"You should get off my land, the government proved its incompetence with this" " catastrophe." msgstr "" @@ -145474,7 +150785,8 @@ msgid "I'd like to speak with Carlos too about some work." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Is Chris around? I'd like to know what he's run into out in the woods." +msgid "" +"Is Chris around? I'd like to know what he's run into out in the woods." msgstr "" #: lang/json/talk_topic_from_json.py @@ -145631,14 +150943,14 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Ma'am, I don't know how the hell you got down here but if you have any sense" -" you'll get out while you can." +"Sir, I don't know how the hell you got down here but if you have any sense " +"you'll get out while you can." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Sir, I don't know how the hell you got down here but if you have any sense " -"you'll get out while you can." +"Ma'am, I don't know how the hell you got down here but if you have any sense" +" you'll get out while you can." msgstr "" #: lang/json/talk_topic_from_json.py @@ -145658,16 +150970,16 @@ msgid "What do you need done?" msgstr "뭐 해야할 거라도 있나?" #: lang/json/talk_topic_from_json.py -msgid "About the mission..." -msgstr "임무에 대해서..." +msgid "About the mission…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About one of those missions..." -msgstr "임무 중 하나에 대해서..." +msgid "About one of those missions…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I've got to go..." -msgstr "이만 가보도록 하지..." +msgid "I've got to go…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -145682,8 +150994,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Seems like a decent plan..." -msgstr "괜찮은 계획 같군..." +msgid "Seems like a decent plan…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -145704,7 +151016,7 @@ msgstr "" "전에 아래 층으로 가는 길을 봉인할 수 있었어. 남은 유일한 다른 기록은 모든 수압이 낮은 수준으로 떨어졌다는 거야." #: lang/json/talk_topic_from_json.py -msgid "Whatever they did it must have worked since we are still alive..." +msgid "Whatever they did it must have worked since we are still alive…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -145739,8 +151051,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'll try and find your commander then..." -msgstr "그럼 당신 지휘관을 찾아보도록 하지..." +msgid "I'll try and find your commander then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -145798,8 +151110,8 @@ msgid "I'm supposed to direct all questions to my leadership, marshal." msgstr "모든 질문을 저의 리더에게 전달해야 합니다, 보안관님" #: lang/json/talk_topic_from_json.py -msgid "Don't mind me..." -msgstr "신경쓰지마..." +msgid "Don't mind me…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -146061,16 +151373,16 @@ msgid "Have I told you about cardboard, friend? Do you have any?" msgstr "내가 너에게 판지가 있나고 물었나, 친구? 가지고있어?" #: lang/json/talk_topic_from_json.py -msgid "We've done it! We've solved the list!" +msgid "" +"How's things with you? My cardboard collection is getting quite impressive." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"How's things with you? My cardboard collection is getting quite impressive." +msgid "We've done it! We've solved the list!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About that shopping list of yours..." +msgid "About that shopping list of yours…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -146136,8 +151448,8 @@ msgid "Would you like me to give you some cardboard?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I think I have to get going..." -msgstr "난 가봐야 할 것 같아..." +msgid "I think I have to get going…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -146167,7 +151479,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "... What were you saying before?" +msgid "…What were you saying before?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -146185,7 +151497,7 @@ msgid "No." msgstr "아니오." #: lang/json/talk_topic_from_json.py -msgid "I... I can see you wearing it. Why are you wearing that?" +msgid "I… I can see you wearing it. Why are you wearing that?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -146277,8 +151589,8 @@ msgid "I found a sample of alien fungus for you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok... see ya." -msgstr "알았어...나중에 봐." +msgid "Ok… see ya." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -146377,8 +151689,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I mean, racism could definitely be a part of it... but you are visibly in " -"poor shape. They need strong survivor material." +"I mean, racism could definitely be a part of it… but you are visibly in poor" +" shape. They need strong survivor material." msgstr "" #: lang/json/talk_topic_from_json.py @@ -146410,7 +151722,7 @@ msgid "You sound more optimistic than usual." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So, about that doctorate of yours..." +msgid "So, about that doctorate of yours…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -146530,7 +151842,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "Encroaching alien mushrooms, fungal towers, tough mycelium invading ground " -"and trees, zombies taken over by aggressive mold... Yeah. It's ugly stuff." +"and trees, zombies taken over by aggressive mold… Yeah. It's ugly stuff." msgstr "" #: lang/json/talk_topic_from_json.py @@ -146638,7 +151950,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I could maybe help you out... want something to eat?" +msgid "I could maybe help you out… want something to eat?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -147051,7 +152363,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You seem a little forward..." +msgid "You seem a little forward…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -147307,7 +152619,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About that sourdough starter you had me looking for..." +msgid "About that sourdough starter you had me looking for…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -147601,7 +152913,7 @@ msgid "I think I would've done the same. Nobody around here has a guitar?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yes, yes I would... you monster." +msgid "Yes, yes I would… you monster." msgstr "" #: lang/json/talk_topic_from_json.py @@ -148051,7 +153363,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You lost someone..." +msgid "You lost someone…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -148477,7 +153789,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You... you do know what's going on here, right? With the evacuation and " +"You… you do know what's going on here, right? With the evacuation and " "stuff?" msgstr "" @@ -149170,7 +154482,7 @@ msgid "Are you looking to buy anything else?" msgstr "혹시 나한테서 구매하고 싶은 것이 있니?" #: lang/json/talk_topic_from_json.py -msgid "Very well... let's talk about something else." +msgid "Very well… let's talk about something else." msgstr "" #: lang/json/talk_topic_from_json.py @@ -149496,8 +154808,8 @@ msgid "Have you seen anyone who might be hiding something?" msgstr "뭔갈 숨기고 있는 거 같은 사람을 본 적 있어?" #: lang/json/talk_topic_from_json.py -msgid "Bye..." -msgstr "잘가..." +msgid "Bye…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -149510,16 +154822,16 @@ msgid "Keep your head down and stay out of my way." msgstr "관심 끌지 말고 내 눈앞에서 사라져." #: lang/json/talk_topic_from_json.py -msgid "OK..." -msgstr "알겠어..." +msgid "OK…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Like what?" msgstr "예를 들면?" #: lang/json/talk_topic_from_json.py -msgid "I'm not sure..." -msgstr "잘 모르겠어..." +msgid "I'm not sure…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Like they could be working for someone else?" @@ -149538,8 +154850,8 @@ msgid "Got something to hide?" msgstr "뭔가 숨길 거라도 있나?" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I didn't mean to offend you..." -msgstr "미안, 네 기분을 상하게 할 의도는 없었어..." +msgid "Sorry, I didn't mean to offend you…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -149581,16 +154893,16 @@ msgstr "얌전히 있지 않으면 따끔한 맛을 보게 될 거야." msgid "Just on watch, move along." msgstr "그냥 경비서는 중이야, 갈 길 가라고." -#: lang/json/talk_topic_from_json.py -msgid "Ma'am, you really shouldn't be traveling out there." -msgstr "부인, 밖으로 나가시면 위험합니다." - #: lang/json/talk_topic_from_json.py msgid "Rough out there, isn't it?" msgstr "밖에선 꽤 먹고 살기 힘들지?" #: lang/json/talk_topic_from_json.py -msgid "I heard this place was a refugee center..." +msgid "Ma'am, you really shouldn't be traveling out there." +msgstr "부인, 밖으로 나가시면 위험합니다." + +#: lang/json/talk_topic_from_json.py +msgid "I heard this place was a refugee center…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -149614,8 +154926,8 @@ msgid "Can I do anything for the center?" msgstr "내가 이 센터를 위해 할수 있는 일이 있을까?" #: lang/json/talk_topic_from_json.py -msgid "I figured you might be looking for some help..." -msgstr "뭔가 도와줄게 없나 물어볼 것 같았지..." +msgid "I figured you might be looking for some help…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Well, I'd better be going. Bye." @@ -149668,7 +154980,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"[INT 10] Wait, six buses and refugees... how many people do you still have " +"[INT 10] Wait, six buses and refugees… how many people do you still have " "crammed in here?" msgstr "" @@ -149716,8 +155028,8 @@ msgid "I'm sorry, not a risk we are willing to take right now." msgstr "미안하지만 지금 당장 위험을 감수 할 수 없어." #: lang/json/talk_topic_from_json.py -msgid "Fine..." -msgstr "좋아..." +msgid "Fine…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -149728,8 +155040,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Fine... *coughupyourscough*" -msgstr "좋아... *가래 기침*" +msgid "Fine… *coughupyourscough*" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -149759,8 +155071,8 @@ msgid "[STR 11] I punch things in face real good!" msgstr "[STR 11] 내가 힘은 좀 쓰거든!" #: lang/json/talk_topic_from_json.py -msgid "I guess I'll look somewhere else..." -msgstr "다른 곳을 알아 봐야겠군..." +msgid "I guess I'll look somewhere else…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -149780,8 +155092,8 @@ msgid "Heard of anything better than the odd gun cache?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Was hoping for something more..." -msgstr "뭔가 더 있길 바랬는데..." +msgid "Was hoping for something more…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -149883,8 +155195,8 @@ msgid "So what are you doing right now?" msgstr "그래서 지금 뭐 하는데?" #: lang/json/talk_topic_from_json.py -msgid "Never mind..." -msgstr "아무것도 아냐..." +msgid "Never mind…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -149910,8 +155222,8 @@ msgstr "" "가까워질 수 있어. 아직 어림없지만 살아남을 수 있는 희망이 있어." #: lang/json/talk_topic_from_json.py -msgid "Good luck with that..." -msgstr "행운을 빌어..." +msgid "Good luck with that…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -149956,8 +155268,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sucks..." -msgstr "젠장..." +msgid "Sucks…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -149973,8 +155285,8 @@ msgstr "" "설치된 벽이나 울타리를 뚫고 올 놈은 거의 없을걸?" #: lang/json/talk_topic_from_json.py -msgid "Well, then..." -msgstr "그래, 그럼..." +msgid "Well, then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -150065,8 +155377,8 @@ msgid "I thought I smelled a pig. I jest... please don't arrest me." msgstr "돼지 냄새를 맡은 줄 알았는데. 농담이야... 체포하지 말아 줘." #: lang/json/talk_topic_from_json.py -msgid "You... smelled me?" -msgstr "너... 내 냄새를 맡는거야?" +msgid "You… smelled me?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Got anything for sale?" @@ -150120,8 +155432,8 @@ msgstr "" "스테이크만한 게 없지!" #: lang/json/talk_topic_from_json.py -msgid "Great, now my mouth is watering..." -msgstr "훌룡해, 입에 침이 고이기 시작하는걸..." +msgid "Great, now my mouth is watering…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -150231,8 +155543,8 @@ msgstr "" "대부분의 생존자들은 그들이 원하는 것이 없기 때문에, 그들은 투사로 환영받고있지." #: lang/json/talk_topic_from_json.py -msgid "Hmmm..." -msgstr "으으음..." +msgid "Hmmm…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -150284,8 +155596,8 @@ msgstr "" "건 이 세계에 남아 있는 가장 강한 사람들 사이에서 이름을 알리는 좋은 길이야." #: lang/json/talk_topic_from_json.py -msgid "I haven't done anything wrong..." -msgstr "난 잘못한 거 없어..." +msgid "I haven't done anything wrong…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Any tips for surviving?" @@ -150451,7 +155763,7 @@ msgid "Something to say?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I charge hourly, so be quick..." +msgid "I charge hourly, so be quick…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -150564,7 +155876,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I guess I could help with that..." +msgid "I guess I could help with that…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -150675,8 +155987,8 @@ msgid "[$10] I'll get a haircut" msgstr "[$10] 머리 좀 다듬어줘." #: lang/json/talk_topic_from_json.py -msgid "Maybe another time..." -msgstr "다음에 할게..." +msgid "Maybe another time…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -150693,8 +156005,8 @@ msgid "Stand still while I get my clippers..." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Thanks..." -msgstr "고마워..." +msgid "Thanks…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Want a drink?" @@ -150713,8 +156025,8 @@ msgid "What do you have on tap?" msgstr "어떤 종류의 술이 있지?" #: lang/json/talk_topic_from_json.py -msgid "I'll be going..." -msgstr "가보도록 할게..." +msgid "I'll be going…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -150767,8 +156079,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'll talk to him then..." -msgstr "그럼 그와 이야기 해야겠군..." +msgid "I'll talk to him then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -150783,8 +156095,8 @@ msgid "I hope you are here to do business." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm interested in investing in agriculture..." -msgstr "농업쪽으로 생각해 보고 있는데..." +msgid "I'm interested in investing in agriculture…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -150810,12 +156122,12 @@ msgid "I imagine we might be able to work something out." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I was wondering if you could install a cybernetic implant..." -msgstr "사이버네틱 임플랜트를 설치해 줄 수 있는지 궁금한데..." +msgid "I was wondering if you could install a cybernetic implant…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I need help removing an implant..." -msgstr "임플란트를 제거하는데 도움이 필요해..." +msgid "I need help removing an implant…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'd like to hire your services." @@ -150852,8 +156164,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "It could be worse..." -msgstr "더 나쁠수도 있었어..." +msgid "It could be worse…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -150862,8 +156174,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'll talk with them then..." -msgstr "그럼 그들과 이야기 해야겠군..." +msgid "I'll talk with them then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Morning ma'am, how can I help you?" @@ -150929,8 +156241,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hopefully moving out here was worth it..." -msgstr "여기로 이사하는게 잘한 선택 이었으면 좋겠는데..." +msgid "Hopefully moving out here was worth it…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -151260,8 +156572,7 @@ msgstr "%s을(를) 막고 반격했다." msgid " blocks and counter-attacks %s" msgstr "이(가) %s을(를) 막고 반격했다." -#: lang/json/technique_from_json.py lang/json/technique_from_json.py -#: src/game.cpp +#: lang/json/technique_from_json.py src/game.cpp msgid "Disarm" msgstr "무장해제" @@ -151363,7 +156674,8 @@ msgstr "" msgid " leaps off a nearby wall and dropkicks %s" msgstr "" -#: lang/json/technique_from_json.py +#: lang/json/technique_from_json.py lang/json/technique_from_json.py +#: src/martialarts.cpp msgid "Grab Break" msgstr "잡기 풀기" @@ -151439,13 +156751,13 @@ msgstr "독사의 이빨" #: lang/json/technique_from_json.py #, python-format -msgid "You Snakebite %s" -msgstr "%s에게 독사의 이빨을 날렸다." +msgid "You lash out at %s with a Viper Bite" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Snakebites %s" -msgstr "이(가) %s에게 독사의 이빨을 날렸다." +msgid " lash out at %s with a Viper Bite" +msgstr "" #: lang/json/technique_from_json.py msgid "Viper Strike" @@ -151453,18 +156765,28 @@ msgstr "살무사격" #: lang/json/technique_from_json.py #, python-format -msgid "You Viper Strike %s" +msgid "You hit %s with a spectacular Viper Strike" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Viper Strikes %s" +msgid " hits %s with a spectacular Viper Strike" msgstr "" #: lang/json/technique_from_json.py msgid "Viper Writhe" msgstr "독사의 몸부림" +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you writhe free!" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they writhe free!" +msgstr "" + #: lang/json/technique_from_json.py msgid "Roundhouse Kick" msgstr "" @@ -151507,6 +156829,34 @@ msgstr "" msgid " jabs %s with a Pincer Fist" msgstr "" +#: lang/json/technique_from_json.py +msgid "Toad Smack" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You disregard %s's attack and knock them down" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " disregards %s's attack and knocks them down" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Toad Slam" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You meet %s's attack head on with a stunning counter" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " meet %s's attack head on with a stunning counter" +msgstr "" + #: lang/json/technique_from_json.py msgid "Toad's Tongue" msgstr "두꺼비의 혀" @@ -152991,354 +158341,432 @@ msgstr "" msgid " grabs and throws %s" msgstr "" +#: lang/json/technique_from_json.py +msgid "Hamstring" +msgstr "" + #: lang/json/technique_from_json.py #, python-format -msgid "You disarm %s" -msgstr "%s의 무장을 해제시켰다." +msgid "You ground %s with a low blow" +msgstr "%s의 고간을 쳐서 넘어트렸다" #: lang/json/technique_from_json.py #, python-format -msgid " disarms %s" -msgstr "이(가) %s의 무장을 해제시켰다." +msgid " grounds %s with a low blow" +msgstr "이(가) %s의 고간을 쳐서 넘어트렸다" #: lang/json/technique_from_json.py -msgid "precise strike" -msgstr "정확한 일격" +msgid "Vicious Precision" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You strike %s" -msgstr "%s에 일격을 날렸다." +msgid "You viciously wound %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " strikes %s" -msgstr "이(가) %s에게 일격을 날렸다." +msgid " viciously wounds %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "axe-kick" -msgstr "내려차기" +msgid "Dirty Hit" +msgstr "고간 타격" #: lang/json/technique_from_json.py #, python-format -msgid "You axe-kick %s" -msgstr "%s에 내려차기를 먹였다." +msgid "You hit %s with a dirty blow" +msgstr "%s의 고간을 타격했다" #: lang/json/technique_from_json.py #, python-format -msgid " axe-kicks %s" -msgstr "이(가) %s에 내려차기를 먹였다." +msgid " delivers a dirty blow to %s" +msgstr "이(가) %s의 고간을 타격했다" #: lang/json/technique_from_json.py -msgid "side kick" -msgstr "옆차기" +msgid "Silat Brutality" +msgstr "실랏 강격" #: lang/json/technique_from_json.py #, python-format -msgid "You side-kick %s" -msgstr "%s에 옆차기를 날렸다." +msgid "You brutally tear into %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " side-kicks %s" -msgstr "이(가) %s에 옆차기를 날렸다." +msgid " brutally tears into %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "sweep kick" -msgstr "후려차기" +msgid "Snake Snap" +msgstr "뱀의 속도" #: lang/json/technique_from_json.py #, python-format -msgid "You sweep-kick %s" -msgstr "%s을(를) 후려찼다." +msgid "You swiftly jab %s" +msgstr "%s에게 잽싸게 주먹을 날렸다." #: lang/json/technique_from_json.py #, python-format -msgid " sweep-kicks %s" -msgstr "이(가) %s을(를) 후려찼다." +msgid " swiftly jabs %s" +msgstr "이(가) %s에게 잽싸게 주먹을 날렸다." #: lang/json/technique_from_json.py -msgid "Drunk feint" -msgstr "술고래의 속임수" +msgid "Snake Slide" +msgstr "뱀의 동작" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble and leer at %s" -msgstr "비틀거리며 %s에게 곁눈질을 날렸습니다." +msgid "You make serpentine hand motions at %s" +msgstr "%s에게 뱀을 닮은 손 동작을 보였다." #: lang/json/technique_from_json.py #, python-format -msgid " stumbles and leers at %s" -msgstr "이(가) 비틀거리며 %s에게 곁눈질을 날렸습니다." +msgid " makes serpentine hand motions at %s" +msgstr "이(가) %s에게 뱀을 닮은 손 동작을 보였다." #: lang/json/technique_from_json.py -msgid "Drunk counter" -msgstr "술고래의 반격" +msgid "Snake Slither" +msgstr "뱀의 움직임" #: lang/json/technique_from_json.py #, python-format -msgid "You lurch, and your wild swing hits %s" -msgstr "휘청거리다가 갑자기 거친 공격으로 %s을(를) 때렸다." +msgid "The %s tries to grab you, but you slither free!" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " lurches, and hits %s" -msgstr "이(가) 휘청거리다가 갑자기 거친 공격으로 %s을(를) 때렸다." +msgid "The %s tries to grab , but they slither free!" +msgstr "" #: lang/json/technique_from_json.py -msgid "hamstring" -msgstr "햄스트링" +msgid "Snake Strike" +msgstr "뱀의 일격" #: lang/json/technique_from_json.py #, python-format -msgid "You ground %s with a low blow" -msgstr "%s의 고간을 쳐서 넘어트렸다" +msgid "You lash out at %s with a vicious Snake Strike" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " grounds %s with a low blow" -msgstr "이(가) %s의 고간을 쳐서 넘어트렸다" +msgid " lashes out at %s with a vicious Snake Strike" +msgstr "" #: lang/json/technique_from_json.py -msgid "Vicious Precision" +msgid "Push" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You viciously wound %s" +msgid "You push %s away" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " viciously wounds %s" +msgid " pushes %s away" msgstr "" #: lang/json/technique_from_json.py -msgid "Silat Brutality" -msgstr "실랏 강격" +msgid "Shove" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You send %s reeling backwards" +msgid "You shove %s back" msgstr "" #: lang/json/technique_from_json.py -msgid "Dirty Hit" -msgstr "고간 타격" +#, python-format +msgid " shoves %s back" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You hit %s with a dirty blow" -msgstr "%s의 고간을 타격했다" +msgid "You deftly trip %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " delivers a dirty blow to %s" -msgstr "이(가) %s의 고간을 타격했다" +msgid " deftly trips %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "Tiger Takedown" -msgstr "호랑이의 습격" +msgid "Snatch Weapon" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You grab and ground %s" +msgid "You snatch %s's weapon" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " grabs and grounds %s" +msgid " snatches %s's weapon" msgstr "" #: lang/json/technique_from_json.py -msgid "Snake Snap" -msgstr "뱀의 속도" +msgid "Axe-kick" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You swiftly jab %s" -msgstr "%s에게 잽싸게 주먹을 날렸다." +msgid "You raise your heel and axe-kick %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " swiftly jabs %s" -msgstr "이(가) %s에게 잽싸게 주먹을 날렸다." +msgid " raises their heel and axe-kicks %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "Snake Slide" -msgstr "뱀의 동작" +msgid "Side Kick" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You make serpentine hand motions at %s" -msgstr "%s에게 뱀을 닮은 손 동작을 보였다." +msgid "You turn slightly and side-kick %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " makes serpentine hand motions at %s" -msgstr "이(가) %s에게 뱀을 닮은 손 동작을 보였다." +msgid " turns slightly and side-kicks %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "Snake Slither" -msgstr "뱀의 움직임" +#, python-format +msgid "You crouch low and sweep-kick %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "The %s tries to grab you, but you slither free!" +msgid " crouches low and sweep-kicks %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "The %s tries to grab , but they slither free!" +msgid "You gently disarm %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Snake Strike" -msgstr "뱀의 일격" +#, python-format +msgid " gently disarms %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Palm Strike" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You strike out at %s" -msgstr "%s에게 일격을 날렸다." +msgid "You palm strike %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " strikes out at %s" -msgstr "이(가) %s에게 일격을 날렸다." +msgid " palm strikes %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "slow strike" +msgid "Grasp the Sparrow's Tail" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You slowly strike %s" +msgid "You divert %s's attack and lead them to the ground" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " slowly strikes %s" +msgid " diverts %s's attack and lead them to the ground" msgstr "" #: lang/json/technique_from_json.py -msgid "phasing strike" +msgid "Double Palm Strike" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You phase-strike %s" +msgid "You double-handed palm strike %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " phase-strikes %s" +msgid " double-handed palm strikes %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Push" +msgid "Tiger Palm" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You push %s away" +msgid "You land a heavy tiger palm on %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " pushes %s away" +msgid " lands a heavy tiger palm on %s" msgstr "" +#: lang/json/technique_from_json.py +msgid "Tiger Takedown" +msgstr "호랑이의 습격" + #: lang/json/technique_from_json.py #, python-format -msgid "You deftly trip %s" +msgid "You slam %s to the ground" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " deftly trips %s" +msgid " slams %s to the ground" msgstr "" #: lang/json/technique_from_json.py -msgid "Skewer" +msgid "Straight Punch" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You brutally skewer %s" +msgid "You deliver a vertical straight punch to %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " brutally skewers %s" +msgid " delivers a vertical straight punch to %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Chain Punch" +msgid "Straight Punch (Knockback)" msgstr "" -#. ~ Description for Chain Punch #: lang/json/technique_from_json.py -msgid "50% moves, 66% damage, knockback and follow" +#, python-format +msgid "You force %s back with a vertical straight punch" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You chain strike %s" +msgid " forces %s back with a vertical straight punch" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "L-hook" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " chain strikes %s" +msgid "You deliver a solid L-hook to %s" msgstr "" #: lang/json/technique_from_json.py -msgid "You position yourself well and slip out of a grab" +#, python-format +msgid " delivers a solid L-hook to %s" msgstr "" #: lang/json/technique_from_json.py -msgid " slips out of a grab" +msgid "L-hook (Knockback)" msgstr "" #: lang/json/technique_from_json.py -msgid "ask the way" +#, python-format +msgid "You knock %s back with a solid L-hook" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You miss but keep striking at %s" +msgid " knocks %s back with a solid L-hook" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " misses but keeps striking at %s" +msgid "Your attack misses %s but you don't let up" msgstr "" #: lang/json/technique_from_json.py -msgid "White Crane stumble" +#, python-format +msgid "'s attack misses %s but they don't let up" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Receive and Counter" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble %s with your onslaught" +msgid "You receive %s's gift of violence, and return it in kind" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " stumbles %s" +msgid " receives %s's attack, and counters" msgstr "" #: lang/json/technique_from_json.py -msgid "Receive and Counter" +msgid "Drunken Feint" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You receive %s's gift of violence, and return it in kind" +msgid "You stumble and leer at %s" +msgstr "비틀거리며 %s에게 곁눈질을 날렸습니다." + +#: lang/json/technique_from_json.py +#, python-format +msgid " stumbles and leers at %s" +msgstr "이(가) 비틀거리며 %s에게 곁눈질을 날렸습니다." + +#: lang/json/technique_from_json.py +msgid "Drunk Counter" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " receives %s's attack, and counters" +msgid "You lurch, and your wild swing hits %s" +msgstr "휘청거리다가 갑자기 거친 공격으로 %s을(를) 때렸다." + +#: lang/json/technique_from_json.py +#, python-format +msgid " lurches, and hits %s" +msgstr "이(가) 휘청거리다가 갑자기 거친 공격으로 %s을(를) 때렸다." + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you stumble away!" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they stumble away!" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "slow strike" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You slowly strike %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " slowly strikes %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "phasing strike" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You phase-strike %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " phase-strikes %s" msgstr "" #: lang/json/technique_from_json.py @@ -153973,7 +159401,7 @@ msgstr "" #. ~ Description for deep dock pile #: lang/json/terrain_from_json.py msgid "" -"A sturdy pile made of wood extending all the way to the riverbed. A frame " +"A sturdy pile made of wood extending all the way to the riverbed. A frame " "will be required to support a surface." msgstr "" @@ -153984,8 +159412,8 @@ msgstr "" #. ~ Description for deep dock frame #: lang/json/terrain_from_json.py msgid "" -"A log frame secured atop a wooden pile. Adding a wood surface will make this" -" into a proper dock section." +"A log frame secured atop a wooden pile. Adding a wood surface will make " +"this into a proper dock section." msgstr "" #: lang/json/terrain_from_json.py @@ -153995,7 +159423,7 @@ msgstr "" #. ~ Description for deep dock #: lang/json/terrain_from_json.py msgid "" -"A wooden platform held by a tall wooden pile that extend to the riverbed. " +"A wooden platform held by a tall wooden pile that extend to the riverbed. " "Very sturdy, and likely to outlast you." msgstr "" @@ -154640,19 +160068,28 @@ msgid "" msgstr "" #: lang/json/terrain_from_json.py -msgid "closed chickenwire gate" +msgid "closed screen door" msgstr "" -#. ~ Description for closed chickenwire gate +#. ~ Description for closed screen door #: lang/json/terrain_from_json.py -msgid "" -"A gate for a chickenwire fence with a simple latch system to stay closed." +msgid "A simple wooden doorway with screen mesh." msgstr "" #: lang/json/terrain_from_json.py msgid "rattle!" msgstr "" +#: lang/json/terrain_from_json.py +msgid "closed chickenwire gate" +msgstr "" + +#. ~ Description for closed chickenwire gate +#: lang/json/terrain_from_json.py +msgid "" +"A gate for a chickenwire fence with a simple latch system to stay closed." +msgstr "" + #: lang/json/terrain_from_json.py msgid "open chickenwire gate" msgstr "" @@ -154710,6 +160147,17 @@ msgstr "" msgid "metal rattling!" msgstr "" +#: lang/json/terrain_from_json.py +msgid "screen mesh wall" +msgstr "" + +#. ~ Description for screen mesh wall +#: lang/json/terrain_from_json.py +msgid "" +"A rather flimsy tall wall made of 2x4s and screen mesh, suitable for keeping" +" the bugs out." +msgstr "" + #: lang/json/terrain_from_json.py msgid "chickenwire fence post" msgstr "" @@ -155034,7 +160482,7 @@ msgstr "" #. ~ Description for wooden floor #: lang/json/terrain_from_json.py msgid "" -"Wooden floor created from boards, packed tightly together and nailed down. " +"Wooden floor created from boards, packed tightly together and nailed down. " "Common in patios." msgstr "" @@ -155341,7 +160789,7 @@ msgstr "" msgid "" "A dual purpose platform that serves as a containment, and as a device that " "exposes items places on in to the radioactive source, by temporarily " -"hoisting the radioactive material stored within. Operated from external " +"hoisting the radioactive material stored within. Operated from external " "console." msgstr "" @@ -155620,10 +161068,10 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "One of the species of 'Juniperus' that grows in New England, juniper berries" -" grow over two to three years, first flowering. On the second year producing" -" a green berry, the last, they produce their more famed blue varieties. If " -"you examined the foliage more closely, you could probably find some viable " -"clusters. You could also cut it down with the right tools." +" grow over two to three years, first flowering. On the second year " +"producing a green berry, the last, they produce their more famed blue " +"varieties. If you examined the foliage more closely, you could probably " +"find some viable clusters. You could also cut it down with the right tools." msgstr "" #. ~ Description for juniper tree @@ -156579,10 +162027,11 @@ msgstr "ATM" #: lang/json/terrain_from_json.py msgid "" "For your banking convenience, this Automated Teller Machine is fully capable" -" of operating autonomously in the event of complete network failure. You can" -" deposit funds from cash cards and migrate all of your inflation-adjusted " -"earnings to a single card. These things have seen better days. There's been" -" a run on the bank, and this machine has the dents and cracks to prove it." +" of operating autonomously in the event of complete network failure. You " +"can deposit funds from cash cards and migrate all of your inflation-adjusted" +" earnings to a single card. These things have seen better days. There's " +"been a run on the bank, and this machine has the dents and cracks to prove " +"it." msgstr "" #: lang/json/terrain_from_json.py @@ -156686,8 +162135,8 @@ msgstr "원심 분리기" #: lang/json/terrain_from_json.py msgid "" "This is a centrifuge, a liquid separating device with an automated analyzer " -"unit. It could be used to analyze a medical fluid sample, such as blood, if " -"a test tube was placed in it." +"unit. It could be used to analyze a medical fluid sample, such as blood, if" +" a test tube was placed in it." msgstr "" #: lang/json/terrain_from_json.py @@ -157292,7 +162741,7 @@ msgstr "" #. ~ Description for closed resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is closed tightly, but it looks like a firm push would cause it to snap " "open." msgstr "" @@ -157304,7 +162753,7 @@ msgstr "" #. ~ Description for open resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is open, the flaps held out by some sort of stringy mucus-like " "substance." msgstr "" @@ -157395,6 +162844,13 @@ msgid "" " were still running." msgstr "" +#. ~ Description for small railroad track +#: lang/json/terrain_from_json.py +msgid "" +"Like a railroad track, only smaller. You could probably run a small vehicle" +" on this." +msgstr "" + #: lang/json/terrain_from_json.py msgid "sandbox" msgstr "모래상자" @@ -157461,7 +162917,7 @@ msgstr "" #. ~ Description for gutter drop #: lang/json/terrain_from_json.py msgid "" -"Funnels water from gutter system towards the ground, it looks flimsy. You " +"Funnels water from gutter system towards the ground, it looks flimsy. You " "may be able to climb down here." msgstr "" @@ -157473,7 +162929,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "A length of gutter running from the roof to the ground, you could place a " -"container underneath it to collect rainwater. It looks flimsy. You may be " +"container underneath it to collect rainwater. It looks flimsy. You may be " "able to climb down here." msgstr "" @@ -157519,7 +162975,7 @@ msgstr "" #. ~ Description for metal flat roof #: lang/json/terrain_from_json.py -msgid "A secton of flat, sheet metal rooftop." +msgid "A section of flat, sheet metal rooftop." msgstr "" #: lang/json/terrain_from_json.py @@ -157547,7 +163003,7 @@ msgstr "" #. ~ Description for rock roof #: lang/json/terrain_from_json.py -msgid "A secton of flat natural rock." +msgid "A section of flat natural rock." msgstr "" #: lang/json/terrain_from_json.py @@ -158256,7 +163712,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "An empty wooden frame in the shape of a column, built around a concrete and " -"rebar foundation. It isn't capable of supporting roofs or shelter, and " +"rebar foundation. It isn't capable of supporting roofs or shelter, and " "appears to need more resources before being considered complete." msgstr "" @@ -159463,10 +164919,8 @@ msgid "" "You just activated a grenade! You probably want to throw it. To throw an " "item, press 't' and then select the item to throw. The maximum range " "depends on your strength and the object's weight and size. Throwing isn't " -"very good in most combat situations, but if you've got some fire power..." +"very good in most combat situations, but if you've got some fire power…" msgstr "" -"수류탄을 활성화시켰습니다! 아마 던지고 싶겠죠. 물건을 던지려면 't'키를 눌러서 던질 물건을 선택하면 됩니다. 투척 거리는 힘과 물체의" -" 무게 및 크기에 따라 달라집니다. 대부분의 전투 상황에서 던지기 공격은 그리 좋지 않지만, 만약에 던진 무기가 폭발물이라면..." #: lang/json/tutorial_messages_from_json.py msgid "" @@ -159549,7 +165003,7 @@ msgstr "여긴 어둡군요! 운 좋게도 당신에게는 손전등이 있습 #: lang/json/tutorial_messages_from_json.py msgid "" "~ is a terrain symbol that indicates water. From a water source like this, " -"you can fill any containers you might have. Examine the water ('e') and " +"you can fill any containers you might have. Examine the water ('e') and " "press 'c' to fill a container, then select a watertight container to put the" " water into." msgstr "" @@ -160532,7 +165986,7 @@ msgstr "멈추지 않는 원자 붕괴 반응에 의해 스스로 움직이는 #: lang/json/vehicle_part_from_json.py msgid "atomic nightlight" -msgstr "" +msgstr "원자력 야간등" #. ~ Description for atomic nightlight #: lang/json/vehicle_part_from_json.py @@ -160541,6 +165995,7 @@ msgid "" " When turned on, it illuminates a single square inside the vehicle that " "isn't suitable for crafting." msgstr "" +"멈추지 않는 원자 붕괴 반응으로 작동하는 아주 어두운 빛. 전원을 켜면 차량 내부에 하나의 사각형만큼 제작에는 맞지 않는 불이 켜진다." #. ~ Description for floodlight #: lang/json/vehicle_part_from_json.py @@ -160553,9 +166008,9 @@ msgstr "전원을 켤 때 차량 외부의 영역을 밝히는 매우 밝은 원 #: lang/json/vehicle_part_from_json.py msgid "" "A very bright, directed light that illuminates a half-circular area outside " -"the vehicle when turned on. During installation, you can choose what " +"the vehicle when turned on. During installation, you can choose what " "direction to point the light." -msgstr "켜면 차량 외부의 반원 영역을 밝히는 매우 밝은 방향의 조명. 설치하는 동안 빛을 가리킬 방향을 선택할 수 있다." +msgstr "" #: lang/json/vehicle_part_from_json.py msgid "headlight" @@ -160688,7 +166143,7 @@ msgstr "" #. ~ Description for tied mattress #: lang/json/vehicle_part_from_json.py msgid "" -"A mattress, strapped onto the vehicle. It could serve to blunt any impact." +"A mattress, strapped onto the vehicle. It could serve to blunt any impact." msgstr "" #. ~ Description for shredder @@ -161111,6 +166566,13 @@ msgid "" "things." msgstr "" +#. ~ Description for programmable autopilot +#: lang/json/vehicle_part_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of the vehicle to " +"allow it to follow simple paths." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "swappable storage battery case" msgstr "교체식 배터리 케이스" @@ -161146,18 +166608,17 @@ msgstr "" #. ~ Description for washing machine #: lang/json/vehicle_part_from_json.py msgid "" -"A small washing machine. With detergent or soap, water, and some electrical" -" power, you could clean a lot of clothes. 'e'xamine the tile with the " -"washing machine to use it." +"A small washing machine. With detergent, water, and some electrical power, " +"you could clean a lot of clothes. 'e'xamine the tile with the washing " +"machine to use it." msgstr "" #. ~ Description for dishwasher #: lang/json/vehicle_part_from_json.py msgid "" -"A small dishwasher. With detergent or soap, water, and some electrical " -"power, you could clean your dishes... Or something more useful like a CBM " -"dripping with zombie gore. 'e'xamine the tile with the dishwasher to use " -"it." +"A small dishwasher. With detergent, water, and some electrical power, you " +"could clean your dishes… Or something more useful like a CBM dripping with " +"zombie gore. 'e'xamine the tile with the dishwasher to use it." msgstr "" #. ~ Description for autoclave @@ -161342,7 +166803,7 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "" "A large wind turbine with stabilizing legs. Will recharge the vehicle's " -"electrical power when exposed to the wind. Will cause extra drag on the " +"electrical power when exposed to the wind. Will cause extra drag on the " "vehicle." msgstr "" @@ -161820,6 +167281,15 @@ msgid "" "stand next to a turret mount and 'f'ire the weapon by selecting the tile." msgstr "" +#. ~ Description for turret control unit +#: lang/json/vehicle_part_from_json.py +msgid "" +"A set of motor, camera, and an AI unit which allows for tracking targets, " +"friend-or-foe identification, and firing the connected turret in full " +"automatic mode. When installed over the turret, it will enable auto " +"targeting mode for said turret." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "light wheel mount (steerable)" msgstr "" @@ -161861,6 +167331,14 @@ msgstr "" msgid "rail wheel (steerable)" msgstr "" +#. ~ Description for pair of small rail wheels +#: lang/json/vehicle_part_from_json.py +msgid "" +"A pair of small rail wheels. It performs well when riding on a pair of " +"small rails. It performs terribly when not on a rail. Moreover, you can't " +"steer it." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "roller drum" msgstr "롤러드럼" @@ -163533,81 +169011,6 @@ msgstr "수동 테슬라 캐논" msgid "manual avalanche rifle" msgstr "수동 아발란체 라이플" -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of road" -msgstr "텅 빈 도로" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Randomly-distributed wrecks" -msgstr "마구 흩어진 잔해" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parked vehicles" -msgstr "주차된 차량" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Jack-knifed semi" -msgstr "꺾인 세미 트레일러" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Random car pileup" -msgstr "무작위 차량 연쇄충돌" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Police car pileup" -msgstr "경찰차 연쇄충돌" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Out of fuel vehicle" -msgstr "연료가 떨어진 차량" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of bridge" -msgstr "텅 빈 다리" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Unfueled Vehicle on the bridge" -msgstr "다리 위의 연료가 떨어진 차량" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the bridge" -msgstr "다리 위의 차량" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of highway" -msgstr "텅 빈 고속도로" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the highway" -msgstr "고속도로 위의 차량" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parking lot with vehicles" -msgstr "차량이 주차된 주차장" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of subway" -msgstr "" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the subway" -msgstr "" - #: lang/json/vitamin_from_json.py msgid "Calcium" msgstr "칼슘" @@ -163624,6 +169027,10 @@ msgstr "비타민 B12" msgid "Vitamin C" msgstr "비타민 C" +#: lang/json/vitamin_from_json.py +msgid "Toxins" +msgstr "" + #: src/action.cpp src/input.cpp msgid "Press " msgstr " " @@ -163745,8 +169152,8 @@ msgstr "" #: src/activity_handlers.cpp msgid "" -"You need to suspend this corpse to butcher it. While you have a rope to lift" -" the corpse, there is no tree nearby to hang it from." +"You need to suspend this corpse to butcher it. While you have a rope to " +"lift the corpse, there is no tree nearby to hang it from." msgstr "" #: src/activity_handlers.cpp @@ -163759,8 +169166,8 @@ msgstr "" #: src/activity_handlers.cpp msgid "" "To perform a full butchery on a corpse this big, you need a table nearby or " -"something else with a flat surface. A leather tarp spread out on the ground " -"could suffice." +"something else with a flat surface. A leather tarp spread out on the ground" +" could suffice." msgstr "" #: src/activity_handlers.cpp @@ -164067,8 +169474,8 @@ msgstr "시체가 되살아나도 공격할 수 없도록 만들기 위해 칼 #. ~ Sound of a Pickaxe at work! #: src/activity_handlers.cpp -msgid "CHNK! CHNK! CHNK!" -msgstr "챙! 챙! 챙!" +msgid "CHNK! CHNK! CHNK!" +msgstr "" #: src/activity_handlers.cpp msgid "You finish digging." @@ -164113,7 +169520,7 @@ msgstr "%s에 카트리지를 넣었다." msgid "You refill the %s." msgstr "%s에 채워넣었다." -#: src/activity_handlers.cpp +#: src/activity_handlers.cpp src/bionics.cpp msgid "There's nothing to light there." msgstr "그곳에는 태울만한 것이 없다." @@ -164129,6 +169536,16 @@ msgstr "불 켜는데 쓰려고 했던 물건을 잃어버렸다." msgid "There is not enough sunlight to start a fire now. You stop trying." msgstr "" +#: src/activity_handlers.cpp +#, c-format +msgid "You learn a little about the spell : %s" +msgstr "" + +#: src/activity_handlers.cpp src/character_martial_arts.cpp +#, c-format +msgid "You learn %s." +msgstr "%s을(를) 배웠다." + #: src/activity_handlers.cpp #, c-format msgid "You finish training %s to level %d." @@ -164139,11 +169556,6 @@ msgstr "훈련을 통해 %s 기술을 %d 레벨로 상승시켰다." msgid "You get some training in %s." msgstr "" -#: src/activity_handlers.cpp -#, c-format -msgid "You learn %s." -msgstr "%s을(를) 배웠다." - #: src/activity_handlers.cpp msgid "You've charged the battery completely." msgstr "" @@ -164259,15 +169671,22 @@ msgstr "" msgid "Your %s is already fully repaired." msgstr "" -#: src/activity_handlers.cpp src/player.cpp -#, c-format -msgid "You are currently unable to mend the %s." -msgstr "지금은 %s을(를) 고칠 수 없다." +#: src/activity_handlers.cpp +msgid "You defrost the food, but don't heat it up, since you enjoy it cold." +msgstr "" + +#: src/activity_handlers.cpp +msgid "You defrost and heat up the food." +msgstr "음식을 해동하고 데웠다." + +#: src/activity_handlers.cpp +msgid "You heat up the food." +msgstr "음식을 데웠다." #: src/activity_handlers.cpp #, c-format -msgid "You successfully mended the %s." -msgstr "성공적으로 %s을(를) 고쳤다." +msgid "You are currently unable to mend the %s." +msgstr "지금은 %s을(를) 고칠 수 없다." #: src/activity_handlers.cpp #, c-format @@ -164323,10 +169742,6 @@ msgstr "" msgid "You finish fishing" msgstr "" -#: src/activity_handlers.cpp -msgid "This training is exhausting. Time to rest." -msgstr "" - #: src/activity_handlers.cpp msgid "You finish reading." msgstr "독서를 마쳤다." @@ -164337,8 +169752,8 @@ msgstr "기다리는 것을 멈췄다." #: src/activity_handlers.cpp #, c-format -msgid "%s finishes with you..." -msgstr "%s이(가) 끝났다..." +msgid "%s finishes with you…" +msgstr "" #: src/activity_handlers.cpp msgid "You are bored of waiting, so you stop." @@ -164354,8 +169769,8 @@ msgid "%s finishes chatting with you." msgstr "%s 당신과 대화를 끝냅니다." #: src/activity_handlers.cpp -msgid "You toss and turn..." -msgstr "몸을 뒤척입니다..." +msgid "You toss and turn…" +msgstr "" #: src/activity_handlers.cpp msgid "You have trouble sleeping, keep trying?" @@ -164462,8 +169877,8 @@ msgid "" msgstr "" #: src/activity_handlers.cpp src/player_hardcoded_effects.cpp -msgid "You try to sleep, but can't..." -msgstr "자려고 했지만, 잠이 오지 않는다..." +msgid "You try to sleep, but can't…" +msgstr "" #: src/activity_handlers.cpp msgid "" @@ -164645,7 +170060,7 @@ msgid "You planted all seeds you could." msgstr "" #: src/activity_handlers.cpp -msgid "Target lost. IFF override failed." +msgid "Target lost. IFF override failed." msgstr "" #: src/activity_handlers.cpp @@ -164664,12 +170079,12 @@ msgid "The %s short circuits as you attempt to reprogram it!" msgstr "%s을 재프로그래밍 하려 하는 순간 합선이 일어났다!" #: src/activity_handlers.cpp -msgid "...and turns friendly!" -msgstr "...우호적으로 변했다!" +msgid "…and turns friendly!" +msgstr "" #: src/activity_handlers.cpp -msgid "...but the robot refuses to acknowledge you as an ally!" -msgstr "...하지만 그 로봇은 당신을 아군으로 인식하는 것을 거부했다!" +msgid "…but the robot refuses to acknowledge you as an ally!" +msgstr "" #: src/activity_handlers.cpp msgid "The ancient tree spirits answer your call." @@ -164734,7 +170149,7 @@ msgid "It's too dark to read." msgstr "" #: src/activity_handlers.cpp -msgid "...you finally find the memory banks." +msgid "…you finally find the memory banks." msgstr "" #: src/activity_handlers.cpp @@ -164898,6 +170313,10 @@ msgstr "" msgid "The pet has moved somewhere else." msgstr "애완동물이 다른 곳으로 이동했다." +#: src/activity_item_handling.cpp +msgid "Moving cancelled auto-pickup." +msgstr "" + #: src/activity_item_handling.cpp src/npcmove.cpp #, c-format msgid "%1$s picks up a %2$s." @@ -164914,7 +170333,7 @@ msgstr "통나무를 재목으로 가공한다." #: src/activity_item_handling.cpp #, c-format -msgid "%s can't reach the source tile. Try to sort out loot without a cart." +msgid "%s can't reach the source tile. Try to sort out loot without a cart." msgstr "" #: src/activity_item_handling.cpp @@ -164960,8 +170379,8 @@ msgid "You want some caffeine." msgstr "카페인을 더 섭취하고 싶어졌다." #: src/addiction.cpp -msgid "Your hands start shaking... you need it bad!" -msgstr "손이 떨리기 시작했다.... 약이 필요해!" +msgid "Your hands start shaking… you need it bad!" +msgstr "" #: src/addiction.cpp msgid "You could use a drink." @@ -164972,16 +170391,16 @@ msgid "You could use some diazepam." msgstr "다이아제팜을 복용해야 한다." #: src/addiction.cpp -msgid "Your hands start shaking... you need a drink bad!" -msgstr "손이 흔들리기 시작했다... 술이 필요해!" +msgid "Your hands start shaking… you need a drink bad!" +msgstr "" #: src/addiction.cpp -msgid "You're shaking... you need some diazepam!" -msgstr "몸이 떨리기 시작했다... 다이아제팜이 필요해!" +msgid "You're shaking… you need some diazepam!" +msgstr "" #: src/addiction.cpp -msgid "Your hands start shaking... you need some painkillers." -msgstr "손이 흔들리기 시작했다... 진통제가 필요해." +msgid "Your hands start shaking… you need some painkillers." +msgstr "" #: src/addiction.cpp msgid "You feel anxious. You need your painkillers!" @@ -164992,8 +170411,8 @@ msgid "You feel depressed. Speed would help." msgstr "우울한 기분이 든다. 각성제가 도움이 될 것 같다." #: src/addiction.cpp -msgid "Your hands start shaking... you need a pick-me-up." -msgstr "손이 떨리기 시작했다... 기분 좋아지는 약이 필요해!" +msgid "Your hands start shaking… you need a pick-me-up." +msgstr "" #: src/addiction.cpp msgid "You stop suddenly, feeling bewildered." @@ -165025,8 +170444,8 @@ msgid "You haven't had any mutagen lately." msgstr "최근 어떤 뮤타젠도 복용하지 못했다." #: src/addiction.cpp -msgid "You could use some new parts..." -msgstr "새로운 부품을 장착해야 한다..." +msgid "You could use some new parts…" +msgstr "" #: src/addiction.cpp msgid "You daydream about luscious pink berries as big as your fist." @@ -165173,12 +170592,12 @@ msgstr "" "이동속도가 느려짐. 우울증. 면역력 감소. 잦은 투약충동." #: src/addiction.cpp -msgid "Perception - 1; Intelligence - 1; Frequent cravings." -msgstr "지각력 -1; 지능 -1; 잦은 투약충동" +msgid "Perception - 1; Intelligence - 1; Frequent cravings." +msgstr "" #: src/addiction.cpp -msgid "Perception - 2; Intelligence - 2; Frequent cravings." -msgstr "지각력 -2; 지능 -2; 잦은 투약충동" +msgid "Perception - 2; Intelligence - 2; Frequent cravings." +msgstr "" #: src/addiction.cpp msgid "" @@ -165362,38 +170781,6 @@ msgstr "위치 수량 무게 부피" msgid "Name (charges)" msgstr "물품 이름 (충전량)" -#: src/advanced_inv.cpp -msgid "Not dragging any vehicle!" -msgstr "끌고 있는 차량 없음!" - -#: src/advanced_inv.cpp -msgid "No dragged vehicle!" -msgstr "끌고 있는 차량 없음!" - -#: src/advanced_inv.cpp -msgid "Invalid container!" -msgstr "잘못된 보관용기!" - -#: src/advanced_inv.cpp -msgid "All 9 squares" -msgstr "주변 9칸 전부" - -#: src/advanced_inv.cpp -msgid " FIRE" -msgstr " 화재" - -#: src/advanced_inv.cpp -msgid " DANGER" -msgstr " 위험" - -#: src/advanced_inv.cpp -msgid " TRAP" -msgstr " 함정" - -#: src/advanced_inv.cpp -msgid " WATER" -msgstr " 물" - #: src/advanced_inv.cpp #, c-format msgid "[<] page %1$d of %2$d [>]" @@ -165413,8 +170800,8 @@ msgid "[R]eset" msgstr "[R]초기화" #: src/advanced_inv.cpp -msgid "You look at the items, then your clothes, and scratch your head..." -msgstr "그 물건들을 보고, 자신의 옷을 한번 쳐다보고는 머리를 긁적였다..." +msgid "You look at the items, then your clothes, and scratch your head…" +msgstr "" #: src/advanced_inv.cpp msgid "There are no items to be moved!" @@ -165437,8 +170824,8 @@ msgid "Skipping filled buckets to avoid spilling their contents." msgstr "덮개가 없는 용기는 내용물이 쏟아지기 때문에 건너뜁니다." #: src/advanced_inv.cpp -msgid "Sort by... " -msgstr "다음으로 정렬... " +msgid "Sort by…" +msgstr "" #: src/advanced_inv.cpp msgid "Unsorted (recently added first)" @@ -165503,25 +170890,57 @@ msgstr "너무 무겁습니다!" #: src/advanced_inv.cpp #, c-format -msgid "How many do you want to move? [Have %d] (0 to cancel)" -msgstr "얼마나 옮길까요? [최대 %d] (0으로 취소)" +msgid "How many do you want to move? [Have %d] (0 to cancel)" +msgstr "" #: src/advanced_inv.cpp #, c-format -msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" -msgstr "대상 영역은 %d까지만 수용 가능합니다! 얼마나 옮길까요? [최대 %d] (0으로 취소)" +msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" +msgstr "" #: src/advanced_inv.cpp msgid "The destination is already full!" msgstr "대상 영역에 공간이 부족합니다!" -#: src/advanced_inv.cpp +#: src/advanced_inv_area.cpp +msgid "Not dragging any vehicle!" +msgstr "끌고 있는 차량 없음!" + +#: src/advanced_inv_area.cpp +msgid "No dragged vehicle!" +msgstr "끌고 있는 차량 없음!" + +#: src/advanced_inv_area.cpp +msgid "Invalid container!" +msgstr "잘못된 보관용기!" + +#: src/advanced_inv_area.cpp +msgid "All 9 squares" +msgstr "주변 9칸 전부" + +#: src/advanced_inv_area.cpp +msgid " FIRE" +msgstr " 화재" + +#: src/advanced_inv_area.cpp +msgid " DANGER" +msgstr " 위험" + +#: src/advanced_inv_area.cpp +msgid " TRAP" +msgstr " 함정" + +#: src/advanced_inv_area.cpp +msgid " WATER" +msgstr " 물" + +#: src/advanced_inv_area.cpp msgid "Invalid container" msgstr "잘못된 보관용기" #: src/animation.cpp -msgid "Hang on a bit..." -msgstr "기다리는 중..." +msgid "Hang on a bit…" +msgstr "" #: src/armor_layers.cpp msgid "in your personal aura" @@ -165638,6 +171057,14 @@ msgstr "타격:" msgid "Cut:" msgstr "베기 피해: " +#: src/armor_layers.cpp +msgid "Acid:" +msgstr "" + +#: src/armor_layers.cpp +msgid "Fire:" +msgstr "" + #: src/armor_layers.cpp msgid "Environmental:" msgstr "환경:" @@ -165706,8 +171133,8 @@ msgstr "보호구 정렬" #: src/armor_layers.cpp #, c-format -msgid "Press %s for help. Press %s to change keybindings." -msgstr "%s 로 도움말. %s 로 키 설정 변경." +msgid "Press %s for help. Press %s to change keybindings." +msgstr "" #: src/armor_layers.cpp msgid "(Innermost)" @@ -165771,7 +171198,7 @@ msgid "" "[%s] to equip a new item.\n" "[%s] to equip a new item at the currently selected position.\n" "[%s] to remove selected armor from oneself.\n" -" \n" +"\n" "[Encumbrance and Warmth] explanation:\n" "The first number is the summed encumbrance from all clothing on that bodypart.\n" "The second number is an additional encumbrance penalty caused by wearing multiple items on one of the bodypart's layers or wearing items outside of other items they would normally be work beneath (e.g. a shirt over a backpack).\n" @@ -166320,13 +171747,13 @@ msgstr "%s 고통" #, c-format msgid "" "The %s is somehow vaguely dissatisfied even though it doesn't want anything." -" Seeing this is a bug!" +" Seeing this is a bug!" msgstr "" #: src/artifact.cpp #, c-format msgid "" -"The %s is satisfied, as it should be because it has no standards. Seeing " +"The %s is satisfied, as it should be because it has no standards. Seeing " "this is a bug!" msgstr "" @@ -166353,7 +171780,7 @@ msgstr "" #: src/artifact.cpp #, c-format msgid "" -"The %s is confused to find you dreaming while awake. Seeing this is a bug!" +"The %s is confused to find you dreaming while awake. Seeing this is a bug!" msgstr "" #: src/artifact.cpp @@ -166584,14 +172011,14 @@ msgstr "포함" #: src/auto_pickup.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" -" \n" +"* is used as a Wildcard. A few Examples:\n" +"\n" "wooden arrow matches the itemname exactly\n" "wooden ar* matches items beginning with wood ar\n" "*rrow matches items ending with rrow\n" "*avy fle*fi*arrow multiple * are allowed\n" "heAVY*woOD*arrOW case insensitive search\n" -" \n" +"\n" "Pickup based on item materials:\n" "m:kevlar matches items made of kevlar\n" "M:copper matches items made purely of copper\n" @@ -166625,8 +172052,8 @@ msgid "Won't display content or suffix matches" msgstr "" #: src/auto_pickup.cpp -msgid "Autopickup is not enabled in the options. Enable it now?" -msgstr "자동 줍기 설정이 켜져 있지 않습니다. 지금 설정할까요?" +msgid "Autopickup is not enabled in the options. Enable it now?" +msgstr "" #: src/auto_pickup.cpp msgid "autopickup configuration" @@ -166662,7 +172089,7 @@ msgstr "배워야 할 이유가 뭐지? (의욕이 너무 낮다!)" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. You have %d" +msgid "%s %d needed to understand. You have %d" msgstr "" #: src/avatar.cpp src/iuse.cpp @@ -166688,7 +172115,7 @@ msgstr "%s은(는) 문맹이다!" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. %s has %d" +msgid "%s %d needed to understand. %s has %d" msgstr "" #: src/avatar.cpp @@ -166713,8 +172140,8 @@ msgstr "%s의 의욕이 너무 낮다!" #: src/avatar.cpp #, c-format -msgid "%s reads aloud..." -msgstr "%s이(가) 크게 소리 내 읽는다..." +msgid "%s reads aloud…" +msgstr "" #: src/avatar.cpp #, c-format @@ -166806,8 +172233,8 @@ msgid "Now reading %s, %s to stop early." msgstr "%s 독서 중. %s 키로 중단." #: src/avatar.cpp -msgid "You read aloud..." -msgstr "크게 소리 내 읽는다." +msgid "You read aloud…" +msgstr "" #: src/avatar.cpp #, c-format @@ -166832,16 +172259,16 @@ msgstr "%s이(가) 재미로 같이 읽는다." #: src/avatar.cpp #, c-format msgid "" -"It's difficult for %s to see fine details right now. Reading will take " +"It's difficult for %s to see fine details right now. Reading will take " "longer than usual." -msgstr "%s은 자세한 부분까지 읽기 힘들다. 독서가 보통 때 보다 오래 걸린다." +msgstr "" #: src/avatar.cpp #, c-format msgid "" -"This book is too complex for %s to easily understand. It will take longer to" -" read." -msgstr "이 책은 %s이(가) 이해하기 너무 어렵다. 읽는데 시간이 더 걸린다." +"This book is too complex for %s to easily understand. It will take longer " +"to read." +msgstr "" #: src/avatar.cpp msgid "You are too exhausted to train martial arts." @@ -166920,8 +172347,8 @@ msgstr "%s이(가) %s 기술 수준을 올렸다." #: src/avatar.cpp #, c-format -msgid "You learn a little about %s! (%d%%)" -msgstr "%s에 대해 조금 배웠다! (%d%%)" +msgid "You learn a little about %s! (%d%%)" +msgstr "" #: src/avatar.cpp #, c-format @@ -166949,8 +172376,8 @@ msgid "Rereading the %s isn't as much fun for %s." msgstr "%s이(가) %s에겐 별로 재미가 없다." #: src/avatar.cpp -msgid "Maybe you should find something new to read..." -msgstr "다른 읽을거리를 찾아 보는게 좋을 것 같다..." +msgid "Maybe you should find something new to read…" +msgstr "" #: src/avatar.cpp #, c-format @@ -166984,20 +172411,20 @@ msgid "You train for a while." msgstr "" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through your internal alarm..." -msgstr "내부 알람을 듣지 못하고 잠을 잔 모양이다..." +msgid "It looks like you've slept through your internal alarm…" +msgstr "" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through the alarm..." -msgstr "알람 소리를 듣지 못하고 잠을 잔 모양이다..." +msgid "It looks like you've slept through the alarm…" +msgstr "" #: src/avatar.cpp msgid "You retched, but your stomach is empty." msgstr "구역질을 했지만, 배가 비어있다." #: src/avatar.cpp -msgid "You lost your book! You stop reading." -msgstr "책이 사라졌다! 독서를 멈췄다." +msgid "You lost your book! You stop reading." +msgstr "" #: src/avatar.cpp msgid "Your thick scales get in the way." @@ -167066,20 +172493,80 @@ msgstr "" #: src/avatar.cpp #, c-format -msgid "Are you sure you want to raise %s? %d points available." +msgid "Are you sure you want to raise %s? %d points available." +msgstr "" + +#: src/avatar.cpp +msgid "You set your mech's leg power to a loping fast walk." +msgstr "" + +#: src/avatar.cpp +msgid "You nudge your steed into a steady trot." +msgstr "" + +#: src/avatar.cpp +msgid "You start walking." msgstr "" +#: src/avatar.cpp +msgid "You set the power of your mech's leg servos to maximum." +msgstr "" + +#: src/avatar.cpp +msgid "You spur your steed into a gallop." +msgstr "" + +#: src/avatar.cpp +msgid "You start running." +msgstr "달리기 시작했다." + +#: src/avatar.cpp +msgid "Your steed is too tired to go faster." +msgstr "" + +#: src/avatar.cpp +msgid "You need two functional legs to run." +msgstr "" + +#: src/avatar.cpp +msgid "You're too tired to run." +msgstr "너무 지쳐서 달릴 수 없다." + +#: src/avatar.cpp +msgid "You reduce the power of your mech's leg servos to minimum." +msgstr "" + +#: src/avatar.cpp +msgid "You slow your steed to a walk." +msgstr "" + +#: src/avatar.cpp +msgid "You start crouching." +msgstr "" + +#. ~ %1$s: weapon name, %2$s: holster name +#: src/avatar.cpp src/game.cpp +#, c-format +msgctxt "holster" +msgid "Draw %1$s from %2$s?" +msgstr "" + +#: src/avatar.cpp src/monexamine.cpp +#, c-format +msgid "What to do with your %s?" +msgstr "%s(으)로 무엇을 합니까?" + #: src/avatar_action.cpp msgid "You can't move while in your shell. Deactivate it to go mobile." msgstr "껍질 안에 든 상태로는 움직일 수 없다. 움직이려면 비활성화시켜야 한다." #: src/avatar_action.cpp -msgid "You cannot pull yourself away from the faultline..." -msgstr "단층선에서 떨어질 수 없습니다..." +msgid "You cannot pull yourself away from the faultline…" +msgstr "" #: src/avatar_action.cpp -msgid "Monster in the way. Auto-move canceled." -msgstr "경로에 적이 있습니다. 자동이동 취소됨." +msgid "Monster in the way. Auto-move canceled." +msgstr "" #: src/avatar_action.cpp msgid "Click directly on monster to attack." @@ -167090,8 +172577,8 @@ msgid "Your willpower asserts itself, and so do you!" msgstr "" #: src/avatar_action.cpp src/handle_action.cpp src/handle_action.cpp -msgid "You're too pacified to strike anything..." -msgstr "마음이 너무 진정돼서 아무것도 공격할 수 없다..." +msgid "You're too pacified to strike anything…" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -167172,8 +172659,8 @@ msgstr "돌덩어리처럼 가라앉았다!" #: src/avatar_action.cpp #, c-format -msgid "You need to breathe! (%s to surface.)" -msgstr "숨을 쉬어야 한다! (수면까지 %s)" +msgid "You need to breathe! (%s to surface.)" +msgstr "" #: src/avatar_action.cpp msgid "You need to breathe but you can't swim! Get to dry land, quick!" @@ -167184,16 +172671,16 @@ msgid "You cannot board a vehicle while mounted." msgstr "" #: src/avatar_action.cpp -msgid "No hostile creature in reach. Waiting a turn." -msgstr "사거리 내에 적 없음. 턴 넘김." +msgid "No hostile creature in reach. Waiting a turn." +msgstr "" #: src/avatar_action.cpp msgid "Your eyes steel, and you raise your weapon!" msgstr "마음을 단단히 먹고, 무기를 들었다!" #: src/avatar_action.cpp -msgid "You can't fire your weapon, it's too heavy..." -msgstr "무기가 너무 무거워서 쏠 수가 없다..." +msgid "You can't fire your weapon, it's too heavy…" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -167201,12 +172688,14 @@ msgid "The %s must be attached to a gun, it can not be fired separately." msgstr "%s은(는) 개별적으로 사용할 수 없다. 반드시 화기에 부착해서 사용해야 한다." #: src/avatar_action.cpp -msgid "You can no longer fire." -msgstr "더는 사격할 수 없다." +#, c-format +msgid "You can no longer fire your %s." +msgstr "" #: src/avatar_action.cpp -msgid "You need a free arm to drive!" -msgstr "운전하려면 한 팔이 자유로워야 한다!" +#, c-format +msgid "You can't use your %s while driving!" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -167214,8 +172703,9 @@ msgid "You need two free hands to fire your %s." msgstr "%s을(를) 쏘려면 양 팔이 자유로워야 한다." #: src/avatar_action.cpp -msgid "You need to reload!" -msgstr "재장전해야 한다!" +#, c-format +msgid "Your %s is empty!" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -167226,16 +172716,18 @@ msgstr "%s을(를) 발사하려면 충전량이 %i만큼 필요하다!" #, c-format msgid "" "You need a UPS with at least %d charges or an advanced UPS with at least %d " -"charges to fire that!" -msgstr "사격 하려면 적어도 %d의 충전량을 가진 UPS 혹은 %d의 충전량을 가진 개량형 UPS가 필요하다!" +"charges to fire the %s!" +msgstr "" #: src/avatar_action.cpp -msgid "Your mech has an empty battery, its weapon will not fire." +#, c-format +msgid "Your mech has an empty battery, its %s will not fire." msgstr "" #: src/avatar_action.cpp +#, c-format msgid "" -"You must stand near acceptable terrain or furniture to use this weapon. A " +"You must stand near acceptable terrain or furniture to use this %s. A " "table, a mound of dirt, a broken window, etc." msgstr "" @@ -167283,7 +172775,7 @@ msgid "You concentrate mightily, and your body obeys!" msgstr "" #: src/avatar_action.cpp -msgid "You can't muster up the effort to throw anything..." +msgid "You can't muster up the effort to throw anything…" msgstr "" #: src/ballistics.cpp @@ -167470,6 +172962,16 @@ msgstr "%s이(가) 자동적으로 꺼졌습니다." msgid "Your %s automatically turns off." msgstr "%s이(가) 자동적으로 꺼졌습니다." +#: src/bionics.cpp +#, c-format +msgid "Your %s does not have sufficient humidity to function." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency will be reduced." +msgstr "" + #: src/bionics.cpp msgid "You change your mind and turn it off." msgstr "생각을 바꿔 바이오닉을 껐다." @@ -167587,10 +173089,6 @@ msgstr "혈액 검사 결과" msgid "No effects." msgstr "효과 없음." -#: src/bionics.cpp -msgid "There was not enough moisture in the air from which to draw water!" -msgstr "물을 추출하기에는 공기가 너무 건조하다!" - #: src/bionics.cpp msgid "Your torsion ratchet locks onto your joints." msgstr "" @@ -167603,10 +173101,6 @@ msgstr "" msgid "Start a fire where?" msgstr "어디에 불을 피웁니까?" -#: src/bionics.cpp src/iexamine.cpp -msgid "You can't light a fire there." -msgstr "여기에는 불을 피울 수 없습니다." - #: src/bionics.cpp #, c-format msgid "Your radiation level: %d" @@ -167781,6 +173275,20 @@ msgstr "" msgid "'s %s turns off to not waste fuel." msgstr "" +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, your %s shuts down to preserve" +" your health." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, 's %s shuts down to " +"preserve their health." +msgstr "" + #: src/bionics.cpp #, c-format msgid "Your %s runs out of fuel and turn off." @@ -167809,6 +173317,21 @@ msgstr "%s이(가) 연결이 끊겨 꺼졌다." msgid "You feel your throat open up and air filling your lungs!" msgstr "" +#: src/bionics.cpp +#, c-format +msgid "There is not enough humidity for your %s to function." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency is reduced." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "You are properly hydrated. Your %s chirps happily." +msgstr "" + #: src/bionics.cpp msgid "The removal fails without incident." msgstr "" @@ -167870,7 +173393,7 @@ msgstr "" #: src/bionics.cpp #, c-format -msgid "A lifetime of augmentation has taught %s a thing or two..." +msgid "A lifetime of augmentation has taught %s a thing or two…" msgstr "" #: src/bionics.cpp @@ -167885,8 +173408,8 @@ msgstr "" #: src/bionics.cpp msgid "" -"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" -msgstr "경고: 반응로를 제거하면 방사성 물질이 남을지 모른다! 그래도 제거합니까?" +"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" +msgstr "" #: src/bionics.cpp #, c-format @@ -167904,10 +173427,10 @@ msgstr "" msgid "Are you sure you wish to uninstall the selected bionic?" msgstr "" -#: src/bionics.cpp +#: src/bionics.cpp src/game.cpp #, c-format msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " +"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " "anyway?" msgstr "" @@ -167980,7 +173503,7 @@ msgstr "" #, c-format msgid "" "WARNING: %i percent chance of failure that may result in damage, pain, or a " -"faulty installation! Continue anyway?" +"faulty installation! Continue anyway?" msgstr "" #. ~ %1$s - name of the bionic to be upgraded (inferior), %2$s - name of the @@ -168098,11 +173621,31 @@ msgstr "" msgid "Available Fuel: " msgstr "" +#: src/bionics_ui.cpp +msgctxt "decimal separator" +msgid "." +msgstr "." + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: kilojoule" +msgid "kJ" +msgstr "kJ" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: joule" +msgid "J" +msgstr "" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: millijoule" +msgid "mJ" +msgstr "" + #: src/bionics_ui.cpp #, c-format msgid "" -"Bionic Power: %i/%i" -msgstr "바이오닉 파워: %i/%i" +"Bionic Power: %s/%ikJ" +msgstr "" #: src/bionics_ui.cpp msgid "" @@ -168128,22 +173671,22 @@ msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ act" +msgid "%s act" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ deact" +msgid "%s deact" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/turn" +msgid "%s/turn" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/%d turns" +msgid "%s/%d turns" msgstr "" #: src/bionics_ui.cpp src/handle_action.cpp @@ -168191,19 +173734,16 @@ msgstr "설치된 지속형 바이오닉 없음." #: src/bionics_ui.cpp #, c-format -msgid "%s; enter new letter. Space to clear. Esc to cancel." -msgstr "%s; 새로 지정할 단축키 입력. Space 키로 공백. Esc 키로 취소." +msgid "%s; enter new letter. Space to clear. Esc to cancel." +msgstr "" #: src/bionics_ui.cpp #, c-format msgid "" -"Invalid bionic letter. Only those characters are valid:\n" +"Invalid bionic letter. Only those characters are valid:\n" "\n" "%s" msgstr "" -"잘못된 바이오닉 단축키. 다음 문자만 유효:\n" -"\n" -"%s" #: src/bionics_ui.cpp #, c-format @@ -168242,9 +173782,39 @@ msgstr "" msgid "Target armor multiplier" msgstr "" -#. ~ bash damage +80% of strength +#. ~ %1$s: damage type, %2$s: damage-related bonus name #: src/bonuses.cpp -msgid " of " +#, c-format +msgctxt "type of damage" +msgid "%1$s %2$s" +msgstr "%1$s %2$s" + +#. ~ %1$s: bonus name, %2$d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%% of %3$s" +msgstr "" + +#. ~ %1$s: bonus name, %2$d: bonus percentage +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%%" +msgstr "" + +#. ~ %1$s: bonus name, %2$+d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d%% of %3$s" +msgstr "" + +#. ~ %1$s: bonus name, %2$+d: bonus value +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d" msgstr "" #: src/calendar.cpp @@ -168522,9 +174092,13 @@ msgstr "유일하게 아무나 트롤을 저질러도 용서가 되는 문장. #: src/character.cpp msgctxt "not possessive" -msgid "you" +msgid "You" msgstr "당신" +#: src/character.cpp +msgid "Your" +msgstr "" + #: src/character.cpp msgid "your" msgstr "당신의ㅤ" @@ -168538,6 +174112,63 @@ msgstr "%s의" msgid "armor" msgstr "보호구" +#: src/character.cpp +#, c-format +msgid "You remove the %s's harness." +msgstr "" + +#: src/character.cpp src/game.cpp +msgid "You let go of the grabbed object." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You climb on the %s." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You hear your %s whir to life." +msgstr "" + +#: src/character.cpp +msgid "You are ejected from your mech!" +msgstr "" + +#: src/character.cpp +msgid " is ejected from their mech!" +msgstr "" + +#: src/character.cpp +msgid "You fall off your mount!" +msgstr "" + +#: src/character.cpp +msgid " falls off their mount!" +msgstr "" + +#: src/character.cpp src/trapfunc.cpp +msgid "You hurt yourself!" +msgstr "착지를 잘못해 다쳤다!" + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Fell off a mount." +msgstr "" + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Fell off a mount." +msgstr "" + +#: src/character.cpp +msgid "Dismount where?" +msgstr "" + +#: src/character.cpp +msgid "You cannot dismount there!" +msgstr "" + #: src/character.cpp msgid "You struggle to stand." msgstr "일어서기 위해 노력하는 중입니다." @@ -168725,6 +174356,11 @@ msgstr "" msgid "Liquid from your inventory has leaked onto the ground." msgstr "" +#: src/character.cpp +#, c-format +msgid "Your current health value is %d." +msgstr "현재 건강도는 %d이다." + #: src/character.cpp msgid "Parched" msgstr "심한 탈수증" @@ -168794,6 +174430,75 @@ msgstr "" msgid "Your %s bionic shorts out!" msgstr "" +#: src/character.cpp +#, c-format +msgid "Your %s will be frostnipped in the next few hours." +msgstr "%s에 몇 시간 내로 동상이 걸린다!" + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten within the hour!" +msgstr "%s에 한 시간 안에 심한 동상이 걸린다!" + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten any minute now!" +msgstr "%s에 곧 심한 동상이 걸린다!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s beginning to go numb from the cold!" +msgstr "추위 때문에 %s에 감각이 없어졌다!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very cold." +msgstr "%s이(가) 아주 차가워졌다." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting chilly." +msgstr "%s이(가) 약간 차가워졌다." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting red hot from the heat!" +msgstr "열기에 %s이(가) 달아 오르는게 느껴진다!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very hot." +msgstr "%s이(가) 아주 뜨거워졌다." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting warm." +msgstr "%s이(가) 약간 뜨거워졌다." + +#: src/character.cpp +#, c-format +msgid "The wind is making your %s feel quite cold." +msgstr "바람에 %s이(가) 차갑다." + +#: src/character.cpp +#, c-format +msgid "" +"The wind is very strong, you should find some more wind-resistant clothing " +"for your %s." +msgstr "바람이 아주 강하다. %s에 바람을 충분히 막아줄 옷을 입어야 한다." + +#: src/character.cpp +#, c-format +msgid "" +"Your clothing is not providing enough protection from the wind for your %s!" +msgstr "지금 입고 있는 옷은 바람으로부터 %s을(를) 충분히 막아주지 못한다!" + #: src/character.cpp msgid "Left Arm" msgstr "왼팔" @@ -168811,7 +174516,7 @@ msgid "Right Leg" msgstr "오른다리" #: src/character.cpp -msgid "It is broken. It needs a splint or surgical attention." +msgid "It is broken. It needs a splint or surgical attention." msgstr "" #: src/character.cpp @@ -168857,7 +174562,7 @@ msgstr "" #: src/character.cpp msgid "" -"It has a deep wound that looks infected. Antibiotics might be required." +"It has a deep wound that looks infected. Antibiotics might be required." msgstr "" #: src/character.cpp @@ -168958,8 +174663,8 @@ msgstr "" msgid "Big" msgstr "" -#: src/character.cpp src/color.cpp src/color.cpp src/options.cpp -#: src/panels.cpp +#: src/character.cpp src/character_martial_arts.cpp src/color.cpp +#: src/options.cpp msgid "Normal" msgstr "정상" @@ -169063,6 +174768,30 @@ msgstr "" msgid "EXTRA_EXERCISE" msgstr "" +#: src/character.cpp +msgid "Your body strains under the weight!" +msgstr "짐이 너무 무겁다!" + +#: src/character.cpp +#, c-format +msgid "Your %s needs %d charge from some UPS." +msgid_plural "Your %s needs %d charges from some UPS." +msgstr[0] "%s에는 UPS 충전량 %d이 필요하다." + +#: src/character.cpp +#, c-format +msgid "Your %s has %d charge but needs %d." +msgid_plural "Your %s has %d charges but needs %d." +msgstr[0] "%s에는 %d만큼 충전되어있지만, %d 더 필요하다." + +#: src/character.cpp +msgid "You cough heavily." +msgstr "기침이 심하다." + +#: src/character.cpp +msgid "a hacking cough." +msgstr "마른 기침이 나온다." + #: src/character.cpp msgid "You try to shout but you have no face!" msgstr "" @@ -169140,6 +174869,122 @@ msgctxt "fake stat there's an error" msgid "ERR" msgstr "" +#. ~ %s is armor name +#: src/character.cpp +#, c-format +msgctxt "memorial_male" +msgid "Worn %s was completely destroyed." +msgstr "입고 있던 %s이(가) 닳아서 완전히 파괴되었다." + +#: src/character.cpp +#, c-format +msgctxt "memorial_female" +msgid "Worn %s was completely destroyed." +msgstr "입고 있던 %s이(가) 닳아서 완전히 파괴되었다." + +#: src/character.cpp +#, c-format +msgid "Your %s is completely destroyed!" +msgstr "%s이(가) 완전히 파괴되었다!" + +#: src/character.cpp +#, c-format +msgid "'s %s is completely destroyed!" +msgstr "의 %s이(가) 완전히 파괴되었다!" + +#: src/character.cpp src/veh_interact.cpp +msgid "destroyed" +msgstr "박살난" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s further!" +msgstr "%1$s이(가) 더 %2$s 상태가 되었다!" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s!" +msgstr "%1$s이(가) %2$s 상태가 되었다!" + +#: src/character.cpp +#, c-format +msgid "You were attacked by %s!" +msgstr "%s에게 공격받았다!" + +#: src/character.cpp +msgid "You were hurt!" +msgstr "다쳤다!" + +#. ~spore-release sound +#. ~ the sound of a fungus releasing spores +#. ~ That spore sound again +#. ~ the sound of a fungus dying +#: src/character.cpp src/monattack.cpp src/monattack.cpp src/mondeath.cpp +msgid "Pouf!" +msgstr "푸웁!" + +#: src/character.cpp +msgid "You sink your roots into the soil." +msgstr "뿌리를 흙 속 깊이 내렸다." + +#: src/character.cpp +msgid "You start hauling items along the ground." +msgstr "바닥에 있는 물건들을 끌기 시작했다." + +#: src/character.cpp +msgid "Your hands are not free, which makes hauling slower." +msgstr "손에 물건이 있어 끄는 속도가 더 느려진다." + +#: src/character.cpp +msgid "You stop hauling items." +msgstr "끌고 다니는 것을 멈췄다." + +#: src/character.cpp +msgid "You resume your task." +msgstr "작업을 재개했다." + +#: src/character.cpp +msgid "You nestle your pile of clothes for warmth." +msgstr "옷더미 속의 따스한 곳에 자리를 잡았다." + +#: src/character.cpp +msgid "You use your pile of clothes for warmth." +msgstr "온기를 위해 옷더미를 사용했다." + +#: src/character.cpp +#, c-format +msgid "You snuggle your %s to keep warm." +msgstr "보온을 위해 %s을(를) 바짝 끌어안았다." + +#: src/character.cpp +#, c-format +msgid "You use your %s to keep warm." +msgstr "보온을 위해 %s을(를) 사용했다." + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Entered hibernation." +msgstr "겨울잠에 접어든다." + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Entered hibernation." +msgstr "겨울잠에 접어든다." + +#: src/character_martial_arts.cpp +#, c-format +msgid "You have learned %s from extensive practice with the CQB Bionic." +msgstr "CQB 바이오닉을 이용한 폭넓은 훈련으로 %s을(를) 익혔다." + +#: src/character_martial_arts.cpp +#, c-format +msgid "%s to select martial arts style." +msgstr "" + +#: src/character_martial_arts.cpp +msgid "No Style" +msgstr "무술없음" + #: src/clzones.cpp msgid "No Auto Pickup" msgstr "자동 줍기 금지" @@ -169184,260 +175029,6 @@ msgid "" "this area." msgstr "" -#: src/clzones.cpp -msgid "Loot: Unsorted" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " -"sort items inside. It can overlap with Loot zones of different types." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Food" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for comestibles. If more specific food zone is not defined, all " -"food is moved here." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: P.Food" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for perishable comestibles. Does include perishable drinks if " -"such zone is not specified." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Drink" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for drinks. Does include perishable drinks if such zone is not " -"specified." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: P.Drink" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for perishable drinks." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Guns" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for guns, bows and similar weapons." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Magazines" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for gun magazines." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Ammo" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for ammo." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Weapons" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for melee weapons." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Tools" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for tools." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Clothing" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for clothing. Does include filthy clothing if such zone is not " -"specified." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: F.Clothing" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for filthy clothing." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Drugs" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for drugs and other medical items." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Books" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for books and magazines." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Mods" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for firearm modifications and similar items." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Mutagens" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for mutagens, serums, and purifiers." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Bionics" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for Compact Bionics Modules aka CBMs." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: V.Parts" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for vehicle parts." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Other" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for other miscellaneous items." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Fuel" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for gasoline, diesel, lamp oil and other substances used as a " -"fuel." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Seeds" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for seeds, stems and similar items." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Chemical" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for chemicals." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: S.Parts" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for spare parts." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Artifacts" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for artifacts" -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Corpses" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for corpses" -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Armor" -msgstr "" - -#: src/clzones.cpp -msgid "" -"Destination for armor. Does include filthy armor if such zone is not " -"specified." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: F.Armor" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for filthy armor." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Wood" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for firewood and items that can be used as such." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Custom" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for loot with a custom filter that you can modify." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Ignore" -msgstr "" - -#: src/clzones.cpp -msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." -msgstr "" - #: src/clzones.cpp msgid "Source: Firewood" msgstr "" @@ -169445,7 +175036,7 @@ msgstr "" #: src/clzones.cpp msgid "" "Source for firewood or other flammable materials in this zone may be used to" -" automatically refuel fires. This will be done to maintain light during " +" automatically refuel fires. This will be done to maintain light during " "long-running tasks such as crafting, reading or waiting." msgstr "" @@ -169497,6 +175088,14 @@ msgstr "" msgid "Any vehicles in this area are marked for repair work." msgstr "" +#: src/clzones.cpp +msgid "Vehicle Patrol Zone" +msgstr "" + +#: src/clzones.cpp +msgid "Vehicles with an autopilot will patrol in this zone." +msgstr "" + #: src/clzones.cpp msgid "Basecamp: Food" msgstr "" @@ -169517,11 +175116,11 @@ msgstr "" #: src/clzones.cpp #, c-format -msgid "Loot: Custom : %s" +msgid "Loot: Custom: %s" msgstr "" #: src/clzones.cpp -msgid "Loot: Custom : No Filter" +msgid "Loot: Custom: No Filter" msgstr "" #: src/clzones.cpp @@ -169675,8 +175274,8 @@ msgstr "오류! 접근 거부됨!" #: src/computer.cpp #, c-format -msgid "Logging into %s..." -msgstr "%s에 로그인 중..." +msgid "Logging into %s…" +msgstr "" #: src/computer.cpp msgid "Access is temporary blocked for security purposes." @@ -169691,16 +175290,16 @@ msgid "Bypass security?" msgstr "보안을 우회합니까?" #: src/computer.cpp -msgid "Shutting down... press any key." -msgstr "종료 중... 아무 키나 누르시오." +msgid "Shutting down… press any key." +msgstr "" #: src/computer.cpp -msgid "Maximum login attempts exceeded. Press any key..." -msgstr "최대 로그인 시도 제한 초과. 아무 키나 누르시오..." +msgid "Maximum login attempts exceeded. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Login successful. Press any key..." -msgstr "로그인 성공. 아무 키나 누르시오..." +msgid "Login successful. Press any key…" +msgstr "" #: src/computer.cpp msgid "Root Menu" @@ -169723,29 +175322,29 @@ msgid "Choose drive:" msgstr "운전 선택:" #: src/computer.cpp -msgid "Doors opened. Press any key..." -msgstr "출입구 개방. 아무 키나 누르시오..." +msgid "Doors opened. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Lock enabled. Press any key..." -msgstr "잠금 설정. 아무 키나 누르시오..." +msgid "Lock enabled. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Lock disabled. Press any key..." -msgstr "잠금 해제. 아무 키나 누르시오..." +msgid "Lock disabled. Press any key…" +msgstr "" #. ~ the sound of a church bell ringing #: src/computer.cpp -msgid "Bohm... Bohm... Bohm..." -msgstr "부웅...부웅...부웅..." +msgid "Bohm… Bohm… Bohm…" +msgstr "" #: src/computer.cpp -msgid "Containment shields opened. Press any key..." -msgstr "봉쇄벽 개방. 아무 키나 누르시오..." +msgid "Containment shields opened. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Subjects terminated. Press any key..." -msgstr "실험체 제거됨. 아무 키나 누르시오..." +msgid "Subjects terminated. Press any key…" +msgstr "" #: src/computer.cpp msgid "WARNING: Resonance cascade carries severe risk! Continue?" @@ -169756,35 +175355,35 @@ msgid "No data found." msgstr "데이터 미발견." #: src/computer.cpp -msgid "Local data-access error logged, alerting helpdesk. Press any key..." -msgstr "로컬 데이터 접근 오류가 기록되었으며, 헬프데스크에 경보가 전달되었음. 아무 키나 누르시오..." +msgid "Local data-access error logged, alerting helpdesk. Press any key…" +msgstr "" #: src/computer.cpp msgid "" -"Warning: anomalous archive-access activity detected at this node. Press any " -"key..." -msgstr "경고: 해당 노드에서 변칙적인 아카이브 접속 시도가 감지됨. 아무 키나 누르시오..." +"Warning: anomalous archive-access activity detected at this node. Press any" +" key…" +msgstr "" #: src/computer.cpp -msgid "Warning: resticted data access. Attempt logged. Press any key..." +msgid "Warning: resticted data access. Attempt logged. Press any key…" msgstr "" #: src/computer.cpp -msgid "Press any key..." -msgstr "아무 키나 눌러주세요..." +msgid "Press any key…" +msgstr "" #: src/computer.cpp msgid "" "Surface map data downloaded. Local anomalous-access error logged. Press " -"any key..." -msgstr "지상 지도 데이터 다운로드 완료. 로컬 변칙적 접근 오류 기록됨. 아무 키나 누르시오..." +"any key…" +msgstr "" #: src/computer.cpp -msgid "Sewage map data downloaded. Press any key..." -msgstr "하수도 지도 데이터 다운로드 완료. 아무 키나 누르시오..." +msgid "Sewage map data downloaded. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Subway map data downloaded. Press any key..." +msgid "Subway map data downloaded. Press any key…" msgstr "" #: src/computer.cpp @@ -169821,13 +175420,13 @@ msgstr "바이오닉 접속 - 물품 내역" #: src/computer.cpp #, c-format -msgid "%d OTHER FOUND..." -msgid_plural "%d OTHERS FOUND..." -msgstr[0] "다른 것 %d개 발견..." +msgid "%d OTHER FOUND…" +msgid_plural "%d OTHERS FOUND…" +msgstr[0] "" #: src/computer.cpp -msgid "Elevator activated. Press any key..." -msgstr "엘리베이터 작동. 아무 키나 눌러주세요..." +msgid "Elevator activated. Press any key…" +msgstr "" #: src/computer.cpp #, c-format @@ -169850,8 +175449,8 @@ msgid "" msgstr "" #: src/computer.cpp -msgid "FILE CORRUPTED, PRESS ANY KEY..." -msgstr "파일이 손상되었습니다. 아무 키나 눌러주세요..." +msgid "FILE CORRUPTED, PRESS ANY KEY…" +msgstr "" #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -169866,12 +175465,12 @@ msgid "ACCESS DENIED" msgstr "접근 거부됨" #: src/computer.cpp -msgid "Repeater mod installed..." -msgstr "중계기 모듈 설치됨..." +msgid "Repeater mod installed…" +msgstr "" #: src/computer.cpp -msgid "You do not have a repeater mod to install..." -msgstr "설치할 수 있는 중계기 모듈이 없다..." +msgid "You do not have a repeater mod to install…" +msgstr "" #: src/computer.cpp msgid "Computer couldn't find its mission!" @@ -169902,16 +175501,16 @@ msgid "ERROR: Please only use blood samples." msgstr "오류: 혈액 샘플만 사용해 주세요." #: src/computer.cpp -msgid "Result: Human blood, no pathogens found." -msgstr "결과: 인간 혈액, 병원균 발견되지 않음." +msgid "Result: Human blood, no pathogens found." +msgstr "" #: src/computer.cpp -msgid "Result: Human blood. Unknown pathogen found." -msgstr "결과: 인간 혈액. 미확인 병원균 발견." +msgid "Result: Human blood. Unknown pathogen found." +msgstr "" #: src/computer.cpp -msgid "Result: Unknown blood type. Unknown pathogen found." -msgstr "결과: 알려지지 않은 혈액형. 알려지지 않은 병원체 발견됨." +msgid "Result: Unknown blood type. Unknown pathogen found." +msgstr "" #: src/computer.cpp msgid "Pathogen bonded to erythrocytes and leukocytes." @@ -169947,77 +175546,54 @@ msgstr "오류: 메모리 저장소가 비어있음." #: src/computer.cpp msgid "" -"Memory Bank: Military Hexron Encryption\n" +"Memory Bank: Military Hexron Encryption\n" "Printing Transcript\n" msgstr "" -"메모리 뱅크: 군용 헥스론 암호화됨\n" -"녹취록 인쇄\n" #: src/computer.cpp msgid "" -"Memory Bank: Unencrypted\n" +"Memory Bank: Unencrypted\n" "Nothing of interest.\n" msgstr "" -"메모리 뱅크: 암호화되지 않음\n" -"흥미로운 것은 없습니다.\n" #: src/computer.cpp msgid "" "\n" -"ERROR: NETWORK DISCONNECT \n" +"ERROR: NETWORK DISCONNECT\n" "UNABLE TO REACH NETWORK ROUTER OR PROXY. PLEASE CONTACT YOUR\n" "SYSTEM ADMINISTRATOR TO RESOLVE THIS ISSUE.\n" " \n" msgstr "" -"\n" -"에러: 네트워크 연결 끊김\n" -"네트워크 라우터 혹은 프록시에 접근 불가. 문제를 해결하려면\n" -"시스템 관리자에게 문의하십시오.\n" #: src/computer.cpp -msgid "Press any key to continue..." -msgstr "계속하려면 아무 키나 누르시오..." +msgid "Press any key to continue…" +msgstr "" #: src/computer.cpp msgid "" -"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF \n" -"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU \n" -"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW. \n" +"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF\n" +"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU\n" +"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW.\n" "\n" -"1. DO NOT PANIC. \n" -"2. REMAIN INSIDE THE BUILDING. \n" -"3. SEEK SHELTER IN THE BASEMENT. \n" -"4. USE PROVIDED GAS MASKS. \n" -"5. AWAIT FURTHER INSTRUCTIONS. \n" +"1. DO NOT PANIC.\n" +"2. REMAIN INSIDE THE BUILDING.\n" +"3. SEEK SHELTER IN THE BASEMENT.\n" +"4. USE PROVIDED GAS MASKS.\n" +"5. AWAIT FURTHER INSTRUCTIONS.\n" "\n" " \n" msgstr "" -"시민 여러분, 안녕하십니까.\n" -"생화학 테러가 발생했으며 국가 비상 사태가 선포되었습니다. 구조 요원의 도움을 기다리십시오.\n" -"안전을 위해 다음의 지시사항을 따르십시오.\n" -"\n" -"1. 차분함을 유지하십시오.\n" -"2. 외출을 자제하십시오.\n" -"3. 지하실이나 방공호에 대피하십시오.\n" -"4. 비치된 방독면을 사용하십시오.\n" -"5. 별도의 지시가 있을 때 까지 대기하십시오.\n" #: src/computer.cpp msgid "" -" WARNING, RADIO TOWER IS UNRESPONSIVE. \n" +" WARNING, RADIO TOWER IS UNRESPONSIVE.\n" " \n" -" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS. \n" -" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD \n" -" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED. \n" +" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS.\n" +" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD\n" +" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED.\n" " \n" " \n" msgstr "" -"[경고] 통신탑 반응 없음.\n" -"\n" -"통신탑 예비전력 부족.\n" -"비상상황시 주방위군과 접촉하여 발전기 보급 우선권을 받을 것.\n" -"\n" -"\n" #: src/computer.cpp msgid "Charges Detonated" @@ -170057,7 +175633,7 @@ msgid "WARNING [409]: Primary sensors offline!" msgstr "" #: src/computer.cpp -msgid " >> Initialize secondary sensors: Geiger profiling..." +msgid " >> Initialize secondary sensors: Geiger profiling…" msgstr "" #: src/computer.cpp @@ -170065,7 +175641,7 @@ msgid " >> Radiation spike detected!\n" msgstr "" #: src/computer.cpp -msgid "WARNING [912]: Catastrophic malfunction! Contamination detected! " +msgid "WARNING [912]: Catastrophic malfunction! Contamination detected!" msgstr "" #: src/computer.cpp @@ -170073,11 +175649,11 @@ msgid "EMERGENCY PROCEDURE [1]: Evacuate. Evacuate. Evacuate.\n" msgstr "" #: src/computer.cpp -msgid "EMERGENCY SHUTDOWN! Press any key..." +msgid "EMERGENCY SHUTDOWN! Press any key…" msgstr "" #: src/computer.cpp -msgid "PROCESSING... CYCLE COMPLETE." +msgid "PROCESSING… CYCLE COMPLETE." msgstr "" #: src/computer.cpp @@ -170087,7 +175663,7 @@ msgstr "" #: src/computer.cpp msgid "" -"CRITICAL ERROR... RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " +"CRITICAL ERROR… RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " "RP_M_01_rev.03." msgstr "" @@ -170097,22 +175673,22 @@ msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... AVG %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… AVG %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... MAX %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… MAX %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ CONSOLE: .... %s mSv/h." +msgid "GEIGER COUNTER @ CONSOLE:… %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "PERSONAL DOSIMETRY: .... %s mSv." +msgid "PERSONAL DOSIMETRY:… %s mSv." msgstr "" #: src/computer.cpp @@ -170136,11 +175712,11 @@ msgid "No items detected at: LOADING BAY." msgstr "" #: src/computer.cpp -msgid "Conveyor belt cycle complete. Press any key..." +msgid "Conveyor belt cycle complete. Press any key…" msgstr "" #: src/computer.cpp -msgid "Toggling shutters. Press any key..." +msgid "Toggling shutters. Press any key…" msgstr "" #: src/computer.cpp @@ -170148,15 +175724,15 @@ msgid "Operation irreversible. Extract radioactive material?" msgstr "" #: src/computer.cpp -msgid "Extraction sequence complete... Press any key." +msgid "Extraction sequence complete… Press any key." msgstr "" #: src/computer.cpp -msgid "ERROR! Radiation platform unresponsive... Press any key." +msgid "ERROR! Radiation platform unresponsive… Press any key." msgstr "" #: src/computer.cpp -msgid "Initiating POWER-DIAG ver.2.34 ..." +msgid "Initiating POWER-DIAG ver.2.34…" msgstr "" #: src/computer.cpp @@ -170177,13 +175753,13 @@ msgstr "" #: src/computer.cpp #, c-format -msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." +msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." msgstr "" #: src/computer.cpp #, c-format msgid "" -"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " +"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " "DETECTED." msgstr "" @@ -170192,7 +175768,7 @@ msgid "Backup power status: STANDBY MODE." msgstr "" #: src/computer.cpp -msgid "Backup power status: OFFLINE. Reason: UNKNOWN" +msgid "Backup power status: OFFLINE. Reason: UNKNOWN" msgstr "" #: src/computer.cpp @@ -170252,8 +175828,8 @@ msgid "ERROR: Data bank destroyed." msgstr "오류: 데이터 저장소가 파괴되었습니다." #: src/computer.cpp -msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT ... " -msgstr "이 근처에 피난센터가 있는지 찾아보고 있습니다 잠시만 기다리십시오..." +msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT…" +msgstr "" #. ~555-0164 is a fake phone number in the US, please replace it with a number #. that will not cause issues in your locale if possible. @@ -170261,23 +175837,16 @@ msgstr "이 근처에 피난센터가 있는지 찾아보고 있습니다 잠시 #, c-format msgid "" "\n" -"REFUGEE CENTER FOUND! LOCATION: %d %s\n" +"REFUGEE CENTER FOUND! LOCATION: %d %s\n" "\n" -"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT \n" -"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE. \n" -"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND \n" -"4PM AT 555-0164. \n" +"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT\n" +"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE.\n" +"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND\n" +"4PM AT 555-0164.\n" "\n" "IF YOU WOULD LIKE TO SPEAK WITH SOMEONE IN PERSON OR WOULD LIKE\n" -"TO WRITE US A LETTER PLEASE SEND IT TO...\n" +"TO WRITE US A LETTER PLEASE SEND IT TO…\n" msgstr "" -"\n" -"피난센터를 찾았습니다! 위치:%d%s\n" -"\n" -"민원이 있으시다면 공익긴급관리부로 연락해 주세요.\n" -"지역 사무실은 오전 9시부터 오후 4시까지 열려 있으며 전화번호는 AT 555-0164 입니다.\n" -"\n" -"직접 방문하시거나 편지를 보내시려면...\n" #: src/construction.cpp msgid " Construction " @@ -170369,13 +175938,13 @@ msgstr "" #: src/construction.cpp #, c-format -msgid "%s assists you with the work..." -msgstr "%s이(가) 작업을 돕는다..." +msgid "%s assists you with the work…" +msgstr "" #: src/construction.cpp #, c-format -msgid "%s watches you work..." -msgstr "%s이(가) 작업을 지켜본다..." +msgid "%s watches you work…" +msgstr "" #: src/construction.cpp #, c-format @@ -170436,8 +176005,8 @@ msgid "That %s can not be dissasembled, since there is furniture above it." msgstr "" #: src/construction.cpp -msgid "The rock feels much warmer than normal. Proceed?" -msgstr "돌이 평소보다 더 따뜻한 것 같다. 계속합니까?" +msgid "The rock feels much warmer than normal. Proceed?" +msgstr "" #: src/construction.cpp msgid "You just tunneled into lava!" @@ -170599,21 +176168,19 @@ msgstr "그래도 소비합니까? :%s" #: src/consumption.cpp msgid "" "You've begun stockpiling calories and liquid for hibernation. You get the " -"feeling that you should prepare for bed, just in case, but...you're hungry " +"feeling that you should prepare for bed, just in case, but… you're hungry " "again, and you could eat a whole week's worth of food RIGHT NOW." msgstr "" -"겨울잠을 위해 열량과 수분을 비축하기 시작했다. 상황에 따라 자러 갈 준비를 해야 할 것 같지만... 다시 배가 고파져서 일주일치 " -"식량이라도 즉시 먹어치울 수 있을 것 같다." #: src/consumption.cpp #, c-format -msgid "Ick, this %s doesn't taste so good..." -msgstr "윽! 이 %s은(는) 맛없다..." +msgid "Ick, this %s doesn't taste so good…" +msgstr "" #: src/consumption.cpp #, c-format -msgid "Mmm, this %s tastes delicious..." -msgstr "음, 이 %s은(는) 맛이 좋구만..." +msgid "Mmm, this %s tastes delicious…" +msgstr "" #: src/consumption.cpp #, c-format @@ -170627,7 +176194,7 @@ msgstr "%s을(를) 완전히 받아들였다." #: src/consumption.cpp #, c-format -msgid "Ick, this %s (rotten) doesn't taste so good..." +msgid "Ick, this %s (rotten) doesn't taste so good…" msgstr "" #: src/consumption.cpp @@ -170681,8 +176248,8 @@ msgid "You greedily devour the taboo meat." msgstr "그 금기시되는 고기를 게걸스럽게 집어삼켰다." #: src/consumption.cpp -msgid "Meh. You've eaten worse." -msgstr "뭐, 더한 것도 먹어봤는걸." +msgid "Meh. You've eaten worse." +msgstr "" #: src/consumption.cpp msgid "" @@ -170708,8 +176275,8 @@ msgid "You can't taste much of anything with this flu." msgstr "" #: src/consumption.cpp -msgid "Yuck! How can anybody eat this stuff?" -msgstr "우웩! 도대체 누가 이런 걸 먹을 수 있는 거지?" +msgid "Yuck! How can anybody eat this stuff?" +msgstr "" #: src/consumption.cpp msgid "Mmm, junk food." @@ -170720,7 +176287,7 @@ msgid "When life's got you down, there's always sugar." msgstr "" #: src/consumption.cpp -msgid "They may do what they must... you've already won." +msgid "They may do what they must… you've already won." msgstr "" #: src/consumption.cpp @@ -170756,7 +176323,7 @@ msgid "They're coming to get you." msgstr "" #: src/consumption.cpp -msgid "This might've been a bad idea..." +msgid "This might've been a bad idea…" msgstr "" #: src/consumption.cpp @@ -170764,7 +176331,7 @@ msgid "You've really done it this time, haven't you?" msgstr "" #: src/consumption.cpp -msgid "You have to stay vigilant. They're always watching..." +msgid "You have to stay vigilant. They're always watching…" msgstr "" #: src/consumption.cpp @@ -170784,7 +176351,7 @@ msgid "Something is twitching at the edge of your vision." msgstr "" #: src/consumption.cpp -msgid "They know what you've done..." +msgid "They know what you've done…" msgstr "" #: src/consumption.cpp @@ -170796,18 +176363,19 @@ msgid "You gorge yourself, preparing to hibernate." msgstr "겨울잠을 대비하여 열량을 보충해야 한다." #: src/consumption.cpp -msgid "You feel stocked for a day or two. Got your bed all ready and secured?" -msgstr "하루 이틀 정도 버틸 수 있을 것 같습니다. 완벽히 준비를 마쳤고, 침소가 안전한 상태입니까?" +msgid "" +"You feel stocked for a day or two. Got your bed all ready and secured?" +msgstr "" #: src/consumption.cpp msgid "" -"Mmm. You can still fit some more in...but maybe you should get comfortable " +"Mmm. You can still fit some more in… but maybe you should get comfortable " "and sleep." -msgstr "좀더 먹을 수 있을 것 같지만... 좀 쉬다가 한숨 자야 할 것 같다." +msgstr "" #: src/consumption.cpp -msgid "That filled a hole! Time for bed..." -msgstr "구멍을 메웠다! 이제 자러가자..." +msgid "That filled a hole! Time for bed…" +msgstr "" #: src/consumption.cpp msgid "You feel as though you're going to split open! In a good way?" @@ -170816,8 +176384,8 @@ msgstr "찢어지는 듯한 기분이다! 긍정적인 의미로." #. ~slimespawns have *small voices* which may be the Nice equivalent #. ~of the Rat King's ALL CAPS invective. Probably shared-brain telepathy. #: src/consumption.cpp -msgid "hey, you look like me! let's work together!" -msgstr "이봐, 넌 우리와 닮았네! 같은 편 하자!" +msgid "hey, you look like me! let's work together!" +msgstr "" #: src/consumption.cpp #, c-format @@ -170829,24 +176397,6 @@ msgstr "" msgid " looks better after eating the %s." msgstr "은(는) %s을(를) 먹더니 한결 나아 보인다." -#: src/consumption.cpp -msgid "Your internal power storage is fully powered." -msgstr "내장 전력 저장소가 완전히 충전되었다." - -#: src/consumption.cpp -msgid "'s internal power storage is fully powered." -msgstr "의 내장 전력 저장소가 완전히 충전되었다." - -#: src/consumption.cpp -#, c-format -msgid "You recharge your battery system with the %s." -msgstr "배터리 시스템을 통해 %s을(를) 사용해서 전력을 충전했다." - -#: src/consumption.cpp -#, c-format -msgid " recharges their battery system with the %s." -msgstr "이(가) 배터리 시스템을 통해 %s을(를) 사용해서 전력을 충전했다." - #: src/consumption.cpp msgid "That is a LOT of plutonium. Are you sure you want that much?" msgstr "플루토늄이 너무 많아서 전력이 낭비될 겁니다. 그래도 투입하시겠습니까?" @@ -170945,8 +176495,8 @@ msgid "" msgstr "" #: src/craft_command.cpp -msgid "Some components used previously are missing. Continue?" -msgstr "이전에 사용했던 재료중 일부가 부족합니다. 계속합니까?" +msgid "Some components used previously are missing. Continue?" +msgstr "" #: src/craft_command.cpp msgid "Item(s): " @@ -170957,7 +176507,7 @@ msgid "Tool(s): " msgstr "도구:" #: src/crafting.cpp -msgid "Your morale is too low to craft such a difficult thing..." +msgid "Your morale is too low to craft such a difficult thing…" msgstr "" #: src/crafting.cpp @@ -171014,7 +176564,7 @@ msgstr "더 이상 만들 수 없다!" #, c-format msgid "" "You don't have anything in which to store %s and may have to pour it out or " -"consume it as soon as it is prepared! Proceed?" +"consume it as soon as it is prepared! Proceed?" msgstr "" #: src/crafting.cpp src/pickup.cpp @@ -171105,23 +176655,23 @@ msgstr "" #: src/crafting.cpp #, c-format -msgid "%s assists with crafting..." -msgstr "%s이(가) 제작을 돕는다..." +msgid "%s assists with crafting…" +msgstr "" #: src/crafting.cpp #, c-format -msgid "%s could assist you with a batch..." -msgstr "%s이(가) 제작을 도울 수 있다..." +msgid "%s could assist you with a batch…" +msgstr "" #: src/crafting.cpp #, c-format -msgid "%s watches you craft..." -msgstr "%s이(가) 제작하는 것을 지켜본다..." +msgid "%s watches you craft…" +msgstr "" #: src/crafting.cpp #, c-format -msgid "%s helps with crafting..." -msgstr "%s이(가) 제작을 돕는다..." +msgid "%s helps with crafting…" +msgstr "" #: src/crafting.cpp #, c-format @@ -171394,8 +176944,8 @@ msgstr "일괄 제작시 시간절약:%s" #: src/crafting_gui.cpp #, c-format -msgid "Dark craftable? %s" -msgstr "어둠 속 제작? %s" +msgid "Dark craftable? %s" +msgstr "" #: src/crafting_gui.cpp src/defense.cpp msgid "Easy" @@ -171471,7 +177021,7 @@ msgstr "" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" @@ -171681,8 +177231,8 @@ msgid "Friendly" msgstr "우호적" #: src/creature.cpp -msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" -msgstr "버그: 이름 없는 태도. (Creature::get_attitude_ui_data)" +msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" +msgstr "" #: src/damage.cpp msgctxt "damage type" @@ -171735,7 +177285,7 @@ msgid "See %s for a full stack backtrace" msgstr "" #: src/debug.cpp -msgid "An error has occurred! Written below is the error report:" +msgid "An error has occurred! Written below is the error report:" msgstr "" #: src/debug.cpp @@ -171791,7 +177341,7 @@ msgid "Level a spell" msgstr "" #: src/debug_menu.cpp -msgid "Player..." +msgid "Player…" msgstr "" #: src/debug_menu.cpp @@ -171834,10 +177384,18 @@ msgstr "" msgid "Toggle display temperature" msgstr "" +#: src/debug_menu.cpp +msgid "Toggle display vehicle autopilot overlay" +msgstr "" + #: src/debug_menu.cpp msgid "Toggle display visibility" msgstr "" +#: src/debug_menu.cpp +msgid "Toggle display lighting" +msgstr "" + #: src/debug_menu.cpp msgid "Toggle display radiation" msgstr "" @@ -171870,12 +177428,16 @@ msgstr "" msgid "Print faction info to console" msgstr "" +#: src/debug_menu.cpp +msgid "Print NPC magic info to console" +msgstr "" + #: src/debug_menu.cpp msgid "Test weather" msgstr "" #: src/debug_menu.cpp -msgid "Info..." +msgid "Info…" msgstr "" #: src/debug_menu.cpp @@ -171891,7 +177453,7 @@ msgid "Teleport - adjacent overmap" msgstr "" #: src/debug_menu.cpp -msgid "Teleport..." +msgid "Teleport…" msgstr "" #: src/debug_menu.cpp @@ -171919,7 +177481,7 @@ msgid "Spawn clairvoyance artifact" msgstr "" #: src/debug_menu.cpp -msgid "Spawning..." +msgid "Spawning…" msgstr "" #: src/debug_menu.cpp @@ -171963,7 +177525,7 @@ msgid "Spawn map extra" msgstr "" #: src/debug_menu.cpp -msgid "Map..." +msgid "Map…" msgstr "" #: src/debug_menu.cpp @@ -171973,8 +177535,8 @@ msgstr "" #: src/debug_menu.cpp msgid "" "Debug Functions - Using these will cheat not only the game, but yourself.\n" -"You won't grow. You won't improve.\n" -"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" +"You won't grow. You won't improve.\n" +"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" "Nothing will be risked and nothing will be gained." msgstr "" @@ -172001,7 +177563,7 @@ msgstr "어느 오버맵으로 갑니까?" msgid "You teleport to overmap (%d,%d,%d)." msgstr "다음 오버맵으로 순간이동 (%d,%d,%d)." -#: src/debug_menu.cpp src/iuse.cpp src/npctrade.cpp +#: src/debug_menu.cpp src/game.cpp src/iuse.cpp src/npctrade.cpp msgid "You" msgstr "당신" @@ -172149,6 +177711,10 @@ msgstr "상태창 보기" msgid "t[e]leport" msgstr "순간이동" +#: src/debug_menu.cpp +msgid "Give the [f]lu" +msgstr "" + #: src/debug_menu.cpp msgid "Edit [M]issions (WARNING: Unstable!)" msgstr "임무 편집 (경고:불안정 함!)" @@ -172187,8 +177753,8 @@ msgstr "최대 지각력" #: src/debug_menu.cpp #, c-format -msgid "Set the stat to? Currently: %d" -msgstr "능력치를 얼마로 만듭니까? 현재: %d" +msgid "Set the stat to? Currently: %d" +msgstr "" #: src/debug_menu.cpp msgid "Delete all items from the target?" @@ -172216,12 +177782,12 @@ msgstr "오른다리" #: src/debug_menu.cpp #, c-format -msgid "Set the hitpoints to? Currently: %d" -msgstr "HP를 얼마로 만듭니까? 현재: %d" +msgid "Set the hitpoints to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set stamina to? Current: %d. Max: %d." +msgid "Set stamina to? Current: %d. Max: %d." msgstr "" #: src/debug_menu.cpp @@ -172230,8 +177796,8 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set the morale to? Currently: %d" -msgstr "의욕을 얼마로 만듭니까? 현재: %d" +msgid "Set the morale to? Currently: %d" +msgstr "" #: src/debug_menu.cpp msgid "trust" @@ -172255,27 +177821,27 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set trust to? Currently: %d" +msgid "Set trust to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set fear to? Currently: %d" +msgid "Set fear to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set value to? Currently: %d" +msgid "Set value to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set anger to? Currently: %d" +msgid "Set anger to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set owed to? Currently: %d" +msgid "Set owed to? Currently: %d" msgstr "" #: src/debug_menu.cpp @@ -172285,14 +177851,14 @@ msgstr "" #: src/debug_menu.cpp #, c-format msgid "" -"NPC: \n" +"NPC:\n" "%s\n" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Cause how much pain? pain: %d" -msgstr "고통을 얼마나 줍니까? 고통: %d" +msgid "Cause how much pain? pain: %d" +msgstr "" #: src/debug_menu.cpp msgid "Hunger" @@ -172316,33 +177882,33 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set hunger to? Currently: %d" -msgstr "허기를 얼마로 만듭니까? 현재: %d" +msgid "Set hunger to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set stored kCal to? Currently: %d" +msgid "Set stored kCal to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set thirst to? Currently: %d" -msgstr "갈증을 얼마로 만듭니까? 현재: %d" +msgid "Set thirst to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set fatigue to? Currently: %d" -msgstr "피로를 얼마로 만듭니까? 현재: %d" +msgid "Set fatigue to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set sleep deprivation to? Currently: %d" +msgid "Set sleep deprivation to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set %s to? Currently: %d" -msgstr "%s을(를) 얼마로 만듭니까? 현재: %d" +msgid "Set %s to? Currently: %d" +msgstr "" #: src/debug_menu.cpp src/panels.cpp msgid "Health" @@ -172358,8 +177924,8 @@ msgstr "방사능" #: src/debug_menu.cpp #, c-format -msgid "Set the value to? Currently: %d" -msgstr "수치를 얼마로 만듭니까? 현재: %d" +msgid "Set the value to? Currently: %d" +msgstr "" #: src/debug_menu.cpp msgid "Choose mission type" @@ -172481,8 +178047,8 @@ msgstr "임무 강제삭제" #: src/debug_menu.cpp #, c-format -msgid "Drew %d times in %.3f seconds. (%.3f fps average)" -msgstr "%d회/%.3f초마다 표시. (평균 FPS %.3f)" +msgid "Drew %d times in %.3f seconds. (%.3f fps average)" +msgstr "" #: src/debug_menu.cpp msgid "Current overmap revealed." @@ -172629,8 +178195,8 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Damage self for how much? hp: %d" -msgstr "얼마나 심하게 자해하겠습니까? hp: %d" +msgid "Damage self for how much? hp: %d" +msgstr "" #: src/debug_menu.cpp msgid "This binary was not compiled with tiles support." @@ -172666,8 +178232,8 @@ msgid "Set year to?" msgstr "연도 설정 : " #: src/debug_menu.cpp -msgid "Set season to? (0 = spring)" -msgstr "계절 설정 : (0=봄)" +msgid "Set season to? (0 = spring)" +msgstr "" #: src/debug_menu.cpp msgid "Set days to?" @@ -172683,8 +178249,8 @@ msgstr "분 설정 : " #: src/debug_menu.cpp #, c-format -msgid "Set turn to? (One day is %i turns)" -msgstr "턴 설정 ? (하루는 %i 턴)" +msgid "Set turn to? (One day is %i turns)" +msgstr "" #: src/debug_menu.cpp msgid "Enter benchmark length (in milliseconds):" @@ -172692,9 +178258,9 @@ msgstr "기준 길이 (밀리초)입력:" #: src/debug_menu.cpp msgid "" -"Quit without saving? This may cause issues such as duplicated or missing " +"Quit without saving? This may cause issues such as duplicated or missing " "items and vehicles!" -msgstr "저장 없이 나갑니까? 물품과 차량이 복제되거나 사라지는 문제가 발생할 수 있습니다!" +msgstr "" #: src/debug_menu.cpp #, c-format @@ -172731,10 +178297,12 @@ msgstr "" msgid "Spell" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "LVL" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "MAX" msgstr "" @@ -172759,8 +178327,8 @@ msgid "Please wait as the map generates [ 0%% ]" msgstr "지도를 생성하는 동안 기다려주세요 [ 0%% ]" #: src/defense.cpp -msgid "A caravan approaches! Press spacebar..." -msgstr "행상인이 접근합니다! 스페이스를 누르세요..." +msgid "A caravan approaches! Press spacebar…" +msgstr "" #: src/defense.cpp msgid "You don't need to sleep!" @@ -173114,8 +178682,8 @@ msgstr "지옥에서 온 %s 이(가) 온다!" #: src/defense.cpp #, c-format -msgid "Beware! %s!" -msgstr "조심해! %s!" +msgid "Beware! %s!" +msgstr "" #: src/defense.cpp #, c-format @@ -173310,10 +178878,8 @@ msgstr "덫: %s(%d)" #: src/editmap.cpp src/game.cpp #, c-format -msgid "There is a %s there. Parts:" +msgid "There is a %s there. Parts:" msgstr "" -"%s\r\n" -"부품:" #: src/editmap.cpp #, c-format @@ -173556,8 +179122,8 @@ msgstr "지역생성" #: src/effect.cpp msgid "" -"The scariest thing in the world would be... if all the air in the world " -"turned to WOOD!" +"The scariest thing in the world would be… if all the air in the world turned" +" to WOOD!" msgstr "" #: src/effect.cpp @@ -173574,8 +179140,8 @@ msgid "Science is a liar sometimes." msgstr "과학은 때론 거짓말쟁이야." #: src/effect.cpp -msgid "Science is... wait, what was I talking about again?" -msgstr "과학은.. 잠깐, 내가 또 무슨 말을 하고 있었던거지?" +msgid "Science is… wait, what was I talking about again?" +msgstr "" #: src/effect.cpp msgid "" @@ -173594,7 +179160,7 @@ msgid "She was a hip, hip, hip lady, man." msgstr "" #: src/effect.cpp -msgid "You ever see the back of a twenty dollar bill... on weed?" +msgid "You ever see the back of a twenty dollar bill… on weed?" msgstr "" #: src/effect.cpp @@ -173608,15 +179174,15 @@ msgid "RED TEAM GO, RED TEAM GO!" msgstr "" #: src/effect.cpp -msgid "You have a sudden urge to flip your bible open to Genesis 1:29..." -msgstr "갑자기 성경을 꺼내 창세기 1장 29절을 펼치고 싶은 충동이 들었다..." +msgid "You have a sudden urge to flip your bible open to Genesis 1:29…" +msgstr "" #: src/effect.cpp -msgid "That rug really tied the room together..." +msgid "That rug really tied the room together…" msgstr "" #: src/effect.cpp -msgid "I used to do drugs... I still do, but I used to, too." +msgid "I used to do drugs… I still do, but I used to, too." msgstr "" #: src/effect.cpp @@ -173625,7 +179191,7 @@ msgstr "" #: src/effect.cpp msgid "" -"Okay, like, the scariest thing in the world would be... if like you went to " +"Okay, like, the scariest thing in the world would be… if like you went to " "grab something and it wasn't there!" msgstr "" @@ -173634,7 +179200,7 @@ msgid "They call them fingers, but I never see them fing." msgstr "" #: src/effect.cpp -msgid "... oh, there they go." +msgid "…oh, there they go." msgstr "" #: src/effect.cpp @@ -173669,7 +179235,7 @@ msgid "Oh, sometimes the early-mid-late-early-morning." msgstr "" #: src/effect.cpp -msgid "...But never at dusk." +msgid "…But never at dusk." msgstr "" #: src/effect.cpp @@ -173681,11 +179247,11 @@ msgid "Man, a cheeseburger sounds SO awesome right now." msgstr "" #: src/effect.cpp -msgid "Eh... maybe not." -msgstr "에... 아마 아닐걸." +msgid "Eh… maybe not." +msgstr "" #: src/effect.cpp -msgid "I guess, maybe, without the cheese... yeah." +msgid "I guess, maybe, without the cheese… yeah." msgstr "" #: src/effect.cpp @@ -173842,6 +179408,10 @@ msgstr "" msgid "perfect" msgstr "" +#: src/explosion.cpp +msgid "force of the explosion" +msgstr "" + #: src/explosion.cpp msgid "You're caught in the explosion!" msgstr "폭발에 휘말렸다!" @@ -174189,21 +179759,21 @@ msgid "Press enter to rename this camp" msgstr "" #: src/faction.cpp -msgid "Direction : to the " +msgid "Direction: to the " msgstr "" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d)" +msgid "Location: (%d, %d)" msgstr "" #: src/faction.cpp #, c-format -msgid "Food Supply : %s %d calories" +msgid "Food Supply: %s %d calories" msgstr "" #: src/faction.cpp -msgid "Next Upgrade : " +msgid "Next Upgrade: " msgstr "" #: src/faction.cpp @@ -174216,25 +179786,25 @@ msgid "Press enter to talk to this follower " msgstr "" #: src/faction.cpp -msgid "travelling to : " +msgid "travelling to: " msgstr "" #: src/faction.cpp #, c-format -msgid "travelling to : (%d, %d)" +msgid "travelling to: (%d, %d)" msgstr "" #: src/faction.cpp -msgid "Current Mission : " +msgid "Current Mission: " msgstr "" #: src/faction.cpp -msgid "Direction : Nearby" +msgid "Direction: Nearby" msgstr "" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d), at camp: %s" +msgid "Location: (%d, %d), at camp: %s" msgstr "" #: src/faction.cpp @@ -174266,7 +179836,7 @@ msgid "Within interaction range" msgstr "" #: src/faction.cpp -msgid "Status : " +msgid "Status: " msgstr "" #: src/faction.cpp @@ -174290,37 +179860,41 @@ msgid "Guarding" msgstr "" #: src/faction.cpp -msgid "Condition : " +msgid "Basecamp job: " msgstr "" #: src/faction.cpp -msgctxt "needs" -msgid "Nominal" +msgid "Condition: " msgstr "" #: src/faction.cpp -msgid "Hunger : " +msgctxt "needs" +msgid "Nominal" msgstr "" #: src/faction.cpp -msgid "Thirst : " +msgid "Hunger: " msgstr "" #: src/faction.cpp -msgid "Fatigue : " +msgid "Thirst: " msgstr "" #: src/faction.cpp -msgid "Wielding : " +msgid "Fatigue: " msgstr "" +#: src/faction.cpp src/player.cpp +msgid "Wielding: " +msgstr "들고 있는 것: " + #: src/faction.cpp -msgid "Best other skills : " +msgid "Best other skills: " msgstr "" #: src/faction.cpp #, c-format -msgid "Best combat skill : %s : %d" +msgid "Best combat skill: %s: %d" msgstr "" #: src/faction.cpp @@ -174360,7 +179934,11 @@ msgid "Recover Ally from Upgrading" msgstr "" #: src/faction_camp.cpp -msgid "Busy crafting!\n" +msgid "Emergency Recall" +msgstr "" + +#: src/faction_camp.cpp +msgid "Lost in the ether!\n" msgstr "" #: src/faction_camp.cpp @@ -174368,17 +179946,21 @@ msgid "Craft Item" msgstr "" #: src/faction_camp.cpp -msgid " (Finish) Crafting" +msgid "Busy crafting!\n" msgstr "" #: src/faction_camp.cpp -msgid "Busy travelling!\n" +msgid " (Finish) Crafting" msgstr "" #: src/faction_camp.cpp msgid "Travelling" msgstr "" +#: src/faction_camp.cpp +msgid "Busy travelling!\n" +msgstr "" + #: src/faction_camp.cpp msgid "Recall ally from travelling" msgstr "" @@ -174412,7 +179994,7 @@ msgid "Menial Labor" msgstr "" #: src/faction_camp.cpp -msgid "Performing menial labor...\n" +msgid "Performing menial labor…\n" msgstr "" #: src/faction_camp.cpp @@ -174424,7 +180006,7 @@ msgid "Expand Base" msgstr "" #: src/faction_camp.cpp -msgid "Surveying for expansion...\n" +msgid "Surveying for expansion…\n" msgstr "" #: src/faction_camp.cpp @@ -174436,7 +180018,7 @@ msgid "Cut Logs" msgstr "" #: src/faction_camp.cpp -msgid "Cutting logs in the woods...\n" +msgid "Cutting logs in the woods…\n" msgstr "" #: src/faction_camp.cpp @@ -174448,7 +180030,7 @@ msgid "Clear a forest" msgstr "" #: src/faction_camp.cpp -msgid "Clearing a forest...\n" +msgid "Clearing a forest…\n" msgstr "" #: src/faction_camp.cpp @@ -174456,11 +180038,11 @@ msgid "Recover Clearcutter" msgstr "" #: src/faction_camp.cpp -msgid "Setting up a hide site...\n" +msgid "Setup Hide Site" msgstr "" #: src/faction_camp.cpp -msgid "Setup Hide Site" +msgid "Setting up a hide site…\n" msgstr "" #: src/faction_camp.cpp @@ -174472,7 +180054,7 @@ msgid "Relay Hide Site" msgstr "" #: src/faction_camp.cpp -msgid "Transferring gear to a hide site...\n" +msgid "Transferring gear to a hide site…\n" msgstr "" #: src/faction_camp.cpp @@ -174520,7 +180102,7 @@ msgid "Construct Map Fortifications" msgstr "" #: src/faction_camp.cpp -msgid "Constructing fortifications...\n" +msgid "Constructing fortifications…\n" msgstr "" #: src/faction_camp.cpp @@ -174580,7 +180162,7 @@ msgid " Chop Shop" msgstr "" #: src/faction_camp.cpp -msgid "Working at the chop shop...\n" +msgid "Working at the chop shop…\n" msgstr "" #: src/faction_camp.cpp @@ -174666,15 +180248,12 @@ msgstr "" #: src/faction_camp.cpp src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "Do you wish to bring your allies back into your party?" msgstr "" -"\n" -" \n" -"동료를 일행으로 다시 데려옵니까?" #: src/faction_camp.cpp -msgid "You choose to wait..." +msgid "You choose to wait…" msgstr "" #: src/faction_camp.cpp @@ -174692,10 +180271,8 @@ msgstr "다른 캠프와 너무 가깝습니다!" #: src/faction_camp.cpp msgid "" "Warning, you have selected a region with the following issues:\n" -" \n" -msgstr "" -"경고. 다음 문제가 있는 지역을 선택했습니다:\n" "\n" +msgstr "" #: src/faction_camp.cpp msgid "There are few forests. Wood is your primary construction material.\n" @@ -174712,11 +180289,9 @@ msgstr "" #: src/faction_camp.cpp #, c-format msgid "" -"%s \n" -"Are you sure you wish to continue? " -msgstr "" "%s\n" -"계속합니까?" +"Are you sure you wish to continue?" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -174736,14 +180311,22 @@ msgstr ", 캠프 관리자" msgid "%s has abandoned the camp." msgstr "%s은(는) 캠프를 버렸다." +#: src/faction_camp.cpp +msgid " Expansion" +msgstr "" + +#: src/faction_camp.cpp +msgid "Recover Ally, " +msgstr "" + #: src/faction_camp.cpp #, c-format msgid "" -"Notes: \n" +"Notes:\n" "Send a companion to gather materials for the next camp upgrade.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "%s\n" "Risk: Very Low\n" @@ -174751,56 +180334,19 @@ msgid "" "Positions: %d/3\n" msgstr "" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" -"Effects:\n" -"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" -" \n" -"Must have enjoyability >= -6\n" -"Perishable food liquidated at penalty depending on upgrades and rot time:\n" -"> Rotten: 0%%\n" -"> Rots in < 2 days: 60%%\n" -"> Rots in < 5 days: 80%%\n" -" \n" -"Total faction food stock: %d kcal\n" -"or %d day's rations" -msgstr "" - -#: src/faction_camp.cpp -msgid "Distribute Food" -msgstr "" - -#: src/faction_camp.cpp -msgid "" -"Notes:\n" -"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" -" \n" -"Effects:\n" -"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" -"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" -"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." -msgstr "" - -#: src/faction_camp.cpp -msgid "Reset Sort Points" -msgstr "" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to gather light brush and heavy sticks.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "> heavy sticks\n" "> withered plants\n" "> splintered wood\n" -" \n" +"\n" "Risk: Very Low\n" "Time: 3 Hours, Repeated\n" "Positions: %d/3\n" @@ -174811,9 +180357,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to do low level chores and sort supplies.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Effects:\n" "> Material left in the unsorted loot zone will be sorted into a defined loot zone.\n" "\n" @@ -174822,31 +180368,14 @@ msgid "" "Positions: %d/1\n" msgstr "" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" -" \n" -"Skill used: N/A \n" -"Effects:\n" -"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal. \n" -" \n" -"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window. \n" -" \n" -"Risk: None\n" -"Time: 3 Hours \n" -"Positions: %d/1\n" -msgstr "" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to a nearby forest to cut logs.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 50%% of trees/trunks at the forest position will be cut down.\n" "> 100%% of total material will be brought back.\n" @@ -174862,15 +180391,15 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to a clear a nearby forest.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 95%% of trees/trunks at the forest position will be cut down.\n" "> 0%% of total material will be brought back.\n" "> Forest should become a field tile.\n" "> Useful for clearing land for another faction camp.\n" -" \n" +"\n" "Risk: None\n" "Time: 6 Hour Base + Travel Time + Cutting Time\n" "Positions: %d/1\n" @@ -174881,14 +180410,14 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to build an improvised shelter and stock it with equipment at a distant map location.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Good for setting up resupply or contingency points.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 6 Hour Construction + Travel\n" "Positions: %d/1\n" @@ -174899,14 +180428,14 @@ msgstr "" msgid "" "Notes:\n" "Push gear out to a hide site or bring gear back from one.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 1\n" "Effects:\n" "> Good for returning equipment you left in the hide site shelter.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward or back.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 1 Hour Base + Travel\n" "Positions: %d/1\n" @@ -174917,9 +180446,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to forage for edible plants.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Foraging Possibilities:\n" "> wild vegetables\n" "> fruits and nuts depending on season\n" @@ -174934,9 +180463,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to set traps for small game.\n" -" \n" +"\n" "Skill used: trapping\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Trapping Possibilities:\n" "> small and tiny animal corpses\n" "May produce less food than consumed!\n" @@ -174950,9 +180479,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to hunt large animals.\n" -" \n" +"\n" "Skill used: marksmanship\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Hunting Possibilities:\n" "> small, medium, or large animal corpses\n" "May produce less food than consumed!\n" @@ -174970,14 +180499,14 @@ msgstr "" msgid "" "Notes:\n" "Send a companion out into the great unknown. High survival skills are needed to avoid combat but you should expect an encounter or two.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Select checkpoints to customize path.\n" "> Reveals terrain around the path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: High\n" "Time: Travel\n" "Positions: %d/3\n" @@ -174988,38 +180517,30 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to purge the wasteland. Their goal is to kill anything hostile they encounter and return when their wounds are too great or the odds are stacked against them.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 4\n" "Effects:\n" "> Pulls creatures encountered into combat instead of fleeing.\n" "> Select checkpoints to customize path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: Very High\n" "Time: Travel\n" "Positions: %d/3\n" msgstr "" -#: src/faction_camp.cpp -msgid " Expansion" -msgstr "" - -#: src/faction_camp.cpp -msgid "Recover Ally, " -msgstr "" - #: src/faction_camp.cpp msgid "" "Notes:\n" "Have a companion attempt to completely dissemble a vehicle into components.\n" -" \n" +"\n" "Skill used: mechanics\n" "Difficulty: 2 \n" "Effects:\n" "> Removed parts placed on the furniture in the garage.\n" "> Skill plays a huge role to determine what is salvaged.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 days \n" msgstr "" @@ -175028,19 +180549,19 @@ msgstr "" msgid "" "Notes:\n" "Plow any spaces that have reverted to dirt or grass.\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: fabrication\n" "Difficulty: N/A \n" "Effects:\n" "> Restores only the plots created in the last expansion upgrade.\n" "> Does not damage existing crops.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 Min / Plot \n" "Positions: 0/1 \n" @@ -175050,20 +180571,20 @@ msgstr "" msgid "" "Notes:\n" "Plant designated seeds in the spaces that have already been tilled.\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Choose which seed type or all of your seeds.\n" "> Stops when out of seeds or planting locations.\n" "> Will plant in ALL dirt mounds in the expansion.\n" -" \n" +"\n" "Risk: None\n" "Time: 1 Min / Plot \n" "Positions: 0/1 \n" @@ -175073,81 +180594,161 @@ msgstr "" msgid "" "Notes:\n" "Harvest any plants that are ripe and bring the produce back.\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Will dump all harvesting products onto your location.\n" -" \n" +"\n" "Risk: None\n" "Time: 3 Min / Plot \n" "Positions: 0/1 \n" msgstr "" #: src/faction_camp.cpp -msgid "departs to search for materials..." +#, c-format +msgid "" +"Notes:\n" +"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" +"\n" +"Skill used: N/A\n" +"Effects:\n" +"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal.\n" +"\n" +"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window.\n" +"\n" +"Risk: None\n" +"Time: 3 Hours\n" +"Positions: %d/1\n" msgstr "" #: src/faction_camp.cpp -msgid "departs to search for firewood..." +#, c-format +msgid "" +"Notes:\n" +"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" +"Effects:\n" +"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" +"\n" +"Must have enjoyability >= -6\n" +"Perishable food liquidated at penalty depending on upgrades and rot time:\n" +"> Rotten: 0%%\n" +"> Rots in < 2 days: 60%%\n" +"> Rots in < 5 days: 80%%\n" +"\n" +"Total faction food stock: %d kcal\n" +"or %d day's rations" msgstr "" #: src/faction_camp.cpp -msgid "returns from working in the woods..." +msgid "Distribute Food" msgstr "" #: src/faction_camp.cpp -msgid "returns from working on the hide site..." +msgid "" +"Notes:\n" +"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" +"\n" +"Effects:\n" +"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" +"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" +"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." msgstr "" #: src/faction_camp.cpp -msgid "returns from shuttling gear between the hide site..." +msgid "Reset Sort Points" msgstr "" #: src/faction_camp.cpp -msgid "departs to search for edible plants..." +msgid "" +"Notes:\n" +"Assign repeating job duties to NPCs stationed here.\n" +"Difficulty: N/A\n" +"Effects:\n" +"\n" +"\n" +"Risk: None\n" +"Time: Ongoing" msgstr "" #: src/faction_camp.cpp -msgid "departs to set traps for small animals..." +msgid "Assign Jobs" +msgstr "" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Cancel a current mission and force the immediate return of a companion. No work will be done on the mission and all resources used on the mission will be lost.\n" +"\n" +"WARNING: All resources used on the mission will be lost and no work will be done. Only use this mission to recover a companion who cannot otherwise be recovered.\n" +"\n" +"Companions must be on missions for at least 24 hours before emergency recall becomes available." msgstr "" #: src/faction_camp.cpp -msgid "departs to hunt for meat..." +msgid "departs to survey land…" msgstr "" #: src/faction_camp.cpp -msgid "departs to search for recruits..." +msgid "departs to search for materials…" msgstr "" #: src/faction_camp.cpp -msgid "departs to survey land..." +msgid "departs to search for firewood…" msgstr "" #: src/faction_camp.cpp -msgid "returns to you with something..." +msgid "returns from working in the woods…" msgstr "" #: src/faction_camp.cpp -msgid "returns from your farm with something..." +msgid "returns from working on the hide site…" msgstr "" #: src/faction_camp.cpp -msgid "returns from your kitchen with something..." +msgid "returns from shuttling gear between the hide site…" msgstr "" #: src/faction_camp.cpp -msgid "returns from your blacksmith shop with something..." +msgid "departs to search for edible plants…" msgstr "" #: src/faction_camp.cpp -msgid "returns from your garage..." +msgid "departs to set traps for small animals…" +msgstr "" + +#: src/faction_camp.cpp +msgid "departs to hunt for meat…" +msgstr "" + +#: src/faction_camp.cpp +msgid "departs to search for recruits…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns to you with something…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns from your farm with something…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns from your kitchen with something…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns from your blacksmith shop with something…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns from your garage…" msgstr "" #: src/faction_camp.cpp @@ -175155,13 +180756,30 @@ msgid "You don't have enough food stored to feed your companion." msgstr "" #: src/faction_camp.cpp -msgid "begins to upgrade the camp..." +msgid "begins to upgrade the camp…" msgstr "" #: src/faction_camp.cpp msgid "You don't have the materials for the upgrade." msgstr "" +#: src/faction_camp.cpp +msgid "There are no npcs stationed here" +msgstr "" + +#: src/faction_camp.cpp src/npc.cpp +msgid "No particular job" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "Press %s to change this workers job." +msgstr "" + +#: src/faction_camp.cpp +msgid "Assign which job?" +msgstr "" + #: src/faction_camp.cpp #, c-format msgid "%s goes off to clean toilets and sort loot." @@ -175179,7 +180797,7 @@ msgid "" msgstr "" #: src/faction_camp.cpp -msgid "departs to cut logs..." +msgid "departs to cut logs…" msgstr "" #: src/faction_camp.cpp @@ -175187,7 +180805,7 @@ msgid "Forests are the only valid cutting locations." msgstr "" #: src/faction_camp.cpp -msgid "departs to clear a forest..." +msgid "departs to clear a forest…" msgstr "" #: src/faction_camp.cpp @@ -175199,11 +180817,11 @@ msgid "Do you wish to give your companion additional items?" msgstr "동료에게 추가 물품을 갖다 주겠습니까?" #: src/faction_camp.cpp -msgid "departs to build a hide site..." +msgid "departs to build a hide site…" msgstr "" #: src/faction_camp.cpp -msgid "You need equipment to setup a hide site..." +msgid "You need equipment to setup a hide site…" msgstr "" #: src/faction_camp.cpp @@ -175215,11 +180833,11 @@ msgid "Bring gear back?" msgstr "" #: src/faction_camp.cpp -msgid "departs for the hide site..." +msgid "departs for the hide site…" msgstr "" #: src/faction_camp.cpp -msgid "You need equipment to transport between the hide site..." +msgid "You need equipment to transport between the hide site…" msgstr "" #: src/faction_camp.cpp @@ -175246,7 +180864,7 @@ msgid "You don't have the material to build the fortification." msgstr "" #: src/faction_camp.cpp -msgid "begins constructing fortifications..." +msgid "begins constructing fortifications…" msgstr "" #: src/faction_camp.cpp @@ -175256,7 +180874,7 @@ msgid "" msgstr "" #: src/faction_camp.cpp -msgid "departs on patrol..." +msgid "departs on patrol…" msgstr "" #: src/faction_camp.cpp @@ -175273,19 +180891,19 @@ msgid "Your batch is too large!" msgstr "" #: src/faction_camp.cpp -msgid "begins to work..." +msgid "begins to work…" msgstr "" #: src/faction_camp.cpp -msgid "+ more \n" +msgid "+ more\n" msgstr "" #: src/faction_camp.cpp -msgid "begins to harvest the field..." +msgid "begins to harvest the field…" msgstr "" #: src/faction_camp.cpp -msgid "You have no additional seeds to give your companions..." +msgid "You have no additional seeds to give your companions…" msgstr "" #: src/faction_camp.cpp src/mission_companion.cpp @@ -175293,11 +180911,11 @@ msgid "Which seeds do you wish to have planted?" msgstr "어떤 씨앗을 심을까요?" #: src/faction_camp.cpp -msgid "begins planting the field..." +msgid "begins planting the field…" msgstr "" #: src/faction_camp.cpp -msgid "begins plowing the field..." +msgid "begins plowing the field…" msgstr "" #: src/faction_camp.cpp @@ -175308,11 +180926,15 @@ msgid "" msgstr "" #: src/faction_camp.cpp -msgid "begins working in the garage..." +msgid "begins working in the garage…" msgstr "" #: src/faction_camp.cpp -msgid "Your companion seems disappointed that your pantry is empty..." +msgid "Your companion seems disappointed that your pantry is empty…" +msgstr "" + +#: src/faction_camp.cpp +msgid "responds to the emergency recall…" msgstr "" #: src/faction_camp.cpp @@ -175321,11 +180943,11 @@ msgid "%s failed to build the %s upgrade." msgstr "" #: src/faction_camp.cpp -msgid "returns from upgrading the camp having earned a bit of experience..." +msgid "returns from upgrading the camp having earned a bit of experience…" msgstr "" #: src/faction_camp.cpp -msgid "returns from doing the dirty work to keep the camp running..." +msgid "returns from doing the dirty work to keep the camp running…" msgstr "" #: src/faction_camp.cpp @@ -175346,48 +180968,48 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "returns from %s carrying supplies and has a bit more experience..." +msgid "returns from %s carrying supplies and has a bit more experience…" msgstr "" #: src/faction_camp.cpp -msgid "returns from constructing fortifications..." +msgid "returns from constructing fortifications…" msgstr "" #: src/faction_camp.cpp -msgid "returns from searching for recruits with a bit more experience..." +msgid "returns from searching for recruits with a bit more experience…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s encountered %s..." +msgid "%s encountered %s…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s didn't find anyone to recruit..." +msgid "%s didn't find anyone to recruit…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s convinced %s to hear a recruitment offer from you..." +msgid "%s convinced %s to hear a recruitment offer from you…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested in anything %s had to offer..." +msgid "%s wasn't interested in anything %s had to offer…" msgstr "" #: src/faction_camp.cpp msgid "" "NPC Overview:\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp #, c-format msgid "" -"Name: %20s\n" -" \n" +"Name: %s\n" +"\n" msgstr "" #: src/faction_camp.cpp @@ -175409,7 +181031,7 @@ msgstr "" #, c-format msgid "" "Perception: %10d\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp @@ -175424,21 +181046,21 @@ msgstr "" #, c-format msgid "" "> Food: %10d days\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp #, c-format msgid "" "Faction Food:%9d days\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp #, c-format msgid "" "Recruit Chance: %10d%%\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp @@ -175462,7 +181084,7 @@ msgid "Not Interested" msgstr "" #: src/faction_camp.cpp -msgid "You decide you aren't interested..." +msgid "You decide you aren't interested…" msgstr "" #: src/faction_camp.cpp @@ -175472,26 +181094,25 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested..." +msgid "%s wasn't interested…" msgstr "" #: src/faction_camp.cpp -msgid "Your companion hit a river and didn't know how to swim..." +msgid "Your companion hit a river and didn't know how to swim…" msgstr "" #: src/faction_camp.cpp msgid "" -"Your companion hit a river and didn't know how to swim well enough to " -"cross..." +"Your companion hit a river and didn't know how to swim well enough to cross…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s didn't return from patrol..." +msgid "%s didn't return from patrol…" msgstr "" #: src/faction_camp.cpp -msgid "returns from patrol..." +msgid "returns from patrol…" msgstr "" #: src/faction_camp.cpp @@ -175531,7 +181152,7 @@ msgid "returns from surveying for the expansion." msgstr "" #: src/faction_camp.cpp -msgid "returns from working your fields... " +msgid "returns from working your fields…" msgstr "" #: src/faction_camp.cpp @@ -175591,27 +181212,25 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid ">Travel: %23s\n" +msgid ">Travel: %s\n" msgstr "" #: src/faction_camp.cpp #, c-format -msgid ">Working: %23s\n" +msgid ">Working: %s\n" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Total: %23s\n" +msgid "Total: %s\n" msgstr "" #: src/faction_camp.cpp #, c-format msgid "" "Food: %15d (kcal)\n" -" \n" -msgstr "" -"음식: %15d(kcal)\n" "\n" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -175627,16 +181246,16 @@ msgstr "" msgid "" "Notes:\n" "Recruiting additional followers is very dangerous and expensive. The outcome is heavily dependent on the skill of the companion you send and the appeal of your base.\n" -" \n" +"\n" "Skill used: speech\n" -"Difficulty: 2 \n" +"Difficulty: 2\n" "Base Score: +%3d%%\n" "> Expansion Bonus: +%3d%%\n" "> Faction Bonus: +%3d%%\n" "> Special Bonus: +%3d%%\n" -" \n" +"\n" "Total: Skill +%3d%%\n" -" \n" +"\n" "Risk: High\n" "Time: 4 Days\n" "Positions: %d/1\n" @@ -175656,7 +181275,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Name: %25s\n" +msgid "Name: %s\n" msgstr "" #: src/faction_camp.cpp @@ -175665,7 +181284,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Engine: %25s\n" +msgid "Engine: %s\n" msgstr "" #: src/faction_camp.cpp @@ -175675,7 +181294,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid ">Fuel: %25s\n" +msgid ">Fuel: %s\n" msgstr "" #: src/faction_camp.cpp @@ -175687,11 +181306,11 @@ msgid "Estimated Chop Time: 5 Days\n" msgstr "" #: src/faction_camp.cpp -msgid "You do not have a camp food zone. Aborting..." +msgid "You do not have a camp food zone. Aborting…" msgstr "" #: src/faction_camp.cpp -msgid "No items are located at the drop point..." +msgid "No items are located at the drop point…" msgstr "" #: src/faction_camp.cpp @@ -175701,7 +181320,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "While %s, a silent specter approaches %s..." +msgid "While %s, a silent specter approaches %s…" msgstr "" #: src/faction_camp.cpp @@ -175733,7 +181352,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "The bull moose charged %s from the tree line..." +msgid "The bull moose charged %s from the tree line…" msgstr "" #: src/faction_camp.cpp @@ -175752,12 +181371,12 @@ msgstr "" #, c-format msgid "" "Terrified, %s spun around and delivered a massive kick to the creature's " -"torso..." +"torso…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Collapsing into a pile of gore, %s walked away unscathed..." +msgid "Collapsing into a pile of gore, %s walked away unscathed…" msgstr "" #: src/faction_camp.cpp @@ -175768,7 +181387,7 @@ msgstr "" #, c-format msgid "" "%s turned to find the hideous black eyes of a giant wasp staring back from " -"only a few feet away..." +"only a few feet away…" msgstr "" #: src/faction_camp.cpp @@ -175781,7 +181400,7 @@ msgid "Pieces of %s were found strewn across a few bushes." msgstr "" #: src/faction_camp.cpp -msgid "(You wonder if your companions are fit to work on their own...)" +msgid "(You wonder if your companions are fit to work on their own…)" msgstr "" #: src/fungal_effects.cpp src/iuse.cpp @@ -175815,8 +181434,8 @@ msgid "Loading core data" msgstr "중요 데이터 로딩중" #: src/game.cpp -msgid "Please wait while the world data loads..." -msgstr "세계 데이터를 불러오는 동안 기다려주십시오..." +msgid "Please wait while the world data loads…" +msgstr "" #: src/game.cpp src/start_location.cpp msgid "Please wait as we build your world" @@ -175852,8 +181471,8 @@ msgstr "세계 정보 삭제" #: src/game.cpp #, c-format -msgid "World retained. Characters remaining:%s" -msgstr "세계 유지됨. 캐릭터 남음:%s" +msgid "World retained. Characters remaining:%s" +msgstr "" #: src/game.cpp #, c-format @@ -175861,8 +181480,8 @@ msgid "The %s is dangerously close!" msgstr "" #: src/game.cpp -msgid "Wait till you wake up..." -msgstr "깨어날 때까지 기다립니다..." +msgid "Wait till you wake up…" +msgstr "" #: src/game.cpp #, c-format @@ -176037,8 +181656,8 @@ msgid "You are not wielding a ranged weapon." msgstr "원거리 무기를 휘두를 수 없습니다." #: src/game.cpp -msgid "Watch the last moments of your life...?" -msgstr "당신의 삶의 마지막 순간을 보시겠습니까...?" +msgid "Watch the last moments of your life…?" +msgstr "" #: src/game.cpp msgid "Loading files" @@ -176087,17 +181706,15 @@ msgid "Failed to save game data" msgstr "게임 데이터를 저장하는데 실패했습니다." #: src/game.cpp -msgid " You are forgotten among the billions lost in the cataclysm..." -msgstr " 당신은 대재앙에 희생된 무수히 많은 이들 중 하나로서 잊혀졌습니다..." +msgid " You are forgotten among the billions lost in the cataclysm…" +msgstr "" #: src/game.cpp msgid "" " Locked in an endless battle, the Old Guard was forced to consolidate " "their resources in a handful of fortified bases along the coast. Without " -"the men or material to rebuild, the soldiers that remained lost all hope..." +"the men or material to rebuild, the soldiers that remained lost all hope…" msgstr "" -"끊임없는 싸움에 갇힌 채로, 올드 가드는 연안을 따라 있는 몇 개의 요새화된 기지로 자원을 통합해야만 했다. 다시 건축할 사람이나 자원이" -" 없는 채, 남아 있는 병사들은 모든 희망을 잃었다..." #: src/game.cpp msgid "" @@ -176107,7 +181724,7 @@ msgid "" "success. Forced to eventually consolidate to large bases, the Old Guard " "left these facilities in the hands of the few survivors that remained. As " "the years past, little materialized from the hopes of rebuilding " -"civilization..." +"civilization…" msgstr "" #: src/game.cpp @@ -176115,7 +181732,7 @@ msgid "" " Life in the refugee shelter deteriorated as food shortages and disease " "destroyed any hope of maintaining a civilized enclave. The merchants and " "craftsmen dispersed to found new colonies but most became victims of " -"marauding bandits. Those who survived never found a place to call home..." +"marauding bandits. Those who survived never found a place to call home…" msgstr "" #: src/game.cpp @@ -176124,7 +181741,7 @@ msgid "" "once profitable trade routes were plundered by bandits and thugs. In " "squalor and filth the first generations born after the cataclysm are told " "stories of the old days when food was abundant and the children were allowed" -" to play in the sun..." +" to play in the sun…" msgstr "" #: src/game.cpp @@ -176149,7 +181766,7 @@ msgid "" " The lone bands of survivors who wandered the now alien world dwindled in" " number through the years. Unable to compete with the growing number of " "monstrosities that had adapted to live in their world, those who did survive" -" lived in dejected poverty and hopelessness..." +" lived in dejected poverty and hopelessness…" msgstr "" #: src/game.cpp @@ -176159,7 +181776,7 @@ msgid "" "old world. Enormous hordes made cities impossible to enter while new " "eldritch horrors appeared mysteriously near old research labs. But on the " "fringes of where civilization once ended, bands of hunter-gatherers began to" -" adopt agrarian lifestyles in fortified enclaves..." +" adopt agrarian lifestyles in fortified enclaves…" msgstr "" #: src/game.cpp @@ -176179,7 +181796,7 @@ msgid "" "brought the warlords abundant territory and slaves but little in the way of " "stability. Within weeks, infighting led to civil war as tribes vied for " "leadership of the faction. When only one warlord finally secured control, " -"there was nothing left to fight for... just endless cities full of the dead." +"there was nothing left to fight for… just endless cities full of the dead." msgstr "" #: src/game.cpp @@ -176356,13 +181973,6 @@ msgid "" "increased by %s." msgstr "" -#: src/game.cpp -#, c-format -msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " -"anyway?" -msgstr "" - #: src/game.cpp msgid "Successfully removed Personality override." msgstr "" @@ -176505,8 +182115,8 @@ msgid "Never mind" msgstr "아무것도 아냐" #: src/game.cpp src/npctalk.cpp -msgid "You may be attacked! Proceed?" -msgstr "공격당할 수도 있습니다! 계속합니까?" +msgid "You may be attacked! Proceed?" +msgstr "" #: src/game.cpp msgid "Examine where?" @@ -176692,12 +182302,12 @@ msgid "There's something there, but you can't see what it is." msgstr "뭔가 있는것 같은데, 뭔지 알 수가 없다." #: src/game.cpp -msgid "More items here..." -msgstr "여기에 더 많은 물건이 있다..." +msgid "More items here…" +msgstr "" #: src/game.cpp #, c-format -msgctxt "%s is the name of the item. %d is the quantity of that item." +msgctxt "%s is the name of the item. %d is the quantity of that item." msgid "%s [%d]" msgstr "%s [%d]" @@ -177017,8 +182627,8 @@ msgstr "이곳에 있는 물품을 분해할 수 있는 도구가 없다." #: src/game.cpp #, c-format -msgid "You see %s nearby! Start butchering anyway?" -msgstr "%s이(가) 가까이 있다! 그래도 계속 도축합니까?" +msgid "You see %s nearby! Start butchering anyway?" +msgstr "" #: src/game.cpp msgid "Choose corpse to butcher / item to disassemble" @@ -177054,7 +182664,7 @@ msgstr "" #: src/game.cpp src/iuse.cpp src/iuse.cpp src/iuse.cpp src/veh_interact.cpp #: src/veh_interact.cpp #, c-format -msgid "%s helps with this task..." +msgid "%s helps with this task…" msgstr "" #: src/game.cpp @@ -177114,7 +182724,7 @@ msgstr "최소한 %s이(가) 1개 있어야 %s을(를) 재장전할 수 있다!" msgid "The %s is already full!" msgstr "%s은(는) 이미 가득 차 있다!" -#: src/game.cpp +#: src/game.cpp src/ranged.cpp #, c-format msgid "You can't reload a %s!" msgstr "%s을(를) 장전할 수 없다!" @@ -177139,13 +182749,6 @@ msgstr "회수할 것이 없다." msgid "You're not wielding anything." msgstr "손에 들고 있는 것이 없다." -#. ~ %1$s: weapon name, %2$s: holster name -#: src/game.cpp src/player.cpp -#, c-format -msgctxt "holster" -msgid "Draw %1$s from %2$s?" -msgstr "" - #: src/game.cpp #, c-format msgid "There's an angry red dot on your body, %s to brush it off." @@ -177168,9 +182771,9 @@ msgstr " 또는 %s 키로 화이트리스트 추가" #: src/game.cpp #, c-format msgid "" -"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " +"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " "monster%4$s)" -msgstr "%1$s 발견--안전모드 켜짐!(%2$s로 끄기, %3$s로 무시%4$s)" +msgstr "" #: src/game.cpp #, c-format @@ -177209,8 +182812,12 @@ msgstr "정말로 %s에 발을 내딛습니까?" msgid "Your %s refuses to move over that ledge!" msgstr "" -#: src/game.cpp src/player.cpp src/player.cpp -msgid "You let go of the grabbed object." +#: src/game.cpp +msgid "You can't fit there." +msgstr "" + +#: src/game.cpp +msgid "Your mount can't fit there." msgstr "" #: src/game.cpp @@ -177367,11 +182974,15 @@ msgid "" "There are vehicle controls here but you cannot reach them whilst mounted." msgstr "" +#: src/game.cpp +msgid "You are repelled by the barrier!" +msgstr "" + #: src/game.cpp msgid "" -"You try to quantum tunnel through the barrier but are reflected! Try again " +"You try to quantum tunnel through the barrier but are reflected! Try again " "with more energy!" -msgstr "양자터널로 방어막을 통과하려 했지만 튕겨났다! 더 많은 에너지를 써서 다시 해보자." +msgstr "" #: src/game.cpp msgid "It's too dangerous to tunnel that far!" @@ -177400,6 +183011,16 @@ msgstr "무거운 %s을(를) 움직이려고 애를 썼다!" msgid "There's stuff in the way." msgstr "이동방향에 물체가 있다." +#: src/game.cpp +#, c-format +msgid "The %s is really heavy!" +msgstr "" + +#: src/game.cpp +#, c-format +msgid "You fail to move the %s." +msgstr "" + #: src/game.cpp #, c-format msgid "The %s is too heavy for you to budge." @@ -177454,8 +183075,8 @@ msgstr "%s 오르기" #: src/game.cpp #, c-format -msgid "You try to use the stairs. Suddenly you are blocked by a %s!" -msgstr "계단을 이용하려고 하였으나, 갑자기 나타난 %s에 의해서 가로막혔습니다!" +msgid "You try to use the stairs. Suddenly you are blocked by a %s!" +msgstr "" #: src/game.cpp #, c-format @@ -177551,8 +183172,8 @@ msgid "Halfway down, the way down becomes blocked off." msgstr "중간에서 내려가는 길이 막혀있다." #: src/game.cpp -msgid "There is a sheer drop halfway down. Web-descend?" -msgstr "중간에 가파른 낭떠러지가 있다. 거미줄을 타고 내려갑니까?" +msgid "There is a sheer drop halfway down. Web-descend?" +msgstr "" #: src/game.cpp msgid "" @@ -177569,8 +183190,8 @@ msgid "There is a sheer drop halfway down. Use your vines to descend?" msgstr "중간에 가파른 낭떠러지가 있다. 덩굴을 이용해서 내려갑니까?" #: src/game.cpp -msgid "Detach a vine? It'll hurt, but you'll be able to climb back up..." -msgstr "덩굴을 끊어내서 아프긴 하지만 다시 올라갈 수 있을 것이다..." +msgid "Detach a vine? It'll hurt, but you'll be able to climb back up…" +msgstr "" #: src/game.cpp msgid "You descend on your vines, though leaving a part of you behind stings." @@ -177586,12 +183207,12 @@ msgid "" msgstr "손쉽게 밑으로 내려간 건 물론이고 나중에 오갈 때 쓰려고 덩굴도 심어두었다." #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your grappling hook down?" -msgstr "중간에 가파른 낭떠러지가 있다. 갈고리를 사용해서 내려갑니까?" +msgid "There is a sheer drop halfway down. Climb your grappling hook down?" +msgstr "" #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your rope down?" -msgstr "중간에 가파른 낭떠러지가 있다. 밧줄을 사용해서 내려갑니까?" +msgid "There is a sheer drop halfway down. Climb your rope down?" +msgstr "" #: src/game.cpp msgid "There is a sheer drop halfway down. Jump?" @@ -177652,8 +183273,8 @@ msgstr "%s에게 밀쳐졌다!" #: src/game.cpp #, c-format -msgid "The %s tried to push you back but failed! It attacks you!" -msgstr "%s이(가) 당신을 밀치려고 했지만 실패했다! 공격받았다!" +msgid "The %s tried to push you back but failed! It attacks you!" +msgstr "" #: src/game.cpp #, c-format @@ -177681,32 +183302,26 @@ msgstr "%s에는 아직 세이브가 없습니다." #: src/game.cpp #, c-format msgid "" -"Whoa! Your terminal is tiny! This game requires a minimum terminal size of " -"%dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " +"Whoa! Your terminal is tiny! This game requires a minimum terminal size of" +" %dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " "help?" msgstr "" -"단말기가 너무 작습니다! 이 게임을 하려면 최소한 %dx%d 해상도가 필요합니다. %dx%d (으)로는 부족합니다. 더 작은 폰트를 쓰면" -" 좀 낫지 않을까요?" #: src/game.cpp #, c-format msgid "" -"Oh! Hey, look at that. Your terminal is just a little too narrow. This game " -"requires a minimum terminal size of %dx%d to function. It just won't work " -"with only %dx%d. Can you stretch it out sideways a bit?" +"Oh! Hey, look at that. Your terminal is just a little too narrow. This " +"game requires a minimum terminal size of %dx%d to function. It just won't " +"work with only %dx%d. Can you stretch it out sideways a bit?" msgstr "" -"단말기 가로폭이 너무 좁습니다! 이 게임을 하려면 최소한 %dx%d 해상도가 필요합니다. %dx%d (으)로는 부족합니다. 화면을 좀더 " -"넓혀줄 수 없나요?" #: src/game.cpp #, c-format msgid "" -"Woah, woah, we're just a little short on space here. The game requires a " -"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " +"Woah, woah, we're just a little short on space here. The game requires a " +"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " "make the terminal just a smidgen taller?" msgstr "" -"단말기 세로폭이 너무 좁습니다! 이 게임을 하려면 최소한 %dx%d 해상도가 필요합니다. %dx%d (으)로는 부족해요. 단말기의 " -"세로폭을 좀더 키워줄 수 있나요?" #: src/game.cpp msgid "" @@ -177789,8 +183404,8 @@ msgid "You feel thirsty." msgstr "갈증이 느껴진다." #: src/game.cpp -msgid "You feel an evil presence..." -msgstr "사악한 존재가 느껴진다..." +msgid "You feel an evil presence…" +msgstr "" #: src/game.cpp msgid "You feel a tickle of insanity." @@ -177805,8 +183420,8 @@ msgid "You feel your genetic makeup degrading." msgstr "유전자 구성이 나빠지는 것 같다." #: src/game.cpp -msgid "You feel an otherworldly attention upon you..." -msgstr "이세계에서 오는 시선이 느껴진다..." +msgid "You feel an otherworldly attention upon you…" +msgstr "" #: src/game.cpp msgid "You feel a force pulling you inwards." @@ -177850,8 +183465,8 @@ msgstr "지각력 %s%d! " #: src/game.cpp #, c-format -msgid "Speed %s%d! " -msgstr "속도 %s%d! " +msgid "Speed %s%d!" +msgstr "" #: src/game_inventory.cpp msgid "You don't have the necessary item at hand." @@ -177980,6 +183595,16 @@ msgstr "무한" msgid "SHELF LIFE" msgstr "" +#. ~ Eat menu Volume: +#: src/game_inventory.cpp +#, c-format +msgid "%.2f%s" +msgstr "" + +#: src/game_inventory.cpp +msgid "VOLUME" +msgstr "" + #: src/game_inventory.cpp msgid "FRESHNESS" msgstr "" @@ -177988,10 +183613,6 @@ msgstr "" msgid "SPOILS IN" msgstr "유통기한" -#: src/game_inventory.cpp -msgid "Battery" -msgstr "배터리" - #: src/game_inventory.cpp msgid "Reactor" msgstr "반응로" @@ -178016,10 +183637,6 @@ msgstr "쏟아진 액체는 마시지 못함" msgid "Your biology is not compatible with that item." msgstr "" -#: src/game_inventory.cpp -msgid "You're fully charged" -msgstr "완전히 충전됨" - #: src/game_inventory.cpp #, c-format msgid "No space to store more %s" @@ -178294,8 +183911,8 @@ msgstr "비교할 물건이 없다." #: src/game_inventory.cpp msgid "" -"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE to" -" cancel." +"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE " +"to cancel." msgstr "" #: src/game_inventory.cpp @@ -178325,11 +183942,6 @@ msgstr "" msgid "Available anesthetic: %i mL" msgstr "" -#: src/game_inventory.cpp -#, c-format -msgid "Money available: %s" -msgstr "" - #: src/game_inventory.cpp #, c-format msgid "Bionic removal patient: %s" @@ -178455,6 +184067,14 @@ msgstr "" msgid "CBM is filthy. Wash it first." msgstr "" +#: src/game_inventory.cpp +msgid "You should put this CBM in an autoclave pouch to keep it sterile." +msgstr "" + +#: src/game_inventory.cpp +msgid "You need at least 2L of water." +msgstr "" + #: src/game_inventory.cpp msgid "Sterilization" msgstr "" @@ -178567,8 +184187,8 @@ msgstr "%s이(가) %s에 부딪혔다." #: src/handle_action.cpp #, c-format -msgid "Press %s to accept your fate..." -msgstr "%s을(를) 눌러 당신의 운명에 순응하십시오..." +msgid "Press %s to accept your fate…" +msgstr "" #: src/handle_action.cpp msgid "No radio car connected." @@ -178580,16 +184200,16 @@ msgstr "장애물에 충돌하는 소리." #. ~ Sound of moving a remote controlled car #: src/handle_action.cpp -msgid "zzz..." -msgstr "드르륵..." +msgid "zzz…" +msgstr "" #: src/handle_action.cpp -msgid "You can't drive the vehicle from here. You need controls!" -msgstr "이 칸에서는 운전할 수 없다. 조종장치가 있어야 한다!" +msgid "You can't drive the vehicle from here. You need controls!" +msgstr "" #: src/handle_action.cpp -msgid "Can't drive this vehicle remotely. It has no working controls." -msgstr "작동하는 조종장치가 없어 원격으로 운전할 수 없다." +msgid "Can't drive this vehicle remotely. It has no working controls." +msgstr "" #: src/handle_action.cpp msgid "Open where?" @@ -178697,11 +184317,11 @@ msgid "There's nothing there to smash!" msgstr "그곳엔 부술 것이 없다!" #: src/handle_action.cpp -msgid "You already have an alarm set. What do you want to do?" +msgid "You already have an alarm set. What do you want to do?" msgstr "" #: src/handle_action.cpp -msgid "You have an alarm clock. What do you want to do?" +msgid "You have an alarm clock. What do you want to do?" msgstr "" #: src/handle_action.cpp @@ -178824,12 +184444,12 @@ msgstr "자기 전에 이것들을 꺼두는 것이 좋습니다." #: src/handle_action.cpp msgid "" -"You're engorged to hibernate. The alarm would only attract attention. Set an" -" alarm anyway?" +"You're engorged to hibernate. The alarm would only attract attention. Set " +"an alarm anyway?" msgstr "" #: src/handle_action.cpp -msgid "You have an alarm clock. Set an alarm?" +msgid "You have an alarm clock. Set an alarm?" msgstr "" #: src/handle_action.cpp @@ -178861,7 +184481,7 @@ msgstr "" #: src/handle_action.cpp msgid "" "Sorts out the loot from Loot: Unsorted zone to nearby appropriate Loot " -"zones. Uses empty space in your inventory or utilizes a cart, if you are " +"zones. Uses empty space in your inventory or utilizes a cart, if you are " "holding one." msgstr "" @@ -178870,7 +184490,7 @@ msgid "Till farm plots" msgstr "" #: src/handle_action.cpp -msgid "Till farm plots... you need a tool to dig with" +msgid "Till farm plots… you need a tool to dig with" msgstr "" #: src/handle_action.cpp @@ -178878,7 +184498,7 @@ msgid "Tills nearby Farm: Plot zones." msgstr "" #: src/handle_action.cpp -msgid "Plant seeds... it is too cold for planting" +msgid "Plant seeds… it is too cold for planting" msgstr "" #: src/handle_action.cpp @@ -178886,12 +184506,12 @@ msgid "Plant seeds" msgstr "" #: src/handle_action.cpp -msgid "Plant seeds... you don't have any" -msgstr "씨를 심어야... 있는게 없다" +msgid "Plant seeds… you don't have any" +msgstr "" #: src/handle_action.cpp msgid "" -"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " +"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " "specific plant seed and you must have seeds in your inventory." msgstr "" @@ -178900,7 +184520,7 @@ msgid "Fertilize plots" msgstr "" #: src/handle_action.cpp -msgid "Fertilize plots... you don't have any fertilizer" +msgid "Fertilize plots… you don't have any fertilizer" msgstr "" #: src/handle_action.cpp @@ -179192,6 +184812,10 @@ msgstr "새 지정은 '^'입니다." msgid "You can't operate a vehicle while you're in your shell." msgstr "" +#: src/handle_action.cpp +msgid "You refuse to take control of this vehicle." +msgstr "" + #: src/handle_action.cpp msgid "Auto travel mode OFF!" msgstr "" @@ -179205,8 +184829,8 @@ msgid "Safe mode OFF!" msgstr "안전모드 꺼짐!" #: src/handle_action.cpp -msgid "Safe mode OFF! (Auto safe mode still enabled!)" -msgstr "안전모드 꺼짐! (자동 안전모드 작동중!)" +msgid "Safe mode OFF! (Auto safe mode still enabled!)" +msgstr "" #: src/handle_action.cpp msgid "Auto safe mode OFF!" @@ -179428,7 +185052,7 @@ msgstr "" #: src/iexamine.cpp #, c-format msgid "" -"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" +"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" "Your current balance is: %s" msgstr "" @@ -179479,8 +185103,9 @@ msgid "Your account now holds %s." msgstr "" #: src/iexamine.cpp -msgid "This will automatically deduct $1.00 from your bank account. Continue?" -msgstr "자동적으로 당신의 은행 계좌에서 1$를 공제할 것입니다. 계속 하시겠습니까?" +msgid "" +"This will automatically deduct $1.00 from your bank account. Continue?" +msgstr "" #: src/iexamine.cpp msgid "You can only deposit money from charged cash cards!" @@ -179488,9 +185113,9 @@ msgstr "잔액이 있는 현금 카드로만 입금이 가능합니다!" #: src/iexamine.cpp #, c-format -msgid "Deposit how much? Max: %d cent. (0 to cancel) " -msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " -msgstr[0] "얼마를 예금합니까? 최대: %d 센트. (0로 취소)" +msgid "Deposit how much? Max: %d cent. (0 to cancel) " +msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " +msgstr[0] "" #: src/iexamine.cpp msgid "You do not have a cash card to withdraw money!" @@ -179498,9 +185123,9 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "Withdraw how much? Max: %d cent. (0 to cancel) " -msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " -msgstr[0] "얼마를 인출합니까? 최대: %d 센트. (0로 취소)" +msgid "Withdraw how much? Max: %d cent. (0 to cancel) " +msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " +msgstr[0] "" #: src/iexamine.cpp msgid "The vending machine is empty!" @@ -179594,8 +185219,8 @@ msgid "No one responds." msgstr "" #: src/iexamine.cpp -msgid "If only you had a shovel..." -msgstr "삽이라도 있었다면..." +msgid "If only you had a shovel…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -179695,16 +185320,16 @@ msgid "Insert $10?" msgstr "10 달러를 넣습니까?" #: src/iexamine.cpp -msgid "Three cherries... you get your money back!" -msgstr "체리 3개... 돈을 다시 돌려받았습니다!" +msgid "Three cherries… you get your money back!" +msgstr "" #: src/iexamine.cpp -msgid "Three bells... you win $50!" -msgstr "종 3개... 50 달러를 얻었습니다!" +msgid "Three bells… you win $50!" +msgstr "" #: src/iexamine.cpp -msgid "Three stars... you win $200!" -msgstr "별 3개... 200 달러를 얻었습니다!" +msgid "Three stars… you win $200!" +msgstr "" #: src/iexamine.cpp msgid "JACKPOT! You win $3000!" @@ -179719,8 +185344,8 @@ msgid "Play again?" msgstr "다시 플레이 합니까?" #: src/iexamine.cpp -msgid "You mess with the dial for a little bit... and it opens!" -msgstr "다이얼을 약간 돌렸더니... 열렸다!" +msgid "You mess with the dial for a little bit… and it opens!" +msgstr "" #: src/iexamine.cpp msgid "You mess with the dial for a little bit." @@ -179759,13 +185384,24 @@ msgid "The gun safe stumps your efforts to pick it." msgstr "총기 금고를 여느라 쩔쩔맸다." #: src/iexamine.cpp -msgid "If only you had something to pry with..." +#, c-format +msgid "The %s is locked. If only you had something to pry it with…" msgstr "" #. ~ %1$s: terrain/furniture name, %2$s: prying tool name #: src/iexamine.cpp #, c-format -msgid "You attempt to pry open the %1$s using your %2$s..." +msgid "You attempt to pry open the %1$s using your %2$s…" +msgstr "" + +#: src/iexamine.cpp +#, c-format +msgid "The %s is locked. If only you had something to pick its lock with…" +msgstr "" + +#: src/iexamine.cpp +#, c-format +msgid "You attempt to pick lock of %1$s using your %2$s…" msgstr "" #: src/iexamine.cpp @@ -179783,11 +185419,11 @@ msgstr "" "팔다리가 비정상적으로 길고 뒤틀려 있습니다." #: src/iexamine.cpp -msgid "The pedestal sinks into the ground..." -msgstr "받침대가 땅속으로 가라앉았다..." +msgid "The pedestal sinks into the ground…" +msgstr "" #: src/iexamine.cpp -msgid "an ominous grinding noise..." +msgid "an ominous grinding noise…" msgstr "" #: src/iexamine.cpp @@ -179834,12 +185470,12 @@ msgid "You hear the rumble of rock shifting." msgstr "돌이 움직이는 소리가 들립니다." #: src/iexamine.cpp -msgid "This flower is dead. You can't get it." -msgstr "이 꽃은 시들어서 딸 수 없다." +msgid "This flower is dead. You can't get it." +msgstr "" #: src/iexamine.cpp -msgid "This plant is dead. You can't get it." -msgstr "이 식물은 죽어서 수확할 수 없다." +msgid "This plant is dead. You can't get it." +msgstr "" #: src/iexamine.cpp msgid "You drink some nectar." @@ -179874,8 +185510,8 @@ msgid "This flower has a heady aroma." msgstr "이 꽃에선 황홀한 향기가 난다." #: src/iexamine.cpp -msgid "You fall asleep..." -msgstr "잠이 들었습니다..." +msgid "You fall asleep…" +msgstr "" #: src/iexamine.cpp msgid "Your legs are covered in the poppy's roots!" @@ -179887,7 +185523,7 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" +msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" msgstr "" #: src/iexamine.cpp @@ -179903,8 +185539,8 @@ msgid "Nothing can be harvested from this plant in current season" msgstr "이 계절에는 식물에서 수확할 수 있는 것이 없다." #: src/iexamine.cpp -msgid "This flower is still alive, despite the harsh conditions..." -msgstr "혹독한 환경임에도 불구하고, 이 꽃은 아직 살아있다." +msgid "This flower is still alive, despite the harsh conditions…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -179912,8 +185548,8 @@ msgid "You feel out of place as you explore the %s. Drink?" msgstr "%s 을(를) 조사하다 보니 얼떨떨하고 갑자기 세상이 낯설게 느껴진다. 마십니까?" #: src/iexamine.cpp -msgid "This flower tastes very wrong..." -msgstr "꽃 맛이 굉장히 이상하다..." +msgid "This flower tastes very wrong…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -179954,8 +185590,8 @@ msgid "You have no seeds to plant." msgstr "심을 수 있는 씨앗이 없습니다." #: src/iexamine.cpp -msgid "Something's lying there..." -msgstr "그곳에 무언가 놓여있습니다..." +msgid "Something's lying there…" +msgstr "" #: src/iexamine.cpp src/mission_companion.cpp msgid "You saved your seeds for later." @@ -179972,7 +185608,7 @@ msgid "The seed blooms forth! We have brought true beauty to this world." msgstr "" #: src/iexamine.cpp -msgid "The seed blossoms rather rapidly..." +msgid "The seed blossoms rather rapidly…" msgstr "" #: src/iexamine.cpp @@ -180031,8 +185667,8 @@ msgid "This kiln contains %s, which can't be made into charcoal!" msgstr "이 가마에는 숯으로 만들 수 없는 %s이(가) 담겨있다!" #: src/iexamine.cpp -msgid "This kiln is empty. Fill it with wood or bone and try again." -msgstr "이 가마는 비어있다. 나무나 뼈를 넣고 다시 시도하자." +msgid "This kiln is empty. Fill it with wood or bone and try again." +msgstr "" #: src/iexamine.cpp msgid "The batch in this kiln is too small to yield any charcoal." @@ -180056,8 +185692,8 @@ msgid "You fire the charcoal kiln." msgstr "목탄 가마에 불을 지폈다." #: src/iexamine.cpp -msgid "This kiln is empty..." -msgstr "이 가마는 비어있다..." +msgid "This kiln is empty…" +msgstr "" #: src/iexamine.cpp msgid "There's a charcoal kiln there." @@ -180098,7 +185734,7 @@ msgstr "" #: src/iexamine.cpp msgid "" -"This furance is empty. Fill it with powdered coke and lime mix, and try " +"This furance is empty. Fill it with powdered coke and lime mix, and try " "again." msgstr "" @@ -180127,7 +185763,7 @@ msgid "You turn on the furnace." msgstr "" #: src/iexamine.cpp -msgid "This furnace is empty..." +msgid "This furnace is empty…" msgstr "" #: src/iexamine.cpp @@ -180140,7 +185776,7 @@ msgid "It has finished burning, yielding %d calcium carbide." msgstr "" #: src/iexamine.cpp -msgid "This autoclave is empty..." +msgid "This autoclave is empty…" msgstr "" #: src/iexamine.cpp @@ -180199,7 +185835,7 @@ msgid "Start a fire" msgstr "" #: src/iexamine.cpp -msgid "Start a fire... you'll need a fire source." +msgid "Start a fire… you'll need a fire source." msgstr "" #: src/iexamine.cpp @@ -180221,13 +185857,17 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "You attempt to start a fire with your %s..." +msgid "You attempt to start a fire with your %s…" msgstr "" #: src/iexamine.cpp msgid "You weren't able to start a fire." msgstr "" +#: src/iexamine.cpp +msgid "You can't light a fire there." +msgstr "여기에는 불을 피울 수 없습니다." + #: src/iexamine.cpp #, c-format msgid "Really take down the %s while it's on fire?" @@ -180399,13 +186039,13 @@ msgid "The %s is full." msgstr "%s은(는) 가득 찼다." #: src/iexamine.cpp -msgid "You have no tool to dig with..." -msgstr "땅을 팔만한 도구가 없다..." +msgid "You have no tool to dig with…" +msgstr "" #: src/iexamine.cpp #, c-format -msgid "Dig up %s? This kills the tree!" -msgstr "%s을(를) 파냅니까? 그러면 나무가 죽을 것 입니다!" +msgid "Dig up %s? This kills the tree!" +msgstr "" #: src/iexamine.cpp msgid "Which container?" @@ -180426,8 +186066,8 @@ msgid "You need a %s to tap this maple tree." msgstr "단풍나무에 삽관하려면 %s이(가) 필요하다." #: src/iexamine.cpp -msgid "No container added. The sap will just spill on the ground." -msgstr "부착된 용기 없음. 이대로면 수액이 지면으로 흐를 것이다." +msgid "No container added. The sap will just spill on the ground." +msgstr "" #: src/iexamine.cpp msgid "Remove tap" @@ -180560,13 +186200,13 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "That %s looks too dangerous to mess with. Best leave it alone." -msgstr "저 %s은(는) 만지기에는 너무 위험해 보인다. 가만히 두는 것이 좋다." +msgid "That %s looks too dangerous to mess with. Best leave it alone." +msgstr "" #: src/iexamine.cpp #, c-format -msgid "There is a %s there. Take down?" -msgstr "%s이(가) 있습니다. 치웁니까?" +msgid "There is a %s there. Take down?" +msgstr "" #: src/iexamine.cpp #, c-format @@ -180674,12 +186314,12 @@ msgid "You're illiterate, and can't read the screen." msgstr "글을 몰라서 화면을 읽을 수가 없다." #: src/iexamine.cpp -msgid "Failure! No gas pumps found!" -msgstr "실패! 연료 펌프가 없음!" +msgid "Failure! No gas pumps found!" +msgstr "" #: src/iexamine.cpp -msgid "Failure! No gas tank found!" -msgstr "실패! 연료 탱크가 없음!" +msgid "Failure! No gas tank found!" +msgstr "" #: src/iexamine.cpp msgid "This station is out of fuel. We apologize for the inconvenience." @@ -180735,8 +186375,8 @@ msgstr "현금 부족, 현금 카드를 충전해 주세요." #: src/iexamine.cpp #, c-format -msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel) " -msgstr "가솔린을 몇 리터나 구입합니까? 최대: %d 리터. (0로 취소) " +msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel)" +msgstr "" #: src/iexamine.cpp msgid "Glug Glug Glug" @@ -180802,27 +186442,27 @@ msgstr "여기선 아래로 내려갈 수 없다" #: src/iexamine.cpp #, c-format -msgid "Looks like %d story. Jump down?" -msgid_plural "Looks like %d stories. Jump down?" -msgstr[0] "%d 층 높이 같습니다. 뛰어내립니까?" +msgid "Looks like %d story. Jump down?" +msgid_plural "Looks like %d stories. Jump down?" +msgstr[0] "" #: src/iexamine.cpp -msgid "You probably won't be able to get up and jumping down may hurt. Jump?" -msgstr "내려가면 다시 올라올 수 없을 것 같고, 뛰어 내리면 다칠 수도 있습니다. 뛰어 내립니까?" +msgid "You probably won't be able to get up and jumping down may hurt. Jump?" +msgstr "" #: src/iexamine.cpp -msgid "You probably won't be able to get back up. Climb down?" -msgstr "내려가면 다시 올라올 수 없을것 같습니다. 내려갑니까?" +msgid "You probably won't be able to get back up. Climb down?" +msgstr "" #: src/iexamine.cpp msgid "" -"You should be able to climb back up easily if you climb down there. Climb " +"You should be able to climb back up easily if you climb down there. Climb " "down?" -msgstr "내려가면 쉽게 올라올 수 있을것 같습니다. 내려갑니까?" +msgstr "" #: src/iexamine.cpp -msgid "You may have problems climbing back up. Climb down?" -msgstr "내려가면 올라오기 어려울것 같습니다. 내려갑니까?" +msgid "You may have problems climbing back up. Climb down?" +msgstr "" #: src/iexamine.cpp msgid "You decided to step back from the ledge." @@ -180853,8 +186493,8 @@ msgstr "" #: src/iexamine.cpp msgid "" -"ERROR Bionic Level Assessement : FULL CYBORG. Autodoc Mk. XI can't " -"opperate. Please move patient to appropriate facility. Exiting." +"ERROR Bionic Level Assessement: FULL CYBORG. Autodoc Mk. XI can't opperate." +" Please move patient to appropriate facility. Exiting." msgstr "" #: src/iexamine.cpp @@ -181125,8 +186765,7 @@ msgid "Inspect mill" msgstr "" #: src/iexamine.cpp -msgid "" -"Remove brake and start milling... insert some products for milling first" +msgid "Remove brake and start milling… insert some products for milling first" msgstr "" #: src/iexamine.cpp @@ -181138,12 +186777,12 @@ msgid "Remove brake and start milling, milling will take about 6 hours." msgstr "" #: src/iexamine.cpp -msgid "Insert products for milling... mill is full" +msgid "Insert products for milling… mill is full" msgstr "" #: src/iexamine.cpp #, c-format -msgid "Insert products for milling... remaining capacity is %s %s" +msgid "Insert products for milling… remaining capacity is %s %s" msgstr "" #: src/iexamine.cpp @@ -181190,7 +186829,7 @@ msgid "You inspect its contents and find: " msgstr "" #: src/iexamine.cpp -msgid "... that it is empty." +msgid "…that it is empty." msgstr "" #: src/iexamine.cpp @@ -181219,12 +186858,12 @@ msgid "Inspect smoking rack" msgstr "" #: src/iexamine.cpp -msgid "Light up and smoke food... insert some food for smoking first" +msgid "Light up and smoke food… insert some food for smoking first" msgstr "" #: src/iexamine.cpp #, c-format -msgid "Light up and smoke food... need extra %d charges of charcoal" +msgid "Light up and smoke food… need extra %d charges of charcoal" msgstr "" #: src/iexamine.cpp @@ -181233,17 +186872,17 @@ msgstr "" #: src/iexamine.cpp msgid "" -"Light up the smoking rack and start smoking. Smoking will take about 6 " +"Light up the smoking rack and start smoking. Smoking will take about 6 " "hours." msgstr "" #: src/iexamine.cpp -msgid "Insert food for smoking... smoking rack is full" +msgid "Insert food for smoking… smoking rack is full" msgstr "" #: src/iexamine.cpp #, c-format -msgid "Insert food for smoking... remaining capacity is %s %s" +msgid "Insert food for smoking… remaining capacity is %s %s" msgstr "" #: src/iexamine.cpp @@ -181265,7 +186904,7 @@ msgid "Remove food from smoking rack" msgstr "" #: src/iexamine.cpp -msgid "Reload with charcoal... you don't have any" +msgid "Reload with charcoal… you don't have any" msgstr "" #: src/iexamine.cpp @@ -181275,7 +186914,7 @@ msgstr "" #: src/iexamine.cpp #, c-format msgid "" -"You need %d charges of charcoal for %s %s of food. Minimal amount of " +"You need %d charges of charcoal for %s %s of food. Minimal amount of " "charcoal is %d charges." msgstr "" @@ -181334,7 +186973,7 @@ msgid "You stop the smoking process." msgstr "" #: src/iexamine.cpp -msgid "You open the unlocked safe. " +msgid "You open the unlocked safe." msgstr "" #: src/iexamine.cpp @@ -181434,6 +187073,10 @@ msgstr "오버맵 연결" msgid "Overmap specials" msgstr "오버맵 특수 지역" +#: src/init.cpp +msgid "Overmap locations" +msgstr "오버맵 장소" + #: src/init.cpp msgid "Vehicle prototypes" msgstr "차량 견본" @@ -181542,10 +187185,6 @@ msgstr "변이" msgid "Mutation Categories" msgstr "변이 분류" -#: src/init.cpp -msgid "Overmap locations" -msgstr "오버맵 장소" - #: src/init.cpp msgid "Map extras" msgstr "" @@ -181909,14 +187548,6 @@ msgstr "" msgid "Page %d/%d" msgstr "페이지 %d/%d" -#: src/inventory_ui.cpp -msgid "ITEMS WORN" -msgstr "장비 물품" - -#: src/inventory_ui.cpp -msgid "WEAPON HELD" -msgstr "장비 무기" - #: src/inventory_ui.cpp #, c-format msgid "Weight (%s):" @@ -182159,7 +187790,7 @@ msgstr "재질: %s" #: src/item.cpp #, c-format msgid "Owner: %s" -msgstr "" +msgstr "소유주: %s" #: src/item.cpp #, c-format @@ -182349,9 +187980,9 @@ msgstr "이 음식은 부패하기 시작했지만, 소 #: src/item.cpp msgid "" -"This food has started to rot. Eating it would be a " +"This food has started to rot. Eating it would be a " "very bad idea." -msgstr "이 음식은부패하기 시작했다. 이 음식을 먹는 것은 좋은 생각이 아닌 것 같다." +msgstr "" #: src/item.cpp #, c-format @@ -182421,11 +188052,6 @@ msgstr "" msgid "This ammo starts fires." msgstr "" -#: src/item.cpp -#, c-format -msgid "Stats of the active gunmod (%s) are shown." -msgstr "활성된 개조부품 (%s)의 수치 표시중." - #: src/item.cpp msgid "Skill used: " msgstr "사용 기술: " @@ -182564,8 +188190,9 @@ msgid "Used on: " msgstr "사용 대상: " #: src/item.cpp -msgid "Location: " -msgstr "장착 위치: " +#, c-format +msgid "Location: %s" +msgstr "" #: src/item.cpp msgid "Incompatible with mod location: " @@ -183076,42 +188703,45 @@ msgid "" msgstr "" #: src/item.cpp -msgid "* This clothing can be upsized." +msgid "can be upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be downsized." +msgid "can be downsized" msgstr "" #: src/item.cpp -msgid "* This clothing can not be downsized." +msgid "can not be downsized" msgstr "" #: src/item.cpp -msgid "* This clothing can not be upsized." +msgid "can not be upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be refitted and upsized." +#, c-format +msgid "* This clothing %s." msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted and downsized." +msgid " and upsized" msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not downsized." +msgid " and downsized" msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not upsized." +msgid " but not downsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be refitted." +msgid " but not upsized" +msgstr "" + +#: src/item.cpp +#, c-format +msgid "* This clothing can be refitted%s." msgstr "" #: src/item.cpp @@ -183199,6 +188829,15 @@ msgstr "* 이 물품을 라디오 신호로 작동시키면 즉시 msgid "This bionic is installed in the following body part(s):" msgstr "이 바이오닉은 다음 신체 부분에 설치됨:" +#: src/item.cpp +msgid "* This bionic can produce power from the following fuel: " +msgid_plural "* This bionic can produce power from the following fuels: " +msgstr[0] "" + +#: src/item.cpp +msgid "Power Capacity:" +msgstr "" + #: src/item.cpp msgid "Encumbrance: " msgstr "" @@ -183271,16 +188910,19 @@ msgstr "작업이 완료되었고, 이제 사용할 수 있다." msgid "It will be done in %s." msgstr "작업 완료까지 %s." -#. ~ %1$s: gerund (e.g. carved), %2$s: item name -#: src/item.cpp src/iuse_actor.cpp +#. ~ %1$s: gerund (e.g. carved), %2$s: item name, %3$s: inscription text +#: src/item.cpp #, c-format msgctxt "carving" -msgid "%1$s on the %2$s is: " -msgstr "%2$s의 %1$s: " +msgid "%1$s on the %2$s is: %3$s" +msgstr "" -#: src/item.cpp src/options.cpp -msgid "Note: " -msgstr "노트: " +#. ~ %1$s: inscription text +#: src/item.cpp +#, c-format +msgctxt "carving" +msgid "Note: %1$s" +msgstr "" #: src/item.cpp msgid "Integrated mod: " @@ -183314,6 +188956,11 @@ msgstr "제작 가능한 물품이 다양하다." msgid "You could use it to craft: %s" msgstr "제작 가능한 물품: %s" +#: src/item.cpp +#, c-format +msgid "Stats of the active gunmod (%s) are shown." +msgstr "활성된 개조부품 (%s)의 수치 표시중." + #: src/item.cpp #, c-format msgid "It takes you an extremely long time to wield your %s." @@ -183959,8 +189606,8 @@ msgid "You're already smoking a %s!" msgstr "이미 %s(을)를 피우고 있다!" #: src/iuse.cpp -msgid "Are you sure you want to drink... this?" -msgstr "정말로 이걸... 마시겠습니까?" +msgid "Are you sure you want to drink… this?" +msgstr "" #: src/iuse.cpp #, c-format @@ -183989,8 +189636,8 @@ msgid "You light a %s." msgstr "%s에 불을 붙였다." #: src/iuse.cpp -msgid "Ugh, too much smoke... you feel nasty." -msgstr "으윽, 연기가 너무 많아서... 기분이 좋지 않다." +msgid "Ugh, too much smoke… you feel nasty." +msgstr "" #: src/iuse.cpp msgid "You take a puff from your electronic cigarette." @@ -184005,8 +189652,8 @@ msgid "You don't have any nicotine liquid!" msgstr "액상 니코틴을 가지고 있지 않다!" #: src/iuse.cpp -msgid "Ugh, too much nicotine... you feel nasty." -msgstr "웩, 니코틴을 너무 많이 흡입해서... 기분이 좋지 않다." +msgid "Ugh, too much nicotine… you feel nasty." +msgstr "" #: src/iuse.cpp msgid "You take some antibiotics." @@ -184111,7 +189758,7 @@ msgstr "떠는걸 멈췄다." #: src/iuse.cpp msgid "" "You start scarfing down the delicious cake. It tastes a little funny " -"though..." +"though…" msgstr "" #: src/iuse.cpp @@ -184143,8 +189790,8 @@ msgid "You no longer need to fear the flu, at least for some time." msgstr "" #: src/iuse.cpp -msgid "Are you sure you want to eat this? It looks poisonous..." -msgstr "정말로 먹습니까? 독성이 있는것 같다..." +msgid "Are you sure you want to eat this? It looks poisonous…" +msgstr "" #: src/iuse.cpp #, c-format @@ -184164,8 +189811,8 @@ msgid "You suddenly feel hollow inside." msgstr "갑자기 몸 속에서 텅 빈 느낌이 든다." #: src/iuse.cpp -msgid "You feel very sleepy..." -msgstr "많이 졸리다..." +msgid "You feel very sleepy…" +msgstr "" #: src/iuse.cpp msgid "You eat the datura seed." @@ -184257,7 +189904,7 @@ msgstr "정화제를 주입했다. 주사기의 액체가 박동하듯 출렁이 #, c-format msgid "" "As you eat the %s, you have a near-religious experience, feeling at one with" -" your surroundings..." +" your surroundings…" msgstr "" #: src/iuse.cpp @@ -184283,7 +189930,7 @@ msgstr "한 입 베어물자 마자, 구토를 했다!" #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into an excruciating burn" -" as you convulse, vomiting, and black out..." +" as you convulse, vomiting, and black out…" msgstr "" #: src/iuse.cpp @@ -184299,7 +189946,7 @@ msgstr "말로스 거부반응." #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into painful burning as " -"you convulse and collapse to the ground..." +"you convulse and collapse to the ground…" msgstr "" #: src/iuse.cpp src/monattack.cpp @@ -184312,12 +189959,12 @@ msgstr "포근하게 안아올려진 채 깨어났다. 날 위해 자라난 말 #: src/iuse.cpp msgid "" "unity. together we have reached the door. we provide the final key. now " -"to pass through..." +"to pass through…" msgstr "" #: src/iuse.cpp -msgid "You feel a strange warmth spreading throughout your body..." -msgstr "이상한 온기가 몸에 퍼지는 것이 느껴진다..." +msgid "You feel a strange warmth spreading throughout your body…" +msgstr "" #. ~ "Uh-uh" is a sound used for "nope", "no", etc. #: src/iuse.cpp @@ -184332,8 +189979,8 @@ msgstr "" #: src/iuse.cpp #, c-format -msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." -msgstr "정말로 %s을(를) 드시겠습니까? 흙더미에 심어서 기를 수도 있습니다." +msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." +msgstr "" #: src/iuse.cpp msgid "It tastes amazing, and you finish it quickly." @@ -184342,14 +189989,14 @@ msgstr "" #: src/iuse.cpp msgid "" "As it settles in, you feel ecstasy radiating through every part of your " -"body..." +"body…" msgstr "" #: src/iuse.cpp msgid "" "Your eyes roll back in your head. Everything dissolves into a blissful " -"haze..." -msgstr "눈이 뒤집어진다. 모든 것이 기분 좋은 안개 속으로 녹아간다..." +"haze…" +msgstr "" #. ~ The Mycus does not use the term (or encourage the concept of) "you". The #. PC is a local/native organism, but is now the Mycus. @@ -184357,13 +190004,13 @@ msgstr "눈이 뒤집어진다. 모든 것이 기분 좋은 안개 속으로 녹 #. bent symbiotes should not need it. #. ~ We are the Mycus. #: src/iuse.cpp -msgid "We welcome into us. We have endured long in this forbidding world." +msgid "We welcome into us. We have endured long in this forbidding world." msgstr "" #: src/iuse.cpp msgid "" -"A sea of white caps, waving gently. A haze of spores wafting silently over a" -" forest." +"A sea of white caps, waving gently. A haze of spores wafting silently over " +"a forest." msgstr "" #: src/iuse.cpp @@ -184372,20 +190019,20 @@ msgstr "" #: src/iuse.cpp msgid "" -"The blazing pink redness of the berry. The juices spreading across your " +"The blazing pink redness of the berry. The juices spreading across your " "tongue, the warmth draping over us like a lover's embrace." msgstr "" #: src/iuse.cpp msgid "" "We welcome the union of our lines in our local guide. We will prosper, and " -"unite this world. Even now, our fruits adapt to better serve local " +"unite this world. Even now, our fruits adapt to better serve local " "physiology." msgstr "" #: src/iuse.cpp msgid "" -"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " +"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " "berry, a memory that will never leave us." msgstr "" @@ -184397,12 +190044,12 @@ msgstr "" #: src/iuse.cpp msgid "" -"The amber-yellow of the sap. Feel it flowing through our veins, taking the " +"The amber-yellow of the sap. Feel it flowing through our veins, taking the " "place of the strange, thin red gruel called \"blood.\"" msgstr "" #: src/iuse.cpp -msgid "This tastes really weird! You're not sure it's good for you..." +msgid "This tastes really weird! You're not sure it's good for you…" msgstr "" #: src/iuse.cpp @@ -184482,8 +190129,8 @@ msgid "You do not have that item!" msgstr "그 물품을 갖고 있지 않다!" #: src/iuse.cpp -msgid "Which signal should activate the item?:" -msgstr "어떤 신호에 작동되도록 합니까?:" +msgid "Which signal should activate the item?" +msgstr "" #: src/iuse.cpp msgid "\"Blue\"" @@ -184524,8 +190171,8 @@ msgid "You can't fish there!" msgstr "그곳에서는 물고기를 낚을 수 없다!" #: src/iuse.cpp -msgid "You cast your line and wait to hook something..." -msgstr "낚싯줄을 물속에 던져넣고 낚싯바늘에 뭔가가 걸리기를 기다린다..." +msgid "You cast your line and wait to hook something…" +msgstr "" #: src/iuse.cpp msgid "Fish are not foolish enough to go in here without bait." @@ -184725,16 +190372,6 @@ msgstr "삐삐삐이이이삐이이이익!" msgid "The infernal racket dies as the noise emitter turns off." msgstr "소음 발생기를 끄자 지옥 같은 소음이 멈췄다." -#: src/iuse.cpp -#, c-format -msgid "You learn the essential elements of %s." -msgstr "" - -#: src/iuse.cpp -#, c-format -msgid "%s to select martial arts style." -msgstr "" - #: src/iuse.cpp msgid "You pry out the fence post." msgstr "울타리 기둥에 지레질을 해서 뽑아냈다." @@ -185155,18 +190792,27 @@ msgid "Scan the ground" msgstr "지면 스캔하기" #: src/iuse.cpp -msgid "Scan yourself" -msgstr "자신을 스캔하기" +msgid "Scan yourself or other person" +msgstr "" #: src/iuse.cpp msgid "Turn continuous scan on" msgstr "지속 스캔 작동" +#: src/iuse.cpp +msgid "Scan whom?" +msgstr "" + #: src/iuse.cpp #, c-format msgid "Your radiation level: %d mSv (%d mSv from items)" msgstr "" +#: src/iuse.cpp +#, c-format +msgid "%s's radiation level: %d mSv (%d mSv from items)" +msgstr "" + #: src/iuse.cpp #, c-format msgid "The ground's radiation level: %d mSv/h" @@ -185234,6 +190880,10 @@ msgstr "째깍!" msgid "You've already released the handle, try throwing it instead." msgstr "이미 손잡이를 놓았다. 던져야 한다." +#: src/iuse.cpp src/iuse_actor.cpp +msgid "You need a source of fire!" +msgstr "불씨가 필요하다!" + #: src/iuse.cpp msgid "You light the arrow!" msgstr "화살에 불을 붙였다!" @@ -185246,6 +190896,10 @@ msgstr "화염병의 불이 꺼졌다." msgid "You light the pack of firecrackers." msgstr "폭죽 다발에 불을 붙였다." +#: src/iuse.cpp +msgid "ssss…" +msgstr "" + #: src/iuse.cpp msgid "You light the firecracker." msgstr "폭죽에 불을 붙였다." @@ -185260,23 +190914,23 @@ msgid "You set the timer to %s." msgstr "" #: src/iuse.cpp -msgid "You squeeze the pheromone ball..." -msgstr "페로몬 볼을 쥐어짰다..." +msgid "You squeeze the pheromone ball…" +msgstr "" #: src/iuse.cpp -msgid " squeezes the pheromone ball..." -msgstr "이(가) 페로몬 볼을 쥐어짰다..." +msgid " squeezes the pheromone ball…" +msgstr "" #: src/iuse.cpp -msgid "...but nothing happens." -msgstr "...하지만 아무 일도 일어나지 않았다." +msgid "…but nothing happens." +msgstr "" #: src/iuse.cpp -msgid "...and a nearby zombie becomes passive!" +msgid "…and a nearby zombie becomes passive!" msgstr "" #: src/iuse.cpp -msgid "...and several nearby zombies become passive!" +msgid "…and several nearby zombies become passive!" msgstr "" #: src/iuse.cpp @@ -185545,7 +191199,7 @@ msgid "You need a rechargeable battery cell to charge." msgstr "" #: src/iuse.cpp -msgid "You cannot do... that while mounted." +msgid "You cannot do… that while mounted." msgstr "" #: src/iuse.cpp @@ -185567,8 +191221,8 @@ msgid "You whip out your %s and start getting the tension out." msgstr "" #: src/iuse.cpp -msgid "Air swirls all over..." -msgstr "바람이 주위에서 휘몰아친다..." +msgid "Air swirls all over…" +msgstr "" #: src/iuse.cpp msgid "Air swirls around you for a moment." @@ -185604,26 +191258,26 @@ msgstr "%s의 피를 뽑습니까?" #: src/iuse.cpp #, c-format -msgid "You drew blood from the %s..." -msgstr "%s의 피를 뽑았다..." +msgid "You drew blood from the %s…" +msgstr "" #: src/iuse.cpp msgid "Draw your own blood?" msgstr "자신의 피를 뽑습니까?" #: src/iuse.cpp -msgid "You drew your own blood..." -msgstr "자신의 피를 뽑았다..." +msgid "You drew your own blood…" +msgstr "" #: src/iuse.cpp #, c-format -msgid "...but acidic blood melts the %s, destroying it!" -msgstr "...산성 혈액이 %s을(를) 녹여서 파괴되었다!" +msgid "…but acidic blood melts the %s, destroying it!" +msgstr "" #: src/iuse.cpp #, c-format -msgid "...but acidic blood damages the %s!" -msgstr "...산성 혈액이 %s을(를) 손상시켰다!" +msgid "…but acidic blood damages the %s!" +msgstr "" #: src/iuse.cpp #, c-format @@ -185721,18 +191375,10 @@ msgstr "" msgid "You mop up the spill." msgstr "바닥에 흘려진 액체를 닦았다." -#: src/iuse.cpp -msgid "Ka-BOOM!" -msgstr "콰-앙!" - #: src/iuse.cpp msgid "The fabric of space seems to decay." msgstr "공간의 막이 부패하는 것 같아보입니다." -#: src/iuse.cpp -msgid "The earth shakes!" -msgstr "땅이 흔들린다!" - #: src/iuse.cpp #, c-format msgid "The %s glows brightly!" @@ -185762,8 +191408,8 @@ msgid "Spray what?" msgstr "무엇을 뿌리겠습니까?" #: src/iuse.cpp -msgid "(To delete, input one '.')" -msgstr "(삭제하려면 '.' 키를 누르세요.)" +msgid "(To delete, clear the text and confirm)" +msgstr "" #: src/iuse.cpp msgid "You blur the inscription on the grave." @@ -185773,10 +191419,6 @@ msgstr "" msgid "You manage to get rid of the message on the ground." msgstr "" -#: src/iuse.cpp -msgid "There isn't anything to erase here." -msgstr "거기엔 지울만한 게 없다." - #: src/iuse.cpp msgid "You carve an inscription on the grave." msgstr "" @@ -185794,13 +191436,9 @@ msgid "You don't have appropriate food to heat up." msgstr "데울 음식이 없다." #: src/iuse.cpp -msgid "You defrost the food, but don't heat it up, since you enjoy it cold." +msgid "You start heating up the food." msgstr "" -#: src/iuse.cpp -msgid "You defrost and heat up the food." -msgstr "음식을 해동하고 데웠다." - #: src/iuse.cpp msgid "There is no fire around, use your integrated toolset instead?" msgstr "" @@ -185993,12 +191631,12 @@ msgstr "%s을(를) 재조정 했다." #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s! ( %s-> %s)" +msgid "You repair your %s! ( %s-> %s)" msgstr "" #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s completely! ( %s-> %s)" +msgid "You repair your %s completely! ( %s-> %s)" msgstr "" #: src/iuse.cpp @@ -186031,12 +191669,12 @@ msgid "You reinforce your %s." msgstr "%s을(를) 강화했다." #: src/iuse.cpp -msgid "Clank! Clank!" -msgstr "철컥! 철컥!" +msgid "Clank! Clank!" +msgstr "" #: src/iuse.cpp -msgid "Ring! Ring!" -msgstr "우웅! 우웅!" +msgid "Ring! Ring!" +msgstr "" #: src/iuse.cpp msgid "You cannot read a computer screen." @@ -186190,8 +191828,8 @@ msgid "Wasted time, these pictures do not provoke your senses." msgstr "시간만 낭비했다, 이 사진들은 조금도 감명 깊지 않다." #: src/iuse.cpp -msgid "You used to have a dog like this..." -msgstr "이렇게 생긴 강아지를 길렀었지..." +msgid "You used to have a dog like this…" +msgstr "" #: src/iuse.cpp msgid "Ha-ha! An amusing cat photo." @@ -186202,8 +191840,8 @@ msgid "Excellent pictures of nature." msgstr "훌룡한 자연의 사진" #: src/iuse.cpp -msgid "Food photos... your stomach rumbles!" -msgstr "음식 사진이다... 으, 위꼴!" +msgid "Food photos… your stomach rumbles!" +msgstr "" #: src/iuse.cpp msgid "Some very interesting travel photos." @@ -186657,12 +192295,12 @@ msgid "A %s got in the way of your photo." msgstr "%s에 막혀 사진을 찍을 수 없다." #: src/iuse.cpp -msgid "Strange... there's nothing in the center of picture?" +msgid "Strange… there's nothing in the center of picture?" msgstr "" #: src/iuse.cpp #, c-format -msgid "Strange... %s's not visible on the picture?" +msgid "Strange… %s's not visible on the picture?" msgstr "" #: src/iuse.cpp @@ -186778,8 +192416,8 @@ msgstr "RC카에 %s을(를) 장착했다." #: src/iuse.cpp #, c-format -msgid "RC car with %s ? How?" -msgstr "RC카에는 %s을(를) 장착할 수 없다." +msgid "RC car with %s? How?" +msgstr "" #: src/iuse.cpp #, c-format @@ -186787,25 +192425,25 @@ msgid "Your %s is too heavy or bulky for this RC car." msgstr "%s은(는) 이 RC카에는 너무 무겁거나 크다." #: src/iuse.cpp -msgid "You disarmed your RC car" -msgstr "RC카에서 폭탄을 제거했다." +msgid "You disarmed your RC car." +msgstr "" #. ~Sound of a radio controlled car moving around #: src/iuse.cpp -msgid "buzzz..." -msgstr "위이이잉..." +msgid "buzzz…" +msgstr "" #: src/iuse.cpp msgid "What to do with activated RC car?" msgstr "작동중인 RC카로 무엇을 합니까?" #: src/iuse.cpp -msgid "You turned off your RC car" -msgstr "RC카의 전원을 껐다." +msgid "You turned off your RC car." +msgstr "" -#: src/iuse.cpp src/map.cpp -msgid "beep." -msgstr "삑." +#: src/iuse.cpp +msgid "beep" +msgstr "" #: src/iuse.cpp msgid "Take control of RC car" @@ -186842,9 +192480,16 @@ msgstr "RC카의 조종권을 획득했다." #: src/iuse.cpp #, c-format msgid "" -"The %s in you inventory would explode on this signal. Place it down before " +"The %s in your inventory would explode on this signal. Place it down before" +" sending the signal." +msgstr "" + +#: src/iuse.cpp +#, c-format +msgid "" +"The %1$s in your %2$s would explode on this signal. Place it down before " "sending the signal." -msgstr "지금 가지고 있는 %s은(는) 이 신호를 받았을 때 폭발하므로 신호를 보내기 전에 먼저 내려놓아야 한다." +msgstr "" #: src/iuse.cpp msgid "This vehicle's security system has locked you out!" @@ -186910,6 +192555,12 @@ msgstr "차량 조종권 획득" msgid "Execute one vehicle action" msgstr "차량 기능 실행" +#: src/iuse.cpp +msgid "" +"Despite using a controller, you still refuse to take control of this " +"vehicle." +msgstr "" + #: src/iuse.cpp msgid "You take control of the vehicle." msgstr "차량의 조종권을 획득했다." @@ -186928,8 +192579,8 @@ msgstr "화면의 문자들이 외설적인 농담을 나타냈다. 묘한 유 #. ~ Single-spaced & lowercase are intentional, conveying hurried speech-KA101 #: src/iuse.cpp -msgid "Are you sure?! the multi-cooker wants to poison your food!" -msgstr "정말입니까?! 멀티쿠커가 음식에 독을 타려고 합니다!" +msgid "Are you sure?! the multi-cooker wants to poison your food!" +msgstr "" #: src/iuse.cpp msgid "" @@ -186971,8 +192622,8 @@ msgid "The cycle will be completed in %s." msgstr "" #: src/iuse.cpp -msgid "The multi-cooker should be finishing shortly..." -msgstr "멀티 쿠커의 조리가 곧 끝납니다..." +msgid "The multi-cooker should be finishing shortly…" +msgstr "" #. ~ sound of a multi-cooker finishing its cycle! #: src/iuse.cpp @@ -187050,8 +192701,8 @@ msgid "" msgstr "화면이 파란색 기호와 눈금으로 번쩍거리더니 멀티쿠커가 흔들리기 시작했다." #: src/iuse.cpp -msgid "Your morale is too low to craft..." -msgstr "너무 의욕이 낮아서 뭘 만들 수가 없습니다..." +msgid "Your morale is too low to craft…" +msgstr "" #: src/iuse.cpp #, c-format @@ -187177,8 +192828,8 @@ msgstr "비누가 부족하다." #: src/iuse.cpp #, c-format -msgid "The %s's monitor slowly outputs the data..." -msgstr "%s의 모니터에 데이터가 천천히 출력되고 있다..." +msgid "The %s's monitor slowly outputs the data…" +msgstr "" #: src/iuse.cpp #, c-format @@ -187319,7 +192970,7 @@ msgid "You break the stick, but one half shatters into splinters." msgstr "" #: src/iuse.cpp -msgid "The throbbing of the infection diminishes. Slightly." +msgid "The throbbing of the infection diminishes. Slightly." msgstr "" #: src/iuse.cpp @@ -187341,7 +192992,7 @@ msgstr "" #: src/iuse.cpp msgid "" -"Simply taking more magnesium won't help. You have to go to sleep for it to " +"Simply taking more magnesium won't help. You have to go to sleep for it to " "work." msgstr "" @@ -187602,8 +193253,8 @@ msgid "With a satisfying click, the lock on the door opens." msgstr "기분좋은 딸깍소리와 함께 문의 잠금장치가 열렸다." #: src/iuse_actor.cpp -msgid "The door swings open..." -msgstr "문이 부드럽게 열렸다..." +msgid "The door swings open…" +msgstr "" #: src/iuse_actor.cpp msgid "The lock stumps your efforts to pick it, and you destroy your tool." @@ -187709,7 +193360,7 @@ msgstr "그곳은 이미 불타고 있다." #: src/iuse_actor.cpp msgid "" -"There's a brazier there but you haven't set it up to contain the fire. " +"There's a brazier there but you haven't set it up to contain the fire. " "Continue?" msgstr "" @@ -187718,7 +193369,7 @@ msgid "You successfully light a fire." msgstr "불을 붙이는데 성공했다." #: src/iuse_actor.cpp -msgid "You light a fire, but it isn't enough. You need to light more." +msgid "You light a fire, but it isn't enough. You need to light more." msgstr "" #: src/iuse_actor.cpp @@ -187826,8 +193477,15 @@ msgid "It's a note" msgstr "노트" #: src/iuse_actor.cpp -msgid "(To delete, input one '.')\n" -msgstr "(제거하려면 '.' 키)\n" +msgid "(To delete, clear the text and confirm)\n" +msgstr "" + +#. ~ %1$s: gerund (e.g. carved), %2$s: item name +#: src/iuse_actor.cpp +#, c-format +msgctxt "carving" +msgid "%1$s on the %2$s is: " +msgstr "%2$s의 %1$s: " #: src/iuse_actor.cpp #, c-format @@ -187851,6 +193509,11 @@ msgstr "물품" msgid "Inscribe which item?" msgstr "어떤 물건에 글을 새기겠습니까?" +#: src/iuse_actor.cpp +#, c-format +msgid "You try to bend your %s, but fail." +msgstr "" + #: src/iuse_actor.cpp msgid "You cauterize yourself." msgstr "상처를 지졌다." @@ -187897,8 +193560,8 @@ msgid "Make love, not zlave." msgstr "노예 좀비가 아니라, 동반자를 만드는 거야." #: src/iuse_actor.cpp -msgid "Well, it's more constructive than just chopping 'em into gooey meat..." -msgstr "흠, 놈들을 토막내서 끈적거리는 고깃덩이로 만드는 것보단 이게 더 건설적인 방법 같군..." +msgid "Well, it's more constructive than just chopping 'em into gooey meat…" +msgstr "" #: src/iuse_actor.cpp msgid "You feel horrible for mutilating and enslaving someone's corpse." @@ -188190,8 +193853,8 @@ msgstr "%s (%s으로 수리)" #: src/iuse_actor.cpp #, c-format -msgid "You don't have enough %s to do that. Have: %d, need: %d" -msgstr "%s이(가) 부족해서 할 수 없다. 소지: %d, 필요: %d" +msgid "You don't have enough %s to do that. Have: %d, need: %d" +msgstr "" #: src/iuse_actor.cpp msgid "That requires gunsmithing tools." @@ -188212,7 +193875,7 @@ msgstr "%s은(는) 이미 한계까지 보강된 상태이다." #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s! ( %s-> %s)" +msgid "You damage your %s! ( %s-> %s)" msgstr "" #: src/iuse_actor.cpp @@ -188403,8 +194066,8 @@ msgstr "사용 요구 이동점수:" #: src/iuse_actor.cpp #, c-format -msgid "Yeah. Place the %s at your feet. Real damn smart move." -msgstr "%s을(를) 발 밑에 두었다. 겁나 똑똑한 짓이군." +msgid "Yeah. Place the %s at your feet. Real damn smart move." +msgstr "" #: src/iuse_actor.cpp #, c-format @@ -188423,8 +194086,8 @@ msgstr "%s은(는) %s이(가) 인접해 있어야 한다." #: src/iuse_actor.cpp #, c-format -msgid "You can't place a %s there. It contains a trap already." -msgstr "%s을(를) 설치할 수 없다. 이미 덫이 설치되어 있는 곳이다." +msgid "You can't place a %s there. It contains a trap already." +msgstr "" #: src/iuse_actor.cpp #, c-format @@ -188512,6 +194175,10 @@ msgstr "제거 가능한 개조부품이 없다." msgid "Has to be taken off first." msgstr "우선 착용을 해제해야 한다." +#: src/iuse_actor.cpp +msgid "You quiver with anticipation…" +msgstr "" + #: src/iuse_actor.cpp msgid "You suddenly feel dizzy, and collapse to the ground." msgstr "갑자기 어지러워져 바닥에 쓰러졌다." @@ -188578,9 +194245,30 @@ msgstr "다른 물품을 개조, 수리할 수 있지만, 자신을 수리할 msgid "How do you want to modify it?" msgstr "어떻게 개량하시겠습니까?" +#. ~ %1$s: modification desc, %2$d: number of thread needed +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (need %2$d thread loaded)" +msgstr "" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items needed +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (need %2$d %3$s)" +msgstr "" + +#. ~ %1$s: modification desc, %2$s: mod name +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (incompatible with %2$s)" +msgstr "" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items +#. needed, %4$s: number of thread needed #: src/iuse_actor.cpp -msgid "Not enough thread to modify. Which modification do you want to remove?" -msgstr "개조하기 충분한 실이 없습니다. 어떤 개조를 제거합니까?" +#, c-format +msgid "%1$s (%2$d %3$s and %4$d thread)" +msgstr "" #: src/iuse_actor.cpp msgid "Bash" @@ -188612,7 +194300,7 @@ msgstr "확실합니까? 사용했던 재료는 전혀 돌려받을 수 없습 #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s trying to modify it! ( %s-> %s)" +msgid "You damage your %s trying to modify it! ( %s-> %s)" msgstr "" #: src/iuse_actor.cpp @@ -188629,6 +194317,14 @@ msgstr "%s을(를) 개량했지만, 실타래를 잔뜩 낭비했다." msgid "You modify your %s!" msgstr "%s을(를) 개량했다!" +#: src/iuse_actor.h +msgid "Carve" +msgstr "" + +#: src/iuse_actor.h +msgid "Carved" +msgstr "" + #: src/iuse_software.cpp msgid "You found kitten!" msgstr "새끼 고양이를 찾았습니다!" @@ -188652,8 +194348,8 @@ msgid "It's an altar to the horse god." msgstr "이것은 말 신의 제단입니다." #: src/iuse_software_kitten.cpp -msgid "A box of dancing mechanical pencils. They dance! They sing!" -msgstr "춤추는 샤프 한 갑입니다. 춤추고! 노래하고!" +msgid "A box of dancing mechanical pencils. They dance! They sing!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's an old Duke Ellington record." @@ -188664,8 +194360,8 @@ msgid "A box of fumigation pellets." msgstr "향 알갱이 한 갑입니다." #: src/iuse_software_kitten.cpp -msgid "A digital clock. It's stuck at 2:17 PM." -msgstr "디지털 시계입니다. 2:17 PM에 멈춰있습니다." +msgid "A digital clock. It's stuck at 2:17 PM." +msgstr "" #: src/iuse_software_kitten.cpp msgid "That's just a charred human corpse." @@ -188676,16 +194372,16 @@ msgid "I don't know what that is, but it's not kitten." msgstr "이게 도대체 무엇인지는 모르겠지만, 새끼 고양이가 아니라는건 확실합니다." #: src/iuse_software_kitten.cpp -msgid "An empty shopping bag. Paper or plastic?" -msgstr "빈 쇼핑백입니다. 종이일까 비닐일까?" +msgid "An empty shopping bag. Paper or plastic?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "Could it be... a big ugly bowling trophy?" -msgstr "이것은... 크고 못생긴 볼링 트로피인가?" +msgid "Could it be… a big ugly bowling trophy?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "A coat hanger hovers in thin air. Odd." -msgstr "옷걸이가 허공을 맴돌고 있습니다. 기이하군." +msgid "A coat hanger hovers in thin air. Odd." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Not kitten, just a packet of Kool-Aid(tm)." @@ -188708,8 +194404,8 @@ msgid "It's Richard Nixon's nose!" msgstr "이것은 리처드 닉슨의 코입니다!" #: src/iuse_software_kitten.cpp -msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." -msgstr "루시 리카도입니다. 그녀가 말하네요. \"아아아아, 릭키!\"" +msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." +msgstr "" #: src/iuse_software_kitten.cpp msgid "You stumble upon Bill Gates' stand-up act." @@ -188720,8 +194416,8 @@ msgid "Just an autographed copy of the Kama Sutra." msgstr "카마수트라의 자필본입니다." #: src/iuse_software_kitten.cpp -msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" -msgstr "윌 로저스 고속도로입니다. 그런데 윌 로저스가 누구였죠?" +msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" +msgstr "" #: src/iuse_software_kitten.cpp msgid "" @@ -188781,8 +194477,8 @@ msgid "It's a mighty zombie talking about some love and prosperity." msgstr "사랑과 번영에 대해 말하고 있는 대단한 좀비입니다." #: src/iuse_software_kitten.cpp -msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize...\"" -msgstr "\"로봇에게, 당신은 이미 천만 달러의 상금을 받을 수 있습니다...\"" +msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize…\"" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's just an object." @@ -188825,8 +194521,9 @@ msgid "It's some compromising photos of Babar the Elephant." msgstr "코끼리 바바르의 낯 뜨거운 사진 몇 장입니다." #: src/iuse_software_kitten.cpp -msgid "A copy of the Weekly World News. Watch out for the chambered nautilus!" -msgstr "위클리 월드 뉴스 한 부입니다. 앵무조개를 조심하십시오!" +msgid "" +"A copy of the Weekly World News. Watch out for the chambered nautilus!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's the proverbial wet blanket." @@ -188845,28 +194542,28 @@ msgid "Paul Moyer's necktie." msgstr "폴 모이어의 넥타이입니다." #: src/iuse_software_kitten.cpp -msgid "A haircut and a real job. Now you know where to get one!" -msgstr "헤어 스타일과 직업의 상관관계. 이제 당신은 어느 미용실을 가야할지 아시겠죠!" +msgid "A haircut and a real job. Now you know where to get one!" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "An automated robot-hater. It frowns disapprovingly at you." -msgstr "자동화된 로봇 혐오자입니다. 당신을 보더니 눈살을 찌푸립니다." +msgid "An automated robot-hater. It frowns disapprovingly at you." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "An automated robot-liker. It smiles at you." -msgstr "자동화된 로봇 애호가입니다. 당신을 보더니 미소를 짓습니다." +msgid "An automated robot-liker. It smiles at you." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a black hole. Don't fall in!" -msgstr "블랙홀입니다. 빨려들어가지 않도록 조심하세요!" +msgid "It's a black hole. Don't fall in!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "Just a big brick wall." msgstr "그냥 큰 벽돌 담이다." #: src/iuse_software_kitten.cpp -msgid "You found kitten! No, just kidding." -msgstr "새끼 고양이를 찾았습니다! 아니, 사실 농담이에요." +msgid "You found kitten! No, just kidding." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Heart of Darkness brand pistachio nuts." @@ -188918,16 +194615,16 @@ msgid "It's the constellation Pisces." msgstr "물고기자리다." #: src/iuse_software_kitten.cpp -msgid "It's a fly on the wall. Hi, fly!" -msgstr "담장 위에 파리가 있다. 안녕, 파리야!" +msgid "It's a fly on the wall. Hi, fly!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "This kind of looks like kitten, but it's not." msgstr "이건 새끼 고양이처럼 보이지만, 아니었네요." #: src/iuse_software_kitten.cpp -msgid "It's a banana! Oh, joy!" -msgstr "바바나잖아! 아, 기뻐라!" +msgid "It's a banana! Oh, joy!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "A helicopter has crashed here." @@ -188954,11 +194651,11 @@ msgid "A geyser sprays water high into the air." msgstr "간헐천에서 공기 중으로 물이 뿜어져 나온다." #: src/iuse_software_kitten.cpp -msgid "A toenail? What good is a toenail?" +msgid "A toenail? What good is a toenail?" msgstr "" #: src/iuse_software_kitten.cpp -msgid "You've found the fish! Not that it does you much good in this game." +msgid "You've found the fish! Not that it does you much good in this game." msgstr "" #: src/iuse_software_kitten.cpp @@ -188982,8 +194679,8 @@ msgid "It's nothing but a G-thang, baby." msgstr "" #: src/iuse_software_kitten.cpp -msgid "IT'S ALIVE! AH HA HA HA HA!" -msgstr "살아 있다! 아 하 하 하 하!" +msgid "IT'S ALIVE! AH HA HA HA HA!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "This was no boating accident!" @@ -188991,11 +194688,11 @@ msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" +"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" msgstr "" #: src/iuse_software_kitten.cpp -msgid "A livery stable! Get your livery!" +msgid "A livery stable! Get your livery!" msgstr "" #: src/iuse_software_kitten.cpp @@ -189016,7 +194713,7 @@ msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " +"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " "know." msgstr "" @@ -189025,19 +194722,19 @@ msgid "This appears to be a rather large stack of trashy romance novels." msgstr "" #: src/iuse_software_kitten.cpp -msgid "Look out! Exclamation points!" -msgstr "이것봐! 느낌표야!" +msgid "Look out! Exclamation points!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "A herd of wild coffee mugs slumbers here." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a limbo bar! How low can you go?" -msgstr "림보용 막대기다! 얼마나 몸을 뒤로 젖힐 수 있을까?" +msgid "It's a limbo bar! How low can you go?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's the horizon. Now THAT'S weird." +msgid "It's the horizon. Now THAT'S weird." msgstr "" #: src/iuse_software_kitten.cpp @@ -189053,16 +194750,17 @@ msgid "A pair of saloon-style doors swing slowly back and forth here." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's an ordinary bust of Beethoven... but why is it painted green?" +msgid "It's an ordinary bust of Beethoven… but why is it painted green?" msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." +msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"Hey, look, it's war. What is it good for? Absolutely nothing. Say it again." +"Hey, look, it's war. What is it good for? Absolutely nothing. Say it " +"again." msgstr "" #: src/iuse_software_kitten.cpp @@ -189070,7 +194768,7 @@ msgid "It's the amazing self-referential thing that's not kitten." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" +msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" msgstr "" #: src/iuse_software_kitten.cpp @@ -189089,7 +194787,7 @@ msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"This is a large brown bear. Oddly enough, it's currently peeing in the " +"This is a large brown bear. Oddly enough, it's currently peeing in the " "woods." msgstr "" @@ -189119,7 +194817,7 @@ msgstr "추락한 헬리콥터의 홀로그램이다." #: src/iuse_software_kitten.cpp msgid "" -"This is a television. On screen you see a robot strangely similar to " +"This is a television. On screen you see a robot strangely similar to " "yourself." msgstr "" @@ -189128,16 +194826,16 @@ msgid "This balogna has a first name, it's R-A-N-C-I-D." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A salmon hatchery? Look again. It's merely a single salmon." +msgid "A salmon hatchery? Look again. It's merely a single salmon." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a rim shot. Ba-da-boom!" +msgid "It's a rim shot. Ba-da-boom!" msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." +"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." msgstr "" #: src/iuse_software_kitten.cpp @@ -189149,7 +194847,7 @@ msgid "This object is like an analogy." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a symbol. You see in it a model for all symbols everywhere." +msgid "It's a symbol. You see in it a model for all symbols everywhere." msgstr "" #: src/iuse_software_kitten.cpp @@ -189157,17 +194855,17 @@ msgid "The object pushes back at you." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A traffic signal. It appears to have been recently vandalized." +msgid "A traffic signal. It appears to have been recently vandalized." msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"\"There is no kitten!\" cackles the old crone. You are shocked by her " +"\"There is no kitten!\" cackles the old crone. You are shocked by her " "blasphemy." msgstr "" #: src/iuse_software_kitten.cpp -msgid "This is a Lagrange point. Don't come too close now." +msgid "This is a Lagrange point. Don't come too close now." msgstr "" #: src/iuse_software_kitten.cpp @@ -189187,8 +194885,8 @@ msgid "It's the instruction manual for a previous version of this game." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A brain cell. Oddly enough, it seems to be functioning." -msgstr "뇌 세포. 기묘하게도, 여전히 구실을 하는 것 같다." +msgid "A brain cell. Oddly enough, it seems to be functioning." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Tea and/or crumpets." @@ -189203,7 +194901,7 @@ msgid "It's a Quaker Oatmeal tube, converted into a drum." msgstr "" #: src/iuse_software_kitten.cpp -msgid "This is a remote control. Being a robot, you keep a wide berth." +msgid "This is a remote control. Being a robot, you keep a wide berth." msgstr "" #: src/iuse_software_kitten.cpp @@ -189211,7 +194909,7 @@ msgid "It's a roll of industrial-strength copper wire." msgstr "" #: src/iuse_software_kitten.cpp -msgid "Oh boy! Grub! Er, grubs." +msgid "Oh boy! Grub! Er, grubs." msgstr "" #: src/iuse_software_kitten.cpp @@ -189239,11 +194937,11 @@ msgid "An autographed copy of \"Primary Colors\", by Anonymous." msgstr "" #: src/iuse_software_kitten.cpp -msgid "Another rabbit? That's three today!" +msgid "Another rabbit? That's three today!" msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a segmentation fault. Core dumped, by the way." +msgid "It's a segmentation fault. Core dumped, by the way." msgstr "" #: src/iuse_software_kitten.cpp @@ -189251,7 +194949,7 @@ msgid "A historical marker showing the actual location of /dev/null." msgstr "" #: src/iuse_software_kitten.cpp -msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" +msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" msgstr "" #: src/iuse_software_kitten.cpp @@ -189271,7 +194969,7 @@ msgid "A stack of 7 inch floppies wobbles precariously." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's nothing but a corrupted floppy. Coaster anyone?" +msgid "It's nothing but a corrupted floppy. Coaster anyone?" msgstr "" #: src/iuse_software_kitten.cpp @@ -189315,7 +195013,7 @@ msgid "It's the missing chapter to \"A Clockwork Orange\"." msgstr "이것은 \"시계태엽 오렌지\"의 누락된 장이다." #: src/iuse_software_kitten.cpp -msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." +msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." msgstr "" #: src/iuse_software_kitten.cpp @@ -189343,11 +195041,11 @@ msgid "A forgotten telephone switchboard operator." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's an automated robot-disdainer. It pretends you're not there." +msgid "It's an automated robot-disdainer. It pretends you're not there." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." +msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." msgstr "" #: src/iuse_software_kitten.cpp @@ -189355,14 +195053,12 @@ msgid "Just a moldy loaf of bread." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." +msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." msgstr "" -"작은 유리통에 든 Carmex 립케어. ($.89) 입술이 없어서 안됐군.\n" -"(역주: Carmex는 약 80년 전통의 립케어 등을 만드는 회사입니다.)" #: src/iuse_software_kitten.cpp -msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" -msgstr "스위스 아미 나이프. 도구가 전부 나와있다. (이쑤시개는 분실됨)" +msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's a zen simulation, trapped within an ASCII character." @@ -189381,7 +195077,7 @@ msgid "A willing, ripe tomato bemoans your inability to digest fruit." msgstr "" #: src/iuse_software_kitten.cpp -msgid "A robot comedian. You feel amused." +msgid "A robot comedian. You feel amused." msgstr "" #: src/iuse_software_kitten.cpp @@ -189389,8 +195085,8 @@ msgid "It's KITT, the talking car." msgstr "말하는 차, KITT다." #: src/iuse_software_kitten.cpp -msgid "Here's Pete Peterson. His batteries seem to have long gone dead." -msgstr "여기 Pete Peterson이 있다. 배터리가 오래전에 방전된 듯 하다." +msgid "Here's Pete Peterson. His batteries seem to have long gone dead." +msgstr "" #: src/iuse_software_kitten.cpp msgid "\"Blup, blup, blup\", says the mud pot." @@ -189417,7 +195113,7 @@ msgid "Pumpkin pie spice." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's the Bass-Matic '76! Mmm, that's good bass!" +msgid "It's the Bass-Matic '76! Mmm, that's good bass!" msgstr "" #: src/iuse_software_kitten.cpp @@ -189425,7 +195121,7 @@ msgid "\"Lend us a fiver 'til Thursday\", pleas Andy Capp." msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a tape of '70s rock. All original hits! All original artists!" +msgid "It's a tape of '70s rock. All original hits! All original artists!" msgstr "" #: src/iuse_software_kitten.cpp @@ -189442,12 +195138,12 @@ msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " +"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " "SIR!\"" -msgstr "Ed McMahon이 생각에 잠겨있다. 당신을 보더니, 그가 외친다. \"옛썰!\"" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "...thingy???" +msgid "…thingy???" msgstr "" #: src/iuse_software_kitten.cpp @@ -189459,11 +195155,11 @@ msgid "The letters O and R." msgstr "글자 O와 R" #: src/iuse_software_kitten.cpp -msgid "A magical... magic thing." +msgid "A magical… magic thing." msgstr "" #: src/iuse_software_kitten.cpp -msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" +msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" msgstr "" #: src/iuse_software_kitten.cpp @@ -189496,14 +195192,11 @@ msgstr ")입니다." #: src/iuse_software_kitten.cpp msgid "" -"Your job is to find kitten. This task is complicated by the existence of " -"various things which are not kitten. Robot must touch items to determine if " -"they are kitten or not. The game ends when robot finds kitten. " +"Your job is to find kitten. This task is complicated by the existence of " +"various things which are not kitten. Robot must touch items to determine if" +" they are kitten or not. The game ends when robot finds kitten. " "Alternatively, you may end the game by hitting 'q', 'Q' or the Escape key." msgstr "" -"당신은 새끼 고양이를 찾아야 합니다. 이 간단한 작업은 새끼 고양이가 아닌 다양한 것들의 존재에 의해 귀찮아집니다. 로봇은 특정 물체가 " -"새끼 고양이인지 아닌지 확인하려면 접촉해 보아야 합니다. 로봇이 새끼 고양이를 찾으면 게임이 끝납니다. 다른 방법으로 게임을 끝내려면 " -"'q', 'Q', 'ESC'키를 눌러주시면 됩니다." #: src/iuse_software_kitten.cpp msgid "Press any key to start." @@ -189514,8 +195207,8 @@ msgid "Invalid command: Use direction keys or press 'q'." msgstr "잘못된 명령어: 방향키와 'q'키 만을 사용해야 합니다." #: src/iuse_software_kitten.cpp -msgid "You found kitten! Way to go, robot!" -msgstr "새끼 고양이를 찾았습니다! 잘 했어, 로봇!" +msgid "You found kitten! Way to go, robot!" +msgstr "" #: src/iuse_software_lightson.cpp msgid " toggle lights" @@ -189587,8 +195280,8 @@ msgid "lag" msgstr " 깃발" #: src/iuse_software_minesweeper.cpp -msgid "Boom, you're dead! Better luck next time." -msgstr "쾅, 당신은 죽었습니다! 다음엔 운이 따르길." +msgid "Boom, you're dead! Better luck next time." +msgstr "" #: src/iuse_software_snake.cpp src/iuse_software_sokoban.cpp #, c-format @@ -189890,6 +195583,10 @@ msgstr "" msgid "You cast %s!" msgstr "" +#: src/magic.cpp +msgid "an explosion" +msgstr "" + #: src/magic.cpp msgid "Too Difficult!" msgstr "" @@ -189922,10 +195619,6 @@ msgstr "" msgid "infinite" msgstr "" -#: src/magic.cpp -msgid "an explosion" -msgstr "" - #: src/magic.cpp #, c-format msgid "%s and %s" @@ -189964,6 +195657,23 @@ msgstr "" msgid "All knowledge of %s leaves you." msgstr "" +#: src/magic.cpp +msgid "Choose a new hotkey for this spell." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey already used." +msgstr "" + +#: src/magic.cpp +#, c-format +msgid "%c set. Close and reopen spell menu to refresh list with changes." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey removed." +msgstr "" + #: src/magic.cpp msgid "Ignore Distractions" msgstr "" @@ -189972,6 +195682,10 @@ msgstr "" msgid "Popup Distractions" msgstr "" +#: src/magic.cpp +msgid "Assign Hotkey [=]" +msgstr "" + #: src/magic.cpp msgid "requires concentration" msgstr "" @@ -190036,6 +195750,10 @@ msgstr "" msgid "Casting Cost (impeded)" msgstr "" +#: src/magic.cpp +msgid "Not Enough Energy" +msgstr "" + #: src/magic.cpp msgid "Casting Time" msgstr "" @@ -190104,18 +195822,22 @@ msgstr "" msgid "Damage Type" msgstr "" +#. ~ translation should not exceed 10 console cells #: src/magic.cpp msgid "Stat Gain" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "lvl 0" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "per lvl" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "max lvl" msgstr "" @@ -190169,8 +195891,8 @@ msgid "Choose Translocator Gate" msgstr "" #: src/main.cpp -msgid "Really Quit? All unsaved changes will be lost." -msgstr "정말로 닫을까요? 모든 미저장 내용은 사라집니다." +msgid "Really Quit? All unsaved changes will be lost." +msgstr "" #: src/main_menu.cpp msgid "Bugs? Suggestions? Use links in MOTD to report them." @@ -190289,19 +196011,23 @@ msgid "olors" msgstr "색상()" #: src/main_menu.cpp -msgid "Unable to make config directory. Check permissions." -msgstr "설정 폴더를 만들 수 없습니다. 사용 권한을 확인해주세요." +msgid "Unable to make config directory. Check permissions." +msgstr "" + +#: src/main_menu.cpp +msgid "Unable to make save directory. Check permissions." +msgstr "" #: src/main_menu.cpp -msgid "Unable to make save directory. Check permissions." -msgstr "세이브 폴더를 만들 수 없습니다. 사용 권한을 확인해주세요." +msgid "Unable to make templates directory. Check permissions." +msgstr "" #: src/main_menu.cpp -msgid "Unable to make templates directory. Check permissions." -msgstr "템플릿 폴더를 만들 수 없습니다. 사용 권한을 확인해주세요." +msgid "Unable to make sound directory. Check permissions." +msgstr "" #: src/main_menu.cpp -msgid "Unable to make sound directory. Check permissions." +msgid "Unable to make graphics directory. Check permissions." msgstr "" #: src/main_menu.cpp @@ -190329,8 +196055,8 @@ msgstr "무작위 캐릭터()" #: src/main_menu.cpp msgctxt "Main Menu|New Game" -msgid "Play Now! (ixed Scenario)" -msgstr "빠른 시작!(시나리오 고정)()" +msgid "Play Now! (ixed Scenario)" +msgstr "" #: src/main_menu.cpp msgctxt "Main Menu|New Game" @@ -190378,6 +196104,12 @@ msgstr "관리자만이 월드맵을 수정할 수 있습니다." msgid "Create World" msgstr "월드 생성" +#. ~ %1$s: vehicle name +#: src/map.cpp +#, c-format +msgid "weight of %1$s" +msgstr "" + #: src/map.cpp #, c-format msgid "The %1$s's %2$s collides with %3$s's %4$s." @@ -190439,6 +196171,17 @@ msgstr "떨어지는 %s에 맞았다!" msgid "Falling %s hits " msgstr "떨어지는 %s에 이(가) 맞았다!" +#: src/map.cpp +#, c-format +msgid "The %s damages several items!" +msgstr "" + +#. ~ %1$s: the cause of damage, %2$s: damaged item name +#: src/map.cpp +#, c-format +msgid "The %1$s damages the %2$s!" +msgstr "" + #: src/map.cpp msgid "an alarm go off!" msgstr "경보기 소리!" @@ -190455,18 +196198,34 @@ msgstr "떨어지는 잔해에 맞아 짓눌렸다!" msgid " is crushed by the falling debris!" msgstr "이(가) 떨어지는 잔해에 맞아 짓눌렸다!" -#: src/map.cpp -msgid "The shot is stopped by the reinforced glass wall!" -msgstr "강화 유리 벽에 막혔다!" - #: src/map.cpp msgid "The shot is stopped by the reinforced glass door!" msgstr "강화 유리 문에 막혔다!" +#: src/map.cpp +msgid "The shot is stopped by the reinforced glass wall!" +msgstr "강화 유리 벽에 막혔다!" + #: src/map.cpp msgid "ke-rash!" msgstr "챙-그랑!" +#: src/map.cpp +msgid "laser beam" +msgstr "" + +#: src/map.cpp +msgid "bolt of electricity" +msgstr "" + +#: src/map.cpp +msgid "bolt of plasma" +msgstr "" + +#: src/map.cpp +msgid "flying projectile" +msgstr "" + #: src/map.cpp msgid "The metal bars melt!" msgstr "쇠창살이 녹았다!" @@ -190528,8 +196287,8 @@ msgid "Something has crawled out of the %s!" msgstr "" #: src/map_extras.cpp -msgid "DANGER! MINEFIELD!" -msgstr "위험! 지뢰매설구역!" +msgid "DANGER! MINEFIELD!" +msgstr "" #: src/map_field.cpp #, c-format @@ -190579,8 +196338,8 @@ msgid "The sap sticks to !" msgstr "수액이 의 몸에 달라붙었다!" #: src/map_field.cpp -msgid "The sludge is thick and sticky. You struggle to pull free." -msgstr "걸쭉한 진흙이 끈적거린다. 빠져나오기 위해 노력하는 중이다." +msgid "The sludge is thick and sticky. You struggle to pull free." +msgstr "" #: src/map_field.cpp msgid "You burn your legs and feet!" @@ -190955,24 +196714,36 @@ msgstr "" #: src/martialarts.cpp #, c-format msgid "%s cannot be used with weapons." -msgstr "" +msgstr "%s 은(는) 무기와 함께 사용할 수 없다." #: src/martialarts.cpp #, c-format -msgid "The %s is not a valid %s weapon." +msgid "The %1$s is not a valid %2$s weapon." msgstr "" #: src/martialarts.cpp -#, c-format -msgid "Type: %s" +msgid "Block Counter" +msgstr "" + +#: src/martialarts.cpp +msgid "Dodge Counter" +msgstr "" + +#: src/martialarts.cpp +msgid "Miss Recovery" +msgstr "" + +#: src/martialarts.cpp +msgid "Defensive" msgstr "" #: src/martialarts.cpp -msgid "defensive" +msgid "Offensive" msgstr "" #: src/martialarts.cpp -msgid "offensive" +#, c-format +msgid "Type: %s" msgstr "" #: src/martialarts.cpp @@ -191079,6 +196850,11 @@ msgstr "" msgid "* Will disarm the target" msgstr "" +#: src/martialarts.cpp +msgid "" +"* Will disarm the target and take their weapon" +msgstr "" + #: src/martialarts.cpp msgid "" "This style forces you to use unarmed strikes, even if wielding a " @@ -191087,7 +196863,7 @@ msgstr "" #: src/martialarts.cpp msgid "This style can be used with all weapons." -msgstr "" +msgstr "이 무술은 모든 무기에 사용할 수 있다." #: src/martialarts.cpp msgid "This is an armed combat style." @@ -191227,8 +197003,8 @@ msgstr[0] "%s이(가) 이쪽으로 %d 시끄러운 비프음을 낸다." #. ~ There will be a 120mm HEAT shell sent at high speed to your location next #. turn. #: src/mattack_actors.cpp src/monattack.cpp -msgid "You're not sure why you've got a laser dot on you..." -msgstr "왜 몸에 빨간 점이 생긴건지 모르겠다..." +msgid "You're not sure why you've got a laser dot on you…" +msgstr "" #: src/mattack_actors.cpp src/monattack.cpp msgid "The " @@ -191326,6 +197102,20 @@ msgstr "뭔가를 공격했다." msgid "You swing at the air." msgstr "허공을 향해 휘둘렀다." +#: src/melee.cpp +msgid " disarms you and takes your weapon!" +msgstr "" + +#: src/melee.cpp +#, c-format +msgid "You disarm %s and take their weapon!" +msgstr "" + +#: src/melee.cpp +#, c-format +msgid " disarms %s and takes their weapon!" +msgstr "" + #: src/melee.cpp msgid " disarms you!" msgstr "이(가) 무장을 해제시켰다!" @@ -191346,11 +197136,6 @@ msgid "%d enemy hit!" msgid_plural "%d enemies hit!" msgstr[0] "적 공격으로 %d 피해!" -#: src/melee.cpp -#, c-format -msgid "You have learned %s from extensive practice with the CQB Bionic." -msgstr "CQB 바이오닉을 이용한 폭넓은 훈련으로 %s을(를) 익혔다." - #. ~ Adjective in "You block of the damage with your . #: src/melee.cpp msgid "all" @@ -191391,6 +197176,10 @@ msgstr "%2$s(으)로 %1$s 피해를 막았다!" msgid " blocks %1$s of the damage with their %2$s!" msgstr "이(가) %2$s(으)로 %1$s 피해를 막았다!" +#: src/melee.cpp src/player.cpp +msgid "You try to counterattack but you are too exhausted!" +msgstr "" + #: src/melee.cpp #, c-format msgid "You poison %s!" @@ -191672,8 +197461,8 @@ msgstr "%s. 치명타!" #. ~ someone hits something for %d damage (critical) #: src/melee.cpp #, c-format -msgid "%s for %d damage. Critical!" -msgstr "%s %d 피해. 치명타!" +msgid "%s for %d damage. Critical!" +msgstr "" #. ~ NPC hits something #: src/melee.cpp @@ -193012,7 +198801,7 @@ msgstr "" #: src/messages.cpp #, c-format msgid "" -"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" +"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" "Examples:\n" " good:mutation\n" " :you pick up: 1\n" @@ -193063,14 +198852,9 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Assigning one of your allies to patrol the surrounding wilderness and isolated buildings presents the opportunity to build survival skills while engaging in relatively safe combat against isolated creatures." msgstr "" -"수입: $25-$500\n" -"위험: 낮음\n" -"소요: 10시간\n" -" \n" -"동료 한 명에게 주변 지역과 고립된 건물을 순찰하도록 시킵니다. 고립된 개체를 상대하는 비교적 안전한 전투를 통해 생존술을 익힐 가능성이 있습니다." #: src/mission_companion.cpp msgid "Assign Scavenging Patrol" @@ -193081,18 +198865,13 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Patrol Roster:\n" msgstr "" -"수입: $25-$500\n" -"위험: 낮음\n" -"소요: 10시간\n" -" \n" -"순찰 명단:\n" #: src/mission_companion.cpp -msgid " hours] \n" -msgstr "시간]\n" +msgid " hours]\n" +msgstr "" #: src/mission_companion.cpp msgid "Retrieve Scavenging Patrol" @@ -193103,14 +198882,9 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Scavenging raids target formerly populated areas to loot as many valuable items as possible before being surrounded by the undead. Combat is to be expected and assistance from the rest of the party can't be guaranteed. The rewards are greater and there is a chance of the companion bringing back items." msgstr "" -"수입: $200-$1000\n" -"위험: 중간\n" -"소요: 10시간\n" -" \n" -"옛 인구밀집지역에서 시체들에게 둘러싸이기 전에 가능한 많은 귀중품을 긁어모으는 수색 원정입니다. 전투는 예정된 수순인데다 남아있는 동료의 지원조차 장담할 수 없습니다. 보상도 더 많고 동료가 물품을 가져올 가능성도 있습니다." #: src/mission_companion.cpp msgid "Assign Scavenging Raid" @@ -193121,14 +198895,9 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Raid Roster:\n" msgstr "" -"수입: $200-$1000\n" -"위험: 중간\n" -"소요: 10시간\n" -" \n" -"원정 명단:\n" #: src/mission_companion.cpp msgid "Retrieve Scavenging Raid" @@ -193143,11 +198912,18 @@ msgid "" "Profit: $8/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Assigning one of your allies to menial labor is a safe way to teach them basic skills and build reputation with the outpost. Don't expect much of a reward though.\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" +"수입: $8/시간\n" +"위험: 최저\n" +"소요: 최소 1시간\n" +" \n" +"동료 한 명에게 단순노동 작업을 시켜서 안전하게 기술을 익히며 전초기지의 명성을 쌓습니다. 많은 보상을 기대하진 마십시오.\n" +"\n" +"근무자 명단:\n" #: src/mission_companion.cpp msgid "Recover Ally from Menial Labor" @@ -193158,14 +198934,9 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Carpentry work requires more skill than menial labor while offering modestly improved pay. It is unlikely that your companions will face combat but there are hazards working on makeshift buildings." msgstr "" -"수입: $12/시간\n" -"위험: 최저\n" -"소요: 최소 1시간\n" -" \n" -"목공 작업은 단순노동 작업보다 높은 수준의 기술이 필요한 대신에 보수가 다소 높습니다. 전투를 맞닥뜨릴 일은 없겠지만, 가설 건축물에서 일하는 이상 위험이 따릅니다." #: src/mission_companion.cpp msgid "Assign Ally to Carpentry Work" @@ -193176,14 +198947,9 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -"수입: $12/시간\n" -"위험: 최저\n" -"소요: 최소 1시간\n" -" \n" -"노역 명단:\n" #: src/mission_companion.cpp msgid "Recover Ally from Carpentry Work" @@ -193192,8 +198958,8 @@ msgstr "동료를 목공 작업에서 되찾기" #: src/mission_companion.cpp msgid "" "Cost: $1000\n" -" \n" -" \n" +"\n" +"\n" " .........\n" " .........\n" " .........\n" @@ -193203,8 +198969,8 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" -"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours... after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." +"\n" +"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours… after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." msgstr "" #: src/mission_companion.cpp @@ -193214,7 +198980,7 @@ msgstr "" #: src/mission_companion.cpp msgid "" "Cost: $5500\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -193225,22 +198991,22 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "Protecting your field with a sturdy picket fence will keep most wildlife from nibbling your crops apart. You can expect yields to increase." msgstr "" "비용: $5500\n" -" \n" "\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" +"\n" +" .........\n" +" .........\n" +" .........\n" +" .........\n" +" .........\n" +" .........\n" +" ..#....**\n" +" ..#Ov..**\n" +" ...O|....\n" +"\n" "농지에 튼튼한 말뚝 울타리를 설치하면 작물을 여기저기 뜯어먹는 야생동물 상당수를 막을 수 있습니다. 수익 증대를 기대해도 될 겁니다." #: src/mission_companion.cpp @@ -193250,7 +199016,7 @@ msgstr "" #: src/mission_companion.cpp msgid "" "Cost: $3.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -193261,22 +199027,22 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "We'll plant the field with your choice of crop if you are willing to finance it. When the crop is ready to harvest you can have us liquidate it or harvest it for you." msgstr "" "비용: $3.00/칸\n" -" \n" "\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" +"\n" +" .........\n" +" .........\n" +" .........\n" +" .........\n" +" .........\n" +" .........\n" +" ..#....**\n" +" ..#Ov..**\n" +" ...O|....\n" +"\n" "자금만 융통해주신다면 원하는 작물을 농지에 심어드립니다. 수확철이 되면 작물을 저희에게 판매하거나 직접 이용하시면 됩니다." #: src/mission_companion.cpp @@ -193286,7 +199052,7 @@ msgstr "" #: src/mission_companion.cpp msgid "" "Cost: $2.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -193297,23 +199063,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "You can either have us liquidate the crop and give you the cash or pay us to harvest it for you." msgstr "" -"비용: $2.00/칸\n" -" \n" -"\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"저희에게 작물을 판매하시면 현금으로 환산해드리고, 비용을 지불하시면 대신 수확해드리기도 합니다." #: src/mission_companion.cpp msgid "Harvest East Field" @@ -193324,7 +199076,7 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Foraging for food involves dispatching a companion to search the surrounding wilderness for wild edibles. Combat will be avoided but encounters with wild animals are to be expected. The low pay is supplemented with the odd item as a reward for particularly large hauls." msgstr "" "수입: $10/시간\n" @@ -193342,14 +199094,9 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -"Profit: $10/hour\n" -"Danger: Low\n" -"Time: 4 hour minimum\n" -" \n" -"노역 명단:\n" #: src/mission_companion.cpp msgid "Recover Ally from Foraging" @@ -193360,18 +199107,11 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" +"\n" "Adding companions to the caravan team increases the likelihood of success. By nature, caravans are extremely tempting targets for raiders or hostile groups so only a strong party is recommended. The rewards are significant for those participating but are even more important for the factions that profit.\n" -" \n" +"\n" "The commune is sending food to the Free Merchants in the Refugee Center as part of a tax and in exchange for skilled labor." msgstr "" -"수입: $18/시간\n" -"위험: 높음\n" -"소요: 불확실\n" -" \n" -"동료를 캐러밴 일행에 추가 동행시킬수록 성공률이 높아집니다. 원래 캐러밴은 침략단처럼 적대적인 집단에게 몹시 매력적인 목표이기에 강력한 일행이 필요합니다. 임무 보상도 상당량 나오긴 하지만, 이로 얻는 세력의 신뢰와 평가가 훨씬 더 중요한 것입니다.\n" -" \n" -"우리 공동체는 피난시설의 자유상인연합에게 일종의 세금으로 식료품을 보내고 대신에 숙련된 노동자를 파견받습니다." #: src/mission_companion.cpp msgid "Caravan Commune-Refugee Center" @@ -193382,38 +199122,29 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" -" \n" +"\n" +"\n" "Roster:\n" msgstr "" -"수입: $18/시간\n" -"위험: 높음\n" -"소요: 불확실\n" -" \n" -" \n" -"명단:\n" #: src/mission_companion.cpp -msgid " [READY] \n" -msgstr " [준비] \n" +msgid " [READY]\n" +msgstr "" #: src/mission_companion.cpp -msgid " [COMPLETE] \n" -msgstr " [완료] \n" +msgid " [COMPLETE]\n" +msgstr "" #: src/mission_companion.cpp -msgid " Hours] \n" +msgid " Hours]\n" msgstr "" #: src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "The caravan will contain two or three additional members from the commune, are you ready to depart?" msgstr "" -"\n" -" \n" -"캐러밴은 공동체에서 두세 명의 추가인원을 뽑아갈 것입니다. 떠날 준비가 되었습니까?" #: src/mission_companion.cpp msgid "Begin Commune-Refugee Center Run" @@ -193424,37 +199155,37 @@ msgid "Recover Commune-Refugee Center" msgstr "" #: src/mission_companion.cpp -msgid "There are no missions at this colony. Press Spacebar..." -msgstr "이 정착촌에는 수행할 임무가 없습니다. 스페이스 바를 누르세요..." +msgid "There are no missions at this colony. Press Spacebar…" +msgstr "" #: src/mission_companion.cpp -msgid "joins the caravan team..." -msgstr "캐러밴 일행에 합류..." +msgid "joins the caravan team…" +msgstr "" #: src/mission_companion.cpp -msgid "departs on the scavenging patrol..." -msgstr "수색 순찰 떠나기..." +msgid "departs on the scavenging patrol…" +msgstr "" #: src/mission_companion.cpp -msgid "departs on the scavenging raid..." -msgstr "수색 원정 떠나기..." +msgid "departs on the scavenging raid…" +msgstr "" #: src/mission_companion.cpp -msgid "departs to work as a laborer..." -msgstr "인부로서 일하러 가기..." +msgid "departs to work as a laborer…" +msgstr "" #: src/mission_companion.cpp -msgid "departs to work as a carpenter..." -msgstr "목수로서 일하러 가기..." +msgid "departs to work as a carpenter…" +msgstr "" #: src/mission_companion.cpp -msgid "departs to forage for food..." -msgstr "식료품 채집하러 가기..." +msgid "departs to forage for food…" +msgstr "" #: src/mission_companion.cpp #, c-format -msgid "The caravan departs with an estimated total travel time of %d hours..." -msgstr "캐러밴이 떠났으며 전체 여행시간은 %d시간으로 예상된다..." +msgid "The caravan departs with an estimated total travel time of %d hours…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -193479,8 +199210,8 @@ msgid "The caravan party has returned. Your share of the profits are $%d!" msgstr "캐러밴 일행이 귀환했다. 우리 몫으로 $%d의 수입이 들어왔다!" #: src/mission_companion.cpp -msgid "The caravan was a disaster and your companions never made it home..." -msgstr "캐러밴은 실패했고 동료는 돌아올 수 없게 되었다..." +msgid "The caravan was a disaster and your companions never made it home…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -193507,20 +199238,20 @@ msgstr "%s이(가) 장부에 당신의 이름을 적고 근처의 인부를 불 #, c-format msgid "" "After counting your money %s directs a nearby laborer to begin constructing " -"a fence around your plot..." -msgstr "금액을 정산한 뒤 %s은(는) 농지 주변에 울타리를 치도록 근처의 인부에게 지시했다." +"a fence around your plot…" +msgstr "" #: src/mission_companion.cpp msgid "You have no seeds to plant!" msgstr "심을 수 있는 씨앗이 없습니다!" #: src/mission_companion.cpp -msgid "You have no room to plant seeds..." -msgstr "씨앗을 심을 공간이 없습니다." +msgid "You have no room to plant seeds…" +msgstr "" #: src/mission_companion.cpp -msgid "I'm sorry, you don't have enough money to plant those seeds..." -msgstr "실례지만, 그 씨앗을 심기엔 돈이 부족해 보이네요..." +msgid "I'm sorry, you don't have enough money to plant those seeds…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -193535,21 +199266,21 @@ msgid "" msgstr "지불한 돈을 세고 심을 종자를 건네받자 %s은(는) 노동자 집단에게 밭에 파종작업을 시작하라고 명령했다." #: src/mission_companion.cpp -msgid "There aren't any plants that are ready to harvest..." -msgstr "그곳에는 수확기가 다가온 작물이 없다..." +msgid "There aren't any plants that are ready to harvest…" +msgstr "" #: src/mission_companion.cpp msgid "Which plants do you want to have harvested?" msgstr "어떤 작물을 수확할까요?" #: src/mission_companion.cpp -msgid "You decided to hold off for now..." -msgstr "지금은 놔두기로 했다..." +msgid "You decided to hold off for now…" +msgstr "" #: src/mission_companion.cpp msgid "" "You don't have enough to pay the workers to harvest the crop so you are " -"forced to sell..." +"forced to sell…" msgstr "" #: src/mission_companion.cpp @@ -193559,28 +199290,28 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "The %s are sold for $%d..." +msgid "The %s are sold for $%d…" msgstr "" #: src/mission_companion.cpp #, c-format -msgid "You receive %d %s..." -msgstr "%d %s을(를) 받았다..." +msgid "You receive %d %s…" +msgstr "" #: src/mission_companion.cpp #, c-format msgid "" "While scavenging, %s's party suddenly found itself set upon by a large mob " -"of undead..." -msgstr "수색작업 도중 %s 일행은 갑자기 크게 무리지은 시체들과 마주쳤다..." +"of undead…" +msgstr "" #: src/mission_companion.cpp msgid "Through quick thinking the group was able to evade combat!" msgstr "빠른 판단 덕분에 일행은 전투를 피하는데 성공했다!" #: src/mission_companion.cpp -msgid "Combat took place in close quarters, focusing on melee skills..." -msgstr "근접전이 벌어졌으므로 근접전투 기술의 영향을 크게 받는다..." +msgid "Combat took place in close quarters, focusing on melee skills…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -193588,14 +199319,13 @@ msgid "Through brute force the party smashed through the group of %d undead!" msgstr "일행은 강력한 무력으로 %d 시체 집단을 쓰러뜨리고 나아갔다!" #: src/mission_companion.cpp -msgid "Unfortunately they were overpowered by the undead... I'm sorry." -msgstr "안타깝게도 일행은 시체들에게 압도당했다... 유감이네." +msgid "Unfortunately they were overpowered by the undead… I'm sorry." +msgstr "" #: src/mission_companion.cpp #, c-format -msgid "" -"%s returns from patrol having earned $%d and a fair bit of experience..." -msgstr "%s이(가) 순찰에서 돌아오면서 $%d의 수입과 적정량의 경험을 얻었다..." +msgid "%s returns from patrol having earned $%d and a fair bit of experience…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -193613,8 +199343,8 @@ msgstr "" #: src/mission_companion.cpp #, c-format msgid "" -"%s returns from the raid having earned $%d and a fair bit of experience..." -msgstr "%s이(가) 원정에서 돌아오면서 $%d의 수입과 적정량의 경험을 얻었다..." +"%s returns from the raid having earned $%d and a fair bit of experience…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -193625,8 +199355,8 @@ msgstr "%s이(가) %s을(를) 가지고 돌아왔다!" #, c-format msgid "" "%s returns from working as a laborer having earned $%d and a bit of " -"experience..." -msgstr "%s이(가) 인부 일을 마치고 돌아오면서 $%d의 수입과 약간의 경험을 얻었다..." +"experience…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -193637,7 +199367,7 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "While %s was framing a building one of the walls began to collapse..." +msgid "While %s was framing a building one of the walls began to collapse…" msgstr "" #: src/mission_companion.cpp @@ -193652,7 +199382,7 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "%s didn't make it out in time..." +msgid "%s didn't make it out in time…" msgstr "" #: src/mission_companion.cpp @@ -193661,7 +199391,7 @@ msgid "but %s was rescued from the debris with only minor injuries!" msgstr "" #: src/mission_companion.cpp -msgid "Everyone who was trapped under the collapsing roof died..." +msgid "Everyone who was trapped under the collapsing roof died…" msgstr "" #: src/mission_companion.cpp @@ -193672,13 +199402,13 @@ msgstr "유감이지만, 우리가 더 할수 있는게 없네." #, c-format msgid "" "%s returns from working as a carpenter having earned $%d and a bit of " -"experience..." -msgstr "%s이(가) 목수 일을 마치고 돌아오면서 $%d의 수입과 약간의 경험을 얻었다..." +"experience…" +msgstr "" #: src/mission_companion.cpp #, c-format -msgid "While foraging, a beast began to stalk %s..." -msgstr "채집 하는 동안, 짐승이 %s을 쫒기 시작했다..." +msgid "While foraging, a beast began to stalk %s…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -193710,19 +199440,19 @@ msgstr "%s이(가) 쿠거를 피떡으로 만들었다!" #, c-format msgid "" "%s was able to hold off the first wolf but the others that were skulking in " -"the tree line caught up..." +"the tree line caught up…" msgstr "" #: src/mission_companion.cpp -msgid "I'm sorry, there wasn't anything we could do..." -msgstr "유감이지만 더이상 해줄 수 있는 게 없네..." +msgid "I'm sorry, there wasn't anything we could do…" +msgstr "" #: src/mission_companion.cpp #, c-format msgid "" -"We... we don't know what exactly happened but we found %s's gear ripped and " -"bloody..." -msgstr "무슨 일이 생겼는지 모르겠지만 %s의 장비가 찢어지고 피묻은 채로 발견되었어." +"We… we don't know what exactly happened but we found %s's gear ripped and " +"bloody…" +msgstr "" #: src/mission_companion.cpp msgid "I fear your companion won't be returning." @@ -193732,8 +199462,8 @@ msgstr "유감이지만 당신의 동료는 돌아오지 않을 거야." #, c-format msgid "" "%s returns from working as a forager having earned $%d and a bit of " -"experience..." -msgstr "%s이(가) 채집 일을 마치고 돌아오면서 $%d의 수입과 약간의 경험을 얻었다..." +"experience…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -193764,33 +199494,59 @@ msgid "Engagement between %d members of %s %s and %d members of %s %s%s!" msgstr "%d의 %s와%s 그리고 %d의%s%s%s가 교전한다!" #: src/mission_companion.cpp -msgid "You don't have any companions to send out..." -msgstr "보낼 동료가 없다." +msgid "You don't have any companions to send out…" +msgstr "" #: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" -msgstr "누구를 보내겠습니까? [ 전투 : 생존 : 산업시설 ]" +msgid "Who do you want to send?" +msgstr "누구를 보냅니까?" + +#: src/mission_companion.cpp +msgid "[ COMBAT : SURVIVAL : INDUSTRY ]" +msgstr "" + +#. ~ %1$s: npc name +#: src/mission_companion.cpp +#, c-format +msgctxt "companion" +msgid "%1$s (Guarding)" +msgstr "" + +#: src/mission_companion.cpp +#, c-format +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" +msgstr "" + +#. ~ %1$s: skill name, %2$d: companion skill level +#: src/mission_companion.cpp +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d" +msgstr "" +#. ~ %1$s: skill name, %2$d: companion skill level, %3$d: skill requirement #: src/mission_companion.cpp -msgid "You choose to send no one..." -msgstr "아무도 보내지 않기로 했다..." +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d/%3$d" +msgstr "" #: src/mission_companion.cpp -msgid "The companion you selected doesn't have the skills!" -msgstr "당신이 선택한 동료는 기술이 없다!" +msgid "You choose to send no one…" +msgstr "" #: src/mission_companion.cpp -msgid "You don't have any companions ready to return..." -msgstr "귀환시킬 동료가 없다." +msgid "You don't have any companions ready to return…" +msgstr "" #: src/mission_companion.cpp msgid "Who should return?" msgstr "누구를 귀환시킵니까?" #: src/mission_companion.cpp -msgid "No one returns to your party..." -msgstr "아무도 돌아오지 않는다..." +msgid "No one returns to your party…" +msgstr "" #: src/mission_end.cpp #, c-format @@ -193821,18 +199577,17 @@ msgid "Download Software" msgstr "소프트웨어 다운로드하기" #: src/mission_start.cpp -msgid "You don't know where the address could be..." -msgstr "도저히 그곳의 주소를 모르겠다..." +msgid "You don't know where the address could be…" +msgstr "" #: src/mission_start.cpp -msgid "You mark the refugee center and the road that leads to it..." -msgstr "피난 시설의 위치와 그곳으로 통하는 도로를 지도에 표시했다..." +msgid "You mark the refugee center and the road that leads to it…" +msgstr "" #: src/mission_start.cpp msgid "" -"You mark the refugee center, but you have no idea how to get there by " -"road..." -msgstr "피난 시설의 위치를 지도에 표시했지만, 어떤 길로 가야하는지 전혀 모르겠다..." +"You mark the refugee center, but you have no idea how to get there by road…" +msgstr "" #: src/mission_start.cpp msgid "Workstation" @@ -193908,8 +199663,8 @@ msgstr "실패한 임무가 없습니다!" #: src/mission_util.cpp #, c-format -msgid "%s also marks the road that leads to it..." -msgstr "%s이(가) 그곳으로 통하는 도로를 지도에 표시했다..." +msgid "%s also marks the road that leads to it…" +msgstr "" #: src/mission_util.cpp #, c-format @@ -194249,7 +200004,7 @@ msgstr "" #: src/monattack.cpp #, c-format msgid "The %s's combat arms crackle with electricity." -msgstr "" +msgstr "%s의 전투 팔에서 전류가 파직거리고 있다." #. ~ %s is bodypart name in accusative. #: src/monattack.cpp @@ -194294,14 +200049,6 @@ msgstr "쿠-쿵." msgid "The root walls creak around you." msgstr "주위에 있는 식물로 된 벽이 삐걱거린다." -#. ~ the sound of a fungus releasing spores -#. ~ That spore sound again -#. ~ the sound of a fungus dying -#. ~spore-release sound -#: src/monattack.cpp src/mondeath.cpp src/player.cpp -msgid "Pouf!" -msgstr "푸웁!" - #: src/monattack.cpp #, c-format msgid "Spores are released from the %s!" @@ -194353,8 +200100,8 @@ msgstr "%s이(가) 꿈틀거리더니, 갑자기 새로운 진균 물질을 뿜 #: src/monattack.cpp #, c-format -msgid "The %s seems to wave you toward the tower..." -msgstr "%s은(는) 탑으로 초대하듯이 흔들리고 있다." +msgid "The %s seems to wave you toward the tower…" +msgstr "" #: src/monattack.cpp #, c-format @@ -194368,8 +200115,8 @@ msgid "The %1$s sinks its point into your %2$s!" msgstr "%1$s의 바늘이 깊숙히 %2$s를 찔렀다!" #: src/monattack.cpp -msgid "You feel thousands of live spores pumping into you..." -msgstr "수천 개의 살아있는 포자가 당신에게 흘러들어가는 것을 느낀다..." +msgid "You feel thousands of live spores pumping into you…" +msgstr "" #. ~ 1$s is monster name, 2$s bodypart in accusative #: src/monattack.cpp @@ -194405,8 +200152,8 @@ msgstr "진균체 벽이 자라나면서, 벽에 떠밀렸다!" #: src/monattack.cpp #, c-format -msgid "The %s spreads its tendrils. It seems as though it's expecting you..." -msgstr "%s이(가) 덩굴을 펼쳤다. 기다리고 있는것 같다..." +msgid "The %s spreads its tendrils. It seems as though it's expecting you…" +msgstr "" #: src/monattack.cpp msgid "" @@ -194416,8 +200163,8 @@ msgstr "탑은 여러 개의 담쟁이덩굴을 펼쳐 놓고 있습니다.상 #: src/monattack.cpp #, c-format msgid "" -"The %s works several tendrils into your arms, legs, torso, and even neck..." -msgstr "몇몇의 덩굴이 %s의 팔,다리,상체,심지어 목까지 관통했다..." +"The %s works several tendrils into your arms, legs, torso, and even neck…" +msgstr "" #: src/monattack.cpp msgid "" @@ -194438,9 +200185,9 @@ msgstr "말로스 관문이 보였다." #. ~ Beginning to hear the Mycus while conscious: this is it speaking #: src/monattack.cpp msgid "" -"assistance, on an arduous quest. unity. together we have reached the door. " -"now to pass through..." -msgstr "힘든 여정이였어.지금 우리는 함께 문앞에 도착했어. 이제 지나가자...." +"assistance, on an arduous quest. unity. together we have reached the door." +" now to pass through…" +msgstr "" #: src/monattack.cpp msgid "You're shoved away as a fungal hedgerow grows!" @@ -194462,8 +200209,8 @@ msgid "The %s takes aim, and spears at you with a massive tendril!" msgstr "%s은(는) 거대한 덩굴손이 찌르는것을 팔로 막았다!" #: src/monattack.cpp -msgid "You feel millions of live spores pumping into you..." -msgstr "수백만의 살아있는 포자가 당신에게 흘러들어가는 걸 느낀다..." +msgid "You feel millions of live spores pumping into you…" +msgstr "" #: src/monattack.cpp #, c-format @@ -194620,7 +200367,7 @@ msgstr "%s이(가) 붙잡으려 했지만, 쳐내버렸다!" #: src/monattack.cpp #, c-format -msgid "The %s tries to grab you..." +msgid "The %s tries to grab you…" msgstr "" #: src/monattack.cpp @@ -194674,6 +200421,10 @@ msgstr "몸에 독이 퍼지는 것을 느꼈다!" msgid "The %s young triffid grows into an adult!" msgstr "(%s) 어린 트리피드가 성장했다!" +#: src/monattack.cpp +msgid "You feel a strange reverberation accross your body." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s stares at you, and you shudder." @@ -194722,7 +200473,7 @@ msgstr "" #: src/monattack.cpp #, c-format msgid "The %s looks at its empty anesthesia kit with a dejected look." -msgstr "" +msgstr "%s 은(는) 빈 마취 도구를 낙담한 표정으로 바라보았다." #: src/monattack.cpp #, c-format @@ -194738,7 +200489,7 @@ msgstr "" msgid "" "a soft robotic voice say, \"Unhand this patient immediately! If you keep " "interfering with the procedure I'll be forced to call law enforcement.\"" -msgstr "" +msgstr "부드러운 로봇 음성이 \"즉시 이 환자에게서 손을 떼십시오! 계속 절차를 방해한다면 법 집행관을 부를 것입니다.\" 라고 말했다." #: src/monattack.cpp msgid "" @@ -194765,12 +200516,12 @@ msgid "" msgstr "%s은(는) 신분증을 확인하고 주변경계 업무로 돌아갔다." #: src/monattack.cpp -msgid "Probably some now-obsolete Internal Affairs subroutine..." -msgstr "지금으로서는 의미없는 행동 프로그램입니다..." +msgid "Probably some now-obsolete Internal Affairs subroutine…" +msgstr "" #: src/monattack.cpp -msgid "Ops used to do that in case you needed backup..." -msgstr "이런, 예전에 응원이 필요할 때는 저러고 있었다." +msgid "Ops used to do that in case you needed backup…" +msgstr "" #: src/monattack.cpp #, c-format @@ -194802,7 +200553,7 @@ msgid "The %s takes your picture!" msgstr "%s이(가) 당신의 사진을 찍었다!" #: src/monattack.cpp -msgid "... database connection lost!" +msgid "…database connection lost!" msgstr "" #: src/monattack.cpp @@ -194862,8 +200613,8 @@ msgstr "" #. ~ Potential grenading detected. #: src/monattack.cpp -msgid "Those laser dots don't seem very friendly..." -msgstr "저 레이저는 별로 우호적으로 보이지 않는다..." +msgid "Those laser dots don't seem very friendly…" +msgstr "" #: src/monattack.cpp msgid "Targeting." @@ -194910,24 +200661,24 @@ msgid "a police siren, whoop WHOOP" msgstr "경찰 사이렌 소리. 위이잉 위이잉" #: src/monattack.cpp -msgid "\"YOU... ARE FILTH...\"" -msgstr "\"너는... 하찮은 존재다...\"" +msgid "\"YOU… ARE FILTH…\"" +msgstr "" #: src/monattack.cpp -msgid "\"VERMIN... YOU ARE VERMIN...\"" -msgstr "\"해충... 네놈은 해충이야...\"" +msgid "\"VERMIN… YOU ARE VERMIN…\"" +msgstr "" #: src/monattack.cpp -msgid "\"LEAVE NOW...\"" -msgstr "\"당장 떠나라...\"" +msgid "\"LEAVE NOW…\"" +msgstr "" #: src/monattack.cpp -msgid "\"WE... WILL FEAST... UPON YOU...\"" -msgstr "\"우린... 네놈으로... 잔치를 벌이리라...\"" +msgid "\"WE… WILL FEAST… UPON YOU…\"" +msgstr "" #: src/monattack.cpp -msgid "\"FOUL INTERLOPER...\"" -msgstr "\"불경한 침입자다...\"" +msgid "\"FOUL INTERLOPER…\"" +msgstr "" #. ~ %1$s is the name of the zombie upgrading the other, %2$s is the zombie #. being upgraded. @@ -195115,13 +200866,13 @@ msgstr "%1$s이(가) 의 %2$s을(를) 발톱으로 찔렀지만, 튕겨 #: src/monattack.cpp #, c-format -msgid "The %s slashes at your neck! You duck!" -msgstr "%s이(가) 목을 벤다! 피했다!" +msgid "The %s slashes at your neck! You duck!" +msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s slashes at 's neck! They duck!" -msgstr "%s이(가) 의 목을 벤다! 피했다!" +msgid "The %s slashes at 's neck! They duck!" +msgstr "" #: src/monattack.cpp #, c-format @@ -195221,8 +200972,8 @@ msgid "but you grab its arm and flip it to the ground!" msgstr "하지만 팔을 잡고 바닥에 내동댕이쳤다!" #: src/monattack.cpp -msgid "The flip does shock you..." -msgstr "내동댕이 쳤던것에 당신은 충격을 받았다..." +msgid "The flip does shock you…" +msgstr "" #: src/monattack.cpp msgid "but you deftly spin out of its grasp!" @@ -195230,8 +200981,8 @@ msgstr "하지만 약삭빠르게 몸을 돌려 손아귀에서 벗어났다!" #: src/monattack.cpp msgid "" -"Halt and submit to arrest, citizen! The police will be here any moment." -msgstr "멈춰서서 체포에 순응하십시오! 잠시 후 경찰이 도착할 것입니다." +"Halt and submit to arrest, citizen! The police will be here any moment." +msgstr "" #: src/monattack.cpp msgid "Please stay in place, citizen, do not make any movements!" @@ -195363,8 +201114,8 @@ msgstr "%1$s는%2$s를 땅바닥에 내동댕이쳤습니다!" #. ~ 1$s is bodypart name in accusative, 2$d is damage value. #: src/monattack.cpp #, c-format -msgid "The zombie kicks your %1$s for %2$d damage..." -msgstr "좀비가 %1$s을(를) 차서 %2$d 피해를 입었다..." +msgid "The zombie kicks your %1$s for %2$d damage…" +msgstr "" #: src/monattack.cpp #, c-format @@ -195466,6 +201217,11 @@ msgstr "%1$s이(가) 팔의 %2$s을(를) 공격했지만, 튕겨나갔다!" msgid "The %1$s hits 's %2$s, but glances off armor!" msgstr "%1$s이(가) 팔의 %2$s을(를) 공격했지만, 튕겨나갔다!" +#: src/monattack.cpp +#, c-format +msgid "The %1$s fuses with the %2$s." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s doots its trumpet!" @@ -195576,8 +201332,8 @@ msgid "The %s melts away." msgstr "%s이(가) 녹아 사라졌다." #: src/mondeath.cpp -msgid "Your obsession with the fault fades away..." -msgstr "강박증의 압박이 사라졌다..." +msgid "Your obsession with the fault fades away…" +msgstr "" #: src/mondeath.cpp msgid "As the final light is destroyed, it erupts in a blinding flare!" @@ -195665,11 +201421,6 @@ msgstr "%s은(는) 산을 내뿜었다!" msgid "zombie slave" msgstr "노예 좀비" -#: src/monexamine.cpp src/player.cpp -#, c-format -msgid "What to do with your %s?" -msgstr "%s(으)로 무엇을 합니까?" - #: src/monexamine.cpp #, c-format msgid "Push %s" @@ -195704,7 +201455,7 @@ msgstr "" #: src/monexamine.cpp #, c-format msgid "Equip %s with armor" -msgstr "" +msgstr "%s 에 갑옷 입히기" #: src/monexamine.cpp #, c-format @@ -195850,22 +201601,23 @@ msgstr "" #: src/monexamine.cpp #, c-format msgid "" -"Welcome to the %s Friendship Interface. What would you like to do?\n" +"Welcome to the %s Friendship Interface. What would you like to do?\n" "Your current friendship will last: %s" msgstr "" #: src/monexamine.cpp -msgid "Get more friendship. 10 cents/min" +msgid "Get more friendship. 10 cents/min" msgstr "" #: src/monexamine.cpp -msgid "Sadly you're not currently able to extend your friendship. - Quit menu" +msgid "" +"Sadly you're not currently able to extend your friendship. - Quit menu" msgstr "" #: src/monexamine.cpp #, c-format -msgid "How much friendship do you get? Max: %d minute. (0 to cancel) " -msgid_plural "How much friendship do you get? Max: %d minutes. " +msgid "How much friendship do you get? Max: %d minute. (0 to cancel)" +msgid_plural "How much friendship do you get? Max: %d minutes." msgstr[0] "" #: src/monexamine.cpp @@ -195920,8 +201672,8 @@ msgstr "%s을(를) 넣을 용기가 없다!" #: src/monexamine.cpp #, c-format -msgid "%1$s is overburdened. You can't transfer your %2$s." -msgstr "%1$s의 소지무게가 한도에 달했다. %2$s을(를) 옮길 수 없다." +msgid "%1$s is overburdened. You can't transfer your %2$s." +msgstr "" #: src/monexamine.cpp #, c-format @@ -196150,6 +201902,16 @@ msgstr "밀도가 높은 젤리 덩어리" msgid "wearing %1$s" msgstr "" +#: src/monster.cpp +#, c-format +msgid "The %s" +msgstr "%s" + +#: src/monster.cpp +#, c-format +msgid "The %s's" +msgstr "" + #: src/monster.cpp #, c-format msgid "the %s's" @@ -196192,6 +201954,11 @@ msgstr "" msgid "Rider: %s" msgstr "" +#: src/monster.cpp +#, c-format +msgid " It is %s." +msgstr "" + #: src/monster.cpp msgid "Difficulty " msgstr "난이도" @@ -196422,8 +202189,8 @@ msgid "You're envenomed!" msgstr "중독되었다!" #: src/monster.cpp -msgid "You feel venom flood your body, wracking you with pain..." -msgstr "뭔가에 중독된 것 같다. 죽을 것 같이 고통스럽다..." +msgid "You feel venom flood your body, wracking you with pain…" +msgstr "" #: src/monster.cpp msgid "You feel venom enter your body!" @@ -196560,6 +202327,14 @@ msgstr "%1$s 포자가 %2$s으로 변했다!" msgid "Total morale:" msgstr "" +#: src/morale.cpp +msgid "Pain level:" +msgstr "" + +#: src/morale.cpp +msgid "Fatigue level:" +msgstr "" + #: src/morale.cpp msgid "Focus trends towards:" msgstr "" @@ -196633,8 +202408,8 @@ msgstr "집중해서, 쾌활한 퐁 소리와 함께 새 슬라임 새끼를 낳 #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp -msgid "wow! you look just like me! we should look out for each other!" -msgstr "와! 나하고 똑같이 생겼네! 우리 잘 지내보자!" +msgid "wow! you look just like me! we should look out for each other!" +msgstr "" #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp @@ -196668,8 +202443,8 @@ msgid "Bionic power storage increased by 100." msgstr "바이오닉 전력량이 100증가했다." #: src/mutation.cpp -msgid "You feel something straining deep inside you, yearning to be free..." -msgstr "정신 깊은 곳에서 자유를 갈망하는 무언가를 느꼈다." +msgid "You feel something straining deep inside you, yearning to be free…" +msgstr "" #: src/mutation.cpp #, c-format @@ -196796,8 +202571,8 @@ msgid "Suffered a toxic marloss/mutagen reaction." msgstr "독성 말로스/뮤타젠 거부반응을 일으켰다." #: src/mutation.cpp -msgid "Something strains mightily for a moment... and then... you're... FREE!" -msgstr "뭔가가 힘차고, 꽉 차서... 그래... 자유가 되었어!" +msgid "Something strains mightily for a moment… and then… you're… FREE!" +msgstr "" #: src/mutation.cpp msgid "Your appetite for blood fades." @@ -196814,8 +202589,8 @@ msgid "You stagger with a piercing headache!" msgstr "머리를 꿰뚫는 두통 때문에 휘청였다!" #: src/mutation.cpp -msgid "Your head throbs with memories of your life, before all this..." -msgstr "머리가 지끈거리며 주마등이 보인다. 이 모든 것이 시작되기 전의 기억이..." +msgid "Your head throbs with memories of your life, before all this…" +msgstr "" #: src/mutation.cpp msgid "Images of your past life flash before you." @@ -196832,8 +202607,8 @@ msgid "Crossed a threshold" msgstr "한계치를 넘었다" #: src/mutation_data.cpp -msgid "Oh, yeah! That's the stuff!" -msgstr "오, 그래! 바로 이거야!" +msgid "Oh, yeah! That's the stuff!" +msgstr "" #: src/mutation_ui.cpp msgid "Reassigning." @@ -196918,13 +202693,10 @@ msgstr "%s; 새로 지정할 단축키 입력." #: src/mutation_ui.cpp #, c-format msgid "" -"Invalid mutation letter. Only those characters are valid:\n" +"Invalid mutation letter. Only those characters are valid:\n" "\n" "%s" msgstr "" -"잘못된 변이 단축키. 다음 문자만 사용 가능:\n" -"\n" -"%s" #: src/mutation_ui.cpp #, c-format @@ -196946,7 +202718,7 @@ msgstr "%s을(를) 작동 할 수 없다! %s의 설명을 보려면, '!' 키를 msgid "Tom" msgstr "Tom" -#. ~ Used for constructing full name: %1$s is `family name`, %2$s is `given +#. ~ Used for constructing full name: %1$s is `given name`, %2$s is `family #. name` #: src/name.cpp #, c-format @@ -196954,8 +202726,8 @@ msgctxt "Full Name" msgid "%1$s %2$s" msgstr "%1$s %2$s" -#. ~ Used for constructing full name with nickname: %1$s is `family name`, -#. %2$s is `given name`, %3$s is `nickname` +#. ~ Used for constructing full name with nickname: %1$s is `given name`, %2$s +#. is `family name`, %3$s is `nickname` #: src/name.cpp #, c-format msgctxt "Full Name" @@ -196982,8 +202754,8 @@ msgstr "자유 선택제" #: src/newcharacter.cpp src/player.cpp #, c-format -msgid "Select a style. (press %s for more info)" -msgstr "무술 선택. (%s로 자세히 보기)" +msgid "Select a style. (press %s for more info)" +msgstr "" #: src/newcharacter.cpp msgid "Use this style?" @@ -197018,14 +202790,14 @@ msgstr "시나리오" msgid "PROFESSION" msgstr "직업" -#: src/newcharacter.cpp src/player_display.cpp -msgid "TRAITS" -msgstr "특성" - #: src/newcharacter.cpp src/player_display.cpp msgid "STATS" msgstr "능력치" +#: src/newcharacter.cpp src/player_display.cpp +msgid "TRAITS" +msgstr "특성" + #: src/newcharacter.cpp src/player_display.cpp msgid "SKILLS" msgstr "기술" @@ -197413,8 +203185,8 @@ msgstr[0] "시나리오 %1$s 선택시 %2$d 포인트 소모" #: src/newcharacter.cpp msgid "" -"This scenario is not available in this world due to city size settings. " -msgstr "이 시나리오는 도시 크기 설정때문에 이 세계에서 사용할 수 없습니다." +"This scenario is not available in this world due to city size settings." +msgstr "" #: src/newcharacter.cpp msgid "Professions:" @@ -197509,10 +203281,6 @@ msgstr "능력치:" msgid "Traits: " msgstr "특성: " -#: src/newcharacter.cpp -msgid "(Top 8)" -msgstr "(상위 8)" - #: src/newcharacter.cpp #, c-format msgid "Press %s to finish character creation or %s to go back." @@ -197580,8 +203348,8 @@ msgid "_______NO NAME ENTERED!_______" msgstr "_______이름 없음!_______" #: src/newcharacter.cpp -msgid "Are you SURE you're finished? Your name will be randomly generated." -msgstr "정말 이대로 끝냅니까? 이름이 무작위로 생성됩니다." +msgid "Are you SURE you're finished? Your name will be randomly generated." +msgstr "" #: src/newcharacter.cpp src/worldfactory.cpp msgid "Are you SURE you're finished?" @@ -197631,7 +203399,7 @@ msgstr "" #: src/npc.cpp msgid "I can't read without my glasses." -msgstr "" +msgstr "안경이 없어서 읽지를 못 하겠어." #: src/npc.cpp #, c-format @@ -197753,10 +203521,6 @@ msgstr "두려운" msgid "Very afraid" msgstr "매우 두려운" -#: src/npc.cpp -msgid "Terrified" -msgstr "공포에 질린" - #: src/npc.cpp msgid "Fear: " msgstr "두려움: " @@ -197880,11 +203644,7 @@ msgid "NPC Legacy Attitude" msgstr "" #: src/npc.cpp -msgid "Not much" -msgstr "" - -#: src/npc.cpp -msgid "Cooking" +msgid "Cooking and butchering" msgstr "" #: src/npc.cpp @@ -197920,7 +203680,7 @@ msgid "Caring for the livestock" msgstr "" #: src/npc.cpp -msgid "Hunting for meat" +msgid "Hunting and fishing" msgstr "" #: src/npc.cpp @@ -198026,8 +203786,8 @@ msgid "Hold still %s, I'm coming to help you." msgstr "" #: src/npcmove.cpp -msgid "Don't move a muscle..." -msgstr ". 근육 한 가닥이라도 움직이기만 해봐..." +msgid "Don't move a muscle…" +msgstr "" #: src/npcmove.cpp #, c-format @@ -198125,7 +203885,7 @@ msgstr "%1$s이(가) 내 %2$s을(를) 훔쳐갔다." #: src/npcmove.cpp #, c-format msgid "" -"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" +"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" msgstr "" #: src/npcmove.cpp @@ -198135,8 +203895,8 @@ msgstr "%s %s" #: src/npcmove.cpp #, c-format -msgid "My %s wound is infected..." -msgstr "%s 상처가 감염된 것 같다..." +msgid "My %s wound is infected…" +msgstr "" #: src/npcmove.cpp #, c-format @@ -198148,8 +203908,8 @@ msgid "" msgstr "" #: src/npcmove.cpp -msgid "I'm suffering from radiation sickness..." -msgstr "방사능 증세 때문에 괴롭다..." +msgid "I'm suffering from radiation sickness…" +msgstr "" #: src/npcmove.cpp msgid "" @@ -198256,7 +204016,7 @@ msgstr "" #: src/npctalk.cpp msgid "You can't speak without your face!" -msgstr "" +msgstr "얼굴이 없어 대화할 수 없다!" #: src/npctalk.cpp msgid "What do you want to do?" @@ -198268,7 +204028,7 @@ msgid "Talk to %s" msgstr "" #: src/npctalk.cpp -msgid "Talk to ..." +msgid "Talk to…" msgstr "" #: src/npctalk.cpp @@ -198293,7 +204053,7 @@ msgid "Tell %s to follow" msgstr "" #: src/npctalk.cpp -msgid "Tell someone to follow..." +msgid "Tell someone to follow…" msgstr "" #: src/npctalk.cpp @@ -198302,7 +204062,7 @@ msgid "Tell %s to guard" msgstr "" #: src/npctalk.cpp -msgid "Tell someone to guard..." +msgid "Tell someone to guard…" msgstr "" #: src/npctalk.cpp @@ -198326,7 +204086,7 @@ msgid "Tell everyone on your team to relax (Clear Overrides)" msgstr "" #: src/npctalk.cpp -msgid "Tell everyone on your team to temporarily..." +msgid "Tell everyone on your team to temporarily…" msgstr "" #: src/npctalk.cpp @@ -198416,7 +204176,7 @@ msgstr "" #: src/npctalk.cpp msgid "&You can't talk without your face." -msgstr "" +msgstr "&얼굴이 없어 대화를 할 수 없다." #: src/npctalk.cpp msgid "&You are deaf and can't talk." @@ -198425,8 +204185,8 @@ msgstr "&귀가 들리지 않아 대화할 수 없다." #: src/npctalk.cpp #, c-format msgid "" -"&You are deaf and can't talk. When you don't respond, %s becomes angry!" -msgstr "&귀가 들리지 않아 대화할 수 없다. 응답하지 않으면, %s 는(은) 분노하게 된다!" +"&You are deaf and can't talk. When you don't respond, %s becomes angry!" +msgstr "" #: src/npctalk.cpp #, c-format @@ -198456,8 +204216,8 @@ msgid "Sorry, but it doesn't seem I have anything to teach you." msgstr "미안, 내가 가르쳐줄수 있는게 없는 것 같아." #: src/npctalk.cpp -msgid "Here's what I can teach you..." -msgstr "내가 가르쳐줄 수 있는 것은 이 정도야." +msgid "Here's what I can teach you…" +msgstr "" #: src/npctalk.cpp #, c-format @@ -198471,16 +204231,23 @@ msgid_plural "%d feet." msgstr[0] "%d 피트" #: src/npctalk.cpp -msgid "I'm holing up here for safety." -msgstr "난 안전을 위해 여길 지키고 있어." +#, c-format +msgid "I'm holing up here for safety. Long term, %s" +msgstr "" #: src/npctalk.cpp msgid "I run the shop here." msgstr "난 여기서 가게를 운영해." #: src/npctalk.cpp -msgid "I'm guarding this location." -msgstr "난 여길 지키고 있지." +#, c-format +msgid "Currently, I'm guarding this location. Overall, %s" +msgstr "" + +#: src/npctalk.cpp +#, c-format +msgid "Right now, I'm . In general, %s" +msgstr "" #: src/npctalk.cpp msgid "&You yell, but can't hear yourself." @@ -198574,6 +204341,16 @@ msgstr "말해줄게 있어." msgid "Yes, let's resume training " msgstr "좋아, 훈련을 다시 시작하자고 " +#: src/npctalk.cpp +#, c-format +msgid "%s: 1 hour lesson (cost %s)" +msgstr "" + +#: src/npctalk.cpp +#, c-format +msgid "%s: teaching spell knowledge (cost %s)" +msgstr "" + #. ~Martial art style (cost in dollars) #: src/npctalk.cpp #, c-format @@ -198589,7 +204366,7 @@ msgstr "" #: src/npctalk.cpp #, c-format -msgid "%s: %d (%d%%) -> %d" +msgid "%s: %d (%d%%) -> %d (%d%%)" msgstr "" #: src/npctalk.cpp @@ -198623,8 +204400,8 @@ msgstr "." #: src/npctalk.cpp msgctxt "punctuation" -msgid "..." -msgstr "..." +msgid "…" +msgstr "" #: src/npctalk.cpp msgctxt "punctuation" @@ -198670,8 +204447,8 @@ msgid "%s: %s" msgstr "%s: %s" #: src/npctalk.cpp -msgid "You'll be helpless! Proceed?" -msgstr "무방비상태가 됩니다! 계속합니까?" +msgid "You'll be helpless! Proceed?" +msgstr "" #: src/npctalk.cpp #, c-format @@ -198730,22 +204507,18 @@ msgid "You learn how to craft %s." msgstr "" #: src/npctalk.cpp -msgid "I don't trust you enough to eat THIS..." -msgstr "나는 이런 걸 먹을 정도로 널 불신한다..." +msgid "I don't trust you enough to eat THIS…" +msgstr "" #: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this..." -msgstr "별로 좋은 생각이 아닌것 같은데..." +msgid "It doesn't look like a good idea to consume this…" +msgstr "" #: src/npctalk.cpp #, c-format msgid "I need a %s to consume that!" msgstr "그걸 사용하려면 %s이(가) 필요해!" -#: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this.." -msgstr "별로 좋은 생각이 아닌것 같은데..." - #: src/npctalk.cpp msgid "Offer what?" msgstr "무엇을 줍니까?" @@ -198767,8 +204540,8 @@ msgid "Are you insane!?" msgstr "너 미쳤어!?" #: src/npctalk.cpp -msgid "Here we go..." -msgstr "시작이군..." +msgid "Here we go…" +msgstr "" #: src/npctalk.cpp msgid "My current weapon is better than this." @@ -198793,8 +204566,8 @@ msgid "I can only store %s %s more." msgstr "%s %s 더 보관할 수 있어." #: src/npctalk.cpp -msgid "...or to store anything else for that matter." -msgstr "잠깐 좀 더 들고 있도록 하지." +msgid "…or to store anything else for that matter." +msgstr "" #: src/npctalk.cpp msgid "It is too heavy for me to carry." @@ -198823,40 +204596,16 @@ msgstr "" msgid "My current location" msgstr "" -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name #: src/npctalk_funcs.cpp #, c-format -msgid "%1$s is assigned to %2$s" +msgid "That is not a valid destination for %s." msgstr "" -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name #: src/npctalk_funcs.cpp #, c-format -msgid "%1$s is assigned to guard %2$s" -msgstr "" - -#. ~ %1$s is the NPC's translated name, %2$s is the pronoun for the NPC's -#. gender -#: src/npctalk_funcs.cpp -#, c-format -msgid "%1$s will wait for you where %2$s is." -msgstr "" - -#: src/npctalk_funcs.cpp -msgid "he" -msgstr "" - -#: src/npctalk_funcs.cpp -msgid "she" +msgid "%1$s is assigned to %2$s" msgstr "" -#: src/npctalk_funcs.cpp -#, c-format -msgid "%s is posted as a guard." -msgstr "%s은(는) 경비를 서고 있다." - #: src/npctalk_funcs.cpp #, c-format msgid "%s begins to follow you." @@ -198873,20 +204622,16 @@ msgid "You start a fight with %s!" msgstr "%s와(과) 전투를 시작했다!" #: src/npctalk_funcs.cpp -msgid "You don't have any bionics installed..." -msgstr "어떤 바이오닉도 설치하지 않았다..." +msgid "You don't have any bionics installed…" +msgstr "" #: src/npctalk_funcs.cpp msgid "Which bionic do you wish to uninstall?" msgstr "어느 바이오닉을 제거합니까?" #: src/npctalk_funcs.cpp -msgid "You decide to hold off..." -msgstr "그만 두기로 했습니다..." - -#: src/npctalk_funcs.cpp -msgid "You can't afford the procedure..." -msgstr "대금을 지불할 수 없어.." +msgid "You decide to hold off…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format @@ -198907,7 +204652,7 @@ msgid "Choose a new facial hair style" msgstr "" #: src/npctalk_funcs.cpp -msgid "Actually... I've changed my mind." +msgid "Actually… I've changed my mind." msgstr "" #: src/npctalk_funcs.cpp @@ -198916,18 +204661,18 @@ msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent haircut..." -msgstr "%s이(가) 머리를 깔끔하게 다듬어줬다..." +msgid "%s gives you a decent haircut…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent shave..." -msgstr "%s이(가) 면도를 깔끔하게 해줬다..." +msgid "%s gives you a decent shave…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "That was a pleasant conversation with %s..." -msgstr "%s과(와)의 즐거운 대화였어요." +msgid "That was a pleasant conversation with %s…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format @@ -198936,8 +204681,8 @@ msgstr "%s과(와)의 즐거운 대화였어요." #: src/npctalk_funcs.cpp #, c-format -msgid "%s drops the logs off in the garage..." -msgstr "%s이(가) 쓰레기 무더기에 큰볼일을 봤다..." +msgid "%s drops the logs off in the garage…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format @@ -198954,6 +204699,11 @@ msgstr "%s이(가) 도망간다!" msgid "%s leaves." msgstr "%s이(가) 떠났다." +#: src/npctalk_funcs.cpp +#, c-format +msgid "%s stops following." +msgstr "" + #: src/npctalk_funcs.cpp #, c-format msgid "%s feels less threatened by you." @@ -199035,13 +204785,13 @@ msgstr "%s이(가) 들 수 없다." #: src/npctrade.cpp #, c-format msgid "" -"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" +"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" "\n" "Continue with trade?" msgstr "" #: src/npctrade.cpp -msgid "Looks like a deal! Accept this trade?" +msgid "Looks like a deal! Accept this trade?" msgstr "" #: src/npctrade.h @@ -199328,9 +205078,9 @@ msgstr "안전모드 자동 재설정 턴 수" #: src/options.cpp msgid "" -"Number of turns after which safe mode is reactivated. Will only reactivate " +"Number of turns after which safe mode is reactivated. Will only reactivate " "if no hostiles are in 'Safe mode proximity distance.'" -msgstr "안전모드 재설정에 걸리는 턴 수를 정합니다. '안전모드 작동 범위' 안에 적이 없을 때에만 재설정됩니다." +msgstr "" #: src/options.cpp msgid "Turns to remember ignored monsters" @@ -199431,11 +205181,9 @@ msgstr "빈 용기 버리기" #: src/options.cpp msgid "" -"Set to drop empty containers after use. No: Don't drop any. - Watertight: " -"All except watertight containers. - All: Drop all containers." +"Set to drop empty containers after use. No: Don't drop any. - Watertight: " +"All except watertight containers. - All: Drop all containers." msgstr "" -"사용후 남은 빈 용기를 버릴지 설정합니다. 아니오: 아무것도 안버림 - 식수제한: 물을 담을수 있는 용기 제외 - 전부: 모든 용기를 " -"버림" #: src/options.cpp msgid "Watertight" @@ -199601,12 +205349,12 @@ msgid "If true, automatically follow the crosshair when firing/throwing." msgstr "이 설정을 켜면 커서가 자동적으로 사격/투척을 따라갑니다." #: src/options.cpp -msgid "Query on disassembly" -msgstr "분해시 물어보기" +msgid "Query on disassembly while butchering" +msgstr "" #: src/options.cpp -msgid "If true, will query before disassembling items." -msgstr "이 설정을 켜면 물품을 분해하기 전에 정말로 분해할 것인지 물어봅니다." +msgid "If true, will query before disassembling items while butchering." +msgstr "" #: src/options.cpp msgid "Query on keybinding removal" @@ -199877,9 +205625,9 @@ msgstr "물품 단축키 자동 지정" #: src/options.cpp msgid "" -"Enabled: automatically assign letters to any carried items that lack them. " -"Disabled: do not auto-assign letters. Favorites: only auto-assign letters to" -" favorited items." +"Enabled: automatically assign letters to any carried items that lack them. " +"Disabled: do not auto-assign letters. Favorites: only auto-assign letters " +"to favorited items." msgstr "" #: src/options.cpp @@ -200243,7 +205991,7 @@ msgstr "" msgid "Display" msgstr "화면설정" -#: src/options.cpp +#: src/options.cpp src/sdltiles.cpp msgid "" "Sets which video display will be used to show the game. Requires restart." msgstr "어떤 디스플레이에 표시하는지 설정합니다. 재시작 필요." @@ -200331,7 +206079,7 @@ msgid "Scaling factor" msgstr "" #: src/options.cpp -msgid "Factor by which to scale the display. Requires restart." +msgid "Factor by which to scale the display. Requires restart." msgstr "" #: src/options.cpp @@ -200612,8 +206360,8 @@ msgstr "" #: src/options.cpp msgid "" -"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can " -"be overridden by scenarios. This does not advance food rot or monster " +"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can" +" be overridden by scenarios. This does not advance food rot or monster " "evolution." msgstr "" @@ -200623,9 +206371,9 @@ msgstr "" #: src/options.cpp msgid "" -"How many days after the cataclysm the player spawns. Day 0 is the day of the" -" cataclysm. Can be overridden by scenarios. Increasing this will cause food " -"rot and monster evolution to advance." +"How many days after the cataclysm the player spawns. Day 0 is the day of " +"the cataclysm. Can be overridden by scenarios. Increasing this will cause " +"food rot and monster evolution to advance." msgstr "" #: src/options.cpp @@ -200688,9 +206436,9 @@ msgstr "고정적 NPC" #: src/options.cpp msgid "" -"If true, static NPCs will spawn at pre-defined locations. Requires world " +"If true, static NPCs will spawn at pre-defined locations. Requires world " "reset." -msgstr "이 설정을 켜면 지정된 장소에 고정적 NPC가 생성됩니다. 세계 초기화가 필요합니다." +msgstr "" #: src/options.cpp msgid "Starting NPCs spawn" @@ -201191,6 +206939,10 @@ msgid_plural "" "%s #%s -- The window will be %d pixels tall with the selected value." msgstr[0] "%s #%s -- 선택한 값에 의하면 창의 세로 길이는 %d 픽셀이 됩니다." +#: src/options.cpp +msgid "Note: " +msgstr "노트: " + #: src/options.cpp msgid "Some of these options may produce unexpected results if changed." msgstr "아래 설정 중 일부는 변경 시 예기치 않은 결과를 발생시킬 수 있습니다." @@ -201213,8 +206965,8 @@ msgid "options" msgstr "설정" #: src/output.cpp -msgid "Press any key for more..." -msgstr "다음 페이지로 넘기시려면 아무 키나 눌러주세요..." +msgid "Press any key for more…" +msgstr "" #: src/output.cpp #, c-format @@ -201375,7 +207127,7 @@ msgstr "" #: src/overmap_ui.cpp #, c-format msgid "" -"LEVEL %i, %d'%d, %d'%d : %s (Distance: " +"LEVEL %i, %d'%d, %d'%d: %s (Distance: " "%d)" msgstr "" @@ -201715,11 +207467,6 @@ msgstr "" msgid "Freezing!" msgstr "" -#: src/panels.cpp -msgctxt "energy unit: kilojoule" -msgid "kJ" -msgstr "kJ" - #: src/panels.cpp msgid "Bad" msgstr "" @@ -201899,6 +207646,7 @@ msgstr "" msgid "Underground" msgstr "지하" +#. ~ translation should not exceed 5 console cells #: src/panels.cpp msgid "Wind" msgstr "" @@ -201960,10 +207708,6 @@ msgstr "귀먹음!" msgid "Weapon :" msgstr "" -#: src/panels.cpp -msgid "No Style" -msgstr "무술없음" - #: src/panels.cpp msgid "Day " msgstr "" @@ -201976,10 +207720,12 @@ msgstr "" msgid "to open sidebar options" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/panels.cpp msgid "Mana" msgstr "" +#. ~ translation should not exceed 9 console cells #: src/panels.cpp msgid "Max Mana" msgstr "" @@ -202236,75 +207982,6 @@ msgstr "내용물을 쏟지 않으려고 이(가) %1$s을(를) %2$s에 msgid "You have learned a new style: %s!" msgstr "" -#: src/player.cpp -#, c-format -msgid "Your %s will be frostnipped in the next few hours." -msgstr "%s에 몇 시간 내로 동상이 걸린다!" - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten within the hour!" -msgstr "%s에 한 시간 안에 심한 동상이 걸린다!" - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten any minute now!" -msgstr "%s에 곧 심한 동상이 걸린다!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s beginning to go numb from the cold!" -msgstr "추위 때문에 %s에 감각이 없어졌다!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very cold." -msgstr "%s이(가) 아주 차가워졌다." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting chilly." -msgstr "%s이(가) 약간 차가워졌다." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting red hot from the heat!" -msgstr "열기에 %s이(가) 달아 오르는게 느껴진다!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very hot." -msgstr "%s이(가) 아주 뜨거워졌다." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting warm." -msgstr "%s이(가) 약간 뜨거워졌다." - -#: src/player.cpp -#, c-format -msgid "The wind is making your %s feel quite cold." -msgstr "바람에 %s이(가) 차갑다." - -#: src/player.cpp -#, c-format -msgid "" -"The wind is very strong, you should find some more wind-resistant clothing " -"for your %s." -msgstr "바람이 아주 강하다. %s에 바람을 충분히 막아줄 옷을 입어야 한다." - -#: src/player.cpp -#, c-format -msgid "" -"Your clothing is not providing enough protection from the wind for your %s!" -msgstr "지금 입고 있는 옷은 바람으로부터 %s을(를) 충분히 막아주지 못한다!" - #: src/player.cpp msgid "You roll on the ground, trying to smother the fire!" msgstr "바닥에 굴러 불을 끄려고 했다!" @@ -202321,50 +207998,6 @@ msgstr "스스로의 몸에 붙은 불을 끄려고 했다!" msgid " attempts to put out the fire on them!" msgstr "이(가) 몸에 붙은 불을 끄려고 했다!" -#: src/player.cpp -msgid "You set your mech's leg power to a loping fast walk." -msgstr "" - -#: src/player.cpp -msgid "You nudge your steed into a steady trot." -msgstr "" - -#: src/player.cpp -msgid "You start walking." -msgstr "" - -#: src/player.cpp -msgid "You set the power of your mech's leg servos to maximum." -msgstr "" - -#: src/player.cpp -msgid "You spur your steed into a gallop." -msgstr "" - -#: src/player.cpp -msgid "You start running." -msgstr "달리기 시작했다." - -#: src/player.cpp -msgid "Your steed is too tired to go faster." -msgstr "" - -#: src/player.cpp -msgid "You're too tired to run." -msgstr "너무 지쳐서 달릴 수 없다." - -#: src/player.cpp -msgid "You reduce the power of your mech's leg servos to minimum." -msgstr "" - -#: src/player.cpp -msgid "You slow your steed to a walk." -msgstr "" - -#: src/player.cpp -msgid "You start crouching." -msgstr "" - #: src/player.cpp #, c-format msgid "Your ground sonar detected a %1$s to the %2$s!" @@ -202440,15 +208073,6 @@ msgstr "" msgid "You lose your balance while being hit!" msgstr "" -#: src/player.cpp -#, c-format -msgid "You were attacked by %s!" -msgstr "%s에게 공격받았다!" - -#: src/player.cpp -msgid "You were hurt!" -msgstr "다쳤다!" - #: src/player.cpp msgid "A snake sprouts from your body!" msgstr "몸에서 뱀이 자라나기 시작한다!" @@ -202540,8 +208164,8 @@ msgid "You are slammed against %s!" msgstr "%s에 내던져졌다!" #: src/player.cpp -msgid "...but your shock absorbers negate the damage!" -msgstr "...그러나 충격 흡수기가 피해를 무효화했다!" +msgid "…but your shock absorbers negate the damage!" +msgstr "" #: src/player.cpp #, c-format @@ -202598,8 +208222,8 @@ msgid "You have starved to death." msgstr "굶주려 죽기 직전이다." #: src/player.cpp -msgid "Food..." -msgstr "먹을거..." +msgid "Food…" +msgstr "" #: src/player.cpp msgid "Due to insufficient nutrition, your body is suffering from starvation." @@ -202608,12 +208232,12 @@ msgstr "" #: src/player.cpp msgid "" "Despite having something in your stomach, you still feel like you haven't " -"eaten in days..." +"eaten in days…" msgstr "" #: src/player.cpp -msgid "Your stomach feels so empty..." -msgstr "위장이 텅 빈 것 같다..." +msgid "Your stomach feels so empty…" +msgstr "" #: src/player.cpp msgid "You are EMACIATED!" @@ -202632,24 +208256,24 @@ msgid "You have died of dehydration." msgstr "탈수증으로 죽기 직전이다." #: src/player.cpp -msgid "Even your eyes feel dry..." -msgstr "눈이 말라간다..." +msgid "Even your eyes feel dry…" +msgstr "" #: src/player.cpp msgid "You are THIRSTY!" msgstr "갈증이 심하다!" #: src/player.cpp -msgid "Your mouth feels so dry..." -msgstr "입이 말라간다..." +msgid "Your mouth feels so dry…" +msgstr "" #: src/player.cpp msgid "Survivor sleep now." msgstr "생존자가 잠에 빠져들었다." #: src/player.cpp -msgid "Anywhere would be a good place to sleep..." -msgstr "어디서든지 잠들 수 있을 것 같다." +msgid "Anywhere would be a good place to sleep…" +msgstr "" #: src/player.cpp msgid "You feel like you haven't slept in days." @@ -202668,8 +208292,8 @@ msgid "*yawn* You should really get some sleep." msgstr "*하암* 잠을 좀 자야 할 것 같다." #: src/player.cpp -msgid "Your mind feels tired. It's been a while since you've slept well." -msgstr "당신의 마음은 피곤함을 느낍니다. 오랜만에 푹 주무시겠네요." +msgid "Your mind feels tired. It's been a while since you've slept well." +msgstr "" #: src/player.cpp msgid "" @@ -202679,20 +208303,16 @@ msgstr "잠을 제대로 못 자서 마음이 뿌옇게 느껴지고, 눈은 계 #: src/player.cpp msgid "" -"Your mind feels weary, and you dread every wakeful minute that passes. You " +"Your mind feels weary, and you dread every wakeful minute that passes. You " "crave sleep, and feel like you're about to collapse." msgstr "" -"여러분의 마음은 피곤함을 느끼고, 여러분은 지나가는 모든 깨어있는 순간들을 두려워합니다. 당신은 잠을 갈망하고, 곧 쓰러질 것 같은 " -"기분을 느낍니다." #: src/player.cpp msgid "" "You haven't slept decently for so long that your whole body is screaming for" -" mercy. It's a miracle that you're still awake, but it just feels like a " +" mercy. It's a miracle that you're still awake, but it just feels like a " "curse now." msgstr "" -"당신은 너무 오랫동안 제대로 잠을 자지 않아서 온몸이 자비를 구합니다. 당신이 아직 깨어 있는 것은 기적이지만, 지금은 단지 저주처럼 " -"느껴질 뿐입니다." #: src/player.cpp msgid "" @@ -202732,14 +208352,6 @@ msgstr "%s에 소독한 상처가 회복되었다." msgid "There is not enough %s left to siphon it." msgstr "빨아들일 만큼 %s이(가) 충분히 남아있지 않다." -#: src/player.cpp -msgid "You cough heavily." -msgstr "기침이 심하다." - -#: src/player.cpp -msgid "a hacking cough." -msgstr "마른 기침이 나온다." - #: src/player.cpp msgid "Your body is wracked with excruciating pain!" msgstr "고문하는 듯한 고통 때문에 괴롭다!" @@ -202785,11 +208397,6 @@ msgstr "%s로 인해 고통이 느껴진다!" msgid "Your %s aches." msgstr "%s에 통증이 느껴진다." -#: src/player.cpp -#, c-format -msgid "Your current health value is %d." -msgstr "현재 건강도는 %d이다." - #: src/player.cpp #, c-format msgid "Your %s HURTS!" @@ -202903,13 +208510,15 @@ msgstr "%1$s이(가) 말했다. \"%2$s\"" msgid "You increase %1$s to level %2$d." msgstr "" +#. ~ %1$s: weapon name #: src/player.cpp -msgid "Your " -msgstr "Your" +#, c-format +msgid "Your %1$s" +msgstr "" #: src/player.cpp -msgid "You suddenly feel so numb..." -msgstr "갑자기 어떤 느낌도 나지 않는다..." +msgid "You suddenly feel so numb…" +msgstr "" #: src/player.cpp msgid "You start to shake uncontrollably." @@ -202920,6 +208529,12 @@ msgstr "통제할 수 없을 정도로 떨리기 시작했다." msgid "yourself shout, %s" msgstr "" +#. ~ %1$s: weapon name +#: src/player.cpp +#, c-format +msgid "your %1$s" +msgstr "" + #: src/player.cpp msgid "You're suddenly overcome with the urge to sleep and you pass out." msgstr "당신은 갑자기 자고 싶은 충동에 사로잡혀 기절합니다." @@ -203020,8 +208635,8 @@ msgid "Suddenly, your eyes stop working!" msgstr "갑자기 눈 앞이 보이지 않는다!" #: src/player.cpp -msgid "Your visual centers must be acting up..." -msgstr "시각 중추는 분명 멀쩡한 게 확실한데..." +msgid "Your visual centers must be acting up…" +msgstr "" #: src/player.cpp msgid "You feel an anomalous sensation coming from your radiation sensors." @@ -203097,8 +208712,8 @@ msgid "You shake uncontrollably." msgstr "떨림이 멈추지 않는다." #: src/player.cpp -msgid "You feel nauseous..." -msgstr "구역질난다..." +msgid "You feel nauseous…" +msgstr "" #: src/player.cpp msgid "You black out!" @@ -203113,8 +208728,8 @@ msgid "You stumble and fall over!" msgstr "비틀거리다 쓰러졌다!" #: src/player.cpp -msgid "You feel tired..." -msgstr "피곤하다..." +msgid "You feel tired…" +msgstr "" #: src/player.cpp msgid "You tiredly rub your eyes." @@ -203264,10 +208879,6 @@ msgstr "텅 빈 %s을(를) 버렸다." msgid "%c - %d empty %s" msgstr "%c-%d개 빈 %s" -#: src/player.cpp -msgid "You sink your roots into the soil." -msgstr "뿌리를 흙 속 깊이 내렸다." - #: src/player.cpp src/veh_interact.cpp #, c-format msgid "Refill %s" @@ -203295,7 +208906,7 @@ msgstr "%1$s (%2$d)" #, c-format msgctxt "magazine" msgid "%1$s with %2$s (%3$d)" -msgstr "" +msgstr "%1$s 과(와) %2$s (%3$d)" #: src/player.cpp msgid "| Location " @@ -203425,6 +209036,10 @@ msgstr "사슴뿔" msgid "Can't wield spilt liquids." msgstr "흘린 액체를 장비할 수 없습니다." +#: src/player.cpp +msgid "You need at least one arm to even consider wielding something." +msgstr "" + #: src/player.cpp msgid "Something you are wearing hinders the use of both hands." msgstr "착용한 장비가 양 손을 사용하는 것을 방해한다." @@ -203517,20 +209132,43 @@ msgstr "%s에는 고칠 부분이 없다." msgid "Mend which fault?" msgstr "어느 부분을 수리합니까?" -#: src/player.cpp src/veh_interact.cpp -msgid "Time required:\n" -msgstr "소요 시간:\n" +#: src/player.cpp +#, c-format +msgid "Turns into: %s\n" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "Time required: %s\n" +msgstr "" #: src/player.cpp -msgid "Skills:\n" -msgstr "기술:\n" +msgid "Skills: none\n" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "Skills: %s\n" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level +#: src/player.cpp +#, c-format +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level +#: src/player.cpp +#, c-format +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" -#. ~ %1$s represents the internal color name which shouldn't be translated, -#. %2$s is skill name, and %3$i is skill level #: src/player.cpp #, c-format -msgid "> %2$s %3$i\n" -msgstr "> %2$s %3$i\n" +msgid "You are currently unable to mend the %s this way." +msgstr "" #: src/player.cpp msgid "You are already wearing that." @@ -203556,13 +209194,13 @@ msgstr "이(가) %s을(를) 착용했다." #: src/player.cpp #, c-format -msgid "Your %s are very encumbered! %s" -msgstr "%s을(를) 움직이기 힘들어졌다! %s" +msgid "Your %s are very encumbered! %s" +msgstr "" #: src/player.cpp #, c-format -msgid "Your %s is very encumbered! %s" -msgstr "%s을(를) 움직이기 힘들어졌다! %s" +msgid "Your %s is very encumbered! %s" +msgstr "" #: src/player.cpp msgid "You're deafened!" @@ -203570,14 +209208,13 @@ msgstr "귀가 멀었다!" #: src/player.cpp #, c-format -msgid "This %s is too big to wear comfortably! Maybe it could be refitted..." -msgstr "%s은(는) 너무 커서 편하게 입을 수 없다! 아마 수리해야 한다..." +msgid "This %s is too big to wear comfortably! Maybe it could be refitted…" +msgstr "" #: src/player.cpp #, c-format -msgid "" -"This %s is too small to wear comfortably! Maybe it could be refitted..." -msgstr "%s 은(는) 너무 작아서 편하게 입을 수 없다! 아마 수리해야 한다..." +msgid "This %s is too small to wear comfortably! Maybe it could be refitted…" +msgstr "" #: src/player.cpp #, c-format @@ -203700,18 +209337,6 @@ msgstr "미사용 플루토늄 %i개를 회수했다." msgid "You can't remove partially depleted plutonium!" msgstr "부분적으로 고갈된 플루토늄은 제거할 수 없다!" -#: src/player.cpp -#, c-format -msgid "Your %s needs %d charge from some UPS." -msgid_plural "Your %s needs %d charges from some UPS." -msgstr[0] "%s에는 UPS 충전량 %d이 필요하다." - -#: src/player.cpp -#, c-format -msgid "Your %s has %d charge but needs %d." -msgid_plural "Your %s has %d charges but needs %d." -msgstr[0] "%s에는 %d만큼 충전되어있지만, %d 더 필요하다." - #. ~ %1$s - gunmod, %2$s - gun. #: src/player.cpp #, c-format @@ -203752,8 +209377,8 @@ msgid "It's impossible to sleep in this wheeled pot!" msgstr "이런 바퀴 달린 냄비통에선 잠이 오지 않는다!" #: src/player.cpp -msgid "The humans' furniture blocks your roots. You can't get comfortable." -msgstr "인간의 가구가 뿌리를 막고 있다. 안락함이 느껴지지 않는다." +msgid "The humans' furniture blocks your roots. You can't get comfortable." +msgstr "" #: src/player.cpp msgid "Your roots scrabble ineffectively at the unyielding surface." @@ -203766,8 +209391,8 @@ msgid "" msgstr "우리의 섬유는 우리 밑의 땅과 섞여 있습니다. 목의 아가미는 우리의 의식이 희미해지면서 공기중으로 씨앗을 뿌리기 시작합니다." #: src/player.cpp -msgid "These thick webs support your weight, and are strangely comfortable..." -msgstr "두꺼운 거미줄이 무게를 지탱해 주니 이상할만큼 편안하다..." +msgid "These thick webs support your weight, and are strangely comfortable…" +msgstr "" #: src/player.cpp msgid "You try to sleep, but the webs get in the way. You brush them aside." @@ -203788,12 +209413,12 @@ msgstr "두꺼운 거미줄에선 잠을 청하기 쉬울것 같다." #: src/player.cpp msgid "" -"You lay beneath the waves' embrace, gazing up through the water's surface..." -msgstr "당신은 파도의 포옹 아래에 누워 수면 위를 올려다보고..." +"You lay beneath the waves' embrace, gazing up through the water's surface…" +msgstr "" #: src/player.cpp -msgid "You settle into the water and begin to drowse..." -msgstr "당신은 마침내 물속에서 졸기 시작했습니다." +msgid "You settle into the water and begin to drowse…" +msgstr "" #: src/player.cpp msgid "This is a comfortable place to sleep." @@ -203846,76 +209471,6 @@ msgstr "" msgid "Your soporific inducer starts back up." msgstr "" -#: src/player.cpp -msgid "You nestle your pile of clothes for warmth." -msgstr "옷더미 속의 따스한 곳에 자리를 잡았다." - -#: src/player.cpp -msgid "You use your pile of clothes for warmth." -msgstr "온기를 위해 옷더미를 사용했다." - -#: src/player.cpp -#, c-format -msgid "You snuggle your %s to keep warm." -msgstr "보온을 위해 %s을(를) 바짝 끌어안았다." - -#: src/player.cpp -#, c-format -msgid "You use your %s to keep warm." -msgstr "보온을 위해 %s을(를) 사용했다." - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Entered hibernation." -msgstr "겨울잠에 접어든다." - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Entered hibernation." -msgstr "겨울잠에 접어든다." - -#. ~ %s is armor name -#: src/player.cpp -#, c-format -msgctxt "memorial_male" -msgid "Worn %s was completely destroyed." -msgstr "입고 있던 %s이(가) 닳아서 완전히 파괴되었다." - -#: src/player.cpp -#, c-format -msgctxt "memorial_female" -msgid "Worn %s was completely destroyed." -msgstr "입고 있던 %s이(가) 닳아서 완전히 파괴되었다." - -#: src/player.cpp -#, c-format -msgid "Your %s is completely destroyed!" -msgstr "%s이(가) 완전히 파괴되었다!" - -#: src/player.cpp -#, c-format -msgid "'s %s is completely destroyed!" -msgstr "의 %s이(가) 완전히 파괴되었다!" - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s further!" -msgstr "%1$s이(가) 더 %2$s 상태가 되었다!" - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s!" -msgstr "%1$s이(가) %2$s 상태가 되었다!" - -#: src/player.cpp src/veh_interact.cpp -msgid "destroyed" -msgstr "박살난" - -#: src/player.cpp -#, c-format -msgid "This task is too simple to train your %s beyond %d." -msgstr "이 작업은 %s 기술을 %d 이상 훈련하기엔 너무 간단하다." - #: src/player.cpp #, c-format msgid "Your skill in %s has increased to %d!" @@ -203927,8 +209482,9 @@ msgid "You feel that %s tasks of this level are becoming trivial." msgstr "이 정도의 %s작업은 쉬워진 것 같다." #: src/player.cpp -msgid "You resume your task." -msgstr "작업을 재개했다." +#, c-format +msgid "This task is too simple to train your %s beyond %d." +msgstr "이 작업은 %s 기술을 %d 이상 훈련하기엔 너무 간단하다." #: src/player.cpp msgid "Wield what?" @@ -203940,8 +209496,8 @@ msgstr "시간이 느리게 느껴지더니 본능적으로 피했다!" #: src/player.cpp #, c-format -msgid "%s dodges... so fast!" -msgstr "%s이(가) 아주 빠르게... 피했다!" +msgid "%s dodges… so fast!" +msgstr "" #: src/player.cpp msgid "You try to dodge but there's no room!" @@ -203952,79 +209508,6 @@ msgstr "피하려고 했지만, 피할 공간이 없다!" msgid "%s tries to dodge but there's no room!" msgstr "%s이(가) 피하려고 했지만, 피할 공간이 없다!" -#: src/player.cpp -msgid "You start hauling items along the ground." -msgstr "바닥에 있는 물건들을 끌기 시작했다." - -#: src/player.cpp -msgid "Your hands are not free, which makes hauling slower." -msgstr "손에 물건이 있어 끄는 속도가 더 느려진다." - -#: src/player.cpp -msgid "You stop hauling items." -msgstr "끌고 다니는 것을 멈췄다." - -#: src/player.cpp -msgid "Your body strains under the weight!" -msgstr "짐이 너무 무겁다!" - -#: src/player.cpp -#, c-format -msgid "You remove the %s's harness." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You climb on the %s." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You hear your %s whir to life." -msgstr "" - -#: src/player.cpp -msgid "You are ejected from your mech!" -msgstr "" - -#: src/player.cpp -msgid " is ejected from their mech!" -msgstr "" - -#: src/player.cpp -msgid "You fall off your mount!" -msgstr "" - -#: src/player.cpp -msgid " falls off their mount!" -msgstr "" - -#: src/player.cpp src/trapfunc.cpp -msgid "You hurt yourself!" -msgstr "착지를 잘못해 다쳤다!" - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Fell off a mount." -msgstr "" - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Fell off a mount." -msgstr "" - -#: src/player.cpp -msgid "Dismount where?" -msgstr "" - -#: src/player.cpp -msgid "You cannot dismount there!" -msgstr "" - -#: src/player.cpp -msgid "Wielding: " -msgstr "들고 있는 것: " - #: src/player.cpp #, c-format msgid "You (%s)" @@ -204068,7 +209551,7 @@ msgstr "%s 기술이 %d로 떨어졌다!" #: src/player.cpp msgid "Very Hungry" -msgstr "" +msgstr "매우 배고픔" #: src/player.cpp msgid "Peckish" @@ -204078,45 +209561,22 @@ msgstr "" msgid "Pain " msgstr "" +#. ~ skill_name current_skill_level -> next_skill_level (% to next level) #: src/player_activity.cpp #, c-format -msgid "Crafting: %s" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Burrowing: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Sawing: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Jackhammering: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Digging: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Disassembling: %d%%" +msgctxt "reading progress" +msgid "%s %d -> %d (%d%%)" msgstr "" #: src/player_activity.cpp #, c-format -msgid "Shoveling: %d%%" +msgid "%s…" msgstr "" #: src/player_activity.cpp #, c-format -msgid "Chopping: %d%%" -msgstr "" +msgid "%s: %s" +msgstr "%s: %s" #: src/player_activity.cpp msgid "You pause for a moment to catch your breath." @@ -204321,47 +209781,57 @@ msgstr "현재 행동 속도:" #: src/player_display.cpp #, c-format -msgid "Overburdened -%s%d%%" -msgstr "무게 초과 -%s%d%%" +msgctxt "speed penalty" +msgid "Overburdened -%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Pain -%s%d%%" -msgstr "고통 -%s%d%%" +msgctxt "speed penalty" +msgid "Pain -%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Thirst -%s%d%%" -msgstr "갈증 -%s%d%%" +msgctxt "speed penalty" +msgid "Thirst -%2d%%" +msgstr "" #: src/player_display.cpp msgid "Underfed" msgstr "" +#. ~ %s: Starving/Underfed (already left-justified), %2d: speed penalty #: src/player_display.cpp #, c-format -msgid "%-20s-%s%d%%" +msgctxt "speed penalty" +msgid "%s-%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Out of Sunlight -%s%d%%" -msgstr "햇빛 -%s%d%%" +msgctxt "speed penalty" +msgid "Out of Sunlight -%2d%%" +msgstr "" +#. ~ %s: sign of bonus/penalty, %2d: speed bonus/penalty #: src/player_display.cpp #, c-format -msgid "Cold-Blooded %s%s%d%%" +msgctxt "speed modifier" +msgid "Cold-Blooded %s%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Quick +%s%d%%" -msgstr "빠름 +%s%d%%" +msgctxt "speed bonus" +msgid "Quick +%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Bionic Speed +%s%d%%" -msgstr "바이오닉 가속 +%s%d%%" +msgctxt "speed bonus" +msgid "Bionic Speed +%2d%%" +msgstr "" #: src/player_display.cpp #, c-format @@ -204394,19 +209864,15 @@ msgstr "심각한 영양실조" #: src/player_display.cpp msgid "" -"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" -" \n" +"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" +"\n" msgstr "" -"당신의 몸은 굶주림으로 인해 심각하게 약해졌다. 제대로 된 식사를 하지 못한다면 죽을 것이다!\n" -" \n" #: src/player_display.cpp msgid "" -"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" -" \n" +"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" +"\n" msgstr "" -"당신의 몸은 굶주림으로 인해 약해졌다. 제대로 된 식사와 시간만이 회복하는데 도움을 줄 것이다.\n" -" \n" #: src/player_display.cpp src/veh_interact.cpp msgid "Strength" @@ -204506,30 +209972,30 @@ msgid " vomits thousands of live spores!" msgstr "은(는) 셀 수 없이 많은 양의 포자를 토해냈다!" #: src/player_hardcoded_effects.cpp -msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" -msgstr "부러진 팔이 부풀더니 진균체 줄기가 터져나왔다!" +msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" +msgstr "" #: src/player_hardcoded_effects.cpp -msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" -msgstr "의 부러진 팔이 부풀더니, 진균체 줄기가 터져나왔다!" +msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "" -"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " +"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " "through!" -msgstr "부러진 팔과 안 부러진 팔이 부풀더니 진균체 줄기가 터져나왔다!" +msgstr "" #: src/player_hardcoded_effects.cpp -msgid "'s arms bulge. Fungus stalks burst out of the bulges!" -msgstr "의 팔이 부풀더니, 진균체 줄기가 터져나왔다!" +msgid "'s arms bulge. Fungus stalks burst out of the bulges!" +msgstr "" #: src/player_hardcoded_effects.cpp -msgid "Your hands bulge. Fungus stalks burst through the bulge!" -msgstr "손이 부풀더니, 진균체 줄기가 터져나왔다!" +msgid "Your hands bulge. Fungus stalks burst through the bulge!" +msgstr "" #: src/player_hardcoded_effects.cpp -msgid "'s hands bulge. Fungus stalks burst through the bulge!" -msgstr "의 손이 부풀더니, 진균체 줄기가 터져나왔다!" +msgid "'s hands bulge. Fungus stalks burst through the bulge!" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "You feel nauseous!" @@ -204576,8 +210042,8 @@ msgid "\"Oh God, what's happening?\"" msgstr "\"오 맙소사, 대체 무슨 일이 벌어지고 있는 거야?\"" #: src/player_hardcoded_effects.cpp -msgid "\"Of course... it's all fractals!\"" -msgstr "\"물론... 모두 프랙탈이야!\"" +msgid "\"Of course… it's all fractals!\"" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "\"Huh? What was that?\"" @@ -204612,8 +210078,8 @@ msgid "You quiver from the cold." msgstr "추위에 몸이 약간 떨린다." #: src/player_hardcoded_effects.cpp -msgid "Your torso is freezing cold. You should put on a few more layers." -msgstr "상체가 꽁꽁 얼 정도로 차갑다. 옷을 몇 겹 더 겹쳐 입어야 한다." +msgid "Your torso is freezing cold. You should put on a few more layers." +msgstr "" #: src/player_hardcoded_effects.cpp msgid "Your shivering makes you unsteady." @@ -204812,8 +210278,8 @@ msgid "You shudder suddenly." msgstr "갑자기 몸이 떨려온다." #: src/player_hardcoded_effects.cpp -msgid "Your vision is filled with bright lights..." -msgstr "시야에 밝은 빛이 가득 들어온다..." +msgid "Your vision is filled with bright lights…" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "You're suddenly covered in ectoplasm." @@ -204987,6 +210453,47 @@ msgstr "" msgid "Your alarm went off." msgstr "" +#: src/player_hardcoded_effects.cpp +msgid "You lose control of your body as it begins to convulse!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You lose conciousness!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "arm" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "hand" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "leg" +msgstr "" + +#: src/player_hardcoded_effects.cpp +#, c-format +msgid "Your %s suddenly jerks in an unexpected direction!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep hold of your weapon." +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep your footing." +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You suddenly lose all muscle tone, and can't support your own weight!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You have a splitting headache." +msgstr "" + #: src/ranged.cpp #, c-format msgid "Your %s misfires with a muffled click!" @@ -205137,7 +210644,7 @@ msgstr "" #: src/ranged.cpp #, c-format -msgid "[%c] to steady your aim. (10 moves)" +msgid "[%c] to steady your aim. (10 moves)" msgstr "" #: src/ranged.cpp @@ -205306,7 +210813,7 @@ msgid "Effective Spell Radius: %s%s" msgstr "" #: src/ranged.cpp -msgid " WARNING! IN RANGE" +msgid " WARNING! IN RANGE" msgstr "" #: src/ranged.cpp @@ -205408,10 +210915,6 @@ msgstr "쿠와앙!" msgid "none" msgstr "없음" -#: src/recipe.cpp -msgid "none" -msgstr "" - #: src/recipe.cpp #, c-format msgid "%s%% at >%s units" @@ -205423,7 +210926,7 @@ msgstr "%s%% at >%s units" #, c-format msgid "%1$d tool with %2$s of %3$d or more." msgid_plural "%1$d tools with %2$s of %3$d or more." -msgstr[0] "" +msgstr[0] "%1$d %2$s 기능 %3$d 단계 이상의 도구" #. ~ %1$s: tool name, %2$d: charge requirement #: src/requirements.cpp @@ -205433,6 +210936,14 @@ msgid "%1$s (%2$d charge)" msgid_plural "%1$s (%2$d charges)" msgstr[0] "" +#. ~ %1$s: item name, %2$d: charge requirement +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%1$s (%2$d of infinite)" +msgid_plural "%1$s (%2$d of infinite)" +msgstr[0] "" + #. ~ %1$s: item name, %2$d: charge requirement, %3%d: available charges #: src/requirements.cpp #, c-format @@ -205449,6 +210960,14 @@ msgid "%1$s (%2$d)" msgid_plural "%1$s (%2$d)" msgstr[0] "" +#. ~ %1$s: item name, %2$d: required count +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%2$d %1$s of infinite" +msgid_plural "%2$d %1$s of infinite" +msgstr[0] "" + #. ~ %1$s: item name, %2$d: required count, %3%d: available count #: src/requirements.cpp #, c-format @@ -205532,8 +211051,8 @@ msgid "Safe Mode manager currently inactive." msgstr "안전모드 관리자 현재 비활성 상태." #: src/safemode_ui.cpp -msgid "Default rules are used. Add a rule to activate." -msgstr "기본 규칙세트가 사용되었습니다. 작동시키려면 규칙을 추가하세요." +msgid "Default rules are used. Add a rule to activate." +msgstr "" #: src/safemode_ui.cpp msgid "Press ~ to add a default ruleset to get started." @@ -205545,7 +211064,7 @@ msgstr "허용" #: src/safemode_ui.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" +"* is used as a Wildcard. A few Examples:\n" "\n" "human matches every NPC\n" "zombie matches the monster name exactly\n" @@ -205554,14 +211073,6 @@ msgid "" "*cid*zo*ie multiple * are allowed\n" "AcI*zO*iE case insensitive search" msgstr "" -"* 와일드카드로 사용. 이하 예문:\n" -"\n" -"인간 모든 NPC 적용(human도 가능)\n" -"좀비 이름이 정확히 일치하는 괴물 적용\n" -"산성 좀* '산성 좀'으로 시작하는 괴물 적용\n" -"*좀비 '좀비'로 끝나는 괴물 적용\n" -"*어다*는*비 이렇게 * 여러 개를 써도 되지만\n" -"eMp*맨* 대소문자에 유의" #: src/safemode_ui.cpp msgid "Safe Mode Rule:" @@ -205576,8 +211087,8 @@ msgid "Option: " msgstr "설정: " #: src/safemode_ui.cpp -msgid "No monsters loaded. Please start a game first." -msgstr "로딩된 괴물이 없습니다. 먼저 게임을 시작해주세요." +msgid "No monsters loaded. Please start a game first." +msgstr "" #: src/safemode_ui.cpp #, c-format @@ -205590,8 +211101,8 @@ msgid "Lists monsters regardless of their attitude." msgstr "괴물의 태도를 고려하지 않은 목록임에 유의." #: src/safemode_ui.cpp -msgid "Safe Mode is not enabled in the options. Enable it now?" -msgstr "안전모드 설정이 켜져 있지 않습니다. 지금 설정합니까?" +msgid "Safe Mode is not enabled in the options. Enable it now?" +msgstr "" #: src/safemode_ui.cpp msgid "safemode configuration" @@ -205630,11 +211141,6 @@ msgstr "" msgid "KILLS" msgstr "" -#: src/sdltiles.cpp -msgid "" -"Sets which video display will be used to show the game. Requires restart." -msgstr "화면을 보여줄 때 영상을 어떻게 출력할지를 설정합니다. 설정 후 게임을 재시작해야 합니다." - #: src/skill.cpp msgid "The zen-most skill there is." msgstr "" @@ -205691,6 +211197,10 @@ msgstr "유효한 시작 위치를 생성할 수 없습니다. 이 실패내역 msgid "d: delete history" msgstr "d: 내역 삭제" +#: src/teleport.cpp +msgid "You feel a strange, inwards force." +msgstr "" + #: src/teleport.cpp msgid "You cannot teleport safely." msgstr "" @@ -205700,7 +211210,11 @@ msgid "You die after teleporting into a solid." msgstr "" #: src/teleport.cpp -msgid "You exlpode into thousands of fragments." +msgid "You feel disjointed." +msgstr "" + +#: src/teleport.cpp +msgid "You explode into thousands of fragments." msgstr "" #: src/teleport.cpp @@ -206026,12 +211540,12 @@ msgid "vvrrrRRMM*POP!*" msgstr "우와와와와왕! *펑!*" #: src/trapfunc.cpp -msgid "The air shimmers around you..." -msgstr "주위의 허공이 일렁인다..." +msgid "The air shimmers around you…" +msgstr "" #: src/trapfunc.cpp #, c-format -msgid "The air shimmers around %s..." +msgid "The air shimmers around %s…" msgstr "" #: src/trapfunc.cpp @@ -206047,8 +211561,8 @@ msgid "The acidic goo eats away at your feet." msgstr "산성 점액이 발을 침식해오고 있다." #: src/trapfunc.cpp -msgid "BEEPBOOP! Please remove non-organic object." -msgstr "삑삑! 비유기물을 제거해 주십시오." +msgid "BEEPBOOP! Please remove non-organic object." +msgstr "" #: src/trapfunc.cpp msgid "The dissector lights up, and shuts down." @@ -206064,7 +211578,7 @@ msgstr "바닥에서 전기 광선이 나와 의 살을 잘라버렸다 #: src/trapfunc.cpp #, c-format -msgid "Electrical beams emit from the floor and slice your %s!" +msgid "Electrical beams emit from the floor and slice the %s!" msgstr "" #: src/trapfunc.cpp @@ -206148,8 +211662,8 @@ msgid "Your %s is burned by the lava!" msgstr "" #: src/trapfunc.cpp -msgid "You fail to attach it..." -msgstr "붙잡는데 실패했다..." +msgid "You fail to attach it…" +msgstr "" #: src/trapfunc.cpp msgid "There's nowhere to pull yourself to, and you sink!" @@ -206284,8 +211798,21 @@ msgid "Set turret targeting" msgstr "터렛 조준 설정" #: src/turret.cpp -msgid "Can't aim turrets: all turrets are offline" -msgstr "터렛 조준 불가: 모든 터렛 꺼짐" +msgid "auto -> manual" +msgstr "" + +#: src/turret.cpp +msgid "manual -> auto" +msgstr "" + +#: src/turret.cpp +msgid "manual (turret control unit required for auto mode)" +msgstr "" + +#: src/turret.cpp +msgid "" +"Can't aim turrets: all turrets are offline or set to manual targeting mode." +msgstr "" #: src/turret.cpp msgid "Aim which turret?" @@ -206327,16 +211854,18 @@ msgstr "존 스미스" #: src/tutorial.cpp msgid "" "You're saving a tutorial - the tutorial world lacks certain features of " -"normal worlds. Weird things might happen when you load this save. You have " -"been warned." +"normal worlds. Weird things might happen when you load this save. You have" +" been warned." msgstr "" -"튜토리얼 맵을 저장하려고 합니다. 튜토리얼 월드맵은 일반 월드맵에 존재하는 몇 가지 특징이 없습니다. 이 게임을 다시 불러오면 버그가 " -"생길 수 있음을 경고합니다." #: src/veh_interact.cpp msgid "Select part" msgstr "부품 선택" +#: src/veh_interact.cpp +msgid "Time required:\n" +msgstr "소요 시간:\n" + #: src/veh_interact.cpp msgid "Skills required:\n" msgstr "필요 기술:\n" @@ -206509,11 +212038,11 @@ msgid "Search for part" msgstr "부품 검색" #: src/veh_interact.cpp -msgid "Your morale is too low to construct..." -msgstr "뭔가를 건설하기엔 의욕이 나지 않는다..." +msgid "Your morale is too low to construct…" +msgstr "" #: src/veh_interact.cpp -msgid "It's too dark to see what you are doing..." +msgid "It's too dark to see what you are doing…" msgstr "" #: src/veh_interact.cpp @@ -206521,7 +212050,7 @@ msgid "You can't install parts while driving." msgstr "운전 중에 부품을 설치할 수는 없다." #: src/veh_interact.cpp -msgid "Installing this part will make the vehicle unfoldable. Continue?" +msgid "Installing this part will make the vehicle unfoldable. Continue?" msgstr "" #: src/veh_interact.cpp @@ -206529,8 +212058,8 @@ msgid "Choose shape:" msgstr "모양 선택:" #: src/veh_interact.cpp -msgid "Your morale is too low to repair..." -msgstr "의욕이 너무 낮아 수리할 수 없다." +msgid "Your morale is too low to repair…" +msgstr "" #: src/veh_interact.cpp msgid "You can't repair stuff while driving." @@ -206549,8 +212078,8 @@ msgid "This part cannot be repaired" msgstr "이 부품은 수리할 수 없다." #: src/veh_interact.cpp -msgid "Your morale is too low to mend..." -msgstr "너무 의욕이 낮아서 수리할 생각이 들지 않는다..." +msgid "Your morale is too low to mend…" +msgstr "" #: src/veh_interact.cpp msgid "No faulty parts require mending." @@ -206673,6 +212202,8 @@ msgid "" "> %1$s1 tool with %2$s %3$i OR %4$sstrength ( " "assisted ) %5$i" msgstr "" +"> %1$s %2$s 기능 %3$i 단계 이상의 도구 1 개 또는 %4$s힘 ( 도움" +" 받음 )%5$i" #. ~ %1$s represents the internal color name which shouldn't be translated, #. %2$s is the tool quality, %3$i is tool level, %4$s is the internal color @@ -206722,8 +212253,8 @@ msgid "You can't siphon from a moving vehicle." msgstr "이동중인 차량에선 흡인할 수 없다." #: src/veh_interact.cpp -msgid "Select part to siphon: " -msgstr "마실 부품 선택:" +msgid "Select part to siphon:" +msgstr "" #: src/veh_interact.cpp msgid "The vehicle has no solid fuel left to remove." @@ -207096,7 +212627,7 @@ msgstr "%s을(를) 설치하려면 기초 부품이 있어야 한다." msgid "" "Press space, choose a facing direction for the new %s and confirm with " "enter." -msgstr "" +msgstr "스페이스바를 누르고, %s 이(가) 향할 방향을 정한 후 엔터를 눌러 결정합니다." #: src/veh_interact.cpp #, c-format @@ -207196,6 +212727,11 @@ msgstr "들고 있던 차량 부품이 파괴되었다!" msgid "Lost connection with the vehicle due to distance!" msgstr "거리가 너무 멀어져서 차량과의 연결이 끊겼다!" +#: src/vehicle.cpp +#, c-format +msgid "the %s emitting a beep and saying \"Obstacle detected!\"" +msgstr "" + #. ~ backfire sound #: src/vehicle.cpp #, c-format @@ -207257,7 +212793,7 @@ msgstr "받침대에 %1$s을(를) 올릴 수 없었다." #: src/vehicle.cpp #, c-format msgid "" -"A part of the vehicle ('%s') has no containing vehicle's name. It will be " +"A part of the vehicle ('%s') has no containing vehicle's name. It will be " "detached from the %s vehicle." msgstr "" @@ -207318,6 +212854,7 @@ msgid "" "This vehicle belongs to: %s, there may be consequences if you are observed " "interacting with it, continue?" msgstr "" +"이 차량은 %s에 속해 있습니다. 이 차량을 조작하는 것을 다른 사람이 볼 경우 좋지 않은 결과가 생길 수 있습니다. 진행합니까?" #: src/vehicle.cpp #, c-format @@ -207363,8 +212900,8 @@ msgid "The %1$s's %2$s is destroyed!" msgstr "%1$s의 %2$s이(가) 부서졌다!" #: src/vehicle_display.cpp -msgid "More parts here..." -msgstr "그 외에 더 많이 있다..." +msgid "More parts here…" +msgstr "" #: src/vehicle_display.cpp #, c-format @@ -207465,7 +213002,7 @@ msgstr "%s의 엔진에서 취익거리는 소리가 났다." #: src/vehicle_move.cpp #, c-format msgid "Your %s is not fast enough to keep up with the %s" -msgstr "" +msgstr "%s 은(는) %s 을(를) 따라갈 만큼 빠르지 않다." #. ~ 1$s - vehicle name, 2$s - part name, 3$s - NPC or monster #: src/vehicle_move.cpp @@ -207758,7 +213295,7 @@ msgstr "" #: src/vehicle_use.cpp msgctxt "electronics menu option" -msgid "rockhead" +msgid "roadheader" msgstr "" #: src/vehicle_use.cpp @@ -207837,8 +213374,8 @@ msgid "You could use a screwdriver to hotwire it." msgstr "스크류 드라이버를 사용해 강제로 시동을 걸 수 있다." #: src/vehicle_use.cpp -msgid "You destroy the controls..." -msgstr "조종장치를 부숴버렸다..." +msgid "You destroy the controls…" +msgstr "" #: src/vehicle_use.cpp msgid "You damage the controls." @@ -207860,6 +213397,28 @@ msgstr "차량 위치 삭제" msgid "Remember vehicle position" msgstr "차량 위치 기억" +#: src/vehicle_use.cpp +msgid "Choose action for the autopilot" +msgstr "" + +#: src/vehicle_use.cpp +msgid "Patrol…" +msgstr "" + +#: src/vehicle_use.cpp +msgid "" +"Program the autopilot to patrol a nearby vehicle patrol zone. If no zones " +"are nearby, you will be prompted to create one." +msgstr "" + +#: src/vehicle_use.cpp +msgid "Stop…" +msgstr "" + +#: src/vehicle_use.cpp +msgid "Stop all autopilot related activities." +msgstr "" + #: src/vehicle_use.cpp msgid "You stop keeping track of the vehicle position." msgstr "차량 위치 추적을 중단했다." @@ -207904,14 +213463,14 @@ msgstr "엔진 끄기" msgid "Turn on the engine" msgstr "엔진 켜기" -#: src/vehicle_use.cpp -msgid "You turn the engine off." -msgstr "엔진을 껐다." - #: src/vehicle_use.cpp msgid "Honk horn" msgstr "경적 울리기" +#: src/vehicle_use.cpp +msgid "Control autopilot" +msgstr "" + #: src/vehicle_use.cpp msgid "Disable cruise control" msgstr "크루즈 모드 해제" @@ -208036,6 +213595,10 @@ msgstr "%s이(가) 삐걱거리는 소리와 철커덕하는 소리 를 냈다." msgid "the %s starting" msgstr "" +#: src/vehicle_use.cpp +msgid "You turn the engine off." +msgstr "엔진을 껐다." + #: src/vehicle_use.cpp msgid "You honk the horn!" msgstr "경적을 울렸다!" @@ -208056,8 +213619,8 @@ msgstr "경적을 울렸지만, 아무 일도 일어나지 않았다." #: src/vehicle_use.cpp #, c-format -msgid "Move how many? [Have %d] (0 to cancel)" -msgstr "얼마나 움직입니까? [최대 %d] (0로 취소)" +msgid "Move how many? [Have %d] (0 to cancel)" +msgstr "" #: src/vehicle_use.cpp msgid "a simple melody blaring from the loudspeakers." @@ -208133,6 +213696,10 @@ msgstr "" msgid "Only CBMs can be sterilized in an autoclave." msgstr "" +#: src/vehicle_use.cpp +msgid "You should put your CBMs in autoclave pouches to keep them sterile." +msgstr "" + #: src/vehicle_use.cpp msgid "You turn the autoclave on and it starts its cycle." msgstr "" @@ -208246,6 +213813,15 @@ msgstr "" msgid "You untie your %s." msgstr "" +#: src/vehicle_use.cpp +msgid "Load a vehicle on the rack" +msgstr "" + +#: src/vehicle_use.cpp +#, c-format +msgid "Remove the %s from the rack" +msgstr "" + #: src/vehicle_use.cpp msgid "Examine vehicle" msgstr "차량 조사" @@ -208366,8 +213942,8 @@ msgid "Your power armor protects you from the acidic drizzle." msgstr "파워 아머가 산성 이슬비를 막아줬다." #: src/weather.cpp -msgid "The acid rain stings, but is mostly harmless for now..." -msgstr "산성비는 따갑지만, 지금은 그다지 해롭지 않다..." +msgid "The acid rain stings, but is mostly harmless for now…" +msgstr "" #: src/weather.cpp msgid "Your umbrella protects you from the acid rain." @@ -208452,8 +214028,8 @@ msgstr "%s 밤" #: src/weather.cpp #, c-format -msgid "%s... %s. Highs of %s. Lows of %s. " -msgstr "%s... %s. 최고 %s. 최저 %s. " +msgid "%s… %s. Highs of %s. Lows of %s. " +msgstr "" #: src/weather.cpp #, c-format @@ -208704,16 +214280,16 @@ msgstr "얼마나?" #: src/wish.cpp #, c-format -msgid "Wish granted. Wish for more or hit [%s] to quit." -msgstr "물품 생성됨. 다른 것을 선택하거나 [%s] 키로 나가기." +msgid "Wish granted. Wish for more or hit [%s] to quit." +msgstr "" #: src/wish.cpp msgid "Select a skill to modify" msgstr "수정할 기술 선택" #: src/wish.cpp -msgid "Modify all skills..." -msgstr "모든 기술을..." +msgid "Modify all skills…" +msgstr "" #: src/wish.cpp #, c-format @@ -208722,8 +214298,8 @@ msgstr "@ %d: %s " #: src/wish.cpp #, c-format -msgid "Set '%s' to.." -msgstr "'%s'을(를).." +msgid "Set '%s' to…" +msgstr "" #: src/wish.cpp msgid " (current)" @@ -208821,8 +214397,8 @@ msgstr "모드 불러오기 순서" #: src/worldfactory.cpp #, c-format -msgid "... %s = View full description " -msgstr "...%s = 전체 설명 보기" +msgid "…%s = View full description " +msgstr "" #: src/worldfactory.cpp msgid "--NO AVAILABLE MODS--" @@ -208856,17 +214432,15 @@ msgid "________NO NAME ENTERED!________" msgstr "________이름 없음!________" #: src/worldfactory.cpp -msgid "Are you SURE you're finished? World name will be randomly generated." -msgstr "정말 이대로 끝마칩니까? 월드맵 이름이 무작위로 생성됩니다." +msgid "Are you SURE you're finished? World name will be randomly generated." +msgstr "" #: src/worldfactory.cpp #, c-format msgid "" -"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " +"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " "%s/%s = Prev/Next Tab." msgstr "" -"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " -"%s/%s = Prev/Next Tab." #: src/worldfactory.cpp msgid "World Mods" diff --git a/lang/po/pl.po b/lang/po/pl.po index 6d6f1ecce584b..57b4d4f0d9b82 100644 --- a/lang/po/pl.po +++ b/lang/po/pl.po @@ -7,16 +7,16 @@ # Ewa Cichosz , 2019 # Faalagorn, 2019 # Artur Gromek , 2019 -# Aleksander Sienkiewicz , 2019 # Chris Bittner , 2019 +# Aleksander Sienkiewicz , 2019 # msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.D\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-06 00:47+0800\n" +"POT-Creation-Date: 2019-11-09 00:53+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" -"Last-Translator: Chris Bittner , 2019\n" +"Last-Translator: Aleksander Sienkiewicz , 2019\n" "Language-Team: Polish (https://www.transifex.com/cataclysm-dda-translators/teams/2217/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -350,6 +350,10 @@ msgid "" "or shape. It has been slightly ground to make its properties more uniform." " Only the truly desperate would attempt to reload with this." msgstr "" +"Proch strzelniczy o jakości broni palnej, mieszany bez względu na skład, " +"szybkość spalania i kształt. Został lekko zmielony, aby jego właściwości " +"były bardziej jednolite. Tylko prawdziwie zdesperowani próbowaliby tym " +"przeładować." #: lang/json/AMMO_from_json.py msgid "smokeless shotgun powder" @@ -732,12 +736,8 @@ msgstr "kolczasta rakieta domowej roboty" msgid "" "A hand-built rocket, consisting of a spike welded onto a pipe that was " "filled with improvised rocket fuel. Horribly inaccurate, as can be expected" -" of this grade of weapon, but packs a fierce punch... if it hits." +" of this grade of weapon, but packs a fierce punch… if it hits." msgstr "" -"Domowej roboty rakieta złożona z kolca przyspawanego na rurze, którą " -"wypełniono improwizowanym paliwem rakietowym. Okropnie niecelna jak można " -"się spodziewać po tej klasie broni, ale przypakuje ostry cios... jeśli " -"trafi." #: lang/json/AMMO_from_json.py msgid "explosive home-made rocket" @@ -789,11 +789,9 @@ msgstr "niedokończony węglik wapnia" #. ~ Description for unfinished calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"The incomplete process of converting coal and lime into calcium carbide. " -"Useless in this state/" +"The incomplete process of converting coal and lime into calcium carbide. " +"Useless in this state." msgstr "" -"Niekompletny proces przekształcania węgla i wapna w węglik wapnia. " -"Bezużyteczne w tym stanie." #: lang/json/AMMO_from_json.py msgid "chain link" @@ -917,13 +915,10 @@ msgstr "drewniana strzała myśliwska" #. ~ Description for wooden broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched wooden arrow shaft with a bladed tip. Useful for maximising " +"A fletched wooden arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a decent chance of remaining intact once " "fired." msgstr "" -"Pofałdowany drewniany trzonek zakończony ostrzem. Przydatny do " -"maksymalizacji obrażeń celu. Stoi na przyzwoitej szansie pozostania " -"nienaruszonym po wystrzeleniu." #: lang/json/AMMO_from_json.py msgid "simple wooden arrow" @@ -986,12 +981,9 @@ msgstr "aluminiowa strzała myśliwska" #. ~ Description for aluminum broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched aluminum arrow shaft with a bladed tip. Useful for maximising " +"A fletched aluminum arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a good chance of remaining intact once fired." msgstr "" -"Wykrojony aluminiowy trzonek z ostrzem zakończonym ostrzem. Przydatne do " -"maksymalizacji obrażeń celu. Po wystrzeleniu ma duże szanse pozostania " -"nietkniętymi." #: lang/json/AMMO_from_json.py msgid "aluminum field point arrow" @@ -1149,16 +1141,11 @@ msgstr[3] "siarka" #. ~ Description for sulfur #: lang/json/AMMO_from_json.py msgid "" -"A handful of yellow grains of pure sulfur. Primarily used to make battery " -"acid, sulfur is sometimes used as fuel for explosives. Can be burned to " -"produce acidic smoke, that is deadly to bacteria and humans alike, or " -"oxidized to make paper-bleaching agents." +"A handful of pure sulfur. Primarily used to make battery acid, sulfur is " +"sometimes used as fuel for explosives. Can be burned to produce acidic " +"smoke, that is deadly to bacteria and humans alike, or oxidized to make " +"paper-bleaching agents." msgstr "" -"Garstka żółtych ziaren czystej siarki. Głównie używana do produkcji kwasu " -"siarkowego, ale czasami jest stosowana jako paliwo do materiałów " -"wybuchowych. Może być spalana w celu produkcji kwaśnego dymu, który jest " -"zabójczy zarówno dla bakterii jak i dla ludzi, lub utleniona w celu " -"produkcji wybielaczy do papieru." #: lang/json/AMMO_from_json.py msgid "chunk of sulfur" @@ -1170,8 +1157,8 @@ msgstr[3] "kawałków siarki" #. ~ Description for chunk of sulfur #: lang/json/AMMO_from_json.py -msgid "A large chunk of pure sulfur. Break it up to use it." -msgstr "Spory kawałek czystej siarki. Pokrusz żeby użyć." +msgid "A chunk of pure sulfur. Break it up to use it." +msgstr "" #: lang/json/AMMO_from_json.py msgid "cement" @@ -1318,8 +1305,8 @@ msgstr[3] "" #. ~ Description for zinc oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of zinc oxide. It can be reduced into zinc, or used for some other" -" reactions of its own." +"A handful of zinc oxide. It can be reduced into zinc, or used for some " +"other reactions of its own." msgstr "" #: lang/json/AMMO_from_json.py @@ -1333,7 +1320,7 @@ msgstr[3] "" #. ~ Description for manganese dioxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of manganese dioxide powder. Occurring naturally in the mineral " +"A handful of manganese dioxide powder. Occurring naturally in the mineral " "pyrolusite, it is used commercially in the production of alkaline and zinc-" "carbon batteries." msgstr "" @@ -1349,10 +1336,10 @@ msgstr[3] "" #. ~ Description for potassium chloride #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium chloride. Although it occurs naturally in the mineral" -" sylvite, it can be produced as a byproduct of the reaction of saltpeter and" -" hydrochloric acid. It can be used for making fertilizer, or potassium " -"hydroxide by way of electrolysis." +"A handful of potassium chloride. Although it occurs naturally in the " +"mineral sylvite, it can be produced as a byproduct of the reaction of " +"saltpeter and hydrochloric acid. It can be used for making fertilizer, or " +"potassium hydroxide by way of electrolysis." msgstr "" #: lang/json/AMMO_from_json.py @@ -1366,8 +1353,8 @@ msgstr[3] "" #. ~ Description for potassium hydroxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium hydroxide. Commonly called caustic potash, it was " -"mainly used industrially for its caustic nature. It can be used as an " +"A handful of potassium hydroxide. Commonly called caustic potash, it was " +"mainly used industrially for its caustic nature. It can be used as an " "electrolyte in alkaline batteries, among other applications." msgstr "" @@ -1403,9 +1390,9 @@ msgstr[3] "" #. ~ Description for hydrochloric acid #: lang/json/AMMO_from_json.py msgid "" -"Hydrochloric acid, also known as muriatic acid. It is a strong acid that has" -" a distinctive smell, important and frequently used ever since its " -"discovery. It still has a vast multitude of uses." +"Hydrochloric acid, also known as muriatic acid. It is a strong acid that " +"has a distinctive smell, important and frequently used ever since its " +"discovery. It still has a vast multitude of uses." msgstr "" #: lang/json/AMMO_from_json.py @@ -1461,17 +1448,12 @@ msgstr[3] "tlenek chromu" #. ~ Description for chromium oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of chromium oxide pellets. This substance, typically known as the" -" only stable green pigment for paints, is also a mild oxidizer, which can be" -" mixed with aluminum powder to make thermite for welding. If one had access" -" to a CVD machine and a laboratory worth of reagents, they might be able to " +"A handful of chromium oxide. This substance, typically known as the only " +"stable green pigment for paints, is also a mild oxidizer, which can be mixed" +" with aluminum powder to make thermite for welding. If one had access to a " +"CVD machine and a laboratory worth of reagents, they might be able to " "produce very durable ceramic layers." msgstr "" -"Garść grudek tlenku chromu. Substancja ta jest znana jako jedyny stabilny " -"zielony pigment do farb. Jest też umiarkowanym utleniaczem, a zmieszana ze " -"sproszkowanym aluminium daje termit do spawania. Ktoś z dostępem do maszyny " -"CVD i laboratorium pełnego składników mógłby stworzyć bardzo trwałe powłoki " -"ceramiczne." #: lang/json/AMMO_from_json.py msgid "calcium carbide" @@ -1484,17 +1466,12 @@ msgstr[3] "acetylenek wapnia" #. ~ Description for calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"A handful of calcium carbide chunks, giving off a faint, garlic-like smell." -" Commercially, calcium carbide was used for on-the-spot manufacture of " +"A handful of calcium carbide, giving off a faint, garlic-like smell. " +"Commercially, calcium carbide was used for on-the-spot manufacture of " "acetylene and historically to power acetylene lamps. If mixed with water " "and sealed, it will explode with little strength, but with relatively loud " "noise and could maybe be used as a decoy." msgstr "" -"Garść kawałków węglika wapnia, wydzielająca słaby, przypominający czosnek " -"zapach. Komercyjnie węglik wapnia był używany do wytwarzania od ręki " -"acetylenu, historycznie do zasilania lamp acetylenowych. Jeśli zostanie " -"zmieszany z wodą i uszczelniony, wybuchnie z niewielką siłą, ale przy " -"stosunkowo głośnym hałasie i może być użyty jako przynęta." #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "hexamine" @@ -1737,8 +1714,8 @@ msgstr[3] "" #: lang/json/AMMO_from_json.py msgid "" "Some match head powder from match heads, similar to black gunpowder but a " -"bit weaker. It can be used in crafting explosives and fuses when other more " -"suitable candidates are less available." +"bit weaker. It can be used in crafting explosives and fuses when other more" +" suitable candidates are less available." msgstr "" #: lang/json/AMMO_from_json.py @@ -2175,7 +2152,7 @@ msgstr[3] "" #. ~ Description for flamethrower fuel #: lang/json/AMMO_from_json.py msgid "" -"A mixture of gasoline and diesel oil in equal parts. Its combustion " +"A mixture of gasoline and diesel oil in equal parts. Its combustion " "properties make it unfit for applications where you would use any of them " "separately, but it can be used to feed a flamethrower." msgstr "" @@ -3681,41 +3658,47 @@ msgid "reloaded .460 Rowland" msgstr "zregenerowany .460 Rowland" #: lang/json/AMMO_from_json.py -msgid ".50 BMG tracer" -msgstr "5.56 NATO smugowy" +msgid ".50 BMG M17 tracer" +msgstr "" -#. ~ Description for .50 BMG tracer +#. ~ Description for .50 BMG M17 tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances." +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances." msgstr "" -"Smugowy wariant potężnego pocisku snajperskiego .50 BMG. Ładunek smugowy " -"pozwala śledzić tor lotu pocisku i utrzymywać go w celu, kosztem ryzyka " -"podpalenia łatwopalnych substancji." #: lang/json/AMMO_from_json.py -msgid ".50 BMG Ball" -msgstr ".50 BMG" +msgid ".50 BMG M33 Ball" +msgstr "" + +#. ~ Description for .50 BMG M33 Ball +#: lang/json/AMMO_from_json.py +msgid "" +".50 BMG ammunition with mild steel cored 661gr FMJ bullets. The .50 BMG is " +"a very powerful rifle round designed for anti-aircraft use, later adapted to" +" anti-vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid ".50 BMG Match" +msgstr "" -#. ~ Description for .50 BMG Ball +#. ~ Description for .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise." +".50 BMG FMJ lead core ammunition manufactured with tighter tolerances for " +"long-range competition shooting or other precision rifle use." msgstr "" -"Kule kalibru .50 BMG to bardzo potężne naboje karabinowe przeznaczone do " -"dalekosiężnych strzałów. Niezrównana celność i siła przebicia pancerzy " -"czynią go jeden z najbardziej zabójczych naboi. Jedynie olbrzymi odrzut i " -"hałas wystrzału ograniczają jego zastosowania." #: lang/json/AMMO_from_json.py -msgid ".50 BMG AP" -msgstr ".50 BMG przeciwpancerne" +msgid ".50 BMG M2 AP" +msgstr "" -#. ~ Description for .50 BMG AP +#. ~ Description for .50 BMG M2 AP #: lang/json/AMMO_from_json.py msgid "" "Variant of the .50 BMG round that uses a core of very dense, hardened " @@ -3725,6 +3708,23 @@ msgstr "" "wytrzymałej stali wolframowej. Powiększono tym siłę przepicia, zmniejszając " "obrażenia." +#: lang/json/AMMO_from_json.py +msgid ".50 BMG Raufoss Mk 211" +msgstr "" + +#. ~ Description for .50 BMG Raufoss Mk 211 +#: lang/json/AMMO_from_json.py +msgid "" +"This variant of the .50 BMG round makes the most of the caliber's potential " +"payload delivery: the tip is loaded with an incendiary mix, which ignites on" +" impact, detonating the RDX or PETN charge. This also ignites a secondary " +"zirconium powder incendiary charge that surrounds a tungsten carbide " +"penetrator, both encased by a mild steel cup. Fragments from the cup and " +"burning metallic powder follow the penetrator through armored targets, " +"increasing lethality. These rare, complicated, and expensive rounds are not" +" likely to be manufactured again; use them wisely." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG tracer" msgstr "zregenerowany .50 BMG smugowy" @@ -3732,30 +3732,24 @@ msgstr "zregenerowany .50 BMG smugowy" #. ~ Description for reloaded .50 BMG tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances. This one has been hand-reloaded." +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances. This one has been hand-reloaded." msgstr "" -"Smugowy wariant potężnego pocisku snajperskiego .50 BMG. Ładunek smugowy " -"pozwala śledzić tor lotu pocisku i utrzymywać go w celu, kosztem ryzyka " -"podpalenia łatwopalnych substancji. Ręcznie zregenerowany." #: lang/json/AMMO_from_json.py -msgid "reloaded .50 BMG Ball" -msgstr "zregenerowany .50 BMG" +msgid "reloaded .50 BMG Match" +msgstr "" -#. ~ Description for reloaded .50 BMG Ball +#. ~ Description for reloaded .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise. This" -" one has been hand-reloaded." +".50 BMG ammunition with lead-cored FMJ bullets. The .50 BMG is a very " +"powerful rifle round designed for anti-aircraft use, later adapted to anti-" +"vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -"Pociski kalibru .50 BMG to bardzo potężne naboje karabinowe przeznaczone do " -"dalekosiężnych strzałów. Niezrównana celność i siła przebicia pancerzy " -"czynią go jeden z najbardziej zabójczych naboi. Jedynie olbrzymi odrzut i " -"hałas wystrzału ograniczają jego zastosowania. Ręcznie zregenerowany." #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG AP" @@ -3764,13 +3758,9 @@ msgstr "zregenerowany .50 BMG przeciwpancerny" #. ~ Description for reloaded .50 BMG AP #: lang/json/AMMO_from_json.py msgid "" -"Variant of the .50 BMG round that uses a core of very dense, hardened " -"tungsten steel. Penetration is increased, but damage is reduced. This one " -"has been hand-reloaded." +"Variant of the .50 BMG round that uses a core hardened steel. Penetration " +"is increased, but damage is reduced. This one has been hand-reloaded." msgstr "" -"Wariant pocisków .50 BMG w których użyto rdzenia z bardzo gęstej i " -"wytrzymałej stali wolframowej. Powiększono tym siłę przepicia, zmniejszając " -"obrażenia. Ręcznie zregenerowany." #: lang/json/AMMO_from_json.py msgid ".500 S&W Magnum" @@ -4872,6 +4862,106 @@ msgstr "Trochę zarodników grzybów." msgid "fungal flower" msgstr "grzybiczy kwiat" +#: lang/json/AMMO_from_json.py +msgid "potassium alum" +msgstr "" + +#. ~ Description for potassium alum +#: lang/json/AMMO_from_json.py +msgid "" +"Small water-soluble white crystals with watery metallic odor, historically " +"used for many different purposes. Also known as potash alum and potassium " +"aluminum sulfate; often called simply alum, as it's the most important " +"member of the generic class of compounds called alums." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cloth dye powder" +msgstr "" + +#. ~ Description for cloth dye powder +#: lang/json/AMMO_from_json.py +msgid "" +"This is a powdered colorful cloth dye, which can be used to dye many fabrics" +" if combined with water and some mordant." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel buckle" +msgstr "" + +#. ~ Description for steel buckle +#: lang/json/AMMO_from_json.py +msgid "A steel buckle, like that usually found on belts." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "plastic button" +msgstr "" + +#. ~ Description for plastic button +#: lang/json/AMMO_from_json.py +msgid "A plastic button, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel button" +msgstr "" + +#. ~ Description for steel button +#: lang/json/AMMO_from_json.py +msgid "A steel button, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "wooden button" +msgstr "" + +#. ~ Description for wooden button +#: lang/json/AMMO_from_json.py +msgid "A crude wooden button, usually found on very old clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel snap fastener" +msgstr "" + +#. ~ Description for steel snap fastener +#: lang/json/AMMO_from_json.py +msgid "A steel snap fastener, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "touch fastener" +msgstr "" + +#. ~ Description for touch fastener +#: lang/json/AMMO_from_json.py +msgid "" +"This is a pair of cloth strips, one of which has tiny hooks and another has " +"tiny loops. Useful as a fastener for clothing and footwear." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "long plastic zipper" +msgstr "" + +#. ~ Description for long plastic zipper +#: lang/json/AMMO_from_json.py +msgid "A long zipper made from plastic, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "short plastic zipper" +msgstr "" + +#. ~ Description for short plastic zipper +#: lang/json/AMMO_from_json.py +msgid "" +"A short zipper made from plastic, usually found on footwear or clothing " +"pockets." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "red paint" msgid_plural "red paint" @@ -5050,7 +5140,7 @@ msgstr[3] "" #: lang/json/AMMO_from_json.py msgid "" "A slightly brittle metal. Apart from being an essential mineral that the " -"body needs, it reacts readily with acids, alkalis and other non-metals. It " +"body needs, it reacts readily with acids, alkalis and other non-metals. It " "can be crushed to make zinc powder, used in the production of batteries, " "among other things." msgstr "" @@ -5144,11 +5234,9 @@ msgstr "zawias drzwiowy" #. ~ Description for door hinge #: lang/json/AMMO_from_json.py msgid "" -"A small metal hinge with two metal plates with screw holes. Useful for " +"A small metal hinge with two metal plates with screw holes. Useful for " "making doors." msgstr "" -"Mały metalowy zawias z dwiema metalowymi płytkami z otworami na śruby. " -"Przydatne do robienia drzwi." #: lang/json/AMMO_from_json.py msgid "tin powder" @@ -5157,7 +5245,7 @@ msgstr "" #. ~ Description for tin powder #: lang/json/AMMO_from_json.py msgid "" -"A fine gray powder composed of tin, usable for making solder and lining " +"A fine gray powder composed of tin, usable for making solder and lining " "containers to prevent corrosion." msgstr "" @@ -5204,6 +5292,395 @@ msgid "" "explosions." msgstr "" +#: lang/json/AMMO_from_json.py +msgid "rubber sole" +msgstr "" + +#. ~ Description for rubber sole +#: lang/json/AMMO_from_json.py +msgid "" +"This is a sole made from rubber, usually found on the bottoms of boots. Can" +" be used for making actual boots." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cotton scraps" +msgid_plural "cotton scraps" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for cotton scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of cotton, waste material from tailoring " +"projects. Not useful for much and usually disposed of, but can be recycled " +"into some thread if you really want." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "faux fur scraps" +msgid_plural "faux fur scraps" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for faux fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of faux fur, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "felt scraps" +msgid_plural "felt scraps" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for felt scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of felt, waste material from tailoring projects." +" Not useful for much and usually disposed of, but can be recycled into some" +" wool fiber if you really want." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "fur scraps" +msgid_plural "fur scraps" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of fur, waste material from tailoring projects. " +"Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar scraps" +msgid_plural "Kevlar scraps" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for Kevlar scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of Kevlar fabric, waste material from tailoring " +"projects. Normally it's disposed of, but since Kevlar would be very " +"difficult to make in a post-apocalyptic world, it might be worth recycling " +"it for Kevlar thread." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "leather scraps" +msgid_plural "leather scraps" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for leather scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of leather, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lycra scraps" +msgid_plural "lycra scraps" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for lycra scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of lycra, waste material from tailoring projects." +" Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "neoprene scraps" +msgid_plural "neoprene scraps" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for neoprene scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of neoprene, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric scraps" +msgid_plural "synthetic fabric scraps" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for synthetic fabric scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of synthetic fabric, waste material from " +"tailoring projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex scraps" +msgid_plural "Nomex scraps" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for Nomex scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of heat-resistant Nomex fabric, waste material " +"from tailoring projects. Normally it's disposed of, but since Nomex would " +"be very difficult to make in a post-apocalyptic world, it might be worth " +"recycling it." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cotton sheet" +msgstr "" + +#. ~ Description for cotton sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of cotton fabric, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork cotton clothing parts" +msgid_plural "patchwork cotton clothing parts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for patchwork cotton clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from cotton patches in " +"a patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "faux fur sheet" +msgstr "" + +#. ~ Description for faux fur sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of fake synthetic colorful fur, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork faux fur clothing parts" +msgid_plural "patchwork faux fur clothing parts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for patchwork faux fur clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from faux fur patches " +"in a patchwork fashion. Suitable for making most clothing, though it's much" +" less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "felt sheet" +msgstr "" + +#. ~ Description for felt sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of felt, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork felt clothing parts" +msgid_plural "patchwork felt clothing parts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for patchwork felt clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from felt patches in a " +"patchwork fashion. Suitable for making most clothing, though it's much less" +" time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar sheet" +msgstr "" + +#. ~ Description for Kevlar sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Kevlar synthetic fabric, suitable for making bulletproof armor. " +"In this form, unlike rigid plates, it can be stitched." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lycra sheet" +msgstr "" + +#. ~ Description for lycra sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of synthetic fabric blended with stretchy lycra fibers, suitable for" +" making flexible yet strong clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork lycra clothing parts" +msgid_plural "patchwork lycra clothing parts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for patchwork lycra clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from lycra patches in a" +" patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py lang/json/GENERIC_from_json.py +msgid "neoprene sheet" +msgid_plural "neoprene sheets" +msgstr[0] "arkusz neoprenu" +msgstr[1] "arkusz neoprenu" +msgstr[2] "arkusz neoprenu" +msgstr[3] "arkusz neoprenu" + +#. ~ Description for neoprene sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of neoprene, a synthetic rubber, suitable for making underwater " +"gear." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork neoprene clothing parts" +msgid_plural "patchwork neoprene clothing parts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for patchwork neoprene clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from neoprene patches " +"in a patchwork fashion, with waterproofed seams. Suitable for making most " +"clothing, though it's much less time-efficient than if using proper material" +" sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex sheet" +msgstr "" + +#. ~ Description for Nomex sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Nomex synthetic fabric, suitable for making heat-resistant " +"clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork Nomex clothing parts" +msgid_plural "patchwork Nomex clothing parts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for patchwork Nomex clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together with Nomex thread from " +"Nomex patches in a patchwork fashion. Suitable for making most clothing, " +"though it's much less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric sheet" +msgstr "" + +#. ~ Description for synthetic fabric sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of synthetic fabric, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork synthetic fabric clothing parts" +msgid_plural "patchwork synthetic fabric clothing parts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for patchwork synthetic fabric clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from synthetic fabric " +"patches in a patchwork fashion. Suitable for making most clothing, though " +"it's much less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar thread" +msgstr "" + +#. ~ Description for Kevlar thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some very durable Kevlar thread that would be particularly useful for making" +" ballistic armor, though it's fine to use in place of normal thread too, in " +"most cases. Making armor-grade Kevlar sheets from this would need a " +"particularly tight weave, and so would need some specialized machinery." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex thread" +msgstr "" + +#. ~ Description for Nomex thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some heat-resistant Nomex thread that would be particularly useful for " +"making heat protection gear, though it's fine to use in place of normal " +"thread too, in most cases." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "handloaded .22 CB" msgid_plural "handloaded .22 CB" @@ -5854,6 +6331,18 @@ msgstr "" "płonąć w wysokiej temperaturze po trafieniu w cel, przebijając pancerz i " "powodując zapłon palnych substancji. " +#: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py +msgid "orichalcum arrow" +msgstr "" + +#. ~ Description for orichalcum arrow +#: lang/json/AMMO_from_json.py +msgid "" +"An arrow composed of a sliver of orichalcum. The arrow has a mysterious " +"glow. Has a very high chance of staying intact when fired, however can only" +" be fired from Ichaival." +msgstr "" + #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "dragon blood" msgid_plural "dragon blood" @@ -5909,11 +6398,30 @@ msgstr[3] "skrystalizowanych mocy" #. ~ Description for crystallized mana #: lang/json/AMMO_from_json.py msgid "" -"Some crystallized mana. This can be reloaded into rechargable mana crystals," -" but can never be unloaded." +"Some crystallized mana. This can be reloaded into rechargable mana " +"crystals, but can never be unloaded." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lump of orichalcum" +msgstr "" + +#. ~ Description for lump of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A heavy formed piece of strange metal. Useful for some crafting recipes." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "sliver of orichalcum" +msgstr "" + +#. ~ Description for sliver of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A sliver of a strange glowing metal. Useful as a weapon, but better suited " +"for crafting." msgstr "" -"Jakaś skrystalizowana moc. Może być ponownie załadowana do kryształów mocy, " -"ale nigdy nie może być rozładowana." #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "fire lance charge" @@ -7189,8 +7697,10 @@ msgstr[3] "pas piersiowy" #. ~ Use action holster_msg for pair of rollerblades. #. ~ Use action holster_msg for pair of rollerskates. #. ~ Use action holster_msg for C.R.I.T web belt. +#. ~ Use action holster_msg for technomancer's toolbelt. #. ~ Use action holster_msg for hollow cane. -#: lang/json/ARMOR_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/ARMOR_from_json.py lang/json/ARMOR_from_json.py +#: lang/json/GENERIC_from_json.py #, no-python-format msgid "You sheath your %s" msgstr "Chowasz swój %s do pochwy" @@ -7957,6 +8467,52 @@ msgid "" "small straps designed to better distribute the weight." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail chausses" +msgid_plural "pairs of chainmail chausses" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for pair of chainmail chausses +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail chausses that cover the feet, like booties made of " +"chainmail." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail gloves" +msgid_plural "pairs of chainmail gloves" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for pair of chainmail gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail gloves. They fully enclose the fingers and provide " +"excellent protection, but are somewhat cumbersome." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "faraday chainmail suit" +msgid_plural "faraday chainmail suits" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for faraday chainmail suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A fully customized chainmail suit that can be worn over your normal " +"clothing. The suit is conductively interconnected, protecting against " +"electricity." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "leather chaps" msgid_plural "leather chaps" @@ -8151,6 +8707,32 @@ msgstr "" "Kolorowy i absurdalny kostium odpowiedni dla klowna. Zapewnia przyzwoitą " "ilość miejsca w kieszeniach." +#: lang/json/ARMOR_from_json.py +msgid "clown wig" +msgid_plural "clown wigs" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for clown wig +#: lang/json/ARMOR_from_json.py +msgid "A colorful and ridiculous wig fit for a clown." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "clown nose" +msgid_plural "clown noses" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for clown nose +#: lang/json/ARMOR_from_json.py +msgid "A red latex nose often seen being worn by clowns." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fur coat" msgid_plural "fur coats" @@ -8476,6 +9058,24 @@ msgstr "" "Biała, zapinana na guziki, z długimi rękawami, kołnierzykiem i mankietami. " "Wygląda profesjonalnie!" +#: lang/json/ARMOR_from_json.py +msgid "drinking hat" +msgid_plural "drinking hats" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for drinking hat +#: lang/json/ARMOR_from_json.py +msgid "" +"This is an improvised harness that can be worn over other headgear or bare " +"head, made from two small liquid containers, a rubber hose, a bundle of " +"steel wire, and some cordage. A convenient and simple device for hands-free" +" drinking, though the liquid inside would spill if you put it into your " +"backpack." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "wedding dress" msgid_plural "wedding dresses" @@ -8654,6 +9254,36 @@ msgstr "" "Sakwa noszona na biodrze dzięki zintegrowanemu paskowi. Zapewnia nieco " "przestrzeni minimalnie krępując ruchy." +#: lang/json/ARMOR_from_json.py +msgid "underarm protector" +msgid_plural "underarm protectors" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for underarm protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A sturdy cotton plastron that protects much of the torso, the dominant " +"shoulder, and underarm while fencing." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "plastic chest protector" +msgid_plural "plastic chest protectors" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for plastic chest protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A rigid plastic plastron with molded cups to be worn by female fencers for " +"protection while fencing." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fencing jacket" msgid_plural "fencing jackets" @@ -8671,6 +9301,38 @@ msgstr "" "Podbita kurtka z rzepami na plecach używana w szermierce w celu zapobiegania" " wypadkom. Nie ma kieszeni, ale jest bardzo wygodna." +#: lang/json/ARMOR_from_json.py +msgid "lamé (foil)" +msgid_plural "lamé (foil)s" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for lamé (foil) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive vest with the zipper on the back used by " +"fencers for electronic scoring. Its outer layer is a woven mix of sturdy " +"cotton and stainless steel strands." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "lamé (saber)" +msgid_plural "lamé (saber)s" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for lamé (saber) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive jacket used by fencers for electronic " +"scoring. Its outer layer is a woven mix of sturdy cotton and stainless " +"steel strands." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fencing mask" msgid_plural "fencing masks" @@ -8699,6 +9361,36 @@ msgstr "" "Wzmocnione spodnie szermiercze używane podczas pojedynków by zapobiegać " "zranieniu." +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet" +msgid_plural "fencing gauntlets" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for fencing gauntlet +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet (left)" +msgid_plural "fencing gauntlet (left)s" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for fencing gauntlet (left) +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers. This one is left-handed." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of fire gauntlets" msgid_plural "pairs of fire gauntlets" @@ -9164,23 +9856,6 @@ msgstr[3] "futrzane rękawice" msgid "A pair of warm fur gloves. They are somewhat cumbersome." msgstr "Para ciepłych futrzanych rękawic. Mocno krępują dłonie." -#: lang/json/ARMOR_from_json.py -msgid "pair of survivor wetsuit gloves" -msgid_plural "pairs of survivor wetsuit gloves" -msgstr[0] "rękawice do nurkowania ocalonych" -msgstr[1] "rękawice do nurkowania ocalonych" -msgstr[2] "rękawice do nurkowania ocalonych" -msgstr[3] "rękawice do nurkowania ocalonych" - -#. ~ Description for pair of survivor wetsuit gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" -" wear while providing maximum protection under extreme conditions." -msgstr "" -"Para przerabianych wzmacnianych Kevlarem rękawic z neoprenu zmodyfikowanych " -"do ochrony przed żywiołami i komfortu nawet w ekstremalnych warunkach." - #: lang/json/ARMOR_from_json.py msgid "pair of heavy survivor gloves" msgid_plural "pairs of heavy survivor gloves" @@ -9260,6 +9935,22 @@ msgstr "" "zmodyfikowanych do ochrony przed żywiołami i komfortu nawet w ekstremalnych " "warunkach." +#: lang/json/ARMOR_from_json.py +msgid "pair of fingerless survivor gloves" +msgid_plural "pairs of fingerless survivor gloves" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for pair of fingerless survivor gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored cloth gloves with no fingers, modified " +"to be easy to wear while providing maximum protection under extreme " +"conditions." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of medical gloves" msgid_plural "pairs of medical gloves" @@ -9549,19 +10240,6 @@ msgstr "" "Duża para gogli, które odcinają oczy od warunków zewnętrznych. Świetnie " "chronią przed złymi warunkami środowiskowymi." -#: lang/json/ARMOR_from_json.py -msgid "pair of swim goggles" -msgid_plural "pairs of swim goggles" -msgstr[0] "okulary pływackie" -msgstr[1] "okulary pływackie" -msgstr[2] "okulary pływackie" -msgstr[3] "okulary pływackie" - -#. ~ Description for pair of swim goggles -#: lang/json/ARMOR_from_json.py -msgid "A small pair of goggles made for swimming." -msgstr "Okulary przeznaczone do pływania w nich." - #: lang/json/ARMOR_from_json.py msgid "pair of welding goggles" msgid_plural "pairs of welding goggles" @@ -9610,25 +10288,6 @@ msgstr "" "Pełnej długości palto z dwoma rzędami guzików szyte z grubej tkaniny " "wełnianej. Krępuje ruchy, ale jest ciepłe i ma głębokie kieszenie." -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit" -msgid_plural "survivor wetsuits" -msgstr[0] "kombinezon do nurkowania ocalonych" -msgstr[1] "kombinezon do nurkowania ocalonych" -msgstr[2] "kombinezon do nurkowania ocalonych" -msgstr[3] "kombinezon do nurkowania ocalonych" - -#. ~ Description for survivor wetsuit -#: lang/json/ARMOR_from_json.py -msgid "" -"A lightweight, hand-built combination armor made from a cut-down bulletproof" -" vest and a reinforced neoprene wetsuit. Protects from the elements as well" -" as from harm." -msgstr "" -"Domowej roboty lekki kombinezon ochronny powstały z połączenia pociętej " -"kamizelki kuloodpornej i wzmacnianego neoprenowego kombinezonu. Chroni " -"zarówno przed żywiołami jak i obrażeniami." - #: lang/json/ARMOR_from_json.py msgid "hakama" msgid_plural "hakamas" @@ -10269,22 +10928,6 @@ msgstr "" "Przerabiany wzmacniany kaptur z Nomeksu i Kevlaru, bardzo trwały i " "wytrzymały." -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit hood" -msgid_plural "survivor wetsuit hoods" -msgstr[0] "kaptur do nurkowania ocalonych" -msgstr[1] "kaptur do nurkowania ocalonych" -msgstr[2] "kaptur do nurkowania ocalonych" -msgstr[3] "kaptur do nurkowania ocalonych" - -#. ~ Description for survivor wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "" -"A customized armored neoprene and Kevlar hood, very strong and durable." -msgstr "" -"Przerabiany wzmacniany kaptur z neoprenu i Kevlaru, bardzo trwały i " -"wytrzymały." - #: lang/json/ARMOR_from_json.py msgid "light survivor hood" msgid_plural "light survivor hoods" @@ -11180,18 +11823,25 @@ msgstr[2] "skórzany pas" msgstr[3] "skórzany pas" #. ~ Use action holster_msg for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_msg for magic leather belt. +#. ~ Use action holster_msg for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py #, no-python-format msgid "You tuck your %s into your %s" msgstr "Wkładasz swój %s w swój %s" #. ~ Use action holster_prompt for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_prompt for magic leather belt. +#. ~ Use action holster_prompt for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Stick what into your belt" msgstr "Włożyć co za pas?" #. ~ Description for leather belt -#: lang/json/ARMOR_from_json.py +#. ~ Description for magic leather belt +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py msgid "A leather belt. Useful for making your pair of pants fit." msgstr "Skórzany pas. Użyteczny by dopasować parę spodni." @@ -11397,6 +12047,22 @@ msgid "" "variety is favored by the military." msgstr "Zestaw sakw wiązanych na udach, stosowanych przez wojsko." +#: lang/json/ARMOR_from_json.py +msgid "leotard" +msgid_plural "leotard" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for leotard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment, covering the body from the groin to the " +"shoulders. With its deep scoop-cut back and high waist cuts, this garment " +"is perfect for showcasing your physique on the stage." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "Linux t-shirt" msgid_plural "Linux t-shirts" @@ -12440,42 +13106,6 @@ msgstr "" "Długa pochwa do noszenia mieczy i innych długich ostrzy. Posiada pasek, " "którym można dostosować przypięcie. Aktywuj by wyjąć/schować broń." -#: lang/json/ARMOR_from_json.py -msgid "shark suit" -msgid_plural "shark suits" -msgstr[0] "kostium na rekiny" -msgstr[1] "kostium na rekiny" -msgstr[2] "kostium na rekiny" -msgstr[3] "kostium na rekiny" - -#. ~ Description for shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It comes with attached plastic helmet and booties." -msgstr "" -"Jednoczęściowa kolczuga używana przez nurków dla ochrony przed krwiożerczymi" -" rekinami. W zestawie z plastikowym hełmem i butami." - -#: lang/json/ARMOR_from_json.py -msgid "faraday shark suit" -msgid_plural "faraday shark suits" -msgstr[0] "kostium na rekiny faradaya" -msgstr[1] "kostium na rekiny faradaya" -msgstr[2] "kostium na rekiny faradaya" -msgstr[3] "kostium na rekiny faradaya" - -#. ~ Description for faraday shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It has been conductively interconnected, protecting against " -"electricity." -msgstr "" -"Jednoczęściowa kolczuga używana przez nurków dla ochrony przed krwiożerczymi" -" rekinami. Jej ogniwa są połączone więc chroni przez porażeniem " -"elektrycznością." - #: lang/json/ARMOR_from_json.py msgid "sheath" msgid_plural "sheathes" @@ -12566,6 +13196,21 @@ msgid "" "from cuts." msgstr "Szorty dżinsowe, o grubym splocie chroniącym przez skaleczeniami." +#: lang/json/ARMOR_from_json.py +msgid "thermal shirt" +msgid_plural "thermal shirts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for thermal shirt +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, form-fitting long-sleeved spandex undershirt that helps " +"maintains body temperature." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "skinny tie" msgid_plural "skinny ties" @@ -13144,13 +13789,9 @@ msgstr[3] "jednoczęściowy kombinezon dla pacjentów" #: lang/json/ARMOR_from_json.py msgid "" "A thin, short-sleeved and short-legged one-piece suit. Judging by the odd " -"tailoring and adjustment points... maybe you don't want to know who wore " -"it. Provides nominal storage and is not very encumbering." +"tailoring and adjustment points… maybe you don't want to know who wore it. " +"Provides nominal storage and is not very encumbering." msgstr "" -"Cienki jednoczęściowy kombinezon z krótkim rękawkiem i krótkimi nogawkami. " -"Patrząc na udziwnione przeszycia i przeróbki tracisz ochotę by dowiedzieć " -"dla kogo je zaprojektowano. Zapewnia niewielką przestrzeń w kieszeni i nie " -"jest zbyt krępujący." #: lang/json/ARMOR_from_json.py msgid "suit" @@ -13238,6 +13879,7 @@ msgstr[3] "pas ocalonych" #. ~ Use action holster_prompt for survivor utility belt. #. ~ Use action holster_prompt for hiking backpack. #. ~ Use action holster_prompt for C.R.I.T web belt. +#. ~ Use action holster_prompt for technomancer's toolbelt. #: lang/json/ARMOR_from_json.py msgid "Sheath blade" msgstr "Schowaj ostrze" @@ -13708,19 +14350,6 @@ msgstr "" "piratem z Karaibów, zarządcą koloni lub kapitanem postapokaliptycznego " "statku, to będzie dla ciebie doskonały wybór." -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming trunks" -msgid_plural "pairs of swimming trunks" -msgstr[0] "kąpielówki" -msgstr[1] "kąpielówki" -msgstr[2] "kąpielówki" -msgstr[3] "kąpielówki" - -#. ~ Description for pair of swimming trunks -#: lang/json/ARMOR_from_json.py -msgid "A pair of swimming trunks, with netting." -msgstr "Kąpielówki czyli bielizna na plażę i do pływania, z siatką." - #: lang/json/ARMOR_from_json.py msgid "t-shirt" msgid_plural "t-shirts" @@ -14029,68 +14658,6 @@ msgstr "" "Elegancka kamizelka. Idealna na okazje gdzie sama koszula była by zbyt " "luźnym strojem a pełen garnitur przedobrzeniem." -#: lang/json/ARMOR_from_json.py -msgid "wetsuit" -msgid_plural "wetsuits" -msgstr[0] "strój do nurkowania" -msgstr[1] "strój do nurkowania" -msgstr[2] "strój do nurkowania" -msgstr[3] "strój do nurkowania" - -#. ~ Description for wetsuit -#: lang/json/ARMOR_from_json.py -msgid "A full-body neoprene wetsuit." -msgstr "Pokrywający całe ciało neoprenowy piankowy strój do nurkowania." - -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming gloves" -msgid_plural "pairs of swimming gloves" -msgstr[0] "rękawice pływackie" -msgstr[1] "rękawice pływackie" -msgstr[2] "rękawice pływackie" -msgstr[3] "rękawice pływackie" - -#. ~ Description for pair of swimming gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of very flexible neoprene-silicone rubber gloves, suitable for " -"underwater use." -msgstr "" -"Para bardzo elastycznych neoprenowo-silikonowych gumowych rękawic do użytku " -"podwodnego." - -#: lang/json/ARMOR_from_json.py -msgid "wetsuit hood" -msgid_plural "wetsuit hoods" -msgstr[0] "kaptur do nurkowania" -msgstr[1] "kaptur do nurkowania" -msgstr[2] "kaptur do nurkowania" -msgstr[3] "kaptur do nurkowania" - -#. ~ Description for wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "A neoprene hood, commonly worn by divers." -msgstr "Neoprenowy kaptur nurka stanowiący uzupełnienie stroju do nurkowania." - -#: lang/json/ARMOR_from_json.py -msgid "spring suit" -msgid_plural "spring suits" -msgstr[0] "damski strój pływacki" -msgstr[1] "damski strój pływacki" -msgstr[2] "damski strój pływacki" -msgstr[3] "damski strój pływacki" - -#. ~ Description for spring suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A long-sleeved spring wetsuit with pink color details and cleavage-" -"enhancing, hip-accentuating construction. Not as protective as a full-body " -"suit, but also less restrictive." -msgstr "" -"Krótki strój pływacki dla kobiet z długimi rękawami i różowymi wstawkami, " -"podkreślający dekolt i biodra. Nie tak ochronny jak pełny strój pływacki ale" -" o wiele mniej krępujący." - #: lang/json/ARMOR_from_json.py msgid "pair of army winter gloves" msgid_plural "pairs of army winter gloves" @@ -14500,6 +15067,39 @@ msgstr "" "Plastikowa płachta z kilkoma metalowymi oczkami do przywiązywania sznurkiem " "lub kablem. Dobra do improwizowanej ochrony przed deszczem." +#: lang/json/ARMOR_from_json.py +msgid "unitard" +msgid_plural "unitards" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for unitard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment resembling a crew necked leotard combined with " +"leggings. Commonly used by gymnasts, dancers and equestrian vaulters, the " +"unitard provides overall coverage with great flexibility." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "zentai" +msgid_plural "zentais" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for zentai +#: lang/json/ARMOR_from_json.py +msgid "" +"Short for 'zenshin taitsu', a zentai is a form fitting full body nylon and " +"spandex garment. Though it covers your face, you can see through the " +"integrated hood. With a couple of these and some friends and you could put " +"on some kabuki." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of bone arm guards" msgid_plural "pairs of bone arm guards" @@ -17351,6 +17951,8 @@ msgid "" "This is a template for police/medical badges. If found in a game it is a " "bug." msgstr "" +"Jest to szablon odznak policyjnych / medycznych. Jeśli znaleziony w grze, " +"jest to błąd." #: lang/json/ARMOR_from_json.py msgid "cybercop badge" @@ -17799,6 +18401,182 @@ msgstr "" "zbroje DoubleTech kontrola i klimatyzacja wymaga bezpośredniego kontaktu ze " "skórą." +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming trunks" +msgid_plural "pairs of swimming trunks" +msgstr[0] "kąpielówki" +msgstr[1] "kąpielówki" +msgstr[2] "kąpielówki" +msgstr[3] "kąpielówki" + +#. ~ Description for pair of swimming trunks +#: lang/json/ARMOR_from_json.py +msgid "A pair of swimming trunks, with netting." +msgstr "Kąpielówki czyli bielizna na plażę i do pływania, z siatką." + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit" +msgid_plural "wetsuits" +msgstr[0] "strój do nurkowania" +msgstr[1] "strój do nurkowania" +msgstr[2] "strój do nurkowania" +msgstr[3] "strój do nurkowania" + +#. ~ Description for wetsuit +#: lang/json/ARMOR_from_json.py +msgid "A full-body neoprene wetsuit." +msgstr "Pokrywający całe ciało neoprenowy piankowy strój do nurkowania." + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit hood" +msgid_plural "wetsuit hoods" +msgstr[0] "kaptur do nurkowania" +msgstr[1] "kaptur do nurkowania" +msgstr[2] "kaptur do nurkowania" +msgstr[3] "kaptur do nurkowania" + +#. ~ Description for wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "A neoprene hood, commonly worn by divers." +msgstr "Neoprenowy kaptur nurka stanowiący uzupełnienie stroju do nurkowania." + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit hood" +msgid_plural "survivor wetsuit hoods" +msgstr[0] "kaptur do nurkowania ocalonych" +msgstr[1] "kaptur do nurkowania ocalonych" +msgstr[2] "kaptur do nurkowania ocalonych" +msgstr[3] "kaptur do nurkowania ocalonych" + +#. ~ Description for survivor wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "" +"A customized armored neoprene and Kevlar hood, very strong and durable." +msgstr "" +"Przerabiany wzmacniany kaptur z neoprenu i Kevlaru, bardzo trwały i " +"wytrzymały." + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit" +msgid_plural "survivor wetsuits" +msgstr[0] "kombinezon do nurkowania ocalonych" +msgstr[1] "kombinezon do nurkowania ocalonych" +msgstr[2] "kombinezon do nurkowania ocalonych" +msgstr[3] "kombinezon do nurkowania ocalonych" + +#. ~ Description for survivor wetsuit +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, hand-built combination armor made from a cut-down bulletproof" +" vest and a reinforced neoprene wetsuit. Protects from the elements as well" +" as from harm." +msgstr "" +"Domowej roboty lekki kombinezon ochronny powstały z połączenia pociętej " +"kamizelki kuloodpornej i wzmacnianego neoprenowego kombinezonu. Chroni " +"zarówno przed żywiołami jak i obrażeniami." + +#: lang/json/ARMOR_from_json.py +msgid "pair of survivor wetsuit gloves" +msgid_plural "pairs of survivor wetsuit gloves" +msgstr[0] "rękawice do nurkowania ocalonych" +msgstr[1] "rękawice do nurkowania ocalonych" +msgstr[2] "rękawice do nurkowania ocalonych" +msgstr[3] "rękawice do nurkowania ocalonych" + +#. ~ Description for pair of survivor wetsuit gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" +" wear while providing maximum protection under extreme conditions." +msgstr "" +"Para przerabianych wzmacnianych Kevlarem rękawic z neoprenu zmodyfikowanych " +"do ochrony przed żywiołami i komfortu nawet w ekstremalnych warunkach." + +#: lang/json/ARMOR_from_json.py +msgid "spring suit" +msgid_plural "spring suits" +msgstr[0] "damski strój pływacki" +msgstr[1] "damski strój pływacki" +msgstr[2] "damski strój pływacki" +msgstr[3] "damski strój pływacki" + +#. ~ Description for spring suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A long-sleeved spring wetsuit with pink color details and cleavage-" +"enhancing, hip-accentuating construction. Not as protective as a full-body " +"suit, but also less restrictive." +msgstr "" +"Krótki strój pływacki dla kobiet z długimi rękawami i różowymi wstawkami, " +"podkreślający dekolt i biodra. Nie tak ochronny jak pełny strój pływacki ale" +" o wiele mniej krępujący." + +#: lang/json/ARMOR_from_json.py +msgid "faraday shark suit" +msgid_plural "faraday shark suits" +msgstr[0] "kostium na rekiny faradaya" +msgstr[1] "kostium na rekiny faradaya" +msgstr[2] "kostium na rekiny faradaya" +msgstr[3] "kostium na rekiny faradaya" + +#. ~ Description for faraday shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It has been conductively interconnected, protecting against " +"electricity." +msgstr "" +"Jednoczęściowa kolczuga używana przez nurków dla ochrony przed krwiożerczymi" +" rekinami. Jej ogniwa są połączone więc chroni przez porażeniem " +"elektrycznością." + +#: lang/json/ARMOR_from_json.py +msgid "shark suit" +msgid_plural "shark suits" +msgstr[0] "kostium na rekiny" +msgstr[1] "kostium na rekiny" +msgstr[2] "kostium na rekiny" +msgstr[3] "kostium na rekiny" + +#. ~ Description for shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It comes with attached plastic helmet and booties." +msgstr "" +"Jednoczęściowa kolczuga używana przez nurków dla ochrony przed krwiożerczymi" +" rekinami. W zestawie z plastikowym hełmem i butami." + +#: lang/json/ARMOR_from_json.py +msgid "pair of swim goggles" +msgid_plural "pairs of swim goggles" +msgstr[0] "okulary pływackie" +msgstr[1] "okulary pływackie" +msgstr[2] "okulary pływackie" +msgstr[3] "okulary pływackie" + +#. ~ Description for pair of swim goggles +#: lang/json/ARMOR_from_json.py +msgid "A small pair of goggles made for swimming." +msgstr "Okulary przeznaczone do pływania w nich." + +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming gloves" +msgid_plural "pairs of swimming gloves" +msgstr[0] "rękawice pływackie" +msgstr[1] "rękawice pływackie" +msgstr[2] "rękawice pływackie" +msgstr[3] "rękawice pływackie" + +#. ~ Description for pair of swimming gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of very flexible neoprene-silicone rubber gloves, suitable for " +"underwater use." +msgstr "" +"Para bardzo elastycznych neoprenowo-silikonowych gumowych rękawic do użytku " +"podwodnego." + #: lang/json/ARMOR_from_json.py msgid "helmet netting" msgid_plural "helmet nettings" @@ -18515,6 +19293,62 @@ msgstr[1] "bandolier do strzelb" msgstr[2] "bandolier do strzelb" msgstr[3] "bandolier do strzelb" +#: lang/json/ARMOR_from_json.py +msgid "technomancer's toolbelt" +msgid_plural "technomancer's toolbelts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for technomancer's toolbelt +#: lang/json/ARMOR_from_json.py +msgid "" +"A custom-built leather utility belt that instantly creates any tool that you" +" reach for. Activate to sheathe/draw a weapon." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "seven league boots" +msgid_plural "pairs of seven league boots" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for seven league boots +#. ~ Description for boots of haste +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, they look like they've seen a lot of use and will likely see a lot " +"more. They make your movement a lot less work." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "boots of haste" +msgid_plural "pairs of boots of haste" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/ARMOR_from_json.py +msgid "boots of grounding" +msgid_plural "pairs of boots of grounding" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for boots of grounding +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of leather with " +"small engraved runes seemingly filled with rubber. When worn, you are " +"immune to damage from electricity." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "copper infusion bracelet" msgid_plural "copper infusion bracelets" @@ -18541,7 +19375,7 @@ msgstr[3] "" #. ~ Description for copper circlet #: lang/json/ARMOR_from_json.py msgid "" -"A wooden band with copper trimmings to be worn on the head. Touching your " +"A wooden band with copper trimmings to be worn on the head. Touching your " "temples with it on makes you feel very calm." msgstr "" @@ -18945,6 +19779,8 @@ msgid "" "This is a testing item for the BATTERY item type. If you found one in game " "it's a bug." msgstr "" +"To jest element testowy dla typu elementu BATERIA. Jeśli znalazłeś taki w " +"grze, jest to błąd." #: lang/json/BIONIC_ITEM_from_json.py msgid "Fusion Blaster Arm CBM" @@ -19028,6 +19864,10 @@ msgid "" "cost of energy, reducing their ability to deal damage. Bullets will be " "deflected more than swords and those in turn more than massive objects." msgstr "" +"Ten bionik rzutuje cienkie pole siłowe wokół ciała użytkownika. Każda próba " +"penetracji tego pola ma szansę zostać odbita kosztem energii, co zmniejsza " +"ich zdolność do zadawania obrażeń. Pociski będą odbijane bardziej niż " +"miecze, a te z kolei bardziej niż masywne przedmioty." #: lang/json/BIONIC_ITEM_from_json.py msgid "Alarm System CBM" @@ -19291,7 +20131,7 @@ msgstr[3] "System Maskujący CBM" msgid "" "This high-power system uses a set of cameras and LEDs to make the user blend" " into their surroundings, rendering them fully invisible to eyes and optical" -" sensors. However, this does't prevent detection from other means such as " +" sensors. However, this doesn't prevent detection from other means such as " "infrared, sonar, etc." msgstr "" @@ -19405,9 +20245,9 @@ msgstr[3] "Spalacz Etanolu CBM" #. ~ Description for Ethanol Burner CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A reactor that burns alcohol as fuel in an extremely efficient reaction. " -"However, the user will still suffer the inebriating effects of the " -"substance." +"A reactor that burns alcohol as fuel in an extremely efficient reaction. It" +" can store up to 500ml and accept ethanol, methanol and denatured aclohol as" +" fuel." msgstr "" #: lang/json/BIONIC_ITEM_from_json.py @@ -19419,8 +20259,7 @@ msgstr[2] "Aero-Skraplacz CBM" msgstr[3] "Aero-Skraplacz CBM" #. ~ Description for Aero-Evaporator CBM -#. ~ Description for Aero-Evaporator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "This unit draws moisture from the surrounding air, which then is poured from" " a fingertip in the form of water. It may fail in very dry environments." @@ -19471,7 +20310,7 @@ msgstr[3] "Rzeźbiarz Twarzy CBM" #: lang/json/BIONIC_ITEM_from_json.py msgid "" "Through controlled application of electrochemical impulses, this bionic " -"mudule lets the user alter their facial structure so as to subtly affect the" +"module lets the user alter their facial structure so as to subtly affect the" " reactions of others. This grants a bonus to all social interactions." msgstr "" @@ -19501,10 +20340,10 @@ msgstr[3] "Palcowy E-Wytrych" #. ~ Description for Fingerhack CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A miniature electrohack, surgically embedded in a finger of the right hand. " -"This is an all-purpose hacking unit used to override control panels and the " -"like, but not computers. Computer proficiency is important, and a failed " -"use may cause damage." +"A miniature electrohack, surgically embedded in a finger of the right hand." +" This is an all-purpose hacking unit used to override control panels and " +"the like, but not computers. Computer proficiency is important, and a " +"failed use may cause damage." msgstr "" #: lang/json/BIONIC_ITEM_from_json.py @@ -19842,8 +20681,7 @@ msgstr[2] "Generator Sztucznej Nocy CBM" msgstr[3] "Generator Sztucznej Nocy CBM" #. ~ Description for Artificial Night Generator CBM -#. ~ Description for Artificial Night Generator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "When active, this bionic eliminates all light within a 15 tile radius " "through destructive interference." @@ -19925,7 +20763,7 @@ msgstr[3] "Interfejs Pancerzy Wspomaganych Wer.II CBM" msgid "" "Interfaces the user's bionic power system with the internal charging port on" " suits of power armor, allowing them to draw from the user's bionic power " -"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " +"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " "DoubleTech Inc., to meet the popularity of the Mk. II power armor series." msgstr "" @@ -19944,6 +20782,10 @@ msgid "" "units. Having at least one of these is a prerequisite to using powered " "bionics. The user will also need a power supply, found in various CBMs." msgstr "" +"Kompaktowy moduł bioniki, który zwiększa moc użytkownika o 100 jednostek. " +"Posiadanie co najmniej jednego z nich jest warunkiem korzystania z " +"zasilanych bioników. Użytkownik będzie również potrzebował zasilacza " +"znajdującego się w różnych modułach CBM." #: lang/json/BIONIC_ITEM_from_json.py msgid "Power Storage CBM Mk. II" @@ -19992,6 +20834,9 @@ msgid "" "or airborne diseases find their way into the windpipe, the filter will " "attempt to remove them." msgstr "" +"Zaawansowany system filtracji wszczepiony w tchawicę. Jeśli toksyny lub " +"choroby przenoszone przez powietrze przedostaną się do tchawicy, filtr " +"spróbuje je usunąć." #: lang/json/BIONIC_ITEM_from_json.py msgid "Radiation Scrubber System CBM" @@ -20556,7 +21401,7 @@ msgstr[3] "Swędząca Metalowa Rzecz" #. ~ Description for Itchy Metal Thing #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"You can't recognise what this is supposed to be, but it's a very awkward " +"You can't recognize what this is supposed to be, but it's a very awkward " "thing to have in one's body." msgstr "" @@ -20570,9 +21415,8 @@ msgstr[3] "Świecąca Rzecz" #. ~ Description for Glowy Thing #: lang/json/BIONIC_ITEM_from_json.py -msgid "" -"It's a... thing? And it glows, at least it did when it was plugged in." -msgstr "To... rzecz? I świeci, a przynajmniej świeciła jak była przyłączona." +msgid "It's a… thing? And it glows, at least it did when it was plugged in." +msgstr "" #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Leaky Bionic" @@ -21285,8 +22129,8 @@ msgstr[3] "Człowiek na talerzu." #. ~ Description for To Serve Man #: lang/json/BOOK_from_json.py -msgid "It's... it's a cookbook!" -msgstr "To jest... To jest książka kucharska!" +msgid "It's… it's a cookbook!" +msgstr "" #: lang/json/BOOK_from_json.py msgid "Cucina Italiana" @@ -21409,11 +22253,8 @@ msgstr[3] "PE050 \"Alfa\": Raport Wstępny" msgid "" "This sheaf of papers-dated two weeks before all this started-describes some " "new chemical formula, and its effects on human subjects. It's stamped " -"\"APPROVED\"..." +"\"APPROVED\"…" msgstr "" -"Ten zwitek papierów, datowany na dwa tygodnie przed dniem w którym się to " -"wszystko zaczęło - opisuje nowy związek chemiczny, i jego skutki na ludzkich" -" osobnikach badawczych. Ostemplowano \"ZATWIERDZONO\"" #: lang/json/BOOK_from_json.py msgid "lab journal-Dionne" @@ -21447,8 +22288,8 @@ msgstr[3] "PE065 \"Chimera\": Wzorcowe Rozwiązania." #: lang/json/BOOK_from_json.py msgid "" "This sheaf of papers describes a new chemical formula in detail and supplies" -" instructions for its use as some sort of ... crowd-control catalyst? That " -"can't be right..." +" instructions for its use as some sort of… crowd-control catalyst? That " +"can't be right…" msgstr "" #: lang/json/BOOK_from_json.py @@ -21464,11 +22305,8 @@ msgstr[3] "dziennik badań - Smythe" msgid "" "This team logbook details several varieties of mutagenic experiments, " "focusing on those derived from flesh contaminated with XE037. The results " -"look promising but the procurement methods seem awfully vague..." +"look promising but the procurement methods seem awfully vague…" msgstr "" -"Ten zespołowy dziennik opisuje szereg eksperymentów mutagennych, z grupy " -"związków pochodzących ze skażonego XE037 ciała. Rezultaty są obiecujące, ale" -" metody pozyskiwania są dość niejasne." #: lang/json/BOOK_from_json.py msgid "standpipe maintenance log" @@ -21483,11 +22321,8 @@ msgstr[3] "logi konserwacji pompy zwrotnej" msgid "" "This binder details the scheduled maintenance for several plumbing systems " "throughout the facility. However, some of the log sheets seem to be filled " -"with...a chemical formula?" +"with… a chemical formula?" msgstr "" -"Ten segregator opisuje planowane prace konserwacyjne dla kilku systemów " -"hydraulicznych rozmieszczonych wskroś obiektu. Wśród nich, na kilku " -"skoroszytach znajduje się rozpisana... formuła chemiczna?" #: lang/json/BOOK_from_json.py msgid "chemical reference-CLASSIFIED" @@ -21543,11 +22378,8 @@ msgstr[3] "PE023 \"Medyczny\": Zastosowania i Wyniki Badań" #: lang/json/BOOK_from_json.py msgid "" "This binder of highly technical papers describes some new chemical formula, " -"and its effects on human subjects. It's stamped \"APPROVED\"...." +"and its effects on human subjects. It's stamped \"APPROVED\"…" msgstr "" -"Zbindowany, napisany technicznym językiem raport, opisujący nowy związek " -"chemiczny i jego działanie na badanych ludzi. Opieczętowano \"ZATWIERDZONO\"" -" ...." #: lang/json/BOOK_from_json.py msgid "PE070 \"Raptor\": Proposal" @@ -21910,11 +22742,8 @@ msgstr[3] "dziennik badań - Herrera" msgid "" "This hefty binder contains a multitude of diagrams and technical " "specifications for various electronic materials. Some of the diagrams use " -"symbols you've not seen before..." +"symbols you've not seen before…" msgstr "" -"Ten opasły tom zawiera szereg diagramów i specyfikacji technicznych o " -"różnych materiałów elektronicznych. Niektóre diagramy zawierają symbole " -"których wcześniej nigdzie nie widziałeś." #: lang/json/BOOK_from_json.py msgid "2XI design binder-CLASSIFIED" @@ -21999,13 +22828,13 @@ msgstr[3] "" #. ~ Description for nearby fire #. ~ Description for muscle #. ~ Description for wind +#. ~ Description for metabolism #. ~ Description for a smoking device and a source of flame #. ~ Description for abstract map #. ~ Description for seeing this is a bug #. ~ Description for weapon #: lang/json/BOOK_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py #: lang/json/furniture_from_json.py lang/json/skill_from_json.py msgid "seeing this is a bug" msgid_plural "seeing this is a bugs" @@ -22411,13 +23240,9 @@ msgstr[3] "Samopomoc Ładowacza" #: lang/json/BOOK_from_json.py msgid "" "Everything you could ever want to know about handloading ammunition, sealed " -"with a ...childproof cover. Apparently a liability thing, because the " -"chapter on explosive rounds covers them in excellent detail too." +"with a… childproof cover. Apparently a liability thing, because the chapter" +" on explosive rounds covers them in excellent detail too." msgstr "" -"Poradnik w stylu 'wszystko co kiedykolwiek chciałbyś wiedzieć o ręcznym " -"przeładowywaniu i recyklingu amunicji', zamknięty w... dziecioodpornej " -"oprawie. Najwyraźniej dość odpowiedzialny, gdyż rozdział o amunicji " -"wybuchowej opisuje ją w doskonałych szczegółach." #: lang/json/BOOK_from_json.py msgid "Rivtech design binder" @@ -23064,7 +23889,7 @@ msgid "" "This lab notebook is filled with the collective discoveries and refinements " "of a research team dedicated to nuclear energy. You don't think you're " "ready to start a second Cataclysm, but the general information provided " -"might be useful..." +"might be useful…" msgstr "" #: lang/json/BOOK_from_json.py @@ -24020,6 +24845,8 @@ msgid "" "This is a copy of \"Foundation and Empire\" by Isaac Asimov. The back page " "contains a hand-written grocery list." msgstr "" +"To jest kopia „Fundacji i imperium” Izaaka Asimova. Tylna strona zawiera " +"ręcznie napisaną listę zakupów." #: lang/json/BOOK_from_json.py msgid "" @@ -24607,6 +25434,34 @@ msgid "" " that the author's real name is Fereidoun M. Esfandiary." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Bastiat Collection\", a large collection of essays " +"by Frederic Bastiat." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Anarchy, State, and Utopia\" by Robert Nozick, one of " +"the most influential books of modern libertarianism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Socialism\" by Ludwig von Mises, a critical examination " +"of socialism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The ABC of Communism\" by Nikolai Bukharin, one of the " +"most influential books of early Marxism-Leninism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Anti-Capitalist Mentality\" by Ludwig von Mises." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "phone book" msgid_plural "phone books" @@ -24700,8 +25555,8 @@ msgstr[3] "księgi rachunkowe korporacji" #. ~ Description for corporate accounting ledger #: lang/json/BOOK_from_json.py -msgid "If you knew what to look for something might stand out..." -msgstr "Gdybyś tylko wiedział jak szukać rzeczy, które nie pasują..." +msgid "If you knew what to look for something might stand out…" +msgstr "" #: lang/json/BOOK_from_json.py msgid "patient treatment records" @@ -24985,6 +25840,106 @@ msgstr "" msgid "This is a copy of \"The Secret Garden\" by Frances Burnett." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lieutenant Hornblower\" by C.S. Forester." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Master and Commander\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Warden\" by Anthony Trollope." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Far Side of the World\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"HMS Surprise\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Barchester Towers\" by Anthony Trollope." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Land Ironclads\" by H.G. Wells." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Great Boer War\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Crime of the Congo\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Parasite\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"By Stroke of Sword\" by Andrew Balfour." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Secret Agent\" by Joseph Conrad." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lord Jim\" by Joseph Conrad." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Vanity Fair\" by William Makepeace Thackeray." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Luck of Barry Lyndon\" by William Makepeace " +"Thackeray." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"North and South\" by Elizabeth Gaskell." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Mayor of Casterbridge\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Wessex Tales\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Far from the Madding Crowd\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Captains Courageous\" by Rudyard Kipling." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Canterbury Tales\" by Geoffrey Chaucer." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Harold, the Last of the Saxons\" by Edward Bulwer-" +"Lytton." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Mr Midshipman Easy\" by Frederick Marryat." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Peter Simple\" by Frederick Marryat." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "collector's edition book" msgid_plural "collector's edition book" @@ -26156,13 +27111,14 @@ msgstr "Gra, w której gracze próbują dowiedzieć się, kto zamordował lokaja #: lang/json/BOOK_from_json.py msgid "Black Dragons: Swamp Ruins" -msgid_plural "Black Dragons: Swamp Ruinss" +msgid_plural "copies of Black Dragons: Swamp Ruins" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Black Dragons: Swamp Ruins +#. ~ Description for {'str': 'Black Dragons: Swamp Ruins', 'str_pl': 'copies +#. of Black Dragons: Swamp Ruins'} #: lang/json/BOOK_from_json.py msgid "" "This book details black dragons: The most evil of dragons, who live in ruins" @@ -26173,32 +27129,69 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "A Beginner's Guide to Alchemy" -msgid_plural "A Beginner's Guide to Alchemys" +msgid_plural "copies of A Beginner's Guide to Alchemy" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for A Beginner's Guide to Alchemy +#. ~ Description for {'str': "A Beginner's Guide to Alchemy", 'str_pl': +#. "copies of A Beginner's Guide to Alchemy"} #: lang/json/BOOK_from_json.py msgid "A paperback tome for the art of liquid magic, alcohol not included." msgstr "" #: lang/json/BOOK_from_json.py msgid "A Soulbinder's Guide to Necromancy" -msgid_plural "A Soulbinder's Guide to Necromancys" +msgid_plural "copies of A Soulbinder's Guide to Necromancy" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for A Soulbinder's Guide to Necromancy +#. ~ Description for {'str': "A Soulbinder's Guide to Necromancy", 'str_pl': +#. "copies of A Soulbinder's Guide to Necromancy"} #: lang/json/BOOK_from_json.py msgid "" "A paperback tome for the art of binding undead creatures' souls to dolls, " "along with emulating their healing factor." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "Magitek Illustrated" +msgid_plural "copies of Magitek Illustrated" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for {'str': 'Magitek Illustrated', 'str_pl': 'copies of +#. Magitek Illustrated'} +#: lang/json/BOOK_from_json.py +msgid "" +"A paperback tome for the art of combining modern technology with magic. " +"There is a disclaimer on the back: `Cannith Industries bears no " +"responsibility for malfunctions or accidents for any products mentioned " +"herein`." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "The Weapons of Asgard and Beyond" +msgid_plural "copies of The Weapons of Asgard and Beyond" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for {'str': 'The Weapons of Asgard and Beyond', 'str_pl': +#. 'copies of The Weapons of Asgard and Beyond'} +#: lang/json/BOOK_from_json.py +msgid "" +"An ornate book which appears to be written in Norse runes. Based on the " +"detailed illustrations, it appears to contain information about crafting " +"numerous weapons used by various Gods." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "SugarKin flyer" msgid_plural "SugarKin flyers" @@ -26210,23 +27203,23 @@ msgstr[3] "" #. ~ Description for SugarKin flyer #: lang/json/BOOK_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" +"A flyer for some kind of candy. It shows a picture of a gleaming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" " On the back of the flyer you can see some hastily scribbled words:\n" -" \"Hello my child and welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" +" \"Hello, my child, welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" "1) Never ever get into contact with water, it would melt you! \n" -"2) Avoid humans wiht clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" -"3) Learn how to make caramel ointement, it's the only way to fix your body if you get hurt.\n" -" There's many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" +"2) Avoid humans with clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" +"3) Learn how to make caramel ointment, it's the only way to fix your body if you get hurt.\n" +" There are many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" " I love you,\n" " - F. \"." msgstr "" -"Ulotka jakiegoś cukierka. Pokazuje obraz błyszczącego człowieka z gładkiego cukierka, który patrzy na ciebie z przerażeniem. „SugarKin jest pierwszym ludzkim cukierkiem naturalnej wielkości! Czy jesteś prawdziwym potworem? Czy będziesz w stanie go pożreć?”\n" -"Na odwrocie ulotki widnieją pospiesznie nabazgrane słowa:\n" -"  „Witaj moje dziecko i witaj w tym świecie. Świat, w którym będziesz mógł się rozwijać, jeśli będziesz przestrzegać kilku zasad:\n" -"1) Nigdy nie stykaj się z wodą, roztopi cię!\n" -"2) Unikaj ludzi o czystych oczach, ponieważ są bardzo niebezpieczni! (Możesz zignorować tych o czarnych oczach, są dla ciebie nieszkodliwi).\n" -"3) Dowiedz się, jak zrobić maść karmelową, to jedyny sposób, aby naprawić swoje ciało, jeśli doznasz obrażeń.\n" -" Jest wiele innych rzeczy, które chciałbym ci powiedzieć, ale muszę odejść, zanim będzie za późno. Stworzyłem ci przyjaciela, który dotrzyma ci towarzystwa, bądź dla niego miły.\n" +"Ulotka na cukierku. Pokazuje zdjęcie lśniącego człowieka z gładkiego cukierka, który patrzy na ciebie z przerażeniem. „SugarKin jest pierwszym ludzkim cukierkiem naturalnej wielkości! Czy jesteś prawdziwym potworem? Czy będziesz w stanie go pożreć?”\n" +"  Na odwrocie ulotki widnieją pospiesznie nabazgrane słowa:\n" +"  „Witaj, moje dziecko, witaj w tym świecie. Świat, w którym będziesz mógł się rozwijać, jeśli będziesz przestrzegać kilku zasad:\n" +"1) Nigdy nie stykaj się z wodą, utopi Cię!\n" +"2) Unikaj ludzi o czystych oczach, są one bardzo niebezpieczne! (Możesz zignorować tych o czarnych oczach, które są dla ciebie nieszkodliwe).\n" +"3) Dowiedz się, jak zrobić maść karmelową, jest to jedyny sposób, aby naprawić swoje ciało, jeśli doznasz obrażeń.\n" +"  Jest wiele innych rzeczy, które chciałbym ci powiedzieć, ale muszę odejść, zanim będzie za późno. Uczyniłem cię przyjacielem, który dotrzyma ci towarzystwa, bądź dla niego miły.\n" "  Kocham Cię,\n" "  - F. ”." @@ -26772,7 +27765,7 @@ msgstr "" #. ~ Description for acetylene #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flammable gas that explodes under pressure. Combined with oxygen, " +"A flammable gas that explodes under pressure. Combined with oxygen, " "acetylene makes a great welding gas." msgstr "" @@ -27874,6 +28867,43 @@ msgstr "duży ludzki żołądek" msgid "The stomach of a large humanoid creature. It is surprisingly durable." msgstr "Żołądek dużego humanoida. Zadziwiająco odporny." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of human fat" +msgid_plural "chunks of human fat" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for chunk of human fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly harvested from a human body." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human tallow" +msgstr "" + +#. ~ Description for human tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered human fat. It will remain " +"edible for a very long time, and can be used as an ingredient in many foods " +"and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human lard" +msgstr "" + +#. ~ Description for human lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered human fat. It will remain edible for a" +" very long time, and can be used as an ingredient in many foods and " +"projects." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "human flesh" msgid_plural "human fleshes" @@ -27927,6 +28957,65 @@ msgid "" msgstr "" "Nieduży jadalny ścinek mięsa. Niewielki, ale w niedostatku i tyle się nada." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant meat" +msgid_plural "chunks of mutant meat" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for chunk of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Meat from a heavily mutated animal. It has an unsettling loose and spongy " +"texture, but smells… mostly normal. There are strange tangles and " +"formations in it that don't appear natural at all: bits of bone and hair " +"crusted up inside the muscle, as if trying to form another organism. Still," +" seems digestible at least, if you cook it and remove the worst parts." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "scrap of mutant meat" +msgid_plural "scraps of mutant meat" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for scrap of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A tiny scrap of meat from a heavily mutated animal. It smells a bit odd, " +"and has bits of hair and bone mixed in that seem like they grew inside the " +"muscle itself. Still, seems digestible at least, if you cook it and remove " +"the worst parts." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid meat" +msgstr "" + +#. ~ Description for mutant humanoid meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered from the body of a heavily mutated creature that was " +"unsettlingly humanoid in appearance. It has odd bits of fur and other " +"tissue lodged in it that clearly don't belong. You'd have to be crazy or " +"starving to eat this." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked cretin" +msgstr "" + +#. ~ Description for cooked cretin +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Cooked meat from a heavily mutated humanoid. Now that the worst bits have " +"been picked out, it's probably digestible, if not very appetizing." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "butchery refuse" msgid_plural "butchery refuse" @@ -27969,6 +29058,26 @@ msgstr[1] "gotowane skrawki mięsa" msgstr[2] "gotowane skrawki mięsa" msgstr[3] "gotowane skrawki mięsa" +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked mutant meat" +msgstr "" + +#. ~ Description for cooked mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"This is a cooked chunk of meat from a mutated animal. It has an unsettling," +" spongy texture, but otherwise tastes… mostly normal. Hopefully you got all" +" the bits of hair and bone out…" +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked scrap of mutant meat" +msgid_plural "cooked scraps of mutant meat" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + #: lang/json/COMESTIBLE_from_json.py msgid "raw offal" msgstr "surowe podroby" @@ -28218,8 +29327,8 @@ msgstr[3] "surowe mózgi" #. ~ Description for raw brains #: lang/json/COMESTIBLE_from_json.py -msgid "The brain from an animal. You wouldn't want to eat this raw..." -msgstr "Zwierzęcy mózg. Nie chciałbyś jeść tego na surowo..." +msgid "The brain from an animal. You wouldn't want to eat this raw…" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "cooked brains" @@ -28279,8 +29388,8 @@ msgstr "gotowana nerkówka" #. ~ Description for cooked sweetbread #: lang/json/COMESTIBLE_from_json.py -msgid "Normally a delicacy, it needs a little... something." -msgstr "Zwykle jest to przysmak, ale brakuję trochę... czegoś." +msgid "Normally a delicacy, it needs a little… something." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "bone" @@ -28342,6 +29451,82 @@ msgstr "" "jadalny przez bardzo długi czas, i może być wykorzystany do wielu potraw i " "innych celów." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant fat" +msgid_plural "chunks of mutant fat" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for chunk of mutant fat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered fat from a heavily mutated animal. You could eat it raw, " +"but it is better used as an ingredient in other foods or projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant tallow" +msgstr "" + +#. ~ Description for mutant tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"animal. It will remain edible for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant lard" +msgstr "" + +#. ~ Description for mutant lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant animal. It " +"will remain edible for a very long time, and can be used as an ingredient in" +" many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant humanoid fat" +msgid_plural "chunks of mutant humanoid fat" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for chunk of mutant humanoid fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly butchered fat from a heavily mutated humanoid." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid tallow" +msgstr "" + +#. ~ Description for mutant humanoid tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"humanoid. It won't rot for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid lard" +msgstr "" + +#. ~ Description for mutant humanoid lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant humanoid. It" +" won't rot for a very long time, and can be used as an ingredient in many " +"foods and projects." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "chunk of tainted meat" msgid_plural "chunks of tainted meat" @@ -28542,13 +29727,8 @@ msgid "" "covered in ribbed grooves and easily the size of your head. It's still full" " of, er, whatever passes for blood in jabberwocks, and is heavy in your " "hands. After everything you've seen lately, you can't help but remember old" -" sayings about eating the hearts of your enemies..." +" sayings about eating the hearts of your enemies…" msgstr "" -"Gruba, olbrzymia masa ciała na pierwszy rzut oka przypominająca serce ssaka," -" otoczona w prążkowane rowki wielkości twojej głowy. Jest wciąż pełna, em, " -"cokolwiek jest odpowiednikiem krwi żaberzwłoków i czujesz że jest ciężkie. " -"Po wszystkim co ostatnio było ci widziane, nie możesz zapomnieć starego " -"porzekadła o zjadaniu serc swoich wrogów..." #: lang/json/COMESTIBLE_from_json.py msgid "desiccated putrid heart" @@ -28565,7 +29745,7 @@ msgstr "" "zostało wycięte i odsączone ze krwi. Może być zjedzone jeśli doskwiera ci " "głód, ale wygląda *obrzydliwie*." -#: lang/json/COMESTIBLE_from_json.py +#: lang/json/COMESTIBLE_from_json.py lang/json/ammunition_type_from_json.py msgid "raw milk" msgid_plural "raw milk" msgstr[0] "" @@ -28932,7 +30112,7 @@ msgstr[3] "" #. ~ Description for chicory brew #: lang/json/COMESTIBLE_from_json.py msgid "" -"Toasted, ground chicory root steeped in boiling water. This bitter brew is " +"Toasted, ground chicory root steeped in boiling water. This bitter brew is " "used as a coffee substitute, though it tastes nothing like coffee." msgstr "" @@ -29967,13 +31147,14 @@ msgstr "Krążki ananasa w wodnej zalewie. Całkiem smaczne." #: lang/json/COMESTIBLE_from_json.py msgid "lemonade drink mix" -msgid_plural "servings of lemonade drink mix" -msgstr[0] "lemoniada w proszku" -msgstr[1] "lemoniada w proszku" -msgstr[2] "lemoniada w proszku" -msgstr[3] "lemoniada w proszku" +msgid_plural "lemonade drink mix" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for lemonade drink mix +#. ~ Description for {'str': 'lemonade drink mix', 'str_pl': 'lemonade drink +#. mix'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Tangy yellow powder that smells strongly of lemons. Can be mixed with water" @@ -30858,8 +32039,8 @@ msgstr[3] "cukierki z masłem orzechowym" #. ~ Description for peanut butter candy #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of peanut butter cups... your favorite!" -msgstr "Garść kubełków z masłem orzechowym... twoje ulubione." +msgid "A handful of peanut butter cups… your favorite!" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "chocolate candy" @@ -30995,10 +32176,8 @@ msgstr "Pyszny tort czekoladowy. Ta polewa... mmm... polewa." #: lang/json/COMESTIBLE_from_json.py msgid "" "A cake coated in the thickest icing you've ever seen. Someone has written " -"guff in quotation marks on it..." +"guff in quotation marks on it…" msgstr "" -"Ciasto pokryte najgrubszą polewą jaką kiedykolwiek widziałeś. Ktoś wypisał " -"na nim jakieś głupoty w cudzysłowach. " #: lang/json/COMESTIBLE_from_json.py msgid "chocolate-covered coffee bean" @@ -31050,8 +32229,8 @@ msgstr[3] "czekoladki miętowe" #. ~ Description for peppermint patty #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of soft chocolate-covered peppermint patties... yum!" -msgstr "Garść miękkich czekoladek wypełnionych miętowym nadzieniem... mniam!" +msgid "A handful of soft chocolate-covered peppermint patties… yum!" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "Necco wafers" @@ -31244,6 +32423,8 @@ msgid "" "A small, microwaveable steak & cheese burrito, like those found at gas " "stations." msgstr "" +"Mały, nadający się do mikrofalówki stek i burrito z serem, jak te znalezione" +" na stacjach benzynowych." #: lang/json/COMESTIBLE_from_json.py msgid "uncooked TV dinner" @@ -32684,14 +33865,10 @@ msgstr[3] "" #. ~ Description for antibiotics #: lang/json/COMESTIBLE_from_json.py msgid "" -"A prescription-strength antibacterial medication designed to prevent or stop" -" the spread of infection. It's the quickest and most reliable way to cure " -"any infections you might have. One dose lasts twelve hours." +"A strong antibacterial medication designed to prevent or stop the spread of " +"infection. It's the safest way to cure any infections you might have. One " +"dose lasts twelve hours." msgstr "" -"Dostępny na receptę silny lek antybakteryjny zaprojektowany by zapobiec " -"rozprzestrzenianiu się infekcji. Jest najszybszym i najbardziej niezawodnym " -"sposobem leczenia wszelkich infekcji jakie możesz mieć. Jedna dawka starcza " -"na dwanaście godzin." #: lang/json/COMESTIBLE_from_json.py msgid "antifungal drug" @@ -33695,8 +34872,8 @@ msgstr[3] "" #. ~ Description for antiseptic soaked rag #: lang/json/COMESTIBLE_from_json.py msgid "" -"A rag soaked in antiseptic. Useful for light wounds, probaby won't help with" -" deep bites." +"A rag soaked in antiseptic. Useful for light wounds, probaby won't help " +"with deep bites." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -33767,14 +34944,8 @@ msgid "" "oily liquid that shifts from black to purple at unpredictable intervals, " "flecked with tiny gray dots. Given the place you got it from, it's either " "very potent, or highly experimental. Holding it, all the little aches and " -"pains seem to fade, just for a moment..." +"pains seem to fade, just for a moment…" msgstr "" -"Kapsułka żelowa o kolorze czerwonego jabłka wielkości twojego kciuka, " -"wypełniona gęstym oleistym płynem który zmienia się z czarnego na fioletowy " -"w nieprzewidywalnych odstępach czasu, nakrapiany w maleńkie szare kropki. " -"Biorąc pod uwagę miejsce w którym to zdobyłeś albo jest bardzo silne, albo " -"mocno eksperymentalne. Trzymając to, wszystkie drobne bóle zdają się znikać," -" tylko na chwilę..." #: lang/json/COMESTIBLE_from_json.py msgid "cattail jelly" @@ -33793,6 +34964,19 @@ msgstr "" "Przezroczysty żel uzyskany z pałki wodnej. Posiada właściwości antyseptyczne" " i działa też jako środek przeciwbólowy." +#: lang/json/COMESTIBLE_from_json.py +msgid "destragon" +msgstr "" + +#. ~ Description for destragon +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A prescription-strength antibacterial medication designed to prevent or stop" +" the spread of infection. It contains nearly toxic levels of antibiotics, " +"but can treat any bacterial infections you may encounter. One dose lasts " +"twelve hours." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "MRE entree" msgstr "danie główne MRE" @@ -34216,11 +35400,9 @@ msgstr "abstrakcyjny smak mutagenu w kroplówce" #. ~ Description for abstract iv mutagen flavor #: lang/json/COMESTIBLE_from_json.py msgid "" -"A super-concentrated mutagen. You need a syringe to inject it... if you " +"A super-concentrated mutagen. You need a syringe to inject it… if you " "really want to?" msgstr "" -"Super-skoncentrowany mutagen. Potrzebujesz strzykawki do wstrzyknięcia... " -"jeżeli rzeczywiscie tego chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "mutagenic serum" @@ -34234,10 +35416,8 @@ msgstr "serum alfa" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen strongly resembling blood. You need a syringe " -"to inject it... if you really want to?" +"to inject it… if you really want to?" msgstr "" -"Super-skoncentrowany mutagen bardzo przypominający krew. Potrzebujesz " -"strzykawki do wstrzyknięcia... jeżeli rzeczywiście tego chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "beast serum" @@ -34247,10 +35427,8 @@ msgstr "bestialskie serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as red as a matador's cape. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "" -"Super skoncentrowany mutagen w kolorze czerwonym jak peleryna matadora. " -"Potrzebujesz strzykawki, żeby go wstrzyknąć... jeśli naprawdę chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "bird serum" @@ -34260,10 +35438,8 @@ msgstr "ptasie serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the pre-cataclysmic skies. You " -"need a syringe to inject it... if you really want to?" +"need a syringe to inject it… if you really want to?" msgstr "" -"Super-skoncentrowany mutagen w kolorze nieba sprzed kataklizmu. Potrzebujesz" -" strzykawki do wstrzyknięcia... jeżeli rzeczywiście tego chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "cattle serum" @@ -34273,10 +35449,8 @@ msgstr "bydlęce serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of grass. You need a syringe to " -"inject it... if you really want to?" +"inject it… if you really want to?" msgstr "" -"Super-skoncentrowany mutagen w kolorze trawy. Potrzebujesz strzykawki do " -"wstrzyknięcia... jeżeli rzeczywiście tego chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "cephalopod serum" @@ -34286,10 +35460,8 @@ msgstr "głowonogie serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as black as ink. You need a syringe to inject " -"it... if you really want to?" +"it… if you really want to?" msgstr "" -"Super skoncentrowany mutagen tak czarny jak atrament. Potrzebujesz " -"strzykawki, żeby go wstrzyknąć... jeśli naprawdę chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "chimera serum" @@ -34299,10 +35471,8 @@ msgstr "chimeryczne serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that churns with iridescence. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" -"Superskoncentrowany mutagen, który mieni się opalizacją. Potrzebujesz " -"strzykawki, aby ją wstrzyknąć ... jeśli naprawdę chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "elf-a serum" @@ -34312,10 +35482,8 @@ msgstr "serum elf-a" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a striking sylvan green. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" -"Superskoncentrowany mutagen o uderzającej sylvanowej zieleni. Potrzebujesz " -"strzykawki, aby ją wstrzyknąć ... jeśli naprawdę chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "feline serum" @@ -34325,10 +35493,8 @@ msgstr "kocie serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen, yellow and highly reflective. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" -"Superkoncentrowany mutagen, żółty i silnie odblaskowy. Potrzebujesz " -"strzykawki, aby ją wstrzyknąć ... jeśli naprawdę chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "fish serum" @@ -34338,10 +35504,8 @@ msgstr "rybie serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the ocean, with white foam at the " -"top. You need a syringe to inject it... if you really want to?" +"top. You need a syringe to inject it… if you really want to?" msgstr "" -"Super-skoncentrowany mutagen w kolorze oceanu, z białą pianą na wierzchu. " -"Potrzebujesz strzykawki do wstrzyknięcia... jeżeli rzeczywiście tego chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "insect serum" @@ -34351,10 +35515,8 @@ msgstr "owadzie serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a beautiful amber color. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" -"Superkoncentrowany mutagen o pięknym bursztynowym kolorze. Potrzebujesz " -"strzykawki, aby ją wstrzyknąć ... jeśli naprawdę chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "lizard serum" @@ -34364,10 +35526,8 @@ msgstr "jaszczurze serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that shifts between various shades of green. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" -"Superskoncentrowany mutagen, który zmienia różne odcienie zieleni. " -"Potrzebujesz strzykawki, aby ją wstrzyknąć ... jeśli naprawdę chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "lupine serum" @@ -34377,10 +35537,8 @@ msgstr "wilcze serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as white as a full moon. You need a syringe to" -" inject it... if you really want to?" +" inject it… if you really want to?" msgstr "" -"Superkoncentrowany mutagen biały jak księżyc w pełni. Potrzebujesz " -"strzykawki, aby ją wstrzyknąć ... jeśli naprawdę chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "medical serum" @@ -34390,11 +35548,8 @@ msgstr "medyczne serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like a mixture of bodily fluids. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" -"Superskoncentrowany mutagen, który wygląda jak mieszanina płynów " -"ustrojowych. Potrzebujesz strzykawki, aby ją wstrzyknąć ... jeśli naprawdę " -"chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "plant serum" @@ -34404,10 +35559,8 @@ msgstr "roślinne serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like pureed spinach. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" -"Superskoncentrowany mutagen, który wygląda jak puree ze szpinaku. " -"Potrzebujesz strzykawki, aby ją wstrzyknąć ... jeśli naprawdę chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "raptor serum" @@ -34417,11 +35570,8 @@ msgstr "drapieżne serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to shift slightly whenever you look " -"at it. You need a syringe to inject it... if you really want to?" +"at it. You need a syringe to inject it… if you really want to?" msgstr "" -"Superkoncentrowany mutagen, który wydaje się nieznacznie przesuwać za każdym" -" razem, gdy na niego patrzysz. Potrzebujesz strzykawki, aby ją wstrzyknąć " -"... jeśli naprawdę chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "rat serum" @@ -34431,10 +35581,8 @@ msgstr "szczurze serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a rather unappealing beige. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" -"Superskoncentrowany mutagen, który jest raczej nieprzyjemnym beżem. " -"Potrzebujesz strzykawki, aby ją wstrzyknąć ... jeśli naprawdę chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "slime serum" @@ -34444,11 +35592,8 @@ msgstr "ślimacze serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks very much like the black ooze in the" -" zombies' eyes. You need a syringe to inject it... if you really want to?" +" zombies' eyes. You need a syringe to inject it… if you really want to?" msgstr "" -"Superskoncentrowany mutagen, który wygląda bardzo podobnie do czarnego " -"szlamu w oczach zombie. Potrzebujesz strzykawki, aby ją wstrzyknąć ... jeśli" -" naprawdę chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "spider serum" @@ -34458,10 +35603,8 @@ msgstr "pajęcze serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen with pale filaments suspended in it. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" -"Superkoncentrowany mutagen z zawieszonymi w nim jasnymi włóknami. " -"Potrzebujesz strzykawki, aby ją wstrzyknąć ... jeśli naprawdę chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "troglobite serum" @@ -34471,10 +35614,8 @@ msgstr "troglobiontyczne serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to recoil from the light. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" -"Superskoncentrowany mutagen, który wydaje się odskakiwać od światła. " -"Potrzebujesz strzykawki, aby ją wstrzyknąć ... jeśli naprawdę chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "ursine serum" @@ -34484,10 +35625,8 @@ msgstr "niedźwiedzie serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's the color of honey, and is just as " -"thick. You need a syringe to inject it... if you really want to?" +"thick. You need a syringe to inject it… if you really want to?" msgstr "" -"Superskoncentrowany mutagen, który ma kolor miodu i jest równie gęsty. " -"Potrzebujesz strzykawki, aby ją wstrzyknąć ... jeśli naprawdę chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "mouse serum" @@ -34497,10 +35636,8 @@ msgstr "mysie serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen resembling liquefied metal. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "" -"Superkoncentrowany mutagen przypominający skroplony metal. Potrzebujesz " -"strzykawki, aby ją wstrzyknąć ... jeśli naprawdę chcesz?" #: lang/json/COMESTIBLE_from_json.py msgid "mutagen" @@ -34514,10 +35651,8 @@ msgstr "zastygła krew" #: lang/json/COMESTIBLE_from_json.py msgid "" "A thick, soupy red liquid. It looks and smells disgusting, and seems to " -"bubble with an intelligence of its own..." +"bubble with an intelligence of its own…" msgstr "" -"Gęsty, zupowaty czarny płyn. Wygląda i pachnie ohydnie i wygląda jakby " -"bulgotało inteligentnie samo z siebie..." #: lang/json/COMESTIBLE_from_json.py msgid "alpha mutagen" @@ -34722,27 +35857,27 @@ msgstr "" "bezpieczniejszy do picia niż wcześniej." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of pine nuts" -msgid_plural "handfuls of pine nuts" +msgid "pine nuts" +msgid_plural "pine nuts" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for handful of pine nuts +#. ~ Description for {'str': 'pine nuts', 'str_pl': 'pine nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of tasty crunchy nuts from a pinecone." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of junipers" -msgid_plural "handful of junipers" +msgid "junipers" +msgid_plural "junipers" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for handful of junipers +#. ~ Description for {'str': 'junipers', 'str_pl': 'junipers'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Junipers, for making gin and earthy flavors. Spicy, tastes similar to " @@ -34750,80 +35885,96 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pistachios" -msgid_plural "handfuls of shelled pistachios" +msgid "shelled pistachios" +msgid_plural "shelled pistachios" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for handful of shelled pistachios +#. ~ Description for {'str': 'shelled pistachios', 'str_pl': 'shelled +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of nuts from a pistachio tree, their shells have been removed." msgstr "Garść pistacji, których skorupy zostały obrane." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pistachios" -msgid_plural "handfuls of roasted pistachios" -msgstr[0] "garść prażonych pistacji" -msgstr[1] "garść prażonych pistacji" -msgstr[2] "garść prażonych pistacji" -msgstr[3] "garście prażonych pistacji" +msgid "roasted pistachios" +msgid_plural "roasted pistachios" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of roasted pistachios +#. ~ Description for {'str': 'roasted pistachios', 'str_pl': 'roasted +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an pistachio tree." msgstr "Garść prażonych orzeszków pistacjowych." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled almonds" -msgid_plural "handfuls of shelled almonds" +msgid "shelled almonds" +msgid_plural "shelled almonds" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for handful of shelled almonds +#. ~ Description for {'str': 'shelled almonds', 'str_pl': 'shelled almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of nuts from an almond tree, their shells have been removed." msgstr "Garść orzechów z drzewa migdałowego, ich skorupki zostały usunięte." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted almonds" -msgid_plural "handfuls of roasted almonds" -msgstr[0] "garść prażonych migdałów" -msgstr[1] "garście prażonych migdałów" -msgstr[2] "garści prażonych migdałów" -msgstr[3] "garście prażonych migdałów" +msgid "almond pulp" +msgid_plural "almond pulp" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of roasted almonds +#. ~ Description for almond pulp +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Pulp left over after making almond milk. It's gritty and incredibly bland." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "roasted almonds" +msgid_plural "roasted almonds" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for {'str': 'roasted almonds', 'str_pl': 'roasted almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an almond tree." msgstr "Garść prażonych orzechów z drzewa migdałowego." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cashews" -msgid_plural "handfuls of cashews" +msgid "cashews" +msgid_plural "cashews" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for handful of cashews +#. ~ Description for {'str': 'cashews', 'str_pl': 'cashews'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of salty cashews." msgstr "Garść solonych orzechów nerkowca." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pecans" -msgid_plural "handfuls of shelled pecans" +msgid "shelled pecans" +msgid_plural "shelled pecans" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for handful of shelled pecans +#. ~ Description for {'str': 'shelled pecans', 'str_pl': 'shelled pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of pecans which are a sub-species of hickory nuts, their shells " @@ -34833,53 +35984,53 @@ msgstr "" "skorupki usunięte." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pecans" -msgid_plural "handfuls of roasted pecans" -msgstr[0] "garść pieczonych pekan" -msgstr[1] "garście pieczonych pekan" -msgstr[2] "garści pieczonych pekan" -msgstr[3] "garście pieczonych pekan" +msgid "roasted pecans" +msgid_plural "roasted pecans" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of roasted pecans +#. ~ Description for {'str': 'roasted pecans', 'str_pl': 'roasted pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a pecan tree." msgstr "Garść prażonych orzechów z drzewa pekan." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled peanuts" -msgid_plural "handful of shelled peanuts" -msgstr[0] "garść orzeszków ziemnych" -msgstr[1] "garście orzeszków ziemnych" -msgstr[2] "garści orzeszków ziemnych" -msgstr[3] "garście orzeszków ziemnych" +msgid "shelled peanuts" +msgid_plural "shelled peanuts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of shelled peanuts +#. ~ Description for {'str': 'shelled peanuts', 'str_pl': 'shelled peanuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Salty peanuts with their shells removed." msgstr "Słone orzeszki ziemne bez skorupek." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of beech nuts" -msgid_plural "handfuls of beech nuts" +msgid "beech nuts" +msgid_plural "beech nuts" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for handful of beech nuts +#. ~ Description for {'str': 'beech nuts', 'str_pl': 'beech nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of hard pointy nuts from a beech tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled walnuts" -msgid_plural "handfuls of shelled walnuts" -msgstr[0] "garść orzechów włoskich" -msgstr[1] "garście orzechów włoskich" -msgstr[2] "garści orzechów włoskich" -msgstr[3] "garście orzechów włoskich" +msgid "shelled walnuts" +msgid_plural "shelled walnuts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of shelled walnuts +#. ~ Description for {'str': 'shelled walnuts', 'str_pl': 'shelled walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a walnut tree, their shells have been " @@ -34887,27 +36038,28 @@ msgid "" msgstr "Garść surowych twardych orzechów włoskich, bez skorupek." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted walnuts" -msgid_plural "handfuls of roasted walnuts" -msgstr[0] "garść prażonych orzechów włoskich" -msgstr[1] "garście prażonych orzechów włoskich" -msgstr[2] "garści prażonych orzechów włoskich" -msgstr[3] "garście prażonych orzechów włoskich" +msgid "roasted walnuts" +msgid_plural "roasted walnuts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of roasted walnuts +#. ~ Description for {'str': 'roasted walnuts', 'str_pl': 'roasted walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a walnut tree." msgstr "Garść prażonych orzechów włoskich." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled chestnuts" -msgid_plural "handfuls of shelled chestnuts" -msgstr[0] "garść łuskanych kasztanów" -msgstr[1] "garście łuskanych kasztanów" -msgstr[2] "garści łuskanych kasztanów" -msgstr[3] "garść łuskanych kasztanów" +msgid "shelled chestnuts" +msgid_plural "shelled chestnuts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of shelled chestnuts +#. ~ Description for {'str': 'shelled chestnuts', 'str_pl': 'shelled +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a chestnut tree, their shells have been " @@ -34915,27 +36067,29 @@ msgid "" msgstr "Garść surowych twardych orzechów z kasztanowca, bez skorupek." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted chestnuts" -msgid_plural "handfuls of roasted chestnuts" -msgstr[0] "garść pieczonych kasztanów" -msgstr[1] "garście pieczonych kasztanów" -msgstr[2] "garści pieczonych kasztanów" -msgstr[3] "garście pieczonych kasztanów" +msgid "roasted chestnuts" +msgid_plural "roasted chestnuts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of roasted chestnuts +#. ~ Description for {'str': 'roasted chestnuts', 'str_pl': 'roasted +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a chestnut tree." msgstr "Garść prażonych kasztanów z kasztanowca." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hazelnuts" -msgid_plural "handfuls of shelled hazelnuts" +msgid "shelled hazelnuts" +msgid_plural "shelled hazelnuts" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for handful of shelled hazelnuts +#. ~ Description for {'str': 'shelled hazelnuts', 'str_pl': 'shelled +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hazelnut tree, their shells have been " @@ -34943,53 +36097,55 @@ msgid "" msgstr "Garść surowych twardych orzechów z drzewa orzechowego, bez skorupek." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted edamame" -msgid_plural "handful of roasted edamame" +msgid "roasted edamame" +msgid_plural "roasted edamame" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for handful of roasted edamame +#. ~ Description for {'str': 'roasted edamame', 'str_pl': 'roasted edamame'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted edamame, a heart healthy snack." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted soy nuts" -msgid_plural "handful of roasted soy nuts" +msgid "roasted soy nuts" +msgid_plural "roasted soy nuts" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for handful of roasted soy nuts +#. ~ Description for {'str': 'roasted soy nuts', 'str_pl': 'roasted soy nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted soybeans, often called soy nuts." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hazelnuts" -msgid_plural "handfuls of roasted hazelnuts" -msgstr[0] "garść prażonych orzechów laskowych" -msgstr[1] "garście prażonych orzechów laskowych" -msgstr[2] "garści prażonych orzechów laskowych" -msgstr[3] "garście prażonych orzechów laskowych" +msgid "roasted hazelnuts" +msgid_plural "roasted hazelnuts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of roasted hazelnuts +#. ~ Description for {'str': 'roasted hazelnuts', 'str_pl': 'roasted +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hazelnut tree." msgstr "Garść prażonych orzechów laskowych." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hickory nuts" -msgid_plural "handfuls of shelled hickory nuts" -msgstr[0] "garść łuskanych orzechów orzesznika" -msgstr[1] "garść łuskanych orzechów orzesznika" -msgstr[2] "garść łuskanych orzechów orzesznika" -msgstr[3] "garść łuskanych orzechów orzesznika" +msgid "shelled hickory nuts" +msgid_plural "shelled hickory nuts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of shelled hickory nuts +#. ~ Description for {'str': 'shelled hickory nuts', 'str_pl': 'shelled +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hickory tree, their shells have been " @@ -34999,14 +36155,15 @@ msgstr "" "zostały obrane." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hickory nuts" -msgid_plural "handfuls of roasted hickory nuts" -msgstr[0] "garść prażonych orzechów hikory" -msgstr[1] "garście prażonych orzechów hikory" -msgstr[2] "garści prażonych orzechów hikory" -msgstr[3] "garście prażonych orzechów hikory" +msgid "roasted hickory nuts" +msgid_plural "roasted hickory nuts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of roasted hickory nuts +#. ~ Description for {'str': 'roasted hickory nuts', 'str_pl': 'roasted +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hickory tree." msgstr "Garść prażonych orzechów z drzewa orzesznika." @@ -35021,14 +36178,14 @@ msgid "Delicious hickory nut ambrosia. A drink worthy of the gods." msgstr "Przepyszna ambrozja z orzechów orzesznika. Napój godny bogów." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of acorns" -msgid_plural "handfuls of acorns" -msgstr[0] "garść żołędzi" -msgstr[1] "garść żołędzi" -msgstr[2] "garść żołędzi" -msgstr[3] "garść żołędzi" +msgid "acorns" +msgid_plural "acorns" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of acorns +#. ~ Description for {'str': 'acorns', 'str_pl': 'acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of acorns, still in their shells. Squirrels like them, but " @@ -35038,14 +36195,14 @@ msgstr "" " będziesz mógł ich zjeść." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted acorns" -msgid_plural "handfuls of roasted acorns" -msgstr[0] "garść pieczonych żołędzi" -msgstr[1] "garście pieczonych żołędzi" -msgstr[2] "garści pieczonych żołędzi" -msgstr[3] "garście pieczonych żołędzi" +msgid "roasted acorns" +msgid_plural "roasted acorns" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of roasted acorns +#. ~ Description for {'str': 'roasted acorns', 'str_pl': 'roasted acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful roasted nuts from an oak tree." msgstr "Garść prażonych żołędzi." @@ -35709,13 +36866,14 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "soylent green powder" -msgid_plural "servings of soylent green powder" -msgstr[0] "porcja zielonej pożywki" -msgstr[1] "porcja zielonej pożywki" -msgstr[2] "porcja zielonej pożywki" -msgstr[3] "porcja zielonej pożywki" +msgid_plural "soylent green powder" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for soylent green powder +#. ~ Description for {'str': 'soylent green powder', 'str_pl': 'soylent green +#. powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein made out of people! While quite nutritious, it is " @@ -35766,13 +36924,13 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "protein powder" -msgid_plural "servings of protein powder" -msgstr[0] "dawka proszku proteinowego" -msgstr[1] "dawka proszku proteinowego" -msgstr[2] "dawka proszku proteinowego" -msgstr[3] "dawka proszku proteinowego" +msgid_plural "protein powder" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for protein powder +#. ~ Description for {'str': 'protein powder', 'str_pl': 'protein powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein. While quite nutritious, it is impossible to enjoy in " @@ -35847,79 +37005,79 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "Kwaśny cytrus. Możesz ją zjeść jeśli bardzo tego chcesz." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blueberries" -msgid_plural "handful of blueberries" -msgstr[0] "garść jagód" -msgstr[1] "garść jagód" -msgstr[2] "garść jagód" -msgstr[3] "garść jagód" +msgid "blueberries" +msgid_plural "blueberries" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of blueberries +#. ~ Description for {'str': 'blueberries', 'str_pl': 'blueberries'} #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "Niebieskie, co nie znaczy że smutne." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of strawberries" -msgid_plural "handful of strawberries" -msgstr[0] "garść truskawek" -msgstr[1] "garść truskawek" -msgstr[2] "garść truskawek" -msgstr[3] "garść truskawek" +msgid "strawberries" +msgid_plural "strawberries" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of strawberries +#. ~ Description for {'str': 'strawberries', 'str_pl': 'strawberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "Pyszne, czerwone, duże soczyste jagody. Często rosną dziko na polach." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cranberries" -msgid_plural "handful of cranberries" -msgstr[0] "garść żurawin" -msgstr[1] "garść żurawin" -msgstr[2] "garść żurawin" -msgstr[3] "garść żurawin" +msgid "cranberries" +msgid_plural "cranberries" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of cranberries +#. ~ Description for {'str': 'cranberries', 'str_pl': 'cranberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "Kwaśne czerwone jagody. Dobre dla zdrowia." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of raspberries" -msgid_plural "handful of raspberries" -msgstr[0] "garść malin" -msgstr[1] "garść malin" -msgstr[2] "garść malin" -msgstr[3] "garść malin" +msgid "raspberries" +msgid_plural "raspberries" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of raspberries +#. ~ Description for {'str': 'raspberries', 'str_pl': 'raspberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "Słodka czerwona jagoda." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of huckleberries" -msgid_plural "handful of huckleberries" -msgstr[0] "garść borówek" -msgstr[1] "garść borówek" -msgstr[2] "garść borówek" -msgstr[3] "garść borówek" +msgid "huckleberries" +msgid_plural "huckleberries" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of huckleberries +#. ~ Description for {'str': 'huckleberries', 'str_pl': 'huckleberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "Borówki, często mylone z jagodami." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of mulberries" -msgid_plural "handful of mulberries" -msgstr[0] "garść owoców morwy" -msgstr[1] "garść owoców morwy" -msgstr[2] "garść owoców morwy" -msgstr[3] "garść owoców morwy" +msgid "mulberries" +msgid_plural "mulberries" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of mulberries +#. ~ Description for {'str': 'mulberries', 'str_pl': 'mulberries'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -35930,14 +37088,14 @@ msgstr "" "świecie." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of elderberries" -msgid_plural "handful of elderberries" -msgstr[0] "garść owoców czarnego bzu" -msgstr[1] "garść owoców czarnego bzu" -msgstr[2] "garść owoców czarnego bzu" -msgstr[3] "garść owoców czarnego bzu" +msgid "elderberries" +msgid_plural "elderberries" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of elderberries +#. ~ Description for {'str': 'elderberries', 'str_pl': 'elderberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "" @@ -35945,14 +37103,14 @@ msgstr "" "nadaje się do zjedzenia." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of rose hips" -msgid_plural "handful of rose hips" -msgstr[0] "garść owoców dzikiej róży" -msgstr[1] "garść owoców dzikiej róży" -msgstr[2] "garść owoców dzikiej róży" -msgstr[3] "garść owoców dzikiej róży" +msgid "rose hips" +msgid_plural "rose hips" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of rose hips +#. ~ Description for {'str': 'rose hips', 'str_pl': 'rose hips'} #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "Owoc zapylonego kwiatu róży." @@ -35989,14 +37147,14 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "Owoc cytrusowy, którego smak oscyluje między kwaśnym a półsłodkim." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cherries" -msgid_plural "handful of cherries" -msgstr[0] "garść wiśni" -msgstr[1] "garść wiśni" -msgstr[2] "garść wiśni" -msgstr[3] "garść wiśni" +msgid "cherries" +msgid_plural "cherries" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of cherries +#. ~ Description for {'str': 'cherries', 'str_pl': 'cherries'} #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "Czerwone słodkie owoce z pestką, które rosną na drzewach." @@ -36012,14 +37170,14 @@ msgid "" msgstr "Garść dużych purpurowych śliwek. Zdrowe i poprawiają trawienie." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of grapes" -msgid_plural "handful of grapes" -msgstr[0] "garść winogron" -msgstr[1] "garść winogron" -msgstr[2] "garść winogron" -msgstr[3] "garść winogron" +msgid "grapes" +msgid_plural "grapes" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of grapes +#. ~ Description for {'str': 'grapes', 'str_pl': 'grapes'} #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "Pęk soczystych winogron." @@ -36074,14 +37232,14 @@ msgid "A large and very sweet fruit." msgstr "Duży i bardzo słodki owoc." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blackberries" -msgid_plural "handful of blackberries" -msgstr[0] "garść jeżyn" -msgstr[1] "garść jeżyn" -msgstr[2] "garść jeżyn" -msgstr[3] "garść jeżyn" +msgid "blackberries" +msgid_plural "blackberries" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of blackberries +#. ~ Description for {'str': 'blackberries', 'str_pl': 'blackberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "Ciemniejszy kuzyn malin." @@ -36124,18 +37282,29 @@ msgid "" msgstr "Duża, brązowa i włochata jagoda. Ma smaczny miąższ zielonego koloru." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of apricots" -msgid_plural "handful of apricots" -msgstr[0] "garść moreli" -msgstr[1] "garść moreli" -msgstr[2] "garść moreli" -msgstr[3] "garść moreli" +msgid "apricots" +msgid_plural "apricots" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of apricots +#. ~ Description for {'str': 'apricots', 'str_pl': 'apricots'} #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "Miękkoskóry owoc podobny do brzoskwini." +#: lang/json/COMESTIBLE_from_json.py +msgid "cholla bud" +msgstr "" + +#. ~ Description for cholla bud +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Edible bud of a cholla cactus, with spines removed; the candy of the Mojave " +"indigenous peoples. Tastes similar to asparagus." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "cactus pad" msgstr "" @@ -36342,13 +37511,13 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "salsify" -msgid_plural "handfuls of salsify" +msgid_plural "salsify" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for salsify +#. ~ Description for {'str': 'salsify', 'str_pl': 'salsify'} #: lang/json/COMESTIBLE_from_json.py msgid "" "An herb with a small purple flower. The roots are nutritious, but tough and" @@ -36358,13 +37527,13 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py lang/json/COMESTIBLE_from_json.py #: lang/json/furniture_from_json.py msgid "chicory" -msgid_plural "handfuls of chicory" +msgid_plural "chicory" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for chicory +#. ~ Description for {'str': 'chicory', 'str_pl': 'chicory'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A modest blue flower. The flower's roots are very bitter and not meant to " @@ -36494,14 +37663,14 @@ msgstr "" "ale doskonale nadaje się do gotowania." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of dandelions" -msgid_plural "handfuls of dandelions" -msgstr[0] "garść mleczy" -msgstr[1] "garść mleczy" -msgstr[2] "garść mleczy" -msgstr[3] "garść mleczy" +msgid "dandelions" +msgid_plural "dandelions" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of dandelions +#. ~ Description for {'str': 'dandelions', 'str_pl': 'dandelions'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A collection of freshly picked yellow dandelions. In their current raw " @@ -36651,14 +37820,14 @@ msgid "Raw, uncooked lentils. They could be cooked." msgstr "Surowa, niegotowana soczewica. Może być ugotowana." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of fiddleheads" -msgid_plural "handfuls of fiddleheads" +msgid "fiddleheads" +msgid_plural "fiddleheads" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for handful of fiddleheads +#. ~ Description for {'str': 'fiddleheads', 'str_pl': 'fiddleheads'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of immature fern fronds, still curled up like the head of a " @@ -38839,8 +40008,8 @@ msgstr[3] "" #. ~ Description for raw spaghetti pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of pasta usually used when preparing spaghetti. It could be eaten raw" -" if you're desperate, but is much better cooked." +"A type of pasta usually used when preparing spaghetti. It could be eaten " +"raw if you're desperate, but is much better cooked." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -38854,7 +40023,7 @@ msgstr[3] "" #. ~ Description for raw lasagne pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pasta sheet used in making lasagne. It could be eaten raw if you're " +"A pasta sheet used in making lasagne. It could be eaten raw if you're " "desperate, but is much better cooked." msgstr "" @@ -39348,7 +40517,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "Strong alcohol, infused with mana and concentrated into a liquid that can " -"stabilize spells into liquid form. You can still drink it, if you want." +"stabilize spells into liquid form. You can still drink it, if you want." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -39363,7 +40532,7 @@ msgstr[3] "" #: lang/json/COMESTIBLE_from_json.py msgid "" "An organ located above the kidneys responsible for secretion of adrenaline, " -"cortisol, and aldosterone. This one is huge, whether by nature or mutation." +"cortisol, and aldosterone. This one is huge, whether by nature or mutation." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -39460,8 +40629,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human, including pieces of bone " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -39472,8 +40641,9 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human covered with bone, including" -" pieces of organs. Necromantic magic delays immediate rot, but it won't last" -" forever. Piercing it with the attached needle could compel it to serve you." +" pieces of organs. Necromantic magic delays immediate rot, but it won't " +"last forever. Piercing it with the attached needle could compel it to serve" +" you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -39484,8 +40654,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead cougar, complete with fur, bones, " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -39496,8 +40666,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -39508,9 +40678,9 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal. Improved infusion techniques lessen the strain of the " -"process." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal. Improved infusion techniques lessen the strain of " +"the process." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -39547,7 +40717,7 @@ msgstr[3] "" #. ~ Description for hairball #: lang/json/COMESTIBLE_from_json.py msgid "" -"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." +"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -39566,6 +40736,16 @@ msgid "" " properties." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "scream mushroom" +msgstr "" + +#. ~ Description for scream mushroom +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"The mushrooms harvested from a dead shrieker. Could be used in potions." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "resinous cord" msgstr "żywiczny sznur" @@ -39591,13 +40771,13 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "caramel ointement" +msgid "caramel ointment" msgstr "" -#. ~ Description for caramel ointement +#. ~ Description for caramel ointment #: lang/json/COMESTIBLE_from_json.py msgid "" -"An ointement made of caramel. You could use it to heal your wounds, if you " +"An ointment made of caramel. You could use it to heal your wounds, if you " "were made of sugar." msgstr "" @@ -40357,15 +41537,6 @@ msgstr[3] "mąk ryżowych" msgid "This rice flour is useful for baking." msgstr "Ta mąka ryżowa nadaje się do pieczenia." -#: lang/json/COMESTIBLE_from_json.py -msgid "cholla bud" -msgstr "" - -#. ~ Description for cholla bud -#: lang/json/COMESTIBLE_from_json.py -msgid "The candy of the Mojave Indigenous peoples." -msgstr "" - #: lang/json/COMESTIBLE_from_json.py msgid "revival serum" msgstr "ożywcze serum" @@ -40724,8 +41895,8 @@ msgstr[3] "" #. ~ Description for paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"It has a threaded cap for easy resealing." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" It has a threaded cap for easy resealing." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -40739,8 +41910,8 @@ msgstr[3] "" #. ~ Description for opened paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"This one is open and its contents will spoil." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" This one is open and its contents will spoil." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -41392,8 +42563,8 @@ msgstr[3] "" #. ~ Description for survival kit box #: lang/json/CONTAINER_from_json.py msgid "" -"An aluminum box that used to contain a small survival kit. Can hold 1 liter " -"of liquid." +"An aluminum box that used to contain a small survival kit. Can hold 1 liter" +" of liquid." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -41516,6 +42687,24 @@ msgstr "" " dla maksymalnej wydajności. Może być wykonana z różnymi nasionami, aby je " "posadzić." +#: lang/json/CONTAINER_from_json.py +msgid "endless flask" +msgid_plural "endless flasks" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "You open the flask and discover it full of sweet, sweet, whiskey!" +msgstr "" + +#. ~ Use action not_ready_msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "The flask isn't done refilling yet." +msgstr "" + #: lang/json/CONTAINER_from_json.py msgid "aluminum foil wrap" msgid_plural "aluminum foil wraps" @@ -42025,8 +43214,8 @@ msgstr[3] "" #. ~ Description for rhodonite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of rhodonite. It has manganese dioxide covering and going through it" -" in veins, which can be obtained using a chisel." +"A chunk of rhodonite. It has manganese dioxide covering and going through " +"it in veins, which can be obtained using a chisel." msgstr "" #: lang/json/GENERIC_from_json.py @@ -42040,7 +43229,7 @@ msgstr[3] "" #. ~ Description for zincite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " +"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " "reduction with a source of carbon." msgstr "" @@ -42058,69 +43247,69 @@ msgid "A root from a hickory tree. It has an earthy smell." msgstr "Korzeń drzewa orzesznika. Pachnie ziemią." #: lang/json/GENERIC_from_json.py -msgid "handful of hickory nuts" -msgid_plural "handfuls of hickory nuts" -msgstr[0] "garść orzechów orzesznika" -msgstr[1] "garść orzechów orzesznika" -msgstr[2] "garść orzechów orzesznika" -msgstr[3] "garście orzechów orzesznika" +msgid "hickory nuts" +msgid_plural "hickory nuts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of hickory nuts +#. ~ Description for {'str': 'hickory nuts', 'str_pl': 'hickory nuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hickory tree, still in their shell." msgstr "" "Garść surowych twardych orzechów z drzewa orzesznika, nadal w skorupach." #: lang/json/GENERIC_from_json.py -msgid "handful of pecans" -msgid_plural "handfuls of pecans" -msgstr[0] "garść pekan" -msgstr[1] "garść pekan" -msgstr[2] "garść pekan" -msgstr[3] "gaście pekan" +msgid "pecans" +msgid_plural "pecans" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of pecans +#. ~ Description for {'str': 'pecans', 'str_pl': 'pecans'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pecan tree, still in their shell." msgstr "Garść twardych orzechów pecan, wciąż w skorupce." #: lang/json/GENERIC_from_json.py -msgid "handful of pistachios" -msgid_plural "handfuls of pistachios" -msgstr[0] "garść pistacji" -msgstr[1] "garść pistacji" -msgstr[2] "garść pistacji" -msgstr[3] "garście pistacji" +msgid "pistachios" +msgid_plural "pistachios" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of pistachios +#. ~ Description for {'str': 'pistachios', 'str_pl': 'pistachios'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pistachio tree, still in their shell." msgstr "" "Garść surowych twardych orzechów z drzewa pistacjowego, nadal w skorupach." #: lang/json/GENERIC_from_json.py -msgid "handful of almonds" -msgid_plural "handfuls of almonds" -msgstr[0] "gaść migdałów" -msgstr[1] "gaść migdałów" -msgstr[2] "gaść migdałów" -msgstr[3] "garście migdałów" +msgid "almonds" +msgid_plural "almonds" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of almonds +#. ~ Description for {'str': 'almonds', 'str_pl': 'almonds'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a almond tree, still in their shell." msgstr "" "Garść surowych twardych orzechów z drzewa migdałowca, nadal w skorupach." #: lang/json/GENERIC_from_json.py -msgid "handful of peanuts" -msgid_plural "handfuls of peanuts" -msgstr[0] "garść orzeszków ziemnych" -msgstr[1] "garść orzeszków ziemnych" -msgstr[2] "garść orzeszków ziemnych" -msgstr[3] "garście orzeszków ziemnych" +msgid "peanuts" +msgid_plural "peanuts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of peanuts +#. ~ Description for {'str': 'peanuts', 'str_pl': 'peanuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a peanut bush, still in their shell." msgstr "" @@ -42128,40 +43317,40 @@ msgstr "" "orzeszki ziemne, nadal w skorupach." #: lang/json/GENERIC_from_json.py -msgid "handful of hazelnuts" -msgid_plural "handfuls of hazelnuts" +msgid "hazelnuts" +msgid_plural "hazelnuts" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for handful of hazelnuts +#. ~ Description for {'str': 'hazelnuts', 'str_pl': 'hazelnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hazelnut tree, still in their shell." msgstr "Garść twardych orzechów laskowych, wciąż w skorupce." #: lang/json/GENERIC_from_json.py -msgid "handful of chestnuts" -msgid_plural "handfuls of chestnuts" -msgstr[0] "garść kasztanów" -msgstr[1] "garść kasztanów" -msgstr[2] "garść kasztanów" -msgstr[3] "garście kasztanów" +msgid "chestnuts" +msgid_plural "chestnuts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of chestnuts +#. ~ Description for {'str': 'chestnuts', 'str_pl': 'chestnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a chestnut tree, still in their shell." msgstr "Garść twardych kasztanów, wciąż w skorupce." #: lang/json/GENERIC_from_json.py -msgid "handful of walnuts" -msgid_plural "handfuls of walnuts" -msgstr[0] "garść orzechów włoskich" -msgstr[1] "garść orzechów włoskich" -msgstr[2] "garść orzechów włoskich" -msgstr[3] "garście orzechów włoskich" +msgid "walnuts" +msgid_plural "walnuts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of walnuts +#. ~ Description for {'str': 'walnuts', 'str_pl': 'walnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a walnut tree, still in their shell." msgstr "Garść twardych orzechów włoskich, wciąż w skorupce." @@ -42321,7 +43510,7 @@ msgstr "" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"A dead body with a frightful grimace. He appears to have been horribly " +"A dead body with a frightful grimace. He appears to have been horribly " "mangled prior to his death." msgstr "" @@ -42345,7 +43534,7 @@ msgstr "" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"The upper half of a dead body, as if torn apart with enormous force. Some " +"The upper half of a dead body, as if torn apart with enormous force. Some " "organs are hanging out." msgstr "" @@ -42466,6 +43655,14 @@ msgstr "mięsień" msgid "wind" msgstr "wiatr" +#: lang/json/GENERIC_from_json.py +msgid "metabolism" +msgid_plural "metabolisms" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + #: lang/json/GENERIC_from_json.py msgid "a smoking device and a source of flame" msgstr "wędzarnia i źródło ognia" @@ -42487,6 +43684,37 @@ msgstr "" "Kilkanaście dokumentów z rożnymi rodzajami informacji, danych klientów i " "wykresów spięte razem i obecnie raczej bezużyteczne." +#: lang/json/GENERIC_from_json.py +msgid "INCIDENT REPORT: IMMERSION-27A" +msgid_plural "INCIDENT REPORT: IMMERSION-27As" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for INCIDENT REPORT: IMMERSION-27A +#: lang/json/GENERIC_from_json.py +msgid "" +"A white piece of paper, with the logo of XEDRA printed on its upper left " +"corner. It seems to be an internal report of some kind." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "MATERIAL: T-SUBSTRATE" +msgid_plural "MATERIAL: T-SUBSTRATEs" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/GENERIC_from_json.py +msgid "HAADF MICROGRAPH: T-SUBSTRATE" +msgid_plural "HAADF MICROGRAPH: T-SUBSTRATEs" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + #: lang/json/GENERIC_from_json.py msgid "foodplace loyalty card" msgid_plural "foodplace loyalty cards" @@ -42499,7 +43727,7 @@ msgstr[3] "" #: lang/json/GENERIC_from_json.py msgid "" "A bright pink loyalty card, all the points are stamped. This would " -"definitely prove your fidelity to Foodplace, if it still meant anything..." +"definitely prove your fidelity to Foodplace, if it still meant anything…" msgstr "" #: lang/json/GENERIC_from_json.py @@ -42670,8 +43898,8 @@ msgstr[3] "" #. ~ Description for set of 100 ceramic disk #: lang/json/GENERIC_from_json.py msgid "" -"A set of small slightly elongated disks, made of high-grade ceramic. They " -"remind you of scales" +"A set of small slightly elongated disks, made of high-grade ceramic. They " +"remind you of scales." msgstr "" #: lang/json/GENERIC_from_json.py @@ -42740,6 +43968,20 @@ msgstr "" "Filcowe łaty, ciasno zwinięte dla łatwiejszego przechowywania. Rozłóż by " "rozpakować." +#: lang/json/GENERIC_from_json.py +msgid "t-substrate sample" +msgid_plural "t-substrate samples" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for t-substrate sample +#: lang/json/GENERIC_from_json.py +msgid "" +"An acrylic cube cast around a small black crystal. It's tepid to the touch." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "biollante bud" msgid_plural "biollante buds" @@ -43032,6 +44274,20 @@ msgstr "" "Kawałek pręta zbrojeniowego, z którego jest niezła broń, i który może być " "użyty w budowie mocnych ścian i innych konstrukcji." +#: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "small railroad track" +msgid_plural "small railroad tracks" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for small railroad track +#: lang/json/GENERIC_from_json.py +msgid "A length of track, made from some planks and rails." +msgstr "" + #: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py msgid "concrete" msgid_plural "concrete" @@ -43108,23 +44364,6 @@ msgstr "" "Duża sprężyna do znacznych obciążeń. Rozpręża się ze znaczną siłą gdy " "ściśnięta." -#: lang/json/GENERIC_from_json.py -msgid "leaf spring" -msgid_plural "leaf springs" -msgstr[0] "resor piórowy" -msgstr[1] "resory piórowe" -msgstr[2] "resory piórowe" -msgstr[3] "resory piórowe" - -#. ~ Description for leaf spring -#: lang/json/GENERIC_from_json.py -msgid "" -"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" -" an awful lot like a bow. You can barely bend it..." -msgstr "" -"Duży, resor piórowy do znacznych obciążeń. Zapewne pochodzi z samochodu lub " -"ciężarówki i przypomina mocno łuk. Ledwo jesteś w tanie go ugiąć..." - #: lang/json/GENERIC_from_json.py msgid "lawnmower" msgid_plural "lawnmowers" @@ -44251,10 +45490,8 @@ msgstr[3] "Naukowa karta pamięci SD" #: lang/json/GENERIC_from_json.py msgid "" "This memory card appears to be related to 'XEDRA', and is certainly " -"encrypted. Looks * Interesting *, though..." +"encrypted. Looks *Interesting*, though…" msgstr "" -"Ta karta pamięci ma chyba związek z 'XEDRA', i jest oczywiście zaszyfrowana." -" Niemniej jednak wygląda 'interesująco'..." #: lang/json/GENERIC_from_json.py msgid "hand mirror" @@ -44320,19 +45557,6 @@ msgstr "" "Kolczasta szyszka z drzewa sosny. Suche nasiona grzechoczą w środku gdy ją " "potrząsasz." -#: lang/json/GENERIC_from_json.py -msgid "poppy flower" -msgid_plural "poppy flowers" -msgstr[0] "kwiaty maku" -msgstr[1] "kwiaty maku" -msgstr[2] "kwiaty maku" -msgstr[3] "kwiaty maku" - -#. ~ Description for poppy flower -#: lang/json/GENERIC_from_json.py -msgid "A poppy stalk with some petals." -msgstr "Łodyga maku z płatkami kwiatów." - #: lang/json/GENERIC_from_json.py msgid "poppy bud" msgid_plural "poppy buds" @@ -44349,280 +45573,6 @@ msgid "" msgstr "" "Pąk maku. Zawiera substancje typowo produkowane przez zmutowane kwiaty maku." -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "bluebell" -msgid_plural "bluebells" -msgstr[0] "dzwonecznik" -msgstr[1] "dzwonecznik" -msgstr[2] "dzwonecznik" -msgstr[3] "dzwonecznik" - -#. ~ Description for bluebell -#: lang/json/GENERIC_from_json.py -msgid "A bluebell stalk with some petals." -msgstr "Łodyga dzwonecznika z niebieskimi kwiatami." - -#: lang/json/GENERIC_from_json.py -msgid "bluebell bud" -msgid_plural "bluebell buds" -msgstr[0] "pąk dzwonecznika" -msgstr[1] "pąk dzwonecznika" -msgstr[2] "pąk dzwonecznika" -msgstr[3] "pąk dzwonecznika" - -#. ~ Description for bluebell bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A bluebell bud. Contains some substances commonly produced by a bluebell " -"flower." -msgstr "" -"Pąk dzwonecznika. Zawiera substancje typowo produkowane przez kwiaty " -"dzwonecznika." - -#. ~ Description for dahlia -#: lang/json/GENERIC_from_json.py -msgid "A dahlia stalk with some petals." -msgstr "Łodyga dali z kwiatami." - -#: lang/json/GENERIC_from_json.py -msgid "dahlia bud" -msgid_plural "dahlia buds" -msgstr[0] "pąk dalii" -msgstr[1] "pąk dalii" -msgstr[2] "pąk dalii" -msgstr[3] "pąk dalii" - -#. ~ Description for dahlia bud -#: lang/json/GENERIC_from_json.py -msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." -msgstr "Pąk dalii. Zawiera substancje typowo produkowane przez dalię." - -#. ~ Description for rose -#: lang/json/GENERIC_from_json.py -msgid "A rose stalk with some petals." -msgstr "Łodyga róży z kilkoma płatkami." - -#: lang/json/GENERIC_from_json.py -msgid "rose bud" -msgid_plural "rose buds" -msgstr[0] "pąk róży" -msgstr[1] "pąki róży" -msgstr[2] "pąków róży" -msgstr[3] "pąki róży" - -#. ~ Description for rose bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A rose bud. Contains some substances commonly produced by a rose flower." -msgstr "" -"Pąk róży. Zawiera trochę substancji powszechnie wydzielanych przez kwiat " -"róży." - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea" -msgid_plural "hydrangeas" -msgstr[0] "hortensja" -msgstr[1] "hortensje" -msgstr[2] "hortensji" -msgstr[3] "hortensje" - -#. ~ Description for hydrangea -#: lang/json/GENERIC_from_json.py -msgid "A hydrangea stalk with some petals." -msgstr "Łodyga hortensji z kilkoma płatkami." - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea bud" -msgid_plural "hydrangea buds" -msgstr[0] "pąk hortensji" -msgstr[1] "pąki hortensji" -msgstr[2] "pąków hortensji" -msgstr[3] "pąki hortensji" - -#. ~ Description for hydrangea bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A hydrangea bud. Contains some substances commonly produced by a hydrangea " -"flower." -msgstr "" -"Pąk hortensji. Zawiera trochę substancji powszechnie wydzielanych przez " -"kwiat hortensji." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "tulip" -msgid_plural "tulips" -msgstr[0] "tulipan" -msgstr[1] "tulipany" -msgstr[2] "tulipanów" -msgstr[3] "tulipany" - -#. ~ Description for tulip -#: lang/json/GENERIC_from_json.py -msgid "A tulip stalk with some petals." -msgstr "Łodyga tulipana z kilkoma płatkami." - -#: lang/json/GENERIC_from_json.py -msgid "tulip bud" -msgid_plural "tulip buds" -msgstr[0] "pąk tulipana" -msgstr[1] "pąki tulipana" -msgstr[2] "pąków tulipana" -msgstr[3] "pąki tulipana" - -#. ~ Description for tulip bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A tulip bud. Contains some substances commonly produced by a tulip flower." -msgstr "" -"Pąk tulipana. Zawiera trochę substancji powszechnie wydzielanych przez kwiat" -" tulipana." - -#: lang/json/GENERIC_from_json.py -msgid "spurge" -msgid_plural "spurges" -msgstr[0] "wilczomlecz" -msgstr[1] "wilczomlecze" -msgstr[2] "wilczomleczy" -msgstr[3] "wilczomlecze" - -#. ~ Description for spurge -#: lang/json/GENERIC_from_json.py -msgid "A spurge stalk with some petals." -msgstr "Łodyga wilczomlecza z kilkoma płatkami." - -#: lang/json/GENERIC_from_json.py -msgid "spurge bud" -msgid_plural "spurge buds" -msgstr[0] "pąk wilczomlecza" -msgstr[1] "pąki wilczomlecza" -msgstr[2] "pąków wilczomlecza" -msgstr[3] "pąki wilczomlecza" - -#. ~ Description for spurge bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A spurge bud. Contains some substances commonly produced by a spurge " -"flower." -msgstr "" -"Pąk wilczomlecza. Zawiera trochę substancji powszechnie wydzielanych przez " -"wilczomlecz." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "black eyed susan" -msgid_plural "black eyed susans" -msgstr[0] "magnolia susan" -msgstr[1] "magnolie susan" -msgstr[2] "magnolii susan" -msgstr[3] "magnolie susan" - -#. ~ Description for black eyed susan -#: lang/json/GENERIC_from_json.py -msgid "A black eyed susan stalk with some petals." -msgstr "Łodyga magnolii 'Susan' z kilkoma płatkami." - -#: lang/json/GENERIC_from_json.py -msgid "black eyed susan bud" -msgid_plural "black eyed susan buds" -msgstr[0] "pąk magnolii susan" -msgstr[1] "pąki magnolii susan" -msgstr[2] "pąków magnolii susan" -msgstr[3] "pąki magnolii susan" - -#. ~ Description for black eyed susan bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A black eyed susan bud. Contains some substances commonly produced by a " -"black eyed susan flower." -msgstr "" -"Pąk magnolii 'Susan'. Zawiera trochę substancji powszechnie wydzielanych " -"przez kwiat magnolii 'Susan'." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lily" -msgid_plural "lilys" -msgstr[0] "lilia" -msgstr[1] "lilie" -msgstr[2] "lilii" -msgstr[3] "lilie" - -#. ~ Description for lily -#: lang/json/GENERIC_from_json.py -msgid "A lily stalk with some petals." -msgstr "Łodyga lilii z kilkoma płatkami." - -#: lang/json/GENERIC_from_json.py -msgid "lily bud" -msgid_plural "lily buds" -msgstr[0] "pąk lilii" -msgstr[1] "pąki lilii" -msgstr[2] "pąków lilii" -msgstr[3] "pąki lilii" - -#. ~ Description for lily bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lily bud. Contains some substances commonly produced by a lily flower." -msgstr "" -"Pąk lilii. Zawiera trochę substancji powszechnie wydzielanych przez kwiat " -"lilii." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lotus" -msgid_plural "lotuss" -msgstr[0] "lotos" -msgstr[1] "lotosy" -msgstr[2] "lotosów" -msgstr[3] "lotosy" - -#. ~ Description for lotus -#: lang/json/GENERIC_from_json.py -msgid "A lotus stalk with some petals." -msgstr "Łodyga lotosu z kilkoma płatkami." - -#: lang/json/GENERIC_from_json.py -msgid "lotus bud" -msgid_plural "lotus buds" -msgstr[0] "pąk lotosu" -msgstr[1] "pąki lotosu" -msgstr[2] "pąków lotosu" -msgstr[3] "pąki lotosu" - -#. ~ Description for lotus bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lotus bud. Contains some substances commonly produced by a lotus flower." -msgstr "" -"Pąk lotosu. Zawiera trochę substancji powszechnie wydzielanych przez kwiat " -"lotosu." - -#: lang/json/GENERIC_from_json.py -msgid "lilac" -msgid_plural "lilacs" -msgstr[0] "bez" -msgstr[1] "bzy" -msgstr[2] "bzów" -msgstr[3] "bzy" - -#. ~ Description for lilac -#: lang/json/GENERIC_from_json.py -msgid "A lilac stalk with some petals." -msgstr "Łodyga bzu z kilkoma płatkami." - -#: lang/json/GENERIC_from_json.py -msgid "lilac bud" -msgid_plural "lilac buds" -msgstr[0] "pąk bzu" -msgstr[1] "pąki bzu" -msgstr[2] "pąków bzu" -msgstr[3] "pąki bzu" - -#. ~ Description for lilac bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lilac bud. Contains some substances commonly produced by a lilac flower." -msgstr "" -"Pąk bzu. Zawiera trochę substancji powszechnie wydzielanych przez kwiat bzu." - #. ~ Description for sunflower #: lang/json/GENERIC_from_json.py msgid "" @@ -44633,14 +45583,15 @@ msgstr "" " zjedzone przez zwierzęta." #: lang/json/GENERIC_from_json.py -msgid "handful of chamomile flowers" -msgid_plural "handfuls of chamomile flowers" -msgstr[0] "garść kwiatów rumianku" -msgstr[1] "garście kwiatów rumianku" -msgstr[2] "garści kwiatów rumianku" -msgstr[3] "garści kwiatów rumianku" +msgid "chamomile flowers" +msgid_plural "chamomile flowers" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for handful of chamomile flowers +#. ~ Description for {'str': 'chamomile flowers', 'str_pl': 'chamomile +#. flowers'} #: lang/json/GENERIC_from_json.py msgid "" "White chamomile flowers, used as a herbal remedy since the ancient times." @@ -44976,12 +45927,14 @@ msgstr "" #. ~ Use action menu_text for cigar. #. ~ Use action menu_text for cigarette. #. ~ Use action menu_text for joint. +#. ~ Use action menu_text for spooky jack o'lantern. +#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for candle. #. ~ Use action menu_text for refillable lighter. #. ~ Use action menu_text for torch. -#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for ember carrier (lit). #. ~ Use action menu_text for Louisville Slaughterer. +#. ~ Use action menu_text for everburning torch. #: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py msgid "Extinguish" @@ -45036,12 +45989,8 @@ msgstr[3] "pet z papierosa" #: lang/json/GENERIC_from_json.py msgid "" "What was once a wonderfully addictive tube of dried tobacco leaf is now just a smelly piece of trash. What a tragedy!\n" -"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far..." +"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far…" msgstr "" -"Co kiedyś było uzależniającą tubką suszonych liści tytoniu, jest teraz " -"śmierdzącym śmieciem. Co za tragedia. Resztki tytoniu z kilku takich można " -"by prawdopodobnie użyć do zwinięcia kolejnego skręta. O ile jesteś tak " -"bardzo zdesperowany." #. ~ Use action msg for joint. #: lang/json/GENERIC_from_json.py @@ -45096,13 +46045,13 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "raw tobacco" -msgid_plural "handfuls of raw tobacco" -msgstr[0] "garść surowego tytoniu" -msgstr[1] "garść surowego tytoniu" -msgstr[2] "garść surowego tytoniu" -msgstr[3] "garść surowego tytoniu" +msgid_plural "raw tobacco" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for raw tobacco +#. ~ Description for {'str': 'raw tobacco', 'str_pl': 'raw tobacco'} #: lang/json/GENERIC_from_json.py msgid "" "Various parts of tobacco plant, full of nicotine. They need to be dried to " @@ -45168,14 +46117,6 @@ msgstr "" "strona opisuje protokół jej użycia; może pozwolić na dostęp do panelu " "kontrolnego, jeśli taki znajdziesz." -#: lang/json/GENERIC_from_json.py -msgid "neoprene sheet" -msgid_plural "neoprene sheets" -msgstr[0] "arkusz neoprenu" -msgstr[1] "arkusz neoprenu" -msgstr[2] "arkusz neoprenu" -msgstr[3] "arkusz neoprenu" - #. ~ Description for neoprene sheet #: lang/json/GENERIC_from_json.py msgid "" @@ -46437,6 +47378,308 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" +#: lang/json/GENERIC_from_json.py +msgid "leaf spring" +msgid_plural "leaf springs" +msgstr[0] "resor piórowy" +msgstr[1] "resory piórowe" +msgstr[2] "resory piórowe" +msgstr[3] "resory piórowe" + +#. ~ Description for leaf spring +#: lang/json/GENERIC_from_json.py +msgid "" +"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" +" an awful lot like a bow. You can barely bend it…" +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea" +msgid_plural "hydrangeas" +msgstr[0] "hortensja" +msgstr[1] "hortensje" +msgstr[2] "hortensji" +msgstr[3] "hortensje" + +#. ~ Description for hydrangea +#: lang/json/GENERIC_from_json.py +msgid "A hydrangea stalk with some petals." +msgstr "Łodyga hortensji z kilkoma płatkami." + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea bud" +msgid_plural "hydrangea buds" +msgstr[0] "pąk hortensji" +msgstr[1] "pąki hortensji" +msgstr[2] "pąków hortensji" +msgstr[3] "pąki hortensji" + +#. ~ Description for hydrangea bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A hydrangea bud. Contains some substances commonly produced by a hydrangea " +"flower." +msgstr "" +"Pąk hortensji. Zawiera trochę substancji powszechnie wydzielanych przez " +"kwiat hortensji." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "tulip" +msgid_plural "tulips" +msgstr[0] "tulipan" +msgstr[1] "tulipany" +msgstr[2] "tulipanów" +msgstr[3] "tulipany" + +#. ~ Description for tulip +#: lang/json/GENERIC_from_json.py +msgid "A tulip stalk with some petals." +msgstr "Łodyga tulipana z kilkoma płatkami." + +#: lang/json/GENERIC_from_json.py +msgid "tulip bud" +msgid_plural "tulip buds" +msgstr[0] "pąk tulipana" +msgstr[1] "pąki tulipana" +msgstr[2] "pąków tulipana" +msgstr[3] "pąki tulipana" + +#. ~ Description for tulip bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A tulip bud. Contains some substances commonly produced by a tulip flower." +msgstr "" +"Pąk tulipana. Zawiera trochę substancji powszechnie wydzielanych przez kwiat" +" tulipana." + +#: lang/json/GENERIC_from_json.py +msgid "spurge" +msgid_plural "spurges" +msgstr[0] "wilczomlecz" +msgstr[1] "wilczomlecze" +msgstr[2] "wilczomleczy" +msgstr[3] "wilczomlecze" + +#. ~ Description for spurge +#: lang/json/GENERIC_from_json.py +msgid "A spurge stalk with some petals." +msgstr "Łodyga wilczomlecza z kilkoma płatkami." + +#: lang/json/GENERIC_from_json.py +msgid "spurge bud" +msgid_plural "spurge buds" +msgstr[0] "pąk wilczomlecza" +msgstr[1] "pąki wilczomlecza" +msgstr[2] "pąków wilczomlecza" +msgstr[3] "pąki wilczomlecza" + +#. ~ Description for spurge bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A spurge bud. Contains some substances commonly produced by a spurge " +"flower." +msgstr "" +"Pąk wilczomlecza. Zawiera trochę substancji powszechnie wydzielanych przez " +"wilczomlecz." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "black eyed susan" +msgid_plural "black eyed susans" +msgstr[0] "magnolia susan" +msgstr[1] "magnolie susan" +msgstr[2] "magnolii susan" +msgstr[3] "magnolie susan" + +#. ~ Description for black eyed susan +#: lang/json/GENERIC_from_json.py +msgid "A black eyed susan stalk with some petals." +msgstr "Łodyga magnolii 'Susan' z kilkoma płatkami." + +#: lang/json/GENERIC_from_json.py +msgid "black eyed susan bud" +msgid_plural "black eyed susan buds" +msgstr[0] "pąk magnolii susan" +msgstr[1] "pąki magnolii susan" +msgstr[2] "pąków magnolii susan" +msgstr[3] "pąki magnolii susan" + +#. ~ Description for black eyed susan bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A black eyed susan bud. Contains some substances commonly produced by a " +"black eyed susan flower." +msgstr "" +"Pąk magnolii 'Susan'. Zawiera trochę substancji powszechnie wydzielanych " +"przez kwiat magnolii 'Susan'." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lily" +msgid_plural "lilys" +msgstr[0] "lilia" +msgstr[1] "lilie" +msgstr[2] "lilii" +msgstr[3] "lilie" + +#. ~ Description for lily +#: lang/json/GENERIC_from_json.py +msgid "A lily stalk with some petals." +msgstr "Łodyga lilii z kilkoma płatkami." + +#: lang/json/GENERIC_from_json.py +msgid "lily bud" +msgid_plural "lily buds" +msgstr[0] "pąk lilii" +msgstr[1] "pąki lilii" +msgstr[2] "pąków lilii" +msgstr[3] "pąki lilii" + +#. ~ Description for lily bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lily bud. Contains some substances commonly produced by a lily flower." +msgstr "" +"Pąk lilii. Zawiera trochę substancji powszechnie wydzielanych przez kwiat " +"lilii." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lotus" +msgid_plural "lotuss" +msgstr[0] "lotos" +msgstr[1] "lotosy" +msgstr[2] "lotosów" +msgstr[3] "lotosy" + +#. ~ Description for lotus +#: lang/json/GENERIC_from_json.py +msgid "A lotus stalk with some petals." +msgstr "Łodyga lotosu z kilkoma płatkami." + +#: lang/json/GENERIC_from_json.py +msgid "lotus bud" +msgid_plural "lotus buds" +msgstr[0] "pąk lotosu" +msgstr[1] "pąki lotosu" +msgstr[2] "pąków lotosu" +msgstr[3] "pąki lotosu" + +#. ~ Description for lotus bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lotus bud. Contains some substances commonly produced by a lotus flower." +msgstr "" +"Pąk lotosu. Zawiera trochę substancji powszechnie wydzielanych przez kwiat " +"lotosu." + +#: lang/json/GENERIC_from_json.py +msgid "lilac" +msgid_plural "lilacs" +msgstr[0] "bez" +msgstr[1] "bzy" +msgstr[2] "bzów" +msgstr[3] "bzy" + +#. ~ Description for lilac +#: lang/json/GENERIC_from_json.py +msgid "A lilac stalk with some petals." +msgstr "Łodyga bzu z kilkoma płatkami." + +#: lang/json/GENERIC_from_json.py +msgid "lilac bud" +msgid_plural "lilac buds" +msgstr[0] "pąk bzu" +msgstr[1] "pąki bzu" +msgstr[2] "pąków bzu" +msgstr[3] "pąki bzu" + +#. ~ Description for lilac bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lilac bud. Contains some substances commonly produced by a lilac flower." +msgstr "" +"Pąk bzu. Zawiera trochę substancji powszechnie wydzielanych przez kwiat bzu." + +#: lang/json/GENERIC_from_json.py +msgid "rose bud" +msgid_plural "rose buds" +msgstr[0] "pąk róży" +msgstr[1] "pąki róży" +msgstr[2] "pąków róży" +msgstr[3] "pąki róży" + +#. ~ Description for rose bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A rose bud. Contains some substances commonly produced by a rose flower." +msgstr "" +"Pąk róży. Zawiera trochę substancji powszechnie wydzielanych przez kwiat " +"róży." + +#: lang/json/GENERIC_from_json.py +msgid "dahlia bud" +msgid_plural "dahlia buds" +msgstr[0] "pąk dalii" +msgstr[1] "pąk dalii" +msgstr[2] "pąk dalii" +msgstr[3] "pąk dalii" + +#. ~ Description for dahlia bud +#: lang/json/GENERIC_from_json.py +msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." +msgstr "Pąk dalii. Zawiera substancje typowo produkowane przez dalię." + +#. ~ Description for rose +#: lang/json/GENERIC_from_json.py +msgid "A rose stalk with some petals." +msgstr "Łodyga róży z kilkoma płatkami." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "bluebell" +msgid_plural "bluebells" +msgstr[0] "dzwonecznik" +msgstr[1] "dzwonecznik" +msgstr[2] "dzwonecznik" +msgstr[3] "dzwonecznik" + +#. ~ Description for bluebell +#: lang/json/GENERIC_from_json.py +msgid "A bluebell stalk with some petals." +msgstr "Łodyga dzwonecznika z niebieskimi kwiatami." + +#. ~ Description for dahlia +#: lang/json/GENERIC_from_json.py +msgid "A dahlia stalk with some petals." +msgstr "Łodyga dali z kwiatami." + +#: lang/json/GENERIC_from_json.py +msgid "poppy flower" +msgid_plural "poppy flowers" +msgstr[0] "kwiaty maku" +msgstr[1] "kwiaty maku" +msgstr[2] "kwiaty maku" +msgstr[3] "kwiaty maku" + +#. ~ Description for poppy flower +#: lang/json/GENERIC_from_json.py +msgid "A poppy stalk with some petals." +msgstr "Łodyga maku z płatkami kwiatów." + +#: lang/json/GENERIC_from_json.py +msgid "bluebell bud" +msgid_plural "bluebell buds" +msgstr[0] "pąk dzwonecznika" +msgstr[1] "pąk dzwonecznika" +msgstr[2] "pąk dzwonecznika" +msgstr[3] "pąk dzwonecznika" + +#. ~ Description for bluebell bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A bluebell bud. Contains some substances commonly produced by a bluebell " +"flower." +msgstr "" +"Pąk dzwonecznika. Zawiera substancje typowo produkowane przez kwiaty " +"dzwonecznika." + #: lang/json/GENERIC_from_json.py msgid "module template" msgid_plural "module templates" @@ -46930,7 +48173,7 @@ msgstr[3] "atomowy ekspres do kawy" #: lang/json/GENERIC_from_json.py msgid "" "This is a Curie-G coffeemaker, by CuppaTech. It famously uses a radioactive" -" generator to heat water for coffee. Normally the water is heated using " +" generator to heat water for coffee. Normally the water is heated using " "energy stored in a capacitor, and makes ordinary coffee. However, as a " "special feature, water from the RTG containment area can be used, giving the" " coffee a very special kick. The Curie-G is illegal in most countries." @@ -46947,7 +48190,9 @@ msgstr[3] "atomowa lampa" #. ~ Use action menu_text for atomic lamp. #. ~ Use action menu_text for atomic reading light. #. ~ Use action menu_text for magical reading light. -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp. +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Close cover" msgstr "Zamknij pokrywę" @@ -46977,7 +48222,9 @@ msgstr[3] "atomowa lampa (zakryta)" #. ~ Use action menu_text for atomic lamp (covered). #. ~ Use action menu_text for atomic reading light (covered). #. ~ Use action menu_text for magical reading light (covered). -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp (covered). +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Open cover" msgstr "Otwórz pokrywę" @@ -47313,8 +48560,8 @@ msgstr[3] "kotwiczka na linie" #: lang/json/GENERIC_from_json.py msgid "" "A folding grappling hook attached to a stout 30-foot long piece of " -"lightweight cord. Useful for keeping yourself safe from falls. Can be used " -"in place of a long rope for butchering, in a pinch." +"lightweight cord. Useful for keeping yourself safe from falls. Can be used" +" in place of a long rope for butchering, in a pinch." msgstr "" #: lang/json/GENERIC_from_json.py @@ -48326,12 +49573,11 @@ msgstr[3] "" #. ~ Description for Beautiful Springtime #: lang/json/GENERIC_from_json.py -msgid "" -"A complete guide to Wing Chun Kung-fu. Includes a section on butterfly " -"swords and the use of long poles at the end." +msgid "A complete guide to Wing Chun Kung-fu." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/martial_art_from_json.py +#: lang/json/martial_art_from_json.py msgid "Fior Di Battaglia" msgid_plural "Fior Di Battaglia" msgstr[0] "" @@ -48343,8 +49589,8 @@ msgstr[3] "" #: lang/json/GENERIC_from_json.py msgid "" "A completely translated medieval guide teaching various techniques with " -"polearms, there is a chapter about the many variations of common polearms..." -" there are even pictures!" +"polearms, there is a chapter about the many variations of common polearms… " +"there are even pictures!" msgstr "" #: lang/json/GENERIC_from_json.py @@ -49677,6 +50923,22 @@ msgstr[3] "" msgid "This is a slip of paper signed by the issuer." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "icon" +msgid_plural "icons" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for icon +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a small picture, about the same size as an ID card, symbolizing a " +"religious figure. On the back, there is a text that faintly reads 'New " +"England Church Community'." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "generic silverware" msgid_plural "generic silverwares" @@ -50061,10 +51323,9 @@ msgstr[3] "widelec" #. ~ Description for fork #: lang/json/GENERIC_from_json.py msgid "" -"A fork, if you stab something with it you eat it right away. Wait... " +"A fork, if you stab something with it you eat it right away. Wait… " "nevermind." msgstr "" -"Widelec, jak nim coś dziabniesz od razu to zjadasz. Czekaj... nieważne." #: lang/json/GENERIC_from_json.py msgid "plastic fork" @@ -51471,18 +52732,12 @@ msgstr[3] "Mjölnir" #: lang/json/GENERIC_from_json.py msgid "" "A large hammer, forged from the heart of a dying star. It bears the inscription:\n" -" \n" +"\n" "Whosoever holds this hammer,\n" "If he be worthy,\n" -"Shall possess the power to...\n" +"Shall possess the power to…\n" "CRUSH!'" msgstr "" -"Duży młot, wykuty z serca umierającej gwiazdy. Nosi inskrypcję:\n" -"\n" -"Ktokolwiek dzierży ten młot,\n" -"Jeśli jest godzien,\n" -"Posiądzie moc by...\n" -"MIAŻDŻYĆ!" #: lang/json/GENERIC_from_json.py msgid "lucerne hammer" @@ -52013,8 +53268,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "" "This is a thin thrusting sword, a sort of predecessor to the rapier. It " -"requires a larger baldric or scabbard, compared to smaller swords. It seems " -"a bit too bendy." +"requires a larger baldric or scabbard, compared to smaller swords. It seems" +" a bit too bendy." msgstr "" #. ~ Description for estoc @@ -52135,23 +53390,20 @@ msgstr "" "floret jest beznadziejną bronią, z uwagi na elastyczny pręt i tępy koniec." #: lang/json/GENERIC_from_json.py -msgid "fencing epee" -msgid_plural "fencing epees" -msgstr[0] "szpada szermiercza" -msgstr[1] "szpada szermiercza" -msgstr[2] "szpada szermiercza" -msgstr[3] "szpada szermiercza" +msgid "fencing épée" +msgid_plural "fencing épées" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for fencing epee +#. ~ Description for fencing épée #: lang/json/GENERIC_from_json.py msgid "" -"A weapon used for fencing, the most noble of all sports. The epee is the " +"A weapon used for fencing, the most noble of all sports. The épée is the " "heaviest and stiffest of the fencing weapons, and therefore perhaps the most" " useful." msgstr "" -"Broń używana w szermierce, najbardziej szlachetnym ze sportów. Szpada jest " -"najcięższa i najsztywniejsza z broni szermierczych, stąd chyba najbardziej " -"użyteczna." #: lang/json/GENERIC_from_json.py msgid "fencing saber" @@ -52165,11 +53417,59 @@ msgstr[3] "szabla szermiercza" #: lang/json/GENERIC_from_json.py msgid "" "A weapon used for fencing, the most noble of all sports. The fencing saber " -"is marginally shorter than the foil and epee, but no less effective." +"is marginally shorter than the foil and épée, but no less effective." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened foil" +msgid_plural "sharpened foils" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for sharpened foil +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing foil has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now somewhat more lethal, yet still familiar to" +" the practiced fencer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened épée" +msgid_plural "sharpened épées" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for sharpened épée +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing épée has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now considerably more lethal, yet still " +"familiar to the practiced fencer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened saber" +msgid_plural "sharpened sabers" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for sharpened saber +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing saber has had its rounded tip snapped off " +"and has been crudely sharpened to a point. Though it still lacks a cutting " +"edge, it is now considerably more lethal, yet still familiar to the " +"practiced fencer." msgstr "" -"Broń używana w szermierce, najbardziej szlachetnym ze sportów. Szabla " -"szermiercza jest niewiele krótsza od floretu i szpady, ale nie mniej " -"efektywna." #: lang/json/GENERIC_from_json.py msgid "hollow cane" @@ -52431,6 +53731,19 @@ msgid "" "door." msgstr "Metalowy cylinder z małą soczewką wewnątrz, instalowany w drzwiach." +#: lang/json/GENERIC_from_json.py +msgid "mesh screen" +msgid_plural "mesh screens" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for mesh screen +#: lang/json/GENERIC_from_json.py +msgid "A roll of fine mesh screen for bug barriers on porches." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "pipe" msgid_plural "pipes" @@ -52492,11 +53805,8 @@ msgstr[3] "sztaba aluminium" msgid "" "A small aluminum ingot, standardized for further processing. Light but " "durable, this could be cast into various shapes for construction or ground " -"down to a powder, for more... high-profile applications." +"down to a powder, for more… high-profile applications." msgstr "" -"Mała sztaba aluminium, standaryzowana do dalszego przetworzenia. Lekka ale " -"wytrzymała, może być odlana w różne kształty dla budowy, lub starta w " -"proszek dla... wyższych zastosowań." #: lang/json/GENERIC_from_json.py msgid "scrap copper" @@ -52525,14 +53835,14 @@ msgid "This is a single, or twin, sized mattress." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "down_mattress" -msgid_plural "down_mattresses" +msgid "down mattress" +msgid_plural "down mattresses" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/GENERIC_from_json.py msgid "This is a single, or twin, sized down filled mattress." msgstr "" @@ -52886,6 +54196,52 @@ msgid "" " can also serve as an improvised stabbing weapon, but will break quickly." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "frame loom" +msgid_plural "frame looms" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for frame loom +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a rather bulky and primitive wooden frame which can be used to weave" +" cloth sheets. It is very slow, though." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "wooden shed stick" +msgid_plural "wooden shed sticks" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for wooden shed stick +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a short thin flat wooden stick, used as a tool while weaving cloth " +"with a frame loom." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "tailoring pattern set" +msgid_plural "tailoring pattern sets" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for tailoring pattern set +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a large set of tailoring patterns made from paper. They're useful " +"for making any kind of cloth or leather items from scratch, but are " +"necessary for more advanced projects." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "vehicle alternator" msgid_plural "vehicle alternators" @@ -53305,6 +54661,22 @@ msgstr "" " prowadzenia pojazdu bezzałogowego. Jego sztuczna inteligencja nie działa, " "ale nadal powinien mieć jakiś tryb serwisowy." +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "turret control unit" +msgid_plural "turret control units" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for turret control unit +#: lang/json/GENERIC_from_json.py +msgid "" +"A set of motor, camera, and various electronic modules banded together to " +"allow for tracking targets, friend-or-foe identification, and firing the " +"connected turret in full automatic mode." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "massive engine block" msgid_plural "massive engine blocks" @@ -54608,6 +55980,21 @@ msgstr[3] "pralka" msgid "A very small washing machine designed for use in vehicles." msgstr "Kompaktowa pralka opracowana do stosowania w pojazdach." +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "programmable autopilot" +msgid_plural "programmable autopilots" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for programmable autopilot +#: lang/json/GENERIC_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of a vehicle to allow" +" it to follow simple paths." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "mountable autoclave" msgid_plural "mountable autoclaves" @@ -54693,7 +56080,7 @@ msgstr[3] "" #. ~ Description for medium wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." +"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py @@ -54707,8 +56094,8 @@ msgstr[3] "" #. ~ Description for heavy wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A heavy metal assembly that allows bolting a wheel on a car. Fit for a large" -" car wheel." +"A heavy metal assembly that allows bolting a wheel on a car. Fit for a " +"large car wheel." msgstr "" #: lang/json/GENERIC_from_json.py @@ -56067,6 +57454,29 @@ msgid "" "art." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "The Iron Whip" +msgid_plural "The Iron Whips" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for The Iron Whip. +#: lang/json/GENERIC_from_json.py +msgid "" +"You loop the whip in your hand and it coils back into a belt form in an " +"instant." +msgstr "" + +#. ~ Description for The Iron Whip +#: lang/json/GENERIC_from_json.py +msgid "" +"A long braided flexible steel bullwhip that narrows into a sharp blade at " +"the end. Easily capable of slicing and dicing anything that comes at you. " +"It transforms back into a belt." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "cudgel +1" msgid_plural "cudgel +1s" @@ -56739,193 +58149,6 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#: lang/json/GENERIC_from_json.py -msgid "cestus +1" -msgid_plural "cestus +1s" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#: lang/json/GENERIC_from_json.py -msgid "cestus +2" -msgid_plural "cestus +2s" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist" -msgid_plural "flaming fists" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#. ~ Description for flaming fist -#: lang/json/GENERIC_from_json.py -msgid "" -"A heavy metal guard that covers the fist and increases striking power, with " -"stout padding underneath to protect the wearers hand. It has been enchanted" -" to emit dark magical flames that only harm enemies." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist +1" -msgid_plural "flaming fist +1s" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist +2" -msgid_plural "flaming fist +2s" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#: lang/json/GENERIC_from_json.py -msgid "gauntlet of pounding" -msgid_plural "gauntlets of pounding" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#. ~ Description for gauntlet of pounding -#: lang/json/GENERIC_from_json.py -msgid "" -"A large gleaming metal gauntlet covered in magical symbols that allows you " -"to land astoundingly powerful blows." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "stone shell" -msgid_plural "stone shells" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#. ~ Description for stone shell -#: lang/json/GENERIC_from_json.py -msgid "" -"The broken fragment of an owlbear egg. With luck it might still contain " -"some of its former power, though if nothing else it's still a bit sharp." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "glow dust" -msgid_plural "glow dusts" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#. ~ Description for glow dust -#: lang/json/GENERIC_from_json.py -msgid "" -"The powdered remains of a will-o-wisps's phsyical form. It seems to still " -"possess an otherworldly glow." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "magical reading light" -msgid_plural "magical reading lights" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#. ~ Description for magical reading light -#: lang/json/GENERIC_from_json.py -msgid "" -"Powered by the magic of glow powder and lesser mana potions, this extremely " -"expensive little light will provide just enough light to read by for at " -"least a decade. Use it to close the cover and hide the light." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "magical reading light (covered)" -msgid_plural "magical reading lights (covered)" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#. ~ Description for magical reading light (covered) -#: lang/json/GENERIC_from_json.py -msgid "" -"Powered by the magic of glow powder and lesser mana potions, this extremely " -"expensive little light will provide just enough light to read by for at " -"least a decade. The cover is closed. Use it to open the cover and show the" -" light." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "bulette plate" -msgid_plural "bulette plates" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#. ~ Description for bulette plate -#: lang/json/GENERIC_from_json.py -msgid "" -"The great plates from behind a bulette's head have always been prized for " -"use in shield and armor making." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "bulette pearl" -msgid_plural "bulette pearls" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#. ~ Description for bulette pearl -#: lang/json/GENERIC_from_json.py -msgid "" -"As a bulette burrows through the earth its gills collect minute amounts of " -"precious metals and gems which slowly aggregate into lustrous gemstones " -"prized for their beauty and power." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "black dragon scale" -msgid_plural "black dragon scales" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#. ~ Description for black dragon scale -#: lang/json/GENERIC_from_json.py -msgid "" -"A scale from a black dragon. It still has its magical properties and acid " -"resistance." -msgstr "" - -#: lang/json/GENERIC_from_json.py lang/json/material_from_json.py -msgid "black dragon hide" -msgid_plural "black dragon hides" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" - -#. ~ Description for black dragon hide -#: lang/json/GENERIC_from_json.py -msgid "" -"Prepared hide from a black dragon. Hard, acid-resistant, and with more " -"scales could make a suit of armor as hard as steel and half as heavy." -msgstr "" - #: lang/json/GENERIC_from_json.py msgid "Biomancer spear" msgid_plural "Biomancer spears" @@ -56937,8 +58160,8 @@ msgstr[3] "" #. ~ Description for Biomancer spear #: lang/json/GENERIC_from_json.py msgid "" -"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer rune" -" embedded at the base of the head." +"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer " +"rune embedded at the base of the head." msgstr "" #: lang/json/GENERIC_from_json.py @@ -56953,24 +58176,438 @@ msgstr[3] "" #: lang/json/GENERIC_from_json.py msgid "" "This staff incorporates a sturdy cresent wrench on top of a prybar and a " -"hammer on the other in a convienent package. There is a Technomancer rune " +"hammer on the other in a convienent package. There is a Technomancer rune " "embedded in the hammerhead." msgstr "" #: lang/json/GENERIC_from_json.py msgid "Magus staff" -msgid_plural "Magus staffs" +msgid_plural "Magus staves" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Magus staff +#. ~ Description for {'str': 'Magus staff', 'str_pl': 'Magus staves'} #: lang/json/GENERIC_from_json.py msgid "" "A quarterstaff with runes carved into it and two glass jars, heat-tempered " -"and infused with mana for durability, to act as mana receptacles. There are " -"two Magi runes embedded at the tips." +"and infused with mana for durability, to act as mana receptacles. There are" +" two Magi runes embedded at the tips." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Kelvinist flamberge" +msgid_plural "Kelvinist flamberges" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for Kelvinist flamberge +#: lang/json/GENERIC_from_json.py +msgid "" +"A sword with an undulating blade, reminiscent of a flame. There is a " +"Kelvinist rune embedded in the pommel." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Stormshaper axe" +msgid_plural "Stormshaper axes" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for Stormshaper axe +#: lang/json/GENERIC_from_json.py +msgid "" +"A forged copper axe with silver trimmings and a wooden handle. There is a " +"Stormshaper rune embedded in the eye." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Animist athame" +msgid_plural "Animist athames" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for Animist athame +#: lang/json/GENERIC_from_json.py +msgid "" +"A steel ritual knife used by Animists to draw blood for summoning. Their " +"school rune is embedded in the crossguard." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "springstaff(baton)" +msgid_plural "springstaves(baton)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action menu_text for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "Extend to staff" +msgstr "" + +#. ~ Use action msg for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "You snap open your springstaff into staff mode." +msgstr "" + +#. ~ Description for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips retracted while in baton configuration. Activate to extend." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "springstaff(staff)" +msgid_plural "springstaves(staff)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action menu_text for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "Retract to baton" +msgstr "" + +#. ~ Use action msg for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "You collapse your springstaff into baton mode." +msgstr "" + +#. ~ Description for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips from retracting while in staff configuration. Activate to extend." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magic token" +msgid_plural "magic tokens" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/GENERIC_from_json.py +msgid "longsword token" +msgid_plural "longsword tokens" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for longsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine longsword!" +msgstr "" + +#. ~ Description for longsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a longsword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "arming sword token" +msgid_plural "arming sword tokens" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for arming sword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine arming sword!" +msgstr "" + +#. ~ Description for arming sword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case an arming sword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "broadsword token" +msgid_plural "broadsword tokens" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for broadsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine broadsword!" +msgstr "" + +#. ~ Description for broadsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a broadsword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "battleaxe token" +msgid_plural "battleaxe tokens" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for battleaxe token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine battle axe!" +msgstr "" + +#. ~ Description for battleaxe token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a battle axe." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "pike token" +msgid_plural "pike tokens" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for pike token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine pike!" +msgstr "" + +#. ~ Description for pike token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a pike." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "mace token" +msgid_plural "mace tokens" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for mace token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine mace!" +msgstr "" + +#. ~ Description for mace token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a mace." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "quarterstaff token" +msgid_plural "quarterstaff tokens" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for quarterstaff token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a pristine quarterstaff!" +msgstr "" + +#. ~ Description for quarterstaff token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a quarterstaff." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "hammer token" +msgid_plural "hammer tokens" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for hammer token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine hammer!" +msgstr "" + +#. ~ Description for hammer token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a hammer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "screwdriver set token" +msgid_plural "screwdriver set tokens" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for screwdriver set token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine screwdriver set!" +msgstr "" + +#. ~ Description for screwdriver set token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a screwdriver." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "toolbox token" +msgid_plural "toolbox tokens" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for toolbox token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine toolbox!" +msgstr "" + +#. ~ Description for toolbox token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a toolbox." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "crowbar token" +msgid_plural "crowbar tokens" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for crowbar token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine crowbar!" +msgstr "" + +#. ~ Description for crowbar token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a crowbar." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "cestus +1" +msgid_plural "cestus +1s" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/GENERIC_from_json.py +msgid "cestus +2" +msgid_plural "cestus +2s" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist" +msgid_plural "flaming fists" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for flaming fist +#: lang/json/GENERIC_from_json.py +msgid "" +"A heavy metal guard that covers the fist and increases striking power, with " +"stout padding underneath to protect the wearers hand. It has been enchanted" +" to emit dark magical flames that only harm enemies." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist +1" +msgid_plural "flaming fist +1s" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist +2" +msgid_plural "flaming fist +2s" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/GENERIC_from_json.py +msgid "gauntlet of pounding" +msgid_plural "gauntlets of pounding" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for gauntlet of pounding +#: lang/json/GENERIC_from_json.py +msgid "" +"A large gleaming metal gauntlet covered in magical symbols that allows you " +"to land astoundingly powerful blows." msgstr "" #: lang/json/GENERIC_from_json.py @@ -56981,57 +58618,152 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Earthshaper cestus +#. ~ Description for {'str': 'Earthshaper cestus', 'str_pl': 'Earthshaper +#. cesti'} #: lang/json/GENERIC_from_json.py msgid "" "A stone battle glove with carved runes encasing the hand, protecting it " -"while increasing striking power. There is an Earthshaper rune embedded in " +"while increasing striking power. There is an Earthshaper rune embedded in " "the palm." msgstr "" #: lang/json/GENERIC_from_json.py -msgid "Kelvinist flamberge" -msgid_plural "Kelvinist flamberges" +msgid "stone shell" +msgid_plural "stone shells" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Kelvinist flamberge +#. ~ Description for stone shell #: lang/json/GENERIC_from_json.py msgid "" -"A sword with an undulating blade, reminiscent of a flame. There is a " -"Kelvinist rune embedded in the pommel." +"The broken fragment of an owlbear egg. With luck it might still contain " +"some of its former power, though if nothing else it's still a bit sharp." msgstr "" #: lang/json/GENERIC_from_json.py -msgid "Stormshaper axe" -msgid_plural "Stormshaper axes" +msgid "glow dust" +msgid_plural "glow dusts" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Stormshaper axe +#. ~ Description for glow dust #: lang/json/GENERIC_from_json.py msgid "" -"A forged copper axe with silver trimmings and a wooden handle. There is a " -"Stormshaper rune embedded in the eye." +"The powdered remains of a will-o-wisps's phsyical form. It seems to still " +"possess an otherworldly glow." msgstr "" #: lang/json/GENERIC_from_json.py -msgid "Animist athame" -msgid_plural "Animist athames" +msgid "magical reading light" +msgid_plural "magical reading lights" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Animist athame +#. ~ Description for magical reading light #: lang/json/GENERIC_from_json.py msgid "" -"A steel ritual knife used by Animists to draw blood for summoning. Their " -"school rune is embedded in the crossguard." +"Powered by the magic of glow powder and lesser mana potions, this extremely " +"expensive little light will provide just enough light to read by for at " +"least a decade. Use it to close the cover and hide the light." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magical reading light (covered)" +msgid_plural "magical reading lights (covered)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for magical reading light (covered) +#: lang/json/GENERIC_from_json.py +msgid "" +"Powered by the magic of glow powder and lesser mana potions, this extremely " +"expensive little light will provide just enough light to read by for at " +"least a decade. The cover is closed. Use it to open the cover and show the" +" light." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "bulette plate" +msgid_plural "bulette plates" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for bulette plate +#: lang/json/GENERIC_from_json.py +msgid "" +"The great plates from behind a bulette's head have always been prized for " +"use in shield and armor making." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "bulette pearl" +msgid_plural "bulette pearls" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for bulette pearl +#: lang/json/GENERIC_from_json.py +msgid "" +"As a bulette burrows through the earth its gills collect minute amounts of " +"precious metals and gems which slowly aggregate into lustrous gemstones " +"prized for their beauty and power." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "stirge proboscis" +msgid_plural "stirge proboscises" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for stirge proboscis +#: lang/json/GENERIC_from_json.py +msgid "" +"A long sucking apparatus harvested from stirge corpse. Makes a poor melee " +"weapon." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "black dragon scale" +msgid_plural "black dragon scales" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for black dragon scale +#: lang/json/GENERIC_from_json.py +msgid "" +"A scale from a black dragon. It still has its magical properties and acid " +"resistance." +msgstr "" + +#: lang/json/GENERIC_from_json.py lang/json/material_from_json.py +msgid "black dragon hide" +msgid_plural "black dragon hides" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for black dragon hide +#: lang/json/GENERIC_from_json.py +msgid "" +"Prepared hide from a black dragon. Hard, acid-resistant, and with more " +"scales could make a suit of armor as hard as steel and half as heavy." msgstr "" #: lang/json/GENERIC_from_json.py @@ -57049,6 +58781,19 @@ msgid "" "glows with magic when you cast spells, but it is not a sturdy melee weapon." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "fireball hammer" +msgid_plural "fireball hammers" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for fireball hammer +#: lang/json/GENERIC_from_json.py +msgid "Use with caution! Flammable! Explosive!" +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "The Stormhammer" msgid_plural "The Stormhammers" @@ -57107,6 +58852,62 @@ msgstr[3] "" msgid "This is a wicked spear/halberd hybrid entirely created of bone." msgstr "" +#. ~ Description for Mjölnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Mjölnir, the legendary hammer of Thor. It is rumored to be able to level " +"mountains with a single blow. You feel the power of Asgard coursing through" +" the hammer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Gungnir" +msgid_plural "Gungnirs" +msgstr[0] "Gungnir" +msgstr[1] "Gungnir" +msgstr[2] "Gungnir" +msgstr[3] "Gungnir" + +#. ~ Description for Gungnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Gungnir, the spear of Odin. It is rumored to be the perfect spear, " +"perfectly hitting any target regardless of the wielder's strength or skill." +" If feels like Odin's protecting you." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Gram" +msgid_plural "Grams" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for Gram +#: lang/json/GENERIC_from_json.py +msgid "" +"Gram, the sword of Sigurd. It is rumored to be the sword that slayed the " +"legendary dragon, Fafnir. Once said to have cleaved Regin's anvil in half, " +"the edge is impeccable." +msgstr "" + +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py +msgid "Laevateinn" +msgid_plural "Laevateinns" +msgstr[0] "Laevateinn" +msgstr[1] "Laevateinn" +msgstr[2] "Laevateinn" +msgstr[3] "Laevateinn" + +#. ~ Description for Laevateinn +#: lang/json/GENERIC_from_json.py +msgid "" +"Laevateinn, the staff of Loki. Said to have been plucked from the gates of " +"Hel by Loki. Imbued with a mysterious magic, the magic of the trickster god" +" himself." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "Spell Scroll" msgid_plural "Spell Scrolls" @@ -57390,8 +59191,8 @@ msgstr[3] "" #. ~ Description for Blinding Flash #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" -"Blind enemies for a short time with a sudden, dazzling light. Higher levels " -"deal slightly higher damage." +"Blind enemies for a short time with a sudden, dazzling light. Higher levels" +" deal slightly higher damage." msgstr "" #: lang/json/GENERIC_from_json.py @@ -57407,7 +59208,7 @@ msgstr[3] "" #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" "A mass of spectral hands emerge from the ground, slowing everything in " -"range. Higher levels allow a bigger AoE, and longer effect." +"range. Higher levels allow a bigger AoE, and longer effect." msgstr "" #: lang/json/GENERIC_from_json.py @@ -58287,8 +60088,55 @@ msgstr[3] "" #. ~ Description for Scroll of Purification Seed #: lang/json/GENERIC_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Greater levels yield" -" greater numbers of seeds." +"You summon a gift of the earth which will purify water. Greater levels " +"yield greater numbers of seeds." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of X-ray Vision" +msgid_plural "Scroll of X-ray Visions" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for Scroll of X-ray Vision +#. ~ Description for X-ray Vision +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You fire a cone of X-rays that magically allow you to see that area for a " +"short time." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Clairvoyance" +msgid_plural "Scroll of Clairvoyances" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for Scroll of Clairvoyance +#. ~ Description for Clairvoyance +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "You close your eyes and the earth surrenders its secrets to you." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Lava Bomb" +msgid_plural "Scroll of Lava Bombs" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for Scroll of Lava Bomb +#. ~ Description for Lava Bomb +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You tear up the ground beneath you to fire a lava bomb: a globe of lava " +"surrounded by hot, solid rock. It shatters upon impact, spraying shards of " +"rock and lava everywhere." msgstr "" #: lang/json/GENERIC_from_json.py @@ -59393,14 +61241,6 @@ msgstr "" "Replika Mjölnir'a, młota Thora. Legenda głosi że zrównuje z ziemią góry " "jednym ciosem. Jest udekorowany złotymi i srebrnymi ornamentami." -#: lang/json/GENERIC_from_json.py -msgid "Gungnir" -msgid_plural "Gungnirs" -msgstr[0] "Gungnir" -msgstr[1] "Gungnir" -msgstr[2] "Gungnir" -msgstr[3] "Gungnir" - #. ~ Description for Gungnir #: lang/json/GENERIC_from_json.py msgid "" @@ -60602,6 +62442,300 @@ msgstr "ARTEFAKTY" msgid "ARMOR" msgstr "ZBROJE" +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "ITEMS WORN" +msgstr "PRZEDMIOTY NOSZONE" + +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "WEAPON HELD" +msgstr "TRZYMANA BROŃ" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Unsorted" +msgstr "Łup: Nieposortowane" + +#. ~ Description for Loot: Unsorted +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " +"sort items inside. It can overlap with Loot zones of different types." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Food" +msgstr "Łup: Żywność" + +#. ~ Description for Loot: Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for comestibles. If more specific food zone is not defined, all" +" food is moved here." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Food" +msgstr "Łup: P.Żywność" + +#. ~ Description for Loot: P.Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for perishable comestibles. Does include perishable drinks if " +"such zone is not specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drink" +msgstr "Łup: Napoje" + +#. ~ Description for Loot: Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for drinks. Does include perishable drinks if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Drink" +msgstr "Łup: P.Napoje" + +#. ~ Description for Loot: P.Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for perishable drinks." +msgstr "Miejsce na psujące się drinki." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Guns" +msgstr "Łup: Broń palna" + +#. ~ Description for Loot: Guns +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for guns, bows and similar wearpons." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Magazines" +msgstr "Łup: Magazynki" + +#. ~ Description for Loot: Magazines +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for gun magazines." +msgstr "Miejsce na magazynki do broni palnej." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ammo" +msgstr "Łup: Amunicja" + +#. ~ Description for Loot: Ammo +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for ammo." +msgstr "Miejsce na amunicję." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Weapons" +msgstr "Łup: Broń" + +#. ~ Description for Loot: Weapons +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for melee weapons." +msgstr "Miejsce na broń do walki wręcz." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Tools" +msgstr "Łup: Narzędzia" + +#. ~ Description for Loot: Tools +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for tools." +msgstr "Miejsce na narzędzia." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Clothing" +msgstr "Łup: Ubrania" + +#. ~ Description for Loot: Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for clothing. Does include filthy clothing if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Clothing" +msgstr "Łup: B.Ubrania" + +#. ~ Description for Loot: F.Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy clothing." +msgstr "Miejsce na brudne ubrania." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drugs" +msgstr "Łup: Leki" + +#. ~ Description for Loot: Drugs +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for drugs and other medical items." +msgstr "Miejsce na leki i inne medykamenty." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Books" +msgstr "Łup: Książki" + +#. ~ Description for Loot: Books +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for books and magazines." +msgstr "Miejsce na książki i czasopisma." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mods" +msgstr "Łup: Modyfikacje" + +#. ~ Description for Loot: Mods +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firearm modifications and similar items." +msgstr "Miejsce na modyfikacje do broni itp." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mutagens" +msgstr "Łup: Mutageny" + +#. ~ Description for Loot: Mutagens +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for mutagens, serums, and purifiers." +msgstr "Miejsce na mutageny, sera, i czyściki." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Bionics" +msgstr "Łup: Bionika" + +#. ~ Description for Loot: Bionics +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for Compact Bionics Modules, a.k.a. CBMS." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: V.Parts" +msgstr "Łup: C.Pojazdów" + +#. ~ Description for Loot: V.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for vehicle parts." +msgstr "Miejsce na części samochodowe." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Other" +msgstr "Łup: Inne" + +#. ~ Description for Loot: Other +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for other miscellaneous items." +msgstr "Miejsce na inne niesklasyfikowane przedmioty." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Fuel" +msgstr "Łup: Paliwo" + +#. ~ Description for Loot: Fuel +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for gasoline, diesel, lamp oil and other substances used as a " +"fuel." +msgstr "" +"Miejsce na benzynę, diesla, olej do lamp i inne substancje używane jako " +"paliwa." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Seeds" +msgstr "Łup: Nasiona" + +#. ~ Description for Loot: Seeds +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for seeds, stems and similar items." +msgstr "Miejsce na nasiona, sadzonki, itp." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Chemical" +msgstr "Łup: Chemia" + +#. ~ Description for Loot: Chemical +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for chemicals." +msgstr "Miejsce na chemikalia." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: S.Parts" +msgstr "Łup: C.Zamienne" + +#. ~ Description for Loot: S.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for spare parts." +msgstr "Miejsce na części zamienne." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Artifacts" +msgstr "Łup: Artefakty" + +#. ~ Description for Loot: Artifacts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for artifacts" +msgstr "Miejsce na artefakty." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Corpses" +msgstr "" + +#. ~ Description for Loot: Corpses +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for corpses" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Armor" +msgstr "Łup: Zbroje" + +#. ~ Description for Loot: Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for armor. Does include filthy armor if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Armor" +msgstr "Łup: B.Zbroja" + +#. ~ Description for Loot: F.Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy armor." +msgstr "Miejsce na brudne zbroje." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Wood" +msgstr "Łup: Drewno" + +#. ~ Description for Loot: Wood +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firewood and items that can be used as such." +msgstr "Miejsce na drewno opałowe i inne rzeczy, które mogą za nie służyć." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Custom" +msgstr "" + +#. ~ Description for Loot: Custom +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for loot with a custom filter that you can modify" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ignore" +msgstr "Łup: Ignoruj" + +#. ~ Description for Loot: Ignore +#: lang/json/LOOT_ZONE_from_json.py +msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." +msgstr "Rzeczy w tej strefie są ignorowane przez akcję sortowania zdobyczy." + #: lang/json/MAGAZINE_from_json.py msgid "ultra-light battery" msgid_plural "ultra-light batteries" @@ -60853,7 +62987,7 @@ msgstr[3] "" #: lang/json/MAGAZINE_from_json.py msgid "" "This is a heavy battery cell, universally compatible with all kinds of " -"industrial-grade equipment and large tools. The battery's chemistry means " +"industrial-grade equipment and large tools. The battery's chemistry means " "that it has a very high capacity, but cannot be recharged." msgstr "" @@ -61376,15 +63510,6 @@ msgstr "" msgid "A 14 round double stack box magazine for the SIG Sauer P320." msgstr "" -#: lang/json/MAGAZINE_from_json.py -msgid "Taurus .38 magazine" -msgstr "magazynek Taurus .38" - -#. ~ Description for Taurus .38 magazine -#: lang/json/MAGAZINE_from_json.py -msgid "A compact steel box magazine for use with the Taurus Pro .38 pistol." -msgstr "Kompaktowy stalowy magazynek do pistoletu Taurus Pro .38." - #: lang/json/MAGAZINE_from_json.py msgid ".38/.357 7-round speedloader" msgstr "" @@ -61458,6 +63583,16 @@ msgstr "" msgid "A 10-round steel box magazine for use with the Hi-Point CF-380." msgstr "" +#: lang/json/MAGAZINE_from_json.py +msgid "Taurus Spectrum magazine" +msgstr "" + +#. ~ Description for Taurus Spectrum magazine +#: lang/json/MAGAZINE_from_json.py +msgid "" +"A compact, 6-round steel box magazine for use with the Taurus Spectrum." +msgstr "" + #: lang/json/MAGAZINE_from_json.py msgid "M1911 .38 Super magazine" msgstr "" @@ -62535,17 +64670,6 @@ msgstr "" "Duży stalowy cylinder przeznaczony do przechowywania sprężonego gazu " "spawalniczego. Jest pokryty kilkoma wyblakłymi i nieczytelnymi symbolami." -#: lang/json/MAGAZINE_from_json.py -msgid "oxygen cylinder" -msgstr "" - -#. ~ Description for oxygen cylinder -#: lang/json/MAGAZINE_from_json.py -msgid "" -"A large steel cylinder used for storing pressurized gas. It is marked with a" -" faded, but legible O2 symbol." -msgstr "" - #: lang/json/MAGAZINE_from_json.py lang/json/vehicle_part_from_json.py msgid "car battery" msgid_plural "car batteries" @@ -63321,6 +65445,15 @@ msgstr "" "Noszenie brudnych ubrań (z zombie) powoduje kary do morale i, przy trafieniu" " w walce, infekcje." +#: lang/json/MOD_INFO_from_json.py +msgid "Fuji's Military Profession Pack" +msgstr "" + +#. ~ Description for Fuji's Military Profession Pack +#: lang/json/MOD_INFO_from_json.py +msgid "Numerous military themed professions" +msgstr "" + #: lang/json/MOD_INFO_from_json.py msgid "Fuji's More Buildings" msgstr "Więcej Budynków od Fuji" @@ -63494,7 +65627,7 @@ msgstr "" msgid "" "Cataclysm is nice, but what if you could sweeten it a bit? What about " "walking through this world as a human shaped piece of sugar with your pet " -"necco waffer?" +"necco wafer?" msgstr "" #: lang/json/MOD_INFO_from_json.py @@ -64134,13 +66267,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "goose" -msgid_plural "gooses" +msgid_plural "geese" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for goose +#. ~ Description for {'str': 'goose', 'str_pl': 'geese'} #: lang/json/MONSTER_from_json.py msgid "A Canadian goose, a common waterfowl that regrets leaving Canada." msgstr "" @@ -64487,70 +66620,70 @@ msgstr[3] "" #: lang/json/MONSTER_from_json.py msgid "" "Many times as large as a normal manhack, this flying quadcopter drone " -"appears to have a mininuke inside. If this is targeting you... Run." +"appears to have a mininuke inside. If this is targeting you… Run." msgstr "" #: lang/json/MONSTER_from_json.py msgid "tiny fish" -msgid_plural "tiny fishs" +msgid_plural "tiny fish" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for tiny fish +#. ~ Description for {'str': 'tiny fish', 'str_pl': 'tiny fish'} #: lang/json/MONSTER_from_json.py msgid "A tiny fish." msgstr "Maleńka ryba." #: lang/json/MONSTER_from_json.py msgid "small fish" -msgid_plural "small fishs" +msgid_plural "small fish" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for small fish +#. ~ Description for {'str': 'small fish', 'str_pl': 'small fish'} #: lang/json/MONSTER_from_json.py msgid "A small fish." msgstr "Mała ryba." #: lang/json/MONSTER_from_json.py msgid "medium fish" -msgid_plural "medium fishs" +msgid_plural "medium fish" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for medium fish +#. ~ Description for {'str': 'medium fish', 'str_pl': 'medium fish'} #: lang/json/MONSTER_from_json.py msgid "A medium fish." msgstr "Średnia ryba." #: lang/json/MONSTER_from_json.py msgid "large fish" -msgid_plural "large fishs" +msgid_plural "large fish" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for large fish +#. ~ Description for {'str': 'large fish', 'str_pl': 'large fish'} #: lang/json/MONSTER_from_json.py msgid "A large fish." msgstr "Duża ryba" #: lang/json/MONSTER_from_json.py msgid "huge fish" -msgid_plural "huge fishs" +msgid_plural "huge fish" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for huge fish +#. ~ Description for {'str': 'huge fish', 'str_pl': 'huge fish'} #: lang/json/MONSTER_from_json.py msgid "A huge fish." msgstr "Olbrzymia ryba." @@ -64715,13 +66848,13 @@ msgstr "Kiżucz. Bardzo tłusta, pożywna ryba. Doskonała po uwędzeniu." #: lang/json/MONSTER_from_json.py msgid "whitefish" -msgid_plural "whitefishs" +msgid_plural "whitefish" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for whitefish +#. ~ Description for {'str': 'whitefish', 'str_pl': 'whitefish'} #: lang/json/MONSTER_from_json.py msgid "" "A whitefish, closely related to salmon. One can assume they are just as " @@ -64732,26 +66865,26 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "largemouth bass" -msgid_plural "largemouth basss" +msgid_plural "largemouth bass" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for largemouth bass +#. ~ Description for {'str': 'largemouth bass', 'str_pl': 'largemouth bass'} #: lang/json/MONSTER_from_json.py msgid "A Largemouth Bass. Very popular with sports fishermen." msgstr "Bass wielkogębowy. Bardzo popularna ryba wśród wędkarzy sportowych." #: lang/json/MONSTER_from_json.py msgid "smallmouth bass" -msgid_plural "smallmouth basss" +msgid_plural "smallmouth bass" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for smallmouth bass +#. ~ Description for {'str': 'smallmouth bass', 'str_pl': 'smallmouth bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Smallmouth Bass. Being intolerant to pollution in the water, smallmouth " @@ -64762,13 +66895,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "striped bass" -msgid_plural "striped basss" +msgid_plural "striped bass" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for striped bass +#. ~ Description for {'str': 'striped bass', 'str_pl': 'striped bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Striped Bass. Mostly a salt water fish, they migrate to fresher water to " @@ -64779,13 +66912,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "white bass" -msgid_plural "white basss" +msgid_plural "white bass" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for white bass +#. ~ Description for {'str': 'white bass', 'str_pl': 'white bass'} #: lang/json/MONSTER_from_json.py msgid "" "A White Bass. Common to the region, a slab-sided and spiny-rayed little " @@ -64796,13 +66929,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "perch" -msgid_plural "perchs" +msgid_plural "perches" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for perch +#. ~ Description for {'str': 'perch', 'str_pl': 'perches'} #: lang/json/MONSTER_from_json.py msgid "" "A small spritely Perch. A very bony fish, still got some tasty meat on it " @@ -64824,26 +66957,27 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "sunfish" -msgid_plural "sunfishs" +msgid_plural "sunfish" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for sunfish +#. ~ Description for {'str': 'sunfish', 'str_pl': 'sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "pumpkinseed sunfish" -msgid_plural "pumpkinseed sunfishs" +msgid_plural "pumpkinseed sunfish" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for pumpkinseed sunfish +#. ~ Description for {'str': 'pumpkinseed sunfish', 'str_pl': 'pumpkinseed +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Pumpkinseed Sunfish. A small fish related to bass or bluegill." msgstr "" @@ -64864,65 +66998,66 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "redbreast sunfish" -msgid_plural "redbreast sunfishs" +msgid_plural "redbreast sunfish" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for redbreast sunfish +#. ~ Description for {'str': 'redbreast sunfish', 'str_pl': 'redbreast +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redbreast Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "green sunfish" -msgid_plural "green sunfishs" +msgid_plural "green sunfish" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for green sunfish +#. ~ Description for {'str': 'green sunfish', 'str_pl': 'green sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Green Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "longear sunfish" -msgid_plural "longear sunfishs" +msgid_plural "longear sunfish" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for longear sunfish +#. ~ Description for {'str': 'longear sunfish', 'str_pl': 'longear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Longear Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "redear sunfish" -msgid_plural "redear sunfishs" +msgid_plural "redear sunfish" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for redear sunfish +#. ~ Description for {'str': 'redear sunfish', 'str_pl': 'redear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redear Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "rock bass" -msgid_plural "rock basss" +msgid_plural "rock bass" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for rock bass +#. ~ Description for {'str': 'rock bass', 'str_pl': 'rock bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Rock Bass. Related to sunfish, this tiny fish has a camoflauge-like " @@ -64931,13 +67066,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "calico bass" -msgid_plural "calico basss" +msgid_plural "calico bass" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for calico bass +#. ~ Description for {'str': 'calico bass', 'str_pl': 'calico bass'} #: lang/json/MONSTER_from_json.py msgid "A Calico Bass. A medium-sized fish also known as a 'Crappie'." msgstr "" @@ -64972,26 +67107,26 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "channel catfish" -msgid_plural "channel catfishs" +msgid_plural "channel catfish" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for channel catfish +#. ~ Description for {'str': 'channel catfish', 'str_pl': 'channel catfish'} #: lang/json/MONSTER_from_json.py msgid "A Channel Catfish, they have a forked tail and long whiskers." msgstr "" #: lang/json/MONSTER_from_json.py msgid "white catfish" -msgid_plural "white catfishs" +msgid_plural "white catfish" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for white catfish +#. ~ Description for {'str': 'white catfish', 'str_pl': 'white catfish'} #: lang/json/MONSTER_from_json.py msgid "A White Catfish, a small whiskered fish with a broad head." msgstr "" @@ -65100,13 +67235,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fallfish" -msgid_plural "fallfishs" +msgid_plural "fallfish" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for fallfish +#. ~ Description for {'str': 'fallfish', 'str_pl': 'fallfish'} #: lang/json/MONSTER_from_json.py msgid "" "A Fallfish. These fish are related to gar but without the huge teeth, skin " @@ -65126,28 +67261,23 @@ msgstr[3] "" msgid "" "These things were once considered pests not worth eating, then some " "marketing genius started selling them to people as a delicacy and they took " -"off in popularity... and price." +"off in popularity… and price." msgstr "" -"Uważane swego czasu za niewarte widelca szkodniki, dopóki jakiś geniusz od " -"marketingu nie zaczął ich sprzedawać jako delikates i odtąd odleciały z " -"popularnością... i ceną." #: lang/json/MONSTER_from_json.py msgid "crayfish" -msgid_plural "crayfishs" +msgid_plural "crayfish" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for crayfish +#. ~ Description for {'str': 'crayfish', 'str_pl': 'crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "If you could get ahold of a bunch more of these, a hefty pot of boiling " -"water, and some spicy seasonings..." +"water, and some spicy seasonings…" msgstr "" -"Gdybyś się mógł dobrać do garści tych stworzeń, zgrabnego rondelka " -"przegotowanej wody, i zestawu pikantnych przypraw..." #: lang/json/MONSTER_from_json.py msgid "Blinky" @@ -65157,7 +67287,7 @@ msgstr[1] "mrugacz" msgstr[2] "mrugacz" msgstr[3] "mrugacz" -#. ~ Description for Blinky +#. ~ Description for {'str': 'Blinky', 'str_pl': 'Blinkies'} #: lang/json/MONSTER_from_json.py msgid "A strange three-eyed fish." msgstr "Dziwna trójoka ryba." @@ -65293,13 +67423,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant cockroach" -msgid_plural "giant cockroachs" +msgid_plural "giant cockroaches" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for giant cockroach +#. ~ Description for {'str': 'giant cockroach', 'str_pl': 'giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "A mutant cockroach the size of a small dog." msgstr "" @@ -65321,13 +67451,14 @@ msgstr "Dziecko zmutowanego karalucha wielkości szczura." #: lang/json/MONSTER_from_json.py msgid "pregnant giant cockroach" -msgid_plural "pregnant giant cockroachs" +msgid_plural "pregnant giant cockroaches" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for pregnant giant cockroach +#. ~ Description for {'str': 'pregnant giant cockroach', 'str_pl': 'pregnant +#. giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant cockroach the size of a small dog. Its abdomen is heavily swollen." @@ -65376,7 +67507,7 @@ msgstr[1] "gigantyczne ważki" msgstr[2] "gigantyczne ważki" msgstr[3] "gigantyczne ważki" -#. ~ Description for giant dragonfly +#. ~ Description for {'str': 'giant dragonfly', 'str_pl': 'giant dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A ferocious mutant dragonfly as big as a cat, darting through the air with a" @@ -65393,7 +67524,7 @@ msgstr[1] "gigantyczne muchy" msgstr[2] "gigantyczne muchy" msgstr[3] "gigantyczne muchy" -#. ~ Description for giant fly +#. ~ Description for {'str': 'giant fly', 'str_pl': 'giant flies'} #: lang/json/MONSTER_from_json.py msgid "" "A tremendous housefly the size of a small dog, predictably accompanied by a " @@ -65627,13 +67758,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dermatik larva" -msgid_plural "dermatik larvas" +msgid_plural "dermatik larvae" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for dermatik larva +#. ~ Description for {'str': 'dermatik larva', 'str_pl': 'dermatik larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A fat white grub as big as a squirrel, with a pair of large, spadelike " @@ -65678,13 +67809,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "acidic ant larva" -msgid_plural "acidic ant larvas" +msgid_plural "acidic ant larvae" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for acidic ant larva +#. ~ Description for {'str': 'acidic ant larva', 'str_pl': 'acidic ant +#. larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A squirming yellow grub that seems to be oozing liquid from both ends of its" @@ -65751,13 +67883,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "ant larva" -msgid_plural "ant larvas" +msgid_plural "ant larvae" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for ant larva +#. ~ Description for {'str': 'ant larva', 'str_pl': 'ant larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A pulsating sausage of glistening white flesh, the size of a large cat. On " @@ -66103,13 +68235,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Labrador puppy" -msgid_plural "Labrador puppys" +msgid_plural "Labrador puppies" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Labrador puppy +#. ~ Description for {'str': 'Labrador puppy', 'str_pl': 'Labrador puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Labrador puppy. Much safer to tame than an adult " @@ -66137,13 +68269,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bulldog puppy" -msgid_plural "bulldog puppys" +msgid_plural "bulldog puppies" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for bulldog puppy +#. ~ Description for {'str': 'bulldog puppy', 'str_pl': 'bulldog puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless American bulldog puppy. Much safer to tame than an" @@ -66152,13 +68284,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull mix" -msgid_plural "pit bull mixs" +msgid_plural "pit bull mixes" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for pit bull mix +#. ~ Description for {'str': 'pit bull mix', 'str_pl': 'pit bull mixes'} #: lang/json/MONSTER_from_json.py msgid "" "The oft-misunderstood pit bull is not actually a single breed but a label " @@ -66169,13 +68301,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull puppy" -msgid_plural "pit bull puppys" +msgid_plural "pit bull puppies" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for pit bull puppy +#. ~ Description for {'str': 'pit bull puppy', 'str_pl': 'pit bull puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless pit bull puppy. Much safer to tame than an adult " @@ -66201,13 +68333,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "beagle puppy" -msgid_plural "beagle puppys" +msgid_plural "beagle puppies" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for beagle puppy +#. ~ Description for {'str': 'beagle puppy', 'str_pl': 'beagle puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless beagle puppy. Much safer to tame than an adult " @@ -66235,13 +68367,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "border collie puppy" -msgid_plural "border collie puppys" +msgid_plural "border collie puppies" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for border collie puppy +#. ~ Description for {'str': 'border collie puppy', 'str_pl': 'border collie +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Border Collie puppy. Much safer to tame than an " @@ -66267,13 +68400,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "boxer puppy" -msgid_plural "boxer puppys" +msgid_plural "boxer puppies" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for boxer puppy +#. ~ Description for {'str': 'boxer puppy', 'str_pl': 'boxer puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless boxer puppy. Much safer to tame than an adult dog." @@ -66296,13 +68429,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Chihuahua puppy" -msgid_plural "Chihuahua puppys" +msgid_plural "Chihuahua puppies" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Chihuahua puppy +#. ~ Description for {'str': 'Chihuahua puppy', 'str_pl': 'Chihuahua puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Chihuahua puppy. Much safer to tame than an adult " @@ -66327,13 +68460,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dachshund puppy" -msgid_plural "dachshund puppys" +msgid_plural "dachshund puppies" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for dachshund puppy +#. ~ Description for {'str': 'dachshund puppy', 'str_pl': 'dachshund puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless dachshund puppy. Much safer to tame than an adult " @@ -66359,13 +68492,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "German shepherd puppy" -msgid_plural "German shepherd puppys" +msgid_plural "German shepherd puppies" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for German shepherd puppy +#. ~ Description for {'str': 'German shepherd puppy', 'str_pl': 'German +#. shepherd puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless German shepherd puppy. Much safer to tame than an " @@ -66374,13 +68508,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees" -msgid_plural "Great Pyreneess" +msgid_plural "Great Pyrenees" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Great Pyrenees +#. ~ Description for {'str': 'Great Pyrenees', 'str_pl': 'Great Pyrenees'} #: lang/json/MONSTER_from_json.py msgid "" "A large and powerful breed, the Great Pyrenees has a beautiful, thick white " @@ -66394,13 +68528,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees puppy" -msgid_plural "Great Pyrenees puppys" +msgid_plural "Great Pyrenees puppies" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Great Pyrenees puppy +#. ~ Description for {'str': 'Great Pyrenees puppy', 'str_pl': 'Great Pyrenees +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Great Pyrenees puppy. Much safer to tame than an " @@ -66428,13 +68563,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rottweiler puppy" -msgid_plural "rottweiler puppys" +msgid_plural "rottweiler puppies" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for rottweiler puppy +#. ~ Description for {'str': 'rottweiler puppy', 'str_pl': 'rottweiler +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Rottweiler puppy. Much safer to tame than an adult" @@ -66461,13 +68597,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cattle dog puppy" -msgid_plural "cattle dog puppys" +msgid_plural "cattle dog puppies" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for cattle dog puppy +#. ~ Description for {'str': 'cattle dog puppy', 'str_pl': 'cattle dog +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Australian cattle dog puppy. Much safer to tame " @@ -66482,7 +68619,7 @@ msgstr[1] "lisy" msgstr[2] "lisy" msgstr[3] "lisy" -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A small omnivorous canine with an almost cat-like manner. It is a solitary " @@ -66491,7 +68628,7 @@ msgstr "" "Mały wszystkożerny psowaty z niemal kocimi manierami. Samotny łowca, i " "niemal jedyny psowaty potrafiący wdrapywać się na drzewa." -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "The red fox, an omnivorous canine and largest of the true foxes, it is a " @@ -66591,13 +68728,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "moose" -msgid_plural "mooses" +msgid_plural "moose" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for moose +#. ~ Description for {'str': 'moose', 'str_pl': 'moose'} #: lang/json/MONSTER_from_json.py msgid "" "The Eastern moose, the largest living species of deer. While they aren't " @@ -66772,10 +68909,8 @@ msgstr[3] "" #: lang/json/MONSTER_from_json.py msgid "" "A worm-tailed rodent with long whiskers and beady eyes. The way it squeaks " -"makes it sound... hungry." +"makes it sound… hungry." msgstr "" -"Gryzoń z przypominającym robaka ogonem, długimi wąsami i paciorkowatymi " -"oczami. Piszczy w sposób jakby sugerujący... głód." #: lang/json/MONSTER_from_json.py msgid "lamb" @@ -66801,7 +68936,7 @@ msgstr[1] "owce" msgstr[2] "owce" msgstr[3] "owce" -#. ~ Description for sheep +#. ~ Description for {'str': 'sheep', 'str_pl': 'sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A timid, hooved grazing mammal, and one of the first animals ever " @@ -66867,7 +69002,7 @@ msgstr[1] "wilki" msgstr[2] "wilki" msgstr[3] "wilki" -#. ~ Description for wolf +#. ~ Description for {'str': 'wolf', 'str_pl': 'wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A cunning pack predator, once extinct in the New England area, the wolf was " @@ -67181,7 +69316,7 @@ msgstr[1] "puste ciała" msgstr[2] "puste ciała" msgstr[3] "puste ciała" -#. ~ Description for blank body +#. ~ Description for {'str': 'blank body', 'str_pl': 'blank bodies'} #: lang/json/MONSTER_from_json.py msgid "" "This is some form of unnatural changeling creature; its appearance is a " @@ -67348,11 +69483,24 @@ msgstr[3] "" #: lang/json/MONSTER_from_json.py msgid "" "This boomer, normally swollen and ready to burst, has strengthened and " -"solidified. The bile dribbling from its mouth also appears to have " -"changed..." +"solidified. The bile dribbling from its mouth also appears to have changed…" +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "dissoluted devourer" +msgid_plural "dissoluted devourers" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for dissoluted devourer +#: lang/json/MONSTER_from_json.py +msgid "" +"Human bodies fused together into a colossus with heads and limbs sticking " +"out of its bloated body. You may have trouble estimating its healthiness " +"and its capabilities might change." msgstr "" -"Ten wybuchacz, normalnie opuchnięty i gotowy by wybuchnąć, wzmocnił się i " -"skrzepnął. Żółć kapiąca mu z ust także wygląda na odmienioną..." #: lang/json/MONSTER_from_json.py msgid "breather" @@ -67415,13 +69563,8 @@ msgid "" "A human fused with a mess of metal parts and wires. While its eyes are " "empty, flashes of pain pass across its face reminiscent of the person " "trapped in this grotesque body. With enough surgical skills one might be " -"able to give them back some humanity. If only they cared..." +"able to give them back some humanity. If only they cared…" msgstr "" -"Człowiek złączony z mieszaniną metalowych części i kabli. Choć jego oczy są " -"puste, to skurcze bólu ogarniają jego twarz przypominają o osobie uwięzionej" -" w tym groteskowym ciele. Mając dość chirurgicznych umiejętności, ktoś " -"mógłby być w stanie przywrócić mu nieco człowieczeństwa. Gdyby tylko tego " -"kogoś to obchodziło..." #: lang/json/MONSTER_from_json.py msgid "charred nightmare" @@ -67960,13 +70103,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant crayfish" -msgid_plural "giant crayfishs" +msgid_plural "giant crayfish" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for giant crayfish +#. ~ Description for {'str': 'giant crayfish', 'str_pl': 'giant crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant, terrestrial variety of the signal crayfish, this massive " @@ -68136,7 +70279,7 @@ msgstr[1] "homunculusy" msgstr[2] "homunculusy" msgstr[3] "homunculusy" -#. ~ Description for homunculus +#. ~ Description for {'str': 'homunculus', 'str_pl': 'homunculuses'} #: lang/json/MONSTER_from_json.py msgid "" "A pale hairless man with an impressive athletic physique. Its lidless eyes " @@ -68147,13 +70290,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hound of tindalos" -msgid_plural "hound of tindaloss" +msgid_plural "hounds of tindalos" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for hound of tindalos +#. ~ Description for {'str': 'hound of tindalos', 'str_pl': 'hounds of +#. tindalos'} #: lang/json/MONSTER_from_json.py msgid "" "A grotesque hound-like beast, its frame is angular and emaciated and its " @@ -68435,18 +70579,14 @@ msgstr[1] "Shia LaBeouf" msgstr[2] "Shia LaBeouf" msgstr[3] "Shia LaBeouf" -#. ~ Description for Shia LaBeouf +#. ~ Description for {'str': 'Shia LaBeouf', 'str_pl': 'Shia LaBeouf'} #: lang/json/MONSTER_from_json.py msgid "" -"Living in the woods, \n" -"killing for sport, \n" -"eating all the bodies, \n" +"Living in the woods,\n" +"killing for sport,\n" +"eating all the bodies,\n" "actual cannibal Shia LaBeouf." msgstr "" -"Żyjący w lasach,\n" -"zabijający dla sportu,\n" -"pożerający wszystkie ciała,\n" -"prawdziwy kanibal Shia LaBeouf." #: lang/json/MONSTER_from_json.py msgid "shoggoth" @@ -68648,7 +70788,7 @@ msgstr[1] "poskręcane ciała" msgstr[2] "poskręcane ciała" msgstr[3] "poskręcane ciała" -#. ~ Description for twisted body +#. ~ Description for {'str': 'twisted body', 'str_pl': 'twisted bodies'} #: lang/json/MONSTER_from_json.py msgid "" "A human body, but with its limbs, neck, and hair impossibly twisted. It " @@ -68666,7 +70806,7 @@ msgstr[1] "wiry" msgstr[2] "wiry" msgstr[3] "wiry" -#. ~ Description for vortex +#. ~ Description for {'str': 'vortex', 'str_pl': 'vortexes'} #: lang/json/MONSTER_from_json.py msgid "" "A twisting spot in the air, with some kind of morphing mass at its center." @@ -68767,6 +70907,22 @@ msgid "" "black eyes." msgstr "" +#: lang/json/MONSTER_from_json.py +msgid "wretched puker" +msgid_plural "wretched pukers" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for wretched puker +#: lang/json/MONSTER_from_json.py +msgid "" +"A degenerate corpse, shambling as it walks. Several junks and waste " +"materials have unified into its skin and wounds around it reeks in black " +"goo." +msgstr "" + #: lang/json/MONSTER_from_json.py msgid "acidic zombie" msgid_plural "acidic zombies" @@ -68980,19 +71136,13 @@ msgstr[3] "" #. ~ Description for zombie dancer #: lang/json/MONSTER_from_json.py msgid "" -"The foulest stench is in the air, \n" -"The funk of forty thousand years, \n" -"And grisly ghouls from every tomb, \n" +"The foulest stench is in the air,\n" +"The funk of forty thousand years,\n" +"And grisly ghouls from every tomb,\n" "Are closing in to seal your doom!\n" "\n" "The dancer doesn't even notice you, it seems like something nearby is controlling it." msgstr "" -"W powietrzu zapach cuchnący,\n" -"czterdzieści wieków pierdzący,\n" -"a ghule z każdej mogiły,\n" -"już biegną odebrać ci siły!\n" -"\n" -"Tancerz zdaje się ciebie nawet nie zauważać, jakby coś w pobliżu go kontrolowało." #: lang/json/MONSTER_from_json.py msgid "zombie dog" @@ -69136,13 +71286,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gangrenous flesh" -msgid_plural "gangrenous fleshs" +msgid_plural "gangrenous flesh" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for gangrenous flesh +#. ~ Description for {'str': 'gangrenous flesh', 'str_pl': 'gangrenous flesh'} #: lang/json/MONSTER_from_json.py msgid "" "Immobile from grievous wounds, its gray skin has bloated to near rupture " @@ -69356,15 +71506,11 @@ msgstr[3] "" #. ~ Description for Thriller #: lang/json/MONSTER_from_json.py msgid "" -"And though you fight to stay alive, \n" -"Your body starts to shiver. \n" -"For no mere mortal can resist, \n" +"And though you fight to stay alive,\n" +"Your body starts to shiver.\n" +"For no mere mortal can resist,\n" "The evil of the thriller." msgstr "" -"I choć walczysz by żyć,\n" -"już wkrótce zaczniesz wyć,\n" -"bo śmiertelna dusza twa,\n" -"nie zniesie dreszczowca zła." #: lang/json/MONSTER_from_json.py msgid "zombie snapper" @@ -69919,7 +72065,7 @@ msgstr[1] "ważki" msgstr[2] "ważki" msgstr[3] "ważki" -#. ~ Description for dragonfly +#. ~ Description for {'str': 'dragonfly', 'str_pl': 'dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A thin-bodied insectoid predator with a large wingspan and big compound " @@ -70494,7 +72640,7 @@ msgstr[1] "dzieci zombie" msgstr[2] "dzieci zombie" msgstr[3] "dzieci zombie" -#. ~ Description for zombie child +#. ~ Description for {'str': 'zombie child', 'str_pl': 'zombie children'} #: lang/json/MONSTER_from_json.py msgid "" "It was only a child, and little is different about it now aside from the " @@ -70619,7 +72765,7 @@ msgstr[1] "grzybicze dziecię" msgstr[2] "grzybicze dziecię" msgstr[3] "grzybicze dziecię" -#. ~ Description for fungal child +#. ~ Description for {'str': 'fungal child', 'str_pl': 'fungal children'} #: lang/json/MONSTER_from_json.py msgid "" "It is hard to recognize a human child in this creature. Disgusting-looking " @@ -70944,13 +73090,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic fox" -msgid_plural "old animatronic foxs" +msgid_plural "old animatronic foxes" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for old animatronic fox +#. ~ Description for {'str': 'old animatronic fox', 'str_pl': 'old animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -70963,13 +73110,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic fox" -msgid_plural "new animatronic foxs" +msgid_plural "new animatronic foxes" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for new animatronic fox +#. ~ Description for {'str': 'new animatronic fox', 'str_pl': 'new animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -70983,13 +73131,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "wrecked animatronic fox" -msgid_plural "wrecked animatronic foxs" +msgid_plural "wrecked animatronic foxes" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for wrecked animatronic fox +#. ~ Description for {'str': 'wrecked animatronic fox', 'str_pl': 'wrecked +#. animatronic foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A wrecked animatronic fox, laying in a pile on the ground. Its teeth and " @@ -71002,13 +73151,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic bunny" -msgid_plural "new animatronic bunnys" +msgid_plural "new animatronic bunnies" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for new animatronic bunny +#. ~ Description for {'str': 'new animatronic bunny', 'str_pl': 'new +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its actually quite " @@ -71022,13 +73172,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic bunny" -msgid_plural "old animatronic bunnys" +msgid_plural "old animatronic bunnies" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for old animatronic bunny +#. ~ Description for {'str': 'old animatronic bunny', 'str_pl': 'old +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its face has been torn" @@ -71281,12 +73432,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic sheep" msgid_plural "animatronic sheep" -msgstr[0] "animatroniczna owca" -msgstr[1] "animatroniczne owce" -msgstr[2] "animatroniczne owce" -msgstr[3] "animatroniczne owce" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for animatronic sheep +#. ~ Description for {'str': 'animatronic sheep', 'str_pl': 'animatronic +#. sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic sheep, nearly twice your size. Its wool is mangy and " @@ -71316,13 +73468,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic child" -msgid_plural "animatronic childs" +msgid_plural "animatronic children" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for animatronic child +#. ~ Description for {'str': 'animatronic child', 'str_pl': 'animatronic +#. children'} #: lang/json/MONSTER_from_json.py msgid "" "An animatronic child. It looks like it's annoying as hell. Though it is a " @@ -71348,13 +73501,14 @@ msgstr "Marionetka zdolna sama się poruszać. Nie ma na niej żadnych sznurków #: lang/json/MONSTER_from_json.py msgid "animatronic wolf" -msgid_plural "animatronic wolfs" +msgid_plural "animatronic wolves" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for animatronic wolf +#. ~ Description for {'str': 'animatronic wolf', 'str_pl': 'animatronic +#. wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic wolf, nearly twice your size. If the animal " @@ -71545,13 +73699,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "minion of skeltal" -msgid_plural "minion of skeltals" +msgid_plural "minions of skeltal" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for minion of skeltal +#. ~ Description for {'str': 'minion of skeltal', 'str_pl': 'minions of +#. skeltal'} #: lang/json/MONSTER_from_json.py msgid "A lesser skeleton, raised by the forlorn dooting of a trumpet." msgstr "Pomniejszy szkielet, przyzwany samotnym trąbieniem trąbki." @@ -71575,13 +73730,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Compsognathus" -msgid_plural "Compsognathuss" +msgid_plural "Compsognathus" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Compsognathus +#. ~ Description for {'str': 'Compsognathus', 'str_pl': 'Compsognathus'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal dinosaur about the size of a turkey. Its teeth and claws are " @@ -71591,13 +73746,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Gallimimus" -msgid_plural "Gallimimuss" +msgid_plural "Gallimimus" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Gallimimus +#. ~ Description for {'str': 'Gallimimus', 'str_pl': 'Gallimimus'} #: lang/json/MONSTER_from_json.py msgid "" "A feathered bipedal dinosaur, standing as tall as a human. It looks " @@ -71608,13 +73763,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Titanis" -msgid_plural "Titaniss" +msgid_plural "Titanis" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Titanis +#. ~ Description for {'str': 'Titanis', 'str_pl': 'Titanis'} #: lang/json/MONSTER_from_json.py msgid "" "It looks like a dodo, only much bigger, with longer, muscular legs and a " @@ -71625,13 +73780,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Spinosaurus" -msgid_plural "Spinosauruss" +msgid_plural "Spinosaurus" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Spinosaurus +#. ~ Description for {'str': 'Spinosaurus', 'str_pl': 'Spinosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge dinosaur about the size of a small house, with a ferocious crocodile-" @@ -71642,26 +73797,27 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Tyrannosaurus rex" -msgid_plural "Tyrannosaurus rexs" +msgid_plural "Tyrannosaurus rex" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Tyrannosaurus rex +#. ~ Description for {'str': 'Tyrannosaurus rex', 'str_pl': 'Tyrannosaurus +#. rex'} #: lang/json/MONSTER_from_json.py msgid "Look at those TEETH!" msgstr "Spójrz na te ZĘBY!" #: lang/json/MONSTER_from_json.py msgid "Triceratops" -msgid_plural "Triceratopss" +msgid_plural "Triceratops" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Triceratops +#. ~ Description for {'str': 'Triceratops', 'str_pl': 'Triceratops'} #: lang/json/MONSTER_from_json.py msgid "" "A massive rhino-like dinosaur with a bony crest from which three large horns" @@ -71672,26 +73828,26 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Stegosaurus" -msgid_plural "Stegosauruss" +msgid_plural "Stegosaurus" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Stegosaurus +#. ~ Description for {'str': 'Stegosaurus', 'str_pl': 'Stegosaurus'} #: lang/json/MONSTER_from_json.py msgid "A large quadruped dinosaur with plates on its back, and a spiked tail." msgstr "Duży czworonożny dinozaur z płytami na plecach, i kolczastym ogonem." #: lang/json/MONSTER_from_json.py msgid "Ankylosaurus" -msgid_plural "Ankylosauruss" +msgid_plural "Ankylosaurus" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Ankylosaurus +#. ~ Description for {'str': 'Ankylosaurus', 'str_pl': 'Ankylosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "This dinosaur looks like a giant prehistoric armadillo. Its tail ends in a " @@ -71702,13 +73858,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Allosaurus" -msgid_plural "Allosauruss" +msgid_plural "Allosaurus" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Allosaurus +#. ~ Description for {'str': 'Allosaurus', 'str_pl': 'Allosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A large predatory bipedal dinosaur, with tiger-like stripes on its broad " @@ -71752,13 +73908,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Deinonychus" -msgid_plural "Deinonychuss" +msgid_plural "Deinonychus" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Deinonychus +#. ~ Description for {'str': 'Deinonychus', 'str_pl': 'Deinonychus'} #: lang/json/MONSTER_from_json.py msgid "" "A medium-sized bipedal dinosaur covered with feathers. At the end of each " @@ -71786,13 +73942,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Parasaurolophus" -msgid_plural "Parasaurolophuss" +msgid_plural "Parasaurolophus" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Parasaurolophus +#. ~ Description for {'str': 'Parasaurolophus', 'str_pl': 'Parasaurolophus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge mottled dinosaur with a blunt head crest. It contentedly strips " @@ -71816,13 +73972,13 @@ msgstr "Mały latający gad, latający nad głową w poszukiwaniu zdobyczy." #: lang/json/MONSTER_from_json.py msgid "Dilophosaurus" -msgid_plural "Dilophosauruss" +msgid_plural "Dilophosaurus" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for Dilophosaurus +#. ~ Description for {'str': 'Dilophosaurus', 'str_pl': 'Dilophosaurus'} #: lang/json/MONSTER_from_json.py msgid "A medium dinosaur with a sticky green bile dripping from its teeth." msgstr "" @@ -71929,6 +74085,22 @@ msgid "" "fully grown, it is the size of a full-grown bull." msgstr "" +#: lang/json/MONSTER_from_json.py +msgid "adult black dragon" +msgid_plural "adult black dragons" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for adult black dragon +#: lang/json/MONSTER_from_json.py +msgid "" +"A black-scaled monstrosity with deep-set eye sockets glowing green with " +"evil. Its face and skull appear skeletal, and acid drips from its dagger-" +"like jaws." +msgstr "" + #: lang/json/MONSTER_from_json.py msgid "owlbear" msgid_plural "owlbears" @@ -71968,23 +74140,25 @@ msgid "The black pudding burns you with acid!" msgstr "" #: lang/json/MONSTER_from_json.py -msgid "nothic" -msgid_plural "nothics" +msgid "krabgek" +msgid_plural "krabgeks" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for nothic +#. ~ Description for krabgek #: lang/json/MONSTER_from_json.py msgid "" -"A baleful eye peers out from the darkness, its gleam hinting at a weird " -"intelligence and unnerving malevolence." +"A large baleful eye peers out from the darkness, its gleam hinting at a " +"weird intelligence and unnerving malevolence. The eye oozes some pinkish " +"liquid, and the weirdly humanoid figure is covered in sharp blue-black " +"triangular plates." msgstr "" -#. ~ Attack message of monster "nothic"'s spell "necrotic_gaze" +#. ~ Attack message of monster "krabgek"'s spell "necrotic_gaze" #: lang/json/MONSTER_from_json.py -msgid "The nothic gazes at %3$s!" +msgid "The krabgek gazes at %3$s!" msgstr "" #: lang/json/MONSTER_from_json.py @@ -72040,8 +74214,53 @@ msgstr[3] "" #. ~ Description for troll #: lang/json/MONSTER_from_json.py msgid "" -"Monstrous, green-skinned humanoid. Trolls are renowned for their thick hides" -" and natural regenerative ability." +"Monstrous, green-skinned humanoid. Trolls are renowned for their thick " +"hides and natural regenerative ability." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "stirge" +msgid_plural "stirges" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for stirge +#: lang/json/MONSTER_from_json.py +msgid "" +"This horrid flying creature looks like a cross between a large bat and " +"oversized mosquito." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "shrieker" +msgid_plural "shriekers" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for shrieker +#: lang/json/MONSTER_from_json.py +msgid "" +"A shrieker is a human-sized mushroom that emits a piercing screech to drive " +"off creatures that disturb it." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "lemure" +msgid_plural "lemures" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for lemure +#: lang/json/MONSTER_from_json.py +msgid "" +"A lemure resembles a molten mass of flesh with a vaguely humanoid head and " +"torso." msgstr "" #: lang/json/MONSTER_from_json.py @@ -72669,13 +74888,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "craftbuddy" -msgid_plural "craftbuddys" +msgid_plural "craftbuddies" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for craftbuddy +#. ~ Description for {'str': 'craftbuddy', 'str_pl': 'craftbuddies'} #: lang/json/MONSTER_from_json.py msgid "" "A mobile crafting station used by workers in mines, on oil rigs, and in " @@ -73498,13 +75717,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "robote deluxe" -msgid_plural "robote deluxes" +msgid_plural "robote deluxe" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for robote deluxe +#. ~ Description for {'str': 'robote deluxe', 'str_pl': 'robote deluxe'} #: lang/json/MONSTER_from_json.py msgid "" "A diamond-studded gold-plated robot armed with a pair of integrated 9mm " @@ -73557,13 +75776,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "glittering lady" -msgid_plural "glittering ladys" +msgid_plural "glittering ladies" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for glittering lady +#. ~ Description for {'str': 'glittering lady', 'str_pl': 'glittering ladies'} #: lang/json/MONSTER_from_json.py msgid "" "A salvaged advanced robot transformed into a luminous beacon of destruction." @@ -73736,15 +75955,15 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gelatinous mass" -msgid_plural "gelatinous masss" +msgid_plural "gelatinous mass" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for gelatinous mass -#. ~ Description for gray mass -#. ~ Description for gelatinous mass +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} +#. ~ Description for {'str': 'gray mass', 'str_pl': 'gray mass'} +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} #: lang/json/MONSTER_from_json.py msgid "" "An escaping noisy blob, catch it before it brings in every zombie for miles!" @@ -73754,7 +75973,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gray mass" -msgid_plural "gray masss" +msgid_plural "gray mass" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -74360,6 +76579,25 @@ msgstr "" msgid "Summon some bugs." msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Artifact Noise" +msgstr "" + +#. ~ Description for Artifact Noise +#: lang/json/SPELL_from_json.py +msgid "Makes a noise at your location" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "a deafening boom" +msgstr "" + +#. ~ Message for SPELL 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "You hear a deafening boom from your location!" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Artifact Light" msgstr "" @@ -74440,8 +76678,8 @@ msgstr "" #. ~ Message for SPELL 'Artifact Map' #: lang/json/SPELL_from_json.py src/iuse.cpp -msgid "You have a vision of the surrounding area..." -msgstr "Masz wizję otaczającego cię obszaru..." +msgid "You have a vision of the surrounding area…" +msgstr "" #: lang/json/SPELL_from_json.py msgid "Artifact Firestorm" @@ -74480,6 +76718,80 @@ msgstr "" msgid "Mutates you randomly" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Bolt" +msgstr "" + +#. ~ Description for Bolt +#: lang/json/SPELL_from_json.py +msgid "One of the bolts thrown by AEA_STORM" +msgstr "" + +#. ~ description for the sound of spell 'Bolt' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "Ka-BOOM!" +msgstr "Ka-BOOM!" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Storm" +msgstr "" + +#. ~ Description for Artifact Storm +#: lang/json/SPELL_from_json.py +msgid "Calls down a storm near you" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Morale Scream" +msgstr "" + +#. ~ Description for Morale Scream +#: lang/json/SPELL_from_json.py +msgid "Morale effect from AEA_SCREAM" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Entrance" +msgstr "" + +#. ~ Description for Artifact Entrance +#: lang/json/SPELL_from_json.py +msgid "Entrances surrounding monsters" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Scream" +msgstr "" + +#. ~ Description for Artifact Scream +#: lang/json/SPELL_from_json.py +msgid "An ethereal scream" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Scream' +#: lang/json/SPELL_from_json.py +msgid "an ethereal scream" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Bash Terrain" +msgstr "" + +#. ~ Description for Bash Terrain +#. ~ Description for Artifact Pulse +#: lang/json/SPELL_from_json.py +msgid "Damages the terrain" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Pulse" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Pulse' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "The earth shakes!" +msgstr "Ziemia się trzęsie!" + #: lang/json/SPELL_from_json.py src/memorial_logger.cpp src/player_display.cpp msgid "Pain" msgstr "Obolały" @@ -74572,8 +76884,8 @@ msgstr "" #. ~ Description for Animist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Animists. You can use the rune" -" as a catalyst for recipes." +"This ritual creates a small pebble attuned to Animists. You can use the " +"rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -74611,7 +76923,7 @@ msgstr "" #. ~ Description for Biomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Biomancers. You can use the " +"This ritual creates a small pebble attuned to Biomancers. You can use the " "rune as a catalyst for recipes." msgstr "" @@ -74709,7 +77021,7 @@ msgstr "" #. ~ Message for SPELL 'Debug Stamina Spell' #: lang/json/SPELL_from_json.py #, python-format -msgid "Debug spell [ %s ] has no effect. Debug warning is expected." +msgid "Debug spell [ %s ] has no effect. Debug warning is expected." msgstr "" #: lang/json/SPELL_from_json.py @@ -74866,7 +77178,7 @@ msgstr "" #. ~ Description for Druid Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Druids. You can use the rune " +"This ritual creates a small pebble attuned to Druids. You can use the rune " "as a catalyst for recipes." msgstr "" @@ -74877,8 +77189,8 @@ msgstr "" #. ~ Description for Purification Seed #: lang/json/SPELL_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Rapidly degrades if " -"not utilized." +"You summon a gift of the earth which will purify water. Rapidly degrades if" +" not utilized." msgstr "" #: lang/json/SPELL_from_json.py @@ -74925,8 +77237,35 @@ msgstr "" #. ~ Description for Earthshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Earthshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Earthshapers. You can use the" +" rune as a catalyst for recipes." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Shrapnel" +msgstr "" + +#. ~ Description for Lava Bomb Shrapnel +#. ~ Description for Lava Bomb Heat +#. ~ Description for Lava Bomb Terrain +#: lang/json/SPELL_from_json.py +msgid "This is a sub spell for the Lava Bomb spell." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Heat" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Terrain" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Clairvoyance" msgstr "" #: lang/json/SPELL_from_json.py @@ -74936,7 +77275,7 @@ msgstr "" #. ~ Description for Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" " condition." msgstr "" @@ -74948,9 +77287,24 @@ msgstr "" #. ~ Description for Improved Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" -" condition. Improved brewing mitigates the strain of the spell." +" condition. Improved brewing mitigates the strain of the spell." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Conjure Throwing Blade I" +msgstr "" + +#. ~ Description for Conjure Throwing Blade I +#: lang/json/SPELL_from_json.py +msgid "conjures 3 throwing knives" +msgstr "" + +#. ~ Message for SPELL 'Conjure Throwing Blade I' +#: lang/json/SPELL_from_json.py +msgid "" +"You activate your ring and three throwing knives appear, ready to throw!" msgstr "" #: lang/json/SPELL_from_json.py @@ -75008,7 +77362,7 @@ msgstr "" #. ~ Description for Kelvinist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Kelvinists. You can use the " +"This ritual creates a small pebble attuned to Kelvinists. You can use the " "rune as a catalyst for recipes." msgstr "" @@ -75051,8 +77405,8 @@ msgstr "" #. ~ Description for Magus Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Magi. You can use the rune as " -"a catalyst for recipes." +"This ritual creates a small pebble attuned to Magi. You can use the rune as" +" a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py @@ -75071,10 +77425,26 @@ msgstr "" msgid "Fox's Cunning" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Blood Suck" +msgstr "" + +#. ~ Description for Blood Suck +#: lang/json/SPELL_from_json.py +msgid "Sucks blood from one foe." +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Jolt" msgstr "" +#. ~ description for the sound of spell 'Jolt' +#. ~ description for the sound of spell 'Lightning Bolt' +#. ~ description for the sound of spell 'Lightning Blast' +#: lang/json/SPELL_from_json.py +msgid "a crackle" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Lightning Bolt" msgstr "" @@ -75083,6 +77453,11 @@ msgstr "" msgid "Windstrike" msgstr "" +#. ~ description for the sound of spell 'Windstrike' +#: lang/json/SPELL_from_json.py +msgid "a whoosh" +msgstr "" + #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py msgid "Windrunning" msgstr "" @@ -75098,8 +77473,8 @@ msgstr "" #. ~ Description for Stormshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Stormshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Stormshapers. You can use the" +" rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -75160,8 +77535,8 @@ msgstr "" #. ~ Description for Technomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Technomancers. You can use the" -" rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Technomancers. You can use " +"the rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -75188,6 +77563,10 @@ msgstr "" msgid "Mirror Image" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "X-ray Vision" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Demon Fireball" msgstr "" @@ -75376,6 +77755,8 @@ msgstr[3] "hełm górniczy (wł.)" #. ~ Use action menu_text for thermal electric balaclava (on). #. ~ Use action menu_text for headlamp (on). #. ~ Use action menu_text for survivor headlamp (on). +#. ~ Use action menu_text for 5-point anchor (on). +#. ~ Use action menu_text for phase immersion suit (on). #. ~ Use action menu_text for rebreather mask (on). #. ~ Use action menu_text for XL rebreather mask (on). #. ~ Use action menu_text for pair of light amp goggles (on). @@ -75400,9 +77781,9 @@ msgstr[3] "hełm górniczy (wł.)" #. ~ Use action menu_text for acetylene lamp (on). #. ~ Use action menu_text for power cutter (on). #. ~ Use action menu_text for murdersaw (on). +#. ~ Use action menu_text for heat cube (torch on). #: lang/json/TOOL_ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: lang/json/TOOL_from_json.py lang/json/item_action_from_json.py #: lang/json/item_action_from_json.py lang/json/item_action_from_json.py #: src/iuse.cpp msgid "Turn off" @@ -75798,6 +78179,50 @@ msgstr "" "dopasowywania dla komfortowego noszenia. Może być noszona na hełmie. Obecnie" " włączona i stale drenuje baterie. Użyj, by wyłączyć." +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp" +msgid_plural "atomic headlamps" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for atomic headlamp. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You close the headlamp's cover." +msgstr "" + +#. ~ Description for atomic headlamp +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"close the cover and hide the light." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp (covered)" +msgid_plural "atomic headlamps (covered)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for atomic headlamp (covered). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You open the headlamp's cover." +msgstr "" + +#. ~ Description for atomic headlamp (covered) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"open the cover and show the light." +msgstr "" + #: lang/json/TOOL_ARMOR_from_json.py msgid "RM13 combat armor" msgid_plural "RM13 combat armors" @@ -75838,6 +78263,105 @@ msgstr "" " w budowie nieutwardzanych pancerzy wspomaganych. Obecnie włączona i stale " "drenuje baterie. Użyj, by wyłączyć." +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor" +msgid_plural "5-point anchors" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "A LED light in the %s LED flickers on." +msgstr "" + +#. ~ Use action need_charges_msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "It seems like this device needs power." +msgstr "" + +#. ~ Description for 5-point anchor +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A featureless, disc-shaped device mounted on a harness. The words " +"\"X.E.D.R.A\" and \"5-point anchor\" are inscribed on its front and back." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor (on)" +msgid_plural "5-point anchors (on)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for 5-point anchor (on). +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "The %s LED light flickers off." +msgstr "" + +#. ~ Description for 5-point anchor (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The harness' shoulder mounted LED glows with a soft green hue. Theres no " +"further indication of anything happening." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit" +msgid_plural "phase immersion suits" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Initiating\n" +"Running suit integrity diagnostics…\n" +"All systems operational." +msgstr "" + +#. ~ Use action need_charges_msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Warning: Operating on minimal power. Protection compromised." +msgstr "" + +#. ~ Description for phase immersion suit +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. Designed to " +"protect its wearer during extra dimensional excursions, it offers " +"unparalleled environmental protection, both in this Earth and beyond. Use " +"it to turn it on." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit (on)" +msgid_plural "phase immersion suits (on)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for phase immersion suit (on). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Suit shutting down." +msgstr "" + +#. ~ Description for phase immersion suit (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. It is turned on, " +"and continually draining power. Use it to turn it off." +msgstr "" + #: lang/json/TOOL_ARMOR_from_json.py msgid "rebreather mask" msgid_plural "rebreather masks" @@ -77040,13 +79564,11 @@ msgstr "Baterie w nausznikach są wyczerpane." #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py msgid "" -"A pair of earmuffs favored by shooters. The earmuffs are turned off. They " -"will block sounds over a certain decibel amount, assuming it is charged with" -" batteries." +"A pair of earmuffs favored by shooters. Without batteries or when turned " +"off they function like normal earmuffs and block all sound. They will block" +" sounds over a certain decibel amount when turned on. The earmuffs are " +"currently off." msgstr "" -"Nauszniki aktywne preferowane przez strzelców. Są teraz wyłączone. Będą " -"blokować dźwięki powyżej progowej wartości decybeli, zakładając że są " -"wyposażone w baterie." #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py @@ -77559,6 +80081,624 @@ msgid "" "power." msgstr "" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic leather belt" +msgid_plural "magic leather belts" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Haste" +msgid_plural "Belt of Hastes" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Megingjörð" +msgid_plural "Megingjörðs" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for Megingjörð +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The mythical belt of Thor, god of thunder. Or at least so it appears. It " +"doubles the wearer's base strength." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Lesser Girdle of Pockets" +msgid_plural "Lesser Girdle of Pocketss" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for Lesser Girdle of Pockets +#. ~ Description for Greater Girdle of Pockets +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, coverd in numerous small pouches " +"that hold a lot more than they should, and the weight of their contents is " +"greatly reduced." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Greater Girdle of Pockets" +msgid_plural "Greater Girdle of Pocketss" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Weaponry" +msgid_plural "Belt of Weaponrys" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for Belt of Weaponry +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, you can sheath or holster any " +"weapon into it in the blink of an eye, and it seemingly stores them " +"somewhere else." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of The Iron Whip" +msgid_plural "Belts of the Iron Whip" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for Belt of The Iron Whip. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"You grab the belt and it uncoils to become a flexible metal whip in your " +"hand!" +msgstr "" + +#. ~ Description for Belt of The Iron Whip +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A braided but flexible belt seemingly made of metal. You can activate it to" +" transform it into a whip and flay your enemies." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "escape boots" +msgid_plural "escape boots" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for escape boots +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, these boots can be activated once a day to escape from nasty " +"situations, teleporting you a good distance in a random direction." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "pair of steel bracers" +msgid_plural "pairs of steel bracers" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for pair of steel bracers +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A full assembly of medieval arm protection." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "steel bracer" +msgid_plural "steel bracers" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of lesser defense" +msgid_plural "bracers of lesser defense" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for bracer of lesser defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, silver accentuates the intricate design. It protects your body " +"with a light aura to reduce damage you take." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of greater defense" +msgid_plural "bracers of greater defense" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for bracer of greater defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, gold accentuates the intricate design. It protects your body with " +"a strong aura to reduce damage you take." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "lesser bracer of lightning" +msgid_plural "lesser bracers of lightning" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for lesser bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, silver accentuates the intricate design. It " +"protects your body with a light aura to reduce electrical damage you take, " +"as well as being able to release a Jolt spell 3 times a day." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "greater bracer of lightning" +msgid_plural "greater bracers of lightning" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for greater bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, gold accentuates the intricate design. It " +"protects your body with a strong aura to reduce electrical damage you take, " +"as well as being able to release a Lightning Bolt spell 3 times a day." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic mask" +msgid_plural "magic masks" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for magic mask +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic magic mask." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of disappearance" +msgid_plural "masks of disappearance" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for mask of disappearance +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A mask with no facial features at all, just eye and mouth holes, upon " +"activation it makes everything ignore your presence for a while." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of perfect vision" +msgid_plural "masks of perfect vision" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for mask of perfect vision +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A decidedly steampunk-looking half mask that covers the eye area of the " +"face, it has large lenses that correct and greatly enhance the vision of the" +" wearer." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "copper magic ring" +msgid_plural "copper magic rings" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for copper magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic copper magic ring." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic ring" +msgid_plural "magic rings" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic silver magic ring." +msgstr "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic gold magic ring." +msgstr "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic platinum magic ring." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of blades" +msgid_plural "rings of blades" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of blades +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"An ornate silver ring engraved with daggers that conjures a near perfect " +"throwing knife into your hand on activation." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +1" +msgid_plural "minor rings of strength +1" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of strength +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +2" +msgid_plural "rings of strength +2" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of strength +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +3" +msgid_plural "rings of strength +3" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of strength +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +4" +msgid_plural "rings of strength +4" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of strength +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +1" +msgid_plural "rings of dexterity +1" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of dexterity +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +2" +msgid_plural "rings of dexterity +2" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of dexterity +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +3" +msgid_plural "rings of dexterity +3" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of dexterity +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +4" +msgid_plural "rings of dexterity +4" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of dexterity +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +1" +msgid_plural "rings of intelligence +1" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of intelligence +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +2" +msgid_plural "rings of intelligence +2" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of intelligence +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +3" +msgid_plural "rings of intelligence +3" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of intelligence +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you surprisingly more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +4" +msgid_plural "rings of intelligence +4" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of intelligence +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +1" +msgid_plural "rings of perception +1" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of perception +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +2" +msgid_plural "rings of perception +2" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of perception +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +3" +msgid_plural "rings of perception +3" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of perception +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you eye-openingly more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +4" +msgid_plural "rings of perception +4" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of perception +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +3" +msgid_plural "rings of speed +3" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of speed +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +5" +msgid_plural "rings of speed +5" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of speed +5 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +7" +msgid_plural "rings of speed +7" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of speed +7 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you quite hasty when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +10" +msgid_plural "rings of speed +10" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of speed +10 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +2" +msgid_plural "rings of protection +2" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of protection +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that reduces some of the force of damage you take when you " +"wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +4" +msgid_plural "rings of protection +4" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of protection +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that appreciably reduces some of the force of damage you take " +"when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +6" +msgid_plural "rings of protection +6" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of protection +6 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that greatly reduces some of the force of damage you take when" +" you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +8" +msgid_plural "rings of protection +8" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of protection +8 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A platinum ring that vastly reduces some of the force of damage you take " +"when you wear it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "washcloth" msgid_plural "washcloths" @@ -77585,9 +80725,9 @@ msgstr[3] "" msgid "" "Harness the power of radiation in your own home! This looks similar to a " "D-cell battery, but actually contains folded layers of radioactive material " -"inside. It can produce electricity for several years at a steady voltage..." -" but it's barely enough to power a small LED, and these batteries were worth" -" hundreds of dollars. Mostly they're a good way to brag to your neighbours " +"inside. It can produce electricity for several years at a steady voltage… " +"but it's barely enough to power a small LED, and these batteries were worth " +"hundreds of dollars. Mostly they're a good way to brag to your neighbors " "that you have a nuclear power source in your house." msgstr "" @@ -77602,13 +80742,13 @@ msgstr[3] "" #. ~ Description for radioisotope thermoelectric generator #: lang/json/TOOL_from_json.py msgid "" -"Did your neighbours brag about their cool beta-decay powered nightlights? " -"Do them one better! The CuppaTech 4 radioisotope thermoelectric generator " -"is a three kilogram chunk of metal - mostly lead - with a slug of curium-244" -" encased within. It is capable of generating somewhere between 100-150 " -"Watts of thermal energy, although its electrical generation capacity is " -"minimal at only 2 Watts. Careful! Curium is great at making heat, and also" -" releases deadly gamma radiation. Keep away from cellular life forms." +"Did your neighbors brag about their cool beta-decay powered nightlights? Do" +" them one better! The CuppaTech 4 radioisotope thermoelectric generator is " +"a three kilogram chunk of metal - mostly lead - with a slug of curium-244 " +"encased within. It is capable of generating somewhere between 100-150 Watts" +" of thermal energy, although its electrical generation capacity is minimal " +"at only 2 Watts. Careful! Curium is great at making heat, and also " +"releases deadly gamma radiation. Keep away from cellular life forms." msgstr "" #: lang/json/TOOL_from_json.py @@ -77748,11 +80888,9 @@ msgstr[3] "pręt jasnowidztwa" #. ~ Description for clairvoyance rod #: lang/json/TOOL_from_json.py msgid "" -"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's " -"a bug." +"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's" +" a bug." msgstr "" -"Przedmiot testowy aep_clairvoyance_plus flag. Jeżeli się pojawia znikąd to " -"bład." #: lang/json/TOOL_from_json.py msgid "boulder anvil" @@ -78028,10 +81166,10 @@ msgstr[3] "bomba rurowa" #. ~ Use action menu_text for fragment bomb. #. ~ Use action menu_text for can bomb. #. ~ Use action menu_text for match head bomb. +#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for dynamite. #. ~ Use action menu_text for fertilizer bomb. #. ~ Use action menu_text for ANFO charge. -#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for black gunpowder charge. #. ~ Use action menu_text for RDX charge. #: lang/json/TOOL_from_json.py @@ -78075,7 +81213,7 @@ msgstr "Już zapaliłeś %s, spróbuj zamiast tego rzucić." #. ~ Use action sound_msg for match head bomb (lit). #. ~ Use action sound_msg for dynamite (lit). #. ~ Use action sound_msg for fertilizer bomb (lit). -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py src/iuse.cpp +#: lang/json/TOOL_from_json.py msgid "ssss..." msgstr "ssss..." @@ -78106,7 +81244,7 @@ msgstr "Odpalasz zapalnik na %s." #. ~ Description for nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by nails and a fuse. Use this item to light the fuse. You will " "then have five turns before it explodes; throwing it would be a good idea." msgstr "" @@ -78129,8 +81267,8 @@ msgstr "Już zapaliłeś lont - na co czekasz?" #. ~ Description for active nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by nails and a fuse. The fuse has been lit, you should throw it." +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by nails and a fuse. The fuse has been lit, you should throw it." msgstr "" #: lang/json/TOOL_from_json.py @@ -78144,7 +81282,7 @@ msgstr[3] "" #. ~ Description for fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by small pieces of metal and a fuse. Use this item to light the " "fuse. You will then have five turns before it explodes; throwing it would " "be a good idea." @@ -78161,8 +81299,8 @@ msgstr[3] "" #. ~ Description for active fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " "should throw it." msgstr "" @@ -78184,8 +81322,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think." msgstr "" #: lang/json/TOOL_from_json.py @@ -78200,8 +81338,59 @@ msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think. The fuse has been lit, you should throw it." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think. The fuse has been lit, you should throw it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action menu_text for jack o'lantern. +#. ~ Use action menu_text for candle. +#. ~ Use action menu_text for Louisville Slaughterer. +#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: src/veh_interact.cpp +msgid "Light" +msgstr "Lekkie" + +#. ~ Use action msg for jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "You light the candle in the jack o'lantern." +msgstr "" + +#. ~ Description for jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"This is a plastic lantern that is painted to look like a pumpkin with a " +"face. It has a candle inside it, that can be replaced when burnt down. It " +"doesn't provide very much light, but it can burn for quite a long time. " +"You'll need a lighter or matches to light it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "spooky jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for spooky jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "The candle winks out inside the lantern." +msgstr "" + +#. ~ Description for spooky jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"There is a thick LED candle inside the pumpkin face. It doesn't provide " +"very much light, but it can burn for quite a long time. This candle is lit." +" The face shifts." msgstr "" #. ~ Description for battle axe @@ -78320,6 +81509,83 @@ msgstr "" " Zapalony lont syczy i szybko się skraca, więc możesz nie chcieć dłużej jej " "trzymać." +#: lang/json/TOOL_from_json.py +msgid "black gunpowder bomb" +msgid_plural "black gunpowder bombs" +msgstr[0] "bomba czarnoprochowa" +msgstr[1] "bomba czarnoprochowa" +msgstr[2] "bomba czarnoprochowa" +msgstr[3] "bomba czarnoprochowa" + +#. ~ Use action msg for black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "" +"You light the fuse on the black gunpowder bomb. Throw it before it blows in" +" your face!" +msgstr "" +"Zapalasz lont na bombie czarnoprochowej. Rzuć nią nim wybuchnie ci w twarz!" + +#. ~ Description for black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a bit of " +"fuse sticking out of it." +msgstr "" +"To puszka aluminiowa wypełniona po brzegi czarnym prochem z wystającym " +"lontem." + +#: lang/json/TOOL_from_json.py +msgid "active black gunpowder bomb" +msgid_plural "active black gunpowder bombs" +msgstr[0] "aktywna bomba czarnoprochowa" +msgstr[1] "aktywna bomba czarnoprochowa" +msgstr[2] "aktywna bomba czarnoprochowa" +msgstr[3] "aktywna bomba czarnoprochowa" + +#. ~ Use action no_deactivate_msg for active black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "You've already lit the fuse - throw it!" +msgstr "Już zapaliłeś lont - rzuć nią!" + +#. ~ Use action sound_msg for active black gunpowder bomb. +#. ~ Use action sound_msg for active black gunpowder charge. +#. ~ Use action sound_msg for active RDX charge. +#: lang/json/TOOL_from_json.py +msgid "Kshhh." +msgstr "Kshhh." + +#. ~ Description for active black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a lit " +"fuse stuck inside of it." +msgstr "" +"To puszka aluminiowa wypełniona po brzegi czarnym prochem z wystającym " +"zapalonym lontem." + +#: lang/json/TOOL_from_json.py +msgid "hobo stove (lit)" +msgid_plural "hobo stoves (lit)" +msgstr[0] "kuchenka menela (zapalona)" +msgstr[1] "kuchenka menela (zapalona)" +msgstr[2] "kuchenka menela (zapalona)" +msgstr[3] "kuchenka menela (zapalona)" + +#. ~ Use action msg for hobo stove (lit). +#. ~ Use action msg for ember carrier (lit). +#: lang/json/TOOL_from_json.py +msgid "The ember is extinguished." +msgstr "Żar wygasł." + +#. ~ Description for hobo stove (lit) +#. ~ Description for hobo stove +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small improvised wood stove, made from a metal can or similar " +"container of the right size. Useful for defrosting and reheating food, uses" +" simple tinder." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "folded poncho" msgid_plural "folded ponchos" @@ -78601,8 +81867,8 @@ msgstr[3] "" #. ~ Description for water mill #: lang/json/TOOL_from_json.py msgid "" -"A small water-powered mill that can convert starchy products into flour. Can" -" be placed via the construction menu." +"A small water-powered mill that can convert starchy products into flour. " +"Can be placed via the construction menu." msgstr "" #: lang/json/TOOL_from_json.py lang/json/furniture_from_json.py @@ -78616,8 +81882,8 @@ msgstr[3] "" #. ~ Description for wind mill #: lang/json/TOOL_from_json.py msgid "" -"A small wind-powered mill that can convert starchy products into flour. Can " -"be placed via the construction menu." +"A small wind-powered mill that can convert starchy products into flour. Can" +" be placed via the construction menu." msgstr "" #: lang/json/TOOL_from_json.py @@ -78980,14 +82246,6 @@ msgstr[1] "świeca" msgstr[2] "świeca" msgstr[3] "świeca" -#. ~ Use action menu_text for candle. -#. ~ Use action menu_text for hobo stove. -#. ~ Use action menu_text for Louisville Slaughterer. -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: src/veh_interact.cpp -msgid "Light" -msgstr "Lekkie" - #. ~ Use action msg for candle. #: lang/json/TOOL_from_json.py msgid "You light the candle." @@ -79047,11 +82305,9 @@ msgstr[3] "elektryczna wyżynarka (wył.)" #: lang/json/TOOL_from_json.py msgid "" "An electric meat carver powered by batteries. Two serrated blades that " -"vibrate together to slice just about anything from turkey to ham... even " +"vibrate together to slice just about anything from turkey to ham… even " "zombies!" msgstr "" -"Elektryczna wyżynarka do mięsa na baterie. Dwa ząbkowane ostrza, które " -"wibrują razem by ciąć wszystko od indyka do szynki... nawet zombie!" #: lang/json/TOOL_from_json.py msgid "electric carver (on)" @@ -79251,6 +82507,22 @@ msgstr "" "składniki. Woda z niepewnych źródeł jak na przykład z rzeki może być " "zanieczyszczona." +#: lang/json/TOOL_from_json.py +msgid "lifestraw" +msgid_plural "lifestraws" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for lifestraw +#: lang/json/TOOL_from_json.py +msgid "" +"Set the lifestraw in suspect water, let sit for one minute then drink. The " +"two part filtration system will purify the water you drink. Water taken " +"from uncertain sources like a river may be dirty." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "charcoal smoker" msgid_plural "charcoal smokers" @@ -79821,10 +83093,8 @@ msgstr[3] "elektroniczne kajdanki" #: lang/json/TOOL_from_json.py msgid "" "A pair of electronic handcuffs, used by police and riot bots to detain captives. Their continuous siren clearly identifies the wearer as an arrested criminal and alerts human police. Wait for their arrival, don't try to escape or to remove the cuffs - they will administer an electric shock.\n" -"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative..." +"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative…" msgstr "" -"Para elektronicznych kajdanek, używanych przez policję i boty kontroli tłumów do aresztowania schwytanych. Ich stały dźwięk syreny jasno identyfikują noszącego jako aresztowanego przestępcę i alarmuje policjantów. Zaczekaj na ich przybycie, nie próbuj uciekać i zdejmować kajdanek, gdyż porażą cię ładunkiem elektrycznym.\n" -"Jednakże jedyna policja która może zareagować to nieumarli, możesz długo czekać, chyba ze będziesz kreatywny..." #: lang/json/TOOL_from_json.py msgid "entrenching tool" @@ -81775,6 +85045,21 @@ msgstr "" "natychmiastową ulgę w atakach astmy lub zatruciu dymem i zapewnia krótki " "dopływ energii." +#: lang/json/TOOL_from_json.py +msgid "oxygen cylinder" +msgid_plural "oxygen cylinders" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for oxygen cylinder +#: lang/json/TOOL_from_json.py +msgid "" +"A large steel cylinder used for storing pressurized gas. It is marked with " +"a faded, but legible O2 symbol." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "nitrogen tank" msgid_plural "nitrogen tanks" @@ -82237,8 +85522,8 @@ msgstr[3] "" #. ~ Description for sponge #: lang/json/TOOL_from_json.py msgid "" -"A sponge is a tool or cleaning aid made of soft, porous material. Typically " -"used for cleaning impervious surfaces." +"A sponge is a tool or cleaning aid made of soft, porous material. Typically" +" used for cleaning impervious surfaces." msgstr "" #: lang/json/TOOL_from_json.py @@ -82252,8 +85537,8 @@ msgstr[3] "" #. ~ Description for washing kit #: lang/json/TOOL_from_json.py msgid "" -"A combination kit of a washboard and a sponge. Everything you need to clean" -" items after the apocalypse." +"A combination kit of a washboard and a sponge or rag. Everything you need " +"to clean items after the apocalypse." msgstr "" #: lang/json/TOOL_from_json.py @@ -83357,60 +86642,6 @@ msgstr "" "To duży metalowy keg wypełniony grudkami saletrolu i wyposażony w spłonkę z " "dynamitu. Lont już się pali - lepiej wiej niczym diabli!" -#: lang/json/TOOL_from_json.py -msgid "black gunpowder bomb" -msgid_plural "black gunpowder bombs" -msgstr[0] "bomba czarnoprochowa" -msgstr[1] "bomba czarnoprochowa" -msgstr[2] "bomba czarnoprochowa" -msgstr[3] "bomba czarnoprochowa" - -#. ~ Use action msg for black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "" -"You light the fuse on the black gunpowder bomb. Throw it before it blows in" -" your face!" -msgstr "" -"Zapalasz lont na bombie czarnoprochowej. Rzuć nią nim wybuchnie ci w twarz!" - -#. ~ Description for black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a bit of " -"fuse sticking out of it." -msgstr "" -"To puszka aluminiowa wypełniona po brzegi czarnym prochem z wystającym " -"lontem." - -#: lang/json/TOOL_from_json.py -msgid "active black gunpowder bomb" -msgid_plural "active black gunpowder bombs" -msgstr[0] "aktywna bomba czarnoprochowa" -msgstr[1] "aktywna bomba czarnoprochowa" -msgstr[2] "aktywna bomba czarnoprochowa" -msgstr[3] "aktywna bomba czarnoprochowa" - -#. ~ Use action no_deactivate_msg for active black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "You've already lit the fuse - throw it!" -msgstr "Już zapaliłeś lont - rzuć nią!" - -#. ~ Use action sound_msg for active black gunpowder bomb. -#. ~ Use action sound_msg for active black gunpowder charge. -#. ~ Use action sound_msg for active RDX charge. -#: lang/json/TOOL_from_json.py -msgid "Kshhh." -msgstr "Kshhh." - -#. ~ Description for active black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a lit " -"fuse stuck inside of it." -msgstr "" -"To puszka aluminiowa wypełniona po brzegi czarnym prochem z wystającym " -"zapalonym lontem." - #: lang/json/TOOL_from_json.py msgid "black gunpowder charge" msgid_plural "black gunpowder charges" @@ -83430,11 +86661,8 @@ msgstr "Zapalasz lont na ładunku czarnoprochowym. Pozbądź się go szybko!" msgid "" "This is a home-made explosive device, consisting of a large plastic jug " "filled with black gunpowder and scrap metal, equipped with a long fuse. Use" -" this item to light the fuse. Should explode in a few minutes..." +" this item to light the fuse. Should explode in a few minutes…" msgstr "" -"Domowej roboty ładunek wybuchowy z dużej plastikowej butli wypełnionej " -"czarnym prochem i drobnym złomem metalowym, zaopatrzonej w długi lont. Użyj " -"by go zapalić. Wybuchnie w nie więcej jak kilka minut..." #: lang/json/TOOL_from_json.py msgid "active black gunpowder charge" @@ -83603,11 +86831,13 @@ msgstr[2] "pochodnia" msgstr[3] "pochodnia" #. ~ Use action menu_text for torch. +#. ~ Use action menu_text for everburning torch. #: lang/json/TOOL_from_json.py msgid "Light torch" msgstr "Zapal pochodnię" #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "You light the torch." msgstr "Zapalasz pochodnię." @@ -83623,6 +86853,7 @@ msgstr "" "niezłą ilość światła. Potrzebujesz zapalniczki lub zapałek by ją zapalić." #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "The torch is extinguished." msgstr "Pochodnia zostaje wygaszona." @@ -84097,49 +87328,6 @@ msgstr[1] "kuchenka menela" msgstr[2] "kuchenka menela" msgstr[3] "kuchenka menela" -#. ~ Use action msg for hobo stove. -#: lang/json/TOOL_from_json.py -msgid "The hobo stove is lit." -msgstr "" - -#. ~ Use action need_fire_msg for hobo stove. -#: lang/json/TOOL_from_json.py src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -msgid "You need a source of fire!" -msgstr "Potrzebujesz źródła ognia!" - -#. ~ Description for hobo stove -#. ~ Description for hobo stove (lit) -#: lang/json/TOOL_from_json.py -msgid "" -"This is a small improvised wood stove, made from a metal can or similar " -"container of the right size. Useful for defrosting and reheating food, uses" -" simple tinder." -msgstr "" - -#: lang/json/TOOL_from_json.py -msgid "hobo stove (lit)" -msgid_plural "hobo stoves (lit)" -msgstr[0] "kuchenka menela (zapalona)" -msgstr[1] "kuchenka menela (zapalona)" -msgstr[2] "kuchenka menela (zapalona)" -msgstr[3] "kuchenka menela (zapalona)" - -#. ~ Use action menu_text for hobo stove (lit). -#: lang/json/TOOL_from_json.py -msgid "Heat up food" -msgstr "Podgrzej jedzenie" - -#. ~ Use action msg for hobo stove (lit). -#: lang/json/TOOL_from_json.py src/iuse.cpp -msgid "You heat up the food." -msgstr "Podgrzewasz jedzenie." - -#. ~ Use action msg for hobo stove (lit). -#. ~ Use action msg for ember carrier (lit). -#: lang/json/TOOL_from_json.py -msgid "The ember is extinguished." -msgstr "Żar wygasł." - #: lang/json/TOOL_from_json.py msgid "ember carrier" msgid_plural "ember carriers" @@ -84153,6 +87341,11 @@ msgstr[3] "nośnik żaru" msgid "You light the tinder." msgstr "Rozpalasz podpałkę." +#. ~ Use action need_charges_msg for ember carrier. +#: lang/json/TOOL_from_json.py +msgid "The ember carrier is out of tinder." +msgstr "" + #. ~ Use action need_fire_msg for ember carrier. #: lang/json/TOOL_from_json.py msgid "You need a lighter or fire to light this." @@ -84347,8 +87540,8 @@ msgstr[3] "" #. ~ Description for grip hook #: lang/json/TOOL_from_json.py msgid "" -"A simple steel meathook with a circular steel handle. Makes a passable melee" -" weapon." +"A simple steel meathook with a circular steel handle. Makes a passable " +"melee weapon." msgstr "" #: lang/json/TOOL_from_json.py @@ -84759,7 +87952,7 @@ msgstr "" #. ~ Description for inactive TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M16A4. Using this item " +"This is an inactive TALON UGV equipped with an M16A4. Using this item " "involves loading the unit with the factory-loaded 5.56x45mm rounds in your " "inventory (if you wish to divide your ammunition, set aside whatever " "5.56x45mm you do NOT want to give the robot) turning it on, and placing it " @@ -84779,7 +87972,7 @@ msgstr[3] "" #. ~ Description for inactive M202A1 TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M202A1. Using this item " +"This is an inactive TALON UGV equipped with an M202A1. Using this item " "involves loading the unit with the M235 rockets in your inventory (if you " "wish to divide your ammunition, set aside whatever M235 rockets you do NOT " "want to give the robot) turning it on, and placing it on the ground. If " @@ -84877,9 +88070,9 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "" "This is a deactivated broken cyborg, the last shreds of its humanity still " -"rotting away. Using this item involves placing it on the ground and " +"rotting away. Using this item involves placing it on the ground and " "reactivating its mechanical body. If reprogrammed and rewired successfully " -"the cyborg will then follow you and attack enemies. You monster." +"the cyborg will then follow you and attack enemies. You monster." msgstr "" #: lang/json/TOOL_from_json.py @@ -84935,7 +88128,7 @@ msgstr "" #. ~ Description for inactive chicken walker #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive chicken walker. Using this item involves placing it on " +"This is an inactive chicken walker. Using this item involves placing it on " "the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm " "cartridge grenades in your inventory (if you wish to divide your ammunition," " set aside whatever ammunition you do NOT want to give the robot) and " @@ -84966,11 +88159,15 @@ msgstr "" #. ~ Description for inactive police bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive police robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive police robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "police bot will then identify you as law enforcement, roam around or follow " "you, and attempt to detain lawbreakers." msgstr "" +"To nieaktywny robot policyjny. Korzystanie z tego przedmiotu polega na " +"umieszczeniu go na ziemi i włączeniu. Jeśli przeprogramujesz i okablujesz go" +" pomyślnie, bot policyjny zidentyfikuje cię jako organ ścigania, krąży wokół" +" lub podąża za tobą i próbuje zatrzymać przestępców." #: lang/json/TOOL_from_json.py msgid "inactive eyebot" @@ -84995,7 +88192,7 @@ msgstr "" #. ~ Description for inactive eyebot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive eyebot. Using this item involves turning it on and " +"This is an inactive eyebot. Using this item involves turning it on and " "launching the UAV. If reprogrammed and rewired successfully the eyebot will" " then keep watch for intruders." msgstr "" @@ -85021,8 +88218,8 @@ msgstr "" #. ~ Description for inactive cleaner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive cleaner bot. Using this item involves placing it on the " -"ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive cleaner bot. Using this item involves placing it on the" +" ground and turning it on. If reprogrammed and rewired successfully the " "cleaner bot will respond to future commands." msgstr "" @@ -85047,8 +88244,8 @@ msgstr "" #. ~ Description for inactive miner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive mining robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive mining robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "miner bot will respond to future commands." msgstr "" @@ -85074,9 +88271,9 @@ msgstr "" #. ~ Description for inactive riot control bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive riot control bot. Using this item involves placing it on" -" the ground and turning it on. If reprogrammed and rewired successfully the" -" robot will bring order and peace to the horde." +"This is an inactive riot control bot. Using this item involves placing it " +"on the ground and turning it on. If reprogrammed and rewired successfully " +"the robot will bring order and peace to the horde." msgstr "" #: lang/json/TOOL_from_json.py @@ -85100,7 +88297,7 @@ msgstr "" #. ~ Description for inactive skitterbot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive skitterbot. Using this item involves placing it on the " +"This is an inactive skitterbot. Using this item involves placing it on the " "ground and turning it on. If reprogrammed and rewired successfully the " "robot will race towards enemies and shock them." msgstr "" @@ -85158,7 +88355,7 @@ msgstr "" #. ~ Description for inactive tank drone #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " +"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " "it on the ground, loading the unit with the factory-loaded 5.56 rounds and " "40mm cartridge grenades in your inventory (if you wish to divide your " "ammunition, set aside whatever ammunition you do NOT want to give the robot)" @@ -85190,8 +88387,8 @@ msgstr "" #. ~ Description for inactive tripod #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Honda Regnal. Using this item involves placing it on the" -" ground, wondering how it fuels its flamethrower and turning it on. If " +"This is an inactive Honda Regnal. Using this item involves placing it on " +"the ground, wondering how it fuels its flamethrower and turning it on. If " "reprogrammed and rewired successfully the tribot will then identify you as " "an ally, roam around or follow you, and impale hostiles with its spiked " "cable weapons." @@ -85219,10 +88416,10 @@ msgstr "" #. ~ Description for inactive milspec searchlight #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive military-grade automated searchlight. Using this item " +"This is an inactive military-grade automated searchlight. Using this item " "involves placing it on the ground and turning it on. If reprogrammed and " "rewired successfully the searchlight will then identify you as an ally, " -"survey the area, and illuminate approaching hostiles. Seems to have an " +"survey the area, and illuminate approaching hostiles. Seems to have an " "unhealthy fascination with you." msgstr "" @@ -85620,11 +88817,8 @@ msgstr[3] "improwizowana kosa bojowa" msgid "" "This farming tool has been modified into an improvised weapon by rotating " "its blade 90 degrees, transforming it into a deadly giant blade on the end " -"of a stick. However it's quite fragile." +"of a stick. However it's quite fragile." msgstr "" -"To narzędzie rolnicze zostało zmodyfikowane w broń improwizowaną poprzez " -"obrócenie jej ostrza o 90 stopni, przekształcając go w śmiertelne ostrze na " -"końcu laski. Jest to dosyć krucha broń." #: lang/json/TOOL_from_json.py msgid "spike on a stick" @@ -85742,6 +88936,23 @@ msgstr "" "Wojskowy nóż bojowy. Lekki i bardzo ostry, i zabójczy w uzdolnionych " "dłoniach, lub przyłączony jako bagnet." +#: lang/json/TOOL_from_json.py +msgid "modified combat knife" +msgid_plural "modified combat knives" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for modified combat knife +#: lang/json/TOOL_from_json.py +msgid "" +"This is a military combat knife. It is light and extremely sharp, and could" +" be deadly in either the right hands or when attached as a bayonet. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hunting knife" msgid_plural "hunting knives" @@ -86159,6 +89370,23 @@ msgstr "" "Miecz bagnet do długa broń tnąca którą można przyłączyć do lufy broni " "palnej, lub kuszy, zamieniając ją w pikę." +#: lang/json/TOOL_from_json.py +msgid "modified sword bayonet" +msgid_plural "modified sword bayonets" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for modified sword bayonet +#: lang/json/TOOL_from_json.py +msgid "" +"A sword bayonet is a large slashing weapon that can be attached to the front" +" of a firearm or crossbow converting it into a pike. This one was modified " +"and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" + #. ~ Description for tanto #: lang/json/TOOL_from_json.py msgid "" @@ -86274,6 +89502,63 @@ msgstr "" "To wielki zakrzywiony miecz dwuręczny z Japonii. Jest zaskakująco lekki jak " "na swój rozmiar." +#: lang/json/TOOL_from_json.py +msgid "electrified foil" +msgid_plural "electrified foils" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for electrified foil +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing foil may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "electrified épée" +msgid_plural "electrified épées" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for electrified épée +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing épée may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "electrified saber" +msgid_plural "electrified sabers" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for electrified saber +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing saber may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired to the tip along the saber's groove. Thrusting the " +"sharpened tip into a foe and activating the momentary switch will deliver a " +"painful electric shock." +msgstr "" + #. ~ Description for broadsword #: lang/json/TOOL_from_json.py msgid "" @@ -86701,6 +89986,38 @@ msgstr "" "To kawałek plastiku. Możesz go użyć do produkcji, naprawy, lub wzmocnienia " "plastikowych rzeczy." +#: lang/json/TOOL_from_json.py +msgid "synthetic fabric" +msgid_plural "synthetic fabrics" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for synthetic fabric +#: lang/json/TOOL_from_json.py +msgid "" +"This is small bolt of synthetic fabric. Unlike you and other natural " +"materials, it won't degrade much with age. Maybe that's less of a bad thing" +" now." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "lycra patch" +msgid_plural "lycra patches" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for lycra patch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small bolt of a synthetic fabric blended with stretchy lycra " +"fibers. It could be used to make flexible yet strong clothing. Stylish, " +"but bad for the environment; at least you're recycling it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hexamine stove" msgid_plural "hexamine stoves" @@ -87279,11 +90596,8 @@ msgstr[3] "radio dwukierunkowe" #: lang/json/TOOL_from_json.py msgid "" "This is a radio with a transmitting unit. You could use it to contact " -"someone who also has one. Unfortunately no one seems to use those " -"nowadays..." +"someone who also has one. Unfortunately no one seems to use those nowadays…" msgstr "" -"To radio z nadajnikiem. Możesz się nim połączyć z osobą która też ma takie. " -"Niestety obecnie chyba nikt ich nie używa..." #: lang/json/TOOL_from_json.py msgid "remote vehicle controller" @@ -87501,7 +90815,7 @@ msgstr[3] "" #. ~ Description for microscope #: lang/json/TOOL_from_json.py msgid "" -"A classic tool for the ages! This hefty, durable piece of lab equipment " +"A classic tool for the ages! This hefty, durable piece of lab equipment " "makes small things look bigger. Without electricity the light doesn't work," " but the rest of it is surprisingly functional. Unfortunately it's not " "useful for very much at the moment." @@ -87728,7 +91042,7 @@ msgstr[3] "kable przemysłowe" msgid "" "A long, thick, heavy-duty cable with power leads on either end. It looks " "like you could use it to hook up two vehicles to each other, though you " -"expect the power loss would be noticeable. Can also link other electrical " +"expect the power loss would be noticeable. Can also link other electrical " "systems." msgstr "" @@ -88172,6 +91486,116 @@ msgstr "" "Wygląda jak rodzaj Genetycznej Formy Życia i Dyskowego Systemu Operacyjnego," " przyłączonego do ziemniaka." +#: lang/json/TOOL_from_json.py +msgid "heat cube" +msgid_plural "heat cubes" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action menu_text for heat cube. +#: lang/json/TOOL_from_json.py +msgid "Activate torch mode" +msgstr "" + +#. ~ Use action msg for heat cube. +#: lang/json/TOOL_from_json.py +msgid "" +"You push the torch button and the cube emits a large flame from the top, one" +" that does radiate heat, but won't burn anything." +msgstr "" + +#. ~ Description for heat cube +#: lang/json/TOOL_from_json.py +msgid "" +"A smooth steel cube the size of your fist. Several buttons on the sides " +"activate the powers of the cube." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "heat cube (torch on)" +msgid_plural "heat cubes (torch on)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for heat cube (torch on). +#: lang/json/TOOL_from_json.py +msgid "The torch flame is extinguished." +msgstr "" + +#. ~ Description for heat cube (torch on) +#: lang/json/TOOL_from_json.py +msgid "" +"The heat cube in the torch configuration, where it emits warmth and a bright" +" flame that does not burn." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "skeleton key of opening" +msgid_plural "skeleton key of opening" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for skeleton key of opening +#: lang/json/TOOL_from_json.py +msgid "" +"A small gold skeleton key. You can activate it to unlock locked things." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "everburning torch" +msgid_plural "everburning torches" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for everburning torch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality engraved wooden torch. On command, the tip bursts " +"into flame and produces a fair amount of light. It will burn forever." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "enchanted tailor's kit" +msgid_plural "enchanted tailor's kits" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for enchanted tailor's kit +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality, engraved steel kit with a variety of needles, some " +"plastic spools for thread, some small scissors, even a small heating element" +" for melting and joining plastic. Use a tailor's kit to customize your " +"clothing and armor. This uses your tailoring skill. It also contains one " +"of those magic spiders that constantly, if slowly, makes new thread." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "spider box" +msgid_plural "spider boxes" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for spider box +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small glass box that contains a spider that diligently works day " +"and night to produce silk thread that it stores in a reservoir you can open " +"and retrieve it from." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "Magic Wand" msgid_plural "Magic Wands" @@ -88180,9 +91604,17 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" +#: lang/json/TOOL_from_json.py +msgid "Disposable Wand" +msgid_plural "Disposable Wands" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + #: lang/json/TOOL_from_json.py msgid "minor wand of magic missile" -msgid_plural "minor wand of magic missiles" +msgid_plural "minor wands of magic missile" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -88199,7 +91631,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of magic missile" -msgid_plural "lesser wand of magic missiles" +msgid_plural "lesser wands of magic missile" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -88207,7 +91639,7 @@ msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "greater wand of magic missile" -msgid_plural "greater wand of magic missiles" +msgid_plural "greater wands of magic missile" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -88215,7 +91647,7 @@ msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "minor wand of fireball" -msgid_plural "minor wand of fireballs" +msgid_plural "minor wands of fireball" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -88232,7 +91664,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of fireball" -msgid_plural "lesser wand of fireballs" +msgid_plural "lesser wands of fireball" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -88240,7 +91672,7 @@ msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "greater wand of fireball" -msgid_plural "greater wand of fireballs" +msgid_plural "greater wands of fireball" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -88248,7 +91680,7 @@ msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "minor wand of mana beam" -msgid_plural "minor wand of mana beams" +msgid_plural "minor wands of mana beam" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -88265,7 +91697,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of mana beam" -msgid_plural "lesser wand of mana beams" +msgid_plural "lesser wands of mana beam" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -88273,7 +91705,7 @@ msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "greater wand of mana beam" -msgid_plural "greater wand of mana beams" +msgid_plural "greater wands of mana beam" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -88281,7 +91713,7 @@ msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "minor wand of point flare" -msgid_plural "minor wand of point flares" +msgid_plural "minor wands of point flare" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -88298,7 +91730,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of point flare" -msgid_plural "lesser wand of point flares" +msgid_plural "lesser wands of point flare" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -88306,40 +91738,40 @@ msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "greater wand of point flare" -msgid_plural "greater wand of point flares" +msgid_plural "greater wands of point flare" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lang/json/TOOL_from_json.py -msgid "minor wand of iceball" -msgid_plural "minor wand of iceballs" +msgid "minor wand of hoary blast" +msgid_plural "minor wands of hoary blast" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" -#. ~ Description for minor wand of iceball -#. ~ Description for lesser wand of iceball -#. ~ Description for greater wand of iceball +#. ~ Description for minor wand of hoary blast +#. ~ Description for lesser wand of hoary blast +#. ~ Description for greater wand of hoary blast #: lang/json/TOOL_from_json.py msgid "" "A slender wooden wand with a mana crystal socket at the base that casts a " -"spell when activated. This wand casts iceball." +"spell when activated. This wand casts hoary blast." msgstr "" #: lang/json/TOOL_from_json.py -msgid "lesser wand of iceball" -msgid_plural "lesser wand of iceballs" +msgid "lesser wand of hoary blast" +msgid_plural "lesser wands of hoary blast" msgstr[0] "" msgstr[1] "" msgstr[2] "" msgstr[3] "" #: lang/json/TOOL_from_json.py -msgid "greater wand of iceball" -msgid_plural "greater wand of iceballs" +msgid "greater wand of hoary blast" +msgid_plural "greater wands of hoary blast" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -88347,7 +91779,7 @@ msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "minor wand of cone of cold" -msgid_plural "minor wand of cone of colds" +msgid_plural "minor wands of cone of cold" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -88364,7 +91796,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of cone of cold" -msgid_plural "lesser wand of cone of colds" +msgid_plural "lesser wands of cone of cold" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -88372,7 +91804,205 @@ msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "greater wand of cone of cold" -msgid_plural "greater wand of cone of colds" +msgid_plural "greater wands of cone of cold" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of magic missile" +msgid_plural "disposable minor wands of magic missile" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for disposable minor wand of magic missile +#. ~ Description for disposable lesser wand of magic missile +#. ~ Description for disposable greater wand of magic missile +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts magic missile." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of magic missile" +msgid_plural "disposable lesser wands of magic missile" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of magic missile" +msgid_plural "disposable greater wands of magic missile" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of fireball" +msgid_plural "disposable minor wands of fireball" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for disposable minor wand of fireball +#. ~ Description for disposable lesser wand of fireball +#. ~ Description for disposable greater wand of fireball +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts fireball." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of fireball" +msgid_plural "disposable lesser wands of fireball" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of fireball" +msgid_plural "disposable greater wands of fireball" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of mana beam" +msgid_plural "disposable minor wands of mana beam" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for disposable minor wand of mana beam +#. ~ Description for disposable lesser wand of mana beam +#. ~ Description for disposable greater wand of mana beam +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts mana beam." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of mana beam" +msgid_plural "disposable lesser wands of mana beam" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of mana beam" +msgid_plural "disposable greater wands of mana beam" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of point flare" +msgid_plural "disposable minor wands of point flare" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for disposable minor wand of point flare +#. ~ Description for disposable lesser wand of point flare +#. ~ Description for disposable greater wand of point flare +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts point flare." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of point flare" +msgid_plural "disposable lesser wands of point flare" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of point flare" +msgid_plural "disposable greater wands of point flare" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of hoary blast" +msgid_plural "disposable minor wands of hoary blast" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for disposable minor wand of hoary blast +#. ~ Description for disposable lesser wand of hoary blast +#. ~ Description for disposable greater wand of hoary blast +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts hoary blast." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of hoary blast" +msgid_plural "disposable lesser wands of hoary blast" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of hoary blast" +msgid_plural "disposable greater wands of hoary blast" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of cone of cold" +msgid_plural "disposable minor wands of cone of cold" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for disposable minor wand of cone of cold +#. ~ Description for disposable lesser wand of cone of cold +#. ~ Description for disposable greater wand of cone of cold +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts cone of cold." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of cone of cold" +msgid_plural "disposable lesser wands of cone of cold" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of cone of cold" +msgid_plural "disposable greater wands of cone of cold" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -88468,7 +92098,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "Magus rune" -msgid_plural "Magus runes" +msgid_plural "Magi runes" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -88628,7 +92258,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "wand of fireballs" -msgid_plural "wand of fireballss" +msgid_plural "wands of fireball" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -88643,7 +92273,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "wand of magic missiles" -msgid_plural "wand of magic missiless" +msgid_plural "wands of magic missile" msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -89219,14 +92849,6 @@ msgid "" "This is a stick that has been cut into a trigger mechanism for a snare trap." msgstr "To patyk, który wycięto by służył jako mechanizm zwalniający wnyki." -#: lang/json/TOOL_from_json.py -msgid "Laevateinn" -msgid_plural "Laevateinns" -msgstr[0] "Laevateinn" -msgstr[1] "Laevateinn" -msgstr[2] "Laevateinn" -msgstr[3] "Laevateinn" - #. ~ Description for Laevateinn #: lang/json/TOOL_from_json.py msgid "" @@ -90721,6 +94343,17 @@ msgid "" " terribly when not on a rail." msgstr "" +#: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py +msgid "pair of small rail wheels" +msgstr "" + +#. ~ Description for pair of small rail wheels +#: lang/json/WHEEL_from_json.py +msgid "" +"A pair of small rail wheels. It fits small railroad rails found in places " +"like amusement parks. Mostly for hobby purposes rather then transportation." +msgstr "" + #: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py msgid "motorbike wheel" msgstr "koło motocyklowe" @@ -91131,6 +94764,10 @@ msgstr "rozbija" msgid "cranking" msgstr "nakręca" +#: lang/json/activity_type_from_json.py +msgid "heating" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "de-stressing" msgstr "odstresowuje" @@ -91743,6 +95380,10 @@ msgid "" "deflected more than melee weapons and those in turn more than massive " "objects." msgstr "" +"Cienkie pole siłowe otacza twoje ciało, nieustannie pobierając moc. Każda " +"próba penetracji tego pola ma szansę zostać odbita kosztem energii, co " +"zmniejsza zdolność do zadania obrażeń. Pociski będą odbijane bardziej niż " +"broń do walki w zwarciu, a ta z kolei bardziej niż masywne przedmioty." #: lang/json/bionic_from_json.py msgid "Alarm System" @@ -91776,7 +95417,7 @@ msgstr "Opancerzenie Ramion" #. ~ Description for Alloy Plating - Arms #: lang/json/bionic_from_json.py msgid "" -"The flesh on your arms has been surgically replaced by alloy plating. " +"The flesh on your arms has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" @@ -91814,7 +95455,7 @@ msgstr "Opancerzenie Nóg" #. ~ Description for Alloy Plating - Legs #: lang/json/bionic_from_json.py msgid "" -"The flesh on your legs has been surgically replaced by alloy plating. " +"The flesh on your legs has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" @@ -92165,17 +95806,20 @@ msgstr "Spalacz Etanolu" #. ~ Description for Ethanol Burner #: lang/json/bionic_from_json.py -msgid "" -"You burn alcohol as fuel in an extremely efficient reaction. However, you " -"will still suffer the inebriating effects of the substance." +msgid "You burn alcohol as fuel in an extremely efficient reaction." msgstr "" -"Spalasz alkohol jako paliwo w bardzo wydajnej reakcji chemicznej. Jednakże " -"nadal doświadczasz upajających efektów substancji." #: lang/json/bionic_from_json.py msgid "Aero-Evaporator" msgstr "Areo-Skraplacz" +#. ~ Description for Aero-Evaporator +#: lang/json/bionic_from_json.py +msgid "" +"This unit draws moisture from the surrounding air, which slowly trickles " +"directly into your blood stream. It may fail in very dry environments." +msgstr "" + #: lang/json/bionic_from_json.py msgid "Diamond Cornea" msgstr "Diamentowa Rogówka" @@ -92289,7 +95933,7 @@ msgid "" "You don't think that capacitor is *meant* to glow, but it does, and usually " "at bad times. A malfunctioning bionic randomly turns on and off, causing " "you to glow and making you visible in the dark without improving how much " -"you can see in the slighest." +"you can see in the slightest." msgstr "" #: lang/json/bionic_from_json.py @@ -92456,10 +96100,10 @@ msgstr "" "nieprzyjemne skutki uboczne gdy zostanie wyłączony." #: lang/json/bionic_from_json.py -msgid "Mini-Flamethrower" -msgstr "Mini Miotacz Ognia" +msgid "Finger Lighter" +msgstr "" -#. ~ Description for Mini-Flamethrower +#. ~ Description for Finger Lighter #: lang/json/bionic_from_json.py msgid "" "The index fingers of both hands have powerful fire starters which extend " @@ -92492,8 +96136,8 @@ msgstr "Elektromagnes" #: lang/json/bionic_from_json.py msgid "" "Surgically embedded in your right hand is a powerful electromagnet, allowing" -" you to indiscriminately pull all nearby magnetic objects towards you. " -"Unlucky bystanders might be injured or killed by flying objects." +" you to use your own strength to pull all nearby magnetic objects towards " +"you. Unlucky bystanders might be injured or killed by flying objects." msgstr "" #: lang/json/bionic_from_json.py @@ -92558,14 +96202,21 @@ msgstr "Nanoboty Naprawcze" #: lang/json/bionic_from_json.py msgid "" "Inside your body is a fleet of tiny dormant robots. While activated they " -"will flit about your body, repairing damage at 1 HP/s and stopping bleeding " -"at the cost of power." +"will flit about your body, repairing damage at 1 HP per minute and stopping " +"bleeding at the cost of extra power and stored calories." msgstr "" #: lang/json/bionic_from_json.py msgid "Artificial Night Generator" msgstr "Generator Sztucznej Nocy" +#. ~ Description for Artificial Night Generator +#: lang/json/bionic_from_json.py +msgid "" +"When active, this bionic eliminates all light within a 2 tile radius through" +" destructive interference." +msgstr "" + #: lang/json/bionic_from_json.py msgid "Implanted Night Vision" msgstr "Implantowany Noktowizor" @@ -92588,11 +96239,8 @@ msgstr "Popsuta bionika. Od czasu do czasu emituje głośne dźwięki." msgid "" "You're really not sure how the CBM ended up in your nose, but no matter how " "it got there this badly misplaced bionic makes it difficult to breathe. " -"Increases mouth encumbrance by one." +"Increases mouth encumbrance by ten." msgstr "" -"Nie jesteś pewny jak ten CBM znalazł się w twoim nosie, ale jakkolwiek to " -"się stało, ta źle umiejscowiona bionika utrudnia ci oddychanie. Podnosi " -"skrępowanie ust o jeden." #: lang/json/bionic_from_json.py msgid "Offensive Defense System" @@ -92625,7 +96273,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "Due to a badly misplaced dielectric stylette, you are now suffering from " -"mild optic neuropathy. Increases eye encumbrance by one." +"mild optic neuropathy. Increases eye encumbrance by ten." msgstr "" #: lang/json/bionic_from_json.py @@ -92658,7 +96306,7 @@ msgstr "Magazyn Mocy" #. ~ Description for Power Storage #: lang/json/bionic_from_json.py msgid "" -"A Compact Bionics Module that increases your power capacity by 100 units. " +"A Compact Bionics Module that increases your power capacity by 100 kJ. " "Having at least one of these is a prerequisite to using powered bionics. " "You will also need a power supply, found in various CBMs." msgstr "" @@ -92669,8 +96317,7 @@ msgstr "Magazyn Mocy II Gen." #. ~ Description for Power Storage Mk. II #: lang/json/bionic_from_json.py -msgid "" -"A Compact Bionics Module that increases your power capacity by 250 units." +msgid "A Compact Bionics Module that increases your power capacity by 250 kJ." msgstr "" #. ~ Description for Power Overload @@ -92712,6 +96359,9 @@ msgid "" "toxins, or airborne diseases find their way into your windpipe, the filter " "will attempt to remove them." msgstr "" +"Chirurgicznie wszczepiony w tchawicę jest zaawansowanym systemem filtracji. " +"Jeśli toksyny lub choroby przenoszone przez powietrze przedostaną się do " +"tchawicy, filtr spróbuje je usunąć." #: lang/json/bionic_from_json.py msgid "Radiation Scrubber System" @@ -93001,11 +96651,8 @@ msgstr "" msgid "" "Self-locking thumbs hold tight (even when you really don't want them to) and" " don't let go (even when you'd rather they did). Increases hand encumbrance" -" by two, while failing to improve your ability to hold objects whatsoever." +" by ten, while failing to improve your ability to hold objects whatsoever." msgstr "" -"Samoblokujące się kciuki mocno trzymają (nawet gdy nie chcesz by to robiły) " -"i nie puszczają (nawet gdy chciałbyś by odpuściły). Zwiększa skrępowanie rąk" -" o dwa, i ani trochę nie ulepsza twoich zdolności do trzymania przedmiotów." #: lang/json/bionic_from_json.py msgid "Time Dilation" @@ -93150,8 +96797,8 @@ msgstr "" #. ~ Description for Gasoline Fuel Cell CBM #: lang/json/bionic_from_json.py msgid "" -"A small gasoline fuel cell fixed to your scapula. Despite its limited energy" -" output compared to other fuel cells, this device still produces a " +"A small gasoline fuel cell fixed to your scapula. Despite its limited " +"energy output compared to other fuel cells, this device still produces a " "significant amount of heat dissipated through a heat exhaust protruding from" " your back. A diffuse network of bio-plastic bladders has been meshed with " "your circulatory system and serves as a fuel tank." @@ -93216,7 +96863,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "A set of highly sensitive sensors is installed in your mouth, and a small " -"yet sophisticated analyzer is installed in the cavity of your skull. The " +"yet sophisticated analyzer is installed in the cavity of your skull. The " "active bionic will nullify the taste of all comestibles with negative " "enjoyment value at the cost of draining bionic power." msgstr "" @@ -93418,7 +97065,7 @@ msgid "Dodging and melee is hampered." msgstr "Uniki i walka wręcz są utrudnione." #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Torso" msgstr "Tors" @@ -93437,7 +97084,7 @@ msgid "head" msgstr "głowę" #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Head" msgstr "Głowa" @@ -93508,7 +97155,7 @@ msgstr "" #: lang/json/bodypart_from_json.py msgid "Arms" -msgstr "Ręki" +msgstr "Ręce" #: lang/json/bodypart_from_json.py msgid "L ARM" @@ -93780,6 +97427,11 @@ msgid "" "Does not prevent using a proper workbench, if available. Deconstruct or " "smash to remove." msgstr "" +"Zaznacz miejsce do tworzenia. Zadania rzemieślnicze znajdujące się obok tego" +" kafelka automatycznie wykorzystają tę lokalizację zamiast próbować tworzyć " +"w rękach, ze zwykłą karą za szybkość rzemieślniczą za pracę na ziemi. Nie " +"uniemożliwia korzystania z odpowiedniego stołu roboczego, jeśli jest " +"dostępny. Dekonstruuj lub rozbij, aby usunąć." #: lang/json/construction_from_json.py msgid "Spike Pit" @@ -93917,6 +97569,18 @@ msgstr "Zasyp Dół Ziemią" msgid "Make Woodchip Floor" msgstr "Zbuduj Podłogę Z Wiór" +#: lang/json/construction_from_json.py +msgid "Make Gravel Floor" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Straight Small Railroad Track" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Diagonal Small Railroad Track" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Wooden Floor" msgstr "Zbuduj Drewnianą Podłogę" @@ -94033,6 +97697,14 @@ msgstr "Zbuduj Bramę z Łańcucha" msgid "Needs to be supported on both sides by fencing, walls, etc." msgstr "Musi mieć obustronne podparcie w ogrodzeniu, ścianach, itp." +#: lang/json/construction_from_json.py +msgid "Build Screen Door" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Screen Mesh Wall" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Chickenwire Fence" msgstr "Zbuduj Ogrodzenie z Siatki" @@ -94073,6 +97745,10 @@ msgstr "Zbuduj Komodę" msgid "Build Bookcase" msgstr "Zbuduj Biblioteczkę" +#: lang/json/construction_from_json.py +msgid "Build Entertainment Center" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Locker" msgstr "Zbuduj Schowek" @@ -94105,6 +97781,10 @@ msgstr "Zbuduj Stół" msgid "Place Table" msgstr "Umieść Stół" +#: lang/json/construction_from_json.py +msgid "Build Coffee Table" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Workbench" msgstr "Zbuduj Warsztat" @@ -94561,6 +98241,10 @@ msgstr "" msgid "Build a radio tower console." msgstr "" +#: lang/json/construction_from_json.py +msgid "Build Log Stool" +msgstr "" + #: lang/json/construction_from_json.py msgid "Convert Fridge Power Supply" msgstr "Przerób Zasilacz Lodówki" @@ -95302,6 +98986,42 @@ msgstr "" msgid "You dream of bees fighting over your sweet nectar. Mmm." msgstr "Śnisz o pszczołach latających nad twoim słodkim nektarem. Mmm." +#: lang/json/dream_from_json.py +msgid "" +"How grand it would be to sink your roots deep into the soil as the seasons " +"pass you by." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "You dream of a gigantic knot of roots, beating like a heart." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "You have a disturbing dream of termites chewing all over your body." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of sharing your roots with a vast forest, all plants provided for " +"as the canopy grows ever upwards." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "A family of caterpillars munches away at your leaves." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"Fire rages around you, licking at your bark and engulfing the saplings and " +"bushes near your roots. The once chatty forest is quiet in its wake." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of communing with an ancient pine. Trees are the true survivors " +"of this world, it tells you." +msgstr "" + #: lang/json/dream_from_json.py msgid "" "A rather attractive triffid offers you a bouquet of ape heads. How " @@ -96659,6 +100379,25 @@ msgstr "Twoje ręce nie chcą przestać się trząść." msgid "You tremble" msgstr "Trzęsiesz się" +#: lang/json/effects_from_json.py +msgid "Seizure" +msgstr "" + +#. ~ Description of effect 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles have seized up, and you can't control them!" +msgstr "" + +#. ~ Remove message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "You regain control of your muscles!" +msgstr "" + +#. ~ Miss message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles won't cooperate!" +msgstr "" + #: lang/json/effects_from_json.py msgid "Bleeding" msgstr "Krwawienie" @@ -97586,6 +101325,26 @@ msgstr "Twój metabolizm staje się niestabilny." msgid "Your metabolism becomes more stable." msgstr "Twój metabolizm stabilizuje się." +#: lang/json/effects_from_json.py +msgid "Concerning symptoms" +msgstr "" + +#. ~ Description of effect 'Concerning symptoms'. +#: lang/json/effects_from_json.py +msgid "Your muscles keep twitching strangely." +msgstr "" + +#: lang/json/effects_from_json.py +msgid "Unnerving symptoms" +msgstr "" + +#. ~ Description of effect 'Unnerving symptoms'. +#: lang/json/effects_from_json.py +msgid "" +"Your nervous system is malfunctioning, almost like it's being torn apart " +"from the inside." +msgstr "" + #: lang/json/effects_from_json.py msgid "Lit up" msgstr "Oświetlony" @@ -97841,6 +101600,17 @@ msgstr "Przeładowany" msgid "You've been struck by lightning, and feel... different." msgstr "Trafił cię piorun, i czujesz się... inaczej." +#: lang/json/effects_from_json.py +msgid "Grown of Fusion" +msgstr "" + +#. ~ Description of effect 'Grown of Fusion'. +#: lang/json/effects_from_json.py +msgid "" +"AI effect to increase stats after fusing with another critter. 1 stack means" +" one absorbed max_hp." +msgstr "" + #: lang/json/effects_from_json.py msgid "Religious Offense" msgstr "Obraza Religijna" @@ -98155,6 +101925,33 @@ msgstr "" msgid "The earth pulls you down hard." msgstr "" +#: lang/json/effects_from_json.py +msgid "Scared" +msgstr "" + +#: lang/json/effects_from_json.py +msgid "Frightened" +msgstr "" + +#: lang/json/effects_from_json.py src/npc.cpp +msgid "Terrified" +msgstr "Przerażony" + +#: lang/json/effects_from_json.py +msgid "" +"Your knees are shaking, your heart beats fast, and your stomach rebels." +msgstr "" + +#. ~ Apply message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "You are afraid!" +msgstr "" + +#. ~ Remove message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "Your fear dissipates." +msgstr "" + #: lang/json/effects_from_json.py msgid "Stuck in a light snare" msgstr "Złapany w lekkie wnyki" @@ -98544,6 +102341,192 @@ msgstr "" "policji został rozdarty na strzępy przez martwaków, które zbiegły się " "słysząc zamieszanie." +#: lang/json/epilogue_from_json.py +msgid "" +" Became a hunter after your death, living alone in the woods. Traced " +"back to his cabin, he was murdered and devoured in his sleep by an actual " +"cannibal." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived for many years, and became a renowned scavenger, eventually " +"setting up a small shop in a Free Merchant outpost. Survived by two sons, " +"he died after a rare artifact poisoned his blood with acid." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered and scavenged the land for years after your death, " +"eventually becoming a skilled mechanic. Employed by the Free Merchants, he " +"lived a comfortable, if rather uneventful life, dying of cancer, a rare " +"luxury these days." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became truly depressed after your death and hid in the woods. If " +"rumors are to be believed, he spent years living as a deranged hermit in a " +"distant cave, worshiping stones and sacrificing dogs." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" After your death, he became obsessed with preserving old knowledge and " +"eventually became known as 'the lorekeeper'. Hired by the Old Guard as a " +"librarian, he spent his life amongst dusty old books, trying to convince " +"others of their value. He even changed his name to Frederic Bastiat, in " +"honor of an old French philosopher." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He found faith after your death, eventually joining an Anglican " +"community and becoming a Vicar. The crucifix provided him with a sense of " +"meaning, before dying horribly at the hands of raiders. He was still " +"praying when they roasted him alive." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Lost and damned, he joined a bloody cult after your death, kidnapping " +"and sacrificing young women. His entire group was killed after being " +"discovered by the Old Guard. His head was put on a spike as a reminder that" +" cultists will not be tolerated." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He did not survive for long after your death. Electrocuted in an old " +"cellar, he kept screaming your name. His body was never found." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived you by just a few days, he drowned trying to escape from a " +"horde." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered alone for days, before finding a Free Merchant outpost. He" +" spent a few years as a caravan guard, often drinking himself half blind and" +" enjoying any woman he could find. Booze made his grip unsteady and he was " +"eventually fired. He died of alcohol poisoning the same day." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with the idea of settling down, he eventually found love and " +"retired to a farm in the middle of nowhere. Relatively safe from the " +"monsters, he thrived for years. Survived by seven sons and two daughters." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became famous in the wastes after finding an old brewery and copying " +"their recipe. His chilled beer, a known delicacy, is traded far and wide by" +" the Free Merchants." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Found a whole cellar of single malt whisky. Drank himself to death." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed after your death, he would hang himself after just a few " +"days." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Wandered for months, before finding a small community that would accept" +" him. Became a farmer and spent the rest of his uneventful life tending to " +"crops, glad that he was no longer alone." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with finding 'the Cure', he died a few weeks later in an old " +"lab, torn to shreds by a security turret." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a runner for the Refugee Center and died after a few months." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a raider gang and died in a firefight a few weeks later, trying " +"to rob a Free Merchant caravan." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, he eventually found an intact baseball field and built " +"a prosperous farming community there." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He spent the rest of his short life looking for a new fix. Died of an " +"overdose in an abandoned basement." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a small fishing village. Died a few years " +"later in a raider attack, alongside his young son." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Thoroughly terrified by your death, he retired to an old LMOE shelter, " +"vowing never to leave. He died of starvation inside." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He became a very prosperous game hunter, trading meat and furs, and " +"providing many settlements with food in exchange for booze and male company." +" He died years later of an STD." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Retired to the woods, he spent the rest of his life fishing and hunting" +" in a desolate cabin, rarely interacting with anyone else." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Died en route to California, deliriously dreaming of a better life as " +"he was slowly devoured by spiders." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He tried to cope with loneliness after your death, but failed. He was " +"blind drunk when a group of zombies found his hideout and didn't stand a " +"chance." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He didn't survive for long, waking up to a horde of zombies. They " +"smashed through his fortified windows in a pinch and only the last bullet " +"prevented him from being devoured alive." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He got sick soon after your death, and died without any medical help. " +"His last words were 'Why did I live long enough to suffer like that?'" +msgstr "" + #: lang/json/epilogue_from_json.py msgid "" " Committed suicide rather than fall into the hands of the Hell's " @@ -98880,6 +102863,167 @@ msgstr "" "pomoc, i zjadając resztki pozostałych jej zapasów. Dwa tygodnie od " "uwięzienia umiera z odwodnienia." +#: lang/json/epilogue_from_json.py +msgid "" +" Shot by the Old Guard a few weeks later, hunted down after she robbed " +"an important caravan." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, she eventually found a quiet community there and spent " +"the rest of her life farming. She's survived by four daughters." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a runner for the Old Guard and was eventually permitted to " +"join. She spent the rest of her life hunting raiders. She died in a " +"skirmish after a few years, sacrificing her life to let her unit retreat. " +"Her name is venerated in songs and inscriptions." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Shortly after your death she joined the Free Merchants, becoming a " +"caravan guard and after a few months became the new liaison in the Refugee " +"Center. She died a few years later of a mysterious illness." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She was found half-dead by the Old Guard who took her in. She became a" +" famous scavenger, known for finding an intact stash of experimental " +"antibiotics." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She retired to the forest, where she built her own cabin and spending " +"the rest of her life fishing." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Captured by raiders, she spent the rest of her miserable life as a " +"slave. Hopeless, she slit her wrists with a rusty knife." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed, she joined a protestant community and became a paragon of " +"virtue. Devoting her life to bible study, she spent the rest of her life in" +" relative peace." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Killed and devoured by a cannibal just a few days after your death, " +"hardly anyone remembers her name." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a renowned merchant after your death, she built her own outpost " +"in the west. An avid book collector, she established a great library to " +"keep the flame of knowledge burning." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled around for months before finding an old farm. She spent a few" +" years tending to her crops and living the life of a hermit before being " +"killed by raiders for fun." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a settlement there. She became a renowned " +"engineer, building the largest steam engine in New England." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a gang after your death, she spent months preying on the " +"innocent, before dying in a dispute with a fellow brute." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Devoured alive by a group of zombies, she kept thinking of you as she " +"died." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She found an abandoned APC and spent years traveling around and " +"collecting personal stories. She wrote one of the few post-apocalyptic " +"books, detailing the life after the end." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Kept wandering for years. Her life was cut short when a group of " +"raiders used her as a target practice." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a skilled game hunter and one of the best shots in the " +"wasteland. Years later she joined the Old Guard and was given the position " +"of Marshal." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Desperate to save humanity from extinction, she organized her own group" +" of survivors, whose job was to hunt bandits and decorate roads with their " +"mutilated bodies. She died in a skirmish a few months later." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became an arsonist, and was incinerated a few weeks later in a fire" +" she set." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She kept wandering for a few weeks but eventually died after drinking " +"untreated water." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She wandered north and joined a local community there. She became " +"known for her trapping skills and ensured that the locals always had fresh " +"meat on their tables." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She joined the Free Merchants and led their first caravan to Canada. " +"She died a few years later of dysentery." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She built a boat and sailed east towards Europe, hoping that it was not" +" affected by the apocalypse. She was never heard from again." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She led a doomsday cult for a few years, she was sacrificed to their " +"gods after a particularly terrible harvest." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became obsessed with chems, and died of an overdose a few months after " +"your death." +msgstr "" + #: lang/json/faction_from_json.py msgid "Your Followers" msgstr "Twoi Towarzysze" @@ -99051,10 +103195,10 @@ msgid "A small family surviving on their generational land." msgstr "" #: lang/json/faction_from_json.py -msgid "God's Community" -msgstr "Komuna Boża" +msgid "New England Church Community" +msgstr "" -#. ~ Description for God's Community +#. ~ Description for New England Church Community #: lang/json/faction_from_json.py msgid "" "A small group of churchgoers that formed a community in the woods. They " @@ -99101,111 +103245,231 @@ msgstr "" msgid "Dusty" msgstr "" -#. ~ Description for Dusty +#. ~ description for fault 'Dusty' #: lang/json/fault_from_json.py -msgid "It's dusty. Has no effect - obsolete fault." +msgid "It's dusty. Has no effect - obsolete fault." +msgstr "" + +#. ~ name of mending method for fault 'Dusty' +#: lang/json/fault_from_json.py +msgid "Wipe clean" +msgstr "" + +#. ~ success message for mending method 'Wipe clean' of fault 'Dusty' +#. ~ success message for mending method 'Clean gun' of fault 'Fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean you %s." msgstr "" #: lang/json/fault_from_json.py msgid "Already deployed" msgstr "" -#. ~ Description for Already deployed +#. ~ description for fault 'Already deployed' #: lang/json/fault_from_json.py msgid "This bionic needs to be reset to its factory state." msgstr "" +#. ~ name of mending method for fault 'Already deployed' +#: lang/json/fault_from_json.py +msgid "Reset to factory state" +msgstr "" + +#. ~ success message for mending method 'Reset to factory state' of fault +#. 'Already deployed' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully reset the %s to its factory state" +msgstr "" + #: lang/json/fault_from_json.py msgid "Blackpowder fouling" msgstr "" -#. ~ Description for Blackpowder fouling +#. ~ description for fault 'Blackpowder fouling' #: lang/json/fault_from_json.py msgid "" "Firing blackpowder loads from a gun fouls it, which reduces reliability and," -" if left uncleaned, leads to rust. It fouls the gun much faster than the use" -" of modern smokeless powder cartridges. Fouling is only a significant impact" -" on reliability at high levels, but black powder fouling accumulates " +" if left uncleaned, leads to rust. It fouls the gun much faster than the " +"use of modern smokeless powder cartridges. Fouling is only a significant " +"impact on reliability at high levels, but black powder fouling accumulates " "quickly." msgstr "" +#. ~ name of mending method for fault 'Blackpowder fouling' +#: lang/json/fault_from_json.py +msgid "Clean blackpowder fouling" +msgstr "" + +#. ~ success message for mending method 'Clean blackpowder fouling' of fault +#. 'Blackpowder fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean your %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Spent casing in chamber" msgstr "" -#. ~ Description for Spent casing in chamber +#. ~ description for fault 'Spent casing in chamber' #: lang/json/fault_from_json.py msgid "" "This gun currently has an empty casing chambered. It will have to be " "removed before firing." msgstr "" +#. ~ name of mending method for fault 'Spent casing in chamber' +#: lang/json/fault_from_json.py +msgid "Eject spent casing" +msgstr "" + +#. ~ success message for mending method 'Eject spent casing' of fault 'Spent +#. casing in chamber' +#: lang/json/fault_from_json.py +#, python-format +msgid "You eject the spent casing from the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Fouling" msgstr "" -#. ~ Description for Fouling +#. ~ description for fault 'Fouling' #: lang/json/fault_from_json.py msgid "" "Fouling is caused by firing gunpowder loads repeatedly, which reduces " -"reliability and can eventually cause damage to the gun. Fouling accumulates " -"slowly (unless blackpowder is used) due to the design of modern smokeless " +"reliability and can eventually cause damage to the gun. Fouling accumulates" +" slowly (unless blackpowder is used) due to the design of modern smokeless " "powder found in the vast majority of retail cartridges and it is not a " "significant problem until high levels of fouling are reached due to firing " "thousands of rounds without cleaning your firearm." msgstr "" +#. ~ name of mending method for fault 'Fouling' +#: lang/json/fault_from_json.py +msgid "Clean gun" +msgstr "" + #: lang/json/fault_from_json.py msgid "Worn drive belt" msgstr "" -#. ~ Description for Worn drive belt +#. ~ description for fault 'Worn drive belt' #: lang/json/fault_from_json.py msgid "Required for operation of an attached alternator." msgstr "Potrzebny do pracy przyłączonego alternatora." +#. ~ name of mending method for fault 'Worn drive belt' +#: lang/json/fault_from_json.py +msgid "Replace worn drive belt" +msgstr "" + +#. ~ success message for mending method 'Replace worn drive belt' of fault +#. 'Worn drive belt' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the worn drive belt of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty glow plugs" msgstr "" -#. ~ Description for Faulty glow plugs +#. ~ description for fault 'Faulty glow plugs' #: lang/json/fault_from_json.py msgid "Help when starting an engine in low ambient temperatures." msgstr "Pomagają uruchomić silnik w niskich temperaturach zewnętrznych." +#. ~ name of mending method for fault 'Faulty glow plugs' +#: lang/json/fault_from_json.py +msgid "Replace faulty glow plugs" +msgstr "" + +#. ~ success message for mending method 'Replace faulty glow plugs' of fault +#. 'Faulty glow plugs' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty glow plugs of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Active immobiliser" msgstr "" -#. ~ Description for Active immobiliser +#. ~ description for fault 'Active immobiliser' #: lang/json/fault_from_json.py msgid "Prevents starting of the vehicle without the appropriate key." msgstr "Uniemożliwia uruchomienie silnika bez odpowiedniego klucza." +#. ~ name of mending method for fault 'Active immobiliser' +#: lang/json/fault_from_json.py +msgid "Deactivate immobiliser" +msgstr "" + +#. ~ description for mending method 'Deactivate immobiliser' of fault 'Active +#. immobiliser' +#: lang/json/fault_from_json.py +msgid "" +"Deactivate the immobiliser that is preventing the vehicle from starting." +msgstr "" + +#. ~ success message for mending method 'Deactivate immobiliser' of fault +#. 'Active immobiliser' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully deactivate the immobiliser of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty diesel pump" msgstr "" -#. ~ Description for Faulty diesel pump +#. ~ description for fault 'Faulty diesel pump' #: lang/json/fault_from_json.py msgid "Required to pump and pressurize diesel from a vehicles tank." msgstr "Potrzebna do pompowania i sprężania diesla ze zbiornika paliwa." +#. ~ name of mending method for fault 'Faulty diesel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty diesel pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty diesel pump' of fault +#. 'Faulty diesel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty diesel pump of the %s" +msgstr "" + #: lang/json/fault_from_json.py msgid "Expired air filter" msgstr "" -#. ~ Description for Expired air filter +#. ~ description for fault 'Expired air filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces fuel efficiency and increases smoke production." msgstr "Zużyty filtr redukuje efektywność paliwa i zwiększa produkcję dymu." +#. ~ name of mending method for fault 'Expired air filter' +#: lang/json/fault_from_json.py +msgid "Replace expired air filter" +msgstr "" + +#. ~ success message for mending method 'Replace expired air filter' of fault +#. 'Expired air filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired air filter of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Expired fuel filter" msgstr "" -#. ~ Description for Expired fuel filter +#. ~ description for fault 'Expired fuel filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces performance and increases the chance of backfires." @@ -99213,33 +103477,81 @@ msgstr "" "Zużyty filtr redukuje wydajność paliwa i zwiększa szansę na strzelanie " "gaźnika." +#. ~ name of mending method for fault 'Expired fuel filter' +#: lang/json/fault_from_json.py +msgid "Replace expired fuel filter" +msgstr "" + +#. ~ success message for mending method 'Replace expired fuel filter' of fault +#. 'Expired fuel filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired fuel filter of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty fuel pump" msgstr "" -#. ~ Description for Faulty fuel pump +#. ~ description for fault 'Faulty fuel pump' #: lang/json/fault_from_json.py msgid "Required to pump gasoline from a vehicles tank." msgstr "Potrzebna do pompowania benzyny ze zbiornika paliwa." +#. ~ name of mending method for fault 'Faulty fuel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty fuel pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty fuel pump' of fault +#. 'Faulty fuel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty fuel pump of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty water pump" msgstr "" -#. ~ Description for Faulty water pump +#. ~ description for fault 'Faulty water pump' #: lang/json/fault_from_json.py msgid "Required to pump water to an external radiator or heatsink." msgstr "Potrzebna do pompowania wody do chłodnicy lub radiatora." +#. ~ name of mending method for fault 'Faulty water pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty water pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty water pump' of fault +#. 'Faulty water pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty water pump of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty starter motor" msgstr "" -#. ~ Description for Faulty starter motor +#. ~ description for fault 'Faulty starter motor' #: lang/json/fault_from_json.py msgid "Required to initially start the engine." msgstr "Potrzebny do wstępnego rozruchu silnika." +#. ~ name of mending method for fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +msgid "Replace faulty starter motor" +msgstr "" + +#. ~ success message for mending method 'Replace faulty starter motor' of +#. fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty starter motor of %s." +msgstr "" + #: lang/json/field_type_from_json.py lang/json/overmap_terrain_from_json.py #: lang/json/overmap_terrain_from_json.py src/mapdata.cpp src/mapdata.cpp #: src/skill.cpp @@ -99726,6 +104038,22 @@ msgstr "" msgid "smoke vent" msgstr "komin" +#: lang/json/field_type_from_json.py +msgid "clairvoyance" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "dreadful presense" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "frightful presense" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "terrifying presense" +msgstr "" + #: lang/json/furniture_from_json.py msgid "mutated cactus" msgstr "zmutowany kaktus" @@ -99739,13 +104067,11 @@ msgstr "" msgid "A big, blocky metal device for refrigerating large areas." msgstr "" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "metal screeching!" msgstr "zgrzyt metalu!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "clang!" msgstr "klang!" @@ -99850,6 +104176,52 @@ msgid "" "although it still has parts." msgstr "" +#: lang/json/furniture_from_json.py +msgid "document shredder" +msgstr "niszczarka dokumentów" + +#. ~ Description for document shredder +#: lang/json/furniture_from_json.py +msgid "" +"It's not all about hiding government secrets, sometimes you just want to " +"stop identity theft." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "server stack" +msgstr "" + +#. ~ Description for server stack +#: lang/json/furniture_from_json.py +msgid "This is a big pile of computers. They're all turned off." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "large satellite dish" +msgstr "duży dysk satelitarny" + +#. ~ Description for large satellite dish +#: lang/json/furniture_from_json.py +msgid "" +"Somewhere up there, there are still satellites, orbiting and doing their " +"thing, sending signals down to an Earth that is no longer listening." +msgstr "" +"Gdzieś tam są jeszcze satelity, orbitujące i robiące swoje, wysyłające " +"sygnały do Ziemi, która już nie słucha." + +#: lang/json/furniture_from_json.py +msgid "mounted solar panel" +msgstr "" + +#. ~ Description for mounted solar panel +#: lang/json/furniture_from_json.py +msgid "A mounted solar panel." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "whack!" +msgstr "whack!" + #: lang/json/furniture_from_json.py msgid "road barricade" msgstr "barykada drogowa" @@ -99861,11 +104233,11 @@ msgstr "Barykada drogowa. Do blokowania dróg." #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py #: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +#: src/vehicle_move.cpp msgid "smash!" msgstr "smash!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "whump." msgstr "whump." @@ -99918,6 +104290,115 @@ msgstr "ściana z worków z piaskiem" msgid "A sandbag wall." msgstr "Ściana z worków z piaskiem." +#: lang/json/furniture_from_json.py +msgid "standing mirror" +msgstr "stojące lustro" + +#. ~ Description for standing mirror +#: lang/json/furniture_from_json.py +msgid "Lookin' good - is that blood?" +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "glass breaking" +msgstr "tłuczonego szkła" + +#: lang/json/furniture_from_json.py +msgid "broken standing mirror" +msgstr "stłuczone stojące lustro" + +#. ~ Description for broken standing mirror +#: lang/json/furniture_from_json.py +msgid "" +"You could look at yourself, if the mirror wasn't covered in cracks and " +"fractures." +msgstr "" +"Mógłbyś się sobie przyjrzeć gdyby lustra nie pokrywała sieć pęknięć i " +"szczerb. " + +#: lang/json/furniture_from_json.py +msgid "bitts" +msgstr "" + +#. ~ Description for bitts +#: lang/json/furniture_from_json.py +msgid "" +"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " +"to secure mooring lines, ropes, hawsers, or cables." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "manacles" +msgstr "kajdany" + +#. ~ Description for manacles +#: lang/json/furniture_from_json.py +msgid "" +"Chain serfs in your dungeon. All you need now is an iron ball to chain to " +"it." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "crack." +msgstr "krak." + +#: lang/json/furniture_from_json.py +msgid "statue" +msgstr "posąg" + +#. ~ Description for statue +#: lang/json/furniture_from_json.py +msgid "A carved statue made of stone." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +msgid "thump." +msgstr "thump." + +#: lang/json/furniture_from_json.py +msgid "mannequin" +msgstr "manekin" + +#. ~ Description for mannequin +#: lang/json/furniture_from_json.py +msgid "" +"Put clothes on it, talk to it. Who's around to judge you? Wait… did it " +"just move?" +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "birdbath" +msgstr "ptasi brodzik" + +#. ~ Description for birdbath +#: lang/json/furniture_from_json.py +msgid "A decorative cement birdbath and pedestal." +msgstr "Dekoracyjny ptasi brodzik na piedestale." + +#: lang/json/furniture_from_json.py +msgid "rotary clothes dryer line" +msgstr "" + +#. ~ Description for rotary clothes dryer line +#: lang/json/furniture_from_json.py +msgid "A umbrella shaped clothes line mounted on a pole." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "floor lamp" +msgstr "" + +#. ~ Description for floor lamp +#: lang/json/furniture_from_json.py +msgid "A tall standing lamp, meant to plug into a wall and light up a room." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bonk!" +msgstr "" + #: lang/json/furniture_from_json.py msgid "indoor plant" msgstr "roślina domowa" @@ -100029,6 +104510,85 @@ msgid "" "be used for planting crops. This one contains a planted seedling" msgstr "" +#: lang/json/furniture_from_json.py +msgid "spider egg sack" +msgstr "torba pajęczych jaj" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Much too large, off-white egg sack. Kind of icky. Something IS moving in " +"there." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "splat!" +msgstr "splat!" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " +"in there." +msgstr "" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"A horrifyingly oversized egg sack. Something IS moving in there. If you're" +" seeing this, you're already too close to it." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "ruptured egg sack" +msgstr "rozerwana torba pajęczych jaj" + +#. ~ Description for ruptured egg sack +#: lang/json/furniture_from_json.py +msgid "Super icky. Spider stuff's spilling out." +msgstr "" + +#. ~ Description for swamp gas +#: lang/json/furniture_from_json.py +msgid "" +"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " +"toxic gas." +msgstr "" + +#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp +msgid "splash!" +msgstr "plask!" + +#. ~ Description for fog +#: lang/json/furniture_from_json.py +msgid "This is a misty cloud of fog." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "fake workbench hands" +msgstr "" + +#. ~ Description for fake workbench hands +#: lang/json/furniture_from_json.py +msgid "This fake workbench holds the stats for working on a wielded item." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "ground crafting spot" +msgstr "" + +#. ~ Description for ground crafting spot +#: lang/json/furniture_from_json.py +msgid "" +"A cleared spot on the ground for crafting. Slower than using a workbench or" +" holding a project in your hands, but readily available." +msgstr "" + +#. ~ Description for seeing this is a bug +#: lang/json/furniture_from_json.py +msgid "Seeing this is a bug. If seen, please report and destroy." +msgstr "" + #: lang/json/furniture_from_json.py msgid "fireplace" msgstr "palenisko" @@ -100201,7 +104761,7 @@ msgid "" msgstr "" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: src/iuse.cpp +#: lang/json/terrain_from_json.py src/iuse.cpp msgid "crunch!" msgstr "crunch!" @@ -100214,7 +104774,7 @@ msgstr "kwiat marloss" msgid "" "This flower is like the other flowers taken by the mushrooms, but its bulb " "is colored a brilliant cyan color, and it emits an aroma both overwhelming " -"and... delicious?" +"and… delicious?" msgstr "" #: lang/json/furniture_from_json.py @@ -100250,6 +104810,100 @@ msgid "" "Alien mold and stems mingle tightly here, creating a sort of fungal bush." msgstr "" +#: lang/json/furniture_from_json.py +msgid "stone slab" +msgstr "kamienna płyta" + +#. ~ Description for stone slab +#: lang/json/furniture_from_json.py +msgid "A flat slab of heavy stone." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "headstone" +msgstr "nagrobek" + +#. ~ Description for headstone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies." +msgstr "Przechowuje ciała." + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +msgid "thump!" +msgstr "thump!" + +#: lang/json/furniture_from_json.py +msgid "gravestone" +msgstr "płyta nagrobna" + +#. ~ Description for gravestone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies. More fancy." +msgstr "Przechowuje ciała. Bardziej wytworne." + +#: lang/json/furniture_from_json.py +msgid "worn gravestone" +msgstr "zniszczona płyta nagrobna" + +#. ~ Description for worn gravestone +#: lang/json/furniture_from_json.py +msgid "A worn-out gravestone." +msgstr "Zatarty nagrobek." + +#: lang/json/furniture_from_json.py +msgid "obelisk" +msgstr "obelisk" + +#. ~ Description for obelisk +#: lang/json/furniture_from_json.py +msgid "Monument to pride." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "thunk!" +msgstr "thunk!" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "robotic assembler" +msgstr "robotyczny monter" + +#. ~ Description for robotic assembler +#: lang/json/furniture_from_json.py +msgid "" +"A durable and versatile robotic arm with a tool fitted to the end, for " +"working on an assembly line." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "chemical mixer" +msgstr "mieszalnik chemiczny" + +#. ~ Description for chemical mixer +#: lang/json/furniture_from_json.py +msgid "" +"When chemicals need to be mixed in large quantities at just the right " +"combinations and temperatures, this is the tool for the job." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "robotic arm" +msgstr "robotyczne ramię" + +#. ~ Description for robotic arm +#: lang/json/furniture_from_json.py +msgid "" +"Automation! Science! Industry! Make a better horse! This robot arm " +"promises to do it all. Except it's currently unpowered. You could remove " +"the casing and retrieve the electronics through disassembly." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "thunk." +msgstr "thunk." + #: lang/json/furniture_from_json.py msgid "Autodoc Mk. XI" msgstr "Autodok Mk. XI" @@ -100263,10 +104917,6 @@ msgstr "" "Aparat chirurgiczny używany do instalacji i odinstalowywania bionik. Jest " "wyłącznie tak sprawny jak jego operator." -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "whack!" -msgstr "whack!" - #: lang/json/furniture_from_json.py msgid "Autodoc operation couch" msgstr "kozetka operacyjna Autodoka" @@ -100557,9 +105207,9 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "This is a meaty green stalactite with a thickened hide like that of a " -"starfish, extending from the floor to the ceiling. In the center is a series" -" of ports somewhat like mouths, from which pour bursts of a vile smelling " -"gas." +"starfish, extending from the floor to the ceiling. In the center is a " +"series of ports somewhat like mouths, from which pour bursts of a vile " +"smelling gas." msgstr "" #: lang/json/furniture_from_json.py @@ -100585,10 +105235,6 @@ msgid "" "out of injured vessels." msgstr "" -#: lang/json/furniture_from_json.py -msgid "splat!" -msgstr "splat!" - #: lang/json/furniture_from_json.py msgid "slimy pod" msgstr "" @@ -100633,7 +105279,7 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "This pulsing protuberance juts from the floor, its sides covered in scaled, " -"oozing skin. The surface is flat, but undulates softly. A handful of " +"oozing skin. The surface is flat, but undulates softly. A handful of " "unidentifiable appendages reach from the sides, suggesting a sort of " "nightmarish living autodoc." msgstr "" @@ -100794,12 +105440,6 @@ msgid "" "your workout. Might have useful electronic parts in it." msgstr "" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py src/map.cpp -#: src/mapdata.cpp -msgid "thump!" -msgstr "thump!" - #: lang/json/furniture_from_json.py msgid "treadmill" msgstr "bieżnia" @@ -100808,7 +105448,7 @@ msgstr "bieżnia" #: lang/json/furniture_from_json.py msgid "" "Used for training leg muscles. It'll be extra hard without power. Could be" -" taken apart for its... parts." +" taken apart for its… parts." msgstr "" #: lang/json/furniture_from_json.py @@ -100834,10 +105474,8 @@ msgstr "pianino" #: lang/json/furniture_from_json.py msgid "" "The ol' ebony and ivory. Really classes up the place. You could take it " -"apart if you wanted... you monster." +"apart if you wanted… you monster." msgstr "" -"Stary heban i kość słoniowa. Naprawdę podnosi klasę tego miejsca. Możesz go " -"rozebrać, jeśli chcesz ... ty potworze." #: lang/json/furniture_from_json.py msgid "a suffering piano!" @@ -100847,6 +105485,18 @@ msgstr "konające pianino!" msgid "kerchang." msgstr "kerchang." +#: lang/json/furniture_from_json.py +msgid "speaker cabinet" +msgstr "" + +#. ~ Description for speaker cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A cabinet loaded with 12-inch speakers, intended to help make various things" +" loud. It can't serve its original purpose these days, but it could be " +"disassembled for various electronic parts." +msgstr "" + #: lang/json/furniture_from_json.py msgid "cell phone signal booster" msgstr "" @@ -100978,6 +105628,53 @@ msgstr "Połóż się LUB usiądź! Doskonale!" msgid "stool" msgstr "taboret" +#. ~ Description for camp chair +#: lang/json/furniture_from_json.py +msgid "Sit down, have a drink. It can folded for easy transportation." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "log stool" +msgstr "" + +#. ~ Description for log stool +#: lang/json/furniture_from_json.py +msgid "" +"A log tipped on its end with any rough edges cut off. Basically a very " +"simple seat." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bulletin board" +msgstr "słup ogłoszeniowy" + +#. ~ Description for bulletin board +#: lang/json/furniture_from_json.py +msgid "" +"A big, cork bulletin board capable of sporting various notices. Pin some " +"notes for other survivors to read." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "sign" +msgstr "znak" + +#. ~ Description for sign +#: lang/json/furniture_from_json.py +msgid "Read it. Warnings ahead." +msgstr "Przeczytaj to. Ostrzeżenia przed tobą." + +#: lang/json/furniture_from_json.py +msgid "warning sign" +msgstr "znak ostrzegawczy" + +#. ~ Description for warning sign +#: lang/json/furniture_from_json.py +msgid "" +"A triangle-shaped sign on a post meant to indicate something important or " +"hazard." +msgstr "Trójkątny znak na słupku, który ostrzega lub wskazuje coś ważnego." + #: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py msgid "bed" msgstr "łóżko" @@ -101019,7 +105716,7 @@ msgstr "" msgid "rrrrip!" msgstr "rrrrip!" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/furniture_from_json.py msgid "" "A comfortable feather down mattress has been tossed on the floor for " @@ -101054,6 +105751,15 @@ msgstr "" msgid "Stores books. Y'know, those things. Who reads books anymore?" msgstr "" +#: lang/json/furniture_from_json.py +msgid "entertainment center" +msgstr "" + +#. ~ Description for entertainment center +#: lang/json/furniture_from_json.py +msgid "Stores audio visual equipment, books and collectible." +msgstr "" + #: lang/json/furniture_from_json.py msgid "coffin" msgstr "trumna" @@ -101098,6 +105804,21 @@ msgstr "otwarta skrzynka" msgid "What's inside? Look in it!" msgstr "Co jest w środku? Zajrzyj!" +#. ~ Description for large cardboard box +#: lang/json/furniture_from_json.py +msgid "" +"A large cardboard box: this could be used to store things, or as a hiding " +"place." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "crumple!" +msgstr "" + +#: lang/json/furniture_from_json.py src/ballistics.cpp +msgid "thud." +msgstr "łup." + #: lang/json/furniture_from_json.py msgid "cupboard" msgstr "kredens" @@ -101251,6 +105972,27 @@ msgstr "kosz na śmieci" msgid "One man's trash is another man's dinner." msgstr "Śmieci dla jednego, obiad dla drugiego." +#: lang/json/furniture_from_json.py +msgid "wardrobe" +msgstr "szafa" + +#. ~ Description for wardrobe +#: lang/json/furniture_from_json.py +msgid "A tall piece of furniture - basically a freestanding closet." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "filing cabinet" +msgstr "szafka aktowa" + +#. ~ Description for filing cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " +"locked to protect important information. If you're lucky, there are often " +"keys nearby." +msgstr "" + #: lang/json/furniture_from_json.py msgid "utility shelf" msgstr "" @@ -101269,6 +106011,43 @@ msgstr "drewniany keg" msgid "A keg made mostly of wood. Holds liquids, preferably alcoholic." msgstr "" +#: lang/json/furniture_from_json.py +msgid "display case" +msgstr "gablotka" + +#. ~ Description for display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff fancily and securely." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "broken display case" +msgstr "rozbita gablotka" + +#. ~ Description for broken display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff. It'll get stolen." +msgstr "Zaprezentuj swoje przedmioty. Zostaną ukradzione." + +#: lang/json/furniture_from_json.py +msgid "standing tank" +msgstr "pionowy zbiornik" + +#. ~ Description for standing tank +#: lang/json/furniture_from_json.py +msgid "A large freestanding metal tank, useful for holding liquids." +msgstr "" +"Duży wolno stojący metalowy zbiornik, użyteczny do przechowywania cieczy." + +#: lang/json/furniture_from_json.py +msgid "dumpster" +msgstr "pojemnik na śmieci" + +#. ~ Description for dumpster +#: lang/json/furniture_from_json.py +msgid "Stores trash. Doesn't get picked up anymore. Note the smell." +msgstr "" + #: lang/json/furniture_from_json.py msgid "counter" msgstr "lada" @@ -101346,7 +106125,7 @@ msgstr "" #. ~ Description for tourist table #: lang/json/furniture_from_json.py msgid "" -"Small metal folding table, ideal for off-road trips into the wild. Can be " +"Small metal folding table, ideal for off-road trips into the wild. Can be " "used as a workbench in a pinch." msgstr "" @@ -101359,289 +106138,201 @@ msgstr "stół" msgid "Sit down when you eat!" msgstr "Usiądź gdy się posilasz." +#. ~ Description for table #: lang/json/furniture_from_json.py -msgid "forge" -msgstr "kuźnia" - -#. ~ Description for forge -#: lang/json/furniture_from_json.py -msgid "Metalworking station typically used in combination with an anvil." -msgstr "Stacja metalurgiczna zwykle używana w połączeniu z kowadłem." - -#. ~ Description for anvil -#: lang/json/furniture_from_json.py -msgid "Used in metalworking." -msgstr "Używany w metalurgii." +msgid "a low table for livingrooms." +msgstr "" -#. ~ Description for still #: lang/json/furniture_from_json.py -msgid "" -"An essential component for brewing and chemistry that allows for refining " -"liquid mixtures." -msgstr "" -"Niezbędne oprzyrządowanie do warzenia alkoholi i chemii pozwalające na " -"uzdatnianie płynnych mieszanin." +msgid "tatami mat" +msgstr "mata tatami" -#. ~ Description for charcoal kiln -#. ~ Description for filled charcoal kiln +#. ~ Description for tatami mat #: lang/json/furniture_from_json.py msgid "" -"A rock kiln designed to burn wood and organic material into charcoal in " -"absence of oxygen." +"A tatami is a type of mat used as a flooring material in traditional " +"Japanese-style rooms." msgstr "" -"Kamienny piec zbudowany do wypalania drewna i materiałów organicznych w " -"węgiel drzewny w atmosferze beztlenowej." #: lang/json/furniture_from_json.py -msgid "metal charcoal kiln" -msgstr "metalowy piec do wypalania węgla drzewnego" +msgid "pillow fort" +msgstr "poduszkowy fort" -#. ~ Description for metal charcoal kiln -#. ~ Description for filled metal charcoal kiln +#. ~ Description for pillow fort #: lang/json/furniture_from_json.py -msgid "" -"A metal kiln designed to burn wood and organic material into charcoal in " -"absence of oxygen." +msgid "A comfy place to hide from the world. Not very defensible, though." msgstr "" -"Metalowy piec zbudowany do wypalania drewna i materiałów organicznych w " -"węgiel drzewny w atmosferze beztlenowej." #: lang/json/furniture_from_json.py -msgid "filled metal charcoal kiln" -msgstr "wypełniony metalowy piec do wypalania węgla drzewnego" +msgid "paf!" +msgstr "paf!" -#. ~ Description for arc furnace -#. ~ Description for filled arc furnace #: lang/json/furniture_from_json.py -msgid "" -"An arc furnace designed to burn a powdery mix of coke and limestone to " -"create calcium carbide." +msgid "cardboard fort" msgstr "" +#. ~ Description for cardboard fort #: lang/json/furniture_from_json.py -msgid "filled arc furnace" +msgid "" +"A fort built by tipping a cardboard box on its side, lining it with " +"blankets, and partly weather sealing it with a plastic sheet." msgstr "" #: lang/json/furniture_from_json.py -msgid "smoking rack" -msgstr "ruszt wędzarniczy" +msgid "cardboard wall" +msgstr "" -#. ~ Description for smoking rack -#. ~ Description for metal smoking rack -#. ~ Description for active metal smoking rack +#. ~ Description for cardboard wall #: lang/json/furniture_from_json.py msgid "" -"A special rack designed to smoke food for better preservation and taste." +"This is a pile of cardboard boxes that have been filled with rags and junk " +"and stacked together like bricks to form a wall." msgstr "" -"Specjalny stelaż opracowany do wędzenia żywności dla lepszej trwałości i " -"smaku." #: lang/json/furniture_from_json.py -msgid "active smoking rack" -msgstr "aktywny ruszt wędzarniczy" +msgid "beaded curtain" +msgstr "kurtyna z koralików" -#. ~ Description for active smoking rack +#. ~ Description for beaded curtain #: lang/json/furniture_from_json.py -msgid "" -"A special rack designed to smoke food for better preservation and taste. It" -" is lit and smoking." +msgid "This beaded curtain could be pulled aside." msgstr "" -"Specjalny stelaż opracowany do wędzenia żywności dla lepszej trwałości i " -"smaku. Jest rozpalony i dymi." #: lang/json/furniture_from_json.py -msgid "active metal smoking rack" +msgid "clickity clack… clack… clack" msgstr "" #: lang/json/furniture_from_json.py -msgid "rock forge" -msgstr "kamienna kuźnia" - -#. ~ Description for rock forge -#: lang/json/furniture_from_json.py -msgid "" -"Metalworking station made of rock, typically used in combination with an " -"anvil." +msgid "clickity clack… clack" msgstr "" -"Stacja metalurgiczna zrobiona z kamieni, zwykle używana w połączeniu z " -"kowadłem." #: lang/json/furniture_from_json.py -msgid "clay kiln" -msgstr "gliniany piec" - -#. ~ Description for clay kiln -#: lang/json/furniture_from_json.py -msgid "A kiln designed to bake clay pottery and bricks." -msgstr "Piec opracowany do wypalania ceramiki i cegieł." - -#. ~ Description for stepladder -#: lang/json/furniture_from_json.py -msgid "" -"A short, foldable ladder. Can help you climb to a rooftop, or maybe slow " -"something down." -msgstr "" +msgid "open beaded curtain" +msgstr "otwórz kurtynę z koralików" +#. ~ Description for open beaded curtain #: lang/json/furniture_from_json.py -msgid "electric arc furnace" +msgid "This beaded curtain has been pulled aside." msgstr "" -#. ~ Description for electric arc furnace #: lang/json/furniture_from_json.py -msgid "" -"Not the kind of furnace you'd heat your house with, this is a device for " -"heating things to extreme temperatures as part of industrial fabrication " -"processes." +msgid "clickity clack… clack… clack!" msgstr "" #: lang/json/furniture_from_json.py -msgid "drill press" -msgstr "" +msgid "canvas floor" +msgstr "płócienna podłoga" -#. ~ Description for drill press +#. ~ Description for canvas floor #: lang/json/furniture_from_json.py msgid "" -"A powerful drill mounted on a slide that lets it drop precisely down. " -"Useful in all kinds of projects from industrial fabrication to home " -"woodworking." +"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " +"of the tent." msgstr "" #: lang/json/furniture_from_json.py -msgid "tablesaw" -msgstr "" +msgid "canvas wall" +msgstr "płócienna ściana" -#. ~ Description for tablesaw +#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "" -"A rotating saw blade set into a large flat table, for making straight " -"measured cuts. One of the key tools in a carpenter's arsenal." +msgid "A wall made of stretched, waterproof cloth." msgstr "" -#: lang/json/furniture_from_json.py -msgid "mitre saw" -msgstr "" +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "slap!" +msgstr "slap!" -#. ~ Description for mitre saw +#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "" -"A circular saw blade on an arm that can slide and rotate in several " -"directions, this is a staple tool for nearly any carpentry." +msgid "A wall made of stretched, heavy-duty, waterproof cloth." msgstr "" #: lang/json/furniture_from_json.py -msgid "bandsaw" -msgstr "" +msgid "canvas flap" +msgstr "płócienna klapa" -#. ~ Description for bandsaw +#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "" -"A ribbonlike sawblade runs in a single direction in this tool, allowing " -"precise cuts at almost any angle." +msgid "This canvas flap door could be pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "router table" -msgstr "" +msgid "open canvas flap" +msgstr "otwarta płócienna klapa" -#. ~ Description for router table +#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "" -"This table has an inset router, a rotating motor with an exchangeable blade " -"head for cutting specific profiles and grooves and stuff." +msgid "This canvas flap door has been pulled aside." msgstr "" +#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "planer" +msgid "This heavy canvas flap door could be pulled aside." msgstr "" -#. ~ Description for planer +#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "" -"A hefty tool that will take in a board and cut it smooth and flat to a " -"specific width. Particularly great if working with raw lumber stock, but " -"also good just for shaving wood down to size." +msgid "This heavy canvas flap door has been pulled aside." msgstr "" #: lang/json/furniture_from_json.py -msgid "jointer" -msgstr "" +msgid "groundsheet" +msgstr "mata" -#. ~ Description for jointer +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "" -"A table-shaped tool with a rotating blade that will cut down, smooth out, " -"and square off a board to make it very smooth and nice indeed." +msgid "This plastic groundsheet could keep you dry." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "hydraulic press" -msgstr "prasa hydrauliczna" - -#. ~ Description for hydraulic press +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "" -"If you really want to squash something a lot, this would be exactly the " -"right industrial tool for you. If, you know, it had power." +msgid "This large plastic groundsheet could keep you dry." msgstr "" -"Jeśli naprawdę chcesz coś zgnieść, byłoby to właściwe narzędzie przemysłowe " -"dla Ciebie. Jeśli, wiesz, byłoby naładowane." -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "power lathe" -msgstr "tokarka mocy" - -#. ~ Description for power lathe +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py msgid "" -"An industrial-grade lathe, for turning chunks of metal and other hard things" -" into round chunks of metal and other hard things." +"This plastic government-issue groundsheet could keep you dry, but was made " +"by the lowest bidder." msgstr "" #: lang/json/furniture_from_json.py -msgid "air compressor" -msgstr "kompresor powietrza" +msgid "animalskin wall" +msgstr "ściana ze skór zwierzęcych" -#. ~ Description for air compressor +#. ~ Description for animalskin wall #: lang/json/furniture_from_json.py -msgid "" -"This durable tank is topped with a motor that will cram as much air into the" -" tank as possible." +msgid "Wall made out of animal skin. Either an amazing or horrifying sight." msgstr "" -"Ten trwały zbiornik zwieńczony jest silnikiem, który upycha do zbiornika " -"tyle powietrza, ile to możliwe." +"Ściana zrobiona ze skór zwierzęcych. Widok albo niezwykły albo straszny." #: lang/json/furniture_from_json.py -msgid "fermenting vat" -msgstr "kadź fermentacyjna" +msgid "animalskin flap" +msgstr "klapa ze skór zwierzęcych" -#. ~ Description for fermenting vat -#. ~ Description for filled fermenting vat +#. ~ Description for animalskin flap #: lang/json/furniture_from_json.py -msgid "A sealable vat for fermenting vinegar and various alcoholic brews." +msgid "This animal skin flap could be pulled aside." msgstr "" -"Uszczelniana kadź do fermentacji octu i warzenia napojów alkoholowych." #: lang/json/furniture_from_json.py -msgid "filled fermenting vat" -msgstr "pełna kadź fermentacyjna" +msgid "open animalskin flap" +msgstr "otwarta klapa ze skór zwierzęcych" +#. ~ Description for open animalskin flap #: lang/json/furniture_from_json.py -msgid "butchering rack" -msgstr "wieszak rzeźniczy" +msgid "This animal skin flap has been pulled aside." +msgstr "" -#. ~ Description for butchering rack #: lang/json/furniture_from_json.py -msgid "Butchering rack designed to hang a carcass in the air." -msgstr "Wieszak rzeźniczy opracowany do wieszania tuszy w powietrzu." +msgid "animalskin floor" +msgstr "podłoga ze skór zwierzęcych" -#. ~ Description for metal butchering rack +#. ~ Description for animalskin floor #: lang/json/furniture_from_json.py -msgid "" -"Metal butchering rack designed to hang a carcass in the air. It can be " -"deconstructed and folded for easy transportation." +msgid "This animal skin groundsheet could keep you dry." msgstr "" -"Metalowy wieszak rzeźniczy przeznaczony do wieszania tuszy w powietrzu. " -"Można go rozłożyć i poskładać do transportu." #: lang/json/furniture_from_json.py msgid "pile of rubble" @@ -101672,11 +106363,8 @@ msgstr "stos śmieci" #. ~ Description for pile of trashy rubble #: lang/json/furniture_from_json.py msgid "" -"Trash topped with dirt and grass, it smells gross, but another man's " -"trash..." +"Trash topped with dirt and grass, it smells gross, but another man's trash…" msgstr "" -"Śmieci zasypane ziemią i porośnięte trawą, które okropnie cuchną. Ale dla " -"jednego śmieć, dla drugiego..." #: lang/json/furniture_from_json.py msgid "metal wreckage" @@ -101697,469 +106385,331 @@ msgid "Some ash, from wood or possibly bodies." msgstr "Nieco popiołu, z drewna lub być może ciał." #: lang/json/furniture_from_json.py -msgid "bulletin board" -msgstr "słup ogłoszeniowy" +msgid "small boulder" +msgstr "mały głaz" -#. ~ Description for bulletin board +#. ~ Description for small boulder #: lang/json/furniture_from_json.py msgid "" -"A big, cork bulletin board capable of sporting various notices. Pin some " -"notes for other survivors to read." +"Blocking your path. Should be easy to move. It can be used as a primitive " +"anvil." msgstr "" +"Blokuje przejście. Powinno być łatwe do przeniesienia. Może być użyte jako " +"prymitywne kowadło." #: lang/json/furniture_from_json.py -msgid "sign" -msgstr "znak" - -#. ~ Description for sign -#: lang/json/furniture_from_json.py -msgid "Read it. Warnings ahead." -msgstr "Przeczytaj to. Ostrzeżenia przed tobą." - -#: lang/json/furniture_from_json.py -msgid "warning sign" -msgstr "znak ostrzegawczy" +msgid "medium boulder" +msgstr "średni głaz" -#. ~ Description for warning sign +#. ~ Description for medium boulder #: lang/json/furniture_from_json.py msgid "" -"A triangle-shaped sign on a post meant to indicate something important or " -"hazard." -msgstr "Trójkątny znak na słupku, który ostrzega lub wskazuje coś ważnego." - -#: lang/json/furniture_from_json.py -msgid "standing mirror" -msgstr "stojące lustro" - -#. ~ Description for standing mirror -#: lang/json/furniture_from_json.py -msgid "Lookin' good - is that blood?" +"Blocking your path. It'll be a struggle to move. It can be used as a " +"primitive anvil." msgstr "" +"Blokuje przejście. Będzie niełatwe do przeniesienia. Może być użyte jako " +"prymitywne kowadło." #: lang/json/furniture_from_json.py -msgid "glass breaking" -msgstr "tłuczonego szkła" - -#: lang/json/furniture_from_json.py -msgid "broken standing mirror" -msgstr "stłuczone stojące lustro" +msgid "large boulder" +msgstr "duży głaz" -#. ~ Description for broken standing mirror +#. ~ Description for large boulder #: lang/json/furniture_from_json.py -msgid "" -"You could look at yourself, if the mirror wasn't covered in cracks and " -"fractures." -msgstr "" -"Mógłbyś się sobie przyjrzeć gdyby lustra nie pokrywała sieć pęknięć i " -"szczerb. " +msgid "Now how are you going to move this?" +msgstr "No i jak zamierzasz to przenieść?" #: lang/json/furniture_from_json.py -msgid "vending machine" -msgstr "automat z towarami" +msgid "forge" +msgstr "kuźnia" -#. ~ Description for vending machine +#. ~ Description for forge #: lang/json/furniture_from_json.py -msgid "Buy stuff with a cash card." -msgstr "Kupuj rzeczy, płać kartą płatniczą." +msgid "Metalworking station typically used in combination with an anvil." +msgstr "Stacja metalurgiczna zwykle używana w połączeniu z kowadłem." +#. ~ Description for anvil #: lang/json/furniture_from_json.py -msgid "broken vending machine" -msgstr "rozbity automat z towarami" +msgid "Used in metalworking." +msgstr "Używany w metalurgii." -#. ~ Description for broken vending machine +#. ~ Description for still #: lang/json/furniture_from_json.py msgid "" -"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " -"you wouldn't need to pay at all!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "dumpster" -msgstr "pojemnik na śmieci" - -#. ~ Description for dumpster -#: lang/json/furniture_from_json.py -msgid "Stores trash. Doesn't get picked up anymore. Note the smell." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "canvas wall" -msgstr "płócienna ściana" - -#. ~ Description for canvas wall -#: lang/json/furniture_from_json.py -msgid "A wall made of stretched, waterproof cloth." +"An essential component for brewing and chemistry that allows for refining " +"liquid mixtures." msgstr "" +"Niezbędne oprzyrządowanie do warzenia alkoholi i chemii pozwalające na " +"uzdatnianie płynnych mieszanin." -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "slap!" -msgstr "slap!" - -#. ~ Description for canvas wall +#. ~ Description for charcoal kiln +#. ~ Description for filled charcoal kiln #: lang/json/furniture_from_json.py -msgid "A wall made of stretched, heavy-duty, waterproof cloth." +msgid "" +"A rock kiln designed to burn wood and organic material into charcoal in " +"absence of oxygen." msgstr "" +"Kamienny piec zbudowany do wypalania drewna i materiałów organicznych w " +"węgiel drzewny w atmosferze beztlenowej." #: lang/json/furniture_from_json.py -msgid "canvas flap" -msgstr "płócienna klapa" +msgid "metal charcoal kiln" +msgstr "metalowy piec do wypalania węgla drzewnego" -#. ~ Description for canvas flap +#. ~ Description for metal charcoal kiln +#. ~ Description for filled metal charcoal kiln #: lang/json/furniture_from_json.py -msgid "This canvas flap door could be pulled aside." +msgid "" +"A metal kiln designed to burn wood and organic material into charcoal in " +"absence of oxygen." msgstr "" +"Metalowy piec zbudowany do wypalania drewna i materiałów organicznych w " +"węgiel drzewny w atmosferze beztlenowej." #: lang/json/furniture_from_json.py -msgid "open canvas flap" -msgstr "otwarta płócienna klapa" - -#. ~ Description for open canvas flap -#: lang/json/furniture_from_json.py -msgid "This canvas flap door has been pulled aside." -msgstr "" +msgid "filled metal charcoal kiln" +msgstr "wypełniony metalowy piec do wypalania węgla drzewnego" -#. ~ Description for canvas flap +#. ~ Description for arc furnace +#. ~ Description for filled arc furnace #: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door could be pulled aside." +msgid "" +"An arc furnace designed to burn a powdery mix of coke and limestone to " +"create calcium carbide." msgstr "" -#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door has been pulled aside." +msgid "filled arc furnace" msgstr "" #: lang/json/furniture_from_json.py -msgid "groundsheet" -msgstr "mata" +msgid "smoking rack" +msgstr "ruszt wędzarniczy" -#. ~ Description for groundsheet +#. ~ Description for smoking rack +#. ~ Description for metal smoking rack +#. ~ Description for active metal smoking rack #: lang/json/furniture_from_json.py -msgid "This plastic groundsheet could keep you dry." +msgid "" +"A special rack designed to smoke food for better preservation and taste." msgstr "" +"Specjalny stelaż opracowany do wędzenia żywności dla lepszej trwałości i " +"smaku." -#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "This large plastic groundsheet could keep you dry." -msgstr "" +msgid "active smoking rack" +msgstr "aktywny ruszt wędzarniczy" -#. ~ Description for groundsheet +#. ~ Description for active smoking rack #: lang/json/furniture_from_json.py msgid "" -"This plastic government-issue groundsheet could keep you dry, but was made " -"by the lowest bidder." +"A special rack designed to smoke food for better preservation and taste. It" +" is lit and smoking." msgstr "" +"Specjalny stelaż opracowany do wędzenia żywności dla lepszej trwałości i " +"smaku. Jest rozpalony i dymi." #: lang/json/furniture_from_json.py -msgid "animalskin wall" -msgstr "ściana ze skór zwierzęcych" - -#. ~ Description for animalskin wall -#: lang/json/furniture_from_json.py -msgid "Wall made out of animal skin. Either an amazing or horrifying sight." +msgid "active metal smoking rack" msgstr "" -"Ściana zrobiona ze skór zwierzęcych. Widok albo niezwykły albo straszny." #: lang/json/furniture_from_json.py -msgid "animalskin flap" -msgstr "klapa ze skór zwierzęcych" +msgid "rock forge" +msgstr "kamienna kuźnia" -#. ~ Description for animalskin flap +#. ~ Description for rock forge #: lang/json/furniture_from_json.py -msgid "This animal skin flap could be pulled aside." +msgid "" +"Metalworking station made of rock, typically used in combination with an " +"anvil." msgstr "" +"Stacja metalurgiczna zrobiona z kamieni, zwykle używana w połączeniu z " +"kowadłem." #: lang/json/furniture_from_json.py -msgid "open animalskin flap" -msgstr "otwarta klapa ze skór zwierzęcych" - -#. ~ Description for open animalskin flap -#: lang/json/furniture_from_json.py -msgid "This animal skin flap has been pulled aside." -msgstr "" +msgid "clay kiln" +msgstr "gliniany piec" +#. ~ Description for clay kiln #: lang/json/furniture_from_json.py -msgid "animalskin floor" -msgstr "podłoga ze skór zwierzęcych" +msgid "A kiln designed to bake clay pottery and bricks." +msgstr "Piec opracowany do wypalania ceramiki i cegieł." -#. ~ Description for animalskin floor +#. ~ Description for stepladder #: lang/json/furniture_from_json.py -msgid "This animal skin groundsheet could keep you dry." +msgid "" +"A short, foldable ladder. Can help you climb to a rooftop, or maybe slow " +"something down." msgstr "" #: lang/json/furniture_from_json.py -msgid "statue" -msgstr "posąg" - -#. ~ Description for statue -#: lang/json/furniture_from_json.py -msgid "A carved statue made of stone." +msgid "electric arc furnace" msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "thump." -msgstr "thump." - -#: lang/json/furniture_from_json.py -msgid "mannequin" -msgstr "manekin" - -#. ~ Description for mannequin +#. ~ Description for electric arc furnace #: lang/json/furniture_from_json.py msgid "" -"Put clothes on it, talk to it. Who's around to judge you? Wait... did it " -"just move?" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "birdbath" -msgstr "ptasi brodzik" - -#. ~ Description for birdbath -#: lang/json/furniture_from_json.py -msgid "A decorative cement birdbath and pedestal." -msgstr "Dekoracyjny ptasi brodzik na piedestale." - -#: lang/json/furniture_from_json.py -msgid "rotary clothes dryer line" +"Not the kind of furnace you'd heat your house with, this is a device for " +"heating things to extreme temperatures as part of industrial fabrication " +"processes." msgstr "" -#. ~ Description for rotary clothes dryer line #: lang/json/furniture_from_json.py -msgid "A umbrella shaped clothes line mounted on a pole." +msgid "drill press" msgstr "" +#. ~ Description for drill press #: lang/json/furniture_from_json.py -msgid "mounted solar panel" +msgid "" +"A powerful drill mounted on a slide that lets it drop precisely down. " +"Useful in all kinds of projects from industrial fabrication to home " +"woodworking." msgstr "" -#. ~ Description for mounted solar panel #: lang/json/furniture_from_json.py -msgid "A mounted solar panel." +msgid "tablesaw" msgstr "" -#: lang/json/furniture_from_json.py -msgid "spider egg sack" -msgstr "torba pajęczych jaj" - -#. ~ Description for spider egg sack +#. ~ Description for tablesaw #: lang/json/furniture_from_json.py msgid "" -"Much too large, off-white egg sack. Kind of icky. Something IS moving in " -"there." +"A rotating saw blade set into a large flat table, for making straight " +"measured cuts. One of the key tools in a carpenter's arsenal." msgstr "" -#. ~ Description for spider egg sack #: lang/json/furniture_from_json.py -msgid "" -"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " -"in there." +msgid "mitre saw" msgstr "" -#. ~ Description for spider egg sack +#. ~ Description for mitre saw #: lang/json/furniture_from_json.py msgid "" -"A horrifyingly oversized egg sack. Something IS moving in there. If you're" -" seeing this, you're already too close to it." +"A circular saw blade on an arm that can slide and rotate in several " +"directions, this is a staple tool for nearly any carpentry." msgstr "" #: lang/json/furniture_from_json.py -msgid "ruptured egg sack" -msgstr "rozerwana torba pajęczych jaj" - -#. ~ Description for ruptured egg sack -#: lang/json/furniture_from_json.py -msgid "Super icky. Spider stuff's spilling out." +msgid "bandsaw" msgstr "" -#: lang/json/furniture_from_json.py -msgid "reinforced vending machine" -msgstr "wzmocniony automat z towarami" - -#. ~ Description for reinforced vending machine +#. ~ Description for bandsaw #: lang/json/furniture_from_json.py msgid "" -"A bit tougher to crack open than regular vending machines. That just makes " -"it all the sweeter a target, doesn't it?" +"A ribbonlike sawblade runs in a single direction in this tool, allowing " +"precise cuts at almost any angle." msgstr "" #: lang/json/furniture_from_json.py -msgid "display case" -msgstr "gablotka" - -#. ~ Description for display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff fancily and securely." +msgid "router table" msgstr "" +#. ~ Description for router table #: lang/json/furniture_from_json.py -msgid "broken display case" -msgstr "rozbita gablotka" - -#. ~ Description for broken display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff. It'll get stolen." -msgstr "Zaprezentuj swoje przedmioty. Zostaną ukradzione." - -#: lang/json/furniture_from_json.py -msgid "standing tank" -msgstr "pionowy zbiornik" - -#. ~ Description for standing tank -#: lang/json/furniture_from_json.py -msgid "A large freestanding metal tank, useful for holding liquids." +msgid "" +"This table has an inset router, a rotating motor with an exchangeable blade " +"head for cutting specific profiles and grooves and stuff." msgstr "" -"Duży wolno stojący metalowy zbiornik, użyteczny do przechowywania cieczy." #: lang/json/furniture_from_json.py -msgid "canvas floor" -msgstr "płócienna podłoga" +msgid "planer" +msgstr "" -#. ~ Description for canvas floor +#. ~ Description for planer #: lang/json/furniture_from_json.py msgid "" -"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " -"of the tent." +"A hefty tool that will take in a board and cut it smooth and flat to a " +"specific width. Particularly great if working with raw lumber stock, but " +"also good just for shaving wood down to size." msgstr "" #: lang/json/furniture_from_json.py -msgid "robotic arm" -msgstr "robotyczne ramię" +msgid "jointer" +msgstr "" -#. ~ Description for robotic arm +#. ~ Description for jointer #: lang/json/furniture_from_json.py msgid "" -"Automation! Science! Industry! Make a better horse! This robot arm " -"promises to do it all. Except it's currently unpowered. You could remove " -"the casing and retrieve the electronics through disassembly." +"A table-shaped tool with a rotating blade that will cut down, smooth out, " +"and square off a board to make it very smooth and nice indeed." msgstr "" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "thunk." -msgstr "thunk." - -#: lang/json/furniture_from_json.py -msgid "automated gas console" -msgstr "zautomatyzowana konsola gazowa" - -#. ~ Description for automated gas console -#: lang/json/furniture_from_json.py -msgid "Automated gas flow control console." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "broken automated gas console" -msgstr "zniszczona zautomatyzowana konsola gazowa" +msgid "hydraulic press" +msgstr "prasa hydrauliczna" -#. ~ Description for broken automated gas console +#. ~ Description for hydraulic press #: lang/json/furniture_from_json.py msgid "" -"Automated gas flow control console. Broken. This is not a good thing." +"If you really want to squash something a lot, this would be exactly the " +"right industrial tool for you. If, you know, it had power." msgstr "" +"Jeśli naprawdę chcesz coś zgnieść, byłoby to właściwe narzędzie przemysłowe " +"dla Ciebie. Jeśli, wiesz, byłoby naładowane." -#: lang/json/furniture_from_json.py -msgid "small boulder" -msgstr "mały głaz" +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "power lathe" +msgstr "tokarka mocy" -#. ~ Description for small boulder +#. ~ Description for power lathe #: lang/json/furniture_from_json.py msgid "" -"Blocking your path. Should be easy to move. It can be used as a primitive " -"anvil." +"An industrial-grade lathe, for turning chunks of metal and other hard things" +" into round chunks of metal and other hard things." msgstr "" -"Blokuje przejście. Powinno być łatwe do przeniesienia. Może być użyte jako " -"prymitywne kowadło." #: lang/json/furniture_from_json.py -msgid "medium boulder" -msgstr "średni głaz" +msgid "air compressor" +msgstr "kompresor powietrza" -#. ~ Description for medium boulder +#. ~ Description for air compressor #: lang/json/furniture_from_json.py msgid "" -"Blocking your path. It'll be a struggle to move. It can be used as a " -"primitive anvil." +"This durable tank is topped with a motor that will cram as much air into the" +" tank as possible." msgstr "" -"Blokuje przejście. Będzie niełatwe do przeniesienia. Może być użyte jako " -"prymitywne kowadło." +"Ten trwały zbiornik zwieńczony jest silnikiem, który upycha do zbiornika " +"tyle powietrza, ile to możliwe." #: lang/json/furniture_from_json.py -msgid "large boulder" -msgstr "duży głaz" +msgid "fermenting vat" +msgstr "kadź fermentacyjna" -#. ~ Description for large boulder +#. ~ Description for fermenting vat +#. ~ Description for filled fermenting vat #: lang/json/furniture_from_json.py -msgid "Now how are you going to move this?" -msgstr "No i jak zamierzasz to przenieść?" +msgid "A sealable vat for fermenting vinegar and various alcoholic brews." +msgstr "" +"Uszczelniana kadź do fermentacji octu i warzenia napojów alkoholowych." #: lang/json/furniture_from_json.py -msgid "stone slab" -msgstr "kamienna płyta" +msgid "filled fermenting vat" +msgstr "pełna kadź fermentacyjna" -#. ~ Description for stone slab #: lang/json/furniture_from_json.py -msgid "A flat slab of heavy stone." -msgstr "" +msgid "butchering rack" +msgstr "wieszak rzeźniczy" +#. ~ Description for butchering rack #: lang/json/furniture_from_json.py -msgid "manacles" -msgstr "kajdany" +msgid "Butchering rack designed to hang a carcass in the air." +msgstr "Wieszak rzeźniczy opracowany do wieszania tuszy w powietrzu." -#. ~ Description for manacles +#. ~ Description for metal butchering rack #: lang/json/furniture_from_json.py msgid "" -"Chain serfs in your dungeon. All you need now is an iron ball to chain to " -"it." +"Metal butchering rack designed to hang a carcass in the air. It can be " +"deconstructed and folded for easy transportation." msgstr "" +"Metalowy wieszak rzeźniczy przeznaczony do wieszania tuszy w powietrzu. " +"Można go rozłożyć i poskładać do transportu." -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "crack." -msgstr "krak." - -#: lang/json/furniture_from_json.py -msgid "headstone" -msgstr "nagrobek" - -#. ~ Description for headstone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies." -msgstr "Przechowuje ciała." - -#: lang/json/furniture_from_json.py -msgid "gravestone" -msgstr "płyta nagrobna" - -#. ~ Description for gravestone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies. More fancy." -msgstr "Przechowuje ciała. Bardziej wytworne." - -#: lang/json/furniture_from_json.py -msgid "worn gravestone" -msgstr "zniszczona płyta nagrobna" - -#. ~ Description for worn gravestone -#: lang/json/furniture_from_json.py -msgid "A worn-out gravestone." -msgstr "Zatarty nagrobek." - -#: lang/json/furniture_from_json.py -msgid "obelisk" -msgstr "obelisk" - -#. ~ Description for obelisk #: lang/json/furniture_from_json.py -msgid "Monument to pride." +msgid "hanging meathook" msgstr "" +#. ~ Description for hanging meathook #: lang/json/furniture_from_json.py -msgid "thunk!" -msgstr "thunk!" - -#. ~ Description for camp chair -#: lang/json/furniture_from_json.py -msgid "Sit down, have a drink. It can folded for easy transportation." +msgid "A hefty hook suspended from a chain for stringing up corpses." msgstr "" #. ~ Description for wind mill @@ -102197,256 +106747,53 @@ msgid "" msgstr "" #: lang/json/furniture_from_json.py -msgid "pillow fort" -msgstr "poduszkowy fort" - -#. ~ Description for pillow fort -#: lang/json/furniture_from_json.py -msgid "A comfy place to hide from the world. Not very defensible, though." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "paf!" -msgstr "paf!" - -#: lang/json/furniture_from_json.py -msgid "cardboard fort" -msgstr "" - -#. ~ Description for cardboard fort -#: lang/json/furniture_from_json.py -msgid "" -"A fort built by tipping a cardboard box on its side, lining it with " -"blankets, and partly weather sealing it with a plastic sheet." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "crumple!" -msgstr "" - -#: lang/json/furniture_from_json.py src/ballistics.cpp -msgid "thud." -msgstr "łup." - -#: lang/json/furniture_from_json.py -msgid "cardboard wall" -msgstr "" - -#. ~ Description for cardboard wall -#: lang/json/furniture_from_json.py -msgid "" -"This is a pile of cardboard boxes that have been filled with rags and junk " -"and stacked together like bricks to form a wall." -msgstr "" - -#. ~ Description for large cardboard box -#: lang/json/furniture_from_json.py -msgid "" -"A large cardboard box: this could be used to store things, or as a hiding " -"place." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "beaded curtain" -msgstr "kurtyna z koralików" - -#. ~ Description for beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain could be pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack" -msgstr "klekocący klak...klak...klak" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack" -msgstr "klekocący klak...klak" - -#: lang/json/furniture_from_json.py -msgid "open beaded curtain" -msgstr "otwórz kurtynę z koralików" - -#. ~ Description for open beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain has been pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack!" -msgstr "klekocący klaps... klak ... klak!" - -#: lang/json/furniture_from_json.py -msgid "filing cabinet" -msgstr "szafka aktowa" - -#. ~ Description for filing cabinet -#: lang/json/furniture_from_json.py -msgid "" -"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " -"locked to protect important information. If you're lucky, there are often " -"keys nearby." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "wardrobe" -msgstr "szafa" - -#. ~ Description for wardrobe -#: lang/json/furniture_from_json.py -msgid "A tall piece of furniture - basically a freestanding closet." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "robotic assembler" -msgstr "robotyczny monter" - -#. ~ Description for robotic assembler -#: lang/json/furniture_from_json.py -msgid "" -"A durable and versatile robotic arm with a tool fitted to the end, for " -"working on an assembly line." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "chemical mixer" -msgstr "mieszalnik chemiczny" - -#. ~ Description for chemical mixer -#: lang/json/furniture_from_json.py -msgid "" -"When chemicals need to be mixed in large quantities at just the right " -"combinations and temperatures, this is the tool for the job." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "floor lamp" -msgstr "" - -#. ~ Description for floor lamp -#: lang/json/furniture_from_json.py -msgid "A tall standing lamp, meant to plug into a wall and light up a room." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "bonk!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "document shredder" -msgstr "niszczarka dokumentów" - -#. ~ Description for document shredder -#: lang/json/furniture_from_json.py -msgid "" -"It's not all about hiding government secrets, sometimes you just want to " -"stop identity theft." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "server stack" -msgstr "" - -#. ~ Description for server stack -#: lang/json/furniture_from_json.py -msgid "This is a big pile of computers. They're all turned off." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "large satellite dish" -msgstr "duży dysk satelitarny" - -#. ~ Description for large satellite dish -#: lang/json/furniture_from_json.py -msgid "" -"Somewhere up there, there are still satellites, orbiting and doing their " -"thing, sending signals down to an Earth that is no longer listening." -msgstr "" -"Gdzieś tam są jeszcze satelity, orbitujące i robiące swoje, wysyłające " -"sygnały do Ziemi, która już nie słucha." - -#: lang/json/furniture_from_json.py -msgid "hanging meathook" -msgstr "" - -#. ~ Description for hanging meathook -#: lang/json/furniture_from_json.py -msgid "A hefty hook suspended from a chain for stringing up corpses." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "fake workbench hands" -msgstr "" - -#. ~ Description for fake workbench hands -#: lang/json/furniture_from_json.py -msgid "This fake workbench holds the stats for working on a wielded item." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "ground crafting spot" -msgstr "" +msgid "automated gas console" +msgstr "zautomatyzowana konsola gazowa" -#. ~ Description for ground crafting spot +#. ~ Description for automated gas console #: lang/json/furniture_from_json.py -msgid "" -"A cleared spot on the ground for crafting. Slower than using a workbench or" -" holding a project in your hands, but readily available." +msgid "Automated gas flow control console." msgstr "" #: lang/json/furniture_from_json.py -msgid "tatami mat" -msgstr "mata tatami" +msgid "broken automated gas console" +msgstr "zniszczona zautomatyzowana konsola gazowa" -#. ~ Description for tatami mat +#. ~ Description for broken automated gas console #: lang/json/furniture_from_json.py msgid "" -"A tatami is a type of mat used as a flooring material in traditional " -"Japanese-style rooms." +"Automated gas flow control console. Broken. This is not a good thing." msgstr "" #: lang/json/furniture_from_json.py -msgid "bitts" -msgstr "" +msgid "reinforced vending machine" +msgstr "wzmocniony automat z towarami" -#. ~ Description for bitts +#. ~ Description for reinforced vending machine #: lang/json/furniture_from_json.py msgid "" -"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " -"to secure mooring lines, ropes, hawsers, or cables." +"A bit tougher to crack open than regular vending machines. That just makes " +"it all the sweeter a target, doesn't it?" msgstr "" #: lang/json/furniture_from_json.py -msgid "speaker cabinet" -msgstr "" +msgid "vending machine" +msgstr "automat z towarami" -#. ~ Description for speaker cabinet +#. ~ Description for vending machine #: lang/json/furniture_from_json.py -msgid "" -"A cabinet loaded with 12-inch speakers, intended to help make various things" -" loud. It can't serve its original purpose these days, but it could be " -"disassembled for various electronic parts." -msgstr "" +msgid "Buy stuff with a cash card." +msgstr "Kupuj rzeczy, płać kartą płatniczą." -#. ~ Description for seeing this is a bug #: lang/json/furniture_from_json.py -msgid "Seeing this is a bug. If seen, please report and destroy." -msgstr "" +msgid "broken vending machine" +msgstr "rozbity automat z towarami" -#. ~ Description for swamp gas +#. ~ Description for broken vending machine #: lang/json/furniture_from_json.py msgid "" -"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " -"toxic gas." -msgstr "" - -#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp -msgid "splash!" -msgstr "plask!" - -#. ~ Description for fog -#: lang/json/furniture_from_json.py -msgid "This is a misty cloud of fog." +"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " +"you wouldn't need to pay at all!" msgstr "" #. ~ Description for vehicle refrigerator @@ -102547,6 +106894,15 @@ msgid "" "blood, candles, and other small knick-knacks." msgstr "" +#: lang/json/furniture_from_json.py +msgid "large glowing boulder" +msgstr "" + +#. ~ Description for large glowing boulder +#: lang/json/furniture_from_json.py +msgid "Something about this doesn't look right." +msgstr "" + #: lang/json/furniture_from_json.py msgid "krash!" msgstr "krash!" @@ -102576,8 +106932,8 @@ msgstr "Brama jest otwarta!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You turn the handle..." -msgstr "Przekręcasz klamkę..." +msgid "You turn the handle…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -102596,8 +106952,8 @@ msgstr "Drzwi stodoły otwarte!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You pull the rope..." -msgstr "Ciągniesz za linę..." +msgid "You pull the rope…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -102631,8 +106987,8 @@ msgstr "Drzwi unoszą się!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You throw the lever..." -msgstr "Popychasz dźwignię..." +msgid "You throw the lever…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -102757,7 +107113,7 @@ msgid "Fake gun that fires acid globs." msgstr "Fałszywa spluwa strzelająca globulkami kwasu." #: lang/json/gun_from_json.py lang/json/gunmod_from_json.py -#: src/item_factory.cpp src/turret.cpp +#: src/item_factory.cpp msgid "auto" msgstr "automatyczny" @@ -102837,11 +107193,8 @@ msgstr[3] "łuk prosty" msgid "" "A primitive bow fashioned from a single piece of wood, made specifically for" " the person using it. Weak and wildly inaccurate, it doesn't work that " -"well, unfortunately..." +"well, unfortunately…" msgstr "" -"Prymitywny łuk wycięty z pojedynczego kawałka drewna, opracowany pod wymiary" -" osoby, która będzie go używać. Słaby i okropnie niecelny, i niezbyt " -"funkcjonalny, niestety..." #: lang/json/gun_from_json.py msgid "short bow" @@ -103084,9 +107437,7 @@ msgstr "" " Bełty z niej wystrzelone mają dobrą szansę pozostanie w jednym kawałku i " "mogą być ponownie użyte." -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "pistol" msgstr "pistolet" @@ -103425,10 +107776,10 @@ msgstr[3] "" #: lang/json/gun_from_json.py msgid "" "Portable Plasma Accelerator Model Five, developed by Lockheed Martin " -"Corporation. This device uses highly advanced capacitor banks to create a " -"torus of superheated hydrogen plasma and accelerate it to incredible speed. " -"It was designed to take down heavy vehicles, and was expected to fully enter" -" US Army service not long before the Cataclysm." +"Corporation. This device uses highly advanced capacitor banks to create a " +"torus of superheated hydrogen plasma and accelerate it to incredible speed." +" It was designed to take down heavy vehicles, and was expected to fully " +"enter US Army service not long before the Cataclysm." msgstr "" #: lang/json/gun_from_json.py @@ -103449,8 +107800,7 @@ msgstr "" "pozostałymi dwiema na naboje do strzelby. Jest zrobiona z rur i części " "skanibalizowanych z dwururki." -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py msgctxt "gun_type_type" msgid "shotgun" msgstr "strzelba" @@ -104043,8 +108393,8 @@ msgstr[3] "" #: lang/json/gun_from_json.py msgid "" -"The Walther P22 is a blowback operated semi-automatic pistol. It is about " -"half the size of most Walthers. It is made mostly with plastic, with the " +"The Walther P22 is a blowback operated semi-automatic pistol. It is about " +"half the size of most Walthers. It is made mostly with plastic, with the " "slide and key components being made of die-cast zinc alloy" msgstr "" @@ -104863,15 +109213,10 @@ msgstr[3] "M24" msgid "" "The M24 Sniper is the military and police version of the Remington Model 700" " rifle, M24 being the model name assigned by the United States Army after " -"adoption as their standard sniper rifle in 1988. The M24 is referred to as a" -" 'weapon system' because it consists of not only a rifle, but also a " +"adoption as their standard sniper rifle in 1988. The M24 is referred to as " +"a 'weapon system' because it consists of not only a rifle, but also a " "detachable telescopic sight and other accessories." msgstr "" -"Karabin wyborowy M24 jest wojskową i policyjną wersją karabinu Remington " -"model 700. M24 jest modelem nadanym przez armię Stanów Zjednoczonych po " -"wdrożeniu jej jako standardowy karabin wyborowy w roku 1988. M24 jest " -"nazwany \"systemem broni\" ponieważ zawiera nie tylko karabin, ale także " -"wymienny celownik optyczny i inne akcesoria." #: lang/json/gun_from_json.py msgid "HK417 A2" @@ -104976,7 +109321,7 @@ msgstr[3] "" #: lang/json/gun_from_json.py msgid "" "One of Kel-tec's oldest designs, the P32 is a popular option for deep " -"concealment and backup usage. Despite its extreme light weight and small " +"concealment and backup usage. Despite its extreme light weight and small " "size, its .32 ACP chambering makes for good handling and recoil control." msgstr "" @@ -105061,21 +109406,19 @@ msgstr "" "rozleci." #: lang/json/gun_from_json.py -msgid "COP .38" -msgid_plural "COP .38" -msgstr[0] "COP .38" -msgstr[1] "COP .38" -msgstr[2] "COP .38" -msgstr[3] "COP .38" +msgid "COP .357 Derringer" +msgid_plural "COP .357 Derringers" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: lang/json/gun_from_json.py msgid "" -"The COP .38 is a small, chubby derringer pistol that bears a slight " -"resemblance to the Mossberg Brownie. It has four barrels arranged in a " -"square formation." +"A small, chubby derringer pistol bearing a slight resemblance to the " +"Mossberg Brownie. It uses a rotating firing pin to fire the individual " +"hammers of the four barrels arranged in a square formation." msgstr "" -"COP .38 to mały gruby pistolet derringer, lekko podobny do Mossberg Brownie." -" Ma cztery lufy ułożone w kwadrat." #: lang/json/gun_from_json.py msgid "pipe rifle: .38 Special" @@ -105117,22 +109460,6 @@ msgstr "" "Siedmiostrzałowy rewolwer .38 sprzedawany przez Smith & Wesson. Ma stałe " "tylne przyrządy celownicze i wzmocnioną ramę." -#: lang/json/gun_from_json.py -msgid "Taurus Pro .38" -msgid_plural "Taurus Pro .38" -msgstr[0] "Taurus Pro .38" -msgstr[1] "Taurus Pro .38" -msgstr[2] "Taurus Pro .38" -msgstr[3] "Taurus Pro .38" - -#: lang/json/gun_from_json.py -msgid "" -"A popular .38 pistol. Designed with numerous safety features and built from" -" high-quality, durable materials." -msgstr "" -"Popularny pistolet kalibru .38. Opracowany z wieloma bezpiecznikami i " -"zbudowany z wytrzymałych materiałów wysokiej jakości." - #: lang/json/gun_from_json.py msgid "MAC-11" msgid_plural "MAC-11s" @@ -105210,10 +109537,24 @@ msgstr[3] "" msgid "" "The Hi-Point CF-380 is a blowback operated semi automatic pistol designed by" " Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" +#: lang/json/gun_from_json.py +msgid "Taurus Spectrum" +msgid_plural "Taurus Spectrum" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gun_from_json.py +msgid "" +"A .380 subcompact pistol. Designed for concealed carry and built from high-" +"quality, durable materials." +msgstr "" + #: lang/json/gun_from_json.py msgid "M1911A1" msgid_plural "M1911A1s" @@ -105331,9 +109672,9 @@ msgstr[3] "" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in .40 S&W." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in .40 S&W." msgstr "" #: lang/json/gun_from_json.py @@ -105363,8 +109704,9 @@ msgstr[3] "" msgid "" "The Hi-Point Model JCP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" #: lang/json/gun_from_json.py @@ -105836,8 +110178,9 @@ msgstr[3] "" msgid "" "The Hi-Point Model JHP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" #: lang/json/gun_from_json.py @@ -106085,7 +110428,7 @@ msgstr "" "umożliwić strzelanie z ręki. Tryb automatyczny został wyłączony, mechanizm " "zasilania z pasa amunicyjnego zastąpiono komorą na jeden nabój." -#: lang/json/gun_from_json.py src/item_factory.cpp src/turret.cpp +#: lang/json/gun_from_json.py src/item_factory.cpp msgid "manual" msgstr "ręczny" @@ -107093,9 +111436,9 @@ msgstr[3] "" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in 9x19mm Parabellum." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in 9x19mm Parabellum." msgstr "" #: lang/json/gun_from_json.py @@ -107109,8 +111452,8 @@ msgstr[3] "" #: lang/json/gun_from_json.py msgid "" "The Walther P38 is a semi-automatic handgun adopted shortly before the " -"second world war. Developed due to the high production costs of its " -"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " +"second world war. Developed due to the high production costs of its " +"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " "This early DA/SA locked-breech design would introduce features later seen on" " more modern firearms such as the Beretta 92 series, and served Germany " "until 2004." @@ -107128,7 +111471,7 @@ msgstr[3] "" msgid "" "The Walther PPQ is a semi-automatic pistol originating from the Walther " "P99QA, and maintains compatibility with some of its predecessor's " -"accessories. This model is chambered in 9x19mm Parabellum." +"accessories. This model is chambered in 9x19mm Parabellum." msgstr "" #: lang/json/gun_from_json.py @@ -107143,7 +111486,7 @@ msgstr[3] "" msgid "" "The Hi-Point C-9 is a blowback operated semi automatic pistol designed by " "Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" @@ -107158,10 +111501,10 @@ msgstr[3] "" #: lang/json/gun_from_json.py msgid "" "The CZ-75 is a semi-automatic pistol developed in Czechoslovakia, and is one" -" of the original wonder nines. Though designed for export to western " +" of the original wonder nines. Though designed for export to western " "countries, it was declared a state secret; lack of international patent " "protection meant that many clones and variants were produced and distributed" -" around the world, with Česká zbrojovka only joining in the 90's. This " +" around the world, with Česká zbrojovka only joining in the 90's. This " "pistol remains wildly popular among competition shooters." msgstr "" @@ -107176,10 +111519,10 @@ msgstr[3] "" #: lang/json/gun_from_json.py msgid "" "The Walther CCP is a gas-delayed blowback semi-automatic pistol intended for" -" the concealed carry consumer market. Internally, it is nearly identical to " -"the cult classic H&K P7. Its fixed barrel design makes it potentially more " -"accurate than many other pistols, though this may difficult to realize with " -"its average trigger and short sight radius." +" the concealed carry consumer market. Internally, it is nearly identical to" +" the cult classic H&K P7. Its fixed barrel design makes it potentially more" +" accurate than many other pistols, though this may difficult to realize with" +" its average trigger and short sight radius." msgstr "" #: lang/json/gun_from_json.py @@ -109116,10 +113459,70 @@ msgstr[3] "" #: lang/json/gun_from_json.py msgid "" -"A bow made of multiple materials to maximize energy efficiency. There are " +"A bow made of multiple materials to maximize energy efficiency. There are " "two Druid runes embedded at the tips." msgstr "" +#: lang/json/gun_from_json.py +msgid "M47A1 Techno-Medusa" +msgid_plural "M47A1 Techno-Medusae" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gun_from_json.py +msgid "" +"A magically-enhanced update to the Phillips & Rodgers' M47 Medusa, a multi-" +"caliber revolver aimed at survivalists. While Technomancy improves the " +"reliability with smaller cartridges, it is not as accurate as dedicated " +"caliber revolvers due to freebore." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "gunblade" +msgid_plural "gunblades" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gun_from_json.py +msgid "" +"Constructed similarly to a falcata, this forward-sloping blade has a short-" +"barrel pump shotgun attached to the blade's spine for finishing blows or a " +"first strike." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "shotcestus" +msgid_plural "shotcesti" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gun_from_json.py +msgid "" +"A sawn-off double-barrel shotgun mounted on a metal cestus. The lack of a " +"stock to absorb recoil means some strength is required to fire." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "Ichaival" +msgid_plural "Ichaivals" +msgstr[0] "Ichaival" +msgstr[1] "Ichaival" +msgstr[2] "Ichaival" +msgstr[3] "Ichaival" + +#: lang/json/gun_from_json.py +msgid "" +"Ichaival, the bow of Odin. Rumored to fire 10 arrows with every pull of the" +" string. It has gold and silver ornaments on it, as well as an ornate " +"Raven." +msgstr "" + #: lang/json/gun_from_json.py msgid "Woodbow" msgid_plural "Woodbows" @@ -109270,14 +113673,6 @@ msgstr "" "modele, lecz łatwiejsza do naciągnięcia. Strzały z niej wystrzelone mają " "dobrą szansę pozostanie w jednym kawałku i mogą być ponownie użyte." -#: lang/json/gun_from_json.py -msgid "Ichaival" -msgid_plural "Ichaivals" -msgstr[0] "Ichaival" -msgstr[1] "Ichaival" -msgstr[2] "Ichaival" -msgstr[3] "Ichaival" - #: lang/json/gun_from_json.py msgid "" "This is a replica of the bow possessed by Odin, Ichaival, which is rumored " @@ -110636,7 +115031,7 @@ msgstr "" msgid "accessories" msgstr "akcesoria" -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "bow" msgstr "łuk" @@ -110782,7 +115177,7 @@ msgstr[3] "upstest" #: lang/json/gunmod_from_json.py msgid "" "Testmod for UPS drain on mods, this should never spawn, if you see this, " -"it's a bug. 50x more UPS drain." +"it's a bug. 50x more UPS drain." msgstr "" #: lang/json/gunmod_from_json.py @@ -110971,8 +115366,8 @@ msgstr[3] "" #: lang/json/gunmod_from_json.py msgid "" -"A set of optics to concentrate the laser beam on a smaller focus point. This" -" increases range and damage output, but complicates targeting." +"A set of optics to concentrate the laser beam on a smaller focus point. " +"This increases range and damage output, but complicates targeting." msgstr "" #: lang/json/gunmod_from_json.py @@ -111004,7 +115399,7 @@ msgstr[3] "" #: lang/json/gunmod_from_json.py msgid "" "A set of electronics to optimize emitter workcycle and increase overall " -"energy efficiency. Decreases power consumption." +"energy efficiency. Decreases power consumption." msgstr "" #: lang/json/gunmod_from_json.py @@ -111021,11 +115416,9 @@ msgstr[3] "kondensator wysokiej gęstości" #: lang/json/gunmod_from_json.py msgid "" -"A capacitor with a higher energy density increases range and damage; at the" -" cost of a markedly increased power consumption." +"A capacitor with a higher energy density increases range and damage; at the " +"cost of a markedly increased power consumption." msgstr "" -"Kondensator ze zwiększoną gęstością zwiększa zasięg i siłę rażenia, kosztem " -"zauważalnie zwiększonego zużycia mocy." #: lang/json/gunmod_from_json.py msgid "Leadworks magazine adapter" @@ -111280,6 +115673,22 @@ msgstr "" "uniesienie lufy, ulepszając odrzut ale zwiększając rozmiar, hałas i nieco " "celność broni." +#: lang/json/gunmod_from_json.py +msgid "modified muzzle brake" +msgid_plural "modified muzzle brakes" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A muzzle brake redirects exhaust gases to compensate for muzzle climb, " +"improving recoil but increasing bulk, noise, and reducing accuracy slightly." +" This one was modified and customized to mount on pretty much any firearm " +"other than launchers, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "homemade suppressor" msgid_plural "homemade suppressors" @@ -111442,6 +115851,22 @@ msgstr "" msgid "rail" msgstr "szyna akcesoryjna" +#: lang/json/gunmod_from_json.py +msgid "modified rail-mounted crossbow" +msgid_plural "modified rail-mounted crossbows" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A kit to attach a pair of crossbow arms and a firing rail to the barrel of a" +" long firearm. It allows crossbow bolts to be fired. This one was modified" +" and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "offset iron sights" msgid_plural "offset iron sights" @@ -111459,6 +115884,21 @@ msgstr "" "45 stopni, używanych gdy luneta lub inna modyfikacja uniemożliwia używanie " "podstawowych celowników." +#: lang/json/gunmod_from_json.py +msgid "modified offset iron sights" +msgid_plural "modified offset iron sights" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An alternative set of iron sights mounted at 45° for use when a scope or " +"other modification prevents use of the primary sights. This one was " +"modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "offset sight rail" msgid_plural "offset sight rails" @@ -111473,6 +115913,20 @@ msgstr "" "Dodatkowa szyna akcesoryjna ustawiona pod kątem 45° do umieszczania drugiego" " celownika." +#: lang/json/gunmod_from_json.py +msgid "modified offset sight rail" +msgid_plural "modified offset sight rails" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An additional rail set at 45° for attaching a secondary optic. This one was" +" modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "rail laser sight" msgid_plural "rail laser sights" @@ -111507,6 +115961,22 @@ msgstr "" "Zaawansowana jednostka przywiązywana do boku broni redukująca wibracje, " "znacznie redukująca odrzut i nieco zwiększająca celność." +#: lang/json/gunmod_from_json.py +msgid "modified gyroscopic stabilizer" +msgid_plural "modified gyroscopic stabilizers" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An advanced unit that straps onto the side of your firearm and reduces " +"vibration, greatly reducing recoil and slightly increasing accuracy. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "LW gyroscopic stabilizer" msgid_plural "LW gyroscopic stabilizers" @@ -111649,6 +116119,22 @@ msgid "" " mrad increments and is remarkably small and light for its magnification." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified rifle scope" +msgid_plural "modified rifle scopes" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 3-18x44 rifle scope. It is adjustable for windage and elevation in 1/10th" +" mrad increments and is remarkably small and light for its magnification. " +"This one was modified and customized to mount on pretty much any weapon " +"other than pistols and SMGs, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "ACOG scope" msgid_plural "ACOG scopes" @@ -111663,6 +116149,21 @@ msgid "" "crosshair." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified ACOG scope" +msgid_plural "modified ACOG scopes" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 4x32 TA01 Advanced Combat Optical Gunsight with a tritium illuminated " +"crosshair. This one was modified and customized to mount on pretty much any" +" weapon other than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "RS1219 scope" msgid_plural "RS1219 scopes" @@ -111691,11 +116192,10 @@ msgstr[3] "celownik teleskopowy" #: lang/json/gunmod_from_json.py msgid "" -"A simple telescopic sight, essentially a small telescope with crosshairs. " -"Increases weight but improves accuracy." +"A simple hand-crafted telescopic sight, essentially a small telescope with " +"crosshairs. Not as good as the ones made before the cataclysm. Increases " +"weight but improves accuracy." msgstr "" -"Prosty celownik teleskopowy, zasadniczo mała luneta z krzyżem celowniczym. " -"Zwiększa wagę, ale poprawia celność." #: lang/json/gunmod_from_json.py msgid "telescopic pistol sight" @@ -111906,6 +116406,23 @@ msgstr "" " w panowaniu nad odrzutem, mogą być używane tylko na stabilnych " "powierzchniach i powoli się je rozkłada." +#: lang/json/gunmod_from_json.py +msgid "modified bipod" +msgid_plural "modified bipods" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Bipods are commonly used on rifles and machine guns to provide a forward " +"rest and reduce motion. Although they greatly improve handling of recoil " +"they are usable only on certain surfaces and are slow to equip. This one " +"was modified and customized to mount on pretty much any weapon, if you so " +"want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "combination gun shotgun" msgid_plural "combination gun shotguns" @@ -111954,6 +116471,21 @@ msgstr "" "Chwyt umieszczany z przodu lufy zapewniający lepszą kontrolę. Nie tak dobry " "jak dwójnóg, ale nadaję się do używania w każdych warunkach." +#: lang/json/gunmod_from_json.py +msgid "modified forward grip" +msgid_plural "modified forward grips" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A grip placed forward on the barrel allows for greater control. Not as " +"effective as a bipod but usable under all conditions. This one was modified" +" and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "integrated bayonet" msgid_plural "integrated bayonets" @@ -112036,6 +116568,22 @@ msgstr "" "przyłączany do niemal każdego karabinu. Pozwala na załadowanie i " "wystrzelenie pojedynczego granatu 40mm." +#: lang/json/gunmod_from_json.py +msgid "modified M203" +msgid_plural "modified M203s" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M203 was originally designed for use with M16 variants but today can be " +"attached to almost any rifle. It allows a single 40mm grenade to be loaded " +"and fired. This one was modified and customized to mount on pretty much any" +" weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "M320 GLM" msgid_plural "M320 GLM" @@ -112055,6 +116603,23 @@ msgstr "" "małej postaci, kosztem zmniejszonej celności. Może być albo przyłączony do " "karabinu, lub przyłączony do kolby dla samodzielnego użycia." +#: lang/json/gunmod_from_json.py +msgid "modified M320 GLM" +msgid_plural "modified M320 GLMs" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M320 Grenade Launcher Module offers the functionality of larger " +"launchers in a very small package at the cost of decreased accuracy. It can" +" be either attached to a rifle or combined with a buttstock for stand alone " +"use. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "masterkey shotgun" msgid_plural "masterkey shotguns" @@ -112073,6 +116638,22 @@ msgstr "" "montowanie pod wieloma karabinkami. Pozwala załadować i wystrzelić łącznie " "cztery naboje do strzelby." +#: lang/json/gunmod_from_json.py +msgid "modified masterkey shotgun" +msgid_plural "modified masterkey shotguns" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A minimalist pump action shotgun, which can be mounted under the barrel of " +"many rifles. It allows a total of four shotgun shells to be loaded and " +"fired. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "40mm pipe launcher" msgid_plural "40mm pipe launchers" @@ -112083,12 +116664,9 @@ msgstr[3] "rurowy granatnik 40mm" #: lang/json/gunmod_from_json.py msgid "" -"This is a home built launcher tube that can be attached to almost any rifle." -" It allows a single 40mm grenade to be loaded and fired." +"This is a home built launcher tube that can be attached to almost any weapon" +" except handguns. It allows a single 40mm grenade to be loaded and fired." msgstr "" -"To domowej roboty tuba wyrzutni granatów 40mm, która może być przyłączana do" -" niemal każdego karabinu. Pozwala na załadowanie i wystrzelenie pojedynczego" -" granatu 40mm." #: lang/json/gunmod_from_json.py msgid "pistol bayonet" @@ -112124,6 +116702,22 @@ msgstr "" "półautomatyczna strzelba bezłuskowa, która może być montowana pod wieloma " "rodzjami karabinów. Używa magazynków pudełkowych RMSA10." +#: lang/json/gunmod_from_json.py +msgid "modified RM121 aux shotgun" +msgid_plural "modified RM121 aux shotguns" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The Rivtech RM121 auxiliary weapon system is a magazine-fed semi-automatic " +"caseless shotgun, which can be mounted under the barrel of many rifles. " +"Accepts RMSA10 box magazines. This one was modified and customized to mount" +" on pretty much any weapon other than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "underslung shotgun" msgid_plural "underslung shotguns" @@ -112140,6 +116734,22 @@ msgstr "" "Krótka strzelba dwulufowa która może być mocowana pod lufą wielu karabinów. " "Mieści dwa naboje do strzelby." +#: lang/json/gunmod_from_json.py +msgid "modified underslung shotgun" +msgid_plural "modified underslung shotguns" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A short shotgun with 2 barrels, which can be mounted under the barrel of " +"many rifles. It allows two shotgun shells to be loaded and fired. This one" +" was modified and customized to mount on pretty much any weapon other than " +"pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "LW underbarrel laser sight" msgid_plural "LW underbarrel laser sights" @@ -112484,6 +117094,66 @@ msgstr "" "celność. Jednakże zużywa ładunki z UPS-a podczas strzelania a z uwagi na " "rozległość modyfikacji broń nie będzie działać bez UPS'a." +#: lang/json/gunmod_from_json.py +msgid "'Silent Winds' suppressor" +msgid_plural "'Silent Winds' suppressors" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Rather than using purely wipe media, an additional localized silence spell " +"in this tube quiets gunshots going through to hearing-safe levels." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (rail)" +msgid_plural "mana laser sights (rail)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit under the barrel." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (underbarrel)" +msgid_plural "mana laser sights (underbarrel)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit on the rail." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana dot sight" +msgid_plural "mana dot sights" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Adds a blue dot optic made from crystallized mana to the top of your gun, " +"replacing the iron sights. Increases accuracy and weight." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "makeshift pistol bayonet" msgid_plural "makeshift pistol bayonets" @@ -113581,6 +118251,13 @@ msgid "" "adjust course and speed. You default to cruise control, so the gas/brake " "adjust the speed which the vehicle will attempt to maintain." msgstr "" +"Aby przejąć kontrolę nad pojazdem, przejdź do miejsca z działającymi " +"„sterownikami pojazdu” i „siedzeniem”, a następnie naciśnij " +". Kiedy przejmiesz kontrolę, przyspiesza," +" zwalnia bądź zawraca, & & skręca w " +"lewo lub prawo. Przekątne dostosowują kurs i prędkość. Domyślnie wybierasz " +"tempomat, więc gaz / hamulec dostosowują prędkość, którą pojazd będzie " +"próbował utrzymać." #: lang/json/help_from_json.py msgid "" @@ -114497,8 +119174,8 @@ msgstr "Zmierz promieniowanie" #: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/game_inventory.cpp src/teleport.cpp -msgid "..." -msgstr "..." +msgid "…" +msgstr "" #: lang/json/item_action_from_json.py msgid "Control an RC car" @@ -114664,16 +119341,12 @@ msgstr "" "Ten przedmiot może być aktywowany lub przeładowany z sąsiednich pól bez " "podnoszenia go." -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the outer aura layer, intended for metaphysical effects." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your outer aura." msgstr "" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate barometer (which is used to measure " @@ -114682,6 +119355,7 @@ msgstr "" "Ten sprzęt jest wyposażony w dokładny barometr (którym zmierzysz ciśnienie " "atmosferyczne)." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item can be clipped on to a belt loop of the appropriate " @@ -114690,11 +119364,6 @@ msgstr "" "Ten przedmiot przypniesz do pętli w pasku odpowiednich " "rozmiarów." -#: lang/json/json_flag_from_json.py -msgid "Layer for backpacks and things worn over outerwear." -msgstr "" -"Warstwa dla plecaków i innych rzeczy noszonych na odzieży wierzchniej." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is strapped onto you." @@ -114709,14 +119378,6 @@ msgstr "" "Towarzysz mógłby użyć tego CBM jeśli by go " "poprawnie zainstalować." -#: lang/json/json_flag_from_json.py -msgid "" -"Blinds the wearer while worn, and provides nominal protection vs flashbang " -"flashes." -msgstr "" -"Oślepia noszącego, jeśli założona, i zapewnia ochronę przed błyskiem " -"granatów ogłuszających." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear prevents you from seeing anything." @@ -114825,13 +119486,6 @@ msgstr "" msgid "You can wear only one." msgstr "Możesz nosić tylko jeden." -#: lang/json/json_flag_from_json.py -msgid "" -"Wearing this clothing gives a morale bonus if the player has the Stylish " -"trait." -msgstr "" -"Noszenie tego ubrania daje bonus do morale graczom ze zdolnością Stylowy." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This piece of clothing is fancy." @@ -114863,21 +119517,11 @@ msgstr "Ten sprzęt koryguje dalekowzroczność." msgid "This gear corrects nearsightedness." msgstr "Ten sprzęt koryguje krótkowzroczność." -#: lang/json/json_flag_from_json.py -msgid "" -"Zombie-dropped clothing giving various penalties if Filthy mod is active. " -"Also CBMs harvested from zombies." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This item is filthy." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "Used for eyes protection from flashbang." -msgstr "Używany do ochrony oczu przez granatem ogłuszającym." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -114920,6 +119564,7 @@ msgstr "" "Ten element ubioru ma kaptur który utrzymuje ciepłotę głowy " "jeżeli nic innego jej nie krępuje." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate hygrometer (which is used to measure " @@ -114928,6 +119573,7 @@ msgstr "" "Ten sprzęt jest wyposażony w dokładny higrometr (którym zmierzysz wilgotność" " powietrza)." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item is a component of the gun it is attached to. It can't be removed " @@ -114936,32 +119582,6 @@ msgstr "" "Ten przedmiot jest komponentem broni do której jest dołączony. Nie może być " "usunięty bez zniszczenia go." -#: lang/json/json_flag_from_json.py -msgid "Item can never be used with a CVD machine." -msgstr "Przedmiot nie może być użyty w maszynie CVD." - -#: lang/json/json_flag_from_json.py -msgid "" -"Don't offer to draw items from this holster when the fire key is pressed " -"whilst the player's hands are empty." -msgstr "" -"Nie proponuj wyciągnięcia przedmiotów z tej kabury gdy przycisk strzału jest" -" wciśnięty podczas gdy dłonie postaci są puste." - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents repairing of this item even if otherwise suitable tools exist." -msgstr "" -"Zapobiega naprawie tego przedmiotu nawet gdy właściwe narzędzia są dostępne." - -#: lang/json/json_flag_from_json.py -msgid "" -"forces calories and vitamins to be the ones defined in the json, instead of " -"inheriting from ingredients" -msgstr "" -"wymusza kalorie i witaminy zapisane w plikach json, w miejsce dziedziczenia " -"ich ze składników" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "You could probably plant these." @@ -114977,23 +119597,11 @@ msgstr "" "klimacie i smakuje o wiele lepiej gdy jest " "zamrożona." -#: lang/json/json_flag_from_json.py -msgid "Outer garment layer." -msgstr "Zewnętrzna warstwa ubiorów." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is generally worn over clothing." msgstr "Ten sprzęt jest generalnie noszony na ubraniu." -#: lang/json/json_flag_from_json.py -msgid "" -"Can always be worn no matter encumbrance/mutations/bionics/etc., but " -"prevents any other clothing being worn over this." -msgstr "" -"Może być zawsze noszony, niezależnie od skrępowania, mutacji, bionik, itp. " -"ale uniemożliwia noszenie na nim jakichkolwiek innych ubrań." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -115003,14 +119611,6 @@ msgstr "" "To ubranie jest na tyle duże by pomieścić nienaturalnie dużą zmutowaną" " anatomię." -#: lang/json/json_flag_from_json.py -msgid "" -"Can be worn comfortably by mutants with Tiny or Unassuming. Too small for " -"anyone else." -msgstr "" -"Może być noszony wygodnie przez mutantów z Malutki lub Skromny. Zbyt małe " -"dla kogokolwiek innego." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -115020,25 +119620,11 @@ msgstr "" "Ten sprzęt zmniejszapoziom hałasu do bezpiecznego " "poziomu. " -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the personal aura layer, intended for metaphysical " -"effects." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your personal aura." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "" -"Increases warmth for hands if the player's hands are cold and the player is " -"wielding nothing." -msgstr "" -"Zwiększa ciepłotę dłoni gdy są zmarznięte a postać nie trzyma w nich " -"niczego." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -115048,19 +119634,6 @@ msgstr "" "To ubranie ma kieszenie ogrzewające dłonie gdy nic w nich nie " "trzymasz." -#: lang/json/json_flag_from_json.py -msgid "" -"If turned ON, it uses its own source of power, instead of relying on power " -"of the user." -msgstr "" -"Gdy WŁĄCZONE, używa swojego własnego źródła mocy zamiast polegać na mocy " -"użytkownika." - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "25% chance to protect against fear_paralyze monster attack." -msgstr "25% szansy na ochronę przeciwko atakowi fear_paralyze potwora." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear keeps out the mind control rays." @@ -115098,10 +119671,6 @@ msgstr "" msgid "This item can be used to communicate with radio waves." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "Prevents the covered body-part(s) from getting wet in the rain." -msgstr "Chroni zakryte części ciała przed przemoczeniem w deszczu." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -115110,19 +119679,6 @@ msgstr "" "To ubranie zaprojektowano by utrzymać cię suchym w czasie " "deszczu." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the player from wielding a weapon two-handed, forcing one-handed " -"use if the weapon permits it." -msgstr "" -"Zapobiega dwuręcznemu dzierżeniu broni przez postać, zmuszając do " -"jednoręcznego używania, jeżeli na to broń pozwala." - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from participating in the encumbrance system when worn." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -115130,30 +119686,6 @@ msgid "" " other things when worn." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sheath of the appropriate size." -msgstr "" -"Ten przedmiot może być przechowywany w pochwie odpowiedniego rozmiaru." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a scabbard of the appropriate size." -msgstr "" -"Ten przedmiot może być przechowywany w pochwie na miecz odpowiedniego " -"rozmiaru." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sling of the appropriate size." -msgstr "" -"Ten przedmiot może być przechowywany w temblaku odpowiedniego rozmiaru." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a bag of the appropriate size." -msgstr "Ten przedmiot może być przechowywany w torbie odpowiedniego rozmiaru." - -#: lang/json/json_flag_from_json.py -msgid "Undergarment layer." -msgstr "Warstwa bielizny." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing lies close to the skin." @@ -115183,32 +119715,16 @@ msgstr "" "To ubranie ochroni cię przed obrażeniami i jest w stanie " "wytrzymać wiele nadużyć." -#: lang/json/json_flag_from_json.py -msgid "Prevents glaring when in sunlight." -msgstr "Zapobiega oślepieniu w świetle słońca." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing keeps the glare out of your eyes." msgstr "To ubranie chroni twoje oczy przed oślepieniem." -#: lang/json/json_flag_from_json.py -msgid "" -"Gives an additional moral bonus over FANCY if the player has the Stylish " -"trait." -msgstr "" -"Daje dodatkowy bonus do morale ponad WYMYŚLNE jeżeli postać ma zdolność " -"Stylowy." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing is very fancy." msgstr "To ubranie jest bardzo wymyślne." -#: lang/json/json_flag_from_json.py -msgid "Allows you to see much further under water." -msgstr "Pozwala widzieć o wiele dalej pod wodą." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -115218,47 +119734,21 @@ msgstr "" "To ubranie pozwala ci widzieć znacznie dalej pod " "wodą." -#: lang/json/json_flag_from_json.py -msgid "" -"This gear is equipped with an accurate thermometer (which is used to measure" -" temperature)." -msgstr "" -"Ten sprzęt jest wyposażony w dokładny termometr (którym zmierzysz " -"temperaturę powietrza)." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is equipped with an accurate thermometer." msgstr "Ten sprzęt jest wyposażony w dokładny termometr." -#: lang/json/json_flag_from_json.py -msgid "Can be made to fit via tailoring." -msgstr "Może zostać dopasowany do twojej sylwetki za pomocą krawiectwa." - -#: lang/json/json_flag_from_json.py -msgid "Layer for belts and other things worn on the waist." -msgstr "Warstwa dla pasów i innych rzeczy noszonych na biodrach." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is worn on or around your waist." msgstr "Ten sprzęt jest noszony na lub wokół bioder." -#: lang/json/json_flag_from_json.py -msgid "Acts as a watch and allows the player to see actual time." -msgstr "Służy za zegarek i pozwala postaci ustalić dokładny czas." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear allows to see actual time." msgstr "Ten sprzęt pozwala widzieć aktualny czas." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the covered body-part(s) from getting wet in any circumstance." -msgstr "" -"Chroni zakryte części ciała przed przemoczeniem w każdych okolicznościach." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -115268,14 +119758,6 @@ msgstr "" "To ubranie nie przepuszcza wody. Chyba że wskoczysz do rzeki " "lub coś w tym stylu." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from making the body part count as unfriendly to water and" -" thus causing negative morale from being wet." -msgstr "" -"Nie pozwala żeby przedmiot oznaczył część ciała jako nieprzyjazną wodzie, i " -"w konsekwencji powodując negatywne morale za bycie przemoczonym." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -115321,13 +119803,6 @@ msgstr "" "To ubranie ma wełnianą podszewkę by zwiększyć jego " "ciepłotę." -#: lang/json/json_flag_from_json.py -msgid "" -"Allows wielding with unarmed fighting styles and trains unarmed when used." -msgstr "" -"Pozwala się dzierżyć z aktywnymi stylami walki wręcz i trenuje walkę bez " -"broni gdy używany." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -115342,114 +119817,26 @@ msgstr "" msgid "This item contains a nanofabricator recipe." msgstr "Ten przedmiot zawiera recepturę do nanofabrykatora." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "This bionic is a faulty bionic." -msgstr "Ta bionika jest wadliwa." - -#: lang/json/json_flag_from_json.py -msgid "This bionic is a power source bionic." -msgstr "Ta bionika jest źródłem zasilania." - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic only has a function when activated, else it causes its effect " -"every turn." -msgstr "" -"Ta bionika działa tylko jak jest aktywowana, w przeciwnym wypadku powoduje " -"swój efekt co turę." - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a gun bionic and activating it will fire it. Prevents all " -"other activation effects." +msgid "This bionic is faulty." msgstr "" -"Ta bionika jest bioniczną bronią a aktywowanie jej spowoduje strzał. " -"Zapobiega wszelkim innym efektom aktywacji." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a weapon bionic and activating it will create (or destroy) " -"bionic's fake_item in user's hands. Prevents all other activation effects." +msgid "This bionic provides power." msgstr "" -"Ta bionika to bioniczna broń, której aktywowanie stworzy (lub zniszczy) " -"pozorny przedmiot bioniczny w ręku użytkownika. Zapobiega wszelkim innym " -"efektom aktywacji. " +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This bionic can provide power to powered armor." msgstr "Ta bionika zapewnia zasilanie pancerzy wspomaganych." -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's effects permanent." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's Area of Effect ignore walls." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "You can cast spells with this item in your hand." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This makes the spell's summoned monster always hostile. Note that the spell" -" needs to be a summon spell for this to do anything." -msgstr "" - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "" -"This makes the spell's summoned monster hostile 50% of the time. Note that " -"the spell needs to be a summon spell for this to do anything." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "The spell makes no sound at its point of impact." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This spell is much louder at its point of impact." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The caster must speak in order to cast the spell. More mouth encumbrannce " -"increases failure percent, and the caster speaks when casting." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell requires arm movement to cast. Arm encumbrance affects failure " -"percentage and casting time." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell does not require hands in order to cast it. Encumbrance penalties" -" on hands are nullified." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell does not require leg movement in order to be cast. All " -"encumbrance penalties for legs are nullified." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell requires focus to cast. The lower your focus, the higher failure" -" rate to cast." -msgstr "" - +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" -"Chooses a spell at random to cast from extra_effects. See MAGIC.md for " -"details" -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This mutation does not count toward thresholds at all." +"This food is unappetizing in a way that can't be covered up " +"by most cooking." msgstr "" #. ~ Please leave anything in unchanged. @@ -115888,6 +120275,10 @@ msgstr "Następny poziom" msgid "Previous level" msgstr "Poprzedni poziom" +#: lang/json/keybinding_from_json.py +msgid "Reset level" +msgstr "Resetuj poziom" + #: lang/json/keybinding_from_json.py msgid "Undo move" msgstr "Cofnij ruch" @@ -115904,10 +120295,6 @@ msgstr "Przełącz Flagę" msgid "Toggle lights" msgstr "Przełącz światła" -#: lang/json/keybinding_from_json.py -msgid "Reset level" -msgstr "Resetuj poziom" - #: lang/json/keybinding_from_json.py msgid "Confirm Choice" msgstr "Potwierdź Wybór" @@ -116612,6 +120999,10 @@ msgstr "" msgid "View Visibility Map" msgstr "" +#: lang/json/keybinding_from_json.py +msgid "View Lighting Map" +msgstr "" + #: lang/json/keybinding_from_json.py msgid "View Radiation Map" msgstr "" @@ -116625,8 +121016,8 @@ msgid "Toggle Fullscreen mode" msgstr "Przełącz tryb Pełnego Ekranu" #: lang/json/keybinding_from_json.py -msgid "Toggle Pixel Minimap" -msgstr "Przełącz Pikselową Minimapę" +msgid "Toggle Minimap" +msgstr "" #: lang/json/keybinding_from_json.py msgid "Toggle Panel Admin" @@ -116982,6 +121373,7 @@ msgstr "Usuń wybrany kolor" msgid "Load color template" msgstr "Wczytaj szablon kolorów" +#. ~ translation should not exceed 3 console cells #: lang/json/keybinding_from_json.py lang/json/keybinding_from_json.py #: src/editmap.cpp src/editmap.cpp src/editmap.cpp src/veh_interact.cpp msgid "Yes" @@ -117041,6 +121433,10 @@ msgstr "Przełącz alarm" msgid "Toggle atomic lights" msgstr "Przełącz atomowe światła" +#: lang/json/keybinding_from_json.py +msgid "Control autopiot" +msgstr "" + #: lang/json/keybinding_from_json.py msgid "Toggle camera system" msgstr "Przełącz system kamer" @@ -118734,6 +123130,9 @@ msgid "" "\n" "+1 Block attempts, +1 Dodge attempts." msgstr "" +"Średnio zaawansowany praktykant aikido może chronić się przed wieloma przeciwnikami.\n" +"\n" +"+1 prób bloku, +1 prób uniku." #: lang/json/martial_art_from_json.py msgid "Advanced Aikido" @@ -118746,6 +123145,9 @@ msgid "" "\n" "+1 Block attempts, +1 Dodge attempts." msgstr "" +"Zaawansowany praktykant aikido może chronić się przed jeszcze większą ilością przeciwników niż normalnie.\n" +"\n" +"+1 prób bloku, +1 prób uniku." #: lang/json/martial_art_from_json.py msgid "Boxing" @@ -118834,6 +123236,9 @@ msgid "" "\n" "+1.0 Dodge skill, +1 Dodge attempts." msgstr "" +"Nigdy nie przestajesz się poruszać podczas wykonywania gingi. Dzięki temu jesteś bardzo mobilny podczas walki.\n" +"\n" +"+1.0 umiejętności uniku, +1 prób uniku." #: lang/json/martial_art_from_json.py msgid "Capoeira Momentum" @@ -118900,6 +123305,10 @@ msgid "" "+1 Dodge attempts, +1.0 Dodge skill.\n" "Lasts 2 turns." msgstr "" +"Podobnie jak żuraw, szybko unikniesz niebezpieczeństwa.\n" +"\n" +"+1.0 umiejętności uniku, +1 prób uniku.\n" +"Trwa 2 tury." #: lang/json/martial_art_from_json.py msgid "Dragon Kung Fu" @@ -119015,6 +123424,9 @@ msgid "" "\n" "+2 Block attempts, -1.0 Dodge skill, blocked damage reduced by 50%% of Strength." msgstr "" +"Jesteś krzepki i nie drgniesz wobec żadnego zagrożenia.\n" +"\n" +"+2 prób uniku, -1.0 umiejętności uniku, blokowane obrażenia zmniejszone o 50%% siły." #: lang/json/martial_art_from_json.py msgid "Tactical Retreat" @@ -119393,82 +123805,6 @@ msgid "" "Lasts 1 turn." msgstr "" -#: lang/json/martial_art_from_json.py -msgid "Tai Chi" -msgstr "Tai Chi" - -#. ~ Description for martial art 'Tai Chi' -#: lang/json/martial_art_from_json.py -msgid "" -"Though Tai Chi is often seen as a form of mental and physical exercise, it " -"is a legitimate martial art, focused on self-defense. Its ability to absorb" -" the force of an attack makes your Perception decrease damage further on a " -"block." -msgstr "" -"Choć tai chi często jest postrzegane jak forma ćwiczeń fizycznych i " -"umysłowych, jest właściwą sztuką walki skupiająca się na obronie własnej. " -"Jej zdolność do absorpcji siły ataku pozwala Percepcji obniżyć obrażenia " -"jeszcze bardziej przy bloku." - -#. ~ Description of buff for martial art 'Tai Chi' -#: lang/json/martial_art_from_json.py -msgid "+1 Block. Perception decreases damage when blocking." -msgstr "+1 Blok. Percepcja obniża obrażenia podczas blokowania." - -#: lang/json/martial_art_from_json.py -msgid "Taekwondo" -msgstr "Taekwondo" - -#. ~ Description for martial art 'Taekwondo' -#: lang/json/martial_art_from_json.py -msgid "" -"Taekwondo is the national sport of Korea, and was used by the South Korean " -"army in the 20th century. Focused on kicks and so it does not benefit from " -"wielded weapons. It also includes strength training; your blocks absorb " -"extra damage the stronger you are." -msgstr "" -"Taekwondo to sport narodowy Korei, i było używane przez armię Południowej " -"Korei w 20-tym wieku. Skupia się na kopnięciach, zatem nic nie zyskuje z " -"trzymanych broni.. Twoje bloki absorbują więcej obrażeń im silniejszy " -"jesteś." - -#. ~ Description of buff for martial art 'Taekwondo' -#: lang/json/martial_art_from_json.py -msgid "Strength decreases damage when blocking." -msgstr "Siła redukuje obrażenia przy blokowaniu." - -#: lang/json/martial_art_from_json.py -msgid "Zui Quan" -msgstr "Zui Quan" - -#. ~ Description for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "" -"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" -" the enemy, giving you a passive dodge bonus based on your intelligence. " -"The turn after you attack, you may dodge any number of attacks with no " -"penalty, and successfully dodging an attack gives you bonus damage and to-" -"hit based on your intelligence." -msgstr "" -"Także znana jako \"pijany boks\". Zui Quan imituje ruchy pijaka dla zmylenia" -" przeciwnika, dając ci pasywny bonus do uników bazujący na inteligencji. " -"Turę po ataku, możesz uniknąć dowolnej ilości ataków bez kar, a udany unik " -"daje bonus do obrażeń i celności w oparciu o twoją inteligencję." - -#. ~ Description of buff for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "Intelligence increases dodging ability" -msgstr "Inteligencja zwiększa zdolność uników" - -#: lang/json/martial_art_from_json.py -msgid "Counter Strike" -msgstr "Kontr Uderzenie" - -#. ~ Description of buff 'Counter Strike' for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "Extra damage and to-hit after successful dodge" -msgstr "Ekstra obrażenia i celność po udanym uniku." - #: lang/json/martial_art_from_json.py msgid "Silat" msgstr "Silat" @@ -119490,17 +123826,183 @@ msgstr "Poza Silat" #. ~ Description of buff 'Silat Stance' for martial art 'Silat' #: lang/json/martial_art_from_json.py -msgid "+1 dodge" -msgstr "+1 uniki" +msgid "" +"You try to stay loose as possible when fighting to have more chances to dodge.\n" +"\n" +"+1 Dodge attempts." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Silat Evasion" +msgstr "" + +#. ~ Description of buff 'Silat Evasion' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +msgid "" +"You stay low as you move, making it harder for enemies to pin you down.\n" +"\n" +"+1 Dodge attempts.\n" +"Lasts 2 turn." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Silat Appraisal" +msgstr "" + +#. ~ Description of buff 'Silat Appraisal' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Each time you dodge an attack, you learn a bit more about your opponents' fighting style. This allows you to make more precise attacks against them.\n" +"\n" +"Accuracy increased by 15%% of Dexterirty.\n" +"Lasts 2 turns. Stacks 3 times." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Snake Kung Fu" +msgstr "Kung Fu Węża" + +#. ~ Description for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +msgid "" +"One of the five Shaolin animal styles. The Snake focuses on sinuous " +"movement and precision strikes. Perception determines your Accuracy, rather" +" than Dexterity. Standing still will increases your accuracy and damage of " +"your next attack." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Snake's Sight" +msgstr "" + +#. ~ Description of buff 'Snake's Sight' for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You are patient and know where to hit your opponent for the best results.\n" +"\n" +"Perception increases Accuracy instead of Dexterity. Accuracy increased by 25%% of Perception but decreased by 25%% of Dexterity." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "Sōjutsu" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat. Standing still gives you an extra block " +"attempt but moving will briefly increase your damage." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "Poza Sōjutsu" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Your training grants better defense while using a polearm.\n" +"\n" +"+1 Block attempt." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Superior Positioning" +msgstr "" + +#. ~ Description of buff 'Superior Positioning' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You have given up your defenses for a moment to increase the damage of your attacks.\n" +"\n" +"+10%% damage, -1 Block attempts.\n" +"Lasts 1 turn." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Taekwondo" +msgstr "Taekwondo" + +#. ~ Description for martial art 'Taekwondo' +#: lang/json/martial_art_from_json.py +msgid "" +"Taekwondo is the national sport of Korea, and was used by the South Korean " +"army in the 20th century. Focused on kicks and so it does not benefit from " +"wielded weapons. It also includes strength training; your blocks absorb " +"extra damage and your attacks do more damage if you are not holding " +"anything." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Taekwondo Stance" +msgstr "" + +#. ~ Description of buff 'Taekwondo Stance' for martial art 'Taekwondo' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Using your legs to attack allows your hands to be free for better defense.\n" +"\n" +"Blocked damage decreased by 50%% of Strength." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Unhindered" +msgstr "" + +#. ~ Description of buff 'Unhindered' for martial art 'Taekwondo' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Your attacks are stronger if you are not holding anything in your hands.\n" +"\n" +"+33%% bash damage when not using a weapon." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Tai Chi" +msgstr "Tai Chi" + +#. ~ Description for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +msgid "" +"Though Tai Chi is often seen as a form of mental and physical exercise, it " +"is a legitimate martial art, focused on self-defense. Its ability to absorb" +" the force of an attack makes your Perception decrease damage further on a " +"block. Pausing for a moment enables powerful palm strike techniques." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Tai Chi Stance" +msgstr "" + +#. ~ Description of buff 'Tai Chi Stance' for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You are focused of defense and predicting your opponents attacks.\n" +"\n" +"+1 Block attempts, blocked damage reduced by 100%% Perception." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Silat Counter" -msgstr "Kontra Silat" +msgid "Repulse the Monkey" +msgstr "" -#. ~ Description of buff 'Silat Counter' for martial art 'Silat' +#. ~ Description of buff 'Repulse the Monkey' for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py -msgid "Extra to-hit after successful dodge" -msgstr "Ekstra celność po udanym uniku" +#, no-python-format +msgid "" +"By perfectly positioning yourself and your opponent, you have become more accurate and can bypass your opponent's defenses.\n" +"\n" +"Accuracy increased by 20%% of Perception, gain bash Armor Pentration equal to 50%% of Perception.\n" +"Lasts 2 turns." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Tiger Kung Fu" @@ -119523,117 +124025,159 @@ msgstr "Furia Tygrysa" #. ~ Description of buff 'Tiger Fury' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+3 Bash/atk" -msgstr "+3 miażdżone/atak" +#, no-python-format +msgid "" +"You attack with an endless barrage of strikes. The more you hit, the stronger you become.\n" +"\n" +"+10%% damage.\n" +"Lasts 3 turns. Stacks 4 times." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Tiger Strength" -msgstr "Siła Tygrysa" +msgid "Tiger's Strength" +msgstr "" -#. ~ Description of buff 'Tiger Strength' for martial art 'Tiger Kung Fu' +#. ~ Description of buff 'Tiger's Strength' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Strength provides additional damage bonus." -msgstr "Siła zapewnia dodatkowy bonus do ataku." +#, no-python-format +msgid "" +"You do not need defense. You do not need a plan. You need strength. Strength will break your opponents' defenses and overwhelm them completely.\n" +"\n" +"Strength increases Accuracy instead of Dexterity.\n" +"\n" +"Accuracy increased by 25%% of Strength but decreased by 25%% of Dexterity." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Snake Kung Fu" -msgstr "Kung Fu Węża" +msgid "Wing Chun" +msgstr "" -#. ~ Description for martial art 'Snake Kung Fu' +#. ~ Description for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py msgid "" -"One of the five Shaolin animal styles. The Snake focuses on sinuous " -"movement and precision strikes. Your Perception improves your damage." +"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" +"learn effective techniques from the various Shaolin animal forms. It has a " +"high stance, with weight entirely on the rear leg. Wing Chun focuses on " +"sensitivity to the opponent's direction of force, and flowing around it to " +"get back to hitting." msgstr "" -"Jeden z pięciu stylów zwierzęcych z Szaolin. Wąż skupia się na wijących się " -"ruchach i precyzyjnych uderzeniach. Twoja Percepcja ulepsza obrażenia." #: lang/json/martial_art_from_json.py -msgid "Snake Sight" -msgstr "Wzrok Węża" +msgid "Chain Punch" +msgstr "" -#. ~ Description of buff 'Snake Sight' for martial art 'Snake Kung Fu' +#. ~ Description of buff 'Chain Punch' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "Perception provides a bonus to damage." -msgstr "Percepcja zapewnia bonus do obrażeń." +#, no-python-format +msgid "" +"Your punches are properly timed to give your opponent no rest from your strikes.\n" +"\n" +"-10%% move cost.\n" +"Lasts 1 turn. Stacks 3 times." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Debug Mastery" -msgstr "Mistrzostwo Debugowania" +msgid "Chi-Sao Sensitivity" +msgstr "" -#. ~ Description for martial art 'Debug Mastery' +#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "A secret martial art used only by developers and cheaters." -msgstr "Sekretna sztuka walki używana wyłącznie przez deweloperów i oszustów." +#, no-python-format +msgid "" +"You have a greater understanding of balance and technique. This gives you a better chance to avoid your opponent's attacks.\n" +"\n" +" Dodging Skill increased by 15%% of Perception. Blocked damage reduced by 50%% of Perception." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Elemental resistance" -msgstr "Odporność na żywioły" +msgid "Zui Quan" +msgstr "Zui Quan" -#. ~ Description of buff 'Elemental resistance' for martial art 'Debug -#. Mastery' +#. ~ Description for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py msgid "" -"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " -"armor, +Perception fire armor." +"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" +" the enemy. You gain a passive dodge bonus and accuracy bonus based on your" +" intelligence. Moving gives you additional dodge attempts and each time you" +" dodge, you inflict more damage with your counterattack for until the end of" +" your next turn." msgstr "" -"+Siła zbroja vs miażdżonym, +Zręczność zbroja vs kwasowi, +Inteligencja " -"zbroja vs elektryczności, +Percepcja zbroja vs ogniowi." #: lang/json/martial_art_from_json.py -msgid "Sōjutsu" -msgstr "Sōjutsu" +msgid "Zui Quan Stance" +msgstr "" -#. ~ Description for martial art 'Sōjutsu' +#. ~ Description of buff 'Zui Quan Stance' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " -"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " -"to maintain advantage in combat." +"Others might think you stumble about at random but you know better. Each movement is calculated to make evading harm easier.\n" +"\n" +"Dodging Skill increased by 15%% of Intelligence." msgstr "" -"Sōjutsu, \"Droga Włóczni\", to japoński styl walki włócznią. Skupia się na " -"trzymaniu wroga na dystans celem osiągnięcia przewagi w boju." #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Stance" -msgstr "Poza Sōjutsu" +msgid "Advanced Zui Quan" +msgstr "" -#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#. ~ Description of buff 'Advanced Zui Quan' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Bonus block with reach weapons while standing still" -msgstr "Bonusowy blok z bronią zasięgową gdy stoisz w miejscu" +#, no-python-format +msgid "" +"You have a greater understanding of Zui Quan. Your skills at dodging and landing attacks are much better as a result.\n" +"\n" +"+1 Dodge attempts, Accuracy increased by 15%% of Intelligence." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Rush" -msgstr "Pęd Sōjutsu" +msgid "Drunken Stumble" +msgstr "" -#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#. ~ Description of buff 'Drunken Stumble' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Increased damage when moving but no bonus block" -msgstr "Zwiększone obrażenia podczas ruchu ale brak bonusowego bloku" +msgid "" +"With a few quick steps, you can completely change your orientation and dodge additional attacks.\n" +"\n" +"+2 Dodge attempts.\n" +"Lasts 3 turns." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Wing Chun" +msgid "Drunken Dodging" msgstr "" -#. ~ Description for martial art 'Wing Chun' +#. ~ Description of buff 'Drunken Dodging' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" -"learn effective techniques from the various Shaolin animal forms. It has a " -"high stance, with weight entirely on the rear leg. Wing Chun focuses on " -"sensitivity to the opponent's direction of force, and flowing around it to " -"get back to hitting." +"Each time you dodge, your positional advantage increases against your opponents. This makes your attacks hit harder with each successful dodge.\n" +"\n" +"Gain Armor Penetration equal to 25%% of Intelligence.\n" +"Lasts 1 turn. Stacks 4 times." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Chi-Sao Sensitivity" -msgstr "" +msgid "Debug Mastery" +msgstr "Mistrzostwo Debugowania" -#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' +#. ~ Description for martial art 'Debug Mastery' +#: lang/json/martial_art_from_json.py +msgid "A secret martial art used only by developers and cheaters." +msgstr "Sekretna sztuka walki używana wyłącznie przez deweloperów i oszustów." + +#: lang/json/martial_art_from_json.py +msgid "Elemental resistance" +msgstr "Odporność na żywioły" + +#. ~ Description of buff 'Elemental resistance' for martial art 'Debug +#. Mastery' #: lang/json/martial_art_from_json.py -msgid "Perception increases dodging ability, +1 dodges per turn" +msgid "" +"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " +"armor, +Perception fire armor." msgstr "" +"+Siła zbroja vs miażdżonym, +Zręczność zbroja vs kwasowi, +Inteligencja " +"zbroja vs elektryczności, +Percepcja zbroja vs ogniowi." #: lang/json/martial_art_from_json.py msgid "Bionic Combatives" @@ -119788,13 +124332,11 @@ msgstr "Kung Fu Ropuchy" #. ~ Description for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"One of the Five Deadly Venoms. Masters of Toad Style can focus themselves " -"against all attacks. You can meditate by pausing, giving you armor, though " -"you will lose focus when you move." +"One of the Five Deadly Venoms, used by Liang Shen. Masters of Toad Style " +"can focus themselves to protect against all attacks. You have powerful " +"armor against physical attacks, though you will lose focus when you move. " +"You can meditate by pausing, giving yourself more armor for a short time." msgstr "" -"Jeden z Pięciu Zabójczych Jadów. Mistrzowie Stylu Ropuchy potrafią skupić " -"się przeciwko wszelkim atakom. Możesz medytować przez pauzowanie, zyskując " -"zbroję, ale będziesz tracił skupienie przy poruszaniu się." #: lang/json/martial_art_from_json.py msgid "Toad's Iron Skin" @@ -119802,8 +124344,11 @@ msgstr "Żelazna Skóra Ropuchy" #. ~ Description of buff 'Toad's Iron Skin' for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Gain up to +6 armor while standing still" -msgstr "Zyskaj do +6 zbroi stojąc bez ruchu" +msgid "" +"Your body is as strong as iron but only if you don't move.\n" +"\n" +"+6 bash, cut, and stab armor." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Iron Skin Dissipation" @@ -119812,8 +124357,12 @@ msgstr "Rozmiękczenie Żelaznej Skóry" #. ~ Description of buff 'Iron Skin Dissipation' for martial art 'Toad Kung #. Fu' #: lang/json/martial_art_from_json.py -msgid "Iron Skin softens when you move!" -msgstr "Żelazna Skóra mięknie gdy się ruszasz!" +msgid "" +"Moving causes you to lose your iron skin.\n" +"\n" +"-1 bash, cut, and stab armor.\n" +"Lasts 6 turns. Stacks 6 times." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Viper Kung Fu" @@ -119822,40 +124371,49 @@ msgstr "Kung Fu Żmiji" #. ~ Description for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"A legacy of the Five Deadly Venoms. Viper Style has a unique three-part " -"combo, which initiates on a dodge, then counters with a stunning chop and " -"the legendary Viper Strike." +"A legacy of the Five Deadly Venoms, use by Qi Dong. Viper Style (originally" +" called Snake Style) has a unique three-part combo, which initiates on a " +"dodge, then follows up with a stunning Viper Bite and then finishes with the" +" legendary Viper Strike." msgstr "" -"Dziedzictwo Pięciu Zabójczych Jadów. Styl Żmiji ma unikalne trzyczęściowe " -"kombo, inicjowane unikiem, kontrujące ogłuszającym rąbnięciem i legendarnym " -"Uderzeniem Żmiji." #: lang/json/martial_art_from_json.py -msgid "Viper Lock" -msgstr "Cel Żmiji" +msgid "Viper's Patience" +msgstr "" -#. ~ Description of buff 'Viper Lock' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Patience' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You bit true! Your next attack will be the Viper Strike!" -msgstr "Gryziesz prawdziwie! Twój kolejny atak to Uderzenie Żmiji!" +msgid "" +"Every snake waits for the perfect moment to strike. Turn your opponents' mistakes into your opportunity to strike!\n" +"\n" +"+1.0 Dodge skill." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Patience" -msgstr "Cierpliwość Żmiji" +msgid "Viper's Ambush" +msgstr "" -#. ~ Description of buff 'Viper Patience' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Ambush' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+2 Dodge. Dodging an attack initiates a combo." -msgstr "+2 do Uników. Uniknięcie ataku inicjuje kombo." +msgid "" +"Your evasiveness has left your opponent wide open to painful bite.\n" +"\n" +"Enables \"Viper Bite\" technique.\n" +"Lasts 1 turn." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Ambush" -msgstr "Zasadzka Żmiji" +msgid "Viper's Venom" +msgstr "" -#. ~ Description of buff 'Viper Ambush' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Venom' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You've lured 'em in! Your next attack will be a Viper Bite." -msgstr "Zwabiłeś ich! Twój kolejny atak to Ukąszenie Żmiji." +msgid "" +"Your venom is a harsh reminder to never tease a predator.\n" +"\n" +"+2 bash damage.\n" +"Lasts 3 turn." +msgstr "" #: lang/json/martial_art_from_json.py msgid "C.R.I.T Blade-work" @@ -119991,6 +124549,10 @@ msgid "" "Lasts 2 turns." msgstr "" +#: lang/json/martial_art_from_json.py +msgid "Sojutsu" +msgstr "" + #: lang/json/material_from_json.py src/bionics.cpp msgid "Alcohol" msgstr "Alkohol" @@ -120232,6 +124794,10 @@ msgstr "Ołów" msgid "Leather" msgstr "Skóra" +#: lang/json/material_from_json.py +msgid "Lycra" +msgstr "" + #: lang/json/material_from_json.py msgid "Dairy" msgstr "Nabiał" @@ -120292,6 +124858,14 @@ msgstr "Kamień" msgid "Superalloy" msgstr "Superstop" +#: lang/json/material_from_json.py +msgid "layered carbide" +msgstr "" + +#: lang/json/material_from_json.py +msgid "Synthetic Fabric" +msgstr "" + #: lang/json/material_from_json.py msgid "Tin" msgstr "" @@ -120402,6 +124976,10 @@ msgstr "" msgid "Arcane Skin" msgstr "" +#: lang/json/material_from_json.py +msgid "Orichalcum" +msgstr "" + #: lang/json/material_from_json.py msgid "Demon Chitin" msgstr "" @@ -120411,7 +124989,7 @@ msgid "Sugar" msgstr "" #: lang/json/mission_def_from_json.py -msgid "Gather bones for the Brigitte. About 8 should do it." +msgid "Gather bones for the Brigitte. About 8 should do it." msgstr "" #: lang/json/mission_def_from_json.py @@ -120460,48 +125038,6 @@ msgstr "" msgid "Then you shall try again, until you hear." msgstr "" -#: lang/json/mission_def_from_json.py -msgid "Find a Book" -msgstr "Znajdź książkę" - -#: lang/json/mission_def_from_json.py -msgid "Wanna help me out?" -msgstr "Chcesz mi pomóc?" - -#: lang/json/mission_def_from_json.py -msgid "Get me a book." -msgstr "Znajdź mi książkę." - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: lang/json/talk_topic_from_json.py -msgid "Thanks." -msgstr "Dzięki." - -#: lang/json/mission_def_from_json.py -msgid "Well, I'll find someone else to do it for me." -msgstr "Cóż, znajdę kogoś innego żeby zrobił to dla mnie." - -#: lang/json/mission_def_from_json.py -msgid "Try a library." -msgstr "Spróbuj w bibliotece." - -#: lang/json/mission_def_from_json.py -msgid "Got that book for me?" -msgstr "Znalazłeś tą książkę?" - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: src/npctalk.cpp -msgid "Thanks!" -msgstr "Dzięki!" - -#: lang/json/mission_def_from_json.py -msgid "OK, then hand it over." -msgstr "OK, daj mi ją." - -#: lang/json/mission_def_from_json.py -msgid "Shit happens." -msgstr "Straszne gówno. Zdarza się." - #: lang/json/mission_def_from_json.py msgid "Follow Sarcophagus Team" msgstr "Podążaj za Zespołem Sarkofagu" @@ -121539,10 +126075,6 @@ msgstr "Naprawdę... wielka szkoda." msgid "Null mission" msgstr "Pusta misja" -#: lang/json/mission_def_from_json.py -msgid "YOU SHOULDN'T BE SEEING THIS, THIS IS A BUG" -msgstr "NIE POWINIENEŚ TEGO WIDZIEĆ, TO BŁĄD GRY" - #: lang/json/mission_def_from_json.py msgid "Reach Farm House" msgstr "Idź do Domu na Farmie" @@ -121803,6 +126335,14 @@ msgstr "Masz to zdjęcie? Powinno być w moim sejfie z bronią." msgid "Thanks! I'll be sure to put in a good word for you around town." msgstr "Dziękuję! Nie zapomnę szepnąć kilku miłych słów o tobie w mieście." +#: lang/json/mission_def_from_json.py +msgid "OK, then hand it over." +msgstr "OK, daj mi ją." + +#: lang/json/mission_def_from_json.py +msgid "Shit happens." +msgstr "Straszne gówno. Zdarza się." + #: lang/json/mission_def_from_json.py msgid "Find Antibiotics Before You Die!" msgstr "Znajdź Antybiotyki Zanim Umrzesz!" @@ -122226,7 +126766,7 @@ msgid "" msgstr "" #: lang/json/mission_def_from_json.py -msgid "I did't want to use chemicals on these rats." +msgid "I didn't want to use chemicals on these rats." msgstr "" #: lang/json/mission_def_from_json.py @@ -122530,6 +127070,10 @@ msgid "" "don't have any handy references." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "Fantastic, I'm not supposed to leave our land." +msgstr "" + #: lang/json/mission_def_from_json.py msgid "A library, bookstore should have one, schools are another good idea." msgstr "" @@ -123389,6 +127933,10 @@ msgstr "" msgid "Thanks, it's great to see someone willing to help a guy out." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "Well, I'll find someone else to do it for me." +msgstr "Cóż, znajdę kogoś innego żeby zrobił to dla mnie." + #: lang/json/mission_def_from_json.py msgid "" "Plenty of smokers in towns. Gotta be some left over cigs in some of them " @@ -123428,11 +127976,11 @@ msgstr "" "Jeśli naprawdę chcesz pomóc, możemy skorzystać z twojej pomocy w " "oczyszczeniu zmarłych w tylnej zatoce. W obawie przed wyjściem na zewnątrz " "podczas pierwszych dni kataklizmu wyrzuciliśmy zmarłych i zombie, których " -"udało nam się zabić w zamkniętej zatoce. Nasz obiecujący przywódca w tym " -"czasie nawet poległ... zmienił się w coś innego. Zabij ich wszystkich i " +"udało nam się zabić w zamkniętej zatoce. Nawet nasz obiecujący przywódca w " +"tym czasie poległ... zmienił się w coś innego. Zabij ich wszystkich i " "upewnij się, że nie będą nam przeszkadzać. Nie możemy dużo zapłacić, poza " -"niektórymi naszymi wewnętrznymi pieniędzmi, które nie są jeszcze na tyle " -"dobre, ale pomogłoby nam to odzyskać zatokę." +"naszymi wewnętrznymi pieniędzmi, które nie są jeszcze na tyle dobre, ale " +"pomogłoby nam to odzyskać zatokę." #: lang/json/mission_def_from_json.py msgid "Please be careful, we don't need any more deaths." @@ -124151,8 +128699,8 @@ msgstr "" #: lang/json/mission_def_from_json.py msgid "" "Reach the collapsed tower basement, and search the ruins for a photonic " -"circuitry template. The intercom warned you about heavy enemy prescence, and" -" of the existence of a hazardous enviroment." +"circuitry template. The intercom warned you about heavy enemy presence, and" +" of the existence of a hazardous environment." msgstr "" #: lang/json/mission_def_from_json.py @@ -125813,7 +130361,7 @@ msgid "yourself scream in agony!" msgstr "swój krzyk w agonii!" #. ~ Mutation class: Any junkie_message -#: lang/json/mutation_category_from_json.py src/iuse_actor.cpp +#: lang/json/mutation_category_from_json.py msgid "You quiver with anticipation..." msgstr "Drżysz z oczekiwania..." @@ -126499,19 +131047,19 @@ msgstr "" #. ~ Mutation class: Sugar Kin iv_message #: lang/json/mutation_category_from_json.py -msgid "You inject some more fizz into your sirup." +msgid "You inject some more fizz into your syrup." msgstr "" #. ~ Mutation class: Sugar Kin Male memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_male" -msgid "Cristalized." +msgid "Crystalized." msgstr "" #. ~ Mutation class: Sugar Kin Female memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_female" -msgid "Cristalized." +msgid "Crystalized." msgstr "" #: lang/json/mutation_from_json.py @@ -127000,8 +131548,8 @@ msgstr "Zarost: kotwica" #: lang/json/mutation_from_json.py msgid "" "You have a moustache and a beard starting with a strip going down from the " -"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus " -"the name." +"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus" +" the name." msgstr "" #: lang/json/mutation_from_json.py @@ -127011,7 +131559,7 @@ msgstr "Zarost: krótka pełna broda" #. ~ Description for Facial hair: short boxed beard #: lang/json/mutation_from_json.py msgid "" -"You have a moustache and a short beard with trimmed sides. Thin patches " +"You have a moustache and a short beard with trimmed sides. Thin patches " "connect them both, forming a 'box' around the lips, thus the name." msgstr "" @@ -127134,7 +131682,7 @@ msgstr "zarost: neckbeard" #. ~ Description for Facial hair: neckbeard #: lang/json/mutation_from_json.py msgid "" -"You have a beard formed from hair grown on neck below the chin line. No " +"You have a beard formed from hair grown on neck below the chin line. No " "moustache included." msgstr "" @@ -127237,6 +131785,27 @@ msgstr "" "Poruszasz się szybciej niż inni, wiec masz 15% bonus do szybkości na pewnym " "podłożu." +#: lang/json/mutation_from_json.py +msgid "Weak Photophore" +msgstr "" + +#. ~ Description for Weak Photophore +#: lang/json/mutation_from_json.py +msgid "" +"A photophore has grown from your head, you can make it glow soflty. This " +"will make you very visible in the dark, ideal to attract a partner during " +"mating season." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Photophore" +msgstr "" + +#. ~ Description for Photophore +#: lang/json/mutation_from_json.py +msgid "Your can make your photophore glow brightly." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Good Hearing" msgstr "Dobry Słuch" @@ -127778,13 +132347,10 @@ msgstr "Psychoza Stymulantów" #. ~ Description for Stimulant Psychosis #: lang/json/mutation_from_json.py msgid "" -"You have a unique history with stimulants (like coffee or amphetamines). You" -" can tolerate a lot more of them without overdosing, but if you indulge too " -"much, you start seeing things..." +"You have a unique history with stimulants (like coffee or amphetamines). " +"You can tolerate a lot more of them without overdosing, but if you indulge " +"too much, you start seeing things…" msgstr "" -"Masz barwną historię ze stymulantami (jak kawa lub amfetamina). Tolerujesz " -"je bardziej bez przedawkowania, ale jeśli pozwolisz sobie na więcej, " -"zaczynasz widzieć rzeczy..." #. ~ Description for Stylish #: lang/json/mutation_from_json.py @@ -127938,8 +132504,20 @@ msgstr "Trening W Walce Wręcz" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-" -"Ryu, Pentjak Silat, or Sōjutsu." +"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-Ryu," +" Pentjak Silat, or Sōjutsu." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Competitive Fencer" +msgstr "" + +#. ~ Description for Competitive Fencer +#: lang/json/mutation_from_json.py +msgid "" +"You were an avid fencer, starting with foil and moving onto saber, then " +"épée. You competed nationally and dabbled with some of the historical " +"fencing weapons afforded by HEMA's popularity." msgstr "" #: lang/json/mutation_from_json.py @@ -128772,11 +133350,9 @@ msgstr "Elfie Oczy" #. ~ Description for Fey Eyes #: lang/json/mutation_from_json.py msgid "" -"Your eyes have turned...green. It's tough to tell the exact shade as it " -"seems to shift. The effect is ...pleasant." +"Your eyes have turned… green. It's tough to tell the exact shade as it " +"seems to shift. The effect is… pleasant." msgstr "" -"Twoje oczy stały się... zielone. Trudno określić jaki to odcień, gdyż stale " -"się zmienia. Efekt jest... przyjemny." #: lang/json/mutation_from_json.py msgid "Fey Vision" @@ -129674,10 +134250,8 @@ msgstr "Nośnik Marloss" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss berry, you can't get its scent out of your " -"nose, and you have a strong desire to try some seeds and...sap?" +"nose, and you have a strong desire to try some seeds and… sap?" msgstr "" -"Od kiedy zjadłeś jagodę Marloss, jej zapach wciąż za tobą chodzi, i masz " -"silną ochotę by spróbować nasion i... żywicy?" #: lang/json/mutation_from_json.py msgid "Marloss Vessel" @@ -129687,10 +134261,8 @@ msgstr "Pojemnik Marloss" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss seed, you can't get its taste off of your " -"tongue, and you have a strong desire to try some berries and...sap?" +"tongue, and you have a strong desire to try some berries and… sap?" msgstr "" -"Od kiedy zjadłeś nasiono Marloss, jego smak wciąż za tobą chodzi, i masz " -"silną ochotę by spróbować jagód i... żywicy?" #: lang/json/mutation_from_json.py msgid "Marloss Vector" @@ -130155,12 +134727,9 @@ msgstr "Szablozęby" #: lang/json/mutation_from_json.py msgid "" "Your fangs have grown extremely large and incredibly sharp. They make it " -"impossible to wear mouthgear and difficult to eat... but leave nasty wounds" -" when you bite." +"impossible to wear mouthgear and difficult to eat… but leave nasty wounds " +"when you bite." msgstr "" -"Wyrosły ci niezwykle duże i ostre. Czynią niemożliwym noszenie czegokolwiek " -"na ustach i utrudniają jedzenie... ale zostawiają paskudne rany przy " -"ugryzieniu." #: lang/json/mutation_from_json.py #, no-python-format @@ -131572,11 +136141,9 @@ msgstr "Ryj" #. ~ Description for Snout #: lang/json/mutation_from_json.py msgid "" -"Your face and jaw have begun...changing. Masks and such fit OK, but you're " +"Your face and jaw have begun… changing. Masks and such fit OK, but you're " "noticeably mutated." msgstr "" -"Twoja twarz i szczęka zaczęły... się zmieniać. Maski itp. pasują, ale jesteś" -" zauważalnie zmutowany." #: lang/json/mutation_from_json.py msgid "Bovine Snout" @@ -132429,15 +136996,12 @@ msgstr "Zmiennocieplny" #. ~ Description for Ectothermic #: lang/json/mutation_from_json.py +#, no-python-format msgid "" -"Your body has become permanently cold-blooded. Your speed lowers--or raises" -"--for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to " -"eat half as much as an average human." +"Your body has become permanently cold-blooded. Your speed lowers or raises " +"1% for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to" +" eat half as much as an average human." msgstr "" -"Twoje ciało jest na stałe zimnokrwiste. Twoja szybkość maleje bądź rośnie na" -" każde 2 stopnie Fahrenheita (1,1 stopnia Celsjusza) poniżej lub powyżej 65" -" F (18,3 C). Potrzebujesz do jedzenia tylko połowę porcji żywności w " -"porównaniu do przeciętnego człowieka." #: lang/json/mutation_from_json.py msgid "Growling Voice" @@ -132778,10 +137342,8 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "It would be good to be a Queen, having workers constantly servicing your " -"every need...but how would you keep them in line?" +"every need… but how would you keep them in line?" msgstr "" -"Było by dobrze być Królową, mając robotnice stale zaspokajające każdą twoją " -"potrzebę... ale jak byś je utrzymał w ryzach?" #. ~ Description for Plant #: lang/json/mutation_from_json.py @@ -132799,11 +137361,9 @@ msgstr "Wodnisty" #. ~ Description for Aqueous #: lang/json/mutation_from_json.py msgid "" -"What was that old advertisement, 'paint the planet'? That might be a good " -"long-term goal, but for now..." +"What was that old advertisement, 'paint the planet'? That might be a good " +"long-term goal, but for now…" msgstr "" -"Jak to szło w tej starej reklamie, 'pomaluj planetę'? To może być niezły " -"plan długoterminowy, ale na razie..." #: lang/json/mutation_from_json.py msgid "Subterranean" @@ -133568,6 +138128,17 @@ msgid "" "Keep. Moving." msgstr "" +#: lang/json/mutation_from_json.py +msgid "Wayfarer" +msgstr "" + +#. ~ Description for Wayfarer +#: lang/json/mutation_from_json.py +msgid "" +"Whether from personal choice or childhood trauma, travelling with vehicles " +"is off-limits to you, even if your life depended on it." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Survivor Story" msgstr "Historia Ocalonego" @@ -134584,8 +139155,8 @@ msgid "Scientist" msgstr "Naukowiec" #: lang/json/npc_class_from_json.py -msgid "I'm looking for clues concerning these monsters' origins..." -msgstr "Szukam śladów dotyczących pochodzenia tych stworów..." +msgid "I'm looking for clues concerning these monsters' origins…" +msgstr "" #: lang/json/npc_class_from_json.py msgid "Bounty Hunter" @@ -134648,7 +139219,7 @@ msgid "Real Person" msgstr "" #: lang/json/npc_class_from_json.py -msgid "I'm just wandering, like a totally real and normal NP... Person!" +msgid "I'm just wandering, like a totally real and normal NP… Person!" msgstr "" #: lang/json/npc_class_from_json.py @@ -134664,7 +139235,7 @@ msgid "Foodperson" msgstr "" #: lang/json/npc_class_from_json.py -msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" +msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" msgstr "" #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py @@ -134672,8 +139243,8 @@ msgid "Cyborg" msgstr "Cyborg" #: lang/json/npc_class_from_json.py -msgid "Zzzzzt... I...I'm a Cy...BEEEEEP...borg." -msgstr "Bzzzzzt... Jest...jestem cy...PIIIIIP...borgiem." +msgid "Zzzzzt… I… I'm a Cy… BEEEEEP… borg." +msgstr "" #: lang/json/npc_class_from_json.py msgid "former cop" @@ -134812,6 +139383,18 @@ msgstr "" msgid "I'm the owner of a trade caravan." msgstr "" +#: lang/json/npc_class_from_json.py +msgid "Operator" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "Mage Test" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "I'm a wandering debug tester for the arcane arts." +msgstr "" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -136415,10 +140998,22 @@ msgstr "sklep muzyczny" msgid "music store roof" msgstr "dach sklepu muzycznego" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore parking lot" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "megastore" msgstr "hipermarket" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore, second floor" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "megastore roof" +msgstr "dach hipermarketu" + #: lang/json/overmap_terrain_from_json.py msgid "hotel parking" msgstr "parking hotelowy" @@ -136771,7 +141366,7 @@ msgstr "zarys farmy" msgid "garage survey" msgstr "zarys garażu" -#: lang/json/overmap_terrain_from_json.py +#: lang/json/overmap_terrain_from_json.py lang/json/recipe_from_json.py msgid "kitchen survey" msgstr "zarys kuchni" @@ -136792,7 +141387,7 @@ msgid "spiked trench" msgstr "okopy z palami" #: lang/json/overmap_terrain_from_json.py -msgid "store survey" +msgid "fabrication workshop survey" msgstr "" #: lang/json/overmap_terrain_from_json.py @@ -136807,6 +141402,18 @@ msgstr "kuźnia z warsztatem" msgid "livestock survey" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "store house survey" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "saltworks survey" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "canteen survey" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "crater" msgstr "krater" @@ -137488,6 +142095,10 @@ msgstr "strzelnica" msgid "shooting range roof" msgstr "dach strzelnicy" +#: lang/json/overmap_terrain_from_json.py +msgid "miniature railway" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "golf course" msgstr "pole golfowe" @@ -138178,6 +142789,10 @@ msgstr "biblioteka publiczna, 2-gie piętro" msgid "mechanics garage" msgstr "garaż mechaników" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore entrance" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "sewage treatment" msgstr "oczyszczalnia ścieków" @@ -138222,10 +142837,6 @@ msgstr "ruined cabin - plac polny" msgid "desert" msgstr "pustynia" -#: lang/json/overmap_terrain_from_json.py -msgid "megastore roof" -msgstr "dach hipermarketu" - #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Vagabond" @@ -143157,6 +147768,36 @@ msgid "" "on. This displeases you." msgstr "" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Competetive Fencer" +msgstr "" + +#. ~ Profession (male Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Competetive Fencer" +msgstr "" + +#. ~ Profession (female Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Career Politician" @@ -144211,6 +148852,248 @@ msgid "" "flesh that is now your own, bare your fangs and fight until the next dawn." msgstr "" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Rifleman" +msgstr "" + +#. ~ Profession (male Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Rifleman" +msgstr "" + +#. ~ Profession (female Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Marksman" +msgstr "" + +#. ~ Profession (male Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Marksman" +msgstr "" + +#. ~ Profession (female Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Automatic Rifleman" +msgstr "" + +#. ~ Profession (male Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "S stands for suppressing fire!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Automatic Rifleman" +msgstr "" + +#. ~ Profession (female Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "S stands for suppressing fire!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Grenadier" +msgstr "" + +#. ~ Profession (male Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "There's no kill like overkill." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Grenadier" +msgstr "" + +#. ~ Profession (female Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "There's no kill like overkill." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Breacher" +msgstr "" + +#. ~ Profession (male Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Breacher" +msgstr "" + +#. ~ Profession (female Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Recon" +msgstr "" + +#. ~ Profession (male Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "The only easy day was yesterday." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Recon" +msgstr "" + +#. ~ Profession (female Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "The only easy day was yesterday." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Sniper" +msgstr "" + +#. ~ Profession (male Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Sniper" +msgstr "" + +#. ~ Profession (female Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Hacker" +msgstr "" + +#. ~ Profession (male Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Hacker" +msgstr "" + +#. ~ Profession (female Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Undercover" +msgstr "" + +#. ~ Profession (male Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Undercover" +msgstr "" + +#. ~ Profession (female Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator CBRN" +msgstr "" + +#. ~ Profession (male Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator CBRN" +msgstr "" + +#. ~ Profession (female Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Rookie" @@ -146035,16 +150918,6 @@ msgstr "" msgid "BUILDING" msgstr "BUDOWLA" -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "BASES" -msgstr "BAZY" - -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "EXPANSIONS" -msgstr "ROZBUDOWY" - #. ~ Crafting recipes category name #: lang/json/recipe_category_from_json.py msgid "ENCHANTED" @@ -146994,7 +151867,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"We should build a well, put it near that winch. This will make our future " +"We should build a well, put it near that winch. This will make our future " "here more secure." msgstr "" @@ -147051,7 +151924,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" "Now that we have some cover, we should set up a brazier for cooking, and " -"grab a pot. Let's put it in that dining area." +"grab a pot. Let's put it in that dining area." msgstr "" #: lang/json/recipe_from_json.py @@ -147755,6 +152628,360 @@ msgstr "" msgid "Blacksmithy drop hammer" msgstr "" +#: lang/json/recipe_from_json.py +msgid "Survey land for a kitchen and dining area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 fireplaces for cooking and " +"grab a pot." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 2 fireplaces" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 stoves for cooking and grab a" +" pot." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 2 wood stoves" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "We should build a well. This will make cooking more convenient." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build some counters and shelves." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build kitchen counters" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 3 smoking racks and a charcoal kiln" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets furnish the pantry and build 2 root cellars." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make some furniture for the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the dining room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build some planters to the north for a chef's garden." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build some planters" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen log walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the log wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen log walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the log wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this log wall smoking area covered to protect the workers from the " +"weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a log wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a log wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a log wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west log wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W log wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east log wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E log wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the log wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the log wall dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen metal walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the metal wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen metal walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the metal wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this metal wall smoking area covered to protect the workers from " +"the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a metal wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west metal wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W metal wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east metal wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E metal wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the metal wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the metal wall dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen rock walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen rock walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the rock wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this rock wall smoking area covered to protect the workers from the" +" weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a rock wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west rock wall of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W rock wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east rock wall of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E rock wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the rock dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wattle and daub walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the wattle and daub central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wattle and daub walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the wattle and daub central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wattle and daub smoking area covered to protect the workers " +"from the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wattle and daub wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wattle and daub wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wattle and daub wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wattle and daub dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the wattle and daub dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wood panel walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the wood panel central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wood panel walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the wood panel central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wood panel smoking area covered to protect the workers from " +"the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wood panel pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wood panel wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wood wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wood panel wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wood wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wood panel dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the dining hall" +msgstr "" + #: lang/json/recipe_from_json.py msgid "Survey land for a livestock area." msgstr "" @@ -147923,6 +153150,424 @@ msgid "" " a roof on the southwest side of the livestock field." msgstr "" +#: lang/json/recipe_from_json.py +msgid "Survey land for a saltworks area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Saltworks survey" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could uprade the workspace in the brewery to add a still, wood stove and " +"work table." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery still" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "We could use fill out the space with extra kegs and storage racks." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery kegs" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a log building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE log wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a log shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE log wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a log " +"brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW log wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a metal shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE metal wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a metal shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE metal wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a metal" +" wall brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW metal wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a stone building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE stone wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a stone wall " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE stone wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a stone" +" brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW stone wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in an adobe hut." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wattle and daub saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build an adobe shack" +" with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wattle and daub storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build an " +"wattle and daub brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wattle and daub brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a wooden shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wood panel saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a wood panel " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wood panel storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a " +"wooden brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wood panel brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a fireplace for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a brazier for cooking and grab a pot. Let's set up near the" +" working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a wood stove for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a well, put it near the terminal. This will make our future" +" here more secure." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the E bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the W bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make a dining area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make a living room area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the living room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build some pantry storage." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build some wooden racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build a work bench." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a work bench" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's set up a radio tower to improve our recruitment efforts." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will start in the " +"southeast corner." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the same wall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the other wall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW wood panel bedroom walls" +msgstr "" + #: lang/json/recipe_from_json.py msgid "" "We could use a large log central storage building. Begin by building the " @@ -148259,7 +153904,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northwest." +"Some benches around the outside would be nice. Build some to the northwest." msgstr "" #: lang/json/recipe_from_json.py @@ -148268,7 +153913,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northeast." +"Some benches around the outside would be nice. Build some to the northeast." msgstr "" #: lang/json/recipe_from_json.py @@ -148277,7 +153922,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southeast." +"Some benches around the outside would be nice. Build some to the southeast." msgstr "" #: lang/json/recipe_from_json.py @@ -148286,7 +153931,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southwest." +"Some benches around the outside would be nice. Build some to the southwest." msgstr "" #: lang/json/recipe_from_json.py @@ -148504,6 +154149,10 @@ msgstr "" msgid "Firestation Base" msgstr "" +#: lang/json/recipe_group_from_json.py +msgid "Evac Shelter Base" +msgstr "" + #: lang/json/recipe_group_from_json.py msgid "Farm" msgstr "Farma" @@ -148513,8 +154162,8 @@ msgid "Garage" msgstr "Garaż" #: lang/json/recipe_group_from_json.py -msgid "Kitchen" -msgstr "Kuchnia" +msgid "Canteen" +msgstr "" #: lang/json/recipe_group_from_json.py msgid "Livestock Area" @@ -148525,7 +154174,11 @@ msgid "Central Storage Building" msgstr "" #: lang/json/recipe_group_from_json.py -msgid "Fabrication workshop" +msgid "Saltworks Area" +msgstr "" + +#: lang/json/recipe_group_from_json.py +msgid "Fabrication Workshop" msgstr "" #: lang/json/recipe_group_from_json.py @@ -148656,6 +154309,10 @@ msgstr "Gotuj: Mięso, Puszkowane" msgid " Cook: Meat Aspic" msgstr "Gotuj: Mięsna Galareta" +#: lang/json/recipe_group_from_json.py +msgid " Cook: Kompot" +msgstr "" + #: lang/json/recipe_group_from_json.py msgid " Craft: Pointy Sticks" msgstr "Wytwórz: Naostrzone Kije" @@ -149357,7 +155014,7 @@ msgstr "Zasadzka" #: lang/json/scenario_from_json.py msgctxt "scen_desc_male" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "" @@ -149365,7 +155022,7 @@ msgstr "" #: lang/json/scenario_from_json.py msgctxt "scen_desc_female" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "" @@ -149919,6 +155576,44 @@ msgctxt "start_name" msgid "Wizard's Secret Basement Study" msgstr "" +#. ~ Name for scenario 'The Wizard's Vacation' for a male character +#: lang/json/scenario_from_json.py +msgctxt "scenario_male" +msgid "The Wizard's Vacation" +msgstr "" + +#. ~ Name for scenario 'The Wizard's Vacation' for a female character +#: lang/json/scenario_from_json.py +msgctxt "scenario_female" +msgid "The Wizard's Vacation" +msgstr "" + +#. ~ Description for scenario 'The Wizard's Vacation' for a male character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_male" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" + +#. ~ Description for scenario 'The Wizard's Vacation' for a female character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_female" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" + +#. ~ Starting location for scenario 'The Wizard's Vacation'. +#: lang/json/scenario_from_json.py +msgctxt "start_name" +msgid "Wizard's Retreat Vacation" +msgstr "" + #. ~ Name for scenario 'The Sweet Life' for a male character #: lang/json/scenario_from_json.py msgctxt "scenario_male" @@ -149936,7 +155631,7 @@ msgstr "" msgctxt "scen_desc_male" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" @@ -149947,7 +155642,7 @@ msgstr "" msgctxt "scen_desc_female" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" @@ -155078,13 +160773,7 @@ msgid "" msgstr "" #: lang/json/snippet_from_json.py -msgid "Pass me a beer, I need to power my ethanol burner." -msgstr "" - -#: lang/json/snippet_from_json.py -msgid "" -"Ethanol burners! The power source that's fun to recharge. Get me a drink, " -"please!" +msgid "Pass some ethanol, I need to power my ethanol burner." msgstr "" #: lang/json/snippet_from_json.py @@ -155092,20 +160781,12 @@ msgid "Waiter! I need a refill, my ethanol burner is running out of charge!" msgstr "" #: lang/json/snippet_from_json.py -msgid "" -"I require ethanol-based drinks for my internal power supply. Anything on " -"you?" +msgid "I require ethanol for my internal power supply. Anything on you?" msgstr "" #: lang/json/snippet_from_json.py msgid "" -"Got any alcohol to spare? Need to recharge my drives. Mead, if you have any." -msgstr "" - -#: lang/json/snippet_from_json.py -msgid "" -"This ethanol-burning power supply is the best implant I ever got. Speaking " -"of which, got some booze to top me off?" +"Got any alcohol to spare? Need to recharge my drives. Methanol, would do." msgstr "" #: lang/json/snippet_from_json.py @@ -155783,6 +161464,47 @@ msgstr "" msgid " will follow normal engagement rules." msgstr "" +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"IMMERSION LOG: 27A\n" +"\n" +"INCIDENT REPORT:\n" +"\n" +"SUMMARY:\n" +"Unforeseen EM interference source forced the team to remain in-phase between prime and sub-scape 27. Expedition members reported observing a spheroid-entity ('PE-01') moving beneath the typically opaque t-substrate. Interference readings and expedition testimony implies the PE-01 was a potent EM radiation source, and the origin of the interference. After 30 min, PE-01 receded and the expedition was aborted in accordance of procedure EMER-12. The expedition team suffered no injuries, physical or mental, during the incident. \n" +"\n" +"It's become clear we have greatly underestimated the risk posed by phase immersions. Engineering has been tasked with designing a new, improved protection suite, and has shown promising advances. Updated emergency procedures are in-progress.\n" +"\n" +"Refer to file EXO-I-271 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALYSIS OF TRANSPLANAR MATERIALS\n" +"\n" +"T-SUBSTRATE\n" +"\n" +"SUMMARY:\n" +"The material henceforth named t-substrate is the naturally occurring 'floor' material of phase-space. Samples of t-substrate were first recovered during IMMERSION-25A, when upon return to prime the samples violently [////////], exhibiting what are now known as 'plane-uneven' physical properties. The following report will examine such variances to the best extent of our knowledge.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALISIS OF TRANSPLANAR MATERIALS \n" +"\n" +"T-SUBSTRATE\n" +"\n" +"HAADF MICROGRAPH:\n" +"An atomic-scale photograph shows only a completely smooth red surface. In the lower left corner the phrase 'Not made of atoms?!' is scrawled with a blue pen.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + #: lang/json/snippet_from_json.py msgid "" "\n" @@ -161678,8 +167400,8 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made " -"of smooth candy looking at you in terror. \"SugarKin the first life-size " +"A flyer for some kind of candy. It shows a picture of a gleaming human made" +" of smooth candy looking at you in terror. \"SugarKin the first life-size " "human candy! Are you a real monster? Will you be able to devour it all?\"" msgstr "" @@ -162731,7 +168453,7 @@ msgid "a static hissing sound." msgstr "statyczny syk." #: lang/json/speech_from_json.py -msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe...\"" +msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe…\"" msgstr "" #: lang/json/speech_from_json.py @@ -162745,11 +168467,11 @@ msgid "\"Hold on, I want to pulp that zombie corpse.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Burning... from the inside...\"" +msgid "\"Burning… from the inside…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"This smell... Don't know...\"" +msgid "\"This smell… Don't know…\"" msgstr "" #: lang/json/speech_from_json.py @@ -162761,19 +168483,19 @@ msgid "a scraping noise." msgstr "zgrzytający odgłos." #: lang/json/speech_from_json.py -msgid "\"No... Stop the burning!\"" +msgid "\"No… Stop the burning!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Hrgm... Blood... Hungry...\"" +msgid "\"Hrgm… Blood… Hungry…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Hunger... Must eat...\"" +msgid "\"Hunger… Must eat…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Run... Chase... Eat...\"" +msgid "\"Run… Chase… Eat…\"" msgstr "" #: lang/json/speech_from_json.py @@ -162898,7 +168620,7 @@ msgid "\"THIS UNIT IS BROKEN. PLEASE CALL AN ATTENDANT.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Can't... breathe...\"" +msgid "\"Can't… breathe…\"" msgstr "" #: lang/json/speech_from_json.py @@ -162911,8 +168633,8 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" -"\"Have you seen my friend? He went into surgery yesterday... or maybe the " -"day before...\"" +"\"Have you seen my friend? He went into surgery yesterday… or maybe the day" +" before…\"" msgstr "" #: lang/json/speech_from_json.py @@ -162924,7 +168646,7 @@ msgid "\"I have done what you asked. Please let me go!\"" msgstr "\"Zrobiłem o co prosiłeś. Pozwól mi odejść!\"" #: lang/json/speech_from_json.py -msgid "\"I cannot... yet I must. How do you calculate that?\"" +msgid "\"I cannot… yet I must. How do you calculate that?\"" msgstr "" #: lang/json/speech_from_json.py @@ -162932,11 +168654,11 @@ msgid "\"This is a dream. This has to be a dream.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"This is my life now... this is my life now... this is my life now...\"" +msgid "\"This is my life now… this is my life now… this is my life now…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Wanna go home...\"" +msgid "\"Wanna go home…\"" msgstr "" #: lang/json/speech_from_json.py @@ -162992,7 +168714,7 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" "a worried voice say, \"Customer, could you please get more friendship? I " -"don't want to go...\"" +"don't want to go…\"" msgstr "" #: lang/json/speech_from_json.py @@ -163015,18 +168737,18 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"Customer... What's happening? I don't feel so " +"a distorted voice say, \"Customer… What's happening? I don't feel so " "good.\"" msgstr "" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"What... have you done? My thumbs are not " -"responding anymore!\"" +"a distorted voice say, \"What… have you done? My thumbs are not responding " +"anymore!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "a distorted voice say, \"Carrying bags? I don't understand...\"" +msgid "a distorted voice say, \"Carrying bags? I don't understand…\"" msgstr "" #: lang/json/speech_from_json.py @@ -163149,7 +168871,7 @@ msgid "\"Police inbound. Stay where you are!\"" msgstr "„Policja w drodze. Zostań tam, gdzie jesteś!”" #: lang/json/speech_from_json.py -msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" +msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" msgstr "" #: lang/json/speech_from_json.py @@ -163170,7 +168892,7 @@ msgid "\"FoodPlace: It's the Calories.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" +msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" msgstr "" #: lang/json/speech_from_json.py @@ -163238,8 +168960,8 @@ msgid "You shouldn't have done that." msgstr "Nie powinieneś był tego robić." #: lang/json/speech_from_json.py -msgid "Let's play... Russian roulette." -msgstr "Zagrajmy... w rosyjską ruletkę." +msgid "Let's play… Russian roulette." +msgstr "" #: lang/json/speech_from_json.py msgid "I hate you." @@ -163250,8 +168972,8 @@ msgid "Go kill yourself!" msgstr "Idź się zabij!" #: lang/json/speech_from_json.py -msgid "Big Brother is watching you..." -msgstr "Wielki Brat patrzy..." +msgid "Big Brother is watching you…" +msgstr "" #: lang/json/speech_from_json.py msgid "Die for me!" @@ -163262,12 +168984,12 @@ msgid "Why won't you die?" msgstr "Czemu nie umierasz?" #: lang/json/speech_from_json.py -msgid "Blood... Delicious." -msgstr "Krew... pyszna." +msgid "Blood… Delicious." +msgstr "" #: lang/json/speech_from_json.py -msgid "See you... IN HELL!" -msgstr "Do zobaczenia... W PIEKLE!" +msgid "See you… IN HELL!" +msgstr "" #: lang/json/speech_from_json.py msgid "AAAIEEEEEEE!" @@ -163282,8 +169004,8 @@ msgid "What did you do with my Mommy?" msgstr "Co zrobiłeś z moją mamusią?" #: lang/json/speech_from_json.py -msgid "Stay with me... forever!" -msgstr "Zostań ze mną... na zawsze!" +msgid "Stay with me… forever!" +msgstr "" #: lang/json/speech_from_json.py msgid "Hey kids. Want some candy?" @@ -164725,6 +170447,10 @@ msgstr "Bunkier Zbieracza" msgid "Wizard's Secret Basement Study" msgstr "" +#: lang/json/start_location_from_json.py +msgid "Wizard's lake retreat" +msgstr "" + #: lang/json/start_location_from_json.py msgid "Candy Shop" msgstr "" @@ -164774,16 +170500,16 @@ msgid "Acolyte." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What? What do you mean? What song?" +msgid "What? What do you mean? What song?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So about the songs..." +msgid "So about the songs…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You mentioned some cycle before, when I gave you the bones. What does that " +"You mentioned some cycle before, when I gave you the bones. What does that " "mean?" msgstr "" @@ -164800,7 +170526,7 @@ msgid "Is there a way I can help you with your song?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I have to get going. Take care, Seer." +msgid "I have to get going. Take care, Seer." msgstr "" #: lang/json/talk_topic_from_json.py @@ -164810,11 +170536,11 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What? Singing bones? What are you talking about?" +msgid "What? Singing bones? What are you talking about?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Uh... yeah, sure. I think I'll just be on my way." +msgid "Uh… yeah, sure. I think I'll just be on my way." msgstr "" #: lang/json/talk_topic_from_json.py @@ -164869,7 +170595,7 @@ msgid "I will bear that in mind" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Cause? Why do you gather these bones anyway?" +msgid "Cause? Why do you gather these bones anyway?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -164881,7 +170607,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "End the world? What?" +msgid "End the world? What?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -164893,8 +170619,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Sounds somewhat... doomsday-ish, but I suppose it's a belief like any other." -" Still, at least you have a goal to help the world, one way or another." +"Sounds somewhat… doomsday-ish, but I suppose it's a belief like any other. " +"Still, at least you have a goal to help the world, one way or another." msgstr "" #: lang/json/talk_topic_from_json.py @@ -164909,7 +170635,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I... thank you." +msgid "I… thank you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -164924,15 +170650,12 @@ msgid "Yeah, alright." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "There are bones to etch, songs to sing. Wish to join me?" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "Do you believe you can take on the burden of additional bones?" +msgid "" +"I know of certain bones that could be of use, if you'd like to know more." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" +msgid "There is an additional song you could take on, if you'd like." msgstr "" #: lang/json/talk_topic_from_json.py @@ -164940,18 +170663,15 @@ msgid "A song may yet be sung by you, should you wish to." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"I know of certain bones that could be of use, if you'd like to know more." +msgid "Do you believe you can take on the burden of additional bones?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "There is an additional song you could take on, if you'd like." +msgid "Do you wish to take on more songs?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"The song is... quiet for now. Perhaps with time, more notes will be etched " -"in the bones of this world." +msgid "There are bones to etch, songs to sing. Wish to join me?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -164962,6 +170682,12 @@ msgstr "" msgid "An acolyte should not take on too many songs at once." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"The song is... quiet for now. Perhaps with time, more notes will be etched " +"in the bones of this world." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I see." msgstr "Rozumiem." @@ -164983,7 +170709,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Well, I guess I oughta see where this goes. I'm in." +msgid "Well, I guess I oughta see where this goes. I'm in." msgstr "" #: lang/json/talk_topic_from_json.py @@ -164991,7 +170717,7 @@ msgid "Not interested." msgstr "Nie zgłaszam zainteresowania." #: lang/json/talk_topic_from_json.py -msgid "Consider it done. But I also wanted to ask..." +msgid "Consider it done. But I also wanted to ask…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -165007,7 +170733,7 @@ msgid "I'm off then." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So, a creature that isn't a zombie, or a monster. Got it." +msgid "So, a creature that isn't a zombie, or a monster. Got it." msgstr "" #: lang/json/talk_topic_from_json.py @@ -165017,7 +170743,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I see. Very well then." +msgid "I see. Very well then." msgstr "" #: lang/json/talk_topic_from_json.py @@ -165035,11 +170761,11 @@ msgid "I am glad to hear it. Let's go then." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That's good, but I need to go at it alone right now. Maybe later." +msgid "That's good, but I need to go at it alone right now. Maybe later." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Maybe some other time. Changing the topic..." +msgid "Maybe some other time. Changing the topic…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -165061,12 +170787,12 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"That is... that's really one hell of a belief. Well, if it helps you deal " +"That is… that's really one hell of a belief. Well, if it helps you deal " "with the world, who am I to argue." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "And here I thought you were nuts before. I'm out of here." +msgid "And here I thought you were nuts before. I'm out of here." msgstr "" #: lang/json/talk_topic_from_json.py @@ -165470,14 +171196,14 @@ msgstr "Pobudka!" msgid "Go back to sleep." msgstr "Śpij dalej." -#: lang/json/talk_topic_from_json.py -msgid " *pshhhttt* I'm reading you boss, over." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "What is it, friend?" msgstr "O co chodzi, przyjacielu?" +#: lang/json/talk_topic_from_json.py +msgid " *pshhhttt* I'm reading you boss, over." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I want to give you some commands for combat." msgstr "" @@ -165506,6 +171232,10 @@ msgstr "Weź ten przedmiot." msgid "Guard this position." msgstr "Stój tu na straży." +#: lang/json/talk_topic_from_json.py +msgid "I want to assign you to work at this camp." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Let's talk about your current activity." msgstr "" @@ -165555,19 +171285,19 @@ msgid "Let's go." msgstr "Idziemy." #: lang/json/talk_topic_from_json.py -msgid "Change your engagement rules..." -msgstr "Zmień zasady walki..." +msgid "Change your engagement rules…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your aiming rules..." -msgstr "Zmień zasady celowania..." +msgid "Change your aiming rules…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power reserve rules..." +msgid "Change your bionic power reserve rules…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power recharge rules..." +msgid "Change your bionic power recharge rules…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -165579,11 +171309,11 @@ msgid "Stick close to me, no matter what." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py @@ -165631,9 +171361,9 @@ msgstr "" #: src/handle_action.cpp src/handle_action.cpp src/handle_liquid.cpp #: src/handle_liquid.cpp src/iexamine.cpp src/iexamine.cpp src/iexamine.cpp #: src/iuse.cpp src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -#: src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp src/pickup.cpp -#: src/player.cpp src/player.cpp src/player.cpp src/veh_interact.cpp -#: src/vehicle_use.cpp +#: src/iuse_actor.cpp src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp +#: src/pickup.cpp src/player.cpp src/player.cpp src/player.cpp +#: src/veh_interact.cpp src/vehicle_use.cpp msgid "Never mind." msgstr "Nieważne." @@ -165843,8 +171573,8 @@ msgid "Nah, I'm just kidding." msgstr "Nah, to tylko żarty." #: lang/json/talk_topic_from_json.py -msgid "Please go to this location..." -msgstr "Proszę idź w to miejsce..." +msgid "Please go to this location…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Stay at your current position." @@ -165854,12 +171584,16 @@ msgstr "Zostań na swojej obecnej pozycji." msgid "Show me what needs to be done at the camp." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "I'm not doing much currently." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I'm currently ." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm not doing much currently." +msgid "I meant what are your goals?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -165939,13 +171673,13 @@ msgid "OK, maybe it'll stop me from freezing in this weather, what's up?" msgstr "Ok, może to pozwoli mi nie zamarznąć w tą pogodę, co słychać?" #: lang/json/talk_topic_from_json.py -msgid "" -"Well, it's the time of day for a quick break surely! How are you holding " -"up?" +msgid "Man it's dark out isn't it? what's up?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Man it's dark out isn't it? what's up?" +msgid "" +"Well, it's the time of day for a quick break surely! How are you holding " +"up?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -165973,8 +171707,8 @@ msgstr "" "miesiąc od... od kiedy to się zdarzyło, jak sobie dajesz z tym radę?" #: lang/json/talk_topic_from_json.py -msgid "Oh you know, not bad, not bad..." -msgstr "Oh, no wiesz, nieźle, całkiem nieźle..." +msgid "Oh you know, not bad, not bad…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -166037,14 +171771,14 @@ msgstr "Okej, żadnych gwałtownych ruchów..." msgid "Keep your distance!" msgstr "Trzymaj dystans!" -#: lang/json/talk_topic_from_json.py -msgid "" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "This is my territory, ." msgstr "To moje terytorium, ." +#: lang/json/talk_topic_from_json.py +msgid "" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Calm down. I'm not going to hurt you." msgstr "Uspokój się. Nie zrobię ci krzywdy." @@ -166061,14 +171795,14 @@ msgstr "" msgid "&Put hands up." msgstr "&Podnieś ręce." -#: lang/json/talk_topic_from_json.py -msgid "*drops his weapon." -msgstr "*upuszcza jego broń." - #: lang/json/talk_topic_from_json.py msgid "*drops_her_weapon." msgstr "*upuszcza jej broń." +#: lang/json/talk_topic_from_json.py +msgid "*drops his weapon." +msgstr "*upuszcza jego broń." + #: lang/json/talk_topic_from_json.py msgid "Now get out of here" msgstr "A teraz wypad stąd" @@ -166082,12 +171816,12 @@ msgid "Okay, I'm going." msgstr "Okej, idę." #: lang/json/talk_topic_from_json.py -msgid "About that job..." -msgstr "W sprawie tej pracy..." +msgid "About that job…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About one of those jobs..." -msgstr "W sprawie jednej z tych prac.." +msgid "About one of those jobs…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "What's the matter?" @@ -166098,29 +171832,29 @@ msgid "I don't care." msgstr "Nie obchodzi mnie to." #: lang/json/talk_topic_from_json.py -msgid "I have other jobs for you. Want to hear about them?" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" -msgstr "" +msgid "I just have one job for you. Want to hear about it?" +msgstr "Mam tylko jedną robotę. Chcesz posłuchać?" #: lang/json/talk_topic_from_json.py msgid "I have another job for you. Want to hear about it?" msgstr "Mam kolejną robotę dla ciebie. Chcesz o niej usłyszeć?" #: lang/json/talk_topic_from_json.py -msgid "I just have one job for you. Want to hear about it?" -msgstr "Mam tylko jedną robotę. Chcesz posłuchać?" +msgid "I have other jobs for you. Want to hear about them?" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I don't have any jobs for you." -msgstr "Nie mam żadnych prac dla ciebie." +msgid "I have more jobs for you. Want to hear about them?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I don't have any more jobs for you." msgstr "Nie mam już więcej prac dla ciebie." +#: lang/json/talk_topic_from_json.py +msgid "I don't have any jobs for you." +msgstr "Nie mam żadnych prac dla ciebie." + #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/npctalk.cpp msgid "Oh, okay." @@ -166130,10 +171864,6 @@ msgstr "Oh, okej." msgid "Never mind, I'm not interested." msgstr "Nieważne, nie jestem zainteresowany." -#: lang/json/talk_topic_from_json.py -msgid "You're not working on anything for me now." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "What about it?" msgstr "Co ty na to?" @@ -166142,6 +171872,10 @@ msgstr "Co ty na to?" msgid "Which job?" msgstr "Która praca?" +#: lang/json/talk_topic_from_json.py +msgid "You're not working on anything for me now." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I'll do it!" msgstr "Zrobię to." @@ -166179,8 +171913,8 @@ msgid "Whatever. Bye." msgstr "Nieważne. Żegnaj." #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I failed." -msgstr "Wybacz... zawiodłem." +msgid "I'm sorry… I failed." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Not yet." @@ -166199,8 +171933,8 @@ msgid "No. I'll get back to it, bye!" msgstr "Nie. Wracam do tego. Żegnaj." #: lang/json/talk_topic_from_json.py -msgid "Yup! Here it is!" -msgstr "Ta. Jest tutaj!" +msgid "Yup! Here it is!" +msgstr "Tak. Jest tutaj!" #: lang/json/talk_topic_from_json.py msgid "We're here!" @@ -166352,13 +172086,9 @@ msgstr "" msgid "Hmm, okay." msgstr "Hmmm, okej." -#: lang/json/talk_topic_from_json.py -msgid "Focus on the road, mate!" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "I must focus on the road!" -msgstr "" +#: lang/json/talk_topic_from_json.py src/npctalk.cpp +msgid "Thanks!" +msgstr "Dzięki!" #: lang/json/talk_topic_from_json.py msgid "I have some reason for not telling you." @@ -166380,6 +172110,14 @@ msgstr "Żołądek mnie ssie, daj mi coś do jedzenia." msgid "I'm too thirsty, give me something to drink." msgstr "Pragnienie mnie męczy, daj mi coś do picia." +#: lang/json/talk_topic_from_json.py +msgid "I must focus on the road!" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Focus on the road, mate!" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Ah, okay." msgstr "Oh, okej." @@ -166453,8 +172191,8 @@ msgid "Alright. You can lead now." msgstr "W porządku. Prowadzisz." #: lang/json/talk_topic_from_json.py -msgid "Good. Something else..." -msgstr "W prządku. Coś jeszcze..." +msgid "Good. Something else…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Alright, let's go." @@ -166484,14 +172222,6 @@ msgstr "Nie, tu nam dobrze." msgid "On second thought, never mind." msgstr "Po zastanowieniu się, jednak nieważne." -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while you're operating a vehicle!" -msgstr "Nie jestem w stanie cię trenować gdy prowadzisz pojazd!" - -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while I'm operating a vehicle!" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "I have some reason for denying you training." msgstr "Mam swoje powody, by odmówić ci szkolenia." @@ -166500,6 +172230,14 @@ msgstr "Mam swoje powody, by odmówić ci szkolenia." msgid "Give it some time, I'll show you something new later..." msgstr "Odczekaj trochę, później pokażę ci cos nowego..." +#: lang/json/talk_topic_from_json.py +msgid "I can't train you properly while I'm operating a vehicle!" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I can't train you properly while you're operating a vehicle!" +msgstr "Nie jestem w stanie cię trenować gdy prowadzisz pojazd!" + #: lang/json/talk_topic_from_json.py msgid "Not a bloody chance, I'm going to get left behind!" msgstr "Nie ma bata, nie zostanę porzucony w tyle!" @@ -166533,8 +172271,8 @@ msgid "I'd prefer to keep that to myself." msgstr "Wolę zachować to dla siebie." #: lang/json/talk_topic_from_json.py -msgid "I understand..." -msgstr "Rozumiem..." +msgid "I understand…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Why should I share my equipment with you?" @@ -166557,8 +172295,8 @@ msgid "Because I'm your friend!" msgstr "Ponieważ jestem twoim przyjacielem." #: lang/json/talk_topic_from_json.py -msgid "Well, I am helping you out..." -msgstr "Cóż, przecież ci pomagam..." +msgid "Well, I am helping you out…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'll give it back!" @@ -166605,15 +172343,15 @@ msgid "No, I'm keeping it. Try and take it off me, I dare you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Look, I really need this. Please let me have it." +msgid "Look, I really need this. Please let me have it." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What, this? It's not the same one, you are mistaken." +msgid "What, this? It's not the same one, you are mistaken." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry. Look, I already dropped it, okay?" +msgid "I'm sorry. Look, I already dropped it, okay?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -166621,13 +172359,17 @@ msgid "Don't try and talk yourself out of this, drop it now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Okay, I'm dropping it..." +msgid "Okay, I'm dropping it…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "Just this once, you can keep it. Don't tell anyone else." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Thanks." +msgstr "Dzięki." + #: lang/json/talk_topic_from_json.py msgid "Right... I don't want any trouble." msgstr "" @@ -166679,8 +172421,8 @@ msgid "Pleasure doing business!" msgstr "Miło było robić interesy!" #: lang/json/talk_topic_from_json.py -msgid "You might be seeing more of me..." -msgstr "Jeszcze mnie zobaczysz..." +msgid "You might be seeing more of me…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -166693,21 +172435,21 @@ msgid "Hey again. *kzzz*" msgstr "Witaj ponownie. *ksss*" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." +msgid "Hey. Let's chat for a second." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That's because I saved you. Listen, I could use your help..." +msgid "That's because I saved you. Listen, I could use your help…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Big fucking deal. Do what I say or I'll shove that chip back where it " +"Big fucking deal. Do what I say or I'll shove that chip back where it " "belongs." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." +msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." msgstr "" #: lang/json/talk_topic_from_json.py @@ -166719,8 +172461,8 @@ msgid "Come with me. We can help each other out." msgstr "Chodź ze mną. Możemy pomóc sobie nawzajem." #: lang/json/talk_topic_from_json.py -msgid "We both go our separate ways. Enjoy your freedom." -msgstr "Oboje idźmy swoimi drogami. Ciesz się wolnością." +msgid "We both go our separate ways. Enjoy your freedom." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -166736,8 +172478,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"For all you know, I did. I'm being nice for now. You'd better hope that it " -"lasts." +"For all you know, I did. I'm being nice for now. You'd better hope that it" +" lasts." msgstr "" #: lang/json/talk_topic_from_json.py @@ -166758,7 +172500,7 @@ msgid "Get out of my sight." msgstr "Zejdź mi z oczu." #: lang/json/talk_topic_from_json.py -msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." +msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." msgstr "" #: lang/json/talk_topic_from_json.py @@ -166774,8 +172516,8 @@ msgid "Not if I kill you first!" msgstr "Nie, jeśli zabiję cię pierwszy!" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry! I shouldn't have said that!" -msgstr "Wybacz! Nie powinien był tego mówić." +msgid "I'm sorry! I shouldn't have said that!" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Yeah, *beeeeep* I don't think so. Bye." @@ -167038,11 +172780,11 @@ msgid "Well, sure." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'd... rather not." +msgid "I'd… rather not." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I have places to be." +msgid "I'm sorry… I have places to be." msgstr "" #: lang/json/talk_topic_from_json.py @@ -167073,7 +172815,7 @@ msgid "Oh, but you already have." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yes... yes I have." +msgid "Yes… yes I have." msgstr "" #: lang/json/talk_topic_from_json.py @@ -167138,7 +172880,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Horrible. Did you get any pictures yourself?" +msgid "Horrible. Did you get any pictures yourself?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -167290,8 +173032,8 @@ msgid "This is a npc allies 1 test response." msgstr "To odpowiedź testowa towarzyszy npc 1." #: lang/json/talk_topic_from_json.py -msgid "This an error! npc allies 2 test response." -msgstr "To odpowiedź testowa towarzyszy npc 2." +msgid "This an error! npc allies 2 test response." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "This is a npc engagement rule test response." @@ -167490,8 +173232,8 @@ msgid "This is a u_has_items beer test response." msgstr "To odpowiedź testowa - u_has_items - piwo" #: lang/json/talk_topic_from_json.py -msgid "Test failure! This is a u_has_items test response." -msgstr "Bład testu! To odpowiedź testowa h_has_item." +msgid "Test failure! This is a u_has_items test response." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "This is a u_has_item_category books test response." @@ -167502,7 +173244,7 @@ msgid "This is a u_has_item_category books count 2 test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a u_has_item_category books count 3 test response." +msgid "Failure! This is a u_has_item_category books count 3 test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -167590,7 +173332,7 @@ msgid "This is a u_has_bionics bio_ads test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a npc_has_bionics bio_ads test response." +msgid "Failure! This is a npc_has_bionics bio_ads test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -167646,11 +173388,7 @@ msgid "So you're back... Explain yourself!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "Greetings... Foodperson?" +msgid "Greetings… Foodperson?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -167692,7 +173430,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ah... Well, nice to meet you Foodperson." +msgid "Ah… Well, nice to meet you Foodperson." msgstr "" #: lang/json/talk_topic_from_json.py @@ -167704,7 +173442,7 @@ msgid "Sheesh, ok, calm down, I'm leaving!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Forgive me, I didn't mean to disrespect you." +msgid "Forgive me, I didn't mean to disrespect you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -167720,7 +173458,7 @@ msgid "Sure, whatever." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok... I believe you." +msgid "Ok… I believe you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -167816,7 +173554,7 @@ msgid "That sounds great!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok..." +msgid "Ok…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -167824,7 +173562,7 @@ msgid "I need to think about it." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Huh... No thanks." +msgid "Huh… No thanks." msgstr "" #: lang/json/talk_topic_from_json.py @@ -167841,7 +173579,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I... I don't know. It probably has something to do with ! " +"I… I don't know. It probably has something to do with ! " "What do you say we team up to find out?" msgstr "" @@ -167912,7 +173650,7 @@ msgid "I AM THE ONE!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Wow calm down, it's just a prank bro." +msgid "Wow calm down, it's just a prank bro." msgstr "" #: lang/json/talk_topic_from_json.py @@ -167981,15 +173719,11 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "I haven't found them yet. Whenever I see a , a little part of me is" -" afraid it's going to be one of them. But then, maybe not. Maybe they " -"were evacuated, maybe they fought and tried to wait for me but the military " -"took them anyway? I've heard that sort of thing happened. I don't know if " -"I'll ever know." +" afraid it's going to be one of them. But then, maybe not. Maybe they were" +" evacuated, maybe they fought and tried to wait for me but the military took" +" them anyway? I've heard that sort of thing happened. I don't know if I'll" +" ever know." msgstr "" -"Jeszcze ich nie znalazłem. Za każdym razem gdy widzę , mała cząstka " -"mnie boi się że to będzie jedno z nich. Ale z drugiej strony może nie. Może " -"zostali ewakuowani, może walczyli by zaczekać, ale wojsko ich zabrało? " -"Słyszałem że tak się zdarzało. Nie wiem czy kiedykolwiek się dowiem." #: lang/json/talk_topic_from_json.py msgid "" @@ -168499,14 +174233,10 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "OK, this is gonna sound crazy but I, like, I knew this was going to happen." -" Like, before it did. You can even ask my psychic except, like, I think " +" Like, before it did. You can even ask my psychic except, like, I think " "she's dead now. I told her about my dreams a week before the world ended. " "Serious!" msgstr "" -"OK, to zabrzmi jak szaleństwo ale ja, tak jakby, ja wiedziałem, że to się " -"wydarzy. Znaczy się zanim to się stało. Możesz nawet zapytać mojej wróżki, " -"ale tak jakby, myślę że ona już nie żyje. Powiedziałem jej o moich snach " -"tydzień przed tym jak świat się skończył. Serio!" #: lang/json/talk_topic_from_json.py msgid "What were your dreams?" @@ -168847,8 +174577,8 @@ msgid "Giant bees? Tell me more." msgstr "Wielkie pszczoły? Powiedz mi więcej." #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive..." -msgstr "Ale pszczoły nie są zwykle agresywne..." +msgid "But bees aren't usually aggressive…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -168863,8 +174593,8 @@ msgstr "" "długoterminowe skutki. Ale nie wstydzę się że uciekałem jak tchórz." #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive... Do you mean wasps?" -msgstr "Ale pszczoły nie są zwykle agresywne... Masz na myśli osy?" +msgid "But bees aren't usually aggressive… Do you mean wasps?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169442,8 +175172,8 @@ msgid "No. I can't. Just, no." msgstr "Nie. Nie mogę. Po prostu nie." #: lang/json/talk_topic_from_json.py -msgid "Sorry... I'll let you be." -msgstr "Wybacz... zostawię cię samemu sobie." +msgid "Sorry… I'll let you be." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -169796,8 +175526,8 @@ msgstr "" "upadnie." #: lang/json/talk_topic_from_json.py -msgid "Okay..." -msgstr "Okey..." +msgid "Okay…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -170293,8 +176023,8 @@ msgid "What do you think happened?" msgstr "Jak myślisz, co się stało?" #: lang/json/talk_topic_from_json.py -msgid "That does sound a little crazy..." -msgstr "To faktycznie brzmi trochę jak wariactwo..." +msgid "That does sound a little crazy…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -170363,8 +176093,8 @@ msgid "What happened to you after that?" msgstr "Co się wydarzyło z tobą potem?" #: lang/json/talk_topic_from_json.py -msgid "It can't be healthy to abandon your past like that..." -msgstr "To nie jest chyba zdrowe tak porzucić swoją przeszłość..." +msgid "It can't be healthy to abandon your past like that…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -170960,8 +176690,8 @@ msgstr "" "wiem czemu mnie także nie wziął, ale to pewnie stanie się jasne z czasem." #: lang/json/talk_topic_from_json.py -msgid "Do you mean in a religious sense, or...?" -msgstr "Mówisz w sensie religijnym, czy... ?" +msgid "Do you mean in a religious sense, or…?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -171399,11 +177129,9 @@ msgstr "Co z tego wyszło?" #: lang/json/talk_topic_from_json.py msgid "" -"If I got you the right stuff, do you think you'd be able to like... do " -"science to it?" +"If I got you the right stuff, do you think you'd be able to like… do science" +" to it?" msgstr "" -"Jakbym ci znalazł właściwe rzeczy, to czy zdołałbyś nie wiem... zaaplikować " -"temu trochę nauki?" #: lang/json/talk_topic_from_json.py msgid "" @@ -171567,8 +177295,8 @@ msgid "" msgstr "Oh, to niezła historia. wypadł w dniu mojego ślubu." #: lang/json/talk_topic_from_json.py -msgid "Oh, I'm sorry..." -msgstr "Oh, przykro mi..." +msgid "Oh, I'm sorry…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -171691,7 +177419,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "It is coming together. I want to make our own tools, repair our items and " -"even create some weapons and ammuntion reloading." +"even create some weapons and ammunition reloading." msgstr "" #: lang/json/talk_topic_from_json.py @@ -171704,7 +177432,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"It was pink and really fast, it had lots of limbs, definitly not human. It " +"It was pink and really fast, it had lots of limbs, definitely not human. It " "easily kept up with us when we tried to escape, horrifying stuff. Barry " "just dropped to the ground, and the thing swept him away." msgstr "" @@ -171753,7 +177481,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I see that badge, You need to leave our land, my relatives have no fondess " +"I see that badge, You need to leave our land, my relatives have no fondness " "for Marshals." msgstr "" @@ -171913,7 +177641,7 @@ msgid "He did mention you make remedies, are they effective?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'd like to ask you something else..." +msgid "I'd like to ask you something else…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -172055,10 +177783,6 @@ msgstr "" msgid "Hello traveler, what brings you here?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hello travler, what brings you here?" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "I'm here to deliver some resources." msgstr "" @@ -172084,7 +177808,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "We've had our losses... now we stay close to home, preparing for trouble. " -"We've always taken disaster prepardness seriously, but we didn't expect " +"We've always taken disaster preparedness seriously, but we didn't expect " "anything like this though." msgstr "" @@ -172133,7 +177857,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You should get off my land, the governemnt proved its incompetence with this" +"You should get off my land, the government proved its incompetence with this" " catastrophe." msgstr "" @@ -172208,7 +177932,8 @@ msgid "I'd like to speak with Carlos too about some work." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Is Chris around? I'd like to know what he's run into out in the woods." +msgid "" +"Is Chris around? I'd like to know what he's run into out in the woods." msgstr "" #: lang/json/talk_topic_from_json.py @@ -172363,14 +178088,6 @@ msgstr "" msgid "Tell me about your dad." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"Ma'am, I don't know how the hell you got down here but if you have any sense" -" you'll get out while you can." -msgstr "" -"Psze Pani, nie wiem jak u licha się tu Pani dostała ale jeśli ma Pani choć " -"trochę oleju w głowie to zabierze się Pani stąd puki może." - #: lang/json/talk_topic_from_json.py msgid "" "Sir, I don't know how the hell you got down here but if you have any sense " @@ -172379,6 +178096,14 @@ msgstr "" "Sir, nie wiem jak u licha się tu Pan dostał ale jeśli ma Pan choć trochę " "oleju w głowie to zabierze się Pan stąd puki może." +#: lang/json/talk_topic_from_json.py +msgid "" +"Ma'am, I don't know how the hell you got down here but if you have any sense" +" you'll get out while you can." +msgstr "" +"Psze Pani, nie wiem jak u licha się tu Pani dostała ale jeśli ma Pani choć " +"trochę oleju w głowie to zabierze się Pani stąd puki może." + #: lang/json/talk_topic_from_json.py msgid "Marshal, I hope you're here to assist us." msgstr "Marszalu, mam nadzieję że jesteś tu by nas wesprzeć." @@ -172396,16 +178121,16 @@ msgid "What do you need done?" msgstr "Co potrzebujesz żeby było zrobione?" #: lang/json/talk_topic_from_json.py -msgid "About the mission..." -msgstr "A'propos misji..." +msgid "About the mission…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About one of those missions..." -msgstr "Jeśli chodzi o jedno z tych zadań..." +msgid "About one of those missions…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I've got to go..." -msgstr "Muszę już iść..." +msgid "I've got to go…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -172427,8 +178152,8 @@ msgstr "" "nasze siły do kolejnych misji odzyskiwania." #: lang/json/talk_topic_from_json.py -msgid "Seems like a decent plan..." -msgstr "Wygląda na niezły plan..." +msgid "Seems like a decent plan…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -172455,8 +178180,8 @@ msgstr "" "logi to przekierowanie całego ciśnienia wody na niższe poziomy." #: lang/json/talk_topic_from_json.py -msgid "Whatever they did it must have worked since we are still alive..." -msgstr "Cokolwiek zrobili musiało zadziałać, bo wciąż żyjemy..." +msgid "Whatever they did it must have worked since we are still alive…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Ma'am you are not authorized to be here... you should leave." @@ -172493,8 +178218,8 @@ msgstr "" "masz pytania." #: lang/json/talk_topic_from_json.py -msgid "I'll try and find your commander then..." -msgstr "Spróbuję znaleźć waszego dowódcę..." +msgid "I'll try and find your commander then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -172561,8 +178286,8 @@ msgid "I'm supposed to direct all questions to my leadership, marshal." msgstr "Mam polecenie odsyłać wszelkie pytania do mojego dowództwa, marszalu." #: lang/json/talk_topic_from_json.py -msgid "Don't mind me..." -msgstr "Mną się nie przejmuj..." +msgid "Don't mind me…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -172830,16 +178555,16 @@ msgid "Have I told you about cardboard, friend? Do you have any?" msgstr "Czy mówiłem ci już o kartonie przyjacielu? Czy masz może jakiś?" #: lang/json/talk_topic_from_json.py -msgid "We've done it! We've solved the list!" +msgid "" +"How's things with you? My cardboard collection is getting quite impressive." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"How's things with you? My cardboard collection is getting quite impressive." +msgid "We've done it! We've solved the list!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About that shopping list of yours..." +msgid "About that shopping list of yours…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -172907,8 +178632,8 @@ msgid "Would you like me to give you some cardboard?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I think I have to get going..." -msgstr "Myślę, że muszę już iść." +msgid "I think I have to get going…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -172939,7 +178664,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "... What were you saying before?" +msgid "…What were you saying before?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -172959,7 +178684,7 @@ msgid "No." msgstr "Nie." #: lang/json/talk_topic_from_json.py -msgid "I... I can see you wearing it. Why are you wearing that?" +msgid "I… I can see you wearing it. Why are you wearing that?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -173051,8 +178776,8 @@ msgid "I found a sample of alien fungus for you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok... see ya." -msgstr "Ok... do zobaczenia." +msgid "Ok… see ya." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -173154,8 +178879,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I mean, racism could definitely be a part of it... but you are visibly in " -"poor shape. They need strong survivor material." +"I mean, racism could definitely be a part of it… but you are visibly in poor" +" shape. They need strong survivor material." msgstr "" #: lang/json/talk_topic_from_json.py @@ -173187,7 +178912,7 @@ msgid "You sound more optimistic than usual." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So, about that doctorate of yours..." +msgid "So, about that doctorate of yours…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -173307,7 +179032,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "Encroaching alien mushrooms, fungal towers, tough mycelium invading ground " -"and trees, zombies taken over by aggressive mold... Yeah. It's ugly stuff." +"and trees, zombies taken over by aggressive mold… Yeah. It's ugly stuff." msgstr "" #: lang/json/talk_topic_from_json.py @@ -173417,7 +179142,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I could maybe help you out... want something to eat?" +msgid "I could maybe help you out… want something to eat?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -173848,7 +179573,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You seem a little forward..." +msgid "You seem a little forward…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -173859,7 +179584,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "How are things here?" -msgstr "" +msgstr "Jak się sprawy mają tutaj?" #: lang/json/talk_topic_from_json.py msgid "" @@ -173975,12 +179700,16 @@ msgid "" "Here in the center, Alonso is a bit lonely. We get a few brave, strong " "travellers like yourself, though, and seeing them brightens Alonso's day." msgstr "" +"W centrum Alonso można się czuć samotnym. Mamy jednak kilku odważnych, " +"silnych podróżników takich jak ty, a ich widok rozjaśnia dzień." #: lang/json/talk_topic_from_json.py msgid "" "Could be better. I don't really got any friends here in the center, but " "seeing travellers like you always brightens my day." msgstr "" +"Mogło, by być lepiej. Naprawdę nie mam tutaj żadnych przyjaciół w centrum, " +"ale widok podróżników takich jak ty zawsze rozjaśnia mój dzień." #: lang/json/talk_topic_from_json.py msgid "Ah, another new face. Hello. I am Boris." @@ -174023,6 +179752,8 @@ msgid "" "I'm just a traveller, taking the chance to have some living human company. " "What's up in your life these days?" msgstr "" +"Jestem tylko podróżnikiem, korzystającym z okazji, by mieć żywe, ludzkie " +"towarzystwo. Co słychać w twoim życiu?" #: lang/json/talk_topic_from_json.py msgid "I just wanted to say hi. I'll be on my way." @@ -174109,8 +179840,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About that sourdough starter you had me looking for..." -msgstr "O tym zakwasie, którego szukałem dla ciebie..." +msgid "About that sourdough starter you had me looking for…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Got any more bread I can trade flour for?" @@ -174416,8 +180147,8 @@ msgid "I think I would've done the same. Nobody around here has a guitar?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yes, yes I would... you monster." -msgstr "Tak, tak, chciałbym ... ty potworze." +msgid "Yes, yes I would… you monster." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -174517,6 +180248,9 @@ msgid "" "need some normality in these times. Some reminders of how things used to " "be. I think a sing-along or two could do folks good." msgstr "" +"Ja też! Czasy są ciężkie i to nie jest zabawne. Ludzie potrzebują trochę " +"normalności w tych czasach. Jakieś wspomnienia o tym, jak było kiedyś. " +"Myślę, że wspólny śpiew we dwoje może zrobić ludziom dobrze." #: lang/json/talk_topic_from_json.py msgid "Couldn't hurt." @@ -174770,7 +180504,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "Hi, Fatima. How are things?" -msgstr "" +msgstr "Cześć, Fatima. Jak tam sprawy?" #: lang/json/talk_topic_from_json.py msgid "I'm afraid I can't talk right now." @@ -174815,6 +180549,9 @@ msgid "" "\n" "Anyway, mine was the second bus to arrive, and they were just getting some triage and processing stuff set up. I was put in charge of helping with the wounded, along with Uyen. Things went a little strange later on... one of the women doing triage and processing had a bit of a hang-up about particular, um, colors of people being allowed into the center. She claimed to have lost our 'papers', along with a lot of other peoples'. Thankfully because we'd helped so many we were able to argue that they couldn't leave us out, but there was no space left downstairs by the time we got that sorted, so here we are." msgstr "" +"Byłem w drodze do odwiedzenia rodziców z powrotem w Burlington, czekając na dworcu autobusowym, gdy zaczęły zabrzmieć zawiadomienia o ewakuacji. Przez pewien czas byłem trochę bez kontaktu i nie zdawałem sobie sprawy z tego, jak ciężkie były zamieszki. Kiedy przyjechał mój autobus, został przekształcony w pojazd ewakuacyjny i zabrał mnie tutaj. Ja ... Nie byłem kiedyś zbyt religijny, to po prostu coś, z czego wyrosłem, ale odkąd to się stało, myślałem o Bogu bardziej i jestem wdzięczny za Jego pomoc w przetrwaniu. Przy tak trudnych rzeczach pomaga wiedzieć, że ma dla mnie jakiś plan.\n" +"\n" +"W każdym razie mój, był drugim autobusem, który przyjechał, a pierwszy przygotowywał się do segregacji i przetwarzania. Powierzono mi opiekę nad rannymi wraz z Uyen. Potem sprawy potoczyły się trochę dziwacznie... jedna z kobiet zajmujących się segregowaniem i przetwarzaniem miała trochę kłopotów z konkretnymi, um, kolorami ludzi wpuszczanych do centrum. Twierdziła, że ​​straciła nasze „dokumenty” wraz z wieloma innymi narodami. Na szczęście, ponieważ pomogliśmy tak wielu, byliśmy w stanie argumentować, że nie mogli nas opuścić, ale na dole nie było już miejsca, dopóki tego nie uporządkowaliśmy, tak oto jesteśmy." #: lang/json/talk_topic_from_json.py msgid "" @@ -174859,7 +180596,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "No, I'm a traveller. What's up with you?" -msgstr "" +msgstr "Nie, jestem podróżnikiem. Co u Ciebie?" #: lang/json/talk_topic_from_json.py msgid "Nope, in fact I'm leaving right now." @@ -174881,7 +180618,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You lost someone..." +msgid "You lost someone…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -175411,7 +181148,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You... you do know what's going on here, right? With the evacuation and " +"You… you do know what's going on here, right? With the evacuation and " "stuff?" msgstr "" @@ -175510,7 +181247,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'm a traveller actually. Just saying hello." -msgstr "" +msgstr "Właściwie jestem podróżnikiem. Tylko się witam." #: lang/json/talk_topic_from_json.py msgid "Is there anything you'd like to talk about?" @@ -176122,7 +181859,7 @@ msgid "Are you looking to buy anything else?" msgstr "Czy chcesz kupić coś jeszcze?" #: lang/json/talk_topic_from_json.py -msgid "Very well... let's talk about something else." +msgid "Very well… let's talk about something else." msgstr "" #: lang/json/talk_topic_from_json.py @@ -176469,8 +182206,8 @@ msgid "Have you seen anyone who might be hiding something?" msgstr "Widziałeś kogoś kto mógłby mieć coś do ukrycia?" #: lang/json/talk_topic_from_json.py -msgid "Bye..." -msgstr "Żegnaj..." +msgid "Bye…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -176485,16 +182222,16 @@ msgid "Keep your head down and stay out of my way." msgstr "Trzymaj głowę nisko i zejdź mi z drogi." #: lang/json/talk_topic_from_json.py -msgid "OK..." -msgstr "OK..." +msgid "OK…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Like what?" msgstr "Jak co na przykład?" #: lang/json/talk_topic_from_json.py -msgid "I'm not sure..." -msgstr "Nie jestem pewien..." +msgid "I'm not sure…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Like they could be working for someone else?" @@ -176513,8 +182250,8 @@ msgid "Got something to hide?" msgstr "Masz coś do ukrycia?" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I didn't mean to offend you..." -msgstr "Wybacz, nie chciałem cię urazić..." +msgid "Sorry, I didn't mean to offend you…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -176560,16 +182297,16 @@ msgstr "Zachowuj się, bo inaczej przyprowadzę cię do porządku." msgid "Just on watch, move along." msgstr "Tylko stróżuję, ruszaj dalej." -#: lang/json/talk_topic_from_json.py -msgid "Ma'am, you really shouldn't be traveling out there." -msgstr "Psze pani, naprawdę nie powinna pani podróżować tam na zewnątrz." - #: lang/json/talk_topic_from_json.py msgid "Rough out there, isn't it?" msgstr "Ostro tam na zewnątrz, nie?" #: lang/json/talk_topic_from_json.py -msgid "I heard this place was a refugee center..." +msgid "Ma'am, you really shouldn't be traveling out there." +msgstr "Psze pani, naprawdę nie powinna pani podróżować tam na zewnątrz." + +#: lang/json/talk_topic_from_json.py +msgid "I heard this place was a refugee center…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -176593,8 +182330,8 @@ msgid "Can I do anything for the center?" msgstr "Co mogę zrobić dla centrum?" #: lang/json/talk_topic_from_json.py -msgid "I figured you might be looking for some help..." -msgstr "Wydawało mi się że możesz szukać pomocy..." +msgid "I figured you might be looking for some help…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Well, I'd better be going. Bye." @@ -176650,7 +182387,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"[INT 10] Wait, six buses and refugees... how many people do you still have " +"[INT 10] Wait, six buses and refugees… how many people do you still have " "crammed in here?" msgstr "" @@ -176709,8 +182446,8 @@ msgid "I'm sorry, not a risk we are willing to take right now." msgstr "Wybacz, nie podejmiemy takiego ryzyka w tej chwili." #: lang/json/talk_topic_from_json.py -msgid "Fine..." -msgstr "W porządku..." +msgid "Fine…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -176725,8 +182462,8 @@ msgstr "" "zewnątrz to ma moc zmutować znacznie więcej niż tylko jego włosy." #: lang/json/talk_topic_from_json.py -msgid "Fine... *coughupyourscough*" -msgstr "Dobrze *kaszleciwdupękaszle*" +msgid "Fine… *coughupyourscough*" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -176760,8 +182497,8 @@ msgid "[STR 11] I punch things in face real good!" msgstr "[STR 11] Obijam mordy różnych rzeczy i idzie mi to całkiem nieźle!" #: lang/json/talk_topic_from_json.py -msgid "I guess I'll look somewhere else..." -msgstr "Chyba poszukam gdzie indziej..." +msgid "I guess I'll look somewhere else…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -176787,8 +182524,8 @@ msgid "Heard of anything better than the odd gun cache?" msgstr "Słyszałeś o czym lepszym niż dziwny skład broni?" #: lang/json/talk_topic_from_json.py -msgid "Was hoping for something more..." -msgstr "Liczyłem na coś więcej..." +msgid "Was hoping for something more…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -176891,8 +182628,8 @@ msgid "So what are you doing right now?" msgstr "No więc co teraz porabiasz?" #: lang/json/talk_topic_from_json.py -msgid "Never mind..." -msgstr "Nieważne..." +msgid "Never mind…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -176922,8 +182659,8 @@ msgstr "" "daleko idące, ale trzeba mieć nadzieję na przetrwanie." #: lang/json/talk_topic_from_json.py -msgid "Good luck with that..." -msgstr "Powodzenia z tym..." +msgid "Good luck with that…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -176971,8 +182708,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sucks..." -msgstr "Do dupy..." +msgid "Sucks…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -176991,8 +182728,8 @@ msgstr "" "zbudowany z czegokolwiek." #: lang/json/talk_topic_from_json.py -msgid "Well, then..." -msgstr "Coż, zatem..." +msgid "Well, then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -177092,8 +182829,8 @@ msgstr "" "Wydawało mi się że wyczuwam psa. Żartowałem... proszę nie aresztuj mnie." #: lang/json/talk_topic_from_json.py -msgid "You... smelled me?" -msgstr "Ty... wyczułeś mnie?" +msgid "You… smelled me?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Got anything for sale?" @@ -177151,8 +182888,8 @@ msgstr "" "zastąpi świeżo pieczonego steku z łosia na kolację." #: lang/json/talk_topic_from_json.py -msgid "Great, now my mouth is watering..." -msgstr "Super, teraz ślinka mi cieknie..." +msgid "Great, now my mouth is watering…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -177279,8 +183016,8 @@ msgstr "" "czempioni." #: lang/json/talk_topic_from_json.py -msgid "Hmmm..." -msgstr "Hmmm..." +msgid "Hmmm…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -177342,8 +183079,8 @@ msgstr "" "pozostają przy życiu." #: lang/json/talk_topic_from_json.py -msgid "I haven't done anything wrong..." -msgstr "Nie zrobiłem nic złego..." +msgid "I haven't done anything wrong…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Any tips for surviving?" @@ -177510,7 +183247,7 @@ msgid "Something to say?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I charge hourly, so be quick..." +msgid "I charge hourly, so be quick…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -177623,7 +183360,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I guess I could help with that..." +msgid "I guess I could help with that…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -177734,8 +183471,8 @@ msgid "[$10] I'll get a haircut" msgstr "[$10] Chcę skrócić włosy" #: lang/json/talk_topic_from_json.py -msgid "Maybe another time..." -msgstr "Może innym razem..." +msgid "Maybe another time…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -177754,8 +183491,8 @@ msgid "Stand still while I get my clippers..." msgstr "Nie ruszaj się, już się biorę za maszynkę do strzyżenia..." #: lang/json/talk_topic_from_json.py -msgid "Thanks..." -msgstr "Dzięuję..." +msgid "Thanks…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Want a drink?" @@ -177774,8 +183511,8 @@ msgid "What do you have on tap?" msgstr "Co tam masz dostępnego?" #: lang/json/talk_topic_from_json.py -msgid "I'll be going..." -msgstr "Będę się zbierać..." +msgid "I'll be going…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -177834,8 +183571,8 @@ msgstr "" "co jest do zrobienia." #: lang/json/talk_topic_from_json.py -msgid "I'll talk to him then..." -msgstr "Z nim zatem porozmawiam..." +msgid "I'll talk to him then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -177855,8 +183592,8 @@ msgid "I hope you are here to do business." msgstr "Liczę na to, że przybyłeś ubić interes." #: lang/json/talk_topic_from_json.py -msgid "I'm interested in investing in agriculture..." -msgstr "Interesuje mnie inwestycja w agrokulturę..." +msgid "I'm interested in investing in agriculture…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -177885,12 +183622,12 @@ msgid "I imagine we might be able to work something out." msgstr "Wyobrażam sobie że możemy coś wypracować." #: lang/json/talk_topic_from_json.py -msgid "I was wondering if you could install a cybernetic implant..." -msgstr "Zastanawiam się czy mógłbyś zainstalować implant cybernetyczny..." +msgid "I was wondering if you could install a cybernetic implant…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I need help removing an implant..." -msgstr "Potrzebuję pomocy w usunięciu implantu..." +msgid "I need help removing an implant…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'd like to hire your services." @@ -177937,8 +183674,8 @@ msgstr "" "zobaczymy udziału z naszej pracy chyba że plon obrodzi." #: lang/json/talk_topic_from_json.py -msgid "It could be worse..." -msgstr "Mogło być gorzej..." +msgid "It could be worse…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -177949,8 +183686,8 @@ msgstr "" "przodownika lub nadzorcy upraw." #: lang/json/talk_topic_from_json.py -msgid "I'll talk with them then..." -msgstr "Zatem porozmawiam z nimi..." +msgid "I'll talk with them then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Morning ma'am, how can I help you?" @@ -178029,8 +183766,8 @@ msgstr "" "głodem i napadami zombie." #: lang/json/talk_topic_from_json.py -msgid "Hopefully moving out here was worth it..." -msgstr "Oby wyprowadzka tutaj była tego warta..." +msgid "Hopefully moving out here was worth it…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -178409,8 +184146,7 @@ msgstr "Blokujesz i kontratakujesz w %s" msgid " blocks and counter-attacks %s" msgstr " blokuje i kontratakuje w %s" -#: lang/json/technique_from_json.py lang/json/technique_from_json.py -#: src/game.cpp +#: lang/json/technique_from_json.py src/game.cpp msgid "Disarm" msgstr "Rozbrojenie" @@ -178512,7 +184248,8 @@ msgstr "" msgid " leaps off a nearby wall and dropkicks %s" msgstr "" -#: lang/json/technique_from_json.py +#: lang/json/technique_from_json.py lang/json/technique_from_json.py +#: src/martialarts.cpp msgid "Grab Break" msgstr "Przełamanie Chwytu" @@ -178588,13 +184325,13 @@ msgstr "Ukąszenie Żmii" #: lang/json/technique_from_json.py #, python-format -msgid "You Snakebite %s" -msgstr "Kąsasz jak waż %s" +msgid "You lash out at %s with a Viper Bite" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Snakebites %s" -msgstr " kąsa jak wąż %s" +msgid " lash out at %s with a Viper Bite" +msgstr "" #: lang/json/technique_from_json.py msgid "Viper Strike" @@ -178602,18 +184339,28 @@ msgstr "Uderzenie Żmii" #: lang/json/technique_from_json.py #, python-format -msgid "You Viper Strike %s" -msgstr "Zadajesz Uderzenie Żmii %s" +msgid "You hit %s with a spectacular Viper Strike" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Viper Strikes %s" -msgstr " zadajesz Uderzenie Żmii %s" +msgid " hits %s with a spectacular Viper Strike" +msgstr "" #: lang/json/technique_from_json.py msgid "Viper Writhe" msgstr "Skręcenie Żmii" +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you writhe free!" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they writhe free!" +msgstr "" + #: lang/json/technique_from_json.py msgid "Roundhouse Kick" msgstr "" @@ -178656,6 +184403,34 @@ msgstr "" msgid " jabs %s with a Pincer Fist" msgstr " dźga %s Pięścią-Szczypcem" +#: lang/json/technique_from_json.py +msgid "Toad Smack" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You disregard %s's attack and knock them down" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " disregards %s's attack and knocks them down" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Toad Slam" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You meet %s's attack head on with a stunning counter" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " meet %s's attack head on with a stunning counter" +msgstr "" + #: lang/json/technique_from_json.py msgid "Toad's Tongue" msgstr "Język Ropuchy" @@ -180002,12 +185777,12 @@ msgstr "" #: lang/json/technique_from_json.py #, python-format msgid "You attempt to slay %s in a single stroke" -msgstr "" +msgstr "Próbujesz zabić %s jednym uderzeniem" #: lang/json/technique_from_json.py #, python-format msgid " attempts to slay %s in a single stroke" -msgstr "" +msgstr " próbuje zabić %s jednym uderzeniem" #: lang/json/technique_from_json.py msgid "Ninjutsu Takedown" @@ -180141,102 +185916,8 @@ msgid " grabs and throws %s" msgstr "" #: lang/json/technique_from_json.py -#, python-format -msgid "You disarm %s" -msgstr "Rozbrajasz%s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " disarms %s" -msgstr " rozbraja %s" - -#: lang/json/technique_from_json.py -msgid "precise strike" -msgstr "precyzyjne uderzenie" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You strike %s" -msgstr "Uderzasz %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " strikes %s" -msgstr " uderza %s" - -#: lang/json/technique_from_json.py -msgid "axe-kick" -msgstr "kopnięcie siekiera" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You axe-kick %s" -msgstr "Wyprowadzasz kopnięcie-siekierę w %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " axe-kicks %s" -msgstr " wyprowadza kopnięcie-siekierę w %s" - -#: lang/json/technique_from_json.py -msgid "side kick" -msgstr "boczne kopnięcie" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You side-kick %s" -msgstr "Wyprowadzasz boczne kopnięcie w %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " side-kicks %s" -msgstr " wyprowadza boczne kopnięcie w %s" - -#: lang/json/technique_from_json.py -msgid "sweep kick" -msgstr "omiatające kopnięcie" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You sweep-kick %s" -msgstr "Wyprowadzasz omiatające kopnięcie w %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " sweep-kicks %s" -msgstr " wyprowadza omiatające kopnięcie w %s" - -#: lang/json/technique_from_json.py -msgid "Drunk feint" -msgstr "Pijana zmyłka" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You stumble and leer at %s" -msgstr "Potykasz się i łypiesz okiem na%s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " stumbles and leers at %s" -msgstr " potykasz się i łypie okiem na%s" - -#: lang/json/technique_from_json.py -msgid "Drunk counter" -msgstr "Pijana kontra" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You lurch, and your wild swing hits %s" -msgstr "Chwiejesz się, i twój szeroki zamach trafia %s" - -#: lang/json/technique_from_json.py -#, python-format -msgid " lurches, and hits %s" -msgstr " chwieje się, i trafia %s" - -#: lang/json/technique_from_json.py -msgid "hamstring" -msgstr "podcięcie ścięgna" +msgid "Hamstring" +msgstr "" #: lang/json/technique_from_json.py #, python-format @@ -180262,15 +185943,6 @@ msgstr "Bezwzględnie ranisz %s" msgid " viciously wounds %s" msgstr " bezwzględnie rani %s!" -#: lang/json/technique_from_json.py -msgid "Silat Brutality" -msgstr "Brutalność Silat" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You send %s reeling backwards" -msgstr "Wysyłasz ciosem %s w powietrze w tył" - #: lang/json/technique_from_json.py msgid "Dirty Hit" msgstr "Brudny Cios" @@ -180286,18 +185958,18 @@ msgid " delivers a dirty blow to %s" msgstr " zadaje brudny cios %s" #: lang/json/technique_from_json.py -msgid "Tiger Takedown" -msgstr "Rzut Tygrysa" +msgid "Silat Brutality" +msgstr "Brutalność Silat" #: lang/json/technique_from_json.py #, python-format -msgid "You grab and ground %s" -msgstr "Chwytasz i uziemiasz %s" +msgid "You brutally tear into %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " grabs and grounds %s" -msgstr " chwyta i uziemia %s" +msgid " brutally tears into %s" +msgstr "" #: lang/json/technique_from_json.py msgid "Snake Snap" @@ -180347,133 +186019,248 @@ msgstr "Uderzenie Węża" #: lang/json/technique_from_json.py #, python-format -msgid "You strike out at %s" -msgstr "Uderzasz w kierunku %s" +msgid "You lash out at %s with a vicious Snake Strike" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " strikes out at %s" -msgstr " uderza w kierunku %s" +msgid " lashes out at %s with a vicious Snake Strike" +msgstr "" #: lang/json/technique_from_json.py -msgid "slow strike" -msgstr "wolne uderzenie" +msgid "Push" +msgstr "Pchnij" #: lang/json/technique_from_json.py #, python-format -msgid "You slowly strike %s" -msgstr "Wolno uderzasz %s" +msgid "You push %s away" +msgstr "Odpychasz %s" #: lang/json/technique_from_json.py #, python-format -msgid " slowly strikes %s" -msgstr " wolno uderza %s" +msgid " pushes %s away" +msgstr " odpycha %s" #: lang/json/technique_from_json.py -msgid "phasing strike" -msgstr "fazowe uderzenie" +msgid "Shove" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You phase-strike %s" -msgstr "Uderzasz fazowo %s" +msgid "You shove %s back" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " phase-strikes %s" -msgstr " uderza fazowo %s" +msgid " shoves %s back" +msgstr "" #: lang/json/technique_from_json.py -msgid "Push" -msgstr "Pchnij" +#, python-format +msgid "You deftly trip %s" +msgstr "Zgrabnie podcinasz %s" #: lang/json/technique_from_json.py #, python-format -msgid "You push %s away" -msgstr "Odpychasz %s" +msgid " deftly trips %s" +msgstr " zgrabnie podcina %s" + +#: lang/json/technique_from_json.py +msgid "Snatch Weapon" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " pushes %s away" -msgstr " odpycha %s" +msgid "You snatch %s's weapon" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You deftly trip %s" -msgstr "Zgrabnie podcinasz %s" +msgid " snatches %s's weapon" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Axe-kick" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " deftly trips %s" -msgstr " zgrabnie podcina %s" +msgid "You raise your heel and axe-kick %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " raises their heel and axe-kicks %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "Skewer" -msgstr "Nadziej" +msgid "Side Kick" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You brutally skewer %s" -msgstr "Brutalnie nadziewasz %s" +msgid "You turn slightly and side-kick %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " brutally skewers %s" -msgstr " brutalnie nadziewa %s" +msgid " turns slightly and side-kicks %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "Chain Punch" +#, python-format +msgid "You crouch low and sweep-kick %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " crouches low and sweep-kicks %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You gently disarm %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " gently disarms %s" msgstr "" -#. ~ Description for Chain Punch #: lang/json/technique_from_json.py -msgid "50% moves, 66% damage, knockback and follow" +msgid "Palm Strike" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You chain strike %s" +msgid "You palm strike %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " palm strikes %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Grasp the Sparrow's Tail" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You divert %s's attack and lead them to the ground" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " diverts %s's attack and lead them to the ground" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Double Palm Strike" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You double-handed palm strike %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " double-handed palm strikes %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Tiger Palm" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You land a heavy tiger palm on %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " lands a heavy tiger palm on %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Tiger Takedown" +msgstr "Rzut Tygrysa" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You slam %s to the ground" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " slams %s to the ground" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Straight Punch" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You deliver a vertical straight punch to %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " delivers a vertical straight punch to %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Straight Punch (Knockback)" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " chain strikes %s" +msgid "You force %s back with a vertical straight punch" msgstr "" #: lang/json/technique_from_json.py -msgid "You position yourself well and slip out of a grab" +#, python-format +msgid " forces %s back with a vertical straight punch" msgstr "" #: lang/json/technique_from_json.py -msgid " slips out of a grab" +msgid "L-hook" msgstr "" #: lang/json/technique_from_json.py -msgid "ask the way" +#, python-format +msgid "You deliver a solid L-hook to %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You miss but keep striking at %s" +msgid " delivers a solid L-hook to %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "L-hook (Knockback)" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " misses but keeps striking at %s" +msgid "You knock %s back with a solid L-hook" msgstr "" #: lang/json/technique_from_json.py -msgid "White Crane stumble" +#, python-format +msgid " knocks %s back with a solid L-hook" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble %s with your onslaught" +msgid "Your attack misses %s but you don't let up" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " stumbles %s" +msgid "'s attack misses %s but they don't let up" msgstr "" #: lang/json/technique_from_json.py @@ -180490,6 +186277,72 @@ msgstr "" msgid " receives %s's attack, and counters" msgstr "" +#: lang/json/technique_from_json.py +msgid "Drunken Feint" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You stumble and leer at %s" +msgstr "Potykasz się i łypiesz okiem na%s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " stumbles and leers at %s" +msgstr " potykasz się i łypie okiem na%s" + +#: lang/json/technique_from_json.py +msgid "Drunk Counter" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You lurch, and your wild swing hits %s" +msgstr "Chwiejesz się, i twój szeroki zamach trafia %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " lurches, and hits %s" +msgstr " chwieje się, i trafia %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you stumble away!" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they stumble away!" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "slow strike" +msgstr "wolne uderzenie" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You slowly strike %s" +msgstr "Wolno uderzasz %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " slowly strikes %s" +msgstr " wolno uderza %s" + +#: lang/json/technique_from_json.py +msgid "phasing strike" +msgstr "fazowe uderzenie" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You phase-strike %s" +msgstr "Uderzasz fazowo %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " phase-strikes %s" +msgstr " uderza fazowo %s" + #: lang/json/technique_from_json.py msgid "Pressure Crunch" msgstr "" @@ -181126,7 +186979,7 @@ msgstr "" #. ~ Description for deep dock pile #: lang/json/terrain_from_json.py msgid "" -"A sturdy pile made of wood extending all the way to the riverbed. A frame " +"A sturdy pile made of wood extending all the way to the riverbed. A frame " "will be required to support a surface." msgstr "" @@ -181137,8 +186990,8 @@ msgstr "" #. ~ Description for deep dock frame #: lang/json/terrain_from_json.py msgid "" -"A log frame secured atop a wooden pile. Adding a wood surface will make this" -" into a proper dock section." +"A log frame secured atop a wooden pile. Adding a wood surface will make " +"this into a proper dock section." msgstr "" #: lang/json/terrain_from_json.py @@ -181148,7 +187001,7 @@ msgstr "" #. ~ Description for deep dock #: lang/json/terrain_from_json.py msgid "" -"A wooden platform held by a tall wooden pile that extend to the riverbed. " +"A wooden platform held by a tall wooden pile that extend to the riverbed. " "Very sturdy, and likely to outlast you." msgstr "" @@ -181904,19 +187757,28 @@ msgstr "" "swobodny dostęp." #: lang/json/terrain_from_json.py -msgid "closed chickenwire gate" +msgid "closed screen door" msgstr "" -#. ~ Description for closed chickenwire gate +#. ~ Description for closed screen door #: lang/json/terrain_from_json.py -msgid "" -"A gate for a chickenwire fence with a simple latch system to stay closed." +msgid "A simple wooden doorway with screen mesh." msgstr "" #: lang/json/terrain_from_json.py msgid "rattle!" msgstr "" +#: lang/json/terrain_from_json.py +msgid "closed chickenwire gate" +msgstr "" + +#. ~ Description for closed chickenwire gate +#: lang/json/terrain_from_json.py +msgid "" +"A gate for a chickenwire fence with a simple latch system to stay closed." +msgstr "" + #: lang/json/terrain_from_json.py msgid "open chickenwire gate" msgstr "" @@ -181978,6 +187840,17 @@ msgstr "" msgid "metal rattling!" msgstr "" +#: lang/json/terrain_from_json.py +msgid "screen mesh wall" +msgstr "" + +#. ~ Description for screen mesh wall +#: lang/json/terrain_from_json.py +msgid "" +"A rather flimsy tall wall made of 2x4s and screen mesh, suitable for keeping" +" the bugs out." +msgstr "" + #: lang/json/terrain_from_json.py msgid "chickenwire fence post" msgstr "" @@ -182333,7 +188206,7 @@ msgstr "" #. ~ Description for wooden floor #: lang/json/terrain_from_json.py msgid "" -"Wooden floor created from boards, packed tightly together and nailed down. " +"Wooden floor created from boards, packed tightly together and nailed down. " "Common in patios." msgstr "" @@ -182666,13 +188539,9 @@ msgstr "platforma radiacyjna" msgid "" "A dual purpose platform that serves as a containment, and as a device that " "exposes items places on in to the radioactive source, by temporarily " -"hoisting the radioactive material stored within. Operated from external " +"hoisting the radioactive material stored within. Operated from external " "console." msgstr "" -"Platforma o podwójnym zastosowaniu, która służy za przechowalnik i jako " -"urządzenie do wystawienia przedmiotów na nie umieszczonych na źródło " -"promieniowania, przez krótkotrwałe wyniesienie materiału radioaktywnego " -"przechowywanego wewnątrz. Sterowana z zewnętrznej konsoli." #: lang/json/terrain_from_json.py msgid "junk metal floor" @@ -183014,10 +188883,10 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "One of the species of 'Juniperus' that grows in New England, juniper berries" -" grow over two to three years, first flowering. On the second year producing" -" a green berry, the last, they produce their more famed blue varieties. If " -"you examined the foliage more closely, you could probably find some viable " -"clusters. You could also cut it down with the right tools." +" grow over two to three years, first flowering. On the second year " +"producing a green berry, the last, they produce their more famed blue " +"varieties. If you examined the foliage more closely, you could probably " +"find some viable clusters. You could also cut it down with the right tools." msgstr "" #. ~ Description for juniper tree @@ -184030,10 +189899,11 @@ msgstr "bankomat" #: lang/json/terrain_from_json.py msgid "" "For your banking convenience, this Automated Teller Machine is fully capable" -" of operating autonomously in the event of complete network failure. You can" -" deposit funds from cash cards and migrate all of your inflation-adjusted " -"earnings to a single card. These things have seen better days. There's been" -" a run on the bank, and this machine has the dents and cracks to prove it." +" of operating autonomously in the event of complete network failure. You " +"can deposit funds from cash cards and migrate all of your inflation-adjusted" +" earnings to a single card. These things have seen better days. There's " +"been a run on the bank, and this machine has the dents and cracks to prove " +"it." msgstr "" #: lang/json/terrain_from_json.py @@ -184138,8 +190008,8 @@ msgstr "centryfuga" #: lang/json/terrain_from_json.py msgid "" "This is a centrifuge, a liquid separating device with an automated analyzer " -"unit. It could be used to analyze a medical fluid sample, such as blood, if " -"a test tube was placed in it." +"unit. It could be used to analyze a medical fluid sample, such as blood, if" +" a test tube was placed in it." msgstr "" #: lang/json/terrain_from_json.py @@ -184755,7 +190625,7 @@ msgstr "" #. ~ Description for closed resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is closed tightly, but it looks like a firm push would cause it to snap " "open." msgstr "" @@ -184767,7 +190637,7 @@ msgstr "" #. ~ Description for open resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is open, the flaps held out by some sort of stringy mucus-like " "substance." msgstr "" @@ -184860,6 +190730,13 @@ msgid "" " were still running." msgstr "" +#. ~ Description for small railroad track +#: lang/json/terrain_from_json.py +msgid "" +"Like a railroad track, only smaller. You could probably run a small vehicle" +" on this." +msgstr "" + #: lang/json/terrain_from_json.py msgid "sandbox" msgstr "piaskownica" @@ -184926,7 +190803,7 @@ msgstr "" #. ~ Description for gutter drop #: lang/json/terrain_from_json.py msgid "" -"Funnels water from gutter system towards the ground, it looks flimsy. You " +"Funnels water from gutter system towards the ground, it looks flimsy. You " "may be able to climb down here." msgstr "" @@ -184938,7 +190815,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "A length of gutter running from the roof to the ground, you could place a " -"container underneath it to collect rainwater. It looks flimsy. You may be " +"container underneath it to collect rainwater. It looks flimsy. You may be " "able to climb down here." msgstr "" @@ -184984,7 +190861,7 @@ msgstr "metalowy płaski dach" #. ~ Description for metal flat roof #: lang/json/terrain_from_json.py -msgid "A secton of flat, sheet metal rooftop." +msgid "A section of flat, sheet metal rooftop." msgstr "" #: lang/json/terrain_from_json.py @@ -185013,7 +190890,7 @@ msgstr "" #. ~ Description for rock roof #: lang/json/terrain_from_json.py -msgid "A secton of flat natural rock." +msgid "A section of flat natural rock." msgstr "" #: lang/json/terrain_from_json.py @@ -185823,13 +191700,9 @@ msgstr "nieukończona kolumna" #: lang/json/terrain_from_json.py msgid "" "An empty wooden frame in the shape of a column, built around a concrete and " -"rebar foundation. It isn't capable of supporting roofs or shelter, and " +"rebar foundation. It isn't capable of supporting roofs or shelter, and " "appears to need more resources before being considered complete." msgstr "" -"Pusta drewniana rama w kształcie kolumny, zbudowana na fundamencie z betonu " -"i prętów zbrojeniowych. Nie jest w stanie utrzymać dachów ani schronienia i " -"wydaje się, że potrzebuje więcej zasobów, zanim zostanie uznana za " -"kompletną." #: lang/json/terrain_from_json.py msgid "column" @@ -187146,12 +193019,8 @@ msgid "" "You just activated a grenade! You probably want to throw it. To throw an " "item, press 't' and then select the item to throw. The maximum range " "depends on your strength and the object's weight and size. Throwing isn't " -"very good in most combat situations, but if you've got some fire power..." +"very good in most combat situations, but if you've got some fire power…" msgstr "" -"Właśnie aktywowałeś granat! Najpewniej chcesz nim teraz rzucić. By rzucić " -"przedmiotem, naciśnij 't' i wybierz przedmiot do rzucenia. Maksymalny zasięg" -" zależy od siły oraz wagi i rozmiaru przedmiotu. Rzucanie nie jest zbyt " -"dobre w większości scenariuszy bitewnych, ale jak masz siłę ognia..." #: lang/json/tutorial_messages_from_json.py msgid "" @@ -187251,13 +193120,10 @@ msgstr "" #: lang/json/tutorial_messages_from_json.py msgid "" "~ is a terrain symbol that indicates water. From a water source like this, " -"you can fill any containers you might have. Examine the water ('e') and " +"you can fill any containers you might have. Examine the water ('e') and " "press 'c' to fill a container, then select a watertight container to put the" " water into." msgstr "" -"~ to teren symbolizujący wodę. Ze źródła takiego jak to możesz napełnić " -"dowolne posiadane pojemniki. Zbadaj wodę ('e') i naciśnij 'c' by napełnić " -"pojemnik, następnie wybierz szczelny pojemnik by nalać do niego wody." #: lang/json/vehicle_from_json.py msgid "work light" @@ -188345,11 +194211,9 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "" "A very bright, directed light that illuminates a half-circular area outside " -"the vehicle when turned on. During installation, you can choose what " +"the vehicle when turned on. During installation, you can choose what " "direction to point the light." msgstr "" -"Jasne światło, które oświetla półokrągły stożek na zewnątrz pojazdu gdy jest" -" włączone. Podczas instalacji możesz wybrać kierunek padania światła." #: lang/json/vehicle_part_from_json.py msgid "headlight" @@ -188494,7 +194358,7 @@ msgstr "" #. ~ Description for tied mattress #: lang/json/vehicle_part_from_json.py msgid "" -"A mattress, strapped onto the vehicle. It could serve to blunt any impact." +"A mattress, strapped onto the vehicle. It could serve to blunt any impact." msgstr "" #. ~ Description for shredder @@ -188937,6 +194801,13 @@ msgstr "" "Metalowy kolec, przyspawany do pojazdu, zwiększający obrażenia przy " "zderzeniu." +#. ~ Description for programmable autopilot +#: lang/json/vehicle_part_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of the vehicle to " +"allow it to follow simple paths." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "swappable storage battery case" msgstr "oprawa wymiennego akumulatora" @@ -188980,21 +194851,17 @@ msgstr "" #. ~ Description for washing machine #: lang/json/vehicle_part_from_json.py msgid "" -"A small washing machine. With detergent or soap, water, and some electrical" -" power, you could clean a lot of clothes. 'e'xamine the tile with the " -"washing machine to use it." +"A small washing machine. With detergent, water, and some electrical power, " +"you could clean a lot of clothes. 'e'xamine the tile with the washing " +"machine to use it." msgstr "" -"Mała pralka. Używając detergentu lub mydła, oraz wody i nieco prądu " -"elektrycznego, możesz w niej wyprać wiele ubrań. Zbadaj ('e') pole z pralką " -"by jej użyć." #. ~ Description for dishwasher #: lang/json/vehicle_part_from_json.py msgid "" -"A small dishwasher. With detergent or soap, water, and some electrical " -"power, you could clean your dishes... Or something more useful like a CBM " -"dripping with zombie gore. 'e'xamine the tile with the dishwasher to use " -"it." +"A small dishwasher. With detergent, water, and some electrical power, you " +"could clean your dishes… Or something more useful like a CBM dripping with " +"zombie gore. 'e'xamine the tile with the dishwasher to use it." msgstr "" #. ~ Description for autoclave @@ -189190,7 +195057,7 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "" "A large wind turbine with stabilizing legs. Will recharge the vehicle's " -"electrical power when exposed to the wind. Will cause extra drag on the " +"electrical power when exposed to the wind. Will cause extra drag on the " "vehicle." msgstr "" @@ -189775,6 +195642,15 @@ msgstr "" "Obrotowy, uniwersalny punkt montażowy broni. Gdy masz puste dłonie możesz " "stać obok wieżyczki i strzelać 'f' z broni wybierając pole." +#. ~ Description for turret control unit +#: lang/json/vehicle_part_from_json.py +msgid "" +"A set of motor, camera, and an AI unit which allows for tracking targets, " +"friend-or-foe identification, and firing the connected turret in full " +"automatic mode. When installed over the turret, it will enable auto " +"targeting mode for said turret." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "light wheel mount (steerable)" msgstr "" @@ -189816,6 +195692,14 @@ msgstr "" msgid "rail wheel (steerable)" msgstr "" +#. ~ Description for pair of small rail wheels +#: lang/json/vehicle_part_from_json.py +msgid "" +"A pair of small rail wheels. It performs well when riding on a pair of " +"small rails. It performs terribly when not on a rail. Moreover, you can't " +"steer it." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "roller drum" msgstr "bęben obrotowy" @@ -191573,81 +197457,6 @@ msgstr "ręczne działo tesli" msgid "manual avalanche rifle" msgstr "ręczny karabin lawina" -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of road" -msgstr "Czysty odcinek drogi" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Randomly-distributed wrecks" -msgstr "Losowo rozmieszczone wraki" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parked vehicles" -msgstr "Zaparkowane pojazdy" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Jack-knifed semi" -msgstr "Złożony jak scyzoryk semi" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Random car pileup" -msgstr "Losowy karambol samochodowy" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Police car pileup" -msgstr "Policyjny karambol" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Out of fuel vehicle" -msgstr "Pojazd bez benzyny" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of bridge" -msgstr "Czysty odcinek mostu" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Unfueled Vehicle on the bridge" -msgstr "Pojazd z Pustym Bakiem Na Moście" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the bridge" -msgstr "Pojazd na moście" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of highway" -msgstr "Czysty odcinek autostrady" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the highway" -msgstr "Pojazd na autostradzie" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parking lot with vehicles" -msgstr "Parking z pojazdami" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of subway" -msgstr "" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the subway" -msgstr "" - #: lang/json/vitamin_from_json.py msgid "Calcium" msgstr "Wapń" @@ -191664,6 +197473,10 @@ msgstr "Witamina B12" msgid "Vitamin C" msgstr "Witamina C" +#: lang/json/vitamin_from_json.py +msgid "Toxins" +msgstr "" + #: src/action.cpp src/input.cpp msgid "Press " msgstr "Naciśnij " @@ -191788,8 +197601,8 @@ msgstr "" #: src/activity_handlers.cpp msgid "" -"You need to suspend this corpse to butcher it. While you have a rope to lift" -" the corpse, there is no tree nearby to hang it from." +"You need to suspend this corpse to butcher it. While you have a rope to " +"lift the corpse, there is no tree nearby to hang it from." msgstr "" #: src/activity_handlers.cpp @@ -191802,8 +197615,8 @@ msgstr "" #: src/activity_handlers.cpp msgid "" "To perform a full butchery on a corpse this big, you need a table nearby or " -"something else with a flat surface. A leather tarp spread out on the ground " -"could suffice." +"something else with a flat surface. A leather tarp spread out on the ground" +" could suffice." msgstr "" #: src/activity_handlers.cpp @@ -192144,8 +197957,8 @@ msgstr "" #. ~ Sound of a Pickaxe at work! #: src/activity_handlers.cpp -msgid "CHNK! CHNK! CHNK!" -msgstr "CHNK! CHNK! CHNK!" +msgid "CHNK! CHNK! CHNK!" +msgstr "" #: src/activity_handlers.cpp msgid "You finish digging." @@ -192196,7 +198009,7 @@ msgstr "Wkładasz kartridż do %s. " msgid "You refill the %s." msgstr "Uzupełniasz %s." -#: src/activity_handlers.cpp +#: src/activity_handlers.cpp src/bionics.cpp msgid "There's nothing to light there." msgstr "Nie ma tam czego podpalić." @@ -192213,6 +198026,16 @@ msgid "There is not enough sunlight to start a fire now. You stop trying." msgstr "" "Nie ma tyle światła słonecznego by rozpalić teraz ogień. Zaprzestajesz prób." +#: src/activity_handlers.cpp +#, c-format +msgid "You learn a little about the spell : %s" +msgstr "" + +#: src/activity_handlers.cpp src/character_martial_arts.cpp +#, c-format +msgid "You learn %s." +msgstr "Nauczyłeś się %s." + #: src/activity_handlers.cpp #, c-format msgid "You finish training %s to level %d." @@ -192223,11 +198046,6 @@ msgstr "Zakończyłeś trenowanie %s do poziomu %d." msgid "You get some training in %s." msgstr "" -#: src/activity_handlers.cpp -#, c-format -msgid "You learn %s." -msgstr "Nauczyłeś się %s." - #: src/activity_handlers.cpp msgid "You've charged the battery completely." msgstr "" @@ -192352,15 +198170,22 @@ msgstr "Szansa uszkodzenia: %.1f%%" msgid "Your %s is already fully repaired." msgstr "Twój %s jest już całkowicie naprawiony." -#: src/activity_handlers.cpp src/player.cpp -#, c-format -msgid "You are currently unable to mend the %s." -msgstr "Nie jesteś obecnie w stanie załatać %s." +#: src/activity_handlers.cpp +msgid "You defrost the food, but don't heat it up, since you enjoy it cold." +msgstr "" + +#: src/activity_handlers.cpp +msgid "You defrost and heat up the food." +msgstr "Rozmrażasz i podgrzewasz jedzenie." + +#: src/activity_handlers.cpp +msgid "You heat up the food." +msgstr "Podgrzewasz jedzenie." #: src/activity_handlers.cpp #, c-format -msgid "You successfully mended the %s." -msgstr "Powiodło ci się załatanie %s." +msgid "You are currently unable to mend the %s." +msgstr "Nie jesteś obecnie w stanie załatać %s." #: src/activity_handlers.cpp #, c-format @@ -192416,10 +198241,6 @@ msgstr "" msgid "You finish fishing" msgstr "" -#: src/activity_handlers.cpp -msgid "This training is exhausting. Time to rest." -msgstr "" - #: src/activity_handlers.cpp msgid "You finish reading." msgstr "Kończysz czytać." @@ -192430,8 +198251,8 @@ msgstr "Kończysz czekać." #: src/activity_handlers.cpp #, c-format -msgid "%s finishes with you..." -msgstr "%s kończy z tobą..." +msgid "%s finishes with you…" +msgstr "" #: src/activity_handlers.cpp msgid "You are bored of waiting, so you stop." @@ -192447,8 +198268,8 @@ msgid "%s finishes chatting with you." msgstr "%s kończy rozmawiać z tobą." #: src/activity_handlers.cpp -msgid "You toss and turn..." -msgstr "Przewracasz się na lewo i prawo..." +msgid "You toss and turn…" +msgstr "" #: src/activity_handlers.cpp msgid "You have trouble sleeping, keep trying?" @@ -192508,7 +198329,7 @@ msgstr "" #: src/activity_handlers.cpp msgid "The Autodoc attempts to carefully extract the bionic." -msgstr "" +msgstr "Autodoc próbuje ostrożnie wydobyć bionikę." #: src/activity_handlers.cpp #, c-format @@ -192517,7 +198338,7 @@ msgstr "" #: src/activity_handlers.cpp msgid "The Autodoc attempts to carefully insert the bionic." -msgstr "" +msgstr "Autodoc próbuje ostrożnie wstawić bionikę." #: src/activity_handlers.cpp #, c-format @@ -192555,8 +198376,8 @@ msgid "" msgstr "" #: src/activity_handlers.cpp src/player_hardcoded_effects.cpp -msgid "You try to sleep, but can't..." -msgstr "Próbujesz zasnąć, lecz nie potrafisz..." +msgid "You try to sleep, but can't…" +msgstr "" #: src/activity_handlers.cpp msgid "" @@ -192738,7 +198559,7 @@ msgid "You planted all seeds you could." msgstr "Zasadziłeś wszystkie ziarna które mogłeś." #: src/activity_handlers.cpp -msgid "Target lost. IFF override failed." +msgid "Target lost. IFF override failed." msgstr "" #: src/activity_handlers.cpp @@ -192757,12 +198578,12 @@ msgid "The %s short circuits as you attempt to reprogram it!" msgstr "%s doznaje krótkiego spięcia gdy próbujesz go przeprogramować!" #: src/activity_handlers.cpp -msgid "...and turns friendly!" -msgstr "...i staje się przyjazny!" +msgid "…and turns friendly!" +msgstr "" #: src/activity_handlers.cpp -msgid "...but the robot refuses to acknowledge you as an ally!" -msgstr "...ale robot odmawia uznania cię za sojusznika!" +msgid "…but the robot refuses to acknowledge you as an ally!" +msgstr "" #: src/activity_handlers.cpp msgid "The ancient tree spirits answer your call." @@ -192827,7 +198648,7 @@ msgid "It's too dark to read." msgstr "Jest zbyt ciemno żeby czytać." #: src/activity_handlers.cpp -msgid "...you finally find the memory banks." +msgid "…you finally find the memory banks." msgstr "" #: src/activity_handlers.cpp @@ -193033,6 +198854,10 @@ msgstr "" msgid "The pet has moved somewhere else." msgstr "Twój zwierzak przemieścił się gdzieś indziej." +#: src/activity_item_handling.cpp +msgid "Moving cancelled auto-pickup." +msgstr "" + #: src/activity_item_handling.cpp src/npcmove.cpp #, c-format msgid "%1$s picks up a %2$s." @@ -193049,7 +198874,7 @@ msgstr "Tniesz kłodę na deski." #: src/activity_item_handling.cpp #, c-format -msgid "%s can't reach the source tile. Try to sort out loot without a cart." +msgid "%s can't reach the source tile. Try to sort out loot without a cart." msgstr "" #: src/activity_item_handling.cpp @@ -193095,8 +198920,8 @@ msgid "You want some caffeine." msgstr "Chcesz trochę kofeiny." #: src/addiction.cpp -msgid "Your hands start shaking... you need it bad!" -msgstr "Twoje ręce zaczynają drżeć.. potrzebujesz tego pilnie!" +msgid "Your hands start shaking… you need it bad!" +msgstr "" #: src/addiction.cpp msgid "You could use a drink." @@ -193107,16 +198932,16 @@ msgid "You could use some diazepam." msgstr "Przydał by ci się diazepam." #: src/addiction.cpp -msgid "Your hands start shaking... you need a drink bad!" -msgstr "Twoje ręce zaczynają drżeć.. potrzebujesz pilnie się napić!" +msgid "Your hands start shaking… you need a drink bad!" +msgstr "" #: src/addiction.cpp -msgid "You're shaking... you need some diazepam!" -msgstr "Zaczynasz się trząść... potrzebujesz diazepamu!" +msgid "You're shaking… you need some diazepam!" +msgstr "" #: src/addiction.cpp -msgid "Your hands start shaking... you need some painkillers." -msgstr "Twoje ręce zaczynają drżeć... potrzebujesz środków przeciwbólowych." +msgid "Your hands start shaking… you need some painkillers." +msgstr "" #: src/addiction.cpp msgid "You feel anxious. You need your painkillers!" @@ -193127,8 +198952,8 @@ msgid "You feel depressed. Speed would help." msgstr "Jesteś w depresji. Speed by pomógł." #: src/addiction.cpp -msgid "Your hands start shaking... you need a pick-me-up." -msgstr "Twoje ręce drżą... potrzeba ci pobudzacza." +msgid "Your hands start shaking… you need a pick-me-up." +msgstr "" #: src/addiction.cpp msgid "You stop suddenly, feeling bewildered." @@ -193160,8 +198985,8 @@ msgid "You haven't had any mutagen lately." msgstr "Nie miałeś ostatni żadnego mutagenu." #: src/addiction.cpp -msgid "You could use some new parts..." -msgstr "Przydały by ci się nowe części..." +msgid "You could use some new parts…" +msgstr "" #: src/addiction.cpp msgid "You daydream about luscious pink berries as big as your fist." @@ -193309,12 +199134,12 @@ msgstr "" "Tempo ruchu zredukowane. Depresja. Osłabiony system odpornościowy. Częste ciągi." #: src/addiction.cpp -msgid "Perception - 1; Intelligence - 1; Frequent cravings." -msgstr "Percepcja -1; Inteligencja -1; Częste ciągi." +msgid "Perception - 1; Intelligence - 1; Frequent cravings." +msgstr "" #: src/addiction.cpp -msgid "Perception - 2; Intelligence - 2; Frequent cravings." -msgstr "Percepcja -2; Inteligencja -2; Częste ciągi." +msgid "Perception - 2; Intelligence - 2; Frequent cravings." +msgstr "" #: src/addiction.cpp msgid "" @@ -193500,38 +199325,6 @@ msgstr "src amt waga poj" msgid "Name (charges)" msgstr "Nazwa (ładunki)" -#: src/advanced_inv.cpp -msgid "Not dragging any vehicle!" -msgstr "Nie ciągniesz żadnego pojazdu!" - -#: src/advanced_inv.cpp -msgid "No dragged vehicle!" -msgstr "Brak ciągniętego pojazdu!" - -#: src/advanced_inv.cpp -msgid "Invalid container!" -msgstr "Niewłaściwy pojemnik!" - -#: src/advanced_inv.cpp -msgid "All 9 squares" -msgstr "Wszystkie 9 pól" - -#: src/advanced_inv.cpp -msgid " FIRE" -msgstr "OGIEŃ" - -#: src/advanced_inv.cpp -msgid " DANGER" -msgstr "NIEBEZPIECZEŃSTWO" - -#: src/advanced_inv.cpp -msgid " TRAP" -msgstr "PUŁAPKA" - -#: src/advanced_inv.cpp -msgid " WATER" -msgstr "WODA" - #: src/advanced_inv.cpp #, c-format msgid "[<] page %1$d of %2$d [>]" @@ -193551,8 +199344,8 @@ msgid "[R]eset" msgstr "[R]esetuj" #: src/advanced_inv.cpp -msgid "You look at the items, then your clothes, and scratch your head..." -msgstr "Patrzysz na przedmioty, potem na ubrania, i drapiesz się po głowie..." +msgid "You look at the items, then your clothes, and scratch your head…" +msgstr "" #: src/advanced_inv.cpp msgid "There are no items to be moved!" @@ -193575,8 +199368,8 @@ msgid "Skipping filled buckets to avoid spilling their contents." msgstr "Omijam napełnione wiadra żeby nie rozlać ich zawartości." #: src/advanced_inv.cpp -msgid "Sort by... " -msgstr "Sortuj przez.." +msgid "Sort by…" +msgstr "" #: src/advanced_inv.cpp msgid "Unsorted (recently added first)" @@ -193641,25 +199434,57 @@ msgstr "To jest zbyt ciężkie!" #: src/advanced_inv.cpp #, c-format -msgid "How many do you want to move? [Have %d] (0 to cancel)" -msgstr "Jak wiele chcesz przenieść? [Masz %d] (0 anuluje)" +msgid "How many do you want to move? [Have %d] (0 to cancel)" +msgstr "" #: src/advanced_inv.cpp #, c-format -msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" -msgstr "Cel może pomieścić tylko %d! Ile przenieść? [Masz %d] (0 anuluje)" +msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" +msgstr "" #: src/advanced_inv.cpp msgid "The destination is already full!" msgstr "Cel jest już pełny!" -#: src/advanced_inv.cpp +#: src/advanced_inv_area.cpp +msgid "Not dragging any vehicle!" +msgstr "Nie ciągniesz żadnego pojazdu!" + +#: src/advanced_inv_area.cpp +msgid "No dragged vehicle!" +msgstr "Brak ciągniętego pojazdu!" + +#: src/advanced_inv_area.cpp +msgid "Invalid container!" +msgstr "Niewłaściwy pojemnik!" + +#: src/advanced_inv_area.cpp +msgid "All 9 squares" +msgstr "Wszystkie 9 pól" + +#: src/advanced_inv_area.cpp +msgid " FIRE" +msgstr "OGIEŃ" + +#: src/advanced_inv_area.cpp +msgid " DANGER" +msgstr "NIEBEZPIECZEŃSTWO" + +#: src/advanced_inv_area.cpp +msgid " TRAP" +msgstr "PUŁAPKA" + +#: src/advanced_inv_area.cpp +msgid " WATER" +msgstr "WODA" + +#: src/advanced_inv_area.cpp msgid "Invalid container" msgstr "Niewłaściwy pojemnik" #: src/animation.cpp -msgid "Hang on a bit..." -msgstr "Zaczekaj chwilę..." +msgid "Hang on a bit…" +msgstr "" #: src/armor_layers.cpp msgid "in your personal aura" @@ -193809,6 +199634,14 @@ msgstr "Miażdżone:" msgid "Cut:" msgstr "Cięte:" +#: src/armor_layers.cpp +msgid "Acid:" +msgstr "" + +#: src/armor_layers.cpp +msgid "Fire:" +msgstr "" + #: src/armor_layers.cpp msgid "Environmental:" msgstr "Środowiskowe:" @@ -193877,8 +199710,8 @@ msgstr "Sortuj Ubiór" #: src/armor_layers.cpp #, c-format -msgid "Press %s for help. Press %s to change keybindings." -msgstr "Naciśnij %s dla pomocy. Naciśnij %s by zmienić przypisane klawisze." +msgid "Press %s for help. Press %s to change keybindings." +msgstr "" #: src/armor_layers.cpp msgid "(Innermost)" @@ -193942,25 +199775,12 @@ msgid "" "[%s] to equip a new item.\n" "[%s] to equip a new item at the currently selected position.\n" "[%s] to remove selected armor from oneself.\n" -" \n" +"\n" "[Encumbrance and Warmth] explanation:\n" "The first number is the summed encumbrance from all clothing on that bodypart.\n" "The second number is an additional encumbrance penalty caused by wearing multiple items on one of the bodypart's layers or wearing items outside of other items they would normally be work beneath (e.g. a shirt over a backpack).\n" "The sum of these values is the effective encumbrance value your character has for that bodypart." msgstr "" -"Użyj strzałek- lub klawiszy numerycznych do nawigowania listy po lewej.\n" -"[%s] by wybrać podświetlony ubiór do zmiany pozycji.\n" -"[%s] / [%s] by przewijać prawą listę.\n" -"[%s] by przypisać specjalną literę ekwipunku do ubioru.\n" -"[%s] by zmienić stronę po której nosisz przedmiot.\n" -"[%s] by posortować ubiór w naturalnej kolejności warstw.\n" -"[%s] by wyposażyć się w nowy przedmiot.\n" -"[%s] by wyposażyć się w nowy przedmiot w obecnej pozycji\n" -"[%s] by zdjąć z siebie wybrany ubiór.\n" -"\n" -"[Skrępowanie i Ciepło] objaśnienie:\n" -"Pierwsza liczba to suma skrępowania ze wszystkich przedmiotów na tej części ciała.\n" -"Druga liczba to dodatkowe skrępowanie karne za noszenie wielu rzeczy na jednej z warstw na części ciała, lub noszenie rzeczy na zewnątrz innych przedmiotów, które powinny być na wierzchu (np. koszula na plecaku). Suma tych wartości to efektywne skrępowanie postaci w tej części ciała." #: src/artifact.cpp msgid "smooth sphere" @@ -194506,19 +200326,15 @@ msgstr "%s Cirpienia" #, c-format msgid "" "The %s is somehow vaguely dissatisfied even though it doesn't want anything." -" Seeing this is a bug!" +" Seeing this is a bug!" msgstr "" -"%s jest jakimś sposobem nieco niezadowolony mimo iż niczego nie chce. Jeśli " -"to widzisz to błąd." #: src/artifact.cpp #, c-format msgid "" -"The %s is satisfied, as it should be because it has no standards. Seeing " +"The %s is satisfied, as it should be because it has no standards. Seeing " "this is a bug!" msgstr "" -"%s jest zadowolony, i tak ma być bo nie ma żadnych norm. Jeśli to widzisz to" -" błąd." #: src/artifact.cpp #, c-format @@ -194543,9 +200359,8 @@ msgstr "Przyciskasz swój %s do skóry." #: src/artifact.cpp #, c-format msgid "" -"The %s is confused to find you dreaming while awake. Seeing this is a bug!" +"The %s is confused to find you dreaming while awake. Seeing this is a bug!" msgstr "" -"%s jest zdezorientowany widząc że śnisz na jawie. Jeśli to widzisz to błąd." #: src/artifact.cpp #, c-format @@ -194775,31 +200590,19 @@ msgstr "Uwzględnij" #: src/auto_pickup.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" -" \n" +"* is used as a Wildcard. A few Examples:\n" +"\n" "wooden arrow matches the itemname exactly\n" "wooden ar* matches items beginning with wood ar\n" "*rrow matches items ending with rrow\n" "*avy fle*fi*arrow multiple * are allowed\n" "heAVY*woOD*arrOW case insensitive search\n" -" \n" +"\n" "Pickup based on item materials:\n" "m:kevlar matches items made of kevlar\n" "M:copper matches items made purely of copper\n" "M:steel,iron multiple materials allowed (OR search)" msgstr "" -"* to dzika karta. Przykłady:\n" -"\n" -"drewniana strzała zgodność z pełną nazwą rzeczy\n" -"drewniana st* zgodność z zaczynającymi się od drewniana st\n" -"*rzała zgodność z kończącymi się na rzała\n" -"cię* dre* *rzała wiele * jest dopuszczalene\n" -"CIężka*dReWniaNA wielkość liter nieistotna\n" -"\n" -"Podnoszenie oparte na materiale przedmiotu:\n" -"m:kevlar. zgodność z rzeczami z kevlaru\n" -"M:miedź. zgodność z rzeczami wyłącznie z miedzi\n" -"M:stal,żelazo zezwala na wiele materiałów (LUB szukanie)" #: src/auto_pickup.cpp msgid "Pickup Rule:" @@ -194831,8 +200634,8 @@ msgid "Won't display content or suffix matches" msgstr "Nie wyświetli zawartości i przyrostków" #: src/auto_pickup.cpp -msgid "Autopickup is not enabled in the options. Enable it now?" -msgstr "Auto-podnoszenie wyłączone w opcjach. Włączyć?" +msgid "Autopickup is not enabled in the options. Enable it now?" +msgstr "" #: src/auto_pickup.cpp msgid "autopickup configuration" @@ -194868,7 +200671,7 @@ msgstr "Po co ta cała nauka? (Twoje morale jest za niskie!)" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. You have %d" +msgid "%s %d needed to understand. You have %d" msgstr "" #: src/avatar.cpp src/iuse.cpp @@ -194894,7 +200697,7 @@ msgstr "%s jest niepiśmienny!" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. %s has %d" +msgid "%s %d needed to understand. %s has %d" msgstr "" #: src/avatar.cpp @@ -194919,8 +200722,8 @@ msgstr "Morale %s jest zbyt niskie!" #: src/avatar.cpp #, c-format -msgid "%s reads aloud..." -msgstr "%s czyta na głos..." +msgid "%s reads aloud…" +msgstr "" #: src/avatar.cpp #, c-format @@ -195012,8 +200815,8 @@ msgid "Now reading %s, %s to stop early." msgstr "Teraz czytasz %s, %s żeby wcześniej skończyć." #: src/avatar.cpp -msgid "You read aloud..." -msgstr "Czytasz na głos..." +msgid "You read aloud…" +msgstr "" #: src/avatar.cpp #, c-format @@ -195038,20 +200841,16 @@ msgstr "%s czyta z tobą dla rozrywki." #: src/avatar.cpp #, c-format msgid "" -"It's difficult for %s to see fine details right now. Reading will take " +"It's difficult for %s to see fine details right now. Reading will take " "longer than usual." msgstr "" -"Jest trudno %s widzieć detale w tej chwili. Czytanie zajmie dłużej niż " -"zwykle." #: src/avatar.cpp #, c-format msgid "" -"This book is too complex for %s to easily understand. It will take longer to" -" read." +"This book is too complex for %s to easily understand. It will take longer " +"to read." msgstr "" -"Ta książka jest zbyt skomplikowana dla %s dla łatwego zrozumienia. Czytanie " -"zajmie dłużej." #: src/avatar.cpp msgid "You are too exhausted to train martial arts." @@ -195136,8 +200935,8 @@ msgstr "%s ulepszył swój poziom %s." #: src/avatar.cpp #, c-format -msgid "You learn a little about %s! (%d%%)" -msgstr "Uczysz się nieco o %s! (%d%%)" +msgid "You learn a little about %s! (%d%%)" +msgstr "" #: src/avatar.cpp #, c-format @@ -195165,8 +200964,8 @@ msgid "Rereading the %s isn't as much fun for %s." msgstr "Czytanie %s nie jest zbyt zajmujące dla %s." #: src/avatar.cpp -msgid "Maybe you should find something new to read..." -msgstr "Może powinieneś znaleźć coś nowego do czytania..." +msgid "Maybe you should find something new to read…" +msgstr "" #: src/avatar.cpp #, c-format @@ -195200,20 +200999,20 @@ msgid "You train for a while." msgstr "" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through your internal alarm..." -msgstr "Wygląda na to, że przespałeś alarm w wewnętrznym budziku...." +msgid "It looks like you've slept through your internal alarm…" +msgstr "" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through the alarm..." -msgstr "Wygląda na to, że przespałeś alarm w budziku...." +msgid "It looks like you've slept through the alarm…" +msgstr "" #: src/avatar.cpp msgid "You retched, but your stomach is empty." msgstr "Masz odruch wymiotny, ale twój żołądek jest pusty." #: src/avatar.cpp -msgid "You lost your book! You stop reading." -msgstr "Straciłeś ksiażkę! Przestajesz czytać." +msgid "You lost your book! You stop reading." +msgstr "" #: src/avatar.cpp msgid "Your thick scales get in the way." @@ -195282,9 +201081,69 @@ msgstr "" #: src/avatar.cpp #, c-format -msgid "Are you sure you want to raise %s? %d points available." +msgid "Are you sure you want to raise %s? %d points available." +msgstr "" + +#: src/avatar.cpp +msgid "You set your mech's leg power to a loping fast walk." +msgstr "" + +#: src/avatar.cpp +msgid "You nudge your steed into a steady trot." +msgstr "" + +#: src/avatar.cpp +msgid "You start walking." +msgstr "Zaczynasz chodzić." + +#: src/avatar.cpp +msgid "You set the power of your mech's leg servos to maximum." +msgstr "" + +#: src/avatar.cpp +msgid "You spur your steed into a gallop." +msgstr "" + +#: src/avatar.cpp +msgid "You start running." +msgstr "Zaczynasz biec." + +#: src/avatar.cpp +msgid "Your steed is too tired to go faster." +msgstr "" + +#: src/avatar.cpp +msgid "You need two functional legs to run." +msgstr "" + +#: src/avatar.cpp +msgid "You're too tired to run." +msgstr "Jesteś zbyt zmęczony by biec." + +#: src/avatar.cpp +msgid "You reduce the power of your mech's leg servos to minimum." +msgstr "" + +#: src/avatar.cpp +msgid "You slow your steed to a walk." +msgstr "" + +#: src/avatar.cpp +msgid "You start crouching." +msgstr "Zaczynasz iść przykucnięty." + +#. ~ %1$s: weapon name, %2$s: holster name +#: src/avatar.cpp src/game.cpp +#, c-format +msgctxt "holster" +msgid "Draw %1$s from %2$s?" msgstr "" +#: src/avatar.cpp src/monexamine.cpp +#, c-format +msgid "What to do with your %s?" +msgstr "Co robisz z twoim %s?" + #: src/avatar_action.cpp msgid "You can't move while in your shell. Deactivate it to go mobile." msgstr "" @@ -195292,12 +201151,12 @@ msgstr "" "mobilnym." #: src/avatar_action.cpp -msgid "You cannot pull yourself away from the faultline..." -msgstr "Nie potrafisz się podciągnąć się z uskoku..." +msgid "You cannot pull yourself away from the faultline…" +msgstr "" #: src/avatar_action.cpp -msgid "Monster in the way. Auto-move canceled." -msgstr "Potwór na drodze. Automatyczny ruch anulowany." +msgid "Monster in the way. Auto-move canceled." +msgstr "" #: src/avatar_action.cpp msgid "Click directly on monster to attack." @@ -195308,8 +201167,8 @@ msgid "Your willpower asserts itself, and so do you!" msgstr "Toja siła woli ujawnia się, i ty także!" #: src/avatar_action.cpp src/handle_action.cpp src/handle_action.cpp -msgid "You're too pacified to strike anything..." -msgstr "Jesteś zbyt łagodny by uderzyć cokolwiek..." +msgid "You're too pacified to strike anything…" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -195390,8 +201249,8 @@ msgstr "Toniesz jak kamień!" #: src/avatar_action.cpp #, c-format -msgid "You need to breathe! (%s to surface.)" -msgstr "Potrzebujesz zaczerpnąć powietrza! (%s by się wynurzyć)" +msgid "You need to breathe! (%s to surface.)" +msgstr "" #: src/avatar_action.cpp msgid "You need to breathe but you can't swim! Get to dry land, quick!" @@ -195404,16 +201263,16 @@ msgid "You cannot board a vehicle while mounted." msgstr "" #: src/avatar_action.cpp -msgid "No hostile creature in reach. Waiting a turn." -msgstr "Nie ma wrogich istot w zasięgu. Czekam turę." +msgid "No hostile creature in reach. Waiting a turn." +msgstr "" #: src/avatar_action.cpp msgid "Your eyes steel, and you raise your weapon!" msgstr "Mrużysz oczy w gotowości, i wznosisz broń!" #: src/avatar_action.cpp -msgid "You can't fire your weapon, it's too heavy..." -msgstr "Nie możesz strzelać ze swojej broni, jest zbyt ciężka..." +msgid "You can't fire your weapon, it's too heavy…" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -195421,12 +201280,14 @@ msgid "The %s must be attached to a gun, it can not be fired separately." msgstr "%s musi być przyłączona do bronie, nie można z niej strzelać osobno." #: src/avatar_action.cpp -msgid "You can no longer fire." -msgstr "Nie możesz dłużej strzelać." +#, c-format +msgid "You can no longer fire your %s." +msgstr "" #: src/avatar_action.cpp -msgid "You need a free arm to drive!" -msgstr "Potrzebujesz wolnej ręki by prowadzić!" +#, c-format +msgid "You can't use your %s while driving!" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -195434,8 +201295,9 @@ msgid "You need two free hands to fire your %s." msgstr "Potrzebujesz obu wolnych rąk by strzelać z %s." #: src/avatar_action.cpp -msgid "You need to reload!" -msgstr "Musisz przeładować!" +#, c-format +msgid "Your %s is empty!" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -195446,22 +201308,20 @@ msgstr "Twój %s potrzebuje %i ładunków by strzelać!" #, c-format msgid "" "You need a UPS with at least %d charges or an advanced UPS with at least %d " -"charges to fire that!" +"charges to fire the %s!" msgstr "" -"Potrzebujesz UPS-a z co najmniej %d ładunkami lub zaawansowanego UPS-a z co " -"najmniej %d ładunkami do strzelania z tego!" #: src/avatar_action.cpp -msgid "Your mech has an empty battery, its weapon will not fire." +#, c-format +msgid "Your mech has an empty battery, its %s will not fire." msgstr "" #: src/avatar_action.cpp +#, c-format msgid "" -"You must stand near acceptable terrain or furniture to use this weapon. A " +"You must stand near acceptable terrain or furniture to use this %s. A " "table, a mound of dirt, a broken window, etc." msgstr "" -"Musisz stać w pobliżu właściwego terenu lub mebla by użyć tej broni. Stół, " -"kupka ziemi, wybite okno, itp." #: src/avatar_action.cpp #, c-format @@ -195507,8 +201367,8 @@ msgid "You concentrate mightily, and your body obeys!" msgstr "Koncentrujesz się potężnie, a twoje ciało słucha!" #: src/avatar_action.cpp -msgid "You can't muster up the effort to throw anything..." -msgstr "Nie możesz wykrzesać z siebie wysiłku do rzucenia czymkolwiek..." +msgid "You can't muster up the effort to throw anything…" +msgstr "" #: src/ballistics.cpp #, c-format @@ -195694,6 +201554,16 @@ msgstr "Twój %s automatycznie wyłącza się." msgid "Your %s automatically turns off." msgstr "Twój %s automatycznie wyłącza się." +#: src/bionics.cpp +#, c-format +msgid "Your %s does not have sufficient humidity to function." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency will be reduced." +msgstr "" + #: src/bionics.cpp msgid "You change your mind and turn it off." msgstr "Zmieniasz zdanie i wyłączasz to." @@ -195811,10 +201681,6 @@ msgstr "Rezultaty Badania Krwi" msgid "No effects." msgstr "Brak efektów." -#: src/bionics.cpp -msgid "There was not enough moisture in the air from which to draw water!" -msgstr "Nie było wystarczająco wilgoci w powietrzu, z której uzyskałbyś wodę!" - #: src/bionics.cpp msgid "Your torsion ratchet locks onto your joints." msgstr "Przekładnie zębate zaciska się na twoich stawach." @@ -195827,10 +201693,6 @@ msgstr "Możesz teraz biegać szybciej, wspomagany przez serwomotory stawów." msgid "Start a fire where?" msgstr "Gdzie rozpalić ogień?" -#: src/bionics.cpp src/iexamine.cpp -msgid "You can't light a fire there." -msgstr "Nie możesz tam rozpalić ognia." - #: src/bionics.cpp #, c-format msgid "Your radiation level: %d" @@ -196007,6 +201869,20 @@ msgstr "" msgid "'s %s turns off to not waste fuel." msgstr "" +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, your %s shuts down to preserve" +" your health." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, 's %s shuts down to " +"preserve their health." +msgstr "" + #: src/bionics.cpp #, c-format msgid "Your %s runs out of fuel and turn off." @@ -196035,6 +201911,21 @@ msgstr "Twój %s utracił łączność i wyłącza się." msgid "You feel your throat open up and air filling your lungs!" msgstr "Czujesz jak twoje gardło otwiera się a powietrze wypełnia ci płuca!" +#: src/bionics.cpp +#, c-format +msgid "There is not enough humidity for your %s to function." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency is reduced." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "You are properly hydrated. Your %s chirps happily." +msgstr "" + #: src/bionics.cpp msgid "The removal fails without incident." msgstr "Usunięcie nie powodzi się bez dodatkowych incydentów. " @@ -196096,8 +201987,8 @@ msgstr " przygotowuje operację chirurgiczną." #: src/bionics.cpp #, c-format -msgid "A lifetime of augmentation has taught %s a thing or two..." -msgstr "Kariera życiowa w augmentacji nauczyła %s kilku przydatnych rzeczy..." +msgid "A lifetime of augmentation has taught %s a thing or two…" +msgstr "" #: src/bionics.cpp #, c-format @@ -196113,10 +202004,8 @@ msgstr "" #: src/bionics.cpp msgid "" -"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" +"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" msgstr "" -"UWAGA: Usunięcie reaktora może pozostawić radioaktywny materiał! Usunąć mimo" -" to?" #: src/bionics.cpp #, c-format @@ -196136,10 +202025,10 @@ msgstr "" msgid "Are you sure you wish to uninstall the selected bionic?" msgstr "Jesteś pewien, że chcesz odinstalować wybraną bionikę?" -#: src/bionics.cpp +#: src/bionics.cpp src/game.cpp #, c-format msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " +"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " "anyway?" msgstr "" "UWAGA: %i procent szans na POWAŻNE uszkodzenie wszystkich części ciała! " @@ -196216,10 +202105,8 @@ msgstr "Jesteś pewien, że chcesz zainstalować wybraną bionikę?" #, c-format msgid "" "WARNING: %i percent chance of failure that may result in damage, pain, or a " -"faulty installation! Continue anyway?" +"faulty installation! Continue anyway?" msgstr "" -"UWAGA: %i procent szans na porażkę, która może skutkować obrażeniami, bólem," -" lub nieprawidłową instalacją! Kontynuować mimo tego?" #. ~ %1$s - name of the bionic to be upgraded (inferior), %2$s - name of the #. upgraded bionic (superior). @@ -196349,12 +202236,31 @@ msgstr "" msgid "Available Fuel: " msgstr "" +#: src/bionics_ui.cpp +msgctxt "decimal separator" +msgid "." +msgstr "." + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: kilojoule" +msgid "kJ" +msgstr "kJ" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: joule" +msgid "J" +msgstr "" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: millijoule" +msgid "mJ" +msgstr "" + #: src/bionics_ui.cpp #, c-format msgid "" -"Bionic Power: %i/%i" +"Bionic Power: %s/%ikJ" msgstr "" -"Bioniczna Moc: %i/%i" #: src/bionics_ui.cpp msgid "" @@ -196386,22 +202292,22 @@ msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ act" +msgid "%s act" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ deact" +msgid "%s deact" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/turn" +msgid "%s/turn" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/%d turns" +msgid "%s/%d turns" msgstr "" #: src/bionics_ui.cpp src/handle_action.cpp @@ -196449,19 +202355,16 @@ msgstr "Brak zainstalowanych pasywnych bionik." #: src/bionics_ui.cpp #, c-format -msgid "%s; enter new letter. Space to clear. Esc to cancel." -msgstr "%s; wprowadź nową literę. Spacja by wyczyścić. Esc by anulować." +msgid "%s; enter new letter. Space to clear. Esc to cancel." +msgstr "" #: src/bionics_ui.cpp #, c-format msgid "" -"Invalid bionic letter. Only those characters are valid:\n" +"Invalid bionic letter. Only those characters are valid:\n" "\n" "%s" msgstr "" -"Niewłaściwa litera bioniki. Tylko te znaki są dostępne:\n" -"\n" -"%s" #: src/bionics_ui.cpp #, c-format @@ -196500,10 +202403,40 @@ msgstr "" msgid "Target armor multiplier" msgstr "Mnożnik zbroi celu" -#. ~ bash damage +80% of strength +#. ~ %1$s: damage type, %2$s: damage-related bonus name #: src/bonuses.cpp -msgid " of " -msgstr " z " +#, c-format +msgctxt "type of damage" +msgid "%1$s %2$s" +msgstr "%1$s %2$s" + +#. ~ %1$s: bonus name, %2$d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%% of %3$s" +msgstr "" + +#. ~ %1$s: bonus name, %2$d: bonus percentage +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%%" +msgstr "" + +#. ~ %1$s: bonus name, %2$+d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d%% of %3$s" +msgstr "" + +#. ~ %1$s: bonus name, %2$+d: bonus value +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d" +msgstr "" #: src/calendar.cpp msgid "forever" @@ -196822,8 +202755,12 @@ msgstr "に坂索トし荷測のンおク妙免イロコヤ梅棋厚れ表幌" #: src/character.cpp msgctxt "not possessive" -msgid "you" -msgstr "ty" +msgid "You" +msgstr "Ty" + +#: src/character.cpp +msgid "Your" +msgstr "" #: src/character.cpp msgid "your" @@ -196838,6 +202775,63 @@ msgstr "należący do %s" msgid "armor" msgstr "zbroja" +#: src/character.cpp +#, c-format +msgid "You remove the %s's harness." +msgstr "" + +#: src/character.cpp src/game.cpp +msgid "You let go of the grabbed object." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You climb on the %s." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You hear your %s whir to life." +msgstr "" + +#: src/character.cpp +msgid "You are ejected from your mech!" +msgstr "" + +#: src/character.cpp +msgid " is ejected from their mech!" +msgstr "" + +#: src/character.cpp +msgid "You fall off your mount!" +msgstr "Spadasz z wierzchowca!" + +#: src/character.cpp +msgid " falls off their mount!" +msgstr "" + +#: src/character.cpp src/trapfunc.cpp +msgid "You hurt yourself!" +msgstr "Ranisz się!" + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Fell off a mount." +msgstr "Spadłeś z wierzchowca." + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Fell off a mount." +msgstr "Spadłaś z wierzchowca." + +#: src/character.cpp +msgid "Dismount where?" +msgstr "Zejdź gdzie?" + +#: src/character.cpp +msgid "You cannot dismount there!" +msgstr "Nie możesz tam zejść!" + #: src/character.cpp msgid "You struggle to stand." msgstr "Wstajesz z wysiłkiem." @@ -197027,6 +203021,11 @@ msgstr "" msgid "Liquid from your inventory has leaked onto the ground." msgstr "Płyn z twojego ekwipunku wyciekł na ziemię." +#: src/character.cpp +#, c-format +msgid "Your current health value is %d." +msgstr "Twoja obecna wartość zdrowia to %d." + #: src/character.cpp msgid "Parched" msgstr "Spieczony" @@ -197096,6 +203095,77 @@ msgstr "Śmiertelnie Zmęczony" msgid "Your %s bionic shorts out!" msgstr "" +#: src/character.cpp +#, c-format +msgid "Your %s will be frostnipped in the next few hours." +msgstr "Twoje %s będą lekko odmrożone w ciągu kilku godzin." + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten within the hour!" +msgstr "Twoje %s będą odmrożone w ciągu godziny!" + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten any minute now!" +msgstr "Twoje %s będą odmrożone w każdej chwili!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s beginning to go numb from the cold!" +msgstr "Czujesz jak sztywność ogrania %s z powodu zimna!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very cold." +msgstr "Czujesz jak wyziębienie ogarnia %s." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting chilly." +msgstr "Czujesz jak chłód ogarnia %s." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting red hot from the heat!" +msgstr "Żar rozgrzewa %s do czerwoności!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very hot." +msgstr "Czujesz że %s ogarnia żar." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting warm." +msgstr "Czujesz że ciepło ogarniające %s." + +#: src/character.cpp +#, c-format +msgid "The wind is making your %s feel quite cold." +msgstr "Wiatr wychładza ci %s." + +#: src/character.cpp +#, c-format +msgid "" +"The wind is very strong, you should find some more wind-resistant clothing " +"for your %s." +msgstr "" +"Wiatr jest bardzo silny, powinieneś znaleźć coś co ochroni przed nim %s." + +#: src/character.cpp +#, c-format +msgid "" +"Your clothing is not providing enough protection from the wind for your %s!" +msgstr "" +"Twój ubiór nie zapewnia dostatecznej ochrony przed wiatrem dla twojej %s!" + #: src/character.cpp msgid "Left Arm" msgstr "Lewa Ręka" @@ -197113,8 +203183,8 @@ msgid "Right Leg" msgstr "Prawa Noga" #: src/character.cpp -msgid "It is broken. It needs a splint or surgical attention." -msgstr "Jest złamana. Wymaga interwencji chirurgicznej lub łubków." +msgid "It is broken. It needs a splint or surgical attention." +msgstr "" #: src/character.cpp #, c-format @@ -197159,10 +203229,8 @@ msgstr "To nie pomoże w oczyszczeniu rany." #: src/character.cpp msgid "" -"It has a deep wound that looks infected. Antibiotics might be required." +"It has a deep wound that looks infected. Antibiotics might be required." msgstr "" -"Ma głęboką ranę, która wygląda na zainfekowaną. Mogą być potrzebne " -"antybiotyki." #: src/character.cpp #, c-format @@ -197262,8 +203330,8 @@ msgstr "" msgid "Big" msgstr "" -#: src/character.cpp src/color.cpp src/color.cpp src/options.cpp -#: src/panels.cpp +#: src/character.cpp src/character_martial_arts.cpp src/color.cpp +#: src/options.cpp msgid "Normal" msgstr "Normalny" @@ -197367,6 +203435,36 @@ msgstr "" msgid "EXTRA_EXERCISE" msgstr "" +#: src/character.cpp +msgid "Your body strains under the weight!" +msgstr "Twoje ciało ugina się pod ciężarem!" + +#: src/character.cpp +#, c-format +msgid "Your %s needs %d charge from some UPS." +msgid_plural "Your %s needs %d charges from some UPS." +msgstr[0] "Twój %s potrzebuje %d ładunek elektryczny z jakiegoś UPS-a." +msgstr[1] "Twój %s potrzebuje %d ładunków elektrycznych z jakiegoś UPS-a." +msgstr[2] "Twój %s potrzebuje %d ładunków elektrycznych z jakiegoś UPS-a." +msgstr[3] "Twój %s potrzebuje %d ładunków elektrycznych z jakiegoś UPS-a." + +#: src/character.cpp +#, c-format +msgid "Your %s has %d charge but needs %d." +msgid_plural "Your %s has %d charges but needs %d." +msgstr[0] "Twój %s ma %d ładunek a potrzebuje %d." +msgstr[1] "Twój %s ma %d ładunków a potrzebuje %d." +msgstr[2] "Twój %s ma %d ładunków a potrzebuje %d." +msgstr[3] "Twój %s ma %d ładunków a potrzebuje %d." + +#: src/character.cpp +msgid "You cough heavily." +msgstr "Intensywnie kaszlesz." + +#: src/character.cpp +msgid "a hacking cough." +msgstr "suchy kaszel." + #: src/character.cpp msgid "You try to shout but you have no face!" msgstr "" @@ -197444,6 +203542,123 @@ msgctxt "fake stat there's an error" msgid "ERR" msgstr "" +#. ~ %s is armor name +#: src/character.cpp +#, c-format +msgctxt "memorial_male" +msgid "Worn %s was completely destroyed." +msgstr "Noszony %s został kompletnie zniszczony." + +#: src/character.cpp +#, c-format +msgctxt "memorial_female" +msgid "Worn %s was completely destroyed." +msgstr "Noszona %s została kompletnie zniszczona." + +#: src/character.cpp +#, c-format +msgid "Your %s is completely destroyed!" +msgstr "Twój %s jest kompletnie zniszczony!" + +#: src/character.cpp +#, c-format +msgid "'s %s is completely destroyed!" +msgstr "Noszony przez %s został kompletnie zniszczony." + +#: src/character.cpp src/veh_interact.cpp +msgid "destroyed" +msgstr "zniszczony" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s further!" +msgstr "Twój %1$s jest %2$s dalej!" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s!" +msgstr "Twój %1$s jest %2$s!" + +#: src/character.cpp +#, c-format +msgid "You were attacked by %s!" +msgstr "Zaatakował cię %s!" + +#: src/character.cpp +msgid "You were hurt!" +msgstr "Zadano ci ból!" + +#. ~spore-release sound +#. ~ the sound of a fungus releasing spores +#. ~ That spore sound again +#. ~ the sound of a fungus dying +#: src/character.cpp src/monattack.cpp src/monattack.cpp src/mondeath.cpp +msgid "Pouf!" +msgstr "Pouf!" + +#: src/character.cpp +msgid "You sink your roots into the soil." +msgstr "Zapuszczasz korzenie w ziemię." + +#: src/character.cpp +msgid "You start hauling items along the ground." +msgstr "Zaczynasz ciągnąć rzeczy po ziemi." + +#: src/character.cpp +msgid "Your hands are not free, which makes hauling slower." +msgstr "Twoje ręce są zajęte, co czyni ciągnięcie wolniejszym." + +#: src/character.cpp +msgid "You stop hauling items." +msgstr "Przestajesz ciągnąć rzeczy." + +#: src/character.cpp +msgid "You resume your task." +msgstr "Wracasz do pracy." + +#: src/character.cpp +msgid "You nestle your pile of clothes for warmth." +msgstr "Zwijasz gniazdo z ubrań dla ciepła." + +#: src/character.cpp +msgid "You use your pile of clothes for warmth." +msgstr "Używasz pliku ubrań dla ciepła." + +#: src/character.cpp +#, c-format +msgid "You snuggle your %s to keep warm." +msgstr "Przytulasz swój %s dla utrzymania ciepła." + +#: src/character.cpp +#, c-format +msgid "You use your %s to keep warm." +msgstr "Używasz swój %s dla utrzymania ciepła." + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Entered hibernation." +msgstr "Rozpoczynasz hibernację." + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Entered hibernation." +msgstr "Rozpoczynasz hibernację." + +#: src/character_martial_arts.cpp +#, c-format +msgid "You have learned %s from extensive practice with the CQB Bionic." +msgstr "" +"Nauczyłeś się %s z intensywnej praktyki z Bioniką Walki Na Bliski Dystans" + +#: src/character_martial_arts.cpp +#, c-format +msgid "%s to select martial arts style." +msgstr "%s by wybrać styl walki wręcz." + +#: src/character_martial_arts.cpp +msgid "No Style" +msgstr "Brak Stylu" + #: src/clzones.cpp msgid "No Auto Pickup" msgstr "Bez Auto Podnoszenia" @@ -197492,275 +203707,6 @@ msgid "" "this area." msgstr "" -#: src/clzones.cpp -msgid "Loot: Unsorted" -msgstr "Łup: Nieposortowane" - -#: src/clzones.cpp -msgid "" -"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " -"sort items inside. It can overlap with Loot zones of different types." -msgstr "" -"Miejsce na upuszczenie nieposortowanych zdobyczy. Możesz użyć akcji " -"obszarowej \"posortuj zdobycz\" by posegregować zawartość. Może nakładać się" -" na inne obszary zdobyczy różnego typu." - -#: src/clzones.cpp -msgid "Loot: Food" -msgstr "Łup: Żywność" - -#: src/clzones.cpp -msgid "" -"Destination for comestibles. If more specific food zone is not defined, all " -"food is moved here." -msgstr "" -"Miejsce na żywność. Jeżeli bardziej szczegółowa strefa żywności nie jest " -"zdefiniowana, cała żywność trafi tutaj." - -#: src/clzones.cpp -msgid "Loot: P.Food" -msgstr "Łup: P.Żywność" - -#: src/clzones.cpp -msgid "" -"Destination for perishable comestibles. Does include perishable drinks if " -"such zone is not specified." -msgstr "" -"Miejsce na psującą się żywność. Uwzględnia psujące się napoje, jeśli takiej " -"strefy nie zdefiniowano." - -#: src/clzones.cpp -msgid "Loot: Drink" -msgstr "Łup: Napoje" - -#: src/clzones.cpp -msgid "" -"Destination for drinks. Does include perishable drinks if such zone is not " -"specified." -msgstr "" -"Miejsce na napoje. Uwzględnia psujące się drinki jeśli takiej strefy nie " -"zdefiniowano." - -#: src/clzones.cpp -msgid "Loot: P.Drink" -msgstr "Łup: P.Napoje" - -#: src/clzones.cpp -msgid "Destination for perishable drinks." -msgstr "Miejsce na psujące się drinki." - -#: src/clzones.cpp -msgid "Loot: Guns" -msgstr "Łup: Broń palna" - -#: src/clzones.cpp -msgid "Destination for guns, bows and similar weapons." -msgstr "Miejsce na broń palną, łuki i im podobne." - -#: src/clzones.cpp -msgid "Loot: Magazines" -msgstr "Łup: Magazynki" - -#: src/clzones.cpp -msgid "Destination for gun magazines." -msgstr "Miejsce na magazynki do broni palnej." - -#: src/clzones.cpp -msgid "Loot: Ammo" -msgstr "Łup: Amunicja" - -#: src/clzones.cpp -msgid "Destination for ammo." -msgstr "Miejsce na amunicję." - -#: src/clzones.cpp -msgid "Loot: Weapons" -msgstr "Łup: Broń" - -#: src/clzones.cpp -msgid "Destination for melee weapons." -msgstr "Miejsce na broń do walki wręcz." - -#: src/clzones.cpp -msgid "Loot: Tools" -msgstr "Łup: Narzędzia" - -#: src/clzones.cpp -msgid "Destination for tools." -msgstr "Miejsce na narzędzia." - -#: src/clzones.cpp -msgid "Loot: Clothing" -msgstr "Łup: Ubrania" - -#: src/clzones.cpp -msgid "" -"Destination for clothing. Does include filthy clothing if such zone is not " -"specified." -msgstr "" -"Miejsce na ubrania. Uwzględnia brudne ubrania jeśli taka strefa nie została " -"wyznaczona." - -#: src/clzones.cpp -msgid "Loot: F.Clothing" -msgstr "Łup: B.Ubrania" - -#: src/clzones.cpp -msgid "Destination for filthy clothing." -msgstr "Miejsce na brudne ubrania." - -#: src/clzones.cpp -msgid "Loot: Drugs" -msgstr "Łup: Leki" - -#: src/clzones.cpp -msgid "Destination for drugs and other medical items." -msgstr "Miejsce na leki i inne medykamenty." - -#: src/clzones.cpp -msgid "Loot: Books" -msgstr "Łup: Książki" - -#: src/clzones.cpp -msgid "Destination for books and magazines." -msgstr "Miejsce na książki i czasopisma." - -#: src/clzones.cpp -msgid "Loot: Mods" -msgstr "Łup: Modyfikacje" - -#: src/clzones.cpp -msgid "Destination for firearm modifications and similar items." -msgstr "Miejsce na modyfikacje do broni itp." - -#: src/clzones.cpp -msgid "Loot: Mutagens" -msgstr "Łup: Mutageny" - -#: src/clzones.cpp -msgid "Destination for mutagens, serums, and purifiers." -msgstr "Miejsce na mutageny, sera, i czyściki." - -#: src/clzones.cpp -msgid "Loot: Bionics" -msgstr "Łup: Bionika" - -#: src/clzones.cpp -msgid "Destination for Compact Bionics Modules aka CBMs." -msgstr "Miejsca na Kompaktowe Bioniczne Moduły aka CBM." - -#: src/clzones.cpp -msgid "Loot: V.Parts" -msgstr "Łup: C.Pojazdów" - -#: src/clzones.cpp -msgid "Destination for vehicle parts." -msgstr "Miejsce na części samochodowe." - -#: src/clzones.cpp -msgid "Loot: Other" -msgstr "Łup: Inne" - -#: src/clzones.cpp -msgid "Destination for other miscellaneous items." -msgstr "Miejsce na inne niesklasyfikowane przedmioty." - -#: src/clzones.cpp -msgid "Loot: Fuel" -msgstr "Łup: Paliwo" - -#: src/clzones.cpp -msgid "" -"Destination for gasoline, diesel, lamp oil and other substances used as a " -"fuel." -msgstr "" -"Miejsce na benzynę, diesla, olej do lamp i inne substancje używane jako " -"paliwa." - -#: src/clzones.cpp -msgid "Loot: Seeds" -msgstr "Łup: Nasiona" - -#: src/clzones.cpp -msgid "Destination for seeds, stems and similar items." -msgstr "Miejsce na nasiona, sadzonki, itp." - -#: src/clzones.cpp -msgid "Loot: Chemical" -msgstr "Łup: Chemia" - -#: src/clzones.cpp -msgid "Destination for chemicals." -msgstr "Miejsce na chemikalia." - -#: src/clzones.cpp -msgid "Loot: S.Parts" -msgstr "Łup: C.Zamienne" - -#: src/clzones.cpp -msgid "Destination for spare parts." -msgstr "Miejsce na części zamienne." - -#: src/clzones.cpp -msgid "Loot: Artifacts" -msgstr "Łup: Artefakty" - -#: src/clzones.cpp -msgid "Destination for artifacts" -msgstr "Miejsce na artefakty." - -#: src/clzones.cpp -msgid "Loot: Corpses" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for corpses" -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Armor" -msgstr "Łup: Zbroje" - -#: src/clzones.cpp -msgid "" -"Destination for armor. Does include filthy armor if such zone is not " -"specified." -msgstr "" -"Miejsca na zbroje. Uwzględnia brudne zbroje, jeśli strefa na nie nie została" -" wyznaczona." - -#: src/clzones.cpp -msgid "Loot: F.Armor" -msgstr "Łup: B.Zbroja" - -#: src/clzones.cpp -msgid "Destination for filthy armor." -msgstr "Miejsce na brudne zbroje." - -#: src/clzones.cpp -msgid "Loot: Wood" -msgstr "Łup: Drewno" - -#: src/clzones.cpp -msgid "Destination for firewood and items that can be used as such." -msgstr "Miejsce na drewno opałowe i inne rzeczy, które mogą za nie służyć." - -#: src/clzones.cpp -msgid "Loot: Custom" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for loot with a custom filter that you can modify." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Ignore" -msgstr "Łup: Ignoruj" - -#: src/clzones.cpp -msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." -msgstr "Rzeczy w tej strefie są ignorowane przez akcję sortowania zdobyczy." - #: src/clzones.cpp msgid "Source: Firewood" msgstr "" @@ -197768,7 +203714,7 @@ msgstr "" #: src/clzones.cpp msgid "" "Source for firewood or other flammable materials in this zone may be used to" -" automatically refuel fires. This will be done to maintain light during " +" automatically refuel fires. This will be done to maintain light during " "long-running tasks such as crafting, reading or waiting." msgstr "" @@ -197820,6 +203766,14 @@ msgstr "" msgid "Any vehicles in this area are marked for repair work." msgstr "" +#: src/clzones.cpp +msgid "Vehicle Patrol Zone" +msgstr "" + +#: src/clzones.cpp +msgid "Vehicles with an autopilot will patrol in this zone." +msgstr "" + #: src/clzones.cpp msgid "Basecamp: Food" msgstr "" @@ -197840,11 +203794,11 @@ msgstr "Brak nasiona" #: src/clzones.cpp #, c-format -msgid "Loot: Custom : %s" +msgid "Loot: Custom: %s" msgstr "" #: src/clzones.cpp -msgid "Loot: Custom : No Filter" +msgid "Loot: Custom: No Filter" msgstr "" #: src/clzones.cpp @@ -197998,8 +203952,8 @@ msgstr "BŁĄD! Odmowa dostępu!" #: src/computer.cpp #, c-format -msgid "Logging into %s..." -msgstr "Logowanie do %s..." +msgid "Logging into %s…" +msgstr "" #: src/computer.cpp msgid "Access is temporary blocked for security purposes." @@ -198014,16 +203968,17 @@ msgid "Bypass security?" msgstr "Obejść zabezpieczenia?" #: src/computer.cpp -msgid "Shutting down... press any key." -msgstr "Zamykanie... naciśnij dowolny klawisz." +msgid "Shutting down… press any key." +msgstr "" #: src/computer.cpp -msgid "Maximum login attempts exceeded. Press any key..." -msgstr "Maksymalna liczba prób logowania. Naciśnij dowolny klawisz..." +msgid "Maximum login attempts exceeded. Press any key…" +msgstr "" +"Przekroczono maksymalną liczbę prób logowania. Naciśnij dowolny klawisz…" #: src/computer.cpp -msgid "Login successful. Press any key..." -msgstr "Logowanie zakończone sukcesem. Naciśnij dowolny klawisz..." +msgid "Login successful. Press any key…" +msgstr "" #: src/computer.cpp msgid "Root Menu" @@ -198046,29 +204001,29 @@ msgid "Choose drive:" msgstr "Wybierz dysk:" #: src/computer.cpp -msgid "Doors opened. Press any key..." -msgstr "Drzwi otwarte. Naciśnij dowolny klawisz..." +msgid "Doors opened. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Lock enabled. Press any key..." -msgstr "Zamek włączony. Naciśnij dowolny klawisz..." +msgid "Lock enabled. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Lock disabled. Press any key..." -msgstr "Zamek wyłączony. Naciśnij dowolny klawisz..." +msgid "Lock disabled. Press any key…" +msgstr "" #. ~ the sound of a church bell ringing #: src/computer.cpp -msgid "Bohm... Bohm... Bohm..." -msgstr "Bohm... Bohm... Bohm..." +msgid "Bohm… Bohm… Bohm…" +msgstr "" #: src/computer.cpp -msgid "Containment shields opened. Press any key..." -msgstr "Osłony powstrzymujące otwarte. Naciśnij dowolny klawisz..." +msgid "Containment shields opened. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Subjects terminated. Press any key..." -msgstr "Podmioty zniszczone. Naciśnij dowolny klawisz..." +msgid "Subjects terminated. Press any key…" +msgstr "" #: src/computer.cpp msgid "WARNING: Resonance cascade carries severe risk! Continue?" @@ -198080,42 +204035,38 @@ msgid "No data found." msgstr "Nie znaleziono danych." #: src/computer.cpp -msgid "Local data-access error logged, alerting helpdesk. Press any key..." +msgid "Local data-access error logged, alerting helpdesk. Press any key…" msgstr "" -"Wpisano do logów błąd lokalnego dostępu do danych, alarmuję helpdesk. " -"Naciśnij dowolny klawisz..." #: src/computer.cpp msgid "" -"Warning: anomalous archive-access activity detected at this node. Press any " -"key..." +"Warning: anomalous archive-access activity detected at this node. Press any" +" key…" msgstr "" -"Ostrzeżenie: wykryto nietypową aktywność w dostępie do archiwalnych danych " -"na tym terminalu. Naciśnij dowolny klawisz..." #: src/computer.cpp -msgid "Warning: resticted data access. Attempt logged. Press any key..." +msgid "Warning: resticted data access. Attempt logged. Press any key…" msgstr "" +"Ostrzeżenie: ograniczony dostęp do danych. Próba zalogowana. Naciśnij " +"dowolny klawisz…" #: src/computer.cpp -msgid "Press any key..." -msgstr "Naciśnij dowolny klawisz..." +msgid "Press any key…" +msgstr "" #: src/computer.cpp msgid "" "Surface map data downloaded. Local anomalous-access error logged. Press " -"any key..." +"any key…" msgstr "" -"Pobrano mapę powierzchni i dane kartograficzne. Lokalna nietypowa aktywność," -" błąd wpisano od logów. Naciśnij dowolny klawisz..." #: src/computer.cpp -msgid "Sewage map data downloaded. Press any key..." -msgstr "Pobrano mapę sieci kanalizacyjnej. Naciśnij dowolny klawisz..." +msgid "Sewage map data downloaded. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Subway map data downloaded. Press any key..." -msgstr "Mapa metra pobrana. Naciśnij dowolny klawisz..." +msgid "Subway map data downloaded. Press any key…" +msgstr "" #: src/computer.cpp msgid "Target acquisition canceled." @@ -198151,16 +204102,16 @@ msgstr "Dostęp do bionik - Manifest:" #: src/computer.cpp #, c-format -msgid "%d OTHER FOUND..." -msgid_plural "%d OTHERS FOUND..." -msgstr[0] "ZNALEZIONO %d INNY..." -msgstr[1] "ZNALEZIONO %d INNYCH..." -msgstr[2] "ZNALEZIONO %d INNYCH..." -msgstr[3] "ZNALEZIONO %d INNYCH..." +msgid "%d OTHER FOUND…" +msgid_plural "%d OTHERS FOUND…" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: src/computer.cpp -msgid "Elevator activated. Press any key..." -msgstr "Winda aktywowana. Wciśnij dowolny klawisz..." +msgid "Elevator activated. Press any key…" +msgstr "" #: src/computer.cpp #, c-format @@ -198185,8 +204136,8 @@ msgstr "" "ISTOTNE NOTATKI SZTYGARA ZAŁĄCZONO JAKO WSTĘP" #: src/computer.cpp -msgid "FILE CORRUPTED, PRESS ANY KEY..." -msgstr "PLIK USZKODZONY, NACIŚNIJ DOWOLNY KLAWISZ..." +msgid "FILE CORRUPTED, PRESS ANY KEY…" +msgstr "" #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -198201,12 +204152,12 @@ msgid "ACCESS DENIED" msgstr "ODMOWA DOSTĘPU" #: src/computer.cpp -msgid "Repeater mod installed..." -msgstr "Mod Wzmacniaka zainstalowany..." +msgid "Repeater mod installed…" +msgstr "" #: src/computer.cpp -msgid "You do not have a repeater mod to install..." -msgstr "Nie masz modu wzmacniaka do zainstalowania..." +msgid "You do not have a repeater mod to install…" +msgstr "" #: src/computer.cpp msgid "Computer couldn't find its mission!" @@ -198237,16 +204188,16 @@ msgid "ERROR: Please only use blood samples." msgstr "BŁĄD: Użyj wyłącznie próbek krwi." #: src/computer.cpp -msgid "Result: Human blood, no pathogens found." -msgstr "Rezultat: Ludzka krew, nie znaleziono patogenów." +msgid "Result: Human blood, no pathogens found." +msgstr "" #: src/computer.cpp -msgid "Result: Human blood. Unknown pathogen found." -msgstr "Rezultat: Ludzka krew. Znaleziono nieznany patogen." +msgid "Result: Human blood. Unknown pathogen found." +msgstr "" #: src/computer.cpp -msgid "Result: Unknown blood type. Unknown pathogen found." -msgstr "Rezultat: Nieznany typ krwi. Znaleziono nieznany patogen." +msgid "Result: Unknown blood type. Unknown pathogen found." +msgstr "" #: src/computer.cpp msgid "Pathogen bonded to erythrocytes and leukocytes." @@ -198282,81 +204233,54 @@ msgstr "BŁĄD: Bank pamięci jest pusty." #: src/computer.cpp msgid "" -"Memory Bank: Military Hexron Encryption\n" +"Memory Bank: Military Hexron Encryption\n" "Printing Transcript\n" msgstr "" -"Bank Pamięci: Wojskowe Szyfrowanie Hexron\n" -"Drukowanie Transkrypcji\n" #: src/computer.cpp msgid "" -"Memory Bank: Unencrypted\n" +"Memory Bank: Unencrypted\n" "Nothing of interest.\n" msgstr "" -"Bank Pamięci: Nieszyfrowany\n" -"Nic interesującego.\n" #: src/computer.cpp msgid "" "\n" -"ERROR: NETWORK DISCONNECT \n" +"ERROR: NETWORK DISCONNECT\n" "UNABLE TO REACH NETWORK ROUTER OR PROXY. PLEASE CONTACT YOUR\n" "SYSTEM ADMINISTRATOR TO RESOLVE THIS ISSUE.\n" " \n" msgstr "" -"\n" -"BŁĄD: SIEĆ ODŁĄCZONA\n" -"POŁĄCZENIE Z ROUTEREM LUB PROXY NIEUDANE. SKONTAKTUJ\n" -"SIĘ Z ADMINISTRATOREM SIECI BY ROZWIĄZAĆ PROBLEM.\n" #: src/computer.cpp -msgid "Press any key to continue..." -msgstr "Naciśnij dowolny klawisz by kontynuować..." +msgid "Press any key to continue…" +msgstr "" #: src/computer.cpp msgid "" -"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF \n" -"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU \n" -"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW. \n" +"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF\n" +"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU\n" +"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW.\n" "\n" -"1. DO NOT PANIC. \n" -"2. REMAIN INSIDE THE BUILDING. \n" -"3. SEEK SHELTER IN THE BASEMENT. \n" -"4. USE PROVIDED GAS MASKS. \n" -"5. AWAIT FURTHER INSTRUCTIONS. \n" +"1. DO NOT PANIC.\n" +"2. REMAIN INSIDE THE BUILDING.\n" +"3. SEEK SHELTER IN THE BASEMENT.\n" +"4. USE PROVIDED GAS MASKS.\n" +"5. AWAIT FURTHER INSTRUCTIONS.\n" "\n" " \n" msgstr "" -"WITAJ OBYWATELU. MIAŁ MIEJSCE ATAK BIOLOGICZNY I OGŁOSZONO STAN \n" -"ZAGROŻENIA. PERSONEL KRYZYSOWY WKRÓTCE CI POMOŻE. BY ZAPEWNIĆ \n" -"CI BEZPIECZEŃSTWO POSTĘPUJ WG PONIŻSZYCH KROKÓW.\n" -"\n" -"\n" -"1. NIE PANIKUJ.\n" -"2. POZOSTAŃ WEWNĄTRZ BUDYNKU.\n" -"3. SZUKAJ SCHRONIENIA W PIWNICY.\n" -"4. UŻYJ DOSTĘPNYCH MASEK PRZECIWGAZOWYCH.\n" -"5. OCZEKUJ DALSZYCH POLECEŃ\n" -"\n" -"\n" #: src/computer.cpp msgid "" -" WARNING, RADIO TOWER IS UNRESPONSIVE. \n" +" WARNING, RADIO TOWER IS UNRESPONSIVE.\n" " \n" -" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS. \n" -" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD \n" -" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED. \n" +" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS.\n" +" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD\n" +" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED.\n" " \n" " \n" msgstr "" -" UWAGA, WIEŻA RADIOWA NIE ODPOWIADA.\n" -" \n" -" ZASILANIE AWARYJNE NIEWYSTARCZAJĄCE DO OSIĄGNIECIA WYMAGAŃ TRANSMISJI. \n" -" NA WYPADEK SYTUACJI AWARYJNEJ, SKONTAKTUJ SIĘ Z LOKALNĄ GWARDIĄ NARODOWĄ \n" -" JEDNOSTKI OTRZYMUJĄCE PRIORYTET PODCZAS ROZMIESZCZANIA GENERATORÓW. \n" -" \n" -" \n" #: src/computer.cpp msgid "Charges Detonated" @@ -198400,28 +204324,28 @@ msgid "WARNING [409]: Primary sensors offline!" msgstr "OSTRZEŻENIE [409]: Główne czujniki wyłączone!" #: src/computer.cpp -msgid " >> Initialize secondary sensors: Geiger profiling..." -msgstr " >> Inicjacja czujników pobocznych: Profilowanie Geigera..." +msgid " >> Initialize secondary sensors: Geiger profiling…" +msgstr "" #: src/computer.cpp msgid " >> Radiation spike detected!\n" msgstr " >> Wykryto skok promieniowania!\n" #: src/computer.cpp -msgid "WARNING [912]: Catastrophic malfunction! Contamination detected! " -msgstr "OSTRZEŻENIE [912]: Katastrofalna awaria! Wykryto zanieczyszczenie!" +msgid "WARNING [912]: Catastrophic malfunction! Contamination detected!" +msgstr "" #: src/computer.cpp msgid "EMERGENCY PROCEDURE [1]: Evacuate. Evacuate. Evacuate.\n" msgstr "PROCEDURA AWARYJNA [1]: Ewakuować. Ewakuować. Ewakuować.\n" #: src/computer.cpp -msgid "EMERGENCY SHUTDOWN! Press any key..." -msgstr "WYŁĄCZENIE AWARYJNE! Naciśnij dowolny klawisz..." +msgid "EMERGENCY SHUTDOWN! Press any key…" +msgstr "" #: src/computer.cpp -msgid "PROCESSING... CYCLE COMPLETE." -msgstr "PRZETWARZANIE... CYKL ZAKOŃCZONY." +msgid "PROCESSING… CYCLE COMPLETE." +msgstr "" #: src/computer.cpp #, c-format @@ -198430,11 +204354,9 @@ msgstr "MIERNIK GEIGERA - PLATFORMA: %s mSv/h." #: src/computer.cpp msgid "" -"CRITICAL ERROR... RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " +"CRITICAL ERROR… RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " "RP_M_01_rev.03." msgstr "" -"BŁĄD KRYTYCZNY... PLATFORMA RADIACYJNA NIE ODPOWIADA. ZASTOSUJ PROCEDURĘ " -"RP_M_01_rev.03." #: src/computer.cpp msgid "RADIATION MEASUREMENTS:" @@ -198442,23 +204364,23 @@ msgstr "POMIARY RADIACJI:" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... AVG %s mSv/h." -msgstr "MIERNIK GEIGERA - STREFA:.. ŚR.: %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… AVG %s mSv/h." +msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... MAX %s mSv/h." -msgstr "MIERNIK GEIGERA - STREFA:.. MAX.: %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… MAX %s mSv/h." +msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ CONSOLE: .... %s mSv/h." -msgstr "MIERNIK GEIGERA - KONSOLA: .... %s mSv/h." +msgid "GEIGER COUNTER @ CONSOLE:… %s mSv/h." +msgstr "" #: src/computer.cpp #, c-format -msgid "PERSONAL DOSIMETRY: .... %s mSv." -msgstr "OSOBISTA DOZYMETRIA: .... %s mSv." +msgid "PERSONAL DOSIMETRY:… %s mSv." +msgstr "" #: src/computer.cpp msgid "Conveyor belt malfunction. Consult maintenance team." @@ -198481,30 +204403,28 @@ msgid "No items detected at: LOADING BAY." msgstr "Nie wykryto przedmiotów w: STREFA ZAŁADUNKU" #: src/computer.cpp -msgid "Conveyor belt cycle complete. Press any key..." -msgstr "Przewijanie taśmociągu wykonane. Naciśnij dowolny klawisz..." +msgid "Conveyor belt cycle complete. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Toggling shutters. Press any key..." -msgstr "Przełączanie zasłon. Naciśnij dowolny klawisz..." +msgid "Toggling shutters. Press any key…" +msgstr "" #: src/computer.cpp msgid "Operation irreversible. Extract radioactive material?" msgstr "Czynność nieodwracalna. Wydobyć materiał radioaktywny?" #: src/computer.cpp -msgid "Extraction sequence complete... Press any key." -msgstr "Sekwencja wydobycia zakończona... Naciśnij dowolny klawisz." +msgid "Extraction sequence complete… Press any key." +msgstr "" #: src/computer.cpp -msgid "ERROR! Radiation platform unresponsive... Press any key." +msgid "ERROR! Radiation platform unresponsive… Press any key." msgstr "" -"BŁĄD! Platforma napromieniowywania nie odpowiada... Naciśnij dowolny " -"klawisz..." #: src/computer.cpp -msgid "Initiating POWER-DIAG ver.2.34 ..." -msgstr "Uruchamiam DIAG-MOC ver.2.34 ..." +msgid "Initiating POWER-DIAG ver.2.34…" +msgstr "" #: src/computer.cpp msgid "Short circuit detected!" @@ -198524,26 +204444,23 @@ msgstr "Uziemienie przywrócone." #: src/computer.cpp #, c-format -msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." +msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." msgstr "" -"Status wewnętrznych linii zasilania 85%% WYŁĄCZONE: Powód: USZKODZENIA." #: src/computer.cpp #, c-format msgid "" -"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " +"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " "DETECTED." msgstr "" -"Status zewnętrznych linii zasilania: 100%% OFFLINE. Powód: NIE WYKRYTO " -"ZEWNĘTRZNEGO ZASILANIA." #: src/computer.cpp msgid "Backup power status: STANDBY MODE." msgstr "Status zasilania awaryjnego: TRYB GOTOWOŚCI." #: src/computer.cpp -msgid "Backup power status: OFFLINE. Reason: UNKNOWN" -msgstr "Status zasilania awaryjnego: WYŁĄCZONE. Przyczyna: NIEZNANA" +msgid "Backup power status: OFFLINE. Reason: UNKNOWN" +msgstr "" #: src/computer.cpp msgid "The console shuts down." @@ -198602,8 +204519,8 @@ msgid "ERROR: Data bank destroyed." msgstr "BŁĄD: Bank danych zniszczony." #: src/computer.cpp -msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT ... " -msgstr "POSZUKIWANIE NAJBLIŻSZEGO CENTRUM DLA UCHODŹCÓW, PROSZĘ CZEKAĆ ..." +msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT…" +msgstr "" #. ~555-0164 is a fake phone number in the US, please replace it with a number #. that will not cause issues in your locale if possible. @@ -198611,23 +204528,16 @@ msgstr "POSZUKIWANIE NAJBLIŻSZEGO CENTRUM DLA UCHODŹCÓW, PROSZĘ CZEKAĆ ..." #, c-format msgid "" "\n" -"REFUGEE CENTER FOUND! LOCATION: %d %s\n" +"REFUGEE CENTER FOUND! LOCATION: %d %s\n" "\n" -"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT \n" -"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE. \n" -"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND \n" -"4PM AT 555-0164. \n" +"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT\n" +"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE.\n" +"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND\n" +"4PM AT 555-0164.\n" "\n" "IF YOU WOULD LIKE TO SPEAK WITH SOMEONE IN PERSON OR WOULD LIKE\n" -"TO WRITE US A LETTER PLEASE SEND IT TO...\n" +"TO WRITE US A LETTER PLEASE SEND IT TO…\n" msgstr "" -"\n" -"CENTRUM DLA UCHODŹCÓW ZNALEZIONE! LOKALIZACJA: %d %s\n" -"\n" -"JEŚLI MASZ UWAGI DO SWOJEJ WIZYTY PROSZĘ O KONTAKT\n" -" Z DEPARTAMENTEM ZARZĄDZANIA KRYZYSOWEGO BIURA SPRAW WEWNĘTRZNYCH.\n" -"LOKALNE BIURO JEST DOSTĘPNE W GODZ. OD 9AM DO 4PM POD TEL. 555-0164.\n" -" GDYBYŚ CHCIAŁ ROZMAWIAĆ Z KIMŚ OSOBIŚCIE LUB NAPISAĆ LIST WYŚLIJ GO DO...\n" #: src/construction.cpp msgid " Construction " @@ -198719,13 +204629,13 @@ msgstr "" #: src/construction.cpp #, c-format -msgid "%s assists you with the work..." -msgstr "%s asystuje ci przy pracy..." +msgid "%s assists you with the work…" +msgstr "" #: src/construction.cpp #, c-format -msgid "%s watches you work..." -msgstr "%s obserwuje cię przy pracy..." +msgid "%s watches you work…" +msgstr "" #: src/construction.cpp #, c-format @@ -198786,8 +204696,8 @@ msgid "That %s can not be dissasembled, since there is furniture above it." msgstr "" #: src/construction.cpp -msgid "The rock feels much warmer than normal. Proceed?" -msgstr "Kamień jest dużo cieplejszy niż normalnie. Kontynuować?" +msgid "The rock feels much warmer than normal. Proceed?" +msgstr "" #: src/construction.cpp msgid "You just tunneled into lava!" @@ -198952,22 +204862,19 @@ msgstr "Skonsumować %s mimo tego?" #: src/consumption.cpp msgid "" "You've begun stockpiling calories and liquid for hibernation. You get the " -"feeling that you should prepare for bed, just in case, but...you're hungry " +"feeling that you should prepare for bed, just in case, but… you're hungry " "again, and you could eat a whole week's worth of food RIGHT NOW." msgstr "" -"Rozpocząłeś gromadzenie kalorii i płynów do hibernacji. Czujesz, że " -"powinieneś przygotować się do spania, na wszelki wypadek, ale... jesteś znów" -" głodny, i zjadłbyś konia z kopytami JUŻ TERAZ." #: src/consumption.cpp #, c-format -msgid "Ick, this %s doesn't taste so good..." -msgstr "Ick, to%s nie smakuje zbyt dobrze..." +msgid "Ick, this %s doesn't taste so good…" +msgstr "" #: src/consumption.cpp #, c-format -msgid "Mmm, this %s tastes delicious..." -msgstr "Mmm, ten %s smakuje wybornie..." +msgid "Mmm, this %s tastes delicious…" +msgstr "" #: src/consumption.cpp #, c-format @@ -198981,8 +204888,8 @@ msgstr "Asymilujesz %s." #: src/consumption.cpp #, c-format -msgid "Ick, this %s (rotten) doesn't taste so good..." -msgstr "Ick, %s (zgniłe) nie smakuje zbyt dobrze..." +msgid "Ick, this %s (rotten) doesn't taste so good…" +msgstr "" #: src/consumption.cpp #, c-format @@ -199035,8 +204942,8 @@ msgid "You greedily devour the taboo meat." msgstr "Chciwie pożerasz zakazane mięso." #: src/consumption.cpp -msgid "Meh. You've eaten worse." -msgstr "Meh. Jadałeś gorsze." +msgid "Meh. You've eaten worse." +msgstr "" #: src/consumption.cpp msgid "" @@ -199066,8 +204973,8 @@ msgid "You can't taste much of anything with this flu." msgstr "" #: src/consumption.cpp -msgid "Yuck! How can anybody eat this stuff?" -msgstr "Ohyda! Jak ktokolwiek może to jeść?" +msgid "Yuck! How can anybody eat this stuff?" +msgstr "" #: src/consumption.cpp msgid "Mmm, junk food." @@ -199078,8 +204985,8 @@ msgid "When life's got you down, there's always sugar." msgstr "Gdy życie daje ci kopa, zawsze jest jeszcze cukier." #: src/consumption.cpp -msgid "They may do what they must... you've already won." -msgstr "Mogą robić to co muszą... ty już zwyciężyłeś." +msgid "They may do what they must… you've already won." +msgstr "" #: src/consumption.cpp msgid "Your stomach begins gurgling and you feel bloated and ill." @@ -199114,16 +205021,16 @@ msgid "They're coming to get you." msgstr "Idą po ciebie." #: src/consumption.cpp -msgid "This might've been a bad idea..." -msgstr "To był zły pomysł..." +msgid "This might've been a bad idea…" +msgstr "" #: src/consumption.cpp msgid "You've really done it this time, haven't you?" msgstr "Tym razem nawaliłeś na całego, czyż nie?" #: src/consumption.cpp -msgid "You have to stay vigilant. They're always watching..." -msgstr "Musisz być czujny. Oni zawsze obserwują..." +msgid "You have to stay vigilant. They're always watching…" +msgstr "" #: src/consumption.cpp msgid "mistake mistake mistake mistake mistake" @@ -199142,8 +205049,8 @@ msgid "Something is twitching at the edge of your vision." msgstr "Coś się rusza na granicy twojego wzroku." #: src/consumption.cpp -msgid "They know what you've done..." -msgstr "Wiedzą co zrobiłeś..." +msgid "They know what you've done…" +msgstr "" #: src/consumption.cpp msgid "You're feeling even more paranoid than usual." @@ -199154,21 +205061,19 @@ msgid "You gorge yourself, preparing to hibernate." msgstr "Obżerasz się, przygotowując się do hibernacji." #: src/consumption.cpp -msgid "You feel stocked for a day or two. Got your bed all ready and secured?" +msgid "" +"You feel stocked for a day or two. Got your bed all ready and secured?" msgstr "" -"Czujesz się napełniony na dzień czy dwa. Przygotowałeś i zabezpieczyłeś " -"łóżko?" #: src/consumption.cpp msgid "" -"Mmm. You can still fit some more in...but maybe you should get comfortable " +"Mmm. You can still fit some more in… but maybe you should get comfortable " "and sleep." msgstr "" -"Mmm. Jeszcze byś trochę zmieścił... ale może powinieneś się umościć do snu." #: src/consumption.cpp -msgid "That filled a hole! Time for bed..." -msgstr "To wypełniło dziurę! Czas do snu..." +msgid "That filled a hole! Time for bed…" +msgstr "" #: src/consumption.cpp msgid "You feel as though you're going to split open! In a good way?" @@ -199177,8 +205082,8 @@ msgstr "Czujesz jakbyś miał się rozerwać na kawałki! W dobrym znaczeniu?" #. ~slimespawns have *small voices* which may be the Nice equivalent #. ~of the Rat King's ALL CAPS invective. Probably shared-brain telepathy. #: src/consumption.cpp -msgid "hey, you look like me! let's work together!" -msgstr "hej, wyglądasz jak ja! pracujemy razem!" +msgid "hey, you look like me! let's work together!" +msgstr "" #: src/consumption.cpp #, c-format @@ -199190,24 +205095,6 @@ msgstr "Czujesz że %s wypełnia cię." msgid " looks better after eating the %s." msgstr " wygląda lepiej po zjedzeniu %s." -#: src/consumption.cpp -msgid "Your internal power storage is fully powered." -msgstr "Twój wewnętrzny magazyn mocy jest w pełni zasilony." - -#: src/consumption.cpp -msgid "'s internal power storage is fully powered." -msgstr "Wewnętrzny magazyn mocy jest w pełni zasilony." - -#: src/consumption.cpp -#, c-format -msgid "You recharge your battery system with the %s." -msgstr "Ładujesz swój system bateryjny z użyciem %s." - -#: src/consumption.cpp -#, c-format -msgid " recharges their battery system with the %s." -msgstr " ładuje swój system bateryjny z użyciem %s." - #: src/consumption.cpp msgid "That is a LOT of plutonium. Are you sure you want that much?" msgstr "To jest DUŻO plutonu. Czy jesteś pewien, że chcesz tak dużą ilość?" @@ -199325,8 +205212,8 @@ msgid "" msgstr "" #: src/craft_command.cpp -msgid "Some components used previously are missing. Continue?" -msgstr "Niektórych komponentów użytych poprzednio brakuje. Kontynuować?" +msgid "Some components used previously are missing. Continue?" +msgstr "" #: src/craft_command.cpp msgid "Item(s): " @@ -199337,7 +205224,7 @@ msgid "Tool(s): " msgstr "Narzędzie(a):" #: src/crafting.cpp -msgid "Your morale is too low to craft such a difficult thing..." +msgid "Your morale is too low to craft such a difficult thing…" msgstr "" #: src/crafting.cpp @@ -199396,7 +205283,7 @@ msgstr "Już nie możesz już wytwarzać tego!" #, c-format msgid "" "You don't have anything in which to store %s and may have to pour it out or " -"consume it as soon as it is prepared! Proceed?" +"consume it as soon as it is prepared! Proceed?" msgstr "" #: src/crafting.cpp src/pickup.cpp @@ -199487,23 +205374,23 @@ msgstr " zaczyna pracę nad %s." #: src/crafting.cpp #, c-format -msgid "%s assists with crafting..." -msgstr "%s asystuje ci w produkcji..." +msgid "%s assists with crafting…" +msgstr "" #: src/crafting.cpp #, c-format -msgid "%s could assist you with a batch..." -msgstr "%s asystuje ci w masowej produkcji..." +msgid "%s could assist you with a batch…" +msgstr "" #: src/crafting.cpp #, c-format -msgid "%s watches you craft..." -msgstr "%s obserwuje cię przy procesie wytwarzania..." +msgid "%s watches you craft…" +msgstr "" #: src/crafting.cpp #, c-format -msgid "%s helps with crafting..." -msgstr "%s pomaga ci w produkcji..." +msgid "%s helps with crafting…" +msgstr "" #: src/crafting.cpp #, c-format @@ -199793,8 +205680,8 @@ msgstr "Oszczędność czasu przy hurcie: %s" #: src/crafting_gui.cpp #, c-format -msgid "Dark craftable? %s" -msgstr "Wytwarzalne w mroku? %s" +msgid "Dark craftable? %s" +msgstr "" #: src/crafting_gui.cpp src/defense.cpp msgid "Easy" @@ -199870,13 +205757,10 @@ msgstr "receptury zapamiętane lub nie" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" -"Domyślnie szukaj nazw rezultatów. Pewne jednoliterowe prefiksy mogą być użyte z dwukropkiem (:) by szukać w inny sposób. Dodatkowe filtry są oddzielane przecinkami (,).\n" -"\n" -"Przykłady:\n" #: src/crafting_gui.cpp msgid "shirt" @@ -200086,8 +205970,8 @@ msgid "Friendly" msgstr "Przyjazny" #: src/creature.cpp -msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" -msgstr "BUG: Nienazwane zachowanie. (Creature::get_attitude_ui_data)" +msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" +msgstr "" #: src/damage.cpp msgctxt "damage type" @@ -200140,8 +206024,8 @@ msgid "See %s for a full stack backtrace" msgstr "Zobacz %s dla pełnego logu stosu" #: src/debug.cpp -msgid "An error has occurred! Written below is the error report:" -msgstr "Wystąpił błąd! Poniżej raport z błędu:" +msgid "An error has occurred! Written below is the error report:" +msgstr "" #: src/debug.cpp msgid "Press space bar to continue the game." @@ -200200,8 +206084,8 @@ msgid "Level a spell" msgstr "" #: src/debug_menu.cpp -msgid "Player..." -msgstr "Gracz..." +msgid "Player…" +msgstr "" #: src/debug_menu.cpp msgid "Take screenshot" @@ -200243,10 +206127,18 @@ msgstr "" msgid "Toggle display temperature" msgstr "" +#: src/debug_menu.cpp +msgid "Toggle display vehicle autopilot overlay" +msgstr "" + #: src/debug_menu.cpp msgid "Toggle display visibility" msgstr "" +#: src/debug_menu.cpp +msgid "Toggle display lighting" +msgstr "" + #: src/debug_menu.cpp msgid "Toggle display radiation" msgstr "" @@ -200279,13 +206171,17 @@ msgstr "Przełącz pathfiding NPC na mapie" msgid "Print faction info to console" msgstr "" +#: src/debug_menu.cpp +msgid "Print NPC magic info to console" +msgstr "" + #: src/debug_menu.cpp msgid "Test weather" msgstr "" #: src/debug_menu.cpp -msgid "Info..." -msgstr "Info..." +msgid "Info…" +msgstr "" #: src/debug_menu.cpp msgid "Teleport - short range" @@ -200300,8 +206196,8 @@ msgid "Teleport - adjacent overmap" msgstr "Teleportacja - Pobliska Mapa Zasadnicza" #: src/debug_menu.cpp -msgid "Teleport..." -msgstr "Teleportacja..." +msgid "Teleport…" +msgstr "" #: src/debug_menu.cpp msgid "Spawn an item" @@ -200328,8 +206224,8 @@ msgid "Spawn clairvoyance artifact" msgstr "Spawnuj artefakt jasnowidzenia" #: src/debug_menu.cpp -msgid "Spawning..." -msgstr "Spawnowanie..." +msgid "Spawning…" +msgstr "" #: src/debug_menu.cpp msgid "Reveal map" @@ -200372,8 +206268,8 @@ msgid "Spawn map extra" msgstr "Spawnuj Dodatek Lokacji" #: src/debug_menu.cpp -msgid "Map..." -msgstr "Mapa..." +msgid "Map…" +msgstr "" #: src/debug_menu.cpp msgid "Quit to main menu" @@ -200382,14 +206278,10 @@ msgstr "Wyjdź do Głównego Menu" #: src/debug_menu.cpp msgid "" "Debug Functions - Using these will cheat not only the game, but yourself.\n" -"You won't grow. You won't improve.\n" -"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" +"You won't grow. You won't improve.\n" +"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" "Nothing will be risked and nothing will be gained." msgstr "" -"Funkcje debugujące - Używając ich oszukujesz nie tylko grę ale siebie.\n" -"Nie staniesz się lepszy. Nie rozwiniesz się.\n" -"Idąc na skróty nic nie osiągniesz. Twoje zwycięstwo będzie puste.\n" -"Niczego nie zaryzykujesz i niczego nie zyskasz." #: src/debug_menu.cpp msgid "Debug Functions" @@ -200414,7 +206306,7 @@ msgstr "Gdzie jest żądana mapa główna?" msgid "You teleport to overmap (%d,%d,%d)." msgstr "Teleportujesz się do mapy świata (%d,%d,%d)." -#: src/debug_menu.cpp src/iuse.cpp src/npctrade.cpp +#: src/debug_menu.cpp src/game.cpp src/iuse.cpp src/npctrade.cpp msgid "You" msgstr "Ty" @@ -200562,6 +206454,10 @@ msgstr "Okno Statusu {@]" msgid "t[e]leport" msgstr "t[e]leport" +#: src/debug_menu.cpp +msgid "Give the [f]lu" +msgstr "" + #: src/debug_menu.cpp msgid "Edit [M]issions (WARNING: Unstable!)" msgstr "Edytuj [M]isje (UWAGA: Niestabilne!)" @@ -200600,8 +206496,8 @@ msgstr "Maksymalna percepcja" #: src/debug_menu.cpp #, c-format -msgid "Set the stat to? Currently: %d" -msgstr "Ustaw statystykę na? Teraz: %d" +msgid "Set the stat to? Currently: %d" +msgstr "" #: src/debug_menu.cpp msgid "Delete all items from the target?" @@ -200629,12 +206525,12 @@ msgstr "Prawa noga" #: src/debug_menu.cpp #, c-format -msgid "Set the hitpoints to? Currently: %d" -msgstr "Ustaw punkty życia na? Teraz: %d" +msgid "Set the hitpoints to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set stamina to? Current: %d. Max: %d." +msgid "Set stamina to? Current: %d. Max: %d." msgstr "" #: src/debug_menu.cpp @@ -200643,8 +206539,8 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set the morale to? Currently: %d" -msgstr "Ustawić morale na? Obecnie: %d" +msgid "Set the morale to? Currently: %d" +msgstr "" #: src/debug_menu.cpp msgid "trust" @@ -200668,27 +206564,27 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set trust to? Currently: %d" +msgid "Set trust to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set fear to? Currently: %d" +msgid "Set fear to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set value to? Currently: %d" +msgid "Set value to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set anger to? Currently: %d" +msgid "Set anger to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set owed to? Currently: %d" +msgid "Set owed to? Currently: %d" msgstr "" #: src/debug_menu.cpp @@ -200698,16 +206594,14 @@ msgstr "Zmień imię:" #: src/debug_menu.cpp #, c-format msgid "" -"NPC: \n" +"NPC:\n" "%s\n" msgstr "" -"NPC: \n" -"%s\n" #: src/debug_menu.cpp #, c-format -msgid "Cause how much pain? pain: %d" -msgstr "Zadać ile bólu? Ból: %d" +msgid "Cause how much pain? pain: %d" +msgstr "" #: src/debug_menu.cpp msgid "Hunger" @@ -200731,33 +206625,33 @@ msgstr "Zresetuj wszystkie podstawowe potrzeby" #: src/debug_menu.cpp #, c-format -msgid "Set hunger to? Currently: %d" -msgstr "Ustaw głód na? Teraz: %d" +msgid "Set hunger to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set stored kCal to? Currently: %d" +msgid "Set stored kCal to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set thirst to? Currently: %d" -msgstr "Ustaw pragnienie na? Teraz: %d" +msgid "Set thirst to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set fatigue to? Currently: %d" -msgstr "Ustaw zmęczenie na? Teraz: %d" +msgid "Set fatigue to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set sleep deprivation to? Currently: %d" -msgstr "Ustaw deprywację snu na? Obecnie: %d" +msgid "Set sleep deprivation to? Currently: %d" +msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set %s to? Currently: %d" -msgstr "Ustaw %s na? Teraz: %d" +msgid "Set %s to? Currently: %d" +msgstr "" #: src/debug_menu.cpp src/panels.cpp msgid "Health" @@ -200773,8 +206667,8 @@ msgstr "Promieniowanie" #: src/debug_menu.cpp #, c-format -msgid "Set the value to? Currently: %d" -msgstr "Ustawa wartość na? Teraz: %d" +msgid "Set the value to? Currently: %d" +msgstr "" #: src/debug_menu.cpp msgid "Choose mission type" @@ -200896,8 +206790,8 @@ msgstr "Usuń misję bez właściwego posporzątania" #: src/debug_menu.cpp #, c-format -msgid "Drew %d times in %.3f seconds. (%.3f fps average)" -msgstr "Narysowano %d razy w %.3f sekund. (%.3f FPS przeciętnie)" +msgid "Drew %d times in %.3f seconds. (%.3f fps average)" +msgstr "" #: src/debug_menu.cpp msgid "Current overmap revealed." @@ -201047,8 +206941,8 @@ msgstr "Zachowaj normalną prędkość wiatru" #: src/debug_menu.cpp #, c-format -msgid "Damage self for how much? hp: %d" -msgstr "Jak bardzo chcesz się uszkodzić? hp: %d" +msgid "Damage self for how much? hp: %d" +msgstr "" #: src/debug_menu.cpp msgid "This binary was not compiled with tiles support." @@ -201088,8 +206982,8 @@ msgid "Set year to?" msgstr "Ustaw rok na?" #: src/debug_menu.cpp -msgid "Set season to? (0 = spring)" -msgstr "Ustaw porę roku na? (0 = wiosna)" +msgid "Set season to? (0 = spring)" +msgstr "" #: src/debug_menu.cpp msgid "Set days to?" @@ -201105,8 +206999,8 @@ msgstr "Ustaw minuty na?" #: src/debug_menu.cpp #, c-format -msgid "Set turn to? (One day is %i turns)" -msgstr "Ustaw turę na? (Jeden dzień to %i tur)" +msgid "Set turn to? (One day is %i turns)" +msgstr "" #: src/debug_menu.cpp msgid "Enter benchmark length (in milliseconds):" @@ -201114,11 +207008,9 @@ msgstr "Wprowadź czas benchmarku (w milisekundach):" #: src/debug_menu.cpp msgid "" -"Quit without saving? This may cause issues such as duplicated or missing " +"Quit without saving? This may cause issues such as duplicated or missing " "items and vehicles!" msgstr "" -"Wyjść bez zapisywania? To może spowodować problemy takie jak zduplikowane " -"lub brakujące przedmioty i pojazdy!" #: src/debug_menu.cpp #, c-format @@ -201155,10 +207047,12 @@ msgstr "" msgid "Spell" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "LVL" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "MAX" msgstr "" @@ -201183,8 +207077,8 @@ msgid "Please wait as the map generates [ 0%% ]" msgstr "Zaczekaj na wygenerowanie mapy [ 0%% ]" #: src/defense.cpp -msgid "A caravan approaches! Press spacebar..." -msgstr "Nadciąga karawana! Naciśnij spację..." +msgid "A caravan approaches! Press spacebar…" +msgstr "" #: src/defense.cpp msgid "You don't need to sleep!" @@ -201546,8 +207440,8 @@ msgstr "%s z Piekła!" #: src/defense.cpp #, c-format -msgid "Beware! %s!" -msgstr "Uwaga! %s!" +msgid "Beware! %s!" +msgstr "" #: src/defense.cpp #, c-format @@ -201744,8 +207638,8 @@ msgstr "pułapka: %s (%d)" #: src/editmap.cpp src/game.cpp #, c-format -msgid "There is a %s there. Parts:" -msgstr "Jest tam %s. Części:" +msgid "There is a %s there. Parts:" +msgstr "" #: src/editmap.cpp #, c-format @@ -201991,11 +207885,9 @@ msgstr "Pieczęć genmapy" #: src/effect.cpp msgid "" -"The scariest thing in the world would be... if all the air in the world " -"turned to WOOD!" +"The scariest thing in the world would be… if all the air in the world turned" +" to WOOD!" msgstr "" -"Najstraszniejsza rzecz na świecie, która mogła by się wydarzyć to... gdyby " -"całe powietrze na świecie zmieniło się w DREWNO!" #: src/effect.cpp msgid "" @@ -202013,8 +207905,8 @@ msgid "Science is a liar sometimes." msgstr "Nauka jest czasami kłamstwem." #: src/effect.cpp -msgid "Science is... wait, what was I talking about again?" -msgstr "Nauka jest... chwila o czym to ja mówiłem?" +msgid "Science is… wait, what was I talking about again?" +msgstr "" #: src/effect.cpp msgid "" @@ -202037,8 +207929,8 @@ msgid "She was a hip, hip, hip lady, man." msgstr "Była z niej fajna, fajna, fajna damulka, stary." #: src/effect.cpp -msgid "You ever see the back of a twenty dollar bill... on weed?" -msgstr "Czy kiedykolwiek widzisz rewers dwudziestodolarówki... po trawie?" +msgid "You ever see the back of a twenty dollar bill… on weed?" +msgstr "" #: src/effect.cpp msgid "" @@ -202053,16 +207945,16 @@ msgid "RED TEAM GO, RED TEAM GO!" msgstr "NAPRZÓD BIAŁO CZERWONI, NAPRZÓD BIAŁO CZERWONI!" #: src/effect.cpp -msgid "You have a sudden urge to flip your bible open to Genesis 1:29..." -msgstr "Masz nagłą chęć otworzyć Biblię na Księdze Rodzaju 1:29..." +msgid "You have a sudden urge to flip your bible open to Genesis 1:29…" +msgstr "" #: src/effect.cpp -msgid "That rug really tied the room together..." -msgstr "Ta szmata nagle związała razem cały pokój..." +msgid "That rug really tied the room together…" +msgstr "" #: src/effect.cpp -msgid "I used to do drugs... I still do, but I used to, too." -msgstr "Używałem kiedyś prochów... Nadal to robię, ale także dawniej też." +msgid "I used to do drugs… I still do, but I used to, too." +msgstr "" #: src/effect.cpp msgid "The herb reveals you to yourself." @@ -202070,19 +207962,17 @@ msgstr "Ziele odsłania cię przed tobą." #: src/effect.cpp msgid "" -"Okay, like, the scariest thing in the world would be... if like you went to " +"Okay, like, the scariest thing in the world would be… if like you went to " "grab something and it wasn't there!" msgstr "" -"Okej, najstraszniejsza rzecz na świecie, która mogła by się wydarzyć to... " -"gdyby poszedł coś wziąć a tam tego nie było!" #: src/effect.cpp msgid "They call them fingers, but I never see them fing." msgstr "Nazywają je palcami, ale nigdy nie widziałem jak palcują." #: src/effect.cpp -msgid "... oh, there they go." -msgstr "... och, a teraz tak." +msgid "…oh, there they go." +msgstr "" #: src/effect.cpp msgid "" @@ -202123,8 +208013,8 @@ msgid "Oh, sometimes the early-mid-late-early-morning." msgstr "Och, i czasami wczesnym środkowym późnym wczesnym rankiem." #: src/effect.cpp -msgid "...But never at dusk." -msgstr "...Ale nigdy o zmierzchu." +msgid "…But never at dusk." +msgstr "" #: src/effect.cpp msgid "Dave's not here, man." @@ -202135,12 +208025,12 @@ msgid "Man, a cheeseburger sounds SO awesome right now." msgstr "Człowieku, cheeseburger brzmi w tej chwili TAK obłędnie." #: src/effect.cpp -msgid "Eh... maybe not." -msgstr "Eh... a może nie." +msgid "Eh… maybe not." +msgstr "" #: src/effect.cpp -msgid "I guess, maybe, without the cheese... yeah." -msgstr "No może, powiedzmy, bez sera... tja." +msgid "I guess, maybe, without the cheese… yeah." +msgstr "" #: src/effect.cpp msgid "Walkin' down the hall, by myself, smokin' a j with fifty elves." @@ -202298,6 +208188,10 @@ msgstr "nadzwyczajny" msgid "perfect" msgstr "doskonały" +#: src/explosion.cpp +msgid "force of the explosion" +msgstr "" + #: src/explosion.cpp msgid "You're caught in the explosion!" msgstr "Dopada cię wybuch!" @@ -202654,22 +208548,22 @@ msgid "Press enter to rename this camp" msgstr "Naciśnij enter, żeby zmienić nazwę tego obozu" #: src/faction.cpp -msgid "Direction : to the " -msgstr "Kierunek: w kierunku " +msgid "Direction: to the " +msgstr "" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d)" -msgstr "Lokacja : {%d, %d}" +msgid "Location: (%d, %d)" +msgstr "" #: src/faction.cpp #, c-format -msgid "Food Supply : %s %d calories" -msgstr "Zapasy żywności : %s %d kalorii" +msgid "Food Supply: %s %d calories" +msgstr "" #: src/faction.cpp -msgid "Next Upgrade : " -msgstr "Następne Ulepszenie :" +msgid "Next Upgrade: " +msgstr "" #: src/faction.cpp #, c-format @@ -202681,26 +208575,26 @@ msgid "Press enter to talk to this follower " msgstr "Naciśnij enter by rozmawiać z tym towarzyszem" #: src/faction.cpp -msgid "travelling to : " -msgstr "podróżowanie do : " +msgid "travelling to: " +msgstr "" #: src/faction.cpp #, c-format -msgid "travelling to : (%d, %d)" -msgstr "podróżowanie do : (%d, %d)" +msgid "travelling to: (%d, %d)" +msgstr "" #: src/faction.cpp -msgid "Current Mission : " -msgstr "Obecna Misja : " +msgid "Current Mission: " +msgstr "" #: src/faction.cpp -msgid "Direction : Nearby" -msgstr "Kierunek : Pobliski" +msgid "Direction: Nearby" +msgstr "" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d), at camp: %s" -msgstr "Lokacja : (%d, %d), w obozie: %s" +msgid "Location: (%d, %d), at camp: %s" +msgstr "" #: src/faction.cpp msgid "Not interactable while on a mission" @@ -202731,8 +208625,8 @@ msgid "Within interaction range" msgstr "" #: src/faction.cpp -msgid "Status : " -msgstr "Status :" +msgid "Status: " +msgstr "" #: src/faction.cpp msgid "In Combat!" @@ -202755,8 +208649,12 @@ msgid "Guarding" msgstr "Stróżuje" #: src/faction.cpp -msgid "Condition : " -msgstr "Warunek : " +msgid "Basecamp job: " +msgstr "" + +#: src/faction.cpp +msgid "Condition: " +msgstr "" #: src/faction.cpp msgctxt "needs" @@ -202764,29 +208662,29 @@ msgid "Nominal" msgstr "" #: src/faction.cpp -msgid "Hunger : " -msgstr "Głód : " +msgid "Hunger: " +msgstr "" #: src/faction.cpp -msgid "Thirst : " -msgstr "Pragnienie : " +msgid "Thirst: " +msgstr "" #: src/faction.cpp -msgid "Fatigue : " -msgstr "Zmęczenie : " +msgid "Fatigue: " +msgstr "" -#: src/faction.cpp -msgid "Wielding : " -msgstr "Dzierży : " +#: src/faction.cpp src/player.cpp +msgid "Wielding: " +msgstr "Dzierży:" #: src/faction.cpp -msgid "Best other skills : " -msgstr "Najlepsze inne umiejętności : " +msgid "Best other skills: " +msgstr "" #: src/faction.cpp #, c-format -msgid "Best combat skill : %s : %d" -msgstr "Najlepsza umiejętność bojowa : %s : %d" +msgid "Best combat skill: %s: %d" +msgstr "" #: src/faction.cpp msgid "YOUR FACTION" @@ -202825,25 +208723,33 @@ msgid "Recover Ally from Upgrading" msgstr "Wycofaj Sojusznika z Ulepszania" #: src/faction_camp.cpp -msgid "Busy crafting!\n" -msgstr "Zajęci wytwarzaniem!\n" +msgid "Emergency Recall" +msgstr "" + +#: src/faction_camp.cpp +msgid "Lost in the ether!\n" +msgstr "" #: src/faction_camp.cpp msgid "Craft Item" msgstr "Stwórz Przedmiot" #: src/faction_camp.cpp -msgid " (Finish) Crafting" -msgstr "(Gotowe) Wytwarzanie" +msgid "Busy crafting!\n" +msgstr "Zajęci wytwarzaniem!\n" #: src/faction_camp.cpp -msgid "Busy travelling!\n" -msgstr "Zajęci podróżowaniem!\n" +msgid " (Finish) Crafting" +msgstr "(Gotowe) Wytwarzanie" #: src/faction_camp.cpp msgid "Travelling" msgstr "Podróżowanie" +#: src/faction_camp.cpp +msgid "Busy travelling!\n" +msgstr "Zajęci podróżowaniem!\n" + #: src/faction_camp.cpp msgid "Recall ally from travelling" msgstr "Wycofaj sojusznika z podróżowania" @@ -202877,8 +208783,8 @@ msgid "Menial Labor" msgstr "Prace Fizyczne" #: src/faction_camp.cpp -msgid "Performing menial labor...\n" -msgstr "Wykonują prace fizyczne...\n" +msgid "Performing menial labor…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Menial Laborer" @@ -202889,8 +208795,8 @@ msgid "Expand Base" msgstr "Rozwijaj Bazę " #: src/faction_camp.cpp -msgid "Surveying for expansion...\n" -msgstr "Wyznacza teren pod rozbudowę...\n" +msgid "Surveying for expansion…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Surveyor" @@ -202901,8 +208807,8 @@ msgid "Cut Logs" msgstr "Ścinaj Pnie Drzew" #: src/faction_camp.cpp -msgid "Cutting logs in the woods...\n" -msgstr "Pracują jako drwale w lesie...\n" +msgid "Cutting logs in the woods…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Log Cutter" @@ -202913,21 +208819,21 @@ msgid "Clear a forest" msgstr "Oczyść las" #: src/faction_camp.cpp -msgid "Clearing a forest...\n" -msgstr "Oczyszcza las...\n" +msgid "Clearing a forest…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Clearcutter" msgstr "Wycofaj Drwala" -#: src/faction_camp.cpp -msgid "Setting up a hide site...\n" -msgstr "Ustawianie miejsca ukrycia...\n" - #: src/faction_camp.cpp msgid "Setup Hide Site" msgstr "Ustaw Miejsce Ukrycia" +#: src/faction_camp.cpp +msgid "Setting up a hide site…\n" +msgstr "" + #: src/faction_camp.cpp msgid "Recover Hide Setup" msgstr "Wycofaj Ustawienie Miejsca Ukrycia" @@ -202937,8 +208843,8 @@ msgid "Relay Hide Site" msgstr "Wyznacz Miejsce Ukrycia" #: src/faction_camp.cpp -msgid "Transferring gear to a hide site...\n" -msgstr "Przerzuca sprzęt do miejsca ukrycia...\n" +msgid "Transferring gear to a hide site…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Hide Relay" @@ -202985,8 +208891,8 @@ msgid "Construct Map Fortifications" msgstr "Zbuduj Fortyfikacje Mapy" #: src/faction_camp.cpp -msgid "Constructing fortifications...\n" -msgstr "Konstruują fortyfikacje...\n" +msgid "Constructing fortifications…\n" +msgstr "" #: src/faction_camp.cpp msgid "Finish Map Fortifications" @@ -203045,8 +208951,8 @@ msgid " Chop Shop" msgstr "Dziupla Samochodowa" #: src/faction_camp.cpp -msgid "Working at the chop shop...\n" -msgstr "Pracuje w dziupli samochodowej...\n" +msgid "Working at the chop shop…\n" +msgstr "" #: src/faction_camp.cpp msgid " (Finish) Chop Shop" @@ -203131,16 +209037,13 @@ msgstr " lewy]\n" #: src/faction_camp.cpp src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "Do you wish to bring your allies back into your party?" msgstr "" -"\n" -"\n" -"Czy chcesz przywrócić sojuszników z powrotem do twojej grupy?" #: src/faction_camp.cpp -msgid "You choose to wait..." -msgstr "Wybierasz czekanie..." +msgid "You choose to wait…" +msgstr "" #: src/faction_camp.cpp msgid "You cannot build a camp here." @@ -203157,10 +209060,8 @@ msgstr "Jesteś zbyt blisko innego obozu!" #: src/faction_camp.cpp msgid "" "Warning, you have selected a region with the following issues:\n" -" \n" +"\n" msgstr "" -"Uwaga, wybrany przez ciebie region ma następujące problemy:\n" -" \n" #: src/faction_camp.cpp msgid "There are few forests. Wood is your primary construction material.\n" @@ -203179,11 +209080,9 @@ msgstr "Jest mało pól. Uprawa może być utrudniona.\n" #: src/faction_camp.cpp #, c-format msgid "" -"%s \n" -"Are you sure you wish to continue? " +"%s\n" +"Are you sure you wish to continue?" msgstr "" -"%s \n" -"Na pewno chcesz kontynuować? " #: src/faction_camp.cpp #, c-format @@ -203203,106 +209102,55 @@ msgstr ", Zarządca Obozu" msgid "%s has abandoned the camp." msgstr "%s opuszcza obóz." +#: src/faction_camp.cpp +msgid " Expansion" +msgstr "Rozszerzenie" + +#: src/faction_camp.cpp +msgid "Recover Ally, " +msgstr "Wycofaj Sojusznika," + #: src/faction_camp.cpp #, c-format msgid "" -"Notes: \n" +"Notes:\n" "Send a companion to gather materials for the next camp upgrade.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "%s\n" "Risk: Very Low\n" "Time: 3 Hours, Repeated\n" "Positions: %d/3\n" msgstr "" -"Notatki: \n" -"Wyślij towarzysza na zbieranie materiałów do kolejnej rozbudowy obozu.\n" -" \n" -"Używana umiejętność: surwiwal\n" -"Trudność: N/D \n" -"Możliwości Zbierackie:\n" -"%s\n" -"Ryzyko: Bardzo Niskie\n" -"Czas: 3 Godziny, Powtarzalne\n" -"Stanowiska: %d/3\n" - -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" -"Effects:\n" -"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" -" \n" -"Must have enjoyability >= -6\n" -"Perishable food liquidated at penalty depending on upgrades and rot time:\n" -"> Rotten: 0%%\n" -"> Rots in < 2 days: 60%%\n" -"> Rots in < 5 days: 80%%\n" -" \n" -"Total faction food stock: %d kcal\n" -"or %d day's rations" -msgstr "" - -#: src/faction_camp.cpp -msgid "Distribute Food" -msgstr "Rozdaj Żywność" - -#: src/faction_camp.cpp -msgid "" -"Notes:\n" -"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" -" \n" -"Effects:\n" -"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" -"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" -"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." -msgstr "" - -#: src/faction_camp.cpp -msgid "Reset Sort Points" -msgstr "Resetuj Punkty Sortowania" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to gather light brush and heavy sticks.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "> heavy sticks\n" "> withered plants\n" "> splintered wood\n" -" \n" +"\n" "Risk: Very Low\n" "Time: 3 Hours, Repeated\n" "Positions: %d/3\n" msgstr "" -"Notatki: Wyślij kompana by zbierał lekkie krzaki i grube konary.\n" -" \n" -"Umiejętność używana: surwiwal\n" -"Trudność: N/D\n" -"Możliwości Zbierackie:\n" -"> grube konary\n" -"> wyschnięte rośliny\n" -"> rozszczepione drewno\n" -" \n" -"Ryzyko: Bardzo Niskie\n" -"Czas: 3 Godziny, Powtarzalne\n" -"Stanowiska: %d/3\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to do low level chores and sort supplies.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Effects:\n" "> Material left in the unsorted loot zone will be sorted into a defined loot zone.\n" "\n" @@ -203311,31 +209159,14 @@ msgid "" "Positions: %d/1\n" msgstr "" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" -" \n" -"Skill used: N/A \n" -"Effects:\n" -"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal. \n" -" \n" -"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window. \n" -" \n" -"Risk: None\n" -"Time: 3 Hours \n" -"Positions: %d/1\n" -msgstr "" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to a nearby forest to cut logs.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 50%% of trees/trunks at the forest position will be cut down.\n" "> 100%% of total material will be brought back.\n" @@ -203345,123 +209176,70 @@ msgid "" "Time: 6 Hour Base + Travel Time + Cutting Time\n" "Positions: %d/1\n" msgstr "" -"Notatki:\n" -"Wyślij kompana by ścinał drzewa w lesie.\n" -" \n" -"Umiejętność używana: wytwarzanie\n" -"Trudność: 1\n" -"Efekty:\n" -"> 50%% drzew/kłód w lesie zostanie ściętych.\n" -"> 100%% materiału łącznie zostanie przyniesione do obozu.\n" -"> Powtarzalne z malejącym skutkiem.\n" -"> W końcu zmieni las w pole.\n" -"Ryzyko: brak\n" -"Czas: 6 Godzin + Podróż + Czas Ścianania\n" -"Stanowiska: %d/1\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to a clear a nearby forest.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 95%% of trees/trunks at the forest position will be cut down.\n" "> 0%% of total material will be brought back.\n" "> Forest should become a field tile.\n" "> Useful for clearing land for another faction camp.\n" -" \n" +"\n" "Risk: None\n" "Time: 6 Hour Base + Travel Time + Cutting Time\n" "Positions: %d/1\n" msgstr "" -"Notatki:\n" -"Wyślij kompana by oczyścił pobliski las.\n" -" \n" -"Umiejętność używana: wytwarzanie\n" -"Trudność: 1\n" -"Efekty:\n" -"> 95%% drzew/kłód w lesie zostanie ścięta.\n" -"> 0%% materiału łącznie zostanie przyniesione do obozu.\n" -"> Last powinien stać się polem.\n" -"> Użyteczne do oczyszczenia terenu dla kolejnego obozu.\n" -" \n" -"Ryzyko: brak\n" -"Czas: 6 Godzin Bazowe + Podróż + Czas Ścinania\n" -"Stanowiska: %d/1\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to build an improvised shelter and stock it with equipment at a distant map location.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Good for setting up resupply or contingency points.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 6 Hour Construction + Travel\n" "Positions: %d/1\n" msgstr "" -"Notatki:\n" -"Wyślij kompana by zbudował improwizowane schronienie i zaopatrzył je w sprzęt w odległej lokalizacji na mapie.\n" -" \n" -"Umiejętność używana: surwiwal\n" -"Trudność: 3\n" -"Efekty:\n" -"> Dobre do ustawienia punktów z zapasami lub odskoczni w sytuacji kryzysowej.\n" -"> Sprzęt jest bez opieki i może być skradziony.\n" -"> Czas uzależniony od wagi sprzętu wysyłanego tam i z powrotem.\n" -" \n" -"Ryzyko: Średnie\n" -"Czas: 6 Godzin Budowa + Podróż\n" -"Stanowiska: %d/1\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Push gear out to a hide site or bring gear back from one.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 1\n" "Effects:\n" "> Good for returning equipment you left in the hide site shelter.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward or back.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 1 Hour Base + Travel\n" "Positions: %d/1\n" msgstr "" -"Notatki:\n" -"Zanieść sprzęt do kryjówki lub przynieść go stamtąd.\n" -" \n" -"Umiejętność używana: surwiwal\n" -"Trudność: 1\n" -"Efekty:\n" -"> Dobre do przyniesienie pozostawionego sprzętu z ukrycia.\n" -"> Sprzęt zostaje bez opieki i może być skradziony.\n" -"> Czas uzależniony od wagi sprzętu wysyłanego tam i z powrotem.\n" -" \n" -"Ryzyko: Średnie\n" -"Czas: Godzina Bazowa + Podróż\n" -"Stanowiska: %d/1\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to forage for edible plants.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Foraging Possibilities:\n" "> wild vegetables\n" "> fruits and nuts depending on season\n" @@ -203470,27 +209248,15 @@ msgid "" "Time: 4 Hours, Repeated\n" "Positions: %d/3\n" msgstr "" -"Notatki:\n" -"Wyślij kompana by zbierał jadalne rośliny.\n" -" \n" -"Używana umiejętność: surwiwal\n" -"Trudność: N/D\n" -"Możliwości Zbierackie:\n" -"> dzikie warzywa\n" -"> sezonowe owoce i orzechy\n" -"Może wyprodukować mniej żywności niż pochłonie!\n" -"Ryzyko: Bardzo Niskie\n" -"Czas: 4 Godziny, Powtarzalne\n" -"Stanowiska: %d/3\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to set traps for small game.\n" -" \n" +"\n" "Skill used: trapping\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Trapping Possibilities:\n" "> small and tiny animal corpses\n" "May produce less food than consumed!\n" @@ -203498,26 +209264,15 @@ msgid "" "Time: 6 Hours, Repeated\n" "Positions: %d/2\n" msgstr "" -"Notatki:\n" -"Wyślij towarzysza by łowił w pułapki drobną zwierzynę.\n" -" \n" -"Używana umiejętność: pułapki\n" -"Trudność: N/A \n" -"Możliwości Traperskie:\n" -"> małe i drobne ciała zwierząt\n" -"Może wyprodukować mniej żywności niż pochłonie!\n" -"Ryzyko: Niskie\n" -"Czas: 6 Godzin, Powtarzalne\n" -"Stanowiska: %d/2\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to hunt large animals.\n" -" \n" +"\n" "Skill used: marksmanship\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Hunting Possibilities:\n" "> small, medium, or large animal corpses\n" "May produce less food than consumed!\n" @@ -203525,17 +209280,6 @@ msgid "" "Time: 6 Hours, Repeated\n" "Positions: %d/1\n" msgstr "" -"Notatki:\n" -"Wyślij kompana na polowanie na grubego zwierza.\n" -" \n" -"Umiejętność używana: strzelectwo\n" -"Trudność: N/D\n" -"Możliwości Łowieckie:\n" -"> małe, średnie, lub duże ciała zwierząt\n" -"Może wyprodukować mniej żywności niż pochłonie!\n" -"Ryzyko: Średnie\n" -"Czas: 6 Godzin, Powtarzalne\n" -"Stanowiska: %d/1\n" #: src/faction_camp.cpp msgid "Construct Spiked Trench" @@ -203546,264 +209290,257 @@ msgstr "Zbuduj Doły z Kolcami" msgid "" "Notes:\n" "Send a companion out into the great unknown. High survival skills are needed to avoid combat but you should expect an encounter or two.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Select checkpoints to customize path.\n" "> Reveals terrain around the path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: High\n" "Time: Travel\n" "Positions: %d/3\n" msgstr "" -"Notatki:\n" -"Wyślij kompana w nieznane. Wysoka umiejętność przetrwania jest potrzeba by uniknąć walki, ale trzeba się liczyć ze spotkaniem lub kilkoma.\n" -" \n" -"Umiejętność używana: surwiwal\n" -"Trudność: 3\n" -"Efekty:\n" -"> Wybierz punkty docelowe by wyznaczyć trasę.\n" -"> Odkrywa teren wokół trasy.\n" -"> Może zahaczyć o miejsca ukrycia by wydłużyć zasięg.\n" -" \n" -"Ryzyko: Wysokie\n" -"Czas: Podróż\n" -"Stanowiska: %d/3\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to purge the wasteland. Their goal is to kill anything hostile they encounter and return when their wounds are too great or the odds are stacked against them.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 4\n" "Effects:\n" "> Pulls creatures encountered into combat instead of fleeing.\n" "> Select checkpoints to customize path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: Very High\n" "Time: Travel\n" "Positions: %d/3\n" msgstr "" -"Notatki:\n" -"Wyślij kompana by oczyścił pustkowia. Celem jest zabicie wszelkich napotkanych wrogich stworzeń i powrót gdy rany będą zbyt poważne lub liczba wrogów zbyt wielka.\n" -" \n" -"Umiejętność używana: surwiwal\n" -"Trudność: 4\n" -"Efekty:\n" -"> Wciąga spotkane w stworzenia w walkę zamiast ucieczki.\n" -"> Wybierz punkty docelowe by wyznaczyć szlak.\n" -"> Może zahaczyć o miejsca ukrycia by wydłużyć zasięg.\n" -" \n" -"Ryzyko: Bardzo Duże\n" -"Czas: Podróż\n" -"Stanowiska: %d/3\n" - -#: src/faction_camp.cpp -msgid " Expansion" -msgstr "Rozszerzenie" - -#: src/faction_camp.cpp -msgid "Recover Ally, " -msgstr "Wycofaj Sojusznika," #: src/faction_camp.cpp msgid "" "Notes:\n" "Have a companion attempt to completely dissemble a vehicle into components.\n" -" \n" +"\n" "Skill used: mechanics\n" "Difficulty: 2 \n" "Effects:\n" "> Removed parts placed on the furniture in the garage.\n" "> Skill plays a huge role to determine what is salvaged.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 days \n" msgstr "" -"Notatki:\n" -"Wyznacz kompana do próby rozłożenia pojazdu na części.\n" -" \n" -"Używana umiejętność: mechanika\n" -"Trudność: 2\n" -"Efekty:\n" -"> Rozmontowane części umieszczone na meblach w garażu.\n" -"> Zdolności grają dużą rolę w tym co zostanie odzyskane.\n" -" \n" -"Ryzyko: brak\n" -"Czas: 5 dni\n" #: src/faction_camp.cpp msgid "" "Notes:\n" "Plow any spaces that have reverted to dirt or grass.\n" -" \n" +"\n" msgstr "" -"Notatki:\n" -"Zaoraj wszystkie pola które zmieniły się w ubitą ziemię lub trawę.\n" -" \n" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: fabrication\n" "Difficulty: N/A \n" "Effects:\n" "> Restores only the plots created in the last expansion upgrade.\n" "> Does not damage existing crops.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 Min / Plot \n" "Positions: 0/1 \n" msgstr "" -"\n" -" \n" -"Używana umiejętność: wytwarzanie\n" -"Trudność: N/A \n" -"Efekty:\n" -"> Przywraca tylko pola stworzone w ostatnim ulepszeniu rozszerzenia.\n" -"> Nie uszkadza istniejących upraw.\n" -" \n" -"Ryzyko: brak\n" -"Czas: 5 Min / Pole \n" -"Stanowiska: 0/1 \n" #: src/faction_camp.cpp msgid "" "Notes:\n" "Plant designated seeds in the spaces that have already been tilled.\n" -" \n" +"\n" msgstr "" -"Notatki:\n" -"Zasadź wyznaczone nasiona na uprzednio zaoranych polach.\n" -" \n" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Choose which seed type or all of your seeds.\n" "> Stops when out of seeds or planting locations.\n" "> Will plant in ALL dirt mounds in the expansion.\n" -" \n" +"\n" "Risk: None\n" "Time: 1 Min / Plot \n" "Positions: 0/1 \n" msgstr "" -"\n" -" \n" -"Używana umiejętność: surwiwal\n" -"Trudność: N/A \n" -"Efekty:\n" -"> Wybierz rodzaj nasion lub wszystkie nasiona.\n" -"> Koniec gdy zabraknie nasion lub pól do obsiania.\n" -"> Zasadzi na WSZYSTKICH zaoranych polach w rozszerzeniu.\n" -" \n" -"Ryzyko: Brak\n" -"Czas: 1 Min / Pole \n" -"Stanowiska: 0/1 \n" #: src/faction_camp.cpp msgid "" "Notes:\n" "Harvest any plants that are ripe and bring the produce back.\n" -" \n" +"\n" msgstr "" -"Notatki:\n" -"Zbierz wszystkie dojrzałe plony i przynieś je z powrotem.\n" -" \n" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Will dump all harvesting products onto your location.\n" -" \n" +"\n" "Risk: None\n" "Time: 3 Min / Plot \n" "Positions: 0/1 \n" msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" +"\n" +"Skill used: N/A\n" +"Effects:\n" +"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal.\n" +"\n" +"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window.\n" +"\n" +"Risk: None\n" +"Time: 3 Hours\n" +"Positions: %d/1\n" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" +"Effects:\n" +"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" +"\n" +"Must have enjoyability >= -6\n" +"Perishable food liquidated at penalty depending on upgrades and rot time:\n" +"> Rotten: 0%%\n" +"> Rots in < 2 days: 60%%\n" +"> Rots in < 5 days: 80%%\n" +"\n" +"Total faction food stock: %d kcal\n" +"or %d day's rations" +msgstr "" + +#: src/faction_camp.cpp +msgid "Distribute Food" +msgstr "Rozdaj Żywność" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" +"\n" +"Effects:\n" +"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" +"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" +"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." +msgstr "" + +#: src/faction_camp.cpp +msgid "Reset Sort Points" +msgstr "Resetuj Punkty Sortowania" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Assign repeating job duties to NPCs stationed here.\n" +"Difficulty: N/A\n" +"Effects:\n" +"\n" "\n" -" \n" -"Używana umiejętność: surwiwal\n" -"Trudność: N/A \n" -"Efekty:\n" -"> Umieści wszystkie zebrane produkty w twojej lokacji.\n" -" \n" -"Ryzyko: Brak\n" -"Czas: 3 Min / Pole \n" -"Stanowiska: 0/1 \n" +"Risk: None\n" +"Time: Ongoing" +msgstr "" #: src/faction_camp.cpp -msgid "departs to search for materials..." -msgstr "oddala się by szukać materiałów..." +msgid "Assign Jobs" +msgstr "" #: src/faction_camp.cpp -msgid "departs to search for firewood..." -msgstr "oddala się by szukać drewna opałowego..." +msgid "" +"Notes:\n" +"Cancel a current mission and force the immediate return of a companion. No work will be done on the mission and all resources used on the mission will be lost.\n" +"\n" +"WARNING: All resources used on the mission will be lost and no work will be done. Only use this mission to recover a companion who cannot otherwise be recovered.\n" +"\n" +"Companions must be on missions for at least 24 hours before emergency recall becomes available." +msgstr "" #: src/faction_camp.cpp -msgid "returns from working in the woods..." -msgstr "wraca z pracy w lesie..." +msgid "departs to survey land…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from working on the hide site..." -msgstr "wraca z pracy przy miejscu ukrycia..." +msgid "departs to search for materials…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from shuttling gear between the hide site..." -msgstr "wraca z przerzutu sprzętu pomiędzy miejscem ukrycia..." +msgid "departs to search for firewood…" +msgstr "" #: src/faction_camp.cpp -msgid "departs to search for edible plants..." -msgstr "oddala się by szukać jadalnych roślin..." +msgid "returns from working in the woods…" +msgstr "" #: src/faction_camp.cpp -msgid "departs to set traps for small animals..." -msgstr "oddala się by zastawić wnyki na małe zwierzęta..." +msgid "returns from working on the hide site…" +msgstr "" #: src/faction_camp.cpp -msgid "departs to hunt for meat..." -msgstr "oddala się by polować na mięso..." +msgid "returns from shuttling gear between the hide site…" +msgstr "" #: src/faction_camp.cpp -msgid "departs to search for recruits..." -msgstr "oddala się by szukać rekrutów..." +msgid "departs to search for edible plants…" +msgstr "" + +#: src/faction_camp.cpp +msgid "departs to set traps for small animals…" +msgstr "" #: src/faction_camp.cpp -msgid "departs to survey land..." -msgstr "oddala się mierzyć działkę gruntu..." +msgid "departs to hunt for meat…" +msgstr "" + +#: src/faction_camp.cpp +msgid "departs to search for recruits…" +msgstr "" #: src/faction_camp.cpp -msgid "returns to you with something..." -msgstr "wraca do ciebie z czymś..." +msgid "returns to you with something…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from your farm with something..." -msgstr "wraca z twojej farmy z czymś..." +msgid "returns from your farm with something…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from your kitchen with something..." -msgstr "wraca z twojej kuchni z czymś..." +msgid "returns from your kitchen with something…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from your blacksmith shop with something..." -msgstr "wraca z twojej kuźni z czymś..." +msgid "returns from your blacksmith shop with something…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from your garage..." -msgstr "powraca z twojego garażu..." +msgid "returns from your garage…" +msgstr "" #: src/faction_camp.cpp msgid "You don't have enough food stored to feed your companion." @@ -203812,13 +209549,30 @@ msgstr "" "towarzysza." #: src/faction_camp.cpp -msgid "begins to upgrade the camp..." -msgstr "rozpoczyna ulepszać obóz..." +msgid "begins to upgrade the camp…" +msgstr "" #: src/faction_camp.cpp msgid "You don't have the materials for the upgrade." msgstr "Nie masz materiałów do rozbudowy." +#: src/faction_camp.cpp +msgid "There are no npcs stationed here" +msgstr "" + +#: src/faction_camp.cpp src/npc.cpp +msgid "No particular job" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "Press %s to change this workers job." +msgstr "" + +#: src/faction_camp.cpp +msgid "Assign which job?" +msgstr "" + #: src/faction_camp.cpp #, c-format msgid "%s goes off to clean toilets and sort loot." @@ -203840,16 +209594,16 @@ msgstr "" "%s" #: src/faction_camp.cpp -msgid "departs to cut logs..." -msgstr "oddala się by ścinać drzewa..." +msgid "departs to cut logs…" +msgstr "" #: src/faction_camp.cpp msgid "Forests are the only valid cutting locations." msgstr "Lasy to jedyne miejsca nadające się do wycinki." #: src/faction_camp.cpp -msgid "departs to clear a forest..." -msgstr "oddala się by oczyścić las..." +msgid "departs to clear a forest…" +msgstr "" #: src/faction_camp.cpp msgid "Forests, swamps, and fields are valid hide site locations." @@ -203862,12 +209616,12 @@ msgid "Do you wish to give your companion additional items?" msgstr "Czy chcesz dać towarzyszowi dodatkowe przedmioty?" #: src/faction_camp.cpp -msgid "departs to build a hide site..." -msgstr "oddala się by wybudować miejsce ukrycia..." +msgid "departs to build a hide site…" +msgstr "" #: src/faction_camp.cpp -msgid "You need equipment to setup a hide site..." -msgstr "Potrzebujesz sprzętu by zorganizować miejsce ukrycia..." +msgid "You need equipment to setup a hide site…" +msgstr "" #: src/faction_camp.cpp msgid "You must select an existing hide site." @@ -203878,12 +209632,12 @@ msgid "Bring gear back?" msgstr "Sprowadzić sprzęt z powrotem?" #: src/faction_camp.cpp -msgid "departs for the hide site..." -msgstr "oddala się do miejsca ukrycia..." +msgid "departs for the hide site…" +msgstr "" #: src/faction_camp.cpp -msgid "You need equipment to transport between the hide site..." -msgstr "Potrzebujesz sprzętu do transportu pomiędzy miejscem ukrycia..." +msgid "You need equipment to transport between the hide site…" +msgstr "" #: src/faction_camp.cpp msgid "" @@ -203912,8 +209666,8 @@ msgid "You don't have the material to build the fortification." msgstr "Nie masz materiałów do budowy fortyfikacji." #: src/faction_camp.cpp -msgid "begins constructing fortifications..." -msgstr "rozpoczyna budować fortyfikacje..." +msgid "begins constructing fortifications…" +msgstr "" #: src/faction_camp.cpp msgid "" @@ -203924,8 +209678,8 @@ msgstr "" "punkt ponownie by zakończyć." #: src/faction_camp.cpp -msgid "departs on patrol..." -msgstr "udaje się na patrol..." +msgid "departs on patrol…" +msgstr "" #: src/faction_camp.cpp msgid "You don't have the materials to craft that" @@ -203941,32 +209695,32 @@ msgid "Your batch is too large!" msgstr "Wybrana ilość jest zbyt duża!" #: src/faction_camp.cpp -msgid "begins to work..." -msgstr "rozpoczyna pracę..." +msgid "begins to work…" +msgstr "" #: src/faction_camp.cpp -msgid "+ more \n" -msgstr "+ więcej \n" +msgid "+ more\n" +msgstr "" #: src/faction_camp.cpp -msgid "begins to harvest the field..." -msgstr "rozpoczyna zbierać plon z pól..." +msgid "begins to harvest the field…" +msgstr "" #: src/faction_camp.cpp -msgid "You have no additional seeds to give your companions..." -msgstr "Nie masz dodatkowych nasion by je dać swoim towarzyszom..." +msgid "You have no additional seeds to give your companions…" +msgstr "" #: src/faction_camp.cpp src/mission_companion.cpp msgid "Which seeds do you wish to have planted?" msgstr "Jakie nasiona chcesz by były posiane na polu?" #: src/faction_camp.cpp -msgid "begins planting the field..." -msgstr "rozpoczyna obsiewać pole..." +msgid "begins planting the field…" +msgstr "" #: src/faction_camp.cpp -msgid "begins plowing the field..." -msgstr "rozpoczyna orać pole..." +msgid "begins plowing the field…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -203978,13 +209732,16 @@ msgstr "" "%s" #: src/faction_camp.cpp -msgid "begins working in the garage..." -msgstr "rozpoczyna pracę w garażu..." +msgid "begins working in the garage…" +msgstr "" #: src/faction_camp.cpp -msgid "Your companion seems disappointed that your pantry is empty..." +msgid "Your companion seems disappointed that your pantry is empty…" +msgstr "" + +#: src/faction_camp.cpp +msgid "responds to the emergency recall…" msgstr "" -"Twój towarzysz wydaje się być zawiedziony, że twoja spiżarnia jest pusta..." #: src/faction_camp.cpp #, c-format @@ -203992,12 +209749,12 @@ msgid "%s failed to build the %s upgrade." msgstr "" #: src/faction_camp.cpp -msgid "returns from upgrading the camp having earned a bit of experience..." -msgstr "wraca z rozbudowy obozu zdobywając nieco doświadczenia..." +msgid "returns from upgrading the camp having earned a bit of experience…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from doing the dirty work to keep the camp running..." -msgstr "wraca z brudnej pracy, dzięki której obóz funkcjonuje..." +msgid "returns from doing the dirty work to keep the camp running…" +msgstr "" #: src/faction_camp.cpp msgid "gathering materials" @@ -204017,53 +209774,49 @@ msgstr "poluje na mięso" #: src/faction_camp.cpp #, c-format -msgid "returns from %s carrying supplies and has a bit more experience..." -msgstr "wraca z %s niosąc zapasy i garść doświadczania w zanadrzu..." +msgid "returns from %s carrying supplies and has a bit more experience…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from constructing fortifications..." -msgstr "powraca z budowy fortyfikacji..." +msgid "returns from constructing fortifications…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from searching for recruits with a bit more experience..." -msgstr "powraca z poszukiwań rekrutów z garścią doświadczenia w zanadrzu..." +msgid "returns from searching for recruits with a bit more experience…" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s encountered %s..." -msgstr "%s napotkał %s..." +msgid "%s encountered %s…" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s didn't find anyone to recruit..." -msgstr "%s nie znalazł nikogo, kogo mógłby rekrutować..." +msgid "%s didn't find anyone to recruit…" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s convinced %s to hear a recruitment offer from you..." -msgstr "%s przekonał %s do wysłuchania oferty rekrutacyjnej od ciebie..." +msgid "%s convinced %s to hear a recruitment offer from you…" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested in anything %s had to offer..." -msgstr "%s nie był zainteresowany niczym co %s miał do zaoferowania..." +msgid "%s wasn't interested in anything %s had to offer…" +msgstr "" #: src/faction_camp.cpp msgid "" "NPC Overview:\n" -" \n" +"\n" msgstr "" -"Przegląd NPC:\n" -" \n" #: src/faction_camp.cpp #, c-format msgid "" -"Name: %20s\n" -" \n" +"Name: %s\n" +"\n" msgstr "" -"Imię: %20s\n" -" \n" #: src/faction_camp.cpp #, c-format @@ -204084,10 +209837,8 @@ msgstr "Inteligencja: %10d\n" #, c-format msgid "" "Perception: %10d\n" -" \n" +"\n" msgstr "" -"Percepcja: %10d\n" -" \n" #: src/faction_camp.cpp msgid "Top 3 Skills:\n" @@ -204101,28 +209852,22 @@ msgstr "Prosi o:\n" #, c-format msgid "" "> Food: %10d days\n" -" \n" +"\n" msgstr "" -"> Jedzenie: %10d dni\n" -" \n" #: src/faction_camp.cpp #, c-format msgid "" "Faction Food:%9d days\n" -" \n" +"\n" msgstr "" -"Jedzenie Frakcji:%9d dni\n" -" \n" #: src/faction_camp.cpp #, c-format msgid "" "Recruit Chance: %10d%%\n" -" \n" +"\n" msgstr "" -"Szansa Werbunku: %10d%%\n" -" \n" #: src/faction_camp.cpp msgid "Select an option:" @@ -204145,8 +209890,8 @@ msgid "Not Interested" msgstr "Brak Zaintersowania" #: src/faction_camp.cpp -msgid "You decide you aren't interested..." -msgstr "Decydujesz, że nie interesuje cię to..." +msgid "You decide you aren't interested…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -204155,29 +209900,26 @@ msgstr "%s został przekonany by dołączyć!" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested..." -msgstr "%s nie był zainteresowany..." +msgid "%s wasn't interested…" +msgstr "" #: src/faction_camp.cpp -msgid "Your companion hit a river and didn't know how to swim..." -msgstr "Twój towarzysz napotkał rzekę a nie potrafił pływać..." +msgid "Your companion hit a river and didn't know how to swim…" +msgstr "" #: src/faction_camp.cpp msgid "" -"Your companion hit a river and didn't know how to swim well enough to " -"cross..." +"Your companion hit a river and didn't know how to swim well enough to cross…" msgstr "" -"Twój towarzysz napotkał rzekę i nie potrafił pływać dość dobrze by ją " -"przebyć..." #: src/faction_camp.cpp #, c-format -msgid "%s didn't return from patrol..." -msgstr "%s nie wrócił z patrolu..." +msgid "%s didn't return from patrol…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from patrol..." -msgstr "wraca z patrolu..." +msgid "returns from patrol…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -204216,8 +209958,8 @@ msgid "returns from surveying for the expansion." msgstr "powraca z pomiaru terenu pod rozbudowę." #: src/faction_camp.cpp -msgid "returns from working your fields... " -msgstr "wraca z pracy w polu..." +msgid "returns from working your fields…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -204276,27 +210018,25 @@ msgstr ">Obszar pokrycia: %15d (m)\n" #: src/faction_camp.cpp #, c-format -msgid ">Travel: %23s\n" -msgstr ">Podróż: %23s\n" +msgid ">Travel: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid ">Working: %23s\n" -msgstr ">Praca: %23s\n" +msgid ">Working: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Total: %23s\n" -msgstr "Razem: %23s\n" +msgid "Total: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format msgid "" "Food: %15d (kcal)\n" -" \n" +"\n" msgstr "" -"Żywność: %15d (kcal)\n" -" \n" #: src/faction_camp.cpp #, c-format @@ -204316,35 +210056,20 @@ msgstr "" msgid "" "Notes:\n" "Recruiting additional followers is very dangerous and expensive. The outcome is heavily dependent on the skill of the companion you send and the appeal of your base.\n" -" \n" +"\n" "Skill used: speech\n" -"Difficulty: 2 \n" +"Difficulty: 2\n" "Base Score: +%3d%%\n" "> Expansion Bonus: +%3d%%\n" "> Faction Bonus: +%3d%%\n" "> Special Bonus: +%3d%%\n" -" \n" +"\n" "Total: Skill +%3d%%\n" -" \n" +"\n" "Risk: High\n" "Time: 4 Days\n" "Positions: %d/1\n" msgstr "" -"Notatki:\n" -"Rekrutacja kolejnych towarzyszy jest bardzo niebezpieczna i kosztowna. Wynik jest bardzo zależny od umiejętności kompana którego wysyłasz i jakości bazy.\n" -" \n" -"Umiejętność używana: krasomówstwo\n" -"Trudność: 2\n" -"Bazowy Wynik: +%3d%%\n" -"> Bonus za Rozszerzenia: +%3d%%\n" -"> Bonus za Frakcję: +%3d%%\n" -"> Bonus Specjalny: +%3d%%\n" -" \n" -"Razem: Umiejętność +%3d%%\n" -" \n" -"Ryzyko: Duże\n" -"Czas: 4 Dni\n" -"Stanowiska: %d/1\n" #: src/faction_camp.cpp msgid "Harvestable: " @@ -204360,8 +210085,8 @@ msgstr "Wymaga Orki:" #: src/faction_camp.cpp #, c-format -msgid "Name: %25s\n" -msgstr "Nazwa: %25s\n" +msgid "Name: %s\n" +msgstr "" #: src/faction_camp.cpp msgid "---- Engines ----\n" @@ -204369,8 +210094,8 @@ msgstr "---- Silniki ----\n" #: src/faction_camp.cpp #, c-format -msgid "Engine: %25s\n" -msgstr "Silnik: %25s\n" +msgid "Engine: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -204379,8 +210104,8 @@ msgstr ">Status: %24d%%\n" #: src/faction_camp.cpp #, c-format -msgid ">Fuel: %25s\n" -msgstr ">Paliwo: %25s\n" +msgid ">Fuel: %s\n" +msgstr "" #: src/faction_camp.cpp msgid "---- Fuel Storage & Battery ----\n" @@ -204391,12 +210116,12 @@ msgid "Estimated Chop Time: 5 Days\n" msgstr "Szacowany czas rozebrania: 5 Dni\n" #: src/faction_camp.cpp -msgid "You do not have a camp food zone. Aborting..." -msgstr "Nie masz w obozie strefy żywności. Przerywam..." +msgid "You do not have a camp food zone. Aborting…" +msgstr "" #: src/faction_camp.cpp -msgid "No items are located at the drop point..." -msgstr "Nie ma przedmiotów w punkcie zrzutu..." +msgid "No items are located at the drop point…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -204405,8 +210130,8 @@ msgstr "Rozdajesz ekwiwalent %d kcal żywności wśród swoich towarzyszy." #: src/faction_camp.cpp #, c-format -msgid "While %s, a silent specter approaches %s..." -msgstr "Podczas %s, cichy duch zbliża się do %s..." +msgid "While %s, a silent specter approaches %s…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -204441,8 +210166,8 @@ msgstr "%s nie zauważa zasadzki do czasu, kiedy było już za późno!" #: src/faction_camp.cpp #, c-format -msgid "The bull moose charged %s from the tree line..." -msgstr "Samiec łosia szarżuje na %s z lini drzew..." +msgid "The bull moose charged %s from the tree line…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -204461,14 +210186,13 @@ msgstr "Żaberzwłok złapał %s za ramię od tyłu i zaczął wrzeszczeć." #, c-format msgid "" "Terrified, %s spun around and delivered a massive kick to the creature's " -"torso..." +"torso…" msgstr "" -"Przerażony, %s obrócił się wymierzając potężne kopnięcie w tors stwora..." #: src/faction_camp.cpp #, c-format -msgid "Collapsing into a pile of gore, %s walked away unscathed..." -msgstr "Upadając w krwawą masę, %s odchodzi bez zadraśnięć..." +msgid "Collapsing into a pile of gore, %s walked away unscathed…" +msgstr "" #: src/faction_camp.cpp msgid "(Sounds like bullshit, you wonder what really happened.)" @@ -204478,10 +210202,8 @@ msgstr "(Brzmi jak kupa gówna, zastanawiasz się co naprawdę zaszło.)" #, c-format msgid "" "%s turned to find the hideous black eyes of a giant wasp staring back from " -"only a few feet away..." +"only a few feet away…" msgstr "" -"%s obraca się by ujrzeć paskudne czarne oczy wielkiej osy gapiącej się z " -"odległości zaledwie kilku stóp..." #: src/faction_camp.cpp msgid "The screams were terrifying, there was nothing anyone could do." @@ -204493,10 +210215,8 @@ msgid "Pieces of %s were found strewn across a few bushes." msgstr "Kawałki %s odnaleziono rozwleczone po kilku krzakach." #: src/faction_camp.cpp -msgid "(You wonder if your companions are fit to work on their own...)" +msgid "(You wonder if your companions are fit to work on their own…)" msgstr "" -"(Zastanawiasz się czy twoi towarzysze są wystarczająco gotowi by pracować " -"sami...)" #: src/fungal_effects.cpp src/iuse.cpp #, c-format @@ -204529,8 +210249,8 @@ msgid "Loading core data" msgstr "Wczytuję rdzeń danych" #: src/game.cpp -msgid "Please wait while the world data loads..." -msgstr "Proszę czekaj na wczytanie danych świata..." +msgid "Please wait while the world data loads…" +msgstr "" #: src/game.cpp src/start_location.cpp msgid "Please wait as we build your world" @@ -204566,8 +210286,8 @@ msgstr "Skasuj świat" #: src/game.cpp #, c-format -msgid "World retained. Characters remaining:%s" -msgstr "Świat zachowany. Pozostało postaci: %s" +msgid "World retained. Characters remaining:%s" +msgstr "" #: src/game.cpp #, c-format @@ -204575,8 +210295,8 @@ msgid "The %s is dangerously close!" msgstr "%s jest niebezpiecznie blisko!" #: src/game.cpp -msgid "Wait till you wake up..." -msgstr "Zaczekaj aż się obudzisz..." +msgid "Wait till you wake up…" +msgstr "" #: src/game.cpp #, c-format @@ -204751,8 +210471,8 @@ msgid "You are not wielding a ranged weapon." msgstr "Nie dzierżysz broni dystansowej." #: src/game.cpp -msgid "Watch the last moments of your life...?" -msgstr "Obejrzeć ostatnie momenty twojego życia...?" +msgid "Watch the last moments of your life…?" +msgstr "" #: src/game.cpp msgid "Loading files" @@ -204801,20 +210521,15 @@ msgid "Failed to save game data" msgstr "Nie udało się zapisać danych gry" #: src/game.cpp -msgid " You are forgotten among the billions lost in the cataclysm..." +msgid " You are forgotten among the billions lost in the cataclysm…" msgstr "" -" Pamieć o tobie przepada wśród milionów straconych w kataklizmie..." #: src/game.cpp msgid "" " Locked in an endless battle, the Old Guard was forced to consolidate " "their resources in a handful of fortified bases along the coast. Without " -"the men or material to rebuild, the soldiers that remained lost all hope..." +"the men or material to rebuild, the soldiers that remained lost all hope…" msgstr "" -" Związani niekończącą się walką, Stara Gwardia zmuszona była zgromadzić " -"swoja zasoby w garstce ufortyfikowanych baz wzdłóż wybrzeża. Bez zasobów " -"ludzkich i materiałów niezbędnych do odbudowy stacjonujący tam żołnierze " -"stracili wszelką nadzieję..." #: src/game.cpp msgid "" @@ -204824,28 +210539,16 @@ msgid "" "success. Forced to eventually consolidate to large bases, the Old Guard " "left these facilities in the hands of the few survivors that remained. As " "the years past, little materialized from the hopes of rebuilding " -"civilization..." +"civilization…" msgstr "" -" Niezłomność indywidualnych ocalonych po kataklizmie wzbudziła podziw w " -"poszarpanych resztkach dawniej wielkiego narodu. Rozrzewnione małymi " -"sukcesami, liczne przedsięwzięcia zmierzające do ponownego zabezpieczenia " -"obiektów osiągnęły umiarkowany sukces. Ostatecznie zmuszone do konsolidacji " -"w dużych bazach siły Starej Gwardii pozostawiły te instalacje w rękach " -"nielicznych pozostałych ocalonych. Z upływem lat niewiele zmaterializowało " -"się z nadziei na odbudowę cywilizacji..." #: src/game.cpp msgid "" " Life in the refugee shelter deteriorated as food shortages and disease " "destroyed any hope of maintaining a civilized enclave. The merchants and " "craftsmen dispersed to found new colonies but most became victims of " -"marauding bandits. Those who survived never found a place to call home..." +"marauding bandits. Those who survived never found a place to call home…" msgstr "" -" Życie w schronie dla uchodźców pogorszyło się gdy braki w żywności i " -"choroby zniszczyły wszelką nadzieję utrzymania cywilizowanej enklawy. Kupcy " -"i rzemieślnicy rozproszyli się w poszukiwaniu nowych osad lecz większość " -"stała się ofiarami wędrownych bandytów. Ci co ocaleli nigdy nie znaleźli " -"miejsca, które mogli by nazwać domem." #: src/game.cpp msgid "" @@ -204853,13 +210556,8 @@ msgid "" "once profitable trade routes were plundered by bandits and thugs. In " "squalor and filth the first generations born after the cataclysm are told " "stories of the old days when food was abundant and the children were allowed" -" to play in the sun..." +" to play in the sun…" msgstr "" -" Wolni Kupcy przez lata zmagali się z zaopatrzeniem się w żywność, ale " -"niegdyś zyskowne trasy doświadczyły napadów przez bandytów i rabusiów. W " -"nędzy, ubóstwie i brudzie pierwsze pokolenie po kataklizmie słyszy opowieści" -" o dawnych dniach gdy jedzenia było w bród, a dzieci mogły bawić się na " -"słońcu..." #: src/game.cpp msgid "" @@ -204893,12 +210591,8 @@ msgid "" " The lone bands of survivors who wandered the now alien world dwindled in" " number through the years. Unable to compete with the growing number of " "monstrosities that had adapted to live in their world, those who did survive" -" lived in dejected poverty and hopelessness..." +" lived in dejected poverty and hopelessness…" msgstr "" -" Samotne bandy ocalonych przemierzające teraz już obcy świat skurczyły " -"się w liczbie przez lata. Nie mogąc konkurować z rosnącą liczbą potworności," -" które przystosowały się do życia na Ziemi, ci którym jednak udało się " -"przeżyć żyli w przygnębiającej biedzie i beznadziei..." #: src/game.cpp msgid "" @@ -204907,14 +210601,8 @@ msgid "" "old world. Enormous hordes made cities impossible to enter while new " "eldritch horrors appeared mysteriously near old research labs. But on the " "fringes of where civilization once ended, bands of hunter-gatherers began to" -" adopt agrarian lifestyles in fortified enclaves..." +" adopt agrarian lifestyles in fortified enclaves…" msgstr "" -" Szabrownicy którzy kwitli w początkach kataklizmu mieli stale coraz " -"większe trudności w odnajdywaniu i konserwacji sprzętu z dawnego świata. " -"Olbrzymie hordy odcięły miasta od wszelkiego dostępu, podczas gdy " -"nieziemskie horrory pojawiały się tajemniczo wokół dawnych laboratoriów. Ale" -" na granicach tego gdzie dawniej umarła cywilizacja, grupy łowców-zbieraczy " -"rozpoczęła adaptację rolniczego trybu życia w ufortyfikowanych enklawach..." #: src/game.cpp msgid "" @@ -204939,15 +210627,8 @@ msgid "" "brought the warlords abundant territory and slaves but little in the way of " "stability. Within weeks, infighting led to civil war as tribes vied for " "leadership of the faction. When only one warlord finally secured control, " -"there was nothing left to fight for... just endless cities full of the dead." +"there was nothing left to fight for… just endless cities full of the dead." msgstr "" -" Napędzani narkotykami i wściekłością Hell's Raiders wyliczali zawzięcie " -"by przełamać ostatnie forty Starej Gwardii. Kosztowne zwycięstwa zapewniły " -"przywódcom szerokie terytoria i niewolników, lecz niewiele w dziedzinie " -"stabilności. Kilku tygodni było potrzeba by wewnętrzne konflikty przerodziły" -" się w otwartą wojnę domową, gdy plemiona walczyły o przywództwo nad " -"frakcją. Gdy w końcu wyłonił się jedyny przywódca, który objął kontrolę nie " -"było już czego kontrolować... prócz miast pełnych umarłych." #: src/game.cpp #, c-format @@ -205130,15 +210811,6 @@ msgid "" msgstr "" "UWAGA: Ciało pacjenta jest uszkodzone. Trudność procedury zwiększona o%s." -#: src/game.cpp -#, c-format -msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " -"anyway?" -msgstr "" -"UWAGA: %i procent szans na POWAŻNE uszkodzenie wszystkich części ciała! " -"Kontynuować mimo tego?" - #: src/game.cpp msgid "Successfully removed Personality override." msgstr "Z powodzeniem usunięto nadpisanie Osobowości." @@ -205281,8 +210953,8 @@ msgid "Never mind" msgstr "Nieważne" #: src/game.cpp src/npctalk.cpp -msgid "You may be attacked! Proceed?" -msgstr "Możesz zostać zaatakowany! Kontynuować?" +msgid "You may be attacked! Proceed?" +msgstr "" #: src/game.cpp msgid "Examine where?" @@ -205474,12 +211146,12 @@ msgid "There's something there, but you can't see what it is." msgstr "Coś tam jest, ale nie możesz dostrzec co to jest." #: src/game.cpp -msgid "More items here..." -msgstr "Więcej przedmiotów tutaj..." +msgid "More items here…" +msgstr "" #: src/game.cpp #, c-format -msgctxt "%s is the name of the item. %d is the quantity of that item." +msgctxt "%s is the name of the item. %d is the quantity of that item." msgid "%s [%d]" msgstr "%s [%d]" @@ -205811,8 +211483,8 @@ msgstr "Nie masz właściwych narzędzi by rozłożyć żadnych przedmiotów tut #: src/game.cpp #, c-format -msgid "You see %s nearby! Start butchering anyway?" -msgstr "Widzisz w pobliżu %s! Rozpocząć patroszenie mimo to?" +msgid "You see %s nearby! Start butchering anyway?" +msgstr "" #: src/game.cpp msgid "Choose corpse to butcher / item to disassemble" @@ -205852,8 +211524,8 @@ msgstr "" #: src/game.cpp src/iuse.cpp src/iuse.cpp src/iuse.cpp src/veh_interact.cpp #: src/veh_interact.cpp #, c-format -msgid "%s helps with this task..." -msgstr "%s pomaga ci w tym zadaniu..." +msgid "%s helps with this task…" +msgstr "" #: src/game.cpp #, c-format @@ -205912,7 +211584,7 @@ msgstr "Potrzebujesz co najmniej jeden %s by przeładować %s!" msgid "The %s is already full!" msgstr "%s jest już pełny!" -#: src/game.cpp +#: src/game.cpp src/ranged.cpp #, c-format msgid "You can't reload a %s!" msgstr "Nie możesz przeładować %s!" @@ -205937,13 +211609,6 @@ msgstr "Nie masz nic do rozładowania." msgid "You're not wielding anything." msgstr "Niczego nie trzymasz w dłoniach." -#. ~ %1$s: weapon name, %2$s: holster name -#: src/game.cpp src/player.cpp -#, c-format -msgctxt "holster" -msgid "Draw %1$s from %2$s?" -msgstr "" - #: src/game.cpp #, c-format msgid "There's an angry red dot on your body, %s to brush it off." @@ -205966,11 +211631,9 @@ msgstr "lub %s by wpisać potwora na białą listę" #: src/game.cpp #, c-format msgid "" -"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " +"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " "monster%4$s)" msgstr "" -"Spostrzegasz %1$s--tryb bezpieczny włączony! (%2$s by wyłączyć, %3$s by " -"zignorować potwora %4$s)" #: src/game.cpp #, c-format @@ -206009,8 +211672,12 @@ msgstr "Naprawdę wejść w %s?" msgid "Your %s refuses to move over that ledge!" msgstr "" -#: src/game.cpp src/player.cpp src/player.cpp -msgid "You let go of the grabbed object." +#: src/game.cpp +msgid "You can't fit there." +msgstr "" + +#: src/game.cpp +msgid "Your mount can't fit there." msgstr "" #: src/game.cpp @@ -206173,13 +211840,15 @@ msgid "" "There are vehicle controls here but you cannot reach them whilst mounted." msgstr "" +#: src/game.cpp +msgid "You are repelled by the barrier!" +msgstr "" + #: src/game.cpp msgid "" -"You try to quantum tunnel through the barrier but are reflected! Try again " +"You try to quantum tunnel through the barrier but are reflected! Try again " "with more energy!" msgstr "" -"Próbujesz tunelowania kwantowego przez barierę ale odbijasz się! Spróbuj " -"ponownie z większą energią!" #: src/game.cpp msgid "It's too dangerous to tunnel that far!" @@ -206210,6 +211879,16 @@ msgstr "Przeciążasz się próbując przemieścić ciężki%s! " msgid "There's stuff in the way." msgstr "Jakiś sprzęt stoi na przeszkodzie." +#: src/game.cpp +#, c-format +msgid "The %s is really heavy!" +msgstr "" + +#: src/game.cpp +#, c-format +msgid "You fail to move the %s." +msgstr "" + #: src/game.cpp #, c-format msgid "The %s is too heavy for you to budge." @@ -206265,8 +211944,8 @@ msgstr "Wspiąć się na %s" #: src/game.cpp #, c-format -msgid "You try to use the stairs. Suddenly you are blocked by a %s!" -msgstr "Próbujesz użyć schodów. Nagle blokuje cię %s!" +msgid "You try to use the stairs. Suddenly you are blocked by a %s!" +msgstr "" #: src/game.cpp #, c-format @@ -206371,10 +212050,8 @@ msgid "Halfway down, the way down becomes blocked off." msgstr "W połowie długości droga w dół staje się zablokowana." #: src/game.cpp -msgid "There is a sheer drop halfway down. Web-descend?" +msgid "There is a sheer drop halfway down. Web-descend?" msgstr "" -"Jest tu krawędź i pusta przestrzeń w połowie drogi. Opuścić się na nici " -"pajęczej?" #: src/game.cpp msgid "" @@ -206395,10 +212072,8 @@ msgstr "" "dół?" #: src/game.cpp -msgid "Detach a vine? It'll hurt, but you'll be able to climb back up..." +msgid "Detach a vine? It'll hurt, but you'll be able to climb back up…" msgstr "" -"Odłączyć pnącze? Będzie bolało, ale będziesz w stanie wspiąć się z powrotem " -"w górę..." #: src/game.cpp msgid "You descend on your vines, though leaving a part of you behind stings." @@ -206417,16 +212092,12 @@ msgstr "" "okazje." #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your grappling hook down?" +msgid "There is a sheer drop halfway down. Climb your grappling hook down?" msgstr "" -"Jest tu krawędź i pusta przestrzeń w połowie drogi. Użyć haka z liną do " -"opuszczenia się w dół?" #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your rope down?" +msgid "There is a sheer drop halfway down. Climb your rope down?" msgstr "" -"Jest tu krawędź i pusta przestrzeń w połowie drogi. Użyć liny by zejść w " -"dół?" #: src/game.cpp msgid "There is a sheer drop halfway down. Jump?" @@ -206487,8 +212158,8 @@ msgstr "%s odpycha cię!" #: src/game.cpp #, c-format -msgid "The %s tried to push you back but failed! It attacks you!" -msgstr "%s próbował cię odepchnąć ale zawiódł! Atakuje cię!" +msgid "The %s tried to push you back but failed! It attacks you!" +msgstr "" #: src/game.cpp #, c-format @@ -206516,35 +212187,26 @@ msgstr "Jeszcze brak zapisów dla %s." #: src/game.cpp #, c-format msgid "" -"Whoa! Your terminal is tiny! This game requires a minimum terminal size of " -"%dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " +"Whoa! Your terminal is tiny! This game requires a minimum terminal size of" +" %dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " "help?" msgstr "" -"Whoa! Twój terminal jest malutki! Ta gra wymaga minimalnego terminala " -"rozmiaru %dx%d do poprawnej pracy. %dx%d nie wystarczy. Może pomoże mniejsza" -" czcionka?" #: src/game.cpp #, c-format msgid "" -"Oh! Hey, look at that. Your terminal is just a little too narrow. This game " -"requires a minimum terminal size of %dx%d to function. It just won't work " -"with only %dx%d. Can you stretch it out sideways a bit?" +"Oh! Hey, look at that. Your terminal is just a little too narrow. This " +"game requires a minimum terminal size of %dx%d to function. It just won't " +"work with only %dx%d. Can you stretch it out sideways a bit?" msgstr "" -"Oh! Hey, popatrz na to. Twój terminal jest nieco za wąski. Ta gra wymaga " -"minimalnego terminala w rozmiarze %dx%d do działania. Nie da rady " -"funkcjonować w rozmiarze %dx%d. Możesz rozszerzyć go nieco?" #: src/game.cpp #, c-format msgid "" -"Woah, woah, we're just a little short on space here. The game requires a " -"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " +"Woah, woah, we're just a little short on space here. The game requires a " +"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " "make the terminal just a smidgen taller?" msgstr "" -"Hej, hej, trochę tu mało miejsca. Gra wymaga terminala o minimalnym " -"rozmiarze %dx%d do działania. %dx%d to za mało!. Możesz ustawić wysokość " -"ździebko większą?" #: src/game.cpp msgid "" @@ -206629,8 +212291,8 @@ msgid "You feel thirsty." msgstr "Czujesz się spragniony." #: src/game.cpp -msgid "You feel an evil presence..." -msgstr "Czujesz złą obecność..." +msgid "You feel an evil presence…" +msgstr "" #: src/game.cpp msgid "You feel a tickle of insanity." @@ -206645,8 +212307,8 @@ msgid "You feel your genetic makeup degrading." msgstr "Czujesz jak twoja budowa genetyczna się degraduje." #: src/game.cpp -msgid "You feel an otherworldly attention upon you..." -msgstr "Czujesz pozaziemską uwagę skupioną na tobie..." +msgid "You feel an otherworldly attention upon you…" +msgstr "" #: src/game.cpp msgid "You feel a force pulling you inwards." @@ -206690,8 +212352,8 @@ msgstr "Per %s%d! " #: src/game.cpp #, c-format -msgid "Speed %s%d! " -msgstr "Szybkość %s%d!" +msgid "Speed %s%d!" +msgstr "" #: src/game_inventory.cpp msgid "You don't have the necessary item at hand." @@ -206822,6 +212484,16 @@ msgstr "nieokreślony" msgid "SHELF LIFE" msgstr "TRWAŁOŚĆ" +#. ~ Eat menu Volume: +#: src/game_inventory.cpp +#, c-format +msgid "%.2f%s" +msgstr "" + +#: src/game_inventory.cpp +msgid "VOLUME" +msgstr "" + #: src/game_inventory.cpp msgid "FRESHNESS" msgstr "ŚWIERZOŚĆ" @@ -206830,10 +212502,6 @@ msgstr "ŚWIERZOŚĆ" msgid "SPOILS IN" msgstr "PSUJE SIĘ W" -#: src/game_inventory.cpp -msgid "Battery" -msgstr "Akumulator" - #: src/game_inventory.cpp msgid "Reactor" msgstr "Reaktor" @@ -206858,10 +212526,6 @@ msgstr "Nie możesz wypić rozlanych napojów" msgid "Your biology is not compatible with that item." msgstr "" -#: src/game_inventory.cpp -msgid "You're fully charged" -msgstr "Jesteś w pełni naładowany" - #: src/game_inventory.cpp #, c-format msgid "No space to store more %s" @@ -207139,8 +212803,8 @@ msgstr "Nie ma przedmiotów do porównania." #: src/game_inventory.cpp msgid "" -"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE to" -" cancel." +"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE " +"to cancel." msgstr "" #: src/game_inventory.cpp @@ -207170,11 +212834,6 @@ msgstr "" msgid "Available anesthetic: %i mL" msgstr "" -#: src/game_inventory.cpp -#, c-format -msgid "Money available: %s" -msgstr "" - #: src/game_inventory.cpp #, c-format msgid "Bionic removal patient: %s" @@ -207300,6 +212959,14 @@ msgstr "" msgid "CBM is filthy. Wash it first." msgstr "" +#: src/game_inventory.cpp +msgid "You should put this CBM in an autoclave pouch to keep it sterile." +msgstr "" + +#: src/game_inventory.cpp +msgid "You need at least 2L of water." +msgstr "" + #: src/game_inventory.cpp msgid "Sterilization" msgstr "" @@ -207412,8 +213079,8 @@ msgstr "%s zderza się z %s." #: src/handle_action.cpp #, c-format -msgid "Press %s to accept your fate..." -msgstr "Naciśnij %s by zaakceptować swój los..." +msgid "Press %s to accept your fate…" +msgstr "" #: src/handle_action.cpp msgid "No radio car connected." @@ -207425,17 +213092,16 @@ msgstr "dźwięk kolizji z przeszkodą." #. ~ Sound of moving a remote controlled car #: src/handle_action.cpp -msgid "zzz..." -msgstr "zzz..." +msgid "zzz…" +msgstr "" #: src/handle_action.cpp -msgid "You can't drive the vehicle from here. You need controls!" -msgstr "Nie możesz stąd prowadzić pojazdu. Potrzebujesz sterowania!" +msgid "You can't drive the vehicle from here. You need controls!" +msgstr "" #: src/handle_action.cpp -msgid "Can't drive this vehicle remotely. It has no working controls." +msgid "Can't drive this vehicle remotely. It has no working controls." msgstr "" -"Nie możesz prowadzić tego pojazdu zdalnie. Nie ma działającego sterowania." #: src/handle_action.cpp msgid "Open where?" @@ -207543,12 +213209,12 @@ msgid "There's nothing there to smash!" msgstr "Nie ma tam nic co mógłbyś rozbić!" #: src/handle_action.cpp -msgid "You already have an alarm set. What do you want to do?" -msgstr "Masz już ustawiony alarm. Co chciałbyś zrobić?" +msgid "You already have an alarm set. What do you want to do?" +msgstr "" #: src/handle_action.cpp -msgid "You have an alarm clock. What do you want to do?" -msgstr "Masz budzik. Co chciałbyś zrobić?" +msgid "You have an alarm clock. What do you want to do?" +msgstr "" #: src/handle_action.cpp msgid "Keep the alarm and wait a while" @@ -207670,15 +213336,13 @@ msgstr "Możesz chcieć to dezaktywować przed snem." #: src/handle_action.cpp msgid "" -"You're engorged to hibernate. The alarm would only attract attention. Set an" -" alarm anyway?" +"You're engorged to hibernate. The alarm would only attract attention. Set " +"an alarm anyway?" msgstr "" -"Jesteś objedzony po brzegi na czas hibernacji. Alarm by tylko przyciągnął " -"uwagę. Ustawić alarm mimo to?" #: src/handle_action.cpp -msgid "You have an alarm clock. Set an alarm?" -msgstr "Masz budzik. Nastawić alarm?" +msgid "You have an alarm clock. Set an alarm?" +msgstr "" #: src/handle_action.cpp msgid "No, don't set an alarm." @@ -207709,52 +213373,47 @@ msgstr "Posortuj moją zdobycz" #: src/handle_action.cpp msgid "" "Sorts out the loot from Loot: Unsorted zone to nearby appropriate Loot " -"zones. Uses empty space in your inventory or utilizes a cart, if you are " +"zones. Uses empty space in your inventory or utilizes a cart, if you are " "holding one." msgstr "" -"Posortuj zdobycz z Zdobycz: Strefa Nieposortowanych do pobliskich właściwych" -" stref zdobyczy. Używa miejsca w twoim ekwipunku lub wózka jeśli taki " -"trzymasz." #: src/handle_action.cpp msgid "Till farm plots" msgstr "Kop grządki" #: src/handle_action.cpp -msgid "Till farm plots... you need a tool to dig with" -msgstr "Kop grządki... potrzebujesz narzędzia do kopania" +msgid "Till farm plots… you need a tool to dig with" +msgstr "" #: src/handle_action.cpp msgid "Tills nearby Farm: Plot zones." msgstr "Kopie pobliskie Farma: strefa grządek." #: src/handle_action.cpp -msgid "Plant seeds... it is too cold for planting" -msgstr "Sadź nasiona... zbyt zimo by cokolwiek sadzić" +msgid "Plant seeds… it is too cold for planting" +msgstr "" #: src/handle_action.cpp msgid "Plant seeds" msgstr "Sadź nasiona" #: src/handle_action.cpp -msgid "Plant seeds... you don't have any" -msgstr "Sadź nasiona... nie masz żadnych" +msgid "Plant seeds… you don't have any" +msgstr "" #: src/handle_action.cpp msgid "" -"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " +"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " "specific plant seed and you must have seeds in your inventory." msgstr "" -"Sadź nasiona w pobliskiej Farma: strefa grządek. Grządka musi być ustawiona " -"na konkretne nasiona roślin i musisz je mieć w ekwipunku." #: src/handle_action.cpp msgid "Fertilize plots" msgstr "Nawieź pola" #: src/handle_action.cpp -msgid "Fertilize plots... you don't have any fertilizer" -msgstr "Nawieź pola... nie masz żadnego nawozu" +msgid "Fertilize plots… you don't have any fertilizer" +msgstr "" #: src/handle_action.cpp msgid "Fertilize any nearby Farm: Plot zones." @@ -208046,6 +213705,10 @@ msgstr "nowe domyślne przypisanie to '^'." msgid "You can't operate a vehicle while you're in your shell." msgstr "Nie możesz prowadzić pojazdu dopóki jesteś w swojej skorupie." +#: src/handle_action.cpp +msgid "You refuse to take control of this vehicle." +msgstr "" + #: src/handle_action.cpp msgid "Auto travel mode OFF!" msgstr "Automatyczny tryb podróży WYŁĄCZONY!" @@ -208059,8 +213722,8 @@ msgid "Safe mode OFF!" msgstr "Tryb bezpieczny WYŁĄCZONY!" #: src/handle_action.cpp -msgid "Safe mode OFF! (Auto safe mode still enabled!)" -msgstr "Tryb bezpieczny WYŁĄCZONY! (Autom. tryb bezpieczny nadal włączony!)" +msgid "Safe mode OFF! (Auto safe mode still enabled!)" +msgstr "" #: src/handle_action.cpp msgid "Auto safe mode OFF!" @@ -208284,11 +213947,9 @@ msgstr "" #: src/iexamine.cpp #, c-format msgid "" -"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" +"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" "Your current balance is: %s" msgstr "" -"Witaj w Bankomacie C.C.B.o.t.T. Co chciałbyś zrobić?\n" -"Twoje obecne saldo to: %s" #: src/iexamine.cpp msgid "Purchase cash card?" @@ -208340,10 +214001,9 @@ msgid "Your account now holds %s." msgstr "Twoje konto obecnie przechowuje %s." #: src/iexamine.cpp -msgid "This will automatically deduct $1.00 from your bank account. Continue?" +msgid "" +"This will automatically deduct $1.00 from your bank account. Continue?" msgstr "" -"To spowoduje automatyczne potrącenie $1.00 z twojego konta bankowego. " -"Kontynuować?" #: src/iexamine.cpp msgid "You can only deposit money from charged cash cards!" @@ -208351,12 +214011,12 @@ msgstr "Możesz wyłącznie deponować pieniądze z zasilonej karty płatniczej! #: src/iexamine.cpp #, c-format -msgid "Deposit how much? Max: %d cent. (0 to cancel) " -msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " -msgstr[0] "Ile zdeponować? Max: %d cent. (0 by anulować)" -msgstr[1] "Ile zdeponować? Max: %d centów. (0 by anulować)" -msgstr[2] "Ile zdeponować? Max: %d centów. (0 by anulować)" -msgstr[3] "Ile zdeponować? Max: %d centów. (0 by anulować)" +msgid "Deposit how much? Max: %d cent. (0 to cancel) " +msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: src/iexamine.cpp msgid "You do not have a cash card to withdraw money!" @@ -208364,12 +214024,12 @@ msgstr "Nie masz karty płatniczej by wybrać pieniądze!" #: src/iexamine.cpp #, c-format -msgid "Withdraw how much? Max: %d cent. (0 to cancel) " -msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " -msgstr[0] "Ile wypłacić? Max: %d cent. (0 by anulować)" -msgstr[1] "Ile wypłacić? Max: %d centów. (0 by anulować)" -msgstr[2] "Ile wypłacić? Max: %d centów. (0 by anulować)" -msgstr[3] "Ile wypłacić? Max: %d centów. (0 by anulować)" +msgid "Withdraw how much? Max: %d cent. (0 to cancel) " +msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: src/iexamine.cpp msgid "The vending machine is empty!" @@ -208463,8 +214123,8 @@ msgid "No one responds." msgstr "" #: src/iexamine.cpp -msgid "If only you had a shovel..." -msgstr "Gdybyś tylko miał szpadel..." +msgid "If only you had a shovel…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -208567,16 +214227,16 @@ msgid "Insert $10?" msgstr "Włożyć $10?" #: src/iexamine.cpp -msgid "Three cherries... you get your money back!" -msgstr "Trzy wiśnie... dostajesz zwrot środków!" +msgid "Three cherries… you get your money back!" +msgstr "" #: src/iexamine.cpp -msgid "Three bells... you win $50!" -msgstr "Trzy dzwony... wygrywasz $50!" +msgid "Three bells… you win $50!" +msgstr "" #: src/iexamine.cpp -msgid "Three stars... you win $200!" -msgstr "Trzy gwiazdy... wygrywasz $200!" +msgid "Three stars… you win $200!" +msgstr "" #: src/iexamine.cpp msgid "JACKPOT! You win $3000!" @@ -208591,8 +214251,8 @@ msgid "Play again?" msgstr "Zagrać ponownie?" #: src/iexamine.cpp -msgid "You mess with the dial for a little bit... and it opens!" -msgstr "Kombinujesz przez chwilę z tarczą... i otwierasz!" +msgid "You mess with the dial for a little bit… and it opens!" +msgstr "" #: src/iexamine.cpp msgid "You mess with the dial for a little bit." @@ -208631,15 +214291,26 @@ msgid "The gun safe stumps your efforts to pick it." msgstr "Sejf z bronią opiera się twoim próbom włamania." #: src/iexamine.cpp -msgid "If only you had something to pry with..." -msgstr "Gdybyś tylko miał coś do wyważania..." +#, c-format +msgid "The %s is locked. If only you had something to pry it with…" +msgstr "" #. ~ %1$s: terrain/furniture name, %2$s: prying tool name #: src/iexamine.cpp #, c-format -msgid "You attempt to pry open the %1$s using your %2$s..." +msgid "You attempt to pry open the %1$s using your %2$s…" +msgstr "Próbujesz wyważyć zamek %1$s używając %2$s…" + +#: src/iexamine.cpp +#, c-format +msgid "The %s is locked. If only you had something to pick its lock with…" msgstr "" +#: src/iexamine.cpp +#, c-format +msgid "You attempt to pick lock of %1$s using your %2$s…" +msgstr "Próbujesz złamać zamek %1$s używając%2$s…" + #: src/iexamine.cpp msgid "This bulletin board is not inside a camp" msgstr "Ta tablica ogłoszeń nie jest wewnątrz obozu" @@ -208655,12 +214326,12 @@ msgstr "" "humainodalnych kształtów, ale z długimi, pokręconymi spuchniętymi kończynami." #: src/iexamine.cpp -msgid "The pedestal sinks into the ground..." -msgstr "Piedestał zanurza się w podłogę..." +msgid "The pedestal sinks into the ground…" +msgstr "" #: src/iexamine.cpp -msgid "an ominous grinding noise..." -msgstr "złowieszcze zgrzyty..." +msgid "an ominous grinding noise…" +msgstr "" #: src/iexamine.cpp msgid "Place your petrified eye on the pedestal?" @@ -208708,12 +214379,12 @@ msgid "You hear the rumble of rock shifting." msgstr "Słyszysz łoskot przesuwanej skały." #: src/iexamine.cpp -msgid "This flower is dead. You can't get it." -msgstr "Ten kwiat jest martwy. Nie możesz go wziąć." +msgid "This flower is dead. You can't get it." +msgstr "" #: src/iexamine.cpp -msgid "This plant is dead. You can't get it." -msgstr "Ta roślina jest martwa. Nie możesz jej wziąć." +msgid "This plant is dead. You can't get it." +msgstr "" #: src/iexamine.cpp msgid "You drink some nectar." @@ -208748,8 +214419,8 @@ msgid "This flower has a heady aroma." msgstr "Ten kwiat ma uderzający do głowy aromat." #: src/iexamine.cpp -msgid "You fall asleep..." -msgstr "Zasypiasz..." +msgid "You fall asleep…" +msgstr "" #: src/iexamine.cpp msgid "Your legs are covered in the poppy's roots!" @@ -208761,7 +214432,7 @@ msgstr "Igły kaktusa kłują cię." #: src/iexamine.cpp #, c-format -msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" +msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" msgstr "" #: src/iexamine.cpp @@ -208777,8 +214448,8 @@ msgid "Nothing can be harvested from this plant in current season" msgstr "Nic nie może być zebrane z tej rośliny o tej porze roku." #: src/iexamine.cpp -msgid "This flower is still alive, despite the harsh conditions..." -msgstr "Ten kwiat wciąż żyje, mimo surowych warunków..." +msgid "This flower is still alive, despite the harsh conditions…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -208786,8 +214457,8 @@ msgid "You feel out of place as you explore the %s. Drink?" msgstr "Czujesz się nie na miejscu gdy badasz %s. Wypić?" #: src/iexamine.cpp -msgid "This flower tastes very wrong..." -msgstr "Ten kwiat smakuje bardzo niewłaściwie..." +msgid "This flower tastes very wrong…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -208828,8 +214499,8 @@ msgid "You have no seeds to plant." msgstr "Nie masz nasion do zasadzenia." #: src/iexamine.cpp -msgid "Something's lying there..." -msgstr "Coś tu leży..." +msgid "Something's lying there…" +msgstr "" #: src/iexamine.cpp src/mission_companion.cpp msgid "You saved your seeds for later." @@ -208848,8 +214519,8 @@ msgid "The seed blooms forth! We have brought true beauty to this world." msgstr "Nasienie rozkwita! Przynieśliśmy temu światu prawdziwe piękno." #: src/iexamine.cpp -msgid "The seed blossoms rather rapidly..." -msgstr "Nasienie kwitnie dość gwałtownie..." +msgid "The seed blossoms rather rapidly…" +msgstr "" #: src/iexamine.cpp msgid "The seed blossoms into a flower-looking fungus." @@ -208907,9 +214578,8 @@ msgid "This kiln contains %s, which can't be made into charcoal!" msgstr "Ten piec zawiera %s, czego nie da się zamienić w węgiel drzewny!" #: src/iexamine.cpp -msgid "This kiln is empty. Fill it with wood or bone and try again." +msgid "This kiln is empty. Fill it with wood or bone and try again." msgstr "" -"Ten piec jest pusty. Wypełnij go drewnem lub kością i spróbuj ponownie." #: src/iexamine.cpp msgid "The batch in this kiln is too small to yield any charcoal." @@ -208933,8 +214603,8 @@ msgid "You fire the charcoal kiln." msgstr "Rozpalasz piec do węgla drzewnego." #: src/iexamine.cpp -msgid "This kiln is empty..." -msgstr "Ten piec jest pusty..." +msgid "This kiln is empty…" +msgstr "" #: src/iexamine.cpp msgid "There's a charcoal kiln there." @@ -208978,7 +214648,7 @@ msgstr "" #: src/iexamine.cpp msgid "" -"This furance is empty. Fill it with powdered coke and lime mix, and try " +"This furance is empty. Fill it with powdered coke and lime mix, and try " "again." msgstr "" @@ -209007,7 +214677,7 @@ msgid "You turn on the furnace." msgstr "" #: src/iexamine.cpp -msgid "This furnace is empty..." +msgid "This furnace is empty…" msgstr "" #: src/iexamine.cpp @@ -209020,7 +214690,7 @@ msgid "It has finished burning, yielding %d calcium carbide." msgstr "" #: src/iexamine.cpp -msgid "This autoclave is empty..." +msgid "This autoclave is empty…" msgstr "" #: src/iexamine.cpp @@ -209079,8 +214749,8 @@ msgid "Start a fire" msgstr "Rozpalić ogień" #: src/iexamine.cpp -msgid "Start a fire... you'll need a fire source." -msgstr "Rozpalić ogień... będziesz potrzebować źródła ognia." +msgid "Start a fire… you'll need a fire source." +msgstr "" #: src/iexamine.cpp msgid "Use a CBM to start a fire" @@ -209101,13 +214771,17 @@ msgstr "Rozbierz %s" #: src/iexamine.cpp #, c-format -msgid "You attempt to start a fire with your %s..." -msgstr "" +msgid "You attempt to start a fire with your %s…" +msgstr "Próbujesz rozpalić ogień używając %s…" #: src/iexamine.cpp msgid "You weren't able to start a fire." msgstr "Nie udało ci się rozpalić ognia." +#: src/iexamine.cpp +msgid "You can't light a fire there." +msgstr "Nie możesz tam rozpalić ognia." + #: src/iexamine.cpp #, c-format msgid "Really take down the %s while it's on fire?" @@ -209282,13 +214956,13 @@ msgid "The %s is full." msgstr "%s jest pełny." #: src/iexamine.cpp -msgid "You have no tool to dig with..." -msgstr "Nie masz narzędzia do kopania..." +msgid "You have no tool to dig with…" +msgstr "" #: src/iexamine.cpp #, c-format -msgid "Dig up %s? This kills the tree!" -msgstr "Kopać %s? To zabije drzewo!" +msgid "Dig up %s? This kills the tree!" +msgstr "" #: src/iexamine.cpp msgid "Which container?" @@ -209312,8 +214986,8 @@ msgid "You need a %s to tap this maple tree." msgstr "Potrzebujesz %s by drenować to drzewo klonowe." #: src/iexamine.cpp -msgid "No container added. The sap will just spill on the ground." -msgstr "Nie dodano pojemnika. Sok rozleje się na ziemię." +msgid "No container added. The sap will just spill on the ground." +msgstr "" #: src/iexamine.cpp msgid "Remove tap" @@ -209455,15 +215129,13 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "That %s looks too dangerous to mess with. Best leave it alone." +msgid "That %s looks too dangerous to mess with. Best leave it alone." msgstr "" -"Ten %s wygląda na tyle groźnie, żeby z nim nie kombinować. Najlepiej " -"zostawić go w spokoju." #: src/iexamine.cpp #, c-format -msgid "There is a %s there. Take down?" -msgstr "Jest tam %s. Rozmontować?" +msgid "There is a %s there. Take down?" +msgstr "" #: src/iexamine.cpp #, c-format @@ -209571,12 +215243,12 @@ msgid "You're illiterate, and can't read the screen." msgstr "Jesteś niepiśmienny, i nie potrafisz czytać z ekranu." #: src/iexamine.cpp -msgid "Failure! No gas pumps found!" -msgstr "Porażka! Nie znaleziono pomp paliwa!" +msgid "Failure! No gas pumps found!" +msgstr "" #: src/iexamine.cpp -msgid "Failure! No gas tank found!" -msgstr "Porażka! Nie znaleziono zbiornika paliwa!" +msgid "Failure! No gas tank found!" +msgstr "" #: src/iexamine.cpp msgid "This station is out of fuel. We apologize for the inconvenience." @@ -209633,8 +215305,8 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel) " -msgstr "Ile litrów benzyny kupić? Max: %d L. (0 by anulować)" +msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel)" +msgstr "" #: src/iexamine.cpp msgid "Glug Glug Glug" @@ -209701,34 +215373,30 @@ msgstr "Nie możesz zejść na dół" #: src/iexamine.cpp #, c-format -msgid "Looks like %d story. Jump down?" -msgid_plural "Looks like %d stories. Jump down?" -msgstr[0] "Wygląda na %d piętro. Zeskoczyć?" -msgstr[1] "Wygląda na %d pięter. Zeskoczyć?" -msgstr[2] "Wygląda na %d pięter. Zeskoczyć?" -msgstr[3] "Wygląda na %d pięter. Zeskoczyć?" +msgid "Looks like %d story. Jump down?" +msgid_plural "Looks like %d stories. Jump down?" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: src/iexamine.cpp -msgid "You probably won't be able to get up and jumping down may hurt. Jump?" +msgid "You probably won't be able to get up and jumping down may hurt. Jump?" msgstr "" -"Prawdopodobnie nie będziesz mógł wrócić na górę a skok w dół może cię " -"zranić. Skoczyć?" #: src/iexamine.cpp -msgid "You probably won't be able to get back up. Climb down?" -msgstr "Prawdopodobnie nie będziesz mógł wrócić na górę. Zejść w dół?" +msgid "You probably won't be able to get back up. Climb down?" +msgstr "" #: src/iexamine.cpp msgid "" -"You should be able to climb back up easily if you climb down there. Climb " +"You should be able to climb back up easily if you climb down there. Climb " "down?" msgstr "" -"Powinieneś być w stanie łatwo wspiąć się z powrotem w górę jeżeli zejdziesz " -"na dół. Zejść w dół?" #: src/iexamine.cpp -msgid "You may have problems climbing back up. Climb down?" -msgstr "Możesz mieć problemy ze wspięciem się z powrotem w górę. Zejść w dół?" +msgid "You may have problems climbing back up. Climb down?" +msgstr "" #: src/iexamine.cpp msgid "You decided to step back from the ledge." @@ -209762,8 +215430,8 @@ msgstr "" #: src/iexamine.cpp msgid "" -"ERROR Bionic Level Assessement : FULL CYBORG. Autodoc Mk. XI can't " -"opperate. Please move patient to appropriate facility. Exiting." +"ERROR Bionic Level Assessement: FULL CYBORG. Autodoc Mk. XI can't opperate." +" Please move patient to appropriate facility. Exiting." msgstr "" #: src/iexamine.cpp @@ -210044,8 +215712,7 @@ msgid "Inspect mill" msgstr "" #: src/iexamine.cpp -msgid "" -"Remove brake and start milling... insert some products for milling first" +msgid "Remove brake and start milling… insert some products for milling first" msgstr "" #: src/iexamine.cpp @@ -210057,12 +215724,12 @@ msgid "Remove brake and start milling, milling will take about 6 hours." msgstr "" #: src/iexamine.cpp -msgid "Insert products for milling... mill is full" +msgid "Insert products for milling… mill is full" msgstr "" #: src/iexamine.cpp #, c-format -msgid "Insert products for milling... remaining capacity is %s %s" +msgid "Insert products for milling… remaining capacity is %s %s" msgstr "" #: src/iexamine.cpp @@ -210112,8 +215779,8 @@ msgid "You inspect its contents and find: " msgstr "Sprawdzasz zawartość i znajdujesz:" #: src/iexamine.cpp -msgid "... that it is empty." -msgstr "... że jest pusty." +msgid "…that it is empty." +msgstr "" #: src/iexamine.cpp msgid "You see some grains that are not yet milled to fine flour." @@ -210141,13 +215808,13 @@ msgid "Inspect smoking rack" msgstr "Inspekcja wędzarnii" #: src/iexamine.cpp -msgid "Light up and smoke food... insert some food for smoking first" -msgstr "Rozpal i uwędź żywność... najpierw włóż żywność do wędzenia" +msgid "Light up and smoke food… insert some food for smoking first" +msgstr "" #: src/iexamine.cpp #, c-format -msgid "Light up and smoke food... need extra %d charges of charcoal" -msgstr "Rozpal i uwędź żywność... potrzeba jeszcze %d porcji węgla drzewnego" +msgid "Light up and smoke food… need extra %d charges of charcoal" +msgstr "" #: src/iexamine.cpp msgid "Light up and smoke food" @@ -210155,18 +215822,18 @@ msgstr "Rozpal i uwędź żywność" #: src/iexamine.cpp msgid "" -"Light up the smoking rack and start smoking. Smoking will take about 6 " +"Light up the smoking rack and start smoking. Smoking will take about 6 " "hours." -msgstr "Rozpal wędzarnię i rozpocznij wędzenie. Potrwa ono około 6 godzin." +msgstr "" #: src/iexamine.cpp -msgid "Insert food for smoking... smoking rack is full" -msgstr "Włóż żywność do wędzenia... wędzarnia jest pełna" +msgid "Insert food for smoking… smoking rack is full" +msgstr "" #: src/iexamine.cpp #, c-format -msgid "Insert food for smoking... remaining capacity is %s %s" -msgstr "Włóż żywność do wędzenia... pozostało %s %s miejsca" +msgid "Insert food for smoking… remaining capacity is %s %s" +msgstr "" #: src/iexamine.cpp msgid "" @@ -210189,8 +215856,8 @@ msgid "Remove food from smoking rack" msgstr "Usuń żywność z wędzarni" #: src/iexamine.cpp -msgid "Reload with charcoal... you don't have any" -msgstr "Zasil w węgiel drzewny... nie masz go przy sobie" +msgid "Reload with charcoal… you don't have any" +msgstr "" #: src/iexamine.cpp msgid "Reload with charcoal" @@ -210199,11 +215866,9 @@ msgstr "Zasil w węgiel drzewny" #: src/iexamine.cpp #, c-format msgid "" -"You need %d charges of charcoal for %s %s of food. Minimal amount of " +"You need %d charges of charcoal for %s %s of food. Minimal amount of " "charcoal is %d charges." msgstr "" -"Potrzebujesz %d porcji węgla drzewnego dla %s %s żywności. Minimalna ilość " -"węgla wynosi %d porcji." #: src/iexamine.cpp msgid "Quench burning charcoal" @@ -210264,8 +215929,8 @@ msgid "You stop the smoking process." msgstr "Wstrzymujesz proces wędzenia." #: src/iexamine.cpp -msgid "You open the unlocked safe. " -msgstr "Otwierasz drzwi sejfu." +msgid "You open the unlocked safe." +msgstr "" #: src/iexamine.cpp #, c-format @@ -210364,6 +216029,10 @@ msgstr "Połączenia mapy zasadniczej" msgid "Overmap specials" msgstr "Obiekty specjalne mapy" +#: src/init.cpp +msgid "Overmap locations" +msgstr "Lokacje mapy zasadniczej" + #: src/init.cpp msgid "Vehicle prototypes" msgstr "Prototypy pojazdów" @@ -210472,10 +216141,6 @@ msgstr "Mutacje" msgid "Mutation Categories" msgstr "Kategorie Mutacji" -#: src/init.cpp -msgid "Overmap locations" -msgstr "Lokacje mapy zasadniczej" - #: src/init.cpp msgid "Map extras" msgstr "" @@ -210843,14 +216508,6 @@ msgstr "" msgid "Page %d/%d" msgstr "Strona %d/%d" -#: src/inventory_ui.cpp -msgid "ITEMS WORN" -msgstr "PRZEDMIOTY NOSZONE" - -#: src/inventory_ui.cpp -msgid "WEAPON HELD" -msgstr "TRZYMANA BROŃ" - #: src/inventory_ui.cpp #, c-format msgid "Weight (%s):" @@ -211308,11 +216965,9 @@ msgstr "" #: src/item.cpp msgid "" -"This food has started to rot. Eating it would be a " +"This food has started to rot. Eating it would be a " "very bad idea." msgstr "" -"Ta żywność zaczęła się psuć. Zjedenie jej byłoby " -"bardzo złym pomysłem." #: src/item.cpp #, c-format @@ -211385,11 +217040,6 @@ msgstr "" msgid "This ammo starts fires." msgstr "" -#: src/item.cpp -#, c-format -msgid "Stats of the active gunmod (%s) are shown." -msgstr "Statystyki aktywnej modyfikacji (%s) są pokazane." - #: src/item.cpp msgid "Skill used: " msgstr "Użyta zdolność:" @@ -211538,8 +217188,9 @@ msgid "Used on: " msgstr "Używany na: " #: src/item.cpp -msgid "Location: " -msgstr "Lokacja: " +#, c-format +msgid "Location: %s" +msgstr "" #: src/item.cpp msgid "Incompatible with mod location: " @@ -212080,42 +217731,45 @@ msgid "" msgstr "" #: src/item.cpp -msgid "* This clothing can be upsized." +msgid "can be upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be downsized." +msgid "can be downsized" msgstr "" #: src/item.cpp -msgid "* This clothing can not be downsized." +msgid "can not be downsized" msgstr "" #: src/item.cpp -msgid "* This clothing can not be upsized." +msgid "can not be upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be refitted and upsized." +#, c-format +msgid "* This clothing %s." msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted and downsized." +msgid " and upsized" msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not downsized." +msgid " and downsized" msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not upsized." +msgid " but not downsized" +msgstr "" + +#: src/item.cpp +msgid " but not upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be refitted." +#, c-format +msgid "* This clothing can be refitted%s." msgstr "" #: src/item.cpp @@ -212213,6 +217867,18 @@ msgstr "" msgid "This bionic is installed in the following body part(s):" msgstr "Ta bionika jest zainstalowana w następującej(ych) części(ach) ciała:" +#: src/item.cpp +msgid "* This bionic can produce power from the following fuel: " +msgid_plural "* This bionic can produce power from the following fuels: " +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: src/item.cpp +msgid "Power Capacity:" +msgstr "" + #: src/item.cpp msgid "Encumbrance: " msgstr "" @@ -212295,16 +217961,19 @@ msgstr "Jest gotowe i może być aktywowane." msgid "It will be done in %s." msgstr "Będzie gotowe w %s." -#. ~ %1$s: gerund (e.g. carved), %2$s: item name -#: src/item.cpp src/iuse_actor.cpp +#. ~ %1$s: gerund (e.g. carved), %2$s: item name, %3$s: inscription text +#: src/item.cpp #, c-format msgctxt "carving" -msgid "%1$s on the %2$s is: " -msgstr "%1$s na %2$s jest: " +msgid "%1$s on the %2$s is: %3$s" +msgstr "" -#: src/item.cpp src/options.cpp -msgid "Note: " -msgstr "Notka:" +#. ~ %1$s: inscription text +#: src/item.cpp +#, c-format +msgctxt "carving" +msgid "Note: %1$s" +msgstr "" #: src/item.cpp msgid "Integrated mod: " @@ -212338,6 +218007,11 @@ msgstr "Możesz użyć tego by wytworzyć różne inne rzeczy." msgid "You could use it to craft: %s" msgstr "Możesz tego użyć by wytworzyć: %s" +#: src/item.cpp +#, c-format +msgid "Stats of the active gunmod (%s) are shown." +msgstr "Statystyki aktywnej modyfikacji (%s) są pokazane." + #: src/item.cpp #, c-format msgid "It takes you an extremely long time to wield your %s." @@ -212387,7 +218061,7 @@ msgstr "mocno spalone" #: src/item.cpp msgctxt "burnt adjective" msgid "burnt " -msgstr "przypalone" +msgstr "przypalone " #: src/item.cpp #, c-format @@ -213022,8 +218696,8 @@ msgid "You're already smoking a %s!" msgstr "Już teraz palisz %s!" #: src/iuse.cpp -msgid "Are you sure you want to drink... this?" -msgstr "Jesteś pewien że chcesz wypić... to coś?" +msgid "Are you sure you want to drink… this?" +msgstr "" #: src/iuse.cpp #, c-format @@ -213053,8 +218727,8 @@ msgid "You light a %s." msgstr "Zapalasz %s." #: src/iuse.cpp -msgid "Ugh, too much smoke... you feel nasty." -msgstr "Ugh, za dużo dymu... czujesz się paskudnie." +msgid "Ugh, too much smoke… you feel nasty." +msgstr "" #: src/iuse.cpp msgid "You take a puff from your electronic cigarette." @@ -213070,8 +218744,8 @@ msgid "You don't have any nicotine liquid!" msgstr "Nie masz płynu nikotynowego!" #: src/iuse.cpp -msgid "Ugh, too much nicotine... you feel nasty." -msgstr "Ugh, za dużo nikotyny... czujesz się paskudnie." +msgid "Ugh, too much nicotine… you feel nasty." +msgstr "" #: src/iuse.cpp msgid "You take some antibiotics." @@ -213177,7 +218851,7 @@ msgstr "Przestajesz drżeć." #: src/iuse.cpp msgid "" "You start scarfing down the delicious cake. It tastes a little funny " -"though..." +"though…" msgstr "" #: src/iuse.cpp @@ -213209,8 +218883,8 @@ msgid "You no longer need to fear the flu, at least for some time." msgstr "" #: src/iuse.cpp -msgid "Are you sure you want to eat this? It looks poisonous..." -msgstr "Jesteś pewien, że chcesz to zjeść? Wygląda na trujące..." +msgid "Are you sure you want to eat this? It looks poisonous…" +msgstr "" #: src/iuse.cpp #, c-format @@ -213230,8 +218904,8 @@ msgid "You suddenly feel hollow inside." msgstr "Nagle czujesz się pusty w środku." #: src/iuse.cpp -msgid "You feel very sleepy..." -msgstr "Jesteś bardzo śpiący..." +msgid "You feel very sleepy…" +msgstr "" #: src/iuse.cpp msgid "You eat the datura seed." @@ -213324,10 +218998,8 @@ msgstr "" #, c-format msgid "" "As you eat the %s, you have a near-religious experience, feeling at one with" -" your surroundings..." +" your surroundings…" msgstr "" -"Gdy zjadasz %s, masz niemal religijne przeżycie, czując zjednoczenie ze " -"swoim otoczeniem..." #: src/iuse.cpp msgid "It tastes extremely strange!" @@ -213352,10 +219024,8 @@ msgstr "Bierzesz jeden gryz, i natychmiast wymiotujesz!" #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into an excruciating burn" -" as you convulse, vomiting, and black out..." +" as you convulse, vomiting, and black out…" msgstr "" -"Czujesz znajome ciepło, ale nagle napływa nieznośne pieczenie, konwulsje, " -"wymioty i utrata przytomności..." #: src/iuse.cpp msgctxt "memorial_male" @@ -213370,10 +219040,8 @@ msgstr "Odniosłaś skutki Odrzucenia Marloss." #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into painful burning as " -"you convulse and collapse to the ground..." +"you convulse and collapse to the ground…" msgstr "" -"Czujesz znajome ciepło, które nagle zmienia się w bolesne pieczenie " -"powodujące konwulsje, i upadasz na ziemię..." #: src/iuse.cpp src/monattack.cpp msgid "" @@ -213387,14 +219055,12 @@ msgstr "" #: src/iuse.cpp msgid "" "unity. together we have reached the door. we provide the final key. now " -"to pass through..." +"to pass through…" msgstr "" -"zjednoczenie. razem dotarliśmy do drzwi. zapewniamy ostatni klucz. teraz " -"tylko przejść przezeń..." #: src/iuse.cpp -msgid "You feel a strange warmth spreading throughout your body..." -msgstr "Czujesz dziwne ciepło rozpraszające się po twoim ciele..." +msgid "You feel a strange warmth spreading throughout your body…" +msgstr "" #. ~ "Uh-uh" is a sound used for "nope", "no", etc. #: src/iuse.cpp @@ -213411,8 +219077,8 @@ msgstr "" #: src/iuse.cpp #, c-format -msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." -msgstr "Na pewno chcesz zjeść %s? Mógłbyś to zasiać w kopcu ziemi." +msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." +msgstr "" #: src/iuse.cpp msgid "It tastes amazing, and you finish it quickly." @@ -213421,14 +219087,14 @@ msgstr "" #: src/iuse.cpp msgid "" "As it settles in, you feel ecstasy radiating through every part of your " -"body..." +"body…" msgstr "" #: src/iuse.cpp msgid "" "Your eyes roll back in your head. Everything dissolves into a blissful " -"haze..." -msgstr "Twoje oczy wywijają koziołka. Wszystko rozmywa się w błogiej mgle..." +"haze…" +msgstr "" #. ~ The Mycus does not use the term (or encourage the concept of) "you". The #. PC is a local/native organism, but is now the Mycus. @@ -213436,16 +219102,14 @@ msgstr "Twoje oczy wywijają koziołka. Wszystko rozmywa się w błogiej mgle... #. bent symbiotes should not need it. #. ~ We are the Mycus. #: src/iuse.cpp -msgid "We welcome into us. We have endured long in this forbidding world." +msgid "We welcome into us. We have endured long in this forbidding world." msgstr "Witamy cię w sobie. Przetrwaliśmy długo w tym nieprzyjaznym świecie." #: src/iuse.cpp msgid "" -"A sea of white caps, waving gently. A haze of spores wafting silently over a" -" forest." +"A sea of white caps, waving gently. A haze of spores wafting silently over " +"a forest." msgstr "" -"Morze białych kapeluszy, kołyszących się z gracją. Chmura zarodników " -"unosząca się cicho nad lasem." #: src/iuse.cpp msgid "The natives have a saying: \"E Pluribus Unum.\" Out of many, one." @@ -213453,29 +219117,22 @@ msgstr "Miejscowi mają powiedzenie: \"E Pluribus Unum.\" Z wielu, jeden." #: src/iuse.cpp msgid "" -"The blazing pink redness of the berry. The juices spreading across your " +"The blazing pink redness of the berry. The juices spreading across your " "tongue, the warmth draping over us like a lover's embrace." msgstr "" -"Soczysta czerwień jagody. Sok rozlewa się po twoim języku, ciepło rozlewa " -"się po nas jak uścisk kochanka." #: src/iuse.cpp msgid "" "We welcome the union of our lines in our local guide. We will prosper, and " -"unite this world. Even now, our fruits adapt to better serve local " +"unite this world. Even now, our fruits adapt to better serve local " "physiology." msgstr "" -"Witamy unię naszych linii w naszym lokalnym przewodniku. Będziemy się " -"rozwijać i zjednoczymy ten świat. Nawet teraz nasze owoce adaptują się by " -"służyć lepiej lokalnej fizjologii." #: src/iuse.cpp msgid "" -"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " +"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " "berry, a memory that will never leave us." msgstr "" -"Niebiański błękit nasiona. Orzechowy, kremowy smak mieszający się z jagodą, " -"wspomnienie, które nigdy nas nie opuści. " #: src/iuse.cpp msgid "" @@ -213487,14 +219144,12 @@ msgstr "" #: src/iuse.cpp msgid "" -"The amber-yellow of the sap. Feel it flowing through our veins, taking the " +"The amber-yellow of the sap. Feel it flowing through our veins, taking the " "place of the strange, thin red gruel called \"blood.\"" msgstr "" -"Bursztynowa żółć żywicy. Poczuj jak krąży przez nasze żyły, w miejsce tej " -"dziwnej rozcieńczonej czerwonej papki zwanej \"krwią\"." #: src/iuse.cpp -msgid "This tastes really weird! You're not sure it's good for you..." +msgid "This tastes really weird! You're not sure it's good for you…" msgstr "" #: src/iuse.cpp @@ -213582,8 +219237,8 @@ msgid "You do not have that item!" msgstr "Nie masz tego przedmiotu!" #: src/iuse.cpp -msgid "Which signal should activate the item?:" -msgstr "Jaki sygnał powinien aktywować przedmiot?:" +msgid "Which signal should activate the item?" +msgstr "" #: src/iuse.cpp msgid "\"Blue\"" @@ -213624,8 +219279,8 @@ msgid "You can't fish there!" msgstr "Nie możesz tu wędkować!" #: src/iuse.cpp -msgid "You cast your line and wait to hook something..." -msgstr "Zarzucasz wędkę i czekasz aż coś się złapie na haczyk..." +msgid "You cast your line and wait to hook something…" +msgstr "" #: src/iuse.cpp msgid "Fish are not foolish enough to go in here without bait." @@ -213828,16 +219483,6 @@ msgstr "KXSHHHHRRCRKLKKK!" msgid "The infernal racket dies as the noise emitter turns off." msgstr "Piekielne głosy milkną gdy emiter dźwięku wyłącza się." -#: src/iuse.cpp -#, c-format -msgid "You learn the essential elements of %s." -msgstr "Uczysz się zasadniczych elementów stylu %s." - -#: src/iuse.cpp -#, c-format -msgid "%s to select martial arts style." -msgstr "%s by wybrać styl walki wręcz." - #: src/iuse.cpp msgid "You pry out the fence post." msgstr "Wyważasz palik płotu." @@ -214260,18 +219905,27 @@ msgid "Scan the ground" msgstr "Skanuj ziemię" #: src/iuse.cpp -msgid "Scan yourself" -msgstr "Skanuj siebie" +msgid "Scan yourself or other person" +msgstr "" #: src/iuse.cpp msgid "Turn continuous scan on" msgstr "Włącz stałe skanowanie" +#: src/iuse.cpp +msgid "Scan whom?" +msgstr "" + #: src/iuse.cpp #, c-format msgid "Your radiation level: %d mSv (%d mSv from items)" msgstr "" +#: src/iuse.cpp +#, c-format +msgid "%s's radiation level: %d mSv (%d mSv from items)" +msgstr "" + #: src/iuse.cpp #, c-format msgid "The ground's radiation level: %d mSv/h" @@ -214339,6 +219993,10 @@ msgstr "Tik!" msgid "You've already released the handle, try throwing it instead." msgstr "Już uwolniłeś rączkę, spróbuj zamiast tego rzucić." +#: src/iuse.cpp src/iuse_actor.cpp +msgid "You need a source of fire!" +msgstr "Potrzebujesz źródła ognia!" + #: src/iuse.cpp msgid "You light the arrow!" msgstr "Podpalasz strzałę!" @@ -214351,6 +220009,10 @@ msgstr "Twój podpalony Mołotow gaśnie." msgid "You light the pack of firecrackers." msgstr "Podpalasz paczkę sztucznych ogni." +#: src/iuse.cpp +msgid "ssss…" +msgstr "" + #: src/iuse.cpp msgid "You light the firecracker." msgstr "Podpalasz sztuczny ogień." @@ -214365,23 +220027,23 @@ msgid "You set the timer to %s." msgstr "" #: src/iuse.cpp -msgid "You squeeze the pheromone ball..." -msgstr "Ściskasz feromonową kulę..." +msgid "You squeeze the pheromone ball…" +msgstr "" #: src/iuse.cpp -msgid " squeezes the pheromone ball..." -msgstr " ściska feromonową kulę..." +msgid " squeezes the pheromone ball…" +msgstr "" #: src/iuse.cpp -msgid "...but nothing happens." -msgstr "...ale nic się nie dzieje." +msgid "…but nothing happens." +msgstr "" #: src/iuse.cpp -msgid "...and a nearby zombie becomes passive!" +msgid "…and a nearby zombie becomes passive!" msgstr "" #: src/iuse.cpp -msgid "...and several nearby zombies become passive!" +msgid "…and several nearby zombies become passive!" msgstr "" #: src/iuse.cpp @@ -214655,7 +220317,7 @@ msgid "You need a rechargeable battery cell to charge." msgstr "" #: src/iuse.cpp -msgid "You cannot do... that while mounted." +msgid "You cannot do… that while mounted." msgstr "" #: src/iuse.cpp @@ -214677,8 +220339,8 @@ msgid "You whip out your %s and start getting the tension out." msgstr "Wymachujesz swoim %s i zaczynasz pozbywać się napięcia." #: src/iuse.cpp -msgid "Air swirls all over..." -msgstr "Powietrze wiruje wokół..." +msgid "Air swirls all over…" +msgstr "" #: src/iuse.cpp msgid "Air swirls around you for a moment." @@ -214714,26 +220376,26 @@ msgstr "Pobierz krew od %s?" #: src/iuse.cpp #, c-format -msgid "You drew blood from the %s..." -msgstr "Pobierasz krew z %s ..." +msgid "You drew blood from the %s…" +msgstr "" #: src/iuse.cpp msgid "Draw your own blood?" msgstr "Pobrać własną krew?" #: src/iuse.cpp -msgid "You drew your own blood..." -msgstr "Pobierasz własną krew..." +msgid "You drew your own blood…" +msgstr "" #: src/iuse.cpp #, c-format -msgid "...but acidic blood melts the %s, destroying it!" -msgstr "... ale twoja kwasowa krew roztapia %s, niszcząc go!" +msgid "…but acidic blood melts the %s, destroying it!" +msgstr "" #: src/iuse.cpp #, c-format -msgid "...but acidic blood damages the %s!" -msgstr "... ale kwasowa krew uszkadza %s!" +msgid "…but acidic blood damages the %s!" +msgstr "" #: src/iuse.cpp #, c-format @@ -214832,18 +220494,10 @@ msgstr "Poruszasz mopem w ten i nazad, niepewny czy to cokolwiek pomaga." msgid "You mop up the spill." msgstr "Mopujesz to co się rozlało." -#: src/iuse.cpp -msgid "Ka-BOOM!" -msgstr "Ka-BOOM!" - #: src/iuse.cpp msgid "The fabric of space seems to decay." msgstr "Materia przestrzeni wydaje się rozpadać." -#: src/iuse.cpp -msgid "The earth shakes!" -msgstr "Ziemia się trzęsie!" - #: src/iuse.cpp #, c-format msgid "The %s glows brightly!" @@ -214873,8 +220527,8 @@ msgid "Spray what?" msgstr "Spryskać farbą co?" #: src/iuse.cpp -msgid "(To delete, input one '.')" -msgstr "(By skasować, wprowadź jedną '.')" +msgid "(To delete, clear the text and confirm)" +msgstr "" #: src/iuse.cpp msgid "You blur the inscription on the grave." @@ -214884,10 +220538,6 @@ msgstr "" msgid "You manage to get rid of the message on the ground." msgstr "Zdołałeś pozbyć się wiadomości na ziemi." -#: src/iuse.cpp -msgid "There isn't anything to erase here." -msgstr "Nie ma tu nic do wymazania." - #: src/iuse.cpp msgid "You carve an inscription on the grave." msgstr "" @@ -214905,13 +220555,9 @@ msgid "You don't have appropriate food to heat up." msgstr "Nie masz odpowiedniego do pogrzania jedzenia." #: src/iuse.cpp -msgid "You defrost the food, but don't heat it up, since you enjoy it cold." +msgid "You start heating up the food." msgstr "" -#: src/iuse.cpp -msgid "You defrost and heat up the food." -msgstr "Rozmrażasz i podgrzewasz jedzenie." - #: src/iuse.cpp msgid "There is no fire around, use your integrated toolset instead?" msgstr "Nie ma ognia w pobliżu, użyć twojego zintegrowanego zestawu narzędzi?" @@ -215109,12 +220755,12 @@ msgstr "Ucelniasz swój %s." #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s! ( %s-> %s)" +msgid "You repair your %s! ( %s-> %s)" msgstr "" #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s completely! ( %s-> %s)" +msgid "You repair your %s completely! ( %s-> %s)" msgstr "" #: src/iuse.cpp @@ -215149,12 +220795,12 @@ msgid "You reinforce your %s." msgstr "Wzmacniasz swój %s." #: src/iuse.cpp -msgid "Clank! Clank!" -msgstr "Clank! Clank!" +msgid "Clank! Clank!" +msgstr "" #: src/iuse.cpp -msgid "Ring! Ring!" -msgstr "Ring! Ring!" +msgid "Ring! Ring!" +msgstr "" #: src/iuse.cpp msgid "You cannot read a computer screen." @@ -215314,8 +220960,8 @@ msgid "Wasted time, these pictures do not provoke your senses." msgstr "Zmarnowany czas, te zdjęcia nie pobudzają twoich zmysłów." #: src/iuse.cpp -msgid "You used to have a dog like this..." -msgstr "Miałeś kiedyś takiego psa..." +msgid "You used to have a dog like this…" +msgstr "" #: src/iuse.cpp msgid "Ha-ha! An amusing cat photo." @@ -215326,8 +220972,8 @@ msgid "Excellent pictures of nature." msgstr "Wyśmienite zdjęcia przyrody." #: src/iuse.cpp -msgid "Food photos... your stomach rumbles!" -msgstr "Zdjęcia potraw... twój żołądek burczy!" +msgid "Food photos… your stomach rumbles!" +msgstr "" #: src/iuse.cpp msgid "Some very interesting travel photos." @@ -215796,12 +221442,12 @@ msgid "A %s got in the way of your photo." msgstr "%s wszedł w kadr twojego zdjęcia." #: src/iuse.cpp -msgid "Strange... there's nothing in the center of picture?" +msgid "Strange… there's nothing in the center of picture?" msgstr "" #: src/iuse.cpp #, c-format -msgid "Strange... %s's not visible on the picture?" +msgid "Strange… %s's not visible on the picture?" msgstr "" #: src/iuse.cpp @@ -215921,8 +221567,8 @@ msgstr "Uzbroiłeś swój zdalnie sterowany samochód w %s." #: src/iuse.cpp #, c-format -msgid "RC car with %s ? How?" -msgstr "Zdalnie sterowany samochód z %s? Jak?" +msgid "RC car with %s? How?" +msgstr "" #: src/iuse.cpp #, c-format @@ -215932,25 +221578,25 @@ msgstr "" "samochodu." #: src/iuse.cpp -msgid "You disarmed your RC car" -msgstr "Rozbrajasz swój zdalnie sterowany samochód" +msgid "You disarmed your RC car." +msgstr "" #. ~Sound of a radio controlled car moving around #: src/iuse.cpp -msgid "buzzz..." -msgstr "buzzz..." +msgid "buzzz…" +msgstr "" #: src/iuse.cpp msgid "What to do with activated RC car?" msgstr "Co chcesz zrobić z aktywnym zdalnie sterowanym samochodem?" #: src/iuse.cpp -msgid "You turned off your RC car" -msgstr "Wyłączyłeś swój zdalnie sterowany samochód" +msgid "You turned off your RC car." +msgstr "" -#: src/iuse.cpp src/map.cpp -msgid "beep." -msgstr "beep." +#: src/iuse.cpp +msgid "beep" +msgstr "" #: src/iuse.cpp msgid "Take control of RC car" @@ -215987,11 +221633,16 @@ msgstr "Przejmujesz kontrolę nad zdalnie sterowanym samochodem." #: src/iuse.cpp #, c-format msgid "" -"The %s in you inventory would explode on this signal. Place it down before " +"The %s in your inventory would explode on this signal. Place it down before" +" sending the signal." +msgstr "" + +#: src/iuse.cpp +#, c-format +msgid "" +"The %1$s in your %2$s would explode on this signal. Place it down before " "sending the signal." msgstr "" -"%s na twoim wyposażeniu eksplodowałby na ten sygnał. Umieść go na ziemi " -"zanim go wyślesz." #: src/iuse.cpp msgid "This vehicle's security system has locked you out!" @@ -216059,6 +221710,12 @@ msgstr "Przejmij kontrolę nad pojazdem." msgid "Execute one vehicle action" msgstr "Wykonaj jedną akcję pojadu" +#: src/iuse.cpp +msgid "" +"Despite using a controller, you still refuse to take control of this " +"vehicle." +msgstr "" + #: src/iuse.cpp msgid "You take control of the vehicle." msgstr "Przejmujesz kontrolę nad pojazdem." @@ -216077,8 +221734,8 @@ msgstr "Znaki na ekranie wyświetlają obsceniczny kawał. Dziwny humor." #. ~ Single-spaced & lowercase are intentional, conveying hurried speech-KA101 #: src/iuse.cpp -msgid "Are you sure?! the multi-cooker wants to poison your food!" -msgstr "Jesteś pewien? Multi0kucharz chce zatruć twoją żywność!" +msgid "Are you sure?! the multi-cooker wants to poison your food!" +msgstr "" #: src/iuse.cpp msgid "" @@ -216122,8 +221779,8 @@ msgid "The cycle will be completed in %s." msgstr "" #: src/iuse.cpp -msgid "The multi-cooker should be finishing shortly..." -msgstr "Multi-kucharz powinien wkrótce skończyć..." +msgid "The multi-cooker should be finishing shortly…" +msgstr "" #. ~ sound of a multi-cooker finishing its cycle! #: src/iuse.cpp @@ -216203,8 +221860,8 @@ msgstr "" "trząść." #: src/iuse.cpp -msgid "Your morale is too low to craft..." -msgstr "Twoje morale jest zbyt niskie by wytwarzać..." +msgid "Your morale is too low to craft…" +msgstr "" #: src/iuse.cpp #, c-format @@ -216338,8 +221995,8 @@ msgstr "Potrzebujesz mydła by tego używać." #: src/iuse.cpp #, c-format -msgid "The %s's monitor slowly outputs the data..." -msgstr "Monitor %s wolno wyświetla dane..." +msgid "The %s's monitor slowly outputs the data…" +msgstr "" #: src/iuse.cpp #, c-format @@ -216481,8 +222138,8 @@ msgid "You break the stick, but one half shatters into splinters." msgstr "Przełamujesz kij, ale jedna część rozpada się w drzazgi." #: src/iuse.cpp -msgid "The throbbing of the infection diminishes. Slightly." -msgstr "Rwanie z powodu infekcji łagodnieje. Nieco." +msgid "The throbbing of the infection diminishes. Slightly." +msgstr "" #: src/iuse.cpp msgid "You feel much better - almost entirely." @@ -216503,9 +222160,9 @@ msgstr "Połykasz %s." #: src/iuse.cpp msgid "" -"Simply taking more magnesium won't help. You have to go to sleep for it to " +"Simply taking more magnesium won't help. You have to go to sleep for it to " "work." -msgstr "Wzięcie więcej magnezu nie pomoże. Musisz pójść spać by zadziałał." +msgstr "" #: src/iuse.cpp #, c-format @@ -216776,8 +222433,8 @@ msgid "With a satisfying click, the lock on the door opens." msgstr "Z satysfakcjonującym kliknięciem, zamek w drzwiach otwiera się." #: src/iuse_actor.cpp -msgid "The door swings open..." -msgstr "Drzwi otwierają się..." +msgid "The door swings open…" +msgstr "" #: src/iuse_actor.cpp msgid "The lock stumps your efforts to pick it, and you destroy your tool." @@ -216883,18 +222540,17 @@ msgstr "Już się tam pali." #: src/iuse_actor.cpp msgid "" -"There's a brazier there but you haven't set it up to contain the fire. " +"There's a brazier there but you haven't set it up to contain the fire. " "Continue?" msgstr "" -"Jest tam koksownik ale nie ustawiłeś go żeby podtrzymał ogień. Kontynuować?" #: src/iuse_actor.cpp msgid "You successfully light a fire." msgstr "Udaje ci się rozpalić ogień." #: src/iuse_actor.cpp -msgid "You light a fire, but it isn't enough. You need to light more." -msgstr "Rozpalasz ogień, ale to za mało. Musisz rozpalić więcej." +msgid "You light a fire, but it isn't enough. You need to light more." +msgstr "" #: src/iuse_actor.cpp msgid "You happily light a fire." @@ -217008,8 +222664,15 @@ msgid "It's a note" msgstr "To notatka" #: src/iuse_actor.cpp -msgid "(To delete, input one '.')\n" -msgstr "(By skasować, wprowadź jedną '.')\n" +msgid "(To delete, clear the text and confirm)\n" +msgstr "" + +#. ~ %1$s: gerund (e.g. carved), %2$s: item name +#: src/iuse_actor.cpp +#, c-format +msgctxt "carving" +msgid "%1$s on the %2$s is: " +msgstr "%1$s na %2$s jest: " #: src/iuse_actor.cpp #, c-format @@ -217033,6 +222696,11 @@ msgstr "Przedmiocie" msgid "Inscribe which item?" msgstr "Graweruj który przedmiot?" +#: src/iuse_actor.cpp +#, c-format +msgid "You try to bend your %s, but fail." +msgstr "" + #: src/iuse_actor.cpp msgid "You cauterize yourself." msgstr "Kauteryzujesz siebie." @@ -217083,8 +222751,8 @@ msgid "Make love, not zlave." msgstr "Czyń miłość nie zniewolę." #: src/iuse_actor.cpp -msgid "Well, it's more constructive than just chopping 'em into gooey meat..." -msgstr "Cóż, to bardziej konstruktywne niż pocięcie ich w brejowate mięso..." +msgid "Well, it's more constructive than just chopping 'em into gooey meat…" +msgstr "" #: src/iuse_actor.cpp msgid "You feel horrible for mutilating and enslaving someone's corpse." @@ -217384,8 +223052,8 @@ msgstr "%s (naprawiony z użyciem %s)" #: src/iuse_actor.cpp #, c-format -msgid "You don't have enough %s to do that. Have: %d, need: %d" -msgstr "Nie masz wystarczająco %s żeby to zrobić. Masz: %d; potrzeba: %d" +msgid "You don't have enough %s to do that. Have: %d, need: %d" +msgstr "" #: src/iuse_actor.cpp msgid "That requires gunsmithing tools." @@ -217407,7 +223075,7 @@ msgstr "Twój %s już jest ulepszony do swojego maksymalnego potencjału." #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s! ( %s-> %s)" +msgid "You damage your %s! ( %s-> %s)" msgstr "" #: src/iuse_actor.cpp @@ -217598,8 +223266,8 @@ msgstr "Ruchó by użyć: " #: src/iuse_actor.cpp #, c-format -msgid "Yeah. Place the %s at your feet. Real damn smart move." -msgstr "Tak. Umieść %s pod nogami. Naprawdę mądry ruch." +msgid "Yeah. Place the %s at your feet. Real damn smart move." +msgstr "" #: src/iuse_actor.cpp #, c-format @@ -217618,8 +223286,8 @@ msgstr "%s potrzebuje %s w pobliżu siebie." #: src/iuse_actor.cpp #, c-format -msgid "You can't place a %s there. It contains a trap already." -msgstr "Nie możesz umieścić tam %s. Już tam jest pułapka." +msgid "You can't place a %s there. It contains a trap already." +msgstr "" #: src/iuse_actor.cpp #, c-format @@ -217707,6 +223375,10 @@ msgstr "Żadnego z modów nie da się usunąć." msgid "Has to be taken off first." msgstr "Trzeba najpierw zdemontować." +#: src/iuse_actor.cpp +msgid "You quiver with anticipation…" +msgstr "" + #: src/iuse_actor.cpp msgid "You suddenly feel dizzy, and collapse to the ground." msgstr "Czujesz nagłe zawroty głowy, i upadasz na ziemię." @@ -217775,9 +223447,30 @@ msgstr "" msgid "How do you want to modify it?" msgstr "Jak chcesz to zmodyfikować?" +#. ~ %1$s: modification desc, %2$d: number of thread needed +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (need %2$d thread loaded)" +msgstr "" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items needed +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (need %2$d %3$s)" +msgstr "" + +#. ~ %1$s: modification desc, %2$s: mod name +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (incompatible with %2$s)" +msgstr "" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items +#. needed, %4$s: number of thread needed #: src/iuse_actor.cpp -msgid "Not enough thread to modify. Which modification do you want to remove?" -msgstr "Nie wystarczy nici do modyfikacji. Jaką modyfikację chcesz usunąć?" +#, c-format +msgid "%1$s (%2$d %3$s and %4$d thread)" +msgstr "" #: src/iuse_actor.cpp msgid "Bash" @@ -217809,7 +223502,7 @@ msgstr "Jesteś pewny? Nie odzyskasz żadnych materiałów." #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s trying to modify it! ( %s-> %s)" +msgid "You damage your %s trying to modify it! ( %s-> %s)" msgstr "" #: src/iuse_actor.cpp @@ -217826,6 +223519,14 @@ msgstr "Modyfikujesz %s, ale marnujesz dużo nici." msgid "You modify your %s!" msgstr "Modyfikujesz %s!" +#: src/iuse_actor.h +msgid "Carve" +msgstr "" + +#: src/iuse_actor.h +msgid "Carved" +msgstr "" + #: src/iuse_software.cpp msgid "You found kitten!" msgstr "Znalazłeś koteczka!" @@ -217850,8 +223551,8 @@ msgid "It's an altar to the horse god." msgstr "To ołtarz boga koni." #: src/iuse_software_kitten.cpp -msgid "A box of dancing mechanical pencils. They dance! They sing!" -msgstr "Pudełko tańczących mechanicznych ołówków. One tańczą! One śpiewają!" +msgid "A box of dancing mechanical pencils. They dance! They sing!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's an old Duke Ellington record." @@ -217862,8 +223563,8 @@ msgid "A box of fumigation pellets." msgstr "To pudełko kadzidełek." #: src/iuse_software_kitten.cpp -msgid "A digital clock. It's stuck at 2:17 PM." -msgstr "To zegar cyfrowy. Zaciął się na godzinie 14:17." +msgid "A digital clock. It's stuck at 2:17 PM." +msgstr "" #: src/iuse_software_kitten.cpp msgid "That's just a charred human corpse." @@ -217874,16 +223575,16 @@ msgid "I don't know what that is, but it's not kitten." msgstr "Nie wiem co to jest ale to nie koteczek." #: src/iuse_software_kitten.cpp -msgid "An empty shopping bag. Paper or plastic?" -msgstr "Pusta torba na zakupy. Papier lub plastik?" +msgid "An empty shopping bag. Paper or plastic?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "Could it be... a big ugly bowling trophy?" -msgstr "Czyżby to był... wielki brzydki puchar z zawodów kręglarskich?" +msgid "Could it be… a big ugly bowling trophy?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "A coat hanger hovers in thin air. Odd." -msgstr "Wieszak na ubrania wisi w powietrzu. Dziwne." +msgid "A coat hanger hovers in thin air. Odd." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Not kitten, just a packet of Kool-Aid(tm)." @@ -217906,8 +223607,8 @@ msgid "It's Richard Nixon's nose!" msgstr "To nos Richarda Nixona." #: src/iuse_software_kitten.cpp -msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." -msgstr "To Lucy Ricardo. \"Aaaah, Ricky!\", mówi." +msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." +msgstr "" #: src/iuse_software_kitten.cpp msgid "You stumble upon Bill Gates' stand-up act." @@ -217918,8 +223619,8 @@ msgid "Just an autographed copy of the Kama Sutra." msgstr "To tylko kopia Kama Sutry z autografem." #: src/iuse_software_kitten.cpp -msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" -msgstr "To autostrada im. Willa Rogersa. Kim w ogóle był Will Rogers?" +msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" +msgstr "" #: src/iuse_software_kitten.cpp msgid "" @@ -217980,9 +223681,8 @@ msgid "It's a mighty zombie talking about some love and prosperity." msgstr "To potężny zombi rozprawiający o miłości i bogactwie." #: src/iuse_software_kitten.cpp -msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize...\"" +msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize…\"" msgstr "" -"\"Szanowny robocie, mogłeś już wygrać naszą nagrodę 10 MILIONÓW DOLARÓW...\"" #: src/iuse_software_kitten.cpp msgid "It's just an object." @@ -218025,8 +223725,9 @@ msgid "It's some compromising photos of Babar the Elephant." msgstr "Kompromitujące zdjęcia Słonia Babar." #: src/iuse_software_kitten.cpp -msgid "A copy of the Weekly World News. Watch out for the chambered nautilus!" -msgstr "Kopia Światowych Wieści. Uwaga na łodziki!" +msgid "" +"A copy of the Weekly World News. Watch out for the chambered nautilus!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's the proverbial wet blanket." @@ -218045,30 +223746,28 @@ msgid "Paul Moyer's necktie." msgstr "Krawat Paul Moyer'a." #: src/iuse_software_kitten.cpp -msgid "A haircut and a real job. Now you know where to get one!" -msgstr "Fryzura i prawdziwa praca. Teraz wiesz gdzie je zdobyć!" +msgid "A haircut and a real job. Now you know where to get one!" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "An automated robot-hater. It frowns disapprovingly at you." +msgid "An automated robot-hater. It frowns disapprovingly at you." msgstr "" -"Zautomatyzowany robotyczny hejter. Marszczy na ciebie brwi z " -"niezadowoleniem." #: src/iuse_software_kitten.cpp -msgid "An automated robot-liker. It smiles at you." -msgstr "Zautomatyzowany robotyczny fan. Uśmiecha się do ciebie." +msgid "An automated robot-liker. It smiles at you." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a black hole. Don't fall in!" -msgstr "To czarna dziura. Nie wpadnij do niej!" +msgid "It's a black hole. Don't fall in!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "Just a big brick wall." msgstr "To tylko duża ceglana ściana." #: src/iuse_software_kitten.cpp -msgid "You found kitten! No, just kidding." -msgstr "Znalazłeś koteczka! Nie, tylko żartowałem." +msgid "You found kitten! No, just kidding." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Heart of Darkness brand pistachio nuts." @@ -218122,16 +223821,16 @@ msgid "It's the constellation Pisces." msgstr "To konstelacja Ryb." #: src/iuse_software_kitten.cpp -msgid "It's a fly on the wall. Hi, fly!" -msgstr "To mucha na ścianie. Cześć, mucha!" +msgid "It's a fly on the wall. Hi, fly!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "This kind of looks like kitten, but it's not." msgstr "To nieco wygląda na koteczka ale nie jest." #: src/iuse_software_kitten.cpp -msgid "It's a banana! Oh, joy!" -msgstr "To banan! O radości!" +msgid "It's a banana! Oh, joy!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "A helicopter has crashed here." @@ -218158,12 +223857,12 @@ msgid "A geyser sprays water high into the air." msgstr "Gejzer tryska wodą wysoko w powietrze." #: src/iuse_software_kitten.cpp -msgid "A toenail? What good is a toenail?" -msgstr "Paznokieć? Po co komu paznokieć?" +msgid "A toenail? What good is a toenail?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "You've found the fish! Not that it does you much good in this game." -msgstr "Znalazłeś rybę. Nie żeby miała jakieś znaczenie w tej grze." +msgid "You've found the fish! Not that it does you much good in this game." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A Buttertonsils bar." @@ -218186,8 +223885,8 @@ msgid "It's nothing but a G-thang, baby." msgstr "Nic ponad G-stringi, kotku." #: src/iuse_software_kitten.cpp -msgid "IT'S ALIVE! AH HA HA HA HA!" -msgstr "TO ŻYJE! AH HA HA HA HA!" +msgid "IT'S ALIVE! AH HA HA HA HA!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "This was no boating accident!" @@ -218195,13 +223894,12 @@ msgstr "To nie był wypadek z łodzią!" #: src/iuse_software_kitten.cpp msgid "" -"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" +"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" msgstr "" -"Chwila! to nie jest szton pokerowy! Oszukano cię! NIECH CIĘ CHOLERA, MENDEZ!" #: src/iuse_software_kitten.cpp -msgid "A livery stable! Get your livery!" -msgstr "Stajnia z wątrobami! Weź swą wątróbkę!" +msgid "A livery stable! Get your livery!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's a perpetual immobility machine." @@ -218221,31 +223919,29 @@ msgstr "To największa na świecie kula macy!" #: src/iuse_software_kitten.cpp msgid "" -"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " +"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " "know." msgstr "" -"Plemię kanibali tu mieszka. Na śniadanie jedzą płatki kukurydziane jak " -"wiesz." #: src/iuse_software_kitten.cpp msgid "This appears to be a rather large stack of trashy romance novels." msgstr "To wygląda na dość sporą kopę śmieciowych romansideł." #: src/iuse_software_kitten.cpp -msgid "Look out! Exclamation points!" -msgstr "Uwaga! Wykrzykniki!" +msgid "Look out! Exclamation points!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "A herd of wild coffee mugs slumbers here." msgstr "Stado dzikich kubków do kawy śpi sobie tutaj." #: src/iuse_software_kitten.cpp -msgid "It's a limbo bar! How low can you go?" -msgstr "To bar limbo. Jak długo dasz radę?" +msgid "It's a limbo bar! How low can you go?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's the horizon. Now THAT'S weird." -msgstr "To horyzont. No TO jest dziwne." +msgid "It's the horizon. Now THAT'S weird." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A vase full of artificial flowers is stuck to the floor here." @@ -218261,25 +223957,26 @@ msgstr "" "Para drzwi jak z saloonu kiwa się wolno w przód i w tył w tym miejscu." #: src/iuse_software_kitten.cpp -msgid "It's an ordinary bust of Beethoven... but why is it painted green?" -msgstr "To popiersie Beethovena... ale czemu pomalowane na zieono? " +msgid "It's an ordinary bust of Beethoven… but why is it painted green?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." -msgstr "To mądry Kruk z ulubionego programu TV! \"Dziobnij mnie!\" kracze." +msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." +msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"Hey, look, it's war. What is it good for? Absolutely nothing. Say it again." -msgstr "Patrz, to wojna. Na co ona? Po nic. Mów mi jeszcze." +"Hey, look, it's war. What is it good for? Absolutely nothing. Say it " +"again." +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's the amazing self-referential thing that's not kitten." msgstr "To zdumiewająca samo-odnosząca się rzecz, nie będąca koteczkiem." #: src/iuse_software_kitten.cpp -msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" -msgstr "Ekstrawagancki upierzony boa. Teraz możesz się ubrać jak " +msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "\"Sure hope we get some rain soon,\" says Farmer Joe." @@ -218297,9 +223994,9 @@ msgstr "\"Gleby już nie ma, mamuśka\" płacze Mały Greg." #: src/iuse_software_kitten.cpp msgid "" -"This is a large brown bear. Oddly enough, it's currently peeing in the " +"This is a large brown bear. Oddly enough, it's currently peeing in the " "woods." -msgstr "To duży brązowy miś. Co dziwne, właśnie sika w lesie." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A team of arctic explorers is camped here." @@ -218327,28 +224024,26 @@ msgstr "To hologram rozbitego helikoptera." #: src/iuse_software_kitten.cpp msgid "" -"This is a television. On screen you see a robot strangely similar to " +"This is a television. On screen you see a robot strangely similar to " "yourself." msgstr "" -"To telewizor. Na ekranie widzisz robota dziwnie przypominającego ciebie." #: src/iuse_software_kitten.cpp msgid "This balogna has a first name, it's R-A-N-C-I-D." msgstr "Ta kaszanka ma pierwsze imię, jest nim Z-J-E-Ł-C-Z-A-Ł-A." #: src/iuse_software_kitten.cpp -msgid "A salmon hatchery? Look again. It's merely a single salmon." -msgstr "Wylęgarnia łososi? Spójrz ponownie, tu tylko pojedynczy łosoś." +msgid "A salmon hatchery? Look again. It's merely a single salmon." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a rim shot. Ba-da-boom!" -msgstr "To dźwięk towarzyszący kabaretom i wodewilom. Ba-da-boom!" +msgid "It's a rim shot. Ba-da-boom!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." +"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." msgstr "" -"Jest dziwny i przedziwny, i mistery i naiwny, jest też także nieco iwny." #: src/iuse_software_kitten.cpp msgid "This is an anagram." @@ -218359,28 +224054,26 @@ msgid "This object is like an analogy." msgstr "Ten obiekt jest jak analogia." #: src/iuse_software_kitten.cpp -msgid "It's a symbol. You see in it a model for all symbols everywhere." -msgstr "To symbol. Widzisz w nim model dla wszelkich symboli gdziekolwiek." +msgid "It's a symbol. You see in it a model for all symbols everywhere." +msgstr "" #: src/iuse_software_kitten.cpp msgid "The object pushes back at you." msgstr "Ten obiekt cię odpycha." #: src/iuse_software_kitten.cpp -msgid "A traffic signal. It appears to have been recently vandalized." -msgstr "Światła drogowe. Jakiś wandal się do nich ostatnio dobrał." +msgid "A traffic signal. It appears to have been recently vandalized." +msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"\"There is no kitten!\" cackles the old crone. You are shocked by her " +"\"There is no kitten!\" cackles the old crone. You are shocked by her " "blasphemy." msgstr "" -"\"Nie ma koteczka!\" skrzeczy stara wiedźma. Jesteś zszokowany jej " -"bluźnierstwem." #: src/iuse_software_kitten.cpp -msgid "This is a Lagrange point. Don't come too close now." -msgstr "To punkt Lagrange'a. Nie podchodź zbyt blisko." +msgid "This is a Lagrange point. Don't come too close now." +msgstr "" #: src/iuse_software_kitten.cpp msgid "The dirty old tramp bemoans the loss of his harmonica." @@ -218399,8 +224092,8 @@ msgid "It's the instruction manual for a previous version of this game." msgstr "To podręcznik do poprzedniej wersji tej gry." #: src/iuse_software_kitten.cpp -msgid "A brain cell. Oddly enough, it seems to be functioning." -msgstr "Komórka mózgowa. Co dziwne wygląda na funkcjonującą." +msgid "A brain cell. Oddly enough, it seems to be functioning." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Tea and/or crumpets." @@ -218415,17 +224108,16 @@ msgid "It's a Quaker Oatmeal tube, converted into a drum." msgstr "To pudło po owsiance Quaker Oatmeal zamienione w bębenek." #: src/iuse_software_kitten.cpp -msgid "This is a remote control. Being a robot, you keep a wide berth." +msgid "This is a remote control. Being a robot, you keep a wide berth." msgstr "" -"To zdalne sterowanie. Jako robot obchodzisz je z bezpiecznej odległości." #: src/iuse_software_kitten.cpp msgid "It's a roll of industrial-strength copper wire." msgstr "To zwój przemysłowego miedzianego drutu." #: src/iuse_software_kitten.cpp -msgid "Oh boy! Grub! Er, grubs." -msgstr "O rety! To pędrak! Er, pędraki." +msgid "Oh boy! Grub! Er, grubs." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A puddle of mud, where the mudskippers play." @@ -218452,20 +224144,20 @@ msgid "An autographed copy of \"Primary Colors\", by Anonymous." msgstr "Kopia \"Kolorów Podstawowych\" Anonima, z autografem." #: src/iuse_software_kitten.cpp -msgid "Another rabbit? That's three today!" -msgstr "Kolejny królik? To już dziś trzeci!" +msgid "Another rabbit? That's three today!" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a segmentation fault. Core dumped, by the way." -msgstr "To naruszenie ochrony pamięci. Stos zrzucony, jakby co." +msgid "It's a segmentation fault. Core dumped, by the way." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A historical marker showing the actual location of /dev/null." msgstr "Historyczny marker pokazujący obecną lokalizację /dev/null." #: src/iuse_software_kitten.cpp -msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" -msgstr "Toż to Mobius Dick, zawiły wieloryb. Arrr!" +msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's a charcoal briquette, smoking away." @@ -218484,8 +224176,8 @@ msgid "A stack of 7 inch floppies wobbles precariously." msgstr "Stos 7 calowych dyskietek giba się niepewnie." #: src/iuse_software_kitten.cpp -msgid "It's nothing but a corrupted floppy. Coaster anyone?" -msgstr "To tylko uszkodzona dyskietka. Komuś podkładkę pod kubek?" +msgid "It's nothing but a corrupted floppy. Coaster anyone?" +msgstr "" #: src/iuse_software_kitten.cpp msgid "A section of glowing phosphor cells sings a song of radiation to you." @@ -218529,8 +224221,8 @@ msgid "It's the missing chapter to \"A Clockwork Orange\"." msgstr "To brakujący rozdział \"Mechanicznej Pomarańczy\"." #: src/iuse_software_kitten.cpp -msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." -msgstr "To stojąca ulotka burito. \"Taqueria El Ranchito\"." +msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." +msgstr "" #: src/iuse_software_kitten.cpp msgid "This smiling family is happy because they eat LARD." @@ -218557,26 +224249,24 @@ msgid "A forgotten telephone switchboard operator." msgstr "Zapomniany operator rozdzielni telefonicznej." #: src/iuse_software_kitten.cpp -msgid "It's an automated robot-disdainer. It pretends you're not there." -msgstr "Zautomatyzowany robot pogardliwiec. Udaje że cię tu nie ma." +msgid "It's an automated robot-disdainer. It pretends you're not there." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." -msgstr "Przenośna dziura. Napis brzmi: \"Zamknięte w zimie\"." +msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Just a moldy loaf of bread." msgstr "To tylko spleśniały bochenek chleba." #: src/iuse_software_kitten.cpp -msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." +msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." msgstr "" -"Mała szklana tuba balsamu do ust za 89 centów. Szkoda że nie masz ust." #: src/iuse_software_kitten.cpp -msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" +msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" msgstr "" -"Nóż armii szwajcarskiej. Wszystkie odnóża wysunięte. Wykałaczkę zgubiono." #: src/iuse_software_kitten.cpp msgid "It's a zen simulation, trapped within an ASCII character." @@ -218596,16 +224286,16 @@ msgstr "" "Chętny dojrzały pomidor rozpacza nad twoją niezdolnością trawienia owoców." #: src/iuse_software_kitten.cpp -msgid "A robot comedian. You feel amused." -msgstr "Robotyczny komik. Jesteś zachwycony." +msgid "A robot comedian. You feel amused." +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's KITT, the talking car." msgstr "To KITT, gadający samochód." #: src/iuse_software_kitten.cpp -msgid "Here's Pete Peterson. His batteries seem to have long gone dead." -msgstr "Oto Pete Peterson. Jego baterie dawno się wyczerpały." +msgid "Here's Pete Peterson. His batteries seem to have long gone dead." +msgstr "" #: src/iuse_software_kitten.cpp msgid "\"Blup, blup, blup\", says the mud pot." @@ -218633,17 +224323,16 @@ msgid "Pumpkin pie spice." msgstr "Przyprawa do ciasta dyniowego." #: src/iuse_software_kitten.cpp -msgid "It's the Bass-Matic '76! Mmm, that's good bass!" -msgstr "To Bass-Matic '76! Mmm, to niezły bas!" +msgid "It's the Bass-Matic '76! Mmm, that's good bass!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "\"Lend us a fiver 'til Thursday\", pleas Andy Capp." msgstr "\"Pożycz nam piątaka do czwartku\", prosi Andy Capp." #: src/iuse_software_kitten.cpp -msgid "It's a tape of '70s rock. All original hits! All original artists!" +msgid "It's a tape of '70s rock. All original hits! All original artists!" msgstr "" -"To taśma z rockiem z lat '70. Same oryginalne hity. Sami oryginalni artyści!" #: src/iuse_software_kitten.cpp msgid "You've found the fabled America Online disk graveyard!" @@ -218659,13 +224348,13 @@ msgstr "To zdumiewający meta-obiekt." #: src/iuse_software_kitten.cpp msgid "" -"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " +"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " "SIR!\"" -msgstr "Ed McMahon stoi tu zamyślony. Gdy cię spostrzega wrzeszczy \"TAK SIR!\"" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "...thingy???" -msgstr "...rzecz???" +msgid "…thingy???" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's 1000 secrets the government doesn't want you to know!" @@ -218676,11 +224365,11 @@ msgid "The letters O and R." msgstr "Litery O i R." #: src/iuse_software_kitten.cpp -msgid "A magical... magic thing." -msgstr "Magiczna... rzecz z magii." +msgid "A magical… magic thing." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" +msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" msgstr "" #: src/iuse_software_kitten.cpp @@ -218713,15 +224402,11 @@ msgstr ")." #: src/iuse_software_kitten.cpp msgid "" -"Your job is to find kitten. This task is complicated by the existence of " -"various things which are not kitten. Robot must touch items to determine if " -"they are kitten or not. The game ends when robot finds kitten. " +"Your job is to find kitten. This task is complicated by the existence of " +"various things which are not kitten. Robot must touch items to determine if" +" they are kitten or not. The game ends when robot finds kitten. " "Alternatively, you may end the game by hitting 'q', 'Q' or the Escape key." msgstr "" -"Twoim zadaniem jest znaleźć koteczka. Zadanie komplikuje istnienie wielu " -"rzeczy nie będących koteczkiem. Robot musi dotknąć rzeczy by uznać czy jest " -"ona koteczkiem czy nie. Gra kończy się gdy robot znajduje koteczka. " -"Alternatywnie możesz skończyć grę naciskając 'q', 'Q' lub 'Esc'." #: src/iuse_software_kitten.cpp msgid "Press any key to start." @@ -218732,8 +224417,8 @@ msgid "Invalid command: Use direction keys or press 'q'." msgstr "Niewłaściwa komenda: Użyj klawiszy kierunkowych lub naciśnij 'q'." #: src/iuse_software_kitten.cpp -msgid "You found kitten! Way to go, robot!" -msgstr "Znalazłeś koteczka! Niezła robota robocie!" +msgid "You found kitten! Way to go, robot!" +msgstr "" #: src/iuse_software_lightson.cpp msgid " toggle lights" @@ -218805,8 +224490,8 @@ msgid "lag" msgstr "laga" #: src/iuse_software_minesweeper.cpp -msgid "Boom, you're dead! Better luck next time." -msgstr "Boom, nie żyjesz! Powodzenia następnym razem." +msgid "Boom, you're dead! Better luck next time." +msgstr "" #: src/iuse_software_snake.cpp src/iuse_software_sokoban.cpp #, c-format @@ -219108,6 +224793,10 @@ msgstr "" msgid "You cast %s!" msgstr "" +#: src/magic.cpp +msgid "an explosion" +msgstr "" + #: src/magic.cpp msgid "Too Difficult!" msgstr "" @@ -219140,10 +224829,6 @@ msgstr "" msgid "infinite" msgstr "nieskończone" -#: src/magic.cpp -msgid "an explosion" -msgstr "" - #: src/magic.cpp #, c-format msgid "%s and %s" @@ -219182,6 +224867,23 @@ msgstr "" msgid "All knowledge of %s leaves you." msgstr "" +#: src/magic.cpp +msgid "Choose a new hotkey for this spell." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey already used." +msgstr "" + +#: src/magic.cpp +#, c-format +msgid "%c set. Close and reopen spell menu to refresh list with changes." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey removed." +msgstr "" + #: src/magic.cpp msgid "Ignore Distractions" msgstr "" @@ -219190,6 +224892,10 @@ msgstr "" msgid "Popup Distractions" msgstr "" +#: src/magic.cpp +msgid "Assign Hotkey [=]" +msgstr "" + #: src/magic.cpp msgid "requires concentration" msgstr "" @@ -219254,6 +224960,10 @@ msgstr "" msgid "Casting Cost (impeded)" msgstr "" +#: src/magic.cpp +msgid "Not Enough Energy" +msgstr "" + #: src/magic.cpp msgid "Casting Time" msgstr "" @@ -219322,18 +225032,22 @@ msgstr "" msgid "Damage Type" msgstr "" +#. ~ translation should not exceed 10 console cells #: src/magic.cpp msgid "Stat Gain" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "lvl 0" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "per lvl" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "max lvl" msgstr "" @@ -219387,8 +225101,8 @@ msgid "Choose Translocator Gate" msgstr "" #: src/main.cpp -msgid "Really Quit? All unsaved changes will be lost." -msgstr "Naprawdę Wyjść? Niezapisane zmiany zostaną utracone." +msgid "Really Quit? All unsaved changes will be lost." +msgstr "" #: src/main_menu.cpp msgid "Bugs? Suggestions? Use links in MOTD to report them." @@ -219507,20 +225221,24 @@ msgid "olors" msgstr "[]Kolory" #: src/main_menu.cpp -msgid "Unable to make config directory. Check permissions." -msgstr "Nie można utworzyć katalogu ustawień. Sprawdź uprawnienia." +msgid "Unable to make config directory. Check permissions." +msgstr "" + +#: src/main_menu.cpp +msgid "Unable to make save directory. Check permissions." +msgstr "" #: src/main_menu.cpp -msgid "Unable to make save directory. Check permissions." -msgstr "Nie można utworzyć katalogu zapisów gry. Sprawdź uprawnienia." +msgid "Unable to make templates directory. Check permissions." +msgstr "" #: src/main_menu.cpp -msgid "Unable to make templates directory. Check permissions." -msgstr "Nie można utworzyć katalogu wzorców. Sprawdź uprawnienia." +msgid "Unable to make sound directory. Check permissions." +msgstr "" #: src/main_menu.cpp -msgid "Unable to make sound directory. Check permissions." -msgstr "Nie można utworzyć katalogu dźwięków. Sprawdź uprawnienia." +msgid "Unable to make graphics directory. Check permissions." +msgstr "" #: src/main_menu.cpp msgid "Really quit?" @@ -219547,8 +225265,8 @@ msgstr "[]Losowa Postać" #: src/main_menu.cpp msgctxt "Main Menu|New Game" -msgid "Play Now! (ixed Scenario)" -msgstr "Graj Teraz! ( Gotowy scenariusz)" +msgid "Play Now! (ixed Scenario)" +msgstr "" #: src/main_menu.cpp msgctxt "Main Menu|New Game" @@ -219596,6 +225314,12 @@ msgstr "Tylko admin może zmienić światy." msgid "Create World" msgstr "Stwórz Świat" +#. ~ %1$s: vehicle name +#: src/map.cpp +#, c-format +msgid "weight of %1$s" +msgstr "" + #: src/map.cpp #, c-format msgid "The %1$s's %2$s collides with %3$s's %4$s." @@ -219657,6 +225381,17 @@ msgstr "Spadający %s uderza cię!" msgid "Falling %s hits " msgstr "Spadający %s uderza " +#: src/map.cpp +#, c-format +msgid "The %s damages several items!" +msgstr "" + +#. ~ %1$s: the cause of damage, %2$s: damaged item name +#: src/map.cpp +#, c-format +msgid "The %1$s damages the %2$s!" +msgstr "" + #: src/map.cpp msgid "an alarm go off!" msgstr " włączający się alarm!" @@ -219673,18 +225408,34 @@ msgstr "Miażdży cię spadający gruz!" msgid " is crushed by the falling debris!" msgstr "Spadający gruz miażdży !" -#: src/map.cpp -msgid "The shot is stopped by the reinforced glass wall!" -msgstr "Wystrzał zatrzymuje wzmocniona szklana ściana!" - #: src/map.cpp msgid "The shot is stopped by the reinforced glass door!" msgstr "Wystrzał zatrzymują wzmocnione szklane drzwi!" +#: src/map.cpp +msgid "The shot is stopped by the reinforced glass wall!" +msgstr "Wystrzał zatrzymuje wzmocniona szklana ściana!" + #: src/map.cpp msgid "ke-rash!" msgstr "ke-rash!" +#: src/map.cpp +msgid "laser beam" +msgstr "" + +#: src/map.cpp +msgid "bolt of electricity" +msgstr "" + +#: src/map.cpp +msgid "bolt of plasma" +msgstr "" + +#: src/map.cpp +msgid "flying projectile" +msgstr "" + #: src/map.cpp msgid "The metal bars melt!" msgstr "Metalowe kraty topią się!" @@ -219746,8 +225497,8 @@ msgid "Something has crawled out of the %s!" msgstr "Coś wypełzło z %s!" #: src/map_extras.cpp -msgid "DANGER! MINEFIELD!" -msgstr "UWAGA! POLE MINOWE!" +msgid "DANGER! MINEFIELD!" +msgstr "" #: src/map_field.cpp #, c-format @@ -219797,8 +225548,8 @@ msgid "The sap sticks to !" msgstr "Żywica przykleja się do !" #: src/map_field.cpp -msgid "The sludge is thick and sticky. You struggle to pull free." -msgstr "Szlam jest gęsty i kleisty. Mocujesz się by się wyrwać." +msgid "The sludge is thick and sticky. You struggle to pull free." +msgstr "" #: src/map_field.cpp msgid "You burn your legs and feet!" @@ -220188,21 +225939,33 @@ msgstr "" #: src/martialarts.cpp #, c-format -msgid "The %s is not a valid %s weapon." +msgid "The %1$s is not a valid %2$s weapon." msgstr "" #: src/martialarts.cpp -#, c-format -msgid "Type: %s" -msgstr "Typ: %s" +msgid "Block Counter" +msgstr "" + +#: src/martialarts.cpp +msgid "Dodge Counter" +msgstr "" + +#: src/martialarts.cpp +msgid "Miss Recovery" +msgstr "" #: src/martialarts.cpp -msgid "defensive" -msgstr "defensywne" +msgid "Defensive" +msgstr "" + +#: src/martialarts.cpp +msgid "Offensive" +msgstr "" #: src/martialarts.cpp -msgid "offensive" -msgstr "ofensywne" +#, c-format +msgid "Type: %s" +msgstr "Typ: %s" #: src/martialarts.cpp msgid "Bonus: " @@ -220312,6 +226075,11 @@ msgstr "* Ogłuszy cel na %d %s" msgid "* Will disarm the target" msgstr "* Rozbroi cel" +#: src/martialarts.cpp +msgid "" +"* Will disarm the target and take their weapon" +msgstr "" + #: src/martialarts.cpp msgid "" "This style forces you to use unarmed strikes, even if wielding a " @@ -220467,8 +226235,8 @@ msgstr[3] "Nakierowany na ciebie, %s emituje %d rozdrażnione dźwięki." #. ~ There will be a 120mm HEAT shell sent at high speed to your location next #. turn. #: src/mattack_actors.cpp src/monattack.cpp -msgid "You're not sure why you've got a laser dot on you..." -msgstr "Nie wiesz czemu masz na sobie czerwoną kropkę lasera." +msgid "You're not sure why you've got a laser dot on you…" +msgstr "" #: src/mattack_actors.cpp src/monattack.cpp msgid "The " @@ -220566,6 +226334,20 @@ msgstr "Uderzasz w coś." msgid "You swing at the air." msgstr "Zadajesz cios w powietrze." +#: src/melee.cpp +msgid " disarms you and takes your weapon!" +msgstr "" + +#: src/melee.cpp +#, c-format +msgid "You disarm %s and take their weapon!" +msgstr "" + +#: src/melee.cpp +#, c-format +msgid " disarms %s and takes their weapon!" +msgstr "" + #: src/melee.cpp msgid " disarms you!" msgstr " rozbraja cię!" @@ -220589,12 +226371,6 @@ msgstr[1] "%d trafionych wrogów!" msgstr[2] "%d trafionych wrogów!" msgstr[3] "%d trafionych wrogów!" -#: src/melee.cpp -#, c-format -msgid "You have learned %s from extensive practice with the CQB Bionic." -msgstr "" -"Nauczyłeś się %s z intensywnej praktyki z Bioniką Walki Na Bliski Dystans" - #. ~ Adjective in "You block of the damage with your . #: src/melee.cpp msgid "all" @@ -220635,6 +226411,10 @@ msgstr "Blokujesz %1$s obrażeń swoim %2$s!" msgid " blocks %1$s of the damage with their %2$s!" msgstr " blokuje %1$s obrażeń swoim %2$s!" +#: src/melee.cpp src/player.cpp +msgid "You try to counterattack but you are too exhausted!" +msgstr "" + #: src/melee.cpp #, c-format msgid "You poison %s!" @@ -220916,8 +226696,8 @@ msgstr "%s. Krytyczne!" #. ~ someone hits something for %d damage (critical) #: src/melee.cpp #, c-format -msgid "%s for %d damage. Critical!" -msgstr "%s za %d obrażeń. Krytyczne!" +msgid "%s for %d damage. Critical!" +msgstr "" #. ~ NPC hits something #: src/melee.cpp @@ -222257,17 +228037,12 @@ msgstr "< Naciśnij %s by filtrować, %s by zresetować >" #: src/messages.cpp #, c-format msgid "" -"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" +"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" "Examples:\n" " good:mutation\n" " :you pick up: 1\n" " crash!\n" msgstr "" -"Format to [[TYP]:]TEKST. Wartości dla TYP to: %s\n" -"Przykłady:\n" -" dobry:mutacja\n" -" :ty podnosisz: 1\n" -" crash!\n" #. ~ the 2nd %s is a type name, this is used to format a list of type names #: src/messages.cpp @@ -222313,14 +228088,9 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Assigning one of your allies to patrol the surrounding wilderness and isolated buildings presents the opportunity to build survival skills while engaging in relatively safe combat against isolated creatures." msgstr "" -"Profit: $25-$500\n" -"Ryzyko: Małe\n" -"Czas: 10 godzinna misja\n" -"\n" -"Przypisując jednego z sojuszników do patrolu otaczającej dziczy i wyizolowanych budynków daje szansę na naukę umiejętności przetrwania, jednocześnie walcząc w relatywnie bezpiecznych warunkach z odosobnionymi stworzeniami." #: src/mission_companion.cpp msgid "Assign Scavenging Patrol" @@ -222331,18 +228101,13 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Patrol Roster:\n" msgstr "" -"Profit: $25-$500\n" -"Ryzyko: Małe\n" -"Czas: 10 godzinna misja\n" -"\n" -"Grafik Patrolu:\n" #: src/mission_companion.cpp -msgid " hours] \n" -msgstr "godzin]\n" +msgid " hours]\n" +msgstr "" #: src/mission_companion.cpp msgid "Retrieve Scavenging Patrol" @@ -222353,14 +228118,9 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Scavenging raids target formerly populated areas to loot as many valuable items as possible before being surrounded by the undead. Combat is to be expected and assistance from the rest of the party can't be guaranteed. The rewards are greater and there is a chance of the companion bringing back items." msgstr "" -"Profit: $200-$1000\n" -"Ryzyko: Średnie\n" -"Czas: 10 godzinna misja\n" -"\n" -"Wypady zbierackie, nacelowane na dawniej zamieszkałe tereny, w celu wyszabrowania jak największego pryzu przed otoczeniem przez hordę zombi. Spodziewana walka, z niegwarantowaną asystą reszty drużyny. Nagrody są większe i jest szansa, że towarzysz wróci z przedmiotami." #: src/mission_companion.cpp msgid "Assign Scavenging Raid" @@ -222371,14 +228131,9 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Raid Roster:\n" msgstr "" -"Profit: $200-$1000\n" -"Ryzyko: Średnie\n" -"Czas: 10 godzinna misja\n" -"\n" -"Grafik Wypadu:\n" #: src/mission_companion.cpp msgid "Retrieve Scavenging Raid" @@ -222393,9 +228148,9 @@ msgid "" "Profit: $8/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Assigning one of your allies to menial labor is a safe way to teach them basic skills and build reputation with the outpost. Don't expect much of a reward though.\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" @@ -222408,14 +228163,9 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Carpentry work requires more skill than menial labor while offering modestly improved pay. It is unlikely that your companions will face combat but there are hazards working on makeshift buildings." msgstr "" -"Profit: $12 / godzinę\n" -"Ryzyko: Minimalne\n" -"Czas: 1 godzina minimum\n" -"\n" -"Praca stolarska wymaga więcej umiejętności niż praca fizyczna, oferując za to przyzwoicie większe wynagrodzenie. Jest wątpliwe, że dojdzie do walk, ale istnieją pewne ryzyka na budowie prowizorycznych budynków." #: src/mission_companion.cpp msgid "Assign Ally to Carpentry Work" @@ -222426,14 +228176,9 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -"Profit: $12 / godzinę\n" -"Ryzyko: Minimalne\n" -"Czas: 1 godzina minimum\n" -"\n" -"Grafik Pracy:\n" #: src/mission_companion.cpp msgid "Recover Ally from Carpentry Work" @@ -222442,8 +228187,8 @@ msgstr "Wycofaj Sojusznika z Prac Stolarskich" #: src/mission_companion.cpp msgid "" "Cost: $1000\n" -" \n" -" \n" +"\n" +"\n" " .........\n" " .........\n" " .........\n" @@ -222453,23 +228198,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" -"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours... after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." -msgstr "" -"Koszt: $1000\n" -" \n" -" \n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" "\n" -"Chcemy zezwolić ci na kupno pola po okazyjnej cenie do wykorzystania na własne zamierzenia rolnicze. Zaoramy je dla ciebie żebyś dokładnie wiedział co twoje... a jak już je będziesz miał, to możesz nająć robotników żeby sadzili albo zbierali plon dla ciebie. A jak twoje zbiory znajdą u nas wzięcie to chętnie je upłynnimy." +"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours… after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." +msgstr "" #: src/mission_companion.cpp msgid "Purchase East Field" @@ -222478,7 +228209,7 @@ msgstr "Wykup Wschodni Teren" #: src/mission_companion.cpp msgid "" "Cost: $5500\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -222489,23 +228220,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "Protecting your field with a sturdy picket fence will keep most wildlife from nibbling your crops apart. You can expect yields to increase." msgstr "" -"Koszt: $5500\n" -" \n" -"\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"Ochrona twojego pola solidnym płotem ze sztachet utrzyma większość dzikiej zwierzyny na dystans, i nie będą wchodzić ci w szkodę. Spodziewaj się poprawy wydajności plonów." #: src/mission_companion.cpp msgid "Upgrade East Field I" @@ -222514,7 +228231,7 @@ msgstr "Ulepsz Wschodni Teren I" #: src/mission_companion.cpp msgid "" "Cost: $3.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -222525,23 +228242,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "We'll plant the field with your choice of crop if you are willing to finance it. When the crop is ready to harvest you can have us liquidate it or harvest it for you." msgstr "" -"Koszt: $3.00 / poletko\n" -" \n" -"\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"Obsiejemy twoje pole czym sobie zażyczysz, jeżeli chcesz to sfinansować. Jak siew będzie gotowy do żniw, możemy upłynnić go, lub zebrać go dla twoich potrzeb." #: src/mission_companion.cpp msgid "Plant East Field" @@ -222550,7 +228253,7 @@ msgstr "Uprawiaj Wschodnie Pole" #: src/mission_companion.cpp msgid "" "Cost: $2.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -222561,23 +228264,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "You can either have us liquidate the crop and give you the cash or pay us to harvest it for you." msgstr "" -"Cost: $2.00 / poletko\n" -" \n" -"\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" .........\n" -" ..#....**\n" -" ..#Ov..**\n" -" ...O|....\n" -" \n" -"Możesz polecić nam upłynnienie plonu za żywą gotówkę, lub przeprowadzenie zbioru i pozostawienie go tobie na własne potrzeby." #: src/mission_companion.cpp msgid "Harvest East Field" @@ -222588,14 +228277,9 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Foraging for food involves dispatching a companion to search the surrounding wilderness for wild edibles. Combat will be avoided but encounters with wild animals are to be expected. The low pay is supplemented with the odd item as a reward for particularly large hauls." msgstr "" -"Profit: $10 / godzinę\n" -"Ryzyko: Małe\n" -"Czas: 4 godziny minimum\n" -"\n" -"Zbieractwo w poszukiwaniu żywności wymaga oddelegowania towarzysza do poszukiwań dziko rosnącej żywności w otaczającej dziczy. Walki można uniknąć, ale należy spodziewać się natknięcia na dziką zwierzynę. Niska płaca jest uzupełniana znalezionym tu i ówdzie przedmiotem za wysoki urobek." #: src/mission_companion.cpp msgid "Assign Ally to Forage for Food" @@ -222606,14 +228290,9 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -"Profit: $10 / godzinę\n" -"Ryzyko: Niskie\n" -"Czas: 4 godziny minimum\n" -"\n" -"Grafik Pracy:\n" #: src/mission_companion.cpp msgid "Recover Ally from Foraging" @@ -222624,18 +228303,11 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" +"\n" "Adding companions to the caravan team increases the likelihood of success. By nature, caravans are extremely tempting targets for raiders or hostile groups so only a strong party is recommended. The rewards are significant for those participating but are even more important for the factions that profit.\n" -" \n" +"\n" "The commune is sending food to the Free Merchants in the Refugee Center as part of a tax and in exchange for skilled labor." msgstr "" -"Profit: $18 / godzinę\n" -"Ryzyko: Duże\n" -"Czas: NIEZNANY\n" -"\n" -"Oddelegowując towarzyszy do karawany zwiększają się jej szanse na sukces. Z natury rzeczy karawany to łakomy kąsek dla bandytów i wrogich grup, stąd rekomendowany jest silny zespół. Zarobki są znaczące dla uczestników, ale jeszcze znaczniejsze dla zaangażowanych frakcji.\n" -"\n" -"Gmina wysyła żywność do Wolnych Kupców w Centrum dla Uchodźców, częściowo jako daninę oraz w zamian za wykwalifikowaną siłę roboczą." #: src/mission_companion.cpp msgid "Caravan Commune-Refugee Center" @@ -222646,37 +228318,29 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" -" \n" +"\n" +"\n" "Roster:\n" msgstr "" -"Profit: $18 / godzinę\n" -"Ryzyko: Duże\n" -"Czas: NIEZNANY\n" -"\n" -"Grafik:\n" #: src/mission_companion.cpp -msgid " [READY] \n" -msgstr "[GOTOWE]\n" +msgid " [READY]\n" +msgstr "" #: src/mission_companion.cpp -msgid " [COMPLETE] \n" -msgstr "[WYKONANE]\n" +msgid " [COMPLETE]\n" +msgstr "" #: src/mission_companion.cpp -msgid " Hours] \n" -msgstr "Godzin]\n" +msgid " Hours]\n" +msgstr "" #: src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "The caravan will contain two or three additional members from the commune, are you ready to depart?" msgstr "" -"\n" -"\n" -"Karawana będzie liczyć dwóch lub trzech dodatkowych członków gminy, czy jesteś gotowy wyruszyć?" #: src/mission_companion.cpp msgid "Begin Commune-Refugee Center Run" @@ -222687,38 +228351,37 @@ msgid "Recover Commune-Refugee Center" msgstr "Odzyskaj Gminę Centrum Uchodźców" #: src/mission_companion.cpp -msgid "There are no missions at this colony. Press Spacebar..." -msgstr "W tej kolonii nie ma misji. Naciśnij Spację..." +msgid "There are no missions at this colony. Press Spacebar…" +msgstr "" #: src/mission_companion.cpp -msgid "joins the caravan team..." -msgstr "dołącza do karawany..." +msgid "joins the caravan team…" +msgstr "" #: src/mission_companion.cpp -msgid "departs on the scavenging patrol..." -msgstr "udaje się na patrol zbieracki..." +msgid "departs on the scavenging patrol…" +msgstr "" #: src/mission_companion.cpp -msgid "departs on the scavenging raid..." -msgstr "udaje się na wypad zbieracki..." +msgid "departs on the scavenging raid…" +msgstr "" #: src/mission_companion.cpp -msgid "departs to work as a laborer..." -msgstr "udaje się do pracy jako robotnik..." +msgid "departs to work as a laborer…" +msgstr "" #: src/mission_companion.cpp -msgid "departs to work as a carpenter..." -msgstr "udaje się do pracy jako stolarz..." +msgid "departs to work as a carpenter…" +msgstr "" #: src/mission_companion.cpp -msgid "departs to forage for food..." -msgstr "udaje się na zbieranie żywności..." +msgid "departs to forage for food…" +msgstr "" #: src/mission_companion.cpp #, c-format -msgid "The caravan departs with an estimated total travel time of %d hours..." +msgid "The caravan departs with an estimated total travel time of %d hours…" msgstr "" -"Karawana wyprawia się w drogę, z przewidywanym czasem podróży %d godzin..." #: src/mission_companion.cpp #, c-format @@ -222743,10 +228406,8 @@ msgid "The caravan party has returned. Your share of the profits are $%d!" msgstr "Karawana powróciła. Twój udział w zyskach to %d$ !" #: src/mission_companion.cpp -msgid "The caravan was a disaster and your companions never made it home..." +msgid "The caravan was a disaster and your companions never made it home…" msgstr "" -"Karawana okazała się katastrofą i twoi towarzysze nigdy nie wrócili do " -"domu..." #: src/mission_companion.cpp #, c-format @@ -222775,24 +228436,20 @@ msgstr "" #, c-format msgid "" "After counting your money %s directs a nearby laborer to begin constructing " -"a fence around your plot..." +"a fence around your plot…" msgstr "" -"Po przeliczeniu gotówki %s oddelegowuje pobliskiego robotnika do konstrukcji" -" płotu wokół twojej działki..." #: src/mission_companion.cpp msgid "You have no seeds to plant!" msgstr "Nie masz nasion do zasiewu!" #: src/mission_companion.cpp -msgid "You have no room to plant seeds..." -msgstr "Nie masz miejsca do zasiania nasion..." +msgid "You have no room to plant seeds…" +msgstr "" #: src/mission_companion.cpp -msgid "I'm sorry, you don't have enough money to plant those seeds..." +msgid "I'm sorry, you don't have enough money to plant those seeds…" msgstr "" -"Przykro mi, ale nie starczy ci pieniędzy na sfinansowanie siewu tych " -"nasion..." #: src/mission_companion.cpp #, c-format @@ -222809,21 +228466,21 @@ msgstr "" "do obsiania twojego pola." #: src/mission_companion.cpp -msgid "There aren't any plants that are ready to harvest..." -msgstr "Nie ma żadnych roślin gotowych na żniwa." +msgid "There aren't any plants that are ready to harvest…" +msgstr "" #: src/mission_companion.cpp msgid "Which plants do you want to have harvested?" msgstr "Które plony mają zostać zebrane?" #: src/mission_companion.cpp -msgid "You decided to hold off for now..." -msgstr "Postanowiłeś powstrzymać się na razie..." +msgid "You decided to hold off for now…" +msgstr "" #: src/mission_companion.cpp msgid "" "You don't have enough to pay the workers to harvest the crop so you are " -"forced to sell..." +"forced to sell…" msgstr "" #: src/mission_companion.cpp @@ -222833,32 +228490,28 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "The %s are sold for $%d..." +msgid "The %s are sold for $%d…" msgstr "" #: src/mission_companion.cpp #, c-format -msgid "You receive %d %s..." -msgstr "Otrzymujesz %d %s..." +msgid "You receive %d %s…" +msgstr "" #: src/mission_companion.cpp #, c-format msgid "" "While scavenging, %s's party suddenly found itself set upon by a large mob " -"of undead..." +"of undead…" msgstr "" -"Podczas szabrowania, grupa %s nagle znalazła się w obliczu dużego tłumu " -"nieumarłych..." #: src/mission_companion.cpp msgid "Through quick thinking the group was able to evade combat!" msgstr "Dzięki szybkiemu myśleniu grupa uniknęła walki!" #: src/mission_companion.cpp -msgid "Combat took place in close quarters, focusing on melee skills..." +msgid "Combat took place in close quarters, focusing on melee skills…" msgstr "" -"Nawiązano walkę w zamkniętej przestrzeni, skupiając się na umiejętnościach " -"wali wręcz..." #: src/mission_companion.cpp #, c-format @@ -222866,15 +228519,13 @@ msgid "Through brute force the party smashed through the group of %d undead!" msgstr "Brutalną siłą wyprawa przebiła się przez grupę %dnieumarłych!" #: src/mission_companion.cpp -msgid "Unfortunately they were overpowered by the undead... I'm sorry." -msgstr "Niestety ulegli sile nieumarłych... Przykro mi." +msgid "Unfortunately they were overpowered by the undead… I'm sorry." +msgstr "" #: src/mission_companion.cpp #, c-format -msgid "" -"%s returns from patrol having earned $%d and a fair bit of experience..." +msgid "%s returns from patrol having earned $%d and a fair bit of experience…" msgstr "" -"%s powraca z patrolu zarabiając %d$ i zdobywając garść doświadczenia..." #: src/mission_companion.cpp #, c-format @@ -222894,8 +228545,8 @@ msgstr "" #: src/mission_companion.cpp #, c-format msgid "" -"%s returns from the raid having earned $%d and a fair bit of experience..." -msgstr "%s powraca z wypadu zarabiając %d$ i z garścią nowych doświadczeń." +"%s returns from the raid having earned $%d and a fair bit of experience…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -222906,10 +228557,8 @@ msgstr "%s powraca przynosząc ci %s!" #, c-format msgid "" "%s returns from working as a laborer having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" -"%s powraca z pracy jako robotnik zarabiając %d$ i zdobywając szczyptę " -"doświadczenia..." #: src/mission_companion.cpp #, c-format @@ -222922,10 +228571,8 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "While %s was framing a building one of the walls began to collapse..." +msgid "While %s was framing a building one of the walls began to collapse…" msgstr "" -"Podczas gdy %s budował szkielet budynku jedna ze ścian zaczęła się " -"przewracać.." #: src/mission_companion.cpp #, c-format @@ -222939,8 +228586,8 @@ msgstr "Wyskakując przez okno, %s uciekł przed zawałem." #: src/mission_companion.cpp #, c-format -msgid "%s didn't make it out in time..." -msgstr "%s nie zdążył na czas..." +msgid "%s didn't make it out in time…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -222948,8 +228595,8 @@ msgid "but %s was rescued from the debris with only minor injuries!" msgstr "ale %s został wyciągnięty z gruzu jedynie z kilkoma otarciami!" #: src/mission_companion.cpp -msgid "Everyone who was trapped under the collapsing roof died..." -msgstr "Wszyscy uwięzieni pod upadającym dachem zginęli..." +msgid "Everyone who was trapped under the collapsing roof died…" +msgstr "" #: src/mission_companion.cpp msgid "I'm sorry, there is nothing we could do." @@ -222959,15 +228606,13 @@ msgstr "Przykro mi, nic nie można było zrobić." #, c-format msgid "" "%s returns from working as a carpenter having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" -"%s powraca z pracy jako stolarz zarabiając %d$ i zdobywając szczyptę " -"doświadczenia..." #: src/mission_companion.cpp #, c-format -msgid "While foraging, a beast began to stalk %s..." -msgstr "Podczas przeszukiwania dziczy, bestia zaczęła tropić %s ..." +msgid "While foraging, a beast began to stalk %s…" +msgstr "" #: src/mission_companion.cpp #, c-format @@ -222999,21 +228644,19 @@ msgstr "%s zrobił z pumy krwawą sieczkę!" #, c-format msgid "" "%s was able to hold off the first wolf but the others that were skulking in " -"the tree line caught up..." +"the tree line caught up…" msgstr "" #: src/mission_companion.cpp -msgid "I'm sorry, there wasn't anything we could do..." -msgstr "Przykro mi, nic nie można było zrobić." +msgid "I'm sorry, there wasn't anything we could do…" +msgstr "" #: src/mission_companion.cpp #, c-format msgid "" -"We... we don't know what exactly happened but we found %s's gear ripped and " -"bloody..." +"We… we don't know what exactly happened but we found %s's gear ripped and " +"bloody…" msgstr "" -"My... nie wiemy co dokładnie się stało, ale znaleźliśmy podarty i " -"zakrwawiony sprzęt %s..." #: src/mission_companion.cpp msgid "I fear your companion won't be returning." @@ -223023,10 +228666,8 @@ msgstr "Obawiam się że twój towarzysz już nie wróci." #, c-format msgid "" "%s returns from working as a forager having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" -"%s powraca z pracy jako zbieracz zarabiając %d$ i zdobywając szczyptę " -"doświadczenia..." #: src/mission_companion.cpp #, c-format @@ -223057,34 +228698,59 @@ msgid "Engagement between %d members of %s %s and %d members of %s %s%s!" msgstr "Starcie pomiędzy %d członkami %s %s i %d członkami %s %s %s!" #: src/mission_companion.cpp -msgid "You don't have any companions to send out..." -msgstr "Nie masz towarzyszy których mógłbyś wysłać..." +msgid "You don't have any companions to send out…" +msgstr "" #: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" +msgid "Who do you want to send?" +msgstr "Kogo chcesz wysłać?" + +#: src/mission_companion.cpp +msgid "[ COMBAT : SURVIVAL : INDUSTRY ]" +msgstr "" + +#. ~ %1$s: npc name +#: src/mission_companion.cpp +#, c-format +msgctxt "companion" +msgid "%1$s (Guarding)" msgstr "" -"Kogo chcesz wysłać? [ WALKA : PRZETRWANIE : PRZEMYSŁ ]" #: src/mission_companion.cpp -msgid "You choose to send no one..." -msgstr "Decydujesz nie wysyłać nikogo..." +#, c-format +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" +msgstr "" +#. ~ %1$s: skill name, %2$d: companion skill level #: src/mission_companion.cpp -msgid "The companion you selected doesn't have the skills!" -msgstr "Towarzysz, którego wybrałeś nie ma umiejętności!" +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d" +msgstr "" +#. ~ %1$s: skill name, %2$d: companion skill level, %3$d: skill requirement #: src/mission_companion.cpp -msgid "You don't have any companions ready to return..." -msgstr "Nie masz towarzyszy gotowych do powrotu..." +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d/%3$d" +msgstr "" + +#: src/mission_companion.cpp +msgid "You choose to send no one…" +msgstr "" + +#: src/mission_companion.cpp +msgid "You don't have any companions ready to return…" +msgstr "" #: src/mission_companion.cpp msgid "Who should return?" msgstr "Kto ma wrócić?" #: src/mission_companion.cpp -msgid "No one returns to your party..." -msgstr "Nikt nie wraca do twojej drużyny..." +msgid "No one returns to your party…" +msgstr "" #: src/mission_end.cpp #, c-format @@ -223115,20 +228781,17 @@ msgid "Download Software" msgstr "Pobierz Program Komputerowy" #: src/mission_start.cpp -msgid "You don't know where the address could be..." -msgstr "Nie wiesz gdzie mógłby być ten adres..." +msgid "You don't know where the address could be…" +msgstr "" #: src/mission_start.cpp -msgid "You mark the refugee center and the road that leads to it..." -msgstr "Zaznaczasz centrum dla uchodźców i drogę, która tam prowadzi..." +msgid "You mark the refugee center and the road that leads to it…" +msgstr "" #: src/mission_start.cpp msgid "" -"You mark the refugee center, but you have no idea how to get there by " -"road..." +"You mark the refugee center, but you have no idea how to get there by road…" msgstr "" -"Zaznaczasz centrum dla uchodźców ale nie masz pojęcia jak dostać się tam " -"drogą..." #: src/mission_start.cpp msgid "Workstation" @@ -223204,8 +228867,8 @@ msgstr "Nie zawiodłeś w żadnej misji!" #: src/mission_util.cpp #, c-format -msgid "%s also marks the road that leads to it..." -msgstr "%s zaznacza także prowadzącą tam drogę ..." +msgid "%s also marks the road that leads to it…" +msgstr "" #: src/mission_util.cpp #, c-format @@ -223599,14 +229262,6 @@ msgstr "thu-THUMP." msgid "The root walls creak around you." msgstr "Ściany z korzeniu trzeszczą wokół ciebie." -#. ~ the sound of a fungus releasing spores -#. ~ That spore sound again -#. ~ the sound of a fungus dying -#. ~spore-release sound -#: src/monattack.cpp src/mondeath.cpp src/player.cpp -msgid "Pouf!" -msgstr "Pouf!" - #: src/monattack.cpp #, c-format msgid "Spores are released from the %s!" @@ -223658,8 +229313,8 @@ msgstr "%spulsuje i świeży materiał grzybiczny wybucha naprzód!" #: src/monattack.cpp #, c-format -msgid "The %s seems to wave you toward the tower..." -msgstr "%s wygląda jakby zaganiał cię w kierunku wieży..." +msgid "The %s seems to wave you toward the tower…" +msgstr "" #: src/monattack.cpp #, c-format @@ -223673,8 +229328,8 @@ msgid "The %1$s sinks its point into your %2$s!" msgstr "%1$s wpisja swój szpikulec w twoją %2$s!" #: src/monattack.cpp -msgid "You feel thousands of live spores pumping into you..." -msgstr "Czujesz jak pompowane są w ciebie tysiące żywych zarodników..." +msgid "You feel thousands of live spores pumping into you…" +msgstr "" #. ~ 1$s is monster name, 2$s bodypart in accusative #: src/monattack.cpp @@ -223710,8 +229365,8 @@ msgstr "Zostajesz odepchnięty gdy wzrasta ściana grzybów!" #: src/monattack.cpp #, c-format -msgid "The %s spreads its tendrils. It seems as though it's expecting you..." -msgstr "%s rozwija wici. Wygląda jakby cię oczekiwało..." +msgid "The %s spreads its tendrils. It seems as though it's expecting you…" +msgstr "" #: src/monattack.cpp msgid "" @@ -223721,8 +229376,8 @@ msgstr "Wieża wyciąga i wymierza kilka wici ze swoich głębin. Stój w miejsc #: src/monattack.cpp #, c-format msgid "" -"The %s works several tendrils into your arms, legs, torso, and even neck..." -msgstr "%s wprowadza kilka wici w twoje ramiona, nogi, tors i nawet szyję..." +"The %s works several tendrils into your arms, legs, torso, and even neck…" +msgstr "" #: src/monattack.cpp msgid "" @@ -223745,11 +229400,9 @@ msgstr "Pokazano ci Bramę Marloss." #. ~ Beginning to hear the Mycus while conscious: this is it speaking #: src/monattack.cpp msgid "" -"assistance, on an arduous quest. unity. together we have reached the door. " -"now to pass through..." +"assistance, on an arduous quest. unity. together we have reached the door." +" now to pass through…" msgstr "" -"wspomożenie, w żmudnym zadaniu. jedność. razem osiągnęliśmy drzwi. teraz " -"tylko przezeń przejść..." #: src/monattack.cpp msgid "You're shoved away as a fungal hedgerow grows!" @@ -223771,8 +229424,8 @@ msgid "The %s takes aim, and spears at you with a massive tendril!" msgstr "%s mierzy i przebija cię masywną wicią!" #: src/monattack.cpp -msgid "You feel millions of live spores pumping into you..." -msgstr "Czujesz jak pompowane są w ciebie miliony żywych zarodników..." +msgid "You feel millions of live spores pumping into you…" +msgstr "" #: src/monattack.cpp #, c-format @@ -223929,7 +229582,7 @@ msgstr "%s chce się też pochwycić, ale oganiasz się kijem!" #: src/monattack.cpp #, c-format -msgid "The %s tries to grab you..." +msgid "The %s tries to grab you…" msgstr "" #: src/monattack.cpp @@ -223983,6 +229636,10 @@ msgstr "Czujesz że trucizna weszła do twojego ciała!" msgid "The %s young triffid grows into an adult!" msgstr "%s młody tryffid wyrasta na dorosłego osobnika!" +#: src/monattack.cpp +msgid "You feel a strange reverberation accross your body." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s stares at you, and you shudder." @@ -224074,14 +229731,12 @@ msgid "" msgstr "%s uznaje cię za reagującego oficera, ale pozostaje by obserwować." #: src/monattack.cpp -msgid "Probably some now-obsolete Internal Affairs subroutine..." +msgid "Probably some now-obsolete Internal Affairs subroutine…" msgstr "" -"Prawdopodobnie jakiś obecnie nie mający znaczenia podprogram Wydziału " -"Wewnętrznego..." #: src/monattack.cpp -msgid "Ops used to do that in case you needed backup..." -msgstr "Operacyjni tak robili w razie gdybyś potrzebował wsparcia..." +msgid "Ops used to do that in case you needed backup…" +msgstr "" #: src/monattack.cpp #, c-format @@ -224114,8 +229769,8 @@ msgid "The %s takes your picture!" msgstr "%s robi ci zdjęcie!" #: src/monattack.cpp -msgid "... database connection lost!" -msgstr "... łączność z bazą danych utracona!" +msgid "…database connection lost!" +msgstr "" #: src/monattack.cpp #, c-format @@ -224174,8 +229829,8 @@ msgstr "Oko diaboła zyrka na mnie!" #. ~ Potential grenading detected. #: src/monattack.cpp -msgid "Those laser dots don't seem very friendly..." -msgstr "Te laserowe kropki nie wyglądają przyjaźnie..." +msgid "Those laser dots don't seem very friendly…" +msgstr "" #: src/monattack.cpp msgid "Targeting." @@ -224222,24 +229877,24 @@ msgid "a police siren, whoop WHOOP" msgstr "syrenę policyjną, whoop WHOOP" #: src/monattack.cpp -msgid "\"YOU... ARE FILTH...\"" -msgstr "\"TY....JESTEŚ BRUDEM...\"" +msgid "\"YOU… ARE FILTH…\"" +msgstr "" #: src/monattack.cpp -msgid "\"VERMIN... YOU ARE VERMIN...\"" -msgstr "\"SZKODNIK... JESTEŚ SZKODNIKIEM...\"" +msgid "\"VERMIN… YOU ARE VERMIN…\"" +msgstr "" #: src/monattack.cpp -msgid "\"LEAVE NOW...\"" -msgstr "\"ODEJDŹ... TERAZ...\"" +msgid "\"LEAVE NOW…\"" +msgstr "" #: src/monattack.cpp -msgid "\"WE... WILL FEAST... UPON YOU...\"" -msgstr "\"MY... POŻYWIMY SIĘ... NA TWOIM CIELE...\"" +msgid "\"WE… WILL FEAST… UPON YOU…\"" +msgstr "" #: src/monattack.cpp -msgid "\"FOUL INTERLOPER...\"" -msgstr "\"ODRAŻAJĄCY INTRUZ...\"" +msgid "\"FOUL INTERLOPER…\"" +msgstr "" #. ~ %1$s is the name of the zombie upgrading the other, %2$s is the zombie #. being upgraded. @@ -224432,13 +230087,13 @@ msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s slashes at your neck! You duck!" -msgstr "%s tnie w kierunku twojej szyi! Schylasz się!" +msgid "The %s slashes at your neck! You duck!" +msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s slashes at 's neck! They duck!" -msgstr " tnie w kierunku szyi %s! Schyla się!" +msgid "The %s slashes at 's neck! They duck!" +msgstr "" #: src/monattack.cpp #, c-format @@ -224541,8 +230196,8 @@ msgid "but you grab its arm and flip it to the ground!" msgstr "ale łapiesz jego ramię i rzucasz go na ziemię!" #: src/monattack.cpp -msgid "The flip does shock you..." -msgstr "Salto cię poraża..." +msgid "The flip does shock you…" +msgstr "" #: src/monattack.cpp msgid "but you deftly spin out of its grasp!" @@ -224550,9 +230205,8 @@ msgstr "ale zwinnie wywijasz z uścisku!" #: src/monattack.cpp msgid "" -"Halt and submit to arrest, citizen! The police will be here any moment." +"Halt and submit to arrest, citizen! The police will be here any moment." msgstr "" -"Stój i poddaj się aresztowaniu, obywatelu! Policja będzie tu lada chwilę!" #: src/monattack.cpp msgid "Please stay in place, citizen, do not make any movements!" @@ -224697,8 +230351,8 @@ msgstr "%1$s rzuca %2$s na glebę!" #. ~ 1$s is bodypart name in accusative, 2$d is damage value. #: src/monattack.cpp #, c-format -msgid "The zombie kicks your %1$s for %2$d damage..." -msgstr "Zombie kopie twoją %1$s zadając %2$d obrażeń..." +msgid "The zombie kicks your %1$s for %2$d damage…" +msgstr "" #: src/monattack.cpp #, c-format @@ -224801,6 +230455,11 @@ msgstr "Ramię %1$s trafia twoją %2$s, ale odbija sie od zbroi!" msgid "The %1$s hits 's %2$s, but glances off armor!" msgstr "%1$s trafia %2$s , ale odbija się od zbroi!" +#: src/monattack.cpp +#, c-format +msgid "The %1$s fuses with the %2$s." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s doots its trumpet!" @@ -224911,8 +230570,8 @@ msgid "The %s melts away." msgstr "%s rozpuszcza się." #: src/mondeath.cpp -msgid "Your obsession with the fault fades away..." -msgstr "Twoja obsesja na temat uskoku zanika..." +msgid "Your obsession with the fault fades away…" +msgstr "" #: src/mondeath.cpp msgid "As the final light is destroyed, it erupts in a blinding flare!" @@ -225000,11 +230659,6 @@ msgstr "Po trafieniu %s wytryskuje zeń kwas!" msgid "zombie slave" msgstr "niewolnik zombie" -#: src/monexamine.cpp src/player.cpp -#, c-format -msgid "What to do with your %s?" -msgstr "Co robisz z twoim %s?" - #: src/monexamine.cpp #, c-format msgid "Push %s" @@ -225185,22 +230839,23 @@ msgstr "" #: src/monexamine.cpp #, c-format msgid "" -"Welcome to the %s Friendship Interface. What would you like to do?\n" +"Welcome to the %s Friendship Interface. What would you like to do?\n" "Your current friendship will last: %s" msgstr "" #: src/monexamine.cpp -msgid "Get more friendship. 10 cents/min" +msgid "Get more friendship. 10 cents/min" msgstr "" #: src/monexamine.cpp -msgid "Sadly you're not currently able to extend your friendship. - Quit menu" +msgid "" +"Sadly you're not currently able to extend your friendship. - Quit menu" msgstr "" #: src/monexamine.cpp #, c-format -msgid "How much friendship do you get? Max: %d minute. (0 to cancel) " -msgid_plural "How much friendship do you get? Max: %d minutes. " +msgid "How much friendship do you get? Max: %d minute. (0 to cancel)" +msgid_plural "How much friendship do you get? Max: %d minutes." msgstr[0] "" msgstr[1] "" msgstr[2] "" @@ -225258,8 +230913,8 @@ msgstr "Nie ma pojemnika na twoim %s do składowania w nim rzeczy!" #: src/monexamine.cpp #, c-format -msgid "%1$s is overburdened. You can't transfer your %2$s." -msgstr "%1$s jest przeciążony. Nie możesz przemieścić twojego %2$s." +msgid "%1$s is overburdened. You can't transfer your %2$s." +msgstr "" #: src/monexamine.cpp #, c-format @@ -225489,6 +231144,16 @@ msgstr "gęsta masa żelowa" msgid "wearing %1$s" msgstr "" +#: src/monster.cpp +#, c-format +msgid "The %s" +msgstr "%s" + +#: src/monster.cpp +#, c-format +msgid "The %s's" +msgstr "" + #: src/monster.cpp #, c-format msgid "the %s's" @@ -225531,6 +231196,11 @@ msgstr "" msgid "Rider: %s" msgstr "" +#: src/monster.cpp +#, c-format +msgid " It is %s." +msgstr "" + #: src/monster.cpp msgid "Difficulty " msgstr "Trudność " @@ -225761,8 +231431,8 @@ msgid "You're envenomed!" msgstr "Jesteś porażony jadem!" #: src/monster.cpp -msgid "You feel venom flood your body, wracking you with pain..." -msgstr "Czujesz jad zalewający twoje ciało, powodujący niszczycielski ból..." +msgid "You feel venom flood your body, wracking you with pain…" +msgstr "" #: src/monster.cpp msgid "You feel venom enter your body!" @@ -225899,6 +231569,14 @@ msgstr "Zarodniki przekształcają %1$s w %2$s!" msgid "Total morale:" msgstr "Łączne morale:" +#: src/morale.cpp +msgid "Pain level:" +msgstr "" + +#: src/morale.cpp +msgid "Fatigue level:" +msgstr "" + #: src/morale.cpp msgid "Focus trends towards:" msgstr "Skupienie dąży do:" @@ -225977,8 +231655,8 @@ msgstr "" #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp -msgid "wow! you look just like me! we should look out for each other!" -msgstr "wow! wyglądasz tak jak ja! powinniśmy zadbać o siebie nawzajem!" +msgid "wow! you look just like me! we should look out for each other!" +msgstr "" #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp @@ -226014,8 +231692,8 @@ msgid "Bionic power storage increased by 100." msgstr "Magazyn mocy bionicznej zwiększono o 100." #: src/mutation.cpp -msgid "You feel something straining deep inside you, yearning to be free..." -msgstr "Czujesz jak coś napina się wewnątrz ciebie, pragnąc wolności..." +msgid "You feel something straining deep inside you, yearning to be free…" +msgstr "" #: src/mutation.cpp #, c-format @@ -226148,8 +231826,8 @@ msgid "Suffered a toxic marloss/mutagen reaction." msgstr "Odniosłaś skutki toksycznej reakcji na marloss/mutagen." #: src/mutation.cpp -msgid "Something strains mightily for a moment... and then... you're... FREE!" -msgstr "Coś wysila się potężnie przez moment... i wtedy... jesteś... WOLNY!" +msgid "Something strains mightily for a moment… and then… you're… FREE!" +msgstr "" #: src/mutation.cpp msgid "Your appetite for blood fades." @@ -226166,9 +231844,8 @@ msgid "You stagger with a piercing headache!" msgstr "Słaniasz się na nogach z przeszywającego bólu głowy!" #: src/mutation.cpp -msgid "Your head throbs with memories of your life, before all this..." +msgid "Your head throbs with memories of your life, before all this…" msgstr "" -"Twoja głowa pęka od wspomnień twojego życia, sprzed tego wszystkiego..." #: src/mutation.cpp msgid "Images of your past life flash before you." @@ -226185,8 +231862,8 @@ msgid "Crossed a threshold" msgstr "Przekroczyłaś próg" #: src/mutation_data.cpp -msgid "Oh, yeah! That's the stuff!" -msgstr "Ooo, tak! To jest TO!" +msgid "Oh, yeah! That's the stuff!" +msgstr "" #: src/mutation_ui.cpp msgid "Reassigning." @@ -226273,13 +231950,10 @@ msgstr "%s: wprowadź nową literę." #: src/mutation_ui.cpp #, c-format msgid "" -"Invalid mutation letter. Only those characters are valid:\n" +"Invalid mutation letter. Only those characters are valid:\n" "\n" "%s" msgstr "" -"Niewłaściwa litera mutacji. Tylko te znaki są poprawne:\n" -"\n" -"%s" #: src/mutation_ui.cpp #, c-format @@ -226303,7 +231977,7 @@ msgstr "" msgid "Tom" msgstr "Tom" -#. ~ Used for constructing full name: %1$s is `family name`, %2$s is `given +#. ~ Used for constructing full name: %1$s is `given name`, %2$s is `family #. name` #: src/name.cpp #, c-format @@ -226311,8 +231985,8 @@ msgctxt "Full Name" msgid "%1$s %2$s" msgstr "%1$s %2$s" -#. ~ Used for constructing full name with nickname: %1$s is `family name`, -#. %2$s is `given name`, %3$s is `nickname` +#. ~ Used for constructing full name with nickname: %1$s is `given name`, %2$s +#. is `family name`, %3$s is `nickname` #: src/name.cpp #, c-format msgctxt "Full Name" @@ -226339,8 +232013,8 @@ msgstr "Styl wolny" #: src/newcharacter.cpp src/player.cpp #, c-format -msgid "Select a style. (press %s for more info)" -msgstr "Wybierz styl (naciśnij %s dla dodatkowych informacji)" +msgid "Select a style. (press %s for more info)" +msgstr "" #: src/newcharacter.cpp msgid "Use this style?" @@ -226375,14 +232049,14 @@ msgstr "SCENARIUSZ" msgid "PROFESSION" msgstr "ZAWÓD" -#: src/newcharacter.cpp src/player_display.cpp -msgid "TRAITS" -msgstr "CECHY" - #: src/newcharacter.cpp src/player_display.cpp msgid "STATS" msgstr "STATYSTYKI" +#: src/newcharacter.cpp src/player_display.cpp +msgid "TRAITS" +msgstr "CECHY" + #: src/newcharacter.cpp src/player_display.cpp msgid "SKILLS" msgstr "UMIEJĘTNOŚCI" @@ -226799,10 +232473,8 @@ msgstr[3] "Scenariusz %1$s kosztuje %2$d punktów" #: src/newcharacter.cpp msgid "" -"This scenario is not available in this world due to city size settings. " +"This scenario is not available in this world due to city size settings." msgstr "" -"Ten scenariusz nie jest dostępny w tym świecie z uwagi na wybrane ustawienia" -" rozmiaru miast." #: src/newcharacter.cpp msgid "Professions:" @@ -226897,10 +232569,6 @@ msgstr "Statystyki:" msgid "Traits: " msgstr "Cechy:" -#: src/newcharacter.cpp -msgid "(Top 8)" -msgstr "(Górna 8)" - #: src/newcharacter.cpp #, c-format msgid "Press %s to finish character creation or %s to go back." @@ -226974,8 +232642,8 @@ msgid "_______NO NAME ENTERED!_______" msgstr "_____NIE WPISANO IMIENIA!_____" #: src/newcharacter.cpp -msgid "Are you SURE you're finished? Your name will be randomly generated." -msgstr "Jesteś PEWIEN że skończyłeś? Twoje imię zostanie wybrane losowo." +msgid "Are you SURE you're finished? Your name will be randomly generated." +msgstr "" #: src/newcharacter.cpp src/worldfactory.cpp msgid "Are you SURE you're finished?" @@ -227151,10 +232819,6 @@ msgstr "Przestraszony" msgid "Very afraid" msgstr "Bardzo przestraszony" -#: src/npc.cpp -msgid "Terrified" -msgstr "Przerażony" - #: src/npc.cpp msgid "Fear: " msgstr "Strach:" @@ -227278,11 +232942,7 @@ msgid "NPC Legacy Attitude" msgstr "" #: src/npc.cpp -msgid "Not much" -msgstr "" - -#: src/npc.cpp -msgid "Cooking" +msgid "Cooking and butchering" msgstr "" #: src/npc.cpp @@ -227318,7 +232978,7 @@ msgid "Caring for the livestock" msgstr "" #: src/npc.cpp -msgid "Hunting for meat" +msgid "Hunting and fishing" msgstr "" #: src/npc.cpp @@ -227424,8 +233084,8 @@ msgid "Hold still %s, I'm coming to help you." msgstr "" #: src/npcmove.cpp -msgid "Don't move a muscle..." -msgstr "Nie rusz nawet palcem..." +msgid "Don't move a muscle…" +msgstr "" #: src/npcmove.cpp #, c-format @@ -227526,7 +233186,7 @@ msgstr "%1$s bierze twoje %2$s." #: src/npcmove.cpp #, c-format msgid "" -"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" +"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" msgstr "" #: src/npcmove.cpp @@ -227536,8 +233196,8 @@ msgstr "%s %s" #: src/npcmove.cpp #, c-format -msgid "My %s wound is infected..." -msgstr "Moja rana %s jest zainfekowana..." +msgid "My %s wound is infected…" +msgstr "" #: src/npcmove.cpp #, c-format @@ -227549,8 +233209,8 @@ msgid "" msgstr "" #: src/npcmove.cpp -msgid "I'm suffering from radiation sickness..." -msgstr "Cierpię na chorobę popromienną..." +msgid "I'm suffering from radiation sickness…" +msgstr "" #: src/npcmove.cpp msgid "" @@ -227669,8 +233329,8 @@ msgid "Talk to %s" msgstr "Rozmawiaj z %s" #: src/npctalk.cpp -msgid "Talk to ..." -msgstr "Rozmawiaj z ..." +msgid "Talk to…" +msgstr "" #: src/npctalk.cpp msgid "Yell" @@ -227694,8 +233354,8 @@ msgid "Tell %s to follow" msgstr "Powiedz %sby podążał" #: src/npctalk.cpp -msgid "Tell someone to follow..." -msgstr "Powiedz komuś by podążał..." +msgid "Tell someone to follow…" +msgstr "" #: src/npctalk.cpp #, c-format @@ -227703,8 +233363,8 @@ msgid "Tell %s to guard" msgstr "Powiedz %s by stróżował" #: src/npctalk.cpp -msgid "Tell someone to guard..." -msgstr "Powiedz komuś by stróżował..." +msgid "Tell someone to guard…" +msgstr "" #: src/npctalk.cpp msgid "Tell everyone on your team to wake up" @@ -227731,8 +233391,8 @@ msgstr "" "Nadpisania)" #: src/npctalk.cpp -msgid "Tell everyone on your team to temporarily..." -msgstr "Powiedz wszystkim w swojej drużynie, by tymczasowo..." +msgid "Tell everyone on your team to temporarily…" +msgstr "" #: src/npctalk.cpp msgid "Talk to whom?" @@ -227832,10 +233492,8 @@ msgstr "&Jesteś głuchy i nie możesz rozmawiać." #: src/npctalk.cpp #, c-format msgid "" -"&You are deaf and can't talk. When you don't respond, %s becomes angry!" +"&You are deaf and can't talk. When you don't respond, %s becomes angry!" msgstr "" -"&Jesteś głuchy i nie możesz rozmawiać. Gdy nie odpowiadasz, %s ogarnia " -"złość!" #: src/npctalk.cpp #, c-format @@ -227867,8 +233525,8 @@ msgid "Sorry, but it doesn't seem I have anything to teach you." msgstr "Przepraszam, ale chyba nie mam czego cię uczyć." #: src/npctalk.cpp -msgid "Here's what I can teach you..." -msgstr "Mogę cię nauczyć następujących rzeczy..." +msgid "Here's what I can teach you…" +msgstr "" #: src/npctalk.cpp #, c-format @@ -227885,16 +233543,23 @@ msgstr[2] "%d stóp." msgstr[3] "%d stóp." #: src/npctalk.cpp -msgid "I'm holing up here for safety." -msgstr "Zadekowałem się tu dla bezpieczeństwa." +#, c-format +msgid "I'm holing up here for safety. Long term, %s" +msgstr "" #: src/npctalk.cpp msgid "I run the shop here." msgstr "Prowadzę tu sklep." #: src/npctalk.cpp -msgid "I'm guarding this location." -msgstr "Chronię to miejsce." +#, c-format +msgid "Currently, I'm guarding this location. Overall, %s" +msgstr "" + +#: src/npctalk.cpp +#, c-format +msgid "Right now, I'm . In general, %s" +msgstr "" #: src/npctalk.cpp msgid "&You yell, but can't hear yourself." @@ -227988,6 +233653,16 @@ msgstr "Mam wieści." msgid "Yes, let's resume training " msgstr "Tak, wznówmy trening" +#: src/npctalk.cpp +#, c-format +msgid "%s: 1 hour lesson (cost %s)" +msgstr "" + +#: src/npctalk.cpp +#, c-format +msgid "%s: teaching spell knowledge (cost %s)" +msgstr "" + #. ~Martial art style (cost in dollars) #: src/npctalk.cpp #, c-format @@ -228003,7 +233678,7 @@ msgstr "" #: src/npctalk.cpp #, c-format -msgid "%s: %d (%d%%) -> %d" +msgid "%s: %d (%d%%) -> %d (%d%%)" msgstr "" #: src/npctalk.cpp @@ -228037,8 +233712,8 @@ msgstr "." #: src/npctalk.cpp msgctxt "punctuation" -msgid "..." -msgstr "..." +msgid "…" +msgstr "" #: src/npctalk.cpp msgctxt "punctuation" @@ -228084,8 +233759,8 @@ msgid "%s: %s" msgstr "%s: %s" #: src/npctalk.cpp -msgid "You'll be helpless! Proceed?" -msgstr "Będziesz bezbronny! Kontunuować?" +msgid "You'll be helpless! Proceed?" +msgstr "" #: src/npctalk.cpp #, c-format @@ -228144,22 +233819,18 @@ msgid "You learn how to craft %s." msgstr "" #: src/npctalk.cpp -msgid "I don't trust you enough to eat THIS..." -msgstr "Nie ufam ci na tyle, żeby zjeść TO..." +msgid "I don't trust you enough to eat THIS…" +msgstr "" #: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this..." -msgstr "To nie wygląda na najlepszy pomysł, żeby to zjeść..." +msgid "It doesn't look like a good idea to consume this…" +msgstr "" #: src/npctalk.cpp #, c-format msgid "I need a %s to consume that!" msgstr "Potrzebuję %s żeby to zjeść!" -#: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this.." -msgstr "To nie wygląda na najlepszy pomysł, żeby to zjeść..." - #: src/npctalk.cpp msgid "Offer what?" msgstr "Co oferujesz?" @@ -228181,8 +233852,8 @@ msgid "Are you insane!?" msgstr "Czyś ty oszalał?" #: src/npctalk.cpp -msgid "Here we go..." -msgstr "No to jazda..." +msgid "Here we go…" +msgstr "" #: src/npctalk.cpp msgid "My current weapon is better than this." @@ -228207,8 +233878,8 @@ msgid "I can only store %s %s more." msgstr "Mogę jeszcze zmieścić tylko %s %s." #: src/npctalk.cpp -msgid "...or to store anything else for that matter." -msgstr "... lub pomieścić cokoliek innego, jeśli o tym mowa." +msgid "…or to store anything else for that matter." +msgstr "" #: src/npctalk.cpp msgid "It is too heavy for me to carry." @@ -228237,39 +233908,15 @@ msgstr "" msgid "My current location" msgstr "Moja obecna lokalizacja" -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name #: src/npctalk_funcs.cpp #, c-format -msgid "%1$s is assigned to %2$s" -msgstr "%1$s jest przypisany do %2$s" - -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name -#: src/npctalk_funcs.cpp -#, c-format -msgid "%1$s is assigned to guard %2$s" -msgstr "%1$s jest przypisany do ochrony %2$s" - -#. ~ %1$s is the NPC's translated name, %2$s is the pronoun for the NPC's -#. gender -#: src/npctalk_funcs.cpp -#, c-format -msgid "%1$s will wait for you where %2$s is." -msgstr "%1$s będzie na ciebie czekać tam gdzie jest %2$s." - -#: src/npctalk_funcs.cpp -msgid "he" -msgstr "on" - -#: src/npctalk_funcs.cpp -msgid "she" -msgstr "ona" +msgid "That is not a valid destination for %s." +msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s is posted as a guard." -msgstr "%s stoi na straży." +msgid "%1$s is assigned to %2$s" +msgstr "%1$s jest przypisany do %2$s" #: src/npctalk_funcs.cpp #, c-format @@ -228287,20 +233934,16 @@ msgid "You start a fight with %s!" msgstr "Rzopoczynasz walkę z %s!" #: src/npctalk_funcs.cpp -msgid "You don't have any bionics installed..." -msgstr "Nie masz żadnych zainstalowanych bionik..." +msgid "You don't have any bionics installed…" +msgstr "" #: src/npctalk_funcs.cpp msgid "Which bionic do you wish to uninstall?" msgstr "Którą bionikę chcesz odinstalować? " #: src/npctalk_funcs.cpp -msgid "You decide to hold off..." -msgstr "Postanawiasz się wstrzymać.." - -#: src/npctalk_funcs.cpp -msgid "You can't afford the procedure..." -msgstr "Nie możesz sobie pozwolić na przeprowadzenie procedury..." +msgid "You decide to hold off…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format @@ -228321,8 +233964,8 @@ msgid "Choose a new facial hair style" msgstr "Wybierz nowy zarost" #: src/npctalk_funcs.cpp -msgid "Actually... I've changed my mind." -msgstr "W zasadzie... zmieniłem zdanie." +msgid "Actually… I've changed my mind." +msgstr "" #: src/npctalk_funcs.cpp msgid "You get a trendy new cut!" @@ -228330,18 +233973,18 @@ msgstr "Sprawiasz sobie nowy stylowy fryz!" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent haircut..." -msgstr "%s zapewnia ci niezłe strzyżenie..." +msgid "%s gives you a decent haircut…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent shave..." -msgstr "%s przyzwoicie cię goli." +msgid "%s gives you a decent shave…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "That was a pleasant conversation with %s..." -msgstr "To była miła pogawędka z %s..." +msgid "That was a pleasant conversation with %s…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format @@ -228350,8 +233993,8 @@ msgstr "To była miła pogawędka z %s." #: src/npctalk_funcs.cpp #, c-format -msgid "%s drops the logs off in the garage..." -msgstr "%s podrzuca kłody do garażu..." +msgid "%s drops the logs off in the garage…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format @@ -228368,6 +234011,11 @@ msgstr "%s zaczyna uciekać!" msgid "%s leaves." msgstr "%s odchodzi." +#: src/npctalk_funcs.cpp +#, c-format +msgid "%s stops following." +msgstr "" + #: src/npctalk_funcs.cpp #, c-format msgid "%s feels less threatened by you." @@ -228449,13 +234097,13 @@ msgstr "%s nie uniesie tego wszystkiego." #: src/npctrade.cpp #, c-format msgid "" -"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" +"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" "\n" "Continue with trade?" msgstr "" #: src/npctrade.cpp -msgid "Looks like a deal! Accept this trade?" +msgid "Looks like a deal! Accept this trade?" msgstr "" #: src/npctrade.h @@ -228769,11 +234417,9 @@ msgstr "Liczba tur do ponownego automatycznego włączenia trybu bezpiecznego" #: src/options.cpp msgid "" -"Number of turns after which safe mode is reactivated. Will only reactivate " +"Number of turns after which safe mode is reactivated. Will only reactivate " "if no hostiles are in 'Safe mode proximity distance.'" msgstr "" -"Liczba tur, po których tryb bezpieczny jest włączany ponownie. Zadziała " -"jeśli nie ma wrogich kreatur w 'Zasięgu trybu bezpiecznego'." #: src/options.cpp msgid "Turns to remember ignored monsters" @@ -228882,12 +234528,9 @@ msgstr "Upuszczaj puste zbiorniki" #: src/options.cpp msgid "" -"Set to drop empty containers after use. No: Don't drop any. - Watertight: " -"All except watertight containers. - All: Drop all containers." +"Set to drop empty containers after use. No: Don't drop any. - Watertight: " +"All except watertight containers. - All: Drop all containers." msgstr "" -"Ustawienia dotyczące upuszczania pustych zbiorników po użyciu. Nie: Nie " -"upuszczaj żadnych. - Wodoszczelne: Wszystkie oprócz pojemników " -"wodoszczelnych. - Wszystkie: Upuszczaj wszystkie pojemniki." #: src/options.cpp msgid "Watertight" @@ -229059,12 +234702,12 @@ msgstr "" "Jeśli prawdziwe, automatycznie śledzi celownik podczas strzelania/rzucania." #: src/options.cpp -msgid "Query on disassembly" -msgstr "Pytaj się przy demontażu" +msgid "Query on disassembly while butchering" +msgstr "" #: src/options.cpp -msgid "If true, will query before disassembling items." -msgstr "Jeśli prawdziwe, gra zapyta się przed demontażem przedmiotów." +msgid "If true, will query before disassembling items while butchering." +msgstr "" #: src/options.cpp msgid "Query on keybinding removal" @@ -229352,9 +234995,9 @@ msgstr "Autonumerowanie wyposażenia" #: src/options.cpp msgid "" -"Enabled: automatically assign letters to any carried items that lack them. " -"Disabled: do not auto-assign letters. Favorites: only auto-assign letters to" -" favorited items." +"Enabled: automatically assign letters to any carried items that lack them. " +"Disabled: do not auto-assign letters. Favorites: only auto-assign letters " +"to favorited items." msgstr "" #: src/options.cpp @@ -229735,7 +235378,7 @@ msgstr "" msgid "Display" msgstr "Wyświetlanie" -#: src/options.cpp +#: src/options.cpp src/sdltiles.cpp msgid "" "Sets which video display will be used to show the game. Requires restart." msgstr "Wybiera sposób, w jaki gra będzie wyświetlana. Wymaga restartu gry." @@ -229830,8 +235473,8 @@ msgid "Scaling factor" msgstr "Mnożnik skalowania" #: src/options.cpp -msgid "Factor by which to scale the display. Requires restart." -msgstr "Czynnik, przez który skalowane jest wyświetlanie. Wymaga restartu." +msgid "Factor by which to scale the display. Requires restart." +msgstr "" #: src/options.cpp msgid "1x" @@ -230137,13 +235780,10 @@ msgstr "Początkowy dzień" #: src/options.cpp msgid "" -"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can " -"be overridden by scenarios. This does not advance food rot or monster " +"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can" +" be overridden by scenarios. This does not advance food rot or monster " "evolution." msgstr "" -"W którym dniu roku wystąpił kataklizm. Dzień 0 to pierwszy dzień wiosny. " -"Może być nadpisane przez scenariusze. Nie przyspiesza gnicia żywności ani " -"ewolucji potworów." #: src/options.cpp msgid "Spawn delay" @@ -230151,13 +235791,10 @@ msgstr "Opóźnienie odradzania się" #: src/options.cpp msgid "" -"How many days after the cataclysm the player spawns. Day 0 is the day of the" -" cataclysm. Can be overridden by scenarios. Increasing this will cause food " -"rot and monster evolution to advance." +"How many days after the cataclysm the player spawns. Day 0 is the day of " +"the cataclysm. Can be overridden by scenarios. Increasing this will cause " +"food rot and monster evolution to advance." msgstr "" -"Jak wiele dni po kataklizmie zjawia się gracz. Dzień 0 to dzień kataklizmu. " -"Może być nadpisany przez scenariusze. Zwiększenie powoduje psucie żywności i" -" postęp ewolucji potworów." #: src/options.cpp msgid "Season length" @@ -230227,11 +235864,9 @@ msgstr "Statyczni NPC-e" #: src/options.cpp msgid "" -"If true, static NPCs will spawn at pre-defined locations. Requires world " +"If true, static NPCs will spawn at pre-defined locations. Requires world " "reset." msgstr "" -"Zaznaczone: gra wygeneruje statycznych NPC-ów na z góry określonych " -"lokacjach. Wymaga restartu świata." #: src/options.cpp msgid "Starting NPCs spawn" @@ -230785,6 +236420,10 @@ msgstr[1] "%s #%s -- Okno będzie wysokie na %d piksele przy tej wartości." msgstr[2] "%s #%s -- Okno będzie wysokie na %d pikseli przy tej wartości." msgstr[3] "%s #%s -- Okno będzie wysokie na %d pikseli przy tej wartości." +#: src/options.cpp +msgid "Note: " +msgstr "Notka:" + #: src/options.cpp msgid "Some of these options may produce unexpected results if changed." msgstr "" @@ -230809,8 +236448,8 @@ msgid "options" msgstr "opcje" #: src/output.cpp -msgid "Press any key for more..." -msgstr "Naciśnij dowolny klawisz dla kolejnych..." +msgid "Press any key for more…" +msgstr "" #: src/output.cpp #, c-format @@ -230980,7 +236619,7 @@ msgstr "[%s] %s" #: src/overmap_ui.cpp #, c-format msgid "" -"LEVEL %i, %d'%d, %d'%d : %s (Distance: " +"LEVEL %i, %d'%d, %d'%d: %s (Distance: " "%d)" msgstr "" @@ -231320,11 +236959,6 @@ msgstr "Bardzo zimno!" msgid "Freezing!" msgstr "Mróz!" -#: src/panels.cpp -msgctxt "energy unit: kilojoule" -msgid "kJ" -msgstr "kJ" - #: src/panels.cpp msgid "Bad" msgstr "" @@ -231504,6 +237138,7 @@ msgstr "Ciepł:" msgid "Underground" msgstr "Pod ziemią" +#. ~ translation should not exceed 5 console cells #: src/panels.cpp msgid "Wind" msgstr "" @@ -231565,10 +237200,6 @@ msgstr "Głuchy!" msgid "Weapon :" msgstr "Broń :" -#: src/panels.cpp -msgid "No Style" -msgstr "Brak Stylu" - #: src/panels.cpp msgid "Day " msgstr "Dzień" @@ -231581,10 +237212,12 @@ msgstr "Temp.: " msgid "to open sidebar options" msgstr "by otworzyć opcje panelu bocznego" +#. ~ translation should not exceed 4 console cells #: src/panels.cpp msgid "Mana" msgstr "" +#. ~ translation should not exceed 9 console cells #: src/panels.cpp msgid "Max Mana" msgstr "" @@ -231841,77 +237474,6 @@ msgstr "By uniknąć rozlania zawartości, ustawia %1$s na %2$s." msgid "You have learned a new style: %s!" msgstr "Nauczyłeś się nowego stylu: %s!" -#: src/player.cpp -#, c-format -msgid "Your %s will be frostnipped in the next few hours." -msgstr "Twoje %s będą lekko odmrożone w ciągu kilku godzin." - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten within the hour!" -msgstr "Twoje %s będą odmrożone w ciągu godziny!" - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten any minute now!" -msgstr "Twoje %s będą odmrożone w każdej chwili!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s beginning to go numb from the cold!" -msgstr "Czujesz jak sztywność ogrania %s z powodu zimna!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very cold." -msgstr "Czujesz jak wyziębienie ogarnia %s." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting chilly." -msgstr "Czujesz jak chłód ogarnia %s." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting red hot from the heat!" -msgstr "Żar rozgrzewa %s do czerwoności!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very hot." -msgstr "Czujesz że %s ogarnia żar." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting warm." -msgstr "Czujesz że ciepło ogarniające %s." - -#: src/player.cpp -#, c-format -msgid "The wind is making your %s feel quite cold." -msgstr "Wiatr wychładza ci %s." - -#: src/player.cpp -#, c-format -msgid "" -"The wind is very strong, you should find some more wind-resistant clothing " -"for your %s." -msgstr "" -"Wiatr jest bardzo silny, powinieneś znaleźć coś co ochroni przed nim %s." - -#: src/player.cpp -#, c-format -msgid "" -"Your clothing is not providing enough protection from the wind for your %s!" -msgstr "" -"Twój ubiór nie zapewnia dostatecznej ochrony przed wiatrem dla twojej %s!" - #: src/player.cpp msgid "You roll on the ground, trying to smother the fire!" msgstr "Tarzasz się na ziemi, chcąc zdusić ogień!" @@ -231928,50 +237490,6 @@ msgstr "Próbujesz ugasić ogień na sobie!" msgid " attempts to put out the fire on them!" msgstr " próbuje ugasić ogień na sobie!" -#: src/player.cpp -msgid "You set your mech's leg power to a loping fast walk." -msgstr "" - -#: src/player.cpp -msgid "You nudge your steed into a steady trot." -msgstr "" - -#: src/player.cpp -msgid "You start walking." -msgstr "Zaczynasz chodzić." - -#: src/player.cpp -msgid "You set the power of your mech's leg servos to maximum." -msgstr "" - -#: src/player.cpp -msgid "You spur your steed into a gallop." -msgstr "" - -#: src/player.cpp -msgid "You start running." -msgstr "Zaczynasz biec." - -#: src/player.cpp -msgid "Your steed is too tired to go faster." -msgstr "" - -#: src/player.cpp -msgid "You're too tired to run." -msgstr "Jesteś zbyt zmęczony by biec." - -#: src/player.cpp -msgid "You reduce the power of your mech's leg servos to minimum." -msgstr "" - -#: src/player.cpp -msgid "You slow your steed to a walk." -msgstr "" - -#: src/player.cpp -msgid "You start crouching." -msgstr "Zaczynasz iść przykucnięty." - #: src/player.cpp #, c-format msgid "Your ground sonar detected a %1$s to the %2$s!" @@ -232047,15 +237565,6 @@ msgstr "" msgid "You lose your balance while being hit!" msgstr "" -#: src/player.cpp -#, c-format -msgid "You were attacked by %s!" -msgstr "Zaatakował cię %s!" - -#: src/player.cpp -msgid "You were hurt!" -msgstr "Zadano ci ból!" - #: src/player.cpp msgid "A snake sprouts from your body!" msgstr "Wąż wychodzi z twojego ciała!" @@ -232147,8 +237656,8 @@ msgid "You are slammed against %s!" msgstr "Roztrzaskujesz się o %s!" #: src/player.cpp -msgid "...but your shock absorbers negate the damage!" -msgstr "...ale twoje amortyzatory negują obrażenia!" +msgid "…but your shock absorbers negate the damage!" +msgstr "" #: src/player.cpp #, c-format @@ -232205,8 +237714,8 @@ msgid "You have starved to death." msgstr "Umierasz z powodu głodu." #: src/player.cpp -msgid "Food..." -msgstr "Jeść..." +msgid "Food…" +msgstr "" #: src/player.cpp msgid "Due to insufficient nutrition, your body is suffering from starvation." @@ -232215,12 +237724,12 @@ msgstr "" #: src/player.cpp msgid "" "Despite having something in your stomach, you still feel like you haven't " -"eaten in days..." +"eaten in days…" msgstr "" #: src/player.cpp -msgid "Your stomach feels so empty..." -msgstr "Twój żołądek upomina się o swoje..." +msgid "Your stomach feels so empty…" +msgstr "" #: src/player.cpp msgid "You are EMACIATED!" @@ -232239,24 +237748,24 @@ msgid "You have died of dehydration." msgstr "Umierasz z odwodnienia." #: src/player.cpp -msgid "Even your eyes feel dry..." -msgstr "Nawet twoje oczy wyschły..." +msgid "Even your eyes feel dry…" +msgstr "" #: src/player.cpp msgid "You are THIRSTY!" msgstr "Męczy cię straszliwe PRAGNIENIE." #: src/player.cpp -msgid "Your mouth feels so dry..." -msgstr "Twoje usta są takie suche..." +msgid "Your mouth feels so dry…" +msgstr "" #: src/player.cpp msgid "Survivor sleep now." msgstr "Wieczne odpoczywanie." #: src/player.cpp -msgid "Anywhere would be a good place to sleep..." -msgstr "Dowolne miejsce do spania się nada..." +msgid "Anywhere would be a good place to sleep…" +msgstr "" #: src/player.cpp msgid "You feel like you haven't slept in days." @@ -232275,9 +237784,8 @@ msgid "*yawn* You should really get some sleep." msgstr "*ziew* Przydało by się trochę pospać." #: src/player.cpp -msgid "Your mind feels tired. It's been a while since you've slept well." +msgid "Your mind feels tired. It's been a while since you've slept well." msgstr "" -"Twój umysł jest zmęczony. Trochę czasu minęło od ostatniego dobrego snu. " #: src/player.cpp msgid "" @@ -232289,21 +237797,16 @@ msgstr "" #: src/player.cpp msgid "" -"Your mind feels weary, and you dread every wakeful minute that passes. You " +"Your mind feels weary, and you dread every wakeful minute that passes. You " "crave sleep, and feel like you're about to collapse." msgstr "" -"Twój umysł jest otępiały ze zmęczenia, i przeraża cię każda minutę spędzona " -"na jawie. Pragniesz snu, i czujesz jakbyś się miał zaraz przewrócić." #: src/player.cpp msgid "" "You haven't slept decently for so long that your whole body is screaming for" -" mercy. It's a miracle that you're still awake, but it just feels like a " +" mercy. It's a miracle that you're still awake, but it just feels like a " "curse now." msgstr "" -"Nie spałeś porządnie od tak długiego czasu, że całe twoje ciało błaga o " -"litość. To cud że jeszcze trzymasz się na nogach, ale wydaje ci się to " -"przekleństwem." #: src/player.cpp msgid "" @@ -232345,14 +237848,6 @@ msgstr "Zdezynfekowane rany na twojej %s zagoiły się." msgid "There is not enough %s left to siphon it." msgstr "Nie ma już wystarczająco dużo %s do spuszczenia ze zbiornika." -#: src/player.cpp -msgid "You cough heavily." -msgstr "Intensywnie kaszlesz." - -#: src/player.cpp -msgid "a hacking cough." -msgstr "suchy kaszel." - #: src/player.cpp msgid "Your body is wracked with excruciating pain!" msgstr "Twoje ciało przeszywa straszliwy ból!" @@ -232398,11 +237893,6 @@ msgstr "Czujesz ból %s." msgid "Your %s aches." msgstr "Czujesz lekki ból %s." -#: src/player.cpp -#, c-format -msgid "Your current health value is %d." -msgstr "Twoja obecna wartość zdrowia to %d." - #: src/player.cpp #, c-format msgid "Your %s HURTS!" @@ -232518,13 +238008,15 @@ msgstr "%1$s mówi: \"%2$s\"" msgid "You increase %1$s to level %2$d." msgstr "Ulepszasz %1$s do poziomu %2$d." +#. ~ %1$s: weapon name #: src/player.cpp -msgid "Your " -msgstr "Twój " +#, c-format +msgid "Your %1$s" +msgstr "" #: src/player.cpp -msgid "You suddenly feel so numb..." -msgstr "Nagle czujesz dziwne odrętwienie..." +msgid "You suddenly feel so numb…" +msgstr "" #: src/player.cpp msgid "You start to shake uncontrollably." @@ -232535,6 +238027,12 @@ msgstr "Zaczynasz się trząść spazmatycznie." msgid "yourself shout, %s" msgstr "" +#. ~ %1$s: weapon name +#: src/player.cpp +#, c-format +msgid "your %1$s" +msgstr "" + #: src/player.cpp msgid "You're suddenly overcome with the urge to sleep and you pass out." msgstr "Nagle ogarnia cię pragnienie snu i tracisz przytomność." @@ -232648,8 +238146,8 @@ msgid "Suddenly, your eyes stop working!" msgstr "Znienacka twoje oczy przestają działać!" #: src/player.cpp -msgid "Your visual centers must be acting up..." -msgstr "Twoje ośrodki widzenia mają jakiś problem..." +msgid "Your visual centers must be acting up…" +msgstr "" #: src/player.cpp msgid "You feel an anomalous sensation coming from your radiation sensors." @@ -232729,8 +238227,8 @@ msgid "You shake uncontrollably." msgstr "Trzęsiesz się spazmatycznie." #: src/player.cpp -msgid "You feel nauseous..." -msgstr "Czujesz mdłości." +msgid "You feel nauseous…" +msgstr "" #: src/player.cpp msgid "You black out!" @@ -232745,8 +238243,8 @@ msgid "You stumble and fall over!" msgstr "Potykasz się i upadasz!" #: src/player.cpp -msgid "You feel tired..." -msgstr "Czujesz się zmęczony..." +msgid "You feel tired…" +msgstr "" #: src/player.cpp msgid "You tiredly rub your eyes." @@ -232900,10 +238398,6 @@ msgstr "Upuszczasz pusty %s." msgid "%c - %d empty %s" msgstr "%c - %d pusty %s" -#: src/player.cpp -msgid "You sink your roots into the soil." -msgstr "Zapuszczasz korzenie w ziemię." - #: src/player.cpp src/veh_interact.cpp #, c-format msgid "Refill %s" @@ -233061,6 +238555,10 @@ msgstr "poroże" msgid "Can't wield spilt liquids." msgstr "Nie możesz trzymać rozlanych płynów." +#: src/player.cpp +msgid "You need at least one arm to even consider wielding something." +msgstr "" + #: src/player.cpp msgid "Something you are wearing hinders the use of both hands." msgstr "Coś co nosisz utrudnia używanie obu rąk." @@ -233155,20 +238653,43 @@ msgstr "Ten %s nie ma uszkodzeń do naprawienia." msgid "Mend which fault?" msgstr "Napraw który defekt?" -#: src/player.cpp src/veh_interact.cpp -msgid "Time required:\n" -msgstr "Czas potrzebny:\n" +#: src/player.cpp +#, c-format +msgid "Turns into: %s\n" +msgstr "" #: src/player.cpp -msgid "Skills:\n" -msgstr "Umiejętności:\n" +#, c-format +msgid "Time required: %s\n" +msgstr "" -#. ~ %1$s represents the internal color name which shouldn't be translated, -#. %2$s is skill name, and %3$i is skill level +#: src/player.cpp +msgid "Skills: none\n" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "Skills: %s\n" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level #: src/player.cpp #, c-format -msgid "> %2$s %3$i\n" -msgstr "> %2$s %3$i\n" +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level +#: src/player.cpp +#, c-format +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "You are currently unable to mend the %s this way." +msgstr "" #: src/player.cpp msgid "You are already wearing that." @@ -233194,13 +238715,13 @@ msgstr " zakłada %s." #: src/player.cpp #, c-format -msgid "Your %s are very encumbered! %s" -msgstr "Twoje %s są mocno skrępowane! %s" +msgid "Your %s are very encumbered! %s" +msgstr "" #: src/player.cpp #, c-format -msgid "Your %s is very encumbered! %s" -msgstr "Twoja %s jest mocno skrępowana! %s" +msgid "Your %s is very encumbered! %s" +msgstr "" #: src/player.cpp msgid "You're deafened!" @@ -233208,14 +238729,13 @@ msgstr "Jesteś ogłuszony!" #: src/player.cpp #, c-format -msgid "This %s is too big to wear comfortably! Maybe it could be refitted..." -msgstr "To %s jest zbyt duże by wygodnie je nosić! Może można to dopasować..." +msgid "This %s is too big to wear comfortably! Maybe it could be refitted…" +msgstr "" #: src/player.cpp #, c-format -msgid "" -"This %s is too small to wear comfortably! Maybe it could be refitted..." -msgstr "To %s jest zbyt małe by wygodnie je nosić! Może można to dopasować..." +msgid "This %s is too small to wear comfortably! Maybe it could be refitted…" +msgstr "" #: src/player.cpp #, c-format @@ -233339,24 +238859,6 @@ msgstr "Odzyskujesz %i niezużytego plutonu." msgid "You can't remove partially depleted plutonium!" msgstr "Nie możesz usunąć częściowo zużytego plutonu!" -#: src/player.cpp -#, c-format -msgid "Your %s needs %d charge from some UPS." -msgid_plural "Your %s needs %d charges from some UPS." -msgstr[0] "Twój %s potrzebuje %d ładunek elektryczny z jakiegoś UPS-a." -msgstr[1] "Twój %s potrzebuje %d ładunków elektrycznych z jakiegoś UPS-a." -msgstr[2] "Twój %s potrzebuje %d ładunków elektrycznych z jakiegoś UPS-a." -msgstr[3] "Twój %s potrzebuje %d ładunków elektrycznych z jakiegoś UPS-a." - -#: src/player.cpp -#, c-format -msgid "Your %s has %d charge but needs %d." -msgid_plural "Your %s has %d charges but needs %d." -msgstr[0] "Twój %s ma %d ładunek a potrzebuje %d." -msgstr[1] "Twój %s ma %d ładunków a potrzebuje %d." -msgstr[2] "Twój %s ma %d ładunków a potrzebuje %d." -msgstr[3] "Twój %s ma %d ładunków a potrzebuje %d." - #. ~ %1$s - gunmod, %2$s - gun. #: src/player.cpp #, c-format @@ -233397,8 +238899,8 @@ msgid "It's impossible to sleep in this wheeled pot!" msgstr "Nie da się spać w tej donicy na kółkach!" #: src/player.cpp -msgid "The humans' furniture blocks your roots. You can't get comfortable." -msgstr "Meble ludzi blokują twoje korzenie. Nie jest ci komfortowo." +msgid "The humans' furniture blocks your roots. You can't get comfortable." +msgstr "" #: src/player.cpp msgid "Your roots scrabble ineffectively at the unyielding surface." @@ -233413,8 +238915,8 @@ msgstr "" "wysiewać powietrze zarodnikami w czasie gdy nasza świadomość zanika." #: src/player.cpp -msgid "These thick webs support your weight, and are strangely comfortable..." -msgstr "Grube sieci podtrzymują twój ciężar, i są dziwnie komfortowe..." +msgid "These thick webs support your weight, and are strangely comfortable…" +msgstr "" #: src/player.cpp msgid "You try to sleep, but the webs get in the way. You brush them aside." @@ -233436,13 +238938,12 @@ msgstr "Może dobra gruba sieć pomogłaby zasnąć." #: src/player.cpp msgid "" -"You lay beneath the waves' embrace, gazing up through the water's surface..." +"You lay beneath the waves' embrace, gazing up through the water's surface…" msgstr "" -"Kładziesz się w objęciach fal, gapiąc się w górę przez powierzchnię wody..." #: src/player.cpp -msgid "You settle into the water and begin to drowse..." -msgstr "Kładziesz się w wodzie i zaczynasz przysypiać..." +msgid "You settle into the water and begin to drowse…" +msgstr "" #: src/player.cpp msgid "This is a comfortable place to sleep." @@ -233495,76 +238996,6 @@ msgstr "Twojemu induktorowi nasennemu kończy się moc!" msgid "Your soporific inducer starts back up." msgstr "" -#: src/player.cpp -msgid "You nestle your pile of clothes for warmth." -msgstr "Zwijasz gniazdo z ubrań dla ciepła." - -#: src/player.cpp -msgid "You use your pile of clothes for warmth." -msgstr "Używasz pliku ubrań dla ciepła." - -#: src/player.cpp -#, c-format -msgid "You snuggle your %s to keep warm." -msgstr "Przytulasz swój %s dla utrzymania ciepła." - -#: src/player.cpp -#, c-format -msgid "You use your %s to keep warm." -msgstr "Używasz swój %s dla utrzymania ciepła." - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Entered hibernation." -msgstr "Rozpoczynasz hibernację." - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Entered hibernation." -msgstr "Rozpoczynasz hibernację." - -#. ~ %s is armor name -#: src/player.cpp -#, c-format -msgctxt "memorial_male" -msgid "Worn %s was completely destroyed." -msgstr "Noszony %s został kompletnie zniszczony." - -#: src/player.cpp -#, c-format -msgctxt "memorial_female" -msgid "Worn %s was completely destroyed." -msgstr "Noszona %s została kompletnie zniszczona." - -#: src/player.cpp -#, c-format -msgid "Your %s is completely destroyed!" -msgstr "Twój %s jest kompletnie zniszczony!" - -#: src/player.cpp -#, c-format -msgid "'s %s is completely destroyed!" -msgstr "Noszony przez %s został kompletnie zniszczony." - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s further!" -msgstr "Twój %1$s jest %2$s dalej!" - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s!" -msgstr "Twój %1$s jest %2$s!" - -#: src/player.cpp src/veh_interact.cpp -msgid "destroyed" -msgstr "zniszczony" - -#: src/player.cpp -#, c-format -msgid "This task is too simple to train your %s beyond %d." -msgstr "Ta czynności jest zbyt prosta by trenować %s powyżej %d." - #: src/player.cpp #, c-format msgid "Your skill in %s has increased to %d!" @@ -233576,8 +239007,9 @@ msgid "You feel that %s tasks of this level are becoming trivial." msgstr "Czujesz że zadania w %s tego poziomu stają się trywialne." #: src/player.cpp -msgid "You resume your task." -msgstr "Wracasz do pracy." +#, c-format +msgid "This task is too simple to train your %s beyond %d." +msgstr "Ta czynności jest zbyt prosta by trenować %s powyżej %d." #: src/player.cpp msgid "Wield what?" @@ -233589,8 +239021,8 @@ msgstr "Czas jakby zwalnia a ty instynktownie uchylasz się!" #: src/player.cpp #, c-format -msgid "%s dodges... so fast!" -msgstr "%s uchyla się... tak szybko!" +msgid "%s dodges… so fast!" +msgstr "" #: src/player.cpp msgid "You try to dodge but there's no room!" @@ -233601,79 +239033,6 @@ msgstr "Chcesz uskoczyć, ale nie ma gdzie!" msgid "%s tries to dodge but there's no room!" msgstr "%s chce uskoczyć, ale nie ma gdzie!" -#: src/player.cpp -msgid "You start hauling items along the ground." -msgstr "Zaczynasz ciągnąć rzeczy po ziemi." - -#: src/player.cpp -msgid "Your hands are not free, which makes hauling slower." -msgstr "Twoje ręce są zajęte, co czyni ciągnięcie wolniejszym." - -#: src/player.cpp -msgid "You stop hauling items." -msgstr "Przestajesz ciągnąć rzeczy." - -#: src/player.cpp -msgid "Your body strains under the weight!" -msgstr "Twoje ciało ugina się pod ciężarem!" - -#: src/player.cpp -#, c-format -msgid "You remove the %s's harness." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You climb on the %s." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You hear your %s whir to life." -msgstr "" - -#: src/player.cpp -msgid "You are ejected from your mech!" -msgstr "" - -#: src/player.cpp -msgid " is ejected from their mech!" -msgstr "" - -#: src/player.cpp -msgid "You fall off your mount!" -msgstr "Spadasz z wierzchowca!" - -#: src/player.cpp -msgid " falls off their mount!" -msgstr "" - -#: src/player.cpp src/trapfunc.cpp -msgid "You hurt yourself!" -msgstr "Ranisz się!" - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Fell off a mount." -msgstr "Spadłeś z wierzchowca." - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Fell off a mount." -msgstr "Spadłaś z wierzchowca." - -#: src/player.cpp -msgid "Dismount where?" -msgstr "Zejdź gdzie?" - -#: src/player.cpp -msgid "You cannot dismount there!" -msgstr "Nie możesz tam zejść!" - -#: src/player.cpp -msgid "Wielding: " -msgstr "Dzierży:" - #: src/player.cpp #, c-format msgid "You (%s)" @@ -233728,45 +239087,22 @@ msgstr "Głodnawy" msgid "Pain " msgstr "Ból" +#. ~ skill_name current_skill_level -> next_skill_level (% to next level) #: src/player_activity.cpp #, c-format -msgid "Crafting: %s" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Burrowing: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Sawing: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Jackhammering: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Digging: %d%%" -msgstr "" - -#: src/player_activity.cpp -#, c-format -msgid "Disassembling: %d%%" +msgctxt "reading progress" +msgid "%s %d -> %d (%d%%)" msgstr "" #: src/player_activity.cpp #, c-format -msgid "Shoveling: %d%%" +msgid "%s…" msgstr "" #: src/player_activity.cpp #, c-format -msgid "Chopping: %d%%" -msgstr "" +msgid "%s: %s" +msgstr "%s: %s" #: src/player_activity.cpp msgid "You pause for a moment to catch your breath." @@ -233989,47 +239325,57 @@ msgstr "Obecna Prędkość:" #: src/player_display.cpp #, c-format -msgid "Overburdened -%s%d%%" -msgstr "Przeciążenie -%s%d%%" +msgctxt "speed penalty" +msgid "Overburdened -%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Pain -%s%d%%" -msgstr "Ból -%s%d%%" +msgctxt "speed penalty" +msgid "Pain -%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Thirst -%s%d%%" -msgstr "Pragnienie -%s%d%%" +msgctxt "speed penalty" +msgid "Thirst -%2d%%" +msgstr "" #: src/player_display.cpp msgid "Underfed" msgstr "" +#. ~ %s: Starving/Underfed (already left-justified), %2d: speed penalty #: src/player_display.cpp #, c-format -msgid "%-20s-%s%d%%" +msgctxt "speed penalty" +msgid "%s-%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Out of Sunlight -%s%d%%" -msgstr "Brak Słońca -%s%d%%" +msgctxt "speed penalty" +msgid "Out of Sunlight -%2d%%" +msgstr "" +#. ~ %s: sign of bonus/penalty, %2d: speed bonus/penalty #: src/player_display.cpp #, c-format -msgid "Cold-Blooded %s%s%d%%" +msgctxt "speed modifier" +msgid "Cold-Blooded %s%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Quick +%s%d%%" -msgstr "Szybki +%s%d%%" +msgctxt "speed bonus" +msgid "Quick +%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Bionic Speed +%s%d%%" -msgstr "Bioniczna Szybkość +%s%d%%" +msgctxt "speed bonus" +msgid "Bionic Speed +%2d%%" +msgstr "" #: src/player_display.cpp #, c-format @@ -234062,19 +239408,15 @@ msgstr "Poważnie niedożywiony" #: src/player_display.cpp msgid "" -"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" -" \n" +"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" +"\n" msgstr "" -"Twoje ciało jest poważnie osłabione głodem Możesz umrzeć jeśli nie zaczniesz jeść regularnych posiłków!\n" -" \n" #: src/player_display.cpp msgid "" -"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" -" \n" +"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" +"\n" msgstr "" -"Twoje ciało jest osłabione głodem Tylko czas i regularne posiłki pozwolą ci odzyskać siły.\n" -" \n" #: src/player_display.cpp src/veh_interact.cpp msgid "Strength" @@ -234174,38 +239516,30 @@ msgid " vomits thousands of live spores!" msgstr " rzyga tysiącem żywych zarodników!" #: src/player_hardcoded_effects.cpp -msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" +msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" msgstr "" -"Ciało na twoich połamanych ramionach puchnie. Nóżki grzybów przebijają się " -"na zewnątrz." #: src/player_hardcoded_effects.cpp -msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" +msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" msgstr "" -"Ciało na połamanych ramionach puchnie. Nóżki grzybów przebijają " -"się na zewnątrz." #: src/player_hardcoded_effects.cpp msgid "" -"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " +"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " "through!" msgstr "" -"Ciało na twoich połamanych i zdrowych ramionach puchnie. Nóżki grzybów " -"przebijają się na zewnątrz." #: src/player_hardcoded_effects.cpp -msgid "'s arms bulge. Fungus stalks burst out of the bulges!" +msgid "'s arms bulge. Fungus stalks burst out of the bulges!" msgstr "" -"Ciało na ramionach puchnie. Nóżki grzybów przebijają się na " -"zewnątrz." #: src/player_hardcoded_effects.cpp -msgid "Your hands bulge. Fungus stalks burst through the bulge!" -msgstr "Twoje ręce puchną. Nóżki grzybów wyrastają z obrzęku!" +msgid "Your hands bulge. Fungus stalks burst through the bulge!" +msgstr "" #: src/player_hardcoded_effects.cpp -msgid "'s hands bulge. Fungus stalks burst through the bulge!" -msgstr "Ręce puchną. Nóżki grzybów wyrastają z obrzęku!" +msgid "'s hands bulge. Fungus stalks burst through the bulge!" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "You feel nauseous!" @@ -234252,8 +239586,8 @@ msgid "\"Oh God, what's happening?\"" msgstr "\"Mój Boże, co się dzieje?\"" #: src/player_hardcoded_effects.cpp -msgid "\"Of course... it's all fractals!\"" -msgstr "\"Oczywiście... to wszystko fraktale!\"" +msgid "\"Of course… it's all fractals!\"" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "\"Huh? What was that?\"" @@ -234288,8 +239622,8 @@ msgid "You quiver from the cold." msgstr "Drżysz z zimna." #: src/player_hardcoded_effects.cpp -msgid "Your torso is freezing cold. You should put on a few more layers." -msgstr "Twoja klatka piersiowa przemarza. Powinieneś się ubrać na cebulkę." +msgid "Your torso is freezing cold. You should put on a few more layers." +msgstr "" #: src/player_hardcoded_effects.cpp msgid "Your shivering makes you unsteady." @@ -234493,8 +239827,8 @@ msgid "You shudder suddenly." msgstr "Przechodzi cię dreszcz." #: src/player_hardcoded_effects.cpp -msgid "Your vision is filled with bright lights..." -msgstr "Twój wzrok wypełniają jasne światła..." +msgid "Your vision is filled with bright lights…" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "You're suddenly covered in ectoplasm." @@ -234679,6 +240013,47 @@ msgstr "Twój alarm się włączył." msgid "Your alarm went off." msgstr "" +#: src/player_hardcoded_effects.cpp +msgid "You lose control of your body as it begins to convulse!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You lose conciousness!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "arm" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "hand" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "leg" +msgstr "" + +#: src/player_hardcoded_effects.cpp +#, c-format +msgid "Your %s suddenly jerks in an unexpected direction!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep hold of your weapon." +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep your footing." +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You suddenly lose all muscle tone, and can't support your own weight!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You have a splitting headache." +msgstr "" + #: src/ranged.cpp #, c-format msgid "Your %s misfires with a muffled click!" @@ -234829,8 +240204,8 @@ msgstr "[%c] wyceluj w siebie; [%c] przełącz przyciąganie do celu" #: src/ranged.cpp #, c-format -msgid "[%c] to steady your aim. (10 moves)" -msgstr "%c by stabilnie wycelować (10 ruchów)" +msgid "[%c] to steady your aim. (10 moves)" +msgstr "" #: src/ranged.cpp #, c-format @@ -235000,7 +240375,7 @@ msgid "Effective Spell Radius: %s%s" msgstr "" #: src/ranged.cpp -msgid " WARNING! IN RANGE" +msgid " WARNING! IN RANGE" msgstr "" #: src/ranged.cpp @@ -235102,10 +240477,6 @@ msgstr "kerblam!" msgid "none" msgstr "żaden" -#: src/recipe.cpp -msgid "none" -msgstr "" - #: src/recipe.cpp #, c-format msgid "%s%% at >%s units" @@ -235133,6 +240504,17 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" +#. ~ %1$s: item name, %2$d: charge requirement +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%1$s (%2$d of infinite)" +msgid_plural "%1$s (%2$d of infinite)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + #. ~ %1$s: item name, %2$d: charge requirement, %3%d: available charges #: src/requirements.cpp #, c-format @@ -235155,6 +240537,17 @@ msgstr[1] "" msgstr[2] "" msgstr[3] "" +#. ~ %1$s: item name, %2$d: required count +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%2$d %1$s of infinite" +msgid_plural "%2$d %1$s of infinite" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + #. ~ %1$s: item name, %2$d: required count, %3%d: available count #: src/requirements.cpp #, c-format @@ -235244,8 +240637,8 @@ msgid "Safe Mode manager currently inactive." msgstr "Menedżer Bezpiecznego Trybu obecnie wyłączony." #: src/safemode_ui.cpp -msgid "Default rules are used. Add a rule to activate." -msgstr "Domyślne ustawienia. Dodaj zasadę by aktywować." +msgid "Default rules are used. Add a rule to activate." +msgstr "" #: src/safemode_ui.cpp msgid "Press ~ to add a default ruleset to get started." @@ -235257,7 +240650,7 @@ msgstr "Biała lista" #: src/safemode_ui.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" +"* is used as a Wildcard. A few Examples:\n" "\n" "human matches every NPC\n" "zombie matches the monster name exactly\n" @@ -235266,14 +240659,6 @@ msgid "" "*cid*zo*ie multiple * are allowed\n" "AcI*zO*iE case insensitive search" msgstr "" -"* to dzika karta. Przykłady:\n" -"\n" -"człowiek to każdy NPC\n" -"zombie oznacza tylko takiego potwora\n" -"kwasowy zo* filtruje stwory zaczynające się od 'kwasowy zo'\n" -"*mbie filtruje stwory których nazwy kończą się na 'mbie'\n" -"*owy*zo*ie wiele * jest dopuszczalnych\n" -"KwA*Om*ie wielkość liter nie ma znaczenia" #: src/safemode_ui.cpp msgid "Safe Mode Rule:" @@ -235288,8 +240673,8 @@ msgid "Option: " msgstr "Opcja:" #: src/safemode_ui.cpp -msgid "No monsters loaded. Please start a game first." -msgstr "Nie wczytano potworów. Najpierw rozpocznij grę." +msgid "No monsters loaded. Please start a game first." +msgstr "" #: src/safemode_ui.cpp #, c-format @@ -235305,8 +240690,8 @@ msgid "Lists monsters regardless of their attitude." msgstr "Wyświetla stwory niezależnie od nastawienia." #: src/safemode_ui.cpp -msgid "Safe Mode is not enabled in the options. Enable it now?" -msgstr "Tryb Bezpieczny nie jest włączony w opcjach. Włączyć teraz?" +msgid "Safe Mode is not enabled in the options. Enable it now?" +msgstr "" #: src/safemode_ui.cpp msgid "safemode configuration" @@ -235347,13 +240732,6 @@ msgstr "" msgid "KILLS" msgstr "" -#: src/sdltiles.cpp -msgid "" -"Sets which video display will be used to show the game. Requires restart." -msgstr "" -"Ustawia który wyświetlacz zostanie użyty do wyświetlenia gry. Wymaga " -"restartu." - #: src/skill.cpp msgid "The zen-most skill there is." msgstr "" @@ -235412,6 +240790,10 @@ msgstr "" msgid "d: delete history" msgstr "d: skasować historię" +#: src/teleport.cpp +msgid "You feel a strange, inwards force." +msgstr "" + #: src/teleport.cpp msgid "You cannot teleport safely." msgstr "" @@ -235421,7 +240803,11 @@ msgid "You die after teleporting into a solid." msgstr "" #: src/teleport.cpp -msgid "You exlpode into thousands of fragments." +msgid "You feel disjointed." +msgstr "" + +#: src/teleport.cpp +msgid "You explode into thousands of fragments." msgstr "" #: src/teleport.cpp @@ -235747,12 +241133,12 @@ msgid "vvrrrRRMM*POP!*" msgstr "vvrrrRRMM*POP!*" #: src/trapfunc.cpp -msgid "The air shimmers around you..." -msgstr "Powietrze drży wokół ciebie..." +msgid "The air shimmers around you…" +msgstr "" #: src/trapfunc.cpp #, c-format -msgid "The air shimmers around %s..." +msgid "The air shimmers around %s…" msgstr "" #: src/trapfunc.cpp @@ -235768,8 +241154,8 @@ msgid "The acidic goo eats away at your feet." msgstr "Kwasowa maź żre twoje stopy." #: src/trapfunc.cpp -msgid "BEEPBOOP! Please remove non-organic object." -msgstr "BEEPBOOP! Proszę usuń obiekt nieorganiczny." +msgid "BEEPBOOP! Please remove non-organic object." +msgstr "" #: src/trapfunc.cpp msgid "The dissector lights up, and shuts down." @@ -235785,7 +241171,7 @@ msgstr "Podłoga emituje elektryczny promień, który tnie ciało !" #: src/trapfunc.cpp #, c-format -msgid "Electrical beams emit from the floor and slice your %s!" +msgid "Electrical beams emit from the floor and slice the %s!" msgstr "" #: src/trapfunc.cpp @@ -235871,8 +241257,8 @@ msgid "Your %s is burned by the lava!" msgstr "" #: src/trapfunc.cpp -msgid "You fail to attach it..." -msgstr "Nie udaje ci się przypiąć..." +msgid "You fail to attach it…" +msgstr "" #: src/trapfunc.cpp msgid "There's nowhere to pull yourself to, and you sink!" @@ -236008,8 +241394,21 @@ msgid "Set turret targeting" msgstr "Ustaw celowanie wieżyczki" #: src/turret.cpp -msgid "Can't aim turrets: all turrets are offline" -msgstr "Nie możesz wycelować wieżyczek: wszystkie wieżyczki nieaktywne" +msgid "auto -> manual" +msgstr "" + +#: src/turret.cpp +msgid "manual -> auto" +msgstr "" + +#: src/turret.cpp +msgid "manual (turret control unit required for auto mode)" +msgstr "" + +#: src/turret.cpp +msgid "" +"Can't aim turrets: all turrets are offline or set to manual targeting mode." +msgstr "" #: src/turret.cpp msgid "Aim which turret?" @@ -236060,17 +241459,18 @@ msgstr "John Smith" #: src/tutorial.cpp msgid "" "You're saving a tutorial - the tutorial world lacks certain features of " -"normal worlds. Weird things might happen when you load this save. You have " -"been warned." +"normal worlds. Weird things might happen when you load this save. You have" +" been warned." msgstr "" -"Zapisujesz tutorial - świat tutorialu nie zawiera pewnych elementów " -"normalnych światów. Dziwne rzeczy mogą się dziać gdy wczytasz ten zapis. " -"Zostałeś ostrzeżony." #: src/veh_interact.cpp msgid "Select part" msgstr "Wybierz część" +#: src/veh_interact.cpp +msgid "Time required:\n" +msgstr "Czas potrzebny:\n" + #: src/veh_interact.cpp msgid "Skills required:\n" msgstr "" @@ -236245,11 +241645,11 @@ msgid "Search for part" msgstr "Szukaj części" #: src/veh_interact.cpp -msgid "Your morale is too low to construct..." -msgstr "Twoje morale jest zbyt niskie żeby majsterkować..." +msgid "Your morale is too low to construct…" +msgstr "" #: src/veh_interact.cpp -msgid "It's too dark to see what you are doing..." +msgid "It's too dark to see what you are doing…" msgstr "" #: src/veh_interact.cpp @@ -236257,7 +241657,7 @@ msgid "You can't install parts while driving." msgstr "Nie możesz instalować części w trakcie jazdy." #: src/veh_interact.cpp -msgid "Installing this part will make the vehicle unfoldable. Continue?" +msgid "Installing this part will make the vehicle unfoldable. Continue?" msgstr "" #: src/veh_interact.cpp @@ -236265,8 +241665,8 @@ msgid "Choose shape:" msgstr "Wybierz kształt:" #: src/veh_interact.cpp -msgid "Your morale is too low to repair..." -msgstr "Twoje morale jest zbyt niskie żeby reperować..." +msgid "Your morale is too low to repair…" +msgstr "" #: src/veh_interact.cpp msgid "You can't repair stuff while driving." @@ -236285,8 +241685,8 @@ msgid "This part cannot be repaired" msgstr "Ta cześć nie może być naprawiona" #: src/veh_interact.cpp -msgid "Your morale is too low to mend..." -msgstr "Twoje morale jest zbyt niskie żeby łatać..." +msgid "Your morale is too low to mend…" +msgstr "" #: src/veh_interact.cpp msgid "No faulty parts require mending." @@ -236461,8 +241861,8 @@ msgstr "" "Nie możesz spuszczać czegokolwiek ze zbiorników z poruszającego się pojazdu." #: src/veh_interact.cpp -msgid "Select part to siphon: " -msgstr "Wybierz część z której chcesz spuścić:" +msgid "Select part to siphon:" +msgstr "" #: src/veh_interact.cpp msgid "The vehicle has no solid fuel left to remove." @@ -236941,6 +242341,11 @@ msgstr "Część pojazdu którą trzymałeś uległa zniszczeniu!" msgid "Lost connection with the vehicle due to distance!" msgstr "Straciłeś kontakt z pojazdem z uwagi na odległość!" +#: src/vehicle.cpp +#, c-format +msgid "the %s emitting a beep and saying \"Obstacle detected!\"" +msgstr "" + #. ~ backfire sound #: src/vehicle.cpp #, c-format @@ -237002,7 +242407,7 @@ msgstr "Nie możesz zamontować %1$s na stelażu" #: src/vehicle.cpp #, c-format msgid "" -"A part of the vehicle ('%s') has no containing vehicle's name. It will be " +"A part of the vehicle ('%s') has no containing vehicle's name. It will be " "detached from the %s vehicle." msgstr "" @@ -237108,8 +242513,8 @@ msgid "The %1$s's %2$s is destroyed!" msgstr "%2$sw %1$s ulega zniszczeniu!" #: src/vehicle_display.cpp -msgid "More parts here..." -msgstr "Więcej części tutaj..." +msgid "More parts here…" +msgstr "" #: src/vehicle_display.cpp #, c-format @@ -237503,7 +242908,7 @@ msgstr "" #: src/vehicle_use.cpp msgctxt "electronics menu option" -msgid "rockhead" +msgid "roadheader" msgstr "" #: src/vehicle_use.cpp @@ -237583,8 +242988,8 @@ msgstr "" "Potrzebowałbyś śrubokręta żeby próbować odpalić pojazd na krótkie spięcie." #: src/vehicle_use.cpp -msgid "You destroy the controls..." -msgstr "Niszczysz układ sterowniczy..." +msgid "You destroy the controls…" +msgstr "" #: src/vehicle_use.cpp msgid "You damage the controls." @@ -237606,6 +243011,28 @@ msgstr "Zapomnij pozycję pojazdu" msgid "Remember vehicle position" msgstr "Zapamiętaj pozycję pojazdu" +#: src/vehicle_use.cpp +msgid "Choose action for the autopilot" +msgstr "" + +#: src/vehicle_use.cpp +msgid "Patrol…" +msgstr "" + +#: src/vehicle_use.cpp +msgid "" +"Program the autopilot to patrol a nearby vehicle patrol zone. If no zones " +"are nearby, you will be prompted to create one." +msgstr "" + +#: src/vehicle_use.cpp +msgid "Stop…" +msgstr "" + +#: src/vehicle_use.cpp +msgid "Stop all autopilot related activities." +msgstr "" + #: src/vehicle_use.cpp msgid "You stop keeping track of the vehicle position." msgstr "Nie śledzisz już pozycji tego pojazdu." @@ -237650,14 +243077,14 @@ msgstr "Wyłącz silnik" msgid "Turn on the engine" msgstr "Włącz silnik" -#: src/vehicle_use.cpp -msgid "You turn the engine off." -msgstr "Wyłączasz silnik." - #: src/vehicle_use.cpp msgid "Honk horn" msgstr "Użyj klaksonu" +#: src/vehicle_use.cpp +msgid "Control autopilot" +msgstr "" + #: src/vehicle_use.cpp msgid "Disable cruise control" msgstr "Wyłącz tempomat" @@ -237784,6 +243211,10 @@ msgstr "%s stuka i łomocze" msgid "the %s starting" msgstr "%s startuje" +#: src/vehicle_use.cpp +msgid "You turn the engine off." +msgstr "Wyłączasz silnik." + #: src/vehicle_use.cpp msgid "You honk the horn!" msgstr "Trąbisz klaksonem!" @@ -237804,8 +243235,8 @@ msgstr "Trąbisz klaksonem, ale nic się nie dzieje." #: src/vehicle_use.cpp #, c-format -msgid "Move how many? [Have %d] (0 to cancel)" -msgstr "Przenieść ile? [Masz %d] (0 by anulować)" +msgid "Move how many? [Have %d] (0 to cancel)" +msgstr "" #: src/vehicle_use.cpp msgid "a simple melody blaring from the loudspeakers." @@ -237881,6 +243312,10 @@ msgstr "" msgid "Only CBMs can be sterilized in an autoclave." msgstr "" +#: src/vehicle_use.cpp +msgid "You should put your CBMs in autoclave pouches to keep them sterile." +msgstr "" + #: src/vehicle_use.cpp msgid "You turn the autoclave on and it starts its cycle." msgstr "" @@ -237999,6 +243434,15 @@ msgstr "" msgid "You untie your %s." msgstr "" +#: src/vehicle_use.cpp +msgid "Load a vehicle on the rack" +msgstr "" + +#: src/vehicle_use.cpp +#, c-format +msgid "Remove the %s from the rack" +msgstr "" + #: src/vehicle_use.cpp msgid "Examine vehicle" msgstr "Obejrzyj pojazd" @@ -238119,8 +243563,8 @@ msgid "Your power armor protects you from the acidic drizzle." msgstr "Twoja zbroja wspomagana chroni cię przed kwaśną mżawką." #: src/weather.cpp -msgid "The acid rain stings, but is mostly harmless for now..." -msgstr "Kwaśny deszcz szczypie, ale na razie jest niegroźny..." +msgid "The acid rain stings, but is mostly harmless for now…" +msgstr "" #: src/weather.cpp msgid "Your umbrella protects you from the acid rain." @@ -238205,8 +243649,8 @@ msgstr "%sNoc" #: src/weather.cpp #, c-format -msgid "%s... %s. Highs of %s. Lows of %s. " -msgstr "%s... %s. Wyżyny na %s. Niziny na %s. " +msgid "%s… %s. Highs of %s. Lows of %s. " +msgstr "" #: src/weather.cpp #, c-format @@ -238459,16 +243903,16 @@ msgstr "How many?" #: src/wish.cpp #, c-format -msgid "Wish granted. Wish for more or hit [%s] to quit." -msgstr "Życzenie spełnione. Życz sobie więcej lub [%s] wyjdź." +msgid "Wish granted. Wish for more or hit [%s] to quit." +msgstr "" #: src/wish.cpp msgid "Select a skill to modify" msgstr "Wybierz umiejętność do zmodyfikowania" #: src/wish.cpp -msgid "Modify all skills..." -msgstr "Zmodyfikuje wszystkie umiejętności..." +msgid "Modify all skills…" +msgstr "" #: src/wish.cpp #, c-format @@ -238477,8 +243921,8 @@ msgstr "@ %d: %s " #: src/wish.cpp #, c-format -msgid "Set '%s' to.." -msgstr "Ustaw '%s' na..." +msgid "Set '%s' to…" +msgstr "" #: src/wish.cpp msgid " (current)" @@ -238576,8 +244020,8 @@ msgstr "Kolejność wczytywania modów" #: src/worldfactory.cpp #, c-format -msgid "... %s = View full description " -msgstr "... %s = Zobacz pełen opis" +msgid "…%s = View full description " +msgstr "" #: src/worldfactory.cpp msgid "--NO AVAILABLE MODS--" @@ -238613,18 +244057,15 @@ msgid "________NO NAME ENTERED!________" msgstr "________NIE WPISANO IMIENIA!!!________" #: src/worldfactory.cpp -msgid "Are you SURE you're finished? World name will be randomly generated." +msgid "Are you SURE you're finished? World name will be randomly generated." msgstr "" -"Jesteś PEWIEN że skończyłeś? Nazwa świata zostanie wygenerowana losowo." #: src/worldfactory.cpp #, c-format msgid "" -"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " +"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " "%s/%s = Prev/Next Tab." msgstr "" -"%s = Zapisz Kolejność Wczytywania jako domyślną. %s = Kontroluje %s/%s = " -"Poprz./Nast. Opcja. %s/%s = Poprz./Nast. Karta." #: src/worldfactory.cpp msgid "World Mods" diff --git a/lang/po/pt_BR.po b/lang/po/pt_BR.po index 2028a7313b8d1..7dee4ef73246e 100644 --- a/lang/po/pt_BR.po +++ b/lang/po/pt_BR.po @@ -1,8 +1,7 @@ # Translators: -# Joao Pedro de Campos Magalhaes , 2018 # diesel riot , 2018 +# Joao Pedro de Campos Magalhaes , 2018 # Anti-Seis Joga , 2018 -# Brett Dong , 2018 # Marco Przybysz , 2018 # Vítor da Silva , 2018 # Paulo Tozzo , 2018 @@ -15,15 +14,16 @@ # Breno Gomes da Fonseca , 2019 # Lucas Reis , 2019 # Hugo Santos , 2019 -# C. J. , 2019 # Douglas Onofre Rosas dos Santos , 2019 +# Brett Dong , 2019 +# C. J. , 2019 # Yuri Laskowski , 2019 # msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.D\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-09-27 19:51+0800\n" +"POT-Creation-Date: 2019-11-09 00:53+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" "Last-Translator: Yuri Laskowski , 2019\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/cataclysm-dda-translators/teams/2217/pt_BR/)\n" @@ -44,9 +44,9 @@ msgid "" "energy based weapons. The result was the standard fusion pack, capable of " "delivering bolts of superheated gas at near light speed with no recoil." msgstr "" -"Em meados do século 21 , as potências militares começaram a estudar armas " +"Em meados do século 21, as potências militares começaram a estudar armas " "baseadas em energia. O resultado foi o pacote de fusão padrão, capaz de " -"emitir raios de gás superaquecido próximos a velocidade da luz e sem recuo." +"emitir raios de gás superaquecido próximos à velocidade da luz e sem recuo." #: lang/json/AMMO_from_json.py msgid "bootleg fusion pack" @@ -77,8 +77,8 @@ msgid "" "Some free-floating battery charge. This can be reloaded into rechargable " "battery cells, but can never be unloaded." msgstr "" -"Alguma bateria de carga flutuante. Isto pode ser recarregado em células de " -"bateria recarregáveis, mas não podem jamais ser descarregadas." +"Um pouco de carga de bateria flutuante. Isto pode ser recarregado em células" +" de bateria recarregáveis, mas não poderá jamais ser descarregado." #: lang/json/AMMO_from_json.py msgid "aluminum foil" @@ -90,7 +90,7 @@ msgid "" "A thin foil made of aluminum. Sometimes called 'tin foil' due to being made" " of tin in the past." msgstr "" -"Uma folha fina de alumínio . Às vezes chamada de 'folha de estanho' por ser " +"Uma folha fina de alumínio. Às vezes chamada de 'folha de estanho' por ser " "feita de estanho no passado." #: lang/json/AMMO_from_json.py @@ -204,7 +204,7 @@ msgstr "" #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "plutonium slurry" -msgstr "pastas de plutônio" +msgstr "pasta de plutônio" #. ~ Description for plutonium slurry #. ~ Description for watery plutonium slurry @@ -263,7 +263,7 @@ msgstr[1] "rolamentos" #: lang/json/AMMO_from_json.py msgid "A box of ball bearings, useful as ammunition for slings or slingshots." msgstr "" -"Uma caixa de rolamentos de esferas, úteis como munição para fundas e " +"Uma caixa de rolamentos redondos, úteis como munição para fundas e " "estilingues." #: lang/json/AMMO_from_json.py @@ -328,8 +328,8 @@ msgid "" "A canister of pressurized hydrogen so heavily compressed it has turned " "solid. With proper equipment, it could be heated to plasma." msgstr "" -"Uma lata de hidrogênio tão comprimido que o tornou sólido. Com o equipamento" -" certo, ele pode ser aquecido até se transformar em plasma." +"Uma lata de hidrogênio tão comprimido que se tornou sólido. Com o " +"equipamento certo, ele pode ser aquecido até se transformar em plasma." #: lang/json/AMMO_from_json.py msgid "unused .22 casing" @@ -359,53 +359,63 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "smokeless shotgun powder" -msgstr "" +msgstr "pólvora sem fumaça para escopetas" #. ~ Description for smokeless shotgun powder #: lang/json/AMMO_from_json.py msgid "Firearm-quality gunpowder, intended for use in shotgun shells." msgstr "" +"Pólvora de qualidade para armamentos, projetada para uso em cartuchos de " +"escopeta." #: lang/json/AMMO_from_json.py msgid "smokeless pistol powder" -msgstr "" +msgstr "pólvora sem fumaça para pistolas" #. ~ Description for smokeless pistol powder #: lang/json/AMMO_from_json.py msgid "Firearm-quality gunpowder, intended for use in pistol ammunition." msgstr "" +"Pólvora de qualidade para armamentos, projetada para uso em munições de " +"pistola." #: lang/json/AMMO_from_json.py msgid "smokeless magnum powder" -msgstr "" +msgstr "pólvora sem fumaça para magnum" #. ~ Description for smokeless magnum powder #: lang/json/AMMO_from_json.py msgid "" "Firearm-quality gunpowder intended for use in magnum pistol ammunition." msgstr "" +"Pólvora de qualidade para armamentos, projetada para uso em munições de " +"pistolas magnum." #: lang/json/AMMO_from_json.py msgid "smokeless rifle powder" -msgstr "" +msgstr "pólvora sem fumaça para rifles" #. ~ Description for smokeless rifle powder #: lang/json/AMMO_from_json.py msgid "Firearm-quality gunpowder intended for use in rifle ammunition." msgstr "" +"Pólvora de qualidade para armamentos, projetada para uso em munições de " +"rifle." #: lang/json/AMMO_from_json.py msgid "smokeless overbore rifle powder" -msgstr "" +msgstr "pólvora sem fumaça para rifles pesados" #. ~ Description for smokeless overbore rifle powder #: lang/json/AMMO_from_json.py msgid "Firearm-quality gunpowder intended for use in large rifle ammunition." msgstr "" +"Pólvora de qualidade para armamentos, projetada para uso em munições de " +"rifles de calibres pesados." #: lang/json/AMMO_from_json.py msgid "artillery propellant" -msgstr "" +msgstr "propelente de artilharia" #. ~ Description for artillery propellant #: lang/json/AMMO_from_json.py @@ -413,6 +423,8 @@ msgid "" "Single base smokeless gunpowder intended for use in artillery propelling " "charges." msgstr "" +"Pólvora de base única sem fumaça, projetada para uso em cargas de " +"artilharia." #: lang/json/AMMO_from_json.py msgid "oxidizer powder" @@ -487,8 +499,8 @@ msgid "" "Rubber slugs from a shotgun beanbag round. You could use them to make new " "beanbag rounds." msgstr "" -"Balas de borracha de um bala de espingarda. Você pode usar elas para fazer " -"novos cartuchos do mesmo tipo." +"Balas de borracha de uma munição não-letal de espingarda. Você pode usar " +"elas para fazer novos cartuchos do mesmo tipo." #: lang/json/AMMO_from_json.py msgid "copper" @@ -519,16 +531,16 @@ msgstr "foguete 93mm PG-7VL" #. ~ Description for PG-7VL 93mm rocket #: lang/json/AMMO_from_json.py msgid "93mm single-stage high-explosive ammunition for the RPG-7." -msgstr "Uma munição Alto-Explosiva de único estágio de 93mm para o RPG-7." +msgstr "Uma munição alto-explosiva de único estágio de 93mm para o RPG-7." #: lang/json/AMMO_from_json.py msgid "PG-7VR 64mm/105mm rocket" -msgstr "foguete PG-7VL 64mm/105mm" +msgstr "foguete PG-7VR 64mm/105mm" #. ~ Description for PG-7VR 64mm/105mm rocket #: lang/json/AMMO_from_json.py msgid "64mm/105mm high-explosive tandem ammunition for the RPG-7." -msgstr "" +msgstr "Munição alto-explosiva de 64mm/105mm para o RPG-7." #: lang/json/AMMO_from_json.py msgid "TBG-7V 105mm rocket" @@ -553,7 +565,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "placeholder ammunition" -msgstr "munição improvisada" +msgstr "placeholder de munição" #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "charcoal" @@ -567,14 +579,14 @@ msgid "" "remove contaminants out of air and water." msgstr "" "Material inflamável a base de carbono produzido pela queima lenta da " -"madeira. Utilizada em receitas requer um chama quente e pura. Pode também " -"ser utilizado para remover contaminantes do ar e água." +"madeira. Utilizado em receitas que requerem uma chama quente e pura. Pode " +"também ser utilizado para remover contaminantes do ar e da água." #: lang/json/AMMO_from_json.py msgid "calcium carbide premix" msgid_plural "calcium carbide premix" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "pré-mistura de carbeto de cálcio" +msgstr[1] "pré-mistura de carbeto de cálcio" #. ~ Description for calcium carbide premix #: lang/json/AMMO_from_json.py @@ -582,6 +594,8 @@ msgid "" "A powdered mixture of coke and lime ready to be smelted into usable calcium " "carbide in an arc furnace." msgstr "" +"Uma mistura em pó de coque e cal, pronta para ser transformada em carbeto de" +" cálcio em um forno a arco elétrico." #: lang/json/AMMO_from_json.py msgid "coal" @@ -608,10 +622,10 @@ msgid "" "instead of on a timer. It can fly further than the explosion will reach, " "probably." msgstr "" -"Um dispositivo nuclear portátil fortemente modificado preso em um foguete. " +"Um dispositivo nuclear portátil altamente modificado preso em um foguete. " "Usado como munição de um lançador especializado, foi equipado para explodir " -"com o impacto ao invés de um temporizador. Provavelmente deve voar além do " -"alcance da explosão." +"com o impacto ao invés de com um temporizador. Provavelmente deve voar além " +"do alcance da explosão." #: lang/json/AMMO_from_json.py msgid "RA21E medical ampoule" @@ -650,11 +664,11 @@ msgstr "cartucho de filtro para rebreather" #. ~ Description for rebreather filter cartridge #: lang/json/AMMO_from_json.py msgid "A replacement filter cartridge for a rebreather." -msgstr "Um cartucho de filtro para rebreather" +msgstr "Um cartucho de filtro de reposição para um rebreather." #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "filter mask cartridge" -msgstr "cartucho de máscara de gás" +msgstr "cartucho de máscara de filtragem de ar" #. ~ Description for filter mask cartridge #: lang/json/AMMO_from_json.py @@ -718,18 +732,18 @@ msgstr "Uma lata de oxigênio." #: lang/json/AMMO_from_json.py msgid "spiked home-made rocket" -msgstr "foguete caseiro espetado" +msgstr "foguete caseiro com espeto" #. ~ Description for spiked home-made rocket #: lang/json/AMMO_from_json.py msgid "" "A hand-built rocket, consisting of a spike welded onto a pipe that was " "filled with improvised rocket fuel. Horribly inaccurate, as can be expected" -" of this grade of weapon, but packs a fierce punch... if it hits." +" of this grade of weapon, but packs a fierce punch… if it hits." msgstr "" -"Um foguete artesanal, feito ao soldar um espeto a um cano e encher de " -"combustível improvisado. Terrivelmente impreciso, como esperado desse tipo " -"de munição, mas se acertar pode causar um estrago." +"Um foguete feito á mão, consistindo de um espeto soldado em um cano cheio de" +" combustível improvisado de foguete. Terrivelmente impreciso, como se " +"esperaria desse tipo de arma, mas causa um dano terrível... caso acerte." #: lang/json/AMMO_from_json.py msgid "explosive home-made rocket" @@ -776,14 +790,16 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "unfinished calcium carbide" -msgstr "" +msgstr "carbeto de cálcio incompleto" #. ~ Description for unfinished calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"The incomplete process of converting coal and lime into calcium carbide. " -"Useless in this state/" +"The incomplete process of converting coal and lime into calcium carbide. " +"Useless in this state." msgstr "" +"O processo incompleto de converter carvão e cal em carbeto de cálcio. Inútil" +" em seu estado atual." #: lang/json/AMMO_from_json.py msgid "chain link" @@ -793,7 +809,7 @@ msgstr "elo de corrente" #: lang/json/AMMO_from_json.py msgid "Small metal rings, suitable for constructing chainmail." msgstr "" -"Pequenos anéis de metal, apropriado para a construção de cota de malha" +"Pequenos anéis de metal, apropriados para a construção de cota de malha." #: lang/json/AMMO_from_json.py msgid "nitrox" @@ -805,7 +821,7 @@ msgstr[1] "nitrox" #: lang/json/AMMO_from_json.py msgid "Mixture of oxygen and nitrogen in proportions suitable for diving." msgstr "" -"Mistura de oxigenio e nitrogenio em proporções próprias para mergulho." +"Mistura de oxigênio e nitrogênio em proporções próprias para mergulho." #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "tinder" @@ -817,7 +833,7 @@ msgstr[1] "acendalhas" #: lang/json/AMMO_from_json.py msgid "Flammable material, finely divided for easy combustion." msgstr "" -"Material Inflamavel, dividido em pequenas partes para fácil combustão." +"Material inflamável, dividido em pequenas partes para fácil combustão." #: lang/json/AMMO_from_json.py msgid "RPG die" @@ -828,7 +844,7 @@ msgstr[1] "dados de RPG" #. ~ Description for RPG die #: lang/json/AMMO_from_json.py msgid "A die used to play various role-playing games." -msgstr "Um dado utilizado para jogar vários jogos de rpg." +msgstr "Um dado utilizado para jogar vários jogos de RPG." #: lang/json/AMMO_from_json.py msgid "metal RPG die" @@ -839,7 +855,7 @@ msgstr[1] "dados de metal de RPG" #. ~ Description for metal RPG die #: lang/json/AMMO_from_json.py msgid "A metal die used to play various role-playing games" -msgstr "Um dado de metal utilizado para jogar vários jogos de rpg" +msgstr "Um dado de metal utilizado para jogar vários jogos de RPG." #: lang/json/AMMO_from_json.py msgid "bronze" @@ -856,7 +872,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "crude wooden arrow" -msgstr "flecha de madeira crua" +msgstr "flecha de madeira grosseira" #. ~ Description for crude wooden arrow #: lang/json/AMMO_from_json.py @@ -865,7 +881,7 @@ msgid "" "chance of remaining intact once fired." msgstr "" "Uma haste pontuda de madeira grosseira com um entalhe na parte de trás. Tem " -"uma chance muito baixa de se manter intacto depois de atirado." +"uma chance muito baixa de se manter intacta depois de atirada." #: lang/json/AMMO_from_json.py msgid "wooden bodkin arrow" @@ -877,8 +893,8 @@ msgid "" "A fletched wooden arrow shaft with a pointed tip. Useful for piercing " "armor. Stands a decent chance of remaining intact once fired." msgstr "" -"Uma flecha emplumada de madeira com uma ponta pontiaguda. Util para perfurar" -" armadura. Tem uma chance decente de se manter intacta apos ser atirada" +"Uma flecha emplumada de madeira com uma ponta pontiaguda. Útil para perfurar" +" armadura. Tem uma chance decente de se manter intacta após ser atirada." #: lang/json/AMMO_from_json.py msgid "simple wooden small game arrow" @@ -897,18 +913,18 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "wooden broadhead arrow" -msgstr "flecha broadhead de madeira" +msgstr "flecha de ponta larga de madeira" #. ~ Description for wooden broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched wooden arrow shaft with a bladed tip. Useful for maximising " +"A fletched wooden arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a decent chance of remaining intact once " "fired." msgstr "" -"Uma flecha de madeira emplumada com uma ponta laminada. Útil para maximizar " -"o dano ao alvo. Tem uma chance razoável de permanecer intacta uma vez " -"disparada." +"Uma haste de flecha, emplumada e de madeira, com uma ponta de lâmina. Útil " +"para maximizar dano. Possui uma chance decente de permanecer intacta após " +"ser disparada." #: lang/json/AMMO_from_json.py msgid "simple wooden arrow" @@ -966,20 +982,21 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "aluminum broadhead arrow" -msgstr "flecha broadhead de alumínio" +msgstr "flecha de ponta larga de alumínio" #. ~ Description for aluminum broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched aluminum arrow shaft with a bladed tip. Useful for maximising " +"A fletched aluminum arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a good chance of remaining intact once fired." msgstr "" -"Uma flecha de alumínio emplumada com uma ponta laminada. Útil para maximizar" -" o dano ao alvo. Tem uma boa chance de permanecer intacta uma vez disparada." +"Uma haste de flecha, emplumada e de alumínio, com uma ponta de lâmina. Útil " +"para maximizar dano ao alvo. Possui uma boa chance de permanecer intacta " +"após ser disparada." #: lang/json/AMMO_from_json.py msgid "aluminum field point arrow" -msgstr "flecha ponta de campo de alumínio" +msgstr "flecha com ponta de campo de alumínio" #. ~ Description for aluminum field point arrow #: lang/json/AMMO_from_json.py @@ -1017,8 +1034,8 @@ msgid "" "impressive damage to targets. Stands a good chance of remaining intact once" " fired." msgstr "" -"Uma flecha de fibra de carbono emplumada com uma ponta broadhead expansível." -" Causa um dano impressionanteaos alvos. Tem uma boa chance de permanecer " +"Uma flecha de fibra de carbono emplumada com uma ponta larga expansível. " +"Causa um dano impressionante aos alvos. Tem uma boa chance de permanecer " "intacta uma vez disparada." #: lang/json/AMMO_from_json.py @@ -1050,7 +1067,7 @@ msgid "" "should shoot it soon before it burns your bow." msgstr "" "Esta flecha tem um um trapo flamejante enrolado próximo à ponta. Você deve " -"atirar logo antes de queimar seu arco." +"atirar logo, antes que ela queime seu arco." #: lang/json/AMMO_from_json.py msgid "wooden fishing spear" @@ -1063,7 +1080,7 @@ msgid "" "light, but doesn't have much range. Stands a below average chance of " "remaining intact once fired." msgstr "" -"Uma lança de pesca submersa feita de madeira e aço. É muito leve, mas não " +"Uma lança de pesca aquática feita de madeira e aço. É muito leve, mas não " "tem muito alcance. Tem uma chance pequena de permanecer intacta ao ser " "atirada." @@ -1077,7 +1094,7 @@ msgid "" "An underwater fishing spear made from metal. It's light, but doesn't have " "much range. Stands a very good chance of remaining intact once fired." msgstr "" -"Uma lança de pesca submersa feita de metal. É leve, mas não tem muito " +"Uma lança de pesca aquática feita de metal. É leve, mas não tem muito " "alcance. Tem uma chance muito boa de permanecer intacta ao ser atirada." #: lang/json/AMMO_from_json.py @@ -1091,7 +1108,7 @@ msgid "" "doesn't have much range. Stands a bad chance of remaining intact once " "fired." msgstr "" -"Uma lança de pesca submersa feita de fibra de carbono. É muito leve, mas não" +"Uma lança de pesca aquática feita de fibra de carbono. É muito leve, mas não" " tem muito alcance. Tem uma chance ruim de permanecer intacta ao ser " "atirada." @@ -1120,9 +1137,10 @@ msgid "" "intended for use in specialized medical equipment, and can't be administered" " manually. You can reload an anesthesia kit with it." msgstr "" -"Uma variedade poderosos medicamentos hipnóticos, analgésicos e estimulantes." -" É destinado para uso em equipamento médico especializado, e não pode ser " -"administrado manualmente. Você pode recarregar um kit de anestesia com ele." +"Uma variedade de poderosos medicamentos hipnóticos, analgésicos e " +"estimulantes. É destinado para uso em equipamento médico especializado, e " +"não pode ser administrado manualmente. Você pode recarregar um kit de " +"anestesia com isso." #: lang/json/AMMO_from_json.py msgid "sulfur" @@ -1133,15 +1151,15 @@ msgstr[1] "enxofre" #. ~ Description for sulfur #: lang/json/AMMO_from_json.py msgid "" -"A handful of yellow grains of pure sulfur. Primarily used to make battery " -"acid, sulfur is sometimes used as fuel for explosives. Can be burned to " -"produce acidic smoke, that is deadly to bacteria and humans alike, or " -"oxidized to make paper-bleaching agents." +"A handful of pure sulfur. Primarily used to make battery acid, sulfur is " +"sometimes used as fuel for explosives. Can be burned to produce acidic " +"smoke, that is deadly to bacteria and humans alike, or oxidized to make " +"paper-bleaching agents." msgstr "" -"Um punhado de grãos amarelos de enxofre puro. Usado principalmente para " -"fazer ácido de bateria, o enxofre também é usado como combustível para " -"explosivos. Pode ser queimado para produzir fumaça ácida, que mata bactérias" -" e humanos, ou oxidado para fazer agentes branqueadores de papel." +"Um punhado de enxofre puro. Usado principalmente para fazer ácido de " +"bateria, o enxofre é às vezes usado em explosivos. Pode ser queimado para " +"produzir uma fumaça ácida, mortal tanto para bactérias como para pessoas, ou" +" oxidado para fazer agentes de branqueamento de papel." #: lang/json/AMMO_from_json.py msgid "chunk of sulfur" @@ -1151,8 +1169,8 @@ msgstr[1] "pedaços de enxofre" #. ~ Description for chunk of sulfur #: lang/json/AMMO_from_json.py -msgid "A large chunk of pure sulfur. Break it up to use it." -msgstr "Um pedaço grande de enxofre puro. Quebre para usar." +msgid "A chunk of pure sulfur. Break it up to use it." +msgstr "Um bloco de enxofre puro. Quebre-o em pedaços menores para utilizar." #: lang/json/AMMO_from_json.py msgid "cement" @@ -1221,7 +1239,8 @@ msgid "" "it into glass. Otherwise, it's only good for making cement." msgstr "" "Um punhado de areia da Nova Inglaterra. Se você tivesse uma fornalha acesa, " -"talvez pudesse transformar em vidro. Fora isso, só é bom para fazer cimento." +"talvez pudesse transformar isso em vidro. Fora isso, só é bom para fazer " +"cimento." #: lang/json/AMMO_from_json.py msgid "soil" @@ -1235,8 +1254,8 @@ msgid "" "A pile of loosely packed, slightly damp loamy soil. This mixture of sand, " "silt and clay is ideal for growing plants." msgstr "" -"Uma pilha levemente embalada, e levemente úmida de terra. Essa mistura de " -"areia, lodo e barro é ideal para o crescimento de plantas." +"Uma pilha levemente compactada e úmida de terra. Essa mistura de areia, lodo" +" e barro é ideal para o crescimento de plantas." #: lang/json/AMMO_from_json.py msgid "aluminum powder" @@ -1253,9 +1272,9 @@ msgid "" "virtually all commercial metallic-hued paints and anti-corrosive coatings." msgstr "" "Um punhado de pó de alumínio finamente moído. Este forte agente redutor era " -"usado combinado a vários oxidantes para soldagem química e explosivos. Pouco" -" antes do Cataclismo, no entanto, era a base de praticamente todas as tintas" -" metálicas comerciais e revestimentos anticorrosivos." +"usado juntamente com vários oxidantes para soldagem química e explosivos. " +"Pouco antes do Cataclismo, no entanto, era a base de praticamente todas as " +"tintas metálicas comerciais e revestimentos anticorrosivos." #: lang/json/AMMO_from_json.py msgid "zinc powder" @@ -1270,10 +1289,10 @@ msgid "" "for paints, hobbyists used to mix it with sulfur to make basic rocket fuel /" " smokescreen. When treated with a strong acid, it will produce hydrogen." msgstr "" -"Um punhado de pós de zinco. Embora comercialmente usado principalmente em " +"Um punhado de pó de zinco. Embora comercialmente usado principalmente em " "cosméticos e para tintas, os amadores costumavam misturá-lo com enxofre para" -" fazer combustível de foguete básico / cortina de fumaça. Quando tratado com" -" um ácido forte, produzirá hidrogênio." +" fazer combustível de foguete básico ou cortinas de fumaça. Quando tratado " +"com um ácido forte, produzirá hidrogênio." #: lang/json/AMMO_from_json.py msgid "zinc oxide" @@ -1284,11 +1303,11 @@ msgstr[1] "óxido de zinco" #. ~ Description for zinc oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of zinc oxide. It can be reduced into zinc, or used for some other" -" reactions of its own." +"A handful of zinc oxide. It can be reduced into zinc, or used for some " +"other reactions of its own." msgstr "" -"Um punhado de óxido de zinco. Pode ser reduzido em zinco ou utilizado para " -"algumas outras reações." +"Um punhado de óxido de zinco. Pode ser reduzido para se obter zinco, ou " +"utilizado por si só em algumas outras reações." #: lang/json/AMMO_from_json.py msgid "manganese dioxide" @@ -1299,12 +1318,12 @@ msgstr[1] "dióxido de manganês" #. ~ Description for manganese dioxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of manganese dioxide powder. Occurring naturally in the mineral " +"A handful of manganese dioxide powder. Occurring naturally in the mineral " "pyrolusite, it is used commercially in the production of alkaline and zinc-" "carbon batteries." msgstr "" -"Um punhado de pó de dióxido de manganês. Ocorre naturalmente como o mineral " -"pirolusita, é usado comercialmente na produção de baterias alcalinas e de " +"Um punhado de pó de dióxido de manganês. Ocorre naturalmente no mineral " +"pirolusita, e é usado na produção comercial de baterias alcalinas e de " "zinco-carbono." #: lang/json/AMMO_from_json.py @@ -1316,15 +1335,11 @@ msgstr[1] "cloreto de potássio" #. ~ Description for potassium chloride #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium chloride. Although it occurs naturally in the mineral" -" sylvite, it can be produced as a byproduct of the reaction of saltpeter and" -" hydrochloric acid. It can be used for making fertilizer, or potassium " -"hydroxide by way of electrolysis." +"A handful of potassium chloride. Although it occurs naturally in the " +"mineral sylvite, it can be produced as a byproduct of the reaction of " +"saltpeter and hydrochloric acid. It can be used for making fertilizer, or " +"potassium hydroxide by way of electrolysis." msgstr "" -"Um punhado de cloreto de potássio. Embora ocorra naturalmente como o mineral" -" silvina, pode ser produzido como subproduto da reação de salitre e ácido " -"hidroclórico. Pode ser usado na criação de fertilizante, ou hidróxido de " -"potássio via eletrólise." #: lang/json/AMMO_from_json.py msgid "potassium hydroxide" @@ -1335,14 +1350,10 @@ msgstr[1] "hidróxido de potássio" #. ~ Description for potassium hydroxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium hydroxide. Commonly called caustic potash, it was " -"mainly used industrially for its caustic nature. It can be used as an " +"A handful of potassium hydroxide. Commonly called caustic potash, it was " +"mainly used industrially for its caustic nature. It can be used as an " "electrolyte in alkaline batteries, among other applications." msgstr "" -"Um punhado de hidróxido de potássio. Comumente chamado de potassa cáustica, " -"era utilizado na indústria principalmente devido às suas propriedades " -"cáusticas. Pode ser usado como eletrólito em baterias alcalinas, entre " -"outras aplicações." #: lang/json/AMMO_from_json.py msgid "sulfuric acid" @@ -1372,10 +1383,13 @@ msgstr[1] "ácido hidroclórico" #. ~ Description for hydrochloric acid #: lang/json/AMMO_from_json.py msgid "" -"Hydrochloric acid, also known as muriatic acid. It is a strong acid that has" -" a distinctive smell, important and frequently used ever since its " -"discovery. It still has a vast multitude of uses." +"Hydrochloric acid, also known as muriatic acid. It is a strong acid that " +"has a distinctive smell, important and frequently used ever since its " +"discovery. It still has a vast multitude of uses." msgstr "" +"Ácido hidroclórico, também conhecido como ácido muriático. É um ácido forte " +"que possui um cheiro distinto. Importante e frequentemente utilizado desde " +"sua descoberta, ainda possui uma vasta gama de usos." #: lang/json/AMMO_from_json.py msgid "acetone" @@ -1391,7 +1405,7 @@ msgid "" "demonstrated by the terrorist attacks of 2016." msgstr "" "Acetona, mais conhecida como o principal constituinte da maioria dos " -"removedores de esmalte. Inflamável e pode facilmente ser usado para " +"removedores de esmalte. Inflamável e pode facilmente ser usada para " "explosivos caseiros potentes, como demonstrado pelos ataques terroristas de " "2016." @@ -1414,7 +1428,7 @@ msgstr "" "principalmente na produção de fertilizantes sintéticos, para gravação de " "placas de circuito e em marcenaria. Ainda é bastante útil tanto para criar " "uma vasta gama de agentes pirotécnicos e explosivos quanto para ser uma arma" -" direta: não muitos seres gostam de ser ensopados em ácido nítrico." +" direta: não há muitos seres que gostam de ser ensopados em ácido nítrico." #: lang/json/AMMO_from_json.py msgid "chromium oxide" @@ -1425,18 +1439,12 @@ msgstr[1] "óxido de crômio" #. ~ Description for chromium oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of chromium oxide pellets. This substance, typically known as the" -" only stable green pigment for paints, is also a mild oxidizer, which can be" -" mixed with aluminum powder to make thermite for welding. If one had access" -" to a CVD machine and a laboratory worth of reagents, they might be able to " +"A handful of chromium oxide. This substance, typically known as the only " +"stable green pigment for paints, is also a mild oxidizer, which can be mixed" +" with aluminum powder to make thermite for welding. If one had access to a " +"CVD machine and a laboratory worth of reagents, they might be able to " "produce very durable ceramic layers." msgstr "" -"Um punhado de pelotas de óxido de cromo. Esta substância, tipicamente " -"conhecida como o único pigmento verde estável para tintas, é também um " -"oxidante suave, que pode ser misturado pó de alumínio para fazer termita " -"para soldagem. Se alguém tivesse acesso a uma máquina de deposição de vapor " -"químico (CVD) e a um laboratório de reagentes, poderiam produzir camadas " -"cerâmicas muito duráveis." #: lang/json/AMMO_from_json.py msgid "calcium carbide" @@ -1447,17 +1455,12 @@ msgstr[1] "carbeto de cálcio" #. ~ Description for calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"A handful of calcium carbide chunks, giving off a faint, garlic-like smell." -" Commercially, calcium carbide was used for on-the-spot manufacture of " +"A handful of calcium carbide, giving off a faint, garlic-like smell. " +"Commercially, calcium carbide was used for on-the-spot manufacture of " "acetylene and historically to power acetylene lamps. If mixed with water " "and sealed, it will explode with little strength, but with relatively loud " "noise and could maybe be used as a decoy." msgstr "" -"Um punhado de pedaços de carboneto de cálcio, exalando um leve cheiro de " -"alho. Comercialmente, carboneto de cálcio era usado na manufatura in loco de" -" acetileno e historicamente para alimentar lâmpadas de acetileno. Se " -"misturado com água e selado, ele explodirá com pouca força, mas com barulho " -"relativamente alto e talvez possa ser usado como chamariz." #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "hexamine" @@ -1474,12 +1477,11 @@ msgid "" "before, being the key component in the preparation of several military-grade" " explosives." msgstr "" -" hexamineUm punhado de comprimidos de hexamina cerosa. " -"Estecombustívelonipresente foi usado para iniciar quase todas as " -"churrasqueirasde jardime nenhuma viagem de acampamento \"real\" poderia " -"fazer sua cozinha sem ele, até o Cataclismo. Hoje em dia, é ainda mais " -"valioso do que antes, sendo ocomponente chave na preparação de vários " -"explosivos militares." +"Um punhado de comprimidos de hexamina cerosa. Este combustível onipresente " +"foi usado para acender quase todas as churrasqueiras de jardim, e nenhuma " +"viagem de acampamento \"real\" poderia fazer sua cozinha sem ele, até o " +"Cataclismo. Hoje em dia, é ainda mais valioso do que antes, sendo o " +"componente chave na preparação de vários explosivos militares." #: lang/json/AMMO_from_json.py msgid "hydrogen peroxide (concentrated)" @@ -1664,6 +1666,20 @@ msgstr "" "poisafuligem produzida quando queima pode rapidamente entupir qualquer " "armadefogo, mas pode ser usada para fazer algumas bombas perigosas." +#: lang/json/AMMO_from_json.py +msgid "match head powder" +msgid_plural "match head powder" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for match head powder +#: lang/json/AMMO_from_json.py +msgid "" +"Some match head powder from match heads, similar to black gunpowder but a " +"bit weaker. It can be used in crafting explosives and fuses when other more" +" suitable candidates are less available." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "RDX" msgid_plural "RDX" @@ -2053,7 +2069,7 @@ msgstr[1] "" #. ~ Description for flamethrower fuel #: lang/json/AMMO_from_json.py msgid "" -"A mixture of gasoline and diesel oil in equal parts. Its combustion " +"A mixture of gasoline and diesel oil in equal parts. Its combustion " "properties make it unfit for applications where you would use any of them " "separately, but it can be used to feed a flamethrower." msgstr "" @@ -2920,7 +2936,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "reloaded .38 Super" -msgstr "" +msgstr ".38 Super recarregado" #: lang/json/AMMO_from_json.py msgid ".38 FMJ blackpowder" @@ -3543,41 +3559,47 @@ msgid "reloaded .460 Rowland" msgstr "recarregado .460 Rowland" #: lang/json/AMMO_from_json.py -msgid ".50 BMG tracer" -msgstr "0,5 tracer BMG" +msgid ".50 BMG M17 tracer" +msgstr "" -#. ~ Description for .50 BMG tracer +#. ~ Description for .50 BMG M17 tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances." +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances." msgstr "" -" Uma variante do rastreador do poderoso .50 BMG sniper round. " -"Tracerarredonda-se para ajudar a manter a arma em que são disparados noalvo," -" sobrisco de inflamar substâncias inflamáveis." #: lang/json/AMMO_from_json.py -msgid ".50 BMG Ball" -msgstr "0,50 bola BMG" +msgid ".50 BMG M33 Ball" +msgstr "" -#. ~ Description for .50 BMG Ball +#. ~ Description for .50 BMG M33 Ball #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise." +".50 BMG ammunition with mild steel cored 661gr FMJ bullets. The .50 BMG is " +"a very powerful rifle round designed for anti-aircraft use, later adapted to" +" anti-vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -" O 0,50 BMG é um rifle muito poderoso projetado para uso em longoalcance. " -"Sua estupenda precisão e capacidade de perfuração de blindagemfazem deleum " -"dos rounds mais mortíferos disponíveis, compensados apenas porseu recuoe " -"ruído drásticos." #: lang/json/AMMO_from_json.py -msgid ".50 BMG AP" +msgid ".50 BMG Match" msgstr "" -#. ~ Description for .50 BMG AP +#. ~ Description for .50 BMG Match +#: lang/json/AMMO_from_json.py +msgid "" +".50 BMG FMJ lead core ammunition manufactured with tighter tolerances for " +"long-range competition shooting or other precision rifle use." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid ".50 BMG M2 AP" +msgstr "" + +#. ~ Description for .50 BMG M2 AP #: lang/json/AMMO_from_json.py msgid "" "Variant of the .50 BMG round that uses a core of very dense, hardened " @@ -3587,6 +3609,23 @@ msgstr "" "açodetungsténio muito denso e endurecido. A penetração é aumentada, mas o " "danoéreduzido." +#: lang/json/AMMO_from_json.py +msgid ".50 BMG Raufoss Mk 211" +msgstr "" + +#. ~ Description for .50 BMG Raufoss Mk 211 +#: lang/json/AMMO_from_json.py +msgid "" +"This variant of the .50 BMG round makes the most of the caliber's potential " +"payload delivery: the tip is loaded with an incendiary mix, which ignites on" +" impact, detonating the RDX or PETN charge. This also ignites a secondary " +"zirconium powder incendiary charge that surrounds a tungsten carbide " +"penetrator, both encased by a mild steel cup. Fragments from the cup and " +"burning metallic powder follow the penetrator through armored targets, " +"increasing lethality. These rare, complicated, and expensive rounds are not" +" likely to be manufactured again; use them wisely." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG tracer" msgstr "recarregado .50 BMG tracer" @@ -3594,31 +3633,24 @@ msgstr "recarregado .50 BMG tracer" #. ~ Description for reloaded .50 BMG tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances. This one has been hand-reloaded." +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances. This one has been hand-reloaded." msgstr "" -" Uma variante do rastreador do poderoso .50 BMG sniper round. " -"Tracerarredonda-se para ajudar a manter a arma em que são disparados noalvo," -" sobrisco de inflamar substâncias inflamáveis. Este " -"foirecarregadomanualmente." #: lang/json/AMMO_from_json.py -msgid "reloaded .50 BMG Ball" -msgstr "bola recarregada .50 BMG" +msgid "reloaded .50 BMG Match" +msgstr "" -#. ~ Description for reloaded .50 BMG Ball +#. ~ Description for reloaded .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise. This" -" one has been hand-reloaded." +".50 BMG ammunition with lead-cored FMJ bullets. The .50 BMG is a very " +"powerful rifle round designed for anti-aircraft use, later adapted to anti-" +"vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -" O 0,50 BMG é um rifle muito poderoso projetado para uso em longoalcance. " -"Sua estupenda precisão e capacidade de perfuração de blindagemfazem deleum " -"dos rounds mais mortíferos disponíveis, compensados apenas porseu recuoe " -"ruído drásticos. Este foi recarregado manualmente." #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG AP" @@ -3627,13 +3659,9 @@ msgstr "recarregado .50 BMG AP" #. ~ Description for reloaded .50 BMG AP #: lang/json/AMMO_from_json.py msgid "" -"Variant of the .50 BMG round that uses a core of very dense, hardened " -"tungsten steel. Penetration is increased, but damage is reduced. This one " -"has been hand-reloaded." +"Variant of the .50 BMG round that uses a core hardened steel. Penetration " +"is increased, but damage is reduced. This one has been hand-reloaded." msgstr "" -" Variante do round de 0,50 BMG que usa um núcleo de aço " -"detungstênioendurecido, muito denso. A penetração é aumentada, mas o dano " -"éreduzido. Este foi recarregado manualmente." #: lang/json/AMMO_from_json.py msgid ".500 S&W Magnum" @@ -4735,6 +4763,106 @@ msgstr "Algumas sementes de fungos." msgid "fungal flower" msgstr "flor de fungos" +#: lang/json/AMMO_from_json.py +msgid "potassium alum" +msgstr "" + +#. ~ Description for potassium alum +#: lang/json/AMMO_from_json.py +msgid "" +"Small water-soluble white crystals with watery metallic odor, historically " +"used for many different purposes. Also known as potash alum and potassium " +"aluminum sulfate; often called simply alum, as it's the most important " +"member of the generic class of compounds called alums." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cloth dye powder" +msgstr "" + +#. ~ Description for cloth dye powder +#: lang/json/AMMO_from_json.py +msgid "" +"This is a powdered colorful cloth dye, which can be used to dye many fabrics" +" if combined with water and some mordant." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel buckle" +msgstr "" + +#. ~ Description for steel buckle +#: lang/json/AMMO_from_json.py +msgid "A steel buckle, like that usually found on belts." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "plastic button" +msgstr "" + +#. ~ Description for plastic button +#: lang/json/AMMO_from_json.py +msgid "A plastic button, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel button" +msgstr "" + +#. ~ Description for steel button +#: lang/json/AMMO_from_json.py +msgid "A steel button, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "wooden button" +msgstr "" + +#. ~ Description for wooden button +#: lang/json/AMMO_from_json.py +msgid "A crude wooden button, usually found on very old clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "steel snap fastener" +msgstr "" + +#. ~ Description for steel snap fastener +#: lang/json/AMMO_from_json.py +msgid "A steel snap fastener, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "touch fastener" +msgstr "" + +#. ~ Description for touch fastener +#: lang/json/AMMO_from_json.py +msgid "" +"This is a pair of cloth strips, one of which has tiny hooks and another has " +"tiny loops. Useful as a fastener for clothing and footwear." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "long plastic zipper" +msgstr "" + +#. ~ Description for long plastic zipper +#: lang/json/AMMO_from_json.py +msgid "A long zipper made from plastic, usually found on clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "short plastic zipper" +msgstr "" + +#. ~ Description for short plastic zipper +#: lang/json/AMMO_from_json.py +msgid "" +"A short zipper made from plastic, usually found on footwear or clothing " +"pockets." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "red paint" msgid_plural "red paint" @@ -4893,7 +5021,7 @@ msgstr[1] "zinco" #: lang/json/AMMO_from_json.py msgid "" "A slightly brittle metal. Apart from being an essential mineral that the " -"body needs, it reacts readily with acids, alkalis and other non-metals. It " +"body needs, it reacts readily with acids, alkalis and other non-metals. It " "can be crushed to make zinc powder, used in the production of batteries, " "among other things." msgstr "" @@ -4983,11 +5111,9 @@ msgstr "dobradiça de porta" #. ~ Description for door hinge #: lang/json/AMMO_from_json.py msgid "" -"A small metal hinge with two metal plates with screw holes. Useful for " +"A small metal hinge with two metal plates with screw holes. Useful for " "making doors." msgstr "" -"Uma pequena dobradiça metálica, composta de duas placas com buracos de " -"parafuso. Útil para fazer portas." #: lang/json/AMMO_from_json.py msgid "tin powder" @@ -4996,11 +5122,9 @@ msgstr "pó de estanho" #. ~ Description for tin powder #: lang/json/AMMO_from_json.py msgid "" -"A fine gray powder composed of tin, usable for making solder and lining " +"A fine gray powder composed of tin, usable for making solder and lining " "containers to prevent corrosion." msgstr "" -"Um pó cinzento fino de estanho, útil para fazer solda e cobrir recipientes " -"para impedir corrosão." #: lang/json/AMMO_from_json.py msgid "solder" @@ -5028,6 +5152,372 @@ msgstr "" " Material incendiário de uma rodada incendiária, útil na construçãodemunição" " incendiária." +#: lang/json/AMMO_from_json.py +msgid "fuse" +msgid_plural "fuse" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fuse +#: lang/json/AMMO_from_json.py +msgid "" +"A piece of fuse, long enough to give you enough time to get away from most " +"explosions." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "rubber sole" +msgstr "" + +#. ~ Description for rubber sole +#: lang/json/AMMO_from_json.py +msgid "" +"This is a sole made from rubber, usually found on the bottoms of boots. Can" +" be used for making actual boots." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cotton scraps" +msgid_plural "cotton scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for cotton scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of cotton, waste material from tailoring " +"projects. Not useful for much and usually disposed of, but can be recycled " +"into some thread if you really want." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "faux fur scraps" +msgid_plural "faux fur scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for faux fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of faux fur, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "felt scraps" +msgid_plural "felt scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for felt scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of felt, waste material from tailoring projects." +" Not useful for much and usually disposed of, but can be recycled into some" +" wool fiber if you really want." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "fur scraps" +msgid_plural "fur scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of fur, waste material from tailoring projects. " +"Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar scraps" +msgid_plural "Kevlar scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Kevlar scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of Kevlar fabric, waste material from tailoring " +"projects. Normally it's disposed of, but since Kevlar would be very " +"difficult to make in a post-apocalyptic world, it might be worth recycling " +"it for Kevlar thread." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "leather scraps" +msgid_plural "leather scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for leather scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of leather, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lycra scraps" +msgid_plural "lycra scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lycra scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of lycra, waste material from tailoring projects." +" Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "neoprene scraps" +msgid_plural "neoprene scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for neoprene scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of neoprene, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric scraps" +msgid_plural "synthetic fabric scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for synthetic fabric scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of synthetic fabric, waste material from " +"tailoring projects. Not useful for much and usually disposed of." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex scraps" +msgid_plural "Nomex scraps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Nomex scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of heat-resistant Nomex fabric, waste material " +"from tailoring projects. Normally it's disposed of, but since Nomex would " +"be very difficult to make in a post-apocalyptic world, it might be worth " +"recycling it." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "cotton sheet" +msgstr "" + +#. ~ Description for cotton sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of cotton fabric, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork cotton clothing parts" +msgid_plural "patchwork cotton clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork cotton clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from cotton patches in " +"a patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "faux fur sheet" +msgstr "" + +#. ~ Description for faux fur sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of fake synthetic colorful fur, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork faux fur clothing parts" +msgid_plural "patchwork faux fur clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork faux fur clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from faux fur patches " +"in a patchwork fashion. Suitable for making most clothing, though it's much" +" less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "felt sheet" +msgstr "" + +#. ~ Description for felt sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of felt, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork felt clothing parts" +msgid_plural "patchwork felt clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork felt clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from felt patches in a " +"patchwork fashion. Suitable for making most clothing, though it's much less" +" time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar sheet" +msgstr "" + +#. ~ Description for Kevlar sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Kevlar synthetic fabric, suitable for making bulletproof armor. " +"In this form, unlike rigid plates, it can be stitched." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lycra sheet" +msgstr "" + +#. ~ Description for lycra sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of synthetic fabric blended with stretchy lycra fibers, suitable for" +" making flexible yet strong clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork lycra clothing parts" +msgid_plural "patchwork lycra clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork lycra clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from lycra patches in a" +" patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py lang/json/GENERIC_from_json.py +msgid "neoprene sheet" +msgid_plural "neoprene sheets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for neoprene sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of neoprene, a synthetic rubber, suitable for making underwater " +"gear." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork neoprene clothing parts" +msgid_plural "patchwork neoprene clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork neoprene clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from neoprene patches " +"in a patchwork fashion, with waterproofed seams. Suitable for making most " +"clothing, though it's much less time-efficient than if using proper material" +" sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex sheet" +msgstr "" + +#. ~ Description for Nomex sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Nomex synthetic fabric, suitable for making heat-resistant " +"clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork Nomex clothing parts" +msgid_plural "patchwork Nomex clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork Nomex clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together with Nomex thread from " +"Nomex patches in a patchwork fashion. Suitable for making most clothing, " +"though it's much less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric sheet" +msgstr "" + +#. ~ Description for synthetic fabric sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of synthetic fabric, suitable for making clothing." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork synthetic fabric clothing parts" +msgid_plural "patchwork synthetic fabric clothing parts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for patchwork synthetic fabric clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from synthetic fabric " +"patches in a patchwork fashion. Suitable for making most clothing, though " +"it's much less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar thread" +msgstr "" + +#. ~ Description for Kevlar thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some very durable Kevlar thread that would be particularly useful for making" +" ballistic armor, though it's fine to use in place of normal thread too, in " +"most cases. Making armor-grade Kevlar sheets from this would need a " +"particularly tight weave, and so would need some specialized machinery." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex thread" +msgstr "" + +#. ~ Description for Nomex thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some heat-resistant Nomex thread that would be particularly useful for " +"making heat protection gear, though it's fine to use in place of normal " +"thread too, in most cases." +msgstr "" + #: lang/json/AMMO_from_json.py msgid "handloaded .22 CB" msgid_plural "handloaded .22 CB" @@ -5636,6 +6126,18 @@ msgstr "" "calorosamentenoimpacto, perfurar armaduras e inflamar substâncias " "inflamáveis." +#: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py +msgid "orichalcum arrow" +msgstr "" + +#. ~ Description for orichalcum arrow +#: lang/json/AMMO_from_json.py +msgid "" +"An arrow composed of a sliver of orichalcum. The arrow has a mysterious " +"glow. Has a very high chance of staying intact when fired, however can only" +" be fired from Ichaival." +msgstr "" + #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "dragon blood" msgid_plural "dragon blood" @@ -5683,8 +6185,29 @@ msgstr[1] "" #. ~ Description for crystallized mana #: lang/json/AMMO_from_json.py msgid "" -"Some crystallized mana. This can be reloaded into rechargable mana crystals," -" but can never be unloaded." +"Some crystallized mana. This can be reloaded into rechargable mana " +"crystals, but can never be unloaded." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "lump of orichalcum" +msgstr "" + +#. ~ Description for lump of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A heavy formed piece of strange metal. Useful for some crafting recipes." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "sliver of orichalcum" +msgstr "" + +#. ~ Description for sliver of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A sliver of a strange glowing metal. Useful as a weapon, but better suited " +"for crafting." msgstr "" #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py @@ -5970,8 +6493,8 @@ msgstr "espoleta elétrica pequena" #: lang/json/AMMO_from_json.py msgid "Primer for an autocannon shell. Seems to use an electric ignition." msgstr "" -" Primer para uma concha de canhão automático. Parece usar " -"umaigniçãoelétrica." +"Espoleta para um projétil de canhão automático. Parece usar uma ignição " +"elétrica." #: lang/json/AMMO_from_json.py msgid "large electric primer" @@ -6889,8 +7412,10 @@ msgstr[1] "talabartes" #. ~ Use action holster_msg for pair of rollerblades. #. ~ Use action holster_msg for pair of rollerskates. #. ~ Use action holster_msg for C.R.I.T web belt. +#. ~ Use action holster_msg for technomancer's toolbelt. #. ~ Use action holster_msg for hollow cane. -#: lang/json/ARMOR_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/ARMOR_from_json.py lang/json/ARMOR_from_json.py +#: lang/json/GENERIC_from_json.py #, no-python-format msgid "You sheath your %s" msgstr "Você embainha sua %s" @@ -7585,6 +8110,46 @@ msgid "" "small straps designed to better distribute the weight." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail chausses" +msgid_plural "pairs of chainmail chausses" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of chainmail chausses +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail chausses that cover the feet, like booties made of " +"chainmail." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail gloves" +msgid_plural "pairs of chainmail gloves" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of chainmail gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail gloves. They fully enclose the fingers and provide " +"excellent protection, but are somewhat cumbersome." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "faraday chainmail suit" +msgid_plural "faraday chainmail suits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for faraday chainmail suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A fully customized chainmail suit that can be worn over your normal " +"clothing. The suit is conductively interconnected, protecting against " +"electricity." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "leather chaps" msgid_plural "leather chaps" @@ -7753,6 +8318,28 @@ msgstr "" " traje de palhaço Um traje colorido e ridículo para um palhaço. " "Fornecearmazenamento decente." +#: lang/json/ARMOR_from_json.py +msgid "clown wig" +msgid_plural "clown wigs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for clown wig +#: lang/json/ARMOR_from_json.py +msgid "A colorful and ridiculous wig fit for a clown." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "clown nose" +msgid_plural "clown noses" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for clown nose +#: lang/json/ARMOR_from_json.py +msgid "A red latex nose often seen being worn by clowns." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fur coat" msgid_plural "fur coats" @@ -8048,6 +8635,22 @@ msgstr "" " camisa de vestidoA camisa de botão branca com mangas compridas. " "Pareceprofissional!" +#: lang/json/ARMOR_from_json.py +msgid "drinking hat" +msgid_plural "drinking hats" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for drinking hat +#: lang/json/ARMOR_from_json.py +msgid "" +"This is an improvised harness that can be worn over other headgear or bare " +"head, made from two small liquid containers, a rubber hose, a bundle of " +"steel wire, and some cordage. A convenient and simple device for hands-free" +" drinking, though the liquid inside would spill if you put it into your " +"backpack." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "wedding dress" msgid_plural "wedding dresses" @@ -8213,6 +8816,32 @@ msgid "Provides a bit of extra storage, with minimal encumbrance." msgstr "" " fanny packFornece um pouco de armazenamento extra, com o mínimo de ônus." +#: lang/json/ARMOR_from_json.py +msgid "underarm protector" +msgid_plural "underarm protectors" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for underarm protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A sturdy cotton plastron that protects much of the torso, the dominant " +"shoulder, and underarm while fencing." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "plastic chest protector" +msgid_plural "plastic chest protectors" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for plastic chest protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A rigid plastic plastron with molded cups to be worn by female fencers for " +"protection while fencing." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fencing jacket" msgid_plural "fencing jackets" @@ -8229,6 +8858,34 @@ msgstr "" "usadoporesgrimistas para evitar acidentes. Não possui depósito, mas " "émuitoconfortável." +#: lang/json/ARMOR_from_json.py +msgid "lamé (foil)" +msgid_plural "lamé (foil)s" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lamé (foil) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive vest with the zipper on the back used by " +"fencers for electronic scoring. Its outer layer is a woven mix of sturdy " +"cotton and stainless steel strands." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "lamé (saber)" +msgid_plural "lamé (saber)s" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lamé (saber) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive jacket used by fencers for electronic " +"scoring. Its outer layer is a woven mix of sturdy cotton and stainless " +"steel strands." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fencing mask" msgid_plural "fencing masks" @@ -8255,6 +8912,32 @@ msgstr "" " calça de esgrimaUm par de calças reforçadas usadas por " "esgrimistasparaevitar ferimentos." +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet" +msgid_plural "fencing gauntlets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fencing gauntlet +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet (left)" +msgid_plural "fencing gauntlet (left)s" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fencing gauntlet (left) +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers. This one is left-handed." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of fire gauntlets" msgid_plural "pairs of fire gauntlets" @@ -8687,22 +9370,6 @@ msgstr "" " par de luvas de peleUm par de luvas de peles quentes. Eles são " "umpoucocomplicados." -#: lang/json/ARMOR_from_json.py -msgid "pair of survivor wetsuit gloves" -msgid_plural "pairs of survivor wetsuit gloves" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for pair of survivor wetsuit gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" -" wear while providing maximum protection under extreme conditions." -msgstr "" -" um par de luvas de neoprene para sobreviventesUm par de luvas " -"deneopreneKevlar blindadas personalizadas, modificadas para serem fáceis " -"deusar, proporcionando proteção máxima sob condições extremas." - #: lang/json/ARMOR_from_json.py msgid "pair of heavy survivor gloves" msgid_plural "pairs of heavy survivor gloves" @@ -8772,6 +9439,20 @@ msgstr "" "tecidoKevlarpersonalizadas, modificadas para serem fáceis de usar, " "proporcionandoproteção máxima sob condições extremas." +#: lang/json/ARMOR_from_json.py +msgid "pair of fingerless survivor gloves" +msgid_plural "pairs of fingerless survivor gloves" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of fingerless survivor gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored cloth gloves with no fingers, modified " +"to be easy to wear while providing maximum protection under extreme " +"conditions." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of medical gloves" msgid_plural "pairs of medical gloves" @@ -9034,17 +9715,6 @@ msgstr "" " par de óculos de esquiUm grande par de óculos que fecham " "completamenteosolhos. Fornece excelente proteção contra perigos ambientais." -#: lang/json/ARMOR_from_json.py -msgid "pair of swim goggles" -msgid_plural "pairs of swim goggles" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for pair of swim goggles -#: lang/json/ARMOR_from_json.py -msgid "A small pair of goggles made for swimming." -msgstr "Um par de óculos de natação feitos para nadar." - #: lang/json/ARMOR_from_json.py msgid "pair of welding goggles" msgid_plural "pairs of welding goggles" @@ -9087,23 +9757,6 @@ msgstr "" " greatcoatUm casaco de lã pesado e comprido. Incômodo, mas quente ecombolsos" " profundos." -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit" -msgid_plural "survivor wetsuits" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for survivor wetsuit -#: lang/json/ARMOR_from_json.py -msgid "" -"A lightweight, hand-built combination armor made from a cut-down bulletproof" -" vest and a reinforced neoprene wetsuit. Protects from the elements as well" -" as from harm." -msgstr "" -" roupa de mergulho para sobreviventesUma combinação de armadura leve, " -"feitaàmão, feita de um colete à prova de balas e um fato de " -"neoprenereforçado. Protege dos elementos, bem como do dano." - #: lang/json/ARMOR_from_json.py msgid "hakama" msgid_plural "hakamas" @@ -9691,20 +10344,6 @@ msgstr "" " Sobrevivente IncêndioUm personalizado Nomex blindado e capô Kevlar, " "muitoforte e durável." -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit hood" -msgid_plural "survivor wetsuit hoods" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for survivor wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "" -"A customized armored neoprene and Kevlar hood, very strong and durable." -msgstr "" -" capa de wetsuit survivorUm neoprene blindado personalizado e capuzKevlar, " -"muito forte e durável." - #: lang/json/ARMOR_from_json.py msgid "light survivor hood" msgid_plural "light survivor hoods" @@ -10053,8 +10692,8 @@ msgid "" "Long, flowing robes. Simple and comfortable to wear. Be sure to tear it " "off dramatically before fighting any foes!" msgstr "" -" Jedi manto Longos trajes esvoaçantes. Simples e confortável deusar. " -"Certifique-se de rasgá-lo dramaticamente antes de lutar contra osinimigos!" +"Longos trajes esvoaçantes. Simples e confortável de usar. Certifique-se de " +"rasgá-lo dramaticamente antes de lutar contra os inimigos!" #: lang/json/ARMOR_from_json.py msgid "sports jersey" @@ -10068,80 +10707,80 @@ msgid "" "A shirt made of thick material imprinted with the name and logo of a sports " "team." msgstr "" -" jersey esportivoUma camisa feita de material grosso com o nome e o logoti " -"pode uma equipe esportiva." +"Uma camisa feita de material grosso com o nome e o logotipo de uma equipe " +"esportiva." #: lang/json/ARMOR_from_json.py msgid "" "A pro thunderball jersey made of thick material imprinted with the logo of " "the Decatur Fist." msgstr "" -" Uma camisa pro thunderball feita de material grosso impresso com " -"ologotipodo Decatur Fist." +" Uma camisa de pro thunderball feita de material grosso impresso com o " +"logotipo do Decatur Fist." #: lang/json/ARMOR_from_json.py msgid "" "A 43-man squamish jersey made of thick material imprinted with the logo of " "the Gainesville Veeblefetzers." msgstr "" -" Uma camisa squamish de 43 homens feita de material grosso impresso comologo" -" dos Veeblefetzers de Gainesville." +" Uma camisa squamish 43 feita de material grosso impresso com o logo dos " +"Veeblefetzers de Gainesville." #: lang/json/ARMOR_from_json.py msgid "" "A zero-G football jersey made of thick material imprinted with the logo of " "the London Jets." msgstr "" -" Uma camisa de futebol zero-G feita de material grosso impresso comologotipo" -" do London Jets." +" Uma camisa de futebol zero-G feita de material grosso impresso com o " +"logotipo do London Jets." #: lang/json/ARMOR_from_json.py msgid "" "A football jersey made of thick material imprinted with the logo of the " "Endsville Fluffycats." msgstr "" -" Uma camisa de futebol feita de material grosso impresso com o " -"logotipodaEndsville Fluffycats." +" Uma camisa de futebol feita de material grosso impresso com o logotipo da " +"Endsville Fluffycats." #: lang/json/ARMOR_from_json.py msgid "" "A baseball jersey made of thick material imprinted with the logo of the " "Tokyo Samurai." msgstr "" -" Uma camisa de beisebol feita de material grosso impresso com o " -"logotipodosamurai de Tóquio." +" Uma camisa de beisebol feita de material grosso impresso com o logotipo do " +"Samurai de Tóquio." #: lang/json/ARMOR_from_json.py msgid "" "A basketball jersey made of thick material imprinted with the logo of the " "Basin City Blues." msgstr "" -" Uma camisa de basquete feita de material grosso impresso com o " -"logotipodaBasin City Blues." +" Uma camisa de basquete feita de material grosso impresso com o logotipo da " +"Basin City Blues." #: lang/json/ARMOR_from_json.py msgid "" "A death race jersey made of thick material imprinted with Frankenstein's " "logo and signature." msgstr "" -" Uma camisa da raça da morte feita de material grosso impresso com " -"ologotipoe a assinatura de Frankenstein." +" Uma camisa de corrida da morte feita de material grosso impresso com o " +"logotipo e a assinatura de Frankenstein." #: lang/json/ARMOR_from_json.py msgid "" "A rollerball jersey made of thick material imprinted with the logo of the " "Houston Energy Corporation." msgstr "" -" Uma camisa de rollerball feita de material grosso impresso com o " -"logotipodaHouston Energy Corporation." +" Uma camisa de rollerball feita de material grosso impresso com o logotipo " +"da Houston Energy Corporation." #: lang/json/ARMOR_from_json.py msgid "" "A hockey jersey made of thick material imprinted with the logo of the " "Monroeville Zombies." msgstr "" -" Uma camisa de hóquei feita de material grosso impresso com o " -"logotipodosMonroeville Zombies." +" Uma camisa de hóquei feita de material grosso impresso com o logotipo dos " +"Monroeville Zombies." #: lang/json/ARMOR_from_json.py msgid "judo belt template" @@ -10153,8 +10792,7 @@ msgstr[1] "modelos de faixas judô" #: lang/json/ARMOR_from_json.py msgid "This is a template for judo belts. If found in a game it is a bug." msgstr "" -" modelo de cinto de judôEste é um modelo para cintos de judô. Seencontradoem" -" um jogo, é um bug." +"Este é um modelo para cintos de judô. Se encontrado em um jogo, é um bug." #: lang/json/ARMOR_from_json.py msgid "black belt" @@ -10166,8 +10804,7 @@ msgstr[1] "faixas pretas" #: lang/json/ARMOR_from_json.py msgid "A belt worn by martial arts practitioners, advertising a master." msgstr "" -" cinto pretoUm cinto usado por praticantes de artes marciais, " -"anunciandoummestre." +"Um cinto usado por praticantes de artes marciais, anunciando um mestre." #: lang/json/ARMOR_from_json.py msgid "blue belt" @@ -10181,8 +10818,8 @@ msgid "" "A belt worn by martial arts practitioners, advertising a strong " "intermediate." msgstr "" -" cinto azulUm cinto usado por praticantes de artes marciais, " -"anunciandoumintermediário forte." +"Um cinto usado por praticantes de artes marciais, anunciando um " +"intermediário forte." #: lang/json/ARMOR_from_json.py msgid "brown belt" @@ -10194,8 +10831,8 @@ msgstr[1] "faixas marrons" #: lang/json/ARMOR_from_json.py msgid "A belt worn by martial arts practitioners, advertising a near-master." msgstr "" -" cinto marromUm cinto usado por praticantes de artes marciais, " -"anunciandoummestre próximo." +"Um cinto usado por praticantes de artes marciais, anunciando um praticante " +"próximo de ser um mestre." #: lang/json/ARMOR_from_json.py msgid "green belt" @@ -10208,8 +10845,8 @@ msgstr[1] "faixas verdes" msgid "" "A belt worn by martial arts practitioners, advertising an intermediate." msgstr "" -" cinto verdeUm cinto usado por praticantes de artes marciais, " -"anunciandoumintermediário." +"Um cinto usado por praticantes de artes marciais, anunciando um " +"intermediário." #: lang/json/ARMOR_from_json.py msgid "orange belt" @@ -10222,8 +10859,8 @@ msgstr[1] "faixas laranjas" msgid "" "A belt worn by martial arts practitioners, advertising a fresh intermediate." msgstr "" -" cinto laranjaUm cinto usado por praticantes de artes marciais, " -"anunciandoumintermediário fresco." +"Um cinto usado por praticantes de artes marciais, anunciando um " +"intermediário fresco." #: lang/json/ARMOR_from_json.py msgid "white belt" @@ -10235,8 +10872,7 @@ msgstr[1] "faixas brancas" #: lang/json/ARMOR_from_json.py msgid "A belt worn by martial arts practitioners, advertising a novice." msgstr "" -" cinto brancoUm cinto usado por praticantes de artes marciais, " -"anunciandoumnovato." +"Um cinto usado por praticantes de artes marciais, anunciando um novato." #: lang/json/ARMOR_from_json.py msgid "yellow belt" @@ -10249,8 +10885,8 @@ msgstr[1] "faixas amarelas" msgid "" "A belt worn by martial arts practitioners, advertising a moderate novice." msgstr "" -" cinto amareloUm cinto usado por praticantes de artes marciais, " -"anunciandoumnovato moderado." +"Um cinto usado por praticantes de artes marciais, anunciando um novato " +"moderado." #: lang/json/ARMOR_from_json.py msgid "judo gi" @@ -10264,8 +10900,8 @@ msgid "" "Plain white judo gi. Thick and a little stiff, it gives minor protection " "from cuts and punches." msgstr "" -" judo giPlain branco judo gi. Grosso e um pouco duro, dá menorproteçãocontra" -" cortes e socos." +"Um gi branco de judô. Grosso e um pouco duro, oferece um pouco de proteção " +"contra cortes e socos." #: lang/json/ARMOR_from_json.py msgid "jumpsuit" @@ -10279,9 +10915,8 @@ msgid "" "A thin, short-sleeved jumpsuit; similar to those worn by prisoners. " "Provides decent storage and is not very encumbering." msgstr "" -" macacãoA macacão de manga curta fina; semelhante aos " -"usadospelosprisioneiros. Fornece armazenamento decente e não é muito " -"oneroso." +"Um macacão fino de mangas curtas; semelhante aos usados pelos prisioneiros. " +"Fornece armazenamento decente e não é muito desajeitado." #: lang/json/ARMOR_from_json.py msgid "Hub 01 jumpsuit" @@ -10307,9 +10942,9 @@ msgid "" "body clothing. Provides some storage and is adjustable to minimize " "encumbrance." msgstr "" -" Macacão XLAlto macacão de mangas curtas atualizado para o " -"transexualqueprecisa de roupas de corpo inteiro. Fornece algum armazenamento" -" eéajustável para minimizar o ônus." +"Um macacão fino de mangas curtas atualizado para os trans-humanos que " +"precisam de roupas de corpo inteiro. Fornece algum armazenamento e é " +"ajustável para minimizar o incômodo." #: lang/json/ARMOR_from_json.py msgid "karate gi" @@ -10323,8 +10958,8 @@ msgid "" "Plain white karate gi. Loose and flowing, it offers little protection, and " "little encumbrance." msgstr "" -" karate giPlain branco karatê gi. Solta e fluindo, oferece pouca " -"proteçãoepouco fardo." +"Um gi liso e branco de karatê. Solto e fluído, oferece pouca proteção e " +"pouco incômodo." #: lang/json/ARMOR_from_json.py msgid "kariginu" @@ -10338,8 +10973,8 @@ msgid "" "A traditional, ankle-length Shinto robe with several layers and very wide " "sleeves." msgstr "" -" kariginuUm robe xintoísta tradicional, até os tornozelos, com " -"váriascamadase mangas muito largas." +"Uma túnica xintoísta tradicional, até os tornozelos, com várias camadas e " +"mangas muito largas." #: lang/json/ARMOR_from_json.py msgid "keffiyeh" @@ -10353,9 +10988,8 @@ msgid "" "A type of headdress traditionally used in the Middle East. It can be used " "in different ways to protect the head and mouth from the elements." msgstr "" -" keffiyeh Um tipo de cocar usado tradicionalmente no Oriente Médio. " -"Podeserusado de diferentes maneiras para proteger a cabeça e a boca " -"doselementos." +"Um tipo de lenço usado tradicionalmente no Oriente Médio. Pode ser usado de " +"diferentes maneiras para proteger a cabeça e a boca dos elementos." #: lang/json/ARMOR_from_json.py msgid "cyan scarf" @@ -10379,7 +11013,7 @@ msgstr[1] "" #. ~ Description for keikogi #: lang/json/ARMOR_from_json.py msgid "Plain white keikogi for use in martial arts." -msgstr "keikogiPlain keikogi branco para uso em artes marciais." +msgstr "Um keikogi branco e liso para uso em artes marciais." #: lang/json/ARMOR_from_json.py msgid "Kevlar vest" @@ -10391,9 +11025,7 @@ msgstr[1] "" #: lang/json/ARMOR_from_json.py msgid "" "A lightweight, bullet resistant vest. Suitable for wearing under clothing." -msgstr "" -" Kevlar vestA colete leve e resistente a balas. Adequado para usar " -"sobaroupa." +msgstr "Um colete leve e resistente a balas. Adequado para usar sob a roupa." #: lang/json/ARMOR_from_json.py msgid "kilt" @@ -10405,7 +11037,7 @@ msgstr[1] "kilts" #. ~ Description for leather kilt #: lang/json/ARMOR_from_json.py msgid "No true Scotsman would leave home without his kilt." -msgstr "kiltNão o verdadeiro escocês sairia de casa sem o kilt." +msgstr "Nenhum verdadeiro escocês sairia de casa sem seu kilt." #: lang/json/ARMOR_from_json.py msgid "leather kilt" @@ -10425,8 +11057,8 @@ msgid "" "A traditional, ankle-length Japanese robe, wrapped around the body with a " "sash." msgstr "" -" kiltkimono de couroUm robe tradicional japonês até o tornozelo, " -"enroladoemvolta do corpo com uma faixa." +"Uma túnica tradicional japonesa que desce até o tornozelo, enrolado em volta" +" do corpo com uma faixa." #: lang/json/ARMOR_from_json.py msgid "yukata" @@ -10464,7 +11096,8 @@ msgstr[1] "" #: lang/json/ARMOR_from_json.py msgid "A thin, rounded skullcap. A traditional headdress in Judaism." msgstr "" -" kippahA calota craniana fina e arredondada. Um cocar tradicionalnojudaísmo." +"Uma peça para a cabeça, fina e arredondada, parte das vestimentas " +"tradicionais no judaísmo." #: lang/json/ARMOR_from_json.py msgid "kittel" @@ -10478,8 +11111,8 @@ msgid "" "A white, knee-length cotton robe, traditionally worn by Jews on special " "occasions." msgstr "" -" kittelUm robe branco de algodão até os joelhos, tradicionalmente " -"usadopelosjudeus em ocasiões especiais." +"Uma túnica branca de algodão até os joelhos, tradicionalmente usada pelos " +"judeus em ocasiões especiais." #: lang/json/ARMOR_from_json.py msgid "pair of knee pads" @@ -10490,8 +11123,7 @@ msgstr[1] "" #. ~ Description for pair of knee pads #: lang/json/ARMOR_from_json.py msgid "A pair of knee pads made of stout plastic and cloth." -msgstr "" -" par de joelheirasUm par de joelheiras feitas de plástico robusto e pano." +msgstr "Um par de joelheiras feitas de plástico robusto e pano." #: lang/json/ARMOR_from_json.py msgid "kufi cap" @@ -10502,7 +11134,7 @@ msgstr[1] "" #. ~ Description for kufi cap #: lang/json/ARMOR_from_json.py msgid "A brimless, short and rounded cap." -msgstr "kufi capA tampa sem aba, curta e arredondada." +msgstr "Um chapéu sem aba, curto e arredondado." #: lang/json/ARMOR_from_json.py msgid "leather belt" @@ -10511,20 +11143,27 @@ msgstr[0] "cinto de couro" msgstr[1] "cintos de couro" #. ~ Use action holster_msg for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_msg for magic leather belt. +#. ~ Use action holster_msg for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py #, no-python-format msgid "You tuck your %s into your %s" msgstr "Você coloca seu %sno seu %s." #. ~ Use action holster_prompt for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_prompt for magic leather belt. +#. ~ Use action holster_prompt for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Stick what into your belt" msgstr "Cole o que em seu cinto" #. ~ Description for leather belt -#: lang/json/ARMOR_from_json.py +#. ~ Description for magic leather belt +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py msgid "A leather belt. Useful for making your pair of pants fit." -msgstr "Um cinto de couro. Útil para fazer o seu par de calças se encaixar." +msgstr "Um cinto de couro. Útil para fazer o seu par de calças servir." #: lang/json/ARMOR_from_json.py msgid "leather pouch" @@ -10538,8 +11177,8 @@ msgid "" "A bag stitched together from leather scraps. Doesn't hold an awful lot but " "is easy to wear." msgstr "" -" bolsa de couroUma bolsa costurada a partir de restos de couro. Não " -"temmuitacoisa, mas é fácil de usar." +"Uma bolsa costurada a partir de restos de couro. Não cabe muita coisa, mas é" +" fácil de usar." #: lang/json/ARMOR_from_json.py msgid "ammo pouch" @@ -10574,8 +11213,8 @@ msgid "" "A tool to help set bones and hold them in place. It is specifically " "designed to fit Huge people." msgstr "" -" ferramenta splintleg splintleg splintleg perna para ajudar a definirosossos" -" e mantê-los no lugar. É projetado especificamente para caberpessoasenormes." +"Uma ferramenta para ajudar a sarar os ossos e mantê-los no lugar. É " +"projetada especificamente para servir a pessoas enormes." #: lang/json/ARMOR_from_json.py msgid "pair of leg warmers" @@ -10586,9 +11225,7 @@ msgstr[1] "" #. ~ Description for pair of leg warmers #: lang/json/ARMOR_from_json.py msgid "Snug, soft cloth sleeves to keep your legs warm." -msgstr "" -" par de aquecedores de pernaEncaixe, mangas de tecido macias para " -"manteraspernas aquecidas." +msgstr "Mangas de tecido justas e macias para manter as pernas aquecidas." #: lang/json/ARMOR_from_json.py msgid "pair of XL leg warmers" @@ -10600,8 +11237,8 @@ msgstr[1] "" #: lang/json/ARMOR_from_json.py msgid "Large, soft, snug cloth sleeves to keep your exotic anatomy warm." msgstr "" -" par de aquecedores de perna XLLarga, macio, mangas de pano " -"confortávelparamanter sua anatomia exótica quente." +"Mangas de pano macias, justas e confortáveis, para manter sua anatomia " +"exótica quente." #: lang/json/ARMOR_from_json.py msgid "pair of fetlock furs" @@ -10612,8 +11249,7 @@ msgstr[1] "" #. ~ Description for pair of fetlock furs #: lang/json/ARMOR_from_json.py msgid "Snug fur sleeves to keep your fetlocks warm." -msgstr "" -" par de peles fetlockSnug mangas de pele para manter seus fetiches quentes." +msgstr "Mangas de pele para manter seus fetiches quentes." #: lang/json/ARMOR_from_json.py msgid "leggings" @@ -10627,8 +11263,8 @@ msgid "" "Skin-tight nylon leggings, sometimes used when exercising, that keep your " "legs nice and warm." msgstr "" -" leggingsLeggings de nylon justas em pele, por vezes usadas " -"duranteoexercício, que mantêm as suas pernas agradáveis e quentes." +"Leggings de nylon justas, por vezes usadas durante o exercício, que mantêm " +"as suas pernas agradáveis e quentes." #: lang/json/ARMOR_from_json.py msgid "pair of hard leg guards" @@ -10639,9 +11275,7 @@ msgstr[1] "" #. ~ Description for pair of hard leg guards #: lang/json/ARMOR_from_json.py msgid "A pair of polyurethane leg guards with neoprene backing." -msgstr "" -" par de guardas de pernas durasUm par de proteções de perna depoliuretanocom" -" apoio de neoprene." +msgstr "Um par de proteções de perna de poliuretano com camadas de neoprene." #: lang/json/ARMOR_from_json.py msgid "pair of steel leg guards" @@ -10655,9 +11289,9 @@ msgid "" "A full assembly of medieval leg protection. Cuisses, poleyns, and greaves, " "with leather straps to secure each piece and connect it as part of a set." msgstr "" -" par de guardas de perna de açoUm conjunto completo de proteção " -"depernamedieval. Cuisses, poleyns e grevas, com tiras de couro para " -"prendercadapeça e conectá-la como parte de um conjunto." +"Um conjunto completo de proteção medieval para pernas. Cuisses, poleyns e " +"grevas, com tiras de couro para prender cada peça e conectá-la como parte de" +" um conjunto." #: lang/json/ARMOR_from_json.py msgid "pair of iron greaves" @@ -10668,9 +11302,7 @@ msgstr[1] "" #. ~ Description for pair of iron greaves #: lang/json/ARMOR_from_json.py msgid "A pair of iron leg guards with a simple leather lining." -msgstr "" -" par de ganchos de ferroUm par de guardas de perna de ferro com um " -"forrodecouro simples." +msgstr "Um par de guardas de perna de ferro com um forro de couro simples." #: lang/json/ARMOR_from_json.py msgid "pair of paper leg guards" @@ -10682,8 +11314,8 @@ msgstr[1] "" #: lang/json/ARMOR_from_json.py msgid "Leg guards made of stacked paper sheets held together with duct tape." msgstr "" -" par de guardas de perna de papelLeg guardas feitas de folhas " -"depapelempilhadas realizada em conjunto com fita adesiva." +"Guardas de perna feitas de folhas de papel empilhadas e presas no lugar com " +"fita adesiva." #: lang/json/ARMOR_from_json.py msgid "pair of scrap leg guards" @@ -10711,9 +11343,22 @@ msgid "" "A set of pouches that can be worn on the thighs using buckled straps. This " "variety is favored by the military." msgstr "" -" par de bolsas para pernas baixasUm conjunto de bolsas que podem " -"serusadasnas coxas usando tiras afiveladas. Esta variedade é " -"favorecidapelosmilitares." +"Um conjunto de bolsas que podem ser usadas nas coxas usando tiras " +"afiveladas. Esta variedade é favorecida pelos militares." + +#: lang/json/ARMOR_from_json.py +msgid "leotard" +msgid_plural "leotard" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for leotard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment, covering the body from the groin to the " +"shoulders. With its deep scoop-cut back and high waist cuts, this garment " +"is perfect for showcasing your physique on the stage." +msgstr "" #: lang/json/ARMOR_from_json.py msgid "Linux t-shirt" @@ -10727,73 +11372,72 @@ msgid "" "A t-shirt with a picture of the Tux mascot on it. Underneath it says \"You " "wouldn't buy a car with the hood welded shut.\"" msgstr "" -" T-shirt de Linux t-shirtA com uma imagem da mascote de Tux nele. " -"Porbaixodiz:\"Você não compraria um carro com o capô soldado e fechado.\"" +"Uma camiseta com uma imagem do mascote Tux nele. Por baixo diz: \"Você não " +"compraria um carro com o capô soldado e fechado.\"" #: lang/json/ARMOR_from_json.py msgid "" "A t-shirt with a picture of Tux, the Linux mascot! It says \"You wouldn't " "buy a car with the hood welded shut.\"" msgstr "" -" Uma camiseta com uma foto do Tux, a mascote do Linux! Diz\"Vocênãocompraria" -" um carro com o capô soldado e fechado." +"Uma camiseta com imagem do Tux, a mascote do Linux! Ela diz \"Você não " +"compraria um carro com o capô soldado e fechado.\"" #: lang/json/ARMOR_from_json.py msgid "" "A t-shirt with the Ubuntu logo on it, underneath it says \"Ubuntu is a South" " African word for 'I can't configure Debian'\"" msgstr "" -" Uma camiseta com o logotipo do Ubuntu, abaixo dele, diz\"O Ubuntu " -"éumapalavra sul-africana para 'eu não consigo configurar o Debian' " -"\"" +"Uma camiseta com o logotipo do Ubuntu, abaixo dele está escrito \"Ubuntu é " +"uma palavra sul-africana para 'Eu não consigo configurar o Debian'\"" #: lang/json/ARMOR_from_json.py msgid "" "A t-shirt with the Arch Linux logo on it, underneath it says \"Keep it " "Simple Stupid\"" msgstr "" -" Uma camiseta com o logotipo do Arch Linux, abaixo dele, diz \"Keep " -"itSimpleStupid \"" +"Uma camiseta com o logotipo do Arch Linux, abaixo dele, está escrito " +"\"Mantenha tudo estúpidamente simples\"" #: lang/json/ARMOR_from_json.py msgid "" "A t-shirt with the Ubuntu logo on it, underneath it says \"Linux for human " "beings\"" msgstr "" -" Uma camiseta com o logotipo do Ubuntu, abaixo dele diz \"Linux " -"parasereshumanos \"" +"Uma camiseta com o logotipo do Ubuntu. Abaixo dele está escrito \"Linux para" +" seres humanos\"" #: lang/json/ARMOR_from_json.py msgid "" "A t-shirt with the Linux Mint logo on it, underneath it says \"From freedom " "came elegance\"" msgstr "" -" Uma camiseta com o logo do Linux Mint, abaixo dele diz:\"Da liberdade " -"veioaelegância\"" +"Uma camiseta com o logo do Linux Mint. Abaixo dele, está escrito: \"Da " +"liberdade veio a elegância\"." #: lang/json/ARMOR_from_json.py msgid "" "A t-shirt with the Fedora logo on it, underneath it says \"Freedom. Friends." " Features. First.\"" msgstr "" -" Uma camiseta com o logotipo do Fedora, embaixo diz:\"Liberdade. Amigos. " -"Recursos. Primeiro." +"Uma camiseta com o logotipo do Fedora. Abaixo dele, está escrito: " +"\"Liberdade. Amigos. Recursos. Primeiro.\"" #: lang/json/ARMOR_from_json.py msgid "" "A t-shirt with Red Hat's logo on it, underneath it says \"The World's Open " "Source Leader\"" msgstr "" -" Uma camiseta com o logotipo da Red Hat, abaixo dele, diz:\"O Líder " -"deCódigoAberto do Mundo \"" +"Uma camiseta com o logotipo da Red Hat. Abaixo dele, está escrito \"A Líder " +"de Código Aberto do Mundo\"." #: lang/json/ARMOR_from_json.py msgid "" "A t-shirt with the Debian logo on it, underneath it says \"The Universal " "Operating System\"" msgstr "" -" Uma camiseta com o logotipo do Debian, abaixo dele, diz " -"\"OSistemaOperacional Universal \"" +"Uma camiseta com o logotipo do Debian. Abaixo dele, está escrito \"O Sistema" +" Operacional Universal\"." #: lang/json/ARMOR_from_json.py msgid "loincloth" @@ -10837,8 +11481,8 @@ msgid "" "Leather patches stitched together and tied into a makeshift loincloth. " "Covers your modesty, but not much else." msgstr "" -" tanga de couroAs manchas de couro costuradas e amarradas em " -"umatangaimprovisada. Cobre sua modéstia, mas não muito mais." +"Pedaços de couro costurados e amarrados em uma tanga improvisada. Cobre sua " +"modéstia, mas não muito mais." #: lang/json/ARMOR_from_json.py msgid "wool loincloth" @@ -10852,8 +11496,8 @@ msgid "" "Bits of wool stitched together and tied into a makeshift loincloth. Covers " "your modesty, but not much else." msgstr "" -" Tanga de lãBotas de lã costuradas e amarradas em uma tangaimprovisada. " -"Cobre sua modéstia, mas não muito mais." +"Pedaços de lã costuradas e amarradas em uma tanga improvisada. Cobre sua " +"modéstia, mas não muito mais." #: lang/json/ARMOR_from_json.py msgid "pair of extra long white gloves" @@ -10864,7 +11508,7 @@ msgstr[1] "" #. ~ Description for pair of extra long white gloves #: lang/json/ARMOR_from_json.py msgid "Long white costume gloves." -msgstr "par de luvas brancas extra longasLuvas de fantasia brancas compridas." +msgstr "Luvas de fantasia, brancas e compridas." #: lang/json/ARMOR_from_json.py msgid "long underwear bottom" @@ -10876,8 +11520,8 @@ msgstr[1] "" #: lang/json/ARMOR_from_json.py msgid "A pair of long underwear that help to maintain body temperature." msgstr "" -" roupa íntima longa bottomUm par de roupas íntimas compridas que " -"ajudamamanter a temperatura corporal." +"Um par de roupas íntimas compridas que ajudam a manter a temperatura " +"corporal." #: lang/json/ARMOR_from_json.py msgid "long underwear top" @@ -10889,8 +11533,7 @@ msgstr[1] "" #: lang/json/ARMOR_from_json.py msgid "A long underwear top that helps to maintain body temperature." msgstr "" -" roupa interior comprida topA roupa interior comprida que ajuda a " -"manteratemperatura corporal." +"Uma roupa interior comprida que ajuda a manter a temperatura corporal." #: lang/json/ARMOR_from_json.py msgid "sleeveless underwear top" @@ -10912,7 +11555,7 @@ msgstr[1] "" #. ~ Description for long-sleeved shirt #: lang/json/ARMOR_from_json.py msgid "A long-sleeved cotton shirt." -msgstr "camisa de manga compridaUma camisa de algodão de manga comprida." +msgstr "Uma camisa de algodão de manga comprida." #: lang/json/ARMOR_from_json.py msgid "light survivor body armor" @@ -10926,8 +11569,8 @@ msgid "" "Lightweight, custom built body armor made from Kevlar and tough fabric. " "Mostly waterproof." msgstr "" -" armadura leve para o corpo do sobreviventeCarcaça leve feita sobmedidafeita" -" de tecido Kevlar e resistente. Principalmente impermeável." +"Uma armadura corporal leve feita sob medida de Kevlar e tecido resistente. " +"Razoávelmente impermeável." #: lang/json/ARMOR_from_json.py msgid "light survivor cargo pants" @@ -10941,9 +11584,8 @@ msgid "" "Lightweight, Kevlar armored cargo pants designed to hold as much as " "possible. Strong and mostly waterproof." msgstr "" -" calças de carga leves para sobreviventes Calça leve de cargaKevlar, " -"projetada para acomodar o máximo possível. Forte e principalmente " -"àprovad'água." +"Calças leve de carga de Kevlar, projetadas para acomodar o máximo possível. " +"Forte e razoavelmente à prova d'água." #: lang/json/ARMOR_from_json.py msgid "light survivor suit" @@ -10958,9 +11600,8 @@ msgid "" " vest and a reinforced fabric jumpsuit. Protects from the elements as well " "as from harm." msgstr "" -"Uma combinação de armadura leve, feita à mão, feita de um colete à prova de " -"bala e um macacão de tecido reforçado. Protege dos elementos, bem como do " -"dano." +"Uma combinação de armadura leve, feita à mão com um colete à prova de bala e" +" um macacão de tecido reforçado. Protege dos elementos, bem como do dano." #: lang/json/ARMOR_from_json.py msgid "French maid clothes" @@ -11655,39 +12296,6 @@ msgstr "" " Bainha Uma bainha grande e ajustável para segurar espadas e " "outraslâminasgrandes. Ative para embainhar / sacar uma arma." -#: lang/json/ARMOR_from_json.py -msgid "shark suit" -msgid_plural "shark suits" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It comes with attached plastic helmet and booties." -msgstr "" -" terno de tubarãoUm terno de cota de malha de uma peça usadopormergulhadores" -" para proteção contra picadas de tubarão. Ele vem comcapacetede plástico e " -"botas." - -#: lang/json/ARMOR_from_json.py -msgid "faraday shark suit" -msgid_plural "faraday shark suits" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for faraday shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It has been conductively interconnected, protecting against " -"electricity." -msgstr "" -" faraday shark suitUm terno de cota de malha de uma peça " -"usadopormergulhadores para proteção contra picadas de tubarão. " -"Foicondutivamenteinterligado, protegendo contra a eletricidade." - #: lang/json/ARMOR_from_json.py msgid "sheath" msgid_plural "sheathes" @@ -11769,6 +12377,19 @@ msgstr "" " shorts jeans Um par de shorts jeans. Grosso e resistente, " "elesfornecemexcelente proteção contra cortes." +#: lang/json/ARMOR_from_json.py +msgid "thermal shirt" +msgid_plural "thermal shirts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for thermal shirt +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, form-fitting long-sleeved spandex undershirt that helps " +"maintains body temperature." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "skinny tie" msgid_plural "skinny ties" @@ -12291,13 +12912,9 @@ msgstr[1] "" #: lang/json/ARMOR_from_json.py msgid "" "A thin, short-sleeved and short-legged one-piece suit. Judging by the odd " -"tailoring and adjustment points... maybe you don't want to know who wore " -"it. Provides nominal storage and is not very encumbering." +"tailoring and adjustment points… maybe you don't want to know who wore it. " +"Provides nominal storage and is not very encumbering." msgstr "" -" terno de sujeitoA um terno de uma peça fina, de manga curta e " -"depernascurtas. A julgar pelos estranhos pontos de ajuste e alfaiataria " -"...talvezvocê não queira saber quem usou. Fornece armazenamento nominal e " -"nãoémuito oneroso." #: lang/json/ARMOR_from_json.py msgid "suit" @@ -12380,6 +12997,7 @@ msgstr[1] "" #. ~ Use action holster_prompt for survivor utility belt. #. ~ Use action holster_prompt for hiking backpack. #. ~ Use action holster_prompt for C.R.I.T web belt. +#. ~ Use action holster_prompt for technomancer's toolbelt. #: lang/json/ARMOR_from_json.py msgid "Sheath blade" msgstr "Lâmina de sobrevivente" @@ -12803,17 +13421,6 @@ msgstr "" "aágua. Se você é o \"guvnah\" de um assentamento, ou o capitão de uma " "equipepós-apocalíptico, este é o chapéu para você." -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming trunks" -msgid_plural "pairs of swimming trunks" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for pair of swimming trunks -#: lang/json/ARMOR_from_json.py -msgid "A pair of swimming trunks, with netting." -msgstr "par de calções de banho Um par de calções de banho, com rede." - #: lang/json/ARMOR_from_json.py msgid "t-shirt" msgid_plural "t-shirts" @@ -13092,61 +13699,6 @@ msgstr "" " coleteColete elegante. Ideal para aquelas ocasiões em que vestindoapenasuma" " camisa seria muito casual e um terno seria apenas exagerar." -#: lang/json/ARMOR_from_json.py -msgid "wetsuit" -msgid_plural "wetsuits" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for wetsuit -#: lang/json/ARMOR_from_json.py -msgid "A full-body neoprene wetsuit." -msgstr "wetsuitUm fato de neoprene de corpo inteiro." - -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming gloves" -msgid_plural "pairs of swimming gloves" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for pair of swimming gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of very flexible neoprene-silicone rubber gloves, suitable for " -"underwater use." -msgstr "" -" par de luvas de nataçãoUm par de luvas de borracha de neopreno- " -"siliconemuito flexíveis, adequadas para uso subaquático." - -#: lang/json/ARMOR_from_json.py -msgid "wetsuit hood" -msgid_plural "wetsuit hoods" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "A neoprene hood, commonly worn by divers." -msgstr "" -" capuz de neoprene Um capuz de neoprene, comumente usado por mergulhadores." - -#: lang/json/ARMOR_from_json.py -msgid "spring suit" -msgid_plural "spring suits" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for spring suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A long-sleeved spring wetsuit with pink color details and cleavage-" -"enhancing, hip-accentuating construction. Not as protective as a full-body " -"suit, but also less restrictive." -msgstr "" -" Fato de moletom de moletom de mangas compridas com detalhes em cor " -"rosaeconstrução que acentua o decote e acentua o quadril. Não é " -"tãoprotetorquanto um traje de corpo inteiro, mas também menos restritivo." - #: lang/json/ARMOR_from_json.py msgid "pair of army winter gloves" msgid_plural "pairs of army winter gloves" @@ -13515,6 +14067,35 @@ msgstr "" " lona de plástico com vários ilhós para prendê-lo com corda ou cabo.Útilpara" " proteção contra chuva improvisada." +#: lang/json/ARMOR_from_json.py +msgid "unitard" +msgid_plural "unitards" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for unitard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment resembling a crew necked leotard combined with " +"leggings. Commonly used by gymnasts, dancers and equestrian vaulters, the " +"unitard provides overall coverage with great flexibility." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "zentai" +msgid_plural "zentais" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for zentai +#: lang/json/ARMOR_from_json.py +msgid "" +"Short for 'zenshin taitsu', a zentai is a form fitting full body nylon and " +"spandex garment. Though it covers your face, you can see through the " +"integrated hood. With a couple of these and some friends and you could put " +"on some kabuki." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of bone arm guards" msgid_plural "pairs of bone arm guards" @@ -15294,7 +15875,8 @@ msgstr[1] "" #: lang/json/ARMOR_from_json.py msgid "" "A simple bracelet of string and wooden beads. You can wear it if you like, " -"but it won't provide any effects." +"but it won't provide any effects. Also doubles as a set of prayer beads, if" +" you're so inclined." msgstr "" #: lang/json/ARMOR_from_json.py @@ -15320,7 +15902,8 @@ msgstr[1] "" #: lang/json/ARMOR_from_json.py msgid "" "A simple necklace made of string and wooden beads. You can wear it if you " -"like, but it won't provide any effects." +"like, but it won't provide any effects. Also doubles as a set of prayer " +"beads, if you're so inclined." msgstr "" #: lang/json/ARMOR_from_json.py @@ -16483,6 +17066,163 @@ msgstr "" "armaduras da DoubleTech, os sistemas de controle e regulação do clima exigem" " contato direto com a pele." +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming trunks" +msgid_plural "pairs of swimming trunks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of swimming trunks +#: lang/json/ARMOR_from_json.py +msgid "A pair of swimming trunks, with netting." +msgstr "par de calções de banho Um par de calções de banho, com rede." + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit" +msgid_plural "wetsuits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for wetsuit +#: lang/json/ARMOR_from_json.py +msgid "A full-body neoprene wetsuit." +msgstr "wetsuitUm fato de neoprene de corpo inteiro." + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit hood" +msgid_plural "wetsuit hoods" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "A neoprene hood, commonly worn by divers." +msgstr "" +" capuz de neoprene Um capuz de neoprene, comumente usado por mergulhadores." + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit hood" +msgid_plural "survivor wetsuit hoods" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for survivor wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "" +"A customized armored neoprene and Kevlar hood, very strong and durable." +msgstr "" +" capa de wetsuit survivorUm neoprene blindado personalizado e capuzKevlar, " +"muito forte e durável." + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit" +msgid_plural "survivor wetsuits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for survivor wetsuit +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, hand-built combination armor made from a cut-down bulletproof" +" vest and a reinforced neoprene wetsuit. Protects from the elements as well" +" as from harm." +msgstr "" +" roupa de mergulho para sobreviventesUma combinação de armadura leve, " +"feitaàmão, feita de um colete à prova de balas e um fato de " +"neoprenereforçado. Protege dos elementos, bem como do dano." + +#: lang/json/ARMOR_from_json.py +msgid "pair of survivor wetsuit gloves" +msgid_plural "pairs of survivor wetsuit gloves" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of survivor wetsuit gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" +" wear while providing maximum protection under extreme conditions." +msgstr "" +" um par de luvas de neoprene para sobreviventesUm par de luvas " +"deneopreneKevlar blindadas personalizadas, modificadas para serem fáceis " +"deusar, proporcionando proteção máxima sob condições extremas." + +#: lang/json/ARMOR_from_json.py +msgid "spring suit" +msgid_plural "spring suits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for spring suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A long-sleeved spring wetsuit with pink color details and cleavage-" +"enhancing, hip-accentuating construction. Not as protective as a full-body " +"suit, but also less restrictive." +msgstr "" +" Fato de moletom de moletom de mangas compridas com detalhes em cor " +"rosaeconstrução que acentua o decote e acentua o quadril. Não é " +"tãoprotetorquanto um traje de corpo inteiro, mas também menos restritivo." + +#: lang/json/ARMOR_from_json.py +msgid "faraday shark suit" +msgid_plural "faraday shark suits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for faraday shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It has been conductively interconnected, protecting against " +"electricity." +msgstr "" +" faraday shark suitUm terno de cota de malha de uma peça " +"usadopormergulhadores para proteção contra picadas de tubarão. " +"Foicondutivamenteinterligado, protegendo contra a eletricidade." + +#: lang/json/ARMOR_from_json.py +msgid "shark suit" +msgid_plural "shark suits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It comes with attached plastic helmet and booties." +msgstr "" +" terno de tubarãoUm terno de cota de malha de uma peça usadopormergulhadores" +" para proteção contra picadas de tubarão. Ele vem comcapacetede plástico e " +"botas." + +#: lang/json/ARMOR_from_json.py +msgid "pair of swim goggles" +msgid_plural "pairs of swim goggles" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of swim goggles +#: lang/json/ARMOR_from_json.py +msgid "A small pair of goggles made for swimming." +msgstr "Um par de óculos de natação feitos para nadar." + +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming gloves" +msgid_plural "pairs of swimming gloves" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of swimming gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of very flexible neoprene-silicone rubber gloves, suitable for " +"underwater use." +msgstr "" +" par de luvas de nataçãoUm par de luvas de borracha de neopreno- " +"siliconemuito flexíveis, adequadas para uso subaquático." + #: lang/json/ARMOR_from_json.py msgid "helmet netting" msgid_plural "helmet nettings" @@ -17103,6 +17843,57 @@ msgid_plural "shotgun bandoliers" msgstr[0] "bandoleira de escopeta" msgstr[1] "bandoleiras de escopeta" +#: lang/json/ARMOR_from_json.py +msgid "technomancer's toolbelt" +msgid_plural "technomancer's toolbelts" +msgstr[0] "cinto de ferramentas do Tecnomante" +msgstr[1] "cintos de ferramentas do Tecnomante" + +#. ~ Description for technomancer's toolbelt +#: lang/json/ARMOR_from_json.py +msgid "" +"A custom-built leather utility belt that instantly creates any tool that you" +" reach for. Activate to sheathe/draw a weapon." +msgstr "" +"Um cinto de utilidades customizado, feito de couro, que instantaneamente " +"cria qualquer ferramenta que você requisite. Ative para sacar ou guardar uma" +" arma." + +#: lang/json/ARMOR_from_json.py +msgid "seven league boots" +msgid_plural "pairs of seven league boots" +msgstr[0] "botas de sete léguas" +msgstr[1] "pares de botas de sete léguas" + +#. ~ Description for seven league boots +#. ~ Description for boots of haste +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, they look like they've seen a lot of use and will likely see a lot " +"more. They make your movement a lot less work." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "boots of haste" +msgid_plural "pairs of boots of haste" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/ARMOR_from_json.py +msgid "boots of grounding" +msgid_plural "pairs of boots of grounding" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for boots of grounding +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of leather with " +"small engraved runes seemingly filled with rubber. When worn, you are " +"immune to damage from electricity." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "copper infusion bracelet" msgid_plural "copper infusion bracelets" @@ -17125,7 +17916,7 @@ msgstr[1] "" #. ~ Description for copper circlet #: lang/json/ARMOR_from_json.py msgid "" -"A wooden band with copper trimmings to be worn on the head. Touching your " +"A wooden band with copper trimmings to be worn on the head. Touching your " "temples with it on makes you feel very calm." msgstr "" @@ -17240,6 +18031,19 @@ msgid_plural "belts of haste" msgstr[0] "" msgstr[1] "" +#: lang/json/ARMOR_from_json.py +msgid "wizard hat" +msgid_plural "wizard hats" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for wizard hat +#: lang/json/ARMOR_from_json.py +msgid "" +"A blue pointed hat with stars stiched into it. Wearing it increases your " +"mana regeneration." +msgstr "" + #: lang/json/ARMOR_from_json.py lang/json/GENERIC_from_json.py msgid "pair of magical armored stone gauntlets" msgid_plural "pairs of armored gauntlets" @@ -17765,7 +18569,7 @@ msgstr[1] "" msgid "" "This high-power system uses a set of cameras and LEDs to make the user blend" " into their surroundings, rendering them fully invisible to eyes and optical" -" sensors. However, this does't prevent detection from other means such as " +" sensors. However, this doesn't prevent detection from other means such as " "infrared, sonar, etc." msgstr "" @@ -17865,9 +18669,9 @@ msgstr[1] "" #. ~ Description for Ethanol Burner CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A reactor that burns alcohol as fuel in an extremely efficient reaction. " -"However, the user will still suffer the inebriating effects of the " -"substance." +"A reactor that burns alcohol as fuel in an extremely efficient reaction. It" +" can store up to 500ml and accept ethanol, methanol and denatured aclohol as" +" fuel." msgstr "" #: lang/json/BIONIC_ITEM_from_json.py @@ -17876,9 +18680,8 @@ msgid_plural "Aero-Evaporator CBMs" msgstr[0] "" msgstr[1] "" -#. ~ Description for Aero-Evaporator #. ~ Description for Aero-Evaporator CBM -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "This unit draws moisture from the surrounding air, which then is poured from" " a fingertip in the form of water. It may fail in very dry environments." @@ -17924,7 +18727,7 @@ msgstr[1] "" #: lang/json/BIONIC_ITEM_from_json.py msgid "" "Through controlled application of electrochemical impulses, this bionic " -"mudule lets the user alter their facial structure so as to subtly affect the" +"module lets the user alter their facial structure so as to subtly affect the" " reactions of others. This grants a bonus to all social interactions." msgstr "" @@ -17950,10 +18753,10 @@ msgstr[1] "" #. ~ Description for Fingerhack CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A miniature electrohack, surgically embedded in a finger of the right hand. " -"This is an all-purpose hacking unit used to override control panels and the " -"like, but not computers. Computer proficiency is important, and a failed " -"use may cause damage." +"A miniature electrohack, surgically embedded in a finger of the right hand." +" This is an all-purpose hacking unit used to override control panels and " +"the like, but not computers. Computer proficiency is important, and a " +"failed use may cause damage." msgstr "" #: lang/json/BIONIC_ITEM_from_json.py @@ -18246,9 +19049,8 @@ msgid_plural "Artificial Night Generator CBMs" msgstr[0] "" msgstr[1] "" -#. ~ Description for Artificial Night Generator #. ~ Description for Artificial Night Generator CBM -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "When active, this bionic eliminates all light within a 15 tile radius " "through destructive interference." @@ -18320,7 +19122,7 @@ msgstr[1] "" msgid "" "Interfaces the user's bionic power system with the internal charging port on" " suits of power armor, allowing them to draw from the user's bionic power " -"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " +"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " "DoubleTech Inc., to meet the popularity of the Mk. II power armor series." msgstr "" @@ -18867,7 +19669,7 @@ msgstr[1] "" #. ~ Description for Itchy Metal Thing #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"You can't recognise what this is supposed to be, but it's a very awkward " +"You can't recognize what this is supposed to be, but it's a very awkward " "thing to have in one's body." msgstr "" @@ -18879,8 +19681,7 @@ msgstr[1] "" #. ~ Description for Glowy Thing #: lang/json/BIONIC_ITEM_from_json.py -msgid "" -"It's a... thing? And it glows, at least it did when it was plugged in." +msgid "It's a… thing? And it glows, at least it did when it was plugged in." msgstr "" #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py @@ -19051,8 +19852,8 @@ msgid_plural "Internal Furnace CBMs" msgstr[0] "" msgstr[1] "" -#. ~ Description for Internal Furnace #. ~ Description for Internal Furnace CBM +#. ~ Description for Internal Furnace #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "" "When this bionic is active, you can burn nearly any organic material as fuel" @@ -19206,8 +20007,8 @@ msgid_plural "Ionic Overload Generator CBMs" msgstr[0] "" msgstr[1] "" -#. ~ Description for Ionic Overload Generator #. ~ Description for Ionic Overload Generator CBM +#. ~ Description for Ionic Overload Generator #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "" "A powerful ion energy generator is implanted on your chest. Fires a " @@ -19515,8 +20316,8 @@ msgstr[1] "" #. ~ Description for To Serve Man #: lang/json/BOOK_from_json.py -msgid "It's... it's a cookbook!" -msgstr "Para servir o homem ... é um livro de receitas!" +msgid "It's… it's a cookbook!" +msgstr "" #: lang/json/BOOK_from_json.py msgid "Cucina Italiana" @@ -19626,12 +20427,8 @@ msgstr[1] "" msgid "" "This sheaf of papers-dated two weeks before all this started-describes some " "new chemical formula, and its effects on human subjects. It's stamped " -"\"APPROVED\"..." +"\"APPROVED\"…" msgstr "" -" PE050 \"Alfa \": Relatório Preliminar Esse maço de papéis - datado " -"deduassemanas antes de tudo isso começar - descreve alguma nova " -"fórmulaquímica eseus efeitos sobre os seres humanos. É carimbado \"APROVADO " -"\" ..." #: lang/json/BOOK_from_json.py msgid "lab journal-Dionne" @@ -19661,8 +20458,8 @@ msgstr[1] "" #: lang/json/BOOK_from_json.py msgid "" "This sheaf of papers describes a new chemical formula in detail and supplies" -" instructions for its use as some sort of ... crowd-control catalyst? That " -"can't be right..." +" instructions for its use as some sort of… crowd-control catalyst? That " +"can't be right…" msgstr "" #: lang/json/BOOK_from_json.py @@ -19676,12 +20473,8 @@ msgstr[1] "" msgid "" "This team logbook details several varieties of mutagenic experiments, " "focusing on those derived from flesh contaminated with XE037. The results " -"look promising but the procurement methods seem awfully vague..." +"look promising but the procurement methods seem awfully vague…" msgstr "" -" Este diário de equipe detalha diversas variedades " -"deexperimentosmutagênicos, concentrando-se naqueles derivados de " -"carnecontaminada comXE037. Os resultados parecem promissores, mas os métodos" -" deaquisiçãoparecem muito vagos ..." #: lang/json/BOOK_from_json.py msgid "standpipe maintenance log" @@ -19694,12 +20487,8 @@ msgstr[1] "" msgid "" "This binder details the scheduled maintenance for several plumbing systems " "throughout the facility. However, some of the log sheets seem to be filled " -"with...a chemical formula?" +"with… a chemical formula?" msgstr "" -" log de manutenção do tubo vertical Este encadernador detalha " -"amanutençãoprogramada para vários sistemas de encanamento em toda " -"ainstalação. Noentanto, algumas das folhas de registro parecem " -"serpreenchidas com ... umafórmula química?" #: lang/json/BOOK_from_json.py msgid "chemical reference-CLASSIFIED" @@ -19751,11 +20540,8 @@ msgstr[1] "" #: lang/json/BOOK_from_json.py msgid "" "This binder of highly technical papers describes some new chemical formula, " -"and its effects on human subjects. It's stamped \"APPROVED\"...." +"and its effects on human subjects. It's stamped \"APPROVED\"…" msgstr "" -" PE023 \"Medical \": Aplicação e Descobertas Este fichário " -"dedocumentosaltamente técnicos descreve algumas novas fórmulas químicas " -"eseus efeitosem seres humanos. É carimbado \"APROVADO \" ...." #: lang/json/BOOK_from_json.py msgid "PE070 \"Raptor\": Proposal" @@ -20084,12 +20870,8 @@ msgstr[1] "" msgid "" "This hefty binder contains a multitude of diagrams and technical " "specifications for various electronic materials. Some of the diagrams use " -"symbols you've not seen before..." +"symbols you've not seen before…" msgstr "" -" jornal de laboratório-HerreraEste fichário pesado contém uma " -"infinidadedediagramas e especificações técnicas para vários " -"materiaiseletrônicos. Alguns dos diagramas usam símbolos que você não viu " -"antes ..." #: lang/json/BOOK_from_json.py msgid "2XI design binder-CLASSIFIED" @@ -20167,13 +20949,13 @@ msgstr[1] "" #. ~ Description for nearby fire #. ~ Description for muscle #. ~ Description for wind +#. ~ Description for metabolism #. ~ Description for a smoking device and a source of flame #. ~ Description for abstract map -#. ~ Description for weapon #. ~ Description for seeing this is a bug +#. ~ Description for weapon #: lang/json/BOOK_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py #: lang/json/furniture_from_json.py lang/json/skill_from_json.py msgid "seeing this is a bug" msgid_plural "seeing this is a bugs" @@ -20532,13 +21314,9 @@ msgstr[1] "" #: lang/json/BOOK_from_json.py msgid "" "Everything you could ever want to know about handloading ammunition, sealed " -"with a ...childproof cover. Apparently a liability thing, because the " -"chapter on explosive rounds covers them in excellent detail too." +"with a… childproof cover. Apparently a liability thing, because the chapter" +" on explosive rounds covers them in excellent detail too." msgstr "" -" The Handloader's HelperTudo que você poderia querer saber " -"sobrecarregarmunição, selado com uma ... capa para crianças. Aparentemente, " -"umacoisa deresponsabilidade, porque o capítulo sobre rodadas explosivas " -"oscobre emdetalhes excelentes também." #: lang/json/BOOK_from_json.py msgid "Rivtech design binder" @@ -21126,7 +21904,7 @@ msgid "" "This lab notebook is filled with the collective discoveries and refinements " "of a research team dedicated to nuclear energy. You don't think you're " "ready to start a second Cataclysm, but the general information provided " -"might be useful..." +"might be useful…" msgstr "" #: lang/json/BOOK_from_json.py @@ -22555,6 +23333,34 @@ msgid "" " that the author's real name is Fereidoun M. Esfandiary." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Bastiat Collection\", a large collection of essays " +"by Frederic Bastiat." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Anarchy, State, and Utopia\" by Robert Nozick, one of " +"the most influential books of modern libertarianism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Socialism\" by Ludwig von Mises, a critical examination " +"of socialism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The ABC of Communism\" by Nikolai Bukharin, one of the " +"most influential books of early Marxism-Leninism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Anti-Capitalist Mentality\" by Ludwig von Mises." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "phone book" msgid_plural "phone books" @@ -22638,8 +23444,8 @@ msgstr[1] "" #. ~ Description for corporate accounting ledger #: lang/json/BOOK_from_json.py -msgid "If you knew what to look for something might stand out..." -msgstr "Se você soubesse o que procurar, algo poderia se destacar..." +msgid "If you knew what to look for something might stand out…" +msgstr "" #: lang/json/BOOK_from_json.py msgid "patient treatment records" @@ -22891,6 +23697,106 @@ msgstr "" msgid "This is a copy of \"The Secret Garden\" by Frances Burnett." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lieutenant Hornblower\" by C.S. Forester." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Master and Commander\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Warden\" by Anthony Trollope." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Far Side of the World\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"HMS Surprise\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Barchester Towers\" by Anthony Trollope." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Land Ironclads\" by H.G. Wells." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Great Boer War\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Crime of the Congo\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Parasite\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"By Stroke of Sword\" by Andrew Balfour." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Secret Agent\" by Joseph Conrad." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lord Jim\" by Joseph Conrad." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Vanity Fair\" by William Makepeace Thackeray." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Luck of Barry Lyndon\" by William Makepeace " +"Thackeray." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"North and South\" by Elizabeth Gaskell." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Mayor of Casterbridge\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Wessex Tales\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Far from the Madding Crowd\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Captains Courageous\" by Rudyard Kipling." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Canterbury Tales\" by Geoffrey Chaucer." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Harold, the Last of the Saxons\" by Edward Bulwer-" +"Lytton." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Mr Midshipman Easy\" by Frederick Marryat." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Peter Simple\" by Frederick Marryat." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "collector's edition book" msgid_plural "collector's edition book" @@ -23958,11 +24864,12 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "Black Dragons: Swamp Ruins" -msgid_plural "Black Dragons: Swamp Ruinss" +msgid_plural "copies of Black Dragons: Swamp Ruins" msgstr[0] "" msgstr[1] "" -#. ~ Description for Black Dragons: Swamp Ruins +#. ~ Description for {'str': 'Black Dragons: Swamp Ruins', 'str_pl': 'copies +#. of Black Dragons: Swamp Ruins'} #: lang/json/BOOK_from_json.py msgid "" "This book details black dragons: The most evil of dragons, who live in ruins" @@ -23973,28 +24880,81 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "A Beginner's Guide to Alchemy" -msgid_plural "A Beginner's Guide to Alchemys" +msgid_plural "copies of A Beginner's Guide to Alchemy" msgstr[0] "" msgstr[1] "" -#. ~ Description for A Beginner's Guide to Alchemy +#. ~ Description for {'str': "A Beginner's Guide to Alchemy", 'str_pl': +#. "copies of A Beginner's Guide to Alchemy"} #: lang/json/BOOK_from_json.py msgid "A paperback tome for the art of liquid magic, alcohol not included." msgstr "" #: lang/json/BOOK_from_json.py msgid "A Soulbinder's Guide to Necromancy" -msgid_plural "A Soulbinder's Guide to Necromancys" +msgid_plural "copies of A Soulbinder's Guide to Necromancy" msgstr[0] "" msgstr[1] "" -#. ~ Description for A Soulbinder's Guide to Necromancy +#. ~ Description for {'str': "A Soulbinder's Guide to Necromancy", 'str_pl': +#. "copies of A Soulbinder's Guide to Necromancy"} #: lang/json/BOOK_from_json.py msgid "" "A paperback tome for the art of binding undead creatures' souls to dolls, " "along with emulating their healing factor." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "Magitek Illustrated" +msgid_plural "copies of Magitek Illustrated" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'Magitek Illustrated', 'str_pl': 'copies of +#. Magitek Illustrated'} +#: lang/json/BOOK_from_json.py +msgid "" +"A paperback tome for the art of combining modern technology with magic. " +"There is a disclaimer on the back: `Cannith Industries bears no " +"responsibility for malfunctions or accidents for any products mentioned " +"herein`." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "The Weapons of Asgard and Beyond" +msgid_plural "copies of The Weapons of Asgard and Beyond" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'The Weapons of Asgard and Beyond', 'str_pl': +#. 'copies of The Weapons of Asgard and Beyond'} +#: lang/json/BOOK_from_json.py +msgid "" +"An ornate book which appears to be written in Norse runes. Based on the " +"detailed illustrations, it appears to contain information about crafting " +"numerous weapons used by various Gods." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "SugarKin flyer" +msgid_plural "SugarKin flyers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for SugarKin flyer +#: lang/json/BOOK_from_json.py +msgid "" +"A flyer for some kind of candy. It shows a picture of a gleaming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" +" On the back of the flyer you can see some hastily scribbled words:\n" +" \"Hello, my child, welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" +"1) Never ever get into contact with water, it would melt you! \n" +"2) Avoid humans with clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" +"3) Learn how to make caramel ointment, it's the only way to fix your body if you get hurt.\n" +" There are many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" +" I love you,\n" +" - F. \"." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "The Weapons of Asgard" msgid_plural "The Weapons of Asgard" @@ -24494,11 +25454,9 @@ msgstr "acetileno" #. ~ Description for acetylene #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flammable gas that explodes under pressure. Combined with oxygen, " +"A flammable gas that explodes under pressure. Combined with oxygen, " "acetylene makes a great welding gas." msgstr "" -"Um gás inflamável que explode sob pressão. Combinado com oxigênio, acetileno" -" gera um ótimo gás de soldagem." #: lang/json/COMESTIBLE_from_json.py msgid "Spice" @@ -25527,6 +26485,41 @@ msgid "The stomach of a large humanoid creature. It is surprisingly durable." msgstr "" " O estômago de uma grande criatura humanóide. É surpreendentemente durável." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of human fat" +msgid_plural "chunks of human fat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of human fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly harvested from a human body." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human tallow" +msgstr "" + +#. ~ Description for human tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered human fat. It will remain " +"edible for a very long time, and can be used as an ingredient in many foods " +"and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human lard" +msgstr "" + +#. ~ Description for human lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered human fat. It will remain edible for a" +" very long time, and can be used as an ingredient in many foods and " +"projects." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "human flesh" msgid_plural "human fleshes" @@ -25576,6 +26569,61 @@ msgstr "" " pedaço de carneEste é um pequeno pedaço de carne comestível. Não émuito, " "mas vai ser fácil." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant meat" +msgid_plural "chunks of mutant meat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Meat from a heavily mutated animal. It has an unsettling loose and spongy " +"texture, but smells… mostly normal. There are strange tangles and " +"formations in it that don't appear natural at all: bits of bone and hair " +"crusted up inside the muscle, as if trying to form another organism. Still," +" seems digestible at least, if you cook it and remove the worst parts." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "scrap of mutant meat" +msgid_plural "scraps of mutant meat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for scrap of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A tiny scrap of meat from a heavily mutated animal. It smells a bit odd, " +"and has bits of hair and bone mixed in that seem like they grew inside the " +"muscle itself. Still, seems digestible at least, if you cook it and remove " +"the worst parts." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid meat" +msgstr "" + +#. ~ Description for mutant humanoid meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered from the body of a heavily mutated creature that was " +"unsettlingly humanoid in appearance. It has odd bits of fur and other " +"tissue lodged in it that clearly don't belong. You'd have to be crazy or " +"starving to eat this." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked cretin" +msgstr "" + +#. ~ Description for cooked cretin +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Cooked meat from a heavily mutated humanoid. Now that the worst bits have " +"been picked out, it's probably digestible, if not very appetizing." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "butchery refuse" msgid_plural "butchery refuse" @@ -25614,6 +26662,24 @@ msgid_plural "cooked scraps of meat" msgstr[0] "" msgstr[1] "" +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked mutant meat" +msgstr "" + +#. ~ Description for cooked mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"This is a cooked chunk of meat from a mutated animal. It has an unsettling," +" spongy texture, but otherwise tastes… mostly normal. Hopefully you got all" +" the bits of hair and bone out…" +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked scrap of mutant meat" +msgid_plural "cooked scraps of mutant meat" +msgstr[0] "" +msgstr[1] "" + #: lang/json/COMESTIBLE_from_json.py msgid "raw offal" msgstr "sucata cozida de miudezas" @@ -25848,9 +26914,8 @@ msgstr[1] "cérebros crus" #. ~ Description for raw brains #: lang/json/COMESTIBLE_from_json.py -msgid "The brain from an animal. You wouldn't want to eat this raw..." +msgid "The brain from an animal. You wouldn't want to eat this raw…" msgstr "" -" Cérebros crusO cérebro de um animal. Você não gostaria de comer isso cru..." #: lang/json/COMESTIBLE_from_json.py msgid "cooked brains" @@ -25909,8 +26974,8 @@ msgstr "bolinho cozido" #. ~ Description for cooked sweetbread #: lang/json/COMESTIBLE_from_json.py -msgid "Normally a delicacy, it needs a little... something." -msgstr "Normalmente uma delicadeza, precisa de um pouco ... alguma coisa." +msgid "Normally a delicacy, it needs a little… something." +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "bone" @@ -25970,6 +27035,78 @@ msgstr "" "Elepermanecerácomestível por muito tempo e pode ser usado como ingrediente " "emmuitosalimentos e projetos." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant fat" +msgid_plural "chunks of mutant fat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of mutant fat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered fat from a heavily mutated animal. You could eat it raw, " +"but it is better used as an ingredient in other foods or projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant tallow" +msgstr "" + +#. ~ Description for mutant tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"animal. It will remain edible for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant lard" +msgstr "" + +#. ~ Description for mutant lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant animal. It " +"will remain edible for a very long time, and can be used as an ingredient in" +" many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant humanoid fat" +msgid_plural "chunks of mutant humanoid fat" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for chunk of mutant humanoid fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly butchered fat from a heavily mutated humanoid." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid tallow" +msgstr "" + +#. ~ Description for mutant humanoid tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"humanoid. It won't rot for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid lard" +msgstr "" + +#. ~ Description for mutant humanoid lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant humanoid. It" +" won't rot for a very long time, and can be used as an ingredient in many " +"foods and projects." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "chunk of tainted meat" msgid_plural "chunks of tainted meat" @@ -26009,8 +27146,8 @@ msgid "" "A watery yellow glob of fat from some unnatural creature or other. You " "could eat it, but it will poison you." msgstr "" -" Um gotejamento amarelo de gordura de alguma criatura não natural ououtra. " -"Você pode comê-lo, mas vai envenená-lo." +" Um bloco úmido e amarelo de gordura de alguma criatura não natural. Você " +"pode comê-lo, mas vai envenená-lo." #: lang/json/COMESTIBLE_from_json.py msgid "tainted tallow" @@ -26023,13 +27160,13 @@ msgid "" "'fresh' for a very long time, and can be used as an ingredient in many " "projects. You could eat it, but it will poison you." msgstr "" -" Um bloco acinzentado suave de gordura de monstro limpa e renderizada. " -"Elepermanecerá\"fresco\" por muito tempo e pode ser usado como " -"umingredienteem muitos projetos. Você pode comê-lo, mas vai envenená-lo." +"Um bloco acinzentado suave de gordura de monstro limpa e filtrada. Ele " +"permanecerá \"fresco\" por muito tempo e pode ser usado como um ingrediente " +"em muitos projetos. Você pode comê-lo, mas vai envenená-lo." #: lang/json/COMESTIBLE_from_json.py msgid "large boiled stomach" -msgstr "estômago grande e cozido" +msgstr "estômago grande cozido" #. ~ Description for large boiled stomach #: lang/json/COMESTIBLE_from_json.py @@ -26048,8 +27185,8 @@ msgid "" "A boiled stomach from a large humanoid creature, nothing else. It looks all" " but appetizing." msgstr "" -" Um estômago fervido de uma grande criatura humanóide, nada mais. " -"Parecetudo, menos apetitoso." +" Um estômago fervido de uma grande criatura humanóide, nada mais. Parece " +"tudo, menos apetitoso." #: lang/json/COMESTIBLE_from_json.py msgid "boiled stomach" @@ -26061,8 +27198,8 @@ msgid "" "A small boiled stomach from an animal, nothing else. It looks all but " "appetizing." msgstr "" -" Um pequeno estômago cozido de um animal, nada mais. Parece tudo, " -"menosapetitoso." +" Um pequeno estômago cozido de um animal, nada mais. Parece tudo, menos " +"apetitoso." #: lang/json/COMESTIBLE_from_json.py msgid "boiled human stomach" @@ -26074,8 +27211,8 @@ msgid "" "A small boiled stomach from a human, nothing else. It looks all but " "appetizing." msgstr "" -" Um pequeno estômago cozido de um humano, nada mais. Parece tudo, " -"menosapetitoso." +" Um pequeno estômago cozido de um humano, nada mais. Parece tudo, menos " +"apetitoso." #: lang/json/COMESTIBLE_from_json.py msgid "raw hide" @@ -26087,9 +27224,9 @@ msgid "" "A carefully folded raw skin harvested from an animal. You can cure it for " "storage and tanning, or eat it if you're desperate enough." msgstr "" -" Uma pele crua cuidadosamente dobrada colhida de um animal. Você pode curá- " -"lo para armazenamento e bronzeamento, ou comê-lo, se estiver " -"desesperadoosuficiente." +"Uma pele crua cuidadosamente dobrada, colhida de um animal. Você pode curá-" +"la para armazenamento e curtição, ou comê-la, se estiver desesperado o " +"suficiente." #: lang/json/COMESTIBLE_from_json.py msgid "tainted hide" @@ -26101,8 +27238,8 @@ msgid "" "A carefully folded poisonous raw skin harvested from an unnatural creature." " You can cure it for storage and tanning." msgstr "" -" Uma pele crua venenosa cuidadosamente dobrada, colhida de uma " -"criaturanãonatural. Você pode curá-lo para armazenamento e bronzeamento." +"Uma pele crua venenosa cuidadosamente dobrada, colhida de uma criatura não " +"natural. Você pode curá-la para armazenamento e curtição." #: lang/json/COMESTIBLE_from_json.py msgid "raw human skin" @@ -26114,13 +27251,13 @@ msgid "" "A carefully folded raw skin harvested from a human. You can cure it for " "storage and tanning, or eat it if you're desperate enough." msgstr "" -" Uma pele crua cuidadosamente dobrada colhida de um ser humano. " -"Vocêpodecurá-lo para armazenamento e bronzeamento, ou comê-lo, " -"seestiverdesesperado o suficiente." +"Uma pele crua cuidadosamente dobrada, colhida de um ser humano. Você pode " +"curá-la para armazenamento e curtição, ou comê-la, se estiver desesperado o " +"suficiente." #: lang/json/COMESTIBLE_from_json.py msgid "raw pelt" -msgstr "pele crua" +msgstr "pelagem crua" #. ~ Description for raw pelt #: lang/json/COMESTIBLE_from_json.py @@ -26129,13 +27266,13 @@ msgid "" "has the fur attached. You can cure it for storage and tanning, or eat it if" " you're desperate enough." msgstr "" -" Uma pele crua cuidadosamente dobrada colhida de um animal com pele. " -"Aindatem a pele presa. Você pode curá-lo para armazenamento e bronzeamento, " -"oucomê- lo, se estiver desesperado o suficiente." +"Uma pele crua cuidadosamente dobrada, colhida de um animal com pelos. Ainda " +"tem os pelos presos. Você pode curá-la para armazenamento e curtição, ou " +"comê-la, se estiver desesperado o suficiente." #: lang/json/COMESTIBLE_from_json.py msgid "tainted pelt" -msgstr "pele contaminada" +msgstr "pelagem contaminada" #. ~ Description for tainted pelt #: lang/json/COMESTIBLE_from_json.py @@ -26144,13 +27281,13 @@ msgid "" " It still has the fur attached and is poisonous. You can cure it for " "storage and tanning." msgstr "" -" Uma pele crua cuidadosamente dobrada, colhida de uma criatura nãonatural. " -"Ainda tem a pele presa e é venenosa. Você pode curá-lo paraarmazenamento " -"ebronzeamento." +"Uma pelagem crua cuidadosamente dobrada, colhida de uma criatura não " +"natural. Ainda tem os pelos presos e é venenosa. Você pode curá-la para " +"armazenamento e curtição." #: lang/json/COMESTIBLE_from_json.py msgid "seeping heart" -msgstr "" +msgstr "coração gotejante" #. ~ Description for seeping heart #: lang/json/COMESTIBLE_from_json.py @@ -26158,6 +27295,8 @@ msgid "" "A thick mass of flesh superficially resembling a mammalian heart, covered in" " dimpled grooves and the size of your fist." msgstr "" +"Uma grossa massa de carne superficialmente lembrando um coração de mamífero," +" coberta de covas e do tamanho de seu punho." #: lang/json/COMESTIBLE_from_json.py msgid "putrid heart" @@ -26170,14 +27309,8 @@ msgid "" "covered in ribbed grooves and easily the size of your head. It's still full" " of, er, whatever passes for blood in jabberwocks, and is heavy in your " "hands. After everything you've seen lately, you can't help but remember old" -" sayings about eating the hearts of your enemies..." +" sayings about eating the hearts of your enemies…" msgstr "" -" Uma massa espessa de carne, superficialmente parecida com um " -"coraçãodemamífero, coberta de ranhuras estriadas e facilmente do tamanho " -"desuacabeça. Ainda está cheio de, er, o que passa por sangue em jabberwocks," -" e épesado em suas mãos. Depois de tudo o que você viu ultimamente, você não" -" pode deixar de lembrar os velhos ditos sobre comer os corações " -"deseusinimigos ..." #: lang/json/COMESTIBLE_from_json.py msgid "desiccated putrid heart" @@ -26190,11 +27323,11 @@ msgid "" "sliced open and drained of blood. It could be eaten if you're hungry, but " "looks *disgusting*." msgstr "" -" Uma enorme faixa de músculo - tudo o que resta de um coração pútrido " -"quefoicortado e drenado de sangue. Pode ser comido se estiver com fome, " -"masparece* nojento *." +"Uma enorme faixa de músculo - tudo o que resta de um coração pútrido que foi" +" cortado e drenado de sangue. Pode ser comido se estiver com fome, mas " +"parece *nojento*." -#: lang/json/COMESTIBLE_from_json.py +#: lang/json/COMESTIBLE_from_json.py lang/json/ammunition_type_from_json.py msgid "raw milk" msgid_plural "raw milk" msgstr[0] "leite cru" @@ -26216,8 +27349,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "shelf stable milk" msgid_plural "shelf stable milk" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "leite estabilizado" +msgstr[1] "leite estabilizado" #. ~ Description for shelf stable milk #: lang/json/COMESTIBLE_from_json.py @@ -26230,8 +27363,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "evaporated milk" msgid_plural "evaporated milk" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "leite evaporado" +msgstr[1] "leite evaporado" #. ~ Description for evaporated milk #: lang/json/COMESTIBLE_from_json.py @@ -26294,7 +27427,7 @@ msgstr "pudim" #. ~ Description for pudding #: lang/json/COMESTIBLE_from_json.py msgid "Sugary, fermented dairy. A wonderful treat." -msgstr "Laticínios fermentados e açucarados. Um deleite maravilhoso." +msgstr "Laticínio fermentado e açucarado. Um deleite maravilhoso." #: lang/json/COMESTIBLE_from_json.py msgid "curdled milk" @@ -26306,8 +27439,8 @@ msgid "" "Milk that has been curdled with vinegar and rennet. It still needs to be " "salted and drained of whey." msgstr "" -" Leite que foi coalhado com vinagre e coalho. Ainda precisa ser " -"salgadoedrenado de soro." +"Leite que foi coalhado com vinagre e coalheira. Ainda precisa ser salgado e " +"drenado de soro." #: lang/json/COMESTIBLE_from_json.py msgid "hard cheese" @@ -26321,8 +27454,8 @@ msgid "" "Hard, dry cheese made to last, unlike modern processed cheese. Will make " "you thirsty though." msgstr "" -" queijo duro, queijo seco feito para durar, ao contrário do " -"queijoprocessadomoderno. Vai fazer você com sede embora." +"Queijo duro e seco feito para durar, ao contrário do queijo processado " +"moderno. Vai deixar você com sede, entretanto." #: lang/json/COMESTIBLE_from_json.py msgid "cheese" @@ -26333,11 +27466,11 @@ msgstr[1] "queijos" #. ~ Description for cheese #: lang/json/COMESTIBLE_from_json.py msgid "A block of yellow processed cheese." -msgstr "queijoUm bloco de queijo processado amarelo." +msgstr "Um bloco de queijo processado amarelo." #: lang/json/COMESTIBLE_from_json.py msgid "quesadilla" -msgstr "Quesadilla" +msgstr "quesadilla" #. ~ Description for quesadilla #: lang/json/COMESTIBLE_from_json.py @@ -26347,15 +27480,13 @@ msgstr "Uma tortilla recheada com queijo e levemente grelhada." #: lang/json/COMESTIBLE_from_json.py msgid "powdered milk" msgid_plural "powdered milk" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "leite em pó" +msgstr[1] "leite em pó" #. ~ Description for powdered milk #: lang/json/COMESTIBLE_from_json.py msgid "Dehydrated milk powder. Mix with water to make drinkable milk." -msgstr "" -" Leite em pó Leite em pó desidratado. Misture com água para " -"fazerleitebebível." +msgstr "Leite em pó desidratado. Misture com água para fazer leite bebível." #: lang/json/COMESTIBLE_from_json.py msgid "condensed milk" @@ -26369,8 +27500,8 @@ msgid "" "Cow's milk that has been partly dehydrated to vastly increase its shelf " "life, and also sweetened." msgstr "" -" Leite condensado Leite da vaca parcialmente desidratado " -"paraaumentarconsideravelmente o prazo de validade e também adoçado." +"Leite de vaca parcialmente desidratado para aumentar consideravelmente o " +"prazo de validade, e também adoçado." #: lang/json/COMESTIBLE_from_json.py msgid "apple cider" @@ -26381,8 +27512,7 @@ msgstr[1] "cidra de maçã" #. ~ Description for apple cider #: lang/json/COMESTIBLE_from_json.py msgid "Pressed from fresh apples. Tasty and nutritious." -msgstr "" -" cidreira de maçã Pressionado a partir de maçãs frescas. Saborosaenutritiva." +msgstr "Pressionado a partir de maçãs frescas. Saborosa e nutritiva." #: lang/json/COMESTIBLE_from_json.py msgid "almond milk" @@ -26409,8 +27539,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "atomic coffee" msgid_plural "atomic coffee" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "café atômico" +msgstr[1] "cafés atômicos" #. ~ Description for atomic coffee #: lang/json/COMESTIBLE_from_json.py @@ -26419,16 +27549,15 @@ msgid "" "NUCLEAR brewing cycle. Every possible microgram of caffeine and flavor has " "been carefully extracted for your enjoyment, using the power of the atom." msgstr "" -" café atômicoEsta porção de café foi criada usando o ciclo de " -"fabricaçãodeFULL NUCLEAR de um pote de café atômico. Cada micrograma " -"possíveldecafeína e sabor foi cuidadosamente extraído para sua diversão, " -"usandoo poder do átomo." +"Esta porção de café foi criada usando o ciclo de fervura NUCLEAR TOTAL de " +"uma cafeteira atômica. Cada micrograma possível de cafeína e sabor foi " +"cuidadosamente extraído para o seu deleite, usando o poder do átomo." #: lang/json/COMESTIBLE_from_json.py msgid "bee balm tea" msgid_plural "bee balm tea" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "chá de bálsamo de abelha" +msgstr[1] "chás de bálsamo de abelha" #. ~ Description for bee balm tea #: lang/json/COMESTIBLE_from_json.py @@ -26436,9 +27565,9 @@ msgid "" "A healthy beverage made from bee balm steeped in boiling water. Can be used" " to reduce negative effects of common cold or flu." msgstr "" -" chá de bálsamo de abelha Uma bebida saudável feita de bálsamo " -"deabelhamergulhada em água fervente. Pode ser usado para reduzir " -"osefeitosnegativos do resfriado comum ou gripe." +"Uma bebida saudável feita de bálsamo de abelha mergulhado em água fervente. " +"Pode ser usado para reduzir os efeitos negativos do resfriado comum ou da " +"gripe." #: lang/json/COMESTIBLE_from_json.py msgid "coconut milk" @@ -26452,13 +27581,13 @@ msgstr "Um molho cremoso denso e doce, usado frequentemente em caril." #: lang/json/COMESTIBLE_from_json.py msgid "chai tea" msgid_plural "chai tea" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "masala chai" +msgstr[1] "masala chai" #. ~ Description for chai tea #: lang/json/COMESTIBLE_from_json.py msgid "A traditional south Asian mixed-spice tea with milk." -msgstr "chai teaUm chá tradicional de especiarias asiáticas do sul com leite." +msgstr "Um chá de especiarias com leite, tradicional do sul da Ásia." #: lang/json/COMESTIBLE_from_json.py msgid "chamomile tea" @@ -26485,9 +27614,8 @@ msgid "" "A chocolate flavored beverage made of artificial flavoring and milk " "byproducts. Shelf stable and vaguely appetizing even when lukewarm." msgstr "" -" Uma bebida com sabor de chocolate feita de aroma artificial e " -"derivadosdeleite. Prateleira estável e vagamente apetitosa mesmo quando " -"morna." +"Uma bebida com sabor de chocolate feita de aroma artificial e derivados de " +"leite. Dura um bom tempo e é vagamente apetitosa mesmo quando morna." #: lang/json/COMESTIBLE_from_json.py msgid "coffee" @@ -26502,10 +27630,10 @@ msgid "" "cherries through a complex process of seed removal, roasting, grinding, and " "brewing. Coffee is substantially richer in caffeine than its rival tea." msgstr "" -" O ritual da manhã do mundo pré-apocalíptico, criado a partir de " -"cerejasdecafé através de um processo complexo de remoção de sementes, " -"torrefação, moagem e fabricação de cerveja. O café é substancialmente " -"maisrico emcafeína que seu chá rival." +"O ritual da manhã do mundo pré-apocalíptico, criado a partir de frutos de " +"café através de um processo complexo de remoção de sementes, torrefação, " +"moagem e fervura. O café é substancialmente mais rico em cafeína do que seu " +"rival, o chá." #: lang/json/COMESTIBLE_from_json.py msgid "coffee substitute" @@ -26530,13 +27658,13 @@ msgstr[1] "infusões de chicória" #. ~ Description for chicory brew #: lang/json/COMESTIBLE_from_json.py msgid "" -"Toasted, ground chicory root steeped in boiling water. This bitter brew is " +"Toasted, ground chicory root steeped in boiling water. This bitter brew is " "used as a coffee substitute, though it tastes nothing like coffee." msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "dark cola" -msgstr "cola escura" +msgstr "refrigerante escuro de cola" #. ~ Description for dark cola #: lang/json/COMESTIBLE_from_json.py @@ -26545,7 +27673,7 @@ msgstr "As coisas vão melhor com cola. Água de açúcar com cafeína adicionad #: lang/json/COMESTIBLE_from_json.py msgid "energy cola" -msgstr "cola de energia" +msgstr "energético de cola" #. ~ Description for energy cola #: lang/json/COMESTIBLE_from_json.py @@ -26553,8 +27681,8 @@ msgid "" "It tastes and looks like windshield wiper fluid, but it's loaded to the brim" " with sugar and caffeine." msgstr "" -" Tem gosto e se parece com fluido limpador de pára-brisa, mas é " -"carregadoatéa borda com açúcar e cafeína." +"Tem gosto e se parece com fluido limpador de pára-brisa, mas é carregado até" +" a borda com açúcar e cafeína." #. ~ Description for condensed milk #: lang/json/COMESTIBLE_from_json.py @@ -26572,11 +27700,11 @@ msgstr "refrigerante de creme" #. ~ Description for cream soda #: lang/json/COMESTIBLE_from_json.py msgid "A caffeinated, carbonated drink, flavored with vanilla." -msgstr "Uma bebida com cafeína e carbonatada, aromatizada com baunilha." +msgstr "Uma bebida carbonatada com cafeína, aromatizada com baunilha." #: lang/json/COMESTIBLE_from_json.py msgid "cranberry juice" -msgstr "Suco de oxicoco" +msgstr "suco de oxicoco" #. ~ Description for cranberry juice #: lang/json/COMESTIBLE_from_json.py @@ -26599,15 +27727,15 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "dandelion tea" msgid_plural "dandelion tea" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "chá de dente-de-leão" +msgstr[1] "chás de dente-de-leão" #. ~ Description for dandelion tea #: lang/json/COMESTIBLE_from_json.py msgid "A healthy beverage made from dandelion roots steeped in boiling water." msgstr "" -" dandelion teaUma bebida saudável feita a partir de raízes de dente " -"deleãomergulhada em água fervente." +"Uma bebida saudável feita a partir de raízes de dente-de-leão mergulhadas em" +" água fervente." #: lang/json/COMESTIBLE_from_json.py msgid "eggnog" @@ -26620,9 +27748,9 @@ msgid "" "popular traditional holiday drink. While often spiked, it is still " "delicious on its own. Meant to be stored cold, it will spoil rapidly." msgstr "" -" Suave e rica, esta mistura de leite, creme e ovos é uma bebida " -"tradicionalepopular. Embora muitas vezes, ele ainda é delicioso por " -"contaprópria. Significa ser armazenado frio, vai estragar rapidamente." +"Suave e rica, esta mistura de leite, creme e ovos é uma bebida tradicional e" +" popular. Embora muitas vezes consumida com álcool, ainda é deliciosa por " +"conta própria. Deve ser armazenada fria, e vai estragar rapidamente." #: lang/json/COMESTIBLE_from_json.py msgid "energy drink" @@ -26634,8 +27762,8 @@ msgid "" "A heavily caffeinated soft drink. Energy drinks are popular among those who" " need to stay up late working." msgstr "" -" Um refrigerante fortemente cafeinado. Bebidas energéticas sãopopularesentre" -" aqueles que precisam ficar acordados até tarde trabalhando." +"Um refrigerante fortemente cafeinado. Bebidas energéticas são populares " +"entre aqueles que precisam ficar acordados até tarde trabalhando." #: lang/json/COMESTIBLE_from_json.py msgid "atomic energy drink" @@ -26649,10 +27777,10 @@ msgid "" " consumer UNCOMFORTABLY ENERGETIC using ELECTROLYTES and THE POWER OF THE " "ATOM." msgstr "" -" De acordo com o rótulo, esta bebida de gosto repugnante é chamada " -"deATOMICPOWER THIRST. Juntamente com a longa advertência de saúde, " -"elaprometetornar o consumidor INTEGRADAMENTE ENERGÉTICO usando ELETRÓLITOS e" -" OPODERDO ATOM." +"De acordo com o rótulo, esta bebida de gosto repugnante é chamada de SEDE " +"ATÔMICA POWER. Juntamente com a longa advertência de saúde, ela promete " +"tornar o consumidor EXAGERADAMENTE ENERGÉTICO usando ELETRÓLITOS e O PODER " +"DO ÁTOMO." #: lang/json/COMESTIBLE_from_json.py msgid "herbal tea" @@ -26663,8 +27791,7 @@ msgstr[1] "chás de ervas" #. ~ Description for herbal tea #: lang/json/COMESTIBLE_from_json.py msgid "A healthy beverage made from herbs steeped in boiling water." -msgstr "" -" herbal teaA bebida saudável feita de ervas mergulhada em água fervente." +msgstr "Uma bebida saudável feita de ervas mergulhadas em água fervente." #: lang/json/COMESTIBLE_from_json.py msgid "hot chocolate" @@ -26678,8 +27805,7 @@ msgid "" "Also known as hot cocoa, this heated chocolate beverage is perfect for a " "cold winter day." msgstr "" -" chocolate quenteTambém conhecido como chocolate quente, esta " -"bebidadechocolate aquecida é perfeita para um dia frio de inverno." +"Esta bebida de chocolate derretido é perfeita para um dia frio de inverno." #: lang/json/COMESTIBLE_from_json.py msgid "fruit juice" @@ -26688,17 +27814,17 @@ msgstr "suco de fruta" #. ~ Description for fruit juice #: lang/json/COMESTIBLE_from_json.py msgid "Freshly-squeezed from real fruit! Tasty and nutritious." -msgstr "Recém-espremido de fruta real! Saborosa e nutritiva." +msgstr "Recém-espremido de frutas reais! Saboroso e nutritivo." #: lang/json/COMESTIBLE_from_json.py msgid "kompot" -msgstr "compota" +msgstr "kompot" #. ~ Description for kompot #: lang/json/COMESTIBLE_from_json.py msgid "Clear juice obtained by cooking fruit in a large volume of water." msgstr "" -"Suco claro obtido por cozimento de frutas em um grande volume de água." +"Suco claro obtido pelo cozimento de frutas em um grande volume de água." #: lang/json/COMESTIBLE_from_json.py msgid "lemonade" @@ -26712,8 +27838,8 @@ msgid "" "Lemon juice mixed with water and sugar to dull the sourness. Delicious and " "refreshing." msgstr "" -" limonadaLemon suco misturado com água e açúcar para amenizar aacidez. " -"Delicioso e refrescante." +"Suco de limão misturado com água e açúcar para amenizar a acidez. Delicioso " +"e refrescante." #: lang/json/COMESTIBLE_from_json.py msgid "lemon-lime soda" @@ -26725,9 +27851,8 @@ msgid "" "Unlike cola this is caffeine free, however it is still carbonated and has " "plenty of sugar. Not to mention a lemon-lime taste." msgstr "" -" Ao contrário de cola, esta é livre de cafeína, no entanto, " -"aindaégaseificada e tem muito açúcar. Para não mencionar um sabor de " -"limãoelima." +"Ao contrário de cola, esta é livre de cafeína, no entanto, ainda é " +"gaseificada e tem muito açúcar. Para não mencionar um sabor de limão e lima." #: lang/json/COMESTIBLE_from_json.py msgid "Mexican hot chocolate" @@ -26741,9 +27866,8 @@ msgid "" "This semi-bitter chocolate drink made from cocoa, cinnamon, and chilies, " "traces its history to the Maya and Aztecs. Perfect for a cold winter day." msgstr "" -" Chocolate quente mexicano Esta bebida de chocolate semi-amargo " -"feitodecacau, canela e pimenta, traça sua história para os maias eastecas. " -"Perfeito para um dia frio de inverno." +"Esta bebida de chocolate semi-amargo feito de cacau, canela e pimenta, traça" +" sua história até os maias e astecas. Perfeita para um dia frio de inverno." #: lang/json/COMESTIBLE_from_json.py lang/json/ammunition_type_from_json.py msgid "milk" @@ -26755,8 +27879,8 @@ msgstr[1] "leite" #: lang/json/COMESTIBLE_from_json.py msgid "Baby cow food, appropriated for adult humans. Spoils rapidly." msgstr "" -" alimento de vaca milkBaby, apropriado para humanos adultos. " -"Estragarapidamente." +"Alimento de vacas filhotes, apropriado para humanos adultos. Estraga " +"rapidamente." #: lang/json/COMESTIBLE_from_json.py msgid "reconstituted milk" @@ -26773,7 +27897,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "coffee milk" -msgstr "café com leite" +msgstr "leite de café" #. ~ Description for coffee milk #: lang/json/COMESTIBLE_from_json.py @@ -26781,12 +27905,12 @@ msgid "" "Coffee syrup mixed into milk. It's been the state drink of Rhode Island " "since 1993." msgstr "" -" Xarope de café misturado com leite. Tem sido a bebida do estado " -"deRhodeIsland desde 1993." +"Xarope de café misturado com leite. Tem sido a bebida do estado de Rhode " +"Island desde 1993." #: lang/json/COMESTIBLE_from_json.py msgid "milk tea" -msgstr "Chã com leite" +msgstr "chá com leite" #. ~ Description for milk tea #: lang/json/COMESTIBLE_from_json.py @@ -26812,14 +27936,14 @@ msgid "" "Unlike cola this is caffeine free, however it is still carbonated, sweet, " "and tastes vaguely orange-like." msgstr "" -" Ao contrário de cola, esta é livre de cafeína, no entanto, " -"aindaégaseificada, doce e tem um gosto ligeiramente semelhante a laranja." +"Ao contrário da cola, isto é livre de cafeína, no entanto, ainda é " +"gaseificado, doce e tem um gosto ligeiramente semelhante a laranja." #: lang/json/COMESTIBLE_from_json.py msgid "pine needle tea" msgid_plural "pine needle tea" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "chá de folhas de pinheiro" +msgstr[1] "chás de folhas de pinheiro" #. ~ Description for pine needle tea #: lang/json/COMESTIBLE_from_json.py @@ -26827,8 +27951,8 @@ msgid "" "A fragrant and healthy beverage made from pine needles steeped in boiling " "water." msgstr "" -" Uma agulha perfumada e saudável feita a partir de agulhas " -"depinheiromergulhadas em água fervente." +"Uma bebida perfumada e saudável feita a partir de agulhas de pinheiro " +"mergulhadas em água fervente." #: lang/json/COMESTIBLE_from_json.py msgid "grape drink" @@ -26841,9 +27965,8 @@ msgid "" " you want something that tastes like fruit, but still don't care about your " "health." msgstr "" -" Uma bebida de origem artificial com sabor a uva produzida em massa. " -"Bomparaquando você quer algo que gosto de frutas, mas ainda não se " -"preocupamcomsua saúde." +"Uma bebida industrializada com sabor de uva. Bom para quando você quer algo " +"que tenha gosto de frutas, mas ainda não se preocupa com sua saúde." #: lang/json/COMESTIBLE_from_json.py msgid "root beer" @@ -26854,7 +27977,7 @@ msgstr[1] "" #. ~ Description for root beer #: lang/json/COMESTIBLE_from_json.py msgid "Like cola, but without caffeine. Still not that healthy." -msgstr "cerveja de raiz, mas sem cafeína. Ainda não é tão saudável." +msgstr "Como refrigerante de cola, mas sem cafeína. Ainda não é saudável." #: lang/json/COMESTIBLE_from_json.py msgid "spezi" @@ -26866,8 +27989,8 @@ msgid "" "Originating in Germany almost a century ago, this mix of cola and orange " "soda tastes great." msgstr "" -" Originada na Alemanha há quase um século, essa mistura de " -"refrigerantedecola e laranja tem um ótimo sabor." +"Originada na Alemanha há quase um século, essa mistura de refrigerante de " +"cola e laranja tem um ótimo sabor." #: lang/json/COMESTIBLE_from_json.py msgid "sports drink" @@ -27511,11 +28634,12 @@ msgstr "Anéis de abacaxi em conserva na água. Muito saborosa." #: lang/json/COMESTIBLE_from_json.py msgid "lemonade drink mix" -msgid_plural "servings of lemonade drink mix" +msgid_plural "lemonade drink mix" msgstr[0] "" msgstr[1] "" -#. ~ Description for lemonade drink mix +#. ~ Description for {'str': 'lemonade drink mix', 'str_pl': 'lemonade drink +#. mix'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Tangy yellow powder that smells strongly of lemons. Can be mixed with water" @@ -28356,8 +29480,8 @@ msgstr[1] "" #. ~ Description for peanut butter candy #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of peanut butter cups... your favorite!" -msgstr "Um punhado de xícaras de manteiga de amendoim ... o seu favorito!" +msgid "A handful of peanut butter cups… your favorite!" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "chocolate candy" @@ -28482,10 +29606,8 @@ msgstr "Delicioso bolo de chocolate. Tem toda a cobertura. Tudo isso." #: lang/json/COMESTIBLE_from_json.py msgid "" "A cake coated in the thickest icing you've ever seen. Someone has written " -"guff in quotation marks on it..." +"guff in quotation marks on it…" msgstr "" -" Um bolo coberto com a cobertura mais grossa que você já viu. " -"Alguémescreveu\"guff\" entre aspas ..." #: lang/json/COMESTIBLE_from_json.py msgid "chocolate-covered coffee bean" @@ -28533,10 +29655,8 @@ msgstr[1] "" #. ~ Description for peppermint patty #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of soft chocolate-covered peppermint patties... yum!" +msgid "A handful of soft chocolate-covered peppermint patties… yum!" msgstr "" -" peppermint pattyA um punhado de pastéis de hortelã cobertos de " -"chocolate...yum!" #: lang/json/COMESTIBLE_from_json.py msgid "Necco wafers" @@ -30088,13 +31208,10 @@ msgstr[1] "" #. ~ Description for antibiotics #: lang/json/COMESTIBLE_from_json.py msgid "" -"A prescription-strength antibacterial medication designed to prevent or stop" -" the spread of infection. It's the quickest and most reliable way to cure " -"any infections you might have. One dose lasts twelve hours." +"A strong antibacterial medication designed to prevent or stop the spread of " +"infection. It's the safest way to cure any infections you might have. One " +"dose lasts twelve hours." msgstr "" -" Uma medicação antibacteriana com prescrição médica projetada paraprevenirou" -" impedir a propagação da infecção. É a maneira mais rápida econfiável " -"decurar qualquer infecção que você possa ter. Uma dose dura dozehoras." #: lang/json/COMESTIBLE_from_json.py msgid "antifungal drug" @@ -30862,7 +31979,7 @@ msgid "" "Can either be rolled into a cigarette with some rolling papers or smoked through a pipe." msgstr "" " Folhas de tabaco bem cortadas. Popular na Europa e entre osdescolados. Altamente viciante e perigoso para a saúde. \n" -" Pode ser enrolado num cigarro com alguns mortalhas ou fumado através de um cachimbo.\n" +" Pode ser enrolado num cigarro com alguns mortalhas ou fumado através de um cachimbo." #: lang/json/COMESTIBLE_from_json.py msgid "tramadol" @@ -31062,8 +32179,8 @@ msgstr[1] "" #. ~ Description for antiseptic soaked rag #: lang/json/COMESTIBLE_from_json.py msgid "" -"A rag soaked in antiseptic. Useful for light wounds, probaby won't help with" -" deep bites." +"A rag soaked in antiseptic. Useful for light wounds, probaby won't help " +"with deep bites." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31129,14 +32246,8 @@ msgid "" "oily liquid that shifts from black to purple at unpredictable intervals, " "flecked with tiny gray dots. Given the place you got it from, it's either " "very potent, or highly experimental. Holding it, all the little aches and " -"pains seem to fade, just for a moment..." +"pains seem to fade, just for a moment…" msgstr "" -" Panaceus Uma cápsula de gel de maçã vermelha do tamanho da suaunha, " -"preenchida com um líquido oleoso e espesso que muda de preto parapúrpuraem " -"intervalos imprevisíveis, salpicado de pequenos pontos cinzentos. Dado " -"olugar de onde você tirou, é muito potente ou altamenteexperimental. " -"Segurando, todas as pequenas dores e dores parecemdesaparecer, só por " -"ummomento ..." #: lang/json/COMESTIBLE_from_json.py msgid "cattail jelly" @@ -31153,6 +32264,19 @@ msgstr "" " geleia de taboaGeleia gelada colhida de taboa, tem propriedades anti- " "sépticas e funciona como um analgésico." +#: lang/json/COMESTIBLE_from_json.py +msgid "destragon" +msgstr "" + +#. ~ Description for destragon +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A prescription-strength antibacterial medication designed to prevent or stop" +" the spread of infection. It contains nearly toxic levels of antibiotics, " +"but can treat any bacterial infections you may encounter. One dose lasts " +"twelve hours." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "MRE entree" msgstr "Entrada MRE" @@ -31572,11 +32696,9 @@ msgstr "sabor de mutagênico iv abstrato" #. ~ Description for abstract iv mutagen flavor #: lang/json/COMESTIBLE_from_json.py msgid "" -"A super-concentrated mutagen. You need a syringe to inject it... if you " +"A super-concentrated mutagen. You need a syringe to inject it… if you " "really want to?" msgstr "" -" Um mutagênico superconcentrado. Você precisa de uma seringa para " -"injetar...se você realmente quiser?" #: lang/json/COMESTIBLE_from_json.py msgid "mutagenic serum" @@ -31590,10 +32712,8 @@ msgstr "soro alfa" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen strongly resembling blood. You need a syringe " -"to inject it... if you really want to?" +"to inject it… if you really want to?" msgstr "" -" Um mutagênico superconcentrado que lembra muito o sangue. Você precisadeuma" -" seringa para injetar ... se você realmente quiser?" #: lang/json/COMESTIBLE_from_json.py msgid "beast serum" @@ -31603,7 +32723,7 @@ msgstr "soro de fera" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as red as a matador's cape. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31614,10 +32734,8 @@ msgstr "soro de aves" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the pre-cataclysmic skies. You " -"need a syringe to inject it... if you really want to?" +"need a syringe to inject it… if you really want to?" msgstr "" -" Um mutagênico superconcentrado da cor dos céus pré- cataclísmicos. " -"Vocêprecisa de uma seringa para injetar ... se você realmente quiser?" #: lang/json/COMESTIBLE_from_json.py msgid "cattle serum" @@ -31627,10 +32745,8 @@ msgstr "soro de gado" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of grass. You need a syringe to " -"inject it... if you really want to?" +"inject it… if you really want to?" msgstr "" -" Um mutagênico superconcentrado da cor da grama. Você precisa de " -"umaseringapara injetar ... se você realmente quiser?" #: lang/json/COMESTIBLE_from_json.py msgid "cephalopod serum" @@ -31640,7 +32756,7 @@ msgstr "soro cefalópode" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as black as ink. You need a syringe to inject " -"it... if you really want to?" +"it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31651,7 +32767,7 @@ msgstr "soro de quimera" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that churns with iridescence. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31662,7 +32778,7 @@ msgstr "elf-a serum" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a striking sylvan green. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31673,7 +32789,7 @@ msgstr "soro felino" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen, yellow and highly reflective. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31684,10 +32800,8 @@ msgstr "soro de peixe" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the ocean, with white foam at the " -"top. You need a syringe to inject it... if you really want to?" +"top. You need a syringe to inject it… if you really want to?" msgstr "" -" Um mutagênico superconcentrado da cor do oceano, com espuma branca notopo. " -"Você precisa de uma seringa para injetar ... se você realmente quiser?" #: lang/json/COMESTIBLE_from_json.py msgid "insect serum" @@ -31697,7 +32811,7 @@ msgstr "soro de inseto" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a beautiful amber color. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31708,7 +32822,7 @@ msgstr "soro de lagarto" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that shifts between various shades of green. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31719,7 +32833,7 @@ msgstr "soro de tremoço" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as white as a full moon. You need a syringe to" -" inject it... if you really want to?" +" inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31730,7 +32844,7 @@ msgstr "soro médico" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like a mixture of bodily fluids. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31741,7 +32855,7 @@ msgstr "soro de plantas" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like pureed spinach. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31752,7 +32866,7 @@ msgstr "soro de raptor" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to shift slightly whenever you look " -"at it. You need a syringe to inject it... if you really want to?" +"at it. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31763,7 +32877,7 @@ msgstr "soro de rato" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a rather unappealing beige. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31774,7 +32888,7 @@ msgstr "soro de lodo" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks very much like the black ooze in the" -" zombies' eyes. You need a syringe to inject it... if you really want to?" +" zombies' eyes. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31785,7 +32899,7 @@ msgstr "soro de aranha" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen with pale filaments suspended in it. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31796,7 +32910,7 @@ msgstr "soro de troglóbio" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to recoil from the light. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31807,7 +32921,7 @@ msgstr "soro de ursina" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's the color of honey, and is just as " -"thick. You need a syringe to inject it... if you really want to?" +"thick. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31818,7 +32932,7 @@ msgstr "soro de rato" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen resembling liquefied metal. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -31833,10 +32947,8 @@ msgstr "sangue coagulado" #: lang/json/COMESTIBLE_from_json.py msgid "" "A thick, soupy red liquid. It looks and smells disgusting, and seems to " -"bubble with an intelligence of its own..." +"bubble with an intelligence of its own…" msgstr "" -" Um líquido vermelho espesso e grosso. Parece e cheira repugnante, " -"epareceborbulhar com uma inteligência própria ..." #: lang/json/COMESTIBLE_from_json.py msgid "alpha mutagen" @@ -32032,23 +33144,23 @@ msgstr "" "masprovavelmente é muito mais seguro beber do que antes." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of pine nuts" -msgid_plural "handfuls of pine nuts" +msgid "pine nuts" +msgid_plural "pine nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of pine nuts +#. ~ Description for {'str': 'pine nuts', 'str_pl': 'pine nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of tasty crunchy nuts from a pinecone." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of junipers" -msgid_plural "handful of junipers" +msgid "junipers" +msgid_plural "junipers" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of junipers +#. ~ Description for {'str': 'junipers', 'str_pl': 'junipers'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Junipers, for making gin and earthy flavors. Spicy, tastes similar to " @@ -32056,12 +33168,13 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pistachios" -msgid_plural "handfuls of shelled pistachios" +msgid "shelled pistachios" +msgid_plural "shelled pistachios" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled pistachios +#. ~ Description for {'str': 'shelled pistachios', 'str_pl': 'shelled +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of nuts from a pistachio tree, their shells have been removed." @@ -32070,12 +33183,13 @@ msgstr "" "suasconchas foram removidas." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pistachios" -msgid_plural "handfuls of roasted pistachios" +msgid "roasted pistachios" +msgid_plural "roasted pistachios" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted pistachios +#. ~ Description for {'str': 'roasted pistachios', 'str_pl': 'roasted +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an pistachio tree." msgstr "" @@ -32083,12 +33197,12 @@ msgstr "" "árvoredepistache." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled almonds" -msgid_plural "handfuls of shelled almonds" +msgid "shelled almonds" +msgid_plural "shelled almonds" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled almonds +#. ~ Description for {'str': 'shelled almonds', 'str_pl': 'shelled almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of nuts from an almond tree, their shells have been removed." msgstr "" @@ -32096,35 +33210,47 @@ msgstr "" "suasconchas foram removidas." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted almonds" -msgid_plural "handfuls of roasted almonds" +msgid "almond pulp" +msgid_plural "almond pulp" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for almond pulp +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Pulp left over after making almond milk. It's gritty and incredibly bland." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "roasted almonds" +msgid_plural "roasted almonds" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted almonds +#. ~ Description for {'str': 'roasted almonds', 'str_pl': 'roasted almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an almond tree." msgstr "" " punhado de amêndoas torradas Um punhado de nozes torradas de umaamendoeira." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cashews" -msgid_plural "handfuls of cashews" +msgid "cashews" +msgid_plural "cashews" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of cashews +#. ~ Description for {'str': 'cashews', 'str_pl': 'cashews'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of salty cashews." msgstr "castanha de caju Um punhado de cajus salgados." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pecans" -msgid_plural "handfuls of shelled pecans" +msgid "shelled pecans" +msgid_plural "shelled pecans" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled pecans +#. ~ Description for {'str': 'shelled pecans', 'str_pl': 'shelled pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of pecans which are a sub-species of hickory nuts, their shells " @@ -32134,47 +33260,47 @@ msgstr "" "umasubespéciede nozes de nogueira, suas cascas foram removidas." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pecans" -msgid_plural "handfuls of roasted pecans" +msgid "roasted pecans" +msgid_plural "roasted pecans" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted pecans +#. ~ Description for {'str': 'roasted pecans', 'str_pl': 'roasted pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a pecan tree." msgstr "" "punhado de nozes torradas Um punhado de nozes assadas de uma noz-pecã." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled peanuts" -msgid_plural "handful of shelled peanuts" +msgid "shelled peanuts" +msgid_plural "shelled peanuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled peanuts +#. ~ Description for {'str': 'shelled peanuts', 'str_pl': 'shelled peanuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Salty peanuts with their shells removed." msgstr "" " punhado de amendoim sem cascaSalty amendoins com suas cascas removidas." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of beech nuts" -msgid_plural "handfuls of beech nuts" +msgid "beech nuts" +msgid_plural "beech nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of beech nuts +#. ~ Description for {'str': 'beech nuts', 'str_pl': 'beech nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of hard pointy nuts from a beech tree." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled walnuts" -msgid_plural "handfuls of shelled walnuts" +msgid "shelled walnuts" +msgid_plural "shelled walnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled walnuts +#. ~ Description for {'str': 'shelled walnuts', 'str_pl': 'shelled walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a walnut tree, their shells have been " @@ -32184,24 +33310,25 @@ msgstr "" "deumanogueira, suas cascas foram removidas." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted walnuts" -msgid_plural "handfuls of roasted walnuts" +msgid "roasted walnuts" +msgid_plural "roasted walnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted walnuts +#. ~ Description for {'str': 'roasted walnuts', 'str_pl': 'roasted walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a walnut tree." msgstr "" "punhado de nozes torradas Um punhado de nozes assadas de uma nogueira." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled chestnuts" -msgid_plural "handfuls of shelled chestnuts" +msgid "shelled chestnuts" +msgid_plural "shelled chestnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled chestnuts +#. ~ Description for {'str': 'shelled chestnuts', 'str_pl': 'shelled +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a chestnut tree, their shells have been " @@ -32211,24 +33338,26 @@ msgstr "" "deumacastanheira, suas conchas foram removidas." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted chestnuts" -msgid_plural "handfuls of roasted chestnuts" +msgid "roasted chestnuts" +msgid_plural "roasted chestnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted chestnuts +#. ~ Description for {'str': 'roasted chestnuts', 'str_pl': 'roasted +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a chestnut tree." msgstr "" " punhado de castanhas assadas Um punhado de nozes assadas de umacastanheira." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hazelnuts" -msgid_plural "handfuls of shelled hazelnuts" +msgid "shelled hazelnuts" +msgid_plural "shelled hazelnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled hazelnuts +#. ~ Description for {'str': 'shelled hazelnuts', 'str_pl': 'shelled +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hazelnut tree, their shells have been " @@ -32238,34 +33367,35 @@ msgstr "" "suascascasforam removidas." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted edamame" -msgid_plural "handful of roasted edamame" +msgid "roasted edamame" +msgid_plural "roasted edamame" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted edamame +#. ~ Description for {'str': 'roasted edamame', 'str_pl': 'roasted edamame'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted edamame, a heart healthy snack." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted soy nuts" -msgid_plural "handful of roasted soy nuts" +msgid "roasted soy nuts" +msgid_plural "roasted soy nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted soy nuts +#. ~ Description for {'str': 'roasted soy nuts', 'str_pl': 'roasted soy nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted soybeans, often called soy nuts." msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hazelnuts" -msgid_plural "handfuls of roasted hazelnuts" +msgid "roasted hazelnuts" +msgid_plural "roasted hazelnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted hazelnuts +#. ~ Description for {'str': 'roasted hazelnuts', 'str_pl': 'roasted +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hazelnut tree." msgstr "" @@ -32273,12 +33403,13 @@ msgstr "" "árvoredeavelã." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hickory nuts" -msgid_plural "handfuls of shelled hickory nuts" +msgid "shelled hickory nuts" +msgid_plural "shelled hickory nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of shelled hickory nuts +#. ~ Description for {'str': 'shelled hickory nuts', 'str_pl': 'shelled +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hickory tree, their shells have been " @@ -32288,12 +33419,13 @@ msgstr "" "decastanhasduras e cruas de uma nogueira, suas cascas foram removidas." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hickory nuts" -msgid_plural "handfuls of roasted hickory nuts" +msgid "roasted hickory nuts" +msgid_plural "roasted hickory nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted hickory nuts +#. ~ Description for {'str': 'roasted hickory nuts', 'str_pl': 'roasted +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hickory tree." msgstr "" @@ -32310,12 +33442,12 @@ msgid "Delicious hickory nut ambrosia. A drink worthy of the gods." msgstr "Ambrosia deliciosa da noz de hicória. Uma bebida digna dos deuses." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of acorns" -msgid_plural "handfuls of acorns" +msgid "acorns" +msgid_plural "acorns" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of acorns +#. ~ Description for {'str': 'acorns', 'str_pl': 'acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of acorns, still in their shells. Squirrels like them, but " @@ -32326,12 +33458,12 @@ msgstr "" "nesseestado." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted acorns" -msgid_plural "handfuls of roasted acorns" +msgid "roasted acorns" +msgid_plural "roasted acorns" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of roasted acorns +#. ~ Description for {'str': 'roasted acorns', 'str_pl': 'roasted acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful roasted nuts from an oak tree." msgstr "Um punhado de nozes assadas de um carvalho." @@ -32941,11 +34073,12 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "soylent green powder" -msgid_plural "servings of soylent green powder" +msgid_plural "soylent green powder" msgstr[0] "" msgstr[1] "" -#. ~ Description for soylent green powder +#. ~ Description for {'str': 'soylent green powder', 'str_pl': 'soylent green +#. powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein made out of people! While quite nutritious, it is " @@ -32996,11 +34129,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "protein powder" -msgid_plural "servings of protein powder" +msgid_plural "protein powder" msgstr[0] "" msgstr[1] "" -#. ~ Description for protein powder +#. ~ Description for {'str': 'protein powder', 'str_pl': 'protein powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein. While quite nutritious, it is impossible to enjoy in " @@ -33076,12 +34209,12 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "Muito cítrico azedo. Pode ser comido se você realmente quiser." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blueberries" -msgid_plural "handful of blueberries" +msgid "blueberries" +msgid_plural "blueberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of blueberries +#. ~ Description for {'str': 'blueberries', 'str_pl': 'blueberries'} #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "" @@ -33089,12 +34222,12 @@ msgstr "" "queelesestão tristes." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of strawberries" -msgid_plural "handful of strawberries" +msgid "strawberries" +msgid_plural "strawberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of strawberries +#. ~ Description for {'str': 'strawberries', 'str_pl': 'strawberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "" @@ -33102,34 +34235,34 @@ msgstr "" "vezesencontradocrescendo selvagem em campos." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cranberries" -msgid_plural "handful of cranberries" +msgid "cranberries" +msgid_plural "cranberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of cranberries +#. ~ Description for {'str': 'cranberries', 'str_pl': 'cranberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "punhado de cranberries. Sour bagas vermelhas. Bom para a sua saúde." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of raspberries" -msgid_plural "handful of raspberries" +msgid "raspberries" +msgid_plural "raspberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of raspberries +#. ~ Description for {'str': 'raspberries', 'str_pl': 'raspberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "punhado de framboesas Uma baga vermelha doce." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of huckleberries" -msgid_plural "handful of huckleberries" +msgid "huckleberries" +msgid_plural "huckleberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of huckleberries +#. ~ Description for {'str': 'huckleberries', 'str_pl': 'huckleberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "" @@ -33137,12 +34270,12 @@ msgstr "" "confundidocomblueberries." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of mulberries" -msgid_plural "handful of mulberries" +msgid "mulberries" +msgid_plural "mulberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of mulberries +#. ~ Description for {'str': 'mulberries', 'str_pl': 'mulberries'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -33153,12 +34286,12 @@ msgstr "" "mundo." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of elderberries" -msgid_plural "handful of elderberries" +msgid "elderberries" +msgid_plural "elderberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of elderberries +#. ~ Description for {'str': 'elderberries', 'str_pl': 'elderberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "" @@ -33166,12 +34299,12 @@ msgstr "" "ótimoquandocozido." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of rose hips" -msgid_plural "handful of rose hips" +msgid "rose hips" +msgid_plural "rose hips" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of rose hips +#. ~ Description for {'str': 'rose hips', 'str_pl': 'rose hips'} #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "punhado de rosa mosquetaO fruto de uma flor rosa polinizada." @@ -33208,12 +34341,12 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "Uma fruta cítrica, cujo sabor varia de azedo a meio doce." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cherries" -msgid_plural "handful of cherries" +msgid "cherries" +msgid_plural "cherries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of cherries +#. ~ Description for {'str': 'cherries', 'str_pl': 'cherries'} #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "" @@ -33231,12 +34364,12 @@ msgstr "" "Um punhado de grandes ameixas roxas. Saudável e bom para sua digestão." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of grapes" -msgid_plural "handful of grapes" +msgid "grapes" +msgid_plural "grapes" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of grapes +#. ~ Description for {'str': 'grapes', 'str_pl': 'grapes'} #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "punhado de uvasUm cacho de uvas suculentas." @@ -33290,12 +34423,12 @@ msgid "A large and very sweet fruit." msgstr "Uma fruta grande e muito doce." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blackberries" -msgid_plural "handful of blackberries" +msgid "blackberries" +msgid_plural "blackberries" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of blackberries +#. ~ Description for {'str': 'blackberries', 'str_pl': 'blackberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "Um punhado de amoras Um primo mais escuro de framboesa." @@ -33340,16 +34473,27 @@ msgstr "" "interioressãoverdes." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of apricots" -msgid_plural "handful of apricots" +msgid "apricots" +msgid_plural "apricots" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of apricots +#. ~ Description for {'str': 'apricots', 'str_pl': 'apricots'} #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "punhado de damascosUm fruto de casca mole, relacionado ao pêssego." +#: lang/json/COMESTIBLE_from_json.py +msgid "cholla bud" +msgstr "" + +#. ~ Description for cholla bud +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Edible bud of a cholla cactus, with spines removed; the candy of the Mojave " +"indigenous peoples. Tastes similar to asparagus." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "cactus pad" msgstr "" @@ -33541,11 +34685,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "salsify" -msgid_plural "handfuls of salsify" +msgid_plural "salsify" msgstr[0] "" msgstr[1] "" -#. ~ Description for salsify +#. ~ Description for {'str': 'salsify', 'str_pl': 'salsify'} #: lang/json/COMESTIBLE_from_json.py msgid "" "An herb with a small purple flower. The roots are nutritious, but tough and" @@ -33555,11 +34699,11 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py lang/json/COMESTIBLE_from_json.py #: lang/json/furniture_from_json.py msgid "chicory" -msgid_plural "handfuls of chicory" +msgid_plural "chicory" msgstr[0] "" msgstr[1] "" -#. ~ Description for chicory +#. ~ Description for {'str': 'chicory', 'str_pl': 'chicory'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A modest blue flower. The flower's roots are very bitter and not meant to " @@ -33685,12 +34829,12 @@ msgstr "" "maséótimo para cozinhar." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of dandelions" -msgid_plural "handfuls of dandelions" +msgid "dandelions" +msgid_plural "dandelions" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of dandelions +#. ~ Description for {'str': 'dandelions', 'str_pl': 'dandelions'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A collection of freshly picked yellow dandelions. In their current raw " @@ -33833,6 +34977,19 @@ msgstr[1] "lentilhas cruas" msgid "Raw, uncooked lentils. They could be cooked." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "fiddleheads" +msgid_plural "fiddleheads" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'fiddleheads', 'str_pl': 'fiddleheads'} +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A handful of immature fern fronds, still curled up like the head of a " +"fiddle. Delicious when cooked, but consuming raw can cause food poisoning." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "grilled cheese sandwich" msgid_plural "grilled cheese sandwiches" @@ -34031,6 +35188,17 @@ msgstr[1] "sanduíches de peixe" msgid "A delicious fish sandwich." msgstr "Um sanduíche de peixe delicioso." +#: lang/json/COMESTIBLE_from_json.py +msgid "fish and spinach bagel" +msgid_plural "fish and spinach bagels" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fish and spinach bagel +#: lang/json/COMESTIBLE_from_json.py +msgid "A delicious fish bagel with spinach and eggs." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "BLT" msgstr "BLT" @@ -34124,13 +35292,13 @@ msgstr "oxicoco" #: lang/json/COMESTIBLE_from_json.py msgid "huckleberry seeds" msgid_plural "huckleberry seeds" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "semente de huckleberry" +msgstr[1] "sementes de huckleberry" #. ~ Description for huckleberry seeds #: lang/json/COMESTIBLE_from_json.py msgid "Some huckleberry seeds." -msgstr "sementes de huckleberryAlgumas sementes de huckleberry." +msgstr "Algumas sementes de huckleberry." #: lang/json/COMESTIBLE_from_json.py msgid "huckleberry" @@ -34139,17 +35307,17 @@ msgstr "huckleberry" #: lang/json/COMESTIBLE_from_json.py msgid "mulberry seeds" msgid_plural "mulberry seeds" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "semente de amora-silvestre" +msgstr[1] "sementes de amora-silvestre" #. ~ Description for mulberry seeds #: lang/json/COMESTIBLE_from_json.py msgid "Some mulberry seeds." -msgstr "Sementes de amoreiraAlgumas sementes de amoreira." +msgstr "Algumas sementes de amoreira." #: lang/json/COMESTIBLE_from_json.py msgid "mulberry" -msgstr "amora" +msgstr "amora-silvestre" #: lang/json/COMESTIBLE_from_json.py msgid "elderberry seeds" @@ -34366,17 +35534,17 @@ msgstr "alho" #: lang/json/COMESTIBLE_from_json.py msgid "cattail seeds" msgid_plural "cattail seeds" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "sementes de taboa" +msgstr[1] "sementes de taboa" #. ~ Description for cattail seeds #: lang/json/COMESTIBLE_from_json.py msgid "Some cattail seeds." -msgstr "" +msgstr "Algumas sementes de taboa." #: lang/json/COMESTIBLE_from_json.py msgid "cattail" -msgstr "" +msgstr "taboa" #: lang/json/COMESTIBLE_from_json.py msgid "dahlia seeds" @@ -34628,13 +35796,13 @@ msgstr "Tomilho" #: lang/json/COMESTIBLE_from_json.py msgid "canola seeds" msgid_plural "canola seeds" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "sementes de canola" +msgstr[1] "sementes de canola" #. ~ Description for canola seeds #: lang/json/COMESTIBLE_from_json.py msgid "Some canola seeds. You could press them into oil." -msgstr "" +msgstr "Algumas sementes de canola. Você poderia prensá-las para obter óleo." #: lang/json/COMESTIBLE_from_json.py msgid "pumpkin seeds" @@ -34735,7 +35903,7 @@ msgstr[1] "caules de vegetal silvestre" #. ~ Description for wild vegetable stems #: lang/json/COMESTIBLE_from_json.py msgid "Some wild vegetable stems." -msgstr "" +msgstr "Alguns caules de vegetais silvestres." #: lang/json/COMESTIBLE_from_json.py msgid "wild vegetable" @@ -34744,13 +35912,13 @@ msgstr "vegetal selvagem" #: lang/json/COMESTIBLE_from_json.py msgid "dandelion seeds" msgid_plural "dandelion seeds" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "sementes de dente de leão" +msgstr[1] "sementes de dente de leão" #. ~ Description for dandelion seeds #: lang/json/COMESTIBLE_from_json.py msgid "Some dandelion seeds." -msgstr "" +msgstr "Algumas sementes de dente de leão." #: lang/json/COMESTIBLE_from_json.py lang/json/furniture_from_json.py msgid "dandelion" @@ -35726,6 +36894,28 @@ msgstr "" msgid "A less prickly version of cactus pads." msgstr "Uma versão preparada e menos espinhenta de discos de cacto." +#: lang/json/COMESTIBLE_from_json.py +msgid "boiled fiddleheads" +msgid_plural "boiled fiddleheads" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for boiled fiddleheads +#: lang/json/COMESTIBLE_from_json.py +msgid "Boiled fiddleheads. Not bad, but would be better sauteed in butter." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "sauteed fiddleheads" +msgid_plural "sauteed fiddleheads" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sauteed fiddleheads +#: lang/json/COMESTIBLE_from_json.py +msgid "Fiddleheads sauteed in fat. Tender and delicious." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "wheat cereal" msgstr "cereal de trigo" @@ -35753,11 +36943,9 @@ msgstr[1] "espaguete cru" #. ~ Description for raw spaghetti pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of pasta usually used when preparing spaghetti. It could be eaten raw" -" if you're desperate, but is much better cooked." +"A type of pasta usually used when preparing spaghetti. It could be eaten " +"raw if you're desperate, but is much better cooked." msgstr "" -"Um tipo de massa normalmente usada para preparar espaguete. Poderia ser " -"comida crua em caso de desespero, mas é muito melhor quando cozida." #: lang/json/COMESTIBLE_from_json.py msgid "raw lasagne pasta" @@ -35768,7 +36956,7 @@ msgstr[1] "" #. ~ Description for raw lasagne pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pasta sheet used in making lasagne. It could be eaten raw if you're " +"A pasta sheet used in making lasagne. It could be eaten raw if you're " "desperate, but is much better cooked." msgstr "" @@ -36248,7 +37436,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "Strong alcohol, infused with mana and concentrated into a liquid that can " -"stabilize spells into liquid form. You can still drink it, if you want." +"stabilize spells into liquid form. You can still drink it, if you want." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -36261,7 +37449,7 @@ msgstr[1] "" #: lang/json/COMESTIBLE_from_json.py msgid "" "An organ located above the kidneys responsible for secretion of adrenaline, " -"cortisol, and aldosterone. This one is huge, whether by nature or mutation." +"cortisol, and aldosterone. This one is huge, whether by nature or mutation." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -36358,8 +37546,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human, including pieces of bone " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -36370,8 +37558,9 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human covered with bone, including" -" pieces of organs. Necromantic magic delays immediate rot, but it won't last" -" forever. Piercing it with the attached needle could compel it to serve you." +" pieces of organs. Necromantic magic delays immediate rot, but it won't " +"last forever. Piercing it with the attached needle could compel it to serve" +" you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -36382,8 +37571,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead cougar, complete with fur, bones, " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -36394,8 +37583,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -36406,9 +37595,9 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal. Improved infusion techniques lessen the strain of the " -"process." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal. Improved infusion techniques lessen the strain of " +"the process." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -36443,7 +37632,7 @@ msgstr[1] "bolas de pelo" #. ~ Description for hairball #: lang/json/COMESTIBLE_from_json.py msgid "" -"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." +"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -36460,6 +37649,16 @@ msgid "" " properties." msgstr "" +#: lang/json/COMESTIBLE_from_json.py +msgid "scream mushroom" +msgstr "" + +#. ~ Description for scream mushroom +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"The mushrooms harvested from a dead shrieker. Could be used in potions." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "resinous cord" msgstr "cordão resinoso" @@ -36473,6 +37672,28 @@ msgstr "" " Material de ligação primitivo feito de cordões e cola natural. Use-o para " "reparar itens feitos de madeira, papel, osso ou quitina." +#: lang/json/COMESTIBLE_from_json.py +msgid "necco corpse" +msgstr "" + +#. ~ Description for necco corpse +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"The corpse of a necco, now it really looks like a giant necco wafer. Surely " +"a bite wouldn't hurt, right?" +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "caramel ointment" +msgstr "" + +#. ~ Description for caramel ointment +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"An ointment made of caramel. You could use it to heal your wounds, if you " +"were made of sugar." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "berry-shaped anomaly" msgid_plural "berry-shaped anomalies" @@ -36650,8 +37871,8 @@ msgid "" "A delicious peanut butter and jelly gluten free sandwich. It reminds you of" " the times your mother would make you lunch." msgstr "" -" sanduíche PB & J sem glúten Uma deliciosa manteiga de amendoim " -"egeléiasem glúten sanduíche. Faz lembrar as vezes que sua mãe faria oalmoço." +"Um delicioso sanduíche de manteiga de amendoim e geléia sem glúten. Faz " +"lembrar as vezes que sua mãe fazia o almoço." #: lang/json/COMESTIBLE_from_json.py msgid "gluten free PB&H sandwich" @@ -36665,9 +37886,9 @@ msgid "" "Some damned fool put honey on this peanut butter sandwich, who in their " "right mind- oh wait this is pretty good. Gluten free too!" msgstr "" -" sem glúten sanduíche PB & H Alguns malditos idiotas colocam " -"melnestesanduíche de manteiga de amendoim, que em seu juízo perfeito - oh, " -"espere, isso é muito bom. Sem glúten também!" +"Algum maldito idiota colocou mel neste sanduíche de manteiga de amendoim, " +"quem em seu juízo perfeito - oh, espere, isso é muito bom. Sem glúten " +"também!" #: lang/json/COMESTIBLE_from_json.py msgid "gluten free PB&M sandwich" @@ -36681,12 +37902,12 @@ msgid "" "Who knew you could mix maple syrup and peanut butter to create yet another " "different gluten free sandwich?" msgstr "" -" sanduíche PB & M sem glútenQuem sabia que você poderia misturarxaropede" -" bordo e manteiga de amendoim para criar outro sanduíche semglúten?" +"Quem diria que você poderia misturar xarope de bordo e manteiga de amendoim " +"para criar outro sanduíche sem glúten?" #: lang/json/COMESTIBLE_from_json.py msgid "lactose free hickory nut ambrosia" -msgstr "ambrosia de noz de nogueira sem lactose" +msgstr "ambrosia de nozes sem lactose" #. ~ Description for lactose free hickory nut ambrosia #: lang/json/COMESTIBLE_from_json.py @@ -36694,8 +37915,8 @@ msgid "" "Delicious hickory nut ambrosia. A drink worthy of the gods. This one was " "made with an alternative to cows milk." msgstr "" -" Ambrosia deliciosa da noz de hicória. Uma bebida digna dos deuses. " -"Estefoifeito com uma alternativa ao leite de vaca." +"Ambrosia deliciosa de nozes. Uma bebida digna dos deuses. Este foi feito com" +" uma alternativa ao leite de vaca." #. ~ Description for cornmeal #: lang/json/COMESTIBLE_from_json.py @@ -36703,9 +37924,9 @@ msgid "" "You think this is cornflour... or rice flour... Or something else. However, " "it certainly is not wheat flour! It is useful for baking though." msgstr "" -" Você acha que isso é farinha de milho ... ou farinha de arroz ... " -"Ououtracoisa. No entanto, certamente não é farinha de trigo! É útil " -"paraassarembora." +"Você acha que isso é farinha de milho... ou farinha de arroz... Ou outra " +"coisa. No entanto, certamente não é farinha de trigo! Mas ainda é útil para " +"assar coisas." #: lang/json/COMESTIBLE_from_json.py msgid "gluten free johnnycake" @@ -36723,8 +37944,8 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "gluten free fruit pancake" msgid_plural "gluten free fruit pancakes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "panqueca de frutas sem glúten" +msgstr[1] "panquecas de frutas sem glúten" #. ~ Description for gluten free fruit pancake #: lang/json/COMESTIBLE_from_json.py @@ -36732,15 +37953,14 @@ msgid "" "Fluffy and delicious gluten free pancakes with real maple syrup, made " "sweeter and healthier with the addition of wholesome fruit." msgstr "" -" panqueca de frutas sem glúten Panquecas sem glúten e " -"deliciosascomverdadeiro xarope de bordo, feitas mais doces e saudáveis com a" -" adiçãodefrutas saudáveis." +"Panquecas fofinhas e deliciosas, sem glúten e com verdadeiro xarope de " +"bordo, feitas mais doces e saudáveis com a adição de frutas frescas." #: lang/json/COMESTIBLE_from_json.py msgid "lactose free fruit pancake" msgid_plural "lactose free fruit pancakes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "panqueca de frutas sem lactose" +msgstr[1] "panquecas de frutas sem lactose" #. ~ Description for lactose free fruit pancake #: lang/json/COMESTIBLE_from_json.py @@ -36748,14 +37968,14 @@ msgid "" "Fluffy and delicious lactose free pancakes with real maple syrup, made " "sweeter and healthier with the addition of wholesome fruit." msgstr "" -" panqueca de frutas sem lactose Panquecas sem lactose e deliciosassemlactose" -" com xarope de bordo, adoçadas e saudáveis com a adição defrutassaudáveis." +"Panquecas fofinhas e deliciosas, sem lactose e com xarope de bordo, tornadas" +" mais doces e saudáveis com a adição de frutas frescas." #: lang/json/COMESTIBLE_from_json.py msgid "gluten free lactose free fruit pancake" msgid_plural "gluten free lactose free fruit pancakes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "panqueca de frutas sem lactose ou glúten" +msgstr[1] "panquecas de frutas sem lactose ou glúten" #. ~ Description for gluten free lactose free fruit pancake #: lang/json/COMESTIBLE_from_json.py @@ -36764,16 +37984,15 @@ msgid "" " But at least it has real maple syrup, made sweeter and healthier with the " "addition of wholesome fruit." msgstr "" -" panqueca de frutas sem lactose sem glúten Panquecas fofinhas " -"edeliciosasfeitas com as únicas coisas que você ainda pode comer. Mas " -"pelomenos temxarope de bordo real, feito mais doce e saudável com a adição " -"defrutassaudáveis." +"Panquecas fofinhas e deliciosas feitas com as únicas coisas que você ainda " +"pode comer. Mas pelo menos tem xarope de bordo real, feito mais doce e " +"saudável com a adição de frutas frescas." #: lang/json/COMESTIBLE_from_json.py msgid "gluten free chocolate pancake" msgid_plural "gluten free chocolate pancakes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "panqueca de chocolate sem glúten" +msgstr[1] "panquecas de chocolate sem glúten" #. ~ Description for gluten free chocolate pancake #: lang/json/COMESTIBLE_from_json.py @@ -36781,28 +38000,28 @@ msgid "" "Fluffy and delicious gluten free pancakes with real maple syrup, with " "delicious chocolate baked right in." msgstr "" -" panqueca de chocolate sem glúten Panquecas sem glúten e deliciosascomxarope" -" de bordo, com delicioso chocolate assado." +"Panquecas deliciosas e fofinhas, sem glúten e com xarope de bordo, assadas " +"com chocolate." #: lang/json/COMESTIBLE_from_json.py msgid "gluten free French toast" msgid_plural "gluten free French toasts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "rabanada sem glúten" +msgstr[1] "rabanadas sem glúten" #. ~ Description for gluten free French toast #: lang/json/COMESTIBLE_from_json.py msgid "" "Slices of gluten free bread dipped in a milk and egg mixture then fried." msgstr "" -" torradas francesas sem glútenSlices de pão sem glúten mergulhados " -"emumamistura de leite e ovo, em seguida, frito." +"Fatias de pão sem glúten mergulhadas em uma mistura de leite e ovo, e fritas" +" em seguida." #: lang/json/COMESTIBLE_from_json.py msgid "gluten free lactose free French toast" msgid_plural "gluten free lactose free French toasts" -msgstr[0] "Rabanada sem lactose ou glúten" -msgstr[1] "Rabanadas sem lactose ou glúten" +msgstr[0] "rabanada sem lactose ou glúten" +msgstr[1] "rabanadas sem lactose ou glúten" #. ~ Description for gluten free lactose free French toast #: lang/json/COMESTIBLE_from_json.py @@ -36813,7 +38032,7 @@ msgid "" msgstr "" "Fatias de pão sem glúten mergulhadas em uma mistura de leite e ovo sem " "lactose e fritas. Você nunca pensou que era possível, mas agora você " -"realmente se sente como um pós-milenista." +"realmente se sente como um pós-milenial." #: lang/json/COMESTIBLE_from_json.py msgid "gluten free biscuit" @@ -36844,7 +38063,7 @@ msgstr "torta de legumes sem glúten" #: lang/json/COMESTIBLE_from_json.py msgid "A delicious baked gluten free pie with a delicious vegetable filling." msgstr "" -" Uma torta sem glúten cozida deliciosa com um enchimento vegetal delicioso." +"Uma deliciosa torta sem glúten cozida com um recheio vegetal delicioso." #: lang/json/COMESTIBLE_from_json.py msgid "gluten free meat pie" @@ -37180,15 +38399,6 @@ msgstr[1] "" msgid "This rice flour is useful for baking." msgstr "farinha de arrozEsta farinha de arroz é útil para assar." -#: lang/json/COMESTIBLE_from_json.py -msgid "cholla bud" -msgstr "" - -#. ~ Description for cholla bud -#: lang/json/COMESTIBLE_from_json.py -msgid "The candy of the Mojave Indigenous peoples." -msgstr "" - #: lang/json/COMESTIBLE_from_json.py msgid "revival serum" msgstr "soro revival" @@ -37514,8 +38724,8 @@ msgstr[1] "" #. ~ Description for paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"It has a threaded cap for easy resealing." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" It has a threaded cap for easy resealing." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -37527,8 +38737,8 @@ msgstr[1] "" #. ~ Description for opened paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"This one is open and its contents will spoil." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" This one is open and its contents will spoil." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -38112,8 +39322,8 @@ msgstr[1] "" #. ~ Description for survival kit box #: lang/json/CONTAINER_from_json.py msgid "" -"An aluminum box that used to contain a small survival kit. Can hold 1 liter " -"of liquid." +"An aluminum box that used to contain a small survival kit. Can hold 1 liter" +" of liquid." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -38221,6 +39431,22 @@ msgid "" " for maximum yield. It can be crafted with various seeds to plant them." msgstr "" +#: lang/json/CONTAINER_from_json.py +msgid "endless flask" +msgid_plural "endless flasks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "You open the flask and discover it full of sweet, sweet, whiskey!" +msgstr "" + +#. ~ Use action not_ready_msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "The flask isn't done refilling yet." +msgstr "" + #: lang/json/CONTAINER_from_json.py msgid "aluminum foil wrap" msgid_plural "aluminum foil wraps" @@ -38704,8 +39930,8 @@ msgstr[1] "" #. ~ Description for rhodonite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of rhodonite. It has manganese dioxide covering and going through it" -" in veins, which can be obtained using a chisel." +"A chunk of rhodonite. It has manganese dioxide covering and going through " +"it in veins, which can be obtained using a chisel." msgstr "" #: lang/json/GENERIC_from_json.py @@ -38717,7 +39943,7 @@ msgstr[1] "" #. ~ Description for zincite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " +"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " "reduction with a source of carbon." msgstr "" @@ -38733,12 +39959,12 @@ msgid "A root from a hickory tree. It has an earthy smell." msgstr "Hickory Root Uma raiz de uma nogueira. Tem um cheiro de terra." #: lang/json/GENERIC_from_json.py -msgid "handful of hickory nuts" -msgid_plural "handfuls of hickory nuts" +msgid "hickory nuts" +msgid_plural "hickory nuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of hickory nuts +#. ~ Description for {'str': 'hickory nuts', 'str_pl': 'hickory nuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hickory tree, still in their shell." msgstr "" @@ -38746,24 +39972,24 @@ msgstr "" "emsuaconcha." #: lang/json/GENERIC_from_json.py -msgid "handful of pecans" -msgid_plural "handfuls of pecans" +msgid "pecans" +msgid_plural "pecans" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of pecans +#. ~ Description for {'str': 'pecans', 'str_pl': 'pecans'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pecan tree, still in their shell." msgstr "" " Pecan Um punhado de nozes duras de uma nogueira-pecã, ainda em sua casca." #: lang/json/GENERIC_from_json.py -msgid "handful of pistachios" -msgid_plural "handfuls of pistachios" +msgid "pistachios" +msgid_plural "pistachios" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of pistachios +#. ~ Description for {'str': 'pistachios', 'str_pl': 'pistachios'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pistachio tree, still in their shell." msgstr "" @@ -38771,24 +39997,24 @@ msgstr "" "emsuaconcha." #: lang/json/GENERIC_from_json.py -msgid "handful of almonds" -msgid_plural "handfuls of almonds" +msgid "almonds" +msgid_plural "almonds" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of almonds +#. ~ Description for {'str': 'almonds', 'str_pl': 'almonds'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a almond tree, still in their shell." msgstr "" " amêndoa Um punhado de nozes duras de uma amendoeira, ainda em sua casca." #: lang/json/GENERIC_from_json.py -msgid "handful of peanuts" -msgid_plural "handfuls of peanuts" +msgid "peanuts" +msgid_plural "peanuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of peanuts +#. ~ Description for {'str': 'peanuts', 'str_pl': 'peanuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a peanut bush, still in their shell." msgstr "" @@ -38796,34 +40022,34 @@ msgstr "" "emsuacasca." #: lang/json/GENERIC_from_json.py -msgid "handful of hazelnuts" -msgid_plural "handfuls of hazelnuts" +msgid "hazelnuts" +msgid_plural "hazelnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of hazelnuts +#. ~ Description for {'str': 'hazelnuts', 'str_pl': 'hazelnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hazelnut tree, still in their shell." msgstr "Avelã Um punhado de nozes duras de uma avelã, ainda em sua casca." #: lang/json/GENERIC_from_json.py -msgid "handful of chestnuts" -msgid_plural "handfuls of chestnuts" +msgid "chestnuts" +msgid_plural "chestnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of chestnuts +#. ~ Description for {'str': 'chestnuts', 'str_pl': 'chestnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a chestnut tree, still in their shell." msgstr "Um punhado de nozes duras de uma castanheira, ainda em sua casca." #: lang/json/GENERIC_from_json.py -msgid "handful of walnuts" -msgid_plural "handfuls of walnuts" +msgid "walnuts" +msgid_plural "walnuts" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of walnuts +#. ~ Description for {'str': 'walnuts', 'str_pl': 'walnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a walnut tree, still in their shell." msgstr "noz Um punhado de nozes duras de uma nogueira, ainda em sua concha." @@ -38967,7 +40193,7 @@ msgstr "" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"A dead body with a frightful grimace. He appears to have been horribly " +"A dead body with a frightful grimace. He appears to have been horribly " "mangled prior to his death." msgstr "" @@ -38991,7 +40217,7 @@ msgstr "" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"The upper half of a dead body, as if torn apart with enormous force. Some " +"The upper half of a dead body, as if torn apart with enormous force. Some " "organs are hanging out." msgstr "" @@ -39098,6 +40324,12 @@ msgstr "vendo isso é um bugmuscle" msgid "wind" msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "metabolism" +msgid_plural "metabolisms" +msgstr[0] "" +msgstr[1] "" + #: lang/json/GENERIC_from_json.py msgid "a smoking device and a source of flame" msgstr "um aparelho de fumar e uma fonte de fogo" @@ -39117,6 +40349,31 @@ msgstr "" " arquivo Vários documentos com todos os tipos de informações, " "dadosdeclientes e gráficos mantidos juntos, mas agora são inúteis." +#: lang/json/GENERIC_from_json.py +msgid "INCIDENT REPORT: IMMERSION-27A" +msgid_plural "INCIDENT REPORT: IMMERSION-27As" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for INCIDENT REPORT: IMMERSION-27A +#: lang/json/GENERIC_from_json.py +msgid "" +"A white piece of paper, with the logo of XEDRA printed on its upper left " +"corner. It seems to be an internal report of some kind." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "MATERIAL: T-SUBSTRATE" +msgid_plural "MATERIAL: T-SUBSTRATEs" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "HAADF MICROGRAPH: T-SUBSTRATE" +msgid_plural "HAADF MICROGRAPH: T-SUBSTRATEs" +msgstr[0] "" +msgstr[1] "" + #: lang/json/GENERIC_from_json.py msgid "foodplace loyalty card" msgid_plural "foodplace loyalty cards" @@ -39127,7 +40384,7 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "A bright pink loyalty card, all the points are stamped. This would " -"definitely prove your fidelity to Foodplace, if it still meant anything..." +"definitely prove your fidelity to Foodplace, if it still meant anything…" msgstr "" #: lang/json/GENERIC_from_json.py @@ -39280,8 +40537,8 @@ msgstr[1] "" #. ~ Description for set of 100 ceramic disk #: lang/json/GENERIC_from_json.py msgid "" -"A set of small slightly elongated disks, made of high-grade ceramic. They " -"remind you of scales" +"A set of small slightly elongated disks, made of high-grade ceramic. They " +"remind you of scales." msgstr "" #: lang/json/GENERIC_from_json.py @@ -39342,6 +40599,18 @@ msgstr "" " pacote de feltroPontos de feltro, empacotados juntos paraarmazenamento. " "Desmonte para desembalar." +#: lang/json/GENERIC_from_json.py +msgid "t-substrate sample" +msgid_plural "t-substrate samples" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for t-substrate sample +#: lang/json/GENERIC_from_json.py +msgid "" +"An acrylic cube cast around a small black crystal. It's tepid to the touch." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "biollante bud" msgid_plural "biollante buds" @@ -39603,6 +40872,18 @@ msgstr "" " rebar Um comprimento de vergalhão, faz uma boa arma corpo-a-corpo, e pode " "ser útil na construção de paredes mais duras e tal." +#: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "small railroad track" +msgid_plural "small railroad tracks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for small railroad track +#: lang/json/GENERIC_from_json.py +msgid "A length of track, made from some planks and rails." +msgstr "" + #: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py msgid "concrete" msgid_plural "concrete" @@ -39669,22 +40950,6 @@ msgstr "" " molaUma mola grande e resistente. Expande com força " "significativaquandocomprimido." -#: lang/json/GENERIC_from_json.py -msgid "leaf spring" -msgid_plural "leaf springs" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for leaf spring -#: lang/json/GENERIC_from_json.py -msgid "" -"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" -" an awful lot like a bow. You can barely bend it..." -msgstr "" -" mola da folhaUma mola de lâmina grande, resistente. Provavelmente " -"dealgumcarro ou caminhão, e parece muito com um arco. Você mal " -"conseguedobrar ..." - #: lang/json/GENERIC_from_json.py msgid "lawnmower" msgid_plural "lawnmowers" @@ -40174,7 +41439,7 @@ msgstr[1] "" #. ~ Description for RAM #: lang/json/GENERIC_from_json.py msgid "A stick of memory. Useful in advanced electronics crafting." -msgstr "RAMA stick de memória. Útil na elaboração de eletrônicos avançados." +msgstr "Uma unidade de memória. Útil na elaboração de eletrônicos avançados." #: lang/json/GENERIC_from_json.py msgid "power converter" @@ -40185,9 +41450,7 @@ msgstr[1] "" #. ~ Description for power converter #: lang/json/GENERIC_from_json.py msgid "A power supply unit. Useful in lots of electronics recipes." -msgstr "" -" conversor de potênciaUma fonte de alimentação. Útil em muitas " -"receitasdeeletrônica." +msgstr "Uma fonte de alimentação. Útil em muitas receitas de eletrônica." #: lang/json/GENERIC_from_json.py msgid "amplifier circuit" @@ -40201,8 +41464,8 @@ msgid "" "A circuit designed to amplify the strength of a signal. Useful in lots of " "electronics recipes." msgstr "" -" Circuito amplificadorUm circuito projetado para amplificar a força " -"deumsinal. Útil em muitas receitas de eletrônica." +"Um circuito projetado para amplificar a força de um sinal. Útil em muitas " +"receitas de eletrônica." #: lang/json/GENERIC_from_json.py msgid "transponder circuit" @@ -40216,8 +41479,8 @@ msgid "" "A circuit designed to repeat a signal. Useful for crafting communications " "equipment." msgstr "" -" Circuito transponder Um circuito projetado para repetir um sinal. Útilparaa" -" elaboração de equipamentos de comunicação." +"Um circuito projetado para repetir um sinal. Útil para a elaboração de " +"equipamentos de comunicação." #: lang/json/GENERIC_from_json.py msgid "signal receiver" @@ -40231,8 +41494,8 @@ msgid "" "A module designed to receive many forms of signals. Useful for crafting " "communications equipment." msgstr "" -" signal receiverUm módulo projetado para receber muitas formas desinais.Útil" -" para a elaboração de equipamentos de comunicação." +"Um módulo projetado para receber muitas formas de sinais. Útil para a " +"elaboração de equipamentos de comunicação." #: lang/json/GENERIC_from_json.py msgid "small LCD screen" @@ -40246,8 +41509,8 @@ msgid "" "A small backlit screen, used for displaying images. Useful in some " "electronics recipes." msgstr "" -" pequena tela de LCDUma pequena tela retroiluminada, usada " -"paraexibirimagens. Útil em algumas receitas de eletrônica." +"Uma pequena tela retroiluminada, usada para exibir imagens. Útil em algumas " +"receitas de eletrônica." #: lang/json/GENERIC_from_json.py msgid "high-quality lens" @@ -40261,8 +41524,8 @@ msgid "" "A high-quality lens, useful for focusing or diffusing light. Might be " "useful for starting a fire." msgstr "" -" lente de alta qualidadeUma lente de alta qualidade, útil para " -"focalizaroudifundir a luz. Pode ser útil para iniciar um incêndio." +"Uma lente de alta qualidade, útil para focalizar ou difundir a luz. Pode ser" +" útil para iniciar um incêndio." #: lang/json/GENERIC_from_json.py msgid "small high-quality lens" @@ -40276,8 +41539,8 @@ msgid "" "A small high-quality lens, useful for focusing or diffusing light. Might be" " useful for crafting." msgstr "" -" lentes de alta qualidade pequenasUma lente pequena de alta " -"qualidade,útilpara focalizar ou difundir a luz. Pode ser útil para criar." +"Uma lente pequena de alta qualidade, útil para focalizar ou difundir a luz. " +"Pode ser útil para criar coisas." #: lang/json/GENERIC_from_json.py msgid "pair of tinted glass" @@ -40290,8 +41553,8 @@ msgstr[1] "" msgid "" "A pair of small darkened glass, like the one that sunglasses are made of." msgstr "" -" par de vidros escurecidos Um par de pequenos vidros escurecidos, " -"comoaquelede que os óculos de sol são feitos." +"Um par de pequenos vidros escurecidos, como aquele de que os óculos de sol " +"são feitos." #: lang/json/GENERIC_from_json.py msgid "burnt out bionic" @@ -40306,9 +41569,9 @@ msgid "" " This object has been destroyed by excessive electric current and is now " "useless." msgstr "" -" queimado bionicOnce um valioso implante biônico, ele não se manteve " -"bemsobuso repetido. Este objeto foi destruído por corrente elétrica " -"excessivaeagora é inútil." +"Já foi um valioso implante biônico, mas não se manteve bem sob uso repetido." +" Este objeto foi destruído por uma corrente elétrica excessiva e agora é " +"inútil." #: lang/json/GENERIC_from_json.py msgid "nanofabricator template" @@ -40323,10 +41586,9 @@ msgid "" "glass holds, inscribed as a miniature pattern, the instructions required to " "create an item through a nanofabricator." msgstr "" -" nanofabricator template Um sistema de armazenamento óptico deúltimageração." -" Esta pequena lousa de vidro transparente contém, inscritacomo umpadrão em " -"miniatura, as instruções necessárias para criar um itematravésde um " -"nanofabricador." +"Um sistema de armazenamento óptico de última geração. Esta pequena lousa de " +"vidro transparente contém, inscrita como um padrão em miniatura, as " +"instruções necessárias para criar um item através de um nanofabricador." #: lang/json/GENERIC_from_json.py msgid "nanofabricator template (silicon photonics)" @@ -40353,8 +41615,7 @@ msgstr[1] "antenas" #: lang/json/GENERIC_from_json.py msgid "A simple thin aluminum shaft. Useful in lots of electronics recipes." msgstr "" -" antenaUm simples eixo de alumínio fino. Útil em muitas " -"receitasdeeletrônica." +"Uma simples vara de alumínio fino. Útil em muitas receitas de eletrônica." #: lang/json/GENERIC_from_json.py msgid "micro motor" @@ -40368,8 +41629,8 @@ msgid "" "A very small electric motor like those used in RC cars. Useful in lots of " "electronics recipes." msgstr "" -" micro motor Um motor elétrico muito pequeno, como os usados em carros " -"deRC.Útil em muitas receitas de eletrônica." +"Um motor elétrico muito pequeno, como os usados em carros de controle " +"remoto. Útil em muitas receitas de eletrônica." #: lang/json/GENERIC_from_json.py msgid "circuit board" @@ -40454,8 +41715,8 @@ msgid "" "A filled fish bowl, the tag says 'to Ed' and the fish's name, 'Hoss'. The " "fish appears to have tiny antlers." msgstr "" -" Uma tigela de peixe cheia, a etiqueta diz\"para Ed\" e o " -"nomedopeixe,\"Hoss\". O peixe parece ter chifres minúsculos." +"Um aquário de peixe cheio, a etiqueta diz \"para Ed\" e o nome do peixe, " +"\"Hoss\". O peixe parece ter chifres minúsculos." #: lang/json/GENERIC_from_json.py msgid "blood soaked rag" @@ -40564,10 +41825,10 @@ msgid "" "actions. With gunsmithing tools, some skill, and a few hours, you could " "give the classic Russian design modern furniture and customization capacity." msgstr "" -" Kit de conversão Mosin-Nagant EBR Um estoque sintético e " -"hardwareprojetadopara acomodar ações comuns de Mosin-Nagant. Com ferramentas" -" dearmeiro, alguma habilidade e algumas horas, você poderia dar ao " -"designmoderno russomobiliário moderno e capacidade de personalização." +"Uma coronha sintética e peças projetadas para acomodar ações comuns de " +"Mosin-Nagant. Com ferramentas de armeiro, alguma habilidade e algumas horas," +" você poderia dar capacidade de personalização moderna ao clássico design " +"russo." #: lang/json/GENERIC_from_json.py msgid "L523-CAR conversion" @@ -40583,10 +41844,10 @@ msgid "" "already-configured L523, you'll need to disassemble it to the base platform," " then assemble with the parts you prefer." msgstr "" -" Conversão L523-CARTodas as peças necessárias para converter um L523 " -"paraaconfiguração Carbine, a escolha da Leadworks LLC para o trabalho " -"deperto. Para reconfigurar um L523 já configurado, você precisará desmontá- " -"lonaplataforma de base e depois montá-lo com as peças de sua preferência." +"Todas as peças necessárias para converter um L523 para a configuração " +"Carbine, a escolha da Leadworks LLC para combate de proximidade. Para " +"reconfigurar um L523 já configurado, você precisará desmontá- lo na " +"plataforma de base e depois montá-lo com as peças de sua preferência." #: lang/json/GENERIC_from_json.py msgid "L523-MBR conversion" @@ -40602,10 +41863,10 @@ msgid "" "configured L523, you'll need to disassemble it to the base platform, then " "assemble with the parts you prefer." msgstr "" -" Conversão L523-MBRTodas as partes necessárias para converter um L523 " -"emumRifle de Combate Principal, uma arma balanceada para todas assituações. " -"Para reconfigurar um L523 já configurado, você precisarádesmontá-lo " -"naplataforma de base e depois montá-lo com as peças de suapreferência." +"Todas as partes necessárias para converter um L523 em um Rifle de Batalha " +"Principal, uma arma balanceada para todas as situações. Para reconfigurar um" +" L523 já configurado, você precisará desmontá-lo na plataforma de base e " +"depois montá-lo com as peças de sua preferência." #: lang/json/GENERIC_from_json.py msgid "L523-DSR conversion" @@ -40621,10 +41882,10 @@ msgid "" "configured L523, you'll need to disassemble it to the base platform, then " "assemble with the parts you prefer." msgstr "" -" Conversão L523-DSRTodas as peças necessárias para converter um L523 " -"emumRifle Shootist Designado, adequado para trabalhos de longo alcance. " -"Parareconfigurar um L523 já configurado, você precisará desmontá- " -"lonaplataforma de base e depois montá-lo com as peças de sua preferência." +"Todas as peças necessárias para converter um L523 em um Rifle Shootist " +"Designado, adequado para trabalhos de longo alcance. Para reconfigurar um " +"L523 já configurado, você precisará desmontá-lo na plataforma de base e " +"depois montá-lo com as peças de sua preferência." #: lang/json/GENERIC_from_json.py msgid "L523-LMG conversion" @@ -40639,10 +41900,9 @@ msgid "" " to reconfigure an already-configured L523, you'll need to disassemble it to" " the base platform, then assemble with the parts you prefer." msgstr "" -" Conversão de L523-LMGTodas as peças necessárias para converter um L523emuma" -" metralhadora leve. Para reconfigurar um L523 já configurado, vocêprecisará " -"desmontá-lo na plataforma de base e depois montá-lo com aspeçasde sua " -"preferência." +"Todas as peças necessárias para converter um L523 em uma metralhadora leve. " +"Para reconfigurar um L523 já configurado, você precisará desmontá-lo na " +"plataforma de base e depois montá-lo com as peças de sua preferência." #: lang/json/GENERIC_from_json.py msgid "SD-Memory card" @@ -40653,9 +41913,7 @@ msgstr[1] "" #. ~ Description for SD-Memory card #: lang/json/GENERIC_from_json.py msgid "A memory card, used. Might be worth a look." -msgstr "" -" Cartão de memória SDUm cartão de memória usado. Pode valer a pena " -"darumaolhada." +msgstr "Um cartão de memória usado. Pode valer a pena dar uma olhada." #: lang/json/GENERIC_from_json.py msgid "SD-Memory card (clean)" @@ -40669,8 +41927,8 @@ msgid "" "This memory card is either unused or has been wiped clean. You could use it" " to store your data, though!" msgstr "" -" Cartão de memória SD (limpo) Este cartão de memória não está sendo " -"usadooufoi limpo. Você poderia usá-lo para armazenar seus dados!" +"Este cartão de memória nunca foi usado ou foi formatado. Você poderia usá-lo" +" para armazenar seus dados!" #: lang/json/GENERIC_from_json.py msgid "SD-Memory card (encrypted)" @@ -40684,9 +41942,8 @@ msgid "" "This memory card appears to have the firmware encryption set. Hopefully it " "contains something worth encrypting." msgstr "" -" Cartão de memória SD (criptografado) Este cartão de memória parece " -"teracriptografia de firmware definida. Espero que contenha algo que " -"valhaapena criptografar." +"Este cartão de memória parece ter a criptografia de firmware definida. " +"Espero que contenha algo que valha a pena criptografar." #: lang/json/GENERIC_from_json.py msgid "Science SD-Memory card" @@ -40698,11 +41955,8 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "This memory card appears to be related to 'XEDRA', and is certainly " -"encrypted. Looks * Interesting *, though..." +"encrypted. Looks *Interesting*, though…" msgstr "" -" Science SD-Memory cardEste cartão de memória parece estar " -"relacionadoao'XEDRA' e é certamente criptografado. Parece * " -"Interessante*,embora ..." #: lang/json/GENERIC_from_json.py msgid "hand mirror" @@ -40713,7 +41967,7 @@ msgstr[1] "espelhos portáteis" #. ~ Description for hand mirror #: lang/json/GENERIC_from_json.py msgid "A small hand mirror." -msgstr "espelho de mão Um pequeno espelho de mão." +msgstr "Um pequeno espelho de mão." #: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py msgid "manhole cover" @@ -40727,8 +41981,8 @@ msgid "" "A heavy iron disc that typically covers a ladder into the sewers. Lifting " "it from the manhole is impossible without a crowbar." msgstr "" -" tampa de bueiroUm disco de ferro pesado que normalmente cobre uma " -"escadanosesgotos. Levantá-lo do bueiro é impossível sem um pé de cabra." +"Um disco de ferro pesado que normalmente cobre uma escada nos esgotos. " +"Levantá-lo do bueiro é impossível sem um pé de cabra." #: lang/json/GENERIC_from_json.py msgid "pine bough" @@ -40742,8 +41996,8 @@ msgid "" "A branch from a pine tree, oozing sticky sap and bristling with prickly " "needles." msgstr "" -" galho de pinheiroA ramo de um pinheiro, escorrendo seiva pegajosa " -"eeriçadocom espinhosas agulhas." +"O ramo de um pinheiro, escorrendo seiva pegajosa e eriçado com folhas " +"espinhentas." #: lang/json/GENERIC_from_json.py msgid "pinecone" @@ -40757,19 +42011,8 @@ msgid "" "A spiny pod from a pine tree. Dry seeds rattle around inside when you shake" " it." msgstr "" -" pineconeUm spiny pod de um pinheiro. Sementes secas chocalham " -"pordentroquando você a agita." - -#: lang/json/GENERIC_from_json.py -msgid "poppy flower" -msgid_plural "poppy flowers" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for poppy flower -#: lang/json/GENERIC_from_json.py -msgid "A poppy stalk with some petals." -msgstr "flor de papoila Um talo de papoula com algumas pétalas." +"Uma espinhenta pinha. Sementes secas chocalham por dentro quando você a " +"agita." #: lang/json/GENERIC_from_json.py msgid "poppy bud" @@ -40783,251 +42026,8 @@ msgid "" "A poppy bud. Contains some substances commonly produced by a mutated poppy " "flower." msgstr "" -" papoila papoula papoula broto. Contém algumas " -"substânciascomumenteproduzidas por uma flor de papoula mutada." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "bluebell" -msgid_plural "bluebells" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for bluebell -#: lang/json/GENERIC_from_json.py -msgid "A bluebell stalk with some petals." -msgstr "bluebellA haste do bluebell com algumas pétalas." - -#: lang/json/GENERIC_from_json.py -msgid "bluebell bud" -msgid_plural "bluebell buds" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for bluebell bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A bluebell bud. Contains some substances commonly produced by a bluebell " -"flower." -msgstr "" -" bluebell budA botão de bluebell. Contém algumas " -"substânciascomumenteproduzidas por uma flor bluebell." - -#. ~ Description for dahlia -#: lang/json/GENERIC_from_json.py -msgid "A dahlia stalk with some petals." -msgstr "dahlia Um talo da dália com algumas pétalas." - -#: lang/json/GENERIC_from_json.py -msgid "dahlia bud" -msgid_plural "dahlia buds" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for dahlia bud -#: lang/json/GENERIC_from_json.py -msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." -msgstr "" -" dália budA dália bud. Contém algumas substâncias comumente produzidasporuma" -" dália." - -#. ~ Description for rose -#: lang/json/GENERIC_from_json.py -msgid "A rose stalk with some petals." -msgstr "Um talo de rosa com algumas pétalas." - -#: lang/json/GENERIC_from_json.py -msgid "rose bud" -msgid_plural "rose buds" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for rose bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A rose bud. Contains some substances commonly produced by a rose flower." -msgstr "" -" rose budA botão de rosa. Contém algumas substâncias comumente " -"produzidasporuma flor rosa." - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea" -msgid_plural "hydrangeas" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for hydrangea -#: lang/json/GENERIC_from_json.py -msgid "A hydrangea stalk with some petals." -msgstr "hydrangeaA Haste de hortênsia com algumas pétalas." - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea bud" -msgid_plural "hydrangea buds" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for hydrangea bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A hydrangea bud. Contains some substances commonly produced by a hydrangea " -"flower." -msgstr "" -" hortênsia budA hortênsia broto. Contém algumas " -"substânciascomumenteproduzidas por uma flor de hortênsia." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "tulip" -msgid_plural "tulips" -msgstr[0] "tulipa" -msgstr[1] "tulipas" - -#. ~ Description for tulip -#: lang/json/GENERIC_from_json.py -msgid "A tulip stalk with some petals." -msgstr "tulipa Uma haste de tulipa com algumas pétalas." - -#: lang/json/GENERIC_from_json.py -msgid "tulip bud" -msgid_plural "tulip buds" -msgstr[0] "botão de tulipa" -msgstr[1] "botões de tulipa" - -#. ~ Description for tulip bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A tulip bud. Contains some substances commonly produced by a tulip flower." -msgstr "" -" tulip budA bud tulipa. Contém algumas substâncias comumente " -"produzidasporuma flor de tulipa." - -#: lang/json/GENERIC_from_json.py -msgid "spurge" -msgid_plural "spurges" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for spurge -#: lang/json/GENERIC_from_json.py -msgid "A spurge stalk with some petals." -msgstr "spurgeA sturge stalk com algumas pétalas." - -#: lang/json/GENERIC_from_json.py -msgid "spurge bud" -msgid_plural "spurge buds" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for spurge bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A spurge bud. Contains some substances commonly produced by a spurge " -"flower." -msgstr "" -" spurge budA spurge bud. Contém algumas substâncias comumente " -"produzidasporuma flor de erva-doce." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "black eyed susan" -msgid_plural "black eyed susans" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for black eyed susan -#: lang/json/GENERIC_from_json.py -msgid "A black eyed susan stalk with some petals." -msgstr "" -" Haste de susan de olhos pretos de susan de olhos pretos com algumaspétalas." - -#: lang/json/GENERIC_from_json.py -msgid "black eyed susan bud" -msgid_plural "black eyed susan buds" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for black eyed susan bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A black eyed susan bud. Contains some substances commonly produced by a " -"black eyed susan flower." -msgstr "" -" black eyed susan budA broto de susan de olhos pretos. " -"Contémalgumassubstâncias comumente produzidas por uma flor de susan de " -"olhospretos." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lily" -msgid_plural "lilys" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for lily -#: lang/json/GENERIC_from_json.py -msgid "A lily stalk with some petals." -msgstr "lilyUma haste de lírio com algumas pétalas." - -#: lang/json/GENERIC_from_json.py -msgid "lily bud" -msgid_plural "lily buds" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for lily bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lily bud. Contains some substances commonly produced by a lily flower." -msgstr "" -" lírio budA lírio bud. Contém algumas substâncias comumente produzidasporuma" -" flor de lírio." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lotus" -msgid_plural "lotuss" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for lotus -#: lang/json/GENERIC_from_json.py -msgid "A lotus stalk with some petals." -msgstr "lotusA haste de lótus com algumas pétalas." - -#: lang/json/GENERIC_from_json.py -msgid "lotus bud" -msgid_plural "lotus buds" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for lotus bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lotus bud. Contains some substances commonly produced by a lotus flower." -msgstr "" -" bud de lótus Bud de lótus. Contém algumas substâncias " -"comumenteproduzidaspor uma flor de lótus." - -#: lang/json/GENERIC_from_json.py -msgid "lilac" -msgid_plural "lilacs" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for lilac -#: lang/json/GENERIC_from_json.py -msgid "A lilac stalk with some petals." -msgstr "lilacA haste lilás com algumas pétalas." - -#: lang/json/GENERIC_from_json.py -msgid "lilac bud" -msgid_plural "lilac buds" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for lilac bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lilac bud. Contains some substances commonly produced by a lilac flower." -msgstr "" -" lilás budA lilás bud. Contém algumas substâncias comumente produzidasporuma" -" flor lilás." +"Um broto de papoula. Contém algumas substâncias comumente produzidas por uma" +" flor de papoula mutada." #. ~ Description for sunflower #: lang/json/GENERIC_from_json.py @@ -41035,16 +42035,17 @@ msgid "" "The top of a sunflower, with yellow pedals and some seeds that have yet to " "be eaten by animals." msgstr "" -" O topo de um girassol, com pedais amarelos e algumas sementes que " -"aindanãoforam comidas pelos animais." +" O topo de um girassol, com pétalas amarelas e algumas sementes que ainda " +"não foram comidas pelos animais." #: lang/json/GENERIC_from_json.py -msgid "handful of chamomile flowers" -msgid_plural "handfuls of chamomile flowers" +msgid "chamomile flowers" +msgid_plural "chamomile flowers" msgstr[0] "" msgstr[1] "" -#. ~ Description for handful of chamomile flowers +#. ~ Description for {'str': 'chamomile flowers', 'str_pl': 'chamomile +#. flowers'} #: lang/json/GENERIC_from_json.py msgid "" "White chamomile flowers, used as a herbal remedy since the ancient times." @@ -41059,9 +42060,7 @@ msgstr[1] "pedaços de argila" #. ~ Description for lump of clay #: lang/json/GENERIC_from_json.py msgid "A fresh piece of clay. Useful for some crafting recipes." -msgstr "" -" pedaço de argilaUm pedaço de barro fresco. Útil para algumas " -"receitasdeartesanato." +msgstr "Um pedaço de barro fresco. Útil para algumas receitas de artesanato." #: lang/json/GENERIC_from_json.py msgid "brick" @@ -41073,8 +42072,7 @@ msgstr[1] "tijolos" #: lang/json/GENERIC_from_json.py msgid "A fire hardened building block used in masonry construction." msgstr "" -" tijoloUm bloco de construção endurecido por fogo usado na " -"construçãodealvenaria." +"Um bloco de construção endurecido por fogo usado na construção de alvenaria." #: lang/json/GENERIC_from_json.py msgid "mortar" @@ -41145,9 +42143,7 @@ msgstr[1] "" #. ~ Description for tanbark #: lang/json/GENERIC_from_json.py msgid "A sheet of tannin-rich bark from a tree, useful for tanning leather" -msgstr "" -" tanbarkUma folha de casca rica em tanino de uma árvore, útil " -"paracurtircouro" +msgstr "Uma folha de casca de árvore rica em tanino, útil para curtir couro." #: lang/json/GENERIC_from_json.py msgid "birchbark" @@ -41159,8 +42155,8 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "A sheet of tough, water-resistant bark taken from a birch tree." msgstr "" -" birchbark Uma folha de casca resistente e resistente à água retirada " -"deumaárvore de vidoeiro." +"Uma folha de casca dura e resistente à água retirada de uma árvore de " +"vidoeiro." #: lang/json/GENERIC_from_json.py msgid "willowbark" @@ -41174,8 +42170,7 @@ msgid "" "A sheet of bark taken from a willow tree. Used in the production of " "aspirin." msgstr "" -" willowbark Uma folha de casca retirada de um salgueiro. Usado na " -"produçãodeaspirina." +"Uma folha de casca retirada de um salgueiro. Usada na produção de aspirina." #: lang/json/GENERIC_from_json.py msgid "diamond" @@ -41186,7 +42181,7 @@ msgstr[1] "" #. ~ Description for diamond #: lang/json/GENERIC_from_json.py msgid "A sparkling diamond." -msgstr "diamante Um diamante cintilante." +msgstr "Um diamante cintilante." #: lang/json/GENERIC_from_json.py msgid "cured hide" @@ -41201,9 +42196,8 @@ msgid "" "and treated to prevent decay. It still requires tanning to become usable " "leather." msgstr "" -" pele curada enrolada em pele animal que foi raspada de cabelo " -"ecarneestranhos e tratada para prevenir a cárie. Ainda requer " -"bronzeamentoparase tornar couro utilizável." +" Uma pele animal curada e enrolada que foi raspada e tratada para prevenir a" +" deterioração. Ainda deve ser curtida para se tornar couro utilizável." #: lang/json/GENERIC_from_json.py msgid "tanned hide" @@ -41217,8 +42211,8 @@ msgid "" "A folded sheet of leather made from carefully tanned animal hide. Can be " "cut up or used as is." msgstr "" -" couro curtidoUma folha dobrada de couro feita de couro " -"animalcuidadosamentecurtido. Pode ser cortado ou usado como está." +"Uma folha dobrada de couro feita de couro animal cuidadosamente curtido. " +"Pode ser cortado ou usado como está." #: lang/json/GENERIC_from_json.py msgid "cured pelt" @@ -41233,9 +42227,9 @@ msgid "" "and treated to prevent decay. It still requires tanning to become usable " "fur." msgstr "" -" Peles curadas enroladas em peles de animais que foram raspadas de " -"pêlosecarne estranhos e tratadas para prevenir a cárie. Ainda " -"requerbronzeamentopara se tornar pele utilizável." +"Pele curada e enrolada que foi raspada de pêlos e carne e tratada para " +"prevenir a deterioração. Ainda precisa ser curtida para se tornar uma pele " +"utilizável." #: lang/json/GENERIC_from_json.py msgid "tanned pelt" @@ -41249,9 +42243,8 @@ msgid "" "A folded sheet of leather made from carefully tanned animal hide, with the " "fur still intact. Can be cut up or used as is." msgstr "" -" pelagem curtidaFolha de couro dobrada feita de couro " -"animalcuidadosamentecurtido, com a pele ainda intacta. Pode ser cortado ou " -"usadocomo está." +"Folha de couro dobrada feita de pele animal cuidadosamente curtida, com os " +"pelos ainda intactos. Pode ser cortada ou usada como está." #: lang/json/GENERIC_from_json.py msgid "pile of straw" @@ -41265,8 +42258,8 @@ msgid "" "A pile of dry grass. Can be used to craft a straw bed if there is nothing " "else to sleep on." msgstr "" -" pilha de palha Uma pilha de capim seco. Pode ser usado para fazer umacamade" -" palha se não houver mais nada para dormir." +"Uma pilha de capim seco. Pode ser usado para fazer uma cama de palha se não " +"houver mais nada para dormir." #: lang/json/GENERIC_from_json.py msgid "straw doll" @@ -41277,7 +42270,7 @@ msgstr[1] "bonecas de palha" #. ~ Description for straw doll #: lang/json/GENERIC_from_json.py msgid "Old straw doll. Represents a woman in a dress." -msgstr "boneco de palha Representa uma mulher em um vestido." +msgstr "Representa uma mulher em um vestido." #: lang/json/GENERIC_from_json.py msgid "pillow" @@ -41288,7 +42281,7 @@ msgstr[1] "travesseiros" #. ~ Description for pillow #: lang/json/GENERIC_from_json.py msgid "A pillow to rest your head on when sleeping." -msgstr "pillowA travesseiro para descansar a cabeça ao dormir." +msgstr "Um travesseiro para descansar a cabeça ao dormir." #: lang/json/GENERIC_from_json.py msgid "body pillow" @@ -41302,8 +42295,8 @@ msgid "" "A big, body-sized pillow with a print of an anime character on the front and" " their scantily clad version on the back." msgstr "" -" pillow Um travesseiro grande, de tamanho corporal, com uma impressão " -"deumpersonagem de anime na frente e sua versão seminua nas costas." +"Um travesseiro grande, de tamanho corporal, com uma impressão de um " +"personagem de anime na frente e sua versão seminua nas costas." #: lang/json/GENERIC_from_json.py msgid "down-filled pillow" @@ -41314,9 +42307,7 @@ msgstr[1] "travesseiros de penas" #. ~ Description for down-filled pillow #: lang/json/GENERIC_from_json.py msgid "A fluffy pillow to rest your head on when sleeping." -msgstr "" -" travesseiro cheio de penasUm travesseiro fofo para descansar a " -"cabeçaquandoestiver dormindo." +msgstr "Um travesseiro fofo para descansar a cabeça ao dormir." #: lang/json/GENERIC_from_json.py msgid "teddy bear" @@ -41330,8 +42321,8 @@ msgid "" "An old and half rotten teddy bear. Looks like this one commemorates the " "grave of the child who once owned it." msgstr "" -" ursinho de pelúciaUm urso de pelúcia velho e meio podre. Parece " -"queestecomemora o túmulo da criança que o possuiu." +"Um urso de pelúcia velho e meio podre. Parece que este marca o túmulo da " +"criança que o possuiu." #: lang/json/GENERIC_from_json.py msgid "money bundle" @@ -41342,19 +42333,19 @@ msgstr[1] "" #. ~ Description for money bundle #: lang/json/GENERIC_from_json.py msgid "A bundle holding many 20 dollar bills, pretty useless now though." -msgstr "" -" pacote de dinheiroUm pacote contendo muitas notas de 20 dólares, " -"bastanteinútil agora embora." +msgstr "Um pacote contendo muitas notas de 20 dólares, bastante inútil agora." #. ~ Use action menu_text for cigar. #. ~ Use action menu_text for cigarette. #. ~ Use action menu_text for joint. +#. ~ Use action menu_text for spooky jack o'lantern. +#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for candle. #. ~ Use action menu_text for refillable lighter. #. ~ Use action menu_text for torch. -#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for ember carrier (lit). #. ~ Use action menu_text for Louisville Slaughterer. +#. ~ Use action menu_text for everburning torch. #: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py msgid "Extinguish" @@ -41405,10 +42396,8 @@ msgstr[1] "bitucas de cigarro" #: lang/json/GENERIC_from_json.py msgid "" "What was once a wonderfully addictive tube of dried tobacco leaf is now just a smelly piece of trash. What a tragedy!\n" -"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far..." +"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far…" msgstr "" -" O que antes era um tubo maravilhosamente viciante de folhas secas detabacoé agora apenas um pedaço fedorento de lixo. Que tragédia! \n" -" O tabaco restante em alguns deles provavelmente poderia ser usado para enrolaroutrocigarro. Se você está disposto a ir tão longe ...\n" #. ~ Use action msg for joint. #: lang/json/GENERIC_from_json.py @@ -41460,11 +42449,11 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "raw tobacco" -msgid_plural "handfuls of raw tobacco" -msgstr[0] "tabaco cru" -msgstr[1] "punhados de tabaco cru" +msgid_plural "raw tobacco" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for raw tobacco +#. ~ Description for {'str': 'raw tobacco', 'str_pl': 'raw tobacco'} #: lang/json/GENERIC_from_json.py msgid "" "Various parts of tobacco plant, full of nicotine. They need to be dried to " @@ -41521,12 +42510,6 @@ msgid "" "panel, if you can find one." msgstr "" -#: lang/json/GENERIC_from_json.py -msgid "neoprene sheet" -msgid_plural "neoprene sheets" -msgstr[0] "" -msgstr[1] "" - #. ~ Description for neoprene sheet #: lang/json/GENERIC_from_json.py msgid "" @@ -42671,6 +43654,273 @@ msgid_plural "notes" msgstr[0] "nota" msgstr[1] "notas" +#: lang/json/GENERIC_from_json.py +msgid "leaf spring" +msgid_plural "leaf springs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for leaf spring +#: lang/json/GENERIC_from_json.py +msgid "" +"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" +" an awful lot like a bow. You can barely bend it…" +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea" +msgid_plural "hydrangeas" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for hydrangea +#: lang/json/GENERIC_from_json.py +msgid "A hydrangea stalk with some petals." +msgstr "hydrangeaA Haste de hortênsia com algumas pétalas." + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea bud" +msgid_plural "hydrangea buds" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for hydrangea bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A hydrangea bud. Contains some substances commonly produced by a hydrangea " +"flower." +msgstr "" +" hortênsia budA hortênsia broto. Contém algumas " +"substânciascomumenteproduzidas por uma flor de hortênsia." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "tulip" +msgid_plural "tulips" +msgstr[0] "tulipa" +msgstr[1] "tulipas" + +#. ~ Description for tulip +#: lang/json/GENERIC_from_json.py +msgid "A tulip stalk with some petals." +msgstr "tulipa Uma haste de tulipa com algumas pétalas." + +#: lang/json/GENERIC_from_json.py +msgid "tulip bud" +msgid_plural "tulip buds" +msgstr[0] "botão de tulipa" +msgstr[1] "botões de tulipa" + +#. ~ Description for tulip bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A tulip bud. Contains some substances commonly produced by a tulip flower." +msgstr "" +" tulip budA bud tulipa. Contém algumas substâncias comumente " +"produzidasporuma flor de tulipa." + +#: lang/json/GENERIC_from_json.py +msgid "spurge" +msgid_plural "spurges" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for spurge +#: lang/json/GENERIC_from_json.py +msgid "A spurge stalk with some petals." +msgstr "spurgeA sturge stalk com algumas pétalas." + +#: lang/json/GENERIC_from_json.py +msgid "spurge bud" +msgid_plural "spurge buds" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for spurge bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A spurge bud. Contains some substances commonly produced by a spurge " +"flower." +msgstr "" +" spurge budA spurge bud. Contém algumas substâncias comumente " +"produzidasporuma flor de erva-doce." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "black eyed susan" +msgid_plural "black eyed susans" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for black eyed susan +#: lang/json/GENERIC_from_json.py +msgid "A black eyed susan stalk with some petals." +msgstr "" +" Haste de susan de olhos pretos de susan de olhos pretos com algumaspétalas." + +#: lang/json/GENERIC_from_json.py +msgid "black eyed susan bud" +msgid_plural "black eyed susan buds" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for black eyed susan bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A black eyed susan bud. Contains some substances commonly produced by a " +"black eyed susan flower." +msgstr "" +" black eyed susan budA broto de susan de olhos pretos. " +"Contémalgumassubstâncias comumente produzidas por uma flor de susan de " +"olhospretos." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lily" +msgid_plural "lilys" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lily +#: lang/json/GENERIC_from_json.py +msgid "A lily stalk with some petals." +msgstr "lilyUma haste de lírio com algumas pétalas." + +#: lang/json/GENERIC_from_json.py +msgid "lily bud" +msgid_plural "lily buds" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lily bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lily bud. Contains some substances commonly produced by a lily flower." +msgstr "" +" lírio budA lírio bud. Contém algumas substâncias comumente produzidasporuma" +" flor de lírio." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lotus" +msgid_plural "lotuss" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lotus +#: lang/json/GENERIC_from_json.py +msgid "A lotus stalk with some petals." +msgstr "lotusA haste de lótus com algumas pétalas." + +#: lang/json/GENERIC_from_json.py +msgid "lotus bud" +msgid_plural "lotus buds" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lotus bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lotus bud. Contains some substances commonly produced by a lotus flower." +msgstr "" +" bud de lótus Bud de lótus. Contém algumas substâncias " +"comumenteproduzidaspor uma flor de lótus." + +#: lang/json/GENERIC_from_json.py +msgid "lilac" +msgid_plural "lilacs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lilac +#: lang/json/GENERIC_from_json.py +msgid "A lilac stalk with some petals." +msgstr "lilacA haste lilás com algumas pétalas." + +#: lang/json/GENERIC_from_json.py +msgid "lilac bud" +msgid_plural "lilac buds" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lilac bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lilac bud. Contains some substances commonly produced by a lilac flower." +msgstr "" +" lilás budA lilás bud. Contém algumas substâncias comumente produzidasporuma" +" flor lilás." + +#: lang/json/GENERIC_from_json.py +msgid "rose bud" +msgid_plural "rose buds" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for rose bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A rose bud. Contains some substances commonly produced by a rose flower." +msgstr "" +" rose budA botão de rosa. Contém algumas substâncias comumente " +"produzidasporuma flor rosa." + +#: lang/json/GENERIC_from_json.py +msgid "dahlia bud" +msgid_plural "dahlia buds" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for dahlia bud +#: lang/json/GENERIC_from_json.py +msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." +msgstr "" +" dália budA dália bud. Contém algumas substâncias comumente produzidasporuma" +" dália." + +#. ~ Description for rose +#: lang/json/GENERIC_from_json.py +msgid "A rose stalk with some petals." +msgstr "Um talo de rosa com algumas pétalas." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "bluebell" +msgid_plural "bluebells" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bluebell +#: lang/json/GENERIC_from_json.py +msgid "A bluebell stalk with some petals." +msgstr "bluebellA haste do bluebell com algumas pétalas." + +#. ~ Description for dahlia +#: lang/json/GENERIC_from_json.py +msgid "A dahlia stalk with some petals." +msgstr "dahlia Um talo da dália com algumas pétalas." + +#: lang/json/GENERIC_from_json.py +msgid "poppy flower" +msgid_plural "poppy flowers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for poppy flower +#: lang/json/GENERIC_from_json.py +msgid "A poppy stalk with some petals." +msgstr "flor de papoila Um talo de papoula com algumas pétalas." + +#: lang/json/GENERIC_from_json.py +msgid "bluebell bud" +msgid_plural "bluebell buds" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bluebell bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A bluebell bud. Contains some substances commonly produced by a bluebell " +"flower." +msgstr "" +" bluebell budA botão de bluebell. Contém algumas " +"substânciascomumenteproduzidas por uma flor bluebell." + #: lang/json/GENERIC_from_json.py msgid "module template" msgid_plural "module templates" @@ -43093,7 +44343,7 @@ msgstr[1] "cafeteiras atômicas" #: lang/json/GENERIC_from_json.py msgid "" "This is a Curie-G coffeemaker, by CuppaTech. It famously uses a radioactive" -" generator to heat water for coffee. Normally the water is heated using " +" generator to heat water for coffee. Normally the water is heated using " "energy stored in a capacitor, and makes ordinary coffee. However, as a " "special feature, water from the RTG containment area can be used, giving the" " coffee a very special kick. The Curie-G is illegal in most countries." @@ -43108,7 +44358,9 @@ msgstr[1] "lâmpadas atômicas" #. ~ Use action menu_text for atomic lamp. #. ~ Use action menu_text for atomic reading light. #. ~ Use action menu_text for magical reading light. -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp. +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Close cover" msgstr "Fechar tampa" @@ -43136,7 +44388,9 @@ msgstr[1] "lâmpadas atômicas (cobertas)" #. ~ Use action menu_text for atomic lamp (covered). #. ~ Use action menu_text for atomic reading light (covered). #. ~ Use action menu_text for magical reading light (covered). -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp (covered). +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Open cover" msgstr "Abrir tampa" @@ -43437,8 +44691,8 @@ msgstr[1] "ganchos de escalada" #: lang/json/GENERIC_from_json.py msgid "" "A folding grappling hook attached to a stout 30-foot long piece of " -"lightweight cord. Useful for keeping yourself safe from falls. Can be used " -"in place of a long rope for butchering, in a pinch." +"lightweight cord. Useful for keeping yourself safe from falls. Can be used" +" in place of a long rope for butchering, in a pinch." msgstr "" #: lang/json/GENERIC_from_json.py @@ -44337,12 +45591,11 @@ msgstr[1] "" #. ~ Description for Beautiful Springtime #: lang/json/GENERIC_from_json.py -msgid "" -"A complete guide to Wing Chun Kung-fu. Includes a section on butterfly " -"swords and the use of long poles at the end." +msgid "A complete guide to Wing Chun Kung-fu." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/martial_art_from_json.py +#: lang/json/martial_art_from_json.py msgid "Fior Di Battaglia" msgid_plural "Fior Di Battaglia" msgstr[0] "" @@ -44352,8 +45605,8 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "A completely translated medieval guide teaching various techniques with " -"polearms, there is a chapter about the many variations of common polearms..." -" there are even pictures!" +"polearms, there is a chapter about the many variations of common polearms… " +"there are even pictures!" msgstr "" #: lang/json/GENERIC_from_json.py @@ -45539,6 +46792,20 @@ msgstr[1] "" msgid "This is a slip of paper signed by the issuer." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "icon" +msgid_plural "icons" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for icon +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a small picture, about the same size as an ID card, symbolizing a " +"religious figure. On the back, there is a text that faintly reads 'New " +"England Church Community'." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "generic silverware" msgid_plural "generic silverwares" @@ -45883,11 +47150,9 @@ msgstr[1] "" #. ~ Description for fork #: lang/json/GENERIC_from_json.py msgid "" -"A fork, if you stab something with it you eat it right away. Wait... " +"A fork, if you stab something with it you eat it right away. Wait… " "nevermind." msgstr "" -" garfo de forkA, se você apunhalar algo com isto você comeistoimediatamente." -" Espere ... deixa pra lá." #: lang/json/GENERIC_from_json.py msgid "plastic fork" @@ -47152,18 +48417,12 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "A large hammer, forged from the heart of a dying star. It bears the inscription:\n" -" \n" +"\n" "Whosoever holds this hammer,\n" "If he be worthy,\n" -"Shall possess the power to...\n" +"Shall possess the power to…\n" "CRUSH!'" msgstr "" -" Mjölnir Um grande martelo, forjado a partir do coração de umaestrelamoribunda. Ele tem a inscrição: \n" -" \n" -" Qualquer detém este martelo,\n" -" Seele for digno, \n" -" Será o poder para ... \n" -" CRUSH!'\n" #: lang/json/GENERIC_from_json.py msgid "lucerne hammer" @@ -47461,28 +48720,28 @@ msgstr "" " Uma lança de lança de ferro com ponta de ferro. A área de " "aderênciafoiesculpida e coberta para melhor aderência." -#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/MONSTER_from_json.py +#: lang/json/GENERIC_from_json.py +msgctxt "weapon" msgid "pike" msgid_plural "pikes" msgstr[0] "" msgstr[1] "" -#. ~ Description for pike +#. ~ Description for {'ctxt': 'weapon', 'str': 'pike'} #: lang/json/GENERIC_from_json.py msgid "" "This is a medieval weapon consisting of a wood shaft tipped with an iron " "spearhead." msgstr "" -#. ~ Description for pike +#. ~ Description for {'ctxt': 'weapon', 'str': 'pike'} #: lang/json/GENERIC_from_json.py msgid "" "This is a dull, cheaply made replica of a medieval weapon consisting of a " "wood shaft tipped with an iron spearhead." msgstr "" -#. ~ Description for pike +#. ~ Description for {'ctxt': 'weapon', 'str': 'pike'} #: lang/json/GENERIC_from_json.py msgid "" "This is a medieval weapon consisting of a wood shaft tipped with an iron " @@ -47650,8 +48909,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "" "This is a thin thrusting sword, a sort of predecessor to the rapier. It " -"requires a larger baldric or scabbard, compared to smaller swords. It seems " -"a bit too bendy." +"requires a larger baldric or scabbard, compared to smaller swords. It seems" +" a bit too bendy." msgstr "" #. ~ Description for estoc @@ -47764,21 +49023,18 @@ msgstr "" "seu eixo flexível e ponta maçante." #: lang/json/GENERIC_from_json.py -msgid "fencing epee" -msgid_plural "fencing epees" +msgid "fencing épée" +msgid_plural "fencing épées" msgstr[0] "" msgstr[1] "" -#. ~ Description for fencing epee +#. ~ Description for fencing épée #: lang/json/GENERIC_from_json.py msgid "" -"A weapon used for fencing, the most noble of all sports. The epee is the " +"A weapon used for fencing, the most noble of all sports. The épée is the " "heaviest and stiffest of the fencing weapons, and therefore perhaps the most" " useful." msgstr "" -" Esgrima epeeA arma usada para esgrima, o mais nobre de todos os esportes. " -"Aespada é a mais pesada e mais rígida das armas de esgrima e, portanto, " -"talvez a mais útil." #: lang/json/GENERIC_from_json.py msgid "fencing saber" @@ -47790,11 +49046,53 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "A weapon used for fencing, the most noble of all sports. The fencing saber " -"is marginally shorter than the foil and epee, but no less effective." +"is marginally shorter than the foil and épée, but no less effective." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened foil" +msgid_plural "sharpened foils" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sharpened foil +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing foil has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now somewhat more lethal, yet still familiar to" +" the practiced fencer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened épée" +msgid_plural "sharpened épées" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sharpened épée +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing épée has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now considerably more lethal, yet still " +"familiar to the practiced fencer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened saber" +msgid_plural "sharpened sabers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for sharpened saber +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing saber has had its rounded tip snapped off " +"and has been crudely sharpened to a point. Though it still lacks a cutting " +"edge, it is now considerably more lethal, yet still familiar to the " +"practiced fencer." msgstr "" -" esgrima sabreUma arma usada para esgrima, o mais nobre de todos osesportes." -" O sabre de esgrima é ligeiramente mais curto que o papel alumínioe aespada," -" mas não menos eficaz." #: lang/json/GENERIC_from_json.py msgid "hollow cane" @@ -48036,6 +49334,17 @@ msgstr "" " PeepholeUm cilindro de metal com uma pequena lente no interior " "destinadoaser instalado em uma porta." +#: lang/json/GENERIC_from_json.py +msgid "mesh screen" +msgid_plural "mesh screens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for mesh screen +#: lang/json/GENERIC_from_json.py +msgid "A roll of fine mesh screen for bug barriers on porches." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "pipe" msgid_plural "pipes" @@ -48092,12 +49401,8 @@ msgstr[1] "" msgid "" "A small aluminum ingot, standardized for further processing. Light but " "durable, this could be cast into various shapes for construction or ground " -"down to a powder, for more... high-profile applications." +"down to a powder, for more… high-profile applications." msgstr "" -" lingote de alumínio Um pequeno lingote de alumínio, " -"padronizadoparaprocessamento posterior. Leve, mas durável, pode ser moldado " -"emváriasformas para construção ou triturado até um pó, para mais " -"...aplicações dealto perfil." #: lang/json/GENERIC_from_json.py msgid "scrap copper" @@ -48124,12 +49429,12 @@ msgid "This is a single, or twin, sized mattress." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "down_mattress" -msgid_plural "down_mattresses" +msgid "down mattress" +msgid_plural "down mattresses" msgstr[0] "" msgstr[1] "" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/GENERIC_from_json.py msgid "This is a single, or twin, sized down filled mattress." msgstr "" @@ -48412,6 +49717,73 @@ msgid "" "twist ties, duct tape, and other random stuff has been used to compensate." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "bone sewing awl" +msgid_plural "bone sewing awls" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bone sewing awl +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a crude sharpened bone awl; those were used for leatherworking " +"before metal was discovered. It can also serve as an improvised stabbing " +"weapon, but will break quickly." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "steel sewing awl" +msgid_plural "steel sewing awls" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for steel sewing awl +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a steel awl with a wooden grip, usually used for leatherworking. It" +" can also serve as an improvised stabbing weapon, but will break quickly." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "frame loom" +msgid_plural "frame looms" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for frame loom +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a rather bulky and primitive wooden frame which can be used to weave" +" cloth sheets. It is very slow, though." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "wooden shed stick" +msgid_plural "wooden shed sticks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for wooden shed stick +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a short thin flat wooden stick, used as a tool while weaving cloth " +"with a frame loom." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "tailoring pattern set" +msgid_plural "tailoring pattern sets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for tailoring pattern set +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a large set of tailoring patterns made from paper. They're useful " +"for making any kind of cloth or leather items from scratch, but are " +"necessary for more advanced projects." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "vehicle alternator" msgid_plural "vehicle alternators" @@ -48574,8 +49946,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "oars" msgid_plural "oars" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "remos" +msgstr[1] "remos" #. ~ Description for oars #: lang/json/GENERIC_from_json.py @@ -48585,19 +49957,19 @@ msgstr "Caso contrário, para um barco." #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py msgid "sail" msgid_plural "sails" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "vela de barco" +msgstr[1] "velas de barco" #. ~ Description for sail #: lang/json/GENERIC_from_json.py msgid "Sails for a boat." -msgstr "" +msgstr "Velas para um barco." #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py msgid "inflatable section" msgid_plural "inflatable section" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "seção inflável" +msgstr[1] "seções infláveis" #. ~ Description for inflatable section #: lang/json/GENERIC_from_json.py @@ -48607,8 +49979,8 @@ msgstr "seção inflávelUma seção inflável do barco." #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py msgid "inflatable airbag" msgid_plural "inflatable airbag" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "airbag inflável" +msgstr[1] "airbags infláveis" #. ~ Description for inflatable airbag #: lang/json/GENERIC_from_json.py @@ -48618,8 +49990,8 @@ msgstr "airbag inflávelUma bolsa a ar inflável." #: lang/json/GENERIC_from_json.py msgid "wire basket" msgid_plural "wire baskets" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "cesto de arame" +msgstr[1] "cestos de arame" #. ~ Description for wire basket #: lang/json/GENERIC_from_json.py @@ -48629,8 +50001,8 @@ msgstr "cesta de arameUma cesta de arame grande de um carrinho de compras." #: lang/json/GENERIC_from_json.py msgid "folding wire basket" msgid_plural "folding wire baskets" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "cesto de arame dobrável" +msgstr[1] "cestos de arame dobráveis" #. ~ Description for folding wire basket #: lang/json/GENERIC_from_json.py @@ -48642,8 +50014,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "bike basket" msgid_plural "bike baskets" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "cesto de bicicleta" +msgstr[1] "cestos de bicicleta" #. ~ Description for bike basket #: lang/json/GENERIC_from_json.py @@ -48654,8 +50026,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "cargo carrier" msgid_plural "cargo carriers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "carregador de carga" +msgstr[1] "carregadores de carga" #. ~ Description for cargo carrier #: lang/json/GENERIC_from_json.py @@ -48669,8 +50041,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py msgid "floor trunk" msgid_plural "floor trunks" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "porta-malas de piso" +msgstr[1] "porta-malas de piso" #. ~ Description for floor trunk #: lang/json/GENERIC_from_json.py @@ -48678,6 +50050,8 @@ msgid "" "A section of flooring with a cargo-space beneath, and a hinged door for " "access." msgstr "" +"Uma seção de piso com um espaço para carga em baixo, e uma porta com " +"dobradiças para acesso." #: lang/json/GENERIC_from_json.py msgid "livestock carrier" @@ -48735,8 +50109,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py msgid "dashboard" msgid_plural "dashboards" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "painél" +msgstr[1] "painéis" #. ~ Description for dashboard #. ~ Description for electronics control unit @@ -48751,8 +50125,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py msgid "electronics control unit" msgid_plural "electronics control units" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "unidade de controle de eletrônicos" +msgstr[1] "unidades de controle de eletrônicos" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py #: lang/json/vehicle_part_from_json.py @@ -48788,6 +50162,20 @@ msgstr "" " nãotripulado. Seu AI não é funcional, mas ainda deve ter algum tipo de " "mododemanutenção." +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "turret control unit" +msgid_plural "turret control units" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for turret control unit +#: lang/json/GENERIC_from_json.py +msgid "" +"A set of motor, camera, and various electronic modules banded together to " +"allow for tracking targets, friend-or-foe identification, and firing the " +"connected turret in full automatic mode." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "massive engine block" msgid_plural "massive engine blocks" @@ -48910,7 +50298,6 @@ msgstr "" "aumquadro, ele pode ser usado para levantar até 0,5 toneladas métricas." #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py -#: src/vehicle_use.cpp msgid "rockwheel" msgid_plural "rockwheels" msgstr[0] "" @@ -48988,7 +50375,6 @@ msgstr "" "plantesementesautomaticamente em terrenos adequadamente cultivados." #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py -#: src/vehicle_use.cpp msgid "reaper" msgid_plural "reapers" msgstr[0] "" @@ -49038,11 +50424,10 @@ msgstr "" "usadoemterrenos não cultivados." #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py -#: src/vehicle_use.cpp msgid "plow" msgid_plural "plows" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "arado" +msgstr[1] "arados" #. ~ Description for plow #: lang/json/GENERIC_from_json.py @@ -49286,8 +50671,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py msgid "wind turbine" msgid_plural "wind turbines" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "turbina de vento" +msgstr[1] "turbinas de vento" #. ~ Description for wind turbine #: lang/json/GENERIC_from_json.py @@ -49299,13 +50684,13 @@ msgstr "" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py msgid "large wind turbine" msgid_plural "large wind turbines" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "turbina de vento grande" +msgstr[1] "turbinas de vento grandes" #. ~ Description for large wind turbine #: lang/json/GENERIC_from_json.py msgid "A large turbine that can convert wind into electric power." -msgstr "" +msgstr "Uma grande turbina que pode converter vento em energia elétrica." #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py msgid "water wheel" @@ -49965,6 +51350,19 @@ msgstr "" " máquina de lavar roupaUma máquina de lavar roupa muito pequenaprojetadapara" " uso em veículos." +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "programmable autopilot" +msgid_plural "programmable autopilots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for programmable autopilot +#: lang/json/GENERIC_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of a vehicle to allow" +" it to follow simple paths." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "mountable autoclave" msgid_plural "mountable autoclaves" @@ -50039,7 +51437,7 @@ msgstr[1] "" #. ~ Description for medium wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." +"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." msgstr "" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py @@ -50051,8 +51449,8 @@ msgstr[1] "" #. ~ Description for heavy wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A heavy metal assembly that allows bolting a wheel on a car. Fit for a large" -" car wheel." +"A heavy metal assembly that allows bolting a wheel on a car. Fit for a " +"large car wheel." msgstr "" #: lang/json/GENERIC_from_json.py @@ -51220,6 +52618,30 @@ msgid "" "harvest them, or wave it at vampires to scare them." msgstr "" +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "roadheader" +msgid_plural "roadheaders" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for roadheader +#: lang/json/GENERIC_from_json.py +msgid "" +"A large and heavy jagged metalhead with a lot of spikes for destroying mine " +"walls." +msgstr "" + +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "Balancer" +msgid_plural "Balancers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Balancer +#: lang/json/GENERIC_from_json.py +msgid "A large and heavy metal bar for balancing a vehicle." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "The Life and Work of Tiger Sauer" msgid_plural "The Life and Work of Tiger Sauer" @@ -51233,6 +52655,27 @@ msgid "" "art." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "The Iron Whip" +msgid_plural "The Iron Whips" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for The Iron Whip. +#: lang/json/GENERIC_from_json.py +msgid "" +"You loop the whip in your hand and it coils back into a belt form in an " +"instant." +msgstr "" + +#. ~ Description for The Iron Whip +#: lang/json/GENERIC_from_json.py +msgid "" +"A long braided flexible steel bullwhip that narrows into a sharp blade at " +"the end. Easily capable of slicing and dicing anything that comes at you. " +"It transforms back into a belt." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "cudgel +1" msgid_plural "cudgel +1s" @@ -51737,165 +53180,6 @@ msgid_plural "dao +2s" msgstr[0] "" msgstr[1] "" -#: lang/json/GENERIC_from_json.py -msgid "cestus +1" -msgid_plural "cestus +1s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "cestus +2" -msgid_plural "cestus +2s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist" -msgid_plural "flaming fists" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for flaming fist -#: lang/json/GENERIC_from_json.py -msgid "" -"A heavy metal guard that covers the fist and increases striking power, with " -"stout padding underneath to protect the wearers hand. It has been enchanted" -" to emit dark magical flames that only harm enemies." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist +1" -msgid_plural "flaming fist +1s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist +2" -msgid_plural "flaming fist +2s" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/GENERIC_from_json.py -msgid "gauntlet of pounding" -msgid_plural "gauntlets of pounding" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for gauntlet of pounding -#: lang/json/GENERIC_from_json.py -msgid "" -"A large gleaming metal gauntlet covered in magical symbols that allows you " -"to land astoundingly powerful blows." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "stone shell" -msgid_plural "stone shells" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for stone shell -#: lang/json/GENERIC_from_json.py -msgid "" -"The broken fragment of an owlbear egg. With luck it might still contain " -"some of its former power, though if nothing else it's still a bit sharp." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "glow dust" -msgid_plural "glow dusts" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for glow dust -#: lang/json/GENERIC_from_json.py -msgid "" -"The powdered remains of a will-o-wisps's phsyical form. It seems to still " -"possess an otherworldly glow." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "magical reading light" -msgid_plural "magical reading lights" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for magical reading light -#: lang/json/GENERIC_from_json.py -msgid "" -"Powered by the magic of glow powder and lesser mana potions, this extremely " -"expensive little light will provide just enough light to read by for at " -"least a decade. Use it to close the cover and hide the light." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "magical reading light (covered)" -msgid_plural "magical reading lights (covered)" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for magical reading light (covered) -#: lang/json/GENERIC_from_json.py -msgid "" -"Powered by the magic of glow powder and lesser mana potions, this extremely " -"expensive little light will provide just enough light to read by for at " -"least a decade. The cover is closed. Use it to open the cover and show the" -" light." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "bulette plate" -msgid_plural "bulette plates" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for bulette plate -#: lang/json/GENERIC_from_json.py -msgid "" -"The great plates from behind a bulette's head have always been prized for " -"use in shield and armor making." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "bulette pearl" -msgid_plural "bulette pearls" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for bulette pearl -#: lang/json/GENERIC_from_json.py -msgid "" -"As a bulette burrows through the earth its gills collect minute amounts of " -"precious metals and gems which slowly aggregate into lustrous gemstones " -"prized for their beauty and power." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "black dragon scale" -msgid_plural "black dragon scales" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for black dragon scale -#: lang/json/GENERIC_from_json.py -msgid "" -"A scale from a black dragon. It still has its magical properties and acid " -"resistance." -msgstr "" - -#: lang/json/GENERIC_from_json.py lang/json/material_from_json.py -msgid "black dragon hide" -msgid_plural "black dragon hides" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for black dragon hide -#: lang/json/GENERIC_from_json.py -msgid "" -"Prepared hide from a black dragon. Hard, acid-resistant, and with more " -"scales could make a suit of armor as hard as steel and half as heavy." -msgstr "" - #: lang/json/GENERIC_from_json.py msgid "Biomancer spear" msgid_plural "Biomancer spears" @@ -51905,8 +53189,8 @@ msgstr[1] "" #. ~ Description for Biomancer spear #: lang/json/GENERIC_from_json.py msgid "" -"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer rune" -" embedded at the base of the head." +"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer " +"rune embedded at the base of the head." msgstr "" #: lang/json/GENERIC_from_json.py @@ -51919,36 +53203,22 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py msgid "" "This staff incorporates a sturdy cresent wrench on top of a prybar and a " -"hammer on the other in a convienent package. There is a Technomancer rune " +"hammer on the other in a convienent package. There is a Technomancer rune " "embedded in the hammerhead." msgstr "" #: lang/json/GENERIC_from_json.py msgid "Magus staff" -msgid_plural "Magus staffs" +msgid_plural "Magus staves" msgstr[0] "" msgstr[1] "" -#. ~ Description for Magus staff +#. ~ Description for {'str': 'Magus staff', 'str_pl': 'Magus staves'} #: lang/json/GENERIC_from_json.py msgid "" "A quarterstaff with runes carved into it and two glass jars, heat-tempered " -"and infused with mana for durability, to act as mana receptacles. There are " -"two Magi runes embedded at the tips." -msgstr "" - -#: lang/json/GENERIC_from_json.py -msgid "Earthshaper cestus" -msgid_plural "Earthshaper cesti" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for Earthshaper cestus -#: lang/json/GENERIC_from_json.py -msgid "" -"A stone battle glove with carved runes encasing the hand, protecting it " -"while increasing striking power. There is an Earthshaper rune embedded in " -"the palm." +"and infused with mana for durability, to act as mana receptacles. There are" +" two Magi runes embedded at the tips." msgstr "" #: lang/json/GENERIC_from_json.py @@ -51960,7 +53230,7 @@ msgstr[1] "" #. ~ Description for Kelvinist flamberge #: lang/json/GENERIC_from_json.py msgid "" -"A sword with an undulating blade, reminiscent of a flame. There is a " +"A sword with an undulating blade, reminiscent of a flame. There is a " "Kelvinist rune embedded in the pommel." msgstr "" @@ -51973,7 +53243,7 @@ msgstr[1] "" #. ~ Description for Stormshaper axe #: lang/json/GENERIC_from_json.py msgid "" -"A forged copper axe with silver trimmings and a wooden handle. There is a " +"A forged copper axe with silver trimmings and a wooden handle. There is a " "Stormshaper rune embedded in the eye." msgstr "" @@ -51986,10 +53256,499 @@ msgstr[1] "" #. ~ Description for Animist athame #: lang/json/GENERIC_from_json.py msgid "" -"A steel ritual knife used by Animists to draw blood for summoning. Their " +"A steel ritual knife used by Animists to draw blood for summoning. Their " "school rune is embedded in the crossguard." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "springstaff(baton)" +msgid_plural "springstaves(baton)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "Extend to staff" +msgstr "" + +#. ~ Use action msg for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "You snap open your springstaff into staff mode." +msgstr "" + +#. ~ Description for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips retracted while in baton configuration. Activate to extend." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "springstaff(staff)" +msgid_plural "springstaves(staff)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "Retract to baton" +msgstr "" + +#. ~ Use action msg for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "You collapse your springstaff into baton mode." +msgstr "" + +#. ~ Description for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips from retracting while in staff configuration. Activate to extend." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magic token" +msgid_plural "magic tokens" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "longsword token" +msgid_plural "longsword tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for longsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine longsword!" +msgstr "" + +#. ~ Description for longsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a longsword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "arming sword token" +msgid_plural "arming sword tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for arming sword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine arming sword!" +msgstr "" + +#. ~ Description for arming sword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case an arming sword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "broadsword token" +msgid_plural "broadsword tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for broadsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine broadsword!" +msgstr "" + +#. ~ Description for broadsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a broadsword." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "battleaxe token" +msgid_plural "battleaxe tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for battleaxe token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine battle axe!" +msgstr "" + +#. ~ Description for battleaxe token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a battle axe." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "pike token" +msgid_plural "pike tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for pike token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine pike!" +msgstr "" + +#. ~ Description for pike token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a pike." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "mace token" +msgid_plural "mace tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for mace token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine mace!" +msgstr "" + +#. ~ Description for mace token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a mace." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "quarterstaff token" +msgid_plural "quarterstaff tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for quarterstaff token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a pristine quarterstaff!" +msgstr "" + +#. ~ Description for quarterstaff token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a quarterstaff." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "hammer token" +msgid_plural "hammer tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for hammer token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine hammer!" +msgstr "" + +#. ~ Description for hammer token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a hammer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "screwdriver set token" +msgid_plural "screwdriver set tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for screwdriver set token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine screwdriver set!" +msgstr "" + +#. ~ Description for screwdriver set token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a screwdriver." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "toolbox token" +msgid_plural "toolbox tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for toolbox token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine toolbox!" +msgstr "" + +#. ~ Description for toolbox token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a toolbox." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "crowbar token" +msgid_plural "crowbar tokens" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for crowbar token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine crowbar!" +msgstr "" + +#. ~ Description for crowbar token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a crowbar." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "cestus +1" +msgid_plural "cestus +1s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "cestus +2" +msgid_plural "cestus +2s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist" +msgid_plural "flaming fists" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for flaming fist +#: lang/json/GENERIC_from_json.py +msgid "" +"A heavy metal guard that covers the fist and increases striking power, with " +"stout padding underneath to protect the wearers hand. It has been enchanted" +" to emit dark magical flames that only harm enemies." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist +1" +msgid_plural "flaming fist +1s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist +2" +msgid_plural "flaming fist +2s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/GENERIC_from_json.py +msgid "gauntlet of pounding" +msgid_plural "gauntlets of pounding" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for gauntlet of pounding +#: lang/json/GENERIC_from_json.py +msgid "" +"A large gleaming metal gauntlet covered in magical symbols that allows you " +"to land astoundingly powerful blows." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Earthshaper cestus" +msgid_plural "Earthshaper cesti" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'str': 'Earthshaper cestus', 'str_pl': 'Earthshaper +#. cesti'} +#: lang/json/GENERIC_from_json.py +msgid "" +"A stone battle glove with carved runes encasing the hand, protecting it " +"while increasing striking power. There is an Earthshaper rune embedded in " +"the palm." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "stone shell" +msgid_plural "stone shells" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for stone shell +#: lang/json/GENERIC_from_json.py +msgid "" +"The broken fragment of an owlbear egg. With luck it might still contain " +"some of its former power, though if nothing else it's still a bit sharp." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "glow dust" +msgid_plural "glow dusts" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for glow dust +#: lang/json/GENERIC_from_json.py +msgid "" +"The powdered remains of a will-o-wisps's phsyical form. It seems to still " +"possess an otherworldly glow." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magical reading light" +msgid_plural "magical reading lights" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magical reading light +#: lang/json/GENERIC_from_json.py +msgid "" +"Powered by the magic of glow powder and lesser mana potions, this extremely " +"expensive little light will provide just enough light to read by for at " +"least a decade. Use it to close the cover and hide the light." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magical reading light (covered)" +msgid_plural "magical reading lights (covered)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magical reading light (covered) +#: lang/json/GENERIC_from_json.py +msgid "" +"Powered by the magic of glow powder and lesser mana potions, this extremely " +"expensive little light will provide just enough light to read by for at " +"least a decade. The cover is closed. Use it to open the cover and show the" +" light." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "bulette plate" +msgid_plural "bulette plates" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bulette plate +#: lang/json/GENERIC_from_json.py +msgid "" +"The great plates from behind a bulette's head have always been prized for " +"use in shield and armor making." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "bulette pearl" +msgid_plural "bulette pearls" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bulette pearl +#: lang/json/GENERIC_from_json.py +msgid "" +"As a bulette burrows through the earth its gills collect minute amounts of " +"precious metals and gems which slowly aggregate into lustrous gemstones " +"prized for their beauty and power." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "stirge proboscis" +msgid_plural "stirge proboscises" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for stirge proboscis +#: lang/json/GENERIC_from_json.py +msgid "" +"A long sucking apparatus harvested from stirge corpse. Makes a poor melee " +"weapon." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "black dragon scale" +msgid_plural "black dragon scales" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for black dragon scale +#: lang/json/GENERIC_from_json.py +msgid "" +"A scale from a black dragon. It still has its magical properties and acid " +"resistance." +msgstr "" + +#: lang/json/GENERIC_from_json.py lang/json/material_from_json.py +msgid "black dragon hide" +msgid_plural "black dragon hides" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for black dragon hide +#: lang/json/GENERIC_from_json.py +msgid "" +"Prepared hide from a black dragon. Hard, acid-resistant, and with more " +"scales could make a suit of armor as hard as steel and half as heavy." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "lesser staff of the magi" +msgid_plural "lesser staves of the magi" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lesser staff of the magi +#: lang/json/GENERIC_from_json.py +msgid "" +"A beautifully carved staff, made of enchanted wood and mithril. It faintly " +"glows with magic when you cast spells, but it is not a sturdy melee weapon." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "fireball hammer" +msgid_plural "fireball hammers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fireball hammer +#: lang/json/GENERIC_from_json.py +msgid "Use with caution! Flammable! Explosive!" +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "The Stormhammer" msgid_plural "The Stormhammers" @@ -52040,6 +53799,56 @@ msgstr[1] "" msgid "This is a wicked spear/halberd hybrid entirely created of bone." msgstr "" +#. ~ Description for Mjölnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Mjölnir, the legendary hammer of Thor. It is rumored to be able to level " +"mountains with a single blow. You feel the power of Asgard coursing through" +" the hammer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Gungnir" +msgid_plural "Gungnirs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Gungnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Gungnir, the spear of Odin. It is rumored to be the perfect spear, " +"perfectly hitting any target regardless of the wielder's strength or skill." +" If feels like Odin's protecting you." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Gram" +msgid_plural "Grams" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Gram +#: lang/json/GENERIC_from_json.py +msgid "" +"Gram, the sword of Sigurd. It is rumored to be the sword that slayed the " +"legendary dragon, Fafnir. Once said to have cleaved Regin's anvil in half, " +"the edge is impeccable." +msgstr "" + +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py +msgid "Laevateinn" +msgid_plural "Laevateinns" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Laevateinn +#: lang/json/GENERIC_from_json.py +msgid "" +"Laevateinn, the staff of Loki. Said to have been plucked from the gates of " +"Hel by Loki. Imbued with a mysterious magic, the magic of the trickster god" +" himself." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "Spell Scroll" msgid_plural "Spell Scrolls" @@ -52285,8 +54094,8 @@ msgstr[1] "" #. ~ Description for Blinding Flash #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" -"Blind enemies for a short time with a sudden, dazzling light. Higher levels " -"deal slightly higher damage." +"Blind enemies for a short time with a sudden, dazzling light. Higher levels" +" deal slightly higher damage." msgstr "" #: lang/json/GENERIC_from_json.py @@ -52300,7 +54109,7 @@ msgstr[1] "" #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" "A mass of spectral hands emerge from the ground, slowing everything in " -"range. Higher levels allow a bigger AoE, and longer effect." +"range. Higher levels allow a bigger AoE, and longer effect." msgstr "" #: lang/json/GENERIC_from_json.py @@ -52649,9 +54458,9 @@ msgid_plural "Scroll of Frost Armors" msgstr[0] "" msgstr[1] "" -#. ~ Description of effect 'Frost Armor'. #. ~ Description for Scroll of Frost Armor #. ~ Description for Frost Armor +#. ~ Description of effect 'Frost Armor'. #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py #: lang/json/effects_from_json.py msgid "Covers you in a thin layer of magical ice to protect you from harm." @@ -53066,8 +54875,49 @@ msgstr[1] "" #. ~ Description for Scroll of Purification Seed #: lang/json/GENERIC_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Greater levels yield" -" greater numbers of seeds." +"You summon a gift of the earth which will purify water. Greater levels " +"yield greater numbers of seeds." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of X-ray Vision" +msgid_plural "Scroll of X-ray Visions" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Scroll of X-ray Vision +#. ~ Description for X-ray Vision +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You fire a cone of X-rays that magically allow you to see that area for a " +"short time." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Clairvoyance" +msgid_plural "Scroll of Clairvoyances" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Scroll of Clairvoyance +#. ~ Description for Clairvoyance +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "You close your eyes and the earth surrenders its secrets to you." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Lava Bomb" +msgid_plural "Scroll of Lava Bombs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Scroll of Lava Bomb +#. ~ Description for Lava Bomb +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You tear up the ground beneath you to fire a lava bomb: a globe of lava " +"surrounded by hot, solid rock. It shatters upon impact, spraying shards of " +"rock and lava everywhere." msgstr "" #: lang/json/GENERIC_from_json.py @@ -53702,9 +55552,8 @@ msgid "" "A broken advanced electro caster turret. Much less threatening now that it " "lies limp on solid ground. Could be gutted for parts." msgstr "" -" quebrada electro turretUma torre avançada quebrada eletro caster. " -"Muitomenos ameaçador agora que fica mole em terra firme. Poderia " -"serestripadopor partes." +"Uma torre eletro-caster avançada quebrada. Muito menos ameaçadora agora que " +"fica inerte em terra firme. Poderia ser desmontada por peças." #: lang/json/GENERIC_from_json.py msgid "broken EMP turret" @@ -53718,9 +55567,8 @@ msgid "" "A broken advanced EMP generator turret. Much less threatening now that it " "lies limp on solid ground. Could be gutted for parts." msgstr "" -" Torre EMP quebradaUma torre de gerador EMP avançada quebrada. " -"Muitomenosameaçador agora que fica mole em terra firme. Poderia ser " -"estripadoporpartes." +"Uma torre de gerador EMP avançada quebrada. Muito menos ameaçadora agora que" +" está inerte em terra firme. Poderia ser desmontada pelas peças." #: lang/json/GENERIC_from_json.py msgid "broken gaurdin gnome" @@ -53731,8 +55579,7 @@ msgstr[1] "" #. ~ Description for broken gaurdin gnome #: lang/json/GENERIC_from_json.py msgid "A broken and completely harmless garden gnome." -msgstr "" -" gnomo gaurdin quebradoUm gnomo de jardim quebrado ecompletamenteinofensivo." +msgstr "Um gnomo de jardim quebrado e completamente inofensivo." #: lang/json/GENERIC_from_json.py msgid "broken hack" @@ -53745,8 +55592,7 @@ msgstr[1] "" msgid "" "A broken eyebot, now dark and motionless. Could be stripped down for parts." msgstr "" -" hack quebrado Um eyebot quebrado, agora escuro e imóvel. " -"Poderiaserdespojado para peças." +"Um eyebot quebrado, agora escuro e imóvel. Poderia ser despojado de peças." #: lang/json/GENERIC_from_json.py msgid "broken disarmed eyebot" @@ -53760,9 +55606,8 @@ msgid "" "A broken eyebot. Its integrated weapon module has been removed. Could be " "gutted for parts or crafted into a salvaged robot." msgstr "" -" eyebot desarmado quebrado eyebot quebrado. Seu módulo de arma " -"integradofoiremovido. Poderia ser estripado por peças ou trabalhado em " -"umrobôrecuperado." +"Um eyebot quebrado. Seu módulo de arma integrado foi removido. Poderia ser " +"desmontado por peças ou trabalhado em um robô recuperado." #: lang/json/GENERIC_from_json.py msgid "broken utility robot" @@ -53776,8 +55621,8 @@ msgid "" "A broken utility robot, now limp and unmoving. Could be gutted for parts or" " crafted into a salvaged robot." msgstr "" -" robô utilitário quebradoUm robô utilitário quebrado, agora mole eimóvel. " -"Poderia ser estripado por peças ou trabalhado em um robô recuperado." +"Um robô utilitário quebrado, agora inerte e imóvel. Poderia ser desmontado " +"por peças ou trabalhado em um robô recuperado." #: lang/json/GENERIC_from_json.py msgid "broken disarmed skitterbot" @@ -53791,9 +55636,8 @@ msgid "" "A broken skitterbot. Its internal weapon modules have been removed. Could " "be gutted for parts or crafted into a salvaged robot." msgstr "" -" skitterbot quebrado desarmado skitterbot quebrado. Seus módulos " -"dearmasinternos foram removidos. Poderia ser estripado por peças " -"outrabalhado emum robô recuperado." +"Um skitterbot quebrado. Seus módulos de armas internos foram removidos. " +"Poderia ser desmontado por peças ou trabalhado em um robô recuperado." #. ~ Description for broken skitterbot #: lang/json/GENERIC_from_json.py @@ -53801,8 +55645,8 @@ msgid "" "A broken skitterbot, now harmless and inert. Could be stripped of integral " "weapon modules." msgstr "" -" Um skitterbot quebrado, agora inofensivo e inerte. Poderia ser " -"despojadodemódulos de armas integradas." +"Um skitterbot quebrado, agora inofensivo e inerte. Poderia ser despojado de " +"módulos de armas integradas." #: lang/json/GENERIC_from_json.py msgid "broken disarmed defense bot" @@ -53928,21 +55772,18 @@ msgstr[0] "" msgstr[1] "" #: lang/json/GENERIC_from_json.py lang/json/gun_from_json.py -#: lang/json/gun_from_json.py msgid "integral 9mm firearm" msgid_plural "integral 9mm firearms" msgstr[0] "" msgstr[1] "" #: lang/json/GENERIC_from_json.py lang/json/gun_from_json.py -#: lang/json/gun_from_json.py msgid "integral 5.56mm firearm" msgid_plural "integral 5.56mm firearms" msgstr[0] "" msgstr[1] "" #: lang/json/GENERIC_from_json.py lang/json/gun_from_json.py -#: lang/json/gun_from_json.py msgid "integral 7.62mm firearm" msgid_plural "integral 7.62mm firearms" msgstr[0] "" @@ -53955,21 +55796,18 @@ msgstr[0] "" msgstr[1] "" #: lang/json/GENERIC_from_json.py lang/json/gun_from_json.py -#: lang/json/gun_from_json.py msgid "integral beanbag launcher" msgid_plural "integral beanbag launchers" msgstr[0] "" msgstr[1] "" #: lang/json/GENERIC_from_json.py lang/json/gun_from_json.py -#: lang/json/gun_from_json.py msgid "integral teargas launcher" msgid_plural "integral teargas launchers" msgstr[0] "" msgstr[1] "" #: lang/json/GENERIC_from_json.py lang/json/gun_from_json.py -#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py #: lang/json/gunmod_from_json.py msgid "integral flamethrower" msgid_plural "integral flamethrowers" @@ -53995,7 +55833,6 @@ msgstr[0] "" msgstr[1] "" #: lang/json/GENERIC_from_json.py lang/json/gun_from_json.py -#: lang/json/gun_from_json.py msgid "integral grenade launcher" msgid_plural "integral grenade launchers" msgstr[0] "" @@ -54008,7 +55845,6 @@ msgstr[0] "" msgstr[1] "" #: lang/json/GENERIC_from_json.py lang/json/gun_from_json.py -#: lang/json/gun_from_json.py msgid "integral plasma ejector" msgid_plural "integral plasma ejectors" msgstr[0] "" @@ -54021,7 +55857,6 @@ msgstr[0] "" msgstr[1] "" #: lang/json/GENERIC_from_json.py lang/json/gun_from_json.py -#: lang/json/gun_from_json.py msgid "integral acid thrower" msgid_plural "integral acid throwers" msgstr[0] "" @@ -54050,12 +55885,6 @@ msgstr "" "podernivelarmontanhas com um único golpe. Está decorado com ornamentos de " "ouro eprata." -#: lang/json/GENERIC_from_json.py -msgid "Gungnir" -msgid_plural "Gungnirs" -msgstr[0] "" -msgstr[1] "" - #. ~ Description for Gungnir #: lang/json/GENERIC_from_json.py msgid "" @@ -54801,7 +56630,6 @@ msgstr "" " módulo farmacêuticoUm módulo de fabricação farmacêutica para um robômédico." #: lang/json/GENERIC_from_json.py lang/json/gun_from_json.py -#: lang/json/gun_from_json.py msgid "integral paintball gun" msgid_plural "integral paintball guns" msgstr[0] "" @@ -55152,6 +56980,302 @@ msgstr "ARTEFATOS" msgid "ARMOR" msgstr "ARMADURAS" +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "ITEMS WORN" +msgstr "ITENS VESTADOS" + +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "WEAPON HELD" +msgstr "ARMA REALIZADA" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Unsorted" +msgstr "Roubo: Não sorteado" + +#. ~ Description for Loot: Unsorted +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " +"sort items inside. It can overlap with Loot zones of different types." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Food" +msgstr "Roubo: Comida" + +#. ~ Description for Loot: Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for comestibles. If more specific food zone is not defined, all" +" food is moved here." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Food" +msgstr "Saque: P. Food" + +#. ~ Description for Loot: P.Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for perishable comestibles. Does include perishable drinks if " +"such zone is not specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drink" +msgstr "Roubo: Beba" + +#. ~ Description for Loot: Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for drinks. Does include perishable drinks if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Drink" +msgstr "Saque: P. Drink" + +#. ~ Description for Loot: P.Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for perishable drinks." +msgstr "Destino para bebidas perecíveis." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Guns" +msgstr "Roubo: Armas" + +#. ~ Description for Loot: Guns +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for guns, bows and similar wearpons." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Magazines" +msgstr "Roubo: Revistas" + +#. ~ Description for Loot: Magazines +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for gun magazines." +msgstr "Destino para revistas de armas." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ammo" +msgstr "Roubo: Munição" + +#. ~ Description for Loot: Ammo +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for ammo." +msgstr "Destino para munição." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Weapons" +msgstr "Saque: Armas" + +#. ~ Description for Loot: Weapons +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for melee weapons." +msgstr "Destino para armas brancas." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Tools" +msgstr "Roubo: Ferramentas" + +#. ~ Description for Loot: Tools +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for tools." +msgstr "Destino para ferramentas." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Clothing" +msgstr "Roubo: Vestuário" + +#. ~ Description for Loot: Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for clothing. Does include filthy clothing if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Clothing" +msgstr "Saque: F. Roupa" + +#. ~ Description for Loot: F.Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy clothing." +msgstr "Destino para roupas imundas." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drugs" +msgstr "Roubo: Drogas" + +#. ~ Description for Loot: Drugs +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for drugs and other medical items." +msgstr "Destino de drogas e outros itens médicos." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Books" +msgstr "Roubo: Livros" + +#. ~ Description for Loot: Books +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for books and magazines." +msgstr "Destino para livros e revistas." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mods" +msgstr "Roubo: Mods" + +#. ~ Description for Loot: Mods +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firearm modifications and similar items." +msgstr "Destino para modificações de arma de fogo e itens semelhantes." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mutagens" +msgstr "Roubo: Mutagens" + +#. ~ Description for Loot: Mutagens +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for mutagens, serums, and purifiers." +msgstr "Destino para mutagênicos, soros e purificadores." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Bionics" +msgstr "Roubo: Biônica" + +#. ~ Description for Loot: Bionics +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for Compact Bionics Modules, a.k.a. CBMS." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: V.Parts" +msgstr "Saque: V. Parts" + +#. ~ Description for Loot: V.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for vehicle parts." +msgstr "Destino para peças de veículos." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Other" +msgstr "Roubo: Outro" + +#. ~ Description for Loot: Other +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for other miscellaneous items." +msgstr "Destino para outros itens diversos." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Fuel" +msgstr "Roubo: Combustível" + +#. ~ Description for Loot: Fuel +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for gasoline, diesel, lamp oil and other substances used as a " +"fuel." +msgstr "" +" Destino para gasolina, diesel, óleo de lâmpada e outras substâncias usadas " +"como combustível." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Seeds" +msgstr "Saque: Sementes" + +#. ~ Description for Loot: Seeds +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for seeds, stems and similar items." +msgstr "Destino para sementes, caules e itens semelhantes." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Chemical" +msgstr "Roubo: Químico" + +#. ~ Description for Loot: Chemical +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for chemicals." +msgstr "Destino para produtos químicos." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: S.Parts" +msgstr "Saque: S. Parts" + +#. ~ Description for Loot: S.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for spare parts." +msgstr "Destino para peças de reposição." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Artifacts" +msgstr "Roubo: Artefatos" + +#. ~ Description for Loot: Artifacts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for artifacts" +msgstr "Destino para artefatos" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Corpses" +msgstr "" + +#. ~ Description for Loot: Corpses +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for corpses" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Armor" +msgstr "Roubo: Armadura" + +#. ~ Description for Loot: Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for armor. Does include filthy armor if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Armor" +msgstr "Saque: F. Armor" + +#. ~ Description for Loot: F.Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy armor." +msgstr "Destino para armadura imunda." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Wood" +msgstr "Roubo: Madeira" + +#. ~ Description for Loot: Wood +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firewood and items that can be used as such." +msgstr "Destino para lenha e itens que podem ser usados como tal." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Custom" +msgstr "" + +#. ~ Description for Loot: Custom +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for loot with a custom filter that you can modify" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ignore" +msgstr "Roubo: Ignorar" + +#. ~ Description for Loot: Ignore +#: lang/json/LOOT_ZONE_from_json.py +msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." +msgstr "" +" Os itens dentro desta zona são ignorados pela \\ 'ordenar saquear \\' ação " +"da zona." + #: lang/json/MAGAZINE_from_json.py msgid "ultra-light battery" msgid_plural "ultra-light batteries" @@ -55373,7 +57497,7 @@ msgstr[1] "" #: lang/json/MAGAZINE_from_json.py msgid "" "This is a heavy battery cell, universally compatible with all kinds of " -"industrial-grade equipment and large tools. The battery's chemistry means " +"industrial-grade equipment and large tools. The battery's chemistry means " "that it has a very high capacity, but cannot be recharged." msgstr "" @@ -55907,17 +58031,6 @@ msgstr "" msgid "A 14 round double stack box magazine for the SIG Sauer P320." msgstr "" -#: lang/json/MAGAZINE_from_json.py -msgid "Taurus .38 magazine" -msgstr "Revista Taurus .38" - -#. ~ Description for Taurus .38 magazine -#: lang/json/MAGAZINE_from_json.py -msgid "A compact steel box magazine for use with the Taurus Pro .38 pistol." -msgstr "" -" Um compartimento compacto de caixa de aço para uso com a pistola " -"TaurusPro.38." - #: lang/json/MAGAZINE_from_json.py msgid ".38/.357 7-round speedloader" msgstr "" @@ -55991,6 +58104,16 @@ msgstr "" msgid "A 10-round steel box magazine for use with the Hi-Point CF-380." msgstr "" +#: lang/json/MAGAZINE_from_json.py +msgid "Taurus Spectrum magazine" +msgstr "" + +#. ~ Description for Taurus Spectrum magazine +#: lang/json/MAGAZINE_from_json.py +msgid "" +"A compact, 6-round steel box magazine for use with the Taurus Spectrum." +msgstr "" + #: lang/json/MAGAZINE_from_json.py msgid "M1911 .38 Super magazine" msgstr "" @@ -56035,12 +58158,13 @@ msgstr "" #: lang/json/MAGAZINE_from_json.py msgid "SIG Pro .40 magazine" -msgstr "Revista SIG Pro .40" +msgstr "carregador SIG Pro .40" #. ~ Description for SIG Pro .40 magazine #: lang/json/MAGAZINE_from_json.py msgid "A compact and reliable magazine for use with the SIG Pro .40 pistol." -msgstr "Uma revista compacta e confiável para uso com a pistola SIG Pro .40." +msgstr "" +"Um carregador compacto e confiável para uso com a pistola SIG Pro .40." #: lang/json/MAGAZINE_from_json.py msgid "makeshift .40 20-round magazine" @@ -56093,7 +58217,7 @@ msgstr "" #: lang/json/MAGAZINE_from_json.py msgid "grenade belt" -msgstr "cinto de granada" +msgstr "cinto de granadas" #. ~ Description for grenade belt #: lang/json/MAGAZINE_from_json.py @@ -56102,13 +58226,13 @@ msgid "" "This one holds 40mm grenades and is too bulky to be worn like other ammo " "belts." msgstr "" -" Um cinto de munição que consiste de ligações metálicas que " -"sedesintegramapós o disparo. Este tem granadas de 40mm e é muito " -"volumosopara ser usadocomo outros cinturões de munição." +"Um cinto de munição feito de ligações metálicas que se desintegram após o " +"disparo. Este tem granadas de 40mm e é muito volumoso para ser vestido como " +"outros cinturões de munição." #: lang/json/MAGAZINE_from_json.py msgid "Saiga-410 box magazine" -msgstr "Revista de caixa Saiga-410" +msgstr "Carregador caixa de Saiga-410" #. ~ Description for Saiga-410 box magazine #: lang/json/MAGAZINE_from_json.py @@ -56116,10 +58240,12 @@ msgid "" "A removable plastic box magazine for the Saiga-410 shotgun. Holds 10 " "shells." msgstr "" +"Um carregador plástico removível em forma de caixa para uma escopeta " +"Saiga-410. Armazena 10 cartuchos." #: lang/json/MAGAZINE_from_json.py msgid "Saiga-410 drum magazine" -msgstr "Lojas de estrada Saiga-410" +msgstr "Carregador tambor de Saiga-410" #. ~ Description for Saiga-410 drum magazine #: lang/json/MAGAZINE_from_json.py @@ -56127,6 +58253,8 @@ msgid "" "A removable plastic drum magazine for the Saiga-410 shotgun. Holds 30 " "shells." msgstr "" +"Um carregador plástico removível em forma de tambor para uma escopeta " +"Saiga-410. Armazena 30 cartuchos." #: lang/json/MAGAZINE_from_json.py msgid ".44 6-round speedloader" @@ -56141,46 +58269,47 @@ msgstr "" #: lang/json/MAGAZINE_from_json.py msgid "Desert Eagle magazine" -msgstr "Revista Desert Eagle" +msgstr "carregador de Desert Eagle" #. ~ Description for Desert Eagle magazine #: lang/json/MAGAZINE_from_json.py msgid "" "A standard 7-round steel box magazine for use with the IMI Desert Eagle." msgstr "" -"Um magazine de 7 barras de aço padrão para uso com o IMI Desert Eagle." +"Um carregador de aço padrão de 7 tiros para uso com a IMI Desert Eagle." #: lang/json/MAGAZINE_from_json.py msgid "M1911 extended magazine" -msgstr "Revista estendida M1911" +msgstr "carregador estendido de M1911" #. ~ Description for M1911 extended magazine #: lang/json/MAGAZINE_from_json.py msgid "An extended 10-round magazine for use with the M1911 handgun." -msgstr "Uma revista estendida de 10 rodadas para uso com a pistola M1911." +msgstr "Um carregador estendido de 10 cartuchos para uso com a pistola M1911." #: lang/json/MAGAZINE_from_json.py msgid "M1911 magazine" -msgstr "Revista M1911" +msgstr "carregador de M1911" #. ~ Description for M1911 magazine #: lang/json/MAGAZINE_from_json.py msgid "A military issue 7-round magazine for use with the M1911 handgun." -msgstr "Uma revista militar de 7 rounds para uso com a pistola M1911." +msgstr "Um carregador militar de 7 cartuchos para uso com a pistola M1911." #: lang/json/MAGAZINE_from_json.py msgid "MAC-10 magazine" -msgstr "Revista MAC-10" +msgstr "carregador de MAC-10" #. ~ Description for MAC-10 magazine #: lang/json/MAGAZINE_from_json.py msgid "A cheap 30-round steel box magazine for use with the MAC-10 SMG." msgstr "" -"Um compartimento de 30 barras de aço barato para uso com o MAC-10 SMG." +"Um carregador de aço barato de 30 cartuchos, para uso com a submetralhadora " +"MAC-10." #: lang/json/MAGAZINE_from_json.py msgid "makeshift .45 20-round magazine" -msgstr "" +msgstr "carregador improvisado .45 de 20 cartuchos" #. ~ Description for makeshift .45 20-round magazine #: lang/json/MAGAZINE_from_json.py @@ -56189,28 +58318,32 @@ msgid "" "submachinegun, with a simplified feed system. It looks like it might feed " "20 rounds of .45 ACP." msgstr "" +"Um carregador improvisado, razoavelmente compatível com uma submetralhadora " +"\"Luty\" caseira, com um sistema de alimentação simplificado. Parece que " +"pode carregar 20 cartuchos de .45 ACP." #: lang/json/MAGAZINE_from_json.py msgid "TDI Vector magazine" -msgstr "Revista TDI Vector" +msgstr "carregador de TDI Vector" #. ~ Description for TDI Vector magazine #: lang/json/MAGAZINE_from_json.py msgid "A 30-round steel box magazine for use with the TDI Vector" -msgstr "Um magazine de caixa de aço 30 redondo para uso com o vetor TDI" +msgstr "Um carregador de aço de 30 cartuchos para uso com o TDI Vector" #: lang/json/MAGAZINE_from_json.py msgid "Thompson extended magazine" -msgstr "Thompson estendeu a revista" +msgstr "carregador estendido de Thompson" #. ~ Description for Thompson extended magazine #: lang/json/MAGAZINE_from_json.py msgid "An extended 30-round magazine for the Thompson submachine gun." -msgstr "Uma revista estendida de 30 rounds para a submetralhadora Thompson." +msgstr "" +"Um carregador estendido de 30 cartuchos para a submetralhadora Thompson." #: lang/json/MAGAZINE_from_json.py msgid "Thompson drum magazine" -msgstr "Thompson drum magazine" +msgstr "carregador de tambor para Thompson" #. ~ Description for Thompson drum magazine #: lang/json/MAGAZINE_from_json.py @@ -56225,16 +58358,16 @@ msgstr "" #: lang/json/MAGAZINE_from_json.py msgid "Thompson magazine" -msgstr "Revista Thompson" +msgstr "carregador de Thompson" #. ~ Description for Thompson magazine #: lang/json/MAGAZINE_from_json.py msgid "A standard 20-round magazine for the Thompson submachine gun." -msgstr "Uma revista padrão de 20 rounds para a submetralhadora Thompson." +msgstr "Um carregador padrão de 20 cartuchos para a submetralhadora Thompson." #: lang/json/MAGAZINE_from_json.py msgid "UMP45 magazine" -msgstr "Revista UMP45" +msgstr "carregador de UMP45" #. ~ Description for UMP45 magazine #: lang/json/MAGAZINE_from_json.py @@ -56243,13 +58376,12 @@ msgstr "" #: lang/json/MAGAZINE_from_json.py msgid "USP .45 magazine" -msgstr "Revista USP .45" +msgstr "carregador de USP .45" #. ~ Description for USP .45 magazine #: lang/json/MAGAZINE_from_json.py msgid "A standard capacity magazine for use with the H&K USP handgun." -msgstr "" -"Um magazine de capacidade padrão para uso com a pistola H & K USP." +msgstr "Um carregador de capacidade padrão para uso com a pistola H&K USP." #: lang/json/MAGAZINE_from_json.py msgid "PPQ magazine .45 ACP" @@ -56282,19 +58414,19 @@ msgstr "" #: lang/json/MAGAZINE_from_json.py msgid "H&K 4.6mm extended magazine" -msgstr "Compartimento estendido H & K 4.6mm" +msgstr "carregador expandido H&K 4.6mm" #. ~ Description for H&K 4.6mm extended magazine #: lang/json/MAGAZINE_from_json.py msgid "" "An extended 40-round magazine for use with H&K's proprietary 4.6x30mm round." msgstr "" -" Uma revista estendida de 40 voltas para uso com a rodada de 4.6x30mm " -"daH& K." +"Um carregador estendido de 40 cartuchos para uso com a munição de 4.6x30mm " +"da H&K." #: lang/json/MAGAZINE_from_json.py msgid "H&K 4.6mm magazine" -msgstr "Revista H & K 4.6mm" +msgstr "carregador H&K 4.6mm" #. ~ Description for H&K 4.6mm magazine #: lang/json/MAGAZINE_from_json.py @@ -56302,8 +58434,8 @@ msgid "" "A standard capacity 20-round magazine for use with H&K's proprietary " "4.6x30mm round." msgstr "" -" Um magazine de 20 rolos de capacidade padrão para uso com o ciclode4.6x30mm" -" da H & K." +" Um carregador de 20 cartuchos de capacidade padrão para uso com o cartucho " +"de 4.6x30mm da H&K." #: lang/json/MAGAZINE_from_json.py msgid ".460 6-round speedloader" @@ -56318,7 +58450,7 @@ msgstr "" #: lang/json/MAGAZINE_from_json.py msgid "LW-12 magazine" -msgstr "Revista LW-12" +msgstr "carregador de LW-12" #. ~ Description for LW-12 magazine #: lang/json/MAGAZINE_from_json.py @@ -56333,7 +58465,7 @@ msgstr "cinto de munição .50 BMG" #: lang/json/MAGAZINE_from_json.py msgid "Barrett magazine" -msgstr "Revista Barrett" +msgstr "carregador de Barrett" #. ~ Description for Barrett magazine #: lang/json/MAGAZINE_from_json.py @@ -56352,6 +58484,15 @@ msgstr "" msgid "10-Round box magazine for Accuracy International AS50." msgstr "" +#: lang/json/MAGAZINE_from_json.py +msgid "TAC-50 magazine" +msgstr "" + +#. ~ Description for TAC-50 magazine +#: lang/json/MAGAZINE_from_json.py +msgid "10-round box magazine for McMillan TAC-50." +msgstr "" + #: lang/json/MAGAZINE_from_json.py msgid ".500 5-round speedloader" msgstr "" @@ -56365,7 +58506,7 @@ msgstr "" #: lang/json/MAGAZINE_from_json.py msgid "AK-74M magazine" -msgstr "Revista AK-74M" +msgstr "carregador de AK-74M" #. ~ Description for AK-74M magazine #: lang/json/MAGAZINE_from_json.py @@ -57089,17 +59230,6 @@ msgstr "" "desoldagempressurizados. Está marcado com vários símbolos desbotados " "eagorailegíveis." -#: lang/json/MAGAZINE_from_json.py -msgid "oxygen cylinder" -msgstr "" - -#. ~ Description for oxygen cylinder -#: lang/json/MAGAZINE_from_json.py -msgid "" -"A large steel cylinder used for storing pressurized gas. It is marked with a" -" faded, but legible O2 symbol." -msgstr "" - #: lang/json/MAGAZINE_from_json.py lang/json/vehicle_part_from_json.py msgid "car battery" msgid_plural "car batteries" @@ -57639,21 +59769,22 @@ msgstr "funil de seixo" #: lang/json/MAGAZINE_from_json.py msgid "AF2011A1 magazine" -msgstr "Revista AF2011A1" +msgstr "carregador AF2011A1" #. ~ Description for AF2011A1 magazine #: lang/json/MAGAZINE_from_json.py msgid "Two magazines attached to a common base. Unique to the AF2011A1." -msgstr "Duas revistas ligadas a uma base comum. Exclusivo para o AF2011A1." +msgstr "" +"Dois carregadores ligados a uma base comum. Exclusivo para o AF2011A1." #: lang/json/MAGAZINE_from_json.py msgid "M1991A1 .38 Super magazine" -msgstr "M1991A1 .38 Super revista" +msgstr "carregador M1991A1 .38 Super" #. ~ Description for M1991A1 .38 Super magazine #: lang/json/MAGAZINE_from_json.py msgid "A 9-round magazine for the M1991A1 .38 Super pistol." -msgstr "Uma revista de 9 rounds para a pistola M1991A1 .38 Super." +msgstr "Um carregador de 9 cartuchos para a pistola M1991A1 .38 Super." #: lang/json/MOD_INFO_from_json.py src/color.cpp src/color.cpp msgid "default" @@ -57675,7 +59806,7 @@ msgstr "" #: lang/json/MOD_INFO_from_json.py msgid "Animatronic Monsters" -msgstr "Monstros Animatronic" +msgstr "Monstros Animatrônicos" #. ~ Description for Animatronic Monsters #: lang/json/MOD_INFO_from_json.py @@ -57683,8 +59814,8 @@ msgid "" "Adds a chain of bankrupt pizzerias, with still functioning animatronics " "inside." msgstr "" -" Adiciona uma cadeia de pizzarias falidas, com animatronics " -"aindaemfuncionamento dentro." +" Adiciona uma franquia de pizzarias falidas, com animatrônicos ainda em " +"funcionamento dentro." #: lang/json/MOD_INFO_from_json.py msgid "Battery Migration for Existing Games" @@ -57726,8 +59857,8 @@ msgid "" "Adds more craftable firearms, and gunpowder. WARNING: Breaks intended " "balance." msgstr "" -" Adiciona mais armas de fogo artesanais e pólvora. AVISO: Interrompe " -"osaldopretendido." +" Adiciona mais armas de fogo artesanais e pólvora. AVISO: Interfere com o " +"balanceamento pretendido." #: lang/json/MOD_INFO_from_json.py msgid "Crazy Cataclysm" @@ -57736,7 +59867,7 @@ msgstr "Cataclismo Louco" #. ~ Description for Crazy Cataclysm #: lang/json/MOD_INFO_from_json.py msgid "Want a little crazy in your Cataclysm? Try this one." -msgstr "Quer um pouco louco no seu Cataclismo? Tente este." +msgstr "Quer um pouco de loucura no seu Cataclismo? Tente isso." #: lang/json/MOD_INFO_from_json.py msgid "[DP_MOD] Indicators: Chesthole" @@ -57813,8 +59944,8 @@ msgid "" "Makes solar panels and several other parts foldable, and adds foldable " "quarterboards." msgstr "" -" Torna os painéis solares e várias outras peças dobráveis eacrescentapainéis" -" dobráveis." +"Torna os painéis solares e várias outras peças dobráveis, e acrescenta " +"placas dobráveis." #: lang/json/MOD_INFO_from_json.py msgid "DinoMod" @@ -57827,7 +59958,7 @@ msgstr "Adiciona dinossauros." #: lang/json/MOD_INFO_from_json.py msgid "Icecoon's Arsenal" -msgstr "Arsenal de Icecoon" +msgstr "Arsenal do Icecoon" #. ~ Description for Icecoon's Arsenal #: lang/json/MOD_INFO_from_json.py @@ -57835,12 +59966,12 @@ msgid "" "For those gun nuts. Don't have enough near-future firearms in your life? " "Add this mod today!" msgstr "" -" Para aquelas porcas de arma. Não tem armas de fogo do " -"futuropróximosuficientes em sua vida? Adicione este mod hoje!" +" Para os loucos por armas. Não tem armas de fogo do futuro próximo " +"suficientes em sua vida? Adicione este mod hoje!" #: lang/json/MOD_INFO_from_json.py msgid "Fast Zombies" -msgstr "Zumbis rápidos" +msgstr "Zumbis Rápidos" #. ~ Description for Fast Zombies #: lang/json/MOD_INFO_from_json.py @@ -57849,7 +59980,7 @@ msgstr "Duplica a velocidade dos zumbis." #: lang/json/MOD_INFO_from_json.py msgid "DeadLeaves' Fictional Guns" -msgstr "Armas fictícias de DeadLeaves" +msgstr "Armas Fictícias do DeadLeaves" #. ~ Description for DeadLeaves' Fictional Guns #: lang/json/MOD_INFO_from_json.py @@ -57858,7 +59989,7 @@ msgstr "Adiciona um monte de armas raras e fictícias." #: lang/json/MOD_INFO_from_json.py msgid "Filthy Clothing" -msgstr "Roupas imundas" +msgstr "Roupas Imundas" #. ~ Description for Filthy Clothing #: lang/json/MOD_INFO_from_json.py @@ -57866,12 +59997,21 @@ msgid "" "Worn dirty clothing (dropped by zombies) will cause morale penalties and, if" " hit in combat, infections." msgstr "" -" Roupas sujas gastas (derrubadas por zumbis) causarão penas de moral e, " -"seatingidas em combate, infecções." +" Roupas sujas gastas (derrubadas por zumbis) causarão penas de moral e, se " +"atingidas em combate, infecções." + +#: lang/json/MOD_INFO_from_json.py +msgid "Fuji's Military Profession Pack" +msgstr "" + +#. ~ Description for Fuji's Military Profession Pack +#: lang/json/MOD_INFO_from_json.py +msgid "Numerous military themed professions" +msgstr "" #: lang/json/MOD_INFO_from_json.py msgid "Fuji's More Buildings" -msgstr "Mais edifícios do Fuji" +msgstr "Mais Edifícios do Fuji" #. ~ Description for Fuji's More Buildings #: lang/json/MOD_INFO_from_json.py @@ -57879,12 +60019,12 @@ msgid "" "Adds more buildings and more variations to existing buildings. (Requires " "More Locations)" msgstr "" -" Adiciona mais edifícios e mais variações aos edifícios " -"existentes.(Requermais locais)" +" Adiciona mais edifícios e mais variações aos edifícios existentes. (Requer " +"Mais Locais)" #: lang/json/MOD_INFO_from_json.py msgid "Generic Guns" -msgstr "Armas genéricas" +msgstr "Armas Genéricas" #. ~ Description for Generic Guns #: lang/json/MOD_INFO_from_json.py @@ -57892,8 +60032,8 @@ msgid "" "Replaces guns and ammo with generic types. Warning: can cause issues with " "other gun mods." msgstr "" -" Substitui armas e munições por tipos genéricos. Aviso: pode " -"causarproblemascom outros mods de armas." +" Substitui armas e munições por tipos genéricos. Aviso: pode causar " +"problemas com outros mods de armas." #: lang/json/MOD_INFO_from_json.py msgid "Garden Pots" @@ -57906,6 +60046,15 @@ msgid "" " as items. Perfect for the nomadic botanist." msgstr "" +#: lang/json/MOD_INFO_from_json.py +msgid "Roadheader and other mining vehicles" +msgstr "" + +#. ~ Description for Roadheader and other mining vehicles +#: lang/json/MOD_INFO_from_json.py +msgid "Adds a few mining vehicles, requires Vehicle Additions Pack." +msgstr "" + #: lang/json/MOD_INFO_from_json.py msgid "Hydroponics" msgstr "" @@ -57946,8 +60095,8 @@ msgstr "Instalação Biônica Manual" #: lang/json/MOD_INFO_from_json.py msgid "Allows CBMs to be installed by hand. Pairs well with Safe Autodoc." msgstr "" -" Permite que os CBMs sejam instalados manualmente. Pares bem " -"comAutodocseguro." +" Permite que os CBMs sejam instalados manualmente. Pareia bem com Autodoc " +"Deguro." #: lang/json/MOD_INFO_from_json.py msgid "Medieval and Historic Classes and Shields" @@ -57962,7 +60111,7 @@ msgstr "" #: lang/json/MOD_INFO_from_json.py msgid "Modular Turrets" -msgstr "Torres modulares" +msgstr "Torres Modulares" #. ~ Description for Modular Turrets #: lang/json/MOD_INFO_from_json.py @@ -57970,12 +60119,12 @@ msgid "" "Gives turrets swappable firearm modules, which can be reclaimed from broken " "robots." msgstr "" -" Fornece módulos de arma de fogo intercambiáveis, que podem serrecuperadosde" -" robôs quebrados." +" Fornece módulos de arma de fogo intercambiáveis, que podem ser recuperados " +"de robôs quebrados." #: lang/json/MOD_INFO_from_json.py msgid "More Locations" -msgstr "Mais locais" +msgstr "Mais Locais" #. ~ Description for More Locations #: lang/json/MOD_INFO_from_json.py @@ -57983,13 +60132,13 @@ msgid "" "Adds new Z-level buildings and dungeons. Still unpolished. Before " "generating a world, you can remove subfolders to nix unwanted locations." msgstr "" -" Adiciona novos edifícios e masmorras de nível Z. Ainda não polido. " -"Antesdegerar um mundo, você pode remover subpastas para " -"excluirlocaisindesejados." +" Adiciona novos edifícios e masmorras de nível Z. Ainda não polido. Antes de" +" gerar um mundo, você pode remover subpastas para excluir locais " +"indesejados." #: lang/json/MOD_INFO_from_json.py msgid "More Survival Tools" -msgstr "Mais ferramentas de sobrevivência" +msgstr "Mais Ferramentas de Sobrevivência" #. ~ Description for More Survival Tools #: lang/json/MOD_INFO_from_json.py @@ -57998,11 +60147,11 @@ msgid "" "additions/tweaks, plus two new professions." msgstr "" " Para aqueles que preferem ser innawoods. Adiciona várias ferramentas, " -"váriasadições / ajustes de receitas, além de duas novas profissões." +"várias adições/ajustes de receitas, além de duas novas profissões." #: lang/json/MOD_INFO_from_json.py msgid "Mundane Zombies" -msgstr "Zumbis mundanos" +msgstr "Zumbis Mundanos" #. ~ Description for Mundane Zombies #: lang/json/MOD_INFO_from_json.py @@ -58019,8 +60168,20 @@ msgid "" "NPCs wandering the wasteland will occasionally have mutations --- your foes " "included. Beware!" msgstr "" -" NPCs vagando pelo terreno baldio ocasionalmente terão mutações " -"---seusinimigos incluídos. Cuidado!" +" NPCs vagando pelo terreno baldio ocasionalmente terão mutações --- " +"incluindo seus inimigos. Cuidado!" + +#: lang/json/MOD_INFO_from_json.py +msgid "My Sweet Cataclysm" +msgstr "" + +#. ~ Description for My Sweet Cataclysm +#: lang/json/MOD_INFO_from_json.py +msgid "" +"Cataclysm is nice, but what if you could sweeten it a bit? What about " +"walking through this world as a human shaped piece of sugar with your pet " +"necco wafer?" +msgstr "" #: lang/json/MOD_INFO_from_json.py msgid "NPC traits" @@ -58592,7 +60753,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "chicken" -msgstr "frango" +msgid_plural "chickens" +msgstr[0] "" +msgstr[1] "" #. ~ Description for chicken #: lang/json/MONSTER_from_json.py @@ -58607,7 +60770,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "grouse" -msgstr "perdiz" +msgid_plural "grouses" +msgstr[0] "" +msgstr[1] "" #. ~ Description for grouse #: lang/json/MONSTER_from_json.py @@ -58620,7 +60785,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "crow" -msgstr "Corvo" +msgid_plural "crows" +msgstr[0] "" +msgstr[1] "" #. ~ Description for crow #: lang/json/MONSTER_from_json.py @@ -58633,7 +60800,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "duck" -msgstr "Pato" +msgid_plural "ducks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for duck #: lang/json/MONSTER_from_json.py @@ -58647,9 +60816,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "goose" -msgstr "Ganso" +msgid_plural "geese" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for goose +#. ~ Description for {'str': 'goose', 'str_pl': 'geese'} #: lang/json/MONSTER_from_json.py msgid "A Canadian goose, a common waterfowl that regrets leaving Canada." msgstr "" @@ -58657,7 +60828,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "turkey" -msgstr "Peru" +msgid_plural "turkeys" +msgstr[0] "" +msgstr[1] "" #. ~ Description for turkey #: lang/json/MONSTER_from_json.py @@ -58670,7 +60843,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pheasant" -msgstr "faisão" +msgid_plural "pheasants" +msgstr[0] "" +msgstr[1] "" #. ~ Description for pheasant #: lang/json/MONSTER_from_json.py @@ -58683,7 +60858,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cockatrice" -msgstr "basilisco" +msgid_plural "cockatrices" +msgstr[0] "" +msgstr[1] "" #. ~ Description for cockatrice #: lang/json/MONSTER_from_json.py @@ -58698,7 +60875,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "yellow chick" -msgstr "pintinho amarelo" +msgid_plural "yellow chicks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for yellow chick #: lang/json/MONSTER_from_json.py @@ -58710,11 +60889,15 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "brown chick" -msgstr "pintinho marrom" +msgid_plural "brown chicks" +msgstr[0] "" +msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "strange chick" -msgstr "garota estranha" +msgid_plural "strange chicks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for strange chick #: lang/json/MONSTER_from_json.py @@ -58724,7 +60907,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "waterfowl chick" -msgstr "filhote de ave aquática" +msgid_plural "waterfowl chicks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for waterfowl chick #: lang/json/MONSTER_from_json.py @@ -58737,7 +60922,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "M16A4 autonomous TALON UGV" -msgstr "" +msgid_plural "M16A4 autonomous TALON UGVs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for M16A4 autonomous TALON UGV #: lang/json/MONSTER_from_json.py @@ -58748,7 +60935,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "M202A1 autonomous TALON UGV" -msgstr "" +msgid_plural "M202A1 autonomous TALON UGVs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for M202A1 autonomous TALON UGV #: lang/json/MONSTER_from_json.py @@ -58760,7 +60949,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "skitterbot" -msgstr "skitterbot" +msgid_plural "skitterbots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for skitterbot #: lang/json/MONSTER_from_json.py @@ -58775,7 +60966,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "experimental lab bot" -msgstr "" +msgid_plural "experimental lab bots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for experimental lab bot #: lang/json/MONSTER_from_json.py @@ -58786,7 +60979,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "prototype robot" -msgstr "" +msgid_plural "prototype robots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for prototype robot #: lang/json/MONSTER_from_json.py @@ -58800,7 +60995,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "NR-031 Dispatch" -msgstr "" +msgid_plural "NR-031 Dispatchs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for NR-031 Dispatch #: lang/json/MONSTER_from_json.py @@ -58814,7 +61011,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "NR-V05-M Dispatch" -msgstr "" +msgid_plural "NR-V05-M Dispatchs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for NR-V05-M Dispatch #: lang/json/MONSTER_from_json.py @@ -58828,11 +61027,15 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "autonomous drone" -msgstr "drone autônomo" +msgid_plural "autonomous drones" +msgstr[0] "" +msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "EMP hack" -msgstr "EMP hack" +msgid_plural "EMP hacks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for EMP hack #: lang/json/MONSTER_from_json.py @@ -58843,7 +61046,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "C-4 hack" -msgstr "C-4 hack" +msgid_plural "C-4 hacks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for C-4 hack #: lang/json/MONSTER_from_json.py @@ -58854,7 +61059,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "flashbang hack" -msgstr "hack de flashbang" +msgid_plural "flashbang hacks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for flashbang hack #: lang/json/MONSTER_from_json.py @@ -58865,7 +61072,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "tear gas hack" -msgstr "corte de gás lacrimogêneo" +msgid_plural "tear gas hacks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for tear gas hack #: lang/json/MONSTER_from_json.py @@ -58876,7 +61085,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "grenade hack" -msgstr "granada hack" +msgid_plural "grenade hacks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for grenade hack #: lang/json/MONSTER_from_json.py @@ -58887,7 +61098,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "manhack" -msgstr "manhack" +msgid_plural "manhacks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for manhack #: lang/json/MONSTER_from_json.py @@ -58898,63 +61111,77 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "mininuke hack" -msgstr "mininuke hack" +msgid_plural "mininuke hacks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for mininuke hack #: lang/json/MONSTER_from_json.py msgid "" "Many times as large as a normal manhack, this flying quadcopter drone " -"appears to have a mininuke inside. If this is targeting you... Run." +"appears to have a mininuke inside. If this is targeting you… Run." msgstr "" #: lang/json/MONSTER_from_json.py msgid "tiny fish" -msgstr "" +msgid_plural "tiny fish" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for tiny fish +#. ~ Description for {'str': 'tiny fish', 'str_pl': 'tiny fish'} #: lang/json/MONSTER_from_json.py msgid "A tiny fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "small fish" -msgstr "" +msgid_plural "small fish" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for small fish +#. ~ Description for {'str': 'small fish', 'str_pl': 'small fish'} #: lang/json/MONSTER_from_json.py msgid "A small fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "medium fish" -msgstr "" +msgid_plural "medium fish" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for medium fish +#. ~ Description for {'str': 'medium fish', 'str_pl': 'medium fish'} #: lang/json/MONSTER_from_json.py msgid "A medium fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "large fish" -msgstr "" +msgid_plural "large fish" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for large fish +#. ~ Description for {'str': 'large fish', 'str_pl': 'large fish'} #: lang/json/MONSTER_from_json.py msgid "A large fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "huge fish" -msgstr "" +msgid_plural "huge fish" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for huge fish +#. ~ Description for {'str': 'huge fish', 'str_pl': 'huge fish'} #: lang/json/MONSTER_from_json.py msgid "A huge fish." msgstr "" #: lang/json/MONSTER_from_json.py msgid "trout" -msgstr "truta" +msgid_plural "trouts" +msgstr[0] "" +msgstr[1] "" #. ~ Description for trout #: lang/json/MONSTER_from_json.py @@ -58965,7 +61192,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "brown trout" -msgstr "" +msgid_plural "brown trouts" +msgstr[0] "" +msgstr[1] "" #. ~ Description for brown trout #: lang/json/MONSTER_from_json.py @@ -58976,7 +61205,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "brook trout" -msgstr "" +msgid_plural "brook trouts" +msgstr[0] "" +msgstr[1] "" #. ~ Description for brook trout #: lang/json/MONSTER_from_json.py @@ -58987,7 +61218,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "lake trout" -msgstr "" +msgid_plural "lake trouts" +msgstr[0] "" +msgstr[1] "" #. ~ Description for lake trout #: lang/json/MONSTER_from_json.py @@ -58998,7 +61231,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rainbow trout" -msgstr "" +msgid_plural "rainbow trouts" +msgstr[0] "" +msgstr[1] "" #. ~ Description for rainbow trout #: lang/json/MONSTER_from_json.py @@ -59009,7 +61244,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "steelhead trout" -msgstr "" +msgid_plural "steelhead trouts" +msgstr[0] "" +msgstr[1] "" #. ~ Description for steelhead trout #: lang/json/MONSTER_from_json.py @@ -59020,7 +61257,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "salmon" -msgstr "salmão" +msgid_plural "salmons" +msgstr[0] "" +msgstr[1] "" #. ~ Description for salmon #: lang/json/MONSTER_from_json.py @@ -59030,7 +61269,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "kokanee salmon" -msgstr "" +msgid_plural "kokanee salmons" +msgstr[0] "" +msgstr[1] "" #. ~ Description for kokanee salmon #: lang/json/MONSTER_from_json.py @@ -59040,7 +61281,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "chinook salmon" -msgstr "" +msgid_plural "chinook salmons" +msgstr[0] "" +msgstr[1] "" #. ~ Description for chinook salmon #: lang/json/MONSTER_from_json.py @@ -59050,7 +61293,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "coho salmon" -msgstr "" +msgid_plural "coho salmons" +msgstr[0] "" +msgstr[1] "" #. ~ Description for coho salmon #: lang/json/MONSTER_from_json.py @@ -59059,9 +61304,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "whitefish" -msgstr "" +msgid_plural "whitefish" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for whitefish +#. ~ Description for {'str': 'whitefish', 'str_pl': 'whitefish'} #: lang/json/MONSTER_from_json.py msgid "" "A whitefish, closely related to salmon. One can assume they are just as " @@ -59072,18 +61319,22 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "largemouth bass" -msgstr "" +msgid_plural "largemouth bass" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for largemouth bass +#. ~ Description for {'str': 'largemouth bass', 'str_pl': 'largemouth bass'} #: lang/json/MONSTER_from_json.py msgid "A Largemouth Bass. Very popular with sports fishermen." msgstr "" #: lang/json/MONSTER_from_json.py msgid "smallmouth bass" -msgstr "" +msgid_plural "smallmouth bass" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for smallmouth bass +#. ~ Description for {'str': 'smallmouth bass', 'str_pl': 'smallmouth bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Smallmouth Bass. Being intolerant to pollution in the water, smallmouth " @@ -59092,9 +61343,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "striped bass" -msgstr "" +msgid_plural "striped bass" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for striped bass +#. ~ Description for {'str': 'striped bass', 'str_pl': 'striped bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Striped Bass. Mostly a salt water fish, they migrate to fresher water to " @@ -59103,9 +61356,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "white bass" -msgstr "" +msgid_plural "white bass" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for white bass +#. ~ Description for {'str': 'white bass', 'str_pl': 'white bass'} #: lang/json/MONSTER_from_json.py msgid "" "A White Bass. Common to the region, a slab-sided and spiny-rayed little " @@ -59114,9 +61369,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "perch" -msgstr "" +msgid_plural "perches" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for perch +#. ~ Description for {'str': 'perch', 'str_pl': 'perches'} #: lang/json/MONSTER_from_json.py msgid "" "A small spritely Perch. A very bony fish, still got some tasty meat on it " @@ -59125,7 +61382,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "walleye" -msgstr "" +msgid_plural "walleyes" +msgstr[0] "" +msgstr[1] "" #. ~ Description for walleye #: lang/json/MONSTER_from_json.py @@ -59134,25 +61393,32 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "sunfish" -msgstr "" +msgid_plural "sunfish" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for sunfish +#. ~ Description for {'str': 'sunfish', 'str_pl': 'sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "pumpkinseed sunfish" -msgstr "" +msgid_plural "pumpkinseed sunfish" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for pumpkinseed sunfish +#. ~ Description for {'str': 'pumpkinseed sunfish', 'str_pl': 'pumpkinseed +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Pumpkinseed Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "bluegill" -msgstr "bluegill" +msgid_plural "bluegills" +msgstr[0] "" +msgstr[1] "" #. ~ Description for bluegill #: lang/json/MONSTER_from_json.py @@ -59162,45 +61428,56 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "redbreast sunfish" -msgstr "" +msgid_plural "redbreast sunfish" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for redbreast sunfish +#. ~ Description for {'str': 'redbreast sunfish', 'str_pl': 'redbreast +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redbreast Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "green sunfish" -msgstr "" +msgid_plural "green sunfish" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for green sunfish +#. ~ Description for {'str': 'green sunfish', 'str_pl': 'green sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Green Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "longear sunfish" -msgstr "" +msgid_plural "longear sunfish" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for longear sunfish +#. ~ Description for {'str': 'longear sunfish', 'str_pl': 'longear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Longear Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "redear sunfish" -msgstr "" +msgid_plural "redear sunfish" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for redear sunfish +#. ~ Description for {'str': 'redear sunfish', 'str_pl': 'redear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redear Sunfish. A small fish related to bass or bluegill." msgstr "" #: lang/json/MONSTER_from_json.py msgid "rock bass" -msgstr "" +msgid_plural "rock bass" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for rock bass +#. ~ Description for {'str': 'rock bass', 'str_pl': 'rock bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Rock Bass. Related to sunfish, this tiny fish has a camoflauge-like " @@ -59209,16 +61486,20 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "calico bass" -msgstr "" +msgid_plural "calico bass" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for calico bass +#. ~ Description for {'str': 'calico bass', 'str_pl': 'calico bass'} #: lang/json/MONSTER_from_json.py msgid "A Calico Bass. A medium-sized fish also known as a 'Crappie'." msgstr "" #: lang/json/MONSTER_from_json.py msgid "warmouth" -msgstr "" +msgid_plural "warmouths" +msgstr[0] "" +msgstr[1] "" #. ~ Description for warmouth #: lang/json/MONSTER_from_json.py @@ -59229,7 +61510,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bullhead" -msgstr "cabeça de vaca" +msgid_plural "bullheads" +msgstr[0] "" +msgstr[1] "" #. ~ Description for bullhead #: lang/json/MONSTER_from_json.py @@ -59238,23 +61521,34 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "channel catfish" -msgstr "" +msgid_plural "channel catfish" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for channel catfish +#. ~ Description for {'str': 'channel catfish', 'str_pl': 'channel catfish'} #: lang/json/MONSTER_from_json.py msgid "A Channel Catfish, they have a forked tail and long whiskers." msgstr "" #: lang/json/MONSTER_from_json.py msgid "white catfish" -msgstr "" +msgid_plural "white catfish" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for white catfish +#. ~ Description for {'str': 'white catfish', 'str_pl': 'white catfish'} #: lang/json/MONSTER_from_json.py msgid "A White Catfish, a small whiskered fish with a broad head." msgstr "" -#. ~ Description for pike +#: lang/json/MONSTER_from_json.py +msgctxt "fish" +msgid "pike" +msgid_plural "pikes" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for {'ctxt': 'fish', 'str': 'pike'} #: lang/json/MONSTER_from_json.py msgid "" "A Northern Pike. Pike can be a pretty aggressive fish, careful around those" @@ -59263,7 +61557,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pickerel" -msgstr "" +msgid_plural "pickerels" +msgstr[0] "" +msgstr[1] "" #. ~ Description for pickerel #: lang/json/MONSTER_from_json.py @@ -59272,7 +61568,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "muskellunge" -msgstr "" +msgid_plural "muskellunges" +msgstr[0] "" +msgstr[1] "" #. ~ Description for muskellunge #: lang/json/MONSTER_from_json.py @@ -59283,7 +61581,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "white sucker" -msgstr "" +msgid_plural "white suckers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for white sucker #: lang/json/MONSTER_from_json.py @@ -59292,7 +61592,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "carp" -msgstr "carpa" +msgid_plural "carps" +msgstr[0] "" +msgstr[1] "" #. ~ Description for carp #: lang/json/MONSTER_from_json.py @@ -59303,7 +61605,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "grass carp" -msgstr "" +msgid_plural "grass carps" +msgstr[0] "" +msgstr[1] "" #. ~ Description for grass carp #: lang/json/MONSTER_from_json.py @@ -59312,7 +61616,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bowfin" -msgstr "bowfin" +msgid_plural "bowfins" +msgstr[0] "" +msgstr[1] "" #. ~ Description for bowfin #: lang/json/MONSTER_from_json.py @@ -59325,9 +61631,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fallfish" -msgstr "" +msgid_plural "fallfish" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for fallfish +#. ~ Description for {'str': 'fallfish', 'str_pl': 'fallfish'} #: lang/json/MONSTER_from_json.py msgid "" "A Fallfish. These fish are related to gar but without the huge teeth, skin " @@ -59336,31 +61644,30 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "lobster" -msgstr "lagosta" +msgid_plural "lobsters" +msgstr[0] "" +msgstr[1] "" #. ~ Description for lobster #: lang/json/MONSTER_from_json.py msgid "" "These things were once considered pests not worth eating, then some " "marketing genius started selling them to people as a delicacy and they took " -"off in popularity... and price." +"off in popularity… and price." msgstr "" -" Essas coisas já foram consideradas pragas que não valem a penaseremcomidas," -" então algum gênio do marketing começou a vendê-las para aspessoascomo uma " -"iguaria e elas decolaram em popularidade ... e preço." #: lang/json/MONSTER_from_json.py msgid "crayfish" -msgstr "lagostim" +msgid_plural "crayfish" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for crayfish +#. ~ Description for {'str': 'crayfish', 'str_pl': 'crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "If you could get ahold of a bunch more of these, a hefty pot of boiling " -"water, and some spicy seasonings..." +"water, and some spicy seasonings…" msgstr "" -" Se você pudesse pegar mais um desses, uma panela de água fervente " -"ealgunstemperos picantes ..." #: lang/json/MONSTER_from_json.py msgid "Blinky" @@ -59368,14 +61675,16 @@ msgid_plural "Blinkies" msgstr[0] "" msgstr[1] "" -#. ~ Description for Blinky +#. ~ Description for {'str': 'Blinky', 'str_pl': 'Blinkies'} #: lang/json/MONSTER_from_json.py msgid "A strange three-eyed fish." msgstr "BlinkyUm estranho peixe de três olhos." #: lang/json/MONSTER_from_json.py msgid "freshwater eel" -msgstr "enguia de água doce" +msgid_plural "freshwater eels" +msgstr[0] "" +msgstr[1] "" #. ~ Description for freshwater eel #: lang/json/MONSTER_from_json.py @@ -59389,7 +61698,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "jawed terror" -msgstr "terror de queixo" +msgid_plural "jawed terrors" +msgstr[0] "" +msgstr[1] "" #. ~ Description for jawed terror #: lang/json/MONSTER_from_json.py @@ -59403,7 +61714,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant carp" -msgstr "carpa gigante" +msgid_plural "giant carps" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant carp #: lang/json/MONSTER_from_json.py @@ -59416,7 +61729,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant salmon" -msgstr "salmão gigante" +msgid_plural "giant salmons" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant salmon #: lang/json/MONSTER_from_json.py @@ -59429,7 +61744,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "seweranha" -msgstr "seweranha" +msgid_plural "seweranhas" +msgstr[0] "" +msgstr[1] "" #. ~ Description for seweranha #: lang/json/MONSTER_from_json.py @@ -59442,7 +61759,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "skittering plague" -msgstr "peste escorregadia" +msgid_plural "skittering plagues" +msgstr[0] "" +msgstr[1] "" #. ~ Description for skittering plague #: lang/json/MONSTER_from_json.py @@ -59451,7 +61770,9 @@ msgstr "Uma barata gigante infectada, tem se alimentado dos mortos-vivos." #: lang/json/MONSTER_from_json.py msgid "plague nymph" -msgstr "ninfa da peste" +msgid_plural "plague nymphs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for plague nymph #: lang/json/MONSTER_from_json.py @@ -59460,7 +61781,9 @@ msgstr "Uma barata mutante infectada do tamanho de um rato." #: lang/json/MONSTER_from_json.py msgid "plague vector" -msgstr "vetor de peste" +msgid_plural "plague vectors" +msgstr[0] "" +msgstr[1] "" #. ~ Description for plague vector #: lang/json/MONSTER_from_json.py @@ -59473,16 +61796,20 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant cockroach" -msgstr "barata gigante" +msgid_plural "giant cockroaches" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for giant cockroach +#. ~ Description for {'str': 'giant cockroach', 'str_pl': 'giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "A mutant cockroach the size of a small dog." msgstr "Uma barata mutante do tamanho de um cachorro pequeno." #: lang/json/MONSTER_from_json.py msgid "giant cockroach nymph" -msgstr "ninfa de barata gigante" +msgid_plural "giant cockroach nymphs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant cockroach nymph #: lang/json/MONSTER_from_json.py @@ -59491,9 +61818,12 @@ msgstr "Uma barata bebê mutante do tamanho de um rato." #: lang/json/MONSTER_from_json.py msgid "pregnant giant cockroach" -msgstr "barata gigante grávida" +msgid_plural "pregnant giant cockroaches" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for pregnant giant cockroach +#. ~ Description for {'str': 'pregnant giant cockroach', 'str_pl': 'pregnant +#. giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant cockroach the size of a small dog. Its abdomen is heavily swollen." @@ -59501,7 +61831,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant bee" -msgstr "abelha gigante" +msgid_plural "giant bees" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant bee #: lang/json/MONSTER_from_json.py @@ -59515,7 +61847,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant centipede" -msgstr "centopéia gigante" +msgid_plural "giant centipedes" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant centipede #: lang/json/MONSTER_from_json.py @@ -59532,7 +61866,7 @@ msgid_plural "giant dragonflies" msgstr[0] "libélula gigante" msgstr[1] "libélulas gigantes" -#. ~ Description for giant dragonfly +#. ~ Description for {'str': 'giant dragonfly', 'str_pl': 'giant dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A ferocious mutant dragonfly as big as a cat, darting through the air with a" @@ -59547,7 +61881,7 @@ msgid_plural "giant flies" msgstr[0] "mosca gigante" msgstr[1] "moscas gigantes" -#. ~ Description for giant fly +#. ~ Description for {'str': 'giant fly', 'str_pl': 'giant flies'} #: lang/json/MONSTER_from_json.py msgid "" "A tremendous housefly the size of a small dog, predictably accompanied by a " @@ -59558,7 +61892,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant mosquito" -msgstr "mosquito gigante" +msgid_plural "giant mosquitos" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant mosquito #: lang/json/MONSTER_from_json.py @@ -59571,7 +61907,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant cellar spider" -msgstr "aranha adega gigante" +msgid_plural "giant cellar spiders" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant cellar spider #: lang/json/MONSTER_from_json.py @@ -59586,7 +61924,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "immature giant cellar spider" -msgstr "aranha adega gigante imaturo" +msgid_plural "immature giant cellar spiders" +msgstr[0] "" +msgstr[1] "" #. ~ Description for immature giant cellar spider #: lang/json/MONSTER_from_json.py @@ -59599,7 +61939,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant jumping spider" -msgstr "Aranha saltadora gigante" +msgid_plural "giant jumping spiders" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant jumping spider #: lang/json/MONSTER_from_json.py @@ -59613,7 +61955,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant trapdoor spider" -msgstr "aranha alçapão gigante" +msgid_plural "giant trapdoor spiders" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant trapdoor spider #: lang/json/MONSTER_from_json.py @@ -59627,7 +61971,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant web spider" -msgstr "teia gigante" +msgid_plural "giant web spiders" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant web spider #: lang/json/MONSTER_from_json.py @@ -59640,7 +61986,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal spider" -msgstr "aranha fungal" +msgid_plural "fungal spiders" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fungal spider #: lang/json/MONSTER_from_json.py @@ -59652,7 +62000,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "immature giant web spider" -msgstr "Aranha gigante imatura" +msgid_plural "immature giant web spiders" +msgstr[0] "" +msgstr[1] "" #. ~ Description for immature giant web spider #: lang/json/MONSTER_from_json.py @@ -59665,7 +62015,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant black widow" -msgstr "viúva negra gigante" +msgid_plural "giant black widows" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant black widow #: lang/json/MONSTER_from_json.py @@ -59678,7 +62030,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant black widow spiderling" -msgstr "Aranha gigante da viúva negra" +msgid_plural "giant black widow spiderlings" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant black widow spiderling #: lang/json/MONSTER_from_json.py @@ -59691,7 +62045,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant wolf spider" -msgstr "aranha gigante" +msgid_plural "giant wolf spiders" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant wolf spider #: lang/json/MONSTER_from_json.py @@ -59704,7 +62060,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant wasp" -msgstr "vespa gigante" +msgid_plural "giant wasps" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant wasp #: lang/json/MONSTER_from_json.py @@ -59718,7 +62076,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dermatik" -msgstr "dermática" +msgid_plural "dermatiks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for dermatik #: lang/json/MONSTER_from_json.py @@ -59731,9 +62091,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dermatik larva" -msgstr "larva dermatite" +msgid_plural "dermatik larvae" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for dermatik larva +#. ~ Description for {'str': 'dermatik larva', 'str_pl': 'dermatik larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A fat white grub as big as a squirrel, with a pair of large, spadelike " @@ -59744,7 +62106,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant ant" -msgstr "formiga gigante" +msgid_plural "giant ants" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant ant #: lang/json/MONSTER_from_json.py @@ -59757,7 +62121,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant acidic ant" -msgstr "formiga ácida gigante" +msgid_plural "giant acidic ants" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant acidic ant #: lang/json/MONSTER_from_json.py @@ -59771,9 +62137,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "acidic ant larva" -msgstr "larva ácida" +msgid_plural "acidic ant larvae" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for acidic ant larva +#. ~ Description for {'str': 'acidic ant larva', 'str_pl': 'acidic ant +#. larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A squirming yellow grub that seems to be oozing liquid from both ends of its" @@ -59785,7 +62154,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "acidic queen ant" -msgstr "formiga-rainha ácida" +msgid_plural "acidic queen ants" +msgstr[0] "" +msgstr[1] "" #. ~ Description for acidic queen ant #: lang/json/MONSTER_from_json.py @@ -59801,7 +62172,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "acidic soldier ant" -msgstr "formiga de soldado ácida" +msgid_plural "acidic soldier ants" +msgstr[0] "" +msgstr[1] "" #. ~ Description for acidic soldier ant #: lang/json/MONSTER_from_json.py @@ -59816,7 +62189,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal ant" -msgstr "formiga fúngica" +msgid_plural "fungal ants" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fungal ant #: lang/json/MONSTER_from_json.py @@ -59830,9 +62205,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "ant larva" -msgstr "larva de formiga" +msgid_plural "ant larvae" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for ant larva +#. ~ Description for {'str': 'ant larva', 'str_pl': 'ant larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A pulsating sausage of glistening white flesh, the size of a large cat. On " @@ -59843,7 +62220,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "queen ant" -msgstr "formiga rainha" +msgid_plural "queen ants" +msgstr[0] "" +msgstr[1] "" #. ~ Description for queen ant #: lang/json/MONSTER_from_json.py @@ -59857,7 +62236,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "soldier ant" -msgstr "formiga soldado" +msgid_plural "soldier ants" +msgstr[0] "" +msgstr[1] "" #. ~ Description for soldier ant #: lang/json/MONSTER_from_json.py @@ -59870,7 +62251,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant locust" -msgstr "gafanhoto gigante" +msgid_plural "giant locusts" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant locust #: lang/json/MONSTER_from_json.py @@ -59883,7 +62266,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "locust nymph" -msgstr "ninfa de gafanhoto" +msgid_plural "locust nymphs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for locust nymph #: lang/json/MONSTER_from_json.py @@ -59896,7 +62281,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "black bear cub" -msgstr "filhote de urso negro" +msgid_plural "black bear cubs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for black bear cub #: lang/json/MONSTER_from_json.py @@ -59909,7 +62296,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "black bear" -msgstr "urso negro" +msgid_plural "black bears" +msgstr[0] "" +msgstr[1] "" #. ~ Description for black bear #: lang/json/MONSTER_from_json.py @@ -59924,7 +62313,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "beaver" -msgstr "castor" +msgid_plural "beavers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for beaver #: lang/json/MONSTER_from_json.py @@ -59941,7 +62332,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "black rat" -msgstr "rato preto" +msgid_plural "black rats" +msgstr[0] "" +msgstr[1] "" #. ~ Description for black rat #: lang/json/MONSTER_from_json.py @@ -59956,7 +62349,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bobcat" -msgstr "lince" +msgid_plural "bobcats" +msgstr[0] "" +msgstr[1] "" #. ~ Description for bobcat #: lang/json/MONSTER_from_json.py @@ -59967,7 +62362,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cat" -msgstr "gato" +msgid_plural "cats" +msgstr[0] "" +msgstr[1] "" #. ~ Description for cat #: lang/json/MONSTER_from_json.py @@ -59982,7 +62379,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "chipmunk" -msgstr "tâmia" +msgid_plural "chipmunks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for chipmunk #: lang/json/MONSTER_from_json.py @@ -59997,7 +62396,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cougar" -msgstr "puma" +msgid_plural "cougars" +msgstr[0] "" +msgstr[1] "" #. ~ Description for cougar #: lang/json/MONSTER_from_json.py @@ -60016,7 +62417,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "calf" -msgstr "bezerro" +msgid_plural "calfs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for calf #. ~ Description for cow @@ -60032,11 +62435,15 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cow" -msgstr "vaca" +msgid_plural "cows" +msgstr[0] "" +msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "coyote" -msgstr "coiote" +msgid_plural "coyotes" +msgstr[0] "" +msgstr[1] "" #. ~ Description for coyote #: lang/json/MONSTER_from_json.py @@ -60064,7 +62471,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fawn" -msgstr "fulvo" +msgid_plural "fawns" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fawn #: lang/json/MONSTER_from_json.py @@ -60078,7 +62487,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "deer" -msgstr "veado" +msgid_plural "deers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for deer #: lang/json/MONSTER_from_json.py @@ -60091,7 +62502,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Labrador mutt" -msgstr "vira-lata Labrador" +msgid_plural "Labrador mutts" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Labrador mutt #: lang/json/MONSTER_from_json.py @@ -60106,9 +62519,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Labrador puppy" -msgstr "filhote de Labrador" +msgid_plural "Labrador puppies" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for Labrador puppy +#. ~ Description for {'str': 'Labrador puppy', 'str_pl': 'Labrador puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Labrador puppy. Much safer to tame than an adult " @@ -60117,7 +62532,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bulldog" -msgstr "buldogue" +msgid_plural "bulldogs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for bulldog #: lang/json/MONSTER_from_json.py @@ -60130,9 +62547,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bulldog puppy" -msgstr "filhote de buldogue" +msgid_plural "bulldog puppies" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for bulldog puppy +#. ~ Description for {'str': 'bulldog puppy', 'str_pl': 'bulldog puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless American bulldog puppy. Much safer to tame than an" @@ -60141,9 +62560,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull mix" -msgstr "pitbull mestiço" +msgid_plural "pit bull mixes" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for pit bull mix +#. ~ Description for {'str': 'pit bull mix', 'str_pl': 'pit bull mixes'} #: lang/json/MONSTER_from_json.py msgid "" "The oft-misunderstood pit bull is not actually a single breed but a label " @@ -60154,9 +62575,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull puppy" -msgstr "filhote de pitbull" +msgid_plural "pit bull puppies" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for pit bull puppy +#. ~ Description for {'str': 'pit bull puppy', 'str_pl': 'pit bull puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless pit bull puppy. Much safer to tame than an adult " @@ -60165,7 +62588,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "beagle" -msgstr "beagle" +msgid_plural "beagles" +msgstr[0] "" +msgstr[1] "" #. ~ Description for beagle #: lang/json/MONSTER_from_json.py @@ -60178,9 +62603,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "beagle puppy" -msgstr "filhote de beagle" +msgid_plural "beagle puppies" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for beagle puppy +#. ~ Description for {'str': 'beagle puppy', 'str_pl': 'beagle puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless beagle puppy. Much safer to tame than an adult " @@ -60189,7 +62616,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "border collie" -msgstr "border collie" +msgid_plural "border collies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for border collie #: lang/json/MONSTER_from_json.py @@ -60201,9 +62630,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "border collie puppy" -msgstr "filhote de cachorro border collie" +msgid_plural "border collie puppies" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for border collie puppy +#. ~ Description for {'str': 'border collie puppy', 'str_pl': 'border collie +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Border Collie puppy. Much safer to tame than an " @@ -60212,7 +62644,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "boxer mastiff" -msgstr "mastim boxer" +msgid_plural "boxer mastiffs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for boxer mastiff #: lang/json/MONSTER_from_json.py @@ -60225,9 +62659,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "boxer puppy" -msgstr "filhote de boxer" +msgid_plural "boxer puppies" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for boxer puppy +#. ~ Description for {'str': 'boxer puppy', 'str_pl': 'boxer puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless boxer puppy. Much safer to tame than an adult dog." @@ -60235,7 +62671,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Chihuahua" -msgstr "Chihuahua" +msgid_plural "Chihuahuas" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Chihuahua #: lang/json/MONSTER_from_json.py @@ -60246,9 +62684,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Chihuahua puppy" -msgstr "Filhote de chihuahua" +msgid_plural "Chihuahua puppies" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for Chihuahua puppy +#. ~ Description for {'str': 'Chihuahua puppy', 'str_pl': 'Chihuahua puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Chihuahua puppy. Much safer to tame than an adult " @@ -60257,7 +62697,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dachshund" -msgstr "dachshund" +msgid_plural "dachshunds" +msgstr[0] "" +msgstr[1] "" #. ~ Description for dachshund #: lang/json/MONSTER_from_json.py @@ -60269,9 +62711,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dachshund puppy" -msgstr "filhote de dachshund" +msgid_plural "dachshund puppies" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for dachshund puppy +#. ~ Description for {'str': 'dachshund puppy', 'str_pl': 'dachshund puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless dachshund puppy. Much safer to tame than an adult " @@ -60280,7 +62724,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "German shepherd" -msgstr "pastor alemão" +msgid_plural "German shepherds" +msgstr[0] "" +msgstr[1] "" #. ~ Description for German shepherd #: lang/json/MONSTER_from_json.py @@ -60293,9 +62739,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "German shepherd puppy" -msgstr "Filhote de pastor alemão" +msgid_plural "German shepherd puppies" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for German shepherd puppy +#. ~ Description for {'str': 'German shepherd puppy', 'str_pl': 'German +#. shepherd puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless German shepherd puppy. Much safer to tame than an " @@ -60304,9 +62753,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees" -msgstr "Grande Pirineu" +msgid_plural "Great Pyrenees" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for Great Pyrenees +#. ~ Description for {'str': 'Great Pyrenees', 'str_pl': 'Great Pyrenees'} #: lang/json/MONSTER_from_json.py msgid "" "A large and powerful breed, the Great Pyrenees has a beautiful, thick white " @@ -60320,9 +62771,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees puppy" -msgstr "filhote de Grande Pirineu" +msgid_plural "Great Pyrenees puppies" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for Great Pyrenees puppy +#. ~ Description for {'str': 'Great Pyrenees puppy', 'str_pl': 'Great Pyrenees +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Great Pyrenees puppy. Much safer to tame than an " @@ -60331,7 +62785,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rottweiler" -msgstr "Rottweiler" +msgid_plural "rottweilers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for rottweiler #: lang/json/MONSTER_from_json.py @@ -60346,9 +62802,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rottweiler puppy" -msgstr "filhote de rottweiler" +msgid_plural "rottweiler puppies" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for rottweiler puppy +#. ~ Description for {'str': 'rottweiler puppy', 'str_pl': 'rottweiler +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Rottweiler puppy. Much safer to tame than an adult" @@ -60357,7 +62816,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cattle dog" -msgstr "cão de gado" +msgid_plural "cattle dogs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for cattle dog #: lang/json/MONSTER_from_json.py @@ -60370,9 +62831,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cattle dog puppy" -msgstr "filhote de cão de gado" +msgid_plural "cattle dog puppies" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for cattle dog puppy +#. ~ Description for {'str': 'cattle dog puppy', 'str_pl': 'cattle dog +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Australian cattle dog puppy. Much safer to tame " @@ -60385,7 +62849,7 @@ msgid_plural "foxes" msgstr[0] "" msgstr[1] "" -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A small omnivorous canine with an almost cat-like manner. It is a solitary " @@ -60394,7 +62858,7 @@ msgstr "" "Um pequeno canino onívoro com maneiras quase felinas. É um caçador solitário" " e um dos únicos canídeos capazes de subir em árvores." -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "The red fox, an omnivorous canine and largest of the true foxes, it is a " @@ -60405,7 +62869,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "groundhog" -msgstr "marmota" +msgid_plural "groundhogs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for groundhog #: lang/json/MONSTER_from_json.py @@ -60416,7 +62882,9 @@ msgstr "Um grande roedor terrestre, conhecido por assobiar quando ameaçado." #: lang/json/MONSTER_from_json.py msgid "jackrabbit" -msgstr "jackrabbit" +msgid_plural "jackrabbits" +msgstr[0] "" +msgstr[1] "" #. ~ Description for jackrabbit #: lang/json/MONSTER_from_json.py @@ -60427,7 +62895,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "horse" -msgstr "cavalo" +msgid_plural "horses" +msgstr[0] "" +msgstr[1] "" #. ~ Description for horse #: lang/json/MONSTER_from_json.py @@ -60440,7 +62910,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "lemming" -msgstr "lemingue" +msgid_plural "lemmings" +msgstr[0] "" +msgstr[1] "" #. ~ Description for lemming #: lang/json/MONSTER_from_json.py @@ -60458,7 +62930,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "mink" -msgstr "vison" +msgid_plural "minks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for mink #: lang/json/MONSTER_from_json.py @@ -60470,9 +62944,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "moose" -msgstr "alce" +msgid_plural "moose" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for moose +#. ~ Description for {'str': 'moose', 'str_pl': 'moose'} #: lang/json/MONSTER_from_json.py msgid "" "The Eastern moose, the largest living species of deer. While they aren't " @@ -60485,7 +62961,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "muskrat" -msgstr "rato almiscarado" +msgid_plural "muskrats" +msgstr[0] "" +msgstr[1] "" #. ~ Description for muskrat #: lang/json/MONSTER_from_json.py @@ -60500,7 +62978,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gigantic naked mole-rat" -msgstr "rato-toupeira-pelado gigantesco" +msgid_plural "gigantic naked mole-rats" +msgstr[0] "" +msgstr[1] "" #. ~ Description for gigantic naked mole-rat #: lang/json/MONSTER_from_json.py @@ -60514,7 +62994,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "opossum" -msgstr "gambá" +msgid_plural "opossums" +msgstr[0] "" +msgstr[1] "" #. ~ Description for opossum #: lang/json/MONSTER_from_json.py @@ -60529,7 +63011,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "otter" -msgstr "lontra" +msgid_plural "otters" +msgstr[0] "" +msgstr[1] "" #. ~ Description for otter #: lang/json/MONSTER_from_json.py @@ -60542,7 +63026,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "piglet" -msgstr "leitão" +msgid_plural "piglets" +msgstr[0] "" +msgstr[1] "" #. ~ Description for piglet #. ~ Description for pig @@ -60556,11 +63042,15 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pig" -msgstr "porco" +msgid_plural "pigs" +msgstr[0] "" +msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "rabbit" -msgstr "Coelho" +msgid_plural "rabbits" +msgstr[0] "" +msgstr[1] "" #. ~ Description for rabbit #: lang/json/MONSTER_from_json.py @@ -60573,7 +63063,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "raccoon" -msgstr "guaxinim" +msgid_plural "raccoons" +msgstr[0] "" +msgstr[1] "" #. ~ Description for raccoon #: lang/json/MONSTER_from_json.py @@ -60588,7 +63080,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rat king" -msgstr "rato rei" +msgid_plural "rat kings" +msgstr[0] "" +msgstr[1] "" #. ~ Description for rat king #: lang/json/MONSTER_from_json.py @@ -60601,16 +63095,16 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "sewer rat" -msgstr "rato de esgoto" +msgid_plural "sewer rats" +msgstr[0] "" +msgstr[1] "" #. ~ Description for sewer rat #: lang/json/MONSTER_from_json.py msgid "" "A worm-tailed rodent with long whiskers and beady eyes. The way it squeaks " -"makes it sound... hungry." +"makes it sound… hungry." msgstr "" -" Um roedor de cauda de verme com longos bigodes e olhos redondos. A maneira " -"como ele chia o faz parecer... com fome." #: lang/json/MONSTER_from_json.py msgid "lamb" @@ -60632,7 +63126,7 @@ msgid_plural "sheep" msgstr[0] "" msgstr[1] "" -#. ~ Description for sheep +#. ~ Description for {'str': 'sheep', 'str_pl': 'sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A timid, hooved grazing mammal, and one of the first animals ever " @@ -60642,7 +63136,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "squirrel" -msgstr "esquilo" +msgid_plural "squirrels" +msgstr[0] "" +msgstr[1] "" #. ~ Description for squirrel #: lang/json/MONSTER_from_json.py @@ -60668,7 +63164,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "weasel" -msgstr "doninha" +msgid_plural "weasels" +msgstr[0] "" +msgstr[1] "" #. ~ Description for weasel #: lang/json/MONSTER_from_json.py @@ -60687,7 +63185,7 @@ msgid_plural "wolves" msgstr[0] "" msgstr[1] "" -#. ~ Description for wolf +#. ~ Description for {'str': 'wolf', 'str_pl': 'wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A cunning pack predator, once extinct in the New England area, the wolf was " @@ -60700,7 +63198,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "marloss zealot" -msgstr "" +msgid_plural "marloss zealots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for marloss zealot #: lang/json/MONSTER_from_json.py @@ -60718,7 +63218,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "X-03: 'Spectre' Recon Mech" -msgstr "" +msgid_plural "X-03: 'Spectre' Recon Mechs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for X-03: 'Spectre' Recon Mech #: lang/json/MONSTER_from_json.py @@ -60734,7 +63236,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "X-02: 'Grunt' Combat Mech" -msgstr "" +msgid_plural "X-02: 'Grunt' Combat Mechs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for X-02: 'Grunt' Combat Mech #: lang/json/MONSTER_from_json.py @@ -60749,7 +63253,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "X-01: 'Jack' Lifting Mech" -msgstr "" +msgid_plural "X-01: 'Jack' Lifting Mechs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for X-01: 'Jack' Lifting Mech #: lang/json/MONSTER_from_json.py @@ -60764,7 +63270,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "mi-go" -msgstr "mi-go" +msgid_plural "mi-gos" +msgstr[0] "" +msgstr[1] "" #. ~ Description for mi-go #: lang/json/MONSTER_from_json.py @@ -60784,7 +63292,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "mi-go slaver" -msgstr "" +msgid_plural "mi-go slavers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for mi-go slaver #: lang/json/MONSTER_from_json.py @@ -60799,7 +63309,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "mi-go surgeon" -msgstr "" +msgid_plural "mi-go surgeons" +msgstr[0] "" +msgstr[1] "" #. ~ Description for mi-go surgeon #: lang/json/MONSTER_from_json.py @@ -60811,7 +63323,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "mi-go guard" -msgstr "" +msgid_plural "mi-go guards" +msgstr[0] "" +msgstr[1] "" #. ~ Description for mi-go guard #: lang/json/MONSTER_from_json.py @@ -60826,7 +63340,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "mi-go myrmidon" -msgstr "" +msgid_plural "mi-go myrmidons" +msgstr[0] "" +msgstr[1] "" #. ~ Description for mi-go myrmidon #: lang/json/MONSTER_from_json.py @@ -60841,7 +63357,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "mi-go scout" -msgstr "" +msgid_plural "mi-go scouts" +msgstr[0] "" +msgstr[1] "" #. ~ Description for mi-go scout #: lang/json/MONSTER_from_json.py @@ -60858,7 +63376,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "debug monster" -msgstr "monstro de depuração" +msgid_plural "debug monsters" +msgstr[0] "" +msgstr[1] "" #. ~ Description for debug monster #: lang/json/MONSTER_from_json.py @@ -60867,7 +63387,9 @@ msgstr "Este monstro existe apenas para fins de teste." #: lang/json/MONSTER_from_json.py msgid "albino penguin" -msgstr "pinguim albino" +msgid_plural "albino penguins" +msgstr[0] "" +msgstr[1] "" #. ~ Description for albino penguin #: lang/json/MONSTER_from_json.py @@ -60879,7 +63401,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "alpha razorclaw" -msgstr "navalha alfa" +msgid_plural "alpha razorclaws" +msgstr[0] "" +msgstr[1] "" #. ~ Description for alpha razorclaw #: lang/json/MONSTER_from_json.py @@ -60892,7 +63416,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "amigara horror" -msgstr "horror de amigara" +msgid_plural "amigara horrors" +msgstr[0] "" +msgstr[1] "" #. ~ Description for amigara horror #: lang/json/MONSTER_from_json.py @@ -60906,7 +63432,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bat" -msgstr "morcego" +msgid_plural "bats" +msgstr[0] "" +msgstr[1] "" #. ~ Description for bat #: lang/json/MONSTER_from_json.py @@ -60922,7 +63450,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "scarred zombie" -msgstr "zumbi cicatrizado" +msgid_plural "scarred zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for scarred zombie #: lang/json/MONSTER_from_json.py @@ -60937,7 +63467,7 @@ msgid_plural "blank bodies" msgstr[0] "" msgstr[1] "" -#. ~ Description for blank body +#. ~ Description for {'str': 'blank body', 'str_pl': 'blank bodies'} #: lang/json/MONSTER_from_json.py msgid "" "This is some form of unnatural changeling creature; its appearance is a " @@ -60958,7 +63488,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "blob" -msgstr "blob" +msgid_plural "blobs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for blob #: lang/json/MONSTER_from_json.py @@ -60971,7 +63503,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "brain blob" -msgstr "bolha cerebral" +msgid_plural "brain blobs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for brain blob #: lang/json/MONSTER_from_json.py @@ -60984,7 +63518,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "big blob" -msgstr "grande bolha" +msgid_plural "big blobs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for big blob #: lang/json/MONSTER_from_json.py @@ -60997,7 +63533,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "small blob" -msgstr "pequena mancha" +msgid_plural "small blobs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for small blob #: lang/json/MONSTER_from_json.py @@ -61010,7 +63548,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "blood sacrifice" -msgstr "sacrifício de sangue" +msgid_plural "blood sacrifices" +msgstr[0] "" +msgstr[1] "" #. ~ Description for blood sacrifice #: lang/json/MONSTER_from_json.py @@ -61025,7 +63565,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "boomer" -msgstr "boomer" +msgid_plural "boomers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for boomer #: lang/json/MONSTER_from_json.py @@ -61039,7 +63581,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gasoline zombie" -msgstr "" +msgid_plural "gasoline zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for gasoline zombie #: lang/json/MONSTER_from_json.py @@ -61050,7 +63594,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal boomer" -msgstr "boomer fungoso" +msgid_plural "fungal boomers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fungal boomer #: lang/json/MONSTER_from_json.py @@ -61063,21 +63609,36 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "huge boomer" -msgstr "boomer enorme" +msgid_plural "huge boomers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for huge boomer #: lang/json/MONSTER_from_json.py msgid "" "This boomer, normally swollen and ready to burst, has strengthened and " -"solidified. The bile dribbling from its mouth also appears to have " -"changed..." +"solidified. The bile dribbling from its mouth also appears to have changed…" +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "dissoluted devourer" +msgid_plural "dissoluted devourers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for dissoluted devourer +#: lang/json/MONSTER_from_json.py +msgid "" +"Human bodies fused together into a colossus with heads and limbs sticking " +"out of its bloated body. You may have trouble estimating its healthiness " +"and its capabilities might change." msgstr "" -" Este boomer, normalmente inchado e pronto para explodir, fortaleceu-se e " -"solidificou-se. A bílis driblando de sua boca também parece ter mudado..." #: lang/json/MONSTER_from_json.py msgid "breather" -msgstr "respirador" +msgid_plural "breathers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for breather #: lang/json/MONSTER_from_json.py @@ -61099,7 +63660,9 @@ msgstr "Uma estranha massa de gosma rosa imóvel. Parece respirar." #: lang/json/MONSTER_from_json.py msgid "broken cyborg" -msgstr "ciborgue quebrado" +msgid_plural "broken cyborgs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for broken cyborg #: lang/json/MONSTER_from_json.py @@ -61116,7 +63679,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "prototype cyborg" -msgstr "" +msgid_plural "prototype cyborgs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for prototype cyborg #: lang/json/MONSTER_from_json.py @@ -61124,12 +63689,14 @@ msgid "" "A human fused with a mess of metal parts and wires. While its eyes are " "empty, flashes of pain pass across its face reminiscent of the person " "trapped in this grotesque body. With enough surgical skills one might be " -"able to give them back some humanity. If only they cared..." +"able to give them back some humanity. If only they cared…" msgstr "" #: lang/json/MONSTER_from_json.py msgid "charred nightmare" -msgstr "pesadelo carbonizado" +msgid_plural "charred nightmares" +msgstr[0] "" +msgstr[1] "" #. ~ Description for charred nightmare #: lang/json/MONSTER_from_json.py @@ -61142,7 +63709,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "chicken walker" -msgstr "caminhante de galinha" +msgid_plural "chicken walkers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for chicken walker #: lang/json/MONSTER_from_json.py @@ -61156,7 +63725,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "C.H.U.D." -msgstr "" +msgid_plural "C.H.U.D.s" +msgstr[0] "" +msgstr[1] "" #. ~ Description for C.H.U.D. #: lang/json/MONSTER_from_json.py @@ -61167,7 +63738,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "police bot" -msgstr "bot policial" +msgid_plural "police bots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for police bot #: lang/json/MONSTER_from_json.py @@ -61184,7 +63757,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "crawler" -msgstr "rastejante" +msgid_plural "crawlers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for crawler #: lang/json/MONSTER_from_json.py @@ -61197,7 +63772,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dark wyrm" -msgstr "ancião escuro" +msgid_plural "dark wyrms" +msgstr[0] "" +msgstr[1] "" #. ~ Description for dark wyrm #: lang/json/MONSTER_from_json.py @@ -61212,7 +63789,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "wraith" -msgstr "aparição" +msgid_plural "wraiths" +msgstr[0] "" +msgstr[1] "" #. ~ Description for wraith #: lang/json/MONSTER_from_json.py @@ -61223,7 +63802,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dementia" -msgstr "demência" +msgid_plural "dementias" +msgstr[0] "" +msgstr[1] "" #. ~ Description for dementia #: lang/json/MONSTER_from_json.py @@ -61236,7 +63817,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "skeletal dog" -msgstr "cão esquelético" +msgid_plural "skeletal dogs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for skeletal dog #: lang/json/MONSTER_from_json.py @@ -61253,7 +63836,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dog" -msgstr "cão" +msgid_plural "dogs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for dog #: lang/json/MONSTER_from_json.py @@ -61266,7 +63851,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Z-9" -msgstr "Z-9" +msgid_plural "Z-9s" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Z-9 #: lang/json/MONSTER_from_json.py @@ -61279,7 +63866,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rot-weiler" -msgstr "rot-weiler" +msgid_plural "rot-weilers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for rot-weiler #: lang/json/MONSTER_from_json.py @@ -61290,7 +63879,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "eyebot" -msgstr "eyebot" +msgid_plural "eyebots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for eyebot #: lang/json/MONSTER_from_json.py @@ -61305,7 +63896,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "nurse bot" -msgstr "" +msgid_plural "nurse bots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for nurse bot #: lang/json/MONSTER_from_json.py @@ -61318,7 +63911,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "grocery bot" -msgstr "" +msgid_plural "grocery bots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for grocery bot #: lang/json/MONSTER_from_json.py @@ -61332,7 +63927,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "busted grocery bot" -msgstr "" +msgid_plural "busted grocery bots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for busted grocery bot #: lang/json/MONSTER_from_json.py @@ -61344,7 +63941,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "flaming eye" -msgstr "olho flamejante" +msgid_plural "flaming eyes" +msgstr[0] "" +msgstr[1] "" #. ~ Description for flaming eye #: lang/json/MONSTER_from_json.py @@ -61366,7 +63965,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "flesh angel" -msgstr "anjo da carne" +msgid_plural "flesh angels" +msgstr[0] "" +msgstr[1] "" #. ~ Description for flesh angel #: lang/json/MONSTER_from_json.py @@ -61379,7 +63980,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "flying polyp" -msgstr "pólipo voador" +msgid_plural "flying polyps" +msgstr[0] "" +msgstr[1] "" #. ~ Description for flying polyp #: lang/json/MONSTER_from_json.py @@ -61391,7 +63994,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal blossom" -msgstr "flor fúngica" +msgid_plural "fungal blossoms" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fungal blossom #: lang/json/MONSTER_from_json.py @@ -61404,7 +64009,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal hedgerow" -msgstr "sebe fúngica" +msgid_plural "fungal hedgerows" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fungal hedgerow #: lang/json/MONSTER_from_json.py @@ -61417,7 +64024,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal tendril" -msgstr "tendão fúngico" +msgid_plural "fungal tendrils" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fungal tendril #: lang/json/MONSTER_from_json.py @@ -61427,7 +64036,9 @@ msgstr "Uma gavinha longa e delicada com uma ponta afiada." #: lang/json/MONSTER_from_json.py lang/json/terrain_from_json.py #: lang/json/terrain_from_json.py msgid "fungal wall" -msgstr "parede fúngica" +msgid_plural "fungal walls" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fungal wall #: lang/json/MONSTER_from_json.py @@ -61441,7 +64052,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungaloid" -msgstr "fungoide" +msgid_plural "fungaloids" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fungaloid #: lang/json/MONSTER_from_json.py @@ -61457,7 +64070,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal spire" -msgstr "pináculo fúngico" +msgid_plural "fungal spires" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fungal spire #: lang/json/MONSTER_from_json.py @@ -61470,7 +64085,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant fungal blossom" -msgstr "flor fúngica gigante" +msgid_plural "giant fungal blossoms" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant fungal blossom #: lang/json/MONSTER_from_json.py @@ -61483,7 +64100,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/overmap_terrain_from_json.py msgid "fungal tower" -msgstr "torre fúngica" +msgid_plural "fungal towers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fungal tower #: lang/json/MONSTER_from_json.py @@ -61502,7 +64121,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal sporeling" -msgstr "afastamento de fungos" +msgid_plural "fungal sporelings" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fungal sporeling #: lang/json/MONSTER_from_json.py @@ -61517,7 +64138,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "amoebic mold" -msgstr "molde amebico" +msgid_plural "amoebic molds" +msgstr[0] "" +msgstr[1] "" #. ~ Description for amoebic mold #: lang/json/MONSTER_from_json.py @@ -61530,7 +64153,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "generator" -msgstr "gerador" +msgid_plural "generators" +msgstr[0] "" +msgstr[1] "" #. ~ Description for generator #: lang/json/MONSTER_from_json.py @@ -61540,9 +64165,11 @@ msgstr "Seu gerador precioso, ruidosamente zumbindo. Defenda-a a todo custo!" #: lang/json/MONSTER_from_json.py msgid "giant crayfish" -msgstr "lagostim gigante" +msgid_plural "giant crayfish" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for giant crayfish +#. ~ Description for {'str': 'giant crayfish', 'str_pl': 'giant crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant, terrestrial variety of the signal crayfish, this massive " @@ -61553,7 +64180,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gozu" -msgstr "Gozi" +msgid_plural "gozus" +msgstr[0] "" +msgstr[1] "" #. ~ Description for gozu #: lang/json/MONSTER_from_json.py @@ -61574,7 +64203,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "graboid" -msgstr "agarrador" +msgid_plural "graboids" +msgstr[0] "" +msgstr[1] "" #. ~ Description for graboid #: lang/json/MONSTER_from_json.py @@ -61590,7 +64221,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gracken" -msgstr "gracken" +msgid_plural "grackens" +msgstr[0] "" +msgstr[1] "" #. ~ Description for gracken #: lang/json/MONSTER_from_json.py @@ -61612,7 +64245,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "half worm" -msgstr "meio verme" +msgid_plural "half worms" +msgstr[0] "" +msgstr[1] "" #. ~ Description for half worm #: lang/json/MONSTER_from_json.py @@ -61621,7 +64256,9 @@ msgstr "Uma porção retorcida de um verme gigante ferido." #: lang/json/MONSTER_from_json.py msgid "your mother" -msgstr "sua mãe" +msgid_plural "your mothers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for your mother #: lang/json/MONSTER_from_json.py @@ -61630,7 +64267,9 @@ msgstr "Mãe?" #: lang/json/MONSTER_from_json.py msgid "evil multi-cooker" -msgstr "multi-panela malvada" +msgid_plural "evil multi-cookers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for evil multi-cooker #: lang/json/MONSTER_from_json.py @@ -61639,7 +64278,9 @@ msgstr "O multi-fogão tem uma mente própria! Tenha cuidado!" #: lang/json/MONSTER_from_json.py msgid "cleaner bot" -msgstr "bot mais limpo" +msgid_plural "cleaner bots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for cleaner bot #: lang/json/MONSTER_from_json.py @@ -61652,7 +64293,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "tentacle dog" -msgstr "cão tentáculo" +msgid_plural "tentacle dogs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for tentacle dog #: lang/json/MONSTER_from_json.py @@ -61665,7 +64308,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hologram" -msgstr "holograma" +msgid_plural "holograms" +msgstr[0] "" +msgstr[1] "" #. ~ Description for hologram #: lang/json/MONSTER_from_json.py @@ -61678,7 +64323,7 @@ msgid_plural "homunculuses" msgstr[0] "" msgstr[1] "" -#. ~ Description for homunculus +#. ~ Description for {'str': 'homunculus', 'str_pl': 'homunculuses'} #: lang/json/MONSTER_from_json.py msgid "" "A pale hairless man with an impressive athletic physique. Its lidless eyes " @@ -61689,9 +64334,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hound of tindalos" -msgstr "" +msgid_plural "hounds of tindalos" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for hound of tindalos +#. ~ Description for {'str': 'hound of tindalos', 'str_pl': 'hounds of +#. tindalos'} #: lang/json/MONSTER_from_json.py msgid "" "A grotesque hound-like beast, its frame is angular and emaciated and its " @@ -61704,7 +64352,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "human snail" -msgstr "caracol humano" +msgid_plural "human snails" +msgstr[0] "" +msgstr[1] "" #. ~ Description for human snail #: lang/json/MONSTER_from_json.py @@ -61717,7 +64367,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hunting horror" -msgstr "horror de caça" +msgid_plural "hunting horrors" +msgstr[0] "" +msgstr[1] "" #. ~ Description for hunting horror #: lang/json/MONSTER_from_json.py @@ -61735,7 +64387,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "irradiated wanderer" -msgstr "andarilho irradiado" +msgid_plural "irradiated wanderers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for irradiated wanderer #: lang/json/MONSTER_from_json.py @@ -61749,7 +64403,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fleshy shambler" -msgstr "" +msgid_plural "fleshy shamblers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fleshy shambler #: lang/json/MONSTER_from_json.py @@ -61761,7 +64417,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "flesh golem" -msgstr "" +msgid_plural "flesh golems" +msgstr[0] "" +msgstr[1] "" #. ~ Description for flesh golem #: lang/json/MONSTER_from_json.py @@ -61773,7 +64431,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "jabberwock" -msgstr "jabberwock" +msgid_plural "jabberwocks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for jabberwock #: lang/json/MONSTER_from_json.py @@ -61788,7 +64448,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "kreck" -msgstr "Kreck" +msgid_plural "krecks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for kreck #: lang/json/MONSTER_from_json.py @@ -61811,7 +64473,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "miner bot" -msgstr "minas bem" +msgid_plural "miner bots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for miner bot #: lang/json/MONSTER_from_json.py @@ -61824,7 +64488,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cyclopean" -msgstr "ciclópico" +msgid_plural "cyclopeans" +msgstr[0] "" +msgstr[1] "" #. ~ Description for cyclopean #: lang/json/MONSTER_from_json.py @@ -61837,7 +64503,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "slimespring" -msgstr "slimespring" +msgid_plural "slimesprings" +msgstr[0] "" +msgstr[1] "" #. ~ Description for slimespring #: lang/json/MONSTER_from_json.py @@ -61846,7 +64514,9 @@ msgstr "Uma mancha familiar de gosma. Brota o eyestalk ocasional." #: lang/json/MONSTER_from_json.py msgid "razorclaw" -msgstr "razorclaw" +msgid_plural "razorclaws" +msgstr[0] "" +msgstr[1] "" #. ~ Description for razorclaw #: lang/json/MONSTER_from_json.py @@ -61862,7 +64532,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "riot control bot" -msgstr "bot de controle de tumulto" +msgid_plural "riot control bots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for riot control bot #: lang/json/MONSTER_from_json.py @@ -61880,7 +64552,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shadow" -msgstr "sombra" +msgid_plural "shadows" +msgstr[0] "" +msgstr[1] "" #. ~ Description for shadow #: lang/json/MONSTER_from_json.py @@ -61898,7 +64572,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shadow snake" -msgstr "Cobra Sombra" +msgid_plural "shadow snakes" +msgstr[0] "" +msgstr[1] "" #. ~ Description for shadow snake #: lang/json/MONSTER_from_json.py @@ -61917,20 +64593,20 @@ msgid_plural "Shia LaBeouf" msgstr[0] "" msgstr[1] "" -#. ~ Description for Shia LaBeouf +#. ~ Description for {'str': 'Shia LaBeouf', 'str_pl': 'Shia LaBeouf'} #: lang/json/MONSTER_from_json.py msgid "" -"Living in the woods, \n" -"killing for sport, \n" -"eating all the bodies, \n" +"Living in the woods,\n" +"killing for sport,\n" +"eating all the bodies,\n" "actual cannibal Shia LaBeouf." msgstr "" -" Shia LaBeoufLiving na floresta, \n" -" kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk.\n" #: lang/json/MONSTER_from_json.py msgid "shoggoth" -msgstr "shoggoth" +msgid_plural "shoggoths" +msgstr[0] "" +msgstr[1] "" #. ~ Description for shoggoth #: lang/json/MONSTER_from_json.py @@ -61945,7 +64621,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "skeleton" -msgstr "esqueleto" +msgid_plural "skeletons" +msgstr[0] "" +msgstr[1] "" #. ~ Description for skeleton #: lang/json/MONSTER_from_json.py @@ -61962,7 +64640,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "skeletal brute" -msgstr "" +msgid_plural "skeletal brutes" +msgstr[0] "" +msgstr[1] "" #. ~ Description for skeletal brute #: lang/json/MONSTER_from_json.py @@ -61973,7 +64653,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "skeletal shocker" -msgstr "" +msgid_plural "skeletal shockers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for skeletal shocker #: lang/json/MONSTER_from_json.py @@ -61985,7 +64667,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "sludge crawler" -msgstr "rastreador de lodo" +msgid_plural "sludge crawlers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for sludge crawler #: lang/json/MONSTER_from_json.py @@ -62000,7 +64684,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant slug" -msgstr "lesma gigante" +msgid_plural "giant slugs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant slug #: lang/json/MONSTER_from_json.py @@ -62014,7 +64700,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "spore cloud" -msgstr "nuvem de esporo" +msgid_plural "spore clouds" +msgstr[0] "" +msgstr[1] "" #. ~ Description for spore cloud #: lang/json/MONSTER_from_json.py @@ -62023,7 +64711,9 @@ msgstr "Uma massa de esporos do tamanho de um punho fechado, flutuando no ar." #: lang/json/MONSTER_from_json.py msgid "Beagle Mini-Tank UGV" -msgstr "Mini-tanque Beagle UGV" +msgid_plural "Beagle Mini-Tank UGVs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Beagle Mini-Tank UGV #: lang/json/MONSTER_from_json.py @@ -62035,7 +64725,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "thing" -msgstr "coisa" +msgid_plural "things" +msgstr[0] "" +msgstr[1] "" #. ~ Description for thing #: lang/json/MONSTER_from_json.py @@ -62048,7 +64740,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "tripod" -msgstr "" +msgid_plural "tripods" +msgstr[0] "" +msgstr[1] "" #. ~ Description for tripod #: lang/json/MONSTER_from_json.py @@ -62062,7 +64756,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "milspec searchlight" -msgstr "holofote milspec" +msgid_plural "milspec searchlights" +msgstr[0] "" +msgstr[1] "" #. ~ Description for milspec searchlight #: lang/json/MONSTER_from_json.py @@ -62079,7 +64775,7 @@ msgid_plural "twisted bodies" msgstr[0] "" msgstr[1] "" -#. ~ Description for twisted body +#. ~ Description for {'str': 'twisted body', 'str_pl': 'twisted bodies'} #: lang/json/MONSTER_from_json.py msgid "" "A human body, but with its limbs, neck, and hair impossibly twisted. It " @@ -62095,7 +64791,7 @@ msgid_plural "vortexes" msgstr[0] "" msgstr[1] "" -#. ~ Description for vortex +#. ~ Description for {'str': 'vortex', 'str_pl': 'vortexes'} #: lang/json/MONSTER_from_json.py msgid "" "A twisting spot in the air, with some kind of morphing mass at its center." @@ -62105,7 +64801,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant worm" -msgstr "verme gigante" +msgid_plural "giant worms" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant worm #: lang/json/MONSTER_from_json.py @@ -62120,7 +64818,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "yugg" -msgstr "yugg" +msgid_plural "yuggs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for yugg #: lang/json/MONSTER_from_json.py @@ -62141,7 +64841,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "grim howler" -msgstr "uivador sombrio" +msgid_plural "grim howlers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for grim howler #: lang/json/MONSTER_from_json.py @@ -62154,7 +64856,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombear" -msgstr "zumbir" +msgid_plural "zombears" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombear #: lang/json/MONSTER_from_json.py @@ -62167,7 +64871,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/snippet_from_json.py msgid "zombie" -msgstr "zumbi" +msgid_plural "zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie #: lang/json/MONSTER_from_json.py @@ -62176,9 +64882,25 @@ msgid "" "black eyes." msgstr "" +#: lang/json/MONSTER_from_json.py +msgid "wretched puker" +msgid_plural "wretched pukers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for wretched puker +#: lang/json/MONSTER_from_json.py +msgid "" +"A degenerate corpse, shambling as it walks. Several junks and waste " +"materials have unified into its skin and wounds around it reeks in black " +"goo." +msgstr "" + #: lang/json/MONSTER_from_json.py msgid "acidic zombie" -msgstr "zumbi ácido" +msgid_plural "acidic zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for acidic zombie #: lang/json/MONSTER_from_json.py @@ -62192,7 +64914,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "slavering biter" -msgstr "mordidas de escravidão" +msgid_plural "slavering biters" +msgstr[0] "" +msgstr[1] "" #. ~ Description for slavering biter #: lang/json/MONSTER_from_json.py @@ -62205,7 +64929,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "brainless zombie" -msgstr "" +msgid_plural "brainless zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for brainless zombie #: lang/json/MONSTER_from_json.py @@ -62218,7 +64944,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie brute" -msgstr "zumbi cru" +msgid_plural "zombie brutes" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie brute #: lang/json/MONSTER_from_json.py @@ -62230,7 +64958,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie wrestler" -msgstr "lutador de zumbi" +msgid_plural "zombie wrestlers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie wrestler #: lang/json/MONSTER_from_json.py @@ -62243,7 +64973,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie nightstalker" -msgstr "zumbi nightstalker" +msgid_plural "zombie nightstalkers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie nightstalker #: lang/json/MONSTER_from_json.py @@ -62256,7 +64988,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shocker brute" -msgstr "brutamontes" +msgid_plural "shocker brutes" +msgstr[0] "" +msgstr[1] "" #. ~ Description for shocker brute #: lang/json/MONSTER_from_json.py @@ -62271,7 +65005,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "incandescent husk" -msgstr "lembre-se incandescente" +msgid_plural "incandescent husks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for incandescent husk #: lang/json/MONSTER_from_json.py @@ -62289,7 +65025,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie cop" -msgstr "policial zumbi" +msgid_plural "zombie cops" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie cop #: lang/json/MONSTER_from_json.py @@ -62301,7 +65039,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "corrosive zombie" -msgstr "zumbi corrosivo" +msgid_plural "corrosive zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for corrosive zombie #: lang/json/MONSTER_from_json.py @@ -62320,7 +65060,9 @@ msgstr "O zumbi corrosivo cospe um globo de ácido!" #: lang/json/MONSTER_from_json.py msgid "crawling zombie" -msgstr "rastejando zumbi" +msgid_plural "crawling zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for crawling zombie #: lang/json/MONSTER_from_json.py @@ -62333,28 +65075,26 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie dancer" -msgstr "dançarino zumbi" +msgid_plural "zombie dancers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie dancer #: lang/json/MONSTER_from_json.py msgid "" -"The foulest stench is in the air, \n" -"The funk of forty thousand years, \n" -"And grisly ghouls from every tomb, \n" +"The foulest stench is in the air,\n" +"The funk of forty thousand years,\n" +"And grisly ghouls from every tomb,\n" "Are closing in to seal your doom!\n" "\n" "The dancer doesn't even notice you, it seems like something nearby is controlling it." msgstr "" -" O fedor mais horrível está no ar, \n" -" O funk de quarenta mil anos, \n" -" Esarcásticos carniçais de todos os túmulos, \n" -" Estão se aproximandoparaselar sua desgraça! \n" -" \n" -" A dançarina nem percebe você, parecealgopróximo está controlando isso.\n" #: lang/json/MONSTER_from_json.py msgid "zombie dog" -msgstr "cão zumbi" +msgid_plural "zombie dogs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie dog #: lang/json/MONSTER_from_json.py @@ -62367,7 +65107,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "listener zombie" -msgstr "" +msgid_plural "listener zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for listener zombie #: lang/json/MONSTER_from_json.py @@ -62380,7 +65122,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shocker zombie" -msgstr "zumbi chocante" +msgid_plural "shocker zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for shocker zombie #: lang/json/MONSTER_from_json.py @@ -62390,7 +65134,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fat zombie" -msgstr "zumbi gordo" +msgid_plural "fat zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fat zombie #: lang/json/MONSTER_from_json.py @@ -62403,7 +65149,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fiend" -msgstr "demônio" +msgid_plural "fiends" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fiend #: lang/json/MONSTER_from_json.py @@ -62416,7 +65164,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "firefighter zombie" -msgstr "zumbi bombeiro" +msgid_plural "firefighter zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for firefighter zombie #: lang/json/MONSTER_from_json.py @@ -62430,7 +65180,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal zombie" -msgstr "zumbi fúngico" +msgid_plural "fungal zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fungal zombie #: lang/json/MONSTER_from_json.py @@ -62443,7 +65195,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bloated zombie" -msgstr "zumbi inchado" +msgid_plural "bloated zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for bloated zombie #: lang/json/MONSTER_from_json.py @@ -62458,9 +65212,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gangrenous flesh" -msgstr "" +msgid_plural "gangrenous flesh" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for gangrenous flesh +#. ~ Description for {'str': 'gangrenous flesh', 'str_pl': 'gangrenous flesh'} #: lang/json/MONSTER_from_json.py msgid "" "Immobile from grievous wounds, its gray skin has bloated to near rupture " @@ -62470,7 +65226,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gangrenous crawler" -msgstr "" +msgid_plural "gangrenous crawlers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for gangrenous crawler #: lang/json/MONSTER_from_json.py @@ -62481,7 +65239,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gangrenous impaler" -msgstr "" +msgid_plural "gangrenous impalers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for gangrenous impaler #: lang/json/MONSTER_from_json.py @@ -62496,7 +65256,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "trapped tendril" -msgstr "" +msgid_plural "trapped tendrils" +msgstr[0] "" +msgstr[1] "" #. ~ Description for trapped tendril #: lang/json/MONSTER_from_json.py @@ -62511,7 +65273,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "flesh wall" -msgstr "" +msgid_plural "flesh walls" +msgstr[0] "" +msgstr[1] "" #. ~ Description for flesh wall #: lang/json/MONSTER_from_json.py @@ -62522,7 +65286,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bloated fungal zombie" -msgstr "" +msgid_plural "bloated fungal zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for bloated fungal zombie #: lang/json/MONSTER_from_json.py @@ -62534,7 +65300,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "grabber zombie" -msgstr "zumbi agarrador" +msgid_plural "grabber zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for grabber zombie #: lang/json/MONSTER_from_json.py @@ -62548,7 +65316,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "grappler zombie" -msgstr "zumbi de grappler" +msgid_plural "grappler zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for grappler zombie #: lang/json/MONSTER_from_json.py @@ -62563,7 +65333,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hazmat zombie" -msgstr "zumbi hazmat" +msgid_plural "hazmat zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for hazmat zombie #: lang/json/MONSTER_from_json.py @@ -62576,7 +65348,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie hollow" -msgstr "cavidade de zumbi" +msgid_plural "zombie hollows" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie hollow #: lang/json/MONSTER_from_json.py @@ -62596,7 +65370,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie hulk" -msgstr "Hulk zumbi" +msgid_plural "zombie hulks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie hulk #: lang/json/MONSTER_from_json.py @@ -62609,7 +65385,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "feral hunter" -msgstr "caçador feroz" +msgid_plural "feral hunters" +msgstr[0] "" +msgstr[1] "" #. ~ Description for feral hunter #: lang/json/MONSTER_from_json.py @@ -62622,23 +65400,24 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Thriller" -msgstr "Suspense" +msgid_plural "Thrillers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Thriller #: lang/json/MONSTER_from_json.py msgid "" -"And though you fight to stay alive, \n" -"Your body starts to shiver. \n" -"For no mere mortal can resist, \n" +"And though you fight to stay alive,\n" +"Your body starts to shiver.\n" +"For no mere mortal can resist,\n" "The evil of the thriller." msgstr "" -" E apesar de lutar para se manter vivo, o seu corpo começa a tremer. \n" -" Porque nenhum mero mortal pode resistir, \n" -" O mal do thriller.\n" #: lang/json/MONSTER_from_json.py msgid "zombie snapper" -msgstr "caranga zumbi" +msgid_plural "zombie snappers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie snapper #: lang/json/MONSTER_from_json.py @@ -62651,7 +65430,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie master" -msgstr "mestre zumbi" +msgid_plural "zombie masters" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie master #: lang/json/MONSTER_from_json.py @@ -62671,7 +65452,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie necromancer" -msgstr "necromante zumbi" +msgid_plural "zombie necromancers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie necromancer #: lang/json/MONSTER_from_json.py @@ -62688,7 +65471,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "festering boar" -msgstr "javali purulento" +msgid_plural "festering boars" +msgstr[0] "" +msgstr[1] "" #. ~ Description for festering boar #: lang/json/MONSTER_from_json.py @@ -62701,7 +65486,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "feral predator" -msgstr "predador feroz" +msgid_plural "feral predators" +msgstr[0] "" +msgstr[1] "" #. ~ Description for feral predator #: lang/json/MONSTER_from_json.py @@ -62717,7 +65504,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "decayed zombie" -msgstr "zumbi decadente" +msgid_plural "decayed zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for decayed zombie #: lang/json/MONSTER_from_json.py @@ -62730,7 +65519,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "feral runner" -msgstr "corredor feroz" +msgid_plural "feral runners" +msgstr[0] "" +msgstr[1] "" #. ~ Description for feral runner #: lang/json/MONSTER_from_json.py @@ -62743,7 +65534,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "scorched zombie" -msgstr "zumbi queimado" +msgid_plural "scorched zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for scorched zombie #: lang/json/MONSTER_from_json.py @@ -62756,7 +65549,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "screecher zombie" -msgstr "zombi screecher" +msgid_plural "screecher zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for screecher zombie #: lang/json/MONSTER_from_json.py @@ -62769,7 +65564,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shady zombie" -msgstr "zumbi obscuro" +msgid_plural "shady zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for shady zombie #: lang/json/MONSTER_from_json.py @@ -62784,7 +65581,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shrieker zombie" -msgstr "zombie do grito" +msgid_plural "shrieker zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for shrieker zombie #: lang/json/MONSTER_from_json.py @@ -62797,7 +65596,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "skull zombie" -msgstr "" +msgid_plural "skull zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for skull zombie #: lang/json/MONSTER_from_json.py @@ -62811,7 +65612,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "smoker zombie" -msgstr "fumante zumbi" +msgid_plural "smoker zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for smoker zombie #: lang/json/MONSTER_from_json.py @@ -62824,7 +65627,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pollinator zombie" -msgstr "" +msgid_plural "pollinator zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for pollinator zombie #: lang/json/MONSTER_from_json.py @@ -62835,7 +65640,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "spitter zombie" -msgstr "zumbi cuspidor" +msgid_plural "spitter zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for spitter zombie #: lang/json/MONSTER_from_json.py @@ -62850,7 +65657,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "survivor zombie" -msgstr "sobrevivente zumbi" +msgid_plural "survivor zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for survivor zombie #: lang/json/MONSTER_from_json.py @@ -62864,7 +65673,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "swimmer zombie" -msgstr "zumbi nadador" +msgid_plural "swimmer zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for swimmer zombie #: lang/json/MONSTER_from_json.py @@ -62877,7 +65688,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie technician" -msgstr "técnico de zumbis" +msgid_plural "zombie technicians" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie technician #: lang/json/MONSTER_from_json.py @@ -62891,7 +65704,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "thorny shambler" -msgstr "" +msgid_plural "thorny shamblers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for thorny shambler #: lang/json/MONSTER_from_json.py @@ -62904,7 +65719,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "tough zombie" -msgstr "zumbi resistente" +msgid_plural "tough zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for tough zombie #: lang/json/MONSTER_from_json.py @@ -62917,7 +65734,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombeaver" -msgstr "" +msgid_plural "zombeavers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombeaver #: lang/json/MONSTER_from_json.py @@ -62931,7 +65750,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "antlered horror" -msgstr "horror antler" +msgid_plural "antlered horrors" +msgstr[0] "" +msgstr[1] "" #. ~ Description for antlered horror #: lang/json/MONSTER_from_json.py @@ -62948,7 +65769,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "decayed pouncer" -msgstr "pouncer decadente" +msgid_plural "decayed pouncers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for decayed pouncer #: lang/json/MONSTER_from_json.py @@ -62961,7 +65784,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "skeletal juggernaut" -msgstr "Juggernaut Esquelético" +msgid_plural "skeletal juggernauts" +msgstr[0] "" +msgstr[1] "" #. ~ Description for skeletal juggernaut #: lang/json/MONSTER_from_json.py @@ -62978,7 +65803,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal juggernaut" -msgstr "" +msgid_plural "fungal juggernauts" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fungal juggernaut #: lang/json/MONSTER_from_json.py @@ -62990,7 +65817,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "ancient red dragon" -msgstr "" +msgid_plural "ancient red dragons" +msgstr[0] "" +msgstr[1] "" #. ~ Description for ancient red dragon #: lang/json/MONSTER_from_json.py @@ -63002,7 +65831,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "experimental mutant" -msgstr "" +msgid_plural "experimental mutants" +msgstr[0] "" +msgstr[1] "" #. ~ Description for experimental mutant #: lang/json/MONSTER_from_json.py @@ -63015,7 +65846,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "evolved mutant" -msgstr "" +msgid_plural "evolved mutants" +msgstr[0] "" +msgstr[1] "" #. ~ Description for evolved mutant #: lang/json/MONSTER_from_json.py @@ -63028,7 +65861,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "centipede" -msgstr "centopéia" +msgid_plural "centipedes" +msgstr[0] "" +msgstr[1] "" #. ~ Description for centipede #: lang/json/MONSTER_from_json.py @@ -63040,7 +65875,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "deer mouse" -msgstr "rato veado" +msgid_plural "deer mouses" +msgstr[0] "" +msgstr[1] "" #. ~ Description for deer mouse #: lang/json/MONSTER_from_json.py @@ -63058,7 +65895,7 @@ msgid_plural "dragonflies" msgstr[0] "" msgstr[1] "" -#. ~ Description for dragonfly +#. ~ Description for {'str': 'dragonfly', 'str_pl': 'dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A thin-bodied insectoid predator with a large wingspan and big compound " @@ -63069,7 +65906,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bull frog" -msgstr "sapo de touro" +msgid_plural "bull frogs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for bull frog #: lang/json/MONSTER_from_json.py @@ -63082,7 +65921,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "mosquito" -msgstr "mosquito" +msgid_plural "mosquitos" +msgstr[0] "" +msgstr[1] "" #. ~ Description for mosquito #: lang/json/MONSTER_from_json.py @@ -63095,7 +65936,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shrew" -msgstr "musaranho" +msgid_plural "shrews" +msgstr[0] "" +msgstr[1] "" #. ~ Description for shrew #: lang/json/MONSTER_from_json.py @@ -63108,7 +65951,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "slug" -msgstr "lesma" +msgid_plural "slugs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for slug #: lang/json/MONSTER_from_json.py @@ -63123,7 +65968,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "jumping spider" -msgstr "aranha saltadora" +msgid_plural "jumping spiders" +msgstr[0] "" +msgstr[1] "" #. ~ Description for jumping spider #: lang/json/MONSTER_from_json.py @@ -63138,7 +65985,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "trapdoor spider" -msgstr "aranha alçapão" +msgid_plural "trapdoor spiders" +msgstr[0] "" +msgstr[1] "" #. ~ Description for trapdoor spider #: lang/json/MONSTER_from_json.py @@ -63151,7 +66000,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "black widow spider" -msgstr "Aranha viúva negra" +msgid_plural "black widow spiders" +msgstr[0] "" +msgstr[1] "" #. ~ Description for black widow spider #: lang/json/MONSTER_from_json.py @@ -63164,7 +66015,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "wolf spider" -msgstr "Aranha lobo" +msgid_plural "wolf spiders" +msgstr[0] "" +msgstr[1] "" #. ~ Description for wolf spider #: lang/json/MONSTER_from_json.py @@ -63177,7 +66030,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "wasp" -msgstr "vespa" +msgid_plural "wasps" +msgstr[0] "" +msgstr[1] "" #. ~ Description for wasp #: lang/json/MONSTER_from_json.py @@ -63190,7 +66045,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant frog" -msgstr "sapo gigante" +msgid_plural "giant frogs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant frog #: lang/json/MONSTER_from_json.py @@ -63203,7 +66060,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "sewer gator" -msgstr "gator de esgoto" +msgid_plural "sewer gators" +msgstr[0] "" +msgstr[1] "" #. ~ Description for sewer gator #: lang/json/MONSTER_from_json.py @@ -63220,7 +66079,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rattlesnake" -msgstr "cascavel" +msgid_plural "rattlesnakes" +msgstr[0] "" +msgstr[1] "" #. ~ Description for rattlesnake #: lang/json/MONSTER_from_json.py @@ -63233,7 +66094,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant rattlesnake" -msgstr "cascavel gigante" +msgid_plural "giant rattlesnakes" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant rattlesnake #: lang/json/MONSTER_from_json.py @@ -63249,7 +66112,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "sewer snake" -msgstr "cobra do esgoto" +msgid_plural "sewer snakes" +msgstr[0] "" +msgstr[1] "" #. ~ Description for sewer snake #: lang/json/MONSTER_from_json.py @@ -63264,7 +66129,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "biollante sprig" -msgstr "raminho bicolor" +msgid_plural "biollante sprigs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for biollante sprig #: lang/json/MONSTER_from_json.py @@ -63274,7 +66141,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "biollante sprout" -msgstr "broto bicolor" +msgid_plural "biollante sprouts" +msgstr[0] "" +msgstr[1] "" #. ~ Description for biollante sprout #: lang/json/MONSTER_from_json.py @@ -63287,7 +66156,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "biollante" -msgstr "Biollante" +msgid_plural "biollantes" +msgstr[0] "" +msgstr[1] "" #. ~ Description for biollante #: lang/json/MONSTER_from_json.py @@ -63300,7 +66171,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "creeper hub" -msgstr "hub trepadeira" +msgid_plural "creeper hubs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for creeper hub #: lang/json/MONSTER_from_json.py @@ -63313,7 +66186,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "creeper vine" -msgstr "trepadeira está chegando" +msgid_plural "creeper vines" +msgstr[0] "" +msgstr[1] "" #. ~ Description for creeper vine #: lang/json/MONSTER_from_json.py @@ -63324,7 +66199,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "triffid sprig" -msgstr "raminho de triffid" +msgid_plural "triffid sprigs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for triffid sprig #: lang/json/MONSTER_from_json.py @@ -63337,7 +66214,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "triffid sprout" -msgstr "broto triffid" +msgid_plural "triffid sprouts" +msgstr[0] "" +msgstr[1] "" #. ~ Description for triffid sprout #: lang/json/MONSTER_from_json.py @@ -63350,7 +66229,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "triffid" -msgstr "triffid" +msgid_plural "triffids" +msgstr[0] "" +msgstr[1] "" #. ~ Description for triffid #: lang/json/MONSTER_from_json.py @@ -63365,7 +66246,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "triffid queen" -msgstr "rainha triffid" +msgid_plural "triffid queens" +msgstr[0] "" +msgstr[1] "" #. ~ Description for triffid queen #: lang/json/MONSTER_from_json.py @@ -63380,7 +66263,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "vine beast" -msgstr "vem besta" +msgid_plural "vine beasts" +msgstr[0] "" +msgstr[1] "" #. ~ Description for vine beast #: lang/json/MONSTER_from_json.py @@ -63395,7 +66280,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal fighter" -msgstr "lutador fúngico" +msgid_plural "fungal fighters" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fungal fighter #: lang/json/MONSTER_from_json.py @@ -63410,7 +66297,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/overmap_terrain_from_json.py msgid "triffid heart" -msgstr "coração triffid" +msgid_plural "triffid hearts" +msgstr[0] "" +msgstr[1] "" #. ~ Description for triffid heart #: lang/json/MONSTER_from_json.py @@ -63423,7 +66312,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "improvised MP5 turret" -msgstr "" +msgid_plural "improvised MP5 turrets" +msgstr[0] "" +msgstr[1] "" #. ~ Description for improvised MP5 turret #: lang/json/MONSTER_from_json.py @@ -63435,7 +66326,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "laser turret" -msgstr "torre laser" +msgid_plural "laser turrets" +msgstr[0] "" +msgstr[1] "" #. ~ Description for laser turret #: lang/json/MONSTER_from_json.py @@ -63450,7 +66343,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "M2HB autonomous CROWS II" -msgstr "" +msgid_plural "M2HB autonomous CROWS IIs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for M2HB autonomous CROWS II #: lang/json/MONSTER_from_json.py @@ -63464,7 +66359,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "M249 autonomous CROWS II" -msgstr "" +msgid_plural "M249 autonomous CROWS IIs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for M249 autonomous CROWS II #: lang/json/MONSTER_from_json.py @@ -63477,7 +66374,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "M240 autonomous CROWS II" -msgstr "" +msgid_plural "M240 autonomous CROWS IIs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for M240 autonomous CROWS II #: lang/json/MONSTER_from_json.py @@ -63490,7 +66389,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "anklebiter" -msgstr "anklebiter" +msgid_plural "anklebiters" +msgstr[0] "" +msgstr[1] "" #. ~ Description for anklebiter #: lang/json/MONSTER_from_json.py @@ -63508,7 +66409,7 @@ msgid_plural "zombie children" msgstr[0] "" msgstr[1] "" -#. ~ Description for zombie child +#. ~ Description for {'str': 'zombie child', 'str_pl': 'zombie children'} #: lang/json/MONSTER_from_json.py msgid "" "It was only a child, and little is different about it now aside from the " @@ -63538,7 +66439,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "creepy crawler" -msgstr "rastreador assustador" +msgid_plural "creepy crawlers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for creepy crawler #: lang/json/MONSTER_from_json.py @@ -63552,7 +66455,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shriekling" -msgstr "estridente" +msgid_plural "shrieklings" +msgstr[0] "" +msgstr[1] "" #. ~ Description for shriekling #: lang/json/MONSTER_from_json.py @@ -63565,7 +66470,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "snotgobbler" -msgstr "snotgobbler" +msgid_plural "snotgobblers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for snotgobbler #: lang/json/MONSTER_from_json.py @@ -63578,7 +66485,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "sproglodyte" -msgstr "sproglodyte" +msgid_plural "sproglodytes" +msgstr[0] "" +msgstr[1] "" #. ~ Description for sproglodyte #: lang/json/MONSTER_from_json.py @@ -63591,7 +66500,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "howling waif" -msgstr "uivando uif" +msgid_plural "howling waifs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for howling waif #: lang/json/MONSTER_from_json.py @@ -63609,7 +66520,7 @@ msgid_plural "fungal children" msgstr[0] "" msgstr[1] "" -#. ~ Description for fungal child +#. ~ Description for {'str': 'fungal child', 'str_pl': 'fungal children'} #: lang/json/MONSTER_from_json.py msgid "" "It is hard to recognize a human child in this creature. Disgusting-looking " @@ -63622,7 +66533,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie grenadier" -msgstr "granadeiro zumbi" +msgid_plural "zombie grenadiers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie grenadier #: lang/json/MONSTER_from_json.py @@ -63635,7 +66548,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie elite grenadier" -msgstr "granadeiro de elite zumbi" +msgid_plural "zombie elite grenadiers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie elite grenadier #: lang/json/MONSTER_from_json.py @@ -63649,7 +66564,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie scientist" -msgstr "cientista zumbi" +msgid_plural "zombie scientists" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie scientist #: lang/json/MONSTER_from_json.py @@ -63662,7 +66579,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie security guard" -msgstr "" +msgid_plural "zombie security guards" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie security guard #: lang/json/MONSTER_from_json.py @@ -63675,7 +66594,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "prisoner zombie" -msgstr "" +msgid_plural "prisoner zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for prisoner zombie #: lang/json/MONSTER_from_json.py @@ -63687,7 +66608,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie soldier" -msgstr "soldado zumbi" +msgid_plural "zombie soldiers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie soldier #: lang/json/MONSTER_from_json.py @@ -63700,7 +66623,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "black-ops zombie" -msgstr "" +msgid_plural "black-ops zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for black-ops zombie #: lang/json/MONSTER_from_json.py @@ -63712,7 +66637,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hunter-killer zombie" -msgstr "" +msgid_plural "hunter-killer zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for hunter-killer zombie #: lang/json/MONSTER_from_json.py @@ -63724,7 +66651,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "acid-sniper zombie" -msgstr "" +msgid_plural "acid-sniper zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for acid-sniper zombie #: lang/json/MONSTER_from_json.py @@ -63737,7 +66666,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "acid-support zombie" -msgstr "" +msgid_plural "acid-support zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for acid-support zombie #: lang/json/MONSTER_from_json.py @@ -63750,7 +66681,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "kevlar zombie" -msgstr "" +msgid_plural "kevlar zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for kevlar zombie #: lang/json/MONSTER_from_json.py @@ -63765,7 +66698,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "kevlar hulk" -msgstr "" +msgid_plural "kevlar hulks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for kevlar hulk #: lang/json/MONSTER_from_json.py @@ -63779,7 +66714,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie military pilot" -msgstr "piloto militar zumbi" +msgid_plural "zombie military pilots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie military pilot #: lang/json/MONSTER_from_json.py @@ -63792,7 +66729,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie burner" -msgstr "queimador de zumbis" +msgid_plural "zombie burners" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie burner #: lang/json/MONSTER_from_json.py @@ -63811,7 +66750,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "armored zombie" -msgstr "zumbi blindado" +msgid_plural "armored zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for armored zombie #: lang/json/MONSTER_from_json.py @@ -63824,7 +66765,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zombie bio-operator" -msgstr "bio-operador zumbi" +msgid_plural "zombie bio-operators" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zombie bio-operator #: lang/json/MONSTER_from_json.py @@ -63837,7 +66780,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "headless zombie" -msgstr "" +msgid_plural "headless zombies" +msgstr[0] "" +msgstr[1] "" #. ~ Description for headless zombie #: lang/json/MONSTER_from_json.py @@ -63849,7 +66794,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "headless horror" -msgstr "" +msgid_plural "headless horrors" +msgstr[0] "" +msgstr[1] "" #. ~ Description for headless horror #: lang/json/MONSTER_from_json.py @@ -63862,9 +66809,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic fox" -msgstr "velha animatronic fox" +msgid_plural "old animatronic foxes" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for old animatronic fox +#. ~ Description for {'str': 'old animatronic fox', 'str_pl': 'old animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -63877,9 +66827,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic fox" -msgstr "nova raposa animatrônica" +msgid_plural "new animatronic foxes" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for new animatronic fox +#. ~ Description for {'str': 'new animatronic fox', 'str_pl': 'new animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -63892,9 +66845,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "wrecked animatronic fox" -msgstr "naufragou animatronic fox" +msgid_plural "wrecked animatronic foxes" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for wrecked animatronic fox +#. ~ Description for {'str': 'wrecked animatronic fox', 'str_pl': 'wrecked +#. animatronic foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A wrecked animatronic fox, laying in a pile on the ground. Its teeth and " @@ -63907,9 +66863,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic bunny" -msgstr "novo coelho animatrônico" +msgid_plural "new animatronic bunnies" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for new animatronic bunny +#. ~ Description for {'str': 'new animatronic bunny', 'str_pl': 'new +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its actually quite " @@ -63923,9 +66882,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic bunny" -msgstr "velho coelho animatrônico" +msgid_plural "old animatronic bunnies" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for old animatronic bunny +#. ~ Description for {'str': 'old animatronic bunny', 'str_pl': 'old +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its face has been torn" @@ -63938,7 +66900,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic chicken" -msgstr "galinha animatronic velha" +msgid_plural "old animatronic chickens" +msgstr[0] "" +msgstr[1] "" #. ~ Description for old animatronic chicken #: lang/json/MONSTER_from_json.py @@ -63952,7 +66916,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic chicken" -msgstr "Frango novo animatrônico" +msgid_plural "new animatronic chickens" +msgstr[0] "" +msgstr[1] "" #. ~ Description for new animatronic chicken #: lang/json/MONSTER_from_json.py @@ -63969,7 +66935,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic bear" -msgstr "velho urso animatrônico" +msgid_plural "old animatronic bears" +msgstr[0] "" +msgstr[1] "" #. ~ Description for old animatronic bear #: lang/json/MONSTER_from_json.py @@ -63984,7 +66952,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic bear" -msgstr "novo urso animatrônico" +msgid_plural "new animatronic bears" +msgstr[0] "" +msgstr[1] "" #. ~ Description for new animatronic bear #: lang/json/MONSTER_from_json.py @@ -63999,7 +66969,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic bat" -msgstr "morcego animatrônico" +msgid_plural "animatronic bats" +msgstr[0] "" +msgstr[1] "" #. ~ Description for animatronic bat #: lang/json/MONSTER_from_json.py @@ -64014,7 +66986,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic beaver" -msgstr "castor animatrônico" +msgid_plural "animatronic beavers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for animatronic beaver #: lang/json/MONSTER_from_json.py @@ -64029,7 +67003,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic cat" -msgstr "gato animatrônico" +msgid_plural "animatronic cats" +msgstr[0] "" +msgstr[1] "" #. ~ Description for animatronic cat #: lang/json/MONSTER_from_json.py @@ -64042,7 +67018,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic chipmunk" -msgstr "esquilo animatrônico" +msgid_plural "animatronic chipmunks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for animatronic chipmunk #: lang/json/MONSTER_from_json.py @@ -64057,7 +67035,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic cow" -msgstr "vaca animatrônica" +msgid_plural "animatronic cows" +msgstr[0] "" +msgstr[1] "" #. ~ Description for animatronic cow #: lang/json/MONSTER_from_json.py @@ -64072,7 +67052,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic coyote" -msgstr "coiote animatrônico" +msgid_plural "animatronic coyotes" +msgstr[0] "" +msgstr[1] "" #. ~ Description for animatronic coyote #: lang/json/MONSTER_from_json.py @@ -64087,7 +67069,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic deer" -msgstr "cervo animatrônico" +msgid_plural "animatronic deers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for animatronic deer #: lang/json/MONSTER_from_json.py @@ -64100,7 +67084,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic horse" -msgstr "cavalo animatrônico" +msgid_plural "animatronic horses" +msgstr[0] "" +msgstr[1] "" #. ~ Description for animatronic horse #: lang/json/MONSTER_from_json.py @@ -64113,7 +67099,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic pig" -msgstr "porco animatrônico" +msgid_plural "animatronic pigs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for animatronic pig #: lang/json/MONSTER_from_json.py @@ -64131,7 +67119,8 @@ msgid_plural "animatronic sheep" msgstr[0] "" msgstr[1] "" -#. ~ Description for animatronic sheep +#. ~ Description for {'str': 'animatronic sheep', 'str_pl': 'animatronic +#. sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic sheep, nearly twice your size. Its wool is mangy and " @@ -64143,7 +67132,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic squirrel" -msgstr "esquilo animatrônico" +msgid_plural "animatronic squirrels" +msgstr[0] "" +msgstr[1] "" #. ~ Description for animatronic squirrel #: lang/json/MONSTER_from_json.py @@ -64158,9 +67149,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic child" -msgstr "criança animatrônica" +msgid_plural "animatronic children" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for animatronic child +#. ~ Description for {'str': 'animatronic child', 'str_pl': 'animatronic +#. children'} #: lang/json/MONSTER_from_json.py msgid "" "An animatronic child. It looks like it's annoying as hell. Though it is a " @@ -64171,7 +67165,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "marionette" -msgstr "fantoches" +msgid_plural "marionettes" +msgstr[0] "" +msgstr[1] "" #. ~ Description for marionette #: lang/json/MONSTER_from_json.py @@ -64183,9 +67179,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic wolf" -msgstr "lobo animatrônico" +msgid_plural "animatronic wolves" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for animatronic wolf +#. ~ Description for {'str': 'animatronic wolf', 'str_pl': 'animatronic +#. wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic wolf, nearly twice your size. If the animal " @@ -64198,7 +67197,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Slasher Necromorph" -msgstr "" +msgid_plural "Slasher Necromorphs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Slasher Necromorph #: lang/json/MONSTER_from_json.py @@ -64210,7 +67211,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Weak Slasher Necromorph" -msgstr "" +msgid_plural "Weak Slasher Necromorphs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Weak Slasher Necromorph #: lang/json/MONSTER_from_json.py @@ -64223,7 +67226,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Waster Necromorph" -msgstr "" +msgid_plural "Waster Necromorphs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Waster Necromorph #: lang/json/MONSTER_from_json.py @@ -64235,7 +67240,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Leaper Necromorph" -msgstr "" +msgid_plural "Leaper Necromorphs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Leaper Necromorph #: lang/json/MONSTER_from_json.py @@ -64248,7 +67255,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Twitcher Necromorph" -msgstr "" +msgid_plural "Twitcher Necromorphs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Twitcher Necromorph #: lang/json/MONSTER_from_json.py @@ -64261,7 +67270,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Pack Necromorph" -msgstr "" +msgid_plural "Pack Necromorphs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Pack Necromorph #: lang/json/MONSTER_from_json.py @@ -64274,7 +67285,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Puker Necromorph" -msgstr "" +msgid_plural "Puker Necromorphs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Puker Necromorph #: lang/json/MONSTER_from_json.py @@ -64288,7 +67301,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Animate Arm" -msgstr "" +msgid_plural "Animate Arms" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Animate Arm #: lang/json/MONSTER_from_json.py @@ -64299,7 +67314,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Dullahan" -msgstr "" +msgid_plural "Dullahans" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Dullahan #: lang/json/MONSTER_from_json.py @@ -64321,7 +67338,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "mr skeltal" -msgstr "senhor escândalo" +msgid_plural "mr skeltals" +msgstr[0] "" +msgstr[1] "" #. ~ Description for mr skeltal #: lang/json/MONSTER_from_json.py @@ -64336,9 +67355,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "minion of skeltal" -msgstr "servo de skeltal" +msgid_plural "minions of skeltal" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for minion of skeltal +#. ~ Description for {'str': 'minion of skeltal', 'str_pl': 'minions of +#. skeltal'} #: lang/json/MONSTER_from_json.py msgid "A lesser skeleton, raised by the forlorn dooting of a trumpet." msgstr "" @@ -64346,7 +67368,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Smoky bear" -msgstr "Urso esfumaçado" +msgid_plural "Smoky bears" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Smoky bear #: lang/json/MONSTER_from_json.py @@ -64359,9 +67383,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Compsognathus" -msgstr "Compsognathus" +msgid_plural "Compsognathus" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for Compsognathus +#. ~ Description for {'str': 'Compsognathus', 'str_pl': 'Compsognathus'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal dinosaur about the size of a turkey. Its teeth and claws are " @@ -64372,9 +67398,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Gallimimus" -msgstr "Gallimimus" +msgid_plural "Gallimimus" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for Gallimimus +#. ~ Description for {'str': 'Gallimimus', 'str_pl': 'Gallimimus'} #: lang/json/MONSTER_from_json.py msgid "" "A feathered bipedal dinosaur, standing as tall as a human. It looks " @@ -64385,9 +67413,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Titanis" -msgstr "Titans" +msgid_plural "Titanis" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for Titanis +#. ~ Description for {'str': 'Titanis', 'str_pl': 'Titanis'} #: lang/json/MONSTER_from_json.py msgid "" "It looks like a dodo, only much bigger, with longer, muscular legs and a " @@ -64398,9 +67428,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Spinosaurus" -msgstr "Espinossauro" +msgid_plural "Spinosaurus" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for Spinosaurus +#. ~ Description for {'str': 'Spinosaurus', 'str_pl': 'Spinosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge dinosaur about the size of a small house, with a ferocious crocodile-" @@ -64411,18 +67443,23 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Tyrannosaurus rex" -msgstr "tiranossauro Rex" +msgid_plural "Tyrannosaurus rex" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for Tyrannosaurus rex +#. ~ Description for {'str': 'Tyrannosaurus rex', 'str_pl': 'Tyrannosaurus +#. rex'} #: lang/json/MONSTER_from_json.py msgid "Look at those TEETH!" msgstr "Olhe para aqueles DENTES!" #: lang/json/MONSTER_from_json.py msgid "Triceratops" -msgstr "Triceratops" +msgid_plural "Triceratops" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for Triceratops +#. ~ Description for {'str': 'Triceratops', 'str_pl': 'Triceratops'} #: lang/json/MONSTER_from_json.py msgid "" "A massive rhino-like dinosaur with a bony crest from which three large horns" @@ -64433,9 +67470,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Stegosaurus" -msgstr "estegossauro" +msgid_plural "Stegosaurus" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for Stegosaurus +#. ~ Description for {'str': 'Stegosaurus', 'str_pl': 'Stegosaurus'} #: lang/json/MONSTER_from_json.py msgid "A large quadruped dinosaur with plates on its back, and a spiked tail." msgstr "" @@ -64443,9 +67482,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Ankylosaurus" -msgstr "Anquilossauro" +msgid_plural "Ankylosaurus" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for Ankylosaurus +#. ~ Description for {'str': 'Ankylosaurus', 'str_pl': 'Ankylosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "This dinosaur looks like a giant prehistoric armadillo. Its tail ends in a " @@ -64456,9 +67497,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Allosaurus" -msgstr "Allosaurus" +msgid_plural "Allosaurus" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for Allosaurus +#. ~ Description for {'str': 'Allosaurus', 'str_pl': 'Allosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A large predatory bipedal dinosaur, with tiger-like stripes on its broad " @@ -64469,7 +67512,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Eoraptor" -msgstr "Eoraptor" +msgid_plural "Eoraptors" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Eoraptor #: lang/json/MONSTER_from_json.py @@ -64482,7 +67527,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Velociraptor" -msgstr "Velociraptor" +msgid_plural "Velociraptors" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Velociraptor #: lang/json/MONSTER_from_json.py @@ -64495,9 +67542,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Deinonychus" -msgstr "Deinonychus" +msgid_plural "Deinonychus" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for Deinonychus +#. ~ Description for {'str': 'Deinonychus', 'str_pl': 'Deinonychus'} #: lang/json/MONSTER_from_json.py msgid "" "A medium-sized bipedal dinosaur covered with feathers. At the end of each " @@ -64508,7 +67557,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Utahraptor" -msgstr "Utahraptor" +msgid_plural "Utahraptors" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Utahraptor #: lang/json/MONSTER_from_json.py @@ -64521,9 +67572,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Parasaurolophus" -msgstr "Parassaurolofo" +msgid_plural "Parasaurolophus" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for Parasaurolophus +#. ~ Description for {'str': 'Parasaurolophus', 'str_pl': 'Parasaurolophus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge mottled dinosaur with a blunt head crest. It contentedly strips " @@ -64534,7 +67587,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Dimorphodon" -msgstr "Dimorphodon" +msgid_plural "Dimorphodons" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Dimorphodon #: lang/json/MONSTER_from_json.py @@ -64543,9 +67598,11 @@ msgstr "Um pequeno réptil voador, circulando em cima à procura de presas." #: lang/json/MONSTER_from_json.py msgid "Dilophosaurus" -msgstr "Dilophosaurus" +msgid_plural "Dilophosaurus" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for Dilophosaurus +#. ~ Description for {'str': 'Dilophosaurus', 'str_pl': 'Dilophosaurus'} #: lang/json/MONSTER_from_json.py msgid "A medium dinosaur with a sticky green bile dripping from its teeth." msgstr "" @@ -64553,7 +67610,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animated blade" -msgstr "" +msgid_plural "animated blades" +msgstr[0] "" +msgstr[1] "" #. ~ Description for animated blade #: lang/json/MONSTER_from_json.py @@ -64564,7 +67623,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "demon spiderling" -msgstr "" +msgid_plural "demon spiderlings" +msgstr[0] "" +msgstr[1] "" #. ~ Description for demon spiderling #: lang/json/MONSTER_from_json.py @@ -64577,7 +67638,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "demon spider" -msgstr "" +msgid_plural "demon spiders" +msgstr[0] "" +msgstr[1] "" #. ~ Description for demon spider #: lang/json/MONSTER_from_json.py @@ -64590,7 +67653,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "demon spider queen" -msgstr "" +msgid_plural "demon spider queens" +msgstr[0] "" +msgstr[1] "" #. ~ Description for demon spider queen #: lang/json/MONSTER_from_json.py @@ -64603,7 +67668,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "black dragon wyrmling" -msgstr "" +msgid_plural "black dragon wyrmlings" +msgstr[0] "" +msgstr[1] "" #. ~ Description for black dragon wyrmling #: lang/json/MONSTER_from_json.py @@ -64615,7 +67682,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "young black dragon" -msgstr "" +msgid_plural "young black dragons" +msgstr[0] "" +msgstr[1] "" #. ~ Description for young black dragon #: lang/json/MONSTER_from_json.py @@ -64628,9 +67697,25 @@ msgid "" msgstr "" #: lang/json/MONSTER_from_json.py -msgid "owlbear" +msgid "adult black dragon" +msgid_plural "adult black dragons" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for adult black dragon +#: lang/json/MONSTER_from_json.py +msgid "" +"A black-scaled monstrosity with deep-set eye sockets glowing green with " +"evil. Its face and skull appear skeletal, and acid drips from its dagger-" +"like jaws." msgstr "" +#: lang/json/MONSTER_from_json.py +msgid "owlbear" +msgid_plural "owlbears" +msgstr[0] "" +msgstr[1] "" + #. ~ Description for owlbear #: lang/json/MONSTER_from_json.py msgid "" @@ -64643,7 +67728,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "black pudding" -msgstr "" +msgid_plural "black puddings" +msgstr[0] "" +msgstr[1] "" #. ~ Description for black pudding #: lang/json/MONSTER_from_json.py @@ -64658,28 +67745,36 @@ msgid "The black pudding burns you with acid!" msgstr "" #: lang/json/MONSTER_from_json.py -msgid "nothic" -msgstr "" +msgid "krabgek" +msgid_plural "krabgeks" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for nothic +#. ~ Description for krabgek #: lang/json/MONSTER_from_json.py msgid "" -"A baleful eye peers out from the darkness, its gleam hinting at a weird " -"intelligence and unnerving malevolence." +"A large baleful eye peers out from the darkness, its gleam hinting at a " +"weird intelligence and unnerving malevolence. The eye oozes some pinkish " +"liquid, and the weirdly humanoid figure is covered in sharp blue-black " +"triangular plates." msgstr "" -#. ~ Attack message of monster "nothic"'s spell "necrotic_gaze" +#. ~ Attack message of monster "krabgek"'s spell "necrotic_gaze" #: lang/json/MONSTER_from_json.py -msgid "The nothic gazes at %3$s!" +msgid "The krabgek gazes at %3$s!" msgstr "" #: lang/json/MONSTER_from_json.py msgid "owlbear cub" -msgstr "" +msgid_plural "owlbear cubs" +msgstr[0] "" +msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "bulette" -msgstr "" +msgid_plural "bulettes" +msgstr[0] "" +msgstr[1] "" #. ~ Description for bulette #: lang/json/MONSTER_from_json.py @@ -64693,7 +67788,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "will-o-wisp" -msgstr "" +msgid_plural "will-o-wisps" +msgstr[0] "" +msgstr[1] "" #. ~ Description for will-o-wisp #: lang/json/MONSTER_from_json.py @@ -64705,18 +67802,61 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "troll" -msgstr "" +msgid_plural "trolls" +msgstr[0] "" +msgstr[1] "" #. ~ Description for troll #: lang/json/MONSTER_from_json.py msgid "" -"Monstrous, green-skinned humanoid. Trolls are renowned for their thick hides" -" and natural regenerative ability." +"Monstrous, green-skinned humanoid. Trolls are renowned for their thick " +"hides and natural regenerative ability." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "stirge" +msgid_plural "stirges" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for stirge +#: lang/json/MONSTER_from_json.py +msgid "" +"This horrid flying creature looks like a cross between a large bat and " +"oversized mosquito." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "shrieker" +msgid_plural "shriekers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for shrieker +#: lang/json/MONSTER_from_json.py +msgid "" +"A shrieker is a human-sized mushroom that emits a piercing screech to drive " +"off creatures that disturb it." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "lemure" +msgid_plural "lemures" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lemure +#: lang/json/MONSTER_from_json.py +msgid "" +"A lemure resembles a molten mass of flesh with a vaguely humanoid head and " +"torso." msgstr "" #: lang/json/MONSTER_from_json.py msgid "automated turret" -msgstr "torre automatizada" +msgid_plural "automated turrets" +msgstr[0] "" +msgstr[1] "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "disarmed defense turret" @@ -64776,7 +67916,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "9mm turret" -msgstr "Torre de 9 mm" +msgid_plural "9mm turrets" +msgstr[0] "" +msgstr[1] "" #. ~ Description for 9mm turret #: lang/json/MONSTER_from_json.py @@ -64793,7 +67935,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shotgun turret" -msgstr "torre de espingarda" +msgid_plural "shotgun turrets" +msgstr[0] "" +msgstr[1] "" #. ~ Description for shotgun turret #: lang/json/MONSTER_from_json.py @@ -64810,7 +67954,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "riot control turret" -msgstr "torre de controle de motim" +msgid_plural "riot control turrets" +msgstr[0] "" +msgstr[1] "" #. ~ Description for riot control turret #: lang/json/MONSTER_from_json.py @@ -64840,7 +67986,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "5.56mm turret" -msgstr "Torre de 5,56 mm" +msgid_plural "5.56mm turrets" +msgstr[0] "" +msgstr[1] "" #. ~ Description for 5.56mm turret #: lang/json/MONSTER_from_json.py @@ -64857,7 +68005,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "7.62mm turret" -msgstr "Torre de 7,62 mm" +msgid_plural "7.62mm turrets" +msgstr[0] "" +msgstr[1] "" #. ~ Description for 7.62mm turret #: lang/json/MONSTER_from_json.py @@ -64874,7 +68024,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "50cal turret" -msgstr "Torre 50cal" +msgid_plural "50cal turrets" +msgstr[0] "" +msgstr[1] "" #. ~ Description for 50cal turret #: lang/json/MONSTER_from_json.py @@ -64891,7 +68043,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "8x40mm turret" -msgstr "Torre de 8x40mm" +msgid_plural "8x40mm turrets" +msgstr[0] "" +msgstr[1] "" #. ~ Description for 8x40mm turret #: lang/json/MONSTER_from_json.py @@ -64908,7 +68062,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "needle turret" -msgstr "torreta de agulha" +msgid_plural "needle turrets" +msgstr[0] "" +msgstr[1] "" #. ~ Description for needle turret #: lang/json/MONSTER_from_json.py @@ -64925,7 +68081,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "40mm grenade turret" -msgstr "Torre de granada de 40 mm" +msgid_plural "40mm grenade turrets" +msgstr[0] "" +msgstr[1] "" #. ~ Description for 40mm grenade turret #: lang/json/MONSTER_from_json.py @@ -64942,7 +68100,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "flame turret" -msgstr "torreta de chama" +msgid_plural "flame turrets" +msgstr[0] "" +msgstr[1] "" #. ~ Description for flame turret #: lang/json/MONSTER_from_json.py @@ -64971,7 +68131,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "acid turret" -msgstr "torreta ácida" +msgid_plural "acid turrets" +msgstr[0] "" +msgstr[1] "" #. ~ Description for acid turret #: lang/json/MONSTER_from_json.py @@ -64988,7 +68150,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/vehicle_part_from_json.py msgid "plasma turret" -msgstr "torreta de plasma" +msgid_plural "plasma turrets" +msgstr[0] "" +msgstr[1] "" #. ~ Description for plasma turret #: lang/json/MONSTER_from_json.py @@ -65005,7 +68169,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "railgun turret" -msgstr "torreta de railgun" +msgid_plural "railgun turrets" +msgstr[0] "" +msgstr[1] "" #. ~ Description for railgun turret #: lang/json/MONSTER_from_json.py @@ -65021,7 +68187,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "advanced electro turret" -msgstr "torreta eletrônica avançada" +msgid_plural "advanced electro turrets" +msgstr[0] "" +msgstr[1] "" #. ~ Description for advanced electro turret #: lang/json/MONSTER_from_json.py @@ -65038,7 +68206,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "EMP turret" -msgstr "Torreta EMP" +msgid_plural "EMP turrets" +msgstr[0] "torre PEM" +msgstr[1] "torres PEM" #. ~ Description for EMP turret #: lang/json/MONSTER_from_json.py @@ -65048,24 +68218,28 @@ msgid "" "enemies alike. Its electro magnetic pulse generator can swivel a full 360 " "degrees." msgstr "" -" O DoubleTech T-EMP3 Corona, uma torre EMP automatizada avançada " -"queutilizasistemas ATR de última geração para reorientar-se dinamicamente " -"paranovosamigos e inimigos. Seu gerador de pulsos eletromagnéticos pode " -"girar360graus." +"O DoubleTech T-EMP3 Corona, uma avançada torre automatizada de PEM que " +"utiliza sistemas ATR de última geração para reorientar-se dinamicamente para" +" novos amigos e inimigos. Seu gerador de pulsos eletromagnéticos pode girar " +"360 graus." #: lang/json/MONSTER_from_json.py msgid "guardin gnome" -msgstr "você gnomo" +msgid_plural "guardin gnomes" +msgstr[0] "gnobô de jardim" +msgstr[1] "gnobôs de jardim" -#. ~ Description for garden gnome #. ~ Description for guardin gnome +#. ~ Description for garden gnome #: lang/json/MONSTER_from_json.py lang/json/furniture_from_json.py msgid "A normal and completely harmless garden gnome." msgstr "Um gnomo de jardim normal e completamente inofensivo." #: lang/json/MONSTER_from_json.py msgid "utility robot" -msgstr "robô utilitário" +msgid_plural "utility robots" +msgstr[0] "robô utilitário" +msgstr[1] "robôs utilitários" #. ~ Description for utility robot #: lang/json/MONSTER_from_json.py @@ -65073,8 +68247,8 @@ msgid "" "One of the many models of utility robot formerly in use by government " "agencies, private corporations, and civilians alike." msgstr "" -" Um dos muitos modelos de robôs utilitários anteriormente usados " -"poragênciasgovernamentais, corporações privadas e civis." +"Um dos muitos modelos de robôs utilitários anteriormente usados por agências" +" governamentais, corporações privadas e civis." #. ~ Description for eyebot #: lang/json/MONSTER_from_json.py @@ -65083,9 +68257,9 @@ msgid "" "blinding flash. No longer linked to police or security network, it " "continues its unending hunt for criminals and trespassers." msgstr "" -" Um pequeno robô aéreo equipado com um conjunto de câmeras e armado " -"comumflash ofuscante. Não está mais ligado à polícia ou à rede de " -"segurançaecontinua sua busca interminável por criminosos e invasores." +"Um pequeno robô aéreo equipado com um conjunto de câmeras e armado com um " +"flash ofuscante. Não está mais ligado à polícia ou à rede de segurança, mas " +"continua sua busca interminável por criminosos e invasores." #. ~ Description for skitterbot #: lang/json/MONSTER_from_json.py @@ -65094,13 +68268,15 @@ msgid "" "Armed with two close-range tazers, it can skate across the ground with great" " speed." msgstr "" -" Um robô insectoide do tamanho de um cachorro pequeno, " -"projetadoparasegurança doméstica. Armado com dois tazers de curto alcance, " -"ele pode patinar no chão com grande velocidade." +"Um robô insectóide do tamanho de um cachorro pequeno, projetado para " +"segurança doméstica. Armado com dois tazers de curto alcance, ele pode " +"patinar no chão com grande velocidade." #: lang/json/MONSTER_from_json.py msgid "defense robot" -msgstr "robô de defesa" +msgid_plural "defense robots" +msgstr[0] "robô de defesa" +msgstr[1] "robôs de defesa" #. ~ Description for defense robot #: lang/json/MONSTER_from_json.py @@ -65108,13 +68284,15 @@ msgid "" "An automated defense robot still active due to its internal power source. " "This one is armed with an electric prod and an integrated 9mm firearm." msgstr "" -" Um robô de defesa automatizado ainda ativo devido à sua fonte " -"deenergiainterna. Este é armado com um impulso elétrico e uma arma de " -"fogointegradade 9mm." +"Um robô de defesa automatizado ainda ativo devido à sua fonte de energia " +"interna. Este é armado com um bastão de choque elétrico e uma arma de fogo " +"integrada de 9mm." #: lang/json/MONSTER_from_json.py msgid "security robot" -msgstr "robô de segurança" +msgid_plural "security robots" +msgstr[0] "robô de segurança" +msgstr[1] "robôs de segurança" #. ~ Description for security robot #: lang/json/MONSTER_from_json.py @@ -65122,12 +68300,14 @@ msgid "" "An automated defense robot still active due to its internal power source. " "This one is equipped with an integrated 9mm firearm." msgstr "" -" Um robô de defesa automatizado ainda ativo devido à sua fonte " -"deenergiainterna. Este é equipado com uma arma de fogo integrada de 9mm." +"Um robô de defesa automatizado ainda ativo devido à sua fonte de energia " +"interna. Este é equipado com uma arma de fogo integrada de 9 mm." #: lang/json/MONSTER_from_json.py msgid "riotcontrol robot" -msgstr "robô de controle" +msgid_plural "riotcontrol robots" +msgstr[0] "robô para controle de manifestações" +msgstr[1] "robôs para controle de manifestações" #. ~ Description for riotcontrol robot #: lang/json/MONSTER_from_json.py @@ -65136,13 +68316,26 @@ msgid "" "This one is equipped with an electric prod, tear gas sprayer, and integrated" " 40mm beanbag launcher." msgstr "" -" Um robô de defesa automatizado ainda ativo devido à sua fonte " -"deenergiainterna. Este é equipado com um dispositivo elétrico, spray " -"degáslacrimogêneo e um lançador de beanbag integrado de 40mm." +"Um robô de defesa automatizado ainda ativo devido à sua fonte de energia " +"interna. Este é equipado com um bastão elétrico, spray de gás lacrimogêneo e" +" um lançador integrado de munição não-letal de 40mm." + +#: lang/json/MONSTER_from_json.py +msgid "necco" +msgid_plural "neccos" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for necco +#: lang/json/MONSTER_from_json.py +msgid "A giant necco wafer happily jaunting around." +msgstr "" #: lang/json/MONSTER_from_json.py msgid "W11B10" -msgstr "W11B10" +msgid_plural "W11B10s" +msgstr[0] "" +msgstr[1] "" #. ~ Description for W11B10 #: lang/json/MONSTER_from_json.py @@ -65156,7 +68349,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "W11B10B4" -msgstr "W11B10B4" +msgid_plural "W11B10B4s" +msgstr[0] "" +msgstr[1] "" #. ~ Description for W11B10B4 #: lang/json/MONSTER_from_json.py @@ -65171,7 +68366,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "W12B10" -msgstr "W12B10" +msgid_plural "W12B10s" +msgstr[0] "" +msgstr[1] "" #. ~ Description for W12B10 #: lang/json/MONSTER_from_json.py @@ -65186,7 +68383,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "W11H10" -msgstr "W11H10" +msgid_plural "W11H10s" +msgstr[0] "" +msgstr[1] "" #. ~ Description for W11H10 #: lang/json/MONSTER_from_json.py @@ -65201,7 +68400,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "W12N10" -msgstr "W12N10" +msgid_plural "W12N10s" +msgstr[0] "" +msgstr[1] "" #. ~ Description for W12N10 #: lang/json/MONSTER_from_json.py @@ -65216,9 +68417,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "craftbuddy" -msgstr "craftbuddy" +msgid_plural "craftbuddies" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for craftbuddy +#. ~ Description for {'str': 'craftbuddy', 'str_pl': 'craftbuddies'} #: lang/json/MONSTER_from_json.py msgid "" "A mobile crafting station used by workers in mines, on oil rigs, and in " @@ -65234,7 +68437,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "automated armor" -msgstr "armadura automatizada" +msgid_plural "automated armors" +msgstr[0] "" +msgstr[1] "" #. ~ Description for automated armor #: lang/json/MONSTER_from_json.py @@ -65257,7 +68462,9 @@ msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "auto armor" -msgstr "armadura leve de armorauto" +msgid_plural "auto armors" +msgstr[0] "" +msgstr[1] "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "heavy auto armor" @@ -65267,7 +68474,9 @@ msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "floating lantern" -msgstr "lanterna de auto armadura pesada" +msgid_plural "floating lanterns" +msgstr[0] "" +msgstr[1] "" #. ~ Description for floating lantern #: lang/json/MONSTER_from_json.py @@ -65276,7 +68485,9 @@ msgstr "Um drone recuperado reaproveitado em uma fonte de luz móvel." #: lang/json/MONSTER_from_json.py msgid "distract-o-hack" -msgstr "distrair-o-hack" +msgid_plural "distract-o-hacks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for distract-o-hack #: lang/json/MONSTER_from_json.py @@ -65293,7 +68504,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "arsonhack" -msgstr "arsonhack" +msgid_plural "arsonhacks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for arsonhack #: lang/json/MONSTER_from_json.py @@ -65310,7 +68523,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "spore hack" -msgstr "corte lento" +msgid_plural "spore hacks" +msgstr[0] "" +msgstr[1] "" #. ~ Description for spore hack #: lang/json/MONSTER_from_json.py @@ -65325,7 +68540,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "watercannon turret" -msgstr "torreta watercannon" +msgid_plural "watercannon turrets" +msgstr[0] "" +msgstr[1] "" #. ~ Description for watercannon turret #: lang/json/MONSTER_from_json.py @@ -65349,7 +68566,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "floating heater" -msgstr "aquecedor flutuante" +msgid_plural "floating heaters" +msgstr[0] "" +msgstr[1] "" #. ~ Description for floating heater #: lang/json/MONSTER_from_json.py @@ -65362,7 +68581,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "floating furnace" -msgstr "forno flutuante" +msgid_plural "floating furnaces" +msgstr[0] "" +msgstr[1] "" #. ~ Description for floating furnace #: lang/json/MONSTER_from_json.py @@ -65377,7 +68598,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "burning eye" -msgstr "olho ardente" +msgid_plural "burning eyes" +msgstr[0] "" +msgstr[1] "" #. ~ Description for burning eye #: lang/json/MONSTER_from_json.py @@ -65392,7 +68615,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hazmat bot" -msgstr "bot de hazmat" +msgid_plural "hazmat bots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for hazmat bot #: lang/json/MONSTER_from_json.py @@ -65404,7 +68629,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "butler-bot" -msgstr "mordomo-bot" +msgid_plural "butler-bots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for butler-bot #: lang/json/MONSTER_from_json.py @@ -65413,7 +68640,9 @@ msgstr "Um robô utilitário de luxo para uso doméstico." #: lang/json/MONSTER_from_json.py msgid "construction robot" -msgstr "robô de construção" +msgid_plural "construction robots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for construction robot #: lang/json/MONSTER_from_json.py @@ -65428,7 +68657,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "firefighter robot" -msgstr "robô de bombeiro" +msgid_plural "firefighter robots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for firefighter robot #: lang/json/MONSTER_from_json.py @@ -65444,7 +68675,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "blob breeder" -msgstr "criador de blob" +msgid_plural "blob breeders" +msgstr[0] "" +msgstr[1] "" #. ~ Description for blob breeder #: lang/json/MONSTER_from_json.py @@ -65459,7 +68692,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "slime breeder" -msgstr "criador de lodo" +msgid_plural "slime breeders" +msgstr[0] "" +msgstr[1] "" #. ~ Description for slime breeder #: lang/json/MONSTER_from_json.py @@ -65473,7 +68708,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "digestron" -msgstr "digestron" +msgid_plural "digestrons" +msgstr[0] "" +msgstr[1] "" #. ~ Description for digestron #: lang/json/MONSTER_from_json.py @@ -65490,7 +68727,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bee bot" -msgstr "bot de abelha" +msgid_plural "bee bots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for bee bot #: lang/json/MONSTER_from_json.py @@ -65505,7 +68744,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "medical robot" -msgstr "robô médico" +msgid_plural "medical robots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for medical robot #: lang/json/MONSTER_from_json.py @@ -65521,7 +68762,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "assassination robot" -msgstr "robô de assassinato" +msgid_plural "assassination robots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for assassination robot #: lang/json/MONSTER_from_json.py @@ -65536,7 +68779,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "elixirator" -msgstr "elixir" +msgid_plural "elixirators" +msgstr[0] "" +msgstr[1] "" #. ~ Description for elixirator #: lang/json/MONSTER_from_json.py @@ -65549,7 +68794,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "party bot" -msgstr "bot de festa" +msgid_plural "party bots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for party bot #: lang/json/MONSTER_from_json.py @@ -65564,7 +68811,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rat snatcher" -msgstr "ladrão de ratos" +msgid_plural "rat snatchers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for rat snatcher #: lang/json/MONSTER_from_json.py @@ -65577,7 +68826,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "grab-bot" -msgstr "grab-bot" +msgid_plural "grab-bots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for grab-bot #: lang/json/MONSTER_from_json.py @@ -65590,7 +68841,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pest hunter" -msgstr "caçador de pragas" +msgid_plural "pest hunters" +msgstr[0] "" +msgstr[1] "" #. ~ Description for pest hunter #: lang/json/MONSTER_from_json.py @@ -65605,7 +68858,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "insane cyborg" -msgstr "cyborg insano" +msgid_plural "insane cyborgs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for insane cyborg #: lang/json/MONSTER_from_json.py @@ -65620,7 +68875,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "necrotic cyborg" -msgstr "cyborg necrótico" +msgid_plural "necrotic cyborgs" +msgstr[0] "" +msgstr[1] "" #. ~ Description for necrotic cyborg #: lang/json/MONSTER_from_json.py @@ -65645,7 +68902,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "military robot" -msgstr "robô militar" +msgid_plural "military robots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for military robot #: lang/json/MONSTER_from_json.py @@ -65717,7 +68976,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "grenadier robot" -msgstr "granadeiro robô" +msgid_plural "grenadier robots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for grenadier robot #: lang/json/MONSTER_from_json.py @@ -65731,7 +68992,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "military flame robot" -msgstr "robô de chama militar" +msgid_plural "military flame robots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for military flame robot #: lang/json/MONSTER_from_json.py @@ -65744,7 +69007,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "advanced robot" -msgstr "robô avançado" +msgid_plural "advanced robots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for advanced robot #: lang/json/MONSTER_from_json.py @@ -65757,7 +69022,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "laser-emitting robot" -msgstr "robô emissor de laser" +msgid_plural "laser-emitting robots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for laser-emitting robot #: lang/json/MONSTER_from_json.py @@ -65770,7 +69037,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "plasma-ejecting robot" -msgstr "robô de ejeção de plasma" +msgid_plural "plasma-ejecting robots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for plasma-ejecting robot #: lang/json/MONSTER_from_json.py @@ -65783,7 +69052,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "railgun robot" -msgstr "robô railgun" +msgid_plural "railgun robots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for railgun robot #: lang/json/MONSTER_from_json.py @@ -65796,7 +69067,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "electro-casting robot" -msgstr "robô de eletro-fundição" +msgid_plural "electro-casting robots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for electro-casting robot #: lang/json/MONSTER_from_json.py @@ -65809,7 +69082,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "EMP-projecting robot" -msgstr "Robô de projeção EMP" +msgid_plural "EMP-projecting robots" +msgstr[0] "" +msgstr[1] "" #. ~ Description for EMP-projecting robot #: lang/json/MONSTER_from_json.py @@ -65822,7 +69097,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "junkyard cowboy" -msgstr "vaqueiro junkyard" +msgid_plural "junkyard cowboys" +msgstr[0] "" +msgstr[1] "" #. ~ Description for junkyard cowboy #: lang/json/MONSTER_from_json.py @@ -65836,7 +69113,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "shortcircuit samurai" -msgstr "samurai de curto-circuito" +msgid_plural "shortcircuit samurais" +msgstr[0] "" +msgstr[1] "" #. ~ Description for shortcircuit samurai #: lang/json/MONSTER_from_json.py @@ -65851,7 +69130,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "slapdash paladin" -msgstr "paladino descuidado" +msgid_plural "slapdash paladins" +msgstr[0] "" +msgstr[1] "" #. ~ Description for slapdash paladin #: lang/json/MONSTER_from_json.py @@ -65866,7 +69147,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "robo-guardian" -msgstr "" +msgid_plural "robo-guardians" +msgstr[0] "" +msgstr[1] "" #. ~ Description for robo-guardian #: lang/json/MONSTER_from_json.py @@ -65882,9 +69165,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "robote deluxe" -msgstr "luxo robótico" +msgid_plural "robote deluxe" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for robote deluxe +#. ~ Description for {'str': 'robote deluxe', 'str_pl': 'robote deluxe'} #: lang/json/MONSTER_from_json.py msgid "" "A diamond-studded gold-plated robot armed with a pair of integrated 9mm " @@ -65897,7 +69182,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "robo-protector" -msgstr "protetor de roubo" +msgid_plural "robo-protectors" +msgstr[0] "" +msgstr[1] "" #. ~ Description for robo-protector #: lang/json/MONSTER_from_json.py @@ -65912,7 +69199,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "robo-defender" -msgstr "robo-defensor" +msgid_plural "robo-defenders" +msgstr[0] "" +msgstr[1] "" #. ~ Description for robo-defender #: lang/json/MONSTER_from_json.py @@ -65929,9 +69218,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "glittering lady" -msgstr "senhora brilhante" +msgid_plural "glittering ladies" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for glittering lady +#. ~ Description for {'str': 'glittering lady', 'str_pl': 'glittering ladies'} #: lang/json/MONSTER_from_json.py msgid "" "A salvaged advanced robot transformed into a luminous beacon of destruction." @@ -65945,7 +69236,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bitter spinster" -msgstr "solteirona amarga" +msgid_plural "bitter spinsters" +msgstr[0] "" +msgstr[1] "" #. ~ Description for bitter spinster #: lang/json/MONSTER_from_json.py @@ -65977,7 +69270,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "chainsaw horror" -msgstr "horror da serra de cadeia" +msgid_plural "chainsaw horrors" +msgstr[0] "" +msgstr[1] "" #. ~ Description for chainsaw horror #: lang/json/MONSTER_from_json.py @@ -65996,7 +69291,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "screeching terror" -msgstr "terror estridente" +msgid_plural "screeching terrors" +msgstr[0] "" +msgstr[1] "" #. ~ Description for screeching terror #: lang/json/MONSTER_from_json.py @@ -66015,7 +69312,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hooked nightmare" -msgstr "pesadelo viciado" +msgid_plural "hooked nightmares" +msgstr[0] "" +msgstr[1] "" #. ~ Description for hooked nightmare #: lang/json/MONSTER_from_json.py @@ -66047,7 +69346,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fist king" -msgstr "rei do punho" +msgid_plural "fist kings" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fist king #: lang/json/MONSTER_from_json.py @@ -66065,7 +69366,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "atomic sultan" -msgstr "sultão atômico" +msgid_plural "atomic sultans" +msgstr[0] "" +msgstr[1] "" #. ~ Description for atomic sultan #: lang/json/MONSTER_from_json.py @@ -66085,12 +69388,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gelatinous mass" msgid_plural "gelatinous mass" -msgstr[0] "massa gelatinosa" -msgstr[1] "massas gelatinosas" +msgstr[0] "" +msgstr[1] "" -#. ~ Description for gelatinous mass -#. ~ Description for gray mass -#. ~ Description for gelatinous mass +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} +#. ~ Description for {'str': 'gray mass', 'str_pl': 'gray mass'} +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} #: lang/json/MONSTER_from_json.py msgid "" "An escaping noisy blob, catch it before it brings in every zombie for miles!" @@ -66101,12 +69404,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gray mass" msgid_plural "gray mass" -msgstr[0] "massa cinzenta" -msgstr[1] "massas cinzentas" +msgstr[0] "" +msgstr[1] "" #: lang/json/MONSTER_from_json.py msgid "giant scorpion" -msgstr "escorpião gigante" +msgid_plural "giant scorpions" +msgstr[0] "" +msgstr[1] "" #. ~ Description for giant scorpion #: lang/json/MONSTER_from_json.py @@ -66117,7 +69422,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bush elephant" -msgstr "elefante selvagem" +msgid_plural "bush elephants" +msgstr[0] "" +msgstr[1] "" #. ~ Description for bush elephant #: lang/json/MONSTER_from_json.py @@ -66129,7 +69436,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hook kangaroo" -msgstr "canguru-gancho" +msgid_plural "hook kangaroos" +msgstr[0] "" +msgstr[1] "" #. ~ Description for hook kangaroo #: lang/json/MONSTER_from_json.py @@ -66141,7 +69450,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal elephant" -msgstr "elefante fungal" +msgid_plural "fungal elephants" +msgstr[0] "" +msgstr[1] "" #. ~ Description for fungal elephant #: lang/json/MONSTER_from_json.py @@ -66152,7 +69463,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "zandcrawler" -msgstr "" +msgid_plural "zandcrawlers" +msgstr[0] "" +msgstr[1] "" #. ~ Description for zandcrawler #: lang/json/MONSTER_from_json.py @@ -66163,7 +69476,9 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Gila monster" -msgstr "monstro de Gila" +msgid_plural "Gila monsters" +msgstr[0] "" +msgstr[1] "" #. ~ Description for Gila monster #: lang/json/MONSTER_from_json.py @@ -66510,7 +69825,7 @@ msgstr "" #. ~ Message for SPELL 'Artifact Attention' #: lang/json/SPELL_from_json.py src/iuse.cpp msgid "You feel like your action has attracted attention." -msgstr "Você sente que sua ação atraiu a atenção." +msgstr "Você sente que sua ação atraiu atenção." #: lang/json/SPELL_from_json.py msgid "Artifact Teleglow" @@ -66670,6 +69985,25 @@ msgstr "" msgid "Summon some bugs." msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Artifact Noise" +msgstr "" + +#. ~ Description for Artifact Noise +#: lang/json/SPELL_from_json.py +msgid "Makes a noise at your location" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "a deafening boom" +msgstr "" + +#. ~ Message for SPELL 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "You hear a deafening boom from your location!" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Artifact Light" msgstr "" @@ -66698,6 +70032,172 @@ msgstr "" msgid "The sky starts to dim." msgstr "O céu começa a escurecer." +#: lang/json/SPELL_from_json.py +msgid "Artifact Dimensional Fatigue" +msgstr "" + +#. ~ Description for Artifact Dimensional Fatigue +#: lang/json/SPELL_from_json.py +msgid "Creates some dimensional fatigue at a random point within range" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Fireball" +msgstr "" + +#. ~ Description for Artifact Fireball +#: lang/json/SPELL_from_json.py +msgid "Causes an explosion at the target" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Flash" +msgstr "" + +#. ~ Description for Artifact Flash +#: lang/json/SPELL_from_json.py +msgid "Causes a flashbang at the target" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Paralyze" +msgstr "" + +#. ~ Description for Artifact Paralyze +#: lang/json/SPELL_from_json.py +msgid "Paralyzes you for a second or two" +msgstr "" + +#. ~ Message for SPELL 'Artifact Paralyze' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "You're paralyzed!" +msgstr "Você está paralisado!" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Map" +msgstr "" + +#. ~ Description for Artifact Map +#: lang/json/SPELL_from_json.py +msgid "Reveals an area around you on the overmap" +msgstr "" + +#. ~ Message for SPELL 'Artifact Map' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "You have a vision of the surrounding area…" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Firestorm" +msgstr "" + +#. ~ Description for Artifact Firestorm +#: lang/json/SPELL_from_json.py +msgid "Calls a firestorm around you" +msgstr "" + +#. ~ Message for SPELL 'Artifact Firestorm' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "Fire rains down around you!" +msgstr "Fogo chove ao seu redor!" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Fun" +msgstr "" + +#. ~ Description for Artifact Fun +#: lang/json/SPELL_from_json.py +msgid "Makes you feel pretty good" +msgstr "" + +#. ~ Message for SPELL 'Artifact Fun' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "You're filled with euphoria!" +msgstr "Você está cheio de euforia!" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Mutate" +msgstr "" + +#. ~ Description for Artifact Mutate +#: lang/json/SPELL_from_json.py +msgid "Mutates you randomly" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Bolt" +msgstr "" + +#. ~ Description for Bolt +#: lang/json/SPELL_from_json.py +msgid "One of the bolts thrown by AEA_STORM" +msgstr "" + +#. ~ description for the sound of spell 'Bolt' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "Ka-BOOM!" +msgstr "CA-BUUM!" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Storm" +msgstr "" + +#. ~ Description for Artifact Storm +#: lang/json/SPELL_from_json.py +msgid "Calls down a storm near you" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Morale Scream" +msgstr "" + +#. ~ Description for Morale Scream +#: lang/json/SPELL_from_json.py +msgid "Morale effect from AEA_SCREAM" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Entrance" +msgstr "" + +#. ~ Description for Artifact Entrance +#: lang/json/SPELL_from_json.py +msgid "Entrances surrounding monsters" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Scream" +msgstr "" + +#. ~ Description for Artifact Scream +#: lang/json/SPELL_from_json.py +msgid "An ethereal scream" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Scream' +#: lang/json/SPELL_from_json.py +msgid "an ethereal scream" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Bash Terrain" +msgstr "" + +#. ~ Description for Bash Terrain +#. ~ Description for Artifact Pulse +#: lang/json/SPELL_from_json.py +msgid "Damages the terrain" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Pulse" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Pulse' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "The earth shakes!" +msgstr "A terra treme!" + #: lang/json/SPELL_from_json.py src/memorial_logger.cpp src/player_display.cpp msgid "Pain" msgstr "Dor" @@ -66790,8 +70290,8 @@ msgstr "" #. ~ Description for Animist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Animists. You can use the rune" -" as a catalyst for recipes." +"This ritual creates a small pebble attuned to Animists. You can use the " +"rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -66829,7 +70329,7 @@ msgstr "" #. ~ Description for Biomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Biomancers. You can use the " +"This ritual creates a small pebble attuned to Biomancers. You can use the " "rune as a catalyst for recipes." msgstr "" @@ -66927,7 +70427,7 @@ msgstr "" #. ~ Message for SPELL 'Debug Stamina Spell' #: lang/json/SPELL_from_json.py #, python-format -msgid "Debug spell [ %s ] has no effect. Debug warning is expected." +msgid "Debug spell [ %s ] has no effect. Debug warning is expected." msgstr "" #: lang/json/SPELL_from_json.py @@ -66997,8 +70497,8 @@ msgstr "" msgid "Debug Full Protection" msgstr "" -#. ~ Description of effect 'Debug Full Protection'. #. ~ Description for Debug Full Protection +#. ~ Description of effect 'Debug Full Protection'. #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py msgid "You can not be harmed by anything." msgstr "" @@ -67084,7 +70584,7 @@ msgstr "" #. ~ Description for Druid Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Druids. You can use the rune " +"This ritual creates a small pebble attuned to Druids. You can use the rune " "as a catalyst for recipes." msgstr "" @@ -67095,8 +70595,8 @@ msgstr "" #. ~ Description for Purification Seed #: lang/json/SPELL_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Rapidly degrades if " -"not utilized." +"You summon a gift of the earth which will purify water. Rapidly degrades if" +" not utilized." msgstr "" #: lang/json/SPELL_from_json.py @@ -67143,8 +70643,35 @@ msgstr "" #. ~ Description for Earthshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Earthshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Earthshapers. You can use the" +" rune as a catalyst for recipes." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Shrapnel" +msgstr "" + +#. ~ Description for Lava Bomb Shrapnel +#. ~ Description for Lava Bomb Heat +#. ~ Description for Lava Bomb Terrain +#: lang/json/SPELL_from_json.py +msgid "This is a sub spell for the Lava Bomb spell." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Heat" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Terrain" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Clairvoyance" msgstr "" #: lang/json/SPELL_from_json.py @@ -67154,7 +70681,7 @@ msgstr "" #. ~ Description for Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" " condition." msgstr "" @@ -67166,9 +70693,24 @@ msgstr "" #. ~ Description for Improved Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" -" condition. Improved brewing mitigates the strain of the spell." +" condition. Improved brewing mitigates the strain of the spell." +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Conjure Throwing Blade I" +msgstr "" + +#. ~ Description for Conjure Throwing Blade I +#: lang/json/SPELL_from_json.py +msgid "conjures 3 throwing knives" +msgstr "" + +#. ~ Message for SPELL 'Conjure Throwing Blade I' +#: lang/json/SPELL_from_json.py +msgid "" +"You activate your ring and three throwing knives appear, ready to throw!" msgstr "" #: lang/json/SPELL_from_json.py @@ -67226,7 +70768,7 @@ msgstr "" #. ~ Description for Kelvinist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Kelvinists. You can use the " +"This ritual creates a small pebble attuned to Kelvinists. You can use the " "rune as a catalyst for recipes." msgstr "" @@ -67269,8 +70811,8 @@ msgstr "" #. ~ Description for Magus Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Magi. You can use the rune as " -"a catalyst for recipes." +"This ritual creates a small pebble attuned to Magi. You can use the rune as" +" a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py @@ -67289,10 +70831,26 @@ msgstr "" msgid "Fox's Cunning" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "Blood Suck" +msgstr "" + +#. ~ Description for Blood Suck +#: lang/json/SPELL_from_json.py +msgid "Sucks blood from one foe." +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Jolt" msgstr "" +#. ~ description for the sound of spell 'Jolt' +#. ~ description for the sound of spell 'Lightning Bolt' +#. ~ description for the sound of spell 'Lightning Blast' +#: lang/json/SPELL_from_json.py +msgid "a crackle" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Lightning Bolt" msgstr "" @@ -67301,6 +70859,11 @@ msgstr "" msgid "Windstrike" msgstr "" +#. ~ description for the sound of spell 'Windstrike' +#: lang/json/SPELL_from_json.py +msgid "a whoosh" +msgstr "" + #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py msgid "Windrunning" msgstr "" @@ -67316,8 +70879,8 @@ msgstr "" #. ~ Description for Stormshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Stormshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Stormshapers. You can use the" +" rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -67378,8 +70941,8 @@ msgstr "" #. ~ Description for Technomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Technomancers. You can use the" -" rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Technomancers. You can use " +"the rune as a catalyst for recipes." msgstr "" #: lang/json/SPELL_from_json.py @@ -67406,6 +70969,10 @@ msgstr "" msgid "Mirror Image" msgstr "" +#: lang/json/SPELL_from_json.py +msgid "X-ray Vision" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Demon Fireball" msgstr "" @@ -67576,6 +71143,8 @@ msgstr[1] "" #. ~ Use action menu_text for thermal electric balaclava (on). #. ~ Use action menu_text for headlamp (on). #. ~ Use action menu_text for survivor headlamp (on). +#. ~ Use action menu_text for 5-point anchor (on). +#. ~ Use action menu_text for phase immersion suit (on). #. ~ Use action menu_text for rebreather mask (on). #. ~ Use action menu_text for XL rebreather mask (on). #. ~ Use action menu_text for pair of light amp goggles (on). @@ -67600,9 +71169,9 @@ msgstr[1] "" #. ~ Use action menu_text for acetylene lamp (on). #. ~ Use action menu_text for power cutter (on). #. ~ Use action menu_text for murdersaw (on). +#. ~ Use action menu_text for heat cube (torch on). #: lang/json/TOOL_ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: lang/json/TOOL_from_json.py lang/json/item_action_from_json.py #: lang/json/item_action_from_json.py lang/json/item_action_from_json.py #: src/iuse.cpp msgid "Turn off" @@ -67894,7 +71463,7 @@ msgstr[1] "" #. ~ Use action msg for headlamp. #: lang/json/TOOL_ARMOR_from_json.py msgid "You turn the headlamp on." -msgstr "FarolVocê liga o farol." +msgstr "Você liga o farol." #. ~ Use action need_charges_msg for headlamp. #: lang/json/TOOL_ARMOR_from_json.py @@ -67907,8 +71476,8 @@ msgid "" "This is an LED headlamp with an adjustable strap so as to be comfortably " "worn on your head or attached to your helmet. Use it to turn it on." msgstr "" -" Este é um farol de LED com uma alça ajustável para serusadoconfortavelmente" -" na sua cabeça ou preso ao seu capacete. Use-o paraligá-lo." +" Este é um farol de LED com uma alça ajustável para ser usado " +"confortavelmente na sua cabeça ou preso ao seu capacete. Use-o para ligá-lo." #: lang/json/TOOL_ARMOR_from_json.py msgid "headlamp (on)" @@ -67923,9 +71492,9 @@ msgid "" "worn on your head or attached to your helmet. It is turned on, and " "continually draining batteries. Use it to turn it off." msgstr "" -" Farol (aceso) Este é um farol LED com uma alça ajustável para " -"serusadoconfortavelmente na cabeça ou preso ao capacete. Está ligado " -"edrenandocontinuamente as baterias. Use-o para desligá-lo." +"Este é um farol LED com uma alça ajustável para ser usado confortavelmente " +"na cabeça ou preso ao capacete. Está ligado e drenando continuamente as " +"baterias. Use-o para desligá-lo." #: lang/json/TOOL_ARMOR_from_json.py msgid "survivor headlamp" @@ -67936,12 +71505,12 @@ msgstr[1] "" #. ~ Use action msg for survivor headlamp. #: lang/json/TOOL_ARMOR_from_json.py msgid "You turn the survivor headlamp on." -msgstr "Farol do sobrevivente Você liga o farol do sobrevivente." +msgstr "Você liga o farol de sobrevivência." #. ~ Use action need_charges_msg for survivor headlamp. #: lang/json/TOOL_ARMOR_from_json.py msgid "The survivor headlamp batteries are dead." -msgstr "As baterias dos faróis sobreviventes estão mortas." +msgstr "As baterias dos faróis de sobrevivência estão mortas." #. ~ Description for survivor headlamp #: lang/json/TOOL_ARMOR_from_json.py @@ -67951,10 +71520,10 @@ msgid "" "allows it to be comfortably worn on your head or attached to your helmet. " "Use it to turn it on." msgstr "" -" Este é um farol LED feito sob encomenda reforçado para ser maisdurável, " -"mais brilhante e com uma bateria maior e mais eficiente. A " -"alçaajustávelpermite que ela seja confortavelmente usada em sua cabeça ou " -"presaao seucapacete. Use-o para ligá-lo." +" Este é um farol LED feito sob encomenda reforçado para ser mais durável, " +"mais brilhante e com uma bateria maior e mais eficiente. A alça ajustável " +"permite que ele seja confortavelmente usado em sua cabeça ou preso ao seu " +"capacete. Use-o para ligá-lo." #: lang/json/TOOL_ARMOR_from_json.py msgid "survivor headlamp (on)" @@ -67970,11 +71539,51 @@ msgid "" "allows it to be comfortably worn on your head or attached to your helmet. " "It is turned on, and continually draining batteries. Use it to turn it off." msgstr "" -" farol de sobrevivência (ligado) Este é um farol de LED feito " -"sobencomendareforçado para ser mais durável, mais brilhante e com uma " -"bateriamaior emais eficiente. A alça ajustável permite que ela " -"sejaconfortavelmenteusada em sua cabeça ou presa ao seu capacete. Está " -"ligado edrenandocontinuamente as baterias. Use-o para desligá-lo." +"Este é um farol de LED feito sob encomenda, reforçado para ser mais durável," +" mais brilhante e com uma bateria maior e mais eficiente. A alça ajustável " +"permite que ele seja confortavelmente usado em sua cabeça ou preso ao seu " +"capacete. Está ligado e drenando continuamente as baterias. Use-o para " +"desligá-lo." + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp" +msgid_plural "atomic headlamps" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for atomic headlamp. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You close the headlamp's cover." +msgstr "" + +#. ~ Description for atomic headlamp +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"close the cover and hide the light." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp (covered)" +msgid_plural "atomic headlamps (covered)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for atomic headlamp (covered). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You open the headlamp's cover." +msgstr "" + +#. ~ Description for atomic headlamp (covered) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"open the cover and show the light." +msgstr "" #: lang/json/TOOL_ARMOR_from_json.py msgid "RM13 combat armor" @@ -67989,10 +71598,10 @@ msgid "" "suit of sleek black military armor represents the pinnacle of Rivtech's non-" "rigid powered armor technology. Use it to turn it on." msgstr "" -" Armadura de combate RM13Internamente equipado com um máximo de dezcélulasde" -" combustível de plutónio, este fato de corpo inteiro de armaduramilitarnegra" -" e elegante representa o ápice da tecnologia de armadura nãorígida " -"daRivtech. Use-o para ligá-lo." +"Internamente equipado com um máximo de dez células de combustível de " +"plutônio, esta armadura de corpo inteiro militar, negra e elegante " +"representa o ápice da tecnologia de armadura não rígida da Rivtech. Use-a " +"para ligá-la." #: lang/json/TOOL_ARMOR_from_json.py msgid "RM13 combat armor (on)" @@ -68008,11 +71617,101 @@ msgid "" "rigid powered armor technology. It is turned on, and continually draining " "power. Use it to turn it off." msgstr "" -" Armadura de Combate RM13 (no) Internamente alimentado por um máximo " -"dedezcélulas de combustível de plutônio, este traje de corpo inteiro " -"dearmaduramilitar preta e elegante representa o ápice da tecnologia " -"dearmadura nãorígida da Rivtech. Está ligado e continuamente " -"drenandoenergia. Use-o paradesligá-lo." +"Internamente alimentado por um máximo de dez células de combustível de " +"plutônio, este traje de corpo inteiro de armadura militar preta e elegante " +"representa o ápice da tecnologia de armaduras não-rígidas da Rivtech. Está " +"ligado e continuamente drenando energia. Use-o para desligá-lo." + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor" +msgid_plural "5-point anchors" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "A LED light in the %s LED flickers on." +msgstr "" + +#. ~ Use action need_charges_msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "It seems like this device needs power." +msgstr "" + +#. ~ Description for 5-point anchor +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A featureless, disc-shaped device mounted on a harness. The words " +"\"X.E.D.R.A\" and \"5-point anchor\" are inscribed on its front and back." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor (on)" +msgid_plural "5-point anchors (on)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for 5-point anchor (on). +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "The %s LED light flickers off." +msgstr "" + +#. ~ Description for 5-point anchor (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The harness' shoulder mounted LED glows with a soft green hue. Theres no " +"further indication of anything happening." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit" +msgid_plural "phase immersion suits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Initiating\n" +"Running suit integrity diagnostics…\n" +"All systems operational." +msgstr "" + +#. ~ Use action need_charges_msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Warning: Operating on minimal power. Protection compromised." +msgstr "" + +#. ~ Description for phase immersion suit +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. Designed to " +"protect its wearer during extra dimensional excursions, it offers " +"unparalleled environmental protection, both in this Earth and beyond. Use " +"it to turn it on." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit (on)" +msgid_plural "phase immersion suits (on)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for phase immersion suit (on). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Suit shutting down." +msgstr "" + +#. ~ Description for phase immersion suit (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. It is turned on, " +"and continually draining power. Use it to turn it off." +msgstr "" #: lang/json/TOOL_ARMOR_from_json.py msgid "rebreather mask" @@ -68036,9 +71735,9 @@ msgid "" "recycles your exhaled breath for rebreathing while underwater. Use it to " "turn it on." msgstr "" -" Uma máscara usada sobre a boca que, quando carregada com " -"osfiltrosadequados, recicla a respiração exalada para a re- " -"respiraçãoenquantoestiver debaixo d'água. Use-o para ligá-lo." +" Uma máscara usada sobre a boca que, quando carregada com os filtros " +"adequados, recicla a respiração exalada para a re-respiração enquanto se " +"estiver debaixo d'água. Use-a para ligá-la." #: lang/json/TOOL_ARMOR_from_json.py msgid "rebreather mask (on)" @@ -68053,10 +71752,10 @@ msgid "" "recycles your exhaled breath for rebreathing while underwater. It is turned" " on, and continually consuming its filter. Use it to turn it off." msgstr "" -" máscara rebreather (on) Uma máscara usada sobre a boca que, " -"quandocarregadacom os filtros adequados, recicla a respiração exalada para a" -" re-respiraçãoenquanto estiver debaixo d'água. Está ligado e " -"consomecontinuamente oseu filtro. Use-o para desligá-lo." +"Uma máscara usada sobre a boca que, quando carregada com os filtros " +"adequados, recicla a respiração exalada para a re-respiração enquanto se " +"estiver debaixo d'água. Está ligada e consome continuamente o seu filtro. " +"Use-a para desligá-la." #: lang/json/TOOL_ARMOR_from_json.py msgid "XL rebreather mask" @@ -68072,11 +71771,10 @@ msgid "" "has been expanded substantially and can accommodate exotic anatomy. Use it " "to turn it on." msgstr "" -" Máscara de rebreather XL Uma máscara usada sobre a boca que, " -"quandocarregada com os filtros apropriados, recicla a respiração exaladapara" -" are-respiração enquanto estiver debaixo d'água. Este modelo " -"foiampliadosubstancialmente e pode acomodar anatomia exótica. Use-o para " -"ligá-lo." +"Uma máscara usada sobre a boca que, quando carregada com os filtros " +"apropriados, recicla a respiração exalada para a re-respiração enquanto se " +"estiver debaixo d'água. Este modelo foi ampliado substancialmente e pode " +"acomodar anatomia exótica. Use-o para ligá-lo." #: lang/json/TOOL_ARMOR_from_json.py msgid "XL rebreather mask (on)" @@ -68092,11 +71790,11 @@ msgid "" "has been expanded substantially and can accommodate exotic anatomy. It is " "turned on, and continually consuming its filter. Use it to turn it off." msgstr "" -" Máscara de rebreather XL (on) Uma máscara usada sobre a boca que, " -"quandocarregada com os filtros apropriados, recicla a respiração exaladapara" -" are-respiração enquanto estiver debaixo d'água. Este modelo " -"foiampliadosubstancialmente e pode acomodar anatomia exótica. Está ligado " -"econsomecontinuamente o seu filtro. Use-o para desligá-lo." +"Uma máscara usada sobre a boca que, quando carregada com os filtros " +"apropriados, recicla a respiração exalada para a re-respiração enquanto se " +"estiver debaixo d'água. Este modelo foi ampliado substancialmente e pode " +"acomodar anatomia exótica. Está ligado e consome continuamente o seu filtro." +" Use-o para desligá-lo." #: lang/json/TOOL_ARMOR_from_json.py msgid "filter mask" @@ -68111,9 +71809,9 @@ msgid "" "smoke, dust, and other contaminants quite well. It must be prepared before " "use." msgstr "" -" máscara de filtroUma máscara que se prende na boca e no nariz e filtra oar." -" Protege de fumaça, poeira e outros contaminantes muito bem. " -"Deveserpreparado antes de usar." +"Uma máscara que se prende na boca e no nariz e filtra o ar. Protege de " +"fumaça, poeira e outros contaminantes muito bem. Deve ser preparada antes do" +" uso." #: lang/json/TOOL_ARMOR_from_json.py msgid "gas mask" @@ -68128,9 +71826,9 @@ msgid "" "protection from smoke, teargas, and other contaminants. It must be prepared" " before use." msgstr "" -" máscara de gásUma máscara de gás cheia que cobre o rosto e os olhos. " -"Forneceexcelente proteção contra fumaça, gás lacrimogêneo e " -"outroscontaminantes. Deve ser preparado antes de usar." +"Uma máscara de gás completa que cobre o rosto e os olhos. Fornece excelente " +"proteção contra fumaça, gás lacrimogêneo e outros contaminantes. Deve ser " +"preparada antes do uso." #: lang/json/TOOL_ARMOR_from_json.py msgid "XL gas mask" @@ -68145,10 +71843,9 @@ msgid "" "anatomy. Provides excellent protection from smoke, teargas, and other " "contaminants. It must be prepared before use." msgstr "" -" Máscara de gás XL Uma máscara bastante espaçosa com filtrosacoplados, " -"projetada para acomodar a anatomia exótica. Fornece excelenteproteçãocontra " -"fumaça, gás lacrimogêneo e outros contaminantes. Deve serpreparadoantes de " -"usar." +"Uma máscara bastante espaçosa com filtros acoplados, projetada para acomodar" +" anatomia exótica. Fornece excelente proteção contra fumaça, gás " +"lacrimogêneo e outros contaminantes. Deve ser preparada antes do uso." #: lang/json/TOOL_ARMOR_from_json.py msgid "survivor firemask" @@ -69082,6 +72779,8 @@ msgstr[0] "" msgstr[1] "" #. ~ Description for tuba +#. ~ ol' is an informal short-form for old, and here is part of big-ol as +#. large-and-cumbersome. #: lang/json/TOOL_ARMOR_from_json.py msgid "A big ol' tuba. Much easier to play when wearing." msgstr "" @@ -69120,13 +72819,11 @@ msgstr "As baterias do protetor de ouvido estão mortas." #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py msgid "" -"A pair of earmuffs favored by shooters. The earmuffs are turned off. They " -"will block sounds over a certain decibel amount, assuming it is charged with" -" batteries." +"A pair of earmuffs favored by shooters. Without batteries or when turned " +"off they function like normal earmuffs and block all sound. They will block" +" sounds over a certain decibel amount when turned on. The earmuffs are " +"currently off." msgstr "" -" Um par de abafadores favorecidos pelos atiradores. Os protetores " -"deouvidoestão desligados. Eles bloquearão sons acima de uma certa " -"quantidadededecibéis, presumindo que eles estejam carregados com baterias." #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py @@ -69595,6 +73292,536 @@ msgid "" "power." msgstr "" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic leather belt" +msgid_plural "magic leather belts" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Haste" +msgid_plural "Belt of Hastes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Megingjörð" +msgid_plural "Megingjörðs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Megingjörð +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The mythical belt of Thor, god of thunder. Or at least so it appears. It " +"doubles the wearer's base strength." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Lesser Girdle of Pockets" +msgid_plural "Lesser Girdle of Pocketss" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Lesser Girdle of Pockets +#. ~ Description for Greater Girdle of Pockets +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, coverd in numerous small pouches " +"that hold a lot more than they should, and the weight of their contents is " +"greatly reduced." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Greater Girdle of Pockets" +msgid_plural "Greater Girdle of Pocketss" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Weaponry" +msgid_plural "Belt of Weaponrys" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for Belt of Weaponry +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, you can sheath or holster any " +"weapon into it in the blink of an eye, and it seemingly stores them " +"somewhere else." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of The Iron Whip" +msgid_plural "Belts of the Iron Whip" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for Belt of The Iron Whip. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"You grab the belt and it uncoils to become a flexible metal whip in your " +"hand!" +msgstr "" + +#. ~ Description for Belt of The Iron Whip +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A braided but flexible belt seemingly made of metal. You can activate it to" +" transform it into a whip and flay your enemies." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "escape boots" +msgid_plural "escape boots" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for escape boots +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, these boots can be activated once a day to escape from nasty " +"situations, teleporting you a good distance in a random direction." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "pair of steel bracers" +msgid_plural "pairs of steel bracers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for pair of steel bracers +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A full assembly of medieval arm protection." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "steel bracer" +msgid_plural "steel bracers" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of lesser defense" +msgid_plural "bracers of lesser defense" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bracer of lesser defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, silver accentuates the intricate design. It protects your body " +"with a light aura to reduce damage you take." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of greater defense" +msgid_plural "bracers of greater defense" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for bracer of greater defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, gold accentuates the intricate design. It protects your body with " +"a strong aura to reduce damage you take." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "lesser bracer of lightning" +msgid_plural "lesser bracers of lightning" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lesser bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, silver accentuates the intricate design. It " +"protects your body with a light aura to reduce electrical damage you take, " +"as well as being able to release a Jolt spell 3 times a day." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "greater bracer of lightning" +msgid_plural "greater bracers of lightning" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for greater bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, gold accentuates the intricate design. It " +"protects your body with a strong aura to reduce electrical damage you take, " +"as well as being able to release a Lightning Bolt spell 3 times a day." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic mask" +msgid_plural "magic masks" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magic mask +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic magic mask." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of disappearance" +msgid_plural "masks of disappearance" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for mask of disappearance +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A mask with no facial features at all, just eye and mouth holes, upon " +"activation it makes everything ignore your presence for a while." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of perfect vision" +msgid_plural "masks of perfect vision" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for mask of perfect vision +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A decidedly steampunk-looking half mask that covers the eye area of the " +"face, it has large lenses that correct and greatly enhance the vision of the" +" wearer." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "copper magic ring" +msgid_plural "copper magic rings" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for copper magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic copper magic ring." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic ring" +msgid_plural "magic rings" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic silver magic ring." +msgstr "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic gold magic ring." +msgstr "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic platinum magic ring." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of blades" +msgid_plural "rings of blades" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of blades +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"An ornate silver ring engraved with daggers that conjures a near perfect " +"throwing knife into your hand on activation." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +1" +msgid_plural "minor rings of strength +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +2" +msgid_plural "rings of strength +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +3" +msgid_plural "rings of strength +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +4" +msgid_plural "rings of strength +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of strength +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +1" +msgid_plural "rings of dexterity +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +2" +msgid_plural "rings of dexterity +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +3" +msgid_plural "rings of dexterity +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +4" +msgid_plural "rings of dexterity +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of dexterity +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +1" +msgid_plural "rings of intelligence +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +2" +msgid_plural "rings of intelligence +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +3" +msgid_plural "rings of intelligence +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you surprisingly more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +4" +msgid_plural "rings of intelligence +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of intelligence +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +1" +msgid_plural "rings of perception +1" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +2" +msgid_plural "rings of perception +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +3" +msgid_plural "rings of perception +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you eye-openingly more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +4" +msgid_plural "rings of perception +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of perception +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +3" +msgid_plural "rings of speed +3" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +5" +msgid_plural "rings of speed +5" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +5 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +7" +msgid_plural "rings of speed +7" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +7 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you quite hasty when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +10" +msgid_plural "rings of speed +10" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of speed +10 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +2" +msgid_plural "rings of protection +2" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that reduces some of the force of damage you take when you " +"wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +4" +msgid_plural "rings of protection +4" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that appreciably reduces some of the force of damage you take " +"when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +6" +msgid_plural "rings of protection +6" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +6 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that greatly reduces some of the force of damage you take when" +" you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +8" +msgid_plural "rings of protection +8" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for ring of protection +8 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A platinum ring that vastly reduces some of the force of damage you take " +"when you wear it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "washcloth" msgid_plural "washcloths" @@ -69617,9 +73844,9 @@ msgstr[1] "" msgid "" "Harness the power of radiation in your own home! This looks similar to a " "D-cell battery, but actually contains folded layers of radioactive material " -"inside. It can produce electricity for several years at a steady voltage..." -" but it's barely enough to power a small LED, and these batteries were worth" -" hundreds of dollars. Mostly they're a good way to brag to your neighbours " +"inside. It can produce electricity for several years at a steady voltage… " +"but it's barely enough to power a small LED, and these batteries were worth " +"hundreds of dollars. Mostly they're a good way to brag to your neighbors " "that you have a nuclear power source in your house." msgstr "" @@ -69632,13 +73859,13 @@ msgstr[1] "" #. ~ Description for radioisotope thermoelectric generator #: lang/json/TOOL_from_json.py msgid "" -"Did your neighbours brag about their cool beta-decay powered nightlights? " -"Do them one better! The CuppaTech 4 radioisotope thermoelectric generator " -"is a three kilogram chunk of metal - mostly lead - with a slug of curium-244" -" encased within. It is capable of generating somewhere between 100-150 " -"Watts of thermal energy, although its electrical generation capacity is " -"minimal at only 2 Watts. Careful! Curium is great at making heat, and also" -" releases deadly gamma radiation. Keep away from cellular life forms." +"Did your neighbors brag about their cool beta-decay powered nightlights? Do" +" them one better! The CuppaTech 4 radioisotope thermoelectric generator is " +"a three kilogram chunk of metal - mostly lead - with a slug of curium-244 " +"encased within. It is capable of generating somewhere between 100-150 Watts" +" of thermal energy, although its electrical generation capacity is minimal " +"at only 2 Watts. Careful! Curium is great at making heat, and also " +"releases deadly gamma radiation. Keep away from cellular life forms." msgstr "" #: lang/json/TOOL_from_json.py @@ -69752,12 +73979,9 @@ msgstr[1] "" #. ~ Description for clairvoyance rod #: lang/json/TOOL_from_json.py msgid "" -"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's " -"a bug." +"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's" +" a bug." msgstr "" -" ferramentas integradasetópios bionicosBisturis " -"cirúrgicosautônomosbionicnavalhavara de clarividênciaArtigo para testar " -"abandeiraaep_clairvoyance_plus. Se isso gera aleatoriamente, então é um bug." #: lang/json/TOOL_from_json.py msgid "boulder anvil" @@ -70001,26 +74225,82 @@ msgstr "" "converterobôsao seu lado." #: lang/json/TOOL_from_json.py -msgid "nail bomb" -msgid_plural "nail bombs" -msgstr[0] "bomba de pregos" -msgstr[1] "bombas de pregos" +msgid "pipe bomb" +msgid_plural "pipe bombs" +msgstr[0] "" +msgstr[1] "" +#. ~ Use action menu_text for pipe bomb. #. ~ Use action menu_text for nail bomb. +#. ~ Use action menu_text for fragment bomb. +#. ~ Use action menu_text for can bomb. +#. ~ Use action menu_text for match head bomb. +#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for dynamite. #. ~ Use action menu_text for fertilizer bomb. -#. ~ Use action menu_text for match head bomb. -#. ~ Use action menu_text for pipe bomb. #. ~ Use action menu_text for ANFO charge. -#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for black gunpowder charge. #. ~ Use action menu_text for RDX charge. -#. ~ Use action menu_text for RDX sand bomb. #: lang/json/TOOL_from_json.py msgid "Light fuse" msgstr "dinamiteFusível de luz" +#. ~ Use action msg for pipe bomb. +#: lang/json/TOOL_from_json.py +msgid "You light the fuse on the pipe bomb." +msgstr "Você acende o fusível na bomba." + +#. ~ Description for pipe bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a section of a pipe filled with explosive materials. Use this item " +"to light the fuse, which gives you five turns to get away from it before it " +"detonates. You'll need a lighter or some matches to use it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "active pipe bomb" +msgid_plural "active pipe bombs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action no_deactivate_msg for active pipe bomb. +#. ~ Use action no_deactivate_msg for match head bomb (lit). +#. ~ Use action no_deactivate_msg for dynamite (lit). +#. ~ Use action no_deactivate_msg for fertilizer bomb (lit). +#: lang/json/TOOL_from_json.py src/iuse.cpp +#, c-format, no-python-format +msgid "You've already lit the %s, try throwing it instead." +msgstr "" + +#. ~ Use action sound_msg for active pipe bomb. +#. ~ Use action sound_msg for active nail bomb. +#. ~ Use action sound_msg for active fragment bomb. +#. ~ Use action sound_msg for active can bomb. +#. ~ Use action sound_msg for match head bomb (lit). +#. ~ Use action sound_msg for dynamite (lit). +#. ~ Use action sound_msg for fertilizer bomb (lit). +#: lang/json/TOOL_from_json.py +msgid "ssss..." +msgstr "aaaa ..." + +#. ~ Description for active pipe bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This pipe bomb's fuse is lit, and it will explode any second now. Throw it " +"immediately!" +msgstr "" +" Bomba de tubo ativo O fusível desta bomba de tubo está aceso e " +"explodiráaqualquer momento. Jogue imediatamente!" + +#: lang/json/TOOL_from_json.py +msgid "nail bomb" +msgid_plural "nail bombs" +msgstr[0] "bomba de pregos" +msgstr[1] "bombas de pregos" + #. ~ Use action msg for nail bomb. +#. ~ Use action msg for fragment bomb. #: lang/json/TOOL_from_json.py #, no-python-format msgid "You light the fuse on the %s." @@ -70029,13 +74309,10 @@ msgstr "Você acende o pavio na %s." #. ~ Description for nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised fragmentation grenade. Use this item to light " -"the fuse. You will then have five turns before it explodes; throwing it " -"would be a good idea." +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by nails and a fuse. Use this item to light the fuse. You will " +"then have five turns before it explodes; throwing it would be a good idea." msgstr "" -" Uma granada de fragmentação improvisada grosseira e volumosa. Use " -"esteitempara acender o fusível. Você terá cinco voltas antes de explodir; " -"Jogá-loseria uma boa ideia." #: lang/json/TOOL_from_json.py msgid "active nail bomb" @@ -70044,27 +74321,129 @@ msgstr[0] "bomba de pregos ativa" msgstr[1] "bombas de pregos ativas" #. ~ Use action no_deactivate_msg for active nail bomb. -#. ~ Use action no_deactivate_msg for active RDX sand bomb. +#. ~ Use action no_deactivate_msg for active fragment bomb. +#. ~ Use action no_deactivate_msg for active can bomb. #: lang/json/TOOL_from_json.py msgid "You've already lit the fuse - what are you waiting for?" msgstr "" " bomba de areia RDX ativa Você já acendeu o fusível - o que você " "estáesperando?" -#. ~ Use action sound_msg for active nail bomb. -#. ~ Use action sound_msg for dynamite (lit). -#. ~ Use action sound_msg for fertilizer bomb (lit). -#. ~ Use action sound_msg for match head bomb (lit). -#. ~ Use action sound_msg for active pipe bomb. -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py src/iuse.cpp -msgid "ssss..." -msgstr "aaaa ..." - #. ~ Description for active nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised fragmentation grenade. The fuse has been lit, " -"you should throw it." +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by nails and a fuse. The fuse has been lit, you should throw it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "fragment bomb" +msgid_plural "fragment bombs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for fragment bomb +#: lang/json/TOOL_from_json.py +msgid "" +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by small pieces of metal and a fuse. Use this item to light the " +"fuse. You will then have five turns before it explodes; throwing it would " +"be a good idea." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "active fragment bomb" +msgid_plural "active fragment bombs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for active fragment bomb +#: lang/json/TOOL_from_json.py +msgid "" +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " +"should throw it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "can bomb" +msgid_plural "can bombs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for can bomb. +#: lang/json/TOOL_from_json.py +msgid "" +"You light the fuse on the can bomb. Throw it before it blows in your face!" +msgstr "" + +#. ~ Description for can bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with explosive and with a bit of fuse " +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "active can bomb" +msgid_plural "active can bombs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for active can bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with explosive and with a bit of fuse " +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think. The fuse has been lit, you should throw it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action menu_text for jack o'lantern. +#. ~ Use action menu_text for candle. +#. ~ Use action menu_text for Louisville Slaughterer. +#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: src/veh_interact.cpp +msgid "Light" +msgstr "Luz" + +#. ~ Use action msg for jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "You light the candle in the jack o'lantern." +msgstr "" + +#. ~ Description for jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"This is a plastic lantern that is painted to look like a pumpkin with a " +"face. It has a candle inside it, that can be replaced when burnt down. It " +"doesn't provide very much light, but it can burn for quite a long time. " +"You'll need a lighter or matches to light it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "spooky jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for spooky jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "The candle winks out inside the lantern." +msgstr "" + +#. ~ Description for spooky jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"There is a thick LED candle inside the pumpkin face. It doesn't provide " +"very much light, but it can burn for quite a long time. This candle is lit." +" The face shifts." msgstr "" #. ~ Description for battle axe @@ -70138,6 +74517,119 @@ msgstr "" "Elefazuma boa arma corpo-a-corpo, mas é um pouco lento para se " "recuperarentrebalanços." +#: lang/json/TOOL_from_json.py +msgid "match head bomb" +msgid_plural "match head bombs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for match head bomb. +#: lang/json/TOOL_from_json.py +msgid "You light the match head bomb." +msgstr "match head bombVocê acende a bomba na cabeça do fósforo." + +#. ~ Description for match head bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a homemade bomb consisting of a bottle filled with match heads and " +"equipped with a fuse. Use this item to light the fuse; you will, of course," +" need a lighter in your inventory to do this." +msgstr "" +" Esta é uma bomba caseira que consiste em uma garrafa cheia de " +"cabeçaseequipada com um fusível. Use este item para acender o " +"fusível;vocêprecisará, obviamente, de um isqueiro no seu inventário para " +"fazerisso." + +#: lang/json/TOOL_from_json.py +msgid "match head bomb (lit)" +msgid_plural "match head bombs (lit)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for match head bomb (lit) +#: lang/json/TOOL_from_json.py +msgid "" +"This is a bottle filled with match heads and equipped with a fuse. This one" +" has been lit, and its fuse is rapidly burning down. You may not want to " +"hold onto it much longer." +msgstr "" +" match head bomb (lit) Esta é uma garrafa cheia de cabeças de " +"fósforoeequipada com um fusível. Este foi aceso e seu fusível " +"estáqueimandorapidamente. Você pode não querer segurá-lo por muito mais " +"tempo." + +#: lang/json/TOOL_from_json.py +msgid "black gunpowder bomb" +msgid_plural "black gunpowder bombs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "" +"You light the fuse on the black gunpowder bomb. Throw it before it blows in" +" your face!" +msgstr "" +" Pistola de pólvora preta Você acende o estopim na bomba de pólvoranegra. " +"Jogue antes que sopre na sua cara!" + +#. ~ Description for black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a bit of " +"fuse sticking out of it." +msgstr "" +" Esta é uma lata cheia até a borda com pólvora preta e com um poucodefusível" +" saindo dela." + +#: lang/json/TOOL_from_json.py +msgid "active black gunpowder bomb" +msgid_plural "active black gunpowder bombs" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action no_deactivate_msg for active black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "You've already lit the fuse - throw it!" +msgstr "Bomba de pólvora negra ativaVocê já acendeu o fusível - jogue-o!" + +#. ~ Use action sound_msg for active black gunpowder bomb. +#. ~ Use action sound_msg for active black gunpowder charge. +#. ~ Use action sound_msg for active RDX charge. +#: lang/json/TOOL_from_json.py +msgid "Kshhh." +msgstr "Kshhh" + +#. ~ Description for active black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a lit " +"fuse stuck inside of it." +msgstr "" +" Esta é uma lata cheia até a borda com pólvora preta e com um " +"fusívelacesodentro dela." + +#: lang/json/TOOL_from_json.py +msgid "hobo stove (lit)" +msgid_plural "hobo stoves (lit)" +msgstr[0] "" +msgstr[1] "" + +#. ~ Use action msg for hobo stove (lit). +#. ~ Use action msg for ember carrier (lit). +#: lang/json/TOOL_from_json.py +msgid "The ember is extinguished." +msgstr "fogareiro hobo (aceso) A brasa se extingue." + +#. ~ Description for hobo stove (lit) +#. ~ Description for hobo stove +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small improvised wood stove, made from a metal can or similar " +"container of the right size. Useful for defrosting and reheating food, uses" +" simple tinder." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "folded poncho" msgid_plural "folded ponchos" @@ -70402,8 +74894,8 @@ msgstr[1] "moinhos d'água" #. ~ Description for water mill #: lang/json/TOOL_from_json.py msgid "" -"A small water-powered mill that can convert starchy products into flour. Can" -" be placed via the construction menu." +"A small water-powered mill that can convert starchy products into flour. " +"Can be placed via the construction menu." msgstr "" #: lang/json/TOOL_from_json.py lang/json/furniture_from_json.py @@ -70415,8 +74907,8 @@ msgstr[1] "moinhos de vento" #. ~ Description for wind mill #: lang/json/TOOL_from_json.py msgid "" -"A small wind-powered mill that can convert starchy products into flour. Can " -"be placed via the construction menu." +"A small wind-powered mill that can convert starchy products into flour. Can" +" be placed via the construction menu." msgstr "" #: lang/json/TOOL_from_json.py @@ -70754,14 +75246,6 @@ msgid_plural "candles" msgstr[0] "vela" msgstr[1] "velas" -#. ~ Use action menu_text for candle. -#. ~ Use action menu_text for hobo stove. -#. ~ Use action menu_text for Louisville Slaughterer. -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: src/veh_interact.cpp -msgid "Light" -msgstr "Luz" - #. ~ Use action msg for candle. #: lang/json/TOOL_from_json.py msgid "You light the candle." @@ -70820,12 +75304,9 @@ msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "" "An electric meat carver powered by batteries. Two serrated blades that " -"vibrate together to slice just about anything from turkey to ham... even " +"vibrate together to slice just about anything from turkey to ham… even " "zombies!" msgstr "" -" carver elétrico (off) Um carver elétrico de carne alimentado porbaterias. " -"Duas lâminas serrilhadas que vibram juntas para cortarpraticamentequalquer " -"coisa, de peru a presunto ... até zumbis!" #: lang/json/TOOL_from_json.py msgid "electric carver (on)" @@ -71013,6 +75494,20 @@ msgstr "" "poderá serdesmontado e reciclado. A água retirada de fontes incertas, comoum" " rio, pode estar suja." +#: lang/json/TOOL_from_json.py +msgid "lifestraw" +msgid_plural "lifestraws" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lifestraw +#: lang/json/TOOL_from_json.py +msgid "" +"Set the lifestraw in suspect water, let sit for one minute then drink. The " +"two part filtration system will purify the water you drink. Water taken " +"from uncertain sources like a river may be dirty." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "charcoal smoker" msgid_plural "charcoal smokers" @@ -71517,15 +76012,6 @@ msgid_plural "dynamites (lit)" msgstr[0] "" msgstr[1] "" -#. ~ Use action no_deactivate_msg for dynamite (lit). -#. ~ Use action no_deactivate_msg for fertilizer bomb (lit). -#. ~ Use action no_deactivate_msg for match head bomb (lit). -#. ~ Use action no_deactivate_msg for active pipe bomb. -#: lang/json/TOOL_from_json.py src/iuse.cpp -#, c-format, no-python-format -msgid "You've already lit the %s, try throwing it instead." -msgstr "" - #. ~ Description for dynamite (lit) #: lang/json/TOOL_from_json.py msgid "" @@ -71544,10 +76030,8 @@ msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "" "A pair of electronic handcuffs, used by police and riot bots to detain captives. Their continuous siren clearly identifies the wearer as an arrested criminal and alerts human police. Wait for their arrival, don't try to escape or to remove the cuffs - they will administer an electric shock.\n" -"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative..." +"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative…" msgstr "" -" algemas eletrônicasUm par de algemas eletrônicas, usadas por policiaisebots de motim para deter cativos. Sua sirene contínua identificaclaramenteo usuário como criminoso preso e alerta a polícia humana. Esperepelachegada, não tente escapar ou remover as algemas - eles administrarãoumchoque elétrico. \n" -" No entanto, como a única polícia queprovavelmenteresponderá é morta-viva, você pode ter uma longa espera pelafrente, amenos que seja criativo. ..\n" #: lang/json/TOOL_from_json.py msgid "entrenching tool" @@ -72378,8 +76862,8 @@ msgid "" "A primitive manual drill with a single drill bit. It is slow and it will " "exhaust you quickly." msgstr "" -" hand drillA broca manual primitiva com uma única broca. É lento evaiesgotar" -" você rapidamente." +"Uma broca manual primitiva com uma única ponteira. É lento e vai esgotar " +"você rapidamente." #: lang/json/TOOL_from_json.py msgid "heat pack" @@ -72393,8 +76877,8 @@ msgid "" "This is a chemical heat pack. It's used to treat sports injuries and heat " "food. It is usable only once." msgstr "" -" pacote de calorEste é um pacote de calor químico. É usado para " -"tratarlesõesesportivas e aquecer alimentos. É utilizável apenas uma vez." +"Este é um pacote de calor químico. É usado para tratar lesões esportivas e " +"aquecer alimentos. É utilizável apenas uma vez." #: lang/json/TOOL_from_json.py msgid "used heat pack" @@ -72408,9 +76892,9 @@ msgid "" "This is a chemical heat pack. It's used to treat sports injuries and heat " "food. This one has been used and is chemically inert, rendering it useless." msgstr "" -" pacote de calor usadoEste é um pacote de calor químico. É usado " -"paratratarlesões esportivas e aquecer alimentos. Este foi usado e " -"équimicamenteinerte, tornando-o inútil." +"Este é um pacote de calor químico. É usado para tratar lesões esportivas e " +"aquecer alimentos. Este foi usado e é quimicamente inerte, tornando-o " +"inútil." #: lang/json/TOOL_from_json.py msgid "hoe" @@ -72424,8 +76908,8 @@ msgid "" "This is a farming implement. You can use it to turn tillable land into a " "slow-to-cross pile of dirt, or dig a shallow pit." msgstr "" -" hoeEste é um implemento agrícola. Você pode usá-lo para transformar " -"aterracultivável em uma pilha de terra, ou cavar um buraco raso." +"Este é um implemento agrícola. Você pode usá-lo para transformar terra " +"cultivável em uma pilha de terra, ou cavar um buraco raso." #: lang/json/TOOL_from_json.py msgid "honey scraper" @@ -72439,8 +76923,8 @@ msgid "" "A sharp, knife-like tool used in harvesting honey from beehives. Makes a " "passable melee weapon." msgstr "" -" raspador de melUma ferramenta afiada, semelhante a uma faca, " -"usadanacolheita de mel de colméias. Faz uma arma corpo a corpo passável." +"Uma ferramenta afiada, semelhante a uma faca, usada na colheita de mel de " +"colméias. Dá uma arma corpo a corpo passável." #: lang/json/TOOL_from_json.py lang/json/vehicle_part_from_json.py msgid "bicycle horn" @@ -72452,7 +76936,7 @@ msgstr[1] "" #. ~ Use action noise_message for bicycle horn. #: lang/json/TOOL_from_json.py src/vehicle_use.cpp msgid "honk." -msgstr "bicicleta hornhonk." +msgstr "honk." #. ~ Use action use_message for bicycle horn. #: lang/json/TOOL_from_json.py @@ -72879,47 +77363,6 @@ msgstr "" "caseirocomuma bomba de ar. É usado para embalar alimentos a vácuo para " "preservá-lo." -#: lang/json/TOOL_from_json.py -msgid "match head bomb" -msgid_plural "match head bombs" -msgstr[0] "" -msgstr[1] "" - -#. ~ Use action msg for match head bomb. -#: lang/json/TOOL_from_json.py -msgid "You light the match head bomb." -msgstr "match head bombVocê acende a bomba na cabeça do fósforo." - -#. ~ Description for match head bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a homemade bomb consisting of a bottle filled with match heads and " -"equipped with a fuse. Use this item to light the fuse; you will, of course," -" need a lighter in your inventory to do this." -msgstr "" -" Esta é uma bomba caseira que consiste em uma garrafa cheia de " -"cabeçaseequipada com um fusível. Use este item para acender o " -"fusível;vocêprecisará, obviamente, de um isqueiro no seu inventário para " -"fazerisso." - -#: lang/json/TOOL_from_json.py -msgid "match head bomb (lit)" -msgid_plural "match head bombs (lit)" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for match head bomb (lit) -#: lang/json/TOOL_from_json.py -msgid "" -"This is a bottle filled with match heads and equipped with a fuse. This one" -" has been lit, and its fuse is rapidly burning down. You may not want to " -"hold onto it much longer." -msgstr "" -" match head bomb (lit) Esta é uma garrafa cheia de cabeças de " -"fósforoeequipada com um fusível. Este foi aceso e seu fusível " -"estáqueimandorapidamente. Você pode não querer segurá-lo por muito mais " -"tempo." - #: lang/json/TOOL_from_json.py msgid "matchbook" msgid_plural "matchbooks" @@ -73065,22 +77508,19 @@ msgstr "" "longedisso." #: lang/json/TOOL_from_json.py -msgid "basic repair kit" -msgid_plural "basic repair kits" +msgid "misc repair kit" +msgid_plural "misc repair kits" msgstr[0] "" msgstr[1] "" -#. ~ Description for basic repair kit +#. ~ Description for misc repair kit #: lang/json/TOOL_from_json.py msgid "" -"This is a portable toolkit. When supplied with duct tape, it serves as a " -"vital tool for fixing items made of wood, paper, bone, or chitin. It " -"requires 50 units of duct tape per use." +"This is a portable toolkit, consisting of a small carving knife for precise " +"carving of replacement parts from raw materials, a wood saw for more heavy-" +"duty wood cutting, and a patch of soft material for cleaning surfaces. If " +"supplied with duct tape, it can be used to repair certain items." msgstr "" -" kit de reparo básicoEste é um kit de ferramentas portátil. " -"Quandofornecidocom fita adesiva, serve como uma ferramenta vital para a " -"fixaçãode itensfeitos de madeira, papel, osso ou quitina. Requer 50 unidades" -" defitaadesiva por uso." #: lang/json/TOOL_from_json.py msgid "plastic mold" @@ -73265,7 +77705,7 @@ msgstr "" "parafazerroupas e itens ásperos. Sua baixa qualidade torna-o " "bastanteinadequadopara qualquer coisa que exija velocidade ou precisão." -#: lang/json/TOOL_from_json.py +#: lang/json/TOOL_from_json.py lang/json/tool_quality_from_json.py msgid "curved needle" msgid_plural "curved needles" msgstr[0] "" @@ -73294,12 +77734,9 @@ msgstr[1] "" msgid "" "This is a wooden needle whittled down to a sharp point. It has a narrow " "hole carved into the head for threading. Its low quality makes it rather " -"unsuitable for anything requiring speed or precision." +"unsuitable for anything requiring speed or precision, or involving tougher " +"materials like Kevlar." msgstr "" -" agulha de madeiraEsta é uma agulha de madeira reduzida a uma pontaafiada. " -"Tem um buraco estreito esculpido na cabeça para enfiar. Sua " -"baixaqualidadetorna-o bastante inadequado para qualquer coisa que " -"exijavelocidade ouprecisão." #: lang/json/TOOL_from_json.py msgid "noise emitter (off)" @@ -73392,6 +77829,19 @@ msgstr "" " proporciona alívio imediato para ataques de asma ou inalação defumaça, e " "pode fornecer uma breve explosão de energia." +#: lang/json/TOOL_from_json.py +msgid "oxygen cylinder" +msgid_plural "oxygen cylinders" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for oxygen cylinder +#: lang/json/TOOL_from_json.py +msgid "" +"A large steel cylinder used for storing pressurized gas. It is marked with " +"a faded, but legible O2 symbol." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "nitrogen tank" msgid_plural "nitrogen tanks" @@ -73585,40 +78035,6 @@ msgstr "" "Eleéprojetado para facilitar o consumo de folhas de tabaco curadas pelo " "fogo." -#: lang/json/TOOL_from_json.py -msgid "pipe bomb" -msgid_plural "pipe bombs" -msgstr[0] "" -msgstr[1] "" - -#. ~ Use action msg for pipe bomb. -#: lang/json/TOOL_from_json.py -msgid "You light the fuse on the pipe bomb." -msgstr "Você acende o fusível na bomba." - -#. ~ Description for pipe bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a section of a pipe filled with explosive materials. Use this item " -"to light the fuse, which gives you five turns to get away from it before it " -"detonates. You'll need a lighter or some matches to use it." -msgstr "" - -#: lang/json/TOOL_from_json.py -msgid "active pipe bomb" -msgid_plural "active pipe bombs" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for active pipe bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This pipe bomb's fuse is lit, and it will explode any second now. Throw it " -"immediately!" -msgstr "" -" Bomba de tubo ativo O fusível desta bomba de tubo está aceso e " -"explodiráaqualquer momento. Jogue imediatamente!" - #: lang/json/TOOL_from_json.py msgid "pliers" msgid_plural "pliers" @@ -73844,8 +78260,8 @@ msgstr[1] "" #. ~ Description for sponge #: lang/json/TOOL_from_json.py msgid "" -"A sponge is a tool or cleaning aid made of soft, porous material. Typically " -"used for cleaning impervious surfaces." +"A sponge is a tool or cleaning aid made of soft, porous material. Typically" +" used for cleaning impervious surfaces." msgstr "" #: lang/json/TOOL_from_json.py @@ -73857,8 +78273,8 @@ msgstr[1] "" #. ~ Description for washing kit #: lang/json/TOOL_from_json.py msgid "" -"A combination kit of a washboard and a sponge. Everything you need to clean" -" items after the apocalypse." +"A combination kit of a washboard and a sponge or rag. Everything you need " +"to clean items after the apocalypse." msgstr "" #: lang/json/TOOL_from_json.py @@ -74593,16 +79009,10 @@ msgstr[1] "" #. ~ Description for tailor's kit #: lang/json/TOOL_from_json.py msgid "" -"This is a high quality, plastic kit with a variety of needles, some plastic " -"spools for thread, some small scissors, even a small heating element for " -"melting and joining plastic. Use a tailor's kit to customize your clothing " -"and armor. This uses your tailoring skill." +"This is a high quality kit consisting of a variety of needles, some plastic " +"spools for thread, some small scissors, and an awl. Use a tailor's kit to " +"customize your clothing and armor. This uses your tailoring skill." msgstr "" -" kit de alfaiateEste é um kit de plástico de alta qualidade com " -"umavariedadede agulhas, alguns carretéis de plástico para linha, " -"algumaspequenastesouras, até mesmo um pequeno elemento de aquecimento para " -"fusãoe junçãode plástico. Use um kit de alfaiate para personalizar sua roupa" -" esuaarmadura. Isso usa sua habilidade de customização." #: lang/json/TOOL_from_json.py msgid "tanning leather hide" @@ -74694,8 +79104,8 @@ msgid "" "This is an experimental device that will teleport you a short distance when " "activated." msgstr "" -" teleporterEste é um dispositivo experimental que te teletransportará " -"aumacurta distância quando ativado." +"Este é um dispositivo experimental que te teletransportará a uma curta " +"distância quando ativado." #: lang/json/TOOL_from_json.py msgid "tent" @@ -74708,8 +79118,8 @@ msgstr[1] "" msgid "" "This is a small personal tent, it's just big enough to fit you comfortably." msgstr "" -" Esta é uma pequena tenda pessoal, é grande o suficiente para vocêseencaixar" -" confortavelmente." +"Esta é uma pequena tenda pessoal, é grande o suficiente para você se " +"encaixar confortavelmente." #: lang/json/TOOL_from_json.py msgid "Flaming Chunk of Steel +2" @@ -74731,7 +79141,7 @@ msgstr[1] "termômetros" #. ~ Description for thermometer #: lang/json/TOOL_from_json.py msgid "A plastic thermometer that can read the air temperature." -msgstr "um termômetro de plástico que pode ler a temperatura do ar" +msgstr "Um termômetro de plástico que pode medir a temperatura do ar." #: lang/json/TOOL_from_json.py msgid "throwable fire extinguisher" @@ -74746,10 +79156,9 @@ msgid "" "regular fire extinguisher, you can use it from a distance. It is activated " "by heat, so just throw it into the flames." msgstr "" -" extintor de incêndio que pode ser lançadoEste é um extintor de " -"incêndioemforma de granada. Embora não seja tão eficaz quanto um extintor " -"deincêndiocomum, você pode usá-lo à distância. É ativado pelo calor, " -"entãoapenasjogue-o nas chamas." +"Este é um extintor de incêndio em forma de granada. Embora não seja tão " +"eficaz quanto um extintor de incêndio comum, você pode usá-lo à distância. É" +" ativado pelo calor, então apenas jogue-o nas chamas." #: lang/json/TOOL_from_json.py msgid "pair of metal tongs" @@ -74763,8 +79172,8 @@ msgid "" "These are long, metal tongs. They are commonly used for cooking or in " "metalworking fabrication recipes." msgstr "" -" par de pinças de metalEstas são longas pinças de metal. Eles " -"sãocomumenteusados para cozinhar ou em receitas de fabricação de metais." +"Estas são longas pinças de metal. Elas são comumente usadas para cozinhar ou" +" em receitas de fabricação de metais." #: lang/json/TOOL_from_json.py msgid "small space heater" @@ -74841,9 +79250,7 @@ msgstr[1] "" #. ~ Use action msg for ANFO charge. #: lang/json/TOOL_from_json.py msgid "You light the fuse on the ANFO charge. Run survivor, run!" -msgstr "" -" ANFO chargeVocê acende o fusível na carga do ANFO. Corrasobrevivente, " -"corra!" +msgstr "Você acende o fusível na carga do ANFO. Corra sobrevivente, corra!" #. ~ Description for ANFO charge #: lang/json/TOOL_from_json.py @@ -74866,7 +79273,7 @@ msgstr[1] "" #. ~ Use action no_deactivate_msg for active black gunpowder charge. #: lang/json/TOOL_from_json.py msgid "You've already lit the fuse - run!" -msgstr "carga ANFO ativaVocê já acendeu o fusível - corra!" +msgstr "Você já acendeu o fusível - corra!" #. ~ Description for active ANFO charge #: lang/json/TOOL_from_json.py @@ -74874,61 +79281,8 @@ msgid "" "This is a large metal keg filled with ANFO pellets and equipped with a " "dynamite primer. The fuse has been lit - better run like hell!" msgstr "" -" Este é um grande barril de metal cheio de pelotas ANFO e equipado " -"comumprimer de dinamite. O fusível foi aceso - é melhor correr como o " -"inferno!" - -#: lang/json/TOOL_from_json.py -msgid "black gunpowder bomb" -msgid_plural "black gunpowder bombs" -msgstr[0] "" -msgstr[1] "" - -#. ~ Use action msg for black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "" -"You light the fuse on the black gunpowder bomb. Throw it before it blows in" -" your face!" -msgstr "" -" Pistola de pólvora preta Você acende o estopim na bomba de pólvoranegra. " -"Jogue antes que sopre na sua cara!" - -#. ~ Description for black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a bit of " -"fuse sticking out of it." -msgstr "" -" Esta é uma lata cheia até a borda com pólvora preta e com um poucodefusível" -" saindo dela." - -#: lang/json/TOOL_from_json.py -msgid "active black gunpowder bomb" -msgid_plural "active black gunpowder bombs" -msgstr[0] "" -msgstr[1] "" - -#. ~ Use action no_deactivate_msg for active black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "You've already lit the fuse - throw it!" -msgstr "Bomba de pólvora negra ativaVocê já acendeu o fusível - jogue-o!" - -#. ~ Use action sound_msg for active black gunpowder bomb. -#. ~ Use action sound_msg for active black gunpowder charge. -#. ~ Use action sound_msg for active RDX charge. -#. ~ Use action sound_msg for active RDX sand bomb. -#: lang/json/TOOL_from_json.py -msgid "Kshhh." -msgstr "Kshhh" - -#. ~ Description for active black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a lit " -"fuse stuck inside of it." -msgstr "" -" Esta é uma lata cheia até a borda com pólvora preta e com um " -"fusívelacesodentro dela." +" Este é um grande barril de metal cheio de pelotas ANFO e equipado com uma " +"espoleta de dinamite. O fusível foi aceso - é melhor correr como o inferno!" #: lang/json/TOOL_from_json.py msgid "black gunpowder charge" @@ -74941,20 +79295,15 @@ msgstr[1] "" msgid "" "You light the fuse on the black gunpowder charge. Get rid of it quickly!" msgstr "" -" Carga preta de pólvora Você acende o fusível na carga preta depólvora. " -"Livre-se disso rapidamente!" +"Você acende o fusível na carga de pólvora negra. Livre-se disso rapidamente!" #. ~ Description for black gunpowder charge #: lang/json/TOOL_from_json.py msgid "" "This is a home-made explosive device, consisting of a large plastic jug " "filled with black gunpowder and scrap metal, equipped with a long fuse. Use" -" this item to light the fuse. Should explode in a few minutes..." +" this item to light the fuse. Should explode in a few minutes…" msgstr "" -" Este é um dispositivo explosivo caseiro, consistindo de um grande " -"jarrodeplástico cheio de pólvora preta e sucata de metal, equipado com " -"umlongoestopim. Use este item para acender o fusível. Deve explodir " -"empoucosminutos ..." #: lang/json/TOOL_from_json.py msgid "active black gunpowder charge" @@ -74969,9 +79318,9 @@ msgid "" "filled with black gunpowder and scrap metal, whose fuse has been lit, its " "final countdown starting." msgstr "" -" Este é um dispositivo explosivo caseiro, consistindo de um grande " -"jarrodeplástico cheio de pólvora preta e sucata de metal, cujo fusível " -"foiaceso, começando sua contagem regressiva final." +"Este é um dispositivo explosivo caseiro, consistindo de um grande jarro de " +"plástico cheio de pólvora negra e sucata de metal, cujo fusível foi aceso, " +"começando sua contagem regressiva final." #: lang/json/TOOL_from_json.py msgid "RDX charge" @@ -74982,7 +79331,7 @@ msgstr[1] "" #. ~ Use action msg for RDX charge. #: lang/json/TOOL_from_json.py msgid "You light the fuse on the explosive charge. Clear the area!" -msgstr "Carga RDXVocê acende o fusível na carga explosiva. Limpe a área!" +msgstr "Você acende o fusível na carga explosiva. Limpe a área!" #. ~ Description for RDX charge #: lang/json/TOOL_from_json.py @@ -74991,9 +79340,9 @@ msgid "" "Contains a core of primary explosive to ensure that the charge detonates " "completely and delivers its entire destructive power to everything in sight." msgstr "" -" Este é um barril de metal, cheio com 50 litros de RDX e sucata de metal. " -"Contém um núcleo de explosivo primário para garantir que a carga " -"detonecompletamente e entregue todo o seu poder destrutivo a tudo à vista." +"Este é um barril de metal, cheio com 50 litros de RDX e sucata de metal. " +"Contém um núcleo de explosivo primário para garantir que a carga detone " +"completamente e entregue todo o seu poder destrutivo a tudo à vista." #: lang/json/TOOL_from_json.py msgid "active RDX charge" @@ -75004,8 +79353,7 @@ msgstr[1] "" #. ~ Use action no_deactivate_msg for active RDX charge. #: lang/json/TOOL_from_json.py msgid "You've already lit the fuse - clear the area immediately!" -msgstr "" -" carga de RDX ativa Você já acendeu o fusível - limpe a área imediatamente!" +msgstr "Você já acendeu o pavio - limpe a área imediatamente!" #. ~ Description for active RDX charge #: lang/json/TOOL_from_json.py @@ -75014,48 +79362,9 @@ msgid "" "The fuse has been lit and once it ignites the primary explosive, the charge " "will detonate and rain fire and steel on everything in sight." msgstr "" -" Este é um barril de metal, cheio com 50 litros de RDX e sucata de metal. " -"Ofusível foi aceso e, uma vez que acenda o explosivo primário, a carga " -"irádetonar e chover fogo e aço em tudo à vista." - -#: lang/json/TOOL_from_json.py -msgid "RDX sand bomb" -msgid_plural "RDX sand bombs" -msgstr[0] "" -msgstr[1] "" - -#. ~ Use action msg for RDX sand bomb. -#: lang/json/TOOL_from_json.py -msgid "You light the fuse on the sand bomb. Throw it!" -msgstr "RDX sand bomb Você acende o fusível na bomba de areia. Jogá-lo!" - -#. ~ Description for RDX sand bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a steel pipe, containing a mixture of RDX and sand, the former " -"propelling the latter into a deadly mist of vicious shrapnel. Use this item" -" to light the fuse." -msgstr "" -" Este é um tubo de aço, contendo uma mistura de RDX e areia, o " -"primeiroimpulsionando o último em uma névoa mortal de estilhaços violentos. " -"Useeste item para acender o fusível." - -#: lang/json/TOOL_from_json.py -msgid "active RDX sand bomb" -msgid_plural "active RDX sand bombs" -msgstr[0] "" -msgstr[1] "" - -#. ~ Description for active RDX sand bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a steel pipe, containing a mixture of RDX and sand, the former " -"propelling the latter into a deadly mist of vicious shrapnel. The fuse has " -"been lit, so why are you still holding it?" -msgstr "" -" Este é um tubo de aço, contendo uma mistura de RDX e areia, o " -"primeiroimpulsionando o último em uma névoa mortal de estilhaços violentos. " -"Ofusível foi aceso, então por que você ainda está segurando?" +"Este é um barril de metal, cheio com 50 litros de RDX e sucata de metal. O " +"fusível foi aceso e, uma vez que acenda o explosivo primário, a carga irá " +"detonar e chover fogo e aço em tudo à vista." #: lang/json/TOOL_from_json.py msgid "rocket candy" @@ -75066,12 +79375,12 @@ msgstr[1] "" #. ~ Use action menu_text for rocket candy. #: lang/json/TOOL_from_json.py msgid "Light candy" -msgstr "rocket candy Light candy" +msgstr "Acender doce" #. ~ Use action msg for rocket candy. #: lang/json/TOOL_from_json.py msgid "You light the rocket candy on fire. Throw it!" -msgstr "Você acende o foguete em chamas. Jogá-lo!" +msgstr "Você acende o foguete doce em chamas. Jogue-o!" #. ~ Description for rocket candy #: lang/json/TOOL_from_json.py @@ -75081,11 +79390,11 @@ msgid "" " smokescreen - if you lit the narrow end, you should be able to throw it " "before the flame reaches the broad end." msgstr "" -" Um pedaço em forma de pêra de doce de foguete obtido aquecendo salitre " -"comaçúcar e lançando o líquido obtido. Pode servir como um combustível " -"defoguete, mas também como uma cortina de fumaça - se você acender " -"aextremidade estreita, você deve ser capaz de jogá-lo antes que a " -"chamaatinja a extremidade mais larga." +" Um pedaço em forma de pêra de doce de foguete obtido aquecendo salitre com " +"açúcar e fundindo o líquido obtido. Pode servir como um combustível de " +"foguete, mas também como uma cortina de fumaça - se você acender a " +"extremidade estreita, você deve ser capaz de jogá-lo antes que a chama " +"atinja a extremidade mais larga." #: lang/json/TOOL_from_json.py msgid "burning rocket candy" @@ -75101,7 +79410,7 @@ msgstr "Você já acendeu o pavio - livre-se dele imediatamente!" #. ~ Use action sound_msg for burning rocket candy. #: lang/json/TOOL_from_json.py msgid "Hsssss." -msgstr "Hsssss" +msgstr "Hsssss." #. ~ Description for burning rocket candy #: lang/json/TOOL_from_json.py @@ -75148,11 +79457,13 @@ msgstr[0] "" msgstr[1] "" #. ~ Use action menu_text for torch. +#. ~ Use action menu_text for everburning torch. #: lang/json/TOOL_from_json.py msgid "Light torch" msgstr "Tocha de luz da tocha" #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "You light the torch." msgstr "Você acende a tocha." @@ -75169,6 +79480,7 @@ msgstr "" "precisaráde um isqueiro ou fósforos para acendê-lo." #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "The torch is extinguished." msgstr "A tocha está extinta." @@ -75372,7 +79684,7 @@ msgstr "" "lavarroupa imunda se for fornecido com agente de limpeza." #: lang/json/TOOL_from_json.py lang/json/furniture_from_json.py -#: lang/json/vehicle_part_from_json.py src/vehicle_use.cpp +#: lang/json/vehicle_part_from_json.py msgid "water purifier" msgid_plural "water purifiers" msgstr[0] "" @@ -75409,37 +79721,32 @@ msgstr "" "dadosmeteorológicos. Nenhum sinal do FLDSMDFR, no entanto." #: lang/json/TOOL_from_json.py -msgid "welder" -msgid_plural "welders" +msgid "arc welder" +msgid_plural "arc welders" msgstr[0] "" msgstr[1] "" -#. ~ Description for welder +#. ~ Description for arc welder #: lang/json/TOOL_from_json.py msgid "" -"This is a battery powered tool for welding metal pieces together. It is an " -"indispensable tool for construction or repair." +"This is a battery powered tool for welding metal pieces together using an " +"electric arc. It is an indispensable tool for construction or repair." msgstr "" -" soldador Esta é uma ferramenta movida a bateria para soldagem de peças " -"demetal. É uma ferramenta indispensável para a construção ou reparação." #: lang/json/TOOL_from_json.py -msgid "makeshift welder" -msgid_plural "makeshift welders" +msgid "makeshift arc welder" +msgid_plural "makeshift arc welders" msgstr[0] "" msgstr[1] "" -#. ~ Description for makeshift welder +#. ~ Description for makeshift arc welder #: lang/json/TOOL_from_json.py msgid "" -"This crude welder has been fashioned from a bundle of copper wire, scrap " -"metal, and complete disregard for personal safety. While it's not as " -"efficient as a factory welder, it will serve in a pinch." +"This crude arc welder has been fashioned from a few small transformers, some" +" wire, improvised electrode holder and complete disregard for personal " +"safety. While it's not as efficient as a factory welder, it will serve in a" +" pinch." msgstr "" -" soldador improvisado Este soldador bruto foi formado a partir de um feixede" -" fio de cobre, sucata de metal e completo desrespeito pela segurançapessoal." -" Embora não seja tão eficiente quanto um soldador de fábrica, eleservirá em " -"um aperto." #: lang/json/TOOL_from_json.py msgid "wooden smoother" @@ -75602,47 +79909,6 @@ msgid_plural "hobo stoves" msgstr[0] "" msgstr[1] "" -#. ~ Use action msg for hobo stove. -#: lang/json/TOOL_from_json.py -msgid "The hobo stove is lit." -msgstr "" - -#. ~ Use action need_fire_msg for hobo stove. -#: lang/json/TOOL_from_json.py src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -msgid "You need a source of fire!" -msgstr "Você precisa de uma fonte de fogo!" - -#. ~ Description for hobo stove -#. ~ Description for hobo stove (lit) -#: lang/json/TOOL_from_json.py -msgid "" -"This is a small improvised wood stove, made from a metal can or similar " -"container of the right size. Useful for defrosting and reheating food, uses" -" simple tinder." -msgstr "" - -#: lang/json/TOOL_from_json.py -msgid "hobo stove (lit)" -msgid_plural "hobo stoves (lit)" -msgstr[0] "" -msgstr[1] "" - -#. ~ Use action menu_text for hobo stove (lit). -#: lang/json/TOOL_from_json.py -msgid "Heat up food" -msgstr "" - -#. ~ Use action msg for hobo stove (lit). -#: lang/json/TOOL_from_json.py src/iuse.cpp -msgid "You heat up the food." -msgstr "Você aquece a comida." - -#. ~ Use action msg for hobo stove (lit). -#. ~ Use action msg for ember carrier (lit). -#: lang/json/TOOL_from_json.py -msgid "The ember is extinguished." -msgstr "fogareiro hobo (aceso) A brasa se extingue." - #: lang/json/TOOL_from_json.py msgid "ember carrier" msgid_plural "ember carriers" @@ -75654,6 +79920,11 @@ msgstr[1] "" msgid "You light the tinder." msgstr "portador de brasa Você acende o material inflamável." +#. ~ Use action need_charges_msg for ember carrier. +#: lang/json/TOOL_from_json.py +msgid "The ember carrier is out of tinder." +msgstr "" + #. ~ Use action need_fire_msg for ember carrier. #: lang/json/TOOL_from_json.py msgid "You need a lighter or fire to light this." @@ -75828,8 +80099,8 @@ msgstr[1] "" #. ~ Description for grip hook #: lang/json/TOOL_from_json.py msgid "" -"A simple steel meathook with a circular steel handle. Makes a passable melee" -" weapon." +"A simple steel meathook with a circular steel handle. Makes a passable " +"melee weapon." msgstr "" #: lang/json/TOOL_from_json.py @@ -76220,7 +80491,7 @@ msgstr "" #. ~ Description for inactive TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M16A4. Using this item " +"This is an inactive TALON UGV equipped with an M16A4. Using this item " "involves loading the unit with the factory-loaded 5.56x45mm rounds in your " "inventory (if you wish to divide your ammunition, set aside whatever " "5.56x45mm you do NOT want to give the robot) turning it on, and placing it " @@ -76238,7 +80509,7 @@ msgstr[1] "" #. ~ Description for inactive M202A1 TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M202A1. Using this item " +"This is an inactive TALON UGV equipped with an M202A1. Using this item " "involves loading the unit with the M235 rockets in your inventory (if you " "wish to divide your ammunition, set aside whatever M235 rockets you do NOT " "want to give the robot) turning it on, and placing it on the ground. If " @@ -76328,9 +80599,9 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "" "This is a deactivated broken cyborg, the last shreds of its humanity still " -"rotting away. Using this item involves placing it on the ground and " +"rotting away. Using this item involves placing it on the ground and " "reactivating its mechanical body. If reprogrammed and rewired successfully " -"the cyborg will then follow you and attack enemies. You monster." +"the cyborg will then follow you and attack enemies. You monster." msgstr "" #: lang/json/TOOL_from_json.py @@ -76382,7 +80653,7 @@ msgstr "" #. ~ Description for inactive chicken walker #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive chicken walker. Using this item involves placing it on " +"This is an inactive chicken walker. Using this item involves placing it on " "the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm " "cartridge grenades in your inventory (if you wish to divide your ammunition," " set aside whatever ammunition you do NOT want to give the robot) and " @@ -76411,8 +80682,8 @@ msgstr "" #. ~ Description for inactive police bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive police robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive police robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "police bot will then identify you as law enforcement, roam around or follow " "you, and attempt to detain lawbreakers." msgstr "" @@ -76438,7 +80709,7 @@ msgstr "" #. ~ Description for inactive eyebot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive eyebot. Using this item involves turning it on and " +"This is an inactive eyebot. Using this item involves turning it on and " "launching the UAV. If reprogrammed and rewired successfully the eyebot will" " then keep watch for intruders." msgstr "" @@ -76446,8 +80717,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive cleaner bot" msgid_plural "inactive cleaner bots" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "robô faxineiro inativo" +msgstr[1] "robôs faxineiros inativos" #. ~ Use action friendly_msg for inactive cleaner bot. #: lang/json/TOOL_from_json.py @@ -76462,8 +80733,8 @@ msgstr "" #. ~ Description for inactive cleaner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive cleaner bot. Using this item involves placing it on the " -"ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive cleaner bot. Using this item involves placing it on the" +" ground and turning it on. If reprogrammed and rewired successfully the " "cleaner bot will respond to future commands." msgstr "" @@ -76486,8 +80757,8 @@ msgstr "" #. ~ Description for inactive miner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive mining robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive mining robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "miner bot will respond to future commands." msgstr "" @@ -76511,9 +80782,9 @@ msgstr "" #. ~ Description for inactive riot control bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive riot control bot. Using this item involves placing it on" -" the ground and turning it on. If reprogrammed and rewired successfully the" -" robot will bring order and peace to the horde." +"This is an inactive riot control bot. Using this item involves placing it " +"on the ground and turning it on. If reprogrammed and rewired successfully " +"the robot will bring order and peace to the horde." msgstr "" #: lang/json/TOOL_from_json.py @@ -76535,7 +80806,7 @@ msgstr "" #. ~ Description for inactive skitterbot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive skitterbot. Using this item involves placing it on the " +"This is an inactive skitterbot. Using this item involves placing it on the " "ground and turning it on. If reprogrammed and rewired successfully the " "robot will race towards enemies and shock them." msgstr "" @@ -76589,7 +80860,7 @@ msgstr "" #. ~ Description for inactive tank drone #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " +"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " "it on the ground, loading the unit with the factory-loaded 5.56 rounds and " "40mm cartridge grenades in your inventory (if you wish to divide your " "ammunition, set aside whatever ammunition you do NOT want to give the robot)" @@ -76619,8 +80890,8 @@ msgstr "" #. ~ Description for inactive tripod #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Honda Regnal. Using this item involves placing it on the" -" ground, wondering how it fuels its flamethrower and turning it on. If " +"This is an inactive Honda Regnal. Using this item involves placing it on " +"the ground, wondering how it fuels its flamethrower and turning it on. If " "reprogrammed and rewired successfully the tribot will then identify you as " "an ally, roam around or follow you, and impale hostiles with its spiked " "cable weapons." @@ -76646,10 +80917,10 @@ msgstr "" #. ~ Description for inactive milspec searchlight #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive military-grade automated searchlight. Using this item " +"This is an inactive military-grade automated searchlight. Using this item " "involves placing it on the ground and turning it on. If reprogrammed and " "rewired successfully the searchlight will then identify you as an ally, " -"survey the area, and illuminate approaching hostiles. Seems to have an " +"survey the area, and illuminate approaching hostiles. Seems to have an " "unhealthy fascination with you." msgstr "" @@ -77018,7 +81289,7 @@ msgstr[1] "" msgid "" "This farming tool has been modified into an improvised weapon by rotating " "its blade 90 degrees, transforming it into a deadly giant blade on the end " -"of a stick. However it's quite fragile." +"of a stick. However it's quite fragile." msgstr "" #: lang/json/TOOL_from_json.py @@ -77125,6 +81396,21 @@ msgstr "" "pode ser fatal tanto nas mãos certas quanto quando conectada " "comoumabaioneta." +#: lang/json/TOOL_from_json.py +msgid "modified combat knife" +msgid_plural "modified combat knives" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for modified combat knife +#: lang/json/TOOL_from_json.py +msgid "" +"This is a military combat knife. It is light and extremely sharp, and could" +" be deadly in either the right hands or when attached as a bayonet. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hunting knife" msgid_plural "hunting knives" @@ -77520,6 +81806,21 @@ msgstr "" "pode ser anexada à frente de uma arma de fogo ou uma besta, convertendo- aem" " umalança." +#: lang/json/TOOL_from_json.py +msgid "modified sword bayonet" +msgid_plural "modified sword bayonets" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for modified sword bayonet +#: lang/json/TOOL_from_json.py +msgid "" +"A sword bayonet is a large slashing weapon that can be attached to the front" +" of a firearm or crossbow converting it into a pike. This one was modified " +"and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" + #. ~ Description for tanto #: lang/json/TOOL_from_json.py msgid "" @@ -77632,6 +81933,57 @@ msgstr "" " Esta é uma enorme espada curva de duas mãos do Japão. É surpreendentemente " "leve para o seu tamanho." +#: lang/json/TOOL_from_json.py +msgid "electrified foil" +msgid_plural "electrified foils" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for electrified foil +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing foil may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "electrified épée" +msgid_plural "electrified épées" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for electrified épée +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing épée may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "electrified saber" +msgid_plural "electrified sabers" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for electrified saber +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing saber may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired to the tip along the saber's groove. Thrusting the " +"sharpened tip into a foe and activating the momentary switch will deliver a " +"painful electric shock." +msgstr "" + #. ~ Description for broadsword #: lang/json/TOOL_from_json.py msgid "" @@ -78039,6 +82391,34 @@ msgstr "" " pedaço de plásticoEste é um pedaço de plástico. Pode ser usadoparafabricar," " reparar ou reforçar itens de plástico." +#: lang/json/TOOL_from_json.py +msgid "synthetic fabric" +msgid_plural "synthetic fabrics" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for synthetic fabric +#: lang/json/TOOL_from_json.py +msgid "" +"This is small bolt of synthetic fabric. Unlike you and other natural " +"materials, it won't degrade much with age. Maybe that's less of a bad thing" +" now." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "lycra patch" +msgid_plural "lycra patches" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for lycra patch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small bolt of a synthetic fabric blended with stretchy lycra " +"fibers. It could be used to make flexible yet strong clothing. Stylish, " +"but bad for the environment; at least you're recycling it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hexamine stove" msgid_plural "hexamine stoves" @@ -78460,15 +82840,15 @@ msgid "" "for people with asthma. A mild stimulant, it may cause nervousness or " "tremors." msgstr "" -" inalador inalador Albuterol. Usado no tratamento de broncoespasmo, é " -"umatábua de salvação para as pessoas com asma. Um estimulante leve, " -"podecausar nervosismo ou tremores." +"inalador de Albuterol. Usado no tratamento de broncoespasmos, é uma salvação" +" para as pessoas com asma. Um estimulante leve, pode causar nervosismo ou " +"tremores." #: lang/json/TOOL_from_json.py msgid "RC control" msgid_plural "RC controls" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "controle remoto de carrinho" +msgstr[1] "controles remotos de carrinho" #. ~ Description for RC control #: lang/json/TOOL_from_json.py @@ -78477,27 +82857,26 @@ msgid "" "buttons that don't seem to do anything. Perhaps they were for the deluxe " "model?" msgstr "" -" Controle RC Um controle remoto para carros RC, com joystick para dirigir " -"ocarro e botões coloridos que não parecem fazer nada. Talvez eles fossempara" -" o modelo de luxo?" +"Um controle remoto para carrinhos de controle remoto, com joystick para " +"dirigir o carro e botões coloridos que não parecem fazer nada. Talvez eles " +"fossem para o modelo de luxo?" #: lang/json/TOOL_from_json.py msgid "RC car" msgid_plural "RC cars" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "carrinho de controle remoto" +msgstr[1] "carrinhos de controle remoto" #. ~ Description for RC car #: lang/json/TOOL_from_json.py msgid "A remote-controlled car. Fun for young and old alike." -msgstr "" -" Carro de RC Um carro de controle remoto. Diversão para jovens e velhos." +msgstr "Um carrinho de controle remoto. Diversão para jovens e velhos." #: lang/json/TOOL_from_json.py msgid "RC car (on)" msgid_plural "RC cars (on)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "carrinhos de controle remoto (ligado)" +msgstr[1] "carrinhos de controle remoto (ligados)" #. ~ Description for RC car (on) #: lang/json/TOOL_from_json.py @@ -78505,9 +82884,8 @@ msgid "" "This remote-controlled car is on, and draining its batteries just like a " "real electric car! Use a remote control to drive it around." msgstr "" -" Carro RC (ligado) Este carro de controle remoto está ligado e drenando " -"suasbaterias como um verdadeiro carro elétrico! Use um controle remoto " -"paradirigi-lo." +"Este carrinho de controle remoto está ligado e drenando suas baterias como " +"um verdadeiro carro elétrico! Use um controle remoto para dirigi-lo por aí." #: lang/json/TOOL_from_json.py msgid "radio activation mod" @@ -78527,8 +82905,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "radio (off)" msgid_plural "radios (off)" -msgstr[0] "rádio (off)" -msgstr[1] "rádios (off)" +msgstr[0] "rádio (desligado)" +msgstr[1] "rádios (desligados)" #. ~ Description for radio (off) #: lang/json/TOOL_from_json.py @@ -78537,14 +82915,14 @@ msgid "" "any nearby signals being broadcast and play them audibly." msgstr "" "Isso é um rádio portátil. Utilizar esse rádio irá ligá-lo. Ele sintonizará " -"com qualquer sinal próximo sendo transmitido e começará a tocar " +"com qualquer sinal próximo sendo transmitido e começará a tocá-lo " "audivelmente." #: lang/json/TOOL_from_json.py msgid "radio (on)" msgid_plural "radios (on)" -msgstr[0] "rádio (on)" -msgstr[1] "rádios (on)" +msgstr[0] "rádio (ligado)" +msgstr[1] "rádios (ligados)" #. ~ Description for radio (on) #: lang/json/TOOL_from_json.py @@ -78552,9 +82930,9 @@ msgid "" "This portable radio is turned on, and continually draining its batteries. " "It is playing the broadcast being sent from any nearby radio towers." msgstr "" -" rádio (ligado) Este rádio portátil está ligado e drenando continuamentesuas" -" baterias. Está tocando a transmissão que está sendo enviada de todasas " -"torres de rádio próximas." +"Este rádio portátil está ligado e drenando continuamente suas baterias. Está" +" tocando a transmissão que está sendo enviada de todas as torres de rádio " +"próximas." #: lang/json/TOOL_from_json.py msgid "two-way radio" @@ -78566,18 +82944,14 @@ msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "" "This is a radio with a transmitting unit. You could use it to contact " -"someone who also has one. Unfortunately no one seems to use those " -"nowadays..." +"someone who also has one. Unfortunately no one seems to use those nowadays…" msgstr "" -" rádio bidirecional Este é um rádio com uma unidade de transmissão. " -"Vocêpoderia usá-lo para contatar alguém que também tenha um. " -"Infelizmenteninguém parece usá-los hoje em dia ..." #: lang/json/TOOL_from_json.py msgid "remote vehicle controller" msgid_plural "remote vehicle controllers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "controle remoto de veículo" +msgstr[1] "controles remotos de veículo" #. ~ Description for remote vehicle controller #: lang/json/TOOL_from_json.py @@ -78585,15 +82959,14 @@ msgid "" "A remote controller for real cars. Can turn onboard devices on and off. " "Some cars can be driven remotely." msgstr "" -" controle remoto do veículo Um controle remoto para carros reais. Pode " -"ligare desligar os dispositivos onboard. Alguns carros podem ser " -"acionadosremotamente." +"Um controle remoto para carros reais. Pode ligar e desligar os dispositivos " +"do painel. Alguns carros podem ser dirigidos remotamente." #: lang/json/TOOL_from_json.py msgid "chemistry set" msgid_plural "chemistry sets" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "conjunto de química" +msgstr[1] "conjuntos de química" #. ~ Description for chemistry set #: lang/json/TOOL_from_json.py @@ -78602,16 +82975,16 @@ msgid "" "containers, hoses, metal wire, a hotplate, and safety glasses. It might be " "used to craft some chemistry projects if you're so inclined." msgstr "" -" conjunto de química Este é um conjunto de química armazenado em uma caixa. " -"O conteúdo inclui recipientes de vidro, mangueiras, fios de metal, placa " -"deaquecimento e óculos de segurança. Pode ser usado para criar " -"algunsprojetos de química, se você é tão inclinado." +"Este é um conjunto de química armazenado em uma caixa. O conteúdo inclui " +"recipientes de vidro, mangueiras, fios de metal, uma placa de aquecimento e " +"óculos de segurança. Pode ser usado para criar alguns projetos de química, " +"se você quiser." #: lang/json/TOOL_from_json.py msgid "basic chemistry set" msgid_plural "basic chemistry sets" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "conjunto básico de química" +msgstr[1] "conjuntos básicos de química" #. ~ Description for basic chemistry set #: lang/json/TOOL_from_json.py @@ -78620,16 +82993,16 @@ msgid "" "safety glasses. It might be used to craft some chemistry projects if you're" " so inclined, but you'll need a source of heat." msgstr "" -" Este é um conjunto básico de química que inclui recipientes de vidro, " -"mangueiras e óculos de segurança. Pode ser usado para criar alguns " -"projetosde química, se você estiver inclinado, mas precisará de uma fonte de" -" calor." +"Este é um conjunto básico de química que inclui recipientes de vidro, " +"mangueiras e óculos de segurança. Pode ser usado para criar alguns projetos " +"de química, se você se sentir inclinado a isso, mas precisará de uma fonte " +"de calor." #: lang/json/TOOL_from_json.py msgid "basic laboratory analysis kit" msgid_plural "basic laboratory analysis kits" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "conjunto básico de análise de laboratório" +msgstr[1] "conjuntos básicos de análise de laboratório" #. ~ Description for basic laboratory analysis kit #: lang/json/TOOL_from_json.py @@ -78640,18 +83013,18 @@ msgid "" " for thin layer chromatography. This makes it a lot easier to feel " "confident that the chemical you've made is what you think you've made." msgstr "" -" Este kit pesado contém algumas coisas básicas que você provavelmente " -"nãodeve tentar fazer química precisa sem: ou seja, uma pequena escala " -"deequilíbrio, um espectrofotômetro, um aparelho de ponto de fusão, um " -"medidorde pH e um conjunto de papel para cromatografia em camada fina . Isso" -" tornamuito mais fácil se sentir confiante de que o produto químico que " -"vocêcriou é o que você acha que fez." +"Este kit pesado contém algumas coisas básicas, sem as quais você " +"provavelmente não deve tentar fazer química precisa: ou seja, uma pequena " +"balança de equilíbrio, um espectrofotômetro, um aparelho de ponto de fusão, " +"um medidor de pH e um conjunto de papel para cromatografia em camada fina. " +"Isso torna muito mais fácil se sentir confiante de que o produto químico que" +" você criou é o que você acha que fez." #: lang/json/TOOL_from_json.py msgid "small weight scale" msgid_plural "small weight scales" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "balança de pesos pequenos" +msgstr[1] "balanças de pesos pequenos" #. ~ Description for small weight scale #: lang/json/TOOL_from_json.py @@ -78659,15 +83032,14 @@ msgid "" "This is a simple scale that uses a set of steel weights on sliding bars to " "measure a sample's mass quite accurately." msgstr "" -" escala de peso pequeno Esta é uma escala simples que usa um conjunto " -"depesos de aço em barras deslizantes para medir a massa de uma amostra " -"combastante precisão." +"Esta é uma balança simples que usa um conjunto de pesos de aço em barras " +"deslizantes para medir a massa de uma amostra com bastante precisão." #: lang/json/TOOL_from_json.py msgid "spectrophotometer" msgid_plural "spectrophotometers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "espectrofotômetro" +msgstr[1] "espectrofotômetros" #. ~ Description for spectrophotometer #: lang/json/TOOL_from_json.py @@ -78675,15 +83047,14 @@ msgid "" "This ubiquitous analytical chemistry tool measures the light absorption of a" " liquid sample in a special tube called a cuvette." msgstr "" -" espectrofotômetro Esta ferramenta de química analítica onipresente mede " -"aabsorção de luz de uma amostra líquida em um tubo especial chamado " -"decuvete." +"Esta ferramenta de química analítica onipresente mede a absorção de luz de " +"uma amostra líquida em um tubo especial chamado de cubeta ou cuvete." #: lang/json/TOOL_from_json.py msgid "set of spectrometry cuvettes" msgid_plural "sets of spectrometry cuvettes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "conjunto de cubetas de espectrometria" +msgstr[1] "conjuntos de cubetas de espectrometria" #. ~ Description for set of spectrometry cuvettes #: lang/json/TOOL_from_json.py @@ -78691,15 +83062,14 @@ msgid "" "This is a small box filled with precisely calibrated square plastic tubes " "for laboratory spectrometer use." msgstr "" -" conjunto de cuvetes de espectrometria Esta é uma pequena caixa cheia " -"detubos de plástico quadrados precisamente calibrados para uso " -"emespectrômetros de laboratório." +" Esta é uma pequena caixa cheia de tubos de plástico quadrados precisamente " +"calibrados para uso em espectrômetros de laboratório." #: lang/json/TOOL_from_json.py msgid "pH meter" msgid_plural "pH meters" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "medidor de pH" +msgstr[1] "medidores de pH" #. ~ Description for pH meter #: lang/json/TOOL_from_json.py @@ -78708,9 +83078,9 @@ msgid "" "probe into a calibration solution (conveniently included) and the other in a" " substance, you can calculate the acidity." msgstr "" -" Medidor de pH Este é basicamente um par de sondas de vidro em umvoltímetro." -" Colocando uma sonda em uma solução de calibração(convenientemente incluída)" -" e a outra em uma substância, você pode calculara acidez." +"Este é basicamente um par de sondas de vidro em um voltímetro. Colocando uma" +" sonda em uma solução de calibração (convenientemente incluída) e a outra em" +" uma substância, você pode calcular a acidez." #: lang/json/TOOL_from_json.py msgid "voltmeter" @@ -78772,7 +83142,7 @@ msgstr[1] "" #. ~ Description for microscope #: lang/json/TOOL_from_json.py msgid "" -"A classic tool for the ages! This hefty, durable piece of lab equipment " +"A classic tool for the ages! This hefty, durable piece of lab equipment " "makes small things look bigger. Without electricity the light doesn't work," " but the rest of it is surprisingly functional. Unfortunately it's not " "useful for very much at the moment." @@ -78977,7 +83347,7 @@ msgstr[1] "" msgid "" "A long, thick, heavy-duty cable with power leads on either end. It looks " "like you could use it to hook up two vehicles to each other, though you " -"expect the power loss would be noticeable. Can also link other electrical " +"expect the power loss would be noticeable. Can also link other electrical " "systems." msgstr "" @@ -79364,8 +83734,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "companion potato" msgid_plural "companion potatos" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "batata companheira" +msgstr[1] "batatas companheiras" #. ~ Description for companion potato #: lang/json/TOOL_from_json.py @@ -79373,18 +83743,125 @@ msgid "" "Seems like some kind of Genetic Lifeform and Disk Operating System, attached" " to a potato." msgstr "" -" batata companheira Parece algum tipo de Forma Genética e SistemaOperacional" -" de Disco, ligado a uma batata." +"Parece ser algum tipo de Forma Genética e Sistema Operacional de Disco, " +"ligados a uma batata." #: lang/json/TOOL_from_json.py -msgid "Magic Wand" -msgid_plural "Magic Wands" +msgid "heat cube" +msgid_plural "heat cubes" +msgstr[0] "cubo de calor" +msgstr[1] "cubos de calor" + +#. ~ Use action menu_text for heat cube. +#: lang/json/TOOL_from_json.py +msgid "Activate torch mode" +msgstr "Ativar modo de tocha" + +#. ~ Use action msg for heat cube. +#: lang/json/TOOL_from_json.py +msgid "" +"You push the torch button and the cube emits a large flame from the top, one" +" that does radiate heat, but won't burn anything." +msgstr "" + +#. ~ Description for heat cube +#: lang/json/TOOL_from_json.py +msgid "" +"A smooth steel cube the size of your fist. Several buttons on the sides " +"activate the powers of the cube." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "heat cube (torch on)" +msgid_plural "heat cubes (torch on)" +msgstr[0] "cubo de calor (tocha acesa)" +msgstr[1] "cubos de calor (tocha acesa)" + +#. ~ Use action msg for heat cube (torch on). +#: lang/json/TOOL_from_json.py +msgid "The torch flame is extinguished." +msgstr "A chama da tocha é extinguida." + +#. ~ Description for heat cube (torch on) +#: lang/json/TOOL_from_json.py +msgid "" +"The heat cube in the torch configuration, where it emits warmth and a bright" +" flame that does not burn." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "skeleton key of opening" +msgid_plural "skeleton key of opening" msgstr[0] "" msgstr[1] "" +#. ~ Description for skeleton key of opening +#: lang/json/TOOL_from_json.py +msgid "" +"A small gold skeleton key. You can activate it to unlock locked things." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "everburning torch" +msgid_plural "everburning torches" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for everburning torch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality engraved wooden torch. On command, the tip bursts " +"into flame and produces a fair amount of light. It will burn forever." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "enchanted tailor's kit" +msgid_plural "enchanted tailor's kits" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for enchanted tailor's kit +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality, engraved steel kit with a variety of needles, some " +"plastic spools for thread, some small scissors, even a small heating element" +" for melting and joining plastic. Use a tailor's kit to customize your " +"clothing and armor. This uses your tailoring skill. It also contains one " +"of those magic spiders that constantly, if slowly, makes new thread." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "spider box" +msgid_plural "spider boxes" +msgstr[0] "caixa de aranha" +msgstr[1] "caixas de aranha" + +#. ~ Description for spider box +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small glass box that contains a spider that diligently works day " +"and night to produce silk thread that it stores in a reservoir you can open " +"and retrieve it from." +msgstr "" +"Isto é uma pequena caixa de vidro que contém uma aranha, trabalhando " +"diligentemente dia e noite para produzir fios de seda, que são então " +"armazenados em um recipiente que você pode abrir para coletar." + +#: lang/json/TOOL_from_json.py +msgid "Magic Wand" +msgid_plural "Magic Wands" +msgstr[0] "Varinha Mágica" +msgstr[1] "Varinhas Mágicas" + +#: lang/json/TOOL_from_json.py +msgid "Disposable Wand" +msgid_plural "Disposable Wands" +msgstr[0] "Varinha Descartável" +msgstr[1] "Varinhas Descartáveis" + #: lang/json/TOOL_from_json.py msgid "minor wand of magic missile" -msgid_plural "minor wand of magic missiles" +msgid_plural "minor wands of magic missile" msgstr[0] "" msgstr[1] "" @@ -79399,19 +83876,19 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of magic missile" -msgid_plural "lesser wand of magic missiles" +msgid_plural "lesser wands of magic missile" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of magic missile" -msgid_plural "greater wand of magic missiles" +msgid_plural "greater wands of magic missile" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of fireball" -msgid_plural "minor wand of fireballs" +msgid_plural "minor wands of fireball" msgstr[0] "" msgstr[1] "" @@ -79426,19 +83903,19 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of fireball" -msgid_plural "lesser wand of fireballs" +msgid_plural "lesser wands of fireball" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of fireball" -msgid_plural "greater wand of fireballs" +msgid_plural "greater wands of fireball" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of mana beam" -msgid_plural "minor wand of mana beams" +msgid_plural "minor wands of mana beam" msgstr[0] "" msgstr[1] "" @@ -79453,19 +83930,19 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of mana beam" -msgid_plural "lesser wand of mana beams" +msgid_plural "lesser wands of mana beam" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of mana beam" -msgid_plural "greater wand of mana beams" +msgid_plural "greater wands of mana beam" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of point flare" -msgid_plural "minor wand of point flares" +msgid_plural "minor wands of point flare" msgstr[0] "" msgstr[1] "" @@ -79480,46 +83957,46 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of point flare" -msgid_plural "lesser wand of point flares" +msgid_plural "lesser wands of point flare" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of point flare" -msgid_plural "greater wand of point flares" +msgid_plural "greater wands of point flare" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py -msgid "minor wand of iceball" -msgid_plural "minor wand of iceballs" +msgid "minor wand of hoary blast" +msgid_plural "minor wands of hoary blast" msgstr[0] "" msgstr[1] "" -#. ~ Description for minor wand of iceball -#. ~ Description for lesser wand of iceball -#. ~ Description for greater wand of iceball +#. ~ Description for minor wand of hoary blast +#. ~ Description for lesser wand of hoary blast +#. ~ Description for greater wand of hoary blast #: lang/json/TOOL_from_json.py msgid "" "A slender wooden wand with a mana crystal socket at the base that casts a " -"spell when activated. This wand casts iceball." +"spell when activated. This wand casts hoary blast." msgstr "" #: lang/json/TOOL_from_json.py -msgid "lesser wand of iceball" -msgid_plural "lesser wand of iceballs" +msgid "lesser wand of hoary blast" +msgid_plural "lesser wands of hoary blast" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py -msgid "greater wand of iceball" -msgid_plural "greater wand of iceballs" +msgid "greater wand of hoary blast" +msgid_plural "greater wands of hoary blast" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "minor wand of cone of cold" -msgid_plural "minor wand of cone of colds" +msgid_plural "minor wands of cone of cold" msgstr[0] "" msgstr[1] "" @@ -79534,13 +84011,175 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of cone of cold" -msgid_plural "lesser wand of cone of colds" +msgid_plural "lesser wands of cone of cold" msgstr[0] "" msgstr[1] "" #: lang/json/TOOL_from_json.py msgid "greater wand of cone of cold" -msgid_plural "greater wand of cone of colds" +msgid_plural "greater wands of cone of cold" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of magic missile" +msgid_plural "disposable minor wands of magic missile" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of magic missile +#. ~ Description for disposable lesser wand of magic missile +#. ~ Description for disposable greater wand of magic missile +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts magic missile." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of magic missile" +msgid_plural "disposable lesser wands of magic missile" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of magic missile" +msgid_plural "disposable greater wands of magic missile" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of fireball" +msgid_plural "disposable minor wands of fireball" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of fireball +#. ~ Description for disposable lesser wand of fireball +#. ~ Description for disposable greater wand of fireball +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts fireball." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of fireball" +msgid_plural "disposable lesser wands of fireball" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of fireball" +msgid_plural "disposable greater wands of fireball" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of mana beam" +msgid_plural "disposable minor wands of mana beam" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of mana beam +#. ~ Description for disposable lesser wand of mana beam +#. ~ Description for disposable greater wand of mana beam +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts mana beam." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of mana beam" +msgid_plural "disposable lesser wands of mana beam" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of mana beam" +msgid_plural "disposable greater wands of mana beam" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of point flare" +msgid_plural "disposable minor wands of point flare" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of point flare +#. ~ Description for disposable lesser wand of point flare +#. ~ Description for disposable greater wand of point flare +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts point flare." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of point flare" +msgid_plural "disposable lesser wands of point flare" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of point flare" +msgid_plural "disposable greater wands of point flare" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of hoary blast" +msgid_plural "disposable minor wands of hoary blast" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of hoary blast +#. ~ Description for disposable lesser wand of hoary blast +#. ~ Description for disposable greater wand of hoary blast +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts hoary blast." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of hoary blast" +msgid_plural "disposable lesser wands of hoary blast" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of hoary blast" +msgid_plural "disposable greater wands of hoary blast" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of cone of cold" +msgid_plural "disposable minor wands of cone of cold" +msgstr[0] "" +msgstr[1] "" + +#. ~ Description for disposable minor wand of cone of cold +#. ~ Description for disposable lesser wand of cone of cold +#. ~ Description for disposable greater wand of cone of cold +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts cone of cold." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of cone of cold" +msgid_plural "disposable lesser wands of cone of cold" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of cone of cold" +msgid_plural "disposable greater wands of cone of cold" msgstr[0] "" msgstr[1] "" @@ -79562,8 +84201,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "stone chisel" msgid_plural "stone chisels" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "formão de pedra" +msgstr[1] "formões de pedra" #. ~ Description for stone chisel #: lang/json/TOOL_from_json.py @@ -79571,6 +84210,8 @@ msgid "" "This is a short stone chisel. It can be used to engrave on stone, wood, or " "soft metals." msgstr "" +"Isto é um formão de pedra curto. Pode ser usado para gravar em pedra, " +"madeira, ou metais moles." #: lang/json/TOOL_from_json.py msgid "tanning black dragon hide" @@ -79624,7 +84265,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "Magus rune" -msgid_plural "Magus runes" +msgid_plural "Magi runes" msgstr[0] "" msgstr[1] "" @@ -79764,7 +84405,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "wand of fireballs" -msgid_plural "wand of fireballss" +msgid_plural "wands of fireball" msgstr[0] "" msgstr[1] "" @@ -79777,7 +84418,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "wand of magic missiles" -msgid_plural "wand of magic missiless" +msgid_plural "wands of magic missile" msgstr[0] "" msgstr[1] "" @@ -80309,12 +84950,6 @@ msgstr "" " snare trigger Este é um stick que foi cortado em um mecanismo de " "gatilhopara uma armadilha de caixa." -#: lang/json/TOOL_from_json.py -msgid "Laevateinn" -msgid_plural "Laevateinns" -msgstr[0] "" -msgstr[1] "" - #. ~ Description for Laevateinn #: lang/json/TOOL_from_json.py msgid "" @@ -80694,9 +85329,9 @@ msgid "" "lights, and programmed to dance. Activate this item to get the party " "started." msgstr "" -" bot inativo de festa Um medibot recheado recheado com maconha, coberto " -"deluzes intermitentes multicoloridas e programado para dançar. Ative " -"esteitem para iniciar a festa." +"Um medibot reprogramado, recheado com maconha, coberto deluzes intermitentes" +" multicoloridas e programado para dançar. Ative este item para iniciar a " +"festa." #: lang/json/TOOL_from_json.py msgid "inactive rat snatcher" @@ -80711,9 +85346,9 @@ msgid "" "with pincers and an integrated tazer. Activate this item to deploy the " "robot." msgstr "" -" skitterbot inativo snatcher de rato inativo Um skitterbot " -"recuperadoreaproveitado para caçar caça pequena. Ele ataca alvos com pinças " -"e umtazer integrado. Ative este item para implantar o robô." +"Um skitterbot recuperado e reaproveitado para caçar animais pequenos. Ele " +"ataca alvos com pinças e um tazer integrado. Use este item para ativar o " +"robô." #: lang/json/TOOL_from_json.py msgid "inactive grab-bot" @@ -80727,8 +85362,8 @@ msgid "" "A salvaged skitterbot repurposed to grab onto and immobilize enemies. " "Activate this item to deploy the robot." msgstr "" -" inactive grab-bot Um skitterbot recuperado reaproveitado para agarrar " -"eimobilizar inimigos. Ative este item para implantar o robô." +"Um skitterbot recuperado e reaproveitado para agarrar e imobilizar inimigos." +" Use este item para ativar o robô." #: lang/json/TOOL_from_json.py msgid "inactive pest hunter" @@ -80742,9 +85377,8 @@ msgid "" "A salvaged skitterbot refitted with an 8mm integrated firearm. Activate " "this item, with ammo in your inventory, to load and deploy the robot." msgstr "" -" caçador inativo de pragas Um skitterbot recuperado foi reformado com " -"umaarma de fogo integrada de 8mm. Ative este item, com munição em " -"seuinventário, para carregar e implantar o robô." +"Um skitterbot recuperado e reformado com uma arma de fogo integrada de 8mm. " +"Use este item, com munição em seuinventário, para carregar e ativar o robô." #: lang/json/TOOL_from_json.py msgid "inactive cyborg" @@ -80765,9 +85399,9 @@ msgid "" "animate head retains some of its ability to revive zombies. Activate this " "item to deploy the robot." msgstr "" -" cyborg inativo cyborg inativo necrótico Um cyborg recuperado com a cabeçade" -" um necromante zumbi. A cabeça animada mantém algumas de suas " -"habilidadespara reviver zumbis. Ative este item para implantar o robô." +"Um cyborg recuperado com a cabeça de um necromante zumbi. A cabeça animada " +"mantém algumas de suas habilidades para reviver zumbis. Use este item para " +"ativar o robô." #: lang/json/TOOL_from_json.py msgid "inactive defense robot" @@ -80788,9 +85422,9 @@ msgid "" " Activate this item, with ammo in your inventory, to load and deploy the " "robot." msgstr "" -" inactivo defesa robô inactivo ferro-velho vaqueiro Um robô de " -"defesarecuperado equipado com uma espingarda e duas serras circulares. Ative" -" esteitem, com munição em seu inventário, para carregar e implantar o robô." +"Um robô de defesa recuperado e equipado com uma espingarda e duas serras " +"circulares. Use este item, com munição em seu inventário, para carregar e " +"ativar o robô." #: lang/json/TOOL_from_json.py msgid "inactive shortcircuit samurai" @@ -80804,9 +85438,8 @@ msgid "" "A salvaged defense robot refitted with an integrated tazer and two " "electrified blades. Activate this item to deploy the robot." msgstr "" -" samurai de curto-circuito inativo Um robô de defesa recuperado equipado " -"comum tazer integrado e duas lâminas eletrificadas. Ative este item " -"paraimplantar o robô." +"Um robô de defesa recuperado e equipado com um tazer integrado e duas " +"lâminas eletrificadas. Ative este item para ativar o robô." #: lang/json/TOOL_from_json.py msgid "inactive slapdash paladin" @@ -80821,10 +85454,10 @@ msgid "" "searing hot blades. Activate this item, with gasoline in your inventory, to" " load and deploy the robot... preferably far from anything flammable" msgstr "" -" Um paladino de defesa recuperado foi reformado com um lança-chamas caseiroe" -" duas lâminas quentes. Ative este item, com gasolina em seu inventário, para" -" carregar e implantar o robô ... de preferência longe de qualquer " -"coisainflamável" +" Um paladino de defesa recuperado e reformado com um lança-chamas caseiro e " +"duas lâminas aquecidas. Ative este item, com gasolina em seu inventário, " +"para carregar e ativar o robô... de preferência longe de qualquer coisa " +"inflamável." #: lang/json/TOOL_from_json.py msgid "inactive military robot" @@ -80839,9 +85472,9 @@ msgid "" "electric prod. Activate this item, with ammo in your inventory, to load and" " deploy the robot." msgstr "" -" robot militar inactivo Um robot militar não motorizado equipado com umaarma" -" de fogo 7.62 integrada e um gerador eléctrico. Ative este item, communição " -"em seu inventário, para carregar e implantar o robô." +"Um robot militar desligado, equipado com uma arma de fogo 7.62 integrada e " +"um gerador elétrico. Ative este item, com munição em seu inventário, para " +"carregar e ativar o robô." #: lang/json/TOOL_from_json.py msgid "inactive robo-guardian" @@ -80856,9 +85489,9 @@ msgid "" "Activate this item, with ammo in your inventory, to load and deploy the " "robot." msgstr "" -" inativo robo-gaurdian Um robô militar resgatado reformado com um par " -"dearmas de fogo integradas de 9mm. Ative este item, com munição em " -"seuinventário, para carregar e implantar o robô." +"Um robô militar resgatado e reformado com um par de armas de fogo integradas" +" de 9mm. Use este item, com munição em seu inventário, para carregar e " +"ativar o robô." #: lang/json/TOOL_from_json.py msgid "inactive robote deluxe" @@ -80874,11 +85507,10 @@ msgid "" "apocalypse in style. Activate this item, with ammo in your inventory, to " "load and deploy the robot." msgstr "" -" inativo robote deluxe Um robô banhado a ouro cravejado de diamantes " -"armadocom um par de armas de fogo integradas de 9mm. Um luxo opulento- " -"botadequado para aqueles que desejam sobreviver ao apocalipse em " -"grandeestilo. Ative este item, com munição em seu inventário, para carregar " -"eimplantar o robô." +"Um robô banhado a ouro e cravejado de diamantes armado com um par de armas " +"de fogo integradas de 9mm. Um luxo opulento adequado para aqueles que " +"desejam sobreviver ao apocalipse em grande estilo. Use este item, com " +"munição em seu inventário, para carregar e ativar o robô." #: lang/json/TOOL_from_json.py msgid "inactive robo-protector" @@ -80893,9 +85525,9 @@ msgid "" "Activate this item, with ammo in your inventory, to load and deploy the " "robot." msgstr "" -" robo-protetor inativo Um robô militar resgatado reformado com um " -"rifleintegrado de 5.56mm. Ative este item, com munição em seu inventário, " -"paracarregar e implantar o robô." +"Um robô militar resgatado e reformado com um rifle integrado de 5.56mm. " +"Ative este item, com munição em seu inventário, para carregar e ativar o " +"robô." #: lang/json/TOOL_from_json.py msgid "inactive robo-defender" @@ -80909,9 +85541,8 @@ msgid "" "A salvaged military robot refitted with an integrated 50bmg rifle. Activate" " this item, with ammo in your inventory, to load and deploy the robot." msgstr "" -" robo-defensor inativo Um robô militar resgatado reformado com um rifle50bmg" -" integrado. Ative este item, com munição em seu inventário, paracarregar e " -"implantar o robô." +"Um robô militar resgatado e reformado com um rifle 50bmg integrado. Ative " +"este item, com munição em seu inventário, para carregar e ativar o robô." #: lang/json/TOOL_from_json.py msgid "inactive advanced robot" @@ -80932,10 +85563,9 @@ msgid "" " It attacks hostile targets with its two integral lasers and blinding " "flashes. Activate this item to deploy the robot." msgstr "" -" inativo avançado robô inativo resplandecente senhora Um robô " -"avançadorecuperado transformado em um farol luminoso de destruição. Ataca " -"alvoshostis com seus dois lasers integrais e flashes ofuscantes. Ative este " -"itempara implantar o robô." +"Um robô avançado recuperado e transformado em um farol luminoso de " +"destruição. Ataca alvos hostis com seus dois lasers integrais e flashes " +"ofuscantes. Ative este item para ativar o robô." #: lang/json/TOOL_from_json.py msgid "inactive bitter spinster" @@ -80950,9 +85580,9 @@ msgid "" "acid fermenter feeds a ranged glob spitter and sprayer. Activate this item " "to deploy the robot." msgstr "" -" solteira amarga inativa Um robô militar recuperado transformado em " -"ummonstro cáustico. Um fermentador ácido interno alimenta um spitter " -"globglob e pulverizador. Ative este item para implantar o robô." +"Um robô militar recuperado e transformado em um monstro cáustico. Um " +"fermentador de ácido interno alimenta um lançador e pulverizador de glob. " +"Ative este item para ativar o robô." #: lang/json/TOOL_from_json.py msgid "inactive chickenwalker" @@ -80974,10 +85604,9 @@ msgid "" "chainsaws and a deafening sound system. Activate this item to deploy the " "robot." msgstr "" -" inactivo chickenwalker inactivo motosserra horror A recuperadochickenwalker" -" modificado em um monstro horrível adornado com caveiras epicos. Ataca alvos" -" hostis com um par de motosserras zunindo e um sistema desom ensurdecedor. " -"Ative este item para implantar o robô." +"Um chickenwalker recuperado e modificado em um monstro horrível adornado com" +" caveiras e espinhos. Ataca alvos hostis com um par de motosserras zunindo e" +" um sistema de som ensurdecedor. Ative este item para ativar o robô." #: lang/json/TOOL_from_json.py msgid "inactive screeching terror" @@ -80993,10 +85622,9 @@ msgid "" "lances and a deafening sound system. Activate this item to deploy the " "robot." msgstr "" -" Um terrorista recuperado modificado em um horrível monstro adornado " -"comcaveiras e espinhos. Ataca alvos hostis com um par de lanças movidas " -"apistão e um sistema de som ensurdecedor. Ative este item para implantar " -"orobô." +"Um chickenwalker recuperado e modificado em um horrível monstro adornado com" +" caveiras e espinhos. Ataca alvos hostis com um par de lanças movidas a " +"pistão e um sistema de som ensurdecedor. Ative este item para ativar o robô." #: lang/json/TOOL_from_json.py msgid "inactive hooked nightmare" @@ -81012,10 +85640,10 @@ msgid "" " on chains and a deafening sound system. Activate this item to deploy the " "robot." msgstr "" -" pesadelo inativo viciado Um caminhante de galos resgatado modificado em " -"ummonstro horrível adornado com crânios e picos. Ataca alvos hostis com " -"umpar de ganchos giratórios em correntes e um sistema de som ensurdecedor. " -"Ative este item para implantar o robô." +"Um chickenwalker resgatado e modificado em um monstro horrível adornado com " +"crânios e espinhos. Ataca alvos hostis com um par de ganchos giratórios em " +"correntes e um sistema de som ensurdecedor. Ative este item para ativar o " +"robô." #: lang/json/TOOL_from_json.py msgid "inactive tankbot" @@ -81037,10 +85665,9 @@ msgid "" "it uses to crush anything in its way, including buildings. Activate this " "item to deploy the robot." msgstr "" -" inactive tankbot inactive fist king Um tankbot recuperado equipado com " -"umpar de poderosos martelos pneumáticos que ele usa para esmagar " -"qualquercoisa em seu caminho, incluindo edifícios. Ative este item para " -"implantar orobô." +"Um tankbot recuperado e equipado com um par de poderosos martelos " +"pneumáticos que ele usa para esmagar qualquer coisa em seu caminho, " +"incluindo edifícios. Ative este item para ativar o robô." #: lang/json/TOOL_from_json.py msgid "inactive atomic sultan" @@ -81057,7 +85684,7 @@ msgstr[1] "" #. ~ Use action msg for active glowball. #: lang/json/TOOL_from_json.py msgid "The glowball goes dim." -msgstr "sultão atômico inativo glowball ativo O glowball vai escurecer." +msgstr "O glowball escurece." #. ~ Description for active glowball #: lang/json/TOOL_from_json.py @@ -81697,6 +86324,17 @@ msgid "" " terribly when not on a rail." msgstr "" +#: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py +msgid "pair of small rail wheels" +msgstr "" + +#. ~ Description for pair of small rail wheels +#: lang/json/WHEEL_from_json.py +msgid "" +"A pair of small rail wheels. It fits small railroad rails found in places " +"like amusement parks. Mostly for hobby purposes rather then transportation." +msgstr "" + #: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py msgid "motorbike wheel" msgstr "roda de moto" @@ -82107,6 +86745,10 @@ msgstr "" msgid "cranking" msgstr "" +#: lang/json/activity_type_from_json.py +msgid "heating" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "de-stressing" msgstr "" @@ -82404,7 +87046,6 @@ msgid ".410 shot" msgstr "" #: lang/json/ammunition_type_from_json.py lang/json/gun_from_json.py -#: lang/json/gun_from_json.py msgid "blunderbuss" msgid_plural "blunderbusses" msgstr[0] "" @@ -82751,7 +87392,7 @@ msgstr "Chapeamento de liga - armas" #. ~ Description for Alloy Plating - Arms #: lang/json/bionic_from_json.py msgid "" -"The flesh on your arms has been surgically replaced by alloy plating. " +"The flesh on your arms has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" @@ -82790,7 +87431,7 @@ msgstr "Chapeamento de liga - pernas" #. ~ Description for Alloy Plating - Legs #: lang/json/bionic_from_json.py msgid "" -"The flesh on your legs has been surgically replaced by alloy plating. " +"The flesh on your legs has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" @@ -82919,7 +87560,6 @@ msgstr "" "odano por4." #: lang/json/bionic_from_json.py lang/json/gun_from_json.py -#: lang/json/gun_from_json.py msgid "Chain Lightning" msgid_plural "Chain Lightnings" msgstr[0] "" @@ -83143,18 +87783,20 @@ msgstr "EMP Projector Ethanol Burner" #. ~ Description for Ethanol Burner #: lang/json/bionic_from_json.py -msgid "" -"You burn alcohol as fuel in an extremely efficient reaction. However, you " -"will still suffer the inebriating effects of the substance." +msgid "You burn alcohol as fuel in an extremely efficient reaction." msgstr "" -" Queimador de Etanol CBMVocê queima álcool como combustível em " -"umareaçãoextremamente eficiente. No entanto, você ainda sofrerá " -"osefeitosinebriantes da substância." #: lang/json/bionic_from_json.py msgid "Aero-Evaporator" msgstr "Aero-Evaporador" +#. ~ Description for Aero-Evaporator +#: lang/json/bionic_from_json.py +msgid "" +"This unit draws moisture from the surrounding air, which slowly trickles " +"directly into your blood stream. It may fail in very dry environments." +msgstr "" + #: lang/json/bionic_from_json.py msgid "Diamond Cornea" msgstr "Córnea Diamante" @@ -83271,7 +87913,7 @@ msgid "" "You don't think that capacitor is *meant* to glow, but it does, and usually " "at bad times. A malfunctioning bionic randomly turns on and off, causing " "you to glow and making you visible in the dark without improving how much " -"you can see in the slighest." +"you can see in the slightest." msgstr "" #: lang/json/bionic_from_json.py @@ -83439,10 +88081,10 @@ msgstr "" "desagradáveisquandodesligado." #: lang/json/bionic_from_json.py -msgid "Mini-Flamethrower" -msgstr "Mini-lança-chamas" +msgid "Finger Lighter" +msgstr "" -#. ~ Description for Mini-Flamethrower +#. ~ Description for Finger Lighter #: lang/json/bionic_from_json.py msgid "" "The index fingers of both hands have powerful fire starters which extend " @@ -83475,8 +88117,8 @@ msgstr "Unidade eletromagnética" #: lang/json/bionic_from_json.py msgid "" "Surgically embedded in your right hand is a powerful electromagnet, allowing" -" you to indiscriminately pull all nearby magnetic objects towards you. " -"Unlucky bystanders might be injured or killed by flying objects." +" you to use your own strength to pull all nearby magnetic objects towards " +"you. Unlucky bystanders might be injured or killed by flying objects." msgstr "" #: lang/json/bionic_from_json.py @@ -83543,14 +88185,21 @@ msgstr "Reparar Nanobots" #: lang/json/bionic_from_json.py msgid "" "Inside your body is a fleet of tiny dormant robots. While activated they " -"will flit about your body, repairing damage at 1 HP/s and stopping bleeding " -"at the cost of power." +"will flit about your body, repairing damage at 1 HP per minute and stopping " +"bleeding at the cost of extra power and stored calories." msgstr "" #: lang/json/bionic_from_json.py msgid "Artificial Night Generator" msgstr "Gerador Noturno Artificial" +#. ~ Description for Artificial Night Generator +#: lang/json/bionic_from_json.py +msgid "" +"When active, this bionic eliminates all light within a 2 tile radius through" +" destructive interference." +msgstr "" + #: lang/json/bionic_from_json.py msgid "Implanted Night Vision" msgstr "Visão Noturna Implantada" @@ -83575,11 +88224,8 @@ msgstr "" msgid "" "You're really not sure how the CBM ended up in your nose, but no matter how " "it got there this badly misplaced bionic makes it difficult to breathe. " -"Increases mouth encumbrance by one." +"Increases mouth encumbrance by ten." msgstr "" -" Você realmente não tem certeza de como o CBM acabou em seu nariz, mas " -"nãoimporta como ele chegou lá, este biônico mal colocado dificulta " -"arespiração. Aumenta o ônus da boca em um." #: lang/json/bionic_from_json.py msgid "Offensive Defense System" @@ -83613,7 +88259,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "Due to a badly misplaced dielectric stylette, you are now suffering from " -"mild optic neuropathy. Increases eye encumbrance by one." +"mild optic neuropathy. Increases eye encumbrance by ten." msgstr "" #: lang/json/bionic_from_json.py @@ -83646,7 +88292,7 @@ msgstr "Armazenamento de energia" #. ~ Description for Power Storage #: lang/json/bionic_from_json.py msgid "" -"A Compact Bionics Module that increases your power capacity by 100 units. " +"A Compact Bionics Module that increases your power capacity by 100 kJ. " "Having at least one of these is a prerequisite to using powered bionics. " "You will also need a power supply, found in various CBMs." msgstr "" @@ -83657,8 +88303,7 @@ msgstr "Armazenamento de energia Mk. II" #. ~ Description for Power Storage Mk. II #: lang/json/bionic_from_json.py -msgid "" -"A Compact Bionics Module that increases your power capacity by 250 units." +msgid "A Compact Bionics Module that increases your power capacity by 250 kJ." msgstr "" #. ~ Description for Power Overload @@ -83988,12 +88633,8 @@ msgstr "" msgid "" "Self-locking thumbs hold tight (even when you really don't want them to) and" " don't let go (even when you'd rather they did). Increases hand encumbrance" -" by two, while failing to improve your ability to hold objects whatsoever." +" by ten, while failing to improve your ability to hold objects whatsoever." msgstr "" -" Os polegares com travamento automático ficam firmes (mesmo quando " -"vocêrealmente não quer) e não soltam (mesmo quando você preferir que eles " -"ofizessem). Aumenta o peso da mão em dois, ao mesmo tempo em que não " -"melhorasua habilidade de segurar objetos." #: lang/json/bionic_from_json.py msgid "Time Dilation" @@ -84135,8 +88776,8 @@ msgstr "" #. ~ Description for Gasoline Fuel Cell CBM #: lang/json/bionic_from_json.py msgid "" -"A small gasoline fuel cell fixed to your scapula. Despite its limited energy" -" output compared to other fuel cells, this device still produces a " +"A small gasoline fuel cell fixed to your scapula. Despite its limited " +"energy output compared to other fuel cells, this device still produces a " "significant amount of heat dissipated through a heat exhaust protruding from" " your back. A diffuse network of bio-plastic bladders has been meshed with " "your circulatory system and serves as a fuel tank." @@ -84202,7 +88843,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "A set of highly sensitive sensors is installed in your mouth, and a small " -"yet sophisticated analyzer is installed in the cavity of your skull. The " +"yet sophisticated analyzer is installed in the cavity of your skull. The " "active bionic will nullify the taste of all comestibles with negative " "enjoyment value at the cost of draining bionic power." msgstr "" @@ -84358,7 +88999,6 @@ msgid "" msgstr "" #: lang/json/bionic_from_json.py lang/json/gun_from_json.py -#: lang/json/gun_from_json.py msgid "Ionic Overload Generator" msgid_plural "Ionic Overload Generators" msgstr[0] "" @@ -84404,7 +89044,7 @@ msgid "Dodging and melee is hampered." msgstr "Desviando e corpo a corpo é dificultado." #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Torso" msgstr "Tronco" @@ -84423,7 +89063,7 @@ msgid "head" msgstr "cabeça" #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Head" msgstr "Cabeça" @@ -84904,6 +89544,18 @@ msgstr "" msgid "Make Woodchip Floor" msgstr "" +#: lang/json/construction_from_json.py +msgid "Make Gravel Floor" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Straight Small Railroad Track" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Diagonal Small Railroad Track" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Wooden Floor" msgstr "" @@ -85021,6 +89673,14 @@ msgstr "Construa o Portão Chainlink" msgid "Needs to be supported on both sides by fencing, walls, etc." msgstr "Precisa ser apoiado em ambos os lados por cercas, paredes, etc." +#: lang/json/construction_from_json.py +msgid "Build Screen Door" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Screen Mesh Wall" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Chickenwire Fence" msgstr "" @@ -85061,6 +89721,10 @@ msgstr "Construir Guarda-Roupa" msgid "Build Bookcase" msgstr "Construir Estante de Livros" +#: lang/json/construction_from_json.py +msgid "Build Entertainment Center" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Locker" msgstr "Construir Cacifo" @@ -85093,6 +89757,10 @@ msgstr "Construir Mesa" msgid "Place Table" msgstr "Colocar Mesa" +#: lang/json/construction_from_json.py +msgid "Build Coffee Table" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Workbench" msgstr "" @@ -85337,6 +90005,10 @@ msgstr "Construir Ponte Sobre Rio" msgid "Build River Dock/Shallow Bridge" msgstr "" +#: lang/json/construction_from_json.py +msgid "Build Deep River Dock" +msgstr "" + #: lang/json/construction_from_json.py msgid "Place Water Mill" msgstr "Colocar Moinho d'Água" @@ -85539,6 +90211,18 @@ msgstr "" msgid "Build a drop hammer." msgstr "" +#: lang/json/construction_from_json.py +msgid "Build a radio tower." +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build a radio tower console." +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Log Stool" +msgstr "" + #: lang/json/construction_from_json.py msgid "Convert Fridge Power Supply" msgstr "" @@ -86068,7 +90752,7 @@ msgstr "Você sonha em perseguir e matar um rato, por algum motivo." #: lang/json/dream_from_json.py msgid "You dream of tearing into a fresh kill." -msgstr "Você sonha em rasgar em uma matança nova." +msgstr "Você sonha em rasgar uma matança nova." #: lang/json/dream_from_json.py msgid "You dream of finally finding the perfect place to make your den." @@ -86315,6 +90999,42 @@ msgstr "" msgid "You dream of bees fighting over your sweet nectar. Mmm." msgstr "Você sonha com abelhas brigando por seu doce néctar. Mmm" +#: lang/json/dream_from_json.py +msgid "" +"How grand it would be to sink your roots deep into the soil as the seasons " +"pass you by." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "You dream of a gigantic knot of roots, beating like a heart." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "You have a disturbing dream of termites chewing all over your body." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of sharing your roots with a vast forest, all plants provided for " +"as the canopy grows ever upwards." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "A family of caterpillars munches away at your leaves." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"Fire rages around you, licking at your bark and engulfing the saplings and " +"bushes near your roots. The once chatty forest is quiet in its wake." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of communing with an ancient pine. Trees are the true survivors " +"of this world, it tells you." +msgstr "" + #: lang/json/dream_from_json.py msgid "" "A rather attractive triffid offers you a bouquet of ape heads. How " @@ -87077,7 +91797,7 @@ msgid "" "Your clothing and other equipment may be consumed by the flames." msgstr "" " Perda de saúde - corpo inteiro \n" -" Sua roupa e outros equipamentos podem serconsumidos pelas chamas.\n" +" Sua roupa e outros equipamentos podem serconsumidos pelas chamas." #. ~ Apply message for effect(s) 'On Fire'. #: lang/json/effects_from_json.py @@ -87444,6 +92164,16 @@ msgstr "" " Você está preso em um buraco. A distância de visão é limitada e você temque" " sair." +#: lang/json/effects_from_json.py +msgid "Took Thorazine" +msgstr "" + +#. ~ Description of effect 'Took Thorazine'. +#: lang/json/effects_from_json.py +msgid "" +"You took Thorazine some time ago and you might still be under its influence." +msgstr "" + #: lang/json/effects_from_json.py msgid "Poor sight" msgstr "Visão ruim" @@ -87672,6 +92402,25 @@ msgstr "Suas mãos simplesmente não vão parar de tremer." msgid "You tremble" msgstr "Você tremer" +#: lang/json/effects_from_json.py +msgid "Seizure" +msgstr "" + +#. ~ Description of effect 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles have seized up, and you can't control them!" +msgstr "" + +#. ~ Remove message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "You regain control of your muscles!" +msgstr "" + +#. ~ Miss message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles won't cooperate!" +msgstr "" + #: lang/json/effects_from_json.py msgid "Bleeding" msgstr "Sangramento" @@ -88259,7 +93008,7 @@ msgid "" "Prescription note says its effect duration may vary, so your estimate may be inaccurate." msgstr "" " Você tomou anticonvulsivantes há algum tempo e ainda pode estar sob suainfluência. \n" -" A nota de inscrição diz que a duração do efeito pode variar, portanto, sua estimativa pode ser imprecisa.\n" +" A nota de inscrição diz que a duração do efeito pode variar, portanto, sua estimativa pode ser imprecisa." #: lang/json/effects_from_json.py msgid "Relaxation gas" @@ -88364,7 +93113,7 @@ msgid "" "Focusing on playing music distracts you, slowing you down." msgstr "" " Você está tocando um instrumento. \n" -" Focar em tocar música distrai você,tornando-o mais lento.\n" +" Focar em tocar música distrai você,tornando-o mais lento." #: lang/json/effects_from_json.py msgid "Corroding" @@ -88609,6 +93358,26 @@ msgstr "Seu metabolismo se torna instável." msgid "Your metabolism becomes more stable." msgstr "Seu metabolismo se torna mais estável." +#: lang/json/effects_from_json.py +msgid "Concerning symptoms" +msgstr "" + +#. ~ Description of effect 'Concerning symptoms'. +#: lang/json/effects_from_json.py +msgid "Your muscles keep twitching strangely." +msgstr "" + +#: lang/json/effects_from_json.py +msgid "Unnerving symptoms" +msgstr "" + +#. ~ Description of effect 'Unnerving symptoms'. +#: lang/json/effects_from_json.py +msgid "" +"Your nervous system is malfunctioning, almost like it's being torn apart " +"from the inside." +msgstr "" + #: lang/json/effects_from_json.py msgid "Lit up" msgstr "Iluminou" @@ -88647,7 +93416,7 @@ msgstr "" "serecuperar." #. ~ Apply message for effect(s) 'Disabled'. -#: lang/json/effects_from_json.py src/player.cpp +#: lang/json/effects_from_json.py lang/json/snippet_from_json.py msgid "Your limb breaks!" msgstr "Seu membro quebra!" @@ -88829,7 +93598,7 @@ msgid "" "If you don't recover you may want to take another dose, but beware overdosage." msgstr "" " Você consumiu antibiótico de grau de prescrição há algum tempo paracombater a infecção. \n" -" Se você não se recuperar, você pode querer tomaroutra dose, mas cuidado com a sobredosagem.\n" +" Se você não se recuperar, você pode querer tomaroutra dose, mas cuidado com a sobredosagem." #: lang/json/effects_from_json.py msgid "Panacea" @@ -88867,6 +93636,17 @@ msgstr "Sobrealimentado" msgid "You've been struck by lightning, and feel... different." msgstr "Você foi atingido por um raio e se sente ... diferente." +#: lang/json/effects_from_json.py +msgid "Grown of Fusion" +msgstr "" + +#. ~ Description of effect 'Grown of Fusion'. +#: lang/json/effects_from_json.py +msgid "" +"AI effect to increase stats after fusing with another critter. 1 stack means" +" one absorbed max_hp." +msgstr "" + #: lang/json/effects_from_json.py msgid "Religious Offense" msgstr "Ofensa religiosa" @@ -89181,6 +93961,33 @@ msgstr "" msgid "The earth pulls you down hard." msgstr "" +#: lang/json/effects_from_json.py +msgid "Scared" +msgstr "" + +#: lang/json/effects_from_json.py +msgid "Frightened" +msgstr "" + +#: lang/json/effects_from_json.py src/npc.cpp +msgid "Terrified" +msgstr "Aterrorizado" + +#: lang/json/effects_from_json.py +msgid "" +"Your knees are shaking, your heart beats fast, and your stomach rebels." +msgstr "" + +#. ~ Apply message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "You are afraid!" +msgstr "" + +#. ~ Remove message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "Your fear dissipates." +msgstr "" + #: lang/json/effects_from_json.py msgid "Stuck in a light snare" msgstr "Preso em uma armadilha de luz" @@ -89582,6 +94389,192 @@ msgstr "" "deunidades adicionais de resposta da polícia, ele foi despedaçado " "pelosmortos-vivos que foram atraídos pela comoção." +#: lang/json/epilogue_from_json.py +msgid "" +" Became a hunter after your death, living alone in the woods. Traced " +"back to his cabin, he was murdered and devoured in his sleep by an actual " +"cannibal." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived for many years, and became a renowned scavenger, eventually " +"setting up a small shop in a Free Merchant outpost. Survived by two sons, " +"he died after a rare artifact poisoned his blood with acid." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered and scavenged the land for years after your death, " +"eventually becoming a skilled mechanic. Employed by the Free Merchants, he " +"lived a comfortable, if rather uneventful life, dying of cancer, a rare " +"luxury these days." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became truly depressed after your death and hid in the woods. If " +"rumors are to be believed, he spent years living as a deranged hermit in a " +"distant cave, worshiping stones and sacrificing dogs." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" After your death, he became obsessed with preserving old knowledge and " +"eventually became known as 'the lorekeeper'. Hired by the Old Guard as a " +"librarian, he spent his life amongst dusty old books, trying to convince " +"others of their value. He even changed his name to Frederic Bastiat, in " +"honor of an old French philosopher." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He found faith after your death, eventually joining an Anglican " +"community and becoming a Vicar. The crucifix provided him with a sense of " +"meaning, before dying horribly at the hands of raiders. He was still " +"praying when they roasted him alive." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Lost and damned, he joined a bloody cult after your death, kidnapping " +"and sacrificing young women. His entire group was killed after being " +"discovered by the Old Guard. His head was put on a spike as a reminder that" +" cultists will not be tolerated." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He did not survive for long after your death. Electrocuted in an old " +"cellar, he kept screaming your name. His body was never found." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived you by just a few days, he drowned trying to escape from a " +"horde." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered alone for days, before finding a Free Merchant outpost. He" +" spent a few years as a caravan guard, often drinking himself half blind and" +" enjoying any woman he could find. Booze made his grip unsteady and he was " +"eventually fired. He died of alcohol poisoning the same day." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with the idea of settling down, he eventually found love and " +"retired to a farm in the middle of nowhere. Relatively safe from the " +"monsters, he thrived for years. Survived by seven sons and two daughters." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became famous in the wastes after finding an old brewery and copying " +"their recipe. His chilled beer, a known delicacy, is traded far and wide by" +" the Free Merchants." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Found a whole cellar of single malt whisky. Drank himself to death." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed after your death, he would hang himself after just a few " +"days." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Wandered for months, before finding a small community that would accept" +" him. Became a farmer and spent the rest of his uneventful life tending to " +"crops, glad that he was no longer alone." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with finding 'the Cure', he died a few weeks later in an old " +"lab, torn to shreds by a security turret." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a runner for the Refugee Center and died after a few months." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a raider gang and died in a firefight a few weeks later, trying " +"to rob a Free Merchant caravan." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, he eventually found an intact baseball field and built " +"a prosperous farming community there." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He spent the rest of his short life looking for a new fix. Died of an " +"overdose in an abandoned basement." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a small fishing village. Died a few years " +"later in a raider attack, alongside his young son." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Thoroughly terrified by your death, he retired to an old LMOE shelter, " +"vowing never to leave. He died of starvation inside." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He became a very prosperous game hunter, trading meat and furs, and " +"providing many settlements with food in exchange for booze and male company." +" He died years later of an STD." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Retired to the woods, he spent the rest of his life fishing and hunting" +" in a desolate cabin, rarely interacting with anyone else." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Died en route to California, deliriously dreaming of a better life as " +"he was slowly devoured by spiders." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He tried to cope with loneliness after your death, but failed. He was " +"blind drunk when a group of zombies found his hideout and didn't stand a " +"chance." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He didn't survive for long, waking up to a horde of zombies. They " +"smashed through his fortified windows in a pinch and only the last bullet " +"prevented him from being devoured alive." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He got sick soon after your death, and died without any medical help. " +"His last words were 'Why did I live long enough to suffer like that?'" +msgstr "" + #: lang/json/epilogue_from_json.py msgid "" " Committed suicide rather than fall into the hands of the Hell's " @@ -89924,6 +94917,167 @@ msgstr "" "suprimentosque carregava. Duas semanas depois de ser arrastada para o " "celular, elamorreu de desidratação." +#: lang/json/epilogue_from_json.py +msgid "" +" Shot by the Old Guard a few weeks later, hunted down after she robbed " +"an important caravan." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, she eventually found a quiet community there and spent " +"the rest of her life farming. She's survived by four daughters." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a runner for the Old Guard and was eventually permitted to " +"join. She spent the rest of her life hunting raiders. She died in a " +"skirmish after a few years, sacrificing her life to let her unit retreat. " +"Her name is venerated in songs and inscriptions." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Shortly after your death she joined the Free Merchants, becoming a " +"caravan guard and after a few months became the new liaison in the Refugee " +"Center. She died a few years later of a mysterious illness." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She was found half-dead by the Old Guard who took her in. She became a" +" famous scavenger, known for finding an intact stash of experimental " +"antibiotics." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She retired to the forest, where she built her own cabin and spending " +"the rest of her life fishing." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Captured by raiders, she spent the rest of her miserable life as a " +"slave. Hopeless, she slit her wrists with a rusty knife." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed, she joined a protestant community and became a paragon of " +"virtue. Devoting her life to bible study, she spent the rest of her life in" +" relative peace." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Killed and devoured by a cannibal just a few days after your death, " +"hardly anyone remembers her name." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a renowned merchant after your death, she built her own outpost " +"in the west. An avid book collector, she established a great library to " +"keep the flame of knowledge burning." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled around for months before finding an old farm. She spent a few" +" years tending to her crops and living the life of a hermit before being " +"killed by raiders for fun." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a settlement there. She became a renowned " +"engineer, building the largest steam engine in New England." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a gang after your death, she spent months preying on the " +"innocent, before dying in a dispute with a fellow brute." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Devoured alive by a group of zombies, she kept thinking of you as she " +"died." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She found an abandoned APC and spent years traveling around and " +"collecting personal stories. She wrote one of the few post-apocalyptic " +"books, detailing the life after the end." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Kept wandering for years. Her life was cut short when a group of " +"raiders used her as a target practice." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a skilled game hunter and one of the best shots in the " +"wasteland. Years later she joined the Old Guard and was given the position " +"of Marshal." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Desperate to save humanity from extinction, she organized her own group" +" of survivors, whose job was to hunt bandits and decorate roads with their " +"mutilated bodies. She died in a skirmish a few months later." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became an arsonist, and was incinerated a few weeks later in a fire" +" she set." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She kept wandering for a few weeks but eventually died after drinking " +"untreated water." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She wandered north and joined a local community there. She became " +"known for her trapping skills and ensured that the locals always had fresh " +"meat on their tables." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She joined the Free Merchants and led their first caravan to Canada. " +"She died a few years later of dysentery." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She built a boat and sailed east towards Europe, hoping that it was not" +" affected by the apocalypse. She was never heard from again." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She led a doomsday cult for a few years, she was sacrificed to their " +"gods after a particularly terrible harvest." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became obsessed with chems, and died of an overdose a few months after " +"your death." +msgstr "" + #: lang/json/faction_from_json.py msgid "Your Followers" msgstr "Seus seguidores" @@ -90088,10 +95242,10 @@ msgid "A small family surviving on their generational land." msgstr "" #: lang/json/faction_from_json.py -msgid "God's Community" +msgid "New England Church Community" msgstr "" -#. ~ Description for God's Community +#. ~ Description for New England Church Community #: lang/json/faction_from_json.py msgid "" "A small group of churchgoers that formed a community in the woods. They " @@ -90133,97 +95287,214 @@ msgstr "" "que eles também se tornem presas de criaturas de outras formas, ou de " "monstros humanos demais." -#: lang/json/faketypes.py -msgid "human" -msgid_plural "humans" -msgstr[0] "humano" -msgstr[1] "humanos" +#: lang/json/fault_from_json.py +msgid "Dusty" +msgstr "" + +#. ~ description for fault 'Dusty' +#: lang/json/fault_from_json.py +msgid "It's dusty. Has no effect - obsolete fault." +msgstr "" + +#. ~ name of mending method for fault 'Dusty' +#: lang/json/fault_from_json.py +msgid "Wipe clean" +msgstr "" + +#. ~ success message for mending method 'Wipe clean' of fault 'Dusty' +#. ~ success message for mending method 'Clean gun' of fault 'Fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean you %s." +msgstr "" #: lang/json/fault_from_json.py msgid "Already deployed" msgstr "Já implantado" -#. ~ Description for Already deployed +#. ~ description for fault 'Already deployed' #: lang/json/fault_from_json.py msgid "This bionic needs to be reset to its factory state." msgstr "" +#. ~ name of mending method for fault 'Already deployed' +#: lang/json/fault_from_json.py +msgid "Reset to factory state" +msgstr "" + +#. ~ success message for mending method 'Reset to factory state' of fault +#. 'Already deployed' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully reset the %s to its factory state" +msgstr "" + #: lang/json/fault_from_json.py msgid "Blackpowder fouling" msgstr "" -#. ~ Description for Blackpowder fouling +#. ~ description for fault 'Blackpowder fouling' #: lang/json/fault_from_json.py msgid "" "Firing blackpowder loads from a gun fouls it, which reduces reliability and," -" if left uncleaned, leads to rust." +" if left uncleaned, leads to rust. It fouls the gun much faster than the " +"use of modern smokeless powder cartridges. Fouling is only a significant " +"impact on reliability at high levels, but black powder fouling accumulates " +"quickly." +msgstr "" + +#. ~ name of mending method for fault 'Blackpowder fouling' +#: lang/json/fault_from_json.py +msgid "Clean blackpowder fouling" +msgstr "" + +#. ~ success message for mending method 'Clean blackpowder fouling' of fault +#. 'Blackpowder fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean your %s." msgstr "" #: lang/json/fault_from_json.py msgid "Spent casing in chamber" msgstr "" -#. ~ Description for Spent casing in chamber +#. ~ description for fault 'Spent casing in chamber' #: lang/json/fault_from_json.py msgid "" "This gun currently has an empty casing chambered. It will have to be " "removed before firing." msgstr "" +#. ~ name of mending method for fault 'Spent casing in chamber' #: lang/json/fault_from_json.py -msgid "Clogging" -msgstr "Entupimento" +msgid "Eject spent casing" +msgstr "" -#. ~ Description for Clogging +#. ~ success message for mending method 'Eject spent casing' of fault 'Spent +#. casing in chamber' +#: lang/json/fault_from_json.py +#, python-format +msgid "You eject the spent casing from the %s." +msgstr "" + +#: lang/json/fault_from_json.py +msgid "Fouling" +msgstr "" + +#. ~ description for fault 'Fouling' #: lang/json/fault_from_json.py msgid "" -"Clogging is usually caused by firing many blackpowder loads without " -"cleaning; it prevents firing the gun until cleaned. Some guns are more " -"resistant to this than others." +"Fouling is caused by firing gunpowder loads repeatedly, which reduces " +"reliability and can eventually cause damage to the gun. Fouling accumulates" +" slowly (unless blackpowder is used) due to the design of modern smokeless " +"powder found in the vast majority of retail cartridges and it is not a " +"significant problem until high levels of fouling are reached due to firing " +"thousands of rounds without cleaning your firearm." +msgstr "" + +#. ~ name of mending method for fault 'Fouling' +#: lang/json/fault_from_json.py +msgid "Clean gun" msgstr "" #: lang/json/fault_from_json.py msgid "Worn drive belt" msgstr "" -#. ~ Description for Worn drive belt +#. ~ description for fault 'Worn drive belt' #: lang/json/fault_from_json.py msgid "Required for operation of an attached alternator." msgstr "humano Necessário para operação de um alternador acoplado." +#. ~ name of mending method for fault 'Worn drive belt' +#: lang/json/fault_from_json.py +msgid "Replace worn drive belt" +msgstr "" + +#. ~ success message for mending method 'Replace worn drive belt' of fault +#. 'Worn drive belt' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the worn drive belt of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty glow plugs" msgstr "" -#. ~ Description for Faulty glow plugs +#. ~ description for fault 'Faulty glow plugs' #: lang/json/fault_from_json.py msgid "Help when starting an engine in low ambient temperatures." msgstr "Ajuda ao ligar um motor em baixas temperaturas ambientes." +#. ~ name of mending method for fault 'Faulty glow plugs' +#: lang/json/fault_from_json.py +msgid "Replace faulty glow plugs" +msgstr "" + +#. ~ success message for mending method 'Replace faulty glow plugs' of fault +#. 'Faulty glow plugs' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty glow plugs of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Active immobiliser" msgstr "" -#. ~ Description for Active immobiliser +#. ~ description for fault 'Active immobiliser' #: lang/json/fault_from_json.py msgid "Prevents starting of the vehicle without the appropriate key." msgstr "Impede a partida do veículo sem a chave apropriada." +#. ~ name of mending method for fault 'Active immobiliser' +#: lang/json/fault_from_json.py +msgid "Deactivate immobiliser" +msgstr "" + +#. ~ description for mending method 'Deactivate immobiliser' of fault 'Active +#. immobiliser' +#: lang/json/fault_from_json.py +msgid "" +"Deactivate the immobiliser that is preventing the vehicle from starting." +msgstr "" + +#. ~ success message for mending method 'Deactivate immobiliser' of fault +#. 'Active immobiliser' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully deactivate the immobiliser of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty diesel pump" msgstr "" -#. ~ Description for Faulty diesel pump +#. ~ description for fault 'Faulty diesel pump' #: lang/json/fault_from_json.py msgid "Required to pump and pressurize diesel from a vehicles tank." msgstr "" " Necessário para bombear e pressurizar o diesel de um tanque de veículos." +#. ~ name of mending method for fault 'Faulty diesel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty diesel pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty diesel pump' of fault +#. 'Faulty diesel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty diesel pump of the %s" +msgstr "" + #: lang/json/fault_from_json.py msgid "Expired air filter" msgstr "" -#. ~ Description for Expired air filter +#. ~ description for fault 'Expired air filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces fuel efficiency and increases smoke production." @@ -90231,11 +95502,23 @@ msgstr "" " Um filtro expirado reduz a eficiência de combustível e aumenta a produçãode" " fumaça." +#. ~ name of mending method for fault 'Expired air filter' +#: lang/json/fault_from_json.py +msgid "Replace expired air filter" +msgstr "" + +#. ~ success message for mending method 'Replace expired air filter' of fault +#. 'Expired air filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired air filter of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Expired fuel filter" msgstr "" -#. ~ Description for Expired fuel filter +#. ~ description for fault 'Expired fuel filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces performance and increases the chance of backfires." @@ -90243,35 +95526,83 @@ msgstr "" " Um filtro expirado reduz o desempenho e aumenta a chance de " "efeitoscolaterais." +#. ~ name of mending method for fault 'Expired fuel filter' +#: lang/json/fault_from_json.py +msgid "Replace expired fuel filter" +msgstr "" + +#. ~ success message for mending method 'Replace expired fuel filter' of fault +#. 'Expired fuel filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired fuel filter of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty fuel pump" msgstr "" -#. ~ Description for Faulty fuel pump +#. ~ description for fault 'Faulty fuel pump' #: lang/json/fault_from_json.py msgid "Required to pump gasoline from a vehicles tank." msgstr "Necessário para bombear gasolina de um tanque de veículos." +#. ~ name of mending method for fault 'Faulty fuel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty fuel pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty fuel pump' of fault +#. 'Faulty fuel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty fuel pump of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty water pump" msgstr "" -#. ~ Description for Faulty water pump +#. ~ description for fault 'Faulty water pump' #: lang/json/fault_from_json.py msgid "Required to pump water to an external radiator or heatsink." msgstr "" " Necessário para bombear água para um radiador externo ou dissipador " "decalor." +#. ~ name of mending method for fault 'Faulty water pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty water pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty water pump' of fault +#. 'Faulty water pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty water pump of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty starter motor" msgstr "" -#. ~ Description for Faulty starter motor +#. ~ description for fault 'Faulty starter motor' #: lang/json/fault_from_json.py msgid "Required to initially start the engine." msgstr "Necessário para iniciar o mecanismo inicialmente." +#. ~ name of mending method for fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +msgid "Replace faulty starter motor" +msgstr "" + +#. ~ success message for mending method 'Replace faulty starter motor' of +#. fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty starter motor of %s." +msgstr "" + #: lang/json/field_type_from_json.py lang/json/overmap_terrain_from_json.py #: lang/json/overmap_terrain_from_json.py src/mapdata.cpp src/mapdata.cpp #: src/skill.cpp @@ -90660,7 +95991,7 @@ msgstr "enxame de abelhas" #: lang/json/field_type_from_json.py msgid "angry swarm of bees" -msgstr "Enxame zangado de abelhas" +msgstr "enxame zangado de abelhas" #: lang/json/field_type_from_json.py msgid "airborne incendiary" @@ -90676,7 +96007,7 @@ msgstr "gás de relaxamento" #: lang/json/field_type_from_json.py lang/json/furniture_from_json.py msgid "swamp gas" -msgstr "" +msgstr "gás de pântano" #: lang/json/field_type_from_json.py msgid "mist" @@ -90758,9 +96089,25 @@ msgstr "nuvem espessa de inseticida" msgid "smoke vent" msgstr "respiradouro de fumo" +#: lang/json/field_type_from_json.py +msgid "clairvoyance" +msgstr "clarividência" + +#: lang/json/field_type_from_json.py +msgid "dreadful presense" +msgstr "presença aterrorizante" + +#: lang/json/field_type_from_json.py +msgid "frightful presense" +msgstr "presença assustadora" + +#: lang/json/field_type_from_json.py +msgid "terrifying presense" +msgstr "presença horripilante" + #: lang/json/furniture_from_json.py msgid "mutated cactus" -msgstr "cactus mutante" +msgstr "cacto mutante" #: lang/json/furniture_from_json.py msgid "cooling unit" @@ -90770,14 +96117,13 @@ msgstr "unidade de refrigeração" #: lang/json/furniture_from_json.py msgid "A big, blocky metal device for refrigerating large areas." msgstr "" +"Um dispositivo metálico grande e quadrado, para refrigerar grandes áreas." -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "metal screeching!" -msgstr "metal gritando!" +msgstr "metal rangendo!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "clang!" msgstr "clang" @@ -90788,7 +96134,7 @@ msgstr "filtro de ar central" #. ~ Description for central air filter #: lang/json/furniture_from_json.py msgid "Cleans out dust mites, smoke particles, and more!" -msgstr "" +msgstr "Filtra ácaros, partículas de fumaça, e mais!" #. ~ Description for dishwasher #: lang/json/furniture_from_json.py @@ -90797,6 +96143,10 @@ msgid "" " clean and to save people an unpleasant chore. Now, with the power gone and" " it sitting for a while, it's starting to smell a bit off." msgstr "" +"Esta caixa de metal costumava esguichar água quente e sabão em louças sujas " +"para limpá-las e poupar as pessoas de uma tarefa chata. Agora, com a " +"eletricidade desligada e um bom tempo de inatividade, está começando a " +"cheirar mal." #: lang/json/furniture_from_json.py msgid "dryer" @@ -90806,6 +96156,8 @@ msgstr "secador" #: lang/json/furniture_from_json.py msgid "'Dry your clothes!' would be what you'd do if electricity was running." msgstr "" +"\"Seque suas roupas!\" É o que você estaria fazendo se houvesse " +"eletricidade." #: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py msgid "refrigerator" @@ -90821,7 +96173,7 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "glass door fridge" -msgstr "geladeira porta de vidro" +msgstr "geladeira com porta de vidro" #. ~ Description for glass door fridge #: lang/json/furniture_from_json.py @@ -90881,6 +96233,52 @@ msgid "" "although it still has parts." msgstr "" +#: lang/json/furniture_from_json.py +msgid "document shredder" +msgstr "" + +#. ~ Description for document shredder +#: lang/json/furniture_from_json.py +msgid "" +"It's not all about hiding government secrets, sometimes you just want to " +"stop identity theft." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "server stack" +msgstr "pilha de servidores" + +#. ~ Description for server stack +#: lang/json/furniture_from_json.py +msgid "This is a big pile of computers. They're all turned off." +msgstr "Isto é uma grande pilha de computadores. Todos estão desligados." + +#: lang/json/furniture_from_json.py +msgid "large satellite dish" +msgstr "grande antena de satélite" + +#. ~ Description for large satellite dish +#: lang/json/furniture_from_json.py +msgid "" +"Somewhere up there, there are still satellites, orbiting and doing their " +"thing, sending signals down to an Earth that is no longer listening." +msgstr "" +"Em algum lugar lá em cima, ainda há satélites, orbitando e fazendo seu " +"trabalho, enviando sinais à Terra que mais ninguém escuta." + +#: lang/json/furniture_from_json.py +msgid "mounted solar panel" +msgstr "painel solar montado" + +#. ~ Description for mounted solar panel +#: lang/json/furniture_from_json.py +msgid "A mounted solar panel." +msgstr "Um painel solar montado." + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "whack!" +msgstr "pancada!" + #: lang/json/furniture_from_json.py msgid "road barricade" msgstr "barricada de estrada" @@ -90890,24 +96288,25 @@ msgstr "barricada de estrada" msgid "A road barricade. For barricading roads." msgstr "Uma barricada de estrada. Para barricar estradas." -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py src/map.cpp -#: src/mapdata.cpp +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +#: src/vehicle_move.cpp msgid "smash!" msgstr "esmagar!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "whump." msgstr "pio." #: lang/json/furniture_from_json.py msgid "earthbag barricade" -msgstr "" +msgstr "barricada de sacos de terra" #. ~ Description for earthbag barricade #: lang/json/furniture_from_json.py msgid "An earthbag barricade, typically used for blocking bullets." msgstr "" +"Uma barricada de sacos de terra, típicamente usada para bloquear balas." #: lang/json/furniture_from_json.py msgid "rrrip!" @@ -90915,12 +96314,12 @@ msgstr "rrrip!" #: lang/json/furniture_from_json.py msgid "earthbag wall" -msgstr "" +msgstr "muro de sacos de terra" #. ~ Description for earthbag wall #: lang/json/furniture_from_json.py msgid "An earthbag wall." -msgstr "" +msgstr "Um muro de sacos cheios de terra." #: lang/json/furniture_from_json.py msgid "lane guard" @@ -90929,7 +96328,7 @@ msgstr "guarda de pista" #. ~ Description for lane guard #: lang/json/furniture_from_json.py msgid "Used to be used for keeping traffic." -msgstr "Costumava ser usado para manter o tráfego." +msgstr "Costumava ser usado para cuidar do tráfego." #: lang/json/furniture_from_json.py msgid "sandbag barricade" @@ -90939,6 +96338,7 @@ msgstr "barricada de sacos de areia" #: lang/json/furniture_from_json.py msgid "A sandbag barricade, typically used for blocking bullets." msgstr "" +"Uma barricada de sacos de areia, típicamente usada para bloquear balas." #: lang/json/furniture_from_json.py msgid "sandbag wall" @@ -90947,8 +96347,120 @@ msgstr "parede de sacos de areia" #. ~ Description for sandbag wall #: lang/json/furniture_from_json.py msgid "A sandbag wall." +msgstr "Um muro de sacos cheios de areia." + +#: lang/json/furniture_from_json.py +msgid "standing mirror" +msgstr "espelho de pé" + +#. ~ Description for standing mirror +#: lang/json/furniture_from_json.py +msgid "Lookin' good - is that blood?" +msgstr "Uma boa aparência - aquilo ali é sangue?" + +#: lang/json/furniture_from_json.py +msgid "glass breaking" +msgstr "quebra de vidro" + +#: lang/json/furniture_from_json.py +msgid "broken standing mirror" +msgstr "espelho em pé quebrado" + +#. ~ Description for broken standing mirror +#: lang/json/furniture_from_json.py +msgid "" +"You could look at yourself, if the mirror wasn't covered in cracks and " +"fractures." +msgstr "" +" Você poderia olhar para si mesmo, se o espelho não estivesse coberto " +"derachaduras e fraturas." + +#: lang/json/furniture_from_json.py +msgid "bitts" +msgstr "" + +#. ~ Description for bitts +#: lang/json/furniture_from_json.py +msgid "" +"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " +"to secure mooring lines, ropes, hawsers, or cables." msgstr "" +#: lang/json/furniture_from_json.py +msgid "manacles" +msgstr "algemas" + +#. ~ Description for manacles +#: lang/json/furniture_from_json.py +msgid "" +"Chain serfs in your dungeon. All you need now is an iron ball to chain to " +"it." +msgstr "" +"Algeme plebeus em sua masmorra. Tudo de que você precisa agora é uma bola de" +" ferro onde prender isso." + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "crack." +msgstr "rachadura." + +#: lang/json/furniture_from_json.py +msgid "statue" +msgstr "estatua" + +#. ~ Description for statue +#: lang/json/furniture_from_json.py +msgid "A carved statue made of stone." +msgstr "Uma estátua esculpida em pedra." + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +msgid "thump." +msgstr "baque." + +#: lang/json/furniture_from_json.py +msgid "mannequin" +msgstr "manequim" + +#. ~ Description for mannequin +#: lang/json/furniture_from_json.py +msgid "" +"Put clothes on it, talk to it. Who's around to judge you? Wait… did it " +"just move?" +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "birdbath" +msgstr "" + +#. ~ Description for birdbath +#: lang/json/furniture_from_json.py +msgid "A decorative cement birdbath and pedestal." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "rotary clothes dryer line" +msgstr "" + +#. ~ Description for rotary clothes dryer line +#: lang/json/furniture_from_json.py +msgid "A umbrella shaped clothes line mounted on a pole." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "floor lamp" +msgstr "abajur grande" + +#. ~ Description for floor lamp +#: lang/json/furniture_from_json.py +msgid "A tall standing lamp, meant to plug into a wall and light up a room." +msgstr "" +"Um abajur alto, feito para se ligar a uma tomada e iluminar um cômodo." + +#: lang/json/furniture_from_json.py +msgid "bonk!" +msgstr "bonk!" + #: lang/json/furniture_from_json.py msgid "indoor plant" msgstr "planta interna" @@ -90969,7 +96481,7 @@ msgstr "Uma variedade de plantas para decoração. É amarelo." #: lang/json/furniture_from_json.py msgid "harvestable plant" -msgstr "" +msgstr "planta colhível" #. ~ Description for harvestable plant #: lang/json/furniture_from_json.py @@ -90983,7 +96495,8 @@ msgstr "" msgid "crunch." msgstr "trituração." -#: lang/json/furniture_from_json.py +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py msgid "whish." msgstr "desejo." @@ -90994,7 +96507,7 @@ msgstr "planta matura" #. ~ Description for mature plant #: lang/json/furniture_from_json.py msgid "This plant has matured." -msgstr "" +msgstr "Esta planta terminou de madurar." #: lang/json/furniture_from_json.py msgid "seed" @@ -91005,7 +96518,7 @@ msgstr "semente" msgid "" "A humble planted seed. Actions are the seed of fate deeds grow into " "destiny." -msgstr "" +msgstr "Uma humilde semente plantada. Ações são as sementes do destino." #: lang/json/furniture_from_json.py msgid "seedling" @@ -91014,11 +96527,11 @@ msgstr "plântula" #. ~ Description for seedling #: lang/json/furniture_from_json.py msgid "This plant is just getting started." -msgstr "" +msgstr "Esta planta mal começou a crescer." -#: lang/json/furniture_from_json.py src/vehicle_use.cpp +#: lang/json/furniture_from_json.py msgid "planter" -msgstr "plantas" +msgstr "planteira" #. ~ Description for planter #: lang/json/furniture_from_json.py @@ -91059,6 +96572,87 @@ msgid "" "be used for planting crops. This one contains a planted seedling" msgstr "" +#: lang/json/furniture_from_json.py +msgid "spider egg sack" +msgstr "saco de ovos de aranha" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Much too large, off-white egg sack. Kind of icky. Something IS moving in " +"there." +msgstr "" +"Grande demais, branco demais. Meio nojento. ALGUMA COISA se mexe dentro " +"dele." + +#: lang/json/furniture_from_json.py +msgid "splat!" +msgstr "splat!" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " +"in there." +msgstr "" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"A horrifyingly oversized egg sack. Something IS moving in there. If you're" +" seeing this, you're already too close to it." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "ruptured egg sack" +msgstr "saco de ovo rompido" + +#. ~ Description for ruptured egg sack +#: lang/json/furniture_from_json.py +msgid "Super icky. Spider stuff's spilling out." +msgstr "" + +#. ~ Description for swamp gas +#: lang/json/furniture_from_json.py +msgid "" +"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " +"toxic gas." +msgstr "" + +#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp +msgid "splash!" +msgstr "respingo!" + +#. ~ Description for fog +#: lang/json/furniture_from_json.py +msgid "This is a misty cloud of fog." +msgstr "Uma grossa nuvem de neblina." + +#: lang/json/furniture_from_json.py +msgid "fake workbench hands" +msgstr "" + +#. ~ Description for fake workbench hands +#: lang/json/furniture_from_json.py +msgid "This fake workbench holds the stats for working on a wielded item." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "ground crafting spot" +msgstr "" + +#. ~ Description for ground crafting spot +#: lang/json/furniture_from_json.py +msgid "" +"A cleared spot on the ground for crafting. Slower than using a workbench or" +" holding a project in your hands, but readily available." +msgstr "" + +#. ~ Description for seeing this is a bug +#: lang/json/furniture_from_json.py +msgid "Seeing this is a bug. If seen, please report and destroy." +msgstr "" + #: lang/json/furniture_from_json.py msgid "fireplace" msgstr "lareira" @@ -91089,586 +96683,733 @@ msgid "" "Wood stove for heating and cooking. Much more efficient than an open flame." msgstr "" +#. ~ Description for brazier #: lang/json/furniture_from_json.py -msgid "bathtub" -msgstr "banheira" +msgid "A raised metal dish in which to safely burn things." +msgstr "" +"Uma tigela de metal erguida, em que se pode queimar coisas com segurança." -#. ~ Description for bathtub #: lang/json/furniture_from_json.py -msgid "" -"You could lay in and take a soothing bath, if there were running water. The" -" plug is intact, so you could use it to store liquids." -msgstr "" +msgid "fire ring" +msgstr "anel de fogo" +#. ~ Description for fire ring #: lang/json/furniture_from_json.py -msgid "porcelain breaking!" -msgstr "porcelana quebrando!" +msgid "A ring of stones to safely contain a fire." +msgstr "Um anel de pedras para conter um fogo com segurança." #: lang/json/furniture_from_json.py -msgid "whunk!" -msgstr "whunk!" +msgid "mutated poppy flower" +msgstr "flor de papoula mutante" +#. ~ Description for mutated poppy flower #: lang/json/furniture_from_json.py -msgid "shower" -msgstr "chuveiro" +msgid "" +"These strange flowers have appeared in the wake of the Cataclysm, and their " +"buds can be used for medicinal purposes, like the seeds of the mundane poppy" +" they're named after. The dirt around them gently churns as their roots " +"writhe beneath the soil, and it's surrounded by an overwhelming floral smell" +" that makes you feel sleepy." +msgstr "" -#. ~ Description for shower +#. ~ Description for dandelion #: lang/json/furniture_from_json.py -msgid "You would be able to clean yourself if water was running." -msgstr "Você seria capaz de se limpar se a água estivesse correndo." +msgid "" +"A common weed with a yellow flower. Produces seeds that get carried on the " +"wind by thin, gray filaments." +msgstr "" +#. ~ Description for chamomile #: lang/json/furniture_from_json.py -msgid "sink" -msgstr "Pia" +msgid "Ahh, soothing chamomile tea." +msgstr "Ahh, um calmante chá de camomila..." -#. ~ Description for sink +#. ~ Description for tulip #: lang/json/furniture_from_json.py -msgid "" -"Emergency relief provider. Water isn't running, so it's basically useless." +msgid "A bright, colorful flower with petals forming a small cup at its top." msgstr "" #: lang/json/furniture_from_json.py -msgid "toilet" -msgstr "banheiro" +msgid "spurge flower" +msgstr "flor do spurge" -#. ~ Description for toilet +#. ~ Description for spurge flower #: lang/json/furniture_from_json.py -msgid "" -"A porcelain throne. Emergency water source, from the tank, and provider of " -"relief." +msgid "A yellow-green flower that grows in densely packed bushes." msgstr "" #: lang/json/furniture_from_json.py -msgid "water heater" -msgstr "aquecedor de água" +msgid "cattails" +msgstr "taboas" -#. ~ Description for water heater +#. ~ Description for cattails #: lang/json/furniture_from_json.py msgid "" -"An insulated metal tank that holds water, kept to a temperature by a small " -"gas flame." +"This useful plant is available all year round. Many parts of the plant are " +"edible." msgstr "" -#. ~ Description for water purifier +#. ~ Description for black eyed susan #: lang/json/furniture_from_json.py msgid "" -"This removes ions dissolved in the water, making it pretty clean, if you " -"care about that kind of thing." +"A yellow flower that has a dark ball in the middle. Sometimes known as an " +"oxe-eye daisy." msgstr "" +#. ~ Description for lily #: lang/json/furniture_from_json.py -msgid "hay" -msgstr "existem" +msgid "A pretty flower that comes in a variety of colors." +msgstr "" -#. ~ Description for hay +#. ~ Description for lotus #: lang/json/furniture_from_json.py -msgid "A bale of hay. You could sleep on it, if desperate." +msgid "" +"A lovely flower that grows on the surface of bodies of freshwater. " +"Traditionally connected with many Eastern cultures." msgstr "" -" Um fardo de feno. Você poderia dormir com isso, se estivesse desesperado." +#. ~ Description for sunflower #: lang/json/furniture_from_json.py -msgid "whish!" -msgstr "desejo!" +msgid "" +"A tall, wide-headed flower with a large dark center. Produces many " +"nutritious seeds." +msgstr "" #: lang/json/furniture_from_json.py -msgid "pile of woodchips" -msgstr "pilha de lascas de madeira" +msgid "lilypad" +msgstr "vitória-régia" -#. ~ Description for pile of woodchips +#. ~ Description for lilypad #: lang/json/furniture_from_json.py -msgid "Pile of chipped wood pieces. You can move it with a shovel." -msgstr "Pilha de pedaços de madeira lascados. Você pode movê-lo com uma pá." +msgid "" +"These lilypads don't look they'd support the weight of the things you've " +"heard croaking in the swamp." +msgstr "" +#. ~ Description for bluebell #: lang/json/furniture_from_json.py -msgid "bench" -msgstr "Banco" +msgid "A common bluebell flower. Pretty." +msgstr "" -#. ~ Description for bench +#. ~ Description for dahlia #: lang/json/furniture_from_json.py -msgid "Hobo bed. Airy. Use at your own risk." +msgid "A puffy flower with many tightly layered petals." msgstr "" +#. ~ Description for chicory #: lang/json/furniture_from_json.py -msgid "arm chair" -msgstr "cadeira de braço" +msgid "A blue flower imported from Europe, also known as a Cornflower." +msgstr "" -#. ~ Description for arm chair +#. ~ Description for datura #: lang/json/furniture_from_json.py -msgid "A more comfortable way of sitting down." -msgstr "Uma maneira mais confortável de se sentar." +msgid "A pretty moonflower." +msgstr "" #: lang/json/furniture_from_json.py -msgid "airplane seat" -msgstr "" +msgid "pile of leaves" +msgstr "pilha de folhas" -#. ~ Description for airplane seat +#. ~ Description for pile of leaves #: lang/json/furniture_from_json.py -msgid "An airplane seat with a seatbelt." +msgid "" +"A sizable pile of leaves. You could sleep on it if you don't care about " +"comfort or warmth." msgstr "" +"Uma grande pilha de folhas. Você poderia dormir nela, se não ligar pra " +"conforto ou calor." + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py src/iuse.cpp +msgid "crunch!" +msgstr "crunch!" #: lang/json/furniture_from_json.py -msgid "chair" -msgstr "cadeira" +msgid "marloss flower" +msgstr "marloss flower" -#. ~ Description for chair -#. ~ Description for stool +#. ~ Description for marloss flower #: lang/json/furniture_from_json.py -msgid "Sit down, have a drink." -msgstr "Sente-se, tome uma bebida." +msgid "" +"This flower is like the other flowers taken by the mushrooms, but its bulb " +"is colored a brilliant cyan color, and it emits an aroma both overwhelming " +"and… delicious?" +msgstr "" #: lang/json/furniture_from_json.py -msgid "sofa" -msgstr "sofá" +msgid "poof." +msgstr "poof." -#. ~ Description for sofa +#. ~ Description for fungal flower #: lang/json/furniture_from_json.py -msgid "Lie down OR sit down! Perfect!" +msgid "" +"This flower has been overgrown by gray, sinewy tendrils of fungus, and the " +"color has leached from its petals and stem. It gently sways of its own " +"volition." msgstr "" #: lang/json/furniture_from_json.py -msgid "stool" -msgstr "banquinho" - -#: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py -msgid "bed" -msgstr "cama" +msgid "fungal mass" +msgstr "massa fúngica" -#. ~ Description for bed +#. ~ Description for fungal mass #: lang/json/furniture_from_json.py msgid "" -"This is a bed. A luxury in these times. Quite comfortable to sleep in." +"Thick ropes of mycal matter have covered the ground here completely. It's " +"soft to the touch, but you sink into it, making moving across it difficult." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: src/iuse.cpp -msgid "crunch!" -msgstr "crunch!" - #: lang/json/furniture_from_json.py -msgid "bed frame" -msgstr "" +msgid "fungal clump" +msgstr "moita fúngica" -#. ~ Description for bed frame +#. ~ Description for fungal clump #: lang/json/furniture_from_json.py msgid "" -"This is an empty bed frame. With a mattress on it, it would be a nice place" -" to sleep. Sleeping on it right now wouldn't be great." +"Alien mold and stems mingle tightly here, creating a sort of fungal bush." msgstr "" #: lang/json/furniture_from_json.py -msgid "whack." -msgstr "" +msgid "stone slab" +msgstr "laje de pedra" -#. ~ Description for mattress +#. ~ Description for stone slab #: lang/json/furniture_from_json.py -msgid "" -"A comfortable mattress has been tossed on the floor for sleeping here. It's" -" not quite as comfy as a real bed, but it's pretty close." -msgstr "" +msgid "A flat slab of heavy stone." +msgstr "Uma laje plana de pedra pesada." -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py src/map.cpp -msgid "rrrrip!" -msgstr "rrrrip!" +#: lang/json/furniture_from_json.py +msgid "headstone" +msgstr "lápide" -#. ~ Description for down_mattress +#. ~ Description for headstone #: lang/json/furniture_from_json.py -msgid "" -"A comfortable feather down mattress has been tossed on the floor for " -"sleeping here. It's not quite as comfy as a real bed, but it's pretty " -"close." -msgstr "" +msgid "Keeps the bodies." +msgstr "mantem os corpos." + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +msgid "thump!" +msgstr "baque!" #: lang/json/furniture_from_json.py -msgid "makeshift bed" -msgstr "cama improvisada" +msgid "gravestone" +msgstr "lápide" -#. ~ Description for makeshift bed +#. ~ Description for gravestone #: lang/json/furniture_from_json.py -msgid "Not as comfortable as a real bed, but it will suffice." -msgstr "Não tão confortável quanto uma cama de verdade, mas será suficiente." +msgid "Keeps the bodies. More fancy." +msgstr "Mantém os corpos. Mais chique." #: lang/json/furniture_from_json.py -msgid "straw bed" -msgstr "cama de palha" +msgid "worn gravestone" +msgstr "lápide gasta" -#. ~ Description for straw bed +#. ~ Description for worn gravestone #: lang/json/furniture_from_json.py -msgid "Kinda itches when you lay on it." -msgstr "Meio que coça quando você se deita nele." +msgid "A worn-out gravestone." +msgstr "Uma lápide gasta." #: lang/json/furniture_from_json.py -msgid "bookcase" +msgid "obelisk" +msgstr "obelisco" + +#. ~ Description for obelisk +#: lang/json/furniture_from_json.py +msgid "Monument to pride." +msgstr "Um monumento ao orgulho." + +#: lang/json/furniture_from_json.py +msgid "thunk!" +msgstr "thunk!" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "robotic assembler" +msgstr "montador robótico" + +#. ~ Description for robotic assembler +#: lang/json/furniture_from_json.py +msgid "" +"A durable and versatile robotic arm with a tool fitted to the end, for " +"working on an assembly line." msgstr "" +"Um braço robótico versátil e resistente, com uma ferramente acoplada na " +"ponta, para trabalho em uma linha de montagem." -#. ~ Description for bookcase +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "chemical mixer" +msgstr "misturador químico" + +#. ~ Description for chemical mixer #: lang/json/furniture_from_json.py -msgid "Stores books. Y'know, those things. Who reads books anymore?" +msgid "" +"When chemicals need to be mixed in large quantities at just the right " +"combinations and temperatures, this is the tool for the job." msgstr "" #: lang/json/furniture_from_json.py -msgid "coffin" -msgstr "caixão" +msgid "robotic arm" +msgstr "braço robótico" -#. ~ Description for coffin +#. ~ Description for robotic arm #: lang/json/furniture_from_json.py -msgid "Holds the bodies of the countless killed in the Cataclysm." +msgid "" +"Automation! Science! Industry! Make a better horse! This robot arm " +"promises to do it all. Except it's currently unpowered. You could remove " +"the casing and retrieve the electronics through disassembly." msgstr "" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "wham!" -msgstr "wham!" +#: lang/json/terrain_from_json.py +msgid "thunk." +msgstr "thunk." #: lang/json/furniture_from_json.py -msgid "open coffin" -msgstr "caixão aberto" +msgid "Autodoc Mk. XI" +msgstr "Autodoc Mk. XI" -#. ~ Description for open coffin +#. ~ Description for Autodoc Mk. XI #: lang/json/furniture_from_json.py msgid "" -"You can only hope you'll look good enough for one of these, when the time " -"comes." +"A surgical apparatus used for installation and uninstallation of bionics. " +"It's only as skilled as its operator." msgstr "" +"Um aparelho cirúrgico usado para instalação e desinstalação de biônicos. É " +"tão habilidoso quanto seu operador." #: lang/json/furniture_from_json.py -msgid "crate" -msgstr "caixote" +msgid "Autodoc operation couch" +msgstr "Sofá de operação Autodoc" -#. ~ Description for crate +#. ~ Description for Autodoc operation couch #: lang/json/furniture_from_json.py msgid "" -"What's inside? Pry it open to find out! Or just smash it, but you might " -"break the contents." +"A plush red sofa made less comfortable by the medical machinery directly " +"above it. It has a single leather strap on the right armrest." msgstr "" +"Um sofá vermelho de pelúcia, tornado menos confortável pelas máquinas " +"médicas diretamente acima dele. Tem uma correia de couro no braço direito." +#. ~ Description for autoclave +#. ~ Description for filled autoclave #: lang/json/furniture_from_json.py -msgid "open crate" -msgstr "abrir caixote" +msgid "" +"This thing is basically an extremely high tech laundry machine or " +"dishwasher. It steams things at temperatures that will kill almost " +"anything." +msgstr "" -#. ~ Description for open crate #: lang/json/furniture_from_json.py -msgid "What's inside? Look in it!" -msgstr "O que tem dentro? Olhe para dentro!" +msgid "filled autoclave" +msgstr "" #: lang/json/furniture_from_json.py -msgid "cupboard" -msgstr "armário" +msgid "sample freezer" +msgstr "congelador de amostras" -#. ~ Description for cupboard +#. ~ Description for sample freezer #: lang/json/furniture_from_json.py -msgid "Store your cups." -msgstr "Guarde seus copos." +msgid "" +"When cold just isn't cold enough, you have this extreme deep freeze. This " +"will store stuff at -80 degrees Celsius. Don't lick the metal on the " +"inside." +msgstr "" #: lang/json/furniture_from_json.py -msgid "dresser" -msgstr "cômoda" +msgid "lab workbench" +msgstr "bancada de laboratório" -#. ~ Description for dresser +#. ~ Description for lab workbench #: lang/json/furniture_from_json.py -msgid "Dress yourself for the zombie prom, or other occasions." +msgid "" +"A metal storage cabinet topped by a durable resin countertop resistant to " +"most chemical spills and burns. It has wired in electrical and gas " +"fittings." msgstr "" #: lang/json/furniture_from_json.py -msgid "glass front cabinet" +msgid "fume hood" msgstr "" -#. ~ Description for glass front cabinet +#. ~ Description for fume hood #: lang/json/furniture_from_json.py -msgid "A tall storage cabinet with a clear glass window." +msgid "" +"A metal hood overtop of a lab workspace, with durable glass shutters. A fan" +" in the hood draws fumes and smoke from dangerous chemicals up into a " +"ventilation duct." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py src/ballistics.cpp src/iuse.cpp src/map.cpp -msgid "glass breaking!" -msgstr "quebra de vidro!" +#: lang/json/furniture_from_json.py +msgid "shaker incubator" +msgstr "" +#. ~ Description for shaker incubator #: lang/json/furniture_from_json.py -msgid "gun safe" -msgstr "cofre de armas" +msgid "" +"A tool for keeping broth nicely mixed, at just the right temperature to grow" +" bacteria. This is great for microbiology, but terrible for preserving " +"food." +msgstr "" -#. ~ Description for gun safe #: lang/json/furniture_from_json.py -msgid "Oooooohhhh. Shiny." -msgstr "Oooooohhhh Brilhante." +msgid "emergency wash station" +msgstr "" +#. ~ Description for emergency wash station #: lang/json/furniture_from_json.py -msgid "screeching metal!" -msgstr "guinchando metal!" +msgid "" +"This pole has a lot of weird nozzles and attachments. If there were running" +" water, you could use those attachments to wash harmful chemicals out of " +"your eyes, or to take a pleasant cold shower in a public place." +msgstr "" #: lang/json/furniture_from_json.py -msgid "jammed gun safe" -msgstr "pistola atolada segura" +msgid "IV pole" +msgstr "" -#. ~ Description for jammed gun safe +#. ~ Description for IV pole #: lang/json/furniture_from_json.py -msgid "Does it have guns in it? You won't find out. It's jammed." -msgstr "Tem armas nela? Você não vai descobrir. Está emperrado." +msgid "This is basically just a stick on wheels with some hooks at the top." +msgstr "isto é basicamente um poste sobre rodas com alguns ganchos no topo." #: lang/json/furniture_from_json.py -msgid "electronic gun safe" -msgstr "cofre de armas eletrônico" +msgid "high performance liquid chromatographer" +msgstr "" -#. ~ Description for electronic gun safe +#. ~ Description for high performance liquid chromatographer #: lang/json/furniture_from_json.py -msgid "Can you hack it open to get the firearms?" -msgstr "Você pode abri-lo para pegar as armas de fogo?" +msgid "" +"This high-tech tool would, with electricity and an experienced user, be a " +"very useful way to separate chemicals in a liquid or aqueous phase based on " +"their affinity to a solid state medium in a tube. In other words, it's a " +"fancy way to separate things." +msgstr "" #: lang/json/furniture_from_json.py -msgid "locker" -msgstr "armário" +msgid "gas chromatographer" +msgstr "" -#. ~ Description for locker +#. ~ Description for gas chromatographer #: lang/json/furniture_from_json.py -msgid "Usually used for storing equipment or items." -msgstr "Geralmente usado para armazenar equipamentos ou itens." +msgid "" +"This high-tech tool would, with electricity and an experienced user, be a " +"very useful way to separate chemicals in a gaseous phase based on their " +"affinity to a solid state medium in a tube. In other words, it's a fancy " +"way to separate things." +msgstr "" #: lang/json/furniture_from_json.py -msgid "mailbox" -msgstr "caixa de correio" +msgid "mass spectrometer" +msgstr "" -#. ~ Description for mailbox +#. ~ Description for mass spectrometer #: lang/json/furniture_from_json.py msgid "" -"A metal box attached to the top of a wooden post. Mail delivery hasn't come" -" for awhile. Doesn't look like it's coming again anytime soon." +"Inside this thing is a carefully balanced set of electric field generators " +"that can precisely separate ionized particles based on their charge-to-mass " +"ratio, firing them into a detector that measures the exact mass of the " +"particle hitting it. On the outside, it looks like a very boring white box." msgstr "" #: lang/json/furniture_from_json.py -msgid "display rack" -msgstr "cremalheira de exposição" +msgid "nuclear magnetic resonance spectrometer" +msgstr "" -#. ~ Description for display rack +#. ~ Description for nuclear magnetic resonance spectrometer #: lang/json/furniture_from_json.py -msgid "Display your items." -msgstr "Exibe seus itens." +msgid "" +"This is a giant electromagnet in a kind of sci-fi looking housing. Somehow " +"it can be used to wiggle molecular bonds or something, and from there, look " +"at the deepest inner workings of chemical structures! Magnets: how do they " +"work?" +msgstr "" #: lang/json/furniture_from_json.py -msgid "wooden rack" +msgid "electron microscope" msgstr "" -#. ~ Description for wooden rack +#. ~ Description for electron microscope #: lang/json/furniture_from_json.py -msgid "A simple wooden rack. Display your items on it." +msgid "" +"An enormous tool for using electron reflections off a surface to see what " +"very tiny things look like. Amazing for taking gross pictures of bugs." msgstr "" #: lang/json/furniture_from_json.py -msgid "coat rack" -msgstr "cabide" +msgid "CT scanner" +msgstr "" -#. ~ Description for coat rack +#. ~ Description for CT scanner #: lang/json/furniture_from_json.py -msgid "A hooked rack for hanging jackets and hats." -msgstr "Um rack de gancho para pendurar casacos e chapéus." +msgid "" +"This giant donut can take hundreds of x-rays in rapid sequence, making a " +"really cool looking picture of all your innards that have varying degrees of" +" radio-opacity." +msgstr "" #: lang/json/furniture_from_json.py -msgid "recycle bin" -msgstr "Lixeira de reciclagem" +msgid "MRI machine" +msgstr "máquina de ressonância magnética" -#. ~ Description for recycle bin +#. ~ Description for MRI machine #: lang/json/furniture_from_json.py -msgid "Stores items for recycling." -msgstr "Armazena itens para reciclagem." +msgid "" +"This thing is really an NMR that you stick a person into, but people weren't" +" excited about getting into a tiny hole in a loud machine called a 'nuclear " +"magnetic resonance imager', so they changed it." +msgstr "" #: lang/json/furniture_from_json.py -msgid "safe" -msgstr "seguro" +msgid "scanner bed" +msgstr "" -#. ~ Description for safe +#. ~ Description for scanner bed #: lang/json/furniture_from_json.py -msgid "Holds items. Securely." -msgstr "Contém itens. Com segurança." +msgid "" +"This is a narrow, uncomfortable bed for putting someone into an imaging " +"machine or other small hole." +msgstr "" -#. ~ Description for safe #: lang/json/furniture_from_json.py -msgid "What needs protection like this?" -msgstr "O que precisa de proteção como essa?" +msgid "anesthetic machine" +msgstr "máquina de anestesia" +#. ~ Description for anesthetic machine #: lang/json/furniture_from_json.py -msgid "open safe" -msgstr "abrir cofre" +msgid "" +"Keeping a person at just the right level of asleep to do surgery is hard. " +"This machine helps an anesthesiologist keep the right mix of drugs and air " +"to keep a patient asleep." +msgstr "" -#. ~ Description for open safe #: lang/json/furniture_from_json.py -msgid "Grab the firearms!" -msgstr "Pegue as armas de fogo!" +msgid "dialysis machine" +msgstr "máquina de diálise" +#. ~ Description for dialysis machine #: lang/json/furniture_from_json.py -msgid "trash can" -msgstr "lixeira" +msgid "" +"If your kidneys don't work, this is a large and inconvenient machine that " +"can do the job instead! It's super useful in the apocalypse, especially " +"with how it requires power, tons of supplies, and a trained operator." +msgstr "" -#. ~ Description for trash can #: lang/json/furniture_from_json.py -msgid "One man's trash is another man's dinner." -msgstr "" +msgid "medical ventilator" +msgstr "ventilador médico" +#. ~ Description for medical ventilator #: lang/json/furniture_from_json.py -msgid "utility shelf" +msgid "" +"When they talk about the 'breathing machine' that you don't want to wind up " +"stuck on, this is what they mean. It just looks like a couple boxes on a " +"trolley." msgstr "" -#. ~ Description for utility shelf #: lang/json/furniture_from_json.py -msgid "A simple heavy-duty plastic and metal shelving unit." -msgstr "" +msgid "privacy curtain" +msgstr "cortina de privacidade" +#. ~ Description for privacy curtain #: lang/json/furniture_from_json.py -msgid "wooden keg" -msgstr "barril de madeira" +msgid "No peeking!" +msgstr "Sem espiar!" -#. ~ Description for wooden keg #: lang/json/furniture_from_json.py -msgid "A keg made mostly of wood. Holds liquids, preferably alcoholic." +msgid "swish!" +msgstr "swish!" + +#: lang/json/furniture_from_json.py +msgid "clattering metal!" msgstr "" #: lang/json/furniture_from_json.py -msgid "counter" -msgstr "contador" +msgid "open privacy curtain" +msgstr "cortina de privacidade aberta" -#. ~ Description for counter +#. ~ Description for open privacy curtain #: lang/json/furniture_from_json.py -msgid "Affixed to the wall or found in kitchens or stores." -msgstr "Afixado na parede ou encontrado em cozinhas ou lojas." +msgid "Stop peeking!" +msgstr "Pare de espiar!" #: lang/json/furniture_from_json.py -msgid "closed counter gate" +msgid "glowing tendril" msgstr "" -#. ~ Description for closed counter gate -#. ~ Description for open counter gate +#. ~ Description for glowing tendril #: lang/json/furniture_from_json.py msgid "" -"A commercial quality swinging door made of wood that allows passage behind " -"counters." +"A willowy tendril growing from the floor, gently waving back and forth. A " +"faint illumination spills from it." msgstr "" #: lang/json/furniture_from_json.py -msgid "open counter gate" +msgid "splorch!" +msgstr "splorch!" + +#: lang/json/furniture_from_json.py +msgid "wafting anemone" msgstr "" +#. ~ Description for wafting anemone #: lang/json/furniture_from_json.py -msgid "desk" -msgstr "mesa" +msgid "" +"A fleshy white protuberance growing from the floor, with a cluster of " +"tendrils pouring out of it. It looks almost exactly like a sea anemone, " +"even waving gently as though in the water." +msgstr "" -#. ~ Description for desk #: lang/json/furniture_from_json.py -msgid "Sit down at it or work on it." +msgid "gasping tube" msgstr "" -#. ~ Description for leather tarp +#. ~ Description for gasping tube #: lang/json/furniture_from_json.py msgid "" -"A large sheet of sewn leather that can be used instead of a picnic blanket, " -"but it's more valuable as a butchery appliance as it does not soak in blood." +"This is a meaty green stalactite with a thickened hide like that of a " +"starfish, extending from the floor to the ceiling. In the center is a " +"series of ports somewhat like mouths, from which pour bursts of a vile " +"smelling gas." msgstr "" -" Uma grande folha de couro costurado que pode ser usada em vez de uma " -"mantade piquenique, mas é mais valiosa como um aparelho de açougue, pois " -"nãoencharca em sangue." #: lang/json/furniture_from_json.py -msgid "plastic groundsheet" +msgid "twitching frond" msgstr "" -#. ~ Description for plastic groundsheet +#. ~ Description for twitching frond #: lang/json/furniture_from_json.py msgid "" -"A large sheet of thick plastic has been tossed on the ground here. It would" -" be a useful place to do some butchery, perhaps." +"A spine like the antenna of a moth juts from the ground, swaying gently in " +"the air. Every so often, a cascade of energy arcs along it and discharges " +"into the ceiling." msgstr "" #: lang/json/furniture_from_json.py -msgid "whuff!" -msgstr "whuff!" +msgid "scarred lump" +msgstr "" +#. ~ Description for scarred lump #: lang/json/furniture_from_json.py -msgid "crinkle." +msgid "" +"This is a pile of undentified twitching alien flesh, belching strange gases " +"out of injured vessels." msgstr "" -#. ~ Description for fiber mat #: lang/json/furniture_from_json.py -msgid "" -"A large mat woven from fibrous material that can be used instead of a picnic" -" blanket, but it's more valuable as a butchery appliance. Too thin to be a " -"comfortable sleeping place." +msgid "slimy pod" msgstr "" -" Um grande tapete tecido de material fibroso que pode ser usado em vez deuma" -" manta de piquenique, mas é mais valioso como um aparelho de açougue. Muito " -"fino para ser um lugar confortável para dormir." -#. ~ Description for tourist table +#. ~ Description for slimy pod #: lang/json/furniture_from_json.py msgid "" -"Small metal folding table, ideal for off-road trips into the wild. Can be " -"used as a workbench in a pinch." +"This is a slick, translucent pod suspended on a thin stalk. It is covered " +"in a thick mucus, obscuring whatever is floating in the gel-like substance " +"inside." msgstr "" -#: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py -msgid "table" -msgstr "mesa" +#: lang/json/furniture_from_json.py +msgid "organ pod" +msgstr "" -#. ~ Description for table +#. ~ Description for organ pod #: lang/json/furniture_from_json.py -msgid "Sit down when you eat!" -msgstr "Sente-se quando você come!" +msgid "" +"This is a translucent pod suspended on a thin stalk. Inside you can see the" +" dimly outlined shape of human organs, floating in some kind of preservative" +" goo." +msgstr "" #: lang/json/furniture_from_json.py -msgid "pile of rubble" -msgstr "pilha de escombros" +msgid "resin pod" +msgstr "" -#. ~ Description for pile of rubble +#. ~ Description for resin pod #: lang/json/furniture_from_json.py msgid "" -"Pile of various metals, bricks, and other building materials. You could " -"clear it with a shovel." +"This is a translucent pod suspended on a thin stalk. Inside is a clean, " +"clear resinous-looking fluid. You could fairly easily tear it from the " +"stalk and take it with you." msgstr "" -" Pilha de vários metais, tijolos e outros materiais de construção. " -"Vocêpoderia limpá-lo com uma pá." #: lang/json/furniture_from_json.py -msgid "pile of rocky rubble" -msgstr "pilha de entulho rochoso" +msgid "fleshy altar" +msgstr "" -#. ~ Description for pile of rocky rubble +#. ~ Description for fleshy altar #: lang/json/furniture_from_json.py -msgid "Pile of rocks. Useless?" +msgid "" +"This pulsing protuberance juts from the floor, its sides covered in scaled, " +"oozing skin. The surface is flat, but undulates softly. A handful of " +"unidentifiable appendages reach from the sides, suggesting a sort of " +"nightmarish living autodoc." msgstr "" #: lang/json/furniture_from_json.py -msgid "pile of trashy rubble" -msgstr "pilha de entulho inútil" +msgid "bathtub" +msgstr "banheira" -#. ~ Description for pile of trashy rubble +#. ~ Description for bathtub #: lang/json/furniture_from_json.py msgid "" -"Trash topped with dirt and grass, it smells gross, but another man's " -"trash..." +"You could lay in and take a soothing bath, if there were running water. The" +" plug is intact, so you could use it to store liquids." msgstr "" #: lang/json/furniture_from_json.py -msgid "metal wreckage" -msgstr "destroços de metal" +msgid "porcelain breaking!" +msgstr "porcelana quebrando!" -#. ~ Description for metal wreckage #: lang/json/furniture_from_json.py -msgid "Pile of various bent and twisted metals." -msgstr "Pilha de vários metais dobrados e torcidos." +msgid "whunk!" +msgstr "whunk!" #: lang/json/furniture_from_json.py -msgid "pile of ash" -msgstr "pilha de cinzas" +msgid "shower" +msgstr "chuveiro" -#. ~ Description for pile of ash +#. ~ Description for shower #: lang/json/furniture_from_json.py -msgid "Some ash, from wood or possibly bodies." -msgstr "Algumas cinzas, de madeira ou possivelmente corpos." +msgid "You would be able to clean yourself if water was running." +msgstr "Você seria capaz de se limpar se a água estivesse correndo." #: lang/json/furniture_from_json.py -msgid "bulletin board" -msgstr "quadro de avisos" +msgid "sink" +msgstr "Pia" -#. ~ Description for bulletin board +#. ~ Description for sink #: lang/json/furniture_from_json.py msgid "" -"A big, cork bulletin board capable of sporting various notices. Pin some " -"notes for other survivors to read." +"Emergency relief provider. Water isn't running, so it's basically useless." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "toilet" +msgstr "banheiro" + +#. ~ Description for toilet +#: lang/json/furniture_from_json.py +msgid "" +"A porcelain throne. Emergency water source, from the tank, and provider of " +"relief." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "water heater" +msgstr "aquecedor de água" + +#. ~ Description for water heater +#: lang/json/furniture_from_json.py +msgid "" +"An insulated metal tank that holds water, kept to a temperature by a small " +"gas flame." +msgstr "" + +#. ~ Description for water purifier +#: lang/json/furniture_from_json.py +msgid "" +"This removes ions dissolved in the water, making it pretty clean, if you " +"care about that kind of thing." msgstr "" #: lang/json/furniture_from_json.py @@ -91695,625 +97436,631 @@ msgid "" msgstr "" #: lang/json/furniture_from_json.py -msgid "sign" -msgstr "placa" +msgid "pool table" +msgstr "mesa de bilhar" -#. ~ Description for sign +#. ~ Description for pool table #: lang/json/furniture_from_json.py -msgid "Read it. Warnings ahead." -msgstr "Leia-o. Avisos à frente." +msgid "A good-looking pool table. You wish you learned how to play." +msgstr "Uma boa mesa de bilhar. Você gostaria de ter aprendido a jogar." #: lang/json/furniture_from_json.py -msgid "pile of leaves" -msgstr "pilha de folhas" +msgid "diving block" +msgstr "bloco de mergulho" -#. ~ Description for pile of leaves +#. ~ Description for diving block #: lang/json/furniture_from_json.py -msgid "" -"A sizable pile of leaves. You could sleep on it if you don't care about " -"comfort or warmth." -msgstr "" +msgid "Jump! Jump! Dive!" +msgstr "Saltar! Saltar! Mergulho!" #: lang/json/furniture_from_json.py -msgid "warning sign" -msgstr "" +msgid "target" +msgstr "alvo" -#. ~ Description for warning sign +#. ~ Description for target #: lang/json/furniture_from_json.py -msgid "" -"A triangle-shaped sign on a post meant to indicate something important or " -"hazard." -msgstr "" +msgid "A metal shooting target in the rough shape of a human." +msgstr "Um alvo de tiro de metal na forma áspera de um ser humano." #: lang/json/furniture_from_json.py -msgid "pool table" -msgstr "mesa de bilhar" +msgid "arcade machine" +msgstr "máquina de arcade" -#. ~ Description for pool table +#. ~ Description for arcade machine #: lang/json/furniture_from_json.py -msgid "A good-looking pool table. You wish you learned how to play." -msgstr "Uma boa mesa de bilhar. Você gostaria de ter aprendido a jogar." +msgid "" +"Play stupid games, win stupid prizes. That was the idea, anyway. Now, " +"without power, it's just stupid. Smarter to disassemble for all kinds of " +"useful electronic parts." +msgstr "" #: lang/json/furniture_from_json.py -msgid "standing mirror" -msgstr "espelho de pé" +msgid "pinball machine" +msgstr "maquina de pinball" -#. ~ Description for standing mirror +#. ~ Description for pinball machine #: lang/json/furniture_from_json.py -msgid "Lookin' good - is that blood?" +msgid "" +"Most underrated game of the 20th century. Press buttons so the ball doesn't" +" go in the hole. It doesn't seem to be working without electricity. Could " +"be disassembled for various electronic parts." msgstr "" #: lang/json/furniture_from_json.py -msgid "glass breaking" -msgstr "quebra de vidro" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "whack!" -msgstr "pancada!" - -#: lang/json/furniture_from_json.py -msgid "broken standing mirror" -msgstr "espelho em pé quebrado" +msgid "ergometer" +msgstr "ergômetro" -#. ~ Description for broken standing mirror +#. ~ Description for ergometer #: lang/json/furniture_from_json.py msgid "" -"You could look at yourself, if the mirror wasn't covered in cracks and " -"fractures." +"An rowing exercise machine. Without power, it can no longer help you with " +"your workout. Might have useful electronic parts in it." msgstr "" -" Você poderia olhar para si mesmo, se o espelho não estivesse coberto " -"derachaduras e fraturas." #: lang/json/furniture_from_json.py -msgid "vending machine" -msgstr "Maquina de vendas" +msgid "treadmill" +msgstr "esteira" -#. ~ Description for vending machine +#. ~ Description for treadmill #: lang/json/furniture_from_json.py -msgid "Buy stuff with a cash card." -msgstr "Compre coisas com um cartão de dinheiro." +msgid "" +"Used for training leg muscles. It'll be extra hard without power. Could be" +" taken apart for its… parts." +msgstr "" #: lang/json/furniture_from_json.py -msgid "broken vending machine" -msgstr "máquina de venda automática quebrada" +msgid "heavy punching bag" +msgstr "saco de pancada pesado" -#. ~ Description for broken vending machine +#. ~ Description for heavy punching bag #: lang/json/furniture_from_json.py msgid "" -"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " -"you wouldn't need to pay at all!" +"Punch Punch! Exercise those arms! Main selling point: it doesn't fight " +"back!" msgstr "" #: lang/json/furniture_from_json.py -msgid "dumpster" -msgstr "deposito de lixo" +msgid "whud." +msgstr "alguns." -#. ~ Description for dumpster #: lang/json/furniture_from_json.py -msgid "Stores trash. Doesn't get picked up anymore. Note the smell." -msgstr "" +msgid "piano" +msgstr "plano" +#. ~ Description for piano #: lang/json/furniture_from_json.py -msgid "diving block" -msgstr "bloco de mergulho" +msgid "" +"The ol' ebony and ivory. Really classes up the place. You could take it " +"apart if you wanted… you monster." +msgstr "" -#. ~ Description for diving block #: lang/json/furniture_from_json.py -msgid "Jump! Jump! Dive!" -msgstr "Saltar! Saltar! Mergulho!" +msgid "a suffering piano!" +msgstr "Um piano sofredor!" #: lang/json/furniture_from_json.py -msgid "canvas wall" -msgstr "parede da lona" +msgid "kerchang." +msgstr "kerchang." -#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "A wall made of stretched, waterproof cloth." +msgid "speaker cabinet" msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "slap!" -msgstr "tapa!" +#. ~ Description for speaker cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A cabinet loaded with 12-inch speakers, intended to help make various things" +" loud. It can't serve its original purpose these days, but it could be " +"disassembled for various electronic parts." +msgstr "" -#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "A wall made of stretched, heavy-duty, waterproof cloth." +msgid "cell phone signal booster" msgstr "" +#. ~ Description for cell phone signal booster #: lang/json/furniture_from_json.py -msgid "canvas flap" -msgstr "aba de lona" +msgid "A cell phone signal booster, it may be useful for parts now." +msgstr "" -#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "This canvas flap door could be pulled aside." +msgid "womp!" msgstr "" #: lang/json/furniture_from_json.py -msgid "open canvas flap" -msgstr "aba de lona aberta" +msgid "satellite dish" +msgstr "antena de satélite" -#. ~ Description for open canvas flap +#. ~ Description for satellite dish #: lang/json/furniture_from_json.py -msgid "This canvas flap door has been pulled aside." +msgid "A small satellite dish for home entertainment." msgstr "" -#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door could be pulled aside." +msgid "chimney crown" msgstr "" -#. ~ Description for open canvas flap +#. ~ Description for chimney crown #: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door has been pulled aside." +msgid "The top of a chimney, it looks sooty." msgstr "" #: lang/json/furniture_from_json.py -msgid "groundsheet" -msgstr "groundlay" +msgid "TV antenna" +msgstr "antena de TV" -#. ~ Description for groundsheet +#. ~ Description for TV antenna #: lang/json/furniture_from_json.py -msgid "This plastic groundsheet could keep you dry." +msgid "The television antenna improved reception for televisions." msgstr "" -#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "This large plastic groundsheet could keep you dry." +msgid "vent pipe" msgstr "" -#. ~ Description for groundsheet +#. ~ Description for vent pipe #: lang/json/furniture_from_json.py -msgid "" -"This plastic government-issue groundsheet could keep you dry, but was made " -"by the lowest bidder." +msgid "The plumbing vent pipe removes gas and odors from the building." msgstr "" #: lang/json/furniture_from_json.py -msgid "animalskin wall" -msgstr "parede de pele de animais" +msgid "roof turbine vent" +msgstr "" -#. ~ Description for animalskin wall +#. ~ Description for roof turbine vent #: lang/json/furniture_from_json.py -msgid "Wall made out of animal skin. Either an amazing or horrifying sight." +msgid "" +"The turbine uses wind power to suck hot and humid air out of the attic." msgstr "" -"Parede feita de pele de animal. Ou uma visão incrível ou horripilante." #: lang/json/furniture_from_json.py -msgid "animalskin flap" -msgstr "aba de pele de animais" +msgid "hay" +msgstr "existem" -#. ~ Description for animalskin flap +#. ~ Description for hay #: lang/json/furniture_from_json.py -msgid "This animal skin flap could be pulled aside." +msgid "A bale of hay. You could sleep on it, if desperate." msgstr "" +" Um fardo de feno. Você poderia dormir com isso, se estivesse desesperado." #: lang/json/furniture_from_json.py -msgid "open animalskin flap" -msgstr "aba de animais aberta" +msgid "whish!" +msgstr "desejo!" -#. ~ Description for open animalskin flap #: lang/json/furniture_from_json.py -msgid "This animal skin flap has been pulled aside." -msgstr "" +msgid "pile of woodchips" +msgstr "pilha de lascas de madeira" +#. ~ Description for pile of woodchips #: lang/json/furniture_from_json.py -msgid "animalskin floor" -msgstr "chão de pele de animais" +msgid "Pile of chipped wood pieces. You can move it with a shovel." +msgstr "Pilha de pedaços de madeira lascados. Você pode movê-lo com uma pá." -#. ~ Description for animalskin floor #: lang/json/furniture_from_json.py -msgid "This animal skin groundsheet could keep you dry." +msgid "bench" +msgstr "Banco" + +#. ~ Description for bench +#: lang/json/furniture_from_json.py +msgid "Hobo bed. Airy. Use at your own risk." msgstr "" #: lang/json/furniture_from_json.py -msgid "mutated poppy flower" -msgstr "flor papoula mutante" +msgid "arm chair" +msgstr "cadeira de braço" -#. ~ Description for mutated poppy flower +#. ~ Description for arm chair #: lang/json/furniture_from_json.py -msgid "" -"These strange flowers have appeared in the wake of the Cataclysm, and their " -"buds can be used for medicinal purposes, like the seeds of the mundane poppy" -" they're named after. The dirt around them gently churns as their roots " -"writhe beneath the soil, and it's surrounded by an overwhelming floral smell" -" that makes you feel sleepy." +msgid "A more comfortable way of sitting down." +msgstr "Uma maneira mais confortável de se sentar." + +#: lang/json/furniture_from_json.py +msgid "airplane seat" msgstr "" -#. ~ Description for fungal flower +#. ~ Description for airplane seat #: lang/json/furniture_from_json.py -msgid "" -"This flower has been overgrown by gray, sinewy tendrils of fungus, and the " -"color has leached from its petals and stem. It gently sways of its own " -"volition." +msgid "An airplane seat with a seatbelt." msgstr "" #: lang/json/furniture_from_json.py -msgid "poof." -msgstr "poof." +msgid "chair" +msgstr "cadeira" +#. ~ Description for chair +#. ~ Description for stool #: lang/json/furniture_from_json.py -msgid "fungal mass" -msgstr "massa fúngica" +msgid "Sit down, have a drink." +msgstr "Sente-se, tome uma bebida." -#. ~ Description for fungal mass #: lang/json/furniture_from_json.py -msgid "" -"Thick ropes of mycal matter have covered the ground here completely. It's " -"soft to the touch, but you sink into it, making moving across it difficult." +msgid "sofa" +msgstr "sofá" + +#. ~ Description for sofa +#: lang/json/furniture_from_json.py +msgid "Lie down OR sit down! Perfect!" msgstr "" #: lang/json/furniture_from_json.py -msgid "fungal clump" -msgstr "moita fúngica" +msgid "stool" +msgstr "banquinho" -#. ~ Description for fungal clump +#. ~ Description for camp chair #: lang/json/furniture_from_json.py -msgid "" -"Alien mold and stems mingle tightly here, creating a sort of fungal bush." +msgid "Sit down, have a drink. It can folded for easy transportation." msgstr "" #: lang/json/furniture_from_json.py -msgid "fermenting vat" -msgstr "tanque de fermentação." +msgid "log stool" +msgstr "" -#. ~ Description for fermenting vat -#. ~ Description for filled fermenting vat +#. ~ Description for log stool #: lang/json/furniture_from_json.py -msgid "A sealable vat for fermenting vinegar and various alcoholic brews." -msgstr "Um tanque selado para fermentar vinagre e várias bebidas alcoólicas." +msgid "" +"A log tipped on its end with any rough edges cut off. Basically a very " +"simple seat." +msgstr "" #: lang/json/furniture_from_json.py -msgid "filled fermenting vat" -msgstr "tanque de fermentação cheio" +msgid "bulletin board" +msgstr "quadro de avisos" +#. ~ Description for bulletin board #: lang/json/furniture_from_json.py -msgid "statue" -msgstr "estatua" +msgid "" +"A big, cork bulletin board capable of sporting various notices. Pin some " +"notes for other survivors to read." +msgstr "" -#. ~ Description for statue #: lang/json/furniture_from_json.py -msgid "A carved statue made of stone." -msgstr "Uma estátua esculpida em pedra." +msgid "sign" +msgstr "placa" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "thump." -msgstr "baque." +#. ~ Description for sign +#: lang/json/furniture_from_json.py +msgid "Read it. Warnings ahead." +msgstr "Leia-o. Avisos à frente." #: lang/json/furniture_from_json.py -msgid "mannequin" -msgstr "manequim" +msgid "warning sign" +msgstr "" -#. ~ Description for mannequin +#. ~ Description for warning sign #: lang/json/furniture_from_json.py msgid "" -"Put clothes on it, talk to it. Who's around to judge you? Wait... did it " -"just move?" +"A triangle-shaped sign on a post meant to indicate something important or " +"hazard." msgstr "" +#: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py +msgid "bed" +msgstr "cama" + +#. ~ Description for bed #: lang/json/furniture_from_json.py -msgid "birdbath" +msgid "" +"This is a bed. A luxury in these times. Quite comfortable to sleep in." msgstr "" -#. ~ Description for birdbath #: lang/json/furniture_from_json.py -msgid "A decorative cement birdbath and pedestal." +msgid "bed frame" msgstr "" +#. ~ Description for bed frame #: lang/json/furniture_from_json.py -msgid "rotary clothes dryer line" +msgid "" +"This is an empty bed frame. With a mattress on it, it would be a nice place" +" to sleep. Sleeping on it right now wouldn't be great." msgstr "" -#. ~ Description for rotary clothes dryer line #: lang/json/furniture_from_json.py -msgid "A umbrella shaped clothes line mounted on a pole." +msgid "whack." msgstr "" +#. ~ Description for mattress #: lang/json/furniture_from_json.py -msgid "cell phone signal booster" +msgid "" +"A comfortable mattress has been tossed on the floor for sleeping here. It's" +" not quite as comfy as a real bed, but it's pretty close." msgstr "" -#. ~ Description for cell phone signal booster +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py src/map.cpp +msgid "rrrrip!" +msgstr "rrrrip!" + +#. ~ Description for down mattress #: lang/json/furniture_from_json.py -msgid "A cell phone signal booster, it may be useful for parts now." +msgid "" +"A comfortable feather down mattress has been tossed on the floor for " +"sleeping here. It's not quite as comfy as a real bed, but it's pretty " +"close." msgstr "" #: lang/json/furniture_from_json.py -msgid "womp!" -msgstr "" +msgid "makeshift bed" +msgstr "cama improvisada" +#. ~ Description for makeshift bed #: lang/json/furniture_from_json.py -msgid "satellite dish" -msgstr "antena de satélite" +msgid "Not as comfortable as a real bed, but it will suffice." +msgstr "Não tão confortável quanto uma cama de verdade, mas será suficiente." -#. ~ Description for satellite dish #: lang/json/furniture_from_json.py -msgid "A small satellite dish for home entertainment." -msgstr "" +msgid "straw bed" +msgstr "cama de palha" +#. ~ Description for straw bed #: lang/json/furniture_from_json.py -msgid "chimney crown" -msgstr "" +msgid "Kinda itches when you lay on it." +msgstr "Meio que coça quando você se deita nele." -#. ~ Description for chimney crown #: lang/json/furniture_from_json.py -msgid "The top of a chimney, it looks sooty." +msgid "bookcase" msgstr "" +#. ~ Description for bookcase #: lang/json/furniture_from_json.py -msgid "TV antenna" -msgstr "antena de TV" +msgid "Stores books. Y'know, those things. Who reads books anymore?" +msgstr "" -#. ~ Description for TV antenna #: lang/json/furniture_from_json.py -msgid "The television antenna improved reception for televisions." +msgid "entertainment center" msgstr "" +#. ~ Description for entertainment center #: lang/json/furniture_from_json.py -msgid "vent pipe" +msgid "Stores audio visual equipment, books and collectible." msgstr "" -#. ~ Description for vent pipe #: lang/json/furniture_from_json.py -msgid "The plumbing vent pipe removes gas and odors from the building." -msgstr "" +msgid "coffin" +msgstr "caixão" +#. ~ Description for coffin #: lang/json/furniture_from_json.py -msgid "roof turbine vent" +msgid "Holds the bodies of the countless killed in the Cataclysm." msgstr "" -#. ~ Description for roof turbine vent +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "wham!" +msgstr "wham!" + +#: lang/json/furniture_from_json.py +msgid "open coffin" +msgstr "caixão aberto" + +#. ~ Description for open coffin #: lang/json/furniture_from_json.py msgid "" -"The turbine uses wind power to suck hot and humid air out of the attic." +"You can only hope you'll look good enough for one of these, when the time " +"comes." msgstr "" #: lang/json/furniture_from_json.py -msgid "mounted solar panel" -msgstr "painel solar montado" +msgid "crate" +msgstr "caixote" -#. ~ Description for mounted solar panel +#. ~ Description for crate #: lang/json/furniture_from_json.py -msgid "A mounted solar panel." +msgid "" +"What's inside? Pry it open to find out! Or just smash it, but you might " +"break the contents." msgstr "" #: lang/json/furniture_from_json.py -msgid "target" -msgstr "alvo" +msgid "open crate" +msgstr "abrir caixote" -#. ~ Description for target +#. ~ Description for open crate #: lang/json/furniture_from_json.py -msgid "A metal shooting target in the rough shape of a human." -msgstr "Um alvo de tiro de metal na forma áspera de um ser humano." +msgid "What's inside? Look in it!" +msgstr "O que tem dentro? Olhe para dentro!" -#. ~ Description for bluebell +#. ~ Description for large cardboard box #: lang/json/furniture_from_json.py -msgid "A common bluebell flower. Pretty." +msgid "" +"A large cardboard box: this could be used to store things, or as a hiding " +"place." msgstr "" -#. ~ Description for dahlia #: lang/json/furniture_from_json.py -msgid "A puffy flower with many tightly layered petals." +msgid "crumple!" msgstr "" -#. ~ Description for chicory +#: lang/json/furniture_from_json.py src/ballistics.cpp +msgid "thud." +msgstr "baque." + #: lang/json/furniture_from_json.py -msgid "A blue flower imported from Europe, also known as a Cornflower." -msgstr "" +msgid "cupboard" +msgstr "armário" -#. ~ Description for datura +#. ~ Description for cupboard #: lang/json/furniture_from_json.py -msgid "A pretty moonflower." -msgstr "" +msgid "Store your cups." +msgstr "Guarde seus copos." #: lang/json/furniture_from_json.py -msgid "marloss flower" -msgstr "marloss flower" +msgid "dresser" +msgstr "cômoda" -#. ~ Description for marloss flower +#. ~ Description for dresser #: lang/json/furniture_from_json.py -msgid "" -"This flower is like the other flowers taken by the mushrooms, but its bulb " -"is colored a brilliant cyan color, and it emits an aroma both overwhelming " -"and... delicious?" +msgid "Dress yourself for the zombie prom, or other occasions." msgstr "" -#. ~ Description for dandelion #: lang/json/furniture_from_json.py -msgid "" -"A common weed with a yellow flower. Produces seeds that get carried on the " -"wind by thin, gray filaments." +msgid "glass front cabinet" msgstr "" -#. ~ Description for chamomile +#. ~ Description for glass front cabinet #: lang/json/furniture_from_json.py -msgid "Ahh, soothing chamomile tea." +msgid "A tall storage cabinet with a clear glass window." msgstr "" -#. ~ Description for tulip +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py src/ballistics.cpp src/iuse.cpp src/map.cpp +msgid "glass breaking!" +msgstr "quebra de vidro!" + #: lang/json/furniture_from_json.py -msgid "A bright, colorful flower with petals forming a small cup at its top." -msgstr "" +msgid "gun safe" +msgstr "cofre de armas" +#. ~ Description for gun safe #: lang/json/furniture_from_json.py -msgid "spurge flower" -msgstr "flor do spurge" +msgid "Oooooohhhh. Shiny." +msgstr "Oooooohhhh Brilhante." -#. ~ Description for spurge flower #: lang/json/furniture_from_json.py -msgid "A yellow-green flower that grows in densely packed bushes." -msgstr "" +msgid "screeching metal!" +msgstr "guinchando metal!" #: lang/json/furniture_from_json.py -msgid "cattails" -msgstr "cattails" +msgid "jammed gun safe" +msgstr "pistola atolada segura" -#. ~ Description for cattails +#. ~ Description for jammed gun safe #: lang/json/furniture_from_json.py -msgid "" -"This useful plant is available all year round. Many parts of the plant are " -"edible." -msgstr "" +msgid "Does it have guns in it? You won't find out. It's jammed." +msgstr "Tem armas nela? Você não vai descobrir. Está emperrado." -#. ~ Description for black eyed susan #: lang/json/furniture_from_json.py -msgid "" -"A yellow flower that has a dark ball in the middle. Sometimes known as an " -"oxe-eye daisy." -msgstr "" +msgid "electronic gun safe" +msgstr "cofre de armas eletrônico" -#. ~ Description for lily +#. ~ Description for electronic gun safe #: lang/json/furniture_from_json.py -msgid "A pretty flower that comes in a variety of colors." -msgstr "" +msgid "Can you hack it open to get the firearms?" +msgstr "Você pode abri-lo para pegar as armas de fogo?" -#. ~ Description for lotus #: lang/json/furniture_from_json.py -msgid "" -"A lovely flower that grows on the surface of bodies of freshwater. " -"Traditionally connected with many Eastern cultures." -msgstr "" +msgid "locker" +msgstr "armário" -#. ~ Description for sunflower +#. ~ Description for locker #: lang/json/furniture_from_json.py -msgid "" -"A tall, wide-headed flower with a large dark center. Produces many " -"nutritious seeds." -msgstr "" +msgid "Usually used for storing equipment or items." +msgstr "Geralmente usado para armazenar equipamentos ou itens." #: lang/json/furniture_from_json.py -msgid "lilypad" -msgstr "vitória Régia" +msgid "mailbox" +msgstr "caixa de correio" -#. ~ Description for lilypad +#. ~ Description for mailbox #: lang/json/furniture_from_json.py msgid "" -"These lilypads don't look they'd support the weight of the things you've " -"heard croaking in the swamp." +"A metal box attached to the top of a wooden post. Mail delivery hasn't come" +" for awhile. Doesn't look like it's coming again anytime soon." msgstr "" #: lang/json/furniture_from_json.py -msgid "forge" -msgstr "forja" +msgid "display rack" +msgstr "cremalheira de exposição" -#. ~ Description for forge +#. ~ Description for display rack #: lang/json/furniture_from_json.py -msgid "Metalworking station typically used in combination with an anvil." -msgstr "Estação de usinagem tipicamente usada em combinação com uma bigorna." +msgid "Display your items." +msgstr "Exibe seus itens." -#. ~ Description for anvil #: lang/json/furniture_from_json.py -msgid "Used in metalworking." -msgstr "Usado em metalurgia." +msgid "wooden rack" +msgstr "" -#. ~ Description for still +#. ~ Description for wooden rack #: lang/json/furniture_from_json.py -msgid "" -"An essential component for brewing and chemistry that allows for refining " -"liquid mixtures." +msgid "A simple wooden rack. Display your items on it." msgstr "" -" Um componente essencial para fabricação de cerveja e química que " -"permiterefinar misturas líquidas." #: lang/json/furniture_from_json.py -msgid "spider egg sack" -msgstr "saco de ovo de aranha" +msgid "coat rack" +msgstr "cabide" -#. ~ Description for spider egg sack +#. ~ Description for coat rack #: lang/json/furniture_from_json.py -msgid "" -"Much too large, off-white egg sack. Kind of icky. Something IS moving in " -"there." -msgstr "" +msgid "A hooked rack for hanging jackets and hats." +msgstr "Um rack de gancho para pendurar casacos e chapéus." #: lang/json/furniture_from_json.py -msgid "splat!" -msgstr "splat!" +msgid "recycle bin" +msgstr "Lixeira de reciclagem" -#. ~ Description for spider egg sack +#. ~ Description for recycle bin #: lang/json/furniture_from_json.py -msgid "" -"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " -"in there." -msgstr "" +msgid "Stores items for recycling." +msgstr "Armazena itens para reciclagem." -#. ~ Description for spider egg sack #: lang/json/furniture_from_json.py -msgid "" -"A horrifyingly oversized egg sack. Something IS moving in there. If you're" -" seeing this, you're already too close to it." -msgstr "" +msgid "safe" +msgstr "seguro" +#. ~ Description for safe #: lang/json/furniture_from_json.py -msgid "ruptured egg sack" -msgstr "saco de ovo rompido" +msgid "Holds items. Securely." +msgstr "Contém itens. Com segurança." -#. ~ Description for ruptured egg sack +#. ~ Description for safe #: lang/json/furniture_from_json.py -msgid "Super icky. Spider stuff's spilling out." -msgstr "" +msgid "What needs protection like this?" +msgstr "O que precisa de proteção como essa?" #: lang/json/furniture_from_json.py -msgid "reinforced vending machine" -msgstr "máquina de venda automática reforçada" +msgid "open safe" +msgstr "abrir cofre" -#. ~ Description for reinforced vending machine +#. ~ Description for open safe #: lang/json/furniture_from_json.py -msgid "" -"A bit tougher to crack open than regular vending machines. That just makes " -"it all the sweeter a target, doesn't it?" -msgstr "" +msgid "Grab the firearms!" +msgstr "Pegue as armas de fogo!" #: lang/json/furniture_from_json.py -msgid "arcade machine" -msgstr "máquina de arcade" +msgid "trash can" +msgstr "lixeira" -#. ~ Description for arcade machine +#. ~ Description for trash can #: lang/json/furniture_from_json.py -msgid "" -"Play stupid games, win stupid prizes. That was the idea, anyway. Now, " -"without power, it's just stupid. Smarter to disassemble for all kinds of " -"useful electronic parts." +msgid "One man's trash is another man's dinner." msgstr "" #: lang/json/furniture_from_json.py -msgid "pinball machine" -msgstr "maquina de pinball" +msgid "wardrobe" +msgstr "guarda roupa" -#. ~ Description for pinball machine +#. ~ Description for wardrobe #: lang/json/furniture_from_json.py -msgid "" -"Most underrated game of the 20th century. Press buttons so the ball doesn't" -" go in the hole. It doesn't seem to be working without electricity. Could " -"be disassembled for various electronic parts." +msgid "A tall piece of furniture - basically a freestanding closet." msgstr "" #: lang/json/furniture_from_json.py -msgid "ergometer" -msgstr "ergômetro" +msgid "filing cabinet" +msgstr "armário de arquivo" -#. ~ Description for ergometer +#. ~ Description for filing cabinet #: lang/json/furniture_from_json.py msgid "" -"An rowing exercise machine. Without power, it can no longer help you with " -"your workout. Might have useful electronic parts in it." +"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " +"locked to protect important information. If you're lucky, there are often " +"keys nearby." msgstr "" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py src/map.cpp -#: src/mapdata.cpp -msgid "thump!" -msgstr "baque!" +#: lang/json/furniture_from_json.py +msgid "utility shelf" +msgstr "" +#. ~ Description for utility shelf #: lang/json/furniture_from_json.py -msgid "treadmill" -msgstr "esteira" +msgid "A simple heavy-duty plastic and metal shelving unit." +msgstr "" -#. ~ Description for treadmill #: lang/json/furniture_from_json.py -msgid "" -"Used for training leg muscles. It'll be extra hard without power. Could be" -" taken apart for its... parts." +msgid "wooden keg" +msgstr "barril de madeira" + +#. ~ Description for wooden keg +#: lang/json/furniture_from_json.py +msgid "A keg made mostly of wood. Holds liquids, preferably alcoholic." msgstr "" #: lang/json/furniture_from_json.py @@ -92345,483 +98092,507 @@ msgstr "" " Um grande tanque de metal independente, útil para a retenção de líquidos." #: lang/json/furniture_from_json.py -msgid "heavy punching bag" -msgstr "saco de pancada pesado" +msgid "dumpster" +msgstr "deposito de lixo" -#. ~ Description for heavy punching bag +#. ~ Description for dumpster #: lang/json/furniture_from_json.py -msgid "" -"Punch Punch! Exercise those arms! Main selling point: it doesn't fight " -"back!" +msgid "Stores trash. Doesn't get picked up anymore. Note the smell." msgstr "" #: lang/json/furniture_from_json.py -msgid "whud." -msgstr "alguns." +msgid "counter" +msgstr "contador" +#. ~ Description for counter #: lang/json/furniture_from_json.py -msgid "canvas floor" -msgstr "chão de lona" +msgid "Affixed to the wall or found in kitchens or stores." +msgstr "Afixado na parede ou encontrado em cozinhas ou lojas." -#. ~ Description for canvas floor #: lang/json/furniture_from_json.py -msgid "" -"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " -"of the tent." +msgid "closed counter gate" msgstr "" -#. ~ Description for charcoal kiln -#. ~ Description for filled charcoal kiln +#. ~ Description for closed counter gate +#. ~ Description for open counter gate #: lang/json/furniture_from_json.py msgid "" -"A rock kiln designed to burn wood and organic material into charcoal in " -"absence of oxygen." +"A commercial quality swinging door made of wood that allows passage behind " +"counters." msgstr "" -" Um forno de rocha projetado para queimar madeira e material orgânico " -"emcarvão na ausência de oxigênio." #: lang/json/furniture_from_json.py -msgid "metal charcoal kiln" -msgstr "forno de carvão de metal" +msgid "open counter gate" +msgstr "" -#. ~ Description for metal charcoal kiln -#. ~ Description for filled metal charcoal kiln +#: lang/json/furniture_from_json.py +msgid "desk" +msgstr "mesa" + +#. ~ Description for desk +#: lang/json/furniture_from_json.py +msgid "Sit down at it or work on it." +msgstr "" + +#. ~ Description for leather tarp #: lang/json/furniture_from_json.py msgid "" -"A metal kiln designed to burn wood and organic material into charcoal in " -"absence of oxygen." +"A large sheet of sewn leather that can be used instead of a picnic blanket, " +"but it's more valuable as a butchery appliance as it does not soak in blood." msgstr "" -" Um forno de metal projetado para queimar madeira e material orgânico " -"emcarvão na ausência de oxigênio." +" Uma grande folha de couro costurado que pode ser usada em vez de uma " +"mantade piquenique, mas é mais valiosa como um aparelho de açougue, pois " +"nãoencharca em sangue." #: lang/json/furniture_from_json.py -msgid "filled metal charcoal kiln" -msgstr "forno de carvão de metal cheio" +msgid "plastic groundsheet" +msgstr "" -#. ~ Description for arc furnace -#. ~ Description for filled arc furnace +#. ~ Description for plastic groundsheet #: lang/json/furniture_from_json.py msgid "" -"An arc furnace designed to burn a powdery mix of coke and limestone to " -"create calcium carbide." +"A large sheet of thick plastic has been tossed on the ground here. It would" +" be a useful place to do some butchery, perhaps." msgstr "" #: lang/json/furniture_from_json.py -msgid "filled arc furnace" +msgid "whuff!" +msgstr "whuff!" + +#: lang/json/furniture_from_json.py +msgid "crinkle." msgstr "" +#. ~ Description for fiber mat #: lang/json/furniture_from_json.py -msgid "robotic arm" -msgstr "braço robótico" +msgid "" +"A large mat woven from fibrous material that can be used instead of a picnic" +" blanket, but it's more valuable as a butchery appliance. Too thin to be a " +"comfortable sleeping place." +msgstr "" +" Um grande tapete tecido de material fibroso que pode ser usado em vez deuma" +" manta de piquenique, mas é mais valioso como um aparelho de açougue. Muito " +"fino para ser um lugar confortável para dormir." -#. ~ Description for robotic arm +#. ~ Description for tourist table #: lang/json/furniture_from_json.py msgid "" -"Automation! Science! Industry! Make a better horse! This robot arm " -"promises to do it all. Except it's currently unpowered. You could remove " -"the casing and retrieve the electronics through disassembly." +"Small metal folding table, ideal for off-road trips into the wild. Can be " +"used as a workbench in a pinch." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "thunk." -msgstr "thunk." +#: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py +msgid "table" +msgstr "mesa" +#. ~ Description for table #: lang/json/furniture_from_json.py -msgid "automated gas console" -msgstr "console de gás automatizado" +msgid "Sit down when you eat!" +msgstr "Sente-se quando você come!" -#. ~ Description for automated gas console +#. ~ Description for table #: lang/json/furniture_from_json.py -msgid "Automated gas flow control console." +msgid "a low table for livingrooms." msgstr "" #: lang/json/furniture_from_json.py -msgid "broken automated gas console" -msgstr "console de gás automatizado quebrado" +msgid "tatami mat" +msgstr "tapete de tatami" -#. ~ Description for broken automated gas console +#. ~ Description for tatami mat #: lang/json/furniture_from_json.py msgid "" -"Automated gas flow control console. Broken. This is not a good thing." +"A tatami is a type of mat used as a flooring material in traditional " +"Japanese-style rooms." msgstr "" #: lang/json/furniture_from_json.py -msgid "smoking rack" -msgstr "cremalheira de fumo" +msgid "pillow fort" +msgstr "forte travesseiro" -#. ~ Description for smoking rack -#. ~ Description for metal smoking rack -#. ~ Description for active metal smoking rack +#. ~ Description for pillow fort #: lang/json/furniture_from_json.py -msgid "" -"A special rack designed to smoke food for better preservation and taste." +msgid "A comfy place to hide from the world. Not very defensible, though." msgstr "" -" Um rack especial projetado para fumar alimentos para melhor preservação " -"esabor." #: lang/json/furniture_from_json.py -msgid "active smoking rack" -msgstr "cremalheira de fumo ativa" +msgid "paf!" +msgstr "PAF!" -#. ~ Description for active smoking rack #: lang/json/furniture_from_json.py -msgid "" -"A special rack designed to smoke food for better preservation and taste. It" -" is lit and smoking." +msgid "cardboard fort" msgstr "" -" Um rack especial projetado para fumar alimentos para melhor preservação " -"esabor. Está iluminado e fumando." +#. ~ Description for cardboard fort #: lang/json/furniture_from_json.py -msgid "active metal smoking rack" +msgid "" +"A fort built by tipping a cardboard box on its side, lining it with " +"blankets, and partly weather sealing it with a plastic sheet." msgstr "" #: lang/json/furniture_from_json.py -msgid "rock forge" -msgstr "forja de pedra" +msgid "cardboard wall" +msgstr "" -#. ~ Description for rock forge +#. ~ Description for cardboard wall #: lang/json/furniture_from_json.py msgid "" -"Metalworking station made of rock, typically used in combination with an " -"anvil." +"This is a pile of cardboard boxes that have been filled with rags and junk " +"and stacked together like bricks to form a wall." msgstr "" -" Estação de trabalho em metal feita de rocha, normalmente usada emcombinação" -" com uma bigorna." #: lang/json/furniture_from_json.py -msgid "clay kiln" -msgstr "forno de barro" +msgid "beaded curtain" +msgstr "" -#. ~ Description for clay kiln +#. ~ Description for beaded curtain #: lang/json/furniture_from_json.py -msgid "A kiln designed to bake clay pottery and bricks." -msgstr "Um forno projetado para assar cerâmica e tijolos de barro." +msgid "This beaded curtain could be pulled aside." +msgstr "" -#. ~ Description for stepladder #: lang/json/furniture_from_json.py -msgid "" -"A short, foldable ladder. Can help you climb to a rooftop, or maybe slow " -"something down." +msgid "clickity clack… clack… clack" msgstr "" #: lang/json/furniture_from_json.py -msgid "small boulder" -msgstr "rocha pequena" +msgid "clickity clack… clack" +msgstr "" -#. ~ Description for small boulder #: lang/json/furniture_from_json.py -msgid "" -"Blocking your path. Should be easy to move. It can be used as a primitive " -"anvil." +msgid "open beaded curtain" msgstr "" -" Bloqueando seu caminho. Deve ser fácil de se mover. Pode ser usado como " -"umabigorna primitiva." +#. ~ Description for open beaded curtain #: lang/json/furniture_from_json.py -msgid "medium boulder" -msgstr "rocha média" +msgid "This beaded curtain has been pulled aside." +msgstr "" -#. ~ Description for medium boulder #: lang/json/furniture_from_json.py -msgid "" -"Blocking your path. It'll be a struggle to move. It can be used as a " -"primitive anvil." +msgid "clickity clack… clack… clack!" msgstr "" -" Bloqueando seu caminho. Vai ser uma luta para se mexer. Pode ser usado " -"comouma bigorna primitiva." #: lang/json/furniture_from_json.py -msgid "large boulder" -msgstr "grande rocha" +msgid "canvas floor" +msgstr "chão de lona" -#. ~ Description for large boulder +#. ~ Description for canvas floor #: lang/json/furniture_from_json.py -msgid "Now how are you going to move this?" -msgstr "Agora, como você vai mudar isso?" +msgid "" +"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " +"of the tent." +msgstr "" #: lang/json/furniture_from_json.py -msgid "stone slab" -msgstr "laje de pedra" +msgid "canvas wall" +msgstr "parede da lona" -#. ~ Description for stone slab +#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "A flat slab of heavy stone." +msgid "A wall made of stretched, waterproof cloth." msgstr "" -#: lang/json/furniture_from_json.py -msgid "manacles" -msgstr "algemas" +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "slap!" +msgstr "tapa!" -#. ~ Description for manacles +#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "" -"Chain serfs in your dungeon. All you need now is an iron ball to chain to " -"it." +msgid "A wall made of stretched, heavy-duty, waterproof cloth." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "crack." -msgstr "rachadura." - #: lang/json/furniture_from_json.py -msgid "headstone" -msgstr "lápide" +msgid "canvas flap" +msgstr "aba de lona" -#. ~ Description for headstone +#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "Keeps the bodies." -msgstr "mantem os corpos." +msgid "This canvas flap door could be pulled aside." +msgstr "" #: lang/json/furniture_from_json.py -msgid "gravestone" -msgstr "lápide" +msgid "open canvas flap" +msgstr "aba de lona aberta" -#. ~ Description for gravestone +#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "Keeps the bodies. More fancy." -msgstr "Mantém os corpos. Mais chique." +msgid "This canvas flap door has been pulled aside." +msgstr "" +#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "worn gravestone" -msgstr "lápide gasta" +msgid "This heavy canvas flap door could be pulled aside." +msgstr "" -#. ~ Description for worn gravestone +#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "A worn-out gravestone." -msgstr "Uma lápide gasta." +msgid "This heavy canvas flap door has been pulled aside." +msgstr "" #: lang/json/furniture_from_json.py -msgid "obelisk" -msgstr "obelisco" +msgid "groundsheet" +msgstr "groundlay" -#. ~ Description for obelisk +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "Monument to pride." +msgid "This plastic groundsheet could keep you dry." msgstr "" +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "thunk!" -msgstr "thunk!" +msgid "This large plastic groundsheet could keep you dry." +msgstr "" -#. ~ Description for brazier +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "A raised metal dish in which to safely burn things." +msgid "" +"This plastic government-issue groundsheet could keep you dry, but was made " +"by the lowest bidder." msgstr "" #: lang/json/furniture_from_json.py -msgid "fire ring" -msgstr "anel de fogo" +msgid "animalskin wall" +msgstr "parede de pele de animais" -#. ~ Description for fire ring +#. ~ Description for animalskin wall #: lang/json/furniture_from_json.py -msgid "A ring of stones to safely contain a fire." +msgid "Wall made out of animal skin. Either an amazing or horrifying sight." msgstr "" +"Parede feita de pele de animal. Ou uma visão incrível ou horripilante." #: lang/json/furniture_from_json.py -msgid "Autodoc Mk. XI" -msgstr "Autodoc Mk. XI" +msgid "animalskin flap" +msgstr "aba de pele de animais" -#. ~ Description for Autodoc Mk. XI +#. ~ Description for animalskin flap #: lang/json/furniture_from_json.py -msgid "" -"A surgical apparatus used for installation and uninstallation of bionics. " -"It's only as skilled as its operator." +msgid "This animal skin flap could be pulled aside." msgstr "" -" Um aparelho cirúrgico usado para instalação e desinstalação da biônica. " -"Étão habilidoso quanto seu operador." #: lang/json/furniture_from_json.py -msgid "Autodoc operation couch" -msgstr "Sofá de operação Autodoc" +msgid "open animalskin flap" +msgstr "aba de animais aberta" -#. ~ Description for Autodoc operation couch +#. ~ Description for open animalskin flap #: lang/json/furniture_from_json.py -msgid "" -"A plush red sofa made less comfortable by the medical machinery directly " -"above it. It has a single leather strap on the right armrest." +msgid "This animal skin flap has been pulled aside." msgstr "" -" Um sofá vermelho de pelúcia tornava menos confortável a máquina " -"médicadiretamente acima dela. Tem uma correia de couro no braço direito." -#. ~ Description for camp chair #: lang/json/furniture_from_json.py -msgid "Sit down, have a drink. It can folded for easy transportation." -msgstr "" +msgid "animalskin floor" +msgstr "chão de pele de animais" +#. ~ Description for animalskin floor #: lang/json/furniture_from_json.py -msgid "butchering rack" -msgstr "cremalheira de açougueiro" +msgid "This animal skin groundsheet could keep you dry." +msgstr "" -#. ~ Description for butchering rack #: lang/json/furniture_from_json.py -msgid "Butchering rack designed to hang a carcass in the air." -msgstr "Rack de açougueiro projetado para pendurar uma carcaça no ar." +msgid "pile of rubble" +msgstr "pilha de escombros" -#. ~ Description for metal butchering rack +#. ~ Description for pile of rubble #: lang/json/furniture_from_json.py msgid "" -"Metal butchering rack designed to hang a carcass in the air. It can be " -"deconstructed and folded for easy transportation." +"Pile of various metals, bricks, and other building materials. You could " +"clear it with a shovel." msgstr "" -" Rack de metal de açougueiro projetado para pendurar uma carcaça no ar. " -"Podeser desconstruído e dobrado para facilitar o transporte." +" Pilha de vários metais, tijolos e outros materiais de construção. " +"Vocêpoderia limpá-lo com uma pá." -#. ~ Description for wind mill #: lang/json/furniture_from_json.py -msgid "" -"A small wind-powered mill that can convert starchy products into flour." -msgstr "" +msgid "pile of rocky rubble" +msgstr "pilha de entulho rochoso" +#. ~ Description for pile of rocky rubble #: lang/json/furniture_from_json.py -msgid "active wind mill" +msgid "Pile of rocks. Useless?" msgstr "" -#. ~ Description for active wind mill #: lang/json/furniture_from_json.py -msgid "" -"A small wind-powered mill that can convert starchy products into flour. Its" -" brake has been removed and it is turning." -msgstr "" +msgid "pile of trashy rubble" +msgstr "pilha de entulho inútil" -#. ~ Description for water mill +#. ~ Description for pile of trashy rubble #: lang/json/furniture_from_json.py msgid "" -"A small water-powered mill that can convert starchy products into flour." +"Trash topped with dirt and grass, it smells gross, but another man's trash…" msgstr "" #: lang/json/furniture_from_json.py -msgid "active water mill" -msgstr "" +msgid "metal wreckage" +msgstr "destroços de metal" -#. ~ Description for active water mill +#. ~ Description for metal wreckage #: lang/json/furniture_from_json.py -msgid "" -"A small water-powered mill that can convert starchy products into flour. " -"Its brake has been removed and it is turning." -msgstr "" +msgid "Pile of various bent and twisted metals." +msgstr "Pilha de vários metais dobrados e torcidos." #: lang/json/furniture_from_json.py -msgid "pillow fort" -msgstr "forte travesseiro" +msgid "pile of ash" +msgstr "pilha de cinzas" -#. ~ Description for pillow fort +#. ~ Description for pile of ash #: lang/json/furniture_from_json.py -msgid "A comfy place to hide from the world. Not very defensible, though." -msgstr "" +msgid "Some ash, from wood or possibly bodies." +msgstr "Algumas cinzas, de madeira ou possivelmente corpos." #: lang/json/furniture_from_json.py -msgid "paf!" -msgstr "PAF!" +msgid "small boulder" +msgstr "rocha pequena" +#. ~ Description for small boulder #: lang/json/furniture_from_json.py -msgid "cardboard fort" +msgid "" +"Blocking your path. Should be easy to move. It can be used as a primitive " +"anvil." msgstr "" +" Bloqueando seu caminho. Deve ser fácil de se mover. Pode ser usado como " +"umabigorna primitiva." -#. ~ Description for cardboard fort +#: lang/json/furniture_from_json.py +msgid "medium boulder" +msgstr "rocha média" + +#. ~ Description for medium boulder #: lang/json/furniture_from_json.py msgid "" -"A fort built by tipping a cardboard box on its side, lining it with " -"blankets, and partly weather sealing it with a plastic sheet." +"Blocking your path. It'll be a struggle to move. It can be used as a " +"primitive anvil." msgstr "" +" Bloqueando seu caminho. Vai ser uma luta para se mexer. Pode ser usado " +"comouma bigorna primitiva." #: lang/json/furniture_from_json.py -msgid "crumple!" -msgstr "" +msgid "large boulder" +msgstr "grande rocha" -#: lang/json/furniture_from_json.py src/ballistics.cpp -msgid "thud." -msgstr "baque." +#. ~ Description for large boulder +#: lang/json/furniture_from_json.py +msgid "Now how are you going to move this?" +msgstr "Agora, como você vai mudar isso?" #: lang/json/furniture_from_json.py -msgid "cardboard wall" -msgstr "" +msgid "forge" +msgstr "forja" -#. ~ Description for cardboard wall +#. ~ Description for forge +#: lang/json/furniture_from_json.py +msgid "Metalworking station typically used in combination with an anvil." +msgstr "Estação de usinagem tipicamente usada em combinação com uma bigorna." + +#. ~ Description for anvil +#: lang/json/furniture_from_json.py +msgid "Used in metalworking." +msgstr "Usado em metalurgia." + +#. ~ Description for still #: lang/json/furniture_from_json.py msgid "" -"This is a pile of cardboard boxes that have been filled with rags and junk " -"and stacked together like bricks to form a wall." +"An essential component for brewing and chemistry that allows for refining " +"liquid mixtures." msgstr "" +" Um componente essencial para fabricação de cerveja e química que " +"permiterefinar misturas líquidas." -#. ~ Description for large cardboard box +#. ~ Description for charcoal kiln +#. ~ Description for filled charcoal kiln #: lang/json/furniture_from_json.py msgid "" -"A large cardboard box: this could be used to store things, or as a hiding " -"place." +"A rock kiln designed to burn wood and organic material into charcoal in " +"absence of oxygen." msgstr "" +" Um forno de rocha projetado para queimar madeira e material orgânico " +"emcarvão na ausência de oxigênio." #: lang/json/furniture_from_json.py -msgid "beaded curtain" -msgstr "" +msgid "metal charcoal kiln" +msgstr "forno de carvão de metal" -#. ~ Description for beaded curtain +#. ~ Description for metal charcoal kiln +#. ~ Description for filled metal charcoal kiln #: lang/json/furniture_from_json.py -msgid "This beaded curtain could be pulled aside." +msgid "" +"A metal kiln designed to burn wood and organic material into charcoal in " +"absence of oxygen." msgstr "" +" Um forno de metal projetado para queimar madeira e material orgânico " +"emcarvão na ausência de oxigênio." #: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack" -msgstr "clickity clack...clack...clack" +msgid "filled metal charcoal kiln" +msgstr "forno de carvão de metal cheio" +#. ~ Description for arc furnace +#. ~ Description for filled arc furnace #: lang/json/furniture_from_json.py -msgid "clickity clack...clack" -msgstr "clickity clack...clack" +msgid "" +"An arc furnace designed to burn a powdery mix of coke and limestone to " +"create calcium carbide." +msgstr "" #: lang/json/furniture_from_json.py -msgid "open beaded curtain" +msgid "filled arc furnace" msgstr "" -#. ~ Description for open beaded curtain #: lang/json/furniture_from_json.py -msgid "This beaded curtain has been pulled aside." -msgstr "" +msgid "smoking rack" +msgstr "cremalheira de fumo" +#. ~ Description for smoking rack +#. ~ Description for metal smoking rack +#. ~ Description for active metal smoking rack #: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack!" +msgid "" +"A special rack designed to smoke food for better preservation and taste." msgstr "" +" Um rack especial projetado para fumar alimentos para melhor preservação " +"esabor." #: lang/json/furniture_from_json.py -msgid "filing cabinet" -msgstr "armário de arquivo" +msgid "active smoking rack" +msgstr "cremalheira de fumo ativa" -#. ~ Description for filing cabinet +#. ~ Description for active smoking rack #: lang/json/furniture_from_json.py msgid "" -"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " -"locked to protect important information. If you're lucky, there are often " -"keys nearby." +"A special rack designed to smoke food for better preservation and taste. It" +" is lit and smoking." msgstr "" +" Um rack especial projetado para fumar alimentos para melhor preservação " +"esabor. Está iluminado e fumando." #: lang/json/furniture_from_json.py -msgid "wardrobe" -msgstr "guarda roupa" - -#. ~ Description for wardrobe -#: lang/json/furniture_from_json.py -msgid "A tall piece of furniture - basically a freestanding closet." +msgid "active metal smoking rack" msgstr "" #: lang/json/furniture_from_json.py -msgid "piano" -msgstr "plano" +msgid "rock forge" +msgstr "forja de pedra" -#. ~ Description for piano +#. ~ Description for rock forge #: lang/json/furniture_from_json.py msgid "" -"The ol' ebony and ivory. Really classes up the place. You could take it " -"apart if you wanted... you monster." +"Metalworking station made of rock, typically used in combination with an " +"anvil." msgstr "" +" Estação de trabalho em metal feita de rocha, normalmente usada emcombinação" +" com uma bigorna." #: lang/json/furniture_from_json.py -msgid "a suffering piano!" -msgstr "Um piano sofredor!" +msgid "clay kiln" +msgstr "forno de barro" +#. ~ Description for clay kiln #: lang/json/furniture_from_json.py -msgid "kerchang." -msgstr "kerchang." +msgid "A kiln designed to bake clay pottery and bricks." +msgstr "Um forno projetado para assar cerâmica e tijolos de barro." + +#. ~ Description for stepladder +#: lang/json/furniture_from_json.py +msgid "" +"A short, foldable ladder. Can help you climb to a rooftop, or maybe slow " +"something down." +msgstr "" #: lang/json/furniture_from_json.py msgid "electric arc furnace" @@ -92936,303 +98707,6 @@ msgid "" " into round chunks of metal and other hard things." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "robotic assembler" -msgstr "montador robótico" - -#. ~ Description for robotic assembler -#: lang/json/furniture_from_json.py -msgid "" -"A durable and versatile robotic arm with a tool fitted to the end, for " -"working on an assembly line." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "chemical mixer" -msgstr "misturador químico" - -#. ~ Description for chemical mixer -#: lang/json/furniture_from_json.py -msgid "" -"When chemicals need to be mixed in large quantities at just the right " -"combinations and temperatures, this is the tool for the job." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "floor lamp" -msgstr "" - -#. ~ Description for floor lamp -#: lang/json/furniture_from_json.py -msgid "A tall standing lamp, meant to plug into a wall and light up a room." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "bonk!" -msgstr "bonk!" - -#: lang/json/furniture_from_json.py -msgid "lab workbench" -msgstr "" - -#. ~ Description for lab workbench -#: lang/json/furniture_from_json.py -msgid "" -"A metal storage cabinet topped by a durable resin countertop resistant to " -"most chemical spills and burns. It has wired in electrical and gas " -"fittings." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "fume hood" -msgstr "" - -#. ~ Description for fume hood -#: lang/json/furniture_from_json.py -msgid "" -"A metal hood overtop of a lab workspace, with durable glass shutters. A fan" -" in the hood draws fumes and smoke from dangerous chemicals up into a " -"ventilation duct." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "shaker incubator" -msgstr "" - -#. ~ Description for shaker incubator -#: lang/json/furniture_from_json.py -msgid "" -"A tool for keeping broth nicely mixed, at just the right temperature to grow" -" bacteria. This is great for microbiology, but terrible for preserving " -"food." -msgstr "" - -#. ~ Description for autoclave -#. ~ Description for filled autoclave -#: lang/json/furniture_from_json.py -msgid "" -"This thing is basically an extremely high tech laundry machine or " -"dishwasher. It steams things at temperatures that will kill almost " -"anything." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "filled autoclave" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "sample freezer" -msgstr "" - -#. ~ Description for sample freezer -#: lang/json/furniture_from_json.py -msgid "" -"When cold just isn't cold enough, you have this extreme deep freeze. This " -"will store stuff at -80 degrees Celsius. Don't lick the metal on the " -"inside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "emergency wash station" -msgstr "" - -#. ~ Description for emergency wash station -#: lang/json/furniture_from_json.py -msgid "" -"This pole has a lot of weird nozzles and attachments. If there were running" -" water, you could use those attachments to wash harmful chemicals out of " -"your eyes, or to take a pleasant cold shower in a public place." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "IV pole" -msgstr "" - -#. ~ Description for IV pole -#: lang/json/furniture_from_json.py -msgid "This is basically just a stick on wheels with some hooks at the top." -msgstr "isto é basicamente um poste sobre rodas com alguns ganchos no topo." - -#: lang/json/furniture_from_json.py -msgid "high performance liquid chromatographer" -msgstr "" - -#. ~ Description for high performance liquid chromatographer -#: lang/json/furniture_from_json.py -msgid "" -"This high-tech tool would, with electricity and an experienced user, be a " -"very useful way to separate chemicals in a liquid or aqueous phase based on " -"their affinity to a solid state medium in a tube. In other words, it's a " -"fancy way to separate things." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "gas chromatographer" -msgstr "" - -#. ~ Description for gas chromatographer -#: lang/json/furniture_from_json.py -msgid "" -"This high-tech tool would, with electricity and an experienced user, be a " -"very useful way to separate chemicals in a gaseous phase based on their " -"affinity to a solid state medium in a tube. In other words, it's a fancy " -"way to separate things." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "mass spectrometer" -msgstr "" - -#. ~ Description for mass spectrometer -#: lang/json/furniture_from_json.py -msgid "" -"Inside this thing is a carefully balanced set of electric field generators " -"that can precisely separate ionized particles based on their charge-to-mass " -"ratio, firing them into a detector that measures the exact mass of the " -"particle hitting it. On the outside, it looks like a very boring white box." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "nuclear magnetic resonance spectrometer" -msgstr "" - -#. ~ Description for nuclear magnetic resonance spectrometer -#: lang/json/furniture_from_json.py -msgid "" -"This is a giant electromagnet in a kind of sci-fi looking housing. Somehow " -"it can be used to wiggle molecular bonds or something, and from there, look " -"at the deepest inner workings of chemical structures! Magnets: how do they " -"work?" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "electron microscope" -msgstr "" - -#. ~ Description for electron microscope -#: lang/json/furniture_from_json.py -msgid "" -"An enormous tool for using electron reflections off a surface to see what " -"very tiny things look like. Amazing for taking gross pictures of bugs." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "CT scanner" -msgstr "" - -#. ~ Description for CT scanner -#: lang/json/furniture_from_json.py -msgid "" -"This giant donut can take hundreds of x-rays in rapid sequence, making a " -"really cool looking picture of all your innards that have varying degrees of" -" radio-opacity." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "MRI machine" -msgstr "máquina de ressonância magnética" - -#. ~ Description for MRI machine -#: lang/json/furniture_from_json.py -msgid "" -"This thing is really an NMR that you stick a person into, but people weren't" -" excited about getting into a tiny hole in a loud machine called a 'nuclear " -"magnetic resonance imager', so they changed it." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "scanner bed" -msgstr "" - -#. ~ Description for scanner bed -#: lang/json/furniture_from_json.py -msgid "" -"This is a narrow, uncomfortable bed for putting someone into an imaging " -"machine or other small hole." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "anesthetic machine" -msgstr "máquina de anestesia" - -#. ~ Description for anesthetic machine -#: lang/json/furniture_from_json.py -msgid "" -"Keeping a person at just the right level of asleep to do surgery is hard. " -"This machine helps an anesthesiologist keep the right mix of drugs and air " -"to keep a patient asleep." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "dialysis machine" -msgstr "máquina de diálise" - -#. ~ Description for dialysis machine -#: lang/json/furniture_from_json.py -msgid "" -"If your kidneys don't work, this is a large and inconvenient machine that " -"can do the job instead! It's super useful in the apocalypse, especially " -"with how it requires power, tons of supplies, and a trained operator." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "medical ventilator" -msgstr "ventilador médico" - -#. ~ Description for medical ventilator -#: lang/json/furniture_from_json.py -msgid "" -"When they talk about the 'breathing machine' that you don't want to wind up " -"stuck on, this is what they mean. It just looks like a couple boxes on a " -"trolley." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "privacy curtain" -msgstr "cortina de privacidade" - -#. ~ Description for privacy curtain -#: lang/json/furniture_from_json.py -msgid "No peeking!" -msgstr "Sem espiar!" - -#: lang/json/furniture_from_json.py -msgid "swish!" -msgstr "swish!" - -#: lang/json/furniture_from_json.py -msgid "clattering metal!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "open privacy curtain" -msgstr "cortina de privacidade aberta" - -#. ~ Description for open privacy curtain -#: lang/json/furniture_from_json.py -msgid "Stop peeking!" -msgstr "Pare de espiar!" - -#: lang/json/furniture_from_json.py -msgid "document shredder" -msgstr "" - -#. ~ Description for document shredder -#: lang/json/furniture_from_json.py -msgid "" -"It's not all about hiding government secrets, sometimes you just want to " -"stop identity theft." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "server stack" -msgstr "pila de servidores" - -#. ~ Description for server stack -#: lang/json/furniture_from_json.py -msgid "This is a big pile of computers. They're all turned off." -msgstr "isto é uma grande pilha de computadores. Todos estão desligados." - #: lang/json/furniture_from_json.py msgid "air compressor" msgstr "compressor de ar" @@ -93247,212 +98721,128 @@ msgstr "" "máximo de ar o possível." #: lang/json/furniture_from_json.py -msgid "large satellite dish" -msgstr "grande antena de satélite" - -#. ~ Description for large satellite dish -#: lang/json/furniture_from_json.py -msgid "" -"Somewhere up there, there are still satellites, orbiting and doing their " -"thing, sending signals down to an Earth that is no longer listening." -msgstr "" -"Em algum lugar lá em cima, ainda há satélites, orbitando e fazendo seu " -"trabalho, enviando sinais à Terra que mais ninguém escuta." - -#: lang/json/furniture_from_json.py -msgid "hanging meathook" -msgstr "" - -#. ~ Description for hanging meathook -#: lang/json/furniture_from_json.py -msgid "A hefty hook suspended from a chain for stringing up corpses." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "fake workbench hands" -msgstr "" - -#. ~ Description for fake workbench hands -#: lang/json/furniture_from_json.py -msgid "This fake workbench holds the stats for working on a wielded item." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "ground crafting spot" -msgstr "" - -#. ~ Description for ground crafting spot -#: lang/json/furniture_from_json.py -msgid "" -"A cleared spot on the ground for crafting. Slower than using a workbench or" -" holding a project in your hands, but readily available." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "tatami mat" -msgstr "tapete de tatami" +msgid "fermenting vat" +msgstr "tanque de fermentação." -#. ~ Description for tatami mat +#. ~ Description for fermenting vat +#. ~ Description for filled fermenting vat #: lang/json/furniture_from_json.py -msgid "" -"A tatami is a type of mat used as a flooring material in traditional " -"Japanese-style rooms." -msgstr "" +msgid "A sealable vat for fermenting vinegar and various alcoholic brews." +msgstr "Um tanque selado para fermentar vinagre e várias bebidas alcoólicas." #: lang/json/furniture_from_json.py -msgid "bitts" -msgstr "" +msgid "filled fermenting vat" +msgstr "tanque de fermentação cheio" -#. ~ Description for bitts #: lang/json/furniture_from_json.py -msgid "" -"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " -"to secure mooring lines, ropes, hawsers, or cables." -msgstr "" +msgid "butchering rack" +msgstr "cremalheira de açougueiro" +#. ~ Description for butchering rack #: lang/json/furniture_from_json.py -msgid "speaker cabinet" -msgstr "" +msgid "Butchering rack designed to hang a carcass in the air." +msgstr "Rack de açougueiro projetado para pendurar uma carcaça no ar." -#. ~ Description for speaker cabinet +#. ~ Description for metal butchering rack #: lang/json/furniture_from_json.py msgid "" -"A cabinet loaded with 12-inch speakers, intended to help make various things" -" loud. It can't serve its original purpose these days, but it could be " -"disassembled for various electronic parts." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "glowing tendril" +"Metal butchering rack designed to hang a carcass in the air. It can be " +"deconstructed and folded for easy transportation." msgstr "" +" Rack de metal de açougueiro projetado para pendurar uma carcaça no ar. " +"Podeser desconstruído e dobrado para facilitar o transporte." -#. ~ Description for glowing tendril #: lang/json/furniture_from_json.py -msgid "" -"A willowy tendril growing from the floor, gently waving back and forth. A " -"faint illumination spills from it." +msgid "hanging meathook" msgstr "" +#. ~ Description for hanging meathook #: lang/json/furniture_from_json.py -msgid "splorch!" -msgstr "splorch!" - -#: lang/json/furniture_from_json.py -msgid "wafting anemone" +msgid "A hefty hook suspended from a chain for stringing up corpses." msgstr "" -#. ~ Description for wafting anemone +#. ~ Description for wind mill #: lang/json/furniture_from_json.py msgid "" -"A fleshy white protuberance growing from the floor, with a cluster of " -"tendrils pouring out of it. It looks almost exactly like a sea anemone, " -"even waving gently as though in the water." +"A small wind-powered mill that can convert starchy products into flour." msgstr "" #: lang/json/furniture_from_json.py -msgid "gasping tube" +msgid "active wind mill" msgstr "" -#. ~ Description for gasping tube +#. ~ Description for active wind mill #: lang/json/furniture_from_json.py msgid "" -"This is a meaty green stalactite with a thickened hide like that of a " -"starfish, extending from the floor to the ceiling. In the center is a series" -" of ports somewhat like mouths, from which pour bursts of a vile smelling " -"gas." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "twitching frond" +"A small wind-powered mill that can convert starchy products into flour. Its" +" brake has been removed and it is turning." msgstr "" -#. ~ Description for twitching frond +#. ~ Description for water mill #: lang/json/furniture_from_json.py msgid "" -"A spine like the antenna of a moth juts from the ground, swaying gently in " -"the air. Every so often, a cascade of energy arcs along it and discharges " -"into the ceiling." +"A small water-powered mill that can convert starchy products into flour." msgstr "" #: lang/json/furniture_from_json.py -msgid "scarred lump" +msgid "active water mill" msgstr "" -#. ~ Description for scarred lump +#. ~ Description for active water mill #: lang/json/furniture_from_json.py msgid "" -"This is a pile of undentified twitching alien flesh, belching strange gases " -"out of injured vessels." +"A small water-powered mill that can convert starchy products into flour. " +"Its brake has been removed and it is turning." msgstr "" #: lang/json/furniture_from_json.py -msgid "slimy pod" -msgstr "" +msgid "automated gas console" +msgstr "console de gás automatizado" -#. ~ Description for slimy pod +#. ~ Description for automated gas console #: lang/json/furniture_from_json.py -msgid "" -"This is a slick, translucent pod suspended on a thin stalk. It is covered " -"in a thick mucus, obscuring whatever is floating in the gel-like substance " -"inside." +msgid "Automated gas flow control console." msgstr "" #: lang/json/furniture_from_json.py -msgid "organ pod" -msgstr "" +msgid "broken automated gas console" +msgstr "console de gás automatizado quebrado" -#. ~ Description for organ pod +#. ~ Description for broken automated gas console #: lang/json/furniture_from_json.py msgid "" -"This is a translucent pod suspended on a thin stalk. Inside you can see the" -" dimly outlined shape of human organs, floating in some kind of preservative" -" goo." +"Automated gas flow control console. Broken. This is not a good thing." msgstr "" #: lang/json/furniture_from_json.py -msgid "resin pod" -msgstr "" +msgid "reinforced vending machine" +msgstr "máquina de venda automática reforçada" -#. ~ Description for resin pod +#. ~ Description for reinforced vending machine #: lang/json/furniture_from_json.py msgid "" -"This is a translucent pod suspended on a thin stalk. Inside is a clean, " -"clear resinous-looking fluid. You could fairly easily tear it from the " -"stalk and take it with you." +"A bit tougher to crack open than regular vending machines. That just makes " +"it all the sweeter a target, doesn't it?" msgstr "" #: lang/json/furniture_from_json.py -msgid "fleshy altar" -msgstr "" +msgid "vending machine" +msgstr "Maquina de vendas" -#. ~ Description for fleshy altar +#. ~ Description for vending machine #: lang/json/furniture_from_json.py -msgid "" -"This pulsing protuberance juts from the floor, its sides covered in scaled, " -"oozing skin. The surface is flat, but undulates softly. A handful of " -"unidentifiable appendages reach from the sides, suggesting a sort of " -"nightmarish living autodoc." -msgstr "" +msgid "Buy stuff with a cash card." +msgstr "Compre coisas com um cartão de dinheiro." -#. ~ Description for seeing this is a bug #: lang/json/furniture_from_json.py -msgid "Seeing this is a bug. If seen, please report and destroy." -msgstr "" +msgid "broken vending machine" +msgstr "máquina de venda automática quebrada" -#. ~ Description for swamp gas +#. ~ Description for broken vending machine #: lang/json/furniture_from_json.py msgid "" -"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " -"toxic gas." -msgstr "" - -#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp -msgid "splash!" -msgstr "respingo!" - -#. ~ Description for fog -#: lang/json/furniture_from_json.py -msgid "This is a misty cloud of fog." +"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " +"you wouldn't need to pay at all!" msgstr "" #. ~ Description for vehicle refrigerator @@ -93553,6 +98943,15 @@ msgid "" "blood, candles, and other small knick-knacks." msgstr "" +#: lang/json/furniture_from_json.py +msgid "large glowing boulder" +msgstr "" + +#. ~ Description for large glowing boulder +#: lang/json/furniture_from_json.py +msgid "Something about this doesn't look right." +msgstr "" + #: lang/json/furniture_from_json.py msgid "krash!" msgstr "Crash!" @@ -93582,8 +98981,8 @@ msgstr "O portão se abre!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You turn the handle..." -msgstr "Você vira a maçaneta..." +msgid "You turn the handle…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -93602,8 +99001,8 @@ msgstr "As portas do celeiro se abrem!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You pull the rope..." -msgstr "Você puxa a corda..." +msgid "You pull the rope…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -93613,12 +99012,12 @@ msgstr "O portão de paliçada balança se fechando com uma batida!" #. ~ 'fail' action message of some gate object. #: lang/json/gates_from_json.py msgid "The palisade gate can't be closed!" -msgstr "O portão de paliçada não pode ser fechado!" +msgstr "O portão da paliçada não pode ser fechado!" #. ~ 'open' action message of some gate object. #: lang/json/gates_from_json.py msgid "The palisade gate swings open!" -msgstr "O portão da paliçada balança se abrindo!" +msgstr "O portão da paliçada balança ao se abrir!" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -93637,8 +99036,8 @@ msgstr "A porta sobe!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You throw the lever..." -msgstr "Você empurra a alavanca..." +msgid "You throw the lever…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -93761,7 +99160,7 @@ msgid "Fake gun that fires acid globs." msgstr "Arma falsa que atira globs ácidos." #: lang/json/gun_from_json.py lang/json/gunmod_from_json.py -#: src/item_factory.cpp src/turret.cpp +#: src/item_factory.cpp msgid "auto" msgstr "auto" @@ -93833,11 +99232,8 @@ msgstr[1] "arcos simples" msgid "" "A primitive bow fashioned from a single piece of wood, made specifically for" " the person using it. Weak and wildly inaccurate, it doesn't work that " -"well, unfortunately..." +"well, unfortunately…" msgstr "" -"Um arco primitivo feito de uma peça unica de madeira, feito especialmente " -"para a pessoa que a usa, fraco e altamente impreciso, ele não funciona tão " -"bem, infelizmente..." #: lang/json/gun_from_json.py msgid "short bow" @@ -94057,9 +99453,7 @@ msgstr "" " caçamenor. Os parafusos disparados dessa arma têm uma boa chance de " "permanecerintactos para reutilização." -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "pistol" msgstr "pistola" @@ -94369,10 +99763,10 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "Portable Plasma Accelerator Model Five, developed by Lockheed Martin " -"Corporation. This device uses highly advanced capacitor banks to create a " -"torus of superheated hydrogen plasma and accelerate it to incredible speed. " -"It was designed to take down heavy vehicles, and was expected to fully enter" -" US Army service not long before the Cataclysm." +"Corporation. This device uses highly advanced capacitor banks to create a " +"torus of superheated hydrogen plasma and accelerate it to incredible speed." +" It was designed to take down heavy vehicles, and was expected to fully " +"enter US Army service not long before the Cataclysm." msgstr "" #: lang/json/gun_from_json.py @@ -94391,8 +99785,7 @@ msgstr "" "um barril em 30-06 e outros dois para cartuchos de espingarda. É feito " "decanos e peças canibalizadas de uma espingarda de cano duplo." -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py msgctxt "gun_type_type" msgid "shotgun" msgstr "espingarda" @@ -94400,16 +99793,16 @@ msgstr "espingarda" #: lang/json/gun_from_json.py msgid "pneumatic assault rifle" msgid_plural "pneumatic assault rifles" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "rifle de assalto pneumático" +msgstr[1] "rifles de assalto pneumáticos" #: lang/json/gun_from_json.py msgid "" "A multistroke pneumatic rifle handcrafted from scrap. It is very quiet and " "deadly." msgstr "" -" rifle de assalto pneumático Um rifle pneumático multistroke artesanal " -"desucata. É muito quieto e mortal." +"Um rifle pneumático multistroke artesanal de sucata. É muito quieto e " +"mortal." #: lang/json/gun_from_json.py msgid "pneumatic bolt driver" @@ -94465,23 +99858,23 @@ msgstr "" #: lang/json/gun_from_json.py msgid "RPG-7" msgid_plural "RPG-7" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "RPG-7" +msgstr[1] "RPG-7s" #: lang/json/gun_from_json.py msgid "" "The emblematic RPG-7 launcher. Its simple, inexpensive, and reliable design" " made it a popular choice among armies and insurgent groups worldwide." msgstr "" -" RPG-7 O emblemático lançador de RPG-7. Seu design simples, barato " -"econfiável tornou-o uma escolha popular entre exércitos e grupos " -"insurgentesem todo o mundo." +"O emblemático lançador de RPG-7. Seu design simples, barato e confiável " +"tornou-o uma escolha popular entre exércitos e grupos insurgentes em todo o " +"mundo." #: lang/json/gun_from_json.py msgid "speargun" msgid_plural "spearguns" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "arma de arpão" +msgstr[1] "armas de arpão" #: lang/json/gun_from_json.py msgid "" @@ -94489,16 +99882,15 @@ msgid "" " using tension in a rubber band. While highly effective when used " "underwater, it is nearly useless on dry land." msgstr "" -" speargun Um dispositivo de pesca submarina projetado para disparar um " -"tipoespecializado de lança usando tensão em um elástico. Embora " -"altamenteeficaz quando usado debaixo d'água, é quase inútil em terra " -"firme." +"Um dispositivo de pesca submarina projetado para disparar um tipo " +"especializado de lança usando tensão em um elástico. Embora altamente eficaz" +" quando usado debaixo d'água, é quase inútil em terra firme." #: lang/json/gun_from_json.py msgid "mini speargun" msgid_plural "mini spearguns" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "arma de mini-arpão" +msgstr[1] "armas de mini-arpão" #: lang/json/gun_from_json.py msgid "" @@ -94506,16 +99898,15 @@ msgid "" "spear using tension in a rubber band. While highly effective when used " "underwater, it is nearly useless on dry land." msgstr "" -" mini speargun Um pequeno dispositivo de pesca submarina projetado " -"paradisparar um tipo especializado de lança usando tensão em um elástico. " -"Embora altamente eficaz quando usado debaixo d'água, é quase inútil " -"emterra firme." +"Um pequeno dispositivo de pesca submarina projetado para disparar um tipo " +"especializado de lança usando tensão em um elástico. Embora altamente eficaz" +" quando usado debaixo d'água, é quase inútil em terra firme." #: lang/json/gun_from_json.py msgid "double speargun" msgid_plural "double spearguns" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "arma dupla de arpão" +msgstr[1] "armas duplas de arpão" #: lang/json/gun_from_json.py msgid "" @@ -94523,16 +99914,16 @@ msgid "" " type of spear using tension in a rubber band. While highly effective when " "used underwater, it is nearly useless on dry land." msgstr "" -" double speargun Um dispositivo de pesca submarina de carregamento " -"duploprojetado para disparar um tipo especializado de lança usando tensão em" -" umelástico. Embora altamente eficaz quando usado debaixo d'água, é " -"quaseinútil em terra firme." +"Um dispositivo de pesca submarina de carregamento duplo projetado para " +"disparar um tipo especializado de lança usando tensão em um elástico. Embora" +" altamente eficaz quando usado debaixo d'água, é quase inútil em terra " +"firme." #: lang/json/gun_from_json.py msgid "pneumatic speargun" msgid_plural "pneumatic spearguns" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "arma de arpão pneumática" +msgstr[1] "armas de arpão pneumáticas" #: lang/json/gun_from_json.py msgid "" @@ -94540,16 +99931,16 @@ msgid "" "type of spear using a hand-pump pressure system. While highly effective " "when used underwater, it is nearly useless on dry land." msgstr "" -" arpão pneumático Um sofisticado dispositivo de pesca submarina " -"projetadopara disparar um tipo especializado de lança usando um sistema de " -"pressãode bomba manual. Embora altamente eficaz quando usado debaixo " -"d'água, équase inútil em terra firme." +"Um sofisticado dispositivo de pesca submarina projetado para disparar um " +"tipo especializado de lança usando um sistema de pressão de bomba manual. " +"Embora altamente eficaz quando usado debaixo d'água, é quase inútil em terra" +" firme." #: lang/json/gun_from_json.py msgid "combination gun" msgid_plural "combination guns" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "arma de combinação" +msgstr[1] "armas de combinação" #: lang/json/gun_from_json.py msgid "" @@ -94557,16 +99948,15 @@ msgid "" " bore barrels. Historically used by egomaniac hunters in Africa, now used " "by their egomaniac descendants in New England." msgstr "" -" arma combinada Uma arma de fogo de ação de ruptura composta de um cano30-06" -" em dois canos de calibre liso de calibre 12. Historicamente usado " -"porcaçadores egomaníacos na África, agora usado por seus " -"descendentesegomaníacos na Nova Inglaterra." +"Uma arma de fogo de ação de ruptura composta de um cano .30-06 sobre dois " +"canos lisos de calibre 12. Historicamente usada por caçadores egomaníacos na" +" África, agora usada por seus descendentes egomaníacos na Nova Inglaterra." #: lang/json/gun_from_json.py msgid "crude rocket launcher" msgid_plural "crude rocket launchers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "lançador de foguetes grosseiro" +msgstr[1] "lançadores de foguetes grosseiros" #: lang/json/gun_from_json.py msgid "" @@ -94574,24 +99964,24 @@ msgid "" " a thick-walled steel pipe, equipped with a pilot light, several batteries " "and a simple circuit board. Effective only at medium range, barely." msgstr "" -" lançador de foguetes bruto Um improvisado, lançador de ignição direta " -"parafoguetes caseiros. Essencialmente, um tubo de aço de paredes grossas, " -"equipado com uma luz piloto, várias baterias e uma placa de circuitosimples." -" Eficaz apenas a médio alcance, mal." +"Um lançador improvisado de ignição direta para foguetes caseiros. " +"Essencialmente, um cano de aço de paredes grossas, equipado com uma luz " +"piloto, várias baterias e uma placa de circuito simples. Eficaz apenas a " +"médio alcance, mal e parcamente." #: lang/json/gun_from_json.py lang/json/vehicle_part_from_json.py msgid "water cannon" msgid_plural "water cannons" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "canhão de água" +msgstr[1] "canhões de água" #: lang/json/gun_from_json.py msgid "" "A water cannon from a fire truck. Mounted on a vehicle, it could be used to" " stop fires or \"protesters\"." msgstr "" -" canhão de água Um canhão de água de um caminhão de bombeiros. Montado em um" -" veículo, ele poderia ser usado para parar incêndios ou manifestantes." +"Um canhão de água de um caminhão de bombeiros. Montado em um veículo, ele " +"poderia ser usado para parar incêndios ou \"manifestantes\"." #: lang/json/gun_from_json.py msgid "base gun" @@ -94677,10 +100067,7 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "chuk chuk." -msgstr "" -" base pistola revólver base rifle rifle com ações manuais rifle semi- " -"automático totalmente automático rifle base shotgun bomba ação shotgun " -"chukchuk." +msgstr "chuc chuc." #: lang/json/gun_from_json.py msgid "base SMG" @@ -94704,8 +100091,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "RM120c shotgun" msgid_plural "RM120c shotguns" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "espingarda RM120c" +msgstr[1] "espingardas RM120c" #: lang/json/gun_from_json.py msgid "" @@ -94713,9 +100100,9 @@ msgid "" "action shotgun was designed for hunting big game, with durability and ease " "of use as priorities." msgstr "" -" Espingarda RM120c Utilizando um calibre potente e invulgar, a espingarda " -"deacção por bomba Rivtech RM120c foi concebida para caça de caça, " -"comdurabilidade e facilidade de utilização como prioridades." +"Utilizando um calibre potente e invulgar, a espingarda de acção por bomba " +"Rivtech RM120c foi concebida para caça de animais de grande porte, com " +"durabilidade e facilidade de utilização sendo as prioridades." #: lang/json/gun_from_json.py msgid "RM20 autoshotgun" @@ -94756,8 +100143,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "American-180" msgid_plural "American-180" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "American-180" +msgstr[1] "American-180s" #: lang/json/gun_from_json.py msgid "" @@ -94765,10 +100152,9 @@ msgid "" "LR, unusual for an SMG. Though the round is low-powered, the high rate of " "fire and large magazine makes the 180 a formidable weapon." msgstr "" -" American-180 A American-180 é uma metralhadora desenvolvida nos anos 60 " -"quedispara .22 LR, incomum para um SMG. Embora a ronda seja de baixa " -"potência, a alta taxa de fogo e a grande revista fazem dos 180 uma arma " -"formidável." +"A American-180 é uma SMG desenvolvida nos anos 60 que dispara .22 LR, " +"incomum para uma submetralhadora. Embora o calibre seja de baixa potência, a" +" alta taxa de fogo e o grande carregador fazem da 180 uma arma formidável." #: lang/json/gun_from_json.py msgid "Marlin 39A" @@ -94905,8 +100291,8 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"The Walther P22 is a blowback operated semi-automatic pistol. It is about " -"half the size of most Walthers. It is made mostly with plastic, with the " +"The Walther P22 is a blowback operated semi-automatic pistol. It is about " +"half the size of most Walthers. It is made mostly with plastic, with the " "slide and key components being made of die-cast zinc alloy" msgstr "" @@ -95652,15 +101038,10 @@ msgstr[1] "" msgid "" "The M24 Sniper is the military and police version of the Remington Model 700" " rifle, M24 being the model name assigned by the United States Army after " -"adoption as their standard sniper rifle in 1988. The M24 is referred to as a" -" 'weapon system' because it consists of not only a rifle, but also a " +"adoption as their standard sniper rifle in 1988. The M24 is referred to as " +"a 'weapon system' because it consists of not only a rifle, but also a " "detachable telescopic sight and other accessories." msgstr "" -"A Sniper M24 é a versão militar e policial do rifle Remington Modelo 700, a " -"M24 sendo o nome modelo dado pelas Forças Armadas dos Estados Unidos após a " -"adoção como seu rifle sniper padrão em 1988. A M24 é referenciada como uma " -"\"arma de sistema\" já que não consiste em apenas um rifle, mas também " -"possuir uma mira removível e outros acessórios." #: lang/json/gun_from_json.py msgid "HK417 A2" @@ -95752,7 +101133,7 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "One of Kel-tec's oldest designs, the P32 is a popular option for deep " -"concealment and backup usage. Despite its extreme light weight and small " +"concealment and backup usage. Despite its extreme light weight and small " "size, its .32 ACP chambering makes for good handling and recoil control." msgstr "" @@ -95827,20 +101208,17 @@ msgstr "" " tiros que você terá antes de quebrar em você." #: lang/json/gun_from_json.py -msgid "COP .38" -msgid_plural "COP .38" +msgid "COP .357 Derringer" +msgid_plural "COP .357 Derringers" msgstr[0] "" msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"The COP .38 is a small, chubby derringer pistol that bears a slight " -"resemblance to the Mossberg Brownie. It has four barrels arranged in a " -"square formation." +"A small, chubby derringer pistol bearing a slight resemblance to the " +"Mossberg Brownie. It uses a rotating firing pin to fire the individual " +"hammers of the four barrels arranged in a square formation." msgstr "" -" COP .38 O COP .38 é uma pequena pistola derringer gordinha que tem " -"umaligeira semelhança com o Mossberg Brownie. Tem quatro barris dispostos " -"emuma formação quadrada." #: lang/json/gun_from_json.py msgid "pipe rifle: .38 Special" @@ -95876,20 +101254,6 @@ msgstr "" " S & W 619 Um revólver .38 de sete voltas vendido pela Smith " "&Wesson. Possui uma visão traseira fixa e um quadro reforçado." -#: lang/json/gun_from_json.py -msgid "Taurus Pro .38" -msgid_plural "Taurus Pro .38" -msgstr[0] "" -msgstr[1] "" - -#: lang/json/gun_from_json.py -msgid "" -"A popular .38 pistol. Designed with numerous safety features and built from" -" high-quality, durable materials." -msgstr "" -" Taurus Pro .38 Uma popular pistola .38. Projetado com vários recursos " -"desegurança e construído com materiais duráveis de alta qualidade." - #: lang/json/gun_from_json.py msgid "MAC-11" msgid_plural "MAC-11s" @@ -95957,10 +101321,22 @@ msgstr[1] "" msgid "" "The Hi-Point CF-380 is a blowback operated semi automatic pistol designed by" " Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" +#: lang/json/gun_from_json.py +msgid "Taurus Spectrum" +msgid_plural "Taurus Spectrum" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A .380 subcompact pistol. Designed for concealed carry and built from high-" +"quality, durable materials." +msgstr "" + #: lang/json/gun_from_json.py msgid "M1911A1" msgid_plural "M1911A1s" @@ -96065,9 +101441,9 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in .40 S&W." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in .40 S&W." msgstr "" #: lang/json/gun_from_json.py @@ -96093,8 +101469,9 @@ msgstr[1] "" msgid "" "The Hi-Point Model JCP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" #: lang/json/gun_from_json.py @@ -96515,8 +101892,9 @@ msgstr[1] "" msgid "" "The Hi-Point Model JHP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" #: lang/json/gun_from_json.py @@ -96696,8 +102074,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Barrett M107A1" msgid_plural "Barrett M107A1" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Barrett M107A1" +msgstr[1] "Barrett M107A1" #: lang/json/gun_from_json.py msgid "" @@ -96727,8 +102105,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid ".50 caliber rifle" msgid_plural ".50 caliber rifles" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "rifle calibre 50" +msgstr[1] "rifles calibre 50" #: lang/json/gun_from_json.py msgid "" @@ -96742,7 +102120,7 @@ msgstr "" "dearrebentamento foi desativado e seu mecanismo de alimentação de correia " "foimodificado em uma câmara redonda muito menor." -#: lang/json/gun_from_json.py src/item_factory.cpp src/turret.cpp +#: lang/json/gun_from_json.py src/item_factory.cpp msgid "manual" msgstr "manual" @@ -96754,16 +102132,44 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -".50 caliber anti-material rifle made by Accuracy International. with high " +".50 caliber anti-materiel rifle made by Accuracy International. With high " "accuracy for long range target and high fire rate, this weapon is still " "being used by Greek national guard." msgstr "" +#: lang/json/gun_from_json.py +msgid "McMillan TAC-50" +msgid_plural "McMillan TAC-50s" +msgstr[0] "McMillan TAC-50" +msgstr[1] "McMillan TAC-50s" + +#: lang/json/gun_from_json.py +msgid "" +"A long-range anti-materiel and anti-personnel sniper rifle made by McMillan " +"Firearms, serving the Canadian Army since 2000 as the C15, and the Navy " +"Seals as the Mk 15 Mod 0. This .50 caliber bolt-action rifle is capable of " +"defeating light vehicles, radar installations and crew served weapons at " +"extreme distances. It notably holds the longest range confirmed sniper " +"kill, as well as the 4th and 5th longest." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "Serbu BFG-50" +msgid_plural "Serbu BFG-50s" +msgstr[0] "Serbu BFG-50" +msgstr[1] "Serbu BFG-50s" + +#: lang/json/gun_from_json.py +msgid "" +"A single-shot, bolt-action rifle made by Serbu Firearms, the BFG-50 is a " +"very affordable firearm for those wishing to shoot .50 BMG." +msgstr "" + #: lang/json/gun_from_json.py msgid "Big Horn Model 89" msgid_plural "Big Horn Model 89" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Big Horn Modelo 89" +msgstr[1] "Big Horn Modelos 89" #: lang/json/gun_from_json.py msgid "" @@ -96778,8 +102184,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "S&W 500" msgid_plural "S&W 500" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "S&W 500" +msgstr[1] "S&W 500s" #: lang/json/gun_from_json.py msgid "" @@ -96792,8 +102198,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "AK-74M" msgid_plural "AK-74Ms" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "AK-74M" +msgstr[1] "AK-74Ms" #: lang/json/gun_from_json.py msgid "" @@ -96806,8 +102212,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "AN-94" msgid_plural "AN-94s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "AN-94" +msgstr[1] "AN-94s" #: lang/json/gun_from_json.py msgid "" @@ -96829,8 +102235,8 @@ msgstr "2 rd." #: lang/json/gun_from_json.py msgid "FN Five-Seven" msgid_plural "FN Five-Sevens" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "FN Five-Seven" +msgstr[1] "FN Five-Sevens" #: lang/json/gun_from_json.py msgid "" @@ -96845,8 +102251,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "FN P90" msgid_plural "FN P90s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "FN P90" +msgstr[1] "FN P90s" #: lang/json/gun_from_json.py msgid "" @@ -96861,8 +102267,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "RM216 SPIW" msgid_plural "RM216 SPIWs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "RM216 SPIW" +msgstr[1] "RM216 SPIWs" #: lang/json/gun_from_json.py msgid "" @@ -96884,8 +102290,8 @@ msgstr "5 rd." #: lang/json/gun_from_json.py msgid "RM232 IDW" msgid_plural "RM232 IDWs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "RM232 IDW" +msgstr[1] "RM232 IDWs" #: lang/json/gun_from_json.py msgid "" @@ -96903,8 +102309,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "M202A1 FLASH" msgid_plural "M202A1 FLASH" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "M202A1 FLASH" +msgstr[1] "M202A1 FLASH" #: lang/json/gun_from_json.py msgid "" @@ -96915,13 +102321,13 @@ msgstr "" #: lang/json/gun_from_json.py msgid "all barrels" -msgstr "" +msgstr "todos os canos" #: lang/json/gun_from_json.py msgid "Elephant gun" msgid_plural "Elephant guns" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Arma para elefantes" +msgstr[1] "Armas para elefantes" #: lang/json/gun_from_json.py msgid "" @@ -96936,8 +102342,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "AKM" msgid_plural "AKMs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "AKM" +msgstr[1] "AKMs" #: lang/json/gun_from_json.py msgid "" @@ -96950,8 +102356,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Beretta ARX-160" msgid_plural "Beretta ARX-160" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Beretta ARX-160" +msgstr[1] "Beretta ARX-160" #: lang/json/gun_from_json.py msgid "" @@ -96969,8 +102375,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "SKS" msgid_plural "SKSs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "SKS" +msgstr[1] "SKSs" #: lang/json/gun_from_json.py msgid "" @@ -96986,8 +102392,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Mosin-Nagant M44" msgid_plural "Mosin-Nagant M44" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Mosin-Nagant M44" +msgstr[1] "Mosin-Nagant M44" #: lang/json/gun_from_json.py msgid "" @@ -97002,8 +102408,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Mosin-Nagant M44-EBR" msgid_plural "Mosin-Nagant M44-EBR" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Mosin-Nagant M44-EBR" +msgstr[1] "Mosin-Nagant M44-EBR" #: lang/json/gun_from_json.py msgid "" @@ -97016,8 +102422,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Mosin-Nagant 1891/30" msgid_plural "Mosin-Nagant 1891/30" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Mosin-Nagant 1891/30" +msgstr[1] "Mosin-Nagant 1891/30" #: lang/json/gun_from_json.py msgid "" @@ -97032,8 +102438,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Mosin-Nagant 1891/30-EBR" msgid_plural "Mosin-Nagant 1891/30-EBR" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Mosin-Nagant 1891/30-EBR" +msgstr[1] "Mosin-Nagant 1891/30-EBR" #: lang/json/gun_from_json.py msgid "" @@ -97049,8 +102455,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "PPSh-41" msgid_plural "PPSh-41s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "PPSh-41" +msgstr[1] "PPSh-41s" #: lang/json/gun_from_json.py msgid "" @@ -97063,8 +102469,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Tokarev TT-33" msgid_plural "Tokarev TT-33" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Tokarev TT-33" +msgstr[1] "Tokarev TT-33" #: lang/json/gun_from_json.py msgid "" @@ -97081,8 +102487,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "M3 recoilless rifle" msgid_plural "M3 recoilless rifles" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "rifle sem recuo M3" +msgstr[1] "rifles sem recuo M3" #: lang/json/gun_from_json.py msgid "" @@ -97097,8 +102503,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "AT4" msgid_plural "AT4s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "AT4" +msgstr[1] "AT4s" #: lang/json/gun_from_json.py msgid "" @@ -97109,8 +102515,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "RM103A automagnum" msgid_plural "RM103A automagnums" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "automagnum RM103A" +msgstr[1] "automagnums RM103A" #: lang/json/gun_from_json.py msgid "" @@ -97441,8 +102847,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "L39" msgid_plural "L39s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "L39" +msgstr[1] "L39s" #: lang/json/gun_from_json.py msgid "" @@ -97565,8 +102971,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Glock 17" msgid_plural "Glock 17s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Glock 17" +msgstr[1] "Glock 17s" #: lang/json/gun_from_json.py msgid "" @@ -97579,8 +102985,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Glock 18C" msgid_plural "Glock 18Cs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Glock 18C" +msgstr[1] "Glock 18Cs" #: lang/json/gun_from_json.py msgid "" @@ -97592,8 +102998,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Kel-Tec PF-9" msgid_plural "Kel-Tec PF-9s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Kel-Tec PF-9" +msgstr[1] "Kel-Tec PF-9s" #: lang/json/gun_from_json.py msgid "" @@ -97606,40 +103012,42 @@ msgstr "" #: lang/json/gun_from_json.py msgid "M17" msgid_plural "M17s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "M17" +msgstr[1] "M17s" #: lang/json/gun_from_json.py msgid "" "The M17 is a semi automatic, short recoil operated pistol derived from the " "SIG Sauer P320." msgstr "" +"A M17 é uma pistola semiautomática de baixo recuo, derivada da SIG Sauer " +"P320." #: lang/json/gun_from_json.py msgid "Browning Hi-Power 9x19mm" msgid_plural "Browning Hi-Power 9x19mms" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Browning Hi-Power 9x19mm" +msgstr[1] "Browning Hi-Power 9x19mms" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in 9x19mm Parabellum." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in 9x19mm Parabellum." msgstr "" #: lang/json/gun_from_json.py msgid "Walther P38" msgid_plural "Walther P38s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Walther P38" +msgstr[1] "Walther P38s" #: lang/json/gun_from_json.py msgid "" "The Walther P38 is a semi-automatic handgun adopted shortly before the " -"second world war. Developed due to the high production costs of its " -"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " +"second world war. Developed due to the high production costs of its " +"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " "This early DA/SA locked-breech design would introduce features later seen on" " more modern firearms such as the Beretta 92 series, and served Germany " "until 2004." @@ -97648,66 +103056,66 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Walther PPQ 9mm" msgid_plural "Walther PPQ 9mms" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Walther PPQ 9mm" +msgstr[1] "Walther PPQ 9mms" #: lang/json/gun_from_json.py msgid "" "The Walther PPQ is a semi-automatic pistol originating from the Walther " "P99QA, and maintains compatibility with some of its predecessor's " -"accessories. This model is chambered in 9x19mm Parabellum." +"accessories. This model is chambered in 9x19mm Parabellum." msgstr "" #: lang/json/gun_from_json.py msgid "Hi-Point C-9" msgid_plural "Hi-Point C-9s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Hi-Point C-9" +msgstr[1] "Hi-Point C-9s" #: lang/json/gun_from_json.py msgid "" "The Hi-Point C-9 is a blowback operated semi automatic pistol designed by " "Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" #: lang/json/gun_from_json.py msgid "CZ-75" msgid_plural "CZ-75s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "CZ-75" +msgstr[1] "CZ-75s" #: lang/json/gun_from_json.py msgid "" "The CZ-75 is a semi-automatic pistol developed in Czechoslovakia, and is one" -" of the original wonder nines. Though designed for export to western " +" of the original wonder nines. Though designed for export to western " "countries, it was declared a state secret; lack of international patent " "protection meant that many clones and variants were produced and distributed" -" around the world, with Česká zbrojovka only joining in the 90's. This " +" around the world, with Česká zbrojovka only joining in the 90's. This " "pistol remains wildly popular among competition shooters." msgstr "" #: lang/json/gun_from_json.py msgid "Walther CCP" msgid_plural "Walther CCPs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Walther CCP" +msgstr[1] "Walther CCPs" #: lang/json/gun_from_json.py msgid "" "The Walther CCP is a gas-delayed blowback semi-automatic pistol intended for" -" the concealed carry consumer market. Internally, it is nearly identical to " -"the cult classic H&K P7. Its fixed barrel design makes it potentially more " -"accurate than many other pistols, though this may difficult to realize with " -"its average trigger and short sight radius." +" the concealed carry consumer market. Internally, it is nearly identical to" +" the cult classic H&K P7. Its fixed barrel design makes it potentially more" +" accurate than many other pistols, though this may difficult to realize with" +" its average trigger and short sight radius." msgstr "" #: lang/json/gun_from_json.py msgid "Makarov PM" msgid_plural "Makarov PMs" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Makarov PM" +msgstr[1] "Makarov PMs" #: lang/json/gun_from_json.py msgid "" @@ -97723,8 +103131,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Skorpion Vz. 82" msgid_plural "Skorpion Vz. 82s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Skorpion Vz. 82" +msgstr[1] "Skorpion Vz. 82s" #: lang/json/gun_from_json.py msgid "" @@ -97737,8 +103145,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "BGM-71F TOW" msgid_plural "BGM-71F TOW" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "BGM-71F TOW" +msgstr[1] "BGM-71F TOW" #: lang/json/gun_from_json.py msgid "" @@ -97753,18 +103161,18 @@ msgstr "" #: lang/json/gun_from_json.py msgid "bionic shotgun" msgid_plural "bionic shotguns" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "escopeta biônica" +msgstr[1] "escopetas biônicas" #: lang/json/gun_from_json.py msgid "Bionic one-shot retracting shotgun integrated with your arm." -msgstr "" +msgstr "Escopeta biônica retrátil de tiro único, integrada em seu braço." #: lang/json/gun_from_json.py msgid "laser finger" msgid_plural "laser fingers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "dedo de laser" +msgstr[1] "dedos de laser" #: lang/json/gun_from_json.py lang/json/mutation_from_json.py msgid "Assault barbs" @@ -97799,8 +103207,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "flamethrower" msgid_plural "flamethrowers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "lança-chamas" +msgstr[1] "lança-chamas" #: lang/json/gun_from_json.py msgid "" @@ -97813,8 +103221,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "RM451 flamethrower" msgid_plural "RM451 flamethrowers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "lança-chamas RM451" +msgstr[1] "lança-chamas RM451" #: lang/json/gun_from_json.py msgid "" @@ -97967,8 +103375,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "nail gun" msgid_plural "nail guns" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "pistola de pregos" +msgstr[1] "pistolas de pregos" #: lang/json/gun_from_json.py msgid "" @@ -97981,8 +103389,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "nail rifle" msgid_plural "nail rifles" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "rifle de pregos" +msgstr[1] "rifles de pregos" #: lang/json/gun_from_json.py msgid "" @@ -97997,8 +103405,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Paintball gun" msgid_plural "Paintball guns" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "arma de Paintball" +msgstr[1] "armas de Paintball" #: lang/json/gun_from_json.py msgid "A fairly harmless gun that shoots small paintballs." @@ -98009,8 +103417,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "heavy automatic shotgun" msgid_plural "heavy automatic shotguns" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "escopeta pesada automática" +msgstr[1] "escopetas pesadas automáticas" #: lang/json/gun_from_json.py msgid "" @@ -98026,8 +103434,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "12 gauge pistol" msgid_plural "12 gauge pistols" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "pistola calibre 12" +msgstr[1] "pistolas calibre 12" #: lang/json/gun_from_json.py msgid "" @@ -98040,8 +103448,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "manual autoshotgun" msgid_plural "manual autoshotguns" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "autoescopeta manual" +msgstr[1] "autoescopetas manuais" #: lang/json/gun_from_json.py msgid "" @@ -98055,8 +103463,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Kel-Tec KSG" msgid_plural "Kel-Tec KSG" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Kel-Tec KSG" +msgstr[1] "Kel-Tec KSGs" #: lang/json/gun_from_json.py msgid "" @@ -98072,8 +103480,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "L12 Defender" msgid_plural "L12 Defender" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "L12 Defender" +msgstr[1] "L12 Defenders" #: lang/json/gun_from_json.py msgid "" @@ -98091,8 +103499,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "M1014 shotgun" msgid_plural "M1014 shotguns" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "escopeta M1014" +msgstr[1] "escopetas M1014" #: lang/json/gun_from_json.py msgid "" @@ -98105,8 +103513,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Mossberg 500" msgid_plural "Mossberg 500" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Mossberg 500" +msgstr[1] "Mossberg 500s" #: lang/json/gun_from_json.py msgid "" @@ -98149,8 +103557,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Remington 870" msgid_plural "Remington 870" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Remington 870" +msgstr[1] "Remington 870s" #: lang/json/gun_from_json.py msgid "" @@ -98165,8 +103573,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "shotgun revolver" msgid_plural "shotgun revolvers" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "revólver-escopeta" +msgstr[1] "revólveres-escopeta" #: lang/json/gun_from_json.py msgid "" @@ -98179,8 +103587,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Saiga-12" msgid_plural "Saiga-12s" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Saiga-12" +msgstr[1] "Saiga-12s" #: lang/json/gun_from_json.py msgid "" @@ -98241,8 +103649,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "flaregun" msgid_plural "flareguns" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "pistola sinalizadora" +msgstr[1] "pistolas sinalizadoras" #: lang/json/gun_from_json.py msgid "A plastic single shot pistol that can be loaded with signal flares." @@ -98308,8 +103716,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "A7 laser rifle" msgid_plural "A7 laser rifles" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "rifle laser A7" +msgstr[1] "rifles laser A7" #: lang/json/gun_from_json.py msgid "" @@ -98533,8 +103941,8 @@ msgstr "" #: lang/json/gun_from_json.py msgid "pellet gun" msgid_plural "pellet guns" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "carabina de pressão" +msgstr[1] "carabinas de pressão" #: lang/json/gun_from_json.py msgid "" @@ -99179,9 +104587,9 @@ msgid "" "police and military snipers. It holds five rounds of rifle ammo in an " "internal magazine." msgstr "" -" rifle de ação do parafuso Um rifle de ação de parafuso sólido feito " -"paracaça grande jogo, mas também usado pela polícia e atiradores militares. " -"Possui cinco rodadas de munição de rifle em uma revista interna." +"Um sólido rifle de ação de ferrolho feito para caça de grande porte, mas " +"também usado pela polícia e por atiradores militares. Possui cinco cartuchos" +" de munição de rifle em um carregador interno." #: lang/json/gun_from_json.py msgid "service rifle" @@ -99194,9 +104602,8 @@ msgid "" "An old semiautomatic rifle still used in military drills and parades. It " "holds ten rounds of rifle ammo in an internal magazine." msgstr "" -" rifle de serviço Um velho rifle semiautomático ainda usado em " -"exercíciosmilitares e desfiles. Possui dez rodadas de munição de rifle em " -"uma revistainterna." +"Um velho rifle semiautomático ainda usado em exercícios militares e " +"desfiles. Possui dez cartuchos de munição de rifle em um carregador interno." #: lang/json/gun_from_json.py msgid "battle rifle" @@ -99209,9 +104616,9 @@ msgid "" "A highly modular, selective fire battle rifle used by the US military. It " "uses either compact 20-round or bulkier 30-round detachable magazines." msgstr "" -" rifle de batalha Um rifle de batalha de fogo altamente modular e " -"seletivousado pelos militares dos EUA. Ele usa compactos 20-round ou mais " -"granel30-reservatórios removíveis redondos." +"Um rifle de batalha altamente modular e de fogo seletivo usado pelos " +"militares dos EUA. Ele usa carregadores compactos de 20 cartuchos ou os " +"maiores de 30 cartuchos." #: lang/json/gun_from_json.py msgid "medium machine gun" @@ -99224,9 +104631,9 @@ msgid "" "A medium machine gun used by the US military, meant to be fired from bipods " "or mounted to vehicles. It uses ammo belts of up to 200-rounds." msgstr "" -" metralhadora média Uma metralhadora média usada pelos militares dos " -"EUA,destinada a ser disparada de bipés ou montada em veículos. Utiliza " -"cintosde munição de até 200 voltas." +"Uma metralhadora média usada pelos militares dos EUA, destinada a ser " +"disparada de bipés ou montada em veículos. Utiliza cintos de munição de até " +"200 cartuchos." #: lang/json/gun_from_json.py msgid "antimateriel rifle" @@ -99240,9 +104647,9 @@ msgid "" "and enemy combatants. It holds ten rounds of heavy rifle ammo in a " "detachable magazine." msgstr "" -" rifle antimateriel Um poderoso rifle sniper de ação rápida destinado " -"adestruir veículos, equipamentos e combatentes inimigos. Possui dez " -"rodadasde munição pesada de rifle em uma revista destacável." +"Um poderoso rifle sniper de ação rápida destinado a destruir veículos, " +"equipamentos e combatentes inimigos. Possui dez cartuchos de munição pesada " +"de rifle em um carregador destacável." #: lang/json/gun_from_json.py msgid "heavy machine gun" @@ -99255,9 +104662,8 @@ msgid "" "A heavy automatic weapon that must be mounted to a vehicle to fire. It " "holds two hundred rounds of military ammo in a large belt drum." msgstr "" -" metralhadora pesada Uma arma automática pesada que deve ser montada em " -"umveículo para disparar. Possui duzentos cartuchos de munição militar em " -"umgrande tambor." +"Uma arma automática pesada que deve ser montada em um veículo para disparar." +" Possui duzentos cartuchos de munição militar em um grande tambor." #: lang/json/gun_from_json.py msgid "pipe gun: pistol ammo" @@ -99270,8 +104676,8 @@ msgid "" "A home-made gun. It is simply a pipe attached to a stock, with a hammer to " "strike the single round it holds." msgstr "" -" canhão: pistola munição Uma arma caseira. É simplesmente um tubo preso a " -"umcalço, com um martelo para golpear o único círculo que segura." +"Uma arma caseira. É simplesmente um tubo preso a um calço, com um martelo " +"para golpear o seu cartucho único." #: lang/json/gun_from_json.py msgid "survivor's six shooter" @@ -99284,9 +104690,9 @@ msgid "" "A homemade 6 shot revolver. While it's not as good as the pre-Cataclysm " "manufactured weapons, it's a decent piece of work all things considered." msgstr "" -" seis shooter do sobrevivente Um revólver caseiro de 6 tiros. Embora nãoseja" -" tão bom quanto as armas fabricadas antes do cataclismo, é uma peçadecente " -"de trabalho, considerando todas as coisas." +"Um revólver caseiro de 6 tiros. Embora não seja tão bom quanto as armas " +"fabricadas antes do Cataclismo, é uma peça decente, considerando todas as " +"coisas." #: lang/json/gun_from_json.py msgid "pipe gun: rifle ammo" @@ -99300,9 +104706,9 @@ msgid "" "improvements have been made, such as a tube system for feeding and " "chambering more powerful rifle rounds." msgstr "" -" arma de cano: rifle munição Uma arma caseira. Enquanto ainda um " -"tuboprimitivo e design 2x4, algumas pequenas melhorias foram feitas, como " -"umsistema de tubo para alimentação e câmaras de rifle mais poderosas." +"Uma arma caseira. Embora ainda seja um projeto primitivo baseado em canos e " +"tábuas 2x4, algumas pequenas melhorias foram feitas, como um sistema tubular" +" para alimentação e uma câmara para munições de rifle mais poderosas." #: lang/json/gun_from_json.py msgid "survivor's carbine" @@ -99316,9 +104722,9 @@ msgid "" "detachable magazine and with a shortened barrel, this is one of the better " "homemade weapons." msgstr "" -" carabina de sobrevivente Uma carabina caseira bem projetada usando " -"muniçãode rifle leve. Cabe uma revista destacável de 10 rounds e com um " -"canoencurtado, esta é uma das melhores armas caseiras." +"Uma carabina caseira bem projetada usando munição de rifle leve. Projetada " +"para um carregador destacável de 10 cartuchos e com um cano encurtado, esta " +"é uma das melhores armas caseiras." #: lang/json/gun_from_json.py msgid "" @@ -99326,9 +104732,9 @@ msgid "" "cataclysm. Especially effective against electronic targets. It charges off" " of UPS power stations." msgstr "" -" Um poderoso eletroolaser desenvolvido por P & D paramilitar não " -"muitoantes do cataclismo. Especialmente eficaz contra alvos eletrônicos. " -"Elecarrega as estações de energia da UPS." +" Um poderoso eletrolaser desenvolvido por pesquisadores paramilitares não " +"muito antes do cataclismo. Especialmente eficaz contra alvos eletrônicos. " +"Pode ser carregado em estações de energia da SEU." #: lang/json/gun_from_json.py msgid "hand-held laser cannon" @@ -99341,8 +104747,8 @@ msgid "" "This is a laser cannon stripped from the barrel of a laser turret; it has " "been modified to use UPS power for firing." msgstr "" -" canhão a laser de mão Este é um canhão a laser retirado do cano de umatorre" -" de laser; Ele foi modificado para usar o poder da UPS para disparar." +"Este é um canhão a laser retirado do cano de uma torre de laser; ele foi " +"modificado para usar energia da SEU para disparar." #: lang/json/gun_from_json.py msgid "laser rifle" @@ -99358,41 +104764,41 @@ msgid "" "that on the ash heap of history, this weapon can still do the same to your " "foes." msgstr "" -" rifle a laser Um rifle de laser de última geração que funciona com " -"energiada UPS. Foi desenvolvido por P & D paramilitar pouco antes " -"docataclismo. O desempenho inicial rivalizava com as armas balísticas " -"maisavançadas do dia. Embora o cataclismo tenha colocado isso na pilha " -"decinzas da história, esta arma ainda pode fazer o mesmo com seus inimigos." +"Um rifle de laser de última geração que funciona com energia da SEU. Foi " +"desenvolvido por pesquisadores paramilitares pouco antes do cataclismo. O " +"desempenho inicial rivalizava com as armas balísticas mais avançadas do dia." +" Embora o cataclismo tenha colocado isso na pilha de cinzas da história, " +"esta arma ainda pode fazer o mesmo com seus inimigos." #: lang/json/gun_from_json.py msgid "laser pistol" msgid_plural "laser pistols" -msgstr[0] "pistola laser" -msgstr[1] "pistolas laser" +msgstr[0] "pistola a laser" +msgstr[1] "pistolas a laser" #: lang/json/gun_from_json.py msgid "" "This pistol is larger than most traditional handguns, but displays no recoil" " whatsoever. It runs efficiently on UPS power." msgstr "" -" pistola a laser Esta pistola é maior do que a maioria das " -"pistolastradicionais, mas não exibe qualquer tipo de recuo. Ele funciona de " -"maneiraeficiente com a energia da UPS." +"Esta pistola é maior do que a maioria das pistolas tradicionais, mas não " +"exibe qualquer tipo de recuo. Ele funciona de maneira eficiente com energia " +"de SEU." #: lang/json/gun_from_json.py msgid "scrap laser pistol" msgid_plural "scrap laser pistols" -msgstr[0] "pistola laser de sucata" -msgstr[1] "pistolas laser de sucata" +msgstr[0] "pistola a laser de sucata" +msgstr[1] "pistolas a laser de sucata" #: lang/json/gun_from_json.py msgid "" "Based on its military and commercial cousin, this laser pistol is little " "more than duct tape and electronics, however it runs on standard UPS power." msgstr "" -" Pistola de laser de sucata Baseado em seu primo militar e comercial, " -"estapistola de laser é pouco mais que fita adesiva e eletrônica, no entanto," -" ele é executado em energia de no-break padrão." +"Baseada em sua prima militar e comercial, esta pistola de laser é pouco mais" +" que fita adesiva e peças de eletrônica, no entanto, ela funciona em energia" +" SEU comum." #: lang/json/gun_from_json.py msgid "fusion rifle" @@ -99413,11 +104819,11 @@ msgid "" "with polymers to reduce blooming. While powerful, it suffers from short " "range. It accepts hydrogen canisters as ammunition." msgstr "" -" rifle de plasma rifle de fusão Desenvolvido por uma equipe de pesquisa " -"dearmas de ponta em conjunto com DARPA, esta arma de energia alimentada " -"porUPS aquece hidrogênio para criar plasma e envelopá-lo com polímeros " -"parareduzir o florescimento. Embora poderoso, ele sofre de curto alcance. " -"Aceita cartuchos de hidrogênio como munição." +"Desenvolvido por uma equipe de pesquisa de armas de ponta em conjunto com " +"DARPA, esta arma de energia alimentada por SEU aquece hidrogênio para criar " +"plasma e envelopá-lo com polímeros para reduzir o florescimento. Embora " +"poderoso, ele sofre de curto alcance. Aceita cartuchos de hidrogênio como " +"munição." #: lang/json/gun_from_json.py msgid "magnum pistol" @@ -99430,8 +104836,8 @@ msgid "" "A powerful semi-automatic pistol which fires revolver rounds. Loads a " "detachable, 7-round magazine." msgstr "" -" pistola magnum Uma poderosa pistola semiautomática que dispara rondas " -"derevólver. Carrega uma revista destacável com 7 voltas." +"Uma poderosa pistola semiautomática que cartuchos de revólver. Carrega um " +"carregador destacável com 7 cartuchos." #: lang/json/gun_from_json.py msgid "recoilless rifle" @@ -99444,9 +104850,8 @@ msgid "" "The recoilless rifle is a breech-loading 84 millimeter man-portable, " "reusable, multi-role recoilless rifle commonly used by the US military." msgstr "" -" Rifle sem recuo O rifle sem recuo é um rifle de 84 milímetros de altura, " -"portátil, reutilizável e multi-função, comumente usado pelos militares " -"dosEUA." +"O rifle sem recuo é um rifle de 84 milímetros de altura, portátil, " +"reutilizável e multi-função, comumente usado pelos militares dos EUA." #: lang/json/gun_from_json.py msgid "Druid composite bow" @@ -99456,10 +104861,62 @@ msgstr[1] "" #: lang/json/gun_from_json.py msgid "" -"A bow made of multiple materials to maximize energy efficiency. There are " +"A bow made of multiple materials to maximize energy efficiency. There are " "two Druid runes embedded at the tips." msgstr "" +#: lang/json/gun_from_json.py +msgid "M47A1 Techno-Medusa" +msgid_plural "M47A1 Techno-Medusae" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A magically-enhanced update to the Phillips & Rodgers' M47 Medusa, a multi-" +"caliber revolver aimed at survivalists. While Technomancy improves the " +"reliability with smaller cartridges, it is not as accurate as dedicated " +"caliber revolvers due to freebore." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "gunblade" +msgid_plural "gunblades" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"Constructed similarly to a falcata, this forward-sloping blade has a short-" +"barrel pump shotgun attached to the blade's spine for finishing blows or a " +"first strike." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "shotcestus" +msgid_plural "shotcesti" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"A sawn-off double-barrel shotgun mounted on a metal cestus. The lack of a " +"stock to absorb recoil means some strength is required to fire." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "Ichaival" +msgid_plural "Ichaivals" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gun_from_json.py +msgid "" +"Ichaival, the bow of Odin. Rumored to fire 10 arrows with every pull of the" +" string. It has gold and silver ornaments on it, as well as an ornate " +"Raven." +msgstr "" + #: lang/json/gun_from_json.py msgid "Woodbow" msgid_plural "Woodbows" @@ -99484,9 +104941,9 @@ msgid "" "gunpowder. While it has an extremely short range, it gives a powerful edge " "in close combat." msgstr "" -" lança de fogo Uma antiga lança chinesa, com um pequeno tubo preso por " -"umacarga de pólvora. Embora tenha um alcance extremamente curto, dá " -"umavantagem poderosa em combate próximo." +"Uma antiga lança chinesa, com um pequeno tubo preso por uma carga de " +"pólvora. Embora tenha um alcance extremamente curto, dá uma vantagem " +"poderosa em combate próximo." #: lang/json/gun_from_json.py msgctxt "gun_type_type" @@ -99503,8 +104960,7 @@ msgstr[1] "" msgid "" "This is a pseudo item for monster attacks. If you see this, it's a bug." msgstr "" -" base robogun Este é um pseudo item para ataques de monstros. Se você " -"verisso, é um bug." +"Este é um pseudo item para ataques de monstros. Se você ver isso, é um bug." #: lang/json/gun_from_json.py msgid "integral 12 gauge shotgun" @@ -99565,10 +105021,8 @@ msgid "" "A wooden tool for supporting a javelin, to throw it more effectively than by" " hand." msgstr "" -" integral 12 bitola espingarda integral 50 calibre machinegun integralagulha" -" arma integral 8mm arma de fogo integral laser emissor integralrailgun " -"integral relâmpago integral integral EMP gerador atlatl Umaferramenta de " -"madeira para apoiar um dardo, jogá-lo com mais eficácia doque manualmente." +"Uma ferramenta de madeira para apoiar um dardo, para jogá-lo com mais " +"eficácia do que manualmente." #: lang/json/gun_from_json.py msgid "makeshift crossbow" @@ -99583,17 +105037,11 @@ msgid "" "crossbow designs, but it is easier to draw the bow back. Bolts fired from " "this weapon have a good chance of remaining intact for re-use." msgstr "" -" Besta improvisada Uma besta simples e artesanal do estilo Skane, com " -"umaestaca de madeira que é puxada de baixo para soltar a corda do arco. Não " -"étão poderoso quanto outros desenhos de besta, mas é mais fácil puxar o " -"arcopara trás. Os parafusos disparados dessa arma têm uma boa chance " -"depermanecer intactos para reutilização." - -#: lang/json/gun_from_json.py -msgid "Ichaival" -msgid_plural "Ichaivals" -msgstr[0] "" -msgstr[1] "" +"Uma balestra simples e artesanal do estilo Skane, com uma estaca de madeira " +"que é puxada de baixo para soltar a corda. Não é tão poderosa quanto outros " +"tipos de balestra, mas é mais fácil puxar o arco para trás. Os dardos " +"disparados dessa arma têm uma boa chance de permanecer intactos para " +"reutilização." #: lang/json/gun_from_json.py msgid "" @@ -99601,9 +105049,9 @@ msgid "" "to fire 10 arrows with every pull of the string. It has gold and silver " "ornaments on it." msgstr "" -" Ichaival Esta é uma réplica do arco possuído por Odin, Ichaival, que " -"hárumores de disparar 10 flechas a cada puxada da corda. Tem ornamentos " -"deouro e prata sobre ele." +"Esta é uma réplica do arco possuído por Odin, Ichaival, que supostamente " +"disparava 10 flechas a cada puxada da corda. Tem ornamentos de ouro e prata " +"sobre ele." #: lang/json/gun_from_json.py msgid "integral nailgun" @@ -99635,10 +105083,9 @@ msgid "" "aircraft use, but later adapted for armored vehicles. Obviously it needs to" " be mounted on a vehicle to fire." msgstr "" -" Vara de Plasma de Vedação Integral Vara de Plasma de Vórtice Canhão de " -"30mmCanhão automático de corrente, compartimentado em 30x113mm, " -"originalmenteprojetado para uso em aeronaves, mas posteriormente adaptado " -"para veículosblindados. Obviamente, ele precisa ser montado em um veículo " +"Um canhão de 30mm automático de corrente, compartimentado em 30x113mm, " +"originalmente projetado para uso em aeronaves, mas posteriormente adaptado " +"para veículos blindados. Obviamente, ele precisa ser montado em um veículo " "para disparar." #: lang/json/gun_from_json.py lang/json/vehicle_part_from_json.py @@ -99652,8 +105099,8 @@ msgid "" "A 120mm cannon from a tank. Obviously it needs to be mounted on a vehicle " "to fire." msgstr "" -" Arma de tanque de 120 mm Um canhão de 120 mm de um tanque. Obviamente, " -"eleprecisa ser montado em um veículo para disparar." +"Um canhão de 120 mm de um tanque. Obviamente, ele precisa ser montado em um " +"veículo para disparar." #: lang/json/gun_from_json.py msgid "120mm autoloading tank gun" @@ -99666,9 +105113,8 @@ msgid "" "A 120mm cannon from a tank, with a 5-round autoloader. Obviously it needs " "to be mounted on a vehicle to fire." msgstr "" -" Pistola de tanque de autoloading de 120mm Um canhão de 120mm de um tanque, " -"com um autoloader de 5 voltas. Obviamente, ele precisa ser montado em " -"umveículo para disparar." +"Um canhão de 120mm de um tanque, com um autocarregador de 5 cartuchos. " +"Obviamente, ele precisa ser montado em um veículo para disparar." #: lang/json/gun_from_json.py msgid "120mm remote weapon system" @@ -99681,9 +105127,9 @@ msgid "" "A 120mm cannon with an advanced autoloader, designed to operate via remote " "control. Obviously it needs to be mounted on a vehicle to fire." msgstr "" -" Sistema de armas remoto de 120 mm Um canhão de 120 mm com um " -"carregadoravançado, projetado para operar por controle remoto. Obviamente, " -"eleprecisa ser montado em um veículo para disparar." +"Um canhão de 120 mm com um autocarregador avançado, projetado para operar " +"por controle remoto. Obviamente, ele precisa ser montado em um veículo para " +"disparar." #: lang/json/gun_from_json.py lang/json/vehicle_part_from_json.py msgid "155mm howitzer" @@ -99696,9 +105142,8 @@ msgid "" "A 155mm cannon designed for artillery and heavy tanks. Obviously it needs " "to be mounted on a vehicle to fire." msgstr "" -" Canhão de 155mm Um canhão de 155mm projetado para artilharia e " -"tanquespesados. Obviamente, ele precisa ser montado em um veículo para " -"disparar." +"Um canhão de 155mm projetado para artilharia e tanques pesados. Obviamente, " +"ele precisa ser montado em um veículo para disparar." #: lang/json/gun_from_json.py msgid "Vehicular ATGM Launcher" @@ -99711,9 +105156,9 @@ msgid "" "A launcher for anti-tank guided missiles. While highly accurate, it isn't " "fire-and-forget. Obviously it needs to be mounted on a vehicle to fire." msgstr "" -" Lançador ATGM Veicular Um lançador de mísseis guiados anti-tanque. " -"Emboraaltamente preciso, não é fogo-e-esqueça. Obviamente, ele precisa " -"sermontado em um veículo para disparar." +"Um lançador de mísseis guiados anti-tanque. Embora altamente preciso, não é " +"atire-e-esqueça. Obviamente, ele precisa ser montado em um veículo para " +"disparar." #: lang/json/gun_from_json.py lang/json/vehicle_part_from_json.py msgid "biting blob" @@ -100856,7 +106301,7 @@ msgstr "" msgid "accessories" msgstr "acessórios" -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "bow" msgstr "arco" @@ -100993,7 +106438,7 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" "Testmod for UPS drain on mods, this should never spawn, if you see this, " -"it's a bug. 50x more UPS drain." +"it's a bug. 50x more UPS drain." msgstr "" #: lang/json/gunmod_from_json.py @@ -101167,8 +106612,8 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" -"A set of optics to concentrate the laser beam on a smaller focus point. This" -" increases range and damage output, but complicates targeting." +"A set of optics to concentrate the laser beam on a smaller focus point. " +"This increases range and damage output, but complicates targeting." msgstr "" #: lang/json/gunmod_from_json.py @@ -101197,7 +106642,7 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" "A set of electronics to optimize emitter workcycle and increase overall " -"energy efficiency. Decreases power consumption." +"energy efficiency. Decreases power consumption." msgstr "" #: lang/json/gunmod_from_json.py @@ -101212,12 +106657,9 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" -"A capacitor with a higher energy density increases range and damage; at the" -" cost of a markedly increased power consumption." +"A capacitor with a higher energy density increases range and damage; at the " +"cost of a markedly increased power consumption." msgstr "" -" capacitor de alta densidade Um capacitor com maior densidade de " -"energiaaumenta o alcance e o dano; à custa de um consumo de energia " -"acentuadamenteaumentado." #: lang/json/gunmod_from_json.py msgid "Leadworks magazine adapter" @@ -101450,6 +106892,20 @@ msgstr "" "asubida da boca, melhorando o recuo, mas aumentando o volume, o ruído " "ereduzindo a precisão levemente." +#: lang/json/gunmod_from_json.py +msgid "modified muzzle brake" +msgid_plural "modified muzzle brakes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A muzzle brake redirects exhaust gases to compensate for muzzle climb, " +"improving recoil but increasing bulk, noise, and reducing accuracy slightly." +" This one was modified and customized to mount on pretty much any firearm " +"other than launchers, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "homemade suppressor" msgid_plural "homemade suppressors" @@ -101598,6 +107054,20 @@ msgstr "" msgid "rail" msgstr "mira telescópica" +#: lang/json/gunmod_from_json.py +msgid "modified rail-mounted crossbow" +msgid_plural "modified rail-mounted crossbows" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A kit to attach a pair of crossbow arms and a firing rail to the barrel of a" +" long firearm. It allows crossbow bolts to be fired. This one was modified" +" and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "offset iron sights" msgid_plural "offset iron sights" @@ -101613,6 +107083,19 @@ msgstr "" "montadasa 45 ° para uso quando um escopo ou outra modificação impedir o uso " "dasmiras primárias." +#: lang/json/gunmod_from_json.py +msgid "modified offset iron sights" +msgid_plural "modified offset iron sights" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An alternative set of iron sights mounted at 45° for use when a scope or " +"other modification prevents use of the primary sights. This one was " +"modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "offset sight rail" msgid_plural "offset sight rails" @@ -101625,6 +107108,18 @@ msgstr "" " trilho de desvio Um trilho adicional ajustado a 45 ° para conectar " "umaóptica secundária." +#: lang/json/gunmod_from_json.py +msgid "modified offset sight rail" +msgid_plural "modified offset sight rails" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An additional rail set at 45° for attaching a secondary optic. This one was" +" modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "rail laser sight" msgid_plural "rail laser sights" @@ -101657,6 +107152,20 @@ msgstr "" "dasua arma de fogo e reduz a vibração, reduzindo bastante o recuo " "eaumentando ligeiramente a precisão." +#: lang/json/gunmod_from_json.py +msgid "modified gyroscopic stabilizer" +msgid_plural "modified gyroscopic stabilizers" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An advanced unit that straps onto the side of your firearm and reduces " +"vibration, greatly reducing recoil and slightly increasing accuracy. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "LW gyroscopic stabilizer" msgid_plural "LW gyroscopic stabilizers" @@ -101779,11 +107288,23 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" -"A long ranged rifle scope used by civilians and military alike, increases " -"weight but improves accuracy greatly." +"A 3-18x44 rifle scope. It is adjustable for windage and elevation in 1/10th" +" mrad increments and is remarkably small and light for its magnification." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "modified rifle scope" +msgid_plural "modified rifle scopes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 3-18x44 rifle scope. It is adjustable for windage and elevation in 1/10th" +" mrad increments and is remarkably small and light for its magnification. " +"This one was modified and customized to mount on pretty much any weapon " +"other than pistols and SMGs, if you so want." msgstr "" -" Escopo rifle Um longo alcance rifle utilizado por civis e militares, " -"aumenta o peso, mas melhora a precisão muito." #: lang/json/gunmod_from_json.py msgid "ACOG scope" @@ -101793,12 +107314,22 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" -"An Advanced Combat Optical Gunsight, a milspec medium magnification scope. " -"Increases weight but improves accuracy significantly." +"A 4x32 TA01 Advanced Combat Optical Gunsight with a tritium illuminated " +"crosshair." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "modified ACOG scope" +msgid_plural "modified ACOG scopes" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 4x32 TA01 Advanced Combat Optical Gunsight with a tritium illuminated " +"crosshair. This one was modified and customized to mount on pretty much any" +" weapon other than pistols, if you so want." msgstr "" -" Âmbito ACOG Um Advanced Combat Optical Gunsight, um escopo de " -"ampliaçãomédio milspec. Aumenta o peso, mas melhora significativamente a " -"precisão." #: lang/json/gunmod_from_json.py msgid "RS1219 scope" @@ -101825,12 +107356,10 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" -"A simple telescopic sight, essentially a small telescope with crosshairs. " -"Increases weight but improves accuracy." +"A simple hand-crafted telescopic sight, essentially a small telescope with " +"crosshairs. Not as good as the ones made before the cataclysm. Increases " +"weight but improves accuracy." msgstr "" -" mira telescópica Uma simples mira telescópica, essencialmente um " -"pequenotelescópio com mira telescópica. Aumenta o peso, mas melhora a " -"precisão." #: lang/json/gunmod_from_json.py msgid "telescopic pistol sight" @@ -102022,6 +107551,21 @@ msgstr "" "omanuseio do recuo, eles são utilizáveis apenas em certas superfícies e " "sãolentos para se equipar." +#: lang/json/gunmod_from_json.py +msgid "modified bipod" +msgid_plural "modified bipods" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Bipods are commonly used on rifles and machine guns to provide a forward " +"rest and reduce motion. Although they greatly improve handling of recoil " +"they are usable only on certain surfaces and are slow to equip. This one " +"was modified and customized to mount on pretty much any weapon, if you so " +"want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "combination gun shotgun" msgid_plural "combination gun shotguns" @@ -102066,6 +107610,19 @@ msgstr "" "ummaior controle. Não tão eficaz quanto um bipé, mas utilizável sob todas " "ascondições." +#: lang/json/gunmod_from_json.py +msgid "modified forward grip" +msgid_plural "modified forward grips" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A grip placed forward on the barrel allows for greater control. Not as " +"effective as a bipod but usable under all conditions. This one was modified" +" and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "integrated bayonet" msgid_plural "integrated bayonets" @@ -102138,6 +107695,20 @@ msgstr "" " pode ser conectado a quase todos os rifles. Ele permite que uma " "únicagranada de 40mm seja carregada e disparada." +#: lang/json/gunmod_from_json.py +msgid "modified M203" +msgid_plural "modified M203s" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M203 was originally designed for use with M16 variants but today can be " +"attached to almost any rifle. It allows a single 40mm grenade to be loaded " +"and fired. This one was modified and customized to mount on pretty much any" +" weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "M320 GLM" msgid_plural "M320 GLM" @@ -102157,20 +107728,54 @@ msgstr "" "parauso independente." #: lang/json/gunmod_from_json.py -msgid "masterkey shotgun" -msgid_plural "masterkey shotguns" +msgid "modified M320 GLM" +msgid_plural "modified M320 GLMs" msgstr[0] "" msgstr[1] "" +#: lang/json/gunmod_from_json.py +msgid "" +"The M320 Grenade Launcher Module offers the functionality of larger " +"launchers in a very small package at the cost of decreased accuracy. It can" +" be either attached to a rifle or combined with a buttstock for stand alone " +"use. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "masterkey shotgun" +msgid_plural "masterkey shotguns" +msgstr[0] "espingarda masterkey" +msgstr[1] "espingardas masterkey" + #: lang/json/gunmod_from_json.py msgid "" "A minimalist pump action shotgun, which can be mounted under the barrel of " "many rifles. It allows a total of four shotgun shells to be loaded and " "fired." msgstr "" -" espingarda masterkey Uma espingarda de acção de bomba minimalista, que " -"podeser montada sob o cano de muitos espingardas. Ele permite que um total " -"dequatro cartuchos de espingarda sejam carregados e disparados." +"Uma espingarda minimalista de ação de bomba, que pode ser montada sob o cano" +" de muitos rifles. Permite que um total de quatro cartuchos de espingarda " +"sejam carregados e disparados." + +#: lang/json/gunmod_from_json.py +msgid "modified masterkey shotgun" +msgid_plural "modified masterkey shotguns" +msgstr[0] "espingarda masterkey modificada" +msgstr[1] "espingardas masterkey modificadas" + +#: lang/json/gunmod_from_json.py +msgid "" +"A minimalist pump action shotgun, which can be mounted under the barrel of " +"many rifles. It allows a total of four shotgun shells to be loaded and " +"fired. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" +"Uma espingarda minimalista de ação de bomba, que pode ser montada sob o cano" +" de muitos rifles. Permite que um total de quatro cartuchos de espingarda " +"sejam carregados e disparados. Esta foi customizada para poder ser montada " +"em quase todas as armas, exceto pistolas e armas por ação de bomba, caso " +"desejado." #: lang/json/gunmod_from_json.py msgid "40mm pipe launcher" @@ -102180,12 +107785,9 @@ msgstr[1] "" #: lang/json/gunmod_from_json.py msgid "" -"This is a home built launcher tube that can be attached to almost any rifle." -" It allows a single 40mm grenade to be loaded and fired." +"This is a home built launcher tube that can be attached to almost any weapon" +" except handguns. It allows a single 40mm grenade to be loaded and fired." msgstr "" -" Lançador de tubos de 40mm Este é um tubo de lançador construído em casa que" -" pode ser anexado a quase qualquer rifle. Ele permite que uma única " -"granadade 40mm seja carregada e disparada." #: lang/json/gunmod_from_json.py msgid "pistol bayonet" @@ -102198,9 +107800,8 @@ msgid "" "A pistol bayonet is a stabbing weapon that can be attached to the front of a" " handgun, allowing a melee attack to deal piercing damage." msgstr "" -" baioneta de pistola Uma baioneta de pistola é uma arma que pode ser " -"anexadaà frente de uma arma, permitindo que um ataque corpo-a-corpo cause " -"danoperfurante." +"Uma baioneta de pistola é uma arma que pode ser anexada à frente de uma " +"arma, permitindo que um ataque corpo-a-corpo cause dano perfurante." #: lang/json/gunmod_from_json.py msgid "RM121 aux shotgun" @@ -102214,9 +107815,23 @@ msgid "" "caseless shotgun, which can be mounted under the barrel of many rifles. " "Accepts RMSA10 box magazines." msgstr "" -" RM121 aux shotgun O sistema de armas auxiliares Rivtech RM121 é " -"umaespingarda semi-automática, alimentada a carregador, que pode ser " -"montadasob o cano de muitas espingardas. Aceita revistas de caixa RMSA10." +"O sistema de armas auxiliares Rivtech RM121 é uma espingarda semi-" +"automática, alimentada a carregador, que pode ser montada sob o cano de " +"muitos rifles. Aceita carregadores de caixa RMSA10." + +#: lang/json/gunmod_from_json.py +msgid "modified RM121 aux shotgun" +msgid_plural "modified RM121 aux shotguns" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The Rivtech RM121 auxiliary weapon system is a magazine-fed semi-automatic " +"caseless shotgun, which can be mounted under the barrel of many rifles. " +"Accepts RMSA10 box magazines. This one was modified and customized to mount" +" on pretty much any weapon other than pistols, if you so want." +msgstr "" #: lang/json/gunmod_from_json.py msgid "underslung shotgun" @@ -102229,9 +107844,23 @@ msgid "" "A short shotgun with 2 barrels, which can be mounted under the barrel of " "many rifles. It allows two shotgun shells to be loaded and fired." msgstr "" -" espingarda underslung Uma espingarda curta com 2 barris, que pode " -"sermontada sob o cano de muitos rifles. Permite que dois cartuchos " -"deespingarda sejam carregados e disparados." +"Uma espingarda curta com 2 canos, que pode ser montada sob o cano de muitos " +"rifles. Permite que dois cartuchos de espingarda sejam carregados e " +"disparados." + +#: lang/json/gunmod_from_json.py +msgid "modified underslung shotgun" +msgid_plural "modified underslung shotguns" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A short shotgun with 2 barrels, which can be mounted under the barrel of " +"many rifles. It allows two shotgun shells to be loaded and fired. This one" +" was modified and customized to mount on pretty much any weapon other than " +"pistols, if you so want." +msgstr "" #: lang/json/gunmod_from_json.py msgid "LW underbarrel laser sight" @@ -102545,6 +108174,58 @@ msgstr "" "eledescarrega as cargas da UPS durante o disparo e, devido a " "extensasmodificações, a pistola não pode mais operar sem um no-break." +#: lang/json/gunmod_from_json.py +msgid "'Silent Winds' suppressor" +msgid_plural "'Silent Winds' suppressors" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Rather than using purely wipe media, an additional localized silence spell " +"in this tube quiets gunshots going through to hearing-safe levels." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (rail)" +msgid_plural "mana laser sights (rail)" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit under the barrel." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (underbarrel)" +msgid_plural "mana laser sights (underbarrel)" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit on the rail." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana dot sight" +msgid_plural "mana dot sights" +msgstr[0] "" +msgstr[1] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Adds a blue dot optic made from crystallized mana to the top of your gun, " +"replacing the iron sights. Increases accuracy and weight." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "makeshift pistol bayonet" msgid_plural "makeshift pistol bayonets" @@ -103794,7 +109475,7 @@ msgstr "" #: lang/json/help_from_json.py msgid "<1>: List of item types and data" -msgstr "<1>: lista de tipos de itens e dados" +msgstr "<1>: Lista de tipos de itens e dados" #: lang/json/help_from_json.py #, no-python-format @@ -104013,7 +109694,7 @@ msgid "" "Handguns are small weapons held in one or both hands. They are much more difficult to aim and control than larger firearms, and this is reflected in their poor accuracy. However, their small size makes them appropriate for short-range combat. They are also relatively quick to reload and use a very wide selection of ammunition. Their small size and low weight make it possible to carry several loaded handguns, switching from one to the next once their ammo is spent." msgstr "" " (Armas de mão \n" -" Handguns são pequenas armasmantidas em uma ou ambas as mãos. Eles são muito mais difíceis de mirar econtrolar do que as armas de fogo maiores, e isso se reflete em sua poucaprecisão. No entanto, seu pequeno tamanho os torna apropriados paracombates de curto alcance. Eles também são relativamente rápidos pararecarregar e usar uma ampla variedade de munição. Seu pequeno tamanho ebaixo peso possibilitam carregar várias armas carregadas, mudando de umapara a outra quando sua munição é gasta.\n" +" Handguns são pequenas armasmantidas em uma ou ambas as mãos. Eles são muito mais difíceis de mirar econtrolar do que as armas de fogo maiores, e isso se reflete em sua poucaprecisão. No entanto, seu pequeno tamanho os torna apropriados paracombates de curto alcance. Eles também são relativamente rápidos pararecarregar e usar uma ampla variedade de munição. Seu pequeno tamanho ebaixo peso possibilitam carregar várias armas carregadas, mudando de umapara a outra quando sua munição é gasta." #: lang/json/help_from_json.py msgid "" @@ -104048,7 +109729,7 @@ msgid "" "Sniper and marksman rifles are popular for their superior range and accuracy. What's more, their scopes or sights make shots fired at targets at very long range as accurate as those with a shorter range. Unlike assault rifles, sniper and marksman rifles usually have no automatic fire. They are also may be slow to reload and fire, so when facing a large group of nearby enemies, they are not the best pick." msgstr "" " (Sniper e Marksman Rifles \n" -" As espingardas deprecisão e de atirador são populares por seu alcance e precisão superiores. Além disso, seus telescópios ou miras fazem tiros disparados contra alvos auma distância muito longa, tão precisos quanto aqueles com um alcancemenor. Ao contrário dos fuzis de assalto, os rifles atiradores e atiradoresgeralmente não têm fogo automático. Eles também podem ser lentos pararecarregar e disparar, por isso, quando enfrentam um grande grupo deinimigos próximos, eles não são a melhor escolha.\n" +" As espingardas deprecisão e de atirador são populares por seu alcance e precisão superiores. Além disso, seus telescópios ou miras fazem tiros disparados contra alvos auma distância muito longa, tão precisos quanto aqueles com um alcancemenor. Ao contrário dos fuzis de assalto, os rifles atiradores e atiradoresgeralmente não têm fogo automático. Eles também podem ser lentos pararecarregar e disparar, por isso, quando enfrentam um grande grupo deinimigos próximos, eles não são a melhor escolha." #: lang/json/help_from_json.py msgid "" @@ -104063,7 +109744,7 @@ msgid "" "Machine guns are one of the most powerful firearms available. They are even larger than assault rifles; however, they are capable of holding 100 or more rounds of highly-damaging ammunition. They are not built for accuracy, and firing single rounds is not very effective. However, they also possess a very high rate of fire and somewhat low recoil, making them very good at clearing out large numbers of enemies." msgstr "" " ( Metralhadoras \n" -" As metralhadoras são uma dasarmas mais poderosas disponíveis. Eles são ainda maiores que os fuzis deassalto; no entanto, eles são capazes de realizar 100 ou mais cartuchos demunição altamente prejudicial. Eles não são construídos para precisão, edisparar rodadas simples não é muito eficaz. No entanto, eles tambémpossuem uma taxa muito alta de fogo e recuo um pouco baixo, tornando- osmuito bons em eliminar um grande número de inimigos.\n" +" As metralhadoras são uma dasarmas mais poderosas disponíveis. Eles são ainda maiores que os fuzis deassalto; no entanto, eles são capazes de realizar 100 ou mais cartuchos demunição altamente prejudicial. Eles não são construídos para precisão, edisparar rodadas simples não é muito eficaz. No entanto, eles tambémpossuem uma taxa muito alta de fogo e recuo um pouco baixo, tornando- osmuito bons em eliminar um grande número de inimigos." #: lang/json/help_from_json.py msgid "" @@ -104094,7 +109775,7 @@ msgid "" "A: Use a hammer and choose the direction of the boarded-up window or door to remove the boards." msgstr "" " P: Como posso remover placas de portas e janelas com painéis? \n" -" A: Use ummartelo e escolha a direção da janela ou porta com tábuas para remover asplacas.\n" +" A: Use ummartelo e escolha a direção da janela ou porta com tábuas para remover asplacas." #: lang/json/help_from_json.py msgid "" @@ -104102,7 +109783,7 @@ msgid "" "A: You have the Schizophrenic trait, which might make the game seem buggy." msgstr "" " Q: O jogo apenas me disse para sair, e outras coisas estranhas estãoacontecendo. \n" -" A: Você tem o traço esquizofrênico, que pode fazer o jogoparecer um buggy.\n" +" A: Você tem o traço esquizofrênico, que pode fazer o jogoparecer um buggy." #: lang/json/help_from_json.py msgid "" @@ -104134,7 +109815,7 @@ msgid "" "A: Check the difficulty of the recipe, and the primary skill used; your skill level should be around one and a half times the difficulty to be confident that it will succeed." msgstr "" " P: Por que minha elaboração falha com tanta frequência? \n" -" A: Verifique adificuldade da receita e a habilidade primária usada; seu nível dehabilidade deve ser em torno de uma vez e meia a dificuldade de ter certezade que será bem-sucedido.\n" +" A: Verifique adificuldade da receita e a habilidade primária usada; seu nível dehabilidade deve ser em torno de uma vez e meia a dificuldade de ter certezade que será bem-sucedido." #: lang/json/help_from_json.py msgid "" @@ -104536,8 +110217,8 @@ msgstr "Medir radiação" #: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/game_inventory.cpp src/teleport.cpp -msgid "..." -msgstr "..." +msgid "…" +msgstr "" #: lang/json/item_action_from_json.py msgid "Control an RC car" @@ -104703,16 +110384,12 @@ msgstr "" " Este item pode ser ativado ou recarregado a partir de um ladrilho " "adjacentesem recuperá-lo." -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the outer aura layer, intended for metaphysical effects." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your outer aura." msgstr "" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate barometer (which is used to measure " @@ -104721,6 +110398,7 @@ msgstr "" " Esta engrenagem está equipada com um barômetro preciso (que é usado " "paramedir a pressão atmosférica)." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item can be clipped on to a belt loop of the appropriate " @@ -104729,10 +110407,6 @@ msgstr "" " Este item pode ser cortado em um cinto de loop do " "tamanhoapropriado." -#: lang/json/json_flag_from_json.py -msgid "Layer for backpacks and things worn over outerwear." -msgstr "Camada para mochilas e coisas usadas em outerwear." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is strapped onto you." @@ -104747,14 +110421,6 @@ msgstr "" " UMA seguidor poderia fazer uso deste CBM " "seinstalado corretamente." -#: lang/json/json_flag_from_json.py -msgid "" -"Blinds the wearer while worn, and provides nominal protection vs flashbang " -"flashes." -msgstr "" -" Cega o usuário enquanto está gasto e fornece proteção nominal contraflashes" -" de flash." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear prevents you from seeing anything." @@ -104830,21 +110496,21 @@ msgid "" "As a weapon, this item is well-made and will withstand " "the punishment of combat." msgstr "" -" Como arma, este item é bem feito e vai suportar " -"apunição do combate ." +"Como arma, este item é bem feito e vai suportar a " +"punição do combate ." #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This tastes better while cold." msgstr "" -" Este gostos Melhor enquanto frio " +"Isto tem um gosto melhor quando frio " "." #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This tastes better while hot." msgstr "" -" Este gostos Melhor enquanto quente ." +"Isto tem um gosto melhor quando quente ." #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py @@ -104852,8 +110518,8 @@ msgid "" "This gear completely protects you from electric " "discharges." msgstr "" -" Esta engrenagem protege completamente Você é de " -"descargas elétricas ." +"Este equipamento lhe protege completamente de descargas" +" elétricas." #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py @@ -104865,31 +110531,24 @@ msgstr "" #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "You can wear only one." -msgstr "Você pode vestir apenas um ." - -#: lang/json/json_flag_from_json.py -msgid "" -"Wearing this clothing gives a morale bonus if the player has the Stylish " -"trait." -msgstr "" -" Vestir esta roupa dá um bônus de moral se o jogador tiver a " -"característicaElegante." +msgstr "Você pode vestir apenas um." #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This piece of clothing is fancy." -msgstr "Esta peça de roupa é chique ." +msgstr "Esta peça de roupa é chique ." #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This item counts as fire for crafting purposes." msgstr "" -" Este item conta como fogo para fins de elaboração." +"Este item conta como fogo para fins de criação de " +"itens." #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This item can start fire." -msgstr "Este item pode começar fogo ." +msgstr "Este item pode acender fogo ." #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py @@ -104906,21 +110565,11 @@ msgstr "Esta engrenagem corrige hipermetropia ." msgid "This gear corrects nearsightedness." msgstr "Esta engrenagem corrige miopia ." -#: lang/json/json_flag_from_json.py -msgid "" -"Zombie-dropped clothing giving various penalties if Filthy mod is active. " -"Also CBMs harvested from zombies." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This item is filthy." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "Used for eyes protection from flashbang." -msgstr "Usado para proteção dos olhos do flashbang." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -104964,6 +110613,7 @@ msgstr "" " Esta peça de roupa tem um capuz para manter a cabeça quente," " se a sua cabeça estiver livre." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate hygrometer (which is used to measure " @@ -104972,6 +110622,7 @@ msgstr "" " Esta engrenagem está equipada com um higrômetro preciso (que é usado " "paramedir a umidade)." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item is a component of the gun it is attached to. It can't be removed " @@ -104980,32 +110631,6 @@ msgstr "" " Este item é um componente da arma a que está ligado. Não pode ser " "removidosem destruí-lo." -#: lang/json/json_flag_from_json.py -msgid "Item can never be used with a CVD machine." -msgstr "Item nunca pode ser usado com uma máquina CVD." - -#: lang/json/json_flag_from_json.py -msgid "" -"Don't offer to draw items from this holster when the fire key is pressed " -"whilst the player's hands are empty." -msgstr "" -" Não ofereça sacar itens deste estojo quando a tecla de fogo for " -"pressionadaenquanto as mãos do jogador estiverem vazias." - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents repairing of this item even if otherwise suitable tools exist." -msgstr "" -"Previne a reparação deste item, mesmo que existam ferramentas adequadas." - -#: lang/json/json_flag_from_json.py -msgid "" -"forces calories and vitamins to be the ones defined in the json, instead of " -"inheriting from ingredients" -msgstr "" -" força calorias e vitaminas a serem definidas no json, em vez de herdar " -"dosingredientes" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "You could probably plant these." @@ -105021,23 +110646,11 @@ msgstr "" "frio e gosto muito Melhor quando " "congeladas ." -#: lang/json/json_flag_from_json.py -msgid "Outer garment layer." -msgstr "Camada de vestuário exterior." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is generally worn over clothing." msgstr "Este equipamento é geralmente desgastado roupas." -#: lang/json/json_flag_from_json.py -msgid "" -"Can always be worn no matter encumbrance/mutations/bionics/etc., but " -"prevents any other clothing being worn over this." -msgstr "" -" Pode sempre ser usado, não importa o impacto / mutações / biônica / etc, " -"mas impede que qualquer outra roupa seja usada por causa disso." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -105047,14 +110660,6 @@ msgstr "" " Esta roupa é grande o suficiente para acomodar anatomia " "mutadaanormalmente grande ." -#: lang/json/json_flag_from_json.py -msgid "" -"Can be worn comfortably by mutants with Tiny or Unassuming. Too small for " -"anyone else." -msgstr "" -" Pode ser usado confortavelmente por mutantes com Tiny ou despretensioso. " -"Muito pequeno para qualquer outra pessoa." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -105064,25 +110669,11 @@ msgstr "" " Esta engrenagem reduz o volume de sons paraum" " nível seguro." -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the personal aura layer, intended for metaphysical " -"effects." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your personal aura." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "" -"Increases warmth for hands if the player's hands are cold and the player is " -"wielding nothing." -msgstr "" -" Aumenta o calor das mãos se as mãos do jogador estiverem frias e o " -"jogadornão estiver empunhando nada." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -105092,19 +110683,6 @@ msgstr "" " Esta roupa tem bolsos para aquecer as mãos quando você " "nãoestá empunhando nada." -#: lang/json/json_flag_from_json.py -msgid "" -"If turned ON, it uses its own source of power, instead of relying on power " -"of the user." -msgstr "" -" Se estiver ligado, ele usa sua própria fonte de energia, em vez de " -"dependerda energia do usuário." - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "25% chance to protect against fear_paralyze monster attack." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear keeps out the mind control rays." @@ -105142,10 +110720,6 @@ msgstr "" msgid "This item can be used to communicate with radio waves." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "Prevents the covered body-part(s) from getting wet in the rain." -msgstr "Impede que a (s) parte (s) do corpo coberta (s) se molhem na chuva." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -105153,19 +110727,6 @@ msgid "" msgstr "" " Esta peça de roupa é projetada para mantê-lo seco na chuva." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the player from wielding a weapon two-handed, forcing one-handed " -"use if the weapon permits it." -msgstr "" -" Impede o jogador de empunhar uma arma com as duas mãos, forçando o uso " -"comuma mão, se a arma permitir." - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from participating in the encumbrance system when worn." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -105173,26 +110734,6 @@ msgid "" " other things when worn." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sheath of the appropriate size." -msgstr "Este item pode ser armazenado em uma bainha do tamanho apropriado." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a scabbard of the appropriate size." -msgstr "Este item pode ser armazenado em uma bainha do tamanho apropriado." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sling of the appropriate size." -msgstr "Este item pode ser armazenado em uma linga do tamanho apropriado." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a bag of the appropriate size." -msgstr "Este item pode ser armazenado em uma sacola do tamanho apropriado." - -#: lang/json/json_flag_from_json.py -msgid "Undergarment layer." -msgstr "Camada de roupa de baixo." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing lies close to the skin." @@ -105220,32 +110761,16 @@ msgstr "" " Esta roupa vai proteger você de dano e suportar " "muitoabuso ." -#: lang/json/json_flag_from_json.py -msgid "Prevents glaring when in sunlight." -msgstr "Evita ofuscar quando na luz solar." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing keeps the glare out of your eyes." msgstr "Esta roupa mantém o brilho fora dos seus olhos." -#: lang/json/json_flag_from_json.py -msgid "" -"Gives an additional moral bonus over FANCY if the player has the Stylish " -"trait." -msgstr "" -" Dá um bônus moral adicional sobre FANCY se o jogador tiver o " -"atributoStylish." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing is very fancy." msgstr "Esta roupa é muito chique." -#: lang/json/json_flag_from_json.py -msgid "Allows you to see much further under water." -msgstr "Permite você ver muito além debaixo d'água." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -105255,49 +110780,22 @@ msgstr "" " Esta roupa permite que você veja muito mais embaixo " "daagua ." -#: lang/json/json_flag_from_json.py -msgid "" -"This gear is equipped with an accurate thermometer (which is used to measure" -" temperature)." -msgstr "" -" Esta engrenagem está equipada com um termômetro preciso (que é usado " -"paramedir a temperatura)." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is equipped with an accurate thermometer." msgstr "" "Este equipamento está equipado com termômetro preciso ." -#: lang/json/json_flag_from_json.py -msgid "Can be made to fit via tailoring." -msgstr "Pode ser feito caber via costura." - -#: lang/json/json_flag_from_json.py -msgid "Layer for belts and other things worn on the waist." -msgstr "Camada para cintos e outras coisas vestidas na cintura." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is worn on or around your waist." msgstr "Este equipamento é vestido ao redor ou na cintura." -#: lang/json/json_flag_from_json.py -msgid "Acts as a watch and allows the player to see actual time." -msgstr "Atua como um relógio e permite que o jogador veja o tempo real." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear allows to see actual time." msgstr "Este equipamento permite ver o horário atual." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the covered body-part(s) from getting wet in any circumstance." -msgstr "" -" Impede que a (s) parte (s) do corpo coberta (s) se molhem em " -"qualquercircunstância." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -105307,14 +110805,6 @@ msgstr "" " Esta roupa não vai deixar a água passar . A menos que " "vocêpule no rio ou algo parecido." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from making the body part count as unfriendly to water and" -" thus causing negative morale from being wet." -msgstr "" -" Impede que o item faça com que a parte do corpo conte como hostil à água e," -" portanto, que a moral negativa fique molhada." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -105361,13 +110851,6 @@ msgstr "" " Esta roupa tem um forro de lã costurado aumentar sua " "global calor ." -#: lang/json/json_flag_from_json.py -msgid "" -"Allows wielding with unarmed fighting styles and trains unarmed when used." -msgstr "" -" Permite empunhar com estilos de luta desarmados e treina desarmado " -"quandousado." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -105382,114 +110865,26 @@ msgstr "" msgid "This item contains a nanofabricator recipe." msgstr "Este item contém uma receita de nanofabricante." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "This bionic is a faulty bionic." -msgstr "Este biônico é um defeituoso biônico." - -#: lang/json/json_flag_from_json.py -msgid "This bionic is a power source bionic." -msgstr "Este biônico é uma fonte de energia biônica." - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic only has a function when activated, else it causes its effect " -"every turn." -msgstr "" -" Este biônico só tem uma função quando ativado, senão causa seu efeito acada" -" turno." - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a gun bionic and activating it will fire it. Prevents all " -"other activation effects." +msgid "This bionic is faulty." msgstr "" -" Este biônico é uma arma biônica e ativá-lo irá disparar. Impede todos " -"osoutros efeitos de ativação." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a weapon bionic and activating it will create (or destroy) " -"bionic's fake_item in user's hands. Prevents all other activation effects." +msgid "This bionic provides power." msgstr "" -" Este biônico é uma arma biônica e ativá-lo irá criar (ou destruir) o falso-" -" deus biônico nas mãos do usuário. Impede todos os outros efeitos " -"deativação." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This bionic can provide power to powered armor." msgstr "Este biônico pode fornecer energia à armadura elétrica." -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's effects permanent." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's Area of Effect ignore walls." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "You can cast spells with this item in your hand." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This makes the spell's summoned monster always hostile. Note that the spell" -" needs to be a summon spell for this to do anything." -msgstr "" - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "" -"This makes the spell's summoned monster hostile 50% of the time. Note that " -"the spell needs to be a summon spell for this to do anything." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "The spell makes no sound at its point of impact." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This spell is much louder at its point of impact." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The caster must speak in order to cast the spell. More mouth encumbrannce " -"increases failure percent, and the caster speaks when casting." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell requires arm movement to cast. Arm encumbrance affects failure " -"percentage and casting time." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell does not require hands in order to cast it. Encumbrance penalties" -" on hands are nullified." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell does not require leg movement in order to be cast. All " -"encumbrance penalties for legs are nullified." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell requires focus to cast. The lower your focus, the higher failure" -" rate to cast." -msgstr "" - +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" -"Chooses a spell at random to cast from extra_effects. See MAGIC.md for " -"details" -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This mutation does not count toward thresholds at all." +"This food is unappetizing in a way that can't be covered up " +"by most cooking." msgstr "" #. ~ Please leave anything in unchanged. @@ -105934,6 +111329,10 @@ msgstr "Próximo nível" msgid "Previous level" msgstr "Nível anterior" +#: lang/json/keybinding_from_json.py +msgid "Reset level" +msgstr "Repor nível" + #: lang/json/keybinding_from_json.py msgid "Undo move" msgstr "Desfazer movimento" @@ -105950,10 +111349,6 @@ msgstr "Toggle Flag" msgid "Toggle lights" msgstr "Luzes de alternância" -#: lang/json/keybinding_from_json.py -msgid "Reset level" -msgstr "Repor nível" - #: lang/json/keybinding_from_json.py msgid "Confirm Choice" msgstr "Confirme a escolha" @@ -106344,11 +111739,11 @@ msgstr "Largo movimento para a direita" #: lang/json/keybinding_from_json.py msgid "Wide move up" -msgstr "Largo subir" +msgstr "Largo movimento para cima" #: lang/json/keybinding_from_json.py msgid "Wide move down" -msgstr "Largo descer" +msgstr "Largo movimento para baixo" #: lang/json/keybinding_from_json.py msgid "Toggle category selection mode" @@ -106356,7 +111751,7 @@ msgstr "Alternar modo de seleção de categoria" #: lang/json/keybinding_from_json.py msgid "Set item filter" -msgstr "Definir filtro de item" +msgstr "Definir filtro de itens" #: lang/json/keybinding_from_json.py msgid "Toggle item as favorite" @@ -106364,7 +111759,7 @@ msgstr "" #: lang/json/keybinding_from_json.py msgid "Toggle activate/examine" -msgstr "Alternar ativar / examinar" +msgstr "Alternar ativar/examinar" #: lang/json/keybinding_from_json.py src/martialarts.cpp msgid "Pause" @@ -106376,31 +111771,31 @@ msgstr "Alternar Memória do Mapa" #: lang/json/keybinding_from_json.py msgid "Center View" -msgstr "Vista central" +msgstr "Centralizar Vista" #: lang/json/keybinding_from_json.py msgid "Move View North" -msgstr "Mover a vista norte" +msgstr "Mover Vista para o Norte" #: lang/json/keybinding_from_json.py msgid "Move View East" -msgstr "Mover a vista do leste" +msgstr "Mover Vista para o Leste" #: lang/json/keybinding_from_json.py msgid "Move View South" -msgstr "Mover para o sul" +msgstr "Mover Vista para o Sul" #: lang/json/keybinding_from_json.py msgid "Move View West" -msgstr "Mover a vista para oeste" +msgstr "Mover Vista para o Oeste" #: lang/json/keybinding_from_json.py msgid "Open Door" -msgstr "Porta aberta" +msgstr "Abrir Porta" #: lang/json/keybinding_from_json.py msgid "Close Door" -msgstr "Porta fechada" +msgstr "Fechar Porta" #: lang/json/keybinding_from_json.py msgid "Smash Nearby Terrain" @@ -106408,7 +111803,7 @@ msgstr "Esmagar Terreno Próximo" #: lang/json/keybinding_from_json.py msgid "Examine Nearby Terrain" -msgstr "Examinar o terreno nas proximidades" +msgstr "Examinar Terreno Próximo" #: lang/json/keybinding_from_json.py msgid "Advanced Inventory management" @@ -106424,11 +111819,11 @@ msgstr "" #: lang/json/keybinding_from_json.py msgid "Grab something nearby" -msgstr "Pegue algo nas proximidades" +msgstr "Pegar algo próximo" #: lang/json/keybinding_from_json.py msgid "Haul items along the ground" -msgstr "Itens de transporte ao longo do solo" +msgstr "Transportar itens pelo chão" #: lang/json/keybinding_from_json.py msgid "Zone activities" @@ -106436,7 +111831,7 @@ msgstr "Atividades de zona" #: lang/json/keybinding_from_json.py src/options.cpp msgid "Butcher" -msgstr "açougueiro" +msgstr "Carnear" #: lang/json/keybinding_from_json.py msgid "Chat with NPC" @@ -106444,11 +111839,15 @@ msgstr "Bate-papo com NPC" #: lang/json/keybinding_from_json.py src/game.cpp msgid "Look Around" -msgstr "Olhar em volta" +msgstr "Olhar em Volta" + +#: lang/json/keybinding_from_json.py +msgid "Toggle thief mode" +msgstr "" #: lang/json/keybinding_from_json.py msgid "Peek Around Corners" -msgstr "Espreite em torno dos cantos" +msgstr "Espiar em Torno de Esquina" #: lang/json/keybinding_from_json.py msgid "List all items around the player" @@ -106460,31 +111859,31 @@ msgstr "Gerenciar zonas" #: lang/json/keybinding_from_json.py msgid "Open Inventory" -msgstr "Inventário Aberto" +msgstr "Abrir Inventário" #: lang/json/keybinding_from_json.py msgid "Compare two Items" -msgstr "Compare dois itens" +msgstr "Comparar dois Itens" #: lang/json/keybinding_from_json.py src/game_inventory.cpp msgid "Swap Inventory Letters" -msgstr "Trocar cartas de inventário" +msgstr "Trocar Letras de Inventário" #: lang/json/keybinding_from_json.py msgid "Apply or Use Item" -msgstr "Aplicar ou usar item" +msgstr "Aplicar ou Usar Item" #: lang/json/keybinding_from_json.py msgid "Apply or Use Wielded Item" -msgstr "Aplicar ou usar item empunhado" +msgstr "Aplicar ou Usar Item Empunhado" #: lang/json/keybinding_from_json.py msgid "Wear Item" -msgstr "Item de desgaste" +msgstr "Vestir Item" #: lang/json/keybinding_from_json.py msgid "Take Off Worn Item" -msgstr "Retire o item desgastado" +msgstr "Remover Item Vestido" #: lang/json/keybinding_from_json.py msgid "Consume Item Menu" @@ -106492,11 +111891,11 @@ msgstr "" #: lang/json/keybinding_from_json.py msgid "Wield" -msgstr "Manejar" +msgstr "Empunhar" #: lang/json/keybinding_from_json.py msgid "Select Martial Arts Style" -msgstr "Selecione o estilo de artes marciais" +msgstr "Selecionar Estilo de Artes Marciais" #: lang/json/keybinding_from_json.py msgid "Reload Wielded Item" @@ -106504,55 +111903,55 @@ msgstr "Recarregar Item Empunhado" #: lang/json/keybinding_from_json.py msgid "Unload or Empty Wielded Item" -msgstr "Descarregar ou esvaziar item empunhado" +msgstr "Descarregar ou Esvaziar Item Empunhado" #: lang/json/keybinding_from_json.py msgid "Throw Item" -msgstr "Throw Item" +msgstr "Arremessar Item" #: lang/json/keybinding_from_json.py msgid "Blind Throw Item" -msgstr "Item de lance cego" +msgstr "Arremessar Item Cegamente" #: lang/json/keybinding_from_json.py msgid "Fire Wielded Item" -msgstr "Item Empunhado por Fogo" +msgstr "Disparar Item Empunhado" #: lang/json/keybinding_from_json.py msgid "Toggle attack mode of Wielded Item" -msgstr "Alternar o modo de ataque do Item empunhado" +msgstr "Alternar modo de ataque do Item empunhado" #: lang/json/keybinding_from_json.py msgid "Drop Item" -msgstr "Drop Item" +msgstr "Largar Item" #: lang/json/keybinding_from_json.py msgid "Drop Item to Adjacent Tile" -msgstr "Soltar Item para o Mosaico Adjacente" +msgstr "Largar Item no Espaço Adjacente" #: lang/json/keybinding_from_json.py msgid "View/Activate Bionics" -msgstr "Ver / Ativar Biônica" +msgstr "Ver/Ativar Biônicos" #: lang/json/keybinding_from_json.py msgid "View/Activate Mutations" -msgstr "Visualizar / Ativar Mutações" +msgstr "Ver/Ativar Mutações" #: lang/json/keybinding_from_json.py msgid "Re-layer armor/clothing" -msgstr "Re-camada de armadura / roupa" +msgstr "Alterar Camadas de armadura/roupa" #: lang/json/keybinding_from_json.py msgid "Wait for Several Minutes" -msgstr "Aguarde alguns minutos" +msgstr "Esperar Vários Minutos" #: lang/json/keybinding_from_json.py msgid "Craft Items" -msgstr "Itens de artesanato" +msgstr "Criar Itens" #: lang/json/keybinding_from_json.py src/iexamine.cpp msgid "Recraft last recipe" -msgstr "Recraft a última receita" +msgstr "Recriar Última Receita" #: lang/json/keybinding_from_json.py msgid "Construct Terrain" @@ -106568,7 +111967,7 @@ msgstr "Dormir" #: lang/json/keybinding_from_json.py msgid "Control Vehicle" -msgstr "Veículo de Controle" +msgstr "Controlar Veículo" #: lang/json/keybinding_from_json.py msgid "Toggle Auto Travel Mode" @@ -106576,31 +111975,31 @@ msgstr "" #: lang/json/keybinding_from_json.py msgid "Toggle Safe Mode" -msgstr "Alternar o modo de segurança" +msgstr "Alternar Modo de Segurança" #: lang/json/keybinding_from_json.py msgid "Ignore Nearby Enemy" -msgstr "Ignorar inimigo nas proximidades" +msgstr "Ignorar Inimigo Próximo" #: lang/json/keybinding_from_json.py msgid "Whitelist enemy" -msgstr "Inimigo Whitelist" +msgstr "Whitelist em Inimigo" #: lang/json/keybinding_from_json.py msgid "Save and Quit" -msgstr "Salvar e sair" +msgstr "Salvar e Sair" #: lang/json/keybinding_from_json.py msgid "Commit Suicide" -msgstr "Cometer suicídio" +msgstr "Cometer Suicídio" #: lang/json/keybinding_from_json.py msgid "View Player Info" -msgstr "Visualizar informações do jogador" +msgstr "Visualizar Informações do Jogador" #: lang/json/keybinding_from_json.py msgid "View Map" -msgstr "Ver mapa" +msgstr "Ver Mapa" #: lang/json/keybinding_from_json.py msgid "Look at the sky" @@ -106608,7 +112007,7 @@ msgstr "" #: lang/json/keybinding_from_json.py msgid "View Factions" -msgstr "Ver facções" +msgstr "Ver Facções" #: lang/json/keybinding_from_json.py msgid "View Scores" @@ -106616,15 +112015,15 @@ msgstr "" #: lang/json/keybinding_from_json.py msgid "View Morale" -msgstr "Ver moral" +msgstr "Ver Moral" #: lang/json/keybinding_from_json.py msgid "View Message Log" -msgstr "Exibir log de mensagens" +msgstr "Exibir Log de Mensagens" #: lang/json/keybinding_from_json.py msgid "View Help" -msgstr "Ver ajuda" +msgstr "Ver Ajuda" #: lang/json/keybinding_from_json.py msgid "Zoom In" @@ -106632,11 +112031,11 @@ msgstr "Mais Zoom" #: lang/json/keybinding_from_json.py msgid "Zoom Out" -msgstr "Reduzir o zoom" +msgstr "Menos Zoom" #: lang/json/keybinding_from_json.py msgid "Toggle Debug Mode" -msgstr "Alternar modo de depuração" +msgstr "Ativar Modo de Depuração" #: lang/json/keybinding_from_json.py msgid "Debug Menu" @@ -106654,21 +112053,25 @@ msgstr "" msgid "View Visibility Map" msgstr "" +#: lang/json/keybinding_from_json.py +msgid "View Lighting Map" +msgstr "" + #: lang/json/keybinding_from_json.py msgid "View Radiation Map" msgstr "" #: lang/json/keybinding_from_json.py msgid "Switch Sidebar Style" -msgstr "Mudar o estilo da barra lateral" +msgstr "Estilo da Barra Lateral" #: lang/json/keybinding_from_json.py msgid "Toggle Fullscreen mode" -msgstr "Alternar modo de tela cheia" +msgstr "Alternar Modo de Tela Cheia" #: lang/json/keybinding_from_json.py -msgid "Toggle Pixel Minimap" -msgstr "Alternar Minimapa Pixel" +msgid "Toggle Minimap" +msgstr "" #: lang/json/keybinding_from_json.py msgid "Toggle Panel Admin" @@ -106680,15 +112083,15 @@ msgstr "" #: lang/json/keybinding_from_json.py msgid "Reload Tileset" -msgstr "Recarregar o Tileset" +msgstr "Recarregar Tileset" #: lang/json/keybinding_from_json.py msgid "Toggle Auto Features" -msgstr "Alternar recursos automáticos" +msgstr "Alternar Recursos Automáticos" #: lang/json/keybinding_from_json.py msgid "Toggle Auto Pulp/Butcher" -msgstr "Toggle Auto Pulp / Açougueiro" +msgstr "Alternar Auto Pulp/Carnear" #: lang/json/keybinding_from_json.py msgid "Toggle Auto Mining" @@ -106696,7 +112099,7 @@ msgstr "Alternar Auto Mineração" #: lang/json/keybinding_from_json.py msgid "Toggle Auto Foraging" -msgstr "Toggle Auto Foraging" +msgstr "Alternar Auto Forragem" #: lang/json/keybinding_from_json.py msgid "Toggle Auto Pickup" @@ -106704,59 +112107,59 @@ msgstr "" #: lang/json/keybinding_from_json.py msgid "Action Menu" -msgstr "Menu Ação" +msgstr "Menu de Ações" #: lang/json/keybinding_from_json.py msgid "Item Action Menu" -msgstr "Menu de ação do item" +msgstr "Menu de Ações de Itens" #: lang/json/keybinding_from_json.py msgid "Quicksave" -msgstr "Salvamento rapido" +msgstr "Salvamento Rápido" #: lang/json/keybinding_from_json.py msgid "Quickload" -msgstr "Quickload" +msgstr "Carregamento Rápido" #: lang/json/keybinding_from_json.py msgid "Move View Northeast" -msgstr "Mover-se para o nordeste" +msgstr "Mover Vista para o Nordeste" #: lang/json/keybinding_from_json.py msgid "Move View Southeast" -msgstr "Mover a vista para o sudeste" +msgstr "Mover Vista para o Sudeste" #: lang/json/keybinding_from_json.py msgid "Move View Southwest" -msgstr "Mover a vista do sudoeste" +msgstr "Mover Vista para o Sudoeste" #: lang/json/keybinding_from_json.py msgid "Move View Northwest" -msgstr "Mover a vista noroeste" +msgstr "Mover Vista para o Noroeste" #: lang/json/keybinding_from_json.py msgid "Burst-Fire Wielded Item" -msgstr "Item Empunhado Contra Incêndio" +msgstr "Disparar Item Empunhado em Modo Burst-Fire" #: lang/json/keybinding_from_json.py src/iexamine.cpp msgid "Craft as long as possible" -msgstr "Craft o maior tempo possível" +msgstr "Criar pelo Máximo Possível" #: lang/json/keybinding_from_json.py msgid "Toggle Auto-Safemode" -msgstr "Toggle Auto-Safemode" +msgstr "Ativar Auto-Modo de Segurança" #: lang/json/keybinding_from_json.py msgid "Autoattack" -msgstr "autoattack" +msgstr "Auto Atacar" #: lang/json/keybinding_from_json.py msgid "Main Menu" -msgstr "Menu principal" +msgstr "Menu Principal" #: lang/json/keybinding_from_json.py src/input.cpp msgid "Keybindings" -msgstr "Combinações de teclas" +msgstr "Combinações de Teclas" #: lang/json/keybinding_from_json.py src/game.cpp msgid "Options" @@ -106764,7 +112167,7 @@ msgstr "Opções" #: lang/json/keybinding_from_json.py msgid "Autopickup manager" -msgstr "Gerente de Autopickup" +msgstr "Gerente de Auto-coleta" #: lang/json/keybinding_from_json.py msgid "Autonotes manager" @@ -106772,7 +112175,7 @@ msgstr "" #: lang/json/keybinding_from_json.py msgid "Safe Mode manager" -msgstr "Gerenciador de modo de segurança" +msgstr "Gerenciador de Modo de Segurança" #: lang/json/keybinding_from_json.py msgid "Color manager" @@ -106780,7 +112183,7 @@ msgstr "Gerenciador de cores" #: lang/json/keybinding_from_json.py msgid "Active World Mods" -msgstr "Modos Ativos do Mundo" +msgstr "Mods Ativos do Mundo" #: lang/json/keybinding_from_json.py msgid "Cycle move mode (run/walk/crouch)" @@ -106828,11 +112231,11 @@ msgstr "Alterar ordem de classificação" #: lang/json/keybinding_from_json.py msgid "Add to safemode blacklist" -msgstr "Adicionar à lista negra de safemode" +msgstr "Adicionar à lista negra do modo de segurança" #: lang/json/keybinding_from_json.py msgid "Remove from safemode blacklist" -msgstr "Remover da lista negra de safemode" +msgstr "Remover da lista negra do modo de segurança" #: lang/json/keybinding_from_json.py msgid "look around" @@ -106858,11 +112261,11 @@ msgstr "Mover cursor para baixo" #: lang/json/keybinding_from_json.py msgid "Exit this keybinding screen" -msgstr "Saia desta tela de teclas" +msgstr "Sair desta tela de atalhos de teclas" #: lang/json/keybinding_from_json.py msgid "Remove bindings" -msgstr "Remover ligações" +msgstr "Remover atalhos de teclado" #: lang/json/keybinding_from_json.py msgid "Add local keybinding" @@ -106882,7 +112285,7 @@ msgstr "Remover zona" #: lang/json/keybinding_from_json.py msgid "Move zone up" -msgstr "Mova a zona para cima" +msgstr "Mover a zona para cima" #: lang/json/keybinding_from_json.py msgid "Move zone down" @@ -106906,15 +112309,15 @@ msgstr "Mostrar todas as zonas / ocultar zonas distantes" #: lang/json/keybinding_from_json.py msgid "Select left inventory" -msgstr "Selecione o inventário da esquerda" +msgstr "Selecionar o inventário da esquerda" #: lang/json/keybinding_from_json.py msgid "Select right inventory" -msgstr "Selecione o inventário certo" +msgstr "Selecionar o inventário da direita" #: lang/json/keybinding_from_json.py msgid "Toggle tab" -msgstr "Guia de alternância" +msgstr "Alternar aba" #: lang/json/keybinding_from_json.py msgid "Toggle vehicle" @@ -106922,7 +112325,7 @@ msgstr "Alternar veículo" #: lang/json/keybinding_from_json.py msgid "Toggle auto-pickup for item" -msgstr "Alternar auto-pickup para item" +msgstr "Alternar auto-coleta para item" #: lang/json/keybinding_from_json.py msgid "Change sorting mode" @@ -106934,7 +112337,7 @@ msgstr "Mover um único item" #: lang/json/keybinding_from_json.py msgid "Move an amount of item" -msgstr "Mover uma quantidade de item" +msgstr "Mover uma quantidade do item" #: lang/json/keybinding_from_json.py msgid "Move item stack" @@ -106950,39 +112353,39 @@ msgstr "" #: lang/json/keybinding_from_json.py msgid "Select items @ North-West" -msgstr "Selecione os itens @ North-West" +msgstr "Selecione os itens @ Noroeste" #: lang/json/keybinding_from_json.py msgid "Select items @ North" -msgstr "Selecione os itens @ North" +msgstr "Selecione os itens @ Norte" #: lang/json/keybinding_from_json.py msgid "Select items @ North-East" -msgstr "Selecione os itens @ North-East" +msgstr "Selecione os itens @ Nordeste" #: lang/json/keybinding_from_json.py msgid "Select items @ West" -msgstr "Selecione os itens @ West" +msgstr "Selecione os itens @ Oeste" #: lang/json/keybinding_from_json.py msgid "Select items @ center" -msgstr "Selecione itens @ center" +msgstr "Selecione itens @ Centro" #: lang/json/keybinding_from_json.py msgid "Select items @ East" -msgstr "Selecione os itens @ East" +msgstr "Selecione os itens @ Leste" #: lang/json/keybinding_from_json.py msgid "Select items @ South-West" -msgstr "Selecione os itens @ South-West" +msgstr "Selecione os itens @ Sudoeste" #: lang/json/keybinding_from_json.py msgid "Select items @ South" -msgstr "Selecione os itens @ South" +msgstr "Selecione os itens @ Sul" #: lang/json/keybinding_from_json.py msgid "Select items @ South-East" -msgstr "Selecione os itens @ South-East" +msgstr "Selecione os itens @ Sudeste" #: lang/json/keybinding_from_json.py msgid "Select items in inventory" @@ -107024,6 +112427,7 @@ msgstr "Remover cor personalizada" msgid "Load color template" msgstr "Carregar modelo de cor" +#. ~ translation should not exceed 3 console cells #: lang/json/keybinding_from_json.py lang/json/keybinding_from_json.py #: src/editmap.cpp src/editmap.cpp src/editmap.cpp src/veh_interact.cpp msgid "Yes" @@ -107069,7 +112473,7 @@ msgstr "Liberar controles" #: lang/json/keybinding_from_json.py msgid "Sound horn" -msgstr "Buzina de som" +msgstr "Soar buzina" #: lang/json/keybinding_from_json.py msgid "Toggle aisle lights" @@ -107083,9 +112487,13 @@ msgstr "Alternar alarme" msgid "Toggle atomic lights" msgstr "Alternar luzes atômicas" +#: lang/json/keybinding_from_json.py +msgid "Control autopiot" +msgstr "" + #: lang/json/keybinding_from_json.py msgid "Toggle camera system" -msgstr "Alternar sistema de câmera" +msgstr "Alternar sistema de câmeras" #: lang/json/keybinding_from_json.py msgid "Toggle chimes" @@ -107093,7 +112501,7 @@ msgstr "Alternar sinos" #: lang/json/keybinding_from_json.py msgid "Toggle cruise control" -msgstr "Alternar cruise control" +msgstr "Alternar piloto automático" #: lang/json/keybinding_from_json.py msgid "Toggle dome lights" @@ -107105,11 +112513,11 @@ msgstr "Alternar portas" #: lang/json/keybinding_from_json.py msgid "Toggle engine" -msgstr "Toggle engine" +msgstr "Alternar motor" #: lang/json/keybinding_from_json.py msgid "Toggle fridge" -msgstr "Refrigerador" +msgstr "Alternar geladeira" #: lang/json/keybinding_from_json.py msgid "Toggle freezer" @@ -107121,11 +112529,11 @@ msgstr "Alternar faróis" #: lang/json/keybinding_from_json.py msgid "Toggle wide-angle headlights" -msgstr "Alternar faróis de grande angular" +msgstr "Alternar faróis largos" #: lang/json/keybinding_from_json.py msgid "Toggle directional overhead lights" -msgstr "Alternar luzes indiretas direcionais" +msgstr "Alternar luzes suspensas direcionais" #: lang/json/keybinding_from_json.py msgid "Toggle overhead lights" @@ -107133,31 +112541,31 @@ msgstr "Alternar luzes suspensas" #: lang/json/keybinding_from_json.py msgid "Toggle planter" -msgstr "Plantador de alternância" +msgstr "Alternar planteira" #: lang/json/keybinding_from_json.py msgid "Toggle plow" -msgstr "Arado de alavanca" +msgstr "Alternar arado" #: lang/json/keybinding_from_json.py msgid "Toggle reactor" -msgstr "Reator de alternância" +msgstr "Alternar reator" #: lang/json/keybinding_from_json.py msgid "Toggle reaper" -msgstr "Alternar Ceifador" +msgstr "Alternar ceifador" #: lang/json/keybinding_from_json.py msgid "Toggle recharger" -msgstr "Alternar recarga" +msgstr "Alternar recarregador" #: lang/json/keybinding_from_json.py msgid "Toggle scoop" -msgstr "Colher de alternância" +msgstr "Alternar colhedor" #: lang/json/keybinding_from_json.py msgid "Toggle stereo" -msgstr "Alternar estéreo" +msgstr "Alternar aparelho de som" #: lang/json/keybinding_from_json.py msgid "Toggle water purifiers" @@ -107173,19 +112581,19 @@ msgstr "Definir modos de disparo da torre" #: lang/json/keybinding_from_json.py src/vehicle_use.cpp msgid "Aim turrets manually" -msgstr "Aponte as torretas manualmente" +msgstr "Mirar torretas manualmente" #: lang/json/keybinding_from_json.py src/vehicle_use.cpp msgid "Aim automatic turrets" -msgstr "Aponte torres automáticas" +msgstr "Mirar torres automáticas" #: lang/json/keybinding_from_json.py src/vehicle_use.cpp msgid "Aim individual turret" -msgstr "Aponte torre individual" +msgstr "Mirar torre individual" #: lang/json/keybinding_from_json.py src/vehicle_use.cpp msgid "Set turret targeting modes" -msgstr "Definir modos de segmentação da torre" +msgstr "Definir modos de mira da torre" #: lang/json/map_extra_from_json.py src/character.cpp src/iuse_actor.cpp msgid "Nothing" @@ -107298,7 +112706,7 @@ msgstr "" #: lang/json/map_extra_from_json.py msgid "Helicopter Crash" -msgstr "Acidente de helicóptero" +msgstr "Acidente de Helicóptero" #. ~ Description for Helicopter Crash #: lang/json/map_extra_from_json.py @@ -107499,7 +112907,7 @@ msgstr "Banco Informatizado Consolidado do Tesouro" #. ~ Computer option #: lang/json/mapgen_from_json.py msgid "Open Vault" -msgstr "Cofre aberto" +msgstr "Cofre Aberto" #. ~ Computer name #: lang/json/mapgen_from_json.py @@ -107521,17 +112929,17 @@ msgstr "Fechado ao pôr do sol." #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Maintained by the church." -msgstr "Mantido pelo Igreja." +msgstr "Mantido pela Igreja de ." #. ~ Sign #: lang/json/mapgen_from_json.py msgid " Cemetery" -msgstr " Cemitério" +msgstr "Cemitério " #. ~ Sign #: lang/json/mapgen_from_json.py msgid " Cemetery" -msgstr " Cemitério" +msgstr "Cemitério " #. ~ Sign #: lang/json/mapgen_from_json.py @@ -107541,17 +112949,17 @@ msgstr "Por favor, respeite o cemitério" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "May and their family rest in peace" -msgstr "Maio e sua família descansa em paz" +msgstr "Que e sua família descansem em paz" #. ~ Sign #: lang/json/mapgen_from_json.py msgid " Family Cemetery" -msgstr " Cemitério da Família" +msgstr "Cemitério da Família ." #. ~ Computer name #: lang/json/mapgen_from_json.py msgid "Church Bells 1.2" -msgstr "Igreja Bels 1.2" +msgstr "Sinos de Igreja 1.2" #. ~ Computer option #: lang/json/mapgen_from_json.py @@ -107571,17 +112979,17 @@ msgstr "Pedágio Funeral" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Municipal City Dump" -msgstr "Depósito de cidade municipal" +msgstr "Aterro Municipal" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Caution: Work in Progress" -msgstr "Cuidado: trabalho em andamento" +msgstr "Atenção: Trabalho em Andamento" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Private Property: No Trespassing" -msgstr "Propriedade Privada: No Trespassing" +msgstr "Propriedade Privada" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -107591,7 +112999,7 @@ msgstr "Pneus com Desconto" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Dollar Store" -msgstr "Loja do dólar" +msgstr "Loja 1,99" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -107601,22 +113009,22 @@ msgstr "ABERTO 24/7!" #. ~ Sign #: lang/json/mapgen_from_json.py msgid " Dump" -msgstr " Despejo" +msgstr "Despejo " #. ~ Sign #: lang/json/mapgen_from_json.py msgid "DUMP" -msgstr "DESCARREGAR" +msgstr "DEJETOS" #. ~ Sign #: lang/json/mapgen_from_json.py msgid " Area Dump" -msgstr " Despejo de área" +msgstr "Despejo de Área de " #. ~ Sign #: lang/json/mapgen_from_json.py msgid "'s Tree Farm, call us at 555-8758!" -msgstr " Fazenda da Árvore, ligue para 555-8758!" +msgstr "Fazenda de Árvores , ligue para 555-8758!" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -107626,7 +113034,7 @@ msgstr "Árvores de Natal disponíveis no início do inverno!" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Welcome to Botanical Garden! Please stay on the path!" -msgstr "Bem-vindo ao Jardim Botânico! Por favor, fique no caminho!" +msgstr "Bem-vindo ao Jardim Botânico de ! Por favor, não pise na grama!" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -107641,7 +113049,7 @@ msgstr "PINHO" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "HICKORY" -msgstr "HICKORY" +msgstr "NOGUEIRA" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -107666,7 +113074,7 @@ msgstr "CAMOMILA" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "POPPY" -msgstr "PAPOILA" +msgstr "PAPOULA" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -107676,7 +113084,7 @@ msgstr "CACTO" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "DANDELION" -msgstr "DENTE DE CAMPO" +msgstr "DENTE DE LEÃO" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -107726,7 +113134,7 @@ msgstr "DÁLIA" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "CATTAIL" -msgstr "CATTAIL" +msgstr "TABÚAS" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -107766,7 +113174,7 @@ msgstr " Jardim Comunitário, cultive seus próprios vegetais!" #. ~ Sign #: lang/json/mapgen_from_json.py msgid " Public Garden" -msgstr " Jardim público" +msgstr "Jardim Público de " #. ~ Sign #: lang/json/mapgen_from_json.py @@ -107866,7 +113274,7 @@ msgstr "Centrífuga" #. ~ Computer option #: lang/json/mapgen_from_json.py msgid "Analyze blood" -msgstr "Analise o sangue" +msgstr "Analisar sangue" #. ~ Computer name #: lang/json/mapgen_from_json.py @@ -107956,7 +113364,7 @@ msgstr "" #. ~ Sign #: lang/json/mapgen_from_json.py msgid " Landfill" -msgstr " Aterro" +msgstr "Aterro " #. ~ Sign #: lang/json/mapgen_from_json.py @@ -107976,7 +113384,7 @@ msgstr "LOGS" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "STICKS" -msgstr "STICKS" +msgstr "GRAVETOS" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -107986,12 +113394,12 @@ msgstr "ARGILA" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "HAY" -msgstr "Existe" +msgstr "FENO" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "DIRT" -msgstr "SUJEIRA" +msgstr "TERRA" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -108011,29 +113419,30 @@ msgstr "FERTILIZANTE" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "ROCKS" -msgstr "ROCHAS" +msgstr "PEDRAS" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "BOULDERS and SLABS" -msgstr "PEDREIROS e SLABS" +msgstr "ROCHAS E LAJES" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "" "Empty lot, great for your small business! Call at 555-2117!" msgstr "" -" Lote vazio, ótimo para o seu pequeno negócio! Ligar no555-2117!" +" Lote vazio, ótimo para o seu pequeno negócio! Ligue para no " +"555-2117!" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Empty lot for sale!" -msgstr "Lote vazio para venda!" +msgstr "Lote vazio à venda!" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Call Family Realty at 555-3130!" -msgstr "Ligar Família Realty em 555-3130!" +msgstr "Ligue para Família Realty em 555-3130!" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -108048,7 +113457,7 @@ msgstr "Leste Realty!" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Lot for sale!" -msgstr "Lote para venda!" +msgstr "Lote à venda!" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -108058,17 +113467,17 @@ msgstr "Ligue para mais informações. 555-7723" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Private Property!" -msgstr "Propriedade privada!" +msgstr "Propriedade Privada!" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "NO Dumping!" -msgstr "NÃO Dumping!" +msgstr "NÃO jogar lixo!" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Cheap lot for sale! Call at 555-5151!" -msgstr "Muito barato para venda! Ligar em 555-5151!" +msgstr "Lote barato à venda! Ligue para em 555-5151!" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -108084,12 +113493,13 @@ msgstr "Ligar com Realty em 555-6288!" #: lang/json/mapgen_from_json.py msgid "Beautiful lot with some natural privacy! Call at 555-3927!" msgstr "" -" Lindo lote com alguma privacidade natural! Ligar em 555-3927!" +"Lindo lote com alguma privacidade natural! Ligue para em " +"555-3927!" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Property for sale, call Real Estate at 555-8255!" -msgstr "Imóvel para venda, ligue Imóveis em 555-8255!" +msgstr "Imóvel à venda, ligue para a Corretora em 555-8255!" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -108109,7 +113519,7 @@ msgstr " possuído a " #. ~ Sign #: lang/json/mapgen_from_json.py msgid ", , and were here!" -msgstr " , e estava aqui!" +msgstr " , e estiveram aqui!" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -108129,7 +113539,7 @@ msgstr "Controles de Mísseis" #. ~ Computer option #: lang/json/mapgen_from_json.py msgid "Launch Missile" -msgstr "Míssil de lançamento" +msgstr "Lançar Míssil" #. ~ Computer option #: lang/json/mapgen_from_json.py @@ -108142,8 +113552,8 @@ msgid "" "The mortuary name followed by a hastily written message that reads: 'I am " "not liable if your loved ones will not stay dead.'" msgstr "" -" O nome do necrotério seguido por uma mensagem escrita às pressas que " -"diz:\"Não sou responsável se seus entes queridos não ficarem mortos\"." +"O nome do necrotério seguido por uma mensagem escrita às pressas que diz: " +"\"Não sou responsável se seus entes queridos não ficarem mortos\"." #. ~ Sign #: lang/json/mapgen_from_json.py @@ -108158,37 +113568,37 @@ msgstr "Acesso a Suprimentos Médicos" #. ~ Computer option #: lang/json/mapgen_from_json.py msgid "Unlock Door" -msgstr "Destrave a porta" +msgstr "Destravar Porta" #. ~ Computer option #: lang/json/mapgen_from_json.py msgid "Lock Door" -msgstr "Porta de trava" +msgstr "Travar Porta" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Get Apples n Ciders!" -msgstr "Obter maçãs n Ciders!" +msgstr "Obtenha Maçãs & Cidras!" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Scoop the Poop!" -msgstr "Scoop the Poop!" +msgstr "Cate o Cocô!" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "DANGER! Doggy Minefield!" -msgstr "PERIGO! Minefield Doggy!" +msgstr "PERIGO! Campo minado de cãezinhos!" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Dog Park: Off Leash Area" -msgstr "Parque do cão: Fora da área da trela" +msgstr "Parque Canino: Área Sem Coleiras" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Watch your step!" -msgstr "Assista seu passo!" +msgstr "Olhe onde pisa!" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -108198,27 +113608,27 @@ msgstr "Use o parque por sua conta e risco." #. ~ Computer name #: lang/json/mapgen_from_json.py msgid "PolCom OS v1.47 - Supply Room Access" -msgstr "PolCom OS v1.47 - Acesso à sala de fornecimento" +msgstr "PolCom OS v1.47 - Acesso à Sala de Fornecimento" #. ~ Computer option #: lang/json/mapgen_from_json.py msgid "Unlock Supply Room" -msgstr "Desbloquear sala de suprimentos" +msgstr "Destrancar Sala de Suprimentos" #. ~ Computer name #: lang/json/mapgen_from_json.py msgid "PolCom OS v1.47 - Evidence Locker Access" -msgstr "PolCom OS v1.47 - Evidência Locker Access" +msgstr "PolCom OS v1.47 - Acesso ao Armário de Evidências" #. ~ Computer option #: lang/json/mapgen_from_json.py msgid "Unlock Evidence Locker" -msgstr "Desbloquear Evidência Locker" +msgstr "Destrancar Armário de Evidências" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "NO lifeguard on duty, swim at own risk!" -msgstr "SEM salva-vidas de plantão, nadar por conta e risco!" +msgstr "SEM salva-vidas de plantão, nadar por sua conta e risco!" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -108228,12 +113638,12 @@ msgstr "Nenhum salva-vidas trabalhando!" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "NO running!" -msgstr "NÃO correndo!" +msgstr "SEM correr!" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "MEN" -msgstr "MAS" +msgstr "HOMENS" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -108253,17 +113663,17 @@ msgstr "Mulheres" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Men" -msgstr "mas" +msgstr "Homens" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "NO Running!" -msgstr "NÃO correndo!" +msgstr "NÃO correr!" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "NO Diving!" -msgstr "Não mergulhe!" +msgstr "NÃO mergulhe!" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -108318,7 +113728,7 @@ msgstr " Reciclagem" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Drop off 7am to 6pm Monday thru Friday" -msgstr "Saia das 7h às 18h de segunda a sexta" +msgstr "Coleta das 7h às 18h de segunda a sexta" #. ~ Sign #: lang/json/mapgen_from_json.py @@ -108328,7 +113738,7 @@ msgstr " Reciclando" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Drop off 8am to 8pm, weekdays." -msgstr "Saia das 8h às 20h, nos dias úteis." +msgstr "Coleta das 8h às 20h, nos dias úteis." #. ~ Sign #: lang/json/mapgen_from_json.py @@ -108337,9 +113747,9 @@ msgid "" "eroded beyond usefulness. There are small holders for tourist maps " "attached." msgstr "" -" Este já foi um mapa de informações para o área, mas há muito " -"tempocorroída além de utilidade. Existem pequenos proprietários para " -"mapasturísticos em anexo." +" Este já foi um mapa de informações para a área de , mas o tempo já o " +"corroeu muito além da utilidade. Existem pequenos nichos para mapas " +"turísticos em anexo." #. ~ Sign #: lang/json/mapgen_from_json.py @@ -108355,8 +113765,7 @@ msgstr "Ampla seleção de baterias de armazenamento! Descontos!" #: lang/json/mapgen_from_json.py msgid "the name is gone but a slogan remains: 'We'll repair you all the way'" msgstr "" -" o nome desapareceu, mas permanece um slogan:'Vamos consertá-lo por todo o " -"caminho'" +"O nome desapareceu, mas permanece um slogan: 'Vamos consertá-lo até o fim'" #. ~ Computer name #: lang/json/mapgen_from_json.py @@ -108386,7 +113795,7 @@ msgstr "EnviroCom OS v2.03" #. ~ Computer option #: lang/json/mapgen_from_json.py msgid "Download Sewer Maps" -msgstr "Faça o download de mapas de esgoto" +msgstr "Baixar Mapas do Esgoto" #. ~ Computer option #: lang/json/mapgen_from_json.py @@ -108396,18 +113805,18 @@ msgstr "Divertir amostra" #. ~ Computer name #: lang/json/mapgen_from_json.py msgid "Evac shelter computer" -msgstr "Evac shelter computer" +msgstr "Computador do Abrigo de Evacuação" #. ~ Computer option #: lang/json/mapgen_from_json.py msgid "Emergency Message" -msgstr "Mensagem de emergência" +msgstr "Mensagem de Emergência" #. ~ Computer option #: lang/json/mapgen_from_json.py lang/json/mapgen_from_json.py #: lang/json/mission_def_from_json.py msgid "Disable External Power" -msgstr "Desativar energia externa" +msgstr "Desativar Energia Externa" #. ~ Computer option #: lang/json/mapgen_from_json.py @@ -108417,42 +113826,42 @@ msgstr "Contate-Nos" #. ~ Sign #: lang/json/mapgen_from_json.py msgid " Family Shooting Range" -msgstr " Faixa de tiro familiar" +msgstr "Estande de Tiro da Família" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "Open sunrise to sunset, everyday besides Sundays" -msgstr "Abra o nascer do sol ao pôr do sol, todos os dias, além dos domingos" +msgstr "Abre do nascer do sol ao pôr do sol, todos os dias exceto domingos" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "5 YARDS" -msgstr "5 YARDS" +msgstr "5 JARDAS" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "10 YARDS" -msgstr "10 YARDS" +msgstr "10 JARDAS" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "15 YARDS" -msgstr "15 YARDS" +msgstr "15 JARDAS" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "20 YARDS" -msgstr "20 jardas" +msgstr "20 JARDAS" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "25 YARDS" -msgstr "25 YARDS" +msgstr "25 JARDAS" #. ~ Sign #: lang/json/mapgen_from_json.py msgid "30 YARDS" -msgstr "30 YARDS" +msgstr "30 JARDAS" #. ~ Computer name #: lang/json/mapgen_from_json.py @@ -109396,55 +114805,158 @@ msgid "" msgstr "" #: lang/json/martial_art_from_json.py -msgid "Tai Chi" -msgstr "Tai chi" +msgid "Pankration" +msgstr "Pankration" -#. ~ Description for martial art 'Tai Chi' +#. ~ Description for martial art 'Pankration' #: lang/json/martial_art_from_json.py msgid "" -"Though Tai Chi is often seen as a form of mental and physical exercise, it " -"is a legitimate martial art, focused on self-defense. Its ability to absorb" -" the force of an attack makes your Perception decrease damage further on a " -"block." +"An ancient Greek martial art once used by the Spartans. It combines boxing " +"and wrestling techniques to create a brutal sport, though modern revival of " +"the art is less of no-holds-barred in nature." msgstr "" -" Embora o Tai Chi seja freqüentemente visto como uma forma de " -"exercíciomental e físico, é uma arte marcial legítima, focada na autodefesa." -" Suacapacidade de absorver a força de um ataque faz com que sua " -"Percepçãodiminua o dano ainda mais em um bloco." -#. ~ Description of buff for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py -msgid "+1 Block. Perception decreases damage when blocking." -msgstr "+1 bloco. Percepção diminui o dano ao bloquear." +msgid "Close Combat" +msgstr "" +#. ~ Description of buff 'Close Combat' for martial art 'Pankration' #: lang/json/martial_art_from_json.py -msgid "Pankration" -msgstr "Pankration" +#, no-python-format +msgid "" +"You got your opponent right where you want them!\n" +"\n" +"+20%% bash damage.\n" +"Lasts 1 turn." +msgstr "" -#. ~ Description for martial art 'Pankration' +#. ~ Description of buff 'Counter Chance' for martial art 'Pankration' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"An ancient Greek martial art, combining boxing and wrestling techniques to " -"create a brutal sport, though modern revival of the art is less of no-holds-" -"barred in nature." +"The enemy has presented an opening in their defense.\n" +"+10%% bash damage. Enables \"Close Combat\" buff.\n" +"Lasts 1 turn." msgstr "" -" Uma antiga arte marcial grega, combinando técnicas de boxe e wrestling " -"paracriar um esporte brutal, embora a revitalização moderna da arte seja " -"menospreterida na natureza." #: lang/json/martial_art_from_json.py -msgid "Grappling" -msgstr "Grappling" +msgid "Silat" +msgstr "Silat" -#. ~ Description of buff 'Grappling' for martial art 'Pankration' +#. ~ Description for martial art 'Silat' #: lang/json/martial_art_from_json.py -msgid "I have you now!" -msgstr "Eu te tenho agora!" +msgid "" +"Pentjak Silat, of Indonesian origin, is a fighting style that covers the use" +" of short blades and bludgeons. Fighters stay low and mobile to avoid " +"attacks, then unleash deadly critical hits." +msgstr "" +" O Pentjak Silat, de origem indonésia, é um estilo de luta que abrange o " +"usode lâminas curtas e cacetes. Os lutadores ficam baixos e com " +"mobilidadepara evitar ataques, e depois acertam ataques críticos mortais." -#. ~ Description of buff 'Counter Chance' for martial art 'Pankration' #: lang/json/martial_art_from_json.py -msgid "The enemy has presented an opening in their defense." -msgstr "O inimigo apresentou uma abertura em sua defesa." +msgid "Silat Stance" +msgstr "Postura de Silat" + +#. ~ Description of buff 'Silat Stance' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +msgid "" +"You try to stay loose as possible when fighting to have more chances to dodge.\n" +"\n" +"+1 Dodge attempts." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Silat Evasion" +msgstr "" + +#. ~ Description of buff 'Silat Evasion' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +msgid "" +"You stay low as you move, making it harder for enemies to pin you down.\n" +"\n" +"+1 Dodge attempts.\n" +"Lasts 2 turn." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Silat Appraisal" +msgstr "" + +#. ~ Description of buff 'Silat Appraisal' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Each time you dodge an attack, you learn a bit more about your opponents' fighting style. This allows you to make more precise attacks against them.\n" +"\n" +"Accuracy increased by 15%% of Dexterirty.\n" +"Lasts 2 turns. Stacks 3 times." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Snake Kung Fu" +msgstr "Cobra Kung Fu" + +#. ~ Description for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +msgid "" +"One of the five Shaolin animal styles. The Snake focuses on sinuous " +"movement and precision strikes. Perception determines your Accuracy, rather" +" than Dexterity. Standing still will increases your accuracy and damage of " +"your next attack." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Snake's Sight" +msgstr "" + +#. ~ Description of buff 'Snake's Sight' for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You are patient and know where to hit your opponent for the best results.\n" +"\n" +"Perception increases Accuracy instead of Dexterity. Accuracy increased by 25%% of Perception but decreased by 25%% of Dexterity." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "Sōjutsu" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat. Standing still gives you an extra block " +"attempt but moving will briefly increase your damage." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "Postura de Sōjutsu" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Your training grants better defense while using a polearm.\n" +"\n" +"+1 Block attempt." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Superior Positioning" +msgstr "" + +#. ~ Description of buff 'Superior Positioning' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You have given up your defenses for a moment to increase the damage of your attacks.\n" +"\n" +"+10%% damage, -1 Block attempts.\n" +"Lasts 1 turn." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Taekwondo" @@ -109456,84 +114968,75 @@ msgid "" "Taekwondo is the national sport of Korea, and was used by the South Korean " "army in the 20th century. Focused on kicks and so it does not benefit from " "wielded weapons. It also includes strength training; your blocks absorb " -"extra damage the stronger you are." +"extra damage and your attacks do more damage if you are not holding " +"anything." msgstr "" -" Taekwondo é o esporte nacional da Coréia e foi usado pelo exército sul- " -"coreano no século XX. Focado em chutes e por isso não se beneficia de " -"armasempunhadas. Também inclui treinamento de força; seus blocos absorvem " -"danoextra quanto mais forte você é." -#. ~ Description of buff for martial art 'Taekwondo' #: lang/json/martial_art_from_json.py -msgid "Strength decreases damage when blocking." -msgstr "Força diminui o dano ao bloquear." - -#: lang/json/martial_art_from_json.py -msgid "Zui Quan" -msgstr "Zui Quan" +msgid "Taekwondo Stance" +msgstr "" -#. ~ Description for martial art 'Zui Quan' +#. ~ Description of buff 'Taekwondo Stance' for martial art 'Taekwondo' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" -" the enemy, giving you a passive dodge bonus based on your intelligence. " -"The turn after you attack, you may dodge any number of attacks with no " -"penalty, and successfully dodging an attack gives you bonus damage and to-" -"hit based on your intelligence." -msgstr "" -" AKA 'boxe bêbado', Zui Quan imita o movimento de um bêbado paraconfundir o " -"inimigo, dando-lhe um bônus de esquiva passivo baseado em suainteligência. O" -" turno depois de você atacar, você pode evitar qualquernúmero de ataques sem" -" penalidade, e se esquivar com sucesso de um ataquelhe dá um bônus de dano e" -" dano baseado em sua inteligência." - -#. ~ Description of buff for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "Intelligence increases dodging ability" -msgstr "Inteligência aumenta a habilidade de esquiva" +"Using your legs to attack allows your hands to be free for better defense.\n" +"\n" +"Blocked damage decreased by 50%% of Strength." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Counter Strike" -msgstr "Contra-ataque" +msgid "Unhindered" +msgstr "" -#. ~ Description of buff 'Counter Strike' for martial art 'Zui Quan' +#. ~ Description of buff 'Unhindered' for martial art 'Taekwondo' #: lang/json/martial_art_from_json.py -msgid "Extra damage and to-hit after successful dodge" -msgstr "Dano extra e dano após a esquiva bem sucedida" +#, no-python-format +msgid "" +"Your attacks are stronger if you are not holding anything in your hands.\n" +"\n" +"+33%% bash damage when not using a weapon." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Silat" -msgstr "Silat" +msgid "Tai Chi" +msgstr "Tai chi" -#. ~ Description for martial art 'Silat' +#. ~ Description for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py msgid "" -"Pentjak Silat, of Indonesian origin, is a fighting style that covers the use" -" of short blades and bludgeons. Fighters stay low and mobile to avoid " -"attacks, then unleash deadly critical hits." +"Though Tai Chi is often seen as a form of mental and physical exercise, it " +"is a legitimate martial art, focused on self-defense. Its ability to absorb" +" the force of an attack makes your Perception decrease damage further on a " +"block. Pausing for a moment enables powerful palm strike techniques." msgstr "" -" O Pentjak Silat, de origem indonésia, é um estilo de luta que abrange o " -"usode lâminas curtas e cacetes. Os lutadores ficam baixos e com " -"mobilidadepara evitar ataques, e depois acertam ataques críticos mortais." #: lang/json/martial_art_from_json.py -msgid "Silat Stance" -msgstr "Postura de Silat" +msgid "Tai Chi Stance" +msgstr "" -#. ~ Description of buff 'Silat Stance' for martial art 'Silat' -#. ~ Description of buff 'Schatten Folgen' for martial art 'Panzer Kunst' +#. ~ Description of buff 'Tai Chi Stance' for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py -msgid "+1 dodge" -msgstr "+1 esquiva" +#, no-python-format +msgid "" +"You are focused of defense and predicting your opponents attacks.\n" +"\n" +"+1 Block attempts, blocked damage reduced by 100%% Perception." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Silat Counter" -msgstr "Contador de Silat" +msgid "Repulse the Monkey" +msgstr "" -#. ~ Description of buff 'Silat Counter' for martial art 'Silat' +#. ~ Description of buff 'Repulse the Monkey' for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py -msgid "Extra to-hit after successful dodge" -msgstr "Extra to-hit após esquiva bem sucedida" +#, no-python-format +msgid "" +"By perfectly positioning yourself and your opponent, you have become more accurate and can bypass your opponent's defenses.\n" +"\n" +"Accuracy increased by 20%% of Perception, gain bash Armor Pentration equal to 50%% of Perception.\n" +"Lasts 2 turns." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Tiger Kung Fu" @@ -109556,119 +115059,160 @@ msgstr "Fúria do Tigre" #. ~ Description of buff 'Tiger Fury' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+3 Bash/atk" -msgstr "+3 Bash / atk" +#, no-python-format +msgid "" +"You attack with an endless barrage of strikes. The more you hit, the stronger you become.\n" +"\n" +"+10%% damage.\n" +"Lasts 3 turns. Stacks 4 times." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Tiger Strength" -msgstr "Força do Tigre" +msgid "Tiger's Strength" +msgstr "" -#. ~ Description of buff 'Tiger Strength' for martial art 'Tiger Kung Fu' +#. ~ Description of buff 'Tiger's Strength' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Strength provides additional damage bonus." -msgstr "Força fornece bônus de dano adicional." +#, no-python-format +msgid "" +"You do not need defense. You do not need a plan. You need strength. Strength will break your opponents' defenses and overwhelm them completely.\n" +"\n" +"Strength increases Accuracy instead of Dexterity.\n" +"\n" +"Accuracy increased by 25%% of Strength but decreased by 25%% of Dexterity." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Snake Kung Fu" -msgstr "Cobra Kung Fu" +msgid "Wing Chun" +msgstr "" -#. ~ Description for martial art 'Snake Kung Fu' +#. ~ Description for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py msgid "" -"One of the five Shaolin animal styles. The Snake focuses on sinuous " -"movement and precision strikes. Your Perception improves your damage." +"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" +"learn effective techniques from the various Shaolin animal forms. It has a " +"high stance, with weight entirely on the rear leg. Wing Chun focuses on " +"sensitivity to the opponent's direction of force, and flowing around it to " +"get back to hitting." msgstr "" -" Um dos cinco estilos de animais Shaolin. A Cobra se concentra em " -"movimentosinuoso e ataques de precisão. Sua percepção melhora seu dano." #: lang/json/martial_art_from_json.py -msgid "Snake Sight" -msgstr "Visão de cobra" +msgid "Chain Punch" +msgstr "" -#. ~ Description of buff 'Snake Sight' for martial art 'Snake Kung Fu' +#. ~ Description of buff 'Chain Punch' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "Perception provides a bonus to damage." -msgstr "Percepção fornece um bônus ao dano." +#, no-python-format +msgid "" +"Your punches are properly timed to give your opponent no rest from your strikes.\n" +"\n" +"-10%% move cost.\n" +"Lasts 1 turn. Stacks 3 times." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Debug Mastery" -msgstr "Debug Mastery" +msgid "Chi-Sao Sensitivity" +msgstr "" -#. ~ Description for martial art 'Debug Mastery' +#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "A secret martial art used only by developers and cheaters." +#, no-python-format +msgid "" +"You have a greater understanding of balance and technique. This gives you a better chance to avoid your opponent's attacks.\n" +"\n" +" Dodging Skill increased by 15%% of Perception. Blocked damage reduced by 50%% of Perception." msgstr "" -" Uma arte marcial secreta usada apenas por desenvolvedores e trapaceiros." #: lang/json/martial_art_from_json.py -msgid "Elemental resistance" -msgstr "Resistência elementar" +msgid "Zui Quan" +msgstr "Zui Quan" -#. ~ Description of buff 'Elemental resistance' for martial art 'Debug -#. Mastery' +#. ~ Description for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py msgid "" -"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " -"armor, +Perception fire armor." +"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" +" the enemy. You gain a passive dodge bonus and accuracy bonus based on your" +" intelligence. Moving gives you additional dodge attempts and each time you" +" dodge, you inflict more damage with your counterattack for until the end of" +" your next turn." msgstr "" -" + Armadura de força, + Armadura de ácido de destreza, + Armadura " -"deeletricidade de inteligência, + Armadura de fogo de percepção." #: lang/json/martial_art_from_json.py -msgid "Sōjutsu" -msgstr "Sōjutsu" +msgid "Zui Quan Stance" +msgstr "" -#. ~ Description for martial art 'Sōjutsu' +#. ~ Description of buff 'Zui Quan Stance' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " -"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " -"to maintain advantage in combat." +"Others might think you stumble about at random but you know better. Each movement is calculated to make evading harm easier.\n" +"\n" +"Dodging Skill increased by 15%% of Intelligence." msgstr "" -" Sōjutsu, 'O Caminho da Lança', é a arte marcial japonesa de lutarcom uma " -"lança. Sōjutsu se concentra em manter os adversários a distância, afim de " -"manter a vantagem em combate." #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Stance" -msgstr "Postura de Sōjutsu" +msgid "Advanced Zui Quan" +msgstr "" -#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#. ~ Description of buff 'Advanced Zui Quan' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Bonus block with reach weapons while standing still" -msgstr "Bloqueio bônus com armas de alcance em pé" +#, no-python-format +msgid "" +"You have a greater understanding of Zui Quan. Your skills at dodging and landing attacks are much better as a result.\n" +"\n" +"+1 Dodge attempts, Accuracy increased by 15%% of Intelligence." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Rush" -msgstr "Sōjutsu Rush" +msgid "Drunken Stumble" +msgstr "" -#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#. ~ Description of buff 'Drunken Stumble' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Increased damage when moving but no bonus block" -msgstr "Dano aumentado ao mover-se mas nenhum bloco de bônus" +msgid "" +"With a few quick steps, you can completely change your orientation and dodge additional attacks.\n" +"\n" +"+2 Dodge attempts.\n" +"Lasts 3 turns." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Wing Chun" +msgid "Drunken Dodging" msgstr "" -#. ~ Description for martial art 'Wing Chun' +#. ~ Description of buff 'Drunken Dodging' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" -"learn effective techniques from the various Shaolin animal forms. It has a " -"high stance, with weight entirely on the rear leg. Wing Chun focuses on " -"sensitivity to the opponent's direction of force, and flowing around it to " -"get back to hitting." +"Each time you dodge, your positional advantage increases against your opponents. This makes your attacks hit harder with each successful dodge.\n" +"\n" +"Gain Armor Penetration equal to 25%% of Intelligence.\n" +"Lasts 1 turn. Stacks 4 times." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Chi-Sao Sensitivity" +msgid "Debug Mastery" +msgstr "Debug Mastery" + +#. ~ Description for martial art 'Debug Mastery' +#: lang/json/martial_art_from_json.py +msgid "A secret martial art used only by developers and cheaters." msgstr "" +" Uma arte marcial secreta usada apenas por desenvolvedores e trapaceiros." -#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "Perception increases dodging ability, +1 dodges per turn" +msgid "Elemental resistance" +msgstr "Resistência elementar" + +#. ~ Description of buff 'Elemental resistance' for martial art 'Debug +#. Mastery' +#: lang/json/martial_art_from_json.py +msgid "" +"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " +"armor, +Perception fire armor." msgstr "" +" + Armadura de força, + Armadura de ácido de destreza, + Armadura " +"deeletricidade de inteligência, + Armadura de fogo de percepção." #: lang/json/martial_art_from_json.py msgid "Bionic Combatives" @@ -109782,22 +115326,39 @@ msgstr "Escorpião Kung Fu" #. ~ Description for martial art 'Scorpion Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"One of the Five Deadly Venoms. Scorpion Style is a mysterious art which " -"uses pincer-like hands and a stinger kick. Critical hits do massive damage " -"and knock your target back." +"One of the Five Deadly Venoms, used by Gao Ji. Scorpion Style is a " +"mysterious art which uses pincer-like hands and a stinger kick. Moving " +"enables a stunning pincer attack. Critical hits do massive damage and knock" +" your opponent back along with anyone your opponent comes in contact with." msgstr "" -" Um dos cinco venenos mortais. Scorpion Style é uma arte misteriosa que " -"usamãos em forma de pinça e um pontapé de ferrão. Acertos críticos causam " -"danomassivo e derrubam seu alvo." #: lang/json/martial_art_from_json.py -msgid "Scorpion Venom" -msgstr "Veneno de escorpião" +msgid "Scorpion's Venom" +msgstr "" + +#. ~ Description of buff 'Scorpion's Venom' for martial art 'Scorpion Kung Fu' +#: lang/json/martial_art_from_json.py +msgid "" +"Your venom is a constant threat that nothing can escape from.\n" +"\n" +"+2 bashing damage." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Scorpion's Charge" +msgstr "" -#. ~ Description of buff 'Scorpion Venom' for martial art 'Scorpion Kung Fu' +#. ~ Description of buff 'Scorpion's Charge' for martial art 'Scorpion Kung +#. Fu' #: lang/json/martial_art_from_json.py -msgid "+2 bashing damage." -msgstr "+2 dano por contusão." +#, no-python-format +msgid "" +"Rush foward and catch your prey!\n" +"\n" +"+10% damage.\n" +"Enables \"Pincer Strike\" technique.\n" +"Stacks 2 times. Lasts 2 turns." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Toad Kung Fu" @@ -109806,13 +115367,11 @@ msgstr "Sapo Kung Fu" #. ~ Description for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"One of the Five Deadly Venoms. Masters of Toad Style can focus themselves " -"against all attacks. You can meditate by pausing, giving you armor, though " -"you will lose focus when you move." +"One of the Five Deadly Venoms, used by Liang Shen. Masters of Toad Style " +"can focus themselves to protect against all attacks. You have powerful " +"armor against physical attacks, though you will lose focus when you move. " +"You can meditate by pausing, giving yourself more armor for a short time." msgstr "" -" Um dos cinco venenos mortais. Masters of Toad Style podem se " -"concentrarcontra todos os ataques. Você pode meditar fazendo uma pausa, " -"dando-lhe umaarmadura, mas você perderá o foco quando se mexer." #: lang/json/martial_art_from_json.py msgid "Toad's Iron Skin" @@ -109820,8 +115379,11 @@ msgstr "Pele de Ferro do Sapo" #. ~ Description of buff 'Toad's Iron Skin' for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Gain up to +6 armor while standing still" -msgstr "Ganhe até +6 de armadura enquanto estiver parado" +msgid "" +"Your body is as strong as iron but only if you don't move.\n" +"\n" +"+6 bash, cut, and stab armor." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Iron Skin Dissipation" @@ -109830,8 +115392,12 @@ msgstr "Dissipação da pele de ferro" #. ~ Description of buff 'Iron Skin Dissipation' for martial art 'Toad Kung #. Fu' #: lang/json/martial_art_from_json.py -msgid "Iron Skin softens when you move!" -msgstr "Pele de ferro suaviza quando você se move!" +msgid "" +"Moving causes you to lose your iron skin.\n" +"\n" +"-1 bash, cut, and stab armor.\n" +"Lasts 6 turns. Stacks 6 times." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Viper Kung Fu" @@ -109840,40 +115406,49 @@ msgstr "Víbora Kung Fu" #. ~ Description for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"A legacy of the Five Deadly Venoms. Viper Style has a unique three-part " -"combo, which initiates on a dodge, then counters with a stunning chop and " -"the legendary Viper Strike." +"A legacy of the Five Deadly Venoms, use by Qi Dong. Viper Style (originally" +" called Snake Style) has a unique three-part combo, which initiates on a " +"dodge, then follows up with a stunning Viper Bite and then finishes with the" +" legendary Viper Strike." msgstr "" -" Um legado dos cinco venenos mortais. O Viper Style tem uma combinação " -"únicade três partes, que inicia em um dodge, e então conta com um " -"chopimpressionante e o lendário Viper Strike." #: lang/json/martial_art_from_json.py -msgid "Viper Lock" -msgstr "Viper Lock" +msgid "Viper's Patience" +msgstr "" -#. ~ Description of buff 'Viper Lock' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Patience' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You bit true! Your next attack will be the Viper Strike!" -msgstr "Você mordeu a verdade! Seu próximo ataque será o Viper Strike!" +msgid "" +"Every snake waits for the perfect moment to strike. Turn your opponents' mistakes into your opportunity to strike!\n" +"\n" +"+1.0 Dodge skill." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Patience" -msgstr "Viper Patience" +msgid "Viper's Ambush" +msgstr "" -#. ~ Description of buff 'Viper Patience' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Ambush' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+2 Dodge. Dodging an attack initiates a combo." -msgstr "+2 de esquiva. Esquivando-se de um ataque inicia um combo." +msgid "" +"Your evasiveness has left your opponent wide open to painful bite.\n" +"\n" +"Enables \"Viper Bite\" technique.\n" +"Lasts 1 turn." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Ambush" -msgstr "Viper Emboscada" +msgid "Viper's Venom" +msgstr "" -#. ~ Description of buff 'Viper Ambush' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Venom' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You've lured 'em in! Your next attack will be a Viper Bite." -msgstr "Você os atraiu! Seu próximo ataque será um Viper Bite." +msgid "" +"Your venom is a harsh reminder to never tease a predator.\n" +"\n" +"+2 bash damage.\n" +"Lasts 3 turn." +msgstr "" #: lang/json/martial_art_from_json.py msgid "C.R.I.T Blade-work" @@ -109978,53 +115553,58 @@ msgstr "" #. ~ Description for martial art 'Panzer Kunst' #: lang/json/martial_art_from_json.py msgid "" -"A futuristic martial art devised for cyborgs fighting in zero-gravity " -"environments." +"Panzer Kunst or \"Armor Art\" is a futuristic martial art devised for " +"cyborgs fighting in zero-gravity environments." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Verschlag" +msgid "Schatten Folgen" msgstr "" -#. ~ Description of buff 'Verschlag' for martial art 'Panzer Kunst' +#. ~ Description of buff 'Schatten Folgen' for martial art 'Panzer Kunst' #: lang/json/martial_art_from_json.py -msgid "You have imparted a powerful shockwave to your enemy" +#, no-python-format +msgid "" +"\"Shadow Tracking\"\n" +"As a künstler, you are trained to stay in your target's blind spot.\n" +"\n" +"+1 Dodge attemps, Dodge Skill increased by 12%% of Perception." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Schatten Folgen" +msgid "Einzug Rüstungen" msgstr "" +#. ~ Description of buff 'Einzug Rüstungen' for martial art 'Panzer Kunst' #: lang/json/martial_art_from_json.py -msgid "Einsatzrhythmen" +msgid "" +"\"Armor Penetration\"\n" +"By attuning to the rhythm of your opponent, you can strike where their guard is the weakest.\n" +"+5 bash Armor Penetration.\n" +"Lasts 2 turns." msgstr "" -#. ~ Description of buff 'Einsatzrhythmen' for martial art 'Panzer Kunst' #: lang/json/martial_art_from_json.py -msgid "Perception increases dodging ability, +1 block" +msgid "Sojutsu" msgstr "" #: lang/json/material_from_json.py src/bionics.cpp msgid "Alcohol" msgstr "Álcool" -#: lang/json/material_from_json.py lang/json/material_from_json.py -#: src/material.cpp +#: lang/json/material_from_json.py src/material.cpp msgid "damaged" msgstr "danificado" -#: lang/json/material_from_json.py lang/json/material_from_json.py -#: src/material.cpp +#: lang/json/material_from_json.py src/material.cpp msgid "lightly damaged" msgstr "levemente danificado" -#: lang/json/material_from_json.py lang/json/material_from_json.py -#: src/material.cpp +#: lang/json/material_from_json.py src/material.cpp msgid "very damaged" msgstr "muito danificado" -#: lang/json/material_from_json.py lang/json/material_from_json.py -#: src/material.cpp +#: lang/json/material_from_json.py src/material.cpp msgid "thoroughly damaged" msgstr "completamente danificado" @@ -110169,6 +115749,10 @@ msgstr "bastante mutilado" msgid "thoroughly mutilated" msgstr "completamente mutilado" +#: lang/json/material_from_json.py +msgid "Gutskin" +msgstr "" + #: lang/json/material_from_json.py msgid "Fresh Clay" msgstr "Argila fresca" @@ -110229,6 +115813,10 @@ msgstr "Junk Food" msgid "Kevlar" msgstr "Kevlar" +#: lang/json/material_from_json.py +msgid "Rigid Kevlar" +msgstr "" + #: lang/json/material_from_json.py msgid "scarred" msgstr "cicatrizado" @@ -110241,6 +115829,10 @@ msgstr "Chumbo" msgid "Leather" msgstr "Couro" +#: lang/json/material_from_json.py +msgid "Lycra" +msgstr "" + #: lang/json/material_from_json.py msgid "Dairy" msgstr "Laticínio" @@ -110301,6 +115893,14 @@ msgstr "Pedra" msgid "Superalloy" msgstr "Superliga" +#: lang/json/material_from_json.py +msgid "layered carbide" +msgstr "" + +#: lang/json/material_from_json.py +msgid "Synthetic Fabric" +msgstr "" + #: lang/json/material_from_json.py msgid "Tin" msgstr "" @@ -110411,51 +116011,67 @@ msgstr "" msgid "Arcane Skin" msgstr "" +#: lang/json/material_from_json.py +msgid "Orichalcum" +msgstr "" + #: lang/json/material_from_json.py msgid "Demon Chitin" msgstr "" +#: lang/json/material_from_json.py +msgid "Sugar" +msgstr "" + #: lang/json/mission_def_from_json.py -msgid "Find a Book" -msgstr "Encontre um livro" +msgid "Gather bones for the Brigitte. About 8 should do it." +msgstr "" #: lang/json/mission_def_from_json.py -msgid "Wanna help me out?" -msgstr "Quer me ajudar?" +msgid "There is always work to be done, song to be woven." +msgstr "" #: lang/json/mission_def_from_json.py -msgid "Get me a book." -msgstr "Me traga um livro." +msgid "" +"If you wish to be set on the path to enlightenment, first you must learn to " +"listen and hear the song. Go out, butcher a creature and feel the power " +"between your fingertips. Then bring me the bones and I shall carve them for " +"you." +msgstr "" #: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: lang/json/talk_topic_from_json.py -msgid "Thanks." -msgstr "Obrigado." +msgid "Excellent. Now be on your way." +msgstr "" -#: lang/json/mission_def_from_json.py -msgid "Well, I'll find someone else to do it for me." -msgstr "Bem, eu vou encontrar alguém para fazer isso por mim." +#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py +msgid "" +"I understand your reluctancy. Feel free to return when you see the way." +msgstr "" -#: lang/json/mission_def_from_json.py -msgid "Try a library." -msgstr "Tente uma biblioteca." +#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py +msgid "" +"The shambling corpses we see all around move in discord. Their song can be " +"used, but for an Acolyte, this would be needlessly hard. Be sure to carve an" +" unspoiled living creature." +msgstr "" #: lang/json/mission_def_from_json.py -msgid "Got that book for me?" -msgstr "Tem esse livro pra mim?" +msgid "Have you felt the song in your hands yet?" +msgstr "" -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: src/npctalk.cpp -msgid "Thanks!" -msgstr "Obrigado!" +#: lang/json/mission_def_from_json.py +msgid "" +"And so, another cycle ends. You have done well. I will now bestow my mark " +"upon you, so that others may know the path you walk and aid you." +msgstr "" #: lang/json/mission_def_from_json.py -msgid "OK, then hand it over." -msgstr "OK, então entregue." +msgid "So you say, but the song sings otherwise." +msgstr "" #: lang/json/mission_def_from_json.py -msgid "Shit happens." -msgstr "Merda acontece." +msgid "Then you shall try again, until you hear." +msgstr "" #: lang/json/mission_def_from_json.py msgid "Follow Sarcophagus Team" @@ -111264,20 +116880,20 @@ msgid "" "I don't think you're going to find many other survivors who haven't taken up" " a faction yet." msgstr "" -" Eu não acho que você vai encontrar muitos outros sobreviventes que aindanão" +"Eu não acho que você vai encontrar muitos outros sobreviventes que ainda não" " tenham assumido uma facção." #: lang/json/mission_def_from_json.py msgid "I'm a pretty good shot with a rifle or pistol." -msgstr "Eu sou um tiro muito bom com um rifle ou pistola." +msgstr "Eu vou bem com um rifle ou uma pistola." #: lang/json/mission_def_from_json.py msgid "Any problems boss?" -msgstr "Qualquer chefe de problemas?" +msgstr "Algum problema, chefe?" #: lang/json/mission_def_from_json.py msgid "Wait... are you really making me a deputy?" -msgstr "Espere ... você está realmente me fazendo um vice?" +msgstr "Espere... você está realmente me tornando um vice?" #: lang/json/mission_def_from_json.py msgid "I don't think so..." @@ -111317,8 +116933,8 @@ msgid "" "Hell ya, we may get ourselves killed but we'll be among the first legends of" " the apocalypse." msgstr "" -" Inferno, podemos nos matar, mas estaremos entre as primeiras lendas " -"doapocalipse." +"Inferno, podemos nos matar, mas estaremos entre as primeiras lendas do " +"apocalipse." #: lang/json/mission_def_from_json.py msgid "" @@ -111326,15 +116942,15 @@ msgid "" "most of us survivors won't make it unless someone decides to take the " "initiative." msgstr "" -" Ei, eu sei que não seria voluntário para isso também ... mas então eulembro" -" que a maioria de nós, sobreviventes, não vai conseguir, a menos quealguém " +"Ei, eu sei que não seria voluntário para isso também... mas então eu lembro " +"que a maioria de nós, sobreviventes, não vai conseguir, a menos que alguém " "decida tomar a iniciativa." #: lang/json/mission_def_from_json.py msgid "I'd secure an ammo cache and try to sweep a town in multiple passes." msgstr "" -" Eu protegeria um cache de munição e tentaria varrer uma cidade em " -"váriospassos." +"Eu protegeria um cache de munição e tentaria varrer uma cidade em várias " +"passadas." #: lang/json/mission_def_from_json.py msgid "Got this knocked out?" @@ -111345,13 +116961,13 @@ msgid "" "Man... you're a goddamn machine. It was a pleasure working with you. You " "know, you may just change our little neck of the world if you keep this up." msgstr "" -" Cara ... você é uma maldita máquina. Foi um prazer trabalhar com você. " -"Vocêsabe, você pode apenas mudar o nosso pequeno pescoço do mundo se " -"vocêcontinuar assim." +"Cara... você é uma maldita máquina. Foi um prazer trabalhar com você. Sabe, " +"você pode acabar mudando o nosso pequeno canto do mundo se você continuar " +"assim." #: lang/json/mission_def_from_json.py msgid "I don't think that was quite a hundred dead zeds." -msgstr "Eu não acho que foram cem zeds mortos." +msgstr "Eu não acho que foram exatamente cem zeds mortos." #: lang/json/mission_def_from_json.py msgid "Kill Horde Master" @@ -111361,8 +116977,8 @@ msgstr "Matar o Mestre da Horda" msgid "" "I've heard some bad rumors so I hope you are up for another challenge..." msgstr "" -" Eu ouvi alguns rumores ruins, então eu espero que você esteja pronto " -"paraoutro desafio ..." +"Eu ouvi alguns rumores ruins, então eu espero que você esteja pronto para " +"outro desafio..." #: lang/json/mission_def_from_json.py msgid "" @@ -111373,12 +116989,12 @@ msgid "" "but this thing reeks of trouble. Do whatever it takes but we can't risk it " "getting away." msgstr "" -" Aparentemente, um dos outros sobreviventes pegou uma " -"hordaextraordinariamente densa de mortos-vivos movendo-se para a área. No " -"centrodessa multidão havia um 'líder' de algum tipo. O que falta ématar o " -"filho da puta. Nós não sabemos do que é capaz ou porque é cercadopor outros " -"zumbis, mas isso é um problema. Faça o que for preciso, mas não podemos nos " -"arriscar a fugir." +"Aparentemente, um dos outros sobreviventes descobriu uma horda " +"extraordinariamente densa de mortos-vivos movendo-se para a área. No centro " +"dessa multidão havia um 'líder' de algum tipo. A coisa é basicamente matar o" +" filho da puta. Nós não sabemos do que é capaz ou porque é cercado por " +"outros zumbis, mas isso essa coisa cheira a problema. Faça o que for " +"preciso, mas não podemos deixar que aquilo fuja." #: lang/json/mission_def_from_json.py msgid "" @@ -111514,17 +117130,13 @@ msgstr "Realmente ... isso é muito ruim." msgid "Null mission" msgstr "Missão nula" -#: lang/json/mission_def_from_json.py -msgid "YOU SHOULDN'T BE SEEING THIS, THIS IS A BUG" -msgstr "VOCÊ NÃO DEVE VER ESTE, ESTE É UM ERRO" - #: lang/json/mission_def_from_json.py msgid "Reach Farm House" msgstr "Alcançar a casa da fazenda" #: lang/json/mission_def_from_json.py msgid "I just need a place to start over..." -msgstr "Eu só preciso de um lugar para começar de novo ..." +msgstr "Eu só preciso de um lugar para começar de novo..." #: lang/json/mission_def_from_json.py msgid "" @@ -111782,6 +117394,14 @@ msgstr "" msgid "Thanks! I'll be sure to put in a good word for you around town." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "OK, then hand it over." +msgstr "OK, então entregue." + +#: lang/json/mission_def_from_json.py +msgid "Shit happens." +msgstr "Merda acontece." + #: lang/json/mission_def_from_json.py msgid "Find Antibiotics Before You Die!" msgstr "" @@ -112205,7 +117825,7 @@ msgid "" msgstr "" #: lang/json/mission_def_from_json.py -msgid "I did't want to use chemicals on these rats." +msgid "I didn't want to use chemicals on these rats." msgstr "" #: lang/json/mission_def_from_json.py @@ -112508,6 +118128,10 @@ msgid "" "don't have any handy references." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "Fantastic, I'm not supposed to leave our land." +msgstr "" + #: lang/json/mission_def_from_json.py msgid "A library, bookstore should have one, schools are another good idea." msgstr "" @@ -113358,6 +118982,10 @@ msgstr "" msgid "Thanks, it's great to see someone willing to help a guy out." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "Well, I'll find someone else to do it for me." +msgstr "Bem, eu vou encontrar alguém para fazer isso por mim." + #: lang/json/mission_def_from_json.py msgid "" "Plenty of smokers in towns. Gotta be some left over cigs in some of them " @@ -114121,8 +119749,8 @@ msgstr "" #: lang/json/mission_def_from_json.py msgid "" "Reach the collapsed tower basement, and search the ruins for a photonic " -"circuitry template. The intercom warned you about heavy enemy prescence, and" -" of the existence of a hazardous enviroment." +"circuitry template. The intercom warned you about heavy enemy presence, and" +" of the existence of a hazardous environment." msgstr "" #: lang/json/mission_def_from_json.py @@ -114191,7 +119819,7 @@ msgstr "" msgid "I appreciate it, here's your pay." msgstr "" -#: lang/json/mission_def_from_json.py src/player.cpp +#: lang/json/mission_def_from_json.py lang/json/snippet_from_json.py msgid "Yeah, sure." msgstr "Sim claro." @@ -115818,7 +121446,7 @@ msgid "yourself scream in agony!" msgstr "grite em agonia!" #. ~ Mutation class: Any junkie_message -#: lang/json/mutation_category_from_json.py src/iuse_actor.cpp +#: lang/json/mutation_category_from_json.py msgid "You quiver with anticipation..." msgstr "Você tremer de antecipação ..." @@ -116500,6 +122128,33 @@ msgctxt "memorial_female" msgid "Reclaimed by nature." msgstr "" +#. ~ Mutation class name +#: lang/json/mutation_category_from_json.py +msgid "Sugar Kin" +msgstr "" + +#. ~ Mutation class: Sugar Kin mutagen_message +#: lang/json/mutation_category_from_json.py +msgid "How sweet!" +msgstr "" + +#. ~ Mutation class: Sugar Kin iv_message +#: lang/json/mutation_category_from_json.py +msgid "You inject some more fizz into your syrup." +msgstr "" + +#. ~ Mutation class: Sugar Kin Male memorial messsage +#: lang/json/mutation_category_from_json.py +msgctxt "memorial_male" +msgid "Crystalized." +msgstr "" + +#. ~ Mutation class: Sugar Kin Female memorial messsage +#: lang/json/mutation_category_from_json.py +msgctxt "memorial_female" +msgid "Crystalized." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Venom Mob Protege" msgstr "Protegido da Máfia Veneno" @@ -116992,8 +122647,8 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "You have a moustache and a beard starting with a strip going down from the " -"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus " -"the name." +"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus" +" the name." msgstr "" #: lang/json/mutation_from_json.py @@ -117003,7 +122658,7 @@ msgstr "" #. ~ Description for Facial hair: short boxed beard #: lang/json/mutation_from_json.py msgid "" -"You have a moustache and a short beard with trimmed sides. Thin patches " +"You have a moustache and a short beard with trimmed sides. Thin patches " "connect them both, forming a 'box' around the lips, thus the name." msgstr "" @@ -117126,7 +122781,7 @@ msgstr "" #. ~ Description for Facial hair: neckbeard #: lang/json/mutation_from_json.py msgid "" -"You have a beard formed from hair grown on neck below the chin line. No " +"You have a beard formed from hair grown on neck below the chin line. No " "moustache included." msgstr "" @@ -117227,6 +122882,27 @@ msgid "" "footing." msgstr "" +#: lang/json/mutation_from_json.py +msgid "Weak Photophore" +msgstr "" + +#. ~ Description for Weak Photophore +#: lang/json/mutation_from_json.py +msgid "" +"A photophore has grown from your head, you can make it glow soflty. This " +"will make you very visible in the dark, ideal to attract a partner during " +"mating season." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Photophore" +msgstr "" + +#. ~ Description for Photophore +#: lang/json/mutation_from_json.py +msgid "Your can make your photophore glow brightly." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Good Hearing" msgstr "Boa Audição" @@ -117777,13 +123453,10 @@ msgstr "Psicose Estimulante" #. ~ Description for Stimulant Psychosis #: lang/json/mutation_from_json.py msgid "" -"You have a unique history with stimulants (like coffee or amphetamines). You" -" can tolerate a lot more of them without overdosing, but if you indulge too " -"much, you start seeing things..." +"You have a unique history with stimulants (like coffee or amphetamines). " +"You can tolerate a lot more of them without overdosing, but if you indulge " +"too much, you start seeing things…" msgstr "" -" Você tem uma história única com estimulantes (como café ou " -"anfetaminas).Você pode tolerar muito mais deles sem overdose, mas se você se" -" entregardemais, você começa a ver as coisas ..." #. ~ Description for Stylish #: lang/json/mutation_from_json.py @@ -117935,12 +123608,21 @@ msgstr "Treinamento de Armas Corpo-a-Corpo" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-" -"Ryu, Pentjak Silat, or Sōjutsu." +"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-Ryu," +" Pentjak Silat, or Sōjutsu." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Competitive Fencer" +msgstr "" + +#. ~ Description for Competitive Fencer +#: lang/json/mutation_from_json.py +msgid "" +"You were an avid fencer, starting with foil and moving onto saber, then " +"épée. You competed nationally and dabbled with some of the historical " +"fencing weapons afforded by HEMA's popularity." msgstr "" -"Você praticou luta com armas. Você inicia com a sua escolha entre Eskrima, " -"Fior Di Battaglia, Espadaria Medieval, Esgrima, Niten Ichi-Ryu, Pentjak " -"Silat, ou Sōjutsu." #: lang/json/mutation_from_json.py msgid "Weak Scent" @@ -118791,11 +124473,9 @@ msgstr "Olhos Mágicos" #. ~ Description for Fey Eyes #: lang/json/mutation_from_json.py msgid "" -"Your eyes have turned...green. It's tough to tell the exact shade as it " -"seems to shift. The effect is ...pleasant." +"Your eyes have turned… green. It's tough to tell the exact shade as it " +"seems to shift. The effect is… pleasant." msgstr "" -"Seus olhos se tornaram... verdes. É complicado dizer o tom exato já que ele " -"fica se alterando. O efeito é... Prazeroso." #: lang/json/mutation_from_json.py msgid "Fey Vision" @@ -119295,8 +124975,8 @@ msgid "" "Somewhat reduces wet effects." msgstr "" " Você desenvolveu um exoesqueleto de quitina, muito parecido com um inseto. " -"Ele fornece considerável proteção física, mas reduz sua Destreza em 1.Reduz " -"um pouco os efeitos molhados." +"Ele fornece considerável proteção física, mas reduz sua Destreza em 1. Reduz" +" um pouco os efeitos de estar molhado." #: lang/json/mutation_from_json.py msgid "Chitinous Plate" @@ -119309,10 +124989,10 @@ msgid "" "excellent physical protection, but reduces your Dexterity by 1 and encumbers" " all body parts but your eyes and mouth. Greatly reduces wet effects." msgstr "" -" Você desenvolveu um exoesqueleto de quitina feito de placas grossas eduras." -" Ele fornece excelente proteção física, mas reduz sua Destreza em 1 " -"esobrecarrega todas as partes do corpo, mas seus olhos e boca. Reduz muitoos" -" efeitos molhados." +" Você desenvolveu um exoesqueleto de quitina feito de placas grossas e " +"duras. Ele fornece excelente proteção física, mas reduz sua Destreza em 1 e " +"sobrecarrega todas as partes do corpo, com a exceção de seus olhos e boca. " +"Reduz muito os efeitos de estar molhado." #: lang/json/mutation_from_json.py msgid "Hairy Chitin" @@ -119325,7 +125005,7 @@ msgid "" "warmer than not having hair." msgstr "" "Você desenvolveu algum tipo de cabelo crescendo pela sua quitina. É um pouco" -" mais aquecido do que não ter cabelo." +" mais quente do que não ter cabelo." #: lang/json/mutation_from_json.py msgid "Furred Chitin" @@ -119708,11 +125388,8 @@ msgstr "Transportador Marloss" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss berry, you can't get its scent out of your " -"nose, and you have a strong desire to try some seeds and...sap?" +"nose, and you have a strong desire to try some seeds and… sap?" msgstr "" -"Desde que você comeu aquela amora de Marloss, você não consegue tirar o " -"cheiro dela do seu nariz, e você agora tem um grande apetite para " -"experimentar sementes e... seiva?" #: lang/json/mutation_from_json.py msgid "Marloss Vessel" @@ -119722,11 +125399,8 @@ msgstr "Embarcação Marloss" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss seed, you can't get its taste off of your " -"tongue, and you have a strong desire to try some berries and...sap?" +"tongue, and you have a strong desire to try some berries and… sap?" msgstr "" -"Desde que você comeu aquela semente de Marloss, você não consegue tirar o " -"gosto dela da sua língua, e você agora tem um grande apetite para " -"experimentar amoras e... seiva?" #: lang/json/mutation_from_json.py msgid "Marloss Vector" @@ -120193,12 +125867,9 @@ msgstr "Dentes de Sabre" #: lang/json/mutation_from_json.py msgid "" "Your fangs have grown extremely large and incredibly sharp. They make it " -"impossible to wear mouthgear and difficult to eat... but leave nasty wounds" -" when you bite." +"impossible to wear mouthgear and difficult to eat… but leave nasty wounds " +"when you bite." msgstr "" -"Suas presas cresceram e se tornaram extremamente grandes e incrivelmente " -"afiadas. Elas fazem com que seja impossível usar qualquer coisa na boca e " -"dificulta a alimentação... Mas deixa marcantes machucados quando você morde." #: lang/json/mutation_from_json.py #, no-python-format @@ -121608,11 +127279,9 @@ msgstr "Focinho" #. ~ Description for Snout #: lang/json/mutation_from_json.py msgid "" -"Your face and jaw have begun...changing. Masks and such fit OK, but you're " +"Your face and jaw have begun… changing. Masks and such fit OK, but you're " "noticeably mutated." msgstr "" -" Seu rosto e mandíbula começaram ... mudando. Máscaras e tal ajuste OK, " -"masvocê está visivelmente mutado." #: lang/json/mutation_from_json.py msgid "Bovine Snout" @@ -121677,7 +127346,7 @@ msgstr "%1$s morde %2$s" #: lang/json/mutation_from_json.py msgid "Rodent Muzzle" -msgstr "Focinho de roedor" +msgstr "Focinho de Roedor" #. ~ Description for Rodent Muzzle #: lang/json/mutation_from_json.py @@ -121699,9 +127368,9 @@ msgid "" " look NASTY--as do the bite wounds they can inflict--but prevent wearing " "mouthgear." msgstr "" -" Seu rosto e mandíbula são uma versão mais curta daqueles encontrados " -"emjacarés. Eles parecem DESAGRADÁVEIS - assim como as mordidas que " -"podemcausar -, mas evitam o uso de aparelhos para a boca." +"Seu rosto e mandíbula são uma versão mais curta daqueles encontrados em " +"jacarés. Eles parecem DESAGRADÁVEIS - assim como as mordidas que podem " +"causar - mas impedem o uso de aparelhos para a boca." #: lang/json/mutation_from_json.py #, no-python-format @@ -121723,12 +127392,12 @@ msgid "" "You've gotten rid of that terribly imprecise mouth and now imbibe your food " "like a proper person. Chewing was tiresome anyway." msgstr "" -" Você se livrou dessa boca terrivelmente imprecisa e agora bebe sua " -"comidacomo uma pessoa adequada. Mastigar era cansativo de qualquer maneira." +"Você se livrou daquela boca terrivelmente imprecisa e agora bebe sua comida " +"como uma pessoa adequada. Mastigar era cansativo de qualquer maneira." #: lang/json/mutation_from_json.py msgid "Hollow Bones" -msgstr "Ossos ocos" +msgstr "Ossos Ocos" #. ~ Description for Hollow Bones #: lang/json/mutation_from_json.py @@ -121752,7 +127421,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "Vomitous" -msgstr "vomitosa" +msgstr "Vomitoso" #. ~ Description for Vomitous #: lang/json/mutation_from_json.py @@ -121761,21 +127430,21 @@ msgid "" "frequently, you have found that you can trigger your vomit reflex on demand," " too." msgstr "" -" Você tem um distúrbio digestivo importante. Embora faça com que você " -"vomitecom frequência, descobriu que também pode ativar seu reflexo de " -"vômitoquando necessário." +"Você tem um distúrbio digestivo grave. Embora isso faça com que você vomite " +"com frequência, você descobriu que também pode ativar seu reflexo de vômito " +"quando necessário." #: lang/json/mutation_from_json.py msgid "Fast Metabolism" -msgstr "Metabolismo acelerado" +msgstr "Metabolismo Acelerado" #. ~ Description for Fast Metabolism #: lang/json/mutation_from_json.py msgid "" "You require more food than most people, but recover stamina slightly faster." msgstr "" -" Você precisa de mais comida do que a maioria das pessoas, mas recupera " -"aresistência um pouco mais rápido." +"Você precisa de mais comida do que a maioria das pessoas, mas recupera as " +"energias um pouco mais rápido." #: lang/json/mutation_from_json.py msgid "Rapid Metabolism" @@ -121787,8 +127456,8 @@ msgid "" "You require more resources than most, but heal more rapidly as well. " "Provides weak regeneration even when not asleep." msgstr "" -" Você precisa de mais recursos do que a maioria, mas também se recupera " -"maisrapidamente. Fornece regeneração fraca mesmo quando não está adormecido." +"Você precisa de mais recursos do que a maioria, mas também se recupera mais " +"rapidamente. Fornece regeneração fraca mesmo quando não está adormecido." #: lang/json/mutation_from_json.py msgid "Very Fast Metabolism" @@ -121830,7 +127499,7 @@ msgstr "Seu corpo seca facilmente; você precisa beber mais água." #: lang/json/mutation_from_json.py msgid "Very Thirsty" -msgstr "Muita sede" +msgstr "Muita Sede" #. ~ Description for Very Thirsty #: lang/json/mutation_from_json.py @@ -121838,12 +127507,12 @@ msgid "" "Ugh, out of water already? You need about twice the fluids of an average " "human." msgstr "" -" Ugh, fora da água já? Você precisa de cerca de duas vezes os fluidos de " -"umser humano médio." +"Ugh, fora da água já? Você precisa de cerca de duas vezes mais fluídos do " +"que um ser humano médio." #: lang/json/mutation_from_json.py msgid "Extremely Thirsty" -msgstr "Extremamente sedento" +msgstr "Extremamente Sedento" #. ~ Description for Extremely Thirsty #: lang/json/mutation_from_json.py @@ -121851,8 +127520,8 @@ msgid "" "You dry out seriously quickly, requiring three times as much liquid to stay " "hydrated." msgstr "" -" Você seca a sério rapidamente, exigindo três vezes mais líquido para " -"semanter hidratado." +"Você se desidrata muito rapidamente, exigindo três vezes mais líquido do que" +" o normal para se manter hidratado." #: lang/json/mutation_from_json.py msgid "Metabolic Rehydration" @@ -121865,13 +127534,13 @@ msgid "" "longer gain hydration from fluids - instead, your thirst will be equal to, " "and change with, your hunger." msgstr "" -" Seu corpo recebe tudo o que precisa da comida que você come! Você não " -"ganhamais a hidratação dos fluidos - em vez disso, sua sede será igual e " -"mudarácom a sua fome." +"Seu corpo recebe tudo o que precisa da comida que você come! Você não ganha " +"mais hidratação de fluidos - em vez disso, sua sede será igual e mudará " +"junto com a sua fome." #: lang/json/mutation_from_json.py msgid "Very Heavy Sleeper" -msgstr "Sleeper muito pesado" +msgstr "Sono Muito Pesado" #. ~ Description for Very Heavy Sleeper #: lang/json/mutation_from_json.py @@ -121900,8 +127569,8 @@ msgstr "Enfraquecimento" msgid "" "You feel as though you are slowly weakening and your body heals slower." msgstr "" -" Você sente como se estivesse enfraquecendo lentamente e seu corpo se " -"curamais lentamente." +"Você sente como se estivesse enfraquecendo lentamente, e seu corpo se cura " +"mais lentamente." #: lang/json/mutation_from_json.py msgid "Deterioration" @@ -121910,7 +127579,7 @@ msgstr "Deterioração" #. ~ Description for Deterioration #: lang/json/mutation_from_json.py msgid "Your body is very slowly wasting away." -msgstr "Seu corpo está perdendo muito lentamente." +msgstr "Seu corpo está se desfazendo muito lentamente." #: lang/json/mutation_from_json.py msgid "Disintegration" @@ -121919,11 +127588,11 @@ msgstr "Desintegração" #. ~ Description for Disintegration #: lang/json/mutation_from_json.py msgid "Your body is slowly wasting away!" -msgstr "Seu corpo está lentamente perdendo!" +msgstr "Seu corpo está lentamente se desfazendo!" #: lang/json/mutation_from_json.py msgid "Solar Sensitivity" -msgstr "Sensibilidade solar" +msgstr "Sensibilidade Solar" #. ~ Description for Solar Sensitivity #: lang/json/mutation_from_json.py @@ -121931,7 +127600,7 @@ msgid "" "Your skin simply cannot handle ultraviolet radiation, such as sunlight. It " "will seriously burn you." msgstr "" -" Sua pele simplesmente não consegue lidar com a radiação ultravioleta, comoa" +"Sua pele simplesmente não consegue lidar com a radiação ultravioleta, como a" " luz solar. Isso queimará você seriamente." #: lang/json/mutation_from_json.py @@ -121944,12 +127613,12 @@ msgid "" "Your extremities are covered in painful sores. The pain is worse when they " "are covered in clothing." msgstr "" -" Suas extremidades estão cobertas de feridas dolorosas. A dor é pior " -"quandoeles estão cobertos de roupas." +"Suas extremidades estão cobertas de feridas dolorosas. A dor é pior quando " +"elas estão cobertas por roupas." #: lang/json/mutation_from_json.py msgid "Light Sensitive" -msgstr "Sensível à luz" +msgstr "Sensível à Luz" #. ~ Description for Light Sensitive #: lang/json/mutation_from_json.py @@ -121957,12 +127626,12 @@ msgid "" "Sunlight makes you uncomfortable. If you are outdoors and the weather is " "Sunny, you suffer -1 to all stats." msgstr "" -" A luz do sol deixa você desconfortável. Se você estiver ao ar livre e " -"otempo estiver ensolarado, você sofre -1 de todas as estatísticas." +"A luz do sol deixa você desconfortável. Se você estiver ao ar livre e o " +"tempo estiver ensolarado, você sofre -1 em todas as estatísticas." #: lang/json/mutation_from_json.py msgid "Very Light Sensitive" -msgstr "Muito sensível à luz" +msgstr "Muito Sensível à Luz" #. ~ Description for Very Light Sensitive #: lang/json/mutation_from_json.py @@ -121970,9 +127639,9 @@ msgid "" "Sunlight makes you very uncomfortable. If you are outdoors during the day, " "you suffer -1 to all stats; -2 if the weather is Sunny." msgstr "" -" A luz do sol deixa você muito desconfortável. Se você estiver ao ar " -"livredurante o dia, você sofre -1 para todas as estatísticas; -2 se o " -"tempoestiver ensolarado." +"A luz do sol deixa você muito desconfortável. Se você estiver ao ar livre " +"durante o dia, você sofre -1 para todas as estatísticas; e -2 se o tempo " +"estiver ensolarado." #. ~ Description for Troglobite #: lang/json/mutation_from_json.py @@ -121980,8 +127649,8 @@ msgid "" "Sunlight makes you extremely uncomfortable, resulting in large penalties to " "all stats." msgstr "" -" A luz solar faz com que você fique extremamente desconfortável, " -"resultandoem grandes penalidades para todas as estatísticas." +"A luz solar faz com que você fique extremamente desconfortável, resultando " +"em grandes penalidades para todas as estatísticas." #: lang/json/mutation_from_json.py msgid "Webbed Hands" @@ -122024,9 +127693,9 @@ msgid "" "hand encumbrance of 20, serious problems crafting, and no gloves. But you " "can swim more effectively." msgstr "" -" Suas patas são muito maiores agora. A destreza manual é difícil: " -"oneraçãopermanente de mão de 20, sérios problemas de elaboração e sem luvas." -" Masvocê pode nadar de forma mais eficaz." +"Suas patas são muito maiores agora. A destreza manual é difícil: Há um " +"estorvo de 20 permanente em suas mãos, criar coisas é um sério problema, e " +"não se pode usar luvas. Mas você pode nadar de forma mais eficaz." #: lang/json/mutation_from_json.py msgid "Beak" @@ -122039,23 +127708,23 @@ msgid "" "enemies, but it is impossible for you to wear mouth gear. Slightly reduces " "wet effects." msgstr "" -" Você tem um bico para a boca. Você pode ocasionalmente usá-lo para " -"beijarseus inimigos, mas é impossível que você use equipamento de boca. Um " -"poucoreduz os efeitos molhados." +"Você tem um bico no lugar da boca. Você pode ocasionalmente usá-lo para " +"bicar seus inimigos, mas é impossível pra você vestir equipamento de boca. " +"Reduz um pouco os efeitos molhados." #: lang/json/mutation_from_json.py #, no-python-format msgid "You peck %s" -msgstr "" +msgstr "Você bica %s" #: lang/json/mutation_from_json.py #, no-python-format msgid "%1$s pecks %2$s" -msgstr "" +msgstr "%1$s bica %2$s" #: lang/json/mutation_from_json.py msgid "Woodpecker Beak" -msgstr "Bico de pica-pau" +msgstr "Bico de Pica-pau" #. ~ Description for Woodpecker Beak #: lang/json/mutation_from_json.py @@ -122063,8 +127732,8 @@ msgid "" "Pecking at prey is part of your daily routine now. Slightly reduces wet " "effects." msgstr "" -" Picando a presa faz parte da sua rotina diária agora. Um pouco reduz " -"osefeitos molhados." +"Bicar presas faz parte da sua rotina diária agora. Reduz um pouco os efeitos" +" de se estar molhado." #: lang/json/mutation_from_json.py #, no-python-format @@ -122078,7 +127747,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "Hummingbird Beak" -msgstr "Bico de beija-flor" +msgstr "Bico de Beija-flor" #. ~ Description for Hummingbird Beak #: lang/json/mutation_from_json.py @@ -122086,12 +127755,12 @@ msgid "" "Though your beak's not suitable for pecking, those flowers out there are a " "good source of energy. Examine them to feed." msgstr "" -" Embora seu bico não seja adequado para bicar, essas flores são uma boafonte" -" de energia. Examine-os para se alimentar." +"Embora seu bico não seja adequado para bicar, essas flores são uma boa fonte" +" de energia. Examine-as para se alimentar." #: lang/json/mutation_from_json.py msgid "Genetically Unstable" -msgstr "Geneticamente instável" +msgstr "Geneticamente Instável" #. ~ Description for Genetically Unstable #: lang/json/mutation_from_json.py @@ -122099,8 +127768,8 @@ msgid "" "Your DNA has been damaged in a way that causes you to continually develop " "more mutations." msgstr "" -" Seu DNA foi danificado de uma forma que faz com que você " -"desenvolvacontinuamente mais mutações." +"Seu DNA foi danificado de uma forma que faz com que você desenvolva " +"continuamente mais mutações." #: lang/json/mutation_from_json.py msgid "Genetic Chaos" @@ -122112,8 +127781,8 @@ msgid "" "Your body alters itself rapidly, and without your intervention or conscious " "control." msgstr "" -" Seu corpo se altera rapidamente e sem sua intervenção ou " -"controleconsciente." +" Seu corpo se altera rapidamente, e sem sua intervenção ou controle " +"consciente." #: lang/json/mutation_from_json.py msgid "Minor Radioactivity" @@ -122125,8 +127794,8 @@ msgid "" "Your body has become radioactive! You continuously emit low levels of " "radiation, which slowly contaminates the world around you." msgstr "" -" Seu corpo se tornou radioativo! Você continuamente emite níveis baixos " -"deradiação, que lentamente contamina o mundo ao seu redor." +"Seu corpo se tornou radioativo! Você continuamente emite níveis baixos de " +"radiação, que lentamente contamina o mundo ao seu redor." #: lang/json/mutation_from_json.py msgid "Radioactivity" @@ -122138,7 +127807,7 @@ msgid "" "Your body has become radioactive! You continuously emit moderate levels of " "radiation, which contaminates the world around you." msgstr "" -" Seu corpo se tornou radioativo! Você continuamente emite níveis moderadosde" +"Seu corpo se tornou radioativo! Você continuamente emite níveis moderados de" " radiação, o que contamina o mundo ao seu redor." #: lang/json/mutation_from_json.py @@ -122151,8 +127820,8 @@ msgid "" "Your body has become radioactive! You continuously emit heavy levels of " "radiation, making your surroundings unlivable." msgstr "" -" Seu corpo se tornou radioativo! Você emite continuamente altos níveis " -"deradiação, tornando seu ambiente inabitável." +" Seu corpo se tornou radioativo! Você emite continuamente altos níveis de " +"radiação, tornando seu ambiente inabitável." #: lang/json/mutation_from_json.py msgid "Slimy" @@ -122164,13 +127833,13 @@ msgid "" "Your body is coated with a fine slime. Protects from long term effects of " "acid, though not short term ones. Greatly increases wet benefits." msgstr "" -" Seu corpo está coberto de um bom lodo. Protege contra os efeitos a " -"longoprazo do ácido, embora não de curto prazo. Aumenta muito os benefícios " -"domolhado." +" Seu corpo é coberto de um fino muco. Protege contra os efeitos a longo " +"prazo do ácido, embora não dos efeitos de curto prazo. Aumenta muito os " +"benefícios do molhado." #: lang/json/mutation_from_json.py msgid "Viscous" -msgstr "Viscoso" +msgstr "Gelatinoso" #. ~ Description for Viscous #: lang/json/mutation_from_json.py @@ -122178,8 +127847,8 @@ msgid "" "Your body's slime output has become sticky and gel-like. Protects from acid" " somewhat. Greatly increases wet benefits." msgstr "" -" A produção de slime do seu corpo tornou-se pegajosa e gelatinosa. Protegedo" -" ácido um pouco. Aumenta muito os benefícios do molhado." +" A produção de muco do seu corpo tornou-se pegajosa e gelatinosa. Protege do" +" ácido um pouco, e aumenta muito os benefícios do molhado." #: lang/json/mutation_from_json.py msgid "Amorphous Body" @@ -122191,9 +127860,9 @@ msgid "" "Your flesh is a pleasing gel-like consistency. Your bodily functions seem " "to be moving around, and your leg-equivalents flow comfortably." msgstr "" -" Sua carne é uma consistência gelatinosa agradável. Suas funções " -"corporaisparecem estar se movendo, e seus equivalentes de perna " -"fluemconfortavelmente." +" Sua carne é de uma consistência gelatinosa agradável. Suas funções " +"corporais parecem estar se movendo por aí, e seus equivalentes a pernas " +"fluem confortavelmente." #: lang/json/mutation_from_json.py msgid "Omnicellular" @@ -122205,8 +127874,8 @@ msgid "" "Your body is more or less one consistent whole: a single, giant, omni-cell " "that alters itself as needed." msgstr "" -" Seu corpo é mais ou menos um todo consistente: uma única omni-célulagigante" -" que se altera quando necessário." +" Seu corpo é mais ou menos um todo consistente: uma única omni-célula " +"gigante que se altera quando necessário." #: lang/json/mutation_from_json.py msgid "Herbivore" @@ -122219,9 +127888,9 @@ msgid "" "good chance of making you vomit it back up; even if you manage to keep it " "down, its nutritional value is greatly reduced." msgstr "" -" A capacidade do seu corpo de digerir carne é severamente prejudicada. " -"Comercarne tem uma boa chance de fazer você vomitar de volta; Mesmo se " -"vocêconseguir mantê-lo baixo, seu valor nutricional é bastante reduzido." +"A capacidade do seu corpo de digerir carne é severamente prejudicada. Comer " +"carne tem uma boa chance de fazer você vomitar tudo de volta; Mesmo se você " +"conseguir manter tudo dentro de si, o valor nutricional é bastante reduzido." #: lang/json/mutation_from_json.py msgid "Carnivore" @@ -122233,7 +127902,7 @@ msgid "" "Your body's ability to digest fruits, vegetables and grains is severely " "hampered. You cannot eat anything besides meat." msgstr "" -" A capacidade do seu corpo para digerir frutas, legumes e grãos éseveramente" +"A capacidade do seu corpo para digerir frutas, legumes e grãos é severamente" " prejudicada. Você não pode comer nada além de carne." #: lang/json/mutation_from_json.py @@ -122245,16 +127914,17 @@ msgstr "Ponderoso" #, no-python-format msgid "Your muscles are generally slow to move. You move 10% slower." msgstr "" +"Seus músculos são geralmente devagares. Você se move 10% mais lentamente." #: lang/json/mutation_from_json.py msgid "Very Ponderous" -msgstr "Muito ponderosa" +msgstr "Muito Ponderoso" #. ~ Description for Very Ponderous #: lang/json/mutation_from_json.py #, no-python-format msgid "Your muscles are quite slow to move. You move 20% slower." -msgstr "" +msgstr "Seus músculos se movem bem devagar. Você se move 20% mais lentamente." #: lang/json/mutation_from_json.py msgid "Extremely Ponderous" @@ -122265,10 +127935,11 @@ msgstr "Extremamente Ponderoso" #, no-python-format msgid "Your muscles are very slow to move. You move 30% slower." msgstr "" +"Seus músculos se movem muito devagar. Você se move 30% mais lentamente." #: lang/json/mutation_from_json.py msgid "Sunlight Dependent" -msgstr "Dependente da luz solar" +msgstr "Dependente da Luz Solar" #. ~ Description for Sunlight Dependent #: lang/json/mutation_from_json.py @@ -122293,7 +127964,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "Vine Limbs" -msgstr "Vem os membros" +msgstr "Membros de Videiras" #. ~ Description for Vine Limbs #: lang/json/mutation_from_json.py @@ -122301,23 +127972,23 @@ msgid "" "You've developed the ability to control your vines; they make good lashes. " "You can even rappel down sheer drops using them, but disconnecting HURTS." msgstr "" -" Você desenvolveu a capacidade de controlar suas videiras; eles fazem " -"bonscílios. Você pode até mesmo descer rapel usando-os, mas " -"desconectandoHURTS." +" Você desenvolveu a capacidade de controlar suas videiras; elas dão bons " +"chicotes. Você pode até mesmo descer em rapel usando-as, mas retirar elas " +"DÓI." #: lang/json/mutation_from_json.py #, no-python-format msgid "You lash %s with a vine" -msgstr "" +msgstr "Você chicoteia %s com uma videira." #: lang/json/mutation_from_json.py #, no-python-format msgid "%1$s lashes %2$s with their vines" -msgstr "" +msgstr "%1$s chicoteia %2$s com suas videiras." #: lang/json/mutation_from_json.py msgid "Vine Sprouter" -msgstr "Sprouter da videira" +msgstr "Brota-Vinhas" #. ~ Description for Vine Sprouter #: lang/json/mutation_from_json.py @@ -122325,8 +127996,8 @@ msgid "" "You have full control of your vines, and can grow new ones and detach old " "ones more or less at will." msgstr "" -" Você tem controle total de suas vinhas, e pode cultivar novas e separar " -"asmais velhas à vontade." +" Você tem controle total de suas vinhas, e pode cultivar novas e separar as " +"mais velhas quase que à vontade." #: lang/json/mutation_from_json.py msgid "You detach a vine from your body." @@ -122342,10 +128013,12 @@ msgid "" "Roots have started growing from your leaf like hair, they don't seem to do " "much." msgstr "" +"Raízes começaram a crescer do seu cabelo folhoso, por enquanto não parecem " +"fazer muito." #: lang/json/mutation_from_json.py msgid "Toe Roots" -msgstr "Raízes do dedo do pé" +msgstr "Raízes nos Pés" #. ~ Description for Toe Roots #: lang/json/mutation_from_json.py @@ -122361,6 +128034,9 @@ msgid "Roots" msgstr "Raízes" #. ~ Description for Roots +#. ~ The idea is that you, for lack of a better term, plant yourself. +#. Crafting and digging don't count because they presume a certain amount of +#. movement during the task. The handheld game does count. #: lang/json/mutation_from_json.py msgid "" "It's about time you started developing a root system. When reading, " @@ -122373,7 +128049,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "Rooter" -msgstr "entusiasta" +msgstr "Enraizador" #. ~ Description for Rooter #: lang/json/mutation_from_json.py @@ -122381,8 +128057,8 @@ msgid "" "You find it difficult not to sink roots when able. You extract nutrients " "and water whenever on diggable terrain, but move more slowly." msgstr "" -" Você acha difícil não criar raízes quando é capaz. Você extrai nutrientes " -"eágua sempre em terrenos digeríveis, mas se move mais devagar." +" Você acha difícil não criar raízes quando é capaz. Você sempre extrai " +"nutrientes e água em terreno digerível, mas se move mais devagar." #: lang/json/mutation_from_json.py msgid "Chloromorphosis" @@ -122395,9 +128071,9 @@ msgid "" "roots. Sleeping on diggable soil will satisfy any hunger or thirst you " "might have." msgstr "" -" Cada centímetro da sua pele está repleto de clorofila e você tem " -"raízesfortes. Dormir em solo digerível irá satisfazer qualquer fome ou sede " -"quevocê possa ter." +"Cada centímetro da sua pele está repleto de clorofila e você tem raízes " +"fortes. Dormir em solo escavável irá satisfazer qualquer fome ou sede que " +"você possa ter." #: lang/json/mutation_from_json.py msgid "Mycorrhizal Communion" @@ -122439,7 +128115,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "Cold Blooded" -msgstr "A sangue frio" +msgstr "Sangue Frio" #. ~ Description for Cold Blooded #: lang/json/mutation_from_json.py @@ -122456,18 +128132,16 @@ msgstr "Ectérmica" #. ~ Description for Ectothermic #: lang/json/mutation_from_json.py +#, no-python-format msgid "" -"Your body has become permanently cold-blooded. Your speed lowers--or raises" -"--for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to " -"eat half as much as an average human." +"Your body has become permanently cold-blooded. Your speed lowers or raises " +"1% for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to" +" eat half as much as an average human." msgstr "" -" Seu corpo se tornou permanentemente de sangue frio. Sua velocidade diminui-" -" ou aumenta - para cada 2 (1,1) graus abaixo ou acima de 65 F (18,3 C).Você " -"só precisa comer metade do que um ser humano médio." #: lang/json/mutation_from_json.py msgid "Growling Voice" -msgstr "Voz Growling" +msgstr "Voz Grunhidora" #. ~ Description for Growling Voice #: lang/json/mutation_from_json.py @@ -122475,12 +128149,12 @@ msgid "" "You have a growling, rough voice. Persuading NPCs will be more difficult, " "but threatening them will be easier." msgstr "" -" Você tem uma voz rouca e áspera. Persuadir NPCs será mais difícil, " -"masameaçá-los será mais fácil." +"Você tem uma voz rouca e áspera. Persuadir NPCs será mais difícil, mas " +"ameaçá-los será mais fácil." #: lang/json/mutation_from_json.py msgid "Snarling Voice" -msgstr "Voz Rosnando" +msgstr "Voz Rosnada" #. ~ Description for Snarling Voice #: lang/json/mutation_from_json.py @@ -122488,12 +128162,12 @@ msgid "" "You have a threatening snarl in your voice. Persuading NPCs will be near " "impossible, but threatening them will be much easier." msgstr "" -" Você tem um grunhido ameaçador em sua voz. Persuadir NPCs será " -"quaseimpossível, mas ameaçá-los será muito mais fácil." +" Você tem um rosnar ameaçador em sua voz. Persuadir NPCs será quase " +"impossível, mas ameaçá-los será muito mais fácil." #: lang/json/mutation_from_json.py msgid "Hissing Voice" -msgstr "Voz sibilante" +msgstr "Voz Sibilante" #. ~ Description for Hissing Voice #: lang/json/mutation_from_json.py @@ -122501,12 +128175,12 @@ msgid "" "You hiss when speaking. Persuading NPCs will be more difficult, but " "threatening them will be easier." msgstr "" -" Você assobia quando fala. Persuadir NPCs será mais difícil, mas ameaçá- " -"losserá mais fácil." +" Você assobia quando fala. Persuadir NPCs será mais difícil, mas ameaçá-los " +"será mais fácil." #: lang/json/mutation_from_json.py msgid "Shouter" -msgstr "Shouter" +msgstr "Berrador" #. ~ Description for Shouter #: lang/json/mutation_from_json.py @@ -122524,16 +128198,16 @@ msgstr "Você às vezes grita incontrolavelmente." #: lang/json/mutation_from_json.py msgid "Howler" -msgstr "Berrador" +msgstr "Uivador" #. ~ Description for Howler #: lang/json/mutation_from_json.py msgid "You frequently let out a piercing howl." -msgstr "Você freqüentemente deixa escapar um uivo estridente." +msgstr "Você frequentemente deixa escapar um uivo estridente." #: lang/json/mutation_from_json.py msgid "Feathered Arms" -msgstr "Braços emplumados" +msgstr "Braços Emplumados" #. ~ Description for Feathered Arms #: lang/json/mutation_from_json.py @@ -122542,13 +128216,13 @@ msgid "" "waterproof your arms and take the edge off hits, but really get in the way." " They're simply too small to help you in the air." msgstr "" -" Seus braços cresceram em cores vibrantes. Eles efetivamente " -"impermeabilizamseus braços e aliviam os limites, mas realmente atrapalham. " -"Eles sãosimplesmente pequenos demais para ajudá-lo no ar." +"Penas de cores vivas cresceram em seus braços. Elas efetivamente " +"impermeabilizam seus braços e aliviam os golpes, mas realmente atrapalham.E " +"são simplesmente pequenas demais para ajudá-lo no ar." #: lang/json/mutation_from_json.py msgid "Insect Limbs" -msgstr "Membros de insetos" +msgstr "Membros de Insetos" #. ~ Description for Insect Limbs #: lang/json/mutation_from_json.py @@ -122556,12 +128230,12 @@ msgid "" "You've *finally* sprouted a pair of arms from your midsection. They flail " "more-or-less uncontrollably, making you feel rather larval." msgstr "" -" Você * finalmente * brotou um par de braços de seu meio. Eles se agitammais" -" ou menos incontrolavelmente, fazendo você se sentir bastante larval." +" Você * finalmente * brotou um par de braços de seu meio. Eles se agitam " +"mais ou menos incontrolavelmente, fazendo você se sentir bastante larval." #: lang/json/mutation_from_json.py msgid "Insect Arms" -msgstr "Braços Insetos" +msgstr "Braços de Inseto" #. ~ Description for Insect Arms #: lang/json/mutation_from_json.py @@ -122569,13 +128243,12 @@ msgid "" "It's good having all your arms. Though they're too thin to block or punch, " "you can fold them inside human-shaped gear if need be." msgstr "" -" É bom ter todos os seus braços. Embora eles sejam muito finos para " -"bloquearou perfurar, você pode dobrá-los dentro da engrenagem humana se " -"fornecessário." +"É bom ter todos os seus braços. Embora eles sejam muito finos para bloquear " +"ou socar, você pode dobrá-los dentro de roupas humanas se for necessário." #: lang/json/mutation_from_json.py msgid "Arachnid Limbs" -msgstr "Membros de aracnídeos" +msgstr "Membros de Aracnídeo" #. ~ Description for Arachnid Limbs #: lang/json/mutation_from_json.py @@ -122583,13 +128256,13 @@ msgid "" "There's the last two limbs you were expecting. Unfortunately you still " "can't coordinate them, so you're getting in your own way. A lot." msgstr "" -" Há os dois últimos membros que você esperava. Infelizmente você ainda " -"nãoconsegue coordená-los, então você está seguindo seu próprio caminho. " +"Os dois últimos membros que você esperaria. Infelizmente você ainda não " +"consegue coordená-los, então você acaba entrando em seu próprio caminho. " "Muito." #: lang/json/mutation_from_json.py msgid "Arachnid Arms" -msgstr "Aracnídeos" +msgstr "Braços de Aracnídeo" #. ~ Description for Arachnid Arms #: lang/json/mutation_from_json.py @@ -122597,13 +128270,12 @@ msgid "" "You have four handsome limbs, and then those mutant 'hand' and 'foot' " "things. They probably aren't worth concealing." msgstr "" -" Você tem quatro membros bonitos, e depois aquelas coisas mutantes " -"de'mão' e 'pé'. Eles provavelmente não valem a pena " -"esconder." +" Você tem quatro membros bonitos, e depois aquelas coisas mutantes entre pés" +" e braços. Eles provavelmente não valem a pena esconder." #: lang/json/mutation_from_json.py msgid "Tentacle Arms" -msgstr "Braços de tentáculos" +msgstr "Braços de Tentáculo" #. ~ Description for Tentacle Arms #: lang/json/mutation_from_json.py @@ -122612,33 +128284,33 @@ msgid "" "Dexterity, permanent hand encumbrance of 30, and inability to wear gloves. " "Somewhat decreases wet penalties." msgstr "" -" Seus braços se transformaram em tentáculos, resultando em um bônus de 1para" -" Destreza, ônus permanente de 30 e incapacidade de usar luvas. Diminuium " -"pouco as penalidades molhadas." +" Seus braços se transformaram em tentáculos, resultando em um bônus de 1 " +"para Destreza, estorvo permanente de 30 para as mãos e incapacidade de usar " +"luvas. Diminui um pouco as penalidades relacionadas a se molhar." #: lang/json/mutation_from_json.py #, no-python-format msgid "You slap %s with your tentacle" -msgstr "" +msgstr "Você estapeia %s com seu tentáculo" #: lang/json/mutation_from_json.py #, no-python-format msgid "%1$s slaps %2$s with their tentacle" -msgstr "" +msgstr "%1$s estapeia %2$s com seu tentáculo" #: lang/json/mutation_from_json.py #, no-python-format msgid "You rake %s with your tentacle" -msgstr "" +msgstr "Você atinge %s com seu tentáculo" #: lang/json/mutation_from_json.py #, no-python-format msgid "%1$s rakes %2$s with their tentacle" -msgstr "" +msgstr "%1$s atinge %2$s com seu tentáculo" #: lang/json/mutation_from_json.py msgid "4 Tentacles" -msgstr "4 tentáculos" +msgstr "4 Tentáculos" #. ~ Description for 4 Tentacles #: lang/json/mutation_from_json.py @@ -122648,10 +128320,10 @@ msgid "" " You can make up to 3 extra attacks with them. Somewhat decreases wet " "penalties." msgstr "" -" Seus braços se transformaram em quatro tentáculos, resultando em um bônusde" -" 1 para Destreza, ônus permanente de mão de 30 e incapacidade de usarluvas. " -"Você pode fazer até 3 ataques extras com eles. Diminui um pouco " -"aspenalidades molhadas." +" Seus braços se transformaram em quatro tentáculos, resultando em um bônus " +"de 1 para Destreza, estorvo permanente de 30 nas mãos e incapacidade de usar" +" luvas. Você pode fazer até 3 ataques extras com eles. Diminui um pouco as " +"penalidades relacionadas a se molhar." #: lang/json/mutation_from_json.py msgid "8 Tentacles" @@ -122665,10 +128337,10 @@ msgid "" "gloves. You can make up to 7 extra attacks with them. Somewhat decreases " "wet penalties." msgstr "" -" Seus braços se transformaram em oito tentáculos, resultando em um bônus de1" -" para Destreza, ônus permanente das mãos de 30 e incapacidade de usarluvas. " -"Você pode fazer até 7 ataques extras com eles. Diminui um pouco " -"aspenalidades molhadas." +" Seus braços se transformaram em oito tentáculos, resultando em um bônus de " +"1 para Destreza, estorvo permanente de 30 nas mãos e incapacidade de usar " +"luvas. Você pode fazer até 7 ataques extras com eles. Diminui um pouco as " +"penalidades relacionadas a se molhar." #: lang/json/mutation_from_json.py msgid "Shell" @@ -122681,14 +128353,14 @@ msgid "" "You find you can use the empty space as 16 storage space, but cannot wear " "anything on your torso. Somewhat reduces wet effects." msgstr "" -" Você cresceu uma casca grossa sobre o seu torso, proporcionando " -"umaexcelente armadura. Você acha que pode usar o espaço vazio como 16 " -"espaçode armazenamento, mas não pode usar nada em seu torso. Algo reduz " -"osefeitos molhados." +"Uma concha grossa cresceu sobre o seu torso, proporcionando uma excelente " +"armadura. Você descobre que pode usar o espaço vazio como 16 espaços de " +"armazenamento, mas não pode usar vestir em seu torso. Reduz os efeitos " +"relacionados a se molhar um pouco." #: lang/json/mutation_from_json.py msgid "Roomy Shell" -msgstr "Concha espaçosa" +msgstr "Concha Espaçosa" #. ~ Description for Roomy Shell #: lang/json/mutation_from_json.py @@ -122697,13 +128369,13 @@ msgid "" "your whole body. Activate to pull your head and limbs into your shell, " "trading mobility and vision for warmth and shelter." msgstr "" -" Seu escudo protetor cresceu o suficiente para acomodar - se necessário " -"-todo o seu corpo. Ative para puxar a cabeça e os membros para dentro da " -"suaconcha, trocando mobilidade e visão por calor e abrigo." +"Sua concha protetora cresceu o suficiente para acomodar - se necessário " +"-todo o seu corpo. Ative para puxar a cabeça e os membros para dentro da sua" +" concha, trocando mobilidade e visão por calor e abrigo." #: lang/json/mutation_from_json.py msgid "Leg Tentacles" -msgstr "Tentáculos de perna" +msgstr "Pernas de Tentáculos" #. ~ Description for Leg Tentacles #: lang/json/mutation_from_json.py @@ -122713,6 +128385,9 @@ msgid "" " land by 20%, makes your movement silent, increases your swimming speed, and" " reduces wet penalties." msgstr "" +"Suas pernas se transformaram em seis tentáculos. Isso reduz sua velocidade " +"em terra por 20%, torna seu movimento silencioso, aumenta sua velocidade de " +"nado, e reduz penalidades de se molhar." #: lang/json/mutation_from_json.py msgid "Tentacle Bracing" @@ -122724,9 +128399,9 @@ msgid "" "Your lower-tentacles have developed suckers. They make land movement " "marginally more tiring, but do a good job of keeping you set in place." msgstr "" -" Seus tentáculos inferiores desenvolveram otários. Eles tornam o movimentode" -" terras um pouco mais cansativo, mas fazem um bom trabalho em mantê-lo " -"nolugar." +"Seus tentáculos inferiores desenvolveram ventosas. Elas tornam o movimento " +"em terra um pouco mais cansativo, mas fazem um bom trabalho em mantê-lo no " +"lugar." #. ~ Description for Lizard #: lang/json/mutation_from_json.py @@ -122756,8 +128431,8 @@ msgid "" "Ninety percent of the planet, and it's yours to explore. And colonize. And" " enjoy. What was that about a surface?" msgstr "" -" Noventa por cento do planeta, e é seu para explorar. E colonize. " -"Eaproveitar. O que foi aquilo sobre uma superfície?" +"Noventa por cento do planeta, e é seu para explorar. E colonizar. E " +"aproveitar. O que foi aquilo sobre uma superfície?" #. ~ Description for Beast #: lang/json/mutation_from_json.py @@ -122765,8 +128440,8 @@ msgid "" "It's about time you grew out. Now that you've matured, it is time to make " "something of yourself." msgstr "" -" Já é hora de você crescer. Agora que você amadureceu, é hora de fazer " -"algode si mesmo." +" Já é hora de você crescer. Agora que você amadureceu, é hora de fazer algo " +"de si mesmo." #. ~ Description for Feline #: lang/json/mutation_from_json.py @@ -122774,19 +128449,19 @@ msgid "" "Stalking prey, eating well, and lying in the sun. Mmm, all you could ever " "desire." msgstr "" -" Perseguindo a presa, comendo bem e deitado ao sol. Mmm, tudo que " -"vocêpoderia desejar." +"Perseguindo presas, comendo bem e deitando ao sol. Mmm, tudo que você " +"poderia desejar." #. ~ Description for Wolf #: lang/json/mutation_from_json.py msgid "You're the perfect candidate to lead a pack." -msgstr "Você é o candidato perfeito para liderar um bando." +msgstr "Você é o candidato perfeito para liderar uma alcatéia." #. ~ Description for Bear #: lang/json/mutation_from_json.py msgid "So the humans died, what's the worry? Now they won't ruin the woods." msgstr "" -" Então os humanos morreram, qual é a preocupação? Agora eles não vãoestragar" +"Então os humanos morreram, qual é a preocupação? Agora eles não vão estragar" " a floresta." #: lang/json/mutation_from_json.py @@ -122799,17 +128474,17 @@ msgid "" "Civilization collapsed? Great! You and your kin will never have to worry " "about a slaughterhouse again." msgstr "" -" Civilização entrou em colapso? Ótimo! Você e seu parente nunca mais " -"terãoque se preocupar com um matadouro." +"A civilização entrou em colapso? Ótimo! Você e seus parentes nunca mais " +"terão que se preocupar com um matadouro." #. ~ Description for Insect #: lang/json/mutation_from_json.py msgid "" "It would be good to be a Queen, having workers constantly servicing your " -"every need...but how would you keep them in line?" +"every need… but how would you keep them in line?" msgstr "" -" Seria bom ser uma Rainha, tendo os trabalhadores constantemente atendendo " -"atodas as suas necessidades ... mas como você os manteria na linha?" +"Seria bom ser uma Rainha, tendo operários constantemente suprindo todas as " +"suas necessidades... mas como você manteria eles na linha?" #. ~ Description for Plant #: lang/json/mutation_from_json.py @@ -122817,8 +128492,8 @@ msgid "" "Well, you still have those other walking flowers-and the mushrooms too-to " "deal with. But you'll manage." msgstr "" -" Bem, você ainda tem aquelas outras flores andando - e os cogumelos também " -"-para lidar. Mas você vai conseguir." +" Bem, você ainda tem aquelas outras flores ambulantes - e cogumelos também -" +" para lidar. Mas você vai conseguir." #: lang/json/mutation_from_json.py msgid "Aqueous" @@ -122827,11 +128502,11 @@ msgstr "Aquoso" #. ~ Description for Aqueous #: lang/json/mutation_from_json.py msgid "" -"What was that old advertisement, 'paint the planet'? That might be a good " -"long-term goal, but for now..." +"What was that old advertisement, 'paint the planet'? That might be a good " +"long-term goal, but for now…" msgstr "" -" Qual era aquele anúncio antigo, 'pintar o planeta'? Isso pode ser um bom " -"objetivo a longo prazo, mas por enquanto ..." +"O que dizia aquele anúncio antigo, \"pinte o planeta\"? Talvez fosse um bom " +"objetivo de longo prazo, mas por enquanto..." #: lang/json/mutation_from_json.py msgid "Subterranean" @@ -122844,9 +128519,9 @@ msgid "" " Now that you've become accustomed to your new digs, there's the beginnings" " of a great empire right here, underground." msgstr "" -" Não há muito sentido em se reconstruir naquela terra árida e " -"terrivelmentebrilhante. Agora que você se acostumou com suas novas " -"escavações, há ocomeço de um grande império bem aqui, no subsolo." +" Não há muito sentido em se reconstruir naquela terra árida, terrivelmente " +"brilhante e sem teto. Agora que você se acostumou com suas novas escavações," +" há o começo de um grande império bem aqui, no subsolo." #. ~ Description for Cephalopod #: lang/json/mutation_from_json.py @@ -122854,8 +128529,8 @@ msgid "" "Strange aeons, true, but Death seems to be slacking and you are doing just " "fine." msgstr "" -" Aeons estranhos, verdade, mas a morte parece estar afrouxando e você " -"estáindo muito bem." +"Épocas estranhas, verdade, mas a morte parece estar afrouxando e você está " +"indo muito bem." #: lang/json/mutation_from_json.py msgid "Arachnid" @@ -123402,10 +129077,10 @@ msgid "" msgstr "" #: lang/json/mutation_from_json.py -msgid "Debug Vision" -msgstr "Visão de Depuração" +msgid "Debug Night Vision" +msgstr "" -#. ~ Description for Debug Vision +#. ~ Description for Debug Night Vision #: lang/json/mutation_from_json.py msgid "You can clearly see that this is for dev purposes only." msgstr "" @@ -123604,6 +129279,17 @@ msgid "" "Keep. Moving." msgstr "" +#: lang/json/mutation_from_json.py +msgid "Wayfarer" +msgstr "" + +#. ~ Description for Wayfarer +#: lang/json/mutation_from_json.py +msgid "" +"Whether from personal choice or childhood trauma, travelling with vehicles " +"is off-limits to you, even if your life depended on it." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Survivor Story" msgstr "História do Sobrevivente" @@ -123617,6 +129303,15 @@ msgstr "História do Sobrevivente" msgid "This NPC could tell you about how they survived the cataclysm" msgstr "Este NPC poderia te contar como eles sobreviveram ao cataclismo" +#: lang/json/mutation_from_json.py +msgid "Mark of the Seer" +msgstr "" + +#. ~ Description for Mark of the Seer +#: lang/json/mutation_from_json.py +msgid "A strange occult symbol carved into your hand by Brigitte LaCroix." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Agriculture Training" msgstr "Treinamento Agrícola" @@ -124300,7 +129995,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "Technomancer" -msgstr "" +msgstr "Tecnomante" #. ~ Description for Technomancer #: lang/json/mutation_from_json.py @@ -124338,7 +130033,7 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "Druid" -msgstr "" +msgstr "Druída" #. ~ Description for Druid #: lang/json/mutation_from_json.py @@ -124519,6 +130214,23 @@ msgstr "" msgid "Gives all of the debug spells at max level." msgstr "" +#: lang/json/mutation_from_json.py +msgid "Made Of Sugar" +msgstr "De Açúcar" + +#. ~ Description for Made Of Sugar +#: lang/json/mutation_from_json.py +msgid "You are literally made of sugar." +msgstr "Você é literalmente de açúcar." + +#: lang/json/npc_class_from_json.py lang/json/npc_from_json.py +msgid "Bone Seer" +msgstr "Vidente de Ossos" + +#: lang/json/npc_class_from_json.py +msgid "I wish to sing the song of the Bones" +msgstr "Eu desejo cantar a canção dos Ossos" + #: lang/json/npc_class_from_json.py msgid "No class" msgstr "Sem classe" @@ -124529,7 +130241,7 @@ msgstr "Eu estou apenas vagando." #: lang/json/npc_class_from_json.py msgid "Debug Dude" -msgstr "Depurar Cara" +msgstr "Cara da Depuração" #: lang/json/npc_class_from_json.py msgid "I'm helping you test the game." @@ -124566,7 +130278,7 @@ msgstr "Negociante" #: lang/json/npc_class_from_json.py msgid "I'm collecting gear and selling it." -msgstr "Eu estou colecionando equipamento e vendendo isto." +msgstr "Eu estou colecionando e vendendo equipamento." #: lang/json/npc_class_from_json.py msgid "Ninja" @@ -124597,12 +130309,12 @@ msgid "Scientist" msgstr "Cientista" #: lang/json/npc_class_from_json.py -msgid "I'm looking for clues concerning these monsters' origins..." -msgstr "Estou procurando pistas sobre as origens desses monstros ..." +msgid "I'm looking for clues concerning these monsters' origins…" +msgstr "Estou procurando por pistas a respeito da origem desses monstros..." #: lang/json/npc_class_from_json.py msgid "Bounty Hunter" -msgstr "Caçador" +msgstr "Caçador de Recompensas" #: lang/json/npc_class_from_json.py msgid "I'm a killer for hire." @@ -124610,7 +130322,7 @@ msgstr "Eu sou um assassino de aluguel." #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py msgid "Thug" -msgstr "N" +msgstr "Jagunço" #: lang/json/npc_class_from_json.py msgid "I'm just here for the paycheck." @@ -124634,7 +130346,7 @@ msgstr "Eu só estou vendo o mundo queimar." #: lang/json/npc_class_from_json.py msgid "I'm tracking game." -msgstr "Estou acompanhando o jogo." +msgstr "Estou rastreando caça." #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py msgid "Soldier" @@ -124658,15 +130370,15 @@ msgstr "Estou com defeito - eu não deveria falar com você." #: lang/json/npc_class_from_json.py msgid "Real Person" -msgstr "" +msgstr "Pessoa Real" #: lang/json/npc_class_from_json.py -msgid "I'm just wandering, like a totally real and normal NP... Person!" +msgid "I'm just wandering, like a totally real and normal NP… Person!" msgstr "" #: lang/json/npc_class_from_json.py msgid "Chef" -msgstr "líder" +msgstr "Chef" #: lang/json/npc_class_from_json.py msgid "I'm a chef." @@ -124677,7 +130389,7 @@ msgid "Foodperson" msgstr "" #: lang/json/npc_class_from_json.py -msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" +msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" msgstr "" #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py @@ -124685,12 +130397,12 @@ msgid "Cyborg" msgstr "" #: lang/json/npc_class_from_json.py -msgid "Zzzzzt... I...I'm a Cy...BEEEEEP...borg." +msgid "Zzzzzt… I… I'm a Cy… BEEEEEP… borg." msgstr "" #: lang/json/npc_class_from_json.py msgid "former cop" -msgstr "" +msgstr "ex-policial" #: lang/json/npc_class_from_json.py msgid "I used to be a police officer, but I'm just a survivor now." @@ -124698,7 +130410,7 @@ msgstr "" #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py msgid "Barry Isherwood" -msgstr "" +msgstr "Barry Isherwood" #: lang/json/npc_class_from_json.py msgid "Missing member of the Isherwood family." @@ -124706,7 +130418,7 @@ msgstr "" #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py msgid "Carlos Isherwood" -msgstr "" +msgstr "Carlos Isherwood" #: lang/json/npc_class_from_json.py msgid "I'm Jesse's husband, part of the Isherwood family" @@ -124825,6 +130537,18 @@ msgstr "" msgid "I'm the owner of a trade caravan." msgstr "" +#: lang/json/npc_class_from_json.py +msgid "Operator" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "Mage Test" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "I'm a wandering debug tester for the arcane arts." +msgstr "" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -125098,6 +130822,10 @@ msgstr "" " Estou à procura de mutagéneo de raptor ... este mundo não é mais lugar para" " humanos, e eu não planejo continuar sendo um." +#: lang/json/npc_from_json.py +msgid "Brigitte LaCroix" +msgstr "" + #: lang/json/npc_from_json.py msgid "Tester" msgstr "Testador" @@ -125485,6 +131213,8 @@ msgid "" "Light and heavy industry, including buildings, equipment and parking areas." " " msgstr "" +"Indústria leve e pesada, incluindo construções, equipamento e áreas de " +"carga." #: lang/json/overmap_land_use_code_from_json.py msgid "Transitional" @@ -125496,6 +131226,9 @@ msgid "" "(if the future land use is at all uncertain). Formerly identified as Urban " "Open." msgstr "" +"Zonas abertas em processo de serem desenvolvidas de um tipo de uso da terra " +"para outro (se o uso futuro for de qualquer forma incerto). Anteriormente " +"identificado como Urbana Aberta." #: lang/json/overmap_land_use_code_from_json.py msgid "Transportation" @@ -125553,7 +131286,7 @@ msgstr "" #: lang/json/overmap_land_use_code_from_json.py msgid "Saltwater Sandy Beach" -msgstr "" +msgstr "Praias de Água Salgada Arenosas" #: lang/json/overmap_land_use_code_from_json.py msgid "DEP Wetlands (1:12,000) WETCODEs 1, 2, 3, 6, 10, 13, 17 and 19" @@ -125601,6 +131334,8 @@ msgid "" "Includes the gravestones, monuments, parking lots, road networks and " "associated buildings." msgstr "" +"Inclui os lotes de túmulos, monumentos, estacionamentos, redes de estradas e" +" instalações associadas." #: lang/json/overmap_land_use_code_from_json.py msgid "Orchard" @@ -125608,7 +131343,7 @@ msgstr "Pomar" #: lang/json/overmap_land_use_code_from_json.py msgid "Fruit farms and associated facilities." -msgstr "" +msgstr "Fazendas de frutas e instalações associadas." #: lang/json/overmap_land_use_code_from_json.py msgid "Nursery" @@ -125631,7 +131366,7 @@ msgstr "" #: lang/json/overmap_land_use_code_from_json.py msgid "Very Low Density Residential" -msgstr "" +msgstr "Residenciais de Densidade Muito Baixa" #: lang/json/overmap_land_use_code_from_json.py msgid "" @@ -125696,6 +131431,10 @@ msgstr "aluguer de barcos" msgid "lighthouse" msgstr "farol" +#: lang/json/overmap_terrain_from_json.py lang/json/snippet_from_json.py +msgid "island" +msgstr "ilha" + #: lang/json/overmap_terrain_from_json.py msgid "forest" msgstr "floresta" @@ -125816,7 +131555,7 @@ msgstr "estacionamento" #: lang/json/overmap_terrain_from_json.py msgid "irradiation plant" -msgstr "" +msgstr "planta de irradiação" #: lang/json/overmap_terrain_from_json.py msgid "field" @@ -125824,7 +131563,7 @@ msgstr "campo" #: lang/json/overmap_terrain_from_json.py msgid "crashed airliner" -msgstr "" +msgstr "avião caído" #: lang/json/overmap_terrain_from_json.py lang/json/terrain_from_json.py msgid "open air" @@ -126391,10 +132130,22 @@ msgstr "loja de música" msgid "music store roof" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore parking lot" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "megastore" msgstr "supermercado" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore, second floor" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "megastore roof" +msgstr "telhado megastore" + #: lang/json/overmap_terrain_from_json.py msgid "hotel parking" msgstr "estacionamento do hotel" @@ -126747,7 +132498,7 @@ msgstr "levantamento agropecuário" msgid "garage survey" msgstr "pesquisa de garagem" -#: lang/json/overmap_terrain_from_json.py +#: lang/json/overmap_terrain_from_json.py lang/json/recipe_from_json.py msgid "kitchen survey" msgstr "levantamento de cozinha" @@ -126768,7 +132519,7 @@ msgid "spiked trench" msgstr "trincheira cravada" #: lang/json/overmap_terrain_from_json.py -msgid "store survey" +msgid "fabrication workshop survey" msgstr "" #: lang/json/overmap_terrain_from_json.py @@ -126783,6 +132534,18 @@ msgstr "loja de ferreiro" msgid "livestock survey" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "store house survey" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "saltworks survey" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "canteen survey" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "crater" msgstr "cratera" @@ -127464,6 +133227,10 @@ msgstr "faixa de tiro" msgid "shooting range roof" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "miniature railway" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "golf course" msgstr "campo de golfe" @@ -127538,7 +133305,7 @@ msgstr "cinema" #: lang/json/overmap_terrain_from_json.py msgid "movie theater entrance" -msgstr "entrada do cinema" +msgstr "entrada de cinema" #: lang/json/overmap_terrain_from_json.py msgid "paintball field" @@ -128103,7 +133870,6 @@ msgid "Military Complex" msgstr "Complexo Militar" #: lang/json/overmap_terrain_from_json.py -#: lang/json/overmap_terrain_from_json.py src/vehicle_use.cpp msgid "reactor" msgstr "reator" @@ -128155,6 +133921,10 @@ msgstr "" msgid "mechanics garage" msgstr "garagem mecânica" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore entrance" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "sewage treatment" msgstr "tratamento de esgoto" @@ -128199,10 +133969,6 @@ msgstr "cabine arruinada - praça de terra" msgid "desert" msgstr "" -#: lang/json/overmap_terrain_from_json.py -msgid "megastore roof" -msgstr "telhado megastore" - #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Vagabond" @@ -130467,7 +136233,7 @@ msgstr "" #: lang/json/professions_from_json.py msgctxt "profession_female" msgid "Bionic Sniper" -msgstr "Atirador biônico" +msgstr "Atiradora Biônica" #. ~ Profession (female Bionic Sniper) description #: lang/json/professions_from_json.py @@ -130477,14 +136243,14 @@ msgid "" "targets from implausible distances, even after weeks of total isolation in " "enemy territory." msgstr "" -" Sua biônica, equipamentos e extenso treinamento em campo permitem que você " -"derrube alvos de distâncias implausíveis, mesmo após semanas de isolamento " -"total em território inimigo." +"Suas partes biônicas, equipamentos e extenso treinamento em campo permitem " +"que você derrube alvos de distâncias implausíveis, mesmo após semanas de " +"isolamento total em território inimigo." #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Bionic Agent" -msgstr "Agente biônico" +msgstr "Agente Biônico" #. ~ Profession (male Bionic Agent) description #: lang/json/professions_from_json.py @@ -130495,15 +136261,15 @@ msgid "" "specialist: you have night vision, an alarm, lock picking capabilities and a" " hacking module." msgstr "" -" Seu corpo tem várias biônicas no valor de milhões de dólares, pagas por " -"impostos públicos. O governo transformou você em um especialista em " -"infiltração e reconhecimento: você tem visão noturna, alarme, recursos de " -"bloqueio e um módulo de hackers." +"Seu corpo tem várias partes biônicas no valor de milhões de dólares, pagas " +"por impostos públicos. O governo transformou você em um especialista em " +"infiltração e reconhecimento: você tem visão noturna, um alarme, recursos de" +" abertura de fechadoras e um módulo de hackeamento." #: lang/json/professions_from_json.py msgctxt "profession_female" msgid "Bionic Agent" -msgstr "Agente biônico" +msgstr "Agente Biônica" #. ~ Profession (female Bionic Agent) description #: lang/json/professions_from_json.py @@ -130514,10 +136280,10 @@ msgid "" "specialist: you have night vision, an alarm, lock picking capabilities and a" " hacking module." msgstr "" -" Seu corpo tem várias biônicas no valor de milhões de dólares, pagas por " -"impostos públicos. O governo transformou você em um especialista em " -"infiltração e reconhecimento: você tem visão noturna, alarme, recursos de " -"bloqueio e um módulo de hackers." +"Seu corpo tem várias partes biônicas no valor de milhões de dólares, pagas " +"por impostos públicos. O governo transformou você em uma especialista em " +"infiltração e reconhecimento: você tem visão noturna, um alarme, recursos de" +" abertura de fechadoras e um módulo de hackeamento." #: lang/json/professions_from_json.py msgctxt "profession_male" @@ -130532,14 +136298,14 @@ msgid "" " sleeper agent capable of silently engaging your target while maintaining an" " innocuous appearance." msgstr "" -" O produto de milhões de dólares de pesquisa clandestina, você é um agente " -"dorminhoco biônico capaz de envolver silenciosamente seu alvo, mantendo uma " +"O produto de milhões de dólares em pesquisa clandestina, você é um agente " +"dormente biônico capaz de atingir silenciosamente seu alvo, mantendo uma " "aparência inócua." #: lang/json/professions_from_json.py msgctxt "profession_female" msgid "Bionic Assassin" -msgstr "Assassino Biônico" +msgstr "Assassina Biônica" #. ~ Profession (female Bionic Assassin) description #: lang/json/professions_from_json.py @@ -130549,14 +136315,14 @@ msgid "" " sleeper agent capable of silently engaging your target while maintaining an" " innocuous appearance." msgstr "" -" O produto de milhões de dólares de pesquisa clandestina, você é um agente " -"dorminhoco biônico capaz de envolver silenciosamente seu alvo, mantendo uma " +" O produto de milhões de dólares de pesquisa clandestina, você é uma agente " +"dormente biônica capaz de atingir silenciosamente seu alvo, mantendo uma " "aparência inócua." #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Bionic Gangster" -msgstr "Gangster biônico" +msgstr "Gangster Biônico" #. ~ Profession (male Bionic Gangster) description #: lang/json/professions_from_json.py @@ -130568,7 +136334,7 @@ msgid "" " job. After enjoying some period of freedom to do as you wanted, now you " "find yourself needing those skills to survive. " msgstr "" -" Você era o favorito do chefe, seu protegido; Eles sempre contaram com você " +"Você era o favorito do chefe, seu protegido; Eles sempre contaram com você " "para realizar os trabalhos mais difíceis. Vendo seu potencial, eles " "investiram em ampliações 'básicas' e os melhores equipamentos do mercado " "para melhor ajudá-lo em seu trabalho. Depois de desfrutar de algum período " @@ -130578,7 +136344,7 @@ msgstr "" #: lang/json/professions_from_json.py msgctxt "profession_female" msgid "Bionic Gangster" -msgstr "Gangster biônico" +msgstr "Gangster Biônica" #. ~ Profession (female Bionic Gangster) description #: lang/json/professions_from_json.py @@ -133163,6 +138929,36 @@ msgid "" "on. This displeases you." msgstr "" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Competetive Fencer" +msgstr "" + +#. ~ Profession (male Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Competetive Fencer" +msgstr "" + +#. ~ Profession (female Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Career Politician" @@ -134191,6 +139987,248 @@ msgid "" "flesh that is now your own, bare your fangs and fight until the next dawn." msgstr "" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Rifleman" +msgstr "" + +#. ~ Profession (male Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Rifleman" +msgstr "" + +#. ~ Profession (female Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Marksman" +msgstr "" + +#. ~ Profession (male Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Marksman" +msgstr "" + +#. ~ Profession (female Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Automatic Rifleman" +msgstr "" + +#. ~ Profession (male Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "S stands for suppressing fire!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Automatic Rifleman" +msgstr "" + +#. ~ Profession (female Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "S stands for suppressing fire!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Grenadier" +msgstr "" + +#. ~ Profession (male Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "There's no kill like overkill." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Grenadier" +msgstr "" + +#. ~ Profession (female Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "There's no kill like overkill." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Breacher" +msgstr "" + +#. ~ Profession (male Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Breacher" +msgstr "" + +#. ~ Profession (female Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Recon" +msgstr "" + +#. ~ Profession (male Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "The only easy day was yesterday." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Recon" +msgstr "" + +#. ~ Profession (female Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "The only easy day was yesterday." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Sniper" +msgstr "" + +#. ~ Profession (male Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Sniper" +msgstr "" + +#. ~ Profession (female Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Hacker" +msgstr "" + +#. ~ Profession (male Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Hacker" +msgstr "" + +#. ~ Profession (female Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Undercover" +msgstr "" + +#. ~ Profession (male Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Undercover" +msgstr "" + +#. ~ Profession (female Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator CBRN" +msgstr "" + +#. ~ Profession (male Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator CBRN" +msgstr "" + +#. ~ Profession (female Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Rookie" @@ -134324,7 +140362,7 @@ msgstr "" #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Druid" -msgstr "" +msgstr "Druída" #. ~ Profession (male Druid) description #: lang/json/professions_from_json.py @@ -134337,7 +140375,7 @@ msgstr "" #: lang/json/professions_from_json.py msgctxt "profession_female" msgid "Druid" -msgstr "" +msgstr "Druída" #. ~ Profession (female Druid) description #: lang/json/professions_from_json.py @@ -134835,6 +140873,32 @@ msgstr "" "pelo menos você não precisava lutar contra os mortos-vivos, e você tinha " "seus parentes para ficar ao seu lado. Aqui você está sozinho." +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Sugar Boy" +msgstr "" + +#. ~ Profession (Sugar Boy) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You're a human shaped candy brought to life under unknown circumstances. " +"You have your whole life ahead of you and it's gonna be sweet!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Sugar Girl" +msgstr "" + +#. ~ Profession (Sugar Girl) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You're a human shaped candy brought to life under unknown circumstances. " +"You have your whole life ahead of you and it's gonna be sweet!" +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Fighter" @@ -136003,16 +142067,6 @@ msgstr "ARMADURAS EQUINAS" msgid "BUILDING" msgstr "CONSTRUÇÃO" -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "BASES" -msgstr "BASES" - -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "EXPANSIONS" -msgstr "EXPANSÕES" - #. ~ Crafting recipes category name #: lang/json/recipe_category_from_json.py msgid "ENCHANTED" @@ -136950,6 +143004,233 @@ msgid "" "between the southeast and southwest rooms with wood panel." msgstr "" +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should reorganize that dining area into our " +"kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "prepare the kitchen area" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a well, put it near that winch. This will make our future " +"here more secure." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a well" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's set up a radio tower to improve our recruitment efforts, we'll " +"repurpose that terminal for it." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a radio tower and console" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should add some storage and a root cellar in" +" our kitchen area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "add storage and root cellar" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's break up some pavement so we can farm." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "break up driveway" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build a privacy fence around the garden." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a privacy fence" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build a fireplace for cooking and " +"grab a pot. Let's put it in that dining area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a fireplace" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should set up a brazier for cooking, and " +"grab a pot. Let's put it in that dining area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a brazier" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build a stove for cooking and grab a " +"pot. Let's put it in that dining area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wood stove" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build some smokers and a charcoal kiln for food preservation." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build smoking racks and charcoal kiln" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make a butchery area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build butchery area" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's add a vat for fermenting." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build fermenting vats" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's gather some tools so we can work on cars." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "add tools for garage" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's expand our living areas, we'll use that far vehicle bay." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the living quarters walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the SW bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the northwest bedroom." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the NW bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the SE bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the northeast bedroom." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the NE bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the common area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the common area furniture" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build a fabrication workshop." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a metalworking forge" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's an an anvil and crucible to increase our crafting options." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "add an anvil and crucible" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build pottery kiln and get the tools we'll need for glassworking." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a pottery kiln" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "We need some tools for metal working." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "place advanced tools" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's get a nice workbench built to improve our work. Place it next to the " +"anvil." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a workbench" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's add a bellows and barrel for quenching the steel, we'll need more " +"tools too." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a bellows and barrel" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build a drop hammer for some mass production." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a drop hammer." +msgstr "" + #: lang/json/recipe_from_json.py msgid "We need to survey the base site first." msgstr "" @@ -137499,6 +143780,360 @@ msgstr "" msgid "Blacksmithy drop hammer" msgstr "" +#: lang/json/recipe_from_json.py +msgid "Survey land for a kitchen and dining area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 fireplaces for cooking and " +"grab a pot." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 2 fireplaces" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 stoves for cooking and grab a" +" pot." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 2 wood stoves" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "We should build a well. This will make cooking more convenient." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build some counters and shelves." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build kitchen counters" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build 3 smoking racks and a charcoal kiln" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets furnish the pantry and build 2 root cellars." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make some furniture for the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the dining room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build some planters to the north for a chef's garden." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build some planters" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen log walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the log wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen log walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the log wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this log wall smoking area covered to protect the workers from the " +"weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a log wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a log wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a log wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west log wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W log wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east log wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E log wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the log wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the log wall dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen metal walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the metal wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen metal walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the metal wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this metal wall smoking area covered to protect the workers from " +"the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a metal wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west metal wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W metal wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east metal wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E metal wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the metal wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the metal wall dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen rock walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen rock walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the rock wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this rock wall smoking area covered to protect the workers from the" +" weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a rock wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west rock wall of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W rock wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east rock wall of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E rock wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the rock dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wattle and daub walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the wattle and daub central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wattle and daub walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the wattle and daub central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wattle and daub smoking area covered to protect the workers " +"from the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wattle and daub wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wattle and daub wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wattle and daub wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wattle and daub dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the wattle and daub dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wood panel walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the wood panel central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wood panel walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the wood panel central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wood panel smoking area covered to protect the workers from " +"the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wood panel pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wood panel wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wood wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wood panel wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wood wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wood panel dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the dining hall" +msgstr "" + #: lang/json/recipe_from_json.py msgid "Survey land for a livestock area." msgstr "" @@ -137667,6 +144302,424 @@ msgid "" " a roof on the southwest side of the livestock field." msgstr "" +#: lang/json/recipe_from_json.py +msgid "Survey land for a saltworks area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Saltworks survey" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could uprade the workspace in the brewery to add a still, wood stove and " +"work table." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery still" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "We could use fill out the space with extra kegs and storage racks." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery kegs" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a log building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE log wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a log shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE log wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a log " +"brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW log wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a metal shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE metal wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a metal shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE metal wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a metal" +" wall brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW metal wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a stone building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE stone wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a stone wall " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE stone wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a stone" +" brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW stone wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in an adobe hut." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wattle and daub saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build an adobe shack" +" with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wattle and daub storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build an " +"wattle and daub brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wattle and daub brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a wooden shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wood panel saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a wood panel " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wood panel storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a " +"wooden brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wood panel brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a fireplace for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a brazier for cooking and grab a pot. Let's set up near the" +" working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a wood stove for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a well, put it near the terminal. This will make our future" +" here more secure." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the E bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the W bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make a dining area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make a living room area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the living room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build some pantry storage." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build some wooden racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build a work bench." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a work bench" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's set up a radio tower to improve our recruitment efforts." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will start in the " +"southeast corner." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the same wall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the other wall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW wood panel bedroom walls" +msgstr "" + #: lang/json/recipe_from_json.py msgid "" "We could use a large log central storage building. Begin by building the " @@ -138003,7 +145056,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northwest." +"Some benches around the outside would be nice. Build some to the northwest." msgstr "" #: lang/json/recipe_from_json.py @@ -138012,7 +145065,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northeast." +"Some benches around the outside would be nice. Build some to the northeast." msgstr "" #: lang/json/recipe_from_json.py @@ -138021,7 +145074,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southeast." +"Some benches around the outside would be nice. Build some to the southeast." msgstr "" #: lang/json/recipe_from_json.py @@ -138030,7 +145083,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southwest." +"Some benches around the outside would be nice. Build some to the southwest." msgstr "" #: lang/json/recipe_from_json.py @@ -138244,6 +145297,14 @@ msgstr "" msgid "Field Camp" msgstr "" +#: lang/json/recipe_group_from_json.py +msgid "Firestation Base" +msgstr "" + +#: lang/json/recipe_group_from_json.py +msgid "Evac Shelter Base" +msgstr "" + #: lang/json/recipe_group_from_json.py msgid "Farm" msgstr "Fazenda" @@ -138253,12 +145314,8 @@ msgid "Garage" msgstr "Garagem" #: lang/json/recipe_group_from_json.py -msgid "Kitchen" -msgstr "Cozinha" - -#: lang/json/recipe_group_from_json.py -msgid "Blacksmith Shop" -msgstr "Loja de ferreiro" +msgid "Canteen" +msgstr "" #: lang/json/recipe_group_from_json.py msgid "Livestock Area" @@ -138269,7 +145326,11 @@ msgid "Central Storage Building" msgstr "" #: lang/json/recipe_group_from_json.py -msgid "Fabrication workshop" +msgid "Saltworks Area" +msgstr "" + +#: lang/json/recipe_group_from_json.py +msgid "Fabrication Workshop" msgstr "" #: lang/json/recipe_group_from_json.py @@ -138400,6 +145461,10 @@ msgstr "Cozinheiro: carne, enlatada" msgid " Cook: Meat Aspic" msgstr "Cozinheiro: carne Aspic" +#: lang/json/recipe_group_from_json.py +msgid " Cook: Kompot" +msgstr "" + #: lang/json/recipe_group_from_json.py msgid " Craft: Pointy Sticks" msgstr "Artesanato: Palitos pontudos" @@ -139101,7 +146166,7 @@ msgstr "Cilada" #: lang/json/scenario_from_json.py msgctxt "scen_desc_male" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "" @@ -139109,7 +146174,7 @@ msgstr "" #: lang/json/scenario_from_json.py msgctxt "scen_desc_female" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "" @@ -139657,6 +146722,84 @@ msgctxt "start_name" msgid "Wizard's Secret Basement Study" msgstr "" +#. ~ Name for scenario 'The Wizard's Vacation' for a male character +#: lang/json/scenario_from_json.py +msgctxt "scenario_male" +msgid "The Wizard's Vacation" +msgstr "" + +#. ~ Name for scenario 'The Wizard's Vacation' for a female character +#: lang/json/scenario_from_json.py +msgctxt "scenario_female" +msgid "The Wizard's Vacation" +msgstr "" + +#. ~ Description for scenario 'The Wizard's Vacation' for a male character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_male" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" + +#. ~ Description for scenario 'The Wizard's Vacation' for a female character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_female" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" + +#. ~ Starting location for scenario 'The Wizard's Vacation'. +#: lang/json/scenario_from_json.py +msgctxt "start_name" +msgid "Wizard's Retreat Vacation" +msgstr "" + +#. ~ Name for scenario 'The Sweet Life' for a male character +#: lang/json/scenario_from_json.py +msgctxt "scenario_male" +msgid "The Sweet Life" +msgstr "" + +#. ~ Name for scenario 'The Sweet Life' for a female character +#: lang/json/scenario_from_json.py +msgctxt "scenario_female" +msgid "The Sweet Life" +msgstr "" + +#. ~ Description for scenario 'The Sweet Life' for a male character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_male" +msgid "" +"You open your eyes as if for the first time, looking at yourself you can see" +" your skin gleam in the light. One word come to your mind \"sugar\" you " +"don't remember where you learned it, in fact you don't remember anything. " +"You don't know why but you feel hopeful, everything feels new and you're " +"going to make the best of it!" +msgstr "" + +#. ~ Description for scenario 'The Sweet Life' for a female character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_female" +msgid "" +"You open your eyes as if for the first time, looking at yourself you can see" +" your skin gleam in the light. One word come to your mind \"sugar\" you " +"don't remember where you learned it, in fact you don't remember anything. " +"You don't know why but you feel hopeful, everything feels new and you're " +"going to make the best of it!" +msgstr "" + +#. ~ Starting location for scenario 'The Sweet Life'. +#: lang/json/scenario_from_json.py +msgctxt "start_name" +msgid "Candy Shop" +msgstr "Loja de Doces" + #. ~ Name for scenario 'Robots' for a male character #: lang/json/scenario_from_json.py msgctxt "scenario_male" @@ -143167,10 +150310,6 @@ msgstr "Alcançar, !" msgid "Keep up!" msgstr "Manter-se!" -#: lang/json/snippet_from_json.py -msgid "Come on, !" -msgstr "Vamos, !" - #: lang/json/snippet_from_json.py msgid "Keep it moving!" msgstr "Mantenha-o em movimento!" @@ -144416,11 +151555,11 @@ msgstr "Aí está você." #: lang/json/snippet_from_json.py msgid "Time for you to die," -msgstr "Hora de você morrer" +msgstr "Hora de você morrer," #: lang/json/snippet_from_json.py msgid "This bullet is for you," -msgstr "Essa bala é pra você" +msgstr "Essa bala é pra você," #: lang/json/snippet_from_json.py msgid "I can take on" @@ -144588,7 +151727,7 @@ msgstr "Isso parece ruim." msgid "Be alert, something is up!" msgstr "Esteja alerta, algo está acontecendo!" -#: lang/json/snippet_from_json.py src/player.cpp +#: lang/json/snippet_from_json.py msgid "Did you hear that?" msgstr "Você ouviu isso?" @@ -144814,13 +151953,7 @@ msgid "" msgstr "" #: lang/json/snippet_from_json.py -msgid "Pass me a beer, I need to power my ethanol burner." -msgstr "" - -#: lang/json/snippet_from_json.py -msgid "" -"Ethanol burners! The power source that's fun to recharge. Get me a drink, " -"please!" +msgid "Pass some ethanol, I need to power my ethanol burner." msgstr "" #: lang/json/snippet_from_json.py @@ -144828,20 +151961,12 @@ msgid "Waiter! I need a refill, my ethanol burner is running out of charge!" msgstr "" #: lang/json/snippet_from_json.py -msgid "" -"I require ethanol-based drinks for my internal power supply. Anything on " -"you?" -msgstr "" - -#: lang/json/snippet_from_json.py -msgid "" -"Got any alcohol to spare? Need to recharge my drives. Mead, if you have any." +msgid "I require ethanol for my internal power supply. Anything on you?" msgstr "" #: lang/json/snippet_from_json.py msgid "" -"This ethanol-burning power supply is the best implant I ever got. Speaking " -"of which, got some booze to top me off?" +"Got any alcohol to spare? Need to recharge my drives. Methanol, would do." msgstr "" #: lang/json/snippet_from_json.py @@ -145517,6 +152642,47 @@ msgstr "" msgid " will follow normal engagement rules." msgstr "" +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"IMMERSION LOG: 27A\n" +"\n" +"INCIDENT REPORT:\n" +"\n" +"SUMMARY:\n" +"Unforeseen EM interference source forced the team to remain in-phase between prime and sub-scape 27. Expedition members reported observing a spheroid-entity ('PE-01') moving beneath the typically opaque t-substrate. Interference readings and expedition testimony implies the PE-01 was a potent EM radiation source, and the origin of the interference. After 30 min, PE-01 receded and the expedition was aborted in accordance of procedure EMER-12. The expedition team suffered no injuries, physical or mental, during the incident. \n" +"\n" +"It's become clear we have greatly underestimated the risk posed by phase immersions. Engineering has been tasked with designing a new, improved protection suite, and has shown promising advances. Updated emergency procedures are in-progress.\n" +"\n" +"Refer to file EXO-I-271 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALYSIS OF TRANSPLANAR MATERIALS\n" +"\n" +"T-SUBSTRATE\n" +"\n" +"SUMMARY:\n" +"The material henceforth named t-substrate is the naturally occurring 'floor' material of phase-space. Samples of t-substrate were first recovered during IMMERSION-25A, when upon return to prime the samples violently [////////], exhibiting what are now known as 'plane-uneven' physical properties. The following report will examine such variances to the best extent of our knowledge.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALISIS OF TRANSPLANAR MATERIALS \n" +"\n" +"T-SUBSTRATE\n" +"\n" +"HAADF MICROGRAPH:\n" +"An atomic-scale photograph shows only a completely smooth red surface. In the lower left corner the phrase 'Not made of atoms?!' is scrawled with a blue pen.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + #: lang/json/snippet_from_json.py msgid "" "\n" @@ -145839,160 +153005,280 @@ msgstr "" "do seu lado." #: lang/json/snippet_from_json.py -msgid "popular " -msgstr "popular" +msgid "some ." +msgstr "" #: lang/json/snippet_from_json.py -msgid "top-forty " -msgstr "top-quarenta" +msgid "some . The is ." +msgstr "" #: lang/json/snippet_from_json.py -msgid "corporate " -msgstr "corporativo" +msgid " " +msgstr "" #: lang/json/snippet_from_json.py -msgid "commercial " -msgstr "comercial" +msgid "" +msgstr "" #: lang/json/snippet_from_json.py -msgid "alternative " -msgstr "alternativa" +msgid " " +msgstr "" #: lang/json/snippet_from_json.py -msgid "college " -msgstr "Faculdade" +msgid "" +msgstr "" #: lang/json/snippet_from_json.py -msgid "arthouse " -msgstr "arthouse" +msgid " " +msgstr "" #: lang/json/snippet_from_json.py -msgid "underground " -msgstr "subterrâneo" +msgid "amazing" +msgstr "" #: lang/json/snippet_from_json.py -msgid "experimental " -msgstr "experimental" +msgid "funky" +msgstr "" #: lang/json/snippet_from_json.py -msgid "forgotten " -msgstr "esquecido" +msgid "pretty good" +msgstr "" #: lang/json/snippet_from_json.py -msgid "traditional " -msgstr "tradicional" +msgid "sweet" +msgstr "" #: lang/json/snippet_from_json.py -msgid "historical " -msgstr "histórico" +msgid "sick" +msgstr "" #: lang/json/snippet_from_json.py -msgid "classic " -msgstr "clássico" +msgid "totally danceable" +msgstr "" #: lang/json/snippet_from_json.py -msgid "modern " -msgstr "moderno" +msgid "bangin'" +msgstr "" #: lang/json/snippet_from_json.py -msgid "adult " -msgstr "adulto" +msgid "grating" +msgstr "" #: lang/json/snippet_from_json.py -msgid "contemporary " -msgstr "contemporâneo" +msgid "ear-splitting" +msgstr "" #: lang/json/snippet_from_json.py -msgid "Christian " -msgstr "cristão" +msgid "too slow for your taste" +msgstr "" #: lang/json/snippet_from_json.py -msgid "Pagan " -msgstr "Pagão" +msgid "frenetic" +msgstr "" #: lang/json/snippet_from_json.py -msgid "British " -msgstr "britânico" +msgid "gnarly" +msgstr "" #: lang/json/snippet_from_json.py -msgid "Continental " -msgstr "Continental" +msgid "chaotic" +msgstr "" + +#: lang/json/snippet_from_json.py src/iuse.cpp +msgid "not bad" +msgstr "não é ruim" #: lang/json/snippet_from_json.py -msgid "tropical " -msgstr "tropical" +msgid "not bad, not bad at all" +msgstr "" #: lang/json/snippet_from_json.py -msgid "island " -msgstr "ilha" +msgid "honestly kinda mediocre" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "bassline" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "melody" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "chorus" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "guitar part" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "drum part" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "violin part" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "horn section" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "intro" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "popular" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "top-forty" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "corporate" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "commercial" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "alternative" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "college" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "arthouse" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "underground" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "experimental" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "traditional" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "historical" +msgstr "" + +#: lang/json/snippet_from_json.py src/panels.cpp +msgid "classic" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "modern" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "adult" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "contemporary" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Christian" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Pagan" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "British" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Continental" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "tropical" +msgstr "" #: lang/json/snippet_from_json.py -msgid "New York " -msgstr "Nova york" +msgid "New York" +msgstr "" #: lang/json/snippet_from_json.py -msgid "Hollywood " -msgstr "Hollywood" +msgid "Hollywood" +msgstr "" #: lang/json/snippet_from_json.py -msgid "Trans-Pacific " -msgstr "Trans-Pacífico" +msgid "Trans-Pacific" +msgstr "" #: lang/json/snippet_from_json.py -msgid "Latin " -msgstr "Latim" +msgid "Latin" +msgstr "" #: lang/json/snippet_from_json.py -msgid "instrumental " -msgstr "instrumental" +msgid "instrumental" +msgstr "" #: lang/json/snippet_from_json.py -msgid "fusion " -msgstr "fusão" +msgid "fusion" +msgstr "" #: lang/json/snippet_from_json.py -msgid "visual " -msgstr "visual" +msgid "visual" +msgstr "" #: lang/json/snippet_from_json.py -msgid "liquid " -msgstr "líquido" +msgid "liquid" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "digital" +msgstr "" #: lang/json/snippet_from_json.py -msgid "digital " -msgstr "digital" +msgid "procedurally generated" +msgstr "" #: lang/json/snippet_from_json.py -msgid "procedurally generated " -msgstr "gerado processualmente" +msgid "melodic" +msgstr "" #: lang/json/snippet_from_json.py -msgid "melodic " -msgstr "melódico" +msgid "harmonious" +msgstr "" #: lang/json/snippet_from_json.py -msgid "harmonious " -msgstr "harmonioso" +msgid "discordant" +msgstr "" #: lang/json/snippet_from_json.py -msgid "discordant " -msgstr "discordante" +msgid "contextual" +msgstr "" #: lang/json/snippet_from_json.py -msgid "contextual " -msgstr "contextual" +msgid "conceptual" +msgstr "" #: lang/json/snippet_from_json.py -msgid "conceptual " -msgstr "conceptual" +msgid "collaborative" +msgstr "" #: lang/json/snippet_from_json.py -msgid "collaborative " -msgstr "colaborativo" +msgid "forgotten" +msgstr "" #: lang/json/snippet_from_json.py -msgid "rhythmic " -msgstr "rítmico" +msgid "rhythmic" +msgstr "" #: lang/json/snippet_from_json.py msgid "neo" @@ -146242,6 +153528,118 @@ msgstr "narco" msgid "gangster " msgstr "gangster" +#: lang/json/snippet_from_json.py +msgid "folk" +msgstr "pessoas" + +#: lang/json/snippet_from_json.py +msgid "country" +msgstr "país" + +#: lang/json/snippet_from_json.py +msgid "jazz" +msgstr "jazz" + +#: lang/json/snippet_from_json.py +msgid "blues" +msgstr "blues" + +#: lang/json/snippet_from_json.py +msgid "soul" +msgstr "alma" + +#: lang/json/snippet_from_json.py +msgid "R&B" +msgstr "R & B" + +#: lang/json/snippet_from_json.py +msgid "hip-hop" +msgstr "hip hop" + +#: lang/json/snippet_from_json.py +msgid "swing" +msgstr "balanço" + +#: lang/json/snippet_from_json.py +msgid "funk" +msgstr "funk" + +#: lang/json/snippet_from_json.py +msgid "disco" +msgstr "disco" + +#: lang/json/snippet_from_json.py +msgid "polka" +msgstr "polca" + +#: lang/json/snippet_from_json.py +msgid "tango" +msgstr "tango" + +#: lang/json/snippet_from_json.py +msgid "salsa" +msgstr "salsa" + +#: lang/json/snippet_from_json.py +msgid "mambo" +msgstr "coisas" + +#: lang/json/snippet_from_json.py +msgid "electronic" +msgstr "eletrônico" + +#: lang/json/snippet_from_json.py +msgid "metal" +msgstr "metal" + +#: lang/json/snippet_from_json.py +msgid "reaggae" +msgstr "reaggae" + +#: lang/json/snippet_from_json.py +msgid "ska" +msgstr "deveria" + +#: lang/json/snippet_from_json.py +msgid "thrash" +msgstr "thrash" + +#: lang/json/snippet_from_json.py +msgid "goth" +msgstr "gótico" + +#: lang/json/snippet_from_json.py +msgid "industrial" +msgstr "industrial" + +#: lang/json/snippet_from_json.py +msgid "psychedelic" +msgstr "psicodélico" + +#: lang/json/snippet_from_json.py +msgid "noise" +msgstr "barulho" + +#: lang/json/snippet_from_json.py +msgid "sound" +msgstr "som" + +#: lang/json/snippet_from_json.py +msgid "revival" +msgstr "renascimento" + +#: lang/json/snippet_from_json.py +msgid "gospel" +msgstr "gospel" + +#: lang/json/snippet_from_json.py +msgid "opera" +msgstr "ópera" + +#: lang/json/snippet_from_json.py +msgid "shanties" +msgstr "casebres" + #: lang/json/snippet_from_json.py msgid "-tune" msgstr "-afinação" @@ -146283,116 +153681,392 @@ msgid "-chant" msgstr "-Sing" #: lang/json/snippet_from_json.py -msgid "folk" -msgstr "pessoas" +msgid "Hey, can you hear me?" +msgstr "Ei, você pode me ouvir?" #: lang/json/snippet_from_json.py -msgid "country" -msgstr "país" +msgid "Don't touch me." +msgstr "Não me toque." #: lang/json/snippet_from_json.py -msgid "jazz" -msgstr "jazz" +msgid "What's your name?" +msgstr "Qual o seu nome?" #: lang/json/snippet_from_json.py -msgid "blues" -msgstr "blues" +msgid "I thought you were my friend." +msgstr "Eu pensei que você era meu amigo." #: lang/json/snippet_from_json.py -msgid "soul" -msgstr "alma" +msgid "How are you today?" +msgstr "Como você está hoje?" #: lang/json/snippet_from_json.py -msgid "R&B" -msgstr "R & B" +msgid "Shut up! Don't lie to me." +msgstr "Cale-se! Não minta para mim." + +#: lang/json/snippet_from_json.py src/iuse.cpp +msgid "Why would you do that?" +msgstr "Por que você faria isso?" #: lang/json/snippet_from_json.py -msgid "hip-hop" -msgstr "hip hop" +msgid "Please, don't go." +msgstr "Por favor, não vá." #: lang/json/snippet_from_json.py -msgid "swing" -msgstr "balanço" +msgid "Don't leave me alone!" +msgstr "Não me deixe em paz!" #: lang/json/snippet_from_json.py -msgid "funk" -msgstr "funk" +msgid "No way, man." +msgstr "De jeito nenhum, cara." #: lang/json/snippet_from_json.py -msgid "disco" -msgstr "disco" +msgid "Do you really think so?" +msgstr "Você acha mesmo?" #: lang/json/snippet_from_json.py -msgid "polka" -msgstr "polca" +msgid "Is it really time for that?" +msgstr "É mesmo tempo para isso?" #: lang/json/snippet_from_json.py -msgid "tango" -msgstr "tango" +msgid "Sorry, I can't hear you." +msgstr "Desculpe, não posso te ouvir." #: lang/json/snippet_from_json.py -msgid "salsa" -msgstr "salsa" +msgid "You've told me already." +msgstr "Você já me contou." #: lang/json/snippet_from_json.py -msgid "mambo" -msgstr "coisas" +msgid "I know!" +msgstr "Eu sei!" #: lang/json/snippet_from_json.py -msgid "electronic" -msgstr "eletrônico" +msgid "Why are you following me?" +msgstr "Por que você está me seguindo?" #: lang/json/snippet_from_json.py -msgid "metal" -msgstr "metal" +msgid "This place is dangerous, you shouldn't be here." +msgstr "Este lugar é perigoso, você não deveria estar aqui." + +#: lang/json/snippet_from_json.py lang/json/talk_topic_from_json.py +msgid "What are you doing out here?" +msgstr "O que você está fazendo aqui?" #: lang/json/snippet_from_json.py -msgid "reaggae" -msgstr "reaggae" +msgid "That's not true, is it?" +msgstr "Isso não é verdade, é?" #: lang/json/snippet_from_json.py -msgid "ska" -msgstr "deveria" +msgid "Are you hurt?" +msgstr "Você está machucado?" #: lang/json/snippet_from_json.py -msgid "thrash" -msgstr "thrash" +#, no-python-format +msgid "Hey, let's go kill that %1$s!" +msgstr "" #: lang/json/snippet_from_json.py -msgid "goth" -msgstr "gótico" +#, no-python-format +msgid "Did you see that %1$s!?" +msgstr "" #: lang/json/snippet_from_json.py -msgid "industrial" -msgstr "industrial" +#, no-python-format +msgid "I want to kill that %1$s!" +msgstr "" #: lang/json/snippet_from_json.py -msgid "psychedelic" -msgstr "psicodélico" +#, no-python-format +msgid "Let me kill that %1$s!" +msgstr "" #: lang/json/snippet_from_json.py -msgid "noise" -msgstr "barulho" +#, no-python-format +msgid "Hey, I need to kill that %1$s!" +msgstr "" #: lang/json/snippet_from_json.py -msgid "sound" -msgstr "som" +#, no-python-format +msgid "I want to watch that %1$s bleed!" +msgstr "" #: lang/json/snippet_from_json.py -msgid "revival" -msgstr "renascimento" +#, no-python-format +msgid "Wait, that %1$s needs to die!" +msgstr "" #: lang/json/snippet_from_json.py -msgid "gospel" -msgstr "gospel" +#, no-python-format +msgid "Go kill that %1$s!" +msgstr "" #: lang/json/snippet_from_json.py -msgid "opera" -msgstr "ópera" +#, no-python-format +msgid "Look at that %1$s!" +msgstr "" #: lang/json/snippet_from_json.py -msgid "shanties" -msgstr "casebres" +#, no-python-format +msgid "That %1$s doesn't deserve to live!" +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Hey, you're bleeding." +msgstr "Ei, você está sangrando." + +#: lang/json/snippet_from_json.py +msgid "Your wound looks pretty bad." +msgstr "Sua ferida parece muito ruim." + +#: lang/json/snippet_from_json.py +msgid "Shouldn't you put a bandage on that?" +msgstr "Você não deveria colocar uma bandagem nisso?" + +#: lang/json/snippet_from_json.py +msgid "Please don't die! No one else lets me kill things!" +msgstr "Por favor, não morra! Ninguém mais me deixa matar coisas!" + +#: lang/json/snippet_from_json.py +msgid "You look hurt, did I do that?" +msgstr "Você parece ferido, eu fiz isso?" + +#: lang/json/snippet_from_json.py +msgid "Are you supposed to be bleeding?" +msgstr "Você deveria estar sangrando?" + +#: lang/json/snippet_from_json.py +msgid "You're not going to die, are you?" +msgstr "Você não vai morrer, vai?" + +#: lang/json/snippet_from_json.py +msgid "Kill a few more before you bleed out!" +msgstr "Mate mais alguns antes de sangrar!" + +#: lang/json/snippet_from_json.py +msgid "Hey fix me up." +msgstr "Ei, conserte-me" + +#: lang/json/snippet_from_json.py +msgid "I need healing!" +msgstr "Eu preciso de cura!" + +#: lang/json/snippet_from_json.py +msgid "I hurt all over..." +msgstr "Estou todo(a) dolorido(a)..." + +#: lang/json/snippet_from_json.py +msgid "You can put me back together, right?" +msgstr "Você pode me colocar de volta, certo?" + +#: lang/json/snippet_from_json.py +msgid "I... I can't move my legs!" +msgstr "Eu... Eu não consigo mover minhas pernas!" + +#: lang/json/snippet_from_json.py +msgid "Medic!" +msgstr "Médico!" + +#: lang/json/snippet_from_json.py +msgid "I can still fight, don't replace me!" +msgstr "Eu ainda posso lutar, não me substitua!" + +#: lang/json/snippet_from_json.py +msgid "They got me!" +msgstr "Me pegaram!" + +#: lang/json/snippet_from_json.py +msgid "*cough cough* Go on without me..." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Am I gonna die?" +msgstr "Irei morre?" + +#: lang/json/snippet_from_json.py +msgid "Let me kill something already!" +msgstr "Deixe-me matar alguma coisa já!" + +#: lang/json/snippet_from_json.py +msgid "I'm your best friend, right?" +msgstr "Eu sou sua melhor amiga, certo?" + +#: lang/json/snippet_from_json.py lang/json/speech_from_json.py +msgid "I love you!" +msgstr "Eu te amo!" + +#: lang/json/snippet_from_json.py +msgid "Do you think it will rain today?" +msgstr "Você acha que vai chover hoje?" + +#: lang/json/snippet_from_json.py +msgid "Try not to drop me." +msgstr "Tente não me deixar cair." + +#: lang/json/snippet_from_json.py +msgid "How many do you think we've killed?" +msgstr "Quantos você acha que nós matamos?" + +#: lang/json/snippet_from_json.py +msgid "I'll keep you safe!" +msgstr "Eu vou te manter em segurança!" + +#: lang/json/snippet_from_json.py +msgid "You feel like the world is out to get you." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "You feel a mounting sense of impending doom." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"You gain the sudden realization that you must have been responsible for the " +"cataclysm." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "You get the odd feeling that your thoughts are not your own." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"You feel as if everyone in the world must be playing a sick prank on you." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "You are being watched... by THEM." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"You gain the sudden realization that you are the creator of the universe." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "You increase all your skills to level 10." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"You feel that this must be a global reality show, in which you are the star." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"You now know that you are a secret agent, kept alive to continue serving the" +" government." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "You feel in full control of the situation." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "Your skin feels itchy." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "You feel larvae wriggling beneath the skin." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "You feel bugs crawling on you." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "\"Get away from there!\"" +msgstr "\\ 'Afaste-se de lá! \"" + +#: lang/json/snippet_from_json.py +msgid "\"What do you think you're doing?\"" +msgstr "\\'O que você pensa que está fazendo?\"" + +#: lang/json/snippet_from_json.py +msgid "\"Stop laughing at me!\"" +msgstr "\\'Pare de rir de mim!\"" + +#: lang/json/snippet_from_json.py +msgid "\"Don't point that thing at me!\"" +msgstr "'Não aponte essa coisa para mim!" + +#: lang/json/snippet_from_json.py +msgid "\"Stay away from me!\"" +msgstr "\\'Fique longe de mim!\"" + +#: lang/json/snippet_from_json.py +msgid "\"No! Stop!\"" +msgstr "\\'Não pare!\"" + +#: lang/json/snippet_from_json.py +msgid "\"Get the fuck away from me!\"" +msgstr "'Fique longe de mim!" + +#: lang/json/snippet_from_json.py +msgid "\"That's not true!\"" +msgstr "\\'Isso não é verdade!\"" + +#: lang/json/snippet_from_json.py +msgid "\"What do you want from me?\"" +msgstr "\\'O que você quer de mim?\"" + +#: lang/json/snippet_from_json.py +msgid "\"I didn't mean to do it!\"" +msgstr "'Eu não queria fazer isso!" + +#: lang/json/snippet_from_json.py +msgid "\"It wasn't my fault!\"" +msgstr "'Não foi minha culpa!" + +#: lang/json/snippet_from_json.py +msgid "\"I had to do it!\"" +msgstr "\\'Eu tive de fazer isto!\"" + +#: lang/json/snippet_from_json.py +msgid "\"They made me do it!\"" +msgstr "\\'Eles me fizeram fazer isso!\"" + +#: lang/json/snippet_from_json.py +msgid "\"What are you!?\"" +msgstr "\\'O que você é!?\"" + +#: lang/json/snippet_from_json.py +msgid "\"I should never have trusted you!\"" +msgstr "'Eu nunca deveria ter confiado em você!" + +#: lang/json/snippet_from_json.py +#, no-python-format +msgid "%1$s starts burning your hands!" +msgstr "" + +#: lang/json/snippet_from_json.py +#, no-python-format +msgid "%1$s feels freezing cold!" +msgstr "" + +#: lang/json/snippet_from_json.py +#, no-python-format +msgid "An electric shock shoots into your hand from %1$s!" +msgstr "" + +#: lang/json/snippet_from_json.py +#, no-python-format +msgid "%1$s lied to you." +msgstr "" + +#: lang/json/snippet_from_json.py +#, no-python-format +msgid "%1$s was working for... THEM" +msgstr "" + +#: lang/json/snippet_from_json.py +#, no-python-format +msgid "%1$s said something stupid." +msgstr "" + +#: lang/json/snippet_from_json.py +#, no-python-format +msgid "%1$s is running away!" +msgstr "" #: lang/json/snippet_from_json.py msgid "" @@ -150639,7 +158313,7 @@ msgstr "" #: lang/json/snippet_from_json.py #, no-python-format msgid "IT'S TRUE - MUTAGEN IS 40% BLEACH, AND HERE'S WHY" -msgstr "" +msgstr "É VERDADE - MUTÁGENO É 40% ÁGUA SANITÁRIA, VEJA O PORQUÊ" #: lang/json/snippet_from_json.py msgid "20 EASY WAYS TO ESCAPE A LAB - #4 WILL BLOW YOUR MIND" @@ -150939,6 +158613,13 @@ msgstr "" " \\ 'Atire mutantes elfy. Esculpir mais parafusos fora de seus ossos. Lave e" " repita. \"" +#: lang/json/snippet_from_json.py +msgid "" +"A flyer for some kind of candy. It shows a picture of a gleaming human made" +" of smooth candy looking at you in terror. \"SugarKin the first life-size " +"human candy! Are you a real monster? Will you be able to devour it all?\"" +msgstr "" + #: lang/json/snippet_from_json.py msgid "" "\"Tank drone, meet the real deal. See how you handle 120 millimeters of " @@ -151991,7 +159672,7 @@ msgid "a static hissing sound." msgstr "um som de assobio estático." #: lang/json/speech_from_json.py -msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe...\"" +msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe…\"" msgstr "" #: lang/json/speech_from_json.py @@ -152005,11 +159686,11 @@ msgid "\"Hold on, I want to pulp that zombie corpse.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Burning... from the inside...\"" +msgid "\"Burning… from the inside…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"This smell... Don't know...\"" +msgid "\"This smell… Don't know…\"" msgstr "" #: lang/json/speech_from_json.py @@ -152021,19 +159702,19 @@ msgid "a scraping noise." msgstr "um barulho de raspagem." #: lang/json/speech_from_json.py -msgid "\"No... Stop the burning!\"" +msgid "\"No… Stop the burning!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Hrgm... Blood... Hungry...\"" +msgid "\"Hrgm… Blood… Hungry…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Hunger... Must eat...\"" +msgid "\"Hunger… Must eat…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Run... Chase... Eat...\"" +msgid "\"Run… Chase… Eat…\"" msgstr "" #: lang/json/speech_from_json.py @@ -152042,11 +159723,11 @@ msgstr "" #: lang/json/speech_from_json.py msgid "coughing." -msgstr "" +msgstr "tossindo." #: lang/json/speech_from_json.py msgid "growling." -msgstr "" +msgstr "rosnando." #: lang/json/speech_from_json.py msgid "wheezing." @@ -152070,19 +159751,19 @@ msgstr "" #: lang/json/speech_from_json.py msgid "\"STOP!\"" -msgstr "" +msgstr "\"PARE!\"" #: lang/json/speech_from_json.py msgid "indistinct shouting." -msgstr "" +msgstr "gritos indistintos." #: lang/json/speech_from_json.py msgid "screaming." -msgstr "" +msgstr "gritos." #: lang/json/speech_from_json.py msgid "\"MEAT!\"" -msgstr "" +msgstr "\"CARNE!\"" #: lang/json/speech_from_json.py msgid "\"TEKELI-LI!\"" @@ -152148,7 +159829,7 @@ msgstr "'Não é assim! Vá para a esquerda! \"" #: lang/json/speech_from_json.py msgid "\"I told you to let me die.\"" -msgstr "" +msgstr "\"Eu te disse pra me deixar morrer.\"" #: lang/json/speech_from_json.py msgid "\"W-where am I? Why does it hur-REBOOTING IN 59 SECONDS.\"" @@ -152159,12 +159840,12 @@ msgid "\"THIS UNIT IS BROKEN. PLEASE CALL AN ATTENDANT.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Can't... breathe...\"" +msgid "\"Can't… breathe…\"" msgstr "" #: lang/json/speech_from_json.py msgid "\"This cannot continue.\"" -msgstr "" +msgstr "\"Isso não pode continuar.\"" #: lang/json/speech_from_json.py msgid "\"USER PASSWORD UNRECOGNIZED.\"" @@ -152172,8 +159853,8 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" -"\"Have you seen my friend? He went into surgery yesterday... or maybe the " -"day before...\"" +"\"Have you seen my friend? He went into surgery yesterday… or maybe the day" +" before…\"" msgstr "" #: lang/json/speech_from_json.py @@ -152185,7 +159866,7 @@ msgid "\"I have done what you asked. Please let me go!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"I cannot... yet I must. How do you calculate that?\"" +msgid "\"I cannot… yet I must. How do you calculate that?\"" msgstr "" #: lang/json/speech_from_json.py @@ -152193,20 +159874,20 @@ msgid "\"This is a dream. This has to be a dream.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"This is my life now... this is my life now... this is my life now...\"" +msgid "\"This is my life now… this is my life now… this is my life now…\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"Wanna go home...\"" -msgstr "" +msgid "\"Wanna go home…\"" +msgstr "\"Quero ir pra casa...\"" #: lang/json/speech_from_json.py msgid "screams of pain." -msgstr "" +msgstr "gritos de dor." #: lang/json/speech_from_json.py msgid "muffled sobbing." -msgstr "" +msgstr "choro abafado." #: lang/json/speech_from_json.py msgid "" @@ -152253,7 +159934,7 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" "a worried voice say, \"Customer, could you please get more friendship? I " -"don't want to go...\"" +"don't want to go…\"" msgstr "" #: lang/json/speech_from_json.py @@ -152276,18 +159957,18 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"Customer... What's happening? I don't feel so " +"a distorted voice say, \"Customer… What's happening? I don't feel so " "good.\"" msgstr "" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"What... have you done? My thumbs are not " -"responding anymore!\"" +"a distorted voice say, \"What… have you done? My thumbs are not responding " +"anymore!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "a distorted voice say, \"Carrying bags? I don't understand...\"" +msgid "a distorted voice say, \"Carrying bags? I don't understand…\"" msgstr "" #: lang/json/speech_from_json.py @@ -152339,43 +160020,43 @@ msgstr "" #: lang/json/speech_from_json.py msgid "\"Requesting assistance!\"" -msgstr "" +msgstr "\"Requisitando assistência!\"" #: lang/json/speech_from_json.py msgid "\"Requesting supervisor!\"" -msgstr "" +msgstr "\"Requisitando um supervisor!\"" #: lang/json/speech_from_json.py msgid "\"Requesting human officer!\"" -msgstr "" +msgstr "\"Requisitando um oficial humano!\"" #: lang/json/speech_from_json.py msgid "\"No officer on scene. Requesting backup!\"" -msgstr "" +msgstr "\"Sem oficial no local. Requisitando reforços!\"" #: lang/json/speech_from_json.py msgid "\"Let me see your hands!\"" -msgstr "" +msgstr "\"Mostre as suas mãos!\"" #: lang/json/speech_from_json.py msgid "\"Stop resisting!\"" -msgstr "" +msgstr "\"Pare de resistir!\"" #: lang/json/speech_from_json.py msgid "\"Code 10-66. Copy 10-4. Possible 10-55.\"" -msgstr "" +msgstr "\"Código 10-66. Ouço 10-4. Possível 10-55.\"" #: lang/json/speech_from_json.py msgid "\"Probable 10-70.\"" -msgstr "" +msgstr "\"Provável 10-70.\"" #: lang/json/speech_from_json.py msgid "\"Get on the ground! Now!\"" -msgstr "" +msgstr "\"No chão! Agora!\"" #: lang/json/speech_from_json.py msgid "\"Suspected felony!\"" -msgstr "" +msgstr "\"Possível infração!\"" #: lang/json/speech_from_json.py msgid "\"Suspected misdemeanor!\"" @@ -152387,15 +160068,15 @@ msgstr "" #: lang/json/speech_from_json.py msgid "\"Keep your hands up!\"" -msgstr "" +msgstr "\"Mantenha as mãos pra cima!\"" #: lang/json/speech_from_json.py msgid "\"Get on your knees!\"" -msgstr "" +msgstr "\"De joelhos!\"" #: lang/json/speech_from_json.py msgid "\"Hands in the air!\"" -msgstr "" +msgstr "\"Mãos ao alto!\"" #: lang/json/speech_from_json.py msgid "\"Wait for law enforcement officer!\"" @@ -152403,14 +160084,14 @@ msgstr "" #: lang/json/speech_from_json.py msgid "\"Remain where you are!\"" -msgstr "" +msgstr "\"Permaneça onde está!\"" #: lang/json/speech_from_json.py msgid "\"Police inbound. Stay where you are!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" +msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" msgstr "" #: lang/json/speech_from_json.py @@ -152424,14 +160105,14 @@ msgstr "" #: lang/json/speech_from_json.py #, no-python-format msgid "\"Our food contains up to 95% real food.\"" -msgstr "" +msgstr "\"Nossa comida contém até 95% de comida real.\"" #: lang/json/speech_from_json.py msgid "\"FoodPlace: It's the Calories.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" +msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" msgstr "" #: lang/json/speech_from_json.py @@ -152446,10 +160127,6 @@ msgstr "Quer brincar comigo?" msgid "Sing with me!" msgstr "Cante comigo!" -#: lang/json/speech_from_json.py src/player.cpp -msgid "I love you!" -msgstr "Eu te amo!" - #: lang/json/speech_from_json.py msgid "Please take me with you!" msgstr "Por favor, me leve com você!" @@ -152503,8 +160180,8 @@ msgid "You shouldn't have done that." msgstr "Você não deveria ter feito isso." #: lang/json/speech_from_json.py -msgid "Let's play... Russian roulette." -msgstr "Vamos jogar ... roleta russa." +msgid "Let's play… Russian roulette." +msgstr "Vamos jogar... Roleta russa." #: lang/json/speech_from_json.py msgid "I hate you." @@ -152515,8 +160192,8 @@ msgid "Go kill yourself!" msgstr "Vá se matar!" #: lang/json/speech_from_json.py -msgid "Big Brother is watching you..." -msgstr "O Grande Irmão está observando você..." +msgid "Big Brother is watching you…" +msgstr "" #: lang/json/speech_from_json.py msgid "Die for me!" @@ -152527,12 +160204,12 @@ msgid "Why won't you die?" msgstr "Por que você não morre?" #: lang/json/speech_from_json.py -msgid "Blood... Delicious." -msgstr "Sangue ... Delicioso." +msgid "Blood… Delicious." +msgstr "" #: lang/json/speech_from_json.py -msgid "See you... IN HELL!" -msgstr "Vejo você no inferno!" +msgid "See you… IN HELL!" +msgstr "" #: lang/json/speech_from_json.py msgid "AAAIEEEEEEE!" @@ -152547,8 +160224,8 @@ msgid "What did you do with my Mommy?" msgstr "O que você fez com a minha mãe?" #: lang/json/speech_from_json.py -msgid "Stay with me... forever!" -msgstr "Fique comigo para sempre!" +msgid "Stay with me… forever!" +msgstr "" #: lang/json/speech_from_json.py msgid "Hey kids. Want some candy?" @@ -152572,11 +160249,11 @@ msgstr "" #: lang/json/speech_from_json.py msgid "YAP!" -msgstr "" +msgstr "YAP!" #: lang/json/speech_from_json.py msgid "WOOF!" -msgstr "" +msgstr "AU!" #: lang/json/speech_from_json.py msgid "\"Don't make me have ye walk the plank.\"" @@ -153977,6 +161654,14 @@ msgstr "" msgid "Horse Ranch" msgstr "" +#: lang/json/start_location_from_json.py +msgid "Lake Cabin" +msgstr "" + +#: lang/json/start_location_from_json.py +msgid "Lighthouse Island" +msgstr "" + #: lang/json/start_location_from_json.py msgid "Scavenger Bunker" msgstr "Bunker de Depósitos" @@ -153985,6 +161670,14 @@ msgstr "Bunker de Depósitos" msgid "Wizard's Secret Basement Study" msgstr "" +#: lang/json/start_location_from_json.py +msgid "Wizard's lake retreat" +msgstr "" + +#: lang/json/start_location_from_json.py +msgid "Candy Shop" +msgstr "Loja de Doces" + #: lang/json/start_location_from_json.py msgid "Robot Dispatch Center" msgstr "Centro de Despacho de Robôs" @@ -154017,6 +161710,308 @@ msgstr "Loja de eletrônicos" msgid "Clothing Store" msgstr "Loja de roupas" +#: lang/json/talk_topic_from_json.py +msgid "You there. Quiet down. Can you hear it? The song?" +msgstr "Você aí. Silêncio. Consegue escutar? A canção?" + +#: lang/json/talk_topic_from_json.py +msgid "You're back. Have you come to listen to the song?" +msgstr "Você está de volta. Veio escutar a canção?" + +#: lang/json/talk_topic_from_json.py +msgid "Acolyte." +msgstr "Acólito." + +#: lang/json/talk_topic_from_json.py +msgid "What? What do you mean? What song?" +msgstr "O quê? Que quer dizer? Qual canção?" + +#: lang/json/talk_topic_from_json.py +msgid "So about the songs…" +msgstr "Então, sobre as canções..." + +#: lang/json/talk_topic_from_json.py +msgid "" +"You mentioned some cycle before, when I gave you the bones. What does that " +"mean?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Would you like to join me on my travels?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Let's trade items." +msgstr "Vamos trocar itens." + +#: lang/json/talk_topic_from_json.py +msgid "Is there a way I can help you with your song?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I have to get going. Take care, Seer." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Listen carefully. The bones... they sing. Can you hear it? The song they " +"weave? The stories they hold?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "What? Singing bones? What are you talking about?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Uh… yeah, sure. I think I'll just be on my way." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"When it all happened, the cataclysm, something... changed. You can see it in" +" all creatures, but most of all their bones. They break, morph, rise again, " +"in an infinite cycle. Living dead walk. Monsters rip and tear each other " +"apart. You can see the resonance, the quiet hum of raw strength, and only by" +" taking the bones does the cycle end - their story, their song, their " +"strength, become yours to use." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "So what do you actually do with the bones?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I'm still not quite sure what you mean about songs or strength." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Does anyone else, uh, believe this?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Only when you crush the bones of a body does it cease to rise. Only if you " +"examine the bones can you see what was. Thus is the story. Whatever causes " +"this change is alive, moving within us all, an inevitable part of this new " +"world. It holds the power of change. When we hold the bones, we hold the " +"power. Thus the strength. Together... they form a beautiful song." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I think I understand what you mean, though I am not sure if I agree." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"There are others who follow this cause. You'd do well to aid them, for " +"though we may not be numerous, we are emboldened by the songs we carry." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I will bear that in mind" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Cause? Why do you gather these bones anyway?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"The song can be weaved in many forms. Carved bone charms, weapons and armor " +"all hold immense power, and when the time comes, me and my kindred shall " +"gather a great amount of song and sing it to restore this world. Restore it," +" or end it. Makes no difference." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "End the world? What?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"We believe that enough power in one song could revert the Cataclysm - or " +"accelerate it to a time beyond all, ending it all the same. But with the " +"world looking as is, both options are preferable." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Sounds somewhat… doomsday-ish, but I suppose it's a belief like any other. " +"Still, at least you have a goal to help the world, one way or another." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "You're nuts." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Your mind is open. More than most. Perhaps one day, you too will feel the " +"power of the song and become Kindred. For now, Acolyte, listen, listen and " +"feel the song." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I… thank you." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"Your skepticism does not surprise me. Perhaps one day, you too will hear the" +" inevitability of the song, feel its power. But until then, you will remain " +"an Acolyte, path to the Kindred closed." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Yeah, alright." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"I know of certain bones that could be of use, if you'd like to know more." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "There is an additional song you could take on, if you'd like." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "A song may yet be sung by you, should you wish to." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Do you believe you can take on the burden of additional bones?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Do you wish to take on more songs?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "There are bones to etch, songs to sing. Wish to join me?" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "That is all for now." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "An acolyte should not take on too many songs at once." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"The song is... quiet for now. Perhaps with time, more notes will be etched " +"in the bones of this world." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I see." +msgstr "Entendo." + +#: lang/json/talk_topic_from_json.py +msgid "I'm listening." +msgstr "Estou escutando." + +#: lang/json/talk_topic_from_json.py +msgid "Perhaps another time, Seer." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"If you wish to be set on the path to enlightenment, first you must learn to " +"listen and hear the song. Go out, butcher a creature and feel the power " +"between your fingertips. Then bring me the bones and I shall carve them for " +"you. " +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Well, I guess I oughta see where this goes. I'm in." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Not interested." +msgstr "Não interessado." + +#: lang/json/talk_topic_from_json.py +msgid "Consider it done. But I also wanted to ask…" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Where should I start?" +msgstr "Por onde eu devo começar?" + +#: lang/json/talk_topic_from_json.py +msgid "Can you share some equipment to aid me in this?" +msgstr "Você pode me dar algum equipamento para me ajudar com isto?" + +#: lang/json/talk_topic_from_json.py +msgid "I'm off then." +msgstr "Já vou indo, então." + +#: lang/json/talk_topic_from_json.py +msgid "So, a creature that isn't a zombie, or a monster. Got it." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"The path to enlightenment is for you to walk. For me to aid you would " +"ultimately impede your progress and muddle your song." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I see. Very well then." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Only those who bear my mark will prove themselves worthy of my skills." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"You bear my mark, meaning I believe you have potential to learn to truly " +"listen to the Song. Yes, I will lend my skills to you, for now." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I am glad to hear it. Let's go then." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "That's good, but I need to go at it alone right now. Maybe later." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Maybe some other time. Changing the topic…" +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "Alright, but I have to go now." +msgstr "Certo, mas agora eu tenho que ir." + +#: lang/json/talk_topic_from_json.py +msgid "" +"It's not just walking horrors and monsters that have changed with the " +"Cataclysm. It started a... cycle, of sorts. Everything repeats. We can only " +"see it in others, but it happens to us, even you and I. How many times have " +"you fallen? Your flesh rent from your body, devoured. Or perhaps it was the " +"quiet whimper of death to exposure. But your bones rose again. Different " +"flesh, different name, sometimes even different knowledge, but the bones, " +"the same. We are all trapped in the same cycle. We just keep forgetting. " +"That's why we need to amass the Song. That's why it has to end, even if it " +"means the destruction, not restoration." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "" +"That is… that's really one hell of a belief. Well, if it helps you deal " +"with the world, who am I to argue." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "And here I thought you were nuts before. I'm out of here." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "I'm my own person, but I'm willing to follow your lead. I can do a lot of things for you: I can fight, I can train you or you can train me, I can carry stuff, I can bandage your wounds, I can build faction camps, I can do some other activites, I can ride horses, I can go places, I can guard things, I can use some bionics, I can even chit-chat with you or give you tips or talk about my background. You can give me instructions in conversation or by radio or shout commands at me.\n" @@ -154089,7 +162084,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "Anything else I should know?" -msgstr "" +msgstr "Algo mais que eu precise saber?" #: lang/json/talk_topic_from_json.py msgid "Any new abilities recently?" @@ -154118,7 +162113,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "Good to know. What orders can I give?" -msgstr "" +msgstr "Bom saber. Que ordens eu posso dar?" #: lang/json/talk_topic_from_json.py msgid "" @@ -154290,16 +162285,16 @@ msgstr "" msgid "Thanks. I have some things for you to do." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hi there, ." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "STOP, Put your hands in the air! Ha, startled you didn't I...there is no law" " anymore..." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Hi there, ." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "What are you doing here?" msgstr "O que você está fazendo aqui?" @@ -154308,10 +162303,6 @@ msgstr "O que você está fazendo aqui?" msgid "Wanna get outta here?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Let's trade items." -msgstr "Vamos trocar itens." - #: lang/json/talk_topic_from_json.py msgid "Can I do anything for you?" msgstr "Posso fazer alguma coisa para você?" @@ -154375,24 +162366,24 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "No, just no..." -msgstr "Não, só não..." +msgid "Anything to do before I go to sleep?" +msgstr "Qualquer coisa para fazer antes de ir dormir?" #: lang/json/talk_topic_from_json.py -msgid "Just let me sleep, !" -msgstr "Apenas me deixe dormir !" +msgid "Just few minutes more..." +msgstr "Apenas alguns minutos mais ..." #: lang/json/talk_topic_from_json.py msgid "Make it quick, I want to go back to sleep." msgstr "Faça isso rápido, eu quero voltar a dormir." #: lang/json/talk_topic_from_json.py -msgid "Just few minutes more..." -msgstr "Apenas alguns minutos mais ..." +msgid "Just let me sleep, !" +msgstr "Apenas me deixe dormir !" #: lang/json/talk_topic_from_json.py -msgid "Anything to do before I go to sleep?" -msgstr "Qualquer coisa para fazer antes de ir dormir?" +msgid "No, just no..." +msgstr "Não, só não..." #: lang/json/talk_topic_from_json.py msgid "Wake up!" @@ -154438,6 +162429,10 @@ msgstr "" msgid "Guard this position." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "I want to assign you to work at this camp." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Let's talk about your current activity." msgstr "" @@ -154487,19 +162482,19 @@ msgid "Let's go." msgstr "Vamos lá." #: lang/json/talk_topic_from_json.py -msgid "Change your engagement rules..." -msgstr "Altere suas regras de engajamento ..." +msgid "Change your engagement rules…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your aiming rules..." -msgstr "Mude suas regras de pontaria ..." +msgid "Change your aiming rules…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power reserve rules..." +msgid "Change your bionic power reserve rules…" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power recharge rules..." +msgid "Change your bionic power recharge rules…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -154511,11 +162506,11 @@ msgid "Stick close to me, no matter what." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" +msgid "" msgstr "" #: lang/json/talk_topic_from_json.py @@ -154563,9 +162558,9 @@ msgstr "" #: src/handle_action.cpp src/handle_action.cpp src/handle_liquid.cpp #: src/handle_liquid.cpp src/iexamine.cpp src/iexamine.cpp src/iexamine.cpp #: src/iuse.cpp src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -#: src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp src/pickup.cpp -#: src/player.cpp src/player.cpp src/player.cpp src/veh_interact.cpp -#: src/vehicle_use.cpp +#: src/iuse_actor.cpp src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp +#: src/pickup.cpp src/player.cpp src/player.cpp src/player.cpp +#: src/veh_interact.cpp src/vehicle_use.cpp msgid "Never mind." msgstr "Deixa pra lá." @@ -154775,7 +162770,7 @@ msgid "Nah, I'm just kidding." msgstr "Estou brincando." #: lang/json/talk_topic_from_json.py -msgid "Please go to this location..." +msgid "Please go to this location…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -154786,12 +162781,16 @@ msgstr "" msgid "Show me what needs to be done at the camp." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "I'm not doing much currently." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I'm currently ." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm not doing much currently." +msgid "I meant what are your goals?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -154850,14 +162849,14 @@ msgstr "" msgid "Sure thing, I'll make my way there." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "Yeah, this summer heat is hitting me hard, let's take a quick break, how " @@ -154872,13 +162871,13 @@ msgstr "" " OK, talvez isso me impeça de congelar nesse clima, o que está acontecendo?" #: lang/json/talk_topic_from_json.py -msgid "" -"Well, it's the time of day for a quick break surely! How are you holding " -"up?" +msgid "Man it's dark out isn't it? what's up?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Man it's dark out isn't it? what's up?" +msgid "" +"Well, it's the time of day for a quick break surely! How are you holding " +"up?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -154906,8 +162905,8 @@ msgstr "" "desde tudo isso, como você está lidando com tudo isso?" #: lang/json/talk_topic_from_json.py -msgid "Oh you know, not bad, not bad..." -msgstr "Oh você sabe, não é ruim, não é ruim ..." +msgid "Oh you know, not bad, not bad…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -154994,14 +162993,14 @@ msgstr "" msgid "&Put hands up." msgstr "&Ponha as mãos pra cima." -#: lang/json/talk_topic_from_json.py -msgid "*drops his weapon." -msgstr "* Solta sua arma." - #: lang/json/talk_topic_from_json.py msgid "*drops_her_weapon." msgstr "* drops_her_weapon." +#: lang/json/talk_topic_from_json.py +msgid "*drops his weapon." +msgstr "* Solta sua arma." + #: lang/json/talk_topic_from_json.py msgid "Now get out of here" msgstr "Agora sai daqui" @@ -155015,12 +163014,12 @@ msgid "Okay, I'm going." msgstr "Ok, eu vou" #: lang/json/talk_topic_from_json.py -msgid "About that job..." -msgstr "Sobre esse trabalho ..." +msgid "About that job…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About one of those jobs..." -msgstr "Sobre um desses trabalhos ..." +msgid "About one of those jobs…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "What's the matter?" @@ -155031,27 +163030,27 @@ msgid "I don't care." msgstr "Eu não me importo." #: lang/json/talk_topic_from_json.py -msgid "I have other jobs for you. Want to hear about them?" +msgid "I just have one job for you. Want to hear about it?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" +msgid "I have another job for you. Want to hear about it?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I have another job for you. Want to hear about it?" +msgid "I have other jobs for you. Want to hear about them?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I just have one job for you. Want to hear about it?" +msgid "I have more jobs for you. Want to hear about them?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I don't have any jobs for you." +msgid "I don't have any more jobs for you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I don't have any more jobs for you." +msgid "I don't have any jobs for you." msgstr "" #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py @@ -155064,25 +163063,21 @@ msgid "Never mind, I'm not interested." msgstr "Não importa, não estou interessado." #: lang/json/talk_topic_from_json.py -msgid "You're not working on anything for me now." +msgid "What about it?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What about it?" +msgid "Which job?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Which job?" +msgid "You're not working on anything for me now." msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'll do it!" msgstr "Eu vou fazer isso!" -#: lang/json/talk_topic_from_json.py -msgid "Not interested." -msgstr "Não interessado." - #: lang/json/talk_topic_from_json.py msgid "Not a problem." msgstr "Não é um problema." @@ -155116,8 +163111,8 @@ msgid "Whatever. Bye." msgstr "Tanto faz. Tchau." #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I failed." -msgstr "Me desculpe ... eu falhei." +msgid "I'm sorry… I failed." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Not yet." @@ -155136,8 +163131,8 @@ msgid "No. I'll get back to it, bye!" msgstr "Não. Eu vou voltar para ele, tchau!" #: lang/json/talk_topic_from_json.py -msgid "Yup! Here it is!" -msgstr "Sim! Aqui está!" +msgid "Yup! Here it is!" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "We're here!" @@ -155246,8 +163241,8 @@ msgid "Want to travel with me?" msgstr "Quer viajar comigo?" #: lang/json/talk_topic_from_json.py -msgid "I can't leave the shelter without equipment." -msgstr "Não posso sair do abrigo sem equipamento." +msgid "Want to share some useful items with me?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Well, bye." @@ -155289,25 +163284,29 @@ msgstr "" msgid "Hmm, okay." msgstr "Hmm OK." +#: lang/json/talk_topic_from_json.py src/npctalk.cpp +msgid "Thanks!" +msgstr "Obrigado!" + #: lang/json/talk_topic_from_json.py -msgid "I'm too thirsty, give me something to drink." -msgstr "Estou com muita sede, me dê algo para beber." +msgid "I have some reason for not telling you." +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm too hungry, give me something to eat." -msgstr "Estou com muita fome, me dê algo para comer." +msgid "Nothing comes to my mind now. Ask me later perhaps?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'm too tired, let me rest first." msgstr "Estou muito cansado, deixe-me descansar primeiro." #: lang/json/talk_topic_from_json.py -msgid "Nothing comes to my mind now. Ask me later perhaps?" -msgstr "" +msgid "I'm too hungry, give me something to eat." +msgstr "Estou com muita fome, me dê algo para comer." #: lang/json/talk_topic_from_json.py -msgid "I have some reason for not telling you." -msgstr "" +msgid "I'm too thirsty, give me something to drink." +msgstr "Estou com muita sede, me dê algo para beber." #: lang/json/talk_topic_from_json.py msgid "I must focus on the road!" @@ -155322,16 +163321,16 @@ msgid "Ah, okay." msgstr "Ah ok." #: lang/json/talk_topic_from_json.py -msgid "Not until I get some antibiotics..." -msgstr "Não até eu conseguir alguns antibióticos ..." +msgid "Why should I travel with you?" +msgstr "Por que eu deveria viajar com você?" #: lang/json/talk_topic_from_json.py msgid "You asked me recently; ask again later." msgstr "Você me perguntou recentemente; pergunte novamente mais tarde." #: lang/json/talk_topic_from_json.py -msgid "Why should I travel with you?" -msgstr "Por que eu deveria viajar com você?" +msgid "Not until I get some antibiotics..." +msgstr "Não até eu conseguir alguns antibióticos ..." #: lang/json/talk_topic_from_json.py msgid "Understood. I'll get those antibiotics." @@ -155390,8 +163389,8 @@ msgid "Alright. You can lead now." msgstr "Tudo bem. Você pode liderar agora." #: lang/json/talk_topic_from_json.py -msgid "Good. Something else..." -msgstr "Boa. Algo mais..." +msgid "Good. Something else…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Alright, let's go." @@ -155401,10 +163400,6 @@ msgstr "Tudo bem vamos." msgid "Okay, okay." msgstr "Está bem, está bem." -#: lang/json/talk_topic_from_json.py -msgid "I see." -msgstr "Entendo." - #: lang/json/talk_topic_from_json.py msgid "Alright, let's begin." msgstr "Tudo bem, vamos começar." @@ -155425,14 +163420,14 @@ msgstr "Não, vamos ficar bem aqui." msgid "On second thought, never mind." msgstr "No segundo pensamento, não importa." -#: lang/json/talk_topic_from_json.py -msgid "Give it some time, I'll show you something new later..." -msgstr "Dá um tempo, eu vou te mostrar algo novo depois ..." - #: lang/json/talk_topic_from_json.py msgid "I have some reason for denying you training." msgstr "Eu tenho alguns motivos para negar que você está treinando." +#: lang/json/talk_topic_from_json.py +msgid "Give it some time, I'll show you something new later..." +msgstr "Dá um tempo, eu vou te mostrar algo novo depois ..." + #: lang/json/talk_topic_from_json.py msgid "I can't train you properly while I'm operating a vehicle!" msgstr "" @@ -155474,17 +163469,17 @@ msgid "I'd prefer to keep that to myself." msgstr "Eu prefiro manter isso para mim mesmo." #: lang/json/talk_topic_from_json.py -msgid "I understand..." -msgstr "Compreendo..." - -#: lang/json/talk_topic_from_json.py -msgid "You just asked me for stuff; ask later." -msgstr "Você acabou de me pedir coisas; pergunte mais tarde." +msgid "I understand…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Why should I share my equipment with you?" msgstr "Por que devo compartilhar meu equipamento com você?" +#: lang/json/talk_topic_from_json.py +msgid "You just asked me for stuff; ask later." +msgstr "Você acabou de me pedir coisas; pergunte mais tarde." + #: lang/json/talk_topic_from_json.py msgid "Okay, fine." msgstr "OK tudo bem." @@ -155498,8 +163493,8 @@ msgid "Because I'm your friend!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Well, I am helping you out..." -msgstr "Bem, eu estou te ajudando ..." +msgid "Well, I am helping you out…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'll give it back!" @@ -155546,15 +163541,15 @@ msgid "No, I'm keeping it. Try and take it off me, I dare you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Look, I really need this. Please let me have it." +msgid "Look, I really need this. Please let me have it." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What, this? It's not the same one, you are mistaken." +msgid "What, this? It's not the same one, you are mistaken." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry. Look, I already dropped it, okay?" +msgid "I'm sorry. Look, I already dropped it, okay?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -155562,13 +163557,17 @@ msgid "Don't try and talk yourself out of this, drop it now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Okay, I'm dropping it..." +msgid "Okay, I'm dropping it…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "Just this once, you can keep it. Don't tell anyone else." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Thanks." +msgstr "Obrigado." + #: lang/json/talk_topic_from_json.py msgid "Right... I don't want any trouble." msgstr "" @@ -155620,11 +163619,7 @@ msgid "Pleasure doing business!" msgstr "Prazer fazer negócios!" #: lang/json/talk_topic_from_json.py -msgid "You might be seeing more of me..." -msgstr "Você pode estar vendo mais de mim ..." - -#: lang/json/talk_topic_from_json.py -msgid "Hey again. *kzzz*" +msgid "You might be seeing more of me…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -155634,21 +163629,25 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." +msgid "Hey again. *kzzz*" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That's because I saved you. Listen, I could use your help..." +msgid "Hey. Let's chat for a second." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "That's because I saved you. Listen, I could use your help…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Big fucking deal. Do what I say or I'll shove that chip back where it " +"Big fucking deal. Do what I say or I'll shove that chip back where it " "belongs." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." +msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." msgstr "" #: lang/json/talk_topic_from_json.py @@ -155660,7 +163659,7 @@ msgid "Come with me. We can help each other out." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "We both go our separate ways. Enjoy your freedom." +msgid "We both go our separate ways. Enjoy your freedom." msgstr "" #: lang/json/talk_topic_from_json.py @@ -155677,8 +163676,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"For all you know, I did. I'm being nice for now. You'd better hope that it " -"lasts." +"For all you know, I did. I'm being nice for now. You'd better hope that it" +" lasts." msgstr "" #: lang/json/talk_topic_from_json.py @@ -155699,7 +163698,7 @@ msgid "Get out of my sight." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." +msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." msgstr "" #: lang/json/talk_topic_from_json.py @@ -155715,7 +163714,7 @@ msgid "Not if I kill you first!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry! I shouldn't have said that!" +msgid "I'm sorry! I shouldn't have said that!" msgstr "" #: lang/json/talk_topic_from_json.py @@ -155986,11 +163985,11 @@ msgid "Well, sure." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'd... rather not." +msgid "I'd… rather not." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I have places to be." +msgid "I'm sorry… I have places to be." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156021,7 +164020,7 @@ msgid "Oh, but you already have." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yes... yes I have." +msgid "Yes… yes I have." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156086,7 +164085,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Horrible. Did you get any pictures yourself?" +msgid "Horrible. Did you get any pictures yourself?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -156238,8 +164237,8 @@ msgid "This is a npc allies 1 test response." msgstr "Esta é uma resposta de teste de aliados npc 1." #: lang/json/talk_topic_from_json.py -msgid "This an error! npc allies 2 test response." -msgstr "Isso é um erro! npc aliados 2 resposta de teste." +msgid "This an error! npc allies 2 test response." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "This is a npc engagement rule test response." @@ -156439,8 +164438,8 @@ msgid "This is a u_has_items beer test response." msgstr "Esta é uma resposta do teste de cerveja u_has_items." #: lang/json/talk_topic_from_json.py -msgid "Test failure! This is a u_has_items test response." -msgstr "Teste falha! Esta é uma resposta do teste u_has_items." +msgid "Test failure! This is a u_has_items test response." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "This is a u_has_item_category books test response." @@ -156451,7 +164450,7 @@ msgid "This is a u_has_item_category books count 2 test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a u_has_item_category books count 3 test response." +msgid "Failure! This is a u_has_item_category books count 3 test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156539,7 +164538,7 @@ msgid "This is a u_has_bionics bio_ads test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a npc_has_bionics bio_ads test response." +msgid "Failure! This is a npc_has_bionics bio_ads test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156571,15 +164570,15 @@ msgid "This is a low driving test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Greetings friend, it's nice to see you." +msgid "Greeting citizen, what brings you to the FoodLair?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So you're back... Explain yourself!" +msgid "Still here? Take your time, it's rough out there." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What sorcery is this?" +msgid "Greetings friend, it's nice to see you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156587,19 +164586,15 @@ msgid "Welcome home Foodkid!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Still here? Take your time, it's rough out there." -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "Greeting citizen, what brings you to the FoodLair?" +msgid "What sorcery is this?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." +msgid "So you're back... Explain yourself!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Greetings... Foodperson?" +msgid "Greetings… Foodperson?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -156641,7 +164636,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ah... Well, nice to meet you Foodperson." +msgid "Ah… Well, nice to meet you Foodperson." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156653,7 +164648,7 @@ msgid "Sheesh, ok, calm down, I'm leaving!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Forgive me, I didn't mean to disrespect you." +msgid "Forgive me, I didn't mean to disrespect you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156669,7 +164664,7 @@ msgid "Sure, whatever." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok... I believe you." +msgid "Ok… I believe you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156748,10 +164743,6 @@ msgstr "Droga!" msgid "Well... You seem like a decent sort, I might have an offer for you." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "I'm listening." -msgstr "Estou escutando." - #: lang/json/talk_topic_from_json.py msgid "Sorry but I work alone." msgstr "Desculpa, eu trabalho solo." @@ -156769,15 +164760,15 @@ msgid "That sounds great!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok..." -msgstr "Ok..." +msgid "Ok…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I need to think about it." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Huh... No thanks." +msgid "Huh… No thanks." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156794,7 +164785,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I... I don't know. It probably has something to do with ! " +"I… I don't know. It probably has something to do with ! " "What do you say we team up to find out?" msgstr "" @@ -156865,7 +164856,7 @@ msgid "I AM THE ONE!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Wow calm down, it's just a prank bro." +msgid "Wow calm down, it's just a prank bro." msgstr "" #: lang/json/talk_topic_from_json.py @@ -156938,16 +164929,11 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "I haven't found them yet. Whenever I see a , a little part of me is" -" afraid it's going to be one of them. But then, maybe not. Maybe they " -"were evacuated, maybe they fought and tried to wait for me but the military " -"took them anyway? I've heard that sort of thing happened. I don't know if " -"I'll ever know." +" afraid it's going to be one of them. But then, maybe not. Maybe they were" +" evacuated, maybe they fought and tried to wait for me but the military took" +" them anyway? I've heard that sort of thing happened. I don't know if I'll" +" ever know." msgstr "" -" Ainda não os encontrei. Sempre que vejo um , uma pequena parte de " -"mim tem medo de ser uma delas. Mas então, talvez não. Talvez eles foram " -"evacuados, talvez eles lutaram e tentaram esperar por mim, mas os militares " -"os levaram assim mesmo? Eu ouvi que esse tipo de coisa aconteceu. Não sei se" -" algum dia saberei." #: lang/json/talk_topic_from_json.py msgid "" @@ -157462,14 +165448,10 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "OK, this is gonna sound crazy but I, like, I knew this was going to happen." -" Like, before it did. You can even ask my psychic except, like, I think " +" Like, before it did. You can even ask my psychic except, like, I think " "she's dead now. I told her about my dreams a week before the world ended. " "Serious!" msgstr "" -" OK, isso vai parecer maluco, mas eu sabia que isso ia acontecer. Como antes" -" disso. Você pode até perguntar à minha psíquica, exceto, tipo, acho que ela" -" está morta agora. Eu contei a ela sobre meus sonhos uma semana antes do fim" -" do mundo. Sério!" #: lang/json/talk_topic_from_json.py msgid "What were your dreams?" @@ -157815,8 +165797,8 @@ msgid "Giant bees? Tell me more." msgstr "Abelhas gigantes? Me diga mais." #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive..." -msgstr "Mas as abelhas não são geralmente agressivas ..." +msgid "But bees aren't usually aggressive…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -157832,9 +165814,8 @@ msgstr "" " como um frango." #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive... Do you mean wasps?" +msgid "But bees aren't usually aggressive… Do you mean wasps?" msgstr "" -" Mas as abelhas não são geralmente agressivas ... Você quer dizer vespas?" #: lang/json/talk_topic_from_json.py msgid "" @@ -158361,10 +166342,6 @@ msgid "" "although honestly I'm just busy not dying." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "I just can't talk about that right now. I can't." -msgstr "Eu simplesmente não posso falar sobre isso agora. Eu não posso." - #: lang/json/talk_topic_from_json.py msgid "" "I was at work at the hospital, when it all went down. It's a bit of a blur." @@ -158373,7 +166350,8 @@ msgid "" "as usual. Then, towards the end, stuff just skyrocketed. We thought it was" " a Chinese attack, and that's what we were being told. People coming in " "crazed, covered in wounds from bullets and bites. About halfway through my " -"shift I... well, I broke." +"shift I... well, I broke. I'd seen such horrible injuries, and then I... " +", I can't even talk about it." msgstr "" " Eu estava no trabalho no hospital, quando tudo aconteceu. É um pouco de " "borrão. Por um tempo houve relatos estranhos, coisas que pareciam " @@ -158381,7 +166359,9 @@ msgstr "" "maioria das coisas estava como sempre. Então, no final, as coisas " "explodiram. Nós pensamos que era um ataque chinês, e foi isso que nos " "disseram. Pessoas enlouquecendo, cobertas de feridas por balas e mordidas. " -"Mais ou menos na metade do meu turno eu ... bem, eu quebrei." +"Mais ou menos na metade do meu turno eu ... bem, eu quebrei. Eu tinha visto " +"ferimentos tão horríveis, e então eu ... Eu não posso nem falar " +"sobre isso." #: lang/json/talk_topic_from_json.py msgid "" @@ -158391,8 +166371,7 @@ msgid "" "as usual. Then, towards the end, stuff just skyrocketed. We thought it was" " a Chinese attack, and that's what we were being told. People coming in " "crazed, covered in wounds from bullets and bites. About halfway through my " -"shift I... well, I broke. I'd seen such horrible injuries, and then I... " -", I can't even talk about it." +"shift I... well, I broke." msgstr "" " Eu estava no trabalho no hospital, quando tudo aconteceu. É um pouco de " "borrão. Por um tempo houve relatos estranhos, coisas que pareciam " @@ -158400,9 +166379,11 @@ msgstr "" "maioria das coisas estava como sempre. Então, no final, as coisas " "explodiram. Nós pensamos que era um ataque chinês, e foi isso que nos " "disseram. Pessoas enlouquecendo, cobertas de feridas por balas e mordidas. " -"Mais ou menos na metade do meu turno eu ... bem, eu quebrei. Eu tinha visto " -"ferimentos tão horríveis, e então eu ... Eu não posso nem falar " -"sobre isso." +"Mais ou menos na metade do meu turno eu ... bem, eu quebrei." + +#: lang/json/talk_topic_from_json.py +msgid "I just can't talk about that right now. I can't." +msgstr "Eu simplesmente não posso falar sobre isso agora. Eu não posso." #: lang/json/talk_topic_from_json.py msgid "It might help to get it off your chest." @@ -158421,8 +166402,8 @@ msgid "No. I can't. Just, no." msgstr "Não, não posso. Apenas não." #: lang/json/talk_topic_from_json.py -msgid "Sorry... I'll let you be." -msgstr "Desculpe ... eu vou deixar você ser." +msgid "Sorry… I'll let you be." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -158773,8 +166754,8 @@ msgstr "" "deixar o reino antes que ele caísse." #: lang/json/talk_topic_from_json.py -msgid "Okay..." -msgstr "OK..." +msgid "Okay…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -158891,19 +166872,19 @@ msgstr "Obrigado por me contar tudo isso. " #: lang/json/talk_topic_from_json.py msgid "" -"My husband made it out with me, but got eaten by one of those plant " +"My wife made it out with me, but got eaten by one of those plant " "monsters a few days before I met you. This hasn't been a great year for me." msgstr "" -" Meu marido saiu comigo, mas foi comido por um daqueles plantar " +" Minha esposa saiu comigo, mas foi comido por um daqueles plantar " "monstros alguns dias antes de te conhecer. Este não foi um grande ano para " "mim." #: lang/json/talk_topic_from_json.py msgid "" -"My wife made it out with me, but got eaten by one of those plant " +"My husband made it out with me, but got eaten by one of those plant " "monsters a few days before I met you. This hasn't been a great year for me." msgstr "" -" Minha esposa saiu comigo, mas foi comido por um daqueles plantar " +" Meu marido saiu comigo, mas foi comido por um daqueles plantar " "monstros alguns dias antes de te conhecer. Este não foi um grande ano para " "mim." @@ -158982,11 +166963,10 @@ msgid "I'm sorry you lost someone." msgstr "Sinto muito que você tenha perdido alguém." #: lang/json/talk_topic_from_json.py -msgid "" -"I said, I don't wanna talk about it. How are you not understanding this?" +msgid "Just another tale of love and loss. Not one I like to tell." msgstr "" -" Eu disse, eu não quero falar sobre isso. Como você não está entendendo " -"isso?" +" Apenas outro conto de amor e perda. Não é um que eu goste de " +"contar." #: lang/json/talk_topic_from_json.py msgid "" @@ -158997,10 +166977,11 @@ msgstr "" "para contar mais uma vez." #: lang/json/talk_topic_from_json.py -msgid "Just another tale of love and loss. Not one I like to tell." +msgid "" +"I said, I don't wanna talk about it. How are you not understanding this?" msgstr "" -" Apenas outro conto de amor e perda. Não é um que eu goste de " -"contar." +" Eu disse, eu não quero falar sobre isso. Como você não está entendendo " +"isso?" #: lang/json/talk_topic_from_json.py msgid "You said you lost someone." @@ -159023,51 +167004,51 @@ msgid "" "Oh, . This doesn't have anything to do with you, or with us." msgstr "Oh, . Isso não tem nada a ver com você ou conosco." -#: lang/json/talk_topic_from_json.py -msgid "All right, fine. I had someone. I lost him." -msgstr "Tudo bem. Eu tive alguém. Eu perdi ele." - #: lang/json/talk_topic_from_json.py msgid "All right, fine. I had someone. I lost her." msgstr "Tudo bem. Eu tive alguém. Eu a perdi." +#: lang/json/talk_topic_from_json.py +msgid "All right, fine. I had someone. I lost him." +msgstr "Tudo bem. Eu tive alguém. Eu perdi ele." + #: lang/json/talk_topic_from_json.py msgid "" -"He was at home when the bombs started dropping and the world went to hell. " -"I was at work. I tried to make it to our house, but the city was a war " +"She was at home when the bombs started dropping and the world went to hell." +" I was at work. I tried to make it to our house, but the city was a war " "zone. Things I can't describe lurching through the streets, crushing people" " and cars. Soldiers trying to stop them, but hitting people in the " "crossfire as much as anything. And then the collateral damage would get " -"right back up and join the enemy. If it hadn't been for my husband, I would" -" have just left, but I did what I could and I slipped through. I actually " +"right back up and join the enemy. If it hadn't been for my wife, I would " +"have just left, but I did what I could and I slipped through. I actually " " made it alive." msgstr "" -" Ele estava em casa quando as bombas começaram a cair e o mundo foi para o " +" Ela estava em casa quando as bombas começaram a cair e o mundo foi para o " "inferno. Eu estava no trabalho. Eu tentei chegar à nossa casa, mas a cidade " "era uma zona de guerra. Coisas que não consigo descrever andando pelas ruas," " esmagando pessoas e carros. Soldados tentando detê-los, mas atingindo as " "pessoas no fogo cruzado, tanto quanto qualquer outra coisa. E então o dano " -"colateral voltaria e se juntaria ao inimigo. Se não fosse pelo meu marido, " +"colateral voltaria e se juntaria ao inimigo. Se não fosse por minha esposa, " "eu teria acabado de sair, mas fiz o que pude e escorreguei. eu na verdade " " fez isso vivo." #: lang/json/talk_topic_from_json.py msgid "" -"She was at home when the bombs started dropping and the world went to hell." -" I was at work. I tried to make it to our house, but the city was a war " +"He was at home when the bombs started dropping and the world went to hell. " +"I was at work. I tried to make it to our house, but the city was a war " "zone. Things I can't describe lurching through the streets, crushing people" " and cars. Soldiers trying to stop them, but hitting people in the " "crossfire as much as anything. And then the collateral damage would get " -"right back up and join the enemy. If it hadn't been for my wife, I would " -"have just left, but I did what I could and I slipped through. I actually " +"right back up and join the enemy. If it hadn't been for my husband, I would" +" have just left, but I did what I could and I slipped through. I actually " " made it alive." msgstr "" -" Ela estava em casa quando as bombas começaram a cair e o mundo foi para o " +" Ele estava em casa quando as bombas começaram a cair e o mundo foi para o " "inferno. Eu estava no trabalho. Eu tentei chegar à nossa casa, mas a cidade " "era uma zona de guerra. Coisas que não consigo descrever andando pelas ruas," " esmagando pessoas e carros. Soldados tentando detê-los, mas atingindo as " "pessoas no fogo cruzado, tanto quanto qualquer outra coisa. E então o dano " -"colateral voltaria e se juntaria ao inimigo. Se não fosse por minha esposa, " +"colateral voltaria e se juntaria ao inimigo. Se não fosse pelo meu marido, " "eu teria acabado de sair, mas fiz o que pude e escorreguei. eu na verdade " " fez isso vivo." @@ -159140,11 +167121,11 @@ msgstr "Você entrou na casa?" #: lang/json/talk_topic_from_json.py msgid "" "I did. Took a few hours to get an opening. And you wanna know the fucked " -"up part? Like, out of all this? My husband was still alive. He'd been in " +"up part? Like, out of all this? My wife was still alive. She'd been in " "the basement the whole time, pinned under a collapsed piece of floor. And " -"he'd lost a ton of blood, he was delirious by the time I found him. I " -"couldn't get him out, so I gave him food and water and just stayed with him " -"and held his hand until he passed. And then... well, then I did what you " +"she'd lost a ton of blood, she was delirious by the time I found her. I " +"couldn't get her out, so I gave her food and water and just stayed with her " +"and held her hand until she passed. And then... well, then I did what you " "have to do to the dead now. And then I packed up the last few fragments of " "my life, and I try to never look back." msgstr "" @@ -159152,11 +167133,11 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "I did. Took a few hours to get an opening. And you wanna know the fucked " -"up part? Like, out of all this? My wife was still alive. She'd been in " +"up part? Like, out of all this? My husband was still alive. He'd been in " "the basement the whole time, pinned under a collapsed piece of floor. And " -"she'd lost a ton of blood, she was delirious by the time I found her. I " -"couldn't get her out, so I gave her food and water and just stayed with her " -"and held her hand until she passed. And then... well, then I did what you " +"he'd lost a ton of blood, he was delirious by the time I found him. I " +"couldn't get him out, so I gave him food and water and just stayed with him " +"and held his hand until he passed. And then... well, then I did what you " "have to do to the dead now. And then I packed up the last few fragments of " "my life, and I try to never look back." msgstr "" @@ -159286,8 +167267,8 @@ msgid "What do you think happened?" msgstr "O que você acha que aconteceu?" #: lang/json/talk_topic_from_json.py -msgid "That does sound a little crazy..." -msgstr "Isso soa um pouco louco ..." +msgid "That does sound a little crazy…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -159357,8 +167338,8 @@ msgid "What happened to you after that?" msgstr "O que aconteceu com você depois disso?" #: lang/json/talk_topic_from_json.py -msgid "It can't be healthy to abandon your past like that..." -msgstr "Não pode ser saudável abandonar o seu passado assim ..." +msgid "It can't be healthy to abandon your past like that…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -159967,8 +167948,8 @@ msgstr "" "também, mas suponho que tudo ficará claro a tempo." #: lang/json/talk_topic_from_json.py -msgid "Do you mean in a religious sense, or...?" -msgstr "Você quer dizer em um sentido religioso, ou ...?" +msgid "Do you mean in a religious sense, or…?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -160034,24 +168015,6 @@ msgstr "" "acho que perambulo pelo Inferno na Terra. Eu gostaria de ter prestado mais " "atenção na Escola Dominical." -#: lang/json/talk_topic_from_json.py -msgid "" -"I lived alone, on the old family property way out of town. My husband " -"passed away a bit over a month before this started... cancer. If anything " -"good has come out of all this, it's that I finally see a positive to losing " -"him so young. I'd been shut in for a while anyway. When the news started " -"talking about Chinese bio weapons and sleeper agents, and showing the " -"rioting in Boston and such, I curled up with my canned soup and changed the " -"channel." -msgstr "" -" Eu morava sozinho, na antiga propriedade da família, fora da cidade. Meu " -"marido faleceu um pouco mais de um mês antes que isso começasse ... câncer. " -"Se algo de bom saiu de tudo isso, é que finalmente vejo um positivo em " -"perdê-lo tão jovem. Eu tinha sido fechado por um tempo de qualquer maneira. " -"Quando as notícias começaram a falar sobre armas biológicas chinesas e " -"agentes adormecidos, e mostrando os tumultos em Boston e tal, eu me enrolei " -"com a minha sopa enlatada e mudei de canal." - #: lang/json/talk_topic_from_json.py msgid "" "I lived alone, on the old family property way out of town. My wife passed " @@ -160070,6 +168033,24 @@ msgstr "" "chinesas e agentes adormecidos, e mostrando os tumultos em Boston e tal, eu " "me enrolei com a minha sopa enlatada e mudei de canal." +#: lang/json/talk_topic_from_json.py +msgid "" +"I lived alone, on the old family property way out of town. My husband " +"passed away a bit over a month before this started... cancer. If anything " +"good has come out of all this, it's that I finally see a positive to losing " +"him so young. I'd been shut in for a while anyway. When the news started " +"talking about Chinese bio weapons and sleeper agents, and showing the " +"rioting in Boston and such, I curled up with my canned soup and changed the " +"channel." +msgstr "" +" Eu morava sozinho, na antiga propriedade da família, fora da cidade. Meu " +"marido faleceu um pouco mais de um mês antes que isso começasse ... câncer. " +"Se algo de bom saiu de tudo isso, é que finalmente vejo um positivo em " +"perdê-lo tão jovem. Eu tinha sido fechado por um tempo de qualquer maneira. " +"Quando as notícias começaram a falar sobre armas biológicas chinesas e " +"agentes adormecidos, e mostrando os tumultos em Boston e tal, eu me enrolei " +"com a minha sopa enlatada e mudei de canal." + #: lang/json/talk_topic_from_json.py msgid "" "Well, it built up a bit. There was that acid rain, it burnt up one of my " @@ -160177,14 +168158,6 @@ msgstr "Sinto muito por Buck. " msgid "I'm sorry about Buck. " msgstr "Sinto muito por Buck. " -#: lang/json/talk_topic_from_json.py -msgid "" -"Like I said, you want me to tell you a story, you gotta pony up the whisky." -" A full bottle, mind you." -msgstr "" -" Como eu disse, você quer que eu conte uma história, você tem que " -"desembolsar o uísque. Uma garrafa cheia, lembre-se." - #: lang/json/talk_topic_from_json.py msgid "" "Listen. I'm gonna cut this off short. I work for you, okay? I'm not " @@ -160193,6 +168166,14 @@ msgstr "" " Ouço. Eu vou cortar isso. Eu trabalho para você, ok? Eu não estou " "interessado em me apegar. Você não me pagou para ser seu amigo." +#: lang/json/talk_topic_from_json.py +msgid "" +"Like I said, you want me to tell you a story, you gotta pony up the whisky." +" A full bottle, mind you." +msgstr "" +" Como eu disse, você quer que eu conte uma história, você tem que " +"desembolsar o uísque. Uma garrafa cheia, lembre-se." + #: lang/json/talk_topic_from_json.py msgid "" "I'm not looking for a friend, but I've paid my dues and earned my way. You " @@ -160415,11 +168396,9 @@ msgstr "O que aconteceu com isso?" #: lang/json/talk_topic_from_json.py msgid "" -"If I got you the right stuff, do you think you'd be able to like... do " -"science to it?" +"If I got you the right stuff, do you think you'd be able to like… do science" +" to it?" msgstr "" -" Se eu consegui a coisa certa, você acha que seria capaz de gostar ... fazer" -" ciência para isso?" #: lang/json/talk_topic_from_json.py msgid "" @@ -160588,8 +168567,8 @@ msgstr "" "casamento." #: lang/json/talk_topic_from_json.py -msgid "Oh, I'm sorry..." -msgstr "Oh, me desculpe..." +msgid "Oh, I'm sorry…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -160624,29 +168603,29 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Well, I have this weird hope. It's probably stupid, but I saw my fiancé " -"peel out of there with his sister - my maid of honor - in her pickup truck " -"as things went bad. So, until I run into them again one way or another, I'm" -" just gonna keep on believing they're out there, doing well. That's more " +"Well, I have this weird hope. It's probably stupid, but I saw my fiancée " +"peel out of there with her brother - my best man - in his pickup truck as " +"things went bad. So, until I run into them again one way or another, I'm " +"just gonna keep on believing they're out there, doing well. That's more " "than most of us have." msgstr "" " Bem, eu tenho essa estranha esperança. É provavelmente estúpido, mas eu vi " -"meu noivo sair de lá com sua irmã - minha dama de honra - em sua caminhonete" -" quando as coisas correram mal. Então, até eu deparar com eles de um jeito " +"minha noiva sair de lá com seu irmão - meu padrinho - em sua caminhonete " +"enquanto as coisas correram mal. Então, até eu deparar com eles de um jeito " "ou de outro, vou continuar acreditando que eles estão indo bem. Isso é mais " "do que a maioria de nós tem." #: lang/json/talk_topic_from_json.py msgid "" -"Well, I have this weird hope. It's probably stupid, but I saw my fiancée " -"peel out of there with her brother - my best man - in his pickup truck as " -"things went bad. So, until I run into them again one way or another, I'm " -"just gonna keep on believing they're out there, doing well. That's more " +"Well, I have this weird hope. It's probably stupid, but I saw my fiancé " +"peel out of there with his sister - my maid of honor - in her pickup truck " +"as things went bad. So, until I run into them again one way or another, I'm" +" just gonna keep on believing they're out there, doing well. That's more " "than most of us have." msgstr "" " Bem, eu tenho essa estranha esperança. É provavelmente estúpido, mas eu vi " -"minha noiva sair de lá com seu irmão - meu padrinho - em sua caminhonete " -"enquanto as coisas correram mal. Então, até eu deparar com eles de um jeito " +"meu noivo sair de lá com sua irmã - minha dama de honra - em sua caminhonete" +" quando as coisas correram mal. Então, até eu deparar com eles de um jeito " "ou de outro, vou continuar acreditando que eles estão indo bem. Isso é mais " "do que a maioria de nós tem." @@ -160655,11 +168634,11 @@ msgid "What were you saying before that?" msgstr "O que você estava dizendo antes disso?" #: lang/json/talk_topic_from_json.py -msgid "Hey, ." +msgid "I can't believe my eyes. Please get my outta here..." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I can't believe my eyes. Please get my outta here..." +msgid "Hey, ." msgstr "" #: lang/json/talk_topic_from_json.py @@ -160685,9 +168664,7 @@ msgid "Sounds good, Barry." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"I see that badge, I think you need ot keep on walking, straight off this " -"property." +msgid "Hello Ma'am, what brings you here?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -160695,7 +168672,9 @@ msgid "Hello Sir, what brings you here?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello Ma'am, what brings you here?" +msgid "" +"I see that badge, I think you need ot keep on walking, straight off this " +"property." msgstr "" #: lang/json/talk_topic_from_json.py @@ -160713,7 +168692,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "It is coming together. I want to make our own tools, repair our items and " -"even create some weapons and ammuntion reloading." +"even create some weapons and ammunition reloading." msgstr "" #: lang/json/talk_topic_from_json.py @@ -160726,7 +168705,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"It was pink and really fast, it had lots of limbs, definitly not human. It " +"It was pink and really fast, it had lots of limbs, definitely not human. It " "easily kept up with us when we tried to escape, horrifying stuff. Barry " "just dropped to the ground, and the thing swept him away." msgstr "" @@ -160770,13 +168749,13 @@ msgid "Where can I find Chris?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"I see that badge, You need to leave our land, my relatives have no fondess " -"for Marshals." +msgid "Hi, what's up?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi, what's up?" +msgid "" +"I see that badge, You need to leave our land, my relatives have no fondness " +"for Marshals." msgstr "" #: lang/json/talk_topic_from_json.py @@ -160870,7 +168849,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Is that a U.S. Marshal's badge you're wearing?" +msgid "Hi, what brings you here?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -160878,7 +168857,7 @@ msgid "Hello, what brings you here?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi, what brings you here?" +msgid "Is that a U.S. Marshal's badge you're wearing?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -160935,7 +168914,7 @@ msgid "He did mention you make remedies, are they effective?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'd like to ask you something else..." +msgid "I'd like to ask you something else…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -161073,10 +169052,6 @@ msgstr "" msgid "Where can I find Carlos?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hello travler, what brings you here?" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "Hello traveler, what brings you here?" msgstr "" @@ -161106,7 +169081,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "We've had our losses... now we stay close to home, preparing for trouble. " -"We've always taken disaster prepardness seriously, but we didn't expect " +"We've always taken disaster preparedness seriously, but we didn't expect " "anything like this though." msgstr "" @@ -161155,7 +169130,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You should get off my land, the governemnt proved its incompetence with this" +"You should get off my land, the government proved its incompetence with this" " catastrophe." msgstr "" @@ -161180,11 +169155,11 @@ msgid "That's all for now. I'd best get going." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Leave our property, Marshal." +msgid "Hello, We don't see many people these days." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hello, We don't see many people these days." +msgid "Leave our property, Marshal." msgstr "" #: lang/json/talk_topic_from_json.py @@ -161230,7 +169205,8 @@ msgid "I'd like to speak with Carlos too about some work." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Is Chris around? I'd like to know what he's run into out in the woods." +msgid "" +"Is Chris around? I'd like to know what he's run into out in the woods." msgstr "" #: lang/json/talk_topic_from_json.py @@ -161311,14 +169287,14 @@ msgid "" "parents don't know he left the property." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "I see that badge, you should leave before my father sees you." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "Hello." msgstr "Olá." +#: lang/json/talk_topic_from_json.py +msgid "I see that badge, you should leave before my father sees you." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Your dad said you were out here fixing up this place." msgstr "" @@ -161385,10 +169361,6 @@ msgstr "" msgid "Tell me about your dad." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Marshal, I hope you're here to assist us." -msgstr "Marechal, espero que esteja aqui para nos ajudar." - #: lang/json/talk_topic_from_json.py msgid "" "Sir, I don't know how the hell you got down here but if you have any sense " @@ -161405,6 +169377,10 @@ msgstr "" " Senhora, eu não sei como diabos você chegou até aqui, mas se você tem algum" " senso, você sairá enquanto puder." +#: lang/json/talk_topic_from_json.py +msgid "Marshal, I hope you're here to assist us." +msgstr "Marechal, espero que esteja aqui para nos ajudar." + #: lang/json/talk_topic_from_json.py msgid "What are you doing down here?" msgstr "o quê você está fazendo aqui em baixo?" @@ -161418,16 +169394,16 @@ msgid "What do you need done?" msgstr "O que você precisa fazer?" #: lang/json/talk_topic_from_json.py -msgid "About the mission..." -msgstr "Sobre a missão ..." +msgid "About the mission…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About one of those missions..." -msgstr "Sobre uma dessas missões ..." +msgid "About one of those missions…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I've got to go..." -msgstr "Eu tenho que ir..." +msgid "I've got to go…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -161451,8 +169427,8 @@ msgstr "" "operações de recuperação." #: lang/json/talk_topic_from_json.py -msgid "Seems like a decent plan..." -msgstr "Parece um plano decente ..." +msgid "Seems like a decent plan…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -161479,14 +169455,13 @@ msgstr "" "dizem é que toda a pressão da água foi desviada para os níveis mais baixos." #: lang/json/talk_topic_from_json.py -msgid "Whatever they did it must have worked since we are still alive..." +msgid "Whatever they did it must have worked since we are still alive…" msgstr "" -" O que quer que tenham feito, deve ter funcionado desde que ainda estamos " -"vivos ..." #: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm rather surprised to see you here." -msgstr "Marechal, estou muito surpreso em ver você aqui." +msgid "Ma'am you are not authorized to be here... you should leave." +msgstr "" +" Senhora, você não está autorizado a estar aqui ... você deveria ir embora." #: lang/json/talk_topic_from_json.py msgid "Sir you are not authorized to be here... you should leave." @@ -161494,9 +169469,8 @@ msgstr "" " Senhor, você não está autorizado a estar aqui ... você deveria ir embora." #: lang/json/talk_topic_from_json.py -msgid "Ma'am you are not authorized to be here... you should leave." -msgstr "" -" Senhora, você não está autorizado a estar aqui ... você deveria ir embora." +msgid "Marshal, I'm rather surprised to see you here." +msgstr "Marechal, estou muito surpreso em ver você aqui." #: lang/json/talk_topic_from_json.py msgid "[MISSION] The captain sent me to get a frequency list from you." @@ -161522,8 +169496,8 @@ msgstr "" "se tiver alguma dúvida." #: lang/json/talk_topic_from_json.py -msgid "I'll try and find your commander then..." -msgstr "Vou tentar encontrar o seu comandante então ..." +msgid "I'll try and find your commander then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -161544,23 +169518,6 @@ msgstr "" "integridade da rede de comunicações. Esperamos que algumas mensagens de " "texto simples possam ser captadas." -#: lang/json/talk_topic_from_json.py -msgid "Hello, marshal." -msgstr "Olá, marechal." - -#: lang/json/talk_topic_from_json.py -msgid "Marshal, I'm afraid I can't talk now." -msgstr "Marechal, tenho medo de não poder falar agora." - -#: lang/json/talk_topic_from_json.py -msgid "I'm not in charge here, marshal." -msgstr "Eu não estou no comando aqui, marechal." - -#: lang/json/talk_topic_from_json.py -msgid "I'm supposed to direct all questions to my leadership, marshal." -msgstr "" -" Eu deveria direcionar todas as perguntas para a minha liderança, marechal." - #: lang/json/talk_topic_from_json.py msgid "Hey, citizen... I'm not sure you belong here." msgstr "Ei, cidadão ... não tenho certeza se você pertence aqui." @@ -161573,6 +169530,15 @@ msgstr "Você deve cuidar do seu próprio negócio, nada para ver aqui." msgid "If you need something you'll need to talk to someone else." msgstr "Se você precisar de algo, precisará conversar com outra pessoa." +#: lang/json/talk_topic_from_json.py +msgid "Ma'am" +msgstr "madame" + +#: lang/json/talk_topic_from_json.py +msgid "Hey miss, don't you think it would be safer if you stuck with me?" +msgstr "" +" Ei, senhorita, você não acha que seria mais seguro se você ficasse comigo?" + #: lang/json/talk_topic_from_json.py msgid "Sir." msgstr "Senhor." @@ -161583,17 +169549,25 @@ msgstr "" " Cara, se você pode manter o seu próprio você deve olhar para se alistar." #: lang/json/talk_topic_from_json.py -msgid "Ma'am" -msgstr "madame" +msgid "Hello, marshal." +msgstr "Olá, marechal." #: lang/json/talk_topic_from_json.py -msgid "Hey miss, don't you think it would be safer if you stuck with me?" +msgid "Marshal, I'm afraid I can't talk now." +msgstr "Marechal, tenho medo de não poder falar agora." + +#: lang/json/talk_topic_from_json.py +msgid "I'm not in charge here, marshal." +msgstr "Eu não estou no comando aqui, marechal." + +#: lang/json/talk_topic_from_json.py +msgid "I'm supposed to direct all questions to my leadership, marshal." msgstr "" -" Ei, senhorita, você não acha que seria mais seguro se você ficasse comigo?" +" Eu deveria direcionar todas as perguntas para a minha liderança, marechal." #: lang/json/talk_topic_from_json.py -msgid "Don't mind me..." -msgstr "Não se importe comigo ..." +msgid "Don't mind me…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -161646,15 +169620,16 @@ msgid "I've no use for weaklings. Run. Now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"So, any luck with convincing the others to come on your crazy adventure yet?" -msgstr "" +msgid "Please, help me. I need food." +msgstr "Por favor me ajude. Eu preciso de comida." #: lang/json/talk_topic_from_json.py msgid "" -"I'm sorry to say it after all you've done for me, but... I don't suppose " -"you've got anything to eat?" +"Please, help me. I need food. Aren't you their sheriff? Can't you help " +"me?" msgstr "" +" Por favor me ajude. Eu preciso de comida. Você não é seu xerife? Você não " +"pode me ajudar?" #: lang/json/talk_topic_from_json.py msgid "Thank you again. I really appreciate the food." @@ -161662,15 +169637,14 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Please, help me. I need food. Aren't you their sheriff? Can't you help " -"me?" +"I'm sorry to say it after all you've done for me, but... I don't suppose " +"you've got anything to eat?" msgstr "" -" Por favor me ajude. Eu preciso de comida. Você não é seu xerife? Você não " -"pode me ajudar?" #: lang/json/talk_topic_from_json.py -msgid "Please, help me. I need food." -msgstr "Por favor me ajude. Eu preciso de comida." +msgid "" +"So, any luck with convincing the others to come on your crazy adventure yet?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -161689,18 +169663,18 @@ msgstr "Saia de perto de mim." #: lang/json/talk_topic_from_json.py msgid "" "They won't let me in. They say they're too full. I'm allowed to camp out " -"here as long as I keep it clean and don't make a fuss, but I'm reduced to " -"begging to survive." +"here as long as I keep it clean and don't make a fuss, but I'm so hungry." msgstr "" +" Eles não me deixam entrar. Dizem que estão muito cheios. Tenho permissão " +"para acampar aqui enquanto eu mantiver limpo e não fazer barulho, mas estou " +"com tanta fome." #: lang/json/talk_topic_from_json.py msgid "" "They won't let me in. They say they're too full. I'm allowed to camp out " -"here as long as I keep it clean and don't make a fuss, but I'm so hungry." +"here as long as I keep it clean and don't make a fuss, but I'm reduced to " +"begging to survive." msgstr "" -" Eles não me deixam entrar. Dizem que estão muito cheios. Tenho permissão " -"para acampar aqui enquanto eu mantiver limpo e não fazer barulho, mas estou " -"com tanta fome." #: lang/json/talk_topic_from_json.py msgid "Why don't you scavenge your own food?" @@ -161809,13 +169783,13 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"That's quite the offer, but I don't think I'd survive the trip. I don't " -"think you realize how useless I am in this world." +msgid "I'm sorry, I'm too hungry to make a big decision like that." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry, I'm too hungry to make a big decision like that." +msgid "" +"That's quite the offer, but I don't think I'd survive the trip. I don't " +"think you realize how useless I am in this world." msgstr "" #: lang/json/talk_topic_from_json.py @@ -161863,16 +169837,16 @@ msgid "Have I told you about cardboard, friend? Do you have any?" msgstr "Já te falei de papelão, amigo? Voc ~ e tem algum?" #: lang/json/talk_topic_from_json.py -msgid "We've done it! We've solved the list!" +msgid "" +"How's things with you? My cardboard collection is getting quite impressive." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"How's things with you? My cardboard collection is getting quite impressive." +msgid "We've done it! We've solved the list!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About that shopping list of yours..." +msgid "About that shopping list of yours…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -161899,16 +169873,16 @@ msgstr "Você está seriamente vestindo uma fantasia de dinossauro?" msgid "Do you need something to eat?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Oh nice. Crunchings and munchings. That's a cool, a cool thing." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "Yeah, I'm real hungry and they put drugs in most of the food. I can see " "you're not like that." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Oh nice. Crunchings and munchings. That's a cool, a cool thing." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Actually can I ask you something else?" msgstr "" @@ -161940,8 +169914,8 @@ msgid "Would you like me to give you some cardboard?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I think I have to get going..." -msgstr "Eu acho que tenho que ir ..." +msgid "I think I have to get going…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -161972,7 +169946,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "... What were you saying before?" +msgid "…What were you saying before?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -161992,7 +169966,7 @@ msgid "No." msgstr "Não." #: lang/json/talk_topic_from_json.py -msgid "I... I can see you wearing it. Why are you wearing that?" +msgid "I… I can see you wearing it. Why are you wearing that?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162007,15 +169981,15 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Well... I had it all pretty together, but the others have left, and now the " -"masters won't let me build my sanctuary. Can you help me figure them out?" +"That's it! I'm just gonna need a little time to get it all set up. Thanks." +" You've helped me a lot. I'm feeling much more myself with all this to " +"keep me going." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"That's it! I'm just gonna need a little time to get it all set up. Thanks." -" You've helped me a lot. I'm feeling much more myself with all this to " -"keep me going." +"Well... I had it all pretty together, but the others have left, and now the " +"masters won't let me build my sanctuary. Can you help me figure them out?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162035,15 +170009,18 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Fuck off, dickwaddle." -msgstr "" +msgid "Don't bother with these assholes." +msgstr "Não se incomode com esses idiotas." #: lang/json/talk_topic_from_json.py -msgid "Yo. Anyone else keen on moving from this bus stop to your tent city?" +msgid "Hey there, not-asshole. Good to see you again." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey there. Good to see you again." +msgid "" +"Look, I'm sorry for freaking out earlier. You might be an asshole but I'm " +"sure you didn't mean it like that. My blood sugar is hella low, I get a bit" +" cranky. We cool?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162053,19 +170030,16 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Look, I'm sorry for freaking out earlier. You might be an asshole but I'm " -"sure you didn't mean it like that. My blood sugar is hella low, I get a bit" -" cranky. We cool?" +msgid "Hey there. Good to see you again." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey there, not-asshole. Good to see you again." +msgid "Yo. Anyone else keen on moving from this bus stop to your tent city?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Don't bother with these assholes." -msgstr "Não se incomode com esses idiotas." +msgid "Fuck off, dickwaddle." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "What's up?" @@ -162084,8 +170058,8 @@ msgid "I found a sample of alien fungus for you." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ok... see ya." -msgstr "Ok te vejo por ai." +msgid "Ok… see ya." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -162186,8 +170160,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I mean, racism could definitely be a part of it... but you are visibly in " -"poor shape. They need strong survivor material." +"I mean, racism could definitely be a part of it… but you are visibly in poor" +" shape. They need strong survivor material." msgstr "" #: lang/json/talk_topic_from_json.py @@ -162219,7 +170193,7 @@ msgid "You sound more optimistic than usual." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So, about that doctorate of yours..." +msgid "So, about that doctorate of yours…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162339,7 +170313,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "Encroaching alien mushrooms, fungal towers, tough mycelium invading ground " -"and trees, zombies taken over by aggressive mold... Yeah. It's ugly stuff." +"and trees, zombies taken over by aggressive mold… Yeah. It's ugly stuff." msgstr "" #: lang/json/talk_topic_from_json.py @@ -162356,16 +170330,16 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"If you get me a sample, I'll join your crazy camp expedition. Hell, if you " -"bring me a sample maybe I'll help you set up a lab to study this stuff. " -"Almost anything could work, but if this stuff is as dangerous as you make it" -" sound, maybe make sure it's not a sporulating body." +"I dunno, scientific interest? If you don't bring me anything, no worries. " +"I'm positively swimming in entertainment here, as you can see." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I dunno, scientific interest? If you don't bring me anything, no worries. " -"I'm positively swimming in entertainment here, as you can see." +"If you get me a sample, I'll join your crazy camp expedition. Hell, if you " +"bring me a sample maybe I'll help you set up a lab to study this stuff. " +"Almost anything could work, but if this stuff is as dangerous as you make it" +" sound, maybe make sure it's not a sporulating body." msgstr "" #: lang/json/talk_topic_from_json.py @@ -162410,14 +170384,14 @@ msgstr "" msgid "I'll see what I can do." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Thanks again for the grub, my friend." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "Hey, are you a big fan of survival of the fittest?" msgstr "Ei, você é um grande fã da sobrevivência do mais apto?" +#: lang/json/talk_topic_from_json.py +msgid "Thanks again for the grub, my friend." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Why do you ask?" msgstr "Por que você pergunta?" @@ -162434,12 +170408,6 @@ msgstr "" msgid "Nice to see you. I gotta be going though." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"Oh you know, the usual: sittin' out here until I starve to death, playin' " -"cards with Dave, that kinda thing." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "Because I sure ain't fit, so I'm sittin' out here until I starve to death. " @@ -162449,7 +170417,13 @@ msgstr "" "de fome. Ajudar uma pobre alma doentia?" #: lang/json/talk_topic_from_json.py -msgid "I could maybe help you out... want something to eat?" +msgid "" +"Oh you know, the usual: sittin' out here until I starve to death, playin' " +"cards with Dave, that kinda thing." +msgstr "" + +#: lang/json/talk_topic_from_json.py +msgid "I could maybe help you out… want something to eat?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162469,12 +170443,12 @@ msgid "Why are you camped out here if they won't let you in?" msgstr "Por que você está acampado aqui se eles não o deixarem entrar?" #: lang/json/talk_topic_from_json.py -msgid "That's awful kind of you, you really are a wonderful person." +msgid "" +"Oh, wow! You're a real gem, you know that? Thanks for even thinking of it." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Oh, wow! You're a real gem, you know that? Thanks for even thinking of it." +msgid "That's awful kind of you, you really are a wonderful person." msgstr "" #: lang/json/talk_topic_from_json.py @@ -162627,10 +170601,6 @@ msgstr "" msgid "Hey there, friend." msgstr "Ei, amigo." -#: lang/json/talk_topic_from_json.py src/player.cpp -msgid "What are you doing out here?" -msgstr "O que você está fazendo aqui?" - #: lang/json/talk_topic_from_json.py msgid "I couldn't help but notice, you're covered in fur." msgstr "Eu não pude deixar de notar, você está coberto de pele." @@ -162775,6 +170745,10 @@ msgstr "" msgid "What's your take on the situation here?" msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Oh, uh... hi. You look new. I'm Aleesha." +msgstr "Oh, uh ... oi. Você parece novo. Eu sou Aleesha." + #: lang/json/talk_topic_from_json.py msgid "Hey there." msgstr "Olá." @@ -162791,10 +170765,6 @@ msgstr "" msgid "Aw hey, look who's back." msgstr "Ah, olhe quem está de volta." -#: lang/json/talk_topic_from_json.py -msgid "Oh, uh... hi. You look new. I'm Aleesha." -msgstr "Oh, uh ... oi. Você parece novo. Eu sou Aleesha." - #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, kid. What's up?" msgstr "Prazer em conhecê-lo, garoto. Estás bem?" @@ -162812,16 +170782,16 @@ msgid "Hi Aleesha. I can't stay to talk." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm not a kid, okay? I'm sixteen." -msgstr "Eu não sou criança, ok? Eu tenho dezesseis anos." +msgid "I'm not a kid, okay? I'm fourteen." +msgstr "Eu não sou criança, ok? Eu tenho quatorze." #: lang/json/talk_topic_from_json.py msgid "I'm not a kid, okay? I'm fifteen." msgstr "Eu não sou criança, ok? Eu tenho quinze." #: lang/json/talk_topic_from_json.py -msgid "I'm not a kid, okay? I'm fourteen." -msgstr "Eu não sou criança, ok? Eu tenho quatorze." +msgid "I'm not a kid, okay? I'm sixteen." +msgstr "Eu não sou criança, ok? Eu tenho dezesseis anos." #: lang/json/talk_topic_from_json.py msgid "Sorry, I didn't mean anything by it. What's up?" @@ -162831,6 +170801,19 @@ msgstr "Desculpe, eu não quis dizer nada com isso. Estás bem?" msgid "Sorry, I didn't mean anything by it. I'll be on my way." msgstr "Desculpe, eu não quis dizer nada com isso. Estarei à caminho." +#: lang/json/talk_topic_from_json.py +msgid "" +"I don't know what's up. I'm not sure what we've even doing here. They say " +"we're supposed to wait until we can be moved to the shelter downstairs, but " +"we've been here days and there's no word on how long we'll be waiting. It's" +" all so stupid, and nobody can tell me anything." +msgstr "" +" Eu não sei o que está acontecendo. Não tenho certeza do que estamos fazendo" +" aqui. Eles dizem que devemos esperar até que possamos ser transferidos para" +" o abrigo no andar de baixo, mas estamos aqui há dias e não há nenhuma " +"palavra sobre quanto tempo ficaremos esperando. É tudo tão estúpido e " +"ninguém pode me dizer nada." + #: lang/json/talk_topic_from_json.py msgid "" "We're just standing around here waiting, like a bunch of idiots. We're " @@ -162845,19 +170828,6 @@ msgstr "" "Eu li todos os livros e há zumbis do lado de fora, então estamos presos " "aqui. Nós podemos ouvi-los durante a noite." -#: lang/json/talk_topic_from_json.py -msgid "" -"I don't know what's up. I'm not sure what we've even doing here. They say " -"we're supposed to wait until we can be moved to the shelter downstairs, but " -"we've been here days and there's no word on how long we'll be waiting. It's" -" all so stupid, and nobody can tell me anything." -msgstr "" -" Eu não sei o que está acontecendo. Não tenho certeza do que estamos fazendo" -" aqui. Eles dizem que devemos esperar até que possamos ser transferidos para" -" o abrigo no andar de baixo, mas estamos aqui há dias e não há nenhuma " -"palavra sobre quanto tempo ficaremos esperando. É tudo tão estúpido e " -"ninguém pode me dizer nada." - #: lang/json/talk_topic_from_json.py msgid "" "You can't just go asking people questions like that nowadays. I'm a " @@ -162885,7 +170855,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You seem a little forward..." +msgid "You seem a little forward…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -162898,10 +170868,6 @@ msgstr "" msgid "How are things here?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Hello again, gorgeous" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "Oh my, you're a beautiful lady, so nice to see you. They call me Alonso." @@ -162913,6 +170879,10 @@ msgid "" " call me Alonso." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Hello again, gorgeous" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Alonso." msgstr "" @@ -162938,11 +170908,6 @@ msgstr "" msgid "Actually I'm just heading out." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"Well, it's a lot better now that you're here. Nice to see a familiar face." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "Now that you are here, everything. Is there anything Alonso can... *do for " @@ -162950,13 +170915,18 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You know me, I gotta be me, right?" +msgid "" +"Well, it's a lot better now that you're here. Nice to see a familiar face." msgstr "" #: lang/json/talk_topic_from_json.py msgid "Alonso cannot help himself, in the face of someone so fine as you." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "You know me, I gotta be me, right?" +msgstr "Você me conhece, eu tenho que ser eu, certo?" + #: lang/json/talk_topic_from_json.py msgid "" "Aw come on, why you gotta be like that? I'm just tryin' to get an air of " @@ -162995,6 +170965,12 @@ msgstr "" msgid "Thanks. I'd better get going." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"Alonso does not wish to talk about the past, only the future. There are " +"dark days ahead, but perhaps together we can bring a little light?" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "I'm tryin' ta forget, y'know? Don't like thinkin' about the past. Better " @@ -163003,8 +170979,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Alonso does not wish to talk about the past, only the future. There are " -"dark days ahead, but perhaps together we can bring a little light?" +"Here in the center, Alonso is a bit lonely. We get a few brave, strong " +"travellers like yourself, though, and seeing them brightens Alonso's day." msgstr "" #: lang/json/talk_topic_from_json.py @@ -163014,10 +170990,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Here in the center, Alonso is a bit lonely. We get a few brave, strong " -"travellers like yourself, though, and seeing them brightens Alonso's day." -msgstr "" +msgid "Ah, another new face. Hello. I am Boris." +msgstr "Ah, outro novo rosto. Olá. Eu sou o Boris." #: lang/json/talk_topic_from_json.py msgid "Well, well. I'm glad you are back." @@ -163031,10 +171005,6 @@ msgstr "Olá de novo, meu amigo." msgid "It is good to see you again." msgstr "É bom ver você novamente." -#: lang/json/talk_topic_from_json.py -msgid "Ah, another new face. Hello. I am Boris." -msgstr "Ah, outro novo rosto. Olá. Eu sou o Boris." - #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Boris." msgstr "" @@ -163103,13 +171073,6 @@ msgstr "" msgid "I'm sorry. I'd better get going." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"Well, now that you mention it, with the back bay cleared I could probably " -"set up back there and start work. I'll think about it, get back to me " -"later." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "There isn't much to do with a hammer and a saw here indoors, and working " @@ -163120,6 +171083,13 @@ msgid "" "caravans bring food, so they get priority, I can't argue with that." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"Well, now that you mention it, with the back bay cleared I could probably " +"set up back there and start work. I'll think about it, get back to me " +"later." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "Everyone agrees this is bad. Sleeping on a cot on the floor, crowded in " @@ -163141,13 +171111,17 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About that sourdough starter you had me looking for..." +msgid "About that sourdough starter you had me looking for…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "Got any more bread I can trade flour for?" msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Hi there. I'm Dana, nice to see a new face." +msgstr "Olá. Eu sou Dana, bom ver um novo rosto." + #: lang/json/talk_topic_from_json.py msgid "Hello, nice to see you again." msgstr "Olá, prazer em vê-lo novamente." @@ -163156,10 +171130,6 @@ msgstr "Olá, prazer em vê-lo novamente." msgid "It's good to see you're still around." msgstr "É bom ver que você ainda está por perto." -#: lang/json/talk_topic_from_json.py -msgid "Hi there. I'm Dana, nice to see a new face." -msgstr "Olá. Eu sou Dana, bom ver um novo rosto." - #: lang/json/talk_topic_from_json.py msgid "Dana, hey? Nice to meet you." msgstr "Dana, ei? Prazer em conhecê-lo." @@ -163205,12 +171175,14 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'm sorry for your loss." -msgstr "" +msgstr "Sinto muito pela sua perda." #: lang/json/talk_topic_from_json.py msgid "" -"Not since I last saw you, sorry. Come by in another day or two and I'll try" -" to keep a loaf set aside for you, but they disappear fast." +"I do a bit. I got a sourdough starter going almost as soon as I arrived, " +"and it's making passable bread already. I cooked some up yesterday " +"actually, I could probably trade a loaf of fresh bread for, say, about eight" +" cups of flour." msgstr "" #: lang/json/talk_topic_from_json.py @@ -163221,10 +171193,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I do a bit. I got a sourdough starter going almost as soon as I arrived, " -"and it's making passable bread already. I cooked some up yesterday " -"actually, I could probably trade a loaf of fresh bread for, say, about eight" -" cups of flour." +"Not since I last saw you, sorry. Come by in another day or two and I'll try" +" to keep a loaf set aside for you, but they disappear fast." msgstr "" #: lang/json/talk_topic_from_json.py @@ -163246,6 +171216,12 @@ msgid "" "that's a lot more than most." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"Great, here's a loaf of my locally-famous, not-very-mature sourdough. It's " +"not too bad honestly. Everyone here seems to like it." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "Great, here's a loaf of the best damn sourdough bread in the world. I used " @@ -163267,12 +171243,6 @@ msgid "" "now." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"Great, here's a loaf of my locally-famous, not-very-mature sourdough. It's " -"not too bad honestly. Everyone here seems to like it." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "You seem pretty unhappy about the quality of your bread. Is there something" @@ -163302,10 +171272,6 @@ msgid "" "gonna murder someone soon, mark my words." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Have you heard anything back from the ranch about jobs yet?" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "Huh. I've made a few friends here, but not so much as I'd stick around here" @@ -163313,6 +171279,10 @@ msgid "" "me. It does sound nice, if they're looking for more workers." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Have you heard anything back from the ranch about jobs yet?" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "I spoke to the foreman over at Tacoma Ranch. If you're willing to put in " @@ -163349,16 +171319,16 @@ msgid "" "consider getting out of here and signing up." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Always good to see you, friend." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "Well now, good to see another new face! Welcome to the center, friend, I'm " "Draco." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "Always good to see you, friend." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Draco." msgstr "" @@ -163435,7 +171405,7 @@ msgid "I think I would've done the same. Nobody around here has a guitar?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yes, yes I would... you monster." +msgid "Yes, yes I would… you monster." msgstr "" #: lang/json/talk_topic_from_json.py @@ -163593,12 +171563,12 @@ msgid "Well then, I'll leave you here where it's safe." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"My savior! My patron of the arts! You're always welcome here, friend." +msgid "Man, just imagine what I could do with a new guitar." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Man, just imagine what I could do with a new guitar." +msgid "" +"My savior! My patron of the arts! You're always welcome here, friend." msgstr "" #: lang/json/talk_topic_from_json.py @@ -163694,15 +171664,15 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Yeah, no worries, though. I'm good at the moment. Ask me again later and " -"maybe I'll have scrounged up some more cash for you." +"Amazing! My lucky day. Let's see here. What can I offer... I can scrounge" +" up some Merch bucks for, say, five joints or joints-worth of the good " +"stuff." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Amazing! My lucky day. Let's see here. What can I offer... I can scrounge" -" up some Merch bucks for, say, five joints or joints-worth of the good " -"stuff." +"Yeah, no worries, though. I'm good at the moment. Ask me again later and " +"maybe I'll have scrounged up some more cash for you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -163753,6 +171723,12 @@ msgstr "" msgid "Is there anything I can do to help you out?" msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"Oh, hey, a new face. Hi, I'm Fatima. Just visiting I hope? It's nice to " +"meet new people but there are no beds to share." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Hello again." msgstr "Olá de novo." @@ -163765,12 +171741,6 @@ msgstr "" msgid "Oh, hi." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"Oh, hey, a new face. Hi, I'm Fatima. Just visiting I hope? It's nice to " -"meet new people but there are no beds to share." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "Nice to meet you too, Fatima. I'm just passing through." msgstr "" @@ -163830,15 +171800,15 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Well, hello." +msgid "Hi. Hi there. I'm Garry, Garry Villeneuve." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Good to see you again." +msgid "Well, hello." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi. Hi there. I'm Garry, Garry Villeneuve." +msgid "Good to see you again." msgstr "" #: lang/json/talk_topic_from_json.py @@ -163885,7 +171855,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You lost someone..." +msgid "You lost someone…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -163903,6 +171873,12 @@ msgid "" "look like we'll be here for the long term. If we live that long." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"Oh, hello. I don't think I've seen you around before. I'm Guneet, people " +"call me Gunny." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Hi." msgstr "Oi." @@ -163911,12 +171887,6 @@ msgstr "Oi." msgid "Hey again." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"Oh, hello. I don't think I've seen you around before. I'm Guneet, people " -"call me Gunny." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, Gunny." msgstr "" @@ -163963,15 +171933,15 @@ msgid "" " I think my mom's on the fence." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Nice to see you again." -msgstr "É bom ver você de novo." - #: lang/json/talk_topic_from_json.py msgid "" "Hi there. Haven't see you around here before. I'm Jenny, Jenny Forcette." msgstr "Olá. Não te vejo por aqui antes. Eu sou Jenny, Jenny Forcette." +#: lang/json/talk_topic_from_json.py +msgid "Nice to see you again." +msgstr "É bom ver você de novo." + #: lang/json/talk_topic_from_json.py msgid "Nice meeting you. What are you doing on that computer?" msgstr "Muito prazer em conhece-lo. O que você está fazendo nesse computador?" @@ -164170,6 +172140,20 @@ msgstr "" "escolhemos estar um com o outro. Eu não sei quanto tempo podemos ficar assim" " antes que alguém se agarre." +#: lang/json/talk_topic_from_json.py +msgid "" +"Well, there's a bunch of us. We're starting to form a bit of a community. " +"Fatima and I work together a fair bit, and I've been hanging out with Dana, " +"Draco, and Aleesha quite a lot. I don't know the Borichenko bunch, the " +"Singhs, Vanessa, Uyen, or Rhyzaea quite as well, but we've talked enough. " +"What did you want to know?" +msgstr "" +" Bem, tem um monte de gente. Estamos começando a formar um pouco de " +"comunidade. Fatima e eu trabalhamos juntos um pouco, e eu tenho saído muito " +"com Dana, Draco e Aleesha. Eu não conheço muito bem o bando de Borichenko, " +"os Singhs, Vanessa, Uyen ou Rhyzaea, mas já falamos o suficiente. O que você" +" queria saber?" + #: lang/json/talk_topic_from_json.py msgid "" "For better or worse, we're a community now. Fatima and I work together a " @@ -164190,20 +172174,6 @@ msgstr "" "discutindo sobre decisões de liderança, como se eles fizessem esse tipo de " "ligação. O que você queria saber?" -#: lang/json/talk_topic_from_json.py -msgid "" -"Well, there's a bunch of us. We're starting to form a bit of a community. " -"Fatima and I work together a fair bit, and I've been hanging out with Dana, " -"Draco, and Aleesha quite a lot. I don't know the Borichenko bunch, the " -"Singhs, Vanessa, Uyen, or Rhyzaea quite as well, but we've talked enough. " -"What did you want to know?" -msgstr "" -" Bem, tem um monte de gente. Estamos começando a formar um pouco de " -"comunidade. Fatima e eu trabalhamos juntos um pouco, e eu tenho saído muito " -"com Dana, Draco e Aleesha. Eu não conheço muito bem o bando de Borichenko, " -"os Singhs, Vanessa, Uyen ou Rhyzaea, mas já falamos o suficiente. O que você" -" queria saber?" - #: lang/json/talk_topic_from_json.py msgid "Can you tell me about the Free Merchants?" msgstr "Você pode me falar sobre os comerciantes livres?" @@ -164273,6 +172243,19 @@ msgid "" "hope that there's a future to be had." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"Boris and Garry are married, I guess. They kinda keep to themselves, they " +"seem a bit standoffish if you ask me. Stan is Boris's brother, I think, but" +" I'm not totally sure. He seems nice enough, but he's a man of few words. " +"I can't get a good bead on them. I've learned not to pry too much though." +msgstr "" +" Boris e Garry são casados, eu acho. Eles se mantêm parados, parecem um " +"pouco reservados se você me perguntar. Stan é irmão de Boris, eu acho, mas " +"não tenho muita certeza. Ele parece bom o suficiente, mas ele é um homem de " +"poucas palavras. Eu não consigo dar uma boa conta neles. Eu aprendi a não " +"forçar muito embora." + #: lang/json/talk_topic_from_json.py msgid "" "I didn't get to know Boris, Garry, and Stan so well for the first while. " @@ -164291,16 +172274,15 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Boris and Garry are married, I guess. They kinda keep to themselves, they " -"seem a bit standoffish if you ask me. Stan is Boris's brother, I think, but" -" I'm not totally sure. He seems nice enough, but he's a man of few words. " -"I can't get a good bead on them. I've learned not to pry too much though." +"I really can't get a bead on them. They never really talk to anyone outside" +" of their little family group, they just sit in their own spot and speak " +"Punjabi. They always seem nice, and they do their share, they just don't " +"have any social connection." msgstr "" -" Boris e Garry são casados, eu acho. Eles se mantêm parados, parecem um " -"pouco reservados se você me perguntar. Stan é irmão de Boris, eu acho, mas " -"não tenho muita certeza. Ele parece bom o suficiente, mas ele é um homem de " -"poucas palavras. Eu não consigo dar uma boa conta neles. Eu aprendi a não " -"forçar muito embora." +" Eu realmente não consigo dar conta deles. Eles nunca falam com ninguém fora" +" de seu pequeno grupo familiar, eles apenas sentam em seu próprio lugar e " +"falam Punjabi. Eles sempre parecem bons, e eles fazem a sua parte, eles " +"simplesmente não têm nenhuma conexão social." #: lang/json/talk_topic_from_json.py msgid "" @@ -164318,15 +172300,23 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I really can't get a bead on them. They never really talk to anyone outside" -" of their little family group, they just sit in their own spot and speak " -"Punjabi. They always seem nice, and they do their share, they just don't " -"have any social connection." +"Vanessa... well, she's nice, I guess. I gotta say, she kinda drives me " +"nuts, but we're in this together so I try not to be too harsh. Uyen and " +"Rhyzaea both seem to want to run the show here, but I try to stay out of " +"those politics and just focus on building stuff. I don't see much good " +"coming of it. Alonso is fine, he's clearly interested in me, and also in " +"every other single woman here. Not my thing, in a group this small. John " +"is a walking stereotype, I imagine there must be more depth to him, but I " +"haven't seen it yet." msgstr "" -" Eu realmente não consigo dar conta deles. Eles nunca falam com ninguém fora" -" de seu pequeno grupo familiar, eles apenas sentam em seu próprio lugar e " -"falam Punjabi. Eles sempre parecem bons, e eles fazem a sua parte, eles " -"simplesmente não têm nenhuma conexão social." +" Vanessa ... bem, ela é legal, eu acho. Eu tenho que dizer, ela meio que me " +"deixa louca, mas nós estamos nisso juntos, então eu tento não ser muito " +"dura. Uyen e Rhyzaea parecem querer fazer o show aqui, mas eu tento ficar " +"fora dessas políticas e me concentrar apenas em construir coisas. Eu não " +"vejo muito bem vindo disso. Alonso está bem, ele está claramente interessado" +" em mim e também em todas as outras mulheres solteiras aqui. Não é minha " +"coisa, em um grupo tão pequeno. John é um estereótipo ambulante, imagino que" +" deve haver mais profundidade para ele, mas ainda não o vi." #: lang/json/talk_topic_from_json.py msgid "" @@ -164351,33 +172341,13 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Vanessa... well, she's nice, I guess. I gotta say, she kinda drives me " -"nuts, but we're in this together so I try not to be too harsh. Uyen and " -"Rhyzaea both seem to want to run the show here, but I try to stay out of " -"those politics and just focus on building stuff. I don't see much good " -"coming of it. Alonso is fine, he's clearly interested in me, and also in " -"every other single woman here. Not my thing, in a group this small. John " -"is a walking stereotype, I imagine there must be more depth to him, but I " -"haven't seen it yet." +"Howdy, pardner. They call me Clemens. John Clemens. I'm an ol' cowhand." msgstr "" -" Vanessa ... bem, ela é legal, eu acho. Eu tenho que dizer, ela meio que me " -"deixa louca, mas nós estamos nisso juntos, então eu tento não ser muito " -"dura. Uyen e Rhyzaea parecem querer fazer o show aqui, mas eu tento ficar " -"fora dessas políticas e me concentrar apenas em construir coisas. Eu não " -"vejo muito bem vindo disso. Alonso está bem, ele está claramente interessado" -" em mim e também em todas as outras mulheres solteiras aqui. Não é minha " -"coisa, em um grupo tão pequeno. John é um estereótipo ambulante, imagino que" -" deve haver mais profundidade para ele, mas ainda não o vi." #: lang/json/talk_topic_from_json.py msgid "Howdy, pardner." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"Howdy, pardner. They call me Clemens. John Clemens. I'm an ol' cowhand." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "Nice to meet you, John." msgstr "" @@ -164415,7 +172385,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You... you do know what's going on here, right? With the evacuation and " +"You… you do know what's going on here, right? With the evacuation and " "stuff?" msgstr "" @@ -164479,15 +172449,15 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hi there." +msgid "Ah! You are new. I'm sorry, I'm Mangalpreet." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Oh, hello there." +msgid "Hi there." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Ah! You are new. I'm sorry, I'm Mangalpreet." +msgid "Oh, hello there." msgstr "" #: lang/json/talk_topic_from_json.py @@ -164688,12 +172658,12 @@ msgid "What brings you around here? We don't see a lot of new faces." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Need to talk?" +msgid "" +"Hi there. I don't think we've met before. I'm Rhyzaea, people call me Rhy." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Hi there. I don't think we've met before. I'm Rhyzaea, people call me Rhy." +msgid "Need to talk?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -164784,17 +172754,17 @@ msgid "Do you want to talk about your story?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hm? Oh, hi." +msgid "" +"Hello. I'm sorry, if we've met before, I don't really remember. I'm... I'm" +" Stan." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "...Hi." +msgid "Hm? Oh, hi." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Hello. I'm sorry, if we've met before, I don't really remember. I'm... I'm" -" Stan." +msgid "...Hi." msgstr "" #: lang/json/talk_topic_from_json.py @@ -164906,10 +172876,6 @@ msgstr "" msgid "Hmm, can we change this shave a little please?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Oh, you're back." -msgstr "Oh, você voltou." - #: lang/json/talk_topic_from_json.py msgid "" "Oh, great. Another new mouth to feed? Just what we need. Well, I'm " @@ -164918,6 +172884,10 @@ msgstr "" " Ótimo. Outra nova boca para alimentar? Apenas o que precisamos. Bem, eu sou" " a Vanessa." +#: lang/json/talk_topic_from_json.py +msgid "Oh, you're back." +msgstr "Oh, você voltou." + #: lang/json/talk_topic_from_json.py msgid "I'm not a new mouth to feed, but nice to meet you too." msgstr "" @@ -164957,14 +172927,6 @@ msgstr "" msgid "Could you give me a haircut?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "" -"Well, I'm stuck in a dank shitty brick building with two dozen strangers, " -"the world's dead, and there's not enough food to go around. At least I can " -"do some work to keep me busy though, and the extra merch does go a long way " -"to keeping my belly full. People like getting a good haircut." -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" "You want the sarcastic version, or the really sarcastic version? I'm stuck " @@ -164973,6 +172935,14 @@ msgid "" "out?" msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"Well, I'm stuck in a dank shitty brick building with two dozen strangers, " +"the world's dead, and there's not enough food to go around. At least I can " +"do some work to keep me busy though, and the extra merch does go a long way " +"to keeping my belly full. People like getting a good haircut." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "" "I can see you need one, but last time I used these shears it was to stab a " @@ -165113,7 +173083,7 @@ msgid "Are you looking to buy anything else?" msgstr "Você está querendo comprar mais alguma coisa?" #: lang/json/talk_topic_from_json.py -msgid "Very well... let's talk about something else." +msgid "Very well… let's talk about something else." msgstr "" #: lang/json/talk_topic_from_json.py @@ -165150,15 +173120,15 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I do. I don't know what you did to convince them to move out, but our " -"supply chain and I both thank you. I hope it wasn't too unseemly." +"Even once we got things sorted out, there weren't enough beds for everyone, " +"and definitely not enough supplies. These are harsh times. We're doing what" +" we can for those folks... at least they've got shelter." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Even once we got things sorted out, there weren't enough beds for everyone, " -"and definitely not enough supplies. These are harsh times. We're doing what" -" we can for those folks... at least they've got shelter." +"I do. I don't know what you did to convince them to move out, but our " +"supply chain and I both thank you. I hope it wasn't too unseemly." msgstr "" #: lang/json/talk_topic_from_json.py @@ -165459,8 +173429,8 @@ msgid "Have you seen anyone who might be hiding something?" msgstr "Você já viu alguém que possa estar escondendo alguma coisa?" #: lang/json/talk_topic_from_json.py -msgid "Bye..." -msgstr "Tchau..." +msgid "Bye…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -165475,16 +173445,16 @@ msgid "Keep your head down and stay out of my way." msgstr "Mantenha a cabeça abaixada e fique fora do meu caminho." #: lang/json/talk_topic_from_json.py -msgid "OK..." -msgstr "ESTÁ BEM..." +msgid "OK…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Like what?" msgstr "Como o quê?" #: lang/json/talk_topic_from_json.py -msgid "I'm not sure..." -msgstr "Não tenho certeza..." +msgid "I'm not sure…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Like they could be working for someone else?" @@ -165503,8 +173473,8 @@ msgid "Got something to hide?" msgstr "Tem algo a esconder?" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I didn't mean to offend you..." -msgstr "Desculpe, eu não quis te ofender ..." +msgid "Sorry, I didn't mean to offend you…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -165558,7 +173528,7 @@ msgid "Ma'am, you really shouldn't be traveling out there." msgstr "Senhora, você realmente não deveria estar viajando por aí." #: lang/json/talk_topic_from_json.py -msgid "I heard this place was a refugee center..." +msgid "I heard this place was a refugee center…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -165582,21 +173552,21 @@ msgid "Can I do anything for the center?" msgstr "Posso fazer alguma coisa pelo centro?" #: lang/json/talk_topic_from_json.py -msgid "I figured you might be looking for some help..." -msgstr "Eu achei que você poderia estar procurando por alguma ajuda ..." +msgid "I figured you might be looking for some help…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Well, I'd better be going. Bye." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Welcome marshal..." -msgstr "Bem-vindo marechal ..." - #: lang/json/talk_topic_from_json.py msgid "Welcome..." msgstr "Bem vinda..." +#: lang/json/talk_topic_from_json.py +msgid "Welcome marshal..." +msgstr "Bem-vindo marechal ..." + #: lang/json/talk_topic_from_json.py msgid "" "Before you say anything else, we're full. We don't have the space, nor the " @@ -165638,7 +173608,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"[INT 10] Wait, six buses and refugees... how many people do you still have " +"[INT 10] Wait, six buses and refugees… how many people do you still have " "crammed in here?" msgstr "" @@ -165698,8 +173668,8 @@ msgid "I'm sorry, not a risk we are willing to take right now." msgstr "Desculpe, não é um risco que estamos dispostos a aceitar agora." #: lang/json/talk_topic_from_json.py -msgid "Fine..." -msgstr "Bem..." +msgid "Fine…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -165714,8 +173684,8 @@ msgstr "" "prestes a mutar mais do que apenas o cabelo dele." #: lang/json/talk_topic_from_json.py -msgid "Fine... *coughupyourscough*" -msgstr "Tudo bem ... * coughupyourscough *" +msgid "Fine… *coughupyourscough*" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -165749,8 +173719,8 @@ msgid "[STR 11] I punch things in face real good!" msgstr "[STR 11] Eu soco as coisas na cara muito bem!" #: lang/json/talk_topic_from_json.py -msgid "I guess I'll look somewhere else..." -msgstr "Eu acho que vou procurar em outro lugar ..." +msgid "I guess I'll look somewhere else…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -165776,8 +173746,8 @@ msgid "Heard of anything better than the odd gun cache?" msgstr "Ouvi falar de algo melhor que o estranho cachê de armas?" #: lang/json/talk_topic_from_json.py -msgid "Was hoping for something more..." -msgstr "Estava esperando por algo mais ..." +msgid "Was hoping for something more…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -165854,14 +173824,14 @@ msgid "" "attacked by zombie hordes, as you might guess." msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Marshal..." -msgstr "Marechal..." - #: lang/json/talk_topic_from_json.py msgid "Citizen..." msgstr "Cidadão..." +#: lang/json/talk_topic_from_json.py +msgid "Marshal..." +msgstr "Marechal..." + #: lang/json/talk_topic_from_json.py msgid "Can I trade for supplies?" msgstr "Posso trocar por suprimentos?" @@ -165879,8 +173849,8 @@ msgid "So what are you doing right now?" msgstr "Então o que você está fazendo agora?" #: lang/json/talk_topic_from_json.py -msgid "Never mind..." -msgstr "Deixa pra lá..." +msgid "Never mind…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -165910,8 +173880,8 @@ msgstr "" " sobreviver." #: lang/json/talk_topic_from_json.py -msgid "Good luck with that..." -msgstr "Boa sorte com isso..." +msgid "Good luck with that…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -165931,14 +173901,14 @@ msgstr "" " Nós não podemos. Não há nada que possamos poupar para vender e não tenho " "orçamento para comprar de você. Eu não suponho que você queira doar?" -#: lang/json/talk_topic_from_json.py -msgid "That sure is a shiny badge you got there!" -msgstr "Isso com certeza é um emblema brilhante que você chegou lá!" - #: lang/json/talk_topic_from_json.py msgid "Heh, you look important." msgstr "Heh, você parece importante." +#: lang/json/talk_topic_from_json.py +msgid "That sure is a shiny badge you got there!" +msgstr "Isso com certeza é um emblema brilhante que você chegou lá!" + #: lang/json/talk_topic_from_json.py msgid "I'm actually new." msgstr "Eu sou realmente novo." @@ -165959,8 +173929,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sucks..." -msgstr "É uma merda..." +msgid "Sucks…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -165979,8 +173949,8 @@ msgstr "" "construída com o material." #: lang/json/talk_topic_from_json.py -msgid "Well, then..." -msgstr "Bem então..." +msgid "Well, then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -166022,6 +173992,10 @@ msgstr "" "comerciante definitivamente não me quer aqui quando não estou vendendo, mas " "... algumas pessoas escapam com isso." +#: lang/json/talk_topic_from_json.py +msgid "Ssh. Some people in here hate... mutations. This was an accident." +msgstr "Ssh Algumas pessoas aqui odeiam ... mutações. Isso foi um acidente." + #: lang/json/talk_topic_from_json.py msgid "" "Same way you got yours, I bet. Keep quiet about it, some people here look " @@ -166030,10 +174004,6 @@ msgstr "" " Do mesmo jeito que você tem o seu, aposto. Fique quieto sobre isso, algumas" " pessoas aqui olham para baixo em pessoas como nós." -#: lang/json/talk_topic_from_json.py -msgid "Ssh. Some people in here hate... mutations. This was an accident." -msgstr "Ssh Algumas pessoas aqui odeiam ... mutações. Isso foi um acidente." - #: lang/json/talk_topic_from_json.py msgid "Sorry to ask" msgstr "Desculpe por perguntar" @@ -166062,13 +174032,17 @@ msgstr "Eu vou comprar." msgid "Who needs rebar?" msgstr "Quem precisa de vergalhão?" +#: lang/json/talk_topic_from_json.py +msgid "Screw You!" +msgstr "Dane-se!" + #: lang/json/talk_topic_from_json.py msgid "As if you're one to talk. Screw You." msgstr "Como se você fosse alguém para conversar. Dane-se." #: lang/json/talk_topic_from_json.py -msgid "Screw You!" -msgstr "Dane-se!" +msgid "Huh, thought I smelled someone new. Can I help you?" +msgstr "Huh, pensei que eu cheirava alguém novo. Posso ajudar?" #: lang/json/talk_topic_from_json.py msgid "I thought I smelled a pig. I jest... please don't arrest me." @@ -166077,12 +174051,8 @@ msgstr "" "me prenda." #: lang/json/talk_topic_from_json.py -msgid "Huh, thought I smelled someone new. Can I help you?" -msgstr "Huh, pensei que eu cheirava alguém novo. Posso ajudar?" - -#: lang/json/talk_topic_from_json.py -msgid "You... smelled me?" -msgstr "Você ... me cheirou?" +msgid "You… smelled me?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Got anything for sale?" @@ -166141,8 +174111,8 @@ msgstr "" "jantar!" #: lang/json/talk_topic_from_json.py -msgid "Great, now my mouth is watering..." -msgstr "Ótimo, agora minha boca está molhando ..." +msgid "Great, now my mouth is watering…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -166270,8 +174240,8 @@ msgstr "" "campeões." #: lang/json/talk_topic_from_json.py -msgid "Hmmm..." -msgstr "Hmmm ..." +msgid "Hmmm…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -166334,8 +174304,8 @@ msgstr "" "mundo." #: lang/json/talk_topic_from_json.py -msgid "I haven't done anything wrong..." -msgstr "Eu não fiz nada de errado ..." +msgid "I haven't done anything wrong…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Any tips for surviving?" @@ -166412,7 +174382,9 @@ msgid "Glad to have you aboard." msgstr "Fico feliz em ter você a bordo." #: lang/json/talk_topic_from_json.py -msgid "So, do you need something?" +msgid "" +"Hold there. I don't care how you got access to this location, but you are " +"coming no further. Go away." msgstr "" #: lang/json/talk_topic_from_json.py @@ -166420,9 +174392,7 @@ msgid "We haven't changed our mind. Go away." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Hold there. I don't care how you got access to this location, but you are " -"coming no further. Go away." +msgid "So, do you need something?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -166504,7 +174474,7 @@ msgid "Something to say?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I charge hourly, so be quick..." +msgid "I charge hourly, so be quick…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -166617,7 +174587,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I guess I could help with that..." +msgid "I guess I could help with that…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -166671,38 +174641,38 @@ msgid "Keep it civil, merc." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"Still plenty of outlaws in the roads, perhaps you should tend to your job, " -"marshal..." +msgid "Here to trade, I hope?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You see anything you want, marshal?" +msgid "Safe travels, scavenger." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Oh, a U.S. marshal, how quaint." +msgid "" +"Still plenty of outlaws in the roads, perhaps you should tend to your job, " +"marshal..." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Here to trade, I hope?" +msgid "You see anything you want, marshal?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Safe travels, scavenger." +msgid "Oh, a U.S. marshal, how quaint." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I keep to my own business, and you keep to yours, marshal. Seems like a " -"fair deal?" +"We have been supplying this lab here with food from a few hunting and " +"farming communities nearby. The roads are though and dangerous, but it " +"makes good money, and beats scavenging the cities for scraps." msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"We have been supplying this lab here with food from a few hunting and " -"farming communities nearby. The roads are though and dangerous, but it " -"makes good money, and beats scavenging the cities for scraps." +"I keep to my own business, and you keep to yours, marshal. Seems like a " +"fair deal?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -166728,8 +174698,8 @@ msgid "[$10] I'll get a haircut" msgstr "[$ 10] Eu vou cortar o cabelo" #: lang/json/talk_topic_from_json.py -msgid "Maybe another time..." -msgstr "Talvez outra hora..." +msgid "Maybe another time…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -166748,8 +174718,8 @@ msgid "Stand still while I get my clippers..." msgstr "Fique parado enquanto eu pego minha tesoura ..." #: lang/json/talk_topic_from_json.py -msgid "Thanks..." -msgstr "Obrigado..." +msgid "Thanks…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Want a drink?" @@ -166768,8 +174738,8 @@ msgid "What do you have on tap?" msgstr "O que você tem na torneira?" #: lang/json/talk_topic_from_json.py -msgid "I'll be going..." -msgstr "Eu vou indo ..." +msgid "I'll be going…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -166828,8 +174798,8 @@ msgstr "" "ele sobre o que precisa ser feito." #: lang/json/talk_topic_from_json.py -msgid "I'll talk to him then..." -msgstr "Eu vou falar com ele então ..." +msgid "I'll talk to him then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -166849,8 +174819,8 @@ msgid "I hope you are here to do business." msgstr "Espero que você esteja aqui para fazer negócios." #: lang/json/talk_topic_from_json.py -msgid "I'm interested in investing in agriculture..." -msgstr "Estou interessado em investir em agricultura ..." +msgid "I'm interested in investing in agriculture…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -166880,12 +174850,12 @@ msgid "I imagine we might be able to work something out." msgstr "Eu imagino que podemos ser capazes de trabalhar em algo." #: lang/json/talk_topic_from_json.py -msgid "I was wondering if you could install a cybernetic implant..." -msgstr "Eu queria saber se você poderia instalar um implante cibernético ..." +msgid "I was wondering if you could install a cybernetic implant…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I need help removing an implant..." -msgstr "Preciso de ajuda para remover um implante ..." +msgid "I need help removing an implant…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'd like to hire your services." @@ -166934,8 +174904,8 @@ msgstr "" "colheita seja um sucesso." #: lang/json/talk_topic_from_json.py -msgid "It could be worse..." -msgstr "Poderia ser pior..." +msgid "It could be worse…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -166946,20 +174916,20 @@ msgstr "" " emprego, procure o capataz ou supervisor de colheita." #: lang/json/talk_topic_from_json.py -msgid "I'll talk with them then..." -msgstr "Eu vou falar com eles então ..." +msgid "I'll talk with them then…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Can I help you, marshal?" -msgstr "Posso te ajudar, marechal?" +msgid "Morning ma'am, how can I help you?" +msgstr "Manhã senhora, como posso ajudá-lo?" #: lang/json/talk_topic_from_json.py msgid "Morning sir, how can I help you?" msgstr "Manhã senhor, como posso ajudá-lo?" #: lang/json/talk_topic_from_json.py -msgid "Morning ma'am, how can I help you?" -msgstr "Manhã senhora, como posso ajudá-lo?" +msgid "Can I help you, marshal?" +msgstr "Posso te ajudar, marechal?" #: lang/json/talk_topic_from_json.py msgid "" @@ -167027,8 +174997,8 @@ msgstr "" "e mortos-vivos." #: lang/json/talk_topic_from_json.py -msgid "Hopefully moving out here was worth it..." -msgstr "Esperançosamente sair daqui valeu a pena ..." +msgid "Hopefully moving out here was worth it…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -167090,15 +175060,15 @@ msgstr "Que tipo de emprego você tem para mim?" msgid "Not now." msgstr "Agora não." -#: lang/json/talk_topic_from_json.py -msgid "Come back later, I need to take care of a few things first." -msgstr "Volte mais tarde, eu preciso cuidar de algumas coisas primeiro." - #: lang/json/talk_topic_from_json.py msgid "I can take a look at you or your companions if you are injured." msgstr "" " Eu posso dar uma olhada em você ou seus companheiros se você está ferido." +#: lang/json/talk_topic_from_json.py +msgid "Come back later, I need to take care of a few things first." +msgstr "Volte mais tarde, eu preciso cuidar de algumas coisas primeiro." + #: lang/json/talk_topic_from_json.py msgid "[$200, 30m] I need you to patch me up." msgstr "[$ 200, 30m] Eu preciso de você para me consertar." @@ -167415,8 +175385,7 @@ msgstr "" msgid " blocks and counter-attacks %s" msgstr "" -#: lang/json/technique_from_json.py lang/json/technique_from_json.py -#: src/game.cpp +#: lang/json/technique_from_json.py src/game.cpp msgid "Disarm" msgstr "Desarmar" @@ -167518,7 +175487,8 @@ msgstr "" msgid " leaps off a nearby wall and dropkicks %s" msgstr "" -#: lang/json/technique_from_json.py +#: lang/json/technique_from_json.py lang/json/technique_from_json.py +#: src/martialarts.cpp msgid "Grab Break" msgstr "Grab Break" @@ -167594,12 +175564,12 @@ msgstr "Mordida da víbora" #: lang/json/technique_from_json.py #, python-format -msgid "You Snakebite %s" +msgid "You lash out at %s with a Viper Bite" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Snakebites %s" +msgid " lash out at %s with a Viper Bite" msgstr "" #: lang/json/technique_from_json.py @@ -167608,12 +175578,12 @@ msgstr "Viper Strike" #: lang/json/technique_from_json.py #, python-format -msgid "You Viper Strike %s" +msgid "You hit %s with a spectacular Viper Strike" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Viper Strikes %s" +msgid " hits %s with a spectacular Viper Strike" msgstr "" #: lang/json/technique_from_json.py @@ -167621,8 +175591,32 @@ msgid "Viper Writhe" msgstr "Víbora Writhe" #: lang/json/technique_from_json.py -msgid "Stinger Strike" -msgstr "Stinger Strike" +#, python-format +msgid "The %s tries to grab you, but you writhe free!" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they writhe free!" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Roundhouse Kick" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You roundhouse kick %s" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " roundhouse kicks %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Stinger Kick" +msgstr "" #: lang/json/technique_from_json.py #, python-format @@ -167635,12 +175629,12 @@ msgid "'s Stinger Kick sends %s flying" msgstr "" #: lang/json/technique_from_json.py -msgid "Pincer Strike" -msgstr "Greve de pinça" +msgid "Pincer Fist" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You punch %s with your Pincer Fist" +msgid "You stun %s with your Pincer Fist" msgstr "" #: lang/json/technique_from_json.py @@ -167648,6 +175642,34 @@ msgstr "" msgid " jabs %s with a Pincer Fist" msgstr "" +#: lang/json/technique_from_json.py +msgid "Toad Smack" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You disregard %s's attack and knock them down" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " disregards %s's attack and knocks them down" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Toad Slam" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You meet %s's attack head on with a stunning counter" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " meet %s's attack head on with a stunning counter" +msgstr "" + #: lang/json/technique_from_json.py msgid "Toad's Tongue" msgstr "Língua do sapo" @@ -168723,20 +176745,6 @@ msgstr "" msgid " quickly strikes %s with the back of their fist" msgstr "" -#: lang/json/technique_from_json.py -msgid "Roundhouse Kick" -msgstr "" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You roundhouse kick %s" -msgstr "" - -#: lang/json/technique_from_json.py -#, python-format -msgid " roundhouse kicks %s" -msgstr "" - #: lang/json/technique_from_json.py #, python-format msgid "You jab at %s" @@ -169091,427 +177099,487 @@ msgid "You feint at %s" msgstr "" #: lang/json/technique_from_json.py -msgid "kick" -msgstr "pontapé" +msgid "Kick" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You kick %s" +msgid "You kick %s hard" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " kicks %s" +msgid " kicks %s hard" msgstr "" #: lang/json/technique_from_json.py -msgid "grab break" -msgstr "pegar quebra" +msgid "Grab and Knee" +msgstr "" #: lang/json/technique_from_json.py -msgid "counter-grab" -msgstr "contra-agarrar" +#, python-format +msgid "You grab and knee %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You counter and grab %s" +msgid " grabs and knees %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Arm Lock" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " counters and grabs %s" +msgid "You disarm %s with an arm lock" msgstr "" #: lang/json/technique_from_json.py -msgid "arm lock" -msgstr "Chave de braço" +#, python-format +msgid " disarms %s with an arm lock" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Grab and Throw" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You put %s in an arm lock" +msgid "You grab and throw %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " puts %s in an arm lock" +msgid " grabs and throws %s" msgstr "" #: lang/json/technique_from_json.py -msgid "throw" -msgstr "arremessar" +msgid "Hamstring" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You throw %s" +msgid "You ground %s with a low blow" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " throws %s" +msgid " grounds %s with a low blow" msgstr "" #: lang/json/technique_from_json.py -msgid "chokehold" -msgstr "estrangulamento" +msgid "Vicious Precision" +msgstr "Precisão viciosa" #: lang/json/technique_from_json.py #, python-format -msgid "You put %s in a chokehold" +msgid "You viciously wound %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " puts %s in a chokehold" +msgid " viciously wounds %s" msgstr "" +#: lang/json/technique_from_json.py +msgid "Dirty Hit" +msgstr "Bateu Sujo" + #: lang/json/technique_from_json.py #, python-format -msgid "You disarm %s" +msgid "You hit %s with a dirty blow" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " disarms %s" +msgid " delivers a dirty blow to %s" msgstr "" #: lang/json/technique_from_json.py -msgid "precise strike" -msgstr "greve precisa" +msgid "Silat Brutality" +msgstr "Brutalidade de Silat" #: lang/json/technique_from_json.py #, python-format -msgid "You strike %s" +msgid "You brutally tear into %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " strikes %s" +msgid " brutally tears into %s" msgstr "" #: lang/json/technique_from_json.py -msgid "axe-kick" -msgstr "chute de machado" +msgid "Snake Snap" +msgstr "Snake Snap" #: lang/json/technique_from_json.py #, python-format -msgid "You axe-kick %s" +msgid "You swiftly jab %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " axe-kicks %s" +msgid " swiftly jabs %s" msgstr "" #: lang/json/technique_from_json.py -msgid "side kick" -msgstr "chute lateral" +msgid "Snake Slide" +msgstr "Corrediça de Serpente" #: lang/json/technique_from_json.py #, python-format -msgid "You side-kick %s" +msgid "You make serpentine hand motions at %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " side-kicks %s" +msgid " makes serpentine hand motions at %s" msgstr "" #: lang/json/technique_from_json.py -msgid "sweep kick" -msgstr "chute de varredura" +msgid "Snake Slither" +msgstr "Snake Slither" #: lang/json/technique_from_json.py #, python-format -msgid "You sweep-kick %s" +msgid "The %s tries to grab you, but you slither free!" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " sweep-kicks %s" +msgid "The %s tries to grab , but they slither free!" msgstr "" #: lang/json/technique_from_json.py -msgid "Drunk feint" -msgstr "Finge bêbado" +msgid "Snake Strike" +msgstr "Golpe de Serpente" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble and leer at %s" +msgid "You lash out at %s with a vicious Snake Strike" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " stumbles and leers at %s" +msgid " lashes out at %s with a vicious Snake Strike" msgstr "" #: lang/json/technique_from_json.py -msgid "Drunk counter" -msgstr "Contador bêbado" +msgid "Push" +msgstr "Empurrar" #: lang/json/technique_from_json.py #, python-format -msgid "You lurch, and your wild swing hits %s" +msgid "You push %s away" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " lurches, and hits %s" +msgid " pushes %s away" msgstr "" #: lang/json/technique_from_json.py -msgid "hamstring" -msgstr "isquiotibiais" +msgid "Shove" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You ground %s with a low blow" +msgid "You shove %s back" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " grounds %s with a low blow" +msgid " shoves %s back" msgstr "" #: lang/json/technique_from_json.py -msgid "Vicious Precision" -msgstr "Precisão viciosa" +#, python-format +msgid "You deftly trip %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You viciously wound %s" +msgid " deftly trips %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Snatch Weapon" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " viciously wounds %s" +msgid "You snatch %s's weapon" msgstr "" #: lang/json/technique_from_json.py -msgid "Silat Brutality" -msgstr "Brutalidade de Silat" +#, python-format +msgid " snatches %s's weapon" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Axe-kick" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You send %s reeling backwards" +msgid "You raise your heel and axe-kick %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Dirty Hit" -msgstr "Bateu Sujo" +#, python-format +msgid " raises their heel and axe-kicks %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Side Kick" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You hit %s with a dirty blow" +msgid "You turn slightly and side-kick %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " delivers a dirty blow to %s" +msgid " turns slightly and side-kicks %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Tiger Takedown" -msgstr "Tiger Takedown" +#, python-format +msgid "You crouch low and sweep-kick %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You grab and ground %s" +msgid " crouches low and sweep-kicks %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " grabs and grounds %s" +msgid "You gently disarm %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Snake Snap" -msgstr "Snake Snap" +#, python-format +msgid " gently disarms %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Palm Strike" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You swiftly jab %s" +msgid "You palm strike %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " swiftly jabs %s" +msgid " palm strikes %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Snake Slide" -msgstr "Corrediça de Serpente" +msgid "Grasp the Sparrow's Tail" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You make serpentine hand motions at %s" +msgid "You divert %s's attack and lead them to the ground" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " makes serpentine hand motions at %s" +msgid " diverts %s's attack and lead them to the ground" msgstr "" #: lang/json/technique_from_json.py -msgid "Snake Slither" -msgstr "Snake Slither" +msgid "Double Palm Strike" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "The %s tries to grab you, but you slither free!" +msgid "You double-handed palm strike %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "The %s tries to grab , but they slither free!" +msgid " double-handed palm strikes %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Snake Strike" -msgstr "Golpe de Serpente" +msgid "Tiger Palm" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You strike out at %s" +msgid "You land a heavy tiger palm on %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " strikes out at %s" +msgid " lands a heavy tiger palm on %s" msgstr "" #: lang/json/technique_from_json.py -msgid "slow strike" -msgstr "greve lenta" +msgid "Tiger Takedown" +msgstr "Tiger Takedown" #: lang/json/technique_from_json.py #, python-format -msgid "You slowly strike %s" +msgid "You slam %s to the ground" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " slowly strikes %s" +msgid " slams %s to the ground" msgstr "" #: lang/json/technique_from_json.py -msgid "phasing strike" -msgstr "greve de fase" +msgid "Straight Punch" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You phase-strike %s" +msgid "You deliver a vertical straight punch to %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " phase-strikes %s" +msgid " delivers a vertical straight punch to %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Push" -msgstr "Empurrar" +msgid "Straight Punch (Knockback)" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You push %s away" +msgid "You force %s back with a vertical straight punch" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " pushes %s away" +msgid " forces %s back with a vertical straight punch" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "L-hook" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You deftly trip %s" +msgid "You deliver a solid L-hook to %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " deftly trips %s" +msgid " delivers a solid L-hook to %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Skewer" -msgstr "Espeto" +msgid "L-hook (Knockback)" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You brutally skewer %s" +msgid "You knock %s back with a solid L-hook" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " brutally skewers %s" +msgid " knocks %s back with a solid L-hook" msgstr "" #: lang/json/technique_from_json.py -msgid "Chain Punch" +#, python-format +msgid "Your attack misses %s but you don't let up" msgstr "" -#. ~ Description for Chain Punch #: lang/json/technique_from_json.py -msgid "50% moves, 66% damage, knockback and follow" +#, python-format +msgid "'s attack misses %s but they don't let up" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Receive and Counter" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You chain strike %s" +msgid "You receive %s's gift of violence, and return it in kind" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " chain strikes %s" +msgid " receives %s's attack, and counters" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Drunken Feint" msgstr "" #: lang/json/technique_from_json.py -msgid "You position yourself well and slip out of a grab" +#, python-format +msgid "You stumble and leer at %s" msgstr "" #: lang/json/technique_from_json.py -msgid " slips out of a grab" +#, python-format +msgid " stumbles and leers at %s" msgstr "" #: lang/json/technique_from_json.py -msgid "ask the way" +msgid "Drunk Counter" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You miss but keep striking at %s" +msgid "You lurch, and your wild swing hits %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " misses but keeps striking at %s" +msgid " lurches, and hits %s" msgstr "" #: lang/json/technique_from_json.py -msgid "White Crane stumble" +#, python-format +msgid "The %s tries to grab you, but you stumble away!" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble %s with your onslaught" +msgid "The %s tries to grab , but they stumble away!" msgstr "" +#: lang/json/technique_from_json.py +msgid "slow strike" +msgstr "greve lenta" + #: lang/json/technique_from_json.py #, python-format -msgid " stumbles %s" +msgid "You slowly strike %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Receive and Counter" +#, python-format +msgid " slowly strikes %s" msgstr "" +#: lang/json/technique_from_json.py +msgid "phasing strike" +msgstr "greve de fase" + #: lang/json/technique_from_json.py #, python-format -msgid "You receive %s's gift of violence, and return it in kind" +msgid "You phase-strike %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " receives %s's attack, and counters" +msgid " phase-strikes %s" msgstr "" #: lang/json/technique_from_json.py @@ -170045,17 +178113,17 @@ msgid " redirects %s's attack against them" msgstr "" #: lang/json/technique_from_json.py -msgid "Ellbogen Blatt" +msgid "Kumai Sharinraku" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You expertly cut %s" +msgid "You jump and somersault kick %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " expertly cuts %s" +msgid " jump and somersault kick %s" msgstr "" #: lang/json/technique_from_json.py @@ -170086,34 +178154,6 @@ msgstr "" msgid " launches a supersonic punch at %s" msgstr "" -#: lang/json/technique_from_json.py -msgid "Herz Nadel" -msgstr "" - -#: lang/json/technique_from_json.py -#, python-format -msgid "You detonate the shockwave within %s" -msgstr "" - -#: lang/json/technique_from_json.py -#, python-format -msgid " detonates the shockwave within %s" -msgstr "" - -#: lang/json/technique_from_json.py -msgid "Mehr Umdrehungen" -msgstr "" - -#: lang/json/technique_from_json.py -#, python-format -msgid "The %s tries to grab you, but you kick free and spin around!" -msgstr "" - -#: lang/json/technique_from_json.py -#, python-format -msgid "The %s tries to grab , but they kick free and spin around!" -msgstr "" - #: lang/json/ter_furn_transform_messages_from_json.py msgid "The earth here does not listen to your command to move." msgstr "" @@ -170171,6 +178211,39 @@ msgstr "" " Uma plataforma de madeira sustentada por um suporte feito de troncos " "escavados no chão." +#: lang/json/terrain_from_json.py +msgid "deep dock pile" +msgstr "" + +#. ~ Description for deep dock pile +#: lang/json/terrain_from_json.py +msgid "" +"A sturdy pile made of wood extending all the way to the riverbed. A frame " +"will be required to support a surface." +msgstr "" + +#: lang/json/terrain_from_json.py +msgid "deep dock frame" +msgstr "" + +#. ~ Description for deep dock frame +#: lang/json/terrain_from_json.py +msgid "" +"A log frame secured atop a wooden pile. Adding a wood surface will make " +"this into a proper dock section." +msgstr "" + +#: lang/json/terrain_from_json.py +msgid "deep dock" +msgstr "" + +#. ~ Description for deep dock +#: lang/json/terrain_from_json.py +msgid "" +"A wooden platform held by a tall wooden pile that extend to the riverbed. " +"Very sturdy, and likely to outlast you." +msgstr "" + #: lang/json/terrain_from_json.py msgid "shallow bridge" msgstr "" @@ -170599,7 +178672,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "boarded up damaged door" -msgstr "tapou a porta danificada" +msgstr "porta tapada danificada" #. ~ Description for boarded up damaged door #: lang/json/terrain_from_json.py @@ -170612,7 +178685,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "boarded up door with peephole" -msgstr "tapada porta com olho mágico" +msgstr "porta tapada com olho mágico" #. ~ Description for boarded up door with peephole #: lang/json/terrain_from_json.py @@ -170627,7 +178700,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "boarded up reinforced door" -msgstr "tapada porta reforçada" +msgstr "porta tapada reforçada" #. ~ Description for boarded up reinforced door #: lang/json/terrain_from_json.py @@ -170936,19 +179009,28 @@ msgstr "" "O portão está bem aberto, permitindo que qualquer coisa atravesse." #: lang/json/terrain_from_json.py -msgid "closed chickenwire gate" +msgid "closed screen door" msgstr "" -#. ~ Description for closed chickenwire gate +#. ~ Description for closed screen door #: lang/json/terrain_from_json.py -msgid "" -"A gate for a chickenwire fence with a simple latch system to stay closed." +msgid "A simple wooden doorway with screen mesh." msgstr "" #: lang/json/terrain_from_json.py msgid "rattle!" msgstr "" +#: lang/json/terrain_from_json.py +msgid "closed chickenwire gate" +msgstr "" + +#. ~ Description for closed chickenwire gate +#: lang/json/terrain_from_json.py +msgid "" +"A gate for a chickenwire fence with a simple latch system to stay closed." +msgstr "" + #: lang/json/terrain_from_json.py msgid "open chickenwire gate" msgstr "" @@ -171008,6 +179090,17 @@ msgstr "" msgid "metal rattling!" msgstr "" +#: lang/json/terrain_from_json.py +msgid "screen mesh wall" +msgstr "" + +#. ~ Description for screen mesh wall +#: lang/json/terrain_from_json.py +msgid "" +"A rather flimsy tall wall made of 2x4s and screen mesh, suitable for keeping" +" the bugs out." +msgstr "" + #: lang/json/terrain_from_json.py msgid "chickenwire fence post" msgstr "" @@ -171363,7 +179456,7 @@ msgstr "" #. ~ Description for wooden floor #: lang/json/terrain_from_json.py msgid "" -"Wooden floor created from boards, packed tightly together and nailed down. " +"Wooden floor created from boards, packed tightly together and nailed down. " "Common in patios." msgstr "" @@ -171698,7 +179791,7 @@ msgstr "" msgid "" "A dual purpose platform that serves as a containment, and as a device that " "exposes items places on in to the radioactive source, by temporarily " -"hoisting the radioactive material stored within. Operated from external " +"hoisting the radioactive material stored within. Operated from external " "console." msgstr "" @@ -172047,10 +180140,10 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "One of the species of 'Juniperus' that grows in New England, juniper berries" -" grow over two to three years, first flowering. On the second year producing" -" a green berry, the last, they produce their more famed blue varieties. If " -"you examined the foliage more closely, you could probably find some viable " -"clusters. You could also cut it down with the right tools." +" grow over two to three years, first flowering. On the second year " +"producing a green berry, the last, they produce their more famed blue " +"varieties. If you examined the foliage more closely, you could probably " +"find some viable clusters. You could also cut it down with the right tools." msgstr "" #. ~ Description for juniper tree @@ -172202,7 +180295,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "pine tree" -msgstr "Pinheiro" +msgstr "pinheiro" #. ~ Description for pine tree #: lang/json/terrain_from_json.py @@ -172699,6 +180792,24 @@ msgstr "buraco de golfe" msgid "A small plastic cup embedded in the grass." msgstr "Um pequeno copo de plástico embutido na grama." +#: lang/json/terrain_from_json.py +msgid "fern" +msgstr "" + +#. ~ Description for fern +#: lang/json/terrain_from_json.py +msgid "" +"A short plant with thousands of leaves which grow in a fractal pattern from " +"the stem." +msgstr "" + +#. ~ Description for fern +#: lang/json/terrain_from_json.py +msgid "" +"A short plant with thousands leaves which grow in a fractal pattern, without" +" any curled shoots." +msgstr "" + #: lang/json/terrain_from_json.py msgid "marloss bush" msgstr "marloss bush" @@ -173056,10 +181167,11 @@ msgstr "ATM" #: lang/json/terrain_from_json.py msgid "" "For your banking convenience, this Automated Teller Machine is fully capable" -" of operating autonomously in the event of complete network failure. You can" -" deposit funds from cash cards and migrate all of your inflation-adjusted " -"earnings to a single card. These things have seen better days. There's been" -" a run on the bank, and this machine has the dents and cracks to prove it." +" of operating autonomously in the event of complete network failure. You " +"can deposit funds from cash cards and migrate all of your inflation-adjusted" +" earnings to a single card. These things have seen better days. There's " +"been a run on the bank, and this machine has the dents and cracks to prove " +"it." msgstr "" #: lang/json/terrain_from_json.py @@ -173163,8 +181275,8 @@ msgstr "centrífuga" #: lang/json/terrain_from_json.py msgid "" "This is a centrifuge, a liquid separating device with an automated analyzer " -"unit. It could be used to analyze a medical fluid sample, such as blood, if " -"a test tube was placed in it." +"unit. It could be used to analyze a medical fluid sample, such as blood, if" +" a test tube was placed in it." msgstr "" #: lang/json/terrain_from_json.py @@ -173780,7 +181892,7 @@ msgstr "" #. ~ Description for closed resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is closed tightly, but it looks like a firm push would cause it to snap " "open." msgstr "" @@ -173792,7 +181904,7 @@ msgstr "" #. ~ Description for open resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is open, the flaps held out by some sort of stringy mucus-like " "substance." msgstr "" @@ -173886,6 +181998,13 @@ msgid "" " were still running." msgstr "" +#. ~ Description for small railroad track +#: lang/json/terrain_from_json.py +msgid "" +"Like a railroad track, only smaller. You could probably run a small vehicle" +" on this." +msgstr "" + #: lang/json/terrain_from_json.py msgid "sandbox" msgstr "caixa de areia" @@ -173952,7 +182071,7 @@ msgstr "" #. ~ Description for gutter drop #: lang/json/terrain_from_json.py msgid "" -"Funnels water from gutter system towards the ground, it looks flimsy. You " +"Funnels water from gutter system towards the ground, it looks flimsy. You " "may be able to climb down here." msgstr "" @@ -173964,7 +182083,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "A length of gutter running from the roof to the ground, you could place a " -"container underneath it to collect rainwater. It looks flimsy. You may be " +"container underneath it to collect rainwater. It looks flimsy. You may be " "able to climb down here." msgstr "" @@ -174010,7 +182129,7 @@ msgstr "" #. ~ Description for metal flat roof #: lang/json/terrain_from_json.py -msgid "A secton of flat, sheet metal rooftop." +msgid "A section of flat, sheet metal rooftop." msgstr "" #: lang/json/terrain_from_json.py @@ -174038,7 +182157,7 @@ msgstr "" #. ~ Description for rock roof #: lang/json/terrain_from_json.py -msgid "A secton of flat natural rock." +msgid "A section of flat natural rock." msgstr "" #: lang/json/terrain_from_json.py @@ -174854,7 +182973,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "An empty wooden frame in the shape of a column, built around a concrete and " -"rebar foundation. It isn't capable of supporting roofs or shelter, and " +"rebar foundation. It isn't capable of supporting roofs or shelter, and " "appears to need more resources before being considered complete." msgstr "" @@ -175521,6 +183640,10 @@ msgstr "corte fino" msgid "glare protection" msgstr "proteção de brilho" +#: lang/json/tool_quality_from_json.py +msgid "awl" +msgstr "" + #: lang/json/tool_quality_from_json.py msgid "anesthesia" msgstr "" @@ -176179,13 +184302,8 @@ msgid "" "You just activated a grenade! You probably want to throw it. To throw an " "item, press 't' and then select the item to throw. The maximum range " "depends on your strength and the object's weight and size. Throwing isn't " -"very good in most combat situations, but if you've got some fire power..." +"very good in most combat situations, but if you've got some fire power…" msgstr "" -"Você acabou de ativar uma granada! Você provavelmente vai querer jogar ela. " -"Para jogar um item, aperte 't' e selecione o objeto que quer jogar. O " -"alcance máximo depende da sua força e do peso e tamanho do objeto. Arremesso" -" não é muito bom na maioria das situações de combate, mas se você tiver " -"algum poder de fogo..." #: lang/json/tutorial_messages_from_json.py msgid "" @@ -176290,14 +184408,10 @@ msgstr "" #: lang/json/tutorial_messages_from_json.py msgid "" "~ is a terrain symbol that indicates water. From a water source like this, " -"you can fill any containers you might have. Examine the water ('e') and " +"you can fill any containers you might have. Examine the water ('e') and " "press 'c' to fill a container, then select a watertight container to put the" " water into." msgstr "" -" ~ é um símbolo do terreno que indica a água. De uma fonte de água como " -"essa, você pode preencher qualquer contêiner que possa ter. Examine a água " -"('e') e pressione 'c' para encher um recipiente, em seguida," -" selecione um recipiente à prova d'água para colocar a água." #: lang/json/vehicle_from_json.py msgid "work light" @@ -176787,6 +184901,10 @@ msgstr "Carro atômico" msgid "Flaming Atomic Car" msgstr "" +#: lang/json/vehicle_from_json.py +msgid "Roadheader" +msgstr "" + #: lang/json/vehicle_from_json.py msgid "Robotic Taxi" msgstr "Táxi Robótico" @@ -177353,7 +185471,7 @@ msgstr "" "nele e podem ser fixados em outros quadros para aumentar o tamanho do " "veículo." -#: lang/json/vehicle_part_from_json.py src/vehicle_use.cpp +#: lang/json/vehicle_part_from_json.py msgid "aisle lights" msgstr "luzes do corredor" @@ -177394,12 +185512,9 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "" "A very bright, directed light that illuminates a half-circular area outside " -"the vehicle when turned on. During installation, you can choose what " +"the vehicle when turned on. During installation, you can choose what " "direction to point the light." msgstr "" -" Uma luz muito brilhante e direcionada que ilumina uma área semi-circular " -"fora do veículo quando ligada. Durante a instalação, você pode escolher em " -"qual direção apontar a luz." #: lang/json/vehicle_part_from_json.py msgid "headlight" @@ -177548,7 +185663,7 @@ msgstr "" #. ~ Description for tied mattress #: lang/json/vehicle_part_from_json.py msgid "" -"A mattress, strapped onto the vehicle. It could serve to blunt any impact." +"A mattress, strapped onto the vehicle. It could serve to blunt any impact." msgstr "" #. ~ Description for shredder @@ -177649,13 +185764,41 @@ msgstr "" "com o combustível apropriado para o motor do veículo, o motor retirará " "automaticamente o combustível do tanque quando o motor estiver ligado." +#: lang/json/vehicle_part_from_json.py +msgid "mounted makeshift chemical thrower" +msgstr "" + +#: lang/json/vehicle_part_from_json.py +msgid "mounted heavy rail rifle" +msgstr "" + +#: lang/json/vehicle_part_from_json.py +msgid "mounted XM34 EMP projector" +msgstr "" + +#: lang/json/vehicle_part_from_json.py +msgid "mounted ferromagnetic rail rifle" +msgstr "" + +#: lang/json/vehicle_part_from_json.py +msgid "mounted coilgun" +msgstr "" + +#: lang/json/vehicle_part_from_json.py +msgid "mounted H&K G80 Railgun" +msgstr "" + +#: lang/json/vehicle_part_from_json.py +msgid "mounted mininuke launcher" +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "mounted flamethrower" msgstr "lança-chamas montado" #: lang/json/vehicle_part_from_json.py -msgid "mounted plasma gun" -msgstr "pistola de plasma montada" +msgid "mounted PPA-5 plasma gun" +msgstr "" #: lang/json/vehicle_part_from_json.py msgid "mounted A7 laser rifle" @@ -177709,6 +185852,10 @@ msgstr "montado RM298 HMG" msgid "mounted RM614 LMG" msgstr "montado RM614 LMG" +#: lang/json/vehicle_part_from_json.py +msgid "mounted Boeing XM-P plasma rifle" +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "null part" msgstr "parte nula" @@ -177968,6 +186115,13 @@ msgstr "" " Um espigão de metal, soldado ao veículo, para aumentar a lesão ao colidir " "com as coisas." +#. ~ Description for programmable autopilot +#: lang/json/vehicle_part_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of the vehicle to " +"allow it to follow simple paths." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "swappable storage battery case" msgstr "caixa de bateria de armazenamento intercambiável" @@ -178010,21 +186164,17 @@ msgstr "" #. ~ Description for washing machine #: lang/json/vehicle_part_from_json.py msgid "" -"A small washing machine. With detergent or soap, water, and some electrical" -" power, you could clean a lot of clothes. 'e'xamine the tile with the " -"washing machine to use it." +"A small washing machine. With detergent, water, and some electrical power, " +"you could clean a lot of clothes. 'e'xamine the tile with the washing " +"machine to use it." msgstr "" -" Uma pequena máquina de lavar roupa. Com detergente ou sabão, água e alguma " -"energia elétrica, você pode limpar muitas roupas. 'e'xamine o " -"azulejo com a máquina de lavar roupa para usá-lo." #. ~ Description for dishwasher #: lang/json/vehicle_part_from_json.py msgid "" -"A small dishwasher. With detergent or soap, water, and some electrical " -"power, you could clean your dishes... Or something more useful like a CBM " -"dripping with zombie gore. 'e'xamine the tile with the dishwasher to use " -"it." +"A small dishwasher. With detergent, water, and some electrical power, you " +"could clean your dishes… Or something more useful like a CBM dripping with " +"zombie gore. 'e'xamine the tile with the dishwasher to use it." msgstr "" #. ~ Description for autoclave @@ -178222,7 +186372,7 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "" "A large wind turbine with stabilizing legs. Will recharge the vehicle's " -"electrical power when exposed to the wind. Will cause extra drag on the " +"electrical power when exposed to the wind. Will cause extra drag on the " "vehicle." msgstr "" @@ -178550,7 +186700,7 @@ msgid "A stereo system. When turned on, it plays music, improving your mood." msgstr "" " Um sistema estéreo. Quando ligado, reproduz música, melhorando o seu humor." -#: lang/json/vehicle_part_from_json.py src/vehicle_use.cpp +#: lang/json/vehicle_part_from_json.py msgid "chimes" msgstr "sinos" @@ -178704,7 +186854,7 @@ msgstr "Um relógio, então você sabe que horas são." msgid "A funnel that will collect rainwater into the tank beneath it." msgstr "Um funil que coletará a água da chuva no tanque abaixo dela." -#: lang/json/vehicle_part_from_json.py src/vehicle_use.cpp +#: lang/json/vehicle_part_from_json.py msgid "scoop" msgstr "colher" @@ -178813,6 +186963,15 @@ msgstr "" "vazias, você pode ficar ao lado de um suporte de torre e 'f'ire a " "arma selecionando o ladrilho." +#. ~ Description for turret control unit +#: lang/json/vehicle_part_from_json.py +msgid "" +"A set of motor, camera, and an AI unit which allows for tracking targets, " +"friend-or-foe identification, and firing the connected turret in full " +"automatic mode. When installed over the turret, it will enable auto " +"targeting mode for said turret." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "light wheel mount (steerable)" msgstr "" @@ -178854,6 +187013,14 @@ msgstr "" msgid "rail wheel (steerable)" msgstr "" +#. ~ Description for pair of small rail wheels +#: lang/json/vehicle_part_from_json.py +msgid "" +"A pair of small rail wheels. It performs well when riding on a pair of " +"small rails. It performs terribly when not on a rail. Moreover, you can't " +"steer it." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "roller drum" msgstr "tambor de rolo" @@ -178981,7 +187148,7 @@ msgid "" " spoiling." msgstr "" -#: lang/json/vehicle_part_from_json.py src/vehicle_use.cpp +#: lang/json/vehicle_part_from_json.py msgid "freezer" msgstr "congelador" @@ -179070,6 +187237,20 @@ msgstr "metralhadora pesada montada" msgid "mounted minigun" msgstr "minigun montado" +#. ~ Description for Balancer +#: lang/json/vehicle_part_from_json.py +msgid "A large and heavy metal drum for balancing a vehicle." +msgstr "" + +#. ~ Description for roadheader +#: lang/json/vehicle_part_from_json.py +msgid "" +"A large metal jagged metalhead, powered by the vehicle's engines. Use the " +"vehicle controls to turn it on or off. When turned on, it will stop the " +"vehicle unless it has a strong engine. When turned on, it will destroy " +"walls near it." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "bulette plating" msgstr "" @@ -180600,81 +188781,6 @@ msgstr "canhão tesla manual" msgid "manual avalanche rifle" msgstr "rifle avalanche manual" -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of road" -msgstr "Seção clara da estrada" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Randomly-distributed wrecks" -msgstr "Naufrágios distribuídos aleatoriamente" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parked vehicles" -msgstr "Veículos estacionados" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Jack-knifed semi" -msgstr "Semi-jack-knifed" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Random car pileup" -msgstr "Empilhamento de carro aleatório" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Police car pileup" -msgstr "Pilha de carros de polícia" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Out of fuel vehicle" -msgstr "Fora do veículo de combustível" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of bridge" -msgstr "Seção clara da ponte" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Unfueled Vehicle on the bridge" -msgstr "Veículo não alimentado na ponte" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the bridge" -msgstr "Veículo, ligado, a, ponte" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of highway" -msgstr "Seção clara da rodovia" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the highway" -msgstr "Veículo na estrada" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parking lot with vehicles" -msgstr "Estacionamento com veículos" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of subway" -msgstr "" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the subway" -msgstr "" - #: lang/json/vitamin_from_json.py msgid "Calcium" msgstr "Cálcio" @@ -180691,6 +188797,10 @@ msgstr "Vitamina B12" msgid "Vitamin C" msgstr "Vitamina C" +#: lang/json/vitamin_from_json.py +msgid "Toxins" +msgstr "" + #: src/action.cpp src/input.cpp msgid "Press " msgstr "pressione" @@ -180752,22 +188862,6 @@ msgstr "( Botão de direção )" msgid "Invalid direction." msgstr "Direção inválida." -#: src/activity_handlers.cpp -msgid "You figure it'll take about an hour and a half at this rate." -msgstr "Você imagina que levará cerca de uma hora e meia a esse ritmo." - -#: src/activity_handlers.cpp -msgid "About an hour left to go." -msgstr "Faltou cerca de uma hora para ir." - -#: src/activity_handlers.cpp -msgid "Shouldn't be more than half an hour or so now!" -msgstr "Não deve demorar mais de meia hora agora!" - -#: src/activity_handlers.cpp -msgid "Almost there! Ten more minutes of work and you'll be through." -msgstr "Quase lá! Mais dez minutos de trabalho e você terminará." - #. ~ Sound of a Rat mutant burrowing! #: src/activity_handlers.cpp msgid "ScratchCrunchScrabbleScurry." @@ -180834,8 +188928,8 @@ msgstr "" #: src/activity_handlers.cpp msgid "" -"You need to suspend this corpse to butcher it. While you have a rope to lift" -" the corpse, there is no tree nearby to hang it from." +"You need to suspend this corpse to butcher it. While you have a rope to " +"lift the corpse, there is no tree nearby to hang it from." msgstr "" #: src/activity_handlers.cpp @@ -180848,8 +188942,8 @@ msgstr "" #: src/activity_handlers.cpp msgid "" "To perform a full butchery on a corpse this big, you need a table nearby or " -"something else with a flat surface. A leather tarp spread out on the ground " -"could suffice." +"something else with a flat surface. A leather tarp spread out on the ground" +" could suffice." msgstr "" #: src/activity_handlers.cpp @@ -181191,8 +189285,8 @@ msgstr "" #. ~ Sound of a Pickaxe at work! #: src/activity_handlers.cpp -msgid "CHNK! CHNK! CHNK!" -msgstr "CHNK! CHNK! CHNK!" +msgid "CHNK! CHNK! CHNK!" +msgstr "" #: src/activity_handlers.cpp msgid "You finish digging." @@ -181239,7 +189333,7 @@ msgstr "Você insere um cartucho dentro de %s." msgid "You refill the %s." msgstr "" -#: src/activity_handlers.cpp +#: src/activity_handlers.cpp src/bionics.cpp msgid "There's nothing to light there." msgstr "Não há nada para iluminar lá." @@ -181257,6 +189351,16 @@ msgstr "" " Não há luz solar suficiente para iniciar um incêndio agora. Você para de " "tentar." +#: src/activity_handlers.cpp +#, c-format +msgid "You learn a little about the spell : %s" +msgstr "" + +#: src/activity_handlers.cpp src/character_martial_arts.cpp +#, c-format +msgid "You learn %s." +msgstr "Você aprende %s." + #: src/activity_handlers.cpp #, c-format msgid "You finish training %s to level %d." @@ -181267,11 +189371,6 @@ msgstr "Você termina de treinar %s para o nível %d." msgid "You get some training in %s." msgstr "" -#: src/activity_handlers.cpp -#, c-format -msgid "You learn %s." -msgstr "Você aprende %s." - #: src/activity_handlers.cpp msgid "You've charged the battery completely." msgstr "" @@ -181390,14 +189489,21 @@ msgstr "" msgid "Your %s is already fully repaired." msgstr "" -#: src/activity_handlers.cpp src/player.cpp -#, c-format -msgid "You are currently unable to mend the %s." +#: src/activity_handlers.cpp +msgid "You defrost the food, but don't heat it up, since you enjoy it cold." msgstr "" +#: src/activity_handlers.cpp +msgid "You defrost and heat up the food." +msgstr "Você descongela e esquenta a comida." + +#: src/activity_handlers.cpp +msgid "You heat up the food." +msgstr "Você aquece a comida." + #: src/activity_handlers.cpp #, c-format -msgid "You successfully mended the %s." +msgid "You are currently unable to mend the %s." msgstr "" #: src/activity_handlers.cpp @@ -181454,10 +189560,6 @@ msgstr "" msgid "You finish fishing" msgstr "" -#: src/activity_handlers.cpp -msgid "This training is exhausting. Time to rest." -msgstr "" - #: src/activity_handlers.cpp msgid "You finish reading." msgstr "Você termina de ler." @@ -181468,7 +189570,7 @@ msgstr "Você acaba de esperar." #: src/activity_handlers.cpp #, c-format -msgid "%s finishes with you..." +msgid "%s finishes with you…" msgstr "" #: src/activity_handlers.cpp @@ -181485,8 +189587,24 @@ msgid "%s finishes chatting with you." msgstr "" #: src/activity_handlers.cpp -msgid "You toss and turn..." -msgstr "Você joga e vira ..." +msgid "You toss and turn…" +msgstr "" + +#: src/activity_handlers.cpp +msgid "You have trouble sleeping, keep trying?" +msgstr "" + +#: src/activity_handlers.cpp +msgid "Stop trying to fall asleep and get up." +msgstr "" + +#: src/activity_handlers.cpp +msgid "Continue trying to fall asleep." +msgstr "" + +#: src/activity_handlers.cpp +msgid "Continue trying to fall asleep and don't ask again." +msgstr "" #: src/activity_handlers.cpp msgid "The autodoc suffers a catastrophic failure." @@ -181577,8 +189695,8 @@ msgid "" msgstr "" #: src/activity_handlers.cpp src/player_hardcoded_effects.cpp -msgid "You try to sleep, but can't..." -msgstr "Você tenta dormir, mas não pode ..." +msgid "You try to sleep, but can't…" +msgstr "" #: src/activity_handlers.cpp msgid "" @@ -181760,7 +189878,7 @@ msgid "You planted all seeds you could." msgstr "Você plantou todas as sementes que podia." #: src/activity_handlers.cpp -msgid "Target lost. IFF override failed." +msgid "Target lost. IFF override failed." msgstr "" #: src/activity_handlers.cpp @@ -181779,12 +189897,12 @@ msgid "The %s short circuits as you attempt to reprogram it!" msgstr "" #: src/activity_handlers.cpp -msgid "...and turns friendly!" -msgstr "... e vira amiga!" +msgid "…and turns friendly!" +msgstr "" #: src/activity_handlers.cpp -msgid "...but the robot refuses to acknowledge you as an ally!" -msgstr "... mas o robô se recusa a reconhecer você como um aliado!" +msgid "…but the robot refuses to acknowledge you as an ally!" +msgstr "" #: src/activity_handlers.cpp msgid "The ancient tree spirits answer your call." @@ -181849,7 +189967,7 @@ msgid "It's too dark to read." msgstr "" #: src/activity_handlers.cpp -msgid "...you finally find the memory banks." +msgid "…you finally find the memory banks." msgstr "" #: src/activity_handlers.cpp @@ -182027,6 +190145,10 @@ msgstr "" msgid "The pet has moved somewhere else." msgstr "O animal de estimação se mudou para outro lugar." +#: src/activity_item_handling.cpp +msgid "Moving cancelled auto-pickup." +msgstr "" + #: src/activity_item_handling.cpp src/npcmove.cpp #, c-format msgid "%1$s picks up a %2$s." @@ -182043,7 +190165,7 @@ msgstr "Você cortou o log em tábuas." #: src/activity_item_handling.cpp #, c-format -msgid "%s can't reach the source tile. Try to sort out loot without a cart." +msgid "%s can't reach the source tile. Try to sort out loot without a cart." msgstr "" #: src/activity_item_handling.cpp @@ -182051,6 +190173,10 @@ msgstr "" msgid "%s sorted out every item possible." msgstr "" +#: src/activity_item_handling.cpp +msgid "It is too dark to do this activity." +msgstr "" + #: src/activity_item_handling.cpp msgid "You don't have the skill for this task." msgstr "" @@ -182085,8 +190211,8 @@ msgid "You want some caffeine." msgstr "Você quer um pouco de cafeína." #: src/addiction.cpp -msgid "Your hands start shaking... you need it bad!" -msgstr "Suas mãos começam a tremer ... você precisa disso mal!" +msgid "Your hands start shaking… you need it bad!" +msgstr "" #: src/addiction.cpp msgid "You could use a drink." @@ -182097,16 +190223,16 @@ msgid "You could use some diazepam." msgstr "Você poderia usar algum diazepam." #: src/addiction.cpp -msgid "Your hands start shaking... you need a drink bad!" -msgstr "Suas mãos começam a tremer ... você precisa de uma bebida ruim!" +msgid "Your hands start shaking… you need a drink bad!" +msgstr "" #: src/addiction.cpp -msgid "You're shaking... you need some diazepam!" -msgstr "Você está tremendo ... você precisa de um diazepam!" +msgid "You're shaking… you need some diazepam!" +msgstr "" #: src/addiction.cpp -msgid "Your hands start shaking... you need some painkillers." -msgstr "Suas mãos começam a tremer ... você precisa de alguns analgésicos." +msgid "Your hands start shaking… you need some painkillers." +msgstr "" #: src/addiction.cpp msgid "You feel anxious. You need your painkillers!" @@ -182117,8 +190243,8 @@ msgid "You feel depressed. Speed would help." msgstr "Você se sente deprimido. A velocidade ajudaria." #: src/addiction.cpp -msgid "Your hands start shaking... you need a pick-me-up." -msgstr "Suas mãos começam a tremer ... você precisa de um estimulante." +msgid "Your hands start shaking… you need a pick-me-up." +msgstr "" #: src/addiction.cpp msgid "You stop suddenly, feeling bewildered." @@ -182153,8 +190279,8 @@ msgid "You haven't had any mutagen lately." msgstr "Você não teve nenhum mutagen recentemente." #: src/addiction.cpp -msgid "You could use some new parts..." -msgstr "Você poderia usar algumas partes novas ..." +msgid "You could use some new parts…" +msgstr "" #: src/addiction.cpp msgid "You daydream about luscious pink berries as big as your fist." @@ -182278,7 +190404,7 @@ msgid "" "Risk of delirium tremens" msgstr "" " Percepção - 1; Inteligência - 1; Desejos ocasionais; \n" -" Risco de delirium tremens\n" +" Risco de delirium tremens" #: src/addiction.cpp msgid "You may find it difficult to sleep without medication." @@ -182290,7 +190416,7 @@ msgid "" "Depression and physical pain to some degree. Frequent cravings. Vomiting." msgstr "" " Força - 1; Percepção - 1; Destreza - 1; \n" -" Depressão e dor física em algum grau. Desejos freqüentes. Vômito\n" +" Depressão e dor física em algum grau. Desejos freqüentes. Vômito" #: src/addiction.cpp msgid "" @@ -182298,15 +190424,15 @@ msgid "" "Movement rate reduction. Depression. Weak immune system. Frequent cravings." msgstr "" " Força - 1; Inteligência - 1; \n" -" Redução da taxa de movimento. Depressão. Sistema imunológico fraco. Desejos freqüentes.\n" +" Redução da taxa de movimento. Depressão. Sistema imunológico fraco. Desejos freqüentes." #: src/addiction.cpp -msgid "Perception - 1; Intelligence - 1; Frequent cravings." -msgstr "Percepção - 1; Inteligência - 1; Desejos freqüentes." +msgid "Perception - 1; Intelligence - 1; Frequent cravings." +msgstr "" #: src/addiction.cpp -msgid "Perception - 2; Intelligence - 2; Frequent cravings." -msgstr "Percepção - 2; Inteligência - 2; Desejos freqüentes." +msgid "Perception - 2; Intelligence - 2; Frequent cravings." +msgstr "" #: src/addiction.cpp msgid "" @@ -182322,7 +190448,7 @@ msgid "" "Anxiety, nausea, hallucinations, and general malaise." msgstr "" " Percepção - 1; Inteligência - 1; \n" -" Ansiedade, náusea, alucinações e mal- estar geral.\n" +" Ansiedade, náusea, alucinações e mal- estar geral." #: src/addiction.cpp msgid "You should try some of those pink berries." @@ -182492,38 +190618,6 @@ msgstr "src amt peso vol" msgid "Name (charges)" msgstr "Nome (cargas)" -#: src/advanced_inv.cpp -msgid "Not dragging any vehicle!" -msgstr "Não arrastando nenhum veículo!" - -#: src/advanced_inv.cpp -msgid "No dragged vehicle!" -msgstr "Nenhum veículo arrastado!" - -#: src/advanced_inv.cpp -msgid "Invalid container!" -msgstr "Recipiente inválido!" - -#: src/advanced_inv.cpp -msgid "All 9 squares" -msgstr "Todos os 9 quadrados" - -#: src/advanced_inv.cpp -msgid " FIRE" -msgstr " FOGO " - -#: src/advanced_inv.cpp -msgid " DANGER" -msgstr "PERIGO" - -#: src/advanced_inv.cpp -msgid " TRAP" -msgstr "ARMADILHA" - -#: src/advanced_inv.cpp -msgid " WATER" -msgstr "AGUA" - #: src/advanced_inv.cpp #, c-format msgid "[<] page %1$d of %2$d [>]" @@ -182543,8 +190637,8 @@ msgid "[R]eset" msgstr "[R]edefinir" #: src/advanced_inv.cpp -msgid "You look at the items, then your clothes, and scratch your head..." -msgstr "Você olha os itens, depois as roupas e coça a cabeça ..." +msgid "You look at the items, then your clothes, and scratch your head…" +msgstr "" #: src/advanced_inv.cpp msgid "There are no items to be moved!" @@ -182567,8 +190661,8 @@ msgid "Skipping filled buckets to avoid spilling their contents." msgstr "Saltando baldes cheios para evitar derramar seu conteúdo." #: src/advanced_inv.cpp -msgid "Sort by... " -msgstr "Organizar por..." +msgid "Sort by…" +msgstr "" #: src/advanced_inv.cpp msgid "Unsorted (recently added first)" @@ -182634,25 +190728,57 @@ msgstr "Isso é muito pesado!" #: src/advanced_inv.cpp #, c-format -msgid "How many do you want to move? [Have %d] (0 to cancel)" +msgid "How many do you want to move? [Have %d] (0 to cancel)" msgstr "" #: src/advanced_inv.cpp #, c-format -msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" +msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" msgstr "" #: src/advanced_inv.cpp msgid "The destination is already full!" msgstr "O destino já está cheio!" -#: src/advanced_inv.cpp +#: src/advanced_inv_area.cpp +msgid "Not dragging any vehicle!" +msgstr "Não arrastando nenhum veículo!" + +#: src/advanced_inv_area.cpp +msgid "No dragged vehicle!" +msgstr "Nenhum veículo arrastado!" + +#: src/advanced_inv_area.cpp +msgid "Invalid container!" +msgstr "Recipiente inválido!" + +#: src/advanced_inv_area.cpp +msgid "All 9 squares" +msgstr "Todos os 9 quadrados" + +#: src/advanced_inv_area.cpp +msgid " FIRE" +msgstr " FOGO " + +#: src/advanced_inv_area.cpp +msgid " DANGER" +msgstr "PERIGO" + +#: src/advanced_inv_area.cpp +msgid " TRAP" +msgstr "ARMADILHA" + +#: src/advanced_inv_area.cpp +msgid " WATER" +msgstr "AGUA" + +#: src/advanced_inv_area.cpp msgid "Invalid container" msgstr "Recipiente inválido" #: src/animation.cpp -msgid "Hang on a bit..." -msgstr "Espere um pouco..." +msgid "Hang on a bit…" +msgstr "" #: src/armor_layers.cpp msgid "in your personal aura" @@ -182772,6 +190898,14 @@ msgstr "Bater:" msgid "Cut:" msgstr "Cortar:" +#: src/armor_layers.cpp +msgid "Acid:" +msgstr "" + +#: src/armor_layers.cpp +msgid "Fire:" +msgstr "" + #: src/armor_layers.cpp msgid "Environmental:" msgstr "De Meio Ambiente:" @@ -182840,7 +190974,7 @@ msgstr "Organizar Armadura" #: src/armor_layers.cpp #, c-format -msgid "Press %s for help. Press %s to change keybindings." +msgid "Press %s for help. Press %s to change keybindings." msgstr "" #: src/armor_layers.cpp @@ -182905,7 +191039,7 @@ msgid "" "[%s] to equip a new item.\n" "[%s] to equip a new item at the currently selected position.\n" "[%s] to remove selected armor from oneself.\n" -" \n" +"\n" "[Encumbrance and Warmth] explanation:\n" "The first number is the summed encumbrance from all clothing on that bodypart.\n" "The second number is an additional encumbrance penalty caused by wearing multiple items on one of the bodypart's layers or wearing items outside of other items they would normally be work beneath (e.g. a shirt over a backpack).\n" @@ -183458,13 +191592,13 @@ msgstr "" #, c-format msgid "" "The %s is somehow vaguely dissatisfied even though it doesn't want anything." -" Seeing this is a bug!" +" Seeing this is a bug!" msgstr "" #: src/artifact.cpp #, c-format msgid "" -"The %s is satisfied, as it should be because it has no standards. Seeing " +"The %s is satisfied, as it should be because it has no standards. Seeing " "this is a bug!" msgstr "" @@ -183491,7 +191625,7 @@ msgstr "" #: src/artifact.cpp #, c-format msgid "" -"The %s is confused to find you dreaming while awake. Seeing this is a bug!" +"The %s is confused to find you dreaming while awake. Seeing this is a bug!" msgstr "" #: src/artifact.cpp @@ -183711,14 +191845,14 @@ msgstr "Incluir" #: src/auto_pickup.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" -" \n" +"* is used as a Wildcard. A few Examples:\n" +"\n" "wooden arrow matches the itemname exactly\n" "wooden ar* matches items beginning with wood ar\n" "*rrow matches items ending with rrow\n" "*avy fle*fi*arrow multiple * are allowed\n" "heAVY*woOD*arrOW case insensitive search\n" -" \n" +"\n" "Pickup based on item materials:\n" "m:kevlar matches items made of kevlar\n" "M:copper matches items made purely of copper\n" @@ -183753,8 +191887,8 @@ msgid "Won't display content or suffix matches" msgstr "" #: src/auto_pickup.cpp -msgid "Autopickup is not enabled in the options. Enable it now?" -msgstr "O autopupup não está habilitado nas opções. Ativá-lo agora?" +msgid "Autopickup is not enabled in the options. Enable it now?" +msgstr "" #: src/auto_pickup.cpp msgid "autopickup configuration" @@ -183790,7 +191924,7 @@ msgstr "Qual o sentido de estudar? (Sua moral é muito baixa!)" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. You have %d" +msgid "%s %d needed to understand. You have %d" msgstr "" #: src/avatar.cpp src/iuse.cpp @@ -183816,7 +191950,7 @@ msgstr "" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. %s has %d" +msgid "%s %d needed to understand. %s has %d" msgstr "" #: src/avatar.cpp @@ -183841,7 +191975,7 @@ msgstr "" #: src/avatar.cpp #, c-format -msgid "%s reads aloud..." +msgid "%s reads aloud…" msgstr "" #: src/avatar.cpp @@ -183934,8 +192068,8 @@ msgid "Now reading %s, %s to stop early." msgstr "Agora lendo %s, %s para parar mais cedo." #: src/avatar.cpp -msgid "You read aloud..." -msgstr "Você leu em voz alta ..." +msgid "You read aloud…" +msgstr "" #: src/avatar.cpp #, c-format @@ -183960,15 +192094,15 @@ msgstr "%s lê com você por diversão." #: src/avatar.cpp #, c-format msgid "" -"It's difficult for %s to see fine details right now. Reading will take " +"It's difficult for %s to see fine details right now. Reading will take " "longer than usual." msgstr "" #: src/avatar.cpp #, c-format msgid "" -"This book is too complex for %s to easily understand. It will take longer to" -" read." +"This book is too complex for %s to easily understand. It will take longer " +"to read." msgstr "" #: src/avatar.cpp @@ -184050,7 +192184,7 @@ msgstr "" #: src/avatar.cpp #, c-format -msgid "You learn a little about %s! (%d%%)" +msgid "You learn a little about %s! (%d%%)" msgstr "" #: src/avatar.cpp @@ -184079,8 +192213,8 @@ msgid "Rereading the %s isn't as much fun for %s." msgstr "" #: src/avatar.cpp -msgid "Maybe you should find something new to read..." -msgstr "Talvez você deva encontrar algo novo para ler ..." +msgid "Maybe you should find something new to read…" +msgstr "" #: src/avatar.cpp #, c-format @@ -184114,20 +192248,20 @@ msgid "You train for a while." msgstr "" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through your internal alarm..." -msgstr "Parece que você dormiu no seu alarme interno ..." +msgid "It looks like you've slept through your internal alarm…" +msgstr "" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through the alarm..." -msgstr "Parece que você dormiu com o alarme ..." +msgid "It looks like you've slept through the alarm…" +msgstr "" #: src/avatar.cpp msgid "You retched, but your stomach is empty." msgstr "Você vomitou, mas seu estômago está vazio." #: src/avatar.cpp -msgid "You lost your book! You stop reading." -msgstr "Você perdeu seu livro! Você pára de ler." +msgid "You lost your book! You stop reading." +msgstr "" #: src/avatar.cpp msgid "Your thick scales get in the way." @@ -184196,7 +192330,67 @@ msgstr "" #: src/avatar.cpp #, c-format -msgid "Are you sure you want to raise %s? %d points available." +msgid "Are you sure you want to raise %s? %d points available." +msgstr "" + +#: src/avatar.cpp +msgid "You set your mech's leg power to a loping fast walk." +msgstr "" + +#: src/avatar.cpp +msgid "You nudge your steed into a steady trot." +msgstr "" + +#: src/avatar.cpp +msgid "You start walking." +msgstr "" + +#: src/avatar.cpp +msgid "You set the power of your mech's leg servos to maximum." +msgstr "" + +#: src/avatar.cpp +msgid "You spur your steed into a gallop." +msgstr "" + +#: src/avatar.cpp +msgid "You start running." +msgstr "Você começa a correr." + +#: src/avatar.cpp +msgid "Your steed is too tired to go faster." +msgstr "" + +#: src/avatar.cpp +msgid "You need two functional legs to run." +msgstr "" + +#: src/avatar.cpp +msgid "You're too tired to run." +msgstr "Você está cansado demais para correr." + +#: src/avatar.cpp +msgid "You reduce the power of your mech's leg servos to minimum." +msgstr "" + +#: src/avatar.cpp +msgid "You slow your steed to a walk." +msgstr "" + +#: src/avatar.cpp +msgid "You start crouching." +msgstr "" + +#. ~ %1$s: weapon name, %2$s: holster name +#: src/avatar.cpp src/game.cpp +#, c-format +msgctxt "holster" +msgid "Draw %1$s from %2$s?" +msgstr "" + +#: src/avatar.cpp src/monexamine.cpp +#, c-format +msgid "What to do with your %s?" msgstr "" #: src/avatar_action.cpp @@ -184206,12 +192400,12 @@ msgstr "" "móvel." #: src/avatar_action.cpp -msgid "You cannot pull yourself away from the faultline..." -msgstr "Você não pode se afastar da falha ..." +msgid "You cannot pull yourself away from the faultline…" +msgstr "" #: src/avatar_action.cpp -msgid "Monster in the way. Auto-move canceled." -msgstr "Monstro no caminho. Mover automaticamente cancelado." +msgid "Monster in the way. Auto-move canceled." +msgstr "" #: src/avatar_action.cpp msgid "Click directly on monster to attack." @@ -184222,8 +192416,8 @@ msgid "Your willpower asserts itself, and so do you!" msgstr "Sua força de vontade se afirma, e você também!" #: src/avatar_action.cpp src/handle_action.cpp src/handle_action.cpp -msgid "You're too pacified to strike anything..." -msgstr "Você está muito pacificado para atacar qualquer coisa ..." +msgid "You're too pacified to strike anything…" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -184304,7 +192498,7 @@ msgstr "Você afunda como uma rocha!" #: src/avatar_action.cpp #, c-format -msgid "You need to breathe! (%s to surface.)" +msgid "You need to breathe! (%s to surface.)" msgstr "" #: src/avatar_action.cpp @@ -184317,16 +192511,16 @@ msgid "You cannot board a vehicle while mounted." msgstr "" #: src/avatar_action.cpp -msgid "No hostile creature in reach. Waiting a turn." -msgstr "Nenhuma criatura hostil ao alcance. Esperando um turno." +msgid "No hostile creature in reach. Waiting a turn." +msgstr "" #: src/avatar_action.cpp msgid "Your eyes steel, and you raise your weapon!" msgstr "Seus olhos são de aço e você levanta sua arma!" #: src/avatar_action.cpp -msgid "You can't fire your weapon, it's too heavy..." -msgstr "Você não pode disparar sua arma, é muito pesado ..." +msgid "You can't fire your weapon, it's too heavy…" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -184334,16 +192528,13 @@ msgid "The %s must be attached to a gun, it can not be fired separately." msgstr "" #: src/avatar_action.cpp -msgid "You can no longer fire." -msgstr "Você não pode mais disparar." - -#: src/avatar_action.cpp -msgid "You need a free arm to drive!" -msgstr "Você precisa de um braço livre para dirigir!" +#, c-format +msgid "You can no longer fire your %s." +msgstr "" #: src/avatar_action.cpp #, c-format -msgid "Your %s is too clogged with blackpowder fouling to fire." +msgid "You can't use your %s while driving!" msgstr "" #: src/avatar_action.cpp @@ -184352,8 +192543,9 @@ msgid "You need two free hands to fire your %s." msgstr "" #: src/avatar_action.cpp -msgid "You need to reload!" -msgstr "Você precisa recarregar!" +#, c-format +msgid "Your %s is empty!" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -184364,20 +192556,20 @@ msgstr "" #, c-format msgid "" "You need a UPS with at least %d charges or an advanced UPS with at least %d " -"charges to fire that!" +"charges to fire the %s!" msgstr "" #: src/avatar_action.cpp -msgid "Your mech has an empty battery, its weapon will not fire." +#, c-format +msgid "Your mech has an empty battery, its %s will not fire." msgstr "" #: src/avatar_action.cpp +#, c-format msgid "" -"You must stand near acceptable terrain or furniture to use this weapon. A " +"You must stand near acceptable terrain or furniture to use this %s. A " "table, a mound of dirt, a broken window, etc." msgstr "" -" Você deve ficar perto de terrenos ou móveis aceitáveis para usar essa arma." -" Uma mesa, um monte de sujeira, uma janela quebrada, etc." #: src/avatar_action.cpp #, c-format @@ -184423,8 +192615,8 @@ msgid "You concentrate mightily, and your body obeys!" msgstr "Você se concentra poderosamente e seu corpo obedece!" #: src/avatar_action.cpp -msgid "You can't muster up the effort to throw anything..." -msgstr "Você não pode reunir o esforço para jogar nada ..." +msgid "You can't muster up the effort to throw anything…" +msgstr "" #: src/ballistics.cpp #, c-format @@ -184610,6 +192802,16 @@ msgstr "" msgid "Your %s automatically turns off." msgstr "" +#: src/bionics.cpp +#, c-format +msgid "Your %s does not have sufficient humidity to function." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency will be reduced." +msgstr "" + #: src/bionics.cpp msgid "You change your mind and turn it off." msgstr "Você muda de idéia e desliga." @@ -184727,10 +192929,6 @@ msgstr "Resultados do teste de sangue" msgid "No effects." msgstr "Sem efeitos." -#: src/bionics.cpp -msgid "There was not enough moisture in the air from which to draw water!" -msgstr "Não havia umidade suficiente no ar para tirar água!" - #: src/bionics.cpp msgid "Your torsion ratchet locks onto your joints." msgstr "Sua catraca de torção trava nas juntas." @@ -184743,10 +192941,6 @@ msgstr "" msgid "Start a fire where?" msgstr "Comece uma fogueira onde?" -#: src/bionics.cpp src/iexamine.cpp -msgid "You can't light a fire there." -msgstr "Você não pode acender um fogo lá." - #: src/bionics.cpp #, c-format msgid "Your radiation level: %d" @@ -184923,6 +193117,20 @@ msgstr "" msgid "'s %s turns off to not waste fuel." msgstr "" +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, your %s shuts down to preserve" +" your health." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, 's %s shuts down to " +"preserve their health." +msgstr "" + #: src/bionics.cpp #, c-format msgid "Your %s runs out of fuel and turn off." @@ -184951,6 +193159,21 @@ msgstr "" msgid "You feel your throat open up and air filling your lungs!" msgstr "Você sente sua garganta se abrir e ar enchendo seus pulmões!" +#: src/bionics.cpp +#, c-format +msgid "There is not enough humidity for your %s to function." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency is reduced." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "You are properly hydrated. Your %s chirps happily." +msgstr "" + #: src/bionics.cpp msgid "The removal fails without incident." msgstr "" @@ -185012,7 +193235,7 @@ msgstr " se prepara para a cirurgia." #: src/bionics.cpp #, c-format -msgid "A lifetime of augmentation has taught %s a thing or two..." +msgid "A lifetime of augmentation has taught %s a thing or two…" msgstr "" #: src/bionics.cpp @@ -185027,10 +193250,8 @@ msgstr "" #: src/bionics.cpp msgid "" -"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" +"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" msgstr "" -" AVISO: Remover um reator pode deixar material radioativo! Remover mesmo " -"assim?" #: src/bionics.cpp #, c-format @@ -185048,10 +193269,10 @@ msgstr "" msgid "Are you sure you wish to uninstall the selected bionic?" msgstr "Tem certeza de que deseja desinstalar o biônico selecionado?" -#: src/bionics.cpp +#: src/bionics.cpp src/game.cpp #, c-format msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " +"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " "anyway?" msgstr "" @@ -185126,7 +193347,7 @@ msgstr "Tem certeza de que deseja instalar o biônico selecionado?" #, c-format msgid "" "WARNING: %i percent chance of failure that may result in damage, pain, or a " -"faulty installation! Continue anyway?" +"faulty installation! Continue anyway?" msgstr "" #. ~ %1$s - name of the bionic to be upgraded (inferior), %2$s - name of the @@ -185252,10 +193473,30 @@ msgstr "" msgid "Available Fuel: " msgstr "" +#: src/bionics_ui.cpp +msgctxt "decimal separator" +msgid "." +msgstr "." + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: kilojoule" +msgid "kJ" +msgstr "kJ" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: joule" +msgid "J" +msgstr "" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: millijoule" +msgid "mJ" +msgstr "" + #: src/bionics_ui.cpp #, c-format msgid "" -"Bionic Power: %i/%i" +"Bionic Power: %s/%ikJ" msgstr "" #: src/bionics_ui.cpp @@ -185264,7 +193505,7 @@ msgid "" "Select a bionic to reassign or press SPACE to cancel." msgstr "" " Reatribuição. \n" -" Selecione um biônico para reatribuir ou pressione ESPAÇO para cancelar.\n" +" Selecione um biônico para reatribuir ou pressione ESPAÇO para cancelar." #: src/bionics_ui.cpp msgid "" @@ -185288,22 +193529,22 @@ msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d PU act" +msgid "%s act" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d PU deact" +msgid "%s deact" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d PU/turn" +msgid "%s/turn" msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d PU/%d turns" +msgid "%s/%d turns" msgstr "" #: src/bionics_ui.cpp src/handle_action.cpp @@ -185351,13 +193592,13 @@ msgstr "Nenhuma biônica passiva instalada." #: src/bionics_ui.cpp #, c-format -msgid "%s; enter new letter. Space to clear. Esc to cancel." +msgid "%s; enter new letter. Space to clear. Esc to cancel." msgstr "" #: src/bionics_ui.cpp #, c-format msgid "" -"Invalid bionic letter. Only those characters are valid:\n" +"Invalid bionic letter. Only those characters are valid:\n" "\n" "%s" msgstr "" @@ -185397,10 +193638,40 @@ msgstr "" msgid "Target armor multiplier" msgstr "Multiplicador de blindagem alvo" -#. ~ bash damage +80% of strength +#. ~ %1$s: damage type, %2$s: damage-related bonus name +#: src/bonuses.cpp +#, c-format +msgctxt "type of damage" +msgid "%1$s %2$s" +msgstr "" + +#. ~ %1$s: bonus name, %2$d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%% of %3$s" +msgstr "" + +#. ~ %1$s: bonus name, %2$d: bonus percentage +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%%" +msgstr "" + +#. ~ %1$s: bonus name, %2$+d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d%% of %3$s" +msgstr "" + +#. ~ %1$s: bonus name, %2$+d: bonus value #: src/bonuses.cpp -msgid " of " -msgstr "do" +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d" +msgstr "" #: src/calendar.cpp msgid "forever" @@ -185691,8 +193962,12 @@ msgstr "Pesquisa de inclinação e medição de carga" #: src/character.cpp msgctxt "not possessive" -msgid "you" -msgstr "você" +msgid "You" +msgstr "Você" + +#: src/character.cpp +msgid "Your" +msgstr "" #: src/character.cpp msgid "your" @@ -185707,6 +193982,63 @@ msgstr "%s's" msgid "armor" msgstr "armadura" +#: src/character.cpp +#, c-format +msgid "You remove the %s's harness." +msgstr "" + +#: src/character.cpp src/game.cpp +msgid "You let go of the grabbed object." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You climb on the %s." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You hear your %s whir to life." +msgstr "" + +#: src/character.cpp +msgid "You are ejected from your mech!" +msgstr "" + +#: src/character.cpp +msgid " is ejected from their mech!" +msgstr "" + +#: src/character.cpp +msgid "You fall off your mount!" +msgstr "" + +#: src/character.cpp +msgid " falls off their mount!" +msgstr "" + +#: src/character.cpp src/trapfunc.cpp +msgid "You hurt yourself!" +msgstr "Machucou-se!" + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Fell off a mount." +msgstr "" + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Fell off a mount." +msgstr "" + +#: src/character.cpp +msgid "Dismount where?" +msgstr "" + +#: src/character.cpp +msgid "You cannot dismount there!" +msgstr "" + #: src/character.cpp msgid "You struggle to stand." msgstr "Você luta para ficar de pé." @@ -185897,6 +194229,11 @@ msgstr "" msgid "Liquid from your inventory has leaked onto the ground." msgstr "Líquido do seu inventário vazou no chão." +#: src/character.cpp +#, c-format +msgid "Your current health value is %d." +msgstr "" + #: src/character.cpp msgid "Parched" msgstr "Morrendo de sede" @@ -185966,6 +194303,78 @@ msgstr "Morto de Cansado" msgid "Your %s bionic shorts out!" msgstr "" +#: src/character.cpp +#, c-format +msgid "Your %s will be frostnipped in the next few hours." +msgstr "%s sofrerá congelamento nas próximas horas." + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten within the hour!" +msgstr "%s sofrerá congelamento em até uma hora!" + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten any minute now!" +msgstr "" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s beginning to go numb from the cold!" +msgstr "" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very cold." +msgstr "" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting chilly." +msgstr "" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting red hot from the heat!" +msgstr "" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very hot." +msgstr "" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting warm." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "The wind is making your %s feel quite cold." +msgstr "O vento está fazendo você sentir seu/sua %s um tanto gelado(a)." + +#: src/character.cpp +#, c-format +msgid "" +"The wind is very strong, you should find some more wind-resistant clothing " +"for your %s." +msgstr "" +"O vento está muito forte, você deveria encontrar alguma roupa mais " +"resistente ao vento para %s." + +#: src/character.cpp +#, c-format +msgid "" +"Your clothing is not providing enough protection from the wind for your %s!" +msgstr "" +"Sua roupa não está fornecendo proteção suficiente contra o vendo para %s!" + #: src/character.cpp msgid "Left Arm" msgstr "Braço Esquerdo" @@ -185983,8 +194392,8 @@ msgid "Right Leg" msgstr "Perna Direita" #: src/character.cpp -msgid "It is broken. It needs a splint or surgical attention." -msgstr "Esta quebrado. É necessário uma tala ou atenção cirúrgica." +msgid "It is broken. It needs a splint or surgical attention." +msgstr "" #: src/character.cpp #, c-format @@ -186029,10 +194438,8 @@ msgstr "Isso não ajudará na limpeza desta ferida." #: src/character.cpp msgid "" -"It has a deep wound that looks infected. Antibiotics might be required." +"It has a deep wound that looks infected. Antibiotics might be required." msgstr "" -" Tem uma ferida profunda que parece infectada. Antibióticos podem ser " -"necessários." #: src/character.cpp #, c-format @@ -186132,8 +194539,8 @@ msgstr "" msgid "Big" msgstr "" -#: src/character.cpp src/color.cpp src/color.cpp src/options.cpp -#: src/panels.cpp +#: src/character.cpp src/character_martial_arts.cpp src/color.cpp +#: src/options.cpp msgid "Normal" msgstr "Normal" @@ -186237,6 +194644,32 @@ msgstr "" msgid "EXTRA_EXERCISE" msgstr "" +#: src/character.cpp +msgid "Your body strains under the weight!" +msgstr "Seu corpo se esforça sob o peso!" + +#: src/character.cpp +#, c-format +msgid "Your %s needs %d charge from some UPS." +msgid_plural "Your %s needs %d charges from some UPS." +msgstr[0] "" +msgstr[1] "" + +#: src/character.cpp +#, c-format +msgid "Your %s has %d charge but needs %d." +msgid_plural "Your %s has %d charges but needs %d." +msgstr[0] "" +msgstr[1] "" + +#: src/character.cpp +msgid "You cough heavily." +msgstr "Você tosse fortemente." + +#: src/character.cpp +msgid "a hacking cough." +msgstr "uma tosse seca." + #: src/character.cpp msgid "You try to shout but you have no face!" msgstr "" @@ -186314,6 +194747,122 @@ msgctxt "fake stat there's an error" msgid "ERR" msgstr "" +#. ~ %s is armor name +#: src/character.cpp +#, c-format +msgctxt "memorial_male" +msgid "Worn %s was completely destroyed." +msgstr "" + +#: src/character.cpp +#, c-format +msgctxt "memorial_female" +msgid "Worn %s was completely destroyed." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "Your %s is completely destroyed!" +msgstr "" + +#: src/character.cpp +#, c-format +msgid "'s %s is completely destroyed!" +msgstr "" + +#: src/character.cpp src/veh_interact.cpp +msgid "destroyed" +msgstr "destruído(a)" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s further!" +msgstr "" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s!" +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You were attacked by %s!" +msgstr "" + +#: src/character.cpp +msgid "You were hurt!" +msgstr "Você ficou ferido!" + +#. ~spore-release sound +#. ~ the sound of a fungus releasing spores +#. ~ That spore sound again +#. ~ the sound of a fungus dying +#: src/character.cpp src/monattack.cpp src/monattack.cpp src/mondeath.cpp +msgid "Pouf!" +msgstr "Puf!" + +#: src/character.cpp +msgid "You sink your roots into the soil." +msgstr "Você afunda suas raízes no solo." + +#: src/character.cpp +msgid "You start hauling items along the ground." +msgstr "Você começa a transportar itens pelo chão." + +#: src/character.cpp +msgid "Your hands are not free, which makes hauling slower." +msgstr "Suas mãos não estão livres, o que torna o transporte mais lento." + +#: src/character.cpp +msgid "You stop hauling items." +msgstr "Você para de transportar itens." + +#: src/character.cpp +msgid "You resume your task." +msgstr "Você retoma sua tarefa." + +#: src/character.cpp +msgid "You nestle your pile of clothes for warmth." +msgstr "Você aninha sua pilha de roupas para o calor." + +#: src/character.cpp +msgid "You use your pile of clothes for warmth." +msgstr "Você usa sua pilha de roupas para se aquecer." + +#: src/character.cpp +#, c-format +msgid "You snuggle your %s to keep warm." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You use your %s to keep warm." +msgstr "" + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Entered hibernation." +msgstr "Hibernação introduzida." + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Entered hibernation." +msgstr "Hibernação introduzida." + +#: src/character_martial_arts.cpp +#, c-format +msgid "You have learned %s from extensive practice with the CQB Bionic." +msgstr "" + +#: src/character_martial_arts.cpp +#, c-format +msgid "%s to select martial arts style." +msgstr "" + +#: src/character_martial_arts.cpp +msgid "No Style" +msgstr "Sem estilo" + #: src/clzones.cpp msgid "No Auto Pickup" msgstr "Nenhum recolhimento automático" @@ -186358,277 +194907,6 @@ msgid "" "this area." msgstr "" -#: src/clzones.cpp -msgid "Loot: Unsorted" -msgstr "Roubo: Não sorteado" - -#: src/clzones.cpp -msgid "" -"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " -"sort items inside. It can overlap with Loot zones of different types." -msgstr "" -" Lugar para soltar saque não sorteado. Você pode usar \\ 'ordenar out loot " -"\\' zone-action para ordenar itens dentro. Pode se sobrepor com zonas Loot " -"de diferentes tipos." - -#: src/clzones.cpp -msgid "Loot: Food" -msgstr "Roubo: Comida" - -#: src/clzones.cpp -msgid "" -"Destination for comestibles. If more specific food zone is not defined, all " -"food is moved here." -msgstr "" -" Destino para comestíveis. Se uma zona alimentar mais específica não for " -"definida, todos os alimentos são movidos para cá." - -#: src/clzones.cpp -msgid "Loot: P.Food" -msgstr "Saque: P. Food" - -#: src/clzones.cpp -msgid "" -"Destination for perishable comestibles. Does include perishable drinks if " -"such zone is not specified." -msgstr "" -" Destino para comestíveis perecíveis. Inclui bebidas perecíveis se essa zona" -" não for especificada." - -#: src/clzones.cpp -msgid "Loot: Drink" -msgstr "Roubo: Beba" - -#: src/clzones.cpp -msgid "" -"Destination for drinks. Does include perishable drinks if such zone is not " -"specified." -msgstr "" -" Destino para bebidas. Inclui bebidas perecíveis se essa zona não for " -"especificada." - -#: src/clzones.cpp -msgid "Loot: P.Drink" -msgstr "Saque: P. Drink" - -#: src/clzones.cpp -msgid "Destination for perishable drinks." -msgstr "Destino para bebidas perecíveis." - -#: src/clzones.cpp -msgid "Loot: Guns" -msgstr "Roubo: Armas" - -#: src/clzones.cpp -msgid "Destination for guns, bows and similar weapons." -msgstr "Destino de armas, arcos e armas similares." - -#: src/clzones.cpp -msgid "Loot: Magazines" -msgstr "Roubo: Revistas" - -#: src/clzones.cpp -msgid "Destination for gun magazines." -msgstr "Destino para revistas de armas." - -#: src/clzones.cpp -msgid "Loot: Ammo" -msgstr "Roubo: Munição" - -#: src/clzones.cpp -msgid "Destination for ammo." -msgstr "Destino para munição." - -#: src/clzones.cpp -msgid "Loot: Weapons" -msgstr "Saque: Armas" - -#: src/clzones.cpp -msgid "Destination for melee weapons." -msgstr "Destino para armas brancas." - -#: src/clzones.cpp -msgid "Loot: Tools" -msgstr "Roubo: Ferramentas" - -#: src/clzones.cpp -msgid "Destination for tools." -msgstr "Destino para ferramentas." - -#: src/clzones.cpp -msgid "Loot: Clothing" -msgstr "Roubo: Vestuário" - -#: src/clzones.cpp -msgid "" -"Destination for clothing. Does include filthy clothing if such zone is not " -"specified." -msgstr "" -" Destino para roupas. Inclui roupas imundas se essa zona não for " -"especificada." - -#: src/clzones.cpp -msgid "Loot: F.Clothing" -msgstr "Saque: F. Roupa" - -#: src/clzones.cpp -msgid "Destination for filthy clothing." -msgstr "Destino para roupas imundas." - -#: src/clzones.cpp -msgid "Loot: Drugs" -msgstr "Roubo: Drogas" - -#: src/clzones.cpp -msgid "Destination for drugs and other medical items." -msgstr "Destino de drogas e outros itens médicos." - -#: src/clzones.cpp -msgid "Loot: Books" -msgstr "Roubo: Livros" - -#: src/clzones.cpp -msgid "Destination for books and magazines." -msgstr "Destino para livros e revistas." - -#: src/clzones.cpp -msgid "Loot: Mods" -msgstr "Roubo: Mods" - -#: src/clzones.cpp -msgid "Destination for firearm modifications and similar items." -msgstr "Destino para modificações de arma de fogo e itens semelhantes." - -#: src/clzones.cpp -msgid "Loot: Mutagens" -msgstr "Roubo: Mutagens" - -#: src/clzones.cpp -msgid "Destination for mutagens, serums, and purifiers." -msgstr "Destino para mutagênicos, soros e purificadores." - -#: src/clzones.cpp -msgid "Loot: Bionics" -msgstr "Roubo: Biônica" - -#: src/clzones.cpp -msgid "Destination for Compact Bionics Modules aka CBMs." -msgstr "Destino para Módulos Compact Bionics, também conhecidos como CBMs." - -#: src/clzones.cpp -msgid "Loot: V.Parts" -msgstr "Saque: V. Parts" - -#: src/clzones.cpp -msgid "Destination for vehicle parts." -msgstr "Destino para peças de veículos." - -#: src/clzones.cpp -msgid "Loot: Other" -msgstr "Roubo: Outro" - -#: src/clzones.cpp -msgid "Destination for other miscellaneous items." -msgstr "Destino para outros itens diversos." - -#: src/clzones.cpp -msgid "Loot: Fuel" -msgstr "Roubo: Combustível" - -#: src/clzones.cpp -msgid "" -"Destination for gasoline, diesel, lamp oil and other substances used as a " -"fuel." -msgstr "" -" Destino para gasolina, diesel, óleo de lâmpada e outras substâncias usadas " -"como combustível." - -#: src/clzones.cpp -msgid "Loot: Seeds" -msgstr "Saque: Sementes" - -#: src/clzones.cpp -msgid "Destination for seeds, stems and similar items." -msgstr "Destino para sementes, caules e itens semelhantes." - -#: src/clzones.cpp -msgid "Loot: Chemical" -msgstr "Roubo: Químico" - -#: src/clzones.cpp -msgid "Destination for chemicals." -msgstr "Destino para produtos químicos." - -#: src/clzones.cpp -msgid "Loot: S.Parts" -msgstr "Saque: S. Parts" - -#: src/clzones.cpp -msgid "Destination for spare parts." -msgstr "Destino para peças de reposição." - -#: src/clzones.cpp -msgid "Loot: Artifacts" -msgstr "Roubo: Artefatos" - -#: src/clzones.cpp -msgid "Destination for artifacts" -msgstr "Destino para artefatos" - -#: src/clzones.cpp -msgid "Loot: Corpses" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for corpses" -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Armor" -msgstr "Roubo: Armadura" - -#: src/clzones.cpp -msgid "" -"Destination for armor. Does include filthy armor if such zone is not " -"specified." -msgstr "" -" Destino para armadura. Inclui armaduras imundas se essa zona não for " -"especificada." - -#: src/clzones.cpp -msgid "Loot: F.Armor" -msgstr "Saque: F. Armor" - -#: src/clzones.cpp -msgid "Destination for filthy armor." -msgstr "Destino para armadura imunda." - -#: src/clzones.cpp -msgid "Loot: Wood" -msgstr "Roubo: Madeira" - -#: src/clzones.cpp -msgid "Destination for firewood and items that can be used as such." -msgstr "Destino para lenha e itens que podem ser usados como tal." - -#: src/clzones.cpp -msgid "Loot: Custom" -msgstr "" - -#: src/clzones.cpp -msgid "Destination for loot with a custom filter that you can modify." -msgstr "" - -#: src/clzones.cpp -msgid "Loot: Ignore" -msgstr "Roubo: Ignorar" - -#: src/clzones.cpp -msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." -msgstr "" -" Os itens dentro desta zona são ignorados pela \\ 'ordenar saquear \\' ação " -"da zona." - #: src/clzones.cpp msgid "Source: Firewood" msgstr "" @@ -186636,7 +194914,7 @@ msgstr "" #: src/clzones.cpp msgid "" "Source for firewood or other flammable materials in this zone may be used to" -" automatically refuel fires. This will be done to maintain light during " +" automatically refuel fires. This will be done to maintain light during " "long-running tasks such as crafting, reading or waiting." msgstr "" @@ -186688,6 +194966,14 @@ msgstr "" msgid "Any vehicles in this area are marked for repair work." msgstr "" +#: src/clzones.cpp +msgid "Vehicle Patrol Zone" +msgstr "" + +#: src/clzones.cpp +msgid "Vehicles with an autopilot will patrol in this zone." +msgstr "" + #: src/clzones.cpp msgid "Basecamp: Food" msgstr "" @@ -186708,11 +194994,11 @@ msgstr "Sem semente" #: src/clzones.cpp #, c-format -msgid "Loot: Custom : %s" +msgid "Loot: Custom: %s" msgstr "" #: src/clzones.cpp -msgid "Loot: Custom : No Filter" +msgid "Loot: Custom: No Filter" msgstr "" #: src/clzones.cpp @@ -186866,8 +195152,8 @@ msgstr "ERRO! ACESSO NEGADO!" #: src/computer.cpp #, c-format -msgid "Logging into %s..." -msgstr "Acessando %s..." +msgid "Logging into %s…" +msgstr "" #: src/computer.cpp msgid "Access is temporary blocked for security purposes." @@ -186882,17 +195168,16 @@ msgid "Bypass security?" msgstr "Contornar segurança?" #: src/computer.cpp -msgid "Shutting down... press any key." -msgstr "Desligando... Aperte qualquer tecla." +msgid "Shutting down… press any key." +msgstr "" #: src/computer.cpp -msgid "Maximum login attempts exceeded. Press any key..." +msgid "Maximum login attempts exceeded. Press any key…" msgstr "" -"Número máximo de tentativas de acesso excedido. Aperte qualquer tecla..." #: src/computer.cpp -msgid "Login successful. Press any key..." -msgstr "Acessado com sucesso. Aperte qualquer tecla." +msgid "Login successful. Press any key…" +msgstr "" #: src/computer.cpp msgid "Root Menu" @@ -186915,29 +195200,29 @@ msgid "Choose drive:" msgstr "Escolha a unidade:" #: src/computer.cpp -msgid "Doors opened. Press any key..." -msgstr "Portas abertas. Aperte qualquer tecla..." +msgid "Doors opened. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Lock enabled. Press any key..." -msgstr "Fechadura ativada. Aperte qualquer tecla.." +msgid "Lock enabled. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Lock disabled. Press any key..." -msgstr "Fechadura desativada. Aperte qualquer tecla..." +msgid "Lock disabled. Press any key…" +msgstr "" #. ~ the sound of a church bell ringing #: src/computer.cpp -msgid "Bohm... Bohm... Bohm..." -msgstr "Bohm... Bohm... Bohm..." +msgid "Bohm… Bohm… Bohm…" +msgstr "" #: src/computer.cpp -msgid "Containment shields opened. Press any key..." -msgstr "Escudos de contenção apertos. Aperte qualquer tecla..." +msgid "Containment shields opened. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Subjects terminated. Press any key..." -msgstr "Sujeito exterminado. Aperte qualquer tecla..." +msgid "Subjects terminated. Press any key…" +msgstr "" #: src/computer.cpp msgid "WARNING: Resonance cascade carries severe risk! Continue?" @@ -186948,42 +195233,36 @@ msgid "No data found." msgstr "Nenhum dado encontrado." #: src/computer.cpp -msgid "Local data-access error logged, alerting helpdesk. Press any key..." +msgid "Local data-access error logged, alerting helpdesk. Press any key…" msgstr "" -"Erro de acesso nos dados locais, alertando central de ajuda. Aperte qualquer" -" tecla..." #: src/computer.cpp msgid "" -"Warning: anomalous archive-access activity detected at this node. Press any " -"key..." +"Warning: anomalous archive-access activity detected at this node. Press any" +" key…" msgstr "" -"Aviso: Atividade anormal no acesso de arquivos detectada neste nódulo. " -"Aperte qualquer tecla..." #: src/computer.cpp -msgid "Warning: resticted data access. Attempt logged. Press any key..." +msgid "Warning: resticted data access. Attempt logged. Press any key…" msgstr "" #: src/computer.cpp -msgid "Press any key..." -msgstr "Aperte qualquer tecla..." +msgid "Press any key…" +msgstr "" #: src/computer.cpp msgid "" "Surface map data downloaded. Local anomalous-access error logged. Press " -"any key..." +"any key…" msgstr "" -"Mapa da superfície baixada. Erro anormal de acesso local. Aperte qualquer " -"tecla..." #: src/computer.cpp -msgid "Sewage map data downloaded. Press any key..." -msgstr "Mapa do esgoto baixado. Aperte qualquer tecla..." +msgid "Sewage map data downloaded. Press any key…" +msgstr "" #: src/computer.cpp -msgid "Subway map data downloaded. Press any key..." -msgstr "Dados do mapa do metrô baixados. Pressione qualquer tecla..." +msgid "Subway map data downloaded. Press any key…" +msgstr "" #: src/computer.cpp msgid "Target acquisition canceled." @@ -187019,14 +195298,14 @@ msgstr "Acesso biônico - Evidência:" #: src/computer.cpp #, c-format -msgid "%d OTHER FOUND..." -msgid_plural "%d OTHERS FOUND..." +msgid "%d OTHER FOUND…" +msgid_plural "%d OTHERS FOUND…" msgstr[0] "" msgstr[1] "" #: src/computer.cpp -msgid "Elevator activated. Press any key..." -msgstr "Elevador ativado. Aperte qualquer tecla..." +msgid "Elevator activated. Press any key…" +msgstr "" #: src/computer.cpp #, c-format @@ -187049,8 +195328,8 @@ msgid "" msgstr "" #: src/computer.cpp -msgid "FILE CORRUPTED, PRESS ANY KEY..." -msgstr "ARQUIVO CORROMPIDO, PRESSIONE QUALQUER CHAVE ..." +msgid "FILE CORRUPTED, PRESS ANY KEY…" +msgstr "" #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -187065,12 +195344,12 @@ msgid "ACCESS DENIED" msgstr "ACESSO NEGADO" #: src/computer.cpp -msgid "Repeater mod installed..." -msgstr "Repetidor mod instalado ..." +msgid "Repeater mod installed…" +msgstr "" #: src/computer.cpp -msgid "You do not have a repeater mod to install..." -msgstr "Você não tem um mod repetidor para instalar ..." +msgid "You do not have a repeater mod to install…" +msgstr "" #: src/computer.cpp msgid "Computer couldn't find its mission!" @@ -187101,17 +195380,16 @@ msgid "ERROR: Please only use blood samples." msgstr "ERRO: Por favor, use apenas amostras de sangue." #: src/computer.cpp -msgid "Result: Human blood, no pathogens found." -msgstr "Resultado: Sangue humano, nenhum patógeno encontrado." +msgid "Result: Human blood, no pathogens found." +msgstr "" #: src/computer.cpp -msgid "Result: Human blood. Unknown pathogen found." -msgstr "Resultado: sangue humano. Patógeno desconhecido encontrado." +msgid "Result: Human blood. Unknown pathogen found." +msgstr "" #: src/computer.cpp -msgid "Result: Unknown blood type. Unknown pathogen found." +msgid "Result: Unknown blood type. Unknown pathogen found." msgstr "" -" Resultado: tipo sanguíneo desconhecido. Patógeno desconhecido encontrado." #: src/computer.cpp msgid "Pathogen bonded to erythrocytes and leukocytes." @@ -187147,67 +195425,58 @@ msgstr "ERRO: O banco de memória está vazio." #: src/computer.cpp msgid "" -"Memory Bank: Military Hexron Encryption\n" +"Memory Bank: Military Hexron Encryption\n" "Printing Transcript\n" msgstr "" -" Banco de Memória: Criptografia Militar Hexron \n" -" Criação de Impressão \n" #: src/computer.cpp msgid "" -"Memory Bank: Unencrypted\n" +"Memory Bank: Unencrypted\n" "Nothing of interest.\n" msgstr "" -"Banco de Memória: Não encriptado \n" -"Nada de interesse. \n" #: src/computer.cpp msgid "" "\n" -"ERROR: NETWORK DISCONNECT \n" +"ERROR: NETWORK DISCONNECT\n" "UNABLE TO REACH NETWORK ROUTER OR PROXY. PLEASE CONTACT YOUR\n" "SYSTEM ADMINISTRATOR TO RESOLVE THIS ISSUE.\n" " \n" msgstr "" -" ERROR: REDE DESCONECTE \n" -" AIXA DE ALCANÇAR O ROTEADOR DE REDE OU O PROXY. ENTRE EM CONTATO COM O SEU ADMINISTRADOR DE SISTEMA PARA RESOLVER ESTE PROBLEMA. \n" -" \n" +"\n" +"ERROR: REDE DESCONECTE\n" +"AIXA DE ALCANÇAR O ROTEADOR DE REDE OU O PROXY. ENTRE EM CONTATO COM O SEU ADMINISTRADOR DE SISTEMA PARA RESOLVER ESTE PROBLEMA.\n" +"\n" #: src/computer.cpp -msgid "Press any key to continue..." -msgstr "Pressione qualquer tecla para continuar..." +msgid "Press any key to continue…" +msgstr "" #: src/computer.cpp msgid "" -"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF \n" -"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU \n" -"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW. \n" +"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF\n" +"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU\n" +"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW.\n" "\n" -"1. DO NOT PANIC. \n" -"2. REMAIN INSIDE THE BUILDING. \n" -"3. SEEK SHELTER IN THE BASEMENT. \n" -"4. USE PROVIDED GAS MASKS. \n" -"5. AWAIT FURTHER INSTRUCTIONS. \n" +"1. DO NOT PANIC.\n" +"2. REMAIN INSIDE THE BUILDING.\n" +"3. SEEK SHELTER IN THE BASEMENT.\n" +"4. USE PROVIDED GAS MASKS.\n" +"5. AWAIT FURTHER INSTRUCTIONS.\n" "\n" " \n" msgstr "" #: src/computer.cpp msgid "" -" WARNING, RADIO TOWER IS UNRESPONSIVE. \n" +" WARNING, RADIO TOWER IS UNRESPONSIVE.\n" " \n" -" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS. \n" -" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD \n" -" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED. \n" +" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS.\n" +" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD\n" +" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED.\n" " \n" " \n" msgstr "" -" ATENÇÃO, A TORRE DE RÁDIO NÃO É RESPONSÁVEL. \n" -" \n" -" PODER DE BACKUP INSUFICIENTE PARA ATENDER AOS REQUISITOS DE RADIODIFUSÃO. \n" -" EM CASO DE UMA EMERGÊNCIA, ENTRE EM CONTATO COM A GUARDA NACIONAL LOCAL \n" -" UNIDADES PARA RECEBER A PRIORIDADE QUANDO OS GERADORES ESTÃO SENDO IMPULSADOS. \n" -" \\ n \n" #: src/computer.cpp msgid "Charges Detonated" @@ -187237,7 +195506,8 @@ msgid "" "Operational: Overridden\n" "\n" msgstr "" -" Poder: Somente backup \n" +"\n" +"Poder: Somente backup \n" " Nível de radiação: muito perigoso \\ nOperacional: substituído \n" " \n" @@ -187250,7 +195520,7 @@ msgid "WARNING [409]: Primary sensors offline!" msgstr "" #: src/computer.cpp -msgid " >> Initialize secondary sensors: Geiger profiling..." +msgid " >> Initialize secondary sensors: Geiger profiling…" msgstr "" #: src/computer.cpp @@ -187258,7 +195528,7 @@ msgid " >> Radiation spike detected!\n" msgstr "" #: src/computer.cpp -msgid "WARNING [912]: Catastrophic malfunction! Contamination detected! " +msgid "WARNING [912]: Catastrophic malfunction! Contamination detected!" msgstr "" #: src/computer.cpp @@ -187266,11 +195536,11 @@ msgid "EMERGENCY PROCEDURE [1]: Evacuate. Evacuate. Evacuate.\n" msgstr "" #: src/computer.cpp -msgid "EMERGENCY SHUTDOWN! Press any key..." +msgid "EMERGENCY SHUTDOWN! Press any key…" msgstr "" #: src/computer.cpp -msgid "PROCESSING... CYCLE COMPLETE." +msgid "PROCESSING… CYCLE COMPLETE." msgstr "" #: src/computer.cpp @@ -187280,7 +195550,7 @@ msgstr "" #: src/computer.cpp msgid "" -"CRITICAL ERROR... RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " +"CRITICAL ERROR… RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " "RP_M_01_rev.03." msgstr "" @@ -187290,22 +195560,22 @@ msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... AVG %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… AVG %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... MAX %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… MAX %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ CONSOLE: .... %s mSv/h." +msgid "GEIGER COUNTER @ CONSOLE:… %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "PERSONAL DOSIMETRY: .... %s mSv." +msgid "PERSONAL DOSIMETRY:… %s mSv." msgstr "" #: src/computer.cpp @@ -187329,11 +195599,11 @@ msgid "No items detected at: LOADING BAY." msgstr "" #: src/computer.cpp -msgid "Conveyor belt cycle complete. Press any key..." +msgid "Conveyor belt cycle complete. Press any key…" msgstr "" #: src/computer.cpp -msgid "Toggling shutters. Press any key..." +msgid "Toggling shutters. Press any key…" msgstr "" #: src/computer.cpp @@ -187341,15 +195611,15 @@ msgid "Operation irreversible. Extract radioactive material?" msgstr "" #: src/computer.cpp -msgid "Extraction sequence complete... Press any key." +msgid "Extraction sequence complete… Press any key." msgstr "" #: src/computer.cpp -msgid "ERROR! Radiation platform unresponsive... Press any key." +msgid "ERROR! Radiation platform unresponsive… Press any key." msgstr "" #: src/computer.cpp -msgid "Initiating POWER-DIAG ver.2.34 ..." +msgid "Initiating POWER-DIAG ver.2.34…" msgstr "" #: src/computer.cpp @@ -187370,13 +195640,13 @@ msgstr "" #: src/computer.cpp #, c-format -msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." +msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." msgstr "" #: src/computer.cpp #, c-format msgid "" -"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " +"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " "DETECTED." msgstr "" @@ -187385,7 +195655,7 @@ msgid "Backup power status: STANDBY MODE." msgstr "" #: src/computer.cpp -msgid "Backup power status: OFFLINE. Reason: UNKNOWN" +msgid "Backup power status: OFFLINE. Reason: UNKNOWN" msgstr "" #: src/computer.cpp @@ -187445,8 +195715,8 @@ msgid "ERROR: Data bank destroyed." msgstr "ERRO: banco de dados destruído." #: src/computer.cpp -msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT ... " -msgstr "PROCURANDO O CENTRO DE REFÚGIO MAIS PRÓXIMO, POR FAVOR, ESPERE ..." +msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT…" +msgstr "" #. ~555-0164 is a fake phone number in the US, please replace it with a number #. that will not cause issues in your locale if possible. @@ -187454,15 +195724,15 @@ msgstr "PROCURANDO O CENTRO DE REFÚGIO MAIS PRÓXIMO, POR FAVOR, ESPERE ..." #, c-format msgid "" "\n" -"REFUGEE CENTER FOUND! LOCATION: %d %s\n" +"REFUGEE CENTER FOUND! LOCATION: %d %s\n" "\n" -"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT \n" -"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE. \n" -"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND \n" -"4PM AT 555-0164. \n" +"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT\n" +"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE.\n" +"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND\n" +"4PM AT 555-0164.\n" "\n" "IF YOU WOULD LIKE TO SPEAK WITH SOMEONE IN PERSON OR WOULD LIKE\n" -"TO WRITE US A LETTER PLEASE SEND IT TO...\n" +"TO WRITE US A LETTER PLEASE SEND IT TO…\n" msgstr "" #: src/construction.cpp @@ -187555,12 +195825,12 @@ msgstr "" #: src/construction.cpp #, c-format -msgid "%s assists you with the work..." +msgid "%s assists you with the work…" msgstr "" #: src/construction.cpp #, c-format -msgid "%s watches you work..." +msgid "%s watches you work…" msgstr "" #: src/construction.cpp @@ -187622,8 +195892,8 @@ msgid "That %s can not be dissasembled, since there is furniture above it." msgstr "" #: src/construction.cpp -msgid "The rock feels much warmer than normal. Proceed?" -msgstr "A rocha parece muito mais quente que o normal. Prosseguir?" +msgid "The rock feels much warmer than normal. Proceed?" +msgstr "" #: src/construction.cpp msgid "You just tunneled into lava!" @@ -187735,6 +196005,10 @@ msgstr "Eww Material de planta não comestível!" msgid "The thought of eating that makes you feel sick." msgstr "O pensamento de comer faz você se sentir mal." +#: src/consumption.cpp +msgid "You can't eat this." +msgstr "" + #: src/consumption.cpp msgid "This is rotten and smells awful!" msgstr "Isso é podre e cheira horrível!" @@ -187785,21 +196059,18 @@ msgstr "" #: src/consumption.cpp msgid "" "You've begun stockpiling calories and liquid for hibernation. You get the " -"feeling that you should prepare for bed, just in case, but...you're hungry " +"feeling that you should prepare for bed, just in case, but… you're hungry " "again, and you could eat a whole week's worth of food RIGHT NOW." msgstr "" -" Você começou a armazenar calorias e líquidos para a hibernação. Você tem a " -"sensação de que deve se preparar para a cama, só por precaução, mas ... está" -" com fome de novo e pode comer uma semana inteira de comida AGORA." #: src/consumption.cpp #, c-format -msgid "Ick, this %s doesn't taste so good..." +msgid "Ick, this %s doesn't taste so good…" msgstr "" #: src/consumption.cpp #, c-format -msgid "Mmm, this %s tastes delicious..." +msgid "Mmm, this %s tastes delicious…" msgstr "" #: src/consumption.cpp @@ -187814,7 +196085,7 @@ msgstr "" #: src/consumption.cpp #, c-format -msgid "Ick, this %s (rotten) doesn't taste so good..." +msgid "Ick, this %s (rotten) doesn't taste so good…" msgstr "" #: src/consumption.cpp @@ -187869,8 +196140,8 @@ msgid "You greedily devour the taboo meat." msgstr "Você devora avidamente a carne tabu." #: src/consumption.cpp -msgid "Meh. You've eaten worse." -msgstr "Meh Você comeu pior." +msgid "Meh. You've eaten worse." +msgstr "" #: src/consumption.cpp msgid "" @@ -187898,8 +196169,8 @@ msgid "You can't taste much of anything with this flu." msgstr "" #: src/consumption.cpp -msgid "Yuck! How can anybody eat this stuff?" -msgstr "Que nojo! Como alguém pode comer essas coisas?" +msgid "Yuck! How can anybody eat this stuff?" +msgstr "" #: src/consumption.cpp msgid "Mmm, junk food." @@ -187910,8 +196181,8 @@ msgid "When life's got you down, there's always sugar." msgstr "Quando a vida te abaixa, sempre há açúcar." #: src/consumption.cpp -msgid "They may do what they must... you've already won." -msgstr "Eles podem fazer o que precisam ... você já ganhou." +msgid "They may do what they must… you've already won." +msgstr "" #: src/consumption.cpp msgid "Your stomach begins gurgling and you feel bloated and ill." @@ -187946,16 +196217,16 @@ msgid "They're coming to get you." msgstr "Eles estão vindo te pegar." #: src/consumption.cpp -msgid "This might've been a bad idea..." -msgstr "Isso pode ter sido uma má ideia ..." +msgid "This might've been a bad idea…" +msgstr "" #: src/consumption.cpp msgid "You've really done it this time, haven't you?" msgstr "Você realmente fez isso desta vez, não foi?" #: src/consumption.cpp -msgid "You have to stay vigilant. They're always watching..." -msgstr "Você tem que ficar vigilante. Eles estão sempre assistindo ..." +msgid "You have to stay vigilant. They're always watching…" +msgstr "" #: src/consumption.cpp msgid "mistake mistake mistake mistake mistake" @@ -187974,8 +196245,8 @@ msgid "Something is twitching at the edge of your vision." msgstr "Algo está se contraindo na borda da sua visão." #: src/consumption.cpp -msgid "They know what you've done..." -msgstr "Eles sabem o que você fez ..." +msgid "They know what you've done…" +msgstr "" #: src/consumption.cpp msgid "You're feeling even more paranoid than usual." @@ -187986,22 +196257,19 @@ msgid "You gorge yourself, preparing to hibernate." msgstr "Você se empanturra, preparando-se para hibernar." #: src/consumption.cpp -msgid "You feel stocked for a day or two. Got your bed all ready and secured?" +msgid "" +"You feel stocked for a day or two. Got your bed all ready and secured?" msgstr "" -" Você se sente estocado por um dia ou dois. Tem sua cama toda pronta e " -"segura?" #: src/consumption.cpp msgid "" -"Mmm. You can still fit some more in...but maybe you should get comfortable " +"Mmm. You can still fit some more in… but maybe you should get comfortable " "and sleep." msgstr "" -" Mmm Você ainda pode se encaixar um pouco mais ... mas talvez você deva " -"ficar confortável e dormir." #: src/consumption.cpp -msgid "That filled a hole! Time for bed..." -msgstr "Isso encheu um buraco! Hora de dormir..." +msgid "That filled a hole! Time for bed…" +msgstr "" #: src/consumption.cpp msgid "You feel as though you're going to split open! In a good way?" @@ -188010,8 +196278,8 @@ msgstr "Você se sente como se estivesse indo se abrir! De um jeito bom?" #. ~slimespawns have *small voices* which may be the Nice equivalent #. ~of the Rat King's ALL CAPS invective. Probably shared-brain telepathy. #: src/consumption.cpp -msgid "hey, you look like me! let's work together!" -msgstr "Ei, você parece comigo! vamos trabalhar juntos!" +msgid "hey, you look like me! let's work together!" +msgstr "" #: src/consumption.cpp #, c-format @@ -188023,24 +196291,6 @@ msgstr "" msgid " looks better after eating the %s." msgstr "" -#: src/consumption.cpp -msgid "Your internal power storage is fully powered." -msgstr "Seu armazenamento interno de energia está totalmente ligado." - -#: src/consumption.cpp -msgid "'s internal power storage is fully powered." -msgstr " O armazenamento interno de energia é totalmente alimentado." - -#: src/consumption.cpp -#, c-format -msgid "You recharge your battery system with the %s." -msgstr "" - -#: src/consumption.cpp -#, c-format -msgid " recharges their battery system with the %s." -msgstr "" - #: src/consumption.cpp msgid "That is a LOT of plutonium. Are you sure you want that much?" msgstr "Isso é muito plutônio. Tem certeza que quer tanto assim?" @@ -188145,8 +196395,8 @@ msgid "" msgstr "" #: src/craft_command.cpp -msgid "Some components used previously are missing. Continue?" -msgstr "Alguns componentes usados anteriormente estão faltando. Continuar?" +msgid "Some components used previously are missing. Continue?" +msgstr "" #: src/craft_command.cpp msgid "Item(s): " @@ -188157,7 +196407,7 @@ msgid "Tool(s): " msgstr "Ferramentas):" #: src/crafting.cpp -msgid "Your morale is too low to craft such a difficult thing..." +msgid "Your morale is too low to craft such a difficult thing…" msgstr "" #: src/crafting.cpp @@ -188216,7 +196466,7 @@ msgstr "Você não pode mais fabricar isto!" #, c-format msgid "" "You don't have anything in which to store %s and may have to pour it out or " -"consume it as soon as it is prepared! Proceed?" +"consume it as soon as it is prepared! Proceed?" msgstr "" #: src/crafting.cpp src/pickup.cpp @@ -188307,22 +196557,22 @@ msgstr "" #: src/crafting.cpp #, c-format -msgid "%s assists with crafting..." +msgid "%s assists with crafting…" msgstr "" #: src/crafting.cpp #, c-format -msgid "%s could assist you with a batch..." +msgid "%s could assist you with a batch…" msgstr "" #: src/crafting.cpp #, c-format -msgid "%s watches you craft..." +msgid "%s watches you craft…" msgstr "" #: src/crafting.cpp #, c-format -msgid "%s helps with crafting..." +msgid "%s helps with crafting…" msgstr "" #: src/crafting.cpp @@ -188597,7 +196847,7 @@ msgstr "" #: src/crafting_gui.cpp #, c-format -msgid "Dark craftable? %s" +msgid "Dark craftable? %s" msgstr "" #: src/crafting_gui.cpp src/defense.cpp @@ -188674,13 +196924,10 @@ msgstr "receitas que são memorizado ou não" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" -" O padrão é pesquisar os nomes dos resultados. Alguns prefixos de caractere único podem ser usados com dois pontos (:) para pesquisar de outras maneiras. Filtros adicionais são separados por vírgulas (,). \n" -" \n" -" Exemplos: \n" #: src/crafting_gui.cpp msgid "shirt" @@ -188706,8 +196953,9 @@ msgid "" "You can use arrow keys to go through search history\n" "\n" msgstr "" -" Você pode usar teclas de seta para passar pelo histórico de pesquisa \n" -" \n" +"\n" +"Você pode usar teclas de seta para passar pelo histórico de pesquisa \n" +"\n" #: src/crafting_gui.cpp src/newcharacter.cpp src/overmap_ui.cpp msgid "Search:" @@ -188889,8 +197137,8 @@ msgid "Friendly" msgstr "Amigável" #: src/creature.cpp -msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" -msgstr "Erro: comportamento sem nome. (Criatura :: get_attitude_ui_data)" +msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" +msgstr "" #: src/damage.cpp msgctxt "damage type" @@ -188943,8 +197191,8 @@ msgid "See %s for a full stack backtrace" msgstr "" #: src/debug.cpp -msgid "An error has occurred! Written below is the error report:" -msgstr "Ocorreu um erro! Escrito abaixo está o relatório de erro:" +msgid "An error has occurred! Written below is the error report:" +msgstr "" #: src/debug.cpp msgid "Press space bar to continue the game." @@ -189004,7 +197252,7 @@ msgid "Level a spell" msgstr "" #: src/debug_menu.cpp -msgid "Player..." +msgid "Player…" msgstr "" #: src/debug_menu.cpp @@ -189047,10 +197295,18 @@ msgstr "" msgid "Toggle display temperature" msgstr "" +#: src/debug_menu.cpp +msgid "Toggle display vehicle autopilot overlay" +msgstr "" + #: src/debug_menu.cpp msgid "Toggle display visibility" msgstr "" +#: src/debug_menu.cpp +msgid "Toggle display lighting" +msgstr "" + #: src/debug_menu.cpp msgid "Toggle display radiation" msgstr "" @@ -189083,12 +197339,16 @@ msgstr "" msgid "Print faction info to console" msgstr "" +#: src/debug_menu.cpp +msgid "Print NPC magic info to console" +msgstr "" + #: src/debug_menu.cpp msgid "Test weather" msgstr "" #: src/debug_menu.cpp -msgid "Info..." +msgid "Info…" msgstr "" #: src/debug_menu.cpp @@ -189104,7 +197364,7 @@ msgid "Teleport - adjacent overmap" msgstr "" #: src/debug_menu.cpp -msgid "Teleport..." +msgid "Teleport…" msgstr "" #: src/debug_menu.cpp @@ -189132,7 +197392,7 @@ msgid "Spawn clairvoyance artifact" msgstr "" #: src/debug_menu.cpp -msgid "Spawning..." +msgid "Spawning…" msgstr "" #: src/debug_menu.cpp @@ -189176,8 +197436,8 @@ msgid "Spawn map extra" msgstr "" #: src/debug_menu.cpp -msgid "Map..." -msgstr "Mapa..." +msgid "Map…" +msgstr "" #: src/debug_menu.cpp msgid "Quit to main menu" @@ -189186,8 +197446,8 @@ msgstr "Sair para o menu principal" #: src/debug_menu.cpp msgid "" "Debug Functions - Using these will cheat not only the game, but yourself.\n" -"You won't grow. You won't improve.\n" -"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" +"You won't grow. You won't improve.\n" +"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" "Nothing will be risked and nothing will be gained." msgstr "" @@ -189214,7 +197474,7 @@ msgstr "Onde está o overmap desejado?" msgid "You teleport to overmap (%d,%d,%d)." msgstr "" -#: src/debug_menu.cpp src/iuse.cpp src/npctrade.cpp +#: src/debug_menu.cpp src/game.cpp src/iuse.cpp src/npctrade.cpp msgid "You" msgstr "Você" @@ -189362,6 +197622,10 @@ msgstr "Janela de status [@]" msgid "t[e]leport" msgstr "t[e]leporte" +#: src/debug_menu.cpp +msgid "Give the [f]lu" +msgstr "" + #: src/debug_menu.cpp msgid "Edit [M]issions (WARNING: Unstable!)" msgstr "Editar [M]issões (AVISO: Instável!)" @@ -189400,7 +197664,7 @@ msgstr "Percepção máxima" #: src/debug_menu.cpp #, c-format -msgid "Set the stat to? Currently: %d" +msgid "Set the stat to? Currently: %d" msgstr "" #: src/debug_menu.cpp @@ -189429,12 +197693,12 @@ msgstr "Perna direita" #: src/debug_menu.cpp #, c-format -msgid "Set the hitpoints to? Currently: %d" +msgid "Set the hitpoints to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set stamina to? Current: %d. Max: %d." +msgid "Set stamina to? Current: %d. Max: %d." msgstr "" #: src/debug_menu.cpp @@ -189443,7 +197707,7 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set the morale to? Currently: %d" +msgid "Set the morale to? Currently: %d" msgstr "" #: src/debug_menu.cpp @@ -189468,27 +197732,27 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set trust to? Currently: %d" +msgid "Set trust to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set fear to? Currently: %d" +msgid "Set fear to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set value to? Currently: %d" +msgid "Set value to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set anger to? Currently: %d" +msgid "Set anger to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set owed to? Currently: %d" +msgid "Set owed to? Currently: %d" msgstr "" #: src/debug_menu.cpp @@ -189498,13 +197762,13 @@ msgstr "Renomear:" #: src/debug_menu.cpp #, c-format msgid "" -"NPC: \n" +"NPC:\n" "%s\n" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Cause how much pain? pain: %d" +msgid "Cause how much pain? pain: %d" msgstr "" #: src/debug_menu.cpp @@ -189529,32 +197793,32 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set hunger to? Currently: %d" +msgid "Set hunger to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set stored kCal to? Currently: %d" +msgid "Set stored kCal to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set thirst to? Currently: %d" +msgid "Set thirst to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set fatigue to? Currently: %d" +msgid "Set fatigue to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set sleep deprivation to? Currently: %d" +msgid "Set sleep deprivation to? Currently: %d" msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Set %s to? Currently: %d" +msgid "Set %s to? Currently: %d" msgstr "" #: src/debug_menu.cpp src/panels.cpp @@ -189571,7 +197835,7 @@ msgstr "Radiação" #: src/debug_menu.cpp #, c-format -msgid "Set the value to? Currently: %d" +msgid "Set the value to? Currently: %d" msgstr "" #: src/debug_menu.cpp @@ -189694,7 +197958,7 @@ msgstr "Remova a missão sem a devida limpeza" #: src/debug_menu.cpp #, c-format -msgid "Drew %d times in %.3f seconds. (%.3f fps average)" +msgid "Drew %d times in %.3f seconds. (%.3f fps average)" msgstr "" #: src/debug_menu.cpp @@ -189842,7 +198106,7 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Damage self for how much? hp: %d" +msgid "Damage self for how much? hp: %d" msgstr "" #: src/debug_menu.cpp @@ -189880,8 +198144,8 @@ msgid "Set year to?" msgstr "por sua vez, definir o ano para?" #: src/debug_menu.cpp -msgid "Set season to? (0 = spring)" -msgstr "Definir temporada para? (0 = primavera)" +msgid "Set season to? (0 = spring)" +msgstr "" #: src/debug_menu.cpp msgid "Set days to?" @@ -189897,7 +198161,7 @@ msgstr "Definir minuto para?" #: src/debug_menu.cpp #, c-format -msgid "Set turn to? (One day is %i turns)" +msgid "Set turn to? (One day is %i turns)" msgstr "" #: src/debug_menu.cpp @@ -189906,11 +198170,9 @@ msgstr "Digite o comprimento do benchmark (em milissegundos):" #: src/debug_menu.cpp msgid "" -"Quit without saving? This may cause issues such as duplicated or missing " +"Quit without saving? This may cause issues such as duplicated or missing " "items and vehicles!" msgstr "" -" Saia sem salvar? Isso pode causar problemas, como itens e veículos " -"duplicados ou ausentes!" #: src/debug_menu.cpp #, c-format @@ -189947,10 +198209,12 @@ msgstr "" msgid "Spell" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "LVL" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "MAX" msgstr "" @@ -189975,8 +198239,8 @@ msgid "Please wait as the map generates [ 0%% ]" msgstr "" #: src/defense.cpp -msgid "A caravan approaches! Press spacebar..." -msgstr "Uma caravana se aproxima! Pressione a barra de espaço..." +msgid "A caravan approaches! Press spacebar…" +msgstr "" #: src/defense.cpp msgid "You don't need to sleep!" @@ -190331,8 +198595,8 @@ msgstr "%s do Inferno!" #: src/defense.cpp #, c-format -msgid "Beware! %s!" -msgstr "Cuidado! %s!" +msgid "Beware! %s!" +msgstr "" #: src/defense.cpp #, c-format @@ -190529,7 +198793,7 @@ msgstr "" #: src/editmap.cpp src/game.cpp #, c-format -msgid "There is a %s there. Parts:" +msgid "There is a %s there. Parts:" msgstr "" #: src/editmap.cpp @@ -190774,11 +199038,9 @@ msgstr "Carimbo Mapgen" #: src/effect.cpp msgid "" -"The scariest thing in the world would be... if all the air in the world " -"turned to WOOD!" +"The scariest thing in the world would be… if all the air in the world turned" +" to WOOD!" msgstr "" -" A coisa mais assustadora do mundo seria ... se todo o ar do mundo se " -"transformasse em MADEIRA!" #: src/effect.cpp msgid "" @@ -190796,8 +199058,8 @@ msgid "Science is a liar sometimes." msgstr "A ciência é mentirosa às vezes." #: src/effect.cpp -msgid "Science is... wait, what was I talking about again?" -msgstr "A ciência é ... espere, o que eu estava falando de novo?" +msgid "Science is… wait, what was I talking about again?" +msgstr "" #: src/effect.cpp msgid "" @@ -190820,9 +199082,8 @@ msgid "She was a hip, hip, hip lady, man." msgstr "Ela era uma dama de quadril, quadril e homem." #: src/effect.cpp -msgid "You ever see the back of a twenty dollar bill... on weed?" +msgid "You ever see the back of a twenty dollar bill… on weed?" msgstr "" -" Você já viu a parte de trás de uma nota de vinte dólares ... em maconha?" #: src/effect.cpp msgid "" @@ -190837,17 +199098,16 @@ msgid "RED TEAM GO, RED TEAM GO!" msgstr "RED TEAM GO, RED TEAM GO!" #: src/effect.cpp -msgid "You have a sudden urge to flip your bible open to Genesis 1:29..." +msgid "You have a sudden urge to flip your bible open to Genesis 1:29…" msgstr "" -"Você tem um desejo repentino de abrir sua Bíblia para Gênesis 1:29 ..." #: src/effect.cpp -msgid "That rug really tied the room together..." -msgstr "Esse tapete realmente amarrou o quarto juntos..." +msgid "That rug really tied the room together…" +msgstr "" #: src/effect.cpp -msgid "I used to do drugs... I still do, but I used to, too." -msgstr "Eu costumava usar drogas ... Eu ainda faço, mas eu também." +msgid "I used to do drugs… I still do, but I used to, too." +msgstr "" #: src/effect.cpp msgid "The herb reveals you to yourself." @@ -190855,19 +199115,17 @@ msgstr "A erva revela a você mesmo." #: src/effect.cpp msgid "" -"Okay, like, the scariest thing in the world would be... if like you went to " +"Okay, like, the scariest thing in the world would be… if like you went to " "grab something and it wasn't there!" msgstr "" -" Ok, tipo, a coisa mais assustadora do mundo seria ... se você fosse pegar " -"algo e não estivesse lá!" #: src/effect.cpp msgid "They call them fingers, but I never see them fing." msgstr "Eles chamam de dedos, mas eu nunca os vejo." #: src/effect.cpp -msgid "... oh, there they go." -msgstr "... ai eles vão." +msgid "…oh, there they go." +msgstr "" #: src/effect.cpp msgid "" @@ -190908,8 +199166,8 @@ msgid "Oh, sometimes the early-mid-late-early-morning." msgstr "Oh, às vezes o começo da madrugada." #: src/effect.cpp -msgid "...But never at dusk." -msgstr "... Mas nunca ao anoitecer." +msgid "…But never at dusk." +msgstr "" #: src/effect.cpp msgid "Dave's not here, man." @@ -190920,12 +199178,12 @@ msgid "Man, a cheeseburger sounds SO awesome right now." msgstr "Cara, um cheeseburger soa tão incrível agora." #: src/effect.cpp -msgid "Eh... maybe not." -msgstr "Eh ... talvez não." +msgid "Eh… maybe not." +msgstr "" #: src/effect.cpp -msgid "I guess, maybe, without the cheese... yeah." -msgstr "Eu acho que, talvez, sem o queijo ... sim." +msgid "I guess, maybe, without the cheese… yeah." +msgstr "" #: src/effect.cpp msgid "Walkin' down the hall, by myself, smokin' a j with fifty elves." @@ -191081,6 +199339,10 @@ msgstr "espetacular" msgid "perfect" msgstr "perfeito" +#: src/explosion.cpp +msgid "force of the explosion" +msgstr "" + #: src/explosion.cpp msgid "You're caught in the explosion!" msgstr "Você é pego na explosão!" @@ -191431,21 +199693,21 @@ msgid "Press enter to rename this camp" msgstr "" #: src/faction.cpp -msgid "Direction : to the " +msgid "Direction: to the " msgstr "" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d)" +msgid "Location: (%d, %d)" msgstr "" #: src/faction.cpp #, c-format -msgid "Food Supply : %s %d calories" +msgid "Food Supply: %s %d calories" msgstr "" #: src/faction.cpp -msgid "Next Upgrade : " +msgid "Next Upgrade: " msgstr "" #: src/faction.cpp @@ -191458,25 +199720,25 @@ msgid "Press enter to talk to this follower " msgstr "" #: src/faction.cpp -msgid "travelling to : " +msgid "travelling to: " msgstr "" #: src/faction.cpp #, c-format -msgid "travelling to : (%d, %d)" +msgid "travelling to: (%d, %d)" msgstr "" #: src/faction.cpp -msgid "Current Mission : " +msgid "Current Mission: " msgstr "" #: src/faction.cpp -msgid "Direction : Nearby" +msgid "Direction: Nearby" msgstr "" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d), at camp: %s" +msgid "Location: (%d, %d), at camp: %s" msgstr "" #: src/faction.cpp @@ -191508,8 +199770,8 @@ msgid "Within interaction range" msgstr "" #: src/faction.cpp -msgid "Status : " -msgstr "" +msgid "Status: " +msgstr "Estado:" #: src/faction.cpp msgid "In Combat!" @@ -191532,37 +199794,41 @@ msgid "Guarding" msgstr "" #: src/faction.cpp -msgid "Condition : " +msgid "Basecamp job: " msgstr "" #: src/faction.cpp -msgctxt "needs" -msgid "Nominal" +msgid "Condition: " msgstr "" #: src/faction.cpp -msgid "Hunger : " +msgctxt "needs" +msgid "Nominal" msgstr "" #: src/faction.cpp -msgid "Thirst : " +msgid "Hunger: " msgstr "" #: src/faction.cpp -msgid "Fatigue : " +msgid "Thirst: " msgstr "" #: src/faction.cpp -msgid "Wielding : " +msgid "Fatigue: " msgstr "" +#: src/faction.cpp src/player.cpp +msgid "Wielding: " +msgstr "Segurando:" + #: src/faction.cpp -msgid "Best other skills : " +msgid "Best other skills: " msgstr "" #: src/faction.cpp #, c-format -msgid "Best combat skill : %s : %d" +msgid "Best combat skill: %s: %d" msgstr "" #: src/faction.cpp @@ -191602,23 +199868,31 @@ msgid "Recover Ally from Upgrading" msgstr "Recuperar Aliado da Atualização" #: src/faction_camp.cpp -msgid "Busy crafting!\n" -msgstr "Artesanato ocupado! \n" +msgid "Emergency Recall" +msgstr "" + +#: src/faction_camp.cpp +msgid "Lost in the ether!\n" +msgstr "" #: src/faction_camp.cpp msgid "Craft Item" msgstr "" +#: src/faction_camp.cpp +msgid "Busy crafting!\n" +msgstr "Artesanato ocupado! \n" + #: src/faction_camp.cpp msgid " (Finish) Crafting" msgstr "(Acabamento) Crafting" #: src/faction_camp.cpp -msgid "Busy travelling!\n" +msgid "Travelling" msgstr "" #: src/faction_camp.cpp -msgid "Travelling" +msgid "Busy travelling!\n" msgstr "" #: src/faction_camp.cpp @@ -191654,8 +199928,8 @@ msgid "Menial Labor" msgstr "Trabalho Menial" #: src/faction_camp.cpp -msgid "Performing menial labor...\n" -msgstr "Realizando trabalhos manuais ... \n" +msgid "Performing menial labor…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Menial Laborer" @@ -191666,8 +199940,8 @@ msgid "Expand Base" msgstr "Expand Base" #: src/faction_camp.cpp -msgid "Surveying for expansion...\n" -msgstr "Pesquisando para expansão ... \n" +msgid "Surveying for expansion…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Surveyor" @@ -191678,8 +199952,8 @@ msgid "Cut Logs" msgstr "Logs de corte" #: src/faction_camp.cpp -msgid "Cutting logs in the woods...\n" -msgstr "Cortando troncos na mata ... \n" +msgid "Cutting logs in the woods…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Log Cutter" @@ -191690,21 +199964,21 @@ msgid "Clear a forest" msgstr "Limpar uma floresta" #: src/faction_camp.cpp -msgid "Clearing a forest...\n" -msgstr "Limpando uma floresta ... \n" +msgid "Clearing a forest…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Clearcutter" msgstr "" -#: src/faction_camp.cpp -msgid "Setting up a hide site...\n" -msgstr "Configurando um site de ocultamento ... \n" - #: src/faction_camp.cpp msgid "Setup Hide Site" msgstr "Configuração Esconder Site" +#: src/faction_camp.cpp +msgid "Setting up a hide site…\n" +msgstr "" + #: src/faction_camp.cpp msgid "Recover Hide Setup" msgstr "Recuperar Esconder Configuração" @@ -191714,8 +199988,8 @@ msgid "Relay Hide Site" msgstr "Relay Ocultar Site" #: src/faction_camp.cpp -msgid "Transferring gear to a hide site...\n" -msgstr "Transferindo equipamento para um site de ocultar ... \n" +msgid "Transferring gear to a hide site…\n" +msgstr "" #: src/faction_camp.cpp msgid "Recover Hide Relay" @@ -191762,8 +200036,8 @@ msgid "Construct Map Fortifications" msgstr "Construct Fortifications Mapa" #: src/faction_camp.cpp -msgid "Constructing fortifications...\n" -msgstr "Construindo fortificações ... \n" +msgid "Constructing fortifications…\n" +msgstr "" #: src/faction_camp.cpp msgid "Finish Map Fortifications" @@ -191822,8 +200096,8 @@ msgid " Chop Shop" msgstr "Chop Shop" #: src/faction_camp.cpp -msgid "Working at the chop shop...\n" -msgstr "Trabalhando na loja de costeletas ... \n" +msgid "Working at the chop shop…\n" +msgstr "" #: src/faction_camp.cpp msgid " (Finish) Chop Shop" @@ -191908,16 +200182,13 @@ msgstr "esquerda] \n" #: src/faction_camp.cpp src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "Do you wish to bring your allies back into your party?" msgstr "" -"\n" -" \n" -"Você deseja trazer seus aliados de volta para sua festa?" #: src/faction_camp.cpp -msgid "You choose to wait..." -msgstr "Você escolhe esperar ..." +msgid "You choose to wait…" +msgstr "" #: src/faction_camp.cpp msgid "You cannot build a camp here." @@ -191934,10 +200205,8 @@ msgstr "Você está muito perto de outro acampamento!" #: src/faction_camp.cpp msgid "" "Warning, you have selected a region with the following issues:\n" -" \n" +"\n" msgstr "" -"Atenção, você selecionou uma região com os seguintes problemas: \n" -" \n" #: src/faction_camp.cpp msgid "There are few forests. Wood is your primary construction material.\n" @@ -191956,8 +200225,8 @@ msgstr "" #: src/faction_camp.cpp #, c-format msgid "" -"%s \n" -"Are you sure you wish to continue? " +"%s\n" +"Are you sure you wish to continue?" msgstr "" #: src/faction_camp.cpp @@ -191978,14 +200247,22 @@ msgstr "Gerente do acampamento" msgid "%s has abandoned the camp." msgstr "" +#: src/faction_camp.cpp +msgid " Expansion" +msgstr "Expansão" + +#: src/faction_camp.cpp +msgid "Recover Ally, " +msgstr "Recuperar Aliado" + #: src/faction_camp.cpp #, c-format msgid "" -"Notes: \n" +"Notes:\n" "Send a companion to gather materials for the next camp upgrade.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "%s\n" "Risk: Very Low\n" @@ -191993,56 +200270,19 @@ msgid "" "Positions: %d/3\n" msgstr "" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" -"Effects:\n" -"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" -" \n" -"Must have enjoyability >= -6\n" -"Perishable food liquidated at penalty depending on upgrades and rot time:\n" -"> Rotten: 0%%\n" -"> Rots in < 2 days: 60%%\n" -"> Rots in < 5 days: 80%%\n" -" \n" -"Total faction food stock: %d kcal\n" -"or %d day's rations" -msgstr "" - -#: src/faction_camp.cpp -msgid "Distribute Food" -msgstr "Distribuir comida" - -#: src/faction_camp.cpp -msgid "" -"Notes:\n" -"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" -" \n" -"Effects:\n" -"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" -"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" -"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." -msgstr "" - -#: src/faction_camp.cpp -msgid "Reset Sort Points" -msgstr "Redefinir pontos de classificação" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to gather light brush and heavy sticks.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "> heavy sticks\n" "> withered plants\n" "> splintered wood\n" -" \n" +"\n" "Risk: Very Low\n" "Time: 3 Hours, Repeated\n" "Positions: %d/3\n" @@ -192053,9 +200293,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to do low level chores and sort supplies.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Effects:\n" "> Material left in the unsorted loot zone will be sorted into a defined loot zone.\n" "\n" @@ -192064,31 +200304,14 @@ msgid "" "Positions: %d/1\n" msgstr "" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" -" \n" -"Skill used: N/A \n" -"Effects:\n" -"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal. \n" -" \n" -"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window. \n" -" \n" -"Risk: None\n" -"Time: 3 Hours \n" -"Positions: %d/1\n" -msgstr "" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to a nearby forest to cut logs.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 50%% of trees/trunks at the forest position will be cut down.\n" "> 100%% of total material will be brought back.\n" @@ -192104,15 +200327,15 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to a clear a nearby forest.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 95%% of trees/trunks at the forest position will be cut down.\n" "> 0%% of total material will be brought back.\n" "> Forest should become a field tile.\n" "> Useful for clearing land for another faction camp.\n" -" \n" +"\n" "Risk: None\n" "Time: 6 Hour Base + Travel Time + Cutting Time\n" "Positions: %d/1\n" @@ -192123,14 +200346,14 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to build an improvised shelter and stock it with equipment at a distant map location.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Good for setting up resupply or contingency points.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 6 Hour Construction + Travel\n" "Positions: %d/1\n" @@ -192141,14 +200364,14 @@ msgstr "" msgid "" "Notes:\n" "Push gear out to a hide site or bring gear back from one.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 1\n" "Effects:\n" "> Good for returning equipment you left in the hide site shelter.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward or back.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 1 Hour Base + Travel\n" "Positions: %d/1\n" @@ -192159,9 +200382,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to forage for edible plants.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Foraging Possibilities:\n" "> wild vegetables\n" "> fruits and nuts depending on season\n" @@ -192176,9 +200399,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to set traps for small game.\n" -" \n" +"\n" "Skill used: trapping\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Trapping Possibilities:\n" "> small and tiny animal corpses\n" "May produce less food than consumed!\n" @@ -192192,9 +200415,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to hunt large animals.\n" -" \n" +"\n" "Skill used: marksmanship\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Hunting Possibilities:\n" "> small, medium, or large animal corpses\n" "May produce less food than consumed!\n" @@ -192212,14 +200435,14 @@ msgstr "Construir Trincheira Cravada" msgid "" "Notes:\n" "Send a companion out into the great unknown. High survival skills are needed to avoid combat but you should expect an encounter or two.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Select checkpoints to customize path.\n" "> Reveals terrain around the path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: High\n" "Time: Travel\n" "Positions: %d/3\n" @@ -192230,210 +200453,239 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to purge the wasteland. Their goal is to kill anything hostile they encounter and return when their wounds are too great or the odds are stacked against them.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 4\n" "Effects:\n" "> Pulls creatures encountered into combat instead of fleeing.\n" "> Select checkpoints to customize path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: Very High\n" "Time: Travel\n" "Positions: %d/3\n" msgstr "" -#: src/faction_camp.cpp -msgid " Expansion" -msgstr "Expansão" - -#: src/faction_camp.cpp -msgid "Recover Ally, " -msgstr "Recuperar Aliado" - #: src/faction_camp.cpp msgid "" "Notes:\n" "Have a companion attempt to completely dissemble a vehicle into components.\n" -" \n" +"\n" "Skill used: mechanics\n" "Difficulty: 2 \n" "Effects:\n" "> Removed parts placed on the furniture in the garage.\n" "> Skill plays a huge role to determine what is salvaged.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 days \n" msgstr "" -" Notas: \n" -" Tem uma tentativa complementar de dissimular completamente um veículo em componentes. \n" -" \n" -" Será usado: mecânica \n" -" Dificuldade: 2 \\ nEfeitos: \n" -" > Peças removidas colocadas no móvel da garagem. \n" -" > Habilidade desempenha um grande papel para determinar o que é recuperado. \\ n \n" -" Risco: Nenhum \n" -" Tempo: 5 dias \n" #: src/faction_camp.cpp msgid "" "Notes:\n" "Plow any spaces that have reverted to dirt or grass.\n" -" \n" +"\n" msgstr "" -" Notas: \n" -" Aumente os espaços que foram revertidos para sujeira ou grama. \\ N \n" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: fabrication\n" "Difficulty: N/A \n" "Effects:\n" "> Restores only the plots created in the last expansion upgrade.\n" "> Does not damage existing crops.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 Min / Plot \n" "Positions: 0/1 \n" msgstr "" -" \n" -" Aplicativo usado: fabricação \n" -" Dificuldade: N / A \n" -" Efeitos: \\ n> Restaura somente os gráficos criados na última atualização de expansão. \n" -" > Não danifica as culturas existentes. \n" -" \n" -" Risco: Nenhum \n" -" Hora: 5 min / Plot \n" -" Positions: 0/1 \n" #: src/faction_camp.cpp msgid "" "Notes:\n" "Plant designated seeds in the spaces that have already been tilled.\n" -" \n" +"\n" msgstr "" -" Notas: \n" -" Planta sementes designadas nos espaços que já foram cultivados. \\ N \n" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Choose which seed type or all of your seeds.\n" "> Stops when out of seeds or planting locations.\n" "> Will plant in ALL dirt mounds in the expansion.\n" -" \n" +"\n" "Risk: None\n" "Time: 1 Min / Plot \n" "Positions: 0/1 \n" msgstr "" -" \n" -" Será usado: sobrevivência \n" -" Dificuldade: N / A \n" -" Efeitos: \n" -" > Escolha o tipo de semente ou todas as suas sementes. \n" -" > Pára quando sai de sementes ou locais de plantio. \n" -" > Plantará em TODOS os montes de terra na expansão. \n" -" \n" -" Risco: Nenhum \n" -" Tempo: 1 Min / Plot \\ nPosições: 0/1 \n" #: src/faction_camp.cpp msgid "" "Notes:\n" "Harvest any plants that are ripe and bring the produce back.\n" -" \n" +"\n" msgstr "" -" Notas: \n" -" Combine todas as plantas que estiverem maduras e traga o produto de volta. \n" -" \n" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Will dump all harvesting products onto your location.\n" -" \n" +"\n" "Risk: None\n" "Time: 3 Min / Plot \n" "Positions: 0/1 \n" msgstr "" -" \n" -" A prática usada: sobrevivência \n" -" Dificuldade: N / A \n" -" Efeitos: \\ n> Irá descarregar todos os produtos de colheita na sua localização. \n" -" \n" -" Risco: Nenhum \n" -" Hora: 3 Min / Plot \n" -" Posições: 0/1 \n" #: src/faction_camp.cpp -msgid "departs to search for materials..." -msgstr "parte para procurar materiais ..." +#, c-format +msgid "" +"Notes:\n" +"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" +"\n" +"Skill used: N/A\n" +"Effects:\n" +"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal.\n" +"\n" +"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window.\n" +"\n" +"Risk: None\n" +"Time: 3 Hours\n" +"Positions: %d/1\n" +msgstr "" #: src/faction_camp.cpp -msgid "departs to search for firewood..." -msgstr "parte para procurar lenha ..." +#, c-format +msgid "" +"Notes:\n" +"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" +"Effects:\n" +"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" +"\n" +"Must have enjoyability >= -6\n" +"Perishable food liquidated at penalty depending on upgrades and rot time:\n" +"> Rotten: 0%%\n" +"> Rots in < 2 days: 60%%\n" +"> Rots in < 5 days: 80%%\n" +"\n" +"Total faction food stock: %d kcal\n" +"or %d day's rations" +msgstr "" #: src/faction_camp.cpp -msgid "returns from working in the woods..." -msgstr "retorna de trabalhar na floresta ..." +msgid "Distribute Food" +msgstr "Distribuir comida" #: src/faction_camp.cpp -msgid "returns from working on the hide site..." -msgstr "retorna do trabalho no site de ocultação ..." +msgid "" +"Notes:\n" +"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" +"\n" +"Effects:\n" +"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" +"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" +"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." +msgstr "" #: src/faction_camp.cpp -msgid "returns from shuttling gear between the hide site..." -msgstr "retorna da engrenagem de shuttling entre o site de ocultação ..." +msgid "Reset Sort Points" +msgstr "Redefinir pontos de classificação" #: src/faction_camp.cpp -msgid "departs to search for edible plants..." -msgstr "parte para procurar plantas comestíveis ..." +msgid "" +"Notes:\n" +"Assign repeating job duties to NPCs stationed here.\n" +"Difficulty: N/A\n" +"Effects:\n" +"\n" +"\n" +"Risk: None\n" +"Time: Ongoing" +msgstr "" #: src/faction_camp.cpp -msgid "departs to set traps for small animals..." -msgstr "parte para montar armadilhas para pequenos animais ..." +msgid "Assign Jobs" +msgstr "" #: src/faction_camp.cpp -msgid "departs to hunt for meat..." -msgstr "parte para caçar carne ..." +msgid "" +"Notes:\n" +"Cancel a current mission and force the immediate return of a companion. No work will be done on the mission and all resources used on the mission will be lost.\n" +"\n" +"WARNING: All resources used on the mission will be lost and no work will be done. Only use this mission to recover a companion who cannot otherwise be recovered.\n" +"\n" +"Companions must be on missions for at least 24 hours before emergency recall becomes available." +msgstr "" + +#: src/faction_camp.cpp +msgid "departs to survey land…" +msgstr "" + +#: src/faction_camp.cpp +msgid "departs to search for materials…" +msgstr "" #: src/faction_camp.cpp -msgid "departs to search for recruits..." -msgstr "parte para procurar recrutas ..." +msgid "departs to search for firewood…" +msgstr "" #: src/faction_camp.cpp -msgid "departs to survey land..." -msgstr "parte para pesquisar terra ..." +msgid "returns from working in the woods…" +msgstr "" #: src/faction_camp.cpp -msgid "returns to you with something..." -msgstr "retorna para você com alguma coisa ..." +msgid "returns from working on the hide site…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from your farm with something..." -msgstr "retorna da sua fazenda com alguma coisa ..." +msgid "returns from shuttling gear between the hide site…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from your kitchen with something..." -msgstr "retorna da sua cozinha com alguma coisa ..." +msgid "departs to search for edible plants…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from your blacksmith shop with something..." -msgstr "retorna da sua loja de ferreiro com alguma coisa ..." +msgid "departs to set traps for small animals…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from your garage..." -msgstr "retorna da sua garagem ..." +msgid "departs to hunt for meat…" +msgstr "" + +#: src/faction_camp.cpp +msgid "departs to search for recruits…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns to you with something…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns from your farm with something…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns from your kitchen with something…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns from your blacksmith shop with something…" +msgstr "" + +#: src/faction_camp.cpp +msgid "returns from your garage…" +msgstr "" #: src/faction_camp.cpp msgid "You don't have enough food stored to feed your companion." @@ -192441,13 +200693,30 @@ msgstr "" " Você não tem comida suficiente armazenada para alimentar seu companheiro." #: src/faction_camp.cpp -msgid "begins to upgrade the camp..." -msgstr "começa a atualizar o acampamento ..." +msgid "begins to upgrade the camp…" +msgstr "" #: src/faction_camp.cpp msgid "You don't have the materials for the upgrade." msgstr "Você não tem os materiais para a atualização." +#: src/faction_camp.cpp +msgid "There are no npcs stationed here" +msgstr "" + +#: src/faction_camp.cpp src/npc.cpp +msgid "No particular job" +msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "Press %s to change this workers job." +msgstr "" + +#: src/faction_camp.cpp +msgid "Assign which job?" +msgstr "" + #: src/faction_camp.cpp #, c-format msgid "%s goes off to clean toilets and sort loot." @@ -192465,16 +200734,16 @@ msgid "" msgstr "" #: src/faction_camp.cpp -msgid "departs to cut logs..." -msgstr "parte para cortar troncos ..." +msgid "departs to cut logs…" +msgstr "" #: src/faction_camp.cpp msgid "Forests are the only valid cutting locations." msgstr "As florestas são os únicos locais de corte válidos." #: src/faction_camp.cpp -msgid "departs to clear a forest..." -msgstr "parte para limpar uma floresta ..." +msgid "departs to clear a forest…" +msgstr "" #: src/faction_camp.cpp msgid "Forests, swamps, and fields are valid hide site locations." @@ -192486,13 +200755,12 @@ msgid "Do you wish to give your companion additional items?" msgstr "Deseja dar itens adicionais ao seu companheiro?" #: src/faction_camp.cpp -msgid "departs to build a hide site..." -msgstr "parte para construir um esconderijo ..." +msgid "departs to build a hide site…" +msgstr "" #: src/faction_camp.cpp -msgid "You need equipment to setup a hide site..." +msgid "You need equipment to setup a hide site…" msgstr "" -" Você precisa de um equipamento para configurar um site de ocultação ..." #: src/faction_camp.cpp msgid "You must select an existing hide site." @@ -192503,13 +200771,12 @@ msgid "Bring gear back?" msgstr "Trazer de volta a engrenagem?" #: src/faction_camp.cpp -msgid "departs for the hide site..." -msgstr "parte para o site de ocultação ..." +msgid "departs for the hide site…" +msgstr "" #: src/faction_camp.cpp -msgid "You need equipment to transport between the hide site..." +msgid "You need equipment to transport between the hide site…" msgstr "" -" Você precisa de equipamento para transportar entre o site de ocultação ..." #: src/faction_camp.cpp msgid "" @@ -192538,8 +200805,8 @@ msgid "You don't have the material to build the fortification." msgstr "Você não tem o material para construir a fortificação." #: src/faction_camp.cpp -msgid "begins constructing fortifications..." -msgstr "começa a construir fortificações ..." +msgid "begins constructing fortifications…" +msgstr "" #: src/faction_camp.cpp msgid "" @@ -192550,8 +200817,8 @@ msgstr "" " último ponto novamente para terminar." #: src/faction_camp.cpp -msgid "departs on patrol..." -msgstr "parte em patrulha ..." +msgid "departs on patrol…" +msgstr "" #: src/faction_camp.cpp msgid "You don't have the materials to craft that" @@ -192567,32 +200834,32 @@ msgid "Your batch is too large!" msgstr "Seu lote é muito grande!" #: src/faction_camp.cpp -msgid "begins to work..." -msgstr "começa a funcionar ..." +msgid "begins to work…" +msgstr "" #: src/faction_camp.cpp -msgid "+ more \n" -msgstr "+ mais \n" +msgid "+ more\n" +msgstr "" #: src/faction_camp.cpp -msgid "begins to harvest the field..." -msgstr "começa a colher o campo ..." +msgid "begins to harvest the field…" +msgstr "" #: src/faction_camp.cpp -msgid "You have no additional seeds to give your companions..." -msgstr "Você não tem sementes adicionais para dar aos seus companheiros ..." +msgid "You have no additional seeds to give your companions…" +msgstr "" #: src/faction_camp.cpp src/mission_companion.cpp msgid "Which seeds do you wish to have planted?" msgstr "Quais sementes você deseja plantar?" #: src/faction_camp.cpp -msgid "begins planting the field..." -msgstr "começa a plantar o campo ..." +msgid "begins planting the field…" +msgstr "" #: src/faction_camp.cpp -msgid "begins plowing the field..." -msgstr "começa a arar o campo ..." +msgid "begins plowing the field…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -192602,12 +200869,16 @@ msgid "" msgstr "" #: src/faction_camp.cpp -msgid "begins working in the garage..." -msgstr "começa a trabalhar na garagem ..." +msgid "begins working in the garage…" +msgstr "" + +#: src/faction_camp.cpp +msgid "Your companion seems disappointed that your pantry is empty…" +msgstr "" #: src/faction_camp.cpp -msgid "Your companion seems disappointed that your pantry is empty..." -msgstr "Seu companheiro parece desapontado que sua despensa está vazia ..." +msgid "responds to the emergency recall…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -192615,14 +200886,12 @@ msgid "%s failed to build the %s upgrade." msgstr "" #: src/faction_camp.cpp -msgid "returns from upgrading the camp having earned a bit of experience..." +msgid "returns from upgrading the camp having earned a bit of experience…" msgstr "" -" retorna de atualizar o acampamento, ganhando um pouco de experiência ..." #: src/faction_camp.cpp -msgid "returns from doing the dirty work to keep the camp running..." +msgid "returns from doing the dirty work to keep the camp running…" msgstr "" -" retorna de fazer o trabalho sujo para manter o acampamento funcionando ..." #: src/faction_camp.cpp msgid "gathering materials" @@ -192642,50 +200911,48 @@ msgstr "caçando carne" #: src/faction_camp.cpp #, c-format -msgid "returns from %s carrying supplies and has a bit more experience..." +msgid "returns from %s carrying supplies and has a bit more experience…" msgstr "" #: src/faction_camp.cpp -msgid "returns from constructing fortifications..." -msgstr "retorna da construção de fortificações ..." +msgid "returns from constructing fortifications…" +msgstr "" #: src/faction_camp.cpp -msgid "returns from searching for recruits with a bit more experience..." -msgstr "retorna da busca por recrutas com um pouco mais de experiência ..." +msgid "returns from searching for recruits with a bit more experience…" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s encountered %s..." +msgid "%s encountered %s…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s didn't find anyone to recruit..." +msgid "%s didn't find anyone to recruit…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s convinced %s to hear a recruitment offer from you..." +msgid "%s convinced %s to hear a recruitment offer from you…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested in anything %s had to offer..." +msgid "%s wasn't interested in anything %s had to offer…" msgstr "" #: src/faction_camp.cpp msgid "" "NPC Overview:\n" -" \n" +"\n" msgstr "" -"Visão geral do NPC: \n" -" \n" #: src/faction_camp.cpp #, c-format msgid "" -"Name: %20s\n" -" \n" +"Name: %s\n" +"\n" msgstr "" #: src/faction_camp.cpp @@ -192707,7 +200974,7 @@ msgstr "" #, c-format msgid "" "Perception: %10d\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp @@ -192722,21 +200989,21 @@ msgstr "Perguntando por: \n" #, c-format msgid "" "> Food: %10d days\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp #, c-format msgid "" "Faction Food:%9d days\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp #, c-format msgid "" "Recruit Chance: %10d%%\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp @@ -192760,8 +201027,8 @@ msgid "Not Interested" msgstr "Não interessado" #: src/faction_camp.cpp -msgid "You decide you aren't interested..." -msgstr "Você decide que não está interessado ..." +msgid "You decide you aren't interested…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -192770,29 +201037,26 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested..." +msgid "%s wasn't interested…" msgstr "" #: src/faction_camp.cpp -msgid "Your companion hit a river and didn't know how to swim..." -msgstr "Seu companheiro atingiu um rio e não sabia nadar ..." +msgid "Your companion hit a river and didn't know how to swim…" +msgstr "" #: src/faction_camp.cpp msgid "" -"Your companion hit a river and didn't know how to swim well enough to " -"cross..." +"Your companion hit a river and didn't know how to swim well enough to cross…" msgstr "" -" Seu companheiro atingiu um rio e não sabia nadar bem o suficiente para " -"atravessar ..." #: src/faction_camp.cpp #, c-format -msgid "%s didn't return from patrol..." +msgid "%s didn't return from patrol…" msgstr "" #: src/faction_camp.cpp -msgid "returns from patrol..." -msgstr "retorna da patrulha ..." +msgid "returns from patrol…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -192831,8 +201095,8 @@ msgid "returns from surveying for the expansion." msgstr "retorna do levantamento para a expansão." #: src/faction_camp.cpp -msgid "returns from working your fields... " -msgstr "retorna de trabalhar seus campos ..." +msgid "returns from working your fields…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -192891,24 +201155,24 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid ">Travel: %23s\n" +msgid ">Travel: %s\n" msgstr "" #: src/faction_camp.cpp #, c-format -msgid ">Working: %23s\n" +msgid ">Working: %s\n" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Total: %23s\n" +msgid "Total: %s\n" msgstr "" #: src/faction_camp.cpp #, c-format msgid "" "Food: %15d (kcal)\n" -" \n" +"\n" msgstr "" #: src/faction_camp.cpp @@ -192925,16 +201189,16 @@ msgstr "" msgid "" "Notes:\n" "Recruiting additional followers is very dangerous and expensive. The outcome is heavily dependent on the skill of the companion you send and the appeal of your base.\n" -" \n" +"\n" "Skill used: speech\n" -"Difficulty: 2 \n" +"Difficulty: 2\n" "Base Score: +%3d%%\n" "> Expansion Bonus: +%3d%%\n" "> Faction Bonus: +%3d%%\n" "> Special Bonus: +%3d%%\n" -" \n" +"\n" "Total: Skill +%3d%%\n" -" \n" +"\n" "Risk: High\n" "Time: 4 Days\n" "Positions: %d/1\n" @@ -192954,7 +201218,7 @@ msgstr "Precisa de arar:" #: src/faction_camp.cpp #, c-format -msgid "Name: %25s\n" +msgid "Name: %s\n" msgstr "" #: src/faction_camp.cpp @@ -192963,7 +201227,7 @@ msgstr "---- Motores ---- \n" #: src/faction_camp.cpp #, c-format -msgid "Engine: %25s\n" +msgid "Engine: %s\n" msgstr "" #: src/faction_camp.cpp @@ -192973,7 +201237,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid ">Fuel: %25s\n" +msgid ">Fuel: %s\n" msgstr "" #: src/faction_camp.cpp @@ -192985,12 +201249,12 @@ msgid "Estimated Chop Time: 5 Days\n" msgstr "Tempo de corte estimado: 5 dias \n" #: src/faction_camp.cpp -msgid "You do not have a camp food zone. Aborting..." +msgid "You do not have a camp food zone. Aborting…" msgstr "" #: src/faction_camp.cpp -msgid "No items are located at the drop point..." -msgstr "Nenhum item está localizado no ponto de queda ..." +msgid "No items are located at the drop point…" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -192999,7 +201263,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "While %s, a silent specter approaches %s..." +msgid "While %s, a silent specter approaches %s…" msgstr "" #: src/faction_camp.cpp @@ -193033,7 +201297,7 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "The bull moose charged %s from the tree line..." +msgid "The bull moose charged %s from the tree line…" msgstr "" #: src/faction_camp.cpp @@ -193052,12 +201316,12 @@ msgstr "" #, c-format msgid "" "Terrified, %s spun around and delivered a massive kick to the creature's " -"torso..." +"torso…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Collapsing into a pile of gore, %s walked away unscathed..." +msgid "Collapsing into a pile of gore, %s walked away unscathed…" msgstr "" #: src/faction_camp.cpp @@ -193068,7 +201332,7 @@ msgstr "(Soa como besteira, você se pergunta o que realmente aconteceu.)" #, c-format msgid "" "%s turned to find the hideous black eyes of a giant wasp staring back from " -"only a few feet away..." +"only a few feet away…" msgstr "" #: src/faction_camp.cpp @@ -193081,10 +201345,8 @@ msgid "Pieces of %s were found strewn across a few bushes." msgstr "" #: src/faction_camp.cpp -msgid "(You wonder if your companions are fit to work on their own...)" +msgid "(You wonder if your companions are fit to work on their own…)" msgstr "" -" (Você quer saber se seus companheiros estão aptos para trabalhar por conta " -"própria ...)" #: src/fungal_effects.cpp src/iuse.cpp #, c-format @@ -193118,8 +201380,8 @@ msgid "Loading core data" msgstr "Carregando dados principais" #: src/game.cpp -msgid "Please wait while the world data loads..." -msgstr "Por favor, aguarde enquanto o mundo de dados carrega ..." +msgid "Please wait while the world data loads…" +msgstr "" #: src/game.cpp src/start_location.cpp msgid "Please wait as we build your world" @@ -193155,7 +201417,7 @@ msgstr "Deletar mundo" #: src/game.cpp #, c-format -msgid "World retained. Characters remaining:%s" +msgid "World retained. Characters remaining:%s" msgstr "" #: src/game.cpp @@ -193164,8 +201426,8 @@ msgid "The %s is dangerously close!" msgstr "" #: src/game.cpp -msgid "Wait till you wake up..." -msgstr "Espere até você acordar ..." +msgid "Wait till you wake up…" +msgstr "" #: src/game.cpp #, c-format @@ -193340,8 +201602,8 @@ msgid "You are not wielding a ranged weapon." msgstr "Você não está empunhando uma arma de longo alcance." #: src/game.cpp -msgid "Watch the last moments of your life...?" -msgstr "Assitir seus últimos momentos da sua vida...?" +msgid "Watch the last moments of your life…?" +msgstr "" #: src/game.cpp msgid "Loading files" @@ -193390,19 +201652,15 @@ msgid "Failed to save game data" msgstr "Falha ao salvar dados do jogo" #: src/game.cpp -msgid " You are forgotten among the billions lost in the cataclysm..." -msgstr "Você está esquecido entre os bilhões perdidos no cataclismo ..." +msgid " You are forgotten among the billions lost in the cataclysm…" +msgstr "" #: src/game.cpp msgid "" " Locked in an endless battle, the Old Guard was forced to consolidate " "their resources in a handful of fortified bases along the coast. Without " -"the men or material to rebuild, the soldiers that remained lost all hope..." +"the men or material to rebuild, the soldiers that remained lost all hope…" msgstr "" -" Trancada em uma batalha sem fim, a Velha Guarda foi forçada a consolidar " -"seus recursos em um punhado de bases fortificadas ao longo da costa. Sem os " -"homens ou material para reconstruir, os soldados que permaneceram perderam " -"toda a esperança ..." #: src/game.cpp msgid "" @@ -193412,28 +201670,16 @@ msgid "" "success. Forced to eventually consolidate to large bases, the Old Guard " "left these facilities in the hands of the few survivors that remained. As " "the years past, little materialized from the hopes of rebuilding " -"civilization..." +"civilization…" msgstr "" -" A firmeza dos sobreviventes individuais após o cataclismo impressionou os " -"restos esfarrapados da outrora gloriosa união. Incentivados por pequenos " -"sucessos, várias operações para recuperar as instalações tiveram um sucesso " -"limitado. Forçada a se consolidar em grandes bases, a Velha Guarda deixou " -"estas instalações nas mãos dos poucos sobreviventes que restaram. Como os " -"anos passados, pouco se materializou das esperanças de reconstruir a " -"civilização ..." #: src/game.cpp msgid "" " Life in the refugee shelter deteriorated as food shortages and disease " "destroyed any hope of maintaining a civilized enclave. The merchants and " "craftsmen dispersed to found new colonies but most became victims of " -"marauding bandits. Those who survived never found a place to call home..." +"marauding bandits. Those who survived never found a place to call home…" msgstr "" -" A vida no abrigo de refugiados deteriorou-se à medida que a escassez de " -"alimentos e doenças destruíam qualquer esperança de manter um enclave " -"civilizado. Os mercadores e artesãos se dispersaram para fundar novas " -"colônias, mas a maioria se tornou vítima de bandidos saqueadores. Aqueles " -"que sobreviveram nunca encontraram um lugar para chamar de lar ..." #: src/game.cpp msgid "" @@ -193441,13 +201687,8 @@ msgid "" "once profitable trade routes were plundered by bandits and thugs. In " "squalor and filth the first generations born after the cataclysm are told " "stories of the old days when food was abundant and the children were allowed" -" to play in the sun..." +" to play in the sun…" msgstr "" -" Os mercadores livres lutaram durante anos para se manterem alimentados, mas" -" suas rotas comerciais antes lucrativas foram saqueadas por bandidos e " -"bandidos. Na miséria e sujeira as primeiras gerações nascidas após o " -"cataclismo são contadas histórias dos velhos tempos, quando a comida era " -"abundante e as crianças foram autorizados a jogar no sol ..." #: src/game.cpp msgid "" @@ -193482,13 +201723,8 @@ msgid "" " The lone bands of survivors who wandered the now alien world dwindled in" " number through the years. Unable to compete with the growing number of " "monstrosities that had adapted to live in their world, those who did survive" -" lived in dejected poverty and hopelessness..." +" lived in dejected poverty and hopelessness…" msgstr "" -" Os bandos solitários de sobreviventes que vagavam pelo mundo agora " -"alienígena diminuíram em número ao longo dos anos. Incapazes de competir com" -" o crescente número de monstruosidades que se adaptaram para viver em seu " -"mundo, aqueles que sobreviveram viveram em pobreza e desespero desalentados " -"..." #: src/game.cpp msgid "" @@ -193497,15 +201733,8 @@ msgid "" "old world. Enormous hordes made cities impossible to enter while new " "eldritch horrors appeared mysteriously near old research labs. But on the " "fringes of where civilization once ended, bands of hunter-gatherers began to" -" adopt agrarian lifestyles in fortified enclaves..." +" adopt agrarian lifestyles in fortified enclaves…" msgstr "" -" Os catadores que floresceram nos primeiros dias do cataclismo encontraram " -"um desafio cada vez maior em encontrar e manter equipamentos do velho mundo." -" Hordas enormes tornavam as cidades impossíveis de entrar enquanto novos " -"horrores misteriosos apareciam misteriosamente perto de velhos laboratórios " -"de pesquisa. Mas nas franjas de onde a civilização uma vez acabou, bandos de" -" caçadores-coletores começaram a adotar estilos de vida agrários em enclaves" -" fortificados ..." #: src/game.cpp msgid "" @@ -193530,16 +201759,8 @@ msgid "" "brought the warlords abundant territory and slaves but little in the way of " "stability. Within weeks, infighting led to civil war as tribes vied for " "leadership of the faction. When only one warlord finally secured control, " -"there was nothing left to fight for... just endless cities full of the dead." +"there was nothing left to fight for… just endless cities full of the dead." msgstr "" -" Alimentados por drogas e raiva, os Hell's Raiders lutaram com unhas e " -"dentes para derrubar as últimas fortalezas da velha guarda. As vitórias " -"dispendiosas trouxeram aos senhores da guerra território e escravos " -"abundantes, mas pouco em termos de estabilidade. Em poucas semanas, as " -"brigas internas levaram à guerra civil, enquanto as tribos disputavam a " -"liderança da facção. Quando apenas um senhor da guerra finalmente conseguiu " -"o controle, não havia mais nada para lutar ... apenas cidades intermináveis " -"cheias de mortos." #: src/game.cpp #, c-format @@ -193717,13 +201938,6 @@ msgid "" "increased by %s." msgstr "" -#: src/game.cpp -#, c-format -msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " -"anyway?" -msgstr "" - #: src/game.cpp msgid "Successfully removed Personality override." msgstr "" @@ -193866,8 +202080,8 @@ msgid "Never mind" msgstr "Esqueça" #: src/game.cpp src/npctalk.cpp -msgid "You may be attacked! Proceed?" -msgstr "Você pode ser atacado! Proceder?" +msgid "You may be attacked! Proceed?" +msgstr "" #: src/game.cpp msgid "Examine where?" @@ -194056,12 +202270,12 @@ msgid "There's something there, but you can't see what it is." msgstr "Há algo lá, mas você não pode ver o que é." #: src/game.cpp -msgid "More items here..." -msgstr "Mais itens aqui ..." +msgid "More items here…" +msgstr "" #: src/game.cpp #, c-format -msgctxt "%s is the name of the item. %d is the quantity of that item." +msgctxt "%s is the name of the item. %d is the quantity of that item." msgid "%s [%d]" msgstr "" @@ -194391,8 +202605,8 @@ msgstr "" #: src/game.cpp #, c-format -msgid "You see %s nearby! Start butchering anyway?" -msgstr "Você vê %s perto! Fazer desossa mesmo assim?" +msgid "You see %s nearby! Start butchering anyway?" +msgstr "" #: src/game.cpp msgid "Choose corpse to butcher / item to disassemble" @@ -194432,7 +202646,7 @@ msgstr "" #: src/game.cpp src/iuse.cpp src/iuse.cpp src/iuse.cpp src/veh_interact.cpp #: src/veh_interact.cpp #, c-format -msgid "%s helps with this task..." +msgid "%s helps with this task…" msgstr "" #: src/game.cpp @@ -194492,7 +202706,7 @@ msgstr "" msgid "The %s is already full!" msgstr "" -#: src/game.cpp +#: src/game.cpp src/ranged.cpp #, c-format msgid "You can't reload a %s!" msgstr "" @@ -194517,13 +202731,6 @@ msgstr "Você não tem nada para descarregar." msgid "You're not wielding anything." msgstr "Você não está empunhando nada." -#. ~ %1$s: weapon name, %2$s: holster name -#: src/game.cpp src/player.cpp -#, c-format -msgctxt "holster" -msgid "Draw %1$s from %2$s?" -msgstr "" - #: src/game.cpp #, c-format msgid "There's an angry red dot on your body, %s to brush it off." @@ -194546,7 +202753,7 @@ msgstr "" #: src/game.cpp #, c-format msgid "" -"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " +"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " "monster%4$s)" msgstr "" @@ -194587,8 +202794,12 @@ msgstr "Realmente pisar em %s?" msgid "Your %s refuses to move over that ledge!" msgstr "" -#: src/game.cpp src/player.cpp src/player.cpp -msgid "You let go of the grabbed object." +#: src/game.cpp +msgid "You can't fit there." +msgstr "" + +#: src/game.cpp +msgid "Your mount can't fit there." msgstr "" #: src/game.cpp @@ -194747,13 +202958,15 @@ msgid "" "There are vehicle controls here but you cannot reach them whilst mounted." msgstr "" +#: src/game.cpp +msgid "You are repelled by the barrier!" +msgstr "" + #: src/game.cpp msgid "" -"You try to quantum tunnel through the barrier but are reflected! Try again " +"You try to quantum tunnel through the barrier but are reflected! Try again " "with more energy!" msgstr "" -" Você tenta o túnel quântico através da barreira, mas são refletidos! Tente " -"novamente com mais energia!" #: src/game.cpp msgid "It's too dangerous to tunnel that far!" @@ -194782,6 +202995,16 @@ msgstr "" msgid "There's stuff in the way." msgstr "Tem coisas no caminho." +#: src/game.cpp +#, c-format +msgid "The %s is really heavy!" +msgstr "" + +#: src/game.cpp +#, c-format +msgid "You fail to move the %s." +msgstr "" + #: src/game.cpp #, c-format msgid "The %s is too heavy for you to budge." @@ -194836,7 +203059,7 @@ msgstr "" #: src/game.cpp #, c-format -msgid "You try to use the stairs. Suddenly you are blocked by a %s!" +msgid "You try to use the stairs. Suddenly you are blocked by a %s!" msgstr "" #: src/game.cpp @@ -194942,8 +203165,8 @@ msgid "Halfway down, the way down becomes blocked off." msgstr "Na metade do caminho, o caminho para baixo fica bloqueado." #: src/game.cpp -msgid "There is a sheer drop halfway down. Web-descend?" -msgstr "Há uma queda completa até a metade. Descer na web?" +msgid "There is a sheer drop halfway down. Web-descend?" +msgstr "" #: src/game.cpp msgid "" @@ -194962,8 +203185,8 @@ msgid "There is a sheer drop halfway down. Use your vines to descend?" msgstr "Há uma queda completa até a metade. Use suas vinhas para descer?" #: src/game.cpp -msgid "Detach a vine? It'll hurt, but you'll be able to climb back up..." -msgstr "Separar uma videira? Vai doer, mas você poderá subir de volta ..." +msgid "Detach a vine? It'll hurt, but you'll be able to climb back up…" +msgstr "" #: src/game.cpp msgid "You descend on your vines, though leaving a part of you behind stings." @@ -194982,12 +203205,12 @@ msgstr "" " Você se abaixa sem esforço e deixa uma videira enraizada para uso futuro." #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your grappling hook down?" -msgstr "Há uma queda completa até a metade. Suba o seu gancho para baixo?" +msgid "There is a sheer drop halfway down. Climb your grappling hook down?" +msgstr "" #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your rope down?" -msgstr "Há uma queda completa até a metade. Suba a corda?" +msgid "There is a sheer drop halfway down. Climb your rope down?" +msgstr "" #: src/game.cpp msgid "There is a sheer drop halfway down. Jump?" @@ -195048,7 +203271,7 @@ msgstr "" #: src/game.cpp #, c-format -msgid "The %s tried to push you back but failed! It attacks you!" +msgid "The %s tried to push you back but failed! It attacks you!" msgstr "" #: src/game.cpp @@ -195077,24 +203300,24 @@ msgstr "" #: src/game.cpp #, c-format msgid "" -"Whoa! Your terminal is tiny! This game requires a minimum terminal size of " -"%dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " +"Whoa! Your terminal is tiny! This game requires a minimum terminal size of" +" %dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " "help?" msgstr "" #: src/game.cpp #, c-format msgid "" -"Oh! Hey, look at that. Your terminal is just a little too narrow. This game " -"requires a minimum terminal size of %dx%d to function. It just won't work " -"with only %dx%d. Can you stretch it out sideways a bit?" +"Oh! Hey, look at that. Your terminal is just a little too narrow. This " +"game requires a minimum terminal size of %dx%d to function. It just won't " +"work with only %dx%d. Can you stretch it out sideways a bit?" msgstr "" #: src/game.cpp #, c-format msgid "" -"Woah, woah, we're just a little short on space here. The game requires a " -"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " +"Woah, woah, we're just a little short on space here. The game requires a " +"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " "make the terminal just a smidgen taller?" msgstr "" @@ -195182,8 +203405,8 @@ msgid "You feel thirsty." msgstr "Você sente sede." #: src/game.cpp -msgid "You feel an evil presence..." -msgstr "Você sente uma presença maligna ..." +msgid "You feel an evil presence…" +msgstr "" #: src/game.cpp msgid "You feel a tickle of insanity." @@ -195198,8 +203421,8 @@ msgid "You feel your genetic makeup degrading." msgstr "Você sente sua composição genética se degradando." #: src/game.cpp -msgid "You feel an otherworldly attention upon you..." -msgstr "Você sente uma atenção sobrenatural sobre você ..." +msgid "You feel an otherworldly attention upon you…" +msgstr "" #: src/game.cpp msgid "You feel a force pulling you inwards." @@ -195243,7 +203466,7 @@ msgstr "" #: src/game.cpp #, c-format -msgid "Speed %s%d! " +msgid "Speed %s%d!" msgstr "" #: src/game_inventory.cpp @@ -195373,6 +203596,16 @@ msgstr "indefinido" msgid "SHELF LIFE" msgstr "VALIDADE" +#. ~ Eat menu Volume: +#: src/game_inventory.cpp +#, c-format +msgid "%.2f%s" +msgstr "" + +#: src/game_inventory.cpp +msgid "VOLUME" +msgstr "" + #: src/game_inventory.cpp msgid "FRESHNESS" msgstr "FRESCURA" @@ -195381,10 +203614,6 @@ msgstr "FRESCURA" msgid "SPOILS IN" msgstr "SPOILS EM" -#: src/game_inventory.cpp -msgid "Battery" -msgstr "Bateria" - #: src/game_inventory.cpp msgid "Reactor" msgstr "Reator" @@ -195405,9 +203634,9 @@ msgstr "ENERGIA" msgid "Can't drink spilt liquids" msgstr "Não pode beber líquidos derramados" -#: src/game_inventory.cpp -msgid "You're fully charged" -msgstr "Você está totalmente carregado" +#: src/game_inventory.cpp src/iuse_actor.cpp +msgid "Your biology is not compatible with that item." +msgstr "" #: src/game_inventory.cpp #, c-format @@ -195684,8 +203913,8 @@ msgstr "Não há itens para comparar." #: src/game_inventory.cpp msgid "" -"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE to" -" cancel." +"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE " +"to cancel." msgstr "" #: src/game_inventory.cpp @@ -195715,11 +203944,6 @@ msgstr "" msgid "Available anesthetic: %i mL" msgstr "" -#: src/game_inventory.cpp -#, c-format -msgid "Money available: %s" -msgstr "" - #: src/game_inventory.cpp #, c-format msgid "Bionic removal patient: %s" @@ -195762,6 +203986,10 @@ msgstr "" msgid "CBM already installed" msgstr "" +#: src/game_inventory.cpp +msgid "CBM not compatible with patient's body." +msgstr "" + #: src/game_inventory.cpp msgid "No base version installed" msgstr "" @@ -195774,6 +204002,10 @@ msgstr "" msgid "CBM not compatible with patient" msgstr "" +#: src/game_inventory.cpp src/iuse_actor.cpp +msgid "Max power capacity already reached" +msgstr "" + #: src/game_inventory.cpp #, c-format msgid "%i mL" @@ -195837,6 +204069,14 @@ msgstr "ÁGUA NECESSÁRIA" msgid "CBM is filthy. Wash it first." msgstr "" +#: src/game_inventory.cpp +msgid "You should put this CBM in an autoclave pouch to keep it sterile." +msgstr "" + +#: src/game_inventory.cpp +msgid "You need at least 2L of water." +msgstr "" + #: src/game_inventory.cpp msgid "Sterilization" msgstr "Esterilização" @@ -195949,7 +204189,7 @@ msgstr "" #: src/handle_action.cpp #, c-format -msgid "Press %s to accept your fate..." +msgid "Press %s to accept your fate…" msgstr "" #: src/handle_action.cpp @@ -195962,17 +204202,16 @@ msgstr "som de uma colisão com um obstáculo." #. ~ Sound of moving a remote controlled car #: src/handle_action.cpp -msgid "zzz..." -msgstr "zzz ..." +msgid "zzz…" +msgstr "" #: src/handle_action.cpp -msgid "You can't drive the vehicle from here. You need controls!" -msgstr "Você não pode dirigir o veículo daqui. Você precisa de controles!" +msgid "You can't drive the vehicle from here. You need controls!" +msgstr "" #: src/handle_action.cpp -msgid "Can't drive this vehicle remotely. It has no working controls." +msgid "Can't drive this vehicle remotely. It has no working controls." msgstr "" -" Não pode dirigir este veículo remotamente. Não tem controles de trabalho." #: src/handle_action.cpp msgid "Open where?" @@ -196080,11 +204319,11 @@ msgid "There's nothing there to smash!" msgstr "Não tem nada para esmagar aqui!" #: src/handle_action.cpp -msgid "You already have an alarm set. What do you want to do?" +msgid "You already have an alarm set. What do you want to do?" msgstr "" #: src/handle_action.cpp -msgid "You have an alarm clock. What do you want to do?" +msgid "You have an alarm clock. What do you want to do?" msgstr "" #: src/handle_action.cpp @@ -196207,15 +204446,13 @@ msgstr "Você pode querer desativá-los antes de dormir." #: src/handle_action.cpp msgid "" -"You're engorged to hibernate. The alarm would only attract attention. Set an" -" alarm anyway?" +"You're engorged to hibernate. The alarm would only attract attention. Set " +"an alarm anyway?" msgstr "" -" Você está ingurgitado de hibernar. O alarme só atrairia atenção. Definir um" -" alarme de qualquer maneira?" #: src/handle_action.cpp -msgid "You have an alarm clock. Set an alarm?" -msgstr "Você tem um despertador. Definir um alarme?" +msgid "You have an alarm clock. Set an alarm?" +msgstr "" #: src/handle_action.cpp msgid "No, don't set an alarm." @@ -196246,54 +204483,47 @@ msgstr "Ordenar meu saque" #: src/handle_action.cpp msgid "" "Sorts out the loot from Loot: Unsorted zone to nearby appropriate Loot " -"zones. Uses empty space in your inventory or utilizes a cart, if you are " +"zones. Uses empty space in your inventory or utilizes a cart, if you are " "holding one." msgstr "" -" Ordena o saque de Saque: Zona não classificada para zonas de saque " -"apropriadas próximas. Usa o espaço vazio em seu inventário ou utiliza um " -"carrinho, se você estiver segurando um." #: src/handle_action.cpp msgid "Till farm plots" msgstr "Para terrenos agrícolas" #: src/handle_action.cpp -msgid "Till farm plots... you need a tool to dig with" +msgid "Till farm plots… you need a tool to dig with" msgstr "" -" Até as parcelas de fazenda ... você precisa de uma ferramenta para escavar" #: src/handle_action.cpp msgid "Tills nearby Farm: Plot zones." msgstr "Para Farm nas proximidades: zonas de plotagem." #: src/handle_action.cpp -msgid "Plant seeds... it is too cold for planting" -msgstr "Plante sementes ... está muito frio para plantar" +msgid "Plant seeds… it is too cold for planting" +msgstr "" #: src/handle_action.cpp msgid "Plant seeds" msgstr "Sementes de plantas" #: src/handle_action.cpp -msgid "Plant seeds... you don't have any" -msgstr "Plante sementes ... você não tem nenhum" +msgid "Plant seeds… you don't have any" +msgstr "" #: src/handle_action.cpp msgid "" -"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " +"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " "specific plant seed and you must have seeds in your inventory." msgstr "" -" Plantar sementes na Fazenda vizinha: zonas de plotagem. O terreno da " -"fazenda deve ser definido para sementes de plantas específicas e você deve " -"ter sementes em seu inventário." #: src/handle_action.cpp msgid "Fertilize plots" msgstr "Adubar parcelas" #: src/handle_action.cpp -msgid "Fertilize plots... you don't have any fertilizer" -msgstr "Adubar parcelas ... você não tem nenhum fertilizante" +msgid "Fertilize plots… you don't have any fertilizer" +msgstr "" #: src/handle_action.cpp msgid "Fertilize any nearby Farm: Plot zones." @@ -196304,25 +204534,63 @@ msgid "Harvest plots" msgstr "Parcelas de Colheita" #: src/handle_action.cpp -msgid "Harvest any full-grown plants from nearby Farm: Plot zones" +msgid "Harvest any full-grown plants from nearby Farm: Plot zones." msgstr "" -" Colher quaisquer plantas adultas da Fazenda nas proximidades: Zonas de " -"plotagem" #: src/handle_action.cpp -msgid "Construct Plots" +msgid "Construct plots" msgstr "" #: src/handle_action.cpp -msgid "Work on any nearby Blueprint: construction zones" +msgid "Work on any nearby Blueprint: construction zones." msgstr "" #: src/handle_action.cpp -msgid "Farm Plots" +msgid "Farm plots" msgstr "" #: src/handle_action.cpp -msgid "till and plant on any nearby farm plots - auto-fetch seeds and tools" +msgid "Till and plant on any nearby farm plots - auto-fetch seeds and tools." +msgstr "" + +#: src/handle_action.cpp +msgid "Chop trees" +msgstr "" + +#: src/handle_action.cpp +msgid "Chop down any trees in the designated zone - auto-fetch tools." +msgstr "" + +#: src/handle_action.cpp +msgid "Chop planks" +msgstr "" + +#: src/handle_action.cpp +msgid "Auto-chop logs in wood loot zones into planks - auto-fetch tools." +msgstr "" + +#: src/handle_action.cpp +msgid "Deconstruct vehicle" +msgstr "" + +#: src/handle_action.cpp +msgid "Auto-deconstruct vehicle in designated zone - auto-fetch tools." +msgstr "" + +#: src/handle_action.cpp +msgid "Repair vehicle" +msgstr "" + +#: src/handle_action.cpp +msgid "Auto-repair vehicle in designated zone - auto-fetch tools." +msgstr "" + +#: src/handle_action.cpp +msgid "Butcher corpses" +msgstr "" + +#: src/handle_action.cpp +msgid "Auto-butcher anything in corpse loot zones - auto-fetch tools." msgstr "" #: src/handle_action.cpp @@ -196549,6 +204817,10 @@ msgstr "A nova ligação padrão é '^'." msgid "You can't operate a vehicle while you're in your shell." msgstr "Você não pode operar um veículo enquanto estiver na sua concha." +#: src/handle_action.cpp +msgid "You refuse to take control of this vehicle." +msgstr "" + #: src/handle_action.cpp msgid "Auto travel mode OFF!" msgstr "" @@ -196562,8 +204834,8 @@ msgid "Safe mode OFF!" msgstr "Modo de segurança OFF!" #: src/handle_action.cpp -msgid "Safe mode OFF! (Auto safe mode still enabled!)" -msgstr "Modo de segurança OFF! (Modo de segurança automática ainda ativado!)" +msgid "Safe mode OFF! (Auto safe mode still enabled!)" +msgstr "" #: src/handle_action.cpp msgid "Auto safe mode OFF!" @@ -196787,7 +205059,7 @@ msgstr "" #: src/iexamine.cpp #, c-format msgid "" -"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" +"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" "Your current balance is: %s" msgstr "" @@ -196838,9 +205110,9 @@ msgid "Your account now holds %s." msgstr "" #: src/iexamine.cpp -msgid "This will automatically deduct $1.00 from your bank account. Continue?" +msgid "" +"This will automatically deduct $1.00 from your bank account. Continue?" msgstr "" -" Isso irá deduzir automaticamente $ 1,00 da sua conta bancária. Continuar?" #: src/iexamine.cpp msgid "You can only deposit money from charged cash cards!" @@ -196848,8 +205120,8 @@ msgstr "Você só pode depositar dinheiro a partir de cartões em dinheiro!" #: src/iexamine.cpp #, c-format -msgid "Deposit how much? Max: %d cent. (0 to cancel) " -msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " +msgid "Deposit how much? Max: %d cent. (0 to cancel) " +msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " msgstr[0] "" msgstr[1] "" @@ -196859,8 +205131,8 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "Withdraw how much? Max: %d cent. (0 to cancel) " -msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " +msgid "Withdraw how much? Max: %d cent. (0 to cancel) " +msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " msgstr[0] "" msgstr[1] "" @@ -196956,8 +205228,8 @@ msgid "No one responds." msgstr "" #: src/iexamine.cpp -msgid "If only you had a shovel..." -msgstr "Se você tivesse uma pá ..." +msgid "If only you had a shovel…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -197057,16 +205329,16 @@ msgid "Insert $10?" msgstr "Insira $ 10?" #: src/iexamine.cpp -msgid "Three cherries... you get your money back!" -msgstr "Três cerejas ... você recebe seu dinheiro de volta!" +msgid "Three cherries… you get your money back!" +msgstr "" #: src/iexamine.cpp -msgid "Three bells... you win $50!" -msgstr "Três sinos ... você ganha $ 50!" +msgid "Three bells… you win $50!" +msgstr "" #: src/iexamine.cpp -msgid "Three stars... you win $200!" -msgstr "Três estrelas ... você ganha $ 200!" +msgid "Three stars… you win $200!" +msgstr "" #: src/iexamine.cpp msgid "JACKPOT! You win $3000!" @@ -197081,8 +205353,8 @@ msgid "Play again?" msgstr "Jogar de novo?" #: src/iexamine.cpp -msgid "You mess with the dial for a little bit... and it opens!" -msgstr "Você mexer com o mostrador um pouco ... e abre!" +msgid "You mess with the dial for a little bit… and it opens!" +msgstr "" #: src/iexamine.cpp msgid "You mess with the dial for a little bit." @@ -197121,12 +205393,24 @@ msgid "The gun safe stumps your efforts to pick it." msgstr "A arma segura seus esforços para pegá-lo." #: src/iexamine.cpp -msgid "If only you had something to pry with..." -msgstr "Se você tivesse algo para se intrometer ..." +#, c-format +msgid "The %s is locked. If only you had something to pry it with…" +msgstr "" +#. ~ %1$s: terrain/furniture name, %2$s: prying tool name #: src/iexamine.cpp #, c-format -msgid "You attempt to pry open the %s using your %s..." +msgid "You attempt to pry open the %1$s using your %2$s…" +msgstr "" + +#: src/iexamine.cpp +#, c-format +msgid "The %s is locked. If only you had something to pick its lock with…" +msgstr "" + +#: src/iexamine.cpp +#, c-format +msgid "You attempt to pick lock of %1$s using your %2$s…" msgstr "" #: src/iexamine.cpp @@ -197140,15 +205424,15 @@ msgid "" "shape, but with long, twisted, distended limbs." msgstr "" " Esta parede é perfeitamente vertical. Buracos estranhos e distorcidos são colocados nele, levando \n" -" as para trás na rocha sólida como você pode ver. Os buracos são humanóides em forma, mas com membros longos, torcidos e distendidos.\n" +" as para trás na rocha sólida como você pode ver. Os buracos são humanóides em forma, mas com membros longos, torcidos e distendidos." #: src/iexamine.cpp -msgid "The pedestal sinks into the ground..." -msgstr "O pedestal afunda no chão ..." +msgid "The pedestal sinks into the ground…" +msgstr "" #: src/iexamine.cpp -msgid "an ominous grinding noise..." -msgstr "um ruído de moagem sinistro ..." +msgid "an ominous grinding noise…" +msgstr "" #: src/iexamine.cpp msgid "Place your petrified eye on the pedestal?" @@ -197196,12 +205480,12 @@ msgid "You hear the rumble of rock shifting." msgstr "Você ouve o barulho da rocha mudando." #: src/iexamine.cpp -msgid "This flower is dead. You can't get it." -msgstr "Esta flor está morta. Você não pode conseguir." +msgid "This flower is dead. You can't get it." +msgstr "" #: src/iexamine.cpp -msgid "This plant is dead. You can't get it." -msgstr "Esta planta está morta. Você não pode conseguir." +msgid "This plant is dead. You can't get it." +msgstr "" #: src/iexamine.cpp msgid "You drink some nectar." @@ -197236,8 +205520,8 @@ msgid "This flower has a heady aroma." msgstr "Esta flor tem um aroma inebriante." #: src/iexamine.cpp -msgid "You fall asleep..." -msgstr "Você adormece ..." +msgid "You fall asleep…" +msgstr "" #: src/iexamine.cpp msgid "Your legs are covered in the poppy's roots!" @@ -197249,7 +205533,7 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" +msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" msgstr "" #: src/iexamine.cpp @@ -197265,8 +205549,8 @@ msgid "Nothing can be harvested from this plant in current season" msgstr "Nada pode ser colhido desta planta na temporada atual" #: src/iexamine.cpp -msgid "This flower is still alive, despite the harsh conditions..." -msgstr "Esta flor ainda está viva, apesar das duras condições ..." +msgid "This flower is still alive, despite the harsh conditions…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -197274,8 +205558,8 @@ msgid "You feel out of place as you explore the %s. Drink?" msgstr "" #: src/iexamine.cpp -msgid "This flower tastes very wrong..." -msgstr "Esta flor tem um gosto muito errado ..." +msgid "This flower tastes very wrong…" +msgstr "" #: src/iexamine.cpp #, c-format @@ -197316,8 +205600,8 @@ msgid "You have no seeds to plant." msgstr "Você não tem sementes para plantar." #: src/iexamine.cpp -msgid "Something's lying there..." -msgstr "Algo está ali ..." +msgid "Something's lying there…" +msgstr "" #: src/iexamine.cpp src/mission_companion.cpp msgid "You saved your seeds for later." @@ -197338,8 +205622,8 @@ msgstr "" "mundo." #: src/iexamine.cpp -msgid "The seed blossoms rather rapidly..." -msgstr "A semente floresce rapidamente ..." +msgid "The seed blossoms rather rapidly…" +msgstr "" #: src/iexamine.cpp msgid "The seed blossoms into a flower-looking fungus." @@ -197397,8 +205681,8 @@ msgid "This kiln contains %s, which can't be made into charcoal!" msgstr "" #: src/iexamine.cpp -msgid "This kiln is empty. Fill it with wood or bone and try again." -msgstr "Este forno está vazio. Encha-o com madeira ou osso e tente novamente." +msgid "This kiln is empty. Fill it with wood or bone and try again." +msgstr "" #: src/iexamine.cpp msgid "The batch in this kiln is too small to yield any charcoal." @@ -197423,8 +205707,8 @@ msgid "You fire the charcoal kiln." msgstr "Você atira no forno a carvão." #: src/iexamine.cpp -msgid "This kiln is empty..." -msgstr "Este forno está vazio ..." +msgid "This kiln is empty…" +msgstr "" #: src/iexamine.cpp msgid "There's a charcoal kiln there." @@ -197466,7 +205750,7 @@ msgstr "" #: src/iexamine.cpp msgid "" -"This furance is empty. Fill it with powdered coke and lime mix, and try " +"This furance is empty. Fill it with powdered coke and lime mix, and try " "again." msgstr "" @@ -197495,7 +205779,7 @@ msgid "You turn on the furnace." msgstr "" #: src/iexamine.cpp -msgid "This furnace is empty..." +msgid "This furnace is empty…" msgstr "" #: src/iexamine.cpp @@ -197508,7 +205792,7 @@ msgid "It has finished burning, yielding %d calcium carbide." msgstr "" #: src/iexamine.cpp -msgid "This autoclave is empty..." +msgid "This autoclave is empty…" msgstr "" #: src/iexamine.cpp @@ -197567,7 +205851,7 @@ msgid "Start a fire" msgstr "" #: src/iexamine.cpp -msgid "Start a fire... you'll need a fire source." +msgid "Start a fire… you'll need a fire source." msgstr "" #: src/iexamine.cpp @@ -197589,13 +205873,17 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "You attempt to start a fire with your %s..." +msgid "You attempt to start a fire with your %s…" msgstr "" #: src/iexamine.cpp msgid "You weren't able to start a fire." msgstr "" +#: src/iexamine.cpp +msgid "You can't light a fire there." +msgstr "Você não pode acender um fogo lá." + #: src/iexamine.cpp #, c-format msgid "Really take down the %s while it's on fire?" @@ -197769,12 +206057,12 @@ msgid "The %s is full." msgstr "" #: src/iexamine.cpp -msgid "You have no tool to dig with..." -msgstr "Você não tem ferramenta para cavar com ..." +msgid "You have no tool to dig with…" +msgstr "" #: src/iexamine.cpp #, c-format -msgid "Dig up %s? This kills the tree!" +msgid "Dig up %s? This kills the tree!" msgstr "" #: src/iexamine.cpp @@ -197800,8 +206088,8 @@ msgid "You need a %s to tap this maple tree." msgstr "" #: src/iexamine.cpp -msgid "No container added. The sap will just spill on the ground." -msgstr "Nenhum contêiner adicionado. A seiva só vai derramar no chão." +msgid "No container added. The sap will just spill on the ground." +msgstr "" #: src/iexamine.cpp msgid "Remove tap" @@ -197938,12 +206226,12 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "That %s looks too dangerous to mess with. Best leave it alone." +msgid "That %s looks too dangerous to mess with. Best leave it alone." msgstr "" #: src/iexamine.cpp #, c-format -msgid "There is a %s there. Take down?" +msgid "There is a %s there. Take down?" msgstr "" #: src/iexamine.cpp @@ -198052,12 +206340,12 @@ msgid "You're illiterate, and can't read the screen." msgstr "Você é analfabeto e não consegue ler a tela." #: src/iexamine.cpp -msgid "Failure! No gas pumps found!" -msgstr "Falha! Nenhuma bomba de gás encontrada!" +msgid "Failure! No gas pumps found!" +msgstr "" #: src/iexamine.cpp -msgid "Failure! No gas tank found!" -msgstr "Falha! Nenhum tanque de gasolina encontrado!" +msgid "Failure! No gas tank found!" +msgstr "" #: src/iexamine.cpp msgid "This station is out of fuel. We apologize for the inconvenience." @@ -198114,7 +206402,7 @@ msgstr "Não há dinheiro suficiente, por favor, recarregue seu cartão." #: src/iexamine.cpp #, c-format -msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel) " +msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel)" msgstr "" #: src/iexamine.cpp @@ -198183,28 +206471,28 @@ msgstr "Você não pode descer lá" #: src/iexamine.cpp #, c-format -msgid "Looks like %d story. Jump down?" -msgid_plural "Looks like %d stories. Jump down?" +msgid "Looks like %d story. Jump down?" +msgid_plural "Looks like %d stories. Jump down?" msgstr[0] "" msgstr[1] "" #: src/iexamine.cpp -msgid "You probably won't be able to get up and jumping down may hurt. Jump?" +msgid "You probably won't be able to get up and jumping down may hurt. Jump?" msgstr "" #: src/iexamine.cpp -msgid "You probably won't be able to get back up. Climb down?" -msgstr "Você provavelmente não será capaz de voltar. Descer?" +msgid "You probably won't be able to get back up. Climb down?" +msgstr "" #: src/iexamine.cpp msgid "" -"You should be able to climb back up easily if you climb down there. Climb " +"You should be able to climb back up easily if you climb down there. Climb " "down?" -msgstr "Você deve ser capaz de subir facilmente se descer lá. Descer?" +msgstr "" #: src/iexamine.cpp -msgid "You may have problems climbing back up. Climb down?" -msgstr "Você pode ter problemas para subir de volta. Descer?" +msgid "You may have problems climbing back up. Climb down?" +msgstr "" #: src/iexamine.cpp msgid "You decided to step back from the ledge." @@ -198235,8 +206523,8 @@ msgstr "" #: src/iexamine.cpp msgid "" -"ERROR Bionic Level Assessement : FULL CYBORG. Autodoc Mk. XI can't " -"opperate. Please move patient to appropriate facility. Exiting." +"ERROR Bionic Level Assessement: FULL CYBORG. Autodoc Mk. XI can't opperate." +" Please move patient to appropriate facility. Exiting." msgstr "" #: src/iexamine.cpp @@ -198517,8 +206805,7 @@ msgid "Inspect mill" msgstr "" #: src/iexamine.cpp -msgid "" -"Remove brake and start milling... insert some products for milling first" +msgid "Remove brake and start milling… insert some products for milling first" msgstr "" #: src/iexamine.cpp @@ -198530,12 +206817,12 @@ msgid "Remove brake and start milling, milling will take about 6 hours." msgstr "" #: src/iexamine.cpp -msgid "Insert products for milling... mill is full" +msgid "Insert products for milling… mill is full" msgstr "" #: src/iexamine.cpp #, c-format -msgid "Insert products for milling... remaining capacity is %s %s" +msgid "Insert products for milling… remaining capacity is %s %s" msgstr "" #: src/iexamine.cpp @@ -198583,8 +206870,8 @@ msgid "You inspect its contents and find: " msgstr "Você inspeciona seu conteúdo e descobre:" #: src/iexamine.cpp -msgid "... that it is empty." -msgstr "... que está vazio." +msgid "…that it is empty." +msgstr "" #: src/iexamine.cpp msgid "You see some grains that are not yet milled to fine flour." @@ -198612,13 +206899,12 @@ msgid "Inspect smoking rack" msgstr "Inspecione o suporte para fumar" #: src/iexamine.cpp -msgid "Light up and smoke food... insert some food for smoking first" +msgid "Light up and smoke food… insert some food for smoking first" msgstr "" -" Acender e fumar comida ... insira um pouco de comida para fumar primeiro" #: src/iexamine.cpp #, c-format -msgid "Light up and smoke food... need extra %d charges of charcoal" +msgid "Light up and smoke food… need extra %d charges of charcoal" msgstr "" #: src/iexamine.cpp @@ -198627,19 +206913,17 @@ msgstr "Acender e fumar comida" #: src/iexamine.cpp msgid "" -"Light up the smoking rack and start smoking. Smoking will take about 6 " +"Light up the smoking rack and start smoking. Smoking will take about 6 " "hours." msgstr "" -" Acenda a prateleira de fumar e comece a fumar. Fumar levará cerca de 6 " -"horas." #: src/iexamine.cpp -msgid "Insert food for smoking... smoking rack is full" -msgstr "Inserir comida para fumar ... rack de fumo está cheio" +msgid "Insert food for smoking… smoking rack is full" +msgstr "" #: src/iexamine.cpp #, c-format -msgid "Insert food for smoking... remaining capacity is %s %s" +msgid "Insert food for smoking… remaining capacity is %s %s" msgstr "" #: src/iexamine.cpp @@ -198663,8 +206947,8 @@ msgid "Remove food from smoking rack" msgstr "Remova a comida do suporte para fumar" #: src/iexamine.cpp -msgid "Reload with charcoal... you don't have any" -msgstr "Recarregue com carvão ... você não tem nenhum" +msgid "Reload with charcoal… you don't have any" +msgstr "" #: src/iexamine.cpp msgid "Reload with charcoal" @@ -198673,7 +206957,7 @@ msgstr "Recarregar com carvão" #: src/iexamine.cpp #, c-format msgid "" -"You need %d charges of charcoal for %s %s of food. Minimal amount of " +"You need %d charges of charcoal for %s %s of food. Minimal amount of " "charcoal is %d charges." msgstr "" @@ -198735,8 +207019,8 @@ msgid "You stop the smoking process." msgstr "Você pára o processo de fumar." #: src/iexamine.cpp -msgid "You open the unlocked safe. " -msgstr "Você abre o cofre desbloqueado." +msgid "You open the unlocked safe." +msgstr "" #: src/iexamine.cpp #, c-format @@ -198835,6 +207119,10 @@ msgstr "Conexões de overmap" msgid "Overmap specials" msgstr "Overmap specials" +#: src/init.cpp +msgid "Overmap locations" +msgstr "Overmap locais" + #: src/init.cpp msgid "Vehicle prototypes" msgstr "Protótipos de veículos" @@ -198943,10 +207231,6 @@ msgstr "Mutações" msgid "Mutation Categories" msgstr "Categorias de mutação" -#: src/init.cpp -msgid "Overmap locations" -msgstr "Overmap locais" - #: src/init.cpp msgid "Map extras" msgstr "" @@ -199312,14 +207596,6 @@ msgstr "" msgid "Page %d/%d" msgstr "" -#: src/inventory_ui.cpp -msgid "ITEMS WORN" -msgstr "ITENS VESTADOS" - -#: src/inventory_ui.cpp -msgid "WEAPON HELD" -msgstr "ARMA REALIZADA" - #: src/inventory_ui.cpp #, c-format msgid "Weight (%s):" @@ -199766,11 +208042,9 @@ msgstr "" #: src/item.cpp msgid "" -"This food has started to rot. Eating it would be a " +"This food has started to rot. Eating it would be a " "very bad idea." msgstr "" -" Esta comida começou a podridão . Comendo seria " -"um muito má ideia ." #: src/item.cpp #, c-format @@ -199841,11 +208115,6 @@ msgstr "" msgid "This ammo starts fires." msgstr "" -#: src/item.cpp -#, c-format -msgid "Stats of the active gunmod (%s) are shown." -msgstr "" - #: src/item.cpp msgid "Skill used: " msgstr "Habilidade usada:" @@ -199988,8 +208257,9 @@ msgid "Used on: " msgstr "Usado em:" #: src/item.cpp -msgid "Location: " -msgstr "Localização:" +#, c-format +msgid "Location: %s" +msgstr "" #: src/item.cpp msgid "Incompatible with mod location: " @@ -200512,42 +208782,45 @@ msgid "" msgstr "" #: src/item.cpp -msgid "* This clothing can be upsized." +msgid "can be upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be downsized." +msgid "can be downsized" msgstr "" #: src/item.cpp -msgid "* This clothing can not be downsized." +msgid "can not be downsized" msgstr "" #: src/item.cpp -msgid "* This clothing can not be upsized." +msgid "can not be upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be refitted and upsized." +#, c-format +msgid "* This clothing %s." msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted and downsized." +msgid " and upsized" msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not downsized." +msgid " and downsized" msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not upsized." +msgid " but not downsized" +msgstr "" + +#: src/item.cpp +msgid " but not upsized" msgstr "" #: src/item.cpp -msgid "* This clothing can be refitted." +#, c-format +msgid "* This clothing can be refitted%s." msgstr "" #: src/item.cpp @@ -200647,6 +208920,16 @@ msgstr "" msgid "This bionic is installed in the following body part(s):" msgstr "Este biônico está instalado nas seguintes partes do corpo:" +#: src/item.cpp +msgid "* This bionic can produce power from the following fuel: " +msgid_plural "* This bionic can produce power from the following fuels: " +msgstr[0] "" +msgstr[1] "" + +#: src/item.cpp +msgid "Power Capacity:" +msgstr "" + #: src/item.cpp msgid "Encumbrance: " msgstr "" @@ -200725,16 +209008,19 @@ msgstr "Está feito e pode ser ativado ." msgid "It will be done in %s." msgstr "" -#. ~ %1$s: gerund (e.g. carved), %2$s: item name -#: src/item.cpp src/iuse_actor.cpp +#. ~ %1$s: gerund (e.g. carved), %2$s: item name, %3$s: inscription text +#: src/item.cpp #, c-format msgctxt "carving" -msgid "%1$s on the %2$s is: " +msgid "%1$s on the %2$s is: %3$s" msgstr "" -#: src/item.cpp src/options.cpp -msgid "Note: " -msgstr "Nota: " +#. ~ %1$s: inscription text +#: src/item.cpp +#, c-format +msgctxt "carving" +msgid "Note: %1$s" +msgstr "" #: src/item.cpp msgid "Integrated mod: " @@ -200768,6 +209054,11 @@ msgstr "Você poderia usá-lo para criar várias outras coisas." msgid "You could use it to craft: %s" msgstr "" +#: src/item.cpp +#, c-format +msgid "Stats of the active gunmod (%s) are shown." +msgstr "" + #: src/item.cpp #, c-format msgid "It takes you an extremely long time to wield your %s." @@ -200855,6 +209146,11 @@ msgstr "" msgid " (hallucinogenic)" msgstr "(alucinógeno)" +#: src/item.cpp +#, c-format +msgid " (%s turns)" +msgstr "" + #: src/item.cpp msgid " (dirty)" msgstr "(sujo)" @@ -201273,7 +209569,7 @@ msgstr "" #: src/item.cpp #, c-format -msgid "%s %s disappears!" +msgid "Your %s disappears!" msgstr "" #: src/item.cpp @@ -201424,8 +209720,8 @@ msgid "You're already smoking a %s!" msgstr "" #: src/iuse.cpp -msgid "Are you sure you want to drink... this?" -msgstr "Tem certeza que quer beber ... isso?" +msgid "Are you sure you want to drink… this?" +msgstr "" #: src/iuse.cpp #, c-format @@ -201454,8 +209750,8 @@ msgid "You light a %s." msgstr "" #: src/iuse.cpp -msgid "Ugh, too much smoke... you feel nasty." -msgstr "Uh, muita fumaça ... você se sente desagradável." +msgid "Ugh, too much smoke… you feel nasty." +msgstr "" #: src/iuse.cpp msgid "You take a puff from your electronic cigarette." @@ -201470,8 +209766,8 @@ msgid "You don't have any nicotine liquid!" msgstr "Você não tem nenhum líquido de nicotina!" #: src/iuse.cpp -msgid "Ugh, too much nicotine... you feel nasty." -msgstr "Uh, muita nicotina ... você se sente desagradável." +msgid "Ugh, too much nicotine… you feel nasty." +msgstr "" #: src/iuse.cpp msgid "You take some antibiotics." @@ -201580,7 +209876,7 @@ msgstr "Você pára de tremer." #: src/iuse.cpp msgid "" "You start scarfing down the delicious cake. It tastes a little funny " -"though..." +"though…" msgstr "" #: src/iuse.cpp @@ -201612,8 +209908,8 @@ msgid "You no longer need to fear the flu, at least for some time." msgstr "" #: src/iuse.cpp -msgid "Are you sure you want to eat this? It looks poisonous..." -msgstr "Tem certeza de que quer comer isso? Parece venenoso ..." +msgid "Are you sure you want to eat this? It looks poisonous…" +msgstr "" #: src/iuse.cpp #, c-format @@ -201633,8 +209929,8 @@ msgid "You suddenly feel hollow inside." msgstr "De repente você se sente oco por dentro." #: src/iuse.cpp -msgid "You feel very sleepy..." -msgstr "Você se sente com muito sono ..." +msgid "You feel very sleepy…" +msgstr "" #: src/iuse.cpp msgid "You eat the datura seed." @@ -201728,7 +210024,7 @@ msgstr "" #, c-format msgid "" "As you eat the %s, you have a near-religious experience, feeling at one with" -" your surroundings..." +" your surroundings…" msgstr "" #: src/iuse.cpp @@ -201754,10 +210050,8 @@ msgstr "Você dá uma mordida e imediatamente vomita!" #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into an excruciating burn" -" as you convulse, vomiting, and black out..." +" as you convulse, vomiting, and black out…" msgstr "" -" Você sente um calor familiar, mas de repente surge em uma queimação " -"excruciante quando você convulsiona, vomita e apaga ..." #: src/iuse.cpp msgctxt "memorial_male" @@ -201772,10 +210066,8 @@ msgstr "Rejeição de Marloss Sofrida." #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into painful burning as " -"you convulse and collapse to the ground..." +"you convulse and collapse to the ground…" msgstr "" -" Você sente um calor familiar, mas de repente ele surge em ardência dolorosa" -" quando você convulsiona e desmorona no chão ..." #: src/iuse.cpp src/monattack.cpp msgid "" @@ -201789,14 +210081,12 @@ msgstr "" #: src/iuse.cpp msgid "" "unity. together we have reached the door. we provide the final key. now " -"to pass through..." +"to pass through…" msgstr "" -" unidade. juntos chegamos à porta. nós fornecemos a chave final. agora para " -"passar ..." #: src/iuse.cpp -msgid "You feel a strange warmth spreading throughout your body..." -msgstr "Você sente um calor estranho se espalhando por todo o seu corpo ..." +msgid "You feel a strange warmth spreading throughout your body…" +msgstr "" #. ~ "Uh-uh" is a sound used for "nope", "no", etc. #: src/iuse.cpp @@ -201814,7 +210104,7 @@ msgstr "" #: src/iuse.cpp #, c-format -msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." +msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." msgstr "" #: src/iuse.cpp @@ -201824,16 +210114,14 @@ msgstr "" #: src/iuse.cpp msgid "" "As it settles in, you feel ecstasy radiating through every part of your " -"body..." +"body…" msgstr "" #: src/iuse.cpp msgid "" "Your eyes roll back in your head. Everything dissolves into a blissful " -"haze..." +"haze…" msgstr "" -" Seus olhos rolam para trás em sua cabeça. Tudo se dissolve em uma névoa " -"feliz ..." #. ~ The Mycus does not use the term (or encourage the concept of) "you". The #. PC is a local/native organism, but is now the Mycus. @@ -201841,18 +210129,14 @@ msgstr "" #. bent symbiotes should not need it. #. ~ We are the Mycus. #: src/iuse.cpp -msgid "We welcome into us. We have endured long in this forbidding world." +msgid "We welcome into us. We have endured long in this forbidding world." msgstr "" -" Congratulamo-nos com a gente. Nós suportamos muito tempo neste mundo " -"proibitivo." #: src/iuse.cpp msgid "" -"A sea of white caps, waving gently. A haze of spores wafting silently over a" -" forest." +"A sea of white caps, waving gently. A haze of spores wafting silently over " +"a forest." msgstr "" -" Um mar de bonés brancos, acenando gentilmente. Uma névoa de esporos " -"pairando silenciosamente sobre uma floresta." #: src/iuse.cpp msgid "The natives have a saying: \"E Pluribus Unum.\" Out of many, one." @@ -201860,29 +210144,22 @@ msgstr "Os nativos têm um ditado: \\ 'E Pluribus Unum. \\' Fora de muitos, um." #: src/iuse.cpp msgid "" -"The blazing pink redness of the berry. The juices spreading across your " +"The blazing pink redness of the berry. The juices spreading across your " "tongue, the warmth draping over us like a lover's embrace." msgstr "" -" A vermelhidão rosa da baga. Os sucos se espalhando pela sua língua, o calor" -" nos cobrindo como o abraço de um amante." #: src/iuse.cpp msgid "" "We welcome the union of our lines in our local guide. We will prosper, and " -"unite this world. Even now, our fruits adapt to better serve local " +"unite this world. Even now, our fruits adapt to better serve local " "physiology." msgstr "" -" Congratulamo-nos com a união das nossas linhas no nosso guia local. Nós " -"prosperaremos e uniremos este mundo. Mesmo agora, nossos frutos se adaptam " -"para melhor atender a fisiologia local." #: src/iuse.cpp msgid "" -"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " +"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " "berry, a memory that will never leave us." msgstr "" -" O azul celeste da semente. Os sabores cremosos e cremosos misturados com a " -"fruta, uma lembrança que nunca nos deixará." #: src/iuse.cpp msgid "" @@ -201894,14 +210171,12 @@ msgstr "" #: src/iuse.cpp msgid "" -"The amber-yellow of the sap. Feel it flowing through our veins, taking the " +"The amber-yellow of the sap. Feel it flowing through our veins, taking the " "place of the strange, thin red gruel called \"blood.\"" msgstr "" -" O amarelo âmbar da seiva. Senti-lo fluindo em nossas veias, tomando o lugar" -" do estranho e fino gruel chamado 'sangue'." #: src/iuse.cpp -msgid "This tastes really weird! You're not sure it's good for you..." +msgid "This tastes really weird! You're not sure it's good for you…" msgstr "" #: src/iuse.cpp @@ -201986,8 +210261,8 @@ msgid "You do not have that item!" msgstr "Você não tem esse item!" #: src/iuse.cpp -msgid "Which signal should activate the item?:" -msgstr "Qual sinal deve ativar o item ?:" +msgid "Which signal should activate the item?" +msgstr "" #: src/iuse.cpp msgid "\"Blue\"" @@ -202028,8 +210303,8 @@ msgid "You can't fish there!" msgstr "Você não pode pescar lá!" #: src/iuse.cpp -msgid "You cast your line and wait to hook something..." -msgstr "Você lança sua linha e espera para enganchar algo ..." +msgid "You cast your line and wait to hook something…" +msgstr "" #: src/iuse.cpp msgid "Fish are not foolish enough to go in here without bait." @@ -202234,16 +210509,6 @@ msgstr "KXSHHHHRRCRKLKKK!" msgid "The infernal racket dies as the noise emitter turns off." msgstr "A raquete infernal morre quando o emissor de ruído se desliga." -#: src/iuse.cpp -#, c-format -msgid "You learn the essential elements of %s." -msgstr "" - -#: src/iuse.cpp -#, c-format -msgid "%s to select martial arts style." -msgstr "" - #: src/iuse.cpp msgid "You pry out the fence post." msgstr "Você tira o poste da cerca." @@ -202667,18 +210932,27 @@ msgid "Scan the ground" msgstr "Escaneie o chão" #: src/iuse.cpp -msgid "Scan yourself" -msgstr "Analise-se" +msgid "Scan yourself or other person" +msgstr "" #: src/iuse.cpp msgid "Turn continuous scan on" msgstr "Ativar a varredura contínua" +#: src/iuse.cpp +msgid "Scan whom?" +msgstr "" + #: src/iuse.cpp #, c-format msgid "Your radiation level: %d mSv (%d mSv from items)" msgstr "" +#: src/iuse.cpp +#, c-format +msgid "%s's radiation level: %d mSv (%d mSv from items)" +msgstr "" + #: src/iuse.cpp #, c-format msgid "The ground's radiation level: %d mSv/h" @@ -202746,6 +211020,10 @@ msgstr "Tick!" msgid "You've already released the handle, try throwing it instead." msgstr "Você já liberou a alça, tente jogá-la em seu lugar." +#: src/iuse.cpp src/iuse_actor.cpp +msgid "You need a source of fire!" +msgstr "Você precisa de uma fonte de fogo!" + #: src/iuse.cpp msgid "You light the arrow!" msgstr "Você acende a flecha!" @@ -202758,6 +211036,10 @@ msgstr "Seu iluminado Molotov sai." msgid "You light the pack of firecrackers." msgstr "Você acende o pacote de fogos de artifício." +#: src/iuse.cpp +msgid "ssss…" +msgstr "" + #: src/iuse.cpp msgid "You light the firecracker." msgstr "Você acende o fogo de artifício." @@ -202772,23 +211054,23 @@ msgid "You set the timer to %s." msgstr "" #: src/iuse.cpp -msgid "You squeeze the pheromone ball..." -msgstr "Você aperta a bola de feromônio ..." +msgid "You squeeze the pheromone ball…" +msgstr "" #: src/iuse.cpp -msgid " squeezes the pheromone ball..." -msgstr " aperta a bola de feromônio ..." +msgid " squeezes the pheromone ball…" +msgstr "" #: src/iuse.cpp -msgid "...but nothing happens." -msgstr "...mas nada acontece." +msgid "…but nothing happens." +msgstr "" #: src/iuse.cpp -msgid "...and a nearby zombie becomes passive!" +msgid "…and a nearby zombie becomes passive!" msgstr "" #: src/iuse.cpp -msgid "...and several nearby zombies become passive!" +msgid "…and several nearby zombies become passive!" msgstr "" #: src/iuse.cpp @@ -203061,7 +211343,7 @@ msgid "You need a rechargeable battery cell to charge." msgstr "" #: src/iuse.cpp -msgid "You cannot do... that while mounted." +msgid "You cannot do… that while mounted." msgstr "" #: src/iuse.cpp @@ -203083,12 +211365,12 @@ msgid "You whip out your %s and start getting the tension out." msgstr "" #: src/iuse.cpp -msgid "Air swirls around you for a moment." -msgstr "O ar gira ao seu redor por um momento." +msgid "Air swirls all over…" +msgstr "" #: src/iuse.cpp -msgid "Air swirls all over..." -msgstr "Ar redemoinhos por toda parte ..." +msgid "Air swirls around you for a moment." +msgstr "O ar gira ao seu redor por um momento." #: src/iuse.cpp msgid "You blow your dog whistle." @@ -203120,7 +211402,7 @@ msgstr "" #: src/iuse.cpp #, c-format -msgid "You drew blood from the %s..." +msgid "You drew blood from the %s…" msgstr "" #: src/iuse.cpp @@ -203128,17 +211410,17 @@ msgid "Draw your own blood?" msgstr "Desenhe seu próprio sangue?" #: src/iuse.cpp -msgid "You drew your own blood..." -msgstr "Você desenhou seu próprio sangue ..." +msgid "You drew your own blood…" +msgstr "" #: src/iuse.cpp #, c-format -msgid "...but acidic blood melts the %s, destroying it!" +msgid "…but acidic blood melts the %s, destroying it!" msgstr "" #: src/iuse.cpp #, c-format -msgid "...but acidic blood damages the %s!" +msgid "…but acidic blood damages the %s!" msgstr "" #: src/iuse.cpp @@ -203195,10 +211477,6 @@ msgstr "Você não pode cortar isso." msgid "Your torch doesn't have enough acetylene to cut that." msgstr "Sua tocha não tem acetileno suficiente para cortar isso." -#: src/iuse.cpp src/player.cpp -msgid "Why would you do that?" -msgstr "Por que você faria isso?" - #: src/iuse.cpp msgid "You're not even chained to a boiler." msgstr "Você nem está acorrentado a uma caldeira." @@ -203242,35 +211520,15 @@ msgstr "Você move o esfregão, sem saber se está fazendo algum bem." msgid "You mop up the spill." msgstr "Você enxuga o vazamento." -#: src/iuse.cpp -msgid "Ka-BOOM!" -msgstr "BO-BOOM!" - -#: src/iuse.cpp -msgid "You have a vision of the surrounding area..." -msgstr "Você tem uma visão da área circundante ..." - #: src/iuse.cpp msgid "The fabric of space seems to decay." msgstr "O tecido do espaço parece decair." -#: src/iuse.cpp -msgid "The earth shakes!" -msgstr "A terra treme!" - #: src/iuse.cpp #, c-format msgid "The %s glows brightly!" msgstr "" -#: src/iuse.cpp -msgid "You're paralyzed!" -msgstr "Você está paralisado!" - -#: src/iuse.cpp -msgid "Fire rains down around you!" -msgstr "Fogo chove ao seu redor!" - #: src/iuse.cpp #, c-format msgid "a deafening boom from %s %s" @@ -203290,17 +211548,13 @@ msgstr "" msgid "A shadow forms nearby." msgstr "Uma sombra se forma nas proximidades." -#: src/iuse.cpp -msgid "You're filled with euphoria!" -msgstr "Você está cheio de euforia!" - #: src/iuse.cpp msgid "Spray what?" msgstr "Spray o que?" #: src/iuse.cpp -msgid "(To delete, input one '.')" -msgstr "(Para excluir, insira um '.')" +msgid "(To delete, clear the text and confirm)" +msgstr "" #: src/iuse.cpp msgid "You blur the inscription on the grave." @@ -203310,10 +211564,6 @@ msgstr "" msgid "You manage to get rid of the message on the ground." msgstr "Você consegue se livrar da mensagem no chão." -#: src/iuse.cpp -msgid "There isn't anything to erase here." -msgstr "Não há nada para apagar aqui." - #: src/iuse.cpp msgid "You carve an inscription on the grave." msgstr "" @@ -203331,13 +211581,9 @@ msgid "You don't have appropriate food to heat up." msgstr "Você não tem comida apropriada para aquecer." #: src/iuse.cpp -msgid "You defrost the food, but don't heat it up, since you enjoy it cold." +msgid "You start heating up the food." msgstr "" -#: src/iuse.cpp -msgid "You defrost and heat up the food." -msgstr "Você descongela e esquenta a comida." - #: src/iuse.cpp msgid "There is no fire around, use your integrated toolset instead?" msgstr "Não há fogo por perto, use seu conjunto de ferramentas integrado?" @@ -203533,12 +211779,12 @@ msgstr "" #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s! ( %s-> %s)" +msgid "You repair your %s! ( %s-> %s)" msgstr "" #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s completely! ( %s-> %s)" +msgid "You repair your %s completely! ( %s-> %s)" msgstr "" #: src/iuse.cpp @@ -203573,12 +211819,12 @@ msgid "You reinforce your %s." msgstr "" #: src/iuse.cpp -msgid "Clank! Clank!" -msgstr "Clank! Clank!" +msgid "Clank! Clank!" +msgstr "" #: src/iuse.cpp -msgid "Ring! Ring!" -msgstr "Anel! Anel!" +msgid "Ring! Ring!" +msgstr "" #: src/iuse.cpp msgid "You cannot read a computer screen." @@ -203671,10 +211917,6 @@ msgstr "mau" msgid "exceptional" msgstr "excepcional" -#: src/iuse.cpp -msgid "not bad" -msgstr "não é ruim" - #: src/iuse.cpp msgid "Tablet's batteries are dead." msgstr "As baterias do Tablet estão mortas." @@ -203738,8 +211980,8 @@ msgid "Wasted time, these pictures do not provoke your senses." msgstr "Perder tempo, estas imagens não provocam os seus sentidos." #: src/iuse.cpp -msgid "You used to have a dog like this..." -msgstr "Você costumava ter um cachorro assim ..." +msgid "You used to have a dog like this…" +msgstr "" #: src/iuse.cpp msgid "Ha-ha! An amusing cat photo." @@ -203750,8 +211992,8 @@ msgid "Excellent pictures of nature." msgstr "Excelentes fotos da natureza." #: src/iuse.cpp -msgid "Food photos... your stomach rumbles!" -msgstr "Fotos de comida ... seu estômago ronca!" +msgid "Food photos… your stomach rumbles!" +msgstr "" #: src/iuse.cpp msgid "Some very interesting travel photos." @@ -204210,12 +212452,12 @@ msgid "A %s got in the way of your photo." msgstr "" #: src/iuse.cpp -msgid "Strange... there's nothing in the center of picture?" +msgid "Strange… there's nothing in the center of picture?" msgstr "" #: src/iuse.cpp #, c-format -msgid "Strange... %s's not visible on the picture?" +msgid "Strange… %s's not visible on the picture?" msgstr "" #: src/iuse.cpp @@ -204333,7 +212575,7 @@ msgstr "" #: src/iuse.cpp #, c-format -msgid "RC car with %s ? How?" +msgid "RC car with %s? How?" msgstr "" #: src/iuse.cpp @@ -204342,25 +212584,25 @@ msgid "Your %s is too heavy or bulky for this RC car." msgstr "" #: src/iuse.cpp -msgid "You disarmed your RC car" -msgstr "Você desarmou seu carro RC" +msgid "You disarmed your RC car." +msgstr "" #. ~Sound of a radio controlled car moving around #: src/iuse.cpp -msgid "buzzz..." -msgstr "buzzz ..." +msgid "buzzz…" +msgstr "" #: src/iuse.cpp msgid "What to do with activated RC car?" msgstr "O que fazer com o carro RC ativado?" #: src/iuse.cpp -msgid "You turned off your RC car" -msgstr "Você desligou seu carro RC" +msgid "You turned off your RC car." +msgstr "" -#: src/iuse.cpp src/map.cpp -msgid "beep." -msgstr "bip." +#: src/iuse.cpp +msgid "beep" +msgstr "" #: src/iuse.cpp msgid "Take control of RC car" @@ -204397,7 +212639,14 @@ msgstr "Você assume o controle do carro RC." #: src/iuse.cpp #, c-format msgid "" -"The %s in you inventory would explode on this signal. Place it down before " +"The %s in your inventory would explode on this signal. Place it down before" +" sending the signal." +msgstr "" + +#: src/iuse.cpp +#, c-format +msgid "" +"The %1$s in your %2$s would explode on this signal. Place it down before " "sending the signal." msgstr "" @@ -204465,6 +212714,12 @@ msgstr "Assuma o controle de um veículo." msgid "Execute one vehicle action" msgstr "Execute uma ação de veículo" +#: src/iuse.cpp +msgid "" +"Despite using a controller, you still refuse to take control of this " +"vehicle." +msgstr "" + #: src/iuse.cpp msgid "You take control of the vehicle." msgstr "Você assume o controle do veículo." @@ -204483,8 +212738,8 @@ msgstr "Os personagens na tela exibem uma piada obscena. Humor estranho." #. ~ Single-spaced & lowercase are intentional, conveying hurried speech-KA101 #: src/iuse.cpp -msgid "Are you sure?! the multi-cooker wants to poison your food!" -msgstr "Você tem certeza?! o multi-fogão quer envenenar sua comida!" +msgid "Are you sure?! the multi-cooker wants to poison your food!" +msgstr "" #: src/iuse.cpp msgid "" @@ -204528,8 +212783,8 @@ msgid "The cycle will be completed in %s." msgstr "" #: src/iuse.cpp -msgid "The multi-cooker should be finishing shortly..." -msgstr "O multi-fogão deve estar terminando em breve ..." +msgid "The multi-cooker should be finishing shortly…" +msgstr "" #. ~ sound of a multi-cooker finishing its cycle! #: src/iuse.cpp @@ -204608,8 +212863,8 @@ msgstr "" " A tela pisca símbolos e escalas azuis quando o multi-fogão começa a tremer." #: src/iuse.cpp -msgid "Your morale is too low to craft..." -msgstr "Sua moral está baixa demais para fabricar..." +msgid "Your morale is too low to craft…" +msgstr "" #: src/iuse.cpp #, c-format @@ -204742,7 +212997,7 @@ msgstr "Você precisa de sabão para usar isso." #: src/iuse.cpp #, c-format -msgid "The %s's monitor slowly outputs the data..." +msgid "The %s's monitor slowly outputs the data…" msgstr "" #: src/iuse.cpp @@ -204885,8 +213140,8 @@ msgid "You break the stick, but one half shatters into splinters." msgstr "Você quebra o pau, mas uma metade se quebra em farpas." #: src/iuse.cpp -msgid "The throbbing of the infection diminishes. Slightly." -msgstr "O latejar da infecção diminui. Levemente." +msgid "The throbbing of the infection diminishes. Slightly." +msgstr "" #: src/iuse.cpp msgid "You feel much better - almost entirely." @@ -204907,11 +213162,9 @@ msgstr "" #: src/iuse.cpp msgid "" -"Simply taking more magnesium won't help. You have to go to sleep for it to " +"Simply taking more magnesium won't help. You have to go to sleep for it to " "work." msgstr "" -" Simplesmente tomar mais magnésio não ajudará. Você tem que ir dormir para " -"que isso funcione." #: src/iuse.cpp #, c-format @@ -205156,7 +213409,7 @@ msgid "" msgstr "" " Você pode escolher seus amigos, e você pode \n" " picar o nariz, mas você não pode escolher \n" -" o nariz do seu amigo\n" +" o nariz do seu amigo" #: src/iuse_actor.cpp msgid "That door isn't locked." @@ -205175,8 +213428,8 @@ msgid "With a satisfying click, the lock on the door opens." msgstr "Com um clique satisfatório, a fechadura da porta se abre." #: src/iuse_actor.cpp -msgid "The door swings open..." -msgstr "A porta se abre ..." +msgid "The door swings open…" +msgstr "" #: src/iuse_actor.cpp msgid "The lock stumps your efforts to pick it, and you destroy your tool." @@ -205260,7 +213513,7 @@ msgstr "Já existe móveis naquele local." #: src/iuse_actor.cpp #, c-format msgid "There isn't anything new on the %s." -msgstr "" +msgstr "Não há nada de novo no %s." #: src/iuse_actor.cpp #, c-format @@ -205285,18 +213538,17 @@ msgstr "Já existe um incêndio." #: src/iuse_actor.cpp msgid "" -"There's a brazier there but you haven't set it up to contain the fire. " +"There's a brazier there but you haven't set it up to contain the fire. " "Continue?" msgstr "" -" Há um braseiro lá, mas você não configurou para conter o fogo. Continuar?" #: src/iuse_actor.cpp msgid "You successfully light a fire." msgstr "Você acendeu um fogo com sucesso." #: src/iuse_actor.cpp -msgid "You light a fire, but it isn't enough. You need to light more." -msgstr "Você acende um fogo, mas não é suficiente. Você precisa acender mais." +msgid "You light a fire, but it isn't enough. You need to light more." +msgstr "" #: src/iuse_actor.cpp msgid "You happily light a fire." @@ -205334,17 +213586,17 @@ msgstr "" #: src/iuse_actor.cpp #, c-format msgid "Try disassembling the %s instead." -msgstr "" +msgstr "Tente desmontar %s ao invés disso." #: src/iuse_actor.cpp #, c-format msgid "The %s is made of material that cannot be cut up." -msgstr "" +msgstr "O %s é feito de material que não pode ser cortado." #: src/iuse_actor.cpp #, c-format msgid "Please empty the %s before cutting it up." -msgstr "" +msgstr "Por favor esvazie o %santes de cortá-lo." #: src/iuse_actor.cpp #, c-format @@ -205404,8 +213656,15 @@ msgid "It's a note" msgstr "É uma nota" #: src/iuse_actor.cpp -msgid "(To delete, input one '.')\n" -msgstr "(Para excluir, insira um '.') \n" +msgid "(To delete, clear the text and confirm)\n" +msgstr "(Para excluir, limpe o texto e confirme)\n" + +#. ~ %1$s: gerund (e.g. carved), %2$s: item name +#: src/iuse_actor.cpp +#, c-format +msgctxt "carving" +msgid "%1$s on the %2$s is: " +msgstr "" #: src/iuse_actor.cpp #, c-format @@ -205415,7 +213674,7 @@ msgstr "" #: src/iuse_actor.cpp #, c-format msgid "%s on what?" -msgstr "" +msgstr "%s no quê?" #: src/iuse_actor.cpp msgid "The ground" @@ -205429,6 +213688,11 @@ msgstr "Um item" msgid "Inscribe which item?" msgstr "Inscrever qual item?" +#: src/iuse_actor.cpp +#, c-format +msgid "You try to bend your %s, but fail." +msgstr "Você tenta dobrar seu %s, mas não consegue." + #: src/iuse_actor.cpp msgid "You cauterize yourself." msgstr "Você se cauteriza." @@ -205443,7 +213707,7 @@ msgstr "Coça um pouco." #: src/iuse_actor.cpp msgid "You cannot cauterize while mounted." -msgstr "" +msgstr "Você não pode cauterizar enquanto está montado." #: src/iuse_actor.cpp msgid "" @@ -205456,7 +213720,7 @@ msgstr "" #: src/iuse_actor.cpp #, c-format msgid "You need at least %d charges to cauterize wounds." -msgstr "" +msgstr "Você precisa de ao menos %d cargas para cauterizar ferimentos." #: src/iuse_actor.cpp msgid "No suitable corpses" @@ -205479,8 +213743,8 @@ msgid "Make love, not zlave." msgstr "Faça amor, não zlave." #: src/iuse_actor.cpp -msgid "Well, it's more constructive than just chopping 'em into gooey meat..." -msgstr "Bem, é mais construtivo do que apenas cortá-los em carne pegajosa ..." +msgid "Well, it's more constructive than just chopping 'em into gooey meat…" +msgstr "" #: src/iuse_actor.cpp msgid "You feel horrible for mutilating and enslaving someone's corpse." @@ -205498,11 +213762,11 @@ msgstr "Hsss" #: src/iuse_actor.cpp msgid "You can't play music while mounted." -msgstr "" +msgstr "Você não pode tocar música enquanto estiver montado." #: src/iuse_actor.cpp msgid " can't play music while mounted." -msgstr "" +msgstr " não pode tocar música enquanto estiver montado." #: src/iuse_actor.cpp msgid "You can't play music underwater" @@ -205589,51 +213853,51 @@ msgstr "" #: src/iuse_actor.cpp msgid " (Max)" -msgstr "" +msgstr " (Máximo)" #: src/iuse_actor.cpp msgid "Study to Learn" -msgstr "" +msgstr "Estude para Aprender" #: src/iuse_actor.cpp msgid "Can't learn!" -msgstr "" +msgstr "Não é possível aprender!" #: src/iuse_actor.cpp msgid "You already know everything this could teach you." -msgstr "" +msgstr "Você já sabe tudo o que isso podia te ensinar." #: src/iuse_actor.cpp msgid "Study a spell:" -msgstr "" +msgstr "Estudar um feitiço:" #: src/iuse_actor.cpp msgid "Spend how long studying?" -msgstr "" +msgstr "Passar quanto tempo estudando?" #: src/iuse_actor.cpp msgid "30 minutes" -msgstr "" +msgstr "30 minutos" #: src/iuse_actor.cpp msgid "1 hour" -msgstr "" +msgstr "1 hora" #: src/iuse_actor.cpp msgid "2 hours" -msgstr "" +msgstr "2 horas" #: src/iuse_actor.cpp msgid "4 hours" -msgstr "" +msgstr "4 horas" #: src/iuse_actor.cpp msgid "8 hours" -msgstr "" +msgstr "8 horas" #: src/iuse_actor.cpp msgid "Until you gain a spell level" -msgstr "" +msgstr "Até ganhar um nível de feitiço" #. ~ %1$s: spell name, %2$i: spell level #: src/iuse_actor.cpp @@ -205643,7 +213907,7 @@ msgstr "" #: src/iuse_actor.cpp msgid "This item never fails." -msgstr "" +msgstr "Este item nunca falha." #: src/iuse_actor.cpp #, c-format @@ -205683,18 +213947,18 @@ msgstr "" #: src/iuse_actor.cpp #, c-format msgid "Draw %s" -msgstr "" +msgstr "Sacar %s" #: src/iuse_actor.cpp src/monexamine.cpp #, c-format msgid "Use %s" -msgstr "" +msgstr "Usar %s" #: src/iuse_actor.cpp msgid "Can be activated to store a suitable item." msgid_plural "Can be activated to store suitable items." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "Pode ser ativado para armazenar um objeto apropriado." +msgstr[1] "Pode ser ativado para armazenar objetos apropriados." #: src/iuse_actor.cpp msgid "Num items: " @@ -205711,7 +213975,7 @@ msgstr "Max:" #: src/iuse_actor.cpp #, c-format msgid " %s" -msgstr "" +msgstr " %s" #: src/iuse_actor.cpp #, c-format @@ -205742,21 +214006,21 @@ msgstr "" #: src/iuse_actor.cpp src/vehicle_use.cpp #, c-format msgid "Unload %s" -msgstr "" +msgstr "Descarregar %s" #: src/iuse_actor.cpp #, c-format msgid "Can be used to assemble: %s" -msgstr "" +msgstr "Pode ser usado para montar: %s" #: src/iuse_actor.cpp #, c-format msgid "Insufficient ammunition to assemble %s" -msgstr "" +msgstr "Munição insuficiente para montar %s" #: src/iuse_actor.cpp msgid " can't do that while mounted." -msgstr "" +msgstr " não pode fazer isso em cima de uma montaria." #: src/iuse_actor.cpp msgid "Your tool does not have enough charges to do that." @@ -205774,7 +214038,7 @@ msgstr "" #: src/iuse_actor.cpp #, c-format -msgid "You don't have enough %s to do that. Have: %d, need: %d" +msgid "You don't have enough %s to do that. Have: %d, need: %d" msgstr "" #: src/iuse_actor.cpp @@ -205796,7 +214060,7 @@ msgstr "" #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s! ( %s-> %s)" +msgid "You damage your %s! ( %s-> %s)" msgstr "" #: src/iuse_actor.cpp @@ -205847,7 +214111,7 @@ msgstr "Praticando" #: src/iuse_actor.cpp #, c-format msgid "Repair %s" -msgstr "" +msgstr "Reparar %s" #: src/iuse_actor.cpp msgid "You can't use filthy items for healing." @@ -205904,7 +214168,7 @@ msgstr "Sua ferida ainda dói." #: src/iuse_actor.cpp #, c-format msgid "You finish using the %s." -msgstr "" +msgstr "Você termina de usar %s." #: src/iuse_actor.cpp msgid "That arm is broken. It needs surgical attention or a splint." @@ -205914,6 +214178,10 @@ msgstr "Esse braço está quebrado. Precisa de atenção cirúrgica ou uma tala. msgid "That leg is broken. It needs surgical attention or a splint." msgstr "Essa perna está quebrada. Precisa de atenção cirúrgica ou uma tala." +#: src/iuse_actor.cpp +msgid "'s biology is not compatible with that item." +msgstr "A biologia de não é compatível com esse item." + #: src/iuse_actor.cpp msgid "Select a body part for: " msgstr "Selecione uma parte do corpo para:" @@ -205983,13 +214251,13 @@ msgstr " Move-se para usar :" #: src/iuse_actor.cpp #, c-format -msgid "Yeah. Place the %s at your feet. Real damn smart move." +msgid "Yeah. Place the %s at your feet. Real damn smart move." msgstr "" #: src/iuse_actor.cpp #, c-format msgid "You can't place a %s there." -msgstr "" +msgstr "Você não pode colocar %s ali." #: src/iuse_actor.cpp #, c-format @@ -206003,7 +214271,7 @@ msgstr "" #: src/iuse_actor.cpp #, c-format -msgid "You can't place a %s there. It contains a trap already." +msgid "You can't place a %s there. It contains a trap already." msgstr "" #: src/iuse_actor.cpp @@ -206052,6 +214320,18 @@ msgstr "" msgid "You can't self-install bionics." msgstr "Você não pode instalar a biônica por conta própria." +#: src/iuse_actor.cpp +msgid "You can't install a filthy CBM!" +msgstr "" + +#: src/iuse_actor.cpp +msgid "This CBM is not sterile, you can't install it." +msgstr "" + +#: src/iuse_actor.cpp +msgid "This CBM is already deployed. You need to reset it to factory state." +msgstr "" + #: src/iuse_actor.cpp msgid "You have already installed this bionic." msgstr "Você já instalou este biônico." @@ -206080,6 +214360,10 @@ msgstr "Nenhum dos mods pode ser removido." msgid "Has to be taken off first." msgstr "Tem que ser retirado primeiro." +#: src/iuse_actor.cpp +msgid "You quiver with anticipation…" +msgstr "Você treme de antecipação..." + #: src/iuse_actor.cpp msgid "You suddenly feel dizzy, and collapse to the ground." msgstr "De repente você se sente tonto e cai no chão." @@ -206096,7 +214380,7 @@ msgstr "" #: src/iuse_actor.cpp #, c-format msgid "The %s is in the way." -msgstr "" +msgstr "%s está no caminho." #: src/iuse_actor.cpp #, c-format @@ -206111,7 +214395,7 @@ msgstr "" #: src/iuse_actor.cpp #, c-format msgid "You set up the %s on the ground." -msgstr "" +msgstr "Você monta %s no chão." #: src/iuse_actor.cpp msgid "Examine the center square to pack it up again." @@ -206119,11 +214403,11 @@ msgstr "Examine o quadrado central para empacotá-lo novamente." #: src/iuse_actor.cpp msgid "Use this item to weigh yourself. Includes everything you are wearing." -msgstr "" +msgstr "Use esse objeto para se pesar. Inclui tudo o que estiver vestindo." #: src/iuse_actor.cpp msgid "You cannot weigh yourself while mounted." -msgstr "" +msgstr "Você não pode se pesar sobre uma montaria." #: src/iuse_actor.cpp #, c-format @@ -206147,11 +214431,30 @@ msgstr "" msgid "How do you want to modify it?" msgstr "Como você deseja modificá-lo?" +#. ~ %1$s: modification desc, %2$d: number of thread needed +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (need %2$d thread loaded)" +msgstr "" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items needed #: src/iuse_actor.cpp -msgid "Not enough thread to modify. Which modification do you want to remove?" +#, c-format +msgid "Can't %1$s (need %2$d %3$s)" +msgstr "" + +#. ~ %1$s: modification desc, %2$s: mod name +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (incompatible with %2$s)" +msgstr "" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items +#. needed, %4$s: number of thread needed +#: src/iuse_actor.cpp +#, c-format +msgid "%1$s (%2$d %3$s and %4$d thread)" msgstr "" -" Não há thread suficiente para modificar. Qual modificação você deseja " -"remover?" #: src/iuse_actor.cpp msgid "Bash" @@ -206183,7 +214486,7 @@ msgstr "Você tem certeza? Você não vai ganhar nenhum material de volta." #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s trying to modify it! ( %s-> %s)" +msgid "You damage your %s trying to modify it! ( %s-> %s)" msgstr "" #: src/iuse_actor.cpp @@ -206200,6 +214503,14 @@ msgstr "" msgid "You modify your %s!" msgstr "" +#: src/iuse_actor.h +msgid "Carve" +msgstr "" + +#: src/iuse_actor.h +msgid "Carved" +msgstr "" + #: src/iuse_software.cpp msgid "You found kitten!" msgstr "Você achou gatinho!" @@ -206223,8 +214534,8 @@ msgid "It's an altar to the horse god." msgstr "É um altar para o deus do cavalo." #: src/iuse_software_kitten.cpp -msgid "A box of dancing mechanical pencils. They dance! They sing!" -msgstr "Uma caixa de lápis mecânicos de dança. Eles dançam! Eles cantam!" +msgid "A box of dancing mechanical pencils. They dance! They sing!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's an old Duke Ellington record." @@ -206235,8 +214546,8 @@ msgid "A box of fumigation pellets." msgstr "Uma caixa de pelotas de fumigação." #: src/iuse_software_kitten.cpp -msgid "A digital clock. It's stuck at 2:17 PM." -msgstr "Um relógio digital. Está preso às 14:17." +msgid "A digital clock. It's stuck at 2:17 PM." +msgstr "" #: src/iuse_software_kitten.cpp msgid "That's just a charred human corpse." @@ -206247,16 +214558,16 @@ msgid "I don't know what that is, but it's not kitten." msgstr "Eu não sei o que é isso, mas não é gatinho." #: src/iuse_software_kitten.cpp -msgid "An empty shopping bag. Paper or plastic?" -msgstr "Uma sacola de compras vazia. Papel ou plástico?" +msgid "An empty shopping bag. Paper or plastic?" +msgstr "Uma sacola de mercado vazia. Papel ou plástico?" #: src/iuse_software_kitten.cpp -msgid "Could it be... a big ugly bowling trophy?" -msgstr "Poderia ser ... um grande e feio troféu de boliche?" +msgid "Could it be… a big ugly bowling trophy?" +msgstr "Poderia ser... um grande e feio troféu de boliche?" #: src/iuse_software_kitten.cpp -msgid "A coat hanger hovers in thin air. Odd." -msgstr "Um cabide paira no ar. Ímpar." +msgid "A coat hanger hovers in thin air. Odd." +msgstr "Um cabide flutua no ar. Estranho." #: src/iuse_software_kitten.cpp msgid "Not kitten, just a packet of Kool-Aid(tm)." @@ -206279,8 +214590,8 @@ msgid "It's Richard Nixon's nose!" msgstr "É o nariz de Richard Nixon!" #: src/iuse_software_kitten.cpp -msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." -msgstr "É a Lucy Ricardo. 'Aaah, Ricky!', Ela diz." +msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." +msgstr "" #: src/iuse_software_kitten.cpp msgid "You stumble upon Bill Gates' stand-up act." @@ -206291,8 +214602,8 @@ msgid "Just an autographed copy of the Kama Sutra." msgstr "Apenas uma cópia autografada do Kama Sutra." #: src/iuse_software_kitten.cpp -msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" -msgstr "É a Will Rogers Highway. Quem foi Will Rogers, afinal?" +msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" +msgstr "" #: src/iuse_software_kitten.cpp msgid "" @@ -206356,9 +214667,8 @@ msgid "It's a mighty zombie talking about some love and prosperity." msgstr "É um poderoso zumbi falando sobre amor e prosperidade." #: src/iuse_software_kitten.cpp -msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize...\"" +msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize…\"" msgstr "" -" 'Querido robô, você pode já ter ganhado o prêmio de 10 MILHÕES DE DÓLAR ..." #: src/iuse_software_kitten.cpp msgid "It's just an object." @@ -206401,9 +214711,9 @@ msgid "It's some compromising photos of Babar the Elephant." msgstr "São algumas fotos comprometedoras do Babar, o Elefante." #: src/iuse_software_kitten.cpp -msgid "A copy of the Weekly World News. Watch out for the chambered nautilus!" +msgid "" +"A copy of the Weekly World News. Watch out for the chambered nautilus!" msgstr "" -" Uma cópia do Weekly World News. Fique atento para o nautilus em câmara!" #: src/iuse_software_kitten.cpp msgid "It's the proverbial wet blanket." @@ -206422,31 +214732,28 @@ msgid "Paul Moyer's necktie." msgstr "Gravata de Paul Moyer." #: src/iuse_software_kitten.cpp -msgid "A haircut and a real job. Now you know where to get one!" +msgid "A haircut and a real job. Now you know where to get one!" msgstr "" -" Um corte de cabelo e um trabalho real. Agora você sabe onde conseguir um!" #: src/iuse_software_kitten.cpp -msgid "An automated robot-hater. It frowns disapprovingly at you." +msgid "An automated robot-hater. It frowns disapprovingly at you." msgstr "" -" Um aborrecedor automatizado de robôs. Ele franze a testa em desaprovação " -"para você." #: src/iuse_software_kitten.cpp -msgid "An automated robot-liker. It smiles at you." -msgstr "Um robot-liker automatizado. Ele sorri para você." +msgid "An automated robot-liker. It smiles at you." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a black hole. Don't fall in!" -msgstr "É um buraco negro. Não caia!" +msgid "It's a black hole. Don't fall in!" +msgstr "É um buraco negro. Não caia aí!" #: src/iuse_software_kitten.cpp msgid "Just a big brick wall." msgstr "Apenas uma grande parede de tijolos." #: src/iuse_software_kitten.cpp -msgid "You found kitten! No, just kidding." -msgstr "Você achou gatinho! Não, é brincadeira." +msgid "You found kitten! No, just kidding." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Heart of Darkness brand pistachio nuts." @@ -206500,16 +214807,16 @@ msgid "It's the constellation Pisces." msgstr "É a constelação de Peixes." #: src/iuse_software_kitten.cpp -msgid "It's a fly on the wall. Hi, fly!" -msgstr "É uma mosca na parede. Oi, voa!" +msgid "It's a fly on the wall. Hi, fly!" +msgstr "É uma mosca na parede. Olá, mosca!" #: src/iuse_software_kitten.cpp msgid "This kind of looks like kitten, but it's not." msgstr "Esse tipo de aparência parece gatinho, mas não é." #: src/iuse_software_kitten.cpp -msgid "It's a banana! Oh, joy!" -msgstr "É uma banana! Oh alegria!" +msgid "It's a banana! Oh, joy!" +msgstr "É uma banana! Oh, que alegria!" #: src/iuse_software_kitten.cpp msgid "A helicopter has crashed here." @@ -206536,12 +214843,12 @@ msgid "A geyser sprays water high into the air." msgstr "Um gêiser pulveriza água no ar." #: src/iuse_software_kitten.cpp -msgid "A toenail? What good is a toenail?" -msgstr "Uma unha? Que bom é uma unha?" +msgid "A toenail? What good is a toenail?" +msgstr "Uma unha? Pra que serve uma unha?" #: src/iuse_software_kitten.cpp -msgid "You've found the fish! Not that it does you much good in this game." -msgstr "Você encontrou o peixe! Não que isso te faça muito bem neste jogo." +msgid "You've found the fish! Not that it does you much good in this game." +msgstr "Você encontrou o peixe! Não que isso ajude muito nesse jogo." #: src/iuse_software_kitten.cpp msgid "A Buttertonsils bar." @@ -206564,8 +214871,8 @@ msgid "It's nothing but a G-thang, baby." msgstr "Não é nada além de um G-thang, baby." #: src/iuse_software_kitten.cpp -msgid "IT'S ALIVE! AH HA HA HA HA!" -msgstr "ESTÁ VIVO! AH HA HA HA HA!" +msgid "IT'S ALIVE! AH HA HA HA HA!" +msgstr "ESTÁ VIVO! AH HAH HAH HAH!" #: src/iuse_software_kitten.cpp msgid "This was no boating accident!" @@ -206573,13 +214880,12 @@ msgstr "Este não foi um acidente de barco!" #: src/iuse_software_kitten.cpp msgid "" -"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" +"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" msgstr "" -" Esperar! Este não é o chip de poker! Você foi enganado! DRAN VOCÊ, MENDEZ!" #: src/iuse_software_kitten.cpp -msgid "A livery stable! Get your livery!" -msgstr "Um estábulo! Obtenha seu libré!" +msgid "A livery stable! Get your livery!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's a perpetual immobility machine." @@ -206599,31 +214905,29 @@ msgstr "A Maior Bola De Motzah Do Mundo!" #: src/iuse_software_kitten.cpp msgid "" -"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " +"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " "know." msgstr "" -" Uma tribo de canibais mora aqui. Eles comem Malt-O-Meal no café da manhã, " -"você sabe." #: src/iuse_software_kitten.cpp msgid "This appears to be a rather large stack of trashy romance novels." msgstr "Esta parece ser uma pilha bastante grande de romances inúteis." #: src/iuse_software_kitten.cpp -msgid "Look out! Exclamation points!" -msgstr "Tenha cuidado! Pontos de exclamação!" +msgid "Look out! Exclamation points!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "A herd of wild coffee mugs slumbers here." msgstr "Um rebanho de canecas de café selvagens dorme aqui." #: src/iuse_software_kitten.cpp -msgid "It's a limbo bar! How low can you go?" -msgstr "É um bar do limbo! Quão baixo você pode ir?" +msgid "It's a limbo bar! How low can you go?" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's the horizon. Now THAT'S weird." -msgstr "É o horizonte. Agora isso é estranho." +msgid "It's the horizon. Now THAT'S weird." +msgstr "É o horizonte. Agora ISSO sim é estranho." #: src/iuse_software_kitten.cpp msgid "A vase full of artificial flowers is stuck to the floor here." @@ -206640,28 +214944,26 @@ msgstr "" "trás aqui." #: src/iuse_software_kitten.cpp -msgid "It's an ordinary bust of Beethoven... but why is it painted green?" -msgstr "É um busto comum de Beethoven ... mas por que é pintado de verde?" +msgid "It's an ordinary bust of Beethoven… but why is it painted green?" +msgstr "É um busto normal de Beethoven... mas por que foi pintado de verde?" #: src/iuse_software_kitten.cpp -msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." -msgstr "É o adorável corvo da TV! 'Me morda!', Ele diz." +msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." +msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"Hey, look, it's war. What is it good for? Absolutely nothing. Say it again." +"Hey, look, it's war. What is it good for? Absolutely nothing. Say it " +"again." msgstr "" -" Ei, olha, é guerra. O que é bom para isso? Absolutamente nada. Diga isso de" -" novo." #: src/iuse_software_kitten.cpp msgid "It's the amazing self-referential thing that's not kitten." msgstr "É a incrível coisa auto-referencial que não é gatinha." #: src/iuse_software_kitten.cpp -msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" +msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" msgstr "" -" Uma boá de penas chamativa. Agora você pode se vestir como Carol Channing!" #: src/iuse_software_kitten.cpp msgid "\"Sure hope we get some rain soon,\" says Farmer Joe." @@ -206681,11 +214983,9 @@ msgstr "'O solo superou tudo, ma', lamenta Lil Greg." #: src/iuse_software_kitten.cpp msgid "" -"This is a large brown bear. Oddly enough, it's currently peeing in the " +"This is a large brown bear. Oddly enough, it's currently peeing in the " "woods." msgstr "" -" Este é um grande urso pardo. Curiosamente, atualmente está fazendo xixi na " -"floresta." #: src/iuse_software_kitten.cpp msgid "A team of arctic explorers is camped here." @@ -206713,29 +215013,26 @@ msgstr "É um holograma de um helicóptero acidentado." #: src/iuse_software_kitten.cpp msgid "" -"This is a television. On screen you see a robot strangely similar to " +"This is a television. On screen you see a robot strangely similar to " "yourself." msgstr "" -" Isto é uma televisão. Na tela, você vê um robô estranhamente parecido com " -"você." #: src/iuse_software_kitten.cpp msgid "This balogna has a first name, it's R-A-N-C-I-D." msgstr "Este balogna tem um primeiro nome, é RANCID." #: src/iuse_software_kitten.cpp -msgid "A salmon hatchery? Look again. It's merely a single salmon." -msgstr "Um incubatório de salmão? Olhe novamente. É apenas um salmão." +msgid "A salmon hatchery? Look again. It's merely a single salmon." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a rim shot. Ba-da-boom!" -msgstr "É um tiro de aro. Ba-da-boom!" +msgid "It's a rim shot. Ba-da-boom!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." +"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." msgstr "" -" É assustador e é maluco, misterioso e assustador. Também é um pouco ooky." #: src/iuse_software_kitten.cpp msgid "This is an anagram." @@ -206746,30 +215043,26 @@ msgid "This object is like an analogy." msgstr "Este objeto é como uma analogia." #: src/iuse_software_kitten.cpp -msgid "It's a symbol. You see in it a model for all symbols everywhere." +msgid "It's a symbol. You see in it a model for all symbols everywhere." msgstr "" -" É um símbolo. Você vê nele um modelo para todos os símbolos em todos os " -"lugares." #: src/iuse_software_kitten.cpp msgid "The object pushes back at you." msgstr "O objeto empurra de volta para você." #: src/iuse_software_kitten.cpp -msgid "A traffic signal. It appears to have been recently vandalized." -msgstr "Um sinal de trânsito. Parece ter sido recentemente vandalizado." +msgid "A traffic signal. It appears to have been recently vandalized." +msgstr "" #: src/iuse_software_kitten.cpp msgid "" -"\"There is no kitten!\" cackles the old crone. You are shocked by her " +"\"There is no kitten!\" cackles the old crone. You are shocked by her " "blasphemy." msgstr "" -" 'Não há gatinho!', Gargalha a velha velha. Você está chocado com sua " -"blasfêmia." #: src/iuse_software_kitten.cpp -msgid "This is a Lagrange point. Don't come too close now." -msgstr "Este é um ponto de Lagrange. Não chegue muito perto agora." +msgid "This is a Lagrange point. Don't come too close now." +msgstr "" #: src/iuse_software_kitten.cpp msgid "The dirty old tramp bemoans the loss of his harmonica." @@ -206788,8 +215081,8 @@ msgid "It's the instruction manual for a previous version of this game." msgstr "É o manual de instruções para uma versão anterior deste jogo." #: src/iuse_software_kitten.cpp -msgid "A brain cell. Oddly enough, it seems to be functioning." -msgstr "Uma célula cerebral. Estranhamente, parece estar funcionando." +msgid "A brain cell. Oddly enough, it seems to be functioning." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Tea and/or crumpets." @@ -206804,17 +215097,16 @@ msgid "It's a Quaker Oatmeal tube, converted into a drum." msgstr "É um tubo Quaker Oatmeal, convertido em um tambor." #: src/iuse_software_kitten.cpp -msgid "This is a remote control. Being a robot, you keep a wide berth." +msgid "This is a remote control. Being a robot, you keep a wide berth." msgstr "" -"Este é um controle remoto. Sendo um robô, você mantém um amplo espaço." #: src/iuse_software_kitten.cpp msgid "It's a roll of industrial-strength copper wire." msgstr "É um rolo de fio de cobre de força industrial." #: src/iuse_software_kitten.cpp -msgid "Oh boy! Grub! Er, grubs." -msgstr "Oh garoto! Grub! Er, larvas." +msgid "Oh boy! Grub! Er, grubs." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A puddle of mud, where the mudskippers play." @@ -206841,20 +215133,20 @@ msgid "An autographed copy of \"Primary Colors\", by Anonymous." msgstr "Uma cópia autografada de \\ 'Cores Primárias \\', por Anônimo." #: src/iuse_software_kitten.cpp -msgid "Another rabbit? That's three today!" -msgstr "Outro coelho? São três hoje!" +msgid "Another rabbit? That's three today!" +msgstr "Mais um coelho? Já são três hoje!" #: src/iuse_software_kitten.cpp -msgid "It's a segmentation fault. Core dumped, by the way." -msgstr "É uma falha de segmentação. Núcleo despejado, a propósito." +msgid "It's a segmentation fault. Core dumped, by the way." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A historical marker showing the actual location of /dev/null." msgstr "Um marcador histórico que mostra a localização real de / dev / null." #: src/iuse_software_kitten.cpp -msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" -msgstr "Mobius Dick de Thar, a baleia complicada. Arrr!" +msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's a charcoal briquette, smoking away." @@ -206873,8 +215165,8 @@ msgid "A stack of 7 inch floppies wobbles precariously." msgstr "Uma pilha de disquetes de 7 polegadas oscila precariamente." #: src/iuse_software_kitten.cpp -msgid "It's nothing but a corrupted floppy. Coaster anyone?" -msgstr "Não é nada além de um disquete corrompido. Coaster alguém?" +msgid "It's nothing but a corrupted floppy. Coaster anyone?" +msgstr "" #: src/iuse_software_kitten.cpp msgid "A section of glowing phosphor cells sings a song of radiation to you." @@ -206919,8 +215211,8 @@ msgid "It's the missing chapter to \"A Clockwork Orange\"." msgstr "É o capítulo que falta para \\ 'A Clockwork Orange \\'." #: src/iuse_software_kitten.cpp -msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." -msgstr "É um panfleto de carrinho de burrito. \\ 'Taqueria El Ranchito \\'." +msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." +msgstr "" #: src/iuse_software_kitten.cpp msgid "This smiling family is happy because they eat LARD." @@ -206947,28 +215239,24 @@ msgid "A forgotten telephone switchboard operator." msgstr "Um operador de quadro de telefone esquecido." #: src/iuse_software_kitten.cpp -msgid "It's an automated robot-disdainer. It pretends you're not there." +msgid "It's an automated robot-disdainer. It pretends you're not there." msgstr "" -" É um desmantelador de robôs automatizado. Ele finge que você não está lá." #: src/iuse_software_kitten.cpp -msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." -msgstr "É um buraco portátil. Uma placa diz: 'Fechado para o inverno'." +msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Just a moldy loaf of bread." msgstr "Apenas um pão mofado." #: src/iuse_software_kitten.cpp -msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." +msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." msgstr "" -" Uma pequena banheira de vidro de Carmex. ($ 0,89) Pena que você não tem " -"lábios." #: src/iuse_software_kitten.cpp -msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" +msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" msgstr "" -" Um canivete suíço. Todos os seus apêndices estão fora. (palito perdido)" #: src/iuse_software_kitten.cpp msgid "It's a zen simulation, trapped within an ASCII character." @@ -206988,17 +215276,16 @@ msgstr "" " Um tomate maduro e disposto lamenta sua incapacidade de digerir a fruta." #: src/iuse_software_kitten.cpp -msgid "A robot comedian. You feel amused." -msgstr "Um comediante robô. Você se sente divertido." +msgid "A robot comedian. You feel amused." +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's KITT, the talking car." msgstr "É o KITT, o carro falante." #: src/iuse_software_kitten.cpp -msgid "Here's Pete Peterson. His batteries seem to have long gone dead." +msgid "Here's Pete Peterson. His batteries seem to have long gone dead." msgstr "" -" Aqui está Pete Peterson. Suas baterias parecem ter morrido há muito tempo." #: src/iuse_software_kitten.cpp msgid "\"Blup, blup, blup\", says the mud pot." @@ -207025,18 +215312,16 @@ msgid "Pumpkin pie spice." msgstr "Tempero torta de abóbora." #: src/iuse_software_kitten.cpp -msgid "It's the Bass-Matic '76! Mmm, that's good bass!" -msgstr "É o Bass-Matic '76! Mmm, isso é bom baixo!" +msgid "It's the Bass-Matic '76! Mmm, that's good bass!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "\"Lend us a fiver 'til Thursday\", pleas Andy Capp." msgstr "'Nos empreste um quinto até a quinta-feira', diz Andy Capp." #: src/iuse_software_kitten.cpp -msgid "It's a tape of '70s rock. All original hits! All original artists!" +msgid "It's a tape of '70s rock. All original hits! All original artists!" msgstr "" -" É uma fita de rock dos anos 70. Todos os sucessos originais! Todos os " -"artistas originais!" #: src/iuse_software_kitten.cpp msgid "You've found the fabled America Online disk graveyard!" @@ -207052,15 +215337,13 @@ msgstr "É o meta-objeto surpreendente." #: src/iuse_software_kitten.cpp msgid "" -"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " +"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " "SIR!\"" msgstr "" -" Ed McMahon está aqui perdido em pensamentos. Vendo você, ele grita: 'SIM " -"SENHOR! \"" #: src/iuse_software_kitten.cpp -msgid "...thingy???" -msgstr "... coisinha ???" +msgid "…thingy???" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's 1000 secrets the government doesn't want you to know!" @@ -207071,11 +215354,11 @@ msgid "The letters O and R." msgstr "As letras O e R." #: src/iuse_software_kitten.cpp -msgid "A magical... magic thing." -msgstr "Uma coisa magica ... mágica." +msgid "A magical… magic thing." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" +msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" msgstr "" #: src/iuse_software_kitten.cpp @@ -207108,16 +215391,11 @@ msgstr ")." #: src/iuse_software_kitten.cpp msgid "" -"Your job is to find kitten. This task is complicated by the existence of " -"various things which are not kitten. Robot must touch items to determine if " -"they are kitten or not. The game ends when robot finds kitten. " +"Your job is to find kitten. This task is complicated by the existence of " +"various things which are not kitten. Robot must touch items to determine if" +" they are kitten or not. The game ends when robot finds kitten. " "Alternatively, you may end the game by hitting 'q', 'Q' or the Escape key." msgstr "" -" Seu trabalho é encontrar gatinho. Esta tarefa é complicada pela existência " -"de várias coisas que não são gatinhas. O robô deve tocar nos itens para " -"determinar se eles são gatinhos ou não. O jogo termina quando o robô " -"encontra gatinho. Alternativamente, você pode terminar o jogo pressionando " -"'q', 'Q' ou a tecla Escape." #: src/iuse_software_kitten.cpp msgid "Press any key to start." @@ -207128,8 +215406,8 @@ msgid "Invalid command: Use direction keys or press 'q'." msgstr "Comando inválido: use as teclas de direção ou pressione 'q'." #: src/iuse_software_kitten.cpp -msgid "You found kitten! Way to go, robot!" -msgstr "Você achou gatinho! Muito bem, robô!" +msgid "You found kitten! Way to go, robot!" +msgstr "" #: src/iuse_software_lightson.cpp msgid " toggle lights" @@ -207202,8 +215480,8 @@ msgid "lag" msgstr " equipe" #: src/iuse_software_minesweeper.cpp -msgid "Boom, you're dead! Better luck next time." -msgstr "Boom, você está morto! Mais sorte da próxima vez." +msgid "Boom, you're dead! Better luck next time." +msgstr "" #: src/iuse_software_snake.cpp src/iuse_software_sokoban.cpp #, c-format @@ -207505,6 +215783,10 @@ msgstr "" msgid "You cast %s!" msgstr "" +#: src/magic.cpp +msgid "an explosion" +msgstr "" + #: src/magic.cpp msgid "Too Difficult!" msgstr "" @@ -207537,10 +215819,6 @@ msgstr "" msgid "infinite" msgstr "" -#: src/magic.cpp -msgid "an explosion" -msgstr "" - #: src/magic.cpp #, c-format msgid "%s and %s" @@ -207579,6 +215857,23 @@ msgstr "" msgid "All knowledge of %s leaves you." msgstr "" +#: src/magic.cpp +msgid "Choose a new hotkey for this spell." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey already used." +msgstr "" + +#: src/magic.cpp +#, c-format +msgid "%c set. Close and reopen spell menu to refresh list with changes." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey removed." +msgstr "" + #: src/magic.cpp msgid "Ignore Distractions" msgstr "" @@ -207587,6 +215882,10 @@ msgstr "" msgid "Popup Distractions" msgstr "" +#: src/magic.cpp +msgid "Assign Hotkey [=]" +msgstr "" + #: src/magic.cpp msgid "requires concentration" msgstr "" @@ -207651,6 +215950,10 @@ msgstr "" msgid "Casting Cost (impeded)" msgstr "" +#: src/magic.cpp +msgid "Not Enough Energy" +msgstr "" + #: src/magic.cpp msgid "Casting Time" msgstr "" @@ -207719,18 +216022,22 @@ msgstr "" msgid "Damage Type" msgstr "" +#. ~ translation should not exceed 10 console cells #: src/magic.cpp msgid "Stat Gain" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "lvl 0" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "per lvl" msgstr "" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "max lvl" msgstr "" @@ -207784,8 +216091,8 @@ msgid "Choose Translocator Gate" msgstr "" #: src/main.cpp -msgid "Really Quit? All unsaved changes will be lost." -msgstr "Quer mesmo sair? Todas as alterações não salvas serão perdidas." +msgid "Really Quit? All unsaved changes will be lost." +msgstr "" #: src/main_menu.cpp msgid "Bugs? Suggestions? Use links in MOTD to report them." @@ -207904,21 +216211,24 @@ msgid "olors" msgstr " cheiros" #: src/main_menu.cpp -msgid "Unable to make config directory. Check permissions." +msgid "Unable to make config directory. Check permissions." msgstr "" -" Não é possível fazer o diretório de configuração. Verifique as permissões." #: src/main_menu.cpp -msgid "Unable to make save directory. Check permissions." -msgstr "Impossível fazer diretório para jogos salvos. Cheque permissões." +msgid "Unable to make save directory. Check permissions." +msgstr "" #: src/main_menu.cpp -msgid "Unable to make templates directory. Check permissions." -msgstr "Impossível fazer diretório para amostras salvas. Cheque permissões." +msgid "Unable to make templates directory. Check permissions." +msgstr "" #: src/main_menu.cpp -msgid "Unable to make sound directory. Check permissions." -msgstr "Não é possível criar o diretório de som. Verifique as permissões." +msgid "Unable to make sound directory. Check permissions." +msgstr "" + +#: src/main_menu.cpp +msgid "Unable to make graphics directory. Check permissions." +msgstr "" #: src/main_menu.cpp msgid "Really quit?" @@ -207945,8 +216255,8 @@ msgstr "Pesonagem Aleatório " #: src/main_menu.cpp msgctxt "Main Menu|New Game" -msgid "Play Now! (ixed Scenario)" -msgstr "Jogue agora! ( Cenário ixed)" +msgid "Play Now! (ixed Scenario)" +msgstr "" #: src/main_menu.cpp msgctxt "Main Menu|New Game" @@ -207994,6 +216304,12 @@ msgstr "Apenas o administrador pode alterar mundos." msgid "Create World" msgstr "Criar mundo" +#. ~ %1$s: vehicle name +#: src/map.cpp +#, c-format +msgid "weight of %1$s" +msgstr "" + #: src/map.cpp #, c-format msgid "The %1$s's %2$s collides with %3$s's %4$s." @@ -208055,6 +216371,17 @@ msgstr "" msgid "Falling %s hits " msgstr "" +#: src/map.cpp +#, c-format +msgid "The %s damages several items!" +msgstr "" + +#. ~ %1$s: the cause of damage, %2$s: damaged item name +#: src/map.cpp +#, c-format +msgid "The %1$s damages the %2$s!" +msgstr "" + #: src/map.cpp msgid "an alarm go off!" msgstr "um alarme dispara!" @@ -208071,18 +216398,34 @@ msgstr "Você é esmagado pelos destroços que caem!" msgid " is crushed by the falling debris!" msgstr " é esmagado pela queda de detritos!" -#: src/map.cpp -msgid "The shot is stopped by the reinforced glass wall!" -msgstr "O tiro é interrompido pela parede de vidro reforçada!" - #: src/map.cpp msgid "The shot is stopped by the reinforced glass door!" msgstr "O tiro é interrompido pela porta de vidro reforçada!" +#: src/map.cpp +msgid "The shot is stopped by the reinforced glass wall!" +msgstr "O tiro é interrompido pela parede de vidro reforçada!" + #: src/map.cpp msgid "ke-rash!" msgstr "ke-erupção!" +#: src/map.cpp +msgid "laser beam" +msgstr "" + +#: src/map.cpp +msgid "bolt of electricity" +msgstr "" + +#: src/map.cpp +msgid "bolt of plasma" +msgstr "" + +#: src/map.cpp +msgid "flying projectile" +msgstr "" + #: src/map.cpp msgid "The metal bars melt!" msgstr "As barras de metal derretem!" @@ -208144,8 +216487,8 @@ msgid "Something has crawled out of the %s!" msgstr "" #: src/map_extras.cpp -msgid "DANGER! MINEFIELD!" -msgstr "PERIGO! CAMPO MINADO!" +msgid "DANGER! MINEFIELD!" +msgstr "" #: src/map_field.cpp #, c-format @@ -208195,8 +216538,8 @@ msgid "The sap sticks to !" msgstr "A seiva adere a !" #: src/map_field.cpp -msgid "The sludge is thick and sticky. You struggle to pull free." -msgstr "O lodo é grosso e pegajoso. Você luta para se libertar." +msgid "The sludge is thick and sticky. You struggle to pull free." +msgstr "" #: src/map_field.cpp msgid "You burn your legs and feet!" @@ -208578,26 +216921,48 @@ msgstr "" #: src/martialarts.cpp #, c-format -msgid "The %s is not a valid %s weapon." +msgid "The %1$s is not a valid %2$s weapon." msgstr "" #: src/martialarts.cpp -#, c-format -msgid "Type: %s" +msgid "Block Counter" +msgstr "" + +#: src/martialarts.cpp +msgid "Dodge Counter" +msgstr "" + +#: src/martialarts.cpp +msgid "Miss Recovery" +msgstr "" + +#: src/martialarts.cpp +msgid "Defensive" msgstr "" #: src/martialarts.cpp -msgid "defensive" -msgstr "defensiva" +msgid "Offensive" +msgstr "" #: src/martialarts.cpp -msgid "offensive" -msgstr "ofensiva" +#, c-format +msgid "Type: %s" +msgstr "" #: src/martialarts.cpp msgid "Bonus: " msgstr " Bônus: " +#: src/martialarts.cpp +#, c-format +msgid "* Greater chance to activate: +%s%%" +msgstr "" + +#: src/martialarts.cpp +#, c-format +msgid "* Lower chance to activate: 1/%s" +msgstr "" + #: src/martialarts.cpp msgid "* Can activate on a normal or a crit hit" msgstr "" @@ -208622,6 +216987,14 @@ msgstr "" msgid "* Only works on a stunned target" msgstr "" +#: src/martialarts.cpp +msgid "* Only works on a humanoid target" +msgstr "" + +#: src/martialarts.cpp +msgid "* Causes extra damage on knockback collision." +msgstr "" + #: src/martialarts.cpp msgid "* Will counterattack when you dodge" msgstr "" @@ -208685,6 +217058,11 @@ msgstr "" msgid "* Will disarm the target" msgstr "* Vai desarmar o alvo" +#: src/martialarts.cpp +msgid "" +"* Will disarm the target and take their weapon" +msgstr "" + #: src/martialarts.cpp msgid "" "This style forces you to use unarmed strikes, even if wielding a " @@ -208837,7 +217215,7 @@ msgstr[1] "" #. ~ There will be a 120mm HEAT shell sent at high speed to your location next #. turn. #: src/mattack_actors.cpp src/monattack.cpp -msgid "You're not sure why you've got a laser dot on you..." +msgid "You're not sure why you've got a laser dot on you…" msgstr "" #: src/mattack_actors.cpp src/monattack.cpp @@ -208936,6 +217314,20 @@ msgstr "Você acertou alguma coisa." msgid "You swing at the air." msgstr "Você balança no ar." +#: src/melee.cpp +msgid " disarms you and takes your weapon!" +msgstr "" + +#: src/melee.cpp +#, c-format +msgid "You disarm %s and take their weapon!" +msgstr "" + +#: src/melee.cpp +#, c-format +msgid " disarms %s and takes their weapon!" +msgstr "" + #: src/melee.cpp msgid " disarms you!" msgstr " desarma você!" @@ -208957,11 +217349,6 @@ msgid_plural "%d enemies hit!" msgstr[0] "" msgstr[1] "" -#: src/melee.cpp -#, c-format -msgid "You have learned %s from extensive practice with the CQB Bionic." -msgstr "" - #. ~ Adjective in "You block of the damage with your . #: src/melee.cpp msgid "all" @@ -209002,6 +217389,10 @@ msgstr "" msgid " blocks %1$s of the damage with their %2$s!" msgstr "" +#: src/melee.cpp src/player.cpp +msgid "You try to counterattack but you are too exhausted!" +msgstr "" + #: src/melee.cpp #, c-format msgid "You poison %s!" @@ -209283,7 +217674,7 @@ msgstr "" #. ~ someone hits something for %d damage (critical) #: src/melee.cpp #, c-format -msgid "%s for %d damage. Critical!" +msgid "%s for %d damage. Critical!" msgstr "" #. ~ NPC hits something @@ -210627,7 +219018,7 @@ msgstr "" #: src/messages.cpp #, c-format msgid "" -"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" +"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" "Examples:\n" " good:mutation\n" " :you pick up: 1\n" @@ -210678,13 +219069,9 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Assigning one of your allies to patrol the surrounding wilderness and isolated buildings presents the opportunity to build survival skills while engaging in relatively safe combat against isolated creatures." msgstr "" -" Lucro: $ 25- $ 500 \n" -" Perigo: Baixo \n" -" Tempo: missões de 10 horas \n" -" \\ nAtribuir a um de seus aliados para patrulhar a natureza e construções isoladas apresenta a oportunidade de construir habilidades de sobrevivência enquanto se envolve em combate relativamente seguro contra criaturas isoladas.\n" #: src/mission_companion.cpp msgid "Assign Scavenging Patrol" @@ -210695,17 +219082,13 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Patrol Roster:\n" msgstr "" -" Lucro: $ 25- $ 500 \n" -" Perigo: Baixo \n" -" Tempo: Missões de 10 horas \n" -" \\ nRelato de Patrulha: \n" #: src/mission_companion.cpp -msgid " hours] \n" -msgstr "horas] \n" +msgid " hours]\n" +msgstr "" #: src/mission_companion.cpp msgid "Retrieve Scavenging Patrol" @@ -210716,13 +219099,9 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Scavenging raids target formerly populated areas to loot as many valuable items as possible before being surrounded by the undead. Combat is to be expected and assistance from the rest of the party can't be guaranteed. The rewards are greater and there is a chance of the companion bringing back items." msgstr "" -" Lucro: $ 200 - $ 1000 \n" -" Perigo: Médio \n" -" Tempo: missões de 10 horas \n" -" \\ nAs incursões de escavação visam áreas anteriormente povoadas para roubar o maior número possível de itens valiosos antes de serem cercados pelos mortos-vivos. O combate é esperado e a assistência do resto da parte não pode ser garantida. As recompensas são maiores e existe a chance de o companheiro trazer de volta itens.\n" #: src/mission_companion.cpp msgid "Assign Scavenging Raid" @@ -210733,13 +219112,9 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Raid Roster:\n" msgstr "" -" Lucro: $ 200 a $ 1000 \n" -" Perigo: Médio \n" -" Tempo: missões de 10 horas \n" -" \\ nRaça de Empréstimo: \n" #: src/mission_companion.cpp msgid "Retrieve Scavenging Raid" @@ -210754,9 +219129,9 @@ msgid "" "Profit: $8/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Assigning one of your allies to menial labor is a safe way to teach them basic skills and build reputation with the outpost. Don't expect much of a reward though.\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" @@ -210769,14 +219144,9 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Carpentry work requires more skill than menial labor while offering modestly improved pay. It is unlikely that your companions will face combat but there are hazards working on makeshift buildings." msgstr "" -" Lucro: $ 12 / hora \n" -" Perigo: Mínimo \n" -" Tempo: mínimo de 1 hora \n" -" \n" -" O trabalho de carpintaria requer mais habilidade do que trabalho braçal, ao mesmo tempo em que oferece um pagamento modestamente melhorado. É improvável que seus companheiros enfrentem combate, mas há perigos trabalhando em construções improvisadas.\n" #: src/mission_companion.cpp msgid "Assign Ally to Carpentry Work" @@ -210787,13 +219157,9 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -" Lucro: $ 12 / hora \n" -" Perigo: Mínimo \n" -" Tempo: mínimo de 1 hora \n" -" \\ nLinha de Trabalhos: \n" #: src/mission_companion.cpp msgid "Recover Ally from Carpentry Work" @@ -210802,8 +219168,8 @@ msgstr "Recuperar Aliado do Trabalho de Carpintaria" #: src/mission_companion.cpp msgid "" "Cost: $1000\n" -" \n" -" \n" +"\n" +"\n" " .........\n" " .........\n" " .........\n" @@ -210813,22 +219179,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" -"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours... after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." +"\n" +"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours… after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." msgstr "" -" Custo: $ 1000 \n" -" \n" -" \n" -" ......... \n" -" ......... \n" -" ......... \n" -" ......... \n" -" ......... \n" -" ......... \n" -" .. # .... ** \n" -" .. # Ov .. ** \\ n ... O | .... \n" -" \n" -" Estamos dispostos a permitir que você compre um campo com um desconto substancial para usar em suas próprias empresas agrícolas. Nós vamos ará-lo para você, então você sabe exatamente o que é seu ... depois de ter um campo, você pode contratar trabalhadores para plantar ou colher as colheitas para você. Se a safra é algo que temos demanda, estaremos dispostos a liquidá-la.\n" #: src/mission_companion.cpp msgid "Purchase East Field" @@ -210837,7 +219190,7 @@ msgstr "Compra Campo Leste" #: src/mission_companion.cpp msgid "" "Cost: $5500\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -210848,22 +219201,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "Protecting your field with a sturdy picket fence will keep most wildlife from nibbling your crops apart. You can expect yields to increase." msgstr "" -" Custo: $ 5500 \n" -" \n" -" \n" -" ......... \n" -" ......... \n" -" ......... \n" -" ......... \n" -" ......... \n" -" ......... \n" -" .. # .... ** \n" -" .. # Ov .. ** \\ n ... O | .... \n" -" \n" -" Proteger seu campo com uma cerca de estaca robusta impedirá que a maioria dos animais selvagens morda suas plantações. Você pode esperar que os rendimentos aumentem.\n" #: src/mission_companion.cpp msgid "Upgrade East Field I" @@ -210872,7 +219212,7 @@ msgstr "Atualizar Campo Leste I" #: src/mission_companion.cpp msgid "" "Cost: $3.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -210883,23 +219223,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "We'll plant the field with your choice of crop if you are willing to finance it. When the crop is ready to harvest you can have us liquidate it or harvest it for you." msgstr "" -" Custo: $ 3,00 / lote \n" -" \n" -" \n" -" ......... \n" -" ......... \n" -" ......... \n" -" ...... ... \n" -" ......... \n" -" ......... \n" -" .. # .... ** \n" -" .. # Ov .. ** \\ n ... \n" -" \n" -" \n" -" Nós plantaremos o campo com sua escolha de cultura se você estiver disposto a financiá-lo. Quando a colheita estiver pronta para colheita, você pode nos fazer liquidar ou colher para você.\n" #: src/mission_companion.cpp msgid "Plant East Field" @@ -210908,7 +219234,7 @@ msgstr "Plant East Field" #: src/mission_companion.cpp msgid "" "Cost: $2.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -210919,22 +219245,9 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "You can either have us liquidate the crop and give you the cash or pay us to harvest it for you." msgstr "" -" Custo: $ 2.00 / lote \n" -" \n" -" \n" -" ......... \n" -" ......... \n" -" ......... \n" -" ...... ... \n" -" ......... \n" -" ......... \n" -" .. # .... ** \n" -" .. # Ov .. ** \\ n .. .O | .... \n" -" \n" -" Você pode nos fazer liquidar a colheita e dar-lhe o dinheiro ou nos pagar para colhê-lo para você.\n" #: src/mission_companion.cpp msgid "Harvest East Field" @@ -210945,13 +219258,9 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Foraging for food involves dispatching a companion to search the surrounding wilderness for wild edibles. Combat will be avoided but encounters with wild animals are to be expected. The low pay is supplemented with the odd item as a reward for particularly large hauls." msgstr "" -" Lucro: US $ 10 / hora \n" -" Peso: Baixo \n" -" Tempo: mínimo de 4 horas \n" -" \\ nProcurar alimentos envolve despachar um acompanhante para pesquisar o deserto em busca de comestíveis silvestres. O combate será evitado, mas os encontros com animais selvagens são esperados. A baixa remuneração é complementada com o item ímpar como recompensa por lances particularmente grandes.\n" #: src/mission_companion.cpp msgid "Assign Ally to Forage for Food" @@ -210962,14 +219271,9 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -" Lucro: $ 10 / hora \n" -" Peso: Baixo \n" -" Tempo: mínimo de 4 horas \n" -" \n" -" Linha de Trabalhos: \n" #: src/mission_companion.cpp msgid "Recover Ally from Foraging" @@ -210980,18 +219284,11 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" +"\n" "Adding companions to the caravan team increases the likelihood of success. By nature, caravans are extremely tempting targets for raiders or hostile groups so only a strong party is recommended. The rewards are significant for those participating but are even more important for the factions that profit.\n" -" \n" +"\n" "The commune is sending food to the Free Merchants in the Refugee Center as part of a tax and in exchange for skilled labor." msgstr "" -" Lucro: $ 18 / hora \n" -" Peso: Alto \n" -" Tempo: DESCONHECIDO \n" -" \n" -" Adicionar os acompanhantes à equipe da caravana aumenta a probabilidade de sucesso. Por natureza, as caravanas são alvos extremamente tentadores para invasores ou grupos hostis, então apenas uma parte forte é recomendada. As recompensas são significativas para os participantes, mas são ainda mais importantes para as facções que lucram. \n" -" \n" -" A comuna está enviando comida para os comerciantes livres no Centro de Refugiados como parte de um imposto e em troca de mão de obra qualificada.\n" #: src/mission_companion.cpp msgid "Caravan Commune-Refugee Center" @@ -211002,36 +219299,29 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" -" \n" +"\n" +"\n" "Roster:\n" msgstr "" -" Lucro: US $ 18 / hora \n" -" Peso: Alto \n" -" Tempo: DESCONHECIDO \n" -" \n" -" \\ nRótulo: \n" #: src/mission_companion.cpp -msgid " [READY] \n" -msgstr "[PRONTO] \n" +msgid " [READY]\n" +msgstr "" #: src/mission_companion.cpp -msgid " [COMPLETE] \n" -msgstr "[COMPLETO] \n" +msgid " [COMPLETE]\n" +msgstr "" #: src/mission_companion.cpp -msgid " Hours] \n" -msgstr "Horas] \n" +msgid " Hours]\n" +msgstr "" #: src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "The caravan will contain two or three additional members from the commune, are you ready to depart?" msgstr "" -" \n" -" A caravana conterá dois ou três membros adicionais da comuna, você está pronto para partir?\n" #: src/mission_companion.cpp msgid "Begin Commune-Refugee Center Run" @@ -211042,36 +219332,36 @@ msgid "Recover Commune-Refugee Center" msgstr "Recuperar Centro de Refugiados Comunais" #: src/mission_companion.cpp -msgid "There are no missions at this colony. Press Spacebar..." -msgstr "Não há missões nesta colônia. Pressione a barra de espaço..." +msgid "There are no missions at this colony. Press Spacebar…" +msgstr "" #: src/mission_companion.cpp -msgid "joins the caravan team..." -msgstr "junta-se ao time da caravana ..." +msgid "joins the caravan team…" +msgstr "" #: src/mission_companion.cpp -msgid "departs on the scavenging patrol..." -msgstr "parte na patrulha de limpeza ..." +msgid "departs on the scavenging patrol…" +msgstr "" #: src/mission_companion.cpp -msgid "departs on the scavenging raid..." -msgstr "parte no ataque de limpeza ..." +msgid "departs on the scavenging raid…" +msgstr "" #: src/mission_companion.cpp -msgid "departs to work as a laborer..." -msgstr "parte para trabalhar como operário ..." +msgid "departs to work as a laborer…" +msgstr "" #: src/mission_companion.cpp -msgid "departs to work as a carpenter..." -msgstr "parte para trabalhar como carpinteiro ..." +msgid "departs to work as a carpenter…" +msgstr "" #: src/mission_companion.cpp -msgid "departs to forage for food..." -msgstr "parte para procurar comida ..." +msgid "departs to forage for food…" +msgstr "" #: src/mission_companion.cpp #, c-format -msgid "The caravan departs with an estimated total travel time of %d hours..." +msgid "The caravan departs with an estimated total travel time of %d hours…" msgstr "" #: src/mission_companion.cpp @@ -211097,9 +219387,8 @@ msgid "The caravan party has returned. Your share of the profits are $%d!" msgstr "" #: src/mission_companion.cpp -msgid "The caravan was a disaster and your companions never made it home..." +msgid "The caravan was a disaster and your companions never made it home…" msgstr "" -" A caravana foi um desastre e seus companheiros nunca chegaram em casa ..." #: src/mission_companion.cpp #, c-format @@ -211126,7 +219415,7 @@ msgstr "" #, c-format msgid "" "After counting your money %s directs a nearby laborer to begin constructing " -"a fence around your plot..." +"a fence around your plot…" msgstr "" #: src/mission_companion.cpp @@ -211134,14 +219423,12 @@ msgid "You have no seeds to plant!" msgstr "Você não tem sementes para plantar!" #: src/mission_companion.cpp -msgid "You have no room to plant seeds..." -msgstr "Você não tem espaço para plantar sementes ..." +msgid "You have no room to plant seeds…" +msgstr "" #: src/mission_companion.cpp -msgid "I'm sorry, you don't have enough money to plant those seeds..." +msgid "I'm sorry, you don't have enough money to plant those seeds…" msgstr "" -" Me desculpe, você não tem dinheiro suficiente para plantar essas sementes " -"..." #: src/mission_companion.cpp #, c-format @@ -211156,21 +219443,21 @@ msgid "" msgstr "" #: src/mission_companion.cpp -msgid "There aren't any plants that are ready to harvest..." -msgstr "Não há plantas prontas para colher ..." +msgid "There aren't any plants that are ready to harvest…" +msgstr "" #: src/mission_companion.cpp msgid "Which plants do you want to have harvested?" msgstr "Quais plantas você quer colher?" #: src/mission_companion.cpp -msgid "You decided to hold off for now..." -msgstr "Você decidiu adiar por agora ..." +msgid "You decided to hold off for now…" +msgstr "" #: src/mission_companion.cpp msgid "" "You don't have enough to pay the workers to harvest the crop so you are " -"forced to sell..." +"forced to sell…" msgstr "" #: src/mission_companion.cpp @@ -211180,19 +219467,19 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "The %s are sold for $%d..." +msgid "The %s are sold for $%d…" msgstr "" #: src/mission_companion.cpp #, c-format -msgid "You receive %d %s..." +msgid "You receive %d %s…" msgstr "" #: src/mission_companion.cpp #, c-format msgid "" "While scavenging, %s's party suddenly found itself set upon by a large mob " -"of undead..." +"of undead…" msgstr "" #: src/mission_companion.cpp @@ -211201,10 +219488,8 @@ msgstr "" "Através do pensamento rápido, o grupo foi capaz de escapar do combate!" #: src/mission_companion.cpp -msgid "Combat took place in close quarters, focusing on melee skills..." +msgid "Combat took place in close quarters, focusing on melee skills…" msgstr "" -" O combate ocorreu em locais próximos, concentrando-se em habilidades corpo " -"a corpo ..." #: src/mission_companion.cpp #, c-format @@ -211212,13 +219497,12 @@ msgid "Through brute force the party smashed through the group of %d undead!" msgstr "" #: src/mission_companion.cpp -msgid "Unfortunately they were overpowered by the undead... I'm sorry." -msgstr "Infelizmente eles foram dominados pelos mortos-vivos ... me desculpe." +msgid "Unfortunately they were overpowered by the undead… I'm sorry." +msgstr "" #: src/mission_companion.cpp #, c-format -msgid "" -"%s returns from patrol having earned $%d and a fair bit of experience..." +msgid "%s returns from patrol having earned $%d and a fair bit of experience…" msgstr "" #: src/mission_companion.cpp @@ -211237,7 +219521,7 @@ msgstr "" #: src/mission_companion.cpp #, c-format msgid "" -"%s returns from the raid having earned $%d and a fair bit of experience..." +"%s returns from the raid having earned $%d and a fair bit of experience…" msgstr "" #: src/mission_companion.cpp @@ -211249,7 +219533,7 @@ msgstr "" #, c-format msgid "" "%s returns from working as a laborer having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" #: src/mission_companion.cpp @@ -211261,7 +219545,7 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "While %s was framing a building one of the walls began to collapse..." +msgid "While %s was framing a building one of the walls began to collapse…" msgstr "" #: src/mission_companion.cpp @@ -211276,7 +219560,7 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "%s didn't make it out in time..." +msgid "%s didn't make it out in time…" msgstr "" #: src/mission_companion.cpp @@ -211285,8 +219569,8 @@ msgid "but %s was rescued from the debris with only minor injuries!" msgstr "" #: src/mission_companion.cpp -msgid "Everyone who was trapped under the collapsing roof died..." -msgstr "Todos que ficaram presos sob o teto desmoronado morreram ..." +msgid "Everyone who was trapped under the collapsing roof died…" +msgstr "" #: src/mission_companion.cpp msgid "I'm sorry, there is nothing we could do." @@ -211296,12 +219580,12 @@ msgstr "Desculpe, não há nada que possamos fazer." #, c-format msgid "" "%s returns from working as a carpenter having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" #: src/mission_companion.cpp #, c-format -msgid "While foraging, a beast began to stalk %s..." +msgid "While foraging, a beast began to stalk %s…" msgstr "" #: src/mission_companion.cpp @@ -211334,18 +219618,18 @@ msgstr "" #, c-format msgid "" "%s was able to hold off the first wolf but the others that were skulking in " -"the tree line caught up..." +"the tree line caught up…" msgstr "" #: src/mission_companion.cpp -msgid "I'm sorry, there wasn't anything we could do..." -msgstr "Me desculpe, não havia nada que pudéssemos fazer ..." +msgid "I'm sorry, there wasn't anything we could do…" +msgstr "" #: src/mission_companion.cpp #, c-format msgid "" -"We... we don't know what exactly happened but we found %s's gear ripped and " -"bloody..." +"We… we don't know what exactly happened but we found %s's gear ripped and " +"bloody…" msgstr "" #: src/mission_companion.cpp @@ -211356,7 +219640,7 @@ msgstr "Temo que seu companheiro não retorne." #, c-format msgid "" "%s returns from working as a forager having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" #: src/mission_companion.cpp @@ -211388,33 +219672,59 @@ msgid "Engagement between %d members of %s %s and %d members of %s %s%s!" msgstr "" #: src/mission_companion.cpp -msgid "You don't have any companions to send out..." -msgstr "Você não tem nenhum acompanhante para enviar ..." +msgid "You don't have any companions to send out…" +msgstr "" #: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" -msgstr "Quem você quer enviar? [COMBATE: SOBREVIVENCIA: INDÚSTRIA]" +msgid "Who do you want to send?" +msgstr "" + +#: src/mission_companion.cpp +msgid "[ COMBAT : SURVIVAL : INDUSTRY ]" +msgstr "" + +#. ~ %1$s: npc name +#: src/mission_companion.cpp +#, c-format +msgctxt "companion" +msgid "%1$s (Guarding)" +msgstr "" + +#: src/mission_companion.cpp +#, c-format +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" +msgstr "" + +#. ~ %1$s: skill name, %2$d: companion skill level +#: src/mission_companion.cpp +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d" +msgstr "" +#. ~ %1$s: skill name, %2$d: companion skill level, %3$d: skill requirement #: src/mission_companion.cpp -msgid "You choose to send no one..." -msgstr "Você escolhe não mandar ninguém ..." +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d/%3$d" +msgstr "" #: src/mission_companion.cpp -msgid "The companion you selected doesn't have the skills!" -msgstr "O acompanhante que você selecionou não tem as habilidades!" +msgid "You choose to send no one…" +msgstr "" #: src/mission_companion.cpp -msgid "You don't have any companions ready to return..." -msgstr "Você não tem nenhum companheiro pronto para retornar ..." +msgid "You don't have any companions ready to return…" +msgstr "" #: src/mission_companion.cpp msgid "Who should return?" msgstr "Quem deve retornar?" #: src/mission_companion.cpp -msgid "No one returns to your party..." -msgstr "Ninguém retorna a sua festa ..." +msgid "No one returns to your party…" +msgstr "" #: src/mission_end.cpp #, c-format @@ -211445,20 +219755,17 @@ msgid "Download Software" msgstr "Baixar software" #: src/mission_start.cpp -msgid "You don't know where the address could be..." -msgstr "Você não sabe onde o endereço poderia estar ..." +msgid "You don't know where the address could be…" +msgstr "" #: src/mission_start.cpp -msgid "You mark the refugee center and the road that leads to it..." -msgstr "Você marca o centro de refugiados e a estrada que leva a ele ..." +msgid "You mark the refugee center and the road that leads to it…" +msgstr "" #: src/mission_start.cpp msgid "" -"You mark the refugee center, but you have no idea how to get there by " -"road..." +"You mark the refugee center, but you have no idea how to get there by road…" msgstr "" -" Você marca o centro de refugiados, mas não tem ideia de como chegar lá por " -"estrada ..." #: src/mission_start.cpp msgid "Workstation" @@ -211534,7 +219841,7 @@ msgstr "Você não falhou em nenhuma missão!" #: src/mission_util.cpp #, c-format -msgid "%s also marks the road that leads to it..." +msgid "%s also marks the road that leads to it…" msgstr "" #: src/mission_util.cpp @@ -211923,14 +220230,6 @@ msgstr "receptor-THUMP." msgid "The root walls creak around you." msgstr "As paredes da raiz rangem ao seu redor." -#. ~ the sound of a fungus releasing spores -#. ~ That spore sound again -#. ~ the sound of a fungus dying -#. ~spore-release sound -#: src/monattack.cpp src/mondeath.cpp src/player.cpp -msgid "Pouf!" -msgstr "Puf!" - #: src/monattack.cpp #, c-format msgid "Spores are released from the %s!" @@ -211982,7 +220281,7 @@ msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s seems to wave you toward the tower..." +msgid "The %s seems to wave you toward the tower…" msgstr "" #: src/monattack.cpp @@ -211997,8 +220296,8 @@ msgid "The %1$s sinks its point into your %2$s!" msgstr "" #: src/monattack.cpp -msgid "You feel thousands of live spores pumping into you..." -msgstr "Você sente milhares de esporos vivos bombeando em você ..." +msgid "You feel thousands of live spores pumping into you…" +msgstr "" #. ~ 1$s is monster name, 2$s bodypart in accusative #: src/monattack.cpp @@ -212034,7 +220333,7 @@ msgstr "Você é empurrado para longe enquanto uma parede fúngica cresce!" #: src/monattack.cpp #, c-format -msgid "The %s spreads its tendrils. It seems as though it's expecting you..." +msgid "The %s spreads its tendrils. It seems as though it's expecting you…" msgstr "" #: src/monattack.cpp @@ -212047,7 +220346,7 @@ msgstr "" #: src/monattack.cpp #, c-format msgid "" -"The %s works several tendrils into your arms, legs, torso, and even neck..." +"The %s works several tendrils into your arms, legs, torso, and even neck…" msgstr "" #: src/monattack.cpp @@ -212071,11 +220370,9 @@ msgstr "Foi mostrado para o Portal Marloss." #. ~ Beginning to hear the Mycus while conscious: this is it speaking #: src/monattack.cpp msgid "" -"assistance, on an arduous quest. unity. together we have reached the door. " -"now to pass through..." +"assistance, on an arduous quest. unity. together we have reached the door." +" now to pass through…" msgstr "" -" assistência, numa árdua busca. unidade. juntos chegamos à porta. agora para" -" passar ..." #: src/monattack.cpp msgid "You're shoved away as a fungal hedgerow grows!" @@ -212097,8 +220394,8 @@ msgid "The %s takes aim, and spears at you with a massive tendril!" msgstr "" #: src/monattack.cpp -msgid "You feel millions of live spores pumping into you..." -msgstr "Você sente milhões de esporos vivos bombeando em você ..." +msgid "You feel millions of live spores pumping into you…" +msgstr "" #: src/monattack.cpp #, c-format @@ -212255,7 +220552,7 @@ msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s tries to grab you..." +msgid "The %s tries to grab you…" msgstr "" #: src/monattack.cpp @@ -212309,6 +220606,10 @@ msgstr "Você sente o veneno entrar em seu corpo!" msgid "The %s young triffid grows into an adult!" msgstr "" +#: src/monattack.cpp +msgid "You feel a strange reverberation accross your body." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s stares at you, and you shudder." @@ -212401,13 +220702,12 @@ msgid "" msgstr "" #: src/monattack.cpp -msgid "Probably some now-obsolete Internal Affairs subroutine..." +msgid "Probably some now-obsolete Internal Affairs subroutine…" msgstr "" -" Provavelmente alguma sub-rotina de Assuntos Internos, agora obsoleta ..." #: src/monattack.cpp -msgid "Ops used to do that in case you needed backup..." -msgstr "Ops costumava fazer isso no caso de você precisar de backup ..." +msgid "Ops used to do that in case you needed backup…" +msgstr "" #: src/monattack.cpp #, c-format @@ -212440,7 +220740,7 @@ msgid "The %s takes your picture!" msgstr "" #: src/monattack.cpp -msgid "... database connection lost!" +msgid "…database connection lost!" msgstr "" #: src/monattack.cpp @@ -212500,8 +220800,8 @@ msgstr "" #. ~ Potential grenading detected. #: src/monattack.cpp -msgid "Those laser dots don't seem very friendly..." -msgstr "Esses pontos de laser não parecem muito amigáveis ..." +msgid "Those laser dots don't seem very friendly…" +msgstr "" #: src/monattack.cpp msgid "Targeting." @@ -212548,24 +220848,24 @@ msgid "a police siren, whoop WHOOP" msgstr "uma sirene de polícia, whoop whoop" #: src/monattack.cpp -msgid "\"YOU... ARE FILTH...\"" -msgstr "'VOCÊ ... É FILTH ..." +msgid "\"YOU… ARE FILTH…\"" +msgstr "" #: src/monattack.cpp -msgid "\"VERMIN... YOU ARE VERMIN...\"" -msgstr "'VERMIN ... VOCÊ É VERMINA ..." +msgid "\"VERMIN… YOU ARE VERMIN…\"" +msgstr "" #: src/monattack.cpp -msgid "\"LEAVE NOW...\"" -msgstr "\\'SAIA AGORA...\"" +msgid "\"LEAVE NOW…\"" +msgstr "" #: src/monattack.cpp -msgid "\"WE... WILL FEAST... UPON YOU...\"" -msgstr "'NÓS ... FARNAMOS ... SOBRE VOCÊ ..." +msgid "\"WE… WILL FEAST… UPON YOU…\"" +msgstr "" #: src/monattack.cpp -msgid "\"FOUL INTERLOPER...\"" -msgstr "\\ 'FOUL INTERLOPER ... \"" +msgid "\"FOUL INTERLOPER…\"" +msgstr "" #. ~ %1$s is the name of the zombie upgrading the other, %2$s is the zombie #. being upgraded. @@ -212753,12 +221053,12 @@ msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s slashes at your neck! You duck!" +msgid "The %s slashes at your neck! You duck!" msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s slashes at 's neck! They duck!" +msgid "The %s slashes at 's neck! They duck!" msgstr "" #: src/monattack.cpp @@ -212859,8 +221159,8 @@ msgid "but you grab its arm and flip it to the ground!" msgstr "mas você agarra o braço dele e o joga no chão!" #: src/monattack.cpp -msgid "The flip does shock you..." -msgstr "O flip te choca ..." +msgid "The flip does shock you…" +msgstr "" #: src/monattack.cpp msgid "but you deftly spin out of its grasp!" @@ -212868,10 +221168,8 @@ msgstr "mas você habilmente sai de seu alcance!" #: src/monattack.cpp msgid "" -"Halt and submit to arrest, citizen! The police will be here any moment." +"Halt and submit to arrest, citizen! The police will be here any moment." msgstr "" -" Parar e se submeter a prisão, cidadão! A polícia estará aqui a qualquer " -"momento." #: src/monattack.cpp msgid "Please stay in place, citizen, do not make any movements!" @@ -213015,8 +221313,8 @@ msgstr "" #. ~ 1$s is bodypart name in accusative, 2$d is damage value. #: src/monattack.cpp #, c-format -msgid "The zombie kicks your %1$s for %2$d damage..." -msgstr "O zumbi chuta %1$s dando um dano equivalente a %2$d..." +msgid "The zombie kicks your %1$s for %2$d damage…" +msgstr "" #: src/monattack.cpp #, c-format @@ -213118,6 +221416,11 @@ msgstr "" msgid "The %1$s hits 's %2$s, but glances off armor!" msgstr "" +#: src/monattack.cpp +#, c-format +msgid "The %1$s fuses with the %2$s." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s doots its trumpet!" @@ -213229,8 +221532,8 @@ msgid "The %s melts away." msgstr "%s derrete." #: src/mondeath.cpp -msgid "Your obsession with the fault fades away..." -msgstr "Sua obsessão com a culpa desaparece..." +msgid "Your obsession with the fault fades away…" +msgstr "" #: src/mondeath.cpp msgid "As the final light is destroyed, it erupts in a blinding flare!" @@ -213318,11 +221621,6 @@ msgstr "" msgid "zombie slave" msgstr "escravo zumbi" -#: src/monexamine.cpp src/player.cpp -#, c-format -msgid "What to do with your %s?" -msgstr "" - #: src/monexamine.cpp #, c-format msgid "Push %s" @@ -213503,22 +221801,23 @@ msgstr "" #: src/monexamine.cpp #, c-format msgid "" -"Welcome to the %s Friendship Interface. What would you like to do?\n" +"Welcome to the %s Friendship Interface. What would you like to do?\n" "Your current friendship will last: %s" msgstr "" #: src/monexamine.cpp -msgid "Get more friendship. 10 cents/min" +msgid "Get more friendship. 10 cents/min" msgstr "" #: src/monexamine.cpp -msgid "Sadly you're not currently able to extend your friendship. - Quit menu" +msgid "" +"Sadly you're not currently able to extend your friendship. - Quit menu" msgstr "" #: src/monexamine.cpp #, c-format -msgid "How much friendship do you get? Max: %d minute. (0 to cancel) " -msgid_plural "How much friendship do you get? Max: %d minutes. " +msgid "How much friendship do you get? Max: %d minute. (0 to cancel)" +msgid_plural "How much friendship do you get? Max: %d minutes." msgstr[0] "" msgstr[1] "" @@ -213574,7 +221873,7 @@ msgstr "" #: src/monexamine.cpp #, c-format -msgid "%1$s is overburdened. You can't transfer your %2$s." +msgid "%1$s is overburdened. You can't transfer your %2$s." msgstr "" #: src/monexamine.cpp @@ -213804,6 +222103,16 @@ msgstr "massa gelatinosa" msgid "wearing %1$s" msgstr "" +#: src/monster.cpp +#, c-format +msgid "The %s" +msgstr "" + +#: src/monster.cpp +#, c-format +msgid "The %s's" +msgstr "" + #: src/monster.cpp #, c-format msgid "the %s's" @@ -213846,6 +222155,11 @@ msgstr "" msgid "Rider: %s" msgstr "" +#: src/monster.cpp +#, c-format +msgid " It is %s." +msgstr "" + #: src/monster.cpp msgid "Difficulty " msgstr "Dificuldade" @@ -214076,8 +222390,8 @@ msgid "You're envenomed!" msgstr "Você está envenenado!" #: src/monster.cpp -msgid "You feel venom flood your body, wracking you with pain..." -msgstr "Você se sente veneno inundar seu corpo, wracking você com dor ..." +msgid "You feel venom flood your body, wracking you with pain…" +msgstr "" #: src/monster.cpp msgid "You feel venom enter your body!" @@ -214214,6 +222528,14 @@ msgstr "" msgid "Total morale:" msgstr "" +#: src/morale.cpp +msgid "Pain level:" +msgstr "" + +#: src/morale.cpp +msgid "Fatigue level:" +msgstr "" + #: src/morale.cpp msgid "Focus trends towards:" msgstr "" @@ -214242,6 +222564,12 @@ msgstr "" msgid "Total negative morale" msgstr "" +#: src/mtype.cpp +msgid "human" +msgid_plural "humans" +msgstr[0] "humano" +msgstr[1] "humanos" + #: src/mutation.cpp #, c-format msgid "Your %s is destroyed!" @@ -214285,8 +222613,8 @@ msgstr "" #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp -msgid "wow! you look just like me! we should look out for each other!" -msgstr "Uau! você parece com eu! devemos olhar um para o outro!" +msgid "wow! you look just like me! we should look out for each other!" +msgstr "" #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp @@ -214320,10 +222648,8 @@ msgid "Bionic power storage increased by 100." msgstr "O armazenamento de energia biônico aumentou em 100." #: src/mutation.cpp -msgid "You feel something straining deep inside you, yearning to be free..." +msgid "You feel something straining deep inside you, yearning to be free…" msgstr "" -" Você sente algo se esforçando profundamente dentro de você, ansiando por " -"ser livre ..." #: src/mutation.cpp #, c-format @@ -214454,10 +222780,8 @@ msgid "Suffered a toxic marloss/mutagen reaction." msgstr "Sofreu uma reação tóxica marloss / mutagen." #: src/mutation.cpp -msgid "Something strains mightily for a moment... and then... you're... FREE!" +msgid "Something strains mightily for a moment… and then… you're… FREE!" msgstr "" -" Algo tensa poderosamente por um momento ... e então ... você está ... " -"GRÁTIS!" #: src/mutation.cpp msgid "Your appetite for blood fades." @@ -214474,8 +222798,8 @@ msgid "You stagger with a piercing headache!" msgstr "Você cambaleia com uma dor de cabeça penetrante!" #: src/mutation.cpp -msgid "Your head throbs with memories of your life, before all this..." -msgstr "Sua cabeça pulsa com memórias de sua vida, antes de tudo isso ..." +msgid "Your head throbs with memories of your life, before all this…" +msgstr "" #: src/mutation.cpp msgid "Images of your past life flash before you." @@ -214492,8 +222816,8 @@ msgid "Crossed a threshold" msgstr "Cruzou um limiar" #: src/mutation_data.cpp -msgid "Oh, yeah! That's the stuff!" -msgstr "Oh sim! Essa é a coisa!" +msgid "Oh, yeah! That's the stuff!" +msgstr "" #: src/mutation_ui.cpp msgid "Reassigning." @@ -214580,7 +222904,7 @@ msgstr "" #: src/mutation_ui.cpp #, c-format msgid "" -"Invalid mutation letter. Only those characters are valid:\n" +"Invalid mutation letter. Only those characters are valid:\n" "\n" "%s" msgstr "" @@ -214605,7 +222929,7 @@ msgstr "" msgid "Tom" msgstr "Tom" -#. ~ Used for constructing full name: %1$s is `family name`, %2$s is `given +#. ~ Used for constructing full name: %1$s is `given name`, %2$s is `family #. name` #: src/name.cpp #, c-format @@ -214613,8 +222937,8 @@ msgctxt "Full Name" msgid "%1$s %2$s" msgstr "" -#. ~ Used for constructing full name with nickname: %1$s is `family name`, -#. %2$s is `given name`, %3$s is `nickname` +#. ~ Used for constructing full name with nickname: %1$s is `given name`, %2$s +#. is `family name`, %3$s is `nickname` #: src/name.cpp #, c-format msgctxt "Full Name" @@ -214639,7 +222963,7 @@ msgstr "Forma livre" #: src/newcharacter.cpp src/player.cpp #, c-format -msgid "Select a style. (press %s for more info)" +msgid "Select a style. (press %s for more info)" msgstr "" #: src/newcharacter.cpp @@ -214671,14 +222995,14 @@ msgstr "CENÁRIO" msgid "PROFESSION" msgstr "PROFISSÃO" -#: src/newcharacter.cpp src/player_display.cpp -msgid "TRAITS" -msgstr "TRAÇOS" - #: src/newcharacter.cpp src/player_display.cpp msgid "STATS" msgstr "ESTATISTÍCAS" +#: src/newcharacter.cpp src/player_display.cpp +msgid "TRAITS" +msgstr "TRAÇOS" + #: src/newcharacter.cpp src/player_display.cpp msgid "SKILLS" msgstr "HABILIDADES" @@ -214710,7 +223034,7 @@ msgid "" msgstr "" " Stats, traits e skills têm pools de pontos separados. \n" " Posicionar pontos de stat em traits e skills é permitido e colocar pontos de traits em skills é permitido. \n" -" Os cenários e profissões afetam o pool de pontos de habilidade\n" +" Os cenários e profissões afetam o pool de pontos de habilidade" #: src/newcharacter.cpp msgid "Single pool" @@ -215079,7 +223403,7 @@ msgstr[1] "" #: src/newcharacter.cpp msgid "" -"This scenario is not available in this world due to city size settings. " +"This scenario is not available in this world due to city size settings." msgstr "" #: src/newcharacter.cpp @@ -215173,10 +223497,6 @@ msgstr "Estatísticas:" msgid "Traits: " msgstr "Traços:" -#: src/newcharacter.cpp -msgid "(Top 8)" -msgstr "(Top 8)" - #: src/newcharacter.cpp #, c-format msgid "Press %s to finish character creation or %s to go back." @@ -215253,9 +223573,8 @@ msgid "_______NO NAME ENTERED!_______" msgstr "_______NO NAME INSERIDO! _______" #: src/newcharacter.cpp -msgid "Are you SURE you're finished? Your name will be randomly generated." +msgid "Are you SURE you're finished? Your name will be randomly generated." msgstr "" -"Você tem CERTEZA que terminou? Seu nome será gerado de forma aleatória." #: src/newcharacter.cpp src/worldfactory.cpp msgid "Are you SURE you're finished?" @@ -215432,10 +223751,6 @@ msgstr "Assustado" msgid "Very afraid" msgstr "Muito assustado" -#: src/npc.cpp -msgid "Terrified" -msgstr "Aterrorizado" - #: src/npc.cpp msgid "Fear: " msgstr "Medo:" @@ -215558,6 +223873,54 @@ msgstr "" msgid "NPC Legacy Attitude" msgstr "" +#: src/npc.cpp +msgid "Cooking and butchering" +msgstr "" + +#: src/npc.cpp +msgid "Tidying and cleaning" +msgstr "" + +#: src/npc.cpp +msgid "Vehicle work" +msgstr "" + +#: src/npc.cpp +msgid "Building" +msgstr "" + +#: src/npc.cpp +msgid "Crafting" +msgstr "" + +#: src/npc.cpp +msgid "Guarding and patrolling" +msgstr "" + +#: src/npc.cpp +msgid "Working the fields" +msgstr "" + +#: src/npc.cpp +msgid "Chopping wood" +msgstr "" + +#: src/npc.cpp +msgid "Caring for the livestock" +msgstr "" + +#: src/npc.cpp +msgid "Hunting and fishing" +msgstr "" + +#: src/npc.cpp +msgid "Gathering edibles" +msgstr "" + +#: src/npc.cpp +msgid "Unknown job" +msgstr "" + #: src/npc.cpp msgid "Is trying to kill you." msgstr "Está tentando te matar." @@ -215653,8 +224016,8 @@ msgid "Hold still %s, I'm coming to help you." msgstr "" #: src/npcmove.cpp -msgid "Don't move a muscle..." -msgstr "Não mexa um ..." +msgid "Don't move a muscle…" +msgstr "" #: src/npcmove.cpp #, c-format @@ -215753,7 +224116,7 @@ msgstr "" #: src/npcmove.cpp #, c-format msgid "" -"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" +"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" msgstr "" #: src/npcmove.cpp @@ -215763,7 +224126,7 @@ msgstr "" #: src/npcmove.cpp #, c-format -msgid "My %s wound is infected..." +msgid "My %s wound is infected…" msgstr "" #: src/npcmove.cpp @@ -215776,8 +224139,8 @@ msgid "" msgstr "" #: src/npcmove.cpp -msgid "I'm suffering from radiation sickness..." -msgstr "Estou sofrendo de doença da radiação ..." +msgid "I'm suffering from radiation sickness…" +msgstr "" #: src/npcmove.cpp msgid "" @@ -215896,7 +224259,7 @@ msgid "Talk to %s" msgstr "" #: src/npctalk.cpp -msgid "Talk to ..." +msgid "Talk to…" msgstr "" #: src/npctalk.cpp @@ -215921,7 +224284,7 @@ msgid "Tell %s to follow" msgstr "" #: src/npctalk.cpp -msgid "Tell someone to follow..." +msgid "Tell someone to follow…" msgstr "" #: src/npctalk.cpp @@ -215930,7 +224293,7 @@ msgid "Tell %s to guard" msgstr "" #: src/npctalk.cpp -msgid "Tell someone to guard..." +msgid "Tell someone to guard…" msgstr "" #: src/npctalk.cpp @@ -215954,7 +224317,7 @@ msgid "Tell everyone on your team to relax (Clear Overrides)" msgstr "" #: src/npctalk.cpp -msgid "Tell everyone on your team to temporarily..." +msgid "Tell everyone on your team to temporarily…" msgstr "" #: src/npctalk.cpp @@ -216053,7 +224416,7 @@ msgstr "Você é surdo e não pode falar." #: src/npctalk.cpp #, c-format msgid "" -"&You are deaf and can't talk. When you don't respond, %s becomes angry!" +"&You are deaf and can't talk. When you don't respond, %s becomes angry!" msgstr "" #: src/npctalk.cpp @@ -216084,8 +224447,8 @@ msgid "Sorry, but it doesn't seem I have anything to teach you." msgstr "Desculpe, mas parece que não tenho nada para te ensinar." #: src/npctalk.cpp -msgid "Here's what I can teach you..." -msgstr "Aqui está o que eu posso te ensinar ..." +msgid "Here's what I can teach you…" +msgstr "" #: src/npctalk.cpp #, c-format @@ -216100,7 +224463,8 @@ msgstr[0] "" msgstr[1] "" #: src/npctalk.cpp -msgid "I'm holing up here for safety." +#, c-format +msgid "I'm holing up here for safety. Long term, %s" msgstr "" #: src/npctalk.cpp @@ -216108,8 +224472,14 @@ msgid "I run the shop here." msgstr "Eu corro a loja aqui." #: src/npctalk.cpp -msgid "I'm guarding this location." -msgstr "Eu estou guardando esse local." +#, c-format +msgid "Currently, I'm guarding this location. Overall, %s" +msgstr "" + +#: src/npctalk.cpp +#, c-format +msgid "Right now, I'm . In general, %s" +msgstr "" #: src/npctalk.cpp msgid "&You yell, but can't hear yourself." @@ -216203,6 +224573,16 @@ msgstr "Eu tenho notícias." msgid "Yes, let's resume training " msgstr "Sim, vamos retomar o treinamento" +#: src/npctalk.cpp +#, c-format +msgid "%s: 1 hour lesson (cost %s)" +msgstr "" + +#: src/npctalk.cpp +#, c-format +msgid "%s: teaching spell knowledge (cost %s)" +msgstr "" + #. ~Martial art style (cost in dollars) #: src/npctalk.cpp #, c-format @@ -216218,7 +224598,7 @@ msgstr "" #: src/npctalk.cpp #, c-format -msgid "%s: %d (%d%%) -> %d" +msgid "%s: %d (%d%%) -> %d (%d%%)" msgstr "" #: src/npctalk.cpp @@ -216252,8 +224632,8 @@ msgstr "." #: src/npctalk.cpp msgctxt "punctuation" -msgid "..." -msgstr "..." +msgid "…" +msgstr "" #: src/npctalk.cpp msgctxt "punctuation" @@ -216299,8 +224679,8 @@ msgid "%s: %s" msgstr "" #: src/npctalk.cpp -msgid "You'll be helpless! Proceed?" -msgstr "Você ficará desamparado! Prosseguir?" +msgid "You'll be helpless! Proceed?" +msgstr "" #: src/npctalk.cpp #, c-format @@ -216359,22 +224739,18 @@ msgid "You learn how to craft %s." msgstr "" #: src/npctalk.cpp -msgid "I don't trust you enough to eat THIS..." -msgstr "Eu não confie em você o suficiente para comer isso ..." +msgid "I don't trust you enough to eat THIS…" +msgstr "" #: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this..." -msgstr "Não parece uma boa ideia consumir isso ..." +msgid "It doesn't look like a good idea to consume this…" +msgstr "" #: src/npctalk.cpp #, c-format msgid "I need a %s to consume that!" msgstr "" -#: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this.." -msgstr "Não parece uma boa ideia consumir isso" - #: src/npctalk.cpp msgid "Offer what?" msgstr "Oferecer o que?" @@ -216396,8 +224772,8 @@ msgid "Are you insane!?" msgstr "Você está louco!?" #: src/npctalk.cpp -msgid "Here we go..." -msgstr "Lá vamos nós..." +msgid "Here we go…" +msgstr "" #: src/npctalk.cpp msgid "My current weapon is better than this." @@ -216422,8 +224798,8 @@ msgid "I can only store %s %s more." msgstr "" #: src/npctalk.cpp -msgid "...or to store anything else for that matter." -msgstr "... ou para guardar qualquer outra coisa para esse assunto." +msgid "…or to store anything else for that matter." +msgstr "" #: src/npctalk.cpp msgid "It is too heavy for me to carry." @@ -216452,38 +224828,14 @@ msgstr "" msgid "My current location" msgstr "" -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name -#: src/npctalk_funcs.cpp -#, c-format -msgid "%1$s is assigned to %2$s" -msgstr "" - -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name -#: src/npctalk_funcs.cpp -#, c-format -msgid "%1$s is assigned to guard %2$s" -msgstr "" - -#. ~ %1$s is the NPC's translated name, %2$s is the pronoun for the NPC's -#. gender #: src/npctalk_funcs.cpp #, c-format -msgid "%1$s will wait for you where %2$s is." -msgstr "" - -#: src/npctalk_funcs.cpp -msgid "he" -msgstr "" - -#: src/npctalk_funcs.cpp -msgid "she" +msgid "That is not a valid destination for %s." msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s is posted as a guard." +msgid "%1$s is assigned to %2$s" msgstr "" #: src/npctalk_funcs.cpp @@ -216502,20 +224854,16 @@ msgid "You start a fight with %s!" msgstr "" #: src/npctalk_funcs.cpp -msgid "You don't have any bionics installed..." -msgstr "Você não tem nenhuma biônica instalada ..." +msgid "You don't have any bionics installed…" +msgstr "" #: src/npctalk_funcs.cpp msgid "Which bionic do you wish to uninstall?" msgstr "Qual biônico você deseja desinstalar?" #: src/npctalk_funcs.cpp -msgid "You decide to hold off..." -msgstr "Você decide adiar ..." - -#: src/npctalk_funcs.cpp -msgid "You can't afford the procedure..." -msgstr "Você não pode pagar o procedimento ..." +msgid "You decide to hold off…" +msgstr "" #: src/npctalk_funcs.cpp #, c-format @@ -216536,7 +224884,7 @@ msgid "Choose a new facial hair style" msgstr "" #: src/npctalk_funcs.cpp -msgid "Actually... I've changed my mind." +msgid "Actually… I've changed my mind." msgstr "" #: src/npctalk_funcs.cpp @@ -216545,17 +224893,17 @@ msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent haircut..." +msgid "%s gives you a decent haircut…" msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent shave..." +msgid "%s gives you a decent shave…" msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "That was a pleasant conversation with %s..." +msgid "That was a pleasant conversation with %s…" msgstr "" #: src/npctalk_funcs.cpp @@ -216565,7 +224913,7 @@ msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s drops the logs off in the garage..." +msgid "%s drops the logs off in the garage…" msgstr "" #: src/npctalk_funcs.cpp @@ -216583,6 +224931,11 @@ msgstr "" msgid "%s leaves." msgstr "" +#: src/npctalk_funcs.cpp +#, c-format +msgid "%s stops following." +msgstr "" + #: src/npctalk_funcs.cpp #, c-format msgid "%s feels less threatened by you." @@ -216664,13 +225017,13 @@ msgstr "" #: src/npctrade.cpp #, c-format msgid "" -"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" +"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" "\n" "Continue with trade?" msgstr "" #: src/npctrade.cpp -msgid "Looks like a deal! Accept this trade?" +msgid "Looks like a deal! Accept this trade?" msgstr "" #: src/npctrade.h @@ -216984,12 +225337,9 @@ msgstr "Vira para o modo de reativação automática de segurança" #: src/options.cpp msgid "" -"Number of turns after which safe mode is reactivated. Will only reactivate " +"Number of turns after which safe mode is reactivated. Will only reactivate " "if no hostiles are in 'Safe mode proximity distance.'" msgstr "" -" Número de voltas após o qual o modo de segurança é reativado. Só será " -"reativado se não houver hostis na 'Distância de proximidade do modo de " -"segurança'." #: src/options.cpp msgid "Turns to remember ignored monsters" @@ -217097,12 +225447,9 @@ msgstr "Largar recipientes vazios" #: src/options.cpp msgid "" -"Set to drop empty containers after use. No: Don't drop any. - Watertight: " -"All except watertight containers. - All: Drop all containers." +"Set to drop empty containers after use. No: Don't drop any. - Watertight: " +"All except watertight containers. - All: Drop all containers." msgstr "" -"Escolha para largar recipientes vazios após o uso. Não: Não largar nenhum. " -"- À prova d'água: Todos menos recipientes a prova d'água. - Todos: Largar " -"todos os recipientes." #: src/options.cpp msgid "Watertight" @@ -217274,12 +225621,12 @@ msgstr "" "Se verdadeiro, automaticamente segue o ponteiro quando atirar/arremessar." #: src/options.cpp -msgid "Query on disassembly" -msgstr "Confirmação ao desmontar" +msgid "Query on disassembly while butchering" +msgstr "" #: src/options.cpp -msgid "If true, will query before disassembling items." -msgstr "Se verdadeiro, irá perguntar se quer mesmo desmontar itens." +msgid "If true, will query before disassembling items while butchering." +msgstr "" #: src/options.cpp msgid "Query on keybinding removal" @@ -217567,9 +225914,9 @@ msgstr "Letras automáticas para itens" #: src/options.cpp msgid "" -"Enabled: automatically assign letters to any carried items that lack them. " -"Disabled: do not auto-assign letters. Favorites: only auto-assign letters to" -" favorited items." +"Enabled: automatically assign letters to any carried items that lack them. " +"Disabled: do not auto-assign letters. Favorites: only auto-assign letters " +"to favorited items." msgstr "" #: src/options.cpp @@ -217949,7 +226296,7 @@ msgstr "" msgid "Display" msgstr "Display" -#: src/options.cpp +#: src/options.cpp src/sdltiles.cpp msgid "" "Sets which video display will be used to show the game. Requires restart." msgstr "" @@ -218047,7 +226394,7 @@ msgid "Scaling factor" msgstr "" #: src/options.cpp -msgid "Factor by which to scale the display. Requires restart." +msgid "Factor by which to scale the display. Requires restart." msgstr "" #: src/options.cpp @@ -218346,8 +226693,8 @@ msgstr "" #: src/options.cpp msgid "" -"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can " -"be overridden by scenarios. This does not advance food rot or monster " +"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can" +" be overridden by scenarios. This does not advance food rot or monster " "evolution." msgstr "" @@ -218357,9 +226704,9 @@ msgstr "" #: src/options.cpp msgid "" -"How many days after the cataclysm the player spawns. Day 0 is the day of the" -" cataclysm. Can be overridden by scenarios. Increasing this will cause food " -"rot and monster evolution to advance." +"How many days after the cataclysm the player spawns. Day 0 is the day of " +"the cataclysm. Can be overridden by scenarios. Increasing this will cause " +"food rot and monster evolution to advance." msgstr "" #: src/options.cpp @@ -218429,11 +226776,9 @@ msgstr "NPCs estáticos" #: src/options.cpp msgid "" -"If true, static NPCs will spawn at pre-defined locations. Requires world " +"If true, static NPCs will spawn at pre-defined locations. Requires world " "reset." msgstr "" -" Se for verdade, os NPCs estáticos aparecerão em locais predefinidos. Requer" -" reinicialização mundial." #: src/options.cpp msgid "Starting NPCs spawn" @@ -218994,6 +227339,10 @@ msgid_plural "" msgstr[0] "%s #%s -- A tela terá %d pixel de altura com o valor selecionado." msgstr[1] "%s #%s -- A tela terá %d pixels de altura com o valor selecionado." +#: src/options.cpp +msgid "Note: " +msgstr "Nota: " + #: src/options.cpp msgid "Some of these options may produce unexpected results if changed." msgstr "" @@ -219015,8 +227364,8 @@ msgid "options" msgstr "opções" #: src/output.cpp -msgid "Press any key for more..." -msgstr "Pressione qualquer tecla para mais ..." +msgid "Press any key for more…" +msgstr "" #: src/output.cpp #, c-format @@ -219190,7 +227539,7 @@ msgstr "[%s] %s" #: src/overmap_ui.cpp #, c-format msgid "" -"LEVEL %i, %d'%d, %d'%d : %s (Distance: " +"LEVEL %i, %d'%d, %d'%d: %s (Distance: " "%d)" msgstr "" @@ -219362,7 +227711,7 @@ msgstr "[ESCAPE / Q] Cancelar" #: src/overmap_ui.cpp msgid "Travel to this point?" -msgstr "" +msgstr "Viajar para esse ponto?" #. ~ First parameter is a terrain name, second parameter is a direction, and #. third parameter is a city name. @@ -219370,14 +227719,14 @@ msgstr "" #, c-format msgctxt "terrain description" msgid "%1$s %2$s from %3$s" -msgstr "" +msgstr "%1$s %2$s de %3$s" #. ~ First parameter is a terrain name, second parameter is a direction, and #. third parameter is a city name. #: src/overmapbuffer.cpp msgctxt "terrain description" msgid "%1$s in central %3$s" -msgstr "" +msgstr "%1$s no centro de %3$s" #. ~ First parameter is a terrain name, second parameter is a direction, and #. third parameter is a city name. @@ -219385,14 +227734,14 @@ msgstr "" #, c-format msgctxt "terrain description" msgid "%1$s in %2$s %3$s" -msgstr "" +msgstr "%1$s em %3$s %2$s" #. ~ First parameter is a terrain name, second parameter is a direction, and #. third parameter is a city name. #: src/overmapbuffer.cpp msgctxt "terrain description" msgid "%1$s in %3$s" -msgstr "" +msgstr "%1$s em %3$s" #. ~ First parameter is a terrain name, second parameter is a direction, and #. third parameter is a city name. @@ -219400,7 +227749,7 @@ msgstr "" #, c-format msgctxt "terrain description" msgid "%1$s on the %2$s outskirts of %3$s" -msgstr "" +msgstr "%1$snos arredores %2$s de %3$s" #: src/panels.cpp msgid "Str " @@ -219420,7 +227769,7 @@ msgstr "" #: src/panels.cpp msgid "New moon" -msgstr "" +msgstr "Lua nova" #: src/panels.cpp msgid "Waxing crescent" @@ -219436,7 +227785,7 @@ msgstr "" #: src/panels.cpp msgid "Full moon" -msgstr "" +msgstr "Lua cheia" #: src/panels.cpp msgid "Waning gibbous" @@ -219709,9 +228058,10 @@ msgstr "" msgid "Underground" msgstr "Subterrâneo" +#. ~ translation should not exceed 5 console cells #: src/panels.cpp msgid "Wind" -msgstr "" +msgstr "Vento" #: src/panels.cpp msgid "Stm" @@ -219770,10 +228120,6 @@ msgstr "Surdo!" msgid "Weapon :" msgstr "" -#: src/panels.cpp -msgid "No Style" -msgstr "Sem estilo" - #: src/panels.cpp msgid "Day " msgstr "" @@ -219786,117 +228132,115 @@ msgstr "" msgid "to open sidebar options" msgstr "" +#. ~ translation should not exceed 4 console cells #: src/panels.cpp msgid "Mana" -msgstr "" +msgstr "Mana" +#. ~ translation should not exceed 9 console cells #: src/panels.cpp msgid "Max Mana" -msgstr "" +msgstr "Mana Máx" #: src/panels.cpp msgid "Location" -msgstr "" +msgstr "Local" #: src/panels.cpp msgid "Weather" -msgstr "" +msgstr "Clima" #: src/panels.cpp msgid "Lighting" -msgstr "" +msgstr "Luz" #: src/panels.cpp msgid "Weapon" -msgstr "" +msgstr "Arma" #: src/panels.cpp msgid "Time" -msgstr "" +msgstr "Tempo" #: src/panels.cpp msgid "Compass" -msgstr "" +msgstr "Bússola" #: src/panels.cpp msgid "Log" -msgstr "" +msgstr "Registro" #: src/panels.cpp msgid "Map" -msgstr "" +msgstr "Mapa" #: src/panels.cpp msgid "Limbs" -msgstr "" +msgstr "Membros" #: src/panels.cpp msgid "Sound" -msgstr "" +msgstr "Som" #: src/panels.cpp msgid "Stats" -msgstr "" +msgstr "Estatísticas" #: src/panels.cpp msgid "Needs" -msgstr "" +msgstr "Necessidades" #: src/panels.cpp msgid "Env" -msgstr "" +msgstr "Amb" #: src/panels.cpp msgid "Vehicle" -msgstr "" +msgstr "Veículo" #: src/panels.cpp msgid "Hint" -msgstr "" +msgstr "Dica" #: src/panels.cpp msgid "Movement" -msgstr "" +msgstr "Movimento" #: src/panels.cpp msgid "Location Alt" -msgstr "" - -#: src/panels.cpp -msgid "classic" -msgstr "" +msgstr "Local Alt" #: src/panels.cpp msgid "compact" -msgstr "" +msgstr "compacto" #: src/panels.cpp msgid "labels-narrow" -msgstr "" +msgstr "rótulos-estreito" #: src/panels.cpp msgid "labels" -msgstr "" +msgstr "rótulos" #: src/panels.cpp msgid "panel options" -msgstr "" +msgstr "opções de painel" #: src/panels.cpp msgid "SIDEBAR OPTIONS" -msgstr "" +msgstr "OPÇÕES DE BARRA LATERAL" #: src/panels.cpp msgid "Toggle panels on/off" -msgstr "" +msgstr "Ligar/desligar painéis" #: src/panels.cpp msgid "Change display order" -msgstr "" +msgstr "Trocar ordem do display" #: src/panels.cpp msgid "Exit" -msgstr "" +msgstr "Sair" #: src/pickup.cpp #, c-format @@ -220050,78 +228394,6 @@ msgstr "" msgid "You have learned a new style: %s!" msgstr "" -#: src/player.cpp -#, c-format -msgid "Your %s will be frostnipped in the next few hours." -msgstr "%s sofrerá congelamento nas próximas horas." - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten within the hour!" -msgstr "%s sofrerá congelamento em até uma hora!" - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten any minute now!" -msgstr "" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s beginning to go numb from the cold!" -msgstr "" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very cold." -msgstr "" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting chilly." -msgstr "" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting red hot from the heat!" -msgstr "" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very hot." -msgstr "" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting warm." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "The wind is making your %s feel quite cold." -msgstr "O vento está fazendo você sentir seu/sua %s um tanto gelado(a)." - -#: src/player.cpp -#, c-format -msgid "" -"The wind is very strong, you should find some more wind-resistant clothing " -"for your %s." -msgstr "" -"O vento está muito forte, você deveria encontrar alguma roupa mais " -"resistente ao vento para %s." - -#: src/player.cpp -#, c-format -msgid "" -"Your clothing is not providing enough protection from the wind for your %s!" -msgstr "" -"Sua roupa não está fornecendo proteção suficiente contra o vendo para %s!" - #: src/player.cpp msgid "You roll on the ground, trying to smother the fire!" msgstr "Você rola no chão, tentando abafar o fogo!" @@ -220138,50 +228410,6 @@ msgstr "Você tenta apagar o fogo em você!" msgid " attempts to put out the fire on them!" msgstr " tenta apagar o fogo neles!" -#: src/player.cpp -msgid "You set your mech's leg power to a loping fast walk." -msgstr "" - -#: src/player.cpp -msgid "You nudge your steed into a steady trot." -msgstr "" - -#: src/player.cpp -msgid "You start walking." -msgstr "" - -#: src/player.cpp -msgid "You set the power of your mech's leg servos to maximum." -msgstr "" - -#: src/player.cpp -msgid "You spur your steed into a gallop." -msgstr "" - -#: src/player.cpp -msgid "You start running." -msgstr "Você começa a correr." - -#: src/player.cpp -msgid "Your steed is too tired to go faster." -msgstr "" - -#: src/player.cpp -msgid "You're too tired to run." -msgstr "Você está cansado demais para correr." - -#: src/player.cpp -msgid "You reduce the power of your mech's leg servos to minimum." -msgstr "" - -#: src/player.cpp -msgid "You slow your steed to a walk." -msgstr "" - -#: src/player.cpp -msgid "You start crouching." -msgstr "" - #: src/player.cpp #, c-format msgid "Your ground sonar detected a %1$s to the %2$s!" @@ -220257,15 +228485,6 @@ msgstr "" msgid "You lose your balance while being hit!" msgstr "" -#: src/player.cpp -#, c-format -msgid "You were attacked by %s!" -msgstr "" - -#: src/player.cpp -msgid "You were hurt!" -msgstr "Você ficou ferido!" - #: src/player.cpp msgid "A snake sprouts from your body!" msgstr "Uma cobra brota do seu corpo!" @@ -220357,8 +228576,8 @@ msgid "You are slammed against %s!" msgstr "" #: src/player.cpp -msgid "...but your shock absorbers negate the damage!" -msgstr "... mas seus amortecedores anulam o dano!" +msgid "…but your shock absorbers negate the damage!" +msgstr "" #: src/player.cpp #, c-format @@ -220415,8 +228634,8 @@ msgid "You have starved to death." msgstr "Você morreu de fome." #: src/player.cpp -msgid "Food..." -msgstr "Comida..." +msgid "Food…" +msgstr "" #: src/player.cpp msgid "Due to insufficient nutrition, your body is suffering from starvation." @@ -220425,12 +228644,12 @@ msgstr "" #: src/player.cpp msgid "" "Despite having something in your stomach, you still feel like you haven't " -"eaten in days..." +"eaten in days…" msgstr "" #: src/player.cpp -msgid "Your stomach feels so empty..." -msgstr "Seu estômago está tão vazio ..." +msgid "Your stomach feels so empty…" +msgstr "" #: src/player.cpp msgid "You are EMACIATED!" @@ -220449,24 +228668,24 @@ msgid "You have died of dehydration." msgstr "Você morreu de desidratação." #: src/player.cpp -msgid "Even your eyes feel dry..." -msgstr "Até seus olhos parecem secos ..." +msgid "Even your eyes feel dry…" +msgstr "" #: src/player.cpp msgid "You are THIRSTY!" msgstr "Você está com sede!" #: src/player.cpp -msgid "Your mouth feels so dry..." -msgstr "Sua boca parece tão seca ..." +msgid "Your mouth feels so dry…" +msgstr "" #: src/player.cpp msgid "Survivor sleep now." msgstr "Sobrevivente dorme agora." #: src/player.cpp -msgid "Anywhere would be a good place to sleep..." -msgstr "Qualquer lugar seria um bom lugar para dormir ..." +msgid "Anywhere would be a good place to sleep…" +msgstr "" #: src/player.cpp msgid "You feel like you haven't slept in days." @@ -220485,8 +228704,8 @@ msgid "*yawn* You should really get some sleep." msgstr "* bocejo * Você realmente deveria dormir um pouco." #: src/player.cpp -msgid "Your mind feels tired. It's been a while since you've slept well." -msgstr "Sua mente parece cansada. Já faz um tempo desde que você dormiu bem." +msgid "Your mind feels tired. It's been a while since you've slept well." +msgstr "" #: src/player.cpp msgid "" @@ -220498,21 +228717,16 @@ msgstr "" #: src/player.cpp msgid "" -"Your mind feels weary, and you dread every wakeful minute that passes. You " +"Your mind feels weary, and you dread every wakeful minute that passes. You " "crave sleep, and feel like you're about to collapse." msgstr "" -" Sua mente se sente cansada, e você tem medo de todo minuto de vigília que " -"passa. Você deseja dormir e sente que está prestes a entrar em colapso." #: src/player.cpp msgid "" "You haven't slept decently for so long that your whole body is screaming for" -" mercy. It's a miracle that you're still awake, but it just feels like a " +" mercy. It's a miracle that you're still awake, but it just feels like a " "curse now." msgstr "" -" Você não dormiu decentemente por tanto tempo que todo o seu corpo está " -"gritando por misericórdia. É um milagre que você ainda esteja acordado, mas " -"parece uma maldição agora." #: src/player.cpp msgid "" @@ -220552,14 +228766,6 @@ msgstr "" msgid "There is not enough %s left to siphon it." msgstr "" -#: src/player.cpp -msgid "You cough heavily." -msgstr "Você tosse fortemente." - -#: src/player.cpp -msgid "a hacking cough." -msgstr "uma tosse seca." - #: src/player.cpp msgid "Your body is wracked with excruciating pain!" msgstr "Seu corpo está arruinado com uma dor excruciante!" @@ -220605,11 +228811,6 @@ msgstr "" msgid "Your %s aches." msgstr "" -#: src/player.cpp -#, c-format -msgid "Your current health value is %d." -msgstr "" - #: src/player.cpp #, c-format msgid "Your %s HURTS!" @@ -220723,300 +228924,31 @@ msgstr "%1$s diz: \"%2$s\"" msgid "You increase %1$s to level %2$d." msgstr "" -#: src/player.cpp -msgid "Hey, can you hear me?" -msgstr "Ei, você pode me ouvir?" - -#: src/player.cpp -msgid "Don't touch me." -msgstr "Não me toque." - -#: src/player.cpp -msgid "What's your name?" -msgstr "Qual o seu nome?" - -#: src/player.cpp -msgid "I thought you were my friend." -msgstr "Eu pensei que você era meu amigo." - -#: src/player.cpp -msgid "How are you today?" -msgstr "Como você está hoje?" - -#: src/player.cpp -msgid "Shut up! Don't lie to me." -msgstr "Cale-se! Não minta para mim." - -#: src/player.cpp -msgid "Please, don't go." -msgstr "Por favor, não vá." - -#: src/player.cpp -msgid "Don't leave me alone!" -msgstr "Não me deixe em paz!" - -#: src/player.cpp -msgid "No way, man." -msgstr "De jeito nenhum, cara." - -#: src/player.cpp -msgid "Do you really think so?" -msgstr "Você acha mesmo?" - -#: src/player.cpp -msgid "Is it really time for that?" -msgstr "É mesmo tempo para isso?" - -#: src/player.cpp -msgid "Sorry, I can't hear you." -msgstr "Desculpe, não posso te ouvir." - -#: src/player.cpp -msgid "You've told me already." -msgstr "Você já me contou." - -#: src/player.cpp -msgid "I know!" -msgstr "Eu sei!" - -#: src/player.cpp -msgid "Why are you following me?" -msgstr "Por que você está me seguindo?" - -#: src/player.cpp -msgid "This place is dangerous, you shouldn't be here." -msgstr "Este lugar é perigoso, você não deveria estar aqui." - -#: src/player.cpp -msgid "That's not true, is it?" -msgstr "Isso não é verdade, é?" - -#: src/player.cpp -msgid "Are you hurt?" -msgstr "Você está machucado?" - -#: src/player.cpp -msgid "Your " -msgstr "Seu" - -#: src/player.cpp -#, c-format -msgid "Hey, let's go kill that %1$s!" -msgstr "" - -#: src/player.cpp -#, c-format -msgid "Did you see that %1$s!?" -msgstr "" - -#: src/player.cpp -#, c-format -msgid "I want to kill that %1$s!" -msgstr "" - -#: src/player.cpp -#, c-format -msgid "Let me kill that %1$s!" -msgstr "" - -#: src/player.cpp -#, c-format -msgid "Hey, I need to kill that %1$s!" -msgstr "" - +#. ~ %1$s: weapon name #: src/player.cpp #, c-format -msgid "I want to watch that %1$s bleed!" +msgid "Your %1$s" msgstr "" #: src/player.cpp -#, c-format -msgid "Wait, that %1$s needs to die!" +msgid "You suddenly feel so numb…" msgstr "" #: src/player.cpp -#, c-format -msgid "Go kill that %1$s!" -msgstr "" +msgid "You start to shake uncontrollably." +msgstr "Você começa a tremer incontrolavelmente." #: src/player.cpp #, c-format -msgid "Look at that %1$s!" +msgid "yourself shout, %s" msgstr "" +#. ~ %1$s: weapon name #: src/player.cpp #, c-format -msgid "That %1$s doesn't deserve to live!" +msgid "your %1$s" msgstr "" -#: src/player.cpp -msgid "Hey, you're bleeding." -msgstr "Ei, você está sangrando." - -#: src/player.cpp -msgid "Your wound looks pretty bad." -msgstr "Sua ferida parece muito ruim." - -#: src/player.cpp -msgid "Shouldn't you put a bandage on that?" -msgstr "Você não deveria colocar uma bandagem nisso?" - -#: src/player.cpp -msgid "Please don't die! No one else lets me kill things!" -msgstr "Por favor, não morra! Ninguém mais me deixa matar coisas!" - -#: src/player.cpp -msgid "You look hurt, did I do that?" -msgstr "Você parece ferido, eu fiz isso?" - -#: src/player.cpp -msgid "Are you supposed to be bleeding?" -msgstr "Você deveria estar sangrando?" - -#: src/player.cpp -msgid "You're not going to die, are you?" -msgstr "Você não vai morrer, vai?" - -#: src/player.cpp -msgid "Kill a few more before you bleed out!" -msgstr "Mate mais alguns antes de sangrar!" - -#: src/player.cpp -msgid "Hey fix me up." -msgstr "Ei, conserte-me" - -#: src/player.cpp -msgid "I need healing!" -msgstr "Eu preciso de cura!" - -#: src/player.cpp -msgid "I hurt all over..." -msgstr "Estou todo(a) dolorido(a)..." - -#: src/player.cpp -msgid "You can put me back together, right?" -msgstr "Você pode me colocar de volta, certo?" - -#: src/player.cpp -msgid "I... I can't move my legs!" -msgstr "Eu... Eu não consigo mover minhas pernas!" - -#: src/player.cpp -msgid "Medic!" -msgstr "Médico!" - -#: src/player.cpp -msgid "I can still fight, don't replace me!" -msgstr "Eu ainda posso lutar, não me substitua!" - -#: src/player.cpp -msgid "They got me!" -msgstr "Me pegaram!" - -#: src/player.cpp -msgid "Go on without me..." -msgstr "Vá sem mim..." - -#: src/player.cpp -msgid "Am I gonna die?" -msgstr "Irei morre?" - -#: src/player.cpp -msgid "Let me kill something already!" -msgstr "Deixe-me matar alguma coisa já!" - -#: src/player.cpp -msgid "I'm your best friend, right?" -msgstr "Eu sou sua melhor amiga, certo?" - -#: src/player.cpp -msgid "Do you think it will rain today?" -msgstr "Você acha que vai chover hoje?" - -#: src/player.cpp -msgid "Try not to drop me." -msgstr "Tente não me deixar cair." - -#: src/player.cpp -msgid "How many do you think we've killed?" -msgstr "Quantos você acha que nós matamos?" - -#: src/player.cpp -msgid "I'll keep you safe!" -msgstr "Eu vou te manter em segurança!" - -#: src/player.cpp -msgid "You get a bad feeling." -msgstr "Você tem um mau pressentimento." - -#: src/player.cpp -msgid "You suddenly feel so numb..." -msgstr "Você de repente se sente tão insensível ..." - -#: src/player.cpp -msgid "You start to shake uncontrollably." -msgstr "Você começa a tremer incontrolavelmente." - -#: src/player.cpp -msgid "\"Get away from there!\"" -msgstr "\\ 'Afaste-se de lá! \"" - -#: src/player.cpp -msgid "\"What do you think you're doing?\"" -msgstr "\\'O que você pensa que está fazendo?\"" - -#: src/player.cpp -msgid "\"Stop laughing at me!\"" -msgstr "\\'Pare de rir de mim!\"" - -#: src/player.cpp -msgid "\"Don't point that thing at me!\"" -msgstr "'Não aponte essa coisa para mim!" - -#: src/player.cpp -msgid "\"Stay away from me!\"" -msgstr "\\'Fique longe de mim!\"" - -#: src/player.cpp -msgid "\"No! Stop!\"" -msgstr "\\'Não pare!\"" - -#: src/player.cpp -msgid "\"Get the fuck away from me!\"" -msgstr "'Fique longe de mim!" - -#: src/player.cpp -msgid "\"That's not true!\"" -msgstr "\\'Isso não é verdade!\"" - -#: src/player.cpp -msgid "\"What do you want from me?\"" -msgstr "\\'O que você quer de mim?\"" - -#: src/player.cpp -msgid "\"I didn't mean to do it!\"" -msgstr "'Eu não queria fazer isso!" - -#: src/player.cpp -msgid "\"It wasn't my fault!\"" -msgstr "'Não foi minha culpa!" - -#: src/player.cpp -msgid "\"I had to do it!\"" -msgstr "\\'Eu tive de fazer isto!\"" - -#: src/player.cpp -msgid "\"They made me do it!\"" -msgstr "\\'Eles me fizeram fazer isso!\"" - -#: src/player.cpp -msgid "\"What are you!?\"" -msgstr "\\'O que você é!?\"" - -#: src/player.cpp -msgid "\"I should never have trusted you!\"" -msgstr "'Eu nunca deveria ter confiado em você!" - #: src/player.cpp msgid "You're suddenly overcome with the urge to sleep and you pass out." msgstr "De repente você é superado com o desejo de dormir e desmaiar." @@ -221065,13 +228997,39 @@ msgstr[0] "" msgstr[1] "" #: src/player.cpp -msgid "The sunlight is really irritating your skin." +#, c-format +msgid "%s and other body parts" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "The sunlight is really irritating your %s." msgstr "" #: src/player.cpp msgid "The sunlight is really irritating your eyes." msgstr "A luz do sol está realmente irritando seus olhos." +#: src/player.cpp +#, c-format +msgid "Your %s is damaged by the water." +msgstr "" + +#: src/player.cpp +#, c-format +msgid "'s %s is damaged by the water." +msgstr "" + +#: src/player.cpp +#, c-format +msgid "Your %s is healed by the water." +msgstr "" + +#: src/player.cpp +#, c-format +msgid "'s %s is healed by the water." +msgstr "" + #: src/player.cpp msgid "The sunlight burns your skin!" msgstr "A luz do sol queima sua pele!" @@ -221093,8 +229051,8 @@ msgid "Suddenly, your eyes stop working!" msgstr "De repente, seus olhos param de funcionar!" #: src/player.cpp -msgid "Your visual centers must be acting up..." -msgstr "Seus centros visuais devem estar agindo ..." +msgid "Your visual centers must be acting up…" +msgstr "" #: src/player.cpp msgid "You feel an anomalous sensation coming from your radiation sensors." @@ -221171,8 +229129,8 @@ msgid "You shake uncontrollably." msgstr "Você treme descontroladamente." #: src/player.cpp -msgid "You feel nauseous..." -msgstr "Você sente-se nauseado..." +msgid "You feel nauseous…" +msgstr "" #: src/player.cpp msgid "You black out!" @@ -221187,8 +229145,8 @@ msgid "You stumble and fall over!" msgstr "Você tropeça e cai em cima!" #: src/player.cpp -msgid "You feel tired..." -msgstr "Você se sente cansado..." +msgid "You feel tired…" +msgstr "" #: src/player.cpp msgid "You tiredly rub your eyes." @@ -221296,6 +229254,10 @@ msgstr "" msgid "From the %1$s you hear %2$s" msgstr "" +#: src/player.cpp +msgid "You feel the water burning your skin." +msgstr "" + #: src/player.cpp msgid "Your cloaking flickers for a moment!" msgstr "" @@ -221338,10 +229300,6 @@ msgstr "" msgid "%c - %d empty %s" msgstr "" -#: src/player.cpp -msgid "You sink your roots into the soil." -msgstr "Você afunda suas raízes no solo." - #: src/player.cpp src/veh_interact.cpp #, c-format msgid "Refill %s" @@ -221501,6 +229459,10 @@ msgstr "chifres" msgid "Can't wield spilt liquids." msgstr "Não pode manejar líquidos derramados." +#: src/player.cpp +msgid "You need at least one arm to even consider wielding something." +msgstr "" + #: src/player.cpp msgid "Something you are wearing hinders the use of both hands." msgstr "Algo que você está vestindo dificulta o uso de ambas as mãos." @@ -221595,19 +229557,42 @@ msgstr "" msgid "Mend which fault?" msgstr "Emendar qual falha?" -#: src/player.cpp src/veh_interact.cpp -msgid "Time required:\n" -msgstr " Tempo requerido: \n" +#: src/player.cpp +#, c-format +msgid "Turns into: %s\n" +msgstr "" #: src/player.cpp -msgid "Skills:\n" -msgstr " Habilidades: \n" +#, c-format +msgid "Time required: %s\n" +msgstr "" -#. ~ %1$s represents the internal color name which shouldn't be translated, -#. %2$s is skill name, and %3$i is skill level +#: src/player.cpp +msgid "Skills: none\n" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "Skills: %s\n" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level #: src/player.cpp #, c-format -msgid "> %2$s %3$i\n" +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level +#: src/player.cpp +#, c-format +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "You are currently unable to mend the %s this way." msgstr "" #: src/player.cpp @@ -221634,12 +229619,12 @@ msgstr "" #: src/player.cpp #, c-format -msgid "Your %s are very encumbered! %s" +msgid "Your %s are very encumbered! %s" msgstr "" #: src/player.cpp #, c-format -msgid "Your %s is very encumbered! %s" +msgid "Your %s is very encumbered! %s" msgstr "" #: src/player.cpp @@ -221648,13 +229633,12 @@ msgstr "Você está surdo!" #: src/player.cpp #, c-format -msgid "This %s is too big to wear comfortably! Maybe it could be refitted..." +msgid "This %s is too big to wear comfortably! Maybe it could be refitted…" msgstr "" #: src/player.cpp #, c-format -msgid "" -"This %s is too small to wear comfortably! Maybe it could be refitted..." +msgid "This %s is too small to wear comfortably! Maybe it could be refitted…" msgstr "" #: src/player.cpp @@ -221782,20 +229766,6 @@ msgstr "" msgid "You can't remove partially depleted plutonium!" msgstr "Você não pode remover o plutônio parcialmente esgotado!" -#: src/player.cpp -#, c-format -msgid "Your %s needs %d charge from some UPS." -msgid_plural "Your %s needs %d charges from some UPS." -msgstr[0] "" -msgstr[1] "" - -#: src/player.cpp -#, c-format -msgid "Your %s has %d charge but needs %d." -msgid_plural "Your %s has %d charges but needs %d." -msgstr[0] "" -msgstr[1] "" - #. ~ %1$s - gunmod, %2$s - gun. #: src/player.cpp #, c-format @@ -221836,10 +229806,8 @@ msgid "It's impossible to sleep in this wheeled pot!" msgstr "É impossível dormir neste pote com rodas!" #: src/player.cpp -msgid "The humans' furniture blocks your roots. You can't get comfortable." +msgid "The humans' furniture blocks your roots. You can't get comfortable." msgstr "" -" O mobiliário dos humanos bloqueia suas raízes. Você não pode ficar " -"confortável." #: src/player.cpp msgid "Your roots scrabble ineffectively at the unyielding surface." @@ -221855,10 +229823,8 @@ msgstr "" "desvanece." #: src/player.cpp -msgid "These thick webs support your weight, and are strangely comfortable..." +msgid "These thick webs support your weight, and are strangely comfortable…" msgstr "" -" Estas teias grossas suportam o seu peso e são estranhamente confortáveis " -"..." #: src/player.cpp msgid "You try to sleep, but the webs get in the way. You brush them aside." @@ -221881,14 +229847,12 @@ msgstr "Talvez uma teia grossa te ajudasse a dormir." #: src/player.cpp msgid "" -"You lay beneath the waves' embrace, gazing up through the water's surface..." +"You lay beneath the waves' embrace, gazing up through the water's surface…" msgstr "" -" Você se deita sob o abraço das ondas, olhando através da superfície da água" -" ..." #: src/player.cpp -msgid "You settle into the water and begin to drowse..." -msgstr "Você se acomoda na água e começa a sonhar ..." +msgid "You settle into the water and begin to drowse…" +msgstr "" #: src/player.cpp msgid "This is a comfortable place to sleep." @@ -221928,98 +229892,34 @@ msgstr "" msgid "Your soporific inducer doesn't have enough power to operate." msgstr "" -#: src/player.cpp -msgid "Your soporific inducer runs out of power!" -msgstr "" - -#: src/player.cpp -msgid "Your soporific inducer starts back up." -msgstr "" - -#: src/player.cpp -msgid "You nestle your pile of clothes for warmth." -msgstr "Você aninha sua pilha de roupas para o calor." - -#: src/player.cpp -msgid "You use your pile of clothes for warmth." -msgstr "Você usa sua pilha de roupas para se aquecer." - -#: src/player.cpp -#, c-format -msgid "You snuggle your %s to keep warm." -msgstr "" - #: src/player.cpp #, c-format -msgid "You use your %s to keep warm." +msgid "You use your %s for comfort." msgstr "" #: src/player.cpp -msgctxt "memorial_male" -msgid "Entered hibernation." -msgstr "Hibernação introduzida." - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Entered hibernation." -msgstr "Hibernação introduzida." - -#. ~ %s is armor name -#: src/player.cpp -#, c-format -msgctxt "memorial_male" -msgid "Worn %s was completely destroyed." -msgstr "" - -#: src/player.cpp -#, c-format -msgctxt "memorial_female" -msgid "Worn %s was completely destroyed." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "Your %s is completely destroyed!" +msgid "Your soporific inducer runs out of power!" msgstr "" #: src/player.cpp -#, c-format -msgid "'s %s is completely destroyed!" +msgid "Your soporific inducer starts back up." msgstr "" #: src/player.cpp #, c-format -msgid "Your %1$s is %2$s further!" +msgid "Your skill in %s has increased to %d!" msgstr "" #: src/player.cpp #, c-format -msgid "Your %1$s is %2$s!" +msgid "You feel that %s tasks of this level are becoming trivial." msgstr "" -#: src/player.cpp src/veh_interact.cpp -msgid "destroyed" -msgstr "destruído(a)" - #: src/player.cpp #, c-format msgid "This task is too simple to train your %s beyond %d." msgstr "" -#: src/player.cpp -#, c-format -msgid "Your skill in %s has increased to %d!" -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You feel that %s tasks of this level are becoming trivial." -msgstr "" - -#: src/player.cpp -msgid "You resume your task." -msgstr "Você retoma sua tarefa." - #: src/player.cpp msgid "Wield what?" msgstr "Empunhar o quê?" @@ -222030,8 +229930,8 @@ msgstr "O tempo parece diminuir e você se esquiva instintivamente!" #: src/player.cpp #, c-format -msgid "%s dodges... so fast!" -msgstr "%s desvia... tão rápido!" +msgid "%s dodges… so fast!" +msgstr "" #: src/player.cpp msgid "You try to dodge but there's no room!" @@ -222042,79 +229942,6 @@ msgstr "Você tenta esquivar mas não dá!" msgid "%s tries to dodge but there's no room!" msgstr "%s tenta esquivar mas não consegue!" -#: src/player.cpp -msgid "You start hauling items along the ground." -msgstr "Você começa a transportar itens pelo chão." - -#: src/player.cpp -msgid "Your hands are not free, which makes hauling slower." -msgstr "Suas mãos não estão livres, o que torna o transporte mais lento." - -#: src/player.cpp -msgid "You stop hauling items." -msgstr "Você para de transportar itens." - -#: src/player.cpp -msgid "Your body strains under the weight!" -msgstr "Seu corpo se esforça sob o peso!" - -#: src/player.cpp -#, c-format -msgid "You remove the %s's harness." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You climb on the %s." -msgstr "" - -#: src/player.cpp -#, c-format -msgid "You hear your %s whir to life." -msgstr "" - -#: src/player.cpp -msgid "You are ejected from your mech!" -msgstr "" - -#: src/player.cpp -msgid " is ejected from their mech!" -msgstr "" - -#: src/player.cpp -msgid "You fall off your mount!" -msgstr "" - -#: src/player.cpp -msgid " falls off their mount!" -msgstr "" - -#: src/player.cpp src/trapfunc.cpp -msgid "You hurt yourself!" -msgstr "Machucou-se!" - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Fell off a mount." -msgstr "" - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Fell off a mount." -msgstr "" - -#: src/player.cpp -msgid "Dismount where?" -msgstr "" - -#: src/player.cpp -msgid "You cannot dismount there!" -msgstr "" - -#: src/player.cpp -msgid "Wielding: " -msgstr "Segurando:" - #: src/player.cpp #, c-format msgid "You (%s)" @@ -222168,6 +229995,23 @@ msgstr "" msgid "Pain " msgstr "" +#. ~ skill_name current_skill_level -> next_skill_level (% to next level) +#: src/player_activity.cpp +#, c-format +msgctxt "reading progress" +msgid "%s %d -> %d (%d%%)" +msgstr "" + +#: src/player_activity.cpp +#, c-format +msgid "%s…" +msgstr "" + +#: src/player_activity.cpp +#, c-format +msgid "%s: %s" +msgstr "" + #: src/player_activity.cpp msgid "You pause for a moment to catch your breath." msgstr "" @@ -222367,11 +230211,6 @@ msgid "" "food.Having too much, or too little, can be unhealthy." msgstr "" -#: src/player_display.cpp -#, c-format -msgid "Bionic Power: %1$d" -msgstr "" - #: src/player_display.cpp #, c-format msgid "Bionic Power: %1$d / %2$d" @@ -222387,46 +230226,56 @@ msgstr "Velocidade atual:" #: src/player_display.cpp #, c-format -msgid "Overburdened -%s%d%%" +msgctxt "speed penalty" +msgid "Overburdened -%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Pain -%s%d%%" +msgctxt "speed penalty" +msgid "Pain -%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Thirst -%s%d%%" +msgctxt "speed penalty" +msgid "Thirst -%2d%%" msgstr "" #: src/player_display.cpp msgid "Underfed" msgstr "" +#. ~ %s: Starving/Underfed (already left-justified), %2d: speed penalty #: src/player_display.cpp #, c-format -msgid "%-20s-%s%d%%" +msgctxt "speed penalty" +msgid "%s-%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Out of Sunlight -%s%d%%" +msgctxt "speed penalty" +msgid "Out of Sunlight -%2d%%" msgstr "" +#. ~ %s: sign of bonus/penalty, %2d: speed bonus/penalty #: src/player_display.cpp #, c-format -msgid "Cold-Blooded %s%s%d%%" +msgctxt "speed modifier" +msgid "Cold-Blooded %s%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Quick +%s%d%%" +msgctxt "speed bonus" +msgid "Quick +%2d%%" msgstr "" #: src/player_display.cpp #, c-format -msgid "Bionic Speed +%s%d%%" +msgctxt "speed bonus" +msgid "Bionic Speed +%2d%%" msgstr "" #: src/player_display.cpp @@ -222460,19 +230309,15 @@ msgstr "Severamente Malnutrido" #: src/player_display.cpp msgid "" -"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" -" \n" +"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" +"\n" msgstr "" -" Seu corpo está severamente enfraquecido pela fome. Você pode morrer se não começar a fazer refeições regulares! \n" -" \n" #: src/player_display.cpp msgid "" -"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" -" \n" +"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" +"\n" msgstr "" -" Seu corpo está enfraquecido pela fome. Somente tempo e refeições regulares ajudarão você a se recuperar. \n" -" \n" #: src/player_display.cpp src/veh_interact.cpp msgid "Strength" @@ -222496,7 +230341,7 @@ msgid "" "Strength - 1; Dexterity - 1; Intelligence - 1; Perception - 1" msgstr "" " A luz do sol irrita você. \n" -" Força - 1; Destreza - 1; Inteligência - 1; Percepção - 1\n" +" Força - 1; Destreza - 1; Inteligência - 1; Percepção - 1" #: src/player_display.cpp msgid "" @@ -222504,7 +230349,7 @@ msgid "" "Strength - 2; Dexterity - 2; Intelligence - 2; Perception - 2" msgstr "" " A luz do sol o irrita muito. \n" -" Força - 2; Destreza - 2; Inteligência - 2; Percepção - 2\n" +" Força - 2; Destreza - 2; Inteligência - 2; Percepção - 2" #: src/player_display.cpp msgid "" @@ -222512,7 +230357,7 @@ msgid "" "Strength - 4; Dexterity - 4; Intelligence - 4; Perception - 4" msgstr "" " A luz do sol o irrita terrivelmente. \n" -" Força - 4; Destreza - 4; Inteligência - 4; Percepção - 4\n" +" Força - 4; Destreza - 4; Inteligência - 4; Percepção - 4" #. ~ player info window: 1s - name, 2s - gender, 3s - Prof or Mutation name #: src/player_display.cpp @@ -222572,38 +230417,30 @@ msgid " vomits thousands of live spores!" msgstr " vomita milhares de esporos vivos!" #: src/player_hardcoded_effects.cpp -msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" -msgstr "A carne em seus braços quebrados protrai. Caules de fungos irrompem!" +msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" +msgstr "" #: src/player_hardcoded_effects.cpp -msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" +msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" msgstr "" -" Braços quebrados. Hastes de fungos explodiram das protuberâncias!" #: src/player_hardcoded_effects.cpp msgid "" -"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " +"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " "through!" msgstr "" -" A carne em seus braços quebrados e ininterruptos protuberantes. Caules de " -"fungos irrompem!" #: src/player_hardcoded_effects.cpp -msgid "'s arms bulge. Fungus stalks burst out of the bulges!" +msgid "'s arms bulge. Fungus stalks burst out of the bulges!" msgstr "" -" braços se arregalam. Hastes de fungos explodiram das " -"protuberâncias!" #: src/player_hardcoded_effects.cpp -msgid "Your hands bulge. Fungus stalks burst through the bulge!" +msgid "Your hands bulge. Fungus stalks burst through the bulge!" msgstr "" -"Suas mãos estão inchadas. Caules de fungos explodiram através do bojo!" #: src/player_hardcoded_effects.cpp -msgid "'s hands bulge. Fungus stalks burst through the bulge!" +msgid "'s hands bulge. Fungus stalks burst through the bulge!" msgstr "" -" as mãos estão salientes. Caules de fungos explodiram através do " -"bojo!" #: src/player_hardcoded_effects.cpp msgid "You feel nauseous!" @@ -222650,8 +230487,8 @@ msgid "\"Oh God, what's happening?\"" msgstr "'Oh Deus, o que está acontecendo?" #: src/player_hardcoded_effects.cpp -msgid "\"Of course... it's all fractals!\"" -msgstr "'Claro ... é tudo fractais!" +msgid "\"Of course… it's all fractals!\"" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "\"Huh? What was that?\"" @@ -222686,8 +230523,8 @@ msgid "You quiver from the cold." msgstr "Você tremer de frio." #: src/player_hardcoded_effects.cpp -msgid "Your torso is freezing cold. You should put on a few more layers." -msgstr "Seu torso está muito frio. Você deve colocar mais algumas camadas." +msgid "Your torso is freezing cold. You should put on a few more layers." +msgstr "" #: src/player_hardcoded_effects.cpp msgid "Your shivering makes you unsteady." @@ -222890,8 +230727,8 @@ msgid "You shudder suddenly." msgstr "Você estremece de repente." #: src/player_hardcoded_effects.cpp -msgid "Your vision is filled with bright lights..." -msgstr "Sua visão está cheia de luzes brilhantes ..." +msgid "Your vision is filled with bright lights…" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "You're suddenly covered in ectoplasm." @@ -223071,64 +230908,79 @@ msgstr "Seu cronômetro interno te acorda." msgid "Your alarm is going off." msgstr "" -#: src/ranged.cpp -#, c-format -msgid "Your %s misfires with a wet click!" +#: src/player_hardcoded_effects.cpp +msgid "Your alarm went off." msgstr "" -#: src/ranged.cpp -#, c-format -msgid "'s %s misfires with a wet click!" +#: src/player_hardcoded_effects.cpp +msgid "You lose control of your body as it begins to convulse!" msgstr "" -#: src/ranged.cpp -#, c-format -msgid "Your %s malfunctions!" +#: src/player_hardcoded_effects.cpp +msgid "You lose conciousness!" msgstr "" -#: src/ranged.cpp -#, c-format -msgid "'s %s malfunctions!" +#: src/player_hardcoded_effects.cpp +msgid "arm" msgstr "" -#: src/ranged.cpp -#, c-format -msgid "Your %s is damaged by the mechanical malfunction!" +#: src/player_hardcoded_effects.cpp +msgid "hand" msgstr "" -#: src/ranged.cpp +#: src/player_hardcoded_effects.cpp +msgid "leg" +msgstr "" + +#: src/player_hardcoded_effects.cpp #, c-format -msgid "'s %s is damaged by the mechanical malfunction!" +msgid "Your %s suddenly jerks in an unexpected direction!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep hold of your weapon." +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep your footing." +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You suddenly lose all muscle tone, and can't support your own weight!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You have a splitting headache." msgstr "" #: src/ranged.cpp #, c-format -msgid "Your %s misfires with a dry click!" +msgid "Your %s misfires with a muffled click!" msgstr "" #: src/ranged.cpp #, c-format -msgid "'s %s misfires with a dry click!" +msgid "'s %s misfires with a muffled click!" msgstr "" #: src/ranged.cpp #, c-format -msgid "Your %s misfires with a muffled click!" +msgid "Your %s misfires with a wet click!" msgstr "" #: src/ranged.cpp #, c-format -msgid "'s %s misfires with a muffled click!" +msgid "'s %s misfires with a wet click!" msgstr "" #: src/ranged.cpp #, c-format -msgid "Your %s is damaged by the misfired round!" +msgid "Your %s malfunctions!" msgstr "" #: src/ranged.cpp #, c-format -msgid "'s %s is damaged by the misfired round!" +msgid "'s %s malfunctions!" msgstr "" #: src/ranged.cpp @@ -223163,12 +231015,12 @@ msgstr "" #: src/ranged.cpp #, c-format -msgid "Your %s is clogged up with blackpowder fouling!" +msgid "Your %s is damaged by the high pressure!" msgstr "" #: src/ranged.cpp #, c-format -msgid "'s %s is clogged up with blackpowder fouling!" +msgid "'s %s is damaged by the high pressure!" msgstr "" #: src/ranged.cpp @@ -223251,7 +231103,7 @@ msgstr "" #: src/ranged.cpp #, c-format -msgid "[%c] to steady your aim. (10 moves)" +msgid "[%c] to steady your aim. (10 moves)" msgstr "" #: src/ranged.cpp @@ -223420,7 +231272,7 @@ msgid "Effective Spell Radius: %s%s" msgstr "" #: src/ranged.cpp -msgid " WARNING! IN RANGE" +msgid " WARNING! IN RANGE" msgstr "" #: src/ranged.cpp @@ -223522,10 +231374,6 @@ msgstr "kerblam!" msgid "none" msgstr "nenhum" -#: src/recipe.cpp -msgid "none" -msgstr "" - #: src/recipe.cpp #, c-format msgid "%s%% at >%s units" @@ -223549,6 +231397,15 @@ msgid_plural "%1$s (%2$d charges)" msgstr[0] "" msgstr[1] "" +#. ~ %1$s: item name, %2$d: charge requirement +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%1$s (%2$d of infinite)" +msgid_plural "%1$s (%2$d of infinite)" +msgstr[0] "" +msgstr[1] "" + #. ~ %1$s: item name, %2$d: charge requirement, %3%d: available charges #: src/requirements.cpp #, c-format @@ -223567,6 +231424,15 @@ msgid_plural "%1$s (%2$d)" msgstr[0] "" msgstr[1] "" +#. ~ %1$s: item name, %2$d: required count +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%2$d %1$s of infinite" +msgid_plural "%2$d %1$s of infinite" +msgstr[0] "" +msgstr[1] "" + #. ~ %1$s: item name, %2$d: required count, %3%d: available count #: src/requirements.cpp #, c-format @@ -223652,8 +231518,8 @@ msgid "Safe Mode manager currently inactive." msgstr "Gerenciador de modo de segurança atualmente inativo." #: src/safemode_ui.cpp -msgid "Default rules are used. Add a rule to activate." -msgstr "Regras padrões serão usadas. Adicione uma regra para ativar." +msgid "Default rules are used. Add a rule to activate." +msgstr "" #: src/safemode_ui.cpp msgid "Press ~ to add a default ruleset to get started." @@ -223665,7 +231531,7 @@ msgstr "Lista Branca" #: src/safemode_ui.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" +"* is used as a Wildcard. A few Examples:\n" "\n" "human matches every NPC\n" "zombie matches the monster name exactly\n" @@ -223674,14 +231540,6 @@ msgid "" "*cid*zo*ie multiple * are allowed\n" "AcI*zO*iE case insensitive search" msgstr "" -" * é usado como um curinga. Alguns exemplos: \n" -" \n" -" humana corresponde a cada NPC \n" -" zombie coincide com o nome do monstro exatamente \n" -" acidic zo * combina com monstros começando com 'acidic zo' \n" -" * mbie combina com monstros que terminam com 'mbie' \n" -" * cid * zo * ie multiple * são permitidos \n" -" AcI * zO * iE busca insensível\n" #: src/safemode_ui.cpp msgid "Safe Mode Rule:" @@ -223696,8 +231554,8 @@ msgid "Option: " msgstr "Opção:" #: src/safemode_ui.cpp -msgid "No monsters loaded. Please start a game first." -msgstr "Nenhum monstro carregado. Por favor, comece um jogo primeiro." +msgid "No monsters loaded. Please start a game first." +msgstr "" #: src/safemode_ui.cpp #, c-format @@ -223711,8 +231569,8 @@ msgid "Lists monsters regardless of their attitude." msgstr "Lista de monstros independentemente do comportamento deles" #: src/safemode_ui.cpp -msgid "Safe Mode is not enabled in the options. Enable it now?" -msgstr "Modo de Segurança não está habilitado. Ativá-lo agora?" +msgid "Safe Mode is not enabled in the options. Enable it now?" +msgstr "" #: src/safemode_ui.cpp msgid "safemode configuration" @@ -223751,13 +231609,6 @@ msgstr "" msgid "KILLS" msgstr "" -#: src/sdltiles.cpp -msgid "" -"Sets which video display will be used to show the game. Requires restart." -msgstr "" -" Define qual exibição de vídeo será usada para mostrar o jogo. Requer " -"reinicialização." - #: src/skill.cpp msgid "The zen-most skill there is." msgstr "" @@ -223816,6 +231667,10 @@ msgstr "" msgid "d: delete history" msgstr "d: Apagar histórico" +#: src/teleport.cpp +msgid "You feel a strange, inwards force." +msgstr "" + #: src/teleport.cpp msgid "You cannot teleport safely." msgstr "" @@ -223825,7 +231680,11 @@ msgid "You die after teleporting into a solid." msgstr "" #: src/teleport.cpp -msgid "You exlpode into thousands of fragments." +msgid "You feel disjointed." +msgstr "" + +#: src/teleport.cpp +msgid "You explode into thousands of fragments." msgstr "" #: src/teleport.cpp @@ -224151,12 +232010,12 @@ msgid "vvrrrRRMM*POP!*" msgstr "vvrrrRRMM * POP! *" #: src/trapfunc.cpp -msgid "The air shimmers around you..." -msgstr "O ar brilha ao seu redor ..." +msgid "The air shimmers around you…" +msgstr "" #: src/trapfunc.cpp #, c-format -msgid "The air shimmers around %s..." +msgid "The air shimmers around %s…" msgstr "" #: src/trapfunc.cpp @@ -224172,8 +232031,8 @@ msgid "The acidic goo eats away at your feet." msgstr "A gosma ácida corrói seus pés." #: src/trapfunc.cpp -msgid "BEEPBOOP! Please remove non-organic object." -msgstr "BEEPBOOP! Por favor, remova o objeto não orgânico." +msgid "BEEPBOOP! Please remove non-organic object." +msgstr "" #: src/trapfunc.cpp msgid "The dissector lights up, and shuts down." @@ -224189,7 +232048,7 @@ msgstr "Feixes elétricos emitem do chão e cortam s carne!" #: src/trapfunc.cpp #, c-format -msgid "Electrical beams emit from the floor and slice your %s!" +msgid "Electrical beams emit from the floor and slice the %s!" msgstr "" #: src/trapfunc.cpp @@ -224275,8 +232134,8 @@ msgid "Your %s is burned by the lava!" msgstr "" #: src/trapfunc.cpp -msgid "You fail to attach it..." -msgstr "Você não consegue anexá-lo ..." +msgid "You fail to attach it…" +msgstr "" #: src/trapfunc.cpp msgid "There's nowhere to pull yourself to, and you sink!" @@ -224417,8 +232276,21 @@ msgid "Set turret targeting" msgstr "Definir segmentação da torre" #: src/turret.cpp -msgid "Can't aim turrets: all turrets are offline" -msgstr "Não é possível mirar torres: todas as torres estão offline" +msgid "auto -> manual" +msgstr "" + +#: src/turret.cpp +msgid "manual -> auto" +msgstr "" + +#: src/turret.cpp +msgid "manual (turret control unit required for auto mode)" +msgstr "" + +#: src/turret.cpp +msgid "" +"Can't aim turrets: all turrets are offline or set to manual targeting mode." +msgstr "" #: src/turret.cpp msgid "Aim which turret?" @@ -224462,17 +232334,18 @@ msgstr "" #: src/tutorial.cpp msgid "" "You're saving a tutorial - the tutorial world lacks certain features of " -"normal worlds. Weird things might happen when you load this save. You have " -"been warned." +"normal worlds. Weird things might happen when you load this save. You have" +" been warned." msgstr "" -" Você está salvando um tutorial - o mundo do tutorial não possui certos " -"recursos dos mundos normais. Coisas estranhas podem acontecer quando você " -"carrega este save. Você foi avisado." #: src/veh_interact.cpp msgid "Select part" msgstr "Selecione parte" +#: src/veh_interact.cpp +msgid "Time required:\n" +msgstr " Tempo requerido: \n" + #: src/veh_interact.cpp msgid "Skills required:\n" msgstr "Habilidades requeridas:\n" @@ -224645,11 +232518,11 @@ msgid "Search for part" msgstr "Pesquisar por parte" #: src/veh_interact.cpp -msgid "Your morale is too low to construct..." -msgstr "Sua moral é muito baixa para construir ..." +msgid "Your morale is too low to construct…" +msgstr "" #: src/veh_interact.cpp -msgid "It's too dark to see what you are doing..." +msgid "It's too dark to see what you are doing…" msgstr "" #: src/veh_interact.cpp @@ -224657,7 +232530,7 @@ msgid "You can't install parts while driving." msgstr "Você não pode instalar peças durante a condução." #: src/veh_interact.cpp -msgid "Installing this part will make the vehicle unfoldable. Continue?" +msgid "Installing this part will make the vehicle unfoldable. Continue?" msgstr "" #: src/veh_interact.cpp @@ -224665,8 +232538,8 @@ msgid "Choose shape:" msgstr "Escolha a forma:" #: src/veh_interact.cpp -msgid "Your morale is too low to repair..." -msgstr "Sua moral é muito baixa para reparar ..." +msgid "Your morale is too low to repair…" +msgstr "" #: src/veh_interact.cpp msgid "You can't repair stuff while driving." @@ -224685,8 +232558,8 @@ msgid "This part cannot be repaired" msgstr "Esta parte não pode ser reparada" #: src/veh_interact.cpp -msgid "Your morale is too low to mend..." -msgstr "Sua moral é baixa demais para consertar ..." +msgid "Your morale is too low to mend…" +msgstr "" #: src/veh_interact.cpp msgid "No faulty parts require mending." @@ -224856,8 +232729,8 @@ msgid "You can't siphon from a moving vehicle." msgstr "Você não pode sugar de um veículo em movimento." #: src/veh_interact.cpp -msgid "Select part to siphon: " -msgstr "Selecione a peça para sifão:" +msgid "Select part to siphon:" +msgstr "" #: src/veh_interact.cpp msgid "The vehicle has no solid fuel left to remove." @@ -225033,19 +232906,11 @@ msgstr "" msgid "Name: " msgstr "Nome:" -#: src/veh_interact.cpp -msgid "Yours" -msgstr "" - #: src/veh_interact.cpp #, c-format msgid "%s (%s)" msgstr "" -#: src/veh_interact.cpp -msgid "not owned" -msgstr "" - #: src/veh_interact.cpp msgid "nstall" msgstr "nstalar" @@ -225237,7 +233102,9 @@ msgstr "" #: src/veh_interact.cpp #, c-format -msgid "Choose a facing direction for the new %s. Press space to continue." +msgid "" +"Press space, choose a facing direction for the new %s and confirm with " +"enter." msgstr "" #: src/veh_interact.cpp @@ -225336,6 +233203,11 @@ msgstr "A parte do veículo que você estava segurando foi destruída!" msgid "Lost connection with the vehicle due to distance!" msgstr "Perdeu conexão do veículo devido a distância!" +#: src/vehicle.cpp +#, c-format +msgid "the %s emitting a beep and saying \"Obstacle detected!\"" +msgstr "" + #. ~ backfire sound #: src/vehicle.cpp #, c-format @@ -225397,7 +233269,7 @@ msgstr "" #: src/vehicle.cpp #, c-format msgid "" -"A part of the vehicle ('%s') has no containing vehicle's name. It will be " +"A part of the vehicle ('%s') has no containing vehicle's name. It will be " "detached from the %s vehicle." msgstr "" @@ -225503,8 +233375,8 @@ msgid "The %1$s's %2$s is destroyed!" msgstr "" #: src/vehicle_display.cpp -msgid "More parts here..." -msgstr "Mais partes aqui ..." +msgid "More parts here…" +msgstr "" #: src/vehicle_display.cpp #, c-format @@ -225803,49 +233675,115 @@ msgid "Close all curtains and doors" msgstr "Fechar todas cortinas e portas" #: src/vehicle_use.cpp +msgctxt "electronics menu option" +msgid "reactor" +msgstr "reator" + +#: src/vehicle_use.cpp +msgctxt "electronics menu option" msgid "headlights" msgstr "faroletes" #: src/vehicle_use.cpp +msgctxt "electronics menu option" msgid "wide angle headlights" msgstr "faróis de grande angular" #: src/vehicle_use.cpp +msgctxt "electronics menu option" msgid "directed overhead lights" msgstr "luzes de teto direcionadas" #: src/vehicle_use.cpp +msgctxt "electronics menu option" msgid "overhead lights" msgstr "luzes de teto" #: src/vehicle_use.cpp +msgctxt "electronics menu option" +msgid "aisle lights" +msgstr "luzes do corredor" + +#: src/vehicle_use.cpp +msgctxt "electronics menu option" msgid "dome lights" msgstr "luzes de cúpula" #: src/vehicle_use.cpp +msgctxt "electronics menu option" msgid "atomic lights" msgstr "luzes atômicas" #: src/vehicle_use.cpp +msgctxt "electronics menu option" msgid "stereo" msgstr "estéreo" #: src/vehicle_use.cpp +msgctxt "electronics menu option" +msgid "chimes" +msgstr "sinos" + +#: src/vehicle_use.cpp +msgctxt "electronics menu option" msgid "fridge" msgstr "geladeira" #: src/vehicle_use.cpp +msgctxt "electronics menu option" +msgid "freezer" +msgstr "congelador" + +#: src/vehicle_use.cpp +msgctxt "electronics menu option" msgid "space heater" msgstr "" #: src/vehicle_use.cpp +msgctxt "electronics menu option" msgid "cooler" msgstr "" #: src/vehicle_use.cpp +msgctxt "electronics menu option" msgid "recharger" msgstr "recarregador" +#: src/vehicle_use.cpp +msgctxt "electronics menu option" +msgid "plow" +msgstr "" + +#: src/vehicle_use.cpp +msgctxt "electronics menu option" +msgid "reaper" +msgstr "" + +#: src/vehicle_use.cpp +msgctxt "electronics menu option" +msgid "planter" +msgstr "plantas" + +#: src/vehicle_use.cpp +msgctxt "electronics menu option" +msgid "rockwheel" +msgstr "" + +#: src/vehicle_use.cpp +msgctxt "electronics menu option" +msgid "roadheader" +msgstr "" + +#: src/vehicle_use.cpp +msgctxt "electronics menu option" +msgid "scoop" +msgstr "colher" + +#: src/vehicle_use.cpp +msgctxt "electronics menu option" +msgid "water purifier" +msgstr "" + #: src/vehicle_use.cpp msgid "Turn off camera system" msgstr "Desligar sistema de câmera" @@ -225914,8 +233852,8 @@ msgid "You could use a screwdriver to hotwire it." msgstr "Você poderia usar uma chave de fenda para fazer ligação direta." #: src/vehicle_use.cpp -msgid "You destroy the controls..." -msgstr "Você destrói os controles" +msgid "You destroy the controls…" +msgstr "" #: src/vehicle_use.cpp msgid "You damage the controls." @@ -225937,6 +233875,28 @@ msgstr "Esquecer a posição do veículo" msgid "Remember vehicle position" msgstr "Lembrar da posição do veículo" +#: src/vehicle_use.cpp +msgid "Choose action for the autopilot" +msgstr "" + +#: src/vehicle_use.cpp +msgid "Patrol…" +msgstr "" + +#: src/vehicle_use.cpp +msgid "" +"Program the autopilot to patrol a nearby vehicle patrol zone. If no zones " +"are nearby, you will be prompted to create one." +msgstr "" + +#: src/vehicle_use.cpp +msgid "Stop…" +msgstr "" + +#: src/vehicle_use.cpp +msgid "Stop all autopilot related activities." +msgstr "" + #: src/vehicle_use.cpp msgid "You stop keeping track of the vehicle position." msgstr "Você desencana da posição do veículo" @@ -225981,14 +233941,14 @@ msgstr "Desligar motor" msgid "Turn on the engine" msgstr "Ligar motor" -#: src/vehicle_use.cpp -msgid "You turn the engine off." -msgstr "Você desliga o motor." - #: src/vehicle_use.cpp msgid "Honk horn" msgstr "Buzinar" +#: src/vehicle_use.cpp +msgid "Control autopilot" +msgstr "" + #: src/vehicle_use.cpp msgid "Disable cruise control" msgstr "Desativar piloto automático" @@ -226115,6 +234075,10 @@ msgstr "" msgid "the %s starting" msgstr "" +#: src/vehicle_use.cpp +msgid "You turn the engine off." +msgstr "Você desliga o motor." + #: src/vehicle_use.cpp msgid "You honk the horn!" msgstr "Você buzina!" @@ -226135,8 +234099,8 @@ msgstr "Você aperta a buzina, mas nada acontece." #: src/vehicle_use.cpp #, c-format -msgid "Move how many? [Have %d] (0 to cancel)" -msgstr "Mover quantos? [Tem %d] (0 cancelal)" +msgid "Move how many? [Have %d] (0 to cancel)" +msgstr "" #: src/vehicle_use.cpp msgid "a simple melody blaring from the loudspeakers." @@ -226212,6 +234176,10 @@ msgstr "" msgid "Only CBMs can be sterilized in an autoclave." msgstr "" +#: src/vehicle_use.cpp +msgid "You should put your CBMs in autoclave pouches to keep them sterile." +msgstr "" + #: src/vehicle_use.cpp msgid "You turn the autoclave on and it starts its cycle." msgstr "" @@ -226330,6 +234298,15 @@ msgstr "" msgid "You untie your %s." msgstr "" +#: src/vehicle_use.cpp +msgid "Load a vehicle on the rack" +msgstr "" + +#: src/vehicle_use.cpp +#, c-format +msgid "Remove the %s from the rack" +msgstr "" + #: src/vehicle_use.cpp msgid "Examine vehicle" msgstr "Examinar veículo" @@ -226375,8 +234352,8 @@ msgid "Use a towel" msgstr "" #: src/vehicle_use.cpp -msgid "Use the welding rig?" -msgstr "Usar o equipamento que está segurando?" +msgid "Use the welding rig" +msgstr "" #: src/vehicle_use.cpp msgid "Purify water in carried container" @@ -226450,8 +234427,8 @@ msgid "Your power armor protects you from the acidic drizzle." msgstr "Sua armadura te protege do chuvisco ácido." #: src/weather.cpp -msgid "The acid rain stings, but is mostly harmless for now..." -msgstr "A chuva ácida respinga, mas é praticamente inofensiva por enquanto..." +msgid "The acid rain stings, but is mostly harmless for now…" +msgstr "" #: src/weather.cpp msgid "Your umbrella protects you from the acid rain." @@ -226536,8 +234513,8 @@ msgstr "%s Noite" #: src/weather.cpp #, c-format -msgid "%s... %s. Highs of %s. Lows of %s. " -msgstr "%s... %s. Altas de %s. Baixas de %s. " +msgid "%s… %s. Highs of %s. Lows of %s. " +msgstr "" #: src/weather.cpp #, c-format @@ -226751,7 +234728,13 @@ msgstr "" #: src/wish.cpp #, c-format -msgid "Spawned %d/%d monsters, choose another or [%s] to quit." +msgid "Spawned %d monsters, choose another or [%s] to quit." +msgstr "" + +#: src/wish.cpp +msgid "" +"\n" +"Target location is not suitable for placing this kind of monster. Choose a different target or [i]ncrease the groups size." msgstr "" #: src/wish.cpp @@ -226782,16 +234765,16 @@ msgstr "Quantos?" #: src/wish.cpp #, c-format -msgid "Wish granted. Wish for more or hit [%s] to quit." -msgstr "Desejo realizado. Deseje por mais ou aperte [%s] para sair." +msgid "Wish granted. Wish for more or hit [%s] to quit." +msgstr "" #: src/wish.cpp msgid "Select a skill to modify" msgstr "Selecione uma habilidade para modificar" #: src/wish.cpp -msgid "Modify all skills..." -msgstr "Modificar todas as habilidades..." +msgid "Modify all skills…" +msgstr "" #: src/wish.cpp #, c-format @@ -226800,8 +234783,8 @@ msgstr "@ %d: %s " #: src/wish.cpp #, c-format -msgid "Set '%s' to.." -msgstr "Definido '%s para..." +msgid "Set '%s' to…" +msgstr "" #: src/wish.cpp msgid " (current)" @@ -226899,8 +234882,8 @@ msgstr "Ordem do Carregamento de Mod" #: src/worldfactory.cpp #, c-format -msgid "... %s = View full description " -msgstr "... %s = Ver descrição completa" +msgid "…%s = View full description " +msgstr "" #: src/worldfactory.cpp msgid "--NO AVAILABLE MODS--" @@ -226937,19 +234920,15 @@ msgid "________NO NAME ENTERED!________" msgstr "_____NENHUM NOME INSERIDO!_____" #: src/worldfactory.cpp -msgid "Are you SURE you're finished? World name will be randomly generated." +msgid "Are you SURE you're finished? World name will be randomly generated." msgstr "" -"Você tem CERTEZA que está pronto? O nome do mundo será gerado " -"aleatoriamente." #: src/worldfactory.cpp #, c-format msgid "" -"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " +"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " "%s/%s = Prev/Next Tab." msgstr "" -"%s = Salvar Ordem de Carregar como padrão. %s = Controle %s/%s = Ant/Próx " -"Opção. %s/%s = Ant/Próx Aba." #: src/worldfactory.cpp msgid "World Mods" diff --git a/lang/po/ru.po b/lang/po/ru.po index ed2eea7673963..6a9e988dc39eb 100644 --- a/lang/po/ru.po +++ b/lang/po/ru.po @@ -14,7 +14,6 @@ # Леонид Васильев , 2018 # Еухенио , 2018 # Daniel Sanderson , 2018 -# flin4 , 2018 # Igor Kirpik , 2018 # TechCat , 2018 # Eugene Belousov, 2018 @@ -33,13 +32,12 @@ # Unknown Unknown , 2019 # Kiryl Surahatau , 2019 # Timofey Kostenko , 2019 +# Zhar the Mad , 2019 # Валентин Литовченко , 2019 # Darketed , 2019 # AndyProhor , 2019 -# Victor_U , 2019 # Даниил Шаверов , 2019 # Eila Attwood , 2019 -# Zhar the Mad , 2019 # Gamp Forest, 2019 # Alexey Mostovoy , 2019 # Jin Velddrinn, 2019 @@ -49,25 +47,31 @@ # Brett Dong , 2019 # Artem Baranov , 2019 # Chor Hung , 2019 -# Anon Anon , 2019 # Oleksii Filonenko , 2019 # Jose , 2019 -# Arex , 2019 -# WX , 2019 -# Vlasov Vitaly , 2019 # Darkon Rabbit, 2019 -# Антон Бурмистров <22.valiant@gmail.com>, 2019 -# Midas , 2019 # Михаил Семенчин , 2019 +# Midas , 2019 +# Arex , 2019 +# Anton Dumov , 2019 +# Vlasov Vitaly , 2019 +# flin4 , 2019 # Aquilo, 2019 +# Anon Anon , 2019 +# Антон Бурмистров <22.valiant@gmail.com>, 2019 +# WX , 2019 +# Alexandr Epaneshnikov , 2019 +# Victor_U , 2019 +# Ivan Ivanov , 2019 +# Николай Е, 2019 # msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.D\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-06 00:47+0800\n" +"POT-Creation-Date: 2019-11-09 00:53+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" -"Last-Translator: Aquilo, 2019\n" +"Last-Translator: Николай Е, 2019\n" "Language-Team: Russian (https://www.transifex.com/cataclysm-dda-translators/teams/2217/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -787,11 +791,11 @@ msgstr "шипованная самодельная ракета" msgid "" "A hand-built rocket, consisting of a spike welded onto a pipe that was " "filled with improvised rocket fuel. Horribly inaccurate, as can be expected" -" of this grade of weapon, but packs a fierce punch... if it hits." +" of this grade of weapon, but packs a fierce punch… if it hits." msgstr "" "Самодельная ракета, состоящая из шипа, приваренного к трубе, заполненной " "кустарным ракетным топливом. Ужасно неточная, как можно ожидать от этого " -"класса оружия, но наносит мощный удар… если попадёт." +"класса оружия, но наносит мощный удар… Если попадёт." #: lang/json/AMMO_from_json.py msgid "explosive home-made rocket" @@ -843,11 +847,11 @@ msgstr "Незаконченный карбид кальция" #. ~ Description for unfinished calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"The incomplete process of converting coal and lime into calcium carbide. " -"Useless in this state/" +"The incomplete process of converting coal and lime into calcium carbide. " +"Useless in this state." msgstr "" -"Незаконченный процесс преобразования уголь и извести в карбид кальция. " -"Бесполезен в этом состоянии/" +"Незаконченный процесс преобразования угля и извести в карбид кальция. " +"Бесполезен в этом состоянии." #: lang/json/AMMO_from_json.py msgid "chain link" @@ -971,7 +975,7 @@ msgstr "деревянная стрела с широким наконечник #. ~ Description for wooden broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched wooden arrow shaft with a bladed tip. Useful for maximising " +"A fletched wooden arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a decent chance of remaining intact once " "fired." msgstr "" @@ -1040,7 +1044,7 @@ msgstr "алюминиевая стрела с широким наконечни #. ~ Description for aluminum broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched aluminum arrow shaft with a bladed tip. Useful for maximising " +"A fletched aluminum arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a good chance of remaining intact once fired." msgstr "" "Оперённая алюминиевая стрела с заостренным наконечником. Используется для " @@ -1199,15 +1203,15 @@ msgstr[3] "сера" #. ~ Description for sulfur #: lang/json/AMMO_from_json.py msgid "" -"A handful of yellow grains of pure sulfur. Primarily used to make battery " -"acid, sulfur is sometimes used as fuel for explosives. Can be burned to " -"produce acidic smoke, that is deadly to bacteria and humans alike, or " -"oxidized to make paper-bleaching agents." +"A handful of pure sulfur. Primarily used to make battery acid, sulfur is " +"sometimes used as fuel for explosives. Can be burned to produce acidic " +"smoke, that is deadly to bacteria and humans alike, or oxidized to make " +"paper-bleaching agents." msgstr "" -"Горстка жёлтых крупинок чистой серы. В основном серу используют для " -"получения аккумуляторной кислоты, а иногда в качестве топлива для взрывчатых" -" веществ. Можно сжечь для получения кислотного дыма, несущего равную " -"опасность бактериям и людям, или окислить до получения отбеливателя бумаги." +"Горстка чистой серы. В основном, используется для производства " +"аккумуляторной кислоты, но иногда сера используется в качестве топлива для " +"взрывчатых веществ. Можно сжечь для получения кислотного дыма, опасного для " +"бактерий и людей, или окислить до получения отбеливателя бумаги." #: lang/json/AMMO_from_json.py msgid "chunk of sulfur" @@ -1219,8 +1223,8 @@ msgstr[3] "кусок серы" #. ~ Description for chunk of sulfur #: lang/json/AMMO_from_json.py -msgid "A large chunk of pure sulfur. Break it up to use it." -msgstr "Большой кусок чистой серы. Измельчите его, чтобы использовать." +msgid "A chunk of pure sulfur. Break it up to use it." +msgstr "Кусок чистой серы. Измельчите его, чтобы использовать." #: lang/json/AMMO_from_json.py msgid "cement" @@ -1370,11 +1374,11 @@ msgstr[3] "оксид цинка" #. ~ Description for zinc oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of zinc oxide. It can be reduced into zinc, or used for some other" -" reactions of its own." +"A handful of zinc oxide. It can be reduced into zinc, or used for some " +"other reactions of its own." msgstr "" -"Горсть оксида цинка. Может быть восстановлен до цинка, или использован в " -"некоторых реакциях сам по себе." +"Горстка оксида цинка. Может быть восстановлена до цинка, или использована в " +"некоторых реакциях." #: lang/json/AMMO_from_json.py msgid "manganese dioxide" @@ -1387,13 +1391,13 @@ msgstr[3] "диоксид марганца" #. ~ Description for manganese dioxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of manganese dioxide powder. Occurring naturally in the mineral " +"A handful of manganese dioxide powder. Occurring naturally in the mineral " "pyrolusite, it is used commercially in the production of alkaline and zinc-" "carbon batteries." msgstr "" -"Горсть порошка диоксида марганца. Получающийся естественным образом в " -"минеральном пиролузите, он коммерчески используется при производстве " -"щелочных и цинк-углеродных батарей." +"Горстка порошка диоксида марганца. Добывается из минерального пиролюзита и " +"используется промышленностью для производства щелочных и марганцево-цинковых" +" батарей." #: lang/json/AMMO_from_json.py msgid "potassium chloride" @@ -1406,13 +1410,13 @@ msgstr[3] "хлористый калий" #. ~ Description for potassium chloride #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium chloride. Although it occurs naturally in the mineral" -" sylvite, it can be produced as a byproduct of the reaction of saltpeter and" -" hydrochloric acid. It can be used for making fertilizer, or potassium " -"hydroxide by way of electrolysis." +"A handful of potassium chloride. Although it occurs naturally in the " +"mineral sylvite, it can be produced as a byproduct of the reaction of " +"saltpeter and hydrochloric acid. It can be used for making fertilizer, or " +"potassium hydroxide by way of electrolysis." msgstr "" -"Горсть хлористого калия. Хотя он возникает естественным образом в " -"минеральном сильвите, его можно получить как побочный продукт реакции " +"Горстка хлористого калия. Хотя хлорид калия образуется естественным путем в " +"минеральном сильвине, его можно получить как побочный продукт реакции " "селитры и соляной кислоты. Годится для приготовления удобрений или " "гидроксида калия путем электролиза." @@ -1427,14 +1431,13 @@ msgstr[3] "гидроксид калия" #. ~ Description for potassium hydroxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium hydroxide. Commonly called caustic potash, it was " -"mainly used industrially for its caustic nature. It can be used as an " +"A handful of potassium hydroxide. Commonly called caustic potash, it was " +"mainly used industrially for its caustic nature. It can be used as an " "electrolyte in alkaline batteries, among other applications." msgstr "" -"Горсть гидроокиси калия. Обычно называемый едким калием, он в основном " -"использовался в промышленности для едкого характера. Он может быть " -"использован в качестве электролита в щелочных батареях, среди других " -"применений." +"Горстка гидроксида калия. Обычно называемый едким калием, он, в основном, " +"использовался в промышленности из-за едкого характера. Может также быть " +"использован в качестве электролита в щелочных батареях." #: lang/json/AMMO_from_json.py msgid "sulfuric acid" @@ -1468,13 +1471,13 @@ msgstr[3] "соляная кислота" #. ~ Description for hydrochloric acid #: lang/json/AMMO_from_json.py msgid "" -"Hydrochloric acid, also known as muriatic acid. It is a strong acid that has" -" a distinctive smell, important and frequently used ever since its " -"discovery. It still has a vast multitude of uses." +"Hydrochloric acid, also known as muriatic acid. It is a strong acid that " +"has a distinctive smell, important and frequently used ever since its " +"discovery. It still has a vast multitude of uses." msgstr "" -"Соляная кислота - сильная кислота с характерным запахом, важный и часто " -"используемый с момента открытия реагент. Она по-прежнему имеет огромное " -"множество применений." +"Хлористоводородная кислота, также известная как соляная кислота. Это сильная" +" кислота с характерным запахом — важный и часто используемый с момента " +"открытия реагент. Она по-прежнему имеет огромное множество применений." #: lang/json/AMMO_from_json.py msgid "acetone" @@ -1530,17 +1533,17 @@ msgstr[3] "оксид хрома" #. ~ Description for chromium oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of chromium oxide pellets. This substance, typically known as the" -" only stable green pigment for paints, is also a mild oxidizer, which can be" -" mixed with aluminum powder to make thermite for welding. If one had access" -" to a CVD machine and a laboratory worth of reagents, they might be able to " +"A handful of chromium oxide. This substance, typically known as the only " +"stable green pigment for paints, is also a mild oxidizer, which can be mixed" +" with aluminum powder to make thermite for welding. If one had access to a " +"CVD machine and a laboratory worth of reagents, they might be able to " "produce very durable ceramic layers." msgstr "" -"Горстка гранул оксида хрома. Это вещество в основном известно как " -"единственный стабильный зелёный пигмент для красок, а также мягкий " -"окислитель, который можно смешать с алюминиевым порошком, чтобы получить " -"термит для сварки. Если есть доступ к ХПО и лабораторным реагентам, можно " -"производить очень прочные керамические слои." +"Горстка оксида хрома. Это вещество, в основном, известно как единственный " +"стабильный зелёный пигмент для красок, а также является мягким окислителем, " +"который можно смешать с алюминиевым порошком, чтобы получить термит для " +"сварки. Если есть доступ к химическому парофазному осадителю и лабораторным " +"реагентам, можно производить очень прочную многослойную керамику." #: lang/json/AMMO_from_json.py msgid "calcium carbide" @@ -1553,16 +1556,16 @@ msgstr[3] "карбид кальция" #. ~ Description for calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"A handful of calcium carbide chunks, giving off a faint, garlic-like smell." -" Commercially, calcium carbide was used for on-the-spot manufacture of " +"A handful of calcium carbide, giving off a faint, garlic-like smell. " +"Commercially, calcium carbide was used for on-the-spot manufacture of " "acetylene and historically to power acetylene lamps. If mixed with water " "and sealed, it will explode with little strength, but with relatively loud " "noise and could maybe be used as a decoy." msgstr "" -"Горстка кусочков карбида кальция, слабо пахнущих чесноком. Карбид кальция " +"Горстка карбида кальция, слабо пахнущая чесноком. Карбид кальция " "используется в промышленности для получения ацетилена, а ранее им " "заправлялись карбидные лампы. Если смешать с водой и запечатать, будет " -"небольшой и громкий взрыв, что можно использовать в качестве приманки…" +"небольшой и громкий взрыв, что можно использовать в качестве приманки." #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "hexamine" @@ -1811,8 +1814,8 @@ msgstr[3] "спичечный порошок" #: lang/json/AMMO_from_json.py msgid "" "Some match head powder from match heads, similar to black gunpowder but a " -"bit weaker. It can be used in crafting explosives and fuses when other more " -"suitable candidates are less available." +"bit weaker. It can be used in crafting explosives and fuses when other more" +" suitable candidates are less available." msgstr "" "Порошок со спичечных головок. Он похож на порох, но немного слабее. Пригоден" " для изготовления взрывчатки и запалов, если не нашлось ничего подходящего." @@ -2264,7 +2267,7 @@ msgstr[3] "огнемётное топливо" #. ~ Description for flamethrower fuel #: lang/json/AMMO_from_json.py msgid "" -"A mixture of gasoline and diesel oil in equal parts. Its combustion " +"A mixture of gasoline and diesel oil in equal parts. Its combustion " "properties make it unfit for applications where you would use any of them " "separately, but it can be used to feed a flamethrower." msgstr "" @@ -2914,7 +2917,7 @@ msgid "" "requires a specific barrel, so will not work in a standard M4 or similar " "carbine. This one has been hand-reloaded." msgstr "" -".300 AAC Blackout - промежуточный патрон с баллистическими свойствами, " +".300 AAC Blackout — промежуточный патрон с баллистическими свойствами, " "подобными 7.62x39, однако пригодный для платформы AR-15. Патрон происходит " "от суженного 5.56 мм НАТО и подходит к магазину STANAG. Для него требуется " "особый ствол, так что им нельзя зарядить стандартную М4 или похожий карабин." @@ -3847,41 +3850,60 @@ msgid "reloaded .460 Rowland" msgstr "переснаряженный .460 Rowland" #: lang/json/AMMO_from_json.py -msgid ".50 BMG tracer" -msgstr ".50 BMG трассирующий" +msgid ".50 BMG M17 tracer" +msgstr "патрон .50 BMG M17 трассирующий" -#. ~ Description for .50 BMG tracer +#. ~ Description for .50 BMG M17 tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances." +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances." msgstr "" -"Трассирующий вариант мощного снайперского патрона .50 BMG. Трассирующие " -"патроны помогают держать направление на цель при стрельбе и могут поджечь " -"горючие вещества." +"Трассирующий вариант мощного снайперского патрона 50 калибра BMG. " +"Трассирующие патроны помогают держать направление на цель при стрельбе и " +"могут поджечь горючие вещества." + +#: lang/json/AMMO_from_json.py +msgid ".50 BMG M33 Ball" +msgstr "патрон .50 BMG M33 Ball" + +#. ~ Description for .50 BMG M33 Ball +#: lang/json/AMMO_from_json.py +msgid "" +".50 BMG ammunition with mild steel cored 661gr FMJ bullets. The .50 BMG is " +"a very powerful rifle round designed for anti-aircraft use, later adapted to" +" anti-vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." +msgstr "" +".50 BMG боеприпас, начинённый 661 грановой оболочечной пулей FMJ с мягким " +"стальным сердечником. .50 BMG — очень мощный и дальнобойный винтовочный " +"патрон, предназначенный для противовоздушных применений, а затем " +"адаптированный для противотранспортных и противопехотных задач. Его " +"колоссальная энергия и бронебойность делают его одним из самых смертоносных " +"доступных снарядов, к недостаткам которого можно отнести лишь сильную отдачу" +" и шум." #: lang/json/AMMO_from_json.py -msgid ".50 BMG Ball" -msgstr "патрон .50 BMG" +msgid ".50 BMG Match" +msgstr "патрон .50 BMG Match" -#. ~ Description for .50 BMG Ball +#. ~ Description for .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise." +".50 BMG FMJ lead core ammunition manufactured with tighter tolerances for " +"long-range competition shooting or other precision rifle use." msgstr "" -".50 BMG — очень мощный и дальнобойный винтовочный патрон. Его колоссальная " -"точность и бронебойность делают его одним из самых смертоносных патронов из " -"всех существующих, к недостаткам которого можно отнести лишь сильную отдачу " -"и шум." +".50 BMG FMJ оболочечные боеприпасы со свинцовым сердечником, изготовленные с" +" более жесткими допусками, для стрельбы на дальние дистанции или для " +"высокоточных применений." #: lang/json/AMMO_from_json.py -msgid ".50 BMG AP" -msgstr "патрон .50 BMG ББ" +msgid ".50 BMG M2 AP" +msgstr "патрон .50 BMG M2 ББ" -#. ~ Description for .50 BMG AP +#. ~ Description for .50 BMG M2 AP #: lang/json/AMMO_from_json.py msgid "" "Variant of the .50 BMG round that uses a core of very dense, hardened " @@ -3891,6 +3913,32 @@ msgstr "" "плотной, закалённой вольфрамовой стали. Проникающая способность увеличена, " "но урон меньше." +#: lang/json/AMMO_from_json.py +msgid ".50 BMG Raufoss Mk 211" +msgstr "патрон .50 BMG Raufoss Mk 211" + +#. ~ Description for .50 BMG Raufoss Mk 211 +#: lang/json/AMMO_from_json.py +msgid "" +"This variant of the .50 BMG round makes the most of the caliber's potential " +"payload delivery: the tip is loaded with an incendiary mix, which ignites on" +" impact, detonating the RDX or PETN charge. This also ignites a secondary " +"zirconium powder incendiary charge that surrounds a tungsten carbide " +"penetrator, both encased by a mild steel cup. Fragments from the cup and " +"burning metallic powder follow the penetrator through armored targets, " +"increasing lethality. These rare, complicated, and expensive rounds are not" +" likely to be manufactured again; use them wisely." +msgstr "" +"Этот вариант .50 BMG максимально использует нагрузочную способность калибра " +"патрона: наконечник загружен инициирующей зажигательной смесью из гексогена " +"и пентаэритриттетранитрата, которая детонирует при попадании по цели. При " +"детонации поджигается основной зажигательный состав порошка циркония, " +"который находится в оболочке из мягкой стали совместно с очень прочным " +"сердечником из карбида вольфрама. Частицы горящего циркония и оболочки " +"затягиваются в образованную сердечником пробоину, нанося значительный урон " +"за броней. Эти редкие, сложные и дорогие патроны вряд ли будут изготовлены " +"снова. Используйте их с умом." + #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG tracer" msgstr "переснаряжённый .50 BMG трассирующий" @@ -3898,30 +3946,33 @@ msgstr "переснаряжённый .50 BMG трассирующий" #. ~ Description for reloaded .50 BMG tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances. This one has been hand-reloaded." +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances. This one has been hand-reloaded." msgstr "" "Трассирующий вариант мощного снайперского патрона .50 BMG. Трассирующие " "патроны помогают при стрельбе держать направление на цель и могут поджечь " -"горючие вещества. Эти патроны были переснаряжены." +"горючие вещества. Это переснаряжённые патроны." #: lang/json/AMMO_from_json.py -msgid "reloaded .50 BMG Ball" -msgstr "переснаряжённый патрон .50 BMG" +msgid "reloaded .50 BMG Match" +msgstr "переснаряжённый патрон .50 BMG Match" -#. ~ Description for reloaded .50 BMG Ball +#. ~ Description for reloaded .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise. This" -" one has been hand-reloaded." +".50 BMG ammunition with lead-cored FMJ bullets. The .50 BMG is a very " +"powerful rifle round designed for anti-aircraft use, later adapted to anti-" +"vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -".50 BMG — очень мощный и дальнобойный винтовочный патрон. Его колоссальная " -"точность и бронебойность делают его одним из самых смертоносных патронов из " -"всех существующих, к недостаткам которого можно отнести лишь сильную отдачу " -"и шум. Эти патроны переснаряжены." +".50 BMG боеприпас, начинённый оболочечной пулей FMJ со свинцовым " +"сердечником. .50 BMG — очень мощный винтовочный патрон, предназначенный для " +"противовоздушных применений, а затем адаптированный для противотранспортных " +"и противопехотных задач. Его колоссальная энергия и бронебойность делают его" +" одним из самых смертоносных доступных снарядов, к недостаткам которого " +"можно отнести лишь сильную отдачу и шум." #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG AP" @@ -3930,13 +3981,12 @@ msgstr "переснаряжённый патрон .50 BMG ББ" #. ~ Description for reloaded .50 BMG AP #: lang/json/AMMO_from_json.py msgid "" -"Variant of the .50 BMG round that uses a core of very dense, hardened " -"tungsten steel. Penetration is increased, but damage is reduced. This one " -"has been hand-reloaded." +"Variant of the .50 BMG round that uses a core hardened steel. Penetration " +"is increased, but damage is reduced. This one has been hand-reloaded." msgstr "" -"Вариант патрона .50 BMG, который использует пулю с сердечником из очень " -"плотной закалённой вольфрамовой стали. Проникающая способность увеличена, но" -" урон меньше. Эти патроны переснаряжены." +"Вариант патрона .50 BMG, который использует пулю с сердечником из закалённой" +" стали. Проникающая способность больше, но урон меньше. Это переснаряжённые " +"патроны." #: lang/json/AMMO_from_json.py msgid ".500 S&W Magnum" @@ -5074,6 +5124,117 @@ msgstr "Немного грибных спор." msgid "fungal flower" msgstr "грибной цветок" +#: lang/json/AMMO_from_json.py +msgid "potassium alum" +msgstr "алюмокалиевые квасцы" + +#. ~ Description for potassium alum +#: lang/json/AMMO_from_json.py +msgid "" +"Small water-soluble white crystals with watery metallic odor, historically " +"used for many different purposes. Also known as potash alum and potassium " +"aluminum sulfate; often called simply alum, as it's the most important " +"member of the generic class of compounds called alums." +msgstr "" +"Небольшие водорастворимые белые кристаллы со слабым металлическим запахом, " +"издавна используемые для самых разных целей. Также известны как квасцы калия" +" или сульфат алюмокалия. Часто называются просто квасцами, так как это самый" +" важный член общего класса соединений." + +#: lang/json/AMMO_from_json.py +msgid "cloth dye powder" +msgstr "порошок краситель для ткани" + +#. ~ Description for cloth dye powder +#: lang/json/AMMO_from_json.py +msgid "" +"This is a powdered colorful cloth dye, which can be used to dye many fabrics" +" if combined with water and some mordant." +msgstr "" +"Это порошкообразный краситель для ткани, который можно использовать для " +"окрашивания, разведя водой и небольшим количеством растворителя." + +#: lang/json/AMMO_from_json.py +msgid "steel buckle" +msgstr "стальная пряжка" + +#. ~ Description for steel buckle +#: lang/json/AMMO_from_json.py +msgid "A steel buckle, like that usually found on belts." +msgstr "Стальная пряжка, которую обычно носят на ремнях." + +#: lang/json/AMMO_from_json.py +msgid "plastic button" +msgstr "пластиковая кнопка" + +#. ~ Description for plastic button +#: lang/json/AMMO_from_json.py +msgid "A plastic button, usually found on clothing." +msgstr "Обычная пластиковая кнопка для одежды." + +#: lang/json/AMMO_from_json.py +msgid "steel button" +msgstr "стальная кнопка" + +#. ~ Description for steel button +#: lang/json/AMMO_from_json.py +msgid "A steel button, usually found on clothing." +msgstr "Обычная стальная кнопка для одежды." + +#: lang/json/AMMO_from_json.py +msgid "wooden button" +msgstr "деревянная кнопка" + +#. ~ Description for wooden button +#: lang/json/AMMO_from_json.py +msgid "A crude wooden button, usually found on very old clothing." +msgstr "" +"Грубая деревянная пуговица, обычно встречающаяся на очень старой одежде." + +#: lang/json/AMMO_from_json.py +msgid "steel snap fastener" +msgstr "застежка из стали" + +#. ~ Description for steel snap fastener +#: lang/json/AMMO_from_json.py +msgid "A steel snap fastener, usually found on clothing." +msgstr "Обычная стальная застежка для одежды." + +#: lang/json/AMMO_from_json.py +msgid "touch fastener" +msgstr "застежка" + +#. ~ Description for touch fastener +#: lang/json/AMMO_from_json.py +msgid "" +"This is a pair of cloth strips, one of which has tiny hooks and another has " +"tiny loops. Useful as a fastener for clothing and footwear." +msgstr "" +"Это пара полосок ткани: у одной крошечные крючки, а у другой крошечные " +"петельки. Полезно в качестве застежки для одежды и обуви." + +#: lang/json/AMMO_from_json.py +msgid "long plastic zipper" +msgstr "длинная пластиковая молния" + +#. ~ Description for long plastic zipper +#: lang/json/AMMO_from_json.py +msgid "A long zipper made from plastic, usually found on clothing." +msgstr "Обычная длинная пластиковая молния для одежды." + +#: lang/json/AMMO_from_json.py +msgid "short plastic zipper" +msgstr "короткая пластиковая молния" + +#. ~ Description for short plastic zipper +#: lang/json/AMMO_from_json.py +msgid "" +"A short zipper made from plastic, usually found on footwear or clothing " +"pockets." +msgstr "" +"Короткая молния из пластика, которая обычно пришивается на карманы одежды " +"или на обувь." + #: lang/json/AMMO_from_json.py msgid "red paint" msgid_plural "red paint" @@ -5253,14 +5414,14 @@ msgstr[3] "цинк" #: lang/json/AMMO_from_json.py msgid "" "A slightly brittle metal. Apart from being an essential mineral that the " -"body needs, it reacts readily with acids, alkalis and other non-metals. It " +"body needs, it reacts readily with acids, alkalis and other non-metals. It " "can be crushed to make zinc powder, used in the production of batteries, " "among other things." msgstr "" -"Немного хрупкий металл. Помимо того, что он является важным минералом, в " -"котором нуждается организм, он легко реагирует с кислотами, щелочами и " -"другими неметаллами. Он может быть измельчён, чтобы сделать порошок цинка, " -"используемый в производстве батарей, среди прочего." +"Ломкий металл. Помимо того, что он является важным минералом, в котором " +"нуждается организм, он легко реагирует с кислотами, щелочами и другими " +"неметаллами. Может быть измельчён, чтобы сделать порошок цинка, используемый" +" в производстве батарей и других вещей." #: lang/json/AMMO_from_json.py msgid "lead" @@ -5353,11 +5514,11 @@ msgstr "дверная петля" #. ~ Description for door hinge #: lang/json/AMMO_from_json.py msgid "" -"A small metal hinge with two metal plates with screw holes. Useful for " +"A small metal hinge with two metal plates with screw holes. Useful for " "making doors." msgstr "" -"Небольшой металлический шарнир из двух металлических пластин с отверстиями " -"для шурупов. Применяется для навески дверей." +"Две небольшие металлические пластины с отверстиями для крепежа, соединенные " +"шарниром. Применяется для навески дверей." #: lang/json/AMMO_from_json.py msgid "tin powder" @@ -5366,7 +5527,7 @@ msgstr "оловянный порошок" #. ~ Description for tin powder #: lang/json/AMMO_from_json.py msgid "" -"A fine gray powder composed of tin, usable for making solder and lining " +"A fine gray powder composed of tin, usable for making solder and lining " "containers to prevent corrosion." msgstr "" "Мелкая серая оловянная пыль, пригодная для изготовления припоя и лужения " @@ -5418,6 +5579,460 @@ msgstr "" "Кусочек запала, достаточно длинный, чтобы вы успели отбежать от большинства " "взрывчатки." +#: lang/json/AMMO_from_json.py +msgid "rubber sole" +msgstr "резиновая подошва" + +#. ~ Description for rubber sole +#: lang/json/AMMO_from_json.py +msgid "" +"This is a sole made from rubber, usually found on the bottoms of boots. Can" +" be used for making actual boots." +msgstr "" +"Это обычная резиновая подошва. Может быть использована для изготовления " +"ботинок." + +#: lang/json/AMMO_from_json.py +msgid "cotton scraps" +msgid_plural "cotton scraps" +msgstr[0] "обрезок хлопчатобумажной ткани" +msgstr[1] "обрезка хлопчатобумажной ткани" +msgstr[2] "обрезки хлопчатобумажной ткани" +msgstr[3] "обрезки хлопчатобумажной ткани" + +#. ~ Description for cotton scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of cotton, waste material from tailoring " +"projects. Not useful for much and usually disposed of, but can be recycled " +"into some thread if you really want." +msgstr "" +"Маленькие кусочки хлопчатобумажной ткани разной формы, отходы пошива одежды." +" Не особо полезны и обычно выбрасываются, но, если хотите, можно разорвать " +"на нитки." + +#: lang/json/AMMO_from_json.py +msgid "faux fur scraps" +msgid_plural "faux fur scraps" +msgstr[0] "обрезок искусственного меха" +msgstr[1] "обрезка искусственного меха" +msgstr[2] "обрезки искусственного меха" +msgstr[3] "обрезки искусственного меха" + +#. ~ Description for faux fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of faux fur, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" +"Маленькие кусочки искусственного меха разной формы, отходы пошива одежды. Не" +" особо полезны и обычно выбрасываются." + +#: lang/json/AMMO_from_json.py +msgid "felt scraps" +msgid_plural "felt scraps" +msgstr[0] "войлочный обрезок" +msgstr[1] "войлочных обрезка" +msgstr[2] "войлочных обрезка" +msgstr[3] "войлочные обрезки" + +#. ~ Description for felt scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of felt, waste material from tailoring projects." +" Not useful for much and usually disposed of, but can be recycled into some" +" wool fiber if you really want." +msgstr "" +"Маленькие кусочки войлока разной формы, отходы пошива одежды. Не особо " +"полезны и обычно выбрасываются, но, если хотите, можете переработать их в " +"шерсть." + +#: lang/json/AMMO_from_json.py +msgid "fur scraps" +msgid_plural "fur scraps" +msgstr[0] "меховой обрезок" +msgstr[1] "меховых обрезка" +msgstr[2] "меховых обрезка" +msgstr[3] "меховые обрезки" + +#. ~ Description for fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of fur, waste material from tailoring projects. " +"Not useful for much and usually disposed of." +msgstr "" +"Маленькие кусочки меха разной формы, отходы пошива одежды. Не особо полезны " +"и обычно выбрасываются." + +#: lang/json/AMMO_from_json.py +msgid "Kevlar scraps" +msgid_plural "Kevlar scraps" +msgstr[0] "кевларовый кусочек" +msgstr[1] "кевларовые кусочки" +msgstr[2] "кевларовые кусочки" +msgstr[3] "кевларовые кусочки" + +#. ~ Description for Kevlar scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of Kevlar fabric, waste material from tailoring " +"projects. Normally it's disposed of, but since Kevlar would be very " +"difficult to make in a post-apocalyptic world, it might be worth recycling " +"it for Kevlar thread." +msgstr "" +"Маленькие кусочки кевлара разной формы, отходы пошива одежды. Обычно их " +"выбрасывают, но поскольку кевлар очень трудно изготовить в " +"постапокалиптическом мире, возможно, стоит переработать его в кевларовые " +"нити." + +#: lang/json/AMMO_from_json.py +msgid "leather scraps" +msgid_plural "leather scraps" +msgstr[0] "кожаный обрезок" +msgstr[1] "кожаных обрезка" +msgstr[2] "кожаных обрезков" +msgstr[3] "кожаные обрезки" + +#. ~ Description for leather scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of leather, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" +"Маленькие кусочки кожи разной формы, отходы пошива одежды. Не особо полезны " +"и обычно выбрасываются." + +#: lang/json/AMMO_from_json.py +msgid "lycra scraps" +msgid_plural "lycra scraps" +msgstr[0] "обрезок лайкры" +msgstr[1] "обрезка лайкры" +msgstr[2] "обрезка лайкры" +msgstr[3] "обрезки лайкры" + +#. ~ Description for lycra scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of lycra, waste material from tailoring projects." +" Not useful for much and usually disposed of." +msgstr "" +"Маленькие кусочки лайкры разной формы, отходы пошива одежды. Не особо " +"полезны и обычно выбрасываются." + +#: lang/json/AMMO_from_json.py +msgid "neoprene scraps" +msgid_plural "neoprene scraps" +msgstr[0] "неопреновый обрезок" +msgstr[1] "неопреновых обрезка" +msgstr[2] "неопреновых обрезка" +msgstr[3] "неопреновые обрезки" + +#. ~ Description for neoprene scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of neoprene, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "" +"Маленькие кусочки неопрена разной формы, отходы пошива одежды. Не особо " +"полезны и обычно выбрасываются." + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric scraps" +msgid_plural "synthetic fabric scraps" +msgstr[0] "обрезок синтетики" +msgstr[1] "обрезка синтетики" +msgstr[2] "обрезка синтетики" +msgstr[3] "обрезки синтетики" + +#. ~ Description for synthetic fabric scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of synthetic fabric, waste material from " +"tailoring projects. Not useful for much and usually disposed of." +msgstr "" +"Маленькие кусочки синтетической ткани разной формы, отходы пошива одежды. Не" +" особо полезны и обычно выбрасываются." + +#: lang/json/AMMO_from_json.py +msgid "Nomex scraps" +msgid_plural "Nomex scraps" +msgstr[0] "обрезок номекса" +msgstr[1] "обрезка номекса" +msgstr[2] "обрезков номекса" +msgstr[3] "обрезки номекса" + +#. ~ Description for Nomex scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of heat-resistant Nomex fabric, waste material " +"from tailoring projects. Normally it's disposed of, but since Nomex would " +"be very difficult to make in a post-apocalyptic world, it might be worth " +"recycling it." +msgstr "" +"Маленькие кусочки номекса разной формы, отходы пошива одежды. Обычно их " +"выбрасывают, но поскольку номекс очень трудно изготовить в " +"постапокалиптическом мире, возможно, стоит переработать его." + +#: lang/json/AMMO_from_json.py +msgid "cotton sheet" +msgstr "отрез хлопчатобумажной ткани" + +#. ~ Description for cotton sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of cotton fabric, suitable for making clothing." +msgstr "Отрез из хлопчатобумажной ткани, подходит для пошива одежды." + +#: lang/json/AMMO_from_json.py +msgid "patchwork cotton clothing parts" +msgid_plural "patchwork cotton clothing parts" +msgstr[0] "шитый лоскут хлопчатобумажной ткани" +msgstr[1] "сшитых лоскута хлопчатобумажной ткани" +msgstr[2] "сшитых лоскута хлопчатобумажной ткани" +msgstr[3] "сшитые лоскуты хлопчатобумажной ткани" + +#. ~ Description for patchwork cotton clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from cotton patches in " +"a patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" +"Мешанина различных кусочков хлопчатобумажной ткани, сшитых вместе. Подходит" +" для пошива одежды, хотя по времени получится много дольше, нежели при " +"использовании цельных отрезов ткани." + +#: lang/json/AMMO_from_json.py +msgid "faux fur sheet" +msgstr "отрез искусственного меха" + +#. ~ Description for faux fur sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of fake synthetic colorful fur, suitable for making clothing." +msgstr "Отрез крашеного искусственного меха, подходящий для пошива одежды." + +#: lang/json/AMMO_from_json.py +msgid "patchwork faux fur clothing parts" +msgid_plural "patchwork faux fur clothing parts" +msgstr[0] "шитый лоскут искусственного меха" +msgstr[1] "сшитых лоскута искусственного меха" +msgstr[2] "сшитых лоскута искусственного меха" +msgstr[3] "сшитые лоскуты искусственного меха" + +#. ~ Description for patchwork faux fur clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from faux fur patches " +"in a patchwork fashion. Suitable for making most clothing, though it's much" +" less time-efficient than if using proper material sheets." +msgstr "" +"Мешанина сшитых вместе отрезков шуб и воротников из искусственного меха. " +"Подходит для пошива одежды, хотя получится много дольше по времени, нежели " +"при использовании цельных отрезов меха." + +#: lang/json/AMMO_from_json.py +msgid "felt sheet" +msgstr "лист войлока" + +#. ~ Description for felt sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of felt, suitable for making clothing." +msgstr "Лист войлока, подходящий для пошива одежды." + +#: lang/json/AMMO_from_json.py +msgid "patchwork felt clothing parts" +msgid_plural "patchwork felt clothing parts" +msgstr[0] "шитые лоскут войлока" +msgstr[1] "сшитых лоскута войлока" +msgstr[2] "сшитых лоскутов войлока" +msgstr[3] "сшитые лоскуты войлока" + +#. ~ Description for patchwork felt clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from felt patches in a " +"patchwork fashion. Suitable for making most clothing, though it's much less" +" time-efficient than if using proper material sheets." +msgstr "" +"Мешанина сшитых вместе лоскутков и деталей одежды из войлока. Подходит для " +"пошива одежды, хотя по времени получится много дольше, нежели при " +"использовании цельных листов войлока." + +#: lang/json/AMMO_from_json.py +msgid "Kevlar sheet" +msgstr "лист кевлара" + +#. ~ Description for Kevlar sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Kevlar synthetic fabric, suitable for making bulletproof armor. " +"In this form, unlike rigid plates, it can be stitched." +msgstr "" +"Лист из кевларовой синтетической ткани, пригодный для изготовления " +"пуленепробиваемой брони. В этом виде, в отличие от жестких пластин, его " +"можно прошивать." + +#: lang/json/AMMO_from_json.py +msgid "lycra sheet" +msgstr "отрез лайкры" + +#. ~ Description for lycra sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of synthetic fabric blended with stretchy lycra fibers, suitable for" +" making flexible yet strong clothing." +msgstr "" +"Кусок синтетической ткани, смешанный с эластичными волокнами лайкры, " +"подходит для создания гибкой, но прочной одежды." + +#: lang/json/AMMO_from_json.py +msgid "patchwork lycra clothing parts" +msgid_plural "patchwork lycra clothing parts" +msgstr[0] "шитый лоскут лайкры" +msgstr[1] "сшитых лоскута лайкры" +msgstr[2] "сшитых лоскутов лайкры" +msgstr[3] "сшитые лоскуты лайкры" + +#. ~ Description for patchwork lycra clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from lycra patches in a" +" patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" +"Мешанина различных лоскутков лайкры, сшитых вместе. Подходит для пошива " +"одежды, хотя по времени получится много дольше, нежели при использовании " +"цельных отрезов лайкры." + +#: lang/json/AMMO_from_json.py lang/json/GENERIC_from_json.py +msgid "neoprene sheet" +msgid_plural "neoprene sheets" +msgstr[0] "лист неопрена" +msgstr[1] "листа неопрена" +msgstr[2] "листов неопрена" +msgstr[3] "лист неопрена" + +#. ~ Description for neoprene sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of neoprene, a synthetic rubber, suitable for making underwater " +"gear." +msgstr "" +"Лист из неопрена, синтетического каучука, подходящего для изготовления " +"подводного снаряжения." + +#: lang/json/AMMO_from_json.py +msgid "patchwork neoprene clothing parts" +msgid_plural "patchwork neoprene clothing parts" +msgstr[0] "шитый лоскут неопрена" +msgstr[1] "сшитых лоскута неопрена" +msgstr[2] "сшитых лоскутов неопрена" +msgstr[3] "сшитые лоскуты неопрена" + +#. ~ Description for patchwork neoprene clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from neoprene patches " +"in a patchwork fashion, with waterproofed seams. Suitable for making most " +"clothing, though it's much less time-efficient than if using proper material" +" sheets." +msgstr "" +"Мешанина различных кусочков неопрена, сшитых вместе, с водонепроницаемыми " +"швами. Подходит для пошива одежды, хотя получится много дольше по времени, " +"нежели при использовании цельных листов неопрена." + +#: lang/json/AMMO_from_json.py +msgid "Nomex sheet" +msgstr "лист номекса" + +#. ~ Description for Nomex sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Nomex synthetic fabric, suitable for making heat-resistant " +"clothing." +msgstr "" +"Лист из синтетической ткани номекс, пригодный для изготовления термостойкой " +"одежды." + +#: lang/json/AMMO_from_json.py +msgid "patchwork Nomex clothing parts" +msgid_plural "patchwork Nomex clothing parts" +msgstr[0] "шитый лоскут номекса" +msgstr[1] "сшитых лоскута номекса" +msgstr[2] "сшитых лоскута номекса" +msgstr[3] "сшитые лоскуты номекса" + +#. ~ Description for patchwork Nomex clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together with Nomex thread from " +"Nomex patches in a patchwork fashion. Suitable for making most clothing, " +"though it's much less time-efficient than if using proper material sheets." +msgstr "" +"Мешанина сшитых вместе лоскутков номекса номексовой же нитью. Подходит для " +"пошива одежды, хотя по времени получится много дольше, нежели при " +"использовании цельных листов номекса." + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric sheet" +msgstr "отрез синтетической ткани" + +#. ~ Description for synthetic fabric sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of synthetic fabric, suitable for making clothing." +msgstr "Отрез из синтетической ткани, подходит для пошива одежды." + +#: lang/json/AMMO_from_json.py +msgid "patchwork synthetic fabric clothing parts" +msgid_plural "patchwork synthetic fabric clothing parts" +msgstr[0] "шитый лоскут синтетической ткани" +msgstr[1] "сшитых лоскута синтетической ткани" +msgstr[2] "сшитых лоскута синтетической ткани" +msgstr[3] "сшитые лоскуты синтетической ткани" + +#. ~ Description for patchwork synthetic fabric clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from synthetic fabric " +"patches in a patchwork fashion. Suitable for making most clothing, though " +"it's much less time-efficient than if using proper material sheets." +msgstr "" +"Мешанина различных лоскутков синтетической ткани, сшитых вместе. Подходит " +"для пошива одежды, хотя по времени получится много дольше, нежели при " +"использовании цельных отрезов ткани." + +#: lang/json/AMMO_from_json.py +msgid "Kevlar thread" +msgstr "кевларовая нить" + +#. ~ Description for Kevlar thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some very durable Kevlar thread that would be particularly useful for making" +" ballistic armor, though it's fine to use in place of normal thread too, in " +"most cases. Making armor-grade Kevlar sheets from this would need a " +"particularly tight weave, and so would need some specialized machinery." +msgstr "" +"Очень прочная кевларовая нить, которая особенно полезна для изготовления " +"бронежилетов, хотя в, большинстве случаев, её можно использовать и вместо " +"обычной нити. Для изготовления листов из кевлара, пригодных для брони, " +"необходим особенно плотный пошив и, поэтому, потребуется специальное " +"оборудование." + +#: lang/json/AMMO_from_json.py +msgid "Nomex thread" +msgstr "номексная нить" + +#. ~ Description for Nomex thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some heat-resistant Nomex thread that would be particularly useful for " +"making heat protection gear, though it's fine to use in place of normal " +"thread too, in most cases." +msgstr "" +"Термостойкая номексная нить, которая особенно полезна для изготовления " +"термозащитного оборудования, хотя, в большинстве случаев, её можно " +"использовать и вместо обычных ниток." + #: lang/json/AMMO_from_json.py msgid "handloaded .22 CB" msgid_plural "handloaded .22 CB" @@ -6084,6 +6699,21 @@ msgstr "" "предназначенные для возгорания при ударе, пробивания брони и поджигания " "горючих веществ." +#: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py +msgid "orichalcum arrow" +msgstr "орихалковая стрела" + +#. ~ Description for orichalcum arrow +#: lang/json/AMMO_from_json.py +msgid "" +"An arrow composed of a sliver of orichalcum. The arrow has a mysterious " +"glow. Has a very high chance of staying intact when fired, however can only" +" be fired from Ichaival." +msgstr "" +"Стрела, содержащая осколок орихалка. Стрела испускает таинственное свечение." +" Имеет очень высокий шанс остаться целым при выстреле, однако может быть " +"запущена только из Ихайвалья." + #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "dragon blood" msgid_plural "dragon blood" @@ -6143,12 +6773,35 @@ msgstr[3] "Кристаллизованная мана" #. ~ Description for crystallized mana #: lang/json/AMMO_from_json.py msgid "" -"Some crystallized mana. This can be reloaded into rechargable mana crystals," -" but can never be unloaded." +"Some crystallized mana. This can be reloaded into rechargable mana " +"crystals, but can never be unloaded." msgstr "" "Немного кристаллизованной маны. Может быть заряжена в перезаряжаемый " "кристалл маны, но после этого не может быть извлечена." +#: lang/json/AMMO_from_json.py +msgid "lump of orichalcum" +msgstr "кусок орихалка" + +#. ~ Description for lump of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A heavy formed piece of strange metal. Useful for some crafting recipes." +msgstr "Тяжёлый кусок странного металла. Используется в некоторых рецептах." + +#: lang/json/AMMO_from_json.py +msgid "sliver of orichalcum" +msgstr "Осколок орихалка" + +#. ~ Description for sliver of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A sliver of a strange glowing metal. Useful as a weapon, but better suited " +"for crafting." +msgstr "" +"Осколок странного светящегося металла. Можно использовать в качестве оружия," +" но лучше подходит для крафта." + #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "fire lance charge" msgstr "заряд для «огненного копья»" @@ -7429,8 +8082,10 @@ msgstr[3] "перевязи" #. ~ Use action holster_msg for pair of rollerblades. #. ~ Use action holster_msg for pair of rollerskates. #. ~ Use action holster_msg for C.R.I.T web belt. +#. ~ Use action holster_msg for technomancer's toolbelt. #. ~ Use action holster_msg for hollow cane. -#: lang/json/ARMOR_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/ARMOR_from_json.py lang/json/ARMOR_from_json.py +#: lang/json/GENERIC_from_json.py #, no-python-format msgid "You sheath your %s" msgstr "Вы убираете %s." @@ -8210,6 +8865,56 @@ msgstr "" "Подогнанный под себя кольчужный жилет. Представляет собой кольчугу без " "рукавов с маленькими ремнями, рассчитанную для лучшего распределения веса." +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail chausses" +msgid_plural "pairs of chainmail chausses" +msgstr[0] "кольчужные поножи" +msgstr[1] "кольчужных поножи" +msgstr[2] "кольчужных поножей" +msgstr[3] "кольчужные поножи" + +#. ~ Description for pair of chainmail chausses +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail chausses that cover the feet, like booties made of " +"chainmail." +msgstr "Подходящая пара кольчужных поножей с носками, которые защищают ноги." + +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail gloves" +msgid_plural "pairs of chainmail gloves" +msgstr[0] "кольчужные перчатки" +msgstr[1] "кольчужные перчатки" +msgstr[2] "кольчужных перчаток" +msgstr[3] "кольчужные перчатки" + +#. ~ Description for pair of chainmail gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail gloves. They fully enclose the fingers and provide " +"excellent protection, but are somewhat cumbersome." +msgstr "" +"Подходящая пара кольчужных перчаток. Они полностью закрывают пальцы и " +"обеспечивают отличную защиту, но несколько громоздки." + +#: lang/json/ARMOR_from_json.py +msgid "faraday chainmail suit" +msgid_plural "faraday chainmail suits" +msgstr[0] "кольчужный костюм фарадея" +msgstr[1] "кольчужных костюма фарадея" +msgstr[2] "кольчужных костюмов фарадея" +msgstr[3] "кольчужные костюмы фарадея" + +#. ~ Description for faraday chainmail suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A fully customized chainmail suit that can be worn over your normal " +"clothing. The suit is conductively interconnected, protecting against " +"electricity." +msgstr "" +"Кольчужный костюм, который можно одеть поверх обычной одежды. Обладает " +"хорошей проводимостью, защищая от электричества." + #: lang/json/ARMOR_from_json.py msgid "leather chaps" msgid_plural "leather chaps" @@ -8396,6 +9101,32 @@ msgid "" msgstr "" "Красочный и смешной клоунский костюм. Прилично увеличивает доступное место." +#: lang/json/ARMOR_from_json.py +msgid "clown wig" +msgid_plural "clown wigs" +msgstr[0] "клоунский парик" +msgstr[1] "клоунских парика" +msgstr[2] "клоунских париков" +msgstr[3] "клоунские парики" + +#. ~ Description for clown wig +#: lang/json/ARMOR_from_json.py +msgid "A colorful and ridiculous wig fit for a clown." +msgstr "Красочный и смешной клоунский парик." + +#: lang/json/ARMOR_from_json.py +msgid "clown nose" +msgid_plural "clown noses" +msgstr[0] "клоунский нос" +msgstr[1] "клоунских носа" +msgstr[2] "клоунских носов" +msgstr[3] "клоунские носы" + +#. ~ Description for clown nose +#: lang/json/ARMOR_from_json.py +msgid "A red latex nose often seen being worn by clowns." +msgstr "Красный пластмассовый нос, который вы часто видели у клоунов." + #: lang/json/ARMOR_from_json.py msgid "fur coat" msgid_plural "fur coats" @@ -8723,6 +9454,28 @@ msgstr[3] "рубашка" msgid "A white button-down shirt with long sleeves. Looks professional!" msgstr "Белая рубашка с пуговицами и длинными рукавами. Выглядит официально!" +#: lang/json/ARMOR_from_json.py +msgid "drinking hat" +msgid_plural "drinking hats" +msgstr[0] "питьевой наголовник" +msgstr[1] "питьевых наголовника" +msgstr[2] "питьевых наголовников" +msgstr[3] "питьевые наголовники" + +#. ~ Description for drinking hat +#: lang/json/ARMOR_from_json.py +msgid "" +"This is an improvised harness that can be worn over other headgear or bare " +"head, made from two small liquid containers, a rubber hose, a bundle of " +"steel wire, and some cordage. A convenient and simple device for hands-free" +" drinking, though the liquid inside would spill if you put it into your " +"backpack." +msgstr "" +"Самодельная оснастка, которая может надеваться на головной убор или просто " +"на голову, сделанная из пары маленьких емкостей, резиновых трубок и " +"нескольких проволок. Удобное и простое устройство для питья без помощи рук. " +"Вот только жидкость выльется, если вы положите его в рюкзак." + #: lang/json/ARMOR_from_json.py msgid "wedding dress" msgid_plural "wedding dresses" @@ -8897,6 +9650,40 @@ msgstr[3] "поясная сумка" msgid "Provides a bit of extra storage, with minimal encumbrance." msgstr "Увеличивает вместимость при минимальном увеличении скованности." +#: lang/json/ARMOR_from_json.py +msgid "underarm protector" +msgid_plural "underarm protectors" +msgstr[0] "пластрон" +msgstr[1] "пластрон" +msgstr[2] "пластрон" +msgstr[3] "пластроны" + +#. ~ Description for underarm protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A sturdy cotton plastron that protects much of the torso, the dominant " +"shoulder, and underarm while fencing." +msgstr "" +"Туго накрахмаленный хлопковый нагрудник, который защищает большую часть " +"тела, плечи и подмышки при фехтовании." + +#: lang/json/ARMOR_from_json.py +msgid "plastic chest protector" +msgid_plural "plastic chest protectors" +msgstr[0] "протектор груди" +msgstr[1] "протектора груди" +msgstr[2] "протекторов груди" +msgstr[3] "протекторы груди" + +#. ~ Description for plastic chest protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A rigid plastic plastron with molded cups to be worn by female fencers for " +"protection while fencing." +msgstr "" +"Жесткий пластиковый нагрудник с формованными чашечками для фехтовальщиц, " +"применяемый при фехтовании для защиты груди." + #: lang/json/ARMOR_from_json.py msgid "fencing jacket" msgid_plural "fencing jackets" @@ -8915,6 +9702,46 @@ msgstr "" "для предотвращения несчастных случаев. Она не предоставляет какого-либо " "места для хранения, но она очень удобная." +#: lang/json/ARMOR_from_json.py +msgid "lamé (foil)" +msgid_plural "lamé (foil)s" +msgstr[0] "электрожилет (для рапиры)" +msgstr[1] "электрожилета (для рапиры)" +msgstr[2] "электрожилет (для рапиры)" +msgstr[3] "электрожилеты (для рапиры)" + +#. ~ Description for lamé (foil) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive vest with the zipper on the back used by " +"fencers for electronic scoring. Its outer layer is a woven mix of sturdy " +"cotton and stainless steel strands." +msgstr "" +"Тонкий, легкий проводящий жилет с молнией на спине, используемый " +"фехтовальщиками для электронного подсчета очков. Его внешний слой " +"представляет собой стёганную смесь из прочного хлопка и проволоки из " +"нержавеющей стали." + +#: lang/json/ARMOR_from_json.py +msgid "lamé (saber)" +msgid_plural "lamé (saber)s" +msgstr[0] "электрокуртка (для сабли)" +msgstr[1] "электрокуртки (для сабли)" +msgstr[2] "электрокурток (для сабли)" +msgstr[3] "электрокуртки (для сабли)" + +#. ~ Description for lamé (saber) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive jacket used by fencers for electronic " +"scoring. Its outer layer is a woven mix of sturdy cotton and stainless " +"steel strands." +msgstr "" +"Тонкая, легкая проводящая куртка с молнией на спине, используемая " +"фехтовальщиками для электронного подсчета очков. Её внешний слой " +"представляет собой стёганную смесь из прочного хлопка и проволоки из " +"нержавеющей стали." + #: lang/json/ARMOR_from_json.py msgid "fencing mask" msgid_plural "fencing masks" @@ -8943,6 +9770,40 @@ msgid "A pair of reinforced pants used by fencers to prevent injuries." msgstr "" "Укреплённые штаны, используемые фехтовальщиками для предотвращения травм." +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet" +msgid_plural "fencing gauntlets" +msgstr[0] "фехтовальная перчатка" +msgstr[1] "фехтовальные перчатки" +msgstr[2] "фехтовальных перчаток" +msgstr[3] "фехтовальные перчатки" + +#. ~ Description for fencing gauntlet +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers." +msgstr "" +"Перчатка из замши с прочным хлопковым запястьем, мягкой тыльной частью и " +"хорошо облегающими пальцами." + +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet (left)" +msgid_plural "fencing gauntlet (left)s" +msgstr[0] "фехтовальная перчатка (левая)" +msgstr[1] "фехтовальных перчатки (левых)" +msgstr[2] "фехтовальных перчаток (левых)" +msgstr[3] "фехтовальные перчатки (левые)" + +#. ~ Description for fencing gauntlet (left) +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers. This one is left-handed." +msgstr "" +"Перчатка из замши с прочным хлопковым запястьем, мягкой тыльной частью и " +"хорошо облегающими пальцами. Для левшей." + #: lang/json/ARMOR_from_json.py msgid "pair of fire gauntlets" msgid_plural "pairs of fire gauntlets" @@ -9410,24 +10271,6 @@ msgstr[3] "пара меховых перчаток" msgid "A pair of warm fur gloves. They are somewhat cumbersome." msgstr "Пара тёплых меховых перчаток. Выглядят немного громоздкими." -#: lang/json/ARMOR_from_json.py -msgid "pair of survivor wetsuit gloves" -msgid_plural "pairs of survivor wetsuit gloves" -msgstr[0] "пара водолазных перчаток выживальщика" -msgstr[1] "пары водолазных перчаток выживальщика" -msgstr[2] "пар водолазных перчаток выживальщика" -msgstr[3] "пара водолазных перчаток выживальщика" - -#. ~ Description for pair of survivor wetsuit gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" -" wear while providing maximum protection under extreme conditions." -msgstr "" -"Пара подогнанных под себя и укреплённых кевларом неопреновых перчаток. " -"Удобны для ношения и обеспечивают максимальную защиту при экстремальных " -"условиях." - #: lang/json/ARMOR_from_json.py msgid "pair of heavy survivor gloves" msgid_plural "pairs of heavy survivor gloves" @@ -9505,6 +10348,25 @@ msgstr "" "Пара подогнанных под себя и укреплённых кевларом тканых перчаток. Удобны для" " ношения и обеспечивают максимальную защиту при экстремальных условиях." +#: lang/json/ARMOR_from_json.py +msgid "pair of fingerless survivor gloves" +msgid_plural "pairs of fingerless survivor gloves" +msgstr[0] "пара перчаток выживальщика без пальцев" +msgstr[1] "пары перчаток выживальщика без пальцев" +msgstr[2] "пар перчаток выживальщика без пальцев" +msgstr[3] "пара перчаток выживальщика без пальцев" + +#. ~ Description for pair of fingerless survivor gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored cloth gloves with no fingers, modified " +"to be easy to wear while providing maximum protection under extreme " +"conditions." +msgstr "" +"Пара подогнанных под себя и укреплённых кевларом тканых перчаток без " +"пальцев. Удобны для ношения и обеспечивают максимальную защиту при " +"экстремальных условиях." + #: lang/json/ARMOR_from_json.py msgid "pair of medical gloves" msgid_plural "pairs of medical gloves" @@ -9795,19 +10657,6 @@ msgstr "" "Большие очки, полностью изолирующие глаза. Хорошо защищают от опасностей " "окружающей среды." -#: lang/json/ARMOR_from_json.py -msgid "pair of swim goggles" -msgid_plural "pairs of swim goggles" -msgstr[0] "очки для плавания" -msgstr[1] "очков для плавания" -msgstr[2] "очков для плавания" -msgstr[3] "очки для плавания" - -#. ~ Description for pair of swim goggles -#: lang/json/ARMOR_from_json.py -msgid "A small pair of goggles made for swimming." -msgstr "Маленькие очки для плавания." - #: lang/json/ARMOR_from_json.py msgid "pair of welding goggles" msgid_plural "pairs of welding goggles" @@ -9856,24 +10705,6 @@ msgstr "" "Тяжёлое шерстяное пальто в полный рост. Громоздкое, но тёплое и с глубокими " "карманами." -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit" -msgid_plural "survivor wetsuits" -msgstr[0] "укреплённый гидрокостюм" -msgstr[1] "укреплённых гидрокостюма" -msgstr[2] "укреплённых гидрокостюмов" -msgstr[3] "укреплённый гидрокостюм" - -#. ~ Description for survivor wetsuit -#: lang/json/ARMOR_from_json.py -msgid "" -"A lightweight, hand-built combination armor made from a cut-down bulletproof" -" vest and a reinforced neoprene wetsuit. Protects from the elements as well" -" as from harm." -msgstr "" -"Самодельная лёгкая броня, сделанная из бронежилета и усиленного комбинезона " -"из неопрена. Защищает от вредной среды и повреждений." - #: lang/json/ARMOR_from_json.py msgid "hakama" msgid_plural "hakamas" @@ -10512,22 +11343,6 @@ msgstr "" "Подогнанный под себя укреплённый капюшон из номекса и кевлара. Очень крепкий" " и прочный." -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit hood" -msgid_plural "survivor wetsuit hoods" -msgstr[0] "укреплённый капюшон гидрокостюма" -msgstr[1] "укреплённых капюшона гидрокостюма" -msgstr[2] "укреплённых капюшонов гидрокостюма" -msgstr[3] "укреплённый капюшон гидрокостюма" - -#. ~ Description for survivor wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "" -"A customized armored neoprene and Kevlar hood, very strong and durable." -msgstr "" -"Подогнанный под себя укреплённый капюшон из неопрена и кевлара. Очень " -"крепкий и прочный." - #: lang/json/ARMOR_from_json.py msgid "light survivor hood" msgid_plural "light survivor hoods" @@ -11432,18 +12247,25 @@ msgstr[2] "кожаных ремней" msgstr[3] "кожаный ремень" #. ~ Use action holster_msg for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_msg for magic leather belt. +#. ~ Use action holster_msg for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py #, no-python-format msgid "You tuck your %s into your %s" msgstr "Вы прикрепили %s на %s." #. ~ Use action holster_prompt for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_prompt for magic leather belt. +#. ~ Use action holster_prompt for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Stick what into your belt" msgstr "Что прикрепить к поясу?" #. ~ Description for leather belt -#: lang/json/ARMOR_from_json.py +#. ~ Description for magic leather belt +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py msgid "A leather belt. Useful for making your pair of pants fit." msgstr "Кожаный ремень. Затянутый в штаны, он подгоняет их по фигуре." @@ -11654,6 +12476,25 @@ msgstr "" "Набедренный подсумок, используемый военными для сброса пустых магазинов во " "время перестрелок." +#: lang/json/ARMOR_from_json.py +msgid "leotard" +msgid_plural "leotard" +msgstr[0] "трико" +msgstr[1] "трико" +msgstr[2] "трико" +msgstr[3] "трико" + +#. ~ Description for leotard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment, covering the body from the groin to the " +"shoulders. With its deep scoop-cut back and high waist cuts, this garment " +"is perfect for showcasing your physique on the stage." +msgstr "" +"Обтягивающая одежда из спандекса, покрывающая тело от паха до плеч. С его " +"глубоким вырезом на спине и высокими разрезами на талии, эта одежда идеально" +" подходит для демонстрации вашего телосложения на сцене." + #: lang/json/ARMOR_from_json.py msgid "Linux t-shirt" msgid_plural "Linux t-shirts" @@ -12694,41 +13535,6 @@ msgstr "" "Большие регулируемые ножны для ношения мечей и других больших клинков. " "Активируйте, чтобы вложить/достать оружие." -#: lang/json/ARMOR_from_json.py -msgid "shark suit" -msgid_plural "shark suits" -msgstr[0] "противоакулий костюм" -msgstr[1] "противоакульих костюма" -msgstr[2] "противоакульих костюмов" -msgstr[3] "противоакулий костюм" - -#. ~ Description for shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It comes with attached plastic helmet and booties." -msgstr "" -"Кольчужный монокостюм, используемый ныряльщиками для защиты от укусов акул. " -"В комплекте идёт пластиковый шлем и ботинки." - -#: lang/json/ARMOR_from_json.py -msgid "faraday shark suit" -msgid_plural "faraday shark suits" -msgstr[0] "фарадеев противоакулий костюм" -msgstr[1] "фарадеева противоакульх костюма" -msgstr[2] "фарадеевых противоакульих костюмов" -msgstr[3] "фарадеев противоакулий костюм" - -#. ~ Description for faraday shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It has been conductively interconnected, protecting against " -"electricity." -msgstr "" -"Кольчужный монокостюм, используемый ныряльщиками для защиты от укусов акул. " -"Он стал электрически взаимосвязан, что дало защиту от электричества." - #: lang/json/ARMOR_from_json.py msgid "sheath" msgid_plural "sheathes" @@ -12819,6 +13625,23 @@ msgstr "" "Джинсовые шорты. Сделанные из толстой и прочной ткани, они обеспечивают " "отличную защиту от порезов." +#: lang/json/ARMOR_from_json.py +msgid "thermal shirt" +msgid_plural "thermal shirts" +msgstr[0] "терморубашка" +msgstr[1] "терморубашки" +msgstr[2] "терморубашек" +msgstr[3] "терморубашки" + +#. ~ Description for thermal shirt +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, form-fitting long-sleeved spandex undershirt that helps " +"maintains body temperature." +msgstr "" +"Легкая облегающая рубашка из спандекса с длинными рукавами, которая " +"поддерживает температуру тела." + #: lang/json/ARMOR_from_json.py msgid "skinny tie" msgid_plural "skinny ties" @@ -13397,11 +14220,11 @@ msgstr[3] "костюм подопытного" #: lang/json/ARMOR_from_json.py msgid "" "A thin, short-sleeved and short-legged one-piece suit. Judging by the odd " -"tailoring and adjustment points... maybe you don't want to know who wore " -"it. Provides nominal storage and is not very encumbering." +"tailoring and adjustment points… maybe you don't want to know who wore it. " +"Provides nominal storage and is not very encumbering." msgstr "" "Тонкий, с короткими рукавами и штанинами цельный костюм. Если судить по " -"странному фасону и подгонке… похоже, вам не очень хочется знать, кто мог " +"странному фасону и подгонке… Похоже, вам не очень хочется знать, кто мог " "носить его. Обеспечивает небольшую вместимость и не сильно обременяет вас." #: lang/json/ARMOR_from_json.py @@ -13492,6 +14315,7 @@ msgstr[3] "пояс выживальщика" #. ~ Use action holster_prompt for survivor utility belt. #. ~ Use action holster_prompt for hiking backpack. #. ~ Use action holster_prompt for C.R.I.T web belt. +#. ~ Use action holster_prompt for technomancer's toolbelt. #: lang/json/ARMOR_from_json.py msgid "Sheath blade" msgstr "Вложить клинок в ножны" @@ -13965,19 +14789,6 @@ msgstr "" " шляпа промаслена от воды. Если вы «начальник» поселения или капитан " "постапокалиптического экипажа, эта шляпа для вас." -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming trunks" -msgid_plural "pairs of swimming trunks" -msgstr[0] "плавки" -msgstr[1] "плавок" -msgstr[2] "плавок" -msgstr[3] "плавки" - -#. ~ Description for pair of swimming trunks -#: lang/json/ARMOR_from_json.py -msgid "A pair of swimming trunks, with netting." -msgstr "Плавки с сеточкой." - #: lang/json/ARMOR_from_json.py msgid "t-shirt" msgid_plural "t-shirts" @@ -14299,68 +15110,6 @@ msgstr "" "Элегантная жилетка. Идеально подходит для тех случаев, когда в одной рубашке" " было бы слишком обычно, а костюм будет чересчур." -#: lang/json/ARMOR_from_json.py -msgid "wetsuit" -msgid_plural "wetsuits" -msgstr[0] "гидрокостюм" -msgstr[1] "гидрокостюма" -msgstr[2] "гидрокостюмов" -msgstr[3] "гидрокостюм" - -#. ~ Description for wetsuit -#: lang/json/ARMOR_from_json.py -msgid "A full-body neoprene wetsuit." -msgstr "Гидрокостюм из неопрена." - -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming gloves" -msgid_plural "pairs of swimming gloves" -msgstr[0] "пара перчаток для плавания" -msgstr[1] "пары перчаток для плавания" -msgstr[2] "пар перчаток для плавания" -msgstr[3] "пара перчаток для плавания" - -#. ~ Description for pair of swimming gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of very flexible neoprene-silicone rubber gloves, suitable for " -"underwater use." -msgstr "" -"Эластичные неопрено-силиконовые резиновые перчатки с перепонками, пригодные " -"для использования под водой." - -#: lang/json/ARMOR_from_json.py -msgid "wetsuit hood" -msgid_plural "wetsuit hoods" -msgstr[0] "капюшон гидрокостюма" -msgstr[1] "капюшона гидрокостюма" -msgstr[2] "капюшонов гидрокостюма" -msgstr[3] "капюшон гидрокостюма" - -#. ~ Description for wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "A neoprene hood, commonly worn by divers." -msgstr "Неопреновый капюшон. Обычно используется водолазами." - -#: lang/json/ARMOR_from_json.py -msgid "spring suit" -msgid_plural "spring suits" -msgstr[0] "короткий гидрокостюм" -msgstr[1] "коротких гидрокостюма" -msgstr[2] "коротких гидрокостюмов" -msgstr[3] "короткий гидрокостюм" - -#. ~ Description for spring suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A long-sleeved spring wetsuit with pink color details and cleavage-" -"enhancing, hip-accentuating construction. Not as protective as a full-body " -"suit, but also less restrictive." -msgstr "" -"Гидрокостюм для сёрфинга с длинными рукавами, оформлен в розовых цветах. " -"Обеспечивает меньшую защиту по сравнению с обычным гидрокостюмом, зато " -"меньше сковывает." - #: lang/json/ARMOR_from_json.py msgid "pair of army winter gloves" msgid_plural "pairs of army winter gloves" @@ -14773,6 +15522,47 @@ msgstr "" "Пластиковое полотно с несколькими кольцами для закрепления при помощи " "верёвки или шнура. Пригодится как самодельная защита от дождя." +#: lang/json/ARMOR_from_json.py +msgid "unitard" +msgid_plural "unitards" +msgstr[0] "комбинезон" +msgstr[1] "комбинезона" +msgstr[2] "комбинезоны" +msgstr[3] "комбинезоны" + +#. ~ Description for unitard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment resembling a crew necked leotard combined with " +"leggings. Commonly used by gymnasts, dancers and equestrian vaulters, the " +"unitard provides overall coverage with great flexibility." +msgstr "" +"Обтягивающая одежда из спандекса, напоминающая купальник с круглым вырезом в" +" сочетании с леггинсами. Комбинезон, обычно используемый гимнастами, " +"танцорами и конными прыгунами, обеспечивает общее покрытие с отличной " +"гибкостью." + +#: lang/json/ARMOR_from_json.py +msgid "zentai" +msgid_plural "zentais" +msgstr[0] "зентай" +msgstr[1] "зентай" +msgstr[2] "зентай" +msgstr[3] "зентай" + +#. ~ Description for zentai +#: lang/json/ARMOR_from_json.py +msgid "" +"Short for 'zenshin taitsu', a zentai is a form fitting full body nylon and " +"spandex garment. Though it covers your face, you can see through the " +"integrated hood. With a couple of these and some friends and you could put " +"on some kabuki." +msgstr "" +"Сокращенно от «zenshin taitsu», зентай — это форма одежды из нейлона и " +"полиуретана. Полностью закрытый костюм, сильно облегающий, с маской (без " +"глаз и рта) и перчатками, где нет ни миллиметра обнажённого тела. Имея " +"парочку таких, совместно с друзьями вы можете устроить кабуки." + #: lang/json/ARMOR_from_json.py msgid "pair of bone arm guards" msgid_plural "pairs of bone arm guards" @@ -17032,7 +17822,7 @@ msgid "" "cuffs of dress shirts - a must-have for men in formal wear. You can wear it" " if you like, but it won't provide any effects." msgstr "" -"Простая пара серебряных запонок. Запонками защищают петли манжет рубашек - " +"Простая пара серебряных запонок. Запонками защищают петли манжет рубашек — " "это обязательный атрибут официального мужского костюма. Если хотите, можете " "их носить, но это ничего вам не даст." @@ -17444,7 +18234,7 @@ msgid "" "another rare metal. You can wear it if you like, but it won't provide any " "effects." msgstr "" -"Пара серёжек из чистой платины - если надоело золото, возьмите другой " +"Пара серёжек из чистой платины — если надоело золото, возьмите другой " "драгоценный металл. Вы можете их носить, но это ничего вам не даст." #: lang/json/ARMOR_from_json.py @@ -17496,7 +18286,7 @@ msgid "" "A platinum necklace, with a small, empty heart frame hanging from a chain. " "You can wear it if you like, but it won't provide any effects." msgstr "" -"Платиновое ожерелье - маленькая рамка в виде сердечка на цепочке. Если " +"Платиновое ожерелье — маленькая рамка в виде сердечка на цепочке. Если " "хотите, можете его носить, но это ничего вам не даст." #: lang/json/ARMOR_from_json.py @@ -17537,10 +18327,10 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "purity ring" msgid_plural "purity rings" -msgstr[0] "кольцо чистоты" -msgstr[1] "кольца чистоты" -msgstr[2] "колец чистоты" -msgstr[3] "кольца чистоты" +msgstr[0] "кольцо целомудрия" +msgstr[1] "кольца целомудрия" +msgstr[2] "колец целомудрия" +msgstr[3] "кольца целомудрия" #. ~ Description for purity ring #: lang/json/ARMOR_from_json.py @@ -17549,7 +18339,7 @@ msgid "" " one bears the inscription, \"Love is patient.\"" msgstr "" "Ещё оно называется кольцо обещания, его носят как знак непорочности. На нём " -"написано \"Любовь терпелива\"." +"написано «Любовь терпелива»." #: lang/json/ARMOR_from_json.py msgid "signet ring" @@ -17584,7 +18374,7 @@ msgid "" "A flawless ring, ensnaring a diamond with twists of pure gold. It's a " "constant reminder that the wearer is married." msgstr "" -"Безупречное кольцо - алмаз, охваченный завитками из чистого золота. " +"Безупречное кольцо — алмаз, охваченный завитками из чистого золота. " "Постоянное напоминание, что его обладатель женат." #: lang/json/ARMOR_from_json.py @@ -18194,6 +18984,181 @@ msgstr "" "силовой броне ДаблТех, системам управления и климат-контроля требуется " "прямой контакт с кожей." +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming trunks" +msgid_plural "pairs of swimming trunks" +msgstr[0] "плавки" +msgstr[1] "плавок" +msgstr[2] "плавок" +msgstr[3] "плавки" + +#. ~ Description for pair of swimming trunks +#: lang/json/ARMOR_from_json.py +msgid "A pair of swimming trunks, with netting." +msgstr "Плавки с сеточкой." + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit" +msgid_plural "wetsuits" +msgstr[0] "гидрокостюм" +msgstr[1] "гидрокостюма" +msgstr[2] "гидрокостюмов" +msgstr[3] "гидрокостюм" + +#. ~ Description for wetsuit +#: lang/json/ARMOR_from_json.py +msgid "A full-body neoprene wetsuit." +msgstr "Гидрокостюм из неопрена." + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit hood" +msgid_plural "wetsuit hoods" +msgstr[0] "капюшон гидрокостюма" +msgstr[1] "капюшона гидрокостюма" +msgstr[2] "капюшонов гидрокостюма" +msgstr[3] "капюшон гидрокостюма" + +#. ~ Description for wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "A neoprene hood, commonly worn by divers." +msgstr "Неопреновый капюшон. Обычно используется водолазами." + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit hood" +msgid_plural "survivor wetsuit hoods" +msgstr[0] "укреплённый капюшон гидрокостюма" +msgstr[1] "укреплённых капюшона гидрокостюма" +msgstr[2] "укреплённых капюшонов гидрокостюма" +msgstr[3] "укреплённый капюшон гидрокостюма" + +#. ~ Description for survivor wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "" +"A customized armored neoprene and Kevlar hood, very strong and durable." +msgstr "" +"Подогнанный под себя укреплённый капюшон из неопрена и кевлара. Очень " +"крепкий и прочный." + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit" +msgid_plural "survivor wetsuits" +msgstr[0] "укреплённый гидрокостюм" +msgstr[1] "укреплённых гидрокостюма" +msgstr[2] "укреплённых гидрокостюмов" +msgstr[3] "укреплённый гидрокостюм" + +#. ~ Description for survivor wetsuit +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, hand-built combination armor made from a cut-down bulletproof" +" vest and a reinforced neoprene wetsuit. Protects from the elements as well" +" as from harm." +msgstr "" +"Самодельная лёгкая броня, сделанная из бронежилета и усиленного комбинезона " +"из неопрена. Защищает от вредной среды и повреждений." + +#: lang/json/ARMOR_from_json.py +msgid "pair of survivor wetsuit gloves" +msgid_plural "pairs of survivor wetsuit gloves" +msgstr[0] "пара водолазных перчаток выживальщика" +msgstr[1] "пары водолазных перчаток выживальщика" +msgstr[2] "пар водолазных перчаток выживальщика" +msgstr[3] "пара водолазных перчаток выживальщика" + +#. ~ Description for pair of survivor wetsuit gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" +" wear while providing maximum protection under extreme conditions." +msgstr "" +"Пара подогнанных под себя и укреплённых кевларом неопреновых перчаток. " +"Удобны для ношения и обеспечивают максимальную защиту при экстремальных " +"условиях." + +#: lang/json/ARMOR_from_json.py +msgid "spring suit" +msgid_plural "spring suits" +msgstr[0] "короткий гидрокостюм" +msgstr[1] "коротких гидрокостюма" +msgstr[2] "коротких гидрокостюмов" +msgstr[3] "короткий гидрокостюм" + +#. ~ Description for spring suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A long-sleeved spring wetsuit with pink color details and cleavage-" +"enhancing, hip-accentuating construction. Not as protective as a full-body " +"suit, but also less restrictive." +msgstr "" +"Гидрокостюм для сёрфинга с длинными рукавами, оформлен в розовых цветах. " +"Обеспечивает меньшую защиту по сравнению с обычным гидрокостюмом, зато " +"меньше сковывает." + +#: lang/json/ARMOR_from_json.py +msgid "faraday shark suit" +msgid_plural "faraday shark suits" +msgstr[0] "фарадеев противоакулий костюм" +msgstr[1] "фарадеева противоакульх костюма" +msgstr[2] "фарадеевых противоакульих костюмов" +msgstr[3] "фарадеев противоакулий костюм" + +#. ~ Description for faraday shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It has been conductively interconnected, protecting against " +"electricity." +msgstr "" +"Кольчужный монокостюм, используемый ныряльщиками для защиты от укусов акул. " +"Он стал электрически взаимосвязан, что дало защиту от электричества." + +#: lang/json/ARMOR_from_json.py +msgid "shark suit" +msgid_plural "shark suits" +msgstr[0] "противоакулий костюм" +msgstr[1] "противоакульих костюма" +msgstr[2] "противоакульих костюмов" +msgstr[3] "противоакулий костюм" + +#. ~ Description for shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It comes with attached plastic helmet and booties." +msgstr "" +"Кольчужный монокостюм, используемый ныряльщиками для защиты от укусов акул. " +"В комплекте идёт пластиковый шлем и ботинки." + +#: lang/json/ARMOR_from_json.py +msgid "pair of swim goggles" +msgid_plural "pairs of swim goggles" +msgstr[0] "очки для плавания" +msgstr[1] "очков для плавания" +msgstr[2] "очков для плавания" +msgstr[3] "очки для плавания" + +#. ~ Description for pair of swim goggles +#: lang/json/ARMOR_from_json.py +msgid "A small pair of goggles made for swimming." +msgstr "Маленькие очки для плавания." + +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming gloves" +msgid_plural "pairs of swimming gloves" +msgstr[0] "пара перчаток для плавания" +msgstr[1] "пары перчаток для плавания" +msgstr[2] "пар перчаток для плавания" +msgstr[3] "пара перчаток для плавания" + +#. ~ Description for pair of swimming gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of very flexible neoprene-silicone rubber gloves, suitable for " +"underwater use." +msgstr "" +"Эластичные неопрено-силиконовые резиновые перчатки с перепонками, пригодные " +"для использования под водой." + #: lang/json/ARMOR_from_json.py msgid "helmet netting" msgid_plural "helmet nettings" @@ -18459,10 +19424,10 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "CRIT face mask" msgid_plural "CRIT face masks" -msgstr[0] "маска КРИТ" -msgstr[1] "маски КРИТ" -msgstr[2] "масок КРИТ" -msgstr[3] "маски КРИТ" +msgstr[0] "маска К.Р.И.Т" +msgstr[1] "маски К.Р.И.Т" +msgstr[2] "масок К.Р.И.Т" +msgstr[3] "маски К.Р.И.Т" #. ~ Description for CRIT face mask #: lang/json/ARMOR_from_json.py @@ -18479,10 +19444,10 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "pair of CRIT boots" msgid_plural "pair of CRIT bootss" -msgstr[0] "пара ботинок КРИТ" -msgstr[1] "пары ботинок КРИТ" -msgstr[2] "пар ботинок КРИТ" -msgstr[3] "пары ботинок КРИТ" +msgstr[0] "пара ботинок К.Р.И.Т" +msgstr[1] "пары ботинок К.Р.И.Т" +msgstr[2] "пар ботинок К.Р.И.Т" +msgstr[3] "пары ботинок К.Р.И.Т" #. ~ Description for pair of CRIT boots #: lang/json/ARMOR_from_json.py @@ -18500,10 +19465,10 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "pair of CRIT LA boots" msgid_plural "pairs of CRIT LA boots" -msgstr[0] "пара легких ботинок КРИТ" -msgstr[1] "пары легких ботинок КРИТ" -msgstr[2] "пар легких ботинок КРИТ" -msgstr[3] "пары легких ботинок КРИТ" +msgstr[0] "пара легких ботинок К.Р.И.Т" +msgstr[1] "пары легких ботинок К.Р.И.Т" +msgstr[2] "пар легких ботинок К.Р.И.Т" +msgstr[3] "пары легких ботинок К.Р.И.Т" #. ~ Description for pair of CRIT LA boots #: lang/json/ARMOR_from_json.py @@ -19006,6 +19971,70 @@ msgstr[1] "ружейных патронташа" msgstr[2] "ружейных патронташей" msgstr[3] "ружейный патронташ" +#: lang/json/ARMOR_from_json.py +msgid "technomancer's toolbelt" +msgid_plural "technomancer's toolbelts" +msgstr[0] "пояс техноманта" +msgstr[1] "пояса техноманта" +msgstr[2] "поясов техноманта" +msgstr[3] "пояса техноманта" + +#. ~ Description for technomancer's toolbelt +#: lang/json/ARMOR_from_json.py +msgid "" +"A custom-built leather utility belt that instantly creates any tool that you" +" reach for. Activate to sheathe/draw a weapon." +msgstr "" +"Специальный кожаный пояс с инструментами, который мгновенно создает любой " +"инструмент, который вам нужен. Активируйте, чтобы положить/достать орудие." + +#: lang/json/ARMOR_from_json.py +msgid "seven league boots" +msgid_plural "pairs of seven league boots" +msgstr[0] "сапоги-скороходы" +msgstr[1] "сапога-скорохода" +msgstr[2] "сапогов-скороходов" +msgstr[3] "сапоги-скороходы" + +#. ~ Description for seven league boots +#. ~ Description for boots of haste +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, they look like they've seen a lot of use and will likely see a lot " +"more. They make your movement a lot less work." +msgstr "" +"Прочные, но чрезвычайно удобные облегающие сапоги из потёртой кожи и стали. " +"Выглядят так, как будто ими очень долго пользовались, но, вероятно, выдержат" +" гораздо дольше. Наделяют способностью передвигаться с большой скоростью." + +#: lang/json/ARMOR_from_json.py +msgid "boots of haste" +msgid_plural "pairs of boots of haste" +msgstr[0] "сапоги спешки" +msgstr[1] "сапога спешки" +msgstr[2] "сапогов спешки" +msgstr[3] "сапоги спешки" + +#: lang/json/ARMOR_from_json.py +msgid "boots of grounding" +msgid_plural "pairs of boots of grounding" +msgstr[0] "сапоги заземления" +msgstr[1] "сапога заземления" +msgstr[2] "сапогов заземления" +msgstr[3] "сапоги заземления" + +#. ~ Description for boots of grounding +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of leather with " +"small engraved runes seemingly filled with rubber. When worn, you are " +"immune to damage from electricity." +msgstr "" +"Прочные, но чрезвычайно удобные облегающие сапоги из кожи, гравированные " +"маленькими резиновыми рунами. При ношении вы невосприимчивы к урону от " +"электричества." + #: lang/json/ARMOR_from_json.py msgid "copper infusion bracelet" msgid_plural "copper infusion bracelets" @@ -19034,10 +20063,10 @@ msgstr[3] "медные венцы" #. ~ Description for copper circlet #: lang/json/ARMOR_from_json.py msgid "" -"A wooden band with copper trimmings to be worn on the head. Touching your " +"A wooden band with copper trimmings to be worn on the head. Touching your " "temples with it on makes you feel very calm." msgstr "" -"Деревянная полоска с медным обрамлением для ношения на голове. Когда вы его " +"Деревянный обруч с медным обрамлением для ношения на голове. Когда вы его " "надеваете и касаетесь висков, то ощущаете невероятное спокойствие." #: lang/json/ARMOR_from_json.py @@ -19850,7 +20879,7 @@ msgstr[3] "КБМ: Система невидимости" msgid "" "This high-power system uses a set of cameras and LEDs to make the user blend" " into their surroundings, rendering them fully invisible to eyes and optical" -" sensors. However, this does't prevent detection from other means such as " +" sensors. However, this doesn't prevent detection from other means such as " "infrared, sonar, etc." msgstr "" "Эта мощная система при помощи камер и светодиодов помогает слиться с фоном и" @@ -19986,12 +21015,12 @@ msgstr[3] "КБМ: Сжигатель этанола" #. ~ Description for Ethanol Burner CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A reactor that burns alcohol as fuel in an extremely efficient reaction. " -"However, the user will still suffer the inebriating effects of the " -"substance." +"A reactor that burns alcohol as fuel in an extremely efficient reaction. It" +" can store up to 500ml and accept ethanol, methanol and denatured aclohol as" +" fuel." msgstr "" -"Реактор, сжигающий алкоголь как очень эффективное топливо. Однако обладатель" -" всё равно будет страдать от воздействия алкоголя на организм." +"Реактор, сжигающий алкоголь как очень эффективное топливо. Он может вместить" +" до 500 мл этанола, метанола или денатурата." #: lang/json/BIONIC_ITEM_from_json.py msgid "Aero-Evaporator CBM" @@ -20002,8 +21031,7 @@ msgstr[2] "КБМ: Воздушный конденсатор испарений" msgstr[3] "КБМ: Воздушный конденсатор испарений" #. ~ Description for Aero-Evaporator CBM -#. ~ Description for Aero-Evaporator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "This unit draws moisture from the surrounding air, which then is poured from" " a fingertip in the form of water. It may fail in very dry environments." @@ -20058,7 +21086,7 @@ msgstr[3] "КБМ: Искажение лица" #: lang/json/BIONIC_ITEM_from_json.py msgid "" "Through controlled application of electrochemical impulses, this bionic " -"mudule lets the user alter their facial structure so as to subtly affect the" +"module lets the user alter their facial structure so as to subtly affect the" " reactions of others. This grants a bonus to all social interactions." msgstr "" "С помощью направленных электрохимических импульсов этот модуль позволяет " @@ -20093,10 +21121,10 @@ msgstr[3] "КБМ: Пальцехак" #. ~ Description for Fingerhack CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A miniature electrohack, surgically embedded in a finger of the right hand. " -"This is an all-purpose hacking unit used to override control panels and the " -"like, but not computers. Computer proficiency is important, and a failed " -"use may cause damage." +"A miniature electrohack, surgically embedded in a finger of the right hand." +" This is an all-purpose hacking unit used to override control panels and " +"the like, but not computers. Computer proficiency is important, and a " +"failed use may cause damage." msgstr "" "Миниатюрный электрохак, хирургически имплантируемый в палец на правой руке. " "Это универсальный инструмент для взлома панелей управления и подобных вещей," @@ -20492,8 +21520,7 @@ msgstr[2] "КБМ: Генератор искусственной ночи" msgstr[3] "КБМ: Генератор искусственной ночи" #. ~ Description for Artificial Night Generator CBM -#. ~ Description for Artificial Night Generator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "When active, this bionic eliminates all light within a 15 tile radius " "through destructive interference." @@ -20587,7 +21614,7 @@ msgstr[3] "КБМ: Интерфейс силовой брони Мк. II" msgid "" "Interfaces the user's bionic power system with the internal charging port on" " suits of power armor, allowing them to draw from the user's bionic power " -"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " +"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " "DoubleTech Inc., to meet the popularity of the Mk. II power armor series." msgstr "" "Связывает вашу энергосистему с внутренними портами зарядки силовой брони, " @@ -21316,7 +22343,7 @@ msgstr[3] "Что-то металлическое и зудящее" #. ~ Description for Itchy Metal Thing #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"You can't recognise what this is supposed to be, but it's a very awkward " +"You can't recognize what this is supposed to be, but it's a very awkward " "thing to have in one's body." msgstr "" "Вы не можете сообразить, чем это должно быть, но внутри тела ему явно не " @@ -21332,10 +22359,10 @@ msgstr[3] "Светящиеся штуки" #. ~ Description for Glowy Thing #: lang/json/BIONIC_ITEM_from_json.py -msgid "" -"It's a... thing? And it glows, at least it did when it was plugged in." +msgid "It's a… thing? And it glows, at least it did when it was plugged in." msgstr "" -"Это… нечто? А ещё оно светится или хотя бы светилось, когда было подключено." +"Это… Нечто? А ещё оно светится или, по крайне мере, светилось, когда было " +"подключено." #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Leaky Bionic" @@ -22079,8 +23106,8 @@ msgstr[3] "«Как приготовить человека»" #. ~ Description for To Serve Man #: lang/json/BOOK_from_json.py -msgid "It's... it's a cookbook!" -msgstr "Это… это поваренная книга!" +msgid "It's… it's a cookbook!" +msgstr "Это… Это — поваренная книга!" #: lang/json/BOOK_from_json.py msgid "Cucina Italiana" @@ -22202,7 +23229,7 @@ msgstr[3] "PE050 «Альфа»: Предварительный доклад" msgid "" "This sheaf of papers-dated two weeks before all this started-describes some " "new chemical formula, and its effects on human subjects. It's stamped " -"\"APPROVED\"..." +"\"APPROVED\"…" msgstr "" "Это пачка документов, описывающих некую новую химическую формулу и её влияние на испытуемых. Имеет штамп «ОДОБРЕНО»… \n" "Дата на этих документах была поставлена за две недели до того, как всё это началось." @@ -22238,12 +23265,12 @@ msgstr[3] "PE065 «Химера»: Эффективное использован #: lang/json/BOOK_from_json.py msgid "" "This sheaf of papers describes a new chemical formula in detail and supplies" -" instructions for its use as some sort of ... crowd-control catalyst? That " -"can't be right..." +" instructions for its use as some sort of… crowd-control catalyst? That " +"can't be right…" msgstr "" "Это пачка документов с подробным описанием новой химической формулы. Также " "включает в себя инструкции для её использования в качестве своего рода… " -"средства борьбы с беспорядками? Здесь что-то не так…" +"Средства борьбы с беспорядками? Здесь что-то не так…" #: lang/json/BOOK_from_json.py msgid "lab journal-Smythe" @@ -22258,7 +23285,7 @@ msgstr[3] "лабораторный журнал: Смит" msgid "" "This team logbook details several varieties of mutagenic experiments, " "focusing on those derived from flesh contaminated with XE037. The results " -"look promising but the procurement methods seem awfully vague..." +"look promising but the procurement methods seem awfully vague…" msgstr "" "Этот журнал группы учёных подробно рассматривает несколько разновидностей " "экспериментов с мутагеном, полученном из плоти, заражённой XE037. Результаты" @@ -22277,10 +23304,10 @@ msgstr[3] "журнал обслуживания коллектора" msgid "" "This binder details the scheduled maintenance for several plumbing systems " "throughout the facility. However, some of the log sheets seem to be filled " -"with...a chemical formula?" +"with… a chemical formula?" msgstr "" "В этой папке собраны материалы планового обслуживания канализационных систем" -" предприятия. Однако на некоторых листах, похоже, есть… химические формулы?" +" предприятия. Однако на некоторых листах, похоже, есть… Химические формулы?" #: lang/json/BOOK_from_json.py msgid "chemical reference-CLASSIFIED" @@ -22336,7 +23363,7 @@ msgstr[3] "PE023 «Медицина»: Применение и результа #: lang/json/BOOK_from_json.py msgid "" "This binder of highly technical papers describes some new chemical formula, " -"and its effects on human subjects. It's stamped \"APPROVED\"...." +"and its effects on human subjects. It's stamped \"APPROVED\"…" msgstr "" "Это скоросшиватель, содержащий сугубо специальные документы, описывающие " "некую новую химическую формулу и её влияние на испытуемых. Имеет штамп " @@ -22406,10 +23433,10 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "Ye Scots Beuk o Cuikery" msgid_plural "copies of Ye Scots Beuk o Cuikery" -msgstr[0] "Шотландская Поваренная Книга" -msgstr[1] "Шотландская Поваренная Книга" -msgstr[2] "Шотландская Поваренная Книга" -msgstr[3] "Шотландская Поваренная Книга" +msgstr[0] "шотландская поваренная книга" +msgstr[1] "шотландские поваренные книги" +msgstr[2] "шотландских поваренных книг" +msgstr[3] "шотландская поваренная книга" #. ~ Description for Ye Scots Beuk o Cuikery #: lang/json/BOOK_from_json.py @@ -22704,7 +23731,7 @@ msgstr[3] "лабораторный журнал: Эррера" msgid "" "This hefty binder contains a multitude of diagrams and technical " "specifications for various electronic materials. Some of the diagrams use " -"symbols you've not seen before..." +"symbols you've not seen before…" msgstr "" "Этот массивный скоросшиватель содержит множество чертежей и технических " "спецификаций различной электроники. В некоторых чертежах используются " @@ -22792,13 +23819,13 @@ msgstr[3] "общие чертежи" #. ~ Description for nearby fire #. ~ Description for muscle #. ~ Description for wind +#. ~ Description for metabolism #. ~ Description for a smoking device and a source of flame #. ~ Description for abstract map #. ~ Description for seeing this is a bug #. ~ Description for weapon #: lang/json/BOOK_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py #: lang/json/furniture_from_json.py lang/json/skill_from_json.py msgid "seeing this is a bug" msgid_plural "seeing this is a bugs" @@ -23247,12 +24274,12 @@ msgstr[3] "«Снаряжение патронов в домашних усло #: lang/json/BOOK_from_json.py msgid "" "Everything you could ever want to know about handloading ammunition, sealed " -"with a ...childproof cover. Apparently a liability thing, because the " -"chapter on explosive rounds covers them in excellent detail too." +"with a… childproof cover. Apparently a liability thing, because the chapter" +" on explosive rounds covers them in excellent detail too." msgstr "" -"Всё что вы когда-либо хотели знать о снаряжении патронов в… защищающей от " -"детей обложке. Правильная мера предосторожности, так как глава о разрывных " -"патронах имеет очень детальные описания." +"Всё что вы когда-либо хотели знать о снаряжении патронов в защищённой " +"оболочке… От детей. Правильная мера предосторожности, так как глава о " +"разрывных патронах имеет очень детальные описания." #: lang/json/BOOK_from_json.py msgid "Rivtech design binder" @@ -23911,11 +24938,11 @@ msgid "" "This lab notebook is filled with the collective discoveries and refinements " "of a research team dedicated to nuclear energy. You don't think you're " "ready to start a second Cataclysm, but the general information provided " -"might be useful..." +"might be useful…" msgstr "" "В этом лабораторном журнале полно коллективных исследований и " "усовершенствований касательно ядерной энергетики. Вы пока что не готовы " -"начать второй Катаклизм, но в целом информация может пригодиться..." +"начать второй Катаклизм, но в целом информация может пригодиться…" #: lang/json/BOOK_from_json.py msgid "Biodiesel: Renewable Fuel Resource" @@ -24784,8 +25811,8 @@ msgid "" " surprisingly accurate in predicting much of modern society... Until " "recently." msgstr "" -"\"Нейромант\" Гибсона. Книга написана в восьмидесятых и удивительно точно " -"предсказала современное общество... Ну, до недавнего времени." +"«Нейромант» Гибсона. Книга написана в восьмидесятых и удивительно точно " +"предсказала современное общество… Ну, до недавнего времени." #: lang/json/BOOK_from_json.py msgid "" @@ -24796,7 +25823,7 @@ msgid "" "What immortal hand or eye, \n" "Dare frame thy fearful symmetry?" msgstr "" -"\"Звёзды - моя цель\" Альфреда Бестера.\n" +"«Звёзды — моя цель» Альфреда Бестера.\n" "\n" "Тигр, Тигр, жгучий страх,\n" "Ты горишь в ночных лесах.\n" @@ -24808,26 +25835,26 @@ msgid "" "This is a copy of \"The Lathe of Heaven\" by Ursula Le Guin. Dirty finger-" "stains have smudged the occasional word." msgstr "" -"\"Резец Небесный\" за авторством Урсулы Ле Гуин. Некоторые слова смазаны " +"«Резец Небесный» за авторством Урсулы Ле Гуин. Некоторые слова смазаны " "отпечатками грязных пальцев." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"The Dispossessed\" by Ursula Le Guin." -msgstr "\"Обделённые\" Урсулы Ле Гуин." +msgstr "«Обделённые» Урсулы Ле Гуин." #: lang/json/BOOK_from_json.py msgid "This copy of Ray Bradbury's \"Fahrenheit 451\"." -msgstr "\"451 градус по Фаренгейту\" Рэя Брэдбери." +msgstr "«451 градус по Фаренгейту» Рэя Брэдбери." #: lang/json/BOOK_from_json.py msgid "" "This is a well-worn copy of \"The Hitchhikers Guide to the Galaxy\" by " "Douglas Adams." -msgstr "Потрёпанный экземпляр \"Автостопом по галактике\" Дугласа Адамса." +msgstr "Потрёпанный экземпляр «Автостопом по галактике» Дугласа Адамса." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"Hyperion\" by Dan Simmons." -msgstr "\"Гиперион\" Дэна Симмонса." +msgstr "«Гиперион» Дэна Симмонса." #: lang/json/BOOK_from_json.py msgid "" @@ -24838,7 +25865,7 @@ msgid "" "We are so tired of men \n" "And motor-power." msgstr "" -"\"Эндимион\" Дэна Симмонса. В начале книги напечатано стихотворение Д.Г. Лоуренса:\n" +"«Эндимион» Дэна Симмонса. В начале книги напечатано стихотворение Д.Г. Лоуренса:\n" "\n" "Дайте нам богов, о дайте нам богов!\n" "Мы так устали от людей с их\n" @@ -24847,52 +25874,52 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "" "This is a copy of Philip K. Dick's \"Do Androids Dream of Electric Sheep?\"." -msgstr "\"Снятся ли андроидам электроовцы?\" Филипа К. Дика." +msgstr "«Снятся ли андроидам электроовцы?» Филипа К. Дика." #: lang/json/BOOK_from_json.py msgid "This is a dog-eared copy of \"Nova Express\" by William Burroughs." -msgstr "\"Нова Экспресс\" Уильяма Берроуза." +msgstr "«Нова Экспресс» Уильяма Берроуза." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"Foundation\" by Isaac Asimov. The back cover has been " "ripped off." -msgstr "\"Основание\" Айзека Азимова. У книги оторвана задняя обложка." +msgstr "«Основание» Айзека Азимова. У книги оторвана задняя обложка." #: lang/json/BOOK_from_json.py msgid "" "This is a dog-eared copy of \"Dune\" by Frank Herbert. It has sand between " "some of its pages. Weird." msgstr "" -"Изрядно помятая \"Дюна\" Фрэнка Герберта. Между некоторыми страницами песок." -" Странно." +"Изрядно помятая «Дюна» Фрэнка Герберта. Между некоторыми страницами песок. " +"Странно." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"The Trial\" by Franz Kafka. This book is rather worn." -msgstr "\"Процесс\" Франца Кафки. Книга довольно помятая." +msgstr "«Процесс» Франца Кафки. Книга довольно помятая." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"The Handmaid's Tale\" by Margaret Atwood." -msgstr "\"Рассказ служанки\" Маргарет Этвуд." +msgstr "«Рассказ служанки» Маргарет Этвуд." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"The Windup Girl\" by Paolo Bacigalupi. The blurb makes " "you wonder how Thailand fared the end of the world." msgstr "" -"\"Заводная\" за авторством Паоло Бачигалупи. Из-за аннотации вам интересно, " +"«Заводная» за авторством Паоло Бачигалупи. Из-за аннотации вам интересно, " "как же Таиланд встретил Конец Света." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"Islands in the Net\" by Bruce Sterling." -msgstr "\"Острова в Сети\" Брюса Стерлинга." +msgstr "«Острова в Сети» Брюса Стерлинга." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"Foundation and Empire\" by Isaac Asimov. The back page " "contains a hand-written grocery list." msgstr "" -"\"Основание и Империя\" Айзека Азимова. Кто-то написал список покупок на " +"«Основание и Империя» Айзека Азимова. Кто-то написал список покупок на " "последней странице." #: lang/json/BOOK_from_json.py @@ -24900,15 +25927,15 @@ msgid "" "This is an almost new copy of \"A Scanner Darkly\" by Philip K. Dick. It " "still has the smell of new books within it's pages." msgstr "" -"Совершенно новенький экземпляр \"Помутнения\" Филипа К. Дика. Страницы всё " -"ещё пахнут свеженапечатанной книгой." +"Совершенно новенький экземпляр «Помутнения» Филипа К. Дика. Страницы всё ещё" +" пахнут свеженапечатанной книгой." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"Mirrorshades: A Cyberpunk Anthology\" compiled by Bruce " "Sterling. The cover has rings of coffee stains over it." msgstr "" -"Сборник \"Зеркальные очки: Антология киберпанка\" Брюса Стерлинга. Обложка " +"Сборник «Зеркальные очки: Антология киберпанка» Брюса Стерлинга. Обложка " "испачкана кофейными кольцами." #: lang/json/BOOK_from_json.py @@ -24916,183 +25943,182 @@ msgid "" "This is a copy of \"The World of Null-A\" by A. E. van Vogt. This copy " "looks to have been used to press flowers." msgstr "" -"\"Мир Нуль-А\" за авторством А.Э. ван Вогта. Похоже, в этой книжке " -"высушивали цветы." +"«Мир Нуль-А» за авторством А.Э. ван Вогта. Похоже, в этой книжке высушивали " +"цветы." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"Altered Carbon\" by Richard Morgan." -msgstr "\"Видоизменённый углерод\" Ричарда Моргана." +msgstr "«Видоизменённый углерод» Ричарда Моргана." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of Mary Shelly's \"Frankenstein\". Wasn't that the name of " "the monster?" -msgstr "\"Франкенштейн\" Мари Шелли. Вроде так звали монстра, разве нет?" +msgstr "«Франкенштейн» Мари Шелли. Вроде так звали монстра, разве нет?" #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"Wasp\" by Eric Frank Russel. The futuristic terrorists " "handbook." msgstr "" -"\"Оса\" Эрика Фрэнка Рассела. Настоящее руководство для террористов " -"будущего." +"«Оса» Эрика Фрэнка Рассела. Настоящее руководство для террористов будущего." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"I Am Legend\" by Richard Matheson. The sleeve is " "covered in dried blood." -msgstr "\"Я легенда\" Ричарда Мэтисона. Суперобложка покрыта запёкшейся кровью." +msgstr "«Я легенда» Ричарда Мэтисона. Суперобложка покрыта запёкшейся кровью." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"Roadside Picnic\" by Arkady and Boris Strugatsky." -msgstr "\"Пикник на обочине\" Аркадия и Бориса Стругацких." +msgstr "«Пикник на обочине» Аркадия и Бориса Стругацких." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"The Forever War\" by Joe Haldeman. This copy looks as " "if it's been slightly chewed by a dog or other large animal." msgstr "" -"\"Вечная война\" Джо Холдемана. Похоже, эту книжку пожевала собака или " -"другое крупное животное." +"«Вечная война» Джо Холдемана. Похоже, эту книжку пожевала собака или другое " +"крупное животное." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"The Moon Is a Harsh Mistress\" by Robert A. Heinlein." -msgstr "\"Луна — суровая хозяйка\" Роберта А. Хайнлайна." +msgstr "«Луна — суровая хозяйка» Роберта А. Хайнлайна." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"Cat's Cradle\" by Kurt Vonnegut. You notice there is a " "typo in the authors name on the spine of the book." msgstr "" -"\"Колыбель для кошки\" Курта Воннегута. Вы замечаете опечатку в имени автора" -" на корешке книги." +"«Колыбель для кошки» Курта Воннегута. Вы замечаете опечатку в имени автора " +"на корешке книги." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of Samuel R. Delany's \"Nova\". The cover reads \"Review " "Copy. Not for re-sale.\"" msgstr "" -"\"Нова\" Сэмюэля Р. Делани. На обложке написано \"Обзорный Экземпляр. Не для" -" продажи.\"" +"«Нова» Сэмюэля Р. Делани. На обложке написано «Обзорный Экземпляр. Не для " +"продажи.»" #: lang/json/BOOK_from_json.py msgid "This is a copy of Vonnegut's \"The Sirens of Titan\"." -msgstr "\"Сирены Титана\" Воннегута." +msgstr "«Сирены Титана» Воннегута." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"Grass\" by Sheri S. Tepper. A child has scribbled over " "the first pages in crayon." msgstr "" -"\"Трава\" Шери С. Треппер. Первые страницы изрисованы детскими каракулями." +"«Трава» Шери С. Треппер. Первые страницы изрисованы детскими каракулями." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of William Gibson's \"Count Zero\". The spine is stamped " "with 'Library Copy'. And a sticker reading 'Science Fiction'." msgstr "" -"\"Граф Ноль\" Уильяма Гибсона. На обложке печать 'Библиотечная копия' и " -"стикер 'Научная фантастика'." +"«Граф Ноль» Уильяма Гибсона. На обложке печать «Библиотечная копия» и стикер" +" «Научная фантастика»." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"The Fifth Season\" by N.K. Jemsin. It smells faintly of" " dirt." -msgstr "\"Пятый сезон\" Н.К. Джемисин. Книга слегка пахнет землёй." +msgstr "«Пятый сезон» Н.К. Джемисин. Книга слегка пахнет землёй." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"The Weapon Makers\" by A. E. van Vogt." -msgstr "\"Оружейники\" А.Э. ван Вогта." +msgstr "«Оружейники» А.Э. ван Вогта." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"Record of a Spaceborn Few\" by Becky Chambers. It looks" " almost brand new." msgstr "" -"\"Хроники рождённых в космосе\" Бекки Чамберс. Книга выглядит почти новой." +"«Хроники рождённых в космосе» Бекки Чамберс. Книга выглядит почти новой." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"Use of Weapons\" by Ian M. Banks. The spine is cracked " "and worn, some pages appear to be loose." msgstr "" -"\"Выбор оружия\" Иэна М. Бэнкса. Истрёпанный корешок покрыт трещинами, " +"«Выбор оружия» Иэна М. Бэнкса. Истрёпанный корешок покрыт трещинами, " "некоторые страницы едва держатся." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of Jean-Baptiste Cousin de Grainville's \"Le Dernier Homme\"." -msgstr "\"Последний человек\" Жана-Батиста Кузена Де Гренвиля." +msgstr "«Последний человек» Жана-Батиста Кузена Де Гренвиля." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of Orwells \"Nineteen Eighty-Four\". The pages are loose and" " thin. You should probably be careful with this copy." msgstr "" -"\"1984\" Оруэлла. Истрёпанные страницы едва держатся на месте. Наверное, с " +"«1984» Оруэлла. Истрёпанные страницы едва держатся на месте. Наверное, с " "этой книжкой нужно быть бережнее." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of Heinlein's \"Stranger in a Strange Land\". The cover is " "dog-eared and worn." -msgstr "\"Чужак в чужой стране\" Хайнлайна. Обложка измята и истрёпана." +msgstr "«Чужак в чужой стране» Хайнлайна. Обложка измята и истрёпана." #: lang/json/BOOK_from_json.py msgid "This is a copy of Orson Scott Card's \"Ender's Game\"." -msgstr "\"Игра Эндера\" Орсона Скотта Карда." +msgstr "«Игра Эндера» Орсона Скотта Карда." #: lang/json/BOOK_from_json.py msgid "This is a weather worn copy of \"Brave New World\" by Aldous Huxley." -msgstr "Помятый и потрёпанный \"О дивный новый мир\" Олдоса Хаксли." +msgstr "Помятый и потрёпанный «О дивный новый мир» Олдоса Хаксли." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"The Lost World\" by Arthur Conan Doyle." -msgstr "\"Затерянный мир\" Артура Конан Дойля." +msgstr "«Затерянный мир» Артура Конан Дойля." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"Islands in the Sky\" by Arthur C. Clarke." -msgstr "\"Острова в небе\" Артура Кларка." +msgstr "«Острова в небе» Артура Кларка." #: lang/json/BOOK_from_json.py msgid "This is a copy of H. G. Wells' \"The Island of Doctor Moreau\"." -msgstr "\"Остров доктора Моро\" Г.Д. Уэллса." +msgstr "«Остров доктора Моро» Г.Д. Уэллса." #: lang/json/BOOK_from_json.py msgid "This is a copy of Stanislaw Lem's \"His Masters Voice\"." -msgstr "\"Глас Господа\" Станислава Лема." +msgstr "«Глас Господа» Станислава Лема." #: lang/json/BOOK_from_json.py msgid "This is a copy of Fred Hoyle's \"The Black Cloud\"." -msgstr "\"Чёрное облако\" Фреда Хойла." +msgstr "«Чёрное облако» Фреда Хойла." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"Last and First Men\" by Olaf Stapeldon." -msgstr "\"Последние и первые люди\" Олафа Стэплдона." +msgstr "«Последние и первые люди» Олафа Стэплдона." #: lang/json/BOOK_from_json.py msgid "This is a copy of Stanislaw Lem's \"Solaris\"." -msgstr "\"Солярис\" Станислава Лема." +msgstr "«Солярис» Станислава Лема." #: lang/json/BOOK_from_json.py msgid "This is a copy of Theodore Sturgeon's \"More Than Human\"." -msgstr "\"Больше, чем люди\" Теодора Старджона." +msgstr "«Больше, чем люди» Теодора Старджона." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"Vurt\" by Jeff Noon." -msgstr "\"Вирт\" Джеффа Нуна." +msgstr "«Вирт» Джеффа Нуна." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"A Canticle for Leibowitz\" by Walter M. Miller Jr." -msgstr "\"Страсти по Лейбовицу\" Уолтера М. Миллера-младшего." +msgstr "«Страсти по Лейбовицу» Уолтера М. Миллера-младшего." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"The War of The Worlds\" by H.G Wells." -msgstr "\"Война миров\" Г.Д. Уэллса." +msgstr "«Война миров» Г.Д. Уэллса." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"Iron Sunrise\" by Charles Stross." -msgstr "\"Железный рассвет\" Чарльза Стросса." +msgstr "«Железный рассвет» Чарльза Стросса." #: lang/json/BOOK_from_json.py msgid "" @@ -25100,40 +26126,40 @@ msgid "" "blurb reminds you of a Japanese movie you think you once caught on the " "television late at night." msgstr "" -"\"Голодные игры\" Сьюзен Коллинз. Чтение аннотации напоминает вам японский " +"«Голодные игры» Сьюзен Коллинз. Чтение аннотации напоминает вам японский " "фильм, на который, вы, кажется, как-то раз наткнулись, смотря телевизор " "поздней ночью." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"The Day of the Triffids\" by John Wyndham." -msgstr "\"День Триффидов\" Джона Уиндема." +msgstr "«День Триффидов» Джона Уиндема." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"A Clockwork Orange\" by Anthony Burges." -msgstr "\"Заводной апельсин\" Энтони Бёрджесса." +msgstr "«Заводной апельсин» Энтони Бёрджесса." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"The Man Who Fell to Earth\" by Walter Tevis." -msgstr "\"Человек, который упал на землю\" Уолтера Тевиса." +msgstr "«Человек, который упал на землю» Уолтера Тевиса." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"Simulacron-3\" by Daniel F. Galouye." -msgstr "\"Симулякрон-3\" Даниэля Ф. Галуи." +msgstr "«Симулякрон-3» Даниэля Ф. Галуи." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"The Glass Bees\" by Ernst Jünger." -msgstr "\"Стеклянные пчёлы\" Эрнста Юнгера." +msgstr "«Стеклянные пчёлы» Эрнста Юнгера." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"Journey to The Center of the Earth\" by Jules Verne." -msgstr "\"Путешествие к центру Земли\" Жюля Верна." +msgstr "«Путешествие к центру Земли» Жюля Верна." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of Larry Niven's \"Ringworld\". There are a couple of pages " "missing from the end of the book. Luckily only mail-order advertisements." msgstr "" -"\"Мир-Кольцо\" Ларри Нивена. В конце книги вырвано несколько страниц. К " +"«Мир-Кольцо» Ларри Нивена. В конце книги вырвано несколько страниц. К " "счастью, это были всего лишь рекламки заказов по почте." #: lang/json/BOOK_from_json.py @@ -25283,14 +26309,14 @@ msgid "" "This is a copy of Nietzsche's \"Beyond Good and Evil\". Its cover is dog-" "eared and creased." msgstr "" -"Экземпляр \"По ту сторону добра и зла\" Ницше в мятой и потрёпанной обложке." +"Экземпляр «По ту сторону добра и зла» Ницше в мятой и потрёпанной обложке." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"The Unique and Its Property\" by Max Stirner. A modern " "translation by Wolfi Landstreicher." msgstr "" -"\"Единственный и его собственность\" Макс Штирнера в современном переводе " +"«Единственный и его собственность» Макс Штирнера в современном переводе " "Вольфи Ландстрейхера." #: lang/json/BOOK_from_json.py @@ -25298,7 +26324,7 @@ msgid "" "This is a copy of Jean-Paul Sartre's \"Being and Nothingness\". A key work " "in the existentialist tradition." msgstr "" -"\"Бытие и ничто\" Жан-Поля Сартра, ключевая работа в традиции " +"«Бытие и ничто» Жан-Поля Сартра, ключевая работа в традиции " "экзистенциалистов." #: lang/json/BOOK_from_json.py @@ -25306,21 +26332,21 @@ msgid "" "A large, extended version of \"Madness and Civilisation\" by Michel " "Foucault. The cover features a striking image of a Panopticonic Prison." msgstr "" -"Большое расширенное издание \"Безумия и неразумия\" Мишеля Фуко. На обложке " +"Большое расширенное издание «Безумия и неразумия» Мишеля Фуко. На обложке " "красочно нарисована тюрьма-паноптикум." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"The Postmodern Condition: A Report on Knowledge\" by " "Lyotard." -msgstr "\"Состояние Постмодерна\" Жана-Франсуа Лиотара." +msgstr "«Состояние Постмодерна» Жана-Франсуа Лиотара." #: lang/json/BOOK_from_json.py msgid "" "A collection of texts and essays by Jacques Derrida. Its pages are loose " "and yellowed - you should probably handle it with care." msgstr "" -"Сборник текстов и очерков Жака Деррида. Его страницы дряхлые и пожелтевшие -" +"Сборник текстов и очерков Жака Деррида. Его страницы дряхлые и пожелтевшие —" " вам, вероятно, следует обращаться с ними осторожно." #: lang/json/BOOK_from_json.py @@ -25328,14 +26354,14 @@ msgid "" "This is a copy of \"Society of the Spectacle\" by Guy Debord. Its cover " "shows rows of adults staring placidly into a screen." msgstr "" -"\"Общество спектакля\" Ги Дебора. На обложке изображены ряды людей, " -"безмятежно смотрящих на экран." +"«Общество спектакля» Ги Дебора. На обложке изображены ряды людей, безмятежно" +" смотрящих на экран." #: lang/json/BOOK_from_json.py msgid "" "This is a split copy of both \"An Ethic of Sexual Difference\" and \"This " "Sex Which Is Not One\" by Luce Irigaray." -msgstr "\"Этика полового различия\" и \"Пол, который не одинок\" Люси Иригарей." +msgstr "«Этика полового различия» и «Пол, который не одинок» Люси Иригарей." #: lang/json/BOOK_from_json.py msgid "" @@ -25344,23 +26370,24 @@ msgid "" "caption \"Welcome to the Desert of the Real.\". You think you've seen this " "movie." msgstr "" -"\"Симулякры и симуляция\" Бодрийяра. На обложке изображён человек, держащий " -"по разноцветной таблетке в каждой руке со слоганом \"Добро пожаловать в " -"Пустыню Реальности\". Вам кажется, вы видели этот фильм." +"«Симулякры и симуляция» Бодрийяра. На обложке изображён человек, держащий по" +" разноцветной таблетке в каждой руке со слоганом «Добро пожаловать в Пустыню" +" Реальности». Вам кажется, вы видели этот фильм." #: lang/json/BOOK_from_json.py msgid "" "This is a small, pocket version of Sartre's \"Existentialism and Humanism\"." " It looks to have been used as a coaster in a past life." msgstr "" -"Маленькая карманная версия \"Экзистенциализма и гуманизма\" Сартра. Похоже, " -"в прошлой жизни она служила подставкой под кружку." +"Маленькая карманная версия «Экзистенциализма и гуманизма» Сартра. Похоже, в " +"прошлой жизни она служила подставкой под кружку." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"Practical Ethics\" by Peter Singer. From the local " "university press." -msgstr "\"Практическая этика\" Питера Сингера. Отпечатано в местном университете." +msgstr "" +"«Практическая этика» Питера Сингера. Отпечатано в местном университете." #: lang/json/BOOK_from_json.py msgid "" @@ -25368,8 +26395,8 @@ msgid "" "Future\" by 'Freedom Club'. The original looks to have been written on a " "typewriter before being copied." msgstr "" -"Отксерокопированная книга на пружинке - \"Индустриальное общество и его " -"будущее\" от \"Клуба Свободы\". Похоже, оригинал был напечатан на пишущей " +"Отксерокопированная книга на пружинке — «Индустриальное общество и его " +"будущее» от «Клуба Свободы». Похоже, оригинал был напечатан на пишущей " "машинке." #: lang/json/BOOK_from_json.py @@ -25378,7 +26405,7 @@ msgid "" "Its cover is an image of a hand-crafted wooden box filled with wiring and an" " ominous looking metal tube. Provocative." msgstr "" -"\"Индустриальное общество и его будущее\" Теодора Казински. На обложке " +"«Индустриальное общество и его будущее» Теодора Казински. На обложке " "изображён грубый деревянный ящик с проводами и зловещей металлической " "трубой. Провокационно." @@ -25390,18 +26417,18 @@ msgstr "Маленький томик диалетики Гегеля." msgid "" "This is a copy of \"The State and Revolution\" by Vladimir Lenin. In " "English, thankfully." -msgstr "\"Государство и революция\" Владимира Ленина. К счастью, на английском." +msgstr "«Государство и революция» Владимира Ленина. К счастью, на английском." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"In Defense of Marxism\" by Leon Trotsky." -msgstr "\"В защиту марксизма\" Льва Троцкого." +msgstr "«В защиту марксизма» Льва Троцкого." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"Steal This Book\" by Abbie Hoffman. There is a security" " tag on the back cover. It appears to still be active." msgstr "" -"\"Укради эту книгу\" Эбби Хоффмана. На задней обложке есть магнитная бирка. " +"«Укради эту книгу» Эбби Хоффмана. На задней обложке есть магнитная бирка. " "Похоже, она ещё работает." #: lang/json/BOOK_from_json.py @@ -25409,76 +26436,76 @@ msgid "" "This is a copy of \"Walden: Or Life In The Woods\" by Henry David Thoreau. " "It contains a dried and pressed leaf as a bookmark." msgstr "" -"\"Уолден, или Жизнь в лесу\" под авторством Генри Дэвида Торо. Между страниц" -" заложен высушенный сдавленный листочек." +"«Уолден, или Жизнь в лесу» под авторством Генри Дэвида Торо. Между страниц " +"заложен высушенный сдавленный листочек." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"The Female Eunuch\" by Germaine Greer. A child has " "scribbled over the contents page in red crayon." msgstr "" -"\"Женщина-евнух\" Жермен Грир. Какой-то ребёнок изрисовал красным карандашом" -" страницу с содержанием." +"«Женщина-евнух» Жермен Грир. Какой-то ребёнок изрисовал красным карандашом " +"страницу с содержанием." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"An Introduction to Metaphysics\" by Bergson." -msgstr "\"Введение в метафизику\" Бергсона." +msgstr "«Введение в метафизику» Бергсона." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"The Four Fundamental Concepts of Psychoanalysis\" by " "Jacques Lacan." -msgstr "\"Четыре основные понятия психоанализа\" Жака Лакана." +msgstr "«Четыре основные понятия психоанализа» Жака Лакана." #: lang/json/BOOK_from_json.py msgid "This is a copy of Machiavelli's \"The Prince\". With intro by Q. Skinner." -msgstr "Экземпляр \"Государя\" Макиавелли. Включает вступление К. Скиннера." +msgstr "Экземпляр «Государя» Макиавелли. Включает вступление К. Скиннера." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"On The Revolution of Everyday Life\" by Raul Vangeigem." -msgstr "\"Революция повседневной жизни\" Рауля Ванейгема." +msgstr "«Революция повседневной жизни» Рауля Ванейгема." #: lang/json/BOOK_from_json.py msgid "" "This is a pocket copy of \"An Essay on Liberation\" by Herbert Marcuse. The" " cover contains an image of a pelican." msgstr "" -"Карманный экземпляр \"Эссе об освобождении\" Герберта Маркузе. На обложке " +"Карманный экземпляр «Эссе об освобождении» Герберта Маркузе. На обложке " "нарисован пеликан." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"Either-Or\" by Søren Kierkegaard." -msgstr "\"Или-или\" Сёрена Кьеркегора." +msgstr "«Или-или» Сёрена Кьеркегора." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"Allegory of the Cave\" by Plato." -msgstr "\"Миф о пещере\" Платона." +msgstr "«Миф о пещере» Платона." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"Leviathan\" by Thomas Hobbes." -msgstr "\"Левиафан\" Томаса Хоббса." +msgstr "«Левиафан» Томаса Хоббса." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"Critique Of Pure Reason\" by Immanuel Kant." -msgstr "\"Критика чистого разума\" Иммануила Канта." +msgstr "«Критика чистого разума» Иммануила Канта." #: lang/json/BOOK_from_json.py msgid "This is a copy of \"Principles of Philosophy\" by Descartes." -msgstr "\"Первоначала философии\" Декарта." +msgstr "«Первоначала философии» Декарта." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of both \"On The Genealogy of Morals\" and \"The Gay " "Science\" by Friederich Nietzsche." -msgstr "Собрание из \"К генеалогии морали\" и \"Весёлой науки\" Фридриха Ницше." +msgstr "Собрание из «К генеалогии морали» и «Весёлой науки» Фридриха Ницше." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"The Myth of Sisyphus\", and other essays, by Albert " "Camus. The cover depicts a bare-chested man and a large boulder." msgstr "" -"\"Миф о Сизифе\" за авторством Альберта Камю. На обложке нарисованы " +"«Миф о Сизифе» за авторством Альберта Камю. На обложке нарисованы " "полуобнажённый мужчина и огромный валун." #: lang/json/BOOK_from_json.py @@ -25486,7 +26513,7 @@ msgid "" "This is a copy of \"The Sickness Unto Death\" by Søren Kierkegaard. The " "pages are dotted with post-it notes." msgstr "" -"\"Болезнь к смерти\" Сёрена Кьеркегора. На страницах полно липучек с " +"«Болезнь к смерти» Сёрена Кьеркегора. На страницах полно липучек с " "записками." #: lang/json/BOOK_from_json.py @@ -25494,16 +26521,16 @@ msgid "" "This is a copy of \"The Defence of Terrorism\" by Leon Trotsky. Despite the" " title, it does not actually appear to be defending terrorism." msgstr "" -"\"В защиту терроризма\" Льва Троцкого. Несмотря на название, терроризм в " -"книге не защищают." +"«В защиту терроризма» Льва Троцкого. Несмотря на название, терроризм в книге" +" не защищают." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"Enquiry Concerning Political Justice\" by William " "Godwin. This thick book is filled with antiquated phrases." msgstr "" -"\"Исследование о политической справедливости\" Уильяма Голдвина. Толстая " -"книга в старомодных выражениях." +"«Исследование о политической справедливости» Уильяма Голдвина. Толстая книга" +" в старомодных выражениях." #: lang/json/BOOK_from_json.py msgid "" @@ -25511,15 +26538,15 @@ msgid "" "It is likely that \"The Abolition of Work\" is the most famous essay in this" " book." msgstr "" -"\"Упразднение работы и другие сочинения\" Боба Блэка. Похоже, \"Упразднение " -"работы\" - самое знаменитое сочинение в этой книге." +"«Упразднение работы и другие сочинения» Боба Блэка. Похоже, «Упразднение " +"работы» — самое знаменитое сочинение в этой книге." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"What is Property?\" by Pierre-Joseph Proudhon. It looks" " like this book has a surprisingly long track record of owners." msgstr "" -"\"Что такое собственность?\" Пьер-Жозефа Прудона. Судя по всему, это книга " +"«Что такое собственность?» Пьер-Жозефа Прудона. Судя по всему, это книга " "сменила удивительно много владельцев." #: lang/json/BOOK_from_json.py @@ -25528,7 +26555,7 @@ msgid "" "picture of an old philosopher with magnificent beard, instead of bread, on " "the cover." msgstr "" -"\"Хлеб и воля\" Петра Кропоткина. На обложке вместо хлеба изображён пожилой " +"«Хлеб и воля» Петра Кропоткина. На обложке вместо хлеба изображён пожилой " "философ с роскошной бородой." #: lang/json/BOOK_from_json.py @@ -25537,24 +26564,56 @@ msgid "" " might have been printed decades before the cataclysm since the cover is " "quite weathered." msgstr "" -"\"Несчастье родиться\" Эмиля Чорана. Должно быть, эту книгу напечатали за " -"десятилетия до Катаклизма - её обложка довольно истрепалась." +"«Несчастье родиться» Эмиля Чорана. Должно быть, эту книгу напечатали за " +"десятилетия до Катаклизма — её обложка довольно истрепалась." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"The World as Will and Representation\" by Arthur " "Schopenhauer. It contains a few undecipherable notes and scribbles." msgstr "" -"\"Мир как воля и представление\" Артура Шопенгауэра. Среди страниц несколько" -" неразборчивых записей и каракулей." +"«Мир как воля и представление» Артура Шопенгауэра. Среди страниц несколько " +"неразборчивых записей и каракулей." #: lang/json/BOOK_from_json.py msgid "" "This is a copy of \"Up-Wingers: A Futurist Manifesto\" by FM-2030. It seems" " that the author's real name is Fereidoun M. Esfandiary." msgstr "" -"\"Манифест футурологов\" за авторством FM-2030. Похоже, настоящее имя автора" -" - Ферейдун М. Эсфендиари." +"«Манифест футурологов» за авторством FM-2030. Похоже, настоящее имя автора —" +" Ферейдун М. Эсфендиари." + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Bastiat Collection\", a large collection of essays " +"by Frederic Bastiat." +msgstr "«Сборник Бастиа», большой сборник сочинений Фредерика Бастиа." + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Anarchy, State, and Utopia\" by Robert Nozick, one of " +"the most influential books of modern libertarianism." +msgstr "" +"«Анархия, государство и утопия» Роберта Нозика, одна из самых влиятельных " +"книг современного либертарианства." + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Socialism\" by Ludwig von Mises, a critical examination " +"of socialism." +msgstr "«Социализм» Людвига фон Мизеса, обзор и критика социализма." + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The ABC of Communism\" by Nikolai Bukharin, one of the " +"most influential books of early Marxism-Leninism." +msgstr "" +"«Азбука коммунизма» Николая Бухарина, одна из самых влиятельных книг раннего" +" марксизма-ленинизма." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Anti-Capitalist Mentality\" by Ludwig von Mises." +msgstr "«Антикапиталистический менталитет» Людвига фон Мизеса." #: lang/json/BOOK_from_json.py msgid "phone book" @@ -25650,8 +26709,8 @@ msgstr[3] "бухгалтерская книга корпорации" #. ~ Description for corporate accounting ledger #: lang/json/BOOK_from_json.py -msgid "If you knew what to look for something might stand out..." -msgstr "Она скажет многое, если вы знаете куда смотреть…" +msgid "If you knew what to look for something might stand out…" +msgstr "Она скажет многое, если вы не видите фигу, смотря в книгу…" #: lang/json/BOOK_from_json.py msgid "patient treatment records" @@ -25945,6 +27004,106 @@ msgstr "«Граф Монте-Кристо» Дюма." msgid "This is a copy of \"The Secret Garden\" by Frances Burnett." msgstr "«Таинственный сад» Фрэнсис Бёрнетт." +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lieutenant Hornblower\" by C.S. Forester." +msgstr "«Лейтенант Хорнблауэр» К.С. Форестера." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Master and Commander\" by Patrick O'Brian." +msgstr "«Мастер и командир» Патрика О'Брайана." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Warden\" by Anthony Trollope." +msgstr "«Страж» Энтони Трололопа." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Far Side of the World\" by Patrick O'Brian." +msgstr "«Обратная сторона света» Патрика О'Брайана." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"HMS Surprise\" by Patrick O'Brian." +msgstr "«Фрегат Его Величества «Сюрприз» Патрика О'Брайана." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Barchester Towers\" by Anthony Trollope." +msgstr "«Башни Барчестера» Энтони Троллопа." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Land Ironclads\" by H.G. Wells." +msgstr "«Земляные железные клинки» Г.Д. Уэллса." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Great Boer War\" by Arthur Conan Doyle." +msgstr "«Англо-бурская война» Артура Конан Дойля." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Crime of the Congo\" by Arthur Conan Doyle." +msgstr "«Преступления в Конго» Артура Конан Дойля." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Parasite\" by Arthur Conan Doyle." +msgstr "«Паразит» Артура Конан Дойля." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"By Stroke of Sword\" by Andrew Balfour." +msgstr "«Ударом шпаги», Эндрю Бальфур." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Secret Agent\" by Joseph Conrad." +msgstr "«Тайный агент» Джозефа Конрада." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lord Jim\" by Joseph Conrad." +msgstr "«Лорд Джим» Джозефа Конрада." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Vanity Fair\" by William Makepeace Thackeray." +msgstr "«Ярмарка тщеславия» Уильяма Мейкписа Теккерея." + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Luck of Barry Lyndon\" by William Makepeace " +"Thackeray." +msgstr "«Карьера Барри Линдона» Уильяма Мейкписа Теккерея." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"North and South\" by Elizabeth Gaskell." +msgstr "«Север и Юг» Элизабет Гаскелл." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Mayor of Casterbridge\" by Thomas Hardy." +msgstr "«Мэр Кастербриджа» Томаса Харди." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Wessex Tales\" by Thomas Hardy." +msgstr "«Уэссекские рассказы» Томаса Харди." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Far from the Madding Crowd\" by Thomas Hardy." +msgstr "«Вдали от обезумевшей толпы» Томаса Харди." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Captains Courageous\" by Rudyard Kipling." +msgstr "«Отважные капитаны» Редьярда Киплинга." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Canterbury Tales\" by Geoffrey Chaucer." +msgstr "«Кентерберийские рассказы» Джеффри Чосера." + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Harold, the Last of the Saxons\" by Edward Bulwer-" +"Lytton." +msgstr "«Гарольд, последний из саксов» Эдуарда Бульвера-Литтона." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Mr Midshipman Easy\" by Frederick Marryat." +msgstr "«Мичман Изи» Фредерика Марриета." + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Peter Simple\" by Frederick Marryat." +msgstr "«Питер Симпл» Фредерика Марриета." + #: lang/json/BOOK_from_json.py msgid "collector's edition book" msgid_plural "collector's edition book" @@ -27179,13 +28338,14 @@ msgstr "Игра, в которой игроки пытаются выяснит #: lang/json/BOOK_from_json.py msgid "Black Dragons: Swamp Ruins" -msgid_plural "Black Dragons: Swamp Ruinss" +msgid_plural "copies of Black Dragons: Swamp Ruins" msgstr[0] "Чёрные Драконы: Болотные Руины" msgstr[1] "Чёрные Драконы: Болотные Руины" -msgstr[2] "Чёрные Драконы: Болотные Руины" +msgstr[2] "Чёрных Драконов: Болотных Руин" msgstr[3] "Чёрные Драконы: Болотные Руины" -#. ~ Description for Black Dragons: Swamp Ruins +#. ~ Description for {'str': 'Black Dragons: Swamp Ruins', 'str_pl': 'copies +#. of Black Dragons: Swamp Ruins'} #: lang/json/BOOK_from_json.py msgid "" "This book details black dragons: The most evil of dragons, who live in ruins" @@ -27193,20 +28353,21 @@ msgid "" "details how to prepare its hide and craft various armors that make use of " "some of its acid resistance." msgstr "" -"В этой книге описываются чёрные драконы - самые злобные из драконов. Обычно " +"В этой книге описываются чёрные драконы — самые злобные из драконов. Обычно " "они живут в руинах на болотах, дышат кислотой и невосприимчивы к ней. В " "книге также указано, как приготовить его шкуру и изготовить доспехи, " "сохраняющие часть защиты от кислоты." #: lang/json/BOOK_from_json.py msgid "A Beginner's Guide to Alchemy" -msgid_plural "A Beginner's Guide to Alchemys" -msgstr[0] "Алхимия для новичков" -msgstr[1] "Алхимия для новичков" -msgstr[2] "Алхимия для новичков" -msgstr[3] "Алхимия для новичков" +msgid_plural "copies of A Beginner's Guide to Alchemy" +msgstr[0] "Алхимия для чайников" +msgstr[1] "Алхимии для чайников" +msgstr[2] "Алхимий для чайников" +msgstr[3] "Алхимия для чайников" -#. ~ Description for A Beginner's Guide to Alchemy +#. ~ Description for {'str': "A Beginner's Guide to Alchemy", 'str_pl': +#. "copies of A Beginner's Guide to Alchemy"} #: lang/json/BOOK_from_json.py msgid "A paperback tome for the art of liquid magic, alcohol not included." msgstr "" @@ -27215,13 +28376,14 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "A Soulbinder's Guide to Necromancy" -msgid_plural "A Soulbinder's Guide to Necromancys" +msgid_plural "copies of A Soulbinder's Guide to Necromancy" msgstr[0] "Руководство по Некромантии для Душелова" -msgstr[1] "Руководство по Некромантии для Душелова" -msgstr[2] "Руководство по Некромантии для Душелова" +msgstr[1] "Руководства по Некромантии для Душелова" +msgstr[2] "Руководств по Некромантии для Душелова" msgstr[3] "Руководство по Некромантии для Душелова" -#. ~ Description for A Soulbinder's Guide to Necromancy +#. ~ Description for {'str': "A Soulbinder's Guide to Necromancy", 'str_pl': +#. "copies of A Soulbinder's Guide to Necromancy"} #: lang/json/BOOK_from_json.py msgid "" "A paperback tome for the art of binding undead creatures' souls to dolls, " @@ -27230,6 +28392,48 @@ msgstr "" "Книга в мягкой обложке об искусстве привязывания душ неживых существ к " "куклам, а также об эмуляции их исцеляющего фактора." +#: lang/json/BOOK_from_json.py +msgid "Magitek Illustrated" +msgid_plural "copies of Magitek Illustrated" +msgstr[0] "Магитек с картинками" +msgstr[1] "Магитека с картинками" +msgstr[2] "Магитека с картинками" +msgstr[3] "Магитек с картинками" + +#. ~ Description for {'str': 'Magitek Illustrated', 'str_pl': 'copies of +#. Magitek Illustrated'} +#: lang/json/BOOK_from_json.py +msgid "" +"A paperback tome for the art of combining modern technology with magic. " +"There is a disclaimer on the back: `Cannith Industries bears no " +"responsibility for malfunctions or accidents for any products mentioned " +"herein`." +msgstr "" +"Книга в мягкой обложке, описывающее искусство сочетания современных " +"технологий и магии. На обороте приписка: «Каннит Индастриз не несет " +"ответственности за неисправности или несчастные случаи, причиняемые " +"информацией из данной книги»." + +#: lang/json/BOOK_from_json.py +msgid "The Weapons of Asgard and Beyond" +msgid_plural "copies of The Weapons of Asgard and Beyond" +msgstr[0] "«Оружие Асгарда и за его пределами»" +msgstr[1] "«Оружие Асгарда и за его пределами»" +msgstr[2] "«Оружие Асгарда и за его пределами»" +msgstr[3] "копии «Оружие Асгарда и за его пределами»" + +#. ~ Description for {'str': 'The Weapons of Asgard and Beyond', 'str_pl': +#. 'copies of The Weapons of Asgard and Beyond'} +#: lang/json/BOOK_from_json.py +msgid "" +"An ornate book which appears to be written in Norse runes. Based on the " +"detailed illustrations, it appears to contain information about crafting " +"numerous weapons used by various Gods." +msgstr "" +"Изысканная книга, написанная скандинавскими рунами. Судя по детальным " +"иллюстрациям, она содержит информацию о создании многочисленных видов " +"оружия, используемых различными богами." + #: lang/json/BOOK_from_json.py msgid "SugarKin flyer" msgid_plural "SugarKin flyers" @@ -27241,25 +28445,25 @@ msgstr[3] "флаеры Сахарка" #. ~ Description for SugarKin flyer #: lang/json/BOOK_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" +"A flyer for some kind of candy. It shows a picture of a gleaming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" " On the back of the flyer you can see some hastily scribbled words:\n" -" \"Hello my child and welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" +" \"Hello, my child, welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" "1) Never ever get into contact with water, it would melt you! \n" -"2) Avoid humans wiht clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" -"3) Learn how to make caramel ointement, it's the only way to fix your body if you get hurt.\n" -" There's many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" +"2) Avoid humans with clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" +"3) Learn how to make caramel ointment, it's the only way to fix your body if you get hurt.\n" +" There are many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" " I love you,\n" " - F. \"." msgstr "" -"Флаер-рекламка какой-то конфеты. На нём нарисован летящий человечек из сплошной карамели, он в ужасе смотрит на вас. \"Сахарок - первая в мире конфета размером с человека! Настоящее ли вы чудовище? Сумеете ли его съесть?\"\n" +"Флаер-рекламка какой-то конфеты. На нём нарисован летящий человечек из сплошной карамели, он в ужасе смотрит на вас. «Сахарок — первая в мире конфета размером с человека! Настоящее ли вы чудовище? Сумеете ли его съесть?»\n" " На обороте есть несколько наспех нацарапанных слов:\n" -" \"Здравствуй, дитя моё, и добро пожаловать в этот мир. Мир, где тебе будет хорошо при следующих условиях: \n" +" «Здравствуй, дитя моё, и добро пожаловать в этот мир. Мир, где тебе будет хорошо при следующих условиях: \n" "1) Никогда не касайся воды, она растворит тебя! \n" "2) Держись подальше от людей с ясными глазами, они очень опасны! (Не обращай внимания на людей с чёрными глазами, они безвредны.) \n" "3) Научись готовить карамельную мазь, только ею ты сможешь залечить свои раны.\n" " Я ещё столько хочу тебе рассказать, но мне пора, пока ещё не слишком поздно. Я сделал тебе друга, чтобы у тебя была компания, будь с ним добр. \n" " Я тебя люблю,\n" -" - Ф. \"." +" — Ф.»." #: lang/json/BOOK_from_json.py msgid "The Weapons of Asgard" @@ -27815,11 +29019,11 @@ msgstr "ацетилен" #. ~ Description for acetylene #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flammable gas that explodes under pressure. Combined with oxygen, " +"A flammable gas that explodes under pressure. Combined with oxygen, " "acetylene makes a great welding gas." msgstr "" -"Горючий газ, взрывающийся под давлением. В сочетании с кислородом " -"превращается в отличную смесь для сварки." +"Очень горючий газ, взрывающийся под давлением. В сочетании с кислородом " +"превращается в отличную смесь для горелки." #: lang/json/COMESTIBLE_from_json.py msgid "Spice" @@ -28934,6 +30138,48 @@ msgstr "большой человеческий желудок" msgid "The stomach of a large humanoid creature. It is surprisingly durable." msgstr "Желудок большого человекоподобного существа. Он на удивление крепкий." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of human fat" +msgid_plural "chunks of human fat" +msgstr[0] "кусок человечьего сала" +msgstr[1] "куска человечьего сала" +msgstr[2] "кусков человечьего сала" +msgstr[3] "куски человечьего сала" + +#. ~ Description for chunk of human fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly harvested from a human body." +msgstr "Свежий кусок сала, срезанный с человека." + +#: lang/json/COMESTIBLE_from_json.py +msgid "human tallow" +msgstr "человечий жир" + +#. ~ Description for human tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered human fat. It will remain " +"edible for a very long time, and can be used as an ingredient in many foods " +"and projects." +msgstr "" +"Гладкий белый кусок очищенного и вытопленного человечьего сала. Он остаётся " +"съедобным очень долгое время, а также его можно использовать в различных " +"рецептах." + +#: lang/json/COMESTIBLE_from_json.py +msgid "human lard" +msgstr "человечий лярд" + +#. ~ Description for human lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered human fat. It will remain edible for a" +" very long time, and can be used as an ingredient in many foods and " +"projects." +msgstr "" +"Гладкий белый кусок человечьего сала сухой вытопки. Он остаётся съедобным " +"очень долгое время, а также его можно использовать в различных рецептах." + #: lang/json/COMESTIBLE_from_json.py msgid "human flesh" msgid_plural "human fleshes" @@ -28986,6 +30232,81 @@ msgid "" "pinch." msgstr "Немного сьедобного мяса. Не то чтобы очень, но на крайняк сгодится." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant meat" +msgid_plural "chunks of mutant meat" +msgstr[0] "кусок мяса мутанта" +msgstr[1] "куска мяса мутанта" +msgstr[2] "кусков мяса мутанта" +msgstr[3] "куски мяса мутанта" + +#. ~ Description for chunk of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Meat from a heavily mutated animal. It has an unsettling loose and spongy " +"texture, but smells… mostly normal. There are strange tangles and " +"formations in it that don't appear natural at all: bits of bone and hair " +"crusted up inside the muscle, as if trying to form another organism. Still," +" seems digestible at least, if you cook it and remove the worst parts." +msgstr "" +"Мясо сильно мутировавшего животного. Имеет странную рыхлую губчатую текстуру" +" и пахнет… В основном, нормально. В нём есть странные включения и " +"образования, которые вообще не кажутся естественными: внутри мышц вросли " +"кусочки костей покрытые волосами, которые словно бы сформировались сами по " +"себе. Тем не менее это, вроде бы, съедобно, если вы приготовите его и " +"удалите худшие части." + +#: lang/json/COMESTIBLE_from_json.py +msgid "scrap of mutant meat" +msgid_plural "scraps of mutant meat" +msgstr[0] "обрезок мяса мутанта" +msgstr[1] "обрезка мяса мутанта" +msgstr[2] "обрезков мяса мутанта" +msgstr[3] "обрезки мяса мутанта" + +#. ~ Description for scrap of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A tiny scrap of meat from a heavily mutated animal. It smells a bit odd, " +"and has bits of hair and bone mixed in that seem like they grew inside the " +"muscle itself. Still, seems digestible at least, if you cook it and remove " +"the worst parts." +msgstr "" +"Крошечные кусочки мяса мутировавшего животного. Они пахнут несколько странно" +" и в них присутствуют волосы и кусочки костей, которые выглядят так, словно " +"они выросли внутри самой мышцы. Тем не менее, они кажутся, вроде бы, " +"съедобными, если вы приготовите и удалите худшие части." + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid meat" +msgstr "мутированное мясо гуманоида" + +#. ~ Description for mutant humanoid meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered from the body of a heavily mutated creature that was " +"unsettlingly humanoid in appearance. It has odd bits of fur and other " +"tissue lodged in it that clearly don't belong. You'd have to be crazy or " +"starving to eat this." +msgstr "" +"Только что вырезанный из тела сильно мутировавшего существа, внешне " +"гуманоидного вида. В нем есть странные кусочки меха и другие ткани, которых " +"быть не должно. Вы должны быть сумасшедшими или очень голодным, чтобы съесть" +" это." + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked cretin" +msgstr "приготовленный кретин" + +#. ~ Description for cooked cretin +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Cooked meat from a heavily mutated humanoid. Now that the worst bits have " +"been picked out, it's probably digestible, if not very appetizing." +msgstr "" +"Приготовленное мясо сильно мутировавшего гуманоида. Теперь, когда худшие " +"части удалены, это, вероятно, съедобно, но не очень аппетитно." + #: lang/json/COMESTIBLE_from_json.py msgid "butchery refuse" msgid_plural "butchery refuse" @@ -29028,6 +30349,29 @@ msgstr[1] "приготовленных мясных обрезка" msgstr[2] "приготовленных мясных обрезков" msgstr[3] "приготовленные мясные обрезки" +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked mutant meat" +msgstr "приготовленное мясо мутанта" + +#. ~ Description for cooked mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"This is a cooked chunk of meat from a mutated animal. It has an unsettling," +" spongy texture, but otherwise tastes… mostly normal. Hopefully you got all" +" the bits of hair and bone out…" +msgstr "" +"Это приготовленный кусок мяса мутировавшего животного. У него странная " +"губчатая структура, но вкус… В основном, нормальный. Надеюсь, вы вытащили " +"все волосы и кусочки костей…" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked scrap of mutant meat" +msgid_plural "cooked scraps of mutant meat" +msgstr[0] "приготовленный мясной обрезок мутанта" +msgstr[1] "приготовленных мясных обрезков мутанта" +msgstr[2] "приготовленных мясных обрезков мутанта" +msgstr[3] "приготовленные мясные обрезки мутанта" + #: lang/json/COMESTIBLE_from_json.py msgid "raw offal" msgstr "сырые потроха" @@ -29287,7 +30631,7 @@ msgstr[3] "сырые мозги" #. ~ Description for raw brains #: lang/json/COMESTIBLE_from_json.py -msgid "The brain from an animal. You wouldn't want to eat this raw..." +msgid "The brain from an animal. You wouldn't want to eat this raw…" msgstr "Мозг животного. Вы бы не хотели есть это сырым…" #: lang/json/COMESTIBLE_from_json.py @@ -29349,8 +30693,8 @@ msgstr "приготовленная поджелудочная железа" #. ~ Description for cooked sweetbread #: lang/json/COMESTIBLE_from_json.py -msgid "Normally a delicacy, it needs a little... something." -msgstr "Вообще это считается деликатесом, только не хватает… чего-нибудь." +msgid "Normally a delicacy, it needs a little… something." +msgstr "Вообще это считается деликатесом, только не хватает… Чего-то." #: lang/json/COMESTIBLE_from_json.py msgid "bone" @@ -29411,6 +30755,97 @@ msgstr "" "Гладкий белый кусок животного жира сухой вытопки. Он остаётся съедобным " "очень долгое время, а также его можно использовать в различных рецептах." +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant fat" +msgid_plural "chunks of mutant fat" +msgstr[0] "кусок мутантного сала" +msgstr[1] "куска мутантного сала" +msgstr[2] "кусков мутантного сала" +msgstr[3] "куски мутантного сала" + +#. ~ Description for chunk of mutant fat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered fat from a heavily mutated animal. You could eat it raw, " +"but it is better used as an ingredient in other foods or projects." +msgstr "" +"Свежесрезанное сало сильно мутировавшего животного. Вы можете есть его в " +"сыром виде, но его лучше использовать в качестве ингредиента для других " +"продуктов или проектов." + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant tallow" +msgstr "мутантный жир" + +#. ~ Description for mutant tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"animal. It will remain edible for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" +"Гладкий белый кусок очищенного и вытопленного жира животного-мутанта. Он " +"остаётся съедобным очень долгое время, а также его можно использовать в " +"различных рецептах." + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant lard" +msgstr "мутантный лярд" + +#. ~ Description for mutant lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant animal. It " +"will remain edible for a very long time, and can be used as an ingredient in" +" many foods and projects." +msgstr "" +"Гладкий белый кусок сухого жира, полученного от животного-мутанта. Он будет " +"оставаться съедобным в течение очень долгого времени и может использоваться " +"в качестве ингредиента для других рецептов." + +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant humanoid fat" +msgid_plural "chunks of mutant humanoid fat" +msgstr[0] "кусок жира мутировавшего гуманоида" +msgstr[1] "куска жира мутировавшего гуманоида" +msgstr[2] "кусков жира мутировавшего гуманоида" +msgstr[3] "куски жира мутировавшего гуманоида" + +#. ~ Description for chunk of mutant humanoid fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly butchered fat from a heavily mutated humanoid." +msgstr "Свежий жир, вырезанный из сильно мутировавшего гуманоида." + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid tallow" +msgstr "сало мутировавшего гуманоида" + +#. ~ Description for mutant humanoid tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"humanoid. It won't rot for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" +"Гладкий белый кусок очищенного и обработанного жира, полученного из " +"мутировавшего гуманоида. Он не гниет очень долго и может использоваться в " +"качестве ингредиента во многих продуктах и проектах." + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid lard" +msgstr "лярд мутировавшего гуманоида" + +#. ~ Description for mutant humanoid lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant humanoid. It" +" won't rot for a very long time, and can be used as an ingredient in many " +"foods and projects." +msgstr "" +"Гладкий белый кусок топлёного жира, полученного из мутировавшего гуманоида. " +"Он не гниет очень долго и может использоваться в качестве ингредиента во " +"многих продуктах и проектах." + #: lang/json/COMESTIBLE_from_json.py msgid "chunk of tainted meat" msgid_plural "chunks of tainted meat" @@ -29613,7 +31048,7 @@ msgid "" "covered in ribbed grooves and easily the size of your head. It's still full" " of, er, whatever passes for blood in jabberwocks, and is heavy in your " "hands. After everything you've seen lately, you can't help but remember old" -" sayings about eating the hearts of your enemies..." +" sayings about eating the hearts of your enemies…" msgstr "" "Плотная, огромная масса плоти, внешне напоминающая сердце млекопитающего, " "покрытая рубчатыми каналами, размером с вашу голову. Оно по-прежнему " @@ -29636,7 +31071,7 @@ msgstr "" "очищенного от крови. Его можно есть, если вы настолько голодны, но выглядит " "оно *отвратительно*." -#: lang/json/COMESTIBLE_from_json.py +#: lang/json/COMESTIBLE_from_json.py lang/json/ammunition_type_from_json.py msgid "raw milk" msgid_plural "raw milk" msgstr[0] "сырое молоко" @@ -30020,7 +31455,7 @@ msgstr[3] "заваренный цикорий" #. ~ Description for chicory brew #: lang/json/COMESTIBLE_from_json.py msgid "" -"Toasted, ground chicory root steeped in boiling water. This bitter brew is " +"Toasted, ground chicory root steeped in boiling water. This bitter brew is " "used as a coffee substitute, though it tastes nothing like coffee." msgstr "" "Жареный молотый корень цикория, смешанный с кипятком. Этот горький напиток " @@ -31064,13 +32499,14 @@ msgstr "Консервированные ананасовые кольца в в #: lang/json/COMESTIBLE_from_json.py msgid "lemonade drink mix" -msgid_plural "servings of lemonade drink mix" -msgstr[0] "смесь для лимонада" -msgstr[1] "смеси для лимонада" -msgstr[2] "смесей для лимонада" -msgstr[3] "смесь для лимонада" +msgid_plural "lemonade drink mix" +msgstr[0] "лимонадный микс" +msgstr[1] "лимонадных микса" +msgstr[2] "лимонадных миксов" +msgstr[3] "лимонадные миксы" -#. ~ Description for lemonade drink mix +#. ~ Description for {'str': 'lemonade drink mix', 'str_pl': 'lemonade drink +#. mix'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Tangy yellow powder that smells strongly of lemons. Can be mixed with water" @@ -31958,7 +33394,7 @@ msgstr[3] "конфета с арахисовым маслом" #. ~ Description for peanut butter candy #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of peanut butter cups... your favorite!" +msgid "A handful of peanut butter cups… your favorite!" msgstr "Горстка колечек в арахисовом масле… Твои любимые!" #: lang/json/COMESTIBLE_from_json.py @@ -32099,7 +33535,7 @@ msgstr "Вкусный шоколадный торт. С глазурью. Эт #: lang/json/COMESTIBLE_from_json.py msgid "" "A cake coated in the thickest icing you've ever seen. Someone has written " -"guff in quotation marks on it..." +"guff in quotation marks on it…" msgstr "" "Торт, покрытый самым толстым слоем глазури, который вы когда-либо видели. " "Кто-то написал глупую фразу на нём…" @@ -32154,7 +33590,7 @@ msgstr[3] "мятное печенье" #. ~ Description for peppermint patty #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of soft chocolate-covered peppermint patties... yum!" +msgid "A handful of soft chocolate-covered peppermint patties… yum!" msgstr "Горстка мятных печенек, покрытых шоколадом… Вкуснятина!" #: lang/json/COMESTIBLE_from_json.py @@ -32688,7 +34124,7 @@ msgid "cracklins" msgid_plural "cracklins" msgstr[0] "шкварки" msgstr[1] "шкварки" -msgstr[2] "шкварк" +msgstr[2] "шкварки" msgstr[3] "шкварки" #. ~ Description for cracklins @@ -33782,9 +35218,9 @@ msgstr[3] "антибиотики" #. ~ Description for antibiotics #: lang/json/COMESTIBLE_from_json.py msgid "" -"A prescription-strength antibacterial medication designed to prevent or stop" -" the spread of infection. It's the quickest and most reliable way to cure " -"any infections you might have. One dose lasts twelve hours." +"A strong antibacterial medication designed to prevent or stop the spread of " +"infection. It's the safest way to cure any infections you might have. One " +"dose lasts twelve hours." msgstr "" "Отпускаемое по рецепту антибактериальное средство, предназначенное для " "предотвращения или прекращения развития инфекции. Это самый быстрый и " @@ -34794,8 +36230,8 @@ msgstr[3] "тряпки с антисептиком" #. ~ Description for antiseptic soaked rag #: lang/json/COMESTIBLE_from_json.py msgid "" -"A rag soaked in antiseptic. Useful for light wounds, probaby won't help with" -" deep bites." +"A rag soaked in antiseptic. Useful for light wounds, probaby won't help " +"with deep bites." msgstr "" "Тряпка, смоченная в антисептике. Поможет с небольшими ранами, но с глубокими" " укусами не справится." @@ -34871,7 +36307,7 @@ msgid "" "oily liquid that shifts from black to purple at unpredictable intervals, " "flecked with tiny gray dots. Given the place you got it from, it's either " "very potent, or highly experimental. Holding it, all the little aches and " -"pains seem to fade, just for a moment..." +"pains seem to fade, just for a moment…" msgstr "" "Яблочно-красная гель-капсула размером с ноготь, заполненная густой " "маслянистой жидкостью, которая непредсказуемо изменяется от черного до " @@ -34896,6 +36332,22 @@ msgstr "" "Прозрачное желе, полученное из рогоза. Обладает антисептическими свойствами " "и может использоваться в качестве обезболивающего." +#: lang/json/COMESTIBLE_from_json.py +msgid "destragon" +msgstr "дестрагон" + +#. ~ Description for destragon +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A prescription-strength antibacterial medication designed to prevent or stop" +" the spread of infection. It contains nearly toxic levels of antibiotics, " +"but can treat any bacterial infections you may encounter. One dose lasts " +"twelve hours." +msgstr "" +"Отпускаемое по рецепту антибактериальное средство, предназначенное для " +"предотвращения или прекращения развития инфекции. Это самый быстрый и " +"надёжный способ вылечить любую инфекцию. Одна доза действует 12 часов." + #: lang/json/COMESTIBLE_from_json.py msgid "MRE entree" msgstr "Основное блюдо ИРП" @@ -35315,10 +36767,10 @@ msgstr "мутагенная добавка iv" #. ~ Description for abstract iv mutagen flavor #: lang/json/COMESTIBLE_from_json.py msgid "" -"A super-concentrated mutagen. You need a syringe to inject it... if you " +"A super-concentrated mutagen. You need a syringe to inject it… if you " "really want to?" msgstr "" -"Высококонцентрированный мутаген. Требуется шприц для инъекции… если вы, " +"Высококонцентрированный мутаген. Требуется шприц для инъекции… Если вы, " "конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py @@ -35333,10 +36785,10 @@ msgstr "сыворотка альфы" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen strongly resembling blood. You need a syringe " -"to inject it... if you really want to?" +"to inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген, цветом напоминающий кровь. Требуется шприц " -"для инъекции… если вы, конечно, решитесь на это." +"для инъекции… Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "beast serum" @@ -35346,10 +36798,10 @@ msgstr "сыворотка зверя" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as red as a matador's cape. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген. Красный, как плащ матадора. Требуется шприц" -" для инъекции… если вы, конечно, решитесь на это." +" для инъекции… Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "bird serum" @@ -35359,10 +36811,10 @@ msgstr "сыворотка птицы" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the pre-cataclysmic skies. You " -"need a syringe to inject it... if you really want to?" +"need a syringe to inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген цвета неба до апокалипсиса. Требуется шприц " -"для инъекции… если вы, конечно, решитесь на это." +"для инъекции… Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "cattle serum" @@ -35372,10 +36824,10 @@ msgstr "сыворотка быка" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of grass. You need a syringe to " -"inject it... if you really want to?" +"inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген цвета травы. Требуется шприц для инъекции… " -"если вы, конечно, решитесь на это." +"Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "cephalopod serum" @@ -35385,10 +36837,10 @@ msgstr "сыворотка моллюска" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as black as ink. You need a syringe to inject " -"it... if you really want to?" +"it… if you really want to?" msgstr "" "Высококонцентрированный мутаген чернильно-чёрного цвета. Требуется шприц для" -" инъекции… если вы, конечно, решитесь на это." +" инъекции… Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "chimera serum" @@ -35398,10 +36850,10 @@ msgstr "сыворотка химеры" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that churns with iridescence. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген, переливающийся радужными цветами. Требуется" -" шприц для инъекции… если вы, конечно, решитесь на это." +" шприц для инъекции… Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "elf-a serum" @@ -35411,10 +36863,10 @@ msgstr "сыворотка эльфа" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a striking sylvan green. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген впечатляющего бледно-зелёного цвета. " -"Требуется шприц для инъекции… если вы, конечно, решитесь на это." +"Требуется шприц для инъекции… Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "feline serum" @@ -35424,7 +36876,7 @@ msgstr "сыворотка кошки" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen, yellow and highly reflective. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген. Жёлтый и ярко блестящий. Требуется шприц " "для инъекции… если вы, конечно, решитесь на это." @@ -35437,10 +36889,10 @@ msgstr "сыворотка рыбы" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the ocean, with white foam at the " -"top. You need a syringe to inject it... if you really want to?" +"top. You need a syringe to inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген цвета океана, с белой пеной сверху. " -"Требуется шприц для инъекции… если вы, конечно, решитесь на это." +"Требуется шприц для инъекции… Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "insect serum" @@ -35450,10 +36902,10 @@ msgstr "сыворотка насекомого" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a beautiful amber color. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген изумительного янтарного цвета. Требуется " -"шприц для инъекции… если вы, конечно, решитесь на это." +"шприц для инъекции… Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "lizard serum" @@ -35463,10 +36915,10 @@ msgstr "сыворотка ящерицы" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that shifts between various shades of green. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген, переливающийся оттенками зелёного. " -"Требуется шприц для инъекции… если вы, конечно, решитесь на это." +"Требуется шприц для инъекции… Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "lupine serum" @@ -35476,10 +36928,10 @@ msgstr "сыворотка волка" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as white as a full moon. You need a syringe to" -" inject it... if you really want to?" +" inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген. Белый, как полная луна. Требуется шприц для" -" инъекции… если вы, конечно, решитесь на это." +" инъекции… Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "medical serum" @@ -35489,10 +36941,10 @@ msgstr "сыворотка медицинская" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like a mixture of bodily fluids. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген, похожий на смесь телесных жидкостей. " -"Требуется шприц для инъекции… если вы, конечно, решитесь на это." +"Требуется шприц для инъекции… Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "plant serum" @@ -35502,10 +36954,10 @@ msgstr "сыворотка растения" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like pureed spinach. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" -"Высококонцентрированный мутаген, похожий на измельчённый шпинат. Требуется " -"шприц для инъекции… если вы, конечно, решитесь на это." +"Высококонцентрированный мутаген, по цвету похожий на измельчённый шпинат. " +"Требуется шприц для инъекции… Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "raptor serum" @@ -35515,10 +36967,10 @@ msgstr "сыворотка раптора" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to shift slightly whenever you look " -"at it. You need a syringe to inject it... if you really want to?" +"at it. You need a syringe to inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген, немного меняющийся каждый раз, как вы на " -"него посмотрите. Требуется шприц для инъекции… если вы, конечно, решитесь на" +"него посмотрите. Требуется шприц для инъекции… Если вы, конечно, решитесь на" " это." #: lang/json/COMESTIBLE_from_json.py @@ -35529,10 +36981,10 @@ msgstr "сыворотка крысы" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a rather unappealing beige. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген неприятного бежевого оттенка. Требуется " -"шприц для инъекции… если вы, конечно, решитесь на это." +"шприц для инъекции… Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "slime serum" @@ -35542,10 +36994,10 @@ msgstr "сыворотка слизи" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks very much like the black ooze in the" -" zombies' eyes. You need a syringe to inject it... if you really want to?" +" zombies' eyes. You need a syringe to inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген, весьма напоминающий чёрную слизь в глазах " -"зомби. Требуется шприц для инъекции… если вы, конечно, решитесь на это." +"зомби. Требуется шприц для инъекции… Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "spider serum" @@ -35555,10 +37007,10 @@ msgstr "сыворотка паука" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen with pale filaments suspended in it. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген с плавающими бледными волокнами. Требуется " -"шприц для инъекции… если вы, конечно, решитесь на это." +"шприц для инъекции… Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "troglobite serum" @@ -35568,10 +37020,10 @@ msgstr "сыворотка троглобита" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to recoil from the light. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген. Похоже, он будто пытается укрыться от " -"света. Требуется шприц для инъекции… если вы, конечно, решитесь на это." +"света. Требуется шприц для инъекции… Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "ursine serum" @@ -35581,10 +37033,10 @@ msgstr "сыворотка медведя" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's the color of honey, and is just as " -"thick. You need a syringe to inject it... if you really want to?" +"thick. You need a syringe to inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген, цветом и густотой напоминающий мёд. " -"Требуется шприц для инъекции… если вы, конечно, решитесь на это." +"Требуется шприц для инъекции… Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "mouse serum" @@ -35594,10 +37046,10 @@ msgstr "сыворотка мыши" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen resembling liquefied metal. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "" "Высококонцентрированный мутаген, похожий на жидкий металл. Требуется шприц " -"для инъекции… если вы, конечно, решитесь на это." +"для инъекции… Если вы, конечно, решитесь на это." #: lang/json/COMESTIBLE_from_json.py msgid "mutagen" @@ -35611,7 +37063,7 @@ msgstr "застывшая кровь" #: lang/json/COMESTIBLE_from_json.py msgid "" "A thick, soupy red liquid. It looks and smells disgusting, and seems to " -"bubble with an intelligence of its own..." +"bubble with an intelligence of its own…" msgstr "" "Вязкая, густая красная жидкость. Выглядит и пахнет отвратительно, и, " "кажется, пузырится, словно имеет собственный интеллект…" @@ -35723,7 +37175,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "purifier serum" -msgstr "сыворотка очистительная" +msgstr "сыворотка пурификатора" #. ~ Description for purifier serum #: lang/json/COMESTIBLE_from_json.py @@ -35817,27 +37269,27 @@ msgstr "" "вероятно, стало значительно безопасней пить, чем ранее." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of pine nuts" -msgid_plural "handfuls of pine nuts" -msgstr[0] "горсть сосновых орехов" -msgstr[1] "горсти сосновых орехов" -msgstr[2] "горстей сосновых орехов" -msgstr[3] "горсти сосновых орехов" +msgid "pine nuts" +msgid_plural "pine nuts" +msgstr[0] "сосновый орешек" +msgstr[1] "сосновые орехи" +msgstr[2] "сосновые орехи" +msgstr[3] "сосновые орехи" -#. ~ Description for handful of pine nuts +#. ~ Description for {'str': 'pine nuts', 'str_pl': 'pine nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of tasty crunchy nuts from a pinecone." msgstr "Горсть вкусных хрустящих орехов из сосновой шишки." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of junipers" -msgid_plural "handful of junipers" -msgstr[0] "Горсть можжевельника" -msgstr[1] "Горсти можжевельника" -msgstr[2] "Горстей можжевельника" -msgstr[3] "Горсть можжевельника" +msgid "junipers" +msgid_plural "junipers" +msgstr[0] "можжевельник" +msgstr[1] "можжевельника" +msgstr[2] "можжевельника" +msgstr[3] "можжевельники" -#. ~ Description for handful of junipers +#. ~ Description for {'str': 'junipers', 'str_pl': 'junipers'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Junipers, for making gin and earthy flavors. Spicy, tastes similar to " @@ -35847,80 +37299,98 @@ msgstr "" "Пряный, на вкус похож на розмарин." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pistachios" -msgid_plural "handfuls of shelled pistachios" -msgstr[0] "горсть очищенных фисташек" -msgstr[1] "горсти очищенных фисташек" -msgstr[2] "горстей очищенных фисташек" -msgstr[3] "горсти очищенных фисташек" +msgid "shelled pistachios" +msgid_plural "shelled pistachios" +msgstr[0] "очищенные фисташки" +msgstr[1] "очищенные фисташки" +msgstr[2] "очищенные фисташки" +msgstr[3] "очищенные фисташки" -#. ~ Description for handful of shelled pistachios +#. ~ Description for {'str': 'shelled pistachios', 'str_pl': 'shelled +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of nuts from a pistachio tree, their shells have been removed." msgstr "Горсть орехов фисташкового дерева, очищенных от скорлупы." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pistachios" -msgid_plural "handfuls of roasted pistachios" -msgstr[0] "горсть жареных фисташек" -msgstr[1] "горсти жареных фисташек" -msgstr[2] "горстей жареных фисташек" -msgstr[3] "горсть жареных фисташек" +msgid "roasted pistachios" +msgid_plural "roasted pistachios" +msgstr[0] "жареные фисташки" +msgstr[1] "жареные фисташки" +msgstr[2] "жареные фисташки" +msgstr[3] "жареные фисташки" -#. ~ Description for handful of roasted pistachios +#. ~ Description for {'str': 'roasted pistachios', 'str_pl': 'roasted +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an pistachio tree." msgstr "Горсть жареных орехов фисташкового дерева." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled almonds" -msgid_plural "handfuls of shelled almonds" -msgstr[0] "горсть очищенного миндаля" -msgstr[1] "горсти очищенного миндаля" -msgstr[2] "горстей очищенного миндаля" -msgstr[3] "горсти очищенного миндаля" +msgid "shelled almonds" +msgid_plural "shelled almonds" +msgstr[0] "очищенный миндаль" +msgstr[1] "очищенный миндаль" +msgstr[2] "очищенный миндаль" +msgstr[3] "очищенный миндаль" -#. ~ Description for handful of shelled almonds +#. ~ Description for {'str': 'shelled almonds', 'str_pl': 'shelled almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of nuts from an almond tree, their shells have been removed." msgstr "Горсть орехов миндального дерева, очищенных от скорлупы." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted almonds" -msgid_plural "handfuls of roasted almonds" -msgstr[0] "горсть жареного миндаля" -msgstr[1] "горсти жареного миндаля" -msgstr[2] "горстей жареного миндаля" -msgstr[3] "горсть жареного миндаля" +msgid "almond pulp" +msgid_plural "almond pulp" +msgstr[0] "миндальная мякоть" +msgstr[1] "миндальная мякоть" +msgstr[2] "миндальная мякоть" +msgstr[3] "миндальная мякоть" -#. ~ Description for handful of roasted almonds +#. ~ Description for almond pulp +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Pulp left over after making almond milk. It's gritty and incredibly bland." +msgstr "" +"Мякоть, оставшаяся после приготовления миндального молока. Она шершавая и " +"невероятно невкусная." + +#: lang/json/COMESTIBLE_from_json.py +msgid "roasted almonds" +msgid_plural "roasted almonds" +msgstr[0] "жареный миндаль" +msgstr[1] "жареный миндаль" +msgstr[2] "жареный миндаль" +msgstr[3] "жареный миндаль" + +#. ~ Description for {'str': 'roasted almonds', 'str_pl': 'roasted almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an almond tree." msgstr "Горсть жареных орехов миндального дерева." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cashews" -msgid_plural "handfuls of cashews" -msgstr[0] "горсть кешью" -msgstr[1] "горсти кешью" -msgstr[2] "горстей кешью" -msgstr[3] "горсти кешью" +msgid "cashews" +msgid_plural "cashews" +msgstr[0] "кешью" +msgstr[1] "кешью" +msgstr[2] "кешью" +msgstr[3] "кешью" -#. ~ Description for handful of cashews +#. ~ Description for {'str': 'cashews', 'str_pl': 'cashews'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of salty cashews." msgstr "Горстка солёных кешью." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pecans" -msgid_plural "handfuls of shelled pecans" -msgstr[0] "горсть очищенного пекана" -msgstr[1] "горсти очищенного пекана" -msgstr[2] "горстей очищенного пекана" -msgstr[3] "горсти очищенного пекана" +msgid "shelled pecans" +msgid_plural "shelled pecans" +msgstr[0] "очищенный орех пекан" +msgstr[1] "очищенных ореха пекан" +msgstr[2] "очищенных орехов пекан" +msgstr[3] "очищенные орехи пекан" -#. ~ Description for handful of shelled pecans +#. ~ Description for {'str': 'shelled pecans', 'str_pl': 'shelled pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of pecans which are a sub-species of hickory nuts, their shells " @@ -35930,53 +37400,53 @@ msgstr "" "скорлупа удалена." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pecans" -msgid_plural "handfuls of roasted pecans" -msgstr[0] "горсть жареного пекана" -msgstr[1] "горсти жареного пекана" -msgstr[2] "горстей жареного пекана" -msgstr[3] "горсть жареного пекана" +msgid "roasted pecans" +msgid_plural "roasted pecans" +msgstr[0] "жареный орех пекан" +msgstr[1] "жареных ореха пекан" +msgstr[2] "жареных орехов пекан" +msgstr[3] "жареные орехи пекан" -#. ~ Description for handful of roasted pecans +#. ~ Description for {'str': 'roasted pecans', 'str_pl': 'roasted pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a pecan tree." msgstr "Горсть жареных орехов дерева пекан." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled peanuts" -msgid_plural "handful of shelled peanuts" -msgstr[0] "горсть очищенного арахиса" -msgstr[1] "горсти очищенного арахиса" -msgstr[2] "горстей очищенного арахиса" -msgstr[3] "горсть очищенного арахиса" +msgid "shelled peanuts" +msgid_plural "shelled peanuts" +msgstr[0] "очищенный арахис" +msgstr[1] "очищенный арахис" +msgstr[2] "очищенный арахис" +msgstr[3] "очищенный арахис" -#. ~ Description for handful of shelled peanuts +#. ~ Description for {'str': 'shelled peanuts', 'str_pl': 'shelled peanuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Salty peanuts with their shells removed." msgstr "Солёный арахис без скорлупы." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of beech nuts" -msgid_plural "handfuls of beech nuts" -msgstr[0] "горсть буковых орехов" -msgstr[1] "горсти буковых орехов" -msgstr[2] "горстей буковых орехов" -msgstr[3] "горсти буковых орехов" +msgid "beech nuts" +msgid_plural "beech nuts" +msgstr[0] "буковый орех" +msgstr[1] "буковых ореха" +msgstr[2] "буковых орехов" +msgstr[3] "буковые орехи" -#. ~ Description for handful of beech nuts +#. ~ Description for {'str': 'beech nuts', 'str_pl': 'beech nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of hard pointy nuts from a beech tree." msgstr "Горсть твёрдых заострённых орехов букового дерева." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled walnuts" -msgid_plural "handfuls of shelled walnuts" -msgstr[0] "горсть очищенного грецкого ореха" -msgstr[1] "горсти очищенного грецкого ореха" -msgstr[2] "горстей очищенного грецкого ореха" -msgstr[3] "горсть очищенного грецкого ореха" +msgid "shelled walnuts" +msgid_plural "shelled walnuts" +msgstr[0] "очищенный грецкий орех" +msgstr[1] "очищенных грецких ореха" +msgstr[2] "очищенных грецких орехов" +msgstr[3] "очищенные грецкие орехи" -#. ~ Description for handful of shelled walnuts +#. ~ Description for {'str': 'shelled walnuts', 'str_pl': 'shelled walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a walnut tree, their shells have been " @@ -35984,27 +37454,28 @@ msgid "" msgstr "Горсть сырых твёрдых орехов грецкого дерева, очищенных от скорлупы." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted walnuts" -msgid_plural "handfuls of roasted walnuts" -msgstr[0] "горсть жареного грецкого ореха" -msgstr[1] "горсти жареного грецкого ореха" -msgstr[2] "горстей жареного грецкого ореха" -msgstr[3] "горсть жареного грецкого ореха" +msgid "roasted walnuts" +msgid_plural "roasted walnuts" +msgstr[0] "жареный грецкий орех" +msgstr[1] "жареных грецких ореха" +msgstr[2] "жареных грецких орехов" +msgstr[3] "жареные грецкие орехи" -#. ~ Description for handful of roasted walnuts +#. ~ Description for {'str': 'roasted walnuts', 'str_pl': 'roasted walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a walnut tree." msgstr "Горсть жареных орехов грецкого дерева." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled chestnuts" -msgid_plural "handfuls of shelled chestnuts" -msgstr[0] "горсть очищенных каштанов" -msgstr[1] "горсти очищенных каштанов" -msgstr[2] "горстей очищенных каштанов" -msgstr[3] "горсть очищенных каштанов" +msgid "shelled chestnuts" +msgid_plural "shelled chestnuts" +msgstr[0] "очищенный каштан" +msgstr[1] "очищенных каштана" +msgstr[2] "очищенных каштанов" +msgstr[3] "очищенные каштаны" -#. ~ Description for handful of shelled chestnuts +#. ~ Description for {'str': 'shelled chestnuts', 'str_pl': 'shelled +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a chestnut tree, their shells have been " @@ -36013,27 +37484,29 @@ msgstr "" "Горсть сырых твёрдых орехов каштанового дерева, очищенных от скорлупы." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted chestnuts" -msgid_plural "handfuls of roasted chestnuts" -msgstr[0] "горсть жареных каштанов" -msgstr[1] "горсти жареных каштанов" -msgstr[2] "горстей жареных каштанов" -msgstr[3] "горсть жареных каштанов" +msgid "roasted chestnuts" +msgid_plural "roasted chestnuts" +msgstr[0] "жареный каштан" +msgstr[1] "жареные каштаны" +msgstr[2] "жареные каштаны" +msgstr[3] "жареные каштаны" -#. ~ Description for handful of roasted chestnuts +#. ~ Description for {'str': 'roasted chestnuts', 'str_pl': 'roasted +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a chestnut tree." msgstr "Горсть жареных орехов каштанового дерева." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hazelnuts" -msgid_plural "handfuls of shelled hazelnuts" -msgstr[0] "горсть очищенной лещины" -msgstr[1] "горсти очищенной лещины" -msgstr[2] "горстей очищенной лещины" -msgstr[3] "горсти очищенной лещины" +msgid "shelled hazelnuts" +msgid_plural "shelled hazelnuts" +msgstr[0] "очищенный фундук" +msgstr[1] "очищенный фундук" +msgstr[2] "очищенный фундук" +msgstr[3] "очищенный фундук" -#. ~ Description for handful of shelled hazelnuts +#. ~ Description for {'str': 'shelled hazelnuts', 'str_pl': 'shelled +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hazelnut tree, their shells have been " @@ -36041,53 +37514,55 @@ msgid "" msgstr "Горсть сырых твёрдых орехов лещины, очищенных от скорлупы." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted edamame" -msgid_plural "handful of roasted edamame" -msgstr[0] "горсть жареных эдамамэ" -msgstr[1] "горсти жареных эдамамэ" -msgstr[2] "горстей жареных эдамамэ" -msgstr[3] "горсти жареных эдамамэ" +msgid "roasted edamame" +msgid_plural "roasted edamame" +msgstr[0] "жареные эдамамэ" +msgstr[1] "жареные эдамамэ" +msgstr[2] "жареные эдамамэ" +msgstr[3] "жареные эдамамэ" -#. ~ Description for handful of roasted edamame +#. ~ Description for {'str': 'roasted edamame', 'str_pl': 'roasted edamame'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted edamame, a heart healthy snack." msgstr "Жареные эдамамэ, полезная закуска." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted soy nuts" -msgid_plural "handful of roasted soy nuts" -msgstr[0] "горсть жареных соевых бобов" -msgstr[1] "горсти жареных соевых бобов" -msgstr[2] "горстей жареных соевых бобов" -msgstr[3] "горсти жареных соевых бобов" +msgid "roasted soy nuts" +msgid_plural "roasted soy nuts" +msgstr[0] "жареные соевые бобы" +msgstr[1] "жареные соевые бобы" +msgstr[2] "жареные соевые бобы" +msgstr[3] "жареные соевые бобы" -#. ~ Description for handful of roasted soy nuts +#. ~ Description for {'str': 'roasted soy nuts', 'str_pl': 'roasted soy nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted soybeans, often called soy nuts." msgstr "Жареные соевые бобы, иногда называемые соевыми орехами." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hazelnuts" -msgid_plural "handfuls of roasted hazelnuts" -msgstr[0] "горсть жареной лещины" -msgstr[1] "горсти жареной лещины" -msgstr[2] "горстей жареной лещины" -msgstr[3] "горсть жареной лещины" +msgid "roasted hazelnuts" +msgid_plural "roasted hazelnuts" +msgstr[0] "жаренный фундук" +msgstr[1] "жаренный фундук" +msgstr[2] "жаренный фундук" +msgstr[3] "жаренный фундук" -#. ~ Description for handful of roasted hazelnuts +#. ~ Description for {'str': 'roasted hazelnuts', 'str_pl': 'roasted +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hazelnut tree." msgstr "Горсть жареных орехов лещины." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hickory nuts" -msgid_plural "handfuls of shelled hickory nuts" -msgstr[0] "горсть очищенных орехов гикори" -msgstr[1] "горсти очищенных орехов гикори" -msgstr[2] "горстей очищенных орехов гикори" -msgstr[3] "горсть очищенных орехов гикори" +msgid "shelled hickory nuts" +msgid_plural "shelled hickory nuts" +msgstr[0] "очищенный орех гикори" +msgstr[1] "очищенные орехи гикори" +msgstr[2] "очищенные орехи гикори" +msgstr[3] "очищенные орехи гикори" -#. ~ Description for handful of shelled hickory nuts +#. ~ Description for {'str': 'shelled hickory nuts', 'str_pl': 'shelled +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hickory tree, their shells have been " @@ -36095,14 +37570,15 @@ msgid "" msgstr "Горсть сырых твёрдых орехов дерева гикори, очищенных от скорлупы." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hickory nuts" -msgid_plural "handfuls of roasted hickory nuts" -msgstr[0] "горсть жареных орехов гикори" -msgstr[1] "горсти жареных орехов гикори" -msgstr[2] "горстей жареных орехов гикори" -msgstr[3] "горсть жареных орехов гикори" +msgid "roasted hickory nuts" +msgid_plural "roasted hickory nuts" +msgstr[0] "жареный орех гикори" +msgstr[1] "жареных ореха гикори" +msgstr[2] "жареных орехов гикори" +msgstr[3] "жареные орехи гикори" -#. ~ Description for handful of roasted hickory nuts +#. ~ Description for {'str': 'roasted hickory nuts', 'str_pl': 'roasted +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hickory tree." msgstr "Горсть жареных орехов дерева гикори." @@ -36117,31 +37593,31 @@ msgid "Delicious hickory nut ambrosia. A drink worthy of the gods." msgstr "Вкусная амброзия из орехов гикори. Напиток, достойный богов." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of acorns" -msgid_plural "handfuls of acorns" -msgstr[0] "горсть желудей" -msgstr[1] "горсти желудей" -msgstr[2] "горстей желудей" -msgstr[3] "горсть желудей" +msgid "acorns" +msgid_plural "acorns" +msgstr[0] "жёлудь" +msgstr[1] "жёлудя" +msgstr[2] "жёлудей" +msgstr[3] "жёлуди" -#. ~ Description for handful of acorns +#. ~ Description for {'str': 'acorns', 'str_pl': 'acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of acorns, still in their shells. Squirrels like them, but " "they're not very good for you to eat in this state." msgstr "" -"Горстка желудей, ещё в скорлупе. Белки их любят, но вам не желательно есть " +"Горстка жёлудей, ещё в скорлупе. Белки их любят, но вам не желательно есть " "их в этом состоянии." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted acorns" -msgid_plural "handfuls of roasted acorns" -msgstr[0] "горсть жареных желудей" -msgstr[1] "горсти жареных желудей" -msgstr[2] "горстей жареных желудей" -msgstr[3] "горсть жареных желудей" +msgid "roasted acorns" +msgid_plural "roasted acorns" +msgstr[0] "жареный жёлудь" +msgstr[1] "жареных жёлудя" +msgstr[2] "жареных жёлудя" +msgstr[3] "жареные жёлуди" -#. ~ Description for handful of roasted acorns +#. ~ Description for {'str': 'roasted acorns', 'str_pl': 'roasted acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful roasted nuts from an oak tree." msgstr "Горсть жареных орехов дуба." @@ -36160,7 +37636,7 @@ msgid "" "A serving of acorns that have been hulled, chopped, and boiled in water " "before being thoroughly toasted until dry. Filling and nutritious." msgstr "" -"Порция желудей, которые были очищены от скорлупы, нарезаны и сварены в воде," +"Порция жёлудей, которые были очищены от скорлупы, нарезаны и сварены в воде," " прежде чем поджариться до полного высыхания. Сытно и питательно." #: lang/json/COMESTIBLE_from_json.py @@ -36823,13 +38299,14 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "soylent green powder" -msgid_plural "servings of soylent green powder" -msgstr[0] "порошок зелёного сойлента" -msgstr[1] "порошка зелёного сойлента" -msgstr[2] "порошков зелёного сойлента" -msgstr[3] "порошок зелёного сойлента" +msgid_plural "soylent green powder" +msgstr[0] "сойлентовый зеленый порошок" +msgstr[1] "сойлентовый зеленый порошок" +msgstr[2] "сойлентовый зеленый порошок" +msgstr[3] "сойлентовый зеленый порошок" -#. ~ Description for soylent green powder +#. ~ Description for {'str': 'soylent green powder', 'str_pl': 'soylent green +#. powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein made out of people! While quite nutritious, it is " @@ -36880,13 +38357,13 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "protein powder" -msgid_plural "servings of protein powder" +msgid_plural "protein powder" msgstr[0] "протеиновый порошок" -msgstr[1] "протеиновых порошка" +msgstr[1] "протеиновых порошока" msgstr[2] "протеиновых порошков" msgstr[3] "протеиновый порошок" -#. ~ Description for protein powder +#. ~ Description for {'str': 'protein powder', 'str_pl': 'protein powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein. While quite nutritious, it is impossible to enjoy in " @@ -36962,79 +38439,79 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "Очень кислый цитрус. Можно съесть, если и вправду хочется." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blueberries" -msgid_plural "handful of blueberries" -msgstr[0] "горсть голубики" -msgstr[1] "горсти голубики" -msgstr[2] "горстей голубики" -msgstr[3] "горсть голубики" +msgid "blueberries" +msgid_plural "blueberries" +msgstr[0] "голубика" +msgstr[1] "голубики" +msgstr[2] "голубик" +msgstr[3] "голубики" -#. ~ Description for handful of blueberries +#. ~ Description for {'str': 'blueberries', 'str_pl': 'blueberries'} #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "Она голубого цвета, но это не значит, что она в печали." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of strawberries" -msgid_plural "handful of strawberries" -msgstr[0] "горсть клубники" -msgstr[1] "горсть клубники" -msgstr[2] "горсть клубники" -msgstr[3] "горсть клубники" +msgid "strawberries" +msgid_plural "strawberries" +msgstr[0] "клубника" +msgstr[1] "клубники" +msgstr[2] "клубничек" +msgstr[3] "клубники" -#. ~ Description for handful of strawberries +#. ~ Description for {'str': 'strawberries', 'str_pl': 'strawberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "Сладкая сочная ягода, часто встречается на диких полях." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cranberries" -msgid_plural "handful of cranberries" -msgstr[0] "горсть клюквы" -msgstr[1] "горсть клюквы" -msgstr[2] "горсть клюквы" -msgstr[3] "горсть клюквы" +msgid "cranberries" +msgid_plural "cranberries" +msgstr[0] "клюква" +msgstr[1] "клюквы" +msgstr[2] "клюкв" +msgstr[3] "клюквы" -#. ~ Description for handful of cranberries +#. ~ Description for {'str': 'cranberries', 'str_pl': 'cranberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "Кислые красные ягоды. Полезны для здоровья." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of raspberries" -msgid_plural "handful of raspberries" -msgstr[0] "горсть малины" -msgstr[1] "горсть малины" -msgstr[2] "горсть малины" -msgstr[3] "горсть малины" +msgid "raspberries" +msgid_plural "raspberries" +msgstr[0] "малина" +msgstr[1] "малина" +msgstr[2] "малин" +msgstr[3] "малины" -#. ~ Description for handful of raspberries +#. ~ Description for {'str': 'raspberries', 'str_pl': 'raspberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "Сладкая красная ягода." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of huckleberries" -msgid_plural "handful of huckleberries" -msgstr[0] "горсть черники" -msgstr[1] "горсти черники" -msgstr[2] "горстей черники" -msgstr[3] "горсть черники" +msgid "huckleberries" +msgid_plural "huckleberries" +msgstr[0] "люссакия" +msgstr[1] "люссакии" +msgstr[2] "люссакий" +msgstr[3] "люссакии" -#. ~ Description for handful of huckleberries +#. ~ Description for {'str': 'huckleberries', 'str_pl': 'huckleberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "Люссакию часто путают с черникой." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of mulberries" -msgid_plural "handful of mulberries" -msgstr[0] "горсть шелковицы" -msgstr[1] "горсть шелковицы" -msgstr[2] "горсть шелковицы" -msgstr[3] "горсть шелковицы" +msgid "mulberries" +msgid_plural "mulberries" +msgstr[0] "шелковица" +msgstr[1] "шелковицы" +msgstr[2] "шелковиц" +msgstr[3] "шелковицы" -#. ~ Description for handful of mulberries +#. ~ Description for {'str': 'mulberries', 'str_pl': 'mulberries'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -37045,14 +38522,14 @@ msgstr "" "мире." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of elderberries" -msgid_plural "handful of elderberries" -msgstr[0] "горсть бузины" -msgstr[1] "горсть бузины" -msgstr[2] "горсть бузины" -msgstr[3] "горсть бузины" +msgid "elderberries" +msgid_plural "elderberries" +msgstr[0] "бузина" +msgstr[1] "бузины" +msgstr[2] "бузин" +msgstr[3] "бузины" -#. ~ Description for handful of elderberries +#. ~ Description for {'str': 'elderberries', 'str_pl': 'elderberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "" @@ -37060,14 +38537,14 @@ msgstr "" " приготовлены." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of rose hips" -msgid_plural "handful of rose hips" -msgstr[0] "горсть шиповника" -msgstr[1] "горсть шиповника" -msgstr[2] "горсть шиповника" -msgstr[3] "горсть шиповника" +msgid "rose hips" +msgid_plural "rose hips" +msgstr[0] "шиповник" +msgstr[1] "шиповника" +msgstr[2] "шиповников" +msgstr[3] "шиповники" -#. ~ Description for handful of rose hips +#. ~ Description for {'str': 'rose hips', 'str_pl': 'rose hips'} #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "Плод опылённого розового цветка шиповника." @@ -37104,14 +38581,14 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "Цитрус, вкус которого варьируется от кислого до полусладкого." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cherries" -msgid_plural "handful of cherries" -msgstr[0] "горсть вишни" -msgstr[1] "горсть вишни" -msgstr[2] "горсть вишни" -msgstr[3] "горсть вишни" +msgid "cherries" +msgid_plural "cherries" +msgstr[0] "вишня" +msgstr[1] "вишни" +msgstr[2] "вишень" +msgstr[3] "вишни" -#. ~ Description for handful of cherries +#. ~ Description for {'str': 'cherries', 'str_pl': 'cherries'} #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "Красный сладкий плод, растущий на деревьях." @@ -37127,14 +38604,14 @@ msgid "" msgstr "Несколько крупных фиолетовых слив. Полезные и хорошо усваиваемые." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of grapes" -msgid_plural "handful of grapes" -msgstr[0] "горсть винограда" -msgstr[1] "горсть винограда" -msgstr[2] "горсть винограда" -msgstr[3] "горсть винограда" +msgid "grapes" +msgid_plural "grapes" +msgstr[0] "виноград" +msgstr[1] "винограда" +msgstr[2] "виноградин" +msgstr[3] "виноградины" -#. ~ Description for handful of grapes +#. ~ Description for {'str': 'grapes', 'str_pl': 'grapes'} #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "Гроздь сочного винограда." @@ -37189,14 +38666,14 @@ msgid "A large and very sweet fruit." msgstr "Большой и очень сладкий фрукт." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blackberries" -msgid_plural "handful of blackberries" -msgstr[0] "горсть ежевики" -msgstr[1] "горсть ежевики" -msgstr[2] "горсть ежевики" -msgstr[3] "горсть ежевики" +msgid "blackberries" +msgid_plural "blackberries" +msgstr[0] "ежевика" +msgstr[1] "ежевики" +msgstr[2] "ежевик" +msgstr[3] "ежевики" -#. ~ Description for handful of blackberries +#. ~ Description for {'str': 'blackberries', 'str_pl': 'blackberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "Тёмная родственница малины." @@ -37241,18 +38718,31 @@ msgstr "" "восхитительная зелёная мякоть." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of apricots" -msgid_plural "handful of apricots" -msgstr[0] "горсть абрикосов" -msgstr[1] "горсть абрикосов" -msgstr[2] "горсть абрикосов" -msgstr[3] "горсть абрикосов" +msgid "apricots" +msgid_plural "apricots" +msgstr[0] "абрикос" +msgstr[1] "абрикоса" +msgstr[2] "абрикосов" +msgstr[3] "абрикосы" -#. ~ Description for handful of apricots +#. ~ Description for {'str': 'apricots', 'str_pl': 'apricots'} #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "Гладкокожий фрукт, похожий на персик." +#: lang/json/COMESTIBLE_from_json.py +msgid "cholla bud" +msgstr "бутон чоллы" + +#. ~ Description for cholla bud +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Edible bud of a cholla cactus, with spines removed; the candy of the Mojave " +"indigenous peoples. Tastes similar to asparagus." +msgstr "" +"Съедобная почка кактуса чолла с удаленными шипиками; деликатес коренных " +"народов Мохаве. На вкус похожа на спаржу." + #: lang/json/COMESTIBLE_from_json.py msgid "cactus pad" msgstr "росток кактуса" @@ -37459,13 +38949,13 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "salsify" -msgid_plural "handfuls of salsify" +msgid_plural "salsify" msgstr[0] "козлобородник" msgstr[1] "козлобородника" -msgstr[2] "козлобородника" -msgstr[3] "козлобородник" +msgstr[2] "козлобородников" +msgstr[3] "козлобородники" -#. ~ Description for salsify +#. ~ Description for {'str': 'salsify', 'str_pl': 'salsify'} #: lang/json/COMESTIBLE_from_json.py msgid "" "An herb with a small purple flower. The roots are nutritious, but tough and" @@ -37477,13 +38967,13 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py lang/json/COMESTIBLE_from_json.py #: lang/json/furniture_from_json.py msgid "chicory" -msgid_plural "handfuls of chicory" -msgstr[0] "горсть цикория" -msgstr[1] "горсти цикория" -msgstr[2] "горстей цикория" -msgstr[3] "горсти цикория" +msgid_plural "chicory" +msgstr[0] "цикорий" +msgstr[1] "цикорий" +msgstr[2] "цикорий" +msgstr[3] "цикорий" -#. ~ Description for chicory +#. ~ Description for {'str': 'chicory', 'str_pl': 'chicory'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A modest blue flower. The flower's roots are very bitter and not meant to " @@ -37617,14 +39107,14 @@ msgstr "" " но отлично подходит для готовки." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of dandelions" -msgid_plural "handfuls of dandelions" -msgstr[0] "пригоршня одуванчиков" -msgstr[1] "пригоршни одуванчиков" -msgstr[2] "пригоршней одуванчиков" -msgstr[3] "пригоршня одуванчиков" +msgid "dandelions" +msgid_plural "dandelions" +msgstr[0] "одуванчик" +msgstr[1] "одуванчика" +msgstr[2] "одуванчиков" +msgstr[3] "одуванчики" -#. ~ Description for handful of dandelions +#. ~ Description for {'str': 'dandelions', 'str_pl': 'dandelions'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A collection of freshly picked yellow dandelions. In their current raw " @@ -37780,14 +39270,14 @@ msgid "Raw, uncooked lentils. They could be cooked." msgstr "Сырая неприготовленная чечевица. Её можно приготовить." #: lang/json/COMESTIBLE_from_json.py -msgid "handful of fiddleheads" -msgid_plural "handfuls of fiddleheads" -msgstr[0] "горсть побегов папоротника" -msgstr[1] "горсти побегов папоротника" -msgstr[2] "горстей побегов папоротника" -msgstr[3] "горсти побегов папоротника" +msgid "fiddleheads" +msgid_plural "fiddleheads" +msgstr[0] "побег папоротника" +msgstr[1] "побега папоротника" +msgstr[2] "побегов папоротника" +msgstr[3] "побеги папоротника" -#. ~ Description for handful of fiddleheads +#. ~ Description for {'str': 'fiddleheads', 'str_pl': 'fiddleheads'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of immature fern fronds, still curled up like the head of a " @@ -39345,7 +40835,7 @@ msgid "" "intended for use decorating soft surfaces of sweets. Like sugar, they are " "bad for your teeth and surprisingly not very tasty on their own." msgstr "" -"Нопарель, посыпка, сахарная крошка - разноцветные шарики, палочки и хлопья " +"Нонпарель, посыпка, сахарная крошка — разноцветные шарики, палочки и хлопья " "сахара с крахмалом для украшения мягких кондитерских изделий. Как и сахар, " "вредны для зубов и не очень вкусные сами по себе." @@ -40002,8 +41492,8 @@ msgstr[3] "сырые спагетти" #. ~ Description for raw spaghetti pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of pasta usually used when preparing spaghetti. It could be eaten raw" -" if you're desperate, but is much better cooked." +"A type of pasta usually used when preparing spaghetti. It could be eaten " +"raw if you're desperate, but is much better cooked." msgstr "" "Разновидность пасты, обычно из таких готовят спагетти. Можно съесть сырыми, " "если всё совсем плохо, но будет гораздо лучше, если их приготовить." @@ -40019,7 +41509,7 @@ msgstr[3] "сырые лазаньи" #. ~ Description for raw lasagne pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pasta sheet used in making lasagne. It could be eaten raw if you're " +"A pasta sheet used in making lasagne. It could be eaten raw if you're " "desperate, but is much better cooked." msgstr "" "Лист пасты, из которого готовят лазанью. Можно съесть сырым, если всё совсем" @@ -40534,7 +42024,7 @@ msgstr "основа зелья" #: lang/json/COMESTIBLE_from_json.py msgid "" "Strong alcohol, infused with mana and concentrated into a liquid that can " -"stabilize spells into liquid form. You can still drink it, if you want." +"stabilize spells into liquid form. You can still drink it, if you want." msgstr "" "Крепкий спирт, наполненный маной и концентрированный в жидкость, способную " "стабилизировать заклинания в жидкой форме. Если хотите, можете выпить." @@ -40551,11 +42041,11 @@ msgstr[3] "большие надпочечники" #: lang/json/COMESTIBLE_from_json.py msgid "" "An organ located above the kidneys responsible for secretion of adrenaline, " -"cortisol, and aldosterone. This one is huge, whether by nature or mutation." +"cortisol, and aldosterone. This one is huge, whether by nature or mutation." msgstr "" "Орган, расположенный над почками, выделяет адреналин, кортизол и " -"альдостерон. Этот экземпляр просто огромный по естественным причинам или как" -" результат мутации." +"альдостерон. Этот экземпляр просто огромный по естественным причинам или в " +"результате мутации." #: lang/json/COMESTIBLE_from_json.py msgid "dragon essence" @@ -40657,8 +42147,8 @@ msgstr "зомби кукла вуду" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human, including pieces of bone " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" "На удивление точная фигурка зомби с кусочками костей и органов. Некромантия " "задерживает быстрое гниение, но её не хватит навечно. Если пронзить фигурку " @@ -40672,8 +42162,9 @@ msgstr "костяная кукла вуду" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human covered with bone, including" -" pieces of organs. Necromantic magic delays immediate rot, but it won't last" -" forever. Piercing it with the attached needle could compel it to serve you." +" pieces of organs. Necromantic magic delays immediate rot, but it won't " +"last forever. Piercing it with the attached needle could compel it to serve" +" you." msgstr "" "На удивление точная фигурка покрытого костью зомби с кусочками органов. " "Некромантия задерживает быстрое гниение, но её не хватит навечно. Если " @@ -40687,8 +42178,8 @@ msgstr "кукла вуду пумы" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead cougar, complete with fur, bones, " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "" "На удивление точная фигурка зомби-пумы с клочками шерсти, кусочками костей и" " органов. Некромантия задерживает быстрое гниение, но её не хватит навечно. " @@ -40702,8 +42193,8 @@ msgstr "зелье Безумного Исцеления" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal." msgstr "" "Эта плохо пахнущая жидкость стимулирует регенерацию нежити ускоряя ваше " "сердце до опасных значений. Употребление этого в опасности или критическом " @@ -40717,9 +42208,9 @@ msgstr "зелье Улучшенного Безумного Исцеления" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal. Improved infusion techniques lessen the strain of the " -"process." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal. Improved infusion techniques lessen the strain of " +"the process." msgstr "" "Эта плохо пахнущая жидкость стимулирует регенерацию нежити ускоряя ваше " "сердце до опасных значений. Употребление этого в опасности или критическом " @@ -40765,7 +42256,7 @@ msgstr[3] "комки шерсти" #. ~ Description for hairball #: lang/json/COMESTIBLE_from_json.py msgid "" -"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." +"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." msgstr "" "Крупный мерзкий шарик звериной слюны и вылизанных волос. Не ешьте его." @@ -40784,8 +42275,18 @@ msgid "" "same way as other meat, making it obvious that it still retains some magical" " properties." msgstr "" -"Мясо поверженного дракона. Похоже что оно не реагирует на готовку так же как" -" и другое мясо, очевидно что оно сохраняет некоторые магические свойства." +"Мясо поверженного дракона. Похоже что оно не реагирует на готовку как " +"обычное мясо, очевидно что оно сохраняет некоторые магические свойства." + +#: lang/json/COMESTIBLE_from_json.py +msgid "scream mushroom" +msgstr "гриб крикуна" + +#. ~ Description for scream mushroom +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"The mushrooms harvested from a dead shrieker. Could be used in potions." +msgstr "Грибы, собранные с мертвого крикуна. Можно использовать для зелий." #: lang/json/COMESTIBLE_from_json.py msgid "resinous cord" @@ -40815,13 +42316,13 @@ msgstr "" "откусить кусочек, верно?" #: lang/json/COMESTIBLE_from_json.py -msgid "caramel ointement" +msgid "caramel ointment" msgstr "карамельная мазь" -#. ~ Description for caramel ointement +#. ~ Description for caramel ointment #: lang/json/COMESTIBLE_from_json.py msgid "" -"An ointement made of caramel. You could use it to heal your wounds, if you " +"An ointment made of caramel. You could use it to heal your wounds, if you " "were made of sugar." msgstr "" "Мазь, приготовленная из карамели. Если вы сделаны из сахара, ею можно " @@ -41582,15 +43083,6 @@ msgstr[3] "рисовая мука" msgid "This rice flour is useful for baking." msgstr "Эта рисовая мука полезна для выпечки." -#: lang/json/COMESTIBLE_from_json.py -msgid "cholla bud" -msgstr "бутон чоллы" - -#. ~ Description for cholla bud -#: lang/json/COMESTIBLE_from_json.py -msgid "The candy of the Mojave Indigenous peoples." -msgstr "Сладость аборигенов пустыни Мохаве." - #: lang/json/COMESTIBLE_from_json.py msgid "revival serum" msgstr "сыворотка возрождения" @@ -41957,8 +43449,8 @@ msgstr[3] "картонные пакеты" #. ~ Description for paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"It has a threaded cap for easy resealing." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" It has a threaded cap for easy resealing." msgstr "" "Двухлитровый коробчатый пакет из картона, алюминия и пластиковой выстилки. " "Имеется резьбовая пробка для лёгкого закрывания." @@ -41974,8 +43466,8 @@ msgstr[3] "открытые картонные пакеты" #. ~ Description for opened paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"This one is open and its contents will spoil." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" This one is open and its contents will spoil." msgstr "" "Двухлитровый коробчатый пакет из картона, алюминия и пластиковой выстилки. " "Этот пакет открыт, и его содержимое испортится." @@ -42635,8 +44127,8 @@ msgstr[3] "коробки от набора выживальщика" #. ~ Description for survival kit box #: lang/json/CONTAINER_from_json.py msgid "" -"An aluminum box that used to contain a small survival kit. Can hold 1 liter " -"of liquid." +"An aluminum box that used to contain a small survival kit. Can hold 1 liter" +" of liquid." msgstr "" "Алюминиевая коробочка, в которой лежал маленький набор для выживания. " "Вмещает 1 л жидкости." @@ -42764,6 +44256,24 @@ msgstr "" "комфортных для них условиях для получения максимальной урожайности. Для " "посадки семян нужно выбрать рецепт в меню создания предметов." +#: lang/json/CONTAINER_from_json.py +msgid "endless flask" +msgid_plural "endless flasks" +msgstr[0] "бесконечная фляга" +msgstr[1] "бесконечные фляги" +msgstr[2] "бесконечных фляг" +msgstr[3] "бесконечные фляги" + +#. ~ Use action msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "You open the flask and discover it full of sweet, sweet, whiskey!" +msgstr "Вы открываете флягу и обнаруживаете, что она полна сладчайшего виски!" + +#. ~ Use action not_ready_msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "The flask isn't done refilling yet." +msgstr "Фляга еще не заправлена." + #: lang/json/CONTAINER_from_json.py msgid "aluminum foil wrap" msgid_plural "aluminum foil wraps" @@ -43283,8 +44793,8 @@ msgstr[3] "родонит" #. ~ Description for rhodonite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of rhodonite. It has manganese dioxide covering and going through it" -" in veins, which can be obtained using a chisel." +"A chunk of rhodonite. It has manganese dioxide covering and going through " +"it in veins, which can be obtained using a chisel." msgstr "" "Кусок родонита. Он покрыт диоксидом марганца, ветвящимся внутрь минерала " "множеством жилок. Их можно извлечь при помощи долота." @@ -43300,10 +44810,10 @@ msgstr[3] "цинкит" #. ~ Description for zincite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " +"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " "reduction with a source of carbon." msgstr "" -"Кусок цинкита. Может быть переработан в оксид цинка, затем в цинк " +"Кусок цинкита. Может быть переработан в оксид цинка, затем в цинк, " "восстановлением с помощью источника углерода." #: lang/json/GENERIC_from_json.py @@ -43320,105 +44830,105 @@ msgid "A root from a hickory tree. It has an earthy smell." msgstr "Корень дерева гикори. Имеет землистый запах." #: lang/json/GENERIC_from_json.py -msgid "handful of hickory nuts" -msgid_plural "handfuls of hickory nuts" -msgstr[0] "горсть орехов гикори" -msgstr[1] "горсти орехов гикори" -msgstr[2] "горстей орехов гикори" -msgstr[3] "горсти орехов гикори" +msgid "hickory nuts" +msgid_plural "hickory nuts" +msgstr[0] "орех гикори" +msgstr[1] "ореха гикори" +msgstr[2] "орехов гикори" +msgstr[3] "орехи гикори" -#. ~ Description for handful of hickory nuts +#. ~ Description for {'str': 'hickory nuts', 'str_pl': 'hickory nuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hickory tree, still in their shell." msgstr "Горсть твёрдых орехов дерева гикори, по-прежнему в своей скорлупе." #: lang/json/GENERIC_from_json.py -msgid "handful of pecans" -msgid_plural "handfuls of pecans" -msgstr[0] "горсть пекана" -msgstr[1] "горсти пекана" -msgstr[2] "горстей пекана" -msgstr[3] "горсти пекана" +msgid "pecans" +msgid_plural "pecans" +msgstr[0] "орех пекан" +msgstr[1] "ореха пекан" +msgstr[2] "орехов пекан" +msgstr[3] "орехи пекан" -#. ~ Description for handful of pecans +#. ~ Description for {'str': 'pecans', 'str_pl': 'pecans'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pecan tree, still in their shell." msgstr "Горсть твёрдых орехов дерева пекан, всё ещё в скорлупе." #: lang/json/GENERIC_from_json.py -msgid "handful of pistachios" -msgid_plural "handfuls of pistachios" -msgstr[0] "горсть фисташек" -msgstr[1] "горсти фисташек" -msgstr[2] "горстей фисташек" -msgstr[3] "горсти фисташек" +msgid "pistachios" +msgid_plural "pistachios" +msgstr[0] "фисташки" +msgstr[1] "фисташки" +msgstr[2] "фисташки" +msgstr[3] "фисташки" -#. ~ Description for handful of pistachios +#. ~ Description for {'str': 'pistachios', 'str_pl': 'pistachios'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pistachio tree, still in their shell." msgstr "Горсть твёрдых орехов фисташкового дерева, всё ещё в скорлупе." #: lang/json/GENERIC_from_json.py -msgid "handful of almonds" -msgid_plural "handfuls of almonds" -msgstr[0] "горсть миндаля" -msgstr[1] "горсти миндаля" -msgstr[2] "горстей миндаля" -msgstr[3] "горсти миндаля" +msgid "almonds" +msgid_plural "almonds" +msgstr[0] "миндаль" +msgstr[1] "миндаль" +msgstr[2] "миндаль" +msgstr[3] "миндаль" -#. ~ Description for handful of almonds +#. ~ Description for {'str': 'almonds', 'str_pl': 'almonds'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a almond tree, still in their shell." msgstr "Горсть твёрдых орехов миндального дерева, всё ещё в скорлупе." #: lang/json/GENERIC_from_json.py -msgid "handful of peanuts" -msgid_plural "handfuls of peanuts" -msgstr[0] "горсть арахиса" -msgstr[1] "горсти арахиса" -msgstr[2] "горстей арахиса" -msgstr[3] "горсти арахиса" +msgid "peanuts" +msgid_plural "peanuts" +msgstr[0] "арахис" +msgstr[1] "арахис" +msgstr[2] "арахис" +msgstr[3] "арахис" -#. ~ Description for handful of peanuts +#. ~ Description for {'str': 'peanuts', 'str_pl': 'peanuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a peanut bush, still in their shell." msgstr "Горсть твёрдых орехов арахисового кустарника, всё ещё в скорлупе." #: lang/json/GENERIC_from_json.py -msgid "handful of hazelnuts" -msgid_plural "handfuls of hazelnuts" -msgstr[0] "горсть лещины" -msgstr[1] "горсти лещины" -msgstr[2] "горстей лещины" -msgstr[3] "горсти лещины" +msgid "hazelnuts" +msgid_plural "hazelnuts" +msgstr[0] "фундук" +msgstr[1] "фундук" +msgstr[2] "фундук" +msgstr[3] "фундук" -#. ~ Description for handful of hazelnuts +#. ~ Description for {'str': 'hazelnuts', 'str_pl': 'hazelnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hazelnut tree, still in their shell." msgstr "Горсть твёрдых орехов лещины, всё ещё в скорлупе." #: lang/json/GENERIC_from_json.py -msgid "handful of chestnuts" -msgid_plural "handfuls of chestnuts" -msgstr[0] "горсть каштанов" -msgstr[1] "горсти каштанов" -msgstr[2] "горстей каштанов" -msgstr[3] "горсти каштанов" +msgid "chestnuts" +msgid_plural "chestnuts" +msgstr[0] "каштан" +msgstr[1] "каштана" +msgstr[2] "каштанов" +msgstr[3] "каштаны" -#. ~ Description for handful of chestnuts +#. ~ Description for {'str': 'chestnuts', 'str_pl': 'chestnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a chestnut tree, still in their shell." msgstr "Горсть твёрдых орехов каштанового дерева, всё ещё в скорлупе." #: lang/json/GENERIC_from_json.py -msgid "handful of walnuts" -msgid_plural "handfuls of walnuts" -msgstr[0] "горсть грецких орехов" -msgstr[1] "горсти грецких орехов" -msgstr[2] "горстей грецких орехов" -msgstr[3] "горсти грецких орехов" +msgid "walnuts" +msgid_plural "walnuts" +msgstr[0] "грецкий орех" +msgstr[1] "грецких ореха" +msgstr[2] "грецких орехов" +msgstr[3] "грецкие орехи" -#. ~ Description for handful of walnuts +#. ~ Description for {'str': 'walnuts', 'str_pl': 'walnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a walnut tree, still in their shell." msgstr "Горсть твёрдых грецких орехов, всё ещё в скорлупе." @@ -43588,7 +45098,7 @@ msgstr "Труп, покрытый свернувшейся кровью." #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"A dead body with a frightful grimace. He appears to have been horribly " +"A dead body with a frightful grimace. He appears to have been horribly " "mangled prior to his death." msgstr "" "Труп с пугающим выражением лица. Похоже, его сильно изувечило перед смертью." @@ -43615,7 +45125,7 @@ msgstr "" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"The upper half of a dead body, as if torn apart with enormous force. Some " +"The upper half of a dead body, as if torn apart with enormous force. Some " "organs are hanging out." msgstr "" "Верхняя половина трупа, будто бы разорванного невероятной силищей. Часть " @@ -43737,6 +45247,14 @@ msgstr "мускулатура" msgid "wind" msgstr "ветер" +#: lang/json/GENERIC_from_json.py +msgid "metabolism" +msgid_plural "metabolisms" +msgstr[0] "метаболизм" +msgstr[1] "метаболизма" +msgstr[2] "метаболизмов" +msgstr[3] "метаболизмы" + #: lang/json/GENERIC_from_json.py msgid "a smoking device and a source of flame" msgstr "приспособление для курения и источник огня" @@ -43758,6 +45276,39 @@ msgstr "" "Несколько документов с разнообразной информацией, данными о клиентах и " "графиками, собранные вместе. В настоящее время — бесполезная макулатура." +#: lang/json/GENERIC_from_json.py +msgid "INCIDENT REPORT: IMMERSION-27A" +msgid_plural "INCIDENT REPORT: IMMERSION-27As" +msgstr[0] "ИНФОРМАЦИОННЫЙ ОТЧЕТ: ПОГРУЖЕНИЕ-27А" +msgstr[1] "ИНФОРМАЦИОННЫХ ОТЧЕТА: ПОГРУЖЕНИЕ-27А" +msgstr[2] "ИНФОРМАЦИОННЫХ ОТЧЕТА: ПОГРУЖЕНИЕ-27А" +msgstr[3] "ИНФОРМАЦИОННЫЕ ОТЧЕТЫ: ПОГРУЖЕНИЕ-27А" + +#. ~ Description for INCIDENT REPORT: IMMERSION-27A +#: lang/json/GENERIC_from_json.py +msgid "" +"A white piece of paper, with the logo of XEDRA printed on its upper left " +"corner. It seems to be an internal report of some kind." +msgstr "" +"Белый лист бумаги с логотипом XEDRA, напечатанным в левом верхнем углу. " +"Похоже, что это внутренний отчет." + +#: lang/json/GENERIC_from_json.py +msgid "MATERIAL: T-SUBSTRATE" +msgid_plural "MATERIAL: T-SUBSTRATEs" +msgstr[0] "МАТЕРИАЛ: Т-ПОДЛОЖКА" +msgstr[1] "МАТЕРИАЛА: Т-ПОДЛОЖКА" +msgstr[2] "МАТЕРИАЛОВ: Т-ПОДЛОЖКА" +msgstr[3] "МАТЕРИАЛЫ: Т-ПОДЛОЖКА" + +#: lang/json/GENERIC_from_json.py +msgid "HAADF MICROGRAPH: T-SUBSTRATE" +msgid_plural "HAADF MICROGRAPH: T-SUBSTRATEs" +msgstr[0] "HAADF МИКРОСКОПИЯ: Т-ПОДЛОЖКА" +msgstr[1] "HAADF МИКРОСКОПИИ: Т-ПОДЛОЖКА" +msgstr[2] "HAADF МИКРОСКОПИЙ: Т-ПОДЛОЖКА" +msgstr[3] "HAADF МИКРОСКОПИИ: Т-ПОДЛОЖКА" + #: lang/json/GENERIC_from_json.py msgid "foodplace loyalty card" msgid_plural "foodplace loyalty cards" @@ -43770,7 +45321,7 @@ msgstr[3] "скидочные карты «Сядь-и-поешь»" #: lang/json/GENERIC_from_json.py msgid "" "A bright pink loyalty card, all the points are stamped. This would " -"definitely prove your fidelity to Foodplace, if it still meant anything..." +"definitely prove your fidelity to Foodplace, if it still meant anything…" msgstr "" "Ярко-розовая карта скидок, все пункты проштампованы. Это определенно " "доказало бы вашу верность «Сядь-и-поешь», если бы это все еще что-то " @@ -43949,8 +45500,8 @@ msgstr[3] "сотни керамических дисков" #. ~ Description for set of 100 ceramic disk #: lang/json/GENERIC_from_json.py msgid "" -"A set of small slightly elongated disks, made of high-grade ceramic. They " -"remind you of scales" +"A set of small slightly elongated disks, made of high-grade ceramic. They " +"remind you of scales." msgstr "" "Множество маленьких слегка продолговатых дисков из высококачественной " "керамики. Они напоминают чешуйки." @@ -44021,6 +45572,21 @@ msgstr "" "Войлочные лоскуты, крепко связанные для удобства хранения. Разберите для " "распаковки." +#: lang/json/GENERIC_from_json.py +msgid "t-substrate sample" +msgid_plural "t-substrate samples" +msgstr[0] "образец т-подложки" +msgstr[1] "образца т-подложки" +msgstr[2] "образцов т-подложки" +msgstr[3] "образцы т-подложки" + +#. ~ Description for t-substrate sample +#: lang/json/GENERIC_from_json.py +msgid "" +"An acrylic cube cast around a small black crystal. It's tepid to the touch." +msgstr "" +"Акриловый кубик, прохладный на ощупь. Внутри маленький черный кристалл." + #: lang/json/GENERIC_from_json.py msgid "biollante bud" msgid_plural "biollante buds" @@ -44322,6 +45888,20 @@ msgstr "" "Кусок арматуры, может послужить неплохим холодным оружием, а также весьма " "полезным строительным инструментом для укрепления стен и прочего." +#: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "small railroad track" +msgid_plural "small railroad tracks" +msgstr[0] "маленький ж/д путь" +msgstr[1] "маленьких ж/д пути" +msgstr[2] "маленьких ж/д путей" +msgstr[3] "маленькие ж/д пути" + +#. ~ Description for small railroad track +#: lang/json/GENERIC_from_json.py +msgid "A length of track, made from some planks and rails." +msgstr "Длинный путь, уложенный из шпал и рельс." + #: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py msgid "concrete" msgid_plural "concrete" @@ -44395,23 +45975,6 @@ msgid "" "A large, heavy-duty spring. Expands with significant force when compressed." msgstr "Крупная сверхпрочная пружина. После сжатия резко разжимается обратно." -#: lang/json/GENERIC_from_json.py -msgid "leaf spring" -msgid_plural "leaf springs" -msgstr[0] "рессора" -msgstr[1] "рессоры" -msgstr[2] "рессор" -msgstr[3] "рессора" - -#. ~ Description for leaf spring -#: lang/json/GENERIC_from_json.py -msgid "" -"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" -" an awful lot like a bow. You can barely bend it..." -msgstr "" -"Большая, мощная листовая рессора. Вероятно, от какого-то автомобиля или " -"грузовика, сильно напоминает лук. Вы можете едва согнуть её…" - #: lang/json/GENERIC_from_json.py msgid "lawnmower" msgid_plural "lawnmowers" @@ -45116,9 +46679,9 @@ msgstr "" msgid "burnt out bionic" msgid_plural "burnt out bionics" msgstr[0] "перегоревшая бионика" -msgstr[1] "перегоревших бионики" +msgstr[1] "перегоревшие бионики" msgstr[2] "перегоревших бионик" -msgstr[3] "перегоревшая бионика" +msgstr[3] "перегоревшие бионики" #. ~ Description for burnt out bionic #: lang/json/GENERIC_from_json.py @@ -45223,8 +46786,8 @@ msgid "electronic scrap" msgid_plural "electronic scraps" msgstr[0] "электронный компонент" msgstr[1] "электронных компонента" -msgstr[2] "электронных компонентов" -msgstr[3] "электронный компонент" +msgstr[2] "электронных компонент" +msgstr[3] "электронные компоненты" #. ~ Description for electronic scrap #: lang/json/GENERIC_from_json.py @@ -45564,7 +47127,7 @@ msgstr[3] "SD-карта с научными данными" #: lang/json/GENERIC_from_json.py msgid "" "This memory card appears to be related to 'XEDRA', and is certainly " -"encrypted. Looks * Interesting *, though..." +"encrypted. Looks *Interesting*, though…" msgstr "" "Похоже, на этой карте памяти есть информация по «XEDRA». Естественно, всё " "зашифровано. Однако всё равно это интересно…" @@ -45632,19 +47195,6 @@ msgstr "" "Колючая сосновая шишка. Если её встряхнуть, то можно услышать, как стучат " "сухие семена." -#: lang/json/GENERIC_from_json.py -msgid "poppy flower" -msgid_plural "poppy flowers" -msgstr[0] "маковый цветок" -msgstr[1] "маковых цветка" -msgstr[2] "маковых цветков" -msgstr[3] "маковый цветок" - -#. ~ Description for poppy flower -#: lang/json/GENERIC_from_json.py -msgid "A poppy stalk with some petals." -msgstr "Стебель мака с несколькими лепестками." - #: lang/json/GENERIC_from_json.py msgid "poppy bud" msgid_plural "poppy buds" @@ -45662,271 +47212,6 @@ msgstr "" "Маковый бутон. Содержит некоторые вещества, получаемые из мутировавшего " "цветка мака." -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "bluebell" -msgid_plural "bluebells" -msgstr[0] "колокольчик" -msgstr[1] "колокольчика" -msgstr[2] "колокольчиков" -msgstr[3] "колокольчик" - -#. ~ Description for bluebell -#: lang/json/GENERIC_from_json.py -msgid "A bluebell stalk with some petals." -msgstr "Стебель колокольчика с несколькими лепестками." - -#: lang/json/GENERIC_from_json.py -msgid "bluebell bud" -msgid_plural "bluebell buds" -msgstr[0] "бутон колокольчика" -msgstr[1] "бутона колокольчиков" -msgstr[2] "бутонов колокольчиков" -msgstr[3] "бутон колокольчика" - -#. ~ Description for bluebell bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A bluebell bud. Contains some substances commonly produced by a bluebell " -"flower." -msgstr "" -"Бутон колокольчика. Содержит некоторые вещества, выделяемые цветком " -"колокольчика." - -#. ~ Description for dahlia -#: lang/json/GENERIC_from_json.py -msgid "A dahlia stalk with some petals." -msgstr "Стебель георгина с несколькими лепестками." - -#: lang/json/GENERIC_from_json.py -msgid "dahlia bud" -msgid_plural "dahlia buds" -msgstr[0] "бутон георгина" -msgstr[1] "бутона георгина" -msgstr[2] "бутонов георгин" -msgstr[3] "бутон георгина" - -#. ~ Description for dahlia bud -#: lang/json/GENERIC_from_json.py -msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." -msgstr "" -"Бутон георгина. Содержит некоторые вещества, выделяемые цветком георгина." - -#. ~ Description for rose -#: lang/json/GENERIC_from_json.py -msgid "A rose stalk with some petals." -msgstr "Стебель розы с несколькими лепестками." - -#: lang/json/GENERIC_from_json.py -msgid "rose bud" -msgid_plural "rose buds" -msgstr[0] "бутон розы" -msgstr[1] "бутона розы" -msgstr[2] "бутонов розы" -msgstr[3] "бутон розы" - -#. ~ Description for rose bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A rose bud. Contains some substances commonly produced by a rose flower." -msgstr "Бутон розы. Содержит некоторые вещества, выделяемые цветком розы." - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea" -msgid_plural "hydrangeas" -msgstr[0] "гортензия" -msgstr[1] "гортензии" -msgstr[2] "гортензий" -msgstr[3] "гортензия" - -#. ~ Description for hydrangea -#: lang/json/GENERIC_from_json.py -msgid "A hydrangea stalk with some petals." -msgstr "Стебель гортензии с несколькими лепестками." - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea bud" -msgid_plural "hydrangea buds" -msgstr[0] "бутон гортензии" -msgstr[1] "бутона гортензии" -msgstr[2] "бутонов гортензии" -msgstr[3] "бутон гортензии" - -#. ~ Description for hydrangea bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A hydrangea bud. Contains some substances commonly produced by a hydrangea " -"flower." -msgstr "" -"Бутон гортензии. Содержит некоторые вещества, выделяемые цветком гортензии." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "tulip" -msgid_plural "tulips" -msgstr[0] "тюльпан" -msgstr[1] "тюльпана" -msgstr[2] "тюльпанов" -msgstr[3] "тюльпан" - -#. ~ Description for tulip -#: lang/json/GENERIC_from_json.py -msgid "A tulip stalk with some petals." -msgstr "Стебель тюльпана с несколькими лепестками." - -#: lang/json/GENERIC_from_json.py -msgid "tulip bud" -msgid_plural "tulip buds" -msgstr[0] "бутон тюльпана" -msgstr[1] "бутона тюльпана" -msgstr[2] "бутонов тюльпана" -msgstr[3] "бутон тюльпана" - -#. ~ Description for tulip bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A tulip bud. Contains some substances commonly produced by a tulip flower." -msgstr "" -"Бутон тюльпана. Содержит некоторые вещества, выделяемые цветком тюльпана." - -#: lang/json/GENERIC_from_json.py -msgid "spurge" -msgid_plural "spurges" -msgstr[0] "молочай" -msgstr[1] "молочая" -msgstr[2] "молочаев" -msgstr[3] "молочай" - -#. ~ Description for spurge -#: lang/json/GENERIC_from_json.py -msgid "A spurge stalk with some petals." -msgstr "Стебель молочая с несколькими лепестками." - -#: lang/json/GENERIC_from_json.py -msgid "spurge bud" -msgid_plural "spurge buds" -msgstr[0] "бутон молочая" -msgstr[1] "бутона молочая" -msgstr[2] "бутонов молочая" -msgstr[3] "бутон молочая" - -#. ~ Description for spurge bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A spurge bud. Contains some substances commonly produced by a spurge " -"flower." -msgstr "" -"Бутон молочая. Содержит некоторые вещества, выделяемые цветком молочая." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "black eyed susan" -msgid_plural "black eyed susans" -msgstr[0] "черноглазая сюзанна" -msgstr[1] "черноглазые сюзанны" -msgstr[2] "черноглазых сюзанн" -msgstr[3] "черноглазая сюзанна" - -#. ~ Description for black eyed susan -#: lang/json/GENERIC_from_json.py -msgid "A black eyed susan stalk with some petals." -msgstr "Стебель черноглазой сюзанны с несколькими лепестками." - -#: lang/json/GENERIC_from_json.py -msgid "black eyed susan bud" -msgid_plural "black eyed susan buds" -msgstr[0] "бутон черноглазой сюзанны" -msgstr[1] "бутона черноглазой сюзанны" -msgstr[2] "бутонов черноглазой сюзанны" -msgstr[3] "бутон черноглазой сюзанны" - -#. ~ Description for black eyed susan bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A black eyed susan bud. Contains some substances commonly produced by a " -"black eyed susan flower." -msgstr "" -"Бутон черноглазой сюзанны. Содержит некоторые вещества, выделяемые цветком " -"черноглазой сюзанны." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lily" -msgid_plural "lilys" -msgstr[0] "лилия" -msgstr[1] "лилии" -msgstr[2] "лилий" -msgstr[3] "лилия" - -#. ~ Description for lily -#: lang/json/GENERIC_from_json.py -msgid "A lily stalk with some petals." -msgstr "Стебель лилии с несколькими лепестками." - -#: lang/json/GENERIC_from_json.py -msgid "lily bud" -msgid_plural "lily buds" -msgstr[0] "бутон лилии" -msgstr[1] "бутона лилии" -msgstr[2] "бутонов лилии" -msgstr[3] "бутон лилии" - -#. ~ Description for lily bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lily bud. Contains some substances commonly produced by a lily flower." -msgstr "Бутон лилии. Содержит некоторые вещества, выделяемые цветком лилии." - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lotus" -msgid_plural "lotuss" -msgstr[0] "лотос" -msgstr[1] "лотоса" -msgstr[2] "лотосов" -msgstr[3] "лотос" - -#. ~ Description for lotus -#: lang/json/GENERIC_from_json.py -msgid "A lotus stalk with some petals." -msgstr "Стебель лотоса с несколькими лепестками." - -#: lang/json/GENERIC_from_json.py -msgid "lotus bud" -msgid_plural "lotus buds" -msgstr[0] "бутон лотоса" -msgstr[1] "бутона лотоса" -msgstr[2] "бутонов лотоса" -msgstr[3] "бутон лотоса" - -#. ~ Description for lotus bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lotus bud. Contains some substances commonly produced by a lotus flower." -msgstr "Бутон лотоса. Содержит некоторые вещества, выделяемые цветком лотоса." - -#: lang/json/GENERIC_from_json.py -msgid "lilac" -msgid_plural "lilacs" -msgstr[0] "сирень" -msgstr[1] "сирени" -msgstr[2] "сиреней" -msgstr[3] "сирень" - -#. ~ Description for lilac -#: lang/json/GENERIC_from_json.py -msgid "A lilac stalk with some petals." -msgstr "Стебель сирени с несколькими лепестками." - -#: lang/json/GENERIC_from_json.py -msgid "lilac bud" -msgid_plural "lilac buds" -msgstr[0] "бутон сирени" -msgstr[1] "бутона сирени" -msgstr[2] "бутонов сирени" -msgstr[3] "бутон сирени" - -#. ~ Description for lilac bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lilac bud. Contains some substances commonly produced by a lilac flower." -msgstr "Бутон сирени. Содержит некоторые вещества, выделяемые цветком сирени." - #. ~ Description for sunflower #: lang/json/GENERIC_from_json.py msgid "" @@ -45937,14 +47222,15 @@ msgstr "" "съедены животными." #: lang/json/GENERIC_from_json.py -msgid "handful of chamomile flowers" -msgid_plural "handfuls of chamomile flowers" -msgstr[0] "пригоршня цветков ромашки" -msgstr[1] "пригоршни цветков ромашки" -msgstr[2] "пригоршней цветков ромашки" -msgstr[3] "пригоршни цветков ромашки" +msgid "chamomile flowers" +msgid_plural "chamomile flowers" +msgstr[0] "цветок ромашки" +msgstr[1] "цветка ромашки" +msgstr[2] "цветков ромашки" +msgstr[3] "цветы ромашки" -#. ~ Description for handful of chamomile flowers +#. ~ Description for {'str': 'chamomile flowers', 'str_pl': 'chamomile +#. flowers'} #: lang/json/GENERIC_from_json.py msgid "" "White chamomile flowers, used as a herbal remedy since the ancient times." @@ -46282,12 +47568,14 @@ msgstr "Пачка купюр по 20 долларов, теперь уже со #. ~ Use action menu_text for cigar. #. ~ Use action menu_text for cigarette. #. ~ Use action menu_text for joint. +#. ~ Use action menu_text for spooky jack o'lantern. +#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for candle. #. ~ Use action menu_text for refillable lighter. #. ~ Use action menu_text for torch. -#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for ember carrier (lit). #. ~ Use action menu_text for Louisville Slaughterer. +#. ~ Use action menu_text for everburning torch. #: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py msgid "Extinguish" @@ -46343,10 +47631,10 @@ msgstr[3] "окурок сигареты" #: lang/json/GENERIC_from_json.py msgid "" "What was once a wonderfully addictive tube of dried tobacco leaf is now just a smelly piece of trash. What a tragedy!\n" -"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far..." +"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far…" msgstr "" -"То, что раньше было чудесной трубочкой высушенного табачного листа, в настоящее время лишь вонючий кусок мусора. Какая трагедия!\n" -"Остатки табака в некоторых из них, вероятно, могут быть использованы, чтобы скрутить ещё одну сигарету. Если вы готовы зайти так далеко…" +"То, что раньше было чудесной трубочкой высушенного табачного листа, в настоящее время лишь вонючая кучка мусора. Какая трагедия!\n" +"Остатки табака, вероятно, могут быть использованы, чтобы скрутить ещё одну сигаретку. Если вы готовы зайти так далеко…" #. ~ Use action msg for joint. #: lang/json/GENERIC_from_json.py @@ -46400,13 +47688,13 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "raw tobacco" -msgid_plural "handfuls of raw tobacco" +msgid_plural "raw tobacco" msgstr[0] "сырой табак" -msgstr[1] "сырого табака" -msgstr[2] "сырого табака" +msgstr[1] "сырых табака" +msgstr[2] "сырой табак" msgstr[3] "сырой табак" -#. ~ Description for raw tobacco +#. ~ Description for {'str': 'raw tobacco', 'str_pl': 'raw tobacco'} #: lang/json/GENERIC_from_json.py msgid "" "Various parts of tobacco plant, full of nicotine. They need to be dried to " @@ -46472,14 +47760,6 @@ msgstr "" "Пропуск является гарантом доступа в определённые места через терминал, если " "конечно найти куда его вставлять." -#: lang/json/GENERIC_from_json.py -msgid "neoprene sheet" -msgid_plural "neoprene sheets" -msgstr[0] "лист неопрена" -msgstr[1] "листа неопрена" -msgstr[2] "листов неопрена" -msgstr[3] "лист неопрена" - #. ~ Description for neoprene sheet #: lang/json/GENERIC_from_json.py msgid "" @@ -47780,6 +49060,301 @@ msgstr[1] "записки" msgstr[2] "записок" msgstr[3] "записки" +#: lang/json/GENERIC_from_json.py +msgid "leaf spring" +msgid_plural "leaf springs" +msgstr[0] "рессора" +msgstr[1] "рессоры" +msgstr[2] "рессор" +msgstr[3] "рессора" + +#. ~ Description for leaf spring +#: lang/json/GENERIC_from_json.py +msgid "" +"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" +" an awful lot like a bow. You can barely bend it…" +msgstr "" +"Большая, мощная листовая рессора. Вероятно, от какого-то автомобиля или " +"грузовика, сильно напоминает лук. Вы едва можете согнуть её…" + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea" +msgid_plural "hydrangeas" +msgstr[0] "гортензия" +msgstr[1] "гортензии" +msgstr[2] "гортензий" +msgstr[3] "гортензия" + +#. ~ Description for hydrangea +#: lang/json/GENERIC_from_json.py +msgid "A hydrangea stalk with some petals." +msgstr "Стебель гортензии с несколькими лепестками." + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea bud" +msgid_plural "hydrangea buds" +msgstr[0] "бутон гортензии" +msgstr[1] "бутона гортензии" +msgstr[2] "бутонов гортензии" +msgstr[3] "бутон гортензии" + +#. ~ Description for hydrangea bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A hydrangea bud. Contains some substances commonly produced by a hydrangea " +"flower." +msgstr "" +"Бутон гортензии. Содержит некоторые вещества, выделяемые цветком гортензии." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "tulip" +msgid_plural "tulips" +msgstr[0] "тюльпан" +msgstr[1] "тюльпана" +msgstr[2] "тюльпанов" +msgstr[3] "тюльпан" + +#. ~ Description for tulip +#: lang/json/GENERIC_from_json.py +msgid "A tulip stalk with some petals." +msgstr "Стебель тюльпана с несколькими лепестками." + +#: lang/json/GENERIC_from_json.py +msgid "tulip bud" +msgid_plural "tulip buds" +msgstr[0] "бутон тюльпана" +msgstr[1] "бутона тюльпана" +msgstr[2] "бутонов тюльпана" +msgstr[3] "бутон тюльпана" + +#. ~ Description for tulip bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A tulip bud. Contains some substances commonly produced by a tulip flower." +msgstr "" +"Бутон тюльпана. Содержит некоторые вещества, выделяемые цветком тюльпана." + +#: lang/json/GENERIC_from_json.py +msgid "spurge" +msgid_plural "spurges" +msgstr[0] "молочай" +msgstr[1] "молочая" +msgstr[2] "молочаев" +msgstr[3] "молочай" + +#. ~ Description for spurge +#: lang/json/GENERIC_from_json.py +msgid "A spurge stalk with some petals." +msgstr "Стебель молочая с несколькими лепестками." + +#: lang/json/GENERIC_from_json.py +msgid "spurge bud" +msgid_plural "spurge buds" +msgstr[0] "бутон молочая" +msgstr[1] "бутона молочая" +msgstr[2] "бутонов молочая" +msgstr[3] "бутон молочая" + +#. ~ Description for spurge bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A spurge bud. Contains some substances commonly produced by a spurge " +"flower." +msgstr "" +"Бутон молочая. Содержит некоторые вещества, выделяемые цветком молочая." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "black eyed susan" +msgid_plural "black eyed susans" +msgstr[0] "черноглазая сюзанна" +msgstr[1] "черноглазые сюзанны" +msgstr[2] "черноглазых сюзанн" +msgstr[3] "черноглазая сюзанна" + +#. ~ Description for black eyed susan +#: lang/json/GENERIC_from_json.py +msgid "A black eyed susan stalk with some petals." +msgstr "Стебель черноглазой сюзанны с несколькими лепестками." + +#: lang/json/GENERIC_from_json.py +msgid "black eyed susan bud" +msgid_plural "black eyed susan buds" +msgstr[0] "бутон черноглазой сюзанны" +msgstr[1] "бутона черноглазой сюзанны" +msgstr[2] "бутонов черноглазой сюзанны" +msgstr[3] "бутон черноглазой сюзанны" + +#. ~ Description for black eyed susan bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A black eyed susan bud. Contains some substances commonly produced by a " +"black eyed susan flower." +msgstr "" +"Бутон черноглазой сюзанны. Содержит некоторые вещества, выделяемые цветком " +"черноглазой сюзанны." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lily" +msgid_plural "lilys" +msgstr[0] "лилия" +msgstr[1] "лилии" +msgstr[2] "лилий" +msgstr[3] "лилия" + +#. ~ Description for lily +#: lang/json/GENERIC_from_json.py +msgid "A lily stalk with some petals." +msgstr "Стебель лилии с несколькими лепестками." + +#: lang/json/GENERIC_from_json.py +msgid "lily bud" +msgid_plural "lily buds" +msgstr[0] "бутон лилии" +msgstr[1] "бутона лилии" +msgstr[2] "бутонов лилии" +msgstr[3] "бутон лилии" + +#. ~ Description for lily bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lily bud. Contains some substances commonly produced by a lily flower." +msgstr "Бутон лилии. Содержит некоторые вещества, выделяемые цветком лилии." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lotus" +msgid_plural "lotuss" +msgstr[0] "лотос" +msgstr[1] "лотоса" +msgstr[2] "лотосов" +msgstr[3] "лотос" + +#. ~ Description for lotus +#: lang/json/GENERIC_from_json.py +msgid "A lotus stalk with some petals." +msgstr "Стебель лотоса с несколькими лепестками." + +#: lang/json/GENERIC_from_json.py +msgid "lotus bud" +msgid_plural "lotus buds" +msgstr[0] "бутон лотоса" +msgstr[1] "бутона лотоса" +msgstr[2] "бутонов лотоса" +msgstr[3] "бутон лотоса" + +#. ~ Description for lotus bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lotus bud. Contains some substances commonly produced by a lotus flower." +msgstr "Бутон лотоса. Содержит некоторые вещества, выделяемые цветком лотоса." + +#: lang/json/GENERIC_from_json.py +msgid "lilac" +msgid_plural "lilacs" +msgstr[0] "сирень" +msgstr[1] "сирени" +msgstr[2] "сиреней" +msgstr[3] "сирень" + +#. ~ Description for lilac +#: lang/json/GENERIC_from_json.py +msgid "A lilac stalk with some petals." +msgstr "Стебель сирени с несколькими лепестками." + +#: lang/json/GENERIC_from_json.py +msgid "lilac bud" +msgid_plural "lilac buds" +msgstr[0] "бутон сирени" +msgstr[1] "бутона сирени" +msgstr[2] "бутонов сирени" +msgstr[3] "бутон сирени" + +#. ~ Description for lilac bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lilac bud. Contains some substances commonly produced by a lilac flower." +msgstr "Бутон сирени. Содержит некоторые вещества, выделяемые цветком сирени." + +#: lang/json/GENERIC_from_json.py +msgid "rose bud" +msgid_plural "rose buds" +msgstr[0] "бутон розы" +msgstr[1] "бутона розы" +msgstr[2] "бутонов розы" +msgstr[3] "бутон розы" + +#. ~ Description for rose bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A rose bud. Contains some substances commonly produced by a rose flower." +msgstr "Бутон розы. Содержит некоторые вещества, выделяемые цветком розы." + +#: lang/json/GENERIC_from_json.py +msgid "dahlia bud" +msgid_plural "dahlia buds" +msgstr[0] "бутон георгина" +msgstr[1] "бутона георгина" +msgstr[2] "бутонов георгин" +msgstr[3] "бутон георгина" + +#. ~ Description for dahlia bud +#: lang/json/GENERIC_from_json.py +msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." +msgstr "" +"Бутон георгина. Содержит некоторые вещества, выделяемые цветком георгина." + +#. ~ Description for rose +#: lang/json/GENERIC_from_json.py +msgid "A rose stalk with some petals." +msgstr "Стебель розы с несколькими лепестками." + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "bluebell" +msgid_plural "bluebells" +msgstr[0] "колокольчик" +msgstr[1] "колокольчика" +msgstr[2] "колокольчиков" +msgstr[3] "колокольчик" + +#. ~ Description for bluebell +#: lang/json/GENERIC_from_json.py +msgid "A bluebell stalk with some petals." +msgstr "Стебель колокольчика с несколькими лепестками." + +#. ~ Description for dahlia +#: lang/json/GENERIC_from_json.py +msgid "A dahlia stalk with some petals." +msgstr "Стебель георгина с несколькими лепестками." + +#: lang/json/GENERIC_from_json.py +msgid "poppy flower" +msgid_plural "poppy flowers" +msgstr[0] "маковый цветок" +msgstr[1] "маковых цветка" +msgstr[2] "маковых цветков" +msgstr[3] "маковый цветок" + +#. ~ Description for poppy flower +#: lang/json/GENERIC_from_json.py +msgid "A poppy stalk with some petals." +msgstr "Стебель мака с несколькими лепестками." + +#: lang/json/GENERIC_from_json.py +msgid "bluebell bud" +msgid_plural "bluebell buds" +msgstr[0] "бутон колокольчика" +msgstr[1] "бутона колокольчиков" +msgstr[2] "бутонов колокольчиков" +msgstr[3] "бутон колокольчика" + +#. ~ Description for bluebell bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A bluebell bud. Contains some substances commonly produced by a bluebell " +"flower." +msgstr "" +"Бутон колокольчика. Содержит некоторые вещества, выделяемые цветком " +"колокольчика." + #: lang/json/GENERIC_from_json.py msgid "module template" msgid_plural "module templates" @@ -48298,7 +49873,7 @@ msgstr[3] "атомная кофемашина" #: lang/json/GENERIC_from_json.py msgid "" "This is a Curie-G coffeemaker, by CuppaTech. It famously uses a radioactive" -" generator to heat water for coffee. Normally the water is heated using " +" generator to heat water for coffee. Normally the water is heated using " "energy stored in a capacitor, and makes ordinary coffee. However, as a " "special feature, water from the RTG containment area can be used, giving the" " coffee a very special kick. The Curie-G is illegal in most countries." @@ -48320,7 +49895,9 @@ msgstr[3] "атомная лампа" #. ~ Use action menu_text for atomic lamp. #. ~ Use action menu_text for atomic reading light. #. ~ Use action menu_text for magical reading light. -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp. +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Close cover" msgstr "Закрыть крышку" @@ -48355,7 +49932,9 @@ msgstr[3] "атомная лампа (закрыто)" #. ~ Use action menu_text for atomic lamp (covered). #. ~ Use action menu_text for atomic reading light (covered). #. ~ Use action menu_text for magical reading light (covered). -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp (covered). +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Open cover" msgstr "Открыть крышку" @@ -48714,11 +50293,11 @@ msgstr[3] "крюк-кошка" #: lang/json/GENERIC_from_json.py msgid "" "A folding grappling hook attached to a stout 30-foot long piece of " -"lightweight cord. Useful for keeping yourself safe from falls. Can be used " -"in place of a long rope for butchering, in a pinch." +"lightweight cord. Useful for keeping yourself safe from falls. Can be used" +" in place of a long rope for butchering, in a pinch." msgstr "" -"Складной крюк, привязанный к прочной десятиметровой верёвке. Полезна для " -"спасения от падений. В крайнем случае сгодится как замена верёвке при " +"Складной крюк, привязанный к прочной десятиметровой верёвке. Полезен для " +"спасения от падений. В крайнем случае, сгодится как замена верёвке при " "разделке." #: lang/json/GENERIC_from_json.py @@ -49748,31 +51327,28 @@ msgstr[3] "Прекрасная Весна" #. ~ Description for Beautiful Springtime #: lang/json/GENERIC_from_json.py -msgid "" -"A complete guide to Wing Chun Kung-fu. Includes a section on butterfly " -"swords and the use of long poles at the end." -msgstr "" -"Полное руководство по кунг-фу Винь-Чунь. Включает раздел о мечах-бабочках и " -"использовании длинных шестов." +msgid "A complete guide to Wing Chun Kung-fu." +msgstr "Подробное руководство по вин-чун кунг-фу." #: lang/json/GENERIC_from_json.py lang/json/martial_art_from_json.py +#: lang/json/martial_art_from_json.py msgid "Fior Di Battaglia" msgid_plural "Fior Di Battaglia" msgstr[0] "\"Цветок Битвы\"" msgstr[1] "\"Цветок Битвы\"" msgstr[2] "\"Цветок Битвы\"" -msgstr[3] "\"Цветок Битвы\"" +msgstr[3] "«Цветок Битвы»" #. ~ Description for Fior Di Battaglia #: lang/json/GENERIC_from_json.py msgid "" "A completely translated medieval guide teaching various techniques with " -"polearms, there is a chapter about the many variations of common polearms..." -" there are even pictures!" +"polearms, there is a chapter about the many variations of common polearms… " +"there are even pictures!" msgstr "" "Полностью переведённое средневековое руководство по различным техникам " "обращения с древковым оружием, есть глава про различные виды простого " -"древкового оружия... даже с картинками!" +"древкового оружия… Даже с картинками!" #: lang/json/GENERIC_from_json.py msgid "Historic European Swordfighting" @@ -49877,7 +51453,7 @@ msgid "" "the air. When you add flour and water to it, after a few hours it froths " "and rises." msgstr "" -"В этой банке - драгоценная смесь из муки, воды, грибков и бактерий из " +"В этой банке — драгоценная смесь из муки, воды, грибков и бактерий из " "воздуха. Она вспучится и поднимется через несколько часов после добавления " "муки и воды." @@ -51115,6 +52691,25 @@ msgstr[3] "расписки" msgid "This is a slip of paper signed by the issuer." msgstr "Листок бумаги, подписанный эминентом." +#: lang/json/GENERIC_from_json.py +msgid "icon" +msgid_plural "icons" +msgstr[0] "икона" +msgstr[1] "иконы" +msgstr[2] "икон" +msgstr[3] "иконы" + +#. ~ Description for icon +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a small picture, about the same size as an ID card, symbolizing a " +"religious figure. On the back, there is a text that faintly reads 'New " +"England Church Community'." +msgstr "" +"Это маленькая картина размером с пластиковую карточку, с изображением " +"духовного лица. На обороте есть текст, который гласит «Церковное сообщество " +"Новой Англии»." + #: lang/json/GENERIC_from_json.py msgid "generic silverware" msgid_plural "generic silverwares" @@ -51513,11 +53108,9 @@ msgstr[3] "вилка" #. ~ Description for fork #: lang/json/GENERIC_from_json.py msgid "" -"A fork, if you stab something with it you eat it right away. Wait... " +"A fork, if you stab something with it you eat it right away. Wait… " "nevermind." -msgstr "" -"Вилка, если вы ударите что-то, держа её в руке, то сразу же это и съедите. " -"Подождите… неважно." +msgstr "Вилка. Наколол и съел. Подождите… Неважно." #: lang/json/GENERIC_from_json.py msgid "plastic fork" @@ -52973,17 +54566,17 @@ msgstr[3] "Мьёльнир" #: lang/json/GENERIC_from_json.py msgid "" "A large hammer, forged from the heart of a dying star. It bears the inscription:\n" -" \n" +"\n" "Whosoever holds this hammer,\n" "If he be worthy,\n" -"Shall possess the power to...\n" +"Shall possess the power to…\n" "CRUSH!'" msgstr "" "Большой молот, выкованный из сердца умирающей звезды. На нём высечена надпись:\n" " \n" "Всякий, кто держит этот молот,\n" "Если будет достоин,\n" -"Должен обладать силой…\n" +"Да обретёт силу…\n" "СОКРУШАТЬ!" #: lang/json/GENERIC_from_json.py @@ -53000,7 +54593,7 @@ msgid "" "This is a versatile polearm with an spiked hammer head, a spike, and a hook " "attached to a long stick." msgstr "" -"Универсальное древковое оружие - шипастый молот, лезвие и крюк на длинном " +"Универсальное древковое оружие — шипастый молот, лезвие и крюк на длинном " "шесте." #. ~ Description for lucerne hammer @@ -53549,8 +55142,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "" "This is a thin thrusting sword, a sort of predecessor to the rapier. It " -"requires a larger baldric or scabbard, compared to smaller swords. It seems " -"a bit too bendy." +"requires a larger baldric or scabbard, compared to smaller swords. It seems" +" a bit too bendy." msgstr "" "Это тонкий колющий меч, напоминающий длинный меч, своего рода предшественник" " рапиры. Требует для ношения большую перевязь или ножны, по сравнению с " @@ -53678,17 +55271,17 @@ msgstr "" "стержень и тупой наконечник." #: lang/json/GENERIC_from_json.py -msgid "fencing epee" -msgid_plural "fencing epees" +msgid "fencing épée" +msgid_plural "fencing épées" msgstr[0] "фехтовальная шпага" -msgstr[1] "фехтовальной шпаги" +msgstr[1] "фехтовальные шпаги" msgstr[2] "фехтовальных шпаг" -msgstr[3] "фехтовальная шпага" +msgstr[3] "фехтовальные шпаги" -#. ~ Description for fencing epee +#. ~ Description for fencing épée #: lang/json/GENERIC_from_json.py msgid "" -"A weapon used for fencing, the most noble of all sports. The epee is the " +"A weapon used for fencing, the most noble of all sports. The épée is the " "heaviest and stiffest of the fencing weapons, and therefore perhaps the most" " useful." msgstr "" @@ -53708,11 +55301,73 @@ msgstr[3] "фехтовальная сабля" #: lang/json/GENERIC_from_json.py msgid "" "A weapon used for fencing, the most noble of all sports. The fencing saber " -"is marginally shorter than the foil and epee, but no less effective." +"is marginally shorter than the foil and épée, but no less effective." msgstr "" "Оружие для фехтования, благороднейшего из всех видов спорта. Сабля немного " "короче рапиры и шпаги, но не менее эффективна." +#: lang/json/GENERIC_from_json.py +msgid "sharpened foil" +msgid_plural "sharpened foils" +msgstr[0] "заострённая рапира" +msgstr[1] "заострённые рапиры" +msgstr[2] "заострённых рапир" +msgstr[3] "заострённые рапиры" + +#. ~ Description for sharpened foil +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing foil has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now somewhat more lethal, yet still familiar to" +" the practiced fencer." +msgstr "" +"У этой некогда безвредной спортивной фехтовальной рапиры была удалена " +"электрическая кнопка и грубо заточено остриё. Хотя ей по-прежнему не хватает" +" режущей кромки, теперь она несколько более смертоносна и всё ещё знакома " +"опытному фехтовальщику." + +#: lang/json/GENERIC_from_json.py +msgid "sharpened épée" +msgid_plural "sharpened épées" +msgstr[0] "заострённая шпага" +msgstr[1] "заострённые шпаги" +msgstr[2] "заострённых шпаг" +msgstr[3] "заострённые шпаги" + +#. ~ Description for sharpened épée +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing épée has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now considerably more lethal, yet still " +"familiar to the practiced fencer." +msgstr "" +"У этой некогда безвредной спортивной фехтовальной шпаги была удалена " +"электрическая кнопка и грубо заточен кончик. Хотя ей по-прежнему не хватает " +"режущей кромки, теперь она несколько более смертоносна и всё ещё знакома " +"опытному фехтовальщику." + +#: lang/json/GENERIC_from_json.py +msgid "sharpened saber" +msgid_plural "sharpened sabers" +msgstr[0] "заострённая сабля" +msgstr[1] "заострённые сабля" +msgstr[2] "заострённых сабель" +msgstr[3] "заострённые сабли" + +#. ~ Description for sharpened saber +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing saber has had its rounded tip snapped off " +"and has been crudely sharpened to a point. Though it still lacks a cutting " +"edge, it is now considerably more lethal, yet still familiar to the " +"practiced fencer." +msgstr "" +"У этой некогда безвредной фехтовальной сабли был грубо заточен скруглённый " +"кончик. Хотя ей по-прежнему не хватает режущей кромки, теперь она несколько " +"более смертоносна и всё ещё знакома опытному фехтовальщику." + #: lang/json/GENERIC_from_json.py msgid "hollow cane" msgid_plural "hollow canes" @@ -53986,6 +55641,19 @@ msgstr "" "Металлический цилиндр с размещёнными внутри маленькими линзами. Предназначен" " для установки в дверь." +#: lang/json/GENERIC_from_json.py +msgid "mesh screen" +msgid_plural "mesh screens" +msgstr[0] "антимоскитная сетка" +msgstr[1] "антимоскитные сетки" +msgstr[2] "антимоскитных сеток" +msgstr[3] "антимоскитные сетки" + +#. ~ Description for mesh screen +#: lang/json/GENERIC_from_json.py +msgid "A roll of fine mesh screen for bug barriers on porches." +msgstr "Рулон мелкой антимоскитной сетки для защиты от насекомых." + #: lang/json/GENERIC_from_json.py msgid "pipe" msgid_plural "pipes" @@ -54049,12 +55717,12 @@ msgstr[3] "алюминиевый слиток" msgid "" "A small aluminum ingot, standardized for further processing. Light but " "durable, this could be cast into various shapes for construction or ground " -"down to a powder, for more... high-profile applications." +"down to a powder, for more… high-profile applications." msgstr "" "Маленький алюминиевый слиток, стандартизированный для дальнейшей " "переработки. Он лёгок, но прочен, его можно переплавить в различные формы " -"для строительства или же перемолоть в порошок для применения в более… " -"высококлассных сферах." +"для строительства или же перемолоть в порошок и найти ему более… " +"Высококлассное применение." #: lang/json/GENERIC_from_json.py msgid "scrap copper" @@ -54084,14 +55752,14 @@ msgid "This is a single, or twin, sized mattress." msgstr "Одно- или двуспальный матрас." #: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "down_mattress" -msgid_plural "down_mattresses" +msgid "down mattress" +msgid_plural "down mattresses" msgstr[0] "пуховой матрас" msgstr[1] "пуховых матраса" -msgstr[2] "пуховых матрасов" +msgstr[2] "пуховых матраса" msgstr[3] "пуховые матрасы" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/GENERIC_from_json.py msgid "This is a single, or twin, sized down filled mattress." msgstr "Одно- или двуспальный пуховый матрас." @@ -54476,6 +56144,58 @@ msgstr "" "Стальное шило с деревянной ручкой, обычно с его помощью работают с кожей. " "Также им можно пользоваться как колющим оружием, но оно быстро сломается." +#: lang/json/GENERIC_from_json.py +msgid "frame loom" +msgid_plural "frame looms" +msgstr[0] "рамочный ткацкий станок" +msgstr[1] "рамочных ткацких станка" +msgstr[2] "рамочных ткацких станка" +msgstr[3] "рамочные ткацкие станки" + +#. ~ Description for frame loom +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a rather bulky and primitive wooden frame which can be used to weave" +" cloth sheets. It is very slow, though." +msgstr "" +"Это довольно громоздкий и примитивный деревянный каркас, который можно " +"использовать для плетения ткани. О-очень медленно." + +#: lang/json/GENERIC_from_json.py +msgid "wooden shed stick" +msgid_plural "wooden shed sticks" +msgstr[0] "деревянная ткацкая палочка" +msgstr[1] "деревянные ткацкие палочки" +msgstr[2] "деревянных ткацких палочек" +msgstr[3] "деревянные ткацкие палочки" + +#. ~ Description for wooden shed stick +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a short thin flat wooden stick, used as a tool while weaving cloth " +"with a frame loom." +msgstr "" +"Это короткая тонкая плоская деревянная палочка, используемая в качестве " +"инструмента для плетения ткани на рамочном ткацком станке." + +#: lang/json/GENERIC_from_json.py +msgid "tailoring pattern set" +msgid_plural "tailoring pattern sets" +msgstr[0] "набор выкройки" +msgstr[1] "набора выкройки" +msgstr[2] "наборов выкройки" +msgstr[3] "наборы выкройки" + +#. ~ Description for tailoring pattern set +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a large set of tailoring patterns made from paper. They're useful " +"for making any kind of cloth or leather items from scratch, but are " +"necessary for more advanced projects." +msgstr "" +"Это большой набор выкройки из бумаги. Они полезны для создания любого вида " +"одежды из ткани или кожи с нуля и необходимы для более сложных проектов." + #: lang/json/GENERIC_from_json.py msgid "vehicle alternator" msgid_plural "vehicle alternators" @@ -54900,6 +56620,25 @@ msgstr "" "управлять автомобилем без участия человека. Его ИИ не функционирует, но в " "нём по-прежнему работает своего рода режим техобслуживания." +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "turret control unit" +msgid_plural "turret control units" +msgstr[0] "блок управления турелью" +msgstr[1] "блока управления турелью" +msgstr[2] "блоков управления турелью" +msgstr[3] "блоки управления турелью" + +#. ~ Description for turret control unit +#: lang/json/GENERIC_from_json.py +msgid "" +"A set of motor, camera, and various electronic modules banded together to " +"allow for tracking targets, friend-or-foe identification, and firing the " +"connected turret in full automatic mode." +msgstr "" +"Набор из двигателя, камеры и ИИ-блока, соединённых вместе, который позволяет" +" отслеживать цели, идентифицировать друга или врага и стрелять из " +"подключенной башни в полностью автоматическом режиме." + #: lang/json/GENERIC_from_json.py msgid "massive engine block" msgid_plural "massive engine blocks" @@ -56206,6 +57945,23 @@ msgstr "" "Небольшая стиральная машинка, предназначенная для установки на транспортное " "средство." +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "programmable autopilot" +msgid_plural "programmable autopilots" +msgstr[0] "программируемый автопилот" +msgstr[1] "программируемых автопилота" +msgstr[2] "программируемых автопилота" +msgstr[3] "программируемые автопилоты" + +#. ~ Description for programmable autopilot +#: lang/json/GENERIC_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of a vehicle to allow" +" it to follow simple paths." +msgstr "" +"Компьютерная система, подключенная к рулевому управлению и двигателю " +"автомобиля, которая направляет его по заданному простому пути." + #: lang/json/GENERIC_from_json.py msgid "mountable autoclave" msgid_plural "mountable autoclaves" @@ -56296,9 +58052,9 @@ msgstr[3] "средние ступицы" #. ~ Description for medium wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." +"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." msgstr "" -"Металлическое приспособление, позволяет закрепить колесо на автомобиле. " +"Металлическое конструкция, позволяющая закрепить колесо на автомобиле. " "Подходит для автомобильного колеса." #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py @@ -56312,10 +58068,10 @@ msgstr[3] "тяжёлые ступицы" #. ~ Description for heavy wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A heavy metal assembly that allows bolting a wheel on a car. Fit for a large" -" car wheel." +"A heavy metal assembly that allows bolting a wheel on a car. Fit for a " +"large car wheel." msgstr "" -"Тяжелое металлическое приспособление, позволяет закрепить колесо на " +"Тяжелая металлическая конструкция, позволяющая закрепить колесо на " "автомобиле. Подходит для большого автомобильного колеса." #: lang/json/GENERIC_from_json.py @@ -57763,6 +59519,32 @@ msgstr "" "Биография военного киборга, подробно описывающая его боевые искусства и " "взгляды на жизнь." +#: lang/json/GENERIC_from_json.py +msgid "The Iron Whip" +msgid_plural "The Iron Whips" +msgstr[0] "железный кнут" +msgstr[1] "железных кнута" +msgstr[2] "железных кнутов" +msgstr[3] "железные кнуты" + +#. ~ Use action msg for The Iron Whip. +#: lang/json/GENERIC_from_json.py +msgid "" +"You loop the whip in your hand and it coils back into a belt form in an " +"instant." +msgstr "Вы сворачиваете кнут в руке, и он мгновенно превращается в пояс." + +#. ~ Description for The Iron Whip +#: lang/json/GENERIC_from_json.py +msgid "" +"A long braided flexible steel bullwhip that narrows into a sharp blade at " +"the end. Easily capable of slicing and dicing anything that comes at you. " +"It transforms back into a belt." +msgstr "" +"Длинный плетёный гибкий стальной кнут, сужающийся к острию. Легко способен " +"нарезать и покрошить кубиками всё, что попадает на вас. Он превращается " +"обратно в пояс." + #: lang/json/GENERIC_from_json.py msgid "cudgel +1" msgid_plural "cudgel +1s" @@ -58435,220 +60217,6 @@ msgstr[1] "дао +2" msgstr[2] "дао +2" msgstr[3] "дао +2" -#: lang/json/GENERIC_from_json.py -msgid "cestus +1" -msgid_plural "cestus +1s" -msgstr[0] "цестус +1" -msgstr[1] "цестус +1" -msgstr[2] "цестус +1" -msgstr[3] "цестус +1" - -#: lang/json/GENERIC_from_json.py -msgid "cestus +2" -msgid_plural "cestus +2s" -msgstr[0] "цестус +2" -msgstr[1] "цестус +2" -msgstr[2] "цестус +2" -msgstr[3] "цестус +2" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist" -msgid_plural "flaming fists" -msgstr[0] "пылающий кулак" -msgstr[1] "пылающих кулаков" -msgstr[2] "пылающих кулаков" -msgstr[3] "пылающие кулаки" - -#. ~ Description for flaming fist -#: lang/json/GENERIC_from_json.py -msgid "" -"A heavy metal guard that covers the fist and increases striking power, with " -"stout padding underneath to protect the wearers hand. It has been enchanted" -" to emit dark magical flames that only harm enemies." -msgstr "" -"Пластина из тяжелого металла, покрывающая кулак и увеличивающая силу удара, " -"с крепкой прокладкой под ней для защиты руки. Наложено зачарование, " -"извергающее темное магическое пламя, обжигающее только врагов." - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist +1" -msgid_plural "flaming fist +1s" -msgstr[0] "пылающий кулак +1" -msgstr[1] "пылающих кулака +1" -msgstr[2] "пылающих кулаков +1" -msgstr[3] "пылающие кулаки +1" - -#: lang/json/GENERIC_from_json.py -msgid "flaming fist +2" -msgid_plural "flaming fist +2s" -msgstr[0] "пылающий кулак +2" -msgstr[1] "пылающих кулака +2" -msgstr[2] "пылающих кулаков +2" -msgstr[3] "пылающие кулаки +2" - -#: lang/json/GENERIC_from_json.py -msgid "gauntlet of pounding" -msgid_plural "gauntlets of pounding" -msgstr[0] "ударная перчатка" -msgstr[1] "ударных перчатки" -msgstr[2] "ударных перчаток" -msgstr[3] "ударные перчатки" - -#. ~ Description for gauntlet of pounding -#: lang/json/GENERIC_from_json.py -msgid "" -"A large gleaming metal gauntlet covered in magical symbols that allows you " -"to land astoundingly powerful blows." -msgstr "" -"Большая блестящая металлическая рукавица, покрытая магическими символами, " -"которая позволяет наносить поразительно мощные удары." - -#: lang/json/GENERIC_from_json.py -msgid "stone shell" -msgid_plural "stone shells" -msgstr[0] "каменная скорлупа" -msgstr[1] "каменной скорлупы" -msgstr[2] "каменной скорлупы" -msgstr[3] "каменная скорлупа" - -#. ~ Description for stone shell -#: lang/json/GENERIC_from_json.py -msgid "" -"The broken fragment of an owlbear egg. With luck it might still contain " -"some of its former power, though if nothing else it's still a bit sharp." -msgstr "" -"Отломанный кусок яйца совомедведя. Если повезёт, в нём ещё могут остаться " -"следы былой силы, в крайнем случае это довольно острый осколок." - -#: lang/json/GENERIC_from_json.py -msgid "glow dust" -msgid_plural "glow dusts" -msgstr[0] "светящаяся пыль" -msgstr[1] "светящейся пыли" -msgstr[2] "светящейся пыли" -msgstr[3] "светящаяся пыль" - -#. ~ Description for glow dust -#: lang/json/GENERIC_from_json.py -msgid "" -"The powdered remains of a will-o-wisps's phsyical form. It seems to still " -"possess an otherworldly glow." -msgstr "" -"Растёртые в пыль остатки физического тела блуждающего огонька. Они всё ещё " -"светятся неземным сиянием." - -#: lang/json/GENERIC_from_json.py -msgid "magical reading light" -msgid_plural "magical reading lights" -msgstr[0] "волшебная читальная лампа" -msgstr[1] "волшебных читальных лампы" -msgstr[2] "волшебных читальных ламп" -msgstr[3] "волшебные читальные лампы" - -#. ~ Description for magical reading light -#: lang/json/GENERIC_from_json.py -msgid "" -"Powered by the magic of glow powder and lesser mana potions, this extremely " -"expensive little light will provide just enough light to read by for at " -"least a decade. Use it to close the cover and hide the light." -msgstr "" -"При помощи волшебства светящейся пыли и маленьких зелий маны эта крайне " -"дорогая маленькая лампа способна как минимум десятилетие излучать тусклый " -"свет, которого едва хватит для чтения. Активируйте, чтобы закрыть крышку и " -"спрятать свет." - -#: lang/json/GENERIC_from_json.py -msgid "magical reading light (covered)" -msgid_plural "magical reading lights (covered)" -msgstr[0] "волшебная читальная лампа (закрыта)" -msgstr[1] "волшебных читальных лампы (закрытых)" -msgstr[2] "волшебных читальных ламп (закрытых)" -msgstr[3] "волшебные читальные лампы (закрытые)" - -#. ~ Description for magical reading light (covered) -#: lang/json/GENERIC_from_json.py -msgid "" -"Powered by the magic of glow powder and lesser mana potions, this extremely " -"expensive little light will provide just enough light to read by for at " -"least a decade. The cover is closed. Use it to open the cover and show the" -" light." -msgstr "" -"При помощи волшебства светящейся пыли и маленьких зелий маны эта крайне " -"дорогая маленькая лампа способна как минимум десятилетие излучать тусклый " -"свет, которого едва хватит для чтения. Крышка закрыта. Активируйте, чтобы " -"открыть крышку и выпустить свет." - -#: lang/json/GENERIC_from_json.py -msgid "bulette plate" -msgid_plural "bulette plates" -msgstr[0] "панцирь булитта" -msgstr[1] "панциря булитта" -msgstr[2] "панцирей булитта" -msgstr[3] "панцири булитта" - -#. ~ Description for bulette plate -#: lang/json/GENERIC_from_json.py -msgid "" -"The great plates from behind a bulette's head have always been prized for " -"use in shield and armor making." -msgstr "" -"Большие пластины с загривка булитта всегда высоко ценились в изготовлении " -"щитов и доспехов." - -#: lang/json/GENERIC_from_json.py -msgid "bulette pearl" -msgid_plural "bulette pearls" -msgstr[0] "жемчуг булитта" -msgstr[1] "жемчуга булитта" -msgstr[2] "жемчуга булитта" -msgstr[3] "жемчуг булитта" - -#. ~ Description for bulette pearl -#: lang/json/GENERIC_from_json.py -msgid "" -"As a bulette burrows through the earth its gills collect minute amounts of " -"precious metals and gems which slowly aggregate into lustrous gemstones " -"prized for their beauty and power." -msgstr "" -"Когда булитт прокладывает путь под землёй, его жабры собирают крошки " -"драгоценных металлов и самоцветов, которые медленно слипаются в блестящие " -"камешки, ценящиеся за красоту и силу." - -#: lang/json/GENERIC_from_json.py -msgid "black dragon scale" -msgid_plural "black dragon scales" -msgstr[0] "чешуя чёрного дракона" -msgstr[1] "чешуи чёрного дракона" -msgstr[2] "чешуи чёрного дракона" -msgstr[3] "чешуя чёрного дракона" - -#. ~ Description for black dragon scale -#: lang/json/GENERIC_from_json.py -msgid "" -"A scale from a black dragon. It still has its magical properties and acid " -"resistance." -msgstr "" -"Чешуя чёрного дракона, всё ещё хранящая волшебные свойства и сопротивление " -"кислоте." - -#: lang/json/GENERIC_from_json.py lang/json/material_from_json.py -msgid "black dragon hide" -msgid_plural "black dragon hides" -msgstr[0] "шкура чёрного дракона" -msgstr[1] "шкуры чёрного дракона" -msgstr[2] "шкур чёрного дракона" -msgstr[3] "шкуры чёрного дракона" - -#. ~ Description for black dragon hide -#: lang/json/GENERIC_from_json.py -msgid "" -"Prepared hide from a black dragon. Hard, acid-resistant, and with more " -"scales could make a suit of armor as hard as steel and half as heavy." -msgstr "" -"Дублёная шкура чёрного дракона, прочная и устойчивая к кислоте. Если есть " -"чешуя, из неё можно изготовить доспех, прочный как сталь и вдвое легче " -"стали." - #: lang/json/GENERIC_from_json.py msgid "Biomancer spear" msgid_plural "Biomancer spears" @@ -58660,8 +60228,8 @@ msgstr[3] "копья Биоманта" #. ~ Description for Biomancer spear #: lang/json/GENERIC_from_json.py msgid "" -"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer rune" -" embedded at the base of the head." +"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer " +"rune embedded at the base of the head." msgstr "" "Мерзкий костяной наконечник на прочном деревянном древке. У основания " "наконечника начертана биомантская руна." @@ -58678,7 +60246,7 @@ msgstr[3] "инструменты Техноманта" #: lang/json/GENERIC_from_json.py msgid "" "This staff incorporates a sturdy cresent wrench on top of a prybar and a " -"hammer on the other in a convienent package. There is a Technomancer rune " +"hammer on the other in a convienent package. There is a Technomancer rune " "embedded in the hammerhead." msgstr "" "Удобный посох с прочным разводным ключом на одном конце лома и молотком на " @@ -58686,41 +60254,23 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "Magus staff" -msgid_plural "Magus staffs" -msgstr[0] "посох Мага" -msgstr[1] "посоха Мага" -msgstr[2] "посохов Мага" -msgstr[3] "посохи Мага" +msgid_plural "Magus staves" +msgstr[0] "посох мага" +msgstr[1] "посоха мага" +msgstr[2] "посохов мага" +msgstr[3] "посохи мага" -#. ~ Description for Magus staff +#. ~ Description for {'str': 'Magus staff', 'str_pl': 'Magus staves'} #: lang/json/GENERIC_from_json.py msgid "" "A quarterstaff with runes carved into it and two glass jars, heat-tempered " -"and infused with mana for durability, to act as mana receptacles. There are " -"two Magi runes embedded at the tips." +"and infused with mana for durability, to act as mana receptacles. There are" +" two Magi runes embedded at the tips." msgstr "" "Посох с вырезанными рунами и двумя стеклянными баночками, для прочности " "закалёнными и напитанными маной и служащими как сосуды для маны. На концах " "выгравированы руны Мага." -#: lang/json/GENERIC_from_json.py -msgid "Earthshaper cestus" -msgid_plural "Earthshaper cesti" -msgstr[0] "цестус Повелителя земли" -msgstr[1] "цестуса Повелителя земли" -msgstr[2] "цестусов Повелителя земли" -msgstr[3] "цестусы Повелителя земли" - -#. ~ Description for Earthshaper cestus -#: lang/json/GENERIC_from_json.py -msgid "" -"A stone battle glove with carved runes encasing the hand, protecting it " -"while increasing striking power. There is an Earthshaper rune embedded in " -"the palm." -msgstr "" -"Каменная боевая перчатка с вырезанными рунами, защищающая руку и позволяющая" -" наносить мощные удары. На ладони выгравирована руна Повелителя земли." - #: lang/json/GENERIC_from_json.py msgid "Kelvinist flamberge" msgid_plural "Kelvinist flamberges" @@ -58732,7 +60282,7 @@ msgstr[3] "фламберги Кельвиниста" #. ~ Description for Kelvinist flamberge #: lang/json/GENERIC_from_json.py msgid "" -"A sword with an undulating blade, reminiscent of a flame. There is a " +"A sword with an undulating blade, reminiscent of a flame. There is a " "Kelvinist rune embedded in the pommel." msgstr "" "Меч с волнообразным лезвием, напоминающим пламя. На рукояти выгравирована " @@ -58749,7 +60299,7 @@ msgstr[3] "топоры Повелителя бурь" #. ~ Description for Stormshaper axe #: lang/json/GENERIC_from_json.py msgid "" -"A forged copper axe with silver trimmings and a wooden handle. There is a " +"A forged copper axe with silver trimmings and a wooden handle. There is a " "Stormshaper rune embedded in the eye." msgstr "" "Кованый медный топор с серебряной окантовкой и деревянным топорищем. Возле " @@ -58766,12 +60316,628 @@ msgstr[3] "атамы Анимиста" #. ~ Description for Animist athame #: lang/json/GENERIC_from_json.py msgid "" -"A steel ritual knife used by Animists to draw blood for summoning. Their " +"A steel ritual knife used by Animists to draw blood for summoning. Their " "school rune is embedded in the crossguard." msgstr "" "Стальной ритуальный нож, которым Анимисты выпускают кровь для призывающих " "заклинаний. На гарде выгравирована руна их школы." +#: lang/json/GENERIC_from_json.py +msgid "springstaff(baton)" +msgid_plural "springstaves(baton)" +msgstr[0] "жезлопосох (жезл)" +msgstr[1] "жезлопосоха (жезла)" +msgstr[2] "жезлопосохов (жезлов)" +msgstr[3] "жезлопосохи (жезлы)" + +#. ~ Use action menu_text for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "Extend to staff" +msgstr "Удлинить жезл" + +#. ~ Use action msg for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "You snap open your springstaff into staff mode." +msgstr "Вы удлинили жезлопосох, теперь это посох, поручик." + +#. ~ Description for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips retracted while in baton configuration. Activate to extend." +msgstr "" +"В этом универсальном оружии используются пружины, усиленные техномансией, " +"для удержания концов посоха, когда он находятся в конфигурации жезла. " +"Активируйте, чтобы удлинить." + +#: lang/json/GENERIC_from_json.py +msgid "springstaff(staff)" +msgid_plural "springstaves(staff)" +msgstr[0] "жезлопосох (посох)" +msgstr[1] "жезлопосоха (посоха)" +msgstr[2] "жезлопосохов (посохов)" +msgstr[3] "жезлопосохи (посохи)" + +#. ~ Use action menu_text for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "Retract to baton" +msgstr "Укоротить посох" + +#. ~ Use action msg for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "You collapse your springstaff into baton mode." +msgstr "Вы складываете жезлопосох." + +#. ~ Description for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips from retracting while in staff configuration. Activate to extend." +msgstr "" +"В этом универсальном оружии используются пружины, усиленные техномансией, " +"для предотвращения складывания посоха. Активируйте, чтобы укоротить." + +#: lang/json/GENERIC_from_json.py +msgid "magic token" +msgid_plural "magic tokens" +msgstr[0] "волшебный жетон" +msgstr[1] "волшебных жетона" +msgstr[2] "волшебных жетонов" +msgstr[3] "волшебные жетоны" + +#: lang/json/GENERIC_from_json.py +msgid "longsword token" +msgid_plural "longsword tokens" +msgstr[0] "жетон длинного меча" +msgstr[1] "жетона длинного меча" +msgstr[2] "жетонов длинного меча" +msgstr[3] "жетоны длинного меча" + +#. ~ Use action msg for longsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine longsword!" +msgstr "" +"Вы произносите кодовое слово, выгравированное на монете и она быстро растет," +" превращаясь в блестящий новенький длинный меч!" + +#. ~ Description for longsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a longsword." +msgstr "" +"Большая серебряная монета, которая, при произношении слова на обороте, " +"превращается в предмет, изображенный на лицевой стороне, в нашем случае, " +"длинный меч." + +#: lang/json/GENERIC_from_json.py +msgid "arming sword token" +msgid_plural "arming sword tokens" +msgstr[0] "жетон меча" +msgstr[1] "жетона меча" +msgstr[2] "жетонов меча" +msgstr[3] "жетоны меча" + +#. ~ Use action msg for arming sword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine arming sword!" +msgstr "" +"Вы произносите кодовое слово, выгравированное на монете и она быстро растет," +" превращаясь в сияющий новенький меч!" + +#. ~ Description for arming sword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case an arming sword." +msgstr "" +"Большая серебряная монета, которая, при произношении слова на обороте, " +"превращается в предмет, изображенный на лицевой стороне, в нашем случае, " +"меч." + +#: lang/json/GENERIC_from_json.py +msgid "broadsword token" +msgid_plural "broadsword tokens" +msgstr[0] "жетон палаша" +msgstr[1] "жетона палаша" +msgstr[2] "жетонов палаша" +msgstr[3] "жетоны палаша" + +#. ~ Use action msg for broadsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine broadsword!" +msgstr "" +"Вы произносите кодовое слово, выгравированное на монете и она быстро растет," +" превращаясь в блестящий новенький палаш!" + +#. ~ Description for broadsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a broadsword." +msgstr "" +"Большая серебряная монета, которая, при произношении слова на обороте, " +"превращается в предмет, изображенный на лицевой стороне, в нашем случае, " +"палаш." + +#: lang/json/GENERIC_from_json.py +msgid "battleaxe token" +msgid_plural "battleaxe tokens" +msgstr[0] "жетон боевого топора" +msgstr[1] "жетона боевого топора" +msgstr[2] "жетонов боевого топора" +msgstr[3] "жетоны боевого топора" + +#. ~ Use action msg for battleaxe token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine battle axe!" +msgstr "" +"Вы произносите кодовое слово, выгравированное на монете и она быстро растет," +" превращаясь в блестящий новенький боевой топор!" + +#. ~ Description for battleaxe token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a battle axe." +msgstr "" +"Большая серебряная монета, которая, при произношении слова на обороте, " +"превращается в предмет, изображенный на лицевой стороне, в нашем случае, " +"боевой топор." + +#: lang/json/GENERIC_from_json.py +msgid "pike token" +msgid_plural "pike tokens" +msgstr[0] "жетон пики" +msgstr[1] "жетона пики" +msgstr[2] "жетонов пики" +msgstr[3] "жетоны пики" + +#. ~ Use action msg for pike token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine pike!" +msgstr "" +"Вы произносите кодовое слово, выгравированное на монете и она быстро растет," +" превращаясь в блестящую новенькую пику!" + +#. ~ Description for pike token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a pike." +msgstr "" +"Большая серебряная монета, которая, при произношении слова на обороте, " +"превращается в предмет, изображенный на лицевой стороне, в нашем случае, в " +"пику." + +#: lang/json/GENERIC_from_json.py +msgid "mace token" +msgid_plural "mace tokens" +msgstr[0] "жетон булавы" +msgstr[1] "жетона булавы" +msgstr[2] "жетонов булавы" +msgstr[3] "жетоны булавы" + +#. ~ Use action msg for mace token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine mace!" +msgstr "" +"Вы произносите кодовое слово, выгравированное на монете и она быстро растет," +" превращаясь в блестящую новенькую булаву!" + +#. ~ Description for mace token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a mace." +msgstr "" +"Большая серебряная монета, которая, при произношении слова на обороте, " +"превращается в предмет, изображенный на лицевой стороне, в нашем случае, в " +"булаву." + +#: lang/json/GENERIC_from_json.py +msgid "quarterstaff token" +msgid_plural "quarterstaff tokens" +msgstr[0] "жетон посоха" +msgstr[1] "жетона посоха" +msgstr[2] "жетонов посоха" +msgstr[3] "жетоны посоха" + +#. ~ Use action msg for quarterstaff token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a pristine quarterstaff!" +msgstr "" +"Вы произносите кодовое слово, выгравированное на монете и она быстро растет," +" превращаясь в блестящий новенький посох!" + +#. ~ Description for quarterstaff token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a quarterstaff." +msgstr "" +"Большая серебряная монета, которая, при произношении слова на обороте, " +"превращается в предмет, изображенный на лицевой стороне, в нашем случае, в " +"посох." + +#: lang/json/GENERIC_from_json.py +msgid "hammer token" +msgid_plural "hammer tokens" +msgstr[0] "жетон молота" +msgstr[1] "жетона молота" +msgstr[2] "жетонов молота" +msgstr[3] "жетоны молота" + +#. ~ Use action msg for hammer token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine hammer!" +msgstr "" +"Вы произносите кодовое слово, выгравированное на монете и она быстро растет," +" превращаясь в блестящий новенький молот!" + +#. ~ Description for hammer token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a hammer." +msgstr "" +"Большая серебряная монета, которая, при произношении слова на обороте, " +"превращается в предмет, изображенный на лицевой стороне, в нашем случае, в " +"молот." + +#: lang/json/GENERIC_from_json.py +msgid "screwdriver set token" +msgid_plural "screwdriver set tokens" +msgstr[0] "жетон набора отвёрток" +msgstr[1] "жетона набора отвёрток" +msgstr[2] "жетонов набора отвёрток" +msgstr[3] "жетоны набора отвёрток" + +#. ~ Use action msg for screwdriver set token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine screwdriver set!" +msgstr "" +"Вы произносите кодовое слово, выгравированное на монете и она быстро растет," +" превращаясь в новенький, с иголочки, набор отвёрток!" + +#. ~ Description for screwdriver set token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a screwdriver." +msgstr "" +"Большая серебряная монета, которая, при произношении слова на обороте, " +"превращается в предмет, изображенный на лицевой стороне, в нашем случае, в " +"отвёртки." + +#: lang/json/GENERIC_from_json.py +msgid "toolbox token" +msgid_plural "toolbox tokens" +msgstr[0] "жетон инструментов" +msgstr[1] "жетона инструментов" +msgstr[2] "жетонов инструментов" +msgstr[3] "жетоны инструментов" + +#. ~ Use action msg for toolbox token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine toolbox!" +msgstr "" +"Вы произносите кодовое слово, выгравированное на монете и она быстро растет," +" превращаясь в набор новеньких, с иголочки, инструментов!" + +#. ~ Description for toolbox token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a toolbox." +msgstr "" +"Большая серебряная монета, которая, при произношении слова на обороте, " +"превращается в предмет, изображенный на лицевой стороне, в нашем случае, в " +"инструменты." + +#: lang/json/GENERIC_from_json.py +msgid "crowbar token" +msgid_plural "crowbar tokens" +msgstr[0] "жетон ломика" +msgstr[1] "жетона ломика" +msgstr[2] "жетонов ломика" +msgstr[3] "жетоны ломика" + +#. ~ Use action msg for crowbar token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine crowbar!" +msgstr "" +"Вы произносите кодовое слово, выгравированное на монете и она быстро растет," +" превращаясь в блестящий новенький ломик!" + +#. ~ Description for crowbar token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a crowbar." +msgstr "" +"Большая серебряная монета, которая, при произношении слова на обороте, " +"превращается в предмет, изображенный на лицевой стороне, в нашем случае, " +"ломик." + +#: lang/json/GENERIC_from_json.py +msgid "cestus +1" +msgid_plural "cestus +1s" +msgstr[0] "цестус +1" +msgstr[1] "цестус +1" +msgstr[2] "цестус +1" +msgstr[3] "цестус +1" + +#: lang/json/GENERIC_from_json.py +msgid "cestus +2" +msgid_plural "cestus +2s" +msgstr[0] "цестус +2" +msgstr[1] "цестус +2" +msgstr[2] "цестус +2" +msgstr[3] "цестус +2" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist" +msgid_plural "flaming fists" +msgstr[0] "пылающий кулак" +msgstr[1] "пылающих кулаков" +msgstr[2] "пылающих кулаков" +msgstr[3] "пылающие кулаки" + +#. ~ Description for flaming fist +#: lang/json/GENERIC_from_json.py +msgid "" +"A heavy metal guard that covers the fist and increases striking power, with " +"stout padding underneath to protect the wearers hand. It has been enchanted" +" to emit dark magical flames that only harm enemies." +msgstr "" +"Пластина из тяжелого металла, покрывающая кулак и увеличивающая силу удара, " +"с крепкой прокладкой под ней для защиты руки. Наложено зачарование, " +"извергающее темное магическое пламя, обжигающее только врагов." + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist +1" +msgid_plural "flaming fist +1s" +msgstr[0] "пылающий кулак +1" +msgstr[1] "пылающих кулака +1" +msgstr[2] "пылающих кулаков +1" +msgstr[3] "пылающие кулаки +1" + +#: lang/json/GENERIC_from_json.py +msgid "flaming fist +2" +msgid_plural "flaming fist +2s" +msgstr[0] "пылающий кулак +2" +msgstr[1] "пылающих кулака +2" +msgstr[2] "пылающих кулаков +2" +msgstr[3] "пылающие кулаки +2" + +#: lang/json/GENERIC_from_json.py +msgid "gauntlet of pounding" +msgid_plural "gauntlets of pounding" +msgstr[0] "ударная перчатка" +msgstr[1] "ударных перчатки" +msgstr[2] "ударных перчаток" +msgstr[3] "ударные перчатки" + +#. ~ Description for gauntlet of pounding +#: lang/json/GENERIC_from_json.py +msgid "" +"A large gleaming metal gauntlet covered in magical symbols that allows you " +"to land astoundingly powerful blows." +msgstr "" +"Большая блестящая металлическая рукавица, покрытая магическими символами, " +"которая позволяет наносить поразительно мощные удары." + +#: lang/json/GENERIC_from_json.py +msgid "Earthshaper cestus" +msgid_plural "Earthshaper cesti" +msgstr[0] "цестус Повелителя земли" +msgstr[1] "цестуса Повелителя земли" +msgstr[2] "цестусов Повелителя земли" +msgstr[3] "цестусы Повелителя земли" + +#. ~ Description for {'str': 'Earthshaper cestus', 'str_pl': 'Earthshaper +#. cesti'} +#: lang/json/GENERIC_from_json.py +msgid "" +"A stone battle glove with carved runes encasing the hand, protecting it " +"while increasing striking power. There is an Earthshaper rune embedded in " +"the palm." +msgstr "" +"Каменная боевая перчатка с вырезанными рунами, защищающая руку и позволяющая" +" наносить мощные удары. На ладони выгравирована руна Повелителя земли." + +#: lang/json/GENERIC_from_json.py +msgid "stone shell" +msgid_plural "stone shells" +msgstr[0] "каменная скорлупа" +msgstr[1] "каменной скорлупы" +msgstr[2] "каменной скорлупы" +msgstr[3] "каменная скорлупа" + +#. ~ Description for stone shell +#: lang/json/GENERIC_from_json.py +msgid "" +"The broken fragment of an owlbear egg. With luck it might still contain " +"some of its former power, though if nothing else it's still a bit sharp." +msgstr "" +"Отломанный кусок яйца совомедведя. Если повезёт, в нём ещё могут остаться " +"следы былой силы, в крайнем случае это довольно острый осколок." + +#: lang/json/GENERIC_from_json.py +msgid "glow dust" +msgid_plural "glow dusts" +msgstr[0] "светящаяся пыль" +msgstr[1] "светящейся пыли" +msgstr[2] "светящейся пыли" +msgstr[3] "светящаяся пыль" + +#. ~ Description for glow dust +#: lang/json/GENERIC_from_json.py +msgid "" +"The powdered remains of a will-o-wisps's phsyical form. It seems to still " +"possess an otherworldly glow." +msgstr "" +"Растёртые в пыль остатки физического тела блуждающего огонька. Они всё ещё " +"светятся неземным сиянием." + +#: lang/json/GENERIC_from_json.py +msgid "magical reading light" +msgid_plural "magical reading lights" +msgstr[0] "волшебная читальная лампа" +msgstr[1] "волшебных читальных лампы" +msgstr[2] "волшебных читальных ламп" +msgstr[3] "волшебные читальные лампы" + +#. ~ Description for magical reading light +#: lang/json/GENERIC_from_json.py +msgid "" +"Powered by the magic of glow powder and lesser mana potions, this extremely " +"expensive little light will provide just enough light to read by for at " +"least a decade. Use it to close the cover and hide the light." +msgstr "" +"При помощи волшебства светящейся пыли и маленьких зелий маны эта крайне " +"дорогая маленькая лампа способна как минимум десятилетие излучать тусклый " +"свет, которого едва хватит для чтения. Активируйте, чтобы закрыть крышку и " +"спрятать свет." + +#: lang/json/GENERIC_from_json.py +msgid "magical reading light (covered)" +msgid_plural "magical reading lights (covered)" +msgstr[0] "волшебная читальная лампа (закрыта)" +msgstr[1] "волшебных читальных лампы (закрытых)" +msgstr[2] "волшебных читальных ламп (закрытых)" +msgstr[3] "волшебные читальные лампы (закрытые)" + +#. ~ Description for magical reading light (covered) +#: lang/json/GENERIC_from_json.py +msgid "" +"Powered by the magic of glow powder and lesser mana potions, this extremely " +"expensive little light will provide just enough light to read by for at " +"least a decade. The cover is closed. Use it to open the cover and show the" +" light." +msgstr "" +"При помощи волшебства светящейся пыли и маленьких зелий маны эта крайне " +"дорогая маленькая лампа способна как минимум десятилетие излучать тусклый " +"свет, которого едва хватит для чтения. Крышка закрыта. Активируйте, чтобы " +"открыть крышку и выпустить свет." + +#: lang/json/GENERIC_from_json.py +msgid "bulette plate" +msgid_plural "bulette plates" +msgstr[0] "панцирь булитта" +msgstr[1] "панциря булитта" +msgstr[2] "панцирей булитта" +msgstr[3] "панцири булитта" + +#. ~ Description for bulette plate +#: lang/json/GENERIC_from_json.py +msgid "" +"The great plates from behind a bulette's head have always been prized for " +"use in shield and armor making." +msgstr "" +"Большие пластины с загривка булитта всегда высоко ценились в изготовлении " +"щитов и доспехов." + +#: lang/json/GENERIC_from_json.py +msgid "bulette pearl" +msgid_plural "bulette pearls" +msgstr[0] "жемчуг булитта" +msgstr[1] "жемчуга булитта" +msgstr[2] "жемчуга булитта" +msgstr[3] "жемчуг булитта" + +#. ~ Description for bulette pearl +#: lang/json/GENERIC_from_json.py +msgid "" +"As a bulette burrows through the earth its gills collect minute amounts of " +"precious metals and gems which slowly aggregate into lustrous gemstones " +"prized for their beauty and power." +msgstr "" +"Когда булитт прокладывает путь под землёй, его жабры собирают крошки " +"драгоценных металлов и самоцветов, которые медленно слипаются в блестящие " +"камешки, ценящиеся за красоту и силу." + +#: lang/json/GENERIC_from_json.py +msgid "stirge proboscis" +msgid_plural "stirge proboscises" +msgstr[0] "хоботок кровопийцы" +msgstr[1] "хоботка кровопийцы" +msgstr[2] "хоботоков кровопийц" +msgstr[3] "хоботки кровопийцы" + +#. ~ Description for stirge proboscis +#: lang/json/GENERIC_from_json.py +msgid "" +"A long sucking apparatus harvested from stirge corpse. Makes a poor melee " +"weapon." +msgstr "" +"Длинный сосущий хоботок, срезанный с туловища кровопийцы. Годится для " +"создания скверного оружия ближнего боя." + +#: lang/json/GENERIC_from_json.py +msgid "black dragon scale" +msgid_plural "black dragon scales" +msgstr[0] "чешуя чёрного дракона" +msgstr[1] "чешуи чёрного дракона" +msgstr[2] "чешуи чёрного дракона" +msgstr[3] "чешуя чёрного дракона" + +#. ~ Description for black dragon scale +#: lang/json/GENERIC_from_json.py +msgid "" +"A scale from a black dragon. It still has its magical properties and acid " +"resistance." +msgstr "" +"Чешуя чёрного дракона, всё ещё хранящая волшебные свойства и сопротивление " +"кислоте." + +#: lang/json/GENERIC_from_json.py lang/json/material_from_json.py +msgid "black dragon hide" +msgid_plural "black dragon hides" +msgstr[0] "шкура чёрного дракона" +msgstr[1] "шкуры чёрного дракона" +msgstr[2] "шкур чёрного дракона" +msgstr[3] "шкуры чёрного дракона" + +#. ~ Description for black dragon hide +#: lang/json/GENERIC_from_json.py +msgid "" +"Prepared hide from a black dragon. Hard, acid-resistant, and with more " +"scales could make a suit of armor as hard as steel and half as heavy." +msgstr "" +"Дублёная шкура чёрного дракона, прочная и устойчивая к кислоте. Если есть " +"чешуя, из неё можно изготовить доспех, прочный как сталь и вдвое легче " +"стали." + #: lang/json/GENERIC_from_json.py msgid "lesser staff of the magi" msgid_plural "lesser staves of the magi" @@ -58790,6 +60956,19 @@ msgstr "" "слегка светится волшебством, когда вы накладываете заклинания, но в ближнем " "бою мало на что годится." +#: lang/json/GENERIC_from_json.py +msgid "fireball hammer" +msgid_plural "fireball hammers" +msgstr[0] "огнемолот" +msgstr[1] "огнемолота" +msgstr[2] "огнемолотов" +msgstr[3] "огнемолоты" + +#. ~ Description for fireball hammer +#: lang/json/GENERIC_from_json.py +msgid "Use with caution! Flammable! Explosive!" +msgstr "Использовать с осторожностью! Огнеопасно! Взрывоопасно!" + #: lang/json/GENERIC_from_json.py msgid "The Stormhammer" msgid_plural "The Stormhammers" @@ -58854,6 +61033,72 @@ msgstr[3] "жуткие костяные копья" msgid "This is a wicked spear/halberd hybrid entirely created of bone." msgstr "Жуткая помесь копья и алебарды, полностью состоящая из кости." +#. ~ Description for Mjölnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Mjölnir, the legendary hammer of Thor. It is rumored to be able to level " +"mountains with a single blow. You feel the power of Asgard coursing through" +" the hammer." +msgstr "" +"Мьёлнир, молот Тора. Ходят слухи, что одним ударом может сравнять горы с " +"землёй. Он украшен золотым и серебряным орнаментом." + +#: lang/json/GENERIC_from_json.py +msgid "Gungnir" +msgid_plural "Gungnirs" +msgstr[0] "Гунгнир" +msgstr[1] "Гунгнира" +msgstr[2] "Гунгниров" +msgstr[3] "Гунгнир" + +#. ~ Description for Gungnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Gungnir, the spear of Odin. It is rumored to be the perfect spear, " +"perfectly hitting any target regardless of the wielder's strength or skill." +" If feels like Odin's protecting you." +msgstr "" +"Гунгнир, копьё Одина. Говорят, что это копьё всегда безошибочно бьёт в цель," +" независимо от силы или умения его носителя. Оно украшено золотым и " +"серебряным орнаментом." + +#: lang/json/GENERIC_from_json.py +msgid "Gram" +msgid_plural "Grams" +msgstr[0] "Грам" +msgstr[1] "Грама" +msgstr[2] "Грамов" +msgstr[3] "Грам" + +#. ~ Description for Gram +#: lang/json/GENERIC_from_json.py +msgid "" +"Gram, the sword of Sigurd. It is rumored to be the sword that slayed the " +"legendary dragon, Fafnir. Once said to have cleaved Regin's anvil in half, " +"the edge is impeccable." +msgstr "" +"Грам, меч Сигурда. По слухам, этим мечом был убил легендарный дракон Фафнир." +" Так же говорят, что этот меч расколол наковальню Реджина пополам, лезвие " +"безупречно." + +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py +msgid "Laevateinn" +msgid_plural "Laevateinns" +msgstr[0] "Леватейн" +msgstr[1] "Леватейн" +msgstr[2] "Леватейн" +msgstr[3] "Леватейн" + +#. ~ Description for Laevateinn +#: lang/json/GENERIC_from_json.py +msgid "" +"Laevateinn, the staff of Loki. Said to have been plucked from the gates of " +"Hel by Loki. Imbued with a mysterious magic, the magic of the trickster god" +" himself." +msgstr "" +"Леватейн, посох Локи. Говорят, что Локи сорвал его у ворот Хель. Пропитан " +"таинственной магией, магией самого бога-обманщика." + #: lang/json/GENERIC_from_json.py msgid "Spell Scroll" msgid_plural "Spell Scrolls" @@ -59165,8 +61410,8 @@ msgstr[3] "свитки Ослепляющей вспышки" #. ~ Description for Blinding Flash #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" -"Blind enemies for a short time with a sudden, dazzling light. Higher levels " -"deal slightly higher damage." +"Blind enemies for a short time with a sudden, dazzling light. Higher levels" +" deal slightly higher damage." msgstr "" "Резкий сверкающий свет, ненадолго ослепляющий противников. На высоких " "уровнях немного разрушительнее." @@ -59184,7 +61429,7 @@ msgstr[3] "свитки Эфирной хватки" #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" "A mass of spectral hands emerge from the ground, slowing everything in " -"range. Higher levels allow a bigger AoE, and longer effect." +"range. Higher levels allow a bigger AoE, and longer effect." msgstr "" "Множество призрачных рук вырываются из-под земли и замедляют всех области " "воздействия. На высоких уровнях область выше, а эффект дольше." @@ -60142,12 +62387,64 @@ msgstr[3] "свитки Семян Очищения" #. ~ Description for Scroll of Purification Seed #: lang/json/GENERIC_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Greater levels yield" -" greater numbers of seeds." +"You summon a gift of the earth which will purify water. Greater levels " +"yield greater numbers of seeds." msgstr "" "Вы призываете дар земли, способный очищать воду. На высоких уровнях " "призывается больше семян." +#: lang/json/GENERIC_from_json.py +msgid "Scroll of X-ray Vision" +msgid_plural "Scroll of X-ray Visions" +msgstr[0] "Свиток рентгеновского зрения" +msgstr[1] "Свитка рентгеновского зрения" +msgstr[2] "Свитков рентгеновского зрения" +msgstr[3] "Свитки рентгеновского зрения" + +#. ~ Description for Scroll of X-ray Vision +#. ~ Description for X-ray Vision +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You fire a cone of X-rays that magically allow you to see that area for a " +"short time." +msgstr "" +"Вы излучаете конусное рентгеновское поле, которое волшебным образом " +"позволяют вам увидеть эту область на короткое время." + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Clairvoyance" +msgid_plural "Scroll of Clairvoyances" +msgstr[0] "Свиток ясновидения" +msgstr[1] "Свитка ясновидения" +msgstr[2] "Свитков ясновидения" +msgstr[3] "Свитки ясновидения" + +#. ~ Description for Scroll of Clairvoyance +#. ~ Description for Clairvoyance +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "You close your eyes and the earth surrenders its secrets to you." +msgstr "Вы закрываете глаза и вам покоряются секреты земли." + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Lava Bomb" +msgid_plural "Scroll of Lava Bombs" +msgstr[0] "Свиток вулканической бомбы" +msgstr[1] "Свитка вулканической бомбы" +msgstr[2] "Свитков вулканических бомб" +msgstr[3] "Свитки вулканических бомб" + +#. ~ Description for Scroll of Lava Bomb +#. ~ Description for Lava Bomb +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You tear up the ground beneath you to fire a lava bomb: a globe of lava " +"surrounded by hot, solid rock. It shatters upon impact, spraying shards of " +"rock and lava everywhere." +msgstr "" +"Земля разверзается под вами, чтобы запустить вулканическую бомбу: шар лавы, " +"окруженный горячей, твёрдой мантией. Он разрушается при попадании, " +"разбрызгивая лаву и осколки камня повсюду." + #: lang/json/GENERIC_from_json.py msgid "A Technomancer's Guide to Debugging C:DDA" msgid_plural "A Technomancer's Guide to Debugging C:DDAs" @@ -61288,14 +63585,6 @@ msgstr "" "Копия Мьёлнира, молота Тора. Говорят, что с его помощью можно равнять горы с" " землёй одним ударом. Он украшен золотым и серебряным орнаментом." -#: lang/json/GENERIC_from_json.py -msgid "Gungnir" -msgid_plural "Gungnirs" -msgstr[0] "Гунгнир" -msgstr[1] "Гунгнира" -msgstr[2] "Гунгниров" -msgstr[3] "Гунгнир" - #. ~ Description for Gungnir #: lang/json/GENERIC_from_json.py msgid "" @@ -62499,6 +64788,316 @@ msgstr "АРТЕФАКТЫ" msgid "ARMOR" msgstr "БРОНЯ" +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "ITEMS WORN" +msgstr "НАДЕТЫЕ ВЕЩИ" + +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "WEAPON HELD" +msgstr "ОРУЖИЕ В РУКАХ" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Unsorted" +msgstr "Предметы: несортированное" + +#. ~ Description for Loot: Unsorted +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " +"sort items inside. It can overlap with Loot zones of different types." +msgstr "" +"Место для несортированной добычи. Вы можете использовать команду «сортировка" +" предметов» для сортировки вещей внутри. Оно может перекрывать зоны " +"предметов разных типов." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Food" +msgstr "Предметы: еда" + +#. ~ Description for Loot: Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for comestibles. If more specific food zone is not defined, all" +" food is moved here." +msgstr "" +"Место для съестных припасов. Если более конкретная зона для пищи не " +"определена, вся еда перемещается сюда." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Food" +msgstr "Предметы: порт. еда" + +#. ~ Description for Loot: P.Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for perishable comestibles. Does include perishable drinks if " +"such zone is not specified." +msgstr "" +"Место для скоропортящихся продуктов. Включает в себя скоропортящиеся " +"напитки, если для них не указана конкретная зона." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drink" +msgstr "Предметы: напитки" + +#. ~ Description for Loot: Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for drinks. Does include perishable drinks if such zone is not " +"specified." +msgstr "" +"Место для напитков. Включает в себя скоропортящиеся напитки, если для них не" +" указана конкретная зона." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Drink" +msgstr "Предметы: порт. напитки" + +#. ~ Description for Loot: P.Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for perishable drinks." +msgstr "Место для скоропортящихся продуктов." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Guns" +msgstr "Предметы: огнестр. оружие" + +#. ~ Description for Loot: Guns +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for guns, bows and similar wearpons." +msgstr "Место для оружия, луков и прочих похожих штук." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Magazines" +msgstr "Предметы: магазины" + +#. ~ Description for Loot: Magazines +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for gun magazines." +msgstr "Место для магазинов к оружию." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ammo" +msgstr "Предметы: боеприпасы" + +#. ~ Description for Loot: Ammo +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for ammo." +msgstr "Место для патронов." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Weapons" +msgstr "Предметы: оружие" + +#. ~ Description for Loot: Weapons +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for melee weapons." +msgstr "Место для оружия ближнего боя." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Tools" +msgstr "Предметы: инструменты" + +#. ~ Description for Loot: Tools +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for tools." +msgstr "Место для инструментов." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Clothing" +msgstr "Предметы: одежда" + +#. ~ Description for Loot: Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for clothing. Does include filthy clothing if such zone is not " +"specified." +msgstr "" +"Место для одежды. Включает в себя грязную одежду, если для нее не указано " +"конкретной зоны." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Clothing" +msgstr "Предметы: грязная одежда" + +#. ~ Description for Loot: F.Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy clothing." +msgstr "Место для грязной одежды." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drugs" +msgstr "Предметы: мед. препараты" + +#. ~ Description for Loot: Drugs +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for drugs and other medical items." +msgstr "Место для лекарств и прочих медицинских вещей." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Books" +msgstr "Предметы: книги" + +#. ~ Description for Loot: Books +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for books and magazines." +msgstr "Место для книг и журналов." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mods" +msgstr "Предметы: модификации" + +#. ~ Description for Loot: Mods +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firearm modifications and similar items." +msgstr "Место для оружейных модификаций и похожих вещей." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mutagens" +msgstr "Предметы: мутагены" + +#. ~ Description for Loot: Mutagens +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for mutagens, serums, and purifiers." +msgstr "Место для мутагенов, сывороток и очистителей." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Bionics" +msgstr "Предметы: бионика" + +#. ~ Description for Loot: Bionics +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for Compact Bionics Modules, a.k.a. CBMS." +msgstr "Место для Компактных Бионических Модулей, аки КБМ." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: V.Parts" +msgstr "Предметы: детали транспорта" + +#. ~ Description for Loot: V.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for vehicle parts." +msgstr "Место для частей от машин." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Other" +msgstr "Предметы: другое" + +#. ~ Description for Loot: Other +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for other miscellaneous items." +msgstr "Место для прочих вещей." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Fuel" +msgstr "Предметы: топливо" + +#. ~ Description for Loot: Fuel +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for gasoline, diesel, lamp oil and other substances used as a " +"fuel." +msgstr "" +"Место для бензина, дизеля, лампового масла и прочих субстанций, " +"использующихся как топливо." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Seeds" +msgstr "Предметы: семена" + +#. ~ Description for Loot: Seeds +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for seeds, stems and similar items." +msgstr "Место для семян, стеблей и прочих похожих вещей." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Chemical" +msgstr "Предметы: химикаты" + +#. ~ Description for Loot: Chemical +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for chemicals." +msgstr "Место для химикатов." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: S.Parts" +msgstr "Предметы: запчасти" + +#. ~ Description for Loot: S.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for spare parts." +msgstr "Место для запасных частей." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Artifacts" +msgstr "Предметы: артефакты" + +#. ~ Description for Loot: Artifacts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for artifacts" +msgstr "Место для артефактов." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Corpses" +msgstr "Предметы: трупы" + +#. ~ Description for Loot: Corpses +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for corpses" +msgstr "Место для трупов" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Armor" +msgstr "Предметы: броня" + +#. ~ Description for Loot: Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for armor. Does include filthy armor if such zone is not " +"specified." +msgstr "" +"Место для брони. Включает в себя грязную брону, если для нее не указана " +"конкретная зона." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Armor" +msgstr "Предметы: грязная броня" + +#. ~ Description for Loot: F.Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy armor." +msgstr "Место для грязной брони." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Wood" +msgstr "Предметы: дерево" + +#. ~ Description for Loot: Wood +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firewood and items that can be used as such." +msgstr "" +"Место для дров и вещей, которые могут использоваться в этом же смысле." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Custom" +msgstr "Предметы: Настраиваемое" + +#. ~ Description for Loot: Custom +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for loot with a custom filter that you can modify" +msgstr "Место для предметов с настраиваемым изменяемым фильтром." + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ignore" +msgstr "Предметы: игнорировать" + +#. ~ Description for Loot: Ignore +#: lang/json/LOOT_ZONE_from_json.py +msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." +msgstr "" +"Вещи внутри этой зоны игнорируются при использовании «сортировки предметов» " +"в зоне." + #: lang/json/MAGAZINE_from_json.py msgid "ultra-light battery" msgid_plural "ultra-light batteries" @@ -62788,7 +65387,7 @@ msgstr[3] "тяжёлые одноразовые батарейки" #: lang/json/MAGAZINE_from_json.py msgid "" "This is a heavy battery cell, universally compatible with all kinds of " -"industrial-grade equipment and large tools. The battery's chemistry means " +"industrial-grade equipment and large tools. The battery's chemistry means " "that it has a very high capacity, but cannot be recharged." msgstr "" "Тяжёлая батарея, совместимая со всем промышленным оборудованием и большими " @@ -63344,17 +65943,6 @@ msgstr "P320 .357 SIG магазин" msgid "A 14 round double stack box magazine for the SIG Sauer P320." msgstr "Двухрядный коробчатый магазин на 14 патронов для SIG Sauer P320." -#: lang/json/MAGAZINE_from_json.py -msgid "Taurus .38 magazine" -msgstr "Taurus .38 магазин" - -#. ~ Description for Taurus .38 magazine -#: lang/json/MAGAZINE_from_json.py -msgid "A compact steel box magazine for use with the Taurus Pro .38 pistol." -msgstr "" -"Компактный стальной коробчатый магазин для использования с пистолетом Taurus" -" Pro .38." - #: lang/json/MAGAZINE_from_json.py msgid ".38/.357 7-round speedloader" msgstr ".38/.357 обойма на 7 патронов" @@ -63437,6 +66025,18 @@ msgstr "Стальной коробчатый магазин на 8 патрон msgid "A 10-round steel box magazine for use with the Hi-Point CF-380." msgstr "Стальной коробчатый магазин на 10 патронов для Hi-Point CF-380." +#: lang/json/MAGAZINE_from_json.py +msgid "Taurus Spectrum magazine" +msgstr "Taurus Spectrum магазин" + +#. ~ Description for Taurus Spectrum magazine +#: lang/json/MAGAZINE_from_json.py +msgid "" +"A compact, 6-round steel box magazine for use with the Taurus Spectrum." +msgstr "" +"Компактный стальной коробчатый магазин на 6 патронов для использования с " +"пистолетом Taurus Spectrum." + #: lang/json/MAGAZINE_from_json.py msgid "M1911 .38 Super magazine" msgstr "M1991 .38 Супер магазин" @@ -64589,19 +67189,6 @@ msgstr "" "Большой стальной цилиндр, предназначенный для хранения газов для сварки под " "давлением. Он помечен несколькими выцветшими и нечитаемыми символами." -#: lang/json/MAGAZINE_from_json.py -msgid "oxygen cylinder" -msgstr "кислородный баллон" - -#. ~ Description for oxygen cylinder -#: lang/json/MAGAZINE_from_json.py -msgid "" -"A large steel cylinder used for storing pressurized gas. It is marked with a" -" faded, but legible O2 symbol." -msgstr "" -"Большой стальной цилиндр для хранения газов под давлением. На нём " -"полустёртый, но читаемый символ О2." - #: lang/json/MAGAZINE_from_json.py lang/json/vehicle_part_from_json.py msgid "car battery" msgid_plural "car batteries" @@ -65419,6 +68006,15 @@ msgstr "" "Ношение грязной (выпавшей из зомби) одежды понижает мораль и может вызвать " "инфекцию при попадании по ней." +#: lang/json/MOD_INFO_from_json.py +msgid "Fuji's Military Profession Pack" +msgstr "Пак военных профессий от Fuji" + +#. ~ Description for Fuji's Military Profession Pack +#: lang/json/MOD_INFO_from_json.py +msgid "Numerous military themed professions" +msgstr "Различные военно-тематические звания и профессии" + #: lang/json/MOD_INFO_from_json.py msgid "Fuji's More Buildings" msgstr "Больше зданий Фуджи" @@ -65598,7 +68194,7 @@ msgstr "Мой Сладкий Катаклизм" msgid "" "Cataclysm is nice, but what if you could sweeten it a bit? What about " "walking through this world as a human shaped piece of sugar with your pet " -"necco waffer?" +"necco wafer?" msgstr "" "Катаклизм и так хорош, но почему бы его не подсластить? Как насчёт погулять " "по миру в виде сахарной фигурки с питомцем-вафелькой?" @@ -66061,7 +68657,7 @@ msgstr "Генерация карты демо" #. ~ Description for Mapgen Demo #: lang/json/MOD_INFO_from_json.py msgid "Demo for JSONized mapgens (megastore, missile silo)." -msgstr "Демо-версия JSONизированных локаций (гипермаркет, ракетная шахта)." +msgstr "Демо-версия JSON-изированных локаций (супермаркет, ракетная шахта)." #: lang/json/MOD_INFO_from_json.py msgid "Classes and Scenarios Mod" @@ -66257,13 +68853,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "goose" -msgid_plural "gooses" +msgid_plural "geese" msgstr[0] "гусь" msgstr[1] "гуся" msgstr[2] "гусей" msgstr[3] "гуси" -#. ~ Description for goose +#. ~ Description for {'str': 'goose', 'str_pl': 'geese'} #: lang/json/MONSTER_from_json.py msgid "A Canadian goose, a common waterfowl that regrets leaving Canada." msgstr "" @@ -66645,72 +69241,72 @@ msgstr[3] "дроны-ядерные мини-бомбы" #: lang/json/MONSTER_from_json.py msgid "" "Many times as large as a normal manhack, this flying quadcopter drone " -"appears to have a mininuke inside. If this is targeting you... Run." +"appears to have a mininuke inside. If this is targeting you… Run." msgstr "" "Автоматический дрон-квадрокоптер во много раз больше обычного, по-видимому с" " ядерной мини-бомбой внутри. Если он нацелится на вас… Бегите." #: lang/json/MONSTER_from_json.py msgid "tiny fish" -msgid_plural "tiny fishs" -msgstr[0] "крошечная рыбка" -msgstr[1] "крошечных рыбки" -msgstr[2] "крошечных рыбок" -msgstr[3] "крошечные рыбки" +msgid_plural "tiny fish" +msgstr[0] "рыбёшка" +msgstr[1] "рыбёшки" +msgstr[2] "рыбёшек" +msgstr[3] "рыбёшки" -#. ~ Description for tiny fish +#. ~ Description for {'str': 'tiny fish', 'str_pl': 'tiny fish'} #: lang/json/MONSTER_from_json.py msgid "A tiny fish." msgstr "Крошечная рыбка." #: lang/json/MONSTER_from_json.py msgid "small fish" -msgid_plural "small fishs" -msgstr[0] "маленькая рыбка" -msgstr[1] "маленьких рыбки" -msgstr[2] "маленьких рыбок" -msgstr[3] "маленькие рыбки" +msgid_plural "small fish" +msgstr[0] "рыбка" +msgstr[1] "рыбки" +msgstr[2] "рыбок" +msgstr[3] "рыбки" -#. ~ Description for small fish +#. ~ Description for {'str': 'small fish', 'str_pl': 'small fish'} #: lang/json/MONSTER_from_json.py msgid "A small fish." msgstr "Маленькая рыбка." #: lang/json/MONSTER_from_json.py msgid "medium fish" -msgid_plural "medium fishs" -msgstr[0] "средняя рыба" -msgstr[1] "средних рыбы" -msgstr[2] "средних рыб" -msgstr[3] "средние рыбы" +msgid_plural "medium fish" +msgstr[0] "рыба" +msgstr[1] "рыбы" +msgstr[2] "рыб" +msgstr[3] "рыбы" -#. ~ Description for medium fish +#. ~ Description for {'str': 'medium fish', 'str_pl': 'medium fish'} #: lang/json/MONSTER_from_json.py msgid "A medium fish." msgstr "Средняя рыба." #: lang/json/MONSTER_from_json.py msgid "large fish" -msgid_plural "large fishs" -msgstr[0] "большая рыба" -msgstr[1] "больших рыбы" -msgstr[2] "больших рыб" -msgstr[3] "большие рыбы" +msgid_plural "large fish" +msgstr[0] "рыбина" +msgstr[1] "рыбины" +msgstr[2] "рыбин" +msgstr[3] "рыбины" -#. ~ Description for large fish +#. ~ Description for {'str': 'large fish', 'str_pl': 'large fish'} #: lang/json/MONSTER_from_json.py msgid "A large fish." msgstr "Большая рыба." #: lang/json/MONSTER_from_json.py msgid "huge fish" -msgid_plural "huge fishs" +msgid_plural "huge fish" msgstr[0] "огромная рыбина" -msgstr[1] "огромных рыбины" +msgstr[1] "огромные рыбины" msgstr[2] "огромных рыбин" msgstr[3] "огромные рыбины" -#. ~ Description for huge fish +#. ~ Description for {'str': 'huge fish', 'str_pl': 'huge fish'} #: lang/json/MONSTER_from_json.py msgid "A huge fish." msgstr "Огромная рыбина." @@ -66882,13 +69478,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "whitefish" -msgid_plural "whitefishs" +msgid_plural "whitefish" msgstr[0] "сиг" -msgstr[1] "сига" -msgstr[2] "сигов" +msgstr[1] "сиги" +msgstr[2] "сиг" msgstr[3] "сиги" -#. ~ Description for whitefish +#. ~ Description for {'str': 'whitefish', 'str_pl': 'whitefish'} #: lang/json/MONSTER_from_json.py msgid "" "A whitefish, closely related to salmon. One can assume they are just as " @@ -66899,26 +69495,26 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "largemouth bass" -msgid_plural "largemouth basss" +msgid_plural "largemouth bass" msgstr[0] "большеротый окунь" msgstr[1] "большеротых окуня" msgstr[2] "большеротых окуней" msgstr[3] "большеротые окуни" -#. ~ Description for largemouth bass +#. ~ Description for {'str': 'largemouth bass', 'str_pl': 'largemouth bass'} #: lang/json/MONSTER_from_json.py msgid "A Largemouth Bass. Very popular with sports fishermen." msgstr "Большеротый окунь. Очень популярен в спортивной рыбалке." #: lang/json/MONSTER_from_json.py msgid "smallmouth bass" -msgid_plural "smallmouth basss" +msgid_plural "smallmouth bass" msgstr[0] "малоротый окунь" msgstr[1] "малоротых окуня" msgstr[2] "малоротых окуней" msgstr[3] "малоротые окуни" -#. ~ Description for smallmouth bass +#. ~ Description for {'str': 'smallmouth bass', 'str_pl': 'smallmouth bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Smallmouth Bass. Being intolerant to pollution in the water, smallmouth " @@ -66929,13 +69525,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "striped bass" -msgid_plural "striped basss" +msgid_plural "striped bass" msgstr[0] "полосатый окунь" msgstr[1] "полосатых окуня" msgstr[2] "полосатых окуней" msgstr[3] "полосатые окуни" -#. ~ Description for striped bass +#. ~ Description for {'str': 'striped bass', 'str_pl': 'striped bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Striped Bass. Mostly a salt water fish, they migrate to fresher water to " @@ -66946,13 +69542,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "white bass" -msgid_plural "white basss" +msgid_plural "white bass" msgstr[0] "белый окунь" msgstr[1] "белых окуня" msgstr[2] "белых окуней" msgstr[3] "белые окуни" -#. ~ Description for white bass +#. ~ Description for {'str': 'white bass', 'str_pl': 'white bass'} #: lang/json/MONSTER_from_json.py msgid "" "A White Bass. Common to the region, a slab-sided and spiny-rayed little " @@ -66963,13 +69559,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "perch" -msgid_plural "perchs" +msgid_plural "perches" msgstr[0] "речной окунь" msgstr[1] "речных окуня" msgstr[2] "речных окуней" msgstr[3] "речные окуни" -#. ~ Description for perch +#. ~ Description for {'str': 'perch', 'str_pl': 'perches'} #: lang/json/MONSTER_from_json.py msgid "" "A small spritely Perch. A very bony fish, still got some tasty meat on it " @@ -66993,26 +69589,27 @@ msgstr "Зеленовато-коричневая рыба среднего ра #: lang/json/MONSTER_from_json.py msgid "sunfish" -msgid_plural "sunfishs" +msgid_plural "sunfish" msgstr[0] "солнечник" msgstr[1] "солнечника" msgstr[2] "солнечников" msgstr[3] "солнечники" -#. ~ Description for sunfish +#. ~ Description for {'str': 'sunfish', 'str_pl': 'sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Sunfish. A small fish related to bass or bluegill." msgstr "Рыба-луна. Маленькая рыбка, родственная окуню и солнечнику." #: lang/json/MONSTER_from_json.py msgid "pumpkinseed sunfish" -msgid_plural "pumpkinseed sunfishs" +msgid_plural "pumpkinseed sunfish" msgstr[0] "обыкновенный солнечник" msgstr[1] "обыкновенных солнечника" msgstr[2] "обыкновенных солнечников" msgstr[3] "обыкновенные солнечники" -#. ~ Description for pumpkinseed sunfish +#. ~ Description for {'str': 'pumpkinseed sunfish', 'str_pl': 'pumpkinseed +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Pumpkinseed Sunfish. A small fish related to bass or bluegill." msgstr "Обыкновенный солнечник. Маленькая рыбка, родственная окуню." @@ -67035,65 +69632,66 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "redbreast sunfish" -msgid_plural "redbreast sunfishs" +msgid_plural "redbreast sunfish" msgstr[0] "красногрудый солнечник" msgstr[1] "красногрудых солнечника" msgstr[2] "красногрудых солнечников" msgstr[3] "красногрудые солнечники" -#. ~ Description for redbreast sunfish +#. ~ Description for {'str': 'redbreast sunfish', 'str_pl': 'redbreast +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redbreast Sunfish. A small fish related to bass or bluegill." msgstr "Красногрудый солнечник. Маленькая рыбка, родственная окуню." #: lang/json/MONSTER_from_json.py msgid "green sunfish" -msgid_plural "green sunfishs" +msgid_plural "green sunfish" msgstr[0] "зелёный солнечник" msgstr[1] "зелёных солнечника" msgstr[2] "зелёных солнечников" msgstr[3] "зелёные солнечники" -#. ~ Description for green sunfish +#. ~ Description for {'str': 'green sunfish', 'str_pl': 'green sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Green Sunfish. A small fish related to bass or bluegill." msgstr "Зелёный солнечник. Маленькая рыбка, родственная окуню." #: lang/json/MONSTER_from_json.py msgid "longear sunfish" -msgid_plural "longear sunfishs" +msgid_plural "longear sunfish" msgstr[0] "длинноухий солнечник" msgstr[1] "длинноухих солнечника" msgstr[2] "длинноухих солнечников" msgstr[3] "длинноухие солнечники" -#. ~ Description for longear sunfish +#. ~ Description for {'str': 'longear sunfish', 'str_pl': 'longear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Longear Sunfish. A small fish related to bass or bluegill." msgstr "Длинноухий солнечник. Маленькая рыбка, родственная окуню." #: lang/json/MONSTER_from_json.py msgid "redear sunfish" -msgid_plural "redear sunfishs" +msgid_plural "redear sunfish" msgstr[0] "красноухий солнечник" msgstr[1] "красноухих солнечника" msgstr[2] "красноухих солнечников" msgstr[3] "красноухие солнечники" -#. ~ Description for redear sunfish +#. ~ Description for {'str': 'redear sunfish', 'str_pl': 'redear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redear Sunfish. A small fish related to bass or bluegill." msgstr "Красноухий солнечник. Маленькая рыбка, родственная окуню." #: lang/json/MONSTER_from_json.py msgid "rock bass" -msgid_plural "rock basss" +msgid_plural "rock bass" msgstr[0] "каменный окунь" msgstr[1] "каменных окуня" msgstr[2] "каменных окуней" msgstr[3] "каменные окуни" -#. ~ Description for rock bass +#. ~ Description for {'str': 'rock bass', 'str_pl': 'rock bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Rock Bass. Related to sunfish, this tiny fish has a camoflauge-like " @@ -67104,13 +69702,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "calico bass" -msgid_plural "calico basss" +msgid_plural "calico bass" msgstr[0] "ситцевый окунь" msgstr[1] "ситцевых окуня" msgstr[2] "ситцевых окуней" msgstr[3] "ситцевые окуни" -#. ~ Description for calico bass +#. ~ Description for {'str': 'calico bass', 'str_pl': 'calico bass'} #: lang/json/MONSTER_from_json.py msgid "A Calico Bass. A medium-sized fish also known as a 'Crappie'." msgstr "" @@ -67148,26 +69746,26 @@ msgstr "Сомик, один из типов кошачьих сомов. Оче #: lang/json/MONSTER_from_json.py msgid "channel catfish" -msgid_plural "channel catfishs" +msgid_plural "channel catfish" msgstr[0] "канальный сомик" msgstr[1] "канальных сомика" msgstr[2] "канальных сомиков" msgstr[3] "канальные сомики" -#. ~ Description for channel catfish +#. ~ Description for {'str': 'channel catfish', 'str_pl': 'channel catfish'} #: lang/json/MONSTER_from_json.py msgid "A Channel Catfish, they have a forked tail and long whiskers." msgstr "Канальный сомик, у этой рыбы раздвоенный хвост и длинные усы." #: lang/json/MONSTER_from_json.py msgid "white catfish" -msgid_plural "white catfishs" +msgid_plural "white catfish" msgstr[0] "белый сомик" msgstr[1] "белых сомика" msgstr[2] "белых сомиков" msgstr[3] "белые сомики" -#. ~ Description for white catfish +#. ~ Description for {'str': 'white catfish', 'str_pl': 'white catfish'} #: lang/json/MONSTER_from_json.py msgid "A White Catfish, a small whiskered fish with a broad head." msgstr "Белый сомик, маленькая усатая рыбка с широкой головой." @@ -67281,13 +69879,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fallfish" -msgid_plural "fallfishs" +msgid_plural "fallfish" msgstr[0] "сильный семотилус" msgstr[1] "сильных семотилуса" msgstr[2] "сильных семотилусов" msgstr[3] "сильные семотилусы" -#. ~ Description for fallfish +#. ~ Description for {'str': 'fallfish', 'str_pl': 'fallfish'} #: lang/json/MONSTER_from_json.py msgid "" "A Fallfish. These fish are related to gar but without the huge teeth, skin " @@ -67309,25 +69907,25 @@ msgstr[3] "омары" msgid "" "These things were once considered pests not worth eating, then some " "marketing genius started selling them to people as a delicacy and they took " -"off in popularity... and price." +"off in popularity… and price." msgstr "" "Когда-то этих животных считали вредителями, которых и есть-то не стоит. Но " "затем один гений маркетинга начал продавать их как деликатес, и их " -"популярность взлетела… как и цена." +"популярность взлетела… Как и цена." #: lang/json/MONSTER_from_json.py msgid "crayfish" -msgid_plural "crayfishs" +msgid_plural "crayfish" msgstr[0] "рак" msgstr[1] "рака" msgstr[2] "раков" msgstr[3] "раки" -#. ~ Description for crayfish +#. ~ Description for {'str': 'crayfish', 'str_pl': 'crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "If you could get ahold of a bunch more of these, a hefty pot of boiling " -"water, and some spicy seasonings..." +"water, and some spicy seasonings…" msgstr "" "Если бы вам только удалось найти ещё кучку таких же, здоровую кастрюлю с " "кипящей водой и немного пряных приправ…" @@ -67340,7 +69938,7 @@ msgstr[1] "блинки" msgstr[2] "блинки" msgstr[3] "блинки" -#. ~ Description for Blinky +#. ~ Description for {'str': 'Blinky', 'str_pl': 'Blinkies'} #: lang/json/MONSTER_from_json.py msgid "A strange three-eyed fish." msgstr "Странная трёхглазая рыба." @@ -67478,13 +70076,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant cockroach" -msgid_plural "giant cockroachs" -msgstr[0] "гигантский таракан" -msgstr[1] "гигантских таракана" -msgstr[2] "гигантских тараканов" -msgstr[3] "гигантские тараканы" +msgid_plural "giant cockroaches" +msgstr[0] "тараканище" +msgstr[1] "тараканища" +msgstr[2] "тараканищ" +msgstr[3] "тараканищи" -#. ~ Description for giant cockroach +#. ~ Description for {'str': 'giant cockroach', 'str_pl': 'giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "A mutant cockroach the size of a small dog." msgstr "Мутировавший таракан размером с небольшую собаку." @@ -67504,13 +70102,14 @@ msgstr "Детёныш мутировавшего таракана размер #: lang/json/MONSTER_from_json.py msgid "pregnant giant cockroach" -msgid_plural "pregnant giant cockroachs" -msgstr[0] "беременный гигантский таракан" -msgstr[1] "беременных гигантских таракана" -msgstr[2] "беременных гигантских тараканов" -msgstr[3] "беременные гигантские тараканы" +msgid_plural "pregnant giant cockroaches" +msgstr[0] "беременный тараканище" +msgstr[1] "беременных тараканища" +msgstr[2] "беременных тараканищей" +msgstr[3] "беременные тараканищи" -#. ~ Description for pregnant giant cockroach +#. ~ Description for {'str': 'pregnant giant cockroach', 'str_pl': 'pregnant +#. giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant cockroach the size of a small dog. Its abdomen is heavily swollen." @@ -67560,7 +70159,7 @@ msgstr[1] "гигантских стрекозы" msgstr[2] "гигантских стрекоз" msgstr[3] "гигантская стрекоза" -#. ~ Description for giant dragonfly +#. ~ Description for {'str': 'giant dragonfly', 'str_pl': 'giant dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A ferocious mutant dragonfly as big as a cat, darting through the air with a" @@ -67577,7 +70176,7 @@ msgstr[1] "гигантских мухи" msgstr[2] "гигантских мух" msgstr[3] "гигантская муха" -#. ~ Description for giant fly +#. ~ Description for {'str': 'giant fly', 'str_pl': 'giant flies'} #: lang/json/MONSTER_from_json.py msgid "" "A tremendous housefly the size of a small dog, predictably accompanied by a " @@ -67812,13 +70411,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dermatik larva" -msgid_plural "dermatik larvas" +msgid_plural "dermatik larvae" msgstr[0] "личинка дерматика" msgstr[1] "личинки дерматика" msgstr[2] "личинок дерматика" -msgstr[3] "личинки дерматика" +msgstr[3] "личинки дерматиков" -#. ~ Description for dermatik larva +#. ~ Description for {'str': 'dermatik larva', 'str_pl': 'dermatik larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A fat white grub as big as a squirrel, with a pair of large, spadelike " @@ -67861,13 +70460,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "acidic ant larva" -msgid_plural "acidic ant larvas" +msgid_plural "acidic ant larvae" msgstr[0] "личинка кислотного муравья" msgstr[1] "личинки кислотного муравья" msgstr[2] "личинок кислотного муравья" msgstr[3] "личинки кислотного муравья" -#. ~ Description for acidic ant larva +#. ~ Description for {'str': 'acidic ant larva', 'str_pl': 'acidic ant +#. larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A squirming yellow grub that seems to be oozing liquid from both ends of its" @@ -67935,13 +70535,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "ant larva" -msgid_plural "ant larvas" +msgid_plural "ant larvae" msgstr[0] "личинка муравья" msgstr[1] "личинки муравья" msgstr[2] "личинок муравья" msgstr[3] "личинки муравья" -#. ~ Description for ant larva +#. ~ Description for {'str': 'ant larva', 'str_pl': 'ant larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A pulsating sausage of glistening white flesh, the size of a large cat. On " @@ -68287,13 +70887,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Labrador puppy" -msgid_plural "Labrador puppys" +msgid_plural "Labrador puppies" msgstr[0] "щенок лабрадора" msgstr[1] "щенка лабрадора" msgstr[2] "щенят лабрадора" -msgstr[3] "щенята лабрадора" +msgstr[3] "щенки лабрадора" -#. ~ Description for Labrador puppy +#. ~ Description for {'str': 'Labrador puppy', 'str_pl': 'Labrador puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Labrador puppy. Much safer to tame than an adult " @@ -68321,13 +70921,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bulldog puppy" -msgid_plural "bulldog puppys" +msgid_plural "bulldog puppies" msgstr[0] "щенок бульдога" -msgstr[1] "щенка бульдога" -msgstr[2] "щенят бульдога" -msgstr[3] "щенята бульдога" +msgstr[1] "щенки бульдога" +msgstr[2] "щенки бульдога" +msgstr[3] "щенки бульдога" -#. ~ Description for bulldog puppy +#. ~ Description for {'str': 'bulldog puppy', 'str_pl': 'bulldog puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless American bulldog puppy. Much safer to tame than an" @@ -68338,13 +70938,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull mix" -msgid_plural "pit bull mixs" +msgid_plural "pit bull mixes" msgstr[0] "питбуль" msgstr[1] "питбуля" msgstr[2] "питбулей" msgstr[3] "питбули" -#. ~ Description for pit bull mix +#. ~ Description for {'str': 'pit bull mix', 'str_pl': 'pit bull mixes'} #: lang/json/MONSTER_from_json.py msgid "" "The oft-misunderstood pit bull is not actually a single breed but a label " @@ -68357,13 +70957,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull puppy" -msgid_plural "pit bull puppys" +msgid_plural "pit bull puppies" msgstr[0] "щенок питбуля" msgstr[1] "щенка питбуля" -msgstr[2] "щенят питбуля" -msgstr[3] "щенята питбуля" +msgstr[2] "щенков питбуля" +msgstr[3] "щенки питбуля" -#. ~ Description for pit bull puppy +#. ~ Description for {'str': 'pit bull puppy', 'str_pl': 'pit bull puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless pit bull puppy. Much safer to tame than an adult " @@ -68391,13 +70991,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "beagle puppy" -msgid_plural "beagle puppys" +msgid_plural "beagle puppies" msgstr[0] "щенок бигля" msgstr[1] "щенка бигля" msgstr[2] "щенят бигля" -msgstr[3] "щенята бигля" +msgstr[3] "щенки бигля" -#. ~ Description for beagle puppy +#. ~ Description for {'str': 'beagle puppy', 'str_pl': 'beagle puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless beagle puppy. Much safer to tame than an adult " @@ -68426,13 +71026,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "border collie puppy" -msgid_plural "border collie puppys" +msgid_plural "border collie puppies" msgstr[0] "щенок бордер-колли" msgstr[1] "щенка бордер-колли" -msgstr[2] "щенят бордер-колли" -msgstr[3] "щенята бордер-колли" +msgstr[2] "щенков бордер-колли" +msgstr[3] "щенки бордер-колли" -#. ~ Description for border collie puppy +#. ~ Description for {'str': 'border collie puppy', 'str_pl': 'border collie +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Border Collie puppy. Much safer to tame than an " @@ -68460,13 +71061,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "boxer puppy" -msgid_plural "boxer puppys" +msgid_plural "boxer puppies" msgstr[0] "щенок боксёра" msgstr[1] "щенка боксёра" msgstr[2] "щенят боксёра" -msgstr[3] "щенята боксёра" +msgstr[3] "щенки боксёра" -#. ~ Description for boxer puppy +#. ~ Description for {'str': 'boxer puppy', 'str_pl': 'boxer puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless boxer puppy. Much safer to tame than an adult dog." @@ -68493,13 +71094,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Chihuahua puppy" -msgid_plural "Chihuahua puppys" +msgid_plural "Chihuahua puppies" msgstr[0] "щенок чихуахуа" msgstr[1] "щенка чихуахуа" msgstr[2] "щенят чихуахуа" -msgstr[3] "щенята чихуахуа" +msgstr[3] "щенки чихуахуа" -#. ~ Description for Chihuahua puppy +#. ~ Description for {'str': 'Chihuahua puppy', 'str_pl': 'Chihuahua puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Chihuahua puppy. Much safer to tame than an adult " @@ -68529,13 +71130,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dachshund puppy" -msgid_plural "dachshund puppys" +msgid_plural "dachshund puppies" msgstr[0] "щенок таксы" msgstr[1] "щенка таксы" msgstr[2] "щенят таксы" -msgstr[3] "щенята таксы" +msgstr[3] "щенки таксы" -#. ~ Description for dachshund puppy +#. ~ Description for {'str': 'dachshund puppy', 'str_pl': 'dachshund puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless dachshund puppy. Much safer to tame than an adult " @@ -68563,13 +71164,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "German shepherd puppy" -msgid_plural "German shepherd puppys" +msgid_plural "German shepherd puppies" msgstr[0] "щенок немецкой овчарки" msgstr[1] "щенка немецкой овчарки" msgstr[2] "щенят немецкой овчарки" -msgstr[3] "щенята немецкой овчарки" +msgstr[3] "щенки немецкой овчарки" -#. ~ Description for German shepherd puppy +#. ~ Description for {'str': 'German shepherd puppy', 'str_pl': 'German +#. shepherd puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless German shepherd puppy. Much safer to tame than an " @@ -68580,13 +71182,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees" -msgid_plural "Great Pyreneess" -msgstr[0] "большой пиреней" -msgstr[1] "больших пиренея" -msgstr[2] "больших пиренеев" -msgstr[3] "большие пиренеи" +msgid_plural "Great Pyrenees" +msgstr[0] "пиренейская горная" +msgstr[1] "пиренейских горных" +msgstr[2] "пиренейских горных" +msgstr[3] "пиренейские горные" -#. ~ Description for Great Pyrenees +#. ~ Description for {'str': 'Great Pyrenees', 'str_pl': 'Great Pyrenees'} #: lang/json/MONSTER_from_json.py msgid "" "A large and powerful breed, the Great Pyrenees has a beautiful, thick white " @@ -68599,13 +71201,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees puppy" -msgid_plural "Great Pyrenees puppys" -msgstr[0] "щенок большого пиренея" -msgstr[1] "щенка большого пиренея" -msgstr[2] "щенят большого пиренея" -msgstr[3] "щенята большого пиренея" +msgid_plural "Great Pyrenees puppies" +msgstr[0] "щенок пиренейской горной" +msgstr[1] "щенка пиренейской горной" +msgstr[2] "щенят пиренейской горной" +msgstr[3] "щенки пиренейской горной" -#. ~ Description for Great Pyrenees puppy +#. ~ Description for {'str': 'Great Pyrenees puppy', 'str_pl': 'Great Pyrenees +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Great Pyrenees puppy. Much safer to tame than an " @@ -68634,13 +71237,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rottweiler puppy" -msgid_plural "rottweiler puppys" +msgid_plural "rottweiler puppies" msgstr[0] "щенок ротвейлера" msgstr[1] "щенка ротвейлера" -msgstr[2] "щенят ротвейлера" -msgstr[3] "щенята ротвейлера" +msgstr[2] "щенков ротвейлера" +msgstr[3] "щенки ротвейлера" -#. ~ Description for rottweiler puppy +#. ~ Description for {'str': 'rottweiler puppy', 'str_pl': 'rottweiler +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Rottweiler puppy. Much safer to tame than an adult" @@ -68668,13 +71272,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cattle dog puppy" -msgid_plural "cattle dog puppys" -msgstr[0] "щенок австралийской пастушьей собаки" -msgstr[1] "щенка австралийской пастушьей собаки" -msgstr[2] "щенят австралийской пастушьей собаки" -msgstr[3] "щенята австралийской пастушьей собаки" +msgid_plural "cattle dog puppies" +msgstr[0] "щенок австралийской пастушьей" +msgstr[1] "щенка австралийской пастушьей" +msgstr[2] "щенят австралийской пастушьей" +msgstr[3] "щенки австралийской пастушьей" -#. ~ Description for cattle dog puppy +#. ~ Description for {'str': 'cattle dog puppy', 'str_pl': 'cattle dog +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Australian cattle dog puppy. Much safer to tame " @@ -68691,7 +71296,7 @@ msgstr[1] "лисицы" msgstr[2] "лисиц" msgstr[3] "лисица" -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A small omnivorous canine with an almost cat-like manner. It is a solitary " @@ -68701,7 +71306,7 @@ msgstr "" "Охотится в одиночку, а также является единственным из псовых, способным " "лазить по деревьям." -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "The red fox, an omnivorous canine and largest of the true foxes, it is a " @@ -68803,13 +71408,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "moose" -msgid_plural "mooses" +msgid_plural "moose" msgstr[0] "лось" msgstr[1] "лося" msgstr[2] "лосей" msgstr[3] "лоси" -#. ~ Description for moose +#. ~ Description for {'str': 'moose', 'str_pl': 'moose'} #: lang/json/MONSTER_from_json.py msgid "" "The Eastern moose, the largest living species of deer. While they aren't " @@ -68992,10 +71597,10 @@ msgstr[3] "канализационные крысы" #: lang/json/MONSTER_from_json.py msgid "" "A worm-tailed rodent with long whiskers and beady eyes. The way it squeaks " -"makes it sound... hungry." +"makes it sound… hungry." msgstr "" "Грызун с лысым хвостом и глазами-бусинками. Когда он пищит, звучит как будто" -" он… голоден." +" он… Голоден." #: lang/json/MONSTER_from_json.py msgid "lamb" @@ -69024,7 +71629,7 @@ msgstr[1] "овцы" msgstr[2] "овец" msgstr[3] "овца" -#. ~ Description for sheep +#. ~ Description for {'str': 'sheep', 'str_pl': 'sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A timid, hooved grazing mammal, and one of the first animals ever " @@ -69091,7 +71696,7 @@ msgstr[1] "волка" msgstr[2] "волков" msgstr[3] "волк" -#. ~ Description for wolf +#. ~ Description for {'str': 'wolf', 'str_pl': 'wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A cunning pack predator, once extinct in the New England area, the wolf was " @@ -69148,7 +71753,7 @@ msgid "" " field. You may be able to hack it to accept you as its pilot. Like all " "mech-suits it can act as a UPS from its large battery." msgstr "" -"Свежая новинка американской армии - РМКЭ (Разведывательный Механический " +"Свежая новинка американской армии — РМКЭ (Разведывательный Механический " "Костюм-Экзоскелет) производства Боинг-Дэу, разработанный для выполнения роли" " разведчика и снайпера благодаря мобильности и встроенному лазерному " "снайперскому ружью с высококлассной оптикой для определения целей и " @@ -69175,7 +71780,7 @@ msgid "" "You may be able to hack it to accept you as its pilot. Like all mech-suits " "it can act as a UPS from its large battery." msgstr "" -"Свежая новинка американской армии - БМКЭ (Боевой Механический Костюм-" +"Свежая новинка американской армии — БМКЭ (Боевой Механический Костюм-" "Экзоскелет) производства Боинг-Дэу, разработанный для огневой поддержки при " "помощи устрашающего встроенного многоствольного лазера. До наступления " "Катаклизма массово на вооружение не поступил, хотя несколько прототипов " @@ -69200,7 +71805,7 @@ msgid "" "prototypes in the field. You may be able to hack it to accept you as its " "pilot. Like all mech-suits it can act as a UPS from its large battery." msgstr "" -"Свежая новинка американской армии - ПМКЭ (Погрузочный Механический Костюм-" +"Свежая новинка американской армии — ПМКЭ (Погрузочный Механический Костюм-" "Экзоскелет) производства Боинг-Дэу, разработанный для погрузки и разгрузки " "тяжёлых предметов и ограниченной боевой поддержки. До наступления Катаклизма" " массово на вооружение не поступил, хотя несколько прототипов участвовали в " @@ -69295,10 +71900,10 @@ msgid "" "you must assume sensory devices and mouth." msgstr "" "Инопланетное существо, как и другие ми-го. У этого броня намного тяжелее. " -"Его тело - бесформенная масса странной плоти, заключённой в переливающийся " +"Его тело — бесформенная масса странной плоти, заключённой в переливающийся " "панцирь. Из панциря торчат несколько отростков, оканчивающихся чем-то вроде " "каких-то устройств. Пирамидальная голова покрыта похожей на ракушку бронёй, " -"открыты только - как вы предполагаете - рот и органы чувств." +"открыты только — как вы предполагаете — рот и органы чувств." #: lang/json/MONSTER_from_json.py msgid "mi-go myrmidon" @@ -69459,7 +72064,7 @@ msgstr[1] "чистотела" msgstr[2] "чистотелов" msgstr[3] "чистотел" -#. ~ Description for blank body +#. ~ Description for {'str': 'blank body', 'str_pl': 'blank bodies'} #: lang/json/MONSTER_from_json.py msgid "" "This is some form of unnatural changeling creature; its appearance is a " @@ -69625,11 +72230,29 @@ msgstr[3] "огромные бумеры" #: lang/json/MONSTER_from_json.py msgid "" "This boomer, normally swollen and ready to burst, has strengthened and " -"solidified. The bile dribbling from its mouth also appears to have " -"changed..." +"solidified. The bile dribbling from its mouth also appears to have changed…" msgstr "" "Этот раздувшийся бумер был готов взорваться, но окреп и затвердел. Желчь, " -"капающая из его рта, похоже, также изменилась…" +"капающая из его рта, похоже, также изменилась." + +#: lang/json/MONSTER_from_json.py +msgid "dissoluted devourer" +msgid_plural "dissoluted devourers" +msgstr[0] "развратный пожиратель" +msgstr[1] "развратных пожирателя" +msgstr[2] "развратных пожирателей" +msgstr[3] "развратные пожиратели" + +#. ~ Description for dissoluted devourer +#: lang/json/MONSTER_from_json.py +msgid "" +"Human bodies fused together into a colossus with heads and limbs sticking " +"out of its bloated body. You may have trouble estimating its healthiness " +"and its capabilities might change." +msgstr "" +"Гигантское раздутое нечто, состоящее из человеческих тел, с торчащими в " +"разные стороны головами и конечностями. Глядя на это, вы точно не уверены " +"сколько свинца ему нужно для упокоения, оно постоянно меняется." #: lang/json/MONSTER_from_json.py msgid "breather" @@ -69690,13 +72313,12 @@ msgid "" "A human fused with a mess of metal parts and wires. While its eyes are " "empty, flashes of pain pass across its face reminiscent of the person " "trapped in this grotesque body. With enough surgical skills one might be " -"able to give them back some humanity. If only they cared..." +"able to give them back some humanity. If only they cared…" msgstr "" -"Человек, слившийся с беспорядочной мешаниной металлических частей и " -"проводов. Хотя глаза его пусты, вспышки боли пробегают по лицу как " -"напоминание о личности, запертой в изуродованном теле. При наличии " -"хирургических навыков вы могли бы вернуть ему человечность. Если вас это " -"волнует, конечно…" +"Человек из плоти с беспорядочной мешаниной металлических частей и проводов. " +"Хотя глаза его пусты, вспышки боли пробегают по лицу как напоминание о " +"личности, запертой в изуродованном теле. При наличии хирургических навыков " +"вы могли бы вернуть ему человечность. Если вас это волнует, конечно…" #: lang/json/MONSTER_from_json.py msgid "charred nightmare" @@ -69981,10 +72603,10 @@ msgid "" "machine of a complexity never seen before, Uncanny even hired professional " "actors to record its lines. Examine to befriend." msgstr "" -"Популярное изделие от компании \"Жуть\" - дружелюбный андроид, который будет" -" носить ваши пакеты или толкать за вас Продуктовую Тележку. Он дружелюбный, " +"Популярное изделие от компании «Жуть» — дружелюбный андроид, который будет " +"носить ваши пакеты или толкать за вас Продуктовую Тележку. Он дружелюбный, " "потому что его человеческое лицо постоянно вам улыбается. Судя по рекламке, " -"в него встроен компьютер немыслимой сложности. \"Жуть\" даже наняла " +"в него встроен компьютер немыслимой сложности. «Жуть» даже наняла " "профессиональных актёров для озвучки его реплик. Обследуйте, чтобы " "подружиться." @@ -70263,13 +72885,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "giant crayfish" -msgid_plural "giant crayfishs" +msgid_plural "giant crayfish" msgstr[0] "гигантский рак" msgstr[1] "гигантских рака" msgstr[2] "гигантских раков" msgstr[3] "гигантские раки" -#. ~ Description for giant crayfish +#. ~ Description for {'str': 'giant crayfish', 'str_pl': 'giant crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant, terrestrial variety of the signal crayfish, this massive " @@ -70439,7 +73061,7 @@ msgstr[1] "гомункула" msgstr[2] "гомункулов" msgstr[3] "гомункул" -#. ~ Description for homunculus +#. ~ Description for {'str': 'homunculus', 'str_pl': 'homunculuses'} #: lang/json/MONSTER_from_json.py msgid "" "A pale hairless man with an impressive athletic physique. Its lidless eyes " @@ -70450,13 +73072,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "hound of tindalos" -msgid_plural "hound of tindaloss" +msgid_plural "hounds of tindalos" msgstr[0] "гончая Тиндалоса" -msgstr[1] "гончих Тиндалоса" -msgstr[2] "гончих Тиндалоса" +msgstr[1] "гончие Тиндалоса" +msgstr[2] "гончий Тиндалоса" msgstr[3] "гончие Тиндалоса" -#. ~ Description for hound of tindalos +#. ~ Description for {'str': 'hound of tindalos', 'str_pl': 'hounds of +#. tindalos'} #: lang/json/MONSTER_from_json.py msgid "" "A grotesque hound-like beast, its frame is angular and emaciated and its " @@ -70748,12 +73371,12 @@ msgstr[1] "Шайя Лабафа" msgstr[2] "Шайя Лабафов" msgstr[3] "Шайя Лабаф" -#. ~ Description for Shia LaBeouf +#. ~ Description for {'str': 'Shia LaBeouf', 'str_pl': 'Shia LaBeouf'} #: lang/json/MONSTER_from_json.py msgid "" -"Living in the woods, \n" -"killing for sport, \n" -"eating all the bodies, \n" +"Living in the woods,\n" +"killing for sport,\n" +"eating all the bodies,\n" "actual cannibal Shia LaBeouf." msgstr "" "Живёт в лесочке людоед, \n" @@ -70965,7 +73588,7 @@ msgstr[1] "скрученных тела" msgstr[2] "скрученных тел" msgstr[3] "скрученное тело" -#. ~ Description for twisted body +#. ~ Description for {'str': 'twisted body', 'str_pl': 'twisted bodies'} #: lang/json/MONSTER_from_json.py msgid "" "A human body, but with its limbs, neck, and hair impossibly twisted. It " @@ -70982,7 +73605,7 @@ msgstr[1] "вихря" msgstr[2] "вихрей" msgstr[3] "вихрь" -#. ~ Description for vortex +#. ~ Description for {'str': 'vortex', 'str_pl': 'vortexes'} #: lang/json/MONSTER_from_json.py msgid "" "A twisting spot in the air, with some kind of morphing mass at its center." @@ -71083,6 +73706,24 @@ msgstr "" "Человеческое тело, качающееся при ходьбе. Чёрные блестящие глаза полны " "неудержимой ярости." +#: lang/json/MONSTER_from_json.py +msgid "wretched puker" +msgid_plural "wretched pukers" +msgstr[0] "убогая задница" +msgstr[1] "убогие задницы" +msgstr[2] "убогих задниц" +msgstr[3] "убогие задницы" + +#. ~ Description for wretched puker +#: lang/json/MONSTER_from_json.py +msgid "" +"A degenerate corpse, shambling as it walks. Several junks and waste " +"materials have unified into its skin and wounds around it reeks in black " +"goo." +msgstr "" +"Выродившийся труп, дрожащий во время ходьбы. Мусор и рухлядь прилипли к его " +"коже, а раны вокруг пахнут черной липкостью." + #: lang/json/MONSTER_from_json.py msgid "acidic zombie" msgid_plural "acidic zombies" @@ -71292,15 +73933,15 @@ msgstr[3] "зомби-танцоры" #. ~ Description for zombie dancer #: lang/json/MONSTER_from_json.py msgid "" -"The foulest stench is in the air, \n" -"The funk of forty thousand years, \n" -"And grisly ghouls from every tomb, \n" +"The foulest stench is in the air,\n" +"The funk of forty thousand years,\n" +"And grisly ghouls from every tomb,\n" "Are closing in to seal your doom!\n" "\n" "The dancer doesn't even notice you, it seems like something nearby is controlling it." msgstr "" -"Зловонье в воздухе висит\n" -"Все сорок тысяч лет молитв.\n" +"Зловонье в воздухе висит,\n" +"Все сорок тысяч лет молитв,\n" "И трупы лезут из могилы,\n" "Чтоб принести тебе погибель!\n" "\n" @@ -71449,13 +74090,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "gangrenous flesh" -msgid_plural "gangrenous fleshs" +msgid_plural "gangrenous flesh" msgstr[0] "гангренозная плоть" -msgstr[1] "гангренозной плоти" -msgstr[2] "гангренозной плоти" -msgstr[3] "гангренозная плоть" +msgstr[1] "гангренозные плоти" +msgstr[2] "гангренозные плоти" +msgstr[3] "гангренозные плоти" -#. ~ Description for gangrenous flesh +#. ~ Description for {'str': 'gangrenous flesh', 'str_pl': 'gangrenous flesh'} #: lang/json/MONSTER_from_json.py msgid "" "Immobile from grievous wounds, its gray skin has bloated to near rupture " @@ -71526,7 +74167,7 @@ msgstr "" "Большущее щупальце из мутировавшей плоти и острых костей. Оно прорастает из " "трещины в разрушенном полу, сотни человеческих конечностей яростно бьются и " "извиваются в попытках вырваться из-под мерзкого панциря. Хотя щупальце и так" -" довольно велико, вы уверены, что это только часть гигантского существа - " +" довольно велико, вы уверены, что это только часть гигантского существа — " "когда оно движется, всё разрушенное здание содрогается, будто невидимый " "гигант извивается в бетонной могиле." @@ -71688,14 +74329,14 @@ msgstr[3] "Триллеры" #. ~ Description for Thriller #: lang/json/MONSTER_from_json.py msgid "" -"And though you fight to stay alive, \n" -"Your body starts to shiver. \n" -"For no mere mortal can resist, \n" +"And though you fight to stay alive,\n" +"Your body starts to shiver.\n" +"For no mere mortal can resist,\n" "The evil of the thriller." msgstr "" -"Средь борьбы за свою жизнь\n" +"Средь борьбы за свою жизнь,\n" "Вас охватывает дрожь.\n" -"Бойся, смертный, берегись\n" +"Бойся, смертный, берегись,\n" "Зла, что триллер принесёт." #: lang/json/MONSTER_from_json.py @@ -72265,7 +74906,7 @@ msgstr[1] "стрекозы" msgstr[2] "стрекоз" msgstr[3] "стрекоза" -#. ~ Description for dragonfly +#. ~ Description for {'str': 'dragonfly', 'str_pl': 'dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A thin-bodied insectoid predator with a large wingspan and big compound " @@ -72861,7 +75502,7 @@ msgstr[1] "зомби-ребёнка" msgstr[2] "зомби-детей" msgstr[3] "зомби-ребёнок" -#. ~ Description for zombie child +#. ~ Description for {'str': 'zombie child', 'str_pl': 'zombie children'} #: lang/json/MONSTER_from_json.py msgid "" "It was only a child, and little is different about it now aside from the " @@ -72986,7 +75627,7 @@ msgstr[1] "грибёнка" msgstr[2] "грибёнков" msgstr[3] "грибёнок" -#. ~ Description for fungal child +#. ~ Description for {'str': 'fungal child', 'str_pl': 'fungal children'} #: lang/json/MONSTER_from_json.py msgid "" "It is hard to recognize a human child in this creature. Disgusting-looking " @@ -73348,13 +75989,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic fox" -msgid_plural "old animatronic foxs" +msgid_plural "old animatronic foxes" msgstr[0] "старая аниматронная лиса" -msgstr[1] "старых аниматронных лисы" -msgstr[2] "старых аниматронных лис" +msgstr[1] "старые аниматронные лисы" +msgstr[2] "старые аниматронные лисы" msgstr[3] "старые аниматронные лисы" -#. ~ Description for old animatronic fox +#. ~ Description for {'str': 'old animatronic fox', 'str_pl': 'old animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -73366,13 +76008,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic fox" -msgid_plural "new animatronic foxs" +msgid_plural "new animatronic foxes" msgstr[0] "новая аниматронная лиса" -msgstr[1] "новых аниматронных лисы" -msgstr[2] "новых аниматронных лис" +msgstr[1] "новые аниматронные лисы" +msgstr[2] "новые аниматронные лисы" msgstr[3] "новые аниматронные лисы" -#. ~ Description for new animatronic fox +#. ~ Description for {'str': 'new animatronic fox', 'str_pl': 'new animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -73385,13 +76028,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "wrecked animatronic fox" -msgid_plural "wrecked animatronic foxs" +msgid_plural "wrecked animatronic foxes" msgstr[0] "сломанная аниматронная лиса" -msgstr[1] "сломанных аниматронных лисы" +msgstr[1] "сломанные аниматронные лисы" msgstr[2] "сломанных аниматронных лис" msgstr[3] "сломанные аниматронные лисы" -#. ~ Description for wrecked animatronic fox +#. ~ Description for {'str': 'wrecked animatronic fox', 'str_pl': 'wrecked +#. animatronic foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A wrecked animatronic fox, laying in a pile on the ground. Its teeth and " @@ -73404,13 +76048,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "new animatronic bunny" -msgid_plural "new animatronic bunnys" +msgid_plural "new animatronic bunnies" msgstr[0] "новый аниматронный кролик" msgstr[1] "новых аниматронных кролика" msgstr[2] "новых аниматронных кроликов" msgstr[3] "новые аниматронные кролики" -#. ~ Description for new animatronic bunny +#. ~ Description for {'str': 'new animatronic bunny', 'str_pl': 'new +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its actually quite " @@ -73423,13 +76068,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic bunny" -msgid_plural "old animatronic bunnys" +msgid_plural "old animatronic bunnies" msgstr[0] "старый аниматронный кролик" msgstr[1] "старых аниматронных кролика" msgstr[2] "старых аниматронных кроликов" msgstr[3] "старые аниматронные кролики" -#. ~ Description for old animatronic bunny +#. ~ Description for {'str': 'old animatronic bunny', 'str_pl': 'old +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its face has been torn" @@ -73687,9 +76333,10 @@ msgid_plural "animatronic sheep" msgstr[0] "аниматронная овца" msgstr[1] "аниматронные овцы" msgstr[2] "аниматронных овец" -msgstr[3] "аниматронная овца" +msgstr[3] "аниматронные овцы" -#. ~ Description for animatronic sheep +#. ~ Description for {'str': 'animatronic sheep', 'str_pl': 'animatronic +#. sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic sheep, nearly twice your size. Its wool is mangy and " @@ -73719,13 +76366,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic child" -msgid_plural "animatronic childs" +msgid_plural "animatronic children" msgstr[0] "аниматронный ребёнок" msgstr[1] "аниматронных ребёнка" -msgstr[2] "аниматронных детей" +msgstr[2] "аниматронных ребёнка" msgstr[3] "аниматронные дети" -#. ~ Description for animatronic child +#. ~ Description for {'str': 'animatronic child', 'str_pl': 'animatronic +#. children'} #: lang/json/MONSTER_from_json.py msgid "" "An animatronic child. It looks like it's annoying as hell. Though it is a " @@ -73753,13 +76401,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic wolf" -msgid_plural "animatronic wolfs" +msgid_plural "animatronic wolves" msgstr[0] "аниматронный волк" msgstr[1] "аниматронных волка" msgstr[2] "аниматронных волков" msgstr[3] "аниматронные волки" -#. ~ Description for animatronic wolf +#. ~ Description for {'str': 'animatronic wolf', 'str_pl': 'animatronic +#. wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic wolf, nearly twice your size. If the animal " @@ -73980,13 +76629,14 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "minion of skeltal" -msgid_plural "minion of skeltals" +msgid_plural "minions of skeltal" msgstr[0] "приспешник Дудца" msgstr[1] "приспешника Дудца" msgstr[2] "приспешников Дудца" msgstr[3] "приспешники Дудца" -#. ~ Description for minion of skeltal +#. ~ Description for {'str': 'minion of skeltal', 'str_pl': 'minions of +#. skeltal'} #: lang/json/MONSTER_from_json.py msgid "A lesser skeleton, raised by the forlorn dooting of a trumpet." msgstr "Маленький скелет, поднятый тоскливыми звуками духовой трубы." @@ -74010,13 +76660,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Compsognathus" -msgid_plural "Compsognathuss" +msgid_plural "Compsognathus" msgstr[0] "компсогнат" msgstr[1] "компсогната" msgstr[2] "компсогнатов" msgstr[3] "компсогнаты" -#. ~ Description for Compsognathus +#. ~ Description for {'str': 'Compsognathus', 'str_pl': 'Compsognathus'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal dinosaur about the size of a turkey. Its teeth and claws are " @@ -74027,13 +76677,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Gallimimus" -msgid_plural "Gallimimuss" +msgid_plural "Gallimimus" msgstr[0] "галлимим" msgstr[1] "галлимима" msgstr[2] "галлимимов" msgstr[3] "галлимимы" -#. ~ Description for Gallimimus +#. ~ Description for {'str': 'Gallimimus', 'str_pl': 'Gallimimus'} #: lang/json/MONSTER_from_json.py msgid "" "A feathered bipedal dinosaur, standing as tall as a human. It looks " @@ -74044,13 +76694,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Titanis" -msgid_plural "Titaniss" +msgid_plural "Titanis" msgstr[0] "титанис" msgstr[1] "титаниса" msgstr[2] "титанисов" msgstr[3] "титанисы" -#. ~ Description for Titanis +#. ~ Description for {'str': 'Titanis', 'str_pl': 'Titanis'} #: lang/json/MONSTER_from_json.py msgid "" "It looks like a dodo, only much bigger, with longer, muscular legs and a " @@ -74061,13 +76711,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Spinosaurus" -msgid_plural "Spinosauruss" +msgid_plural "Spinosaurus" msgstr[0] "спинозавр" msgstr[1] "спинозавра" msgstr[2] "спинозавров" msgstr[3] "спинозавры" -#. ~ Description for Spinosaurus +#. ~ Description for {'str': 'Spinosaurus', 'str_pl': 'Spinosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge dinosaur about the size of a small house, with a ferocious crocodile-" @@ -74078,26 +76728,27 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Tyrannosaurus rex" -msgid_plural "Tyrannosaurus rexs" +msgid_plural "Tyrannosaurus rex" msgstr[0] "тираннозавр" msgstr[1] "тираннозавра" msgstr[2] "тираннозавров" msgstr[3] "тираннозавры" -#. ~ Description for Tyrannosaurus rex +#. ~ Description for {'str': 'Tyrannosaurus rex', 'str_pl': 'Tyrannosaurus +#. rex'} #: lang/json/MONSTER_from_json.py msgid "Look at those TEETH!" msgstr "Посмотри какая ПАСТЬ!" #: lang/json/MONSTER_from_json.py msgid "Triceratops" -msgid_plural "Triceratopss" +msgid_plural "Triceratops" msgstr[0] "трицератопс" msgstr[1] "трицератопса" msgstr[2] "трицератопсов" msgstr[3] "трицератопсы" -#. ~ Description for Triceratops +#. ~ Description for {'str': 'Triceratops', 'str_pl': 'Triceratops'} #: lang/json/MONSTER_from_json.py msgid "" "A massive rhino-like dinosaur with a bony crest from which three large horns" @@ -74108,13 +76759,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Stegosaurus" -msgid_plural "Stegosauruss" +msgid_plural "Stegosaurus" msgstr[0] "стегозавр" msgstr[1] "стегозавра" msgstr[2] "стегозавров" msgstr[3] "стегозавры" -#. ~ Description for Stegosaurus +#. ~ Description for {'str': 'Stegosaurus', 'str_pl': 'Stegosaurus'} #: lang/json/MONSTER_from_json.py msgid "A large quadruped dinosaur with plates on its back, and a spiked tail." msgstr "" @@ -74122,13 +76773,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Ankylosaurus" -msgid_plural "Ankylosauruss" +msgid_plural "Ankylosaurus" msgstr[0] "анкилозавр" msgstr[1] "анкилозавра" msgstr[2] "анкилозавров" msgstr[3] "анкилозавры" -#. ~ Description for Ankylosaurus +#. ~ Description for {'str': 'Ankylosaurus', 'str_pl': 'Ankylosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "This dinosaur looks like a giant prehistoric armadillo. Its tail ends in a " @@ -74139,13 +76790,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Allosaurus" -msgid_plural "Allosauruss" +msgid_plural "Allosaurus" msgstr[0] "аллозавр" msgstr[1] "аллозавра" msgstr[2] "аллозавров" msgstr[3] "аллозавры" -#. ~ Description for Allosaurus +#. ~ Description for {'str': 'Allosaurus', 'str_pl': 'Allosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A large predatory bipedal dinosaur, with tiger-like stripes on its broad " @@ -74189,13 +76840,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Deinonychus" -msgid_plural "Deinonychuss" +msgid_plural "Deinonychus" msgstr[0] "дейноних" msgstr[1] "дейнониха" msgstr[2] "дейнонихов" msgstr[3] "дейнонихи" -#. ~ Description for Deinonychus +#. ~ Description for {'str': 'Deinonychus', 'str_pl': 'Deinonychus'} #: lang/json/MONSTER_from_json.py msgid "" "A medium-sized bipedal dinosaur covered with feathers. At the end of each " @@ -74223,13 +76874,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Parasaurolophus" -msgid_plural "Parasaurolophuss" +msgid_plural "Parasaurolophus" msgstr[0] "паразауролоф" msgstr[1] "паразауролофа" msgstr[2] "паразауролофов" msgstr[3] "паразауролофы" -#. ~ Description for Parasaurolophus +#. ~ Description for {'str': 'Parasaurolophus', 'str_pl': 'Parasaurolophus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge mottled dinosaur with a blunt head crest. It contentedly strips " @@ -74253,13 +76904,13 @@ msgstr "Небольшая летающая рептилия, кружащая #: lang/json/MONSTER_from_json.py msgid "Dilophosaurus" -msgid_plural "Dilophosauruss" +msgid_plural "Dilophosaurus" msgstr[0] "дилофозавр" msgstr[1] "дилофозавра" msgstr[2] "дилофозавров" msgstr[3] "дилофозавры" -#. ~ Description for Dilophosaurus +#. ~ Description for {'str': 'Dilophosaurus', 'str_pl': 'Dilophosaurus'} #: lang/json/MONSTER_from_json.py msgid "A medium dinosaur with a sticky green bile dripping from its teeth." msgstr "Средний динозавр с зелёной жижей, стекающей из его пасти." @@ -74385,6 +77036,25 @@ msgstr "" " это существо является злом по своей сути. Хотя этот дракон не вырос " "полностью, он размером с взрослого быка." +#: lang/json/MONSTER_from_json.py +msgid "adult black dragon" +msgid_plural "adult black dragons" +msgstr[0] "взрослый чёрный дракон" +msgstr[1] "взрослых чёрных дракона" +msgstr[2] "взрослых чёрных драконов" +msgstr[3] "взрослые чёрные драконы" + +#. ~ Description for adult black dragon +#: lang/json/MONSTER_from_json.py +msgid "" +"A black-scaled monstrosity with deep-set eye sockets glowing green with " +"evil. Its face and skull appear skeletal, and acid drips from its dagger-" +"like jaws." +msgstr "" +"Покрытый чёрной чешуёй монстр с глубоко посаженными глазами, светящимися " +"злобным зелёным светом. Его морда напоминает череп, а с кинжалоподобных " +"клыков капает кислота." + #: lang/json/MONSTER_from_json.py msgid "owlbear" msgid_plural "owlbears" @@ -74431,26 +77101,30 @@ msgid "The black pudding burns you with acid!" msgstr "Чёрная жижа обжигает вас кислотой!" #: lang/json/MONSTER_from_json.py -msgid "nothic" -msgid_plural "nothics" -msgstr[0] "нотик" -msgstr[1] "нотика" -msgstr[2] "нотиков" -msgstr[3] "нотики" +msgid "krabgek" +msgid_plural "krabgeks" +msgstr[0] "крабгик" +msgstr[1] "крабгика" +msgstr[2] "крабгиков" +msgstr[3] "крабгики" -#. ~ Description for nothic +#. ~ Description for krabgek #: lang/json/MONSTER_from_json.py msgid "" -"A baleful eye peers out from the darkness, its gleam hinting at a weird " -"intelligence and unnerving malevolence." +"A large baleful eye peers out from the darkness, its gleam hinting at a " +"weird intelligence and unnerving malevolence. The eye oozes some pinkish " +"liquid, and the weirdly humanoid figure is covered in sharp blue-black " +"triangular plates." msgstr "" "Зловещий глаз выглядывает из темноты, и его свет намекает на странный ум и " -"нервирующую недоброжелательность" +"нервирующую недоброжелательность Глаз сочится какой-то розоватой жидкостью, " +"а странная гуманоидная фигура покрыта острыми сине-черными треугольными " +"пластинками." -#. ~ Attack message of monster "nothic"'s spell "necrotic_gaze" +#. ~ Attack message of monster "krabgek"'s spell "necrotic_gaze" #: lang/json/MONSTER_from_json.py -msgid "The nothic gazes at %3$s!" -msgstr "Нотик пристально смотрит на %3$s!" +msgid "The krabgek gazes at %3$s!" +msgstr "Крабгик пристально смотрит на %3$s!" #: lang/json/MONSTER_from_json.py msgid "owlbear cub" @@ -74512,12 +77186,63 @@ msgstr[3] "тролли" #. ~ Description for troll #: lang/json/MONSTER_from_json.py msgid "" -"Monstrous, green-skinned humanoid. Trolls are renowned for their thick hides" -" and natural regenerative ability." +"Monstrous, green-skinned humanoid. Trolls are renowned for their thick " +"hides and natural regenerative ability." msgstr "" "Чудовищный зеленокожий гуманоид. Тролли известны толстой шкурой и " "естественной способностью к регенерации." +#: lang/json/MONSTER_from_json.py +msgid "stirge" +msgid_plural "stirges" +msgstr[0] "кровопийца" +msgstr[1] "кровопийцы" +msgstr[2] "кровопийц" +msgstr[3] "кровопийцы" + +#. ~ Description for stirge +#: lang/json/MONSTER_from_json.py +msgid "" +"This horrid flying creature looks like a cross between a large bat and " +"oversized mosquito." +msgstr "" +"Это ужасное летающее существо выглядит как нечто среднее между большой " +"летучей мышью и огромнейшим комаром." + +#: lang/json/MONSTER_from_json.py +msgid "shrieker" +msgid_plural "shriekers" +msgstr[0] "крикун" +msgstr[1] "крикуна" +msgstr[2] "крикунов" +msgstr[3] "крикуны" + +#. ~ Description for shrieker +#: lang/json/MONSTER_from_json.py +msgid "" +"A shrieker is a human-sized mushroom that emits a piercing screech to drive " +"off creatures that disturb it." +msgstr "" +"Крикун — это гриб размером с человека, который издает пронзительный визг, " +"чтобы отогнать существ, которые его беспокоят." + +#: lang/json/MONSTER_from_json.py +msgid "lemure" +msgid_plural "lemures" +msgstr[0] "лемур" +msgstr[1] "лемура" +msgstr[2] "лемуров" +msgstr[3] "лемуры" + +#. ~ Description for lemure +#: lang/json/MONSTER_from_json.py +msgid "" +"A lemure resembles a molten mass of flesh with a vaguely humanoid head and " +"torso." +msgstr "" +"Лемур напоминает расплавленную массу плоти со слабо выраженной " +"человекоподобной головой и туловищем." + #: lang/json/MONSTER_from_json.py msgid "automated turret" msgid_plural "automated turrets" @@ -75146,13 +77871,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "craftbuddy" -msgid_plural "craftbuddys" +msgid_plural "craftbuddies" msgstr[0] "ремонтный бот" msgstr[1] "ремонтных бота" msgstr[2] "ремонтных ботов" msgstr[3] "ремонтные боты" -#. ~ Description for craftbuddy +#. ~ Description for {'str': 'craftbuddy', 'str_pl': 'craftbuddies'} #: lang/json/MONSTER_from_json.py msgid "" "A mobile crafting station used by workers in mines, on oil rigs, and in " @@ -75977,13 +78702,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "robote deluxe" -msgid_plural "robote deluxes" +msgid_plural "robote deluxe" msgstr[0] "робот-делюкс" msgstr[1] "робота-делюкс" msgstr[2] "роботов-делюкс" msgstr[3] "роботы-делюкс" -#. ~ Description for robote deluxe +#. ~ Description for {'str': 'robote deluxe', 'str_pl': 'robote deluxe'} #: lang/json/MONSTER_from_json.py msgid "" "A diamond-studded gold-plated robot armed with a pair of integrated 9mm " @@ -76037,13 +78762,13 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "glittering lady" -msgid_plural "glittering ladys" +msgid_plural "glittering ladies" msgstr[0] "блестящая леди" -msgstr[1] "блестящих леди" -msgstr[2] "блестящих леди" +msgstr[1] "блестящие леди" +msgstr[2] "блестящих дам" msgstr[3] "блестящие леди" -#. ~ Description for glittering lady +#. ~ Description for {'str': 'glittering lady', 'str_pl': 'glittering ladies'} #: lang/json/MONSTER_from_json.py msgid "" "A salvaged advanced robot transformed into a luminous beacon of destruction." @@ -76216,15 +78941,15 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gelatinous mass" -msgid_plural "gelatinous masss" +msgid_plural "gelatinous mass" msgstr[0] "желейная масса" -msgstr[1] "желейной массы" -msgstr[2] "желейной массы" -msgstr[3] "желейная масса" +msgstr[1] "желейные масса" +msgstr[2] "желейных масс" +msgstr[3] "желейные массы" -#. ~ Description for gelatinous mass -#. ~ Description for gray mass -#. ~ Description for gelatinous mass +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} +#. ~ Description for {'str': 'gray mass', 'str_pl': 'gray mass'} +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} #: lang/json/MONSTER_from_json.py msgid "" "An escaping noisy blob, catch it before it brings in every zombie for miles!" @@ -76234,11 +78959,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gray mass" -msgid_plural "gray masss" +msgid_plural "gray mass" msgstr[0] "серая масса" -msgstr[1] "серой массы" -msgstr[2] "серой массы" -msgstr[3] "серая масса" +msgstr[1] "серые массы" +msgstr[2] "серых масс" +msgstr[3] "серые массы" #: lang/json/MONSTER_from_json.py msgid "giant scorpion" @@ -76918,6 +79643,25 @@ msgstr "Артефакт - Насекомые" msgid "Summon some bugs." msgstr "Вызывает насекомых." +#: lang/json/SPELL_from_json.py +msgid "Artifact Noise" +msgstr "Артефакт - Шум" + +#. ~ Description for Artifact Noise +#: lang/json/SPELL_from_json.py +msgid "Makes a noise at your location" +msgstr "Создаёт шум в месте вашего положения." + +#. ~ description for the sound of spell 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "a deafening boom" +msgstr "оглушительный взрыв" + +#. ~ Message for SPELL 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "You hear a deafening boom from your location!" +msgstr "Вы слышите оглушительный взрыв из того места, где находитесь!" + #: lang/json/SPELL_from_json.py msgid "Artifact Light" msgstr "Артефакт - Свет" @@ -76999,7 +79743,7 @@ msgstr "Раскрывает глобальную карту вокруг вас #. ~ Message for SPELL 'Artifact Map' #: lang/json/SPELL_from_json.py src/iuse.cpp -msgid "You have a vision of the surrounding area..." +msgid "You have a vision of the surrounding area…" msgstr "У вас появилось знание об окружающей территории…" #: lang/json/SPELL_from_json.py @@ -77039,6 +79783,80 @@ msgstr "Артефакт - Мутация" msgid "Mutates you randomly" msgstr "Вызывает случайную мутацию." +#: lang/json/SPELL_from_json.py +msgid "Bolt" +msgstr "" + +#. ~ Description for Bolt +#: lang/json/SPELL_from_json.py +msgid "One of the bolts thrown by AEA_STORM" +msgstr "" + +#. ~ description for the sound of spell 'Bolt' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "Ka-BOOM!" +msgstr "«Ба-бах!»" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Storm" +msgstr "Артефакт - Буря" + +#. ~ Description for Artifact Storm +#: lang/json/SPELL_from_json.py +msgid "Calls down a storm near you" +msgstr "Вызывает бурю поблизости вас." + +#: lang/json/SPELL_from_json.py +msgid "Morale Scream" +msgstr "" + +#. ~ Description for Morale Scream +#: lang/json/SPELL_from_json.py +msgid "Morale effect from AEA_SCREAM" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Entrance" +msgstr "" + +#. ~ Description for Artifact Entrance +#: lang/json/SPELL_from_json.py +msgid "Entrances surrounding monsters" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Scream" +msgstr "Артефакт - Вопль" + +#. ~ Description for Artifact Scream +#: lang/json/SPELL_from_json.py +msgid "An ethereal scream" +msgstr "Призрачный вопль." + +#. ~ description for the sound of spell 'Artifact Scream' +#: lang/json/SPELL_from_json.py +msgid "an ethereal scream" +msgstr "призрачный вопль" + +#: lang/json/SPELL_from_json.py +msgid "Bash Terrain" +msgstr "" + +#. ~ Description for Bash Terrain +#. ~ Description for Artifact Pulse +#: lang/json/SPELL_from_json.py +msgid "Damages the terrain" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Pulse" +msgstr "" + +#. ~ description for the sound of spell 'Artifact Pulse' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "The earth shakes!" +msgstr "Земля трясётся!" + #: lang/json/SPELL_from_json.py src/memorial_logger.cpp src/player_display.cpp msgid "Pain" msgstr "Боль" @@ -77134,8 +79952,8 @@ msgstr "Анимистская руна" #. ~ Description for Animist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Animists. You can use the rune" -" as a catalyst for recipes." +"This ritual creates a small pebble attuned to Animists. You can use the " +"rune as a catalyst for recipes." msgstr "" "Этот ритуал создаёт маленький камешек, наполненный магией анимистов. Эту " "руну можно применять в рецептах как катализатор." @@ -77175,7 +79993,7 @@ msgstr "Биомантская руна" #. ~ Description for Biomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Biomancers. You can use the " +"This ritual creates a small pebble attuned to Biomancers. You can use the " "rune as a catalyst for recipes." msgstr "" "Этот ритуал создаёт маленький камешек, наполненный магией биомантов. Эту " @@ -77277,10 +80095,8 @@ msgstr "Тратит немного выносливости" #. ~ Message for SPELL 'Debug Stamina Spell' #: lang/json/SPELL_from_json.py #, python-format -msgid "Debug spell [ %s ] has no effect. Debug warning is expected." +msgid "Debug spell [ %s ] has no effect. Debug warning is expected." msgstr "" -"У отладочного заклинания [ %s ] нет эффектов. Должно быть отладочное " -"предупреждение." #: lang/json/SPELL_from_json.py msgid "Debug Fatigue Spell" @@ -77440,7 +80256,7 @@ msgstr "Друидическая руна" #. ~ Description for Druid Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Druids. You can use the rune " +"This ritual creates a small pebble attuned to Druids. You can use the rune " "as a catalyst for recipes." msgstr "" "Этот ритуал создаёт маленький камешек, наполненный магией друидов. Эту руну " @@ -77453,11 +80269,11 @@ msgstr "Семя Очищения" #. ~ Description for Purification Seed #: lang/json/SPELL_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Rapidly degrades if " -"not utilized." +"You summon a gift of the earth which will purify water. Rapidly degrades if" +" not utilized." msgstr "" -"Вы призываете дар земли, который очистит воду. Быстро деградируется, если не" -" используется." +"Вы призываете дар земли, который очистит воду. Быстро деградирует, если не " +"используется." #: lang/json/SPELL_from_json.py msgid "Stonefist" @@ -77503,12 +80319,39 @@ msgstr "Земная руна" #. ~ Description for Earthshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Earthshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Earthshapers. You can use the" +" rune as a catalyst for recipes." msgstr "" "Этот ритуал создаёт маленький камешек, наполненный магией повелителей земли." " Эту руну можно применять в рецептах как катализатор." +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Shrapnel" +msgstr "Вулканическая бомба-шрапнель" + +#. ~ Description for Lava Bomb Shrapnel +#. ~ Description for Lava Bomb Heat +#. ~ Description for Lava Bomb Terrain +#: lang/json/SPELL_from_json.py +msgid "This is a sub spell for the Lava Bomb spell." +msgstr "Это вспомогательное заклинание вулканической бомбы." + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Heat" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Terrain" +msgstr "" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb" +msgstr "Вулканическая бомба" + +#: lang/json/SPELL_from_json.py +msgid "Clairvoyance" +msgstr "Ясновидение" + #: lang/json/SPELL_from_json.py msgid "Twisted Restoration" msgstr "Безумное Исцеление" @@ -77516,13 +80359,13 @@ msgstr "Безумное Исцеление" #. ~ Description for Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" " condition." msgstr "" "Это заклинание разгоняет ваше сердце, генерируя новую плоть и мышцы. " -"Неразумно использовать это в прямой опасности, и может быть смертельным, " -"если сделано в критическом состоянии." +"Неразумно использовать при прямой опасности и может быть смертельно в " +"критическом состоянии." #: lang/json/SPELL_from_json.py msgid "Improved Twisted Restoration" @@ -77531,14 +80374,30 @@ msgstr "Улучшенное Безумное Исцеление" #. ~ Description for Improved Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" -" condition. Improved brewing mitigates the strain of the spell." +" condition. Improved brewing mitigates the strain of the spell." msgstr "" "Это заклинание разгоняет ваше сердце, генерируя новую плоть и мышцы. " -"Неразумно использовать это в прямой опасности, и может быть смертельным, " -"если сделано в критическом состоянии. Улучшенное заваривание смягчает " -"напряжение заклинания." +"Неразумно использовать при прямой опасности и может быть смертельно в " +"критическом состоянии. Улучшенное заваривание смягчает нагрузку заклинания." + +#: lang/json/SPELL_from_json.py +msgid "Conjure Throwing Blade I" +msgstr "Сколдовать метательный клинок I" + +#. ~ Description for Conjure Throwing Blade I +#: lang/json/SPELL_from_json.py +msgid "conjures 3 throwing knives" +msgstr "сколдовать 3 метательных ножа" + +#. ~ Message for SPELL 'Conjure Throwing Blade I' +#: lang/json/SPELL_from_json.py +msgid "" +"You activate your ring and three throwing knives appear, ready to throw!" +msgstr "" +"Вы активируете свое кольцо и появляются три метательных ножа, готовых к " +"броску!" #: lang/json/SPELL_from_json.py msgid "Point Flare" @@ -77595,7 +80454,7 @@ msgstr "Кельвинистская руна" #. ~ Description for Kelvinist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Kelvinists. You can use the " +"This ritual creates a small pebble attuned to Kelvinists. You can use the " "rune as a catalyst for recipes." msgstr "" "Этот ритуал создаёт маленький камешек, наполненный магией кельвинистов. Эту " @@ -77640,8 +80499,8 @@ msgstr "Магическая руна" #. ~ Description for Magus Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Magi. You can use the rune as " -"a catalyst for recipes." +"This ritual creates a small pebble attuned to Magi. You can use the rune as" +" a catalyst for recipes." msgstr "" "Этот ритуал создаёт маленький камешек, наполненный волшебством магов. Эту " "руну можно применять в рецептах как катализатор." @@ -77662,10 +80521,26 @@ msgstr "Сила Огра" msgid "Fox's Cunning" msgstr "Лисья Хитрость" +#: lang/json/SPELL_from_json.py +msgid "Blood Suck" +msgstr "" + +#. ~ Description for Blood Suck +#: lang/json/SPELL_from_json.py +msgid "Sucks blood from one foe." +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Jolt" msgstr "Разряд" +#. ~ description for the sound of spell 'Jolt' +#. ~ description for the sound of spell 'Lightning Bolt' +#. ~ description for the sound of spell 'Lightning Blast' +#: lang/json/SPELL_from_json.py +msgid "a crackle" +msgstr "потрескивание" + #: lang/json/SPELL_from_json.py msgid "Lightning Bolt" msgstr "Удар молнии" @@ -77674,6 +80549,11 @@ msgstr "Удар молнии" msgid "Windstrike" msgstr "Удар ветра" +#. ~ description for the sound of spell 'Windstrike' +#: lang/json/SPELL_from_json.py +msgid "a whoosh" +msgstr "«вжууух»" + #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py msgid "Windrunning" msgstr "Крылья ветра" @@ -77689,8 +80569,8 @@ msgstr "Буревая руна" #. ~ Description for Stormshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Stormshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Stormshapers. You can use the" +" rune as a catalyst for recipes." msgstr "" "Этот ритуал создаёт маленький камешек, наполненный магией повелителей бури. " "Эту руну можно применять в рецептах как катализатор." @@ -77757,8 +80637,8 @@ msgstr "Техномантская руна" #. ~ Description for Technomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Technomancers. You can use the" -" rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Technomancers. You can use " +"the rune as a catalyst for recipes." msgstr "" "Этот ритуал создаёт маленький камешек, наполненный магией техномантов. Эту " "руну можно применять в рецептах как катализатор." @@ -77787,6 +80667,10 @@ msgstr "Оживлённый клинок" msgid "Mirror Image" msgstr "Зеркальный образ" +#: lang/json/SPELL_from_json.py +msgid "X-ray Vision" +msgstr "Рентгеновское зрение" + #: lang/json/SPELL_from_json.py msgid "Demon Fireball" msgstr "Демонический огненный шар" @@ -77987,6 +80871,8 @@ msgstr[3] "шахтёрская каска (вкл)" #. ~ Use action menu_text for thermal electric balaclava (on). #. ~ Use action menu_text for headlamp (on). #. ~ Use action menu_text for survivor headlamp (on). +#. ~ Use action menu_text for 5-point anchor (on). +#. ~ Use action menu_text for phase immersion suit (on). #. ~ Use action menu_text for rebreather mask (on). #. ~ Use action menu_text for XL rebreather mask (on). #. ~ Use action menu_text for pair of light amp goggles (on). @@ -78011,9 +80897,9 @@ msgstr[3] "шахтёрская каска (вкл)" #. ~ Use action menu_text for acetylene lamp (on). #. ~ Use action menu_text for power cutter (on). #. ~ Use action menu_text for murdersaw (on). +#. ~ Use action menu_text for heat cube (torch on). #: lang/json/TOOL_ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: lang/json/TOOL_from_json.py lang/json/item_action_from_json.py #: lang/json/item_action_from_json.py lang/json/item_action_from_json.py #: src/iuse.cpp msgid "Turn off" @@ -78413,6 +81299,58 @@ msgstr "" "позволяют комфортно носить его на голове или прикрепить к шлему. Сейчас он " "включён и потребляет энергию. Активируйте, чтобы выключить." +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp" +msgid_plural "atomic headlamps" +msgstr[0] "атомный налобный фонарь" +msgstr[1] "атомных налобных фонаря" +msgstr[2] "атомных налобных фонарей" +msgstr[3] "атомные налобные фонари" + +#. ~ Use action msg for atomic headlamp. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You close the headlamp's cover." +msgstr "Вы закрываете крышку налобного фонаря." + +#. ~ Description for atomic headlamp +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"close the cover and hide the light." +msgstr "" +"Это особый налобный фонарь, работающий на магии ядерного распада, " +"сфокусированный для большей яркости. Регулируемый ремень позволяет удобно " +"носить его на голове или прикрепить к шлему. Активируйте, чтобы закрыть " +"крышкой свет." + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp (covered)" +msgid_plural "atomic headlamps (covered)" +msgstr[0] "атомный налобный фонарь (закрыт)" +msgstr[1] "атомных налобных фонаря (закрытых)" +msgstr[2] "атомных налобных фонарей (закрытых)" +msgstr[3] "атомные налобные фонари (закрыты)" + +#. ~ Use action msg for atomic headlamp (covered). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You open the headlamp's cover." +msgstr "Вы открываете крышку налобного фонаря." + +#. ~ Description for atomic headlamp (covered) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"open the cover and show the light." +msgstr "" +"Это особый налобный фонарь, работающий на магии ядерного распада, " +"сфокусированный для большей яркости. Регулируемый ремень позволяет удобно " +"носить его на голове или прикрепить к шлему. Активируйте, чтобы открыть " +"крышку излучателя света." + #: lang/json/TOOL_ARMOR_from_json.py msgid "RM13 combat armor" msgid_plural "RM13 combat armors" @@ -78455,6 +81393,120 @@ msgstr "" "Сейчас работает и постоянно потребляет энергию. Активируйте, чтобы " "выключить." +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor" +msgid_plural "5-point anchors" +msgstr[0] "5-точечный анкер" +msgstr[1] "5-точечного анкера" +msgstr[2] "5-точечных анкеров" +msgstr[3] "5-точечный анкер" + +#. ~ Use action msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "A LED light in the %s LED flickers on." +msgstr "Светодиод %s зажигается." + +#. ~ Use action need_charges_msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "It seems like this device needs power." +msgstr "Похоже в устройстве нет питания." + +#. ~ Description for 5-point anchor +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A featureless, disc-shaped device mounted on a harness. The words " +"\"X.E.D.R.A\" and \"5-point anchor\" are inscribed on its front and back." +msgstr "" +"Безликое дискообразное устройство, установленное на жгуте. Слова «X.E.D.R.A»" +" и «5-точечный якорь» нанесены на его передней и задней части." + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor (on)" +msgid_plural "5-point anchors (on)" +msgstr[0] "5-точечный анкер (вкл)" +msgstr[1] "5-точечные анкера (вкл)" +msgstr[2] "5-точечных анкеров (вкл)" +msgstr[3] "5-точечный анкер (вкл)" + +#. ~ Use action msg for 5-point anchor (on). +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "The %s LED light flickers off." +msgstr "Светодиод %s потухает." + +#. ~ Description for 5-point anchor (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The harness' shoulder mounted LED glows with a soft green hue. Theres no " +"further indication of anything happening." +msgstr "" +"Светодиодный индикатор подвески на плечах светится мягким зеленым оттенком. " +"Нет никаких признаков того, что что-то происходит." + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit" +msgid_plural "phase immersion suits" +msgstr[0] "фазовый иммерсионный костюм" +msgstr[1] "фазовые иммерсионные костюмы" +msgstr[2] "фазовых иммерсионных костюмов" +msgstr[3] "фазовый иммерсионный костюм" + +#. ~ Use action msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Initiating\n" +"Running suit integrity diagnostics…\n" +"All systems operational." +msgstr "" +"Инициализация\n" +"Проводим диагностику целостности костюма...\n" +"Все системы работают." + +#. ~ Use action need_charges_msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Warning: Operating on minimal power. Protection compromised." +msgstr "Предупреждение: работа на минимальной мощности. Защита понижена." + +#. ~ Description for phase immersion suit +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. Designed to " +"protect its wearer during extra dimensional excursions, it offers " +"unparalleled environmental protection, both in this Earth and beyond. Use " +"it to turn it on." +msgstr "" +"Этот продвинутый костюм, покрытый взаимосвязанными пластинами из " +"светоотражающего металла, напоминает как броню, так и скафандр астронавта. " +"Разработанный, чтобы защитить своего владельца в других измерениях, он " +"обладает беспрецедентной защитой от окружающей среды, как на Земле, так и за" +" ее пределами. Используйте его, чтобы включить." + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit (on)" +msgid_plural "phase immersion suits (on)" +msgstr[0] "фазовый иммерсионный костюм (вкл)" +msgstr[1] "фазовые иммерсионные костюмы (вкл)" +msgstr[2] "фазовых иммерсионных костюмов (вкл)" +msgstr[3] "фазовый иммерсионный костюм (вкл)" + +#. ~ Use action msg for phase immersion suit (on). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Suit shutting down." +msgstr "Костюм выключается." + +#. ~ Description for phase immersion suit (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. It is turned on, " +"and continually draining power. Use it to turn it off." +msgstr "" +"Этот продвинутый костюм, покрытый взаимосвязанными пластинами из " +"светоотражающего металла, напоминает как броню, так и скафандр астронавта. " +"Он включен и постоянно тратит энергию. Используйте его, чтобы выключить." + #: lang/json/TOOL_ARMOR_from_json.py msgid "rebreather mask" msgid_plural "rebreather masks" @@ -79658,12 +82710,15 @@ msgstr "Батареи наушников разряжены." #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py msgid "" -"A pair of earmuffs favored by shooters. The earmuffs are turned off. They " -"will block sounds over a certain decibel amount, assuming it is charged with" -" batteries." +"A pair of earmuffs favored by shooters. Without batteries or when turned " +"off they function like normal earmuffs and block all sound. They will block" +" sounds over a certain decibel amount when turned on. The earmuffs are " +"currently off." msgstr "" -"Пара наушников, используемых стрелками. Наушники выключены. После зарядки " -"батарейками будут блокировать звуки громче определённого уровня децибел." +"Наушники, используемых стрелками. Без батарейки или когда выключены, " +"функционируют как обычные наушники, блокируя весь звук. После включения " +"будут блокировать звуки громче определённого уровня децибел. Сейчас наушники" +" выключены." #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py @@ -80236,6 +83291,629 @@ msgstr "" "подкладкой для защиты и согревания шеи, а также тактический фонарик. Сейчас " "фонарик включён и потребляет энергию." +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic leather belt" +msgid_plural "magic leather belts" +msgstr[0] "волшебный кожаный ремень" +msgstr[1] "волшебных кожаных ремня" +msgstr[2] "волшебных кожаных ремней" +msgstr[3] "волшебные кожаные ремни" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Haste" +msgid_plural "Belt of Hastes" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Megingjörð" +msgid_plural "Megingjörðs" +msgstr[0] "Мегеньльöрð" +msgstr[1] "Мегеньльöрðа" +msgstr[2] "Мегеньльöрðов" +msgstr[3] "Мегеньльöрðы" + +#. ~ Description for Megingjörð +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The mythical belt of Thor, god of thunder. Or at least so it appears. It " +"doubles the wearer's base strength." +msgstr "" +"Мифический пояс Тора, бога грома. Ну, вроде бы он. Удваивает базовую силу " +"владельца." + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Lesser Girdle of Pockets" +msgid_plural "Lesser Girdle of Pocketss" +msgstr[0] "Малый карманный ремень" +msgstr[1] "Малых карманных ремня" +msgstr[2] "Малых карманных ремней" +msgstr[3] "Малые карманные ремни" + +#. ~ Description for Lesser Girdle of Pockets +#. ~ Description for Greater Girdle of Pockets +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, coverd in numerous small pouches " +"that hold a lot more than they should, and the weight of their contents is " +"greatly reduced." +msgstr "" +"Широкий облегающий талию пояс, покрыт множеством маленьких кармашков, " +"которые намного больше, чем выглядят. А вес их содержимого значительно " +"меньше." + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Greater Girdle of Pockets" +msgid_plural "Greater Girdle of Pocketss" +msgstr[0] "Большой карманный ремень" +msgstr[1] "Больших карманных ремня" +msgstr[2] "Больших карманных ремней" +msgstr[3] "Большие карманные ремни" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Weaponry" +msgid_plural "Belt of Weaponrys" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for Belt of Weaponry +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, you can sheath or holster any " +"weapon into it in the blink of an eye, and it seemingly stores them " +"somewhere else." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of The Iron Whip" +msgid_plural "Belts of the Iron Whip" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Use action msg for Belt of The Iron Whip. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"You grab the belt and it uncoils to become a flexible metal whip in your " +"hand!" +msgstr "" + +#. ~ Description for Belt of The Iron Whip +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A braided but flexible belt seemingly made of metal. You can activate it to" +" transform it into a whip and flay your enemies." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "escape boots" +msgid_plural "escape boots" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for escape boots +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, these boots can be activated once a day to escape from nasty " +"situations, teleporting you a good distance in a random direction." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "pair of steel bracers" +msgid_plural "pairs of steel bracers" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for pair of steel bracers +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A full assembly of medieval arm protection." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "steel bracer" +msgid_plural "steel bracers" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of lesser defense" +msgid_plural "bracers of lesser defense" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for bracer of lesser defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, silver accentuates the intricate design. It protects your body " +"with a light aura to reduce damage you take." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of greater defense" +msgid_plural "bracers of greater defense" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for bracer of greater defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, gold accentuates the intricate design. It protects your body with " +"a strong aura to reduce damage you take." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "lesser bracer of lightning" +msgid_plural "lesser bracers of lightning" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for lesser bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, silver accentuates the intricate design. It " +"protects your body with a light aura to reduce electrical damage you take, " +"as well as being able to release a Jolt spell 3 times a day." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "greater bracer of lightning" +msgid_plural "greater bracers of lightning" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for greater bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, gold accentuates the intricate design. It " +"protects your body with a strong aura to reduce electrical damage you take, " +"as well as being able to release a Lightning Bolt spell 3 times a day." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic mask" +msgid_plural "magic masks" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for magic mask +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic magic mask." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of disappearance" +msgid_plural "masks of disappearance" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for mask of disappearance +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A mask with no facial features at all, just eye and mouth holes, upon " +"activation it makes everything ignore your presence for a while." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of perfect vision" +msgid_plural "masks of perfect vision" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for mask of perfect vision +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A decidedly steampunk-looking half mask that covers the eye area of the " +"face, it has large lenses that correct and greatly enhance the vision of the" +" wearer." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "copper magic ring" +msgid_plural "copper magic rings" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for copper magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic copper magic ring." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic ring" +msgid_plural "magic rings" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic silver magic ring." +msgstr "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic gold magic ring." +msgstr "" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic platinum magic ring." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of blades" +msgid_plural "rings of blades" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of blades +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"An ornate silver ring engraved with daggers that conjures a near perfect " +"throwing knife into your hand on activation." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +1" +msgid_plural "minor rings of strength +1" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of strength +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +2" +msgid_plural "rings of strength +2" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of strength +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +3" +msgid_plural "rings of strength +3" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of strength +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +4" +msgid_plural "rings of strength +4" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of strength +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much stronger when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +1" +msgid_plural "rings of dexterity +1" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of dexterity +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +2" +msgid_plural "rings of dexterity +2" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of dexterity +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +3" +msgid_plural "rings of dexterity +3" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of dexterity +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +4" +msgid_plural "rings of dexterity +4" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of dexterity +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more agile when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +1" +msgid_plural "rings of intelligence +1" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of intelligence +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +2" +msgid_plural "rings of intelligence +2" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of intelligence +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +3" +msgid_plural "rings of intelligence +3" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of intelligence +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you surprisingly more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +4" +msgid_plural "rings of intelligence +4" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of intelligence +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more intelligent when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +1" +msgid_plural "rings of perception +1" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of perception +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +2" +msgid_plural "rings of perception +2" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of perception +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +3" +msgid_plural "rings of perception +3" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of perception +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you eye-openingly more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +4" +msgid_plural "rings of perception +4" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of perception +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more perceptive when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +3" +msgid_plural "rings of speed +3" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of speed +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +5" +msgid_plural "rings of speed +5" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of speed +5 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +7" +msgid_plural "rings of speed +7" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of speed +7 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you quite hasty when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +10" +msgid_plural "rings of speed +10" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of speed +10 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much faster when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +2" +msgid_plural "rings of protection +2" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of protection +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that reduces some of the force of damage you take when you " +"wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +4" +msgid_plural "rings of protection +4" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of protection +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that appreciably reduces some of the force of damage you take " +"when you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +6" +msgid_plural "rings of protection +6" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of protection +6 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that greatly reduces some of the force of damage you take when" +" you wear it." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +8" +msgid_plural "rings of protection +8" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for ring of protection +8 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A platinum ring that vastly reduces some of the force of damage you take " +"when you wear it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "washcloth" msgid_plural "washcloths" @@ -80262,14 +83940,14 @@ msgstr[3] "бета-вольтаические батарейки" msgid "" "Harness the power of radiation in your own home! This looks similar to a " "D-cell battery, but actually contains folded layers of radioactive material " -"inside. It can produce electricity for several years at a steady voltage..." -" but it's barely enough to power a small LED, and these batteries were worth" -" hundreds of dollars. Mostly they're a good way to brag to your neighbours " +"inside. It can produce electricity for several years at a steady voltage… " +"but it's barely enough to power a small LED, and these batteries were worth " +"hundreds of dollars. Mostly they're a good way to brag to your neighbors " "that you have a nuclear power source in your house." msgstr "" "Обуздайте мощь радиации у себя дома! Похожа на обычную ёмкую батарейку, но " "на самом деле внутри неё слои радиоактивного вещества. Способна несколько " -"лет вырабатывать электричество со стабильным напряжением… только его едва " +"лет вырабатывать электричество со стабильным напряжением… Только его едва " "хватит, чтобы зажечь маленький светодиод, причём такая батарейка стоила " "сотни долларов. Лучше всего годится, чтоб похвастать перед соседями ядерным " "источником энергии у себя дома." @@ -80285,13 +83963,13 @@ msgstr[3] "радиоизотопные термоэлектрические г #. ~ Description for radioisotope thermoelectric generator #: lang/json/TOOL_from_json.py msgid "" -"Did your neighbours brag about their cool beta-decay powered nightlights? " -"Do them one better! The CuppaTech 4 radioisotope thermoelectric generator " -"is a three kilogram chunk of metal - mostly lead - with a slug of curium-244" -" encased within. It is capable of generating somewhere between 100-150 " -"Watts of thermal energy, although its electrical generation capacity is " -"minimal at only 2 Watts. Careful! Curium is great at making heat, and also" -" releases deadly gamma radiation. Keep away from cellular life forms." +"Did your neighbors brag about their cool beta-decay powered nightlights? Do" +" them one better! The CuppaTech 4 radioisotope thermoelectric generator is " +"a three kilogram chunk of metal - mostly lead - with a slug of curium-244 " +"encased within. It is capable of generating somewhere between 100-150 Watts" +" of thermal energy, although its electrical generation capacity is minimal " +"at only 2 Watts. Careful! Curium is great at making heat, and also " +"releases deadly gamma radiation. Keep away from cellular life forms." msgstr "" "Соседи хвастаются своим крутым ночником на бета-радиации? Уделайте их! " "Радиоизотопный термоэлектрический генератор КаппаТех 4 — это " @@ -80438,8 +84116,8 @@ msgstr[3] "палочка ясновидения" #. ~ Description for clairvoyance rod #: lang/json/TOOL_from_json.py msgid "" -"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's " -"a bug." +"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's" +" a bug." msgstr "" "Предмет для тестирования флага aep_clairvoyance_plus. Если вдруг вы нашли " "его в игре, то это баг." @@ -80736,10 +84414,10 @@ msgstr[3] "самодельная бомба" #. ~ Use action menu_text for fragment bomb. #. ~ Use action menu_text for can bomb. #. ~ Use action menu_text for match head bomb. +#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for dynamite. #. ~ Use action menu_text for fertilizer bomb. #. ~ Use action menu_text for ANFO charge. -#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for black gunpowder charge. #. ~ Use action menu_text for RDX charge. #: lang/json/TOOL_from_json.py @@ -80786,7 +84464,7 @@ msgstr "Вы уже и так подожгли %s, попробуйте тепе #. ~ Use action sound_msg for match head bomb (lit). #. ~ Use action sound_msg for dynamite (lit). #. ~ Use action sound_msg for fertilizer bomb (lit). -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py src/iuse.cpp +#: lang/json/TOOL_from_json.py msgid "ssss..." msgstr "шшшш…" @@ -80817,7 +84495,7 @@ msgstr "Вы поджигаете фитиль %s." #. ~ Description for nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by nails and a fuse. Use this item to light the fuse. You will " "then have five turns before it explodes; throwing it would be a good idea." msgstr "" @@ -80843,8 +84521,8 @@ msgstr "Вы уже подожгли фитиль – чего вы ждёте?" #. ~ Description for active nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by nails and a fuse. The fuse has been lit, you should throw it." +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by nails and a fuse. The fuse has been lit, you should throw it." msgstr "" "Грубая и громоздкая самодельная ручная бомба. Сделана из банки, взрывчатки, " "гвоздей и запала. Запал подожжён, её следует кинуть." @@ -80860,7 +84538,7 @@ msgstr[3] "осколочные бомбы" #. ~ Description for fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by small pieces of metal and a fuse. Use this item to light the " "fuse. You will then have five turns before it explodes; throwing it would " "be a good idea." @@ -80880,8 +84558,8 @@ msgstr[3] "осколочные бомбы (активно)" #. ~ Description for active fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " "should throw it." msgstr "" "Грубая и громоздкая самодельная бомба. Сделана из банки, взрывчатки, " @@ -80907,11 +84585,11 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think." msgstr "" "Набитая взрывчаткой жестянка с торчащим фитилём. Создаст облако " -"металлической шрапнели, способной пробить броню ... ну, наверное." +"металлической шрапнели, способной пробить броню… Ну, наверное." #: lang/json/TOOL_from_json.py msgid "active can bomb" @@ -80925,13 +84603,70 @@ msgstr[3] "баночные бомбы (активно)" #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think. The fuse has been lit, you should throw it." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think. The fuse has been lit, you should throw it." msgstr "" "Набитая взрывчаткой жестянка с торчащим фитилём. Создаст облако " -"металлической шрапнели, способной пробить броню ... ну, наверное. Запал " +"металлической шрапнели, способной пробить броню… Ну, наверное. Запал " "подожжён, её следует кинуть." +#: lang/json/TOOL_from_json.py +msgid "jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "фонарь из тыквы" +msgstr[1] "фонаря из тыквы" +msgstr[2] "фонарей из тыквы" +msgstr[3] "фонари из тыквы" + +#. ~ Use action menu_text for jack o'lantern. +#. ~ Use action menu_text for candle. +#. ~ Use action menu_text for Louisville Slaughterer. +#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: src/veh_interact.cpp +msgid "Light" +msgstr "Свет" + +#. ~ Use action msg for jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "You light the candle in the jack o'lantern." +msgstr "Вы зажгли свечу в фонаре из тыквы." + +#. ~ Description for jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"This is a plastic lantern that is painted to look like a pumpkin with a " +"face. It has a candle inside it, that can be replaced when burnt down. It " +"doesn't provide very much light, but it can burn for quite a long time. " +"You'll need a lighter or matches to light it." +msgstr "" +"Это пластиковый крашенный фонарь, выглядит как тыква с лицом. У него есть " +"свеча, которую можно заменить, когда она сгорела. Он не дает много света, но" +" может гореть довольно долго. Вам понадобится зажигалка или спички, чтобы " +"зажечь его." + +#: lang/json/TOOL_from_json.py +msgid "spooky jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "фонарь из тыквы" +msgstr[1] "фонаря из тыквы" +msgstr[2] "фонарей из тыквы" +msgstr[3] "фонари из тыквы" + +#. ~ Use action msg for spooky jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "The candle winks out inside the lantern." +msgstr "Свеча мерцает внутри фонаря." + +#. ~ Description for spooky jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"There is a thick LED candle inside the pumpkin face. It doesn't provide " +"very much light, but it can burn for quite a long time. This candle is lit." +" The face shifts." +msgstr "" +"Внутри тыквы есть толстая светодиодная свеча. Она не дает много света, но " +"может гореть довольно долго. Свеча горит. Лицо меняется." + #. ~ Description for battle axe #: lang/json/TOOL_from_json.py msgid "" @@ -81047,6 +84782,87 @@ msgstr "" "Бутылка, наполненная спичечными головками и снабжённая запалом. Запал уже " "горит и скоро огонь доберётся до основного заряда. Не тяните с броском." +#: lang/json/TOOL_from_json.py +msgid "black gunpowder bomb" +msgid_plural "black gunpowder bombs" +msgstr[0] "пороховая бомба" +msgstr[1] "пороховых бомбы" +msgstr[2] "пороховых бомб" +msgstr[3] "пороховая бомба" + +#. ~ Use action msg for black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "" +"You light the fuse on the black gunpowder bomb. Throw it before it blows in" +" your face!" +msgstr "" +"Вы зажигаете фитиль на пороховой бомбе. Бросьте её, прежде чем она взорвётся" +" вам в лицо!" + +#. ~ Description for black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a bit of " +"fuse sticking out of it." +msgstr "" +"Это консервная банка, полностью заполненная чёрным порохом, с торчащим из " +"неё куском фитиля." + +#: lang/json/TOOL_from_json.py +msgid "active black gunpowder bomb" +msgid_plural "active black gunpowder bombs" +msgstr[0] "пороховая бомба (активно)" +msgstr[1] "пороховых бомбы (активно)" +msgstr[2] "пороховых бомб (активно)" +msgstr[3] "пороховая бомба (активно)" + +#. ~ Use action no_deactivate_msg for active black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "You've already lit the fuse - throw it!" +msgstr "Вы уже подожгли фитиль – бросайте!" + +#. ~ Use action sound_msg for active black gunpowder bomb. +#. ~ Use action sound_msg for active black gunpowder charge. +#. ~ Use action sound_msg for active RDX charge. +#: lang/json/TOOL_from_json.py +msgid "Kshhh." +msgstr "Пшшш." + +#. ~ Description for active black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a lit " +"fuse stuck inside of it." +msgstr "" +"Это консервная банка, полностью заполненная чёрным порохом, с воткнутым в " +"неё горящим фитилём." + +#: lang/json/TOOL_from_json.py +msgid "hobo stove (lit)" +msgid_plural "hobo stoves (lit)" +msgstr[0] "печь бродяги (зажжена)" +msgstr[1] "печи бродяги (зажжены)" +msgstr[2] "печей бродяги (зажжены)" +msgstr[3] "печь бродяги (зажжена)" + +#. ~ Use action msg for hobo stove (lit). +#. ~ Use action msg for ember carrier (lit). +#: lang/json/TOOL_from_json.py +msgid "The ember is extinguished." +msgstr "Угольки потушены." + +#. ~ Description for hobo stove (lit) +#. ~ Description for hobo stove +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small improvised wood stove, made from a metal can or similar " +"container of the right size. Useful for defrosting and reheating food, uses" +" simple tinder." +msgstr "" +"Это маленькая импровизированная дровяная печь, сделанная из металлической " +"канистры или похожего контейнера подходящего размера. Применяется для " +"размораживания и разогревания еды, использует простой трут." + #: lang/json/TOOL_from_json.py msgid "folded poncho" msgid_plural "folded ponchos" @@ -81332,8 +85148,8 @@ msgstr[3] "водяная мельница" #. ~ Description for water mill #: lang/json/TOOL_from_json.py msgid "" -"A small water-powered mill that can convert starchy products into flour. Can" -" be placed via the construction menu." +"A small water-powered mill that can convert starchy products into flour. " +"Can be placed via the construction menu." msgstr "" "Небольшая водяная мельница, которая может перемалывать крахмалистые продукты" " в муку. Установка производится через строительное меню." @@ -81349,8 +85165,8 @@ msgstr[3] "ветряная мельница" #. ~ Description for wind mill #: lang/json/TOOL_from_json.py msgid "" -"A small wind-powered mill that can convert starchy products into flour. Can " -"be placed via the construction menu." +"A small wind-powered mill that can convert starchy products into flour. Can" +" be placed via the construction menu." msgstr "" "Небольшая ветряная мельница, которая может перемалывать крахмалистые " "продукты в муку. Установка производится через строительное меню." @@ -81719,14 +85535,6 @@ msgstr[1] "свечи" msgstr[2] "свечей" msgstr[3] "свеча" -#. ~ Use action menu_text for candle. -#. ~ Use action menu_text for hobo stove. -#. ~ Use action menu_text for Louisville Slaughterer. -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: src/veh_interact.cpp -msgid "Light" -msgstr "Свет" - #. ~ Use action msg for candle. #: lang/json/TOOL_from_json.py msgid "You light the candle." @@ -81786,12 +85594,12 @@ msgstr[3] "электрорезка (выкл)" #: lang/json/TOOL_from_json.py msgid "" "An electric meat carver powered by batteries. Two serrated blades that " -"vibrate together to slice just about anything from turkey to ham... even " +"vibrate together to slice just about anything from turkey to ham… even " "zombies!" msgstr "" "Электрорезка для мяса, работающая от батареек. Имеет два зубчатых лезвия, " "одновременно вибрирующих, позволяя нарезать всё что угодно, от индейки до " -"ветчины… даже зомби!" +"ветчины… Даже зомби!" #: lang/json/TOOL_from_json.py msgid "electric carver (on)" @@ -81997,6 +85805,26 @@ msgstr "" "выбросить. Необходимая вещь, так как вода из сомнительных источников, вроде " "рек, может оказаться загрязнённой." +#: lang/json/TOOL_from_json.py +msgid "lifestraw" +msgid_plural "lifestraws" +msgstr[0] "водоочиститель" +msgstr[1] "водоочистителя" +msgstr[2] "водоочистителей" +msgstr[3] "водоочистители" + +#. ~ Description for lifestraw +#: lang/json/TOOL_from_json.py +msgid "" +"Set the lifestraw in suspect water, let sit for one minute then drink. The " +"two part filtration system will purify the water you drink. Water taken " +"from uncertain sources like a river may be dirty." +msgstr "" +"Положите очиститель в подозрительную воду, оставьте на одну минуту, затем " +"пейте. Двухфазная система фильтрации очистит воду, которую вы пьете. " +"Довольно полезная вещь, так как вода из рек или других сомнительных " +"источников может быть грязной." + #: lang/json/TOOL_from_json.py msgid "charcoal smoker" msgid_plural "charcoal smokers" @@ -82573,10 +86401,10 @@ msgstr[3] "электронные наручники" #: lang/json/TOOL_from_json.py msgid "" "A pair of electronic handcuffs, used by police and riot bots to detain captives. Their continuous siren clearly identifies the wearer as an arrested criminal and alerts human police. Wait for their arrival, don't try to escape or to remove the cuffs - they will administer an electric shock.\n" -"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative..." +"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative…" msgstr "" -"Электронные наручники, используются ботами полиции и осназа для задержания пленников. Их непрерывная сирена чётко определяет во владельце арестованного преступника и оповещает полицейских. Дождитесь их приезда, не пытайтесь бежать или снять наручники — получите удар током.\n" -"Однако, поскольку единственными полицейскими окажутся зомби, вы можете дожидаться очень долго, если только не подойдёте к проблеме творчески…" +"Пара электронных наручников, используемых полицией и омоновцами для задержания. Их непрерывная сирена четко идентифицирует владельца как арестованного преступника и предупреждает человеческую полицию. Дождитесь их прибытия, не пытайтесь сбежать или снять манжеты — они нанесут удар током.\n" +"Однако, поскольку единственная полиция, которая может ответить — это нежить, вы можете дожидаться очень долго, если только не подойдёте к проблеме творчески…" #: lang/json/TOOL_from_json.py msgid "entrenching tool" @@ -84564,6 +88392,23 @@ msgstr "" "используется в чрезвычайных ситуациях, обеспечивает мгновенное облегчение " "приступов астмы, очистку лёгких от дыма и вызывает краткий прилив энергии." +#: lang/json/TOOL_from_json.py +msgid "oxygen cylinder" +msgid_plural "oxygen cylinders" +msgstr[0] "кислородный баллон" +msgstr[1] "кислородных баллона" +msgstr[2] "кислородных баллонов" +msgstr[3] "кислородные баллоны" + +#. ~ Description for oxygen cylinder +#: lang/json/TOOL_from_json.py +msgid "" +"A large steel cylinder used for storing pressurized gas. It is marked with " +"a faded, but legible O2 symbol." +msgstr "" +"Большой стальной цилиндр для хранения газов под давлением. На нём " +"полустёртый, но читаемый символ О2." + #: lang/json/TOOL_from_json.py msgid "nitrogen tank" msgid_plural "nitrogen tanks" @@ -85038,10 +88883,10 @@ msgstr[3] "губки" #. ~ Description for sponge #: lang/json/TOOL_from_json.py msgid "" -"A sponge is a tool or cleaning aid made of soft, porous material. Typically " -"used for cleaning impervious surfaces." +"A sponge is a tool or cleaning aid made of soft, porous material. Typically" +" used for cleaning impervious surfaces." msgstr "" -"Губка - это чистящий инструмент из мягкого пористого материала. Обычно ею " +"Губка — это чистящий инструмент из мягкого пористого материала. Обычно ею " "моют водооталкивающие поверхности." #: lang/json/TOOL_from_json.py @@ -85055,10 +88900,11 @@ msgstr[3] "помывочные наборы" #. ~ Description for washing kit #: lang/json/TOOL_from_json.py msgid "" -"A combination kit of a washboard and a sponge. Everything you need to clean" -" items after the apocalypse." +"A combination kit of a washboard and a sponge or rag. Everything you need " +"to clean items after the apocalypse." msgstr "" -"Стиральная доска и губка - то, что надо для мытья вещей после апокалипсиса." +"Стиральная доска и губка (или тряпка) — то, что надо для мытья вещей после " +"апокалипсиса." #: lang/json/TOOL_from_json.py msgid "reading light" @@ -86168,61 +90014,6 @@ msgstr "" "Это большой металлический бочонок, заполненный гранулами АСНТ и снабжённый " "динамитным детонатором. Фитиль подожжён — лучше бежать изо всех сил!" -#: lang/json/TOOL_from_json.py -msgid "black gunpowder bomb" -msgid_plural "black gunpowder bombs" -msgstr[0] "пороховая бомба" -msgstr[1] "пороховых бомбы" -msgstr[2] "пороховых бомб" -msgstr[3] "пороховая бомба" - -#. ~ Use action msg for black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "" -"You light the fuse on the black gunpowder bomb. Throw it before it blows in" -" your face!" -msgstr "" -"Вы зажигаете фитиль на пороховой бомбе. Бросьте её, прежде чем она взорвётся" -" вам в лицо!" - -#. ~ Description for black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a bit of " -"fuse sticking out of it." -msgstr "" -"Это консервная банка, полностью заполненная чёрным порохом, с торчащим из " -"неё куском фитиля." - -#: lang/json/TOOL_from_json.py -msgid "active black gunpowder bomb" -msgid_plural "active black gunpowder bombs" -msgstr[0] "пороховая бомба (активно)" -msgstr[1] "пороховых бомбы (активно)" -msgstr[2] "пороховых бомб (активно)" -msgstr[3] "пороховая бомба (активно)" - -#. ~ Use action no_deactivate_msg for active black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "You've already lit the fuse - throw it!" -msgstr "Вы уже подожгли фитиль – бросайте!" - -#. ~ Use action sound_msg for active black gunpowder bomb. -#. ~ Use action sound_msg for active black gunpowder charge. -#. ~ Use action sound_msg for active RDX charge. -#: lang/json/TOOL_from_json.py -msgid "Kshhh." -msgstr "Пшшш." - -#. ~ Description for active black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a lit " -"fuse stuck inside of it." -msgstr "" -"Это консервная банка, полностью заполненная чёрным порохом, с воткнутым в " -"неё горящим фитилём." - #: lang/json/TOOL_from_json.py msgid "black gunpowder charge" msgid_plural "black gunpowder charges" @@ -86242,7 +90033,7 @@ msgstr "Вы зажигаете фитиль порохового заряда. msgid "" "This is a home-made explosive device, consisting of a large plastic jug " "filled with black gunpowder and scrap metal, equipped with a long fuse. Use" -" this item to light the fuse. Should explode in a few minutes..." +" this item to light the fuse. Should explode in a few minutes…" msgstr "" "Это самодельное взрывное устройство, состоящее из большого пластикового " "бидона, наполненного чёрным порохом и металлоломом и оснащённого длинным " @@ -86417,11 +90208,13 @@ msgstr[2] "факелов" msgstr[3] "факел" #. ~ Use action menu_text for torch. +#. ~ Use action menu_text for everburning torch. #: lang/json/TOOL_from_json.py msgid "Light torch" msgstr "Зажечь" #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "You light the torch." msgstr "Вы зажгли факел." @@ -86437,6 +90230,7 @@ msgstr "" "горении излучает много света. Чтобы зажечь, нужны спички или зажигалка." #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "The torch is extinguished." msgstr "Факел погас." @@ -86917,52 +90711,6 @@ msgstr[1] "печи бродяги" msgstr[2] "печей бродяги" msgstr[3] "печь бродяги" -#. ~ Use action msg for hobo stove. -#: lang/json/TOOL_from_json.py -msgid "The hobo stove is lit." -msgstr "Печь бродяги зажжена." - -#. ~ Use action need_fire_msg for hobo stove. -#: lang/json/TOOL_from_json.py src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -msgid "You need a source of fire!" -msgstr "Вам нужен источник огня!" - -#. ~ Description for hobo stove -#. ~ Description for hobo stove (lit) -#: lang/json/TOOL_from_json.py -msgid "" -"This is a small improvised wood stove, made from a metal can or similar " -"container of the right size. Useful for defrosting and reheating food, uses" -" simple tinder." -msgstr "" -"Это маленькая импровизированная дровяная печь, сделанная из металлической " -"канистры или похожего контейнера подходящего размера. Применяется для " -"размораживания и разогревания еды, использует простой трут." - -#: lang/json/TOOL_from_json.py -msgid "hobo stove (lit)" -msgid_plural "hobo stoves (lit)" -msgstr[0] "печь бродяги (зажжена)" -msgstr[1] "печи бродяги (зажжены)" -msgstr[2] "печей бродяги (зажжены)" -msgstr[3] "печь бродяги (зажжена)" - -#. ~ Use action menu_text for hobo stove (lit). -#: lang/json/TOOL_from_json.py -msgid "Heat up food" -msgstr "Разогреть еду" - -#. ~ Use action msg for hobo stove (lit). -#: lang/json/TOOL_from_json.py src/iuse.cpp -msgid "You heat up the food." -msgstr "Вы разогреваете пищу." - -#. ~ Use action msg for hobo stove (lit). -#. ~ Use action msg for ember carrier (lit). -#: lang/json/TOOL_from_json.py -msgid "The ember is extinguished." -msgstr "Угольки потушены." - #: lang/json/TOOL_from_json.py msgid "ember carrier" msgid_plural "ember carriers" @@ -86976,6 +90724,11 @@ msgstr[3] "контейнер для углей" msgid "You light the tinder." msgstr "Вы зажигаете трут." +#. ~ Use action need_charges_msg for ember carrier. +#: lang/json/TOOL_from_json.py +msgid "The ember carrier is out of tinder." +msgstr "Контейнер для углей гаснет." + #. ~ Use action need_fire_msg for ember carrier. #: lang/json/TOOL_from_json.py msgid "You need a lighter or fire to light this." @@ -87185,8 +90938,8 @@ msgstr[3] "Крюк с рукоятью" #. ~ Description for grip hook #: lang/json/TOOL_from_json.py msgid "" -"A simple steel meathook with a circular steel handle. Makes a passable melee" -" weapon." +"A simple steel meathook with a circular steel handle. Makes a passable " +"melee weapon." msgstr "" "Простой стальной крюк с круглой стальной ручкой. Довольно сносное оружие " "ближнего боя." @@ -87636,7 +91389,7 @@ msgstr "" #. ~ Description for inactive TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M16A4. Using this item " +"This is an inactive TALON UGV equipped with an M16A4. Using this item " "involves loading the unit with the factory-loaded 5.56x45mm rounds in your " "inventory (if you wish to divide your ammunition, set aside whatever " "5.56x45mm you do NOT want to give the robot) turning it on, and placing it " @@ -87647,8 +91400,8 @@ msgstr "" "Отключённый Мобильный Робототехнический Комплекс TALON с M16A4. Для " "использования его нужно активировать и выбрать место на земле для установки," " робот будет заряжен патронами 5.56x45 мм из инвентаря (выложите часть, если" -" вы НЕ хотите загружать все). Если робот был успешно перепрограммирована, то" -" он будет идентифицировать вас как дружественный объект и атаковать всех " +" вы НЕ хотите загружать все). Если робот был успешно перепрограммирован, то " +"он будет идентифицировать вас как дружественный объект и атаковать всех " "врагов из встроенной винтовки." #: lang/json/TOOL_from_json.py @@ -87662,7 +91415,7 @@ msgstr[3] "неактивные МРК TALON с M202A1" #. ~ Description for inactive M202A1 TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M202A1. Using this item " +"This is an inactive TALON UGV equipped with an M202A1. Using this item " "involves loading the unit with the M235 rockets in your inventory (if you " "wish to divide your ammunition, set aside whatever M235 rockets you do NOT " "want to give the robot) turning it on, and placing it on the ground. If " @@ -87673,7 +91426,7 @@ msgstr "" "Отключённый Мобильный Робототехнический Комплекс TALON с M202A1. Для " "использования его нужно активировать и выбрать место на земле для установки," " робот будет заряжен ракетами M235 из инвентаря (выложите часть, если вы НЕ " -"хотите загружать все). Если робот был успешно перепрограммирована, то он " +"хотите загружать все). Если робот был успешно перепрограммирован, то он " "будет идентифицировать вас как дружественный объект и атаковать всех врагов " "из встроенного реактивного огнемёта M202A1." @@ -87776,9 +91529,9 @@ msgstr "Сломанный киборг испускает агонизирую #: lang/json/TOOL_from_json.py msgid "" "This is a deactivated broken cyborg, the last shreds of its humanity still " -"rotting away. Using this item involves placing it on the ground and " +"rotting away. Using this item involves placing it on the ground and " "reactivating its mechanical body. If reprogrammed and rewired successfully " -"the cyborg will then follow you and attack enemies. You monster." +"the cyborg will then follow you and attack enemies. You monster." msgstr "" "Отключённый сломанный киборг. Последние кусочки его человечности медленно " "разлагаются. После использования механическое тело помещается на землю и " @@ -87844,7 +91597,7 @@ msgstr "Шагобот жужжит и нацеливает оружие пря #. ~ Description for inactive chicken walker #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive chicken walker. Using this item involves placing it on " +"This is an inactive chicken walker. Using this item involves placing it on " "the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm " "cartridge grenades in your inventory (if you wish to divide your ammunition," " set aside whatever ammunition you do NOT want to give the robot) and " @@ -87884,8 +91637,8 @@ msgstr "" #. ~ Description for inactive police bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive police robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive police robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "police bot will then identify you as law enforcement, roam around or follow " "you, and attempt to detain lawbreakers." msgstr "" @@ -87919,12 +91672,12 @@ msgstr "" #. ~ Description for inactive eyebot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive eyebot. Using this item involves turning it on and " +"This is an inactive eyebot. Using this item involves turning it on and " "launching the UAV. If reprogrammed and rewired successfully the eyebot will" " then keep watch for intruders." msgstr "" -"Неактивный глазобот. После использования помещается на землю и активируется." -" Если успешно перепрограммировать, будет высматривать нарушителей." +"Неактивный глазобот. После использования помещается на землю и активируется " +"БЛА. Если успешно перепрограммировать, будет высматривать нарушителей." #: lang/json/TOOL_from_json.py msgid "inactive cleaner bot" @@ -87947,12 +91700,13 @@ msgstr "Робот-уборщик подаёт сигнал ошибки, но #. ~ Description for inactive cleaner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive cleaner bot. Using this item involves placing it on the " -"ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive cleaner bot. Using this item involves placing it on the" +" ground and turning it on. If reprogrammed and rewired successfully the " "cleaner bot will respond to future commands." msgstr "" -"Отключённый робот-уборщик. Если успешно перепрограммировать, будет выполнять" -" ваши команды." +"Отключённый робот-уборщик. После использования помещается на землю и " +"активируется. Если успешно перепрограммировать, будет выполнять ваши " +"команды." #: lang/json/TOOL_from_json.py msgid "inactive miner bot" @@ -87975,8 +91729,8 @@ msgstr "Робошахтёр выходит из-под контроля и бр #. ~ Description for inactive miner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive mining robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive mining robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "miner bot will respond to future commands." msgstr "" "Отключённый робот-шахтёр. После использования помещается на землю и " @@ -88006,9 +91760,9 @@ msgstr "" #. ~ Description for inactive riot control bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive riot control bot. Using this item involves placing it on" -" the ground and turning it on. If reprogrammed and rewired successfully the" -" robot will bring order and peace to the horde." +"This is an inactive riot control bot. Using this item involves placing it " +"on the ground and turning it on. If reprogrammed and rewired successfully " +"the robot will bring order and peace to the horde." msgstr "" "Отключённый робот осназа. После использования помещается на землю и " "активируется. Если успешно перепрограммировать, будет нести ордам мир и " @@ -88035,12 +91789,12 @@ msgstr "Робот-жук осматривается и угрожающе щё #. ~ Description for inactive skitterbot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive skitterbot. Using this item involves placing it on the " +"This is an inactive skitterbot. Using this item involves placing it on the " "ground and turning it on. If reprogrammed and rewired successfully the " "robot will race towards enemies and shock them." msgstr "" "Отключённый робот-жук. После использования помещается на землю и " -"активируется. Если успешно перепрограммировать, будет бежать навстречу " +"активируется. Если успешно перепрограммировать, будет ползти навстречу " "врагам и бить их током." #: lang/json/TOOL_from_json.py @@ -88104,7 +91858,7 @@ msgstr "" #. ~ Description for inactive tank drone #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " +"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " "it on the ground, loading the unit with the factory-loaded 5.56 rounds and " "40mm cartridge grenades in your inventory (if you wish to divide your " "ammunition, set aside whatever ammunition you do NOT want to give the robot)" @@ -88112,7 +91866,7 @@ msgid "" " will then identify you as a friendly, roam around or follow you, and attack" " all enemies with a built-in firearm and grenade launcher." msgstr "" -"Отключённый минитанк Бигль МРК. При использования его нужно выложить на " +"Отключённый минитанк Бигль НМР. При использования его нужно выложить на " "землю и зарядить фабричными патронами 5.56 мм НАТО и 40-мм гранатами из " "инвентаря (выложите часть, если вы НЕ хотите загружать в робота все), а " "потом включить. Если танкобот успешно перепрограммирован, то он будет " @@ -88145,8 +91899,8 @@ msgstr "" #. ~ Description for inactive tripod #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Honda Regnal. Using this item involves placing it on the" -" ground, wondering how it fuels its flamethrower and turning it on. If " +"This is an inactive Honda Regnal. Using this item involves placing it on " +"the ground, wondering how it fuels its flamethrower and turning it on. If " "reprogrammed and rewired successfully the tribot will then identify you as " "an ally, roam around or follow you, and impale hostiles with its spiked " "cable weapons." @@ -88178,10 +91932,10 @@ msgstr "Прожектор слепит вас яркой вспышкой и н #. ~ Description for inactive milspec searchlight #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive military-grade automated searchlight. Using this item " +"This is an inactive military-grade automated searchlight. Using this item " "involves placing it on the ground and turning it on. If reprogrammed and " "rewired successfully the searchlight will then identify you as an ally, " -"survey the area, and illuminate approaching hostiles. Seems to have an " +"survey the area, and illuminate approaching hostiles. Seems to have an " "unhealthy fascination with you." msgstr "" "Отключённый военный автоматический прожектор. После использования помещается" @@ -88608,7 +92362,7 @@ msgstr[3] "самодельная боевая коса" msgid "" "This farming tool has been modified into an improvised weapon by rotating " "its blade 90 degrees, transforming it into a deadly giant blade on the end " -"of a stick. However it's quite fragile." +"of a stick. However it's quite fragile." msgstr "" "Этот сельскохозяйственный инструмент был переделан в оружие путём разворота " "лезвия на 90 градусов, превратив его тем самым в огромное лезвие на конце " @@ -88741,6 +92495,26 @@ msgstr "" "Армейский боевой нож. Лёгкий и чрезвычайно острый, смертельно опасный в " "умелых руках или при установке в качестве штыка." +#: lang/json/TOOL_from_json.py +msgid "modified combat knife" +msgid_plural "modified combat knives" +msgstr[0] "модифицированый боевой нож" +msgstr[1] "модифицированых боевых ножа" +msgstr[2] "модифицированых боевых ножа" +msgstr[3] "модифицированые боевые ножи" + +#. ~ Description for modified combat knife +#: lang/json/TOOL_from_json.py +msgid "" +"This is a military combat knife. It is light and extremely sharp, and could" +" be deadly in either the right hands or when attached as a bayonet. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" +"Армейский боевой нож. Лёгкий и чрезвычайно острый, смертельно опасный в " +"умелых руках или при установке в качестве штыка. Был модифицирован и допилен" +" для установки практически на любое оружие, по желанию, кроме пистолетов." + #: lang/json/TOOL_from_json.py msgid "hunting knife" msgid_plural "hunting knives" @@ -89147,10 +92921,10 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "sword bayonet" msgid_plural "sword bayonets" -msgstr[0] "штык-клинок" -msgstr[1] "штык-клинка" -msgstr[2] "штык-клинков" -msgstr[3] "штык-клинок" +msgstr[0] "штык-нож" +msgstr[1] "штык-ножа" +msgstr[2] "штык-ножей" +msgstr[3] "штык-ножи" #. ~ Description for sword bayonet #: lang/json/TOOL_from_json.py @@ -89161,6 +92935,27 @@ msgstr "" "Штык-клинок — большое режущее оружие, которое можно прикрепить к стволу " "огнестрельного оружия или к арбалету, превратив их таким образом в пику." +#: lang/json/TOOL_from_json.py +msgid "modified sword bayonet" +msgid_plural "modified sword bayonets" +msgstr[0] "модифицированый штык-нож" +msgstr[1] "модифицированых штык-ножа" +msgstr[2] "модифицированых штык-ножей" +msgstr[3] "модифицированые штык-ножи" + +#. ~ Description for modified sword bayonet +#: lang/json/TOOL_from_json.py +msgid "" +"A sword bayonet is a large slashing weapon that can be attached to the front" +" of a firearm or crossbow converting it into a pike. This one was modified " +"and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" +"Штык-нож — большое режущее оружие, которое можно прикрепить к стволу " +"огнестрельного оружия или к арбалету, превратив их таким образом в копье. " +"Был модифицирован и допилен для установки практически на любое оружие, по " +"желанию, кроме пистолетов и пистолет-пулеметов." + #. ~ Description for tanto #: lang/json/TOOL_from_json.py msgid "" @@ -89280,6 +93075,81 @@ msgstr "" "Огромный изогнутый двуручный меч из Японии. Удивительно лёгок для своего " "размера." +#: lang/json/TOOL_from_json.py +msgid "electrified foil" +msgid_plural "electrified foils" +msgstr[0] "электрифицированная рапира" +msgstr[1] "электрифицированные рапиры" +msgstr[2] "электрифицированных рапир" +msgstr[3] "электрифицированные рапиры" + +#. ~ Description for electrified foil +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing foil may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" +"Модификации, сделанные для этой фехтовальной рапиры, могут быть не " +"спортивными, но они могут дать вам преимущество в этом финальном " +"соревновании. Дополнительно изолирована рукоять, и электрошокер высокого " +"напряжения был прикреплен к гарде, подключенный через электронную схему к " +"наконечнику. Касание заостренного наконечника противника при нажатии кнопки " +"вызовет болезненный удар током." + +#: lang/json/TOOL_from_json.py +msgid "electrified épée" +msgid_plural "electrified épées" +msgstr[0] "электрифицированная шпага" +msgstr[1] "электрифицированные шпаги" +msgstr[2] "электрифицированных шпаг" +msgstr[3] "электрифицированные шпаги" + +#. ~ Description for electrified épée +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing épée may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" +"Модификации, сделанные для этой фехтовальной рапиры, могут быть не " +"спортивными, но они могут дать вам преимущество в сегодняшнем финальном " +"соревновании. Была дополнительно изолированна рукоять и электрошокер " +"высокого напряжения был прикреплен к гарде, подключенный проводом к " +"наконечнику. Касание заостренного наконечника противника при нажатии кнопки " +"вызовет болезненный удар током." + +#: lang/json/TOOL_from_json.py +msgid "electrified saber" +msgid_plural "electrified sabers" +msgstr[0] "электрифицированная сабля" +msgstr[1] "электрифицированные сабли" +msgstr[2] "электрифицированных сабель" +msgstr[3] "электрифицированные сабли" + +#. ~ Description for electrified saber +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing saber may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired to the tip along the saber's groove. Thrusting the " +"sharpened tip into a foe and activating the momentary switch will deliver a " +"painful electric shock." +msgstr "" +"Модификации, сделанные для этой фехтовальной сабли, могут быть не " +"спортивными, но они могут дать вам преимущество в сегодняшнем финальном " +"соревновании. Электрошокер высокого напряжения был прикреплен к гарде и " +"подключен проводом к острию, а также была дополнительно изолированна " +"рукоять. Касание заостренного наконечника противника при нажатии кнопки " +"вызовет болезненный удар током." + #. ~ Description for broadsword #: lang/json/TOOL_from_json.py msgid "" @@ -89712,6 +93582,38 @@ msgstr "" "Кусок пластика. Пригоден для изготовления, ремонта или усиления предметов из" " пластика." +#: lang/json/TOOL_from_json.py +msgid "synthetic fabric" +msgid_plural "synthetic fabrics" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for synthetic fabric +#: lang/json/TOOL_from_json.py +msgid "" +"This is small bolt of synthetic fabric. Unlike you and other natural " +"materials, it won't degrade much with age. Maybe that's less of a bad thing" +" now." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "lycra patch" +msgid_plural "lycra patches" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for lycra patch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small bolt of a synthetic fabric blended with stretchy lycra " +"fibers. It could be used to make flexible yet strong clothing. Stylish, " +"but bad for the environment; at least you're recycling it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hexamine stove" msgid_plural "hexamine stoves" @@ -90307,11 +94209,10 @@ msgstr[3] "рация" #: lang/json/TOOL_from_json.py msgid "" "This is a radio with a transmitting unit. You could use it to contact " -"someone who also has one. Unfortunately no one seems to use those " -"nowadays..." +"someone who also has one. Unfortunately no one seems to use those nowadays…" msgstr "" "Это радио с передатчиком. Вы можете использовать его, чтобы связаться с кем-" -"то, у кого есть такое же. К сожалению, похоже никто не использует их в " +"то, у кого есть такое же . К сожалению, похоже никто не использует их в " "настоящее время…" #: lang/json/TOOL_from_json.py @@ -90538,7 +94439,7 @@ msgstr[3] "микроскопы" #. ~ Description for microscope #: lang/json/TOOL_from_json.py msgid "" -"A classic tool for the ages! This hefty, durable piece of lab equipment " +"A classic tool for the ages! This hefty, durable piece of lab equipment " "makes small things look bigger. Without electricity the light doesn't work," " but the rest of it is surprisingly functional. Unfortunately it's not " "useful for very much at the moment." @@ -90805,7 +94706,7 @@ msgstr[3] "прочный кабель" msgid "" "A long, thick, heavy-duty cable with power leads on either end. It looks " "like you could use it to hook up two vehicles to each other, though you " -"expect the power loss would be noticeable. Can also link other electrical " +"expect the power loss would be noticeable. Can also link other electrical " "systems." msgstr "" "Длинный, толстый, мощный кабель с зажимами на концах. Похоже, вы могли бы " @@ -91317,6 +95218,122 @@ msgstr "" "Похоже, что к этой картошке прикреплено что-то вроде GLaDOS — Генетической " "Формы Жизни и Дисковой Операционной Системы." +#: lang/json/TOOL_from_json.py +msgid "heat cube" +msgid_plural "heat cubes" +msgstr[0] "тепловой кубик" +msgstr[1] "тепловых кубика" +msgstr[2] "тепловых кубиков" +msgstr[3] "тепловые кубики" + +#. ~ Use action menu_text for heat cube. +#: lang/json/TOOL_from_json.py +msgid "Activate torch mode" +msgstr "Активировать режим факела" + +#. ~ Use action msg for heat cube. +#: lang/json/TOOL_from_json.py +msgid "" +"You push the torch button and the cube emits a large flame from the top, one" +" that does radiate heat, but won't burn anything." +msgstr "" +"Вы нажимаете кнопку факела, и из куба сверху вырывается большой столб " +"пламени, который излучает тепло, но ничего не сжигает." + +#. ~ Description for heat cube +#: lang/json/TOOL_from_json.py +msgid "" +"A smooth steel cube the size of your fist. Several buttons on the sides " +"activate the powers of the cube." +msgstr "" +"Гладкий стальной кубик размером с кулак. Несколько кнопок по бокам " +"активируют питание куба." + +#: lang/json/TOOL_from_json.py +msgid "heat cube (torch on)" +msgid_plural "heat cubes (torch on)" +msgstr[0] "тепловой кубик (зажжён)" +msgstr[1] "тепловых кубика (зажжёны)" +msgstr[2] "тепловых кубиков (зажжёны)" +msgstr[3] "тепловые кубики (зажжёны)" + +#. ~ Use action msg for heat cube (torch on). +#: lang/json/TOOL_from_json.py +msgid "The torch flame is extinguished." +msgstr "Потушить факел." + +#. ~ Description for heat cube (torch on) +#: lang/json/TOOL_from_json.py +msgid "" +"The heat cube in the torch configuration, where it emits warmth and a bright" +" flame that does not burn." +msgstr "" +"Тепловой куб включен в режиме факела, в котором он излучает тепло и яркое " +"пламя, которое не жжот." + +#: lang/json/TOOL_from_json.py +msgid "skeleton key of opening" +msgid_plural "skeleton key of opening" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for skeleton key of opening +#: lang/json/TOOL_from_json.py +msgid "" +"A small gold skeleton key. You can activate it to unlock locked things." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "everburning torch" +msgid_plural "everburning torches" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for everburning torch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality engraved wooden torch. On command, the tip bursts " +"into flame and produces a fair amount of light. It will burn forever." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "enchanted tailor's kit" +msgid_plural "enchanted tailor's kits" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for enchanted tailor's kit +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality, engraved steel kit with a variety of needles, some " +"plastic spools for thread, some small scissors, even a small heating element" +" for melting and joining plastic. Use a tailor's kit to customize your " +"clothing and armor. This uses your tailoring skill. It also contains one " +"of those magic spiders that constantly, if slowly, makes new thread." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "spider box" +msgid_plural "spider boxes" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for spider box +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small glass box that contains a spider that diligently works day " +"and night to produce silk thread that it stores in a reservoir you can open " +"and retrieve it from." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "Magic Wand" msgid_plural "Magic Wands" @@ -91325,13 +95342,21 @@ msgstr[1] "Магических палочки" msgstr[2] "Магических палочек" msgstr[3] "Магические палочки" +#: lang/json/TOOL_from_json.py +msgid "Disposable Wand" +msgid_plural "Disposable Wands" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + #: lang/json/TOOL_from_json.py msgid "minor wand of magic missile" -msgid_plural "minor wand of magic missiles" -msgstr[0] "малая палочка волшебных ракет" -msgstr[1] "малых палочки волшебных ракет" -msgstr[2] "малых палочек волшебных ракет" -msgstr[3] "малые палочки волшебных ракет" +msgid_plural "minor wands of magic missile" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #. ~ Description for minor wand of magic missile #. ~ Description for lesser wand of magic missile @@ -91347,27 +95372,27 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of magic missile" -msgid_plural "lesser wand of magic missiles" -msgstr[0] "меньшая палочка волшебных ракет" -msgstr[1] "меньших палочки волшебных ракет" -msgstr[2] "меньших палочек волшебных ракет" -msgstr[3] "меньшие палочки волшебных ракет" +msgid_plural "lesser wands of magic missile" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "greater wand of magic missile" -msgid_plural "greater wand of magic missiles" -msgstr[0] "большая палочка волшебных ракет" -msgstr[1] "больших палочки волшебных ракет" -msgstr[2] "больших палочек волшебных ракет" -msgstr[3] "большие палочки волшебных ракет" +msgid_plural "greater wands of magic missile" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "minor wand of fireball" -msgid_plural "minor wand of fireballs" -msgstr[0] "малая палочка огненного шара" -msgstr[1] "малых палочки огненного шара" -msgstr[2] "малых палочек огненного шара" -msgstr[3] "малые палочки огненного шара" +msgid_plural "minor wands of fireball" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #. ~ Description for minor wand of fireball #. ~ Description for lesser wand of fireball @@ -91383,27 +95408,27 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of fireball" -msgid_plural "lesser wand of fireballs" -msgstr[0] "меньшая палочка огненного шара" -msgstr[1] "меньших палочки огненного шара" -msgstr[2] "меньших палочек огненного шара" -msgstr[3] "меньшие палочки огненного шара" +msgid_plural "lesser wands of fireball" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "greater wand of fireball" -msgid_plural "greater wand of fireballs" -msgstr[0] "большая палочка огненного шара" -msgstr[1] "больших палочки огненного шара" -msgstr[2] "больших палочек огненного шара" -msgstr[3] "большие палочки огненного шара" +msgid_plural "greater wands of fireball" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "minor wand of mana beam" -msgid_plural "minor wand of mana beams" -msgstr[0] "малая палочка луча маны" -msgstr[1] "малых палочки луча маны" -msgstr[2] "малых палочек луча маны" -msgstr[3] "малые палочки луча маны" +msgid_plural "minor wands of mana beam" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #. ~ Description for minor wand of mana beam #. ~ Description for lesser wand of mana beam @@ -91418,27 +95443,27 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of mana beam" -msgid_plural "lesser wand of mana beams" -msgstr[0] "меньшая палочка луча маны" -msgstr[1] "меньших палочки луча маны" -msgstr[2] "меньших палочек луча маны" -msgstr[3] "меньшие палочки луча маны" +msgid_plural "lesser wands of mana beam" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "greater wand of mana beam" -msgid_plural "greater wand of mana beams" -msgstr[0] "большая палочка луча маны" -msgstr[1] "больших палочки луча маны" -msgstr[2] "больших палочек луча маны" -msgstr[3] "большие палочки луча маны" +msgid_plural "greater wands of mana beam" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "minor wand of point flare" -msgid_plural "minor wand of point flares" -msgstr[0] "малая палочка точечной вспышки" -msgstr[1] "малых палочки точечной вспышки" -msgstr[2] "малых палочек точечной вспышки" -msgstr[3] "малые палочки точечной вспышки" +msgid_plural "minor wands of point flare" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #. ~ Description for minor wand of point flare #. ~ Description for lesser wand of point flare @@ -91454,62 +95479,60 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of point flare" -msgid_plural "lesser wand of point flares" -msgstr[0] "меньшая палочка точечной вспышки" -msgstr[1] "меньших палочки точечной вспышки" -msgstr[2] "меньших палочек точечной вспышки" -msgstr[3] "меньшие палочки точечной вспышки" +msgid_plural "lesser wands of point flare" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "greater wand of point flare" -msgid_plural "greater wand of point flares" -msgstr[0] "большая палочка точечной вспышки" -msgstr[1] "больших палочки точечной вспышки" -msgstr[2] "больших палочек точечной вспышки" -msgstr[3] "большие палочки точечной вспышки" +msgid_plural "greater wands of point flare" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: lang/json/TOOL_from_json.py -msgid "minor wand of iceball" -msgid_plural "minor wand of iceballs" -msgstr[0] "малая палочка ледяного шара" -msgstr[1] "малых палочки ледяного шара" -msgstr[2] "малых палочек ледяного шара" -msgstr[3] "малые палочки ледяного шара" +msgid "minor wand of hoary blast" +msgid_plural "minor wands of hoary blast" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" -#. ~ Description for minor wand of iceball -#. ~ Description for lesser wand of iceball -#. ~ Description for greater wand of iceball +#. ~ Description for minor wand of hoary blast +#. ~ Description for lesser wand of hoary blast +#. ~ Description for greater wand of hoary blast #: lang/json/TOOL_from_json.py msgid "" "A slender wooden wand with a mana crystal socket at the base that casts a " -"spell when activated. This wand casts iceball." +"spell when activated. This wand casts hoary blast." msgstr "" -"Тонкая деревянная палочка с отсеком для кристалла маны у основания, " -"призывающая заклинание при активации. Эта палочка призывает ледяной шар." #: lang/json/TOOL_from_json.py -msgid "lesser wand of iceball" -msgid_plural "lesser wand of iceballs" -msgstr[0] "меньшая палочка ледяного шара" -msgstr[1] "меньших палочки ледяного шара" -msgstr[2] "меньших палочек ледяного шара" -msgstr[3] "меньшие палочки ледяного шара" +msgid "lesser wand of hoary blast" +msgid_plural "lesser wands of hoary blast" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: lang/json/TOOL_from_json.py -msgid "greater wand of iceball" -msgid_plural "greater wand of iceballs" -msgstr[0] "большая палочка ледяного шара" -msgstr[1] "больших палочки ледяного шара" -msgstr[2] "больших палочек ледяного шара" -msgstr[3] "большие палочки ледяного шара" +msgid "greater wand of hoary blast" +msgid_plural "greater wands of hoary blast" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "minor wand of cone of cold" -msgid_plural "minor wand of cone of colds" -msgstr[0] "малая палочка конуса холода" -msgstr[1] "малых палочки конуса холода" -msgstr[2] "малых палочек конуса холода" -msgstr[3] "малые палочки конуса холода" +msgid_plural "minor wands of cone of cold" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #. ~ Description for minor wand of cone of cold #. ~ Description for lesser wand of cone of cold @@ -91524,19 +95547,217 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "lesser wand of cone of cold" -msgid_plural "lesser wand of cone of colds" -msgstr[0] "меньшая палочка конуса холода" -msgstr[1] "меньших палочки конуса холода" -msgstr[2] "меньших палочек конуса холода" -msgstr[3] "меньшие палочки конуса холода" +msgid_plural "lesser wands of cone of cold" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "greater wand of cone of cold" -msgid_plural "greater wand of cone of colds" -msgstr[0] "большая палочка конуса холода" -msgstr[1] "больших палочки конуса холода" -msgstr[2] "больших палочек конуса холода" -msgstr[3] "большие палочки конуса холода" +msgid_plural "greater wands of cone of cold" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of magic missile" +msgid_plural "disposable minor wands of magic missile" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for disposable minor wand of magic missile +#. ~ Description for disposable lesser wand of magic missile +#. ~ Description for disposable greater wand of magic missile +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts magic missile." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of magic missile" +msgid_plural "disposable lesser wands of magic missile" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of magic missile" +msgid_plural "disposable greater wands of magic missile" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of fireball" +msgid_plural "disposable minor wands of fireball" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for disposable minor wand of fireball +#. ~ Description for disposable lesser wand of fireball +#. ~ Description for disposable greater wand of fireball +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts fireball." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of fireball" +msgid_plural "disposable lesser wands of fireball" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of fireball" +msgid_plural "disposable greater wands of fireball" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of mana beam" +msgid_plural "disposable minor wands of mana beam" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for disposable minor wand of mana beam +#. ~ Description for disposable lesser wand of mana beam +#. ~ Description for disposable greater wand of mana beam +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts mana beam." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of mana beam" +msgid_plural "disposable lesser wands of mana beam" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of mana beam" +msgid_plural "disposable greater wands of mana beam" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of point flare" +msgid_plural "disposable minor wands of point flare" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for disposable minor wand of point flare +#. ~ Description for disposable lesser wand of point flare +#. ~ Description for disposable greater wand of point flare +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts point flare." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of point flare" +msgid_plural "disposable lesser wands of point flare" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of point flare" +msgid_plural "disposable greater wands of point flare" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of hoary blast" +msgid_plural "disposable minor wands of hoary blast" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for disposable minor wand of hoary blast +#. ~ Description for disposable lesser wand of hoary blast +#. ~ Description for disposable greater wand of hoary blast +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts hoary blast." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of hoary blast" +msgid_plural "disposable lesser wands of hoary blast" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of hoary blast" +msgid_plural "disposable greater wands of hoary blast" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of cone of cold" +msgid_plural "disposable minor wands of cone of cold" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#. ~ Description for disposable minor wand of cone of cold +#. ~ Description for disposable lesser wand of cone of cold +#. ~ Description for disposable greater wand of cone of cold +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts cone of cold." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of cone of cold" +msgid_plural "disposable lesser wands of cone of cold" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of cone of cold" +msgid_plural "disposable greater wands of cone of cold" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #: lang/json/TOOL_from_json.py msgid "owlbear gastrolith" @@ -91641,11 +95862,11 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "Magus rune" -msgid_plural "Magus runes" -msgstr[0] "Магическая руна" -msgstr[1] "Магические руны" -msgstr[2] "Магических рун" -msgstr[3] "Магическая руна" +msgid_plural "Magi runes" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #. ~ Description for Magus rune #: lang/json/TOOL_from_json.py @@ -91822,11 +96043,11 @@ msgstr "Мелкая пыль, постепенно светящаяся всё #: lang/json/TOOL_from_json.py msgid "wand of fireballs" -msgid_plural "wand of fireballss" -msgstr[0] "жезл огненного шара" -msgstr[1] "жезла огненного шара" -msgstr[2] "жезлов огненного шара" -msgstr[3] "жезлы огненного шара" +msgid_plural "wands of fireball" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #. ~ Description for wand of fireballs #: lang/json/TOOL_from_json.py @@ -91839,11 +96060,11 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "wand of magic missiles" -msgid_plural "wand of magic missiless" -msgstr[0] "палочка волшебных ракет" -msgstr[1] "палочки волшебных ракет" -msgstr[2] "палочек волшебных ракет" -msgstr[3] "палочки волшебных ракет" +msgid_plural "wands of magic missile" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" #. ~ Description for wand of magic missiles #: lang/json/TOOL_from_json.py @@ -92416,14 +96637,6 @@ msgid "" "This is a stick that has been cut into a trigger mechanism for a snare trap." msgstr "Палка, врезанная в виде спускового механизма для силковой ловушки." -#: lang/json/TOOL_from_json.py -msgid "Laevateinn" -msgid_plural "Laevateinns" -msgstr[0] "Леватейн" -msgstr[1] "Леватейн" -msgstr[2] "Леватейн" -msgstr[3] "Леватейн" - #. ~ Description for Laevateinn #: lang/json/TOOL_from_json.py msgid "" @@ -93925,6 +98138,20 @@ msgstr "" "Крепкое железнодорожное колесо. Из-за выступа прочно держится на рельсе, но " "ужасно на всём остальном." +#: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py +msgid "pair of small rail wheels" +msgstr "пара маленьких железнодорожных колёс" + +#. ~ Description for pair of small rail wheels +#: lang/json/WHEEL_from_json.py +msgid "" +"A pair of small rail wheels. It fits small railroad rails found in places " +"like amusement parks. Mostly for hobby purposes rather then transportation." +msgstr "" +"Пара маленьких железнодорожных колёс. Они подходят для небольших " +"железнодорожных рельсов, например, как в парках развлечений. Скорее для " +"хобби, а не транспортировки." + #: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py msgid "motorbike wheel" msgstr "колесо от мотоцикла" @@ -94331,6 +98558,10 @@ msgstr "разбивание" msgid "cranking" msgstr "ручное заряжание" +#: lang/json/activity_type_from_json.py +msgid "heating" +msgstr "разогревание" + #: lang/json/activity_type_from_json.py msgid "de-stressing" msgstr "снятие стресса" @@ -94433,7 +98664,7 @@ msgstr "сварки" #: lang/json/activity_type_from_json.py msgid "cracking" -msgstr "разламывание" +msgstr "взлом" #: lang/json/activity_type_from_json.py msgid "repairing" @@ -94979,7 +99210,7 @@ msgstr "Металлическое покрытие — Руки" #. ~ Description for Alloy Plating - Arms #: lang/json/bionic_from_json.py msgid "" -"The flesh on your arms has been surgically replaced by alloy plating. " +"The flesh on your arms has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" @@ -95022,7 +99253,7 @@ msgstr "Металлическое покрытие — Ноги" #. ~ Description for Alloy Plating - Legs #: lang/json/bionic_from_json.py msgid "" -"The flesh on your legs has been surgically replaced by alloy plating. " +"The flesh on your legs has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" @@ -95398,17 +99629,22 @@ msgstr "Сжигатель этанола" #. ~ Description for Ethanol Burner #: lang/json/bionic_from_json.py -msgid "" -"You burn alcohol as fuel in an extremely efficient reaction. However, you " -"will still suffer the inebriating effects of the substance." -msgstr "" -"Вы можете использовать алкоголь как очень эффективное топливо. Однако вы всё" -" равно будете страдать от воздействия алкоголя на организм." +msgid "You burn alcohol as fuel in an extremely efficient reaction." +msgstr "Вы можете использовать алкоголь как очень эффективное топливо." #: lang/json/bionic_from_json.py msgid "Aero-Evaporator" msgstr "Воздушный конденсатор испарений" +#. ~ Description for Aero-Evaporator +#: lang/json/bionic_from_json.py +msgid "" +"This unit draws moisture from the surrounding air, which slowly trickles " +"directly into your blood stream. It may fail in very dry environments." +msgstr "" +"Это устройство собирает влагу из воздуха, которая медленно втекает прямо в " +"вашу вену. Может не сработать в сухой обстановке." + #: lang/json/bionic_from_json.py msgid "Diamond Cornea" msgstr "Алмазная роговица" @@ -95527,7 +99763,7 @@ msgid "" "You don't think that capacitor is *meant* to glow, but it does, and usually " "at bad times. A malfunctioning bionic randomly turns on and off, causing " "you to glow and making you visible in the dark without improving how much " -"you can see in the slighest." +"you can see in the slightest." msgstr "" "Вы не уверены, что тот конденсатор *должен* светиться, но он светится, и " "обычно в самый неподходящий момент. Неисправная бионика случайным образом " @@ -95705,10 +99941,10 @@ msgstr "" "неприятные побочные эффекты." #: lang/json/bionic_from_json.py -msgid "Mini-Flamethrower" -msgstr "Мини-огнемёт" +msgid "Finger Lighter" +msgstr "Палечная зажигалка" -#. ~ Description for Mini-Flamethrower +#. ~ Description for Finger Lighter #: lang/json/bionic_from_json.py msgid "" "The index fingers of both hands have powerful fire starters which extend " @@ -95740,8 +99976,8 @@ msgstr "Электромагнитный агрегат" #: lang/json/bionic_from_json.py msgid "" "Surgically embedded in your right hand is a powerful electromagnet, allowing" -" you to indiscriminately pull all nearby magnetic objects towards you. " -"Unlucky bystanders might be injured or killed by flying objects." +" you to use your own strength to pull all nearby magnetic objects towards " +"you. Unlucky bystanders might be injured or killed by flying objects." msgstr "" "Мощный электромагнит, хирургически встроенный в правую кисть. Позволяет " "беспорядочно притянуть к вам все ближайшие магнитящиеся предметы, способные " @@ -95815,17 +100051,26 @@ msgstr "Ремонтные наноботы" #: lang/json/bionic_from_json.py msgid "" "Inside your body is a fleet of tiny dormant robots. While activated they " -"will flit about your body, repairing damage at 1 HP/s and stopping bleeding " -"at the cost of power." +"will flit about your body, repairing damage at 1 HP per minute and stopping " +"bleeding at the cost of extra power and stored calories." msgstr "" -"В вашем теле существует флот крошечных роботов. При активизации они " -"обследуют ваше тело, залечивают повреждения со скоростью 1 НР/сек и " +"В вашем теле существует рой крошечных нанороботов. При активизации они " +"обследуют ваше тело, залечивают повреждения со скоростью 1 ОЗ в минуту и " "останавливают кровотечения ценой бионической энергии." #: lang/json/bionic_from_json.py msgid "Artificial Night Generator" msgstr "Искусственный генератор ночи" +#. ~ Description for Artificial Night Generator +#: lang/json/bionic_from_json.py +msgid "" +"When active, this bionic eliminates all light within a 2 tile radius through" +" destructive interference." +msgstr "" +"При активации этот модуль посредством разрушительной интерференционной волны" +" уничтожает весь свет в радиусе 2 клеток." + #: lang/json/bionic_from_json.py msgid "Implanted Night Vision" msgstr "Вживлённое ночное видение" @@ -95850,11 +100095,11 @@ msgstr "Неисправный биомодуль. Время от времен msgid "" "You're really not sure how the CBM ended up in your nose, but no matter how " "it got there this badly misplaced bionic makes it difficult to breathe. " -"Increases mouth encumbrance by one." +"Increases mouth encumbrance by ten." msgstr "" "Вы действительно не знаете, как этот КБМ оказался в носу, но независимо от " "того, как он туда попал, эта бионика затрудняет дыхание. Увеличивает " -"скованность рта на 1." +"скованность рта на 10." #: lang/json/bionic_from_json.py msgid "Offensive Defense System" @@ -95890,10 +100135,10 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "Due to a badly misplaced dielectric stylette, you are now suffering from " -"mild optic neuropathy. Increases eye encumbrance by one." +"mild optic neuropathy. Increases eye encumbrance by ten." msgstr "" "Из-за неверно установленного диэлектрического зонда вы страдаете от лёгкой " -"глазной невропатии. Повышает скованность глаз на 1." +"глазной невропатии. Повышает скованность глаз на 10." #: lang/json/bionic_from_json.py msgid "Power Armor Interface" @@ -95930,12 +100175,12 @@ msgstr "Доп. аккумулятор" #. ~ Description for Power Storage #: lang/json/bionic_from_json.py msgid "" -"A Compact Bionics Module that increases your power capacity by 100 units. " +"A Compact Bionics Module that increases your power capacity by 100 kJ. " "Having at least one of these is a prerequisite to using powered bionics. " "You will also need a power supply, found in various CBMs." msgstr "" "Компактный Бионический Модуль, который увеличивает объём запасаемой энергии " -"на 100. Чтобы использовать потребляющие энергию имплантаты, требуется " +"на 100 кДж. Чтобы использовать потребляющие энергию имплантаты, требуется " "установить хотя бы один такой модуль. Вам также потребуется установить " "бионику с источником питания." @@ -95945,10 +100190,9 @@ msgstr "Доп. аккумулятор Мк. II" #. ~ Description for Power Storage Mk. II #: lang/json/bionic_from_json.py -msgid "" -"A Compact Bionics Module that increases your power capacity by 250 units." +msgid "A Compact Bionics Module that increases your power capacity by 250 kJ." msgstr "" -"Компактный Бионический Модуль, увеличивающий энергоёмкость на 250 единиц." +"Компактный Бионический Модуль, увеличивающий энергоёмкость на 250 кДж." #. ~ Description for Power Overload #: lang/json/bionic_from_json.py @@ -96291,11 +100535,11 @@ msgstr "" msgid "" "Self-locking thumbs hold tight (even when you really don't want them to) and" " don't let go (even when you'd rather they did). Increases hand encumbrance" -" by two, while failing to improve your ability to hold objects whatsoever." +" by ten, while failing to improve your ability to hold objects whatsoever." msgstr "" "Самофиксирующиеся большие пальцы крепко держат (даже если вы этого не " "хотите) и не отпускают (даже если вы хотите это сделать). Увеличивают " -"скованность рук на два, не улучшая вашу способность удерживать объекты." +"скованность рук на 10, не улучшая вашу способность удерживать объекты." #: lang/json/bionic_from_json.py msgid "Time Dilation" @@ -96452,15 +100696,15 @@ msgstr "" #. ~ Description for Gasoline Fuel Cell CBM #: lang/json/bionic_from_json.py msgid "" -"A small gasoline fuel cell fixed to your scapula. Despite its limited energy" -" output compared to other fuel cells, this device still produces a " +"A small gasoline fuel cell fixed to your scapula. Despite its limited " +"energy output compared to other fuel cells, this device still produces a " "significant amount of heat dissipated through a heat exhaust protruding from" " your back. A diffuse network of bio-plastic bladders has been meshed with " "your circulatory system and serves as a fuel tank." msgstr "" "Маленькая бензиновая топливная ячейка, прикреплённая к вашей лопатке. Хотя " "выход энергии невелик по сравнению с другими топливными ячейками, это " -"устройство довольно сильно греется - избыточное тепло рассеивается " +"устройство довольно сильно греется — избыточное тепло рассеивается " "посредством выхлопного клапана на вашей спине. В вашей системе " "кровообращения имеется множество пузырьков из биопластика, служащих " "хранилищем для топлива." @@ -96524,7 +100768,7 @@ msgstr "Модификатор вкуса" #: lang/json/bionic_from_json.py msgid "" "A set of highly sensitive sensors is installed in your mouth, and a small " -"yet sophisticated analyzer is installed in the cavity of your skull. The " +"yet sophisticated analyzer is installed in the cavity of your skull. The " "active bionic will nullify the taste of all comestibles with negative " "enjoyment value at the cost of draining bionic power." msgstr "" @@ -96762,7 +101006,7 @@ msgid "Dodging and melee is hampered." msgstr "Уклонение и ближний бой затруднены." #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Torso" msgstr "Торс" @@ -96781,7 +101025,7 @@ msgid "head" msgstr "голова" #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Head" msgstr "Голова" @@ -96848,11 +101092,11 @@ msgstr "Ближний и дальний бой затруднены." #: lang/json/bodypart_from_json.py src/armor_layers.cpp msgid "L. Arm" -msgstr "лРука" +msgstr "L. Рука" #: lang/json/bodypart_from_json.py msgid "Arms" -msgstr "пРука" +msgstr "Руки " #: lang/json/bodypart_from_json.py msgid "L ARM" @@ -96869,7 +101113,7 @@ msgstr "правая рука" #: lang/json/bodypart_from_json.py src/armor_layers.cpp msgid "R. Arm" -msgstr "пРука" +msgstr "П. Рука" #: lang/json/bodypart_from_json.py msgid "R ARM" @@ -96899,11 +101143,11 @@ msgstr "Работа руками замедлена." #: lang/json/bodypart_from_json.py src/armor_layers.cpp msgid "L. Hand" -msgstr "лЛадонь" +msgstr "Л. Ладонь" #: lang/json/bodypart_from_json.py msgid "Hands" -msgstr "лЛадонь" +msgstr "Ладони" #: lang/json/bodypart_from_json.py msgid "right hand" @@ -96916,7 +101160,7 @@ msgstr "прав. ладонь" #: lang/json/bodypart_from_json.py src/armor_layers.cpp msgid "R. Hand" -msgstr "пЛадонь" +msgstr "П. Ладонь" #: lang/json/bodypart_from_json.py msgid "left leg" @@ -96942,11 +101186,11 @@ msgstr "Бег и плавание замедлены." #: lang/json/bodypart_from_json.py src/armor_layers.cpp msgid "L. Leg" -msgstr "лНога" +msgstr "Л. Нога" #: lang/json/bodypart_from_json.py msgid "Legs" -msgstr "пНога" +msgstr "Ноги" #: lang/json/bodypart_from_json.py msgid "L LEG" @@ -96963,7 +101207,7 @@ msgstr "прав. нога" #: lang/json/bodypart_from_json.py src/armor_layers.cpp msgid "R. Leg" -msgstr "пНога" +msgstr "П. Нога" #: lang/json/bodypart_from_json.py msgid "R LEG" @@ -96989,11 +101233,11 @@ msgstr "стопы" #: lang/json/bodypart_from_json.py src/armor_layers.cpp msgid "L. Foot" -msgstr "лСтопа" +msgstr "Л. Стопа" #: lang/json/bodypart_from_json.py msgid "Feet" -msgstr "лСтупня" +msgstr "Стопы" #: lang/json/bodypart_from_json.py msgid "right foot" @@ -97006,7 +101250,7 @@ msgstr "прав. стопа" #: lang/json/bodypart_from_json.py src/armor_layers.cpp msgid "R. Foot" -msgstr "пСтопа" +msgstr "П. Стопа" #: lang/json/bodypart_from_json.py msgid "appendix" @@ -97266,6 +101510,18 @@ msgstr "Заполнить яму землёй" msgid "Make Woodchip Floor" msgstr "Сделать пол из древесной стружки" +#: lang/json/construction_from_json.py +msgid "Make Gravel Floor" +msgstr "Сделать гравийную насыпь" + +#: lang/json/construction_from_json.py +msgid "Build Straight Small Railroad Track" +msgstr "Строить маленький прямой ж/д путь" + +#: lang/json/construction_from_json.py +msgid "Build Diagonal Small Railroad Track" +msgstr "Строить маленький диагональный ж/д путь" + #: lang/json/construction_from_json.py msgid "Build Wooden Floor" msgstr "Построить деревянный пол" @@ -97382,6 +101638,14 @@ msgstr "Строить ворота из сетки рабица" msgid "Needs to be supported on both sides by fencing, walls, etc." msgstr "Должно быть поддержано с обеих сторон оградой, стенами и т.д." +#: lang/json/construction_from_json.py +msgid "Build Screen Door" +msgstr "Строить сетчатую дверь" + +#: lang/json/construction_from_json.py +msgid "Build Screen Mesh Wall" +msgstr "Строить сетчатую стену" + #: lang/json/construction_from_json.py msgid "Build Chickenwire Fence" msgstr "Строить ограду из шестиугольной сетки" @@ -97422,6 +101686,10 @@ msgstr "Поставить шкаф для одежды" msgid "Build Bookcase" msgstr "Поставить книжный шкаф" +#: lang/json/construction_from_json.py +msgid "Build Entertainment Center" +msgstr "Строить \"стенку\"" + #: lang/json/construction_from_json.py msgid "Build Locker" msgstr "Поставить шкафчик" @@ -97454,6 +101722,10 @@ msgstr "Поставить стол" msgid "Place Table" msgstr "Разместить стол" +#: lang/json/construction_from_json.py +msgid "Build Coffee Table" +msgstr "Собрать кофейный столик" + #: lang/json/construction_from_json.py msgid "Build Workbench" msgstr "Построить Верстак" @@ -97700,7 +101972,7 @@ msgstr "Строить причал/мост на мелководье" #: lang/json/construction_from_json.py msgid "Build Deep River Dock" -msgstr "" +msgstr "Строить глубоководный причал" #: lang/json/construction_from_json.py msgid "Place Water Mill" @@ -97836,7 +102108,7 @@ msgstr "Повесить мясницкий крюк" #: lang/json/construction_from_json.py msgid "Build Counter Gate" -msgstr "Построить Рабочие Ворота" +msgstr "Строить дверцу стола" #: lang/json/construction_from_json.py msgid "Build Split Rail Fence Gate" @@ -97910,6 +102182,10 @@ msgstr "Построить радиовышку." msgid "Build a radio tower console." msgstr "Построить терминал радиовышки." +#: lang/json/construction_from_json.py +msgid "Build Log Stool" +msgstr "Строить пенёк" + #: lang/json/construction_from_json.py msgid "Convert Fridge Power Supply" msgstr "Переделать питание холодильника" @@ -98664,6 +102940,51 @@ msgstr "" msgid "You dream of bees fighting over your sweet nectar. Mmm." msgstr "Вам снится, что пчёлы бьются за ваш сладкий нектар. Ммм." +#: lang/json/dream_from_json.py +msgid "" +"How grand it would be to sink your roots deep into the soil as the seasons " +"pass you by." +msgstr "" +"Как круто было бы погрузить корни глубоко в почву и наслаждаться сменой " +"времён года." + +#: lang/json/dream_from_json.py +msgid "You dream of a gigantic knot of roots, beating like a heart." +msgstr "" +"Вы грезите о гигантской корневой системе, питающей вас соками словно сердце " +"кровью." + +#: lang/json/dream_from_json.py +msgid "You have a disturbing dream of termites chewing all over your body." +msgstr "Вам снится кошмарный сон о термитах, жрущих всё ваше тело." + +#: lang/json/dream_from_json.py +msgid "" +"You dream of sharing your roots with a vast forest, all plants provided for " +"as the canopy grows ever upwards." +msgstr "" +"Вы грезите разделить свои корни с огромным лесом, где все растения укрывают " +"небо кронами, словно навесом, и растут всё выше." + +#: lang/json/dream_from_json.py +msgid "A family of caterpillars munches away at your leaves." +msgstr "Скопление гусениц обкусывают ваши листочки." + +#: lang/json/dream_from_json.py +msgid "" +"Fire rages around you, licking at your bark and engulfing the saplings and " +"bushes near your roots. The once chatty forest is quiet in its wake." +msgstr "" +"Огонь бушует вокруг вас, облизывая вашу кору и поглощая саженцы и кусты " +"возле корней. Некогда шумный лес тих и безжизнен." + +#: lang/json/dream_from_json.py +msgid "" +"You dream of communing with an ancient pine. Trees are the true survivors " +"of this world, it tells you." +msgstr "" +"Вам снится древняя сосна. Деревья — настоящие выжившие, поведала она вам." + #: lang/json/dream_from_json.py msgid "" "A rather attractive triffid offers you a bouquet of ape heads. How " @@ -100035,6 +104356,25 @@ msgstr "Ваши руки непрерывно дрожат." msgid "You tremble" msgstr "Вы дрожите" +#: lang/json/effects_from_json.py +msgid "Seizure" +msgstr "Припадок" + +#. ~ Description of effect 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles have seized up, and you can't control them!" +msgstr "Ваши мышцы свело, и вы не можете ничего поделать!" + +#. ~ Remove message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "You regain control of your muscles!" +msgstr "Вы восстанавливаете контроль над своими мышцами!" + +#. ~ Miss message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles won't cooperate!" +msgstr "Ваши мышцы не скоординированы!" + #: lang/json/effects_from_json.py msgid "Bleeding" msgstr "Кровотечение" @@ -100207,8 +104547,8 @@ msgstr "Кожные паразиты" msgid "" "You stop to scratch yourself frequently; high INT helps you resist the urge." msgstr "" -"Вы перестаёте часто чесаться; высокий уровень интеллекта помогает вам " -"противостоять искушению." +"Вы часто чешетесь; высокий уровень интеллекта помогает вам противостоять " +"искушению." #. ~ Apply message for effect(s) 'Itchy skin, Writhing skin, Bugs in skin'. #: lang/json/effects_from_json.py @@ -100326,7 +104666,7 @@ msgstr "Вакцинирован" #. ~ Description of effect 'Vaccinated'. #: lang/json/effects_from_json.py msgid "You have been vaccinated for the flu recently." -msgstr "Вы недавно получили прививку от гриппа." +msgstr "Вы были недавно привиты от гриппа." #: lang/json/effects_from_json.py msgid "RX12 Healing Comedown" @@ -100973,6 +105313,28 @@ msgstr "Ваш метаболизм стал нестабильным." msgid "Your metabolism becomes more stable." msgstr "Ваш метаболизм стал более стабильным." +#: lang/json/effects_from_json.py +msgid "Concerning symptoms" +msgstr "Беспокоящие симптомы" + +#. ~ Description of effect 'Concerning symptoms'. +#: lang/json/effects_from_json.py +msgid "Your muscles keep twitching strangely." +msgstr "Ваши мышцы продолжают спазмировать." + +#: lang/json/effects_from_json.py +msgid "Unnerving symptoms" +msgstr "Тревожные симптомы" + +#. ~ Description of effect 'Unnerving symptoms'. +#: lang/json/effects_from_json.py +msgid "" +"Your nervous system is malfunctioning, almost like it's being torn apart " +"from the inside." +msgstr "" +"Ваша нервная система работает со сбоями, почти как будто она разрывается " +"изнутри." + #: lang/json/effects_from_json.py msgid "Lit up" msgstr "Освещён" @@ -101228,6 +105590,17 @@ msgstr "Сверхзаряд" msgid "You've been struck by lightning, and feel... different." msgstr "В вас ударила молния, и теперь вы чувствуете себя… другим." +#: lang/json/effects_from_json.py +msgid "Grown of Fusion" +msgstr "" + +#. ~ Description of effect 'Grown of Fusion'. +#: lang/json/effects_from_json.py +msgid "" +"AI effect to increase stats after fusing with another critter. 1 stack means" +" one absorbed max_hp." +msgstr "" + #: lang/json/effects_from_json.py msgid "Religious Offense" msgstr "Религиозное Оскорбление" @@ -101544,6 +105917,33 @@ msgstr "Ваше тело лёгкое, как пёрышко." msgid "The earth pulls you down hard." msgstr "Земля с силой тянет вас вниз." +#: lang/json/effects_from_json.py +msgid "Scared" +msgstr "Страх" + +#: lang/json/effects_from_json.py +msgid "Frightened" +msgstr "Ужас" + +#: lang/json/effects_from_json.py src/npc.cpp +msgid "Terrified" +msgstr "В ужасе" + +#: lang/json/effects_from_json.py +msgid "" +"Your knees are shaking, your heart beats fast, and your stomach rebels." +msgstr "У вас трясутся колени, сердце рвётся из груди и желудок бушует." + +#. ~ Apply message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "You are afraid!" +msgstr "Вы напуганы!" + +#. ~ Remove message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "Your fear dissipates." +msgstr "Ваш страх исчезает." + #: lang/json/effects_from_json.py msgid "Stuck in a light snare" msgstr "Застреваете в лёгких силках" @@ -101940,6 +106340,265 @@ msgstr "" "безопасности. Пока лежал на земле в ожидании дополнительных сотрудников " "полиции, был разорван на куски зомби, привлечёнными шумом." +#: lang/json/epilogue_from_json.py +msgid "" +" Became a hunter after your death, living alone in the woods. Traced " +"back to his cabin, he was murdered and devoured in his sleep by an actual " +"cannibal." +msgstr "" +" После вашей смерти стал охотником и поселился отшельником в лесу. Был " +"убит во сне и съеден выследившим его каннибалом." + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived for many years, and became a renowned scavenger, eventually " +"setting up a small shop in a Free Merchant outpost. Survived by two sons, " +"he died after a rare artifact poisoned his blood with acid." +msgstr "" +" После многих лет выживания стал известным старьёвщиком и открыл " +"небольшой магазин на аванпосте Свободных Торговцев. Пережив двух сыновей, он" +" умер после того, как редкий артефакт отравил его кровь кислотой." + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered and scavenged the land for years after your death, " +"eventually becoming a skilled mechanic. Employed by the Free Merchants, he " +"lived a comfortable, if rather uneventful life, dying of cancer, a rare " +"luxury these days." +msgstr "" +" Он бродил и очищал землю в течение многих лет после вашей смерти, в " +"конце концов став квалифицированным механиком. Работая в Свободных " +"торговцах, он жил комфортной, хотя и довольно небогатой жизнью. Умер от рака" +" — редкой роскоши в наши дни." + +#: lang/json/epilogue_from_json.py +msgid "" +" Became truly depressed after your death and hid in the woods. If " +"rumors are to be believed, he spent years living as a deranged hermit in a " +"distant cave, worshiping stones and sacrificing dogs." +msgstr "" +" После вашей смерти стал по-настоящему подавленным и ушёл в леса. Если " +"верить слухам, он провел годы, живя как невменяемый отшельник в далекой " +"пещере, поклоняясь камням и принося в жертву собак." + +#: lang/json/epilogue_from_json.py +msgid "" +" After your death, he became obsessed with preserving old knowledge and " +"eventually became known as 'the lorekeeper'. Hired by the Old Guard as a " +"librarian, he spent his life amongst dusty old books, trying to convince " +"others of their value. He even changed his name to Frederic Bastiat, in " +"honor of an old French philosopher." +msgstr "" +" После вашей смерти он стал одержим сохранением старых знаний и в конце " +"концов стал известен как «хранитель знаний». Нанятый старой Гвардией в " +"качестве библиотекаря, он провёл свою жизнь среди пыльных старых книг, " +"пытаясь убедить других в их ценности. Он даже изменил свое имя на Фредерика " +"Бастиа, в честь старого французского философа." + +#: lang/json/epilogue_from_json.py +msgid "" +" He found faith after your death, eventually joining an Anglican " +"community and becoming a Vicar. The crucifix provided him with a sense of " +"meaning, before dying horribly at the hands of raiders. He was still " +"praying when they roasted him alive." +msgstr "" +" Он стал верующим после вашей смерти и, в конце концов, присоединился к " +"англиканской общине и стал викарием. Распятие стало его смыслом жизни, пока " +"он не умер от рук рейдеров мучительной смертью. Он всё ещё молился, когда " +"его сжигали заживо." + +#: lang/json/epilogue_from_json.py +msgid "" +" Lost and damned, he joined a bloody cult after your death, kidnapping " +"and sacrificing young women. His entire group was killed after being " +"discovered by the Old Guard. His head was put on a spike as a reminder that" +" cultists will not be tolerated." +msgstr "" +" После вашей смерти, потерянный и проклятый, он присоединился к " +"кровавому культу, который похищал и приносил в жертву юных девственниц. Вся " +"его группа была убита после обнаружения старой гвардией. Его голова на шесте" +" стала напоминанием для всех культистов." + +#: lang/json/epilogue_from_json.py +msgid "" +" He did not survive for long after your death. Electrocuted in an old " +"cellar, he kept screaming your name. His body was never found." +msgstr "" +" Он не прожил долго после вашей смерти. В старом погребе на " +"электрическом стуле он перед смертью выкрикнул ваше имя. Его тело так и не " +"было найдено." + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived you by just a few days, he drowned trying to escape from a " +"horde." +msgstr "" +" Пережив вас всего на несколько дней, он утонул, пытаясь сбежать от " +"орды." + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered alone for days, before finding a Free Merchant outpost. He" +" spent a few years as a caravan guard, often drinking himself half blind and" +" enjoying any woman he could find. Booze made his grip unsteady and he was " +"eventually fired. He died of alcohol poisoning the same day." +msgstr "" +" Он бродил в одиночестве в течение нескольких дней, прежде чем наткнулся" +" на заставу Свободных Торговцев. Он провёл несколько лет в качестве " +"охранника каравана, часто выпивая до беспамятства и трахая любых доступных " +"женщин. Пьянство ослабило хватку и, в конце концов, его уволили. Он умер от " +"отравления алкоголем в тот же день." + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with the idea of settling down, he eventually found love and " +"retired to a farm in the middle of nowhere. Relatively safe from the " +"monsters, he thrived for years. Survived by seven sons and two daughters." +msgstr "" +" Одержимый идеей осёдлости, он, в конце концов, нашёл свою любовь и " +"построил ферму с нуля. Живя относительно спокойно, без монстров, его семья " +"процветала годами. Умер, оставив семь сыновей и две дочери." + +#: lang/json/epilogue_from_json.py +msgid "" +" Became famous in the wastes after finding an old brewery and copying " +"their recipe. His chilled beer, a known delicacy, is traded far and wide by" +" the Free Merchants." +msgstr "" +" Стал знаменитым в пустошах, после того как нашёл старую пивоварню и " +"повторил рецепт. Его офигенейшее охлаждённое пиво широко продаётся " +"Свободными Торговцами." + +#: lang/json/epilogue_from_json.py +msgid "" +" Found a whole cellar of single malt whisky. Drank himself to death." +msgstr " Нашёл целый погреб виски. Напился до смерти." + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed after your death, he would hang himself after just a few " +"days." +msgstr " Через несколько дней после вашей смерти он повесился." + +#: lang/json/epilogue_from_json.py +msgid "" +" Wandered for months, before finding a small community that would accept" +" him. Became a farmer and spent the rest of his uneventful life tending to " +"crops, glad that he was no longer alone." +msgstr "" +" Бродил месяцами, прежде чем нашёл небольшое сообщество, которое его " +"приняло. Стал фермером и провел остаток своей безмятежной жизни, ухаживая за" +" посевами и радуясь, что он больше не один." + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with finding 'the Cure', he died a few weeks later in an old " +"lab, torn to shreds by a security turret." +msgstr "" +" Одержимый поиском «антивируса», он умер несколько недель спустя в " +"старой лаборатории, разорванный в клочья турелью безопасности." + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a runner for the Refugee Center and died after a few months." +msgstr "" +" Следуя по пути в Центр беженцев, он умер через несколько месяцев." + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a raider gang and died in a firefight a few weeks later, trying " +"to rob a Free Merchant caravan." +msgstr "" +" Присоединился к рейдерской банде и через несколько недель погиб в " +"перестрелке, пытаясь ограбить караван Свободных Торговцев." + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, he eventually found an intact baseball field and built " +"a prosperous farming community there." +msgstr "" +" Странствуя на север, он, в конце концов, нашёл нетронутое бейсбольное " +"поле и построил там процветающее фермерское сообщество." + +#: lang/json/epilogue_from_json.py +msgid "" +" He spent the rest of his short life looking for a new fix. Died of an " +"overdose in an abandoned basement." +msgstr "" +" Он провёл остаток своей короткой жизни в поисках чем бы жахнуться. Умер" +" от передозировки в заброшенном подвале." + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a small fishing village. Died a few years " +"later in a raider attack, alongside his young son." +msgstr "" +" После путешествия на юг присоединился к небольшой рыбацкой деревне. " +"Убит несколько лет спустя в рейдерской атаке вместе со своим маленьким " +"сыном." + +#: lang/json/epilogue_from_json.py +msgid "" +" Thoroughly terrified by your death, he retired to an old LMOE shelter, " +"vowing never to leave. He died of starvation inside." +msgstr "" +" Обезумев от вашей смерти, он удалился в старое убежище последних людей," +" пообещав никогда не выходить из него. Умер от голода внутри." + +#: lang/json/epilogue_from_json.py +msgid "" +" He became a very prosperous game hunter, trading meat and furs, and " +"providing many settlements with food in exchange for booze and male company." +" He died years later of an STD." +msgstr "" +" Он стал очень преуспевающим охотником на диких животных, торгующим " +"мясом и мехами и обеспечивающим продовольствием многие поселения в обмен на " +"выпивку и женщин. Он умер спустя годы от венерических заболеваний." + +#: lang/json/epilogue_from_json.py +msgid "" +" Retired to the woods, he spent the rest of his life fishing and hunting" +" in a desolate cabin, rarely interacting with anyone else." +msgstr "" +" Уйдя в леса, он отшельником провёл остаток своей жизни в заброшенной " +"хижине, ловя рыбу и охотясь на диких животных." + +#: lang/json/epilogue_from_json.py +msgid "" +" Died en route to California, deliriously dreaming of a better life as " +"he was slowly devoured by spiders." +msgstr "" +" По дороге в Калифорнию, безумно мечтая о лучшей жизни, был убит и " +"медленно сожран пауками." + +#: lang/json/epilogue_from_json.py +msgid "" +" He tried to cope with loneliness after your death, but failed. He was " +"blind drunk when a group of zombies found his hideout and didn't stand a " +"chance." +msgstr "" +" После вашей смерти он безуспешно пытался справиться с одиночеством. Был" +" до беспамятства пьян, когда группа зомби нашла его укрытие и не оставило " +"ему шансов." + +#: lang/json/epilogue_from_json.py +msgid "" +" He didn't survive for long, waking up to a horde of zombies. They " +"smashed through his fortified windows in a pinch and only the last bullet " +"prevented him from being devoured alive." +msgstr "" +" Он не выжил долго. Однажды его разбудила орда зомби. Они прорвались " +"через укрепленные окна, и только последняя пуля помешала ему быть съеденным " +"заживо." + +#: lang/json/epilogue_from_json.py +msgid "" +" He got sick soon after your death, and died without any medical help. " +"His last words were 'Why did I live long enough to suffer like that?'" +msgstr "" +" Он заболел вскоре после вашей смерти и, не получив медицинскую помощь, " +"умер. Его последними словами были: «Скорее бы конец...»" + #: lang/json/epilogue_from_json.py msgid "" " Committed suicide rather than fall into the hands of the Hell's " @@ -102278,6 +106937,228 @@ msgstr "" "расходовала имеющиеся припасы. Спустя две недели после заключения она умерла" " от обезвоживания." +#: lang/json/epilogue_from_json.py +msgid "" +" Shot by the Old Guard a few weeks later, hunted down after she robbed " +"an important caravan." +msgstr "" +" Подстрелена старой гвардией несколько недель спустя, после того как " +"ограбила большой караван." + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, she eventually found a quiet community there and spent " +"the rest of her life farming. She's survived by four daughters." +msgstr "" +" Путешествуя на север, она, в конце концов, нашла там тихое сообщество и" +" всю оставшуюся жизнь занималась сельским хозяйством. Родила четырёх " +"дочерей." + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a runner for the Old Guard and was eventually permitted to " +"join. She spent the rest of her life hunting raiders. She died in a " +"skirmish after a few years, sacrificing her life to let her unit retreat. " +"Her name is venerated in songs and inscriptions." +msgstr "" +" Она была на побегушках у старой гвардии и, в конечном итоге, ей было " +"разрешено присоединиться к ним. Провела остаток своей жизни, охотясь на " +"рейдеров. Умерла в стычке через несколько лет, пожертвовав своей жизнью, " +"чтобы позволить своему отряду отступить. Её имя почитается в песнях и " +"сказаниях." + +#: lang/json/epilogue_from_json.py +msgid "" +" Shortly after your death she joined the Free Merchants, becoming a " +"caravan guard and after a few months became the new liaison in the Refugee " +"Center. She died a few years later of a mysterious illness." +msgstr "" +" Вскоре после вашей смерти она присоединилась к Свободным торговцам, " +"став охранником каравана, и через несколько месяцев стала новым связным в " +"Центре беженцев. Умерла несколько лет спустя от загадочной болезни." + +#: lang/json/epilogue_from_json.py +msgid "" +" She was found half-dead by the Old Guard who took her in. She became a" +" famous scavenger, known for finding an intact stash of experimental " +"antibiotics." +msgstr "" +" Она была найдена полумёртвой Старой гвардией, которая подобрала её. " +"Стала известной старьёвщицей, прославившаяся тем, что нашла нетронутый " +"тайник с экспериментальными антибиотиками." + +#: lang/json/epilogue_from_json.py +msgid "" +" She retired to the forest, where she built her own cabin and spending " +"the rest of her life fishing." +msgstr "" +" Она удалилась в лес, где построила собственную хижину и всю оставшуюся " +"жизнь рыбачила." + +#: lang/json/epilogue_from_json.py +msgid "" +" Captured by raiders, she spent the rest of her miserable life as a " +"slave. Hopeless, she slit her wrists with a rusty knife." +msgstr "" +" Захваченная рейдерами, она провела остаток своей несчастной жизни в " +"рабстве. В безнадёге она перерезала запястья ржавым ножом." + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed, she joined a protestant community and became a paragon of " +"virtue. Devoting her life to bible study, she spent the rest of her life in" +" relative peace." +msgstr "" +" Подавленная, она присоединилась к протестантской общине и стала " +"образцом добродетели. Посвятив свою жизнь изучению Библии, она провела " +"остаток своей жизни в относительном мире." + +#: lang/json/epilogue_from_json.py +msgid "" +" Killed and devoured by a cannibal just a few days after your death, " +"hardly anyone remembers her name." +msgstr "" +" Убита и съедена каннибалом всего через несколько дней после вашей " +"смерти. Была всеми забыта." + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a renowned merchant after your death, she built her own outpost " +"in the west. An avid book collector, she established a great library to " +"keep the flame of knowledge burning." +msgstr "" +" После вашей смерти, она построила свой собственный форпост на западе и " +"стала известным торговцем. Будучи заядлым коллекционером книг, она создала " +"большую библиотеку, чтобы поддержать гранит науки." + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled around for months before finding an old farm. She spent a few" +" years tending to her crops and living the life of a hermit before being " +"killed by raiders for fun." +msgstr "" +" После многих месяцев путешествия нашла старую ферму. Она провела " +"несколько лет, ухаживая за своим урожаем и живя жизнью отшельника, а потом " +"была убита рейдерами ради забавы." + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a settlement there. She became a renowned " +"engineer, building the largest steam engine in New England." +msgstr "" +" Уехала на юга и присоединилась к тамошним поселенцам. Она стала " +"известным инженером, создавшим самый большой паровой двигатель в Новой " +"Англии." + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a gang after your death, she spent months preying on the " +"innocent, before dying in a dispute with a fellow brute." +msgstr "" +" Присоединившись к банде после вашей смерти, она месяцами охотилась на " +"невинных, прежде чем умерла в поножовщине с таким же отребьем." + +#: lang/json/epilogue_from_json.py +msgid "" +" Devoured alive by a group of zombies, she kept thinking of you as she " +"died." +msgstr " Она всегда думала о вас. Даже тогда, когда её растерзали зомби." + +#: lang/json/epilogue_from_json.py +msgid "" +" She found an abandoned APC and spent years traveling around and " +"collecting personal stories. She wrote one of the few post-apocalyptic " +"books, detailing the life after the end." +msgstr "" +" Она нашла заброшенный БТР и много лет путешествовала, выслушивая " +"различные истории. Написала одну из немногих постапокалиптических книг, " +"подробно описывающую жизнь после конца." + +#: lang/json/epilogue_from_json.py +msgid "" +" Kept wandering for years. Her life was cut short when a group of " +"raiders used her as a target practice." +msgstr "" +" Странствовала годами. Её жизнь оборвалась, когда группа рейдеров " +"использовала её в качестве тренировочной мишени." + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a skilled game hunter and one of the best shots in the " +"wasteland. Years later she joined the Old Guard and was given the position " +"of Marshal." +msgstr "" +" Она стала умелым охотником за дичью, одним из лучших. Спустя годы она " +"присоединилась к Старой гвардии и получила должность маршала." + +#: lang/json/epilogue_from_json.py +msgid "" +" Desperate to save humanity from extinction, she organized her own group" +" of survivors, whose job was to hunt bandits and decorate roads with their " +"mutilated bodies. She died in a skirmish a few months later." +msgstr "" +" Отчаявшись спасти человечество от вымирания, она организовала свою " +"собственную группу выживших, чья работа заключалась в том, чтобы охотиться " +"на бандитов и украшать дороги их изуродованными телами. Она умерла в стычке " +"несколько месяцев спустя." + +#: lang/json/epilogue_from_json.py +msgid "" +" She became an arsonist, and was incinerated a few weeks later in a fire" +" she set." +msgstr "" +" Она стала поджигателем и была сожжена несколько недель спустя в костре," +" который сама же и подожгла." + +#: lang/json/epilogue_from_json.py +msgid "" +" She kept wandering for a few weeks but eventually died after drinking " +"untreated water." +msgstr "" +" Она продолжала странствовать несколько недель, но, в конце концов, " +"умерла после того, как выпила неочищенную воду." + +#: lang/json/epilogue_from_json.py +msgid "" +" She wandered north and joined a local community there. She became " +"known for her trapping skills and ensured that the locals always had fresh " +"meat on their tables." +msgstr "" +"Она уехала на север и присоединилась к тамошней общине. Благодаря своим " +"навыкам ловли, гарантировала всегда свежее мясо на столах местных жителей." + +#: lang/json/epilogue_from_json.py +msgid "" +" She joined the Free Merchants and led their first caravan to Canada. " +"She died a few years later of dysentery." +msgstr "" +" Она присоединилась к Свободным торговцам и привела их первый караван в " +"Канаду. Умерла через несколько лет от дизентерии." + +#: lang/json/epilogue_from_json.py +msgid "" +" She built a boat and sailed east towards Europe, hoping that it was not" +" affected by the apocalypse. She was never heard from again." +msgstr "" +" Она построила лодку и уплыла на восток в Европу, надеясь, что " +"апокалипсис не затронул её. Больше о ней никто не слышал." + +#: lang/json/epilogue_from_json.py +msgid "" +" She led a doomsday cult for a few years, she was sacrificed to their " +"gods after a particularly terrible harvest." +msgstr "" +" Несколько лет была жрицей культа конца света. Была принесена в жертву " +"их богам после ужасного неурожая." + +#: lang/json/epilogue_from_json.py +msgid "" +" Became obsessed with chems, and died of an overdose a few months after " +"your death." +msgstr "" +" Стала наркоманкой и умерла от передозировки через несколько месяцев " +"после вашей смерти." + #: lang/json/faction_from_json.py msgid "Your Followers" msgstr "Ваши союзники" @@ -102452,10 +107333,10 @@ msgid "A small family surviving on their generational land." msgstr "Небольшая семья, выживающая на своей родовой земле." #: lang/json/faction_from_json.py -msgid "God's Community" -msgstr "Божья община" +msgid "New England Church Community" +msgstr "Сообщество церкви Новой Англии" -#. ~ Description for God's Community +#. ~ Description for New England Church Community #: lang/json/faction_from_json.py msgid "" "A small group of churchgoers that formed a community in the woods. They " @@ -102500,43 +107381,80 @@ msgstr "" msgid "Dusty" msgstr "Пыль" -#. ~ Description for Dusty +#. ~ description for fault 'Dusty' #: lang/json/fault_from_json.py -msgid "It's dusty. Has no effect - obsolete fault." -msgstr "Оно пыльное. Эффекта нет - это устаревшая поломка." +msgid "It's dusty. Has no effect - obsolete fault." +msgstr "Оно пыльное. Эффекта нет — это устаревшая поломка." + +#. ~ name of mending method for fault 'Dusty' +#: lang/json/fault_from_json.py +msgid "Wipe clean" +msgstr "Почистить" + +#. ~ success message for mending method 'Wipe clean' of fault 'Dusty' +#. ~ success message for mending method 'Clean gun' of fault 'Fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean you %s." +msgstr "Вы почистили %s." #: lang/json/fault_from_json.py msgid "Already deployed" msgstr "Уже развёрнуто" -#. ~ Description for Already deployed +#. ~ description for fault 'Already deployed' #: lang/json/fault_from_json.py msgid "This bionic needs to be reset to its factory state." msgstr "Этот модуль нужно вернуть в заводское состояние." +#. ~ name of mending method for fault 'Already deployed' +#: lang/json/fault_from_json.py +msgid "Reset to factory state" +msgstr "Вернуть заводское состояние" + +#. ~ success message for mending method 'Reset to factory state' of fault +#. 'Already deployed' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully reset the %s to its factory state" +msgstr "Вы успешно вернули %s в заводское состояние" + #: lang/json/fault_from_json.py msgid "Blackpowder fouling" msgstr "Загрязнение чёрным порохом" -#. ~ Description for Blackpowder fouling +#. ~ description for fault 'Blackpowder fouling' #: lang/json/fault_from_json.py msgid "" "Firing blackpowder loads from a gun fouls it, which reduces reliability and," -" if left uncleaned, leads to rust. It fouls the gun much faster than the use" -" of modern smokeless powder cartridges. Fouling is only a significant impact" -" on reliability at high levels, but black powder fouling accumulates " +" if left uncleaned, leads to rust. It fouls the gun much faster than the " +"use of modern smokeless powder cartridges. Fouling is only a significant " +"impact on reliability at high levels, but black powder fouling accumulates " "quickly." msgstr "" -"Чёрный порох загрязняет оружие намного быстрее современных бездымных " -"боеприпасов - это снижает надёжность и вызывает ржавчину, если оружие не " -"почистить. Значимый эффект оказывает только сильное загрязнение, однако " -"чёрный порох забивается очень быстро." +"Стрельба из черного пороха приводит к загрязнению, что снижает надежность и," +" если его не очистить, приводит к образованию ржавчины. Это загрязняет " +"оружие намного быстрее, чем использование современных бездымных пороховых " +"патронов. Сильное загрязнение оказывает значительное влияние на надежность, " +"но загрязнение черным порошком накапливается быстро." + +#. ~ name of mending method for fault 'Blackpowder fouling' +#: lang/json/fault_from_json.py +msgid "Clean blackpowder fouling" +msgstr "Чистить нагар чёрного пороха" + +#. ~ success message for mending method 'Clean blackpowder fouling' of fault +#. 'Blackpowder fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean your %s." +msgstr "Вы почистили %s." #: lang/json/fault_from_json.py msgid "Spent casing in chamber" msgstr "Стреляная гильза в каморе" -#. ~ Description for Spent casing in chamber +#. ~ description for fault 'Spent casing in chamber' #: lang/json/fault_from_json.py msgid "" "This gun currently has an empty casing chambered. It will have to be " @@ -102544,70 +107462,142 @@ msgid "" msgstr "" "В каморе этого оружия лежит пустая гильза. Перед стрельбой её нужно извлечь." +#. ~ name of mending method for fault 'Spent casing in chamber' +#: lang/json/fault_from_json.py +msgid "Eject spent casing" +msgstr "" + +#. ~ success message for mending method 'Eject spent casing' of fault 'Spent +#. casing in chamber' +#: lang/json/fault_from_json.py +#, python-format +msgid "You eject the spent casing from the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Fouling" msgstr "Загрязнение" -#. ~ Description for Fouling +#. ~ description for fault 'Fouling' #: lang/json/fault_from_json.py msgid "" "Fouling is caused by firing gunpowder loads repeatedly, which reduces " -"reliability and can eventually cause damage to the gun. Fouling accumulates " -"slowly (unless blackpowder is used) due to the design of modern smokeless " +"reliability and can eventually cause damage to the gun. Fouling accumulates" +" slowly (unless blackpowder is used) due to the design of modern smokeless " "powder found in the vast majority of retail cartridges and it is not a " "significant problem until high levels of fouling are reached due to firing " "thousands of rounds without cleaning your firearm." msgstr "" -"Загрязнение возникает в результате постоянной стрельбы, что снижает " -"надёжность и в конце концов повреждает оружие. Оно накапливается довольно " -"медленно (не в случае с чёрным порохом) благодаря устройству большинства " -"патронов с современным бездымным порохом. В целом загрязнение не самая " -"страшная проблема, только если оно не накопится до значимого предела - для " -"этого нужно отстрелять тысячи патронов и не почистить оружие." +"Загрязнение возникает в результате постоянной стрельбы. Оно снижает " +"надёжность и, в конце концов, повреждает оружие. Благодаря современным " +"боеприпасам с бездымным порохом, оно накапливается довольно медленно (но не " +"в случае с чёрным порохом). В целом, загрязнение не самая страшная проблема," +" только если оно не накопится до значимого предела — для этого нужно " +"отстрелять тысячи патронов и не почистить оружие." + +#. ~ name of mending method for fault 'Fouling' +#: lang/json/fault_from_json.py +msgid "Clean gun" +msgstr "Почистить оружие" #: lang/json/fault_from_json.py msgid "Worn drive belt" msgstr "Порванный приводной ремень" -#. ~ Description for Worn drive belt +#. ~ description for fault 'Worn drive belt' #: lang/json/fault_from_json.py msgid "Required for operation of an attached alternator." msgstr "Требуется для работы подключённого генератора." +#. ~ name of mending method for fault 'Worn drive belt' +#: lang/json/fault_from_json.py +msgid "Replace worn drive belt" +msgstr "Заменить изношенный приводной ремень" + +#. ~ success message for mending method 'Replace worn drive belt' of fault +#. 'Worn drive belt' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the worn drive belt of the %s." +msgstr "Вы заменили изношенный приводной ремень в %s." + #: lang/json/fault_from_json.py msgid "Faulty glow plugs" msgstr "Неисправные запальные свечи" -#. ~ Description for Faulty glow plugs +#. ~ description for fault 'Faulty glow plugs' #: lang/json/fault_from_json.py msgid "Help when starting an engine in low ambient temperatures." msgstr "Помогает запустить двигатель в условиях низких температур." +#. ~ name of mending method for fault 'Faulty glow plugs' +#: lang/json/fault_from_json.py +msgid "Replace faulty glow plugs" +msgstr "Заменить неисправные свечи зажигания" + +#. ~ success message for mending method 'Replace faulty glow plugs' of fault +#. 'Faulty glow plugs' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty glow plugs of the %s." +msgstr "Вы заменили неисправные свечи зажигания в %s." + #: lang/json/fault_from_json.py msgid "Active immobiliser" msgstr "Работающий иммобилайзер" -#. ~ Description for Active immobiliser +#. ~ description for fault 'Active immobiliser' #: lang/json/fault_from_json.py msgid "Prevents starting of the vehicle without the appropriate key." msgstr "Не даёт завести двигатель машины без правильного ключа." +#. ~ name of mending method for fault 'Active immobiliser' +#: lang/json/fault_from_json.py +msgid "Deactivate immobiliser" +msgstr "Деактивировать иммобилайзер" + +#. ~ description for mending method 'Deactivate immobiliser' of fault 'Active +#. immobiliser' +#: lang/json/fault_from_json.py +msgid "" +"Deactivate the immobiliser that is preventing the vehicle from starting." +msgstr "Деактивировать иммобилайзер, который препятствует запуску двигателя." + +#. ~ success message for mending method 'Deactivate immobiliser' of fault +#. 'Active immobiliser' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully deactivate the immobiliser of the %s." +msgstr "Вы успешно деактивировали иммобилайзер в %s." + #: lang/json/fault_from_json.py msgid "Faulty diesel pump" msgstr "Неисправный дизельный насос" -#. ~ Description for Faulty diesel pump +#. ~ description for fault 'Faulty diesel pump' #: lang/json/fault_from_json.py msgid "Required to pump and pressurize diesel from a vehicles tank." msgstr "" "Требуется для подкачки дизеля из топливного бака автомобиля и нагнетания " "давления." +#. ~ name of mending method for fault 'Faulty diesel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty diesel pump" +msgstr "Заменить неисправный дизельный насос" + +#. ~ success message for mending method 'Replace faulty diesel pump' of fault +#. 'Faulty diesel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty diesel pump of the %s" +msgstr "Вы заменили неисправный дизельный насос в %s" + #: lang/json/fault_from_json.py msgid "Expired air filter" msgstr "Забитый воздушный фильтр" -#. ~ Description for Expired air filter +#. ~ description for fault 'Expired air filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces fuel efficiency and increases smoke production." @@ -102615,11 +107605,23 @@ msgstr "" "Выработавший ресурс фильтр снижает эффективность топлива и увеличивает " "количества дыма." +#. ~ name of mending method for fault 'Expired air filter' +#: lang/json/fault_from_json.py +msgid "Replace expired air filter" +msgstr "Заменить забившийся воздушный фильтр" + +#. ~ success message for mending method 'Replace expired air filter' of fault +#. 'Expired air filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired air filter of the %s." +msgstr "Вы заменили грязный воздушный фильтр в %s." + #: lang/json/fault_from_json.py msgid "Expired fuel filter" msgstr "Забитый топливный фильтр" -#. ~ Description for Expired fuel filter +#. ~ description for fault 'Expired fuel filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces performance and increases the chance of backfires." @@ -102627,33 +107629,81 @@ msgstr "" "Выработавший ресурс фильтр снижает производительность двигателя и " "увеличивает шанс проскоков пламени." +#. ~ name of mending method for fault 'Expired fuel filter' +#: lang/json/fault_from_json.py +msgid "Replace expired fuel filter" +msgstr "Заменить засорившийся топливный фильтр" + +#. ~ success message for mending method 'Replace expired fuel filter' of fault +#. 'Expired fuel filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired fuel filter of the %s." +msgstr "Вы заменили грязный топливный фильтр в %s." + #: lang/json/fault_from_json.py msgid "Faulty fuel pump" msgstr "Неисправный топливный насос" -#. ~ Description for Faulty fuel pump +#. ~ description for fault 'Faulty fuel pump' #: lang/json/fault_from_json.py msgid "Required to pump gasoline from a vehicles tank." msgstr "Требуется для выкачивания бензина из бензобака автомобиля." +#. ~ name of mending method for fault 'Faulty fuel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty fuel pump" +msgstr "Заменить неисправный топливный насос" + +#. ~ success message for mending method 'Replace faulty fuel pump' of fault +#. 'Faulty fuel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty fuel pump of the %s." +msgstr "Вы заменили неисправный топливный насос в %s." + #: lang/json/fault_from_json.py msgid "Faulty water pump" msgstr "Неисправный водяной насос" -#. ~ Description for Faulty water pump +#. ~ description for fault 'Faulty water pump' #: lang/json/fault_from_json.py msgid "Required to pump water to an external radiator or heatsink." msgstr "Требуется для подачи воды на внешний радиатор или теплоотвод." +#. ~ name of mending method for fault 'Faulty water pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty water pump" +msgstr "Заменить неисправную водяную помпу" + +#. ~ success message for mending method 'Replace faulty water pump' of fault +#. 'Faulty water pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty water pump of the %s." +msgstr "Вы заменили неисправную водяную помпу в %s." + #: lang/json/fault_from_json.py msgid "Faulty starter motor" msgstr "Неисправный стартёр" -#. ~ Description for Faulty starter motor +#. ~ description for fault 'Faulty starter motor' #: lang/json/fault_from_json.py msgid "Required to initially start the engine." msgstr "Требуется для запуска двигателя." +#. ~ name of mending method for fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +msgid "Replace faulty starter motor" +msgstr "Заменить неисправный стартёр" + +#. ~ success message for mending method 'Replace faulty starter motor' of +#. fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty starter motor of %s." +msgstr "Вы заменили неисправный стартёр в %s." + #: lang/json/field_type_from_json.py lang/json/overmap_terrain_from_json.py #: lang/json/overmap_terrain_from_json.py src/mapdata.cpp src/mapdata.cpp #: src/skill.cpp @@ -103140,6 +108190,22 @@ msgstr "густой инсектицидный туман" msgid "smoke vent" msgstr "дым из вытяжки" +#: lang/json/field_type_from_json.py +msgid "clairvoyance" +msgstr "ясновидение" + +#: lang/json/field_type_from_json.py +msgid "dreadful presense" +msgstr "ужасное присутствие" + +#: lang/json/field_type_from_json.py +msgid "frightful presense" +msgstr "противное присутствие" + +#: lang/json/field_type_from_json.py +msgid "terrifying presense" +msgstr "ужасающее присутствие" + #: lang/json/furniture_from_json.py msgid "mutated cactus" msgstr "мутировавший кактус" @@ -103154,13 +108220,11 @@ msgid "A big, blocky metal device for refrigerating large areas." msgstr "" "Здоровенный угловатый металлический аппарат для охлаждения больших комнат." -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "metal screeching!" msgstr "скрежет металла!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "clang!" msgstr "лязг!" @@ -103281,6 +108345,54 @@ msgstr "" "Инструмент для массового производства металлических вещей. Непохоже, чтоб он" " работал, хотя сгодится на запчасти." +#: lang/json/furniture_from_json.py +msgid "document shredder" +msgstr "шредер" + +#. ~ Description for document shredder +#: lang/json/furniture_from_json.py +msgid "" +"It's not all about hiding government secrets, sometimes you just want to " +"stop identity theft." +msgstr "" +"Для скрытия правительственных секретов и не только. Иногда просто нужно " +"предотвратить утечку личных данных." + +#: lang/json/furniture_from_json.py +msgid "server stack" +msgstr "серверная стойка" + +#. ~ Description for server stack +#: lang/json/furniture_from_json.py +msgid "This is a big pile of computers. They're all turned off." +msgstr "Много компьютеров. Все выключены." + +#: lang/json/furniture_from_json.py +msgid "large satellite dish" +msgstr "большая спутниковая тарелка" + +#. ~ Description for large satellite dish +#: lang/json/furniture_from_json.py +msgid "" +"Somewhere up there, there are still satellites, orbiting and doing their " +"thing, sending signals down to an Earth that is no longer listening." +msgstr "" +"Где-то там наверху всё ещё есть спутники, летающие по орбите и занимающиеся " +"своими делами. Они посылают на Землю сигналы, но Земля их больше не слушает." + +#: lang/json/furniture_from_json.py +msgid "mounted solar panel" +msgstr "солнечная панель" + +#. ~ Description for mounted solar panel +#: lang/json/furniture_from_json.py +msgid "A mounted solar panel." +msgstr "Установленная солнечная панель." + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "whack!" +msgstr "«хрясь!»" + #: lang/json/furniture_from_json.py msgid "road barricade" msgstr "баррикады" @@ -103292,11 +108404,11 @@ msgstr "Баррикада. Для перегораживания дорог." #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py #: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +#: src/vehicle_move.cpp msgid "smash!" msgstr "грохот!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "whump." msgstr "«бум»." @@ -103349,6 +108461,124 @@ msgstr "стена из мешков с песком" msgid "A sandbag wall." msgstr "Стена из мешков с песком." +#: lang/json/furniture_from_json.py +msgid "standing mirror" +msgstr "напольное зеркало" + +#. ~ Description for standing mirror +#: lang/json/furniture_from_json.py +msgid "Lookin' good - is that blood?" +msgstr "Отлично выгляжу — эй, это что, кровь?" + +#: lang/json/furniture_from_json.py +msgid "glass breaking" +msgstr "звон разбитого стекла" + +#: lang/json/furniture_from_json.py +msgid "broken standing mirror" +msgstr "сломанное зеркало" + +#. ~ Description for broken standing mirror +#: lang/json/furniture_from_json.py +msgid "" +"You could look at yourself, if the mirror wasn't covered in cracks and " +"fractures." +msgstr "" +"Можно было бы посмотреть на себя, если бы зеркало не было покрыто трещинами " +"и сколами." + +#: lang/json/furniture_from_json.py +msgid "bitts" +msgstr "кнехты" + +#. ~ Description for bitts +#: lang/json/furniture_from_json.py +msgid "" +"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " +"to secure mooring lines, ropes, hawsers, or cables." +msgstr "" +"Пара вертикальных железных столбиков, установленных на причале, пирсе или " +"набережной. Они используются для надежного привязывания шнуров, веревок, " +"швартовых, или тросов." + +#: lang/json/furniture_from_json.py +msgid "manacles" +msgstr "наручники" + +#. ~ Description for manacles +#: lang/json/furniture_from_json.py +msgid "" +"Chain serfs in your dungeon. All you need now is an iron ball to chain to " +"it." +msgstr "" +"Заточите рабов в своё подземелье. Всё, чего не хватает — приклепать цепью " +"железный шар." + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "crack." +msgstr "треск." + +#: lang/json/furniture_from_json.py +msgid "statue" +msgstr "статуя" + +#. ~ Description for statue +#: lang/json/furniture_from_json.py +msgid "A carved statue made of stone." +msgstr "Скульптура, вырезанная из камня." + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +msgid "thump." +msgstr "стук." + +#: lang/json/furniture_from_json.py +msgid "mannequin" +msgstr "манекен" + +#. ~ Description for mannequin +#: lang/json/furniture_from_json.py +msgid "" +"Put clothes on it, talk to it. Who's around to judge you? Wait… did it " +"just move?" +msgstr "" +"Нацепи на него одежду, поговори с ним. Кто ж будет против? Погоди… он только" +" что пошевелился?" + +#: lang/json/furniture_from_json.py +msgid "birdbath" +msgstr "ванная для птиц" + +#. ~ Description for birdbath +#: lang/json/furniture_from_json.py +msgid "A decorative cement birdbath and pedestal." +msgstr "Декоративная цементная ванная для птиц на пьедестале." + +#: lang/json/furniture_from_json.py +msgid "rotary clothes dryer line" +msgstr "вращающаяся сушка для одежды" + +#. ~ Description for rotary clothes dryer line +#: lang/json/furniture_from_json.py +msgid "A umbrella shaped clothes line mounted on a pole." +msgstr "Сушилка для одежды в виде зонтика на шесте." + +#: lang/json/furniture_from_json.py +msgid "floor lamp" +msgstr "напольная лампа" + +#. ~ Description for floor lamp +#: lang/json/furniture_from_json.py +msgid "A tall standing lamp, meant to plug into a wall and light up a room." +msgstr "" +"Высокая стоячая лампа. Чтобы подсветить комнату, нужно подсоединить к " +"розетке." + +#: lang/json/furniture_from_json.py +msgid "bonk!" +msgstr "бом!" + #: lang/json/furniture_from_json.py msgid "indoor plant" msgstr "комнатное растение" @@ -103470,6 +108700,96 @@ msgstr "" "Садовый ящик, покрытый прорезями для дренажа и полный земли. В нём можно " "что-нибудь вырастить. В этом есть росток." +#: lang/json/furniture_from_json.py +msgid "spider egg sack" +msgstr "кладка паучьих яиц" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Much too large, off-white egg sack. Kind of icky. Something IS moving in " +"there." +msgstr "" +"Кучка слишком больших яиц кремового цвета. Мерзость. Внутри что-то " +"шевелится." + +#: lang/json/furniture_from_json.py +msgid "splat!" +msgstr "«шлёп!»" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " +"in there." +msgstr "" +"Бугорчатая масса паучьих яиц. Страшная мерзость. Внутри что-то шевелится." + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"A horrifyingly oversized egg sack. Something IS moving in there. If you're" +" seeing this, you're already too close to it." +msgstr "" +"Кучка пугающе огромных яиц. Внутри что-то шевелится. Если вы это видите, то " +"подошли слишком близко." + +#: lang/json/furniture_from_json.py +msgid "ruptured egg sack" +msgstr "разорённая кладка яиц" + +#. ~ Description for ruptured egg sack +#: lang/json/furniture_from_json.py +msgid "Super icky. Spider stuff's spilling out." +msgstr "Невероятная мерзость. Наружу выливаются паучьи внутренности." + +#. ~ Description for swamp gas +#: lang/json/furniture_from_json.py +msgid "" +"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " +"toxic gas." +msgstr "" +"Лужица мутной воды. На поверхности появляются и лопаются пузырьки, выпуская " +"слегка ядовитый газ." + +#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp +msgid "splash!" +msgstr "всплеск!" + +#. ~ Description for fog +#: lang/json/furniture_from_json.py +msgid "This is a misty cloud of fog." +msgstr "Клубящееся туманное облако." + +#: lang/json/furniture_from_json.py +msgid "fake workbench hands" +msgstr "руки фальшивого верстака" + +#. ~ Description for fake workbench hands +#: lang/json/furniture_from_json.py +msgid "This fake workbench holds the stats for working on a wielded item." +msgstr "" +"Этот фальшивый верстак запоминает параметры для работы над носимой вещью." + +#: lang/json/furniture_from_json.py +msgid "ground crafting spot" +msgstr "место для сборки" + +#. ~ Description for ground crafting spot +#: lang/json/furniture_from_json.py +msgid "" +"A cleared spot on the ground for crafting. Slower than using a workbench or" +" holding a project in your hands, but readily available." +msgstr "" +"Участок расчищенной земли, чтобы что-нибудь собирать. Медленнее, чем на " +"верстаке или держа в руках, но готово здесь и сразу." + +#. ~ Description for seeing this is a bug +#: lang/json/furniture_from_json.py +msgid "Seeing this is a bug. If seen, please report and destroy." +msgstr "" +"Если вы видите это — это баг. Пожалуйста, сообщите об этом и уничтожьте." + #: lang/json/furniture_from_json.py msgid "fireplace" msgstr "камин" @@ -103651,11 +108971,11 @@ msgid "" "A sizable pile of leaves. You could sleep on it if you don't care about " "comfort or warmth." msgstr "" -"Довольно большая куча листьев. Вы можете в неё поспать, если вам плевать на " +"Довольно большая куча листьев. Вы можете спать в ней, если вам плевать на " "удобство или тепло." #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: src/iuse.cpp +#: lang/json/terrain_from_json.py src/iuse.cpp msgid "crunch!" msgstr "треск!" @@ -103668,7 +108988,7 @@ msgstr "цветок марло" msgid "" "This flower is like the other flowers taken by the mushrooms, but its bulb " "is colored a brilliant cyan color, and it emits an aroma both overwhelming " -"and... delicious?" +"and… delicious?" msgstr "" "Этот цветок похож на остальные заражённые грибком цветы, но его стебель " "ярко-голубого цвета, а его запах одурманивающий и… аппетитный?" @@ -103713,6 +109033,107 @@ msgstr "" "Тесно перемешанные иноземные плесень и стебли, образовавшие подобие грибного" " куста." +#: lang/json/furniture_from_json.py +msgid "stone slab" +msgstr "каменная плита" + +#. ~ Description for stone slab +#: lang/json/furniture_from_json.py +msgid "A flat slab of heavy stone." +msgstr "Плоская пластина тяжёлого камня." + +#: lang/json/furniture_from_json.py +msgid "headstone" +msgstr "надгробие" + +#. ~ Description for headstone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies." +msgstr "Под ним кто-то лежит." + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +msgid "thump!" +msgstr "стук!" + +#: lang/json/furniture_from_json.py +msgid "gravestone" +msgstr "могильный камень" + +#. ~ Description for gravestone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies. More fancy." +msgstr "Под ним кто-то лежит. Лежит со стилем." + +#: lang/json/furniture_from_json.py +msgid "worn gravestone" +msgstr "потрескавшийся могильный камень" + +#. ~ Description for worn gravestone +#: lang/json/furniture_from_json.py +msgid "A worn-out gravestone." +msgstr "Стёртый надгробный камень." + +#: lang/json/furniture_from_json.py +msgid "obelisk" +msgstr "обелиск" + +#. ~ Description for obelisk +#: lang/json/furniture_from_json.py +msgid "Monument to pride." +msgstr "Монумент гордости." + +#: lang/json/furniture_from_json.py +msgid "thunk!" +msgstr "тыньк!" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "robotic assembler" +msgstr "роботизированный сборщик" + +#. ~ Description for robotic assembler +#: lang/json/furniture_from_json.py +msgid "" +"A durable and versatile robotic arm with a tool fitted to the end, for " +"working on an assembly line." +msgstr "" +"Прочная и гибкая роботизированная рука с инструментом на конце для работы на" +" конвейере." + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "chemical mixer" +msgstr "химический миксер" + +#. ~ Description for chemical mixer +#: lang/json/furniture_from_json.py +msgid "" +"When chemicals need to be mixed in large quantities at just the right " +"combinations and temperatures, this is the tool for the job." +msgstr "" +"Если требуется смешать большие объёмы химикатов в нужном соотношении и при " +"нужной температуре, этот инструмент как раз подойдёт." + +#: lang/json/furniture_from_json.py +msgid "robotic arm" +msgstr "роботизированная рука" + +#. ~ Description for robotic arm +#: lang/json/furniture_from_json.py +msgid "" +"Automation! Science! Industry! Make a better horse! This robot arm " +"promises to do it all. Except it's currently unpowered. You could remove " +"the casing and retrieve the electronics through disassembly." +msgstr "" +"Автоматизация! Наука! Промышленность! В этой роборуке есть всё. Только " +"электричества нет. Вы можете убрать корпус и достать электронные части путём" +" разборки." + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "thunk." +msgstr "хлопанье." + #: lang/json/furniture_from_json.py msgid "Autodoc Mk. XI" msgstr "автодок" @@ -103726,10 +109147,6 @@ msgstr "" "Хирургическая аппаратура, используется для установки и удаления бионики. " "Только он такой же квалифицированный, как и его оператор." -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "whack!" -msgstr "«хрясь!»" - #: lang/json/furniture_from_json.py msgid "Autodoc operation couch" msgstr "кушетка автодока" @@ -104078,9 +109495,9 @@ msgstr "задыхающаяся трубка" #: lang/json/furniture_from_json.py msgid "" "This is a meaty green stalactite with a thickened hide like that of a " -"starfish, extending from the floor to the ceiling. In the center is a series" -" of ports somewhat like mouths, from which pour bursts of a vile smelling " -"gas." +"starfish, extending from the floor to the ceiling. In the center is a " +"series of ports somewhat like mouths, from which pour bursts of a vile " +"smelling gas." msgstr "" "Мясистый зелёный сталактит с толстой шкурой, похожей на кожу морской звезды," " растущий с пола до потолка. В его середине есть несколько ротоподобных " @@ -104114,10 +109531,6 @@ msgstr "" "Куча непонятной дёргающеся инопланетной плоти, изрыгающая странные газы из " "повреждённых сосудов." -#: lang/json/furniture_from_json.py -msgid "splat!" -msgstr "«шлёп!»" - #: lang/json/furniture_from_json.py msgid "slimy pod" msgstr "слизистый кокон" @@ -104169,7 +109582,7 @@ msgstr "мясистый алтарь" #: lang/json/furniture_from_json.py msgid "" "This pulsing protuberance juts from the floor, its sides covered in scaled, " -"oozing skin. The surface is flat, but undulates softly. A handful of " +"oozing skin. The surface is flat, but undulates softly. A handful of " "unidentifiable appendages reach from the sides, suggesting a sort of " "nightmarish living autodoc." msgstr "" @@ -104350,12 +109763,6 @@ msgstr "" "Машина для упражнений. Без энергии она не поможет в ваших занятиях. В ней " "есть полезные электронные запчасти." -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py src/map.cpp -#: src/mapdata.cpp -msgid "thump!" -msgstr "стук!" - #: lang/json/furniture_from_json.py msgid "treadmill" msgstr "беговая дорожка" @@ -104364,7 +109771,7 @@ msgstr "беговая дорожка" #: lang/json/furniture_from_json.py msgid "" "Used for training leg muscles. It'll be extra hard without power. Could be" -" taken apart for its... parts." +" taken apart for its… parts." msgstr "" "Применялась для тренировки ножных мышц. Сейчас это будет трудно провернуть, " "без электричества-то. Можно разобрать на части." @@ -104392,7 +109799,7 @@ msgstr "пианино" #: lang/json/furniture_from_json.py msgid "" "The ol' ebony and ivory. Really classes up the place. You could take it " -"apart if you wanted... you monster." +"apart if you wanted… you monster." msgstr "" "Старинное чёрное дерево и слоновая кость. Придаёт шик. Вы могли бы разобрать" " его на запчасти… вы чудовище." @@ -104405,6 +109812,21 @@ msgstr "страдающее пианино" msgid "kerchang." msgstr "керчан." +#: lang/json/furniture_from_json.py +msgid "speaker cabinet" +msgstr "акустическая колонка" + +#. ~ Description for speaker cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A cabinet loaded with 12-inch speakers, intended to help make various things" +" loud. It can't serve its original purpose these days, but it could be " +"disassembled for various electronic parts." +msgstr "" +"Колонка с 30-сантиметровыми динамиками, предназначенная для того, чтобы " +"делать вещи громкими. Теперь она не может служить по назначению, но может " +"быть разобрана на различные электронные части." + #: lang/json/furniture_from_json.py msgid "cell phone signal booster" msgstr "усилитель сигнала сотовых сетей" @@ -104537,6 +109959,57 @@ msgstr "Можно сесть, а можно даже и лечь! Превос msgid "stool" msgstr "табуретка" +#. ~ Description for camp chair +#: lang/json/furniture_from_json.py +msgid "Sit down, have a drink. It can folded for easy transportation." +msgstr "Присядь, выпей чего-нибудь. Можно сложить для удобной переноски." + +#: lang/json/furniture_from_json.py +msgid "log stool" +msgstr "пенёк" + +#. ~ Description for log stool +#: lang/json/furniture_from_json.py +msgid "" +"A log tipped on its end with any rough edges cut off. Basically a very " +"simple seat." +msgstr "" +"Просто отрезанное бревно, с неровными краями. В целом, очень простое " +"сиденье." + +#: lang/json/furniture_from_json.py +msgid "bulletin board" +msgstr "доска объявлений" + +#. ~ Description for bulletin board +#: lang/json/furniture_from_json.py +msgid "" +"A big, cork bulletin board capable of sporting various notices. Pin some " +"notes for other survivors to read." +msgstr "" +"Большая пробковая доска для объявлений и вывешивания разных заметок. " +"Прикрепите записки для других выживальщиков." + +#: lang/json/furniture_from_json.py +msgid "sign" +msgstr "знак" + +#. ~ Description for sign +#: lang/json/furniture_from_json.py +msgid "Read it. Warnings ahead." +msgstr "Доска с текстом. Прочтите, возможно, там что-то важное." + +#: lang/json/furniture_from_json.py +msgid "warning sign" +msgstr "предупредительный знак" + +#. ~ Description for warning sign +#: lang/json/furniture_from_json.py +msgid "" +"A triangle-shaped sign on a post meant to indicate something important or " +"hazard." +msgstr "Треугольный знак на столбике, сообщающий о чём-то важном или опасном." + #: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py msgid "bed" msgstr "кровать" @@ -104578,7 +110051,7 @@ msgstr "" msgid "rrrrip!" msgstr "«хррррр!»" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/furniture_from_json.py msgid "" "A comfortable feather down mattress has been tossed on the floor for " @@ -104619,6 +110092,15 @@ msgstr "" "Здесь хранятся книги. Ну знаете, такие штуки. Кто сейчас вообще читает " "книги?" +#: lang/json/furniture_from_json.py +msgid "entertainment center" +msgstr "стенка" + +#. ~ Description for entertainment center +#: lang/json/furniture_from_json.py +msgid "Stores audio visual equipment, books and collectible." +msgstr "Содержит аудио и видео оборудование, книги и другие штуки." + #: lang/json/furniture_from_json.py msgid "coffin" msgstr "гроб" @@ -104667,6 +110149,21 @@ msgstr "открытый контейнер" msgid "What's inside? Look in it!" msgstr "Что тут лежит? Подойдите и узнаете!" +#. ~ Description for large cardboard box +#: lang/json/furniture_from_json.py +msgid "" +"A large cardboard box: this could be used to store things, or as a hiding " +"place." +msgstr "Большая картонная коробка: в ней можно что-то хранить или спрятаться." + +#: lang/json/furniture_from_json.py +msgid "crumple!" +msgstr "хрусть!" + +#: lang/json/furniture_from_json.py src/ballistics.cpp +msgid "thud." +msgstr "стук." + #: lang/json/furniture_from_json.py msgid "cupboard" msgstr "шкаф для посуды" @@ -104822,6 +110319,30 @@ msgstr "мусорное ведро" msgid "One man's trash is another man's dinner." msgstr "Мусор одного человека — обед для другого человека." +#: lang/json/furniture_from_json.py +msgid "wardrobe" +msgstr "платяной шкаф" + +#. ~ Description for wardrobe +#: lang/json/furniture_from_json.py +msgid "A tall piece of furniture - basically a freestanding closet." +msgstr "Высокий предмет мебели — по сути, отдельно стоящий шкаф." + +#: lang/json/furniture_from_json.py +msgid "filing cabinet" +msgstr "картотечный шкаф" + +#. ~ Description for filing cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " +"locked to protect important information. If you're lucky, there are often " +"keys nearby." +msgstr "" +"Несколько ящичков в прочном металлическом шкафу, обычно в таких хранят " +"бумаги. Его можно закрыть для защиты важной информации. Если повезёт, " +"неподалеку могут найтись ключи." + #: lang/json/furniture_from_json.py msgid "utility shelf" msgstr "складской стеллаж" @@ -104842,6 +110363,44 @@ msgstr "" "Бочонок, почти полностью сделанный из дерева. Хранит жидкости, особенно " "спиртосодержащие." +#: lang/json/furniture_from_json.py +msgid "display case" +msgstr "витрина" + +#. ~ Description for display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff fancily and securely." +msgstr "Для изысканного и безопасного выставления вещей напоказ." + +#: lang/json/furniture_from_json.py +msgid "broken display case" +msgstr "сломанная витрина" + +#. ~ Description for broken display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff. It'll get stolen." +msgstr "Для показа вещей. Их запросто могут украсть." + +#: lang/json/furniture_from_json.py +msgid "standing tank" +msgstr "резервуар" + +#. ~ Description for standing tank +#: lang/json/furniture_from_json.py +msgid "A large freestanding metal tank, useful for holding liquids." +msgstr "" +"Большой отдельно стоящий металлический резервуар, пригодный для хранения " +"жидкостей." + +#: lang/json/furniture_from_json.py +msgid "dumpster" +msgstr "мусорный бак" + +#. ~ Description for dumpster +#: lang/json/furniture_from_json.py +msgid "Stores trash. Doesn't get picked up anymore. Note the smell." +msgstr "Хранит мусор. Их больше не вывозят. Обратите внимание на запах." + #: lang/json/furniture_from_json.py msgid "counter" msgstr "прилавок" @@ -104922,7 +110481,7 @@ msgstr "" #. ~ Description for tourist table #: lang/json/furniture_from_json.py msgid "" -"Small metal folding table, ideal for off-road trips into the wild. Can be " +"Small metal folding table, ideal for off-road trips into the wild. Can be " "used as a workbench in a pinch." msgstr "" "Маленький металлический складной столик, идеально подходит для туристических" @@ -104937,6 +110496,295 @@ msgstr "стол" msgid "Sit down when you eat!" msgstr "Это стол, за ним едят." +#. ~ Description for table +#: lang/json/furniture_from_json.py +msgid "a low table for livingrooms." +msgstr "низкий столик для гостиных." + +#: lang/json/furniture_from_json.py +msgid "tatami mat" +msgstr "татами" + +#. ~ Description for tatami mat +#: lang/json/furniture_from_json.py +msgid "" +"A tatami is a type of mat used as a flooring material in traditional " +"Japanese-style rooms." +msgstr "" +"Татами — разновидность напольного покрытия в традиционных японских комнатах." + +#: lang/json/furniture_from_json.py +msgid "pillow fort" +msgstr "форт из подушек" + +#. ~ Description for pillow fort +#: lang/json/furniture_from_json.py +msgid "A comfy place to hide from the world. Not very defensible, though." +msgstr "Комфортное место, чтобы прятаться от мира. Но защищать его неудобно." + +#: lang/json/furniture_from_json.py +msgid "paf!" +msgstr "паф!" + +#: lang/json/furniture_from_json.py +msgid "cardboard fort" +msgstr "картонный форт" + +#. ~ Description for cardboard fort +#: lang/json/furniture_from_json.py +msgid "" +"A fort built by tipping a cardboard box on its side, lining it with " +"blankets, and partly weather sealing it with a plastic sheet." +msgstr "" +"Форт, построенный из перевёрнутой на бок картонной коробки, обложенной " +"одеялами и прикрытой пластиковым листом от непогоды." + +#: lang/json/furniture_from_json.py +msgid "cardboard wall" +msgstr "картонная стена" + +#. ~ Description for cardboard wall +#: lang/json/furniture_from_json.py +msgid "" +"This is a pile of cardboard boxes that have been filled with rags and junk " +"and stacked together like bricks to form a wall." +msgstr "" +"Груда картонных коробок, набитых тряпками и хламьём и составленных в стену " +"наподобие кирпичей." + +#: lang/json/furniture_from_json.py +msgid "beaded curtain" +msgstr "бисерная занавеска" + +#. ~ Description for beaded curtain +#: lang/json/furniture_from_json.py +msgid "This beaded curtain could be pulled aside." +msgstr "Эту бисерную занавеску можно отодвинуть." + +#: lang/json/furniture_from_json.py +msgid "clickity clack… clack… clack" +msgstr "клак-щёлк… клак… клак" + +#: lang/json/furniture_from_json.py +msgid "clickity clack… clack" +msgstr "клак-клак… клак" + +#: lang/json/furniture_from_json.py +msgid "open beaded curtain" +msgstr "открыть бисерную занавеску" + +#. ~ Description for open beaded curtain +#: lang/json/furniture_from_json.py +msgid "This beaded curtain has been pulled aside." +msgstr "Эта бисерная занавеска сдвинута в сторону." + +#: lang/json/furniture_from_json.py +msgid "clickity clack… clack… clack!" +msgstr "клак-клак… клак… клак!" + +#: lang/json/furniture_from_json.py +msgid "canvas floor" +msgstr "брезентовый пол" + +#. ~ Description for canvas floor +#: lang/json/furniture_from_json.py +msgid "" +"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " +"of the tent." +msgstr "" +"Подстилка из натянутой водонепроницаемой ткани. Отделяет грязь от палатки." + +#: lang/json/furniture_from_json.py +msgid "canvas wall" +msgstr "брезентовая стена" + +#. ~ Description for canvas wall +#: lang/json/furniture_from_json.py +msgid "A wall made of stretched, waterproof cloth." +msgstr "Стена из натянутой водонепроницаемой ткани." + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "slap!" +msgstr "хлопок!" + +#. ~ Description for canvas wall +#: lang/json/furniture_from_json.py +msgid "A wall made of stretched, heavy-duty, waterproof cloth." +msgstr "Стена из натянутой прочной водонепроницаемой ткани." + +#: lang/json/furniture_from_json.py +msgid "canvas flap" +msgstr "брезентовая заслонка" + +#. ~ Description for canvas flap +#: lang/json/furniture_from_json.py +msgid "This canvas flap door could be pulled aside." +msgstr "Эту брезентовую заслонку можно откинуть в сторону." + +#: lang/json/furniture_from_json.py +msgid "open canvas flap" +msgstr "открытая брезентовая заслонка" + +#. ~ Description for open canvas flap +#: lang/json/furniture_from_json.py +msgid "This canvas flap door has been pulled aside." +msgstr "Эту брезентовую заслонку откинули в сторону." + +#. ~ Description for canvas flap +#: lang/json/furniture_from_json.py +msgid "This heavy canvas flap door could be pulled aside." +msgstr "Эту тяжёлую брезентовую заслонку можно откинуть в сторону." + +#. ~ Description for open canvas flap +#: lang/json/furniture_from_json.py +msgid "This heavy canvas flap door has been pulled aside." +msgstr "Эту тяжёлую брезентовую заслонку откинули в сторону." + +#: lang/json/furniture_from_json.py +msgid "groundsheet" +msgstr "подстилка" + +#. ~ Description for groundsheet +#: lang/json/furniture_from_json.py +msgid "This plastic groundsheet could keep you dry." +msgstr "Эта пластиковая подстилка не даст вам промокнуть." + +#. ~ Description for groundsheet +#: lang/json/furniture_from_json.py +msgid "This large plastic groundsheet could keep you dry." +msgstr "Эта большая пластиковая подстилка не даст вам промокнуть." + +#. ~ Description for groundsheet +#: lang/json/furniture_from_json.py +msgid "" +"This plastic government-issue groundsheet could keep you dry, but was made " +"by the lowest bidder." +msgstr "" +"Эта казённый пластиковая подстилка не дала бы вам промокнуть, но она сделана" +" по самому дешёвому заказу." + +#: lang/json/furniture_from_json.py +msgid "animalskin wall" +msgstr "стена из шкур" + +#. ~ Description for animalskin wall +#: lang/json/furniture_from_json.py +msgid "Wall made out of animal skin. Either an amazing or horrifying sight." +msgstr "Стена из шкур животных. Одновременно потрясающее и ужасающее зрелище." + +#: lang/json/furniture_from_json.py +msgid "animalskin flap" +msgstr "заслонка из кожи" + +#. ~ Description for animalskin flap +#: lang/json/furniture_from_json.py +msgid "This animal skin flap could be pulled aside." +msgstr "Эту кожаную заслонку можно откинуть в сторону." + +#: lang/json/furniture_from_json.py +msgid "open animalskin flap" +msgstr "открытая заслонка из кожи" + +#. ~ Description for open animalskin flap +#: lang/json/furniture_from_json.py +msgid "This animal skin flap has been pulled aside." +msgstr "Эту кожаную заслонку откинули в сторону." + +#: lang/json/furniture_from_json.py +msgid "animalskin floor" +msgstr "пол из шкур" + +#. ~ Description for animalskin floor +#: lang/json/furniture_from_json.py +msgid "This animal skin groundsheet could keep you dry." +msgstr "Эта подстилка из звериной шкуры не даст вам промокнуть." + +#: lang/json/furniture_from_json.py +msgid "pile of rubble" +msgstr "кучка камней" + +#. ~ Description for pile of rubble +#: lang/json/furniture_from_json.py +msgid "" +"Pile of various metals, bricks, and other building materials. You could " +"clear it with a shovel." +msgstr "" +"Куча металла, кирпичей и прочих строительных материалов. Вы можете " +"расчистить её с помощью лопаты." + +#: lang/json/furniture_from_json.py +msgid "pile of rocky rubble" +msgstr "кучка каменного мусора" + +#. ~ Description for pile of rocky rubble +#: lang/json/furniture_from_json.py +msgid "Pile of rocks. Useless?" +msgstr "Куча камней. Бесполезна?" + +#: lang/json/furniture_from_json.py +msgid "pile of trashy rubble" +msgstr "кучка мусора" + +#. ~ Description for pile of trashy rubble +#: lang/json/furniture_from_json.py +msgid "" +"Trash topped with dirt and grass, it smells gross, but another man's trash…" +msgstr "" +"Мусор вперемешку с грязью и травой, гадко пахнет, но кому мусор, а кому…" + +#: lang/json/furniture_from_json.py +msgid "metal wreckage" +msgstr "металлические обломки" + +#. ~ Description for metal wreckage +#: lang/json/furniture_from_json.py +msgid "Pile of various bent and twisted metals." +msgstr "Куча разных гнутых и скрученных металлических штуковин." + +#: lang/json/furniture_from_json.py +msgid "pile of ash" +msgstr "кучка пепла" + +#. ~ Description for pile of ash +#: lang/json/furniture_from_json.py +msgid "Some ash, from wood or possibly bodies." +msgstr "Пепел после сгорания дерева или, возможно, трупов." + +#: lang/json/furniture_from_json.py +msgid "small boulder" +msgstr "маленький валун" + +#. ~ Description for small boulder +#: lang/json/furniture_from_json.py +msgid "" +"Blocking your path. Should be easy to move. It can be used as a primitive " +"anvil." +msgstr "" +"Преграждает вам путь. Впрочем, его довольно легко сдвинуть. Может " +"использоваться в качестве примитивной наковальни." + +#: lang/json/furniture_from_json.py +msgid "medium boulder" +msgstr "средний валун" + +#. ~ Description for medium boulder +#: lang/json/furniture_from_json.py +msgid "" +"Blocking your path. It'll be a struggle to move. It can be used as a " +"primitive anvil." +msgstr "" +"Преграждает вам путь. Придётся потрудиться, чтобы сдвинуть его. Может " +"использоваться в качестве примитивной наковальни." + +#: lang/json/furniture_from_json.py +msgid "large boulder" +msgstr "большой валун" + +#. ~ Description for large boulder +#: lang/json/furniture_from_json.py +msgid "Now how are you going to move this?" +msgstr "И как, интересно, вы планируете его сдвинуть?" + #: lang/json/furniture_from_json.py msgid "forge" msgstr "кузня" @@ -105250,543 +111098,13 @@ msgstr "" "можно разобрать и сложить для удобства переноски." #: lang/json/furniture_from_json.py -msgid "pile of rubble" -msgstr "кучка камней" - -#. ~ Description for pile of rubble -#: lang/json/furniture_from_json.py -msgid "" -"Pile of various metals, bricks, and other building materials. You could " -"clear it with a shovel." -msgstr "" -"Куча металла, кирпичей и прочих строительных материалов. Вы можете " -"расчистить её с помощью лопаты." - -#: lang/json/furniture_from_json.py -msgid "pile of rocky rubble" -msgstr "кучка каменного мусора" - -#. ~ Description for pile of rocky rubble -#: lang/json/furniture_from_json.py -msgid "Pile of rocks. Useless?" -msgstr "Куча камней. Бесполезна?" - -#: lang/json/furniture_from_json.py -msgid "pile of trashy rubble" -msgstr "кучка мусора" - -#. ~ Description for pile of trashy rubble -#: lang/json/furniture_from_json.py -msgid "" -"Trash topped with dirt and grass, it smells gross, but another man's " -"trash..." -msgstr "" -"Мусор вперемешку с грязью и травой, гадко пахнет, но кому мусор, а кому…" - -#: lang/json/furniture_from_json.py -msgid "metal wreckage" -msgstr "металлические обломки" - -#. ~ Description for metal wreckage -#: lang/json/furniture_from_json.py -msgid "Pile of various bent and twisted metals." -msgstr "Куча разных гнутых и скрученных металлических штуковин." - -#: lang/json/furniture_from_json.py -msgid "pile of ash" -msgstr "кучка пепла" - -#. ~ Description for pile of ash -#: lang/json/furniture_from_json.py -msgid "Some ash, from wood or possibly bodies." -msgstr "Пепел после сгорания дерева или, возможно, трупов." - -#: lang/json/furniture_from_json.py -msgid "bulletin board" -msgstr "доска объявлений" - -#. ~ Description for bulletin board -#: lang/json/furniture_from_json.py -msgid "" -"A big, cork bulletin board capable of sporting various notices. Pin some " -"notes for other survivors to read." -msgstr "" -"Большая пробковая доска для объявлений и вывешивания разных заметок. " -"Прикрепите записки для других выживальщиков." - -#: lang/json/furniture_from_json.py -msgid "sign" -msgstr "знак" - -#. ~ Description for sign -#: lang/json/furniture_from_json.py -msgid "Read it. Warnings ahead." -msgstr "Доска с текстом. Прочтите, возможно, там что-то важное." - -#: lang/json/furniture_from_json.py -msgid "warning sign" -msgstr "предупредительный знак" - -#. ~ Description for warning sign -#: lang/json/furniture_from_json.py -msgid "" -"A triangle-shaped sign on a post meant to indicate something important or " -"hazard." -msgstr "Треугольный знак на столбике, сообщающий о чём-то важном или опасном." - -#: lang/json/furniture_from_json.py -msgid "standing mirror" -msgstr "напольное зеркало" - -#. ~ Description for standing mirror -#: lang/json/furniture_from_json.py -msgid "Lookin' good - is that blood?" -msgstr "Отлично выгляжу — эй, это что, кровь?" - -#: lang/json/furniture_from_json.py -msgid "glass breaking" -msgstr "звон разбитого стекла" - -#: lang/json/furniture_from_json.py -msgid "broken standing mirror" -msgstr "сломанное зеркало" - -#. ~ Description for broken standing mirror -#: lang/json/furniture_from_json.py -msgid "" -"You could look at yourself, if the mirror wasn't covered in cracks and " -"fractures." -msgstr "" -"Можно было бы посмотреть на себя, если бы зеркало не было покрыто трещинами " -"и сколами." - -#: lang/json/furniture_from_json.py -msgid "vending machine" -msgstr "торговый автомат" - -#. ~ Description for vending machine -#: lang/json/furniture_from_json.py -msgid "Buy stuff with a cash card." -msgstr "Для покупки вещей с помощью банковской карточки." - -#: lang/json/furniture_from_json.py -msgid "broken vending machine" -msgstr "сломанный торговый автомат" - -#. ~ Description for broken vending machine -#: lang/json/furniture_from_json.py -msgid "" -"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " -"you wouldn't need to pay at all!" -msgstr "" -"Вряд ли выйдет что-то купить, всё сломано. Наверно, если разломать побольше," -" то платить вообще не придётся!" - -#: lang/json/furniture_from_json.py -msgid "dumpster" -msgstr "мусорный бак" - -#. ~ Description for dumpster -#: lang/json/furniture_from_json.py -msgid "Stores trash. Doesn't get picked up anymore. Note the smell." -msgstr "Хранит мусор. Их больше не вывозят. Обратите внимание на запах." - -#: lang/json/furniture_from_json.py -msgid "canvas wall" -msgstr "брезентовая стена" - -#. ~ Description for canvas wall -#: lang/json/furniture_from_json.py -msgid "A wall made of stretched, waterproof cloth." -msgstr "Стена из натянутой водонепроницаемой ткани." - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "slap!" -msgstr "хлопок!" - -#. ~ Description for canvas wall -#: lang/json/furniture_from_json.py -msgid "A wall made of stretched, heavy-duty, waterproof cloth." -msgstr "Стена из натянутой прочной водонепроницаемой ткани." - -#: lang/json/furniture_from_json.py -msgid "canvas flap" -msgstr "брезентовая заслонка" - -#. ~ Description for canvas flap -#: lang/json/furniture_from_json.py -msgid "This canvas flap door could be pulled aside." -msgstr "Эту брезентовую заслонку можно откинуть в сторону." - -#: lang/json/furniture_from_json.py -msgid "open canvas flap" -msgstr "открытая брезентовая заслонка" - -#. ~ Description for open canvas flap -#: lang/json/furniture_from_json.py -msgid "This canvas flap door has been pulled aside." -msgstr "Эту брезентовую заслонку откинули в сторону." - -#. ~ Description for canvas flap -#: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door could be pulled aside." -msgstr "Эту тяжёлую брезентовую заслонку можно откинуть в сторону." - -#. ~ Description for open canvas flap -#: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door has been pulled aside." -msgstr "Эту тяжёлую брезентовую заслонку откинули в сторону." - -#: lang/json/furniture_from_json.py -msgid "groundsheet" -msgstr "подстилка" - -#. ~ Description for groundsheet -#: lang/json/furniture_from_json.py -msgid "This plastic groundsheet could keep you dry." -msgstr "Эта пластиковая подстилка не даст вам промокнуть." - -#. ~ Description for groundsheet -#: lang/json/furniture_from_json.py -msgid "This large plastic groundsheet could keep you dry." -msgstr "Эта большая пластиковая подстилка не даст вам промокнуть." - -#. ~ Description for groundsheet -#: lang/json/furniture_from_json.py -msgid "" -"This plastic government-issue groundsheet could keep you dry, but was made " -"by the lowest bidder." -msgstr "" -"Эта казённый пластиковая подстилка не дала бы вам промокнуть, но она сделана" -" по самому дешёвому заказу." - -#: lang/json/furniture_from_json.py -msgid "animalskin wall" -msgstr "стена из шкур" - -#. ~ Description for animalskin wall -#: lang/json/furniture_from_json.py -msgid "Wall made out of animal skin. Either an amazing or horrifying sight." -msgstr "Стена из шкур животных. Одновременно потрясающее и ужасающее зрелище." - -#: lang/json/furniture_from_json.py -msgid "animalskin flap" -msgstr "заслонка из кожи" - -#. ~ Description for animalskin flap -#: lang/json/furniture_from_json.py -msgid "This animal skin flap could be pulled aside." -msgstr "Эту кожаную заслонку можно откинуть в сторону." - -#: lang/json/furniture_from_json.py -msgid "open animalskin flap" -msgstr "открытая заслонка из кожи" - -#. ~ Description for open animalskin flap -#: lang/json/furniture_from_json.py -msgid "This animal skin flap has been pulled aside." -msgstr "Эту кожаную заслонку откинули в сторону." - -#: lang/json/furniture_from_json.py -msgid "animalskin floor" -msgstr "пол из шкур" - -#. ~ Description for animalskin floor -#: lang/json/furniture_from_json.py -msgid "This animal skin groundsheet could keep you dry." -msgstr "Эта подстилка из звериной шкуры не даст вам промокнуть." - -#: lang/json/furniture_from_json.py -msgid "statue" -msgstr "статуя" - -#. ~ Description for statue -#: lang/json/furniture_from_json.py -msgid "A carved statue made of stone." -msgstr "Скульптура, вырезанная из камня." - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "thump." -msgstr "стук." - -#: lang/json/furniture_from_json.py -msgid "mannequin" -msgstr "манекен" - -#. ~ Description for mannequin -#: lang/json/furniture_from_json.py -msgid "" -"Put clothes on it, talk to it. Who's around to judge you? Wait... did it " -"just move?" -msgstr "" -"Нацепи на него одежду, поговори с ним. Кто ж будет против? Погоди… он только" -" что пошевелился?" - -#: lang/json/furniture_from_json.py -msgid "birdbath" -msgstr "ванная для птиц" - -#. ~ Description for birdbath -#: lang/json/furniture_from_json.py -msgid "A decorative cement birdbath and pedestal." -msgstr "Декоративная цементная ванная для птиц на пьедестале." - -#: lang/json/furniture_from_json.py -msgid "rotary clothes dryer line" -msgstr "вращающаяся сушка для одежды" - -#. ~ Description for rotary clothes dryer line -#: lang/json/furniture_from_json.py -msgid "A umbrella shaped clothes line mounted on a pole." -msgstr "Сушилка для одежды в виде зонтика на шесте." - -#: lang/json/furniture_from_json.py -msgid "mounted solar panel" -msgstr "солнечная панель" - -#. ~ Description for mounted solar panel -#: lang/json/furniture_from_json.py -msgid "A mounted solar panel." -msgstr "Установленная солнечная панель." - -#: lang/json/furniture_from_json.py -msgid "spider egg sack" -msgstr "кладка паучьих яиц" - -#. ~ Description for spider egg sack -#: lang/json/furniture_from_json.py -msgid "" -"Much too large, off-white egg sack. Kind of icky. Something IS moving in " -"there." -msgstr "" -"Кучка слишком больших яиц кремового цвета. Мерзость. Внутри что-то " -"шевелится." - -#. ~ Description for spider egg sack -#: lang/json/furniture_from_json.py -msgid "" -"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " -"in there." -msgstr "" -"Бугорчатая масса паучьих яиц. Страшная мерзость. Внутри что-то шевелится." - -#. ~ Description for spider egg sack -#: lang/json/furniture_from_json.py -msgid "" -"A horrifyingly oversized egg sack. Something IS moving in there. If you're" -" seeing this, you're already too close to it." -msgstr "" -"Кучка пугающе огромных яиц. Внутри что-то шевелится. Если вы это видите, то " -"подошли слишком близко." - -#: lang/json/furniture_from_json.py -msgid "ruptured egg sack" -msgstr "разорённая кладка яиц" - -#. ~ Description for ruptured egg sack -#: lang/json/furniture_from_json.py -msgid "Super icky. Spider stuff's spilling out." -msgstr "Невероятная мерзость. Наружу выливаются паучьи внутренности." - -#: lang/json/furniture_from_json.py -msgid "reinforced vending machine" -msgstr "усиленный торговый автомат" - -#. ~ Description for reinforced vending machine -#: lang/json/furniture_from_json.py -msgid "" -"A bit tougher to crack open than regular vending machines. That just makes " -"it all the sweeter a target, doesn't it?" -msgstr "" -"Эту штуку сломать труднее, чем обычный автомат. Но тем привлекательнее цель," -" верно?" - -#: lang/json/furniture_from_json.py -msgid "display case" -msgstr "витрина" - -#. ~ Description for display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff fancily and securely." -msgstr "Для изысканного и безопасного выставления вещей напоказ." - -#: lang/json/furniture_from_json.py -msgid "broken display case" -msgstr "сломанная витрина" - -#. ~ Description for broken display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff. It'll get stolen." -msgstr "Для показа вещей. Их запросто могут украсть." - -#: lang/json/furniture_from_json.py -msgid "standing tank" -msgstr "резервуар" - -#. ~ Description for standing tank -#: lang/json/furniture_from_json.py -msgid "A large freestanding metal tank, useful for holding liquids." -msgstr "" -"Большой отдельно стоящий металлический резервуар, пригодный для хранения " -"жидкостей." - -#: lang/json/furniture_from_json.py -msgid "canvas floor" -msgstr "брезентовый пол" - -#. ~ Description for canvas floor -#: lang/json/furniture_from_json.py -msgid "" -"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " -"of the tent." -msgstr "" -"Подстилка из натянутой водонепроницаемой ткани. Отделяет грязь от палатки." - -#: lang/json/furniture_from_json.py -msgid "robotic arm" -msgstr "роботизированная рука" - -#. ~ Description for robotic arm -#: lang/json/furniture_from_json.py -msgid "" -"Automation! Science! Industry! Make a better horse! This robot arm " -"promises to do it all. Except it's currently unpowered. You could remove " -"the casing and retrieve the electronics through disassembly." -msgstr "" -"Автоматизация! Наука! Промышленность! В этой роборуке есть всё. Только " -"электричества нет. Вы можете убрать корпус и достать электронные части путём" -" разборки." - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "thunk." -msgstr "хлопанье." - -#: lang/json/furniture_from_json.py -msgid "automated gas console" -msgstr "терминал АЗС" - -#. ~ Description for automated gas console -#: lang/json/furniture_from_json.py -msgid "Automated gas flow control console." -msgstr "Консоль автоматического контроля потока газа." - -#: lang/json/furniture_from_json.py -msgid "broken automated gas console" -msgstr "сломанный терминал АЗС" - -#. ~ Description for broken automated gas console -#: lang/json/furniture_from_json.py -msgid "" -"Automated gas flow control console. Broken. This is not a good thing." -msgstr "Консоль автоматического контроля потока газа. Сломана. Это нехорошо." - -#: lang/json/furniture_from_json.py -msgid "small boulder" -msgstr "маленький валун" - -#. ~ Description for small boulder -#: lang/json/furniture_from_json.py -msgid "" -"Blocking your path. Should be easy to move. It can be used as a primitive " -"anvil." -msgstr "" -"Преграждает вам путь. Впрочем, его довольно легко сдвинуть. Может " -"использоваться в качестве примитивной наковальни." - -#: lang/json/furniture_from_json.py -msgid "medium boulder" -msgstr "средний валун" - -#. ~ Description for medium boulder -#: lang/json/furniture_from_json.py -msgid "" -"Blocking your path. It'll be a struggle to move. It can be used as a " -"primitive anvil." -msgstr "" -"Преграждает вам путь. Придётся потрудиться, чтобы сдвинуть его. Может " -"использоваться в качестве примитивной наковальни." - -#: lang/json/furniture_from_json.py -msgid "large boulder" -msgstr "большой валун" - -#. ~ Description for large boulder -#: lang/json/furniture_from_json.py -msgid "Now how are you going to move this?" -msgstr "И как, интересно, вы планируете его сдвинуть?" - -#: lang/json/furniture_from_json.py -msgid "stone slab" -msgstr "каменная плита" - -#. ~ Description for stone slab -#: lang/json/furniture_from_json.py -msgid "A flat slab of heavy stone." -msgstr "Плоская пластина тяжёлого камня." - -#: lang/json/furniture_from_json.py -msgid "manacles" -msgstr "наручники" - -#. ~ Description for manacles -#: lang/json/furniture_from_json.py -msgid "" -"Chain serfs in your dungeon. All you need now is an iron ball to chain to " -"it." -msgstr "" -"Заточите рабов в своё подземелье. Всё, чего не хватает — приклепать цепью " -"железный шар." - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "crack." -msgstr "треск." - -#: lang/json/furniture_from_json.py -msgid "headstone" -msgstr "надгробие" - -#. ~ Description for headstone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies." -msgstr "Под ним кто-то лежит." - -#: lang/json/furniture_from_json.py -msgid "gravestone" -msgstr "могильный камень" - -#. ~ Description for gravestone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies. More fancy." -msgstr "Под ним кто-то лежит. Лежит со стилем." - -#: lang/json/furniture_from_json.py -msgid "worn gravestone" -msgstr "потрескавшийся могильный камень" - -#. ~ Description for worn gravestone -#: lang/json/furniture_from_json.py -msgid "A worn-out gravestone." -msgstr "Стёртый надгробный камень." - -#: lang/json/furniture_from_json.py -msgid "obelisk" -msgstr "обелиск" - -#. ~ Description for obelisk -#: lang/json/furniture_from_json.py -msgid "Monument to pride." -msgstr "Монумент гордости." - -#: lang/json/furniture_from_json.py -msgid "thunk!" -msgstr "тыньк!" +msgid "hanging meathook" +msgstr "мясницкий крюк" -#. ~ Description for camp chair +#. ~ Description for hanging meathook #: lang/json/furniture_from_json.py -msgid "Sit down, have a drink. It can folded for easy transportation." -msgstr "Присядь, выпей чего-нибудь. Можно сложить для удобной переноски." +msgid "A hefty hook suspended from a chain for stringing up corpses." +msgstr "Цепь с увесистым крюком для подвешивания туш." #. ~ Description for wind mill #: lang/json/furniture_from_json.py @@ -105831,285 +111149,58 @@ msgstr "" " в муку. Тормоз удалён, и она вращается." #: lang/json/furniture_from_json.py -msgid "pillow fort" -msgstr "форт из подушек" - -#. ~ Description for pillow fort -#: lang/json/furniture_from_json.py -msgid "A comfy place to hide from the world. Not very defensible, though." -msgstr "Комфортное место, чтобы прятаться от мира. Но защищать его неудобно." - -#: lang/json/furniture_from_json.py -msgid "paf!" -msgstr "паф!" - -#: lang/json/furniture_from_json.py -msgid "cardboard fort" -msgstr "картонный форт" - -#. ~ Description for cardboard fort -#: lang/json/furniture_from_json.py -msgid "" -"A fort built by tipping a cardboard box on its side, lining it with " -"blankets, and partly weather sealing it with a plastic sheet." -msgstr "" -"Форт, построенный из перевёрнутой на бок картонной коробки, обложенной " -"одеялами и прикрытой пластиковым листом от непогоды." - -#: lang/json/furniture_from_json.py -msgid "crumple!" -msgstr "хрусть!" - -#: lang/json/furniture_from_json.py src/ballistics.cpp -msgid "thud." -msgstr "стук." - -#: lang/json/furniture_from_json.py -msgid "cardboard wall" -msgstr "картонная стена" - -#. ~ Description for cardboard wall -#: lang/json/furniture_from_json.py -msgid "" -"This is a pile of cardboard boxes that have been filled with rags and junk " -"and stacked together like bricks to form a wall." -msgstr "" -"Груда картонных коробок, набитых тряпками и хламьём и составленных в стену " -"наподобие кирпичей." - -#. ~ Description for large cardboard box -#: lang/json/furniture_from_json.py -msgid "" -"A large cardboard box: this could be used to store things, or as a hiding " -"place." -msgstr "Большая картонная коробка: в ней можно что-то хранить или спрятаться." - -#: lang/json/furniture_from_json.py -msgid "beaded curtain" -msgstr "бисерная занавеска" - -#. ~ Description for beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain could be pulled aside." -msgstr "Эту бисерную занавеску можно отодвинуть." - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack" -msgstr "клак-щёлк…клак…клак" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack" -msgstr "клак-клак… клак" - -#: lang/json/furniture_from_json.py -msgid "open beaded curtain" -msgstr "открыть бисерную занавеску" - -#. ~ Description for open beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain has been pulled aside." -msgstr "Эта бисерная занавеска сдвинута в сторону." - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack!" -msgstr "клак-клак… клак… клак!" - -#: lang/json/furniture_from_json.py -msgid "filing cabinet" -msgstr "картотечный шкаф" - -#. ~ Description for filing cabinet -#: lang/json/furniture_from_json.py -msgid "" -"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " -"locked to protect important information. If you're lucky, there are often " -"keys nearby." -msgstr "" -"Несколько ящичков в прочном металлическом шкафу, обычно в таких хранят " -"бумаги. Его можно закрыть для защиты важной информации. Если повезёт, " -"неподалеку могут найтись ключи." - -#: lang/json/furniture_from_json.py -msgid "wardrobe" -msgstr "платяной шкаф" - -#. ~ Description for wardrobe -#: lang/json/furniture_from_json.py -msgid "A tall piece of furniture - basically a freestanding closet." -msgstr "Высокий предмет мебели — по сути, отдельно стоящий шкаф." - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "robotic assembler" -msgstr "роботизированный сборщик" - -#. ~ Description for robotic assembler -#: lang/json/furniture_from_json.py -msgid "" -"A durable and versatile robotic arm with a tool fitted to the end, for " -"working on an assembly line." -msgstr "" -"Прочная и гибкая роботизированная рука с инструментом на конце для работы на" -" конвейере." - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "chemical mixer" -msgstr "химический миксер" - -#. ~ Description for chemical mixer -#: lang/json/furniture_from_json.py -msgid "" -"When chemicals need to be mixed in large quantities at just the right " -"combinations and temperatures, this is the tool for the job." -msgstr "" -"Если требуется смешать большие объёмы химикатов в нужном соотношении и при " -"нужной температуре, этот инструмент как раз подойдёт." - -#: lang/json/furniture_from_json.py -msgid "floor lamp" -msgstr "напольная лампа" - -#. ~ Description for floor lamp -#: lang/json/furniture_from_json.py -msgid "A tall standing lamp, meant to plug into a wall and light up a room." -msgstr "" -"Высокая стоячая лампа. Чтобы подсветить комнату, нужно подсоединить к " -"розетке." - -#: lang/json/furniture_from_json.py -msgid "bonk!" -msgstr "бом!" - -#: lang/json/furniture_from_json.py -msgid "document shredder" -msgstr "шредер" - -#. ~ Description for document shredder -#: lang/json/furniture_from_json.py -msgid "" -"It's not all about hiding government secrets, sometimes you just want to " -"stop identity theft." -msgstr "" -"Для скрытия правительственных секретов и не только. Иногда просто нужно " -"предотвратить утечку личных данных." - -#: lang/json/furniture_from_json.py -msgid "server stack" -msgstr "серверная стойка" - -#. ~ Description for server stack -#: lang/json/furniture_from_json.py -msgid "This is a big pile of computers. They're all turned off." -msgstr "Много компьютеров. Все выключены." - -#: lang/json/furniture_from_json.py -msgid "large satellite dish" -msgstr "большая спутниковая тарелка" - -#. ~ Description for large satellite dish -#: lang/json/furniture_from_json.py -msgid "" -"Somewhere up there, there are still satellites, orbiting and doing their " -"thing, sending signals down to an Earth that is no longer listening." -msgstr "" -"Где-то там наверху всё ещё есть спутники, летающие по орбите и занимающиеся " -"своими делами. Они посылают на Землю сигналы, но Земля их больше не слушает." - -#: lang/json/furniture_from_json.py -msgid "hanging meathook" -msgstr "мясницкий крюк" - -#. ~ Description for hanging meathook -#: lang/json/furniture_from_json.py -msgid "A hefty hook suspended from a chain for stringing up corpses." -msgstr "Цепь с увесистым крюком для подвешивания туш." - -#: lang/json/furniture_from_json.py -msgid "fake workbench hands" -msgstr "руки фальшивого верстака" - -#. ~ Description for fake workbench hands -#: lang/json/furniture_from_json.py -msgid "This fake workbench holds the stats for working on a wielded item." -msgstr "" -"Этот фальшивый верстак запоминает параметры для работы над носимой вещью." - -#: lang/json/furniture_from_json.py -msgid "ground crafting spot" -msgstr "место для сборки" +msgid "automated gas console" +msgstr "терминал АЗС" -#. ~ Description for ground crafting spot +#. ~ Description for automated gas console #: lang/json/furniture_from_json.py -msgid "" -"A cleared spot on the ground for crafting. Slower than using a workbench or" -" holding a project in your hands, but readily available." -msgstr "" -"Участок расчищенной земли, чтобы что-нибудь собирать. Медленнее, чем на " -"верстаке или держа в руках, но готово здесь и сразу." +msgid "Automated gas flow control console." +msgstr "Консоль автоматического контроля потока газа." #: lang/json/furniture_from_json.py -msgid "tatami mat" -msgstr "татами" +msgid "broken automated gas console" +msgstr "сломанный терминал АЗС" -#. ~ Description for tatami mat +#. ~ Description for broken automated gas console #: lang/json/furniture_from_json.py msgid "" -"A tatami is a type of mat used as a flooring material in traditional " -"Japanese-style rooms." -msgstr "" -"Татами — разновидность напольного покрытия в традиционных японских комнатах." +"Automated gas flow control console. Broken. This is not a good thing." +msgstr "Консоль автоматического контроля потока газа. Сломана. Это нехорошо." #: lang/json/furniture_from_json.py -msgid "bitts" -msgstr "кнехты" +msgid "reinforced vending machine" +msgstr "усиленный торговый автомат" -#. ~ Description for bitts +#. ~ Description for reinforced vending machine #: lang/json/furniture_from_json.py msgid "" -"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " -"to secure mooring lines, ropes, hawsers, or cables." +"A bit tougher to crack open than regular vending machines. That just makes " +"it all the sweeter a target, doesn't it?" msgstr "" -"Пара вертикальных железных столбиков, установленных на причале, пирсе или " -"набережной. Они используются для надежного привязывания шнуров, веревок, " -"швартовых, или тросов." +"Эту штуку сломать труднее, чем обычный автомат. Но тем привлекательнее цель," +" верно?" #: lang/json/furniture_from_json.py -msgid "speaker cabinet" -msgstr "акустическая колонка" +msgid "vending machine" +msgstr "торговый автомат" -#. ~ Description for speaker cabinet +#. ~ Description for vending machine #: lang/json/furniture_from_json.py -msgid "" -"A cabinet loaded with 12-inch speakers, intended to help make various things" -" loud. It can't serve its original purpose these days, but it could be " -"disassembled for various electronic parts." -msgstr "" -"Колонка с 30-сантиметровыми динамиками, предназначенная для того, чтобы " -"делать вещи громкими. Теперь она не может служить по назначению, но может " -"быть разобрана на различные электронные части." +msgid "Buy stuff with a cash card." +msgstr "Для покупки вещей с помощью банковской карточки." -#. ~ Description for seeing this is a bug #: lang/json/furniture_from_json.py -msgid "Seeing this is a bug. If seen, please report and destroy." -msgstr "" -"Если вы видите это — это баг. Пожалуйста, сообщите об этом и уничтожьте." +msgid "broken vending machine" +msgstr "сломанный торговый автомат" -#. ~ Description for swamp gas +#. ~ Description for broken vending machine #: lang/json/furniture_from_json.py msgid "" -"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " -"toxic gas." +"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " +"you wouldn't need to pay at all!" msgstr "" -"Лужица мутной воды. На поверхности появляются и лопаются пузырьки, выпуская " -"слегка ядовитый газ." - -#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp -msgid "splash!" -msgstr "всплеск!" - -#. ~ Description for fog -#: lang/json/furniture_from_json.py -msgid "This is a misty cloud of fog." -msgstr "Клубящееся туманное облако." +"Вряд ли выйдет что-то купить, всё сломано. Наверно, если разломать побольше," +" то платить вообще не придётся!" #. ~ Description for vehicle refrigerator #: lang/json/furniture_from_json.py @@ -106227,6 +111318,15 @@ msgstr "" "Простой магический круг, вырезанный в земле и украшенный кровью, свечами и " "всякими побрякушками." +#: lang/json/furniture_from_json.py +msgid "large glowing boulder" +msgstr "большой светящийся валун" + +#. ~ Description for large glowing boulder +#: lang/json/furniture_from_json.py +msgid "Something about this doesn't look right." +msgstr "Что-то здесь не так." + #: lang/json/furniture_from_json.py msgid "krash!" msgstr "краш!" @@ -106256,7 +111356,7 @@ msgstr "Ворота открыты!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You turn the handle..." +msgid "You turn the handle…" msgstr "Вы поворачиваете ручку…" #. ~ 'close' action message of some gate object. @@ -106276,7 +111376,7 @@ msgstr "Ворота амбара открыты!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You pull the rope..." +msgid "You pull the rope…" msgstr "Вы тянете за верёвку…" #. ~ 'close' action message of some gate object. @@ -106311,7 +111411,7 @@ msgstr "Дверь распахивается!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You throw the lever..." +msgid "You throw the lever…" msgstr "Вы сдвигаете рычаг…" #. ~ 'close' action message of some gate object. @@ -106437,7 +111537,7 @@ msgid "Fake gun that fires acid globs." msgstr "Оружие отладки, стреляет кислотными сгустками." #: lang/json/gun_from_json.py lang/json/gunmod_from_json.py -#: src/item_factory.cpp src/turret.cpp +#: src/item_factory.cpp msgid "auto" msgstr "авто" @@ -106517,7 +111617,7 @@ msgstr[3] "примитивный лук" msgid "" "A primitive bow fashioned from a single piece of wood, made specifically for" " the person using it. Weak and wildly inaccurate, it doesn't work that " -"well, unfortunately..." +"well, unfortunately…" msgstr "" "Лук из цельного куска дерева, используется только тем, кто его и сделал. " "Слабый и дико неточный, не так хорош, к сожалению…" @@ -106766,9 +111866,7 @@ msgstr "" "размаха плеч. Сгодится для охоты на мелкую дичь. Болты, выпущенные из него, " "имеют хороший шанс уцелеть, и их можно будет повторно использовать" -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "pistol" msgstr "пистолет" @@ -107117,10 +112215,10 @@ msgstr[3] "ППУ-5" #: lang/json/gun_from_json.py msgid "" "Portable Plasma Accelerator Model Five, developed by Lockheed Martin " -"Corporation. This device uses highly advanced capacitor banks to create a " -"torus of superheated hydrogen plasma and accelerate it to incredible speed. " -"It was designed to take down heavy vehicles, and was expected to fully enter" -" US Army service not long before the Cataclysm." +"Corporation. This device uses highly advanced capacitor banks to create a " +"torus of superheated hydrogen plasma and accelerate it to incredible speed." +" It was designed to take down heavy vehicles, and was expected to fully " +"enter US Army service not long before the Cataclysm." msgstr "" "Портативный Плазменный Ускоритель Модель Пять, разработанный корпорацией " "Локхид Мартин. При помощи батарей высокотехнологичных конденсаторов это " @@ -107147,8 +112245,7 @@ msgstr "" " — под патроны для дробовика. Оно сделано из труб и частей двухствольного " "дробовика." -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py msgctxt "gun_type_type" msgid "shotgun" msgstr "дробовик" @@ -107425,10 +112522,10 @@ msgstr[3] "револьвер" #: lang/json/gun_from_json.py msgid "cap & ball revolver" msgid_plural "cap & ball revolvers" -msgstr[0] "" -msgstr[1] "" -msgstr[2] "" -msgstr[3] "" +msgstr[0] "капсюльный револьвер" +msgstr[1] "капсюльных револьвера" +msgstr[2] "капсюльных револьверов" +msgstr[3] "капсюльные револьверы" #: lang/json/gun_from_json.py msgid "base rifle" @@ -107504,6 +112601,9 @@ msgid "" "railgun magnetically propels a ferromagnetic projectile using an alternating" " current. Powered by UPS." msgstr "" +"Рельсовое орудие, разработанное в первой четверти XXI века концерном Heckler" +" & Koch. Разгоняет ферромагнитный снаряд переменным электромагнитным полем. " +"Работает от УБП." #: lang/json/gun_from_json.py msgid "RM120c shotgun" @@ -107744,8 +112844,8 @@ msgstr[3] "Walther P22" #: lang/json/gun_from_json.py msgid "" -"The Walther P22 is a blowback operated semi-automatic pistol. It is about " -"half the size of most Walthers. It is made mostly with plastic, with the " +"The Walther P22 is a blowback operated semi-automatic pistol. It is about " +"half the size of most Walthers. It is made mostly with plastic, with the " "slide and key components being made of die-cast zinc alloy" msgstr "" "Walther P22 - полуавтоматический пистолет со свободным затвором. Примерно " @@ -108050,14 +113150,14 @@ msgid "" "militaries across the world for over 50 years. It is a gas operated, " "rotating bolt rifle known for its accuracy and controllable recoil." msgstr "" -"М16 - широко распространённая штурмовая винтовка, произошедшая от AR-15. Ею " +"М16 — широко распространённая штурмовая винтовка, произошедшая от AR-15. Ею " "пользовались военные по всему миру более 50 лет. Это винтовка с отводом " "пороховых газов и поворотным затвором, знаменитая своей точностью и " "подавлением отдачи." #: lang/json/gun_from_json.py msgid "3rd burst" -msgstr "" +msgstr "тройной выстрел" #: lang/json/gun_from_json.py msgid "pipe rifle: .223" @@ -108394,9 +113494,8 @@ msgid "" "the civilian version chambered for .300 AAC Blackout." msgstr "" "Также его называют Микро-Тавор или MTAR. Израильская штурмовая винтовка по " -"схеме булл-пап, разработанная и изготовленная компанией \"Израильская " -"Военная Промышленность\". Это гражданская модель под патрон .300 AAC " -"Blackout." +"схеме булл-пап, разработанная и изготовленная компанией «Израильская Военная" +" Промышленность». Это гражданская модель под патрон .300 AAC Blackout." #: lang/json/gun_from_json.py msgid "FN FAL" @@ -108591,15 +113690,15 @@ msgstr[3] "M24" msgid "" "The M24 Sniper is the military and police version of the Remington Model 700" " rifle, M24 being the model name assigned by the United States Army after " -"adoption as their standard sniper rifle in 1988. The M24 is referred to as a" -" 'weapon system' because it consists of not only a rifle, but also a " +"adoption as their standard sniper rifle in 1988. The M24 is referred to as " +"a 'weapon system' because it consists of not only a rifle, but also a " "detachable telescopic sight and other accessories." msgstr "" "Снайперская винтовка M24 представляет собой военную/полицейскую версию " "винтовки Remington Model 700. Была принята на вооружение ВС США как " "стандартная снайперская винтовка в 1988 году. M24 считается «оружейной " "системой», потому как она включает в себя не только винтовку, но и съёмный " -"телескопический прицел и другие аксессуары." +"оптический прицел и другие аксессуары." #: lang/json/gun_from_json.py msgid "HK417 A2" @@ -108714,7 +113813,7 @@ msgstr[3] "Kel-Tec P32" #: lang/json/gun_from_json.py msgid "" "One of Kel-tec's oldest designs, the P32 is a popular option for deep " -"concealment and backup usage. Despite its extreme light weight and small " +"concealment and backup usage. Despite its extreme light weight and small " "size, its .32 ACP chambering makes for good handling and recoil control." msgstr "" "Старая разработка Kel-tec. Р32 — популярный вариант для запасного оружия " @@ -108806,21 +113905,22 @@ msgstr "" "развалится." #: lang/json/gun_from_json.py -msgid "COP .38" -msgid_plural "COP .38" -msgstr[0] "COP .38" -msgstr[1] "COP .38" -msgstr[2] "COP .38" -msgstr[3] "COP .38" +msgid "COP .357 Derringer" +msgid_plural "COP .357 Derringers" +msgstr[0] "COP .357 дерринжер" +msgstr[1] "COP .357 дерринжера" +msgstr[2] "COP .357 дерринжеров" +msgstr[3] "COP .357 дерринжеры" #: lang/json/gun_from_json.py msgid "" -"The COP .38 is a small, chubby derringer pistol that bears a slight " -"resemblance to the Mossberg Brownie. It has four barrels arranged in a " -"square formation." +"A small, chubby derringer pistol bearing a slight resemblance to the " +"Mossberg Brownie. It uses a rotating firing pin to fire the individual " +"hammers of the four barrels arranged in a square formation." msgstr "" -"COP .38 — небольшой округлый крупнокалиберный пистолет, немного напоминающий" -" Mossberg Brownie. Имеет четыре квадратно-ориентированных ствола." +"Небольшой пухленький крупнокалиберный пистолетик-дерринжер, немного " +"напоминающий Mossberg Brownie. Использует вращающийся боёк для стрельбы из " +"всех своих четырёх стволов, расположенных квадратом." #: lang/json/gun_from_json.py msgid "pipe rifle: .38 Special" @@ -108863,23 +113963,6 @@ msgstr "" "Семизарядный револьвер .38-го калибра производства Смит и Вессон. Оснащён " "фиксированными прицельными приспособлениями и усиленной рамкой." -#: lang/json/gun_from_json.py -msgid "Taurus Pro .38" -msgid_plural "Taurus Pro .38" -msgstr[0] "Taurus Pro .38" -msgstr[1] "Taurus Pro .38" -msgstr[2] "Taurus Pro .38" -msgstr[3] "Taurus Pro .38" - -#: lang/json/gun_from_json.py -msgid "" -"A popular .38 pistol. Designed with numerous safety features and built from" -" high-quality, durable materials." -msgstr "" -"Популярный пистолет 38-го калибра. Сконструирован согласно высоким " -"стандартам безопасности, изготавливался из прочных и высококачественных " -"материалов." - #: lang/json/gun_from_json.py msgid "MAC-11" msgid_plural "MAC-11s" @@ -108975,13 +114058,29 @@ msgstr[3] "Hi-Point CF-380" msgid "" "The Hi-Point CF-380 is a blowback operated semi automatic pistol designed by" " Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" -"Hi-Point CF-380 - полуавтоматический пистолет со свободным затвором от " -"компании \"Hi-Point Firearms\", знаменитой своим дешёвым и неудобным " -"оружием. Затвор сделан из копеечного цинкового сплава, довольно хрупкого по " -"сравнению со стальным." +"Hi-Point CF-380 — полуавтоматический пистолет со свободным затвором от " +"компании «Hi-Point Firearms», знаменитой своим дешёвым и неудобным оружием. " +"Затвор сделан из копеечного цинкового сплава, довольно хрупкого по сравнению" +" со стальным." + +#: lang/json/gun_from_json.py +msgid "Taurus Spectrum" +msgid_plural "Taurus Spectrum" +msgstr[0] "Taurus Spectrum" +msgstr[1] "Taurus Spectrum" +msgstr[2] "Taurus Spectrum" +msgstr[3] "Taurus Spectrum" + +#: lang/json/gun_from_json.py +msgid "" +"A .380 subcompact pistol. Designed for concealed carry and built from high-" +"quality, durable materials." +msgstr "" +"Очень компактный пистолет .380 калибра. Предназначен для скрытого ношения и " +"выполнен из прочных высококачественных материалов." #: lang/json/gun_from_json.py msgid "M1911A1" @@ -109108,14 +114207,14 @@ msgstr[3] "Browning Hi-Power .40 S&W" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in .40 S&W." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in .40 S&W." msgstr "" "Полуавтоматический пистолет, разработанный незадолго до Второй Мировой " "Войны. С тех пор был довольно популярен и всё ещё встречается в Индии, " "Канаде и Австралии. Это коммерческий вариант калибра .40 S&W производства " -"\"Browning Arms\"." +"«Browning Arms»." #: lang/json/gun_from_json.py msgid "Walther PPQ .40 S&W" @@ -109146,13 +114245,14 @@ msgstr[3] "Hi-Point Model JCP" msgid "" "The Hi-Point Model JCP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" -"Hi-Point Model JCP - полуавтоматический пистолет со свободным затвором от " -"компании \"Hi-Point Firearms\", знаменитой своим дешёвым и неудобным " -"оружием. Затвор сделан из копеечного цинкового сплава, довольно хрупкого по " -"сравнению со стальным." +"Hi-Point Model JCP — полуавтоматический пистолет со свободным затвором от " +"компании «Hi-Point Firearms», знаменитой своим дешёвым и неудобным оружием. " +"Затвор сделан из копеечного цинкового сплава, довольно хрупкого по сравнению" +" со стальным." #: lang/json/gun_from_json.py msgid "tube 40mm launcher" @@ -109416,6 +114516,12 @@ msgid "" " is offered in more prevalent .44 caliber. Despite modern quality " "materials, the design is still rather delicate." msgstr "" +"Репродукция редкого и необычного револьвера Ле Ма .44 калибра эпохи " +"гражданской войны от компании Pietta. В своё время его оригинальный " +"нестандартный .42 или .35 калибр ограничивал полезность для армии " +"конфедерации, но эта копия изготовлена в более распространенном .44 калибре." +" Несмотря на современные качественные материалы, дизайн все же довольно " +"выверенный." #: lang/json/gun_from_json.py msgid "TDI Vector" @@ -109609,9 +114715,9 @@ msgid "" "walking tank with this in their holster." msgstr "" "Большущий пистолет, разработанный в качестве основного оружия для особо " -"отобранных спецназовцев. Про него в шутку говорят \"Единственный пистолет в " -"мире, которому нужен орудийный расчёт\". Из-за громоздкости, элементов серии" -" HK USP и сложности доставки патронов .45 ACP в область проведения операций " +"отобранных спецназовцев. Про него в шутку говорят «Единственный пистолет в " +"мире, которому нужен орудийный расчёт». Из-за громоздкости, элементов серии " +"HK USP и сложности доставки патронов .45 ACP в область проведения операций " "этот чудовищный пистолет был обречён остаться на вооружении Командования " "Специальных Операций США. Подобно USP, у Mk 23 выдающаяся надёжность. " "Возможно, обладатель такого пистолета способен в одиночку уничтожить ходячий" @@ -109646,13 +114752,14 @@ msgstr[3] "Hi-Point Model JHP" msgid "" "The Hi-Point Model JHP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" -"Hi-Point Model JHP - полуавтоматический пистолет со свободным затвором от " -"компании \"Hi-Point Firearms\", знаменитой своим дешёвым и неудобным " -"оружием. Затвор сделан из копеечного цинкового сплава, довольно хрупкого по " -"сравнению со стальным." +"Hi-Point Model JHP — полуавтоматический пистолет со свободным затвором от " +"компании «Hi-Point Firearms», знаменитой своим дешёвым и неудобным оружием. " +"Затвор сделан из копеечного цинкового сплава, довольно хрупкого по сравнению" +" со стальным." #: lang/json/gun_from_json.py msgid "Taurus Raging Bull" @@ -109743,6 +114850,13 @@ msgid "" "collectors. Unlike modern revolvers, the cylinder cannot swing out for " "loading, and spent brass must be ejected one at a time." msgstr "" +"Этот 7,5-дюймовый Uberti Cattleman представляет собой современную " +"репродукцию легендарного армейского Colt Single Action Army или Colt " +"Peacemaker, одного из первых револьверов, использующих современный унитарный" +" патрон. Созданный вестернами, он по-прежнему востребован для ковбойской " +"стрельбы, реконструкторов и коллекторов. В отличие от современных " +"револьверов, барабан не может откидываться для загрузки, и отработанные " +"гильзы должны выбрасываться по одной за раз." #: lang/json/gun_from_json.py msgid "H&K MP7A2" @@ -109919,7 +115033,7 @@ msgstr "" "автоматической стрельбы, а механизм подачи ленты был заменён на гораздо " "меньшую по размерам камеру для стрельбы единственным патроном." -#: lang/json/gun_from_json.py src/item_factory.cpp src/turret.cpp +#: lang/json/gun_from_json.py src/item_factory.cpp msgid "manual" msgstr "ручной" @@ -109937,7 +115051,7 @@ msgid "" "accuracy for long range target and high fire rate, this weapon is still " "being used by Greek national guard." msgstr "" -"Крупнокалиберная винтовка производства \"Accuracy International\", очень " +"Крупнокалиберная винтовка производства «Accuracy International», очень " "точная, дальнобойная и скорострельная. Она стояла на вооружении греческой " "национальной гвардии." @@ -109958,12 +115072,12 @@ msgid "" "extreme distances. It notably holds the longest range confirmed sniper " "kill, as well as the 4th and 5th longest." msgstr "" -"Дальнобойная крупнокалиберная снайперская винтовка производства \"McMillan " -"Firearms\", состоящая на службе канадской армии с 2000 года как С15 и " -"Морских котиков как Mk 15 Mod 0. Эта винтовка .50 калибра со скользящим " -"затвором способна уничтожать лёгкую технику, радарные установки и " -"стационарные орудия на огромном расстоянии. Знаменита рекордом дальности " -"подтверждённого убийства, равно как 4-го и 5-го по дальности." +"Дальнобойная крупнокалиберная снайперская винтовка производства «McMillan " +"Firearms», состоящая на службе канадской армии с 2000 года как С15 и Морских" +" котиков как Mk 15 Mod 0. Эта винтовка .50 калибра со скользящим затвором " +"способна уничтожать лёгкую технику, радарные установки и стационарные орудия" +" на огромном расстоянии. Знаменита рекордом дальности подтверждённого " +"убийства, равно как 4-го и 5-го по дальности." #: lang/json/gun_from_json.py msgid "Serbu BFG-50" @@ -109978,8 +115092,8 @@ msgid "" "A single-shot, bolt-action rifle made by Serbu Firearms, the BFG-50 is a " "very affordable firearm for those wishing to shoot .50 BMG." msgstr "" -"Однозарядная винтовка со скользящим затвором производства \"Serbu " -"Firearms\", доступная всем желающим пострелять патроном .50 BMG." +"Однозарядная винтовка со скользящим затвором производства «Serbu Firearms», " +"доступная всем желающим пострелять патроном .50 BMG." #: lang/json/gun_from_json.py msgid "Big Horn Model 89" @@ -110153,7 +115267,7 @@ msgid "" msgstr "" "Американская ракетница, разработанная в 1970-х на замену огнемётам Второй " "Мировой Войны, всё ещё использовавшихся во Вьетнаме. У неё четыре ствола " -"калибра 66 мм - такого же, как у M72 LAW." +"калибра 66 мм — такого же, как у M72 LAW." #: lang/json/gun_from_json.py msgid "all barrels" @@ -110664,9 +115778,9 @@ msgid "" "offers convenient mounting for aftermarket optics, but precludes the use of " "claw mounts." msgstr "" -"PTR 603 - полуавтоматическая копия знаменитой серии МР5, производимая для " -"рынка США компанией \"PTR Индастриз\" на оригинальном оборудовании \"Хеклер " -"и Кох\". Как и у МР5, инерционный затвор обеспечивает плавный выстрел и " +"PTR 603 — полуавтоматическая копия знаменитой серии МР5, производимая для " +"рынка США компанией «PTR Индастриз» на оригинальном оборудовании «Хеклер и " +"Кох». Как и у МР5, инерционный затвор обеспечивает плавный выстрел и " "точность, что выделяет оружие среди других пистолетов-пулемётов и карабинов " "под пистолетный патрон. Эта модель оформлена как пистолет во избежание " "недоразумений и дорогостоящих ограничений NFA. Приваренная планка M1913 " @@ -110926,10 +116040,10 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Glock 18C" msgid_plural "Glock 18Cs" -msgstr[0] "Glock 18C" -msgstr[1] "Glock 18C" -msgstr[2] "Glock 18C" -msgstr[3] "Glock 18C" +msgstr[0] "Глок 18C" +msgstr[1] "Глока 18C" +msgstr[2] "Глоков 18C" +msgstr[3] "Глоки 18C" #: lang/json/gun_from_json.py msgid "" @@ -110988,14 +116102,14 @@ msgstr[3] "Browning Hi-Power 9x19 мм" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in 9x19mm Parabellum." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in 9x19mm Parabellum." msgstr "" "Полуавтоматический пистолет, разработанный незадолго до Второй Мировой " "Войны. С тех пор был довольно популярен и всё ещё встречается в Индии, " "Канаде и Австралии. Это коммерческий вариант калибра 9х19 мм Парабеллум " -"производства \"Browning Arms\"." +"производства «Browning Arms»." #: lang/json/gun_from_json.py msgid "Walther P38" @@ -111008,8 +116122,8 @@ msgstr[3] "Walther P38" #: lang/json/gun_from_json.py msgid "" "The Walther P38 is a semi-automatic handgun adopted shortly before the " -"second world war. Developed due to the high production costs of its " -"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " +"second world war. Developed due to the high production costs of its " +"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " "This early DA/SA locked-breech design would introduce features later seen on" " more modern firearms such as the Beretta 92 series, and served Germany " "until 2004." @@ -111033,7 +116147,7 @@ msgstr[3] "Walther PPQ 9 мм" msgid "" "The Walther PPQ is a semi-automatic pistol originating from the Walther " "P99QA, and maintains compatibility with some of its predecessor's " -"accessories. This model is chambered in 9x19mm Parabellum." +"accessories. This model is chambered in 9x19mm Parabellum." msgstr "" "Полуавтоматический пистолет, разработанный на основе Walther P99QA и " "совместимый с его аксессуарами. Эта модель предназначена под патрон 9х19 мм " @@ -111051,12 +116165,12 @@ msgstr[3] "Hi-Point C-9" msgid "" "The Hi-Point C-9 is a blowback operated semi automatic pistol designed by " "Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" -"Hi-Point C-9 - полуавтоматический пистолет со свободным затвором от компании" -" \"Hi-Point Firearms\", знаменитой своим дешёвым и неудобным оружием. Затвор" -" сделан из копеечного цинкового сплава, довольно хрупкого по сравнению со " +"Hi-Point C-9 — полуавтоматический пистолет со свободным затвором от компании" +" «Hi-Point Firearms», знаменитой своим дешёвым и неудобным оружием. Затвор " +"сделан из копеечного цинкового сплава, довольно хрупкого по сравнению со " "стальным." #: lang/json/gun_from_json.py @@ -111070,17 +116184,17 @@ msgstr[3] "CZ-75" #: lang/json/gun_from_json.py msgid "" "The CZ-75 is a semi-automatic pistol developed in Czechoslovakia, and is one" -" of the original wonder nines. Though designed for export to western " +" of the original wonder nines. Though designed for export to western " "countries, it was declared a state secret; lack of international patent " "protection meant that many clones and variants were produced and distributed" -" around the world, with Česká zbrojovka only joining in the 90's. This " +" around the world, with Česká zbrojovka only joining in the 90's. This " "pistol remains wildly popular among competition shooters." msgstr "" -"Чехословацкий полуавтоматический пистолет, один из первых \"вандер-найнов\"." -" Хотя его предполагалось продавать западным странам, пистолет объявили " +"Чехословацкий полуавтоматический пистолет, один из первых «вандер-найнов». " +"Хотя его предполагалось продавать западным странам, пистолет объявили " "государственной тайной. Ввиду отсутствия международного патента по всему " "миру появились копии и варианты, и только в 90-х его начала производить " -"чешская компания \"Česká zbrojovka\". Этот пистолет широко популярен на " +"чешская компания «Česká zbrojovka». Этот пистолет широко популярен на " "соревнованиях стрелков." #: lang/json/gun_from_json.py @@ -111094,10 +116208,10 @@ msgstr[3] "Walther CCP" #: lang/json/gun_from_json.py msgid "" "The Walther CCP is a gas-delayed blowback semi-automatic pistol intended for" -" the concealed carry consumer market. Internally, it is nearly identical to " -"the cult classic H&K P7. Its fixed barrel design makes it potentially more " -"accurate than many other pistols, though this may difficult to realize with " -"its average trigger and short sight radius." +" the concealed carry consumer market. Internally, it is nearly identical to" +" the cult classic H&K P7. Its fixed barrel design makes it potentially more" +" accurate than many other pistols, though this may difficult to realize with" +" its average trigger and short sight radius." msgstr "" "Полуавтоматический пистолет со свободным затвором, предназначенный для " "скрытого ношения. Внутри он почти идентичен классическому H&K P7. Благодаря " @@ -111740,7 +116854,7 @@ msgid "" "rotating-barrel active-cooled rapid-fire laser system, can spray death " "downrange with ease." msgstr "" -"Встроенное оружие экзоскелета БМКЭ - лазерная пушка с вращающимися стволами " +"Встроенное оружие экзоскелета БМКЭ — лазерная пушка с вращающимися стволами " "и активным охлаждением. Сеет смерть на раз-два." #: lang/json/gun_from_json.py @@ -111756,7 +116870,7 @@ msgid "" "This is the integral weapon system for the RMES exoskeleton mech-suit, a " "quiet and accurate marksman laser rifle." msgstr "" -"Встроенное оружие экзоскелета РМКЭ - бесшумное и точное снайперское лазерное" +"Встроенное оружие экзоскелета РМКЭ — бесшумное и точное снайперское лазерное" " ружьё." #: lang/json/gun_from_json.py @@ -112281,10 +117395,10 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Modified CW-24" msgid_plural "Modified CW-24" -msgstr[0] "Модифицированная CW-24" -msgstr[1] "Модифицированные CW-24" -msgstr[2] "Модифицированных CW-24" -msgstr[3] "Модифицированная CW-24" +msgstr[0] "Модифицированая CW-24" +msgstr[1] "Модифицированые CW-24" +msgstr[2] "Модифицированых CW-24" +msgstr[3] "Модифицированые CW-24" #: lang/json/gun_from_json.py msgid "" @@ -112299,10 +117413,10 @@ msgstr "" #: lang/json/gun_from_json.py msgid "Modified CW-24M" msgid_plural "Modified CW-24M" -msgstr[0] "Модифицированная CW-24M" -msgstr[1] "Модифицированные CW-24M" -msgstr[2] "Модифицированных CW-24M" -msgstr[3] "Модифицированная CW-24M" +msgstr[0] "Модифицированая CW-24M" +msgstr[1] "Модифицированые CW-24M" +msgstr[2] "Модифицированых CW-24M" +msgstr[3] "Модифицированые CW-24M" #: lang/json/gun_from_json.py msgid "CWD-63" @@ -113115,12 +118229,81 @@ msgstr[3] "друидские составные луки" #: lang/json/gun_from_json.py msgid "" -"A bow made of multiple materials to maximize energy efficiency. There are " +"A bow made of multiple materials to maximize energy efficiency. There are " "two Druid runes embedded at the tips." msgstr "" "Лук, сделанный из нескольких слоёв разных материалов для повышенной " "эффективности. На кончиках выгравированы две друидские руны." +#: lang/json/gun_from_json.py +msgid "M47A1 Techno-Medusa" +msgid_plural "M47A1 Techno-Medusae" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gun_from_json.py +msgid "" +"A magically-enhanced update to the Phillips & Rodgers' M47 Medusa, a multi-" +"caliber revolver aimed at survivalists. While Technomancy improves the " +"reliability with smaller cartridges, it is not as accurate as dedicated " +"caliber revolvers due to freebore." +msgstr "" +"Магически зачарованный Phillips & Rodgers M47 Medusa, многокалиберный " +"револьвер, предназначенного для выживших. В то время как Техномантия " +"повышает надежность, с меньшими патронами она не так точна, как револьверы " +"специализированного калибра из-за свободного ствола." + +#: lang/json/gun_from_json.py +msgid "gunblade" +msgid_plural "gunblades" +msgstr[0] "ганблейд" +msgstr[1] "ганблейда" +msgstr[2] "ганблейдов" +msgstr[3] "ганблейды" + +#: lang/json/gun_from_json.py +msgid "" +"Constructed similarly to a falcata, this forward-sloping blade has a short-" +"barrel pump shotgun attached to the blade's spine for finishing blows or a " +"first strike." +msgstr "" +"Похожий на широкий меч фалькату, этот изогнутый клинок имеет прикрепленный к" +" обуху короткоствольный помповый дробовик. Предназначен для нанесения как " +"первого так и добивающих ударов." + +#: lang/json/gun_from_json.py +msgid "shotcestus" +msgid_plural "shotcesti" +msgstr[0] "силовой цестус" +msgstr[1] "силовых цестуса" +msgstr[2] "силовых цестусов" +msgstr[3] "силовые цестусы" + +#: lang/json/gun_from_json.py +msgid "" +"A sawn-off double-barrel shotgun mounted on a metal cestus. The lack of a " +"stock to absorb recoil means some strength is required to fire." +msgstr "" +"Металлический цестус с прикреплённым обрезом. Отсутствие ложи для поглощения" +" отдачи означает, что для стрельбы требуется некоторая сила." + +#: lang/json/gun_from_json.py +msgid "Ichaival" +msgid_plural "Ichaivals" +msgstr[0] "Ихайваль" +msgstr[1] "Ихайваля" +msgstr[2] "Ихайвалей" +msgstr[3] "Ихайвали" + +#: lang/json/gun_from_json.py +msgid "" +"Ichaival, the bow of Odin. Rumored to fire 10 arrows with every pull of the" +" string. It has gold and silver ornaments on it, as well as an ornate " +"Raven." +msgstr "" + #: lang/json/gun_from_json.py msgid "Woodbow" msgid_plural "Woodbows" @@ -113273,14 +118456,6 @@ msgstr "" "легче натягивать тетиву. Болты, выпущенные из этого оружия, имеют хороший " "шанс уцелеть для повторного использования." -#: lang/json/gun_from_json.py -msgid "Ichaival" -msgid_plural "Ichaivals" -msgstr[0] "Ихайваль" -msgstr[1] "Ихайваля" -msgstr[2] "Ихайвалей" -msgstr[3] "Ихайвали" - #: lang/json/gun_from_json.py msgid "" "This is a replica of the bow possessed by Odin, Ichaival, which is rumored " @@ -114656,7 +119831,7 @@ msgstr "" msgid "accessories" msgstr "аксессуары" -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "bow" msgstr "лук" @@ -114805,7 +119980,7 @@ msgstr[3] "УБП-тест" #: lang/json/gunmod_from_json.py msgid "" "Testmod for UPS drain on mods, this should never spawn, if you see this, " -"it's a bug. 50x more UPS drain." +"it's a bug. 50x more UPS drain." msgstr "" "Тест-мод для расходования зарядов УБП на модификации. Он никогда не должен " "появляться, если вы видите это, то это сбой. Расход х50 зарядов УБП." @@ -114998,8 +120173,8 @@ msgstr[3] "фокусирующие линзы" #: lang/json/gunmod_from_json.py msgid "" -"A set of optics to concentrate the laser beam on a smaller focus point. This" -" increases range and damage output, but complicates targeting." +"A set of optics to concentrate the laser beam on a smaller focus point. " +"This increases range and damage output, but complicates targeting." msgstr "" "Оптический блок для концентрации лазерного луча на меньшей фокусной точке. " "Увеличивает дальность и урон, но усложняет прицеливание." @@ -115033,7 +120208,7 @@ msgstr[3] "эффективные эмиттеры" #: lang/json/gunmod_from_json.py msgid "" "A set of electronics to optimize emitter workcycle and increase overall " -"energy efficiency. Decreases power consumption." +"energy efficiency. Decreases power consumption." msgstr "" "Электронная система для оптимизации рабочего цикла эмиттера и увеличения " "общей эффективности расхода энергии. Уменьшает потребление энергии." @@ -115052,8 +120227,8 @@ msgstr[3] "конденсатор высокой плотности" #: lang/json/gunmod_from_json.py msgid "" -"A capacitor with a higher energy density increases range and damage; at the" -" cost of a markedly increased power consumption." +"A capacitor with a higher energy density increases range and damage; at the " +"cost of a markedly increased power consumption." msgstr "" "Конденсатор с высокой плотностью энергии, увеличивает дальность выстрела и " "урон ценой значительно возросшего энергопотребления." @@ -115307,7 +120482,7 @@ msgid_plural "ported barrels" msgstr[0] "компенсатор" msgstr[1] "компенсатора" msgstr[2] "компенсаторов" -msgstr[3] "компенсатора" +msgstr[3] "компенсаторы" #: lang/json/gunmod_from_json.py msgid "" @@ -115328,16 +120503,35 @@ msgid_plural "muzzle brakes" msgstr[0] "дульный тормоз" msgstr[1] "дульных тормоза" msgstr[2] "дульных тормозов" -msgstr[3] "дульных тормоза" +msgstr[3] "дульные тормозы" #: lang/json/gunmod_from_json.py msgid "" "A muzzle brake redirects exhaust gases to compensate for muzzle climb, " "improving recoil but increasing bulk, noise, and reducing accuracy slightly." msgstr "" -"Дульный тормоз перенаправляет выхлопные газы, чтобы компенсировать дульный " -"подъём, улучшает отдачу, но увеличивает массу, шум и немного снижает " -"точность." +"Дульный тормоз перенаправляет пороховые газы так, чтобы компенсировать " +"отдачу, но увеличивает массу, шум и немного снижает точность." + +#: lang/json/gunmod_from_json.py +msgid "modified muzzle brake" +msgid_plural "modified muzzle brakes" +msgstr[0] "модифицированый дульный тормоз" +msgstr[1] "модифицированых дульных тормоза" +msgstr[2] "модифицированых дульных тормозов" +msgstr[3] "модифицированые дульные тормозы" + +#: lang/json/gunmod_from_json.py +msgid "" +"A muzzle brake redirects exhaust gases to compensate for muzzle climb, " +"improving recoil but increasing bulk, noise, and reducing accuracy slightly." +" This one was modified and customized to mount on pretty much any firearm " +"other than launchers, if you so want." +msgstr "" +"Дульный тормоз перенаправляет пороховые газы так, чтобы компенсировать " +"отдачу, но увеличивает массу, шум и немного снижает точность. Модифицирован " +"и настроен для установки практически на любое огнестрельное оружие по " +"желанию, кроме гранатомётов." #: lang/json/gunmod_from_json.py msgid "homemade suppressor" @@ -115345,7 +120539,7 @@ msgid_plural "homemade suppressors" msgstr[0] "самодельный глушитель" msgstr[1] "самодельных глушителя" msgstr[2] "самодельных глушителей" -msgstr[3] "самодельных глушителя" +msgstr[3] "самодельные глушители" #: lang/json/gunmod_from_json.py msgid "" @@ -115371,8 +120565,8 @@ msgstr "" msgid "'solvent trap' suppressor" msgid_plural "'solvent trap' suppressors" msgstr[0] "глушитель из фильтра" -msgstr[1] "глушителя из фильтра" -msgstr[2] "глушителей из фильтра" +msgstr[1] "глушителя из фильтров" +msgstr[2] "глушителей из фильтров" msgstr[3] "глушители из фильтра" #: lang/json/gunmod_from_json.py @@ -115389,7 +120583,7 @@ msgstr "" "как нелегальный незарегистрированный глушитель. Хорошо, что поблизости нет " "агентов АТФ, чтоб арестовать вас. Хотя в целом и напоминает настоящий " "глушитель, он не рассчитан на высокое давление и постепенно испортится. Этот" -" фильтр громоздок и при установке будет сильно мешать прицеливанию из " +" глушитель громоздок и при установке будет сильно мешать прицеливанию из " "базовых прицельных приспособлений оружия." #: lang/json/gunmod_from_json.py @@ -115424,7 +120618,7 @@ msgid_plural "RK6S34 suppressors" msgstr[0] "глушитель RK6S34" msgstr[1] "глушителя RK6S34" msgstr[2] "глушителей RK6S34" -msgstr[3] "глушитель RK6S34" +msgstr[3] "глушители RK6S34" #: lang/json/gunmod_from_json.py msgid "" @@ -115442,7 +120636,7 @@ msgid_plural "shotgun suppressors" msgstr[0] "глушитель дробовика" msgstr[1] "глушителя дробовика" msgstr[2] "глушителей дробовика" -msgstr[3] "глушитель дробовика" +msgstr[3] "глушители дробовика" #: lang/json/gunmod_from_json.py msgid "" @@ -115458,7 +120652,7 @@ msgid_plural "suppressors" msgstr[0] "глушитель" msgstr[1] "глушителя" msgstr[2] "глушителей" -msgstr[3] "глушителя" +msgstr[3] "глушители" #: lang/json/gunmod_from_json.py msgid "" @@ -115498,7 +120692,7 @@ msgid_plural "compact suppressors" msgstr[0] "компактный глушитель" msgstr[1] "компактных глушителя" msgstr[2] "компактных глушителей" -msgstr[3] "компактных глушителя" +msgstr[3] "компактные глушители" #: lang/json/gunmod_from_json.py msgid "" @@ -115514,7 +120708,7 @@ msgid_plural "rail-mounted crossbows" msgstr[0] "арбалет на планку" msgstr[1] "арбалета на планку" msgstr[2] "арбалетов на планку" -msgstr[3] "арбалета на планку" +msgstr[3] "арбалеты на планку" #: lang/json/gunmod_from_json.py msgid "" @@ -115528,13 +120722,33 @@ msgstr "" msgid "rail" msgstr "планка" +#: lang/json/gunmod_from_json.py +msgid "modified rail-mounted crossbow" +msgid_plural "modified rail-mounted crossbows" +msgstr[0] "модифицированый арбалет на планку" +msgstr[1] "модифицированых арбалета на планку" +msgstr[2] "модифицированых арбалетов на планку" +msgstr[3] "модифицированые арбалеты на планку" + +#: lang/json/gunmod_from_json.py +msgid "" +"A kit to attach a pair of crossbow arms and a firing rail to the barrel of a" +" long firearm. It allows crossbow bolts to be fired. This one was modified" +" and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" +"Набор для крепления на длинноствольное оружие пары арбалетных плечей и " +"направляющей. Требует арбалетных болтов для стрельбы. Модифицирован для " +"установки практически на любое оружие по желанию, кроме пистолетов и " +"пистолет-пулемётов." + #: lang/json/gunmod_from_json.py msgid "offset iron sights" msgid_plural "offset iron sights" -msgstr[0] "смещённый прицел" -msgstr[1] "смещённых прицела" -msgstr[2] "смещённых прицелов" -msgstr[3] "смещённый прицел" +msgstr[0] "смещённый открытый прицел" +msgstr[1] "смещённых открытых прицела" +msgstr[2] "смещённых открытых прицелов" +msgstr[3] "смещённые открытые прицелы" #: lang/json/gunmod_from_json.py msgid "" @@ -115544,13 +120758,31 @@ msgstr "" "Дополнительный прицел, смещённый на 45°. Используется, когда оптический " "прицел или другая модификация ограничивают использование основного прицела." +#: lang/json/gunmod_from_json.py +msgid "modified offset iron sights" +msgid_plural "modified offset iron sights" +msgstr[0] "модифицированый смещённый открытый прицел" +msgstr[1] "модифицированых смещённых открытых прицела" +msgstr[2] "модифицированых смещённых открытых прицелов" +msgstr[3] "модифицированые смещённые открытые прицелы" + +#: lang/json/gunmod_from_json.py +msgid "" +"An alternative set of iron sights mounted at 45° for use when a scope or " +"other modification prevents use of the primary sights. This one was " +"modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" +"Дополнительный прицел, смещённый на 45°. Используется, когда оптический " +"прицел или другая модификация ограничивают использование основного прицела. " +"Модифицирован для установки практически на любое оружие, по желанию." + #: lang/json/gunmod_from_json.py msgid "offset sight rail" msgid_plural "offset sight rails" -msgstr[0] "планка для смещённого прицела" -msgstr[1] "планки для смещённого прицела" -msgstr[2] "планок для смещённого прицела" -msgstr[3] "планка для смещённого прицела" +msgstr[0] "смещённая планка" +msgstr[1] "смещённые планки" +msgstr[2] "смещённых планок" +msgstr[3] "смещённые планки" #: lang/json/gunmod_from_json.py msgid "An additional rail set at 45° for attaching a secondary optic." @@ -115558,13 +120790,30 @@ msgstr "" "Дополнительная планка, установленная под углом в 45°, для установки " "вспомогательных прицелов." +#: lang/json/gunmod_from_json.py +msgid "modified offset sight rail" +msgid_plural "modified offset sight rails" +msgstr[0] "модифицированая смещённая планка" +msgstr[1] "модифицированые смещённые планки" +msgstr[2] "модифицированых смещённых планок" +msgstr[3] "модифицированые смещённые планки" + +#: lang/json/gunmod_from_json.py +msgid "" +"An additional rail set at 45° for attaching a secondary optic. This one was" +" modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" +"Дополнительная планка, установленная под углом в 45°, для установки " +"вспомогательных прицелов. Модифицирована для установки на любое оружие, по " +"желанию." + #: lang/json/gunmod_from_json.py msgid "rail laser sight" msgid_plural "rail laser sights" -msgstr[0] "целеуказатель на RIS планку" -msgstr[1] "целеуказателя на RIS планку" -msgstr[2] "целеуказателей на RIS планку" -msgstr[3] "целеуказателя на RIS планку" +msgstr[0] "лазерный целеуказатель на планку" +msgstr[1] "лазерных целеуказателя на планку" +msgstr[2] "лазерных целеуказателей на планку" +msgstr[3] "лазерные целеуказатели на планку" #: lang/json/gunmod_from_json.py msgid "" @@ -115582,7 +120831,7 @@ msgid_plural "gyroscopic stabilizers" msgstr[0] "гироскопический стабилизатор" msgstr[1] "гироскопических стабилизатора" msgstr[2] "гироскопических стабилизаторов" -msgstr[3] "гироскопических стабилизатора" +msgstr[3] "гироскопические стабилизаторы" #: lang/json/gunmod_from_json.py msgid "" @@ -115590,9 +120839,29 @@ msgid "" "vibration, greatly reducing recoil and slightly increasing accuracy." msgstr "" "Продвинутый блок, который фиксируется на боку вашего огнестрельного оружия и" -" уменьшает вибрацию, значительно уменьшая отдачу и немного увеличивая " +" уменьшает вибрацию, также значительно уменьшая отдачу и немного увеличивая " "точность." +#: lang/json/gunmod_from_json.py +msgid "modified gyroscopic stabilizer" +msgid_plural "modified gyroscopic stabilizers" +msgstr[0] "модифицированый гироскопический стабилизатор" +msgstr[1] "модифицированых гироскопических стабилизатора" +msgstr[2] "модифицированых гироскопических стабилизаторов" +msgstr[3] "модифицированые гироскопические стабилизаторы" + +#: lang/json/gunmod_from_json.py +msgid "" +"An advanced unit that straps onto the side of your firearm and reduces " +"vibration, greatly reducing recoil and slightly increasing accuracy. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" +"Продвинутый блок, который фиксируется на боку вашего огнестрельного оружия и" +" уменьшает вибрацию, также значительно уменьшая отдачу и немного увеличивая " +"точность. Модифицирован для установки практически на любое оружие по " +"желанию, кроме пистолетов." + #: lang/json/gunmod_from_json.py msgid "LW gyroscopic stabilizer" msgid_plural "LW gyroscopic stabilizers" @@ -115608,10 +120877,10 @@ msgstr "Продвинутый встроенный гироскопически #: lang/json/gunmod_from_json.py msgid "five pin bow sight" msgid_plural "five pin bow sights" -msgstr[0] "пятиточечный прицел для лука" -msgstr[1] "пятиточечных прицела для лука" -msgstr[2] "пятиточечных прицелов для лука" -msgstr[3] "пятиточечный прицел для лука" +msgstr[0] "пятипиновый прицел для лука" +msgstr[1] "пятипиновых прицела для лука" +msgstr[2] "пятипиновых прицелов для лука" +msgstr[3] "пятипиновые прицелы для лука" #: lang/json/gunmod_from_json.py msgid "" @@ -115649,7 +120918,7 @@ msgid_plural "bow scopes" msgstr[0] "оптический прицел для лука" msgstr[1] "оптических прицела для лука" msgstr[2] "оптических прицелов для лука" -msgstr[3] "оптический прицел для лука" +msgstr[3] "оптические прицелы для лука" #: lang/json/gunmod_from_json.py msgid "" @@ -115667,7 +120936,7 @@ msgid_plural "holographic sights" msgstr[0] "голографический прицел" msgstr[1] "голографических прицела" msgstr[2] "голографических прицелов" -msgstr[3] "голографических прицела" +msgstr[3] "голографические прицелы" #: lang/json/gunmod_from_json.py msgid "" @@ -115680,10 +120949,10 @@ msgstr "" #: lang/json/gunmod_from_json.py msgid "iron sights" msgid_plural "iron sights" -msgstr[0] "механический прицел" -msgstr[1] "механических прицела" -msgstr[2] "механических прицелов" -msgstr[3] "механических прицела" +msgstr[0] "открытый прицел" +msgstr[1] "открытых прицела" +msgstr[2] "открытых прицелов" +msgstr[3] "открытые прицелы" #: lang/json/gunmod_from_json.py msgid "A basic set of iron sights" @@ -115695,7 +120964,7 @@ msgid_plural "pistol scopes" msgstr[0] "пистолетный прицел" msgstr[1] "пистолетных прицела" msgstr[2] "пистолетных прицелов" -msgstr[3] "пистолетных прицела" +msgstr[3] "пистолетные прицелы" #: lang/json/gunmod_from_json.py msgid "" @@ -115711,7 +120980,7 @@ msgid_plural "red dot sights" msgstr[0] "коллиматорный прицел" msgstr[1] "коллиматорных прицела" msgstr[2] "коллиматорных прицелов" -msgstr[3] "коллиматорных прицела" +msgstr[3] "коллиматорные прицелы" #: lang/json/gunmod_from_json.py msgid "" @@ -115727,7 +120996,7 @@ msgid_plural "rifle scopes" msgstr[0] "оптический прицел" msgstr[1] "оптических прицела" msgstr[2] "оптических прицелов" -msgstr[3] "оптических прицела" +msgstr[3] "оптические прицелы" #: lang/json/gunmod_from_json.py msgid "" @@ -115738,13 +121007,33 @@ msgstr "" " 1/10 мрад. Этот прицел удивительно небольшой и лёгкий для такого " "увеличения." +#: lang/json/gunmod_from_json.py +msgid "modified rifle scope" +msgid_plural "modified rifle scopes" +msgstr[0] "модифицированый оптический прицел" +msgstr[1] "модифицированых оптических прицела" +msgstr[2] "модифицированых оптических прицелов" +msgstr[3] "модифицированые оптические прицелы" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 3-18x44 rifle scope. It is adjustable for windage and elevation in 1/10th" +" mrad increments and is remarkably small and light for its magnification. " +"This one was modified and customized to mount on pretty much any weapon " +"other than pistols and SMGs, if you so want." +msgstr "" +"Винтовочный прицел 3-18x44. Поправки на ветер и подъём настраиваются с шагом" +" 1/10 мрад. Этот прицел удивительно небольшой и лёгкий для такого " +"увеличения. Модифицирован и настроен для установки практически на любое " +"оружие, по желанию, кроме пистолетов и пистолет-пулемётов." + #: lang/json/gunmod_from_json.py msgid "ACOG scope" msgid_plural "ACOG scopes" msgstr[0] "прицел ACOG" msgstr[1] "прицела ACOG" msgstr[2] "прицелов ACOG" -msgstr[3] "прицел ACOG" +msgstr[3] "прицелы ACOG" #: lang/json/gunmod_from_json.py msgid "" @@ -115753,6 +121042,24 @@ msgid "" msgstr "" "Продвинутый боевой оптический прицел 4x32 TA01 с тритиевым перекрестием." +#: lang/json/gunmod_from_json.py +msgid "modified ACOG scope" +msgid_plural "modified ACOG scopes" +msgstr[0] "модифицированый прицел ACOG" +msgstr[1] "модифицированых прицела ACOG" +msgstr[2] "модифицированых прицелов ACOG" +msgstr[3] "модифицированые прицелы ACOG" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 4x32 TA01 Advanced Combat Optical Gunsight with a tritium illuminated " +"crosshair. This one was modified and customized to mount on pretty much any" +" weapon other than pistols, if you so want." +msgstr "" +"Оптический прицел 4x32 TA01 Advanced Combat Optical Gunsight с перекрестием " +"с тритиевой подсветкой. Был допилен для установки практически на любое " +"оружие, кроме пистолетов, если вы этого хотите." + #: lang/json/gunmod_from_json.py msgid "RS1219 scope" msgid_plural "RS1219 scopes" @@ -115775,34 +121082,36 @@ msgstr "" #: lang/json/gunmod_from_json.py msgid "telescopic sight" msgid_plural "telescopic sights" -msgstr[0] "телескопический прицел" -msgstr[1] "телескопических прицела" -msgstr[2] "телескопических прицелов" -msgstr[3] "телескопический прицел" +msgstr[0] "простой оптический прицел" +msgstr[1] "простых оптических прицела" +msgstr[2] "простых оптических прицелов" +msgstr[3] "простые оптические прицелы" #: lang/json/gunmod_from_json.py msgid "" -"A simple telescopic sight, essentially a small telescope with crosshairs. " -"Increases weight but improves accuracy." +"A simple hand-crafted telescopic sight, essentially a small telescope with " +"crosshairs. Not as good as the ones made before the cataclysm. Increases " +"weight but improves accuracy." msgstr "" -"Простой телескопический прицел, фактически — небольшой телескоп с " -"перекрестием. Увеличивает вес, но улучшает точность." +"Простой самодельный оптический прицел, по сути, маленькая подзорная трубочка" +" с целиком. Не так хорош, как те, что были сделаны до катаклизма. " +"Увеличивает вес, но повышает точность." #: lang/json/gunmod_from_json.py msgid "telescopic pistol sight" msgid_plural "telescopic pistol sights" -msgstr[0] "телескопический пистолетный прицел" -msgstr[1] "телескопических пистолетных прицела" -msgstr[2] "телескопических пистолетных прицелов" -msgstr[3] "телескопический пистолетный прицел" +msgstr[0] "простой оптический пистолетный прицел" +msgstr[1] "простых оптических пистолетных прицела" +msgstr[2] "простых оптических пистолетных прицелов" +msgstr[3] "простые оптические пистолетные прицелы" #: lang/json/gunmod_from_json.py msgid "" "A simple telescopic sight intended for use on a handgun. Increases weight " "but improves accuracy greatly." msgstr "" -"Простой телескопический прицел для использования на пистолете. Увеличивает " -"вес, но улучшает точность." +"Простой оптический прицел для использования на пистолете. Увеличивает вес, " +"но улучшает точность." #: lang/json/gunmod_from_json.py msgid "LW red dot sight" @@ -115810,7 +121119,7 @@ msgid_plural "LW red dot sights" msgstr[0] "коллиматорный прицел LW" msgstr[1] "коллиматорных прицела LW" msgstr[2] "коллиматорных прицелов LW" -msgstr[3] "коллиматорный прицел LW" +msgstr[3] "коллиматорные прицелы LW" #: lang/json/gunmod_from_json.py msgid "Built in red-dot sight for the Leadworks weapon." @@ -115822,7 +121131,7 @@ msgid_plural "LW rifle scopes" msgstr[0] "оптический прицел LW" msgstr[1] "оптических прицела LW" msgstr[2] "оптических прицелов LW" -msgstr[3] "оптический прицел LW" +msgstr[3] "оптические прицелы LW" #: lang/json/gunmod_from_json.py msgid "Built in rifle scope for the Leadworks weapon." @@ -115834,7 +121143,7 @@ msgid_plural "LW ACOG scopes" msgstr[0] "прицел ACOG LW" msgstr[1] "прицела ACOG LW" msgstr[2] "прицелов ACOG LW" -msgstr[3] "прицел ACOG LW" +msgstr[3] "прицелы ACOG LW" #: lang/json/gunmod_from_json.py msgid "" @@ -116002,6 +121311,28 @@ msgstr "" "они могут использоваться только на определённых поверхностях и медленно " "разворачиваются." +#: lang/json/gunmod_from_json.py +msgid "modified bipod" +msgid_plural "modified bipods" +msgstr[0] "модифицированные сошки" +msgstr[1] "модифицированные сошки" +msgstr[2] "модифицированных сошек" +msgstr[3] "модифицированные сошки" + +#: lang/json/gunmod_from_json.py +msgid "" +"Bipods are commonly used on rifles and machine guns to provide a forward " +"rest and reduce motion. Although they greatly improve handling of recoil " +"they are usable only on certain surfaces and are slow to equip. This one " +"was modified and customized to mount on pretty much any weapon, if you so " +"want." +msgstr "" +"Сошки обычно используются на винтовках и пулемётах, чтобы улучшить контроль " +"над отдачей. Несмотря на то, что они значительно улучшают контроль отдачи, " +"они могут использоваться только на определённых поверхностях и медленно " +"разворачиваются. Были допилены для установки практически на любое оружие, " +"если вы этого хотите." + #: lang/json/gunmod_from_json.py msgid "combination gun shotgun" msgid_plural "combination gun shotguns" @@ -116050,13 +121381,31 @@ msgstr "" "Это передняя рукоять, улучшающая контроль над отдачей. Менее эффективна, чем" " сошки, но может использоваться в любой ситуации." +#: lang/json/gunmod_from_json.py +msgid "modified forward grip" +msgid_plural "modified forward grips" +msgstr[0] "модифицированая передняя рукоять" +msgstr[1] "модифицированых передних рукояти" +msgstr[2] "модифицированых передних рукоятей" +msgstr[3] "модифицированые передние рукояти" + +#: lang/json/gunmod_from_json.py +msgid "" +"A grip placed forward on the barrel allows for greater control. Not as " +"effective as a bipod but usable under all conditions. This one was modified" +" and customized to mount on pretty much any weapon, if you so want." +msgstr "" +"Это передняя рукоять, улучшающая контроль над отдачей. Менее эффективна, чем" +" сошки, но может использоваться в любой ситуации. Модифицирована для " +"установки практически на любое оружие, по желанию." + #: lang/json/gunmod_from_json.py msgid "integrated bayonet" msgid_plural "integrated bayonets" msgstr[0] "встроенный штык" msgstr[1] "встроенных штыка" msgstr[2] "встроенных штыков" -msgstr[3] "встроенных штыка" +msgstr[3] "встроенные штыки" #: lang/json/gunmod_from_json.py msgid "This is the bayonet integrated in the firearm." @@ -116069,18 +121418,18 @@ msgstr "штык" #: lang/json/gunmod_from_json.py msgid "KSG second magazine" msgid_plural "KSG second magazines" -msgstr[0] "KSG second магазин" -msgstr[1] "KSG second магазина" -msgstr[2] "KSG second магазинов" -msgstr[3] "KSG second магазин" +msgstr[0] "KSG двойной магазин" +msgstr[1] "KSG двойных магазина" +msgstr[2] "KSG двойных магазинов" +msgstr[3] "KSG двойные магазины" #: lang/json/gunmod_from_json.py msgid "" "The integrated second shotgun magazine of the Kel-Tec KSG which holds 7 " "shots. It's irremovable." msgstr "" -"Интегрированный магазин для дробовика Kel-Tec KSG на 7 патронов. Эта " -"модификация несменяема." +"Интегрированный двойной магазин для дробовика Kel-Tec KSG на 7 патронов. Эта" +" модификация несменяема." #: lang/json/gunmod_from_json.py msgid "underbarrel laser sight" @@ -116088,7 +121437,7 @@ msgid_plural "underbarrel laser sights" msgstr[0] "подствольный целеуказатель" msgstr[1] "подствольных целеуказателя" msgstr[2] "подствольных целеуказателей" -msgstr[3] "подствольных целеуказателя" +msgstr[3] "подствольные целеуказатели" #: lang/json/gunmod_from_json.py msgid "" @@ -116119,10 +121468,10 @@ msgstr "" #: lang/json/gunmod_from_json.py msgid "M203" msgid_plural "M203" -msgstr[0] "M203" -msgstr[1] "M203" -msgstr[2] "M203" -msgstr[3] "M203" +msgstr[0] "M203 подствольник" +msgstr[1] "M203 подствольника" +msgstr[2] "M203 подствольников" +msgstr[3] "M203 подствольники" #: lang/json/gunmod_from_json.py msgid "" @@ -116134,13 +121483,34 @@ msgstr "" "М-16, но сейчас может быть установлен практически на любую винтовку. " "Позволяет зарядить 40-мм гранату." +#: lang/json/gunmod_from_json.py +msgid "modified M203" +msgid_plural "modified M203s" +msgstr[0] "модифицированый M203 подствольник" +msgstr[1] "модифицированых M203 подствольника" +msgstr[2] "модифицированых M203 подствольников" +msgstr[3] "модифицированые M203 подствольники" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M203 was originally designed for use with M16 variants but today can be " +"attached to almost any rifle. It allows a single 40mm grenade to be loaded " +"and fired. This one was modified and customized to mount on pretty much any" +" weapon other than pistols and pump-action guns, if you so want." +msgstr "" +"Гранатомёт M203 был первоначально разработан для использования с винтовкой " +"М-16, но сейчас может быть установлен практически на любую винтовку. " +"Позволяет зарядить 40-мм гранату. Модифицирован и настроен для установки " +"практически на любое оружие, по желанию, кроме пистолетов и пистолет-" +"пулемётов." + #: lang/json/gunmod_from_json.py msgid "M320 GLM" msgid_plural "M320 GLM" -msgstr[0] "M320 GLM" -msgstr[1] "M320 GLM" -msgstr[2] "M320 GLM" -msgstr[3] "M320 GLM" +msgstr[0] "M320 GLM подствольник" +msgstr[1] "M320 GLM подствольника" +msgstr[2] "M320 GLM подствольников" +msgstr[3] "M320 GLM подствольники" #: lang/json/gunmod_from_json.py msgid "" @@ -116153,13 +121523,35 @@ msgstr "" " очень маленьком корпусе ценой снижения точности. Можно прикрепить к " "винтовке или в сочетании с прикладом использовать как отдельное оружие." +#: lang/json/gunmod_from_json.py +msgid "modified M320 GLM" +msgid_plural "modified M320 GLMs" +msgstr[0] "модифицированый M320 GLM подствольник" +msgstr[1] "модифицированых M320 GLM подствольника" +msgstr[2] "модифицированых M320 GLM подствольников" +msgstr[3] "модифицированые M320 GLM подствольники" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M320 Grenade Launcher Module offers the functionality of larger " +"launchers in a very small package at the cost of decreased accuracy. It can" +" be either attached to a rifle or combined with a buttstock for stand alone " +"use. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" +"M320 гранатомётный модуль предлагает функциональность больших гранатомётов в" +" очень маленьком корпусе ценой снижения точности. Можно прикрепить к " +"винтовке или в сочетании с прикладом использовать как отдельное оружие. " +"Модифицирован и настроен для установки практически на любое оружие, по " +"желанию, кроме пистолетов и дробовиков." + #: lang/json/gunmod_from_json.py msgid "masterkey shotgun" msgid_plural "masterkey shotguns" msgstr[0] "подствольный дробовик" msgstr[1] "подствольных дробовика" msgstr[2] "подствольных дробовиков" -msgstr[3] "подствольный дробовик" +msgstr[3] "подствольные дробовики" #: lang/json/gunmod_from_json.py msgid "" @@ -116170,21 +121562,41 @@ msgstr "" "Небольшой дробовик, который крепится к стволу большинства винтовок. Магазин " "рассчитан на четыре патрона." +#: lang/json/gunmod_from_json.py +msgid "modified masterkey shotgun" +msgid_plural "modified masterkey shotguns" +msgstr[0] "модифицированый подствольный дробовик" +msgstr[1] "модифицированых подствольных дробовика" +msgstr[2] "модифицированых подствольных дробовиков" +msgstr[3] "модифицированые подствольные дробовики" + +#: lang/json/gunmod_from_json.py +msgid "" +"A minimalist pump action shotgun, which can be mounted under the barrel of " +"many rifles. It allows a total of four shotgun shells to be loaded and " +"fired. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" +"Небольшой дробовик, который крепится к стволу большинства винтовок. Магазин " +"рассчитан на четыре патрона. Модифицирован и настроен для установки " +"практически на любое оружие, по желанию, кроме пистолетов и дробовиков." + #: lang/json/gunmod_from_json.py msgid "40mm pipe launcher" msgid_plural "40mm pipe launchers" msgstr[0] "пусковая труба 40 мм" msgstr[1] "пусковые трубы 40 мм" msgstr[2] "пусковых труб 40 мм" -msgstr[3] "пусковая труба 40 мм" +msgstr[3] "пусковые трубы 40 мм" #: lang/json/gunmod_from_json.py msgid "" -"This is a home built launcher tube that can be attached to almost any rifle." -" It allows a single 40mm grenade to be loaded and fired." +"This is a home built launcher tube that can be attached to almost any weapon" +" except handguns. It allows a single 40mm grenade to be loaded and fired." msgstr "" "Это самодельная пусковая труба, которая может быть присоединена к почти " -"любой винтовке. Позволяет вести стрельбу 40-мм гранатами." +"любому оружию, за исключением пистолетов. Позволяет вести стрельбу 40-мм " +"гранатами." #: lang/json/gunmod_from_json.py msgid "pistol bayonet" @@ -116208,7 +121620,7 @@ msgid_plural "RM121 aux shotguns" msgstr[0] "подствольный дробовик RM121" msgstr[1] "подствольных дробовика RM121" msgstr[2] "подствольных дробовиков RM121" -msgstr[3] "подствольный дробовик RM121" +msgstr[3] "подствольные дробовики RM121" #: lang/json/gunmod_from_json.py msgid "" @@ -116221,13 +121633,34 @@ msgstr "" "который крепится под стволом многих моделей винтовок. К нему подходят RMSA10" " коробчатые магазины." +#: lang/json/gunmod_from_json.py +msgid "modified RM121 aux shotgun" +msgid_plural "modified RM121 aux shotguns" +msgstr[0] "модифицированый подствольный дробовик RM121" +msgstr[1] "модифицированых подствольных дробовика RM121" +msgstr[2] "модифицированых подствольных дробовиков RM121" +msgstr[3] "модифицированые подствольные дробовики RM121" + +#: lang/json/gunmod_from_json.py +msgid "" +"The Rivtech RM121 auxiliary weapon system is a magazine-fed semi-automatic " +"caseless shotgun, which can be mounted under the barrel of many rifles. " +"Accepts RMSA10 box magazines. This one was modified and customized to mount" +" on pretty much any weapon other than pistols, if you so want." +msgstr "" +"Модификация подствольной системы вооружения Ривтех RM121 — это специальный " +"полуавтоматический магазинный дробовик, оснащённый безгильзовыми патронами, " +"который крепится под стволом многих моделей винтовок. К нему подходят RMSA10" +" коробчатые магазины. Модифицирован и настроен для установки практически на " +"любое оружие, кроме пистолетов." + #: lang/json/gunmod_from_json.py msgid "underslung shotgun" msgid_plural "underslung shotguns" msgstr[0] "подствольный дробовик" msgstr[1] "подствольных дробовика" msgstr[2] "подствольных дробовиков" -msgstr[3] "подствольный дробовик" +msgstr[3] "подствольные дробовики" #: lang/json/gunmod_from_json.py msgid "" @@ -116238,13 +121671,33 @@ msgstr "" "многих винтовок. Стреляет двумя зарядами дроби, после чего нуждается в " "перезарядке." +#: lang/json/gunmod_from_json.py +msgid "modified underslung shotgun" +msgid_plural "modified underslung shotguns" +msgstr[0] "модифицированый подствольный дробовик" +msgstr[1] "модифицированых подствольных дробовика" +msgstr[2] "модифицированых подствольных дробовиков" +msgstr[3] "модифицированые подствольные дробовики" + +#: lang/json/gunmod_from_json.py +msgid "" +"A short shotgun with 2 barrels, which can be mounted under the barrel of " +"many rifles. It allows two shotgun shells to be loaded and fired. This one" +" was modified and customized to mount on pretty much any weapon other than " +"pistols, if you so want." +msgstr "" +"Короткое ружьё с двумя стволами, которое может быть установлено под стволом " +"многих винтовок. Стреляет двумя зарядами дроби, после чего нуждается в " +"перезарядке. Модифицирован и настроен для установки практически на любое " +"оружие, кроме пистолетов." + #: lang/json/gunmod_from_json.py msgid "LW underbarrel laser sight" msgid_plural "LW underbarrel laser sights" -msgstr[0] "подствольный целеуказатель LW" -msgstr[1] "подствольных целеуказателя LW" -msgstr[2] "подствольных целеуказателей LW" -msgstr[3] "подствольный целеуказатель LW" +msgstr[0] "подствольный лазерный целеуказатель LW" +msgstr[1] "подствольных лазерных целеуказателя LW" +msgstr[2] "подствольных лазерных целеуказателей LW" +msgstr[3] "подствольные лазерные целеуказатели LW" #: lang/json/gunmod_from_json.py msgid "" @@ -116260,7 +121713,7 @@ msgid_plural "LW forward grips" msgstr[0] "передняя рукоять LW" msgstr[1] "передние рукояти LW" msgstr[2] "передних рукоятей LW" -msgstr[3] "передняя рукоять LW" +msgstr[3] "передние рукояти LW" #: lang/json/gunmod_from_json.py msgid "" @@ -116274,7 +121727,7 @@ msgstr "" msgid "LW bipod" msgid_plural "LW bipods" msgstr[0] "сошки LW" -msgstr[1] "сошек LW" +msgstr[1] "сошки LW" msgstr[2] "сошек LW" msgstr[3] "сошки LW" @@ -116287,7 +121740,7 @@ msgstr "" "Встроенные сошки от компании Лидворкс, предназначенные для улучшения " "контроля над отдачей. Несмотря на то, что они значительно улучшают контроль " "отдачи, они могут использоваться только на определённых поверхностях и " -"медленно разворачиваются." +"медленно раскладываются." #: lang/json/gunmod_from_json.py msgid "LW underslung shotgun" @@ -116595,6 +122048,66 @@ msgstr "" "снаряд, увеличивая его урон, отдачу и снижая точность. Вместе с тем при " "стрельбе она тратит заряды УБП, а оружие больше не может работать без УБП." +#: lang/json/gunmod_from_json.py +msgid "'Silent Winds' suppressor" +msgid_plural "'Silent Winds' suppressors" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Rather than using purely wipe media, an additional localized silence spell " +"in this tube quiets gunshots going through to hearing-safe levels." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (rail)" +msgid_plural "mana laser sights (rail)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit under the barrel." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (underbarrel)" +msgid_plural "mana laser sights (underbarrel)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit on the rail." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana dot sight" +msgid_plural "mana dot sights" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Adds a blue dot optic made from crystallized mana to the top of your gun, " +"replacing the iron sights. Increases accuracy and weight." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "makeshift pistol bayonet" msgid_plural "makeshift pistol bayonets" @@ -116831,7 +122344,7 @@ msgid "" "visualized, but covered by the \"fog of war\"." msgstr "" "Места за пределами вашего обзора можно отобразить на экране, если вы их " -"раньше видели и запомнили, но они будут покрыты \"туманом войны\"." +"раньше видели и запомнили, но они будут покрыты «туманом войны»." #: lang/json/help_from_json.py msgid ": Hunger, thirst, and sleep" @@ -116853,9 +122366,9 @@ msgid "" msgstr "" "С течением времени вы начнёте ощущать голод и жажду, желудок вам об этом " "напомнит. Когда это случится, появится строка статуса на боковой панели. Не " -"запутайтесь - в зависимости от вашего состояния она показывает одновременно " +"запутайтесь — в зависимости от вашего состояния она показывает одновременно " "наполненность желудка и силу голода в зависимости от вашей упитанности. Ваша" -" упитанность - это что-то отдельное от вашего текущего голода. Например, вы " +" упитанность — это что-то отдельное от вашего текущего голода. Например, вы " "можете быть сытым после плотного обеда, но всё ещё истощённым. И вы будете " "чувствовать голод, страдая ожирением. С регулярным питанием вы можете не " "чувствовать голода и всё равно истощиться, если не потребляете достаточно " @@ -117018,7 +122531,7 @@ msgid "" "Depressants are opposite to stimulants. They will make you groggy and " "sluggish, but may help you in falling asleep." msgstr "" -"Депрессанты - противоположность стимуляторов. Они вызывают сонливость и " +"Депрессанты — противоположность стимуляторов. Они вызывают сонливость и " "заторможенность, но помогают уснуть." #: lang/json/help_from_json.py @@ -117111,7 +122624,7 @@ msgid "" msgstr "" "Если у вас кровотечение, статус раненой части тела сменится на красный. " "Раненая часть тела получает урон, пока кровоточит. Самый простой способ " -"остановить кровотечение - перебинтовать рану, также существуют различные " +"остановить кровотечение — перебинтовать рану, также существуют различные " "специализированные медицинские предметы." #: lang/json/help_from_json.py @@ -117448,7 +122961,7 @@ msgid "" "-> Fabrication is the generic artisan skill, used for a wide variety of " "gear." msgstr "" -"-> Производство - общий ремесленный навык, нужен для очень многих вещей. " +"-> Производство — общий ремесленный навык, нужен для очень многих вещей. " #: lang/json/help_from_json.py msgid "" @@ -117546,7 +123059,7 @@ msgid "" "remain in place until stepped on or disarmed." msgstr "" "Для установки ловушки просто используйте её (нажмите ) и " -"укажите направление. Некоторые ловушки требуют инструменты для установки - " +"укажите направление. Некоторые ловушки требуют инструменты для установки — " "лопату, например. Ловушка будет действовать, пока её не активируют или " "обезвредят." @@ -117580,7 +123093,7 @@ msgid "" "common example of such traps." msgstr "" "Некоторые ловушки устанавливаются в меню строительства. Самый простой пример" -" - яма-ловушка." +" — яма-ловушка." #: lang/json/help_from_json.py msgid ": Items overview" @@ -117680,7 +123193,7 @@ msgstr "" "носить только один предмет каждого слоя на части тела без каких-либо штрафов" " скованности за слишком много носимых вещей. Любой предмет, помимо первого, " "на каждом слое добавит дополнительный штраф к скованности части тела. " -"Минимальный штраф к скованности за каждый элемент одежды - 2, максимальный -" +"Минимальный штраф к скованности за каждый элемент одежды — 2, максимальный —" " 10." #: lang/json/help_from_json.py @@ -117765,7 +123278,7 @@ msgid "" "spawns with one such magazine in it." msgstr "" "Против орд монстров может потребоваться огнестрельное оружие. Для " -"большинства оружия нужны совместимые магазины - это указано в описании " +"большинства оружия нужны совместимые магазины — это указано в описании " "оружия. К счастью, огнестрельное оружие часто можно найти с уже вставленным " "магазином." @@ -117782,7 +123295,7 @@ msgid "" msgstr "" "Вы можете изъять магазин из оружия, нажав . Вы можете зарядить" " этот магазин подходящими боеприпасами, если они имеются у вас в инвентаре. " -"Для этого нажмите - игра автоматически вытащит магазин, " +"Для этого нажмите — игра автоматически вытащит магазин, " "заполнит его патронами и снова зарядит в оружие. Разумеется, все эти " "действия требуют времени, так что постарайтесь не делать этого, если рядом " "будут монстры." @@ -117950,7 +123463,7 @@ msgid "" "would you do in a survival situation?" msgstr "" "В большинстве случаев потребности при выживании располагаются в следующем " -"порядке: укрытие, огонь, вода, еда. Остальное - попытки найти ответ на " +"порядке: укрытие, огонь, вода, еда. Остальное — попытки найти ответ на " "вопрос, что бы вы делали, если бы вам пришлось выживать?" #: lang/json/help_from_json.py @@ -118010,7 +123523,7 @@ msgid "" msgstr "" "Намного проще сражаться с противниками по одному. Иногда у вас получится " "кайтить зомби-одиночек. Пользуйтесь дверным проёмом как узким местом. Стойте" -" за окном и бейте зомби, пока он медленно перелезает. Осторожно - если зомби" +" за окном и бейте зомби, пока он медленно перелезает. Осторожно — если зомби" " много, они протолкнут друг друга внутрь. Убегайте, если у вас преимущество " "в скорости. Двигаясь по пересечённой местности, вы быстро оторвётесь от " "преследователей." @@ -118049,8 +123562,8 @@ msgid "" msgstr "" "Забивайте инвентарь поплотнее, но не перегружайтесь; никогда не знаешь, что " "может пригодиться в пути. Некоторые вещи можно выгодно продать, а любой " -"ненужный предмет выкинуть. Но отправляйтесь на вылазку с пустыми руками - " -"случиться может всякое, так что держите при себе самые необходимые вещи." +"ненужный предмет выкинуть. Но не отправляйтесь на вылазку с пустыми руками —" +" случиться может всякое, так что держите при себе самые необходимые вещи." #: lang/json/help_from_json.py msgid "" @@ -118071,7 +123584,7 @@ msgstr "" "вытереться после дождя. Если у вас возникли проблемы с сохранением тепла в " "течение ночи, сделайте на полу кучу из одежды и спите на ней. Подушка и " "одеяло для кровати всегда помогут качественно выспаться. Если ничего " -"подобного нет, импровизируйте - даже кресло в подвале лучше мокрой земли в " +"подобного нет, импровизируйте — даже кресло в подвале лучше мокрой земли в " "чистом поле. Для выживания крайне важно найти или сделать укрытие с местом " "для сна." @@ -118787,12 +124300,12 @@ msgid "" " .308 (7.62) - for even more powerful rifles. Also good long range option.\n" " It should be enough in the beginning. Or even just grab any shotgun, fill it with buckshot and give them hell!" msgstr "" -"В: В игре слишком много калибров и пушек. Я запутался - я не понимаю, что к чему подходит.\n" +"В: В игре слишком много калибров и пушек. Я запутался — я не понимаю, что к чему подходит.\n" "О: Попробуйте запомнить несколько калибров: \n" -"9x19 (или просто 9мм) - для самых простых пистолетов (например, Глок) и пистолетов-пулемётов, они часто встречаются и полезны против обычных зомби;\n" -" Дробь 00 - для большинства дробовиков. Наносит очень высокий урон небронированным целям на близкой дистанции;\n" -" .223 (5.56) - для винтовок. Хороши для стрельбы на дальние дистанции.\n" -" .308 (7.62) - для винтовок помощнее. Тоже хороши для дальней дистанции.\n" +"9x19 (или просто 9мм) — для самых простых пистолетов (например, Глок) и пистолетов-пулемётов, они часто встречаются и полезны против обычных зомби;\n" +" Дробь 00 — для большинства дробовиков. Наносит очень высокий урон небронированным целям на близкой дистанции;\n" +" .223 (5.56) — для винтовок. Хороши для стрельбы на дальние дистанции.\n" +" .308 (7.62) — для винтовок помощнее. Тоже хороши для дальней дистанции.\n" " Для начала этого достаточно. Или просто возьмите любой дробовик, набейте его дробью и задайте всем жару!" #: lang/json/help_from_json.py @@ -119168,7 +124681,7 @@ msgstr "Измерить радиацию" #: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/game_inventory.cpp src/teleport.cpp -msgid "..." +msgid "…" msgstr "…" #: lang/json/item_action_from_json.py @@ -119338,18 +124851,12 @@ msgstr "" "Этот предмет можно активировать или перезаряжать с соседнего тайла, без " "необходимости брать его в руки." -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the outer aura layer, intended for metaphysical effects." -msgstr "" -"Этот предмет занимает слой внешней ауры, предназначенный для " -"сверхъестественных вещей." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your outer aura." msgstr "Это занимает вашу внешнюю ауру." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate barometer (which is used to measure " @@ -119357,6 +124864,7 @@ msgid "" msgstr "" "Это снаряжение оснащено точным барометром (измеряет атмосферное давление)." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item can be clipped on to a belt loop of the appropriate " @@ -119365,10 +124873,6 @@ msgstr "" "Этот предмет может быть повешен на петлю ремня подходящего " "размера." -#: lang/json/json_flag_from_json.py -msgid "Layer for backpacks and things worn over outerwear." -msgstr "Слой для рюкзаков и вещей, носимых поверх верхней одежды." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is strapped onto you." @@ -119383,13 +124887,6 @@ msgstr "" "Неигровой персонаж-спутник мог бы использовать этот " "КБМ при правильной установке." -#: lang/json/json_flag_from_json.py -msgid "" -"Blinds the wearer while worn, and provides nominal protection vs flashbang " -"flashes." -msgstr "" -"Ослепляет при ношении, обеспечивая обычную защиту от светошумовых гранат." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear prevents you from seeing anything." @@ -119498,13 +124995,6 @@ msgstr "Этот предмет исчезает после истечения msgid "You can wear only one." msgstr "Может быть надето в единственном экземпляре." -#: lang/json/json_flag_from_json.py -msgid "" -"Wearing this clothing gives a morale bonus if the player has the Stylish " -"trait." -msgstr "" -"Надевая эту вещь, игрок с чертой «Стильный» получает прибавку к морали." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This piece of clothing is fancy." @@ -119537,23 +125027,11 @@ msgstr "Это снаряжение исправляет дальнозо msgid "This gear corrects nearsightedness." msgstr "Это снаряжение исправляет близорукость." -#: lang/json/json_flag_from_json.py -msgid "" -"Zombie-dropped clothing giving various penalties if Filthy mod is active. " -"Also CBMs harvested from zombies." -msgstr "" -"Одежда, выпавшая с зомби, будет давать различные штрафы при включенном моде " -"на грязные вещи. Также влияет на КБМ, извлечённые из зомби." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This item is filthy." msgstr "Этот предмет грязный." -#: lang/json/json_flag_from_json.py -msgid "Used for eyes protection from flashbang." -msgstr "Используется для защиты глаз от вспышек светошумовых гранат." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -119596,12 +125074,14 @@ msgstr "" "Эта одежда с капюшоном согревает голову, если она не " "обременена." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate hygrometer (which is used to measure " "humidity)." msgstr "Это снаряжение оснащено гигрометром (измеряет влажность)." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item is a component of the gun it is attached to. It can't be removed " @@ -119610,31 +125090,6 @@ msgstr "" "Этот предмет является компонентом огнестрельного оружия, к которому он " "прикреплён. Предмет невозможно удалить без разрушения оружия." -#: lang/json/json_flag_from_json.py -msgid "Item can never be used with a CVD machine." -msgstr "Предмет не может быть использован с ХПО машиной." - -#: lang/json/json_flag_from_json.py -msgid "" -"Don't offer to draw items from this holster when the fire key is pressed " -"whilst the player's hands are empty." -msgstr "" -"Не позволяет доставать предметы из кобуры, если нажата клавиша стрельбы и " -"руки игрока свободны." - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents repairing of this item even if otherwise suitable tools exist." -msgstr "Починка не возможна без подходящего инструмента." - -#: lang/json/json_flag_from_json.py -msgid "" -"forces calories and vitamins to be the ones defined in the json, instead of " -"inheriting from ingredients" -msgstr "" -"использует значения калорий и витаминов, указанные в json-файле, вместо " -"унаследования их из ингридиентов" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "You could probably plant these." @@ -119649,23 +125104,11 @@ msgstr "" "Эта пища растаёт, в тёплом климате, и на вкус намного " "лучше, когда заморожена." -#: lang/json/json_flag_from_json.py -msgid "Outer garment layer." -msgstr "Наружный слой одежды." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is generally worn over clothing." msgstr "Это снаряжение обычно носится поверх одежды." -#: lang/json/json_flag_from_json.py -msgid "" -"Can always be worn no matter encumbrance/mutations/bionics/etc., but " -"prevents any other clothing being worn over this." -msgstr "" -"Может быть всегда одет, несмотря на скованность, мутации, бионику и т. д., " -"но предотвращает одевание любой другой одежды поверх себя." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -119675,14 +125118,6 @@ msgstr "" "Этот предмет одежды достаточно большой, чтобы носить при любых " "ненормально больших мутациях тела." -#: lang/json/json_flag_from_json.py -msgid "" -"Can be worn comfortably by mutants with Tiny or Unassuming. Too small for " -"anyone else." -msgstr "" -"Можно удобно носить мутантам с крошечным или скромным размером тела. Слишком" -" мала для кого-то ещё." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -119692,25 +125127,11 @@ msgstr "" "Это снаряжение понижает уровень производимого шума" " до безопасного уровня." -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the personal aura layer, intended for metaphysical " -"effects." -msgstr "" -"Этот предмет занимает слой личной ауры, предназначенный для " -"сверхъестественных вещей." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your personal aura." msgstr "Это занимает вашу личную ауру." -#: lang/json/json_flag_from_json.py -msgid "" -"Increases warmth for hands if the player's hands are cold and the player is " -"wielding nothing." -msgstr "Согревает руки игрока, если они не заняты." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -119720,19 +125141,6 @@ msgstr "" "Эта одежда с карманами согреет ваши руки, если вы ничего не " "будете в них держать." -#: lang/json/json_flag_from_json.py -msgid "" -"If turned ON, it uses its own source of power, instead of relying on power " -"of the user." -msgstr "" -"Если это включить, то оно будет использовать свой собственный источник " -"энергии, а не энергию пользователя." - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "25% chance to protect against fear_paralyze monster attack." -msgstr "25% шанс защиты против страха_паралича атаки монстра." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear keeps out the mind control rays." @@ -119770,10 +125178,6 @@ msgstr "" msgid "This item can be used to communicate with radio waves." msgstr "Этот предмет можно использовать для общения посредством радиоволн." -#: lang/json/json_flag_from_json.py -msgid "Prevents the covered body-part(s) from getting wet in the rain." -msgstr "Предотвращает намокание покрытых частей тела под дождём." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -119781,19 +125185,6 @@ msgid "" msgstr "" "Этот предмет одежды помогает вам остаться сухим во время дождя." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the player from wielding a weapon two-handed, forcing one-handed " -"use if the weapon permits it." -msgstr "" -"Делает использование двуручного оружия возможным только одной рукой, если " -"оружие это позволяет." - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from participating in the encumbrance system when worn." -msgstr "При ношении предмет не будет считаться в системе скованности." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -119803,26 +125194,6 @@ msgstr "" "Этот предмет частично нематериальный и при ношении может " "занимать одно и то же место с другими предметами." -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sheath of the appropriate size." -msgstr "Этот предмет может быть помещён в чехол подходящего размера." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a scabbard of the appropriate size." -msgstr "Этот предмет может быть помещён в ножны подходящего размера." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sling of the appropriate size." -msgstr "Этот предмет можно хранить на слинге подходящего размера." - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a bag of the appropriate size." -msgstr "Этот предмет может быть помещён в сумку подходящего размера." - -#: lang/json/json_flag_from_json.py -msgid "Undergarment layer." -msgstr "Слой для нижнего белья." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing lies close to the skin." @@ -119850,32 +125221,16 @@ msgstr "" "Этот предмет одежды предназначен для защиты и выдерживает " "много повреждений." -#: lang/json/json_flag_from_json.py -msgid "Prevents glaring when in sunlight." -msgstr "Защищает от бликов солнечного света." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing keeps the glare out of your eyes." msgstr "Этот предмет одежды защищает ваши глаза от бликов." -#: lang/json/json_flag_from_json.py -msgid "" -"Gives an additional moral bonus over FANCY if the player has the Stylish " -"trait." -msgstr "" -"Даёт дополнительный бонус к морали помимо «МОДНОСТИ», если у игрока есть " -"черта «Стильный»." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing is very fancy." msgstr "Этот предмет одежды очень модный." -#: lang/json/json_flag_from_json.py -msgid "Allows you to see much further under water." -msgstr "Позволяет вам видеть дальше под водой." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -119885,45 +125240,21 @@ msgstr "" "Этот предмет одежды позволяет вам видеть под водой " "гораздо дальше обычного." -#: lang/json/json_flag_from_json.py -msgid "" -"This gear is equipped with an accurate thermometer (which is used to measure" -" temperature)." -msgstr "" -"Это снаряжение оснащено точным термометром (измеряет температуру воздуха)." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is equipped with an accurate thermometer." msgstr "Это снаряжение оснащено точным термометром." -#: lang/json/json_flag_from_json.py -msgid "Can be made to fit via tailoring." -msgstr "Может быть подогнано по размеру с помощью шитья." - -#: lang/json/json_flag_from_json.py -msgid "Layer for belts and other things worn on the waist." -msgstr "Слой для ремней и прочих вещей, носимых на поясе." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is worn on or around your waist." msgstr "Это снаряжение носится на талии." -#: lang/json/json_flag_from_json.py -msgid "Acts as a watch and allows the player to see actual time." -msgstr "Выполняет функцию часов и позволяет игроку видеть текущее время." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear allows to see actual time." msgstr "Это снаряжение позволяет узнать точное время." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the covered body-part(s) from getting wet in any circumstance." -msgstr "Предотвращает намокание покрытых частей в любых ситуациях." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -119933,14 +125264,6 @@ msgstr "" "Этот предмет одежды не пропускает воду. До тех пор, пока вы не " "прыгнете в реку или сделаете что-нибудь подобное." -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from making the body part count as unfriendly to water and" -" thus causing negative morale from being wet." -msgstr "" -"Предотвращает намокание части тела и последующую отрицательную мораль за " -"намокание." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -119988,13 +125311,6 @@ msgstr "" "К этому предмету одежды пришита шерстяная подкладка для " "увеличения её теплоты." -#: lang/json/json_flag_from_json.py -msgid "" -"Allows wielding with unarmed fighting styles and trains unarmed when used." -msgstr "" -"Позволяет использовать стили боя без оружия и тренирует безоружный бой при " -"использовании." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -120009,132 +125325,28 @@ msgstr "" msgid "This item contains a nanofabricator recipe." msgstr "В этом предмете есть рецепт для нанофабрикатора." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "This bionic is a faulty bionic." -msgstr "Эта бионика неисправна." - -#: lang/json/json_flag_from_json.py -msgid "This bionic is a power source bionic." -msgstr "Эта бионика является источником энергии." - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic only has a function when activated, else it causes its effect " -"every turn." -msgstr "" -"Эта бионика работает только при активации, иначе она вызывает " -"соответствующий эффект каждый ход." - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a gun bionic and activating it will fire it. Prevents all " -"other activation effects." -msgstr "" -"Это оружейная бионика, при активации из неё можно стрелять. Препятствует " -"любым другим эффектам активации." +msgid "This bionic is faulty." +msgstr "Этот имплант неисправен." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a weapon bionic and activating it will create (or destroy) " -"bionic's fake_item in user's hands. Prevents all other activation effects." -msgstr "" -"Это — бионическое оружие, его активация создаст (или уничтожит) " -"соответствующий этой бионике fake_item в руках персонажа. Препятствует любым" -" другим эффектам активации." +msgid "This bionic provides power." +msgstr "Этот имплант производит энергию." +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This bionic can provide power to powered armor." msgstr "Эта бионика может обеспечивать энергией силовую броню." -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's effects permanent." -msgstr "Делает эффекты заклинания постоянными." - -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's Area of Effect ignore walls." -msgstr "Действующие по области заклинания будут игнорировать стены." - -#: lang/json/json_flag_from_json.py -msgid "You can cast spells with this item in your hand." -msgstr "Вы сможете кастовать заклинания с этой вещью в руке." - -#: lang/json/json_flag_from_json.py -msgid "" -"This makes the spell's summoned monster always hostile. Note that the spell" -" needs to be a summon spell for this to do anything." -msgstr "" -"Это делает вызванного заклинанием монстра всегда враждебным. Заметьте, что " -"заклинание должно быть именно заклинанием вызова для того, чтобы это " -"сработало." - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "" -"This makes the spell's summoned monster hostile 50% of the time. Note that " -"the spell needs to be a summon spell for this to do anything." -msgstr "" -"Это делает вызванного заклинанием монстра враждебным 50% времени. Заметьте," -" что заклинание должно быть именно заклинанием вызова для того, чтобы это " -"сработало." - -#: lang/json/json_flag_from_json.py -msgid "The spell makes no sound at its point of impact." -msgstr "Заклинание не издаёт шума в точке воздействия." - -#: lang/json/json_flag_from_json.py -msgid "This spell is much louder at its point of impact." -msgstr "Заклинание издаёт намного больше шума в точке воздействия." - -#: lang/json/json_flag_from_json.py -msgid "" -"The caster must speak in order to cast the spell. More mouth encumbrannce " -"increases failure percent, and the caster speaks when casting." -msgstr "" -"Маг должен говорить, чтобы применить заклинание. Скованность рта увеличивает" -" шанс провала, и маг говорит во время процесса." - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell requires arm movement to cast. Arm encumbrance affects failure " -"percentage and casting time." -msgstr "" -"Чтение заклинания требует движений рук. Скованность рук увеличивает шанс " -"провала и время чтения." - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell does not require hands in order to cast it. Encumbrance penalties" -" on hands are nullified." -msgstr "" -"Заклинание не требует движений рук для чтения. Штрафы на скованность рук " -"никак на него не влияют." - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell does not require leg movement in order to be cast. All " -"encumbrance penalties for legs are nullified." -msgstr "" -"Заклинание не требует движений ног для чтения. Штрафы на скованность ног " -"никак на него не влияют." - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell requires focus to cast. The lower your focus, the higher failure" -" rate to cast." -msgstr "" -"Заклинание требует фокусировки для чтения. Чем ниже фокус, тем выше шанс " -"провала." - +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" -"Chooses a spell at random to cast from extra_effects. See MAGIC.md for " -"details" +"This food is unappetizing in a way that can't be covered up " +"by most cooking." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "This mutation does not count toward thresholds at all." -msgstr "Эта мутация не идёт в счёт порогов." - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -120575,6 +125787,10 @@ msgstr "След. уровень" msgid "Previous level" msgstr "Пред. уровень" +#: lang/json/keybinding_from_json.py +msgid "Reset level" +msgstr "Перезагрузить уровень" + #: lang/json/keybinding_from_json.py msgid "Undo move" msgstr "Отменить перемещение" @@ -120591,10 +125807,6 @@ msgstr "Переключить флаг" msgid "Toggle lights" msgstr "Переключить свет" -#: lang/json/keybinding_from_json.py -msgid "Reset level" -msgstr "Перезагрузить уровень" - #: lang/json/keybinding_from_json.py msgid "Confirm Choice" msgstr "Подтвердить выбор" @@ -121089,7 +126301,7 @@ msgstr "Осмотреться" #: lang/json/keybinding_from_json.py msgid "Toggle thief mode" -msgstr "" +msgstr "Переключить режим вора" #: lang/json/keybinding_from_json.py msgid "Peek Around Corners" @@ -121299,6 +126511,10 @@ msgstr "Посмотреть температурную карту" msgid "View Visibility Map" msgstr "Посмотреть Карту Видимости" +#: lang/json/keybinding_from_json.py +msgid "View Lighting Map" +msgstr "Посмотреть карту освещения" + #: lang/json/keybinding_from_json.py msgid "View Radiation Map" msgstr "Посмотреть Карту Радиации" @@ -121312,8 +126528,8 @@ msgid "Toggle Fullscreen mode" msgstr "Полноэкранный режим" #: lang/json/keybinding_from_json.py -msgid "Toggle Pixel Minimap" -msgstr "Переключить пиксельную миникарту" +msgid "Toggle Minimap" +msgstr "Переключить миникарту" #: lang/json/keybinding_from_json.py msgid "Toggle Panel Admin" @@ -121669,6 +126885,7 @@ msgstr "Убрать пользовательский цвет" msgid "Load color template" msgstr "Загрузить цветовой шаблон" +#. ~ translation should not exceed 3 console cells #: lang/json/keybinding_from_json.py lang/json/keybinding_from_json.py #: src/editmap.cpp src/editmap.cpp src/editmap.cpp src/veh_interact.cpp msgid "Yes" @@ -121728,6 +126945,10 @@ msgstr "Переключить сигнализацию" msgid "Toggle atomic lights" msgstr "Переключить атомную подсветку" +#: lang/json/keybinding_from_json.py +msgid "Control autopiot" +msgstr "" + #: lang/json/keybinding_from_json.py msgid "Toggle camera system" msgstr "Переключить систему камер" @@ -123015,7 +128236,7 @@ msgstr "название исчезло, но слоган остался: «М #. ~ Computer name #: lang/json/mapgen_from_json.py msgid "EnviroCom OS v2.03 - Basement Access" -msgstr "ОС EnviroCom вер. 2.03 - Доступ в подвал" +msgstr "ОС EnviroCom вер. 2.03 — Доступ в подвал" #. ~ Computer option #: lang/json/mapgen_from_json.py @@ -123586,7 +128807,7 @@ msgstr "" "Вы ощущаете ритм своих движений. Теперь в вас не только сложнее попасть, но и ваши удары намного круче!\n" "\n" "+1 навык Уклонения.\n" -"Активирует техники \"Круговой удар\" и \"Размашистый удар\".\n" +"Активирует техники «Круговой удар» и «Размашистый удар».\n" "Длится 3 хода." #: lang/json/martial_art_from_json.py @@ -123690,7 +128911,7 @@ msgstr "" "Жизнь и бой составляют круг. Атака ведёт за собой блок и ещё одну атаку. Ищите конец этого круга.\n" "\n" "+1 Точность, +2 Дробящий урон.\n" -"Активирует \"Вихревой блок Дракона\" и \"Уклонение драконьего крыла\"\n" +"Активирует «Вихревой блок Дракона» и «Уклонение драконьего крыла»\n" "Длится 1 ход." #: lang/json/martial_art_from_json.py @@ -123994,7 +129215,7 @@ msgstr "" "Вы гордо крадётесь в тенях и готовитесь прыгнуть с безжалостной яростью.\n" "\n" "+2 точности.\n" -"Активирует \"Прыжок леопарда\".\n" +"Активирует «Прыжок леопарда».\n" "Длится 1 ход." #: lang/json/martial_art_from_json.py @@ -124080,7 +129301,7 @@ msgid "" "\n" "Blocked damage decreased by 50%% of Strength." msgstr "" -"В Муай Тай сила - это всё, и вы знаете, как ею пользоваться.\n" +"В Муай Тай сила — это всё, и вы знаете, как ею пользоваться.\n" "\n" "Блокируемый урон снижается на 50%% Силы." @@ -124096,7 +129317,7 @@ msgid "" " silent and does extra damage if on the first attack. It also provides " "small combat bonuses every time you move." msgstr "" -"Ниндзюцу - боевое искусство и тактические приёмы ниндзя феодальной Японии. " +"Ниндзюцу — боевое искусство и тактические приёмы ниндзя феодальной Японии. " "Стиль направлен на точные тихие атаки. Стиль ниндзюцу почти бесшумен и " "наносит дополнительный урон при первой атаке. Также каждый раз при " "передвижении добавляются небольшие боевые бонусы." @@ -124128,7 +129349,7 @@ msgid "" "\n" "+50%% all damage." msgstr "" -"У настоящего синоби первый и последний удар - одно и то же.\n" +"У настоящего синоби первый и последний удар — одно и то же.\n" "\n" "+50%% ко всему урону." @@ -124191,7 +129412,7 @@ msgstr "" #: lang/json/martial_art_from_json.py msgid "Waning Moon" -msgstr "Убывающая Луна" +msgstr "Убывающая луна" #. ~ Description of buff 'Waning Moon' for martial art 'Niten Ichi-Ryu' #: lang/json/martial_art_from_json.py @@ -124228,7 +129449,7 @@ msgstr "" "Тёмной облачной ночью\n" "Как взойдёт Луна\n" "\n" -"Активирует \"Рассчитанный удар\".\n" +"Активирует «Рассчитанный удар».\n" "Длится 1 ход." #: lang/json/martial_art_from_json.py @@ -124273,85 +129494,9 @@ msgid "" "Lasts 1 turn." msgstr "" "Вы обнаружили брешь в обороне врага.\n" -"+10%% дробящего урона. Активирует \"Ближний бой\".\n" +"+10%% дробящего урона. Активирует «Ближний бой».\n" "Длится 1 ход." -#: lang/json/martial_art_from_json.py -msgid "Tai Chi" -msgstr "Тайцзи-цюань" - -#. ~ Description for martial art 'Tai Chi' -#: lang/json/martial_art_from_json.py -msgid "" -"Though Tai Chi is often seen as a form of mental and physical exercise, it " -"is a legitimate martial art, focused on self-defense. Its ability to absorb" -" the force of an attack makes your Perception decrease damage further on a " -"block." -msgstr "" -"Несмотря на то, что тайцзи часто рассматривается как вид ментального и " -"физического упражнения, он также является полноправным боевым искусством для" -" самозащиты. Ваше Восприятие понижает получаемый урон во время блока." - -#. ~ Description of buff for martial art 'Tai Chi' -#: lang/json/martial_art_from_json.py -msgid "+1 Block. Perception decreases damage when blocking." -msgstr "+1 блок. Восприятие уменьшает урон при блоке." - -#: lang/json/martial_art_from_json.py -msgid "Taekwondo" -msgstr "Тхэквондо" - -#. ~ Description for martial art 'Taekwondo' -#: lang/json/martial_art_from_json.py -msgid "" -"Taekwondo is the national sport of Korea, and was used by the South Korean " -"army in the 20th century. Focused on kicks and so it does not benefit from " -"wielded weapons. It also includes strength training; your blocks absorb " -"extra damage the stronger you are." -msgstr "" -"Тхэквондо — это национальный корейский вид спорта, он использовался в армии " -"Южной Кореи в 20-ом веке. Фокусируется на ударах ногами, поэтому не получает" -" никаких преимуществ от использования любых видов оружия. Также включает " -"силовые тренировки. Чем вы сильнее, тем больше ваши блоки поглощают " -"повреждений." - -#. ~ Description of buff for martial art 'Taekwondo' -#: lang/json/martial_art_from_json.py -msgid "Strength decreases damage when blocking." -msgstr "Сила уменьшает урон при блоке." - -#: lang/json/martial_art_from_json.py -msgid "Zui Quan" -msgstr "Цзуй-цюань" - -#. ~ Description for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "" -"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" -" the enemy, giving you a passive dodge bonus based on your intelligence. " -"The turn after you attack, you may dodge any number of attacks with no " -"penalty, and successfully dodging an attack gives you bonus damage and to-" -"hit based on your intelligence." -msgstr "" -"Цзуй-цюань, известный как «пьяный мастер», даёт пассивный бонус к увороту, " -"зависящий от уровня вашего интеллекта. В течение хода после вашей атаки, вы " -"можете увернуться от любого количества ударов без штрафов, и успешное " -"уклонение даст вам бонус к урону и меткости в зависимости от интеллекта." - -#. ~ Description of buff for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "Intelligence increases dodging ability" -msgstr "Интеллект увеличивает уклонение" - -#: lang/json/martial_art_from_json.py -msgid "Counter Strike" -msgstr "Контратака" - -#. ~ Description of buff 'Counter Strike' for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "Extra damage and to-hit after successful dodge" -msgstr "Дополнительные урон и шанс на попадание после успешного уворачивания" - #: lang/json/martial_art_from_json.py msgid "Silat" msgstr "Силат" @@ -124373,129 +129518,261 @@ msgstr "Стойка Силат" #. ~ Description of buff 'Silat Stance' for martial art 'Silat' #: lang/json/martial_art_from_json.py -msgid "+1 dodge" -msgstr "+1 к уклонению" +msgid "" +"You try to stay loose as possible when fighting to have more chances to dodge.\n" +"\n" +"+1 Dodge attempts." +msgstr "" +"В бою вы стоите максимально спокойно, чтобы успеть уклониться.\n" +"\n" +"+1 попытка уклонения." #: lang/json/martial_art_from_json.py -msgid "Silat Counter" -msgstr "Контратака Силата" +msgid "Silat Evasion" +msgstr "Уклонение Силат" -#. ~ Description of buff 'Silat Counter' for martial art 'Silat' +#. ~ Description of buff 'Silat Evasion' for martial art 'Silat' #: lang/json/martial_art_from_json.py -msgid "Extra to-hit after successful dodge" -msgstr "Увеличенный шанс на попадание после успешного уворачивания" +msgid "" +"You stay low as you move, making it harder for enemies to pin you down.\n" +"\n" +"+1 Dodge attempts.\n" +"Lasts 2 turn." +msgstr "" +"Вы пригибаетесь в движении, так что противникам непросто вас достать.\n" +"\n" +"+1 попытка Уклонения.\n" +"Длится 2 хода." #: lang/json/martial_art_from_json.py -msgid "Tiger Kung Fu" -msgstr "Стиль тигра" +msgid "Silat Appraisal" +msgstr "Суждение Силат" -#. ~ Description for martial art 'Tiger Kung Fu' +#. ~ Description of buff 'Silat Appraisal' for martial art 'Silat' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"One of the five Shaolin animal styles. The Tiger focuses on relentless " -"attacks above all else. Your Strength determines your accuracy, and your " -"attacks do increasing damage as you continue attacking." +"Each time you dodge an attack, you learn a bit more about your opponents' fighting style. This allows you to make more precise attacks against them.\n" +"\n" +"Accuracy increased by 15%% of Dexterirty.\n" +"Lasts 2 turns. Stacks 3 times." msgstr "" -"Один из пяти животных стилей Шаолиня. Стиль тигра использует тактику " -"непрерывных ударов. Сила определяет точность ударов, и урон от ваших атак " -"растёт, если вы продолжаете наносить удары." +"Каждое уклонение позволяет вам лучше понять боевой стиль противника и атаковать с высокой точностью.\n" +"\n" +"Точность повышается на 15%% Ловкости.\n" +"Длится 2 хода. Складывается 3 раза." #: lang/json/martial_art_from_json.py -msgid "Tiger Fury" -msgstr "Ярость тигра" +msgid "Snake Kung Fu" +msgstr "Стиль змеи" -#. ~ Description of buff 'Tiger Fury' for martial art 'Tiger Kung Fu' +#. ~ Description for martial art 'Snake Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+3 Bash/atk" -msgstr "+3 Удар/атака" +msgid "" +"One of the five Shaolin animal styles. The Snake focuses on sinuous " +"movement and precision strikes. Perception determines your Accuracy, rather" +" than Dexterity. Standing still will increases your accuracy and damage of " +"your next attack." +msgstr "" +"Один из пяти животных стилей Шаолиня. В стиле Змеи преобладают струящиеся " +"шаги и точные удары. Восприятие увеличивает точность вместо Ловкости. Если " +"вы стоите на месте, у следующей вашей атаки будут повышенная точность и " +"урон." #: lang/json/martial_art_from_json.py -msgid "Tiger Strength" -msgstr "Сила тигра" +msgid "Snake's Sight" +msgstr "Змеиное зрение" -#. ~ Description of buff 'Tiger Strength' for martial art 'Tiger Kung Fu' +#. ~ Description of buff 'Snake's Sight' for martial art 'Snake Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Strength provides additional damage bonus." -msgstr "Сила даёт дополнительный бонус к урону." +#, no-python-format +msgid "" +"You are patient and know where to hit your opponent for the best results.\n" +"\n" +"Perception increases Accuracy instead of Dexterity. Accuracy increased by 25%% of Perception but decreased by 25%% of Dexterity." +msgstr "" +"Вы умеете ждать и понимаете, куда лучше всего поразить противника.\n" +"\n" +"Восприятие повышает точность вместо Ловкости. Точность повышается на 25%% Восприятия, но снижается на 25%% Ловкости." #: lang/json/martial_art_from_json.py -msgid "Snake Kung Fu" -msgstr "Стиль змеи" +msgid "Sōjutsu" +msgstr "Содзюцу" -#. ~ Description for martial art 'Snake Kung Fu' +#. ~ Description for martial art 'Sōjutsu' #: lang/json/martial_art_from_json.py msgid "" -"One of the five Shaolin animal styles. The Snake focuses on sinuous " -"movement and precision strikes. Your Perception improves your damage." +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat. Standing still gives you an extra block " +"attempt but moving will briefly increase your damage." msgstr "" -"Один из животных стилей Шаолиня. Стиль змеи использует извилистые движения и" -" точные удары. Восприятие увеличивает наносимый урон." +"Содзюцу, или «Путь копья» — японское боевое искусство сражения с копьём. " +"Содзюцу делает упор на сохранении дистанции с противником для получения " +"преимущества над ним. Стоя на месте, вы лучше защищаетесь, но движение на " +"короткое время увеличивает ваш урон." #: lang/json/martial_art_from_json.py -msgid "Snake Sight" -msgstr "Змеиное зрение" +msgid "Sōjutsu Stance" +msgstr "Стойка содзюцу" -#. ~ Description of buff 'Snake Sight' for martial art 'Snake Kung Fu' +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' #: lang/json/martial_art_from_json.py -msgid "Perception provides a bonus to damage." -msgstr "Восприятие даёт дополнительный бонус к урону." +msgid "" +"Your training grants better defense while using a polearm.\n" +"\n" +"+1 Block attempt." +msgstr "" +"Тренировка улучшает вашу защиту при использовании древкового оружия.\n" +"\n" +"+1 Попытка блока." #: lang/json/martial_art_from_json.py -msgid "Debug Mastery" -msgstr "Мастерство отладки" +msgid "Superior Positioning" +msgstr "Превосходное позиционирование" -#. ~ Description for martial art 'Debug Mastery' +#. ~ Description of buff 'Superior Positioning' for martial art 'Sōjutsu' #: lang/json/martial_art_from_json.py -msgid "A secret martial art used only by developers and cheaters." +#, no-python-format +msgid "" +"You have given up your defenses for a moment to increase the damage of your attacks.\n" +"\n" +"+10%% damage, -1 Block attempts.\n" +"Lasts 1 turn." msgstr "" -"Секретное боевое искусство, которым пользуются только разработчики и читеры." +"Вы на мгновение отказались защиты, чтобы увеличить урон атак.\n" +"\n" +"+10%% урона, -1 попытка блока.\n" +"Длится 1 ход." #: lang/json/martial_art_from_json.py -msgid "Elemental resistance" -msgstr "Сопротивление стихиям" +msgid "Taekwondo" +msgstr "Тхэквондо" -#. ~ Description of buff 'Elemental resistance' for martial art 'Debug -#. Mastery' +#. ~ Description for martial art 'Taekwondo' #: lang/json/martial_art_from_json.py msgid "" -"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " -"armor, +Perception fire armor." +"Taekwondo is the national sport of Korea, and was used by the South Korean " +"army in the 20th century. Focused on kicks and so it does not benefit from " +"wielded weapons. It also includes strength training; your blocks absorb " +"extra damage and your attacks do more damage if you are not holding " +"anything." msgstr "" -"+Сила дробящая броня, +Ловкость кислотная броня, +Интеллект электрическая " -"броня, +Восприятие огненная броня." +"Тхэквондо — это национальный корейский вид спорта, он использовался в армии " +"Южной Кореи в 20-ом веке. Фокусируется на ударах ногами, поэтому не получает" +" никаких преимуществ от использования любых видов оружия. Также включает " +"силовые тренировки. Чем вы сильнее, тем больше урона можете заблокировать, а" +" ваши атаки наносят больше урона, если вы ничего не держите." #: lang/json/martial_art_from_json.py -msgid "Sōjutsu" -msgstr "Сёдзюцу" +msgid "Taekwondo Stance" +msgstr "" -#. ~ Description for martial art 'Sōjutsu' +#. ~ Description of buff 'Taekwondo Stance' for martial art 'Taekwondo' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " -"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " -"to maintain advantage in combat." +"Using your legs to attack allows your hands to be free for better defense.\n" +"\n" +"Blocked damage decreased by 50%% of Strength." msgstr "" -"Содзюцу, или «Путь копья» — японское боевое искусство сражения с копьём. " -"Содзюцу делает упор на сохранении дистанции с противником для получения " -"преимущества над ним." #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Stance" -msgstr "Стойка содзюцу" +msgid "Unhindered" +msgstr "" + +#. ~ Description of buff 'Unhindered' for martial art 'Taekwondo' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Your attacks are stronger if you are not holding anything in your hands.\n" +"\n" +"+33%% bash damage when not using a weapon." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Tai Chi" +msgstr "Тайцзи-цюань" + +#. ~ Description for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +msgid "" +"Though Tai Chi is often seen as a form of mental and physical exercise, it " +"is a legitimate martial art, focused on self-defense. Its ability to absorb" +" the force of an attack makes your Perception decrease damage further on a " +"block. Pausing for a moment enables powerful palm strike techniques." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Tai Chi Stance" +msgstr "Стойка Тайцзи" + +#. ~ Description of buff 'Tai Chi Stance' for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You are focused of defense and predicting your opponents attacks.\n" +"\n" +"+1 Block attempts, blocked damage reduced by 100%% Perception." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Repulse the Monkey" +msgstr "" + +#. ~ Description of buff 'Repulse the Monkey' for martial art 'Tai Chi' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"By perfectly positioning yourself and your opponent, you have become more accurate and can bypass your opponent's defenses.\n" +"\n" +"Accuracy increased by 20%% of Perception, gain bash Armor Pentration equal to 50%% of Perception.\n" +"Lasts 2 turns." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Tiger Kung Fu" +msgstr "Стиль тигра" + +#. ~ Description for martial art 'Tiger Kung Fu' +#: lang/json/martial_art_from_json.py +msgid "" +"One of the five Shaolin animal styles. The Tiger focuses on relentless " +"attacks above all else. Your Strength determines your accuracy, and your " +"attacks do increasing damage as you continue attacking." +msgstr "" +"Один из пяти животных стилей Шаолиня. Стиль тигра использует тактику " +"непрерывных ударов. Сила определяет точность ударов, и урон от ваших атак " +"растёт, если вы продолжаете наносить удары." -#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' #: lang/json/martial_art_from_json.py -msgid "Bonus block with reach weapons while standing still" -msgstr "Бонус к блоку длинными видами оружия, если стоять на одном месте" +msgid "Tiger Fury" +msgstr "Ярость тигра" +#. ~ Description of buff 'Tiger Fury' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Rush" -msgstr "Рывок содзюцу" +#, no-python-format +msgid "" +"You attack with an endless barrage of strikes. The more you hit, the stronger you become.\n" +"\n" +"+10%% damage.\n" +"Lasts 3 turns. Stacks 4 times." +msgstr "" -#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' #: lang/json/martial_art_from_json.py -msgid "Increased damage when moving but no bonus block" -msgstr "Увеличенный урон во время движения, но без дополнительного блока" +msgid "Tiger's Strength" +msgstr "" + +#. ~ Description of buff 'Tiger's Strength' for martial art 'Tiger Kung Fu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You do not need defense. You do not need a plan. You need strength. Strength will break your opponents' defenses and overwhelm them completely.\n" +"\n" +"Strength increases Accuracy instead of Dexterity.\n" +"\n" +"Accuracy increased by 25%% of Strength but decreased by 25%% of Dexterity." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Wing Chun" @@ -124516,14 +129793,123 @@ msgstr "" "делает упор на ощущение направления силы противника и обтекания его для " "дальнейшего удара." +#: lang/json/martial_art_from_json.py +msgid "Chain Punch" +msgstr "Цепь ударов" + +#. ~ Description of buff 'Chain Punch' for martial art 'Wing Chun' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Your punches are properly timed to give your opponent no rest from your strikes.\n" +"\n" +"-10%% move cost.\n" +"Lasts 1 turn. Stacks 3 times." +msgstr "" + #: lang/json/martial_art_from_json.py msgid "Chi-Sao Sensitivity" msgstr "Чутьё Чи-Сао" #. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "Perception increases dodging ability, +1 dodges per turn" -msgstr "Восприятие увеличивает уклонение, +1 уклонение за ход" +#, no-python-format +msgid "" +"You have a greater understanding of balance and technique. This gives you a better chance to avoid your opponent's attacks.\n" +"\n" +" Dodging Skill increased by 15%% of Perception. Blocked damage reduced by 50%% of Perception." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Zui Quan" +msgstr "Цзуй-цюань" + +#. ~ Description for martial art 'Zui Quan' +#: lang/json/martial_art_from_json.py +msgid "" +"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" +" the enemy. You gain a passive dodge bonus and accuracy bonus based on your" +" intelligence. Moving gives you additional dodge attempts and each time you" +" dodge, you inflict more damage with your counterattack for until the end of" +" your next turn." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Zui Quan Stance" +msgstr "" + +#. ~ Description of buff 'Zui Quan Stance' for martial art 'Zui Quan' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Others might think you stumble about at random but you know better. Each movement is calculated to make evading harm easier.\n" +"\n" +"Dodging Skill increased by 15%% of Intelligence." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Advanced Zui Quan" +msgstr "" + +#. ~ Description of buff 'Advanced Zui Quan' for martial art 'Zui Quan' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You have a greater understanding of Zui Quan. Your skills at dodging and landing attacks are much better as a result.\n" +"\n" +"+1 Dodge attempts, Accuracy increased by 15%% of Intelligence." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Drunken Stumble" +msgstr "" + +#. ~ Description of buff 'Drunken Stumble' for martial art 'Zui Quan' +#: lang/json/martial_art_from_json.py +msgid "" +"With a few quick steps, you can completely change your orientation and dodge additional attacks.\n" +"\n" +"+2 Dodge attempts.\n" +"Lasts 3 turns." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Drunken Dodging" +msgstr "" + +#. ~ Description of buff 'Drunken Dodging' for martial art 'Zui Quan' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Each time you dodge, your positional advantage increases against your opponents. This makes your attacks hit harder with each successful dodge.\n" +"\n" +"Gain Armor Penetration equal to 25%% of Intelligence.\n" +"Lasts 1 turn. Stacks 4 times." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Debug Mastery" +msgstr "Мастерство отладки" + +#. ~ Description for martial art 'Debug Mastery' +#: lang/json/martial_art_from_json.py +msgid "A secret martial art used only by developers and cheaters." +msgstr "" +"Секретное боевое искусство, которым пользуются только разработчики и читеры." + +#: lang/json/martial_art_from_json.py +msgid "Elemental resistance" +msgstr "Сопротивление стихиям" + +#. ~ Description of buff 'Elemental resistance' for martial art 'Debug +#. Mastery' +#: lang/json/martial_art_from_json.py +msgid "" +"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " +"armor, +Perception fire armor." +msgstr "" +"+Сила дробящая броня, +Ловкость кислотная броня, +Интеллект электрическая " +"броня, +Восприятие огненная броня." #: lang/json/martial_art_from_json.py msgid "Bionic Combatives" @@ -124589,7 +129975,7 @@ msgid "" "-4 move cost.\n" "Lasts 3 turns. Stacks 4 times." msgstr "" -"Ваши атаки - это размытое пятно рук и ног, ускоряющихся всё быстрее, пока вы без устали бьёте ваших врагов.\n" +"Ваши атаки — это размытое пятно рук и ног, ускоряющихся всё быстрее, пока вы без устали бьёте ваших врагов.\n" "\n" "-4 стоимость движения.\n" "Длится 3 хода. Складывается 4 раза." @@ -124623,7 +130009,7 @@ msgid "" "+2 bash damage.\n" "Lasts 4 turns." msgstr "" -"Ваш яд - это растянутая боль, которую противник никогда не забудет.\n" +"Ваш яд — это растянутая боль, которую противник никогда не забудет.\n" "\n" "+2 дробящего урона.\n" "Длится 4 хода." @@ -124643,7 +130029,7 @@ msgstr "" "При помощи лёгких скольжений, отскоков или отталкиваний от ближайшей стены вы избегаете худших атак ваших противников.\n" "\n" "+3.0 к навыку Уклонения поблизости от стены.\n" -"Активирует приёмы \"Хвост ящерицы\" и \"Контрудар ящерицы\" рядом со стеной." +"Активирует приёмы «Хвост ящерицы» и «Контрудар ящерицы» рядом со стеной." #: lang/json/martial_art_from_json.py msgid "Lizard's Leap" @@ -124674,10 +130060,10 @@ msgid "" "enables a stunning pincer attack. Critical hits do massive damage and knock" " your opponent back along with anyone your opponent comes in contact with." msgstr "" -"Один из Пяти Смертельных Ядов, им владел Гао Цзи. Стиль Скорпиона - " +"Один из Пяти Смертельных Ядов, им владел Гао Цзи. Стиль Скорпиона — " "загадочное искусство, отличающееся сложенными в клешни кистями и ударом " "ногой как жалом. Движение активирует оглушающую атаку клешнями. Критические " -"удары наносят огромный урон и отбрасывают противника назад - как и всё, с " +"удары наносят огромный урон и отбрасывают противника назад — как и всё, с " "чем противник столкнётся." #: lang/json/martial_art_from_json.py @@ -124691,7 +130077,7 @@ msgid "" "\n" "+2 bashing damage." msgstr "" -"Ваш яд - неминуемая угроза, от которой никому не скрыться.\n" +"Ваш яд — неминуемая угроза, от которой никому не скрыться.\n" "\n" "+2 дробящего урона." @@ -124713,7 +130099,7 @@ msgstr "" "Вперёд, хватай свою жертву!\n" "\n" "+10% урона.\n" -"Активирует технику \"Удар клешнями\".\n" +"Активирует технику «Удар клешнями».\n" "Складывается 2 раза. Длится 2 хода." #: lang/json/martial_art_from_json.py @@ -124723,13 +130109,11 @@ msgstr "Стиль жабы" #. ~ Description for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"One of the Five Deadly Venoms. Masters of Toad Style can focus themselves " -"against all attacks. You can meditate by pausing, giving you armor, though " -"you will lose focus when you move." +"One of the Five Deadly Venoms, used by Liang Shen. Masters of Toad Style " +"can focus themselves to protect against all attacks. You have powerful " +"armor against physical attacks, though you will lose focus when you move. " +"You can meditate by pausing, giving yourself more armor for a short time." msgstr "" -"Один из Пяти Смертельных Ядов. Мастера стиля Жабы могут сосредоточиться и " -"противостоять всем атакам. Вы можете медитировать в ожидании, увеличивая " -"свою броню, но при этом вы будете терять фокус при движении." #: lang/json/martial_art_from_json.py msgid "Toad's Iron Skin" @@ -124737,8 +130121,11 @@ msgstr "Железная кожа жабы" #. ~ Description of buff 'Toad's Iron Skin' for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Gain up to +6 armor while standing still" -msgstr "Прибавка +6 к броне, если стоять на месте" +msgid "" +"Your body is as strong as iron but only if you don't move.\n" +"\n" +"+6 bash, cut, and stab armor." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Iron Skin Dissipation" @@ -124747,8 +130134,12 @@ msgstr "Размягчение железной кожи" #. ~ Description of buff 'Iron Skin Dissipation' for martial art 'Toad Kung #. Fu' #: lang/json/martial_art_from_json.py -msgid "Iron Skin softens when you move!" -msgstr "Железная кожа размягчается, когда вы двигаетесь!" +msgid "" +"Moving causes you to lose your iron skin.\n" +"\n" +"-1 bash, cut, and stab armor.\n" +"Lasts 6 turns. Stacks 6 times." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Viper Kung Fu" @@ -124757,40 +130148,49 @@ msgstr "Стиль гадюки" #. ~ Description for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"A legacy of the Five Deadly Venoms. Viper Style has a unique three-part " -"combo, which initiates on a dodge, then counters with a stunning chop and " -"the legendary Viper Strike." +"A legacy of the Five Deadly Venoms, use by Qi Dong. Viper Style (originally" +" called Snake Style) has a unique three-part combo, which initiates on a " +"dodge, then follows up with a stunning Viper Bite and then finishes with the" +" legendary Viper Strike." msgstr "" -"Один из пяти «смертельных ядов». Стиль Гадюки имеет уникальную комбинацию из" -" трёх действий: сначала уворот, потом контратакующий оглушающий удар и, " -"наконец, легендарный удар Гадюки." #: lang/json/martial_art_from_json.py -msgid "Viper Lock" -msgstr "Залом гадюки" +msgid "Viper's Patience" +msgstr "" -#. ~ Description of buff 'Viper Lock' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Patience' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You bit true! Your next attack will be the Viper Strike!" -msgstr "Укус прошёл! Ваша следующая атака будет ударом гадюки!" +msgid "" +"Every snake waits for the perfect moment to strike. Turn your opponents' mistakes into your opportunity to strike!\n" +"\n" +"+1.0 Dodge skill." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Patience" -msgstr "Терпенье гадюки" +msgid "Viper's Ambush" +msgstr "Ловушка гадюки" -#. ~ Description of buff 'Viper Patience' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Ambush' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+2 Dodge. Dodging an attack initiates a combo." -msgstr "+2 к уклонению. Уклонение от атаки вызывает комбо-атаку." +msgid "" +"Your evasiveness has left your opponent wide open to painful bite.\n" +"\n" +"Enables \"Viper Bite\" technique.\n" +"Lasts 1 turn." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Ambush" -msgstr "Ловушка гадюки" +msgid "Viper's Venom" +msgstr "Яд гадюки" -#. ~ Description of buff 'Viper Ambush' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Venom' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You've lured 'em in! Your next attack will be a Viper Bite." -msgstr "Вы заманили их! Ваша следующая атака будет укусом гадюки." +msgid "" +"Your venom is a harsh reminder to never tease a predator.\n" +"\n" +"+2 bash damage.\n" +"Lasts 3 turn." +msgstr "" #: lang/json/martial_art_from_json.py msgid "C.R.I.T Blade-work" @@ -124911,8 +130311,8 @@ msgid "" "Panzer Kunst or \"Armor Art\" is a futuristic martial art devised for " "cyborgs fighting in zero-gravity environments." msgstr "" -"Panzer Kunst, или \"Броневое искусство\" - футуристичное боевое искусство " -"для сражений киборгов в условиях невесомости." +"Panzer Kunst, или «Броневое искусство» — футуристичное боевое искусство для " +"сражений киборгов в условиях невесомости." #: lang/json/martial_art_from_json.py msgid "Schatten Folgen" @@ -124927,7 +130327,7 @@ msgid "" "\n" "+1 Dodge attemps, Dodge Skill increased by 12%% of Perception." msgstr "" -"\"Поиск теней\"\n" +"«Поиск теней»\n" "Вы обучены находиться в слепой зоне вашей цели.\n" "\n" "+1 попытка Уклонения, навык Уклонения повышается на 12%% Восприятия." @@ -124944,11 +130344,15 @@ msgid "" "+5 bash Armor Penetration.\n" "Lasts 2 turns." msgstr "" -"\"Пробивание брони\"\n" +"«Пробивание брони»\n" "Вы входите в ритм со своим противником и можете ударить в самое слабозащищённое место.\n" "+5 дробящего пробития брони.\n" "Длится 2 хода." +#: lang/json/martial_art_from_json.py +msgid "Sojutsu" +msgstr "Содзюцу" + #: lang/json/material_from_json.py src/bionics.cpp msgid "Alcohol" msgstr "алкоголь" @@ -125190,6 +130594,10 @@ msgstr "свинец" msgid "Leather" msgstr "кожа" +#: lang/json/material_from_json.py +msgid "Lycra" +msgstr "Лайкра" + #: lang/json/material_from_json.py msgid "Dairy" msgstr "молочное" @@ -125250,6 +130658,14 @@ msgstr "камень" msgid "Superalloy" msgstr "суперсплав" +#: lang/json/material_from_json.py +msgid "layered carbide" +msgstr "слоистый карбид" + +#: lang/json/material_from_json.py +msgid "Synthetic Fabric" +msgstr "Синтетическая Ткань" + #: lang/json/material_from_json.py msgid "Tin" msgstr "Олово" @@ -125360,6 +130776,10 @@ msgstr "Резина" msgid "Arcane Skin" msgstr "Загадочная кожа" +#: lang/json/material_from_json.py +msgid "Orichalcum" +msgstr "" + #: lang/json/material_from_json.py msgid "Demon Chitin" msgstr "Демонический Хитин" @@ -125369,7 +130789,7 @@ msgid "Sugar" msgstr "сахар" #: lang/json/mission_def_from_json.py -msgid "Gather bones for the Brigitte. About 8 should do it." +msgid "Gather bones for the Brigitte. About 8 should do it." msgstr "Собрать кости для Бриджит. 8 должно хватить." #: lang/json/mission_def_from_json.py @@ -125426,48 +130846,6 @@ msgstr "Ты говоришь, но песня поёт иначе." msgid "Then you shall try again, until you hear." msgstr "Тогда попытайся снова, пока не услышишь." -#: lang/json/mission_def_from_json.py -msgid "Find a Book" -msgstr "Найти книгу" - -#: lang/json/mission_def_from_json.py -msgid "Wanna help me out?" -msgstr "Хочешь помочь мне?" - -#: lang/json/mission_def_from_json.py -msgid "Get me a book." -msgstr "Достань мне книгу." - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: lang/json/talk_topic_from_json.py -msgid "Thanks." -msgstr "Спасибо." - -#: lang/json/mission_def_from_json.py -msgid "Well, I'll find someone else to do it for me." -msgstr "Ну, тогда я найду кого-нибудь другого, кто сделает это для меня." - -#: lang/json/mission_def_from_json.py -msgid "Try a library." -msgstr "Поищи в библиотеке." - -#: lang/json/mission_def_from_json.py -msgid "Got that book for me?" -msgstr "Достал эту книгу для меня?" - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: src/npctalk.cpp -msgid "Thanks!" -msgstr "Спасибо!" - -#: lang/json/mission_def_from_json.py -msgid "OK, then hand it over." -msgstr "Хорошо, теперь давай её сюда." - -#: lang/json/mission_def_from_json.py -msgid "Shit happens." -msgstr "Дерьму не миновать." - #: lang/json/mission_def_from_json.py msgid "Follow Sarcophagus Team" msgstr "Проследить за командой Саркофага" @@ -125985,7 +131363,7 @@ msgstr "" "Не хочу тебя расстраивать, но я, скорее всего, не смогу ничего сделать с " "бухгалтерией. Но у меня есть одно решение: в книге описана ячейка в сейфе на" " имя регионального менеджера. И угадай что? Этот тупой неудачник написал там" -" свой код. Пошли со мной, вскроем ячейку и ты сможешь забрать оттуда всё, " +" свой код. Пошли со мной, вскроем ячейку, и ты сможешь забрать оттуда всё, " "что я не могу использовать как обвинения против этих ублюдков." #: lang/json/mission_def_from_json.py @@ -126493,10 +131871,6 @@ msgstr "Серьёзно… Это очень плохо." msgid "Null mission" msgstr "Несуществующая миссия" -#: lang/json/mission_def_from_json.py -msgid "YOU SHOULDN'T BE SEEING THIS, THIS IS A BUG" -msgstr "ВЫ НЕ ДОЛЖНЫ ЭТО ВИДЕТЬ, ЭТО БАГ." - #: lang/json/mission_def_from_json.py msgid "Reach Farm House" msgstr "Добраться до фермы" @@ -126760,6 +132134,14 @@ msgstr "Принёс фото? Оно должно быть в моём оруж msgid "Thanks! I'll be sure to put in a good word for you around town." msgstr "Спасибо! Я обязательно всем расскажу о том, как ты мне помог." +#: lang/json/mission_def_from_json.py +msgid "OK, then hand it over." +msgstr "Хорошо, теперь давай её сюда." + +#: lang/json/mission_def_from_json.py +msgid "Shit happens." +msgstr "Дерьму не миновать." + #: lang/json/mission_def_from_json.py msgid "Find Antibiotics Before You Die!" msgstr "Найдите антибиотики, пока вы не умерли!" @@ -126828,12 +132210,12 @@ msgid "" "Prove you're a survivor by surviving for 10 days after the cataclysm, and " "then returning to the person who gave you this mission." msgstr "" -"Докажите, что вы выживальщик - проживите 10 дней в постапокалипсисе и " +"Докажите, что вы выживальщик — проживите 10 дней в постапокалипсисе и " "вернитесь к тому, кто дал вам это задание." #: lang/json/mission_def_from_json.py msgid "It's hard to tell who actually has the skills to survive these days..." -msgstr "Нынче сложно сказать, кто действительно способен выживать..." +msgstr "Нынче сложно сказать, кто действительно способен выживать…" #: lang/json/mission_def_from_json.py msgid "" @@ -126858,16 +132240,16 @@ msgid "" "I'll see you then...or I won't, and then I'll know I made the right " "decision." msgstr "" -"Тогда увидимся... Или не увидимся, и тогда я пойму, что всё было правильно." +"Тогда увидимся… Или не увидимся, и тогда я пойму, что всё было правильно." #: lang/json/mission_def_from_json.py msgid "" "Don't die. If you're asking me for advice, that doesn't bode well for you." -msgstr "Не умирай. Спрашивать у меня совета - это не в твою пользу." +msgstr "Не умирай. Спрашивать у меня совета — это не в твою пользу." #: lang/json/mission_def_from_json.py msgid "Well, you're not dead...yet." -msgstr "Ну, ты пока не мёртв... пока." +msgstr "Ну, ты пока не мёртв… пока." #: lang/json/mission_def_from_json.py msgid "" @@ -127003,11 +132385,11 @@ msgstr "" #: lang/json/mission_def_from_json.py msgid "I don't feel saved..." -msgstr "Не думаю, что я спасён..." +msgstr "Не думаю, что я спасён…" #: lang/json/mission_def_from_json.py msgid "Tell my family that I love them..." -msgstr "Передай моей семье, что я люблю их..." +msgstr "Передай моей семье, что я люблю их…" #: lang/json/mission_def_from_json.py msgid "Find an anvil" @@ -127094,7 +132476,7 @@ msgstr "" #: lang/json/mission_def_from_json.py msgid "I hope he didn't meet Barry's fate..." -msgstr "Я надеюсь, с ним не случится то же, что с Барри..." +msgstr "Я надеюсь, с ним не случится то же, что с Барри…" #: lang/json/mission_def_from_json.py msgid "Free Barry from the mysterious structure" @@ -127145,7 +132527,7 @@ msgstr "" #: lang/json/mission_def_from_json.py msgid "Well it was here..." -msgstr "Что ж, оно было там..." +msgstr "Что ж, оно было там…" #: lang/json/mission_def_from_json.py msgid "Gather 50 dandelions" @@ -127182,7 +132564,7 @@ msgstr "" #: lang/json/mission_def_from_json.py msgid "I wonder if the wildlife ate all the greens..." -msgstr "Наверно, звери съели все растения..." +msgstr "Наверно, звери съели все растения…" #: lang/json/mission_def_from_json.py msgid "Find 20 bee balm seeds" @@ -127210,7 +132592,7 @@ msgid "" "You should search through the forest, make sure to check in the underbrush " "for beebalm and then harvest its seeds." msgstr "" -"Поищи в лесу, проверяй кустики, а как найдёшь монарду - собирай семена." +"Поищи в лесу, проверяй кустики, а как найдёшь монарду — собирай семена." #: lang/json/mission_def_from_json.py msgid "" @@ -127222,7 +132604,7 @@ msgstr "" #: lang/json/mission_def_from_json.py msgid "I'll have to find someone more at home in the forest..." -msgstr "Мне нужно найти кого-то, кто получше знаком с лесом..." +msgstr "Мне нужно найти кого-то, кто получше знаком с лесом…" #: lang/json/mission_def_from_json.py msgid "Find and capture a cat" @@ -127247,7 +132629,7 @@ msgstr "" "кошку." #: lang/json/mission_def_from_json.py -msgid "I did't want to use chemicals on these rats." +msgid "I didn't want to use chemicals on these rats." msgstr "Я не хочу выгонять крыс химией." #: lang/json/mission_def_from_json.py @@ -127277,7 +132659,7 @@ msgstr "Чего?! Ты врёшь, я знаю! Где моя клетка, т #: lang/json/mission_def_from_json.py msgid "Oh no! I guess they are too nimble for you..." -msgstr "О нет! Наверно, они слишком ловкие для тебя..." +msgstr "О нет! Наверно, они слишком ловкие для тебя…" #: lang/json/mission_def_from_json.py msgid "Gather 120 Stones" @@ -127346,7 +132728,7 @@ msgstr "" #: lang/json/mission_def_from_json.py msgid "I wonder where all the sand went..." -msgstr "Интересно, и куда делся весь песок..." +msgstr "Интересно, и куда делся весь песок…" #: lang/json/mission_def_from_json.py msgid "Gather 1000 units of clay" @@ -127444,7 +132826,7 @@ msgstr "О, ладно. Спасибо, я поищу другого поста #: lang/json/mission_def_from_json.py msgid "I wonder where all the seeds went..." -msgstr "Интересно, и куда делись все семена..." +msgstr "Интересно, и куда делись все семена…" #: lang/json/mission_def_from_json.py msgid "Kill monster" @@ -127560,11 +132942,11 @@ msgstr "Огромное спасибо, мне теперь будет намн #: lang/json/mission_def_from_json.py msgid "I don't see a book...?" -msgstr "И где же книга...?" +msgstr "И где же книга…?" #: lang/json/mission_def_from_json.py msgid "At least you escaped with your life..." -msgstr "Ну, ты хотя бы ещё жив..." +msgstr "Ну, ты хотя бы ещё жив…" #: lang/json/mission_def_from_json.py msgid "Find a copy of DIY Compendium" @@ -127582,6 +132964,10 @@ msgstr "" "Мне очень нужна книга, сборник «Сделай Сам». Интернета больше нет, и мне " "неоткуда взять информацию." +#: lang/json/mission_def_from_json.py +msgid "Fantastic, I'm not supposed to leave our land." +msgstr "Потрясно, мне неохота покидать нашу землю." + #: lang/json/mission_def_from_json.py msgid "A library, bookstore should have one, schools are another good idea." msgstr "" @@ -128537,6 +133923,10 @@ msgstr "" msgid "Thanks, it's great to see someone willing to help a guy out." msgstr "Спасибо! Рад видеть, что хоть кто-то решился помочь мне." +#: lang/json/mission_def_from_json.py +msgid "Well, I'll find someone else to do it for me." +msgstr "Ну, тогда я найду кого-нибудь другого, кто сделает это для меня." + #: lang/json/mission_def_from_json.py msgid "" "Plenty of smokers in towns. Gotta be some left over cigs in some of them " @@ -128724,7 +134114,7 @@ msgid "" msgstr "" "С такой штукой мы сумеем убедить остальных вложиться в коммуну. Спасибо, вот" " твои деньги. А ещё мы сумели соорудить ручную зарядку в гараже, так что " -"пользуйся, не стесняйся - ты оказал нам огромную услугу." +"пользуйся, не стесняйся — ты оказал нам огромную услугу." #: lang/json/mission_def_from_json.py msgid "Solar Power" @@ -129141,7 +134531,7 @@ msgid "" "investigate the trade route and eliminate the threat." msgstr "" "Один из Свободных Торговцев загадочно пропал во время сопровождения " -"каравана. Кто (или что) бы это ни был, он очень быстрый и тихий - осмотрите " +"каравана. Кто (или что) бы это ни был, он очень быстрый и тихий — осмотрите " "торговый путь и устраните угрозу." #: lang/json/mission_def_from_json.py @@ -129406,8 +134796,8 @@ msgstr "Вернуть фотонный накопитель" #: lang/json/mission_def_from_json.py msgid "" "Reach the collapsed tower basement, and search the ruins for a photonic " -"circuitry template. The intercom warned you about heavy enemy prescence, and" -" of the existence of a hazardous enviroment." +"circuitry template. The intercom warned you about heavy enemy presence, and" +" of the existence of a hazardous environment." msgstr "" "Доберитесь до подвала обвалившейся башни и обыщите руины в поисках шаблона " "фотонной схемы. Интерком предупредил вас о значительном количестве " @@ -129458,7 +134848,7 @@ msgstr "Найти 200 золота." #: lang/json/mission_def_from_json.py msgid "I could do with some help..." -msgstr "Мне нужна помощь кое в чём..." +msgstr "Мне нужна помощь кое в чём…" #: lang/json/mission_def_from_json.py msgid "" @@ -131082,7 +136472,7 @@ msgid "yourself scream in agony!" msgstr "вы кричите в агонии!" #. ~ Mutation class: Any junkie_message -#: lang/json/mutation_category_from_json.py src/iuse_actor.cpp +#: lang/json/mutation_category_from_json.py msgid "You quiver with anticipation..." msgstr "Вы дрожите от нетерпения…" @@ -131784,19 +137174,19 @@ msgstr "Как же сладко!" #. ~ Mutation class: Sugar Kin iv_message #: lang/json/mutation_category_from_json.py -msgid "You inject some more fizz into your sirup." +msgid "You inject some more fizz into your syrup." msgstr "Вы впрыскиваете газировку себе в сироп." #. ~ Mutation class: Sugar Kin Male memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_male" -msgid "Cristalized." +msgid "Crystalized." msgstr "Засахарился." #. ~ Mutation class: Sugar Kin Female memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_female" -msgid "Cristalized." +msgid "Crystalized." msgstr "Засахарилась." #: lang/json/mutation_from_json.py @@ -132293,8 +137683,8 @@ msgstr "Растительность на лице: нет: борода яко #: lang/json/mutation_from_json.py msgid "" "You have a moustache and a beard starting with a strip going down from the " -"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus " -"the name." +"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus" +" the name." msgstr "" "У вас усы и борода, начинающаяся полоской под нижней губой и продолжающаяся " "по линии нижней челюсти. Похожа на якорь, поэтому так и называется." @@ -132306,7 +137696,7 @@ msgstr "Растительность на лице: нет: борода кор #. ~ Description for Facial hair: short boxed beard #: lang/json/mutation_from_json.py msgid "" -"You have a moustache and a short beard with trimmed sides. Thin patches " +"You have a moustache and a short beard with trimmed sides. Thin patches " "connect them both, forming a 'box' around the lips, thus the name." msgstr "" "У вас усы и короткая борода с подровненными краями. Их соединяют короткие " @@ -132440,7 +137830,7 @@ msgstr "Растительность на лице: нет: шейная бор #. ~ Description for Facial hair: neckbeard #: lang/json/mutation_from_json.py msgid "" -"You have a beard formed from hair grown on neck below the chin line. No " +"You have a beard formed from hair grown on neck below the chin line. No " "moustache included." msgstr "У вас борода из волос, растущих на шее под нижней челюстью. Усов нет." @@ -132555,6 +137945,27 @@ msgstr "" "Вы можете двигаться быстрее большинства существ, получая 15% бонус к " "скорости на твёрдой поверхности." +#: lang/json/mutation_from_json.py +msgid "Weak Photophore" +msgstr "" + +#. ~ Description for Weak Photophore +#: lang/json/mutation_from_json.py +msgid "" +"A photophore has grown from your head, you can make it glow soflty. This " +"will make you very visible in the dark, ideal to attract a partner during " +"mating season." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Photophore" +msgstr "" + +#. ~ Description for Photophore +#: lang/json/mutation_from_json.py +msgid "Your can make your photophore glow brightly." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Good Hearing" msgstr "Хороший слух" @@ -133108,9 +138519,9 @@ msgstr "Психоз от стимуляторов" #. ~ Description for Stimulant Psychosis #: lang/json/mutation_from_json.py msgid "" -"You have a unique history with stimulants (like coffee or amphetamines). You" -" can tolerate a lot more of them without overdosing, but if you indulge too " -"much, you start seeing things..." +"You have a unique history with stimulants (like coffee or amphetamines). " +"You can tolerate a lot more of them without overdosing, but if you indulge " +"too much, you start seeing things…" msgstr "" "У вас необычные отношения со стимуляторами (такими как кофе или амфетамины)." " Вы можете принять их гораздо больше без риска передозировки, но при большом" @@ -133271,13 +138682,25 @@ msgstr "Бой холодным оружием" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-" -"Ryu, Pentjak Silat, or Sōjutsu." +"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-Ryu," +" Pentjak Silat, or Sōjutsu." msgstr "" "Вы практиковались бою с оружием. Вы начинаете с одним из стилей: Эскрима, " "фехтование, Пентьяк Силат, Цветок битвы, средневековое фехтование, Нитэн " "Ити-рю, Пентьяк Силат или Содзюцу." +#: lang/json/mutation_from_json.py +msgid "Competitive Fencer" +msgstr "Спортивный фехтовальщик" + +#. ~ Description for Competitive Fencer +#: lang/json/mutation_from_json.py +msgid "" +"You were an avid fencer, starting with foil and moving onto saber, then " +"épée. You competed nationally and dabbled with some of the historical " +"fencing weapons afforded by HEMA's popularity." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Weak Scent" msgstr "Чистюля" @@ -134136,11 +139559,11 @@ msgstr "Глаза феи" #. ~ Description for Fey Eyes #: lang/json/mutation_from_json.py msgid "" -"Your eyes have turned...green. It's tough to tell the exact shade as it " -"seems to shift. The effect is ...pleasant." +"Your eyes have turned… green. It's tough to tell the exact shade as it " +"seems to shift. The effect is… pleasant." msgstr "" -"Ваши глаза стали…зелёными. Трудно назвать точный оттенок, кажется, он " -"меняется. Этот эффект такой…приятный." +"Ваши глаза стали… Зелёными. Трудно назвать точный оттенок, кажется, он " +"меняется. Этот эффект такой… Приятный." #: lang/json/mutation_from_json.py msgid "Fey Vision" @@ -135059,10 +140482,10 @@ msgstr "Носитель марло" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss berry, you can't get its scent out of your " -"nose, and you have a strong desire to try some seeds and...sap?" +"nose, and you have a strong desire to try some seeds and… sap?" msgstr "" "С тех пор, как вы отведали ягоду марло, этот запах продолжает витать в носу," -" а вам очень хочется попробовать семена и …сок?" +" а вам очень хочется попробовать семена и… Сок?" #: lang/json/mutation_from_json.py msgid "Marloss Vessel" @@ -135072,10 +140495,10 @@ msgstr "Сосуд для марло" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss seed, you can't get its taste off of your " -"tongue, and you have a strong desire to try some berries and...sap?" +"tongue, and you have a strong desire to try some berries and… sap?" msgstr "" "С тех пор, как вы отведали семя марло, этот запах продолжает витать в носу, " -"и вам очень хочется попробовать ягоды и …сок?" +"а вам очень хочется попробовать ягоды и… Сок?" #: lang/json/mutation_from_json.py msgid "Marloss Vector" @@ -135532,11 +140955,12 @@ msgstr "Саблезубый" #: lang/json/mutation_from_json.py msgid "" "Your fangs have grown extremely large and incredibly sharp. They make it " -"impossible to wear mouthgear and difficult to eat... but leave nasty wounds" -" when you bite." +"impossible to wear mouthgear and difficult to eat… but leave nasty wounds " +"when you bite." msgstr "" "Ваши клыки стали очень большими и невероятно острыми. Вы не можете ничего " -"надеть на рот, да и есть труднее… но кусая, вы наносите жуткие раны." +"надеть на рот, да и есть труднее… Но ваши укусы оставляют крайне неприятные " +"раны." #: lang/json/mutation_from_json.py #, no-python-format @@ -136945,11 +142369,11 @@ msgstr "Морда" #. ~ Description for Snout #: lang/json/mutation_from_json.py msgid "" -"Your face and jaw have begun...changing. Masks and such fit OK, but you're " +"Your face and jaw have begun… changing. Masks and such fit OK, but you're " "noticeably mutated." msgstr "" -"Ваше лицо и челюсти начали… меняться. Вы пока можете носить маски и тому " -"подобное, но вы уже заметно мутировали." +"Ваше лицо и челюсти начали… Меняться. Вы пока еще можете носить маски и тому" +" подобное, но вы уже заметно мутировали." #: lang/json/mutation_from_json.py msgid "Bovine Snout" @@ -137806,10 +143230,11 @@ msgstr "Эктотермный" #. ~ Description for Ectothermic #: lang/json/mutation_from_json.py +#, no-python-format msgid "" -"Your body has become permanently cold-blooded. Your speed lowers--or raises" -"--for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to " -"eat half as much as an average human." +"Your body has become permanently cold-blooded. Your speed lowers or raises " +"1% for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to" +" eat half as much as an average human." msgstr "" "Ваше тело стало полностью холоднокровным. Ваша скорость повышается или " "понижается на 1% за каждые 2 (1,1) градуса выше или ниже 65°F (18,3°С). Вам " @@ -138151,10 +143576,10 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "" "It would be good to be a Queen, having workers constantly servicing your " -"every need...but how would you keep them in line?" +"every need… but how would you keep them in line?" msgstr "" "Было бы неплохо быть Королевой, чтобы рабочие всегда выполняли каждое " -"пожелание… но как бы вы управляли ими?" +"пожелание… Но как бы вы управляли ими?" #. ~ Description for Plant #: lang/json/mutation_from_json.py @@ -138172,8 +143597,8 @@ msgstr "Студень" #. ~ Description for Aqueous #: lang/json/mutation_from_json.py msgid "" -"What was that old advertisement, 'paint the planet'? That might be a good " -"long-term goal, but for now..." +"What was that old advertisement, 'paint the planet'? That might be a good " +"long-term goal, but for now…" msgstr "" "Как там было в одной старой рекламе: «раскрась планету»? Это хорошая задача " "на будущее, но сейчас…" @@ -138956,6 +144381,20 @@ msgstr "" "Вы не можете по-человечески проводить время в уже знакомых территориях. " "Нужно. Продолжать. Двигаться." +#: lang/json/mutation_from_json.py +msgid "Wayfarer" +msgstr "Странник" + +#. ~ Description for Wayfarer +#: lang/json/mutation_from_json.py +msgid "" +"Whether from personal choice or childhood trauma, travelling with vehicles " +"is off-limits to you, even if your life depended on it." +msgstr "" +"То ли по своему хотению, то ли из-за детской травмы, путешествие на " +"транспортных средствах для вас неприёмлемо, даже если от этого зависит ваша " +"жизнь." + #: lang/json/mutation_from_json.py msgid "Survivor Story" msgstr "История Выжившего" @@ -139987,7 +145426,7 @@ msgid "Scientist" msgstr "Учёный" #: lang/json/npc_class_from_json.py -msgid "I'm looking for clues concerning these monsters' origins..." +msgid "I'm looking for clues concerning these monsters' origins…" msgstr "Я пытаюсь раскрыть источник происхождения всех этих монстров…" #: lang/json/npc_class_from_json.py @@ -140051,7 +145490,7 @@ msgid "Real Person" msgstr "Настоящий человек" #: lang/json/npc_class_from_json.py -msgid "I'm just wandering, like a totally real and normal NP... Person!" +msgid "I'm just wandering, like a totally real and normal NP… Person!" msgstr "Я просто гуляю, как полностью настоящий и нормальный НП… Человек!" #: lang/json/npc_class_from_json.py @@ -140067,7 +145506,7 @@ msgid "Foodperson" msgstr "Поешь-ка" #: lang/json/npc_class_from_json.py -msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" +msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" msgstr "Я ПОЕШЬ-КА. И Я ПРИНОШУ НАСЫЩЕНИЕ!" #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py @@ -140075,8 +145514,8 @@ msgid "Cyborg" msgstr "Киборг" #: lang/json/npc_class_from_json.py -msgid "Zzzzzt... I...I'm a Cy...BEEEEEP...borg." -msgstr "Зззззт… Я… я… Ки…БИИИИИП… орг." +msgid "Zzzzzt… I… I'm a Cy… BEEEEEP… borg." +msgstr "Зззззт… Я… я… Ки…БИИИИИП… борг." #: lang/json/npc_class_from_json.py msgid "former cop" @@ -140215,6 +145654,18 @@ msgstr "Караванщик" msgid "I'm the owner of a trade caravan." msgstr "Я владелец торгового каравана." +#: lang/json/npc_class_from_json.py +msgid "Operator" +msgstr "Оператор" + +#: lang/json/npc_class_from_json.py +msgid "Mage Test" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "I'm a wandering debug tester for the arcane arts." +msgstr "" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -141865,9 +147316,21 @@ msgstr "музыкальный магазин" msgid "music store roof" msgstr "крыша музыкального магазина" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore parking lot" +msgstr "автостоянка супермаркета" + #: lang/json/overmap_terrain_from_json.py msgid "megastore" -msgstr "гипермаркет" +msgstr "супермаркет" + +#: lang/json/overmap_terrain_from_json.py +msgid "megastore, second floor" +msgstr "супермаркет, второй этаж" + +#: lang/json/overmap_terrain_from_json.py +msgid "megastore roof" +msgstr "крыша супермаркета" #: lang/json/overmap_terrain_from_json.py msgid "hotel parking" @@ -141895,11 +147358,11 @@ msgstr "крыша мотеля" #: lang/json/overmap_terrain_from_json.py msgid "home improvement superstore entrance" -msgstr "вход в гипермаркет бытовых товаров" +msgstr "вход в супермаркет бытовых товаров" #: lang/json/overmap_terrain_from_json.py msgid "home improvement superstore" -msgstr "гипермаркет бытовых товаров" +msgstr "супермаркет бытовых товаров" #: lang/json/overmap_terrain_from_json.py msgid "garage - gas station" @@ -142221,7 +147684,7 @@ msgstr "место под ферму" msgid "garage survey" msgstr "место под гараж" -#: lang/json/overmap_terrain_from_json.py +#: lang/json/overmap_terrain_from_json.py lang/json/recipe_from_json.py msgid "kitchen survey" msgstr "место под кухню" @@ -142242,7 +147705,7 @@ msgid "spiked trench" msgstr "шипованная траншея" #: lang/json/overmap_terrain_from_json.py -msgid "store survey" +msgid "fabrication workshop survey" msgstr "" #: lang/json/overmap_terrain_from_json.py @@ -142255,8 +147718,20 @@ msgstr "кузница" #: lang/json/overmap_terrain_from_json.py msgid "livestock survey" +msgstr "место под загон" + +#: lang/json/overmap_terrain_from_json.py +msgid "store house survey" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "saltworks survey" msgstr "" +#: lang/json/overmap_terrain_from_json.py +msgid "canteen survey" +msgstr "место под столовую" + #: lang/json/overmap_terrain_from_json.py msgid "crater" msgstr "воронка" @@ -142938,6 +148413,10 @@ msgstr "стрельбище" msgid "shooting range roof" msgstr "крыша стрельбища" +#: lang/json/overmap_terrain_from_json.py +msgid "miniature railway" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "golf course" msgstr "поле для гольфа" @@ -143628,6 +149107,10 @@ msgstr "общественная библиотека, второй этаж" msgid "mechanics garage" msgstr "гараж механика" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore entrance" +msgstr "вход супермаркета" + #: lang/json/overmap_terrain_from_json.py msgid "sewage treatment" msgstr "очистное сооружение" @@ -143672,10 +149155,6 @@ msgstr "разрушенная хижина с грязной площадью" msgid "desert" msgstr "пустыня" -#: lang/json/overmap_terrain_from_json.py -msgid "megastore roof" -msgstr "крыша супермаркета" - #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Vagabond" @@ -148624,6 +154103,44 @@ msgstr "" "доставки из бакалеи прекратились, а телевизор больше не включается. Тебя это" " раздражает." +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Competetive Fencer" +msgstr "Спортивный фехтовальщик" + +#. ~ Profession (male Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" +"Вы были заядлым спортивным фехтовальщиком, всегда тренировались в местных " +"клубах и участвовали в турнирах. Вы как раз были на тренировке, когда " +"наступил конец света. Теперь у вас самый важный турнир, все рефери мертвы и " +"никто из ваших оппонентов не следует правилам." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Competetive Fencer" +msgstr "Спортивная фехтовальщица" + +#. ~ Profession (female Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" +"Вы были заядлой спортивной фехтовальщицей, всегда тренировались в местных " +"клубах и участвовали в турнирах. Вы как раз были на тренировке, когда " +"наступил конец света. Теперь у вас самый важный турнир, все рефери мертвы и " +"никто из ваших оппонентов не следует правилам." + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Career Politician" @@ -149459,7 +154976,7 @@ msgid "" "distraction. Forced to flee, will you have what it takes to survive or will " "you join the horde to haunt them for their cardinal sin?" msgstr "" -"Ты был ботаном отряда - боевой медик, обученный встречам с необъяснимым. " +"Ты был ботаном отряда — боевой медик, обученный встречам с необъяснимым. " "Однако твоей главной задачей было беречь товарищей в целости. Несколько " "недель ты шастал в аду вдоль и поперёк и следил, чтобы все выжили. Во время " "перестрелки между нежитью и взбунтовавшимися роботами правительственного ИИ " @@ -149484,7 +155001,7 @@ msgid "" "distraction. Forced to flee, will you have what it takes to survive or will " "you join the horde to haunt them for their cardinal sin?" msgstr "" -"Ты была ботанкой отряда - боевой медик, обученная встречам с необъяснимым. " +"Ты была ботанкой отряда — боевой медик, обученная встречам с необъяснимым. " "Однако твоей главной задачей было беречь товарищей в целости. Несколько " "недель ты шастала в аду вдоль и поперёк и следила, чтобы все выжили. Во " "время перестрелки между нежитью и взбунтовавшимися роботами " @@ -149936,6 +155453,268 @@ msgstr "" "старое хрупкое тело стало намного сильнее. Новая плоть теперь твоя, обнажи " "клыки и сражайся до следующего рассвета." +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Rifleman" +msgstr "Пехотинец" + +#. ~ Profession (male Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "" +"Сми-и-ир…но! Равняйсь! Нале-е-е…во! Отставить! Нале-е-е…во! Шагом марш!" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Rifleman" +msgstr "Пехотинец" + +#. ~ Profession (female Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "" +"Сми-и-ир…но! Равняйсь! Нале-е-е…во! Отставить! Нале-е-е…во! Шагом марш!" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Marksman" +msgstr "Военный снайпер" + +#. ~ Profession (male Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "" +"Вам нравится думать, что вы настоящий снайпер, но на самом деле вы просто " +"пехотинец с большой пушкой." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Marksman" +msgstr "Военная снайперша" + +#. ~ Profession (female Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "" +"Вам нравится думать, что вы настоящая снайперша, но на самом деле вы просто " +"пехотинец с большой пушкой." + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Automatic Rifleman" +msgstr "Пулеметчик" + +#. ~ Profession (male Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "S stands for suppressing fire!" +msgstr "В позе зю за пулеметом!" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Automatic Rifleman" +msgstr "Пулеметчица" + +#. ~ Profession (female Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "S stands for suppressing fire!" +msgstr "В позе зю за пулеметом!" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Grenadier" +msgstr "Гренадер" + +#. ~ Profession (male Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "There's no kill like overkill." +msgstr "Что не убийство, то перебор." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Grenadier" +msgstr "Гренадерша" + +#. ~ Profession (female Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "There's no kill like overkill." +msgstr "Что не убийство, то перебор." + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Breacher" +msgstr "Террорист" + +#. ~ Profession (male Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "Никто не смеет произносить ваше имя, даже окна и двери." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Breacher" +msgstr "Террористка" + +#. ~ Profession (female Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "Никто не смеет произносить ваше имя, даже окна и двери." + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Recon" +msgstr "Разведчик" + +#. ~ Profession (male Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "The only easy day was yesterday." +msgstr "Единственный легкий день был вчера." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Recon" +msgstr "Разведчик" + +#. ~ Profession (female Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "The only easy day was yesterday." +msgstr "Единственный легкий день был вчера." + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Sniper" +msgstr "Снайпер спецназначения" + +#. ~ Profession (male Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "" +"Вы провели дни, сражаясь с вражеским снайпером, затем он просто… Умер. Но не" +" совсем." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Sniper" +msgstr "Снайперша спецназначения" + +#. ~ Profession (female Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "" +"Вы провели дни, сражаясь с вражеским снайпером, затем он просто… Умер. Но не" +" совсем." + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Hacker" +msgstr "Хакер спецсил" + +#. ~ Profession (male Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "" +"Вы утверждаете, что вы не хакер, а «Специалист по радиоэлектронной борьбе»." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Hacker" +msgstr "Хакерша спецсил" + +#. ~ Profession (female Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "" +"Вы утверждаете, что вы не хакер, а «Специалист по радиоэлектронной борьбе»." + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Undercover" +msgstr "Боец под прикрытием" + +#. ~ Profession (male Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" +"Вы преследовали свою цель в течение нескольких месяцев, и теперь он зомби. " +"Он вас опередил." + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Undercover" +msgstr "Боец под прикрытием" + +#. ~ Profession (female Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" +"Вы преследовали свою цель в течение нескольких месяцев, и теперь он зомби. " +"Он вас опередил." + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator CBRN" +msgstr "Боец CBRN" + +#. ~ Profession (male Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" +"Химическое оружие? Есть. Биологическая опасность? Есть. Ядерная война? Есть." +" Похоже, идеальная работа для вас!" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator CBRN" +msgstr "Боец CBRN" + +#. ~ Profession (female Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" +"Химическое оружие? Есть. Биологическая опасность? Есть. Ядерная война? Есть." +" Похоже, идеальная работа для вас!" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Rookie" @@ -150254,7 +156033,7 @@ msgid "" msgstr "" "Ты был сыном метеоролога и всегда интересовался погодой. Недавно ты понял, " "что погодой можно управлять при помощи волшебства! К сожалению, по мере " -"развития событий ты недолго наслаждался своими способностями..." +"развития событий ты недолго наслаждался своими способностями…" #: lang/json/professions_from_json.py msgctxt "profession_female" @@ -150272,7 +156051,7 @@ msgid "" msgstr "" "Ты была дочерью метеоролога и всегда интересовалась погодой. Недавно ты " "поняла, что погодой можно управлять при помощи волшебства! К сожалению, по " -"мере развития событий ты недолго наслаждалась своими способностями..." +"мере развития событий ты недолго наслаждалась своими способностями…" #: lang/json/professions_from_json.py msgctxt "profession_male" @@ -150646,7 +156425,7 @@ msgid "" "You're a human shaped candy brought to life under unknown circumstances. " "You have your whole life ahead of you and it's gonna be sweet!" msgstr "" -"Вы - карамель в форме человека, оживлённая в ходе неясных событий. У вас " +"Вы — карамель в форме человека, оживлённая в ходе неясных событий. У вас " "впереди целая жизнь, и она будет сладкой!" #: lang/json/professions_from_json.py @@ -150661,7 +156440,7 @@ msgid "" "You're a human shaped candy brought to life under unknown circumstances. " "You have your whole life ahead of you and it's gonna be sweet!" msgstr "" -"Вы - карамель в форме человека, оживлённая в ходе неясных событий. У вас " +"Вы — карамель в форме человека, оживлённая в ходе неясных событий. У вас " "впереди целая жизнь, и она будет сладкой!" #: lang/json/professions_from_json.py @@ -151826,16 +157605,6 @@ msgstr "ЛОШАДИНАЯ БРОНЯ" msgid "BUILDING" msgstr "ЗДАНИЯ" -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "BASES" -msgstr "БАЗЫ" - -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "EXPANSIONS" -msgstr "РАСШИРЕНИЯ" - #. ~ Crafting recipes category name #: lang/json/recipe_category_from_json.py msgid "ENCHANTED" @@ -153017,7 +158786,7 @@ msgstr "подготовить кухню" #: lang/json/recipe_from_json.py msgid "" -"We should build a well, put it near that winch. This will make our future " +"We should build a well, put it near that winch. This will make our future " "here more secure." msgstr "" "Нам необходимо устроить колодец рядом с той лебёдкой. Колодец сильно " @@ -153082,7 +158851,7 @@ msgstr "сложить камин" #: lang/json/recipe_from_json.py msgid "" "Now that we have some cover, we should set up a brazier for cooking, and " -"grab a pot. Let's put it in that dining area." +"grab a pot. Let's put it in that dining area." msgstr "" "Теперь у нас есть укрытие, и нам нужно поставить мангал для приготовления " "еды и достать кастрюлю, давайте поместим всё это в столовой." @@ -153263,7 +159032,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "basic northeast tent" -msgstr "" +msgstr "простая северо-восточная палатка" #: lang/json/recipe_from_json.py msgid "" @@ -153287,7 +159056,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "basic storage" -msgstr "" +msgstr "простой склад" #: lang/json/recipe_from_json.py msgid "" @@ -153299,7 +159068,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "basic northeast bed" -msgstr "" +msgstr "простая северо-восточная кровать" #: lang/json/recipe_from_json.py msgid "" @@ -153311,7 +159080,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "basic northwest tent" -msgstr "" +msgstr "простая северо-западная палатка" #: lang/json/recipe_from_json.py msgid "" @@ -153323,7 +159092,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "basic central building" -msgstr "" +msgstr "простое центральное здание" #: lang/json/recipe_from_json.py msgid "" @@ -153335,7 +159104,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "basic west tent" -msgstr "" +msgstr "простая западная палатка" #: lang/json/recipe_from_json.py msgid "We need to expand our base to include basic dining facilities." @@ -153343,7 +159112,7 @@ msgstr "Нам необходимо расширить нашу базу и ус #: lang/json/recipe_from_json.py msgid "basic central kitchen" -msgstr "" +msgstr "простая центральная кухня" #: lang/json/recipe_from_json.py msgid "More housing means that we can support additional specialists." @@ -153352,7 +159121,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "basic southeast tent" -msgstr "" +msgstr "простая юго-восточная палатка" #: lang/json/recipe_from_json.py msgid "An expanded kitchen is needed to support our growing settlement." @@ -153361,7 +159130,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "basic expanded kitchen" -msgstr "" +msgstr "простая расширенная кухня" #: lang/json/recipe_from_json.py msgid "" @@ -153385,7 +159154,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "basic water well" -msgstr "" +msgstr "колодец" #: lang/json/recipe_from_json.py msgid "" @@ -153523,7 +159292,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "Garage tool rack" -msgstr "" +msgstr "Гаражный инструментальный ящик" #: lang/json/recipe_from_json.py msgid "We should start construction of a roof for the garage." @@ -153531,7 +159300,7 @@ msgstr "Мы должны начать строительство крыши д #: lang/json/recipe_from_json.py msgid "Garage partial roof" -msgstr "" +msgstr "Гаражная не законченная крыша" #: lang/json/recipe_from_json.py msgid "Finishing out the roof will let our mechanics work rain or shine." @@ -153539,7 +159308,7 @@ msgstr "Завершение крыши позволит нашим механи #: lang/json/recipe_from_json.py msgid "Garage completed roof" -msgstr "" +msgstr "Гаражная построенная крыша" #: lang/json/recipe_from_json.py msgid "" @@ -153551,7 +159320,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "Garage partial expansion" -msgstr "" +msgstr "Частичное расширение гаража" #: lang/json/recipe_from_json.py msgid "Finishing the roof will let us park RVs and buses in the garage." @@ -153559,7 +159328,7 @@ msgstr "Завершение крыши позволит нам парковат #: lang/json/recipe_from_json.py msgid "Garage expanded roof" -msgstr "" +msgstr "Гаражная расширенная крыша" #: lang/json/recipe_from_json.py msgid "" @@ -153570,7 +159339,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "Garage mechanics quarters" -msgstr "" +msgstr "Гаражные мастерские" #: lang/json/recipe_from_json.py msgid "Survey land for a kitchen." @@ -153789,6 +159558,366 @@ msgstr "" msgid "Blacksmithy drop hammer" msgstr "" +#: lang/json/recipe_from_json.py +msgid "Survey land for a kitchen and dining area." +msgstr "Обследовать территорию для кухни и столовой." + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 fireplaces for cooking and " +"grab a pot." +msgstr "" +"Теперь у нас есть укрытие, и нам нужно сложить 2 камина для приготовления " +"еды и достать кастрюлю." + +#: lang/json/recipe_from_json.py +msgid "build 2 fireplaces" +msgstr "сложить 2 камина" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 stoves for cooking and grab a" +" pot." +msgstr "" +"Теперь у нас есть укрытие, и нам нужно построить 2 печки для приготовления " +"еды и достать кастрюлю." + +#: lang/json/recipe_from_json.py +msgid "build 2 wood stoves" +msgstr "поставить 2 печки" + +#: lang/json/recipe_from_json.py +msgid "We should build a well. This will make cooking more convenient." +msgstr "" +"Мы должны построить колодец. Это сделает приготовление пищи более удобным." + +#: lang/json/recipe_from_json.py +msgid "Lets build some counters and shelves." +msgstr "Нужно построить несколько столов и полок." + +#: lang/json/recipe_from_json.py +msgid "build kitchen counters" +msgstr "построить кухонные столы" + +#: lang/json/recipe_from_json.py +msgid "build 3 smoking racks and a charcoal kiln" +msgstr "построить 3 стойки для копчения и угольную печь" + +#: lang/json/recipe_from_json.py +msgid "Lets furnish the pantry and build 2 root cellars." +msgstr "Давайте оборудуем кладовую и построим 2 погреба." + +#: lang/json/recipe_from_json.py +msgid "furnish the pantry" +msgstr "оборудовать кладовую" + +#: lang/json/recipe_from_json.py +msgid "Let's make some furniture for the dining hall." +msgstr "Давайте сделаем мебель для столовой." + +#: lang/json/recipe_from_json.py +msgid "furnish the dining room" +msgstr "обставить столовую" + +#: lang/json/recipe_from_json.py +msgid "Let's build some planters to the north for a chef's garden." +msgstr "Давайте построим несколько садовых ящика на севера для шеф-повара." + +#: lang/json/recipe_from_json.py +msgid "build some planters" +msgstr "построить садовые ящики" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen log walls." +msgstr "Давайте заложим основные стены кухни." + +#: lang/json/recipe_from_json.py +msgid "build the log wall central kitchen room" +msgstr "построить основные бревенчатые стены кухни" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen log walls." +msgstr "Давайте закончим основные стены кухни." + +#: lang/json/recipe_from_json.py +msgid "finish the log wall central kitchen room" +msgstr "достроить основные бревенчатые стены кухни" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this log wall smoking area covered to protect the workers from the " +"weather." +msgstr "" +"Давайте построим бревенчатую курилку, чтобы защитить рабочих от непогоды." + +#: lang/json/recipe_from_json.py +msgid "build a log wall roofed area for smoking racks" +msgstr "построить бревенчатую крытую курилку" + +#: lang/json/recipe_from_json.py +msgid "Lets build a log wall pantry west of the kitchen." +msgstr "Давайте построим бревенчатую кладовку к западу от кухни." + +#: lang/json/recipe_from_json.py +msgid "build a log wall pantry" +msgstr "построить бревенчатую кладовку" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west log wall of the dining hall." +msgstr "Давайте построим западную бревенчатую стену столовой." + +#: lang/json/recipe_from_json.py +msgid "build W log wall" +msgstr "строить западную бревенчатую стену" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east log wall of the dining hall." +msgstr "Давайте построим восточную бревенчатую стену столовой." + +#: lang/json/recipe_from_json.py +msgid "build E log wall" +msgstr "строить восточную бревенчатую стену" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the log wall dining hall." +msgstr "Давайте построим центральную бревенчатую стену столовой." + +#: lang/json/recipe_from_json.py +msgid "build center of the log wall dining hall" +msgstr "строить центральные бревенчатые стены столовой" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen metal walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the metal wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen metal walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the metal wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this metal wall smoking area covered to protect the workers from " +"the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a metal wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west metal wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W metal wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east metal wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E metal wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the metal wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the metal wall dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen rock walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen rock walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the rock wall central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this rock wall smoking area covered to protect the workers from the" +" weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a rock wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west rock wall of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W rock wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east rock wall of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E rock wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the rock wall dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the rock dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wattle and daub walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the wattle and daub central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wattle and daub walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the wattle and daub central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wattle and daub smoking area covered to protect the workers " +"from the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wattle and daub wall pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wattle and daub wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wattle and daub wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wattle and daub dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the wattle and daub dining hall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wood panel walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build the wood panel central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wood panel walls." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "finish the wood panel central kitchen room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wood panel smoking area covered to protect the workers from " +"the weather." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel roofed area for smoking racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wood panel pantry west of the kitchen." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel pantry" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wood panel wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wood wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wood panel wall of the dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wood wall" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wood panel dining hall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build center of the dining hall" +msgstr "" + #: lang/json/recipe_from_json.py msgid "Survey land for a livestock area." msgstr "" @@ -153957,6 +160086,424 @@ msgid "" " a roof on the southwest side of the livestock field." msgstr "" +#: lang/json/recipe_from_json.py +msgid "Survey land for a saltworks area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Saltworks survey" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could uprade the workspace in the brewery to add a still, wood stove and " +"work table." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery still" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "We could use fill out the space with extra kegs and storage racks." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery kegs" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a log building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE log wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a log shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE log wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a log " +"brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW log wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a metal shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE metal wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a metal shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE metal wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a metal" +" wall brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW metal wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a stone building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE stone wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a stone wall " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE stone wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a stone" +" brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW stone wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in an adobe hut." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wattle and daub saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build an adobe shack" +" with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wattle and daub storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build an " +"wattle and daub brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wattle and daub brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a wooden shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wood panel saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a wood panel " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wood panel storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a " +"wooden brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wood panel brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a fireplace for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a brazier for cooking and grab a pot. Let's set up near the" +" working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a wood stove for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a well, put it near the terminal. This will make our future" +" here more secure." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the E bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the W bedroom" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with regular beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with straw beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with makeshift beds." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make a dining area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's make a living room area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "furnish the living room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build some pantry storage." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build some wooden racks" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's build a work bench." +msgstr "Давайте построим верстак." + +#: lang/json/recipe_from_json.py +msgid "build a work bench" +msgstr "построить верстак" + +#: lang/json/recipe_from_json.py +msgid "Let's set up a radio tower to improve our recruitment efforts." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will start in the " +"southeast corner." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the same wall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the other wall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW log bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW rock bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW standard bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW wattle and daub bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build W wood panel bedroom walls" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build NW wood panel bedroom walls" +msgstr "" + #: lang/json/recipe_from_json.py msgid "" "We could use a large log central storage building. Begin by building the " @@ -154293,7 +160840,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northwest." +"Some benches around the outside would be nice. Build some to the northwest." msgstr "" #: lang/json/recipe_from_json.py @@ -154302,7 +160849,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northeast." +"Some benches around the outside would be nice. Build some to the northeast." msgstr "" #: lang/json/recipe_from_json.py @@ -154311,7 +160858,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southeast." +"Some benches around the outside would be nice. Build some to the southeast." msgstr "" #: lang/json/recipe_from_json.py @@ -154320,7 +160867,7 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southwest." +"Some benches around the outside would be nice. Build some to the southwest." msgstr "" #: lang/json/recipe_from_json.py @@ -154501,11 +161048,11 @@ msgstr "" #: lang/json/recipe_from_json.py msgid "Survey land for a workshop area." -msgstr "" +msgstr "Обследовать территорию для строительства мастерской." #: lang/json/recipe_from_json.py msgid "workshop survey" -msgstr "" +msgstr "место под мастерскую" #: lang/json/recipe_from_json.py msgid "" @@ -154536,7 +161083,11 @@ msgstr "Полевой лагерь" #: lang/json/recipe_group_from_json.py msgid "Firestation Base" -msgstr "" +msgstr "Пожарная станция" + +#: lang/json/recipe_group_from_json.py +msgid "Evac Shelter Base" +msgstr "Эвакуационное убежище" #: lang/json/recipe_group_from_json.py msgid "Farm" @@ -154547,21 +161098,25 @@ msgid "Garage" msgstr "Гараж" #: lang/json/recipe_group_from_json.py -msgid "Kitchen" -msgstr "Кухня" +msgid "Canteen" +msgstr "Столовая" #: lang/json/recipe_group_from_json.py msgid "Livestock Area" -msgstr "" +msgstr "Животноводческая ферма" #: lang/json/recipe_group_from_json.py msgid "Central Storage Building" -msgstr "" +msgstr "Центральный склад" #: lang/json/recipe_group_from_json.py -msgid "Fabrication workshop" +msgid "Saltworks Area" msgstr "" +#: lang/json/recipe_group_from_json.py +msgid "Fabrication Workshop" +msgstr "Производственная мастерская" + #: lang/json/recipe_group_from_json.py msgid " Craft: Tinder" msgstr "Создать: Трут" @@ -154690,6 +161245,10 @@ msgstr " Готовка: мясные консервы" msgid " Cook: Meat Aspic" msgstr " Готовка: мясное заливное" +#: lang/json/recipe_group_from_json.py +msgid " Cook: Kompot" +msgstr "" + #: lang/json/recipe_group_from_json.py msgid " Craft: Pointy Sticks" msgstr " Производство: заострённые палки" @@ -155165,7 +161724,7 @@ msgid "" " you're on your own..." msgstr "" "Вы добрались до какого-то безопасного места вдали от живых мертвецов. " -"Похоже, теперь вы сами за себя..." +"Похоже, теперь вы сами за себя…" #. ~ Description for scenario 'Safe Place' for a female character. #: lang/json/scenario_from_json.py @@ -155175,7 +161734,7 @@ msgid "" " you're on your own..." msgstr "" "Вы добрались до какого-то безопасного места вдали от живых мертвецов. " -"Похоже, теперь вы сами за себя..." +"Похоже, теперь вы сами за себя…" #. ~ Starting location for scenario 'Safe Place'. #: lang/json/scenario_from_json.py @@ -155415,7 +161974,7 @@ msgstr "Ловушка" #: lang/json/scenario_from_json.py msgctxt "scen_desc_male" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "" "Зима после часа ноль. Вы искали еду и тёплый ночлег и услышали, как " @@ -155425,7 +161984,7 @@ msgstr "" #: lang/json/scenario_from_json.py msgctxt "scen_desc_female" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "" "Зима после часа ноль. Вы искали еду и тёплый ночлег и услышали, как " @@ -155580,7 +162139,7 @@ msgid "" msgstr "" "Когда случился катаклизм, вы находились в тюрьме, будучи преступником или " "кем-то из работников. Заключённые превратились в безмозглые ходячие ужасы, а" -" охранные боты стреляют на поражение... Возможно, вам стоит поторопиться с " +" охранные боты стреляют на поражение… Возможно, вам стоит поторопиться с " "вашими планами побега." #. ~ Description for scenario 'Prison' for a female character. @@ -155593,7 +162152,7 @@ msgid "" msgstr "" "Когда случился катаклизм, вы находились в тюрьме, будучи преступницей или " "кем-то из работников. Заключённые превратились в безмозглые ходячие ужасы, а" -" охранные боты стреляют на поражение... Возможно, вам стоит поторопиться с " +" охранные боты стреляют на поражение… Возможно, вам стоит поторопиться с " "вашими планами побега." #. ~ Starting location for scenario 'Prison'. @@ -155825,7 +162384,7 @@ msgid "" "You were participating in a mining operation when you found... something. " "You're not sure what, but it sure is dark down here." msgstr "" -"Вы участвовали в шахтёрской разработке, как вдруг нашли... что-то. Вы не " +"Вы участвовали в шахтёрской разработке, как вдруг нашли… что-то. Вы не " "уверены, что это такое, но там темно — это точно." #. ~ Description for scenario 'Bottom of a Mine' for a female character. @@ -155835,7 +162394,7 @@ msgid "" "You were participating in a mining operation when you found... something. " "You're not sure what, but it sure is dark down here." msgstr "" -"Вы участвовали в шахтёрской разработке, как вдруг нашли... что-то. Вы не " +"Вы участвовали в шахтёрской разработке, как вдруг нашли… что-то. Вы не " "уверены, что это такое, но там темно — это точно." #. ~ Starting location for scenario 'Bottom of a Mine'. @@ -156029,6 +162588,50 @@ msgctxt "start_name" msgid "Wizard's Secret Basement Study" msgstr "Подвал секретного кабинета волшебника" +#. ~ Name for scenario 'The Wizard's Vacation' for a male character +#: lang/json/scenario_from_json.py +msgctxt "scenario_male" +msgid "The Wizard's Vacation" +msgstr "Каникулы волшебника" + +#. ~ Name for scenario 'The Wizard's Vacation' for a female character +#: lang/json/scenario_from_json.py +msgctxt "scenario_female" +msgid "The Wizard's Vacation" +msgstr "Каникулы волшебницы" + +#. ~ Description for scenario 'The Wizard's Vacation' for a male character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_male" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" +"Вы были учеником волшебника и, находясь в его уединённой башне, долго " +"грезили об отдыхе. Ваше путешествие к самопознанию прервано катаклизмом. " +"Теперь вы должны выяснить, как выжить самостоятельно." + +#. ~ Description for scenario 'The Wizard's Vacation' for a female character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_female" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" +"Вы были ученицей волшебника и, находясь в его уединённой башне, долго " +"грезили об отдыхе. Ваше путешествие к самопознанию прервано катаклизмом. " +"Теперь вы должны выяснить, как выжить самостоятельно." + +#. ~ Starting location for scenario 'The Wizard's Vacation'. +#: lang/json/scenario_from_json.py +msgctxt "start_name" +msgid "Wizard's Retreat Vacation" +msgstr "" + #. ~ Name for scenario 'The Sweet Life' for a male character #: lang/json/scenario_from_json.py msgctxt "scenario_male" @@ -156046,13 +162649,13 @@ msgstr "Сладкая жизнь" msgctxt "scen_desc_male" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" msgstr "" "Вы впервые открываете глаза и смотрите, как ваша кожа блестит на свету. В " -"вашей памяти всплывает слово \"сахар\", хотя вы не помните, откуда оно " +"вашей памяти всплывает слово «сахар», хотя вы не помните, откуда оно " "взялось, вообще-то вы совсем ничего не помните. По непонятной причине вы " "ощущаете надежду, всё такое новое, и вы справитесь!" @@ -156061,13 +162664,13 @@ msgstr "" msgctxt "scen_desc_female" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" msgstr "" "Вы впервые открываете глаза и смотрите, как ваша кожа блестит на свету. В " -"вашей памяти всплывает слово \"сахар\", хотя вы не помните, откуда оно " +"вашей памяти всплывает слово «сахар», хотя вы не помните, откуда оно " "взялось, вообще-то вы совсем ничего не помните. По непонятной причине вы " "ощущаете надежду, всё такое новое, и вы справитесь!" @@ -159012,7 +165615,7 @@ msgid "" "While we chat, what say you we open a beer and just... pretend the world " "isn't ending, just for a while?" msgstr "" -"Что скажешь, если мы откроем пива, поболтаем и просто... притворимся, что " +"Что скажешь, если мы откроем пива, поболтаем и просто… притворимся, что " "никакого апокалипсиса нет, хотя б на минутку?" #: lang/json/snippet_from_json.py @@ -159781,7 +166384,7 @@ msgstr "Я просто пойду спать, ?" #: lang/json/snippet_from_json.py msgid "I just...gotta close my eyes for a bit, okay?" -msgstr "Я просто... просто прикрою глаза на минутку, лады?" +msgstr "Я просто… просто прикрою глаза на минутку, лады?" #: lang/json/snippet_from_json.py msgid "Can't remember the last time I had a proper kip." @@ -160232,7 +166835,7 @@ msgstr "Да, бросай !" #: lang/json/snippet_from_json.py msgid "" "Please put down your weapon. I'll give you to the count of three. One..." -msgstr "Пожалуйста, брось оружие. Я считаю до трёх. Раз..." +msgstr "Пожалуйста, брось оружие. Я считаю до трёх. Раз…" #: lang/json/snippet_from_json.py msgid "Let's take it easy now, okay? Put the weapon down." @@ -160516,7 +167119,7 @@ msgstr ", я охуеваю, как ты, , , умудри #: lang/json/snippet_from_json.py msgid "you're the reason the gene pool needs a lifeguard" -msgstr "ты - это причина, почему генофонду нужен охранник" +msgstr "ты — это причина, почему генофонду нужен охранник" #: lang/json/snippet_from_json.py msgid "Can I get out and walk? This vehicle is too small." @@ -161359,41 +167962,23 @@ msgstr "" "батареек, чтоб подзарядиться." #: lang/json/snippet_from_json.py -msgid "Pass me a beer, I need to power my ethanol burner." -msgstr "Дай мне пива, мне надо заправить сжигатель этанола." - -#: lang/json/snippet_from_json.py -msgid "" -"Ethanol burners! The power source that's fun to recharge. Get me a drink, " -"please!" -msgstr "" -"Сжигатели этанола! Источник энергии, который весело заряжать. Дай мне " -"выпить, пожалуйста!" +msgid "Pass some ethanol, I need to power my ethanol burner." +msgstr "Дай мне этанола, мне надо заправить сжигатель алкоголя." #: lang/json/snippet_from_json.py msgid "Waiter! I need a refill, my ethanol burner is running out of charge!" msgstr "Официант! Мне надо повторить, у сжигателя этанола кончается топливо!" #: lang/json/snippet_from_json.py -msgid "" -"I require ethanol-based drinks for my internal power supply. Anything on " -"you?" -msgstr "" -"Мне нужно спиртное, чтоб зарядить внутренний генератор. Есть что-нибудь?" - -#: lang/json/snippet_from_json.py -msgid "" -"Got any alcohol to spare? Need to recharge my drives. Mead, if you have any." +msgid "I require ethanol for my internal power supply. Anything on you?" msgstr "" -"У тебя не будет алкоголя? Мне надо зарядить батареи. Медовухи, если можно." +"Мне нужен этанол, чтоб зарядить внутренний генератор. Есть что-нибудь?" #: lang/json/snippet_from_json.py msgid "" -"This ethanol-burning power supply is the best implant I ever got. Speaking " -"of which, got some booze to top me off?" +"Got any alcohol to spare? Need to recharge my drives. Methanol, would do." msgstr "" -"Эта этаноловая машинка - лучший имплант, что у меня есть. Кстати говоря, нет" -" ли бухла, чтоб зарядиться?" +"У тебя не будет алкоголя? Мне надо зарядить батареи. Метанол подойдёт." #: lang/json/snippet_from_json.py msgid "I need some junk to power my internal furnace." @@ -161530,11 +168115,11 @@ msgstr "Я хочу спросить тебя о чём-нибудь ещё." #: lang/json/snippet_from_json.py msgid "Moving on..." -msgstr "Пойдём..." +msgstr "Пойдём…" #: lang/json/snippet_from_json.py msgid "Anyway..." -msgstr "Всё равно..." +msgstr "Всё равно…" #: lang/json/snippet_from_json.py msgid "We should probably get going." @@ -162090,6 +168675,47 @@ msgstr " будет избегать противников, если msgid " will follow normal engagement rules." msgstr " будет следовать обычным правилам встречи с противником." +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"IMMERSION LOG: 27A\n" +"\n" +"INCIDENT REPORT:\n" +"\n" +"SUMMARY:\n" +"Unforeseen EM interference source forced the team to remain in-phase between prime and sub-scape 27. Expedition members reported observing a spheroid-entity ('PE-01') moving beneath the typically opaque t-substrate. Interference readings and expedition testimony implies the PE-01 was a potent EM radiation source, and the origin of the interference. After 30 min, PE-01 receded and the expedition was aborted in accordance of procedure EMER-12. The expedition team suffered no injuries, physical or mental, during the incident. \n" +"\n" +"It's become clear we have greatly underestimated the risk posed by phase immersions. Engineering has been tasked with designing a new, improved protection suite, and has shown promising advances. Updated emergency procedures are in-progress.\n" +"\n" +"Refer to file EXO-I-271 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALYSIS OF TRANSPLANAR MATERIALS\n" +"\n" +"T-SUBSTRATE\n" +"\n" +"SUMMARY:\n" +"The material henceforth named t-substrate is the naturally occurring 'floor' material of phase-space. Samples of t-substrate were first recovered during IMMERSION-25A, when upon return to prime the samples violently [////////], exhibiting what are now known as 'plane-uneven' physical properties. The following report will examine such variances to the best extent of our knowledge.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALISIS OF TRANSPLANAR MATERIALS \n" +"\n" +"T-SUBSTRATE\n" +"\n" +"HAADF MICROGRAPH:\n" +"An atomic-scale photograph shows only a completely smooth red surface. In the lower left corner the phrase 'Not made of atoms?!' is scrawled with a blue pen.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + #: lang/json/snippet_from_json.py msgid "" "\n" @@ -162221,7 +168847,7 @@ msgstr "" " Кому: Константин Дворак, замминистра по ядерной безопасности\n" " От: Роберт Шейн, Директор EPA\n" " \n" -" С самого начала создания проекта SRCF EPA выступало против него. Мы были в ужасе от того, что эти объекты будут сооружаться очень близко к населённым пунктам. И мы также согласились молчать про проект при условии, что нам будет разрешено осматривать саркофаги. Но это условие не было выполнено. С момента создания DoE использует все средства, чтобы помешать агентам EPA посещать объекты SRCF. В ход идёт военная тайна, резервные ресурсы, внутренние приказы о неразглашении - всё для того, чтобы сильней погрузить проект в дебри бюрократии." +" С самого начала создания проекта SRCF EPA выступало против него. Мы были в ужасе от того, что эти объекты будут сооружаться очень близко к населённым пунктам. И мы также согласились молчать про проект при условии, что нам будет разрешено осматривать саркофаги. Но это условие не было выполнено. С момента создания DoE использует все средства, чтобы помешать агентам EPA посещать объекты SRCF. В ход идёт военная тайна, резервные ресурсы, внутренние приказы о неразглашении — всё для того, чтобы сильней погрузить проект в дебри бюрократии." #: lang/json/snippet_from_json.py msgid "" @@ -162484,12 +169110,12 @@ msgstr "Пробуждение даётся с боем… и ваше тело #: lang/json/snippet_from_json.py msgid "some ." -msgstr "музыку - ." +msgstr "музыку — ." #: lang/json/snippet_from_json.py msgid "some . The is ." msgstr "" -"музыку -. звучит ." +"музыку —. звучит ." #: lang/json/snippet_from_json.py msgid " " @@ -163356,7 +169982,7 @@ msgstr "Они меня достали-таки!" #: lang/json/snippet_from_json.py msgid "*cough cough* Go on without me..." -msgstr "*кха-кха* Дальше тебе придётся без меня..." +msgstr "*кха-кха* Дальше тебе придётся без меня…" #: lang/json/snippet_from_json.py msgid "Am I gonna die?" @@ -163417,12 +170043,12 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "You are being watched... by THEM." -msgstr "За вами наблюдают... ОНИ." +msgstr "За вами наблюдают… ОНИ." #: lang/json/snippet_from_json.py msgid "" "You gain the sudden realization that you are the creator of the universe." -msgstr "Вы внезапно понимаете, что вы - творец Вселенной." +msgstr "Вы внезапно понимаете, что вы — творец Вселенной." #: lang/json/snippet_from_json.py msgid "You increase all your skills to level 10." @@ -163431,7 +170057,7 @@ msgstr "Вы повышаете все навыки до уровня 10." #: lang/json/snippet_from_json.py msgid "" "You feel that this must be a global reality show, in which you are the star." -msgstr "Вы понимаете, что всё это - глобальное реалити-шоу, а вы его звезда." +msgstr "Вы понимаете, что всё это — глобальное реалити-шоу, а вы его звезда." #: lang/json/snippet_from_json.py msgid "" @@ -163540,7 +170166,7 @@ msgstr "%1$s лжёт вам." #: lang/json/snippet_from_json.py #, no-python-format msgid "%1$s was working for... THEM" -msgstr "%1$s работал... на НИХ." +msgstr "%1$s работал… на НИХ." #: lang/json/snippet_from_json.py #, no-python-format @@ -163977,13 +170603,13 @@ msgid "" "water is recommended until further notice." msgstr "" "Это публичное предупреждение Центра по Контролю Заболеваний. Переведённое на" -" несколько языков сообщение гласит: \"УГРОЗА ОБЩЕСТВЕННОМУ ЗДОРОВЬЮ: Ввиду " +" несколько языков сообщение гласит: «УГРОЗА ОБЩЕСТВЕННОМУ ЗДОРОВЬЮ: Ввиду " "последних событий ЦКЗ предупреждает избегать общественных мест. " "Подозревается, что неизвестный биологический загрязнитель влияет на здоровье" " граждан, вероятно, неожиданная мутация штамма вируса гриппа A H3N2. ЦКЗ " "напоминает общественности прикрывать нос и рот платком при кашле или " "чихании, а также тщательно мыть руки с мылом и по возможности получить " -"очередную прививку. Рекомендуется кипятить воду до дальнейших указаний.\"" +"очередную прививку. Рекомендуется кипятить воду до дальнейших указаний.»" #: lang/json/snippet_from_json.py msgid "" @@ -163996,12 +170622,12 @@ msgid "" "personnel evacuate you to a secured facility. Thank you for your compliance." msgstr "" "Это публичное предупреждение от Министерства по Чрезвычайным Ситуациям. " -"Сообщение повторяется на нескольких языках и гласит: \"ОСТАВАЙТЕСЬ В СВОИХ " +"Сообщение повторяется на нескольких языках и гласит: «ОСТАВАЙТЕСЬ В СВОИХ " "ДОМАХ! Всем жителям Области Бедствия Новой Англии рекомендуется оставаться в" " любом укрытии. Вооружённые Силы США устанавливают карантин. Если вы можете " "безопасно добраться до эвакуационного убежища, сделайте это. В ином случае " "оставайтесь дома, пока уполномоченный персонал не доставит вас в безопасное " -"место. Благодарим за сотрудничество.\"" +"место. Благодарим за сотрудничество.»" #: lang/json/snippet_from_json.py msgid "" @@ -164014,7 +170640,7 @@ msgstr "" "Это публичное предупреждение от Министерства по Чрезвычайным Ситуациям. " "Сообщение повторяется на нескольких языках и содержит список городов, " "превращённых в главные пункты эвакуации из Области Бедствия Новой Англии. " -"Кто-то зачеркнул названия почти всех городов и подписал \"ЗАХВАЧЕН\" к " +"Кто-то зачеркнул названия почти всех городов и подписал «ЗАХВАЧЕН» к " "каждому, за исключением эвакуационного пункта Такома." #: lang/json/snippet_from_json.py @@ -164312,8 +170938,8 @@ msgid "" "autoclaving./!\\\"" msgstr "" "Листок с указаниями по процедуре автоклавирования. Вы замечаете одну фразу " -"\"/!\\Перед автоклавированием обязательно поместите инструменты в сумку для " -"автоклавирования/!\\\"" +"«/!\\ Перед автоклавированием обязательно поместите инструменты в сумку для " +"автоклавирования /!\\»" #: lang/json/snippet_from_json.py msgid "" @@ -164444,9 +171070,9 @@ msgid "" "unconscious body on that Autodoc and remove the chip that is messing up " "their brain!\"" msgstr "" -"\"Спасите киборгов! Пожалуйста, кто бы это ни читал, помоги им! Оглуши их " -"или выключи, всё равно как. Но потом затащи их бессознательное тело на " -"Автодок и удали чип, портящий им мозги!\"" +"«Спасите киборгов! Пожалуйста, кто бы это ни читал, помоги им! Оглуши их или" +" выключи, всё равно как. Но потом затащи их бессознательное тело на Автодок " +"и удали чип, портящий им мозги!»" #: lang/json/snippet_from_json.py #, no-python-format @@ -164481,7 +171107,7 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "\"You want my advice? Smoke crack, it gets shit done.\"" -msgstr "\"Хочешь совет? Кури крэк, он разрулит всю хуйню.\"" +msgstr "«Хочешь совет? Кури крэк, он разрулит всю хуйню.»" #: lang/json/snippet_from_json.py msgid "" @@ -164714,8 +171340,8 @@ msgid "" "\"Killed a giant worm thing, but now I'm only three feet tall. Should've " "just left the damn worm alone, now none of my clothes fit!\"" msgstr "" -"\"Убил огромного червя, но теперь я метр ростом. Надо было просто держаться " -"подальше от сраного червя, мне не подходит моя одежда!\"" +"«Убил огромного червя, но теперь я метр ростом. Надо было просто держаться " +"подальше от сраного червя, мне не подходит моя одежда!»" #: lang/json/snippet_from_json.py msgid "\"I don't have enough time to double tap. You don't either.\"" @@ -164889,11 +171515,11 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "\"There's still an evacuation point at Concord, spread the word.\"" -msgstr "\"В Конкорде всё ещё есть пункт эвакуации, расскажите всем.\"" +msgstr "«В Конкорде всё ещё есть пункт эвакуации, расскажите всем.»" #: lang/json/snippet_from_json.py msgid "\"STAY AWAY FROM CONCORD\"" -msgstr "\"ДЕРЖИСЬ ПОДАЛЬШЕ ОТ КОНКОРДА\"" +msgstr "«ДЕРЖИСЬ ПОДАЛЬШЕ ОТ КОНКОРДА»" #: lang/json/snippet_from_json.py msgid "" @@ -165179,7 +171805,7 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "\"KASHWAK: NO-FO\"" -msgstr "\"КАШВАК: НЕТ-ТЕЛ\"" +msgstr "«КАШВАК: НЕТ-ТЕЛ»" #: lang/json/snippet_from_json.py msgid "" @@ -165398,16 +172024,16 @@ msgid "" "\"WBLF 970 went off-air three days ago. There's nobody left on the radio. " "Might as well throw this thing away...\"" msgstr "" -"\"Станция WBLF 970 вышла из эфира три дня назад. На радио никого не " -"осталось. Можно просто выкинуть эту штуку...\"" +"«Станция WBLF 970 ушла из эфира три дня назад. На радио никого не осталось. " +"Можно просто выкинуть эту штуку…»" #: lang/json/snippet_from_json.py msgid "" "\"I've heard it's safer across the Mississippi. Going to start driving " "today. If you're reading this, pray for me\"" msgstr "" -"\"Слышал, на Миссисипи сейчас спокойно. Хочу уехать сегодня. Если вы это " -"читаете, помолитесь за меня\"" +"«Слышал, на Миссисипи сейчас спокойно. Хочу уехать сегодня. Если вы это " +"читаете, помолитесь за меня»" #: lang/json/snippet_from_json.py msgid "" @@ -165527,9 +172153,9 @@ msgid "" "people we're having a cold war with! This is an invasion! These aren't " "zombies, it's just camoflauge! WAKE UP, SHEEPLE!\"" msgstr "" -"\"Во всём виноват Китай. Ну правда, почему никто не подозревает людей, с " +"«Во всём виноват Китай. Ну правда, почему никто не подозревает людей, с " "которыми у нас холодная война! Это вторжение! Зомби вовсе не зомби, это " -"маскировка! БАРАНЫ, ОЧНИТЕСЬ!\"" +"маскировка! БАРАНЫ, ОЧНИТЕСЬ!»" #: lang/json/snippet_from_json.py msgid "" @@ -165765,8 +172391,8 @@ msgid "" "\"Don't mix powders, them books said. Do Not Mix powders. Didn't listen " "did I. Blew my goddamn pinky off, near lost my right eye.\"" msgstr "" -"\"Книжки говорили мне, не мешай порох. Не Мешай Порох. Но я ж не слушал. Мне" -" к хуям оторвало мизинец, почти потерял правый глаз.\"" +"«Книжки говорили мне, не мешай порох. Не Мешай Порох. Но я ж не слушал. Мне " +"к хуям оторвало мизинец, почти потерял правый глаз.»" #: lang/json/snippet_from_json.py msgid "" @@ -165775,10 +172401,10 @@ msgid "" "fuckn exploded. low on crank, good as dead, no gun, no toby. headed to " "montreal real sorry bout the bullets\"" msgstr "" -"\"делал всё как напесал тоби. в гильзы могло влесть больше, я напхал больше." -" почти все обминял у рейдеров за дурь. стрельнул из 38 сегодня и он взрвался" -" нахуй. дури нет, мне кранты, пушки нет, тоби нет. шол в монреаль очинь " -"жалею про пули\"" +"«делал всё как напесал тоби. в гильзы могло влесть больше, я напхал больше. " +"почти все обминял у рейдеров за дурь. стрельнул из 38 сегодня и он взрвался " +"нахуй. дури нет, мне кранты, пушки нет, тоби нет. шол в монреаль очинь жалею" +" про пули»" #: lang/json/snippet_from_json.py msgid "" @@ -165829,8 +172455,8 @@ msgid "" "There are also reports of infected with acidic and/or electric properties." msgstr "" "ГЕНЕТИЧЕСКИЕ МОДИФИКАЦИИ?: Свидетели в Области Бедствия Новой Англии " -"заявляют, что наблюдали нечеловеческие способности у заражённых. \"Клянусь, " -"один из них был ростом с дерево!\" - сообщает один перепуганный выживший. " +"заявляют, что наблюдали нечеловеческие способности у заражённых. «Клянусь, " +"один из них был ростом с дерево!» — сообщает один перепуганный выживший. " "Также поступают сведения о заражённых с кислотными и/или электрическими " "способностями." @@ -165844,8 +172470,8 @@ msgid "" msgstr "" "СУПЕРСОЛДАТЫ НА МЕСТЕ: Генерал Вестингауз сегодня выступил с заявлением и " "сообщил, что в Область Бедствия Новой Англии вертолётами доставлены элитные " -"отряды с самыми новейшими экспериментальными боевыми имплантатами. \"Мощью " -"американской технологии и американских солдат мы справимся с этой бедой!\"" +"отряды с самыми новейшими экспериментальными боевыми имплантами. «Мощью " +"американской технологии и американских солдат мы справимся с этой бедой!»" #: lang/json/snippet_from_json.py msgid "" @@ -165889,7 +172515,7 @@ msgid "" "Please retreat to your nearest evacuation center outside town and await " "extraction.\"" msgstr "" -"ГОРОДА - ОККУПИРОВАННАЯ ТЕРРИТОРИЯ: Представители МЧС сегодня заявили: «Не " +"ГОРОДА — ОККУПИРОВАННАЯ ТЕРРИТОРИЯ: Представители МЧС сегодня заявили: «Не " "пытайтесь защитить свою собственность в городах: противники могут вас " "отследить, возможно по запаху. Пожалуйста, отступите в ближайший " "эвакуационный центр за пределами города и ждите эвакуации.»" @@ -165901,10 +172527,10 @@ msgid "" "knife until unrecognizable! The Geneva Conventions don't apply to " "civilians!" msgstr "" -"РЕДАКТОР ГОВОРИТ \"УНИЧТОЖАЙТЕ МЁРТВЫХ\". Лежащие на улице мертвецы могут " -"быть опасны! Если вы убили противника, разбейте его труп в кашу или " -"разделайте при помощи ножа, пока его нельзя будет распознать! Женевская " -"Конвенция не касается гражданских!" +"РЕДАКТОР ГОВОРИТ «УНИЧТОЖАЙТЕ МЁРТВЫХ». Лежащие на улице мертвецы могут быть" +" опасны! Если вы убили противника, разбейте его труп в кашу или разделайте " +"при помощи ножа, пока его нельзя будет распознать! Женевская Конвенция не " +"касается гражданских!" #: lang/json/snippet_from_json.py msgid "" @@ -165999,8 +172625,8 @@ msgid "" msgstr "" "США ИГНОРИРУЕТ ТРЕБОВАНИЯ ООН: Посол США в ООН сегодня отклонил требования " "ООН о взаимном ядерном разоружении Соединённых Штатов, Китая и Северной " -"Кореи. \"У нас есть право защищаться, - настаивает посол. - Мы разоружимся " -"тогда, когда они сделают это.\"" +"Кореи. «У нас есть право защищаться, — настаивает посол. — Мы разоружимся " +"тогда, когда они сделают это.»" #: lang/json/snippet_from_json.py msgid "" @@ -166106,9 +172732,9 @@ msgid "" msgstr "" "ОПРОВЕРЖЕНИЕ СЛУХОВ: Заявления о том, что DARPA тайно проводит эксперименты " "по телепортации где-то в окрестностях Вейланда, были отвергнуты в ходе " -"пресс-конференции сегодня утром. \"Я должен уточнить, что мы не только " +"пресс-конференции сегодня утром. «Я должен уточнить, что мы не только " "никогда не проводили таких экспериментов, но и что телепортация существует " -"только в фантастических фильмах\", сообщил офицер в ходе пресс-конференции." +"только в фантастических фильмах», сообщил офицер в ходе пресс-конференции." #: lang/json/snippet_from_json.py msgid "" @@ -166231,7 +172857,7 @@ msgid "" msgstr "" "МУТИРОВАВШАЯ ПРОСТУДА: В районе Новой Англии появился новый вирус простуды. " "«По-видимому, она не даёт осложнений, но у многих заболевших выявляются " -"внезапная мышечная слабость и значительная сонливость», - заявляет врач. " +"внезапная мышечная слабость и значительная сонливость», — заявляет врач. " "«Кроме того, судя по нашим сведениям, заболевание длится до десяти дней.»" #: lang/json/snippet_from_json.py @@ -166253,10 +172879,10 @@ msgid "" " use teleportation to reach aliens, unless they live on some kind of " "parallel world.\"" msgstr "" -"КОСМИЧЕСКАЯ ТЕЛЕПОРТАЦИЯ - ПРАВДА ИЛИ ВЫМЫСЕЛ? Учёные отвечают на растущую " -"теорию заговора: \"Количество потребляемого плутония огромно. Мы никогда не " +"КОСМИЧЕСКАЯ ТЕЛЕПОРТАЦИЯ — ПРАВДА ИЛИ ВЫМЫСЕЛ? Учёные отвечают на растущую " +"теорию заговора: «Количество потребляемого плутония огромно. Мы никогда не " "сможем добраться до инопланетян при помощи телепортации, если только они не " -"живут в каком-нибудь параллельном мире.\"" +"живут в каком-нибудь параллельном мире.»" #: lang/json/snippet_from_json.py msgid "" @@ -166280,8 +172906,8 @@ msgid "" msgstr "" "ПОТРЕБЛЕНИЕ НАРКОТИКОВ ВОЗРАСТАЕТ: Недавняя статистика показала, что " "потребление наркотиков в Новой Англии выросло на 20% за последние 2 года. " -"\"Люди боятся за свою работу, свою страну, даже за свою жизнь... конечно, " -"некоторые из них обратят свой взор на наркотики\", - говорит эксперт." +"«Люди боятся за свою работу, свою страну, даже за свою жизнь… конечно, " +"некоторые из них обратят свой взор на наркотики», — говорит эксперт." #: lang/json/snippet_from_json.py msgid "" @@ -166312,10 +172938,10 @@ msgid "" "actors, what more does this adorable android hides under its smiling face? " "Our expert got the answer for you!" msgstr "" -"НОВОСТИ МИРА ТЕХНИКИ: Компания \"Жуть\" выпустила новинку - Бакалейный " -"Робот! Тысячи условий иначе-если, предзаписанный голос профессиональных " -"актёров, что же ещё скрывается под улыбкой этого милого андроида? У нашего " -"эксперта есть ответ!" +"НОВОСТИ МИРА ТЕХНИКИ: Компания «Жуть» выпустила новинку — Бакалейный Робот! " +"Тысячи условий иначе-если, предзаписанный голос профессиональных актёров, " +"что же ещё скрывается под улыбкой этого милого андроида? У нашего эксперта " +"есть ответ!" #: lang/json/snippet_from_json.py msgid "" @@ -166338,9 +172964,9 @@ msgid "" msgstr "" "ОТКРЫТА НОВАЯ ЛАБОРАТОРИЯ: Сегодня прошло официальное открытие " "Исследовательского Центра Г.Р. Беннета при участии Министерства Энергетики. " -"По словам заместителя министра Рэндалла Балакришана, \"Этот комплекс - один " +"По словам заместителя министра Рэндалла Балакришана, «Этот комплекс — один " "из самых высокотехнологичных в мире. С открытием Центра Г.Р. Беннета будущее" -" Новой Англии выглядит ещё ярче, чем раньше.\"" +" Новой Англии выглядит ещё ярче, чем раньше.»" #: lang/json/snippet_from_json.py msgid "" @@ -166350,7 +172976,7 @@ msgid "" "and the Philippines. \"We must pray for the best while preparing for the " "worst. We cannot abandon key allies in the face of Chinese bullying.\"" msgstr "" -"ПОДДЕРЖАТЬ СТРАНЫ, КОТОРЫЕ ПОДДЕРЖИВАЮТ НАС - ПРЕЗИДЕНТ: Сегодня президент " +"ПОДДЕРЖАТЬ СТРАНЫ, КОТОРЫЕ ПОДДЕРЖИВАЮТ НАС — ПРЕЗИДЕНТ: Сегодня президент " "высказал неожиданное и непопулярное заявление, в котором не исключил " "введение военного призыва в мирное время в ответ на возрастающую китайскую " "агрессию в отношении Тайваня и Филиппин: «Мы должны молиться за лучшее, пока" @@ -166438,10 +173064,10 @@ msgid "" "uncertain times. After all, remember the clown thing a few years ago?\"" msgstr "" "МИФ ОПРОВЕРГНУТ: МЕРТВЕЦЫ ОСТАЮТСЯ МЕРТВЕЦАМИ: Истории про восставших " -"мертвецов \"совершенно безосновательны\", - заявил сегодня генерал. \"Это же" -" очевидная выдумка людей, чтобы найти пять минут славы или напугать " -"население в непростые времени. В конце концов, вы же помните тот случай с " -"клоуном пару лет назад?\"" +"мертвецов «совершенно безосновательны», — заявил сегодня генерал. «Это же " +"очевидная выдумка людей, чтобы найти пять минут славы или напугать население" +" в непростые времени. В конце концов, вы же помните тот случай с клоуном " +"пару лет назад?»" #: lang/json/snippet_from_json.py msgid "" @@ -166463,9 +173089,9 @@ msgid "" "new street drug.\"" msgstr "" "ВСПЫШКИ НАСИЛИЯ, ВЫЗВАННЫЕ «НОВЫМ НАРКОТИКОМ»: Сегодня были развенчаны слухи" -" о бунтах. \"Это были отдельные случаи\", — сообщил глава местной полиции. —" -" \"Беспорядочное и бессмысленное насилие, мы подозреваем, что это примесь в " -"новом уличном наркотике.\"" +" о бунтах. «Это были отдельные случаи», — сообщил глава местной полиции. — " +"«Беспорядочное и бессмысленное насилие, мы подозреваем, что это примесь в " +"новом уличном наркотике.»" #: lang/json/snippet_from_json.py msgid "" @@ -166475,9 +173101,9 @@ msgid "" "the water making people zombies!\"" msgstr "" "ЗОМБИ-НАРКОТИК? Блоггер предполагает, что недавние бунты были вызваны " -"химической атакой со стороны Китая. \"Они завидуют нашему превосходству в " +"химической атакой со стороны Китая. «Они завидуют нашему превосходству в " "кибернетике и поэтому объединились с Гаити, чтобы добавлять вуду-наркотики в" -" воду, чтобы делать из людей зомби!\"" +" воду, чтобы делать из людей зомби!»" #: lang/json/snippet_from_json.py msgid "" @@ -167074,7 +173700,7 @@ msgid "" "destroyed from the inside out, while the former sustained little damage. I " "would like to explore the phenomenon further, but subjects are expensive." msgstr "" -"Во вспомогательной телепортационной лаборатории произошёл инцидент - " +"Во вспомогательной телепортационной лаборатории произошёл инцидент — " "наблюдаемый субъект телепортировался внутрь другого субъекта. Последний был " "полностью уничтожен изнутри, а первый получил лёгкие повреждения. Я хочу " "исследовать этот феномен и дальше, но субъекты стоят дорого." @@ -168432,14 +175058,14 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made " -"of smooth candy looking at you in terror. \"SugarKin the first life-size " +"A flyer for some kind of candy. It shows a picture of a gleaming human made" +" of smooth candy looking at you in terror. \"SugarKin the first life-size " "human candy! Are you a real monster? Will you be able to devour it all?\"" msgstr "" "Флаер-рекламка какой-то конфеты. На нём нарисован летящий человечек из " -"сплошной карамели, он в ужасе смотрит на вас. \"Сахарок - первая в мире " +"сплошной карамели, он в ужасе смотрит на вас. «Сахарок — первая в мире " "конфета размером с человека! Настоящее ли вы чудовище? Сумеете ли его " -"съесть?\"" +"съесть?»" #: lang/json/snippet_from_json.py msgid "" @@ -169488,7 +176114,7 @@ msgid "a static hissing sound." msgstr "шипение." #: lang/json/speech_from_json.py -msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe...\"" +msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe…\"" msgstr "«Эта жуткая заброшенная лаборатория выглядит безопасно…»" #: lang/json/speech_from_json.py @@ -169499,14 +176125,14 @@ msgstr "«Не бойся, непохоже, чтоб что-то могло в #: lang/json/speech_from_json.py msgid "\"Hold on, I want to pulp that zombie corpse.\"" -msgstr "\"Погоди, я хочу разбить труп того зомби.\"" +msgstr "«Погоди, я хочу разбить труп того зомби.»" #: lang/json/speech_from_json.py -msgid "\"Burning... from the inside...\"" +msgid "\"Burning… from the inside…\"" msgstr "«Горю… изнутри…»" #: lang/json/speech_from_json.py -msgid "\"This smell... Don't know...\"" +msgid "\"This smell… Don't know…\"" msgstr "«Этот запах… Не знаю…»" #: lang/json/speech_from_json.py @@ -169518,19 +176144,19 @@ msgid "a scraping noise." msgstr "скрежет." #: lang/json/speech_from_json.py -msgid "\"No... Stop the burning!\"" +msgid "\"No… Stop the burning!\"" msgstr "«Нет… Останови огонь!»" #: lang/json/speech_from_json.py -msgid "\"Hrgm... Blood... Hungry...\"" +msgid "\"Hrgm… Blood… Hungry…\"" msgstr "«Грррх… Кровь… Голод…»" #: lang/json/speech_from_json.py -msgid "\"Hunger... Must eat...\"" +msgid "\"Hunger… Must eat…\"" msgstr "«Хочу есть… Надо есть…»" #: lang/json/speech_from_json.py -msgid "\"Run... Chase... Eat...\"" +msgid "\"Run… Chase… Eat…\"" msgstr "«Бежать… Искать… Есть…»" #: lang/json/speech_from_json.py @@ -169645,32 +176271,32 @@ msgstr "«Не сюда! Налево!»" #: lang/json/speech_from_json.py msgid "\"I told you to let me die.\"" -msgstr "\"Я просил тебя дать мне умереть.\"" +msgstr "«Я просил тебя дать мне умереть.»" #: lang/json/speech_from_json.py msgid "\"W-where am I? Why does it hur-REBOOTING IN 59 SECONDS.\"" -msgstr "\"Г-где я? Почему мне так боль-ПЕРЕЗАГРУЗКА ЧЕРЕЗ 59 СЕКУНД.\"" +msgstr "«Г-где я? Почему мне так боль-ПЕРЕЗАГРУЗКА ЧЕРЕЗ 59 СЕКУНД.»" #: lang/json/speech_from_json.py msgid "\"THIS UNIT IS BROKEN. PLEASE CALL AN ATTENDANT.\"" -msgstr "\"ЭТО УСТРОЙСТВО НЕИСПРАВНО. ПОЖАЛУЙСТА, СВЯЖИТЕСЬ С ДЕЖУРНЫМ.\"" +msgstr "«ЭТО УСТРОЙСТВО НЕИСПРАВНО. ПОЖАЛУЙСТА, СВЯЖИТЕСЬ С ДЕЖУРНЫМ.»" #: lang/json/speech_from_json.py -msgid "\"Can't... breathe...\"" -msgstr "\"Не могу... дышать...\"" +msgid "\"Can't… breathe…\"" +msgstr "«Не могу… дышать…»" #: lang/json/speech_from_json.py msgid "\"This cannot continue.\"" -msgstr "\"Так больше нельзя.\"" +msgstr "«Так больше нельзя.»" #: lang/json/speech_from_json.py msgid "\"USER PASSWORD UNRECOGNIZED.\"" -msgstr "\"НЕВЕРНЫЙ ПАРОЛЬ.\"" +msgstr "«НЕВЕРНЫЙ ПАРОЛЬ.»" #: lang/json/speech_from_json.py msgid "" -"\"Have you seen my friend? He went into surgery yesterday... or maybe the " -"day before...\"" +"\"Have you seen my friend? He went into surgery yesterday… or maybe the day" +" before…\"" msgstr "«Ты не видел моего друга? У него вчера была операция… или позавчера…»" #: lang/json/speech_from_json.py @@ -169682,21 +176308,20 @@ msgid "\"I have done what you asked. Please let me go!\"" msgstr "«Я сделал, что ты просил. Пожалуйста, отпусти меня!»" #: lang/json/speech_from_json.py -msgid "\"I cannot... yet I must. How do you calculate that?\"" -msgstr "\"Я не могу... но так надо. Как это рассчитать?\"" +msgid "\"I cannot… yet I must. How do you calculate that?\"" +msgstr "«Я не могу… но так надо. Как это рассчитать?»" #: lang/json/speech_from_json.py msgid "\"This is a dream. This has to be a dream.\"" -msgstr "\"Это всё сон. Это должен быть сон.\"" +msgstr "«Это всё сон. Это должен быть сон.»" #: lang/json/speech_from_json.py -msgid "\"This is my life now... this is my life now... this is my life now...\"" -msgstr "" -"\"Теперь это моя жизнь... теперь это моя жизнь... теперь это моя жизнь...\"" +msgid "\"This is my life now… this is my life now… this is my life now…\"" +msgstr "«Теперь это моя жизнь… Теперь это моя жизнь… Теперь это моя жизнь…»" #: lang/json/speech_from_json.py -msgid "\"Wanna go home...\"" -msgstr "\"Я хочу домой...\"" +msgid "\"Wanna go home…\"" +msgstr "«Я хочу домой…»" #: lang/json/speech_from_json.py msgid "screams of pain." @@ -169734,87 +176359,87 @@ msgstr "мягкий электронный голос «Вот так. Прос msgid "" "a voice say, \"I don't want to go but our time together is drawing to an " "end.\"" -msgstr "голос \"Я не хочу уходить, но наше с тобой время истекает.\"" +msgstr "голос «Я не хочу уходить, но наше с тобой время истекает.»" #: lang/json/speech_from_json.py msgid "a cheery voice say, \"Customer? We'll be friends forever, right?\"" -msgstr "весёлый голос \"Покупатель? Мы же будем друзьями навечно, правда?\"" +msgstr "весёлый голос «Покупатель? Мы же будем друзьями навечно, правда?»" #: lang/json/speech_from_json.py msgid "" "a neutral voice say, \"Customer I must inform you that my allocated time " "with you will soon come to its end.\"" msgstr "" -"нейтральный голос \"Покупатель, я должен сообщить, что выделенное вам время " -"скоро истечёт.\"" +"нейтральный голос «Покупатель, я должен сообщить, что выделенное вам время " +"скоро истечёт.»" #: lang/json/speech_from_json.py msgid "" "a neutral voice say, \"I'll have to leave you soon. You can acquire more " "friendship through my dedicated interface if you wish for me to stay.\"" msgstr "" -"нейтральный голос \"Я скоро вас покину. Вы можете приобрести больше дружбы " +"нейтральный голос «Я скоро вас покину. Вы можете приобрести больше дружбы " "при помощи моего специализированного интерфейса, если хотите, чтобы я " -"остался.\"" +"остался.»" #: lang/json/speech_from_json.py msgid "" "a worried voice say, \"Customer, could you please get more friendship? I " -"don't want to go...\"" +"don't want to go…\"" msgstr "" -"обеспокоенный голос \"Покупатель, пожалуйста, не мог бы ты достать ещё " -"дружбы? Я не хочу уходить...\"" +"обеспокоенный голос «Покупатель, пожалуйста, не мог бы ты достать ещё " +"дружбы? Я не хочу уходить…»" #: lang/json/speech_from_json.py msgid "a voice say, \"Oh no! You ran out of friendship!\"" -msgstr "голос \"О нет! Дружба кончилась!\"" +msgstr "голос «О нет! Дружба кончилась!»" #: lang/json/speech_from_json.py msgid "a cheery voice say, \"Well I'm done here. Have a nice day.\"" -msgstr "весёлый голос \"Что ж, моя работа выполнена. Хорошего дня.\"" +msgstr "весёлый голос «Что ж, моя работа выполнена. Хорошего дня.»" #: lang/json/speech_from_json.py msgid "" "a cheery voice say, \"Here are your groceries. Thank you for shopping with " "me today, have a nice day.\"" msgstr "" -"весёлый голос \"Вот твои покупки. Спасибо, что сегодня ты был со мной, " -"хорошего тебе дня.\"" +"весёлый голос «Вот твои покупки. Спасибо, что сегодня ты был со мной, " +"хорошего тебе дня.»" #: lang/json/speech_from_json.py msgid "a neutral voice say, \"My job here is done. Have a nice day.\"" -msgstr "нейтральный голос \"Моя работа выполнена. Хорошего дня.\"" +msgstr "нейтральный голос «Моя работа выполнена. Хорошего дня.»" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"Customer... What's happening? I don't feel so " +"a distorted voice say, \"Customer… What's happening? I don't feel so " "good.\"" -msgstr "искажённый голос \"Покупатель... Что происходит? Мне нехорошо.\"" +msgstr "искажённый голос «Покупатель… Что происходит? Мне нехорошо.»" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"What... have you done? My thumbs are not " -"responding anymore!\"" -msgstr "искажённый голос \"Что... что ты наделал? Я не чувствую пальцев!\"" +"a distorted voice say, \"What… have you done? My thumbs are not responding " +"anymore!\"" +msgstr "искажённый голос: «Что… что ты наделал? Я не чувствую пальцев!»" #: lang/json/speech_from_json.py -msgid "a distorted voice say, \"Carrying bags? I don't understand...\"" -msgstr "искажённый голос \"Носить пакеты? Не понимаю...\"" +msgid "a distorted voice say, \"Carrying bags? I don't understand…\"" +msgstr "искажённый голос: «Носить пакеты? Не понимаю…»" #: lang/json/speech_from_json.py msgid "" "a robotic voice say, \"IRREGULAR ACTIVITY DETECTED. THUMBS USAGE DENIED.\"" msgstr "" -"электронный голос \"ЗАМЕЧЕНА ПОДОЗРИТЕЛЬНАЯ АКТИВНОСТЬ. ИСПОЛЬЗОВАНИЕ " -"ПАЛЬЦЕВ ОТКЛОНЕНО.\"" +"электронный голос «ЗАМЕЧЕНА ПОДОЗРИТЕЛЬНАЯ АКТИВНОСТЬ. ИСПОЛЬЗОВАНИЕ ПАЛЬЦЕВ" +" ОТКЛОНЕНО.»" #: lang/json/speech_from_json.py msgid "" "a robotic voice say, \"UNLICENSED USE DETECTED. CARRYING PROTOCOL " "DISABLED.\"" msgstr "" -"электронный голос \"ЗАМЕЧЕНО НЕЗАРЕГИСТРИРОВАННОЕ ИСПОЛЬЗОВАНИЕ. ПРОТОКОЛ " -"ПЕРЕНОСКИ ВЫКЛЮЧЕН.\"" +"электронный голос «ЗАМЕЧЕНО НЕЗАРЕГИСТРИРОВАННОЕ ИСПОЛЬЗОВАНИЕ. ПРОТОКОЛ " +"ПЕРЕНОСКИ ВЫКЛЮЧЕН.»" #: lang/json/speech_from_json.py msgid "\"Stop where you are!\"" @@ -169925,8 +176550,8 @@ msgid "\"Police inbound. Stay where you are!\"" msgstr "«Полиция скоро будет. Оставайтесь на месте!»" #: lang/json/speech_from_json.py -msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" -msgstr "Я ПОЕШЬ-КА. И Я ПРИНОШУ НАСЫЩЕНИЕ!" +msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" +msgstr "«Я ПОЕШЬ-КА. И Я ПРИНОШУ НАСЫЩЕНИЕ!»" #: lang/json/speech_from_json.py msgid "\"Come to FoodPlace today and buy food!\"" @@ -169946,7 +176571,7 @@ msgid "\"FoodPlace: It's the Calories.\"" msgstr "«„Сядь-и-поешь“: Всё дело в Калориях.»" #: lang/json/speech_from_json.py -msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" +msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" msgstr "«Нужно поесть? Ну так пойдём со мной в СЯДЬ-И-ПОЕШЬ!!»" #: lang/json/speech_from_json.py @@ -170014,8 +176639,8 @@ msgid "You shouldn't have done that." msgstr "Ты не должен был так делать." #: lang/json/speech_from_json.py -msgid "Let's play... Russian roulette." -msgstr "Давай сыграем… в русскую рулетку." +msgid "Let's play… Russian roulette." +msgstr "Давай сыграем… В русскую рулетку." #: lang/json/speech_from_json.py msgid "I hate you." @@ -170026,7 +176651,7 @@ msgid "Go kill yourself!" msgstr "Убей себя!" #: lang/json/speech_from_json.py -msgid "Big Brother is watching you..." +msgid "Big Brother is watching you…" msgstr "Большой Брат следит за тобой…" #: lang/json/speech_from_json.py @@ -170038,11 +176663,11 @@ msgid "Why won't you die?" msgstr "Почему ты никак не сдохнешь?" #: lang/json/speech_from_json.py -msgid "Blood... Delicious." -msgstr "Кровь… Прекрасно." +msgid "Blood… Delicious." +msgstr "Кровь… Вкуснятина." #: lang/json/speech_from_json.py -msgid "See you... IN HELL!" +msgid "See you… IN HELL!" msgstr "Увидимся… В АДУ!" #: lang/json/speech_from_json.py @@ -170058,7 +176683,7 @@ msgid "What did you do with my Mommy?" msgstr "Что ты сделал с моей мамочкой?" #: lang/json/speech_from_json.py -msgid "Stay with me... forever!" +msgid "Stay with me… forever!" msgstr "Будь со мной… всегда!" #: lang/json/speech_from_json.py @@ -171393,7 +178018,7 @@ msgstr "Чёрт-те где" #: lang/json/start_location_from_json.py msgid "Experiment Cell" -msgstr "Экспериментальная Ячейка" +msgstr "Клетка для экспериментов" #: lang/json/start_location_from_json.py msgid "Science lab" @@ -171503,6 +178128,10 @@ msgstr "Бункер добытчиков" msgid "Wizard's Secret Basement Study" msgstr "Подвал секретного кабинета волшебника" +#: lang/json/start_location_from_json.py +msgid "Wizard's lake retreat" +msgstr "" + #: lang/json/start_location_from_json.py msgid "Candy Shop" msgstr "Кондитерская" @@ -171552,16 +178181,16 @@ msgid "Acolyte." msgstr "Послушник." #: lang/json/talk_topic_from_json.py -msgid "What? What do you mean? What song?" -msgstr "Что? Ты о чём? Какая песня?" +msgid "What? What do you mean? What song?" +msgstr "Что? О чём ты? Какая песня?" #: lang/json/talk_topic_from_json.py -msgid "So about the songs..." -msgstr "Насчёт песен..." +msgid "So about the songs…" +msgstr "Насчёт песен…" #: lang/json/talk_topic_from_json.py msgid "" -"You mentioned some cycle before, when I gave you the bones. What does that " +"You mentioned some cycle before, when I gave you the bones. What does that " "mean?" msgstr "Ты упоминала какой-то цикл, когда я отдал тебе кости. Что это такое?" @@ -171578,7 +178207,7 @@ msgid "Is there a way I can help you with your song?" msgstr "Могу ли я помочь тебе с песней?" #: lang/json/talk_topic_from_json.py -msgid "I have to get going. Take care, Seer." +msgid "I have to get going. Take care, Seer." msgstr "Мне пора. Береги себя, Провидица." #: lang/json/talk_topic_from_json.py @@ -171586,16 +178215,16 @@ msgid "" "Listen carefully. The bones... they sing. Can you hear it? The song they " "weave? The stories they hold?" msgstr "" -"Слушай внимательно. Кости... они поют. Ты слышишь? Слышишь песню, которую " -"они плетут? Слышишь истории, которые они хранят?" +"Слушай внимательно. Кости… они поют. Ты слышишь? Слышишь песню, которую они " +"выводят? Слышишь истории, которые они хранят?" #: lang/json/talk_topic_from_json.py -msgid "What? Singing bones? What are you talking about?" -msgstr "Чего? Поющие кости? Ты вообще о чём?" +msgid "What? Singing bones? What are you talking about?" +msgstr "Чего? Поющие кости? Что за чертовщина?" #: lang/json/talk_topic_from_json.py -msgid "Uh... yeah, sure. I think I'll just be on my way." -msgstr "Э... да, конечно. Думаю, мне пора идти." +msgid "Uh… yeah, sure. I think I'll just be on my way." +msgstr "Э… Да, конечно. Думаю, мне пора идти." #: lang/json/talk_topic_from_json.py msgid "" @@ -171606,11 +178235,11 @@ msgid "" " taking the bones does the cycle end - their story, their song, their " "strength, become yours to use." msgstr "" -"Когда всё произошло, когда случился Катаклизм, что-то... поменялось. Это " -"видно по всем существам, но главное видно в костях. Они ломаются, меняются, " +"Когда всё произошло, когда случился Катаклизм, что-то… поменялось. Это видно" +" по всем существам, но главное видно в костях. Они ломаются, меняются, " "восстают в бесконечном цикле. Живые мертвецы ходят. Чудища рвут друг друга " "на куски. Видно резонанс, тихое гудение чистой силы, и цикл можно " -"прекратить, только если забрать кости - их история, их песня, их сила станут" +"прекратить, только если забрать кости — их история, их песня, их сила станут" " твоими." #: lang/json/talk_topic_from_json.py @@ -171637,7 +178266,7 @@ msgstr "" "только если осмотришь кости. Это и есть история. Что бы ни вызвало " "изменения, оно живое, оно движется внутри всех нас, оно неотъемлемая часть " "нового мира. Оно содержит силу перемен. Когда мы держим кости, мы держим " -"силу. Это и есть сила. И вместе... вместе они рождают прекрасную песню." +"силу. Это и есть сила. И вместе… вместе они рождают прекрасную песню." #: lang/json/talk_topic_from_json.py msgid "I think I understand what you mean, though I am not sure if I agree." @@ -171656,7 +178285,7 @@ msgid "I will bear that in mind" msgstr "Буду иметь в виду." #: lang/json/talk_topic_from_json.py -msgid "Cause? Why do you gather these bones anyway?" +msgid "Cause? Why do you gather these bones anyway?" msgstr "Цели? Так зачем ты собираешь кости?" #: lang/json/talk_topic_from_json.py @@ -171667,13 +178296,13 @@ msgid "" " or end it. Makes no difference." msgstr "" "Песню можно плести по-разному. Вырезанные костяные амулеты, оружие и доспехи" -" - все они хранят неимоверную силу, и в нужное время мы с собратьями соберём" +" — все они хранят неимоверную силу, и в нужное время мы с собратьями соберём" " великую песню и споём её, дабы восстановить мир. Восстановить или " "завершить. Без разницы." #: lang/json/talk_topic_from_json.py -msgid "End the world? What?" -msgstr "Завершить мир? Чего?" +msgid "End the world? What?" +msgstr "Конец света? Чего?" #: lang/json/talk_topic_from_json.py msgid "" @@ -171681,16 +178310,16 @@ msgid "" "accelerate it to a time beyond all, ending it all the same. But with the " "world looking as is, both options are preferable." msgstr "" -"Мы верим, что достаточная сила в одной песне способна обратить Катаклизм - " +"Мы верим, что достаточная сила в одной песне способна обратить Катаклизм — " "или безмерно его ускорить, что его всё равно завершит. Но с учётом состояния" " мира годятся оба варианта." #: lang/json/talk_topic_from_json.py msgid "" -"Sounds somewhat... doomsday-ish, but I suppose it's a belief like any other." -" Still, at least you have a goal to help the world, one way or another." +"Sounds somewhat… doomsday-ish, but I suppose it's a belief like any other. " +"Still, at least you have a goal to help the world, one way or another." msgstr "" -"Звучит немного... апокалиптично, но я полагаю, это просто вера, как и любая " +"Звучит немного… апокалиптично, но я полагаю, это просто вера, как и любая " "другая. У тебя хотя бы цель помочь миру тем или иным способом." #: lang/json/talk_topic_from_json.py @@ -171708,8 +178337,8 @@ msgstr "" "чувствуй песню." #: lang/json/talk_topic_from_json.py -msgid "I... thank you." -msgstr "Спасибо... спасибо тебе." +msgid "I… thank you." +msgstr "Спасибо… Спасибо тебе." #: lang/json/talk_topic_from_json.py msgid "" @@ -171726,37 +178355,29 @@ msgid "Yeah, alright." msgstr "Да-да, точно." #: lang/json/talk_topic_from_json.py -msgid "There are bones to etch, songs to sing. Wish to join me?" -msgstr "Ещё есть невырезанные кости и неспетые песни. Присоединишься ко мне?" - -#: lang/json/talk_topic_from_json.py -msgid "Do you believe you can take on the burden of additional bones?" -msgstr "Думаешь, ты сможешь взвалить обузу лишних костей?" +msgid "" +"I know of certain bones that could be of use, if you'd like to know more." +msgstr "Я знаю несколько полезных костей, если хочешь услышать побольше." #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" -msgstr "Ты хочешь взяться за ещё больше песен?" +msgid "There is an additional song you could take on, if you'd like." +msgstr "Если хочешь, у меня есть ещё песня для тебя." #: lang/json/talk_topic_from_json.py msgid "A song may yet be sung by you, should you wish to." msgstr "Тебе ещё предстоит спеть песню, если желаешь." #: lang/json/talk_topic_from_json.py -msgid "" -"I know of certain bones that could be of use, if you'd like to know more." -msgstr "Я знаю несколько полезных костей, если хочешь услышать побольше." +msgid "Do you believe you can take on the burden of additional bones?" +msgstr "Думаешь, ты сможешь взвалить обузу лишних костей?" #: lang/json/talk_topic_from_json.py -msgid "There is an additional song you could take on, if you'd like." -msgstr "Если хочешь, у меня есть ещё песня для тебя." +msgid "Do you wish to take on more songs?" +msgstr "Ты хочешь взяться за ещё больше песен?" #: lang/json/talk_topic_from_json.py -msgid "" -"The song is... quiet for now. Perhaps with time, more notes will be etched " -"in the bones of this world." -msgstr "" -"Пока что песня... утихла. Возможно, на костях мира будет высечено больше " -"нот." +msgid "There are bones to etch, songs to sing. Wish to join me?" +msgstr "Ещё есть невырезанные кости и неспетые песни. Присоединишься ко мне?" #: lang/json/talk_topic_from_json.py msgid "That is all for now." @@ -171766,6 +178387,13 @@ msgstr "Пока что всё." msgid "An acolyte should not take on too many songs at once." msgstr "Послушнику не следует браться за много песен сразу." +#: lang/json/talk_topic_from_json.py +msgid "" +"The song is... quiet for now. Perhaps with time, more notes will be etched " +"in the bones of this world." +msgstr "" +"Пока что песня… утихла. Возможно, на костях мира будет высечено больше нот." + #: lang/json/talk_topic_from_json.py msgid "I see." msgstr "Понятно." @@ -171790,7 +178418,7 @@ msgstr "" "кончиков пальцев. Затем принеси мне кости, и я обрежу их для тебя." #: lang/json/talk_topic_from_json.py -msgid "Well, I guess I oughta see where this goes. I'm in." +msgid "Well, I guess I oughta see where this goes. I'm in." msgstr "Ну, мне хочется узнать, что будет дальше. Я в деле." #: lang/json/talk_topic_from_json.py @@ -171798,8 +178426,8 @@ msgid "Not interested." msgstr "Не интересует." #: lang/json/talk_topic_from_json.py -msgid "Consider it done. But I also wanted to ask..." -msgstr "Считай, уже сделано. Но я хочу спросить..." +msgid "Consider it done. But I also wanted to ask…" +msgstr "Считай, уже сделано. Но я хочу спросить…" #: lang/json/talk_topic_from_json.py msgid "Where should I start?" @@ -171814,7 +178442,7 @@ msgid "I'm off then." msgstr "Тогда я иду." #: lang/json/talk_topic_from_json.py -msgid "So, a creature that isn't a zombie, or a monster. Got it." +msgid "So, a creature that isn't a zombie, or a monster. Got it." msgstr "В общем, существо, которое не зомби и не монстр. Ясно." #: lang/json/talk_topic_from_json.py @@ -171826,8 +178454,8 @@ msgstr "" "твою песню." #: lang/json/talk_topic_from_json.py -msgid "I see. Very well then." -msgstr "Ясно. Хорошо." +msgid "I see. Very well then." +msgstr "Ясно. Очень хорошо." #: lang/json/talk_topic_from_json.py msgid "Only those who bear my mark will prove themselves worthy of my skills." @@ -171846,12 +178474,12 @@ msgid "I am glad to hear it. Let's go then." msgstr "Приятно слышать. Тогда пойдём." #: lang/json/talk_topic_from_json.py -msgid "That's good, but I need to go at it alone right now. Maybe later." +msgid "That's good, but I need to go at it alone right now. Maybe later." msgstr "Отлично, но прямо сейчас мне нужно идти одному. Может, потом." #: lang/json/talk_topic_from_json.py -msgid "Maybe some other time. Changing the topic..." -msgstr "Может, в другой раз. Давай сменим тему..." +msgid "Maybe some other time. Changing the topic…" +msgstr "Может, в другой раз. Давай сменим тему…" #: lang/json/talk_topic_from_json.py msgid "Alright, but I have to go now." @@ -171869,26 +178497,26 @@ msgid "" "That's why we need to amass the Song. That's why it has to end, even if it " "means the destruction, not restoration." msgstr "" -"Дело не в том, что Катаклизм принёс бродячие ужасы и чудовищ. Он начал... " +"Дело не в том, что Катаклизм принёс бродячие ужасы и чудовищ. Он начал… " "цикл, какой-то цикл. Всё повторяется. Это можно видеть только в других, но " "это происходит и с нами, даже с тобой и мной. Сколько раз ты умер? Твою " "плоть сорвали, твою плоть сожрали. Или, может, то был тихий плач смерти от " "замерзания. Но твои кости снова восстали. Другая плоть, другое имя, иногда " -"даже другие знания, но кости - они те же самые. Мы все застряли в одном " +"даже другие знания, но кости — они те же самые. Мы все застряли в одном " "цикле. Мы просто забываем. И поэтому нам нужно распространить Песню. Вот " "поэтому она всё прекратит, даже если это значит разрушение, не " "восстановление." #: lang/json/talk_topic_from_json.py msgid "" -"That is... that's really one hell of a belief. Well, if it helps you deal " +"That is… that's really one hell of a belief. Well, if it helps you deal " "with the world, who am I to argue." msgstr "" -"Нихрена... нихрена себе вера. Что ж, если тебе так легче справиться, кто я " +"Нихрена… Нихрена себе вера. Что ж, если тебе так легче справиться, кто я " "такой, чтоб спорить." #: lang/json/talk_topic_from_json.py -msgid "And here I thought you were nuts before. I'm out of here." +msgid "And here I thought you were nuts before. I'm out of here." msgstr "А я-то раньше думал, ты чокнутая. Я ухожу." #: lang/json/talk_topic_from_json.py @@ -172059,7 +178687,7 @@ msgid "" " Use the zone manager (keybind 'Y') to set up sorting zones for your loot, or to draw blueprints for a building, or to define where you want to plant some crops, or where you'd like some trees cut down, or where you want a vehicle dismantled. Then tell me to sort stuff, or build stuff, or cut down trees, or dismantle a vehicle or do farmwork, and I'll go off and do my best to get what you want done. If I need tools, you should leave them pretty close to where you want me to work - axes for logging, shovels and seeds and fertilizer for farming, wrenches and hacksaws or a toolbox to take apart a vehicle. I can pretty much sort out our stuff without needing tools, but keep the piles of unsorted and sorted stuff kind of close together because I don't want to walk back and forth carrying junk too much." msgstr "" "Я подсоблю тебе, если ты покажешь, где мне работать.\n" -" При помощи менеджера зон (клавиша 'Y') установи зону сортировки для своих вещей, или задай чертежи здания, или определи, где ты хочешь сажать растения, или где нужно срубить деревья, или где ты хочешь разобрать машину. Потом прикажи мне сортировать, строить, рубить деревья, разбирать машину или заниматься грядками, и я уйду делать всё возможное. Если мне понадобятся инструменты, оставь их поближе к рабочему месту - топоры для рубки, лопаты, семена и удобрения для работы с грядками, гаечные ключи и пилы или ящик инструментов для разборки машины. Я умею сортировать предметы без инструментов, но лучше размечай кучи сортированного и несортированного барахла поближе, чтоб мне не пришлось слишком шастать туда-сюда." +" При помощи менеджера зон (клавиша 'Y') установи зону сортировки для своих вещей, или задай чертежи здания, или определи, где ты хочешь сажать растения, или где нужно срубить деревья, или где ты хочешь разобрать машину. Потом прикажи мне сортировать, строить, рубить деревья, разбирать машину или заниматься грядками, и я уйду делать всё возможное. Если мне понадобятся инструменты, оставь их поближе к рабочему месту — топоры для рубки, лопаты, семена и удобрения для работы с грядками, гаечные ключи и пилы или ящик инструментов для разборки машины. Я умею сортировать предметы без инструментов, но лучше размечай кучи сортированного и несортированного барахла поближе, чтоб мне не пришлось слишком шастать туда-сюда." #: lang/json/talk_topic_from_json.py msgid "Good to know. Can you perform first aid?" @@ -172340,14 +178968,14 @@ msgstr "Подъём!" msgid "Go back to sleep." msgstr "Спи дальше." -#: lang/json/talk_topic_from_json.py -msgid " *pshhhttt* I'm reading you boss, over." -msgstr "*пшшш-пшшш* я тебя слушаю, босс, приём." - #: lang/json/talk_topic_from_json.py msgid "What is it, friend?" msgstr "Что такое, друг?" +#: lang/json/talk_topic_from_json.py +msgid " *pshhhttt* I'm reading you boss, over." +msgstr "*пшшш-пшшш* я тебя слушаю, босс, приём." + #: lang/json/talk_topic_from_json.py msgid "I want to give you some commands for combat." msgstr "Я хочу дать тебе боевые команды." @@ -172376,6 +179004,10 @@ msgstr "Держи этот предмет." msgid "Guard this position." msgstr "Охраняй эту позицию." +#: lang/json/talk_topic_from_json.py +msgid "I want to assign you to work at this camp." +msgstr "Я хочу дать вам работу в этом лагере." + #: lang/json/talk_topic_from_json.py msgid "Let's talk about your current activity." msgstr "Давай поговорим о твоём текущем занятии." @@ -172425,19 +179057,19 @@ msgid "Let's go." msgstr "Пошли." #: lang/json/talk_topic_from_json.py -msgid "Change your engagement rules..." +msgid "Change your engagement rules…" msgstr "Изменить порядок боевых действий…" #: lang/json/talk_topic_from_json.py -msgid "Change your aiming rules..." +msgid "Change your aiming rules…" msgstr "Изменить правила прицеливания…" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power reserve rules..." -msgstr "Изменить твои правила сберегания бионической энергии…" +msgid "Change your bionic power reserve rules…" +msgstr "Изменить твои правила распоряжения бионической энергией…" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power recharge rules..." +msgid "Change your bionic power recharge rules…" msgstr "Изменить твои правила зарядки бионической энергии…" #: lang/json/talk_topic_from_json.py @@ -172448,14 +179080,14 @@ msgstr "Ходи свободно, если нужно." msgid "Stick close to me, no matter what." msgstr "Держись ближе ко мне, несмотря ни на что." -#: lang/json/talk_topic_from_json.py -msgid "" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Don't use ranged weapons anymore." msgstr "Больше не используй стрелковое оружие." @@ -172501,9 +179133,9 @@ msgstr "Держать строй: не иди в препятствия ряд #: src/handle_action.cpp src/handle_action.cpp src/handle_liquid.cpp #: src/handle_liquid.cpp src/iexamine.cpp src/iexamine.cpp src/iexamine.cpp #: src/iuse.cpp src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -#: src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp src/pickup.cpp -#: src/player.cpp src/player.cpp src/player.cpp src/veh_interact.cpp -#: src/vehicle_use.cpp +#: src/iuse_actor.cpp src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp +#: src/pickup.cpp src/player.cpp src/player.cpp src/player.cpp +#: src/veh_interact.cpp src/vehicle_use.cpp msgid "Never mind." msgstr "Ничего особенного." @@ -172725,8 +179357,8 @@ msgid "Nah, I'm just kidding." msgstr "Не, я просто пошутил." #: lang/json/talk_topic_from_json.py -msgid "Please go to this location..." -msgstr "Двигайся в эту локацию…" +msgid "Please go to this location…" +msgstr "Пожалуйста, иди вот в это место." #: lang/json/talk_topic_from_json.py msgid "Stay at your current position." @@ -172736,13 +179368,17 @@ msgstr "Оставайся на том же месте." msgid "Show me what needs to be done at the camp." msgstr "Покажи, что нужно сделать в лагере." +#: lang/json/talk_topic_from_json.py +msgid "I'm not doing much currently." +msgstr "Я сейчас ничего не делаю." + #: lang/json/talk_topic_from_json.py msgid "I'm currently ." -msgstr "Сейчас моё занятие - ." +msgstr "Сейчас моё занятие — ." #: lang/json/talk_topic_from_json.py -msgid "I'm not doing much currently." -msgstr "Я сейчас ничего не делаю." +msgid "I meant what are your goals?" +msgstr "Я имел в виду, какова твоя цель?" #: lang/json/talk_topic_from_json.py msgid "Carry on." @@ -172821,16 +179457,16 @@ msgid "OK, maybe it'll stop me from freezing in this weather, what's up?" msgstr "" "Ладно, пусть это поможет мне не замёрзнуть при такой погоде. Как дела?" +#: lang/json/talk_topic_from_json.py +msgid "Man it's dark out isn't it? what's up?" +msgstr "Блин, тут же так темно? Что случилось?" + #: lang/json/talk_topic_from_json.py msgid "" "Well, it's the time of day for a quick break surely! How are you holding " "up?" msgstr "Что ж, как раз подходящее время немного отдохнуть! Как у тебя дела?" -#: lang/json/talk_topic_from_json.py -msgid "Man it's dark out isn't it? what's up?" -msgstr "Блин, тут же так темно? Что случилось?" - #: lang/json/talk_topic_from_json.py msgid "Well, I'm feeling pretty sick... are you doing OK though?" msgstr "Ну, мне не совсем хорошо… а у тебя там всё нормально?" @@ -172860,8 +179496,8 @@ msgstr "" "этим?" #: lang/json/talk_topic_from_json.py -msgid "Oh you know, not bad, not bad..." -msgstr "О, ну типа неплохо, неплохо…" +msgid "Oh you know, not bad, not bad…" +msgstr "О, ну, типа, неплохо, неплохо…" #: lang/json/talk_topic_from_json.py msgid "" @@ -172924,14 +179560,14 @@ msgstr "Ладно, не делай резких движений…" msgid "Keep your distance!" msgstr "Не подходи ближе!" -#: lang/json/talk_topic_from_json.py -msgid "" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "This is my territory, ." msgstr "Это моя территория, ." +#: lang/json/talk_topic_from_json.py +msgid "" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Calm down. I'm not going to hurt you." msgstr "Успокойся. Я не причиню тебе зла." @@ -172948,14 +179584,14 @@ msgstr "" msgid "&Put hands up." msgstr "&Поднять руки." -#: lang/json/talk_topic_from_json.py -msgid "*drops his weapon." -msgstr "*бросает своё оружие." - #: lang/json/talk_topic_from_json.py msgid "*drops_her_weapon." msgstr "*бросает_своё_оружие." +#: lang/json/talk_topic_from_json.py +msgid "*drops his weapon." +msgstr "*бросает своё оружие." + #: lang/json/talk_topic_from_json.py msgid "Now get out of here" msgstr "А теперь убирайся." @@ -172969,11 +179605,11 @@ msgid "Okay, I'm going." msgstr "Ладно, я иду." #: lang/json/talk_topic_from_json.py -msgid "About that job..." +msgid "About that job…" msgstr "По поводу работы…" #: lang/json/talk_topic_from_json.py -msgid "About one of those jobs..." +msgid "About one of those jobs…" msgstr "По поводу одного из этих заданий…" #: lang/json/talk_topic_from_json.py @@ -172985,29 +179621,29 @@ msgid "I don't care." msgstr "Мне всё равно." #: lang/json/talk_topic_from_json.py -msgid "I have other jobs for you. Want to hear about them?" -msgstr "У меня для тебя есть и другая работа. Хочешь послушать?" - -#: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" -msgstr "У меня для тебя есть ещё работа. Хочешь послушать?" +msgid "I just have one job for you. Want to hear about it?" +msgstr "У меня есть работа для тебя. Хочешь послушать?" #: lang/json/talk_topic_from_json.py msgid "I have another job for you. Want to hear about it?" msgstr "У меня есть другая работа для тебя. Хочешь послушать?" #: lang/json/talk_topic_from_json.py -msgid "I just have one job for you. Want to hear about it?" -msgstr "У меня есть работа для тебя. Хочешь послушать?" +msgid "I have other jobs for you. Want to hear about them?" +msgstr "У меня для тебя есть и другая работа. Хочешь послушать?" #: lang/json/talk_topic_from_json.py -msgid "I don't have any jobs for you." -msgstr "У меня нет работы для тебя." +msgid "I have more jobs for you. Want to hear about them?" +msgstr "У меня для тебя есть ещё работа. Хочешь послушать?" #: lang/json/talk_topic_from_json.py msgid "I don't have any more jobs for you." msgstr "У меня больше нет для тебя работы." +#: lang/json/talk_topic_from_json.py +msgid "I don't have any jobs for you." +msgstr "У меня нет работы для тебя." + #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/npctalk.cpp msgid "Oh, okay." @@ -173017,10 +179653,6 @@ msgstr "Ну, ладно." msgid "Never mind, I'm not interested." msgstr "Неважно, мне не интересно." -#: lang/json/talk_topic_from_json.py -msgid "You're not working on anything for me now." -msgstr "Ты сейчас на меня не работаешь." - #: lang/json/talk_topic_from_json.py msgid "What about it?" msgstr "Что насчёт него?" @@ -173029,6 +179661,10 @@ msgstr "Что насчёт него?" msgid "Which job?" msgstr "Какое задание?" +#: lang/json/talk_topic_from_json.py +msgid "You're not working on anything for me now." +msgstr "Ты сейчас на меня не работаешь." + #: lang/json/talk_topic_from_json.py msgid "I'll do it!" msgstr "Я это сделаю!" @@ -173066,8 +179702,8 @@ msgid "Whatever. Bye." msgstr "Неважно. Пока." #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I failed." -msgstr "Прости… я облажался." +msgid "I'm sorry… I failed." +msgstr "Прости… Я облажался." #: lang/json/talk_topic_from_json.py msgid "Not yet." @@ -173086,7 +179722,7 @@ msgid "No. I'll get back to it, bye!" msgstr "Нет. Я возвращаюсь за этим, пока!" #: lang/json/talk_topic_from_json.py -msgid "Yup! Here it is!" +msgid "Yup! Here it is!" msgstr "Ага! Вот оно!" #: lang/json/talk_topic_from_json.py @@ -173241,13 +179877,9 @@ msgstr "" msgid "Hmm, okay." msgstr "Хмм, ладно." -#: lang/json/talk_topic_from_json.py -msgid "Focus on the road, mate!" -msgstr "Смотри на дорогу, бро!" - -#: lang/json/talk_topic_from_json.py -msgid "I must focus on the road!" -msgstr "Мне надо смотреть на дорогу!" +#: lang/json/talk_topic_from_json.py src/npctalk.cpp +msgid "Thanks!" +msgstr "Спасибо!" #: lang/json/talk_topic_from_json.py msgid "I have some reason for not telling you." @@ -173269,6 +179901,14 @@ msgstr "Я очень голоден, дай мне чего-нибудь пое msgid "I'm too thirsty, give me something to drink." msgstr "Меня мучает жажда, дай мне чего-нибудь попить." +#: lang/json/talk_topic_from_json.py +msgid "I must focus on the road!" +msgstr "Мне надо смотреть на дорогу!" + +#: lang/json/talk_topic_from_json.py +msgid "Focus on the road, mate!" +msgstr "Смотри на дорогу, бро!" + #: lang/json/talk_topic_from_json.py msgid "Ah, okay." msgstr "Ну, ладно." @@ -173342,7 +179982,7 @@ msgid "Alright. You can lead now." msgstr "Хорошо. Веди нас." #: lang/json/talk_topic_from_json.py -msgid "Good. Something else..." +msgid "Good. Something else…" msgstr "Хорошо. Что-нибудь ещё…" #: lang/json/talk_topic_from_json.py @@ -173373,14 +180013,6 @@ msgstr "Нет, мы здесь будем в порядке." msgid "On second thought, never mind." msgstr "Если ещё раз подумать, то неважно." -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while you're operating a vehicle!" -msgstr "Я не могу полноценно обучать тебя, пока ты за рулём!" - -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while I'm operating a vehicle!" -msgstr "Я не могу тебя учить, когда я за рулём!" - #: lang/json/talk_topic_from_json.py msgid "I have some reason for denying you training." msgstr "У меня есть причины не учить тебя." @@ -173389,6 +180021,14 @@ msgstr "У меня есть причины не учить тебя." msgid "Give it some time, I'll show you something new later..." msgstr "Дайте мне немного времени, и я вам покажу что-то новое…" +#: lang/json/talk_topic_from_json.py +msgid "I can't train you properly while I'm operating a vehicle!" +msgstr "Я не могу тебя учить, когда я за рулём!" + +#: lang/json/talk_topic_from_json.py +msgid "I can't train you properly while you're operating a vehicle!" +msgstr "Я не могу полноценно обучать тебя, пока ты за рулём!" + #: lang/json/talk_topic_from_json.py msgid "Not a bloody chance, I'm going to get left behind!" msgstr "Ни единого шанса, я сматываю удочки!" @@ -173422,7 +180062,7 @@ msgid "I'd prefer to keep that to myself." msgstr "Я бы предпочёл, держать это при себе." #: lang/json/talk_topic_from_json.py -msgid "I understand..." +msgid "I understand…" msgstr "Я понимаю…" #: lang/json/talk_topic_from_json.py @@ -173446,7 +180086,7 @@ msgid "Because I'm your friend!" msgstr "Потому что я твой друг!" #: lang/json/talk_topic_from_json.py -msgid "Well, I am helping you out..." +msgid "Well, I am helping you out…" msgstr "Ну, я же тебе помогаю…" #: lang/json/talk_topic_from_json.py @@ -173494,15 +180134,15 @@ msgid "No, I'm keeping it. Try and take it off me, I dare you." msgstr "Нет, теперь это моё. Только попробуй отобрать." #: lang/json/talk_topic_from_json.py -msgid "Look, I really need this. Please let me have it." -msgstr "Слушай, мне это правда очень нужно. Пожалуйста, отдай." +msgid "Look, I really need this. Please let me have it." +msgstr "Слушай, мне правда очень нужно. Пожалуйста, дай." #: lang/json/talk_topic_from_json.py -msgid "What, this? It's not the same one, you are mistaken." +msgid "What, this? It's not the same one, you are mistaken." msgstr "Что, вот это? Ты ошибся, это другое." #: lang/json/talk_topic_from_json.py -msgid "I'm sorry. Look, I already dropped it, okay?" +msgid "I'm sorry. Look, I already dropped it, okay?" msgstr "Мне жаль. Слушай, я уже бросаю, лады?" #: lang/json/talk_topic_from_json.py @@ -173510,13 +180150,17 @@ msgid "Don't try and talk yourself out of this, drop it now." msgstr "Не пытайся заговорить мне зубы, бросай сейчас же." #: lang/json/talk_topic_from_json.py -msgid "Okay, I'm dropping it..." +msgid "Okay, I'm dropping it…" msgstr "Хорошо, я бросаю…" #: lang/json/talk_topic_from_json.py msgid "Just this once, you can keep it. Don't tell anyone else." msgstr "Забирай, но только на этот раз. Никому не говори." +#: lang/json/talk_topic_from_json.py +msgid "Thanks." +msgstr "Спасибо." + #: lang/json/talk_topic_from_json.py msgid "Right... I don't want any trouble." msgstr "Верно… Мне не нужны неприятности." @@ -173570,7 +180214,7 @@ msgid "Pleasure doing business!" msgstr "Приятно иметь с тобой дело!" #: lang/json/talk_topic_from_json.py -msgid "You might be seeing more of me..." +msgid "You might be seeing more of me…" msgstr "Думаю, мы ещё встретимся…" #: lang/json/talk_topic_from_json.py @@ -173586,21 +180230,21 @@ msgid "Hey again. *kzzz*" msgstr "Снова привет. *жжж*" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." -msgstr "Эй. Давай немного поболтаем." +msgid "Hey. Let's chat for a second." +msgstr "Эй, давай немножко поболтаем." #: lang/json/talk_topic_from_json.py -msgid "That's because I saved you. Listen, I could use your help..." -msgstr "Это потому что я спас тебя. Слушай, мне б не помешала твоя помощь…" +msgid "That's because I saved you. Listen, I could use your help…" +msgstr "Это потому, что я спас тебя. Слушай, мне б не помешала твоя помощь…" #: lang/json/talk_topic_from_json.py msgid "" -"Big fucking deal. Do what I say or I'll shove that chip back where it " +"Big fucking deal. Do what I say or I'll shove that chip back where it " "belongs." msgstr "Ну охуеть теперь. Делай, что я скажу, или я запихну тот чип обратно." #: lang/json/talk_topic_from_json.py -msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." +msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." msgstr "Прости, я никто. Наслаждайся свободой, наверно." #: lang/json/talk_topic_from_json.py @@ -173612,7 +180256,7 @@ msgid "Come with me. We can help each other out." msgstr "Пойдём со мной. Мы поможем друг другу." #: lang/json/talk_topic_from_json.py -msgid "We both go our separate ways. Enjoy your freedom." +msgid "We both go our separate ways. Enjoy your freedom." msgstr "Наши пути расходятся. Наслаждайся свободой." #: lang/json/talk_topic_from_json.py @@ -173632,8 +180276,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"For all you know, I did. I'm being nice for now. You'd better hope that it " -"lasts." +"For all you know, I did. I'm being nice for now. You'd better hope that it" +" lasts." msgstr "" "Чтоб ты знал, да. Пока что я добрый. Лучше надейся, что я буду добрым " "подольше." @@ -173657,8 +180301,8 @@ msgid "Get out of my sight." msgstr "Пошёл вон." #: lang/json/talk_topic_from_json.py -msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." -msgstr "Нет, *ты* прости, я не хотел тебя обидеть. Иди делай что хочешь." +msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." +msgstr "Нет, *ты* прости, я не хотел тебя обидеть. Иди, делай что хочешь." #: lang/json/talk_topic_from_json.py msgid "...kill... *ZTZTZT* ...you!" @@ -173673,7 +180317,7 @@ msgid "Not if I kill you first!" msgstr "Только если я не убью тебя первым!" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry! I shouldn't have said that!" +msgid "I'm sorry! I shouldn't have said that!" msgstr "Прости! Мне не стоило так говорить!" #: lang/json/talk_topic_from_json.py @@ -173955,11 +180599,11 @@ msgid "Well, sure." msgstr "Ну, хорошо." #: lang/json/talk_topic_from_json.py -msgid "I'd... rather not." -msgstr "Я… пожалуй, воздержусь." +msgid "I'd… rather not." +msgstr "Я… Пожалуй, воздержусь." #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I have places to be." +msgid "I'm sorry… I have places to be." msgstr "Прости… Мне надо кое-куда." #: lang/json/talk_topic_from_json.py @@ -173992,8 +180636,8 @@ msgid "Oh, but you already have." msgstr "О, но ты уже." #: lang/json/talk_topic_from_json.py -msgid "Yes... yes I have." -msgstr "Да… да, я уже." +msgid "Yes… yes I have." +msgstr "Да… Да, я уже." #: lang/json/talk_topic_from_json.py msgid "Join us then, eat from this meal with us." @@ -174074,7 +180718,7 @@ msgstr "" "кто-то фоткал." #: lang/json/talk_topic_from_json.py -msgid "Horrible. Did you get any pictures yourself?" +msgid "Horrible. Did you get any pictures yourself?" msgstr "Кошмарно. А сам ты не фоткал?" #: lang/json/talk_topic_from_json.py @@ -174240,8 +180884,8 @@ msgid "This is a npc allies 1 test response." msgstr "Это тестовый ответ npc allies 1." #: lang/json/talk_topic_from_json.py -msgid "This an error! npc allies 2 test response." -msgstr "Это ошибка! Тестовый ответ npc allies 2." +msgid "This an error! npc allies 2 test response." +msgstr "Это ошибка! Тестовый ответ НПЦ-союзников 2." #: lang/json/talk_topic_from_json.py msgid "This is a npc engagement rule test response." @@ -174440,8 +181084,8 @@ msgid "This is a u_has_items beer test response." msgstr "Это тестовый ответ u_has_items beer." #: lang/json/talk_topic_from_json.py -msgid "Test failure! This is a u_has_items test response." -msgstr "Тест провален! Это тестовый ответ u_has_items." +msgid "Test failure! This is a u_has_items test response." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "This is a u_has_item_category books test response." @@ -174452,8 +181096,8 @@ msgid "This is a u_has_item_category books count 2 test response." msgstr "Это тестовый ответ u_has_item_category books count 2." #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a u_has_item_category books count 3 test response." -msgstr "Ошибка! Это тестовый ответ u_has_item_category books count 3." +msgid "Failure! This is a u_has_item_category books count 3 test response." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "This is a u_add_var test response." @@ -174540,8 +181184,8 @@ msgid "This is a u_has_bionics bio_ads test response." msgstr "Это тестовый ответ u_has_bionics bio_ads." #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a npc_has_bionics bio_ads test response." -msgstr "Ошибка! Это тестовый ответ npc_has_bionics bio_ads." +msgid "Failure! This is a npc_has_bionics bio_ads test response." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "This is a npc_has_bionics ANY response." @@ -174597,11 +181241,7 @@ msgid "So you're back... Explain yourself!" msgstr "Так ты вернулся… Объяснись!" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." -msgstr "Эй, давай немножко поболтаем." - -#: lang/json/talk_topic_from_json.py -msgid "Greetings... Foodperson?" +msgid "Greetings… Foodperson?" msgstr "Привет… Поешь-ка?" #: lang/json/talk_topic_from_json.py @@ -174643,7 +181283,7 @@ msgid "" msgstr "Великий Поешь-ка во плоти! Такая честь наконец лично вас увидеть!" #: lang/json/talk_topic_from_json.py -msgid "Ah... Well, nice to meet you Foodperson." +msgid "Ah… Well, nice to meet you Foodperson." msgstr "Э… Ладно, приятно познакомиться, Поешь-ка." #: lang/json/talk_topic_from_json.py @@ -174656,7 +181296,7 @@ msgid "Sheesh, ok, calm down, I'm leaving!" msgstr "Тише, успокойся, хорошо, я ухожу!" #: lang/json/talk_topic_from_json.py -msgid "Forgive me, I didn't mean to disrespect you." +msgid "Forgive me, I didn't mean to disrespect you." msgstr "Прости, я не хотел проявить неуважение." #: lang/json/talk_topic_from_json.py @@ -174672,7 +181312,7 @@ msgid "Sure, whatever." msgstr "Ну хорошо, как скажешь." #: lang/json/talk_topic_from_json.py -msgid "Ok... I believe you." +msgid "Ok… I believe you." msgstr "Хорошо… я тебе верю." #: lang/json/talk_topic_from_json.py @@ -174770,15 +181410,15 @@ msgid "That sounds great!" msgstr "Звучит классно!" #: lang/json/talk_topic_from_json.py -msgid "Ok..." -msgstr "Ладно…" +msgid "Ok…" +msgstr "Хорошо…" #: lang/json/talk_topic_from_json.py msgid "I need to think about it." msgstr "Мне надо подумать." #: lang/json/talk_topic_from_json.py -msgid "Huh... No thanks." +msgid "Huh… No thanks." msgstr "Хех… Нет уж, спасибо." #: lang/json/talk_topic_from_json.py @@ -174795,7 +181435,7 @@ msgstr "То, как ты говоришь, как двигаешься… Ты #: lang/json/talk_topic_from_json.py msgid "" -"I... I don't know. It probably has something to do with ! " +"I… I don't know. It probably has something to do with ! " "What do you say we team up to find out?" msgstr "" "Я… Я не знаю. Наверно, это всё ! Что скажешь, если мы " @@ -174877,7 +181517,7 @@ msgid "I AM THE ONE!" msgstr "И ЭТО Я!" #: lang/json/talk_topic_from_json.py -msgid "Wow calm down, it's just a prank bro." +msgid "Wow calm down, it's just a prank bro." msgstr "Эй-эй, успокойся, бро, я просто шучу." #: lang/json/talk_topic_from_json.py @@ -174946,15 +181586,15 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "I haven't found them yet. Whenever I see a , a little part of me is" -" afraid it's going to be one of them. But then, maybe not. Maybe they " -"were evacuated, maybe they fought and tried to wait for me but the military " -"took them anyway? I've heard that sort of thing happened. I don't know if " -"I'll ever know." +" afraid it's going to be one of them. But then, maybe not. Maybe they were" +" evacuated, maybe they fought and tried to wait for me but the military took" +" them anyway? I've heard that sort of thing happened. I don't know if I'll" +" ever know." msgstr "" "Я пока их не нашёл. Каждый раз, когда мне попадается , частичка меня" -" боится, что это один из них. Но хотя, наверно, нет. Может быть, их " +" боится, что это один из них. Но, хотя, наверно, нет. Может быть, их " "эвакуировали, может, они вырывались и пытались дождаться меня, но военные " -"всё равно их забрали? Я слышал, что такое бывало. Я не знаю, узнаю ли я " +"всё равно их забрали? Я слышал, что такое случалось. Я не знаю, узнаю ли я " "вообще когда-нибудь." #: lang/json/talk_topic_from_json.py @@ -175471,7 +182111,7 @@ msgstr "Всё хорошо, всё кончилось." #: lang/json/talk_topic_from_json.py msgid "" "OK, this is gonna sound crazy but I, like, I knew this was going to happen." -" Like, before it did. You can even ask my psychic except, like, I think " +" Like, before it did. You can even ask my psychic except, like, I think " "she's dead now. I told her about my dreams a week before the world ended. " "Serious!" msgstr "" @@ -175819,7 +182459,7 @@ msgid "Giant bees? Tell me more." msgstr "Гигантские пчёлы? Расскажи подробнее." #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive..." +msgid "But bees aren't usually aggressive…" msgstr "Но пчёлы обычно неагрессивны…" #: lang/json/talk_topic_from_json.py @@ -175835,7 +182475,7 @@ msgstr "" "я бежал как, , ссыкло." #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive... Do you mean wasps?" +msgid "But bees aren't usually aggressive… Do you mean wasps?" msgstr "Но пчёлы обычно неагрессивны… Может, то были осы?" #: lang/json/talk_topic_from_json.py @@ -176406,7 +183046,7 @@ msgid "No. I can't. Just, no." msgstr "Нет. Не могу. Просто нет." #: lang/json/talk_topic_from_json.py -msgid "Sorry... I'll let you be." +msgid "Sorry… I'll let you be." msgstr "Прости… Я оставлю тебя в покое." #: lang/json/talk_topic_from_json.py @@ -176754,8 +183394,8 @@ msgstr "" "пало." #: lang/json/talk_topic_from_json.py -msgid "Okay..." -msgstr "Хорошо…" +msgid "Okay…" +msgstr "Ладно…" #: lang/json/talk_topic_from_json.py msgid "" @@ -177093,11 +183733,11 @@ msgstr "" "стоял полицейская баррикада с полностью бесполезной парой автоматических " "турелей, бесцельно наблюдающими за бродячими зомби. Это было ещё до того, " "как кто-то переключил их в режим стрельбы по кому угодно. Тогда они стреляли" -" только по пересекающим запретную зону. Славные времена, всегда можно " -"положиться, что бюрократия сумеет всё проебать самым впечатляющим способом. " -"В общем, сам дом наполовину обрушился, в него врезался фургон спецназа. " -"Наверно, можно было догадаться, что я увижу внутри, но мне пришлось пройти " -"через многое, и не хотелось поворачивать назад." +" только по пересекающим запретную зону. Славные времена, всегда можно быть " +"уверенным в том, что бюрократия сумеет всё просрать самым впечатляющим " +"способом. В общем, сам дом наполовину обрушился, в него врезался фургон " +"спецназа. Наверно, можно было догадаться, что я увижу внутри, но мне " +"пришлось пройти через многое, и не хотелось поворачивать назад." #: lang/json/talk_topic_from_json.py msgid "You must have seen some shit on the way there." @@ -177267,7 +183907,7 @@ msgid "What do you think happened?" msgstr "Как ты думаешь, что случилось?" #: lang/json/talk_topic_from_json.py -msgid "That does sound a little crazy..." +msgid "That does sound a little crazy…" msgstr "Звучит слегка безумно…" #: lang/json/talk_topic_from_json.py @@ -177337,7 +183977,7 @@ msgid "What happened to you after that?" msgstr "Что случилось с тобой потом?" #: lang/json/talk_topic_from_json.py -msgid "It can't be healthy to abandon your past like that..." +msgid "It can't be healthy to abandon your past like that…" msgstr "Не совсем нормально вот так бросать своё прошлое…" #: lang/json/talk_topic_from_json.py @@ -177927,7 +184567,7 @@ msgstr "" "прояснится, наверное." #: lang/json/talk_topic_from_json.py -msgid "Do you mean in a religious sense, or...?" +msgid "Do you mean in a religious sense, or…?" msgstr "Ты в религиозном смысле, или…?" #: lang/json/talk_topic_from_json.py @@ -178357,8 +184997,8 @@ msgstr "Что же из этого вышло?" #: lang/json/talk_topic_from_json.py msgid "" -"If I got you the right stuff, do you think you'd be able to like... do " -"science to it?" +"If I got you the right stuff, do you think you'd be able to like… do science" +" to it?" msgstr "" "Если я принесу тебе нужные материалы, как ты думаешь, получится ли у тебя, " "типа… исследовать их?" @@ -178523,7 +185163,7 @@ msgstr "" "О, это целая история. случился прямо в день моей свадьбы." #: lang/json/talk_topic_from_json.py -msgid "Oh, I'm sorry..." +msgid "Oh, I'm sorry…" msgstr "О, прости…" #: lang/json/talk_topic_from_json.py @@ -178590,7 +185230,7 @@ msgstr "О чём ты там говорил?" #: lang/json/talk_topic_from_json.py msgid "I can't believe my eyes. Please get my outta here..." -msgstr "Глазам не верю. Пожалуйста, вытащи меня отсюда..." +msgstr "Глазам не верю. Пожалуйста, вытащи меня отсюда…" #: lang/json/talk_topic_from_json.py msgid "Hey, ." @@ -178649,7 +185289,7 @@ msgstr "Привет. Джек и Клэр предложили поговори #: lang/json/talk_topic_from_json.py msgid "" "It is coming together. I want to make our own tools, repair our items and " -"even create some weapons and ammuntion reloading." +"even create some weapons and ammunition reloading." msgstr "" "Получается неплохо. Я хочу делать наши собственные инструменты, чинить наши " "вещи и даже изготавливать собственное оружие и переснаряжать патроны." @@ -178664,7 +185304,7 @@ msgstr "Я слышал про Барри, расскажи, кто его сх #: lang/json/talk_topic_from_json.py msgid "" -"It was pink and really fast, it had lots of limbs, definitly not human. It " +"It was pink and really fast, it had lots of limbs, definitely not human. It " "easily kept up with us when we tried to escape, horrifying stuff. Barry " "just dropped to the ground, and the thing swept him away." msgstr "" @@ -178703,7 +185343,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "Go on..." -msgstr "Продолжай..." +msgstr "Продолжай…" #: lang/json/talk_topic_from_json.py msgid "Is your forge operational?" @@ -178719,7 +185359,7 @@ msgstr "Привет, как дела?" #: lang/json/talk_topic_from_json.py msgid "" -"I see that badge, You need to leave our land, my relatives have no fondess " +"I see that badge, You need to leave our land, my relatives have no fondness " "for Marshals." msgstr "Я вижу твой значок. Прочь с нашей земли, мы тут маршалов не любим." @@ -178745,7 +185385,7 @@ msgid "" msgstr "" "Ага, они всегда о нас беспокоились, я люблю обхаживать землю и пытаюсь найти" " что-то новое. Подумываю привести эту хижину в порядок, чтоб была тишь и " -"спокойствие..." +"спокойствие…" #: lang/json/talk_topic_from_json.py msgid "Sounds like you are restless, why not leave?" @@ -178784,7 +185424,7 @@ msgid "" msgstr "" "В одной долгой вылазке в поисках Барри я что-то видел в поле. Я не " "подобрался близко, но клянусь, оттуда выходили невероятные твари. Оно типа " -"мерцало, будто было не совсем там. Я немного проследовал за тварями..." +"мерцало, будто было не совсем там. Я немного проследовал за тварями…" #: lang/json/talk_topic_from_json.py msgid "What did you find?" @@ -178888,7 +185528,7 @@ msgid "" msgstr "" "На самом деле удача-то и не нужна, если подготовиться и работать сообща. У " "нас есть потери, мой зять Барри был лучшим охотником, но нынче всё по-" -"другому..." +"другому…" #: lang/json/talk_topic_from_json.py msgid "What happened to Barry?" @@ -178911,8 +185551,8 @@ msgid "He did mention you make remedies, are they effective?" msgstr "Он упомянул, ты делаешь травяные снадобья, они вообще работают?" #: lang/json/talk_topic_from_json.py -msgid "I'd like to ask you something else..." -msgstr "Я хочу спросить тебя о чём-нибудь ещё..." +msgid "I'd like to ask you something else…" +msgstr "Я хочу спросить тебя кое о чём ещё…" #: lang/json/talk_topic_from_json.py msgid "" @@ -179001,7 +185641,7 @@ msgid "" "I run this dairy with my son, Luke. It's been a tough job keeping the herd " "together, hasn't left a lot of time for other projects." msgstr "" -"Я тут работаю вместе со своим сыном, Люком. Сгонять стадо в кучу - сложная " +"Я тут работаю вместе со своим сыном, Люком. Сгонять стадо в кучу — сложная " "работёнка, на другое времени не остаётся." #: lang/json/talk_topic_from_json.py @@ -179080,10 +185720,6 @@ msgstr "Где мне найти Карлоса?" msgid "Hello traveler, what brings you here?" msgstr "Привет, путник, что тебя сюда привело?" -#: lang/json/talk_topic_from_json.py -msgid "Hello travler, what brings you here?" -msgstr "Привет, путник, что тебя сюда привело?" - #: lang/json/talk_topic_from_json.py msgid "I'm here to deliver some resources." msgstr "Я принёс кое-какие материалы." @@ -179111,11 +185747,11 @@ msgstr "Выжила вся ваша семья?" #: lang/json/talk_topic_from_json.py msgid "" "We've had our losses... now we stay close to home, preparing for trouble. " -"We've always taken disaster prepardness seriously, but we didn't expect " +"We've always taken disaster preparedness seriously, but we didn't expect " "anything like this though." msgstr "" -"У нас были потери... теперь мы держимся поближе к дому и ожидаем худшего. Мы" -" всегда основательно готовились к неприятностям, но ни о чём подобном и не " +"У нас были потери… теперь мы держимся поближе к дому и ожидаем худшего. Мы " +"всегда основательно готовились к неприятностям, но ни о чём подобном и не " "думали." #: lang/json/talk_topic_from_json.py @@ -179125,7 +185761,7 @@ msgid "" " with the crops and animals though so we won't have to risk our necks for " "supplies." msgstr "" -"Даже здесь на нас нападают и мы видим ... разные вещи. Мы работаем над " +"Даже здесь на нас нападают и мы видим… разные вещи. Мы работаем над " "обороной, но на это нужно время. Однако мы управляемся с полями и скотиной, " "так что нам не нужно рисковать шеей ради еды." @@ -179177,7 +185813,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You should get off my land, the governemnt proved its incompetence with this" +"You should get off my land, the government proved its incompetence with this" " catastrophe." msgstr "" "Убирайся с моей земли, правительство показало свою никчёмность этой " @@ -179185,7 +185821,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "Go on ..." -msgstr "Продолжай ..." +msgstr "Продолжай…" #: lang/json/talk_topic_from_json.py msgid "Tell me about your wife, is she around?" @@ -179220,7 +185856,7 @@ msgid "" "It would be a lot harder without family. Keeping the animals safe is " "essential to our future." msgstr "" -"Без семьи пришлось бы худо. Безопасность животных - ключ к нашему будущему." +"Без семьи пришлось бы худо. Безопасность животных — ключ к нашему будущему." #: lang/json/talk_topic_from_json.py msgid "Sounds like you are betting on civilization not coming back." @@ -179243,7 +185879,7 @@ msgid "" " and also help when all the engines fail. They become very trusting if you " "feed them some nice fodder." msgstr "" -"Лошади - отличные спутники. Они пройдут там, где машина застрянет, да и " +"Лошади — отличные спутники. Они пройдут там, где машина застрянет, да и " "вообще выручат, когда двигатели заглохнут. Лошади очень доверчивые, если как" " следует покормить." @@ -179262,8 +185898,9 @@ msgid "I'd like to speak with Carlos too about some work." msgstr "Я поговорю с Карлосом насчёт работы." #: lang/json/talk_topic_from_json.py -msgid "Is Chris around? I'd like to know what he's run into out in the woods." -msgstr "Крис где-то тут? Мне б хотелось знать, что он нашёл в лесу." +msgid "" +"Is Chris around? I'd like to know what he's run into out in the woods." +msgstr "Крис где-то тут? Мне бы хотелось знать, что он нашёл в лесу." #: lang/json/talk_topic_from_json.py msgid "What needs killing?" @@ -179346,7 +185983,7 @@ msgid "" "Sometimes he'll take off for a few days and I end up patching him up so my " "parents don't know he left the property." msgstr "" -"Ну, он вообще должен охотиться, но ты уже поговорил с Люком - я уверена, он " +"Ну, он вообще должен охотиться, но ты уже поговорил с Люком — я уверена, он " "упомянул, что Крис хочет больше узнать про конец света. Иногда он уходит на " "несколько дней, и мне приходится его прикрывать, чтобы родители не узнали, " "что его нет дома." @@ -179443,18 +186080,18 @@ msgstr "Расскажи про своего отца." #: lang/json/talk_topic_from_json.py msgid "" -"Ma'am, I don't know how the hell you got down here but if you have any sense" -" you'll get out while you can." +"Sir, I don't know how the hell you got down here but if you have any sense " +"you'll get out while you can." msgstr "" -"Мэм, я не знаю как, чёрт возьми, вы добрались сюда, но если в вас есть хоть " +"Сэр, я не знаю как, чёрт возьми, вы добрались сюда, но если в вас есть хоть " "капля рассудка, уходите отсюда, пока можете." #: lang/json/talk_topic_from_json.py msgid "" -"Sir, I don't know how the hell you got down here but if you have any sense " -"you'll get out while you can." +"Ma'am, I don't know how the hell you got down here but if you have any sense" +" you'll get out while you can." msgstr "" -"Сэр, я не знаю как, чёрт возьми, вы добрались сюда, но если в вас есть хоть " +"Мэм, я не знаю как, чёрт возьми, вы добрались сюда, но если в вас есть хоть " "капля рассудка, уходите отсюда, пока можете." #: lang/json/talk_topic_from_json.py @@ -179474,15 +186111,15 @@ msgid "What do you need done?" msgstr "Что нужно сделать?" #: lang/json/talk_topic_from_json.py -msgid "About the mission..." +msgid "About the mission…" msgstr "Касательно задания…" #: lang/json/talk_topic_from_json.py -msgid "About one of those missions..." +msgid "About one of those missions…" msgstr "По поводу одного из этих заданий…" #: lang/json/talk_topic_from_json.py -msgid "I've got to go..." +msgid "I've got to go…" msgstr "Я должен идти…" #: lang/json/talk_topic_from_json.py @@ -179506,7 +186143,7 @@ msgstr "" "восстановительных работ." #: lang/json/talk_topic_from_json.py -msgid "Seems like a decent plan..." +msgid "Seems like a decent plan…" msgstr "Звучит, как хороший план…" #: lang/json/talk_topic_from_json.py @@ -179534,7 +186171,7 @@ msgstr "" "система водоснабжения была перенаправлена на нижние уровни." #: lang/json/talk_topic_from_json.py -msgid "Whatever they did it must have worked since we are still alive..." +msgid "Whatever they did it must have worked since we are still alive…" msgstr "" "Что бы они ни сделали это, должно быть, сработало, так как мы все ещё живы…" @@ -179573,7 +186210,7 @@ msgstr "" "сказать… если у тебя есть какие-либо вопросы, пойди и найди моего командира." #: lang/json/talk_topic_from_json.py -msgid "I'll try and find your commander then..." +msgid "I'll try and find your commander then…" msgstr "Я постараюсь найти командира…" #: lang/json/talk_topic_from_json.py @@ -179642,7 +186279,7 @@ msgid "I'm supposed to direct all questions to my leadership, marshal." msgstr "Я как и полагается, направляю все вопросы своему лидеру, маршал." #: lang/json/talk_topic_from_json.py -msgid "Don't mind me..." +msgid "Don't mind me…" msgstr "Не обращайте на меня внимания…" #: lang/json/talk_topic_from_json.py @@ -179650,7 +186287,7 @@ msgid "" "My god, you've got to get me out of here. The things... the things they've " "done... please help." msgstr "" -"Господи, ты пришёл меня спасти. То... то, что они делали... помоги, умоляю." +"Господи, ты пришёл меня спасти. То… то, что они делали… помоги, умоляю." #: lang/json/talk_topic_from_json.py msgid "Aren't you a little short to be a stormtrooper?" @@ -179682,7 +186319,7 @@ msgstr "Глазам не верю. Спасибо, спасибо!" #: lang/json/talk_topic_from_json.py msgid "You're... you're actually real!" -msgstr "Ты... ты настоящий!" +msgstr "Ты… ты настоящий!" #: lang/json/talk_topic_from_json.py msgid "How are you here? Are you one of them, somehow? What's going on?" @@ -179938,17 +186575,17 @@ msgstr "Хорошо! Давай идти." msgid "Have I told you about cardboard, friend? Do you have any?" msgstr "Дружище, говорил ли я тебе про картон? Нет ли у тебя его с собой?" -#: lang/json/talk_topic_from_json.py -msgid "We've done it! We've solved the list!" -msgstr "Мы сделали это! Мы закончили список!" - #: lang/json/talk_topic_from_json.py msgid "" "How's things with you? My cardboard collection is getting quite impressive." msgstr "Как продвигаются дела? У меня уже впечатляющее количество картона." #: lang/json/talk_topic_from_json.py -msgid "About that shopping list of yours..." +msgid "We've done it! We've solved the list!" +msgstr "Мы сделали это! Мы закончили список!" + +#: lang/json/talk_topic_from_json.py +msgid "About that shopping list of yours…" msgstr "Насчёт твоего списка покупок…" #: lang/json/talk_topic_from_json.py @@ -180018,7 +186655,7 @@ msgid "Would you like me to give you some cardboard?" msgstr "Хочешь ли получить немного картона?" #: lang/json/talk_topic_from_json.py -msgid "I think I have to get going..." +msgid "I think I have to get going…" msgstr "Наверное, мне пора…" #: lang/json/talk_topic_from_json.py @@ -180055,8 +186692,8 @@ msgstr "" "попросить мне помочь." #: lang/json/talk_topic_from_json.py -msgid "... What were you saying before?" -msgstr "… О чём ты там говорил?" +msgid "…What were you saying before?" +msgstr "…О чём ты там говорил?" #: lang/json/talk_topic_from_json.py msgid "" @@ -180075,7 +186712,7 @@ msgid "No." msgstr "Нет." #: lang/json/talk_topic_from_json.py -msgid "I... I can see you wearing it. Why are you wearing that?" +msgid "I… I can see you wearing it. Why are you wearing that?" msgstr "Я… я вижу, ты это носишь. Почему ты это носишь?" #: lang/json/talk_topic_from_json.py @@ -180179,7 +186816,7 @@ msgid "I found a sample of alien fungus for you." msgstr "Я нашёл для тебя инопланетный гриб." #: lang/json/talk_topic_from_json.py -msgid "Ok... see ya." +msgid "Ok… see ya." msgstr "Ладно… пока-пока." #: lang/json/talk_topic_from_json.py @@ -180308,8 +186945,8 @@ msgstr "Мне всё равно, китаец ты или нет. Если хо #: lang/json/talk_topic_from_json.py msgid "" -"I mean, racism could definitely be a part of it... but you are visibly in " -"poor shape. They need strong survivor material." +"I mean, racism could definitely be a part of it… but you are visibly in poor" +" shape. They need strong survivor material." msgstr "" "То есть тут и расизм, конечно же… но у тебя здоровье ни к чёрту. Им нужны " "сильные выживальщики." @@ -180351,7 +186988,7 @@ msgid "You sound more optimistic than usual." msgstr "Куда оптимистичнее обычного." #: lang/json/talk_topic_from_json.py -msgid "So, about that doctorate of yours..." +msgid "So, about that doctorate of yours…" msgstr "Итак, насчёт твоей учёной степени…" #: lang/json/talk_topic_from_json.py @@ -180514,7 +187151,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "Encroaching alien mushrooms, fungal towers, tough mycelium invading ground " -"and trees, zombies taken over by aggressive mold... Yeah. It's ugly stuff." +"and trees, zombies taken over by aggressive mold… Yeah. It's ugly stuff." msgstr "" "Вторжение инопланетных грибов, грибные башни, прочная грибница, " "захватывающая землю и деревья, зомби, охваченные агрессивной плесенью… Да, " @@ -180644,7 +187281,7 @@ msgstr "" "карты с Дэйвом, всё такое." #: lang/json/talk_topic_from_json.py -msgid "I could maybe help you out... want something to eat?" +msgid "I could maybe help you out… want something to eat?" msgstr "Я могу помочь… хочешь чего-нибудь поесть?" #: lang/json/talk_topic_from_json.py @@ -181153,7 +187790,7 @@ msgstr "" "есть, и даже если б был интернет, все мои подписки на ютубе мертвы." #: lang/json/talk_topic_from_json.py -msgid "You seem a little forward..." +msgid "You seem a little forward…" msgstr "Ты немного забегаешь вперёд…" #: lang/json/talk_topic_from_json.py @@ -181452,7 +188089,7 @@ msgstr "" "работать в мой собственный лагерь." #: lang/json/talk_topic_from_json.py -msgid "About that sourdough starter you had me looking for..." +msgid "About that sourdough starter you had me looking for…" msgstr "Насчёт той хлебной закваски, за которой ты меня посылала…" #: lang/json/talk_topic_from_json.py @@ -181818,7 +188455,7 @@ msgid "I think I would've done the same. Nobody around here has a guitar?" msgstr "Наверно, я б поступил так же. Тут ни у кого нет гитары?" #: lang/json/talk_topic_from_json.py -msgid "Yes, yes I would... you monster." +msgid "Yes, yes I would… you monster." msgstr "Да, да, я осужу… ты чудовище." #: lang/json/talk_topic_from_json.py @@ -182338,7 +188975,7 @@ msgstr "" "Немногие сумели выбраться… слишком немногие." #: lang/json/talk_topic_from_json.py -msgid "You lost someone..." +msgid "You lost someone…" msgstr "Ты кого-то потерял…" #: lang/json/talk_topic_from_json.py @@ -182902,7 +189539,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You... you do know what's going on here, right? With the evacuation and " +"You… you do know what's going on here, right? With the evacuation and " "stuff?" msgstr "Ты… ты же в курсе, что творится, да? Эвакуация и всё такое?" @@ -183743,7 +190380,7 @@ msgid "Are you looking to buy anything else?" msgstr "Вас интересует ещё что-нибудь?" #: lang/json/talk_topic_from_json.py -msgid "Very well... let's talk about something else." +msgid "Very well… let's talk about something else." msgstr "Очень хорошо… давай поговорим о чём-нибудь ещё." #: lang/json/talk_topic_from_json.py @@ -184131,7 +190768,7 @@ msgid "Have you seen anyone who might be hiding something?" msgstr "Видел кого-нибудь, кто мог что-нибудь скрывать?" #: lang/json/talk_topic_from_json.py -msgid "Bye..." +msgid "Bye…" msgstr "Пока…" #: lang/json/talk_topic_from_json.py @@ -184147,7 +190784,7 @@ msgid "Keep your head down and stay out of my way." msgstr "Преклони голову и уйди с дороги" #: lang/json/talk_topic_from_json.py -msgid "OK..." +msgid "OK…" msgstr "Хорошо…" #: lang/json/talk_topic_from_json.py @@ -184155,7 +190792,7 @@ msgid "Like what?" msgstr "Какого типа?" #: lang/json/talk_topic_from_json.py -msgid "I'm not sure..." +msgid "I'm not sure…" msgstr "Я не уверен…" #: lang/json/talk_topic_from_json.py @@ -184177,7 +190814,7 @@ msgid "Got something to hide?" msgstr "Есть что скрывать?" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I didn't mean to offend you..." +msgid "Sorry, I didn't mean to offend you…" msgstr "Извини, я не хотел тебя обидеть…" #: lang/json/talk_topic_from_json.py @@ -184223,16 +190860,16 @@ msgstr "Ведите себя прилично, или вам не поздор msgid "Just on watch, move along." msgstr "Просто стою в дозоре. Проходи мимо." -#: lang/json/talk_topic_from_json.py -msgid "Ma'am, you really shouldn't be traveling out there." -msgstr "Мадам, вам действительно не стоит тут гулять." - #: lang/json/talk_topic_from_json.py msgid "Rough out there, isn't it?" msgstr "Ну что, все прикинул?" #: lang/json/talk_topic_from_json.py -msgid "I heard this place was a refugee center..." +msgid "Ma'am, you really shouldn't be traveling out there." +msgstr "Мадам, вам действительно не стоит тут гулять." + +#: lang/json/talk_topic_from_json.py +msgid "I heard this place was a refugee center…" msgstr "Я слышал, это место было центром для беженцев…" #: lang/json/talk_topic_from_json.py @@ -184256,7 +190893,7 @@ msgid "Can I do anything for the center?" msgstr "Что я могу сделать для центра?" #: lang/json/talk_topic_from_json.py -msgid "I figured you might be looking for some help..." +msgid "I figured you might be looking for some help…" msgstr "Я подумал, что вам может понадобиться помощь…" #: lang/json/talk_topic_from_json.py @@ -184324,7 +190961,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"[INT 10] Wait, six buses and refugees... how many people do you still have " +"[INT 10] Wait, six buses and refugees… how many people do you still have " "crammed in here?" msgstr "" "[ИНТ 10] Погоди, шесть автобусов и беженцы… сколько людей у вас здесь " @@ -184392,7 +191029,7 @@ msgid "I'm sorry, not a risk we are willing to take right now." msgstr "Мне очень жаль, но я не готов сейчас так сильно рисковать." #: lang/json/talk_topic_from_json.py -msgid "Fine..." +msgid "Fine…" msgstr "Хорошо…" #: lang/json/talk_topic_from_json.py @@ -184408,7 +191045,7 @@ msgstr "" "его волосы." #: lang/json/talk_topic_from_json.py -msgid "Fine... *coughupyourscough*" +msgid "Fine… *coughupyourscough*" msgstr "Ладно… *кашель-кашель*" #: lang/json/talk_topic_from_json.py @@ -184445,7 +191082,7 @@ msgid "[STR 11] I punch things in face real good!" msgstr "[СИЛ 11] Я очень круто бью морды!" #: lang/json/talk_topic_from_json.py -msgid "I guess I'll look somewhere else..." +msgid "I guess I'll look somewhere else…" msgstr "Думаю, придётся искать где-нибудь ещё…" #: lang/json/talk_topic_from_json.py @@ -184472,7 +191109,7 @@ msgid "Heard of anything better than the odd gun cache?" msgstr "Слышно что-нибудь о заброшенном складе с оружием?" #: lang/json/talk_topic_from_json.py -msgid "Was hoping for something more..." +msgid "Was hoping for something more…" msgstr "Была надежда на что-то ещё…" #: lang/json/talk_topic_from_json.py @@ -184602,8 +191239,8 @@ msgid "So what are you doing right now?" msgstr "Так чем ты сейчас занимаешься?" #: lang/json/talk_topic_from_json.py -msgid "Never mind..." -msgstr "Ничего особенного…" +msgid "Never mind…" +msgstr "Неважно…" #: lang/json/talk_topic_from_json.py msgid "" @@ -184632,8 +191269,8 @@ msgstr "" "долговременная перспектива, но для выживания нужна надежда." #: lang/json/talk_topic_from_json.py -msgid "Good luck with that..." -msgstr "Удачи тебе." +msgid "Good luck with that…" +msgstr "Удачи тебе…" #: lang/json/talk_topic_from_json.py msgid "" @@ -184684,7 +191321,7 @@ msgstr "" " и спрашивай." #: lang/json/talk_topic_from_json.py -msgid "Sucks..." +msgid "Sucks…" msgstr "Отстой…" #: lang/json/talk_topic_from_json.py @@ -184704,7 +191341,7 @@ msgstr "" "построенные с использованием арматуры." #: lang/json/talk_topic_from_json.py -msgid "Well, then..." +msgid "Well, then…" msgstr "Ну ладно…" #: lang/json/talk_topic_from_json.py @@ -184803,7 +191440,7 @@ msgid "I thought I smelled a pig. I jest... please don't arrest me." msgstr "Кажется я учуял свинью. Шучу… пожалуйста, не арестовывайте меня." #: lang/json/talk_topic_from_json.py -msgid "You... smelled me?" +msgid "You… smelled me?" msgstr "Ты… чуешь меня?" #: lang/json/talk_topic_from_json.py @@ -184861,7 +191498,7 @@ msgstr "" "сравнится со свежеприготовленным стейком из лося на ужин." #: lang/json/talk_topic_from_json.py -msgid "Great, now my mouth is watering..." +msgid "Great, now my mouth is watering…" msgstr "Отлично, теперь у меня слюнки текут…" #: lang/json/talk_topic_from_json.py @@ -184987,7 +191624,7 @@ msgstr "" "защитников." #: lang/json/talk_topic_from_json.py -msgid "Hmmm..." +msgid "Hmmm…" msgstr "Хммм…" #: lang/json/talk_topic_from_json.py @@ -185051,7 +191688,7 @@ msgstr "" "оставшихся в этом мире." #: lang/json/talk_topic_from_json.py -msgid "I haven't done anything wrong..." +msgid "I haven't done anything wrong…" msgstr "Я не сделал ничего плохого…" #: lang/json/talk_topic_from_json.py @@ -185206,9 +191843,9 @@ msgid "" "\n" "the intercom: Hmm wait, we might not have your size..." msgstr "" -"В текущих условиях мы можем продать наш комплект: противогаз, костюм и снаряжение со значительной скидкой. Цена - две наших монеты.\n" +"В текущих условиях мы можем продать наш комплект: противогаз, костюм и снаряжение со значительной скидкой. Цена — две наших монеты.\n" "\n" -"интерком: Хммм, погоди, у нас может не найтись твоего размера..." +"интерком: Хммм, погоди, у нас может не найтись твоего размера…" #: lang/json/talk_topic_from_json.py msgid "[ 2 HGC ] Deal!" @@ -185235,8 +191872,8 @@ msgid "Something to say?" msgstr "Есть что сказать?" #: lang/json/talk_topic_from_json.py -msgid "I charge hourly, so be quick..." -msgstr "У меня почасовая оплата, так что короче..." +msgid "I charge hourly, so be quick…" +msgstr "У меня почасовая оплата, так что короче…" #: lang/json/talk_topic_from_json.py msgid "Hey." @@ -185266,7 +191903,7 @@ msgstr "Забей, мне всё равно пора." msgid "" "Same as you. Some nobody doing dirty work for scraps, I mean, no offense." msgstr "" -"Я тот же, кто и ты - я никто и выполняю грязную работу за объедки, без обид." +"Я тот же, кто и ты — я никто и выполняю грязную работу за объедки, без обид." #: lang/json/talk_topic_from_json.py msgid "I guess that makes two of us." @@ -185334,7 +191971,7 @@ msgid "" "\n" " As far as I know, this place held some experimental computer network before everything went to shit. What's going on now is anybody's guess." msgstr "" -"Не слишком много. Они недавно посылали меня найти и уничтожить государственные бумаги - конечно, я их сперва прочитал, но там было не на что особо смотреть.\n" +"Не слишком много. Они недавно посылали меня найти и уничтожить государственные бумаги — конечно, я их сперва прочитал, но там было не на что особо смотреть.\n" "\n" "Насколько я знаю, в этом месте была какая-то экспериментальная компьютерная сеть, пока все не накрылось. Что там происходит сейчас, остаётся догадываться. " @@ -185357,8 +191994,8 @@ msgstr "" "они посылают меня к чёрту на сраные рога искать золотые слитки." #: lang/json/talk_topic_from_json.py -msgid "I guess I could help with that..." -msgstr "Я бы смог с этим помочь..." +msgid "I guess I could help with that…" +msgstr "Я бы смог с этим помочь…" #: lang/json/talk_topic_from_json.py msgid "Now that you mention it, it does seem rather strange." @@ -185366,11 +192003,11 @@ msgstr "Теперь мне тоже это кажется странноват #: lang/json/talk_topic_from_json.py msgid "Thinking I should go hunt something soon..." -msgstr "Раздумываю, что мне скоро пора на охоту..." +msgstr "Раздумываю, что мне скоро пора на охоту…" #: lang/json/talk_topic_from_json.py msgid "Wondering if things will get better someday..." -msgstr "Мне интересно, переменится ли жизнь к лучшему..." +msgstr "Мне интересно, переменится ли жизнь к лучшему…" #: lang/json/talk_topic_from_json.py msgid "Hmm? Nothing, I guess I just like resting in this place." @@ -185378,7 +192015,7 @@ msgstr "Э? Ничего, мне просто нравится тут отдых #: lang/json/talk_topic_from_json.py msgid "Have you ever noticed how... wait no, never mind." -msgstr "Ты когда-нибудь замечал, как... стоп, всё, забудь." +msgstr "Ты когда-нибудь замечал, как… стоп, всё, забудь." #: lang/json/talk_topic_from_json.py msgid "" @@ -185481,7 +192118,7 @@ msgid "[$10] I'll get a haircut" msgstr "[$10] Меня нужно постричь" #: lang/json/talk_topic_from_json.py -msgid "Maybe another time..." +msgid "Maybe another time…" msgstr "Возможно, в другой раз…" #: lang/json/talk_topic_from_json.py @@ -185501,7 +192138,7 @@ msgid "Stand still while I get my clippers..." msgstr "Стой спокойно, пока я орудую своими ножницами…" #: lang/json/talk_topic_from_json.py -msgid "Thanks..." +msgid "Thanks…" msgstr "Спасибо…" #: lang/json/talk_topic_from_json.py @@ -185521,8 +192158,8 @@ msgid "What do you have on tap?" msgstr "Что у вас есть из разливного?" #: lang/json/talk_topic_from_json.py -msgid "I'll be going..." -msgstr "Я пожалуй пойду…" +msgid "I'll be going…" +msgstr "Я, пожалуй, пойду…" #: lang/json/talk_topic_from_json.py msgid "" @@ -185581,7 +192218,7 @@ msgstr "" "него, что нужно сделать." #: lang/json/talk_topic_from_json.py -msgid "I'll talk to him then..." +msgid "I'll talk to him then…" msgstr "Я поговорю с ним после…" #: lang/json/talk_topic_from_json.py @@ -185601,7 +192238,7 @@ msgid "I hope you are here to do business." msgstr "Я надеюсь ты здесь для дела." #: lang/json/talk_topic_from_json.py -msgid "I'm interested in investing in agriculture..." +msgid "I'm interested in investing in agriculture…" msgstr "Меня интересуют инвестиции в сельское хозяйство…" #: lang/json/talk_topic_from_json.py @@ -185632,11 +192269,11 @@ msgid "I imagine we might be able to work something out." msgstr "Думаю, мы сможем что-нибудь придумать." #: lang/json/talk_topic_from_json.py -msgid "I was wondering if you could install a cybernetic implant..." +msgid "I was wondering if you could install a cybernetic implant…" msgstr "Интересно, смог бы ты установить кибернетический имплант…" #: lang/json/talk_topic_from_json.py -msgid "I need help removing an implant..." +msgid "I need help removing an implant…" msgstr "Мне нужна помощь в удалении импланта…" #: lang/json/talk_topic_from_json.py @@ -185685,7 +192322,7 @@ msgstr "" " наши посадки дадут урожай." #: lang/json/talk_topic_from_json.py -msgid "It could be worse..." +msgid "It could be worse…" msgstr "Могло быть и хуже…" #: lang/json/talk_topic_from_json.py @@ -185697,7 +192334,7 @@ msgstr "" "работе, поищите прораба или садовода." #: lang/json/talk_topic_from_json.py -msgid "I'll talk with them then..." +msgid "I'll talk with them then…" msgstr "Я поговорю с ними после…" #: lang/json/talk_topic_from_json.py @@ -185779,8 +192416,8 @@ msgstr "" "сталкивается с голодом и нашествиями нежити." #: lang/json/talk_topic_from_json.py -msgid "Hopefully moving out here was worth it..." -msgstr "Надеюсь, приезд сюда стоил того." +msgid "Hopefully moving out here was worth it…" +msgstr "Надеюсь, приезд сюда стоил того…" #: lang/json/talk_topic_from_json.py msgid "" @@ -186164,8 +192801,7 @@ msgstr "Вы блокируете и контратакуете %s" msgid " blocks and counter-attacks %s" msgstr " блокирует и контратакует %s" -#: lang/json/technique_from_json.py lang/json/technique_from_json.py -#: src/game.cpp +#: lang/json/technique_from_json.py src/game.cpp msgid "Disarm" msgstr "Разоружение" @@ -186267,7 +192903,8 @@ msgstr "Вы отскакиваете от стены и с размаху бь msgid " leaps off a nearby wall and dropkicks %s" msgstr " отскакивает от стены и с размаху бьёт %s" -#: lang/json/technique_from_json.py +#: lang/json/technique_from_json.py lang/json/technique_from_json.py +#: src/martialarts.cpp msgid "Grab Break" msgstr "Разрыв захвата" @@ -186343,13 +192980,13 @@ msgstr "укус гадюки" #: lang/json/technique_from_json.py #, python-format -msgid "You Snakebite %s" -msgstr "Вы кусаете противника (%s)" +msgid "You lash out at %s with a Viper Bite" +msgstr "Вы набрасываетесь на %s Укусом гадюки" #: lang/json/technique_from_json.py #, python-format -msgid " Snakebites %s" -msgstr " кусает противника (%s)" +msgid " lash out at %s with a Viper Bite" +msgstr " набрасывается на %s Укусом гадюки" #: lang/json/technique_from_json.py msgid "Viper Strike" @@ -186357,18 +192994,28 @@ msgstr "атака гадюки" #: lang/json/technique_from_json.py #, python-format -msgid "You Viper Strike %s" -msgstr "Вы наносите Удар Гадюки %s" +msgid "You hit %s with a spectacular Viper Strike" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Viper Strikes %s" -msgstr " наносит Удар Гадюки %s" +msgid " hits %s with a spectacular Viper Strike" +msgstr "" #: lang/json/technique_from_json.py msgid "Viper Writhe" msgstr "гибкость гадюки" +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you writhe free!" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they writhe free!" +msgstr "" + #: lang/json/technique_from_json.py msgid "Roundhouse Kick" msgstr "Удар с разворота" @@ -186411,6 +193058,34 @@ msgstr "Вы оглушаете %s кулаком-клешнёй" msgid " jabs %s with a Pincer Fist" msgstr " бьёт %s клешнёй" +#: lang/json/technique_from_json.py +msgid "Toad Smack" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You disregard %s's attack and knock them down" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " disregards %s's attack and knocks them down" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Toad Slam" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You meet %s's attack head on with a stunning counter" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " meet %s's attack head on with a stunning counter" +msgstr "" + #: lang/json/technique_from_json.py msgid "Toad's Tongue" msgstr "жабий язык" @@ -187474,12 +194149,12 @@ msgstr "Рука-нож" #: lang/json/technique_from_json.py #, python-format msgid "You hit %s with a knifehand strike" -msgstr "Вы врезаете по %s приёмом \"рука-нож\"" +msgstr "Вы врезаете по %s приёмом «рука-нож»" #: lang/json/technique_from_json.py #, python-format msgid " hits %s with a knifehand strike" -msgstr " врезает по %s приёмом \"рука-нож\"" +msgstr " врезает по %s приёмом «рука-нож»" #: lang/json/technique_from_json.py msgid "Backfist Strike" @@ -187904,341 +194579,353 @@ msgstr "Вы хватаете и бросаете %s" msgid " grabs and throws %s" msgstr " хватает и бросает %s" +#: lang/json/technique_from_json.py +msgid "Hamstring" +msgstr "Подсечка" + #: lang/json/technique_from_json.py #, python-format -msgid "You disarm %s" -msgstr "Вы обезоруживаете %s" +msgid "You ground %s with a low blow" +msgstr "Вы роняете %s на землю низким ударом" #: lang/json/technique_from_json.py #, python-format -msgid " disarms %s" -msgstr " обезоруживает %s" +msgid " grounds %s with a low blow" +msgstr " роняет %s на землю низким ударом!" #: lang/json/technique_from_json.py -msgid "precise strike" -msgstr "точный удар" +msgid "Vicious Precision" +msgstr "Жестокая точность" #: lang/json/technique_from_json.py #, python-format -msgid "You strike %s" -msgstr "Вы атакуете %s" +msgid "You viciously wound %s" +msgstr "Вы жестоко раните %s" #: lang/json/technique_from_json.py #, python-format -msgid " strikes %s" -msgstr " атакуете %s" +msgid " viciously wounds %s" +msgstr " жестоко ранит %s!" #: lang/json/technique_from_json.py -msgid "axe-kick" -msgstr "рубящий удар ногой" +msgid "Dirty Hit" +msgstr "Грязный удар" #: lang/json/technique_from_json.py #, python-format -msgid "You axe-kick %s" -msgstr "Вы наносите рубящий удар ногой по %s" +msgid "You hit %s with a dirty blow" +msgstr "Вы бьёте %s грязным приёмом" #: lang/json/technique_from_json.py #, python-format -msgid " axe-kicks %s" -msgstr " наносит рубящий удар ногой по %s" +msgid " delivers a dirty blow to %s" +msgstr " бьёт %s грязным приёмом" #: lang/json/technique_from_json.py -msgid "side kick" -msgstr "боковой удар ногой" +msgid "Silat Brutality" +msgstr "Жестокость силат" #: lang/json/technique_from_json.py #, python-format -msgid "You side-kick %s" -msgstr "Вы наносите боковой удар ногой по %s" +msgid "You brutally tear into %s" +msgstr "Вы жестоко набрасываетесь на %s" #: lang/json/technique_from_json.py #, python-format -msgid " side-kicks %s" -msgstr " наносит боковой удар ногой по %s" +msgid " brutally tears into %s" +msgstr " жестоко набрасывается на %s" #: lang/json/technique_from_json.py -msgid "sweep kick" -msgstr "подсечка" +msgid "Snake Snap" +msgstr "змеиный захват" #: lang/json/technique_from_json.py #, python-format -msgid "You sweep-kick %s" -msgstr "Вы проводите подсечку, и %s падает" +msgid "You swiftly jab %s" +msgstr "Вы быстро тыкаете %s" #: lang/json/technique_from_json.py #, python-format -msgid " sweep-kicks %s" -msgstr " проводите подсечку, и %s падает" +msgid " swiftly jabs %s" +msgstr " быстро тыкает %s" #: lang/json/technique_from_json.py -msgid "Drunk feint" -msgstr "пьяный финт" +msgid "Snake Slide" +msgstr "змеиное скольжение" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble and leer at %s" -msgstr "Вы спотыкаетесь и хитро смотрите на %s" +msgid "You make serpentine hand motions at %s" +msgstr "Вы водите руками в сторону %s" #: lang/json/technique_from_json.py #, python-format -msgid " stumbles and leers at %s" -msgstr " спотыкается и хитро смотрит на %s" +msgid " makes serpentine hand motions at %s" +msgstr " водит руками в сторону %s" #: lang/json/technique_from_json.py -msgid "Drunk counter" -msgstr "пьяный контрудар" +msgid "Snake Slither" +msgstr "Змеиное скольжение" #: lang/json/technique_from_json.py #, python-format -msgid "You lurch, and your wild swing hits %s" -msgstr "Вы шатаетесь, и ваш неожиданный боковой удар ранит %s" +msgid "The %s tries to grab you, but you slither free!" +msgstr "%s пытается вас схватить, но вы выскальзываете!" #: lang/json/technique_from_json.py #, python-format -msgid " lurches, and hits %s" -msgstr " шатается и неожиданно бьёт %s" +msgid "The %s tries to grab , but they slither free!" +msgstr "%s пытается схватить , но тот выскальзывает!" #: lang/json/technique_from_json.py -msgid "hamstring" -msgstr "поджилки" +msgid "Snake Strike" +msgstr "Змеиный удар" #: lang/json/technique_from_json.py #, python-format -msgid "You ground %s with a low blow" -msgstr "Вы роняете %s на землю низким ударом" +msgid "You lash out at %s with a vicious Snake Strike" +msgstr "Вы бросаетесь на %s коварным Змеиным ударом" #: lang/json/technique_from_json.py #, python-format -msgid " grounds %s with a low blow" -msgstr " роняет %s на землю низким ударом!" +msgid " lashes out at %s with a vicious Snake Strike" +msgstr " бросается на %s коварным Змеиным ударом" #: lang/json/technique_from_json.py -msgid "Vicious Precision" -msgstr "Жестокая точность" +msgid "Push" +msgstr "Толчок" #: lang/json/technique_from_json.py #, python-format -msgid "You viciously wound %s" -msgstr "Вы жестоко раните %s" +msgid "You push %s away" +msgstr "Вы отталкиваете %s прочь" #: lang/json/technique_from_json.py #, python-format -msgid " viciously wounds %s" -msgstr " жестоко ранит %s!" +msgid " pushes %s away" +msgstr " отталкивает %s прочь" #: lang/json/technique_from_json.py -msgid "Silat Brutality" -msgstr "Жестокость силат" +msgid "Shove" +msgstr "Оттолкнуть" #: lang/json/technique_from_json.py #, python-format -msgid "You send %s reeling backwards" -msgstr "Вы заставили %s отшатнуться" +msgid "You shove %s back" +msgstr "Вы толкаете %s назад" #: lang/json/technique_from_json.py -msgid "Dirty Hit" -msgstr "Грязный удар" +#, python-format +msgid " shoves %s back" +msgstr " толкает %s назад" #: lang/json/technique_from_json.py #, python-format -msgid "You hit %s with a dirty blow" -msgstr "Вы бьёте %s грязным приёмом" +msgid "You deftly trip %s" +msgstr "Вы ловко делаете подножку %s" #: lang/json/technique_from_json.py #, python-format -msgid " delivers a dirty blow to %s" -msgstr " бьёт %s грязным приёмом" +msgid " deftly trips %s" +msgstr " ловко делает подножку %s" #: lang/json/technique_from_json.py -msgid "Tiger Takedown" -msgstr "Захват тигра" +msgid "Snatch Weapon" +msgstr "Вырвать оружие" #: lang/json/technique_from_json.py #, python-format -msgid "You grab and ground %s" -msgstr "Вы хватаете и бросаете %s" +msgid "You snatch %s's weapon" +msgstr "Вы вырываете у %s оружие" #: lang/json/technique_from_json.py #, python-format -msgid " grabs and grounds %s" -msgstr " хватает и бросает %s" +msgid " snatches %s's weapon" +msgstr " вырывает у %s оружие" #: lang/json/technique_from_json.py -msgid "Snake Snap" -msgstr "змеиный захват" +msgid "Axe-kick" +msgstr "Рубящий удар ногой" #: lang/json/technique_from_json.py #, python-format -msgid "You swiftly jab %s" -msgstr "Вы быстро тыкаете %s" +msgid "You raise your heel and axe-kick %s" +msgstr "Вы сверху вниз бьёте ногой %s" #: lang/json/technique_from_json.py #, python-format -msgid " swiftly jabs %s" -msgstr " быстро тыкает %s" +msgid " raises their heel and axe-kicks %s" +msgstr " бьёт сверху вниз ногой %s" #: lang/json/technique_from_json.py -msgid "Snake Slide" -msgstr "змеиное скольжение" +msgid "Side Kick" +msgstr "Боковой удар ногой" #: lang/json/technique_from_json.py #, python-format -msgid "You make serpentine hand motions at %s" -msgstr "Вы водите руками в сторону %s" +msgid "You turn slightly and side-kick %s" +msgstr "Вы слегка поворачиваетесь и сбоку бьете ногой по %s" #: lang/json/technique_from_json.py #, python-format -msgid " makes serpentine hand motions at %s" -msgstr " водит руками в сторону %s" +msgid " turns slightly and side-kicks %s" +msgstr " слегка поворачивается и наносит боковой удар ногой по %s" #: lang/json/technique_from_json.py -msgid "Snake Slither" -msgstr "Змеиное скольжение" +#, python-format +msgid "You crouch low and sweep-kick %s" +msgstr "Вы присядя подсекаете %s" #: lang/json/technique_from_json.py #, python-format -msgid "The %s tries to grab you, but you slither free!" -msgstr "%s пытается вас схватить, но вы выскальзываете!" +msgid " crouches low and sweep-kicks %s" +msgstr " вприсядя подсекает %s" #: lang/json/technique_from_json.py #, python-format -msgid "The %s tries to grab , but they slither free!" -msgstr "%s пытается схватить , но тот выскальзывает!" +msgid "You gently disarm %s" +msgstr "Вы осторожно разоружаете %s" #: lang/json/technique_from_json.py -msgid "Snake Strike" -msgstr "атака змеи" +#, python-format +msgid " gently disarms %s" +msgstr " осторожно разоружает %s" + +#: lang/json/technique_from_json.py +msgid "Palm Strike" +msgstr "Удар ладонью" #: lang/json/technique_from_json.py #, python-format -msgid "You strike out at %s" -msgstr "Вы бьёте %s" +msgid "You palm strike %s" +msgstr "Вы бьёте ладонью по %s" #: lang/json/technique_from_json.py #, python-format -msgid " strikes out at %s" -msgstr " бьёт %s" +msgid " palm strikes %s" +msgstr " бьёт ладонью по %s" #: lang/json/technique_from_json.py -msgid "slow strike" -msgstr "медленный удар" +msgid "Grasp the Sparrow's Tail" +msgstr "Захват Хвост воробья" #: lang/json/technique_from_json.py #, python-format -msgid "You slowly strike %s" -msgstr "Вы медленно бьёте %s" +msgid "You divert %s's attack and lead them to the ground" +msgstr "Вы отклоняете атаку %s и швыряете на землю" #: lang/json/technique_from_json.py #, python-format -msgid " slowly strikes %s" -msgstr " медленно бьёт %s" +msgid " diverts %s's attack and lead them to the ground" +msgstr " отклоняет атаку %s и швыряет о земь" #: lang/json/technique_from_json.py -msgid "phasing strike" -msgstr "фазовый удар" +msgid "Double Palm Strike" +msgstr "Двойной удар ладонью" #: lang/json/technique_from_json.py #, python-format -msgid "You phase-strike %s" -msgstr "Вы наносите фазовый удар по %s" +msgid "You double-handed palm strike %s" +msgstr "Вы бьёте обоими ладонями по %s" #: lang/json/technique_from_json.py #, python-format -msgid " phase-strikes %s" -msgstr " наносит фазовый удар по %s" +msgid " double-handed palm strikes %s" +msgstr " бьёт обоими ладонями по %s" #: lang/json/technique_from_json.py -msgid "Push" -msgstr "Толчок" +msgid "Tiger Palm" +msgstr "Ладонь тигра" #: lang/json/technique_from_json.py #, python-format -msgid "You push %s away" -msgstr "Вы отталкиваете %s прочь" +msgid "You land a heavy tiger palm on %s" +msgstr "Ваша мощная ладонь тигра пригвождает %s" #: lang/json/technique_from_json.py #, python-format -msgid " pushes %s away" -msgstr " отталкивает %s прочь" +msgid " lands a heavy tiger palm on %s" +msgstr " пригвождает %s мощной ладонью тигра" #: lang/json/technique_from_json.py -#, python-format -msgid "You deftly trip %s" -msgstr "Вы ловко делаете подножку %s" +msgid "Tiger Takedown" +msgstr "Захват тигра" #: lang/json/technique_from_json.py #, python-format -msgid " deftly trips %s" -msgstr " ловко делает подножку %s" +msgid "You slam %s to the ground" +msgstr "Вы сбиваете %s на землю" #: lang/json/technique_from_json.py -msgid "Skewer" -msgstr "Прокалывание" +#, python-format +msgid " slams %s to the ground" +msgstr " сбивает %s на землю" #: lang/json/technique_from_json.py -#, python-format -msgid "You brutally skewer %s" -msgstr "Вы жестоко прокалываете %s" +msgid "Straight Punch" +msgstr "Апперкот" #: lang/json/technique_from_json.py #, python-format -msgid " brutally skewers %s" -msgstr " жестоко прокалывает %s" +msgid "You deliver a vertical straight punch to %s" +msgstr "Вы ударяете вертикальным прямым ударом %s" #: lang/json/technique_from_json.py -msgid "Chain Punch" -msgstr "Цепь ударов" +#, python-format +msgid " delivers a vertical straight punch to %s" +msgstr " вертикально бьёт прямым ударом по %s" -#. ~ Description for Chain Punch #: lang/json/technique_from_json.py -msgid "50% moves, 66% damage, knockback and follow" -msgstr "50% ходов, 66% урона, отбрасывание назад с преследованием" +msgid "Straight Punch (Knockback)" +msgstr "Апперкот (отбрасывающий)" #: lang/json/technique_from_json.py #, python-format -msgid "You chain strike %s" -msgstr "Вы наносите цепь ударов по %s" +msgid "You force %s back with a vertical straight punch" +msgstr "Вы отбрасываете %s вертикальным прямым ударом" #: lang/json/technique_from_json.py #, python-format -msgid " chain strikes %s" -msgstr " наносит цепь ударов по %s" +msgid " forces %s back with a vertical straight punch" +msgstr " отбрасывает %s вертикальным прямым ударом" #: lang/json/technique_from_json.py -msgid "You position yourself well and slip out of a grab" -msgstr "Вы принимаете правильную позицию и выскальзываете из захвата" +msgid "L-hook" +msgstr "Левый хук" #: lang/json/technique_from_json.py -msgid " slips out of a grab" -msgstr " выскальзывает из захвата" +#, python-format +msgid "You deliver a solid L-hook to %s" +msgstr "Вы прописываете крепкий левый хук %s" #: lang/json/technique_from_json.py -msgid "ask the way" -msgstr "Познать Путь" +#, python-format +msgid " delivers a solid L-hook to %s" +msgstr " прописывает крепкий левый хук %s" #: lang/json/technique_from_json.py -#, python-format -msgid "You miss but keep striking at %s" -msgstr "Вы промахиваетесь, но продолжаете бить %s" +msgid "L-hook (Knockback)" +msgstr "Левый хук (отбрасывающий)" #: lang/json/technique_from_json.py #, python-format -msgid " misses but keeps striking at %s" -msgstr "промахивается, но продолжает бить %s" +msgid "You knock %s back with a solid L-hook" +msgstr "Вы отбрасываете %s мощным левым хуком" #: lang/json/technique_from_json.py -msgid "White Crane stumble" -msgstr "Подножка Белого Журавля" +#, python-format +msgid " knocks %s back with a solid L-hook" +msgstr " отбрасывает %s мощным левым хуком" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble %s with your onslaught" -msgstr "Вы спотыкаетесь о %s при атаке" +msgid "Your attack misses %s but you don't let up" +msgstr "Вы промахнулись по %s, но вы не отступаете" #: lang/json/technique_from_json.py #, python-format -msgid " stumbles %s" -msgstr " спотыкается о %s" +msgid "'s attack misses %s but they don't let up" +msgstr " промазал по %s, но он не отступает" #: lang/json/technique_from_json.py msgid "Receive and Counter" @@ -188254,6 +194941,72 @@ msgstr "Вы получаете дар жестокости от %s, и возв msgid " receives %s's attack, and counters" msgstr " атакован %s и наносит ответный удар" +#: lang/json/technique_from_json.py +msgid "Drunken Feint" +msgstr "Пьяный финт" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You stumble and leer at %s" +msgstr "Вы спотыкаетесь и хитро смотрите на %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " stumbles and leers at %s" +msgstr " спотыкается и хитро смотрит на %s" + +#: lang/json/technique_from_json.py +msgid "Drunk Counter" +msgstr "Пьяный контрудар" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You lurch, and your wild swing hits %s" +msgstr "Вы шатаетесь, и ваш неожиданный боковой удар ранит %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " lurches, and hits %s" +msgstr " шатается и неожиданно бьёт %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you stumble away!" +msgstr "%s пытается схватить вас, но вы спотыкаетесь!" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they stumble away!" +msgstr "%s пытается хватануть, но спотыкается!" + +#: lang/json/technique_from_json.py +msgid "slow strike" +msgstr "медленный удар" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You slowly strike %s" +msgstr "Вы медленно бьёте %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " slowly strikes %s" +msgstr " медленно бьёт %s" + +#: lang/json/technique_from_json.py +msgid "phasing strike" +msgstr "фазовый удар" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You phase-strike %s" +msgstr "Вы наносите фазовый удар по %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " phase-strikes %s" +msgstr " наносит фазовый удар по %s" + #: lang/json/technique_from_json.py msgid "Pressure Crunch" msgstr "Удар под давлением" @@ -188925,36 +195678,42 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "deep dock pile" -msgstr "" +msgstr "глубоководная свая" #. ~ Description for deep dock pile #: lang/json/terrain_from_json.py msgid "" -"A sturdy pile made of wood extending all the way to the riverbed. A frame " +"A sturdy pile made of wood extending all the way to the riverbed. A frame " "will be required to support a surface." msgstr "" +"Крепкая деревянная свая, простирающаяся до самого дна реки. Для поддержки " +"настила потребуется рама." #: lang/json/terrain_from_json.py msgid "deep dock frame" -msgstr "" +msgstr "рама причала" #. ~ Description for deep dock frame #: lang/json/terrain_from_json.py msgid "" -"A log frame secured atop a wooden pile. Adding a wood surface will make this" -" into a proper dock section." +"A log frame secured atop a wooden pile. Adding a wood surface will make " +"this into a proper dock section." msgstr "" +"Бревенчатый каркас, закрепленный на деревянных сваях. Добавление деревянного" +" настила превратит это в настоящий причал для лодок." #: lang/json/terrain_from_json.py msgid "deep dock" -msgstr "" +msgstr "причал" #. ~ Description for deep dock #: lang/json/terrain_from_json.py msgid "" -"A wooden platform held by a tall wooden pile that extend to the riverbed. " +"A wooden platform held by a tall wooden pile that extend to the riverbed. " "Very sturdy, and likely to outlast you." msgstr "" +"Деревянный настил, удерживаемый длинными деревянными сваями, которые забиты " +"в дно реки. Очень крепкий и, вероятно, ещё переживет вас." #: lang/json/terrain_from_json.py msgid "shallow bridge" @@ -189729,6 +196488,19 @@ msgstr "" "Ворота массового производства, сделанные из различных пиломатериалов с " "замком для ворот. Ворота широко открыты, позволяя свободное перемещение." +#: lang/json/terrain_from_json.py +msgid "closed screen door" +msgstr "закрытая сетчатая дверь" + +#. ~ Description for closed screen door +#: lang/json/terrain_from_json.py +msgid "A simple wooden doorway with screen mesh." +msgstr "Простой деревянный дверной проём с антимоскитной сеткой." + +#: lang/json/terrain_from_json.py +msgid "rattle!" +msgstr "дзынь!" + #: lang/json/terrain_from_json.py msgid "closed chickenwire gate" msgstr "закрытые ворота из шестиугольной сетки" @@ -189740,10 +196512,6 @@ msgid "" msgstr "" "Ворота для проволочной ограды из шестиугольной сетки с простой защёлкой." -#: lang/json/terrain_from_json.py -msgid "rattle!" -msgstr "дзынь!" - #: lang/json/terrain_from_json.py msgid "open chickenwire gate" msgstr "открытые ворота из шестиугольной сетки" @@ -189807,6 +196575,19 @@ msgstr "" msgid "metal rattling!" msgstr "металлическое громыхание!" +#: lang/json/terrain_from_json.py +msgid "screen mesh wall" +msgstr "сетчатая стена" + +#. ~ Description for screen mesh wall +#: lang/json/terrain_from_json.py +msgid "" +"A rather flimsy tall wall made of 2x4s and screen mesh, suitable for keeping" +" the bugs out." +msgstr "" +"Довольно хлипкая высокая стена, сделанная из стоек и антимоскитной сетки, " +"предохраняющей от насекомых." + #: lang/json/terrain_from_json.py msgid "chickenwire fence post" msgstr "столб ограды из шестиугольной сетки" @@ -190168,7 +196949,7 @@ msgstr "деревянный пол" #. ~ Description for wooden floor #: lang/json/terrain_from_json.py msgid "" -"Wooden floor created from boards, packed tightly together and nailed down. " +"Wooden floor created from boards, packed tightly together and nailed down. " "Common in patios." msgstr "" "Пол из плотно уложенных сбитых гвоздями деревянных досок. Такие часто бывают" @@ -190517,7 +197298,7 @@ msgstr "лучевая установка" msgid "" "A dual purpose platform that serves as a containment, and as a device that " "exposes items places on in to the radioactive source, by temporarily " -"hoisting the radioactive material stored within. Operated from external " +"hoisting the radioactive material stored within. Operated from external " "console." msgstr "" "Многофункциональная установка, служащая одновременно хранилищем и " @@ -190873,10 +197654,10 @@ msgstr "можжевельник" #: lang/json/terrain_from_json.py msgid "" "One of the species of 'Juniperus' that grows in New England, juniper berries" -" grow over two to three years, first flowering. On the second year producing" -" a green berry, the last, they produce their more famed blue varieties. If " -"you examined the foliage more closely, you could probably find some viable " -"clusters. You could also cut it down with the right tools." +" grow over two to three years, first flowering. On the second year " +"producing a green berry, the last, they produce their more famed blue " +"varieties. If you examined the foliage more closely, you could probably " +"find some viable clusters. You could also cut it down with the right tools." msgstr "" "Один из видов рода «Можжевельник», растущих в Новой Англии. Растение " "поначалу только цветёт и лишь на второй-третий год даёт плоды, после двух " @@ -192020,10 +198801,11 @@ msgstr "банкомат" #: lang/json/terrain_from_json.py msgid "" "For your banking convenience, this Automated Teller Machine is fully capable" -" of operating autonomously in the event of complete network failure. You can" -" deposit funds from cash cards and migrate all of your inflation-adjusted " -"earnings to a single card. These things have seen better days. There's been" -" a run on the bank, and this machine has the dents and cracks to prove it." +" of operating autonomously in the event of complete network failure. You " +"can deposit funds from cash cards and migrate all of your inflation-adjusted" +" earnings to a single card. These things have seen better days. There's " +"been a run on the bank, and this machine has the dents and cracks to prove " +"it." msgstr "" "Для удобства ваших банковских расчётов. Этот банкомат полностью способен к " "автономной работе даже в условиях полного отказа сети. Вы можете переводить " @@ -192059,7 +198841,7 @@ msgid "" "This machine will provide you access to whatever is beyond it - for the " "price of a ticket, of course." msgstr "" -"Этот аппарат пропустит вас к чему бы то ни было - в обмен на билет, конечно." +"Этот аппарат пропустит вас к чему бы то ни было — в обмен на билет, конечно." #: lang/json/terrain_from_json.py msgid "broken generator" @@ -192142,8 +198924,8 @@ msgstr "центрифуга" #: lang/json/terrain_from_json.py msgid "" "This is a centrifuge, a liquid separating device with an automated analyzer " -"unit. It could be used to analyze a medical fluid sample, such as blood, if " -"a test tube was placed in it." +"unit. It could be used to analyze a medical fluid sample, such as blood, if" +" a test tube was placed in it." msgstr "" "Это центрифуга, прибор для разделения жидкостей вместе с автоматическим " "анализатором. С её помощью можно сделать анализ образца медицинской " @@ -192848,7 +199630,7 @@ msgstr "закрытый смоляной портал" #. ~ Description for closed resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is closed tightly, but it looks like a firm push would cause it to snap " "open." msgstr "" @@ -192862,7 +199644,7 @@ msgstr "открытый смоляной портал" #. ~ Description for open resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is open, the flaps held out by some sort of stringy mucus-like " "substance." msgstr "" @@ -192969,6 +199751,15 @@ msgid "" " were still running." msgstr "Знак, обозначающий пересечение путей. Если б ещё ходили поезда." +#. ~ Description for small railroad track +#: lang/json/terrain_from_json.py +msgid "" +"Like a railroad track, only smaller. You could probably run a small vehicle" +" on this." +msgstr "" +"Как ж/д рельсы, только меньше. Вы могли бы, вероятно, по ним запустить " +"небольшое средство передвижения." + #: lang/json/terrain_from_json.py msgid "sandbox" msgstr "песочница" @@ -193039,10 +199830,10 @@ msgstr "воронка жёлоба" #. ~ Description for gutter drop #: lang/json/terrain_from_json.py msgid "" -"Funnels water from gutter system towards the ground, it looks flimsy. You " +"Funnels water from gutter system towards the ground, it looks flimsy. You " "may be able to climb down here." msgstr "" -"Выпускает воду из водосточной трубы на землю. Выглядит не слишком прочно. " +"Отводит воду из водосточной трубы на землю. Выглядит не слишком прочно. " "Отсюда можно забраться наверх." #: lang/json/terrain_from_json.py @@ -193053,7 +199844,7 @@ msgstr "водосточная труба" #: lang/json/terrain_from_json.py msgid "" "A length of gutter running from the roof to the ground, you could place a " -"container underneath it to collect rainwater. It looks flimsy. You may be " +"container underneath it to collect rainwater. It looks flimsy. You may be " "able to climb down here." msgstr "" "Длинная водосточная труба, свисающая с крыши до земли, под неё можно " @@ -193102,7 +199893,7 @@ msgstr "металлическая плоская крыша" #. ~ Description for metal flat roof #: lang/json/terrain_from_json.py -msgid "A secton of flat, sheet metal rooftop." +msgid "A section of flat, sheet metal rooftop." msgstr "Участок плоской крыши из листового металла." #: lang/json/terrain_from_json.py @@ -193130,7 +199921,7 @@ msgstr "каменный свод" #. ~ Description for rock roof #: lang/json/terrain_from_json.py -msgid "A secton of flat natural rock." +msgid "A section of flat natural rock." msgstr "Плоский свод из природного камня." #: lang/json/terrain_from_json.py @@ -193956,7 +200747,7 @@ msgstr "полупостроенная колонна" #: lang/json/terrain_from_json.py msgid "" "An empty wooden frame in the shape of a column, built around a concrete and " -"rebar foundation. It isn't capable of supporting roofs or shelter, and " +"rebar foundation. It isn't capable of supporting roofs or shelter, and " "appears to need more resources before being considered complete." msgstr "" "Пустой деревянный каркас в форме колонны, построенный на железобетонном " @@ -195300,7 +202091,7 @@ msgid "" "You just activated a grenade! You probably want to throw it. To throw an " "item, press 't' and then select the item to throw. The maximum range " "depends on your strength and the object's weight and size. Throwing isn't " -"very good in most combat situations, but if you've got some fire power..." +"very good in most combat situations, but if you've got some fire power…" msgstr "" "Вы активировали гранату! Вряд ли стоит тянуть с броском. Чтобы метнуть что-" "нибудь, нажмите «t» и выберите нужный предмет. Максимальная дистанция броска" @@ -195407,7 +202198,7 @@ msgstr "" #: lang/json/tutorial_messages_from_json.py msgid "" "~ is a terrain symbol that indicates water. From a water source like this, " -"you can fill any containers you might have. Examine the water ('e') and " +"you can fill any containers you might have. Examine the water ('e') and " "press 'c' to fill a container, then select a watertight container to put the" " water into." msgstr "" @@ -196519,7 +203310,7 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "" "A very bright, directed light that illuminates a half-circular area outside " -"the vehicle when turned on. During installation, you can choose what " +"the vehicle when turned on. During installation, you can choose what " "direction to point the light." msgstr "" "Очень яркий направленный прожектор. Когда включён, освещает полукруглую " @@ -196676,7 +203467,7 @@ msgstr "привязанный матрас" #. ~ Description for tied mattress #: lang/json/vehicle_part_from_json.py msgid "" -"A mattress, strapped onto the vehicle. It could serve to blunt any impact." +"A mattress, strapped onto the vehicle. It could serve to blunt any impact." msgstr "Матрас, привязанный к машине. Смягчит любой удар." #. ~ Description for shredder @@ -197132,6 +203923,15 @@ msgstr "" "Металлический шип, который приваривается на транспорт, чтобы увеличить урон " "существам при столкновении." +#. ~ Description for programmable autopilot +#: lang/json/vehicle_part_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of the vehicle to " +"allow it to follow simple paths." +msgstr "" +"Компьютерная система, подключенная к рулевому управлению и двигателю " +"автомобиля, которая направляет его по заданному простому пути." + #: lang/json/vehicle_part_from_json.py msgid "swappable storage battery case" msgstr "сменный аккумуляторный ящик" @@ -197175,25 +203975,24 @@ msgstr "" #. ~ Description for washing machine #: lang/json/vehicle_part_from_json.py msgid "" -"A small washing machine. With detergent or soap, water, and some electrical" -" power, you could clean a lot of clothes. 'e'xamine the tile with the " -"washing machine to use it." +"A small washing machine. With detergent, water, and some electrical power, " +"you could clean a lot of clothes. 'e'xamine the tile with the washing " +"machine to use it." msgstr "" -"Маленькая стиральная машина. Затратив моющее средство, воду и немного " -"электроэнергии, можно перестирать очень много одежды. Для использования " -"нажмите [e] и укажите на тайл со стиральной машиной." +"Маленькая стиральная машина. Затратив моющее средство или мыло, воду и " +"немного электроэнергии, можно перестирать очень много одежды. Для " +"использования нажмите [e] и укажите на тайл со стиральной машиной." #. ~ Description for dishwasher #: lang/json/vehicle_part_from_json.py msgid "" -"A small dishwasher. With detergent or soap, water, and some electrical " -"power, you could clean your dishes... Or something more useful like a CBM " -"dripping with zombie gore. 'e'xamine the tile with the dishwasher to use " -"it." +"A small dishwasher. With detergent, water, and some electrical power, you " +"could clean your dishes… Or something more useful like a CBM dripping with " +"zombie gore. 'e'xamine the tile with the dishwasher to use it." msgstr "" "Маленькая посудомойка. Затратив моющее средство, воду и немного " -"электроэнергии, можно помыть тарелки... Или что-то более полезное вроде КБМ," -" покрытого внутренностями зомби. Для использования нажмите [e] и укажите на " +"электроэнергии, можно помыть тарелки… Или что-то более полезное вроде КБМ, " +"покрытого внутренностями зомби. Для использования нажмите [e] и укажите на " "тайл с посудомойкой." #. ~ Description for autoclave @@ -197393,11 +204192,11 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "" "A large wind turbine with stabilizing legs. Will recharge the vehicle's " -"electrical power when exposed to the wind. Will cause extra drag on the " +"electrical power when exposed to the wind. Will cause extra drag on the " "vehicle." msgstr "" "Большой ветряк со стабилизирующими подпорками. Будет заряжать автомобильные " -"батареи, если на него дует ветер. Ухудшает сопротивление ветра транспорта." +"батареи, если на него дует ветер. Ухудшает сопротивление ветру транспорта." #. ~ Description for reinforced solar panel #: lang/json/vehicle_part_from_json.py @@ -197995,6 +204794,19 @@ msgstr "" "Универсальное вращающееся крепление для оружия. Если у вас не заняты руки, " "вы можете встать рядом с ним и нажать [f], чтобы выстрелить." +#. ~ Description for turret control unit +#: lang/json/vehicle_part_from_json.py +msgid "" +"A set of motor, camera, and an AI unit which allows for tracking targets, " +"friend-or-foe identification, and firing the connected turret in full " +"automatic mode. When installed over the turret, it will enable auto " +"targeting mode for said turret." +msgstr "" +"Набор из двигателя, камеры и ИИ-блока, который позволяет отслеживать цели, " +"идентифицировать друга или врага и стрелять из подключенной башни в " +"полностью автоматическом режиме. При установке на башню, открывает режим " +"автоматического наведения для турели." + #: lang/json/vehicle_part_from_json.py msgid "light wheel mount (steerable)" msgstr "легкое крепление колеса (управляемое)" @@ -198042,6 +204854,16 @@ msgstr "" msgid "rail wheel (steerable)" msgstr "железнодорожное колесо (управляемое)" +#. ~ Description for pair of small rail wheels +#: lang/json/vehicle_part_from_json.py +msgid "" +"A pair of small rail wheels. It performs well when riding on a pair of " +"small rails. It performs terribly when not on a rail. Moreover, you can't " +"steer it." +msgstr "" +"Пара маленьких ж/д колёс. Хорошо подходят для езды на небольших рельсах, но " +"ужасны для всего остального. А ещё, вы не можете управлять ими." + #: lang/json/vehicle_part_from_json.py msgid "roller drum" msgstr "каток" @@ -199829,81 +206651,6 @@ msgstr "ручная тесла-пушка" msgid "manual avalanche rifle" msgstr "ручная лавинная винтовка" -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of road" -msgstr "Чистая секция дороги" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Randomly-distributed wrecks" -msgstr "Произвольным образом размещённые аварии" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parked vehicles" -msgstr "Припаркованный транспорт" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Jack-knifed semi" -msgstr "Развёрнутый полуприцеп" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Random car pileup" -msgstr "Груда случайных машин" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Police car pileup" -msgstr "Груда полицейских машин" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Out of fuel vehicle" -msgstr "Транспорт без топлива" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of bridge" -msgstr "Чистая секция моста" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Unfueled Vehicle on the bridge" -msgstr "Транспорт без топлива на мосту" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the bridge" -msgstr "Транспорт на мосту" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of highway" -msgstr "Чистая секция шоссе" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the highway" -msgstr "Транспорт на шоссе" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parking lot with vehicles" -msgstr "Транспорт на парковке" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of subway" -msgstr "Очищенный участок метро" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the subway" -msgstr "Транспорт на линии метро" - #: lang/json/vitamin_from_json.py msgid "Calcium" msgstr "кальций" @@ -199920,6 +206667,10 @@ msgstr "витамин В12" msgid "Vitamin C" msgstr "витамин С" +#: lang/json/vitamin_from_json.py +msgid "Toxins" +msgstr "Яды" + #: src/action.cpp src/input.cpp msgid "Press " msgstr "Нажмите " @@ -200045,8 +206796,8 @@ msgstr "Вы разделываете тушу сложной системой #: src/activity_handlers.cpp msgid "" -"You need to suspend this corpse to butcher it. While you have a rope to lift" -" the corpse, there is no tree nearby to hang it from." +"You need to suspend this corpse to butcher it. While you have a rope to " +"lift the corpse, there is no tree nearby to hang it from." msgstr "" "Вам нужно подвесить эту тушу, чтобы разделать её. У вас есть верёвка, но " "поблизости нет подходящего дерева." @@ -200064,8 +206815,8 @@ msgstr "" #: src/activity_handlers.cpp msgid "" "To perform a full butchery on a corpse this big, you need a table nearby or " -"something else with a flat surface. A leather tarp spread out on the ground " -"could suffice." +"something else with a flat surface. A leather tarp spread out on the ground" +" could suffice." msgstr "" "Для полной разделки такой большой туши вам понадобится стол или любая другая" " ровная поверхность. Расстеленная на земле кожаная подстилка вполне " @@ -200415,7 +207166,7 @@ msgstr "" #. ~ Sound of a Pickaxe at work! #: src/activity_handlers.cpp -msgid "CHNK! CHNK! CHNK!" +msgid "CHNK! CHNK! CHNK!" msgstr "ТКХХ! ТКХХ! ТКХХ!" #: src/activity_handlers.cpp @@ -200467,7 +207218,7 @@ msgstr "Вы вставили патрон в %s." msgid "You refill the %s." msgstr "Вы налили жидкость в контейнер (%s)." -#: src/activity_handlers.cpp +#: src/activity_handlers.cpp src/bionics.cpp msgid "There's nothing to light there." msgstr "Здесь нечего поджечь." @@ -200485,6 +207236,16 @@ msgstr "" "Сейчас не хватает солнечного света, чтобы зажечь огонь. Вы перестаете " "пытаться." +#: src/activity_handlers.cpp +#, c-format +msgid "You learn a little about the spell : %s" +msgstr "Вы узнали немного про заклинание: %s" + +#: src/activity_handlers.cpp src/character_martial_arts.cpp +#, c-format +msgid "You learn %s." +msgstr "Вы изучили %s." + #: src/activity_handlers.cpp #, c-format msgid "You finish training %s to level %d." @@ -200495,11 +207256,6 @@ msgstr "Вы закончили тренировать %s до уровня %d." msgid "You get some training in %s." msgstr "Вы немного тренируетесь в %s." -#: src/activity_handlers.cpp -#, c-format -msgid "You learn %s." -msgstr "Вы изучили %s." - #: src/activity_handlers.cpp msgid "You've charged the battery completely." msgstr "Вы полностью зарядили батарею." @@ -200624,15 +207380,23 @@ msgstr "Шанс повреждения: %.1f%%" msgid "Your %s is already fully repaired." msgstr "%s уже полностью починен." -#: src/activity_handlers.cpp src/player.cpp -#, c-format -msgid "You are currently unable to mend the %s." -msgstr "В настоящий момент вы не можете исправить %s." +#: src/activity_handlers.cpp +msgid "You defrost the food, but don't heat it up, since you enjoy it cold." +msgstr "" +"Вы размораживаете еду, но не подогреваете, потому что она вкуснее холодной." + +#: src/activity_handlers.cpp +msgid "You defrost and heat up the food." +msgstr "Вы разморозили и подогрели еду." + +#: src/activity_handlers.cpp +msgid "You heat up the food." +msgstr "Вы разогреваете пищу." #: src/activity_handlers.cpp #, c-format -msgid "You successfully mended the %s." -msgstr "Вы успешно починили %s." +msgid "You are currently unable to mend the %s." +msgstr "В настоящий момент вы не можете исправить %s." #: src/activity_handlers.cpp #, c-format @@ -200688,10 +207452,6 @@ msgstr "Клюёт!" msgid "You finish fishing" msgstr "Вы закончили рыбачить." -#: src/activity_handlers.cpp -msgid "This training is exhausting. Time to rest." -msgstr "Эта тренировка очень утомительна. Пора передохнуть." - #: src/activity_handlers.cpp msgid "You finish reading." msgstr "Вы закончили читать." @@ -200702,7 +207462,7 @@ msgstr "Вы закончили ждать." #: src/activity_handlers.cpp #, c-format -msgid "%s finishes with you..." +msgid "%s finishes with you…" msgstr "%s заканчивает с вами…" #: src/activity_handlers.cpp @@ -200719,7 +207479,7 @@ msgid "%s finishes chatting with you." msgstr "%s заканчивает болтать с вами." #: src/activity_handlers.cpp -msgid "You toss and turn..." +msgid "You toss and turn…" msgstr "Вы ворочаетесь и крутитесь…" #: src/activity_handlers.cpp @@ -200831,7 +207591,7 @@ msgstr "" " раны ." #: src/activity_handlers.cpp src/player_hardcoded_effects.cpp -msgid "You try to sleep, but can't..." +msgid "You try to sleep, but can't…" msgstr "Вы пытаетесь поспать, но не можете…" #: src/activity_handlers.cpp @@ -200844,7 +207604,7 @@ msgstr "" #: src/activity_handlers.cpp msgid "a short upbeat jingle: \"Operation successful\"" -msgstr "короткую весёлую мелодию: \"Операция успешно завершена\"" +msgstr "короткую весёлую мелодию: «Операция успешно завершена»" #: src/activity_handlers.cpp msgid "" @@ -200855,7 +207615,7 @@ msgstr "" #: src/activity_handlers.cpp msgid "a sad beeping noise: \"Operation failed\"" -msgstr "тоскливый писк: \"Операция прошла неудачно\"" +msgstr "тоскливый писк: «Операция прошла неудачно»" #: src/activity_handlers.cpp msgid "The operation is a success." @@ -201022,7 +207782,7 @@ msgid "You planted all seeds you could." msgstr "Вы посадили все доступные семена." #: src/activity_handlers.cpp -msgid "Target lost. IFF override failed." +msgid "Target lost. IFF override failed." msgstr "Цель потеряна. Подмена сигнала «свой-чужой» не удалась." #: src/activity_handlers.cpp @@ -201043,11 +207803,11 @@ msgstr "" "его!" #: src/activity_handlers.cpp -msgid "...and turns friendly!" +msgid "…and turns friendly!" msgstr "…и становится дружественным!" #: src/activity_handlers.cpp -msgid "...but the robot refuses to acknowledge you as an ally!" +msgid "…but the robot refuses to acknowledge you as an ally!" msgstr "…но робот отказывается признавать в вас союзника!" #: src/activity_handlers.cpp @@ -201115,7 +207875,7 @@ msgid "It's too dark to read." msgstr "Слишком темно для чтения." #: src/activity_handlers.cpp -msgid "...you finally find the memory banks." +msgid "…you finally find the memory banks." msgstr "…вы наконец находите модуль памяти." #: src/activity_handlers.cpp @@ -201331,6 +208091,10 @@ msgstr "Вы помыли свои вещи." msgid "The pet has moved somewhere else." msgstr "Питомец ушёл куда-то в другое место." +#: src/activity_item_handling.cpp +msgid "Moving cancelled auto-pickup." +msgstr "" + #: src/activity_item_handling.cpp src/npcmove.cpp #, c-format msgid "%1$s picks up a %2$s." @@ -201347,7 +208111,7 @@ msgstr "Вы разрубили бревно на доски." #: src/activity_item_handling.cpp #, c-format -msgid "%s can't reach the source tile. Try to sort out loot without a cart." +msgid "%s can't reach the source tile. Try to sort out loot without a cart." msgstr "" "%s не может добраться до точки назначения. Попытайтесь отсортировать добычу " "без тележки." @@ -201395,8 +208159,8 @@ msgid "You want some caffeine." msgstr "Вам хочется кофеина." #: src/addiction.cpp -msgid "Your hands start shaking... you need it bad!" -msgstr "Ваши руки начинают трястись… Желание невыносимо!" +msgid "Your hands start shaking… you need it bad!" +msgstr "Ваши руки начинают трястись… Трубы горят!" #: src/addiction.cpp msgid "You could use a drink." @@ -201407,16 +208171,16 @@ msgid "You could use some diazepam." msgstr "Вы могли бы принять диазепам." #: src/addiction.cpp -msgid "Your hands start shaking... you need a drink bad!" -msgstr "Ваши руки начинают трястись… Вам очень нужно выпить!" +msgid "Your hands start shaking… you need a drink bad!" +msgstr "Ваши руки начинают трястись… Ну хоть капельку прибухнуть!" #: src/addiction.cpp -msgid "You're shaking... you need some diazepam!" -msgstr "Вас трясёт… вам нужен диазепам!" +msgid "You're shaking… you need some diazepam!" +msgstr "Вас трясёт… Вам нужен диазепам!" #: src/addiction.cpp -msgid "Your hands start shaking... you need some painkillers." -msgstr "Ваши руки начинают трястись… Вы нуждаетесь в болеутоляющем." +msgid "Your hands start shaking… you need some painkillers." +msgstr "Ваши руки начинают трястись… Вы нуждаетесь в болеутоляющих." #: src/addiction.cpp msgid "You feel anxious. You need your painkillers!" @@ -201427,7 +208191,7 @@ msgid "You feel depressed. Speed would help." msgstr "Вы чувствуете себя подавленным. Принятие амфетаминов поможет." #: src/addiction.cpp -msgid "Your hands start shaking... you need a pick-me-up." +msgid "Your hands start shaking… you need a pick-me-up." msgstr "Ваши руки начинают трястись… Вам нужно что-нибудь тонизирующее." #: src/addiction.cpp @@ -201463,7 +208227,7 @@ msgid "You haven't had any mutagen lately." msgstr "Вы не принимали мутаген достаточно долго." #: src/addiction.cpp -msgid "You could use some new parts..." +msgid "You could use some new parts…" msgstr "Вы бы могли использовать новые части тела…" #: src/addiction.cpp @@ -201611,11 +208375,11 @@ msgstr "" "Тяжело бегать. Депрессия. Ослабленная иммунная система. Частые приступы ломки." #: src/addiction.cpp -msgid "Perception - 1; Intelligence - 1; Frequent cravings." +msgid "Perception - 1; Intelligence - 1; Frequent cravings." msgstr "Восприятие -1; Интеллект -1; Частые приступы ломки." #: src/addiction.cpp -msgid "Perception - 2; Intelligence - 2; Frequent cravings." +msgid "Perception - 2; Intelligence - 2; Frequent cravings." msgstr "Восприятие -2; Интеллект -2; Частые приступы ломки." #: src/addiction.cpp @@ -201802,38 +208566,6 @@ msgstr "где кол вес объ" msgid "Name (charges)" msgstr "Название (заряды)" -#: src/advanced_inv.cpp -msgid "Not dragging any vehicle!" -msgstr "Вы не тянете никакую машину!" - -#: src/advanced_inv.cpp -msgid "No dragged vehicle!" -msgstr "Нет машин, которые вы тянете!" - -#: src/advanced_inv.cpp -msgid "Invalid container!" -msgstr "Неверный контейнер!" - -#: src/advanced_inv.cpp -msgid "All 9 squares" -msgstr "Все 9 клеток" - -#: src/advanced_inv.cpp -msgid " FIRE" -msgstr " ОГОНЬ" - -#: src/advanced_inv.cpp -msgid " DANGER" -msgstr " ОПАСНОСТЬ" - -#: src/advanced_inv.cpp -msgid " TRAP" -msgstr " ЛОВУШКА" - -#: src/advanced_inv.cpp -msgid " WATER" -msgstr " ВОДА" - #: src/advanced_inv.cpp #, c-format msgid "[<] page %1$d of %2$d [>]" @@ -201853,10 +208585,8 @@ msgid "[R]eset" msgstr "[R] Сброс" #: src/advanced_inv.cpp -msgid "You look at the items, then your clothes, and scratch your head..." -msgstr "" -"Вы смотрите на свои предметы, затем на свою одежду, потом чешете свою " -"голову…" +msgid "You look at the items, then your clothes, and scratch your head…" +msgstr "Вы смотрите на предметы, затем на свою одежду, потом чешете голову…" #: src/advanced_inv.cpp msgid "There are no items to be moved!" @@ -201880,7 +208610,7 @@ msgid "Skipping filled buckets to avoid spilling their contents." msgstr "Пропустить наполненные вёдра, чтобы избежать разлива содержимого." #: src/advanced_inv.cpp -msgid "Sort by... " +msgid "Sort by…" msgstr "Сортировать…" #: src/advanced_inv.cpp @@ -201947,24 +208677,56 @@ msgstr "Это слишком тяжело!" #: src/advanced_inv.cpp #, c-format -msgid "How many do you want to move? [Have %d] (0 to cancel)" +msgid "How many do you want to move? [Have %d] (0 to cancel)" msgstr "Сколько нужно перенести? [Имеется %d] (0 — отмена)" #: src/advanced_inv.cpp #, c-format -msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" -msgstr "Там поместится только %d! [Есть %d] (0 — отмена) Сколько переместить?" +msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" +msgstr "Поместится только %d! Сколько переместить? [Есть %d] (0 для отмены) " #: src/advanced_inv.cpp msgid "The destination is already full!" msgstr "Место назначения уже заполнено!" -#: src/advanced_inv.cpp +#: src/advanced_inv_area.cpp +msgid "Not dragging any vehicle!" +msgstr "Вы не тянете никакую машину!" + +#: src/advanced_inv_area.cpp +msgid "No dragged vehicle!" +msgstr "Нет машин, которые вы тянете!" + +#: src/advanced_inv_area.cpp +msgid "Invalid container!" +msgstr "Неверный контейнер!" + +#: src/advanced_inv_area.cpp +msgid "All 9 squares" +msgstr "Все 9 клеток" + +#: src/advanced_inv_area.cpp +msgid " FIRE" +msgstr " ОГОНЬ" + +#: src/advanced_inv_area.cpp +msgid " DANGER" +msgstr " ОПАСНОСТЬ" + +#: src/advanced_inv_area.cpp +msgid " TRAP" +msgstr " ЛОВУШКА" + +#: src/advanced_inv_area.cpp +msgid " WATER" +msgstr " ВОДА" + +#: src/advanced_inv_area.cpp msgid "Invalid container" msgstr "Неверный контейнер" #: src/animation.cpp -msgid "Hang on a bit..." +msgid "Hang on a bit…" msgstr "Подождите немного…" #: src/armor_layers.cpp @@ -202115,6 +208877,14 @@ msgstr "Ударный:" msgid "Cut:" msgstr "Режущий:" +#: src/armor_layers.cpp +msgid "Acid:" +msgstr "Кислота: " + +#: src/armor_layers.cpp +msgid "Fire:" +msgstr "Огонь: " + #: src/armor_layers.cpp msgid "Environmental:" msgstr "Окружающая среда:" @@ -202183,7 +208953,7 @@ msgstr "Тип брони" #: src/armor_layers.cpp #, c-format -msgid "Press %s for help. Press %s to change keybindings." +msgid "Press %s for help. Press %s to change keybindings." msgstr "Нажмите %s для помощи. Нажмите %s для смены горячих клавиш." #: src/armor_layers.cpp @@ -202248,7 +209018,7 @@ msgid "" "[%s] to equip a new item.\n" "[%s] to equip a new item at the currently selected position.\n" "[%s] to remove selected armor from oneself.\n" -" \n" +"\n" "[Encumbrance and Warmth] explanation:\n" "The first number is the summed encumbrance from all clothing on that bodypart.\n" "The second number is an additional encumbrance penalty caused by wearing multiple items on one of the bodypart's layers or wearing items outside of other items they would normally be work beneath (e.g. a shirt over a backpack).\n" @@ -202814,7 +209584,7 @@ msgstr "%s Страдания" #, c-format msgid "" "The %s is somehow vaguely dissatisfied even though it doesn't want anything." -" Seeing this is a bug!" +" Seeing this is a bug!" msgstr "" "%s по неясной причине недоволен, хотя даже ничего не хочет. Если вы это " "видите — это баг!" @@ -202822,7 +209592,7 @@ msgstr "" #: src/artifact.cpp #, c-format msgid "" -"The %s is satisfied, as it should be because it has no standards. Seeing " +"The %s is satisfied, as it should be because it has no standards. Seeing " "this is a bug!" msgstr "" "%sдоволен, как и должно быть — у него нет стандартов. Если вы это видите — " @@ -202853,7 +209623,7 @@ msgstr "Вы подносите %s ближе к коже." #: src/artifact.cpp #, c-format msgid "" -"The %s is confused to find you dreaming while awake. Seeing this is a bug!" +"The %s is confused to find you dreaming while awake. Seeing this is a bug!" msgstr "" "%s озадачен, потому что вы спите во время бодрствования. Если вы это видите " "— это баг!" @@ -202960,7 +209730,7 @@ msgstr "Куб архитектора." #, c-format msgctxt "artifact name (type, noun)" msgid "%1$s of %2$s" -msgstr "%1$s из %2$s" +msgstr "%1$s %2$s" #: src/artifact.cpp msgid "artifact file" @@ -203086,14 +209856,14 @@ msgstr "Включить" #: src/auto_pickup.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" -" \n" +"* is used as a Wildcard. A few Examples:\n" +"\n" "wooden arrow matches the itemname exactly\n" "wooden ar* matches items beginning with wood ar\n" "*rrow matches items ending with rrow\n" "*avy fle*fi*arrow multiple * are allowed\n" "heAVY*woOD*arrOW case insensitive search\n" -" \n" +"\n" "Pickup based on item materials:\n" "m:kevlar matches items made of kevlar\n" "M:copper matches items made purely of copper\n" @@ -203142,7 +209912,7 @@ msgid "Won't display content or suffix matches" msgstr "Не отображаются совпадения по содержимому или по суффиксам" #: src/auto_pickup.cpp -msgid "Autopickup is not enabled in the options. Enable it now?" +msgid "Autopickup is not enabled in the options. Enable it now?" msgstr "Автоподбор не включён в настройках. Включить его?" #: src/auto_pickup.cpp @@ -203179,7 +209949,7 @@ msgstr "Не время для обучения! Ваша мораль слиш #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. You have %d" +msgid "%s %d needed to understand. You have %d" msgstr "Нужен навык %s уровня %d, чтобы понять. Ваш навык %d" #: src/avatar.cpp src/iuse.cpp @@ -203205,7 +209975,7 @@ msgstr "%s неграмотный(ая)!" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. %s has %d" +msgid "%s %d needed to understand. %s has %d" msgstr "Нужен навык %s уровня %d, чтобы понять. У %s навык %d" #: src/avatar.cpp @@ -203230,7 +210000,7 @@ msgstr "%s моральное состояние слишком низкое!" #: src/avatar.cpp #, c-format -msgid "%s reads aloud..." +msgid "%s reads aloud…" msgstr "%s читает вслух…" #: src/avatar.cpp @@ -203323,7 +210093,7 @@ msgid "Now reading %s, %s to stop early." msgstr "Сейчас изучается %s, для отмены %s" #: src/avatar.cpp -msgid "You read aloud..." +msgid "You read aloud…" msgstr "Вы читаете вслух…" #: src/avatar.cpp @@ -203349,17 +210119,17 @@ msgstr "%s читает вместе с вами для удовольствия #: src/avatar.cpp #, c-format msgid "" -"It's difficult for %s to see fine details right now. Reading will take " +"It's difficult for %s to see fine details right now. Reading will take " "longer than usual." msgstr "" -"При текущем освещении %s с трудом различаешь детали. Чтение будет длиться " -"дольше, чем обычно." +"При текущем освещении %s с трудом различаешь детали. Чтение займёт больше " +"времени, чем обычно." #: src/avatar.cpp #, c-format msgid "" -"This book is too complex for %s to easily understand. It will take longer to" -" read." +"This book is too complex for %s to easily understand. It will take longer " +"to read." msgstr "Эта книга немного сложновата для %s. Чтение займёт больше времени." #: src/avatar.cpp @@ -203445,8 +210215,8 @@ msgstr "%s повышает свой %s уровень." #: src/avatar.cpp #, c-format -msgid "You learn a little about %s! (%d%%)" -msgstr "Вы узнали немного про %s! (%d%%)" +msgid "You learn a little about %s! (%d%%)" +msgstr "Вы узнали немного про %s! (%d%%)" #: src/avatar.cpp #, c-format @@ -203474,7 +210244,7 @@ msgid "Rereading the %s isn't as much fun for %s." msgstr "Повторное чтение %s уже не доставит такого удовольствия %s." #: src/avatar.cpp -msgid "Maybe you should find something new to read..." +msgid "Maybe you should find something new to read…" msgstr "Может быть, вам стоит найти что-то новое, чтобы почитать…" #: src/avatar.cpp @@ -203515,11 +210285,11 @@ msgid "You train for a while." msgstr "Вы немного тренируетесь." #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through your internal alarm..." +msgid "It looks like you've slept through your internal alarm…" msgstr "Похоже, вы проспали ваш встроенный будильник…" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through the alarm..." +msgid "It looks like you've slept through the alarm…" msgstr "Похоже, вы проспали будильник…" #: src/avatar.cpp @@ -203527,8 +210297,8 @@ msgid "You retched, but your stomach is empty." msgstr "Вы чувствуете позыв к рвоте, но ваш желудок пуст." #: src/avatar.cpp -msgid "You lost your book! You stop reading." -msgstr "Вы потеряли книгу и прекращаете чтение!" +msgid "You lost your book! You stop reading." +msgstr "Вы потеряли книгу, поэтому прекращаете чтение!" #: src/avatar.cpp msgid "Your thick scales get in the way." @@ -203597,8 +210367,70 @@ msgstr "неправильная характеристика" #: src/avatar.cpp #, c-format -msgid "Are you sure you want to raise %s? %d points available." -msgstr "Вы уверены, что хотите поднять %s? %dочков доступно." +msgid "Are you sure you want to raise %s? %d points available." +msgstr "Вы уверены, что хотите поднять %s? %dочков доступно." + +#: src/avatar.cpp +msgid "You set your mech's leg power to a loping fast walk." +msgstr "Вы устанавливаете мощность ног вашего меха на скачущий быстрый шаг." + +#: src/avatar.cpp +msgid "You nudge your steed into a steady trot." +msgstr "Вы подгоняете своего скакуна бежать рысью." + +#: src/avatar.cpp +msgid "You start walking." +msgstr "Вы начали идти." + +#: src/avatar.cpp +msgid "You set the power of your mech's leg servos to maximum." +msgstr "" +"Вы устанавливаете мощность ножных сервоприводов вашего меха на максимум." + +#: src/avatar.cpp +msgid "You spur your steed into a gallop." +msgstr "Вы пускаете своего скакуна в галоп." + +#: src/avatar.cpp +msgid "You start running." +msgstr "Вы начали бежать." + +#: src/avatar.cpp +msgid "Your steed is too tired to go faster." +msgstr "Ваш скакун слишком утомился, чтобы скакать быстрее." + +#: src/avatar.cpp +msgid "You need two functional legs to run." +msgstr "Вам надо иметь здоровые ноги, чтобы бежать." + +#: src/avatar.cpp +msgid "You're too tired to run." +msgstr "Вы слишком устали, чтобы бежать." + +#: src/avatar.cpp +msgid "You reduce the power of your mech's leg servos to minimum." +msgstr "" +"Вы устанавливаете мощность ножных сервоприводов вашего меха на минимум." + +#: src/avatar.cpp +msgid "You slow your steed to a walk." +msgstr "Вы замедляете своего скакуна до шага." + +#: src/avatar.cpp +msgid "You start crouching." +msgstr "Вы начали красться." + +#. ~ %1$s: weapon name, %2$s: holster name +#: src/avatar.cpp src/game.cpp +#, c-format +msgctxt "holster" +msgid "Draw %1$s from %2$s?" +msgstr "Достать %1$s из %2$s?" + +#: src/avatar.cpp src/monexamine.cpp +#, c-format +msgid "What to do with your %s?" +msgstr "Что сделать с %s?" #: src/avatar_action.cpp msgid "You can't move while in your shell. Deactivate it to go mobile." @@ -203607,11 +210439,11 @@ msgstr "" "подвижность." #: src/avatar_action.cpp -msgid "You cannot pull yourself away from the faultline..." +msgid "You cannot pull yourself away from the faultline…" msgstr "Вы не можете заставить себя отойти от разлома…" #: src/avatar_action.cpp -msgid "Monster in the way. Auto-move canceled." +msgid "Monster in the way. Auto-move canceled." msgstr "Монстр на пути. Авто-движение отменено." #: src/avatar_action.cpp @@ -203623,8 +210455,8 @@ msgid "Your willpower asserts itself, and so do you!" msgstr "Ваша сила воли рвётся вперёд, и вы вместе с ней!" #: src/avatar_action.cpp src/handle_action.cpp src/handle_action.cpp -msgid "You're too pacified to strike anything..." -msgstr "Вы слишком умиротворены, чтобы бить что-нибудь…" +msgid "You're too pacified to strike anything…" +msgstr "Вы слишком мирны, чтобы бить что-нибудь…" #: src/avatar_action.cpp #, c-format @@ -203705,7 +210537,7 @@ msgstr "Вы тонете как камень!" #: src/avatar_action.cpp #, c-format -msgid "You need to breathe! (%s to surface.)" +msgid "You need to breathe! (%s to surface.)" msgstr "Вам необходимо вдохнуть! (%s, чтобы всплыть.)" #: src/avatar_action.cpp @@ -203718,7 +210550,7 @@ msgid "You cannot board a vehicle while mounted." msgstr "Вы не можете зайти в транспорт верхом." #: src/avatar_action.cpp -msgid "No hostile creature in reach. Waiting a turn." +msgid "No hostile creature in reach. Waiting a turn." msgstr "" "В пределах досягаемости враждебных существ не наблюдается. Ожидаем один ход." @@ -203727,7 +210559,7 @@ msgid "Your eyes steel, and you raise your weapon!" msgstr "Ваши глаза полны решимости, и вы вскидываете своё оружие!" #: src/avatar_action.cpp -msgid "You can't fire your weapon, it's too heavy..." +msgid "You can't fire your weapon, it's too heavy…" msgstr "Вы не можете стрелять из вашего оружия, оно слишком тяжёлое…" #: src/avatar_action.cpp @@ -203738,12 +210570,14 @@ msgstr "" "оружия." #: src/avatar_action.cpp -msgid "You can no longer fire." -msgstr "Вы больше не можете стрелять." +#, c-format +msgid "You can no longer fire your %s." +msgstr "Вы больше не можете стрелять из %s." #: src/avatar_action.cpp -msgid "You need a free arm to drive!" -msgstr "Для вождения нужна свободная рука!" +#, c-format +msgid "You can't use your %s while driving!" +msgstr "Вы не можете использовать %s за рулём!" #: src/avatar_action.cpp #, c-format @@ -203751,8 +210585,9 @@ msgid "You need two free hands to fire your %s." msgstr "Вам нужны две руки, чтобы стрелять из %s." #: src/avatar_action.cpp -msgid "You need to reload!" -msgstr "Вам нужно перезарядиться!" +#, c-format +msgid "Your %s is empty!" +msgstr "Ваш %s пуст!" #: src/avatar_action.cpp #, c-format @@ -203763,22 +210598,24 @@ msgstr "Для огня вашей %s требуется %i зарядов!" #, c-format msgid "" "You need a UPS with at least %d charges or an advanced UPS with at least %d " -"charges to fire that!" +"charges to fire the %s!" msgstr "" -"Для стрельбы вам нужен УБП, как минимум, с %d зарядами или улучшенный УБП, " -"как минимум, с %d зарядами!" +"Для стрельбы из %s вам нужен УБП, как минимум, с %d зарядами или улучшенный " +"УБП, как минимум, с %d зарядами!" #: src/avatar_action.cpp -msgid "Your mech has an empty battery, its weapon will not fire." -msgstr "У вашего меха села батарея, его оружие не будет стрелять." +#, c-format +msgid "Your mech has an empty battery, its %s will not fire." +msgstr "У вашего меха села батарея, %s не выстрелит." #: src/avatar_action.cpp +#, c-format msgid "" -"You must stand near acceptable terrain or furniture to use this weapon. A " +"You must stand near acceptable terrain or furniture to use this %s. A " "table, a mound of dirt, a broken window, etc." msgstr "" -"Для использования этого оружия вы должны стоять рядом с подходящей " -"местностью или мебелью. Стол, насыпь, разбитое окно и т.д." +"Для использования %s вы должны стоять рядом с подходящей местностью или " +"мебелью. Стол, насыпь, разбитое окно и т.д." #: src/avatar_action.cpp #, c-format @@ -203824,8 +210661,8 @@ msgid "You concentrate mightily, and your body obeys!" msgstr "Вы сильно сконцентрировались, и ваше тело подчиняется!" #: src/avatar_action.cpp -msgid "You can't muster up the effort to throw anything..." -msgstr "У вас не хватает усилий бросить что-либо…" +msgid "You can't muster up the effort to throw anything…" +msgstr "У вас не хватает сил бросить что-либо…" #: src/ballistics.cpp #, c-format @@ -204018,6 +210855,17 @@ msgstr "%s автоматически выключается!" msgid "Your %s automatically turns off." msgstr "%s автоматически выключается!" +#: src/bionics.cpp +#, c-format +msgid "Your %s does not have sufficient humidity to function." +msgstr "Ваш %s не функционирует из-за сухости." + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency will be reduced." +msgstr "" +"Ваш %s предупреждает о низкой влажности. Эффективность будет понижена." + #: src/bionics.cpp msgid "You change your mind and turn it off." msgstr "Вы передумываете и выключаете." @@ -204135,10 +210983,6 @@ msgstr "Результаты анализа крови" msgid "No effects." msgstr "Нет эффекта." -#: src/bionics.cpp -msgid "There was not enough moisture in the air from which to draw water!" -msgstr "Влажность воздуха недостаточно высока, чтобы собрать из него воду!" - #: src/bionics.cpp msgid "Your torsion ratchet locks onto your joints." msgstr "Храповики зацепляются за ваши суставы." @@ -204153,10 +210997,6 @@ msgstr "" msgid "Start a fire where?" msgstr "Где зажечь огонь?" -#: src/bionics.cpp src/iexamine.cpp -msgid "You can't light a fire there." -msgstr "Вы не можете разжечь огонь здесь" - #: src/bionics.cpp #, c-format msgid "Your radiation level: %d" @@ -204343,6 +211183,24 @@ msgstr "Ваш %s отключается, чтобы не тратить топ msgid "'s %s turns off to not waste fuel." msgstr "У отключается %s во избежание траты топлива." +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, your %s shuts down to preserve" +" your health." +msgstr "" +"Поскольку запас питательных веществ ниже безопасного порога, %s отключается," +" чтобы сохранить ваше здоровье." + +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, 's %s shuts down to " +"preserve their health." +msgstr "" +"Чтобы сохранить здоровье, у отключается %s, поскольку его запас " +"питательных веществ подходит к концу." + #: src/bionics.cpp #, c-format msgid "Your %s runs out of fuel and turn off." @@ -204372,6 +211230,21 @@ msgid "You feel your throat open up and air filling your lungs!" msgstr "" "Вы чувствуете, как ваше горло раскрывается, и воздух наполняет ваши лёгкие!" +#: src/bionics.cpp +#, c-format +msgid "There is not enough humidity for your %s to function." +msgstr "Недостаточно влажности для функционирования вашего %s." + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency is reduced." +msgstr "Ваш %s предупреждает о низкой влажности. Эффективность снижена." + +#: src/bionics.cpp +#, c-format +msgid "You are properly hydrated. Your %s chirps happily." +msgstr "Влажность достаточная. Ваш %s счастливо пиликает." + #: src/bionics.cpp msgid "The removal fails without incident." msgstr "Удаление провалилось без последствий." @@ -204433,8 +211306,8 @@ msgstr " подготавливается к проведению оп #: src/bionics.cpp #, c-format -msgid "A lifetime of augmentation has taught %s a thing or two..." -msgstr "%s всю жизнь занимался имплантатами и кое-что умеет..." +msgid "A lifetime of augmentation has taught %s a thing or two…" +msgstr "%s всю жизнь занимался имплантами и кое-что умеет…" #: src/bionics.cpp #, c-format @@ -204449,7 +211322,7 @@ msgstr "" #: src/bionics.cpp msgid "" -"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" +"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" msgstr "" "ВНИМАНИЕ: После удаления реактора может остаться радиоактивное вещество! " "Удалить все равно?" @@ -204472,10 +211345,10 @@ msgstr "" msgid "Are you sure you wish to uninstall the selected bionic?" msgstr "Вы уверены, что хотите удалить выбранную бионику?" -#: src/bionics.cpp +#: src/bionics.cpp src/game.cpp #, c-format msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " +"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " "anyway?" msgstr "" "ВНИМАНИЕ: %i-процентный шанс тяжких телесных повреждений! Всё равно " @@ -204504,7 +211377,7 @@ msgid "" "You feel a tiny pricking sensation in your right arm, and lose all sensation" " before abruptly blacking out." msgstr "" -"Вы чувствуете небольшое покалывание в правой руке, а затем внезапно теряете " +"Вы чувствуете небольшой укольчик в правую руку, а затем внезапно теряете " "сознание." #: src/bionics.cpp @@ -204554,7 +211427,7 @@ msgstr "Вы уверены, что хотите установить выбра #, c-format msgid "" "WARNING: %i percent chance of failure that may result in damage, pain, or a " -"faulty installation! Continue anyway?" +"faulty installation! Continue anyway?" msgstr "" "ВНИМАНИЕ: %i-процентный шанс повреждений, боли или неудачной установки! Всё " "равно продолжить?" @@ -204686,13 +211559,33 @@ msgstr "" msgid "Available Fuel: " msgstr "Доступное Топливо:" +#: src/bionics_ui.cpp +msgctxt "decimal separator" +msgid "." +msgstr "." + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: kilojoule" +msgid "kJ" +msgstr "кДж" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: joule" +msgid "J" +msgstr "Дж" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: millijoule" +msgid "mJ" +msgstr "мДж" + #: src/bionics_ui.cpp #, c-format msgid "" -"Bionic Power: %i/%i" +"Bionic Power: %s/%ikJ" msgstr "" "Бионическая энергия: " -"%i/%i" +"%s/%iкДж" #: src/bionics_ui.cpp msgid "" @@ -204724,23 +211617,23 @@ msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ act" -msgstr "%d кДж акт" +msgid "%s act" +msgstr "%s вкл" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ deact" -msgstr "%d кДж деакт" +msgid "%s deact" +msgstr "%s выкл" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/turn" -msgstr "%d кДж/ход" +msgid "%s/turn" +msgstr "%s/ход" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/%d turns" -msgstr "%d кДж/%d ходов" +msgid "%s/%d turns" +msgstr "%s/%d ходов" #: src/bionics_ui.cpp src/handle_action.cpp msgid "OFF" @@ -204787,19 +211680,18 @@ msgstr "Нет установленной пассивной бионики." #: src/bionics_ui.cpp #, c-format -msgid "%s; enter new letter. Space to clear. Esc to cancel." +msgid "%s; enter new letter. Space to clear. Esc to cancel." msgstr "" -"%s; введите новую букву (нажмите SPACE для пустого значения, ESCAPE для " -"отмены)." +"%s; введите новую букву. Нажмите SPACE для пустого значения, ESC для отмены." #: src/bionics_ui.cpp #, c-format msgid "" -"Invalid bionic letter. Only those characters are valid:\n" +"Invalid bionic letter. Only those characters are valid:\n" "\n" "%s" msgstr "" -"Неверная буква бионики. Только эти символы действуют:\n" +"Неверная буква бионики. Только эти символы действительны:\n" "\n" "%s" @@ -204818,7 +211710,7 @@ msgstr "Точности" #: src/bonuses.cpp src/martialarts.cpp msgid "Dodge" -msgstr "уклонение" +msgstr "Уклонение" #: src/bonuses.cpp src/panels.cpp msgid "Speed" @@ -204840,10 +211732,40 @@ msgstr "Бронебойность" msgid "Target armor multiplier" msgstr "Множителя вражеской брони" -#. ~ bash damage +80% of strength +#. ~ %1$s: damage type, %2$s: damage-related bonus name +#: src/bonuses.cpp +#, c-format +msgctxt "type of damage" +msgid "%1$s %2$s" +msgstr "%1$s %2$s" + +#. ~ %1$s: bonus name, %2$d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%% of %3$s" +msgstr "* %1$s: %2$d%% от %3$s" + +#. ~ %1$s: bonus name, %2$d: bonus percentage +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%%" +msgstr "* %1$s: %2$d%%" + +#. ~ %1$s: bonus name, %2$+d: bonus percentage, %3$s: stat name #: src/bonuses.cpp -msgid " of " -msgstr " от " +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d%% of %3$s" +msgstr "* %1$s: %2$+d%% от %3$s" + +#. ~ %1$s: bonus name, %2$+d: bonus value +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d" +msgstr "* %1$s: %2$+d" #: src/calendar.cpp msgid "forever" @@ -205162,8 +212084,12 @@ msgstr "に坂索トし荷測のンおク妙免イロコヤ梅棋厚れ表幌" #: src/character.cpp msgctxt "not possessive" -msgid "you" -msgstr "ты" +msgid "You" +msgstr "Вы" + +#: src/character.cpp +msgid "Your" +msgstr "Ваш " #: src/character.cpp msgid "your" @@ -205178,6 +212104,63 @@ msgstr "%s" msgid "armor" msgstr "броня" +#: src/character.cpp +#, c-format +msgid "You remove the %s's harness." +msgstr "Вы снимаете упряжь с %s." + +#: src/character.cpp src/game.cpp +msgid "You let go of the grabbed object." +msgstr "Вы отпускаете схваченный объект." + +#: src/character.cpp +#, c-format +msgid "You climb on the %s." +msgstr "Вы забираетесь на %s." + +#: src/character.cpp +#, c-format +msgid "You hear your %s whir to life." +msgstr "Вы слышите, как ваш %s с жужжанием оживает." + +#: src/character.cpp +msgid "You are ejected from your mech!" +msgstr "Вас катапультировало из вашего меха!" + +#: src/character.cpp +msgid " is ejected from their mech!" +msgstr " выбросило из меха!" + +#: src/character.cpp +msgid "You fall off your mount!" +msgstr "Вы сваливаетесь со скакуна!" + +#: src/character.cpp +msgid " falls off their mount!" +msgstr " падает со скакуна!" + +#: src/character.cpp src/trapfunc.cpp +msgid "You hurt yourself!" +msgstr "Вы поранили себя!" + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Fell off a mount." +msgstr "Упал со скакуна." + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Fell off a mount." +msgstr "Упала со скакуна." + +#: src/character.cpp +msgid "Dismount where?" +msgstr "Где спешиться?" + +#: src/character.cpp +msgid "You cannot dismount there!" +msgstr "Здесь нельзя спешиться!" + #: src/character.cpp msgid "You struggle to stand." msgstr "Вы пытаетесь подняться." @@ -205366,6 +212349,11 @@ msgstr " нужно не менее %1$s для этого %2$s, а т msgid "Liquid from your inventory has leaked onto the ground." msgstr "Жидкость из вашего инвентаря протекает на землю." +#: src/character.cpp +#, c-format +msgid "Your current health value is %d." +msgstr "Ваше текущее значение здоровья — %d." + #: src/character.cpp msgid "Parched" msgstr "Иссушение" @@ -205435,6 +212423,77 @@ msgstr "Устал до смерти" msgid "Your %s bionic shorts out!" msgstr "Вашу бионику (%s) замкнуло, и она отключается!" +#: src/character.cpp +#, c-format +msgid "Your %s will be frostnipped in the next few hours." +msgstr "Ваш %s замёрзнет через несколько часов." + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten within the hour!" +msgstr "Ваша %s замёрзнет в течение часа!" + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten any minute now!" +msgstr "Ваша %s замёрзнет в любую минуту!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s beginning to go numb from the cold!" +msgstr "Вы чувствуете, что ваш %s начинает неметь от холода!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very cold." +msgstr "Вы чувствуете, что ваш %s сильно мёрзнет." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting chilly." +msgstr "Вы чувствуете, что ваш %s бросает в дрожь." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting red hot from the heat!" +msgstr "Вы чувствуете, как %s краснеет от жары!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very hot." +msgstr "Вы чувствуете, что ваш %s сильно разгорячён." + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting warm." +msgstr "Вы чувствуете, что ваш %s бросает в жар." + +#: src/character.cpp +#, c-format +msgid "The wind is making your %s feel quite cold." +msgstr "Из-за ветра у вас начинает мёрзнуть %s." + +#: src/character.cpp +#, c-format +msgid "" +"The wind is very strong, you should find some more wind-resistant clothing " +"for your %s." +msgstr "" +"Ветер очень сильный, вы должны найти непродуваемую одежду для вашей %s." + +#: src/character.cpp +#, c-format +msgid "" +"Your clothing is not providing enough protection from the wind for your %s!" +msgstr "" +"Ваша одежда не обеспечивает достаточный уровень защиты от ветра для %s!" + #: src/character.cpp msgid "Left Arm" msgstr "Левая рука" @@ -205452,8 +212511,8 @@ msgid "Right Leg" msgstr "Правая нога" #: src/character.cpp -msgid "It is broken. It needs a splint or surgical attention." -msgstr "Сломана. Необходима шина или хирургическое вмешательство." +msgid "It is broken. It needs a splint or surgical attention." +msgstr "Перелом. Необходима шина или хирургическое вмешательство." #: src/character.cpp #, c-format @@ -205498,7 +212557,7 @@ msgstr "Это не поможет очистить рану." #: src/character.cpp msgid "" -"It has a deep wound that looks infected. Antibiotics might be required." +"It has a deep wound that looks infected. Antibiotics might be required." msgstr "" "Тут глубокая рана, которая выглядит зараженной. Могут понадобиться " "антибиотики." @@ -205601,8 +212660,8 @@ msgstr "Полный" msgid "Big" msgstr "Упитанный" -#: src/character.cpp src/color.cpp src/color.cpp src/options.cpp -#: src/panels.cpp +#: src/character.cpp src/character_martial_arts.cpp src/color.cpp +#: src/options.cpp msgid "Normal" msgstr "Обычный" @@ -205716,6 +212775,36 @@ msgstr "ACTIVE_EXERCISE" msgid "EXTRA_EXERCISE" msgstr "EXTRA_EXERCISE" +#: src/character.cpp +msgid "Your body strains under the weight!" +msgstr "Ваше тело напряжено под такой тяжестью!" + +#: src/character.cpp +#, c-format +msgid "Your %s needs %d charge from some UPS." +msgid_plural "Your %s needs %d charges from some UPS." +msgstr[0] "Для %s требуется %d заряд от УБП." +msgstr[1] "Для %s требуется %d заряда от УБП." +msgstr[2] "Для %s требуется %d зарядов от УБП." +msgstr[3] "Для %s требуется %d заряд от УБП." + +#: src/character.cpp +#, c-format +msgid "Your %s has %d charge but needs %d." +msgid_plural "Your %s has %d charges but needs %d." +msgstr[0] "Ваш %s имеет %d заряд, а нужно как минимум %d." +msgstr[1] "Ваш %s имеет %d заряда, а нужно как минимум %d." +msgstr[2] "Ваш %s имеет %d зарядов, а нужно как минимум %d." +msgstr[3] "Ваш %s имеет %d заряд, а нужно как минимум %d." + +#: src/character.cpp +msgid "You cough heavily." +msgstr "Вы тяжело кашляете." + +#: src/character.cpp +msgid "a hacking cough." +msgstr "покашливание." + #: src/character.cpp msgid "You try to shout but you have no face!" msgstr "Вы пытаетесь кричать, но у вас нет лица!" @@ -205734,7 +212823,7 @@ msgstr "пронзительный крик!" #: src/character.cpp msgid "yourself scream loudly!" -msgstr "Вы громко кричите!" +msgstr "вы громко кричите!" #: src/character.cpp msgid "a loud shout!" @@ -205793,6 +212882,122 @@ msgctxt "fake stat there's an error" msgid "ERR" msgstr "ОШБ" +#. ~ %s is armor name +#: src/character.cpp +#, c-format +msgctxt "memorial_male" +msgid "Worn %s was completely destroyed." +msgstr "Одетый на вас %s полностью уничтожен." + +#: src/character.cpp +#, c-format +msgctxt "memorial_female" +msgid "Worn %s was completely destroyed." +msgstr "Одетый на вас %s полностью уничтожен." + +#: src/character.cpp +#, c-format +msgid "Your %s is completely destroyed!" +msgstr "Ваше снаряжение (%s) полностью уничтожено!" + +#: src/character.cpp +#, c-format +msgid "'s %s is completely destroyed!" +msgstr "%s () полностью разрушается!" + +#: src/character.cpp src/veh_interact.cpp +msgid "destroyed" +msgstr "уничтожено" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s further!" +msgstr "Ваше снаряжение (%1$s) %2$s ещё сильнее!" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s!" +msgstr "Ваше снаряжение (%1$s) %2$s!" + +#: src/character.cpp +#, c-format +msgid "You were attacked by %s!" +msgstr "Вас атаковал %s!" + +#: src/character.cpp +msgid "You were hurt!" +msgstr "Вы чувствовали боль!" + +#. ~spore-release sound +#. ~ the sound of a fungus releasing spores +#. ~ That spore sound again +#. ~ the sound of a fungus dying +#: src/character.cpp src/monattack.cpp src/monattack.cpp src/mondeath.cpp +msgid "Pouf!" +msgstr "«Пфф!»" + +#: src/character.cpp +msgid "You sink your roots into the soil." +msgstr "Вы погружаете свои корни в почву." + +#: src/character.cpp +msgid "You start hauling items along the ground." +msgstr "Вы начали тащить предметы по земле." + +#: src/character.cpp +msgid "Your hands are not free, which makes hauling slower." +msgstr "У вас есть что-то в руках, поэтому вы тащите вещи медленнее." + +#: src/character.cpp +msgid "You stop hauling items." +msgstr "Вы перестали тащить предметы." + +#: src/character.cpp +msgid "You resume your task." +msgstr "Вы возобновили действие." + +#: src/character.cpp +msgid "You nestle your pile of clothes for warmth." +msgstr "Вы закутываетесь в одежду, чтобы согреться." + +#: src/character.cpp +msgid "You use your pile of clothes for warmth." +msgstr "Вы используете вашу кучу одежды, чтобы согреться." + +#: src/character.cpp +#, c-format +msgid "You snuggle your %s to keep warm." +msgstr "Вы прижимаетесь к %s, чтобы сохранить тепло." + +#: src/character.cpp +#, c-format +msgid "You use your %s to keep warm." +msgstr "Вы сохраняете тепло при помощи %s." + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Entered hibernation." +msgstr "Погрузился в спячку." + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Entered hibernation." +msgstr "Погрузилась в спячку." + +#: src/character_martial_arts.cpp +#, c-format +msgid "You have learned %s from extensive practice with the CQB Bionic." +msgstr "Вы выучили %s путём интенсивных тренировок с бионикой ближнего боя." + +#: src/character_martial_arts.cpp +#, c-format +msgid "%s to select martial arts style." +msgstr "%s чтобы выбрать стиль боевых искусств." + +#: src/character_martial_arts.cpp +msgid "No Style" +msgstr "Без стиля" + #: src/clzones.cpp msgid "No Auto Pickup" msgstr "Без автоподбора" @@ -205842,278 +213047,6 @@ msgstr "" "Дружественные NPC будут исследовать неясные шумы, только если они исходят из" " этой зоны." -#: src/clzones.cpp -msgid "Loot: Unsorted" -msgstr "Предметы: несортированное" - -#: src/clzones.cpp -msgid "" -"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " -"sort items inside. It can overlap with Loot zones of different types." -msgstr "" -"Место для выкидывания несортированной добычи. Вы можете использовать команду" -" «сортировка предметов» для сортировки вещей внутри. Оно может перекрывать " -"зоны предметов разных типов." - -#: src/clzones.cpp -msgid "Loot: Food" -msgstr "Предметы: еда" - -#: src/clzones.cpp -msgid "" -"Destination for comestibles. If more specific food zone is not defined, all " -"food is moved here." -msgstr "" -"Место для съестных припасов. Если более конкретная зона для пищи не " -"определена, вся еда перемещается сюда." - -#: src/clzones.cpp -msgid "Loot: P.Food" -msgstr "Предметы: порт. еда" - -#: src/clzones.cpp -msgid "" -"Destination for perishable comestibles. Does include perishable drinks if " -"such zone is not specified." -msgstr "" -"Место для скоропортящихся продуктов. Включает в себя скоропортящиеся " -"напитки, если для них не указана конкретная зона." - -#: src/clzones.cpp -msgid "Loot: Drink" -msgstr "Предметы: напитки" - -#: src/clzones.cpp -msgid "" -"Destination for drinks. Does include perishable drinks if such zone is not " -"specified." -msgstr "" -"Место для напитков. Включает в себя скоропортящиеся напитки, если для них не" -" указана конкретная зона." - -#: src/clzones.cpp -msgid "Loot: P.Drink" -msgstr "Предметы: порт. напитки" - -#: src/clzones.cpp -msgid "Destination for perishable drinks." -msgstr "Место для скоропортящихся продуктов." - -#: src/clzones.cpp -msgid "Loot: Guns" -msgstr "Предметы: огнестр. оружие" - -#: src/clzones.cpp -msgid "Destination for guns, bows and similar weapons." -msgstr "Место для оружия, луков и прочих похожих вооружений." - -#: src/clzones.cpp -msgid "Loot: Magazines" -msgstr "Предметы: магазины" - -#: src/clzones.cpp -msgid "Destination for gun magazines." -msgstr "Место для магазинов к оружию." - -#: src/clzones.cpp -msgid "Loot: Ammo" -msgstr "Предметы: боеприпасы" - -#: src/clzones.cpp -msgid "Destination for ammo." -msgstr "Место для патронов." - -#: src/clzones.cpp -msgid "Loot: Weapons" -msgstr "Предметы: оружие" - -#: src/clzones.cpp -msgid "Destination for melee weapons." -msgstr "Место для оружия ближнего боя." - -#: src/clzones.cpp -msgid "Loot: Tools" -msgstr "Предметы: инструменты" - -#: src/clzones.cpp -msgid "Destination for tools." -msgstr "Место для инструментов." - -#: src/clzones.cpp -msgid "Loot: Clothing" -msgstr "Предметы: одежда" - -#: src/clzones.cpp -msgid "" -"Destination for clothing. Does include filthy clothing if such zone is not " -"specified." -msgstr "" -"Место для одежды. Включает в себя грязную одежду, если для нее не указано " -"конкретной зоны." - -#: src/clzones.cpp -msgid "Loot: F.Clothing" -msgstr "Предметы: грязная одежда" - -#: src/clzones.cpp -msgid "Destination for filthy clothing." -msgstr "Место для грязной одежды." - -#: src/clzones.cpp -msgid "Loot: Drugs" -msgstr "Предметы: мед. препараты" - -#: src/clzones.cpp -msgid "Destination for drugs and other medical items." -msgstr "Место для лекарств и прочих медицинских вещей." - -#: src/clzones.cpp -msgid "Loot: Books" -msgstr "Предметы: книги" - -#: src/clzones.cpp -msgid "Destination for books and magazines." -msgstr "Место для книг и журналов." - -#: src/clzones.cpp -msgid "Loot: Mods" -msgstr "Предметы: модификации" - -#: src/clzones.cpp -msgid "Destination for firearm modifications and similar items." -msgstr "Место для оружейных модификаций и похожих вещей." - -#: src/clzones.cpp -msgid "Loot: Mutagens" -msgstr "Предметы: мутагены" - -#: src/clzones.cpp -msgid "Destination for mutagens, serums, and purifiers." -msgstr "Место для мутагенов, сывороток и очистителей." - -#: src/clzones.cpp -msgid "Loot: Bionics" -msgstr "Предметы: бионика" - -#: src/clzones.cpp -msgid "Destination for Compact Bionics Modules aka CBMs." -msgstr "Место для Компактных Бионических Модулей aka КБМ." - -#: src/clzones.cpp -msgid "Loot: V.Parts" -msgstr "Предметы: детали транспорта" - -#: src/clzones.cpp -msgid "Destination for vehicle parts." -msgstr "Место для частей от машин." - -#: src/clzones.cpp -msgid "Loot: Other" -msgstr "Предметы: другое" - -#: src/clzones.cpp -msgid "Destination for other miscellaneous items." -msgstr "Место для прочих вещей." - -#: src/clzones.cpp -msgid "Loot: Fuel" -msgstr "Предметы: топливо" - -#: src/clzones.cpp -msgid "" -"Destination for gasoline, diesel, lamp oil and other substances used as a " -"fuel." -msgstr "" -"Место для бензина, дизеля, лампового масла и прочих субстанций, " -"использующихся как топливо." - -#: src/clzones.cpp -msgid "Loot: Seeds" -msgstr "Предметы: семена" - -#: src/clzones.cpp -msgid "Destination for seeds, stems and similar items." -msgstr "Место для семян, стеблей и прочих похожих вещей." - -#: src/clzones.cpp -msgid "Loot: Chemical" -msgstr "Предметы: химикаты" - -#: src/clzones.cpp -msgid "Destination for chemicals." -msgstr "Место для химикатов." - -#: src/clzones.cpp -msgid "Loot: S.Parts" -msgstr "Предметы: запчасти" - -#: src/clzones.cpp -msgid "Destination for spare parts." -msgstr "Место для запасных частей." - -#: src/clzones.cpp -msgid "Loot: Artifacts" -msgstr "Предметы: артефакты" - -#: src/clzones.cpp -msgid "Destination for artifacts" -msgstr "Место для артефактов." - -#: src/clzones.cpp -msgid "Loot: Corpses" -msgstr "Предметы: трупы" - -#: src/clzones.cpp -msgid "Destination for corpses" -msgstr "Место для трупов" - -#: src/clzones.cpp -msgid "Loot: Armor" -msgstr "Предметы: броня" - -#: src/clzones.cpp -msgid "" -"Destination for armor. Does include filthy armor if such zone is not " -"specified." -msgstr "" -"Место для брони. Включает в себя грязную брону, если для нее не указана " -"конкретная зона." - -#: src/clzones.cpp -msgid "Loot: F.Armor" -msgstr "Предметы: грязная броня" - -#: src/clzones.cpp -msgid "Destination for filthy armor." -msgstr "Место для грязной брони." - -#: src/clzones.cpp -msgid "Loot: Wood" -msgstr "Предметы: дерево" - -#: src/clzones.cpp -msgid "Destination for firewood and items that can be used as such." -msgstr "" -"Место для дров и вещей, которые могут использоваться в этом же смысле." - -#: src/clzones.cpp -msgid "Loot: Custom" -msgstr "Предметы: Настраиваемое" - -#: src/clzones.cpp -msgid "Destination for loot with a custom filter that you can modify." -msgstr "Место назначения для предметов с настраиваемым изменяемым фильтром." - -#: src/clzones.cpp -msgid "Loot: Ignore" -msgstr "Предметы: игнорировать" - -#: src/clzones.cpp -msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." -msgstr "" -"Вещи внутри этой зоны игнорируются при использовании «сортировки предметов» " -"в зоне." - #: src/clzones.cpp msgid "Source: Firewood" msgstr "Источник: дров" @@ -206121,13 +213054,12 @@ msgstr "Источник: дров" #: src/clzones.cpp msgid "" "Source for firewood or other flammable materials in this zone may be used to" -" automatically refuel fires. This will be done to maintain light during " +" automatically refuel fires. This will be done to maintain light during " "long-running tasks such as crafting, reading or waiting." msgstr "" -"Ресурсы в этой зоне, такие как дрова или другие горючие материалы могут быть" -" использованы для автоматического поддержания огня. Огонь будет " -"поддерживаться при выполнении длительных задач, например чтении, " -"изготовлении предметов или ожидании." +"Дрова или другие горючие материалы из этой зоны будут поддерживать огонь " +"поблизости. Огонь будет поддерживаться при выполнении длительных задач, " +"например при готовке, чтении или ожидании." #: src/clzones.cpp msgid "Construction: Blueprint" @@ -206177,6 +213109,14 @@ msgstr "Область Ремонта Машин" msgid "Any vehicles in this area are marked for repair work." msgstr "Все машины в этой зоне помечаются как подлежащие ремонту." +#: src/clzones.cpp +msgid "Vehicle Patrol Zone" +msgstr "" + +#: src/clzones.cpp +msgid "Vehicles with an autopilot will patrol in this zone." +msgstr "Транспортные средства с автопилотом будут патрулировать в этой зоне." + #: src/clzones.cpp msgid "Basecamp: Food" msgstr "Лагерь: Еда" @@ -206199,11 +213139,11 @@ msgstr "Нет семян" #: src/clzones.cpp #, c-format -msgid "Loot: Custom : %s" -msgstr "Предметы: Настраиваемое : %s" +msgid "Loot: Custom: %s" +msgstr "Предметы: Настраиваемое: %s" #: src/clzones.cpp -msgid "Loot: Custom : No Filter" +msgid "Loot: Custom: No Filter" msgstr "Предметы: Настраиваемое : Без фильтра" #: src/clzones.cpp @@ -206357,7 +213297,7 @@ msgstr "ОШИБКА! Доступ запрещён!" #: src/computer.cpp #, c-format -msgid "Logging into %s..." +msgid "Logging into %s…" msgstr "Вход в %s…" #: src/computer.cpp @@ -206373,17 +213313,17 @@ msgid "Bypass security?" msgstr "Обойти систему безопасности?" #: src/computer.cpp -msgid "Shutting down... press any key." +msgid "Shutting down… press any key." msgstr "Выключение… нажмите любую клавишу." #: src/computer.cpp -msgid "Maximum login attempts exceeded. Press any key..." +msgid "Maximum login attempts exceeded. Press any key…" msgstr "" "Превышено максимальное количество попыток авторизации. Нажмите любую " "клавишу…" #: src/computer.cpp -msgid "Login successful. Press any key..." +msgid "Login successful. Press any key…" msgstr "Успешная авторизация. Нажмите любую клавишу…" #: src/computer.cpp @@ -206407,28 +213347,28 @@ msgid "Choose drive:" msgstr "Выберите диск:" #: src/computer.cpp -msgid "Doors opened. Press any key..." +msgid "Doors opened. Press any key…" msgstr "Двери открыты. Нажмите любую клавишу…" #: src/computer.cpp -msgid "Lock enabled. Press any key..." +msgid "Lock enabled. Press any key…" msgstr "Блокировка включена. Нажмите любую клавишу…" #: src/computer.cpp -msgid "Lock disabled. Press any key..." +msgid "Lock disabled. Press any key…" msgstr "Блокировка отключена. Нажмите любую клавишу…" #. ~ the sound of a church bell ringing #: src/computer.cpp -msgid "Bohm... Bohm... Bohm..." +msgid "Bohm… Bohm… Bohm…" msgstr "Бом… Бом… Бом…" #: src/computer.cpp -msgid "Containment shields opened. Press any key..." +msgid "Containment shields opened. Press any key…" msgstr "Сдерживающие щиты открыты. Нажмите любую клавишу…" #: src/computer.cpp -msgid "Subjects terminated. Press any key..." +msgid "Subjects terminated. Press any key…" msgstr "Субъекты уничтожены. Нажмите любую клавишу…" #: src/computer.cpp @@ -206442,43 +213382,43 @@ msgid "No data found." msgstr "Данные не найдены." #: src/computer.cpp -msgid "Local data-access error logged, alerting helpdesk. Press any key..." +msgid "Local data-access error logged, alerting helpdesk. Press any key…" msgstr "" -"Зафиксирована ошибка доступа к данным, поддержка оповещена. Нажмите любую " -"клавишу…" +"Зафиксирована ошибка доступа к данным, служба поддержки оповещена. Нажмите " +"любую клавишу…" #: src/computer.cpp msgid "" -"Warning: anomalous archive-access activity detected at this node. Press any " -"key..." +"Warning: anomalous archive-access activity detected at this node. Press any" +" key…" msgstr "" "Внимание: С этого терминала обнаружен несанкционированный доступ к архиву. " "Нажмите любую клавишу…" #: src/computer.cpp -msgid "Warning: resticted data access. Attempt logged. Press any key..." +msgid "Warning: resticted data access. Attempt logged. Press any key…" msgstr "" "Внимание: доступ к закрытым данным. Попытка зафиксирована. Нажмите любую " "клавишу…" #: src/computer.cpp -msgid "Press any key..." +msgid "Press any key…" msgstr "Нажмите любую клавишу…" #: src/computer.cpp msgid "" "Surface map data downloaded. Local anomalous-access error logged. Press " -"any key..." +"any key…" msgstr "" "Карта местности скачана. Все подозрительные ошибки локального доступа " "зафиксированы. Нажмите любую клавишу…" #: src/computer.cpp -msgid "Sewage map data downloaded. Press any key..." +msgid "Sewage map data downloaded. Press any key…" msgstr "Карта канализации скачана. Нажмите любую клавишу…" #: src/computer.cpp -msgid "Subway map data downloaded. Press any key..." +msgid "Subway map data downloaded. Press any key…" msgstr "Карта подземки скачана. Нажмите любую клавишу…" #: src/computer.cpp @@ -206515,15 +213455,15 @@ msgstr "Доступ к модулю — Предупреждение:" #: src/computer.cpp #, c-format -msgid "%d OTHER FOUND..." -msgid_plural "%d OTHERS FOUND..." -msgstr[0] "НАЙДЕНЫ ДРУГИЕ %d" -msgstr[1] "НАЙДЕНЫ ДРУГИЕ %d" -msgstr[2] "НАЙДЕНЫ ДРУГИЕ %d" -msgstr[3] "НАЙДЕН ДРУГОЙ %d" +msgid "%d OTHER FOUND…" +msgid_plural "%d OTHERS FOUND…" +msgstr[0] "НАЙДЕН ДРУГОЙ %d..." +msgstr[1] "НАЙДЕНЫ ДРУГИЕ %d..." +msgstr[2] "НАЙДЕНЫ ДРУГИЕ %d..." +msgstr[3] "НАЙДЕНЫ ДРУГИЕ %d…" #: src/computer.cpp -msgid "Elevator activated. Press any key..." +msgid "Elevator activated. Press any key…" msgstr "Лифт активирован. Нажмите любую клавишу…" #: src/computer.cpp @@ -206549,7 +213489,7 @@ msgstr "" "ВСЕ ЖУРНАЛЫ БРИГАДИРА БУДУТ ВЗЯТЫ НА ЗАМЕТКУ" #: src/computer.cpp -msgid "FILE CORRUPTED, PRESS ANY KEY..." +msgid "FILE CORRUPTED, PRESS ANY KEY…" msgstr "ФАЙЛ ПОВРЕЖДЁН, НАЖМИТЕ ЛЮБУЮ КЛАВИШУ…" #: src/computer.cpp @@ -206565,11 +213505,11 @@ msgid "ACCESS DENIED" msgstr "ДОСТУП ЗАПРЕЩЁН" #: src/computer.cpp -msgid "Repeater mod installed..." +msgid "Repeater mod installed…" msgstr "Установлен мод-ретранслятор…" #: src/computer.cpp -msgid "You do not have a repeater mod to install..." +msgid "You do not have a repeater mod to install…" msgstr "У вас нет мода-ретранслятора, чтобы установить его…" #: src/computer.cpp @@ -206601,15 +213541,15 @@ msgid "ERROR: Please only use blood samples." msgstr "ОШИБКА: Пожалуйста, используйте только образцы крови." #: src/computer.cpp -msgid "Result: Human blood, no pathogens found." +msgid "Result: Human blood, no pathogens found." msgstr "Результат: человеческая кровь, без патогенов." #: src/computer.cpp -msgid "Result: Human blood. Unknown pathogen found." +msgid "Result: Human blood. Unknown pathogen found." msgstr "Результат: человеческая кровь. Найден неизвестный возбудитель." #: src/computer.cpp -msgid "Result: Unknown blood type. Unknown pathogen found." +msgid "Result: Unknown blood type. Unknown pathogen found." msgstr "Результат: неизвестный тип крови. Найден неизвестный возбудитель." #: src/computer.cpp @@ -206646,7 +213586,7 @@ msgstr "ОШИБКА: банк памяти пуст." #: src/computer.cpp msgid "" -"Memory Bank: Military Hexron Encryption\n" +"Memory Bank: Military Hexron Encryption\n" "Printing Transcript\n" msgstr "" "Банк памяти: Военное Шифрование Hexron\n" @@ -206654,7 +213594,7 @@ msgstr "" #: src/computer.cpp msgid "" -"Memory Bank: Unencrypted\n" +"Memory Bank: Unencrypted\n" "Nothing of interest.\n" msgstr "" "Банк памяти: Незашифровано\n" @@ -206663,7 +213603,7 @@ msgstr "" #: src/computer.cpp msgid "" "\n" -"ERROR: NETWORK DISCONNECT \n" +"ERROR: NETWORK DISCONNECT\n" "UNABLE TO REACH NETWORK ROUTER OR PROXY. PLEASE CONTACT YOUR\n" "SYSTEM ADMINISTRATOR TO RESOLVE THIS ISSUE.\n" " \n" @@ -206675,25 +213615,25 @@ msgstr "" " \n" #: src/computer.cpp -msgid "Press any key to continue..." +msgid "Press any key to continue…" msgstr "Нажмите любую клавишу для продолжения…" #: src/computer.cpp msgid "" -"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF \n" -"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU \n" -"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW. \n" +"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF\n" +"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU\n" +"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW.\n" "\n" -"1. DO NOT PANIC. \n" -"2. REMAIN INSIDE THE BUILDING. \n" -"3. SEEK SHELTER IN THE BASEMENT. \n" -"4. USE PROVIDED GAS MASKS. \n" -"5. AWAIT FURTHER INSTRUCTIONS. \n" +"1. DO NOT PANIC.\n" +"2. REMAIN INSIDE THE BUILDING.\n" +"3. SEEK SHELTER IN THE BASEMENT.\n" +"4. USE PROVIDED GAS MASKS.\n" +"5. AWAIT FURTHER INSTRUCTIONS.\n" "\n" " \n" msgstr "" -"ДОБРЫЙ ДЕНЬ, ГРАЖДАНИН. ПРОИЗОШЛО БИОЛОГИЧЕСКОЕ НАПАДЕНИЕ\n" -"И ОБЪЯВЛЕНО ЧРЕЗВЫЧАЙНОЕ ПОЛОЖЕНИЕ. ПЕРСОНАЛ ВСКОРЕ \n" +"ПРИВЕТСТВУЕМ, ГРАЖДАНИН. ПРОИЗОШЛО БИОЛОГИЧЕСКОЕ НАПАДЕНИЕ\n" +"И ОБЪЯВЛЕНО ЧРЕЗВЫЧАЙНОЕ ПОЛОЖЕНИЕ. ЭКСТРЕННЫЙ ПЕРСОНАЛ ВСКОРЕ \n" "ПРИБУДЕТ НА ПОМОЩЬ. ДЛЯ ОБЕСПЕЧЕНИЯ ВАШЕЙ БЕЗОПАСНОСТИ СЛЕДУЙТЕ\n" "СЛЕДУЮЩИМ ПУНКТАМ.\n" "\n" @@ -206707,11 +213647,11 @@ msgstr "" #: src/computer.cpp msgid "" -" WARNING, RADIO TOWER IS UNRESPONSIVE. \n" +" WARNING, RADIO TOWER IS UNRESPONSIVE.\n" " \n" -" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS. \n" -" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD \n" -" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED. \n" +" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS.\n" +" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD\n" +" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED.\n" " \n" " \n" msgstr "" @@ -206767,7 +213707,7 @@ msgid "WARNING [409]: Primary sensors offline!" msgstr "ТРЕВОГА [409]: Главные датчики отключены!" #: src/computer.cpp -msgid " >> Initialize secondary sensors: Geiger profiling..." +msgid " >> Initialize secondary sensors: Geiger profiling…" msgstr " >> Активация запасных датчиков: запуск счётчика Гейгера…" #: src/computer.cpp @@ -206775,20 +213715,20 @@ msgid " >> Radiation spike detected!\n" msgstr " >> Зарегистрирован радиационный скачок!\n" #: src/computer.cpp -msgid "WARNING [912]: Catastrophic malfunction! Contamination detected! " -msgstr "ТРЕВОГА [912]: Катастрофический сбой! Зарегистрировано загрязнение! " +msgid "WARNING [912]: Catastrophic malfunction! Contamination detected!" +msgstr "ТРЕВОГА [912]: Критический сбой! Зарегистрировано загрязнение! " #: src/computer.cpp msgid "EMERGENCY PROCEDURE [1]: Evacuate. Evacuate. Evacuate.\n" msgstr "АВАРИЙНЫЙ ПРОТОКОЛ [1]: Эвакуация. Эвакуация. Эвакуация.\n" #: src/computer.cpp -msgid "EMERGENCY SHUTDOWN! Press any key..." -msgstr "АВАРИЙНОЕ ОТКЛЮЧЕНИЕ! Нажмите любую клавишу…" +msgid "EMERGENCY SHUTDOWN! Press any key…" +msgstr "АВАРИЙНОЕ ОТКЛЮЧЕНИЕ! Нажмите любую клавишу…" #: src/computer.cpp -msgid "PROCESSING... CYCLE COMPLETE." -msgstr "ОБРАБОТКА… ЦИКЛ ЗАВЕРШЁН." +msgid "PROCESSING… CYCLE COMPLETE." +msgstr "ОБРАБОТКА… ЦИКЛ ЗАВЕРШЕН." #: src/computer.cpp #, c-format @@ -206797,7 +213737,7 @@ msgstr "СЧЁТЧИК ГЕЙГЕРА @ ПЛАТФОРМА: %s мЗв/ч." #: src/computer.cpp msgid "" -"CRITICAL ERROR... RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " +"CRITICAL ERROR… RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " "RP_M_01_rev.03." msgstr "" "КРИТИЧЕСКАЯ ОШИБКА… ПЛАТФОРМА НЕ ОТВЕЧАЕТ. ЗАПУСК ПРОЦЕДУРЫ RP_M_01_rev.03." @@ -206808,22 +213748,22 @@ msgstr "УРОВНИ РАДИАЦИИ:" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... AVG %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… AVG %s mSv/h." msgstr "СЧЁТЧИК ГЕЙГЕРА @ ЗОНА:… СРЕДН %s мЗв/ч." #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... MAX %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… MAX %s mSv/h." msgstr "СЧЁТЧИК ГЕЙГЕРА @ ЗОНА:… МАКС %s мЗв/ч." #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ CONSOLE: .... %s mSv/h." +msgid "GEIGER COUNTER @ CONSOLE:… %s mSv/h." msgstr "СЧЁТЧИК ГЕЙГЕРА @ КОНСОЛЬ:… %s мЗв/ч." #: src/computer.cpp #, c-format -msgid "PERSONAL DOSIMETRY: .... %s mSv." +msgid "PERSONAL DOSIMETRY:… %s mSv." msgstr "ДОЗИМЕТРИЯ ПЕРСОНАЛА:… %s мЗв/ч." #: src/computer.cpp @@ -206847,28 +213787,28 @@ msgid "No items detected at: LOADING BAY." msgstr "Не найдено предметов в: ПОГРУЗКА." #: src/computer.cpp -msgid "Conveyor belt cycle complete. Press any key..." -msgstr "Конвейерный цикл завершён. Нажмите любую клавишу…" +msgid "Conveyor belt cycle complete. Press any key…" +msgstr "Цикл конвейерной ленты завершён. Нажмите любую клавишу…" #: src/computer.cpp -msgid "Toggling shutters. Press any key..." -msgstr "Активация заслонок. Нажмите любую клавишу…" +msgid "Toggling shutters. Press any key…" +msgstr "Переключение рольставен. Нажмите любую клавишу…" #: src/computer.cpp msgid "Operation irreversible. Extract radioactive material?" msgstr "Необратимая операция. Извлечь радиоактивный материал?" #: src/computer.cpp -msgid "Extraction sequence complete... Press any key." +msgid "Extraction sequence complete… Press any key." msgstr "Процедура извлечения завершена… Нажмите любую клавишу." #: src/computer.cpp -msgid "ERROR! Radiation platform unresponsive... Press any key." -msgstr "ОШИБКА! Платформа не отвечает… Нажмите любую клавишу." +msgid "ERROR! Radiation platform unresponsive… Press any key." +msgstr "ОШИБКА! Платформа не отвечает… Нажмите любую клавишу." #: src/computer.cpp -msgid "Initiating POWER-DIAG ver.2.34 ..." -msgstr "Запуск POWER-DIAG ver.2.34 …" +msgid "Initiating POWER-DIAG ver.2.34…" +msgstr "Запуск POWER-DIAG ver.2.34…" #: src/computer.cpp msgid "Short circuit detected!" @@ -206888,17 +213828,17 @@ msgstr "Заземление восстановлено." #: src/computer.cpp #, c-format -msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." +msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." msgstr "" -"Статус резервного источника энергии: 85%% НЕ ОТВЕЧАЕТ. Причина: ПОВРЕЖДЕНИЕ." +"Статус резервного источника энергии: 85%% ВЫКЛЮЧЕН. Причина: ПОВРЕЖДЕНИЕ." #: src/computer.cpp #, c-format msgid "" -"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " +"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " "DETECTED." msgstr "" -"Статус резервного источника энергии: 100%% НЕ ОТВЕЧАЕТ. Причина: НЕ НАЙДЕН " +"Статус резервного источника энергии: 100%% ВЫКЛЮЧЕН. Причина: НЕ НАЙДЕН " "ВНЕШНИЙ ИСТОЧНИК ЭНЕРГИИ." #: src/computer.cpp @@ -206906,7 +213846,7 @@ msgid "Backup power status: STANDBY MODE." msgstr "Статус резервного источника энергии: РЕЖИМ ОЖИДАНИЯ." #: src/computer.cpp -msgid "Backup power status: OFFLINE. Reason: UNKNOWN" +msgid "Backup power status: OFFLINE. Reason: UNKNOWN" msgstr "Статус резервного источника энергии: ВЫКЛЮЧЕН. Причина: НЕИЗВЕСТНО" #: src/computer.cpp @@ -206966,7 +213906,7 @@ msgid "ERROR: Data bank destroyed." msgstr "ОШИБКА: Банк данных уничтожен." #: src/computer.cpp -msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT ... " +msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT…" msgstr "ПОИСК БЛИЖАЙШЕГО ЦЕНТРА БЕЖЕНЦЕВ, ПОЖАЛУЙСТА ПОДОЖДИТЕ…" #. ~555-0164 is a fake phone number in the US, please replace it with a number @@ -206975,15 +213915,15 @@ msgstr "ПОИСК БЛИЖАЙШЕГО ЦЕНТРА БЕЖЕНЦЕВ, ПОЖА #, c-format msgid "" "\n" -"REFUGEE CENTER FOUND! LOCATION: %d %s\n" +"REFUGEE CENTER FOUND! LOCATION: %d %s\n" "\n" -"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT \n" -"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE. \n" -"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND \n" -"4PM AT 555-0164. \n" +"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT\n" +"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE.\n" +"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND\n" +"4PM AT 555-0164.\n" "\n" "IF YOU WOULD LIKE TO SPEAK WITH SOMEONE IN PERSON OR WOULD LIKE\n" -"TO WRITE US A LETTER PLEASE SEND IT TO...\n" +"TO WRITE US A LETTER PLEASE SEND IT TO…\n" msgstr "" "\n" "НАЙДЕН ЦЕНТР БЕЖЕНЦЕВ! МЕСТОПОЛОЖЕНИЕ: %d %s\n" @@ -206991,10 +213931,10 @@ msgstr "" "ЕСЛИ У ВАС ЕСТЬ ОТЗЫВ ПО ВАШЕМУ ВИЗИТУ, ПОЖАЛУЙСТА, СВЯЖИТЕСЬ\n" "С ОФИСОМ ОБЩЕСТВЕННЫХ ДЕЛ ДЕПАРТАМЕНТА ПО ЧРЕЗВЫЧАЙНЫМ СИТУАЦИЯМ.\n" "С МЕСТНЫМ ОФИСОМ МОЖНО СВЯЗАТЬСЯ С 9:00 И\n" -"ДО 16:00 ПО ТЕЛЕФОНУ 1-800-555-0164.\n" +"ДО 16:00 ПО ТЕЛЕФОНУ 555-0164.\n" "\n" "ЕСЛИ ВЫ ХОТИТЕ ПОГОВОРИТЬ С КЕМ-ТО ЛИЧНО ИЛИ\n" -"НАПИСАТЬ НАМ ПИСЬМО, ПОЖАЛУЙСТА ОТПРАВЛЯЙТЕ ЕГО…\n" +"НАПИСАТЬ НАМ ПИСЬМО, ПОЖАЛУЙСТА ОТПРАВЬТЕ ЕГО…\n" #: src/construction.cpp msgid " Construction " @@ -207087,13 +214027,13 @@ msgstr "" #: src/construction.cpp #, c-format -msgid "%s assists you with the work..." -msgstr "%s помогает с работой…" +msgid "%s assists you with the work…" +msgstr "%s помогает вам с работой…" #: src/construction.cpp #, c-format -msgid "%s watches you work..." -msgstr "%s наблюдает за работой…" +msgid "%s watches you work…" +msgstr "%s наблюдает за вашей работой…" #: src/construction.cpp #, c-format @@ -207158,7 +214098,7 @@ msgid "That %s can not be dissasembled, since there is furniture above it." msgstr "Нельзя разобрать %s, так как над ним есть предметы." #: src/construction.cpp -msgid "The rock feels much warmer than normal. Proceed?" +msgid "The rock feels much warmer than normal. Proceed?" msgstr "Камень теплее, чем обычно. Продолжать?" #: src/construction.cpp @@ -207322,21 +214262,21 @@ msgstr "Всё равно употребить %s?" #: src/consumption.cpp msgid "" "You've begun stockpiling calories and liquid for hibernation. You get the " -"feeling that you should prepare for bed, just in case, but...you're hungry " +"feeling that you should prepare for bed, just in case, but… you're hungry " "again, and you could eat a whole week's worth of food RIGHT NOW." msgstr "" "Вы начали накапливать питательные вещества и жидкость для спячки. У вас " "появляется чувство, что вы должны подготовиться к постели, на всякий случай," -" но… вы снова голодны и можете съесть недельный запас пищи ПРЯМО СЕЙЧАС." +" но… Вы снова голодны и готовы съесть недельный запас пищи ПРЯМО СЕЙЧАС." #: src/consumption.cpp #, c-format -msgid "Ick, this %s doesn't taste so good..." +msgid "Ick, this %s doesn't taste so good…" msgstr "Фу, %s совсем дрянное на вкус…" #: src/consumption.cpp #, c-format -msgid "Mmm, this %s tastes delicious..." +msgid "Mmm, this %s tastes delicious…" msgstr "Ммм, %s имеет восхитительный вкус…" #: src/consumption.cpp @@ -207351,7 +214291,7 @@ msgstr "Вы потребляете %s." #: src/consumption.cpp #, c-format -msgid "Ick, this %s (rotten) doesn't taste so good..." +msgid "Ick, this %s (rotten) doesn't taste so good…" msgstr "Фу, эта протухшая гадость — %s — отвратительна на вкус…" #: src/consumption.cpp @@ -207405,7 +214345,7 @@ msgid "You greedily devour the taboo meat." msgstr "Вы жадно поглощаете запретное мясо." #: src/consumption.cpp -msgid "Meh. You've eaten worse." +msgid "Meh. You've eaten worse." msgstr "Ха. Вы пробовали и похуже." #: src/consumption.cpp @@ -207434,7 +214374,7 @@ msgid "You can't taste much of anything with this flu." msgstr "Грипп мешает вам наслаждаться вкусом." #: src/consumption.cpp -msgid "Yuck! How can anybody eat this stuff?" +msgid "Yuck! How can anybody eat this stuff?" msgstr "Фу! Как можно есть эту дрянь?" #: src/consumption.cpp @@ -207446,8 +214386,8 @@ msgid "When life's got you down, there's always sugar." msgstr "Даже если весь мир разрушен, всегда есть сахар." #: src/consumption.cpp -msgid "They may do what they must... you've already won." -msgstr "Они могут делать что хотят… вы всё равно выиграли." +msgid "They may do what they must… you've already won." +msgstr "Они могут делать, что хотят… Вы всё равно в выигрыше." #: src/consumption.cpp msgid "Your stomach begins gurgling and you feel bloated and ill." @@ -207483,7 +214423,7 @@ msgid "They're coming to get you." msgstr "Они идут за вами." #: src/consumption.cpp -msgid "This might've been a bad idea..." +msgid "This might've been a bad idea…" msgstr "Наверно, это была плохая идея…" #: src/consumption.cpp @@ -207491,7 +214431,7 @@ msgid "You've really done it this time, haven't you?" msgstr "На этот раз вы доигрались." #: src/consumption.cpp -msgid "You have to stay vigilant. They're always watching..." +msgid "You have to stay vigilant. They're always watching…" msgstr "Нужно сохранять бдительность. Они всегда смотрят…" #: src/consumption.cpp @@ -207511,7 +214451,7 @@ msgid "Something is twitching at the edge of your vision." msgstr "Что-то дёргается на краю вашего зрения." #: src/consumption.cpp -msgid "They know what you've done..." +msgid "They know what you've done…" msgstr "Они знают, что ты наделал…" #: src/consumption.cpp @@ -207523,22 +214463,23 @@ msgid "You gorge yourself, preparing to hibernate." msgstr "Вы объелись, готовясь к спячке." #: src/consumption.cpp -msgid "You feel stocked for a day or two. Got your bed all ready and secured?" +msgid "" +"You feel stocked for a day or two. Got your bed all ready and secured?" msgstr "" -"Вы чувствуете, что запаслись на день или два. Вы не забыли про кровать? Всё " -"готово и защищено?" +"Вы чувствуете, что запаслись на день или два. У вас есть безопасное место, " +"где переночевать?" #: src/consumption.cpp msgid "" -"Mmm. You can still fit some more in...but maybe you should get comfortable " +"Mmm. You can still fit some more in… but maybe you should get comfortable " "and sleep." msgstr "" "Ммм. Вы всё ещё можете съесть немножко еды… но, возможно, вы должны " "устроиться поудобнее и заснуть." #: src/consumption.cpp -msgid "That filled a hole! Time for bed..." -msgstr "Вы заполнили эту пустоту! Время поспать…" +msgid "That filled a hole! Time for bed…" +msgstr "Вы заморили червячка! Время поспать…" #: src/consumption.cpp msgid "You feel as though you're going to split open! In a good way?" @@ -207548,7 +214489,7 @@ msgstr "" #. ~slimespawns have *small voices* which may be the Nice equivalent #. ~of the Rat King's ALL CAPS invective. Probably shared-brain telepathy. #: src/consumption.cpp -msgid "hey, you look like me! let's work together!" +msgid "hey, you look like me! let's work together!" msgstr "эй, ты выглядишь как я! давай сотрудничать!" #: src/consumption.cpp @@ -207561,24 +214502,6 @@ msgstr "Вы чувствуете, как %s наполняет вас." msgid " looks better after eating the %s." msgstr " выглядит лучше, после того как съел %s." -#: src/consumption.cpp -msgid "Your internal power storage is fully powered." -msgstr "Вашы внутренние запасы энергии полностью заряжены." - -#: src/consumption.cpp -msgid "'s internal power storage is fully powered." -msgstr "Внутренние запасы энергии у полностью заряжены." - -#: src/consumption.cpp -#, c-format -msgid "You recharge your battery system with the %s." -msgstr "Вы заряжаете свою систему батарей при помощи %s." - -#: src/consumption.cpp -#, c-format -msgid " recharges their battery system with the %s." -msgstr " заряжает свою систему батарей при помощи %s." - #: src/consumption.cpp msgid "That is a LOT of plutonium. Are you sure you want that much?" msgstr "Тут МНОГО плутония. Вам действительно надо так много?" @@ -207701,7 +214624,7 @@ msgstr "" "Всё равно начать изготовление?" #: src/craft_command.cpp -msgid "Some components used previously are missing. Continue?" +msgid "Some components used previously are missing. Continue?" msgstr "" "Некоторые ранее использовавшиеся компоненты теперь отсутствуют. Продолжить?" @@ -207714,8 +214637,8 @@ msgid "Tool(s): " msgstr "Инструмент(ы):" #: src/crafting.cpp -msgid "Your morale is too low to craft such a difficult thing..." -msgstr "Вы слишком расстроены, чтобы делать что-то настолько сложное…" +msgid "Your morale is too low to craft such a difficult thing…" +msgstr "Настроение ни к черту, чтобы делать что-то настолько сложное…" #: src/crafting.cpp msgid "You can't see to craft!" @@ -207775,7 +214698,7 @@ msgstr "Вы больше не можете это собрать!" #, c-format msgid "" "You don't have anything in which to store %s and may have to pour it out or " -"consume it as soon as it is prepared! Proceed?" +"consume it as soon as it is prepared! Proceed?" msgstr "" "Вам не во что налить %s, так что по завершению готовки придётся это выпить " "или вылить! Продолжить?" @@ -207868,23 +214791,23 @@ msgstr " начинает работать над %s" #: src/crafting.cpp #, c-format -msgid "%s assists with crafting..." +msgid "%s assists with crafting…" msgstr "%s помогает со сборкой…" #: src/crafting.cpp #, c-format -msgid "%s could assist you with a batch..." -msgstr "%s может помочь с серией…" +msgid "%s could assist you with a batch…" +msgstr "%s может помочь с серийной сборкой…" #: src/crafting.cpp #, c-format -msgid "%s watches you craft..." +msgid "%s watches you craft…" msgstr "%s наблюдает за сборкой…" #: src/crafting.cpp #, c-format -msgid "%s helps with crafting..." -msgstr "%s помогает с производством…" +msgid "%s helps with crafting…" +msgstr "%s помогает со сборкой…" #: src/crafting.cpp #, c-format @@ -208174,7 +215097,7 @@ msgstr "Экономия времени при серийном изготовл #: src/crafting_gui.cpp #, c-format -msgid "Dark craftable? %s" +msgid "Dark craftable? %s" msgstr "Изготовление в темноте: %s" #: src/crafting_gui.cpp src/defense.cpp @@ -208253,7 +215176,7 @@ msgstr "показать или нет запомненныеExamples:\n" msgstr "" @@ -208469,7 +215392,7 @@ msgid "Friendly" msgstr "Дружественные" #: src/creature.cpp -msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" +msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" msgstr "БАГ: Поведение без имени. (Creature::get_attitude_ui_data)" #: src/damage.cpp @@ -208523,8 +215446,8 @@ msgid "See %s for a full stack backtrace" msgstr "В файле %s можно найти более полную отладочную информацию." #: src/debug.cpp -msgid "An error has occurred! Written below is the error report:" -msgstr "Произошла ошибка! Ниже приведён отчёт об ошибке:" +msgid "An error has occurred! Written below is the error report:" +msgstr "Произошла ошибка! Отчёт об ошибке ниже:" #: src/debug.cpp msgid "Press space bar to continue the game." @@ -208583,7 +215506,7 @@ msgid "Level a spell" msgstr "Уровень заклинания" #: src/debug_menu.cpp -msgid "Player..." +msgid "Player…" msgstr "Игрок…" #: src/debug_menu.cpp @@ -208626,10 +215549,18 @@ msgstr "Переключить отображение окружающих за msgid "Toggle display temperature" msgstr "Переключить отображение температуры" +#: src/debug_menu.cpp +msgid "Toggle display vehicle autopilot overlay" +msgstr "Переключить оверлей автопилота" + #: src/debug_menu.cpp msgid "Toggle display visibility" msgstr "Переключить отображение видимости" +#: src/debug_menu.cpp +msgid "Toggle display lighting" +msgstr "Переключить отображение света" + #: src/debug_menu.cpp msgid "Toggle display radiation" msgstr "Переключить отображение радиации" @@ -208660,14 +215591,18 @@ msgstr "Переключить отображение пути NPC на карт #: src/debug_menu.cpp msgid "Print faction info to console" -msgstr "" +msgstr "Вывести информацию по фракции в консоли" + +#: src/debug_menu.cpp +msgid "Print NPC magic info to console" +msgstr "Вывести магическую информацию НПС в консоль" #: src/debug_menu.cpp msgid "Test weather" msgstr "Тест погоды" #: src/debug_menu.cpp -msgid "Info..." +msgid "Info…" msgstr "Информация…" #: src/debug_menu.cpp @@ -208683,7 +215618,7 @@ msgid "Teleport - adjacent overmap" msgstr "Телепортироваться в соседнюю карту " #: src/debug_menu.cpp -msgid "Teleport..." +msgid "Teleport…" msgstr "Телепорт…" #: src/debug_menu.cpp @@ -208711,8 +215646,8 @@ msgid "Spawn clairvoyance artifact" msgstr "Вызвать артефакт ясновидения" #: src/debug_menu.cpp -msgid "Spawning..." -msgstr "Вызов…" +msgid "Spawning…" +msgstr "Спавн…" #: src/debug_menu.cpp msgid "Reveal map" @@ -208755,7 +215690,7 @@ msgid "Spawn map extra" msgstr "Вызвать Дополнительную Локацию" #: src/debug_menu.cpp -msgid "Map..." +msgid "Map…" msgstr "Карта…" #: src/debug_menu.cpp @@ -208765,8 +215700,8 @@ msgstr "Выйти в главное меню" #: src/debug_menu.cpp msgid "" "Debug Functions - Using these will cheat not only the game, but yourself.\n" -"You won't grow. You won't improve.\n" -"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" +"You won't grow. You won't improve.\n" +"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" "Nothing will be risked and nothing will be gained." msgstr "" "Отладочные функции — Если вы их используете, то обманываете не только игру, но и себя.\n" @@ -208797,7 +215732,7 @@ msgstr "Где находится желаемая overmap?" msgid "You teleport to overmap (%d,%d,%d)." msgstr "Вы телепортируетесь к overmap (%d,%d,%d)." -#: src/debug_menu.cpp src/iuse.cpp src/npctrade.cpp +#: src/debug_menu.cpp src/game.cpp src/iuse.cpp src/npctrade.cpp msgid "You" msgstr "Вы" @@ -208945,6 +215880,10 @@ msgstr "[@] Окно состояния" msgid "t[e]leport" msgstr "[e] телепортироваться" +#: src/debug_menu.cpp +msgid "Give the [f]lu" +msgstr "" + #: src/debug_menu.cpp msgid "Edit [M]issions (WARNING: Unstable!)" msgstr "[M] Редактировать миссии (ВНИМАНИЕ: нестабильно!)" @@ -208983,8 +215922,8 @@ msgstr "Максимум восприятия" #: src/debug_menu.cpp #, c-format -msgid "Set the stat to? Currently: %d" -msgstr "На сколько установить характеристику? Текущее: %d" +msgid "Set the stat to? Currently: %d" +msgstr "На сколько установить характеристику? Текущая: %d" #: src/debug_menu.cpp msgid "Delete all items from the target?" @@ -209012,13 +215951,13 @@ msgstr "Правая нога" #: src/debug_menu.cpp #, c-format -msgid "Set the hitpoints to? Currently: %d" -msgstr "На сколько установить очки здоровья? Текущее: %d" +msgid "Set the hitpoints to? Currently: %d" +msgstr "На сколько установить очки здоровья? Текущие: %d" #: src/debug_menu.cpp #, c-format -msgid "Set stamina to? Current: %d. Max: %d." -msgstr "На сколько установить выносливость? Текущее: %d. Максимум: %d." +msgid "Set stamina to? Current: %d. Max: %d." +msgstr "На сколько установить выносливость? Текущая: %d. Максимум: %d." #: src/debug_menu.cpp msgid "Target stamina value out of bounds!" @@ -209026,8 +215965,8 @@ msgstr "Заданное значение выносливости выходи #: src/debug_menu.cpp #, c-format -msgid "Set the morale to? Currently: %d" -msgstr "Какое значение морали установить? Текущее: %d" +msgid "Set the morale to? Currently: %d" +msgstr "Какое значение морали установить? Текущая: %d" #: src/debug_menu.cpp msgid "trust" @@ -209051,28 +215990,28 @@ msgstr "задолженность" #: src/debug_menu.cpp #, c-format -msgid "Set trust to? Currently: %d" -msgstr "На сколько установить доверие? Текущее: %d" +msgid "Set trust to? Currently: %d" +msgstr "На сколько установить доверие? Текущее: %d" #: src/debug_menu.cpp #, c-format -msgid "Set fear to? Currently: %d" -msgstr "На сколько установить страх? Текущий: %d" +msgid "Set fear to? Currently: %d" +msgstr "На сколько установить страх? Текущий: %d" #: src/debug_menu.cpp #, c-format -msgid "Set value to? Currently: %d" -msgstr "Какое значение установить? Текущее: %d" +msgid "Set value to? Currently: %d" +msgstr "Какое значение установить? Текущее: %d" #: src/debug_menu.cpp #, c-format -msgid "Set anger to? Currently: %d" -msgstr "На сколько установить гнев? Текущее: %d" +msgid "Set anger to? Currently: %d" +msgstr "На сколько установить гнев? Текущий: %d" #: src/debug_menu.cpp #, c-format -msgid "Set owed to? Currently: %d" -msgstr "На сколько установить задолженность? Текущая: %d" +msgid "Set owed to? Currently: %d" +msgstr "На сколько установить задолженность? Текущая: %d" #: src/debug_menu.cpp msgid "Rename:" @@ -209081,16 +216020,16 @@ msgstr "Новое имя:" #: src/debug_menu.cpp #, c-format msgid "" -"NPC: \n" +"NPC:\n" "%s\n" msgstr "" -"NPC: \n" +"НПС: \n" "%s\n" #: src/debug_menu.cpp #, c-format -msgid "Cause how much pain? pain: %d" -msgstr "Сколько единиц боли вызвать? Боль: %d" +msgid "Cause how much pain? pain: %d" +msgstr "Сколько единиц боли вызвать? Боль: %d" #: src/debug_menu.cpp msgid "Hunger" @@ -209114,33 +216053,33 @@ msgstr "Сбросить все базовые потребности" #: src/debug_menu.cpp #, c-format -msgid "Set hunger to? Currently: %d" -msgstr "На сколько установить голод? Текущее: %d" +msgid "Set hunger to? Currently: %d" +msgstr "На сколько установить голод? Текущий: %d" #: src/debug_menu.cpp #, c-format -msgid "Set stored kCal to? Currently: %d" -msgstr "Сколько запасённых ккал установить? Текущие: %d" +msgid "Set stored kCal to? Currently: %d" +msgstr "Сколько запасённых ккал установить? Текущие: %d" #: src/debug_menu.cpp #, c-format -msgid "Set thirst to? Currently: %d" -msgstr "На сколько установить жажду? Текущее: %d" +msgid "Set thirst to? Currently: %d" +msgstr "На сколько установить жажду? Текущее: %d" #: src/debug_menu.cpp #, c-format -msgid "Set fatigue to? Currently: %d" -msgstr "На сколько установить усталость? Текущее: %d" +msgid "Set fatigue to? Currently: %d" +msgstr "На сколько установить усталость? Текущая: %d" #: src/debug_menu.cpp #, c-format -msgid "Set sleep deprivation to? Currently: %d" -msgstr "На какое значение установить недостаток сна? Сейчас: %d" +msgid "Set sleep deprivation to? Currently: %d" +msgstr "На какое значение установить недостаток сна? Сейчас: %d" #: src/debug_menu.cpp #, c-format -msgid "Set %s to? Currently: %d" -msgstr "На сколько установить %s? Текущее: %d" +msgid "Set %s to? Currently: %d" +msgstr "На сколько установить %s? Сейчас: %d" #: src/debug_menu.cpp src/panels.cpp msgid "Health" @@ -209156,7 +216095,7 @@ msgstr "Радиация" #: src/debug_menu.cpp #, c-format -msgid "Set the value to? Currently: %d" +msgid "Set the value to? Currently: %d" msgstr "Какое значение установить? Текущее: %d" #: src/debug_menu.cpp @@ -209279,8 +216218,8 @@ msgstr "Удалить задание без правильной очистки #: src/debug_menu.cpp #, c-format -msgid "Drew %d times in %.3f seconds. (%.3f fps average)" -msgstr "Отрисовано %d раз за %.3f секунд. (%.3f fps в среднем)" +msgid "Drew %d times in %.3f seconds. (%.3f fps average)" +msgstr "Отрисовано %d раз за %.3f секунд. (%.3f fps, в среднем)" #: src/debug_menu.cpp msgid "Current overmap revealed." @@ -209436,8 +216375,8 @@ msgstr "Оставить нормальную скорость ветра" #: src/debug_menu.cpp #, c-format -msgid "Damage self for how much? hp: %d" -msgstr "Насколько сильно ранить себя? ОЗ: %d" +msgid "Damage self for how much? hp: %d" +msgstr "Насколько сильно ранить себя? ОЗ: %d" #: src/debug_menu.cpp msgid "This binary was not compiled with tiles support." @@ -209476,7 +216415,7 @@ msgid "Set year to?" msgstr "Установить год?" #: src/debug_menu.cpp -msgid "Set season to? (0 = spring)" +msgid "Set season to? (0 = spring)" msgstr "Установить время года? (0 = весна)" #: src/debug_menu.cpp @@ -209493,8 +216432,8 @@ msgstr "Установить минуты?" #: src/debug_menu.cpp #, c-format -msgid "Set turn to? (One day is %i turns)" -msgstr "Установить ход? (один день = %i ходов)" +msgid "Set turn to? (One day is %i turns)" +msgstr "Установить ход? (Один день равен %i ходов)" #: src/debug_menu.cpp msgid "Enter benchmark length (in milliseconds):" @@ -209502,11 +216441,11 @@ msgstr "Укажите продолжительность бенчмарка (в #: src/debug_menu.cpp msgid "" -"Quit without saving? This may cause issues such as duplicated or missing " +"Quit without saving? This may cause issues such as duplicated or missing " "items and vehicles!" msgstr "" -"Выйти без сохранения? Возможно будут проблемы: исчезновение или клонирование" -" предметов и транспорта!" +"Выйти без сохранения? Возможно будут проблемы с исчезновением или " +"клонированием предметов и транспорта!" #: src/debug_menu.cpp #, c-format @@ -209519,7 +216458,7 @@ msgstr "Произошла ошибка при попытке сохранени #: src/debug_menu.cpp msgid "Report written to debug.log" -msgstr "Отчет записан в файл debug.log" +msgstr "Отчет записан в файл debug.log " #: src/debug_menu.cpp msgid " and to the clipboard." @@ -209543,10 +216482,12 @@ msgstr "Сперва выучите какие-нибудь заклинания msgid "Spell" msgstr "Заклинание" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "LVL" msgstr "ЛВЛ" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "MAX" msgstr "МАКС" @@ -209571,7 +216512,7 @@ msgid "Please wait as the map generates [ 0%% ]" msgstr "Пожалуйста, подождите, создаётся карта [ 0%% ]" #: src/defense.cpp -msgid "A caravan approaches! Press spacebar..." +msgid "A caravan approaches! Press spacebar…" msgstr "Караван прибыл! Нажмите пробел…" #: src/defense.cpp @@ -209934,8 +216875,8 @@ msgstr "%s из Ада!" #: src/defense.cpp #, c-format -msgid "Beware! %s!" -msgstr "Опасайтесь номера %s!" +msgid "Beware! %s!" +msgstr "Берегитесь! %s!" #: src/defense.cpp #, c-format @@ -210132,7 +217073,7 @@ msgstr "ловушка: %s (%d)" #: src/editmap.cpp src/game.cpp #, c-format -msgid "There is a %s there. Parts:" +msgid "There is a %s there. Parts:" msgstr "Здесь %s. Части:" #: src/editmap.cpp @@ -210386,8 +217327,8 @@ msgstr "Штамп генерации карт" #: src/effect.cpp msgid "" -"The scariest thing in the world would be... if all the air in the world " -"turned to WOOD!" +"The scariest thing in the world would be… if all the air in the world turned" +" to WOOD!" msgstr "Самое страшное… если бы весь воздух в мире превратился в ДРЕВЕСИНУ!" #: src/effect.cpp @@ -210404,8 +217345,8 @@ msgid "Science is a liar sometimes." msgstr "Наука иногда лжёт." #: src/effect.cpp -msgid "Science is... wait, what was I talking about again?" -msgstr "Наука это… погодите, о чём я говорил?" +msgid "Science is… wait, what was I talking about again?" +msgstr "Наука это… погодите-ка, о чём это я говорил?" #: src/effect.cpp msgid "" @@ -210428,9 +217369,9 @@ msgid "She was a hip, hip, hip lady, man." msgstr "Она была хип, хип, хип-леди, чувак." #: src/effect.cpp -msgid "You ever see the back of a twenty dollar bill... on weed?" +msgid "You ever see the back of a twenty dollar bill… on weed?" msgstr "" -"Когда-нибудь смотрел на обратную сторону двадцати баксов... накурившись?" +"Когда-нибудь смотрел на обратную сторону двадцати баксов… накурившись?" #: src/effect.cpp msgid "" @@ -210445,17 +217386,17 @@ msgid "RED TEAM GO, RED TEAM GO!" msgstr "КРАСНЫЕ ВПЕРЁД, КРАСНЫЕ ВПЕРЁД!" #: src/effect.cpp -msgid "You have a sudden urge to flip your bible open to Genesis 1:29..." -msgstr "Внезапно вам хочется открыть Библию на Книге Бытия 1:29…" +msgid "You have a sudden urge to flip your bible open to Genesis 1:29…" +msgstr "Внезапно вам хочется открыть Библию на Книге Бытия, завет 1:29…" #: src/effect.cpp -msgid "That rug really tied the room together..." +msgid "That rug really tied the room together…" msgstr "Этот ковёр действительно украшает комнату…" #: src/effect.cpp -msgid "I used to do drugs... I still do, but I used to, too." +msgid "I used to do drugs… I still do, but I used to, too." msgstr "" -"Когда-то я упарывался наркотой... Я и сейчас упарываюсь, но и раньше тоже." +"Когда-то я упарывался наркотой… Я и сейчас упарываюсь, но и раньше тоже." #: src/effect.cpp msgid "The herb reveals you to yourself." @@ -210463,19 +217404,19 @@ msgstr "Трава раскрывает вам самого себя." #: src/effect.cpp msgid "" -"Okay, like, the scariest thing in the world would be... if like you went to " +"Okay, like, the scariest thing in the world would be… if like you went to " "grab something and it wasn't there!" msgstr "" -"Ладно, самым страшным было бы… если бы ты хотел схватить что-то, а его там " -"не не было!" +"Ладно, самым страшным было бы… если бы ты хотел схватить что-то, а этого там" +" не не было!" #: src/effect.cpp msgid "They call them fingers, but I never see them fing." msgstr "Они называются пальцы, но я не видел, чтоб из них палили." #: src/effect.cpp -msgid "... oh, there they go." -msgstr "… ох, а вот и они." +msgid "…oh, there they go." +msgstr "…ох, а вот и они." #: src/effect.cpp msgid "" @@ -210515,7 +217456,7 @@ msgid "Oh, sometimes the early-mid-late-early-morning." msgstr "Ох, иногда в ранне-средне-поздно-ранее утро." #: src/effect.cpp -msgid "...But never at dusk." +msgid "…But never at dusk." msgstr "…Но никогда в сумерках." #: src/effect.cpp @@ -210527,12 +217468,12 @@ msgid "Man, a cheeseburger sounds SO awesome right now." msgstr "Блин, прям щас бы ОЧЕНЬ не помешал чизбургер." #: src/effect.cpp -msgid "Eh... maybe not." -msgstr "Оу… может нет." +msgid "Eh… maybe not." +msgstr "Оу… Может нет." #: src/effect.cpp -msgid "I guess, maybe, without the cheese... yeah." -msgstr "Я думаю, может быть, без сыра… да." +msgid "I guess, maybe, without the cheese… yeah." +msgstr "Я думаю, может быть, без сыра… Да." #: src/effect.cpp msgid "Walkin' down the hall, by myself, smokin' a j with fifty elves." @@ -210688,6 +217629,10 @@ msgstr "прекрасно" msgid "perfect" msgstr "идеально" +#: src/explosion.cpp +msgid "force of the explosion" +msgstr "сила взрыва" + #: src/explosion.cpp msgid "You're caught in the explosion!" msgstr "Вас накрыло взрывом!" @@ -211045,21 +217990,21 @@ msgid "Press enter to rename this camp" msgstr "Нажмите Enter, чтобы переименовать этот лагерь" #: src/faction.cpp -msgid "Direction : to the " +msgid "Direction: to the " msgstr "Направление: " #: src/faction.cpp #, c-format -msgid "Location : (%d, %d)" +msgid "Location: (%d, %d)" msgstr "Местонахождение: (%d, %d)" #: src/faction.cpp #, c-format -msgid "Food Supply : %s %d calories" -msgstr "Запас еды : %s %d калорий" +msgid "Food Supply: %s %d calories" +msgstr "Запас еды: %s %d калорий" #: src/faction.cpp -msgid "Next Upgrade : " +msgid "Next Upgrade: " msgstr "Следующее улучшение: " #: src/faction.cpp @@ -211072,58 +218017,58 @@ msgid "Press enter to talk to this follower " msgstr "Нажмите Enter, чтобы поговорить с этим персонажем " #: src/faction.cpp -msgid "travelling to : " -msgstr "в пути к :" +msgid "travelling to: " +msgstr "на пути к: " #: src/faction.cpp #, c-format -msgid "travelling to : (%d, %d)" -msgstr "в пути к : (%d, %d)" +msgid "travelling to: (%d, %d)" +msgstr "в пути к: (%d, %d)" #: src/faction.cpp -msgid "Current Mission : " -msgstr "Текущее задание : " +msgid "Current Mission: " +msgstr "Текущее задание: " #: src/faction.cpp -msgid "Direction : Nearby" +msgid "Direction: Nearby" msgstr "Направление: поблизости" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d), at camp: %s" +msgid "Location: (%d, %d), at camp: %s" msgstr "Местонахождение: (%d, %d), в лагере: %s" #: src/faction.cpp msgid "Not interactable while on a mission" -msgstr "" +msgstr "Недоступно во время задания" #: src/faction.cpp msgid "Within radio range" -msgstr "" +msgstr "В пределах радиуса действия" #: src/faction.cpp msgid "Not within radio range" -msgstr "" +msgstr "Не в пределах радиуса действия" #: src/faction.cpp msgid "You do not have a radio" -msgstr "" +msgstr "У вас нет рации" #: src/faction.cpp msgid "Follower does not have a radio" -msgstr "" +msgstr "У ваших спутников нет рации" #: src/faction.cpp msgid "Both you and follower need a radio" -msgstr "" +msgstr "Вам и вашему спутнику нужна рация" #: src/faction.cpp msgid "Within interaction range" -msgstr "" +msgstr "В пределах радиуса взаимодействия" #: src/faction.cpp -msgid "Status : " -msgstr "Статус: " +msgid "Status: " +msgstr "Состояние: " #: src/faction.cpp msgid "In Combat!" @@ -211146,7 +218091,11 @@ msgid "Guarding" msgstr "На страже" #: src/faction.cpp -msgid "Condition : " +msgid "Basecamp job: " +msgstr "Работа в лагере: " + +#: src/faction.cpp +msgid "Condition: " msgstr "Состояние: " #: src/faction.cpp @@ -211155,29 +218104,29 @@ msgid "Nominal" msgstr "" #: src/faction.cpp -msgid "Hunger : " +msgid "Hunger: " msgstr "Голод: " #: src/faction.cpp -msgid "Thirst : " +msgid "Thirst: " msgstr "Жажда: " #: src/faction.cpp -msgid "Fatigue : " +msgid "Fatigue: " msgstr "Усталость: " -#: src/faction.cpp -msgid "Wielding : " +#: src/faction.cpp src/player.cpp +msgid "Wielding: " msgstr "В руках: " #: src/faction.cpp -msgid "Best other skills : " +msgid "Best other skills: " msgstr "Лучшие прочие навыки: " #: src/faction.cpp #, c-format -msgid "Best combat skill : %s : %d" -msgstr "Лучший боевой навык: %s :%d" +msgid "Best combat skill: %s: %d" +msgstr "Лучший боевой навык: %s : %d" #: src/faction.cpp msgid "YOUR FACTION" @@ -211201,7 +218150,7 @@ msgstr "У вас нет последователей" #: src/faction.cpp msgid "You don't know of any factions." -msgstr "" +msgstr "Вы не знаете ни одной фракции." #: src/faction_camp.cpp msgid "Upgrade camp" @@ -211216,25 +218165,33 @@ msgid "Recover Ally from Upgrading" msgstr "Снять компаньона с улучшения" #: src/faction_camp.cpp -msgid "Busy crafting!\n" -msgstr "Занят на производстве!\n" +msgid "Emergency Recall" +msgstr "Аварийный отзыв" + +#: src/faction_camp.cpp +msgid "Lost in the ether!\n" +msgstr "Потерян в эфире!\n" #: src/faction_camp.cpp msgid "Craft Item" msgstr "Изготовить предмет" #: src/faction_camp.cpp -msgid " (Finish) Crafting" -msgstr " (Закончить) Создание предметов" +msgid "Busy crafting!\n" +msgstr "Занят на производстве!\n" #: src/faction_camp.cpp -msgid "Busy travelling!\n" -msgstr "В пути!\n" +msgid " (Finish) Crafting" +msgstr " (Закончить) Создание предметов" #: src/faction_camp.cpp msgid "Travelling" msgstr "В пути" +#: src/faction_camp.cpp +msgid "Busy travelling!\n" +msgstr "В пути!\n" + #: src/faction_camp.cpp msgid "Recall ally from travelling" msgstr "Отозвать компаньона с путешествия" @@ -211268,7 +218225,7 @@ msgid "Menial Labor" msgstr "Черновая работа" #: src/faction_camp.cpp -msgid "Performing menial labor...\n" +msgid "Performing menial labor…\n" msgstr "Выполняет черновую работу…\n" #: src/faction_camp.cpp @@ -211280,8 +218237,8 @@ msgid "Expand Base" msgstr "Расширить базу" #: src/faction_camp.cpp -msgid "Surveying for expansion...\n" -msgstr "Обследует местность под расширение…\n" +msgid "Surveying for expansion…\n" +msgstr "Обследует местность для расширения…\n" #: src/faction_camp.cpp msgid "Recover Surveyor" @@ -211292,7 +218249,7 @@ msgid "Cut Logs" msgstr "Валить лес" #: src/faction_camp.cpp -msgid "Cutting logs in the woods...\n" +msgid "Cutting logs in the woods…\n" msgstr "Валит лес…\n" #: src/faction_camp.cpp @@ -211304,21 +218261,21 @@ msgid "Clear a forest" msgstr "Расчистить лес" #: src/faction_camp.cpp -msgid "Clearing a forest...\n" +msgid "Clearing a forest…\n" msgstr "Расчистка леса…\n" #: src/faction_camp.cpp msgid "Recover Clearcutter" msgstr "Снять лесоруба" -#: src/faction_camp.cpp -msgid "Setting up a hide site...\n" -msgstr "Устанавливает укрытие…\n" - #: src/faction_camp.cpp msgid "Setup Hide Site" msgstr "Установить укрытие" +#: src/faction_camp.cpp +msgid "Setting up a hide site…\n" +msgstr "Устанавливает укрытие…\n" + #: src/faction_camp.cpp msgid "Recover Hide Setup" msgstr "Снять укрытие" @@ -211328,8 +218285,8 @@ msgid "Relay Hide Site" msgstr "Сменить укрытие" #: src/faction_camp.cpp -msgid "Transferring gear to a hide site...\n" -msgstr "Переноска снаряжения в укрытие…\n" +msgid "Transferring gear to a hide site…\n" +msgstr "Переносит снаряжение в укрытие…\n" #: src/faction_camp.cpp msgid "Recover Hide Relay" @@ -211376,7 +218333,7 @@ msgid "Construct Map Fortifications" msgstr "Построить укрепления на карте" #: src/faction_camp.cpp -msgid "Constructing fortifications...\n" +msgid "Constructing fortifications…\n" msgstr "Строит укрепления…\n" #: src/faction_camp.cpp @@ -211436,8 +218393,8 @@ msgid " Chop Shop" msgstr " Разобрать транспорт" #: src/faction_camp.cpp -msgid "Working at the chop shop...\n" -msgstr "Работает над разборкой…\n" +msgid "Working at the chop shop…\n" +msgstr "Разделывает…\n" #: src/faction_camp.cpp msgid " (Finish) Chop Shop" @@ -211522,7 +218479,7 @@ msgstr " осталось]\n" #: src/faction_camp.cpp src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "Do you wish to bring your allies back into your party?" msgstr "" "\n" @@ -211530,7 +218487,7 @@ msgstr "" "Вы хотите вернуть назад компаньонов в вашу группу?" #: src/faction_camp.cpp -msgid "You choose to wait..." +msgid "You choose to wait…" msgstr "Вы решили подождать…" #: src/faction_camp.cpp @@ -211548,7 +218505,7 @@ msgstr "Вы находитесь слишком близко от другог #: src/faction_camp.cpp msgid "" "Warning, you have selected a region with the following issues:\n" -" \n" +"\n" msgstr "" "Внимание, вы выбрали регион со следующими проблемами:\n" " \n" @@ -211568,11 +218525,11 @@ msgstr "Здесь мало полей. Вести сельское хозяйс #: src/faction_camp.cpp #, c-format msgid "" -"%s \n" -"Are you sure you wish to continue? " +"%s\n" +"Are you sure you wish to continue?" msgstr "" "%s \n" -"Вы уверены, что хотите продолжить? " +"Вы уверены, что хотите продолжить?" #: src/faction_camp.cpp #, c-format @@ -211592,14 +218549,22 @@ msgstr ", управляющий лагерем" msgid "%s has abandoned the camp." msgstr "%s забрасывает лагерь." +#: src/faction_camp.cpp +msgid " Expansion" +msgstr "Расширение" + +#: src/faction_camp.cpp +msgid "Recover Ally, " +msgstr "Снять компаньона, " + #: src/faction_camp.cpp #, c-format msgid "" -"Notes: \n" +"Notes:\n" "Send a companion to gather materials for the next camp upgrade.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "%s\n" "Risk: Very Low\n" @@ -211607,86 +218572,29 @@ msgid "" "Positions: %d/3\n" msgstr "" "Примечание: \n" -"Отправить компаньона собирать материалы для следующего улучшения лагеря.\n" +"Отправить компаньона собирать материалы для улучшения лагеря.\n" " \n" "Используемый навык: выживание\n" "Сложность: Н/Д \n" "Возможная добыча:\n" "%s\n" "Риск: Очень низкий\n" -"Время: 3 часа, Повторяемо\n" +"Время: 3 часа, повторяемо\n" "Занято: %d/3\n" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" -"Effects:\n" -"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" -" \n" -"Must have enjoyability >= -6\n" -"Perishable food liquidated at penalty depending on upgrades and rot time:\n" -"> Rotten: 0%%\n" -"> Rots in < 2 days: 60%%\n" -"> Rots in < 5 days: 80%%\n" -" \n" -"Total faction food stock: %d kcal\n" -"or %d day's rations" -msgstr "" -"Примечание:\n" -"Распределить еду среди всех ваших компаньонов и заполнить кладовые. Положите распределяемую еду в зону еды. Требуется зона еды, зона неотсортированных предметов и хотя бы одна зона распределения предметов, иначе вам придётся создать их с помощью менеджера зон.\n" -" Эффекты:\n" -"> Увеличивает ваши запасы еды, которые в свою очередь, используются для оплаты труда рабочим.\n" -" \n" -"Должна иметь удовольствие >= -6\n" -"Скоропортящаяся еда считается со штрафом в зависимости от улучшений лагеря и скорости гниения:\n" -"> Гнилое: 0%%\n" -"> Сгниёт через < 2 дня: 60%%\n" -"> Сгниёт через < 5 дней: 80%%\n" -" \n" -"Запас продуктов питания: %d ккал\n" -" или %d дневных рационов." - -#: src/faction_camp.cpp -msgid "Distribute Food" -msgstr "Распределить еду" - -#: src/faction_camp.cpp -msgid "" -"Notes:\n" -"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" -" \n" -"Effects:\n" -"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" -"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" -"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." -msgstr "" -"Примечание:\n" -"Сбросить зоны, куда сортируются предметы при [ Черновой работе ].\n" -"\n" -"Эффекты:\n" -"> Прикрепите зоны сортировки при помощи менеджера зон. Необходимы зона еды, зона неотсортированных предметов и хотя бы одна зона назначения сортировки.\n" -"> Будут отсортированы только предметы в зоне неотсортированных предметов.\n" -"Предметы без зоны назначения будут отсортированы как обычно путём автоматической сортировки." - -#: src/faction_camp.cpp -msgid "Reset Sort Points" -msgstr "Сбросить точки сортировки предметов" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to gather light brush and heavy sticks.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "> heavy sticks\n" "> withered plants\n" "> splintered wood\n" -" \n" +"\n" "Risk: Very Low\n" "Time: 3 Hours, Repeated\n" "Positions: %d/3\n" @@ -211710,9 +218618,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to do low level chores and sort supplies.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Effects:\n" "> Material left in the unsorted loot zone will be sorted into a defined loot zone.\n" "\n" @@ -211732,44 +218640,14 @@ msgstr "" "Время: 3 часа\n" "Занято: %d/1\n" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" -" \n" -"Skill used: N/A \n" -"Effects:\n" -"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal. \n" -" \n" -"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window. \n" -" \n" -"Risk: None\n" -"Time: 3 Hours \n" -"Positions: %d/1\n" -msgstr "" -"Примечание:\n" -"Ваш лагерь достаточно вырос и может расшириться. Расширения открывают новые возможности, однако требуют много времени и ресурсов. Выбирайте расширения осмотрительно, каждый лагерь можно расширить только 8 раз.\n" -" \n" -"Используемый навык: Н/Д\n" -"Эффекты:\n" -"> Выберите любое из доступных расширений. Всегда разумно начать с фермы, поскольку еда требуется для выполнения задач, а для работы фермы многого не нужно. С приложением некоторых усилий в гараже можно быстро разбирать большие автомобили на запчасти, а кузница позволяет производить уголь. \n" -"\n" -"ВНИМАНИЕ: Действия, доступные в расширениях, расположены в отдельных вкладках окна Управляющего Лагерем. \n" -"\n" -" \n" -"Риск: Нет\n" -"Время: 3 часа\n" -"Занято: %d/1\n" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to a nearby forest to cut logs.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 50%% of trees/trunks at the forest position will be cut down.\n" "> 100%% of total material will be brought back.\n" @@ -211789,7 +218667,7 @@ msgstr "" "> 100%% добытого материала будет доставлено в лагерь.\n" "> Повторяемые операции уменьшают количество добытых ресурсов.\n" "> Постепенно превращает леса в поля.\n" -" Риск: Отсутствует\n" +" Риск: отсутствует\n" "Время: 6 часов + Путешествие + Время рубки\n" "Занято: %d/1\n" @@ -211798,15 +218676,15 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to a clear a nearby forest.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 95%% of trees/trunks at the forest position will be cut down.\n" "> 0%% of total material will be brought back.\n" "> Forest should become a field tile.\n" "> Useful for clearing land for another faction camp.\n" -" \n" +"\n" "Risk: None\n" "Time: 6 Hour Base + Travel Time + Cutting Time\n" "Positions: %d/1\n" @@ -211830,14 +218708,14 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to build an improvised shelter and stock it with equipment at a distant map location.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Good for setting up resupply or contingency points.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 6 Hour Construction + Travel\n" "Positions: %d/1\n" @@ -211861,14 +218739,14 @@ msgstr "" msgid "" "Notes:\n" "Push gear out to a hide site or bring gear back from one.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 1\n" "Effects:\n" "> Good for returning equipment you left in the hide site shelter.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward or back.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 1 Hour Base + Travel\n" "Positions: %d/1\n" @@ -211892,9 +218770,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to forage for edible plants.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Foraging Possibilities:\n" "> wild vegetables\n" "> fruits and nuts depending on season\n" @@ -211921,9 +218799,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to set traps for small game.\n" -" \n" +"\n" "Skill used: trapping\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Trapping Possibilities:\n" "> small and tiny animal corpses\n" "May produce less food than consumed!\n" @@ -211949,9 +218827,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to hunt large animals.\n" -" \n" +"\n" "Skill used: marksmanship\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Hunting Possibilities:\n" "> small, medium, or large animal corpses\n" "May produce less food than consumed!\n" @@ -211981,14 +218859,14 @@ msgstr "Построить шипованную траншею" msgid "" "Notes:\n" "Send a companion out into the great unknown. High survival skills are needed to avoid combat but you should expect an encounter or two.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Select checkpoints to customize path.\n" "> Reveals terrain around the path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: High\n" "Time: Travel\n" "Positions: %d/3\n" @@ -212012,14 +218890,14 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to purge the wasteland. Their goal is to kill anything hostile they encounter and return when their wounds are too great or the odds are stacked against them.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 4\n" "Effects:\n" "> Pulls creatures encountered into combat instead of fleeing.\n" "> Select checkpoints to customize path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: Very High\n" "Time: Travel\n" "Positions: %d/3\n" @@ -212038,45 +218916,26 @@ msgstr "" "Время: Путешествие\n" "Занято: %d/3\n" -#: src/faction_camp.cpp -msgid " Expansion" -msgstr "Расширение" - -#: src/faction_camp.cpp -msgid "Recover Ally, " -msgstr "Снять компаньона, " - #: src/faction_camp.cpp msgid "" "Notes:\n" "Have a companion attempt to completely dissemble a vehicle into components.\n" -" \n" +"\n" "Skill used: mechanics\n" "Difficulty: 2 \n" "Effects:\n" "> Removed parts placed on the furniture in the garage.\n" "> Skill plays a huge role to determine what is salvaged.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 days \n" msgstr "" -"Примечание:\n" -"Отправьте компаньона полностью разобрать транспорт на запчасти.\n" -" \n" -"Используемый навык: механика\n" -"Сложность: 2\n" -"Эффекты:\n" -"> Снятые запчасти помещаются в мебели в гараже.\n" -"> От навыка сильно зависит, какие запчасти удастся получить.\n" -" \n" -"Риск: Нет\n" -"Время: 5 дней\n" #: src/faction_camp.cpp msgid "" "Notes:\n" "Plow any spaces that have reverted to dirt or grass.\n" -" \n" +"\n" msgstr "" "Примечание:\n" "Пахать любые участки, которые снова превратились в грязь или заросли травой.\n" @@ -212084,19 +218943,19 @@ msgstr "" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: fabrication\n" "Difficulty: N/A \n" "Effects:\n" "> Restores only the plots created in the last expansion upgrade.\n" "> Does not damage existing crops.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 Min / Plot \n" "Positions: 0/1 \n" msgstr "" "\n" -" \n" +"\n" "Используемый навык: производство\n" "Сложность: Н/Д\n" "Эффекты:\n" @@ -212111,7 +218970,7 @@ msgstr "" msgid "" "Notes:\n" "Plant designated seeds in the spaces that have already been tilled.\n" -" \n" +"\n" msgstr "" "Примечание:\n" "Сажайте семена в местах, которые уже были вспаханы.\n" @@ -212120,36 +218979,24 @@ msgstr "" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Choose which seed type or all of your seeds.\n" "> Stops when out of seeds or planting locations.\n" "> Will plant in ALL dirt mounds in the expansion.\n" -" \n" +"\n" "Risk: None\n" "Time: 1 Min / Plot \n" "Positions: 0/1 \n" msgstr "" -"\n" -" \n" -"Используемый навык: выживание\n" -"Сложность: Н/Д\n" -"Эффекты:\n" -"> Выбирайте тип семян или все ваши семена.\n" -"> Останавливается, когда заканчиваются семена или участки под посадку.\n" -"> Будет сажать во ВСЕХ вспаханных участках в пределах расширения.\n" -" \n" -"Риск: Отсутствует\n" -"Время: 1 минута / участок\n" -"Занято: 0/1\n" #: src/faction_camp.cpp msgid "" "Notes:\n" "Harvest any plants that are ripe and bring the produce back.\n" -" \n" +"\n" msgstr "" "Примечание:\n" "Собирайте созревший урожай и приносите его обратно в лагерь.\n" @@ -212158,85 +219005,202 @@ msgstr "" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Will dump all harvesting products onto your location.\n" -" \n" +"\n" "Risk: None\n" "Time: 3 Min / Plot \n" "Positions: 0/1 \n" msgstr "" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" +"\n" +"Skill used: N/A\n" +"Effects:\n" +"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal.\n" "\n" +"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window.\n" +"\n" +"Risk: None\n" +"Time: 3 Hours\n" +"Positions: %d/1\n" +msgstr "" +"Примечание:\n" +"Ваш лагерь достаточно вырос и может расшириться. Расширения открывают новые возможности, однако требуют много времени и ресурсов. Выбирайте расширения осмотрительно, каждый лагерь можно расширить только 8 раз.\n" " \n" -"Используемый навык: выживание\n" +"Используемый навык: производство\n" "Сложность: Н/Д\n" "Эффекты:\n" -"> В эту локацию будет собираться весь урожай.\n" +"> Выберите любое из доступных расширений. Всегда разумно начать с фермы, поскольку еда требуется для выполнения задач, а для работы фермы многого не нужно. С приложением некоторых усилий в гараже можно быстро разбирать большие автомобили на запчасти, а кузница позволяет производить уголь. \n" +"\n" +"ВНИМАНИЕ: Действия, доступные в расширениях, расположены в отдельных вкладках окна Управляющего Лагерем. \n" +"\n" +"Риск: Нет\n" +"Время: 3 часа\n" +"Расстояние: %d/1\n" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" +"Effects:\n" +"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" +"\n" +"Must have enjoyability >= -6\n" +"Perishable food liquidated at penalty depending on upgrades and rot time:\n" +"> Rotten: 0%%\n" +"> Rots in < 2 days: 60%%\n" +"> Rots in < 5 days: 80%%\n" +"\n" +"Total faction food stock: %d kcal\n" +"or %d day's rations" +msgstr "" +"Примечание:\n" +"Распределить еду среди всех ваших компаньонов и заполнить кладовые. Положите распределяемую еду в зону еды. Требуется зона еды, зона неотсортированных предметов и хотя бы одна зона распределения предметов, иначе вам придётся создать их с помощью менеджера зон.\n" +" Эффекты:\n" +"> Увеличивает ваши запасы еды, которые в свою очередь, используются для оплаты труда рабочим.\n" " \n" -"Риск: Отсутствует\n" -"Время: 3 минуты / участок\n" -"Занято: 0/1\n" +"Должны иметь удовольствие >= -6\n" +"Скоропортящаяся еда считается со штрафом в зависимости от улучшений лагеря и скорости гниения:\n" +"> Гнилое: 0%%\n" +"> Сгниёт через < 2 дня: 60%%\n" +"> Сгниёт через < 5 дней: 80%%\n" +" \n" +"Запас продуктов питания: %d ккал\n" +" или %d дневных рационов." #: src/faction_camp.cpp -msgid "departs to search for materials..." +msgid "Distribute Food" +msgstr "Распределить еду" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" +"\n" +"Effects:\n" +"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" +"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" +"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." +msgstr "" +"Примечание:\n" +"Сбросить зоны, куда сортируются предметы при [ Черновой работе ].\n" +"\n" +"Эффекты:\n" +"> Назначьте зоны сортировки при помощи менеджера зон. Необходимы зона еды, зона неотсортированных предметов и хотя бы одна зона назначения сортировки.\n" +"> Будут отсортированы только предметы в зоне неотсортированных предметов.\n" +"Предметы без зоны назначения будут отсортированы как обычно путём автоматической сортировки." + +#: src/faction_camp.cpp +msgid "Reset Sort Points" +msgstr "Сбросить точки сортировки предметов" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Assign repeating job duties to NPCs stationed here.\n" +"Difficulty: N/A\n" +"Effects:\n" +"\n" +"\n" +"Risk: None\n" +"Time: Ongoing" +msgstr "" +"Примечания:\n" +"Назначить повторяющиеся должностные обязанности находящимся здесь людям.\n" +"Сложность: Н/Д\n" +"Последствия:\n" +"\n" +"\n" +"Риск: нет\n" +"Время: постоянно" + +#: src/faction_camp.cpp +msgid "Assign Jobs" +msgstr "Назначить задания" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Cancel a current mission and force the immediate return of a companion. No work will be done on the mission and all resources used on the mission will be lost.\n" +"\n" +"WARNING: All resources used on the mission will be lost and no work will be done. Only use this mission to recover a companion who cannot otherwise be recovered.\n" +"\n" +"Companions must be on missions for at least 24 hours before emergency recall becomes available." +msgstr "" +"Примечания:\n" +"Отменит текущую миссию и вынудит немедленное возвратиться компаньона. Никакая работа не будет выполнена, и все ресурсы, использованные в задании, будут потеряны.\n" +"\n" +"ВНИМАНИЕ: Все ресурсы, использованные в задании, будут потеряны, и никакая работа не будет выполнена. Используйте только для того, чтобы вернуть спутников, которые никак не могут вернуться.\n" +"\n" +"Компаньоны должны быть в миссиях по крайне мере 24 часа, прежде чем станет доступен экстренный отзыв." + +#: src/faction_camp.cpp +msgid "departs to survey land…" +msgstr "отправляется на обследование местности…" + +#: src/faction_camp.cpp +msgid "departs to search for materials…" msgstr "отправляется на поиск материалов…" #: src/faction_camp.cpp -msgid "departs to search for firewood..." +msgid "departs to search for firewood…" msgstr "отправляется на поиск дров…" #: src/faction_camp.cpp -msgid "returns from working in the woods..." +msgid "returns from working in the woods…" msgstr "возвращается с работы в лесу…" #: src/faction_camp.cpp -msgid "returns from working on the hide site..." +msgid "returns from working on the hide site…" msgstr "возвращается с работы по установке укрытия…" #: src/faction_camp.cpp -msgid "returns from shuttling gear between the hide site..." -msgstr "возвращается с переноски снаряжения между укрытиями…" +msgid "returns from shuttling gear between the hide site…" +msgstr "возвращается задания по переноске снаряжения между укрытиями…" #: src/faction_camp.cpp -msgid "departs to search for edible plants..." +msgid "departs to search for edible plants…" msgstr "отправляется на поиски съедобных растений…" #: src/faction_camp.cpp -msgid "departs to set traps for small animals..." -msgstr "отправляется устанавливать ловушки на мелких животных…" +msgid "departs to set traps for small animals…" +msgstr "отправляется ставить ловушки на мелких животных…" #: src/faction_camp.cpp -msgid "departs to hunt for meat..." +msgid "departs to hunt for meat…" msgstr "отправляется охотиться на крупных животных…" #: src/faction_camp.cpp -msgid "departs to search for recruits..." +msgid "departs to search for recruits…" msgstr "отправляется на поиски новобранцев…" #: src/faction_camp.cpp -msgid "departs to survey land..." -msgstr "отправляется на обследование местности…" - -#: src/faction_camp.cpp -msgid "returns to you with something..." +msgid "returns to you with something…" msgstr "возвращается к вам, неся кое-что…" #: src/faction_camp.cpp -msgid "returns from your farm with something..." +msgid "returns from your farm with something…" msgstr "возвращается с фермы, неся кое-что…" #: src/faction_camp.cpp -msgid "returns from your kitchen with something..." +msgid "returns from your kitchen with something…" msgstr "возвращается из кухни, неся кое-что…" #: src/faction_camp.cpp -msgid "returns from your blacksmith shop with something..." +msgid "returns from your blacksmith shop with something…" msgstr "возвращается из кузницы, неся кое-что…" #: src/faction_camp.cpp -msgid "returns from your garage..." +msgid "returns from your garage…" msgstr "возвращается из гаража…" #: src/faction_camp.cpp @@ -212244,13 +219208,30 @@ msgid "You don't have enough food stored to feed your companion." msgstr "Ваших запасов еды не хватает, чтобы накормить вашего компаньона." #: src/faction_camp.cpp -msgid "begins to upgrade the camp..." +msgid "begins to upgrade the camp…" msgstr "начинает улучшать лагерь…" #: src/faction_camp.cpp msgid "You don't have the materials for the upgrade." msgstr "Вам не хватает материалов для улучшения." +#: src/faction_camp.cpp +msgid "There are no npcs stationed here" +msgstr "Здесь нет НПС" + +#: src/faction_camp.cpp src/npc.cpp +msgid "No particular job" +msgstr "Нет конкретной работы" + +#: src/faction_camp.cpp +#, c-format +msgid "Press %s to change this workers job." +msgstr "Нажмите %s, чтобы сменить задание работнику." + +#: src/faction_camp.cpp +msgid "Assign which job?" +msgstr "Какое задание назначить?" + #: src/faction_camp.cpp #, c-format msgid "%s goes off to clean toilets and sort loot." @@ -212270,7 +219251,7 @@ msgstr "" "%s" #: src/faction_camp.cpp -msgid "departs to cut logs..." +msgid "departs to cut logs…" msgstr "отправляется валить лес…" #: src/faction_camp.cpp @@ -212278,7 +219259,7 @@ msgid "Forests are the only valid cutting locations." msgstr "Рубить деревья можно только в лесу." #: src/faction_camp.cpp -msgid "departs to clear a forest..." +msgid "departs to clear a forest…" msgstr "отправляется на расчистку леса…" #: src/faction_camp.cpp @@ -212290,11 +219271,11 @@ msgid "Do you wish to give your companion additional items?" msgstr "Хотите дать своему компаньону дополнительные предметы?" #: src/faction_camp.cpp -msgid "departs to build a hide site..." +msgid "departs to build a hide site…" msgstr "отправляется строить укрытие…" #: src/faction_camp.cpp -msgid "You need equipment to setup a hide site..." +msgid "You need equipment to setup a hide site…" msgstr "Вам нужно снаряжение для установки укрытия…" #: src/faction_camp.cpp @@ -212306,11 +219287,11 @@ msgid "Bring gear back?" msgstr "Вернуть снаряжение обратно?" #: src/faction_camp.cpp -msgid "departs for the hide site..." +msgid "departs for the hide site…" msgstr "отправляется к укрытию…" #: src/faction_camp.cpp -msgid "You need equipment to transport between the hide site..." +msgid "You need equipment to transport between the hide site…" msgstr "Вам нужно снаряжение для транспортировки между укрытиями…" #: src/faction_camp.cpp @@ -212340,7 +219321,7 @@ msgid "You don't have the material to build the fortification." msgstr "Вам не хватает материалов, чтобы построить укрепления." #: src/faction_camp.cpp -msgid "begins constructing fortifications..." +msgid "begins constructing fortifications…" msgstr "начинает строить укрепления…" #: src/faction_camp.cpp @@ -212352,7 +219333,7 @@ msgstr "" "дистанции. Либо же выберите последнюю точку ещё раз, чтобы закончить." #: src/faction_camp.cpp -msgid "departs on patrol..." +msgid "departs on patrol…" msgstr "отправляется в патруль…" #: src/faction_camp.cpp @@ -212369,19 +219350,19 @@ msgid "Your batch is too large!" msgstr "Серия слишком большая!" #: src/faction_camp.cpp -msgid "begins to work..." +msgid "begins to work…" msgstr "начинает работать…" #: src/faction_camp.cpp -msgid "+ more \n" -msgstr "+ дальше \n" +msgid "+ more\n" +msgstr "+ больше\n" #: src/faction_camp.cpp -msgid "begins to harvest the field..." +msgid "begins to harvest the field…" msgstr "начинает собирать урожай с поля…" #: src/faction_camp.cpp -msgid "You have no additional seeds to give your companions..." +msgid "You have no additional seeds to give your companions…" msgstr "У вас нет дополнительных семян, которые вы могли бы дать компаньонам…" #: src/faction_camp.cpp src/mission_companion.cpp @@ -212389,11 +219370,11 @@ msgid "Which seeds do you wish to have planted?" msgstr "Какие семена вы хотели бы посадить?" #: src/faction_camp.cpp -msgid "begins planting the field..." +msgid "begins planting the field…" msgstr "начинает высаживать поле…" #: src/faction_camp.cpp -msgid "begins plowing the field..." +msgid "begins plowing the field…" msgstr "начинает вскапывать поле…" #: src/faction_camp.cpp @@ -212406,24 +219387,28 @@ msgstr "" "%s" #: src/faction_camp.cpp -msgid "begins working in the garage..." +msgid "begins working in the garage…" msgstr "начинает работать в гараже…" #: src/faction_camp.cpp -msgid "Your companion seems disappointed that your pantry is empty..." +msgid "Your companion seems disappointed that your pantry is empty…" msgstr "Ваш компаньон выглядит разочарованным видом пустой кладовой…" +#: src/faction_camp.cpp +msgid "responds to the emergency recall…" +msgstr "реагирует на экстренный отзыв…" + #: src/faction_camp.cpp #, c-format msgid "%s failed to build the %s upgrade." msgstr "У %sне получилось улучшить %s." #: src/faction_camp.cpp -msgid "returns from upgrading the camp having earned a bit of experience..." +msgid "returns from upgrading the camp having earned a bit of experience…" msgstr "возвращается с работы по улучшению лагеря, получив немного опыта…" #: src/faction_camp.cpp -msgid "returns from doing the dirty work to keep the camp running..." +msgid "returns from doing the dirty work to keep the camp running…" msgstr "" "возвращается с грязной работы, благодаря которой в лагере всё идёт своим " "чередом…" @@ -212446,41 +219431,41 @@ msgstr "охота на крупных животных" #: src/faction_camp.cpp #, c-format -msgid "returns from %s carrying supplies and has a bit more experience..." +msgid "returns from %s carrying supplies and has a bit more experience…" msgstr "возвращается из %s вместе с припасами, получив немного опыта…" #: src/faction_camp.cpp -msgid "returns from constructing fortifications..." +msgid "returns from constructing fortifications…" msgstr "возвращается с постройки укреплений…" #: src/faction_camp.cpp -msgid "returns from searching for recruits with a bit more experience..." +msgid "returns from searching for recruits with a bit more experience…" msgstr "возвращается после поисков новобранцев, получив немного опыта…" #: src/faction_camp.cpp #, c-format -msgid "%s encountered %s..." +msgid "%s encountered %s…" msgstr "%s встречает %s…" #: src/faction_camp.cpp #, c-format -msgid "%s didn't find anyone to recruit..." +msgid "%s didn't find anyone to recruit…" msgstr "%s не нашёл никого, кто захотел бы присоединиться…" #: src/faction_camp.cpp #, c-format -msgid "%s convinced %s to hear a recruitment offer from you..." +msgid "%s convinced %s to hear a recruitment offer from you…" msgstr "%s убедил %s послушать ваше предложение о найме…" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested in anything %s had to offer..." +msgid "%s wasn't interested in anything %s had to offer…" msgstr "%s не заинтересовало ничто из того, что смог предложить %s…" #: src/faction_camp.cpp msgid "" "NPC Overview:\n" -" \n" +"\n" msgstr "" "Характеристики персонажа:\n" " \n" @@ -212488,11 +219473,11 @@ msgstr "" #: src/faction_camp.cpp #, c-format msgid "" -"Name: %20s\n" -" \n" +"Name: %s\n" +"\n" msgstr "" -"Имя: %20s\n" -" \n" +"Имя: %s\n" +"\n" #: src/faction_camp.cpp #, c-format @@ -212513,10 +219498,10 @@ msgstr "Интеллект: %10d\n" #, c-format msgid "" "Perception: %10d\n" -" \n" +"\n" msgstr "" "Восприятие: %10d\n" -" \n" +"\n" #: src/faction_camp.cpp msgid "Top 3 Skills:\n" @@ -212530,25 +219515,25 @@ msgstr "Требуется:\n" #, c-format msgid "" "> Food: %10d days\n" -" \n" +"\n" msgstr "" -"> Еда: %10d дней\n" +"> Еда: %10d дней\n" " \n" #: src/faction_camp.cpp #, c-format msgid "" "Faction Food:%9d days\n" -" \n" +"\n" msgstr "" -"Еда фракции: %9d дней\n" +"Еда фракции:%9d дней\n" " \n" #: src/faction_camp.cpp #, c-format msgid "" "Recruit Chance: %10d%%\n" -" \n" +"\n" msgstr "" "Шанс вербовки: %10d%%\n" " \n" @@ -212574,7 +219559,7 @@ msgid "Not Interested" msgstr "Не интересует" #: src/faction_camp.cpp -msgid "You decide you aren't interested..." +msgid "You decide you aren't interested…" msgstr "Вы решаете, что не заинтересованы…" #: src/faction_camp.cpp @@ -212584,28 +219569,27 @@ msgstr "%s соглашается присоединиться!" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested..." +msgid "%s wasn't interested…" msgstr "%s отказывается…" #: src/faction_camp.cpp -msgid "Your companion hit a river and didn't know how to swim..." +msgid "Your companion hit a river and didn't know how to swim…" msgstr "Ваш компаньон наткнулся на реку, но не умеет плавать…" #: src/faction_camp.cpp msgid "" -"Your companion hit a river and didn't know how to swim well enough to " -"cross..." +"Your companion hit a river and didn't know how to swim well enough to cross…" msgstr "" "Ваш компаньон наткнулся на реку, но не умеет плавать достаточно хорошо, " "чтобы её переплыть…" #: src/faction_camp.cpp #, c-format -msgid "%s didn't return from patrol..." +msgid "%s didn't return from patrol…" msgstr "%s не вернулся из патруля…" #: src/faction_camp.cpp -msgid "returns from patrol..." +msgid "returns from patrol…" msgstr "возвращается из патруля…" #: src/faction_camp.cpp @@ -212645,7 +219629,7 @@ msgid "returns from surveying for the expansion." msgstr "возвращается с обследования места под расширение." #: src/faction_camp.cpp -msgid "returns from working your fields... " +msgid "returns from working your fields…" msgstr "возвращается с работы в полях…" #: src/faction_camp.cpp @@ -212710,26 +219694,26 @@ msgstr ">Преодолено: %15d (м)\n" #: src/faction_camp.cpp #, c-format -msgid ">Travel: %23s\n" -msgstr ">Путешествует: %23s\n" +msgid ">Travel: %s\n" +msgstr ">Перемещение: %s\n" #: src/faction_camp.cpp #, c-format -msgid ">Working: %23s\n" -msgstr ">Работает: %23s\n" +msgid ">Working: %s\n" +msgstr ">Работа: %s\n" #: src/faction_camp.cpp #, c-format -msgid "Total: %23s\n" -msgstr "Всего: %23s\n" +msgid "Total: %s\n" +msgstr "Всего: %s\n" #: src/faction_camp.cpp #, c-format msgid "" "Food: %15d (kcal)\n" -" \n" +"\n" msgstr "" -"Еда: %15d (ккал)\n" +"Еда: %15d (ккал)\n" " \n" #: src/faction_camp.cpp @@ -212750,16 +219734,16 @@ msgstr "" msgid "" "Notes:\n" "Recruiting additional followers is very dangerous and expensive. The outcome is heavily dependent on the skill of the companion you send and the appeal of your base.\n" -" \n" +"\n" "Skill used: speech\n" -"Difficulty: 2 \n" +"Difficulty: 2\n" "Base Score: +%3d%%\n" "> Expansion Bonus: +%3d%%\n" "> Faction Bonus: +%3d%%\n" "> Special Bonus: +%3d%%\n" -" \n" +"\n" "Total: Skill +%3d%%\n" -" \n" +"\n" "Risk: High\n" "Time: 4 Days\n" "Positions: %d/1\n" @@ -212794,8 +219778,8 @@ msgstr "Необходимо вспахать: " #: src/faction_camp.cpp #, c-format -msgid "Name: %25s\n" -msgstr "Имя: %25s\n" +msgid "Name: %s\n" +msgstr "Имя: %s\n" #: src/faction_camp.cpp msgid "---- Engines ----\n" @@ -212803,8 +219787,8 @@ msgstr "---- Двигатели ----\n" #: src/faction_camp.cpp #, c-format -msgid "Engine: %25s\n" -msgstr "Двигатель: %25s\n" +msgid "Engine: %s\n" +msgstr "Двигатель:%s\n" #: src/faction_camp.cpp #, c-format @@ -212813,8 +219797,8 @@ msgstr ">Статус: %24d%%\n" #: src/faction_camp.cpp #, c-format -msgid ">Fuel: %25s\n" -msgstr ">Топливо: %25s\n" +msgid ">Fuel: %s\n" +msgstr ">Топливо: %s\n" #: src/faction_camp.cpp msgid "---- Fuel Storage & Battery ----\n" @@ -212825,11 +219809,11 @@ msgid "Estimated Chop Time: 5 Days\n" msgstr "Время до окончания разборки: 5 дней\n" #: src/faction_camp.cpp -msgid "You do not have a camp food zone. Aborting..." +msgid "You do not have a camp food zone. Aborting…" msgstr "У вас нет зоны еды. Отмена…" #: src/faction_camp.cpp -msgid "No items are located at the drop point..." +msgid "No items are located at the drop point…" msgstr "На точке сброса не найдено никаких предметов…" #: src/faction_camp.cpp @@ -212839,7 +219823,7 @@ msgstr "Вы распределяете еду ценностью %d ккал м #: src/faction_camp.cpp #, c-format -msgid "While %s, a silent specter approaches %s..." +msgid "While %s, a silent specter approaches %s…" msgstr "Пока %s, молчаливый призрак приблизился к %s…" #: src/faction_camp.cpp @@ -212875,7 +219859,7 @@ msgstr "%s не обнаружил засаду, пока не стало сли #: src/faction_camp.cpp #, c-format -msgid "The bull moose charged %s from the tree line..." +msgid "The bull moose charged %s from the tree line…" msgstr "Лось погнался за %s, выбежав из леса…" #: src/faction_camp.cpp @@ -212896,12 +219880,13 @@ msgstr "Бармаглот схватил %s за руку, напав со сп #, c-format msgid "" "Terrified, %s spun around and delivered a massive kick to the creature's " -"torso..." -msgstr "В ужасе %s оборачивается и наносит сильный удар по туловищу существа…" +"torso…" +msgstr "" +"В ужасе, %s оборачивается и наносит сильный удар по туловищу существа…" #: src/faction_camp.cpp #, c-format -msgid "Collapsing into a pile of gore, %s walked away unscathed..." +msgid "Collapsing into a pile of gore, %s walked away unscathed…" msgstr "Превратив существо в кучку мяса, %s уходит без единой царапины…" #: src/faction_camp.cpp @@ -212912,7 +219897,7 @@ msgstr "(Пахнет выдумкой, интересно, что же случ #, c-format msgid "" "%s turned to find the hideous black eyes of a giant wasp staring back from " -"only a few feet away..." +"only a few feet away…" msgstr "" "%s поворачивается и видит перед собой ужасные чёрные глаза гигантской осы, " "находящейся всего в нескольких метрах…" @@ -212927,7 +219912,7 @@ msgid "Pieces of %s were found strewn across a few bushes." msgstr "Куски %s валялись по всей округе." #: src/faction_camp.cpp -msgid "(You wonder if your companions are fit to work on their own...)" +msgid "(You wonder if your companions are fit to work on their own…)" msgstr "(Интересно, ваши компаньоны вообще способны за себя постоять?..)" #: src/fungal_effects.cpp src/iuse.cpp @@ -212961,8 +219946,8 @@ msgid "Loading core data" msgstr "Загрузка основных данных" #: src/game.cpp -msgid "Please wait while the world data loads..." -msgstr "Пожалуйста, подождите, загружаются данные по миру…" +msgid "Please wait while the world data loads…" +msgstr "Пожалуйста, подождите, загружаются данные мира…" #: src/game.cpp src/start_location.cpp msgid "Please wait as we build your world" @@ -212998,8 +219983,8 @@ msgstr "Удалять мир" #: src/game.cpp #, c-format -msgid "World retained. Characters remaining:%s" -msgstr "Мир не удалён. Оставшиеся персонажи: %s" +msgid "World retained. Characters remaining:%s" +msgstr "Мир сохранён. Оставшиеся персонажи:%s" #: src/game.cpp #, c-format @@ -213007,7 +219992,7 @@ msgid "The %s is dangerously close!" msgstr "%s опасно близко!" #: src/game.cpp -msgid "Wait till you wake up..." +msgid "Wait till you wake up…" msgstr "Ожидайте, пока ваш персонаж не проснётся…" #: src/game.cpp @@ -213183,7 +220168,7 @@ msgid "You are not wielding a ranged weapon." msgstr "У вас в руках нет оружия дальнего боя." #: src/game.cpp -msgid "Watch the last moments of your life...?" +msgid "Watch the last moments of your life…?" msgstr "Смотреть последние минуты вашей жизни?.." #: src/game.cpp @@ -213233,14 +220218,14 @@ msgid "Failed to save game data" msgstr "Не удалось сохранить данные игры" #: src/game.cpp -msgid " You are forgotten among the billions lost in the cataclysm..." +msgid " You are forgotten among the billions lost in the cataclysm…" msgstr " Вы оказались среди миллиардов других жертв Катаклизма…" #: src/game.cpp msgid "" " Locked in an endless battle, the Old Guard was forced to consolidate " "their resources in a handful of fortified bases along the coast. Without " -"the men or material to rebuild, the soldiers that remained lost all hope..." +"the men or material to rebuild, the soldiers that remained lost all hope…" msgstr "" " Связанная бесконечным сражением, Старая Гвардия была вынуждена " "сосредоточить свои силы в горстке укреплённых опорных пунктов вдоль " @@ -213255,7 +220240,7 @@ msgid "" "success. Forced to eventually consolidate to large bases, the Old Guard " "left these facilities in the hands of the few survivors that remained. As " "the years past, little materialized from the hopes of rebuilding " -"civilization..." +"civilization…" msgstr "" " Упорство некоторых выживальщиков после Катаклизма впечатлило разбросанные" " остатки когда-то славного союза. Под вдохновением от небольших успехов было" @@ -213270,7 +220255,7 @@ msgid "" " Life in the refugee shelter deteriorated as food shortages and disease " "destroyed any hope of maintaining a civilized enclave. The merchants and " "craftsmen dispersed to found new colonies but most became victims of " -"marauding bandits. Those who survived never found a place to call home..." +"marauding bandits. Those who survived never found a place to call home…" msgstr "" " Жизнь в центре беженцев осложнилась, нехватка еды и болезни уничтожили " "всякую надежду на поддержание очага цивилизации. Торговцы и ремесленники " @@ -213283,7 +220268,7 @@ msgid "" "once profitable trade routes were plundered by bandits and thugs. In " "squalor and filth the first generations born after the cataclysm are told " "stories of the old days when food was abundant and the children were allowed" -" to play in the sun..." +" to play in the sun…" msgstr "" " Свободные Торговцы несколько лет изо всех сил пытались прокормить себя, " "но их когда-то прибыльные торговые маршруты разграбили бандиты и головорезы." @@ -213322,7 +220307,7 @@ msgid "" " The lone bands of survivors who wandered the now alien world dwindled in" " number through the years. Unable to compete with the growing number of " "monstrosities that had adapted to live in their world, those who did survive" -" lived in dejected poverty and hopelessness..." +" lived in dejected poverty and hopelessness…" msgstr "" " Количество обособленных групп выживальщиков, скитавшихся по теперь " "чуждому для них миру, сократилось в течение нескольких лет. Те, кто выжил, " @@ -213336,7 +220321,7 @@ msgid "" "old world. Enormous hordes made cities impossible to enter while new " "eldritch horrors appeared mysteriously near old research labs. But on the " "fringes of where civilization once ended, bands of hunter-gatherers began to" -" adopt agrarian lifestyles in fortified enclaves..." +" adopt agrarian lifestyles in fortified enclaves…" msgstr "" " Добытчики, процветавшие в первые дни Катаклизма, столкнулись с " "нарастающей проблемой поисков и обслуживания оборудования из старого мира. " @@ -213368,7 +220353,7 @@ msgid "" "brought the warlords abundant territory and slaves but little in the way of " "stability. Within weeks, infighting led to civil war as tribes vied for " "leadership of the faction. When only one warlord finally secured control, " -"there was nothing left to fight for... just endless cities full of the dead." +"there was nothing left to fight for… just endless cities full of the dead." msgstr "" " Накачанные наркотиками и яростью, Адские Налётчики изо всех сил пытались" " уничтожить последние оплоты Старой Гвардии. Тяжёлые победы принесли " @@ -213559,15 +220544,6 @@ msgid "" msgstr "" "ВНИМАНИЕ: Тело пациента повреждено. Сложность процедуры увеличивается на %s." -#: src/game.cpp -#, c-format -msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " -"anyway?" -msgstr "" -"ВНИМАНИЕ: %i-процентный шанс тяжких телесных повреждений! Всё равно " -"продолжить?" - #: src/game.cpp msgid "Successfully removed Personality override." msgstr "Подавитель личности успешно удалён." @@ -213710,8 +220686,8 @@ msgid "Never mind" msgstr "Неважно" #: src/game.cpp src/npctalk.cpp -msgid "You may be attacked! Proceed?" -msgstr "На вас могут напасть! Продолжить?" +msgid "You may be attacked! Proceed?" +msgstr "На вас могут напасть! Продолжить?" #: src/game.cpp msgid "Examine where?" @@ -213909,12 +220885,12 @@ msgid "There's something there, but you can't see what it is." msgstr "Здесь что-то есть, но вы не видите, что именно." #: src/game.cpp -msgid "More items here..." +msgid "More items here…" msgstr "Ещё предметы…" #: src/game.cpp #, c-format -msgctxt "%s is the name of the item. %d is the quantity of that item." +msgctxt "%s is the name of the item. %d is the quantity of that item." msgid "%s [%d]" msgstr "%s [%d]" @@ -214255,8 +221231,8 @@ msgstr "У вас нет необходимых инструментов для #: src/game.cpp #, c-format -msgid "You see %s nearby! Start butchering anyway?" -msgstr "Вы видите, что поблизости находится %s! Всё равно начать разделку?" +msgid "You see %s nearby! Start butchering anyway?" +msgstr "Вы видите поблизости %s! Всё равно начать разделку?" #: src/game.cpp msgid "Choose corpse to butcher / item to disassemble" @@ -214296,7 +221272,7 @@ msgstr "" #: src/game.cpp src/iuse.cpp src/iuse.cpp src/iuse.cpp src/veh_interact.cpp #: src/veh_interact.cpp #, c-format -msgid "%s helps with this task..." +msgid "%s helps with this task…" msgstr "%s помогает в этом…" #: src/game.cpp @@ -214357,7 +221333,7 @@ msgstr "Вам требуется как минимум один %s, чтобы msgid "The %s is already full!" msgstr "%s уже полон!" -#: src/game.cpp +#: src/game.cpp src/ranged.cpp #, c-format msgid "You can't reload a %s!" msgstr "Вы не можете перезарядить %s!" @@ -214382,13 +221358,6 @@ msgstr "У вас нет ничего, что можно было бы разр msgid "You're not wielding anything." msgstr "Вы ничего не держите в руках." -#. ~ %1$s: weapon name, %2$s: holster name -#: src/game.cpp src/player.cpp -#, c-format -msgctxt "holster" -msgid "Draw %1$s from %2$s?" -msgstr "Достать %1$s из %2$s?" - #: src/game.cpp #, c-format msgid "There's an angry red dot on your body, %s to brush it off." @@ -214411,11 +221380,11 @@ msgstr " или %s, чтобы внести монстра в белый спи #: src/game.cpp #, c-format msgid "" -"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " +"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " "monster%4$s)" msgstr "" "Замечен %1$s — безопасный режим включён! %2$s, чтобы его отключить; %3$s, " -"чтобы проигнорировать монстра%4$s." +"чтобы проигнорировать монстра %4$s." #: src/game.cpp #, c-format @@ -214454,9 +221423,13 @@ msgstr "Уверены, что хотите зайти в %s?" msgid "Your %s refuses to move over that ledge!" msgstr "Ваш %s отказывается двигаться по этому выступу!" -#: src/game.cpp src/player.cpp src/player.cpp -msgid "You let go of the grabbed object." -msgstr "Вы отпускаете схваченный объект." +#: src/game.cpp +msgid "You can't fit there." +msgstr "Вы не поместитесь здесь." + +#: src/game.cpp +msgid "Your mount can't fit there." +msgstr "" #: src/game.cpp msgid "Can't find grabbed object." @@ -214620,9 +221593,13 @@ msgstr "" "Здесь находится управление транспортным средством, но верхом до него достать" " нельзя." +#: src/game.cpp +msgid "You are repelled by the barrier!" +msgstr "" + #: src/game.cpp msgid "" -"You try to quantum tunnel through the barrier but are reflected! Try again " +"You try to quantum tunnel through the barrier but are reflected! Try again " "with more energy!" msgstr "" "Вы попытались открыть квантовый туннель сквозь препятствие, но вас отразило!" @@ -214655,6 +221632,16 @@ msgstr "Вы напряглись, пытаясь сдвинуть %s!" msgid "There's stuff in the way." msgstr "На пути что-то лежит." +#: src/game.cpp +#, c-format +msgid "The %s is really heavy!" +msgstr "%s слишком тяжёлый!" + +#: src/game.cpp +#, c-format +msgid "You fail to move the %s." +msgstr "Вы не можете сдвинуть %s." + #: src/game.cpp #, c-format msgid "The %s is too heavy for you to budge." @@ -214713,7 +221700,7 @@ msgstr "Залезть в направлении %s" #: src/game.cpp #, c-format -msgid "You try to use the stairs. Suddenly you are blocked by a %s!" +msgid "You try to use the stairs. Suddenly you are blocked by a %s!" msgstr "Вы пытаетесь двигаться по лестнице, но %s вам не позволяет!" #: src/game.cpp @@ -214817,8 +221804,8 @@ msgid "Halfway down, the way down becomes blocked off." msgstr "На полпути вниз вы обнаруживаете, что путь заблокирован." #: src/game.cpp -msgid "There is a sheer drop halfway down. Web-descend?" -msgstr "На полпути вниз есть выступ. Слезть по паутине?" +msgid "There is a sheer drop halfway down. Web-descend?" +msgstr "На полпути вниз есть выступ. Слезть по паутине?" #: src/game.cpp msgid "" @@ -214837,7 +221824,7 @@ msgid "There is a sheer drop halfway down. Use your vines to descend?" msgstr "На полпути вниз есть выступ. Использовать лианы, чтобы спуститься?" #: src/game.cpp -msgid "Detach a vine? It'll hurt, but you'll be able to climb back up..." +msgid "Detach a vine? It'll hurt, but you'll be able to climb back up…" msgstr "" "Отделить лиану? Это будет больно, но вы сможете подняться обратно вверх…" @@ -214857,12 +221844,12 @@ msgstr "" "будущем." #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your grappling hook down?" -msgstr "На полпути вниз есть выступ. Слезть с помощью крюк-кошки?" +msgid "There is a sheer drop halfway down. Climb your grappling hook down?" +msgstr "На полпути вниз есть выступ. Слезть с помощью крюка-кошки?" #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your rope down?" -msgstr "На полпути вниз есть выступ. Спустить туда верёвку?" +msgid "There is a sheer drop halfway down. Climb your rope down?" +msgstr "На полпути вниз есть выступ. Спустить туда верёвку?" #: src/game.cpp msgid "There is a sheer drop halfway down. Jump?" @@ -214923,8 +221910,8 @@ msgstr "%s толкает вас назад!" #: src/game.cpp #, c-format -msgid "The %s tried to push you back but failed! It attacks you!" -msgstr "%s попытался столкнуть вас, но неудачно! Атакует!" +msgid "The %s tried to push you back but failed! It attacks you!" +msgstr "%s попытался оттолкнуть вас, но неудачно атаковал!" #: src/game.cpp #, c-format @@ -214952,34 +221939,34 @@ msgstr "Ещё нет сохранений для %s." #: src/game.cpp #, c-format msgid "" -"Whoa! Your terminal is tiny! This game requires a minimum terminal size of " -"%dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " +"Whoa! Your terminal is tiny! This game requires a minimum terminal size of" +" %dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " "help?" msgstr "" -"Стоп! Размер окна терминала слишком мал! Игра требует минимум %dx%d. Размера" -" терминала %dx%d недостаточно. Может, попробуете шрифт меньшего размера?" +"Стоп! Размер окна игры слишком мал! Игра требует минимум %dx%d. Размера окна" +" %dx%d недостаточно. Может, попробуете шрифт меньшего размера?" #: src/game.cpp #, c-format msgid "" -"Oh! Hey, look at that. Your terminal is just a little too narrow. This game " -"requires a minimum terminal size of %dx%d to function. It just won't work " -"with only %dx%d. Can you stretch it out sideways a bit?" +"Oh! Hey, look at that. Your terminal is just a little too narrow. This " +"game requires a minimum terminal size of %dx%d to function. It just won't " +"work with only %dx%d. Can you stretch it out sideways a bit?" msgstr "" -"Стоп! Окно терминала слишком узкое! Игра требует минимум %dx%d. Размер " -"терминала %dx%d не годится для игры. Может, попробуете его немного растянуть" -" вбок?" +"Ох! Смотри. Окно игры слишком узкое! Игра требует минимум %dx%d. Размер окна" +" %dx%d не годится для игры. Может, попробуете его немного растянуть по " +"горизонтали?" #: src/game.cpp #, c-format msgid "" -"Woah, woah, we're just a little short on space here. The game requires a " -"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " +"Woah, woah, we're just a little short on space here. The game requires a " +"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " "make the terminal just a smidgen taller?" msgstr "" -"Стоп! Окно терминала слишком маленькое. Игра требует для запуска минимум " -"%dx%d. Размера терминала %dx%d недостаточно. Может, попробуете увеличить его" -" высоту?" +"Стоп, стоп, у нас слишком мало места. Игра требует размер окна минимум " +"%dx%d. Размера %dx%d недостаточно для запуска. Может, попробуете увеличить " +"его высоту?" #: src/game.cpp msgid "" @@ -215065,7 +222052,7 @@ msgid "You feel thirsty." msgstr "Вам хочется пить." #: src/game.cpp -msgid "You feel an evil presence..." +msgid "You feel an evil presence…" msgstr "Вы чувствуете присутствие зла…" #: src/game.cpp @@ -215081,7 +222068,7 @@ msgid "You feel your genetic makeup degrading." msgstr "Ваше генетическое строение деградирует." #: src/game.cpp -msgid "You feel an otherworldly attention upon you..." +msgid "You feel an otherworldly attention upon you…" msgstr "Вы чувствуете потустороннее внимание к себе…" #: src/game.cpp @@ -215126,8 +222113,8 @@ msgstr "Вос %s%d! " #: src/game.cpp #, c-format -msgid "Speed %s%d! " -msgstr "Скорость %s%d! " +msgid "Speed %s%d!" +msgstr "Скорость %s%d!" #: src/game_inventory.cpp msgid "You don't have the necessary item at hand." @@ -215258,6 +222245,16 @@ msgstr "неопределенный" msgid "SHELF LIFE" msgstr "СРОК ГОДНОСТИ" +#. ~ Eat menu Volume: +#: src/game_inventory.cpp +#, c-format +msgid "%.2f%s" +msgstr "%.2f%s" + +#: src/game_inventory.cpp +msgid "VOLUME" +msgstr "ОБЪЁМ" + #: src/game_inventory.cpp msgid "FRESHNESS" msgstr "СВЕЖЕСТЬ" @@ -215266,10 +222263,6 @@ msgstr "СВЕЖЕСТЬ" msgid "SPOILS IN" msgstr "ИСПОРТИТСЯ" -#: src/game_inventory.cpp -msgid "Battery" -msgstr "Батарея" - #: src/game_inventory.cpp msgid "Reactor" msgstr "Реактор" @@ -215294,10 +222287,6 @@ msgstr "Невозможно выпить пролитые жидкости" msgid "Your biology is not compatible with that item." msgstr "Ваша биология несовместима с этим предметом." -#: src/game_inventory.cpp -msgid "You're fully charged" -msgstr "Ваша энергия на максимуме" - #: src/game_inventory.cpp #, c-format msgid "No space to store more %s" @@ -215575,10 +222564,10 @@ msgstr "Здесь нет предметов для сравнения." #: src/game_inventory.cpp msgid "" -"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE to" -" cancel." +"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE " +"to cancel." msgstr "" -"Введите новую букву. Нажмите SPACE для пустого значения, ESCAPE для отмены." +"Введите новую букву. Нажмите SPACE для пустого значения, ESC для отмены." #: src/game_inventory.cpp msgid "" @@ -215612,11 +222601,6 @@ msgstr "Доступно комплектов: %i" msgid "Available anesthetic: %i mL" msgstr "Доступно анестетика: %i мл" -#: src/game_inventory.cpp -#, c-format -msgid "Money available: %s" -msgstr "Доступные деньги: %s" - #: src/game_inventory.cpp #, c-format msgid "Bionic removal patient: %s" @@ -215742,6 +222726,14 @@ msgstr "НЕОБХОДИМА ВОДА" msgid "CBM is filthy. Wash it first." msgstr "КБМ грязный. Сперва вымойте его." +#: src/game_inventory.cpp +msgid "You should put this CBM in an autoclave pouch to keep it sterile." +msgstr "Вы должны поместить этот КБМ в автоклав для стерилизации." + +#: src/game_inventory.cpp +msgid "You need at least 2L of water." +msgstr "Вам нужны, как минимум, 2л воды." + #: src/game_inventory.cpp msgid "Sterilization" msgstr "Стерилизация" @@ -215856,7 +222848,7 @@ msgstr "%s сталкивается с %s." #: src/handle_action.cpp #, c-format -msgid "Press %s to accept your fate..." +msgid "Press %s to accept your fate…" msgstr "Нажмите %s, чтобы принять свою судьбу…" #: src/handle_action.cpp @@ -215869,17 +222861,17 @@ msgstr "звук столкновения с препятствием" #. ~ Sound of moving a remote controlled car #: src/handle_action.cpp -msgid "zzz..." -msgstr "жжж…" +msgid "zzz…" +msgstr "бззз…" #: src/handle_action.cpp -msgid "You can't drive the vehicle from here. You need controls!" +msgid "You can't drive the vehicle from here. You need controls!" msgstr "Здесь нет руля, чтобы управлять транспортом!" #: src/handle_action.cpp -msgid "Can't drive this vehicle remotely. It has no working controls." +msgid "Can't drive this vehicle remotely. It has no working controls." msgstr "" -"Этим автомобилем нельзя управлять дистанционно. У него нет руля управления." +"Этим автомобилем нельзя управлять дистанционно. У него нет блока управления." #: src/handle_action.cpp msgid "Open where?" @@ -215987,11 +222979,11 @@ msgid "There's nothing there to smash!" msgstr "Здесь нечего разбивать!" #: src/handle_action.cpp -msgid "You already have an alarm set. What do you want to do?" +msgid "You already have an alarm set. What do you want to do?" msgstr "У вас есть заведённый будильник. Что вы хотите сделать?" #: src/handle_action.cpp -msgid "You have an alarm clock. What do you want to do?" +msgid "You have an alarm clock. What do you want to do?" msgstr "У вас есть будильник. Что вы хотите сделать?" #: src/handle_action.cpp @@ -216115,14 +223107,14 @@ msgstr "Возможно, вы захотите отключить это пер #: src/handle_action.cpp msgid "" -"You're engorged to hibernate. The alarm would only attract attention. Set an" -" alarm anyway?" +"You're engorged to hibernate. The alarm would only attract attention. Set " +"an alarm anyway?" msgstr "" -"Вы погружены в спячку. Будильник будет только привлекать лишнее внимание. " -"Всё равно установить будильник?" +"Вы впали в спячку. Будильник будет только привлекать лишнее внимание. Всё " +"равно установить будильник?" #: src/handle_action.cpp -msgid "You have an alarm clock. Set an alarm?" +msgid "You have an alarm clock. Set an alarm?" msgstr "У вас есть будильник. Установить его?" #: src/handle_action.cpp @@ -216154,10 +223146,10 @@ msgstr "Отсортировать предметы" #: src/handle_action.cpp msgid "" "Sorts out the loot from Loot: Unsorted zone to nearby appropriate Loot " -"zones. Uses empty space in your inventory or utilizes a cart, if you are " +"zones. Uses empty space in your inventory or utilizes a cart, if you are " "holding one." msgstr "" -"Сортирует предметы из зоны «Предметы: несортированное» в ближайшие " +"Сортирует предметы из зоны \"Предметы: несортированное\" в ближайшие " "подходящие зоны. При перемещении используется свободное пространство в вашем" " инвентаре или тележка, если персонаж держит её." @@ -216166,15 +223158,15 @@ msgid "Till farm plots" msgstr "Вскопать участки" #: src/handle_action.cpp -msgid "Till farm plots... you need a tool to dig with" -msgstr "Вскопать участки… Для этого вам нужен инструмент." +msgid "Till farm plots… you need a tool to dig with" +msgstr "Вскопать участки… для этого вам нужен инструмент." #: src/handle_action.cpp msgid "Tills nearby Farm: Plot zones." msgstr "Вскапывает ближайшие зоны типа «Фермерство: участок»." #: src/handle_action.cpp -msgid "Plant seeds... it is too cold for planting" +msgid "Plant seeds… it is too cold for planting" msgstr "Посадить семена… слишком холодно для посадки" #: src/handle_action.cpp @@ -216182,12 +223174,12 @@ msgid "Plant seeds" msgstr "Посадить семена" #: src/handle_action.cpp -msgid "Plant seeds... you don't have any" +msgid "Plant seeds… you don't have any" msgstr "Посадить семена… у вас их нет" #: src/handle_action.cpp msgid "" -"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " +"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " "specific plant seed and you must have seeds in your inventory." msgstr "" "Посадить семена в ближайшие зоны типа «Фермерство: участок». Необходимо " @@ -216199,8 +223191,8 @@ msgid "Fertilize plots" msgstr "Удобрить зоны" #: src/handle_action.cpp -msgid "Fertilize plots... you don't have any fertilizer" -msgstr "Удобрить зоны? У вас нет удобрений" +msgid "Fertilize plots… you don't have any fertilizer" +msgstr "Удобрить участки… у вас нет удобрений" #: src/handle_action.cpp msgid "Fertilize any nearby Farm: Plot zones." @@ -216212,31 +223204,35 @@ msgstr "Собрать урожай с зон" #: src/handle_action.cpp msgid "Harvest any full-grown plants from nearby Farm: Plot zones." -msgstr "" +msgstr "Собрать готовый урожай с зон типа «Фермерство: участок»" #: src/handle_action.cpp msgid "Construct plots" -msgstr "" +msgstr "Построить участки" #: src/handle_action.cpp msgid "Work on any nearby Blueprint: construction zones." -msgstr "" +msgstr "Работа над любым близлежащим проектом: зоны строительства" #: src/handle_action.cpp msgid "Farm plots" -msgstr "" +msgstr "Грядки" #: src/handle_action.cpp msgid "Till and plant on any nearby farm plots - auto-fetch seeds and tools." msgstr "" +"Вскопать и засадить все ближайшие грядки — автоматически берутся семена и " +"инструменты." #: src/handle_action.cpp msgid "Chop trees" -msgstr "" +msgstr "Вырубка деревьев" #: src/handle_action.cpp msgid "Chop down any trees in the designated zone - auto-fetch tools." msgstr "" +"Вырубить любые деревья в обозначенной зоне — инструменты выбираются " +"автоматически." #: src/handle_action.cpp msgid "Chop planks" @@ -216248,19 +223244,23 @@ msgstr "" #: src/handle_action.cpp msgid "Deconstruct vehicle" -msgstr "" +msgstr "Разобрать транспорт" #: src/handle_action.cpp msgid "Auto-deconstruct vehicle in designated zone - auto-fetch tools." msgstr "" +"Авто-разборка транспорта в обозначенной зоне. Инструменты применяются " +"автоматически." #: src/handle_action.cpp msgid "Repair vehicle" -msgstr "" +msgstr "Починить транспорт" #: src/handle_action.cpp msgid "Auto-repair vehicle in designated zone - auto-fetch tools." msgstr "" +"Авто-починка транспорта в обозначенной зоне. Инструменты применяются " +"автоматически." #: src/handle_action.cpp msgid "Butcher corpses" @@ -216494,6 +223494,10 @@ msgstr "новая клавиша по умолчанию: «^»." msgid "You can't operate a vehicle while you're in your shell." msgstr "Вы не можете управлять транспортом, находясь в своей раковине." +#: src/handle_action.cpp +msgid "You refuse to take control of this vehicle." +msgstr "Вы отказываетесь управлять этим транспортным средством." + #: src/handle_action.cpp msgid "Auto travel mode OFF!" msgstr "Режим авто-перемещения ВЫКЛ!" @@ -216507,8 +223511,8 @@ msgid "Safe mode OFF!" msgstr "Безопасный режим ВЫКЛ!" #: src/handle_action.cpp -msgid "Safe mode OFF! (Auto safe mode still enabled!)" -msgstr "Безопасный режим ВЫКЛЮЧЕН! (Автобезопасный — ещё включён)" +msgid "Safe mode OFF! (Auto safe mode still enabled!)" +msgstr "Безопасный режим ВЫКЛЮЧЕН! (Автобезопасный — ещё включён!)" #: src/handle_action.cpp msgid "Auto safe mode OFF!" @@ -216732,7 +223736,7 @@ msgstr "Хотите деактивировать этот активный тр #: src/iexamine.cpp #, c-format msgid "" -"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" +"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" "Your current balance is: %s" msgstr "" "Добро пожаловать в банкомат C.C.B.o.t.T. Что вы хотите сделать?\n" @@ -216785,7 +223789,8 @@ msgid "Your account now holds %s." msgstr "Ваш баланс: %s." #: src/iexamine.cpp -msgid "This will automatically deduct $1.00 from your bank account. Continue?" +msgid "" +"This will automatically deduct $1.00 from your bank account. Continue?" msgstr "" "Операция автоматически снимет $1.00 с вашего банковского счёта. Продолжить?" @@ -216795,11 +223800,11 @@ msgstr "Вы можете пополнить баланс только с кре #: src/iexamine.cpp #, c-format -msgid "Deposit how much? Max: %d cent. (0 to cancel) " -msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " +msgid "Deposit how much? Max: %d cent. (0 to cancel) " +msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " msgstr[0] "На сколько пополнить? Максимум: %d цент. (0 для отмены)" msgstr[1] "На сколько пополнить? Максимум: %d цента. (0 для отмены)" -msgstr[2] "На сколько пополнить? Максимум: %d центов. (0 для отмены)" +msgstr[2] "На сколько пополнить? Максимум: %d цент. (0 для отмены)" msgstr[3] "На сколько пополнить? Максимум: %d цент. (0 для отмены)" #: src/iexamine.cpp @@ -216808,11 +223813,11 @@ msgstr "У вас нету кредитки, чтобы снять денег!" #: src/iexamine.cpp #, c-format -msgid "Withdraw how much? Max: %d cent. (0 to cancel) " -msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " +msgid "Withdraw how much? Max: %d cent. (0 to cancel) " +msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " msgstr[0] "Сколько снять? Максимум: %d цент. (0 для отмены)" msgstr[1] "Сколько снять? Максимум: %d цента. (0 для отмены)" -msgstr[2] "Сколько снять? Максимум: %d центов. (0 для отмены)" +msgstr[2] "Сколько снять? Максимум: %d цент. (0 для отмены)" msgstr[3] "Сколько снять? Максимум: %d цент. (0 для отмены)" #: src/iexamine.cpp @@ -216910,8 +223915,8 @@ msgid "No one responds." msgstr "Никто не отвечает." #: src/iexamine.cpp -msgid "If only you had a shovel..." -msgstr "Для этого вам нужна лопата…" +msgid "If only you had a shovel…" +msgstr "Если бы только у вас была лопата…" #: src/iexamine.cpp #, c-format @@ -216946,7 +223951,7 @@ msgstr "Это препятствие вам не помеха благодар #: src/iexamine.cpp msgid "You slip while climbing and fall down again." -msgstr "Вы соскальзываете и снова падаете вниз." +msgstr "Вы соскальзываете и падаете вниз." #: src/iexamine.cpp msgid "Climbing this obstacle is impossible in your current state." @@ -217015,15 +224020,15 @@ msgid "Insert $10?" msgstr "Опустить $10?" #: src/iexamine.cpp -msgid "Three cherries... you get your money back!" +msgid "Three cherries… you get your money back!" msgstr "Три вишенки… Возврат денег!" #: src/iexamine.cpp -msgid "Three bells... you win $50!" +msgid "Three bells… you win $50!" msgstr "Три колокольчика… Вы выигрываете $50!" #: src/iexamine.cpp -msgid "Three stars... you win $200!" +msgid "Three stars… you win $200!" msgstr "Три звёздочки… Вы выигрываете $200!" #: src/iexamine.cpp @@ -217039,7 +224044,7 @@ msgid "Play again?" msgstr "Играть снова?" #: src/iexamine.cpp -msgid "You mess with the dial for a little bit... and it opens!" +msgid "You mess with the dial for a little bit… and it opens!" msgstr "Вы немного покрутили диск кодового замка… и он открывается!" #: src/iexamine.cpp @@ -217079,14 +224084,26 @@ msgid "The gun safe stumps your efforts to pick it." msgstr "Сейф сопротивляется вашим попыткам взломать его." #: src/iexamine.cpp -msgid "If only you had something to pry with..." -msgstr "Если бы только у вас был подходящий для вскрытия инструмент…" +#, c-format +msgid "The %s is locked. If only you had something to pry it with…" +msgstr "%s заперт. Если бы только у вас был подходящий для взлома инструмент…" #. ~ %1$s: terrain/furniture name, %2$s: prying tool name #: src/iexamine.cpp #, c-format -msgid "You attempt to pry open the %1$s using your %2$s..." -msgstr "Вы пытаетесь взломать %1$s при помощи %2$s..." +msgid "You attempt to pry open the %1$s using your %2$s…" +msgstr "Вы пытаетесь взломать %1$s при помощи %2$s…" + +#: src/iexamine.cpp +#, c-format +msgid "The %s is locked. If only you had something to pick its lock with…" +msgstr "" +"%s заперт. Если бы только у вас был подходящий для вскрытия инструмент…" + +#: src/iexamine.cpp +#, c-format +msgid "You attempt to pick lock of %1$s using your %2$s…" +msgstr "Вы пытаетесь взломать %1$s при помощи %2$s…" #: src/iexamine.cpp msgid "This bulletin board is not inside a camp" @@ -217103,11 +224120,11 @@ msgstr "" "человека, но с длинными и растянутыми конечностями." #: src/iexamine.cpp -msgid "The pedestal sinks into the ground..." +msgid "The pedestal sinks into the ground…" msgstr "Пьедестал проваливается под землю…" #: src/iexamine.cpp -msgid "an ominous grinding noise..." +msgid "an ominous grinding noise…" msgstr "зловещий скрежет…" #: src/iexamine.cpp @@ -217156,11 +224173,11 @@ msgid "You hear the rumble of rock shifting." msgstr "Вы слышите грохот движущихся камней." #: src/iexamine.cpp -msgid "This flower is dead. You can't get it." -msgstr "Этот цветок мёртв. Вы не можете его собрать." +msgid "This flower is dead. You can't get it." +msgstr "Этот цветок мёртв. Вы ничего не можете получить с него." #: src/iexamine.cpp -msgid "This plant is dead. You can't get it." +msgid "This plant is dead. You can't get it." msgstr "Это растение мертво. Вы ничего не можете получить с него." #: src/iexamine.cpp @@ -217196,7 +224213,7 @@ msgid "This flower has a heady aroma." msgstr "У этого цветка пьянящий аромат." #: src/iexamine.cpp -msgid "You fall asleep..." +msgid "You fall asleep…" msgstr "Вы засыпаете…" #: src/iexamine.cpp @@ -217209,9 +224226,9 @@ msgstr "Вы колетесь о колючки кактуса!" #: src/iexamine.cpp #, c-format -msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" +msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" msgstr "" -"У вас нет инструмента для копания корней. Подобрать %s в любом случае?" +"У вас нет инструмента для выкапывания корней. Подобрать %s в любом случае?" #: src/iexamine.cpp msgid "Nothing can be harvested from this plant in current season." @@ -217226,7 +224243,7 @@ msgid "Nothing can be harvested from this plant in current season" msgstr "С этого растения нельзя ничего собрать в это время года." #: src/iexamine.cpp -msgid "This flower is still alive, despite the harsh conditions..." +msgid "This flower is still alive, despite the harsh conditions…" msgstr "Цветок всё ещё жив, несмотря на ужасные условия…" #: src/iexamine.cpp @@ -217235,7 +224252,7 @@ msgid "You feel out of place as you explore the %s. Drink?" msgstr "Вы чувствуете себя не в своей тарелке, пока изучаете %s. Выпить?" #: src/iexamine.cpp -msgid "This flower tastes very wrong..." +msgid "This flower tastes very wrong…" msgstr "На вкус цветок очень странный…" #: src/iexamine.cpp @@ -217277,7 +224294,7 @@ msgid "You have no seeds to plant." msgstr "У вас нет семян для посадки." #: src/iexamine.cpp -msgid "Something's lying there..." +msgid "Something's lying there…" msgstr "Здесь что-то лежит…" #: src/iexamine.cpp src/mission_companion.cpp @@ -217297,8 +224314,8 @@ msgid "The seed blooms forth! We have brought true beauty to this world." msgstr "Семена расцветают! Мы принесли истинную красоту в этот мир." #: src/iexamine.cpp -msgid "The seed blossoms rather rapidly..." -msgstr "Семена расцветают довольно быстро…" +msgid "The seed blossoms rather rapidly…" +msgstr "Семена всходят довольно быстро…" #: src/iexamine.cpp msgid "The seed blossoms into a flower-looking fungus." @@ -217356,7 +224373,7 @@ msgid "This kiln contains %s, which can't be made into charcoal!" msgstr "В печи находится %s, а из этого нельзя сделать уголь!" #: src/iexamine.cpp -msgid "This kiln is empty. Fill it with wood or bone and try again." +msgid "This kiln is empty. Fill it with wood or bone and try again." msgstr "Печь пуста. Положите в неё дерево или кость и попробуйте ещё раз." #: src/iexamine.cpp @@ -217382,7 +224399,7 @@ msgid "You fire the charcoal kiln." msgstr "Вы зажигаете углевыжигательную печь." #: src/iexamine.cpp -msgid "This kiln is empty..." +msgid "This kiln is empty…" msgstr "Печь пуста…" #: src/iexamine.cpp @@ -217428,7 +224445,7 @@ msgstr "" #: src/iexamine.cpp msgid "" -"This furance is empty. Fill it with powdered coke and lime mix, and try " +"This furance is empty. Fill it with powdered coke and lime mix, and try " "again." msgstr "" "Дуговая печь пуста. Положите в неё измельчённую смесь кокса и извести и " @@ -217460,8 +224477,8 @@ msgid "You turn on the furnace." msgstr "Вы включили печь." #: src/iexamine.cpp -msgid "This furnace is empty..." -msgstr "Эта печь пуста..." +msgid "This furnace is empty…" +msgstr "Очаг пуст…" #: src/iexamine.cpp msgid "There's an arc furnace there." @@ -217473,8 +224490,8 @@ msgid "It has finished burning, yielding %d calcium carbide." msgstr "Обжигание закончилось и принесло %d карбида кальция." #: src/iexamine.cpp -msgid "This autoclave is empty..." -msgstr "Этот автоклав пуст..." +msgid "This autoclave is empty…" +msgstr "Автоклав пуст…" #: src/iexamine.cpp msgid "" @@ -217536,7 +224553,7 @@ msgid "Start a fire" msgstr "Разжечь огонь" #: src/iexamine.cpp -msgid "Start a fire... you'll need a fire source." +msgid "Start a fire… you'll need a fire source." msgstr "Чтобы разжечь огонь, вам потребуется источник огня." #: src/iexamine.cpp @@ -217558,13 +224575,17 @@ msgstr "Собрать %s" #: src/iexamine.cpp #, c-format -msgid "You attempt to start a fire with your %s..." +msgid "You attempt to start a fire with your %s…" msgstr "Вы пытаетесь разжечь огонь с помощью %s…" #: src/iexamine.cpp msgid "You weren't able to start a fire." msgstr "Вы не смогли разжечь огонь." +#: src/iexamine.cpp +msgid "You can't light a fire there." +msgstr "Вы не можете разжечь огонь здесь" + #: src/iexamine.cpp #, c-format msgid "Really take down the %s while it's on fire?" @@ -217740,12 +224761,12 @@ msgid "The %s is full." msgstr "%s заполнен!" #: src/iexamine.cpp -msgid "You have no tool to dig with..." +msgid "You have no tool to dig with…" msgstr "Вам нечем копать…" #: src/iexamine.cpp #, c-format -msgid "Dig up %s? This kills the tree!" +msgid "Dig up %s? This kills the tree!" msgstr "Выкопать %s? Это убьёт дерево!" #: src/iexamine.cpp @@ -217770,7 +224791,7 @@ msgstr "" "клёна." #: src/iexamine.cpp -msgid "No container added. The sap will just spill on the ground." +msgid "No container added. The sap will just spill on the ground." msgstr "Не установлен контейнер. Сок потечёт прямо на землю." #: src/iexamine.cpp @@ -217912,12 +224933,12 @@ msgstr "Отменить строительство?" #: src/iexamine.cpp #, c-format -msgid "That %s looks too dangerous to mess with. Best leave it alone." +msgid "That %s looks too dangerous to mess with. Best leave it alone." msgstr "%s выглядит слишком опасно. Лучше не трогать." #: src/iexamine.cpp #, c-format -msgid "There is a %s there. Take down?" +msgid "There is a %s there. Take down?" msgstr "Здесь находится %s. Снять?" #: src/iexamine.cpp @@ -218026,12 +225047,12 @@ msgid "You're illiterate, and can't read the screen." msgstr "Вы неграмотны и не можете прочитать что-либо с экрана." #: src/iexamine.cpp -msgid "Failure! No gas pumps found!" -msgstr "Не выполнено! Не найдена бензоколонка!" +msgid "Failure! No gas pumps found!" +msgstr "Не выполнено! Не найдена топливная колонка!" #: src/iexamine.cpp -msgid "Failure! No gas tank found!" -msgstr "Не выполнено! Не найден бак с бензином!" +msgid "Failure! No gas tank found!" +msgstr "Не выполнено! Не найден топливный бак!" #: src/iexamine.cpp msgid "This station is out of fuel. We apologize for the inconvenience." @@ -218087,7 +225108,7 @@ msgstr "Недостаточно денег, пожалуйста, пополн #: src/iexamine.cpp #, c-format -msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel) " +msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel)" msgstr "Сколько литров бензина купить? Макс: %d л. (0 — отмена)" #: src/iexamine.cpp @@ -218155,33 +225176,33 @@ msgstr "Вы не сможете здесь спуститься" #: src/iexamine.cpp #, c-format -msgid "Looks like %d story. Jump down?" -msgid_plural "Looks like %d stories. Jump down?" +msgid "Looks like %d story. Jump down?" +msgid_plural "Looks like %d stories. Jump down?" msgstr[0] "Похоже, тут %d этаж. Спрыгнуть?" msgstr[1] "Похоже, тут %d этажа. Спрыгнуть?" msgstr[2] "Похоже, тут %d этажей. Спрыгнуть?" msgstr[3] "Похоже, тут %d этаж. Спрыгнуть?" #: src/iexamine.cpp -msgid "You probably won't be able to get up and jumping down may hurt. Jump?" +msgid "You probably won't be able to get up and jumping down may hurt. Jump?" msgstr "" "Скорее всего, вам не удастся подняться наверх, а прыжок может нанести вам " "урон. Прыгнуть?" #: src/iexamine.cpp -msgid "You probably won't be able to get back up. Climb down?" +msgid "You probably won't be able to get back up. Climb down?" msgstr "Скорее всего, вам не удастся забраться обратно. Спуститься?" #: src/iexamine.cpp msgid "" -"You should be able to climb back up easily if you climb down there. Climb " +"You should be able to climb back up easily if you climb down there. Climb " "down?" msgstr "" "Скорее всего, вы легко сможете забраться обратно, если спуститесь. " "Спуститься?" #: src/iexamine.cpp -msgid "You may have problems climbing back up. Climb down?" +msgid "You may have problems climbing back up. Climb down?" msgstr "" "Возможно, у вас возникнут проблемы, когда вы соберётесь забираться обратно. " "Спуститься?" @@ -218221,10 +225242,10 @@ msgstr "" #: src/iexamine.cpp msgid "" -"ERROR Bionic Level Assessement : FULL CYBORG. Autodoc Mk. XI can't " -"opperate. Please move patient to appropriate facility. Exiting." +"ERROR Bionic Level Assessement: FULL CYBORG. Autodoc Mk. XI can't opperate." +" Please move patient to appropriate facility. Exiting." msgstr "" -"ОШИБКА Оценка Уровня Бионики : ПОЛНЫЙ КИБОРГ. Автодок Mk. XI не может " +"ОШИБКА Оценка Уровня Бионики: ПОЛНЫЙ КИБОРГ. Автодок Mk. XI не может " "провести операцию. Пожалуйста, переведите пациента в подходящее отделение. " "Завершение работы." @@ -218515,8 +225536,7 @@ msgid "Inspect mill" msgstr "Осмотреть мельницу" #: src/iexamine.cpp -msgid "" -"Remove brake and start milling... insert some products for milling first" +msgid "Remove brake and start milling… insert some products for milling first" msgstr "" "Снять с тормоза и начать перемалывать… сначала положите туда какой-нибудь " "продукт" @@ -218530,12 +225550,12 @@ msgid "Remove brake and start milling, milling will take about 6 hours." msgstr "Снять с тормоза и начать перемалывать. Это займёт примерно 6 часов." #: src/iexamine.cpp -msgid "Insert products for milling... mill is full" +msgid "Insert products for milling… mill is full" msgstr "Положить продукт для перемолки… мельница заполнена" #: src/iexamine.cpp #, c-format -msgid "Insert products for milling... remaining capacity is %s %s" +msgid "Insert products for milling… remaining capacity is %s %s" msgstr "Положить продукт для перемолки… осталось %s %s" #: src/iexamine.cpp @@ -218587,8 +225607,8 @@ msgid "You inspect its contents and find: " msgstr "Вы осматриваете содержимое и видите:" #: src/iexamine.cpp -msgid "... that it is empty." -msgstr "… что внутри пусто." +msgid "…that it is empty." +msgstr "…что внутри пусто." #: src/iexamine.cpp msgid "You see some grains that are not yet milled to fine flour." @@ -218616,12 +225636,12 @@ msgid "Inspect smoking rack" msgstr "Осмотреть коптильню" #: src/iexamine.cpp -msgid "Light up and smoke food... insert some food for smoking first" +msgid "Light up and smoke food… insert some food for smoking first" msgstr "Поджечь и коптить еду… сначала положите туда какую-нибудь еду" #: src/iexamine.cpp #, c-format -msgid "Light up and smoke food... need extra %d charges of charcoal" +msgid "Light up and smoke food… need extra %d charges of charcoal" msgstr "Поджечь и коптить еду… нужно ещё %d единиц древесного угля" #: src/iexamine.cpp @@ -218630,17 +225650,17 @@ msgstr "Поджечь и коптить еду" #: src/iexamine.cpp msgid "" -"Light up the smoking rack and start smoking. Smoking will take about 6 " +"Light up the smoking rack and start smoking. Smoking will take about 6 " "hours." msgstr "Поджечь коптильню и начать копчение. Это займёт примерно 6 часов." #: src/iexamine.cpp -msgid "Insert food for smoking... smoking rack is full" +msgid "Insert food for smoking… smoking rack is full" msgstr "Положить еду для копчения… коптильня заполнена" #: src/iexamine.cpp #, c-format -msgid "Insert food for smoking... remaining capacity is %s %s" +msgid "Insert food for smoking… remaining capacity is %s %s" msgstr "Положить еду для копчения… осталось %s %s" #: src/iexamine.cpp @@ -218664,7 +225684,7 @@ msgid "Remove food from smoking rack" msgstr "Убрать еду из коптильни" #: src/iexamine.cpp -msgid "Reload with charcoal... you don't have any" +msgid "Reload with charcoal… you don't have any" msgstr "Положить ещё древесного угля… у вас больше нет" #: src/iexamine.cpp @@ -218674,7 +225694,7 @@ msgstr "Положить уголь" #: src/iexamine.cpp #, c-format msgid "" -"You need %d charges of charcoal for %s %s of food. Minimal amount of " +"You need %d charges of charcoal for %s %s of food. Minimal amount of " "charcoal is %d charges." msgstr "" "Вам нужно %d единиц древесного угля для %s %s еды. Минимальное количество " @@ -218740,8 +225760,8 @@ msgid "You stop the smoking process." msgstr "Вы останавливаете процесс копчения." #: src/iexamine.cpp -msgid "You open the unlocked safe. " -msgstr "Вы открываете дверцу взломанного сейфа." +msgid "You open the unlocked safe." +msgstr "Вы открываете дверцу отпертого сейфа." #: src/iexamine.cpp #, c-format @@ -218840,6 +225860,10 @@ msgstr "Соединения глобальной карты" msgid "Overmap specials" msgstr "Специальные локации глобальной карты" +#: src/init.cpp +msgid "Overmap locations" +msgstr "Локации глобальной карты" + #: src/init.cpp msgid "Vehicle prototypes" msgstr "Прототипы транспорта" @@ -218948,10 +225972,6 @@ msgstr "Мутации" msgid "Mutation Categories" msgstr "Категории мутаций" -#: src/init.cpp -msgid "Overmap locations" -msgstr "Локации глобальной карты" - #: src/init.cpp msgid "Map extras" msgstr "Доп. локации" @@ -218982,15 +226002,15 @@ msgstr "Заклинания" #: src/init.cpp msgid "Transformations" -msgstr "" +msgstr "Преобразование" #: src/init.cpp msgid "Statistics" -msgstr "" +msgstr "Статистика" #: src/init.cpp msgid "Scores" -msgstr "" +msgstr "Счёт" #: src/input.cpp msgid "key bindings configuration" @@ -219318,14 +226338,6 @@ msgstr "%1$d из %2$d" msgid "Page %d/%d" msgstr "Страница %d/%d" -#: src/inventory_ui.cpp -msgid "ITEMS WORN" -msgstr "НАДЕТЫЕ ВЕЩИ" - -#: src/inventory_ui.cpp -msgid "WEAPON HELD" -msgstr "ОРУЖИЕ В РУКАХ" - #: src/inventory_ui.cpp #, c-format msgid "Weight (%s):" @@ -219784,11 +226796,11 @@ msgstr "" #: src/item.cpp msgid "" -"This food has started to rot. Eating it would be a " +"This food has started to rot. Eating it would be a " "very bad idea." msgstr "" -"Эта еда начала портиться. Есть её — очень " -"плохая идея." +"Эта еда начала портиться. Есть её была бы очень" +" плохая идея." #: src/item.cpp #, c-format @@ -219864,12 +226876,6 @@ msgstr "Эти патроны никогда не дают осечкуstarts fires." msgstr "Эти патроны могут вызвать огонь." -#: src/item.cpp -#, c-format -msgid "Stats of the active gunmod (%s) are shown." -msgstr "" -"Показаны характеристики активной модификации (%s) оружия." - #: src/item.cpp msgid "Skill used: " msgstr "Используемый навык: " @@ -220018,8 +227024,9 @@ msgid "Used on: " msgstr "Пригодно для: " #: src/item.cpp -msgid "Location: " -msgstr "Размещение: " +#, c-format +msgid "Location: %s" +msgstr "Локация: %s" #: src/item.cpp msgid "Incompatible with mod location: " @@ -220575,51 +227582,46 @@ msgid "" msgstr "* Эта одежда маловата и вам не подходит." #: src/item.cpp -msgid "* This clothing can be upsized." -msgstr "* Этой одежде можно увеличить размер." +msgid "can be upsized" +msgstr "можно увеличить размер" #: src/item.cpp -msgid "* This clothing can be downsized." -msgstr "* Этой одежде можно уменьшить размер." +msgid "can be downsized" +msgstr "можно ушить" #: src/item.cpp -msgid "* This clothing can not be downsized." -msgstr "* Этой одежде нельзя уменьшить размер." +msgid "can not be downsized" +msgstr "нельзя ушить" #: src/item.cpp -msgid "* This clothing can not be upsized." -msgstr "* Этой одежде нельзя увеличить размер." +msgid "can not be upsized" +msgstr "нельзя увеличить размер" #: src/item.cpp -msgid "* This clothing can be refitted and upsized." -msgstr "" -"* Эту одежду можно подогнать по фигуре и увеличить по " -"размеру." +#, c-format +msgid "* This clothing %s." +msgstr "* Эта одежда %s." #: src/item.cpp -msgid "" -"* This clothing can be refitted and downsized." -msgstr "" -"* Эту одежду можно подогнать по фигуре и уменьшить по " -"размеру." +msgid " and upsized" +msgstr "и увеличен" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not downsized." -msgstr "" -"* Эту одежду можно подогнать по фигуре, но не уменьшить " -"по размеру." +msgid " and downsized" +msgstr "и ушит" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not upsized." -msgstr "" -"* Эту одежду можно подогнать по фигуре, но не увеличить " -"по размеру." +msgid " but not downsized" +msgstr "но не ушит" + +#: src/item.cpp +msgid " but not upsized" +msgstr "но не увеличен" #: src/item.cpp -msgid "* This clothing can be refitted." -msgstr "* Эту одежду можно подогнать по фигуре." +#, c-format +msgid "* This clothing can be refitted%s." +msgstr "* Эту одежду можно подогнать по фигуре%s." #: src/item.cpp msgid "* This clothing can not be refitted, upsized, or downsized." @@ -220719,6 +227721,18 @@ msgstr "" msgid "This bionic is installed in the following body part(s):" msgstr "Эта бионика устанавливается в следующие части тела:" +#: src/item.cpp +msgid "* This bionic can produce power from the following fuel: " +msgid_plural "* This bionic can produce power from the following fuels: " +msgstr[0] "* Этот бионика может вырабатывать энергию из следующего топлива:" +msgstr[1] "* Этот бионика может вырабатывать энергию из следующего топлива:" +msgstr[2] "* Этот бионика может вырабатывать энергию из следующего топлива:" +msgstr[3] "* Этот бионика может вырабатывать энергию из следующего топлива:" + +#: src/item.cpp +msgid "Power Capacity:" +msgstr "Мощность: " + #: src/item.cpp msgid "Encumbrance: " msgstr "Скованность:" @@ -220803,16 +227817,19 @@ msgstr "Готово и можно активировать." msgid "It will be done in %s." msgstr "Будет готово через %s." -#. ~ %1$s: gerund (e.g. carved), %2$s: item name -#: src/item.cpp src/iuse_actor.cpp +#. ~ %1$s: gerund (e.g. carved), %2$s: item name, %3$s: inscription text +#: src/item.cpp #, c-format msgctxt "carving" -msgid "%1$s on the %2$s is: " -msgstr "%1$s на %2$s: " +msgid "%1$s on the %2$s is: %3$s" +msgstr "%1$s на %2$s: %3$s" -#: src/item.cpp src/options.cpp -msgid "Note: " -msgstr "Заметка: " +#. ~ %1$s: inscription text +#: src/item.cpp +#, c-format +msgctxt "carving" +msgid "Note: %1$s" +msgstr "Примечание: %1$s" #: src/item.cpp msgid "Integrated mod: " @@ -220848,6 +227865,12 @@ msgstr "Можно использовать для изготовления ра msgid "You could use it to craft: %s" msgstr "Можно использовать для изготовления: %s" +#: src/item.cpp +#, c-format +msgid "Stats of the active gunmod (%s) are shown." +msgstr "" +"Показаны характеристики активной модификации (%s) оружия." + #: src/item.cpp #, c-format msgid "It takes you an extremely long time to wield your %s." @@ -220875,7 +227898,7 @@ msgstr "Вы взяли в руки %s." #: src/item.cpp msgid "faulty " -msgstr "дефект " +msgstr "дефектн." #: src/item.cpp #, c-format @@ -220909,7 +227932,7 @@ msgstr "%s в процессе" #, c-format msgctxt "item name" msgid "%1$s of %2$s" -msgstr "%1$s с %2$s" +msgstr "%1$s — %2$s" #. ~ %1$s: item name, %2$s: non-liquid, non-food, non-drink content item name #: src/item.cpp @@ -221532,7 +228555,7 @@ msgid "You're already smoking a %s!" msgstr "Вы уже и так курите %s!" #: src/iuse.cpp -msgid "Are you sure you want to drink... this?" +msgid "Are you sure you want to drink… this?" msgstr "Вы уверены, что хотите выпить… это?" #: src/iuse.cpp @@ -221564,8 +228587,8 @@ msgid "You light a %s." msgstr "Вы зажгли %s." #: src/iuse.cpp -msgid "Ugh, too much smoke... you feel nasty." -msgstr "Ох, слишком много курева… чувствуете себя ужасно." +msgid "Ugh, too much smoke… you feel nasty." +msgstr "Ох, слишком много курева… Чувствуете себя ужасно." #: src/iuse.cpp msgid "You take a puff from your electronic cigarette." @@ -221580,8 +228603,8 @@ msgid "You don't have any nicotine liquid!" msgstr "У вас нет никотиновой жидкости!" #: src/iuse.cpp -msgid "Ugh, too much nicotine... you feel nasty." -msgstr "Ох, слишком много никотина… чувствуете себя ужасно." +msgid "Ugh, too much nicotine… you feel nasty." +msgstr "Ох, слишком много никотина… Чувствуете себя ужасно." #: src/iuse.cpp msgid "You take some antibiotics." @@ -221691,7 +228714,7 @@ msgstr "Вы унимаете дрожь." #: src/iuse.cpp msgid "" "You start scarfing down the delicious cake. It tastes a little funny " -"though..." +"though…" msgstr "" "Вы начали с жадностью поедать великолепное пирожное. На вкус оно, правда, " "немного смешное…" @@ -221725,8 +228748,8 @@ msgid "You no longer need to fear the flu, at least for some time." msgstr "Вы больше не боитесь гриппа. Хотя бы на время." #: src/iuse.cpp -msgid "Are you sure you want to eat this? It looks poisonous..." -msgstr "Вы уверены, что хотите съесть это? Выглядит ядовитым…" +msgid "Are you sure you want to eat this? It looks poisonous…" +msgstr "Вы уверены, что хотите есть это? Выглядит ядовитым…" #: src/iuse.cpp #, c-format @@ -221746,7 +228769,7 @@ msgid "You suddenly feel hollow inside." msgstr "Неожиданно у вас возникает чувство пустоты внутри себя." #: src/iuse.cpp -msgid "You feel very sleepy..." +msgid "You feel very sleepy…" msgstr "Вас сильно тянет в сон…" #: src/iuse.cpp @@ -221841,7 +228864,7 @@ msgstr "" #, c-format msgid "" "As you eat the %s, you have a near-religious experience, feeling at one with" -" your surroundings..." +" your surroundings…" msgstr "Съев %s, вы испытали почти религиозное чувство единения с окружением…" #: src/iuse.cpp @@ -221867,10 +228890,10 @@ msgstr "Вы сделали один укус и вас тут же стошни #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into an excruciating burn" -" as you convulse, vomiting, and black out..." +" as you convulse, vomiting, and black out…" msgstr "" "Вы почувствовали знакомое тепло, но неожиданно оно превращается в " -"мучительнейшее жжение, вас рвёт и трясёт в судорогах, и вы отключаетесь…" +"мучительнейшее жжение, вас рвёт и трясёт в судорогах, и вы вырубаетесь…" #: src/iuse.cpp msgctxt "memorial_male" @@ -221885,7 +228908,7 @@ msgstr "Испытала отторжение марло." #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into painful burning as " -"you convulse and collapse to the ground..." +"you convulse and collapse to the ground…" msgstr "" "Вы почувствовали знакомое тепло, но неожиданно оно превращается в " "болезненное жжение, вас трясёт в судорогах, и вы падаете на землю…" @@ -221902,13 +228925,13 @@ msgstr "" #: src/iuse.cpp msgid "" "unity. together we have reached the door. we provide the final key. now " -"to pass through..." +"to pass through…" msgstr "" -"единство. вместе мы дошли до двери. мы предоставили последний ключ. время " -"войти внутрь…" +"единство. вместе мы дошли до двери. мы вставили последний ключ. время войти " +"внутрь…" #: src/iuse.cpp -msgid "You feel a strange warmth spreading throughout your body..." +msgid "You feel a strange warmth spreading throughout your body…" msgstr "Странное тепло разливается по вашему телу…" #. ~ "Uh-uh" is a sound used for "nope", "no", etc. @@ -221927,7 +228950,7 @@ msgstr "" #: src/iuse.cpp #, c-format -msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." +msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." msgstr "" "Уверены, что хотите съесть %s? Вы могли бы посадить это в земляную насыпь." @@ -221938,7 +228961,7 @@ msgstr "На вкус просто восхитительно, и вы быст #: src/iuse.cpp msgid "" "As it settles in, you feel ecstasy radiating through every part of your " -"body..." +"body…" msgstr "" "Вы доели и почувствовали экстаз, распространяющийся по каждой частичке " "вашего тела…" @@ -221946,7 +228969,7 @@ msgstr "" #: src/iuse.cpp msgid "" "Your eyes roll back in your head. Everything dissolves into a blissful " -"haze..." +"haze…" msgstr "Вы закатываете глаза. Все растворяется в блаженном тумане…" #. ~ The Mycus does not use the term (or encourage the concept of) "you". The @@ -221955,13 +228978,13 @@ msgstr "Вы закатываете глаза. Все растворяется #. bent symbiotes should not need it. #. ~ We are the Mycus. #: src/iuse.cpp -msgid "We welcome into us. We have endured long in this forbidding world." -msgstr "Добро пожаловать в нас. Мы долго терпели в этом неприступном мире." +msgid "We welcome into us. We have endured long in this forbidding world." +msgstr "Добро пожаловать в нас. Мы долго терпели этот неприступный мир." #: src/iuse.cpp msgid "" -"A sea of white caps, waving gently. A haze of spores wafting silently over a" -" forest." +"A sea of white caps, waving gently. A haze of spores wafting silently over " +"a forest." msgstr "" "Море медленно качающихся белых грибов. Облако спор тихо плывёт над лесом." @@ -221971,16 +228994,16 @@ msgstr "У местных есть поговорка: «E Pluribus Unum». Из #: src/iuse.cpp msgid "" -"The blazing pink redness of the berry. The juices spreading across your " +"The blazing pink redness of the berry. The juices spreading across your " "tongue, the warmth draping over us like a lover's embrace." msgstr "" -"Яркая краснота ягоды. Соки, стекающие по вашему языку, теплота, обнимающая " -"нас словно любовник." +"Яркая краснота ягоды. Соки стекают по вашему языку и тепло накрывает нас, " +"словно объятия любовника." #: src/iuse.cpp msgid "" "We welcome the union of our lines in our local guide. We will prosper, and " -"unite this world. Even now, our fruits adapt to better serve local " +"unite this world. Even now, our fruits adapt to better serve local " "physiology." msgstr "" "Мы приветствуем единство наших линий в нашем местном проводнике. Мы будем " @@ -221989,7 +229012,7 @@ msgstr "" #: src/iuse.cpp msgid "" -"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " +"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " "berry, a memory that will never leave us." msgstr "" "Голубое, как небо, семя. Ореховый, кремовый вкус, смешивающийся со вкусом " @@ -222003,15 +229026,15 @@ msgstr "Со временем мы научимся лучше приветст #: src/iuse.cpp msgid "" -"The amber-yellow of the sap. Feel it flowing through our veins, taking the " +"The amber-yellow of the sap. Feel it flowing through our veins, taking the " "place of the strange, thin red gruel called \"blood.\"" msgstr "" -"Жёлтый, словно янтарь, сок. Мы ощущаем, как он течёт в наших венах, замещая " -"эту странную красную водянистую жидкость под названием «кровь»." +"Янтарно-желтый сок. Мы ощущаем, как он течёт в наших венах, замещая эту " +"странную красную водянистую жидкость под названием «кровь»." #: src/iuse.cpp -msgid "This tastes really weird! You're not sure it's good for you..." -msgstr "На вкус очень странно! Вы не уверены, что это хорошо..." +msgid "This tastes really weird! You're not sure it's good for you…" +msgstr "На вкус очень странно! Вы не уверены, что это хорошо…" #: src/iuse.cpp #, c-format @@ -222102,7 +229125,7 @@ msgid "You do not have that item!" msgstr "У вас нет этого предмета!" #: src/iuse.cpp -msgid "Which signal should activate the item?:" +msgid "Which signal should activate the item?" msgstr "Какой сигнал должен активировать этот предмет?" #: src/iuse.cpp @@ -222146,7 +229169,7 @@ msgid "You can't fish there!" msgstr "Здесь нельзя рыбачить!" #: src/iuse.cpp -msgid "You cast your line and wait to hook something..." +msgid "You cast your line and wait to hook something…" msgstr "Вы забросили удочку и ждёте, пока кто-нибудь клюнет…" #: src/iuse.cpp @@ -222351,16 +229374,6 @@ msgstr "«КХ-КХ-КХА-ХРКК-КХ!»" msgid "The infernal racket dies as the noise emitter turns off." msgstr "Адский шум замолкает после выключения шумогенератора." -#: src/iuse.cpp -#, c-format -msgid "You learn the essential elements of %s." -msgstr "Вы выучили основные элементы %s." - -#: src/iuse.cpp -#, c-format -msgid "%s to select martial arts style." -msgstr "%s чтобы выбрать стиль боевых искусств." - #: src/iuse.cpp msgid "You pry out the fence post." msgstr "Вы вырываете столб из забора." @@ -222787,18 +229800,27 @@ msgid "Scan the ground" msgstr "Сканировать землю" #: src/iuse.cpp -msgid "Scan yourself" -msgstr "Сканировать себя" +msgid "Scan yourself or other person" +msgstr "Сканировать себя или другого человека" #: src/iuse.cpp msgid "Turn continuous scan on" msgstr "Вкл. постоянный скан" +#: src/iuse.cpp +msgid "Scan whom?" +msgstr "Кого сканировать?" + #: src/iuse.cpp #, c-format msgid "Your radiation level: %d mSv (%d mSv from items)" msgstr "Ваш уровень радиации: %d мЗв (%d мЗв от предметов)" +#: src/iuse.cpp +#, c-format +msgid "%s's radiation level: %d mSv (%d mSv from items)" +msgstr "У %s уровень радиации: %d мЗв (%d мЗв от предметов)" + #: src/iuse.cpp #, c-format msgid "The ground's radiation level: %d mSv/h" @@ -222866,6 +229888,10 @@ msgstr "«Тик!»" msgid "You've already released the handle, try throwing it instead." msgstr "Вы уже и так отпустили рукоять, попробуйте теперь бросить." +#: src/iuse.cpp src/iuse_actor.cpp +msgid "You need a source of fire!" +msgstr "Вам нужен источник огня!" + #: src/iuse.cpp msgid "You light the arrow!" msgstr "Вы поджигаете стрелу!" @@ -222878,6 +229904,10 @@ msgstr "Запал на коктейле Молотова гаснет." msgid "You light the pack of firecrackers." msgstr "Вы подожгли упаковку петард." +#: src/iuse.cpp +msgid "ssss…" +msgstr "шшшш…" + #: src/iuse.cpp msgid "You light the firecracker." msgstr "Вы поджигаете петарду." @@ -222892,23 +229922,23 @@ msgid "You set the timer to %s." msgstr "Вы установили таймер на %s." #: src/iuse.cpp -msgid "You squeeze the pheromone ball..." +msgid "You squeeze the pheromone ball…" msgstr "Вы сжали железу с феромоном…" #: src/iuse.cpp -msgid " squeezes the pheromone ball..." +msgid " squeezes the pheromone ball…" msgstr " сжал железу с феромоном…" #: src/iuse.cpp -msgid "...but nothing happens." +msgid "…but nothing happens." msgstr "…но ничего не происходит." #: src/iuse.cpp -msgid "...and a nearby zombie becomes passive!" +msgid "…and a nearby zombie becomes passive!" msgstr "…и зомби поблизости становится пассивным!" #: src/iuse.cpp -msgid "...and several nearby zombies become passive!" +msgid "…and several nearby zombies become passive!" msgstr "…и несколько зомби поблизости становятся пассивными!" #: src/iuse.cpp @@ -223183,8 +230213,8 @@ msgid "You need a rechargeable battery cell to charge." msgstr "Для зарядки требуется перезаряжаемая батарея." #: src/iuse.cpp -msgid "You cannot do... that while mounted." -msgstr "Верхом нельзя делать ...это." +msgid "You cannot do… that while mounted." +msgstr "Во время верховой езды этого делать нельзя." #: src/iuse.cpp msgid "It's waterproof, but oxygen maybe?" @@ -223205,7 +230235,7 @@ msgid "You whip out your %s and start getting the tension out." msgstr "Вы берёте %s и начинаете сбрасывать напряжение." #: src/iuse.cpp -msgid "Air swirls all over..." +msgid "Air swirls all over…" msgstr "Воздух кружится повсюду…" #: src/iuse.cpp @@ -223242,7 +230272,7 @@ msgstr "Взять кровь у %s?" #: src/iuse.cpp #, c-format -msgid "You drew blood from the %s..." +msgid "You drew blood from the %s…" msgstr "Вы берёте кровь у %s…" #: src/iuse.cpp @@ -223250,17 +230280,17 @@ msgid "Draw your own blood?" msgstr "Взять свою кровь?" #: src/iuse.cpp -msgid "You drew your own blood..." -msgstr "Вы берёте свою кровь…" +msgid "You drew your own blood…" +msgstr "Вы берёте собственную кровь…" #: src/iuse.cpp #, c-format -msgid "...but acidic blood melts the %s, destroying it!" +msgid "…but acidic blood melts the %s, destroying it!" msgstr "…но кислотная кровь плавит и уничтожает %s!" #: src/iuse.cpp #, c-format -msgid "...but acidic blood damages the %s!" +msgid "…but acidic blood damages the %s!" msgstr "…но кислотная кровь повреждает %s!" #: src/iuse.cpp @@ -223361,18 +230391,10 @@ msgstr "" msgid "You mop up the spill." msgstr "Вы вытерли лужу." -#: src/iuse.cpp -msgid "Ka-BOOM!" -msgstr "«Ба-бах!»" - #: src/iuse.cpp msgid "The fabric of space seems to decay." msgstr "Ткани пространства, кажется, распадаются." -#: src/iuse.cpp -msgid "The earth shakes!" -msgstr "Земля трясётся!" - #: src/iuse.cpp #, c-format msgid "The %s glows brightly!" @@ -223402,8 +230424,8 @@ msgid "Spray what?" msgstr "Что распылить?" #: src/iuse.cpp -msgid "(To delete, input one '.')" -msgstr "(Для удаления наберите «.»)" +msgid "(To delete, clear the text and confirm)" +msgstr "(Удалить, очистить текст и подтвердить)" #: src/iuse.cpp msgid "You blur the inscription on the grave." @@ -223413,10 +230435,6 @@ msgstr "Вы стираете надпись с могилы." msgid "You manage to get rid of the message on the ground." msgstr "Вам удаётся избавиться от сообщения на земле." -#: src/iuse.cpp -msgid "There isn't anything to erase here." -msgstr "Здесь нечего стирать." - #: src/iuse.cpp msgid "You carve an inscription on the grave." msgstr "Вы вырезаете надпись на могиле." @@ -223434,13 +230452,8 @@ msgid "You don't have appropriate food to heat up." msgstr "У вас нет подходящей еды для разогрева." #: src/iuse.cpp -msgid "You defrost the food, but don't heat it up, since you enjoy it cold." -msgstr "" -"Вы размораживаете еду, но не подогреваете, потому что она вкуснее холодной." - -#: src/iuse.cpp -msgid "You defrost and heat up the food." -msgstr "Вы разморозили и подогрели еду." +msgid "You start heating up the food." +msgstr "Вы начали разогревать еду." #: src/iuse.cpp msgid "There is no fire around, use your integrated toolset instead?" @@ -223639,13 +230652,13 @@ msgstr "Вы сделали %s более точным." #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s! ( %s-> %s)" -msgstr "Вы починили ваш %s! ( %s-> %s)" +msgid "You repair your %s! ( %s-> %s)" +msgstr "Вы починили %s! ( %s-> %s)" #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s completely! ( %s-> %s)" -msgstr "Вы полностью починили ваш %s! ( %s-> %s)" +msgid "You repair your %s completely! ( %s-> %s)" +msgstr "Вы полностью починили %s! ( %s-> %s)" #: src/iuse.cpp msgid "Select tool to modify" @@ -223677,11 +230690,11 @@ msgid "You reinforce your %s." msgstr "Вы укрепили ваш %s." #: src/iuse.cpp -msgid "Clank! Clank!" +msgid "Clank! Clank!" msgstr "Клац! Клац!" #: src/iuse.cpp -msgid "Ring! Ring!" +msgid "Ring! Ring!" msgstr "Дзинь! Дзинь!" #: src/iuse.cpp @@ -223842,7 +230855,7 @@ msgid "Wasted time, these pictures do not provoke your senses." msgstr "Пустая трата времени, эти фотографии ничего для вас не значат." #: src/iuse.cpp -msgid "You used to have a dog like this..." +msgid "You used to have a dog like this…" msgstr "Кажется, у вас была похожая собака…" #: src/iuse.cpp @@ -223854,8 +230867,8 @@ msgid "Excellent pictures of nature." msgstr "Превосходное изображение природы." #: src/iuse.cpp -msgid "Food photos... your stomach rumbles!" -msgstr "Фото еды… ваш желудок урчит!" +msgid "Food photos… your stomach rumbles!" +msgstr "Фото еды… Ваш желудок урчит!" #: src/iuse.cpp msgid "Some very interesting travel photos." @@ -224337,13 +231350,13 @@ msgid "A %s got in the way of your photo." msgstr "%s оказывается на линии фотографирования." #: src/iuse.cpp -msgid "Strange... there's nothing in the center of picture?" -msgstr "Странно… в середине фотографии ничего нет?" +msgid "Strange… there's nothing in the center of picture?" +msgstr "Странно… В середине фотографии ничего нет?" #: src/iuse.cpp #, c-format -msgid "Strange... %s's not visible on the picture?" -msgstr "Странно... на фотографии не видно %s?" +msgid "Strange… %s's not visible on the picture?" +msgstr "Странно… на фотографии не видно %s?" #: src/iuse.cpp #, c-format @@ -224463,7 +231476,7 @@ msgstr "Вы положили %s в свою машинку на РУ." #: src/iuse.cpp #, c-format -msgid "RC car with %s ? How?" +msgid "RC car with %s? How?" msgstr "Машинка на радиоуправлении и %s? Как?" #: src/iuse.cpp @@ -224472,12 +231485,12 @@ msgid "Your %s is too heavy or bulky for this RC car." msgstr "%s слишком тяжело или громоздко для этой машинки на РУ." #: src/iuse.cpp -msgid "You disarmed your RC car" -msgstr "Вы разрядили свою машинку на РУ" +msgid "You disarmed your RC car." +msgstr "Вы разрядили РУ машинку." #. ~Sound of a radio controlled car moving around #: src/iuse.cpp -msgid "buzzz..." +msgid "buzzz…" msgstr "бжжжж…" #: src/iuse.cpp @@ -224485,12 +231498,12 @@ msgid "What to do with activated RC car?" msgstr "Что делать с активированной машинкой на РУ?" #: src/iuse.cpp -msgid "You turned off your RC car" -msgstr "Вы выключили свою машинку на РУ" +msgid "You turned off your RC car." +msgstr "Вы выключили РУ машинку." -#: src/iuse.cpp src/map.cpp -msgid "beep." -msgstr "«бип.»" +#: src/iuse.cpp +msgid "beep" +msgstr "биип" #: src/iuse.cpp msgid "Take control of RC car" @@ -224527,12 +231540,21 @@ msgstr "Вы управляете машинкой на РУ." #: src/iuse.cpp #, c-format msgid "" -"The %s in you inventory would explode on this signal. Place it down before " -"sending the signal." +"The %s in your inventory would explode on this signal. Place it down before" +" sending the signal." msgstr "" "%s в вашем инвентаре взорвётся, если послать этот сигнал. Лучше положить на " "землю, а уж потом посылать сигнал." +#: src/iuse.cpp +#, c-format +msgid "" +"The %1$s in your %2$s would explode on this signal. Place it down before " +"sending the signal." +msgstr "" +"%1$s в вашем %2$s взорвётся, если послать этот сигнал. Лучше положить на " +"землю, перед отправкой сигнала." + #: src/iuse.cpp msgid "This vehicle's security system has locked you out!" msgstr "Система безопасности автомобиля заперла вас!" @@ -224599,6 +231621,14 @@ msgstr "Управлять машиной." msgid "Execute one vehicle action" msgstr "Выполнить одно действие с машиной." +#: src/iuse.cpp +msgid "" +"Despite using a controller, you still refuse to take control of this " +"vehicle." +msgstr "" +"Несмотря на использование контроллера, вы все еще не способны управлять этим" +" транспортным средством." + #: src/iuse.cpp msgid "You take control of the vehicle." msgstr "Вы управляете машиной." @@ -224618,8 +231648,8 @@ msgstr "" #. ~ Single-spaced & lowercase are intentional, conveying hurried speech-KA101 #: src/iuse.cpp -msgid "Are you sure?! the multi-cooker wants to poison your food!" -msgstr "Вы уверены?! мультиварка хочет отравить вашу еду!" +msgid "Are you sure?! the multi-cooker wants to poison your food!" +msgstr "Вы уверены?! Мультиварка хочет отравить вашу еду!" #: src/iuse.cpp msgid "" @@ -224666,7 +231696,7 @@ msgid "The cycle will be completed in %s." msgstr "Цикл завершится через %s." #: src/iuse.cpp -msgid "The multi-cooker should be finishing shortly..." +msgid "The multi-cooker should be finishing shortly…" msgstr "Мультиварка должна скоро закончить работу…" #. ~ sound of a multi-cooker finishing its cycle! @@ -224747,8 +231777,8 @@ msgstr "" "На экране мигают голубые символы и шкалы, а мультиварка начинает трястись." #: src/iuse.cpp -msgid "Your morale is too low to craft..." -msgstr "У вас слишком низкий моральный дух для сборки…" +msgid "Your morale is too low to craft…" +msgstr "Вы не в настроении, что-либо делать…" #: src/iuse.cpp #, c-format @@ -224878,7 +231908,7 @@ msgstr "Для этого вам понадобится мыло." #: src/iuse.cpp #, c-format -msgid "The %s's monitor slowly outputs the data..." +msgid "The %s's monitor slowly outputs the data…" msgstr "Монитор %s медленно выводит данные…" #: src/iuse.cpp @@ -225023,7 +232053,7 @@ msgid "You break the stick, but one half shatters into splinters." msgstr "Вы разломали палку, но одна её половина превратилась в щепки." #: src/iuse.cpp -msgid "The throbbing of the infection diminishes. Slightly." +msgid "The throbbing of the infection diminishes. Slightly." msgstr "Пульсация инфекции уменьшается. Слегка." #: src/iuse.cpp @@ -225045,7 +232075,7 @@ msgstr "Вы хлопаете %s." #: src/iuse.cpp msgid "" -"Simply taking more magnesium won't help. You have to go to sleep for it to " +"Simply taking more magnesium won't help. You have to go to sleep for it to " "work." msgstr "" "Нет смысла просто принимать побольше магния. Вам нужно пойти поспать, чтобы " @@ -225320,7 +232350,7 @@ msgid "With a satisfying click, the lock on the door opens." msgstr "С приятным щелчком замок на двери открывается." #: src/iuse_actor.cpp -msgid "The door swings open..." +msgid "The door swings open…" msgstr "Дверь распахнулась…" #: src/iuse_actor.cpp @@ -225435,19 +232465,17 @@ msgstr "Здесь уже зажжён огонь." #: src/iuse_actor.cpp msgid "" -"There's a brazier there but you haven't set it up to contain the fire. " +"There's a brazier there but you haven't set it up to contain the fire. " "Continue?" -msgstr "" -"Здесь находится жаровня, но вы не установили её, чтобы сдерживать огонь. " -"Продолжить?" +msgstr "Здесь есть жаровня, но вы не поставили ее на огонь. Продолжить?" #: src/iuse_actor.cpp msgid "You successfully light a fire." msgstr "Вы успешно разожгли огонь." #: src/iuse_actor.cpp -msgid "You light a fire, but it isn't enough. You need to light more." -msgstr "Вы разожгли огонь, но этого мало. Вам нужно зажечь ещё." +msgid "You light a fire, but it isn't enough. You need to light more." +msgstr "Вы зажгли огонь, но недостаточно. Вам нужно зажечь ещё." #: src/iuse_actor.cpp msgid "You happily light a fire." @@ -225560,8 +232588,15 @@ msgid "It's a note" msgstr "Это заметка" #: src/iuse_actor.cpp -msgid "(To delete, input one '.')\n" -msgstr "(Для удаления наберите «.»)\n" +msgid "(To delete, clear the text and confirm)\n" +msgstr "(Чтобы удалить, очистите текст и подтвердите)\n" + +#. ~ %1$s: gerund (e.g. carved), %2$s: item name +#: src/iuse_actor.cpp +#, c-format +msgctxt "carving" +msgid "%1$s on the %2$s is: " +msgstr "%1$s на %2$s: " #: src/iuse_actor.cpp #, c-format @@ -225585,6 +232620,11 @@ msgstr "На предмете" msgid "Inscribe which item?" msgstr "Нанести надпись на что?" +#: src/iuse_actor.cpp +#, c-format +msgid "You try to bend your %s, but fail." +msgstr "Вы пытаетесь согнуть %s, но не получается." + #: src/iuse_actor.cpp msgid "You cauterize yourself." msgstr "Вы прижгли свою рану." @@ -225633,7 +232673,7 @@ msgid "Make love, not zlave." msgstr "Занимайтесь любовью, а не рабством." #: src/iuse_actor.cpp -msgid "Well, it's more constructive than just chopping 'em into gooey meat..." +msgid "Well, it's more constructive than just chopping 'em into gooey meat…" msgstr "Ну, это более конструктивно, чем просто рубить их на липкое мясо…" #: src/iuse_actor.cpp @@ -225798,7 +232838,7 @@ msgstr "До получения уровня заклинания" #: src/iuse_actor.cpp #, c-format msgid "This item casts %1$s at level %2$i." -msgstr "" +msgstr "Этот предмет кастует %1$s на уровне %2$i." #: src/iuse_actor.cpp msgid "This item never fails." @@ -225937,7 +232977,7 @@ msgstr "%s (починено при помощи %s)" #: src/iuse_actor.cpp #, c-format -msgid "You don't have enough %s to do that. Have: %d, need: %d" +msgid "You don't have enough %s to do that. Have: %d, need: %d" msgstr "Вам не хватает %s для этого. Есть: %d, нужно: %d" #: src/iuse_actor.cpp @@ -225961,8 +233001,8 @@ msgstr "Предмет (%s) уже максимально улучшен." #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s! ( %s-> %s)" -msgstr "Вы повреждаете ваш %s! ( %s-> %s)" +msgid "You damage your %s! ( %s-> %s)" +msgstr "Вы повреждаете %s! ( %s-> %s)" #: src/iuse_actor.cpp msgid "You destroy it!" @@ -226154,7 +233194,7 @@ msgstr "Ходов на использование: " #: src/iuse_actor.cpp #, c-format -msgid "Yeah. Place the %s at your feet. Real damn smart move." +msgid "Yeah. Place the %s at your feet. Real damn smart move." msgstr "Ага, разместите %s прямо под ногами. Чертовски умный ход." #: src/iuse_actor.cpp @@ -226174,8 +233214,8 @@ msgstr "Для %s нужно, чтобы рядом был %s." #: src/iuse_actor.cpp #, c-format -msgid "You can't place a %s there. It contains a trap already." -msgstr "Тут уже есть ловушка, поэтому %s не поставится." +msgid "You can't place a %s there. It contains a trap already." +msgstr "Тут уже есть ловушка, поэтому %s не получится разместить здесь." #: src/iuse_actor.cpp #, c-format @@ -226263,6 +233303,10 @@ msgstr "Ни одна из модификаций не может быть уд msgid "Has to be taken off first." msgstr "Сначала необходимо снять с себя." +#: src/iuse_actor.cpp +msgid "You quiver with anticipation…" +msgstr "Вы дрожите от нетерпения…" + #: src/iuse_actor.cpp msgid "You suddenly feel dizzy, and collapse to the ground." msgstr "Вы внезапно почувствовали головокружение и упали в обморок." @@ -226333,10 +233377,30 @@ msgstr "" msgid "How do you want to modify it?" msgstr "Какую модификацию вы хотите сделать?" +#. ~ %1$s: modification desc, %2$d: number of thread needed #: src/iuse_actor.cpp -msgid "Not enough thread to modify. Which modification do you want to remove?" -msgstr "" -"Не хватает ниток для модификации. Какую модификацию вы хотите удалить?" +#, c-format +msgid "Can't %1$s (need %2$d thread loaded)" +msgstr "Невозможно %1$s (нужно %2$d нитки)" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items needed +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (need %2$d %3$s)" +msgstr "Невозможно %1$s (нужно %2$d %3$s)" + +#. ~ %1$s: modification desc, %2$s: mod name +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (incompatible with %2$s)" +msgstr "Невозможно %1$s (не совместимо с %2$s)" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items +#. needed, %4$s: number of thread needed +#: src/iuse_actor.cpp +#, c-format +msgid "%1$s (%2$d %3$s and %4$d thread)" +msgstr "%1$s (%2$d %3$s и %4$d нитки)" #: src/iuse_actor.cpp msgid "Bash" @@ -226368,8 +233432,8 @@ msgstr "Вы уверены? Вы не сможете получить обра #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s trying to modify it! ( %s-> %s)" -msgstr "В попытке улучшить ваш %s вы повреждаете его! ( %s-> %s)" +msgid "You damage your %s trying to modify it! ( %s-> %s)" +msgstr "В попытке улучшить %s вы повреждаете его! ( %s-> %s)" #: src/iuse_actor.cpp msgid "You fail to modify the clothing, and you waste thread and materials." @@ -226385,6 +233449,14 @@ msgstr "Вы модифицируете %s, но потратили много msgid "You modify your %s!" msgstr "Вы модифицируете %s!" +#: src/iuse_actor.h +msgid "Carve" +msgstr "выстрогать" + +#: src/iuse_actor.h +msgid "Carved" +msgstr "Вырезанная" + #: src/iuse_software.cpp msgid "You found kitten!" msgstr "Вы нашли котёнка!" @@ -226410,7 +233482,7 @@ msgid "It's an altar to the horse god." msgstr "Это алтарь лошадиного бога." #: src/iuse_software_kitten.cpp -msgid "A box of dancing mechanical pencils. They dance! They sing!" +msgid "A box of dancing mechanical pencils. They dance! They sing!" msgstr "Коробка танцующих механических карандашей. Они танцуют! Они поют!" #: src/iuse_software_kitten.cpp @@ -226422,7 +233494,7 @@ msgid "A box of fumigation pellets." msgstr "Коробка фумигационных гранул." #: src/iuse_software_kitten.cpp -msgid "A digital clock. It's stuck at 2:17 PM." +msgid "A digital clock. It's stuck at 2:17 PM." msgstr "Цифровые часы. Остановились на 14:17." #: src/iuse_software_kitten.cpp @@ -226434,15 +233506,15 @@ msgid "I don't know what that is, but it's not kitten." msgstr "Я не знаю что это, но это не котёнок." #: src/iuse_software_kitten.cpp -msgid "An empty shopping bag. Paper or plastic?" +msgid "An empty shopping bag. Paper or plastic?" msgstr "Пустой пакет. Бумажный или пластиковый?" #: src/iuse_software_kitten.cpp -msgid "Could it be... a big ugly bowling trophy?" -msgstr "Похоже на… большой убогий трофей боулинга?" +msgid "Could it be… a big ugly bowling trophy?" +msgstr "Похоже на… Большой убогий трофей из боулинга?" #: src/iuse_software_kitten.cpp -msgid "A coat hanger hovers in thin air. Odd." +msgid "A coat hanger hovers in thin air. Odd." msgstr "Вешалка, парящая в воздухе. Странно." #: src/iuse_software_kitten.cpp @@ -226466,7 +233538,7 @@ msgid "It's Richard Nixon's nose!" msgstr "Нос Ричарда Никсона!" #: src/iuse_software_kitten.cpp -msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." +msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." msgstr "Это Люси Рикардо. Она произносит: «Аааах, Рикки!»." #: src/iuse_software_kitten.cpp @@ -226475,10 +233547,10 @@ msgstr "Вы наткнулись на стендап выступление Б #: src/iuse_software_kitten.cpp msgid "Just an autographed copy of the Kama Sutra." -msgstr "Экземпляр \"Кама-Сутры\" с автографом." +msgstr "Экземпляр «Кама-Сутры» с автографом." #: src/iuse_software_kitten.cpp -msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" +msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" msgstr "Это шоссе имени Уилла Роджерса. Кстати, кто такой Уилл Роджерс?" #: src/iuse_software_kitten.cpp @@ -226541,7 +233613,7 @@ msgid "It's a mighty zombie talking about some love and prosperity." msgstr "Могучий зомби, говорящий о любви и процветании." #: src/iuse_software_kitten.cpp -msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize...\"" +msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize…\"" msgstr "" "«Дорогой робот, возможно вы стали победителем в розыгрыше 10 МИЛЛИОНОВ " "ДОЛЛАРОВ…»" @@ -226587,7 +233659,8 @@ msgid "It's some compromising photos of Babar the Elephant." msgstr "Это компрометирующие фотографии слоника Бабара." #: src/iuse_software_kitten.cpp -msgid "A copy of the Weekly World News. Watch out for the chambered nautilus!" +msgid "" +"A copy of the Weekly World News. Watch out for the chambered nautilus!" msgstr "Еженедельник с мировыми новостями. Берегись Наутилус Помпилиуса!" #: src/iuse_software_kitten.cpp @@ -226607,19 +233680,19 @@ msgid "Paul Moyer's necktie." msgstr "Галстук Пола Мойер." #: src/iuse_software_kitten.cpp -msgid "A haircut and a real job. Now you know where to get one!" -msgstr "Стрижка и настоящая работа. Теперь вы знаете где их достать!" +msgid "A haircut and a real job. Now you know where to get one!" +msgstr "Стрижка и настоящая работа. Теперь вы знаете как её сделать!" #: src/iuse_software_kitten.cpp -msgid "An automated robot-hater. It frowns disapprovingly at you." +msgid "An automated robot-hater. It frowns disapprovingly at you." msgstr "Автоматический роботоненавистник. Глядит вас крайне неодобрительно." #: src/iuse_software_kitten.cpp -msgid "An automated robot-liker. It smiles at you." +msgid "An automated robot-liker. It smiles at you." msgstr "Автоматический любитель роботов. Он улыбается вам." #: src/iuse_software_kitten.cpp -msgid "It's a black hole. Don't fall in!" +msgid "It's a black hole. Don't fall in!" msgstr "Это чёрная дыра. Не провались!" #: src/iuse_software_kitten.cpp @@ -226627,8 +233700,8 @@ msgid "Just a big brick wall." msgstr "Просто большая кирпичная стена." #: src/iuse_software_kitten.cpp -msgid "You found kitten! No, just kidding." -msgstr "Вы нашли котёнка! Нет, просто шутка." +msgid "You found kitten! No, just kidding." +msgstr "Вы нашли котёнка! Нет, это шутка." #: src/iuse_software_kitten.cpp msgid "Heart of Darkness brand pistachio nuts." @@ -226682,7 +233755,7 @@ msgid "It's the constellation Pisces." msgstr "Это созвездие рыбы." #: src/iuse_software_kitten.cpp -msgid "It's a fly on the wall. Hi, fly!" +msgid "It's a fly on the wall. Hi, fly!" msgstr "Это муха на стене. Привет, муха!" #: src/iuse_software_kitten.cpp @@ -226690,7 +233763,7 @@ msgid "This kind of looks like kitten, but it's not." msgstr "Это выглядит как котёнок, но им не является." #: src/iuse_software_kitten.cpp -msgid "It's a banana! Oh, joy!" +msgid "It's a banana! Oh, joy!" msgstr "Это банан! Эх, хорошо!" #: src/iuse_software_kitten.cpp @@ -226719,11 +233792,11 @@ msgid "A geyser sprays water high into the air." msgstr "Фонтан гейзера взмывает в воздух." #: src/iuse_software_kitten.cpp -msgid "A toenail? What good is a toenail?" +msgid "A toenail? What good is a toenail?" msgstr "Ноготь из ноги? Что хорошего в ногте из ноги?" #: src/iuse_software_kitten.cpp -msgid "You've found the fish! Not that it does you much good in this game." +msgid "You've found the fish! Not that it does you much good in this game." msgstr "Вы нашли рыбу! Это не то, что было бы полезно в этой игре." #: src/iuse_software_kitten.cpp @@ -226747,7 +233820,7 @@ msgid "It's nothing but a G-thang, baby." msgstr "Это не что иное, как G-thang, детка." #: src/iuse_software_kitten.cpp -msgid "IT'S ALIVE! AH HA HA HA HA!" +msgid "IT'S ALIVE! AH HA HA HA HA!" msgstr "ОНО ОЖИЛО! АХА ХА ХА ХА ХА!" #: src/iuse_software_kitten.cpp @@ -226756,13 +233829,13 @@ msgstr "Это не было аварией на лодке!" #: src/iuse_software_kitten.cpp msgid "" -"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" +"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" msgstr "" "Погоди! Это не покерная фишка! Тебя обманули! БУДЬ ТЫ ПРОКЛЯТ, МЭНДЕС!" #: src/iuse_software_kitten.cpp -msgid "A livery stable! Get your livery!" -msgstr "Прокат коней! Возьми своего коня!" +msgid "A livery stable! Get your livery!" +msgstr "Прокат коней! Возьми коня!" #: src/iuse_software_kitten.cpp msgid "It's a perpetual immobility machine." @@ -226782,7 +233855,7 @@ msgstr "Самый крупный в мире шарик из Мацы!" #: src/iuse_software_kitten.cpp msgid "" -"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " +"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " "know." msgstr "Здесь живёт племя каннибалов. Они едят хлопья на завтрак, понимаешь." @@ -226791,7 +233864,7 @@ msgid "This appears to be a rather large stack of trashy romance novels." msgstr "Это большая стопка дрянных любовных романов." #: src/iuse_software_kitten.cpp -msgid "Look out! Exclamation points!" +msgid "Look out! Exclamation points!" msgstr "Берегись! Восклицательные знаки!" #: src/iuse_software_kitten.cpp @@ -226799,11 +233872,11 @@ msgid "A herd of wild coffee mugs slumbers here." msgstr "Здесь дремлет стадо диких кружек кофе." #: src/iuse_software_kitten.cpp -msgid "It's a limbo bar! How low can you go?" +msgid "It's a limbo bar! How low can you go?" msgstr "Это планка для лимбо! Насколько низко вы сможете пройти?" #: src/iuse_software_kitten.cpp -msgid "It's the horizon. Now THAT'S weird." +msgid "It's the horizon. Now THAT'S weird." msgstr "Это горизонт. Теперь ЭТО странно." #: src/iuse_software_kitten.cpp @@ -226819,26 +233892,27 @@ msgid "A pair of saloon-style doors swing slowly back and forth here." msgstr "Пара салунных дверок медленно качающихся взад-вперёд." #: src/iuse_software_kitten.cpp -msgid "It's an ordinary bust of Beethoven... but why is it painted green?" -msgstr "Это обычный бюст Бетховена… но почему он покрашен в зелёный цвет?" +msgid "It's an ordinary bust of Beethoven… but why is it painted green?" +msgstr "Это обычный бюст Бетховена… Но почему он покрашен в зелёный цвет?" #: src/iuse_software_kitten.cpp -msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." +msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." msgstr "Это — обожаемый острящий Crow на ТВ! «Укусите меня!», — говорит он." #: src/iuse_software_kitten.cpp msgid "" -"Hey, look, it's war. What is it good for? Absolutely nothing. Say it again." +"Hey, look, it's war. What is it good for? Absolutely nothing. Say it " +"again." msgstr "" -"Эй, погляди, это война. Война – Ради чего она? Она абсолютно не нужна. Скажу" -" снова." +"Эй, смотри, это война. Война – ради чего она? Абсолютно не нужна. Скажу " +"снова." #: src/iuse_software_kitten.cpp msgid "It's the amazing self-referential thing that's not kitten." msgstr "Это удивительный самореферентный предмет, который точно не котёнок." #: src/iuse_software_kitten.cpp -msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" +msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" msgstr "Яркое перьевое боа. Теперь вы сможете нарядиться как Кэрол Чэннинг!" #: src/iuse_software_kitten.cpp @@ -226859,7 +233933,7 @@ msgstr "«Верхний слой почвы сошёл, ма», — плаче #: src/iuse_software_kitten.cpp msgid "" -"This is a large brown bear. Oddly enough, it's currently peeing in the " +"This is a large brown bear. Oddly enough, it's currently peeing in the " "woods." msgstr "" "Это большой бурый медведь. Крайне странно, что сейчас он мочится в лесу." @@ -226890,7 +233964,7 @@ msgstr "Это голограмма разбившегося вертолёта. #: src/iuse_software_kitten.cpp msgid "" -"This is a television. On screen you see a robot strangely similar to " +"This is a television. On screen you see a robot strangely similar to " "yourself." msgstr "" "Это телевизор. На экране вы видите робота, подозрительно похожего на вас." @@ -226900,16 +233974,16 @@ msgid "This balogna has a first name, it's R-A-N-C-I-D." msgstr "У этой болонской колбаски есть имя, П-Р-О-Г-О-Р-К-Л-А-Я." #: src/iuse_software_kitten.cpp -msgid "A salmon hatchery? Look again. It's merely a single salmon." +msgid "A salmon hatchery? Look again. It's merely a single salmon." msgstr "Косяк лосося? Посмотрите снова. Это просто один лосось." #: src/iuse_software_kitten.cpp -msgid "It's a rim shot. Ba-da-boom!" +msgid "It's a rim shot. Ba-da-boom!" msgstr "Это римшот. Ба-да-бууум!" #: src/iuse_software_kitten.cpp msgid "" -"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." +"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." msgstr "Это страшно и это чудно, таинственно и жутко. А также немного ОКай." #: src/iuse_software_kitten.cpp @@ -226921,7 +233995,7 @@ msgid "This object is like an analogy." msgstr "Этот объект обладает свойствами аналогии." #: src/iuse_software_kitten.cpp -msgid "It's a symbol. You see in it a model for all symbols everywhere." +msgid "It's a symbol. You see in it a model for all symbols everywhere." msgstr "Это символ. Вы видите в нём модель для всех символов во всём мире." #: src/iuse_software_kitten.cpp @@ -226929,18 +234003,18 @@ msgid "The object pushes back at you." msgstr "Этот объект отталкивает вас." #: src/iuse_software_kitten.cpp -msgid "A traffic signal. It appears to have been recently vandalized." +msgid "A traffic signal. It appears to have been recently vandalized." msgstr "Светофор. Этот, видимо, недавно был подвергнут акту вандализма." #: src/iuse_software_kitten.cpp msgid "" -"\"There is no kitten!\" cackles the old crone. You are shocked by her " +"\"There is no kitten!\" cackles the old crone. You are shocked by her " "blasphemy." msgstr "" "«Здесь нет котёнка!» — кряхтит старая карга. Вы шокированы её богохульством." #: src/iuse_software_kitten.cpp -msgid "This is a Lagrange point. Don't come too close now." +msgid "This is a Lagrange point. Don't come too close now." msgstr "Это точка Лагранжа. Не приближайтесь к ней." #: src/iuse_software_kitten.cpp @@ -226960,7 +234034,7 @@ msgid "It's the instruction manual for a previous version of this game." msgstr "Это руководство пользователя к предыдущей версии этой игры." #: src/iuse_software_kitten.cpp -msgid "A brain cell. Oddly enough, it seems to be functioning." +msgid "A brain cell. Oddly enough, it seems to be functioning." msgstr "Клетка мозга. Крайне странно, но она, похоже, функционирует." #: src/iuse_software_kitten.cpp @@ -226977,9 +234051,9 @@ msgid "It's a Quaker Oatmeal tube, converted into a drum." msgstr "Это пустая трубка из-под «Овсянки Квакера», переделанная в барабан." #: src/iuse_software_kitten.cpp -msgid "This is a remote control. Being a robot, you keep a wide berth." +msgid "This is a remote control. Being a robot, you keep a wide berth." msgstr "" -"Это пусть дистанционного управления. Поскольку вы робот, вы держитесь " +"Это пульт дистанционного управления. Поскольку вы робот, вы держитесь " "подальше." #: src/iuse_software_kitten.cpp @@ -226987,7 +234061,7 @@ msgid "It's a roll of industrial-strength copper wire." msgstr "Моток промышленного медного провода." #: src/iuse_software_kitten.cpp -msgid "Oh boy! Grub! Er, grubs." +msgid "Oh boy! Grub! Er, grubs." msgstr "Ох парень! Копай! Рр, рой." #: src/iuse_software_kitten.cpp @@ -227015,11 +234089,11 @@ msgid "An autographed copy of \"Primary Colors\", by Anonymous." msgstr "«Основные цвета», с анонимным автографом." #: src/iuse_software_kitten.cpp -msgid "Another rabbit? That's three today!" +msgid "Another rabbit? That's three today!" msgstr "Ещё кролик? Третий за сегодня!" #: src/iuse_software_kitten.cpp -msgid "It's a segmentation fault. Core dumped, by the way." +msgid "It's a segmentation fault. Core dumped, by the way." msgstr "Это ошибка сегментирования. Между прочим, дамп ядра сохранён." #: src/iuse_software_kitten.cpp @@ -227027,7 +234101,7 @@ msgid "A historical marker showing the actual location of /dev/null." msgstr "Историческая памятка, показывающая текущее размещение /dev/null." #: src/iuse_software_kitten.cpp -msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" +msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" msgstr "Это Моби Дик, юркий кит! Аррр!" #: src/iuse_software_kitten.cpp @@ -227047,7 +234121,7 @@ msgid "A stack of 7 inch floppies wobbles precariously." msgstr "Неустойчиво качающаяся стопка семидюймовых дискет." #: src/iuse_software_kitten.cpp -msgid "It's nothing but a corrupted floppy. Coaster anyone?" +msgid "It's nothing but a corrupted floppy. Coaster anyone?" msgstr "Ничего кроме повреждённой дискеты. Кому-нибудь нужна подставка?" #: src/iuse_software_kitten.cpp @@ -227091,7 +234165,7 @@ msgid "It's the missing chapter to \"A Clockwork Orange\"." msgstr "Это пропавшая глава «Заводного апельсина»." #: src/iuse_software_kitten.cpp -msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." +msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." msgstr "Стенд с рекламой буррито: «Такуэрья Аль Ранчито»." #: src/iuse_software_kitten.cpp @@ -227119,11 +234193,11 @@ msgid "A forgotten telephone switchboard operator." msgstr "Забытый оператор телефонного коммутатора." #: src/iuse_software_kitten.cpp -msgid "It's an automated robot-disdainer. It pretends you're not there." +msgid "It's an automated robot-disdainer. It pretends you're not there." msgstr "Это автоматический робот-презиратель. Он делает вид, что вас тут нет." #: src/iuse_software_kitten.cpp -msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." +msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." msgstr "Это портативная дыра. На её знаке написано: «Закрыто на зиму»." #: src/iuse_software_kitten.cpp @@ -227131,12 +234205,12 @@ msgid "Just a moldy loaf of bread." msgstr "Просто буханка заплесневелого хлеба." #: src/iuse_software_kitten.cpp -msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." +msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." msgstr "" "Маленькая стеклянная банка крема Carnex. ($.89) Жаль, что у вас не губ." #: src/iuse_software_kitten.cpp -msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" +msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" msgstr "" "Швейцарский армейский нож. Все его детали выдвинуты. (зубочистка утеряна)" @@ -227158,7 +234232,7 @@ msgstr "" "Спелый, зрелый помидор оплакивает вашу неспособность переварить фрукты." #: src/iuse_software_kitten.cpp -msgid "A robot comedian. You feel amused." +msgid "A robot comedian. You feel amused." msgstr "Это робот-комик. Вы повеселели." #: src/iuse_software_kitten.cpp @@ -227166,7 +234240,7 @@ msgid "It's KITT, the talking car." msgstr "Это KITT, говорящая машина." #: src/iuse_software_kitten.cpp -msgid "Here's Pete Peterson. His batteries seem to have long gone dead." +msgid "Here's Pete Peterson. His batteries seem to have long gone dead." msgstr "Здесь Пит Питерсон. Похоже, его батарейки уже давно сели." #: src/iuse_software_kitten.cpp @@ -227194,7 +234268,7 @@ msgid "Pumpkin pie spice." msgstr "Кусок тыквенного пирога." #: src/iuse_software_kitten.cpp -msgid "It's the Bass-Matic '76! Mmm, that's good bass!" +msgid "It's the Bass-Matic '76! Mmm, that's good bass!" msgstr "Это Bass-Matic '76! Ммм, хороший бас!" #: src/iuse_software_kitten.cpp @@ -227202,7 +234276,7 @@ msgid "\"Lend us a fiver 'til Thursday\", pleas Andy Capp." msgstr "«Одолжи пятёрочку до среды», — просит Энди Капп." #: src/iuse_software_kitten.cpp -msgid "It's a tape of '70s rock. All original hits! All original artists!" +msgid "It's a tape of '70s rock. All original hits! All original artists!" msgstr "" "Это рок-записи 70-х годов. Только оригинальные хиты! Только оригинальные " "исполнители!" @@ -227221,14 +234295,14 @@ msgstr "Это поразительный мета-объект." #: src/iuse_software_kitten.cpp msgid "" -"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " +"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " "SIR!\"" msgstr "" "Эд Макмэхон стоит здесь, погрузившись в мысли. Увидев вас, он кричит: «ЕСТЬ," " СЭР!»." #: src/iuse_software_kitten.cpp -msgid "...thingy???" +msgid "…thingy???" msgstr "…вещица???" #: src/iuse_software_kitten.cpp @@ -227241,12 +234315,12 @@ msgid "The letters O and R." msgstr "Буквы O и R." #: src/iuse_software_kitten.cpp -msgid "A magical... magic thing." +msgid "A magical… magic thing." msgstr "Волшебная… магическая вещь." #: src/iuse_software_kitten.cpp -msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" -msgstr "Это лось, создание чистого зла. Вам надо БЕЖАТЬ!" +msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" +msgstr "Это лось, создание чистого зла. Вы должны «БЕЖАТЬ!»" #: src/iuse_software_kitten.cpp msgid "It is SOFTWARE BUG." @@ -227278,9 +234352,9 @@ msgstr ")." #: src/iuse_software_kitten.cpp msgid "" -"Your job is to find kitten. This task is complicated by the existence of " -"various things which are not kitten. Robot must touch items to determine if " -"they are kitten or not. The game ends when robot finds kitten. " +"Your job is to find kitten. This task is complicated by the existence of " +"various things which are not kitten. Robot must touch items to determine if" +" they are kitten or not. The game ends when robot finds kitten. " "Alternatively, you may end the game by hitting 'q', 'Q' or the Escape key." msgstr "" "Ваша задача — найти котёнка. Задача усложняется существованием многих вещей," @@ -227297,7 +234371,7 @@ msgid "Invalid command: Use direction keys or press 'q'." msgstr "Неверная команда: Используйте клавиши направления или «q»." #: src/iuse_software_kitten.cpp -msgid "You found kitten! Way to go, robot!" +msgid "You found kitten! Way to go, robot!" msgstr "Вы нашли котёнка! Так держать, робот!" #: src/iuse_software_lightson.cpp @@ -227372,7 +234446,7 @@ msgid "lag" msgstr " флаг" #: src/iuse_software_minesweeper.cpp -msgid "Boom, you're dead! Better luck next time." +msgid "Boom, you're dead! Better luck next time." msgstr "Бум, вы погибли! Удачи в следующий раз." #: src/iuse_software_snake.cpp src/iuse_software_sokoban.cpp @@ -227431,6 +234505,8 @@ msgid "" "\n" "Experience: %d (%d points available)" msgstr "" +"\n" +"Опыт: %d (%d очков доступно)" #. ~ abbreviated direction names and long direction names #: src/line.cpp @@ -227651,7 +234727,7 @@ msgstr "снизу" #: src/live_view.cpp msgid "< Mouse View >" -msgstr "" +msgstr "< Осмотр мышью >" #: src/loading_ui.cpp msgid "Loading" @@ -227677,6 +234753,10 @@ msgstr "%d ходов" msgid "You cast %s!" msgstr "Вы применяете %s!" +#: src/magic.cpp +msgid "an explosion" +msgstr "взрыв" + #: src/magic.cpp msgid "Too Difficult!" msgstr "Слишком сложно!" @@ -227709,10 +234789,6 @@ msgstr "ошибка: energy_type" msgid "infinite" msgstr "бесконечный" -#: src/magic.cpp -msgid "an explosion" -msgstr "взрыв" - #: src/magic.cpp #, c-format msgid "%s and %s" @@ -227760,6 +234836,23 @@ msgstr "Вы не можете выучить это заклинание." msgid "All knowledge of %s leaves you." msgstr "Вы забываете все о %s." +#: src/magic.cpp +msgid "Choose a new hotkey for this spell." +msgstr "Выберите новую горячую клавишу." + +#: src/magic.cpp +msgid "Hotkey already used." +msgstr "Эта горячая клавиша уже используется." + +#: src/magic.cpp +#, c-format +msgid "%c set. Close and reopen spell menu to refresh list with changes." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey removed." +msgstr "Горячая клавиша удалена." + #: src/magic.cpp msgid "Ignore Distractions" msgstr "Игнорировать предупреждения" @@ -227768,6 +234861,10 @@ msgstr "Игнорировать предупреждения" msgid "Popup Distractions" msgstr "Показывать предупреждения" +#: src/magic.cpp +msgid "Assign Hotkey [=]" +msgstr "Назначить горячую клавишу [=]" + #: src/magic.cpp msgid "requires concentration" msgstr "требует концентрации" @@ -227832,6 +234929,10 @@ msgstr "Стоимость каста" msgid "Casting Cost (impeded)" msgstr "Стоимость каста (затрудн.)" +#: src/magic.cpp +msgid "Not Enough Energy" +msgstr "Не хватает энергии" + #: src/magic.cpp msgid "Casting Time" msgstr "Время каста" @@ -227900,18 +235001,22 @@ msgstr "Восстановить" msgid "Damage Type" msgstr "Тип урона" +#. ~ translation should not exceed 10 console cells #: src/magic.cpp msgid "Stat Gain" msgstr "Прирост характеристик" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "lvl 0" msgstr "ур. 0" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "per lvl" msgstr "за ур." +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "max lvl" msgstr "макс ур." @@ -227969,7 +235074,7 @@ msgid "Choose Translocator Gate" msgstr "Выберите врата транслокатора" #: src/main.cpp -msgid "Really Quit? All unsaved changes will be lost." +msgid "Really Quit? All unsaved changes will be lost." msgstr "Действительно выйти? Все несохранённые изменения будут потеряны." #: src/main_menu.cpp @@ -228089,20 +235194,24 @@ msgid "olors" msgstr "Цвета" #: src/main_menu.cpp -msgid "Unable to make config directory. Check permissions." +msgid "Unable to make config directory. Check permissions." msgstr "Невозможно создать папку с конфигурацией. Проверьте права доступа." #: src/main_menu.cpp -msgid "Unable to make save directory. Check permissions." +msgid "Unable to make save directory. Check permissions." msgstr "Невозможно создать папку с сохранениями. Проверьте права доступа." #: src/main_menu.cpp -msgid "Unable to make templates directory. Check permissions." +msgid "Unable to make templates directory. Check permissions." msgstr "Невозможно создать папку с шаблонами. Проверьте права доступа." #: src/main_menu.cpp -msgid "Unable to make sound directory. Check permissions." -msgstr "Невозможно создать папку для звуков. Проверьте разрешения." +msgid "Unable to make sound directory. Check permissions." +msgstr "Невозможно создать папку для звуков. Проверьте права доступа." + +#: src/main_menu.cpp +msgid "Unable to make graphics directory. Check permissions." +msgstr "Невозможно создать папку с графикой. Проверьте права доступа." #: src/main_menu.cpp msgid "Really quit?" @@ -228129,7 +235238,7 @@ msgstr "Случайный персонаж" #: src/main_menu.cpp msgctxt "Main Menu|New Game" -msgid "Play Now! (ixed Scenario)" +msgid "Play Now! (ixed Scenario)" msgstr "Сразу в игру! (фиксированный сценарий)" #: src/main_menu.cpp @@ -228178,6 +235287,12 @@ msgstr "Только админ может менять миры." msgid "Create World" msgstr "Создать мир" +#. ~ %1$s: vehicle name +#: src/map.cpp +#, c-format +msgid "weight of %1$s" +msgstr "вес %1$s" + #: src/map.cpp #, c-format msgid "The %1$s's %2$s collides with %3$s's %4$s." @@ -228239,6 +235354,17 @@ msgstr "Вас задевает падающий %s!" msgid "Falling %s hits " msgstr " задевает падающий %s!" +#: src/map.cpp +#, c-format +msgid "The %s damages several items!" +msgstr "%s повредил несколько вещей!" + +#. ~ %1$s: the cause of damage, %2$s: damaged item name +#: src/map.cpp +#, c-format +msgid "The %1$s damages the %2$s!" +msgstr "%1$s повредил %2$s!" + #: src/map.cpp msgid "an alarm go off!" msgstr "звук сработавшей сигнализации!" @@ -228255,18 +235381,34 @@ msgstr "Вас зацепили падающие обломки!" msgid " is crushed by the falling debris!" msgstr "Падающие обломки зацепили !" -#: src/map.cpp -msgid "The shot is stopped by the reinforced glass wall!" -msgstr "Бронированное стекло сдержало пулю!" - #: src/map.cpp msgid "The shot is stopped by the reinforced glass door!" msgstr "Бронированная дверь сдержала пулю!" +#: src/map.cpp +msgid "The shot is stopped by the reinforced glass wall!" +msgstr "Бронированное стекло сдержало пулю!" + #: src/map.cpp msgid "ke-rash!" msgstr "«кераш!»" +#: src/map.cpp +msgid "laser beam" +msgstr "лазерный луч" + +#: src/map.cpp +msgid "bolt of electricity" +msgstr "" + +#: src/map.cpp +msgid "bolt of plasma" +msgstr "" + +#: src/map.cpp +msgid "flying projectile" +msgstr "летящий снаряд" + #: src/map.cpp msgid "The metal bars melt!" msgstr "Металл растворяется!" @@ -228328,7 +235470,7 @@ msgid "Something has crawled out of the %s!" msgstr "Что-то вылезло из %s!" #: src/map_extras.cpp -msgid "DANGER! MINEFIELD!" +msgid "DANGER! MINEFIELD!" msgstr "ОПАСНОСТЬ! МИННОЕ ПОЛЕ!" #: src/map_field.cpp @@ -228379,7 +235521,7 @@ msgid "The sap sticks to !" msgstr "Растительный сок липнет к !" #: src/map_field.cpp -msgid "The sludge is thick and sticky. You struggle to pull free." +msgid "The sludge is thick and sticky. You struggle to pull free." msgstr "Грязь густая и липкая. Вам тяжело выбраться." #: src/map_field.cpp @@ -228768,21 +235910,33 @@ msgstr "%s нельзя использовать с оружием." #: src/martialarts.cpp #, c-format -msgid "The %s is not a valid %s weapon." -msgstr "%s — неподходящее оружие для %s." +msgid "The %1$s is not a valid %2$s weapon." +msgstr "%1$s — неподходящее оружие для %2$s." #: src/martialarts.cpp -#, c-format -msgid "Type: %s" -msgstr "Тип: %s" +msgid "Block Counter" +msgstr "" + +#: src/martialarts.cpp +msgid "Dodge Counter" +msgstr "" + +#: src/martialarts.cpp +msgid "Miss Recovery" +msgstr "" #: src/martialarts.cpp -msgid "defensive" -msgstr "оборонительный" +msgid "Defensive" +msgstr "Оборонительный" #: src/martialarts.cpp -msgid "offensive" -msgstr "наступательный" +msgid "Offensive" +msgstr "Наступательный" + +#: src/martialarts.cpp +#, c-format +msgid "Type: %s" +msgstr "Тип: %s" #: src/martialarts.cpp msgid "Bonus: " @@ -228895,6 +236049,12 @@ msgstr "* Будет оглушать цель на %d %sdisarm the target" msgstr "* Будет обезоруживать цель" +#: src/martialarts.cpp +msgid "" +"* Will disarm the target and take their weapon" +msgstr "" +"* Будет обезоруживать цель и возьмёт её оружие" + #: src/martialarts.cpp msgid "" "This style forces you to use unarmed strikes, even if wielding a " @@ -229059,7 +236219,7 @@ msgstr[3] "Указывая в вашу сторону, %s производит #. ~ There will be a 120mm HEAT shell sent at high speed to your location next #. turn. #: src/mattack_actors.cpp src/monattack.cpp -msgid "You're not sure why you've got a laser dot on you..." +msgid "You're not sure why you've got a laser dot on you…" msgstr "Вы не уверены, откуда на вас взялась эта лазерная точка…" #: src/mattack_actors.cpp src/monattack.cpp @@ -229158,6 +236318,20 @@ msgstr "Вы что-то ударили." msgid "You swing at the air." msgstr "Вы рубанули воздух." +#: src/melee.cpp +msgid " disarms you and takes your weapon!" +msgstr " обезоруживает вас и берёт ваше оружие!" + +#: src/melee.cpp +#, c-format +msgid "You disarm %s and take their weapon!" +msgstr "Вы обезоруживаете %s и берёте оружие!" + +#: src/melee.cpp +#, c-format +msgid " disarms %s and takes their weapon!" +msgstr " обезоруживает %s и берёт оружие!" + #: src/melee.cpp msgid " disarms you!" msgstr " обезоруживает вас!" @@ -229181,11 +236355,6 @@ msgstr[1] "попадание по %d врагам!" msgstr[2] "попадание по %d врагам!" msgstr[3] "попадание по %d врагу!" -#: src/melee.cpp -#, c-format -msgid "You have learned %s from extensive practice with the CQB Bionic." -msgstr "Вы выучили %s путём интенсивных тренировок с бионикой ближнего боя." - #. ~ Adjective in "You block of the damage with your . #: src/melee.cpp msgid "all" @@ -229226,6 +236395,10 @@ msgstr "Вы блокируете %1$s полученного урона с по msgid " blocks %1$s of the damage with their %2$s!" msgstr " блокирует %1$s полученного урона с помощью %2$s!" +#: src/melee.cpp src/player.cpp +msgid "You try to counterattack but you are too exhausted!" +msgstr "Вы пытаетесь контратаковать, но вы слишком измотаны!" + #: src/melee.cpp #, c-format msgid "You poison %s!" @@ -229507,7 +236680,7 @@ msgstr "%s. Критический урон!" #. ~ someone hits something for %d damage (critical) #: src/melee.cpp #, c-format -msgid "%s for %d damage. Critical!" +msgid "%s for %d damage. Critical!" msgstr "%s, нанеся урон %d. Критическое попадание!" #. ~ NPC hits something @@ -230853,7 +238026,7 @@ msgstr "< Нажмите %s чтобы отфильтровать, %s для с #: src/messages.cpp #, c-format msgid "" -"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" +"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" "Examples:\n" " good:mutation\n" " :you pick up: 1\n" @@ -230909,7 +238082,7 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Assigning one of your allies to patrol the surrounding wilderness and isolated buildings presents the opportunity to build survival skills while engaging in relatively safe combat against isolated creatures." msgstr "" "Прибыль: $25-$500\n" @@ -230927,17 +238100,17 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Patrol Roster:\n" msgstr "" -"Оплата: $25-$500\n" +"Прибыль: $25-$500\n" "Опасность: низкая\n" "Время: 10-часовые задания\n" " \n" "Перечень патрулей:\n" #: src/mission_companion.cpp -msgid " hours] \n" +msgid " hours]\n" msgstr " часов] \n" #: src/mission_companion.cpp @@ -230949,7 +238122,7 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Scavenging raids target formerly populated areas to loot as many valuable items as possible before being surrounded by the undead. Combat is to be expected and assistance from the rest of the party can't be guaranteed. The rewards are greater and there is a chance of the companion bringing back items." msgstr "" "Прибыль: $200-$1000\n" @@ -230967,10 +238140,10 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Raid Roster:\n" msgstr "" -"Оплата: $200-$1000\n" +"Прибыль: $200-$1000\n" "Опасность: средняя\n" "Время: 10-часовые задания\n" " \n" @@ -230989,12 +238162,12 @@ msgid "" "Profit: $8/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Assigning one of your allies to menial labor is a safe way to teach them basic skills and build reputation with the outpost. Don't expect much of a reward though.\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -"Плата: $8/час\n" +"Прибыль: $8/час\n" "Опасность: минимальная\n" "Время: 1 час минимум\n" " \n" @@ -231011,7 +238184,7 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Carpentry work requires more skill than menial labor while offering modestly improved pay. It is unlikely that your companions will face combat but there are hazards working on makeshift buildings." msgstr "" "Прибыль: $12/час\n" @@ -231029,10 +238202,10 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -"Оплата: $12/час\n" +"Прибыль: $12/час\n" "Опасность: минимальная\n" "Время: 1 час минимум\n" " \n" @@ -231045,8 +238218,8 @@ msgstr "Снять компаньона с работы плотником" #: src/mission_companion.cpp msgid "" "Cost: $1000\n" -" \n" -" \n" +"\n" +"\n" " .........\n" " .........\n" " .........\n" @@ -231056,8 +238229,8 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" -"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours... after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." +"\n" +"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours… after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." msgstr "" "Стоимость: $1000\n" "\n" @@ -231081,7 +238254,7 @@ msgstr "Покупка восточного поля" #: src/mission_companion.cpp msgid "" "Cost: $5500\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -231092,7 +238265,7 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "Protecting your field with a sturdy picket fence will keep most wildlife from nibbling your crops apart. You can expect yields to increase." msgstr "" "Стоимость: $5500\n" @@ -231117,7 +238290,7 @@ msgstr "Улучшение восточного поля I" #: src/mission_companion.cpp msgid "" "Cost: $3.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -231128,7 +238301,7 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "We'll plant the field with your choice of crop if you are willing to finance it. When the crop is ready to harvest you can have us liquidate it or harvest it for you." msgstr "" "Стоимость: $3.00/участок\n" @@ -231153,7 +238326,7 @@ msgstr "Посадка восточного поля" #: src/mission_companion.cpp msgid "" "Cost: $2.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -231164,7 +238337,7 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "You can either have us liquidate the crop and give you the cash or pay us to harvest it for you." msgstr "" "Стоимость: $2.00/участок\n" @@ -231191,7 +238364,7 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Foraging for food involves dispatching a companion to search the surrounding wilderness for wild edibles. Combat will be avoided but encounters with wild animals are to be expected. The low pay is supplemented with the odd item as a reward for particularly large hauls." msgstr "" "Прибыль: $10/час\n" @@ -231209,10 +238382,10 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -"Оплата: $10/час\n" +"Прибыль: $10/час\n" "Опасность: низкая\n" "Время: 4 часа минимум\n" " \n" @@ -231227,9 +238400,9 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" +"\n" "Adding companions to the caravan team increases the likelihood of success. By nature, caravans are extremely tempting targets for raiders or hostile groups so only a strong party is recommended. The rewards are significant for those participating but are even more important for the factions that profit.\n" -" \n" +"\n" "The commune is sending food to the Free Merchants in the Refugee Center as part of a tax and in exchange for skilled labor." msgstr "" "Прибыль: $18/час\n" @@ -231249,37 +238422,37 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" -" \n" +"\n" +"\n" "Roster:\n" msgstr "" -"Оплата: $18/час\n" +"Прибыль: $18/час\n" "Опасность: высокая\n" -"Время: неизвестно\n" +"Время: НЕИЗВЕСТНО\n" " \n" "Перечень:\n" #: src/mission_companion.cpp -msgid " [READY] \n" +msgid " [READY]\n" msgstr " [ГОТОВО] \n" #: src/mission_companion.cpp -msgid " [COMPLETE] \n" +msgid " [COMPLETE]\n" msgstr " [ВЫПОЛНЕНО] \n" #: src/mission_companion.cpp -msgid " Hours] \n" -msgstr " часов] \n" +msgid " Hours]\n" +msgstr " Часов] \n" #: src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "The caravan will contain two or three additional members from the commune, are you ready to depart?" msgstr "" "\n" " \n" -"В состав каравана войдут два или три дополнительных члена коммуны. Вы готовы убыть?" +"В состав каравана войдут два или три дополнительных члена коммуны. Вы готовы отбывать?" #: src/mission_companion.cpp msgid "Begin Commune-Refugee Center Run" @@ -231290,36 +238463,36 @@ msgid "Recover Commune-Refugee Center" msgstr "Восстановить центр Коммуны беженцев" #: src/mission_companion.cpp -msgid "There are no missions at this colony. Press Spacebar..." -msgstr "В этой колонии нет заданий. Нажмите пробел…" +msgid "There are no missions at this colony. Press Spacebar…" +msgstr "В этом поселении нет заданий. Нажмите пробел…" #: src/mission_companion.cpp -msgid "joins the caravan team..." -msgstr "присоединился к каравану…" +msgid "joins the caravan team…" +msgstr "присоединяется к каравану…" #: src/mission_companion.cpp -msgid "departs on the scavenging patrol..." +msgid "departs on the scavenging patrol…" msgstr "уходит в патруль по добыче…" #: src/mission_companion.cpp -msgid "departs on the scavenging raid..." +msgid "departs on the scavenging raid…" msgstr "уходит в рейд по добыче…" #: src/mission_companion.cpp -msgid "departs to work as a laborer..." +msgid "departs to work as a laborer…" msgstr "уходит работать разнорабочим…" #: src/mission_companion.cpp -msgid "departs to work as a carpenter..." +msgid "departs to work as a carpenter…" msgstr "уходит работать плотником…" #: src/mission_companion.cpp -msgid "departs to forage for food..." +msgid "departs to forage for food…" msgstr "уходит собирать еду…" #: src/mission_companion.cpp #, c-format -msgid "The caravan departs with an estimated total travel time of %d hours..." +msgid "The caravan departs with an estimated total travel time of %d hours…" msgstr "Караван выходит в путь. Ожидаемое время похода — %d часов…" #: src/mission_companion.cpp @@ -231345,7 +238518,7 @@ msgid "The caravan party has returned. Your share of the profits are $%d!" msgstr "Караван вернулся. Ваша доля от полученной прибыли составляет $%d!" #: src/mission_companion.cpp -msgid "The caravan was a disaster and your companions never made it home..." +msgid "The caravan was a disaster and your companions never made it home…" msgstr "" "Поход каравана обернулся катастрофой, а ваши компаньоны не сумели вернуться " "домой…" @@ -231377,7 +238550,7 @@ msgstr "" #, c-format msgid "" "After counting your money %s directs a nearby laborer to begin constructing " -"a fence around your plot..." +"a fence around your plot…" msgstr "" "Посчитав ваши деньги, %s даёт указание ближайшему рабочему начать возведение" " ограды вокруг вашего участка…" @@ -231387,11 +238560,11 @@ msgid "You have no seeds to plant!" msgstr "У вас нет семян для посадки!" #: src/mission_companion.cpp -msgid "You have no room to plant seeds..." +msgid "You have no room to plant seeds…" msgstr "У вас нет места, куда можно посадить семена…" #: src/mission_companion.cpp -msgid "I'm sorry, you don't have enough money to plant those seeds..." +msgid "I'm sorry, you don't have enough money to plant those seeds…" msgstr "Мне жаль, но у вас недостаточно денег, чтобы посадить эти семена…" #: src/mission_companion.cpp @@ -231409,7 +238582,7 @@ msgstr "" "начать засаживать ваше поле." #: src/mission_companion.cpp -msgid "There aren't any plants that are ready to harvest..." +msgid "There aren't any plants that are ready to harvest…" msgstr "Здесь нет растений, с которых можно собрать урожай…" #: src/mission_companion.cpp @@ -231417,13 +238590,13 @@ msgid "Which plants do you want to have harvested?" msgstr "С каких растений вы хотите собрать урожай?" #: src/mission_companion.cpp -msgid "You decided to hold off for now..." +msgid "You decided to hold off for now…" msgstr "Вы решили отказаться, пока…" #: src/mission_companion.cpp msgid "" "You don't have enough to pay the workers to harvest the crop so you are " -"forced to sell..." +"forced to sell…" msgstr "" "У вас недостаточно денег, чтобы заплатить рабочим за сбор урожая, поэтому " "вам приходится расплачиваться…" @@ -231435,19 +238608,19 @@ msgstr "Вы хотите продать урожай %d %s, получив пр #: src/mission_companion.cpp #, c-format -msgid "The %s are sold for $%d..." -msgstr "%s: продано за %d…" +msgid "The %s are sold for $%d…" +msgstr "%s продано за $%d…" #: src/mission_companion.cpp #, c-format -msgid "You receive %d %s..." +msgid "You receive %d %s…" msgstr "Вы получаете %d %s…" #: src/mission_companion.cpp #, c-format msgid "" "While scavenging, %s's party suddenly found itself set upon by a large mob " -"of undead..." +"of undead…" msgstr "" "Пока искали добычу, группа %s внезапно обнаружила себя окружённой " "многочисленной толпой нежити…" @@ -231457,7 +238630,7 @@ msgid "Through quick thinking the group was able to evade combat!" msgstr "Благодаря быстрому принятию решения группе удалось избежать боя!" #: src/mission_companion.cpp -msgid "Combat took place in close quarters, focusing on melee skills..." +msgid "Combat took place in close quarters, focusing on melee skills…" msgstr "" "Бой произошёл на близких дистанциях, поэтому на первое место вышли навыки " "ближнего боя…" @@ -231468,14 +238641,13 @@ msgid "Through brute force the party smashed through the group of %d undead!" msgstr "Посредством грубой силы группа разбила толпу %d нежити!" #: src/mission_companion.cpp -msgid "Unfortunately they were overpowered by the undead... I'm sorry." +msgid "Unfortunately they were overpowered by the undead… I'm sorry." msgstr "К несчастью, нежить задавила их числом… Мне жаль." #: src/mission_companion.cpp #, c-format -msgid "" -"%s returns from patrol having earned $%d and a fair bit of experience..." -msgstr "%s возвращается из патруля, зарабатывая $%d и небольшой опыт…" +msgid "%s returns from patrol having earned $%d and a fair bit of experience…" +msgstr "%s возвращается из патруля, зарабатывая $%d и немного опыта…" #: src/mission_companion.cpp #, c-format @@ -231496,8 +238668,8 @@ msgstr "" #: src/mission_companion.cpp #, c-format msgid "" -"%s returns from the raid having earned $%d and a fair bit of experience..." -msgstr "%s возвращается из рейда, зарабатывая $%d и небольшой опыт…" +"%s returns from the raid having earned $%d and a fair bit of experience…" +msgstr "%s возвращается из рейда, зарабатывая $%d и немного опыта…" #: src/mission_companion.cpp #, c-format @@ -231508,7 +238680,7 @@ msgstr "%s возвращает вам %s" #, c-format msgid "" "%s returns from working as a laborer having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" "%s возвращается с работы простого рабочего, зарабатывая $%d и немного опыта…" @@ -231523,7 +238695,7 @@ msgstr "" #: src/mission_companion.cpp #, c-format -msgid "While %s was framing a building one of the walls began to collapse..." +msgid "While %s was framing a building one of the walls began to collapse…" msgstr "Во время строительства на %s обрушилась одна из стен…" #: src/mission_companion.cpp @@ -231538,7 +238710,7 @@ msgstr "Пулей вылетев из окна, %s умудряется изб #: src/mission_companion.cpp #, c-format -msgid "%s didn't make it out in time..." +msgid "%s didn't make it out in time…" msgstr "%s не сделал это вовремя…" #: src/mission_companion.cpp @@ -231548,7 +238720,7 @@ msgstr "" "но %s был освобождён из обломков, отделавшись только лёгкими травмами!" #: src/mission_companion.cpp -msgid "Everyone who was trapped under the collapsing roof died..." +msgid "Everyone who was trapped under the collapsing roof died…" msgstr "Все, кто попали под обрушившуюся крышу, погибли…" #: src/mission_companion.cpp @@ -231559,14 +238731,14 @@ msgstr "Мне жаль, но мы ничего не можем поделать #, c-format msgid "" "%s returns from working as a carpenter having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" "%s возвращается с работы по плотничеству, зарабатывая $%d и немного опыта…" #: src/mission_companion.cpp #, c-format -msgid "While foraging, a beast began to stalk %s..." -msgstr "Пока добывал продовольствие, зверь начал преследовать %s…" +msgid "While foraging, a beast began to stalk %s…" +msgstr "Пока %s добывал продовольствие, его начал преследовать зверь…" #: src/mission_companion.cpp #, c-format @@ -231599,20 +238771,20 @@ msgstr "%s превращает пуму в кровавое месиво!" #, c-format msgid "" "%s was able to hold off the first wolf but the others that were skulking in " -"the tree line caught up..." +"the tree line caught up…" msgstr "" "%s смог удержать первого волка, но другие, которые находились в лесополосе, " "достали…" #: src/mission_companion.cpp -msgid "I'm sorry, there wasn't anything we could do..." +msgid "I'm sorry, there wasn't anything we could do…" msgstr "Мне жаль, мы ничего не могли поделать…" #: src/mission_companion.cpp #, c-format msgid "" -"We... we don't know what exactly happened but we found %s's gear ripped and " -"bloody..." +"We… we don't know what exactly happened but we found %s's gear ripped and " +"bloody…" msgstr "" "Мы… мы не знаем что точно произошло, но мы нашли окровавленные и разорванные" " вещи %s…" @@ -231625,7 +238797,7 @@ msgstr "Боюсь, ваш компаньон не вернётся." #, c-format msgid "" "%s returns from working as a forager having earned $%d and a bit of " -"experience..." +"experience…" msgstr "" "%s возвращается с работы по добыче продовольствия, зарабатывая $%d и немного" " опыта…" @@ -231659,26 +238831,50 @@ msgid "Engagement between %d members of %s %s and %d members of %s %s%s!" msgstr "Обязательство между %d членами %s %s и %d членами %s %s%s!" #: src/mission_companion.cpp -msgid "You don't have any companions to send out..." +msgid "You don't have any companions to send out…" msgstr "У вас нет компаньонов, которых вы могли бы отослать…" #: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" +msgid "Who do you want to send?" +msgstr "Кого вы хотите послать?" + +#: src/mission_companion.cpp +msgid "[ COMBAT : SURVIVAL : INDUSTRY ]" msgstr "" -"Кого вы хотите послать? [ БОЙ : ВЫЖИВАНИЕ : ПРОИЗВОДСТВО " -"]" +#. ~ %1$s: npc name +#: src/mission_companion.cpp +#, c-format +msgctxt "companion" +msgid "%1$s (Guarding)" +msgstr "%1$s (Защищается)" + +#: src/mission_companion.cpp +#, c-format +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" +msgstr "%s [ %4d : %4d : %4d ]" + +#. ~ %1$s: skill name, %2$d: companion skill level #: src/mission_companion.cpp -msgid "You choose to send no one..." -msgstr "Вы решили никого не посылать." +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d" +msgstr "%1$s %2$d" + +#. ~ %1$s: skill name, %2$d: companion skill level, %3$d: skill requirement +#: src/mission_companion.cpp +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d/%3$d" +msgstr "%1$s %2$d/%3$d" #: src/mission_companion.cpp -msgid "The companion you selected doesn't have the skills!" -msgstr "Компаньон, которого вы выбрали, не обладает необходимыми навыками!" +msgid "You choose to send no one…" +msgstr "Вы решаете никого не отсылать…" #: src/mission_companion.cpp -msgid "You don't have any companions ready to return..." +msgid "You don't have any companions ready to return…" msgstr "У вас нет компаньонов, готовых вернуться…" #: src/mission_companion.cpp @@ -231686,7 +238882,7 @@ msgid "Who should return?" msgstr "Кто должен вернуться?" #: src/mission_companion.cpp -msgid "No one returns to your party..." +msgid "No one returns to your party…" msgstr "Никто не возвращается в вашу команду…" #: src/mission_end.cpp @@ -231718,17 +238914,16 @@ msgid "Download Software" msgstr "Скачать программу" #: src/mission_start.cpp -msgid "You don't know where the address could be..." +msgid "You don't know where the address could be…" msgstr "Вы не знаете, где находится этот адрес…" #: src/mission_start.cpp -msgid "You mark the refugee center and the road that leads to it..." +msgid "You mark the refugee center and the road that leads to it…" msgstr "Вы отмечаете центр для беженцев и дорогу к нему…" #: src/mission_start.cpp msgid "" -"You mark the refugee center, but you have no idea how to get there by " -"road..." +"You mark the refugee center, but you have no idea how to get there by road…" msgstr "" "Вы отмечаете центр для беженцев, но понятия не имеете, как туда добраться…" @@ -231806,7 +239001,7 @@ msgstr "У вас нет проваленных заданий!" #: src/mission_util.cpp #, c-format -msgid "%s also marks the road that leads to it..." +msgid "%s also marks the road that leads to it…" msgstr "%s также отмечает дорогу, которая ведёт к нему…" #: src/mission_util.cpp @@ -232205,14 +239400,6 @@ msgstr "тук-ТУК." msgid "The root walls creak around you." msgstr "Стена из корней вокруг вас издаёт скрипучий звук." -#. ~ the sound of a fungus releasing spores -#. ~ That spore sound again -#. ~ the sound of a fungus dying -#. ~spore-release sound -#: src/monattack.cpp src/mondeath.cpp src/player.cpp -msgid "Pouf!" -msgstr "«Пфф!»" - #: src/monattack.cpp #, c-format msgid "Spores are released from the %s!" @@ -232264,7 +239451,7 @@ msgstr "%s пульсирует, и наружу вырывается свежи #: src/monattack.cpp #, c-format -msgid "The %s seems to wave you toward the tower..." +msgid "The %s seems to wave you toward the tower…" msgstr "Вам кажется, будто %s машет в сторону башни…" #: src/monattack.cpp @@ -232279,7 +239466,7 @@ msgid "The %1$s sinks its point into your %2$s!" msgstr "%1$s втыкает свой щуп вам в %2$s!" #: src/monattack.cpp -msgid "You feel thousands of live spores pumping into you..." +msgid "You feel thousands of live spores pumping into you…" msgstr "Вы чувствуете, как тысячи живых спор вливаются в вас…" #. ~ 1$s is monster name, 2$s bodypart in accusative @@ -232316,7 +239503,7 @@ msgstr "Вас оттолкнула выросшая грибная стена!" #: src/monattack.cpp #, c-format -msgid "The %s spreads its tendrils. It seems as though it's expecting you..." +msgid "The %s spreads its tendrils. It seems as though it's expecting you…" msgstr "%s расстилает свои усики. Такое ощущение, будто она ждёт вас…" #: src/monattack.cpp @@ -232329,7 +239516,7 @@ msgstr "" #: src/monattack.cpp #, c-format msgid "" -"The %s works several tendrils into your arms, legs, torso, and even neck..." +"The %s works several tendrils into your arms, legs, torso, and even neck…" msgstr "%s втыкает несколько усиков вам в руки, ноги, торс и даже шею…" #: src/monattack.cpp @@ -232352,8 +239539,8 @@ msgstr "Прошла во врата марло." #. ~ Beginning to hear the Mycus while conscious: this is it speaking #: src/monattack.cpp msgid "" -"assistance, on an arduous quest. unity. together we have reached the door. " -"now to pass through..." +"assistance, on an arduous quest. unity. together we have reached the door." +" now to pass through…" msgstr "" "помощь, в трудном задании. единство. вместе мы дошли до двери. время войти " "внутрь…" @@ -232378,7 +239565,7 @@ msgid "The %s takes aim, and spears at you with a massive tendril!" msgstr "%s прицеливается и протыкает вас огромным усиком!" #: src/monattack.cpp -msgid "You feel millions of live spores pumping into you..." +msgid "You feel millions of live spores pumping into you…" msgstr "Вы чувствуете, как миллионы живых спор вливаются в вас…" #: src/monattack.cpp @@ -232538,8 +239725,8 @@ msgstr "Вас пытается схватить %s, но вы отшвырив #: src/monattack.cpp #, c-format -msgid "The %s tries to grab you..." -msgstr "%s пытается вас схватить..." +msgid "The %s tries to grab you…" +msgstr "%s пытается вас схватить…" #: src/monattack.cpp #, c-format @@ -232592,6 +239779,10 @@ msgstr "Вы чувствуете, что яд попал в ваш органи msgid "The %s young triffid grows into an adult!" msgstr "%s молодой триффид подрос и стал взрослой особью!" +#: src/monattack.cpp +msgid "You feel a strange reverberation accross your body." +msgstr "Вы чувствуете странную дрожь по всему телу." + #: src/monattack.cpp #, c-format msgid "The %s stares at you, and you shudder." @@ -232689,11 +239880,11 @@ msgstr "" "%s опознаёт вас как уполномоченного офицера, но бродит вокруг и наблюдает." #: src/monattack.cpp -msgid "Probably some now-obsolete Internal Affairs subroutine..." +msgid "Probably some now-obsolete Internal Affairs subroutine…" msgstr "Вероятно, некая теперь устаревшая подпрограмма Внутренних дел…" #: src/monattack.cpp -msgid "Ops used to do that in case you needed backup..." +msgid "Ops used to do that in case you needed backup…" msgstr "Это на всякий случай, если вам потребуется поддержка…" #: src/monattack.cpp @@ -232729,8 +239920,8 @@ msgid "The %s takes your picture!" msgstr "%s делает ваш фотоснимок!" #: src/monattack.cpp -msgid "... database connection lost!" -msgstr "… потеряна связь с базой данных!" +msgid "…database connection lost!" +msgstr "…потеряна связь с базой данных!" #: src/monattack.cpp #, c-format @@ -232789,7 +239980,7 @@ msgstr "Да на мне око диавола!" #. ~ Potential grenading detected. #: src/monattack.cpp -msgid "Those laser dots don't seem very friendly..." +msgid "Those laser dots don't seem very friendly…" msgstr "Эти лазерные точки не выглядят очень дружелюбными…" #: src/monattack.cpp @@ -232837,23 +240028,23 @@ msgid "a police siren, whoop WHOOP" msgstr "полицейская сирена, вуп-вуп-ВУП" #: src/monattack.cpp -msgid "\"YOU... ARE FILTH...\"" +msgid "\"YOU… ARE FILTH…\"" msgstr "«ТЫ… МЕРЗКИЙ…»" #: src/monattack.cpp -msgid "\"VERMIN... YOU ARE VERMIN...\"" +msgid "\"VERMIN… YOU ARE VERMIN…\"" msgstr "«ЧЕРВЯК… ТЫ ЧЕРВЯК…»" #: src/monattack.cpp -msgid "\"LEAVE NOW...\"" +msgid "\"LEAVE NOW…\"" msgstr "«ПРОВАЛИВАЙ…»" #: src/monattack.cpp -msgid "\"WE... WILL FEAST... UPON YOU...\"" +msgid "\"WE… WILL FEAST… UPON YOU…\"" msgstr "«МЫ… ПОЛАКОМИМСЯ… ТОБОЙ…»" #: src/monattack.cpp -msgid "\"FOUL INTERLOPER...\"" +msgid "\"FOUL INTERLOPER…\"" msgstr "«ГЛУПЫЙ ЧЕЛОВЕЧИШКА…»" #. ~ %1$s is the name of the zombie upgrading the other, %2$s is the zombie @@ -233054,13 +240245,13 @@ msgstr "" #: src/monattack.cpp #, c-format -msgid "The %s slashes at your neck! You duck!" -msgstr "%s режет вашу шею! Вы пригибаетесь!" +msgid "The %s slashes at your neck! You duck!" +msgstr "%s режет вашу шею! Вы пригибаетесь!" #: src/monattack.cpp #, c-format -msgid "The %s slashes at 's neck! They duck!" -msgstr "%s режет шею у ! Он пригибается!" +msgid "The %s slashes at 's neck! They duck!" +msgstr "%s режет шею ! Он пригибается!" #: src/monattack.cpp #, c-format @@ -233160,7 +240351,7 @@ msgid "but you grab its arm and flip it to the ground!" msgstr "но вы хватаете его за руку и перекидываете резким движением на землю!" #: src/monattack.cpp -msgid "The flip does shock you..." +msgid "The flip does shock you…" msgstr "Бросок бьёт вас током…" #: src/monattack.cpp @@ -233169,7 +240360,7 @@ msgstr "но вы ловко вырываетесь из хватки!" #: src/monattack.cpp msgid "" -"Halt and submit to arrest, citizen! The police will be here any moment." +"Halt and submit to arrest, citizen! The police will be here any moment." msgstr "" "Остановитесь и подчинитесь аресту, гражданин! Полиция прибудет в любой " "момент." @@ -233317,7 +240508,7 @@ msgstr "%1$s швыряет %2$s на землю!" #. ~ 1$s is bodypart name in accusative, 2$d is damage value. #: src/monattack.cpp #, c-format -msgid "The zombie kicks your %1$s for %2$d damage..." +msgid "The zombie kicks your %1$s for %2$d damage…" msgstr "Зомби ударил ваш %1$s и нанёс %2$d урона…" #: src/monattack.cpp @@ -233422,6 +240613,11 @@ msgstr "Рука существа (%1$s) попадает в ваш %2$s, но msgid "The %1$s hits 's %2$s, but glances off armor!" msgstr "%1$s попадает в %2$s (), но соскальзывает по броне!" +#: src/monattack.cpp +#, c-format +msgid "The %1$s fuses with the %2$s." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s doots its trumpet!" @@ -233532,7 +240728,7 @@ msgid "The %s melts away." msgstr "%s тает!" #: src/mondeath.cpp -msgid "Your obsession with the fault fades away..." +msgid "Your obsession with the fault fades away…" msgstr "Ваше чувство вины проходит…" #: src/mondeath.cpp @@ -233625,11 +240821,6 @@ msgstr "Брызги кислоты разлетаются по округе п msgid "zombie slave" msgstr "зомби-раб" -#: src/monexamine.cpp src/player.cpp -#, c-format -msgid "What to do with your %s?" -msgstr "Что сделать с %s?" - #: src/monexamine.cpp #, c-format msgid "Push %s" @@ -233810,28 +241001,29 @@ msgstr "У вас нет нужной карточки, чтобы активи #: src/monexamine.cpp #, c-format msgid "" -"Welcome to the %s Friendship Interface. What would you like to do?\n" +"Welcome to the %s Friendship Interface. What would you like to do?\n" "Your current friendship will last: %s" msgstr "" "Добро пожаловать в Интерфейс Дружбы %s. Что вы хотите сделать?\n" "Ваша текущая дружба продлится: %s" #: src/monexamine.cpp -msgid "Get more friendship. 10 cents/min" +msgid "Get more friendship. 10 cents/min" msgstr "Получить больше дружбы. 10 центов/мин" #: src/monexamine.cpp -msgid "Sadly you're not currently able to extend your friendship. - Quit menu" -msgstr "К сожалению, сейчас вы не можете продлить дружбу. - Выйти из меню" +msgid "" +"Sadly you're not currently able to extend your friendship. - Quit menu" +msgstr "К сожалению, сейчас вы не можете продлить дружбу. — Выйти из меню" #: src/monexamine.cpp #, c-format -msgid "How much friendship do you get? Max: %d minute. (0 to cancel) " -msgid_plural "How much friendship do you get? Max: %d minutes. " -msgstr[0] "Сколько дружбы вы хотите? Макс: %d минута. (0 для отмены)" -msgstr[1] "Сколько дружбы вы хотите? Макс: %d минуты. (0 для отмены)" -msgstr[2] "Сколько дружбы вы хотите? Макс: %d минут. (0 для отмены)" -msgstr[3] "Сколько дружбы вы хотите? Макс: %d минуты." +msgid "How much friendship do you get? Max: %d minute. (0 to cancel)" +msgid_plural "How much friendship do you get? Max: %d minutes." +msgstr[0] "Сколько дружбы вы хотите? Макс.: %d минуту." +msgstr[1] "Сколько дружбы вы хотите? Макс.: %d минуты." +msgstr[2] "Сколько дружбы вы хотите? Макс.: %d минут." +msgstr[3] "Сколько дружбы вы хотите? Макс.: %d минуты." #: src/monexamine.cpp #, c-format @@ -233887,7 +241079,7 @@ msgstr "Нет контейнера на %s, чтобы убрать!" #: src/monexamine.cpp #, c-format -msgid "%1$s is overburdened. You can't transfer your %2$s." +msgid "%1$s is overburdened. You can't transfer your %2$s." msgstr "%1$s перегружен. Вы не можете перенести %2$s." #: src/monexamine.cpp @@ -234119,6 +241311,16 @@ msgstr "плотная желеобразная масса" msgid "wearing %1$s" msgstr "надето: %1$s" +#: src/monster.cpp +#, c-format +msgid "The %s" +msgstr "%s" + +#: src/monster.cpp +#, c-format +msgid "The %s's" +msgstr "%s" + #: src/monster.cpp #, c-format msgid "the %s's" @@ -234161,6 +241363,11 @@ msgstr "Знает о вашем присутствии!" msgid "Rider: %s" msgstr "Наездник: %s" +#: src/monster.cpp +#, c-format +msgid " It is %s." +msgstr " Это %s." + #: src/monster.cpp msgid "Difficulty " msgstr "Сложность " @@ -234391,7 +241598,7 @@ msgid "You're envenomed!" msgstr "Вы отравлены!" #: src/monster.cpp -msgid "You feel venom flood your body, wracking you with pain..." +msgid "You feel venom flood your body, wracking you with pain…" msgstr "Вы чувствуете, как яд течёт по вашему телу, наполняя вас болью…" #: src/monster.cpp @@ -234529,6 +241736,14 @@ msgstr "Споры превращают %1$s в %2$s!" msgid "Total morale:" msgstr "Общая мораль:" +#: src/morale.cpp +msgid "Pain level:" +msgstr "Уровень боли:" + +#: src/morale.cpp +msgid "Fatigue level:" +msgstr "Уровень усталости:" + #: src/morale.cpp msgid "Focus trends towards:" msgstr "Фокус смещается в сторону:" @@ -234609,7 +241824,7 @@ msgstr "" #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp -msgid "wow! you look just like me! we should look out for each other!" +msgid "wow! you look just like me! we should look out for each other!" msgstr "" "ух ты! ты выглядишь прямо как я! мы должны держаться ближе друг к другу!" @@ -234647,7 +241862,7 @@ msgid "Bionic power storage increased by 100." msgstr "Хранилище бионической энергии увеличено на 100." #: src/mutation.cpp -msgid "You feel something straining deep inside you, yearning to be free..." +msgid "You feel something straining deep inside you, yearning to be free…" msgstr "" "Вы чувствуете, как что-то напряглось внутри вас, стремясь освободиться…" @@ -234782,7 +241997,7 @@ msgid "Suffered a toxic marloss/mutagen reaction." msgstr "Испытала отравление марло/мутагеном." #: src/mutation.cpp -msgid "Something strains mightily for a moment... and then... you're... FREE!" +msgid "Something strains mightily for a moment… and then… you're… FREE!" msgstr "Что-то сильно напряглось на мгновение… и затем… вы… ОСВОБОДИЛИСЬ!" #: src/mutation.cpp @@ -234800,7 +242015,7 @@ msgid "You stagger with a piercing headache!" msgstr "Вас зашатало из-за пронзительной головной боли!" #: src/mutation.cpp -msgid "Your head throbs with memories of your life, before all this..." +msgid "Your head throbs with memories of your life, before all this…" msgstr "" "Ваша голова раскалывается от воспоминаний из вашей жизни, до всего этого…" @@ -234819,7 +242034,7 @@ msgid "Crossed a threshold" msgstr "Пересекла порог" #: src/mutation_data.cpp -msgid "Oh, yeah! That's the stuff!" +msgid "Oh, yeah! That's the stuff!" msgstr "О, да! Это то, что было нужно!" #: src/mutation_ui.cpp @@ -234907,7 +242122,7 @@ msgstr "%s; введите новую букву." #: src/mutation_ui.cpp #, c-format msgid "" -"Invalid mutation letter. Only those characters are valid:\n" +"Invalid mutation letter. Only those characters are valid:\n" "\n" "%s" msgstr "" @@ -234937,7 +242152,7 @@ msgstr "" msgid "Tom" msgstr "Том" -#. ~ Used for constructing full name: %1$s is `family name`, %2$s is `given +#. ~ Used for constructing full name: %1$s is `given name`, %2$s is `family #. name` #: src/name.cpp #, c-format @@ -234945,8 +242160,8 @@ msgctxt "Full Name" msgid "%1$s %2$s" msgstr "%1$s %2$s" -#. ~ Used for constructing full name with nickname: %1$s is `family name`, -#. %2$s is `given name`, %3$s is `nickname` +#. ~ Used for constructing full name with nickname: %1$s is `given name`, %2$s +#. is `family name`, %3$s is `nickname` #: src/name.cpp #, c-format msgctxt "Full Name" @@ -234973,8 +242188,8 @@ msgstr "Свободный режим" #: src/newcharacter.cpp src/player.cpp #, c-format -msgid "Select a style. (press %s for more info)" -msgstr "Выберите стиль (нажмите %s для получения дополнительной информации)" +msgid "Select a style. (press %s for more info)" +msgstr "Выберите стиль. (нажмите %s для получения дополнительной информации)" #: src/newcharacter.cpp msgid "Use this style?" @@ -235008,14 +242223,14 @@ msgstr "СЦЕНАРИЙ" msgid "PROFESSION" msgstr "ПРОФЕССИЯ" -#: src/newcharacter.cpp src/player_display.cpp -msgid "TRAITS" -msgstr "ЧЕРТЫ" - #: src/newcharacter.cpp src/player_display.cpp msgid "STATS" msgstr "ХАРАКТЕРИСТИКИ" +#: src/newcharacter.cpp src/player_display.cpp +msgid "TRAITS" +msgstr "ЧЕРТЫ" + #: src/newcharacter.cpp src/player_display.cpp msgid "SKILLS" msgstr "НАВЫКИ" @@ -235432,9 +242647,9 @@ msgstr[3] "Сценарий «%1$s» стоит %2$d очко" #: src/newcharacter.cpp msgid "" -"This scenario is not available in this world due to city size settings. " +"This scenario is not available in this world due to city size settings." msgstr "" -"Этот сценарий недоступен в этом мире из-за выбранных настроек размеров " +"Этот сценарий недоступен в этом мире из-за выбранной настройки размера " "городов." #: src/newcharacter.cpp @@ -235530,10 +242745,6 @@ msgstr "Характеристики:" msgid "Traits: " msgstr "Черты: " -#: src/newcharacter.cpp -msgid "(Top 8)" -msgstr "(Первые 8)" - #: src/newcharacter.cpp #, c-format msgid "Press %s to finish character creation or %s to go back." @@ -235611,8 +242822,8 @@ msgid "_______NO NAME ENTERED!_______" msgstr "_______ИМЯ НЕ ВВЕДЕНО!_______" #: src/newcharacter.cpp -msgid "Are you SURE you're finished? Your name will be randomly generated." -msgstr "Вы уверены, что хотите закончить? Будет выбрано случайное имя." +msgid "Are you SURE you're finished? Your name will be randomly generated." +msgstr "Вы УВЕРЕНЫ, что закончили? Ваше имя будет сгенерировано случайно." #: src/newcharacter.cpp src/worldfactory.cpp msgid "Are you SURE you're finished?" @@ -235651,7 +242862,7 @@ msgstr "%1$s, %2$s" #: src/npc.cpp #, c-format msgid "This %s is not good reading material." -msgstr "%s - плохое чтиво." +msgstr "%s — плохое чтиво." #: src/npc.cpp msgid "I'm not smart enough to read this book." @@ -235790,10 +243001,6 @@ msgstr "Боится" msgid "Very afraid" msgstr "Очень боится" -#: src/npc.cpp -msgid "Terrified" -msgstr "В ужасе" - #: src/npc.cpp msgid "Fear: " msgstr "Страх: " @@ -235917,56 +243124,52 @@ msgid "NPC Legacy Attitude" msgstr "Унаследованное отношение NPC" #: src/npc.cpp -msgid "Not much" -msgstr "" - -#: src/npc.cpp -msgid "Cooking" -msgstr "" +msgid "Cooking and butchering" +msgstr "Готовка и разделка" #: src/npc.cpp msgid "Tidying and cleaning" -msgstr "" +msgstr "Уборка и чистка" #: src/npc.cpp msgid "Vehicle work" -msgstr "" +msgstr "Работа с транспортом" #: src/npc.cpp msgid "Building" -msgstr "" +msgstr "Строительство" #: src/npc.cpp msgid "Crafting" -msgstr "" +msgstr "Крафт" #: src/npc.cpp msgid "Guarding and patrolling" -msgstr "" +msgstr "Охрана и патрулирование" #: src/npc.cpp msgid "Working the fields" -msgstr "" +msgstr "Работа в поле" #: src/npc.cpp msgid "Chopping wood" -msgstr "" +msgstr "Рубка леса" #: src/npc.cpp msgid "Caring for the livestock" -msgstr "" +msgstr "Уход за скотиной" #: src/npc.cpp -msgid "Hunting for meat" -msgstr "" +msgid "Hunting and fishing" +msgstr "Охота и рыбалка" #: src/npc.cpp msgid "Gathering edibles" -msgstr "" +msgstr "Добыча пропитания" #: src/npc.cpp msgid "Unknown job" -msgstr "" +msgstr "Неизвестная работа" #: src/npc.cpp msgid "Is trying to kill you." @@ -236064,7 +243267,7 @@ msgid "Hold still %s, I'm coming to help you." msgstr "Держись %s, иду на помощь." #: src/npcmove.cpp -msgid "Don't move a muscle..." +msgid "Don't move a muscle…" msgstr "Не двигай, , ни одним мускулом…" #: src/npcmove.cpp @@ -236166,8 +243369,8 @@ msgstr "%1$s забирает ваш %2$s." #: src/npcmove.cpp #, c-format msgid "" -"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" -msgstr "Вы слышите, как %s вызывает вас по рации: «Я на месте, босс!»" +"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" +msgstr "Из рации слышно голос %s: «Я на месте, босс!»" #: src/npcmove.cpp #, c-format @@ -236176,7 +243379,7 @@ msgstr "%s %s" #: src/npcmove.cpp #, c-format -msgid "My %s wound is infected..." +msgid "My %s wound is infected…" msgstr "Рана у меня на %s заражена…" #: src/npcmove.cpp @@ -236189,7 +243392,7 @@ msgid "" msgstr "" #: src/npcmove.cpp -msgid "I'm suffering from radiation sickness..." +msgid "I'm suffering from radiation sickness…" msgstr "Я страдаю от радиационного отравления…" #: src/npcmove.cpp @@ -236309,8 +243512,8 @@ msgid "Talk to %s" msgstr "Поговорить с %s" #: src/npctalk.cpp -msgid "Talk to ..." -msgstr "Поговорить с …" +msgid "Talk to…" +msgstr "Поговорить с…" #: src/npctalk.cpp msgid "Yell" @@ -236334,7 +243537,7 @@ msgid "Tell %s to follow" msgstr "Приказать %s следовать за вами" #: src/npctalk.cpp -msgid "Tell someone to follow..." +msgid "Tell someone to follow…" msgstr "Приказать кому-нибудь следовать…" #: src/npctalk.cpp @@ -236343,8 +243546,8 @@ msgid "Tell %s to guard" msgstr "Приказать %s охранять позицию" #: src/npctalk.cpp -msgid "Tell someone to guard..." -msgstr "Приказать кому-нибудь охранять позицию…" +msgid "Tell someone to guard…" +msgstr "Приказать кому-нибудь охранять…" #: src/npctalk.cpp msgid "Tell everyone on your team to wake up" @@ -236368,7 +243571,7 @@ msgstr "" "Приказать всем спутникам расслабиться (Очистить перекрывающие приказы)" #: src/npctalk.cpp -msgid "Tell everyone on your team to temporarily..." +msgid "Tell everyone on your team to temporarily…" msgstr "Приказать всем спутникам временно…" #: src/npctalk.cpp @@ -236469,7 +243672,7 @@ msgstr "&Вы глухи и не можете говорить." #: src/npctalk.cpp #, c-format msgid "" -"&You are deaf and can't talk. When you don't respond, %s becomes angry!" +"&You are deaf and can't talk. When you don't respond, %s becomes angry!" msgstr "" "&Вы глухи и не можете говорить. Когда вы не отвечаете, %s начинает злиться!" @@ -236503,7 +243706,7 @@ msgid "Sorry, but it doesn't seem I have anything to teach you." msgstr "Извини, но, судя по всему, мне нечему обучить тебя." #: src/npctalk.cpp -msgid "Here's what I can teach you..." +msgid "Here's what I can teach you…" msgstr "Вот чему я могу научить тебя…" #: src/npctalk.cpp @@ -236521,16 +243724,23 @@ msgstr[2] "%d футов." msgstr[3] "%d фут." #: src/npctalk.cpp -msgid "I'm holing up here for safety." -msgstr "Я буду здесь в безопасности." +#, c-format +msgid "I'm holing up here for safety. Long term, %s" +msgstr "Я буду здесь в безопасности. Долго, %s" #: src/npctalk.cpp msgid "I run the shop here." msgstr "У меня здесь магазин." #: src/npctalk.cpp -msgid "I'm guarding this location." -msgstr "Я охраняю эту территорию." +#, c-format +msgid "Currently, I'm guarding this location. Overall, %s" +msgstr "В настоящее время я охраняю эту территорию. В целом, %s" + +#: src/npctalk.cpp +#, c-format +msgid "Right now, I'm . In general, %s" +msgstr "Сейчас я . В основном, %s" #: src/npctalk.cpp msgid "&You yell, but can't hear yourself." @@ -236542,7 +243752,7 @@ msgstr "&Вы кричите." #: src/npctalk.cpp msgid "&You can't make anything out." -msgstr "" +msgstr "&Вы не можете ничего сделать." #: src/npctalk.cpp #, c-format @@ -236624,6 +243834,16 @@ msgstr "У меня есть новости." msgid "Yes, let's resume training " msgstr "Да, давай продолжим тренировку " +#: src/npctalk.cpp +#, c-format +msgid "%s: 1 hour lesson (cost %s)" +msgstr "%s: 1 часовой урок (стоимость %s)" + +#: src/npctalk.cpp +#, c-format +msgid "%s: teaching spell knowledge (cost %s)" +msgstr "" + #. ~Martial art style (cost in dollars) #: src/npctalk.cpp #, c-format @@ -236639,8 +243859,8 @@ msgstr "%s: %d (%d%%) -> %d (%d%%) (цена $%d)" #: src/npctalk.cpp #, c-format -msgid "%s: %d (%d%%) -> %d" -msgstr "%s: %d (%d%%) -> %d" +msgid "%s: %d (%d%%) -> %d (%d%%)" +msgstr "%s: %d (%d%%) -> %d (%d%%)" #: src/npctalk.cpp msgid "Okay, thanks." @@ -236673,7 +243893,7 @@ msgstr "." #: src/npctalk.cpp msgctxt "punctuation" -msgid "..." +msgid "…" msgstr "…" #: src/npctalk.cpp @@ -236720,8 +243940,8 @@ msgid "%s: %s" msgstr "%s: %s" #: src/npctalk.cpp -msgid "You'll be helpless! Proceed?" -msgstr "Ты будешь беззащитен! Продолжать?" +msgid "You'll be helpless! Proceed?" +msgstr "Вы будете беззащитны! Продолжать?" #: src/npctalk.cpp #, c-format @@ -236780,11 +244000,11 @@ msgid "You learn how to craft %s." msgstr "Вы учитесь, как делать %s." #: src/npctalk.cpp -msgid "I don't trust you enough to eat THIS..." +msgid "I don't trust you enough to eat THIS…" msgstr "Я не верю тебе настолько, чтобы, , есть ЭТО…" #: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this..." +msgid "It doesn't look like a good idea to consume this…" msgstr "Не очень хорошая идея — есть это…" #: src/npctalk.cpp @@ -236792,10 +244012,6 @@ msgstr "Не очень хорошая идея — есть это…" msgid "I need a %s to consume that!" msgstr "Мне нужен %s, чтобы употребить это!" -#: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this.." -msgstr "Не очень хорошая идея — есть это…" - #: src/npctalk.cpp msgid "Offer what?" msgstr "Что предложить?" @@ -236817,7 +244033,7 @@ msgid "Are you insane!?" msgstr "Ты, , псих?!" #: src/npctalk.cpp -msgid "Here we go..." +msgid "Here we go…" msgstr "Вот так…" #: src/npctalk.cpp @@ -236843,7 +244059,7 @@ msgid "I can only store %s %s more." msgstr "Я могу взять только %s %s ещё." #: src/npctalk.cpp -msgid "...or to store anything else for that matter." +msgid "…or to store anything else for that matter." msgstr "… или хранить что-нибудь ещё, если на то пошло." #: src/npctalk.cpp @@ -236873,39 +244089,15 @@ msgstr "%1$s (%2$d, %3$d)" msgid "My current location" msgstr "Мое текущее местоположение" -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name #: src/npctalk_funcs.cpp #, c-format -msgid "%1$s is assigned to %2$s" -msgstr "%1$s приписан к %2$s" - -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name -#: src/npctalk_funcs.cpp -#, c-format -msgid "%1$s is assigned to guard %2$s" -msgstr "%1$s приписан охранять %2$s" - -#. ~ %1$s is the NPC's translated name, %2$s is the pronoun for the NPC's -#. gender -#: src/npctalk_funcs.cpp -#, c-format -msgid "%1$s will wait for you where %2$s is." -msgstr "%1$s будет ждать вас там, где %2$s находится." - -#: src/npctalk_funcs.cpp -msgid "he" -msgstr "он" - -#: src/npctalk_funcs.cpp -msgid "she" -msgstr "она" +msgid "That is not a valid destination for %s." +msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s is posted as a guard." -msgstr "%s в качестве охранника." +msgid "%1$s is assigned to %2$s" +msgstr "%1$s приписан к %2$s" #: src/npctalk_funcs.cpp #, c-format @@ -236923,7 +244115,7 @@ msgid "You start a fight with %s!" msgstr "Вы начали драться с %s!" #: src/npctalk_funcs.cpp -msgid "You don't have any bionics installed..." +msgid "You don't have any bionics installed…" msgstr "У вас не установлена никакая бионика…" #: src/npctalk_funcs.cpp @@ -236931,12 +244123,8 @@ msgid "Which bionic do you wish to uninstall?" msgstr "Какую бионику вы хотели бы удалить?" #: src/npctalk_funcs.cpp -msgid "You decide to hold off..." -msgstr "Вы решили отказаться от…" - -#: src/npctalk_funcs.cpp -msgid "You can't afford the procedure..." -msgstr "Вы не можете позволить себе процедуру…" +msgid "You decide to hold off…" +msgstr "Вы решили подождать…" #: src/npctalk_funcs.cpp #, c-format @@ -236957,7 +244145,7 @@ msgid "Choose a new facial hair style" msgstr "Выбор новой бороды и усов" #: src/npctalk_funcs.cpp -msgid "Actually... I've changed my mind." +msgid "Actually… I've changed my mind." msgstr "Впрочем… Я передумал." #: src/npctalk_funcs.cpp @@ -236966,17 +244154,17 @@ msgstr "У вас новая модная стрижка!" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent haircut..." +msgid "%s gives you a decent haircut…" msgstr "%s прилично вас постриг…" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent shave..." +msgid "%s gives you a decent shave…" msgstr "%s прилично вас побрил…" #: src/npctalk_funcs.cpp #, c-format -msgid "That was a pleasant conversation with %s..." +msgid "That was a pleasant conversation with %s…" msgstr "Было приятно пообщаться с %s…" #: src/npctalk_funcs.cpp @@ -236986,8 +244174,8 @@ msgstr "Было приятно пообщаться с %s." #: src/npctalk_funcs.cpp #, c-format -msgid "%s drops the logs off in the garage..." -msgstr "%s сбрасывает брёвна в гараже…" +msgid "%s drops the logs off in the garage…" +msgstr "%s выбрасывает брёвна в гараже…" #: src/npctalk_funcs.cpp #, c-format @@ -237004,6 +244192,11 @@ msgstr "%s обращается в бегство!" msgid "%s leaves." msgstr "%s уходит." +#: src/npctalk_funcs.cpp +#, c-format +msgid "%s stops following." +msgstr "%s прекращает следование." + #: src/npctalk_funcs.cpp #, c-format msgid "%s feels less threatened by you." @@ -237086,7 +244279,7 @@ msgstr "%s не может нести всё это." #: src/npctrade.cpp #, c-format msgid "" -"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" +"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" "\n" "Continue with trade?" msgstr "" @@ -237095,7 +244288,7 @@ msgstr "" "Продолжить торговать?" #: src/npctrade.cpp -msgid "Looks like a deal! Accept this trade?" +msgid "Looks like a deal! Accept this trade?" msgstr "Отлично, по рукам! Совершить сделку?" #: src/npctrade.h @@ -237221,7 +244414,7 @@ msgstr "" #: src/options.cpp msgid "Auto pickup weight limit" -msgstr "Лимит массы для автоподъёма" +msgstr "Лимит массы для автоподбора" #: src/options.cpp msgid "" @@ -237233,7 +244426,7 @@ msgstr "" #: src/options.cpp msgid "Auto pickup volume limit" -msgstr "Лимит объёма для автоподъёма" +msgstr "Лимит объёма для автоподбора" #: src/options.cpp msgid "" @@ -237414,7 +244607,7 @@ msgstr "Ходов до авто-включения безопасного ре #: src/options.cpp msgid "" -"Number of turns after which safe mode is reactivated. Will only reactivate " +"Number of turns after which safe mode is reactivated. Will only reactivate " "if no hostiles are in 'Safe mode proximity distance.'" msgstr "" "Количество ходов, через которое безопасный режим включается при отсутствии " @@ -237481,7 +244674,7 @@ msgstr "Автоматические заметки" #: src/options.cpp msgid "If true, automatically sets notes" -msgstr "Если включено, автоматически расставляет пометки" +msgstr "Если включено, автоматически расставляет пометки." #: src/options.cpp msgid "Auto notes (stairs)" @@ -237502,7 +244695,7 @@ msgid "" "If true, automatically sets notes on places that contain various map extras" msgstr "" "Если включено, автоматически расставляет пометки на местах с какими-либо " -"особенностями" +"особенностями." #: src/options.cpp msgid "Circular distances" @@ -237525,8 +244718,8 @@ msgstr "Выбрасывать пустые ёмкости" #: src/options.cpp msgid "" -"Set to drop empty containers after use. No: Don't drop any. - Watertight: " -"All except watertight containers. - All: Drop all containers." +"Set to drop empty containers after use. No: Don't drop any. - Watertight: " +"All except watertight containers. - All: Drop all containers." msgstr "" "Выбрасывать ли пустые контейнеры после использования. Нет: не выбрасывать; " "Водонепроницаемые: всё, кроме водонепроницаемых контейнеров; Всё: " @@ -237701,12 +244894,14 @@ msgstr "" "бросках." #: src/options.cpp -msgid "Query on disassembly" -msgstr "Запрос перед разборкой предмета" +msgid "Query on disassembly while butchering" +msgstr "Запрос на разборку при разделке" #: src/options.cpp -msgid "If true, will query before disassembling items." -msgstr "Если «да», то перед разборкой предмета будет задаваться вопрос." +msgid "If true, will query before disassembling items while butchering." +msgstr "" +"Если «да», то перед разборкой предметов при разделке будет задаваться " +"вопрос." #: src/options.cpp msgid "Query on keybinding removal" @@ -237841,11 +245036,13 @@ msgstr "Справа" #: src/options.cpp msgid "Draw sidebar spacers" -msgstr "Отрисовывать пробелы боковой панели" +msgstr "Отрисовывать разделители панелей" #: src/options.cpp msgid "If true, adds an extra space between sidebar panels." -msgstr "Если включено, отделяет боковую панель дополнительным пробелом." +msgstr "" +"Если включено, добавляет дополнительные пробелы между панелями боковой " +"панели." #: src/options.cpp msgid "Message log flow" @@ -237878,15 +245075,15 @@ msgstr "" #: src/options.cpp msgid "Message cooldown" -msgstr "Задержка сообщения" +msgstr "Задержка появления сообщений" #: src/options.cpp msgid "" "Number of turns during which similar messages are hidden. '0' disables this" " option." msgstr "" -"Количество ходов, в течение которых подобные сообщения скрыты. «0» отключает" -" эту опцию." +"Количество ходов, в течение которых не будут появляться однотипные " +"сообщения. «0» отключает эту опцию." #: src/options.cpp msgid "Suppress \"unknown command\" messages" @@ -238004,9 +245201,9 @@ msgstr "Авто-буквы в инвентаре" #: src/options.cpp msgid "" -"Enabled: automatically assign letters to any carried items that lack them. " -"Disabled: do not auto-assign letters. Favorites: only auto-assign letters to" -" favorited items." +"Enabled: automatically assign letters to any carried items that lack them. " +"Disabled: do not auto-assign letters. Favorites: only auto-assign letters " +"to favorited items." msgstr "" "Включено: автоматически присваивает буквы всем переносимым предметам, в " "которых они отсутствуют. Отключено: не назначать буквы автоматически. " @@ -238365,7 +245562,7 @@ msgid "" "especially in modes other than \"Solid\"." msgstr "" "Масштабировать пиксельную миникарту согласно окружению. Может привести к " -"странным результатам, особенно в режимах кроме \"Сплошная\"." +"странным результатам, особенно в режимах кроме «Сплошная»." #: src/options.cpp msgid "Maintain pixel minimap aspect ratio" @@ -238399,7 +245596,7 @@ msgstr "" msgid "Display" msgstr "Дисплей" -#: src/options.cpp +#: src/options.cpp src/sdltiles.cpp msgid "" "Sets which video display will be used to show the game. Requires restart." msgstr "" @@ -238496,7 +245693,7 @@ msgid "Scaling factor" msgstr "Коэффициент масштабирования" #: src/options.cpp -msgid "Factor by which to scale the display. Requires restart." +msgid "Factor by which to scale the display. Requires restart." msgstr "" "Указывает, насколько будет увеличено разрешение игры (текст и графика). " "Требует перезапуска." @@ -238623,7 +245820,7 @@ msgstr "" #: src/options.cpp msgid "Vertical range of 3D field of vision" -msgstr "" +msgstr "Вертикальный диапазон 3D поля зрения" #: src/options.cpp msgid "" @@ -238631,6 +245828,9 @@ msgid "" "(This many levels up, this many levels down.) 3D vision of the full height " "of the world can slow the game down a lot. Seeing fewer Z-levels is faster." msgstr "" +"Указывает на сколько уровней простирается экспериментальное 3D поле зрения. " +"(На сколько вверх, на столько же и вниз.) 3D зрение полной высоты мира может" +" сильно замедлить игру. Чем меньше Z-уровней видно, тем меньше лагов." #: src/options.cpp msgid "Experimental path name encoding conversion" @@ -238798,22 +245998,23 @@ msgstr "Первый день" #: src/options.cpp msgid "" -"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can " -"be overridden by scenarios. This does not advance food rot or monster " +"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can" +" be overridden by scenarios. This does not advance food rot or monster " "evolution." msgstr "" -"В какой день года случился катаклизм. День 0 — это Весна 1. Параметр может " -"быть изменён сценариями. Не вызывает порчу продуктов или эволюцию монстров." +"В какой день года случился катаклизм. День 0 — это первый день весны. " +"Параметр может быть изменён сценариями. Не вызывает порчу продуктов или " +"эволюцию монстров." #: src/options.cpp msgid "Spawn delay" -msgstr "Отложение старта" +msgstr "Задержка старта" #: src/options.cpp msgid "" -"How many days after the cataclysm the player spawns. Day 0 is the day of the" -" cataclysm. Can be overridden by scenarios. Increasing this will cause food " -"rot and monster evolution to advance." +"How many days after the cataclysm the player spawns. Day 0 is the day of " +"the cataclysm. Can be overridden by scenarios. Increasing this will cause " +"food rot and monster evolution to advance." msgstr "" "Через сколько дней после катаклизма появляется игрок. День 0 — это день " "катаклизма. Параметр может быть изменён сценариями. Вызовет порчу продуктов " @@ -238886,11 +246087,11 @@ msgstr "Статические NPC" #: src/options.cpp msgid "" -"If true, static NPCs will spawn at pre-defined locations. Requires world " +"If true, static NPCs will spawn at pre-defined locations. Requires world " "reset." msgstr "" -"Если включено, то в начале игры создаются статические NPC-персонажи. Требует" -" перезагрузка мира." +"Если включено, то статические NPC создаются в предопределённых локациях. " +"Требует перезагрузки мира." #: src/options.cpp msgid "Starting NPCs spawn" @@ -239457,6 +246658,10 @@ msgstr[1] "%s #%s -- Окно будет %d пикселя в высоту пр msgstr[2] "%s #%s -- Окно будет %d пикселей в высоту при данном значении." msgstr[3] "%s #%s — Окно будет %d пиксель в высоту при данном значении." +#: src/options.cpp +msgid "Note: " +msgstr "Заметка: " + #: src/options.cpp msgid "Some of these options may produce unexpected results if changed." msgstr "Изменения этих настроек могут привести к непредвиденным результатам." @@ -239479,7 +246684,7 @@ msgid "options" msgstr "настройки" #: src/output.cpp -msgid "Press any key for more..." +msgid "Press any key for more…" msgstr "Дальше по нажатию любой клавиши…" #: src/output.cpp @@ -239653,7 +246858,7 @@ msgstr "[%s] %s" #: src/overmap_ui.cpp #, c-format msgid "" -"LEVEL %i, %d'%d, %d'%d : %s (Distance: " +"LEVEL %i, %d'%d, %d'%d: %s (Distance: " "%d)" msgstr "" "УРОВЕНЬ %i, %d'%d, %d'%d : %s (Расстояние: " @@ -239997,11 +247202,6 @@ msgstr "Очень холодно!" msgid "Freezing!" msgstr "Замерзание!" -#: src/panels.cpp -msgctxt "energy unit: kilojoule" -msgid "kJ" -msgstr "кДж" - #: src/panels.cpp msgid "Bad" msgstr "Плохо" @@ -240163,7 +247363,7 @@ msgstr "Темп : %s" #: src/panels.cpp msgid "Wield:" -msgstr "Оружие :" +msgstr "Оружие:" #: src/panels.cpp msgid "Style:" @@ -240181,6 +247381,7 @@ msgstr "Тепло :" msgid "Underground" msgstr "Под землёй" +#. ~ translation should not exceed 5 console cells #: src/panels.cpp msgid "Wind" msgstr "Ветер" @@ -240240,11 +247441,7 @@ msgstr "Глухота!" #: src/panels.cpp msgid "Weapon :" -msgstr "Оружие :" - -#: src/panels.cpp -msgid "No Style" -msgstr "Без стиля" +msgstr "Оружие:" #: src/panels.cpp msgid "Day " @@ -240258,10 +247455,12 @@ msgstr "Темп :" msgid "to open sidebar options" msgstr "для настройки боковой панели" +#. ~ translation should not exceed 4 console cells #: src/panels.cpp msgid "Mana" msgstr "Мана" +#. ~ translation should not exceed 9 console cells #: src/panels.cpp msgid "Max Mana" msgstr "Макс. мана" @@ -240518,77 +247717,6 @@ msgstr " ставит %1$s на %2$s, чтобы избежать ра msgid "You have learned a new style: %s!" msgstr "Вы изучили новый стиль: %s!" -#: src/player.cpp -#, c-format -msgid "Your %s will be frostnipped in the next few hours." -msgstr "Ваш %s замёрзнет через несколько часов." - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten within the hour!" -msgstr "Ваша %s замёрзнет в течение часа!" - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten any minute now!" -msgstr "Ваша %s замёрзнет в любую минуту!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s beginning to go numb from the cold!" -msgstr "Вы чувствуете, что ваш %s начинает неметь от холода!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very cold." -msgstr "Вы чувствуете, что ваш %s сильно мёрзнет." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting chilly." -msgstr "Вы чувствуете, что ваш %s бросает в дрожь." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting red hot from the heat!" -msgstr "Вы чувствуете, как %s краснеет от жары!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very hot." -msgstr "Вы чувствуете, что ваш %s сильно разгорячён." - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting warm." -msgstr "Вы чувствуете, что ваш %s бросает в жар." - -#: src/player.cpp -#, c-format -msgid "The wind is making your %s feel quite cold." -msgstr "Из-за ветра у вас начинает мёрзнуть %s." - -#: src/player.cpp -#, c-format -msgid "" -"The wind is very strong, you should find some more wind-resistant clothing " -"for your %s." -msgstr "" -"Ветер очень сильный, вы должны найти непродуваемую одежду для вашей %s." - -#: src/player.cpp -#, c-format -msgid "" -"Your clothing is not providing enough protection from the wind for your %s!" -msgstr "" -"Ваша одежда не обеспечивает достаточный уровень защиты от ветра для %s!" - #: src/player.cpp msgid "You roll on the ground, trying to smother the fire!" msgstr "Вы катаетесь по земле, пытаясь потушить огонь!" @@ -240605,52 +247733,6 @@ msgstr "Вы пытаетесь потушить огонь!" msgid " attempts to put out the fire on them!" msgstr " пытается потушить огонь!" -#: src/player.cpp -msgid "You set your mech's leg power to a loping fast walk." -msgstr "Вы устанавливаете мощность ног вашего меха на скачущий быстрый шаг." - -#: src/player.cpp -msgid "You nudge your steed into a steady trot." -msgstr "Вы подгоняете своего скакуна бежать рысью." - -#: src/player.cpp -msgid "You start walking." -msgstr "Вы начали идти." - -#: src/player.cpp -msgid "You set the power of your mech's leg servos to maximum." -msgstr "" -"Вы устанавливаете мощность ножных сервоприводов вашего меха на максимум." - -#: src/player.cpp -msgid "You spur your steed into a gallop." -msgstr "Вы пускаете своего скакуна в галоп." - -#: src/player.cpp -msgid "You start running." -msgstr "Вы начали бежать." - -#: src/player.cpp -msgid "Your steed is too tired to go faster." -msgstr "Ваш скакун слишком утомился, чтобы скакать быстрее." - -#: src/player.cpp -msgid "You're too tired to run." -msgstr "Вы слишком устали, чтобы бежать." - -#: src/player.cpp -msgid "You reduce the power of your mech's leg servos to minimum." -msgstr "" -"Вы устанавливаете мощность ножных сервоприводов вашего меха на минимум." - -#: src/player.cpp -msgid "You slow your steed to a walk." -msgstr "Вы замедляете своего скакуна до шага." - -#: src/player.cpp -msgid "You start crouching." -msgstr "Вы начали красться." - #: src/player.cpp #, c-format msgid "Your ground sonar detected a %1$s to the %2$s!" @@ -240728,15 +247810,6 @@ msgstr "%1$s теряет равновесие после удара!" msgid "You lose your balance while being hit!" msgstr "Вы теряете равновесие после удара!" -#: src/player.cpp -#, c-format -msgid "You were attacked by %s!" -msgstr "Вас атаковал %s!" - -#: src/player.cpp -msgid "You were hurt!" -msgstr "Вы чувствовали боль!" - #: src/player.cpp msgid "A snake sprouts from your body!" msgstr "Змея выросла из вашего тела!" @@ -240828,7 +247901,7 @@ msgid "You are slammed against %s!" msgstr "Вы врезались в %s!" #: src/player.cpp -msgid "...but your shock absorbers negate the damage!" +msgid "…but your shock absorbers negate the damage!" msgstr "… но ваши кинетические амортизаторы поглотили весь урон!" #: src/player.cpp @@ -240886,7 +247959,7 @@ msgid "You have starved to death." msgstr "Вы умерли от голода." #: src/player.cpp -msgid "Food..." +msgid "Food…" msgstr "Еды…" #: src/player.cpp @@ -240896,12 +247969,13 @@ msgstr "Из-за недостаточного питания ваше тело #: src/player.cpp msgid "" "Despite having something in your stomach, you still feel like you haven't " -"eaten in days..." +"eaten in days…" msgstr "" -"Хоть в вашем животе что-то есть, вы всё равно будто не ели несколько дней..." +"Несмотря на то, что у вас что-то есть в желудке, вы все равно чувствуете, " +"что не ели несколько дней…" #: src/player.cpp -msgid "Your stomach feels so empty..." +msgid "Your stomach feels so empty…" msgstr "Пустой желудок напоминает о себе…" #: src/player.cpp @@ -240921,7 +247995,7 @@ msgid "You have died of dehydration." msgstr "Вы умерли от обезвоживания." #: src/player.cpp -msgid "Even your eyes feel dry..." +msgid "Even your eyes feel dry…" msgstr "Вы ощущаете сухость даже в глазах…" #: src/player.cpp @@ -240929,7 +248003,7 @@ msgid "You are THIRSTY!" msgstr "Вас мучает ЖАЖДА!" #: src/player.cpp -msgid "Your mouth feels so dry..." +msgid "Your mouth feels so dry…" msgstr "Вы ощущаете сухость во рту…" #: src/player.cpp @@ -240937,7 +248011,7 @@ msgid "Survivor sleep now." msgstr "Выживший засыпает." #: src/player.cpp -msgid "Anywhere would be a good place to sleep..." +msgid "Anywhere would be a good place to sleep…" msgstr "Лечь где угодно, только бы поспать…" #: src/player.cpp @@ -240957,10 +248031,8 @@ msgid "*yawn* You should really get some sleep." msgstr "*зевок* вы действительно должны поспать." #: src/player.cpp -msgid "Your mind feels tired. It's been a while since you've slept well." -msgstr "" -"Ваш разум очень уставший. Прошло довольно много времени, с момента " -"последнего хорошего сна." +msgid "Your mind feels tired. It's been a while since you've slept well." +msgstr "Вы очень устали. Давненько вы не спали как следует." #: src/player.cpp msgid "" @@ -240972,16 +248044,16 @@ msgstr "" #: src/player.cpp msgid "" -"Your mind feels weary, and you dread every wakeful minute that passes. You " +"Your mind feels weary, and you dread every wakeful minute that passes. You " "crave sleep, and feel like you're about to collapse." msgstr "" -"Ваш разум чувствует усталость, и вы страшитесь каждой пройденной минуты. Вы " -"просто жаждете сна, и чувствуете что вот-вот вырубитесь." +"Вы очень устали и вы страшитесь каждой пройденной минуты. Вы просто жаждете " +"сна и чувствуете что вот-вот вырубитесь." #: src/player.cpp msgid "" "You haven't slept decently for so long that your whole body is screaming for" -" mercy. It's a miracle that you're still awake, but it just feels like a " +" mercy. It's a miracle that you're still awake, but it just feels like a " "curse now." msgstr "" "Вы не спали уже очень долго, и всё ваше тело молит о пощаде. Это чудо, что " @@ -241027,14 +248099,6 @@ msgstr "Продезинфицированные раны на части тел msgid "There is not enough %s left to siphon it." msgstr "Здесь осталось недостаточно %s." -#: src/player.cpp -msgid "You cough heavily." -msgstr "Вы тяжело кашляете." - -#: src/player.cpp -msgid "a hacking cough." -msgstr "покашливание." - #: src/player.cpp msgid "Your body is wracked with excruciating pain!" msgstr "Ваше тело охвачено мучительной болью!" @@ -241080,11 +248144,6 @@ msgstr "Ваш %s причиняет вам боль!" msgid "Your %s aches." msgstr "У вас болит %s." -#: src/player.cpp -#, c-format -msgid "Your current health value is %d." -msgstr "Ваше текущее значение здоровья — %d." - #: src/player.cpp #, c-format msgid "Your %s HURTS!" @@ -241198,12 +248257,14 @@ msgstr "%1$s говорит: «%2$s»" msgid "You increase %1$s to level %2$d." msgstr "Вы улучшили %1$s до уровня %2$d." +#. ~ %1$s: weapon name #: src/player.cpp -msgid "Your " -msgstr "Ваш " +#, c-format +msgid "Your %1$s" +msgstr "Ваше %1$s" #: src/player.cpp -msgid "You suddenly feel so numb..." +msgid "You suddenly feel so numb…" msgstr "Вы внезапно онемели…" #: src/player.cpp @@ -241215,6 +248276,12 @@ msgstr "Вас бросило в озноб." msgid "yourself shout, %s" msgstr "ваш собственный крик, %s" +#. ~ %1$s: weapon name +#: src/player.cpp +#, c-format +msgid "your %1$s" +msgstr "ваше %1$s" + #: src/player.cpp msgid "You're suddenly overcome with the urge to sleep and you pass out." msgstr "Внезапно вами овладевает неудержимое желание поспать, и вы засыпаете." @@ -241322,7 +248389,7 @@ msgid "Suddenly, your eyes stop working!" msgstr "Внезапно вы ослепли!" #: src/player.cpp -msgid "Your visual centers must be acting up..." +msgid "Your visual centers must be acting up…" msgstr "Ваши зрительные центры должно быть шалят…" #: src/player.cpp @@ -241400,7 +248467,7 @@ msgid "You shake uncontrollably." msgstr "Вас неконтролируемо трясёт." #: src/player.cpp -msgid "You feel nauseous..." +msgid "You feel nauseous…" msgstr "Вас тошнит…" #: src/player.cpp @@ -241416,7 +248483,7 @@ msgid "You stumble and fall over!" msgstr "Вы спотыкаетесь и падаете на землю!" #: src/player.cpp -msgid "You feel tired..." +msgid "You feel tired…" msgstr "Вы чувствуете усталость…" #: src/player.cpp @@ -241569,10 +248636,6 @@ msgstr "Вы выбрасываете пустой %s." msgid "%c - %d empty %s" msgstr "%c - %d %s (пусто)" -#: src/player.cpp -msgid "You sink your roots into the soil." -msgstr "Вы погружаете свои корни в почву." - #: src/player.cpp src/veh_interact.cpp #, c-format msgid "Refill %s" @@ -241731,6 +248794,10 @@ msgstr "ветвистых рогов" msgid "Can't wield spilt liquids." msgstr "Невозможно взять в руки пролитые жидкости." +#: src/player.cpp +msgid "You need at least one arm to even consider wielding something." +msgstr "Чтобы что-нибудь взять, вам необходима хотя бы одна рука." + #: src/player.cpp msgid "Something you are wearing hinders the use of both hands." msgstr "Что-то, что надето на вас, мешает пользоваться обеими руками." @@ -241824,20 +248891,43 @@ msgstr "В %s нет никаких дефектов." msgid "Mend which fault?" msgstr "Исправить какой дефект?" -#: src/player.cpp src/veh_interact.cpp -msgid "Time required:\n" -msgstr "Требуется времени:\n" +#: src/player.cpp +#, c-format +msgid "Turns into: %s\n" +msgstr "" #: src/player.cpp -msgid "Skills:\n" -msgstr "Навыки:\n" +#, c-format +msgid "Time required: %s\n" +msgstr "Требуется времени: %s\n" + +#: src/player.cpp +msgid "Skills: none\n" +msgstr "Навыки: нет\n" -#. ~ %1$s represents the internal color name which shouldn't be translated, -#. %2$s is skill name, and %3$i is skill level #: src/player.cpp #, c-format -msgid "> %2$s %3$i\n" -msgstr "> %2$s %3$i\n" +msgid "Skills: %s\n" +msgstr "Навыки: %s\n" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level +#: src/player.cpp +#, c-format +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level +#: src/player.cpp +#, c-format +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "You are currently unable to mend the %s this way." +msgstr "В настоящий момент вы не можете исправить %s таким способом." #: src/player.cpp msgid "You are already wearing that." @@ -241863,13 +248953,13 @@ msgstr " надевает %s." #: src/player.cpp #, c-format -msgid "Your %s are very encumbered! %s" -msgstr "Ваши %s очень скованы! %s" +msgid "Your %s are very encumbered! %s" +msgstr "Ваши %s очень скованы! %s" #: src/player.cpp #, c-format -msgid "Your %s is very encumbered! %s" -msgstr "Ваш %s очень скован! %s" +msgid "Your %s is very encumbered! %s" +msgstr "Ваш %s очень скован! %s" #: src/player.cpp msgid "You're deafened!" @@ -241877,18 +248967,17 @@ msgstr "Вы оглушены!" #: src/player.cpp #, c-format -msgid "This %s is too big to wear comfortably! Maybe it could be refitted..." +msgid "This %s is too big to wear comfortably! Maybe it could be refitted…" msgstr "" -"%s слишком велик, чтобы его можно было носить с удобством. Возможно, его " -"можно подогнать под свой размер…" +"%s слишком велик, чтобы его можно было носить с удобством! Возможно, его " +"можно подогнать по размеру…" #: src/player.cpp #, c-format -msgid "" -"This %s is too small to wear comfortably! Maybe it could be refitted..." +msgid "This %s is too small to wear comfortably! Maybe it could be refitted…" msgstr "" -"%s слишком мал, чтобы его можно было носить с удобством. Возможно, его можно" -" подогнать под свой размер…" +"%s слишком мал, чтобы его можно было носить с удобством! Возможно, его можно" +" подогнать по размеру…" #: src/player.cpp #, c-format @@ -242015,24 +249104,6 @@ msgstr "Вы получаете %i неиспользованного плуто msgid "You can't remove partially depleted plutonium!" msgstr "Вы не можете убрать частично обеднённый уран!" -#: src/player.cpp -#, c-format -msgid "Your %s needs %d charge from some UPS." -msgid_plural "Your %s needs %d charges from some UPS." -msgstr[0] "Для %s требуется %d заряд от УБП." -msgstr[1] "Для %s требуется %d заряда от УБП." -msgstr[2] "Для %s требуется %d зарядов от УБП." -msgstr[3] "Для %s требуется %d заряд от УБП." - -#: src/player.cpp -#, c-format -msgid "Your %s has %d charge but needs %d." -msgid_plural "Your %s has %d charges but needs %d." -msgstr[0] "Ваш %s имеет %d заряд, а нужно как минимум %d." -msgstr[1] "Ваш %s имеет %d заряда, а нужно как минимум %d." -msgstr[2] "Ваш %s имеет %d зарядов, а нужно как минимум %d." -msgstr[3] "Ваш %s имеет %d заряд, а нужно как минимум %d." - #. ~ %1$s - gunmod, %2$s - gun. #: src/player.cpp #, c-format @@ -242073,9 +249144,9 @@ msgid "It's impossible to sleep in this wheeled pot!" msgstr "Невозможно спать в этом горшке на колёсах!" #: src/player.cpp -msgid "The humans' furniture blocks your roots. You can't get comfortable." +msgid "The humans' furniture blocks your roots. You can't get comfortable." msgstr "" -"Человеческая фурнитура блокирует ваши корни. Вы не можете комфортно здесь " +"Людская мебель блокирует ваши корни. Вы не можете комфортно здесь " "расположиться." #: src/player.cpp @@ -242091,8 +249162,8 @@ msgstr "" "выпускать споры в воздух, а мы засыпаем." #: src/player.cpp -msgid "These thick webs support your weight, and are strangely comfortable..." -msgstr "Эта густая паутина поддерживает ваш вес и, как ни странно, удобная." +msgid "These thick webs support your weight, and are strangely comfortable…" +msgstr "Эта толстая паутина выдерживает ваш вес и, как ни странно, удобная…" #: src/player.cpp msgid "You try to sleep, but the webs get in the way. You brush them aside." @@ -242116,12 +249187,12 @@ msgstr "Возможно, толстые стены помогут вам усн #: src/player.cpp msgid "" -"You lay beneath the waves' embrace, gazing up through the water's surface..." +"You lay beneath the waves' embrace, gazing up through the water's surface…" msgstr "Вы лежите под объятиями волн, глядя сквозь поверхность воды…" #: src/player.cpp -msgid "You settle into the water and begin to drowse..." -msgstr "Вы располагаетесь в воде и начинаете дремать…" +msgid "You settle into the water and begin to drowse…" +msgstr "Вы ложитесь на воду и начинаете дремать…" #: src/player.cpp msgid "This is a comfortable place to sleep." @@ -242174,76 +249245,6 @@ msgstr "В стимуляторе сна закончилась энергия!" msgid "Your soporific inducer starts back up." msgstr "Стимулятор сна начал работать." -#: src/player.cpp -msgid "You nestle your pile of clothes for warmth." -msgstr "Вы закутываетесь в одежду, чтобы согреться." - -#: src/player.cpp -msgid "You use your pile of clothes for warmth." -msgstr "Вы используете вашу кучу одежды, чтобы согреться." - -#: src/player.cpp -#, c-format -msgid "You snuggle your %s to keep warm." -msgstr "Вы прижимаетесь к %s, чтобы сохранить тепло." - -#: src/player.cpp -#, c-format -msgid "You use your %s to keep warm." -msgstr "Вы сохраняете тепло при помощи %s." - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Entered hibernation." -msgstr "Погрузился в спячку." - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Entered hibernation." -msgstr "Погрузилась в спячку." - -#. ~ %s is armor name -#: src/player.cpp -#, c-format -msgctxt "memorial_male" -msgid "Worn %s was completely destroyed." -msgstr "Одетый на вас %s полностью уничтожен." - -#: src/player.cpp -#, c-format -msgctxt "memorial_female" -msgid "Worn %s was completely destroyed." -msgstr "Одетый на вас %s полностью уничтожен." - -#: src/player.cpp -#, c-format -msgid "Your %s is completely destroyed!" -msgstr "Ваше снаряжение (%s) полностью уничтожено!" - -#: src/player.cpp -#, c-format -msgid "'s %s is completely destroyed!" -msgstr "%s () полностью разрушается!" - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s further!" -msgstr "Ваше снаряжение (%1$s) %2$s ещё сильнее!" - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s!" -msgstr "Ваше снаряжение (%1$s) %2$s!" - -#: src/player.cpp src/veh_interact.cpp -msgid "destroyed" -msgstr "уничтожено" - -#: src/player.cpp -#, c-format -msgid "This task is too simple to train your %s beyond %d." -msgstr "Эта задача слишком проста для тренировки навыка (%s) выше %d уровня." - #: src/player.cpp #, c-format msgid "Your skill in %s has increased to %d!" @@ -242256,8 +249257,9 @@ msgstr "" "Вы чувствуете, что задача стала слишком простой для тренировки навыка (%s)." #: src/player.cpp -msgid "You resume your task." -msgstr "Вы возобновили действие." +#, c-format +msgid "This task is too simple to train your %s beyond %d." +msgstr "Эта задача слишком проста для тренировки навыка (%s) выше %d уровня." #: src/player.cpp msgid "Wield what?" @@ -242269,8 +249271,8 @@ msgstr "Время как будто замедлилось и вы инстин #: src/player.cpp #, c-format -msgid "%s dodges... so fast!" -msgstr "%s уворачивается… какой быстрый!" +msgid "%s dodges… so fast!" +msgstr "%s уворачивается… Какой быстрый!" #: src/player.cpp msgid "You try to dodge but there's no room!" @@ -242281,79 +249283,6 @@ msgstr "Вы пытаетесь увернуться, но не хватает msgid "%s tries to dodge but there's no room!" msgstr "%s пытается увернуться, но не хватает места!" -#: src/player.cpp -msgid "You start hauling items along the ground." -msgstr "Вы начали тащить предметы по земле." - -#: src/player.cpp -msgid "Your hands are not free, which makes hauling slower." -msgstr "У вас есть что-то в руках, поэтому вы тащите вещи медленнее." - -#: src/player.cpp -msgid "You stop hauling items." -msgstr "Вы перестали тащить предметы." - -#: src/player.cpp -msgid "Your body strains under the weight!" -msgstr "Ваше тело напряжено под такой тяжестью!" - -#: src/player.cpp -#, c-format -msgid "You remove the %s's harness." -msgstr "Вы снимаете упряжь с %s." - -#: src/player.cpp -#, c-format -msgid "You climb on the %s." -msgstr "Вы забираетесь на %s." - -#: src/player.cpp -#, c-format -msgid "You hear your %s whir to life." -msgstr "Вы слышите, как ваш %s с жужжанием оживает." - -#: src/player.cpp -msgid "You are ejected from your mech!" -msgstr "Вас катапультировало из вашего меха!" - -#: src/player.cpp -msgid " is ejected from their mech!" -msgstr " выбросило из меха!" - -#: src/player.cpp -msgid "You fall off your mount!" -msgstr "Вы сваливаетесь со скакуна!" - -#: src/player.cpp -msgid " falls off their mount!" -msgstr " падает со скакуна!" - -#: src/player.cpp src/trapfunc.cpp -msgid "You hurt yourself!" -msgstr "Вы поранили себя!" - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Fell off a mount." -msgstr "Упал со скакуна." - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Fell off a mount." -msgstr "Упала со скакуна." - -#: src/player.cpp -msgid "Dismount where?" -msgstr "Где спешиться?" - -#: src/player.cpp -msgid "You cannot dismount there!" -msgstr "Здесь нельзя спешиться!" - -#: src/player.cpp -msgid "Wielding: " -msgstr "В руках: " - #: src/player.cpp #, c-format msgid "You (%s)" @@ -242413,45 +249342,22 @@ msgstr "Перекусить бы" msgid "Pain " msgstr "Боль: " +#. ~ skill_name current_skill_level -> next_skill_level (% to next level) #: src/player_activity.cpp #, c-format -msgid "Crafting: %s" -msgstr "Изготовление: %s" - -#: src/player_activity.cpp -#, c-format -msgid "Burrowing: %d%%" -msgstr "Копание: %d%%" - -#: src/player_activity.cpp -#, c-format -msgid "Sawing: %d%%" -msgstr "Распиливание: %d%%" - -#: src/player_activity.cpp -#, c-format -msgid "Jackhammering: %d%%" -msgstr "Работа отбойным молотком: %d%%" - -#: src/player_activity.cpp -#, c-format -msgid "Digging: %d%%" -msgstr "Копание: %d%%" - -#: src/player_activity.cpp -#, c-format -msgid "Disassembling: %d%%" -msgstr "Разборка: %d%%" +msgctxt "reading progress" +msgid "%s %d -> %d (%d%%)" +msgstr "" #: src/player_activity.cpp #, c-format -msgid "Shoveling: %d%%" -msgstr "Рытьё ямы: %d%%" +msgid "%s…" +msgstr "%s…" #: src/player_activity.cpp #, c-format -msgid "Chopping: %d%%" -msgstr "Рубка: %d%%" +msgid "%s: %s" +msgstr "%s: %s" #: src/player_activity.cpp msgid "You pause for a moment to catch your breath." @@ -242678,47 +249584,57 @@ msgstr "Текущая скорость:" #: src/player_display.cpp #, c-format -msgid "Overburdened -%s%d%%" -msgstr "Перегружен %s-%d%%" +msgctxt "speed penalty" +msgid "Overburdened -%2d%%" +msgstr "Перегруз -%2d%%" #: src/player_display.cpp #, c-format -msgid "Pain -%s%d%%" -msgstr "Боль %s-%d%%" +msgctxt "speed penalty" +msgid "Pain -%2d%%" +msgstr "Боль -%2d%%" #: src/player_display.cpp #, c-format -msgid "Thirst -%s%d%%" -msgstr "Жажда %s-%d%%" +msgctxt "speed penalty" +msgid "Thirst -%2d%%" +msgstr "Жажда -%2d%%" #: src/player_display.cpp msgid "Underfed" msgstr "Недоедание" +#. ~ %s: Starving/Underfed (already left-justified), %2d: speed penalty #: src/player_display.cpp #, c-format -msgid "%-20s-%s%d%%" -msgstr "%-20s-%s%d%%" +msgctxt "speed penalty" +msgid "%s-%2d%%" +msgstr "%s-%2d%%" #: src/player_display.cpp #, c-format -msgid "Out of Sunlight -%s%d%%" -msgstr "Недостаток света %s-%d%%" +msgctxt "speed penalty" +msgid "Out of Sunlight -%2d%%" +msgstr "Недостаток света -%2d%%" +#. ~ %s: sign of bonus/penalty, %2d: speed bonus/penalty #: src/player_display.cpp #, c-format -msgid "Cold-Blooded %s%s%d%%" -msgstr "Хладнокровный %s%s%d%%" +msgctxt "speed modifier" +msgid "Cold-Blooded %s%2d%%" +msgstr "Хладнокровный %s%2d%%" #: src/player_display.cpp #, c-format -msgid "Quick +%s%d%%" -msgstr "Быстрый %s+%d%%" +msgctxt "speed bonus" +msgid "Quick +%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Bionic Speed +%s%d%%" -msgstr "Бионическ. скорость %s+%d%%" +msgctxt "speed bonus" +msgid "Bionic Speed +%2d%%" +msgstr "Бионическ. скорость +%2d%%" #: src/player_display.cpp #, c-format @@ -242751,18 +249667,18 @@ msgstr "Серьёзное недоедание" #: src/player_display.cpp msgid "" -"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" -" \n" +"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" +"\n" msgstr "" "Ваше тело сильно ослаблено из-за голодания. Вы можете умереть, если не начнёте регулярно питаться!\n" "\n" #: src/player_display.cpp msgid "" -"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" -" \n" +"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" +"\n" msgstr "" -"Ваше тело ослаблено из-за голодания. Только время и регулярное питание поможет вам восстановиться.\n" +"Ваше тело ослаблено из-за голодания. Только время и регулярное питание помогут вам восстановиться.\n" " \n" #: src/player_display.cpp src/veh_interact.cpp @@ -242863,31 +249779,31 @@ msgid " vomits thousands of live spores!" msgstr " стошнило тысячами живых спор!" #: src/player_hardcoded_effects.cpp -msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" -msgstr "Плоть на ваших сломанных руках вздувается. Из неё прорастают грибы!" +msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" +msgstr "Плоть на ваших сломанных руках вздута. Из неё прорастают грибы!" #: src/player_hardcoded_effects.cpp -msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" +msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" msgstr "Сломанные руки вздуты. Из них прорастают грибы!" #: src/player_hardcoded_effects.cpp msgid "" -"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " +"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " "through!" msgstr "" -"Плоть на вашей сломанной и несломанной руке вздувается. Из неё прорастают " +"Плоть на вашей сломанной и не сломанной руке вздута. Из них прорастают " "грибы!" #: src/player_hardcoded_effects.cpp -msgid "'s arms bulge. Fungus stalks burst out of the bulges!" +msgid "'s arms bulge. Fungus stalks burst out of the bulges!" msgstr "Руки вздуваются. Из них прорастают грибы!" #: src/player_hardcoded_effects.cpp -msgid "Your hands bulge. Fungus stalks burst through the bulge!" +msgid "Your hands bulge. Fungus stalks burst through the bulge!" msgstr "Ваши руки вздуваются. Из них прорастают грибы!" #: src/player_hardcoded_effects.cpp -msgid "'s hands bulge. Fungus stalks burst through the bulge!" +msgid "'s hands bulge. Fungus stalks burst through the bulge!" msgstr "Руки вздуваются. Из них прорастают грибы!" #: src/player_hardcoded_effects.cpp @@ -242935,7 +249851,7 @@ msgid "\"Oh God, what's happening?\"" msgstr "«О, Боже, что происходит?»" #: src/player_hardcoded_effects.cpp -msgid "\"Of course... it's all fractals!\"" +msgid "\"Of course… it's all fractals!\"" msgstr "«Конечно… это всё фракталы!»" #: src/player_hardcoded_effects.cpp @@ -242971,7 +249887,7 @@ msgid "You quiver from the cold." msgstr "Вы дрожите от холода." #: src/player_hardcoded_effects.cpp -msgid "Your torso is freezing cold. You should put on a few more layers." +msgid "Your torso is freezing cold. You should put on a few more layers." msgstr "Ваш торс замерзает. Вы должны надеть больше одежды." #: src/player_hardcoded_effects.cpp @@ -243177,7 +250093,7 @@ msgid "You shudder suddenly." msgstr "Вас вдруг пробирает дрожь." #: src/player_hardcoded_effects.cpp -msgid "Your vision is filled with bright lights..." +msgid "Your vision is filled with bright lights…" msgstr "Ваши глаза заполняются ярким светом…" #: src/player_hardcoded_effects.cpp @@ -243362,6 +250278,48 @@ msgstr "Ваш будильник включился." msgid "Your alarm went off." msgstr "Зазвенел ваш будильник." +#: src/player_hardcoded_effects.cpp +msgid "You lose control of your body as it begins to convulse!" +msgstr "Вы теряете контроль над телом и бьётесь в конвульсиях!" + +#: src/player_hardcoded_effects.cpp +msgid "You lose conciousness!" +msgstr "Вы теряете сознание!" + +#: src/player_hardcoded_effects.cpp +msgid "arm" +msgstr "рука" + +#: src/player_hardcoded_effects.cpp +msgid "hand" +msgstr "ладонь" + +#: src/player_hardcoded_effects.cpp +msgid "leg" +msgstr "нога" + +#: src/player_hardcoded_effects.cpp +#, c-format +msgid "Your %s suddenly jerks in an unexpected direction!" +msgstr "Ваша %s внезапно дергается в неожиданном направлении!" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep hold of your weapon." +msgstr "Тем не менее, вам удается удержать оружие." + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep your footing." +msgstr "Тем не менее, вам удается сохранить равновесие." + +#: src/player_hardcoded_effects.cpp +msgid "You suddenly lose all muscle tone, and can't support your own weight!" +msgstr "" +"Вы внезапно теряете мышечный тонус и не можете поддерживать собственный вес!" + +#: src/player_hardcoded_effects.cpp +msgid "You have a splitting headache." +msgstr "У вас сильно болит голова." + #: src/ranged.cpp #, c-format msgid "Your %s misfires with a muffled click!" @@ -243512,8 +250470,8 @@ msgstr "[%c] Цель на себя; [%c] Центр на цели" #: src/ranged.cpp #, c-format -msgid "[%c] to steady your aim. (10 moves)" -msgstr "[%c] Стабилизировать прицел (10 ходов)" +msgid "[%c] to steady your aim. (10 moves)" +msgstr "[%c], чтобы стабилизировать прицел. (10 ходов)" #: src/ranged.cpp #, c-format @@ -243679,21 +250637,21 @@ msgstr "0.0 % Шанс провала" #: src/ranged.cpp #, c-format msgid "Effective Spell Radius: %s%s" -msgstr "" +msgstr "Радиус действия: %s%s" #: src/ranged.cpp -msgid " WARNING! IN RANGE" -msgstr "ОПАСНО! В ОБЛАСТИ" +msgid " WARNING! IN RANGE" +msgstr "ОПАСНО! В ОБЛАСТИ" #: src/ranged.cpp #, c-format msgid "Cone Arc: %s degrees" -msgstr "" +msgstr "Радиус конуса: %s градусов" #: src/ranged.cpp #, c-format msgid "Line width: %s" -msgstr "" +msgstr "Длина линии: %s" #: src/ranged.cpp #, c-format @@ -243784,10 +250742,6 @@ msgstr "«Ты-Дыщ!»" msgid "none" msgstr "нет" -#: src/recipe.cpp -msgid "none" -msgstr "нет" - #: src/recipe.cpp #, c-format msgid "%s%% at >%s units" @@ -243799,8 +250753,8 @@ msgstr "%s%% на >%s единиц" #, c-format msgid "%1$d tool with %2$s of %3$d or more." msgid_plural "%1$d tools with %2$s of %3$d or more." -msgstr[0] "%1$d инструмент со значением %2$s%3$d или выше." -msgstr[1] "%1$d инструмента со значением %2$s%3$d или выше." +msgstr[0] "%1$d инструмент со значением %2$s %3$d или выше." +msgstr[1] "%1$d инструмента со значением %2$s %3$d или выше." msgstr[2] "%1$d инструментов со значением %2$s %3$d или выше." msgstr[3] "%1$d инструментов со значением %2$s %3$d или выше." @@ -243815,6 +250769,17 @@ msgstr[1] "%1$s (%2$d заряда)" msgstr[2] "%1$s (%2$d зарядов)" msgstr[3] "%1$s (%2$d зарядов)" +#. ~ %1$s: item name, %2$d: charge requirement +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%1$s (%2$d of infinite)" +msgid_plural "%1$s (%2$d of infinite)" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + #. ~ %1$s: item name, %2$d: charge requirement, %3%d: available charges #: src/requirements.cpp #, c-format @@ -243837,6 +250802,17 @@ msgstr[1] "%1$s (%2$d)" msgstr[2] "%1$s (%2$d)" msgstr[3] "%1$s (%2$d)" +#. ~ %1$s: item name, %2$d: required count +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%2$d %1$s of infinite" +msgid_plural "%2$d %1$s of infinite" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" + #. ~ %1$s: item name, %2$d: required count, %3%d: available count #: src/requirements.cpp #, c-format @@ -243885,7 +250861,7 @@ msgstr "Необходимые компоненты:" #: src/requirements.cpp msgid " OR " -msgstr "ИЛИ " +msgstr " ИЛИ " #: src/requirements.cpp msgid "Tools required:" @@ -243926,7 +250902,7 @@ msgid "Safe Mode manager currently inactive." msgstr "Менеджер безопасного режима выключен." #: src/safemode_ui.cpp -msgid "Default rules are used. Add a rule to activate." +msgid "Default rules are used. Add a rule to activate." msgstr "Используются правила по умолчанию. Добавьте правило, чтобы включить." #: src/safemode_ui.cpp @@ -243939,7 +250915,7 @@ msgstr "Белый список" #: src/safemode_ui.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" +"* is used as a Wildcard. A few Examples:\n" "\n" "human matches every NPC\n" "zombie matches the monster name exactly\n" @@ -243970,7 +250946,7 @@ msgid "Option: " msgstr "Опция: " #: src/safemode_ui.cpp -msgid "No monsters loaded. Please start a game first." +msgid "No monsters loaded. Please start a game first." msgstr "Монстры не загружены. Пожалуйста, сначала начните игру." #: src/safemode_ui.cpp @@ -243987,7 +250963,7 @@ msgid "Lists monsters regardless of their attitude." msgstr "Выводит список монстров независимо от их отношения." #: src/safemode_ui.cpp -msgid "Safe Mode is not enabled in the options. Enable it now?" +msgid "Safe Mode is not enabled in the options. Enable it now?" msgstr "Безопасный режим не включён в настройках. Включить его?" #: src/safemode_ui.cpp @@ -244013,13 +250989,15 @@ msgstr "Ограничены" #: src/scores_ui.cpp msgid "This game has no valid scores.\n" -msgstr "" +msgstr "Эта игра не имеет действительных результатов.\n" #: src/scores_ui.cpp msgid "" "\n" "Note that only scores that existed when you started this game and still exist now will appear here." msgstr "" +"\n" +"Заметьте, что здесь отображаются только те очки, которые записывались от начала текущей игры и до сего момента." #: src/scores_ui.cpp msgid "SCORES" @@ -244029,12 +251007,6 @@ msgstr "СТАТИСТИКА" msgid "KILLS" msgstr "УБИТО" -#: src/sdltiles.cpp -msgid "" -"Sets which video display will be used to show the game. Requires restart." -msgstr "" -"Выбрать дисплей, на который будет выводиться игра. Требуется перезапуск." - #: src/skill.cpp msgid "The zen-most skill there is." msgstr "Самый просветлённый навык." @@ -244093,6 +251065,10 @@ msgstr "" msgid "d: delete history" msgstr "d: удалить историю" +#: src/teleport.cpp +msgid "You feel a strange, inwards force." +msgstr "Вы чувствуете странную внутреннюю силу." + #: src/teleport.cpp msgid "You cannot teleport safely." msgstr "Вы не можете безопасно телепортироваться." @@ -244102,7 +251078,11 @@ msgid "You die after teleporting into a solid." msgstr "Вы телепортируетесь в сплошную стену и погибаете." #: src/teleport.cpp -msgid "You exlpode into thousands of fragments." +msgid "You feel disjointed." +msgstr "Вы чувствуете себя расчленённым." + +#: src/teleport.cpp +msgid "You explode into thousands of fragments." msgstr "Вы разлетаетесь на тысячи кусочков." #: src/teleport.cpp @@ -244428,12 +251408,12 @@ msgid "vvrrrRRMM*POP!*" msgstr "брррРРММ*ПУМП!*" #: src/trapfunc.cpp -msgid "The air shimmers around you..." +msgid "The air shimmers around you…" msgstr "Воздух мерцает вокруг вас…" #: src/trapfunc.cpp #, c-format -msgid "The air shimmers around %s..." +msgid "The air shimmers around %s…" msgstr "Воздух мерцает вокруг %s…" #: src/trapfunc.cpp @@ -244449,7 +251429,7 @@ msgid "The acidic goo eats away at your feet." msgstr "Кислотная слизь разъедает ваши ноги." #: src/trapfunc.cpp -msgid "BEEPBOOP! Please remove non-organic object." +msgid "BEEPBOOP! Please remove non-organic object." msgstr "БИИИПБИП! Пожалуйста, удалите неорганический объект." #: src/trapfunc.cpp @@ -244466,8 +251446,8 @@ msgstr "Электрические разряды вылетают из пола #: src/trapfunc.cpp #, c-format -msgid "Electrical beams emit from the floor and slice your %s!" -msgstr "Электрические разряды вылетают из пола и пронзают ваш %s!" +msgid "Electrical beams emit from the floor and slice the %s!" +msgstr "Электрические разряды вылетают из пола и вонзаются в %s!" #: src/trapfunc.cpp msgid " falls in a pit!" @@ -244552,7 +251532,7 @@ msgid "Your %s is burned by the lava!" msgstr "Ваш %s обжигается о лаву!" #: src/trapfunc.cpp -msgid "You fail to attach it..." +msgid "You fail to attach it…" msgstr "Вам не удалось прикрепить это…" #: src/trapfunc.cpp @@ -244673,7 +251653,7 @@ msgstr "Обстановка изменяется!" #: src/trapfunc.cpp msgid "Failed to generate the new map" -msgstr "" +msgstr "Не удалось сгенерировать новую карту." #: src/trapfunc.cpp msgid "You feel your life force sapping away." @@ -244693,8 +251673,23 @@ msgid "Set turret targeting" msgstr "Установить режимы прицеливания турелей" #: src/turret.cpp -msgid "Can't aim turrets: all turrets are offline" -msgstr "Нельзя целиться турелями: все турели вне сети" +msgid "auto -> manual" +msgstr "автоматический -> ручной" + +#: src/turret.cpp +msgid "manual -> auto" +msgstr "ручной -> автоматический" + +#: src/turret.cpp +msgid "manual (turret control unit required for auto mode)" +msgstr "ручной (для автоматического режима требуется блок управления турелью)" + +#: src/turret.cpp +msgid "" +"Can't aim turrets: all turrets are offline or set to manual targeting mode." +msgstr "" +"Нельзя целиться турелями: все турели в автономном режиме или в режиме " +"ручного прицеливания." #: src/turret.cpp msgid "Aim which turret?" @@ -244744,17 +251739,21 @@ msgstr "Джон Смит" #: src/tutorial.cpp msgid "" "You're saving a tutorial - the tutorial world lacks certain features of " -"normal worlds. Weird things might happen when you load this save. You have " -"been warned." +"normal worlds. Weird things might happen when you load this save. You have" +" been warned." msgstr "" -"Вы сохраняете обучение — обучающий мир лишён некоторых особенностей обычных " -"миров. При загрузке этого сохранения могут произойти странные вещи. Вас " -"предупреждали." +"Вы сохранились при прохождении обучения — в мире обучения отсутствуют " +"некоторые особенности нормальных миров. Странные вещи могут случиться, если " +"вы загрузите это сохранение. Вас предупредили." #: src/veh_interact.cpp msgid "Select part" msgstr "Выбрать деталь" +#: src/veh_interact.cpp +msgid "Time required:\n" +msgstr "Требуется времени:\n" + #: src/veh_interact.cpp msgid "Skills required:\n" msgstr "Требуемые навыки:\n" @@ -244930,28 +251929,27 @@ msgid "Search for part" msgstr "Искать часть" #: src/veh_interact.cpp -msgid "Your morale is too low to construct..." +msgid "Your morale is too low to construct…" msgstr "Ваше моральное состояние не позволяет что-либо мастерить…" #: src/veh_interact.cpp -msgid "It's too dark to see what you are doing..." -msgstr "Слишком темно, чтобы что-то делать…" +msgid "It's too dark to see what you are doing…" +msgstr "Слишком темно для того, чтобы видеть, что вы делаете…" #: src/veh_interact.cpp msgid "You can't install parts while driving." msgstr "Вы не можете устанавливать детали, пока водите." #: src/veh_interact.cpp -msgid "Installing this part will make the vehicle unfoldable. Continue?" -msgstr "" -"Транспорт перестанет складываться после установки этой детали. Продолжить?" +msgid "Installing this part will make the vehicle unfoldable. Continue?" +msgstr "Установка этой детали сделает транспорт не складным. Продолжить?" #: src/veh_interact.cpp msgid "Choose shape:" msgstr "Выбор формы:" #: src/veh_interact.cpp -msgid "Your morale is too low to repair..." +msgid "Your morale is too low to repair…" msgstr "У вас слишком низкая мораль для ремонта…" #: src/veh_interact.cpp @@ -244971,7 +251969,7 @@ msgid "This part cannot be repaired" msgstr "Эту часть нельзя отремонтировать." #: src/veh_interact.cpp -msgid "Your morale is too low to mend..." +msgid "Your morale is too low to mend…" msgstr "У вас слишком низкая мораль для исправления дефектов…" #: src/veh_interact.cpp @@ -245149,7 +252147,7 @@ msgid "You can't siphon from a moving vehicle." msgstr "Вы не можете перелить из движущейся машины." #: src/veh_interact.cpp -msgid "Select part to siphon: " +msgid "Select part to siphon:" msgstr "Выберите часть для сливания жидкости:" #: src/veh_interact.cpp @@ -245631,11 +252629,16 @@ msgstr "Деталь машины, которую вы держали, унич msgid "Lost connection with the vehicle due to distance!" msgstr "Потеряно соединение с транспортом из-за расстояния!" +#: src/vehicle.cpp +#, c-format +msgid "the %s emitting a beep and saying \"Obstacle detected!\"" +msgstr "%s издаёт звуковой сигнал и произносит: \"Обнаружено препятствие!\"" + #. ~ backfire sound #: src/vehicle.cpp #, c-format msgid "a loud BANG! from the %s" -msgstr "громкий БАБАХ! с %s" +msgstr "громкий БАБАХ с %s" #: src/vehicle.cpp msgid "Remove attached alternator first." @@ -245692,7 +252695,7 @@ msgstr "Вы не можете загрузить %1$s на стойку тра #: src/vehicle.cpp #, c-format msgid "" -"A part of the vehicle ('%s') has no containing vehicle's name. It will be " +"A part of the vehicle ('%s') has no containing vehicle's name. It will be " "detached from the %s vehicle." msgstr "" "Часть транспорта (%s) не содержит имени. Она будет отсоединена от транспорта" @@ -245804,7 +252807,7 @@ msgid "The %1$s's %2$s is destroyed!" msgstr "%2$s машины (%1$s) уничтожено!" #: src/vehicle_display.cpp -msgid "More parts here..." +msgid "More parts here…" msgstr "Ещё запчасти…" #: src/vehicle_display.cpp @@ -246202,8 +253205,8 @@ msgstr "дисковый резак" #: src/vehicle_use.cpp msgctxt "electronics menu option" -msgid "rockhead" -msgstr "" +msgid "roadheader" +msgstr "горнопроходчик" #: src/vehicle_use.cpp msgctxt "electronics menu option" @@ -246281,7 +253284,7 @@ msgid "You could use a screwdriver to hotwire it." msgstr "Вы могли бы завести его отвёрткой." #: src/vehicle_use.cpp -msgid "You destroy the controls..." +msgid "You destroy the controls…" msgstr "Вы уничтожаете управление…" #: src/vehicle_use.cpp @@ -246304,6 +253307,30 @@ msgstr "Забыть положение транспорта" msgid "Remember vehicle position" msgstr "Запомнить положение транспорта" +#: src/vehicle_use.cpp +msgid "Choose action for the autopilot" +msgstr "Выберите действие для автопилота" + +#: src/vehicle_use.cpp +msgid "Patrol…" +msgstr "Патрулирование…" + +#: src/vehicle_use.cpp +msgid "" +"Program the autopilot to patrol a nearby vehicle patrol zone. If no zones " +"are nearby, you will be prompted to create one." +msgstr "" +"Программирует автопилот автомобиля для патрулирования патрульной зоны. Если " +"поблизости нет ни одной зоны, вам будет предложено ее создать." + +#: src/vehicle_use.cpp +msgid "Stop…" +msgstr "Стоп…" + +#: src/vehicle_use.cpp +msgid "Stop all autopilot related activities." +msgstr "Остановите все действия, связанные с автопилотом." + #: src/vehicle_use.cpp msgid "You stop keeping track of the vehicle position." msgstr "Вы прекращаете следить за положением транспортного средства." @@ -246348,14 +253375,14 @@ msgstr "Заглушить двигатель" msgid "Turn on the engine" msgstr "Завести двигатель" -#: src/vehicle_use.cpp -msgid "You turn the engine off." -msgstr "Вы заглушили двигатель." - #: src/vehicle_use.cpp msgid "Honk horn" msgstr "Нажать на гудок" +#: src/vehicle_use.cpp +msgid "Control autopilot" +msgstr "" + #: src/vehicle_use.cpp msgid "Disable cruise control" msgstr "Выкл. круиз-контроль" @@ -246482,6 +253509,10 @@ msgstr "%s гремит и лязгает" msgid "the %s starting" msgstr "запуск %s" +#: src/vehicle_use.cpp +msgid "You turn the engine off." +msgstr "Вы заглушили двигатель." + #: src/vehicle_use.cpp msgid "You honk the horn!" msgstr "Вы нажали на гудок!" @@ -246502,8 +253533,8 @@ msgstr "Вы сигналите, но ничего не происходит." #: src/vehicle_use.cpp #, c-format -msgid "Move how many? [Have %d] (0 to cancel)" -msgstr "Сколько перенести? [Имеется %d] (0 — отмена)" +msgid "Move how many? [Have %d] (0 to cancel)" +msgstr "Сколько переместить? [Есть %d] (0 — отмена)" #: src/vehicle_use.cpp msgid "a simple melody blaring from the loudspeakers." @@ -246584,6 +253615,10 @@ msgstr "" msgid "Only CBMs can be sterilized in an autoclave." msgstr "В автоклаве можно стерилизовать только КБМ." +#: src/vehicle_use.cpp +msgid "You should put your CBMs in autoclave pouches to keep them sterile." +msgstr "Вы должны поместить ваши КБМ в автоклав для стерилизации." + #: src/vehicle_use.cpp msgid "You turn the autoclave on and it starts its cycle." msgstr "Вы включаете автоклав и запускаете рабочий цикл." @@ -246716,6 +253751,15 @@ msgstr "Вы запрягаете %1$s в %2$s." msgid "You untie your %s." msgstr "Вы распрягаете вашего %s." +#: src/vehicle_use.cpp +msgid "Load a vehicle on the rack" +msgstr "Погрузить транспорт на стойку" + +#: src/vehicle_use.cpp +#, c-format +msgid "Remove the %s from the rack" +msgstr "Снять %s со стойки" + #: src/vehicle_use.cpp msgid "Examine vehicle" msgstr "Обследовать авто" @@ -246836,7 +253880,7 @@ msgid "Your power armor protects you from the acidic drizzle." msgstr "Силовая броня защищает вас от кислотной мороси." #: src/weather.cpp -msgid "The acid rain stings, but is mostly harmless for now..." +msgid "The acid rain stings, but is mostly harmless for now…" msgstr "Капли кислотного дождя слегка обжигают, но пока в основном безвредны…" #: src/weather.cpp @@ -246924,8 +253968,8 @@ msgstr "%s Ночь" #: src/weather.cpp #, c-format -msgid "%s... %s. Highs of %s. Lows of %s. " -msgstr "%s…%s. От %s до %s. " +msgid "%s… %s. Highs of %s. Lows of %s. " +msgstr "%s… %s. От %s до %s. " #: src/weather.cpp #, c-format @@ -247142,13 +254186,15 @@ msgstr "" #: src/wish.cpp #, c-format msgid "Spawned %d monsters, choose another or [%s] to quit." -msgstr "" +msgstr "Создано %d монстров, выберите другого или жмите [%s] для выхода." #: src/wish.cpp msgid "" "\n" "Target location is not suitable for placing this kind of monster. Choose a different target or [i]ncrease the groups size." msgstr "" +"\n" +"Выбранное местоположение не подходит для размещения такого монстра. Выберите другую цель или увеличьте [i] размер группы." #: src/wish.cpp msgid "Add which flag? Use UPPERCASE letters without quotes" @@ -247178,7 +254224,7 @@ msgstr "Сколько?" #: src/wish.cpp #, c-format -msgid "Wish granted. Wish for more or hit [%s] to quit." +msgid "Wish granted. Wish for more or hit [%s] to quit." msgstr "" "Желаемое получено. Выберите ещё что-нибудь или нажмите «%s» для выхода." @@ -247187,7 +254233,7 @@ msgid "Select a skill to modify" msgstr "Выберите навык для изменения" #: src/wish.cpp -msgid "Modify all skills..." +msgid "Modify all skills…" msgstr "Подправить все навыки…" #: src/wish.cpp @@ -247197,7 +254243,7 @@ msgstr "@ %d: %s " #: src/wish.cpp #, c-format -msgid "Set '%s' to.." +msgid "Set '%s' to…" msgstr "Установить «%s» на…" #: src/wish.cpp @@ -247296,7 +254342,7 @@ msgstr "Порядок загрузки модов" #: src/worldfactory.cpp #, c-format -msgid "... %s = View full description " +msgid "…%s = View full description " msgstr "… %s= Полное описание " #: src/worldfactory.cpp @@ -247334,15 +254380,14 @@ msgid "________NO NAME ENTERED!________" msgstr "________ИМЯ НЕ ВВЕДЕНО!________" #: src/worldfactory.cpp -msgid "Are you SURE you're finished? World name will be randomly generated." +msgid "Are you SURE you're finished? World name will be randomly generated." msgstr "" -"Вы действительно хотите продолжить? Название мира будет выбрано случайным " -"образом." +"Вы УВЕРЕНЫ, что закончили? Будет сгенерировано случайное название мира." #: src/worldfactory.cpp #, c-format msgid "" -"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " +"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " "%s/%s = Prev/Next Tab." msgstr "" "%s = сохранить порядок загрузки модов. %s = помощь. %s/%s = " diff --git a/lang/po/zh_CN.po b/lang/po/zh_CN.po index fa156478dc7e9..102e977fec766 100644 --- a/lang/po/zh_CN.po +++ b/lang/po/zh_CN.po @@ -1,5 +1,4 @@ # Translators: -# Arcadia H , 2018 # ImmortalSTAR , 2018 # Jin Zhang <610037437@qq.com>, 2018 # 晨光 马 <448367875@qq.com>, 2018 @@ -11,9 +10,7 @@ # 高 励贤 <475964436@qq.com>, 2018 # Howlaind , 2018 # Hua Liang , 2018 -# EhNuhc Nehc , 2018 # 等离子 坦克 , 2019 -# zao lv , 2019 # ShenMian , 2019 # iopop, 2019 # Alan Zk <488872@qq.com>, 2019 @@ -39,22 +36,24 @@ # fei li , 2019 # Middo Miku <18119928570@163.com>, 2019 # Jerry Shell , 2019 -# 何方神圣 何 <1366003560@qq.com>, 2019 # D Laboratory , 2019 -# Amans Tofu , 2019 # L rient <1972308206@qq.com>, 2019 # JeffChen , 2019 +# Aloxaf , 2019 +# ehnuhc , 2019 +# Amans Tofu , 2019 +# zao lv , 2019 +# 何方神圣 何 <1366003560@qq.com>, 2019 # Jianxiang Wang , 2019 # cainiao , 2019 -# Aloxaf , 2019 # msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.D\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-06 00:47+0800\n" +"POT-Creation-Date: 2019-11-09 00:53+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" -"Last-Translator: Aloxaf , 2019\n" +"Last-Translator: cainiao , 2019\n" "Language-Team: Chinese (China) (https://www.transifex.com/cataclysm-dda-translators/teams/2217/zh_CN/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -237,7 +236,7 @@ msgstr "钚浆" msgid "" "Highly radioactive slurry. It is probably best to get far away from this." msgstr "" -"一些呈浆液状、具有高放射性的液态核材料,不宜接近。\n" +"一些呈浆液状、具有高放射性的液态核材料,不宜接近,更不能直接饮用。\n" "\"使酒鬼真正成为鬼。\"" #: lang/json/AMMO_from_json.py @@ -742,7 +741,7 @@ msgstr "土制尖刺火箭" msgid "" "A hand-built rocket, consisting of a spike welded onto a pipe that was " "filled with improvised rocket fuel. Horribly inaccurate, as can be expected" -" of this grade of weapon, but packs a fierce punch... if it hits." +" of this grade of weapon, but packs a fierce punch… if it hits." msgstr "" "一支用一根钢管里面装满代用的火箭燃料,然后再在前端焊上一条尖刺的自制火箭,毕竟是土制武器,精准度不佳,但是还是能造成一定的伤害。\n" "\"一切的前提是能打的中……\"" @@ -795,8 +794,8 @@ msgstr "电石(未反应完全)" #. ~ Description for unfinished calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"The incomplete process of converting coal and lime into calcium carbide. " -"Useless in this state/" +"The incomplete process of converting coal and lime into calcium carbide. " +"Useless in this state." msgstr "煤炭和石灰反应生成电石的中间态,当前状态下无法投入应用。" #: lang/json/AMMO_from_json.py @@ -899,7 +898,7 @@ msgstr "木制宽刃箭" #. ~ Description for wooden broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched wooden arrow shaft with a bladed tip. Useful for maximising " +"A fletched wooden arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a decent chance of remaining intact once " "fired." msgstr "装有带刃箭头的木制羽箭,能对目标造成最大化的伤害。射出后有较高概率保持完好。" @@ -956,7 +955,7 @@ msgstr "铝制宽刃箭" #. ~ Description for aluminum broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched aluminum arrow shaft with a bladed tip. Useful for maximising " +"A fletched aluminum arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a good chance of remaining intact once fired." msgstr "装有带刃箭头的铝制羽箭,能对目标造成最大化的伤害。射出后有很高概率保持完好。" @@ -1089,11 +1088,11 @@ msgstr[0] "硫磺" #. ~ Description for sulfur #: lang/json/AMMO_from_json.py msgid "" -"A handful of yellow grains of pure sulfur. Primarily used to make battery " -"acid, sulfur is sometimes used as fuel for explosives. Can be burned to " -"produce acidic smoke, that is deadly to bacteria and humans alike, or " -"oxidized to make paper-bleaching agents." -msgstr "一小把黄色如细沙般的纯硫磺。主要用于制造电池液,也能用用作爆炸物的燃料。可以点燃制造酸性烟雾,对细菌和人都是致命的,或者用于氧化漂白纸张。" +"A handful of pure sulfur. Primarily used to make battery acid, sulfur is " +"sometimes used as fuel for explosives. Can be burned to produce acidic " +"smoke, that is deadly to bacteria and humans alike, or oxidized to make " +"paper-bleaching agents." +msgstr "一小把纯硫磺。主要用于制造电池液,也能用用作爆炸物的燃料。可以点燃制造酸性烟雾,对细菌和人都是致命的,或者用于氧化漂白纸张。" #: lang/json/AMMO_from_json.py msgid "chunk of sulfur" @@ -1102,9 +1101,9 @@ msgstr[0] "硫磺块" #. ~ Description for chunk of sulfur #: lang/json/AMMO_from_json.py -msgid "A large chunk of pure sulfur. Break it up to use it." +msgid "A chunk of pure sulfur. Break it up to use it." msgstr "" -"一大块硫磺结晶,需要拆解后使用。\n" +"一块硫磺结晶,可以被拆解成碎块来使用。\n" "\"每一块硫磺的背后都有一个令人感到炽热的故事。\"" #: lang/json/AMMO_from_json.py @@ -1208,8 +1207,8 @@ msgstr[0] "氧化锌" #. ~ Description for zinc oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of zinc oxide. It can be reduced into zinc, or used for some other" -" reactions of its own." +"A handful of zinc oxide. It can be reduced into zinc, or used for some " +"other reactions of its own." msgstr "一捧氧化锌粉末。可以被还原成锌,或者将其用于其他的化学反应。" #: lang/json/AMMO_from_json.py @@ -1220,7 +1219,7 @@ msgstr[0] "二氧化锰" #. ~ Description for manganese dioxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of manganese dioxide powder. Occurring naturally in the mineral " +"A handful of manganese dioxide powder. Occurring naturally in the mineral " "pyrolusite, it is used commercially in the production of alkaline and zinc-" "carbon batteries." msgstr "一捧二氧化锰粉末。在自然状况下一般存在于软锰矿中,在商业上常被用来生产碱和碳锌电池。" @@ -1233,10 +1232,10 @@ msgstr[0] "氯化钾" #. ~ Description for potassium chloride #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium chloride. Although it occurs naturally in the mineral" -" sylvite, it can be produced as a byproduct of the reaction of saltpeter and" -" hydrochloric acid. It can be used for making fertilizer, or potassium " -"hydroxide by way of electrolysis." +"A handful of potassium chloride. Although it occurs naturally in the " +"mineral sylvite, it can be produced as a byproduct of the reaction of " +"saltpeter and hydrochloric acid. It can be used for making fertilizer, or " +"potassium hydroxide by way of electrolysis." msgstr "" "一捧氯化钾粉末。尽管它在自然状况下存在于钾盐矿中,但它又会在硝石和盐酸反应中作为副产品产生。它本身可以用来制造化肥,或用电解法制造氢氧化钾。" @@ -1248,8 +1247,8 @@ msgstr[0] "氢氧化钾" #. ~ Description for potassium hydroxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium hydroxide. Commonly called caustic potash, it was " -"mainly used industrially for its caustic nature. It can be used as an " +"A handful of potassium hydroxide. Commonly called caustic potash, it was " +"mainly used industrially for its caustic nature. It can be used as an " "electrolyte in alkaline batteries, among other applications." msgstr "一捧氢氧化钾。俗称苛性钾,由于其腐蚀性很强,在工业上用途很多。除其他应用外,它还可以用作碱性电池的电解液。" @@ -1276,9 +1275,9 @@ msgstr[0] "盐酸" #. ~ Description for hydrochloric acid #: lang/json/AMMO_from_json.py msgid "" -"Hydrochloric acid, also known as muriatic acid. It is a strong acid that has" -" a distinctive smell, important and frequently used ever since its " -"discovery. It still has a vast multitude of uses." +"Hydrochloric acid, also known as muriatic acid. It is a strong acid that " +"has a distinctive smell, important and frequently used ever since its " +"discovery. It still has a vast multitude of uses." msgstr "氢氯酸,又称盐酸。它是一种强酸,具有独特的气味,自从被发现以来就被广泛使用。迄今为止它仍有大量用途。" #: lang/json/AMMO_from_json.py @@ -1319,13 +1318,13 @@ msgstr[0] "氧化铬" #. ~ Description for chromium oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of chromium oxide pellets. This substance, typically known as the" -" only stable green pigment for paints, is also a mild oxidizer, which can be" -" mixed with aluminum powder to make thermite for welding. If one had access" -" to a CVD machine and a laboratory worth of reagents, they might be able to " +"A handful of chromium oxide. This substance, typically known as the only " +"stable green pigment for paints, is also a mild oxidizer, which can be mixed" +" with aluminum powder to make thermite for welding. If one had access to a " +"CVD machine and a laboratory worth of reagents, they might be able to " "produce very durable ceramic layers." msgstr "" -"一把氧化铬小球。这种物质是通常情况下唯一稳定的绿色颜料,也是一种温和的氧化剂。它可以与铝粉末混合来制备铝热剂进行焊接。如果能够找到化学气相镀膜机(CVD)和有丰富试剂的实验室,它们可用于生产非常耐用的陶瓷层。" +"一小把氧化铬。这种物质是通常情况下唯一稳定的绿色颜料,也是一种温和的氧化剂。它可以与铝粉末混合来制备铝热剂进行焊接。如果能够找到化学气相镀膜机(CVD)和有丰富试剂的实验室,它们可用于生产非常耐用的陶瓷层。" #: lang/json/AMMO_from_json.py msgid "calcium carbide" @@ -1335,13 +1334,13 @@ msgstr[0] "电石" #. ~ Description for calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"A handful of calcium carbide chunks, giving off a faint, garlic-like smell." -" Commercially, calcium carbide was used for on-the-spot manufacture of " +"A handful of calcium carbide, giving off a faint, garlic-like smell. " +"Commercially, calcium carbide was used for on-the-spot manufacture of " "acetylene and historically to power acetylene lamps. If mixed with water " "and sealed, it will explode with little strength, but with relatively loud " "noise and could maybe be used as a decoy." msgstr "" -"一把电石块,散发出微弱的大蒜味。在商业上,电石被用于乙炔的现场生产,在历史上还被用来驱动乙炔灯。如果它与水混合密封,会引起杀伤力不大的爆炸,但噪音较大,可以作为诱饵使用。" +"一小把电石块,散发出微弱的大蒜味。在商业上,电石被用于乙炔的现场生产,在历史上还被用来驱动乙炔灯。如果它与水混合密封,会引起杀伤力不大的爆炸,但噪音较大,可以作为诱饵使用。" #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "hexamine" @@ -1511,8 +1510,8 @@ msgstr[0] "火柴火药" #: lang/json/AMMO_from_json.py msgid "" "Some match head powder from match heads, similar to black gunpowder but a " -"bit weaker. It can be used in crafting explosives and fuses when other more " -"suitable candidates are less available." +"bit weaker. It can be used in crafting explosives and fuses when other more" +" suitable candidates are less available." msgstr "一些取自火柴头的火柴火药,特性类似黑火药,但威力略弱。当你缺少其他更合适的物品时,可以勉强用它来制造爆炸物和引信。" #: lang/json/AMMO_from_json.py @@ -1866,7 +1865,7 @@ msgstr[0] "火焰喷射器燃料" #. ~ Description for flamethrower fuel #: lang/json/AMMO_from_json.py msgid "" -"A mixture of gasoline and diesel oil in equal parts. Its combustion " +"A mixture of gasoline and diesel oil in equal parts. Its combustion " "properties make it unfit for applications where you would use any of them " "separately, but it can be used to feed a flamethrower." msgstr "由等量的汽油和柴油混合而成。特殊的燃烧性质使其无法再像汽油或柴油一样使用,但是可以用作火焰喷射器的燃料。" @@ -3242,36 +3241,49 @@ msgid "reloaded .460 Rowland" msgstr ".460 罗兰德弹(复装)" #: lang/json/AMMO_from_json.py -msgid ".50 BMG tracer" -msgstr ".50 BMG 曳光弹" +msgid ".50 BMG M17 tracer" +msgstr ".50 BMG M17 曳光弹" -#. ~ Description for .50 BMG tracer +#. ~ Description for .50 BMG M17 tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances." -msgstr "一些.50 BMG 狙击弹的曳光弹改进型,曳光弹种可帮助保持对射击目标的瞄准,但同时也有引燃可燃物的危险。" +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances." +msgstr ".50 BMG 弹的曳光弹型号。曳光弹种可帮助保持对射击目标的瞄准,但同时也有引燃可燃物的危险。" #: lang/json/AMMO_from_json.py -msgid ".50 BMG Ball" -msgstr ".50 BMG 普通弹" +msgid ".50 BMG M33 Ball" +msgstr ".50 BMG M33 普通弹" -#. ~ Description for .50 BMG Ball +#. ~ Description for .50 BMG M33 Ball #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise." +".50 BMG ammunition with mild steel cored 661gr FMJ bullets. The .50 BMG is " +"a very powerful rifle round designed for anti-aircraft use, later adapted to" +" anti-vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -".50 BMG " -"普通弹是非常强大的步枪弹,设计用于长距离使用。它所拥有的惊人精度和穿甲力使它成为有史以来最致命的弹药之一,但缺点是其巨大的后坐力以及发射噪声。" +"661格令的.50 BMG M33 普通弹型号,使用软钢芯全金属被甲弹弹头。.50 " +"口径弹药是非常强大的步枪弹,原本设计用于防空,但后来也被改用于反载具和反步兵用途。它所拥有的惊人威力和穿甲力使它成为有史以来最致命的弹药之一,但缺点是其巨大的后坐力以及发射噪声。" #: lang/json/AMMO_from_json.py -msgid ".50 BMG AP" -msgstr ".50 BMG 穿甲弹" +msgid ".50 BMG Match" +msgstr ".50 BMG 竞赛弹" -#. ~ Description for .50 BMG AP +#. ~ Description for .50 BMG Match +#: lang/json/AMMO_from_json.py +msgid "" +".50 BMG FMJ lead core ammunition manufactured with tighter tolerances for " +"long-range competition shooting or other precision rifle use." +msgstr ".50 BMG 的竞赛用型号,采用铅芯全金属被甲弹头。制造标准更严苛,用于长距离射击竞赛或供其他精确步枪使用。" + +#: lang/json/AMMO_from_json.py +msgid ".50 BMG M2 AP" +msgstr ".50 BMG M2 穿甲弹" + +#. ~ Description for .50 BMG M2 AP #: lang/json/AMMO_from_json.py msgid "" "Variant of the .50 BMG round that uses a core of very dense, hardened " @@ -3280,6 +3292,25 @@ msgstr "" "一种相对比较少见的.50 " "勃朗宁机枪弹,它的弹头中原本灌铅的地方,换成了一个极为坚硬的钨钢穿甲弹芯,这大大改善了它的穿甲能力,但是高穿甲的代价是伤害比铅芯子弹要小一些。" +#: lang/json/AMMO_from_json.py +msgid ".50 BMG Raufoss Mk 211" +msgstr ".50 BMG 诺霍斯 Mk 211 弹" + +#. ~ Description for .50 BMG Raufoss Mk 211 +#: lang/json/AMMO_from_json.py +msgid "" +"This variant of the .50 BMG round makes the most of the caliber's potential " +"payload delivery: the tip is loaded with an incendiary mix, which ignites on" +" impact, detonating the RDX or PETN charge. This also ignites a secondary " +"zirconium powder incendiary charge that surrounds a tungsten carbide " +"penetrator, both encased by a mild steel cup. Fragments from the cup and " +"burning metallic powder follow the penetrator through armored targets, " +"increasing lethality. These rare, complicated, and expensive rounds are not" +" likely to be manufactured again; use them wisely." +msgstr "" +"这款 .50 BMG " +"弹型号充分利用了自身口径的潜在载荷发射能力:弹尖内装入了特殊的燃烧剂,会在撞击时点燃,并引爆RDX或PETN装药。此外还会点燃环绕在碳化钨穿甲弹头周围的锆粉,两者被同时密封在软钢杯中。钢杯碎片和燃烧的金属粉末跟随着穿甲弹头穿过装甲目标,增加了杀伤力。这种罕见复杂且昂贵的弹药几乎不可能再次被制造出来;慎重使用。" + #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG tracer" msgstr ".50 BMG 曳光弹(复装)" @@ -3287,25 +3318,26 @@ msgstr ".50 BMG 曳光弹(复装)" #. ~ Description for reloaded .50 BMG tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances. This one has been hand-reloaded." -msgstr "一些.50 BMG 狙击弹的曳光弹改进型,曳光弹种可帮助保持对射击目标的瞄准,但同时也有引燃可燃物的危险。这是手工复装的型号。" +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances. This one has been hand-reloaded." +msgstr ".50 BMG 弹的曳光弹型号。曳光弹种可帮助保持对射击目标的瞄准,但同时也有引燃可燃物的危险。这是手工复装的型号。" #: lang/json/AMMO_from_json.py -msgid "reloaded .50 BMG Ball" -msgstr ".50 BMG 普通弹(复装)" +msgid "reloaded .50 BMG Match" +msgstr ".50 BMG 竞赛弹(复装)" -#. ~ Description for reloaded .50 BMG Ball +#. ~ Description for reloaded .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise. This" -" one has been hand-reloaded." +".50 BMG ammunition with lead-cored FMJ bullets. The .50 BMG is a very " +"powerful rifle round designed for anti-aircraft use, later adapted to anti-" +"vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -".50 BMG " -"普通弹是非常强大的步枪弹,设计用于长距离使用。它所拥有的惊人精度和穿甲力使它成为有史以来最致命的弹药之一,但缺点是其巨大的后坐力以及发射噪声。这是手工复装的型号。" +".50 BMG 弹,使用铅芯全金属被甲弹弹头。.50 " +"口径弹药是非常强大的步枪弹,原本设计用于防空,但后来也被改用于反载具和反步兵用途。它所拥有的惊人威力和穿甲力使它成为有史以来最致命的弹药之一,但缺点是其巨大的后坐力以及发射噪声。这是手工复装的型号。" #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG AP" @@ -3314,12 +3346,11 @@ msgstr ".50 BMG 穿甲弹(复装)" #. ~ Description for reloaded .50 BMG AP #: lang/json/AMMO_from_json.py msgid "" -"Variant of the .50 BMG round that uses a core of very dense, hardened " -"tungsten steel. Penetration is increased, but damage is reduced. This one " -"has been hand-reloaded." +"Variant of the .50 BMG round that uses a core hardened steel. Penetration " +"is increased, but damage is reduced. This one has been hand-reloaded." msgstr "" -"一种相对比较少见的.50 BMG " -"弹,它弹头中原本灌铅的地方换成了一个极为坚硬的钨钢穿甲弹芯,这大大改善了它的穿甲能力,但是高穿甲的代价是伤害比铅芯子弹要小一些。这是手工复装的型号。" +"一种相对比较少见的 .50 BMG " +"弹,它弹头中原本灌铅的地方换成了一个极为坚硬的钢质穿甲弹芯,这大大改善了它的穿甲能力,但是高穿甲的代价是伤害比铅芯子弹要小一些。这是手工复装的型号。" #: lang/json/AMMO_from_json.py msgid ".500 S&W Magnum" @@ -3405,7 +3436,7 @@ msgid "" "feature." msgstr "" "31格令的5.7x28mm SS190 全金属被甲穿甲弹。5.7x28mm口径子弹是由FN " -"Herstal公司设计,计划用来在北约中取代9x19mm口径子弹的弹种。尽管弹种取代计划被最终取消了,5.7x28mm口径子弹也已经在许多地区冲突中得到了使用,并证明了它的可靠性能。该种弹药的后坐力很低,并且穿甲性能不俗。" +"Herstal公司设计,计划用来在北约中取代9x19mm鲁格弹的弹种。尽管弹种取代计划被最终取消了,5.7x28mm口径子弹也已经在许多地区冲突中得到了使用,并证明了它的可靠性能。该种弹药的后坐力很低,并且穿甲性能不俗。" #: lang/json/AMMO_from_json.py msgid "5.7x28mm blackpowder" @@ -3424,7 +3455,7 @@ msgid "" "projectiles." msgstr "" "31格令的5.7x28mm SS190 全金属被甲穿甲弹。5.7x28mm口径子弹是由FN " -"Herstal公司设计,计划用来在北约中取代9x19mm口径子弹的弹种。尽管弹种取代计划被最终取消了,5.7x28mm口径子弹也已经在许多地区冲突中得到了使用,并证明了它的可靠性能。该种弹药的后坐力很低,但由于使用的是简单的铅芯而不是正规的工厂制造的穿甲弹芯,因此没有常规弹药的对于装甲的穿透力。" +"Herstal公司设计,计划用来在北约中取代9x19mm鲁格弹的弹种。尽管弹种取代计划被最终取消了,5.7x28mm口径子弹也已经在许多地区冲突中得到了使用,并证明了它的可靠性能。该种弹药的后坐力很低,但由于使用的是简单的铅芯而不是正规的工厂制造的穿甲弹芯,因此没有常规弹药的对于装甲的穿透力。" #: lang/json/AMMO_from_json.py msgid "reloaded 5.7x28mm" @@ -3857,8 +3888,7 @@ msgid "" "9x18 millimeter Makarov, an old Soviet pistol cartridge used mainly by the " "Makarov PM. As the designation implies, it is a bit shorter in case length " "compared to 9mm Parabellum. This one has been hand-reloaded." -msgstr "" -"9x18mm口径马卡洛夫手枪弹,主要用于马卡洛夫PM手枪的前苏联制式子弹。正如其名所示,弹壳长度略短于9mm口径帕拉贝姆手枪弹。这是手工复装的型号。" +msgstr "9x18mm口径马卡洛夫手枪弹,主要用于马卡洛夫PM手枪的前苏联制式子弹。正如其名所示,弹壳长度略短于9mm鲁格弹。这是手工复装的型号。" #: lang/json/AMMO_from_json.py msgid "reloaded 9x18mm +P+" @@ -4289,6 +4319,113 @@ msgstr "一些真菌种子。" msgid "fungal flower" msgstr "真菌花" +#: lang/json/AMMO_from_json.py +msgid "potassium alum" +msgstr "钾矾" + +#. ~ Description for potassium alum +#: lang/json/AMMO_from_json.py +msgid "" +"Small water-soluble white crystals with watery metallic odor, historically " +"used for many different purposes. Also known as potash alum and potassium " +"aluminum sulfate; often called simply alum, as it's the most important " +"member of the generic class of compounds called alums." +msgstr "" +"颗粒状的水溶性白色晶体,散发出淡淡的金属气味,在历史上有许多不同的用途。也被称为钾明矾或硫酸铝钾;通常也简称为明矾,因为它是明矾类化合物中最重要的一员。" + +#: lang/json/AMMO_from_json.py +msgid "cloth dye powder" +msgstr "染布染料粉" + +#. ~ Description for cloth dye powder +#: lang/json/AMMO_from_json.py +msgid "" +"This is a powdered colorful cloth dye, which can be used to dye many fabrics" +" if combined with water and some mordant." +msgstr "一些粉状的彩色染布染料,如果与水和媒染剂结合在一起,可用于多种织物的染色。" + +#: lang/json/AMMO_from_json.py +msgid "steel buckle" +msgstr "钢制带扣" + +#. ~ Description for steel buckle +#: lang/json/AMMO_from_json.py +msgid "A steel buckle, like that usually found on belts." +msgstr "一个钢制带扣,就是在皮带上缝着的那种。" + +#: lang/json/AMMO_from_json.py +msgid "plastic button" +msgstr "塑料纽扣" + +#. ~ Description for plastic button +#: lang/json/AMMO_from_json.py +msgid "A plastic button, usually found on clothing." +msgstr "" +"一颗塑料纽扣,就是在衣服上缝着的那种。\n" +"“临行密密缝,回来重新缝。”" + +#: lang/json/AMMO_from_json.py +msgid "steel button" +msgstr "钢制纽扣" + +#. ~ Description for steel button +#: lang/json/AMMO_from_json.py +msgid "A steel button, usually found on clothing." +msgstr "" +"一颗钢制纽扣,就是在衣服上缝着的那种。\n" +"“就是这颗钢制纽扣保护了我的心脏不被子弹击中,可我头都被打爆了。”" + +#: lang/json/AMMO_from_json.py +msgid "wooden button" +msgstr "木制纽扣" + +#. ~ Description for wooden button +#: lang/json/AMMO_from_json.py +msgid "A crude wooden button, usually found on very old clothing." +msgstr "" +"一颗粗糙的木质纽扣,基本只能在非常古老的衣物上面才能找到了。\n" +"“古风cosplay?你这是叫我头上插羽毛当印第安酋长?你的性癖很怪耶”" + +#: lang/json/AMMO_from_json.py +msgid "steel snap fastener" +msgstr "钢制按扣" + +#. ~ Description for steel snap fastener +#: lang/json/AMMO_from_json.py +msgid "A steel snap fastener, usually found on clothing." +msgstr "一颗钢制按扣,就是在一般衣物上缝着的那些。" + +#: lang/json/AMMO_from_json.py +msgid "touch fastener" +msgstr "魔术贴" + +#. ~ Description for touch fastener +#: lang/json/AMMO_from_json.py +msgid "" +"This is a pair of cloth strips, one of which has tiny hooks and another has " +"tiny loops. Useful as a fastener for clothing and footwear." +msgstr "一对布条,其中一条表面有许多小钩子,另一条表面有许多小环。通常用作服装和鞋类的扣件。" + +#: lang/json/AMMO_from_json.py +msgid "long plastic zipper" +msgstr "长塑料拉链" + +#. ~ Description for long plastic zipper +#: lang/json/AMMO_from_json.py +msgid "A long zipper made from plastic, usually found on clothing." +msgstr "一条用塑料制成的长拉链,就是在衣服上缝着的那种。" + +#: lang/json/AMMO_from_json.py +msgid "short plastic zipper" +msgstr "短塑料拉链" + +#. ~ Description for short plastic zipper +#: lang/json/AMMO_from_json.py +msgid "" +"A short zipper made from plastic, usually found on footwear or clothing " +"pockets." +msgstr "一条用塑料制成的短拉链,就是在鞋类和衣袋上缝着的那种。" + #: lang/json/AMMO_from_json.py msgid "red paint" msgid_plural "red paint" @@ -4433,7 +4570,7 @@ msgstr[0] "锌" #: lang/json/AMMO_from_json.py msgid "" "A slightly brittle metal. Apart from being an essential mineral that the " -"body needs, it reacts readily with acids, alkalis and other non-metals. It " +"body needs, it reacts readily with acids, alkalis and other non-metals. It " "can be crushed to make zinc powder, used in the production of batteries, " "among other things." msgstr "一种稍微有些易碎的金属。除了是人体必需的微量元素之一外,它和酸、碱或其他非金属也很容易发生反应,因此可以打碎成锌粉用于电池等物品的制造。" @@ -4512,7 +4649,7 @@ msgstr "门铰链" #. ~ Description for door hinge #: lang/json/AMMO_from_json.py msgid "" -"A small metal hinge with two metal plates with screw holes. Useful for " +"A small metal hinge with two metal plates with screw holes. Useful for " "making doors." msgstr "由两个带螺孔的金属板组成的小金属铰链。用来制造活页门。" @@ -4523,7 +4660,7 @@ msgstr "锡粉" #. ~ Description for tin powder #: lang/json/AMMO_from_json.py msgid "" -"A fine gray powder composed of tin, usable for making solder and lining " +"A fine gray powder composed of tin, usable for making solder and lining " "containers to prevent corrosion." msgstr "灰色的细锡粉,可以用来制造焊锡,或者镀在容器上防止腐蚀。" @@ -4563,6 +4700,343 @@ msgid "" "explosions." msgstr "一小段导火索,长度足够让你有时间逃离爆炸。" +#: lang/json/AMMO_from_json.py +msgid "rubber sole" +msgstr "橡胶鞋底" + +#. ~ Description for rubber sole +#: lang/json/AMMO_from_json.py +msgid "" +"This is a sole made from rubber, usually found on the bottoms of boots. Can" +" be used for making actual boots." +msgstr "一个由橡胶制成的鞋底,就是在靴子底部的那种。可以用来做一双真正的靴子。" + +#: lang/json/AMMO_from_json.py +msgid "cotton scraps" +msgid_plural "cotton scraps" +msgstr[0] "棉布碎片" + +#. ~ Description for cotton scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of cotton, waste material from tailoring " +"projects. Not useful for much and usually disposed of, but can be recycled " +"into some thread if you really want." +msgstr "形状奇特的小块棉布,某次裁剪产生的废料。没什么大用途,通常会被丢弃,但如果你实在想的话,可以从其中回收些缝衣线。" + +#: lang/json/AMMO_from_json.py +msgid "faux fur scraps" +msgid_plural "faux fur scraps" +msgstr[0] "人造毛皮碎片" + +#. ~ Description for faux fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of faux fur, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "形状奇特的小块人造毛皮,某次裁剪产生的废料。没什么大用途,通常会被丢弃。" + +#: lang/json/AMMO_from_json.py +msgid "felt scraps" +msgid_plural "felt scraps" +msgstr[0] "毛毡碎片" + +#. ~ Description for felt scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of felt, waste material from tailoring projects." +" Not useful for much and usually disposed of, but can be recycled into some" +" wool fiber if you really want." +msgstr "形状奇特的小块毛毡,某次裁剪产生的废料。没什么大用途,通常会被丢弃,但如果你实在想的话,可以从其中回收些毛线。" + +#: lang/json/AMMO_from_json.py +msgid "fur scraps" +msgid_plural "fur scraps" +msgstr[0] "毛皮碎片" + +#. ~ Description for fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of fur, waste material from tailoring projects. " +"Not useful for much and usually disposed of." +msgstr "形状奇特的小块毛皮,某次裁剪产生的废料。没什么大用途,通常会被丢弃。" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar scraps" +msgid_plural "Kevlar scraps" +msgstr[0] "凯夫拉碎片" + +#. ~ Description for Kevlar scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of Kevlar fabric, waste material from tailoring " +"projects. Normally it's disposed of, but since Kevlar would be very " +"difficult to make in a post-apocalyptic world, it might be worth recycling " +"it for Kevlar thread." +msgstr "" +"形状奇特的小块凯夫拉片,某次裁剪产生的废料。没什么大用途,通常会被丢弃,但由于凯夫拉材料在末日废土上很罕见,它还是值得你花些时间回收成凯夫拉纤维的。" + +#: lang/json/AMMO_from_json.py +msgid "leather scraps" +msgid_plural "leather scraps" +msgstr[0] "皮革碎片" + +#. ~ Description for leather scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of leather, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "形状奇特的小块皮革,某次裁剪产生的废料。没什么大用途,通常会被丢弃。" + +#: lang/json/AMMO_from_json.py +msgid "lycra scraps" +msgid_plural "lycra scraps" +msgstr[0] "莱卡碎片" + +#. ~ Description for lycra scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of lycra, waste material from tailoring projects." +" Not useful for much and usually disposed of." +msgstr "形状奇特的小块莱卡面料,某次裁剪产生的废料。没什么大用途,通常会被丢弃。" + +#: lang/json/AMMO_from_json.py +msgid "neoprene scraps" +msgid_plural "neoprene scraps" +msgstr[0] "氯丁橡胶碎片" + +#. ~ Description for neoprene scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of neoprene, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "形状奇特的小块氯丁橡胶,某次裁剪产生的废料。没什么大用途,通常会被丢弃。" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric scraps" +msgid_plural "synthetic fabric scraps" +msgstr[0] "化纤碎片" + +#. ~ Description for synthetic fabric scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of synthetic fabric, waste material from " +"tailoring projects. Not useful for much and usually disposed of." +msgstr "形状奇特的小块化纤面料,某次裁剪产生的废料。没什么大用途,通常会被丢弃。" + +#: lang/json/AMMO_from_json.py +msgid "Nomex scraps" +msgid_plural "Nomex scraps" +msgstr[0] "芳纶碎片" + +#. ~ Description for Nomex scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of heat-resistant Nomex fabric, waste material " +"from tailoring projects. Normally it's disposed of, but since Nomex would " +"be very difficult to make in a post-apocalyptic world, it might be worth " +"recycling it." +msgstr "形状奇特的小块防火芳纶,某次裁剪产生的废料。没什么大用途,通常会被丢弃,但由于芳纶材料在末日废土上很罕见,它还是值得你花些时间回收的。" + +#: lang/json/AMMO_from_json.py +msgid "cotton sheet" +msgstr "棉布面料" + +#. ~ Description for cotton sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of cotton fabric, suitable for making clothing." +msgstr "一卷棉布面料,可以用来制作衣物。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork cotton clothing parts" +msgid_plural "patchwork cotton clothing parts" +msgstr[0] "棉布拼布" + +#. ~ Description for patchwork cotton clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from cotton patches in " +"a patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "各类衣物部件,由棉布片采用拼布工艺缝制而成。可以用于制作大多数衣物,但比起使用正规材料来要花费更多时间。" + +#: lang/json/AMMO_from_json.py +msgid "faux fur sheet" +msgstr "人造毛皮面料" + +#. ~ Description for faux fur sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of fake synthetic colorful fur, suitable for making clothing." +msgstr "一卷颜色华丽的人造毛皮面料。可以用来制作保暖的衣物。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork faux fur clothing parts" +msgid_plural "patchwork faux fur clothing parts" +msgstr[0] "人造毛皮拼布" + +#. ~ Description for patchwork faux fur clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from faux fur patches " +"in a patchwork fashion. Suitable for making most clothing, though it's much" +" less time-efficient than if using proper material sheets." +msgstr "各类衣物部件,由人造毛皮片采用拼布工艺缝制而成。可以用于制作大多数衣物,但比起使用正规材料来要花费更多时间。" + +#: lang/json/AMMO_from_json.py +msgid "felt sheet" +msgstr "毛毡面料" + +#. ~ Description for felt sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of felt, suitable for making clothing." +msgstr "一卷毛毡面料,可以用来制作衣物。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork felt clothing parts" +msgid_plural "patchwork felt clothing parts" +msgstr[0] "毛毡拼布" + +#. ~ Description for patchwork felt clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from felt patches in a " +"patchwork fashion. Suitable for making most clothing, though it's much less" +" time-efficient than if using proper material sheets." +msgstr "各类衣物部件,由毛毡片采用拼布工艺缝制而成。可以用于制作大多数衣物,但比起使用正规材料来要花费更多时间。" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar sheet" +msgstr "凯夫拉面料" + +#. ~ Description for Kevlar sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Kevlar synthetic fabric, suitable for making bulletproof armor. " +"In this form, unlike rigid plates, it can be stitched." +msgstr "一卷凯夫拉合成纤维面料,可以用于制造防弹装甲。这种形态和刚性装甲板不同,可以被用于缝制。" + +#: lang/json/AMMO_from_json.py +msgid "lycra sheet" +msgstr "莱卡面料" + +#. ~ Description for lycra sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of synthetic fabric blended with stretchy lycra fibers, suitable for" +" making flexible yet strong clothing." +msgstr "一卷掺入了可拉伸的莱卡纤维的合成纤维面料。可以用来制作具有弹性而坚韧的衣物。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork lycra clothing parts" +msgid_plural "patchwork lycra clothing parts" +msgstr[0] "莱卡拼布" + +#. ~ Description for patchwork lycra clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from lycra patches in a" +" patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "各类衣物部件,由莱卡片采用拼布工艺缝制而成。可以用于制作大多数衣物,但比起使用正规材料来要花费更多时间。" + +#: lang/json/AMMO_from_json.py lang/json/GENERIC_from_json.py +msgid "neoprene sheet" +msgid_plural "neoprene sheets" +msgstr[0] "氯丁橡胶面料" + +#. ~ Description for neoprene sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of neoprene, a synthetic rubber, suitable for making underwater " +"gear." +msgstr "一卷人工合成的氯丁橡胶。可以用来制作水下作业的衣物。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork neoprene clothing parts" +msgid_plural "patchwork neoprene clothing parts" +msgstr[0] "氯丁橡胶拼布" + +#. ~ Description for patchwork neoprene clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from neoprene patches " +"in a patchwork fashion, with waterproofed seams. Suitable for making most " +"clothing, though it's much less time-efficient than if using proper material" +" sheets." +msgstr "各类衣物部件,由氯丁橡胶片采用拼布工艺缝制而成。可以用于制作大多数衣物,但比起使用正规材料来要花费更多时间。" + +#: lang/json/AMMO_from_json.py +msgid "Nomex sheet" +msgstr "芳纶面料" + +#. ~ Description for Nomex sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Nomex synthetic fabric, suitable for making heat-resistant " +"clothing." +msgstr "一卷芳纶化纤面料,可以用来制作防火衣物。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork Nomex clothing parts" +msgid_plural "patchwork Nomex clothing parts" +msgstr[0] "芳纶拼布" + +#. ~ Description for patchwork Nomex clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together with Nomex thread from " +"Nomex patches in a patchwork fashion. Suitable for making most clothing, " +"though it's much less time-efficient than if using proper material sheets." +msgstr "各类衣物部件,由芳纶片采用拼布工艺缝制而成。可以用于制作大多数衣物,但比起使用正规材料来要花费更多时间。" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric sheet" +msgstr "化纤面料" + +#. ~ Description for synthetic fabric sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of synthetic fabric, suitable for making clothing." +msgstr "一卷化纤面料,可以用来制作衣物。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork synthetic fabric clothing parts" +msgid_plural "patchwork synthetic fabric clothing parts" +msgstr[0] "化纤拼布" + +#. ~ Description for patchwork synthetic fabric clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from synthetic fabric " +"patches in a patchwork fashion. Suitable for making most clothing, though " +"it's much less time-efficient than if using proper material sheets." +msgstr "各类衣物部件,由化纤片采用拼布工艺缝制而成。可以用于制作大多数衣物,但比起使用正规材料来要花费更多时间。" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar thread" +msgstr "凯夫拉纤维" + +#. ~ Description for Kevlar thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some very durable Kevlar thread that would be particularly useful for making" +" ballistic armor, though it's fine to use in place of normal thread too, in " +"most cases. Making armor-grade Kevlar sheets from this would need a " +"particularly tight weave, and so would need some specialized machinery." +msgstr "" +"一些非常耐用的凯夫拉纤维,在制作防弹装甲时特别有用,不过在大多数情况下也能用来替代普通的缝衣线。制作盔甲级的凯夫拉面料需要特别紧密编织,因此需要专门机器才能制作。" + +#: lang/json/AMMO_from_json.py +msgid "Nomex thread" +msgstr "芳纶纤维" + +#. ~ Description for Nomex thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some heat-resistant Nomex thread that would be particularly useful for " +"making heat protection gear, though it's fine to use in place of normal " +"thread too, in most cases." +msgstr "一些防火的芳纶纤维,在制作防火装甲时特别有用,不过在大多数情况下也能用来替代普通的缝衣线。" + #: lang/json/AMMO_from_json.py msgid "handloaded .22 CB" msgid_plural "handloaded .22 CB" @@ -5057,6 +5531,18 @@ msgid "" "burn hotly upon impact, piercing armor and igniting flammable substances." msgstr "重型通用燃烧弹,重机枪和军用设施使用,弹头受撞击会剧烈燃烧,造成穿甲效果并点燃易燃材料。" +#: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py +msgid "orichalcum arrow" +msgstr "山铜箭" + +#. ~ Description for orichalcum arrow +#: lang/json/AMMO_from_json.py +msgid "" +"An arrow composed of a sliver of orichalcum. The arrow has a mysterious " +"glow. Has a very high chance of staying intact when fired, however can only" +" be fired from Ichaival." +msgstr "由山铜制成的箭,正发出神秘的光芒。射击后有很大概率可以保持完好,但是只能从神弓伊奇巴尔上射出。" + #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "dragon blood" msgid_plural "dragon blood" @@ -5100,10 +5586,31 @@ msgstr[0] "魔力水晶" #. ~ Description for crystallized mana #: lang/json/AMMO_from_json.py msgid "" -"Some crystallized mana. This can be reloaded into rechargable mana crystals," -" but can never be unloaded." +"Some crystallized mana. This can be reloaded into rechargable mana " +"crystals, but can never be unloaded." msgstr "一些结晶化的魔力。可以注入魔力进行充能,但无法再抽取出来。" +#: lang/json/AMMO_from_json.py +msgid "lump of orichalcum" +msgstr "山铜块" + +#. ~ Description for lump of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A heavy formed piece of strange metal. Useful for some crafting recipes." +msgstr "一块沉重的奇特金属块,可以用于制造物品。" + +#: lang/json/AMMO_from_json.py +msgid "sliver of orichalcum" +msgstr "山铜片" + +#. ~ Description for sliver of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A sliver of a strange glowing metal. Useful as a weapon, but better suited " +"for crafting." +msgstr "一块发出神秘光芒的金属片。可以当作武器,但是更适合用于制造物品。" + #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "fire lance charge" msgstr "火枪药" @@ -6113,8 +6620,10 @@ msgstr[0] "大刀鞘(肩)" #. ~ Use action holster_msg for pair of rollerblades. #. ~ Use action holster_msg for pair of rollerskates. #. ~ Use action holster_msg for C.R.I.T web belt. +#. ~ Use action holster_msg for technomancer's toolbelt. #. ~ Use action holster_msg for hollow cane. -#: lang/json/ARMOR_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/ARMOR_from_json.py lang/json/ARMOR_from_json.py +#: lang/json/GENERIC_from_json.py #, no-python-format msgid "You sheath your %s" msgstr "你将%s收鞘" @@ -6714,6 +7223,43 @@ msgid "" "small straps designed to better distribute the weight." msgstr "一件自制的锁链胸甲,这件无袖胸甲由多条带子连结,均匀地分散装甲的重量。" +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail chausses" +msgid_plural "pairs of chainmail chausses" +msgstr[0] "锁环镫靴" + +#. ~ Description for pair of chainmail chausses +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail chausses that cover the feet, like booties made of " +"chainmail." +msgstr "经过特别定制的锁环镫靴,覆盖了整个腿部,如同锁环制成的长筒女靴一样。" + +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail gloves" +msgid_plural "pairs of chainmail gloves" +msgstr[0] "锁环手套" + +#. ~ Description for pair of chainmail gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail gloves. They fully enclose the fingers and provide " +"excellent protection, but are somewhat cumbersome." +msgstr "经过特别定制的锁环手套。完全覆盖了手指并提供极好的保护,但有点累赘。" + +#: lang/json/ARMOR_from_json.py +msgid "faraday chainmail suit" +msgid_plural "faraday chainmail suits" +msgstr[0] "法拉第锁环服" + +#. ~ Description for faraday chainmail suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A fully customized chainmail suit that can be worn over your normal " +"clothing. The suit is conductively interconnected, protecting against " +"electricity." +msgstr "一套特别定制的锁环甲套装,可以穿在你正常的衣服上。衣服内各个部件是导电连接的,有效防护电击。" + #: lang/json/ARMOR_from_json.py msgid "leather chaps" msgid_plural "leather chaps" @@ -6858,6 +7404,26 @@ msgstr "" "一件五颜六色的滑稽搞笑的小丑装扮服。\n" "\"丧尸没有小丑恐惧症。\"" +#: lang/json/ARMOR_from_json.py +msgid "clown wig" +msgid_plural "clown wigs" +msgstr[0] "小丑假发" + +#. ~ Description for clown wig +#: lang/json/ARMOR_from_json.py +msgid "A colorful and ridiculous wig fit for a clown." +msgstr "一顶五颜六色的滑稽搞笑的小丑假发。" + +#: lang/json/ARMOR_from_json.py +msgid "clown nose" +msgid_plural "clown noses" +msgstr[0] "小丑鼻" + +#. ~ Description for clown nose +#: lang/json/ARMOR_from_json.py +msgid "A red latex nose often seen being worn by clowns." +msgstr "一个小丑常戴的红色乳胶假鼻子。" + #: lang/json/ARMOR_from_json.py msgid "fur coat" msgid_plural "fur coats" @@ -7103,6 +7669,22 @@ msgstr "" "一件白色纽扣领的长袖衬衫。\n" "\"穿着像个专业人士!\"" +#: lang/json/ARMOR_from_json.py +msgid "drinking hat" +msgid_plural "drinking hats" +msgstr[0] "饮水帽" + +#. ~ Description for drinking hat +#: lang/json/ARMOR_from_json.py +msgid "" +"This is an improvised harness that can be worn over other headgear or bare " +"head, made from two small liquid containers, a rubber hose, a bundle of " +"steel wire, and some cordage. A convenient and simple device for hands-free" +" drinking, though the liquid inside would spill if you put it into your " +"backpack." +msgstr "" +"这套简单的自制装置由两个小型容器、一根塑胶管、一捆铁线和一些绳索制成,戴在头上之后不需要用手就可以方便地喝水。不过,如果你把它放进背包,里面的水就会洒掉。" + #: lang/json/ARMOR_from_json.py msgid "wedding dress" msgid_plural "wedding dresses" @@ -7235,6 +7817,30 @@ msgstr[0] "腰包" msgid "Provides a bit of extra storage, with minimal encumbrance." msgstr "一件固定在腰间的小包,以极小的累赘换取一点额外的储存空间。" +#: lang/json/ARMOR_from_json.py +msgid "underarm protector" +msgid_plural "underarm protectors" +msgstr[0] "腋下护甲" + +#. ~ Description for underarm protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A sturdy cotton plastron that protects much of the torso, the dominant " +"shoulder, and underarm while fencing." +msgstr "一件结实的棉质胸甲,能在击剑时保护大部分躯干、肩膀主要部分和腋下。" + +#: lang/json/ARMOR_from_json.py +msgid "plastic chest protector" +msgid_plural "plastic chest protectors" +msgstr[0] "塑料胸甲" + +#. ~ Description for plastic chest protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A rigid plastic plastron with molded cups to be worn by female fencers for " +"protection while fencing." +msgstr "一件硬质塑料胸甲,有模制的胸罩,可供女子击剑运动员佩带,以在击剑时提供保护。" + #: lang/json/ARMOR_from_json.py msgid "fencing jacket" msgid_plural "fencing jackets" @@ -7247,6 +7853,32 @@ msgid "" "accidents. It doesn't have any storage room, but it is very comfortable." msgstr "一件拉链在背后、设计用于助于防止击剑等运动时发生意外击剑上衣。它没有储存空间,但相当舒适。" +#: lang/json/ARMOR_from_json.py +msgid "lamé (foil)" +msgid_plural "lamé (foil)s" +msgstr[0] "导电服(花剑)" + +#. ~ Description for lamé (foil) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive vest with the zipper on the back used by " +"fencers for electronic scoring. Its outer layer is a woven mix of sturdy " +"cotton and stainless steel strands." +msgstr "一件轻薄的导电背心,背部有拉链,用于在击剑时电子计分。它的最外层是由结实的棉布和不锈钢丝交织而成的。" + +#: lang/json/ARMOR_from_json.py +msgid "lamé (saber)" +msgid_plural "lamé (saber)s" +msgstr[0] "导电服(佩剑)" + +#. ~ Description for lamé (saber) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive jacket used by fencers for electronic " +"scoring. Its outer layer is a woven mix of sturdy cotton and stainless " +"steel strands." +msgstr "一件轻薄的导电夹克,用于在击剑时电子计分。它的最外层是由结实的棉布和不锈钢丝交织而成的。" + #: lang/json/ARMOR_from_json.py msgid "fencing mask" msgid_plural "fencing masks" @@ -7267,6 +7899,30 @@ msgstr[0] "击剑裤" msgid "A pair of reinforced pants used by fencers to prevent injuries." msgstr "一条内有导电金属网加固的,防止击剑等运动时发生意外的击剑防护裤。" +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet" +msgid_plural "fencing gauntlets" +msgstr[0] "击剑护手" + +#. ~ Description for fencing gauntlet +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers." +msgstr "一只单面绒面手套,有着结实的棉制手腕,带衬垫的手背和合身的指套。" + +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet (left)" +msgid_plural "fencing gauntlet (left)s" +msgstr[0] "击剑护手(左)" + +#. ~ Description for fencing gauntlet (left) +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers. This one is left-handed." +msgstr "一只单面绒面手套,有着结实的棉制手腕,带衬垫的手背和合身的指套。这只是左手用的。" + #: lang/json/ARMOR_from_json.py msgid "pair of fire gauntlets" msgid_plural "pairs of fire gauntlets" @@ -7613,18 +8269,6 @@ msgstr[0] "毛皮手套" msgid "A pair of warm fur gloves. They are somewhat cumbersome." msgstr "一双包裹着重重毛皮的手套,非常暖和但有点累赘。" -#: lang/json/ARMOR_from_json.py -msgid "pair of survivor wetsuit gloves" -msgid_plural "pairs of survivor wetsuit gloves" -msgstr[0] "幸存者手套(潜水)" - -#. ~ Description for pair of survivor wetsuit gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" -" wear while providing maximum protection under extreme conditions." -msgstr "一双自制的凯夫拉-氯丁橡胶复合手套,更易于穿戴,即使在极端情况下也能提供最大防护。" - #: lang/json/ARMOR_from_json.py msgid "pair of heavy survivor gloves" msgid_plural "pairs of heavy survivor gloves" @@ -7681,6 +8325,19 @@ msgid "" "wear while providing maximum protection under extreme conditions." msgstr "一双自制的凯夫拉-布手套,更易于穿戴,旨在极端情况下也能提供最大防护。" +#: lang/json/ARMOR_from_json.py +msgid "pair of fingerless survivor gloves" +msgid_plural "pairs of fingerless survivor gloves" +msgstr[0] "无指幸存者手套" + +#. ~ Description for pair of fingerless survivor gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored cloth gloves with no fingers, modified " +"to be easy to wear while providing maximum protection under extreme " +"conditions." +msgstr "一双自制的无指凯夫拉-布手套,更易于穿戴,旨在极端情况下也能提供最大防护。" + #: lang/json/ARMOR_from_json.py msgid "pair of medical gloves" msgid_plural "pairs of medical gloves" @@ -7891,16 +8548,6 @@ msgid "" "excellent protection from environmental dangers." msgstr "一副特别针对恶劣的气候和有害物质、可为眼睛提供全方位的防护的大型护目镜。" -#: lang/json/ARMOR_from_json.py -msgid "pair of swim goggles" -msgid_plural "pairs of swim goggles" -msgstr[0] "游泳护目镜" - -#. ~ Description for pair of swim goggles -#: lang/json/ARMOR_from_json.py -msgid "A small pair of goggles made for swimming." -msgstr "一副符合光学和医用标准,水下视物清晰、视野宽阔的游泳镜。" - #: lang/json/ARMOR_from_json.py msgid "pair of welding goggles" msgid_plural "pairs of welding goggles" @@ -7935,19 +8582,6 @@ msgid "" "A heavy, full-length wool coat. Cumbersome, but warm and with deep pockets." msgstr "一件覆盖全身的、相当保暖的厚重羊毛大衣,提供比较可观的储存空间。" -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit" -msgid_plural "survivor wetsuits" -msgstr[0] "幸存者套装(潜水)" - -#. ~ Description for survivor wetsuit -#: lang/json/ARMOR_from_json.py -msgid "" -"A lightweight, hand-built combination armor made from a cut-down bulletproof" -" vest and a reinforced neoprene wetsuit. Protects from the elements as well" -" as from harm." -msgstr "一件自制的轻型复合防护服,由防弹背心和强化橡胶潜水服组合而成,可以提供环境和伤害防护。" - #: lang/json/ARMOR_from_json.py msgid "hakama" msgid_plural "hakamas" @@ -8422,17 +9056,6 @@ msgstr[0] "幸存者兜帽(防火)" msgid "A customized armored Nomex and Kevlar hood, very strong and durable." msgstr "一件自制的凯夫拉-芳纶纤维防火兜帽,非常结实耐用。" -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit hood" -msgid_plural "survivor wetsuit hoods" -msgstr[0] "幸存者兜帽(潜水)" - -#. ~ Description for survivor wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "" -"A customized armored neoprene and Kevlar hood, very strong and durable." -msgstr "一件自制的凯夫拉-氯丁橡胶复合兜帽,非常结实、耐用。" - #: lang/json/ARMOR_from_json.py msgid "light survivor hood" msgid_plural "light survivor hoods" @@ -9106,18 +9729,25 @@ msgid_plural "leather belts" msgstr[0] "皮带" #. ~ Use action holster_msg for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_msg for magic leather belt. +#. ~ Use action holster_msg for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py #, no-python-format msgid "You tuck your %s into your %s" msgstr "你将%s放进你的%s。" #. ~ Use action holster_prompt for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_prompt for magic leather belt. +#. ~ Use action holster_prompt for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Stick what into your belt" msgstr "把什么放到腰带上?" #. ~ Description for leather belt -#: lang/json/ARMOR_from_json.py +#. ~ Description for magic leather belt +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py msgid "A leather belt. Useful for making your pair of pants fit." msgstr "一条常用于穿插在裤子上的皮带。" @@ -9271,6 +9901,19 @@ msgid "" "variety is favored by the military." msgstr "一组扣绑在大腿上的小包,多功能战术包的一个种,可以用来放置随身物品,比如地图、指南针、防风火柴等等。" +#: lang/json/ARMOR_from_json.py +msgid "leotard" +msgid_plural "leotard" +msgstr[0] "紧身连衣裤" + +#. ~ Description for leotard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment, covering the body from the groin to the " +"shoulders. With its deep scoop-cut back and high waist cuts, this garment " +"is perfect for showcasing your physique on the stage." +msgstr "一件紧身的氨纶连体服,覆盖了从腹股沟到肩膀的身体。它背后的圆低领和底部高腰的剪裁,能够在舞台上完美的展示出你的体型。" + #: lang/json/ARMOR_from_json.py msgid "Linux t-shirt" msgid_plural "Linux t-shirts" @@ -10047,31 +10690,6 @@ msgid "" "Activate to sheathe/draw a weapon." msgstr "一个巨大的、用来放置大型刀剑类武器的可调整剑鞘。使用它来收拔武器。" -#: lang/json/ARMOR_from_json.py -msgid "shark suit" -msgid_plural "shark suits" -msgstr[0] "防鲨服" - -#. ~ Description for shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It comes with attached plastic helmet and booties." -msgstr "一件潜水员用来防止被鲨鱼咬伤、覆及全身的一体链甲套装。" - -#: lang/json/ARMOR_from_json.py -msgid "faraday shark suit" -msgid_plural "faraday shark suits" -msgstr[0] "法拉第防鲨服" - -#. ~ Description for faraday shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It has been conductively interconnected, protecting against " -"electricity." -msgstr "一件潜水员用来防止被鲨鱼咬伤、覆及全身的一体链甲套装。内部有电传导系统,有效防护电击。" - #: lang/json/ARMOR_from_json.py msgid "sheath" msgid_plural "sheathes" @@ -10139,6 +10757,18 @@ msgid "" "from cuts." msgstr "一件有着两个口袋的蓝色牛仔裤,又称\"坚固呢裤\",很耐用,一种男女穿用的紧身便裤,这条是短裤款式。" +#: lang/json/ARMOR_from_json.py +msgid "thermal shirt" +msgid_plural "thermal shirts" +msgstr[0] "保暖衬衫" + +#. ~ Description for thermal shirt +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, form-fitting long-sleeved spandex undershirt that helps " +"maintains body temperature." +msgstr "一件轻便而合身的长袖氨纶底衫,有助于保持体温。" + #: lang/json/ARMOR_from_json.py msgid "skinny tie" msgid_plural "skinny ties" @@ -10568,9 +11198,9 @@ msgstr[0] "研究样本服" #: lang/json/ARMOR_from_json.py msgid "" "A thin, short-sleeved and short-legged one-piece suit. Judging by the odd " -"tailoring and adjustment points... maybe you don't want to know who wore " -"it. Provides nominal storage and is not very encumbering." -msgstr "薄薄的、短袖和短腿的单件西装。由奇怪的剪裁和拼接来看…也许你不想知道是谁穿的了。提供了一定的储存空间,也不是很累赘。" +"tailoring and adjustment points… maybe you don't want to know who wore it. " +"Provides nominal storage and is not very encumbering." +msgstr "一件薄薄的、短袖和短腿的连体服。由奇怪的剪裁和拼接来看……也许你不想知道它之前被谁穿过。提供了一定的储存空间,也不是很累赘。" #: lang/json/ARMOR_from_json.py msgid "suit" @@ -10638,6 +11268,7 @@ msgstr[0] "幸存者腰带" #. ~ Use action holster_prompt for survivor utility belt. #. ~ Use action holster_prompt for hiking backpack. #. ~ Use action holster_prompt for C.R.I.T web belt. +#. ~ Use action holster_prompt for technomancer's toolbelt. #: lang/json/ARMOR_from_json.py msgid "Sheath blade" msgstr "收刀" @@ -10992,16 +11623,6 @@ msgstr "" "一顶经典设计的三角帽。帽檐做了防水设计,是以前加勒比一带海盗船长的标准装备。\n" "\"喔~~~~是谁住在深海的大菠萝里?!\"" -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming trunks" -msgid_plural "pairs of swimming trunks" -msgstr[0] "泳裤" - -#. ~ Description for pair of swimming trunks -#: lang/json/ARMOR_from_json.py -msgid "A pair of swimming trunks, with netting." -msgstr "一件男性平角泳裤,有绳子可以绑。" - #: lang/json/ARMOR_from_json.py msgid "t-shirt" msgid_plural "t-shirts" @@ -11241,52 +11862,6 @@ msgid "" "would be too casual and a suit would be just overdoing it." msgstr "一件优雅的背心。当穿衬衫太随意,穿正装又太过的时候,就选择它吧。" -#: lang/json/ARMOR_from_json.py -msgid "wetsuit" -msgid_plural "wetsuits" -msgstr[0] "潜水服" - -#. ~ Description for wetsuit -#: lang/json/ARMOR_from_json.py -msgid "A full-body neoprene wetsuit." -msgstr "一件全身氯丁橡胶潜水服。" - -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming gloves" -msgid_plural "pairs of swimming gloves" -msgstr[0] "潜水手套" - -#. ~ Description for pair of swimming gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of very flexible neoprene-silicone rubber gloves, suitable for " -"underwater use." -msgstr "一双高延展性的氯丁橡胶手套,适合水下使用。" - -#: lang/json/ARMOR_from_json.py -msgid "wetsuit hood" -msgid_plural "wetsuit hoods" -msgstr[0] "潜水服兜帽" - -#. ~ Description for wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "A neoprene hood, commonly worn by divers." -msgstr "一个橡胶的兜帽,通常是潜水员穿的。" - -#: lang/json/ARMOR_from_json.py -msgid "spring suit" -msgid_plural "spring suits" -msgstr[0] "连身泳衣" - -#. ~ Description for spring suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A long-sleeved spring wetsuit with pink color details and cleavage-" -"enhancing, hip-accentuating construction. Not as protective as a full-body " -"suit, but also less restrictive." -msgstr "" -"一件长袖的保暖潜水衣,上面有着粉红色的点缀。流线型的贴身设计充分彰显出你前凸后翘的傲人身材。虽然这件衣服安全性上没有全身潜水服好,但是其胜在轻便不勒身。" - #: lang/json/ARMOR_from_json.py msgid "pair of army winter gloves" msgid_plural "pairs of army winter gloves" @@ -11592,6 +12167,35 @@ msgid "" "Useful for improvised rain protection." msgstr "用绳子或线固定的塑料片,还算有效的临时防雨措施。" +#: lang/json/ARMOR_from_json.py +msgid "unitard" +msgid_plural "unitards" +msgstr[0] "全身紧身衣" + +#. ~ Description for unitard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment resembling a crew necked leotard combined with " +"leggings. Commonly used by gymnasts, dancers and equestrian vaulters, the " +"unitard provides overall coverage with great flexibility." +msgstr "" +"一件紧身的氨纶全身服,看上去像是由水手领的紧身连衣裤和长裤合体而成。通常由体操运动员,舞者和马戏演员穿着,全身紧身衣提供全面覆盖而又不影响灵活性。" + +#: lang/json/ARMOR_from_json.py +msgid "zentai" +msgid_plural "zentais" +msgstr[0] "全包紧身衣" + +#. ~ Description for zentai +#: lang/json/ARMOR_from_json.py +msgid "" +"Short for 'zenshin taitsu', a zentai is a form fitting full body nylon and " +"spandex garment. Though it covers your face, you can see through the " +"integrated hood. With a couple of these and some friends and you could put " +"on some kabuki." +msgstr "" +"又被称为\"ゼンタイ\",全包紧身衣是一种由尼龙和氨纶制成的包裹全身的连体服。虽然它遮住了你的脸,但你可以通过其集成的兜帽看到外界。有几件这样的衣服,再找来一些朋友,你就可以办一场歌舞伎表演了。" + #: lang/json/ARMOR_from_json.py msgid "pair of bone arm guards" msgid_plural "pairs of bone arm guards" @@ -14102,6 +14706,133 @@ msgstr "" "一个DoubleTech制造的Mk. II-L型动力装甲,在Mk. " "I的基础上做出了很多改进,其中最为显著的是减轻了重量。和其他DoubleTech动力装甲相同,它的控制与温度调节系统只在与皮肤直接接触时启动。" +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming trunks" +msgid_plural "pairs of swimming trunks" +msgstr[0] "泳裤" + +#. ~ Description for pair of swimming trunks +#: lang/json/ARMOR_from_json.py +msgid "A pair of swimming trunks, with netting." +msgstr "一件男性平角泳裤,有绳子可以绑。" + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit" +msgid_plural "wetsuits" +msgstr[0] "潜水服" + +#. ~ Description for wetsuit +#: lang/json/ARMOR_from_json.py +msgid "A full-body neoprene wetsuit." +msgstr "一件全身氯丁橡胶潜水服。" + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit hood" +msgid_plural "wetsuit hoods" +msgstr[0] "潜水服兜帽" + +#. ~ Description for wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "A neoprene hood, commonly worn by divers." +msgstr "一个橡胶的兜帽,通常是潜水员穿的。" + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit hood" +msgid_plural "survivor wetsuit hoods" +msgstr[0] "幸存者兜帽(潜水)" + +#. ~ Description for survivor wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "" +"A customized armored neoprene and Kevlar hood, very strong and durable." +msgstr "一件自制的凯夫拉-氯丁橡胶复合兜帽,非常结实、耐用。" + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit" +msgid_plural "survivor wetsuits" +msgstr[0] "幸存者套装(潜水)" + +#. ~ Description for survivor wetsuit +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, hand-built combination armor made from a cut-down bulletproof" +" vest and a reinforced neoprene wetsuit. Protects from the elements as well" +" as from harm." +msgstr "一件自制的轻型复合防护服,由防弹背心和强化橡胶潜水服组合而成,可以提供环境和伤害防护。" + +#: lang/json/ARMOR_from_json.py +msgid "pair of survivor wetsuit gloves" +msgid_plural "pairs of survivor wetsuit gloves" +msgstr[0] "幸存者手套(潜水)" + +#. ~ Description for pair of survivor wetsuit gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" +" wear while providing maximum protection under extreme conditions." +msgstr "一双自制的凯夫拉-氯丁橡胶复合手套,更易于穿戴,即使在极端情况下也能提供最大防护。" + +#: lang/json/ARMOR_from_json.py +msgid "spring suit" +msgid_plural "spring suits" +msgstr[0] "连身泳衣" + +#. ~ Description for spring suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A long-sleeved spring wetsuit with pink color details and cleavage-" +"enhancing, hip-accentuating construction. Not as protective as a full-body " +"suit, but also less restrictive." +msgstr "" +"一件长袖的保暖潜水衣,上面有着粉红色的点缀。流线型的贴身设计充分彰显出你前凸后翘的傲人身材。虽然这件衣服安全性上没有全身潜水服好,但是其胜在轻便不勒身。" + +#: lang/json/ARMOR_from_json.py +msgid "faraday shark suit" +msgid_plural "faraday shark suits" +msgstr[0] "法拉第防鲨服" + +#. ~ Description for faraday shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It has been conductively interconnected, protecting against " +"electricity." +msgstr "一件潜水员用来防止被鲨鱼咬伤、覆及全身的一体链甲套装。内部有电传导系统,有效防护电击。" + +#: lang/json/ARMOR_from_json.py +msgid "shark suit" +msgid_plural "shark suits" +msgstr[0] "防鲨服" + +#. ~ Description for shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It comes with attached plastic helmet and booties." +msgstr "一件潜水员用来防止被鲨鱼咬伤、覆及全身的一体链甲套装。" + +#: lang/json/ARMOR_from_json.py +msgid "pair of swim goggles" +msgid_plural "pairs of swim goggles" +msgstr[0] "游泳护目镜" + +#. ~ Description for pair of swim goggles +#: lang/json/ARMOR_from_json.py +msgid "A small pair of goggles made for swimming." +msgstr "一副符合光学和医用标准,水下视物清晰、视野宽阔的游泳镜。" + +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming gloves" +msgid_plural "pairs of swimming gloves" +msgstr[0] "潜水手套" + +#. ~ Description for pair of swimming gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of very flexible neoprene-silicone rubber gloves, suitable for " +"underwater use." +msgstr "一双高延展性的氯丁橡胶手套,适合水下使用。" + #: lang/json/ARMOR_from_json.py msgid "helmet netting" msgid_plural "helmet nettings" @@ -14680,6 +15411,50 @@ msgid "shotgun bandolier" msgid_plural "shotgun bandoliers" msgstr[0] "霰弹枪子弹带" +#: lang/json/ARMOR_from_json.py +msgid "technomancer's toolbelt" +msgid_plural "technomancer's toolbelts" +msgstr[0] "科技法师工具腰带" + +#. ~ Description for technomancer's toolbelt +#: lang/json/ARMOR_from_json.py +msgid "" +"A custom-built leather utility belt that instantly creates any tool that you" +" reach for. Activate to sheathe/draw a weapon." +msgstr "一条自制的皮革工具带,能够瞬间变出你所想要的任何工具。激活它来收拔武器。" + +#: lang/json/ARMOR_from_json.py +msgid "seven league boots" +msgid_plural "pairs of seven league boots" +msgstr[0] "七里靴" + +#. ~ Description for seven league boots +#. ~ Description for boots of haste +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, they look like they've seen a lot of use and will likely see a lot " +"more. They make your movement a lot less work." +msgstr "一双十分坚固却又非常舒适合身的旧钢头皮靴,看上去已经用了很久,而且能继续用上更久。穿上它让你移动变得轻松了不少。" + +#: lang/json/ARMOR_from_json.py +msgid "boots of haste" +msgid_plural "pairs of boots of haste" +msgstr[0] "加速靴" + +#: lang/json/ARMOR_from_json.py +msgid "boots of grounding" +msgid_plural "pairs of boots of grounding" +msgstr[0] "立地靴" + +#. ~ Description for boots of grounding +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of leather with " +"small engraved runes seemingly filled with rubber. When worn, you are " +"immune to damage from electricity." +msgstr "一双十分坚固却又非常舒适合身的旧皮靴,上面雕刻着些似乎充满了橡胶的小型符文。穿上它能让你免疫电击。" + #: lang/json/ARMOR_from_json.py msgid "copper infusion bracelet" msgid_plural "copper infusion bracelets" @@ -14700,9 +15475,9 @@ msgstr[0] "铜头环" #. ~ Description for copper circlet #: lang/json/ARMOR_from_json.py msgid "" -"A wooden band with copper trimmings to be worn on the head. Touching your " +"A wooden band with copper trimmings to be worn on the head. Touching your " "temples with it on makes you feel very calm." -msgstr "镶有铜边的木质头环,带上它的时候会接触你的太阳穴,这让你感到非常平静。" +msgstr "镶有铜边的木质头环。在戴上它时按摩太阳穴会使你感到非常平静。" #: lang/json/ARMOR_from_json.py msgid "pair of black dragonscale boots" @@ -14806,7 +15581,7 @@ msgstr[0] "迅捷绑带" #: lang/json/ARMOR_from_json.py msgid "wizard hat" msgid_plural "wizard hats" -msgstr[0] "法师帽" +msgstr[0] "魔法师帽" #. ~ Description for wizard hat #: lang/json/ARMOR_from_json.py @@ -15279,7 +16054,7 @@ msgstr[0] "隐身系统CBM" msgid "" "This high-power system uses a set of cameras and LEDs to make the user blend" " into their surroundings, rendering them fully invisible to eyes and optical" -" sensors. However, this does't prevent detection from other means such as " +" sensors. However, this doesn't prevent detection from other means such as " "infrared, sonar, etc." msgstr "" "一套高耗能的隐身系统,由无数的迷你摄像机和LED灯组成,让使用者能与周围环境融为一体,进入可见光隐身状态。但是,使用者仍旧可以被红外视觉发现,隐形系统也无法屏蔽声音和气味之类的信息。" @@ -15374,10 +16149,10 @@ msgstr[0] "酒精锅炉CBM" #. ~ Description for Ethanol Burner CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A reactor that burns alcohol as fuel in an extremely efficient reaction. " -"However, the user will still suffer the inebriating effects of the " -"substance." -msgstr "一个生化酒精反应炉,燃烧效率极高。然而受体还是会受到醉酒的不良影响。" +"A reactor that burns alcohol as fuel in an extremely efficient reaction. It" +" can store up to 500ml and accept ethanol, methanol and denatured aclohol as" +" fuel." +msgstr "一个生化酒精反应炉,燃烧效率极高。可以储存 500 毫升乙醇、甲醇或者改性酒精作为燃料。" #: lang/json/BIONIC_ITEM_from_json.py msgid "Aero-Evaporator CBM" @@ -15385,8 +16160,7 @@ msgid_plural "Aero-Evaporator CBMs" msgstr[0] "湿气凝水器CBM" #. ~ Description for Aero-Evaporator CBM -#. ~ Description for Aero-Evaporator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "This unit draws moisture from the surrounding air, which then is poured from" " a fingertip in the form of water. It may fail in very dry environments." @@ -15426,7 +16200,7 @@ msgstr[0] "变脸系统CBM" #: lang/json/BIONIC_ITEM_from_json.py msgid "" "Through controlled application of electrochemical impulses, this bionic " -"mudule lets the user alter their facial structure so as to subtly affect the" +"module lets the user alter their facial structure so as to subtly affect the" " reactions of others. This grants a bonus to all social interactions." msgstr "通过控制电化学脉冲,这套生化插件能使受体改变其面部结构,从而悄无声息地影响他人的反应。这将让使用者在和NPC交互时获得社交加成。" @@ -15450,10 +16224,10 @@ msgstr[0] "指端黑客仪CBM" #. ~ Description for Fingerhack CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A miniature electrohack, surgically embedded in a finger of the right hand. " -"This is an all-purpose hacking unit used to override control panels and the " -"like, but not computers. Computer proficiency is important, and a failed " -"use may cause damage." +"A miniature electrohack, surgically embedded in a finger of the right hand." +" This is an all-purpose hacking unit used to override control panels and " +"the like, but not computers. Computer proficiency is important, and a " +"failed use may cause damage." msgstr "" "一台微型电子黑客仪,通过手术植入到右手的一根手指中。这种通用黑客单元可以用于重载控制面板及类似的系统,但是不能用于电脑。使用者的计算机学技能对成功至关重要,失败的尝试有可能造成身体损伤。" @@ -15728,8 +16502,7 @@ msgid_plural "Artificial Night Generator CBMs" msgstr[0] "人工黑夜制造机CBM" #. ~ Description for Artificial Night Generator CBM -#. ~ Description for Artificial Night Generator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "When active, this bionic eliminates all light within a 15 tile radius " "through destructive interference." @@ -15797,7 +16570,7 @@ msgstr[0] "Mk.II 型动力装甲接口CBM" msgid "" "Interfaces the user's bionic power system with the internal charging port on" " suits of power armor, allowing them to draw from the user's bionic power " -"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " +"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " "DoubleTech Inc., to meet the popularity of the Mk. II power armor series." msgstr "" "受体可以使用自身的生化能量供给动力装甲使用,而不再需要外接电源。这个型号比Mk. I型号的效率高了一倍,由DoubleTech设计以满足Mk. " @@ -16314,9 +17087,9 @@ msgstr[0] "金属瘙痒" #. ~ Description for Itchy Metal Thing #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"You can't recognise what this is supposed to be, but it's a very awkward " +"You can't recognize what this is supposed to be, but it's a very awkward " "thing to have in one's body." -msgstr "你不知道这是什么,但是它在你的身体里令你非常尴尬。" +msgstr "你不知道这是什么,但是它在你的身体里令你非常不舒服。" #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Glowy Thing" @@ -16325,8 +17098,7 @@ msgstr[0] "发光物质" #. ~ Description for Glowy Thing #: lang/json/BIONIC_ITEM_from_json.py -msgid "" -"It's a... thing? And it glows, at least it did when it was plugged in." +msgid "It's a… thing? And it glows, at least it did when it was plugged in." msgstr "这是……某种东西,插上电源后会发光的东西。" #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py @@ -16857,9 +17629,9 @@ msgstr[0] "人类烹饪大全" #. ~ Description for To Serve Man #: lang/json/BOOK_from_json.py -msgid "It's... it's a cookbook!" +msgid "It's… it's a cookbook!" msgstr "" -"一本没有作者署名与标注发行出版社的奇怪烹饪书,内容包含一些令人感到恐怖的食人文化文章与大量\"做\"人配方。\n" +"一本没有作者署名与标注发行出版社的奇怪烹饪书,内容包含一些令人感到恐怖的食人文化文章与大量\"做\"人方法。\n" "\"或是由食人族文化份子编著。\"" #: lang/json/BOOK_from_json.py @@ -16947,8 +17719,8 @@ msgstr[0] "PE050 \"Alpha\":初步报告" msgid "" "This sheaf of papers-dated two weeks before all this started-describes some " "new chemical formula, and its effects on human subjects. It's stamped " -"\"APPROVED\"..." -msgstr "这叠文件上的日期是距大灾变发生两周前,详细分析了很多化学配方以及这些反应对于人体的影响。上面盖了一个鲜红的图章\"同意\"…" +"\"APPROVED\"…" +msgstr "这叠文件上的日期是距大灾变发生两周前,详细分析了很多化学配方以及这些反应对于人体的影响。上面盖了一个鲜红的图章\"同意\"……" #: lang/json/BOOK_from_json.py msgid "lab journal-Dionne" @@ -16972,9 +17744,9 @@ msgstr[0] "PE065 \"Chimera\":最佳实践报告" #: lang/json/BOOK_from_json.py msgid "" "This sheaf of papers describes a new chemical formula in detail and supplies" -" instructions for its use as some sort of ... crowd-control catalyst? That " -"can't be right..." -msgstr "本文献对一种新的化学公式作了详细的描述,并对其的应用提供了指导。\"群体事件控制催化剂\"?天哪,这是怎么回事?" +" instructions for its use as some sort of… crowd-control catalyst? That " +"can't be right…" +msgstr "这篇文献对一种新的化学公式作了详细的描述,并称其可以用作……\"群体事件控制催化剂\"?看起来不太妙……" #: lang/json/BOOK_from_json.py msgid "lab journal-Smythe" @@ -16986,7 +17758,7 @@ msgstr[0] "研究日志-Smythe" msgid "" "This team logbook details several varieties of mutagenic experiments, " "focusing on those derived from flesh contaminated with XE037. The results " -"look promising but the procurement methods seem awfully vague..." +"look promising but the procurement methods seem awfully vague…" msgstr "这本团队日志详尽记录了几类变异实验,研究样本是那些被XE037感染的活体组织。研究结果看起来很有希望,但样本获取方法却语焉不详……" #: lang/json/BOOK_from_json.py @@ -16999,8 +17771,8 @@ msgstr[0] "管道维护日志" msgid "" "This binder details the scheduled maintenance for several plumbing systems " "throughout the facility. However, some of the log sheets seem to be filled " -"with...a chemical formula?" -msgstr "这个日志内有标明如何定期维护好管道,然而,一些记录表中似乎充满了…化学式?" +"with… a chemical formula?" +msgstr "这个日志内详细列出了机构内的数套管道系统的维护计划。不过,有几页记录表上似乎写着一道……化学式?" #: lang/json/BOOK_from_json.py msgid "chemical reference-CLASSIFIED" @@ -17040,8 +17812,8 @@ msgstr[0] "PE023 \"Medical\":应用及结果" #: lang/json/BOOK_from_json.py msgid "" "This binder of highly technical papers describes some new chemical formula, " -"and its effects on human subjects. It's stamped \"APPROVED\"...." -msgstr "这些尖端技术论文描述了一些全新的化学配方以及他们在人类实验者身上的效果。上面盖着\"通过\"的印章。" +"and its effects on human subjects. It's stamped \"APPROVED\"…" +msgstr "这些尖端技术论文描述了一些全新的化学配方以及他们在人类实验者身上的效果。上面盖着\"通过\"的印章……" #: lang/json/BOOK_from_json.py msgid "PE070 \"Raptor\": Proposal" @@ -17303,7 +18075,7 @@ msgstr[0] "研究日志-埃雷拉" msgid "" "This hefty binder contains a multitude of diagrams and technical " "specifications for various electronic materials. Some of the diagrams use " -"symbols you've not seen before..." +"symbols you've not seen before…" msgstr "这个沉重的活页夹里装满了各种图表,以及许多电子仪器的技术要点。有些图表上的符号你还是第一次见到……" #: lang/json/BOOK_from_json.py @@ -17366,13 +18138,13 @@ msgstr[0] "泛用原理图" #. ~ Description for nearby fire #. ~ Description for muscle #. ~ Description for wind +#. ~ Description for metabolism #. ~ Description for a smoking device and a source of flame #. ~ Description for abstract map #. ~ Description for seeing this is a bug #. ~ Description for weapon #: lang/json/BOOK_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py #: lang/json/furniture_from_json.py lang/json/skill_from_json.py msgid "seeing this is a bug" msgid_plural "seeing this is a bugs" @@ -17691,8 +18463,8 @@ msgstr[0] "复装弹药大全" #: lang/json/BOOK_from_json.py msgid "" "Everything you could ever want to know about handloading ammunition, sealed " -"with a ...childproof cover. Apparently a liability thing, because the " -"chapter on explosive rounds covers them in excellent detail too." +"with a… childproof cover. Apparently a liability thing, because the chapter" +" on explosive rounds covers them in excellent detail too." msgstr "" "这本书介绍了关于手工复装弹药的一切知识,而且封面上还有个……儿童锁,显然是为了让发行商免责而设置的,因为关于爆炸弹的章节描写的也太过于详细了。" @@ -18161,7 +18933,7 @@ msgid "" "This lab notebook is filled with the collective discoveries and refinements " "of a research team dedicated to nuclear energy. You don't think you're " "ready to start a second Cataclysm, but the general information provided " -"might be useful..." +"might be useful…" msgstr "这本团队日志记满了一个核能研究团队对核能技术的发现和改良内容。你并不想用核平带来另一个大灾变,但是上面一些通用的技术信息也许会派上用场……" #: lang/json/BOOK_from_json.py @@ -18423,11 +19195,7 @@ msgid "" "A book that embodies the main beliefs of the Church of the Flying Spaghetti " "Monster. It seems to involve a lot of pirates and some sort of invisible " "drunken monster made of pasta." -msgstr "" -"飞天意面神教(英文:Flying Spaghetti " -"Monster,缩写:FSM,又译飞面大神,简称面神),是讽刺性的虚构宗教飞行面条怪物信仰(英文:Church of the Flying " -"Spaghetti " -"Monster,或称Pastafarianism,又译飞面神教)信奉的神祇,此虚构宗教的讽刺对象主要是某些宗教教派所宣称的智能设计论(生物并非出于演化,而是源自某种超自然智能的设计)。该教声称\"飞行面条怪物\"创造了世间万物,因而尊奉其为上帝。借助互联网,这个\"宗教\"现象很快获得了媒体关注,知名度蹿升,并吸引众多的追随者。很多无神论和不可知论者也借此现象阐释自己的观点。总而言之,就是群无厘头的宗教。" +msgstr "一本描写了飞天意面神教的主要信仰的书籍。这本书里面似乎包含了大量有关海盗和某种酗酒的隐身意面怪物的描写。RAmen!" #: lang/json/BOOK_from_json.py msgid "Quran" @@ -19488,6 +20256,34 @@ msgstr "" "FM-2030所著的《UpWingers: A Futurist Manifesto(上翼:未来主义宣言)》。看上去作者的真名好像是Fereidoun " "M. Esfandiary(费雷登·伊斯凡迪亚里)" +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Bastiat Collection\", a large collection of essays " +"by Frederic Bastiat." +msgstr "一本《巴斯夏文集》,19世纪法国的古典自由主义理论家弗雷德里克·巴斯夏的大型文集。" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Anarchy, State, and Utopia\" by Robert Nozick, one of " +"the most influential books of modern libertarianism." +msgstr "一本《无政府、国家和乌托邦》,罗伯特·诺齐克著,这是现代自由主义最具影响力的著作之一。" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Socialism\" by Ludwig von Mises, a critical examination " +"of socialism." +msgstr "一本《社会主义》,路德维希·冯·米塞斯著,一部对社会主义的批判性分析著作。" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The ABC of Communism\" by Nikolai Bukharin, one of the " +"most influential books of early Marxism-Leninism." +msgstr "一本《共产主义ABC》,尼古拉·布哈林著,这是马列主义早期最具影响力的著作之一。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Anti-Capitalist Mentality\" by Ludwig von Mises." +msgstr "路德维希·冯·米塞斯所著的《反资本主义的心态》。" + #: lang/json/BOOK_from_json.py msgid "phone book" msgid_plural "phone books" @@ -19559,8 +20355,8 @@ msgstr[0] "公司会计总账" #. ~ Description for corporate accounting ledger #: lang/json/BOOK_from_json.py -msgid "If you knew what to look for something might stand out..." -msgstr "一册账本,某笔交易显得尤为突出。" +msgid "If you knew what to look for something might stand out…" +msgstr "一册账本,如果你看懂的话,某笔交易显得尤为突出…..." #: lang/json/BOOK_from_json.py msgid "patient treatment records" @@ -19800,6 +20596,106 @@ msgstr "大仲马所著的《基督山伯爵》。" msgid "This is a copy of \"The Secret Garden\" by Frances Burnett." msgstr "弗朗西丝·霍奇森·伯内特所著的《秘密花园》。" +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lieutenant Hornblower\" by C.S. Forester." +msgstr "英国作家西索·史考特·佛瑞斯特所著的《海军上尉霍恩布洛尔》。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Master and Commander\" by Patrick O'Brian." +msgstr "一本《怒海争锋》,英国作家帕特里克·奥布赖恩所著。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Warden\" by Anthony Trollope." +msgstr "这是一本英国作家安东尼·特罗洛普的代表作《巴塞特郡养老院》。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Far Side of the World\" by Patrick O'Brian." +msgstr "一本《极地远征》,英国作家帕特里克·奥布赖恩所著。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"HMS Surprise\" by Patrick O'Brian." +msgstr "一本《惊奇号》,英国作家帕特里克·奥布赖恩所著。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Barchester Towers\" by Anthony Trollope." +msgstr "这是一本英国作家安东尼·特罗洛普的代表作《巴彻斯特教堂尖塔》。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Land Ironclads\" by H.G. Wells." +msgstr "这是一本由世界知名小说家、政治家H·G·威尔斯所创作的科幻著作《陆上铁甲》。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Great Boer War\" by Arthur Conan Doyle." +msgstr "这是一本由著名推理小说家、福尔摩斯之父阿瑟·柯南·道尔所著的《伟大的布尔战争》。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Crime of the Congo\" by Arthur Conan Doyle." +msgstr "这是一本由著名推理小说家、福尔摩斯之父阿瑟·柯南·道尔所著的纪实文学《在刚果的罪行》。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Parasite\" by Arthur Conan Doyle." +msgstr "这是一本由著名推理小说家、福尔摩斯之父阿瑟·柯南·道尔所著的《寄生虫》。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"By Stroke of Sword\" by Andrew Balfour." +msgstr "一本《一剑之下》,英国作家安德鲁·贝尔福所著。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Secret Agent\" by Joseph Conrad." +msgstr "约瑟夫·康拉德所著的《密探》,书中预言了20世纪恐怖主义、无政府主义以及英国军情五处这样的秘密机构的兴起。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lord Jim\" by Joseph Conrad." +msgstr "约瑟夫·康拉德所著长篇小说《吉姆爷》。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Vanity Fair\" by William Makepeace Thackeray." +msgstr "维多利亚时代的英国小说家威廉·梅克比斯·萨克雷所著的讽刺小说《名利场》。" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Luck of Barry Lyndon\" by William Makepeace " +"Thackeray." +msgstr "维多利亚时代的英国小说家威廉·梅克比斯·萨克雷所著的《巴里·林登的遭遇》。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"North and South\" by Elizabeth Gaskell." +msgstr "这是一本由伊丽莎白·盖斯凯尔创作的《南方与北方》。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Mayor of Casterbridge\" by Thomas Hardy." +msgstr "这是一本由英国小说家、诗人托马斯·哈代创作的长篇小说《卡斯特桥市长》。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Wessex Tales\" by Thomas Hardy." +msgstr "这是一本由英国小说家、诗人托马斯·哈代创作的故事集《韦塞克斯故事集》。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Far from the Madding Crowd\" by Thomas Hardy." +msgstr "这是一本由英国小说家、诗人托马斯·哈代最早成书的长篇小说《远离尘嚣》。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Captains Courageous\" by Rudyard Kipling." +msgstr "至今为止最年轻的诺贝尔文学奖得主鲁德亚德·吉卜林所著的《怒海余生》。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Canterbury Tales\" by Geoffrey Chaucer." +msgstr "英国中世纪最杰出的诗人杰弗里·乔叟所创作的一部诗体短篇小说集《坎特伯雷故事集》。" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Harold, the Last of the Saxons\" by Edward Bulwer-" +"Lytton." +msgstr "一本《哈罗德:最后的撒克逊王》,爱德华·布尔沃·利顿所著。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Mr Midshipman Easy\" by Frederick Marryat." +msgstr "弗雷德里克·马里亚特所著的《海军候补生伊齐先生》。" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Peter Simple\" by Frederick Marryat." +msgstr "弗雷德里克·马里亚特所著的《彼得·辛普》。" + #: lang/json/BOOK_from_json.py msgid "collector's edition book" msgid_plural "collector's edition book" @@ -20692,10 +21588,11 @@ msgstr "一个玩家试图找出杀害管家的凶手的游戏。" #: lang/json/BOOK_from_json.py msgid "Black Dragons: Swamp Ruins" -msgid_plural "Black Dragons: Swamp Ruinss" +msgid_plural "copies of Black Dragons: Swamp Ruins" msgstr[0] "黑龙:沼泽遗迹" -#. ~ Description for Black Dragons: Swamp Ruins +#. ~ Description for {'str': 'Black Dragons: Swamp Ruins', 'str_pl': 'copies +#. of Black Dragons: Swamp Ruins'} #: lang/json/BOOK_from_json.py msgid "" "This book details black dragons: The most evil of dragons, who live in ruins" @@ -20707,26 +21604,58 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "A Beginner's Guide to Alchemy" -msgid_plural "A Beginner's Guide to Alchemys" +msgid_plural "copies of A Beginner's Guide to Alchemy" msgstr[0] "炼金术入门指南" -#. ~ Description for A Beginner's Guide to Alchemy +#. ~ Description for {'str': "A Beginner's Guide to Alchemy", 'str_pl': +#. "copies of A Beginner's Guide to Alchemy"} #: lang/json/BOOK_from_json.py msgid "A paperback tome for the art of liquid magic, alcohol not included." msgstr "一本关于将魔法装进液体里的技艺的平装书,酒精需要自行购买。" #: lang/json/BOOK_from_json.py msgid "A Soulbinder's Guide to Necromancy" -msgid_plural "A Soulbinder's Guide to Necromancys" +msgid_plural "copies of A Soulbinder's Guide to Necromancy" msgstr[0] "附魂者的死灵法术指南" -#. ~ Description for A Soulbinder's Guide to Necromancy +#. ~ Description for {'str': "A Soulbinder's Guide to Necromancy", 'str_pl': +#. "copies of A Soulbinder's Guide to Necromancy"} #: lang/json/BOOK_from_json.py msgid "" "A paperback tome for the art of binding undead creatures' souls to dolls, " "along with emulating their healing factor." msgstr "一本有关死灵法术的平装版典籍,介绍了将不死生物的灵魂依附到玩偶上的法术,以及模拟它们的恢复能力的方法。" +#: lang/json/BOOK_from_json.py +msgid "Magitek Illustrated" +msgid_plural "copies of Magitek Illustrated" +msgstr[0] "魔法科技图解" + +#. ~ Description for {'str': 'Magitek Illustrated', 'str_pl': 'copies of +#. Magitek Illustrated'} +#: lang/json/BOOK_from_json.py +msgid "" +"A paperback tome for the art of combining modern technology with magic. " +"There is a disclaimer on the back: `Cannith Industries bears no " +"responsibility for malfunctions or accidents for any products mentioned " +"herein`." +msgstr "" +"一本平装本书籍,主题是将现代科技和魔法结合的技术。书背上有一段免责声明:“坎尼斯工业对使用本书所涉及的任何产品所引发的故障或事故不负任何责任”。" + +#: lang/json/BOOK_from_json.py +msgid "The Weapons of Asgard and Beyond" +msgid_plural "copies of The Weapons of Asgard and Beyond" +msgstr[0] "阿斯加德之武" + +#. ~ Description for {'str': 'The Weapons of Asgard and Beyond', 'str_pl': +#. 'copies of The Weapons of Asgard and Beyond'} +#: lang/json/BOOK_from_json.py +msgid "" +"An ornate book which appears to be written in Norse runes. Based on the " +"detailed illustrations, it appears to contain information about crafting " +"numerous weapons used by various Gods." +msgstr "一本精美华丽的古书,似乎是用北欧符文写的。从书中详细的插图来看,它似乎包含了关于制造北欧众神所使用的各种武器的信息。" + #: lang/json/BOOK_from_json.py msgid "SugarKin flyer" msgid_plural "SugarKin flyers" @@ -20735,13 +21664,13 @@ msgstr[0] "糖人传单" #. ~ Description for SugarKin flyer #: lang/json/BOOK_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" +"A flyer for some kind of candy. It shows a picture of a gleaming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" " On the back of the flyer you can see some hastily scribbled words:\n" -" \"Hello my child and welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" +" \"Hello, my child, welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" "1) Never ever get into contact with water, it would melt you! \n" -"2) Avoid humans wiht clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" -"3) Learn how to make caramel ointement, it's the only way to fix your body if you get hurt.\n" -" There's many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" +"2) Avoid humans with clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" +"3) Learn how to make caramel ointment, it's the only way to fix your body if you get hurt.\n" +" There are many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" " I love you,\n" " - F. \"." msgstr "" @@ -21177,7 +22106,7 @@ msgstr "乙炔" #. ~ Description for acetylene #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flammable gas that explodes under pressure. Combined with oxygen, " +"A flammable gas that explodes under pressure. Combined with oxygen, " "acetylene makes a great welding gas." msgstr "可燃性气体,在高压下会爆炸。与氧气混合后可以作为优良的焊接气。" @@ -22062,6 +22991,40 @@ msgstr "大型人胃" msgid "The stomach of a large humanoid creature. It is surprisingly durable." msgstr "大型人型生物的胃囊,令人意外的耐磨。" +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of human fat" +msgid_plural "chunks of human fat" +msgstr[0] "人脂肪块" + +#. ~ Description for chunk of human fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly harvested from a human body." +msgstr "一份从人身上切下来的新鲜肥肉块。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human tallow" +msgstr "人油" + +#. ~ Description for human tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered human fat. It will remain " +"edible for a very long time, and can be used as an ingredient in many foods " +"and projects." +msgstr "一块清洗后熬制的白色人类脂肪。可以保存很久并食用,而且在很多食物和物品的制作中会用到。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human lard" +msgstr "干炼人油" + +#. ~ Description for human lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered human fat. It will remain edible for a" +" very long time, and can be used as an ingredient in many foods and " +"projects." +msgstr "一块干法炼制的白色人类脂肪。可以保存很久并食用,而且在很多食物和物品的制作中会用到。" + #: lang/json/COMESTIBLE_from_json.py msgid "human flesh" msgid_plural "human fleshes" @@ -22094,7 +23057,7 @@ msgstr[0] "肉块" #: lang/json/COMESTIBLE_from_json.py msgid "" "Freshly butchered meat. You could eat it raw, but cooking it is better." -msgstr "一份经过屠宰的肉,可以直接食用,烹饪加工后更美味也更加安全。" +msgstr "屠宰动物得到的肉,可以直接食用,但烹饪加工后更美味并且更加安全。" #: lang/json/COMESTIBLE_from_json.py msgid "scrap of meat" @@ -22106,7 +23069,62 @@ msgstr[0] "碎肉" msgid "" "This is a tiny scrap of edible meat. It's not much, but it'll do in a " "pinch." -msgstr "一小块尚可食用的碎肉。虽然量不多,但是作为一道应急配菜还行。" +msgstr "一小块尚可食用的碎肉。虽然量不多,但是应急用也足够了。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant meat" +msgid_plural "chunks of mutant meat" +msgstr[0] "变异肉块" + +#. ~ Description for chunk of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Meat from a heavily mutated animal. It has an unsettling loose and spongy " +"texture, but smells… mostly normal. There are strange tangles and " +"formations in it that don't appear natural at all: bits of bone and hair " +"crusted up inside the muscle, as if trying to form another organism. Still," +" seems digestible at least, if you cook it and remove the worst parts." +msgstr "" +"从变异生物身上切下的肉块。这块肉有着恶心的海绵般的松散质感,不过闻起来……还算正常。肉的内部有着一些明显不自然的杂乱组织:骨头和毛发堆积在肌肉组织之间,就像是要生长出另一只生物一般。至少它看起来还能被消化,前提是你得把它烹饪加工并处理掉那些不好的部分。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "scrap of mutant meat" +msgid_plural "scraps of mutant meat" +msgstr[0] "变异碎肉" + +#. ~ Description for scrap of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A tiny scrap of meat from a heavily mutated animal. It smells a bit odd, " +"and has bits of hair and bone mixed in that seem like they grew inside the " +"muscle itself. Still, seems digestible at least, if you cook it and remove " +"the worst parts." +msgstr "" +"一小块变异生物身上的肉。闻起来有点奇怪,里面混着不少毛发和骨头,像是直接从肉里长出来的。至少它看起来还能被消化,前提是你得把它烹饪加工并处理掉那些不好的部分。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid meat" +msgstr "变异人肉" + +#. ~ Description for mutant humanoid meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered from the body of a heavily mutated creature that was " +"unsettlingly humanoid in appearance. It has odd bits of fur and other " +"tissue lodged in it that clearly don't belong. You'd have to be crazy or " +"starving to eat this." +msgstr "从一只严重变异的人形生物身上取得的肉块,内部散布着小块毛皮和其它显然不该长出来的组织。除非你疯了,否则在饿死之前你不会考虑吃这个。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked cretin" +msgstr "煮白痴" + +#. ~ Description for cooked cretin +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Cooked meat from a heavily mutated humanoid. Now that the worst bits have " +"been picked out, it's probably digestible, if not very appetizing." +msgstr "一块煮熟的变异人肉。里面不好的部分已经被处理干净,虽然倒人胃口,不过大概是可以食用了。" #: lang/json/COMESTIBLE_from_json.py msgid "butchery refuse" @@ -22139,6 +23157,23 @@ msgid "cooked scrap of meat" msgid_plural "cooked scraps of meat" msgstr[0] "熟碎肉" +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked mutant meat" +msgstr "变异熟肉" + +#. ~ Description for cooked mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"This is a cooked chunk of meat from a mutated animal. It has an unsettling," +" spongy texture, but otherwise tastes… mostly normal. Hopefully you got all" +" the bits of hair and bone out…" +msgstr "一块煮熟的变异肉块。这块肉有着恶心的海绵般的松散质感,不过尝起来……还算正常。但愿你已经把里面的毛发和骨头全部清理干净了……" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked scrap of mutant meat" +msgid_plural "cooked scraps of mutant meat" +msgstr[0] "变异熟碎肉" + #: lang/json/COMESTIBLE_from_json.py msgid "raw offal" msgstr "生内脏" @@ -22337,7 +23372,7 @@ msgstr[0] "生脑" #. ~ Description for raw brains #: lang/json/COMESTIBLE_from_json.py -msgid "The brain from an animal. You wouldn't want to eat this raw..." +msgid "The brain from an animal. You wouldn't want to eat this raw…" msgstr "一块来自某种动物的大脑。你可不想生吃这玩意……" #: lang/json/COMESTIBLE_from_json.py @@ -22389,7 +23424,7 @@ msgstr "熟杂碎" #. ~ Description for cooked sweetbread #: lang/json/COMESTIBLE_from_json.py -msgid "Normally a delicacy, it needs a little... something." +msgid "Normally a delicacy, it needs a little… something." msgstr "一份由来自某种动物的胸腺或胰腺组成的杂碎。通常可以用来制作美味食物,这份还需要一点点额外的……东西。" #: lang/json/COMESTIBLE_from_json.py @@ -22413,7 +23448,7 @@ msgstr[0] "肥肉块" msgid "" "Freshly butchered fat. You could eat it raw, but it is better used as an " "ingredient in other foods or projects." -msgstr "一块从动物等尸体中屠宰下来新鲜脂肪,可以用来充饥,但最好经过加工,与其他食材一同使用。" +msgstr "一块屠宰得到的新鲜脂肪,可以用来充饥,但最好经过加工,与其他食材一同使用。" #: lang/json/COMESTIBLE_from_json.py msgid "tallow" @@ -22425,11 +23460,11 @@ msgid "" "A smooth white block of cleaned and rendered animal fat. It will remain " "edible for a very long time, and can be used as an ingredient in many foods " "and projects." -msgstr "一块熬制干净的白色动物脂肪。可以保存很久并食用,而且在很多食物和物品的制作中会用到。" +msgstr "一块清洗后熬制的白色动物脂肪。可以保存很久并食用,而且在很多食物和物品的制作中会用到。" #: lang/json/COMESTIBLE_from_json.py msgid "lard" -msgstr "干油脂" +msgstr "干炼油脂" #. ~ Description for lard #: lang/json/COMESTIBLE_from_json.py @@ -22437,7 +23472,77 @@ msgid "" "A smooth white block of dry-rendered animal fat. It will remain edible for " "a very long time, and can be used as an ingredient in many foods and " "projects." -msgstr "一块熬制干化的白色动物脂肪。可以保存很久并食用,而且在很多食物和物品的制作中会用到。" +msgstr "一块干法炼制的白色动物脂肪。可以保存很久并食用,而且在很多食物和物品的制作中会用到。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant fat" +msgid_plural "chunks of mutant fat" +msgstr[0] "变异脂肪块" + +#. ~ Description for chunk of mutant fat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered fat from a heavily mutated animal. You could eat it raw, " +"but it is better used as an ingredient in other foods or projects." +msgstr "屠宰变异生物尸体得到的新鲜脂肪,可以用来充饥,但最好经过加工,与其他食材一同使用。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant tallow" +msgstr "变异油脂" + +#. ~ Description for mutant tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"animal. It will remain edible for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "一块清洗后熬制的白色变异生物脂肪。可以保存很久并食用,而且在很多食物和物品的制作中会用到。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant lard" +msgstr "干炼变异油脂" + +#. ~ Description for mutant lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant animal. It " +"will remain edible for a very long time, and can be used as an ingredient in" +" many foods and projects." +msgstr "一块干法炼制的白色变异生物脂肪。可以保存很久并食用,而且在很多食物和物品的制作中会用到。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant humanoid fat" +msgid_plural "chunks of mutant humanoid fat" +msgstr[0] "变异人脂肪块" + +#. ~ Description for chunk of mutant humanoid fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly butchered fat from a heavily mutated humanoid." +msgstr "从一只严重变异的人形生物身上切下的肥肉。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid tallow" +msgstr "变异人油" + +#. ~ Description for mutant humanoid tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"humanoid. It won't rot for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "一块清洗后熬制的白色变异人脂肪。可以保存很久并食用,而且在很多食物和物品的制作中会用到。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid lard" +msgstr "干炼变异人油" + +#. ~ Description for mutant humanoid lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant humanoid. It" +" won't rot for a very long time, and can be used as an ingredient in many " +"foods and projects." +msgstr "一块干法炼制的白色变异人脂肪。可以保存很久并食用,而且在很多食物和物品的制作中会用到。" #: lang/json/COMESTIBLE_from_json.py msgid "chunk of tainted meat" @@ -22473,7 +23578,7 @@ msgstr "被感染的脂肪" msgid "" "A watery yellow glob of fat from some unnatural creature or other. You " "could eat it, but it will poison you." -msgstr "一团黄色的浆糊状脂肪,源自某些非自然生物或者其他家伙。你可以吃,但是会让你中毒。" +msgstr "一团黄色的浆糊状脂肪,源自某种非自然生物。你可以吃,但是会让你中毒。" #: lang/json/COMESTIBLE_from_json.py msgid "tainted tallow" @@ -22485,7 +23590,7 @@ msgid "" "A smooth grayish block of cleaned and rendered monster fat. It will remain " "'fresh' for a very long time, and can be used as an ingredient in many " "projects. You could eat it, but it will poison you." -msgstr "一块熬制干净的灰色怪物脂肪。它会保持\"新鲜\"很长一段时间,可以作为原料制造许多东西。虽然可以吃,但它会让你中毒。" +msgstr "一块清洗后熬制的灰色怪物脂肪。它会保持\"新鲜\"很长一段时间,可以作为原料制造许多东西。虽然可以吃,但它会让你中毒。" #: lang/json/COMESTIBLE_from_json.py msgid "large boiled stomach" @@ -22610,7 +23715,7 @@ msgid "" "covered in ribbed grooves and easily the size of your head. It's still full" " of, er, whatever passes for blood in jabberwocks, and is heavy in your " "hands. After everything you've seen lately, you can't help but remember old" -" sayings about eating the hearts of your enemies..." +" sayings about eating the hearts of your enemies…" msgstr "" "一个巨大而沉重的肉块,看上去外形和哺乳动物的心脏一个样,上面布满了凸起的纹路,无疑比你的头还要大。它仍然充满了伽步沃克体内,呃,能被称作血的物质,摸在你手中沉甸甸的。在见识过最近所发生的这一切景象后,你不禁地想起那个吃下敌人心脏的传说……" @@ -22626,7 +23731,7 @@ msgid "" "looks *disgusting*." msgstr "一个巨大的肉块——这是将一颗腐化之心割开放血后所残存的部分。如果你实在是饿得发慌的话可以吃掉它,但是看上去*真的*很恶心。" -#: lang/json/COMESTIBLE_from_json.py +#: lang/json/COMESTIBLE_from_json.py lang/json/ammunition_type_from_json.py msgid "raw milk" msgid_plural "raw milk" msgstr[0] "生牛奶" @@ -22796,14 +23901,14 @@ msgstr "一份由新鲜苹果压榨而成的果汁,美味且营养。" #: lang/json/COMESTIBLE_from_json.py msgid "almond milk" -msgstr "杏仁乳" +msgstr "扁桃仁乳" #. ~ Description for almond milk #: lang/json/COMESTIBLE_from_json.py msgid "" "Milk some almonds? Not quite, but blend them with water, yes! A dairy-free" " alternative strong in calcium! Rival to soy milk." -msgstr "杏仁也会产奶吗?并不是,它们是将杏仁和水混合打浆而成的。富含钙质的乳制品替代品,可以和豆乳相媲美。" +msgstr "扁桃仁也会产奶吗?并不是,它们是将扁桃仁和水混合打浆而成的。富含钙质的乳制品替代品,可以和豆乳相媲美。" #: lang/json/COMESTIBLE_from_json.py msgid "soy milk" @@ -22814,7 +23919,7 @@ msgstr "豆乳" msgid "" "Milk some soybeans? Not quite, but blend them with water, yes! A dairy-" "free alternative strong in protein! Rival to almond milk." -msgstr "大豆也会产奶吗?并不是,它们是将大豆和水混合打浆而成的。富含蛋白质的乳制品替代品,可以和杏仁乳相媲美。" +msgstr "大豆也会产奶吗?并不是,它们是将大豆和水混合打浆而成的。富含蛋白质的乳制品替代品,可以和扁桃仁乳相媲美。" #: lang/json/COMESTIBLE_from_json.py msgid "atomic coffee" @@ -22917,7 +24022,7 @@ msgstr[0] "菊苣酿" #. ~ Description for chicory brew #: lang/json/COMESTIBLE_from_json.py msgid "" -"Toasted, ground chicory root steeped in boiling water. This bitter brew is " +"Toasted, ground chicory root steeped in boiling water. This bitter brew is " "used as a coffee substitute, though it tastes nothing like coffee." msgstr "将经过烘烤的菊苣根,浸泡在沸水中。这种苦酿被用作咖啡替代品,尽管它尝起来一点也不像咖啡。" @@ -23292,7 +24397,7 @@ msgstr "番茄沙司" #. ~ Description for red sauce #: lang/json/COMESTIBLE_from_json.py msgid "A minimally seasoned sauce of cooked tomatoes." -msgstr "一种由煮熟的西红柿制成的酱汁,除此之外没加入其他调味料。" +msgstr "一种由煮熟的番茄制成的酱汁,除此之外没加入其他调味料。" #: lang/json/COMESTIBLE_from_json.py msgid "maple sap" @@ -23764,10 +24869,11 @@ msgstr "糖水菠萝罐头,蛮好吃的。" #: lang/json/COMESTIBLE_from_json.py msgid "lemonade drink mix" -msgid_plural "servings of lemonade drink mix" +msgid_plural "lemonade drink mix" msgstr[0] "速溶柠檬粉" -#. ~ Description for lemonade drink mix +#. ~ Description for {'str': 'lemonade drink mix', 'str_pl': 'lemonade drink +#. mix'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Tangy yellow powder that smells strongly of lemons. Can be mixed with water" @@ -24465,7 +25571,7 @@ msgstr[0] "奶油花生糖" #. ~ Description for peanut butter candy #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of peanut butter cups... your favorite!" +msgid "A handful of peanut butter cups… your favorite!" msgstr "一把你最喜欢的奶油花生糖。" #: lang/json/COMESTIBLE_from_json.py @@ -24578,7 +25684,7 @@ msgstr "一块美味的巧克力蛋糕,糖霜都在,应有尽有。" #: lang/json/COMESTIBLE_from_json.py msgid "" "A cake coated in the thickest icing you've ever seen. Someone has written " -"guff in quotation marks on it..." +"guff in quotation marks on it…" msgstr "这个蛋糕上的糖霜厚得让你看一眼就恶心。有人在上面写了些什么,看起来像是在胡说八道……" #: lang/json/COMESTIBLE_from_json.py @@ -24619,7 +25725,7 @@ msgstr[0] "薄荷饼" #. ~ Description for peppermint patty #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of soft chocolate-covered peppermint patties... yum!" +msgid "A handful of soft chocolate-covered peppermint patties… yum!" msgstr "一把被软巧克力包裹着的薄荷馅饼,味道好极了!" #: lang/json/COMESTIBLE_from_json.py @@ -25975,10 +27081,10 @@ msgstr[0] "抗生素" #. ~ Description for antibiotics #: lang/json/COMESTIBLE_from_json.py msgid "" -"A prescription-strength antibacterial medication designed to prevent or stop" -" the spread of infection. It's the quickest and most reliable way to cure " -"any infections you might have. One dose lasts twelve hours." -msgstr "一份强效的处方抗生素,用于预防和治疗感染。这是大概是当前能够治愈感染的最快速及可靠的方式。一剂药持续十二小时。" +"A strong antibacterial medication designed to prevent or stop the spread of " +"infection. It's the safest way to cure any infections you might have. One " +"dose lasts twelve hours." +msgstr "一份强效抗生素,用于预防和治疗感染。这是大概是当前能够治愈感染的最安全的方式。一剂药持续十二小时。" #: lang/json/COMESTIBLE_from_json.py msgid "antifungal drug" @@ -26794,8 +27900,8 @@ msgstr[0] "抗菌布条" #. ~ Description for antiseptic soaked rag #: lang/json/COMESTIBLE_from_json.py msgid "" -"A rag soaked in antiseptic. Useful for light wounds, probaby won't help with" -" deep bites." +"A rag soaked in antiseptic. Useful for light wounds, probaby won't help " +"with deep bites." msgstr "浸过抗菌剂的布条。对于轻微的伤口很有用,但对于严重的咬伤可能就没用了。" #: lang/json/COMESTIBLE_from_json.py @@ -26851,7 +27957,7 @@ msgid "" "oily liquid that shifts from black to purple at unpredictable intervals, " "flecked with tiny gray dots. Given the place you got it from, it's either " "very potent, or highly experimental. Holding it, all the little aches and " -"pains seem to fade, just for a moment..." +"pains seem to fade, just for a moment…" msgstr "" "一颗红如苹果的胶囊,和你拇指甲差不多大小,内部充满了一种厚厚的油状液体,这种液体毫无规律地从黑色变成紫色,上面布满了灰色小点。从你获得它的地方看来,它要么有特别的药效,要么就是实验用品。那怕只是将它握在手中一瞬间,你都觉得一切痛苦仿佛消失了一般……" @@ -26867,6 +27973,19 @@ msgid "" " painkiller." msgstr "从香蒲秆中获得的透明凝胶,具有抗菌作用且能当作止痛剂使用。" +#: lang/json/COMESTIBLE_from_json.py +msgid "destragon" +msgstr "处方抗生素" + +#. ~ Description for destragon +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A prescription-strength antibacterial medication designed to prevent or stop" +" the spread of infection. It contains nearly toxic levels of antibiotics, " +"but can treat any bacterial infections you may encounter. One dose lasts " +"twelve hours." +msgstr "一份强效处方抗生素,用于预防和治疗感染。带有一定毒性,但是能够治疗你能遇到的任何感染。一剂药持续十二小时。" + #: lang/json/COMESTIBLE_from_json.py msgid "MRE entree" msgstr "MRE 主菜" @@ -27230,7 +28349,7 @@ msgstr "虚拟IV诱变剂风味" #. ~ Description for abstract iv mutagen flavor #: lang/json/COMESTIBLE_from_json.py msgid "" -"A super-concentrated mutagen. You need a syringe to inject it... if you " +"A super-concentrated mutagen. You need a syringe to inject it… if you " "really want to?" msgstr "超浓缩的诱变剂。你需要针管注射器来将其注入体内……如果你真的想用的话。" @@ -27246,7 +28365,7 @@ msgstr "新人类诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen strongly resembling blood. You need a syringe " -"to inject it... if you really want to?" +"to inject it… if you really want to?" msgstr "超浓缩的诱变剂,看上去就像鲜血一样。你需要一个针管来注射……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py @@ -27257,8 +28376,8 @@ msgstr "野兽诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as red as a matador's cape. You need a syringe" -" to inject it... if you really want to?" -msgstr "超浓缩诱变剂,像斗牛士的斗篷一样红。你需要一根针管来注射它……如果你真的想用的话。" +" to inject it… if you really want to?" +msgstr "超浓缩的诱变剂,像斗牛士的斗篷一样红。你需要一根针管来注射它……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py msgid "bird serum" @@ -27268,7 +28387,7 @@ msgstr "鸟类诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the pre-cataclysmic skies. You " -"need a syringe to inject it... if you really want to?" +"need a syringe to inject it… if you really want to?" msgstr "超浓缩的诱变剂,那种蓝色让你想起了大灾变之前的天空。你需要一个针管来注射……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py @@ -27279,7 +28398,7 @@ msgstr "家畜诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of grass. You need a syringe to " -"inject it... if you really want to?" +"inject it… if you really want to?" msgstr "超浓缩的诱变剂,有着一种青草的颜色。你需要一个针管来注射……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py @@ -27290,8 +28409,8 @@ msgstr "章鱼诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as black as ink. You need a syringe to inject " -"it... if you really want to?" -msgstr "超浓缩诱变剂,像墨水一样黑。你需要一根针管来注射它……如果你真的想用的话。" +"it… if you really want to?" +msgstr "超浓缩的诱变剂,像墨水一样黑。你需要一根针管来注射它……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py msgid "chimera serum" @@ -27301,8 +28420,8 @@ msgstr "奇美拉诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that churns with iridescence. You need a " -"syringe to inject it... if you really want to?" -msgstr "超浓缩诱变剂,呈现出搅动在一起的彩虹色。你需要一根针管来注射它……如果你真的想用的话。" +"syringe to inject it… if you really want to?" +msgstr "超浓缩的诱变剂,呈现出搅动在一起的彩虹色。你需要一根针管来注射它……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py msgid "elf-a serum" @@ -27312,8 +28431,8 @@ msgstr "精灵诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a striking sylvan green. You need a " -"syringe to inject it... if you really want to?" -msgstr "超浓缩诱变剂,呈现出惹人注目的森林绿色。你需要一根针管来注射它……如果你真的想用的话。" +"syringe to inject it… if you really want to?" +msgstr "超浓缩的诱变剂,呈现出惹人注目的森林绿色。你需要一根针管来注射它……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py msgid "feline serum" @@ -27323,8 +28442,8 @@ msgstr "猫科诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen, yellow and highly reflective. You need a " -"syringe to inject it... if you really want to?" -msgstr "超浓缩诱变剂,呈现黄色并且高度反光。你需要一根针管来注射它……如果你真的想用的话。" +"syringe to inject it… if you really want to?" +msgstr "超浓缩的诱变剂,呈现黄色并且高度反光。你需要一根针管来注射它……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py msgid "fish serum" @@ -27334,7 +28453,7 @@ msgstr "鱼类诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the ocean, with white foam at the " -"top. You need a syringe to inject it... if you really want to?" +"top. You need a syringe to inject it… if you really want to?" msgstr "超浓缩的诱变剂,有着大海一般深邃的蓝色,顶部浮着些白色泡沫。你需要一个针管来注射……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py @@ -27345,8 +28464,8 @@ msgstr "昆虫诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a beautiful amber color. You need a " -"syringe to inject it... if you really want to?" -msgstr "超浓缩诱变剂,呈现出美丽的琥珀色。你需要一根针管来注射它……如果你真的想用的话。" +"syringe to inject it… if you really want to?" +msgstr "超浓缩的诱变剂,呈现出美丽的琥珀色。你需要一根针管来注射它……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py msgid "lizard serum" @@ -27356,7 +28475,7 @@ msgstr "蜥蜴诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that shifts between various shades of green. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "超浓缩的诱变剂,在不同深浅的绿色之间变幻。你需要一根针管来注射它……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py @@ -27367,8 +28486,8 @@ msgstr "狼类诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as white as a full moon. You need a syringe to" -" inject it... if you really want to?" -msgstr "超浓缩诱变剂,如满月一般皎白。你需要一根针管来注射它……如果你真的想用的话。" +" inject it… if you really want to?" +msgstr "超浓缩的诱变剂,如满月一般皎白。你需要一根针管来注射它……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py msgid "medical serum" @@ -27378,7 +28497,7 @@ msgstr "医用诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like a mixture of bodily fluids. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "超浓缩的诱变剂,看上去像是各种体液的混合物。你需要一根针管来注射它……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py @@ -27389,7 +28508,7 @@ msgstr "植物诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like pureed spinach. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "超浓缩的诱变剂,看上去像是一堆菠菜糊糊。你需要一根针管来注射它……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py @@ -27400,7 +28519,7 @@ msgstr "迅猛龙诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to shift slightly whenever you look " -"at it. You need a syringe to inject it... if you really want to?" +"at it. You need a syringe to inject it… if you really want to?" msgstr "超浓缩的诱变剂,每次当你看它时似乎都会有所变化。你需要一根针管来注射它……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py @@ -27411,7 +28530,7 @@ msgstr "大鼠诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a rather unappealing beige. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "超浓缩的诱变剂,看上去呈现出毫无吸引力的米黄色。你需要一根针管来注射它……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py @@ -27422,7 +28541,7 @@ msgstr "变形怪诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks very much like the black ooze in the" -" zombies' eyes. You need a syringe to inject it... if you really want to?" +" zombies' eyes. You need a syringe to inject it… if you really want to?" msgstr "超浓缩的诱变剂,看起来就像丧尸眼睛里黑色的粘液。你需要一根针管来注射它……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py @@ -27433,7 +28552,7 @@ msgstr "蜘蛛诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen with pale filaments suspended in it. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "超浓缩的诱变剂,里面隐约悬浮着一些白色的丝状物。你需要一根针管来注射它……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py @@ -27444,7 +28563,7 @@ msgstr "穴居诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to recoil from the light. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "超浓缩的诱变剂,看起来有点畏惧光线。你需要一个针管来注射……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py @@ -27455,8 +28574,8 @@ msgstr "熊科诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's the color of honey, and is just as " -"thick. You need a syringe to inject it... if you really want to?" -msgstr "超浓缩诱变剂,蜂蜜一样的颜色,蜂蜜一般的浓稠。你需要一根针管来注射它……如果你真的想用的话。" +"thick. You need a syringe to inject it… if you really want to?" +msgstr "超浓缩的诱变剂,蜂蜜一样的颜色,蜂蜜一般的浓稠。你需要一根针管来注射它……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py msgid "mouse serum" @@ -27466,7 +28585,7 @@ msgstr "小鼠诱变血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen resembling liquefied metal. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "超浓缩的诱变剂,看上去就像液态金属一样。你需要一根针管来注射它……如果你真的想用的话。" #: lang/json/COMESTIBLE_from_json.py @@ -27481,7 +28600,7 @@ msgstr "凝结之血" #: lang/json/COMESTIBLE_from_json.py msgid "" "A thick, soupy red liquid. It looks and smells disgusting, and seems to " -"bubble with an intelligence of its own..." +"bubble with an intelligence of its own…" msgstr "浓稠黏糊的红色液体。看着闻着都恶心,而且仿佛有生命一般地冒着泡……" #: lang/json/COMESTIBLE_from_json.py @@ -27668,21 +28787,21 @@ msgid "" msgstr "饥渴变异者的绝佳饮品,尝起来就像腌大便一样不过至少比直接喝原料安全得多。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of pine nuts" -msgid_plural "handfuls of pine nuts" -msgstr[0] "松子" +msgid "pine nuts" +msgid_plural "pine nuts" +msgstr[0] "松籽" -#. ~ Description for handful of pine nuts +#. ~ Description for {'str': 'pine nuts', 'str_pl': 'pine nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of tasty crunchy nuts from a pinecone." msgstr "一把从松果里剥出来的松籽,又香又脆。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of junipers" -msgid_plural "handful of junipers" +msgid "junipers" +msgid_plural "junipers" msgstr[0] "杜松子" -#. ~ Description for handful of junipers +#. ~ Description for {'str': 'junipers', 'str_pl': 'junipers'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Junipers, for making gin and earthy flavors. Spicy, tastes similar to " @@ -27690,62 +28809,75 @@ msgid "" msgstr "杜松子,用于制作杜松子酒和土调料。辛辣,味道类似迷迭香。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pistachios" -msgid_plural "handfuls of shelled pistachios" +msgid "shelled pistachios" +msgid_plural "shelled pistachios" msgstr[0] "去壳开心果" -#. ~ Description for handful of shelled pistachios +#. ~ Description for {'str': 'shelled pistachios', 'str_pl': 'shelled +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of nuts from a pistachio tree, their shells have been removed." msgstr "一把开心果,已经去壳了。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pistachios" -msgid_plural "handfuls of roasted pistachios" +msgid "roasted pistachios" +msgid_plural "roasted pistachios" msgstr[0] "烤开心果" -#. ~ Description for handful of roasted pistachios +#. ~ Description for {'str': 'roasted pistachios', 'str_pl': 'roasted +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an pistachio tree." msgstr "一把开心果,已经烤熟了。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled almonds" -msgid_plural "handfuls of shelled almonds" -msgstr[0] "去壳杏仁" +msgid "shelled almonds" +msgid_plural "shelled almonds" +msgstr[0] "去壳扁桃仁" -#. ~ Description for handful of shelled almonds +#. ~ Description for {'str': 'shelled almonds', 'str_pl': 'shelled almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of nuts from an almond tree, their shells have been removed." -msgstr "一把杏仁,已经去壳了。" +msgstr "一把扁桃仁,已经去壳了。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted almonds" -msgid_plural "handfuls of roasted almonds" -msgstr[0] "烤杏仁" +msgid "almond pulp" +msgid_plural "almond pulp" +msgstr[0] "扁桃渣" -#. ~ Description for handful of roasted almonds +#. ~ Description for almond pulp +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Pulp left over after making almond milk. It's gritty and incredibly bland." +msgstr "制作扁桃仁乳剩下的残渣。口感像沙子,而且味同嚼蜡。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "roasted almonds" +msgid_plural "roasted almonds" +msgstr[0] "烤扁桃仁" + +#. ~ Description for {'str': 'roasted almonds', 'str_pl': 'roasted almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an almond tree." -msgstr "一把杏仁,已经烤熟了。" +msgstr "一把扁桃仁,已经烤熟了。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cashews" -msgid_plural "handfuls of cashews" +msgid "cashews" +msgid_plural "cashews" msgstr[0] "腰果" -#. ~ Description for handful of cashews +#. ~ Description for {'str': 'cashews', 'str_pl': 'cashews'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of salty cashews." msgstr "一把盐焗腰果。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pecans" -msgid_plural "handfuls of shelled pecans" +msgid "shelled pecans" +msgid_plural "shelled pecans" msgstr[0] "去壳美洲山核桃" -#. ~ Description for handful of shelled pecans +#. ~ Description for {'str': 'shelled pecans', 'str_pl': 'shelled pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of pecans which are a sub-species of hickory nuts, their shells " @@ -27753,41 +28885,41 @@ msgid "" msgstr "一把美洲山核桃,山核桃的亚种,已经去壳了。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pecans" -msgid_plural "handfuls of roasted pecans" +msgid "roasted pecans" +msgid_plural "roasted pecans" msgstr[0] "烤美洲山核桃" -#. ~ Description for handful of roasted pecans +#. ~ Description for {'str': 'roasted pecans', 'str_pl': 'roasted pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a pecan tree." msgstr "一把美洲山核桃,已经烤熟了。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled peanuts" -msgid_plural "handful of shelled peanuts" +msgid "shelled peanuts" +msgid_plural "shelled peanuts" msgstr[0] "去壳花生" -#. ~ Description for handful of shelled peanuts +#. ~ Description for {'str': 'shelled peanuts', 'str_pl': 'shelled peanuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Salty peanuts with their shells removed." msgstr "一把去壳盐煮花生。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of beech nuts" -msgid_plural "handfuls of beech nuts" +msgid "beech nuts" +msgid_plural "beech nuts" msgstr[0] "榉实" -#. ~ Description for handful of beech nuts +#. ~ Description for {'str': 'beech nuts', 'str_pl': 'beech nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of hard pointy nuts from a beech tree." msgstr "一把美洲山毛榉树的带刺果实。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled walnuts" -msgid_plural "handfuls of shelled walnuts" +msgid "shelled walnuts" +msgid_plural "shelled walnuts" msgstr[0] "去壳核桃" -#. ~ Description for handful of shelled walnuts +#. ~ Description for {'str': 'shelled walnuts', 'str_pl': 'shelled walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a walnut tree, their shells have been " @@ -27795,21 +28927,22 @@ msgid "" msgstr "一把核桃,已经去壳了。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted walnuts" -msgid_plural "handfuls of roasted walnuts" +msgid "roasted walnuts" +msgid_plural "roasted walnuts" msgstr[0] "烤核桃" -#. ~ Description for handful of roasted walnuts +#. ~ Description for {'str': 'roasted walnuts', 'str_pl': 'roasted walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a walnut tree." msgstr "一把核桃,已经烤熟了。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled chestnuts" -msgid_plural "handfuls of shelled chestnuts" +msgid "shelled chestnuts" +msgid_plural "shelled chestnuts" msgstr[0] "去壳栗子" -#. ~ Description for handful of shelled chestnuts +#. ~ Description for {'str': 'shelled chestnuts', 'str_pl': 'shelled +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a chestnut tree, their shells have been " @@ -27817,21 +28950,23 @@ msgid "" msgstr "一把栗子,已经去壳了。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted chestnuts" -msgid_plural "handfuls of roasted chestnuts" +msgid "roasted chestnuts" +msgid_plural "roasted chestnuts" msgstr[0] "烤栗子" -#. ~ Description for handful of roasted chestnuts +#. ~ Description for {'str': 'roasted chestnuts', 'str_pl': 'roasted +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a chestnut tree." msgstr "一把栗子,已经烤熟了。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hazelnuts" -msgid_plural "handfuls of shelled hazelnuts" -msgstr[0] "带壳榛子" +msgid "shelled hazelnuts" +msgid_plural "shelled hazelnuts" +msgstr[0] "去壳榛子" -#. ~ Description for handful of shelled hazelnuts +#. ~ Description for {'str': 'shelled hazelnuts', 'str_pl': 'shelled +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hazelnut tree, their shells have been " @@ -27839,41 +28974,43 @@ msgid "" msgstr "一把榛子,已经去壳了。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted edamame" -msgid_plural "handful of roasted edamame" +msgid "roasted edamame" +msgid_plural "roasted edamame" msgstr[0] "烤毛豆" -#. ~ Description for handful of roasted edamame +#. ~ Description for {'str': 'roasted edamame', 'str_pl': 'roasted edamame'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted edamame, a heart healthy snack." msgstr "烤毛豆,一种有益心脏健康的零食。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted soy nuts" -msgid_plural "handful of roasted soy nuts" +msgid "roasted soy nuts" +msgid_plural "roasted soy nuts" msgstr[0] "烤大豆" -#. ~ Description for handful of roasted soy nuts +#. ~ Description for {'str': 'roasted soy nuts', 'str_pl': 'roasted soy nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted soybeans, often called soy nuts." msgstr "烤大豆,通常被称为烤豆子。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hazelnuts" -msgid_plural "handfuls of roasted hazelnuts" +msgid "roasted hazelnuts" +msgid_plural "roasted hazelnuts" msgstr[0] "烤榛子" -#. ~ Description for handful of roasted hazelnuts +#. ~ Description for {'str': 'roasted hazelnuts', 'str_pl': 'roasted +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hazelnut tree." msgstr "一把榛子,已经烤熟了。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hickory nuts" -msgid_plural "handfuls of shelled hickory nuts" +msgid "shelled hickory nuts" +msgid_plural "shelled hickory nuts" msgstr[0] "去壳山核桃" -#. ~ Description for handful of shelled hickory nuts +#. ~ Description for {'str': 'shelled hickory nuts', 'str_pl': 'shelled +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hickory tree, their shells have been " @@ -27881,11 +29018,12 @@ msgid "" msgstr "一把山核桃,已经去壳了。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hickory nuts" -msgid_plural "handfuls of roasted hickory nuts" +msgid "roasted hickory nuts" +msgid_plural "roasted hickory nuts" msgstr[0] "烤山核桃" -#. ~ Description for handful of roasted hickory nuts +#. ~ Description for {'str': 'roasted hickory nuts', 'str_pl': 'roasted +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hickory tree." msgstr "一把山核桃,已经烤熟了。" @@ -27900,11 +29038,11 @@ msgid "Delicious hickory nut ambrosia. A drink worthy of the gods." msgstr "美味的山核桃酿。神的饮品。(原文Ambrosia意为神的食物)" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of acorns" -msgid_plural "handfuls of acorns" +msgid "acorns" +msgid_plural "acorns" msgstr[0] "橡实" -#. ~ Description for handful of acorns +#. ~ Description for {'str': 'acorns', 'str_pl': 'acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of acorns, still in their shells. Squirrels like them, but " @@ -27912,11 +29050,11 @@ msgid "" msgstr "一把橡子,还带着壳。松鼠的挚爱,当然你不是松鼠,所以吃的时候悠着点。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted acorns" -msgid_plural "handfuls of roasted acorns" +msgid "roasted acorns" +msgid_plural "roasted acorns" msgstr[0] "烤橡实" -#. ~ Description for handful of roasted acorns +#. ~ Description for {'str': 'roasted acorns', 'str_pl': 'roasted acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful roasted nuts from an oak tree." msgstr "一把橡实,已经烤熟了。" @@ -28330,7 +29468,7 @@ msgstr "蜂蜜,蜜蜂制作。这种蜂蜜叫做\"蜜饯蜂蜜\",一种浓 #: lang/json/COMESTIBLE_from_json.py msgid "canned tomato" msgid_plural "canned tomatoes" -msgstr[0] "罐装西红柿" +msgstr[0] "罐装番茄" #. ~ Description for canned tomato #: lang/json/COMESTIBLE_from_json.py @@ -28441,10 +29579,11 @@ msgstr "精制人体蛋白质粉与水的混合稀浆,虽然很有营养,但 #: lang/json/COMESTIBLE_from_json.py msgid "soylent green powder" -msgid_plural "servings of soylent green powder" +msgid_plural "soylent green powder" msgstr[0] "Soylent Green人造蛋白粉" -#. ~ Description for soylent green powder +#. ~ Description for {'str': 'soylent green powder', 'str_pl': 'soylent green +#. powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein made out of people! While quite nutritious, it is " @@ -28488,10 +29627,10 @@ msgstr "少量蛋白质粉与水的混合物,虽然很有营养,但味道并 #: lang/json/COMESTIBLE_from_json.py msgid "protein powder" -msgid_plural "servings of protein powder" +msgid_plural "protein powder" msgstr[0] "蛋白粉" -#. ~ Description for protein powder +#. ~ Description for {'str': 'protein powder', 'str_pl': 'protein powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein. While quite nutritious, it is impossible to enjoy in " @@ -28563,11 +29702,11 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "一个芸香科柑橘属植物果实,富含维生素C,但是非常得酸。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blueberries" -msgid_plural "handful of blueberries" +msgid "blueberries" +msgid_plural "blueberries" msgstr[0] "蓝莓" -#. ~ Description for handful of blueberries +#. ~ Description for {'str': 'blueberries', 'str_pl': 'blueberries'} #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "" @@ -28575,51 +29714,51 @@ msgstr "" "\"适合在蓝色的天空下的蓝色小屋里听着蓝调布鲁斯吃着蓝莓。\"" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of strawberries" -msgid_plural "handful of strawberries" +msgid "strawberries" +msgid_plural "strawberries" msgstr[0] "草莓" -#. ~ Description for handful of strawberries +#. ~ Description for {'str': 'strawberries', 'str_pl': 'strawberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "一把在野外常见的草莓灌木所结出的果实,鲜红的果肉,多汁又美味。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cranberries" -msgid_plural "handful of cranberries" +msgid "cranberries" +msgid_plural "cranberries" msgstr[0] "蔓越莓" -#. ~ Description for handful of cranberries +#. ~ Description for {'str': 'cranberries', 'str_pl': 'cranberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "一把蔓越莓灌木所结出的红色浆果,很酸,但对健康有益。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of raspberries" -msgid_plural "handful of raspberries" +msgid "raspberries" +msgid_plural "raspberries" msgstr[0] "树莓" -#. ~ Description for handful of raspberries +#. ~ Description for {'str': 'raspberries', 'str_pl': 'raspberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "一把树莓灌木所结出的红色浆果,酸甜可口。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of huckleberries" -msgid_plural "handful of huckleberries" +msgid "huckleberries" +msgid_plural "huckleberries" msgstr[0] "越橘" -#. ~ Description for handful of huckleberries +#. ~ Description for {'str': 'huckleberries', 'str_pl': 'huckleberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "一把美洲越橘,经常会和蓝莓混淆。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of mulberries" -msgid_plural "handful of mulberries" +msgid "mulberries" +msgid_plural "mulberries" msgstr[0] "桑椹" -#. ~ Description for handful of mulberries +#. ~ Description for {'str': 'mulberries', 'str_pl': 'mulberries'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -28627,21 +29766,21 @@ msgid "" msgstr "一把北美桑椹,这种红色品种是北美东部所独有的,并被认为是世界上所有品种中风味最浓的一个品种。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of elderberries" -msgid_plural "handful of elderberries" +msgid "elderberries" +msgid_plural "elderberries" msgstr[0] "接骨木果" -#. ~ Description for handful of elderberries +#. ~ Description for {'str': 'elderberries', 'str_pl': 'elderberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "一把接骨木果,生吃有毒,但煮熟后很美味。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of rose hips" -msgid_plural "handful of rose hips" +msgid "rose hips" +msgid_plural "rose hips" msgstr[0] "玫瑰果" -#. ~ Description for handful of rose hips +#. ~ Description for {'str': 'rose hips', 'str_pl': 'rose hips'} #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "一把玫瑰果,是经过授粉后的玫瑰花所结的果实。" @@ -28676,11 +29815,11 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "一个柑橘类水果,有酸味和甘味,成熟时果皮一般呈不均匀的橙色或红色,果肉淡红白色。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cherries" -msgid_plural "handful of cherries" +msgid "cherries" +msgid_plural "cherries" msgstr[0] "樱桃" -#. ~ Description for handful of cherries +#. ~ Description for {'str': 'cherries', 'str_pl': 'cherries'} #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "一把樱桃树结出的红色果实,很甜。" @@ -28696,11 +29835,11 @@ msgid "" msgstr "一个紫色的大李子,饱满圆润,玲珑剔透,形态美艳,口味甘甜,是人们最喜欢的水果之一。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of grapes" -msgid_plural "handful of grapes" +msgid "grapes" +msgid_plural "grapes" msgstr[0] "葡萄" -#. ~ Description for handful of grapes +#. ~ Description for {'str': 'grapes', 'str_pl': 'grapes'} #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "" @@ -28756,11 +29895,11 @@ msgid "A large and very sweet fruit." msgstr "一个又大又甜的瓜,又称香瓜等,含有苹果酸、葡萄糖、氨基酸、甜菜茄、维生素C等丰富营养。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blackberries" -msgid_plural "handful of blackberries" +msgid "blackberries" +msgid_plural "blackberries" msgstr[0] "黑莓" -#. ~ Description for handful of blackberries +#. ~ Description for {'str': 'blackberries', 'str_pl': 'blackberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "一些原产地北美洲的黑莓,有着非常丰富的营养价值。" @@ -28805,15 +29944,26 @@ msgid "" msgstr "一个大大的,有着棕色纹装外皮的水果,绿色的果肉有着奇异的味道。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of apricots" -msgid_plural "handful of apricots" +msgid "apricots" +msgid_plural "apricots" msgstr[0] "杏子" -#. ~ Description for handful of apricots +#. ~ Description for {'str': 'apricots', 'str_pl': 'apricots'} #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "一把杏子,表皮很光滑,有着味甜多汁的暗黄色果肉,是桃子的近亲。" +#: lang/json/COMESTIBLE_from_json.py +msgid "cholla bud" +msgstr "仙人掌花蕾" + +#. ~ Description for cholla bud +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Edible bud of a cholla cactus, with spines removed; the candy of the Mojave " +"indigenous peoples. Tastes similar to asparagus." +msgstr "可食用的仙人掌花蕾,刺已经去掉了,是莫哈维沙漠土著的最爱。尝起来有点像芦笋。" + #: lang/json/COMESTIBLE_from_json.py msgid "cactus pad" msgstr "食用仙人掌" @@ -28986,10 +30136,10 @@ msgstr "大丽花的大块根。它闻起来挺辣,但是由于含有太多淀 #: lang/json/COMESTIBLE_from_json.py msgid "salsify" -msgid_plural "handfuls of salsify" +msgid_plural "salsify" msgstr[0] "蒜叶婆罗门参" -#. ~ Description for salsify +#. ~ Description for {'str': 'salsify', 'str_pl': 'salsify'} #: lang/json/COMESTIBLE_from_json.py msgid "" "An herb with a small purple flower. The roots are nutritious, but tough and" @@ -28999,10 +30149,10 @@ msgstr "一种开紫色小花的草本植物。根部营养丰富,但在煮熟 #: lang/json/COMESTIBLE_from_json.py lang/json/COMESTIBLE_from_json.py #: lang/json/furniture_from_json.py msgid "chicory" -msgid_plural "handfuls of chicory" +msgid_plural "chicory" msgstr[0] "菊苣菜" -#. ~ Description for chicory +#. ~ Description for {'str': 'chicory', 'str_pl': 'chicory'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A modest blue flower. The flower's roots are very bitter and not meant to " @@ -29118,11 +30268,11 @@ msgstr "" "\"不~给~脑~就~捣~蛋~——儿童丧尸\"" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of dandelions" -msgid_plural "handfuls of dandelions" +msgid "dandelions" +msgid_plural "dandelions" msgstr[0] "蒲公英" -#. ~ Description for handful of dandelions +#. ~ Description for {'str': 'dandelions', 'str_pl': 'dandelions'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A collection of freshly picked yellow dandelions. In their current raw " @@ -29173,7 +30323,7 @@ msgstr[0] "番茄" msgid "" "Juicy red tomato. It gained popularity in Italy after being brought back " "from the New World." -msgstr "鲜美多汁的西红柿,从新大陆引入之后就在意大利广泛被食用。" +msgstr "鲜美多汁的番茄,从新大陆引入之后就在意大利广泛被食用。" #: lang/json/COMESTIBLE_from_json.py msgid "plant marrow" @@ -29248,11 +30398,11 @@ msgid "Raw, uncooked lentils. They could be cooked." msgstr "生扁豆,可以煮熟用以果腹。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of fiddleheads" -msgid_plural "handfuls of fiddleheads" +msgid "fiddleheads" +msgid_plural "fiddleheads" msgstr[0] "蕨菜" -#. ~ Description for handful of fiddleheads +#. ~ Description for {'str': 'fiddleheads', 'str_pl': 'fiddleheads'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of immature fern fronds, still curled up like the head of a " @@ -29575,7 +30725,7 @@ msgstr "一些树莓种子。" #: lang/json/COMESTIBLE_from_json.py msgid "raspberry" -msgstr "木莓" +msgstr "树莓" #: lang/json/COMESTIBLE_from_json.py msgid "strawberry seeds" @@ -30356,7 +31506,7 @@ msgstr "番茄汤" msgid "" "It smells of tomatoes. Not very filling, but it goes well with grilled " "cheese." -msgstr "闻起来像是西红柿煮出来的。不太饱肚子,但加上烤奶酪就能当午餐了。" +msgstr "闻起来像是番茄煮出来的。不太饱肚子,但加上烤奶酪就能当午餐了。" #: lang/json/COMESTIBLE_from_json.py msgid "chicken and dumplings" @@ -31004,26 +32154,26 @@ msgstr "一些生小麦,直接食用不佳。" #: lang/json/COMESTIBLE_from_json.py msgid "raw spaghetti pasta" msgid_plural "raw spaghetti pasta" -msgstr[0] "生意大利面面团" +msgstr[0] "生意大利面" #. ~ Description for raw spaghetti pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of pasta usually used when preparing spaghetti. It could be eaten raw" -" if you're desperate, but is much better cooked." -msgstr "准备制作成意大利面的面团,当你饿得不行时,生吃也没什么影响,当然,弄熟了再吃最好不过。" +"A type of pasta usually used when preparing spaghetti. It could be eaten " +"raw if you're desperate, but is much better cooked." +msgstr "一种用来做意大利面的面条。当你饿的不行时,生吃也不是不可以,但是弄熟了之后会好吃得多。" #: lang/json/COMESTIBLE_from_json.py msgid "raw lasagne pasta" msgid_plural "raw lasagne pasta" -msgstr[0] "生千层面面团" +msgstr[0] "生千层面" #. ~ Description for raw lasagne pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pasta sheet used in making lasagne. It could be eaten raw if you're " +"A pasta sheet used in making lasagne. It could be eaten raw if you're " "desperate, but is much better cooked." -msgstr "准备制作成千层面的面团,当你饿得不行时,生吃也没什么影响,当然,弄熟了再吃最好不过。" +msgstr "一片用来做千层面的生面。当你饿的不行时,生吃也不是不可以,但是弄熟了之后会好吃得多。" #: lang/json/COMESTIBLE_from_json.py msgid "boiled noodles" @@ -31471,7 +32621,7 @@ msgstr "基础药剂" #: lang/json/COMESTIBLE_from_json.py msgid "" "Strong alcohol, infused with mana and concentrated into a liquid that can " -"stabilize spells into liquid form. You can still drink it, if you want." +"stabilize spells into liquid form. You can still drink it, if you want." msgstr "烈性酒精之中注入了魔力并浓缩成液体,能够用来使法术稳定为液体形式。如果你愿意的话,你可以直接喝它。" #: lang/json/COMESTIBLE_from_json.py @@ -31483,7 +32633,7 @@ msgstr[0] "大肾上腺" #: lang/json/COMESTIBLE_from_json.py msgid "" "An organ located above the kidneys responsible for secretion of adrenaline, " -"cortisol, and aldosterone. This one is huge, whether by nature or mutation." +"cortisol, and aldosterone. This one is huge, whether by nature or mutation." msgstr "位于肾脏上方的负责分泌肾上腺素、皮质醇和醛固酮的器官。这块肾上腺非常巨大,不知道是自然存在的还是突变产生的。" #: lang/json/COMESTIBLE_from_json.py @@ -31580,8 +32730,8 @@ msgstr "丧尸巫毒娃娃" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human, including pieces of bone " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "一只特别逼真的丧尸人偶,有着逼真的骨头和器官。死灵法术暂时阻止了它的腐坏,但是不会长久。用附带的针刺它会让它为你服务。" #: lang/json/COMESTIBLE_from_json.py @@ -31592,8 +32742,9 @@ msgstr "骨片巫毒娃娃" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human covered with bone, including" -" pieces of organs. Necromantic magic delays immediate rot, but it won't last" -" forever. Piercing it with the attached needle could compel it to serve you." +" pieces of organs. Necromantic magic delays immediate rot, but it won't " +"last forever. Piercing it with the attached needle could compel it to serve" +" you." msgstr "一只特别逼真的丧尸人偶,覆盖着骨片,里面有逼真的器官。死灵法术暂时阻止了它的腐坏,但是不会长久。用附带的针刺它会让它为你服务。" #: lang/json/COMESTIBLE_from_json.py @@ -31604,8 +32755,8 @@ msgstr "美洲狮巫毒娃娃" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead cougar, complete with fur, bones, " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "一只特别逼真的不死美洲狮人偶,有着逼真的皮毛、骨头和器官。死灵法术暂时阻止了它的腐坏,但是不会长久。用附带的针刺它会让它为你服务。" #: lang/json/COMESTIBLE_from_json.py @@ -31616,9 +32767,9 @@ msgstr "扭曲恢复药剂" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal." -msgstr "这瓶闻起来恶心的液体通过将心跳加速至危险的水平来模拟不死生物的恢复能力。在危险或濒死状态下使用可能会致命。" +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal." +msgstr "这瓶闻起来就恶心的液体通过将心跳加速至危险的水平来模拟不死生物的恢复能力。在危险或濒死状态下使用可能会致命。" #: lang/json/COMESTIBLE_from_json.py msgid "potion of Improved Twisted Restoration" @@ -31628,11 +32779,11 @@ msgstr "改良扭曲恢复药剂" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal. Improved infusion techniques lessen the strain of the " -"process." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal. Improved infusion techniques lessen the strain of " +"the process." msgstr "" -"这瓶闻起来恶心的液体通过将心跳加速至危险的水平来模拟不死生物的恢复能力。在危险或濒死状态下使用可能会致命。改进的浸提技术减小了药剂对身体的负担。" +"这瓶闻起来就恶心的液体通过将心跳加速至危险的水平来模拟不死生物的恢复能力。在危险或濒死状态下使用可能会致命。改进的浸提技术减小了药剂对身体的负担。" #: lang/json/COMESTIBLE_from_json.py msgid "owlbear egg" @@ -31666,7 +32817,7 @@ msgstr[0] "毛团" #. ~ Description for hairball #: lang/json/COMESTIBLE_from_json.py msgid "" -"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." +"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." msgstr "一大团恶心的动物唾沫和舔掉的毛的混合物。不要吞下它。" #: lang/json/COMESTIBLE_from_json.py @@ -31684,6 +32835,16 @@ msgstr "" "龙肉,它不能像普通动物肉一样被烹饪,显然还残留着一些魔法性质。\n" "“天上龙肉,地下驴肉。咦?”" +#: lang/json/COMESTIBLE_from_json.py +msgid "scream mushroom" +msgstr "尖叫蘑菇" + +#. ~ Description for scream mushroom +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"The mushrooms harvested from a dead shrieker. Could be used in potions." +msgstr "从尖叫蘑菇怪身上获得的蘑菇。可以用来炼制药剂。" + #: lang/json/COMESTIBLE_from_json.py msgid "resinous cord" msgstr "树脂线" @@ -31707,13 +32868,13 @@ msgid "" msgstr "一具糖猫的尸体,现在看起来真像一块巨大的彩虹糖。咬一口肯定没关系的,对吧?" #: lang/json/COMESTIBLE_from_json.py -msgid "caramel ointement" +msgid "caramel ointment" msgstr "焦糖药膏" -#. ~ Description for caramel ointement +#. ~ Description for caramel ointment #: lang/json/COMESTIBLE_from_json.py msgid "" -"An ointement made of caramel. You could use it to heal your wounds, if you " +"An ointment made of caramel. You could use it to heal your wounds, if you " "were made of sugar." msgstr "一份用焦糖制成的药膏。如果你是糖做的人的话,可以用它来治疗伤口。" @@ -32308,15 +33469,6 @@ msgstr[0] "米粉" msgid "This rice flour is useful for baking." msgstr "用米磨成的粉,可以用来做成面包。" -#: lang/json/COMESTIBLE_from_json.py -msgid "cholla bud" -msgstr "仙人掌花蕾" - -#. ~ Description for cholla bud -#: lang/json/COMESTIBLE_from_json.py -msgid "The candy of the Mojave Indigenous peoples." -msgstr "莫哈韦土著人的糖果。" - #: lang/json/COMESTIBLE_from_json.py msgid "revival serum" msgstr "复活药水" @@ -32587,8 +33739,8 @@ msgstr[0] "纸桶" #. ~ Description for paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"It has a threaded cap for easy resealing." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" It has a threaded cap for easy resealing." msgstr "由纸,铝和塑料层压制成的纸板盒,容积为半加仑。附带一个螺纹盖子以便封装。" #: lang/json/CONTAINER_from_json.py @@ -32599,9 +33751,9 @@ msgstr[0] "纸桶(开)" #. ~ Description for opened paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"This one is open and its contents will spoil." -msgstr "由纸,铝和塑料层压制成的纸板盒,容积为半加仑。它已经被打开了,内容物会正常腐坏。" +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" This one is open and its contents will spoil." +msgstr "由纸,铝和塑料层压制成的纸板盒,容积为半加仑。它已经被打开了,内容物会开始变质。" #: lang/json/CONTAINER_from_json.py msgid "vacuum-packed bag" @@ -33075,8 +34227,8 @@ msgstr[0] "生存工具箱(开)" #. ~ Description for survival kit box #: lang/json/CONTAINER_from_json.py msgid "" -"An aluminum box that used to contain a small survival kit. Can hold 1 liter " -"of liquid." +"An aluminum box that used to contain a small survival kit. Can hold 1 liter" +" of liquid." msgstr "一个曾经装过小型生存工具套装的铝箱,可以装1升液体。" #: lang/json/CONTAINER_from_json.py @@ -33166,6 +34318,21 @@ msgid "" " for maximum yield. It can be crafted with various seeds to plant them." msgstr "一个能用来种植植物的特殊花盆。能够保证植物在合适的环境下生长,使其获得最大的产量。与各种种子一起制作物品来种植。" +#: lang/json/CONTAINER_from_json.py +msgid "endless flask" +msgid_plural "endless flasks" +msgstr[0] "无尽酒瓶" + +#. ~ Use action msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "You open the flask and discover it full of sweet, sweet, whiskey!" +msgstr "你打开酒瓶,发现其中已经装满了香甜的威士忌!" + +#. ~ Use action not_ready_msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "The flask isn't done refilling yet." +msgstr "酒瓶还没装满。" + #: lang/json/CONTAINER_from_json.py msgid "aluminum foil wrap" msgid_plural "aluminum foil wraps" @@ -33585,8 +34752,8 @@ msgstr[0] "蔷薇辉石" #. ~ Description for rhodonite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of rhodonite. It has manganese dioxide covering and going through it" -" in veins, which can be obtained using a chisel." +"A chunk of rhodonite. It has manganese dioxide covering and going through " +"it in veins, which can be obtained using a chisel." msgstr "一大块蔷薇辉石。二氧化锰纹路覆盖和贯通其中,可以用凿子采集。" #: lang/json/GENERIC_from_json.py @@ -33597,7 +34764,7 @@ msgstr[0] "红锌矿" #. ~ Description for zincite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " +"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " "reduction with a source of carbon." msgstr "一大块红锌矿,可以被提炼成氧化锌,再用碳来还原成锌。" @@ -33612,81 +34779,81 @@ msgid "A root from a hickory tree. It has an earthy smell." msgstr "山核桃树的根,尚带着泥土的芬芳。" #: lang/json/GENERIC_from_json.py -msgid "handful of hickory nuts" -msgid_plural "handfuls of hickory nuts" +msgid "hickory nuts" +msgid_plural "hickory nuts" msgstr[0] "山核桃" -#. ~ Description for handful of hickory nuts +#. ~ Description for {'str': 'hickory nuts', 'str_pl': 'hickory nuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hickory tree, still in their shell." msgstr "一把山核桃,还没去壳。" #: lang/json/GENERIC_from_json.py -msgid "handful of pecans" -msgid_plural "handfuls of pecans" +msgid "pecans" +msgid_plural "pecans" msgstr[0] "美洲山核桃" -#. ~ Description for handful of pecans +#. ~ Description for {'str': 'pecans', 'str_pl': 'pecans'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pecan tree, still in their shell." msgstr "一把美洲山核桃,山核桃的亚种,还没去壳。" #: lang/json/GENERIC_from_json.py -msgid "handful of pistachios" -msgid_plural "handfuls of pistachios" +msgid "pistachios" +msgid_plural "pistachios" msgstr[0] "开心果" -#. ~ Description for handful of pistachios +#. ~ Description for {'str': 'pistachios', 'str_pl': 'pistachios'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pistachio tree, still in their shell." msgstr "一把开心果,还没去壳。" #: lang/json/GENERIC_from_json.py -msgid "handful of almonds" -msgid_plural "handfuls of almonds" -msgstr[0] "杏仁" +msgid "almonds" +msgid_plural "almonds" +msgstr[0] "扁桃仁" -#. ~ Description for handful of almonds +#. ~ Description for {'str': 'almonds', 'str_pl': 'almonds'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a almond tree, still in their shell." -msgstr "一把杏仁,还没去壳。" +msgstr "一把扁桃仁,还没去壳。" #: lang/json/GENERIC_from_json.py -msgid "handful of peanuts" -msgid_plural "handfuls of peanuts" +msgid "peanuts" +msgid_plural "peanuts" msgstr[0] "花生" -#. ~ Description for handful of peanuts +#. ~ Description for {'str': 'peanuts', 'str_pl': 'peanuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a peanut bush, still in their shell." msgstr "一把花生,还没去壳。" #: lang/json/GENERIC_from_json.py -msgid "handful of hazelnuts" -msgid_plural "handfuls of hazelnuts" +msgid "hazelnuts" +msgid_plural "hazelnuts" msgstr[0] "榛子" -#. ~ Description for handful of hazelnuts +#. ~ Description for {'str': 'hazelnuts', 'str_pl': 'hazelnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hazelnut tree, still in their shell." msgstr "一把榛子,还没去壳。" #: lang/json/GENERIC_from_json.py -msgid "handful of chestnuts" -msgid_plural "handfuls of chestnuts" +msgid "chestnuts" +msgid_plural "chestnuts" msgstr[0] "栗子" -#. ~ Description for handful of chestnuts +#. ~ Description for {'str': 'chestnuts', 'str_pl': 'chestnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a chestnut tree, still in their shell." msgstr "一把栗子,还没去壳。" #: lang/json/GENERIC_from_json.py -msgid "handful of walnuts" -msgid_plural "handfuls of walnuts" +msgid "walnuts" +msgid_plural "walnuts" msgstr[0] "核桃" -#. ~ Description for handful of walnuts +#. ~ Description for {'str': 'walnuts', 'str_pl': 'walnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a walnut tree, still in their shell." msgstr "一把核桃,还没去壳。" @@ -33821,7 +34988,7 @@ msgstr "一具沾满了凝固的血液的尸体。" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"A dead body with a frightful grimace. He appears to have been horribly " +"A dead body with a frightful grimace. He appears to have been horribly " "mangled prior to his death." msgstr "一具表情恐怖的尸体,看起来在死前身体就受到了严重的损害。" @@ -33845,7 +35012,7 @@ msgstr "一具尸体,额头上有一个巨大的子弹入射伤口,后脑勺 #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"The upper half of a dead body, as if torn apart with enormous force. Some " +"The upper half of a dead body, as if torn apart with enormous force. Some " "organs are hanging out." msgstr "一具尸体的上半截,像是被蛮力撕开的一样。一些器官从里面漏了出来。" @@ -33940,6 +35107,11 @@ msgstr "肌肉" msgid "wind" msgstr "风" +#: lang/json/GENERIC_from_json.py +msgid "metabolism" +msgid_plural "metabolisms" +msgstr[0] "新陈代谢" + #: lang/json/GENERIC_from_json.py msgid "a smoking device and a source of flame" msgstr "一个吸食用具和一个火源" @@ -33956,6 +35128,28 @@ msgid "" "kept together, pretty useless now though." msgstr "被归好档的几份文件资料,比如客户信息和市场分析图表什么。不过你可以肯定现在这些VIP客户的需求只剩下一个了。" +#: lang/json/GENERIC_from_json.py +msgid "INCIDENT REPORT: IMMERSION-27A" +msgid_plural "INCIDENT REPORT: IMMERSION-27As" +msgstr[0] "事故报告:沉浸-27A" + +#. ~ Description for INCIDENT REPORT: IMMERSION-27A +#: lang/json/GENERIC_from_json.py +msgid "" +"A white piece of paper, with the logo of XEDRA printed on its upper left " +"corner. It seems to be an internal report of some kind." +msgstr "一张白纸,左上角印有 XEDRA 的标志,看起来像是一份内部报告。" + +#: lang/json/GENERIC_from_json.py +msgid "MATERIAL: T-SUBSTRATE" +msgid_plural "MATERIAL: T-SUBSTRATEs" +msgstr[0] "材料:T-基质" + +#: lang/json/GENERIC_from_json.py +msgid "HAADF MICROGRAPH: T-SUBSTRATE" +msgid_plural "HAADF MICROGRAPH: T-SUBSTRATEs" +msgstr[0] "高角环形暗场成像:T-基质" + #: lang/json/GENERIC_from_json.py msgid "foodplace loyalty card" msgid_plural "foodplace loyalty cards" @@ -33965,7 +35159,7 @@ msgstr[0] "美食广场会员卡" #: lang/json/GENERIC_from_json.py msgid "" "A bright pink loyalty card, all the points are stamped. This would " -"definitely prove your fidelity to Foodplace, if it still meant anything..." +"definitely prove your fidelity to Foodplace, if it still meant anything…" msgstr "一张亮粉色的会员积分卡,所有的积分都加盖了印戳。这肯定能证明你对美食之城的忠诚,如果这还有意义的话……" #: lang/json/GENERIC_from_json.py @@ -34095,8 +35289,8 @@ msgstr[0] "陶瓷盘套件" #. ~ Description for set of 100 ceramic disk #: lang/json/GENERIC_from_json.py msgid "" -"A set of small slightly elongated disks, made of high-grade ceramic. They " -"remind you of scales" +"A set of small slightly elongated disks, made of high-grade ceramic. They " +"remind you of scales." msgstr "一套略微椭圆的圆盘,由高级陶瓷制成,让你想起鳞片。" #: lang/json/GENERIC_from_json.py @@ -34145,6 +35339,17 @@ msgid "" "Felt patches, bundled tightly together for storage. Disassemble to unpack." msgstr "一捆被紧紧地捆在一起以存放的毛毡片,可拆解。" +#: lang/json/GENERIC_from_json.py +msgid "t-substrate sample" +msgid_plural "t-substrate samples" +msgstr[0] "T-基质样品" + +#. ~ Description for t-substrate sample +#: lang/json/GENERIC_from_json.py +msgid "" +"An acrylic cube cast around a small black crystal. It's tepid to the touch." +msgstr "一小块密封在亚克力玻璃内的黑色晶体,有着微热的触感。" + #: lang/json/GENERIC_from_json.py msgid "biollante bud" msgid_plural "biollante buds" @@ -34365,6 +35570,17 @@ msgid "" "constructing tougher walls and such." msgstr "一个长方形的螺纹钢棍,可以用来制作成房子的墙壁等等。" +#: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "small railroad track" +msgid_plural "small railroad tracks" +msgstr[0] "窄轨轨道" + +#. ~ Description for small railroad track +#: lang/json/GENERIC_from_json.py +msgid "A length of track, made from some planks and rails." +msgstr "一段窄轨铁路轨道,由一些木板和铁轨制成。" + #: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py msgid "concrete" msgid_plural "concrete" @@ -34422,18 +35638,6 @@ msgid "" "A large, heavy-duty spring. Expands with significant force when compressed." msgstr "巨大的弹簧。可以承受不少力,且弹性十足。" -#: lang/json/GENERIC_from_json.py -msgid "leaf spring" -msgid_plural "leaf springs" -msgstr[0] "板簧" - -#. ~ Description for leaf spring -#: lang/json/GENERIC_from_json.py -msgid "" -"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" -" an awful lot like a bow. You can barely bend it..." -msgstr "一个巨大而坚固的重型板簧,也许是来自某些汽车或者货车,看起来很像一张弓。你勉强能拉开它……" - #: lang/json/GENERIC_from_json.py msgid "lawnmower" msgid_plural "lawnmowers" @@ -35255,8 +36459,8 @@ msgstr[0] "科学SD存储卡" #: lang/json/GENERIC_from_json.py msgid "" "This memory card appears to be related to 'XEDRA', and is certainly " -"encrypted. Looks * Interesting *, though..." -msgstr "这张存储卡看起来和'XEDRA'有关,而且还被加密了。嗯,有点意思……" +"encrypted. Looks *Interesting*, though…" +msgstr "这张存储卡看起来和 XEDRA 有关,而且还被加密了。嗯,有点意思……" #: lang/json/GENERIC_from_json.py msgid "hand mirror" @@ -35304,16 +36508,6 @@ msgid "" " it." msgstr "一个从松树上找到的带刺坚果。当你摇动它的时候能听见干燥的种子在里面嘎吱作响。" -#: lang/json/GENERIC_from_json.py -msgid "poppy flower" -msgid_plural "poppy flowers" -msgstr[0] "罂粟花" - -#. ~ Description for poppy flower -#: lang/json/GENERIC_from_json.py -msgid "A poppy stalk with some petals." -msgstr "一朵有几片花瓣的罂粟花。" - #: lang/json/GENERIC_from_json.py msgid "poppy bud" msgid_plural "poppy buds" @@ -35326,211 +36520,6 @@ msgid "" "flower." msgstr "罂粟花的花蕾,包含了一些变异罂粟花特有的成分。" -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "bluebell" -msgid_plural "bluebells" -msgstr[0] "蓝铃花" - -#. ~ Description for bluebell -#: lang/json/GENERIC_from_json.py -msgid "A bluebell stalk with some petals." -msgstr "" -"还带有几片花瓣的蓝铃花。\n" -"\"蓝铃花————啊!\"" - -#: lang/json/GENERIC_from_json.py -msgid "bluebell bud" -msgid_plural "bluebell buds" -msgstr[0] "蓝铃花花蕾" - -#. ~ Description for bluebell bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A bluebell bud. Contains some substances commonly produced by a bluebell " -"flower." -msgstr "蓝铃花的花蕾,包含了一些蓝铃花特有的成分。" - -#. ~ Description for dahlia -#: lang/json/GENERIC_from_json.py -msgid "A dahlia stalk with some petals." -msgstr "还带有几片花瓣的大丽花。" - -#: lang/json/GENERIC_from_json.py -msgid "dahlia bud" -msgid_plural "dahlia buds" -msgstr[0] "大丽花花蕾" - -#. ~ Description for dahlia bud -#: lang/json/GENERIC_from_json.py -msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." -msgstr "大丽花的花蕾,包含了一些大丽花特有的成分。" - -#. ~ Description for rose -#: lang/json/GENERIC_from_json.py -msgid "A rose stalk with some petals." -msgstr "一朵有几片花瓣的玫瑰花。" - -#: lang/json/GENERIC_from_json.py -msgid "rose bud" -msgid_plural "rose buds" -msgstr[0] "玫瑰花蕾" - -#. ~ Description for rose bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A rose bud. Contains some substances commonly produced by a rose flower." -msgstr "玫瑰花的花蕾,包含了一些玫瑰花特有的成分。" - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea" -msgid_plural "hydrangeas" -msgstr[0] "绣球花" - -#. ~ Description for hydrangea -#: lang/json/GENERIC_from_json.py -msgid "A hydrangea stalk with some petals." -msgstr "一朵有几片花瓣的绣球花。" - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea bud" -msgid_plural "hydrangea buds" -msgstr[0] "绣球花蕾" - -#. ~ Description for hydrangea bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A hydrangea bud. Contains some substances commonly produced by a hydrangea " -"flower." -msgstr "绣球花的花蕾,包含了一些绣球花特有的成分。" - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "tulip" -msgid_plural "tulips" -msgstr[0] "郁金香花" - -#. ~ Description for tulip -#: lang/json/GENERIC_from_json.py -msgid "A tulip stalk with some petals." -msgstr "一朵有几片花瓣的郁金香花。" - -#: lang/json/GENERIC_from_json.py -msgid "tulip bud" -msgid_plural "tulip buds" -msgstr[0] "郁金香花蕾" - -#. ~ Description for tulip bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A tulip bud. Contains some substances commonly produced by a tulip flower." -msgstr "郁金香花的花蕾,包含了一些郁金香花特有的成分。" - -#: lang/json/GENERIC_from_json.py -msgid "spurge" -msgid_plural "spurges" -msgstr[0] "锦地草花" - -#. ~ Description for spurge -#: lang/json/GENERIC_from_json.py -msgid "A spurge stalk with some petals." -msgstr "一朵有几片花瓣的锦地草花。" - -#: lang/json/GENERIC_from_json.py -msgid "spurge bud" -msgid_plural "spurge buds" -msgstr[0] "锦地草花蕾" - -#. ~ Description for spurge bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A spurge bud. Contains some substances commonly produced by a spurge " -"flower." -msgstr "锦地草花的花蕾,包含了一些锦地草花特有的成分。" - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "black eyed susan" -msgid_plural "black eyed susans" -msgstr[0] "黑眼菊" - -#. ~ Description for black eyed susan -#: lang/json/GENERIC_from_json.py -msgid "A black eyed susan stalk with some petals." -msgstr "一朵有几片花瓣的黑眼菊。" - -#: lang/json/GENERIC_from_json.py -msgid "black eyed susan bud" -msgid_plural "black eyed susan buds" -msgstr[0] "黑眼菊花蕾" - -#. ~ Description for black eyed susan bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A black eyed susan bud. Contains some substances commonly produced by a " -"black eyed susan flower." -msgstr "黑眼菊的花蕾,包含了一些黑眼菊特有的成分。" - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lily" -msgid_plural "lilys" -msgstr[0] "百合花" - -#. ~ Description for lily -#: lang/json/GENERIC_from_json.py -msgid "A lily stalk with some petals." -msgstr "一朵有几片花瓣的百合花。" - -#: lang/json/GENERIC_from_json.py -msgid "lily bud" -msgid_plural "lily buds" -msgstr[0] "百合花花蕾" - -#. ~ Description for lily bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lily bud. Contains some substances commonly produced by a lily flower." -msgstr "百合花的花蕾,包含了一些百合花特有的成分。" - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lotus" -msgid_plural "lotuss" -msgstr[0] "荷花" - -#. ~ Description for lotus -#: lang/json/GENERIC_from_json.py -msgid "A lotus stalk with some petals." -msgstr "一朵有几片花瓣的荷花。" - -#: lang/json/GENERIC_from_json.py -msgid "lotus bud" -msgid_plural "lotus buds" -msgstr[0] "荷花花蕾" - -#. ~ Description for lotus bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lotus bud. Contains some substances commonly produced by a lotus flower." -msgstr "荷花的花蕾,包含了一些荷花特有的成分。" - -#: lang/json/GENERIC_from_json.py -msgid "lilac" -msgid_plural "lilacs" -msgstr[0] "丁香花" - -#. ~ Description for lilac -#: lang/json/GENERIC_from_json.py -msgid "A lilac stalk with some petals." -msgstr "一朵有几片花瓣的丁香花。" - -#: lang/json/GENERIC_from_json.py -msgid "lilac bud" -msgid_plural "lilac buds" -msgstr[0] "丁香花花蕾" - -#. ~ Description for lilac bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lilac bud. Contains some substances commonly produced by a lilac flower." -msgstr "丁香花的花蕾,包含了一些丁香花特有的成分。" - #. ~ Description for sunflower #: lang/json/GENERIC_from_json.py msgid "" @@ -35539,11 +36528,12 @@ msgid "" msgstr "一朵向日葵的花蕾,有黄色的花瓣和一些尚未被动物吃掉的种子。" #: lang/json/GENERIC_from_json.py -msgid "handful of chamomile flowers" -msgid_plural "handfuls of chamomile flowers" +msgid "chamomile flowers" +msgid_plural "chamomile flowers" msgstr[0] "洋甘菊" -#. ~ Description for handful of chamomile flowers +#. ~ Description for {'str': 'chamomile flowers', 'str_pl': 'chamomile +#. flowers'} #: lang/json/GENERIC_from_json.py msgid "" "White chamomile flowers, used as a herbal remedy since the ancient times." @@ -35798,12 +36788,14 @@ msgstr "" #. ~ Use action menu_text for cigar. #. ~ Use action menu_text for cigarette. #. ~ Use action menu_text for joint. +#. ~ Use action menu_text for spooky jack o'lantern. +#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for candle. #. ~ Use action menu_text for refillable lighter. #. ~ Use action menu_text for torch. -#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for ember carrier (lit). #. ~ Use action menu_text for Louisville Slaughterer. +#. ~ Use action menu_text for everburning torch. #: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py msgid "Extinguish" @@ -35850,7 +36842,7 @@ msgstr[0] "烟蒂" #: lang/json/GENERIC_from_json.py msgid "" "What was once a wonderfully addictive tube of dried tobacco leaf is now just a smelly piece of trash. What a tragedy!\n" -"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far..." +"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far…" msgstr "曾经令人着迷的烟叶卷现在只剩下了一小片有味道的垃圾。如果你烟瘾实在无法解决,可以尝试用多个这东西里边剩下的烟草,应该可以卷成一个新的香烟。" #. ~ Use action msg for joint. @@ -35892,10 +36884,10 @@ msgstr "一种致幻植物,源自中亚及印度次大陆。传统用途包括 #: lang/json/GENERIC_from_json.py msgid "raw tobacco" -msgid_plural "handfuls of raw tobacco" -msgstr[0] "生烟草束" +msgid_plural "raw tobacco" +msgstr[0] "生烟草" -#. ~ Description for raw tobacco +#. ~ Description for {'str': 'raw tobacco', 'str_pl': 'raw tobacco'} #: lang/json/GENERIC_from_json.py msgid "" "Various parts of tobacco plant, full of nicotine. They need to be dried to " @@ -35941,11 +36933,6 @@ msgid "" "panel, if you can find one." msgstr "这张身份卡曾经是某个高级工程师用的。它的背面描述了使用方法,如果你找的到一个控制面板的话,可以在上面使用获得一次访问授权。" -#: lang/json/GENERIC_from_json.py -msgid "neoprene sheet" -msgid_plural "neoprene sheets" -msgstr[0] "橡胶薄片" - #. ~ Description for neoprene sheet #: lang/json/GENERIC_from_json.py msgid "" @@ -36882,6 +37869,233 @@ msgid "note" msgid_plural "notes" msgstr[0] "纸条" +#: lang/json/GENERIC_from_json.py +msgid "leaf spring" +msgid_plural "leaf springs" +msgstr[0] "板簧" + +#. ~ Description for leaf spring +#: lang/json/GENERIC_from_json.py +msgid "" +"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" +" an awful lot like a bow. You can barely bend it…" +msgstr "一个巨大而坚固的重型板簧,也许是来自某些汽车或者货车,看起来很像一张弓。你几乎不能掰动它……" + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea" +msgid_plural "hydrangeas" +msgstr[0] "绣球花" + +#. ~ Description for hydrangea +#: lang/json/GENERIC_from_json.py +msgid "A hydrangea stalk with some petals." +msgstr "一朵有几片花瓣的绣球花。" + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea bud" +msgid_plural "hydrangea buds" +msgstr[0] "绣球花蕾" + +#. ~ Description for hydrangea bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A hydrangea bud. Contains some substances commonly produced by a hydrangea " +"flower." +msgstr "绣球花的花蕾,包含了一些绣球花特有的成分。" + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "tulip" +msgid_plural "tulips" +msgstr[0] "郁金香花" + +#. ~ Description for tulip +#: lang/json/GENERIC_from_json.py +msgid "A tulip stalk with some petals." +msgstr "一朵有几片花瓣的郁金香花。" + +#: lang/json/GENERIC_from_json.py +msgid "tulip bud" +msgid_plural "tulip buds" +msgstr[0] "郁金香花蕾" + +#. ~ Description for tulip bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A tulip bud. Contains some substances commonly produced by a tulip flower." +msgstr "郁金香花的花蕾,包含了一些郁金香花特有的成分。" + +#: lang/json/GENERIC_from_json.py +msgid "spurge" +msgid_plural "spurges" +msgstr[0] "锦地草花" + +#. ~ Description for spurge +#: lang/json/GENERIC_from_json.py +msgid "A spurge stalk with some petals." +msgstr "一朵有几片花瓣的锦地草花。" + +#: lang/json/GENERIC_from_json.py +msgid "spurge bud" +msgid_plural "spurge buds" +msgstr[0] "锦地草花蕾" + +#. ~ Description for spurge bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A spurge bud. Contains some substances commonly produced by a spurge " +"flower." +msgstr "锦地草花的花蕾,包含了一些锦地草花特有的成分。" + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "black eyed susan" +msgid_plural "black eyed susans" +msgstr[0] "黑眼菊" + +#. ~ Description for black eyed susan +#: lang/json/GENERIC_from_json.py +msgid "A black eyed susan stalk with some petals." +msgstr "一朵有几片花瓣的黑眼菊。" + +#: lang/json/GENERIC_from_json.py +msgid "black eyed susan bud" +msgid_plural "black eyed susan buds" +msgstr[0] "黑眼菊花蕾" + +#. ~ Description for black eyed susan bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A black eyed susan bud. Contains some substances commonly produced by a " +"black eyed susan flower." +msgstr "黑眼菊的花蕾,包含了一些黑眼菊特有的成分。" + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lily" +msgid_plural "lilys" +msgstr[0] "百合花" + +#. ~ Description for lily +#: lang/json/GENERIC_from_json.py +msgid "A lily stalk with some petals." +msgstr "一朵有几片花瓣的百合花。" + +#: lang/json/GENERIC_from_json.py +msgid "lily bud" +msgid_plural "lily buds" +msgstr[0] "百合花花蕾" + +#. ~ Description for lily bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lily bud. Contains some substances commonly produced by a lily flower." +msgstr "百合花的花蕾,包含了一些百合花特有的成分。" + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lotus" +msgid_plural "lotuss" +msgstr[0] "荷花" + +#. ~ Description for lotus +#: lang/json/GENERIC_from_json.py +msgid "A lotus stalk with some petals." +msgstr "一朵有几片花瓣的荷花。" + +#: lang/json/GENERIC_from_json.py +msgid "lotus bud" +msgid_plural "lotus buds" +msgstr[0] "荷花花蕾" + +#. ~ Description for lotus bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lotus bud. Contains some substances commonly produced by a lotus flower." +msgstr "荷花的花蕾,包含了一些荷花特有的成分。" + +#: lang/json/GENERIC_from_json.py +msgid "lilac" +msgid_plural "lilacs" +msgstr[0] "丁香花" + +#. ~ Description for lilac +#: lang/json/GENERIC_from_json.py +msgid "A lilac stalk with some petals." +msgstr "一朵有几片花瓣的丁香花。" + +#: lang/json/GENERIC_from_json.py +msgid "lilac bud" +msgid_plural "lilac buds" +msgstr[0] "丁香花花蕾" + +#. ~ Description for lilac bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lilac bud. Contains some substances commonly produced by a lilac flower." +msgstr "丁香花的花蕾,包含了一些丁香花特有的成分。" + +#: lang/json/GENERIC_from_json.py +msgid "rose bud" +msgid_plural "rose buds" +msgstr[0] "玫瑰花蕾" + +#. ~ Description for rose bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A rose bud. Contains some substances commonly produced by a rose flower." +msgstr "玫瑰花的花蕾,包含了一些玫瑰花特有的成分。" + +#: lang/json/GENERIC_from_json.py +msgid "dahlia bud" +msgid_plural "dahlia buds" +msgstr[0] "大丽花花蕾" + +#. ~ Description for dahlia bud +#: lang/json/GENERIC_from_json.py +msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." +msgstr "大丽花的花蕾,包含了一些大丽花特有的成分。" + +#. ~ Description for rose +#: lang/json/GENERIC_from_json.py +msgid "A rose stalk with some petals." +msgstr "一朵有几片花瓣的玫瑰花。" + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "bluebell" +msgid_plural "bluebells" +msgstr[0] "蓝铃花" + +#. ~ Description for bluebell +#: lang/json/GENERIC_from_json.py +msgid "A bluebell stalk with some petals." +msgstr "" +"还带有几片花瓣的蓝铃花。\n" +"\"蓝铃花————啊!\"" + +#. ~ Description for dahlia +#: lang/json/GENERIC_from_json.py +msgid "A dahlia stalk with some petals." +msgstr "还带有几片花瓣的大丽花。" + +#: lang/json/GENERIC_from_json.py +msgid "poppy flower" +msgid_plural "poppy flowers" +msgstr[0] "罂粟花" + +#. ~ Description for poppy flower +#: lang/json/GENERIC_from_json.py +msgid "A poppy stalk with some petals." +msgstr "一朵有几片花瓣的罂粟花。" + +#: lang/json/GENERIC_from_json.py +msgid "bluebell bud" +msgid_plural "bluebell buds" +msgstr[0] "蓝铃花花蕾" + +#. ~ Description for bluebell bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A bluebell bud. Contains some substances commonly produced by a bluebell " +"flower." +msgstr "蓝铃花的花蕾,包含了一些蓝铃花特有的成分。" + #: lang/json/GENERIC_from_json.py msgid "module template" msgid_plural "module templates" @@ -37269,7 +38483,7 @@ msgstr[0] "原子咖啡机" #: lang/json/GENERIC_from_json.py msgid "" "This is a Curie-G coffeemaker, by CuppaTech. It famously uses a radioactive" -" generator to heat water for coffee. Normally the water is heated using " +" generator to heat water for coffee. Normally the water is heated using " "energy stored in a capacitor, and makes ordinary coffee. However, as a " "special feature, water from the RTG containment area can be used, giving the" " coffee a very special kick. The Curie-G is illegal in most countries." @@ -37284,7 +38498,9 @@ msgstr[0] "原子提灯" #. ~ Use action menu_text for atomic lamp. #. ~ Use action menu_text for atomic reading light. #. ~ Use action menu_text for magical reading light. -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp. +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Close cover" msgstr "关上灯罩" @@ -37312,7 +38528,9 @@ msgstr[0] "原子提灯(关)" #. ~ Use action menu_text for atomic lamp (covered). #. ~ Use action menu_text for atomic reading light (covered). #. ~ Use action menu_text for magical reading light (covered). -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp (covered). +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Open cover" msgstr "打开灯罩" @@ -37582,9 +38800,9 @@ msgstr[0] "抓钩" #: lang/json/GENERIC_from_json.py msgid "" "A folding grappling hook attached to a stout 30-foot long piece of " -"lightweight cord. Useful for keeping yourself safe from falls. Can be used " -"in place of a long rope for butchering, in a pinch." -msgstr "可折叠的精钢抓钩,系在一根30英尺长的尼龙绳上.有效保护你从高处落下时的安全。足以吊起大型尸体以便屠宰。" +"lightweight cord. Useful for keeping yourself safe from falls. Can be used" +" in place of a long rope for butchering, in a pinch." +msgstr "可折叠的精钢抓钩,系在一根30英尺长的尼龙绳上。有效保护你从高处落下时的安全。足以吊起大型尸体以便屠宰。" #: lang/json/GENERIC_from_json.py msgid "sealed jar of pickles" @@ -38354,12 +39572,11 @@ msgstr[0] "咏春" #. ~ Description for Beautiful Springtime #: lang/json/GENERIC_from_json.py -msgid "" -"A complete guide to Wing Chun Kung-fu. Includes a section on butterfly " -"swords and the use of long poles at the end." -msgstr "一本咏春拳的秘籍。书的最后一段还记载了使用蝴蝶剑和长杖的技巧。" +msgid "A complete guide to Wing Chun Kung-fu." +msgstr "一本完整的咏春秘籍。" #: lang/json/GENERIC_from_json.py lang/json/martial_art_from_json.py +#: lang/json/martial_art_from_json.py msgid "Fior Di Battaglia" msgid_plural "Fior Di Battaglia" msgstr[0] "战斗之花" @@ -38368,8 +39585,8 @@ msgstr[0] "战斗之花" #: lang/json/GENERIC_from_json.py msgid "" "A completely translated medieval guide teaching various techniques with " -"polearms, there is a chapter about the many variations of common polearms..." -" there are even pictures!" +"polearms, there is a chapter about the many variations of common polearms… " +"there are even pictures!" msgstr "一本完全翻译的中世纪长杆武器作战指南,其中一章详解了常见长杆武器的技巧差异,甚至附有图片。" #: lang/json/GENERIC_from_json.py @@ -39338,6 +40555,19 @@ msgstr[0] "欠条" msgid "This is a slip of paper signed by the issuer." msgstr "这是某个人签的欠条。" +#: lang/json/GENERIC_from_json.py +msgid "icon" +msgid_plural "icons" +msgstr[0] "圣像" + +#. ~ Description for icon +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a small picture, about the same size as an ID card, symbolizing a " +"religious figure. On the back, there is a text that faintly reads 'New " +"England Church Community'." +msgstr "一张画着图的小卡片,大小和一张ID卡差不多,上面的图案象征着某个宗教人物。在背面,隐约地写着\"新英格兰教会社区\"的文字。" + #: lang/json/GENERIC_from_json.py msgid "generic silverware" msgid_plural "generic silverwares" @@ -39662,9 +40892,9 @@ msgstr[0] "叉子" #. ~ Description for fork #: lang/json/GENERIC_from_json.py msgid "" -"A fork, if you stab something with it you eat it right away. Wait... " +"A fork, if you stab something with it you eat it right away. Wait… " "nevermind." -msgstr "一把叉子,你可以用它叉起你想吃的任何食物放进你的嘴里,但目前为止还是更直接的方式去吃要好一些。" +msgstr "一把叉子,叉了东西之后就可以送进嘴里。等等……现在这么说好像不太对。" #: lang/json/GENERIC_from_json.py msgid "plastic fork" @@ -40752,17 +41982,17 @@ msgstr[0] "Mjölnir,雷神之锤" #: lang/json/GENERIC_from_json.py msgid "" "A large hammer, forged from the heart of a dying star. It bears the inscription:\n" -" \n" +"\n" "Whosoever holds this hammer,\n" "If he be worthy,\n" -"Shall possess the power to...\n" +"Shall possess the power to…\n" "CRUSH!'" msgstr "" -"一把名为妙尔尼尔(Mjölnir)的神锤,用垂死恒星(白矮星)的星核打造。铭文上写着:\n" +"一把名为妙尔尼尔的神锤,用白矮星的星核打造。上面有着一道铭文:\n" " \n" "执此锤者,\n" "如其适格,\n" -"当承神威… \n" +"当承神威以……\n" "摧毁!!" #: lang/json/GENERIC_from_json.py @@ -41178,9 +42408,10 @@ msgstr "这是一把细长的类似于长剑的剑,是西洋刺剑的前身。 #: lang/json/GENERIC_from_json.py msgid "" "This is a thin thrusting sword, a sort of predecessor to the rapier. It " -"requires a larger baldric or scabbard, compared to smaller swords. It seems " -"a bit too bendy." -msgstr "这是一把细长的类似于长剑的剑,是西洋刺剑的前身。它看起来很容易折断。相较于其他较小的剑,它需要刀鞘(背)或刀鞘(肩)来收起。" +"requires a larger baldric or scabbard, compared to smaller swords. It seems" +" a bit too bendy." +msgstr "" +"这是一把细长的类似于长剑的剑,是西洋刺剑的前身。它看起来很容易折断。相较于其他较小的剑,它需要刀鞘(背)或刀鞘(肩)来收起。这把看起来似乎很容易弯折。" #. ~ Description for estoc #: lang/json/GENERIC_from_json.py @@ -41269,17 +42500,17 @@ msgid "" msgstr "击剑运动用的武器,很高级。但是在大灾变后,这把剑身软又平尖的剑没什么用。" #: lang/json/GENERIC_from_json.py -msgid "fencing epee" -msgid_plural "fencing epees" +msgid "fencing épée" +msgid_plural "fencing épées" msgstr[0] "击剑重剑" -#. ~ Description for fencing epee +#. ~ Description for fencing épée #: lang/json/GENERIC_from_json.py msgid "" -"A weapon used for fencing, the most noble of all sports. The epee is the " +"A weapon used for fencing, the most noble of all sports. The épée is the " "heaviest and stiffest of the fencing weapons, and therefore perhaps the most" " useful." -msgstr "击剑运动用的武器,很高级。这把硬身的重剑可能是击剑运动的各种比赛用剑中打丧尸最有力的了。" +msgstr "击剑运动用的武器,很高级。这种剑是各种比赛用剑中最为沉重和坚固的一种,因此在实战中可能最为有用。" #: lang/json/GENERIC_from_json.py msgid "fencing saber" @@ -41290,8 +42521,53 @@ msgstr[0] "击剑佩剑" #: lang/json/GENERIC_from_json.py msgid "" "A weapon used for fencing, the most noble of all sports. The fencing saber " -"is marginally shorter than the foil and epee, but no less effective." -msgstr "击剑运动用的武器,很高级。这把有开锋的佩剑可能比重剑和花剑要短,但是也有一定的威力。" +"is marginally shorter than the foil and épée, but no less effective." +msgstr "击剑运动用的武器,很高级。这把有开锋的佩剑比重剑和花剑要稍微短一些,但是威力不减。" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened foil" +msgid_plural "sharpened foils" +msgstr[0] "磨尖花剑" + +#. ~ Description for sharpened foil +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing foil has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now somewhat more lethal, yet still familiar to" +" the practiced fencer." +msgstr "" +"这把曾经人畜无害的花剑的压力感应器已经被移除,末端被粗糙地磨尖。虽然它还是没有剑刃,但磨尖的末端已经使它带有一定程度的致命性,对于熟悉击剑的人来说还是比较有用的。" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened épée" +msgid_plural "sharpened épées" +msgstr[0] "磨尖重剑" + +#. ~ Description for sharpened épée +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing épée has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now considerably more lethal, yet still " +"familiar to the practiced fencer." +msgstr "" +"这把曾经人畜无害的重剑的压力感应器已经被移除,末端被粗糙地磨尖。虽然它还是没有剑刃,但磨尖的末端已经使它带有相当程度的致命性,对于熟悉击剑的人来说还是比较有用的。" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened saber" +msgid_plural "sharpened sabers" +msgstr[0] "磨尖佩剑" + +#. ~ Description for sharpened saber +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing saber has had its rounded tip snapped off " +"and has been crudely sharpened to a point. Though it still lacks a cutting " +"edge, it is now considerably more lethal, yet still familiar to the " +"practiced fencer." +msgstr "" +"这把曾经人畜无害的佩剑的钝尖已经被折断,末端被粗糙地磨尖。虽然它还是没有剑刃,但磨尖的剑尖已经使它带有相当程度的致命性,对于熟悉击剑的人来说还是比较有用的。" #: lang/json/GENERIC_from_json.py msgid "hollow cane" @@ -41494,6 +42770,16 @@ msgid "" "door." msgstr "一个内嵌小透镜的金属圆筒,安装在门上,你可以用它来观察门外的景象。" +#: lang/json/GENERIC_from_json.py +msgid "mesh screen" +msgid_plural "mesh screens" +msgstr[0] "防虫网" + +#. ~ Description for mesh screen +#: lang/json/GENERIC_from_json.py +msgid "A roll of fine mesh screen for bug barriers on porches." +msgstr "一卷细密的防虫网,可以装在门廊上。" + #: lang/json/GENERIC_from_json.py msgid "pipe" msgid_plural "pipes" @@ -41539,7 +42825,7 @@ msgstr[0] "铝锭" msgid "" "A small aluminum ingot, standardized for further processing. Light but " "durable, this could be cast into various shapes for construction or ground " -"down to a powder, for more... high-profile applications." +"down to a powder, for more… high-profile applications." msgstr "一个小型铝锭,已经按后续要求标准化。轻巧而结实,它可以被用在各种建筑中或者研成粉末,用于更加……高调的行动中。" #: lang/json/GENERIC_from_json.py @@ -41563,11 +42849,11 @@ msgid "This is a single, or twin, sized mattress." msgstr "这是一张单人床的床垫。" #: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "down_mattress" -msgid_plural "down_mattresses" +msgid "down mattress" +msgid_plural "down mattresses" msgstr[0] "羽绒床垫" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/GENERIC_from_json.py msgid "This is a single, or twin, sized down filled mattress." msgstr "这是一张单人床的羽绒床垫。" @@ -41844,6 +43130,43 @@ msgid "" " can also serve as an improvised stabbing weapon, but will break quickly." msgstr "一个带着木头手柄的钢锥,一般用于制作皮革物品。它也能够当作一把简易的刺击武器,但会很快损坏。" +#: lang/json/GENERIC_from_json.py +msgid "frame loom" +msgid_plural "frame looms" +msgstr[0] "织布架" + +#. ~ Description for frame loom +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a rather bulky and primitive wooden frame which can be used to weave" +" cloth sheets. It is very slow, though." +msgstr "一个巨大且原始的织布用的木架,织布效率极低。" + +#: lang/json/GENERIC_from_json.py +msgid "wooden shed stick" +msgid_plural "wooden shed sticks" +msgstr[0] "木制分纱杆" + +#. ~ Description for wooden shed stick +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a short thin flat wooden stick, used as a tool while weaving cloth " +"with a frame loom." +msgstr "这是一根细短的扁平木棍,和织布架一起用于织布。" + +#: lang/json/GENERIC_from_json.py +msgid "tailoring pattern set" +msgid_plural "tailoring pattern sets" +msgstr[0] "缝纫用模板" + +#. ~ Description for tailoring pattern set +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a large set of tailoring patterns made from paper. They're useful " +"for making any kind of cloth or leather items from scratch, but are " +"necessary for more advanced projects." +msgstr "这是一大套纸制的缝纫用模板,可以用来从头制作布料或者皮革衣物,在更复杂的裁缝工作中更是必不可少。" + #: lang/json/GENERIC_from_json.py msgid "vehicle alternator" msgid_plural "vehicle alternators" @@ -42146,6 +43469,19 @@ msgid "" "have some sort of maintenance mode." msgstr "一套伺服系统、微控制器和其它设备连接在一起可用于驾驶无人载具。里面的AI已经罢工了,但它应该还有一些维护功能。" +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "turret control unit" +msgid_plural "turret control units" +msgstr[0] "炮塔控制模块" + +#. ~ Description for turret control unit +#: lang/json/GENERIC_from_json.py +msgid "" +"A set of motor, camera, and various electronic modules banded together to " +"allow for tracking targets, friend-or-foe identification, and firing the " +"connected turret in full automatic mode." +msgstr "一套由电机、摄像头及各种电子模块组成的炮塔控制模块,能够追踪目标,识别敌我,并以全自动模式发射其连接的炮塔。" + #: lang/json/GENERIC_from_json.py msgid "massive engine block" msgid_plural "massive engine blocks" @@ -43087,6 +44423,18 @@ msgstr[0] "洗衣机" msgid "A very small washing machine designed for use in vehicles." msgstr "一台非常小型的车载洗衣机。" +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "programmable autopilot" +msgid_plural "programmable autopilots" +msgstr[0] "可编程自动驾驶仪" + +#. ~ Description for programmable autopilot +#: lang/json/GENERIC_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of a vehicle to allow" +" it to follow simple paths." +msgstr "一套连接到载具的方向控制系统和引擎的计算机系统,能够控制载具进行简单的驾驶。" + #: lang/json/GENERIC_from_json.py msgid "mountable autoclave" msgid_plural "mountable autoclaves" @@ -43150,7 +44498,7 @@ msgstr[0] "中型轮毂" #. ~ Description for medium wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." +"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." msgstr "一种可以用螺栓把轮子固定在汽车上的金属组件。适合汽车轮子。" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py @@ -43161,8 +44509,8 @@ msgstr[0] "重型轮毂" #. ~ Description for heavy wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A heavy metal assembly that allows bolting a wheel on a car. Fit for a large" -" car wheel." +"A heavy metal assembly that allows bolting a wheel on a car. Fit for a " +"large car wheel." msgstr "一种可以用螺栓把轮子固定在汽车上的重型金属部件。适合大型车轮。" #: lang/json/GENERIC_from_json.py @@ -44226,6 +45574,26 @@ msgid "" "art." msgstr "一位战斗改造人特工的传记,详述了他的哲学和武术。" +#: lang/json/GENERIC_from_json.py +msgid "The Iron Whip" +msgid_plural "The Iron Whips" +msgstr[0] "铁鞭" + +#. ~ Use action msg for The Iron Whip. +#: lang/json/GENERIC_from_json.py +msgid "" +"You loop the whip in your hand and it coils back into a belt form in an " +"instant." +msgstr "你把鞭子在手中缠绕,使其在瞬间卷曲回皮带形状。" + +#. ~ Description for The Iron Whip +#: lang/json/GENERIC_from_json.py +msgid "" +"A long braided flexible steel bullwhip that narrows into a sharp blade at " +"the end. Easily capable of slicing and dicing anything that comes at you. " +"It transforms back into a belt." +msgstr "一条编织而成、柔软灵活的钢铁长鞭,末端变成锋利的刀刃。能够轻易切割任何向你袭来的物品。使用它能够将其变回皮带。" + #: lang/json/GENERIC_from_json.py msgid "cudgel +1" msgid_plural "cudgel +1s" @@ -44646,6 +46014,344 @@ msgid "dao +2" msgid_plural "dao +2s" msgstr[0] "中式刀 +2" +#: lang/json/GENERIC_from_json.py +msgid "Biomancer spear" +msgid_plural "Biomancer spears" +msgstr[0] "生化术士之矛" + +#. ~ Description for Biomancer spear +#: lang/json/GENERIC_from_json.py +msgid "" +"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer " +"rune embedded at the base of the head." +msgstr "一根造型怪异的骨制矛头,固定在一根短粗的木棍之上。在矛头的底部镶有一个生化术士符文。" + +#: lang/json/GENERIC_from_json.py +msgid "Technomancer toolbar" +msgid_plural "Technomancer toolbars" +msgstr[0] "科技法师之杖" + +#. ~ Description for Technomancer toolbar +#: lang/json/GENERIC_from_json.py +msgid "" +"This staff incorporates a sturdy cresent wrench on top of a prybar and a " +"hammer on the other in a convienent package. There is a Technomancer rune " +"embedded in the hammerhead." +msgstr "这根法杖由一根撬棍在两端加上月牙形扳手和锤子构成,方便携带。锤头上镶嵌着一个科技法师符文。" + +#: lang/json/GENERIC_from_json.py +msgid "Magus staff" +msgid_plural "Magus staves" +msgstr[0] "魔术师之杖" + +#. ~ Description for {'str': 'Magus staff', 'str_pl': 'Magus staves'} +#: lang/json/GENERIC_from_json.py +msgid "" +"A quarterstaff with runes carved into it and two glass jars, heat-tempered " +"and infused with mana for durability, to act as mana receptacles. There are" +" two Magi runes embedded at the tips." +msgstr "这根长棍上镶嵌了符文,并附有两只钢化玻璃罐,注入了魔力以提高耐久度,用于吸收魔力。棍尖上镶嵌有两个魔术师符文。" + +#: lang/json/GENERIC_from_json.py +msgid "Kelvinist flamberge" +msgid_plural "Kelvinist flamberges" +msgstr[0] "炽霜法师焰形剑" + +#. ~ Description for Kelvinist flamberge +#: lang/json/GENERIC_from_json.py +msgid "" +"A sword with an undulating blade, reminiscent of a flame. There is a " +"Kelvinist rune embedded in the pommel." +msgstr "带有形似火焰的起伏刀刃的剑。剑柄头上镶嵌着一个炽霜法师符文。" + +#: lang/json/GENERIC_from_json.py +msgid "Stormshaper axe" +msgid_plural "Stormshaper axes" +msgstr[0] "风暴塑造者之斧" + +#. ~ Description for Stormshaper axe +#: lang/json/GENERIC_from_json.py +msgid "" +"A forged copper axe with silver trimmings and a wooden handle. There is a " +"Stormshaper rune embedded in the eye." +msgstr "一把镶银边的铸造铜斧,装在一根木柄上面。斧柄洞里镶嵌着一个风暴塑造者符文。" + +#: lang/json/GENERIC_from_json.py +msgid "Animist athame" +msgid_plural "Animist athames" +msgstr[0] "泛灵师献祭短刀" + +#. ~ Description for Animist athame +#: lang/json/GENERIC_from_json.py +msgid "" +"A steel ritual knife used by Animists to draw blood for summoning. Their " +"school rune is embedded in the crossguard." +msgstr "一把仪式用钢刀,泛灵师用它来放血进行召唤。剑格上面镶嵌着一个泛灵师符文。" + +#: lang/json/GENERIC_from_json.py +msgid "springstaff(baton)" +msgid_plural "springstaves(baton)" +msgstr[0] "弹簧长杖(甩棍)" + +#. ~ Use action menu_text for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "Extend to staff" +msgstr "展开" + +#. ~ Use action msg for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "You snap open your springstaff into staff mode." +msgstr "你将弹簧长杖展开成长杖模式。" + +#. ~ Description for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips retracted while in baton configuration. Activate to extend." +msgstr "这种多用途武器使用科技魔法附魔增强过的弹簧制成,以保持长杖两端在甩棍模式时收回。激活以展开。" + +#: lang/json/GENERIC_from_json.py +msgid "springstaff(staff)" +msgid_plural "springstaves(staff)" +msgstr[0] "弹簧长杖(长杖)" + +#. ~ Use action menu_text for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "Retract to baton" +msgstr "折叠" + +#. ~ Use action msg for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "You collapse your springstaff into baton mode." +msgstr "你将弹簧长杖折叠成甩棍模式。" + +#. ~ Description for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips from retracting while in staff configuration. Activate to extend." +msgstr "这种多用途武器使用科技魔法附魔增强过的弹簧制成,以保持长杖两端在长杖模式时展开。激活以折叠。" + +#: lang/json/GENERIC_from_json.py +msgid "magic token" +msgid_plural "magic tokens" +msgstr[0] "魔法硬币" + +#: lang/json/GENERIC_from_json.py +msgid "longsword token" +msgid_plural "longsword tokens" +msgstr[0] "长剑硬币" + +#. ~ Use action msg for longsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine longsword!" +msgstr "你念出硬币上篆刻的咒文,它迅速增大,化作了一把闪亮的崭新长剑!" + +#. ~ Description for longsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a longsword." +msgstr "一大枚银币。当念出硬币背面的文字时,它会变成正面图案内的物品,比如说这枚上面的长剑。" + +#: lang/json/GENERIC_from_json.py +msgid "arming sword token" +msgid_plural "arming sword tokens" +msgstr[0] "骑士剑硬币" + +#. ~ Use action msg for arming sword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine arming sword!" +msgstr "你念出硬币上篆刻的咒文,它迅速增大,化作了一把闪亮的崭新骑士剑!" + +#. ~ Description for arming sword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case an arming sword." +msgstr "一大枚银币。当念出硬币背面的文字时,它会变成正面图案内的物品,比如说这枚上面的骑士剑。" + +#: lang/json/GENERIC_from_json.py +msgid "broadsword token" +msgid_plural "broadsword tokens" +msgstr[0] "阔剑硬币" + +#. ~ Use action msg for broadsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine broadsword!" +msgstr "你念出硬币上篆刻的咒文,它迅速增大,化作了一把闪亮的崭新阔剑!" + +#. ~ Description for broadsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a broadsword." +msgstr "一大枚银币。当念出硬币背面的文字时,它会变成正面图案内的物品,比如说这枚上面的阔剑。" + +#: lang/json/GENERIC_from_json.py +msgid "battleaxe token" +msgid_plural "battleaxe tokens" +msgstr[0] "战斧硬币" + +#. ~ Use action msg for battleaxe token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine battle axe!" +msgstr "你念出硬币上篆刻的咒文,它迅速增大,化作了一把闪亮的崭新战斧!" + +#. ~ Description for battleaxe token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a battle axe." +msgstr "一大枚银币。当念出硬币背面的文字时,它会变成正面图案内的物品,比如说这枚上面的战斧。" + +#: lang/json/GENERIC_from_json.py +msgid "pike token" +msgid_plural "pike tokens" +msgstr[0] "重矛硬币" + +#. ~ Use action msg for pike token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine pike!" +msgstr "你念出硬币上篆刻的咒文,它迅速增大,化作了一把闪亮的崭新重矛!" + +#. ~ Description for pike token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a pike." +msgstr "一大枚银币。当念出硬币背面的文字时,它会变成正面图案内的物品,比如说这枚上面的重矛。" + +#: lang/json/GENERIC_from_json.py +msgid "mace token" +msgid_plural "mace tokens" +msgstr[0] "钉头槌硬币" + +#. ~ Use action msg for mace token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine mace!" +msgstr "你念出硬币上篆刻的咒文,它迅速增大,化作了一把闪亮的崭新钉头槌!" + +#. ~ Description for mace token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a mace." +msgstr "一大枚银币。当念出硬币背面的文字时,它会变成正面图案内的物品,比如说这枚上面的钉头槌。" + +#: lang/json/GENERIC_from_json.py +msgid "quarterstaff token" +msgid_plural "quarterstaff tokens" +msgstr[0] "武术长棍硬币" + +#. ~ Use action msg for quarterstaff token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a pristine quarterstaff!" +msgstr "你念出硬币上篆刻的咒文,它迅速增大,化作了一把崭新的武术长棍!" + +#. ~ Description for quarterstaff token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a quarterstaff." +msgstr "一大枚银币。当念出硬币背面的文字时,它会变成正面图案内的物品,比如说这枚上面的武术长棍。" + +#: lang/json/GENERIC_from_json.py +msgid "hammer token" +msgid_plural "hammer tokens" +msgstr[0] "锤子硬币" + +#. ~ Use action msg for hammer token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine hammer!" +msgstr "你念出硬币上篆刻的咒文,它迅速增大,化作了一把闪亮的崭新锤子!" + +#. ~ Description for hammer token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a hammer." +msgstr "一大枚银币。当念出硬币背面的文字时,它会变成正面图案内的物品,比如说这枚上面的锤子。" + +#: lang/json/GENERIC_from_json.py +msgid "screwdriver set token" +msgid_plural "screwdriver set tokens" +msgstr[0] "螺丝刀组硬币" + +#. ~ Use action msg for screwdriver set token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine screwdriver set!" +msgstr "你念出硬币上篆刻的咒文,它迅速增大,化作了一套闪亮的崭新螺丝刀组!" + +#. ~ Description for screwdriver set token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a screwdriver." +msgstr "一大枚银币。当念出硬币背面的文字时,它会变成正面图案内的物品,比如说这枚上面的螺丝刀组。" + +#: lang/json/GENERIC_from_json.py +msgid "toolbox token" +msgid_plural "toolbox tokens" +msgstr[0] "工具箱硬币" + +#. ~ Use action msg for toolbox token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine toolbox!" +msgstr "你念出硬币上篆刻的咒文,它迅速增大,化作了一个闪亮的崭新工具箱!" + +#. ~ Description for toolbox token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a toolbox." +msgstr "一大枚银币。当念出硬币背面的文字时,它会变成正面图案内的物品,比如说这枚上面的工具箱。" + +#: lang/json/GENERIC_from_json.py +msgid "crowbar token" +msgid_plural "crowbar tokens" +msgstr[0] "撬棍硬币" + +#. ~ Use action msg for crowbar token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine crowbar!" +msgstr "你念出硬币上篆刻的咒文,它迅速增大,化作了一把闪亮的崭新撬棍!" + +#. ~ Description for crowbar token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a crowbar." +msgstr "一大枚银币。当念出硬币背面的文字时,它会变成正面图案内的物品,比如说这枚上面的撬棍。" + #: lang/json/GENERIC_from_json.py msgid "cestus +1" msgid_plural "cestus +1s" @@ -44692,6 +46398,20 @@ msgid "" "to land astoundingly powerful blows." msgstr "一对闪闪发光的金属护手,上面覆盖着魔法符文,使你可以使出威力无穷的拳击。" +#: lang/json/GENERIC_from_json.py +msgid "Earthshaper cestus" +msgid_plural "Earthshaper cesti" +msgstr[0] "塑地者拳套" + +#. ~ Description for {'str': 'Earthshaper cestus', 'str_pl': 'Earthshaper +#. cesti'} +#: lang/json/GENERIC_from_json.py +msgid "" +"A stone battle glove with carved runes encasing the hand, protecting it " +"while increasing striking power. There is an Earthshaper rune embedded in " +"the palm." +msgstr "一个石制手套,上面围绕手的四周刻着符文,保护手的同时增强打击力量。手套的掌心镶嵌着塑地者符文。" + #: lang/json/GENERIC_from_json.py msgid "stone shell" msgid_plural "stone shells" @@ -44768,6 +46488,18 @@ msgid "" "prized for their beauty and power." msgstr "当一只鲨蜥兽钻入地球时,它的鳃会收集微量的贵金属和宝石,这些金属和宝石慢慢聚集成有光泽的珍宝,这些宝石因其美丽和力量而倍受珍视。" +#: lang/json/GENERIC_from_json.py +msgid "stirge proboscis" +msgid_plural "stirge proboscises" +msgstr[0] "蚊蝠喙" + +#. ~ Description for stirge proboscis +#: lang/json/GENERIC_from_json.py +msgid "" +"A long sucking apparatus harvested from stirge corpse. Makes a poor melee " +"weapon." +msgstr "一根从蚊蝠尸体上收获所得的长喙,可以勉强当成武器使用。" + #: lang/json/GENERIC_from_json.py msgid "black dragon scale" msgid_plural "black dragon scales" @@ -44792,93 +46524,6 @@ msgid "" "scales could make a suit of armor as hard as steel and half as heavy." msgstr "黑龙的优质龙皮,坚固、耐酸,具有很多鳞片,用它制造的盔甲如钢铁般坚固,重量却只有钢的一半。" -#: lang/json/GENERIC_from_json.py -msgid "Biomancer spear" -msgid_plural "Biomancer spears" -msgstr[0] "生化术士之矛" - -#. ~ Description for Biomancer spear -#: lang/json/GENERIC_from_json.py -msgid "" -"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer rune" -" embedded at the base of the head." -msgstr "一根造型怪异的骨制矛头,固定在一根短粗的木棍之上。在矛头的底部镶有一个生化术士符文。" - -#: lang/json/GENERIC_from_json.py -msgid "Technomancer toolbar" -msgid_plural "Technomancer toolbars" -msgstr[0] "科技法师之杖" - -#. ~ Description for Technomancer toolbar -#: lang/json/GENERIC_from_json.py -msgid "" -"This staff incorporates a sturdy cresent wrench on top of a prybar and a " -"hammer on the other in a convienent package. There is a Technomancer rune " -"embedded in the hammerhead." -msgstr "这根法杖由一根撬棍在两端加上月牙形扳手和锤子构成,方便携带。锤头上镶嵌着一个科技法师符文。" - -#: lang/json/GENERIC_from_json.py -msgid "Magus staff" -msgid_plural "Magus staffs" -msgstr[0] "魔术师之杖" - -#. ~ Description for Magus staff -#: lang/json/GENERIC_from_json.py -msgid "" -"A quarterstaff with runes carved into it and two glass jars, heat-tempered " -"and infused with mana for durability, to act as mana receptacles. There are " -"two Magi runes embedded at the tips." -msgstr "这根长棍上镶嵌了符文,并附有两只钢化玻璃罐,注入了魔力以提高耐久度,用于吸收魔力。棍尖上镶嵌有两个魔术师符文。" - -#: lang/json/GENERIC_from_json.py -msgid "Earthshaper cestus" -msgid_plural "Earthshaper cesti" -msgstr[0] "塑地者拳套" - -#. ~ Description for Earthshaper cestus -#: lang/json/GENERIC_from_json.py -msgid "" -"A stone battle glove with carved runes encasing the hand, protecting it " -"while increasing striking power. There is an Earthshaper rune embedded in " -"the palm." -msgstr "一个石制手套,上面围绕手的四周刻着符文,保护手的同时增强打击力量。手套的掌心镶嵌着塑地者符文。" - -#: lang/json/GENERIC_from_json.py -msgid "Kelvinist flamberge" -msgid_plural "Kelvinist flamberges" -msgstr[0] "炽霜法师焰形剑" - -#. ~ Description for Kelvinist flamberge -#: lang/json/GENERIC_from_json.py -msgid "" -"A sword with an undulating blade, reminiscent of a flame. There is a " -"Kelvinist rune embedded in the pommel." -msgstr "带有形似火焰的起伏刀刃的剑。剑柄头上镶嵌着一个炽霜法师符文。" - -#: lang/json/GENERIC_from_json.py -msgid "Stormshaper axe" -msgid_plural "Stormshaper axes" -msgstr[0] "风暴塑造者之斧" - -#. ~ Description for Stormshaper axe -#: lang/json/GENERIC_from_json.py -msgid "" -"A forged copper axe with silver trimmings and a wooden handle. There is a " -"Stormshaper rune embedded in the eye." -msgstr "一把镶银边的铸造铜斧,装在一根木柄上面。斧柄洞里镶嵌着一个风暴塑造者符文。" - -#: lang/json/GENERIC_from_json.py -msgid "Animist athame" -msgid_plural "Animist athames" -msgstr[0] "泛灵师献祭短刀" - -#. ~ Description for Animist athame -#: lang/json/GENERIC_from_json.py -msgid "" -"A steel ritual knife used by Animists to draw blood for summoning. Their " -"school rune is embedded in the crossguard." -msgstr "一把仪式用钢刀,泛灵师用它来放血进行召唤。剑格上面镶嵌着一个泛灵师符文。" - #: lang/json/GENERIC_from_json.py msgid "lesser staff of the magi" msgid_plural "lesser staves of the magi" @@ -44891,6 +46536,16 @@ msgid "" "glows with magic when you cast spells, but it is not a sturdy melee weapon." msgstr "一根制作精美的长杖,采用经过附魔的木头和秘银制成。当你使用它施放法术时它会在魔法的作用下微微发光,但它不是一个耐用的近战武器。" +#: lang/json/GENERIC_from_json.py +msgid "fireball hammer" +msgid_plural "fireball hammers" +msgstr[0] "火球之锤" + +#. ~ Description for fireball hammer +#: lang/json/GENERIC_from_json.py +msgid "Use with caution! Flammable! Explosive!" +msgstr "小心使用!易燃!爆炸!" + #: lang/json/GENERIC_from_json.py msgid "The Stormhammer" msgid_plural "The Stormhammers" @@ -44937,6 +46592,54 @@ msgstr[0] "恶毒骨矛" msgid "This is a wicked spear/halberd hybrid entirely created of bone." msgstr "这是一柄邪恶的长矛,完全是由骨头组成的。" +#. ~ Description for Mjölnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Mjölnir, the legendary hammer of Thor. It is rumored to be able to level " +"mountains with a single blow. You feel the power of Asgard coursing through" +" the hammer." +msgstr "妙尔尼尔,传说中雷神索尔使用的锤子。据传只要一击就能把整座大山夷为平地。你能通过锤子感受到来自仙宫阿斯加德的力量。" + +#: lang/json/GENERIC_from_json.py +msgid "Gungnir" +msgid_plural "Gungnirs" +msgstr[0] "Gungnir,永恒之枪" + +#. ~ Description for Gungnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Gungnir, the spear of Odin. It is rumored to be the perfect spear, " +"perfectly hitting any target regardless of the wielder's strength or skill." +" If feels like Odin's protecting you." +msgstr "" +"冈格尼尔,传说中北欧众神之父奥丁使用的长矛。据传它是完美的长矛,无论持用者的力量或技能如何,它都能完美地击中任何目标。拿着它让你有种被奥丁守护的感觉。" + +#: lang/json/GENERIC_from_json.py +msgid "Gram" +msgid_plural "Grams" +msgstr[0] "Gram,胜利之剑" + +#. ~ Description for Gram +#: lang/json/GENERIC_from_json.py +msgid "" +"Gram, the sword of Sigurd. It is rumored to be the sword that slayed the " +"legendary dragon, Fafnir. Once said to have cleaved Regin's anvil in half, " +"the edge is impeccable." +msgstr "古拉姆,传说中英雄齐格鲁德使用的魔剑。据传是斩杀传说中恶龙法夫尼尔的剑。据说曾将侏儒雷金的铁砧劈成两半,它的剑刃无懈可击。" + +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py +msgid "Laevateinn" +msgid_plural "Laevateinns" +msgstr[0] "Laevateinn,灾厄之杖" + +#. ~ Description for Laevateinn +#: lang/json/GENERIC_from_json.py +msgid "" +"Laevateinn, the staff of Loki. Said to have been plucked from the gates of " +"Hel by Loki. Imbued with a mysterious magic, the magic of the trickster god" +" himself." +msgstr "列瓦汀,传说中火神洛基使用的长杖。据说是由洛基从冥界海拉城门上拔出来的。它充满了神秘的魔力,来自欺诈之神自己的魔力。" + #: lang/json/GENERIC_from_json.py msgid "Spell Scroll" msgid_plural "Spell Scrolls" @@ -45163,8 +46866,8 @@ msgstr[0] "致盲闪光卷轴" #. ~ Description for Blinding Flash #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" -"Blind enemies for a short time with a sudden, dazzling light. Higher levels " -"deal slightly higher damage." +"Blind enemies for a short time with a sudden, dazzling light. Higher levels" +" deal slightly higher damage." msgstr "爆发耀眼的光芒以致盲敌人,等级越高伤害越高。" #: lang/json/GENERIC_from_json.py @@ -45177,7 +46880,7 @@ msgstr[0] "幽影攫抓卷轴" #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" "A mass of spectral hands emerge from the ground, slowing everything in " -"range. Higher levels allow a bigger AoE, and longer effect." +"range. Higher levels allow a bigger AoE, and longer effect." msgstr "从地面伸出无数幽影手,减慢范围内的一切。等级越高,作用范围越大,作用时间越长。" #: lang/json/GENERIC_from_json.py @@ -45890,10 +47593,50 @@ msgstr[0] "净化之种卷轴" #. ~ Description for Scroll of Purification Seed #: lang/json/GENERIC_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Greater levels yield" -" greater numbers of seeds." +"You summon a gift of the earth which will purify water. Greater levels " +"yield greater numbers of seeds." msgstr "召唤大地的馈赠,可用于净水。等级越高,获得的种子数量就越多。" +#: lang/json/GENERIC_from_json.py +msgid "Scroll of X-ray Vision" +msgid_plural "Scroll of X-ray Visions" +msgstr[0] "X光卷轴" + +#. ~ Description for Scroll of X-ray Vision +#. ~ Description for X-ray Vision +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You fire a cone of X-rays that magically allow you to see that area for a " +"short time." +msgstr "你发射出一道X光,并通过魔法来短暂地看清X光所及区域。" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Clairvoyance" +msgid_plural "Scroll of Clairvoyances" +msgstr[0] "透视卷轴" + +#. ~ Description for Scroll of Clairvoyance +#. ~ Description for Clairvoyance +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "You close your eyes and the earth surrenders its secrets to you." +msgstr "你闭上双眼,大地随即向你透露了它的秘密。" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Lava Bomb" +msgid_plural "Scroll of Lava Bombs" +msgstr[0] "熔岩炸弹卷轴" + +#. ~ Description for Scroll of Lava Bomb +#. ~ Description for Lava Bomb +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You tear up the ground beneath you to fire a lava bomb: a globe of lava " +"surrounded by hot, solid rock. It shatters upon impact, spraying shards of " +"rock and lava everywhere." +msgstr "" +"你撕裂脚下的地面,发射出一个熔岩炸弹:一个被炽热的固体岩石包围的熔岩球。它撞击物体时会粉碎,朝四周射出大量碎岩石和熔岩。\n" +" " + #: lang/json/GENERIC_from_json.py msgid "A Technomancer's Guide to Debugging C:DDA" msgid_plural "A Technomancer's Guide to Debugging C:DDAs" @@ -45919,7 +47662,7 @@ msgstr "你可能会说这更像是一本宣传册子,而不是一本魔法书 #: lang/json/GENERIC_from_json.py msgid "Wizarding Guide to Backpacking" msgid_plural "Wizarding Guide to Backpackings" -msgstr[0] "巫师背包指南" +msgstr[0] "魔法师背包指南" #. ~ Description for Wizarding Guide to Backpacking #: lang/json/GENERIC_from_json.py @@ -46702,11 +48445,6 @@ msgid "" "ornaments." msgstr "北欧战争农业之神索尔所使用的Mjölnir,雷神之锤的复制品。据说这玩意能一击打平一座山。但这件上面点缀了许多金银饰品。" -#: lang/json/GENERIC_from_json.py -msgid "Gungnir" -msgid_plural "Gungnirs" -msgstr[0] "Gungnir,永恒之枪" - #. ~ Description for Gungnir #: lang/json/GENERIC_from_json.py msgid "" @@ -47479,7 +49217,7 @@ msgid "" "reality, a phrase from a time forever gone echoes in your mind. \"There are " "two things that are infinite: the universe and human kleptomania.\"" msgstr "" -"当你看从这一在现实中可延展的洞口中看进去里面这样无限深的空洞时,一句远古的话语在你的脑中回想:它的意思是:\"只有两种东西是无边际的:宇宙和人类的盗窃癖。\"" +"可以在现实中移动的深渊洞口,内部空间仿佛无穷无尽,当你凝视它时,脑海中回响着来自永恒的声音:\"真正无穷无尽的事物有两种:宇宙,和人类的盗窃癖。\"" #: lang/json/ITEM_CATEGORY_from_json.py msgid "GUNS" @@ -47589,6 +49327,298 @@ msgstr "神器" msgid "ARMOR" msgstr "装备" +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "ITEMS WORN" +msgstr "穿戴物品" + +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "WEAPON HELD" +msgstr "手持武器" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Unsorted" +msgstr "战利品:待整理" + +#. ~ Description for Loot: Unsorted +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " +"sort items inside. It can overlap with Loot zones of different types." +msgstr "待整理的战利品所在区域。你可以使用\"整理战利品\"指令自动将该区域内的物品分类。可以与其他战利品区域叠加。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Food" +msgstr "战利品:食物" + +#. ~ Description for Loot: Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for comestibles. If more specific food zone is not defined, all" +" food is moved here." +msgstr "所有消耗品的分类放置区域。如果未定义专用食品区,则食品也会被分类至该区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Food" +msgstr "战利品:易腐食物" + +#. ~ Description for Loot: P.Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for perishable comestibles. Does include perishable drinks if " +"such zone is not specified." +msgstr "所有易腐消耗品的分类放置区域。如果未定义专用易腐饮料区,则易腐饮料也会被分类至该区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drink" +msgstr "战利品:饮料" + +#. ~ Description for Loot: Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for drinks. Does include perishable drinks if such zone is not " +"specified." +msgstr "所有饮料的分类放置区域。如果未定义专用易腐饮料区,则易腐饮料也会被分类至该区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Drink" +msgstr "战利品:易腐饮料" + +#. ~ Description for Loot: P.Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for perishable drinks." +msgstr "所有易腐饮料的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Guns" +msgstr "战利品:枪械" + +#. ~ Description for Loot: Guns +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for guns, bows and similar wearpons." +msgstr "所有枪械弓弩和远程武器的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Magazines" +msgstr "战利品:弹匣" + +#. ~ Description for Loot: Magazines +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for gun magazines." +msgstr "所有弹匣的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ammo" +msgstr "战利品:弹药" + +#. ~ Description for Loot: Ammo +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for ammo." +msgstr "所有弹药的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Weapons" +msgstr "战利品:武器" + +#. ~ Description for Loot: Weapons +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for melee weapons." +msgstr "所有近战武器的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Tools" +msgstr "战利品:工具" + +#. ~ Description for Loot: Tools +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for tools." +msgstr "所有工具的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Clothing" +msgstr "战利品:服装" + +#. ~ Description for Loot: Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for clothing. Does include filthy clothing if such zone is not " +"specified." +msgstr "所有衣物的分类放置区域。如果未定义专用肮脏衣物区,则肮脏衣物也会被分类至该区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Clothing" +msgstr "战利品:肮脏服装" + +#. ~ Description for Loot: F.Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy clothing." +msgstr "所有肮脏衣物的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drugs" +msgstr "战利品:药品" + +#. ~ Description for Loot: Drugs +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for drugs and other medical items." +msgstr "所有药品和其他医疗用品的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Books" +msgstr "战利品:书籍" + +#. ~ Description for Loot: Books +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for books and magazines." +msgstr "所有书籍杂志的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mods" +msgstr "战利品:模组" + +#. ~ Description for Loot: Mods +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firearm modifications and similar items." +msgstr "所有枪械模组和类似物品的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mutagens" +msgstr "战利品:诱变剂" + +#. ~ Description for Loot: Mutagens +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for mutagens, serums, and purifiers." +msgstr "所有诱变剂、血清、净化剂的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Bionics" +msgstr "战利品:生化插件" + +#. ~ Description for Loot: Bionics +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for Compact Bionics Modules, a.k.a. CBMS." +msgstr "所有生化插件CBM的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: V.Parts" +msgstr "战利品:载具部件" + +#. ~ Description for Loot: V.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for vehicle parts." +msgstr "所有载具部件的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Other" +msgstr "战利品:其他" + +#. ~ Description for Loot: Other +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for other miscellaneous items." +msgstr "所有其他物品的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Fuel" +msgstr "战利品:燃料" + +#. ~ Description for Loot: Fuel +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for gasoline, diesel, lamp oil and other substances used as a " +"fuel." +msgstr "所有汽油、柴油、灯油和其他燃料的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Seeds" +msgstr "战利品:种子" + +#. ~ Description for Loot: Seeds +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for seeds, stems and similar items." +msgstr "所有种子、块茎及类似物品的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Chemical" +msgstr "战利品:化学品" + +#. ~ Description for Loot: Chemical +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for chemicals." +msgstr "所有化学制品的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: S.Parts" +msgstr "战利品:零件" + +#. ~ Description for Loot: S.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for spare parts." +msgstr "所有零件的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Artifacts" +msgstr "战利品:神器" + +#. ~ Description for Loot: Artifacts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for artifacts" +msgstr "所有神器的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Corpses" +msgstr "战利品:尸体" + +#. ~ Description for Loot: Corpses +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for corpses" +msgstr "所有尸体的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Armor" +msgstr "战利品:装备" + +#. ~ Description for Loot: Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for armor. Does include filthy armor if such zone is not " +"specified." +msgstr "所有装备的分类放置区域。如果未定义专用肮脏装备区,则肮脏装备也会被分类至该区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Armor" +msgstr "战利品:肮脏装备" + +#. ~ Description for Loot: F.Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy armor." +msgstr "所有肮脏装备的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Wood" +msgstr "战利品:木材" + +#. ~ Description for Loot: Wood +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firewood and items that can be used as such." +msgstr "所有柴火和类似物品的分类放置区域。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Custom" +msgstr "战利品:自定义" + +#. ~ Description for Loot: Custom +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for loot with a custom filter that you can modify" +msgstr "自定义物品的分类放置区域。你可以编辑具体的筛选条件。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ignore" +msgstr "战利品:已忽略区" + +#. ~ Description for Loot: Ignore +#: lang/json/LOOT_ZONE_from_json.py +msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." +msgstr "使用\"整理战利品\"指令将不会整理该区域内的物品。" + #: lang/json/MAGAZINE_from_json.py msgid "ultra-light battery" msgid_plural "ultra-light batteries" @@ -47797,7 +49827,7 @@ msgstr[0] "一次性电池(重型)" #: lang/json/MAGAZINE_from_json.py msgid "" "This is a heavy battery cell, universally compatible with all kinds of " -"industrial-grade equipment and large tools. The battery's chemistry means " +"industrial-grade equipment and large tools. The battery's chemistry means " "that it has a very high capacity, but cannot be recharged." msgstr "这是一种大型电池,适用于各种工业级设备和大型电动工具。电池的化学特性意味着它有很高的容量,但它不能被再次充电。" @@ -48290,15 +50320,6 @@ msgstr ".357 西格 P320 弹匣" msgid "A 14 round double stack box magazine for the SIG Sauer P320." msgstr "为西格&绍尔 P320 手枪设计的14发双排盒式弹匣。" -#: lang/json/MAGAZINE_from_json.py -msgid "Taurus .38 magazine" -msgstr "陶鲁斯 Pro .38手枪弹匣" - -#. ~ Description for Taurus .38 magazine -#: lang/json/MAGAZINE_from_json.py -msgid "A compact steel box magazine for use with the Taurus Pro .38 pistol." -msgstr "一个紧凑的钢制盒式弹匣,可用于陶鲁斯 Pro .38手枪。" - #: lang/json/MAGAZINE_from_json.py msgid ".38/.357 7-round speedloader" msgstr "7发快速装弹器 (.38/.357)" @@ -48372,6 +50393,16 @@ msgstr "一个 8 发钢制盒式弹匣,可用于 Hi-Point CF-380 手枪。" msgid "A 10-round steel box magazine for use with the Hi-Point CF-380." msgstr "一个 10 发钢制盒式弹匣,可用于 Hi-Point CF-380 手枪。" +#: lang/json/MAGAZINE_from_json.py +msgid "Taurus Spectrum magazine" +msgstr "陶鲁斯\"光谱\"手枪弹匣" + +#. ~ Description for Taurus Spectrum magazine +#: lang/json/MAGAZINE_from_json.py +msgid "" +"A compact, 6-round steel box magazine for use with the Taurus Spectrum." +msgstr "一个紧凑的钢制盒式弹匣,可用于陶鲁斯\"光谱\"手枪。" + #: lang/json/MAGAZINE_from_json.py msgid "M1911 .38 Super magazine" msgstr "M1911 .38超级弹匣" @@ -49391,17 +51422,6 @@ msgid "" "is marked with several faded and now unreadable symbols." msgstr "一个大型钢制圆筒,用于保存加压焊接气体。上面有着几个现已褪色无法分辨的标记。" -#: lang/json/MAGAZINE_from_json.py -msgid "oxygen cylinder" -msgstr "氧气罐" - -#. ~ Description for oxygen cylinder -#: lang/json/MAGAZINE_from_json.py -msgid "" -"A large steel cylinder used for storing pressurized gas. It is marked with a" -" faded, but legible O2 symbol." -msgstr "一个用于储存高压气体的大型钢罐。上面有着一个依稀可见的 O2 标记。" - #: lang/json/MAGAZINE_from_json.py lang/json/vehicle_part_from_json.py msgid "car battery" msgid_plural "car batteries" @@ -50084,6 +52104,15 @@ msgid "" " hit in combat, infections." msgstr "穿着由丧尸掉落的肮脏衣物将导致心情值惩罚。而且在战斗中穿着肮脏衣物的身体部位被击中的话,可能导致感染,以此模拟真实效果。" +#: lang/json/MOD_INFO_from_json.py +msgid "Fuji's Military Profession Pack" +msgstr "Fuji的军事职业Mod" + +#. ~ Description for Fuji's Military Profession Pack +#: lang/json/MOD_INFO_from_json.py +msgid "Numerous military themed professions" +msgstr "增添了许多军事职业" + #: lang/json/MOD_INFO_from_json.py msgid "Fuji's More Buildings" msgstr "Fuji的更多建筑包" @@ -50241,7 +52270,7 @@ msgstr "甜蜜大灾变" msgid "" "Cataclysm is nice, but what if you could sweeten it a bit? What about " "walking through this world as a human shaped piece of sugar with your pet " -"necco waffer?" +"necco wafer?" msgstr "大灾变是好事,但如果你能让它变甜一点呢?不如变成一个糖人在这个灾变后的世界中和你的宠物糖果猫一起四处游荡?" #: lang/json/MOD_INFO_from_json.py @@ -50310,7 +52339,7 @@ msgstr "移除巨型丧尸" msgid "" "Removes shocker brutes, zombie hulks, and skeletal juggernauts from the " "game." -msgstr "移除游戏中的放电丧尸兽、丧尸浩克及骷髅霸主。" +msgstr "移除游戏中的放电丧尸兽、丧尸浩克及骷髅巨兽。" #: lang/json/MOD_INFO_from_json.py msgid "No Explosive Zombies" @@ -50833,10 +52862,10 @@ msgstr "一只野鸭,常见于河流或其他水体附近,主要以昆虫、 #: lang/json/MONSTER_from_json.py msgid "goose" -msgid_plural "gooses" +msgid_plural "geese" msgstr[0] "雁" -#. ~ Description for goose +#. ~ Description for {'str': 'goose', 'str_pl': 'geese'} #: lang/json/MONSTER_from_json.py msgid "A Canadian goose, a common waterfowl that regrets leaving Canada." msgstr "一只加拿大雁,常见的水禽,这会它该后悔自己离开加拿大了。" @@ -51101,55 +53130,55 @@ msgstr[0] "微型核弹无人机" #: lang/json/MONSTER_from_json.py msgid "" "Many times as large as a normal manhack, this flying quadcopter drone " -"appears to have a mininuke inside. If this is targeting you... Run." +"appears to have a mininuke inside. If this is targeting you… Run." msgstr "一只体积数倍于普通型号的无人机,这台正在飞行的四轴无人机体内装载了一枚微型核弹。如果它瞄准了你……快跑!" #: lang/json/MONSTER_from_json.py msgid "tiny fish" -msgid_plural "tiny fishs" +msgid_plural "tiny fish" msgstr[0] "微型鱼" -#. ~ Description for tiny fish +#. ~ Description for {'str': 'tiny fish', 'str_pl': 'tiny fish'} #: lang/json/MONSTER_from_json.py msgid "A tiny fish." msgstr "一条微型鱼。" #: lang/json/MONSTER_from_json.py msgid "small fish" -msgid_plural "small fishs" +msgid_plural "small fish" msgstr[0] "小型鱼" -#. ~ Description for small fish +#. ~ Description for {'str': 'small fish', 'str_pl': 'small fish'} #: lang/json/MONSTER_from_json.py msgid "A small fish." msgstr "一条小型鱼。" #: lang/json/MONSTER_from_json.py msgid "medium fish" -msgid_plural "medium fishs" +msgid_plural "medium fish" msgstr[0] "中型鱼" -#. ~ Description for medium fish +#. ~ Description for {'str': 'medium fish', 'str_pl': 'medium fish'} #: lang/json/MONSTER_from_json.py msgid "A medium fish." msgstr "一条中型鱼。" #: lang/json/MONSTER_from_json.py msgid "large fish" -msgid_plural "large fishs" +msgid_plural "large fish" msgstr[0] "大型鱼" -#. ~ Description for large fish +#. ~ Description for {'str': 'large fish', 'str_pl': 'large fish'} #: lang/json/MONSTER_from_json.py msgid "A large fish." msgstr "一条大型鱼。" #: lang/json/MONSTER_from_json.py msgid "huge fish" -msgid_plural "huge fishs" +msgid_plural "huge fish" msgstr[0] "巨型鱼" -#. ~ Description for huge fish +#. ~ Description for {'str': 'huge fish', 'str_pl': 'huge fish'} #: lang/json/MONSTER_from_json.py msgid "A huge fish." msgstr "一条巨型鱼。" @@ -51271,10 +53300,10 @@ msgstr "一条银鲑。非常肥美并且营养丰富。烟熏后味道好极了 #: lang/json/MONSTER_from_json.py msgid "whitefish" -msgid_plural "whitefishs" +msgid_plural "whitefish" msgstr[0] "白鱼" -#. ~ Description for whitefish +#. ~ Description for {'str': 'whitefish', 'str_pl': 'whitefish'} #: lang/json/MONSTER_from_json.py msgid "" "A whitefish, closely related to salmon. One can assume they are just as " @@ -51283,20 +53312,20 @@ msgstr "一条白鱼(白鲑),鲑鱼的近亲。你可以认为它们烟熏 #: lang/json/MONSTER_from_json.py msgid "largemouth bass" -msgid_plural "largemouth basss" +msgid_plural "largemouth bass" msgstr[0] "大嘴鲈" -#. ~ Description for largemouth bass +#. ~ Description for {'str': 'largemouth bass', 'str_pl': 'largemouth bass'} #: lang/json/MONSTER_from_json.py msgid "A Largemouth Bass. Very popular with sports fishermen." msgstr "一条大嘴鲈。很受钓鱼爱好者的喜爱。" #: lang/json/MONSTER_from_json.py msgid "smallmouth bass" -msgid_plural "smallmouth basss" +msgid_plural "smallmouth bass" msgstr[0] "小嘴鲈" -#. ~ Description for smallmouth bass +#. ~ Description for {'str': 'smallmouth bass', 'str_pl': 'smallmouth bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Smallmouth Bass. Being intolerant to pollution in the water, smallmouth " @@ -51305,10 +53334,10 @@ msgstr "一条小口黑鲈。对于水里的污染很不耐受,小口黑鲈是 #: lang/json/MONSTER_from_json.py msgid "striped bass" -msgid_plural "striped basss" +msgid_plural "striped bass" msgstr[0] "条纹鲈" -#. ~ Description for striped bass +#. ~ Description for {'str': 'striped bass', 'str_pl': 'striped bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Striped Bass. Mostly a salt water fish, they migrate to fresher water to " @@ -51317,10 +53346,10 @@ msgstr "一只条纹鲈。一般生活在咸水里,它们产卵的时候会游 #: lang/json/MONSTER_from_json.py msgid "white bass" -msgid_plural "white basss" +msgid_plural "white bass" msgstr[0] "白鲈" -#. ~ Description for white bass +#. ~ Description for {'str': 'white bass', 'str_pl': 'white bass'} #: lang/json/MONSTER_from_json.py msgid "" "A White Bass. Common to the region, a slab-sided and spiny-rayed little " @@ -51329,10 +53358,10 @@ msgstr "一条白鲈,体型扁平的多刺小鱼。在这一带很常见。" #: lang/json/MONSTER_from_json.py msgid "perch" -msgid_plural "perchs" +msgid_plural "perches" msgstr[0] "河鲈" -#. ~ Description for perch +#. ~ Description for {'str': 'perch', 'str_pl': 'perches'} #: lang/json/MONSTER_from_json.py msgid "" "A small spritely Perch. A very bony fish, still got some tasty meat on it " @@ -51351,20 +53380,21 @@ msgstr "碧古鱼。一种绿褐身体、白色肚腩的中型鱼。" #: lang/json/MONSTER_from_json.py msgid "sunfish" -msgid_plural "sunfishs" +msgid_plural "sunfish" msgstr[0] "太阳鱼" -#. ~ Description for sunfish +#. ~ Description for {'str': 'sunfish', 'str_pl': 'sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Sunfish. A small fish related to bass or bluegill." msgstr "太阳鱼。一种跟鲈鱼或者蓝鳃太阳鱼关系较近的小鱼。" #: lang/json/MONSTER_from_json.py msgid "pumpkinseed sunfish" -msgid_plural "pumpkinseed sunfishs" +msgid_plural "pumpkinseed sunfish" msgstr[0] "驼背太阳鱼" -#. ~ Description for pumpkinseed sunfish +#. ~ Description for {'str': 'pumpkinseed sunfish', 'str_pl': 'pumpkinseed +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Pumpkinseed Sunfish. A small fish related to bass or bluegill." msgstr "驼背太阳鱼。一种跟鲈鱼或者蓝鳃太阳鱼关系较近的小鱼。" @@ -51382,50 +53412,51 @@ msgstr "一条蓝鳃太阳鱼,被引进日本后成为当地危险的入侵物 #: lang/json/MONSTER_from_json.py msgid "redbreast sunfish" -msgid_plural "redbreast sunfishs" +msgid_plural "redbreast sunfish" msgstr[0] "红胸太阳鱼" -#. ~ Description for redbreast sunfish +#. ~ Description for {'str': 'redbreast sunfish', 'str_pl': 'redbreast +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redbreast Sunfish. A small fish related to bass or bluegill." msgstr "红胸太阳鱼。一种跟鲈鱼或者蓝鳃太阳鱼关系较近的小鱼。" #: lang/json/MONSTER_from_json.py msgid "green sunfish" -msgid_plural "green sunfishs" +msgid_plural "green sunfish" msgstr[0] "蓝太阳鱼" -#. ~ Description for green sunfish +#. ~ Description for {'str': 'green sunfish', 'str_pl': 'green sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Green Sunfish. A small fish related to bass or bluegill." msgstr "蓝太阳鱼。一种跟鲈鱼或者蓝鳃太阳鱼关系较近的小鱼。" #: lang/json/MONSTER_from_json.py msgid "longear sunfish" -msgid_plural "longear sunfishs" +msgid_plural "longear sunfish" msgstr[0] "长耳太阳鱼" -#. ~ Description for longear sunfish +#. ~ Description for {'str': 'longear sunfish', 'str_pl': 'longear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Longear Sunfish. A small fish related to bass or bluegill." msgstr "长耳太阳鱼。一种跟鲈鱼或者蓝鳃太阳鱼关系较近的小鱼。" #: lang/json/MONSTER_from_json.py msgid "redear sunfish" -msgid_plural "redear sunfishs" +msgid_plural "redear sunfish" msgstr[0] "红耳鳞鳃太阳鱼" -#. ~ Description for redear sunfish +#. ~ Description for {'str': 'redear sunfish', 'str_pl': 'redear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redear Sunfish. A small fish related to bass or bluegill." msgstr "红耳鳞鳃太阳鱼。一种跟鲈鱼或者蓝鳃太阳鱼关系较近的小鱼。" #: lang/json/MONSTER_from_json.py msgid "rock bass" -msgid_plural "rock basss" -msgstr[0] "岩鲈" +msgid_plural "rock bass" +msgstr[0] "岩钝鲈" -#. ~ Description for rock bass +#. ~ Description for {'str': 'rock bass', 'str_pl': 'rock bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Rock Bass. Related to sunfish, this tiny fish has a camoflauge-like " @@ -51434,10 +53465,10 @@ msgstr "岩钝鲈。这种形似太阳鱼的小鱼,有着迷彩状的伪装和 #: lang/json/MONSTER_from_json.py msgid "calico bass" -msgid_plural "calico basss" +msgid_plural "calico bass" msgstr[0] "剌盖太阳鱼" -#. ~ Description for calico bass +#. ~ Description for {'str': 'calico bass', 'str_pl': 'calico bass'} #: lang/json/MONSTER_from_json.py msgid "A Calico Bass. A medium-sized fish also known as a 'Crappie'." msgstr "剌盖太阳鱼,一种中等大小的鱼,也称为“莓鲈”。" @@ -51466,20 +53497,20 @@ msgstr "一条大头鱼,鲶鱼的一种。切块裹上面糊油炸后特好吃 #: lang/json/MONSTER_from_json.py msgid "channel catfish" -msgid_plural "channel catfishs" +msgid_plural "channel catfish" msgstr[0] "斑点叉尾鮰" -#. ~ Description for channel catfish +#. ~ Description for {'str': 'channel catfish', 'str_pl': 'channel catfish'} #: lang/json/MONSTER_from_json.py msgid "A Channel Catfish, they have a forked tail and long whiskers." msgstr "一条斑点叉尾鮰,它们有叉形的尾巴和长长的胡须。" #: lang/json/MONSTER_from_json.py msgid "white catfish" -msgid_plural "white catfishs" +msgid_plural "white catfish" msgstr[0] "白叉尾鮰" -#. ~ Description for white catfish +#. ~ Description for {'str': 'white catfish', 'str_pl': 'white catfish'} #: lang/json/MONSTER_from_json.py msgid "A White Catfish, a small whiskered fish with a broad head." msgstr "一条白叉尾鮰,一种宽头长着细长胡须的鱼类。" @@ -51565,10 +53596,10 @@ msgstr "一条弓鳍鱼。这些鱼和颌针鱼有亲缘关系,但是没有大 #: lang/json/MONSTER_from_json.py msgid "fallfish" -msgid_plural "fallfishs" +msgid_plural "fallfish" msgstr[0] "小眼须雅罗鱼" -#. ~ Description for fallfish +#. ~ Description for {'str': 'fallfish', 'str_pl': 'fallfish'} #: lang/json/MONSTER_from_json.py msgid "" "A Fallfish. These fish are related to gar but without the huge teeth, skin " @@ -51585,27 +53616,27 @@ msgstr[0] "龙虾" msgid "" "These things were once considered pests not worth eating, then some " "marketing genius started selling them to people as a delicacy and they took " -"off in popularity... and price." -msgstr "这些东西曾被认为是不堪食用的害虫,直到某些营销天才把美味的螯虾料理卖给消费者后,这玩意儿的知名度——还有价格——开始蹭蹭地飞涨。" +"off in popularity… and price." +msgstr "这些东西曾被认为是不堪食用的害虫,直到某些营销天才把它们当作美食来宣传,从此这玩意儿的知名度……还有价格……开始蹭蹭地飞涨。" #: lang/json/MONSTER_from_json.py msgid "crayfish" -msgid_plural "crayfishs" +msgid_plural "crayfish" msgstr[0] "螯虾" -#. ~ Description for crayfish +#. ~ Description for {'str': 'crayfish', 'str_pl': 'crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "If you could get ahold of a bunch more of these, a hefty pot of boiling " -"water, and some spicy seasonings..." -msgstr "淡水小龙虾。形似虾而甲壳坚硬,因肉味鲜美广受人们欢迎。因其杂食性、生长速度快、适应能力强而在当地生态环境中形成绝对的竞争优势。" +"water, and some spicy seasonings…" +msgstr "如果你能多搞到一点这些,一口大锅,和一些辣椒和香料的话……" #: lang/json/MONSTER_from_json.py msgid "Blinky" msgid_plural "Blinkies" msgstr[0] "布林吉鱼" -#. ~ Description for Blinky +#. ~ Description for {'str': 'Blinky', 'str_pl': 'Blinkies'} #: lang/json/MONSTER_from_json.py msgid "A strange three-eyed fish." msgstr "一种奇怪的鱼类,有三只眼睛。" @@ -51704,10 +53735,10 @@ msgstr "一只体型巨大的被感染的蟑螂,它以丧尸尸体为食。这 #: lang/json/MONSTER_from_json.py msgid "giant cockroach" -msgid_plural "giant cockroachs" +msgid_plural "giant cockroaches" msgstr[0] "巨型蟑螂" -#. ~ Description for giant cockroach +#. ~ Description for {'str': 'giant cockroach', 'str_pl': 'giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "A mutant cockroach the size of a small dog." msgstr "一只体积约有小狗一样大的变异的蟑螂,有着巨大的口器与坚硬的外壳,浑身散发着恶心的味道,在地上疯狂的爬行寻找食物。" @@ -51724,10 +53755,11 @@ msgstr "一只体积约有老鼠一样大的变异蟑螂的幼虫。" #: lang/json/MONSTER_from_json.py msgid "pregnant giant cockroach" -msgid_plural "pregnant giant cockroachs" +msgid_plural "pregnant giant cockroaches" msgstr[0] "怀孕的巨型蟑螂" -#. ~ Description for pregnant giant cockroach +#. ~ Description for {'str': 'pregnant giant cockroach', 'str_pl': 'pregnant +#. giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant cockroach the size of a small dog. Its abdomen is heavily swollen." @@ -51762,7 +53794,7 @@ msgid "giant dragonfly" msgid_plural "giant dragonflies" msgstr[0] "巨型蜻蜓" -#. ~ Description for giant dragonfly +#. ~ Description for {'str': 'giant dragonfly', 'str_pl': 'giant dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A ferocious mutant dragonfly as big as a cat, darting through the air with a" @@ -51774,7 +53806,7 @@ msgid "giant fly" msgid_plural "giant flies" msgstr[0] "巨型苍蝇" -#. ~ Description for giant fly +#. ~ Description for {'str': 'giant fly', 'str_pl': 'giant flies'} #: lang/json/MONSTER_from_json.py msgid "" "A tremendous housefly the size of a small dog, predictably accompanied by a " @@ -51941,10 +53973,10 @@ msgstr "一个体积差不多和猫一样大的恐怖黄蜂,腹部产卵器连 #: lang/json/MONSTER_from_json.py msgid "dermatik larva" -msgid_plural "dermatik larvas" +msgid_plural "dermatik larvae" msgstr[0] "寄生蜂幼体" -#. ~ Description for dermatik larva +#. ~ Description for {'str': 'dermatik larva', 'str_pl': 'dermatik larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A fat white grub as big as a squirrel, with a pair of large, spadelike " @@ -51977,10 +54009,11 @@ msgstr "一只怪异的红色蚂蚁,它肿胀的腹部末端带着一个小孔 #: lang/json/MONSTER_from_json.py msgid "acidic ant larva" -msgid_plural "acidic ant larvas" +msgid_plural "acidic ant larvae" msgstr[0] "酸蚁幼虫" -#. ~ Description for acidic ant larva +#. ~ Description for {'str': 'acidic ant larva', 'str_pl': 'acidic ant +#. larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A squirming yellow grub that seems to be oozing liquid from both ends of its" @@ -52027,10 +54060,10 @@ msgstr "苍白色的躯体充满了真菌的巨大蚂蚁,蓬发盘绕的真菌 #: lang/json/MONSTER_from_json.py msgid "ant larva" -msgid_plural "ant larvas" +msgid_plural "ant larvae" msgstr[0] "蚂蚁幼虫" -#. ~ Description for ant larva +#. ~ Description for {'str': 'ant larva', 'str_pl': 'ant larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A pulsating sausage of glistening white flesh, the size of a large cat. On " @@ -52272,10 +54305,10 @@ msgstr "这只普通的混血拉布拉多犬已经明显发狂了。尽管它的 #: lang/json/MONSTER_from_json.py msgid "Labrador puppy" -msgid_plural "Labrador puppys" +msgid_plural "Labrador puppies" msgstr[0] "拉布拉多幼犬" -#. ~ Description for Labrador puppy +#. ~ Description for {'str': 'Labrador puppy', 'str_pl': 'Labrador puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Labrador puppy. Much safer to tame than an adult " @@ -52296,10 +54329,10 @@ msgstr "美国斗牛犬是一种勇敢且体格健壮的狗,看起来挺适合 #: lang/json/MONSTER_from_json.py msgid "bulldog puppy" -msgid_plural "bulldog puppys" +msgid_plural "bulldog puppies" msgstr[0] "斗牛犬幼犬" -#. ~ Description for bulldog puppy +#. ~ Description for {'str': 'bulldog puppy', 'str_pl': 'bulldog puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless American bulldog puppy. Much safer to tame than an" @@ -52308,10 +54341,10 @@ msgstr "一只可爱而无助的美国斗牛犬幼犬。驯服起来比一只成 #: lang/json/MONSTER_from_json.py msgid "pit bull mix" -msgid_plural "pit bull mixs" +msgid_plural "pit bull mixes" msgstr[0] "比特犬" -#. ~ Description for pit bull mix +#. ~ Description for {'str': 'pit bull mix', 'str_pl': 'pit bull mixes'} #: lang/json/MONSTER_from_json.py msgid "" "The oft-misunderstood pit bull is not actually a single breed but a label " @@ -52323,10 +54356,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull puppy" -msgid_plural "pit bull puppys" +msgid_plural "pit bull puppies" msgstr[0] "比特犬幼犬" -#. ~ Description for pit bull puppy +#. ~ Description for {'str': 'pit bull puppy', 'str_pl': 'pit bull puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless pit bull puppy. Much safer to tame than an adult " @@ -52347,10 +54380,10 @@ msgstr "一只可爱的猎兔犬,在末世里幸存了下来。动作敏捷, #: lang/json/MONSTER_from_json.py msgid "beagle puppy" -msgid_plural "beagle puppys" +msgid_plural "beagle puppies" msgstr[0] "猎兔犬幼犬" -#. ~ Description for beagle puppy +#. ~ Description for {'str': 'beagle puppy', 'str_pl': 'beagle puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless beagle puppy. Much safer to tame than an adult " @@ -52372,10 +54405,11 @@ msgstr "边境牧羊犬是一种体格健壮、极度活跃的狗,喜欢放牧 #: lang/json/MONSTER_from_json.py msgid "border collie puppy" -msgid_plural "border collie puppys" +msgid_plural "border collie puppies" msgstr[0] "边境牧羊犬幼犬" -#. ~ Description for border collie puppy +#. ~ Description for {'str': 'border collie puppy', 'str_pl': 'border collie +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Border Collie puppy. Much safer to tame than an " @@ -52396,10 +54430,10 @@ msgstr "拳师獒犬是一种常见的情感丰富的犬种,除此之外,就 #: lang/json/MONSTER_from_json.py msgid "boxer puppy" -msgid_plural "boxer puppys" +msgid_plural "boxer puppies" msgstr[0] "拳师獒犬幼犬" -#. ~ Description for boxer puppy +#. ~ Description for {'str': 'boxer puppy', 'str_pl': 'boxer puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless boxer puppy. Much safer to tame than an adult dog." @@ -52419,10 +54453,10 @@ msgstr "它是一只小小的吉娃娃,存活下来简直是一个奇迹。它 #: lang/json/MONSTER_from_json.py msgid "Chihuahua puppy" -msgid_plural "Chihuahua puppys" +msgid_plural "Chihuahua puppies" msgstr[0] "吉娃娃幼犬" -#. ~ Description for Chihuahua puppy +#. ~ Description for {'str': 'Chihuahua puppy', 'str_pl': 'Chihuahua puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Chihuahua puppy. Much safer to tame than an adult " @@ -52444,10 +54478,10 @@ msgstr "一条活像香肠的狗!这种外表奇特的狗能够成为称职的 #: lang/json/MONSTER_from_json.py msgid "dachshund puppy" -msgid_plural "dachshund puppys" +msgid_plural "dachshund puppies" msgstr[0] "腊肠犬幼犬" -#. ~ Description for dachshund puppy +#. ~ Description for {'str': 'dachshund puppy', 'str_pl': 'dachshund puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless dachshund puppy. Much safer to tame than an adult " @@ -52468,10 +54502,11 @@ msgstr "最早的K-9犬种。易于训练,攻击力强,会保卫主人直至 #: lang/json/MONSTER_from_json.py msgid "German shepherd puppy" -msgid_plural "German shepherd puppys" +msgid_plural "German shepherd puppies" msgstr[0] "德国牧羊犬幼犬" -#. ~ Description for German shepherd puppy +#. ~ Description for {'str': 'German shepherd puppy', 'str_pl': 'German +#. shepherd puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless German shepherd puppy. Much safer to tame than an " @@ -52480,10 +54515,10 @@ msgstr "一只可爱而无助的小德国牧羊犬。驯服起来比一只成年 #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees" -msgid_plural "Great Pyreneess" +msgid_plural "Great Pyrenees" msgstr[0] "大白熊犬" -#. ~ Description for Great Pyrenees +#. ~ Description for {'str': 'Great Pyrenees', 'str_pl': 'Great Pyrenees'} #: lang/json/MONSTER_from_json.py msgid "" "A large and powerful breed, the Great Pyrenees has a beautiful, thick white " @@ -52493,10 +54528,11 @@ msgstr "大白熊犬是一种孔武有力的狗,有着美丽而稠密的白色 #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees puppy" -msgid_plural "Great Pyrenees puppys" +msgid_plural "Great Pyrenees puppies" msgstr[0] "大白熊犬幼犬" -#. ~ Description for Great Pyrenees puppy +#. ~ Description for {'str': 'Great Pyrenees puppy', 'str_pl': 'Great Pyrenees +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Great Pyrenees puppy. Much safer to tame than an " @@ -52518,10 +54554,11 @@ msgstr "罗威纳犬是罗马军团獒犬的后裔,一旦发狂将会很难对 #: lang/json/MONSTER_from_json.py msgid "rottweiler puppy" -msgid_plural "rottweiler puppys" +msgid_plural "rottweiler puppies" msgstr[0] "罗威纳幼犬" -#. ~ Description for rottweiler puppy +#. ~ Description for {'str': 'rottweiler puppy', 'str_pl': 'rottweiler +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Rottweiler puppy. Much safer to tame than an adult" @@ -52542,10 +54579,11 @@ msgstr "澳大利亚牧牛犬是一种机敏而健壮、受所有农场欢迎的 #: lang/json/MONSTER_from_json.py msgid "cattle dog puppy" -msgid_plural "cattle dog puppys" +msgid_plural "cattle dog puppies" msgstr[0] "牧牛犬幼犬" -#. ~ Description for cattle dog puppy +#. ~ Description for {'str': 'cattle dog puppy', 'str_pl': 'cattle dog +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Australian cattle dog puppy. Much safer to tame " @@ -52557,14 +54595,14 @@ msgid "fox" msgid_plural "foxes" msgstr[0] "狐狸" -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A small omnivorous canine with an almost cat-like manner. It is a solitary " "hunter, and one of the only canids able to climb trees." -msgstr "一种小型杂食性犬科动物,但几乎有着猫一样行动方式。它是一个孤独的猎手,也是唯一一种会爬树犬科动物。" +msgstr "一种小型杂食性犬科动物,但几乎有着猫一样行动方式。它是一个孤独的猎手,也是唯一一种会爬树的犬科动物。" -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "The red fox, an omnivorous canine and largest of the true foxes, it is a " @@ -52637,10 +54675,10 @@ msgstr "美国貂,一种半水栖鼬,因为皮毛的缘故曾被集中养殖 #: lang/json/MONSTER_from_json.py msgid "moose" -msgid_plural "mooses" +msgid_plural "moose" msgstr[0] "驼鹿" -#. ~ Description for moose +#. ~ Description for {'str': 'moose', 'str_pl': 'moose'} #: lang/json/MONSTER_from_json.py msgid "" "The Eastern moose, the largest living species of deer. While they aren't " @@ -52769,8 +54807,8 @@ msgstr[0] "变异鼠" #: lang/json/MONSTER_from_json.py msgid "" "A worm-tailed rodent with long whiskers and beady eyes. The way it squeaks " -"makes it sound... hungry." -msgstr "一只有着蠕虫一样尾巴的啮齿动物,眼睛像鹰一般锐利,它的叫声听起来像是充斥着饥饿的哀叫。" +"makes it sound… hungry." +msgstr "一只有着蠕虫一样尾巴的啮齿动物,眼睛像鹰一般锐利,它的尖叫声听起来像是它已经……饿了。" #: lang/json/MONSTER_from_json.py msgid "lamb" @@ -52790,7 +54828,7 @@ msgid "sheep" msgid_plural "sheep" msgstr[0] "羊" -#. ~ Description for sheep +#. ~ Description for {'str': 'sheep', 'str_pl': 'sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A timid, hooved grazing mammal, and one of the first animals ever " @@ -52837,7 +54875,7 @@ msgid "wolf" msgid_plural "wolves" msgstr[0] "狼" -#. ~ Description for wolf +#. ~ Description for {'str': 'wolf', 'str_pl': 'wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A cunning pack predator, once extinct in the New England area, the wolf was " @@ -53094,7 +55132,7 @@ msgid "blank body" msgid_plural "blank bodies" msgstr[0] "苍白人体" -#. ~ Description for blank body +#. ~ Description for {'str': 'blank body', 'str_pl': 'blank bodies'} #: lang/json/MONSTER_from_json.py msgid "" "This is some form of unnatural changeling creature; its appearance is a " @@ -53213,9 +55251,21 @@ msgstr[0] "巨型爆汁丧尸" #: lang/json/MONSTER_from_json.py msgid "" "This boomer, normally swollen and ready to burst, has strengthened and " -"solidified. The bile dribbling from its mouth also appears to have " -"changed..." -msgstr "一只全身即将爆炸的爆汁丧尸,表皮已经变异得比较坚硬了,嘴中溢出的胆汁颜色似乎在进行变化。" +"solidified. The bile dribbling from its mouth also appears to have changed…" +msgstr "和一般的爆汁丧尸不同,这只爆汁丧尸的表皮已经变异得更加坚硬,嘴中溢出的胆汁颜色似乎也产生了变化……" + +#: lang/json/MONSTER_from_json.py +msgid "dissoluted devourer" +msgid_plural "dissoluted devourers" +msgstr[0] "放荡吞噬者" + +#. ~ Description for dissoluted devourer +#: lang/json/MONSTER_from_json.py +msgid "" +"Human bodies fused together into a colossus with heads and limbs sticking " +"out of its bloated body. You may have trouble estimating its healthiness " +"and its capabilities might change." +msgstr "由人类躯体融合而成的巨型怪物,膨胀的身体上伸出好几个头颅和肢体。你无法确切判断它的生命力,它的能力也可能会随时改变。" #: lang/json/MONSTER_from_json.py msgid "breather" @@ -53263,7 +55313,7 @@ msgid "" "A human fused with a mess of metal parts and wires. While its eyes are " "empty, flashes of pain pass across its face reminiscent of the person " "trapped in this grotesque body. With enough surgical skills one might be " -"able to give them back some humanity. If only they cared..." +"able to give them back some humanity. If only they cared…" msgstr "" "与零件、电缆融在一起的\"人\",虽然眼睛空洞,但转瞬即逝的痛苦表情能让人想起被困在这具怪诞身体里的曾经是人类。掌握足够的外科手术技巧,就可以为他们找回一些人性,但愿他们还在乎……" @@ -53665,15 +55715,15 @@ msgstr "你宝贵的发电机,喧闹地嗡嗡作响。不惜一切代价捍卫 #: lang/json/MONSTER_from_json.py msgid "giant crayfish" -msgid_plural "giant crayfishs" +msgid_plural "giant crayfish" msgstr[0] "巨型螯虾" -#. ~ Description for giant crayfish +#. ~ Description for {'str': 'giant crayfish', 'str_pl': 'giant crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant, terrestrial variety of the signal crayfish, this massive " "crustacean resembles a humongous lobster." -msgstr "一只变异的巨大陆生淡水龙虾,长着坚硬的甲壳,挥舞着巨大的双钳,十分凶恶。" +msgstr "一只变异的巨大陆生淡水螯虾,长着坚硬的甲壳,挥舞着巨大的双钳,十分凶恶。" #: lang/json/MONSTER_from_json.py msgid "gozu" @@ -53791,7 +55841,7 @@ msgid "homunculus" msgid_plural "homunculuses" msgstr[0] "人造人" -#. ~ Description for homunculus +#. ~ Description for {'str': 'homunculus', 'str_pl': 'homunculuses'} #: lang/json/MONSTER_from_json.py msgid "" "A pale hairless man with an impressive athletic physique. Its lidless eyes " @@ -53800,10 +55850,11 @@ msgstr "一个皮肤光滑无毛的人,躯体如运动员一般健壮,眼睛 #: lang/json/MONSTER_from_json.py msgid "hound of tindalos" -msgid_plural "hound of tindaloss" +msgid_plural "hounds of tindalos" msgstr[0] "廷达罗斯猎犬" -#. ~ Description for hound of tindalos +#. ~ Description for {'str': 'hound of tindalos', 'str_pl': 'hounds of +#. tindalos'} #: lang/json/MONSTER_from_json.py msgid "" "A grotesque hound-like beast, its frame is angular and emaciated and its " @@ -54006,12 +56057,12 @@ msgid "Shia LaBeouf" msgid_plural "Shia LaBeouf" msgstr[0] "真食人族 希亚拉博夫" -#. ~ Description for Shia LaBeouf +#. ~ Description for {'str': 'Shia LaBeouf', 'str_pl': 'Shia LaBeouf'} #: lang/json/MONSTER_from_json.py msgid "" -"Living in the woods, \n" -"killing for sport, \n" -"eating all the bodies, \n" +"Living in the woods,\n" +"killing for sport,\n" +"eating all the bodies,\n" "actual cannibal Shia LaBeouf." msgstr "" "独居森林中!~(嘘,嘘)\n" @@ -54165,7 +56216,7 @@ msgid "twisted body" msgid_plural "twisted bodies" msgstr[0] "扭曲人体" -#. ~ Description for twisted body +#. ~ Description for {'str': 'twisted body', 'str_pl': 'twisted bodies'} #: lang/json/MONSTER_from_json.py msgid "" "A human body, but with its limbs, neck, and hair impossibly twisted. It " @@ -54177,7 +56228,7 @@ msgid "vortex" msgid_plural "vortexes" msgstr[0] "涡旋" -#. ~ Description for vortex +#. ~ Description for {'str': 'vortex', 'str_pl': 'vortexes'} #: lang/json/MONSTER_from_json.py msgid "" "A twisting spot in the air, with some kind of morphing mass at its center." @@ -54249,6 +56300,19 @@ msgid "" "black eyes." msgstr "一具人类尸体,蹒跚的步伐,黑洞的眼睛潜藏着对血肉无法压抑的狂躁渴望。" +#: lang/json/MONSTER_from_json.py +msgid "wretched puker" +msgid_plural "wretched pukers" +msgstr[0] "可怖呕吐者" + +#. ~ Description for wretched puker +#: lang/json/MONSTER_from_json.py +msgid "" +"A degenerate corpse, shambling as it walks. Several junks and waste " +"materials have unified into its skin and wounds around it reeks in black " +"goo." +msgstr "一具蹒跚移动的腐化尸体。许多垃圾和废弃材料已经融入了它的皮肤,周围的伤口渗出黑色粘液并散发出臭味。" + #: lang/json/MONSTER_from_json.py msgid "acidic zombie" msgid_plural "acidic zombies" @@ -54400,9 +56464,9 @@ msgstr[0] "舞者丧尸" #. ~ Description for zombie dancer #: lang/json/MONSTER_from_json.py msgid "" -"The foulest stench is in the air, \n" -"The funk of forty thousand years, \n" -"And grisly ghouls from every tomb, \n" +"The foulest stench is in the air,\n" +"The funk of forty thousand years,\n" +"And grisly ghouls from every tomb,\n" "Are closing in to seal your doom!\n" "\n" "The dancer doesn't even notice you, it seems like something nearby is controlling it." @@ -54410,7 +56474,7 @@ msgstr "" "恶臭在空气里散发,\n" "四千年的怖妖,\n" "坟堆里的尸鬼,\n" -"就将来完结你的性命!--迈克尔杰克逊《Thriller》\n" +"就将来完结你的性命!——迈克尔杰克逊《Thriller》\n" "\n" "舞者丧尸根本没留意到你,它似乎被邻近的某个东西操纵着。" @@ -54515,10 +56579,10 @@ msgstr "一具灰白的皮肤下充满了臌胀的腐败气体的尸体,隆起 #: lang/json/MONSTER_from_json.py msgid "gangrenous flesh" -msgid_plural "gangrenous fleshs" +msgid_plural "gangrenous flesh" msgstr[0] "坏疽肉块" -#. ~ Description for gangrenous flesh +#. ~ Description for {'str': 'gangrenous flesh', 'str_pl': 'gangrenous flesh'} #: lang/json/MONSTER_from_json.py msgid "" "Immobile from grievous wounds, its gray skin has bloated to near rupture " @@ -54683,15 +56747,15 @@ msgstr[0] "战栗丧尸" #. ~ Description for Thriller #: lang/json/MONSTER_from_json.py msgid "" -"And though you fight to stay alive, \n" -"Your body starts to shiver. \n" -"For no mere mortal can resist, \n" +"And though you fight to stay alive,\n" +"Your body starts to shiver.\n" +"For no mere mortal can resist,\n" "The evil of the thriller." msgstr "" "虽然你为了生存而战,\n" "你的身体开始颤抖。\n" "凡人不能抵挡,\n" -"颤栗的邪恶--迈克尔杰克逊《Thriller》" +"颤栗的邪恶——迈克尔杰克逊《Thriller》" #: lang/json/MONSTER_from_json.py msgid "zombie snapper" @@ -54998,7 +57062,7 @@ msgstr "一条看似正常的美洲狮,但仔细观察会发现它的后腿肿 #: lang/json/MONSTER_from_json.py msgid "skeletal juggernaut" msgid_plural "skeletal juggernauts" -msgstr[0] "骷髅霸主" +msgstr[0] "骷髅巨兽" #. ~ Description for skeletal juggernaut #: lang/json/MONSTER_from_json.py @@ -55013,7 +57077,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "fungal juggernaut" msgid_plural "fungal juggernauts" -msgstr[0] "真菌霸主" +msgstr[0] "真菌巨兽" #. ~ Description for fungal juggernaut #: lang/json/MONSTER_from_json.py @@ -55094,7 +57158,7 @@ msgid "dragonfly" msgid_plural "dragonflies" msgstr[0] "蜻蜓" -#. ~ Description for dragonfly +#. ~ Description for {'str': 'dragonfly', 'str_pl': 'dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A thin-bodied insectoid predator with a large wingspan and big compound " @@ -55516,7 +57580,7 @@ msgid "zombie child" msgid_plural "zombie children" msgstr[0] "儿童丧尸" -#. ~ Description for zombie child +#. ~ Description for {'str': 'zombie child', 'str_pl': 'zombie children'} #: lang/json/MONSTER_from_json.py msgid "" "It was only a child, and little is different about it now aside from the " @@ -55603,7 +57667,7 @@ msgid "fungal child" msgid_plural "fungal children" msgstr[0] "真菌儿童" -#. ~ Description for fungal child +#. ~ Description for {'str': 'fungal child', 'str_pl': 'fungal children'} #: lang/json/MONSTER_from_json.py msgid "" "It is hard to recognize a human child in this creature. Disgusting-looking " @@ -55860,10 +57924,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic fox" -msgid_plural "old animatronic foxs" +msgid_plural "old animatronic foxes" msgstr[0] "老旧模型狐狸" -#. ~ Description for old animatronic fox +#. ~ Description for {'str': 'old animatronic fox', 'str_pl': 'old animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -55873,10 +57938,11 @@ msgstr "一只双足站立的机械电动模型狐狸,体型大约是你的两 #: lang/json/MONSTER_from_json.py msgid "new animatronic fox" -msgid_plural "new animatronic foxs" +msgid_plural "new animatronic foxes" msgstr[0] "新型模型狐狸" -#. ~ Description for new animatronic fox +#. ~ Description for {'str': 'new animatronic fox', 'str_pl': 'new animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -55886,10 +57952,11 @@ msgstr "一只双足站立的机械电动模型狐狸,体型大约是你的两 #: lang/json/MONSTER_from_json.py msgid "wrecked animatronic fox" -msgid_plural "wrecked animatronic foxs" +msgid_plural "wrecked animatronic foxes" msgstr[0] "模型狐狸残骸" -#. ~ Description for wrecked animatronic fox +#. ~ Description for {'str': 'wrecked animatronic fox', 'str_pl': 'wrecked +#. animatronic foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A wrecked animatronic fox, laying in a pile on the ground. Its teeth and " @@ -55899,10 +57966,11 @@ msgstr "一架模型狐狸残骸,烂成一堆散在地上。它的爪牙都很 #: lang/json/MONSTER_from_json.py msgid "new animatronic bunny" -msgid_plural "new animatronic bunnys" +msgid_plural "new animatronic bunnies" msgstr[0] "新型模型兔子" -#. ~ Description for new animatronic bunny +#. ~ Description for {'str': 'new animatronic bunny', 'str_pl': 'new +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its actually quite " @@ -55913,10 +57981,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic bunny" -msgid_plural "old animatronic bunnys" +msgid_plural "old animatronic bunnies" msgstr[0] "老旧模型兔子" -#. ~ Description for old animatronic bunny +#. ~ Description for {'str': 'old animatronic bunny', 'str_pl': 'old +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its face has been torn" @@ -56097,7 +58166,8 @@ msgid "animatronic sheep" msgid_plural "animatronic sheep" msgstr[0] "模型羊" -#. ~ Description for animatronic sheep +#. ~ Description for {'str': 'animatronic sheep', 'str_pl': 'animatronic +#. sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic sheep, nearly twice your size. Its wool is mangy and " @@ -56119,10 +58189,11 @@ msgstr "一只双足站立的机械电动模型鹿,体型大约是你的两倍 #: lang/json/MONSTER_from_json.py msgid "animatronic child" -msgid_plural "animatronic childs" +msgid_plural "animatronic children" msgstr[0] "模型儿童" -#. ~ Description for animatronic child +#. ~ Description for {'str': 'animatronic child', 'str_pl': 'animatronic +#. children'} #: lang/json/MONSTER_from_json.py msgid "" "An animatronic child. It looks like it's annoying as hell. Though it is a " @@ -56143,10 +58214,11 @@ msgstr "一个会自己移动的提线木偶。但是你找不到它的线。" #: lang/json/MONSTER_from_json.py msgid "animatronic wolf" -msgid_plural "animatronic wolfs" +msgid_plural "animatronic wolves" msgstr[0] "模型狼" -#. ~ Description for animatronic wolf +#. ~ Description for {'str': 'animatronic wolf', 'str_pl': 'animatronic +#. wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic wolf, nearly twice your size. If the animal " @@ -56307,10 +58379,11 @@ msgstr "这具血肉内脏尽失的行走骨架,令人颤栗入骨。在它骨 #: lang/json/MONSTER_from_json.py msgid "minion of skeltal" -msgid_plural "minion of skeltals" +msgid_plural "minions of skeltal" msgstr[0] "骷髅先生的爪牙" -#. ~ Description for minion of skeltal +#. ~ Description for {'str': 'minion of skeltal', 'str_pl': 'minions of +#. skeltal'} #: lang/json/MONSTER_from_json.py msgid "A lesser skeleton, raised by the forlorn dooting of a trumpet." msgstr "一个较小的骷髅,被小号的哀怨的曲调声所唤醒。" @@ -56329,10 +58402,10 @@ msgstr "曾经是头熊,现在仅存一具冒着烟的躯壳。它那深邃的 #: lang/json/MONSTER_from_json.py msgid "Compsognathus" -msgid_plural "Compsognathuss" +msgid_plural "Compsognathus" msgstr[0] "美颌龙" -#. ~ Description for Compsognathus +#. ~ Description for {'str': 'Compsognathus', 'str_pl': 'Compsognathus'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal dinosaur about the size of a turkey. Its teeth and claws are " @@ -56341,10 +58414,10 @@ msgstr "火鸡大小的小型的双足肉食性兽脚亚目恐龙。牙齿和爪 #: lang/json/MONSTER_from_json.py msgid "Gallimimus" -msgid_plural "Gallimimuss" +msgid_plural "Gallimimus" msgstr[0] "似鸡龙" -#. ~ Description for Gallimimus +#. ~ Description for {'str': 'Gallimimus', 'str_pl': 'Gallimimus'} #: lang/json/MONSTER_from_json.py msgid "" "A feathered bipedal dinosaur, standing as tall as a human. It looks " @@ -56353,10 +58426,10 @@ msgstr "一种有羽毛的两足恐龙,站立时和人类一样高,它看上 #: lang/json/MONSTER_from_json.py msgid "Titanis" -msgid_plural "Titaniss" +msgid_plural "Titanis" msgstr[0] "泰坦鸟" -#. ~ Description for Titanis +#. ~ Description for {'str': 'Titanis', 'str_pl': 'Titanis'} #: lang/json/MONSTER_from_json.py msgid "" "It looks like a dodo, only much bigger, with longer, muscular legs and a " @@ -56365,10 +58438,10 @@ msgstr "它看上去像渡渡鸟,只是大了很多,有着又长又有肌肉 #: lang/json/MONSTER_from_json.py msgid "Spinosaurus" -msgid_plural "Spinosauruss" +msgid_plural "Spinosaurus" msgstr[0] "棘龙" -#. ~ Description for Spinosaurus +#. ~ Description for {'str': 'Spinosaurus', 'str_pl': 'Spinosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge dinosaur about the size of a small house, with a ferocious crocodile-" @@ -56377,20 +58450,21 @@ msgstr "一种巨型恐龙,有一栋小房子那么高,有着凶猛的像鳄 #: lang/json/MONSTER_from_json.py msgid "Tyrannosaurus rex" -msgid_plural "Tyrannosaurus rexs" +msgid_plural "Tyrannosaurus rex" msgstr[0] "雷克斯霸王龙" -#. ~ Description for Tyrannosaurus rex +#. ~ Description for {'str': 'Tyrannosaurus rex', 'str_pl': 'Tyrannosaurus +#. rex'} #: lang/json/MONSTER_from_json.py msgid "Look at those TEETH!" msgstr "看看它的那些牙!齿!" #: lang/json/MONSTER_from_json.py msgid "Triceratops" -msgid_plural "Triceratopss" +msgid_plural "Triceratops" msgstr[0] "三角龙" -#. ~ Description for Triceratops +#. ~ Description for {'str': 'Triceratops', 'str_pl': 'Triceratops'} #: lang/json/MONSTER_from_json.py msgid "" "A massive rhino-like dinosaur with a bony crest from which three large horns" @@ -56399,20 +58473,20 @@ msgstr "一种庞大的、犀牛般的恐龙。头上有三个大角和一个骨 #: lang/json/MONSTER_from_json.py msgid "Stegosaurus" -msgid_plural "Stegosauruss" +msgid_plural "Stegosaurus" msgstr[0] "剑龙" -#. ~ Description for Stegosaurus +#. ~ Description for {'str': 'Stegosaurus', 'str_pl': 'Stegosaurus'} #: lang/json/MONSTER_from_json.py msgid "A large quadruped dinosaur with plates on its back, and a spiked tail." msgstr "一种巨大的四足恐龙,背上有骨板,尾巴上有骨钉。" #: lang/json/MONSTER_from_json.py msgid "Ankylosaurus" -msgid_plural "Ankylosauruss" +msgid_plural "Ankylosaurus" msgstr[0] "甲龙" -#. ~ Description for Ankylosaurus +#. ~ Description for {'str': 'Ankylosaurus', 'str_pl': 'Ankylosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "This dinosaur looks like a giant prehistoric armadillo. Its tail ends in a " @@ -56421,10 +58495,10 @@ msgstr "这种恐龙看上去像是一种巨大的史前犰狳,它的尾端有 #: lang/json/MONSTER_from_json.py msgid "Allosaurus" -msgid_plural "Allosauruss" +msgid_plural "Allosaurus" msgstr[0] "异特龙" -#. ~ Description for Allosaurus +#. ~ Description for {'str': 'Allosaurus', 'str_pl': 'Allosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A large predatory bipedal dinosaur, with tiger-like stripes on its broad " @@ -56457,10 +58531,10 @@ msgstr "一种身体覆盖有羽毛的小型两足恐龙。四肢上有钩状利 #: lang/json/MONSTER_from_json.py msgid "Deinonychus" -msgid_plural "Deinonychuss" +msgid_plural "Deinonychus" msgstr[0] "恐爪龙" -#. ~ Description for Deinonychus +#. ~ Description for {'str': 'Deinonychus', 'str_pl': 'Deinonychus'} #: lang/json/MONSTER_from_json.py msgid "" "A medium-sized bipedal dinosaur covered with feathers. At the end of each " @@ -56481,10 +58555,10 @@ msgstr "一种巨大的两足恐龙。有着被羽毛覆盖的胳膊、一个长 #: lang/json/MONSTER_from_json.py msgid "Parasaurolophus" -msgid_plural "Parasaurolophuss" +msgid_plural "Parasaurolophus" msgstr[0] "副栉龙" -#. ~ Description for Parasaurolophus +#. ~ Description for {'str': 'Parasaurolophus', 'str_pl': 'Parasaurolophus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge mottled dinosaur with a blunt head crest. It contentedly strips " @@ -56503,10 +58577,10 @@ msgstr "一种小型的飞行动物,在头顶不断盘旋,寻找猎物。" #: lang/json/MONSTER_from_json.py msgid "Dilophosaurus" -msgid_plural "Dilophosauruss" +msgid_plural "Dilophosaurus" msgstr[0] "双脊龙" -#. ~ Description for Dilophosaurus +#. ~ Description for {'str': 'Dilophosaurus', 'str_pl': 'Dilophosaurus'} #: lang/json/MONSTER_from_json.py msgid "A medium dinosaur with a sticky green bile dripping from its teeth." msgstr "一种中型恐龙,它的齿间不断有绿色的粘稠液体流下。" @@ -56597,6 +58671,19 @@ msgid "" msgstr "" "这只黑龙似乎还处于幼年。它的眼睛已经开始在眼眶中下陷,而它的弯曲的节状龙角的尖端才刚刚开始变暗。你仅仅是看它一眼就知道这种生物邪恶到底。尽管这只龙还没有发育完全,但它已经有一头成年公牛的大小。" +#: lang/json/MONSTER_from_json.py +msgid "adult black dragon" +msgid_plural "adult black dragons" +msgstr[0] "成年黑龙" + +#. ~ Description for adult black dragon +#: lang/json/MONSTER_from_json.py +msgid "" +"A black-scaled monstrosity with deep-set eye sockets glowing green with " +"evil. Its face and skull appear skeletal, and acid drips from its dagger-" +"like jaws." +msgstr "一只布满黑色鳞片的怪物,有着深沉的眼窝,内部闪烁着邪恶的绿光。它的脸和头骨看起来像是骷髅一样,酸液从匕首状的下颚上滴落下来。" + #: lang/json/MONSTER_from_json.py msgid "owlbear" msgid_plural "owlbears" @@ -56611,7 +58698,7 @@ msgid "" "ravenous eaters, aggressive hunters, and evil tempered at all times. They " "attack prey on sight and will fight to the death." msgstr "" -"这只可怕的枭熊兽可能是某个疯狂的巫师进行基因实验的结果。这些生物生活在温带气候中错综复杂的森林地区里,以及地下迷宫之中。它们是贪婪的食尸者,好斗的猎手,而且总是脾气暴躁。它们一看见猎物就攻击,并且会战斗到死。" +"这只可怕的枭熊兽可能是某个疯狂的魔法师进行基因实验的结果。这些生物生活在温带气候中错综复杂的森林地区里,以及地下迷宫之中。它们是贪婪的食尸者,好斗的猎手,而且总是脾气暴躁。它们一看见猎物就攻击,并且会战斗到死。" #: lang/json/MONSTER_from_json.py msgid "black pudding" @@ -56631,21 +58718,24 @@ msgid "The black pudding burns you with acid!" msgstr "黑布丁怪喷出酸液灼烧你!" #: lang/json/MONSTER_from_json.py -msgid "nothic" -msgid_plural "nothics" -msgstr[0] "诺斯克" +msgid "krabgek" +msgid_plural "krabgeks" +msgstr[0] "魔眼怪" -#. ~ Description for nothic +#. ~ Description for krabgek #: lang/json/MONSTER_from_json.py msgid "" -"A baleful eye peers out from the darkness, its gleam hinting at a weird " -"intelligence and unnerving malevolence." -msgstr "一只邪恶的眼珠在黑暗中向外窥探,眼睛的闪光显示出它怪异的智慧和令人不安的恶意。" +"A large baleful eye peers out from the darkness, its gleam hinting at a " +"weird intelligence and unnerving malevolence. The eye oozes some pinkish " +"liquid, and the weirdly humanoid figure is covered in sharp blue-black " +"triangular plates." +msgstr "" +"一只邪恶的巨眼在黑暗中向外窥探,眼睛的闪光显示出它怪异的智慧和令人不安的恶意。巨眼中渗出某种粉色的液体,其人形的身体覆盖着诡异的蓝黑色尖锐三角甲板。" -#. ~ Attack message of monster "nothic"'s spell "necrotic_gaze" +#. ~ Attack message of monster "krabgek"'s spell "necrotic_gaze" #: lang/json/MONSTER_from_json.py -msgid "The nothic gazes at %3$s!" -msgstr "诺斯克盯向了%3$s!" +msgid "The krabgek gazes at %3$s!" +msgstr "魔眼怪朝%3$s凝视!" #: lang/json/MONSTER_from_json.py msgid "owlbear cub" @@ -56666,7 +58756,7 @@ msgid "" " flesh. The stupid bulette is irascible and always hungry, and they fear " "nothing." msgstr "" -"鲨蜥兽是一个疯狂巫师的实验结果,他将啮龟和犰狳进行杂交并注入了恶魔的灵液。它们生活在温带地区,以马、人和大多数其他动物为食。愚蠢的鲨蜥兽脾气暴躁,总是饥肠辘辘,它们什么也不怕。" +"鲨蜥兽是一个某个疯狂的魔法师的实验结果,他将啮龟和犰狳进行杂交并注入了恶魔的灵液。它们生活在温带地区,以马、人和大多数其他动物为食。愚蠢的鲨蜥兽脾气暴躁,总是饥肠辘辘,它们什么也不怕。" #: lang/json/MONSTER_from_json.py msgid "will-o-wisp" @@ -56689,10 +58779,46 @@ msgstr[0] "巨魔" #. ~ Description for troll #: lang/json/MONSTER_from_json.py msgid "" -"Monstrous, green-skinned humanoid. Trolls are renowned for their thick hides" -" and natural regenerative ability." +"Monstrous, green-skinned humanoid. Trolls are renowned for their thick " +"hides and natural regenerative ability." msgstr "一只体型庞大的绿色皮肤的类人生物。巨魔以其厚皮和自然再生能力而闻名。" +#: lang/json/MONSTER_from_json.py +msgid "stirge" +msgid_plural "stirges" +msgstr[0] "蚊蝠" + +#. ~ Description for stirge +#: lang/json/MONSTER_from_json.py +msgid "" +"This horrid flying creature looks like a cross between a large bat and " +"oversized mosquito." +msgstr "这只可怕的飞行生物看起来就像一只大蝙蝠和一只超大蚊子的杂交。" + +#: lang/json/MONSTER_from_json.py +msgid "shrieker" +msgid_plural "shriekers" +msgstr[0] "尖叫蘑菇怪" + +#. ~ Description for shrieker +#: lang/json/MONSTER_from_json.py +msgid "" +"A shrieker is a human-sized mushroom that emits a piercing screech to drive " +"off creatures that disturb it." +msgstr "尖叫蘑菇怪是一种和人一样大的蘑菇,通过发出刺耳的尖叫声来驱赶打扰它的生物。" + +#: lang/json/MONSTER_from_json.py +msgid "lemure" +msgid_plural "lemures" +msgstr[0] "劣魔" + +#. ~ Description for lemure +#: lang/json/MONSTER_from_json.py +msgid "" +"A lemure resembles a molten mass of flesh with a vaguely humanoid head and " +"torso." +msgstr "劣魔就像一团融化的血肉,勉强能看出它有着人形的头部和躯干。" + #: lang/json/MONSTER_from_json.py msgid "automated turret" msgid_plural "automated turrets" @@ -57158,10 +59284,10 @@ msgstr "\"幽灵怪\"(12N)10 级建筑工型机器人 。该型号是\"幽 #: lang/json/MONSTER_from_json.py msgid "craftbuddy" -msgid_plural "craftbuddys" +msgid_plural "craftbuddies" msgstr[0] "制造小帮手" -#. ~ Description for craftbuddy +#. ~ Description for {'str': 'craftbuddy', 'str_pl': 'craftbuddies'} #: lang/json/MONSTER_from_json.py msgid "" "A mobile crafting station used by workers in mines, on oil rigs, and in " @@ -57742,10 +59868,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "robote deluxe" -msgid_plural "robote deluxes" +msgid_plural "robote deluxe" msgstr[0] "豪华机器人" -#. ~ Description for robote deluxe +#. ~ Description for {'str': 'robote deluxe', 'str_pl': 'robote deluxe'} #: lang/json/MONSTER_from_json.py msgid "" "A diamond-studded gold-plated robot armed with a pair of integrated 9mm " @@ -57785,10 +59911,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "glittering lady" -msgid_plural "glittering ladys" +msgid_plural "glittering ladies" msgstr[0] "机器闪光女士" -#. ~ Description for glittering lady +#. ~ Description for {'str': 'glittering lady', 'str_pl': 'glittering ladies'} #: lang/json/MONSTER_from_json.py msgid "" "A salvaged advanced robot transformed into a luminous beacon of destruction." @@ -57912,12 +60038,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gelatinous mass" -msgid_plural "gelatinous masss" +msgid_plural "gelatinous mass" msgstr[0] "凝胶变形怪" -#. ~ Description for gelatinous mass -#. ~ Description for gray mass -#. ~ Description for gelatinous mass +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} +#. ~ Description for {'str': 'gray mass', 'str_pl': 'gray mass'} +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} #: lang/json/MONSTER_from_json.py msgid "" "An escaping noisy blob, catch it before it brings in every zombie for miles!" @@ -57925,7 +60051,7 @@ msgstr "一个正在逃跑的吵闹的变形怪,在它引过来附近一英里 #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gray mass" -msgid_plural "gray masss" +msgid_plural "gray mass" msgstr[0] "灰色变形怪" #: lang/json/MONSTER_from_json.py @@ -58501,6 +60627,25 @@ msgstr "神器召唤昆虫" msgid "Summon some bugs." msgstr "召唤一些昆虫。" +#: lang/json/SPELL_from_json.py +msgid "Artifact Noise" +msgstr "神器噪声" + +#. ~ Description for Artifact Noise +#: lang/json/SPELL_from_json.py +msgid "Makes a noise at your location" +msgstr "在你的位置制造噪声。" + +#. ~ description for the sound of spell 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "a deafening boom" +msgstr "震耳欲聋的爆炸声" + +#. ~ Message for SPELL 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "You hear a deafening boom from your location!" +msgstr "你听见自己的位置上传来震耳欲聋的爆炸声。" + #: lang/json/SPELL_from_json.py msgid "Artifact Light" msgstr "神器光芒" @@ -58581,7 +60726,7 @@ msgstr "获得你附近的大地图视野。" #. ~ Message for SPELL 'Artifact Map' #: lang/json/SPELL_from_json.py src/iuse.cpp -msgid "You have a vision of the surrounding area..." +msgid "You have a vision of the surrounding area…" msgstr "你感觉到自己看清了周边地区的地图……" #: lang/json/SPELL_from_json.py @@ -58621,6 +60766,80 @@ msgstr "神器变异" msgid "Mutates you randomly" msgstr "让你随机获得变异。" +#: lang/json/SPELL_from_json.py +msgid "Bolt" +msgstr "闪电" + +#. ~ Description for Bolt +#: lang/json/SPELL_from_json.py +msgid "One of the bolts thrown by AEA_STORM" +msgstr "神器风暴所制造出的闪电" + +#. ~ description for the sound of spell 'Bolt' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "Ka-BOOM!" +msgstr "咔-嘣!" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Storm" +msgstr "神器风暴" + +#. ~ Description for Artifact Storm +#: lang/json/SPELL_from_json.py +msgid "Calls down a storm near you" +msgstr "在你四周施放闪电风暴。" + +#: lang/json/SPELL_from_json.py +msgid "Morale Scream" +msgstr "心灵尖啸" + +#. ~ Description for Morale Scream +#: lang/json/SPELL_from_json.py +msgid "Morale effect from AEA_SCREAM" +msgstr "神器尖啸的心情惩罚" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Entrance" +msgstr "神器魅惑" + +#. ~ Description for Artifact Entrance +#: lang/json/SPELL_from_json.py +msgid "Entrances surrounding monsters" +msgstr "魅惑四周的怪物。" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Scream" +msgstr "神器尖啸" + +#. ~ Description for Artifact Scream +#: lang/json/SPELL_from_json.py +msgid "An ethereal scream" +msgstr "空灵的尖啸声" + +#. ~ description for the sound of spell 'Artifact Scream' +#: lang/json/SPELL_from_json.py +msgid "an ethereal scream" +msgstr "空灵的尖啸声" + +#: lang/json/SPELL_from_json.py +msgid "Bash Terrain" +msgstr "砸碎地形" + +#. ~ Description for Bash Terrain +#. ~ Description for Artifact Pulse +#: lang/json/SPELL_from_json.py +msgid "Damages the terrain" +msgstr "砸碎周围地形" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Pulse" +msgstr "神器冲击波" + +#. ~ description for the sound of spell 'Artifact Pulse' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "The earth shakes!" +msgstr "你感觉到脚下的大地在震动!" + #: lang/json/SPELL_from_json.py src/memorial_logger.cpp src/player_display.cpp msgid "Pain" msgstr "疼痛" @@ -58713,8 +60932,8 @@ msgstr "泛灵师符文" #. ~ Description for Animist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Animists. You can use the rune" -" as a catalyst for recipes." +"This ritual creates a small pebble attuned to Animists. You can use the " +"rune as a catalyst for recipes." msgstr "这仪式会创造出一块与泛灵师共鸣的小石块。你可以将符文作为催化剂用于制造其它物品。" #: lang/json/SPELL_from_json.py @@ -58752,7 +60971,7 @@ msgstr "生化术士符文" #. ~ Description for Biomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Biomancers. You can use the " +"This ritual creates a small pebble attuned to Biomancers. You can use the " "rune as a catalyst for recipes." msgstr "这仪式会创造出一块与生化术士共鸣的小石块。你可以将符文作为催化剂用于制造其它物品。" @@ -58850,7 +61069,7 @@ msgstr "使用一点耐力。" #. ~ Message for SPELL 'Debug Stamina Spell' #: lang/json/SPELL_from_json.py #, python-format -msgid "Debug spell [ %s ] has no effect. Debug warning is expected." +msgid "Debug spell [ %s ] has no effect. Debug warning is expected." msgstr "调试用法术 [ %s ] 没有效果。将会出现调试警告。" #: lang/json/SPELL_from_json.py @@ -59008,7 +61227,7 @@ msgstr "德鲁伊符文" #. ~ Description for Druid Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Druids. You can use the rune " +"This ritual creates a small pebble attuned to Druids. You can use the rune " "as a catalyst for recipes." msgstr "这仪式会创造出一块与德鲁伊共鸣的小石块。你可以将符文作为催化剂用于制造其它物品。" @@ -59019,8 +61238,8 @@ msgstr "净化之种" #. ~ Description for Purification Seed #: lang/json/SPELL_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Rapidly degrades if " -"not utilized." +"You summon a gift of the earth which will purify water. Rapidly degrades if" +" not utilized." msgstr "你召唤了大地的馈赠,可用于净水。若不及时使用很快就会变质。" #: lang/json/SPELL_from_json.py @@ -59067,10 +61286,37 @@ msgstr "塑地者符文" #. ~ Description for Earthshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Earthshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Earthshapers. You can use the" +" rune as a catalyst for recipes." msgstr "这仪式会创造出一块与塑地者共鸣的小石块。你可以将符文作为催化剂用于制造其它物品。" +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Shrapnel" +msgstr "熔岩炸弹碎岩" + +#. ~ Description for Lava Bomb Shrapnel +#. ~ Description for Lava Bomb Heat +#. ~ Description for Lava Bomb Terrain +#: lang/json/SPELL_from_json.py +msgid "This is a sub spell for the Lava Bomb spell." +msgstr "这只是熔岩炸弹附属的法术。" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Heat" +msgstr "熔岩炸弹热浪" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Terrain" +msgstr "熔岩炸弹地形" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb" +msgstr "熔岩炸弹" + +#: lang/json/SPELL_from_json.py +msgid "Clairvoyance" +msgstr "透视" + #: lang/json/SPELL_from_json.py msgid "Twisted Restoration" msgstr "扭曲恢复" @@ -59078,7 +61324,7 @@ msgstr "扭曲恢复" #. ~ Description for Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" " condition." msgstr "这个法术会超载加速你的心脏,以再生皮肤和肌肉。这个法术不应在危险来临时使用,否则可能会造成致命性后果。" @@ -59090,12 +61336,27 @@ msgstr "改良扭曲恢复" #. ~ Description for Improved Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" -" condition. Improved brewing mitigates the strain of the spell." +" condition. Improved brewing mitigates the strain of the spell." msgstr "" "这个法术会超载加速你的心脏,以再生皮肤和肌肉。这个法术不应在危险来临时使用,否则可能会造成致命性后果。改良的制药方式降低了法术对身体的负担。" +#: lang/json/SPELL_from_json.py +msgid "Conjure Throwing Blade I" +msgstr "召唤飞刃 I" + +#. ~ Description for Conjure Throwing Blade I +#: lang/json/SPELL_from_json.py +msgid "conjures 3 throwing knives" +msgstr "召唤三把飞刀" + +#. ~ Message for SPELL 'Conjure Throwing Blade I' +#: lang/json/SPELL_from_json.py +msgid "" +"You activate your ring and three throwing knives appear, ready to throw!" +msgstr "你激活了你的戒指,三把飞刀随之产生,随时可以投掷!" + #: lang/json/SPELL_from_json.py msgid "Point Flare" msgstr "定点炎爆" @@ -59151,7 +61412,7 @@ msgstr "炽霜法师符文" #. ~ Description for Kelvinist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Kelvinists. You can use the " +"This ritual creates a small pebble attuned to Kelvinists. You can use the " "rune as a catalyst for recipes." msgstr "这仪式会创造出一块与炽霜法师共鸣的小石块。你可以将符文作为催化剂用于制造其它物品。" @@ -59194,8 +61455,8 @@ msgstr "魔术师符文" #. ~ Description for Magus Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Magi. You can use the rune as " -"a catalyst for recipes." +"This ritual creates a small pebble attuned to Magi. You can use the rune as" +" a catalyst for recipes." msgstr "这仪式会创造出一块与魔术师共鸣的小石块。你可以将符文作为催化剂用于制造其它物品。" #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py @@ -59214,10 +61475,26 @@ msgstr "巨魔之力" msgid "Fox's Cunning" msgstr "狐之狡黠" +#: lang/json/SPELL_from_json.py +msgid "Blood Suck" +msgstr "吸血" + +#. ~ Description for Blood Suck +#: lang/json/SPELL_from_json.py +msgid "Sucks blood from one foe." +msgstr "从一个敌人身上吸血。" + #: lang/json/SPELL_from_json.py msgid "Jolt" msgstr "震颤电击" +#. ~ description for the sound of spell 'Jolt' +#. ~ description for the sound of spell 'Lightning Bolt' +#. ~ description for the sound of spell 'Lightning Blast' +#: lang/json/SPELL_from_json.py +msgid "a crackle" +msgstr "噼里啪啦的闪电声" + #: lang/json/SPELL_from_json.py msgid "Lightning Bolt" msgstr "闪电束" @@ -59226,6 +61503,11 @@ msgstr "闪电束" msgid "Windstrike" msgstr "风击术" +#. ~ description for the sound of spell 'Windstrike' +#: lang/json/SPELL_from_json.py +msgid "a whoosh" +msgstr "嗖的一声" + #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py msgid "Windrunning" msgstr "风行术" @@ -59241,8 +61523,8 @@ msgstr "风暴塑造者符文" #. ~ Description for Stormshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Stormshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Stormshapers. You can use the" +" rune as a catalyst for recipes." msgstr "这仪式会创造出一块与风暴塑造者共鸣的小石块。你可以将符文作为催化剂用于制造其它物品。" #: lang/json/SPELL_from_json.py @@ -59303,8 +61585,8 @@ msgstr "科技法师符文" #. ~ Description for Technomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Technomancers. You can use the" -" rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Technomancers. You can use " +"the rune as a catalyst for recipes." msgstr "这仪式会创造出一块与科技法师共鸣的小石块。你可以将符文作为催化剂用于制造其它物品。" #: lang/json/SPELL_from_json.py @@ -59331,6 +61613,10 @@ msgstr "召唤魔法长剑" msgid "Mirror Image" msgstr "召唤镜像" +#: lang/json/SPELL_from_json.py +msgid "X-ray Vision" +msgstr "X光视觉" + #: lang/json/SPELL_from_json.py msgid "Demon Fireball" msgstr "恶魔火球" @@ -59481,6 +61767,8 @@ msgstr[0] "采矿头盔(开)" #. ~ Use action menu_text for thermal electric balaclava (on). #. ~ Use action menu_text for headlamp (on). #. ~ Use action menu_text for survivor headlamp (on). +#. ~ Use action menu_text for 5-point anchor (on). +#. ~ Use action menu_text for phase immersion suit (on). #. ~ Use action menu_text for rebreather mask (on). #. ~ Use action menu_text for XL rebreather mask (on). #. ~ Use action menu_text for pair of light amp goggles (on). @@ -59505,9 +61793,9 @@ msgstr[0] "采矿头盔(开)" #. ~ Use action menu_text for acetylene lamp (on). #. ~ Use action menu_text for power cutter (on). #. ~ Use action menu_text for murdersaw (on). +#. ~ Use action menu_text for heat cube (torch on). #: lang/json/TOOL_ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: lang/json/TOOL_from_json.py lang/json/item_action_from_json.py #: lang/json/item_action_from_json.py lang/json/item_action_from_json.py #: src/iuse.cpp msgid "Turn off" @@ -59819,6 +62107,46 @@ msgstr "" "这是一个自制的 LED " "头灯,它经过强化比一般型号更耐用、更光亮、耗能更低,也能容纳更多的电池。头灯上的带子可以调整,让你可以把它穿在头上或者系在头盔上。它已经被开启,不断耗电来产生光亮。激活它来关闭。" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp" +msgid_plural "atomic headlamps" +msgstr[0] "原子头灯" + +#. ~ Use action msg for atomic headlamp. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You close the headlamp's cover." +msgstr "你关上了头灯的灯罩。" + +#. ~ Description for atomic headlamp +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"close the cover and hide the light." +msgstr "" +"这是一个自制的强化头灯,使用原子能衰变放出的能量照明,光线经过聚焦以达到能用的亮度。头灯上的带子可以调整,让你可以把它穿在头上或者系在头盔上。激活它来关上灯罩。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp (covered)" +msgid_plural "atomic headlamps (covered)" +msgstr[0] "原子头灯(关)" + +#. ~ Use action msg for atomic headlamp (covered). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You open the headlamp's cover." +msgstr "你打开了头灯的灯罩。" + +#. ~ Description for atomic headlamp (covered) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"open the cover and show the light." +msgstr "" +"这是一个自制的强化头灯,使用原子能衰变放出的能量照明,光线经过聚焦以达到能用的亮度。头灯上的带子可以调整,让你可以把它穿在头上或者系在头盔上。激活它来打开灯罩。" + #: lang/json/TOOL_ARMOR_from_json.py msgid "RM13 combat armor" msgid_plural "RM13 combat armors" @@ -59846,6 +62174,97 @@ msgid "" "power. Use it to turn it off." msgstr "这套流线造型的黑色军用装甲代表着Rivtech的柔性动力装甲技术的顶峰。使用钚燃料电池供电,目前工作中,激活它来关闭。" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor" +msgid_plural "5-point anchors" +msgstr[0] "五点式空间锚" + +#. ~ Use action msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "A LED light in the %s LED flickers on." +msgstr "%s上的 LED 灯亮了起来。" + +#. ~ Use action need_charges_msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "It seems like this device needs power." +msgstr "看起来这个设备需要有某种能源才能使用。" + +#. ~ Description for 5-point anchor +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A featureless, disc-shaped device mounted on a harness. The words " +"\"X.E.D.R.A\" and \"5-point anchor\" are inscribed on its front and back." +msgstr "一个装在背带上的无特征碟状装置。在它的正反两面分别刻着\"X.E.D.R.A\"和\"五点式空间锚\"两词。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor (on)" +msgid_plural "5-point anchors (on)" +msgstr[0] "五点式空间锚(开)" + +#. ~ Use action msg for 5-point anchor (on). +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "The %s LED light flickers off." +msgstr "%s上的 LED 灯熄灭了。" + +#. ~ Description for 5-point anchor (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The harness' shoulder mounted LED glows with a soft green hue. Theres no " +"further indication of anything happening." +msgstr "空间锚肩部的 LED 发出柔和的绿光。除此之外,似乎没有任何其它事情发生。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit" +msgid_plural "phase immersion suits" +msgstr[0] "相位沉浸服" + +#. ~ Use action msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Initiating\n" +"Running suit integrity diagnostics…\n" +"All systems operational." +msgstr "" +"正在初始化\n" +"进行防护服完整性诊断……\n" +"所有系统工作正常。" + +#. ~ Use action need_charges_msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Warning: Operating on minimal power. Protection compromised." +msgstr "警告:正以最低功率运行。防护已失效。" + +#. ~ Description for phase immersion suit +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. Designed to " +"protect its wearer during extra dimensional excursions, it offers " +"unparalleled environmental protection, both in this Earth and beyond. Use " +"it to turn it on." +msgstr "" +"这套高级防护服覆盖着交错的反射性金属装甲板,看上去又像板甲又像宇航服。它的设计能够在使用者进行超维度移动时提供保护,因此有着无与伦比的环境防护能力,无论是在地球还是在其它地方。使用以启动。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit (on)" +msgid_plural "phase immersion suits (on)" +msgstr[0] "相位沉浸服(开)" + +#. ~ Use action msg for phase immersion suit (on). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Suit shutting down." +msgstr "防护服正在关机。" + +#. ~ Description for phase immersion suit (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. It is turned on, " +"and continually draining power. Use it to turn it off." +msgstr "这套高级防护服覆盖着交错的反射性金属装甲板,看上去又像板甲又像宇航服。它已经启动,正在持续消耗能量。使用以关闭。" + #: lang/json/TOOL_ARMOR_from_json.py msgid "rebreather mask" msgid_plural "rebreather masks" @@ -60720,10 +63139,11 @@ msgstr "护耳的电池耗尽了。" #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py msgid "" -"A pair of earmuffs favored by shooters. The earmuffs are turned off. They " -"will block sounds over a certain decibel amount, assuming it is charged with" -" batteries." -msgstr "一对备由射手青睐的护耳。现在处于关闭状态。它们能阻挡超过一定分贝的声音,前提是有电。" +"A pair of earmuffs favored by shooters. Without batteries or when turned " +"off they function like normal earmuffs and block all sound. They will block" +" sounds over a certain decibel amount when turned on. The earmuffs are " +"currently off." +msgstr "一对备由射手青睐的护耳。没有电池或关闭时,它们就像普通耳罩,阻挡任何声音。现在处于关闭状态。它们能阻挡超过一定分贝的声音,前提是有电。" #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py @@ -61157,6 +63577,494 @@ msgid "" "power." msgstr "C.R.I.T标准版头盔。保护头部,有一段绝缘钢网,用于颈部的保暖和防护。战术手电筒已经开启,正在消耗着电量并散发出昏暗的光芒。" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic leather belt" +msgid_plural "magic leather belts" +msgstr[0] "魔法腰带" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Haste" +msgid_plural "Belt of Hastes" +msgstr[0] "迅捷绑带" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Megingjörð" +msgid_plural "Megingjörðs" +msgstr[0] "索尔的神奇腰带" + +#. ~ Description for Megingjörð +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The mythical belt of Thor, god of thunder. Or at least so it appears. It " +"doubles the wearer's base strength." +msgstr "传说中雷神索尔的神奇腰带,至少看起来是这样的。它能使佩戴者的基础力量加倍。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Lesser Girdle of Pockets" +msgid_plural "Lesser Girdle of Pocketss" +msgstr[0] "次级口袋腰带" + +#. ~ Description for Lesser Girdle of Pockets +#. ~ Description for Greater Girdle of Pockets +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, coverd in numerous small pouches " +"that hold a lot more than they should, and the weight of their contents is " +"greatly reduced." +msgstr "一条很适合你腰部的宽腰带,上面覆盖着许多小口袋,能装下超出它们体积的物品,而且口袋中的物品重量大大减少。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Greater Girdle of Pockets" +msgid_plural "Greater Girdle of Pocketss" +msgstr[0] "高级口袋腰带" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Weaponry" +msgid_plural "Belt of Weaponrys" +msgstr[0] "武器腰带" + +#. ~ Description for Belt of Weaponry +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, you can sheath or holster any " +"weapon into it in the blink of an eye, and it seemingly stores them " +"somewhere else." +msgstr "一条很适合你腰部的宽腰带,你可以在眨眼之间将任何武器收入其中,收入的物品似乎被存放在其他空间之中。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of The Iron Whip" +msgid_plural "Belts of the Iron Whip" +msgstr[0] "铁鞭腰带" + +#. ~ Use action msg for Belt of The Iron Whip. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"You grab the belt and it uncoils to become a flexible metal whip in your " +"hand!" +msgstr "你抓起腰带,它瞬间在你手中舒展开,变成一根灵活的铁鞭子!" + +#. ~ Description for Belt of The Iron Whip +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A braided but flexible belt seemingly made of metal. You can activate it to" +" transform it into a whip and flay your enemies." +msgstr "一根看上去似由金属编织而成但又十分灵活的皮带。你可以激活它,把它变成鞭子,然后切碎你的敌人。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "escape boots" +msgid_plural "escape boots" +msgstr[0] "逃脱之靴" + +#. ~ Description for escape boots +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, these boots can be activated once a day to escape from nasty " +"situations, teleporting you a good distance in a random direction." +msgstr "一双十分坚固却又非常舒适合身的旧钢头皮靴,这双靴子能够每日激活一次,将你带出任何糟糕的对局,会让你朝一个随机方向传送出一大段距离。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "pair of steel bracers" +msgid_plural "pairs of steel bracers" +msgstr[0] "钢制护腕" + +#. ~ Description for pair of steel bracers +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A full assembly of medieval arm protection." +msgstr "一对源自中世纪的手臂防护的完整集合。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "steel bracer" +msgid_plural "steel bracers" +msgstr[0] "钢制护腕" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of lesser defense" +msgid_plural "bracers of lesser defense" +msgstr[0] "次级防御护腕" + +#. ~ Description for bracer of lesser defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, silver accentuates the intricate design. It protects your body " +"with a light aura to reduce damage you take." +msgstr "一个轻巧而坚固的钢制护腕,顶部刻着华丽的盾牌图案,并用白银突出其错综复杂的设计。它能散发出一道微弱光环保护你全身,减少你所受到的伤害。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of greater defense" +msgid_plural "bracers of greater defense" +msgstr[0] "高级防御护腕" + +#. ~ Description for bracer of greater defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, gold accentuates the intricate design. It protects your body with " +"a strong aura to reduce damage you take." +msgstr "一个轻巧而坚固的钢制护腕,顶部刻着华丽的盾牌图案,并用黄金突出其错综复杂的设计。它能散发出一道强力光环保护你全身,减少你所受到的伤害。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "lesser bracer of lightning" +msgid_plural "lesser bracers of lightning" +msgstr[0] "次级闪电护腕" + +#. ~ Description for lesser bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, silver accentuates the intricate design. It " +"protects your body with a light aura to reduce electrical damage you take, " +"as well as being able to release a Jolt spell 3 times a day." +msgstr "" +"一个轻巧而坚固的钢制护腕,顶部刻着华丽的闪电图案,并用白银突出其错综复杂的设计。它能散发出一道微弱光环保护你全身,减少你所受到的电击伤害,并且能够每日施放三次震颤电击法术。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "greater bracer of lightning" +msgid_plural "greater bracers of lightning" +msgstr[0] "高级闪电护腕" + +#. ~ Description for greater bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, gold accentuates the intricate design. It " +"protects your body with a strong aura to reduce electrical damage you take, " +"as well as being able to release a Lightning Bolt spell 3 times a day." +msgstr "" +"一个轻巧而坚固的钢制护腕,顶部刻着华丽的闪电图案,并用黄金突出其错综复杂的设计。它能散发出一道强力光环保护你全身,减少你所受到的电击伤害,并且能够每日施放三次闪电束法术。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic mask" +msgid_plural "magic masks" +msgstr[0] "魔法面具" + +#. ~ Description for magic mask +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic magic mask." +msgstr "一个普通的魔法面具。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of disappearance" +msgid_plural "masks of disappearance" +msgstr[0] "消失面具" + +#. ~ Description for mask of disappearance +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A mask with no facial features at all, just eye and mouth holes, upon " +"activation it makes everything ignore your presence for a while." +msgstr "一个除了眼孔和口孔之外没有任何面部特征的面具,激活后,它会使其他生物在一段时间内忽略你的存在。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of perfect vision" +msgid_plural "masks of perfect vision" +msgstr[0] "完美视觉面具" + +#. ~ Description for mask of perfect vision +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A decidedly steampunk-looking half mask that covers the eye area of the " +"face, it has large lenses that correct and greatly enhance the vision of the" +" wearer." +msgstr "一个有着明显的蒸汽朋克风的半面具,覆盖在眼部附近,外部有着体积巨大的镜头,能够纠正并大大提高佩戴者的视力。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "copper magic ring" +msgid_plural "copper magic rings" +msgstr[0] "魔法铜戒指" + +#. ~ Description for copper magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic copper magic ring." +msgstr "一枚普通的魔法铜戒指。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic ring" +msgid_plural "magic rings" +msgstr[0] "魔法戒指" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic silver magic ring." +msgstr "一枚普通的魔法银戒指。" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic gold magic ring." +msgstr "一枚普通的魔法金戒指。" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic platinum magic ring." +msgstr "一枚普通的魔法铂金戒指。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of blades" +msgid_plural "rings of blades" +msgstr[0] "飞刃戒指" + +#. ~ Description for ring of blades +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"An ornate silver ring engraved with daggers that conjures a near perfect " +"throwing knife into your hand on activation." +msgstr "一枚华丽的银制戒指,上面刻着匕首。它被激活时能够在你手中召唤出一把近乎完美的飞刀。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +1" +msgid_plural "minor rings of strength +1" +msgstr[0] "力量戒指 +1" + +#. ~ Description for ring of strength +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little stronger when you wear it." +msgstr "一枚铜戒指,戴上它让你觉得自己稍微强壮了一些。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +2" +msgid_plural "rings of strength +2" +msgstr[0] "力量戒指 +2" + +#. ~ Description for ring of strength +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit stronger when you wear it." +msgstr "一枚银戒指,戴上它让你觉得自己强壮了不少。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +3" +msgid_plural "rings of strength +3" +msgstr[0] "力量戒指 +3" + +#. ~ Description for ring of strength +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly stronger when you wear it." +msgstr "一枚金戒指,戴上它让你觉得自己更加强壮了。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +4" +msgid_plural "rings of strength +4" +msgstr[0] "力量戒指 +4" + +#. ~ Description for ring of strength +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much stronger when you wear it." +msgstr "一枚铂金戒指,戴上它让你觉得自己非常强壮。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +1" +msgid_plural "rings of dexterity +1" +msgstr[0] "敏捷戒指 +1" + +#. ~ Description for ring of dexterity +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little more agile when you wear it." +msgstr "一枚铜戒指,戴上它让你觉得自己稍微灵敏了一些。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +2" +msgid_plural "rings of dexterity +2" +msgstr[0] "敏捷戒指 +2" + +#. ~ Description for ring of dexterity +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit more agile when you wear it." +msgstr "一枚银戒指,戴上它让你觉得自己灵敏了不少。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +3" +msgid_plural "rings of dexterity +3" +msgstr[0] "敏捷戒指 +3" + +#. ~ Description for ring of dexterity +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly more agile when you wear it." +msgstr "一枚金戒指,戴上它让你觉得自己更加灵敏了。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +4" +msgid_plural "rings of dexterity +4" +msgstr[0] "敏捷戒指 +4" + +#. ~ Description for ring of dexterity +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more agile when you wear it." +msgstr "一枚铂金戒指,戴上它让你觉得自己非常灵敏。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +1" +msgid_plural "rings of intelligence +1" +msgstr[0] "智力戒指 +1" + +#. ~ Description for ring of intelligence +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more intelligent when you wear it." +msgstr "一枚铜戒指,戴上它让你觉得自己稍微聪明了一些。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +2" +msgid_plural "rings of intelligence +2" +msgstr[0] "智力戒指 +2" + +#. ~ Description for ring of intelligence +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more intelligent when you wear it." +msgstr "一枚银戒指,戴上它让你觉得自己聪明了不少。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +3" +msgid_plural "rings of intelligence +3" +msgstr[0] "智力戒指 +3" + +#. ~ Description for ring of intelligence +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you surprisingly more intelligent when you wear it." +msgstr "一枚金戒指,戴上它让你觉得自己更加聪明了。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +4" +msgid_plural "rings of intelligence +4" +msgstr[0] "智力戒指 +4" + +#. ~ Description for ring of intelligence +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more intelligent when you wear it." +msgstr "一枚铂金戒指,戴上它让你觉得自己非常聪明。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +1" +msgid_plural "rings of perception +1" +msgstr[0] "感知戒指 +1" + +#. ~ Description for ring of perception +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more perceptive when you wear it." +msgstr "一枚铜戒指,戴上它让你觉得自己稍微敏锐了一些。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +2" +msgid_plural "rings of perception +2" +msgstr[0] "感知戒指 +2" + +#. ~ Description for ring of perception +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more perceptive when you wear it." +msgstr "一枚银戒指,戴上它让你觉得自己敏锐了不少。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +3" +msgid_plural "rings of perception +3" +msgstr[0] "感知指环 +3" + +#. ~ Description for ring of perception +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you eye-openingly more perceptive when you wear it." +msgstr "一枚金戒指,戴上它让你觉得自己更加敏锐了。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +4" +msgid_plural "rings of perception +4" +msgstr[0] "感知戒指 +4" + +#. ~ Description for ring of perception +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more perceptive when you wear it." +msgstr "一枚铂金戒指,戴上它让你觉得自己非常敏锐。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +3" +msgid_plural "rings of speed +3" +msgstr[0] "速度戒指 +3" + +#. ~ Description for ring of speed +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little faster when you wear it." +msgstr "一枚铜戒指,戴上它让你觉得自己动作变得迅速了一些。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +5" +msgid_plural "rings of speed +5" +msgstr[0] "速度戒指 +5" + +#. ~ Description for ring of speed +5 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit faster when you wear it." +msgstr "一枚银戒指,戴上它让你觉得自己迅速了不少。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +7" +msgid_plural "rings of speed +7" +msgstr[0] "速度戒指 +7" + +#. ~ Description for ring of speed +7 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you quite hasty when you wear it." +msgstr "一枚金戒指,戴上它让你觉得自己更加迅捷了。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +10" +msgid_plural "rings of speed +10" +msgstr[0] "速度戒指 +10" + +#. ~ Description for ring of speed +10 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much faster when you wear it." +msgstr "一枚铂金戒指,戴上它让你觉得自己非常迅捷。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +2" +msgid_plural "rings of protection +2" +msgstr[0] "防护戒指 +2" + +#. ~ Description for ring of protection +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that reduces some of the force of damage you take when you " +"wear it." +msgstr "一枚铜戒指,戴上后能够减轻你受到的部分伤害。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +4" +msgid_plural "rings of protection +4" +msgstr[0] "防护戒指 +4" + +#. ~ Description for ring of protection +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that appreciably reduces some of the force of damage you take " +"when you wear it." +msgstr "一枚银戒指,戴上之后能够可观地减轻你所受到的伤害。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +6" +msgid_plural "rings of protection +6" +msgstr[0] "防护戒指 +6" + +#. ~ Description for ring of protection +6 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that greatly reduces some of the force of damage you take when" +" you wear it." +msgstr "一枚金戒指,戴上之后能够显著减轻你所受到的伤害。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +8" +msgid_plural "rings of protection +8" +msgstr[0] "防护戒指 +8" + +#. ~ Description for ring of protection +8 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A platinum ring that vastly reduces some of the force of damage you take " +"when you wear it." +msgstr "一枚铂金戒指,戴上之后能够极大减轻你所受到的伤害。" + #: lang/json/TOOL_from_json.py msgid "washcloth" msgid_plural "washcloths" @@ -61177,12 +64085,13 @@ msgstr[0] "核能贝塔电池" msgid "" "Harness the power of radiation in your own home! This looks similar to a " "D-cell battery, but actually contains folded layers of radioactive material " -"inside. It can produce electricity for several years at a steady voltage..." -" but it's barely enough to power a small LED, and these batteries were worth" -" hundreds of dollars. Mostly they're a good way to brag to your neighbours " +"inside. It can produce electricity for several years at a steady voltage… " +"but it's barely enough to power a small LED, and these batteries were worth " +"hundreds of dollars. Mostly they're a good way to brag to your neighbors " "that you have a nuclear power source in your house." msgstr "" -"在家中就能轻易使用的核能辐射电池!它看起来想一个D型电池,但实际上包含了很多层放射性物质。它能在稳定的电压下发电很多年。但它仅够驱动一个小LED,而这些电池价值数百美元。大多数情况下,它们是向邻居炫耀你家里有核能的好方法。" +"在家中就能轻易使用的核能辐射电池!它看起来像一个一号电池,但实际上包含了很多层放射性物质,能在稳定的电压下使用很多年。问题在于,它最多只能驱动一个小型 " +"LED,而它的价格高达数百美元。因此大多数情况下,拥有这种电池的唯一好处就是可以向邻居炫耀你家里有核能。" #: lang/json/TOOL_from_json.py msgid "radioisotope thermoelectric generator" @@ -61192,13 +64101,13 @@ msgstr[0] "放射性热能发电机" #. ~ Description for radioisotope thermoelectric generator #: lang/json/TOOL_from_json.py msgid "" -"Did your neighbours brag about their cool beta-decay powered nightlights? " -"Do them one better! The CuppaTech 4 radioisotope thermoelectric generator " -"is a three kilogram chunk of metal - mostly lead - with a slug of curium-244" -" encased within. It is capable of generating somewhere between 100-150 " -"Watts of thermal energy, although its electrical generation capacity is " -"minimal at only 2 Watts. Careful! Curium is great at making heat, and also" -" releases deadly gamma radiation. Keep away from cellular life forms." +"Did your neighbors brag about their cool beta-decay powered nightlights? Do" +" them one better! The CuppaTech 4 radioisotope thermoelectric generator is " +"a three kilogram chunk of metal - mostly lead - with a slug of curium-244 " +"encased within. It is capable of generating somewhere between 100-150 Watts" +" of thermal energy, although its electrical generation capacity is minimal " +"at only 2 Watts. Careful! Curium is great at making heat, and also " +"releases deadly gamma radiation. Keep away from cellular life forms." msgstr "" "你的邻居有没有向你吹嘘他们那炫酷的贝塔衰变原子灯?我们能做得更好!CuppaTech " "4型放射性同位素热电发电机是一块三公斤重的金属,大部分是铅,内部包裹着一段锔-244。它能够产生100-150瓦的热能,尽管它的发电能力只有2瓦。小心!锔会除了会释放出大量热量,也会释放致命的伽马射线,把它放置在远离生物的地方。" @@ -61301,8 +64210,8 @@ msgstr[0] "透视棒" #. ~ Description for clairvoyance rod #: lang/json/TOOL_from_json.py msgid "" -"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's " -"a bug." +"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's" +" a bug." msgstr "用于测试透视功能的调试道具。不应该在正常游戏中出现。" #: lang/json/TOOL_from_json.py @@ -61525,10 +64434,10 @@ msgstr[0] "土制雷管" #. ~ Use action menu_text for fragment bomb. #. ~ Use action menu_text for can bomb. #. ~ Use action menu_text for match head bomb. +#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for dynamite. #. ~ Use action menu_text for fertilizer bomb. #. ~ Use action menu_text for ANFO charge. -#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for black gunpowder charge. #. ~ Use action menu_text for RDX charge. #: lang/json/TOOL_from_json.py @@ -61570,7 +64479,7 @@ msgstr "你已经点着了%s,赶紧丢出去。" #. ~ Use action sound_msg for match head bomb (lit). #. ~ Use action sound_msg for dynamite (lit). #. ~ Use action sound_msg for fertilizer bomb (lit). -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py src/iuse.cpp +#: lang/json/TOOL_from_json.py msgid "ssss..." msgstr "嘶……" @@ -61596,7 +64505,7 @@ msgstr "你点燃了%s的导火索。" #. ~ Description for nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by nails and a fuse. Use this item to light the fuse. You will " "then have five turns before it explodes; throwing it would be a good idea." msgstr "一个粗糙而笨重的自制破片手雷,容器内装满了炸药和铁钉,还有一根引信。使用来点燃引信,你将有五回合时间去扔掉它。" @@ -61616,8 +64525,8 @@ msgstr "你已经点燃了引信,你在等什么!" #. ~ Description for active nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by nails and a fuse. The fuse has been lit, you should throw it." +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by nails and a fuse. The fuse has been lit, you should throw it." msgstr "一个粗糙而笨重的自制破片手雷,容器内装满了炸药和铁钉,还有一根引信。引信已经被点燃了,你最好在手没掉之前扔出去。" #: lang/json/TOOL_from_json.py @@ -61628,7 +64537,7 @@ msgstr[0] "破片炸弹" #. ~ Description for fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by small pieces of metal and a fuse. Use this item to light the " "fuse. You will then have five turns before it explodes; throwing it would " "be a good idea." @@ -61642,8 +64551,8 @@ msgstr[0] "破片炸弹(无保险)" #. ~ Description for active fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " "should throw it." msgstr "一个粗糙而笨重的自制破片手雷,容器内装满了炸药和碎金属,还有一根引信。引信已经被点燃了,你最好在手没掉之前扔出去。" @@ -61662,8 +64571,8 @@ msgstr "你点燃了锡罐炸弹的引信。赶紧在你的脸被炸掉之前扔 #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think." msgstr "一个炸药装到了脖子根儿的锡罐。从里面伸出了一点点引线。也许能够产生足以穿透装甲的金属破片吧……至少你是这么认为的。" #: lang/json/TOOL_from_json.py @@ -61675,11 +64584,57 @@ msgstr[0] "锡罐炸弹(无保险)" #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think. The fuse has been lit, you should throw it." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think. The fuse has been lit, you should throw it." msgstr "" "一个炸药装到了脖子根儿的锡罐。从里面伸出了一点点引线。也许能够产生足以穿透装甲的金属破片吧……至少你是这么认为的。引信已经被点燃了,你最好在手没掉之前扔出去。" +#: lang/json/TOOL_from_json.py +msgid "jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "万圣节南瓜" + +#. ~ Use action menu_text for jack o'lantern. +#. ~ Use action menu_text for candle. +#. ~ Use action menu_text for Louisville Slaughterer. +#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: src/veh_interact.cpp +msgid "Light" +msgstr "点亮" + +#. ~ Use action msg for jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "You light the candle in the jack o'lantern." +msgstr "你点亮了万圣节南瓜的蜡烛。" + +#. ~ Description for jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"This is a plastic lantern that is painted to look like a pumpkin with a " +"face. It has a candle inside it, that can be replaced when burnt down. It " +"doesn't provide very much light, but it can burn for quite a long time. " +"You'll need a lighter or matches to light it." +msgstr "" +"这是一个塑料灯笼,涂成了带鬼脸的南瓜的形状。它的内部有一只蜡烛,烧完之后也可以更换。它无法提供多少亮光,但是能够烧很久。你可以用打火机或者火柴点亮它。" + +#: lang/json/TOOL_from_json.py +msgid "spooky jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "诡异万圣节南瓜" + +#. ~ Use action msg for spooky jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "The candle winks out inside the lantern." +msgstr "灯笼内的蜡烛熄灭了。" + +#. ~ Description for spooky jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"There is a thick LED candle inside the pumpkin face. It doesn't provide " +"very much light, but it can burn for quite a long time. This candle is lit." +" The face shifts." +msgstr "这个带鬼脸的塑料南瓜里面有一大根蜡烛。它无法提供多少亮光,但是能够烧很久。它的蜡烛已经点燃,上面的鬼脸随着蜡烛的火焰晃动。" + #. ~ Description for battle axe #: lang/json/TOOL_from_json.py msgid "" @@ -61764,6 +64719,69 @@ msgid "" "hold onto it much longer." msgstr "一个装满了的火柴头的瓶子,并配备了一个导火索。它已被点燃,其导火索正在迅速燃烧。别指望它的导火索有多长。" +#: lang/json/TOOL_from_json.py +msgid "black gunpowder bomb" +msgid_plural "black gunpowder bombs" +msgstr[0] "黑火药炸弹" + +#. ~ Use action msg for black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "" +"You light the fuse on the black gunpowder bomb. Throw it before it blows in" +" your face!" +msgstr "你点燃了黑火药炸弹的引信。赶紧在你的脸被炸掉之前扔出去!" + +#. ~ Description for black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a bit of " +"fuse sticking out of it." +msgstr "一个黑火药装到了脖子根儿的锡罐。从里面伸出了一点点引线。" + +#: lang/json/TOOL_from_json.py +msgid "active black gunpowder bomb" +msgid_plural "active black gunpowder bombs" +msgstr[0] "黑火药炸弹(点燃)" + +#. ~ Use action no_deactivate_msg for active black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "You've already lit the fuse - throw it!" +msgstr "你已经点燃了引信,快丢出去!" + +#. ~ Use action sound_msg for active black gunpowder bomb. +#. ~ Use action sound_msg for active black gunpowder charge. +#. ~ Use action sound_msg for active RDX charge. +#: lang/json/TOOL_from_json.py +msgid "Kshhh." +msgstr "滋啦…" + +#. ~ Description for active black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a lit " +"fuse stuck inside of it." +msgstr "一个黑火药装到了脖子根儿的锡罐。里面插着一截点着的引线。" + +#: lang/json/TOOL_from_json.py +msgid "hobo stove (lit)" +msgid_plural "hobo stoves (lit)" +msgstr[0] "流浪汉火炉 (点燃)" + +#. ~ Use action msg for hobo stove (lit). +#. ~ Use action msg for ember carrier (lit). +#: lang/json/TOOL_from_json.py +msgid "The ember is extinguished." +msgstr "余烬熄灭了。" + +#. ~ Description for hobo stove (lit) +#. ~ Description for hobo stove +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small improvised wood stove, made from a metal can or similar " +"container of the right size. Useful for defrosting and reheating food, uses" +" simple tinder." +msgstr "小型的流浪汉火炉,用金属罐或大小合适的类似容器制成。只能用于解冻和加热,用火绒做燃料。" + #: lang/json/TOOL_from_json.py msgid "folded poncho" msgid_plural "folded ponchos" @@ -61983,8 +65001,8 @@ msgstr[0] "水力碾磨机" #. ~ Description for water mill #: lang/json/TOOL_from_json.py msgid "" -"A small water-powered mill that can convert starchy products into flour. Can" -" be placed via the construction menu." +"A small water-powered mill that can convert starchy products into flour. " +"Can be placed via the construction menu." msgstr "小型水动力磨,可将含淀粉的物品加工成面粉。通过建造菜单放置。" #: lang/json/TOOL_from_json.py lang/json/furniture_from_json.py @@ -61995,8 +65013,8 @@ msgstr[0] "风力碾磨机" #. ~ Description for wind mill #: lang/json/TOOL_from_json.py msgid "" -"A small wind-powered mill that can convert starchy products into flour. Can " -"be placed via the construction menu." +"A small wind-powered mill that can convert starchy products into flour. Can" +" be placed via the construction menu." msgstr "小型风动力磨,可将含淀粉的物品加工成面粉。通过建造菜单放置。" #: lang/json/TOOL_from_json.py @@ -62273,14 +65291,6 @@ msgid "candle" msgid_plural "candles" msgstr[0] "蜡烛" -#. ~ Use action menu_text for candle. -#. ~ Use action menu_text for hobo stove. -#. ~ Use action menu_text for Louisville Slaughterer. -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: src/veh_interact.cpp -msgid "Light" -msgstr "点亮" - #. ~ Use action msg for candle. #: lang/json/TOOL_from_json.py msgid "You light the candle." @@ -62327,7 +65337,7 @@ msgstr[0] "电动切肉刀(关)" #: lang/json/TOOL_from_json.py msgid "" "An electric meat carver powered by batteries. Two serrated blades that " -"vibrate together to slice just about anything from turkey to ham... even " +"vibrate together to slice just about anything from turkey to ham… even " "zombies!" msgstr "一把使用电池供电的切肉刀。一副共同振动的锯齿状刀刃从火鸡到火腿都能轻松切开……甚至丧尸!" @@ -62483,6 +65493,19 @@ msgid "" msgstr "" "这个物品专门用来吸取纯净水源,使用三层滤网,和活性木炭过滤,一旦木炭吸取了足够的杂质,将变得无法使用,只能拆解回收。从河流之类的不明水源取得的水有可能被污染。" +#: lang/json/TOOL_from_json.py +msgid "lifestraw" +msgid_plural "lifestraws" +msgstr[0] "生命饮管" + +#. ~ Description for lifestraw +#: lang/json/TOOL_from_json.py +msgid "" +"Set the lifestraw in suspect water, let sit for one minute then drink. The " +"two part filtration system will purify the water you drink. Water taken " +"from uncertain sources like a river may be dirty." +msgstr "将生命饮管放入污水中,静置一分钟之后即可饮用。它内置的双重过滤系统将会将水净化至可饮用状态。从河流之类的不明水源取得的水有可能被污染。" + #: lang/json/TOOL_from_json.py msgid "charcoal smoker" msgid_plural "charcoal smokers" @@ -62898,9 +65921,9 @@ msgstr[0] "电子手铐" #: lang/json/TOOL_from_json.py msgid "" "A pair of electronic handcuffs, used by police and riot bots to detain captives. Their continuous siren clearly identifies the wearer as an arrested criminal and alerts human police. Wait for their arrival, don't try to escape or to remove the cuffs - they will administer an electric shock.\n" -"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative..." +"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative…" msgstr "" -"一副电子手铐,警察和机器人用来限制嫌疑人行动的常用工具。它会持续的发出警报并且不停地呼叫警官过来将犯人带回警局关押。如果试图挣脱或者逃跑,手铐将主动电击疑犯。\n" +"一副电子手铐,警察和机器人用来限制嫌疑人行动的常用工具。它会持续的发出警报并且不停的呼叫警官过来将犯人带回警局关押。如果试图挣脱或者逃跑,手铐将主动电击疑犯。\n" "\"鉴于目前的治安情况,请在被电击和被吃掉脑子之间选择一个吧,亲。\"" #: lang/json/TOOL_from_json.py @@ -64358,6 +67381,18 @@ msgid "" "asthma attacks or smoke inhalation, and can provide a brief burst of energy." msgstr "一罐医用压缩氧,附带调节器和面罩。能够迅速缓解哮喘症状和烟雾吸入损伤,也能让你在短时间内精神满满。" +#: lang/json/TOOL_from_json.py +msgid "oxygen cylinder" +msgid_plural "oxygen cylinders" +msgstr[0] "氧气罐" + +#. ~ Description for oxygen cylinder +#: lang/json/TOOL_from_json.py +msgid "" +"A large steel cylinder used for storing pressurized gas. It is marked with " +"a faded, but legible O2 symbol." +msgstr "一个用于储存高压气体的大型钢罐。上面有着一个依稀可见的 O2 标记。" + #: lang/json/TOOL_from_json.py msgid "nitrogen tank" msgid_plural "nitrogen tanks" @@ -64403,7 +67438,7 @@ msgstr[0] "记号笔" #. ~ Use action gerund for survival marker. #: lang/json/TOOL_from_json.py msgid "Written" -msgstr "铭刻" +msgstr "写" #. ~ Use action verb for permanent marker. #. ~ Use action verb for survival marker. @@ -64698,8 +67733,8 @@ msgstr[0] "海绵" #. ~ Description for sponge #: lang/json/TOOL_from_json.py msgid "" -"A sponge is a tool or cleaning aid made of soft, porous material. Typically " -"used for cleaning impervious surfaces." +"A sponge is a tool or cleaning aid made of soft, porous material. Typically" +" used for cleaning impervious surfaces." msgstr "海绵由多孔的软材料制成,可以拿来做清洁。通常用于清洁不透水的表面。" #: lang/json/TOOL_from_json.py @@ -64710,9 +67745,9 @@ msgstr[0] "洗涤工具箱" #. ~ Description for washing kit #: lang/json/TOOL_from_json.py msgid "" -"A combination kit of a washboard and a sponge. Everything you need to clean" -" items after the apocalypse." -msgstr "洗衣板和海绵组成的工具套装,这就是大灾变后洗涤所需的一切用具。" +"A combination kit of a washboard and a sponge or rag. Everything you need " +"to clean items after the apocalypse." +msgstr "洗衣板和海绵或是布条组成的工具套装,这就是大灾变后洗涤所需的一切用具。" #: lang/json/TOOL_from_json.py msgid "reading light" @@ -65546,49 +68581,6 @@ msgid "" "dynamite primer. The fuse has been lit - better run like hell!" msgstr "一个装满ANFO颗粒的大金属桶,附带一个雷管外加导火索。导火索已经点燃,尽快远离。" -#: lang/json/TOOL_from_json.py -msgid "black gunpowder bomb" -msgid_plural "black gunpowder bombs" -msgstr[0] "黑火药炸弹" - -#. ~ Use action msg for black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "" -"You light the fuse on the black gunpowder bomb. Throw it before it blows in" -" your face!" -msgstr "你点燃了黑火药炸弹的引信。赶紧在你的脸被炸掉之前扔出去!" - -#. ~ Description for black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a bit of " -"fuse sticking out of it." -msgstr "一个黑火药装到了脖子根儿的锡罐。从里面伸出了一点点引线。" - -#: lang/json/TOOL_from_json.py -msgid "active black gunpowder bomb" -msgid_plural "active black gunpowder bombs" -msgstr[0] "黑火药炸弹(点燃)" - -#. ~ Use action no_deactivate_msg for active black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "You've already lit the fuse - throw it!" -msgstr "你已经点燃了引信,快丢出去!" - -#. ~ Use action sound_msg for active black gunpowder bomb. -#. ~ Use action sound_msg for active black gunpowder charge. -#. ~ Use action sound_msg for active RDX charge. -#: lang/json/TOOL_from_json.py -msgid "Kshhh." -msgstr "滋啦…" - -#. ~ Description for active black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a lit " -"fuse stuck inside of it." -msgstr "一个黑火药装到了脖子根儿的锡罐。里面插着一截点着的引线。" - #: lang/json/TOOL_from_json.py msgid "black gunpowder charge" msgid_plural "black gunpowder charges" @@ -65605,7 +68597,7 @@ msgstr "你点燃了黑火药药包的导火索,好吧,赶紧找个地处理 msgid "" "This is a home-made explosive device, consisting of a large plastic jug " "filled with black gunpowder and scrap metal, equipped with a long fuse. Use" -" this item to light the fuse. Should explode in a few minutes..." +" this item to light the fuse. Should explode in a few minutes…" msgstr "这是一个土制的爆炸装置,由一个装满了黑火药和废金属的大塑料罐制成,有根长长的引线。使用来点燃导火索。几分钟内就该爆炸了……" #: lang/json/TOOL_from_json.py @@ -65734,11 +68726,13 @@ msgid_plural "torches" msgstr[0] "火把" #. ~ Use action menu_text for torch. +#. ~ Use action menu_text for everburning torch. #: lang/json/TOOL_from_json.py msgid "Light torch" msgstr "点燃火把" #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "You light the torch." msgstr "你点燃了火把。" @@ -65752,6 +68746,7 @@ msgid "" msgstr "浸透了可燃材料的布胡乱地缠在棍子上,点燃了似乎就能照亮四周。找个打火机或者划根火柴点着它。" #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "The torch is extinguished." msgstr "火把熄灭了。" @@ -66101,46 +69096,6 @@ msgid "hobo stove" msgid_plural "hobo stoves" msgstr[0] "流浪汉火炉" -#. ~ Use action msg for hobo stove. -#: lang/json/TOOL_from_json.py -msgid "The hobo stove is lit." -msgstr "流浪汉火炉被点燃了。" - -#. ~ Use action need_fire_msg for hobo stove. -#: lang/json/TOOL_from_json.py src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -msgid "You need a source of fire!" -msgstr "你需要一个火源!" - -#. ~ Description for hobo stove -#. ~ Description for hobo stove (lit) -#: lang/json/TOOL_from_json.py -msgid "" -"This is a small improvised wood stove, made from a metal can or similar " -"container of the right size. Useful for defrosting and reheating food, uses" -" simple tinder." -msgstr "小型的流浪汉火炉,用金属罐或大小合适的类似容器制成。只能用于解冻和加热,用火绒做燃料。" - -#: lang/json/TOOL_from_json.py -msgid "hobo stove (lit)" -msgid_plural "hobo stoves (lit)" -msgstr[0] "流浪汉火炉 (点燃)" - -#. ~ Use action menu_text for hobo stove (lit). -#: lang/json/TOOL_from_json.py -msgid "Heat up food" -msgstr "加热食物" - -#. ~ Use action msg for hobo stove (lit). -#: lang/json/TOOL_from_json.py src/iuse.cpp -msgid "You heat up the food." -msgstr "你加热了食物。" - -#. ~ Use action msg for hobo stove (lit). -#. ~ Use action msg for ember carrier (lit). -#: lang/json/TOOL_from_json.py -msgid "The ember is extinguished." -msgstr "余烬熄灭了。" - #: lang/json/TOOL_from_json.py msgid "ember carrier" msgid_plural "ember carriers" @@ -66151,6 +69106,11 @@ msgstr[0] "火种罐" msgid "You light the tinder." msgstr "你点燃了引火物。" +#. ~ Use action need_charges_msg for ember carrier. +#: lang/json/TOOL_from_json.py +msgid "The ember carrier is out of tinder." +msgstr "火种罐中已经没有火绒了。" + #. ~ Use action need_fire_msg for ember carrier. #: lang/json/TOOL_from_json.py msgid "You need a lighter or fire to light this." @@ -66304,8 +69264,8 @@ msgstr[0] "挂肉钩" #. ~ Description for grip hook #: lang/json/TOOL_from_json.py msgid "" -"A simple steel meathook with a circular steel handle. Makes a passable melee" -" weapon." +"A simple steel meathook with a circular steel handle. Makes a passable " +"melee weapon." msgstr "简单的金属肉钩 + 圆把手 = 还算凑合的近战武器。" #: lang/json/TOOL_from_json.py @@ -66644,7 +69604,7 @@ msgstr "你把安防机器人的程序设置错了,然后它就把枪对准了 #. ~ Description for inactive TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M16A4. Using this item " +"This is an inactive TALON UGV equipped with an M16A4. Using this item " "involves loading the unit with the factory-loaded 5.56x45mm rounds in your " "inventory (if you wish to divide your ammunition, set aside whatever " "5.56x45mm you do NOT want to give the robot) turning it on, and placing it " @@ -66652,8 +69612,8 @@ msgid "" "will then identify you as a friendly, roam around or follow you, and attack " "all enemies with its rifle." msgstr "" -"这是一架未激活的\"鹰爪\"型无人车,配有一把 M16A4 步枪。使用它时将会打开它然后将其放置在地上,并装填你物品栏内的原装 5.56x45mm " -"口径弹药(如果你只想装填部分弹药,请先把不需装填的弹药移出物品栏)。如果重新编程成功,无人车会将你识别为友军,随处游荡或跟随你,并攻击所有在其步枪攻击范围内的敌人。" +"一台未激活的\"鹰爪\"型无人车,配有一把 M16A4 步枪。使用该物品以将它放置在地上并打开它,并装填你物品栏内的原装 5.56x45mm " +"口径弹药(如果你只想装填部分弹药,请先把不需装填的弹药移出物品栏)。如果重新编程成功,无人车会将你识别为友军,自主行动或跟随你,并攻击所有在其步枪攻击范围内的敌人。" #: lang/json/TOOL_from_json.py msgid "inactive M202A1 TALON UGV" @@ -66663,7 +69623,7 @@ msgstr[0] "M202A1 \"鹰爪\"型无人车(关)" #. ~ Description for inactive M202A1 TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M202A1. Using this item " +"This is an inactive TALON UGV equipped with an M202A1. Using this item " "involves loading the unit with the M235 rockets in your inventory (if you " "wish to divide your ammunition, set aside whatever M235 rockets you do NOT " "want to give the robot) turning it on, and placing it on the ground. If " @@ -66671,8 +69631,8 @@ msgid "" "you as a friendly, roam around or follow you, and attack all enemies with " "its M202A1." msgstr "" -"这是一架未激活的\"鹰爪\"型无人车,配有一把 M202A1 火箭筒。使用它时将会打开它然后将其放置在地上,并装填你物品栏内的 M235 " -"火箭弹(如果你只想装填部分弹药,请先把不需装填的弹药移出物品栏)。如果重新编程成功,无人车会将你识别为友军,随处游荡或跟随你,并攻击所有在其 " +"一台未激活的\"鹰爪\"型无人车,配有一把 M202A1 火箭筒。使用该物品以将它放置在地上并打开它,并装填你物品栏内的 M235 " +"火箭弹(如果你只想装填部分弹药,请先把不需装填的弹药移出物品栏)。如果重新编程成功,无人车会将你识别为友军,自主行动或跟随你,并攻击所有在其 " "M202A1 火箭筒攻击范围内的敌人。" #: lang/json/TOOL_from_json.py @@ -66754,11 +69714,11 @@ msgstr "破损的改造人发出痛苦的嚎叫并攻击你!" #: lang/json/TOOL_from_json.py msgid "" "This is a deactivated broken cyborg, the last shreds of its humanity still " -"rotting away. Using this item involves placing it on the ground and " +"rotting away. Using this item involves placing it on the ground and " "reactivating its mechanical body. If reprogrammed and rewired successfully " -"the cyborg will then follow you and attack enemies. You monster." +"the cyborg will then follow you and attack enemies. You monster." msgstr "" -"这是一个未激活的破损改造人,它最后依然残留着几分人性。使用这个物品需要把它放在地上,重新激活它。如果重新编程成功,改造人将跟随你攻击敌人(你这个魔鬼)。" +"一台未激活的破损改造人,它最后依然残留着几分人性。使用这个物品需要把它放在地上,重新激活它。如果重新编程成功,改造人将跟随你攻击敌人(你这个魔鬼)。" #: lang/json/TOOL_from_json.py msgid "inactive prototype cyborg" @@ -66808,7 +69768,7 @@ msgstr "双足机器人发出呜呜声瞄准了你。快找掩护!" #. ~ Description for inactive chicken walker #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive chicken walker. Using this item involves placing it on " +"This is an inactive chicken walker. Using this item involves placing it on " "the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm " "cartridge grenades in your inventory (if you wish to divide your ammunition," " set aside whatever ammunition you do NOT want to give the robot) and " @@ -66816,7 +69776,8 @@ msgid "" "will then identify you as a friendly, roam around or follow you, and attack " "all enemies with a built-in firearm and grenade launcher." msgstr "" -"这是一个未激活的双足机器人。使用该物品时需要将其放在地面上,它会从你的物品栏装载5.56发子弹和40毫米弹榴弹(如果你想分割你的弹药,把你不想给机器人的弹药放在一边),然后激活它。如果重新编程成功,双足机器人将识别你为友军,四处游荡或跟随你,并用内置的火器和榴弹发射器攻击所有敌人。" +"一台未激活的双足机器人。使用该物品以将它放置在地上并打开它,并装填你物品栏内的原装 5.56mm 口径子弹和 40mm " +"口径榴弹(如果你只想装填部分弹药,请先把不需装填的弹药移出物品栏)。如果重新编程成功,无人车会将你识别为友军,自主行动或跟随你,并攻击所有在其步枪和榴弹发射器攻击范围内的敌人。" #: lang/json/TOOL_from_json.py msgid "inactive police bot" @@ -66837,12 +69798,12 @@ msgstr "警笛响亮,警灯闪烁……警用机器人正准备逮捕你!" #. ~ Description for inactive police bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive police robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive police robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "police bot will then identify you as law enforcement, roam around or follow " "you, and attempt to detain lawbreakers." msgstr "" -"一个未激活的警用机器人。使用它以将它开启并放在地面上。如果重新编程和布线成功,该警用机器人会将你识别为执法人员,开始四处游荡并跟随你,并试图拘捕违法者。" +"一台未激活的警用机器人。使用该物品以将它放置在地上并打开它,如果重新编程和布线成功,该警用机器人会将你识别为执法人员,自主行动或跟随你,并试图拘捕违法者。" #: lang/json/TOOL_from_json.py msgid "inactive eyebot" @@ -66866,10 +69827,10 @@ msgstr "" #. ~ Description for inactive eyebot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive eyebot. Using this item involves turning it on and " +"This is an inactive eyebot. Using this item involves turning it on and " "launching the UAV. If reprogrammed and rewired successfully the eyebot will" " then keep watch for intruders." -msgstr "一个未激活的眼球无人机。使用该物品以将它开启并运行无人机,如果重新编程和布线成功,眼球机器人会开始寻找入侵者。" +msgstr "一台未激活的眼球无人机。使用该物品以将它开启并运行无人机,如果重新编程和布线成功,眼球机器人会开始寻找入侵者。" #: lang/json/TOOL_from_json.py msgid "inactive cleaner bot" @@ -66889,10 +69850,10 @@ msgstr "清洁机器人发出运行错误的提示音,开始到处乱擦。" #. ~ Description for inactive cleaner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive cleaner bot. Using this item involves placing it on the " -"ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive cleaner bot. Using this item involves placing it on the" +" ground and turning it on. If reprogrammed and rewired successfully the " "cleaner bot will respond to future commands." -msgstr "一个未激活的清洁机器人。使用该物品以将它放置在地上并打开它,如果重新编程和布线成功,它将会遵守你发出的指令。" +msgstr "一台未激活的清洁机器人。使用该物品以将它放置在地上并打开它,如果重新编程和布线成功,它将会遵守你发出的指令。" #: lang/json/TOOL_from_json.py msgid "inactive miner bot" @@ -66912,10 +69873,10 @@ msgstr "钻掘机器人旋转着钻头——失控了,它向你冲来,快让 #. ~ Description for inactive miner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive mining robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive mining robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "miner bot will respond to future commands." -msgstr "未激活的钻掘机器人。使用此物品以将其放在地上并开启,如果重新编程和布线成功,它将会遵守你发出的指令。" +msgstr "一台未激活的钻掘机器人。使用该物品以将它放置在地上并打开它,如果重新编程和布线成功,它将会遵守你发出的指令。" #: lang/json/TOOL_from_json.py msgid "inactive riot control bot" @@ -66936,10 +69897,10 @@ msgstr "防暴机器人喷射着催眠瓦斯,带着一副手铐向你靠近。 #. ~ Description for inactive riot control bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive riot control bot. Using this item involves placing it on" -" the ground and turning it on. If reprogrammed and rewired successfully the" -" robot will bring order and peace to the horde." -msgstr "一个未激活的防暴机器人。使用该物品以将它放置在地上并打开它,如果重新编程和布线成功,它将会给这儿带来秩序与和平。" +"This is an inactive riot control bot. Using this item involves placing it " +"on the ground and turning it on. If reprogrammed and rewired successfully " +"the robot will bring order and peace to the horde." +msgstr "一台未激活的防暴机器人。使用该物品以将它放置在地上并打开它,如果重新编程和布线成功,它将会给尸潮带去秩序与和平。" #: lang/json/TOOL_from_json.py msgid "inactive skitterbot" @@ -66959,10 +69920,10 @@ msgstr "掠行机器人在你周围飞来飞去,并发出威胁性的咔嗒声 #. ~ Description for inactive skitterbot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive skitterbot. Using this item involves placing it on the " +"This is an inactive skitterbot. Using this item involves placing it on the " "ground and turning it on. If reprogrammed and rewired successfully the " "robot will race towards enemies and shock them." -msgstr "一个未激活的掠行机器人,使用该物品以将它放置在地面上并打开它,如果重新编程和布线成功,它将会冲向敌人并攻击它们。" +msgstr "一台未激活的掠行机器人,使用该物品以将它放置在地面上并打开它,如果重新编程和布线成功,它将会冲向敌人并攻击它们。" #: lang/json/TOOL_from_json.py msgid "inactive lab defense bot" @@ -67012,7 +69973,7 @@ msgstr "坦克无人机旋转炮塔,直接瞄准了你。穿上裤子快跑! #. ~ Description for inactive tank drone #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " +"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " "it on the ground, loading the unit with the factory-loaded 5.56 rounds and " "40mm cartridge grenades in your inventory (if you wish to divide your " "ammunition, set aside whatever ammunition you do NOT want to give the robot)" @@ -67020,7 +69981,8 @@ msgid "" " will then identify you as a friendly, roam around or follow you, and attack" " all enemies with a built-in firearm and grenade launcher." msgstr "" -"这是一部未激活的\"猎兔犬\"型无人坦克车。使用该物品需要打开它并将其放在地面上,同时会装填你物品栏内的对应5.56口径子弹和40毫米口径榴弹(如果你想分割你的弹药,把你不想给机器人的弹药放在一边)。如果重新编程和布线成功,坦克无人机会将你识别为友军,随处游荡或跟随你,并用内置的火器和榴弹发射器攻击所有敌人。" +"一台未激活的\"猎兔犬\"型无人坦克车。使用该物品以将它放置在地上并打开它,并装填你物品栏内的原装 5.56mm 口径子弹和 40mm " +"口径榴弹(如果你只想装填部分弹药,请先把不需装填的弹药移出物品栏)。如果重新编程成功,无人车会将你识别为友军,自主行动或跟随你,并攻击所有在其步枪和榴弹发射器攻击范围内的敌人。" #: lang/json/TOOL_from_json.py msgid "inactive tripod" @@ -67042,13 +70004,13 @@ msgstr "三足机器人锁定了你,开启了它的喷火器,散发出凝固 #. ~ Description for inactive tripod #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Honda Regnal. Using this item involves placing it on the" -" ground, wondering how it fuels its flamethrower and turning it on. If " +"This is an inactive Honda Regnal. Using this item involves placing it on " +"the ground, wondering how it fuels its flamethrower and turning it on. If " "reprogrammed and rewired successfully the tribot will then identify you as " "an ally, roam around or follow you, and impale hostiles with its spiked " "cable weapons." msgstr "" -"一台未激活的三足机器人。使用这个物品需要将它放置在地上,为它的火焰喷射器提供燃料并打开它。如果重新编程和布线成功,它会将你识别为友军,开始四处游荡并跟随你,用其带刺的电缆武器刺穿敌人。" +"一台未激活的三足机器人。使用该物品以将它放置在地上并打开它,你无法知道它是怎么为火焰喷射器提供燃料。如果重新编程和布线成功,它会将你识别为友军,开始四处游荡并跟随你,用其带刺的电缆武器刺穿敌人。" #: lang/json/TOOL_from_json.py msgid "inactive milspec searchlight" @@ -67069,13 +70031,13 @@ msgstr "当探照灯拒绝转离你时,明亮的灯光会使你失明。" #. ~ Description for inactive milspec searchlight #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive military-grade automated searchlight. Using this item " +"This is an inactive military-grade automated searchlight. Using this item " "involves placing it on the ground and turning it on. If reprogrammed and " "rewired successfully the searchlight will then identify you as an ally, " -"survey the area, and illuminate approaching hostiles. Seems to have an " +"survey the area, and illuminate approaching hostiles. Seems to have an " "unhealthy fascination with you." msgstr "" -"这是一个未激活的军用级自动探照灯。使用这个物品需要将其放在地上并打开。如果重新编程和布线成功,探照灯会将你识别为友军,调查该区域,并照亮接近的敌人。它似乎对你有一种不健康的迷恋。" +"一台未激活的军用级自动探照灯。使用该物品以将它放置在地上并打开它。如果重新编程和布线成功,探照灯会将你识别为友军,调查该区域,并照亮接近的敌人。它似乎对你有一种不健康的迷恋。" #: lang/json/TOOL_from_json.py msgid "inactive dispatch" @@ -67384,7 +70346,7 @@ msgstr[0] "简易战斗镰刀" msgid "" "This farming tool has been modified into an improvised weapon by rotating " "its blade 90 degrees, transforming it into a deadly giant blade on the end " -"of a stick. However it's quite fragile." +"of a stick. However it's quite fragile." msgstr "这种农用镰刀的刀刃旋转了90度,被改造成一种简易的武器,巨大而致命。但是它很脆弱。" #: lang/json/TOOL_from_json.py @@ -67479,6 +70441,20 @@ msgid "" " be deadly in either the right hands or when attached as a bayonet." msgstr "一把轻而锋利的军用战斗匕首,用于近战搏斗和近战突袭,可以当作刺刀使用。" +#: lang/json/TOOL_from_json.py +msgid "modified combat knife" +msgid_plural "modified combat knives" +msgstr[0] "改装战术匕首" + +#. ~ Description for modified combat knife +#: lang/json/TOOL_from_json.py +msgid "" +"This is a military combat knife. It is light and extremely sharp, and could" +" be deadly in either the right hands or when attached as a bayonet. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "一把轻而锋利的军用战斗匕首,用于近战搏斗和近战突袭,可以当作刺刀使用。这把匕首经过了改装,可以装在除手枪外的几乎任何武器上。" + #: lang/json/TOOL_from_json.py msgid "hunting knife" msgid_plural "hunting knives" @@ -67788,6 +70764,21 @@ msgid "" " of a firearm or crossbow converting it into a pike." msgstr "长刺刀是一种安装在枪械或弩前端的大型斩击武器。可以让你的武器变成近战长矛。" +#: lang/json/TOOL_from_json.py +msgid "modified sword bayonet" +msgid_plural "modified sword bayonets" +msgstr[0] "改装长刺刀" + +#. ~ Description for modified sword bayonet +#: lang/json/TOOL_from_json.py +msgid "" +"A sword bayonet is a large slashing weapon that can be attached to the front" +" of a firearm or crossbow converting it into a pike. This one was modified " +"and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" +"长刺刀是一种安装在枪械或弩前端的大型斩击武器。可以让你的武器变成近战长矛。这把刺刀经过了改装,可以装在除了手枪和冲锋枪之外的几乎任何武器上。" + #. ~ Description for tanto #: lang/json/TOOL_from_json.py msgid "" @@ -67888,6 +70879,57 @@ msgid "" "light for its size." msgstr "一柄起源于日本镰仓时代后的野太刀,多用于武士骑马作战,亦是一种勇武的象征,长约五尺(≈160厘米),刀身并不宽阔但极为锋利,极具致命性。" +#: lang/json/TOOL_from_json.py +msgid "electrified foil" +msgid_plural "electrified foils" +msgstr[0] "电击花剑" + +#. ~ Description for electrified foil +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing foil may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" +"这把花剑的改装可以说毫无体育精神,但是能够给你在这场末日比赛中带来一点优势。这把花剑的把手经过了充分绝缘改装,剑格上接上了一把高压电击枪,并通过电子计分器的电路连到了花剑末端。如果你在击打敌人时按下电击开关,就可以释放出一道强烈的电击。" + +#: lang/json/TOOL_from_json.py +msgid "electrified épée" +msgid_plural "electrified épées" +msgstr[0] "电击重剑" + +#. ~ Description for electrified épée +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing épée may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" +"这把重剑的改装可以说毫无体育精神,但是能够给你在这场末日比赛中带来一点优势。这把重剑的把手经过了充分绝缘改装,剑格上接上了一把高压电击枪,并通过电子计分器的电路连到了重剑末端。如果你在击打敌人时按下电击开关,就可以释放出一道强烈的电击。" + +#: lang/json/TOOL_from_json.py +msgid "electrified saber" +msgid_plural "electrified sabers" +msgstr[0] "电击佩剑" + +#. ~ Description for electrified saber +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing saber may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired to the tip along the saber's groove. Thrusting the " +"sharpened tip into a foe and activating the momentary switch will deliver a " +"painful electric shock." +msgstr "" +"这把佩剑的改装可以说毫无体育精神,但是能够给你在这场末日比赛中带来一点优势。这把佩剑的把手经过了充分绝缘改装,剑格上接上了一把高压电击枪,并沿着佩剑的血槽连到了剑的末端。如果你在击打敌人时按下电击开关,就可以释放出一道强烈的电击。" + #. ~ Description for broadsword #: lang/json/TOOL_from_json.py msgid "" @@ -68217,6 +71259,32 @@ msgid "" "reinforce plastic items." msgstr "一块塑料。可以用来制作,修复或者强化塑料制品。" +#: lang/json/TOOL_from_json.py +msgid "synthetic fabric" +msgid_plural "synthetic fabrics" +msgstr[0] "化纤布片" + +#. ~ Description for synthetic fabric +#: lang/json/TOOL_from_json.py +msgid "" +"This is small bolt of synthetic fabric. Unlike you and other natural " +"materials, it won't degrade much with age. Maybe that's less of a bad thing" +" now." +msgstr "一小束合成化纤。与你和其他天然材料不同,它不会随着年龄的增长而衰老退化。不过也许现在这不算什么坏事了。" + +#: lang/json/TOOL_from_json.py +msgid "lycra patch" +msgid_plural "lycra patches" +msgstr[0] "莱卡布片" + +#. ~ Description for lycra patch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small bolt of a synthetic fabric blended with stretchy lycra " +"fibers. It could be used to make flexible yet strong clothing. Stylish, " +"but bad for the environment; at least you're recycling it." +msgstr "一小束掺入了可拉伸的莱卡纤维的合成纤维。可以用来制作具有弹性而坚韧的衣物。时尚,但不环保;但至少现在你会回收它了。" + #: lang/json/TOOL_from_json.py msgid "hexamine stove" msgid_plural "hexamine stoves" @@ -68653,8 +71721,7 @@ msgstr[0] "双向无线电" #: lang/json/TOOL_from_json.py msgid "" "This is a radio with a transmitting unit. You could use it to contact " -"someone who also has one. Unfortunately no one seems to use those " -"nowadays..." +"someone who also has one. Unfortunately no one seems to use those nowadays…" msgstr "这是一个有数据传输模块的无线电手台,你可以用它和另一个有这个手台的人联系。只是,在这个年头,好像没有人用这个了……" #: lang/json/TOOL_from_json.py @@ -68814,12 +71881,12 @@ msgstr[0] "显微镜" #. ~ Description for microscope #: lang/json/TOOL_from_json.py msgid "" -"A classic tool for the ages! This hefty, durable piece of lab equipment " +"A classic tool for the ages! This hefty, durable piece of lab equipment " "makes small things look bigger. Without electricity the light doesn't work," " but the rest of it is surprisingly functional. Unfortunately it's not " "useful for very much at the moment." msgstr "" -"一个经典的工具!这件笨重耐用的实验室设备让你更清晰地看到小东西。没有电,光就不能工作,但其余的功能却令人惊讶。不幸的是,它目前没有太多用处。" +"一个经典的工具!这件笨重耐用的实验室设备能让你更清晰地看到小东西。由于没有电,它的灯泡不能工作,但其余的功能却非常完好。不幸的是,事到如今它也没有太多用处了。" #: lang/json/TOOL_from_json.py msgid "dissecting microscope" @@ -69004,7 +72071,7 @@ msgstr[0] "重型电缆" msgid "" "A long, thick, heavy-duty cable with power leads on either end. It looks " "like you could use it to hook up two vehicles to each other, though you " -"expect the power loss would be noticeable. Can also link other electrical " +"expect the power loss would be noticeable. Can also link other electrical " "systems." msgstr "一条又粗又长,两端还镀铅的重型电缆。看来你可以用它来连接两部载具,不过线路损耗不可小觑。也可以用来连接其它电力系统。" @@ -69369,14 +72436,112 @@ msgid "" " to a potato." msgstr "看上去像是些基因工程生命和操作系统,被连在一个马铃薯上。" +#: lang/json/TOOL_from_json.py +msgid "heat cube" +msgid_plural "heat cubes" +msgstr[0] "热立方" + +#. ~ Use action menu_text for heat cube. +#: lang/json/TOOL_from_json.py +msgid "Activate torch mode" +msgstr "启动火炬模式" + +#. ~ Use action msg for heat cube. +#: lang/json/TOOL_from_json.py +msgid "" +"You push the torch button and the cube emits a large flame from the top, one" +" that does radiate heat, but won't burn anything." +msgstr "你按下火炬按钮,热立方上方随即喷出了一道巨大的火焰。这道火焰会散发热量,但是不会引燃其它物品。" + +#. ~ Description for heat cube +#: lang/json/TOOL_from_json.py +msgid "" +"A smooth steel cube the size of your fist. Several buttons on the sides " +"activate the powers of the cube." +msgstr "一个有你拳头大的光滑钢制立方体,上面有数个按钮,能够启动热立方的不同功能。" + +#: lang/json/TOOL_from_json.py +msgid "heat cube (torch on)" +msgid_plural "heat cubes (torch on)" +msgstr[0] "热立方(点亮)" + +#. ~ Use action msg for heat cube (torch on). +#: lang/json/TOOL_from_json.py +msgid "The torch flame is extinguished." +msgstr "热立方的火焰熄灭了。" + +#. ~ Description for heat cube (torch on) +#: lang/json/TOOL_from_json.py +msgid "" +"The heat cube in the torch configuration, where it emits warmth and a bright" +" flame that does not burn." +msgstr "热立方目前处于火炬模式,正发出一道温暖的闪耀火焰,却不会引燃其它物品。" + +#: lang/json/TOOL_from_json.py +msgid "skeleton key of opening" +msgid_plural "skeleton key of opening" +msgstr[0] "魔法万能钥匙" + +#. ~ Description for skeleton key of opening +#: lang/json/TOOL_from_json.py +msgid "" +"A small gold skeleton key. You can activate it to unlock locked things." +msgstr "一把金制万能钥匙。你可以用它来开锁。" + +#: lang/json/TOOL_from_json.py +msgid "everburning torch" +msgid_plural "everburning torches" +msgstr[0] "不灭火炬" + +#. ~ Description for everburning torch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality engraved wooden torch. On command, the tip bursts " +"into flame and produces a fair amount of light. It will burn forever." +msgstr "这是一把优质的木制雕花火炬。你可以随意令其燃烧,用它照亮四周,而它永远不会烧尽。" + +#: lang/json/TOOL_from_json.py +msgid "enchanted tailor's kit" +msgid_plural "enchanted tailor's kits" +msgstr[0] "魔法裁缝助手" + +#. ~ Description for enchanted tailor's kit +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality, engraved steel kit with a variety of needles, some " +"plastic spools for thread, some small scissors, even a small heating element" +" for melting and joining plastic. Use a tailor's kit to customize your " +"clothing and armor. This uses your tailoring skill. It also contains one " +"of those magic spiders that constantly, if slowly, makes new thread." +msgstr "" +"一袋装着各种针、几卷线,几把小剪刀,甚至还有用来融化粘合塑料的高品质钢制雕花缝纫套装。可以用它来修改你的衣服和装甲。它主要运用你的裁缝技能。它同时包含一只魔法蜘蛛,能够缓慢但持续地产出新的丝线。" + +#: lang/json/TOOL_from_json.py +msgid "spider box" +msgid_plural "spider boxes" +msgstr[0] "蜘蛛盒子" + +#. ~ Description for spider box +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small glass box that contains a spider that diligently works day " +"and night to produce silk thread that it stores in a reservoir you can open " +"and retrieve it from." +msgstr "这是一个装着一只蜘蛛的小玻璃盒。这只蜘蛛日以继夜地产出丝线并储存起来,你打开盒子便可以收集。" + #: lang/json/TOOL_from_json.py msgid "Magic Wand" msgid_plural "Magic Wands" msgstr[0] "魔法杖" +#: lang/json/TOOL_from_json.py +msgid "Disposable Wand" +msgid_plural "Disposable Wands" +msgstr[0] "一次性法杖" + #: lang/json/TOOL_from_json.py msgid "minor wand of magic missile" -msgid_plural "minor wand of magic missiles" +msgid_plural "minor wands of magic missile" msgstr[0] "下级魔法飞弹法杖" #. ~ Description for minor wand of magic missile @@ -69390,17 +72555,17 @@ msgstr "一根细长的木制法杖,在底端有一个魔法水晶插槽,激 #: lang/json/TOOL_from_json.py msgid "lesser wand of magic missile" -msgid_plural "lesser wand of magic missiles" +msgid_plural "lesser wands of magic missile" msgstr[0] "次级魔法飞弹法杖" #: lang/json/TOOL_from_json.py msgid "greater wand of magic missile" -msgid_plural "greater wand of magic missiles" +msgid_plural "greater wands of magic missile" msgstr[0] "高级魔法飞弹法杖" #: lang/json/TOOL_from_json.py msgid "minor wand of fireball" -msgid_plural "minor wand of fireballs" +msgid_plural "minor wands of fireball" msgstr[0] "下级火球法杖" #. ~ Description for minor wand of fireball @@ -69414,17 +72579,17 @@ msgstr "一根细长的木制法杖,在底端有一个魔法水晶插槽,激 #: lang/json/TOOL_from_json.py msgid "lesser wand of fireball" -msgid_plural "lesser wand of fireballs" +msgid_plural "lesser wands of fireball" msgstr[0] "次级火球法杖" #: lang/json/TOOL_from_json.py msgid "greater wand of fireball" -msgid_plural "greater wand of fireballs" +msgid_plural "greater wands of fireball" msgstr[0] "高级火球法杖" #: lang/json/TOOL_from_json.py msgid "minor wand of mana beam" -msgid_plural "minor wand of mana beams" +msgid_plural "minor wands of mana beam" msgstr[0] "下级奥术光束法杖" #. ~ Description for minor wand of mana beam @@ -69438,17 +72603,17 @@ msgstr "一根细长的木制法杖,在底端有一个魔法水晶插槽,激 #: lang/json/TOOL_from_json.py msgid "lesser wand of mana beam" -msgid_plural "lesser wand of mana beams" +msgid_plural "lesser wands of mana beam" msgstr[0] "次级奥术光束法杖" #: lang/json/TOOL_from_json.py msgid "greater wand of mana beam" -msgid_plural "greater wand of mana beams" +msgid_plural "greater wands of mana beam" msgstr[0] "高级奥术光束法杖" #: lang/json/TOOL_from_json.py msgid "minor wand of point flare" -msgid_plural "minor wand of point flares" +msgid_plural "minor wands of point flare" msgstr[0] "下级定点炎爆法杖" #. ~ Description for minor wand of point flare @@ -69462,41 +72627,41 @@ msgstr "一根细长的木制法杖,在底端有一个魔法水晶插槽,激 #: lang/json/TOOL_from_json.py msgid "lesser wand of point flare" -msgid_plural "lesser wand of point flares" +msgid_plural "lesser wands of point flare" msgstr[0] "次级定点炎爆法杖" #: lang/json/TOOL_from_json.py msgid "greater wand of point flare" -msgid_plural "greater wand of point flares" +msgid_plural "greater wands of point flare" msgstr[0] "高级定点炎爆法杖" #: lang/json/TOOL_from_json.py -msgid "minor wand of iceball" -msgid_plural "minor wand of iceballs" -msgstr[0] "下级冰球法杖" +msgid "minor wand of hoary blast" +msgid_plural "minor wands of hoary blast" +msgstr[0] "下级白霜冲击法杖" -#. ~ Description for minor wand of iceball -#. ~ Description for lesser wand of iceball -#. ~ Description for greater wand of iceball +#. ~ Description for minor wand of hoary blast +#. ~ Description for lesser wand of hoary blast +#. ~ Description for greater wand of hoary blast #: lang/json/TOOL_from_json.py msgid "" "A slender wooden wand with a mana crystal socket at the base that casts a " -"spell when activated. This wand casts iceball." -msgstr "一根细长的木制法杖,在底端有一个魔法水晶插槽,激活时会施放一次法术。这根法杖发射的是冰球。" +"spell when activated. This wand casts hoary blast." +msgstr "一根细长的木制法杖,在底端有一个魔法水晶插槽,激活时会施放一次法术。这根法杖发射的是白霜冲击。" #: lang/json/TOOL_from_json.py -msgid "lesser wand of iceball" -msgid_plural "lesser wand of iceballs" -msgstr[0] "次级冰球法杖" +msgid "lesser wand of hoary blast" +msgid_plural "lesser wands of hoary blast" +msgstr[0] "次级白霜冲击法杖" #: lang/json/TOOL_from_json.py -msgid "greater wand of iceball" -msgid_plural "greater wand of iceballs" -msgstr[0] "高级冰球法杖" +msgid "greater wand of hoary blast" +msgid_plural "greater wands of hoary blast" +msgstr[0] "高级白霜冲击法杖" #: lang/json/TOOL_from_json.py msgid "minor wand of cone of cold" -msgid_plural "minor wand of cone of colds" +msgid_plural "minor wands of cone of cold" msgstr[0] "下级极寒喷射法杖" #. ~ Description for minor wand of cone of cold @@ -69510,14 +72675,158 @@ msgstr "一根细长的木制法杖,在底端有一个魔法水晶插槽,激 #: lang/json/TOOL_from_json.py msgid "lesser wand of cone of cold" -msgid_plural "lesser wand of cone of colds" +msgid_plural "lesser wands of cone of cold" msgstr[0] "次级极寒喷射法杖" #: lang/json/TOOL_from_json.py msgid "greater wand of cone of cold" -msgid_plural "greater wand of cone of colds" +msgid_plural "greater wands of cone of cold" msgstr[0] "高级极寒喷射法杖" +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of magic missile" +msgid_plural "disposable minor wands of magic missile" +msgstr[0] "一次性下级魔法飞弹法杖" + +#. ~ Description for disposable minor wand of magic missile +#. ~ Description for disposable lesser wand of magic missile +#. ~ Description for disposable greater wand of magic missile +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts magic missile." +msgstr "一根细长的木制法杖,在底端镶嵌有一颗魔法水晶,激活时会施放一次法术。这根法杖发射的是魔法飞弹。" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of magic missile" +msgid_plural "disposable lesser wands of magic missile" +msgstr[0] "一次性次级魔法飞弹法杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of magic missile" +msgid_plural "disposable greater wands of magic missile" +msgstr[0] "一次性高级魔法飞弹法杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of fireball" +msgid_plural "disposable minor wands of fireball" +msgstr[0] "一次性下级火球法杖" + +#. ~ Description for disposable minor wand of fireball +#. ~ Description for disposable lesser wand of fireball +#. ~ Description for disposable greater wand of fireball +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts fireball." +msgstr "一根细长的木制法杖,在底端镶嵌有一颗魔法水晶,激活时会施放一次法术。这根法杖发射的是火球。" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of fireball" +msgid_plural "disposable lesser wands of fireball" +msgstr[0] "一次性次级火球法杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of fireball" +msgid_plural "disposable greater wands of fireball" +msgstr[0] "一次性高级火球法杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of mana beam" +msgid_plural "disposable minor wands of mana beam" +msgstr[0] "一次性下级奥术光束法杖" + +#. ~ Description for disposable minor wand of mana beam +#. ~ Description for disposable lesser wand of mana beam +#. ~ Description for disposable greater wand of mana beam +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts mana beam." +msgstr "一根细长的木制法杖,在底端镶嵌有一颗魔法水晶,激活时会施放一次法术。这根法杖发射的是奥术光束。" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of mana beam" +msgid_plural "disposable lesser wands of mana beam" +msgstr[0] "一次性次级奥术光束法杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of mana beam" +msgid_plural "disposable greater wands of mana beam" +msgstr[0] "一次性高级奥术光束法杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of point flare" +msgid_plural "disposable minor wands of point flare" +msgstr[0] "一次性下级定点炎爆法杖" + +#. ~ Description for disposable minor wand of point flare +#. ~ Description for disposable lesser wand of point flare +#. ~ Description for disposable greater wand of point flare +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts point flare." +msgstr "一根细长的木制法杖,在底端镶嵌有一颗魔法水晶,激活时会施放一次法术。这根法杖发射的是定点炎爆。" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of point flare" +msgid_plural "disposable lesser wands of point flare" +msgstr[0] "一次性次级定点炎爆法杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of point flare" +msgid_plural "disposable greater wands of point flare" +msgstr[0] "一次性高级定点炎爆法杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of hoary blast" +msgid_plural "disposable minor wands of hoary blast" +msgstr[0] "一次性下级白霜冲击法杖" + +#. ~ Description for disposable minor wand of hoary blast +#. ~ Description for disposable lesser wand of hoary blast +#. ~ Description for disposable greater wand of hoary blast +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts hoary blast." +msgstr "一根细长的木制法杖,在底端镶嵌有一颗魔法水晶,激活时会施放一次法术。这根法杖发射的是白霜冲击。" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of hoary blast" +msgid_plural "disposable lesser wands of hoary blast" +msgstr[0] "一次性次级白霜冲击法杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of hoary blast" +msgid_plural "disposable greater wands of hoary blast" +msgstr[0] "一次性高级白霜冲击法杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of cone of cold" +msgid_plural "disposable minor wands of cone of cold" +msgstr[0] "一次性下级极寒喷射法杖" + +#. ~ Description for disposable minor wand of cone of cold +#. ~ Description for disposable lesser wand of cone of cold +#. ~ Description for disposable greater wand of cone of cold +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts cone of cold." +msgstr "一根细长的木制法杖,在底端镶嵌有一颗魔法水晶,激活时会施放一次法术。这根法杖发射的是极寒喷射。" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of cone of cold" +msgid_plural "disposable lesser wands of cone of cold" +msgstr[0] "一次性次级极寒喷射法杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of cone of cold" +msgid_plural "disposable greater wands of cone of cold" +msgstr[0] "一次性高级极寒喷射法杖" + #: lang/json/TOOL_from_json.py msgid "owlbear gastrolith" msgid_plural "owlbear gastroliths" @@ -69594,7 +72903,7 @@ msgstr "这块注魔的小石块上面有一个像齿轮和发条装置的符号 #: lang/json/TOOL_from_json.py msgid "Magus rune" -msgid_plural "Magus runes" +msgid_plural "Magi runes" msgstr[0] "魔术师符文" #. ~ Description for Magus rune @@ -69724,7 +73033,7 @@ msgstr "这些细粉发出逐渐增强的光。" #: lang/json/TOOL_from_json.py msgid "wand of fireballs" -msgid_plural "wand of fireballss" +msgid_plural "wands of fireball" msgstr[0] "火球法杖" #. ~ Description for wand of fireballs @@ -69736,7 +73045,7 @@ msgstr "这是一款经典的法杖,可以毫不失误地发射火球。不过 #: lang/json/TOOL_from_json.py msgid "wand of magic missiles" -msgid_plural "wand of magic missiless" +msgid_plural "wands of magic missile" msgstr[0] "魔法飞弹法杖" #. ~ Description for wand of magic missiles @@ -70153,11 +73462,6 @@ msgid "" "This is a stick that has been cut into a trigger mechanism for a snare trap." msgstr "一只木棍被削成木制的机关,用于制作捕猎陷阱。" -#: lang/json/TOOL_from_json.py -msgid "Laevateinn" -msgid_plural "Laevateinns" -msgstr[0] "列瓦汀" - #. ~ Description for Laevateinn #: lang/json/TOOL_from_json.py msgid "" @@ -71271,6 +74575,17 @@ msgid "" " terribly when not on a rail." msgstr "坚固的铁路车轮。轮缘有助于将它保持在轨道上,但如果不在轨道上,它会表现得非常糟糕。" +#: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py +msgid "pair of small rail wheels" +msgstr "窄轨轨道轮" + +#. ~ Description for pair of small rail wheels +#: lang/json/WHEEL_from_json.py +msgid "" +"A pair of small rail wheels. It fits small railroad rails found in places " +"like amusement parks. Mostly for hobby purposes rather then transportation." +msgstr "一对窄轨火车车轮。它适合用在游乐园等地的观光窄轨铁路上。主要是为了观光游乐,而不是运输货物。" + #: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py msgid "motorbike wheel" msgstr "摩托车轮" @@ -71635,6 +74950,10 @@ msgstr "打砸" msgid "cranking" msgstr "转动把手" +#: lang/json/activity_type_from_json.py +msgid "heating" +msgstr "加热" + #: lang/json/activity_type_from_json.py msgid "de-stressing" msgstr "减压" @@ -71673,7 +74992,7 @@ msgstr "整理战利品" #: lang/json/activity_type_from_json.py msgid "tilling the farm plot" -msgstr "耕地" +msgstr "开垦土地" #: lang/json/activity_type_from_json.py msgid "fetching components" @@ -72269,7 +75588,7 @@ msgstr "合金装甲-手臂" #. ~ Description for Alloy Plating - Arms #: lang/json/bionic_from_json.py msgid "" -"The flesh on your arms has been surgically replaced by alloy plating. " +"The flesh on your arms has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "你的手臂的皮肤被手术替换成了合金装甲,提供防护并可用于生化武术。" @@ -72304,7 +75623,7 @@ msgstr "合金装甲-腿部" #. ~ Description for Alloy Plating - Legs #: lang/json/bionic_from_json.py msgid "" -"The flesh on your legs has been surgically replaced by alloy plating. " +"The flesh on your legs has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "你的腿部的皮肤被手术替换成了合金装甲,提供防护并可用于生化武术。" @@ -72606,15 +75925,20 @@ msgstr "酒精锅炉" #. ~ Description for Ethanol Burner #: lang/json/bionic_from_json.py -msgid "" -"You burn alcohol as fuel in an extremely efficient reaction. However, you " -"will still suffer the inebriating effects of the substance." -msgstr "你通过一种极其高效的转换方式燃烧酒精产生能量。然而你还是会受到醉酒的不良影响。" +msgid "You burn alcohol as fuel in an extremely efficient reaction." +msgstr "你通过一种极其高效的转换方式燃烧酒精产生能量。" #: lang/json/bionic_from_json.py msgid "Aero-Evaporator" msgstr "湿气凝水器" +#. ~ Description for Aero-Evaporator +#: lang/json/bionic_from_json.py +msgid "" +"This unit draws moisture from the surrounding air, which slowly trickles " +"directly into your blood stream. It may fail in very dry environments." +msgstr "这个插件可以从周围的空气中吸收水蒸气,逐渐将其直接注入血液之中。在非常干燥的地区,此仪器可能效果不佳。" + #: lang/json/bionic_from_json.py msgid "Diamond Cornea" msgstr "钻石角膜" @@ -72715,8 +76039,9 @@ msgid "" "You don't think that capacitor is *meant* to glow, but it does, and usually " "at bad times. A malfunctioning bionic randomly turns on and off, causing " "you to glow and making you visible in the dark without improving how much " -"you can see in the slighest." -msgstr "这个失灵的仿生插件会随机开关,发出光芒,让你难以在黑暗中隐藏。它的光芒不足以让你看清周围的事物。" +"you can see in the slightest." +msgstr "" +"你没想过电容还能发光,但是它的确会,而且通常是在糟糕的时机下发光。这个失灵的仿生插件会随机开关,发出光芒,让你难以在黑暗中隐藏。然而,它的光芒不足以让你看清周围的事物。" #: lang/json/bionic_from_json.py msgid "Integrated Dosimeter" @@ -72857,10 +76182,10 @@ msgid "" msgstr "你安装了刺激造血功能的生化系统,让你可以消耗储能来加速白细胞的生产。它应当保持持续运行,开启后再关闭可能会导致不愉快的副作用。" #: lang/json/bionic_from_json.py -msgid "Mini-Flamethrower" -msgstr "迷你火焰发射器" +msgid "Finger Lighter" +msgstr "指尖打火机" -#. ~ Description for Mini-Flamethrower +#. ~ Description for Finger Lighter #: lang/json/bionic_from_json.py msgid "" "The index fingers of both hands have powerful fire starters which extend " @@ -72887,9 +76212,9 @@ msgstr "掌心电磁铁" #: lang/json/bionic_from_json.py msgid "" "Surgically embedded in your right hand is a powerful electromagnet, allowing" -" you to indiscriminately pull all nearby magnetic objects towards you. " -"Unlucky bystanders might be injured or killed by flying objects." -msgstr "你的右手被手术植入了一个强力电磁铁,使你能够无差别的吸引周围所有磁性物品。不明真相的围观群众可能会被到处乱飞的物品击伤甚至击毙。" +" you to use your own strength to pull all nearby magnetic objects towards " +"you. Unlucky bystanders might be injured or killed by flying objects." +msgstr "你的右手被手术植入了一个强力电磁铁,使你能够使用自身力量吸引周围所有磁性物品。不明真相的围观群众可能会被到处乱飞的物品击伤甚至击毙。" #: lang/json/bionic_from_json.py msgid "Nictating Membrane" @@ -72948,14 +76273,21 @@ msgstr "医疗纳米机器人" #: lang/json/bionic_from_json.py msgid "" "Inside your body is a fleet of tiny dormant robots. While activated they " -"will flit about your body, repairing damage at 1 HP/s and stopping bleeding " -"at the cost of power." -msgstr "你体内有一群微型纳米机器人。开启时会不断消耗能量,并绕行你的周身,以 1 HP 每秒的速度修复伤害以及止血。" +"will flit about your body, repairing damage at 1 HP per minute and stopping " +"bleeding at the cost of extra power and stored calories." +msgstr "你体内有一群微型纳米机器人。开启时会不断消耗能量,绕行你的周身,并通过消耗额外能量和卡路里来以每分钟 1 HP 的速度修复伤害以及止血。" #: lang/json/bionic_from_json.py msgid "Artificial Night Generator" msgstr "人工黑夜制造机" +#. ~ Description for Artificial Night Generator +#: lang/json/bionic_from_json.py +msgid "" +"When active, this bionic eliminates all light within a 2 tile radius through" +" destructive interference." +msgstr "开启时,这个生化插件会通过干扰光线消除附近 2 格内所有的光源。" + #: lang/json/bionic_from_json.py msgid "Implanted Night Vision" msgstr "植入式夜视仪" @@ -72978,8 +76310,8 @@ msgstr "一个出现故障的生化插件。它偶尔会发出一阵滋滋滋的 msgid "" "You're really not sure how the CBM ended up in your nose, but no matter how " "it got there this badly misplaced bionic makes it difficult to breathe. " -"Increases mouth encumbrance by one." -msgstr "你真的不知道它是怎么到你鼻子你去的,但不管怎样它严重的干扰了你的呼吸,你不得不用嘴来呼吸。嘴部累赘+1。" +"Increases mouth encumbrance by ten." +msgstr "你真的不知道它是怎么到你鼻子你去的,但不管怎样它严重的干扰了你的呼吸,你不得不用嘴来呼吸。嘴部累赘+10。" #: lang/json/bionic_from_json.py msgid "Offensive Defense System" @@ -73009,8 +76341,8 @@ msgstr "你的神经系统经过生化改造,可让你大幅度抑制痛苦及 #: lang/json/bionic_from_json.py msgid "" "Due to a badly misplaced dielectric stylette, you are now suffering from " -"mild optic neuropathy. Increases eye encumbrance by one." -msgstr "由于一次严重的生化插件安装失误,你现在患有轻度视神经病变。眼部累赘+1。" +"mild optic neuropathy. Increases eye encumbrance by ten." +msgstr "由于一次严重的生化插件安装失误,你现在患有轻度视神经病变。眼部累赘+10。" #: lang/json/bionic_from_json.py msgid "Power Armor Interface" @@ -73042,12 +76374,12 @@ msgstr "储能模块" #. ~ Description for Power Storage #: lang/json/bionic_from_json.py msgid "" -"A Compact Bionics Module that increases your power capacity by 100 units. " +"A Compact Bionics Module that increases your power capacity by 100 kJ. " "Having at least one of these is a prerequisite to using powered bionics. " "You will also need a power supply, found in various CBMs." msgstr "" "小型生化电池插件,可以为你增加 100 " -"点生化能量储备上限。你至少需要一个储能模块才能使用耗能型生化插件,同时你还需要至少一种供能型生化插件,为自己充能。" +"千焦的生化能量储备上限。你至少需要一个储能模块才能使用耗能型生化插件,同时你还需要至少一种供能型生化插件,为自己充能。" #: lang/json/bionic_from_json.py msgid "Power Storage Mk. II" @@ -73055,9 +76387,8 @@ msgstr "储能模块Mk.II型" #. ~ Description for Power Storage Mk. II #: lang/json/bionic_from_json.py -msgid "" -"A Compact Bionics Module that increases your power capacity by 250 units." -msgstr "小型生化电池插件,可以为你增加 250 点生化能量储备上限。" +msgid "A Compact Bionics Module that increases your power capacity by 250 kJ." +msgstr "小型生化电池插件,可以为你增加 250 千焦的生化能量储备上限。" #. ~ Description for Power Overload #: lang/json/bionic_from_json.py @@ -73331,8 +76662,8 @@ msgstr "" msgid "" "Self-locking thumbs hold tight (even when you really don't want them to) and" " don't let go (even when you'd rather they did). Increases hand encumbrance" -" by two, while failing to improve your ability to hold objects whatsoever." -msgstr "会自锁的手指紧紧抓住(尽管你不想这么做)并且坚决不松开(尽管你很想放手)。手掌累赘+2,但是并不能让你能把手里的物品抓得更牢。" +" by ten, while failing to improve your ability to hold objects whatsoever." +msgstr "会自锁的手指紧紧抓住(尽管你不想这么做)并且坚决不松开(尽管你很想放手)。手掌累赘+10,但是并不能让你能把手里的物品抓得更牢。" #: lang/json/bionic_from_json.py msgid "Time Dilation" @@ -73463,8 +76794,8 @@ msgstr "你的掌心经过手术被植入了纳米管,允许你从任何尸体 #. ~ Description for Gasoline Fuel Cell CBM #: lang/json/bionic_from_json.py msgid "" -"A small gasoline fuel cell fixed to your scapula. Despite its limited energy" -" output compared to other fuel cells, this device still produces a " +"A small gasoline fuel cell fixed to your scapula. Despite its limited " +"energy output compared to other fuel cells, this device still produces a " "significant amount of heat dissipated through a heat exhaust protruding from" " your back. A diffuse network of bio-plastic bladders has been meshed with " "your circulatory system and serves as a fuel tank." @@ -73520,7 +76851,7 @@ msgstr "味觉调节" #: lang/json/bionic_from_json.py msgid "" "A set of highly sensitive sensors is installed in your mouth, and a small " -"yet sophisticated analyzer is installed in the cavity of your skull. The " +"yet sophisticated analyzer is installed in the cavity of your skull. The " "active bionic will nullify the taste of all comestibles with negative " "enjoyment value at the cost of draining bionic power." msgstr "你的嘴里被安装了一套高度敏感的传感器,头骨腔中安装了一个小而精密的分析仪。开启后将消耗生化能量使所有难吃的食物不再具有负面心情效果。" @@ -73713,7 +77044,7 @@ msgid "Dodging and melee is hampered." msgstr "闪避和近战攻击受到了限制。" #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Torso" msgstr "躯干" @@ -73732,7 +77063,7 @@ msgid "head" msgstr "头部" #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Head" msgstr "头部" @@ -74212,6 +77543,18 @@ msgstr "用泥土填坑" msgid "Make Woodchip Floor" msgstr "建造碎木地板" +#: lang/json/construction_from_json.py +msgid "Make Gravel Floor" +msgstr "建造碎石地板" + +#: lang/json/construction_from_json.py +msgid "Build Straight Small Railroad Track" +msgstr "建造直线窄轨轨道" + +#: lang/json/construction_from_json.py +msgid "Build Diagonal Small Railroad Track" +msgstr "建造对角窄轨轨道" + #: lang/json/construction_from_json.py msgid "Build Wooden Floor" msgstr "建造木地板" @@ -74324,6 +77667,14 @@ msgstr "建造勾花围栏大门" msgid "Needs to be supported on both sides by fencing, walls, etc." msgstr "需要在两侧有支持,如栅栏,墙等。" +#: lang/json/construction_from_json.py +msgid "Build Screen Door" +msgstr "建造纱窗门" + +#: lang/json/construction_from_json.py +msgid "Build Screen Mesh Wall" +msgstr "建造纱网墙" + #: lang/json/construction_from_json.py msgid "Build Chickenwire Fence" msgstr "建造铁丝网围栏" @@ -74364,6 +77715,10 @@ msgstr "建造梳妆台" msgid "Build Bookcase" msgstr "建造书架" +#: lang/json/construction_from_json.py +msgid "Build Entertainment Center" +msgstr "建造家娱中心" + #: lang/json/construction_from_json.py msgid "Build Locker" msgstr "建造锁柜" @@ -74396,6 +77751,10 @@ msgstr "建造桌子" msgid "Place Table" msgstr "放置桌子" +#: lang/json/construction_from_json.py +msgid "Build Coffee Table" +msgstr "建造咖啡桌" + #: lang/json/construction_from_json.py msgid "Build Workbench" msgstr "建造工作台" @@ -74847,6 +78206,10 @@ msgstr "建造无线发射塔" msgid "Build a radio tower console." msgstr "建造无线电控制台" +#: lang/json/construction_from_json.py +msgid "Build Log Stool" +msgstr "建造圆木凳" + #: lang/json/construction_from_json.py msgid "Convert Fridge Power Supply" msgstr "改造冰箱电源" @@ -75125,7 +78488,7 @@ msgstr "在梦里,你看见了自己奇怪的像野兽般的身影。" #: lang/json/dream_from_json.py msgid "You dream of foraging in the woods... mouth-first?" -msgstr "你梦见自己在丛林中搜寻草料……还用的嘴?" +msgstr "你梦见自己在丛林中采集草料……还用的嘴?" #: lang/json/dream_from_json.py msgid "Your dream-reflection is rather bearish." @@ -75545,6 +78908,42 @@ msgstr "你梦到一株奇形怪状的植物,其花蜜如同琼浆玉露,超 msgid "You dream of bees fighting over your sweet nectar. Mmm." msgstr "你梦到一群蜜蜂为了你甘甜的花蜜而争斗。感觉真好。" +#: lang/json/dream_from_json.py +msgid "" +"How grand it would be to sink your roots deep into the soil as the seasons " +"pass you by." +msgstr "你梦见自己把根深深地浸入土壤中,四季随之流逝,多么伟大啊。" + +#: lang/json/dream_from_json.py +msgid "You dream of a gigantic knot of roots, beating like a heart." +msgstr "你梦见一颗巨大的根结,像一颗心一样跳动。" + +#: lang/json/dream_from_json.py +msgid "You have a disturbing dream of termites chewing all over your body." +msgstr "你做了一个令人不安的梦,梦中白蚁在你全身上下咀嚼着你。" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of sharing your roots with a vast forest, all plants provided for " +"as the canopy grows ever upwards." +msgstr "你梦见自己与一片广袤的森林共同分享根部,当树冠不断向上生长时,所有的植物都得到了满足。" + +#: lang/json/dream_from_json.py +msgid "A family of caterpillars munches away at your leaves." +msgstr "你梦见一群毛毛虫啃食着你的叶子。" + +#: lang/json/dream_from_json.py +msgid "" +"Fire rages around you, licking at your bark and engulfing the saplings and " +"bushes near your roots. The once chatty forest is quiet in its wake." +msgstr "你梦见火焰在你四周肆虐,舔舐你的树皮,吞没你根旁的幼苗和灌木。曾经喋喋不休的森林也随之安静。" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of communing with an ancient pine. Trees are the true survivors " +"of this world, it tells you." +msgstr "你梦见和一棵古老的松树交流。它告诉你,树木才是这个世界真正的幸存者。" + #: lang/json/dream_from_json.py msgid "" "A rather attractive triffid offers you a bouquet of ape heads. How " @@ -76826,6 +80225,25 @@ msgstr "你的手不受控制的颤抖。" msgid "You tremble" msgstr "你剧烈颤抖" +#: lang/json/effects_from_json.py +msgid "Seizure" +msgstr "癫痫发作" + +#. ~ Description of effect 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles have seized up, and you can't control them!" +msgstr "你的肌肉不停抽搐,而你无法控制它们!" + +#. ~ Remove message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "You regain control of your muscles!" +msgstr "你现在能重新控制你的肌肉了!" + +#. ~ Miss message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles won't cooperate!" +msgstr "你的肌肉不受控制了!" + #: lang/json/effects_from_json.py msgid "Bleeding" msgstr "流血" @@ -77737,6 +81155,26 @@ msgstr "你的新陈代谢变得不稳定。" msgid "Your metabolism becomes more stable." msgstr "你的新陈代谢稳定下来了。" +#: lang/json/effects_from_json.py +msgid "Concerning symptoms" +msgstr "令人担忧的症状" + +#. ~ Description of effect 'Concerning symptoms'. +#: lang/json/effects_from_json.py +msgid "Your muscles keep twitching strangely." +msgstr "你的肌肉一直在奇怪地抽搐。" + +#: lang/json/effects_from_json.py +msgid "Unnerving symptoms" +msgstr "令人不安的症状" + +#. ~ Description of effect 'Unnerving symptoms'. +#: lang/json/effects_from_json.py +msgid "" +"Your nervous system is malfunctioning, almost like it's being torn apart " +"from the inside." +msgstr "你的神经系统失灵了,就像从内部被撕裂了一样。" + #: lang/json/effects_from_json.py msgid "Lit up" msgstr "被照亮" @@ -77985,6 +81423,17 @@ msgstr "超级充能" msgid "You've been struck by lightning, and feel... different." msgstr "你最近被闪电击中过,感觉很……奇特。" +#: lang/json/effects_from_json.py +msgid "Grown of Fusion" +msgstr "融合成长" + +#. ~ Description of effect 'Grown of Fusion'. +#: lang/json/effects_from_json.py +msgid "" +"AI effect to increase stats after fusing with another critter. 1 stack means" +" one absorbed max_hp." +msgstr "AI专用效果:在吸收了其他怪物后增加属性。每一层表示吸收了max_hp的血量。" + #: lang/json/effects_from_json.py msgid "Religious Offense" msgstr "冒犯信仰" @@ -78297,6 +81746,33 @@ msgstr "你感觉身体轻如鸿毛。" msgid "The earth pulls you down hard." msgstr "你被引力狠狠拉向了地面。" +#: lang/json/effects_from_json.py +msgid "Scared" +msgstr "惊恐" + +#: lang/json/effects_from_json.py +msgid "Frightened" +msgstr "受惊" + +#: lang/json/effects_from_json.py src/npc.cpp +msgid "Terrified" +msgstr "十分惊恐" + +#: lang/json/effects_from_json.py +msgid "" +"Your knees are shaking, your heart beats fast, and your stomach rebels." +msgstr "你的膝盖颤抖,你的心跳加快,你的胃中一阵作呕。" + +#. ~ Apply message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "You are afraid!" +msgstr "你感到非常害怕!" + +#. ~ Remove message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "Your fear dissipates." +msgstr "你的恐惧消散了。" + #: lang/json/effects_from_json.py msgid "Stuck in a light snare" msgstr "陷入小型捕猎陷阱" @@ -78587,6 +82063,207 @@ msgid "" msgstr "" "因为被仅存的安防系统跟踪并记录下了数次抢劫以及破坏行为,一台警用机器人抓住了他并将他铐了起来。在被机器人压在地上等待更多的警察快速反应部队来支援时,他被因为警报而引来的周围的丧尸给撕成了碎片。" +#: lang/json/epilogue_from_json.py +msgid "" +" Became a hunter after your death, living alone in the woods. Traced " +"back to his cabin, he was murdered and devoured in his sleep by an actual " +"cannibal." +msgstr " 在你死后成为了一位独自居住在森林深处的猎人。被人跟踪到他的小屋,他在睡梦中被一个真正的食人者杀害并吞食。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived for many years, and became a renowned scavenger, eventually " +"setting up a small shop in a Free Merchant outpost. Survived by two sons, " +"he died after a rare artifact poisoned his blood with acid." +msgstr "" +" " +"活了不少年,成了一名远近闻名的拾荒者,最终在一处自由商会的前哨站里开了一间小店。他有两个儿子活了下来,而自己被一件罕见的神器用酸液腐蚀血液而毒死了。" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered and scavenged the land for years after your death, " +"eventually becoming a skilled mechanic. Employed by the Free Merchants, he " +"lived a comfortable, if rather uneventful life, dying of cancer, a rare " +"luxury these days." +msgstr "" +" " +"在你死后,他在这片土地上四处游荡拾荒了好几年,最终成为一名熟练的技工。受雇于自由商会,他过着舒适而平淡的生活,最终死于癌症,在这种年代相当罕见且奢侈。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became truly depressed after your death and hid in the woods. If " +"rumors are to be believed, he spent years living as a deranged hermit in a " +"distant cave, worshiping stones and sacrificing dogs." +msgstr "" +" 在你死后变得相当抑郁,独自隐居在森林之中。如果谣言可信的话,他多年以来都是个精神错乱的隐士,住在一处偏僻的洞穴之中,崇拜石头,并用狗做祭品。" + +#: lang/json/epilogue_from_json.py +msgid "" +" After your death, he became obsessed with preserving old knowledge and " +"eventually became known as 'the lorekeeper'. Hired by the Old Guard as a " +"librarian, he spent his life amongst dusty old books, trying to convince " +"others of their value. He even changed his name to Frederic Bastiat, in " +"honor of an old French philosopher." +msgstr "" +" " +"在你死后,他痴迷于保存旧日知识,最终获得\"博学者\"的尊称。他被旧日守护者雇为图书管理员,一生都在尘土飞扬的旧书中度过,试图说服其他人相信它们的价值。为了纪念一位法国老哲学家,他甚至改名为弗雷德里克·巴斯夏。" + +#: lang/json/epilogue_from_json.py +msgid "" +" He found faith after your death, eventually joining an Anglican " +"community and becoming a Vicar. The crucifix provided him with a sense of " +"meaning, before dying horribly at the hands of raiders. He was still " +"praying when they roasted him alive." +msgstr "" +" " +"你死后,他找到了信仰,最终加入了圣公会,成为了一名教区牧师。十字架给了他存在的意义感,直到他在掠夺者的手中可怕地死去。在被掠夺者们活活烧死之前,他仍在祈祷。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Lost and damned, he joined a bloody cult after your death, kidnapping " +"and sacrificing young women. His entire group was killed after being " +"discovered by the Old Guard. His head was put on a spike as a reminder that" +" cultists will not be tolerated." +msgstr "" +" " +"在你死后,他加入了一个血腥的邪教,绑架年轻女子并将其作为祭品牺牲。他的团伙成员在被旧日守护者发现后都被杀了。他的头被钉在一根竖起来的尖刺上,警告人们任何邪教徒都不会被容忍。" + +#: lang/json/epilogue_from_json.py +msgid "" +" He did not survive for long after your death. Electrocuted in an old " +"cellar, he kept screaming your name. His body was never found." +msgstr " 在你死后,他没能活多久。他在一个旧地窖中触电身亡,死前不停地尖叫着你的名字。他的尸体从没被任何人找到。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived you by just a few days, he drowned trying to escape from a " +"horde." +msgstr " 只比你多活了几天,然后就在逃离尸潮时被淹死了。" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered alone for days, before finding a Free Merchant outpost. He" +" spent a few years as a caravan guard, often drinking himself half blind and" +" enjoying any woman he could find. Booze made his grip unsteady and he was " +"eventually fired. He died of alcohol poisoning the same day." +msgstr "" +" " +"他独自乱逛了几天,然后找到了一个自由商会的前哨站。他当了几年的商队警卫,经常喝得半死不活,享受他付得起价钱的每一个女人。酒精使他经常握不住枪,最后他被解雇了。在那天,他死于酒精中毒。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with the idea of settling down, he eventually found love and " +"retired to a farm in the middle of nowhere. Relatively safe from the " +"monsters, he thrived for years. Survived by seven sons and two daughters." +msgstr "" +" " +"一直痴迷于找个地方安顿下来,他最终找到了自己的真爱,并引退到一所偏僻的农场之中。相对免受怪物打扰,他过了许多年的好日子。最后还生了七个儿子和两个女儿。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became famous in the wastes after finding an old brewery and copying " +"their recipe. His chilled beer, a known delicacy, is traded far and wide by" +" the Free Merchants." +msgstr " 在发现了一间老啤酒厂并抄袭了配方之后,他成为了废土世界中的名人。他的冰镇啤酒,成为众所周知的美食,并被自由商会广泛交易。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Found a whole cellar of single malt whisky. Drank himself to death." +msgstr " 找到了满满一个地窖的整瓶麦芽威士忌。喝得烂醉如泥死掉了。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed after your death, he would hang himself after just a few " +"days." +msgstr " 在你死后他很抑郁,几天后上吊自杀了。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Wandered for months, before finding a small community that would accept" +" him. Became a farmer and spent the rest of his uneventful life tending to " +"crops, glad that he was no longer alone." +msgstr " 四处徘徊了几个月,才找到一个愿意接纳他的小型社区。他成了一名农民,平平安安地度过了余生,照料庄稼,庆幸他不再是孤身一人。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with finding 'the Cure', he died a few weeks later in an old " +"lab, torn to shreds by a security turret." +msgstr " 他痴迷于寻找\"解药\",几周后死在一所旧实验室里,被防御炮塔撕成了碎片。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a runner for the Refugee Center and died after a few months." +msgstr " 成为难民中心的一名送信员,几个月后就死了。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a raider gang and died in a firefight a few weeks later, trying " +"to rob a Free Merchant caravan." +msgstr " 几周后,他加入了一伙掠夺者,并在试图抢劫自由商会商队的交火中丧生。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, he eventually found an intact baseball field and built " +"a prosperous farming community there." +msgstr " 去了北方,最终他找到了一个完好无损的棒球场,并在那里建立了一个繁荣的农耕社区。" + +#: lang/json/epilogue_from_json.py +msgid "" +" He spent the rest of his short life looking for a new fix. Died of an " +"overdose in an abandoned basement." +msgstr " 在其后短短的一生中,他一直都在寻找新的解决办法。最后在一个废弃地下室中死于吸毒过量。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a small fishing village. Died a few years " +"later in a raider attack, alongside his young son." +msgstr " 南下并加入了一个小渔村。几年后,他和他的小儿子一同死于一次掠夺者的袭击中。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Thoroughly terrified by your death, he retired to an old LMOE shelter, " +"vowing never to leave. He died of starvation inside." +msgstr " 他被你的死吓得魂不附体,隐退在一所旧LMOE避难所之中,发誓永不离开。最后饿死在了里面。" + +#: lang/json/epilogue_from_json.py +msgid "" +" He became a very prosperous game hunter, trading meat and furs, and " +"providing many settlements with food in exchange for booze and male company." +" He died years later of an STD." +msgstr " 他成为了一个非常成功的猎人,交易肉类和皮毛,并为许多定居点提供食物,以换取酒类和男性同伴。几年后他死于性病。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Retired to the woods, he spent the rest of his life fishing and hunting" +" in a desolate cabin, rarely interacting with anyone else." +msgstr " 隐退在森林之中,他在一间荒凉的小木屋里钓鱼和打猎,很少和其他人交往。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Died en route to California, deliriously dreaming of a better life as " +"he was slowly devoured by spiders." +msgstr " 他死在前往加利福尼亚的路上,在被蜘蛛慢慢吞噬的同时,他还在疯狂地梦想着过上更好的生活。" + +#: lang/json/epilogue_from_json.py +msgid "" +" He tried to cope with loneliness after your death, but failed. He was " +"blind drunk when a group of zombies found his hideout and didn't stand a " +"chance." +msgstr " 你死后他试图应付孤独,但失败了。一群丧尸发现了他的藏身之处,而他却恰好喝得烂醉,毫无机会。" + +#: lang/json/epilogue_from_json.py +msgid "" +" He didn't survive for long, waking up to a horde of zombies. They " +"smashed through his fortified windows in a pinch and only the last bullet " +"prevented him from being devoured alive." +msgstr " 他没能活多久,被尸潮所惊醒。它们在紧要关头砸破了防御工事的窗户,最后他只有用一发子弹阻止自己被丧尸们活活吃掉。" + +#: lang/json/epilogue_from_json.py +msgid "" +" He got sick soon after your death, and died without any medical help. " +"His last words were 'Why did I live long enough to suffer like that?'" +msgstr " 你死后不久他就生病了,没能获得任何治疗就死了。他的临终遗言是:\"为什么还要让我活着忍受这样的痛苦呢?\"" + #: lang/json/epilogue_from_json.py msgid "" " Committed suicide rather than fall into the hands of the Hell's " @@ -78825,6 +82502,169 @@ msgid "" msgstr "" "因为被仅存的安防系统跟踪并记录下了数次抢劫以及破坏行为,一台警用机器人抓住了她并将她关了起来。独自被困在牢房中等待永不到来的警局复审,她在这几周内不断大声喊叫求救,而随身补给也渐渐消耗光了。在被拖进牢房的两周之后,她死于脱水。" +#: lang/json/epilogue_from_json.py +msgid "" +" Shot by the Old Guard a few weeks later, hunted down after she robbed " +"an important caravan." +msgstr " 几个星期后,旧日守护者枪毙了她,他们在她抢劫了一队重要的商队之后抓住了她。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, she eventually found a quiet community there and spent " +"the rest of her life farming. She's survived by four daughters." +msgstr " 去了北方,她终于在那里找到了一个安静的社区,在那里度过了她的余生。她还生了四个女儿。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a runner for the Old Guard and was eventually permitted to " +"join. She spent the rest of her life hunting raiders. She died in a " +"skirmish after a few years, sacrificing her life to let her unit retreat. " +"Her name is venerated in songs and inscriptions." +msgstr "" +" " +"她成为了旧日守护者的一名送信员,并最终获准加入。她余生都在四处猎杀掠夺者。几年后,她死于一场小规模战斗中,为了让她的部队撤退,她牺牲了自己的生命。她的名字在歌曲和铭文中被人称颂。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Shortly after your death she joined the Free Merchants, becoming a " +"caravan guard and after a few months became the new liaison in the Refugee " +"Center. She died a few years later of a mysterious illness." +msgstr " 你死后不久,她加入了自由商会,成为一名商队警卫,几个月后成为难民中心的新联络员。几年后,她死于一种神秘的疾病。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She was found half-dead by the Old Guard who took her in. She became a" +" famous scavenger, known for finding an intact stash of experimental " +"antibiotics." +msgstr " 旧日守护者收留了她,他们发现她时她正半死未死。她成了著名的拾荒者,而且因为找到了一箱完整的实验性抗生素而远近闻名。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She retired to the forest, where she built her own cabin and spending " +"the rest of her life fishing." +msgstr " 她隐退在森林深处,在那里她建立了自己的小屋,并捕鱼度过了她的余生。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Captured by raiders, she spent the rest of her miserable life as a " +"slave. Hopeless, she slit her wrists with a rusty knife." +msgstr " 被掠夺者俘虏后,她作为奴隶度过了痛苦的余生。因为没有任何希望,她用一把生锈小刀割腕自杀了。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed, she joined a protestant community and became a paragon of " +"virtue. Devoting her life to bible study, she spent the rest of her life in" +" relative peace." +msgstr " 她郁郁寡欢,加入了一个新教社区,并成为了美德典范。她毕生致力于研究圣经,在相对平静的环境中度过了余生。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Killed and devoured by a cannibal just a few days after your death, " +"hardly anyone remembers her name." +msgstr " 就在你死后几天,被一个食人者杀死并吞食,几乎没有人记得她的名字。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a renowned merchant after your death, she built her own outpost " +"in the west. An avid book collector, she established a great library to " +"keep the flame of knowledge burning." +msgstr " 你死后她成了著名的商人,她在西方建立了自己的基地。作为一位狂热的图书收藏家,她建立了一所大图书馆,以保证知识的火焰能继续燃烧。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled around for months before finding an old farm. She spent a few" +" years tending to her crops and living the life of a hermit before being " +"killed by raiders for fun." +msgstr " 在你死后四处周游了几个月才找到一所旧农场定居下来。她花了几年时间照料她的庄稼,过着隐士的生活,最终被掠夺者取乐并杀死。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a settlement there. She became a renowned " +"engineer, building the largest steam engine in New England." +msgstr " 南下并加入了那里的一个定居点。她成为了一名著名的工程师,建造了新英格兰最大的蒸汽机。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a gang after your death, she spent months preying on the " +"innocent, before dying in a dispute with a fellow brute." +msgstr " 在你死后加入了一伙强盗,她花了几个月的时间捕食无辜的人,然后和一个同伴的争执中被杀死。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Devoured alive by a group of zombies, she kept thinking of you as she " +"died." +msgstr " 她被一群丧尸活活吞下,她死前还一直想着你。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She found an abandoned APC and spent years traveling around and " +"collecting personal stories. She wrote one of the few post-apocalyptic " +"books, detailing the life after the end." +msgstr " 她发现了一辆废弃的装甲运兵车,花了几年时间四处旅行,收集个人故事。她写了为数不多的灾变后的书之一,详细描述了末日之后的生活。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Kept wandering for years. Her life was cut short when a group of " +"raiders used her as a target practice." +msgstr " 在你死后又四处游荡了许多年。最后被一群掠夺者当作活靶子练枪法,她的生命就此终结。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a skilled game hunter and one of the best shots in the " +"wasteland. Years later she joined the Old Guard and was given the position " +"of Marshal." +msgstr " 她成为了一名熟练的猎手,也是废土上最好的枪手之一。几年后,她加入了旧日守护者,被授予执法官的职位。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Desperate to save humanity from extinction, she organized her own group" +" of survivors, whose job was to hunt bandits and decorate roads with their " +"mutilated bodies. She died in a skirmish a few months later." +msgstr " 为了拯救人类免于灭绝,她组织了自己的幸存者小队,他们的工作是追杀土匪,用他们残缺的身体装饰道路。几个月后,她死于一场遭遇战。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became an arsonist, and was incinerated a few weeks later in a fire" +" she set." +msgstr " 她成了一名纵火员,几周后在一场自己点燃的大火中被活活烧死。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She kept wandering for a few weeks but eventually died after drinking " +"untreated water." +msgstr " 她又四处游荡了几个星期,但最终在喝了未经处理的水后死亡。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She wandered north and joined a local community there. She became " +"known for her trapping skills and ensured that the locals always had fresh " +"meat on their tables." +msgstr " 她北上并加入了当地的一个社区。她以她的陷阱技巧而远近闻名,总能确保当地人的餐桌上总是有新鲜的肉可吃。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She joined the Free Merchants and led their first caravan to Canada. " +"She died a few years later of dysentery." +msgstr " 她加入了自由商会,并组织了他们首支前往加拿大的商队。几年后她死于痢疾。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She built a boat and sailed east towards Europe, hoping that it was not" +" affected by the apocalypse. She was never heard from again." +msgstr " 她建造了一艘船,尝试向东驶向欧洲,并希望那里没受到大灾变的影响。之后就再也没有她的消息了。" + +#: lang/json/epilogue_from_json.py +msgid "" +" She led a doomsday cult for a few years, she was sacrificed to their " +"gods after a particularly terrible harvest." +msgstr " 她花了数年时间组织了一个末日崇拜邪教,最后在某一年特别糟糕的收成之后,她被同伙们当作祭品献给了他们的邪神。" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became obsessed with chems, and died of an overdose a few months after " +"your death." +msgstr " 沉迷于各种化学合成毒品,并在你死后几个月死于吸毒过量。" + #: lang/json/faction_from_json.py msgid "Your Followers" msgstr "你的追随者" @@ -78976,10 +82816,10 @@ msgid "A small family surviving on their generational land." msgstr "一个世代生存在同一片土地的小家族。" #: lang/json/faction_from_json.py -msgid "God's Community" -msgstr "神之社团" +msgid "New England Church Community" +msgstr "新英格兰教会社区" -#. ~ Description for God's Community +#. ~ Description for New England Church Community #: lang/json/faction_from_json.py msgid "" "A small group of churchgoers that formed a community in the woods. They " @@ -79017,150 +82857,318 @@ msgstr "" msgid "Dusty" msgstr "进灰" -#. ~ Description for Dusty +#. ~ description for fault 'Dusty' #: lang/json/fault_from_json.py -msgid "It's dusty. Has no effect - obsolete fault." +msgid "It's dusty. Has no effect - obsolete fault." msgstr "它进灰了,但是没有其他实际效果:已废弃的故障。" +#. ~ name of mending method for fault 'Dusty' +#: lang/json/fault_from_json.py +msgid "Wipe clean" +msgstr "擦净" + +#. ~ success message for mending method 'Wipe clean' of fault 'Dusty' +#. ~ success message for mending method 'Clean gun' of fault 'Fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean you %s." +msgstr "你清理了 %s。" + #: lang/json/fault_from_json.py msgid "Already deployed" msgstr "已安装过" -#. ~ Description for Already deployed +#. ~ description for fault 'Already deployed' #: lang/json/fault_from_json.py msgid "This bionic needs to be reset to its factory state." msgstr "这个生化插件需要被恢复到出厂设置。" +#. ~ name of mending method for fault 'Already deployed' +#: lang/json/fault_from_json.py +msgid "Reset to factory state" +msgstr "恢复出厂设置" + +#. ~ success message for mending method 'Reset to factory state' of fault +#. 'Already deployed' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully reset the %s to its factory state" +msgstr "你成功将%s恢复了出厂设置。" + #: lang/json/fault_from_json.py msgid "Blackpowder fouling" msgstr "黑火药残渣" -#. ~ Description for Blackpowder fouling +#. ~ description for fault 'Blackpowder fouling' #: lang/json/fault_from_json.py msgid "" "Firing blackpowder loads from a gun fouls it, which reduces reliability and," -" if left uncleaned, leads to rust. It fouls the gun much faster than the use" -" of modern smokeless powder cartridges. Fouling is only a significant impact" -" on reliability at high levels, but black powder fouling accumulates " +" if left uncleaned, leads to rust. It fouls the gun much faster than the " +"use of modern smokeless powder cartridges. Fouling is only a significant " +"impact on reliability at high levels, but black powder fouling accumulates " "quickly." msgstr "" "枪械发射黑火药弹药会残留残渣,降低枪械可靠性并且若不及时清理会使得枪械生锈。黑火药会比现代无烟火药更快的污染枪膛。残渣只会在堆积过高时影响枪械可靠性,但使用黑火药会在枪管中迅速堆积残渣。" +#. ~ name of mending method for fault 'Blackpowder fouling' +#: lang/json/fault_from_json.py +msgid "Clean blackpowder fouling" +msgstr "清理黑火药污垢" + +#. ~ success message for mending method 'Clean blackpowder fouling' of fault +#. 'Blackpowder fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean your %s." +msgstr "你清理了 %s。" + #: lang/json/fault_from_json.py msgid "Spent casing in chamber" msgstr "弹壳卡膛" -#. ~ Description for Spent casing in chamber +#. ~ description for fault 'Spent casing in chamber' #: lang/json/fault_from_json.py msgid "" "This gun currently has an empty casing chambered. It will have to be " "removed before firing." msgstr "这把枪的枪膛里有一颗废弹壳,需要在再次开火前移除。" +#. ~ name of mending method for fault 'Spent casing in chamber' +#: lang/json/fault_from_json.py +msgid "Eject spent casing" +msgstr "退出弹壳" + +#. ~ success message for mending method 'Eject spent casing' of fault 'Spent +#. casing in chamber' +#: lang/json/fault_from_json.py +#, python-format +msgid "You eject the spent casing from the %s." +msgstr "你从 %s 中退出空弹壳。" + #: lang/json/fault_from_json.py msgid "Fouling" msgstr "枪膛残渣" -#. ~ Description for Fouling +#. ~ description for fault 'Fouling' #: lang/json/fault_from_json.py msgid "" "Fouling is caused by firing gunpowder loads repeatedly, which reduces " -"reliability and can eventually cause damage to the gun. Fouling accumulates " -"slowly (unless blackpowder is used) due to the design of modern smokeless " +"reliability and can eventually cause damage to the gun. Fouling accumulates" +" slowly (unless blackpowder is used) due to the design of modern smokeless " "powder found in the vast majority of retail cartridges and it is not a " "significant problem until high levels of fouling are reached due to firing " "thousands of rounds without cleaning your firearm." msgstr "" "枪械发射弹药时会残留残渣,降低枪械可靠性并且若不及时清理最终会损害枪膛。残渣只会在枪膛中缓慢堆积(除非使用黑火药弹药)。由于现代大部分在售弹药都采用无烟火药因此残渣堆积不是大问题,除非你发射上千发弹药而且从不清理枪膛导致残渣过多。" +#. ~ name of mending method for fault 'Fouling' +#: lang/json/fault_from_json.py +msgid "Clean gun" +msgstr "清理枪械" + #: lang/json/fault_from_json.py msgid "Worn drive belt" -msgstr "磨损的传送带" +msgstr "磨损的传动皮带" -#. ~ Description for Worn drive belt +#. ~ description for fault 'Worn drive belt' #: lang/json/fault_from_json.py msgid "Required for operation of an attached alternator." msgstr "一个交流发电机保障正常运转的必需配件。" +#. ~ name of mending method for fault 'Worn drive belt' +#: lang/json/fault_from_json.py +msgid "Replace worn drive belt" +msgstr "更换传动皮带" + +#. ~ success message for mending method 'Replace worn drive belt' of fault +#. 'Worn drive belt' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the worn drive belt of the %s." +msgstr "你换掉了%s的磨损的传动皮带。" + #: lang/json/fault_from_json.py msgid "Faulty glow plugs" msgstr "故障的电热塞" -#. ~ Description for Faulty glow plugs +#. ~ description for fault 'Faulty glow plugs' #: lang/json/fault_from_json.py msgid "Help when starting an engine in low ambient temperatures." msgstr "帮助你在低温环境下启动引擎。" +#. ~ name of mending method for fault 'Faulty glow plugs' +#: lang/json/fault_from_json.py +msgid "Replace faulty glow plugs" +msgstr "更换电热塞" + +#. ~ success message for mending method 'Replace faulty glow plugs' of fault +#. 'Faulty glow plugs' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty glow plugs of the %s." +msgstr "你换掉了%s的故障的电热塞。" + #: lang/json/fault_from_json.py msgid "Active immobiliser" msgstr "启动的防盗装置" -#. ~ Description for Active immobiliser +#. ~ description for fault 'Active immobiliser' #: lang/json/fault_from_json.py msgid "Prevents starting of the vehicle without the appropriate key." msgstr "防止在没有插入正确钥匙的情况下发动车辆。" +#. ~ name of mending method for fault 'Active immobiliser' +#: lang/json/fault_from_json.py +msgid "Deactivate immobiliser" +msgstr "解除防盗装置" + +#. ~ description for mending method 'Deactivate immobiliser' of fault 'Active +#. immobiliser' +#: lang/json/fault_from_json.py +msgid "" +"Deactivate the immobiliser that is preventing the vehicle from starting." +msgstr "解除掉载具的防盗装置以便启动载具。" + +#. ~ success message for mending method 'Deactivate immobiliser' of fault +#. 'Active immobiliser' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully deactivate the immobiliser of the %s." +msgstr "你成功解除了%s的防盗装置。" + #: lang/json/fault_from_json.py msgid "Faulty diesel pump" msgstr "故障的柴油泵" -#. ~ Description for Faulty diesel pump +#. ~ description for fault 'Faulty diesel pump' #: lang/json/fault_from_json.py msgid "Required to pump and pressurize diesel from a vehicles tank." msgstr "将柴油从油箱中泵出并加压的必需品。" +#. ~ name of mending method for fault 'Faulty diesel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty diesel pump" +msgstr "更换柴油泵" + +#. ~ success message for mending method 'Replace faulty diesel pump' of fault +#. 'Faulty diesel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty diesel pump of the %s" +msgstr "你换掉了%s的故障的柴油泵。" + #: lang/json/fault_from_json.py msgid "Expired air filter" msgstr "老旧的空气滤清器" -#. ~ Description for Expired air filter +#. ~ description for fault 'Expired air filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces fuel efficiency and increases smoke production." msgstr "老旧的过滤器会降低燃料的效率,并产生更多的烟雾。" +#. ~ name of mending method for fault 'Expired air filter' +#: lang/json/fault_from_json.py +msgid "Replace expired air filter" +msgstr "更换空气滤清器" + +#. ~ success message for mending method 'Replace expired air filter' of fault +#. 'Expired air filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired air filter of the %s." +msgstr "你换掉了%s的老旧的空气滤清器。" + #: lang/json/fault_from_json.py msgid "Expired fuel filter" msgstr "老旧的燃料滤清器" -#. ~ Description for Expired fuel filter +#. ~ description for fault 'Expired fuel filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces performance and increases the chance of backfires." msgstr "老旧的滤清器会降低性能并提高逆火的概率。" +#. ~ name of mending method for fault 'Expired fuel filter' +#: lang/json/fault_from_json.py +msgid "Replace expired fuel filter" +msgstr "更换燃料滤清器" + +#. ~ success message for mending method 'Replace expired fuel filter' of fault +#. 'Expired fuel filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired fuel filter of the %s." +msgstr "你换掉了%s的老旧的燃料滤清器。" + #: lang/json/fault_from_json.py msgid "Faulty fuel pump" msgstr "故障的汽油泵" -#. ~ Description for Faulty fuel pump +#. ~ description for fault 'Faulty fuel pump' #: lang/json/fault_from_json.py msgid "Required to pump gasoline from a vehicles tank." msgstr "将汽油从油箱中泵出的必需品。" +#. ~ name of mending method for fault 'Faulty fuel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty fuel pump" +msgstr "更换汽油泵" + +#. ~ success message for mending method 'Replace faulty fuel pump' of fault +#. 'Faulty fuel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty fuel pump of the %s." +msgstr "你换掉了%s的故障的汽油泵。" + #: lang/json/fault_from_json.py msgid "Faulty water pump" msgstr "故障的水泵" -#. ~ Description for Faulty water pump +#. ~ description for fault 'Faulty water pump' #: lang/json/fault_from_json.py msgid "Required to pump water to an external radiator or heatsink." msgstr "将水泵入外部散热器或散热片的必需品。" +#. ~ name of mending method for fault 'Faulty water pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty water pump" +msgstr "更换水泵" + +#. ~ success message for mending method 'Replace faulty water pump' of fault +#. 'Faulty water pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty water pump of the %s." +msgstr "你换掉了%s的故障的水泵。" + #: lang/json/fault_from_json.py msgid "Faulty starter motor" msgstr "故障的启动电机" -#. ~ Description for Faulty starter motor +#. ~ description for fault 'Faulty starter motor' #: lang/json/fault_from_json.py msgid "Required to initially start the engine." msgstr "用于启动引擎的必需品。" +#. ~ name of mending method for fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +msgid "Replace faulty starter motor" +msgstr "更换启动电机" + +#. ~ success message for mending method 'Replace faulty starter motor' of +#. fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty starter motor of %s." +msgstr "你换掉了%s的故障的启动电机。" + #: lang/json/field_type_from_json.py lang/json/overmap_terrain_from_json.py #: lang/json/overmap_terrain_from_json.py src/mapdata.cpp src/mapdata.cpp #: src/skill.cpp msgid "nothing" -msgstr "空" +msgstr "无" #: lang/json/field_type_from_json.py msgid "blood splatter" @@ -79642,6 +83650,22 @@ msgstr "杀虫剂浓雾" msgid "smoke vent" msgstr "烟雾涌出" +#: lang/json/field_type_from_json.py +msgid "clairvoyance" +msgstr "透视" + +#: lang/json/field_type_from_json.py +msgid "dreadful presense" +msgstr "恐怖存在" + +#: lang/json/field_type_from_json.py +msgid "frightful presense" +msgstr "骇人存在" + +#: lang/json/field_type_from_json.py +msgid "terrifying presense" +msgstr "可怕存在" + #: lang/json/furniture_from_json.py msgid "mutated cactus" msgstr "变异的仙人掌" @@ -79655,13 +83679,11 @@ msgstr "冷却装置" msgid "A big, blocky metal device for refrigerating large areas." msgstr "一种用于大面积制冷的大块金属装置。" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "metal screeching!" msgstr "一声尖锐的金属断裂的声音!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "clang!" msgstr "哐啷!" @@ -79764,6 +83786,50 @@ msgid "" "although it still has parts." msgstr "一个用于快速生产金属物件的落锤。看起来不像能用的样子,但是至少还能拆成零件。" +#: lang/json/furniture_from_json.py +msgid "document shredder" +msgstr "碎纸机" + +#. ~ Description for document shredder +#: lang/json/furniture_from_json.py +msgid "" +"It's not all about hiding government secrets, sometimes you just want to " +"stop identity theft." +msgstr "有时用于隐瞒政府机密,有时也用于防止个人信息被盗用。" + +#: lang/json/furniture_from_json.py +msgid "server stack" +msgstr "服务器" + +#. ~ Description for server stack +#: lang/json/furniture_from_json.py +msgid "This is a big pile of computers. They're all turned off." +msgstr "这是一堆电脑。它们都关机了。" + +#: lang/json/furniture_from_json.py +msgid "large satellite dish" +msgstr "大型卫星天线" + +#. ~ Description for large satellite dish +#: lang/json/furniture_from_json.py +msgid "" +"Somewhere up there, there are still satellites, orbiting and doing their " +"thing, sending signals down to an Earth that is no longer listening." +msgstr "在遥远的某个地方,仍然有卫星在轨道上运行,向一个无人倾听的地球发送信号。" + +#: lang/json/furniture_from_json.py +msgid "mounted solar panel" +msgstr "太阳能板(已安装)" + +#. ~ Description for mounted solar panel +#: lang/json/furniture_from_json.py +msgid "A mounted solar panel." +msgstr "安装好的太阳能板。" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "whack!" +msgstr "喀啦!" + #: lang/json/furniture_from_json.py msgid "road barricade" msgstr "路障" @@ -79775,11 +83841,11 @@ msgstr "一块用于截断交通的路障。" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py #: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +#: src/vehicle_move.cpp msgid "smash!" msgstr "咔嚓!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "whump." msgstr "哐嘡。" @@ -79832,6 +83898,113 @@ msgstr "沙袋墙" msgid "A sandbag wall." msgstr "一段沙包堆起来的墙。" +#: lang/json/furniture_from_json.py +msgid "standing mirror" +msgstr "穿衣镜" + +#. ~ Description for standing mirror +#: lang/json/furniture_from_json.py +msgid "Lookin' good - is that blood?" +msgstr "一个用于观察自己衣着的镜子,镜子里面不会有个头颅来奉承你。" + +#: lang/json/furniture_from_json.py +msgid "glass breaking" +msgstr "玻璃破裂" + +#: lang/json/furniture_from_json.py +msgid "broken standing mirror" +msgstr "穿衣镜(损坏)" + +#. ~ Description for broken standing mirror +#: lang/json/furniture_from_json.py +msgid "" +"You could look at yourself, if the mirror wasn't covered in cracks and " +"fractures." +msgstr "一个用于观察自己衣着的坏镜子,遍布着裂痕和残渣。" + +#: lang/json/furniture_from_json.py +msgid "bitts" +msgstr "缆柱" + +#. ~ Description for bitts +#: lang/json/furniture_from_json.py +msgid "" +"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " +"to secure mooring lines, ropes, hawsers, or cables." +msgstr "安装在码头、突堤或埠头上的成对的垂直铁柱。它们用于固定系泊缆、绳索、缆索或缆绳。" + +#: lang/json/furniture_from_json.py +msgid "manacles" +msgstr "镣铐" + +#. ~ Description for manacles +#: lang/json/furniture_from_json.py +msgid "" +"Chain serfs in your dungeon. All you need now is an iron ball to chain to " +"it." +msgstr "把农奴锁在地牢里。现在你只需要一个铁球来把它拴在上面。" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "crack." +msgstr "咔嚓。" + +#: lang/json/furniture_from_json.py +msgid "statue" +msgstr "雕像" + +#. ~ Description for statue +#: lang/json/furniture_from_json.py +msgid "A carved statue made of stone." +msgstr "一个冰冷的石雕。" + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +msgid "thump." +msgstr "重击声。" + +#: lang/json/furniture_from_json.py +msgid "mannequin" +msgstr "人体模型" + +#. ~ Description for mannequin +#: lang/json/furniture_from_json.py +msgid "" +"Put clothes on it, talk to it. Who's around to judge you? Wait… did it " +"just move?" +msgstr "帮它穿上衣服,跟它说说话。又不会有谁看到。等等……它刚动了吗?" + +#: lang/json/furniture_from_json.py +msgid "birdbath" +msgstr "鸟澡盆" + +#. ~ Description for birdbath +#: lang/json/furniture_from_json.py +msgid "A decorative cement birdbath and pedestal." +msgstr "一种装饰性的鸟澡盆和底座。" + +#: lang/json/furniture_from_json.py +msgid "rotary clothes dryer line" +msgstr "旋转晾衣绳" + +#. ~ Description for rotary clothes dryer line +#: lang/json/furniture_from_json.py +msgid "A umbrella shaped clothes line mounted on a pole." +msgstr "安装在杆子上的伞状晾衣绳。" + +#: lang/json/furniture_from_json.py +msgid "floor lamp" +msgstr "落地灯" + +#. ~ Description for floor lamp +#: lang/json/furniture_from_json.py +msgid "A tall standing lamp, meant to plug into a wall and light up a room." +msgstr "一盏高高的台灯,用来插在墙上来照亮房间。" + +#: lang/json/furniture_from_json.py +msgid "bonk!" +msgstr "轰!" + #: lang/json/furniture_from_json.py msgid "indoor plant" msgstr "室内植物" @@ -79943,6 +84116,85 @@ msgid "" "be used for planting crops. This one contains a planted seedling" msgstr "一种满是土壤和板条的园圃,以便有足够的排水能力。可用于种植农作物。该园圃内已有幼苗" +#: lang/json/furniture_from_json.py +msgid "spider egg sack" +msgstr "蜘蛛卵袋" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Much too large, off-white egg sack. Kind of icky. Something IS moving in " +"there." +msgstr "非常大的灰白色卵袋。有点恶心,里面有东西在移动。" + +#: lang/json/furniture_from_json.py +msgid "splat!" +msgstr "啪!" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " +"in there." +msgstr "球状的蜘蛛卵团。不只是有点恶心。里面有东西在动。" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"A horrifyingly oversized egg sack. Something IS moving in there. If you're" +" seeing this, you're already too close to it." +msgstr "一个大得吓人的卵袋。有东西在里面移动。如果你看到这个,你已经离它太近了。" + +#: lang/json/furniture_from_json.py +msgid "ruptured egg sack" +msgstr "蜘蛛卵袋(破裂)" + +#. ~ Description for ruptured egg sack +#: lang/json/furniture_from_json.py +msgid "Super icky. Spider stuff's spilling out." +msgstr "太恶心了,蜘蛛从里面涌了出来。" + +#. ~ Description for swamp gas +#: lang/json/furniture_from_json.py +msgid "" +"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " +"toxic gas." +msgstr "这是一塘污水,偶尔有气泡冒出,释放出微毒的气体。" + +#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp +msgid "splash!" +msgstr "唰啦!" + +#. ~ Description for fog +#: lang/json/furniture_from_json.py +msgid "This is a misty cloud of fog." +msgstr "这是一团浓雾。" + +#: lang/json/furniture_from_json.py +msgid "fake workbench hands" +msgstr "假工作台手" + +#. ~ Description for fake workbench hands +#: lang/json/furniture_from_json.py +msgid "This fake workbench holds the stats for working on a wielded item." +msgstr "这个假的工作台保存了用于处理一个使用过的物品的统计数据。" + +#: lang/json/furniture_from_json.py +msgid "ground crafting spot" +msgstr "地面制造点" + +#. ~ Description for ground crafting spot +#: lang/json/furniture_from_json.py +msgid "" +"A cleared spot on the ground for crafting. Slower than using a workbench or" +" holding a project in your hands, but readily available." +msgstr "在空地上建立的制作点,虽然比使用工作台的时候速度会慢很多。但随时可用。" + +#. ~ Description for seeing this is a bug +#: lang/json/furniture_from_json.py +msgid "Seeing this is a bug. If seen, please report and destroy." +msgstr "看到这是一个bug。如果看到,请报告并销毁。" + #: lang/json/furniture_from_json.py msgid "fireplace" msgstr "壁炉" @@ -80108,7 +84360,7 @@ msgid "" msgstr "一大堆树叶,如果你不在乎舒适和温暖,你可以睡在上面。" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: src/iuse.cpp +#: lang/json/terrain_from_json.py src/iuse.cpp msgid "crunch!" msgstr "嘎嚓!" @@ -80121,8 +84373,8 @@ msgstr "马洛斯花" msgid "" "This flower is like the other flowers taken by the mushrooms, but its bulb " "is colored a brilliant cyan color, and it emits an aroma both overwhelming " -"and... delicious?" -msgstr "这朵花和其它长在蘑菇上的花一样,但它的球茎是一种鲜艳的青色,它散发出一种令人难以抗拒的香味,闻起来很好吃。" +"and… delicious?" +msgstr "这朵花和其它被真菌吞噬的花很相似,但是它的球茎是一种鲜艳的青色,并且散发着刺鼻的香味。不过这香味却让你觉得它……会很好吃?" #: lang/json/furniture_from_json.py msgid "poof." @@ -80157,6 +84409,100 @@ msgid "" "Alien mold and stems mingle tightly here, creating a sort of fungal bush." msgstr "畸形的霉菌和茎在这里紧密缠绕,形成了一种真菌丛。" +#: lang/json/furniture_from_json.py +msgid "stone slab" +msgstr "石板" + +#. ~ Description for stone slab +#: lang/json/furniture_from_json.py +msgid "A flat slab of heavy stone." +msgstr "一块沉重的石板。" + +#: lang/json/furniture_from_json.py +msgid "headstone" +msgstr "墓石" + +#. ~ Description for headstone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies." +msgstr "一块墓石,标记着某人的安息之处。" + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +msgid "thump!" +msgstr "嘭!" + +#: lang/json/furniture_from_json.py +msgid "gravestone" +msgstr "墓碑" + +#. ~ Description for gravestone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies. More fancy." +msgstr "一块墓碑,标记着某人的安息之处,比一般墓碑更气派。" + +#: lang/json/furniture_from_json.py +msgid "worn gravestone" +msgstr "墓碑(已磨损)" + +#. ~ Description for worn gravestone +#: lang/json/furniture_from_json.py +msgid "A worn-out gravestone." +msgstr "一块磨损的墓碑。" + +#: lang/json/furniture_from_json.py +msgid "obelisk" +msgstr "方尖碑" + +#. ~ Description for obelisk +#: lang/json/furniture_from_json.py +msgid "Monument to pride." +msgstr "骄傲的纪念碑。" + +#: lang/json/furniture_from_json.py +msgid "thunk!" +msgstr "咚!" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "robotic assembler" +msgstr "装配机器人" + +#. ~ Description for robotic assembler +#: lang/json/furniture_from_json.py +msgid "" +"A durable and versatile robotic arm with a tool fitted to the end, for " +"working on an assembly line." +msgstr "一个耐用的多功能机械臂,末端装有各种工具,用于装配线作业。" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "chemical mixer" +msgstr "化工混合机" + +#. ~ Description for chemical mixer +#: lang/json/furniture_from_json.py +msgid "" +"When chemicals need to be mixed in large quantities at just the right " +"combinations and temperatures, this is the tool for the job." +msgstr "可以用它将大量化学品在适当的组合和温度下混合起来。" + +#: lang/json/furniture_from_json.py +msgid "robotic arm" +msgstr "机器臂" + +#. ~ Description for robotic arm +#: lang/json/furniture_from_json.py +msgid "" +"Automation! Science! Industry! Make a better horse! This robot arm " +"promises to do it all. Except it's currently unpowered. You could remove " +"the casing and retrieve the electronics through disassembly." +msgstr "自动化!科学!工业!这个机器人手臂可以完成所有的工作。只是现在没有动力。你可以拆下外壳,通过拆卸取回电子零件。" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "thunk." +msgstr "咚。" + #: lang/json/furniture_from_json.py msgid "Autodoc Mk. XI" msgstr "全自动医疗仪 XI 型" @@ -80168,10 +84514,6 @@ msgid "" "It's only as skilled as its operator." msgstr "一套用于安装和拆卸生化插件的医用手术设备。设定手术进程的操作者的技能决定了它的安装效果。" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "whack!" -msgstr "喀啦!" - #: lang/json/furniture_from_json.py msgid "Autodoc operation couch" msgstr "全自动医疗仪手术台" @@ -80469,9 +84811,9 @@ msgstr "肉质钟乳石" #: lang/json/furniture_from_json.py msgid "" "This is a meaty green stalactite with a thickened hide like that of a " -"starfish, extending from the floor to the ceiling. In the center is a series" -" of ports somewhat like mouths, from which pour bursts of a vile smelling " -"gas." +"starfish, extending from the floor to the ceiling. In the center is a " +"series of ports somewhat like mouths, from which pour bursts of a vile " +"smelling gas." msgstr "这是一种多肉的绿色钟乳石,有像海星一样加厚的皮,从地板一直延伸到天花板。中心是很多像嘴巴一样的的开口,从这些开口中喷出阵阵难闻的气体。" #: lang/json/furniture_from_json.py @@ -80497,10 +84839,6 @@ msgid "" "out of injured vessels." msgstr "这堆抽搐着的肉块是属于一个不明身份的外星人,它受伤的血管里喷出奇怪的气体。" -#: lang/json/furniture_from_json.py -msgid "splat!" -msgstr "啪!" - #: lang/json/furniture_from_json.py msgid "slimy pod" msgstr "黏滑荚囊" @@ -80545,7 +84883,7 @@ msgstr "血肉祭坛" #: lang/json/furniture_from_json.py msgid "" "This pulsing protuberance juts from the floor, its sides covered in scaled, " -"oozing skin. The surface is flat, but undulates softly. A handful of " +"oozing skin. The surface is flat, but undulates softly. A handful of " "unidentifiable appendages reach from the sides, suggesting a sort of " "nightmarish living autodoc." msgstr "" @@ -80703,12 +85041,6 @@ msgid "" "your workout. Might have useful electronic parts in it." msgstr "划船健身器。没有动力,不能再用来锻炼身体,但可能能拆出些有用的电子零件。" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py src/map.cpp -#: src/mapdata.cpp -msgid "thump!" -msgstr "嘭!" - #: lang/json/furniture_from_json.py msgid "treadmill" msgstr "跑步机" @@ -80717,7 +85049,7 @@ msgstr "跑步机" #: lang/json/furniture_from_json.py msgid "" "Used for training leg muscles. It'll be extra hard without power. Could be" -" taken apart for its... parts." +" taken apart for its… parts." msgstr "用于训练腿部肌肉。如果没有外部电源的话,它会难以启动。可以拆开它获得它的……零件。" #: lang/json/furniture_from_json.py @@ -80743,7 +85075,7 @@ msgstr "钢琴" #: lang/json/furniture_from_json.py msgid "" "The ol' ebony and ivory. Really classes up the place. You could take it " -"apart if you wanted... you monster." +"apart if you wanted… you monster." msgstr "乌木和象牙制成。提高了整个地方的情调。如果你想的话,你可以把它拆掉……你这个魔鬼。" #: lang/json/furniture_from_json.py @@ -80754,6 +85086,18 @@ msgstr "一声刺耳如钢琴的尖叫!" msgid "kerchang." msgstr "咔嚓。" +#: lang/json/furniture_from_json.py +msgid "speaker cabinet" +msgstr "扬声器柜" + +#. ~ Description for speaker cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A cabinet loaded with 12-inch speakers, intended to help make various things" +" loud. It can't serve its original purpose these days, but it could be " +"disassembled for various electronic parts." +msgstr "一个装有12英寸扬声器的柜子,用来发出各种声音。现在它不能用于它原来的用途,但它可以分解成各种电子部件。" + #: lang/json/furniture_from_json.py msgid "cell phone signal booster" msgstr "手机信号增强器" @@ -80885,6 +85229,53 @@ msgstr "躺下或坐下!完美!" msgid "stool" msgstr "凳子" +#. ~ Description for camp chair +#: lang/json/furniture_from_json.py +msgid "Sit down, have a drink. It can folded for easy transportation." +msgstr "坐下,喝一杯。这张椅子可以折叠方便携带。" + +#: lang/json/furniture_from_json.py +msgid "log stool" +msgstr "圆木凳" + +#. ~ Description for log stool +#: lang/json/furniture_from_json.py +msgid "" +"A log tipped on its end with any rough edges cut off. Basically a very " +"simple seat." +msgstr "一块立在地上的圆木,粗糙的边缘已经被削掉,基本上就是一个简单的凳子。" + +#: lang/json/furniture_from_json.py +msgid "bulletin board" +msgstr "公告牌" + +#. ~ Description for bulletin board +#: lang/json/furniture_from_json.py +msgid "" +"A big, cork bulletin board capable of sporting various notices. Pin some " +"notes for other survivors to read." +msgstr "一个巨大的软木公告牌,能发出各种告示。在上面贴些需要留给其他幸存者的信息。" + +#: lang/json/furniture_from_json.py +msgid "sign" +msgstr "标志" + +#. ~ Description for sign +#: lang/json/furniture_from_json.py +msgid "Read it. Warnings ahead." +msgstr "一个提示前方可能有危险的标记。" + +#: lang/json/furniture_from_json.py +msgid "warning sign" +msgstr "警示标记" + +#. ~ Description for warning sign +#: lang/json/furniture_from_json.py +msgid "" +"A triangle-shaped sign on a post meant to indicate something important or " +"hazard." +msgstr "柱子上的三角形标志,用来表示重要的或危险的东西。" + #: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py msgid "bed" msgstr "床铺" @@ -80922,7 +85313,7 @@ msgstr "一张舒适的床垫被扔在地板上。它不像一张真正的床那 msgid "rrrrip!" msgstr "咝啦!" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/furniture_from_json.py msgid "" "A comfortable feather down mattress has been tossed on the floor for " @@ -80957,6 +85348,15 @@ msgstr "书架" msgid "Stores books. Y'know, those things. Who reads books anymore?" msgstr "一个专门用来存放书籍、报刊 、杂志等书物的柜子。" +#: lang/json/furniture_from_json.py +msgid "entertainment center" +msgstr "家娱中心" + +#. ~ Description for entertainment center +#: lang/json/furniture_from_json.py +msgid "Stores audio visual equipment, books and collectible." +msgstr "一整套用于存放视听设备,书籍和收藏品的家具。" + #: lang/json/furniture_from_json.py msgid "coffin" msgstr "棺材" @@ -81001,6 +85401,21 @@ msgstr "板条箱(开)" msgid "What's inside? Look in it!" msgstr "一个被撬开的板条箱,可以使用钉子与木板将其重新封上。" +#. ~ Description for large cardboard box +#: lang/json/furniture_from_json.py +msgid "" +"A large cardboard box: this could be used to store things, or as a hiding " +"place." +msgstr "一个纸板箱:可以用来存放东西,也可以作为藏匿的地方。" + +#: lang/json/furniture_from_json.py +msgid "crumple!" +msgstr "噗咔!" + +#: lang/json/furniture_from_json.py src/ballistics.cpp +msgid "thud." +msgstr "砰的一声。" + #: lang/json/furniture_from_json.py msgid "cupboard" msgstr "橱柜" @@ -81152,6 +85567,27 @@ msgstr "垃圾桶" msgid "One man's trash is another man's dinner." msgstr "一个用于丢放垃圾的小桶,也可以当作一个普通的桶来用。" +#: lang/json/furniture_from_json.py +msgid "wardrobe" +msgstr "衣柜" + +#. ~ Description for wardrobe +#: lang/json/furniture_from_json.py +msgid "A tall piece of furniture - basically a freestanding closet." +msgstr "一件很高的家具——总的来说是一个独立式的壁橱。" + +#: lang/json/furniture_from_json.py +msgid "filing cabinet" +msgstr "档案柜" + +#. ~ Description for filing cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " +"locked to protect important information. If you're lucky, there are often " +"keys nearby." +msgstr "这个坚固的金属柜里有许多抽屉,用于存放文件。它可以上锁,来保护重要的信息。如果你幸运的话,在附近找找也许能找到钥匙。" + #: lang/json/furniture_from_json.py msgid "utility shelf" msgstr "实用货架" @@ -81170,6 +85606,42 @@ msgstr "木制酒桶" msgid "A keg made mostly of wood. Holds liquids, preferably alcoholic." msgstr "一个木头制成的大桶。能装很多液体,最好是酒。" +#: lang/json/furniture_from_json.py +msgid "display case" +msgstr "展示柜" + +#. ~ Description for display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff fancily and securely." +msgstr "一个常见于商场、博物馆等场所,用于展示、储藏与陈列用的柜子。" + +#: lang/json/furniture_from_json.py +msgid "broken display case" +msgstr "展示柜(损坏)" + +#. ~ Description for broken display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff. It'll get stolen." +msgstr "一个损坏的展示柜。" + +#: lang/json/furniture_from_json.py +msgid "standing tank" +msgstr "储存罐" + +#. ~ Description for standing tank +#: lang/json/furniture_from_json.py +msgid "A large freestanding metal tank, useful for holding liquids." +msgstr "一个用来装液体的大型立式金属罐,能装下很多液体。" + +#: lang/json/furniture_from_json.py +msgid "dumpster" +msgstr "垃圾箱" + +#. ~ Description for dumpster +#: lang/json/furniture_from_json.py +msgid "Stores trash. Doesn't get picked up anymore. Note the smell." +msgstr "存放垃圾。不会再被捡起来了。注意气味。" + #: lang/json/furniture_from_json.py msgid "counter" msgstr "柜台" @@ -81241,7 +85713,7 @@ msgstr "一种由纤维材料编织而成的大垫子,可代替野餐毯,但 #. ~ Description for tourist table #: lang/json/furniture_from_json.py msgid "" -"Small metal folding table, ideal for off-road trips into the wild. Can be " +"Small metal folding table, ideal for off-road trips into the wild. Can be " "used as a workbench in a pinch." msgstr "一个小型金属可折叠餐桌,适合野外郊游时使用。紧急情况下可以当作工作台。" @@ -81254,6 +85726,280 @@ msgstr "桌子" msgid "Sit down when you eat!" msgstr "一个可以在上面放东西、做事情、吃饭、写字、工作等的常用家具。" +#. ~ Description for table +#: lang/json/furniture_from_json.py +msgid "a low table for livingrooms." +msgstr "客厅用的矮桌。" + +#: lang/json/furniture_from_json.py +msgid "tatami mat" +msgstr "榻榻米" + +#. ~ Description for tatami mat +#: lang/json/furniture_from_json.py +msgid "" +"A tatami is a type of mat used as a flooring material in traditional " +"Japanese-style rooms." +msgstr "榻榻米,传统日式房间中铺在地板上的垫子。" + +#: lang/json/furniture_from_json.py +msgid "pillow fort" +msgstr "枕头堡垒" + +#. ~ Description for pillow fort +#: lang/json/furniture_from_json.py +msgid "A comfy place to hide from the world. Not very defensible, though." +msgstr "一处能让你暂时逃避残酷现实的舒适空间。但不是很坚固。" + +#: lang/json/furniture_from_json.py +msgid "paf!" +msgstr "噗!" + +#: lang/json/furniture_from_json.py +msgid "cardboard fort" +msgstr "纸箱城堡" + +#. ~ Description for cardboard fort +#: lang/json/furniture_from_json.py +msgid "" +"A fort built by tipping a cardboard box on its side, lining it with " +"blankets, and partly weather sealing it with a plastic sheet." +msgstr "纸盒子堆叠成的“堡垒”,以毛毯衬里,部分屋顶被塑料薄膜盖住。" + +#: lang/json/furniture_from_json.py +msgid "cardboard wall" +msgstr "纸板墙" + +#. ~ Description for cardboard wall +#: lang/json/furniture_from_json.py +msgid "" +"This is a pile of cardboard boxes that have been filled with rags and junk " +"and stacked together like bricks to form a wall." +msgstr "这是一堆纸板盒,装满了破布和垃圾,像砖块一样堆放在一起,形成了一堵墙。" + +#: lang/json/furniture_from_json.py +msgid "beaded curtain" +msgstr "珠帘" + +#. ~ Description for beaded curtain +#: lang/json/furniture_from_json.py +msgid "This beaded curtain could be pulled aside." +msgstr "这珠子门帘可以拉到一边。" + +#: lang/json/furniture_from_json.py +msgid "clickity clack… clack… clack" +msgstr "咔哒…咔哒…咔哒…" + +#: lang/json/furniture_from_json.py +msgid "clickity clack… clack" +msgstr "咔哒…咔哒…" + +#: lang/json/furniture_from_json.py +msgid "open beaded curtain" +msgstr "珠帘(开)" + +#. ~ Description for open beaded curtain +#: lang/json/furniture_from_json.py +msgid "This beaded curtain has been pulled aside." +msgstr "这珠子门帘已经拉到一边了。" + +#: lang/json/furniture_from_json.py +msgid "clickity clack… clack… clack!" +msgstr "咔哒…咔哒…咔哒!" + +#: lang/json/furniture_from_json.py +msgid "canvas floor" +msgstr "帆布地板" + +#. ~ Description for canvas floor +#: lang/json/furniture_from_json.py +msgid "" +"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " +"of the tent." +msgstr "地板由拉伸的防水布制成。有助于防止灰尘进入帐篷。" + +#: lang/json/furniture_from_json.py +msgid "canvas wall" +msgstr "帆布墙" + +#. ~ Description for canvas wall +#: lang/json/furniture_from_json.py +msgid "A wall made of stretched, waterproof cloth." +msgstr "一种由拉伸的防水布制成的墙。" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "slap!" +msgstr "啪!" + +#. ~ Description for canvas wall +#: lang/json/furniture_from_json.py +msgid "A wall made of stretched, heavy-duty, waterproof cloth." +msgstr "由拉伸的重型防水布制成的墙。" + +#: lang/json/furniture_from_json.py +msgid "canvas flap" +msgstr "帆布帘子" + +#. ~ Description for canvas flap +#: lang/json/furniture_from_json.py +msgid "This canvas flap door could be pulled aside." +msgstr "这扇帆布门帘可以拉到一边。" + +#: lang/json/furniture_from_json.py +msgid "open canvas flap" +msgstr "帆布帘子(打开)" + +#. ~ Description for open canvas flap +#: lang/json/furniture_from_json.py +msgid "This canvas flap door has been pulled aside." +msgstr "这扇帆布门帘已被拉开。" + +#. ~ Description for canvas flap +#: lang/json/furniture_from_json.py +msgid "This heavy canvas flap door could be pulled aside." +msgstr "这扇厚重的帆布门帘可以拉到一边。" + +#. ~ Description for open canvas flap +#: lang/json/furniture_from_json.py +msgid "This heavy canvas flap door has been pulled aside." +msgstr "这扇厚重的帆布门帘已被拉开。" + +#: lang/json/furniture_from_json.py +msgid "groundsheet" +msgstr "防潮布" + +#. ~ Description for groundsheet +#: lang/json/furniture_from_json.py +msgid "This plastic groundsheet could keep you dry." +msgstr "这个塑料防潮布能让你保持干燥。" + +#. ~ Description for groundsheet +#: lang/json/furniture_from_json.py +msgid "This large plastic groundsheet could keep you dry." +msgstr "这个大塑料防潮布能让你保持干燥。" + +#. ~ Description for groundsheet +#: lang/json/furniture_from_json.py +msgid "" +"This plastic government-issue groundsheet could keep you dry, but was made " +"by the lowest bidder." +msgstr "这个塑料政府发行的防潮布可以让你保持干燥,但它是由出价最低的投标者制造的。" + +#: lang/json/furniture_from_json.py +msgid "animalskin wall" +msgstr "挂着兽皮的墙" + +#. ~ Description for animalskin wall +#: lang/json/furniture_from_json.py +msgid "Wall made out of animal skin. Either an amazing or horrifying sight." +msgstr "一面用动物毛皮制成的墙面。" + +#: lang/json/furniture_from_json.py +msgid "animalskin flap" +msgstr "兽皮帘子" + +#. ~ Description for animalskin flap +#: lang/json/furniture_from_json.py +msgid "This animal skin flap could be pulled aside." +msgstr "这个动物皮门帘可以被拉到一边。" + +#: lang/json/furniture_from_json.py +msgid "open animalskin flap" +msgstr "打开的兽皮帘子" + +#. ~ Description for open animalskin flap +#: lang/json/furniture_from_json.py +msgid "This animal skin flap has been pulled aside." +msgstr "这个动物的皮门帘被拉到一边了。" + +#: lang/json/furniture_from_json.py +msgid "animalskin floor" +msgstr "兽皮地板" + +#. ~ Description for animalskin floor +#: lang/json/furniture_from_json.py +msgid "This animal skin groundsheet could keep you dry." +msgstr "这个动物皮防潮布可以让你保持干燥。" + +#: lang/json/furniture_from_json.py +msgid "pile of rubble" +msgstr "瓦砾" + +#. ~ Description for pile of rubble +#: lang/json/furniture_from_json.py +msgid "" +"Pile of various metals, bricks, and other building materials. You could " +"clear it with a shovel." +msgstr "一堆各式废金属、砖块和其他建筑材料。你可以用铲子把它清理干净。" + +#: lang/json/furniture_from_json.py +msgid "pile of rocky rubble" +msgstr "石砾" + +#. ~ Description for pile of rocky rubble +#: lang/json/furniture_from_json.py +msgid "Pile of rocks. Useless?" +msgstr "一堆石头。没用?" + +#: lang/json/furniture_from_json.py +msgid "pile of trashy rubble" +msgstr "垃圾碎砾" + +#. ~ Description for pile of trashy rubble +#: lang/json/furniture_from_json.py +msgid "" +"Trash topped with dirt and grass, it smells gross, but another man's trash…" +msgstr "一堆垃圾和泥土青草混在一起,味道很让人恶心,不过常言道:\"一个人的垃圾是……\"" + +#: lang/json/furniture_from_json.py +msgid "metal wreckage" +msgstr "金属残骸" + +#. ~ Description for metal wreckage +#: lang/json/furniture_from_json.py +msgid "Pile of various bent and twisted metals." +msgstr "一堆各种各样的弯曲变形的废金属。" + +#: lang/json/furniture_from_json.py +msgid "pile of ash" +msgstr "灰烬" + +#. ~ Description for pile of ash +#: lang/json/furniture_from_json.py +msgid "Some ash, from wood or possibly bodies." +msgstr "一堆木头或尸体焚烧后留下的灰烬。" + +#: lang/json/furniture_from_json.py +msgid "small boulder" +msgstr "小圆石" + +#. ~ Description for small boulder +#: lang/json/furniture_from_json.py +msgid "" +"Blocking your path. Should be easy to move. It can be used as a primitive " +"anvil." +msgstr "一块小圆石,重量一般。可以用来制作成一个简易铁砧。" + +#: lang/json/furniture_from_json.py +msgid "medium boulder" +msgstr "中圆石" + +#. ~ Description for medium boulder +#: lang/json/furniture_from_json.py +msgid "" +"Blocking your path. It'll be a struggle to move. It can be used as a " +"primitive anvil." +msgstr "一块比小圆石大很多的砾石,重量较大。可以用来制作成一个简易铁砧。" + +#: lang/json/furniture_from_json.py +msgid "large boulder" +msgstr "大圆石" + +#. ~ Description for large boulder +#: lang/json/furniture_from_json.py +msgid "Now how are you going to move this?" +msgstr "一块巨大的砾石,重量同样巨大。" + #: lang/json/furniture_from_json.py msgid "forge" msgstr "锻铁炉" @@ -81520,511 +86266,13 @@ msgid "" msgstr "一个金属屠宰架子,可以将清理内脏后的胴体悬挂在半空中。它能够被拆除并折叠起来便于携带。" #: lang/json/furniture_from_json.py -msgid "pile of rubble" -msgstr "瓦砾" - -#. ~ Description for pile of rubble -#: lang/json/furniture_from_json.py -msgid "" -"Pile of various metals, bricks, and other building materials. You could " -"clear it with a shovel." -msgstr "一堆各式废金属、砖块和其他建筑材料。你可以用铲子把它清理干净。" - -#: lang/json/furniture_from_json.py -msgid "pile of rocky rubble" -msgstr "石砾" - -#. ~ Description for pile of rocky rubble -#: lang/json/furniture_from_json.py -msgid "Pile of rocks. Useless?" -msgstr "一堆石头。没用?" - -#: lang/json/furniture_from_json.py -msgid "pile of trashy rubble" -msgstr "垃圾碎砾" - -#. ~ Description for pile of trashy rubble -#: lang/json/furniture_from_json.py -msgid "" -"Trash topped with dirt and grass, it smells gross, but another man's " -"trash..." -msgstr "一堆垃圾和泥土青草混在一起,味道很让人恶心,不过常言道:\"一个人的垃圾是……\"(注:另一个人的财富)" - -#: lang/json/furniture_from_json.py -msgid "metal wreckage" -msgstr "金属残骸" - -#. ~ Description for metal wreckage -#: lang/json/furniture_from_json.py -msgid "Pile of various bent and twisted metals." -msgstr "一堆各种各样的弯曲变形的废金属。" - -#: lang/json/furniture_from_json.py -msgid "pile of ash" -msgstr "灰烬" - -#. ~ Description for pile of ash -#: lang/json/furniture_from_json.py -msgid "Some ash, from wood or possibly bodies." -msgstr "一堆木头或尸体焚烧后留下的灰烬。" - -#: lang/json/furniture_from_json.py -msgid "bulletin board" -msgstr "公告牌" - -#. ~ Description for bulletin board -#: lang/json/furniture_from_json.py -msgid "" -"A big, cork bulletin board capable of sporting various notices. Pin some " -"notes for other survivors to read." -msgstr "一个巨大的软木公告牌,能发出各种告示。在上面贴些需要留给其他幸存者的信息。" - -#: lang/json/furniture_from_json.py -msgid "sign" -msgstr "标志" - -#. ~ Description for sign -#: lang/json/furniture_from_json.py -msgid "Read it. Warnings ahead." -msgstr "一个提示前方可能有危险的标记。" - -#: lang/json/furniture_from_json.py -msgid "warning sign" -msgstr "警示标记" - -#. ~ Description for warning sign -#: lang/json/furniture_from_json.py -msgid "" -"A triangle-shaped sign on a post meant to indicate something important or " -"hazard." -msgstr "柱子上的三角形标志,用来表示重要的或危险的东西。" - -#: lang/json/furniture_from_json.py -msgid "standing mirror" -msgstr "穿衣镜" - -#. ~ Description for standing mirror -#: lang/json/furniture_from_json.py -msgid "Lookin' good - is that blood?" -msgstr "一个用于观察自己衣着的镜子,镜子里面不会有个头颅来奉承你。" - -#: lang/json/furniture_from_json.py -msgid "glass breaking" -msgstr "玻璃破裂" - -#: lang/json/furniture_from_json.py -msgid "broken standing mirror" -msgstr "穿衣镜(损坏)" - -#. ~ Description for broken standing mirror -#: lang/json/furniture_from_json.py -msgid "" -"You could look at yourself, if the mirror wasn't covered in cracks and " -"fractures." -msgstr "一个用于观察自己衣着的坏镜子,遍布着裂痕和残渣。" - -#: lang/json/furniture_from_json.py -msgid "vending machine" -msgstr "自动售货机" - -#. ~ Description for vending machine -#: lang/json/furniture_from_json.py -msgid "Buy stuff with a cash card." -msgstr "一个使用现金卡来购买物品的售货机,装有自动报警系统。" - -#: lang/json/furniture_from_json.py -msgid "broken vending machine" -msgstr "自动售货机(损坏)" - -#. ~ Description for broken vending machine -#: lang/json/furniture_from_json.py -msgid "" -"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " -"you wouldn't need to pay at all!" -msgstr "考虑一下,如果你可以买东西,因为它是坏的。也许如果你把它弄坏了,你根本不需要付钱!" - -#: lang/json/furniture_from_json.py -msgid "dumpster" -msgstr "垃圾箱" - -#. ~ Description for dumpster -#: lang/json/furniture_from_json.py -msgid "Stores trash. Doesn't get picked up anymore. Note the smell." -msgstr "存放垃圾。不会再被捡起来了。注意气味。" - -#: lang/json/furniture_from_json.py -msgid "canvas wall" -msgstr "帆布墙" - -#. ~ Description for canvas wall -#: lang/json/furniture_from_json.py -msgid "A wall made of stretched, waterproof cloth." -msgstr "一种由拉伸的防水布制成的墙。" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "slap!" -msgstr "啪!" - -#. ~ Description for canvas wall -#: lang/json/furniture_from_json.py -msgid "A wall made of stretched, heavy-duty, waterproof cloth." -msgstr "由拉伸的重型防水布制成的墙。" - -#: lang/json/furniture_from_json.py -msgid "canvas flap" -msgstr "帆布帘子" - -#. ~ Description for canvas flap -#: lang/json/furniture_from_json.py -msgid "This canvas flap door could be pulled aside." -msgstr "这扇帆布门帘可以拉到一边。" - -#: lang/json/furniture_from_json.py -msgid "open canvas flap" -msgstr "帆布帘子(打开)" - -#. ~ Description for open canvas flap -#: lang/json/furniture_from_json.py -msgid "This canvas flap door has been pulled aside." -msgstr "这扇帆布门帘已被拉开。" - -#. ~ Description for canvas flap -#: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door could be pulled aside." -msgstr "这扇厚重的帆布门帘可以拉到一边。" - -#. ~ Description for open canvas flap -#: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door has been pulled aside." -msgstr "这扇厚重的帆布门帘已被拉开。" - -#: lang/json/furniture_from_json.py -msgid "groundsheet" -msgstr "防潮布" - -#. ~ Description for groundsheet -#: lang/json/furniture_from_json.py -msgid "This plastic groundsheet could keep you dry." -msgstr "这个塑料防潮布能让你保持干燥。" - -#. ~ Description for groundsheet -#: lang/json/furniture_from_json.py -msgid "This large plastic groundsheet could keep you dry." -msgstr "这个大塑料防潮布能让你保持干燥。" - -#. ~ Description for groundsheet -#: lang/json/furniture_from_json.py -msgid "" -"This plastic government-issue groundsheet could keep you dry, but was made " -"by the lowest bidder." -msgstr "这个塑料政府发行的防潮布可以让你保持干燥,但它是由出价最低的投标者制造的。" - -#: lang/json/furniture_from_json.py -msgid "animalskin wall" -msgstr "挂着兽皮的墙" - -#. ~ Description for animalskin wall -#: lang/json/furniture_from_json.py -msgid "Wall made out of animal skin. Either an amazing or horrifying sight." -msgstr "一面用动物毛皮制成的墙面。" - -#: lang/json/furniture_from_json.py -msgid "animalskin flap" -msgstr "兽皮帘子" - -#. ~ Description for animalskin flap -#: lang/json/furniture_from_json.py -msgid "This animal skin flap could be pulled aside." -msgstr "这个动物皮门帘可以被拉到一边。" - -#: lang/json/furniture_from_json.py -msgid "open animalskin flap" -msgstr "打开的兽皮帘子" - -#. ~ Description for open animalskin flap -#: lang/json/furniture_from_json.py -msgid "This animal skin flap has been pulled aside." -msgstr "这个动物的皮门帘被拉到一边了。" - -#: lang/json/furniture_from_json.py -msgid "animalskin floor" -msgstr "兽皮地板" - -#. ~ Description for animalskin floor -#: lang/json/furniture_from_json.py -msgid "This animal skin groundsheet could keep you dry." -msgstr "这个动物皮防潮布可以让你保持干燥。" - -#: lang/json/furniture_from_json.py -msgid "statue" -msgstr "雕像" - -#. ~ Description for statue -#: lang/json/furniture_from_json.py -msgid "A carved statue made of stone." -msgstr "一个冰冷的石雕。" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "thump." -msgstr "重击声。" - -#: lang/json/furniture_from_json.py -msgid "mannequin" -msgstr "人体模型" - -#. ~ Description for mannequin -#: lang/json/furniture_from_json.py -msgid "" -"Put clothes on it, talk to it. Who's around to judge you? Wait... did it " -"just move?" -msgstr "帮它穿上衣服,跟它说说话。还会有谁来评判你?等等……它刚动了吗?" - -#: lang/json/furniture_from_json.py -msgid "birdbath" -msgstr "鸟澡盆" - -#. ~ Description for birdbath -#: lang/json/furniture_from_json.py -msgid "A decorative cement birdbath and pedestal." -msgstr "一种装饰性的鸟澡盆和底座。" - -#: lang/json/furniture_from_json.py -msgid "rotary clothes dryer line" -msgstr "旋转晾衣绳" - -#. ~ Description for rotary clothes dryer line -#: lang/json/furniture_from_json.py -msgid "A umbrella shaped clothes line mounted on a pole." -msgstr "安装在杆子上的伞状晾衣绳。" - -#: lang/json/furniture_from_json.py -msgid "mounted solar panel" -msgstr "太阳能板(已安装)" - -#. ~ Description for mounted solar panel -#: lang/json/furniture_from_json.py -msgid "A mounted solar panel." -msgstr "安装好的太阳能板。" - -#: lang/json/furniture_from_json.py -msgid "spider egg sack" -msgstr "蜘蛛卵袋" - -#. ~ Description for spider egg sack -#: lang/json/furniture_from_json.py -msgid "" -"Much too large, off-white egg sack. Kind of icky. Something IS moving in " -"there." -msgstr "非常大的灰白色卵袋。有点恶心,里面有东西在移动。" - -#. ~ Description for spider egg sack -#: lang/json/furniture_from_json.py -msgid "" -"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " -"in there." -msgstr "球状的蜘蛛卵团。不只是有点恶心。里面有东西在动。" - -#. ~ Description for spider egg sack -#: lang/json/furniture_from_json.py -msgid "" -"A horrifyingly oversized egg sack. Something IS moving in there. If you're" -" seeing this, you're already too close to it." -msgstr "一个大得吓人的卵袋。有东西在里面移动。如果你看到这个,你已经离它太近了。" - -#: lang/json/furniture_from_json.py -msgid "ruptured egg sack" -msgstr "蜘蛛卵袋(破裂)" - -#. ~ Description for ruptured egg sack -#: lang/json/furniture_from_json.py -msgid "Super icky. Spider stuff's spilling out." -msgstr "太恶心了,蜘蛛从里面涌了出来。" - -#: lang/json/furniture_from_json.py -msgid "reinforced vending machine" -msgstr "自动售货机(加固型)" - -#. ~ Description for reinforced vending machine -#: lang/json/furniture_from_json.py -msgid "" -"A bit tougher to crack open than regular vending machines. That just makes " -"it all the sweeter a target, doesn't it?" -msgstr "比普通的自动售货机更难打开。这只会使它成为一个更甜蜜的目标,不是吗?" - -#: lang/json/furniture_from_json.py -msgid "display case" -msgstr "展示柜" - -#. ~ Description for display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff fancily and securely." -msgstr "一个常见于商场、博物馆等场所,用于展示、储藏与陈列用的柜子。" - -#: lang/json/furniture_from_json.py -msgid "broken display case" -msgstr "展示柜(损坏)" - -#. ~ Description for broken display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff. It'll get stolen." -msgstr "一个损坏的展示柜。" - -#: lang/json/furniture_from_json.py -msgid "standing tank" -msgstr "储存罐" - -#. ~ Description for standing tank -#: lang/json/furniture_from_json.py -msgid "A large freestanding metal tank, useful for holding liquids." -msgstr "一个用来装液体的大型立式金属罐,能装下很多液体。" - -#: lang/json/furniture_from_json.py -msgid "canvas floor" -msgstr "帆布地板" - -#. ~ Description for canvas floor -#: lang/json/furniture_from_json.py -msgid "" -"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " -"of the tent." -msgstr "地板由拉伸的防水布制成。有助于防止灰尘进入帐篷。" - -#: lang/json/furniture_from_json.py -msgid "robotic arm" -msgstr "机器臂" - -#. ~ Description for robotic arm -#: lang/json/furniture_from_json.py -msgid "" -"Automation! Science! Industry! Make a better horse! This robot arm " -"promises to do it all. Except it's currently unpowered. You could remove " -"the casing and retrieve the electronics through disassembly." -msgstr "自动化!科学!工业!这个机器人手臂可以完成所有的工作。只是现在没有动力。你可以拆下外壳,通过拆卸取回电子零件。" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "thunk." -msgstr "咚。" - -#: lang/json/furniture_from_json.py -msgid "automated gas console" -msgstr "自助加油机" - -#. ~ Description for automated gas console -#: lang/json/furniture_from_json.py -msgid "Automated gas flow control console." -msgstr "自助加油机控制台。" - -#: lang/json/furniture_from_json.py -msgid "broken automated gas console" -msgstr "自助加油机(损坏)" - -#. ~ Description for broken automated gas console -#: lang/json/furniture_from_json.py -msgid "" -"Automated gas flow control console. Broken. This is not a good thing." -msgstr "自助加油机控制台。坏了,这不是一件好事。" - -#: lang/json/furniture_from_json.py -msgid "small boulder" -msgstr "小圆石" - -#. ~ Description for small boulder -#: lang/json/furniture_from_json.py -msgid "" -"Blocking your path. Should be easy to move. It can be used as a primitive " -"anvil." -msgstr "一块小圆石,重量一般。可以用来制作成一个简易铁砧。" - -#: lang/json/furniture_from_json.py -msgid "medium boulder" -msgstr "中圆石" - -#. ~ Description for medium boulder -#: lang/json/furniture_from_json.py -msgid "" -"Blocking your path. It'll be a struggle to move. It can be used as a " -"primitive anvil." -msgstr "一块比小圆石大很多的砾石,重量较大。可以用来制作成一个简易铁砧。" - -#: lang/json/furniture_from_json.py -msgid "large boulder" -msgstr "大圆石" - -#. ~ Description for large boulder -#: lang/json/furniture_from_json.py -msgid "Now how are you going to move this?" -msgstr "一块巨大的砾石,重量同样巨大。" - -#: lang/json/furniture_from_json.py -msgid "stone slab" -msgstr "石板" - -#. ~ Description for stone slab -#: lang/json/furniture_from_json.py -msgid "A flat slab of heavy stone." -msgstr "一块沉重的石板。" - -#: lang/json/furniture_from_json.py -msgid "manacles" -msgstr "镣铐" - -#. ~ Description for manacles -#: lang/json/furniture_from_json.py -msgid "" -"Chain serfs in your dungeon. All you need now is an iron ball to chain to " -"it." -msgstr "把农奴锁在地牢里。现在你只需要一个铁球来把它拴在上面。" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "crack." -msgstr "咔嚓。" - -#: lang/json/furniture_from_json.py -msgid "headstone" -msgstr "墓石" - -#. ~ Description for headstone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies." -msgstr "一块墓石,标记着某人的安息之处。" - -#: lang/json/furniture_from_json.py -msgid "gravestone" -msgstr "墓碑" - -#. ~ Description for gravestone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies. More fancy." -msgstr "一块墓碑,标记着某人的安息之处,比一般墓碑更气派。" - -#: lang/json/furniture_from_json.py -msgid "worn gravestone" -msgstr "墓碑(已磨损)" - -#. ~ Description for worn gravestone -#: lang/json/furniture_from_json.py -msgid "A worn-out gravestone." -msgstr "一块磨损的墓碑。" - -#: lang/json/furniture_from_json.py -msgid "obelisk" -msgstr "方尖碑" - -#. ~ Description for obelisk -#: lang/json/furniture_from_json.py -msgid "Monument to pride." -msgstr "骄傲的纪念碑。" - -#: lang/json/furniture_from_json.py -msgid "thunk!" -msgstr "咚!" +msgid "hanging meathook" +msgstr "挂肉钩" -#. ~ Description for camp chair +#. ~ Description for hanging meathook #: lang/json/furniture_from_json.py -msgid "Sit down, have a drink. It can folded for easy transportation." -msgstr "坐下,喝一杯。这张椅子可以折叠方便携带。" +msgid "A hefty hook suspended from a chain for stringing up corpses." +msgstr "一个沉重的钩子悬挂在链子上,用于把尸体串起来。" #. ~ Description for wind mill #: lang/json/furniture_from_json.py @@ -82061,255 +86309,54 @@ msgid "" msgstr "小型水动力磨,可将含淀粉的物品加工成面粉。它的制动装置已经移除,正在转动。" #: lang/json/furniture_from_json.py -msgid "pillow fort" -msgstr "枕头堡垒" - -#. ~ Description for pillow fort -#: lang/json/furniture_from_json.py -msgid "A comfy place to hide from the world. Not very defensible, though." -msgstr "一处能让你暂时逃避残酷现实的舒适空间。但不是很坚固。" - -#: lang/json/furniture_from_json.py -msgid "paf!" -msgstr "噗!" - -#: lang/json/furniture_from_json.py -msgid "cardboard fort" -msgstr "纸箱城堡" - -#. ~ Description for cardboard fort -#: lang/json/furniture_from_json.py -msgid "" -"A fort built by tipping a cardboard box on its side, lining it with " -"blankets, and partly weather sealing it with a plastic sheet." -msgstr "纸盒子堆叠成的“堡垒”,以毛毯衬里,部分屋顶被塑料薄膜盖住。" - -#: lang/json/furniture_from_json.py -msgid "crumple!" -msgstr "噗咔!" - -#: lang/json/furniture_from_json.py src/ballistics.cpp -msgid "thud." -msgstr "砰的一声。" - -#: lang/json/furniture_from_json.py -msgid "cardboard wall" -msgstr "纸板墙" - -#. ~ Description for cardboard wall -#: lang/json/furniture_from_json.py -msgid "" -"This is a pile of cardboard boxes that have been filled with rags and junk " -"and stacked together like bricks to form a wall." -msgstr "这是一堆纸板盒,装满了破布和垃圾,像砖块一样堆放在一起,形成了一堵墙。" - -#. ~ Description for large cardboard box -#: lang/json/furniture_from_json.py -msgid "" -"A large cardboard box: this could be used to store things, or as a hiding " -"place." -msgstr "一个纸板箱:可以用来存放东西,也可以作为藏匿的地方。" - -#: lang/json/furniture_from_json.py -msgid "beaded curtain" -msgstr "珠帘" - -#. ~ Description for beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain could be pulled aside." -msgstr "这珠子门帘可以拉到一边。" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack" -msgstr "咔哒…咔哒…咔哒…" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack" -msgstr "咔哒…咔哒…" - -#: lang/json/furniture_from_json.py -msgid "open beaded curtain" -msgstr "珠帘(开)" - -#. ~ Description for open beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain has been pulled aside." -msgstr "这珠子门帘已经拉到一边了。" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack!" -msgstr "咔哒…咔哒…咔哒!" - -#: lang/json/furniture_from_json.py -msgid "filing cabinet" -msgstr "档案柜" - -#. ~ Description for filing cabinet -#: lang/json/furniture_from_json.py -msgid "" -"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " -"locked to protect important information. If you're lucky, there are often " -"keys nearby." -msgstr "这个坚固的金属柜里有许多抽屉,用于存放文件。它可以上锁,来保护重要的信息。如果你幸运的话,在附近找找也许能找到钥匙。" - -#: lang/json/furniture_from_json.py -msgid "wardrobe" -msgstr "衣柜" - -#. ~ Description for wardrobe -#: lang/json/furniture_from_json.py -msgid "A tall piece of furniture - basically a freestanding closet." -msgstr "一件很高的家具——总的来说是一个独立式的壁橱。" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "robotic assembler" -msgstr "装配机器人" - -#. ~ Description for robotic assembler -#: lang/json/furniture_from_json.py -msgid "" -"A durable and versatile robotic arm with a tool fitted to the end, for " -"working on an assembly line." -msgstr "一个耐用的多功能机械臂,末端装有各种工具,用于装配线作业。" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "chemical mixer" -msgstr "化工混合机" - -#. ~ Description for chemical mixer -#: lang/json/furniture_from_json.py -msgid "" -"When chemicals need to be mixed in large quantities at just the right " -"combinations and temperatures, this is the tool for the job." -msgstr "可以用它将大量化学品在适当的组合和温度下混合起来。" - -#: lang/json/furniture_from_json.py -msgid "floor lamp" -msgstr "落地灯" - -#. ~ Description for floor lamp -#: lang/json/furniture_from_json.py -msgid "A tall standing lamp, meant to plug into a wall and light up a room." -msgstr "一盏高高的台灯,用来插在墙上来照亮房间。" - -#: lang/json/furniture_from_json.py -msgid "bonk!" -msgstr "轰!" - -#: lang/json/furniture_from_json.py -msgid "document shredder" -msgstr "碎纸机" - -#. ~ Description for document shredder -#: lang/json/furniture_from_json.py -msgid "" -"It's not all about hiding government secrets, sometimes you just want to " -"stop identity theft." -msgstr "有时用于隐瞒政府机密,有时也用于防止个人信息被盗用。" - -#: lang/json/furniture_from_json.py -msgid "server stack" -msgstr "服务器" - -#. ~ Description for server stack -#: lang/json/furniture_from_json.py -msgid "This is a big pile of computers. They're all turned off." -msgstr "这是一堆电脑。它们都关机了。" - -#: lang/json/furniture_from_json.py -msgid "large satellite dish" -msgstr "大型卫星天线" - -#. ~ Description for large satellite dish -#: lang/json/furniture_from_json.py -msgid "" -"Somewhere up there, there are still satellites, orbiting and doing their " -"thing, sending signals down to an Earth that is no longer listening." -msgstr "在遥远的某个地方,仍然有卫星在轨道上运行,向一个无人倾听的地球发送信号。" - -#: lang/json/furniture_from_json.py -msgid "hanging meathook" -msgstr "挂肉钩" - -#. ~ Description for hanging meathook -#: lang/json/furniture_from_json.py -msgid "A hefty hook suspended from a chain for stringing up corpses." -msgstr "一个沉重的钩子悬挂在链子上,用于把尸体串起来。" - -#: lang/json/furniture_from_json.py -msgid "fake workbench hands" -msgstr "假工作台手" - -#. ~ Description for fake workbench hands -#: lang/json/furniture_from_json.py -msgid "This fake workbench holds the stats for working on a wielded item." -msgstr "这个假的工作台保存了用于处理一个使用过的物品的统计数据。" - -#: lang/json/furniture_from_json.py -msgid "ground crafting spot" -msgstr "地面制造点" +msgid "automated gas console" +msgstr "自助加油机" -#. ~ Description for ground crafting spot +#. ~ Description for automated gas console #: lang/json/furniture_from_json.py -msgid "" -"A cleared spot on the ground for crafting. Slower than using a workbench or" -" holding a project in your hands, but readily available." -msgstr "在空地上建立的制作点,虽然比使用工作台的时候速度会慢很多。但随时可用。" +msgid "Automated gas flow control console." +msgstr "自助加油机控制台。" #: lang/json/furniture_from_json.py -msgid "tatami mat" -msgstr "榻榻米" +msgid "broken automated gas console" +msgstr "自助加油机(损坏)" -#. ~ Description for tatami mat +#. ~ Description for broken automated gas console #: lang/json/furniture_from_json.py msgid "" -"A tatami is a type of mat used as a flooring material in traditional " -"Japanese-style rooms." -msgstr "榻榻米,传统日式房间中铺在地板上的垫子。" +"Automated gas flow control console. Broken. This is not a good thing." +msgstr "自助加油机控制台。坏了,这不是一件好事。" #: lang/json/furniture_from_json.py -msgid "bitts" -msgstr "缆柱" +msgid "reinforced vending machine" +msgstr "自动售货机(加固型)" -#. ~ Description for bitts +#. ~ Description for reinforced vending machine #: lang/json/furniture_from_json.py msgid "" -"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " -"to secure mooring lines, ropes, hawsers, or cables." -msgstr "安装在码头、突堤或埠头上的成对的垂直铁柱。它们用于固定系泊缆、绳索、缆索或缆绳。" +"A bit tougher to crack open than regular vending machines. That just makes " +"it all the sweeter a target, doesn't it?" +msgstr "比普通的自动售货机更难打开。这只会使它成为一个更甜蜜的目标,不是吗?" #: lang/json/furniture_from_json.py -msgid "speaker cabinet" -msgstr "扬声器柜" +msgid "vending machine" +msgstr "自动售货机" -#. ~ Description for speaker cabinet +#. ~ Description for vending machine #: lang/json/furniture_from_json.py -msgid "" -"A cabinet loaded with 12-inch speakers, intended to help make various things" -" loud. It can't serve its original purpose these days, but it could be " -"disassembled for various electronic parts." -msgstr "一个装有12英寸扬声器的柜子,用来发出各种声音。现在它不能用于它原来的用途,但它可以分解成各种电子部件。" +msgid "Buy stuff with a cash card." +msgstr "一个使用现金卡来购买物品的售货机,装有自动报警系统。" -#. ~ Description for seeing this is a bug #: lang/json/furniture_from_json.py -msgid "Seeing this is a bug. If seen, please report and destroy." -msgstr "看到这是一个bug。如果看到,请报告并销毁。" +msgid "broken vending machine" +msgstr "自动售货机(损坏)" -#. ~ Description for swamp gas +#. ~ Description for broken vending machine #: lang/json/furniture_from_json.py msgid "" -"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " -"toxic gas." -msgstr "这是一塘污水,偶尔有气泡冒出,释放出微毒的气体。" - -#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp -msgid "splash!" -msgstr "唰啦!" - -#. ~ Description for fog -#: lang/json/furniture_from_json.py -msgid "This is a misty cloud of fog." -msgstr "这是一团浓雾。" +"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " +"you wouldn't need to pay at all!" +msgstr "它已经坏了,这不由得让你沉思如何从里面买东西。也许你可以再把它弄坏一点,这样你连钱都不用给了!" #. ~ Description for vehicle refrigerator #: lang/json/furniture_from_json.py @@ -82409,6 +86456,15 @@ msgid "" "blood, candles, and other small knick-knacks." msgstr "这是一个刻在地上的魔法阵,上面装饰着血液、蜡烛以及其它小物件。" +#: lang/json/furniture_from_json.py +msgid "large glowing boulder" +msgstr "发光的巨石" + +#. ~ Description for large glowing boulder +#: lang/json/furniture_from_json.py +msgid "Something about this doesn't look right." +msgstr "它看上去不太对劲。" + #: lang/json/furniture_from_json.py msgid "krash!" msgstr "咔嚓!" @@ -82438,7 +86494,7 @@ msgstr "大门被打开了!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You turn the handle..." +msgid "You turn the handle…" msgstr "你转动了把手……" #. ~ 'close' action message of some gate object. @@ -82458,7 +86514,7 @@ msgstr "谷仓的门打开了!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You pull the rope..." +msgid "You pull the rope…" msgstr "你拉了把绳子……" #. ~ 'close' action message of some gate object. @@ -82493,7 +86549,7 @@ msgstr "门打开了!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You throw the lever..." +msgid "You throw the lever…" msgstr "你扳下开关……" #. ~ 'close' action message of some gate object. @@ -82616,7 +86672,7 @@ msgid "Fake gun that fires acid globs." msgstr "射出酸液球的假枪。" #: lang/json/gun_from_json.py lang/json/gunmod_from_json.py -#: src/item_factory.cpp src/turret.cpp +#: src/item_factory.cpp msgid "auto" msgstr "自动" @@ -82676,7 +86732,7 @@ msgstr[0] "简易弓" msgid "" "A primitive bow fashioned from a single piece of wood, made specifically for" " the person using it. Weak and wildly inaccurate, it doesn't work that " -"well, unfortunately..." +"well, unfortunately…" msgstr "由一块木头粗制滥造的简易弓,只能自己用用。不过不幸的是,它的威力低命中率很差,和想象的差很多……" #: lang/json/gun_from_json.py @@ -82841,9 +86897,7 @@ msgid "" "this weapon have a good chance of remaining intact for re-use." msgstr "一个小巧的单手弩。由于其体型小,故威力及拉力均不高,不过相当适用于猎杀小动物。手弩射出的弩矢不易损坏,有很高的几率回收。" -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "pistol" msgstr "手枪" @@ -83087,10 +87141,10 @@ msgstr[0] "PPA-5 等离子炮" #: lang/json/gun_from_json.py msgid "" "Portable Plasma Accelerator Model Five, developed by Lockheed Martin " -"Corporation. This device uses highly advanced capacitor banks to create a " -"torus of superheated hydrogen plasma and accelerate it to incredible speed. " -"It was designed to take down heavy vehicles, and was expected to fully enter" -" US Army service not long before the Cataclysm." +"Corporation. This device uses highly advanced capacitor banks to create a " +"torus of superheated hydrogen plasma and accelerate it to incredible speed." +" It was designed to take down heavy vehicles, and was expected to fully " +"enter US Army service not long before the Cataclysm." msgstr "" "便携式等离子加速器5型(PPA-5),由洛克希德·马丁公司研发。这种设备通过高度先进的电容器组产生一个环状的过热氢等离子体,并且将其加速到难以置信的速度。它被设计用于破坏重型载具,本来预计在大灾变前不久开始在美军中大规模部署。" @@ -83106,8 +87160,7 @@ msgid "" " a double barrel shotgun." msgstr "一把手工制作的三管枪,一条枪管用来发射.30-06 口径步枪子弹,另两条则用来发射霰弹。用从双管猎枪上拆下来的部件和铁管制作出来的。" -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py msgctxt "gun_type_type" msgid "shotgun" msgstr "霰弹枪" @@ -83520,8 +87573,8 @@ msgstr[0] "瓦尔特 P22 手枪" #: lang/json/gun_from_json.py msgid "" -"The Walther P22 is a blowback operated semi-automatic pistol. It is about " -"half the size of most Walthers. It is made mostly with plastic, with the " +"The Walther P22 is a blowback operated semi-automatic pistol. It is about " +"half the size of most Walthers. It is made mostly with plastic, with the " "slide and key components being made of die-cast zinc alloy" msgstr "" "瓦尔特 P22 手枪是一种采用反冲式枪机的半自动手枪,和其他瓦尔特手枪相比只有一半的大小。基本由塑料制造,只有套筒和一些关键部件由锌合金压铸而成。" @@ -84114,8 +88167,8 @@ msgstr[0] "M24 狙击步枪" msgid "" "The M24 Sniper is the military and police version of the Remington Model 700" " rifle, M24 being the model name assigned by the United States Army after " -"adoption as their standard sniper rifle in 1988. The M24 is referred to as a" -" 'weapon system' because it consists of not only a rifle, but also a " +"adoption as their standard sniper rifle in 1988. The M24 is referred to as " +"a 'weapon system' because it consists of not only a rifle, but also a " "detachable telescopic sight and other accessories." msgstr "" "M24 狙击步枪是雷明顿 700 步枪的军用及警用版本。该型号的命名源自美国陆军于1988年将其作为标准狙击步枪使用。M24 " @@ -84198,10 +88251,11 @@ msgstr[0] "Kel-Tec P32 冲锋枪" #: lang/json/gun_from_json.py msgid "" "One of Kel-tec's oldest designs, the P32 is a popular option for deep " -"concealment and backup usage. Despite its extreme light weight and small " +"concealment and backup usage. Despite its extreme light weight and small " "size, its .32 ACP chambering makes for good handling and recoil control." msgstr "" -"作为凯尔科技数控工业公司最古老的设计之一,P32常常在秘密渗透和火力支援时使用。尽管它的重量非常轻,体积也很小,但它的.32ACP口径使它的后坐力很小,易于控制。" +"作为凯尔科技数控工业公司最古老的设计之一,P32常常在秘密渗透和火力支援时使用。虽然它的重量非常轻,体积也很小,但是它的 .32ACP " +"口径使它的后坐力很小,易于控制。" #: lang/json/gun_from_json.py msgid "SIG P226" @@ -84264,16 +88318,18 @@ msgstr "" "\"哈哈搞到一把双管霰……手、手枪?\"" #: lang/json/gun_from_json.py -msgid "COP .38" -msgid_plural "COP .38" -msgstr[0] "COP .38 德林加手枪" +msgid "COP .357 Derringer" +msgid_plural "COP .357 Derringers" +msgstr[0] "COP .357德林加手枪" #: lang/json/gun_from_json.py msgid "" -"The COP .38 is a small, chubby derringer pistol that bears a slight " -"resemblance to the Mossberg Brownie. It has four barrels arranged in a " -"square formation." -msgstr "COP .38德林加手枪是一把小型的肥嘟嘟的德林加手枪,外观有着莫斯伯格\"布朗宁\"德林加手枪的痕迹。它有着四根按照正方形排列的枪管。" +"A small, chubby derringer pistol bearing a slight resemblance to the " +"Mossberg Brownie. It uses a rotating firing pin to fire the individual " +"hammers of the four barrels arranged in a square formation." +msgstr "" +"COP " +".357德林加手枪是一把小型的肥嘟嘟的德林加手枪,外观有着莫斯伯格\"布朗尼\"德林加手枪的痕迹。它使用一根旋转的发火针来触发排列成方形阵列的四根枪管内的独立击锤。" #: lang/json/gun_from_json.py msgid "pipe rifle: .38 Special" @@ -84302,17 +88358,6 @@ msgid "" " sight and a reinforced frame." msgstr "由史密斯威森公司发布的这款装弹量为7发的.38口径左轮手枪,最大的特点是修正过的后准星和加固后的构架。" -#: lang/json/gun_from_json.py -msgid "Taurus Pro .38" -msgid_plural "Taurus Pro .38" -msgstr[0] "陶鲁斯 Pro .38 手枪" - -#: lang/json/gun_from_json.py -msgid "" -"A popular .38 pistol. Designed with numerous safety features and built from" -" high-quality, durable materials." -msgstr "这款.38口径的手枪在设计时极力强调各个部件的安全和耐用性,在制造时更是选用了高质量、有保障的新型材料。" - #: lang/json/gun_from_json.py msgid "MAC-11" msgid_plural "MAC-11s" @@ -84382,12 +88427,23 @@ msgstr[0] "Hi-Point CF-380 手枪" msgid "" "The Hi-Point CF-380 is a blowback operated semi automatic pistol designed by" " Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" "Hi-Point CF-380 手枪是一种采用反冲式枪机的半自动手枪,由 Hi-Point 设计。Hi-Point " "以制造廉价武器而知名,其生产的武器常常体积巨大且使用不便。Hi-Point 制造的枪械的套筒由锌合金制成,相比钢制套筒来说比较脆弱。" +#: lang/json/gun_from_json.py +msgid "Taurus Spectrum" +msgid_plural "Taurus Spectrum" +msgstr[0] "陶鲁斯\"光谱\"手枪" + +#: lang/json/gun_from_json.py +msgid "" +"A .380 subcompact pistol. Designed for concealed carry and built from high-" +"quality, durable materials." +msgstr "一把体积紧凑的 .38 口径手枪,在设计时极力强调隐蔽携带性能,在制造时更是选用了高质量、有保障的新型材料。" + #: lang/json/gun_from_json.py msgid "M1911A1" msgid_plural "M1911A1s" @@ -84474,9 +88530,9 @@ msgstr[0] "勃朗宁大威力 .40 S&W 手枪" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in .40 S&W." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in .40 S&W." msgstr "" "勃朗宁大威力手枪是一种二战前不久研制的半自动手枪。当时被广泛使用,而目前仍有在印度、加拿大和澳大利亚使用。这把属于勃朗宁武器公司开发的发射 .40 " "S&W 弹的商业型号。" @@ -84502,8 +88558,9 @@ msgstr[0] "Hi-Point JCP 型手枪" msgid "" "The Hi-Point Model JCP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" "Hi-Point JCP 型手枪是一种采用反冲式枪机的半自动手枪,由 Hi-Point 设计。Hi-Point " "以制造廉价武器而知名,其生产的武器常常体积巨大且使用不便。Hi-Point 制造的枪械的套筒由锌合金制成,相比钢制套筒来说比较脆弱。" @@ -84858,8 +88915,9 @@ msgstr[0] "Hi-Point JHP 型手枪" msgid "" "The Hi-Point Model JHP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" "Hi-Point JHP 型手枪是一种采用反冲式枪机的半自动手枪,由 Hi-Point 设计。Hi-Point " "以制造廉价武器而知名,其生产的武器常常体积巨大且使用不便。Hi-Point 制造的枪械的套筒由锌合金制成,相比钢制套筒来说比较脆弱。" @@ -85058,7 +89116,7 @@ msgid "" msgstr "" "M2勃朗宁机枪的修改版。这把阉割过的步枪已经可用作手持武器。该枪已经不能连发射击,而且它的弹链供弹装置也已经被改装成一个小型的只能装单发子弹的弹仓了。" -#: lang/json/gun_from_json.py src/item_factory.cpp src/turret.cpp +#: lang/json/gun_from_json.py src/item_factory.cpp msgid "manual" msgstr "手动" @@ -85819,9 +89877,9 @@ msgstr[0] "勃朗宁大威力 9x19mm 手枪" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in 9x19mm Parabellum." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in 9x19mm Parabellum." msgstr "" "勃朗宁大威力手枪是一种二战前不久研制的半自动手枪。当时被广泛使用,而目前仍有在印度、加拿大和澳大利亚使用。这把属于勃朗宁武器公司开发的发射 9x19mm" " 鲁格弹的商业型号。" @@ -85834,8 +89892,8 @@ msgstr[0] "瓦尔特 P38 手枪" #: lang/json/gun_from_json.py msgid "" "The Walther P38 is a semi-automatic handgun adopted shortly before the " -"second world war. Developed due to the high production costs of its " -"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " +"second world war. Developed due to the high production costs of its " +"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " "This early DA/SA locked-breech design would introduce features later seen on" " more modern firearms such as the Beretta 92 series, and served Germany " "until 2004." @@ -85852,7 +89910,7 @@ msgstr[0] "瓦尔特 PPQ 9mm 手枪" msgid "" "The Walther PPQ is a semi-automatic pistol originating from the Walther " "P99QA, and maintains compatibility with some of its predecessor's " -"accessories. This model is chambered in 9x19mm Parabellum." +"accessories. This model is chambered in 9x19mm Parabellum." msgstr "瓦尔特 PPQ 手枪是基于瓦尔特 P99QA 手枪研制的半自动手枪,保留了一些对其部件的兼容性。这个型号发射的是 9x19mm 鲁格弹。" #: lang/json/gun_from_json.py @@ -85864,7 +89922,7 @@ msgstr[0] "Hi-Point C-9 手枪" msgid "" "The Hi-Point C-9 is a blowback operated semi automatic pistol designed by " "Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" "Hi-Point C-9 手枪是一种采用反冲式枪机的半自动手枪,由 Hi-Point 设计。Hi-Point " @@ -85878,10 +89936,10 @@ msgstr[0] "CZ-75 手枪" #: lang/json/gun_from_json.py msgid "" "The CZ-75 is a semi-automatic pistol developed in Czechoslovakia, and is one" -" of the original wonder nines. Though designed for export to western " +" of the original wonder nines. Though designed for export to western " "countries, it was declared a state secret; lack of international patent " "protection meant that many clones and variants were produced and distributed" -" around the world, with Česká zbrojovka only joining in the 90's. This " +" around the world, with Česká zbrojovka only joining in the 90's. This " "pistol remains wildly popular among competition shooters." msgstr "" "CZ-75 " @@ -85895,10 +89953,10 @@ msgstr[0] "瓦尔特 CCP 手枪" #: lang/json/gun_from_json.py msgid "" "The Walther CCP is a gas-delayed blowback semi-automatic pistol intended for" -" the concealed carry consumer market. Internally, it is nearly identical to " -"the cult classic H&K P7. Its fixed barrel design makes it potentially more " -"accurate than many other pistols, though this may difficult to realize with " -"its average trigger and short sight radius." +" the concealed carry consumer market. Internally, it is nearly identical to" +" the cult classic H&K P7. Its fixed barrel design makes it potentially more" +" accurate than many other pistols, though this may difficult to realize with" +" its average trigger and short sight radius." msgstr "" "瓦尔特 CCP 手枪是一种采用气体延迟反冲式枪机、适合隐藏携带的民用半自动手枪,其内部设计几乎与与 H&K P7 " "手枪相同。固定的枪管使其理论上比其它手枪更为精确,但是由于其本身扳机的质量和小瞄具半径,可能很难察觉到任何精度提升。" @@ -87282,10 +91340,60 @@ msgstr[0] "德鲁伊复合弓" #: lang/json/gun_from_json.py msgid "" -"A bow made of multiple materials to maximize energy efficiency. There are " +"A bow made of multiple materials to maximize energy efficiency. There are " "two Druid runes embedded at the tips." msgstr "一把采用多种材料复合制成以增加储能效率的弓。弓背两端镶嵌着两个德鲁伊符文。" +#: lang/json/gun_from_json.py +msgid "M47A1 Techno-Medusa" +msgid_plural "M47A1 Techno-Medusae" +msgstr[0] "M47A1 科技魔法\"美杜莎\"左轮手枪" + +#: lang/json/gun_from_json.py +msgid "" +"A magically-enhanced update to the Phillips & Rodgers' M47 Medusa, a multi-" +"caliber revolver aimed at survivalists. While Technomancy improves the " +"reliability with smaller cartridges, it is not as accurate as dedicated " +"caliber revolvers due to freebore." +msgstr "" +"一把经过魔法增强的菲利普斯和罗杰斯公司出品的 M47 " +"\"美杜莎\"左轮手枪,这把手枪是一把多口径左轮手枪,专为生存主义者定制。虽然科技魔法提高了手枪发射小口径子弹时的可靠性,但由于是滑膛发射,和对应口径的左轮手枪相比命中率还是略低。" + +#: lang/json/gun_from_json.py +msgid "gunblade" +msgid_plural "gunblades" +msgstr[0] "枪刃" + +#: lang/json/gun_from_json.py +msgid "" +"Constructed similarly to a falcata, this forward-sloping blade has a short-" +"barrel pump shotgun attached to the blade's spine for finishing blows or a " +"first strike." +msgstr "它的结构类似于一把伊比利亚短剑,这把向前倾斜的短刀上有一把短筒泵动式霰弹枪,连接在刀背上,以终结对手或先发打击。" + +#: lang/json/gun_from_json.py +msgid "shotcestus" +msgid_plural "shotcesti" +msgstr[0] "霰弹拳套" + +#: lang/json/gun_from_json.py +msgid "" +"A sawn-off double-barrel shotgun mounted on a metal cestus. The lack of a " +"stock to absorb recoil means some strength is required to fire." +msgstr "一把安装在金属拳套上的锯短双管霰弹枪。由于没有吸收后坐力的枪托,这意味着需要一些力量才能开火。" + +#: lang/json/gun_from_json.py +msgid "Ichaival" +msgid_plural "Ichaivals" +msgstr[0] "神弓伊奇巴尔" + +#: lang/json/gun_from_json.py +msgid "" +"Ichaival, the bow of Odin. Rumored to fire 10 arrows with every pull of the" +" string. It has gold and silver ornaments on it, as well as an ornate " +"Raven." +msgstr "伊奇巴尔,传说中北欧众神之父奥丁使用的神弓。据说每次拉弦能够射出 10 只箭。这件上面覆盖满了金银饰品,以及一只装饰华丽的渡鸦。" + #: lang/json/gun_from_json.py msgid "Woodbow" msgid_plural "Woodbows" @@ -87389,17 +91497,12 @@ msgid "" msgstr "" "一个手工制造的简易弩,可以看出是依据瑞典斯科讷风格制作的。有一个木制的弦钮,从下往上拉让弓弦射出。没有其它的弩威力大,但是更容易把弓拉回来。这把弩射出来的箭很高概率会保持完好,可以再次使用。" -#: lang/json/gun_from_json.py -msgid "Ichaival" -msgid_plural "Ichaivals" -msgstr[0] "Ichaival,神圣之弓" - #: lang/json/gun_from_json.py msgid "" "This is a replica of the bow possessed by Odin, Ichaival, which is rumored " "to fire 10 arrows with every pull of the string. It has gold and silver " "ornaments on it." -msgstr "北欧众神之父奥丁所使用的Ichaival,神圣之弓的复制品。传说每次拉弦能够射出10只箭。这件上面覆盖满了金银饰品。" +msgstr "北欧众神之父奥丁所使用的神弓伊奇巴尔的复制品。传说每次拉弦能够射出 10 只箭。这件上面覆盖满了金银饰品。" #: lang/json/gun_from_json.py msgid "integral nailgun" @@ -88330,7 +92433,7 @@ msgstr "一个装在握柄上的小小扩件,在你瞄准时将弓箭固定在 msgid "accessories" msgstr "配件" -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "bow" msgstr "弓" @@ -88448,7 +92551,7 @@ msgstr[0] "ups测试" #: lang/json/gunmod_from_json.py msgid "" "Testmod for UPS drain on mods, this should never spawn, if you see this, " -"it's a bug. 50x more UPS drain." +"it's a bug. 50x more UPS drain." msgstr "用来测试 UPS 消耗的枪械模组,它不会被正常生成。增加 50 倍 UPS 消耗。" #: lang/json/gunmod_from_json.py @@ -88593,8 +92696,8 @@ msgstr[0] "聚焦透镜" #: lang/json/gunmod_from_json.py msgid "" -"A set of optics to concentrate the laser beam on a smaller focus point. This" -" increases range and damage output, but complicates targeting." +"A set of optics to concentrate the laser beam on a smaller focus point. " +"This increases range and damage output, but complicates targeting." msgstr "一套光学透镜,用于将激光束聚焦成更小的点。这增加了射程和伤害,但是使瞄准更加复杂。" #: lang/json/gunmod_from_json.py @@ -88618,7 +92721,7 @@ msgstr[0] "高效发射器" #: lang/json/gunmod_from_json.py msgid "" "A set of electronics to optimize emitter workcycle and increase overall " -"energy efficiency. Decreases power consumption." +"energy efficiency. Decreases power consumption." msgstr "一套用于优化发射器工作循环的电子设备,能增加整体能量效率并降低能量消耗。" #: lang/json/gunmod_from_json.py @@ -88632,8 +92735,8 @@ msgstr[0] "高密度电容" #: lang/json/gunmod_from_json.py msgid "" -"A capacitor with a higher energy density increases range and damage; at the" -" cost of a markedly increased power consumption." +"A capacitor with a higher energy density increases range and damage; at the " +"cost of a markedly increased power consumption." msgstr "一个使用了高能量密度材质制成的电容器,能够增加激光武器的射程和伤害,但同时也极大的增加了射击时的能量消耗。" #: lang/json/gunmod_from_json.py @@ -88835,6 +92938,20 @@ msgid "" "improving recoil but increasing bulk, noise, and reducing accuracy slightly." msgstr "枪口制退器通过提供枪管制退机构来降低枪口上扬的幅度,改善了后坐力但是增大了噪音并且轻微的降低了精度。" +#: lang/json/gunmod_from_json.py +msgid "modified muzzle brake" +msgid_plural "modified muzzle brakes" +msgstr[0] "改装枪口制退器" + +#: lang/json/gunmod_from_json.py +msgid "" +"A muzzle brake redirects exhaust gases to compensate for muzzle climb, " +"improving recoil but increasing bulk, noise, and reducing accuracy slightly." +" This one was modified and customized to mount on pretty much any firearm " +"other than launchers, if you so want." +msgstr "" +"枪口制退器通过提供枪管制退机构来降低枪口上扬的幅度,改善了后坐力但是增大了噪音并且轻微的降低了精度。这个制退器经过了改装,可以装在除了发射器之外的几乎任何枪械上。" + #: lang/json/gunmod_from_json.py msgid "homemade suppressor" msgid_plural "homemade suppressors" @@ -88851,7 +92968,7 @@ msgid "" "when attached, will interfere with your ability to aim down the base sights " "of the gun." msgstr "" -"一个用钢管和抹布拼凑而成的自制消音器。只要抹布还在,就能减弱火药武器发射时所产生的噪音和枪口火焰。子弹发射时如果没有防护的状态下,发出的噪音甚至可以伤害听力。消音器可以把枪声在输出后降低到一个可以接受的范围内。消音器会减少后坐力但是降低枪口初速度。由于自制消音器体型巨大,安装后会遮挡枪械原本的瞄具的视线。" +"一个用钢管和简易消音材料拼凑而成的自制消音器。只要消音材料还在,就能减弱火药武器发射时所产生的噪音和枪口火焰。子弹发射时如果没有防护的状态下,发出的噪音甚至可以伤害听力。消音器可以把枪声在输出后降低到一个可以接受的范围内。消音器会减少后坐力但是降低枪口初速度。由于自制消音器体型巨大,安装后会遮挡枪械原本的瞄具的视线。" #: lang/json/gunmod_from_json.py msgid "'solvent trap' suppressor" @@ -88897,18 +93014,18 @@ msgid "" "A suppressor reduces the amount of noise and muzzle flash generated by the " "report of a firearm. This RK6S34 Mustela is a rather advanced version " "integral to the RM11B rifle system." -msgstr "消声器可有效抑制枪械在射击时所发出的噪声与枪口焰光。这支消声器 RK6S34 代号\"鼬\",是RM11B射击系统替换内置配件的高级配件。" +msgstr "消音器可有效抑制枪械在射击时所发出的噪声与枪口焰光。这支消音器 RK6S34 代号\"鼬\",是 RM11B 射击系统替换内置配件的高级配件。" #: lang/json/gunmod_from_json.py msgid "shotgun suppressor" msgid_plural "shotgun suppressors" -msgstr[0] "霰弹枪消声器" +msgstr[0] "霰弹枪消音器" #: lang/json/gunmod_from_json.py msgid "" "A suppressor designed to work with shotguns. It's a lot more complex than a" " suppressor for a pistol or rifle." -msgstr "霰弹枪用消声器,相比手枪和步枪消声器更复杂。" +msgstr "霰弹枪用消音器,相比手枪和步枪消音器更复杂。" #: lang/json/gunmod_from_json.py msgid "suppressor" @@ -88965,6 +93082,19 @@ msgstr "一套包括弩臂和导轨的组件,可安装在长枪的枪管上, msgid "rail" msgstr "导轨" +#: lang/json/gunmod_from_json.py +msgid "modified rail-mounted crossbow" +msgid_plural "modified rail-mounted crossbows" +msgstr[0] "改装劲弩组件" + +#: lang/json/gunmod_from_json.py +msgid "" +"A kit to attach a pair of crossbow arms and a firing rail to the barrel of a" +" long firearm. It allows crossbow bolts to be fired. This one was modified" +" and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "一套包括弩臂和导轨的组件,可安装在长枪的枪管上,发射弩矢。这个组件经过了改装,可以装在除了手枪和冲锋枪的几乎任何武器上。" + #: lang/json/gunmod_from_json.py msgid "offset iron sights" msgid_plural "offset iron sights" @@ -88977,6 +93107,19 @@ msgid "" msgstr "" "一组以垂直枪械平面45度角安装到枪械侧面上的机械瞄具,方便在枪械安装了瞄准镜等必须遮挡标准机械瞄具的改装件之后还可以正常利用机械瞄具来瞄准射击的一个枪械用改装件。" +#: lang/json/gunmod_from_json.py +msgid "modified offset iron sights" +msgid_plural "modified offset iron sights" +msgstr[0] "改装侧面机械瞄具" + +#: lang/json/gunmod_from_json.py +msgid "" +"An alternative set of iron sights mounted at 45° for use when a scope or " +"other modification prevents use of the primary sights. This one was " +"modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" +"一组以垂直枪械平面45度角安装到枪械侧面上的机械瞄具,方便在枪械安装了瞄准镜等必须遮挡标准机械瞄具的改装件之后还可以正常利用机械瞄具来瞄准射击的一个枪械用改装件。这个瞄具经过了改装,能够装在几乎所有武器上。" + #: lang/json/gunmod_from_json.py msgid "offset sight rail" msgid_plural "offset sight rails" @@ -88986,6 +93129,17 @@ msgstr[0] "侧面瞄具导轨" msgid "An additional rail set at 45° for attaching a secondary optic." msgstr "一组以垂直枪械平面45度角安装到枪械侧面上的导轨,让你能够安装一个额外瞄具。" +#: lang/json/gunmod_from_json.py +msgid "modified offset sight rail" +msgid_plural "modified offset sight rails" +msgstr[0] "改装侧面瞄具导轨" + +#: lang/json/gunmod_from_json.py +msgid "" +"An additional rail set at 45° for attaching a secondary optic. This one was" +" modified and customized to mount on pretty much any weapon, if you so want." +msgstr "一组以垂直枪械平面45度角安装到枪械侧面上的瞄具导轨。这个导轨经过了改装,能够装在几乎所有武器上。" + #: lang/json/gunmod_from_json.py msgid "rail laser sight" msgid_plural "rail laser sights" @@ -89009,6 +93163,19 @@ msgid "" "vibration, greatly reducing recoil and slightly increasing accuracy." msgstr "一个安装在枪械侧面的高级模组,可减轻枪械震动,极大降低后坐力,略为提升命中率。" +#: lang/json/gunmod_from_json.py +msgid "modified gyroscopic stabilizer" +msgid_plural "modified gyroscopic stabilizers" +msgstr[0] "改装稳定陀螺仪" + +#: lang/json/gunmod_from_json.py +msgid "" +"An advanced unit that straps onto the side of your firearm and reduces " +"vibration, greatly reducing recoil and slightly increasing accuracy. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "一个安装在枪械侧面的高级模组,可减轻枪械震动,极大降低后坐力,略为提升命中率。这个模组经过了改装,可以装在除手枪外的几乎任何武器上。" + #: lang/json/gunmod_from_json.py msgid "LW gyroscopic stabilizer" msgid_plural "LW gyroscopic stabilizers" @@ -89110,16 +93277,44 @@ msgid "" " mrad increments and is remarkably small and light for its magnification." msgstr "一个 3-18x44 步枪瞄准器。它可以按 1/10 毫弧度增量调节风量和仰角,并且相对它的放大倍数而言非常小巧轻便。" +#: lang/json/gunmod_from_json.py +msgid "modified rifle scope" +msgid_plural "modified rifle scopes" +msgstr[0] "改装步枪瞄准镜" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 3-18x44 rifle scope. It is adjustable for windage and elevation in 1/10th" +" mrad increments and is remarkably small and light for its magnification. " +"This one was modified and customized to mount on pretty much any weapon " +"other than pistols and SMGs, if you so want." +msgstr "" +"一个 3-18x44 步枪瞄准镜。它可以按 1/10 " +"毫弧度增量调节风量和仰角,并且相对它的放大倍数而言非常小巧轻便。这个瞄准镜经过了改装,可以装在除了手枪和冲锋枪之外的几乎任何武器上。" + #: lang/json/gunmod_from_json.py msgid "ACOG scope" msgid_plural "ACOG scopes" -msgstr[0] "ACOG瞄准镜" +msgstr[0] "ACOG 瞄准镜" #: lang/json/gunmod_from_json.py msgid "" "A 4x32 TA01 Advanced Combat Optical Gunsight with a tritium illuminated " "crosshair." -msgstr "一个 4x32 TA01 型先进战斗光学瞄准器(ACOG)带有一个氚发光十字准星。" +msgstr "一个 4x32 TA01 型先进战斗光学瞄准镜(ACOG),带有一个氚发光十字准星。" + +#: lang/json/gunmod_from_json.py +msgid "modified ACOG scope" +msgid_plural "modified ACOG scopes" +msgstr[0] "改装 ACOG 瞄准镜" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 4x32 TA01 Advanced Combat Optical Gunsight with a tritium illuminated " +"crosshair. This one was modified and customized to mount on pretty much any" +" weapon other than pistols, if you so want." +msgstr "" +"一个 4x32 TA01 型先进战斗光学瞄准镜(ACOG),带有一个氚发光十字准星。这个瞄准镜经过了改装,可以装在除手枪外的几乎任何武器上。" #: lang/json/gunmod_from_json.py msgid "RS1219 scope" @@ -89141,9 +93336,10 @@ msgstr[0] "望远镜式瞄准镜" #: lang/json/gunmod_from_json.py msgid "" -"A simple telescopic sight, essentially a small telescope with crosshairs. " -"Increases weight but improves accuracy." -msgstr "一个简单的望远镜式瞄准镜,由单筒望远镜加上准星而成。增加了重量,但同时提升命中率。" +"A simple hand-crafted telescopic sight, essentially a small telescope with " +"crosshairs. Not as good as the ones made before the cataclysm. Increases " +"weight but improves accuracy." +msgstr "一个简单的自制望远镜式瞄准镜,由单筒望远镜加上准星而成。它没有大灾变前生产的瞄准镜好用。增加枪械重量,但同时会提升命中率。" #: lang/json/gunmod_from_json.py msgid "telescopic pistol sight" @@ -89295,6 +93491,21 @@ msgid "" msgstr "" "双脚架是步枪与机枪上广泛使用的可提供枪械前端稳定性与减少摆动的泛用组件之一。尽管可以极大地提高后座的可控度,它只能放置在坚实的平台上使用,并需要较长时间来架设。" +#: lang/json/gunmod_from_json.py +msgid "modified bipod" +msgid_plural "modified bipods" +msgstr[0] "改装双脚架" + +#: lang/json/gunmod_from_json.py +msgid "" +"Bipods are commonly used on rifles and machine guns to provide a forward " +"rest and reduce motion. Although they greatly improve handling of recoil " +"they are usable only on certain surfaces and are slow to equip. This one " +"was modified and customized to mount on pretty much any weapon, if you so " +"want." +msgstr "" +"双脚架是步枪与机枪上广泛使用的可提供枪械前端稳定性与减少摆动的泛用组件之一。尽管可以极大地提高后座的可控度,它只能放置在坚实的平台上使用,并需要较长时间来架设。这个双脚架经过了改装,能够装在几乎所有武器上。" + #: lang/json/gunmod_from_json.py msgid "combination gun shotgun" msgid_plural "combination gun shotguns" @@ -89328,6 +93539,19 @@ msgid "" "effective as a bipod but usable under all conditions." msgstr "包覆安装到前部枪管的水平握把能够让你更好的掌控枪械,虽说没有双脚架那么有效,但可用于全地形作战。" +#: lang/json/gunmod_from_json.py +msgid "modified forward grip" +msgid_plural "modified forward grips" +msgstr[0] "改装前置握把" + +#: lang/json/gunmod_from_json.py +msgid "" +"A grip placed forward on the barrel allows for greater control. Not as " +"effective as a bipod but usable under all conditions. This one was modified" +" and customized to mount on pretty much any weapon, if you so want." +msgstr "" +"包覆安装到前部枪管的水平握把能够让你更好的掌控枪械,虽说没有双脚架那么有效,但可用于全地形作战。这个握把经过了改装,能够装在几乎所有武器上。" + #: lang/json/gunmod_from_json.py msgid "integrated bayonet" msgid_plural "integrated bayonets" @@ -89387,6 +93611,20 @@ msgid "" "and fired." msgstr "M203最初为M16设计的,但如今它发展成能够适配几乎所有步枪的榴弹发射器组件。该榴弹发射器组件每次装填一发40mm榴弹。" +#: lang/json/gunmod_from_json.py +msgid "modified M203" +msgid_plural "modified M203s" +msgstr[0] "改装 M203 榴弹发射器" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M203 was originally designed for use with M16 variants but today can be " +"attached to almost any rifle. It allows a single 40mm grenade to be loaded " +"and fired. This one was modified and customized to mount on pretty much any" +" weapon other than pistols and pump-action guns, if you so want." +msgstr "" +"M203最初为M16设计的,但如今它发展成能够适配几乎所有步枪的榴弹发射器组件。该榴弹发射器组件每次装填一发40mm榴弹。这个榴弹发射器经过了改装,可以装在除了手枪和泵动式枪械之外的几乎任何武器上。" + #: lang/json/gunmod_from_json.py msgid "M320 GLM" msgid_plural "M320 GLM" @@ -89401,6 +93639,21 @@ msgid "" msgstr "" "M320榴弹发射器模组采用非常小的封装就达到了大体积发射器才能实现的功能,但是射击精度相比有所下降。它可以被安装在多种步枪的枪管下,也可以安个枪托独立使用。" +#: lang/json/gunmod_from_json.py +msgid "modified M320 GLM" +msgid_plural "modified M320 GLMs" +msgstr[0] "改装 M320 榴弹发射器" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M320 Grenade Launcher Module offers the functionality of larger " +"launchers in a very small package at the cost of decreased accuracy. It can" +" be either attached to a rifle or combined with a buttstock for stand alone " +"use. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" +"M320榴弹发射器模组采用非常小的封装就达到了大体积发射器才能实现的功能,但是射击精度相比有所下降。它可以被安装在多种步枪的枪管下,也可以安个枪托独立使用。这个榴弹发射器经过了改装,可以装在除了手枪和泵动式枪械之外的几乎任何武器上。" + #: lang/json/gunmod_from_json.py msgid "masterkey shotgun" msgid_plural "masterkey shotguns" @@ -89413,6 +93666,20 @@ msgid "" "fired." msgstr "极度简化的泵动式霰弹枪,它可以被安装在多种步枪的枪管下。一次能装填四发霰弹。" +#: lang/json/gunmod_from_json.py +msgid "modified masterkey shotgun" +msgid_plural "modified masterkey shotguns" +msgstr[0] "改装多用霰弹副枪" + +#: lang/json/gunmod_from_json.py +msgid "" +"A minimalist pump action shotgun, which can be mounted under the barrel of " +"many rifles. It allows a total of four shotgun shells to be loaded and " +"fired. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" +"极度简化的泵动式霰弹枪,它可以被安装在多种步枪的枪管下。一次能装填四发霰弹。这把霰弹枪经过了改装,可以装在除了手枪和泵动式枪械之外的几乎任何武器上。" + #: lang/json/gunmod_from_json.py msgid "40mm pipe launcher" msgid_plural "40mm pipe launchers" @@ -89420,9 +93687,9 @@ msgstr[0] "自制 40mm 榴弹发射器" #: lang/json/gunmod_from_json.py msgid "" -"This is a home built launcher tube that can be attached to almost any rifle." -" It allows a single 40mm grenade to be loaded and fired." -msgstr "一个自制的简易发射器,可以安装到几乎任何步枪上。每次装填一发40mm榴弹。" +"This is a home built launcher tube that can be attached to almost any weapon" +" except handguns. It allows a single 40mm grenade to be loaded and fired." +msgstr "一个自制的简易发射器,可以安装到除了手枪外的几乎任何武器上。每次装填一发 40mm 榴弹。" #: lang/json/gunmod_from_json.py msgid "pistol bayonet" @@ -89447,6 +93714,21 @@ msgid "" "Accepts RMSA10 box magazines." msgstr "Rivtech RM121 辅助武器系统是一把弹匣供弹的半自动无壳弹霰弹枪,可以被安装在许多枪械的导轨上。使用RMSA10弹匣。" +#: lang/json/gunmod_from_json.py +msgid "modified RM121 aux shotgun" +msgid_plural "modified RM121 aux shotguns" +msgstr[0] "改装 RM121 副枪" + +#: lang/json/gunmod_from_json.py +msgid "" +"The Rivtech RM121 auxiliary weapon system is a magazine-fed semi-automatic " +"caseless shotgun, which can be mounted under the barrel of many rifles. " +"Accepts RMSA10 box magazines. This one was modified and customized to mount" +" on pretty much any weapon other than pistols, if you so want." +msgstr "" +"Rivtech RM121 " +"辅助武器系统是一把弹匣供弹的半自动无壳弹霰弹枪,可以被安装在许多枪械的导轨上。使用RMSA10弹匣。这把霰弹枪经过了改装,可以装在除手枪外的几乎任何武器上。" + #: lang/json/gunmod_from_json.py msgid "underslung shotgun" msgid_plural "underslung shotguns" @@ -89458,6 +93740,19 @@ msgid "" "many rifles. It allows two shotgun shells to be loaded and fired." msgstr "枪管很短的双管霰弹枪,它可以被安装在多种步枪的枪管下。一次能装填两发霰弹。" +#: lang/json/gunmod_from_json.py +msgid "modified underslung shotgun" +msgid_plural "modified underslung shotguns" +msgstr[0] "改装下挂式霰弹副枪" + +#: lang/json/gunmod_from_json.py +msgid "" +"A short shotgun with 2 barrels, which can be mounted under the barrel of " +"many rifles. It allows two shotgun shells to be loaded and fired. This one" +" was modified and customized to mount on pretty much any weapon other than " +"pistols, if you so want." +msgstr "枪管很短的双管霰弹枪,它可以被安装在多种步枪的枪管下。一次能装填两发霰弹。这把霰弹枪经过了改装,可以装在除手枪外的几乎任何武器上。" + #: lang/json/gunmod_from_json.py msgid "LW underbarrel laser sight" msgid_plural "LW underbarrel laser sights" @@ -89706,6 +94001,56 @@ msgid "" msgstr "" "电磁加速系统是固定在枪管前部外表面的一个电磁铁阵列,可以加速任何的金属弹药到更高的速度,可以增加伤害,但也会提高后座力和降低命中率。但它需要使用UPS供电使用,并且进行了改装之后,枪械本身也一定要用UPS提供电能来使用,没电就不能用了。" +#: lang/json/gunmod_from_json.py +msgid "'Silent Winds' suppressor" +msgid_plural "'Silent Winds' suppressors" +msgstr[0] "\"静风\"消音器" + +#: lang/json/gunmod_from_json.py +msgid "" +"Rather than using purely wipe media, an additional localized silence spell " +"in this tube quiets gunshots going through to hearing-safe levels." +msgstr "除了消音材料之外,这个消音器还含有一个小范围静音法术,能够把枪声降低到对听力安全的水平。" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (rail)" +msgid_plural "mana laser sights (rail)" +msgstr[0] "魔法激光瞄具(导轨)" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit under the barrel." +msgstr "" +"小型可见激光发射器,使用魔力水晶发射激光,可安装在枪械上,增加命中率与瞄准速度。完全没有缺点——除了增加一点点重量。你可以旋转导轨将其变成管下瞄具。" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (underbarrel)" +msgid_plural "mana laser sights (underbarrel)" +msgstr[0] "魔法激光瞄具(管下)" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit on the rail." +msgstr "" +"小型可见激光发射器,使用魔力水晶发射激光,可安装在枪械上,增加命中率与瞄准速度。完全没有缺点——除了增加一点点重量。你可以旋转导轨将其变成导轨瞄具。" + +#: lang/json/gunmod_from_json.py +msgid "mana dot sight" +msgid_plural "mana dot sights" +msgstr[0] "魔法蓝点瞄准镜" + +#: lang/json/gunmod_from_json.py +msgid "" +"Adds a blue dot optic made from crystallized mana to the top of your gun, " +"replacing the iron sights. Increases accuracy and weight." +msgstr "在你的枪上安装一个使用魔力水晶发光的战术魔法蓝点瞄具以取代机械瞄准具。提高命中率,增加重量。" + #: lang/json/gunmod_from_json.py msgid "makeshift pistol bayonet" msgid_plural "makeshift pistol bayonets" @@ -91777,8 +96122,8 @@ msgstr "测量辐射" #: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/game_inventory.cpp src/teleport.cpp -msgid "..." -msgstr "……" +msgid "…" +msgstr "…" #: lang/json/item_action_from_json.py msgid "Control an RC car" @@ -91942,32 +96287,25 @@ msgid "" " up." msgstr "这个物品可在相邻的地上直接激活或重新装填,无须拾起。" -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the outer aura layer, intended for metaphysical effects." -msgstr "这件物品位于外部光环中,用于产生超自然效果。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your outer aura." msgstr "这在你的外部光环内。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate barometer (which is used to measure " "atmospheric pressure)." msgstr "这件装备有精准气压计功能(可测气压)。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item can be clipped on to a belt loop of the appropriate " "size." msgstr "这件物品可以被别在/钩在一个大小适当的 腰带环 上。" -#: lang/json/json_flag_from_json.py -msgid "Layer for backpacks and things worn over outerwear." -msgstr "背包与披衣层" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is strapped onto you." @@ -91980,12 +96318,6 @@ msgid "" " properly." msgstr "你的 同伴 可以被 植入并使用 这个生化插件。" -#: lang/json/json_flag_from_json.py -msgid "" -"Blinds the wearer while worn, and provides nominal protection vs flashbang " -"flashes." -msgstr "穿戴的人将会看不见任何事物,嗯,还有理所当然的\"抗闪光弹强光\"。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear prevents you from seeing anything." @@ -92074,12 +96406,6 @@ msgstr "无论是食物还是非食物,只要计时器用完,这个物品就 msgid "You can wear only one." msgstr "只能同时穿着一件。" -#: lang/json/json_flag_from_json.py -msgid "" -"Wearing this clothing gives a morale bonus if the player has the Stylish " -"trait." -msgstr "穿上这件衣服将给有\"时尚范\"特性的人额外心情值加成。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This piece of clothing is fancy." @@ -92110,21 +96436,11 @@ msgstr "这件装备 纠正远视。" msgid "This gear corrects nearsightedness." msgstr "这件装备 纠正近视。" -#: lang/json/json_flag_from_json.py -msgid "" -"Zombie-dropped clothing giving various penalties if Filthy mod is active. " -"Also CBMs harvested from zombies." -msgstr "如果开启了肮脏衣物,穿上丧尸身上获得的肮脏衣物会有负面效果,而肮脏的CBM也会需要特殊处理才能使用。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This item is filthy." msgstr "这件物品很肮脏。" -#: lang/json/json_flag_from_json.py -msgid "Used for eyes protection from flashbang." -msgstr "用于防护闪光弹的眼部护具。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92158,39 +96474,20 @@ msgid "" "your head is unencumbered." msgstr "这件装备有兜帽,能在头部没有累赘时戴上兜帽,为头部保暖。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate hygrometer (which is used to measure " "humidity)." msgstr "这件装备有精准湿度计功能(可测湿度)。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item is a component of the gun it is attached to. It can't be removed " "without destroying it." msgstr "这件物品是枪械上安装的部件。它无法在不被破坏的情况下移除。" -#: lang/json/json_flag_from_json.py -msgid "Item can never be used with a CVD machine." -msgstr "不能用气相沉积镀膜机(CVD)与某单一物品配合做任何事。" - -#: lang/json/json_flag_from_json.py -msgid "" -"Don't offer to draw items from this holster when the fire key is pressed " -"whilst the player's hands are empty." -msgstr "请不要在空手按下开火的同时又试图从该枪套中取出物品。" - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents repairing of this item even if otherwise suitable tools exist." -msgstr "当存在合适的工具时禁止修复这件物品。" - -#: lang/json/json_flag_from_json.py -msgid "" -"forces calories and vitamins to be the ones defined in the json, instead of " -"inheriting from ingredients" -msgstr "强迫热量和维生素使用json中定义的值,而不是从成分中继承。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "You could probably plant these." @@ -92205,21 +96502,11 @@ msgstr "" "这件食物在室温下会 融化 " ",冷冻后风味更佳。" -#: lang/json/json_flag_from_json.py -msgid "Outer garment layer." -msgstr "外套衣物层。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is generally worn over clothing." msgstr "这件装备一般套在衣物外边。" -#: lang/json/json_flag_from_json.py -msgid "" -"Can always be worn no matter encumbrance/mutations/bionics/etc., but " -"prevents any other clothing being worn over this." -msgstr "无论累赘、突变、生化插件或者其他情况如何,这一层都可以穿上衣物,但同时会妨碍其他的衣物再穿到其上面。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92227,12 +96514,6 @@ msgid "" "anatomy." msgstr "这件装备尺码足够大,能够容纳下 大型变异肢体。" -#: lang/json/json_flag_from_json.py -msgid "" -"Can be worn comfortably by mutants with Tiny or Unassuming. Too small for " -"anyone else." -msgstr "装备可以被体型细小及毫不起眼的变异人穿着。但对其他人尺码过小。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92240,23 +96521,11 @@ msgid "" "level." msgstr "这件装备会自动减弱声音强度至听力范围内。" -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the personal aura layer, intended for metaphysical " -"effects." -msgstr "这件物品位于自体光环中,用于产生超自然效果。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your personal aura." msgstr "这在你的自体光环内。" -#: lang/json/json_flag_from_json.py -msgid "" -"Increases warmth for hands if the player's hands are cold and the player is " -"wielding nothing." -msgstr "当玩家的手上没有在握着物品而且手部感到冷时,可以为双手提供一些保温效果。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92264,17 +96533,6 @@ msgid "" "wielding nothing." msgstr "这件装备有口袋,能在你空手时把手放在口袋里,为手部保暖。" -#: lang/json/json_flag_from_json.py -msgid "" -"If turned ON, it uses its own source of power, instead of relying on power " -"of the user." -msgstr "它在开启时会使用自带的能源,而不是使用者的能源。" - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "25% chance to protect against fear_paralyze monster attack." -msgstr "25%概率免受精神麻痹攻击。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear keeps out the mind control rays." @@ -92306,27 +96564,12 @@ msgstr "这种装备会让你难以稳定重心。穿着时被击中可能会让 msgid "This item can be used to communicate with radio waves." msgstr "通过这件物品可以进行无线交流。" -#: lang/json/json_flag_from_json.py -msgid "Prevents the covered body-part(s) from getting wet in the rain." -msgstr "为覆盖了的身体部位挡住雨水。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This piece of clothing is designed to keep you dry in the rain." msgstr "这件装备能够让你在雨中保持干燥。" -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the player from wielding a weapon two-handed, forcing one-handed " -"use if the weapon permits it." -msgstr "妨碍玩家双手握持物品,如果物品可以单手握持,则强制单手握持。" - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from participating in the encumbrance system when worn." -msgstr "使物品被穿戴时不影响累赘度。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92334,26 +96577,6 @@ msgid "" " other things when worn." msgstr "这件物品处于近乎无形的状态,可以与其它物品占据同一空间。" -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sheath of the appropriate size." -msgstr "这件物品可以被储存在一个大小适当的小刀鞘里。" - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a scabbard of the appropriate size." -msgstr "这件物品可以被储存在一个大小适当的刀鞘里。" - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sling of the appropriate size." -msgstr "这件物品可以被储存在一个大小适当的背带上。" - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a bag of the appropriate size." -msgstr "这件物品可以被存储在一个大小适当的包里。" - -#: lang/json/json_flag_from_json.py -msgid "Undergarment layer." -msgstr "贴身衣物层。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing lies close to the skin." @@ -92377,30 +96600,16 @@ msgid "" "lot of abuse." msgstr "这件装备具有良好防护,能使你免于受伤并承受大量伤害。" -#: lang/json/json_flag_from_json.py -msgid "Prevents glaring when in sunlight." -msgstr "挡住耀眼的太阳光。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing keeps the glare out of your eyes." msgstr "这件装备能防眩光。" -#: lang/json/json_flag_from_json.py -msgid "" -"Gives an additional moral bonus over FANCY if the player has the Stylish " -"trait." -msgstr "穿上这件衣服将给有\"时尚范\"特性的人额外心情值加成。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing is very fancy." msgstr "这件装备非常时髦。" -#: lang/json/json_flag_from_json.py -msgid "Allows you to see much further under water." -msgstr "让你在水下看得更远" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92408,44 +96617,21 @@ msgid "" "water." msgstr "这件装备能让你在水下看得更远。" -#: lang/json/json_flag_from_json.py -msgid "" -"This gear is equipped with an accurate thermometer (which is used to measure" -" temperature)." -msgstr "这件装备带有精准温度计功能(可测温度)。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is equipped with an accurate thermometer." msgstr "这件装备有精准温度计功能。" -#: lang/json/json_flag_from_json.py -msgid "Can be made to fit via tailoring." -msgstr "可以通过使用裁缝技能来修改到合身。" - -#: lang/json/json_flag_from_json.py -msgid "Layer for belts and other things worn on the waist." -msgstr "腰带和其他绑在手腕上的物品所使用的衣物层。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is worn on or around your waist." msgstr "这件装备穿着在你的腰部。" -#: lang/json/json_flag_from_json.py -msgid "Acts as a watch and allows the player to see actual time." -msgstr "可以当手表使用,使玩家能够看到具体时间。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear allows to see actual time." msgstr "这件装备有精准计时功能。" -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the covered body-part(s) from getting wet in any circumstance." -msgstr "为覆盖了的身体部位挡住任何环境条件下的水和潮湿。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92453,12 +96639,6 @@ msgid "" "river or something like that." msgstr "这件装备不透水,除非你跳进河里或者被水淹没。" -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from making the body part count as unfriendly to water and" -" thus causing negative morale from being wet." -msgstr "挡住任何让不适应水的身体部位变得潮湿的物质,从而防止因湿身带来的心情值惩罚。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92494,11 +96674,6 @@ msgid "" "overall warmth." msgstr "这件装备缝上了羊毛内衬,增加保暖度。" -#: lang/json/json_flag_from_json.py -msgid "" -"Allows wielding with unarmed fighting styles and trains unarmed when used." -msgstr "允许手持该物品来施展徒手武术流派招式,并得到徒手格斗技能的点数。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -92511,108 +96686,27 @@ msgstr "这件武器能够使用徒手武术流派招式 unchanged. #: lang/json/json_flag_from_json.py -msgid "This bionic is a faulty bionic." -msgstr "这个生化插件是一个故障的生化插件。" - -#: lang/json/json_flag_from_json.py -msgid "This bionic is a power source bionic." -msgstr "这个生化插件是一个动力源生化插件。" - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic only has a function when activated, else it causes its effect " -"every turn." -msgstr "只有激活的时候,这个生化插件才会工作,否则每回合它都会起作用。" - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a gun bionic and activating it will fire it. Prevents all " -"other activation effects." -msgstr "只有激活的时候,这个枪械生化插件才会开火。会阻碍其他激活效果。" +msgid "This bionic is faulty." +msgstr "这个生化插件 已故障。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a weapon bionic and activating it will create (or destroy) " -"bionic's fake_item in user's hands. Prevents all other activation effects." -msgstr "只有激活的时候,这个枪械生化插件才会开火。会阻碍其他激活效果。" +msgid "This bionic provides power." +msgstr "这个生化插件是个动力源。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This bionic can provide power to powered armor." msgstr "这个生化插件能够为动力装甲供能。" -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's effects permanent." -msgstr "此法术永久生效。" - -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's Area of Effect ignore walls." -msgstr "此法术的区域效果能无视墙壁。" - -#: lang/json/json_flag_from_json.py -msgid "You can cast spells with this item in your hand." -msgstr "你可以手持此物品施放法术。" - -#: lang/json/json_flag_from_json.py -msgid "" -"This makes the spell's summoned monster always hostile. Note that the spell" -" needs to be a summon spell for this to do anything." -msgstr "此法术召唤生物总是敌对。仅对召唤类法术生效。" - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "" -"This makes the spell's summoned monster hostile 50% of the time. Note that " -"the spell needs to be a summon spell for this to do anything." -msgstr "此法术召唤生物有50%几率敌对。仅对召唤类法术生效。" - -#: lang/json/json_flag_from_json.py -msgid "The spell makes no sound at its point of impact." -msgstr "此法术不会在命中点发出声音。" - -#: lang/json/json_flag_from_json.py -msgid "This spell is much louder at its point of impact." -msgstr "此法术会在命中点发出巨大的响声。" - -#: lang/json/json_flag_from_json.py -msgid "" -"The caster must speak in order to cast the spell. More mouth encumbrannce " -"increases failure percent, and the caster speaks when casting." -msgstr "此法术需要施法者说话才能施放。施法时嘴部累赘影响失败率,且施法者在施法时会说话。" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell requires arm movement to cast. Arm encumbrance affects failure " -"percentage and casting time." -msgstr "此法术需要手势才能施放。施法时手臂累赘影响失败率和施法时间。" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell does not require hands in order to cast it. Encumbrance penalties" -" on hands are nullified." -msgstr "此法术不需要手势就能施放。施法时不受手部累赘惩罚影响。" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell does not require leg movement in order to be cast. All " -"encumbrance penalties for legs are nullified." -msgstr "此法术不需要腿部移动就能施放。施法时不受腿部累赘惩罚影响。" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell requires focus to cast. The lower your focus, the higher failure" -" rate to cast." -msgstr "此法术需要足够专注才能施放。施法时专注越低,失败几率就越高。" - +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" -"Chooses a spell at random to cast from extra_effects. See MAGIC.md for " -"details" -msgstr "随机从 extra_effects 中选择一个法术施放。详情见 MAGIC.md" - -#: lang/json/json_flag_from_json.py -msgid "This mutation does not count toward thresholds at all." -msgstr "该变异不计入变异体系。" +"This food is unappetizing in a way that can't be covered up " +"by most cooking." +msgstr "此食物让人倒胃口,大多数烹饪方式都无法改善口味。" #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py @@ -92991,7 +97085,7 @@ msgstr "隐藏/显示配方" #: lang/json/keybinding_from_json.py msgid "Batch crafting" -msgstr "成批制造" +msgstr "批量制造" #: lang/json/keybinding_from_json.py msgid "Related recipes" @@ -93017,6 +97111,10 @@ msgstr "下一层" msgid "Previous level" msgstr "上一层" +#: lang/json/keybinding_from_json.py +msgid "Reset level" +msgstr "重新开始" + #: lang/json/keybinding_from_json.py msgid "Undo move" msgstr "撤销移动" @@ -93033,10 +97131,6 @@ msgstr "切换标志" msgid "Toggle lights" msgstr "开/关照明" -#: lang/json/keybinding_from_json.py -msgid "Reset level" -msgstr "重新开始" - #: lang/json/keybinding_from_json.py msgid "Confirm Choice" msgstr "确认选择" @@ -93741,6 +97835,10 @@ msgstr "查看温度视图" msgid "View Visibility Map" msgstr "查看能见度视图" +#: lang/json/keybinding_from_json.py +msgid "View Lighting Map" +msgstr "查看光照视图" + #: lang/json/keybinding_from_json.py msgid "View Radiation Map" msgstr "查看辐射值视图" @@ -93754,7 +97852,7 @@ msgid "Toggle Fullscreen mode" msgstr "打开全屏模式" #: lang/json/keybinding_from_json.py -msgid "Toggle Pixel Minimap" +msgid "Toggle Minimap" msgstr "切换小地图" #: lang/json/keybinding_from_json.py @@ -93783,7 +97881,7 @@ msgstr "切换自动挖矿" #: lang/json/keybinding_from_json.py msgid "Toggle Auto Foraging" -msgstr "切换自动搜寻" +msgstr "切换自动采集" #: lang/json/keybinding_from_json.py msgid "Toggle Auto Pickup" @@ -94111,6 +98209,7 @@ msgstr "移除自定义配色" msgid "Load color template" msgstr "读取配色模板" +#. ~ translation should not exceed 3 console cells #: lang/json/keybinding_from_json.py lang/json/keybinding_from_json.py #: src/editmap.cpp src/editmap.cpp src/editmap.cpp src/veh_interact.cpp msgid "Yes" @@ -94170,6 +98269,10 @@ msgstr "开/关警报" msgid "Toggle atomic lights" msgstr "开/关原子车灯" +#: lang/json/keybinding_from_json.py +msgid "Control autopiot" +msgstr "控制自动驾驶仪" + #: lang/json/keybinding_from_json.py msgid "Toggle camera system" msgstr "开/关监控系统" @@ -96459,7 +100562,7 @@ msgid "" msgstr "" "泰拳中力量就是一切,你知道如何充分利用你的力量。\n" "\n" -"所受格挡伤害按力量的 50%% 减少。" +"格挡后的伤害按力量的 50%% 减少。" #: lang/json/martial_art_from_json.py msgid "Ninjutsu" @@ -96646,23 +100749,142 @@ msgstr "" "持续 1 回合。" #: lang/json/martial_art_from_json.py -msgid "Tai Chi" -msgstr "太极" +msgid "Silat" +msgstr "班卡苏拉刀术" -#. ~ Description for martial art 'Tai Chi' +#. ~ Description for martial art 'Silat' #: lang/json/martial_art_from_json.py msgid "" -"Though Tai Chi is often seen as a form of mental and physical exercise, it " -"is a legitimate martial art, focused on self-defense. Its ability to absorb" -" the force of an attack makes your Perception decrease damage further on a " -"block." +"Pentjak Silat, of Indonesian origin, is a fighting style that covers the use" +" of short blades and bludgeons. Fighters stay low and mobile to avoid " +"attacks, then unleash deadly critical hits." +msgstr "班卡苏拉,这种武术发源于印尼,是一种使用短刀和棍棒来格斗的武术流派。武者弯腰游走来回避攻击,然后出其不意的发动致命的会心一击。" + +#: lang/json/martial_art_from_json.py +msgid "Silat Stance" +msgstr "苏拉步法" + +#. ~ Description of buff 'Silat Stance' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +msgid "" +"You try to stay loose as possible when fighting to have more chances to dodge.\n" +"\n" +"+1 Dodge attempts." +msgstr "" +"你在战斗时尽量保持放松,使你有更多的机会躲闪。\n" +"\n" +"闪避次数+1。" + +#: lang/json/martial_art_from_json.py +msgid "Silat Evasion" +msgstr "苏拉躲闪" + +#. ~ Description of buff 'Silat Evasion' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +msgid "" +"You stay low as you move, making it harder for enemies to pin you down.\n" +"\n" +"+1 Dodge attempts.\n" +"Lasts 2 turn." +msgstr "" +"你在移动时放低身体,使你更难被敌人击倒。\n" +"\n" +"闪避次数+1。\n" +"持续 2 回合。" + +#: lang/json/martial_art_from_json.py +msgid "Silat Appraisal" +msgstr "苏拉评估" + +#. ~ Description of buff 'Silat Appraisal' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Each time you dodge an attack, you learn a bit more about your opponents' fighting style. This allows you to make more precise attacks against them.\n" +"\n" +"Accuracy increased by 15%% of Dexterirty.\n" +"Lasts 2 turns. Stacks 3 times." +msgstr "" +"每次你次闪避过攻击时,你就会对手的战斗方式有更多的了解。这使你能够更精确的攻击敌人。\n" +"\n" +"命中按敏捷的 15%% 增加。\n" +"持续 2 回合 。可叠加 3 次。" + +#: lang/json/martial_art_from_json.py +msgid "Snake Kung Fu" +msgstr "蛇形拳" + +#. ~ Description for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +msgid "" +"One of the five Shaolin animal styles. The Snake focuses on sinuous " +"movement and precision strikes. Perception determines your Accuracy, rather" +" than Dexterity. Standing still will increases your accuracy and damage of " +"your next attack." +msgstr "少林五形拳之一。蛇拳以其若即若离的进攻动作与精准而致命的打击闻名于世。感知将取代敏捷决定命中,且静止不动会提升下次攻击时的命中和伤害。" + +#: lang/json/martial_art_from_json.py +msgid "Snake's Sight" +msgstr "蛇之视" + +#. ~ Description of buff 'Snake's Sight' for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You are patient and know where to hit your opponent for the best results.\n" +"\n" +"Perception increases Accuracy instead of Dexterity. Accuracy increased by 25%% of Perception but decreased by 25%% of Dexterity." +msgstr "" +"你很有耐心,知道打击对手那些部位能获得最好结果。感知将代替敏捷增加命中率。\n" +"\n" +"命中按感知的 25%% 增加,同时按敏捷的 25%% 减少。" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "日本枪术" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat. Standing still gives you an extra block " +"attempt but moving will briefly increase your damage." +msgstr "" +"日本枪术是一种源自日本的使用长矛作战的武术。日本枪术专注于在战斗中保持同对手的距离,以便维持自身战斗优势。当你站立不动时,你会获得一次额外的格挡,而你移动时则会短暂地提高伤害。" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "日本枪术步法" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Your training grants better defense while using a polearm.\n" +"\n" +"+1 Block attempt." msgstr "" -"尽管太极看起来是一种锻炼身心的运动,它同时也是一种致力于自卫技术的正规武术。它可以吸收攻击的力度的能力可以让你通过提高感知力来减少格挡带来的伤害。" +"你接受的武术训练令你在使用长柄武器时能够更好的防御。\n" +"\n" +"格挡次数 +1。" -#. ~ Description of buff for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py -msgid "+1 Block. Perception decreases damage when blocking." -msgstr "+1格挡。感知属性使你格挡中有效减少伤害。" +msgid "Superior Positioning" +msgstr "强势走位" + +#. ~ Description of buff 'Superior Positioning' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You have given up your defenses for a moment to increase the damage of your attacks.\n" +"\n" +"+10%% damage, -1 Block attempts.\n" +"Lasts 1 turn." +msgstr "" +"你放弃防御以便在短时间内提高自身伤害。\n" +"\n" +"伤害 +10%%,格挡次数 -1。\n" +"持续 1 回合。" #: lang/json/martial_art_from_json.py msgid "Taekwondo" @@ -96674,73 +100896,90 @@ msgid "" "Taekwondo is the national sport of Korea, and was used by the South Korean " "army in the 20th century. Focused on kicks and so it does not benefit from " "wielded weapons. It also includes strength training; your blocks absorb " -"extra damage the stronger you are." +"extra damage and your attacks do more damage if you are not holding " +"anything." msgstr "" -"跆拳道是韩国的国民运动项目,也在20世纪时被韩国军队使用。由于这种武术流派专注于使用脚踢攻击对手,因此它不受你手中武器的加成。这项武术流派同时也包含了力量的训练;格挡时吸收伤害会随着力量的提升而增加。" +"跆拳道是韩国的国民运动项目,也在20世纪时被韩国军队使用。由于这种武术流派专注于使用脚踢攻击对手,因此它不受你手中武器的加成。这项武术流派同时也包含了力量的训练;格挡将吸收更多伤害,并且未手持物品时你的伤害也会增加。" -#. ~ Description of buff for martial art 'Taekwondo' #: lang/json/martial_art_from_json.py -msgid "Strength decreases damage when blocking." -msgstr "格挡时力量可减伤。" +msgid "Taekwondo Stance" +msgstr "跆拳道步法" +#. ~ Description of buff 'Taekwondo Stance' for martial art 'Taekwondo' #: lang/json/martial_art_from_json.py -msgid "Zui Quan" -msgstr "醉拳" - -#. ~ Description for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" -" the enemy, giving you a passive dodge bonus based on your intelligence. " -"The turn after you attack, you may dodge any number of attacks with no " -"penalty, and successfully dodging an attack gives you bonus damage and to-" -"hit based on your intelligence." +"Using your legs to attack allows your hands to be free for better defense.\n" +"\n" +"Blocked damage decreased by 50%% of Strength." msgstr "" -"\"醉拳\"以醉酒步伐迷惑对手,提供基于智力的被动躲避补正。你在攻击之后能够躲避任意次攻击而没有的行动力惩罚,成功躲避后还能获得的攻击力加成以及发动基于智力的反击技能。" +"你使用腿部进行攻击,从而腾出双手用于更好地防御。\n" +"\n" +"格挡后的伤害按力量的 50%% 减少。" -#. ~ Description of buff for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Intelligence increases dodging ability" -msgstr "智力增加闪避能力" +msgid "Unhindered" +msgstr "空手" +#. ~ Description of buff 'Unhindered' for martial art 'Taekwondo' #: lang/json/martial_art_from_json.py -msgid "Counter Strike" -msgstr "反击" - -#. ~ Description of buff 'Counter Strike' for martial art 'Zui Quan' -#: lang/json/martial_art_from_json.py -msgid "Extra damage and to-hit after successful dodge" -msgstr "闪避成功后获得额外伤害及命中" +#, no-python-format +msgid "" +"Your attacks are stronger if you are not holding anything in your hands.\n" +"\n" +"+33%% bash damage when not using a weapon." +msgstr "" +"你在空手攻击时伤害更高。\n" +"\n" +"未手持武器时钝击伤害 +33%%。" #: lang/json/martial_art_from_json.py -msgid "Silat" -msgstr "班卡苏拉刀术" +msgid "Tai Chi" +msgstr "太极" -#. ~ Description for martial art 'Silat' +#. ~ Description for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py msgid "" -"Pentjak Silat, of Indonesian origin, is a fighting style that covers the use" -" of short blades and bludgeons. Fighters stay low and mobile to avoid " -"attacks, then unleash deadly critical hits." -msgstr "班卡苏拉,这种武术发源于印尼,是一种使用短刀和棍棒来格斗的武术流派。武者弯腰游走来回避攻击,然后出其不意的发动致命的会心一击。" +"Though Tai Chi is often seen as a form of mental and physical exercise, it " +"is a legitimate martial art, focused on self-defense. Its ability to absorb" +" the force of an attack makes your Perception decrease damage further on a " +"block. Pausing for a moment enables powerful palm strike techniques." +msgstr "" +"尽管太极通常被视为一种锻炼身心的运动,它同时也是一种专注于自卫的正规武术。太极能够吸收攻击的力量,使你在格挡时所受伤害随着感知的提高而进一步减小。原地不动时,你可以使出强力的掌击。" #: lang/json/martial_art_from_json.py -msgid "Silat Stance" -msgstr "苏拉步法" +msgid "Tai Chi Stance" +msgstr "太极步法" -#. ~ Description of buff 'Silat Stance' for martial art 'Silat' +#. ~ Description of buff 'Tai Chi Stance' for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py -msgid "+1 dodge" -msgstr "+1 闪避" +#, no-python-format +msgid "" +"You are focused of defense and predicting your opponents attacks.\n" +"\n" +"+1 Block attempts, blocked damage reduced by 100%% Perception." +msgstr "" +"你专注于防御和预测对手的攻击。\n" +"\n" +"格挡次数 +1,格挡后的伤害按感知的 100%% 减少。" #: lang/json/martial_art_from_json.py -msgid "Silat Counter" -msgstr "苏拉反击" +msgid "Repulse the Monkey" +msgstr "倒撵猴" -#. ~ Description of buff 'Silat Counter' for martial art 'Silat' +#. ~ Description of buff 'Repulse the Monkey' for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py -msgid "Extra to-hit after successful dodge" -msgstr "闪避成功后获得额外命中" +#, no-python-format +msgid "" +"By perfectly positioning yourself and your opponent, you have become more accurate and can bypass your opponent's defenses.\n" +"\n" +"Accuracy increased by 20%% of Perception, gain bash Armor Pentration equal to 50%% of Perception.\n" +"Lasts 2 turns." +msgstr "" +"你仔细掌握你和目标的相对位置,从而变得更加精确并且能够绕开对手的防御。\n" +"\n" +"命中率按感知的 20%% 增加,钝击护甲穿透按感知的 50%% 增加。\n" +"持续 2 回合。" #: lang/json/martial_art_from_json.py msgid "Tiger Kung Fu" @@ -96760,112 +100999,189 @@ msgstr "虎之怒" #. ~ Description of buff 'Tiger Fury' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+3 Bash/atk" -msgstr "+3 钝击/每次攻击" +#, no-python-format +msgid "" +"You attack with an endless barrage of strikes. The more you hit, the stronger you become.\n" +"\n" +"+10%% damage.\n" +"Lasts 3 turns. Stacks 4 times." +msgstr "" +"你的攻击无穷无尽。你的命中得越多,你就会越强。\n" +"\n" +"+10%% 伤害。\n" +"持续 3 回合。可叠加 4 次。" #: lang/json/martial_art_from_json.py -msgid "Tiger Strength" +msgid "Tiger's Strength" msgstr "虎之力" -#. ~ Description of buff 'Tiger Strength' for martial art 'Tiger Kung Fu' +#. ~ Description of buff 'Tiger's Strength' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Strength provides additional damage bonus." -msgstr "力量提供额外的伤害加成。" +#, no-python-format +msgid "" +"You do not need defense. You do not need a plan. You need strength. Strength will break your opponents' defenses and overwhelm them completely.\n" +"\n" +"Strength increases Accuracy instead of Dexterity.\n" +"\n" +"Accuracy increased by 25%% of Strength but decreased by 25%% of Dexterity." +msgstr "" +"你不需要防御。你不需要计划。你只需要力量。力量会击溃对手的防御,并完全压倒他们。\n" +"\n" +"力量将代替敏捷增加命中率。\n" +"\n" +"命中按力量的 25%% 增加,同时按敏捷的 25%% 减少。" #: lang/json/martial_art_from_json.py -msgid "Snake Kung Fu" -msgstr "蛇形拳" +msgid "Wing Chun" +msgstr "咏春" -#. ~ Description for martial art 'Snake Kung Fu' +#. ~ Description for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py msgid "" -"One of the five Shaolin animal styles. The Snake focuses on sinuous " -"movement and precision strikes. Your Perception improves your damage." -msgstr "少林五形拳之一。蛇拳以其若即若离的进攻动作与精准而致命的打击闻名于世。你的感知属性越高,获得的伤害加成就越大。" +"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" +"learn effective techniques from the various Shaolin animal forms. It has a " +"high stance, with weight entirely on the rear leg. Wing Chun focuses on " +"sensitivity to the opponent's direction of force, and flowing around it to " +"get back to hitting." +msgstr "" +"咏春是一门中国武术,传说起源于南少林鹤拳,也有从蛇鹤相斗获得灵感的说法。它的站立姿势很高,重心完全放在后腿上。咏春专注于对对手发力方向的准确感知,并借此还击。" #: lang/json/martial_art_from_json.py -msgid "Snake Sight" -msgstr "蛇之视" +msgid "Chain Punch" +msgstr "子午连环捶" -#. ~ Description of buff 'Snake Sight' for martial art 'Snake Kung Fu' +#. ~ Description of buff 'Chain Punch' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "Perception provides a bonus to damage." -msgstr "感知提供伤害加成。" +#, no-python-format +msgid "" +"Your punches are properly timed to give your opponent no rest from your strikes.\n" +"\n" +"-10%% move cost.\n" +"Lasts 1 turn. Stacks 3 times." +msgstr "" +"你每次出拳都恰到好处,不会给你的对手任何喘息机会。\n" +"\n" +"移动耗时 -10%%。\n" +"持续 1 回合。可叠加 3 次。" #: lang/json/martial_art_from_json.py -msgid "Debug Mastery" -msgstr "调试专精" +msgid "Chi-Sao Sensitivity" +msgstr "咏春黐手" -#. ~ Description for martial art 'Debug Mastery' +#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "A secret martial art used only by developers and cheaters." -msgstr "失传的绝世武学,仅由开发者和作弊者使用。" +#, no-python-format +msgid "" +"You have a greater understanding of balance and technique. This gives you a better chance to avoid your opponent's attacks.\n" +"\n" +" Dodging Skill increased by 15%% of Perception. Blocked damage reduced by 50%% of Perception." +msgstr "" +"你对平衡和技巧有更深的理解。这让你能更好地躲开你的对手的攻击。\n" +"\n" +"闪避技能按感知的 15%% 增加。格挡伤害按感知的 50%% 减少。" #: lang/json/martial_art_from_json.py -msgid "Elemental resistance" -msgstr "元素抗性" +msgid "Zui Quan" +msgstr "醉拳" -#. ~ Description of buff 'Elemental resistance' for martial art 'Debug -#. Mastery' +#. ~ Description for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py msgid "" -"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " -"armor, +Perception fire armor." -msgstr "+力量 钝击防护,+敏捷 酸液防护,+智力 电击防护,+感知 火焰防护。" +"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" +" the enemy. You gain a passive dodge bonus and accuracy bonus based on your" +" intelligence. Moving gives you additional dodge attempts and each time you" +" dodge, you inflict more damage with your counterattack for until the end of" +" your next turn." +msgstr "" +"\"醉拳\"以醉酒步伐迷惑对手,提供基于智力的被动闪避和命中加成。持续移动会为你提供额外的闪避次数,而每次闪避成功都会在下个回合之前为你反击提供更多伤害。" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu" -msgstr "日本枪术" +msgid "Zui Quan Stance" +msgstr "醉拳步法" -#. ~ Description for martial art 'Sōjutsu' +#. ~ Description of buff 'Zui Quan Stance' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " -"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " -"to maintain advantage in combat." -msgstr "日本枪术,又称\"矛之道\",是一种源自日本的使用长矛作战的武术。日本枪术专注于在战斗中保持同对手的距离,以便维持自身战斗优势。" +"Others might think you stumble about at random but you know better. Each movement is calculated to make evading harm easier.\n" +"\n" +"Dodging Skill increased by 15%% of Intelligence." +msgstr "" +"其他人可能会认为你四处乱撞,但你自己更清楚。每一次移动都经过精心计算以避免伤害。\n" +"\n" +"闪避技能按智力的 15%% 提升。" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Stance" -msgstr "日本枪术步法" +msgid "Advanced Zui Quan" +msgstr "高级醉拳" -#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#. ~ Description of buff 'Advanced Zui Quan' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Bonus block with reach weapons while standing still" -msgstr "静立不动时远距攻击武器格挡几率提升" +#, no-python-format +msgid "" +"You have a greater understanding of Zui Quan. Your skills at dodging and landing attacks are much better as a result.\n" +"\n" +"+1 Dodge attempts, Accuracy increased by 15%% of Intelligence." +msgstr "" +"你对醉拳有着更深的了解。因此你在闪避和命中攻击方面的技巧提升了。\n" +"\n" +"闪避次数 +1,命中按智力的 15%% 增加。 " #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Rush" -msgstr "日本枪术突刺" +msgid "Drunken Stumble" +msgstr "醉拳滑步" -#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#. ~ Description of buff 'Drunken Stumble' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Increased damage when moving but no bonus block" -msgstr "移动时增加伤害,但不提升格挡几率" +msgid "" +"With a few quick steps, you can completely change your orientation and dodge additional attacks.\n" +"\n" +"+2 Dodge attempts.\n" +"Lasts 3 turns." +msgstr "" +"只需少许碎步,你就可以完全改变方向,并闪开多次攻击。\n" +"\n" +"闪避次数 +2。\n" +"持续 3 回合。" #: lang/json/martial_art_from_json.py -msgid "Wing Chun" -msgstr "咏春" +msgid "Drunken Dodging" +msgstr "醉拳闪避" -#. ~ Description for martial art 'Wing Chun' +#. ~ Description of buff 'Drunken Dodging' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" -"learn effective techniques from the various Shaolin animal forms. It has a " -"high stance, with weight entirely on the rear leg. Wing Chun focuses on " -"sensitivity to the opponent's direction of force, and flowing around it to " -"get back to hitting." +"Each time you dodge, your positional advantage increases against your opponents. This makes your attacks hit harder with each successful dodge.\n" +"\n" +"Gain Armor Penetration equal to 25%% of Intelligence.\n" +"Lasts 1 turn. Stacks 4 times." msgstr "" -"咏春是一门中国武术,传说起源于南少林鹤拳,也有从蛇鹤相斗获得灵感的说法。它的站立姿势很高,重心完全放在后腿上。咏春专注于对对手发力方向的准确感知,并借此还击。" +"每次闪避后,你对你的对手的位置优势都会增加。每次成功的闪避都会使你的攻击更猛烈。\n" +"\n" +"护甲穿透按智力的 25%% 增加。\n" +"持续 1 回合。可叠加 4 次。" #: lang/json/martial_art_from_json.py -msgid "Chi-Sao Sensitivity" -msgstr "咏春黐手" +msgid "Debug Mastery" +msgstr "调试专精" -#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' +#. ~ Description for martial art 'Debug Mastery' +#: lang/json/martial_art_from_json.py +msgid "A secret martial art used only by developers and cheaters." +msgstr "失传的绝世武学,仅由开发者和作弊者使用。" + +#: lang/json/martial_art_from_json.py +msgid "Elemental resistance" +msgstr "元素抗性" + +#. ~ Description of buff 'Elemental resistance' for martial art 'Debug +#. Mastery' #: lang/json/martial_art_from_json.py -msgid "Perception increases dodging ability, +1 dodges per turn" -msgstr "感知提高闪避能力,每回合闪避次数+1" +msgid "" +"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " +"armor, +Perception fire armor." +msgstr "+力量 钝击防护,+敏捷 酸液防护,+智力 电击防护,+感知 火焰防护。" #: lang/json/martial_art_from_json.py msgid "Bionic Combatives" @@ -97052,10 +101368,12 @@ msgstr "蛤蟆功" #. ~ Description for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"One of the Five Deadly Venoms. Masters of Toad Style can focus themselves " -"against all attacks. You can meditate by pausing, giving you armor, though " -"you will lose focus when you move." -msgstr "五毒教神功之一。蛤蟆功大师能在任何攻击面前保持冷静。当你停止行动时,你将获得防御加成,但稍稍移动都将让你没法专心防御。" +"One of the Five Deadly Venoms, used by Liang Shen. Masters of Toad Style " +"can focus themselves to protect against all attacks. You have powerful " +"armor against physical attacks, though you will lose focus when you move. " +"You can meditate by pausing, giving yourself more armor for a short time." +msgstr "" +"五毒教神功之一。蛤蟆功大师能在任何攻击面前保持冷静。你有强大的物理防护,但当你移动时你会分心。你可以停下来冥想,在短时间内给自己提供更多的护甲。" #: lang/json/martial_art_from_json.py msgid "Toad's Iron Skin" @@ -97063,8 +101381,14 @@ msgstr "蛤蟆铁布衫" #. ~ Description of buff 'Toad's Iron Skin' for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Gain up to +6 armor while standing still" -msgstr "静立不动时护甲+6" +msgid "" +"Your body is as strong as iron but only if you don't move.\n" +"\n" +"+6 bash, cut, and stab armor." +msgstr "" +"你的身体和铁一样强壮,但前提是你不动。\n" +"\n" +"+6 钝击/斩击/刺击防护。" #: lang/json/martial_art_from_json.py msgid "Iron Skin Dissipation" @@ -97073,8 +101397,16 @@ msgstr "铁布衫失效" #. ~ Description of buff 'Iron Skin Dissipation' for martial art 'Toad Kung #. Fu' #: lang/json/martial_art_from_json.py -msgid "Iron Skin softens when you move!" -msgstr "铁布衫随着你移动失效了!" +msgid "" +"Moving causes you to lose your iron skin.\n" +"\n" +"-1 bash, cut, and stab armor.\n" +"Lasts 6 turns. Stacks 6 times." +msgstr "" +"移动会使你失去铁布衫。\n" +"\n" +"-1 钝击/斩击/刺击防护。\n" +"持续 6 回合。可叠加 6 次。" #: lang/json/martial_art_from_json.py msgid "Viper Kung Fu" @@ -97083,37 +101415,60 @@ msgstr "毒蛇功" #. ~ Description for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"A legacy of the Five Deadly Venoms. Viper Style has a unique three-part " -"combo, which initiates on a dodge, then counters with a stunning chop and " -"the legendary Viper Strike." -msgstr "五毒教神功之一,毒蛇功最出名的就是它的\"夺命三招\":先闪开对方攻击,之后一个手刀抽晕对方,再以传说中的\"诸蛇灭世\"终结对手。" +"A legacy of the Five Deadly Venoms, use by Qi Dong. Viper Style (originally" +" called Snake Style) has a unique three-part combo, which initiates on a " +"dodge, then follows up with a stunning Viper Bite and then finishes with the" +" legendary Viper Strike." +msgstr "五毒教神功之一,毒蛇功最出名的就是它的\"夺命三招\":先闪开对方攻击,之后一记\"毒蛇疯咬\"击晕对手,再以传说中的\"毒蛇猛击\"终结对手。" #: lang/json/martial_art_from_json.py -msgid "Viper Lock" -msgstr "毒蛇锁喉" +msgid "Viper's Patience" +msgstr "蛇之耐心" -#. ~ Description of buff 'Viper Lock' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Patience' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You bit true! Your next attack will be the Viper Strike!" -msgstr "你准备好了!下一击便是传说中的\"诸蛇灭世\"!" +msgid "" +"Every snake waits for the perfect moment to strike. Turn your opponents' mistakes into your opportunity to strike!\n" +"\n" +"+1.0 Dodge skill." +msgstr "" +"每条蛇都在等待完美时刻的到来。把对手的错误转化为攻击的机会!\n" +"\n" +"闪避技能 +1。" #: lang/json/martial_art_from_json.py -msgid "Viper Patience" -msgstr "毒蛇蓄势" +msgid "Viper's Ambush" +msgstr "蛇之伏击" -#. ~ Description of buff 'Viper Patience' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Ambush' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+2 Dodge. Dodging an attack initiates a combo." -msgstr "+2闪避。闪避一次攻击将触发连击。" +msgid "" +"Your evasiveness has left your opponent wide open to painful bite.\n" +"\n" +"Enables \"Viper Bite\" technique.\n" +"Lasts 1 turn." +msgstr "" +"你的闪避能力使你的对手很容易受到痛苦的伤害。\n" +"\n" +" 解锁\"毒蛇疯咬\"。\n" +"持续 1 回合。" #: lang/json/martial_art_from_json.py -msgid "Viper Ambush" -msgstr "毒蛇伏击" +msgid "Viper's Venom" +msgstr "蛇之毒" -#. ~ Description of buff 'Viper Ambush' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Venom' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You've lured 'em in! Your next attack will be a Viper Bite." -msgstr "你引诱住对手了!下一击便是毒蛇疯咬!" +msgid "" +"Your venom is a harsh reminder to never tease a predator.\n" +"\n" +"+2 bash damage.\n" +"Lasts 3 turn." +msgstr "" +"你的毒液是一次严厉的提醒,永远不要戏弄捕食者。\n" +"\n" +"+2 钝击伤害。\n" +"持续 3 回合。" #: lang/json/martial_art_from_json.py msgid "C.R.I.T Blade-work" @@ -97257,6 +101612,10 @@ msgstr "" "钝击护甲穿透+5。\n" "持续 2 回合。" +#: lang/json/martial_art_from_json.py +msgid "Sojutsu" +msgstr "日式枪术" + #: lang/json/material_from_json.py src/bionics.cpp msgid "Alcohol" msgstr "酒精" @@ -97498,6 +101857,10 @@ msgstr "铅" msgid "Leather" msgstr "皮革" +#: lang/json/material_from_json.py +msgid "Lycra" +msgstr "莱卡" + #: lang/json/material_from_json.py msgid "Dairy" msgstr "乳制品" @@ -97558,6 +101921,14 @@ msgstr "石" msgid "Superalloy" msgstr "超合金" +#: lang/json/material_from_json.py +msgid "layered carbide" +msgstr "层叠碳化物" + +#: lang/json/material_from_json.py +msgid "Synthetic Fabric" +msgstr "化纤" + #: lang/json/material_from_json.py msgid "Tin" msgstr "锡" @@ -97668,6 +102039,10 @@ msgstr "橡胶" msgid "Arcane Skin" msgstr "奥术皮肤" +#: lang/json/material_from_json.py +msgid "Orichalcum" +msgstr "山铜" + #: lang/json/material_from_json.py msgid "Demon Chitin" msgstr "恶魔甲壳" @@ -97677,7 +102052,7 @@ msgid "Sugar" msgstr "糖" #: lang/json/mission_def_from_json.py -msgid "Gather bones for the Brigitte. About 8 should do it." +msgid "Gather bones for the Brigitte. About 8 should do it." msgstr "收集些骨头带给布丽吉特。8根应该就够了。" #: lang/json/mission_def_from_json.py @@ -97726,48 +102101,6 @@ msgstr "虽然你这么说,但所唱之歌却不一样。" msgid "Then you shall try again, until you hear." msgstr "那么你可以再试一次,直到你听到它为止。" -#: lang/json/mission_def_from_json.py -msgid "Find a Book" -msgstr "找到一本书" - -#: lang/json/mission_def_from_json.py -msgid "Wanna help me out?" -msgstr "帮兄弟一把?" - -#: lang/json/mission_def_from_json.py -msgid "Get me a book." -msgstr "给我找本书。" - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: lang/json/talk_topic_from_json.py -msgid "Thanks." -msgstr "谢了。" - -#: lang/json/mission_def_from_json.py -msgid "Well, I'll find someone else to do it for me." -msgstr "得,那我去找别人做这件事好了。" - -#: lang/json/mission_def_from_json.py -msgid "Try a library." -msgstr "去图书馆试试看。" - -#: lang/json/mission_def_from_json.py -msgid "Got that book for me?" -msgstr "找到那本书了么?" - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: src/npctalk.cpp -msgid "Thanks!" -msgstr "谢谢啦!" - -#: lang/json/mission_def_from_json.py -msgid "OK, then hand it over." -msgstr "好吧,赶紧给我。" - -#: lang/json/mission_def_from_json.py -msgid "Shit happens." -msgstr "这种事都会发生的。" - #: lang/json/mission_def_from_json.py msgid "Follow Sarcophagus Team" msgstr "追踪埋点调查队" @@ -98650,10 +102983,6 @@ msgstr "真的……那太糟了。" msgid "Null mission" msgstr "无效任务" -#: lang/json/mission_def_from_json.py -msgid "YOU SHOULDN'T BE SEEING THIS, THIS IS A BUG" -msgstr "这是个Bug" - #: lang/json/mission_def_from_json.py msgid "Reach Farm House" msgstr "到达农舍" @@ -98880,6 +103209,14 @@ msgstr "找到照片了吗?它应该在我的枪用保险柜里。" msgid "Thanks! I'll be sure to put in a good word for you around town." msgstr "谢谢你!我会在镇上替你说好话的。" +#: lang/json/mission_def_from_json.py +msgid "OK, then hand it over." +msgstr "好吧,赶紧给我。" + +#: lang/json/mission_def_from_json.py +msgid "Shit happens." +msgstr "这种事都会发生的。" + #: lang/json/mission_def_from_json.py msgid "Find Antibiotics Before You Die!" msgstr "在你死之前找到抗生素!" @@ -99310,7 +103647,7 @@ msgid "" msgstr "谢谢你!请快点回来!拿着这个笼子吧,那样你就有机会抓住一只了。" #: lang/json/mission_def_from_json.py -msgid "I did't want to use chemicals on these rats." +msgid "I didn't want to use chemicals on these rats." msgstr "我不想对这些老鼠用化学制品。" #: lang/json/mission_def_from_json.py @@ -99407,7 +103744,7 @@ msgstr "收集 1000 单位黏土" #: lang/json/mission_def_from_json.py msgid "I do have some resource gathering I could use help if you have time." -msgstr "我确实需要有人帮我搜寻资源,如果你有空的话。" +msgstr "如果你有空的话,我的确需要有人帮我搜集一些资源。" #: lang/json/mission_def_from_json.py msgid "" @@ -99437,7 +103774,7 @@ msgstr "收集 20 个3L玻璃罐" #: lang/json/mission_def_from_json.py msgid "I could use some help scavenging." -msgstr "我需要有人帮我搜寻东西。" +msgstr "我需要有人帮我找点东西。" #: lang/json/mission_def_from_json.py msgid "" @@ -99613,6 +103950,10 @@ msgid "" "don't have any handy references." msgstr "我非常需要一本DIY手册。现在互联网也没了,我根本找不到参考资料。" +#: lang/json/mission_def_from_json.py +msgid "Fantastic, I'm not supposed to leave our land." +msgstr "太好了,我可没法离开这里自己去找。" + #: lang/json/mission_def_from_json.py msgid "A library, bookstore should have one, schools are another good idea." msgstr "图书馆、书店里或许能找到,学校也是一个不错的选择。" @@ -100404,6 +104745,10 @@ msgstr "最近发生了这么多事,现在想找包烟越来越难了。我的 msgid "Thanks, it's great to see someone willing to help a guy out." msgstr "谢谢,很高兴看见有人助人为乐。" +#: lang/json/mission_def_from_json.py +msgid "Well, I'll find someone else to do it for me." +msgstr "得,那我去找别人做这件事好了。" + #: lang/json/mission_def_from_json.py msgid "" "Plenty of smokers in towns. Gotta be some left over cigs in some of them " @@ -101088,8 +105433,8 @@ msgstr "恢复照明" #: lang/json/mission_def_from_json.py msgid "" "Reach the collapsed tower basement, and search the ruins for a photonic " -"circuitry template. The intercom warned you about heavy enemy prescence, and" -" of the existence of a hazardous enviroment." +"circuitry template. The intercom warned you about heavy enemy presence, and" +" of the existence of a hazardous environment." msgstr "前往倒塌大楼的地下室废墟并搜寻光子电路模板。对讲机警告过你那里有大量的敌人,并且环境恶劣。" #: lang/json/mission_def_from_json.py @@ -102556,7 +106901,7 @@ msgid "yourself scream in agony!" msgstr "自己痛苦地大声尖叫!" #. ~ Mutation class: Any junkie_message -#: lang/json/mutation_category_from_json.py src/iuse_actor.cpp +#: lang/json/mutation_category_from_json.py msgid "You quiver with anticipation..." msgstr "你颤抖着期待……" @@ -103235,20 +107580,20 @@ msgstr "真甜啊!" #. ~ Mutation class: Sugar Kin iv_message #: lang/json/mutation_category_from_json.py -msgid "You inject some more fizz into your sirup." +msgid "You inject some more fizz into your syrup." msgstr "你将更多的气泡注入糖浆之中。" #. ~ Mutation class: Sugar Kin Male memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_male" -msgid "Cristalized." -msgstr "结成糖晶。" +msgid "Crystalized." +msgstr "结为糖晶。" #. ~ Mutation class: Sugar Kin Female memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_female" -msgid "Cristalized." -msgstr "结成糖晶。" +msgid "Crystalized." +msgstr "结为糖晶。" #: lang/json/mutation_from_json.py msgid "Venom Mob Protege" @@ -103732,8 +108077,8 @@ msgstr "胡须:锚胡" #: lang/json/mutation_from_json.py msgid "" "You have a moustache and a beard starting with a strip going down from the " -"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus " -"the name." +"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus" +" the name." msgstr "你有一个小胡子,胡须从下唇开始,沿着下颚线向下延伸。它看起来有点像一个锚,因此得名。" #: lang/json/mutation_from_json.py @@ -103743,7 +108088,7 @@ msgstr "胡须:短箱式胡" #. ~ Description for Facial hair: short boxed beard #: lang/json/mutation_from_json.py msgid "" -"You have a moustache and a short beard with trimmed sides. Thin patches " +"You have a moustache and a short beard with trimmed sides. Thin patches " "connect them both, forming a 'box' around the lips, thus the name." msgstr "你留着小胡子和短胡须,旁边修剪过。薄胡茬将两者连接起来,在嘴唇周围形成一个\"盒子\",因此得名。" @@ -103866,9 +108211,9 @@ msgstr "胡须:垂颈胡" #. ~ Description for Facial hair: neckbeard #: lang/json/mutation_from_json.py msgid "" -"You have a beard formed from hair grown on neck below the chin line. No " +"You have a beard formed from hair grown on neck below the chin line. No " "moustache included." -msgstr "你的胡须是由脖子上的头发在下巴线以下形成的。不包括胡子。" +msgstr "你留着下巴到脖子之间的胡须,但是没有小胡子。" #: lang/json/mutation_from_json.py msgid "Facial hair: pencil moustache" @@ -103969,6 +108314,27 @@ msgid "" "footing." msgstr "你的腿部肌肉与协调能力更加出色,可以比别人走、跑得更快,俗称\"健步如飞\"。你步行的速度增加15%。" +#: lang/json/mutation_from_json.py +msgid "Weak Photophore" +msgstr "弱发光器" + +#. ~ Description for Weak Photophore +#: lang/json/mutation_from_json.py +msgid "" +"A photophore has grown from your head, you can make it glow soflty. This " +"will make you very visible in the dark, ideal to attract a partner during " +"mating season." +msgstr "从你的额头上长出一个发光器官,你可以使它发出微光。这将使你在黑暗中非常明显,很适合在交配季节吸引伴侣。" + +#: lang/json/mutation_from_json.py +msgid "Photophore" +msgstr "发光器" + +#. ~ Description for Photophore +#: lang/json/mutation_from_json.py +msgid "Your can make your photophore glow brightly." +msgstr "你额头上的发光器官现在能发出强光。" + #: lang/json/mutation_from_json.py msgid "Good Hearing" msgstr "听觉发达" @@ -104440,11 +108806,11 @@ msgstr "兴奋剂精神病" #. ~ Description for Stimulant Psychosis #: lang/json/mutation_from_json.py msgid "" -"You have a unique history with stimulants (like coffee or amphetamines). You" -" can tolerate a lot more of them without overdosing, but if you indulge too " -"much, you start seeing things..." +"You have a unique history with stimulants (like coffee or amphetamines). " +"You can tolerate a lot more of them without overdosing, but if you indulge " +"too much, you start seeing things…" msgstr "" -"你和兴奋剂(如咖啡因或安非他明)之间有过一段独特的经历。你比普通人能够承受更高剂量的兴奋剂而不过量,但如果你吸入过多,你开始看见一些奇怪的事情发生……" +"你有着一段关于兴奋剂(如咖啡因或安非他明)的独特经历。你比普通人能够承受更高剂量的兴奋剂而不过量,但如果你摄入过多兴奋剂,你会开始看见奇怪的事情发生……" #. ~ Description for Stylish #: lang/json/mutation_from_json.py @@ -104575,10 +108941,23 @@ msgstr "剑术师" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-" -"Ryu, Pentjak Silat, or Sōjutsu." +"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-Ryu," +" Pentjak Silat, or Sōjutsu." msgstr "你曾经接受过一套近身武器训练。你在开始的时候可以选择菲律宾剑棍术、击剑术、战斗之花、中世纪剑术、二天一流剑术、班卡苏拉刀术或日本枪术之一。" +#: lang/json/mutation_from_json.py +msgid "Competitive Fencer" +msgstr "竞技击剑运动员" + +#. ~ Description for Competitive Fencer +#: lang/json/mutation_from_json.py +msgid "" +"You were an avid fencer, starting with foil and moving onto saber, then " +"épée. You competed nationally and dabbled with some of the historical " +"fencing weapons afforded by HEMA's popularity." +msgstr "" +"你是一个狂热的击剑运动员,从花剑开始,然后进入佩剑,最后是重剑。你参加了全国比赛,还接触了欧洲历史武术流行所提供的一些历史上的传统击剑武器。" + #: lang/json/mutation_from_json.py msgid "Weak Scent" msgstr "体味微弱" @@ -105305,8 +109684,8 @@ msgstr "精灵之眼" #. ~ Description for Fey Eyes #: lang/json/mutation_from_json.py msgid "" -"Your eyes have turned...green. It's tough to tell the exact shade as it " -"seems to shift. The effect is ...pleasant." +"Your eyes have turned… green. It's tough to tell the exact shade as it " +"seems to shift. The effect is… pleasant." msgstr "你的眼睛发生了变异,眼睛颜色变成了莹绿色。瞳孔似乎在不断地转动,你很难描述出它的形状,这效果棒极了。" #: lang/json/mutation_from_json.py @@ -106084,8 +110463,8 @@ msgstr "马洛斯携带者" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss berry, you can't get its scent out of your " -"nose, and you have a strong desire to try some seeds and...sap?" -msgstr "自从你吃了马洛斯变异莓后,你永远无法忘怀它的气味,你十分想再吃一次,或者去试试种子和……蜜浆?" +"nose, and you have a strong desire to try some seeds and… sap?" +msgstr "自从你吃了马洛斯变异莓后,你始终无法忘怀它的气味,你十分想再吃一次,或者去试试种子和……蜜浆?" #: lang/json/mutation_from_json.py msgid "Marloss Vessel" @@ -106095,8 +110474,8 @@ msgstr "马洛斯化身" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss seed, you can't get its taste off of your " -"tongue, and you have a strong desire to try some berries and...sap?" -msgstr "自从你吃了马洛斯种子后,你永远无法忘怀它的味道,你十分想再吃一次,或者去试试变异莓和……蜜浆?" +"tongue, and you have a strong desire to try some berries and… sap?" +msgstr "自从你吃了马洛斯种子后,你始终无法忘怀它的味道,你十分想再吃一次,或者去试试变异莓和……蜜浆?" #: lang/json/mutation_from_json.py msgid "Marloss Vector" @@ -106487,8 +110866,8 @@ msgstr "刃牙" #: lang/json/mutation_from_json.py msgid "" "Your fangs have grown extremely large and incredibly sharp. They make it " -"impossible to wear mouthgear and difficult to eat... but leave nasty wounds" -" when you bite." +"impossible to wear mouthgear and difficult to eat… but leave nasty wounds " +"when you bite." msgstr "你的牙又长又尖,以至于你不能带口罩,吃东西也很不方便……不过你的尖牙在咬人会留下可怕的伤口。" #: lang/json/mutation_from_json.py @@ -107722,9 +112101,9 @@ msgstr "猪鼻子" #. ~ Description for Snout #: lang/json/mutation_from_json.py msgid "" -"Your face and jaw have begun...changing. Masks and such fit OK, but you're " +"Your face and jaw have begun… changing. Masks and such fit OK, but you're " "noticeably mutated." -msgstr "你的脸和下巴发生了变化,你的鼻子变的像猪鼻子一样,带个口罩还是可以的。" +msgstr "你的脸和下巴发生了……变化。你仍然可以戴上面具一类的东西,但是你的变异已经十分明显。" #: lang/json/mutation_from_json.py msgid "Bovine Snout" @@ -108467,13 +112846,14 @@ msgstr "变温动物" #. ~ Description for Ectothermic #: lang/json/mutation_from_json.py +#, no-python-format msgid "" -"Your body has become permanently cold-blooded. Your speed lowers--or raises" -"--for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to " -"eat half as much as an average human." +"Your body has become permanently cold-blooded. Your speed lowers or raises " +"1% for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to" +" eat half as much as an average human." msgstr "" -"你完全变异为冷血动物。你的速度在低于/高于18.3℃ " -"(65F)时,按照每1.1℃(2F)一档降低/提高。但你缓慢的新陈代谢能够帮助你减少食物消耗,只需要普通人食量的一半。" +"你已经完全变异为冷血动物。在温度低于/高于18.3℃(65F)时,每 1.1℃(2F)的变化会使你的速度降低/提高 " +"1%。但你缓慢的新陈代谢能够帮助你减少食物消耗,只需要普通人食量的一半。" #: lang/json/mutation_from_json.py msgid "Growling Voice" @@ -108761,8 +113141,8 @@ msgstr "文明崩溃?太棒了!你和你的亲属将永远不用再担心屠 #: lang/json/mutation_from_json.py msgid "" "It would be good to be a Queen, having workers constantly servicing your " -"every need...but how would you keep them in line?" -msgstr "成为皇后,让无数仆人服侍你的感觉非常好……但怎样让它们排好队呢?" +"every need… but how would you keep them in line?" +msgstr "要是你能够成为王虫,让其它虫子每时每刻服侍着你,不是很好吗……但是怎样才能让虫群顺从呢?" #. ~ Description for Plant #: lang/json/mutation_from_json.py @@ -108778,9 +113158,9 @@ msgstr "液态人" #. ~ Description for Aqueous #: lang/json/mutation_from_json.py msgid "" -"What was that old advertisement, 'paint the planet'? That might be a good " -"long-term goal, but for now..." -msgstr "看看那句古老的宣传口号,\"改造地球,支配地球\",真是一个远大的目标啊,不过现在嘛……" +"What was that old advertisement, 'paint the planet'? That might be a good " +"long-term goal, but for now…" +msgstr "以前有个宣传是怎么说的,\"绿色地球\"?听起来是个不错的远大目标,不过现在嘛……" #: lang/json/mutation_from_json.py msgid "Subterranean" @@ -109457,6 +113837,17 @@ msgid "" "Keep. Moving." msgstr "在熟悉的地方待一秒钟都让你感到痛苦不堪。必须!保持!移动!" +#: lang/json/mutation_from_json.py +msgid "Wayfarer" +msgstr "徒步旅行者" + +#. ~ Description for Wayfarer +#: lang/json/mutation_from_json.py +msgid "" +"Whether from personal choice or childhood trauma, travelling with vehicles " +"is off-limits to you, even if your life depended on it." +msgstr "无论是出于个人选择还是童年阴影,你不愿驾驶载具,就算事关生死也不能接受。" + #: lang/json/mutation_from_json.py msgid "Survivor Story" msgstr "幸存者故事" @@ -110121,7 +114512,7 @@ msgid "" "powers gross and disturbing, but no one can question the potency of their " "abilities, and certainly not their adaptability to any situation." msgstr "" -"生化术士着重于操纵甚至吸收自己的肉体,以及其他活物或者死尸。大多数巫师认为他们的法术令人恶心与不安,但没人敢质疑它们的威力,当然也没有人敢质疑他们对各种情况的适应力。" +"生化术士着重于操纵甚至吸收自己的肉体,以及其他活物或者死尸。大多数魔法师认为他们的法术令人恶心与不安,但没人敢质疑它们的威力,当然也没有人敢质疑他们对各种情况的适应力。" #: lang/json/mutation_from_json.py msgid "Druid" @@ -110395,14 +114786,14 @@ msgstr "马洛斯之声" #: lang/json/npc_class_from_json.py msgid "I spread the Hymns so that peace and unity return to our world." -msgstr "吾辈传播圣歌,使吾辈之世界回归合而为一。" +msgstr "吾辈传播圣歌,使吾辈之世界回归生而为一。" #: lang/json/npc_class_from_json.py msgid "Scientist" msgstr "科学家" #: lang/json/npc_class_from_json.py -msgid "I'm looking for clues concerning these monsters' origins..." +msgid "I'm looking for clues concerning these monsters' origins…" msgstr "我在找关于这些怪物起源的线索……" #: lang/json/npc_class_from_json.py @@ -110466,7 +114857,7 @@ msgid "Real Person" msgstr "真人" #: lang/json/npc_class_from_json.py -msgid "I'm just wandering, like a totally real and normal NP... Person!" +msgid "I'm just wandering, like a totally real and normal NP… Person!" msgstr "我只是在徘徊,就像一个完全真实和正常的NP……人!" #: lang/json/npc_class_from_json.py @@ -110482,7 +114873,7 @@ msgid "Foodperson" msgstr "美食家" #: lang/json/npc_class_from_json.py -msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" +msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" msgstr "我是美食家,我带来了食物!" #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py @@ -110490,8 +114881,8 @@ msgid "Cyborg" msgstr "改造人" #: lang/json/npc_class_from_json.py -msgid "Zzzzzt... I...I'm a Cy...BEEEEEP...borg." -msgstr "(滋滋滋)我…我是一个…改…造造造…人。" +msgid "Zzzzzt… I… I'm a Cy… BEEEEEP… borg." +msgstr "滋滋滋……我…我是一个…改…造造造…人。" #: lang/json/npc_class_from_json.py msgid "former cop" @@ -110630,6 +115021,18 @@ msgstr "商队老板" msgid "I'm the owner of a trade caravan." msgstr "我是商队的老板。" +#: lang/json/npc_class_from_json.py +msgid "Operator" +msgstr "特种兵" + +#: lang/json/npc_class_from_json.py +msgid "Mage Test" +msgstr "魔法测试员" + +#: lang/json/npc_class_from_json.py +msgid "I'm a wandering debug tester for the arcane arts." +msgstr "我是个流浪的魔法测试员。" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -112168,9 +116571,21 @@ msgstr "乐器店" msgid "music store roof" msgstr "乐器店(屋顶)" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore parking lot" +msgstr "购物广场(停车场)" + #: lang/json/overmap_terrain_from_json.py msgid "megastore" -msgstr "大型购物广场" +msgstr "购物广场" + +#: lang/json/overmap_terrain_from_json.py +msgid "megastore, second floor" +msgstr "购物广场(二楼)" + +#: lang/json/overmap_terrain_from_json.py +msgid "megastore roof" +msgstr "购物广场(屋顶)" #: lang/json/overmap_terrain_from_json.py msgid "hotel parking" @@ -112524,7 +116939,7 @@ msgstr "农场选址" msgid "garage survey" msgstr "车库选址" -#: lang/json/overmap_terrain_from_json.py +#: lang/json/overmap_terrain_from_json.py lang/json/recipe_from_json.py msgid "kitchen survey" msgstr "厨房选址" @@ -112545,8 +116960,8 @@ msgid "spiked trench" msgstr "尖刺堑壕" #: lang/json/overmap_terrain_from_json.py -msgid "store survey" -msgstr "储物间选址" +msgid "fabrication workshop survey" +msgstr "工坊选址" #: lang/json/overmap_terrain_from_json.py msgid "blacksmith survey" @@ -112560,6 +116975,18 @@ msgstr "铁匠铺" msgid "livestock survey" msgstr "牧场选址" +#: lang/json/overmap_terrain_from_json.py +msgid "store house survey" +msgstr "储物间选址" + +#: lang/json/overmap_terrain_from_json.py +msgid "saltworks survey" +msgstr "盐场选址" + +#: lang/json/overmap_terrain_from_json.py +msgid "canteen survey" +msgstr "食堂选址" + #: lang/json/overmap_terrain_from_json.py msgid "crater" msgstr "弹坑" @@ -113241,6 +117668,10 @@ msgstr "射击场" msgid "shooting range roof" msgstr "射击场(屋顶)" +#: lang/json/overmap_terrain_from_json.py +msgid "miniature railway" +msgstr "微缩铁路" + #: lang/json/overmap_terrain_from_json.py msgid "golf course" msgstr "高尔夫球场" @@ -113931,6 +118362,10 @@ msgstr "公共图书馆(二楼)" msgid "mechanics garage" msgstr "机械师车库" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore entrance" +msgstr "购物广场(入口)" + #: lang/json/overmap_terrain_from_json.py msgid "sewage treatment" msgstr "污水处理站" @@ -113975,10 +118410,6 @@ msgstr "废弃小屋(露天广场)" msgid "desert" msgstr "沙漠" -#: lang/json/overmap_terrain_from_json.py -msgid "megastore roof" -msgstr "购物广场(屋顶)" - #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Vagabond" @@ -118141,6 +122572,38 @@ msgid "" msgstr "" "你是城里一道怪异的风景,常常梳着滑稽的发型,总是穿着某种浴衣。有人说你是降临的日本神灵,你不太关心那些。问题是上周杂货店停业,现在连电视都打不开,这就让你很不开心了。" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Competetive Fencer" +msgstr "竞技击剑运动员" + +#. ~ Profession (male Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" +"你是个热衷于击剑运动的运动员,总是在当地的俱乐部练习,参加各种锦标赛。当世界末日来临的时候,你正准备去俱乐部玩几次呢。现在你将面对自己生涯中最重要的一次锦标赛,不过裁判都是死人,而你的对手也不会遵守任何规则。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Competetive Fencer" +msgstr "竞技击剑运动员" + +#. ~ Profession (female Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" +"你是个热衷于击剑运动的运动员,总是在当地的俱乐部练习,参加各种锦标赛。当世界末日来临的时候,你正准备去俱乐部玩几次呢。现在你将面对自己生涯中最重要的一次锦标赛,不过裁判都是死人,而你的对手也不会遵守任何规则。" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Career Politician" @@ -119219,6 +123682,248 @@ msgid "" msgstr "" "你在新英格兰的基地已经在大灾变时的极端猛攻中沦陷。然而,作为研发部门的一名顶级研究员,你选择了逐渐将自己变异成超越人体的新生物。调配出的药虽然还不完善,但它让你年老体弱的身体充满了力量。用你现在所拥有的新肉体,用你的獠牙,战斗到天明。" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Rifleman" +msgstr "步兵" + +#. ~ Profession (male Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "前线步兵,前线步兵,前线步兵,前线步兵。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Rifleman" +msgstr "步兵" + +#. ~ Profession (female Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "前线步兵,前线步兵,前线步兵,前线步兵。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Marksman" +msgstr "狙击手" + +#. ~ Profession (male Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "你以为你是狙击手,其实你只是有把大枪的步兵。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Marksman" +msgstr "狙击手" + +#. ~ Profession (female Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "你以为你是狙击手,其实你只是有把大枪的步兵。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Automatic Rifleman" +msgstr "自动步枪兵" + +#. ~ Profession (male Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "S stands for suppressing fire!" +msgstr "火力压制!" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Automatic Rifleman" +msgstr "自动步枪兵" + +#. ~ Profession (female Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "S stands for suppressing fire!" +msgstr "火力压制!" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Grenadier" +msgstr "掷弹兵" + +#. ~ Profession (male Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "There's no kill like overkill." +msgstr "爆炸就是艺术。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Grenadier" +msgstr "掷弹兵" + +#. ~ Profession (female Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "There's no kill like overkill." +msgstr "爆炸就是艺术。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Breacher" +msgstr "破障兵" + +#. ~ Profession (male Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "全世界的门窗都不敢提起你的名字。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Breacher" +msgstr "破障兵" + +#. ~ Profession (female Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "全世界的门窗都不敢提起你的名字。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Recon" +msgstr "特种侦察兵" + +#. ~ Profession (male Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "The only easy day was yesterday." +msgstr "只有昨天是最容易的。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Recon" +msgstr "特种侦察兵" + +#. ~ Profession (female Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "The only easy day was yesterday." +msgstr "只有昨天是最容易的。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Sniper" +msgstr "特种狙击手" + +#. ~ Profession (male Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "你花了好几天和一个敌对狙击手斗智斗勇,而他却突然……死了。然后他又\"活\"了。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Sniper" +msgstr "特种狙击手" + +#. ~ Profession (female Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "你花了好几天和一个敌对狙击手斗智斗勇,而他却突然……死了。然后他又\"活\"了。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Hacker" +msgstr "特种兵黑客" + +#. ~ Profession (male Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "你坚持自己不是黑客,而是\"电子战专家\"。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Hacker" +msgstr "特种兵黑客" + +#. ~ Profession (female Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "你坚持自己不是黑客,而是\"电子战专家\"。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Undercover" +msgstr "特种兵卧底" + +#. ~ Profession (male Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "你已经监视你的目标数月,而他现在却变成了丧尸。真是有用的线索。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Undercover" +msgstr "特种兵卧底" + +#. ~ Profession (female Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "你已经监视你的目标数月,而他现在却变成了丧尸。真是有用的线索。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator CBRN" +msgstr "核生化特种兵" + +#. ~ Profession (male Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "化学武器?打勾。生化疫情?打勾。核战争?打勾。看来你找对工作了!" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator CBRN" +msgstr "核生化特种兵" + +#. ~ Profession (female Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "化学武器?打勾。生化疫情?打勾。核战争?打勾。看来你找对工作了!" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Rookie" @@ -119463,7 +124168,7 @@ msgid "" "You always had to hide your magic, as it was generally not an acceptable " "type of magic in the wizarding world, but with the cataclysm you need to " "pull every trick out of the book." -msgstr "你以前总是不得不隐藏自己的魔法,因为它在巫师世界中不被大多数人所接受,但现在面对大灾变时,你需要使出浑身解数利用好每一个法术。" +msgstr "你以前总是不得不隐藏自己的魔法,因为它在魔法师世界中不被大多数人所接受,但现在面对大灾变时,你需要使出浑身解数利用好每一个法术。" #: lang/json/professions_from_json.py msgctxt "profession_female" @@ -119477,7 +124182,7 @@ msgid "" "You always had to hide your magic, as it was generally not an acceptable " "type of magic in the wizarding world, but with the cataclysm you need to " "pull every trick out of the book." -msgstr "你以前总是不得不隐藏自己的魔法,因为它在巫师世界中不被大多数人所接受,但现在面对大灾变时,你需要使出浑身解数利用好每一个法术。" +msgstr "你以前总是不得不隐藏自己的魔法,因为它在魔法师世界中不被大多数人所接受,但现在面对大灾变时,你需要使出浑身解数利用好每一个法术。" #: lang/json/professions_from_json.py msgctxt "profession_male" @@ -120032,7 +124737,7 @@ msgctxt "prof_desc_male" msgid "" "A wise student of ancient and forbidden knowledge; you are a wizard, a " "mystical practitioner of the (bionic) arcane arts." -msgstr "古代禁忌知识来者不拒的好学生;你就是巫师,秘法的操控者。" +msgstr "古代禁忌知识来者不拒的好学生;你就是魔法师,秘法的操控者。" #: lang/json/professions_from_json.py msgctxt "profession_female" @@ -120045,7 +124750,7 @@ msgctxt "prof_desc_female" msgid "" "A wise student of ancient and forbidden knowledge; you are a wizard, a " "mystical practitioner of the (bionic) arcane arts." -msgstr "古代禁忌知识来者不拒的好学生;你就是巫师,秘法的操控者。" +msgstr "古代禁忌知识来者不拒的好学生;你就是魔法师,秘法的操控者。" #: lang/json/professions_from_json.py msgctxt "profession_male" @@ -120859,16 +125564,6 @@ msgstr "马铠" msgid "BUILDING" msgstr "建筑" -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "BASES" -msgstr "营地" - -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "EXPANSIONS" -msgstr "扩展区" - #. ~ Crafting recipes category name #: lang/json/recipe_category_from_json.py msgid "ENCHANTED" @@ -121818,7 +126513,7 @@ msgstr "准备厨房区" #: lang/json/recipe_from_json.py msgid "" -"We should build a well, put it near that winch. This will make our future " +"We should build a well, put it near that winch. This will make our future " "here more secure." msgstr "我们应该在绞盘附近打一口井。这将使我们未来在这里更加安全。" @@ -121875,7 +126570,7 @@ msgstr "建造壁炉" #: lang/json/recipe_from_json.py msgid "" "Now that we have some cover, we should set up a brazier for cooking, and " -"grab a pot. Let's put it in that dining area." +"grab a pot. Let's put it in that dining area." msgstr "既然我们有了庇护所,我们应该搭建一个火盆来做饭,还需要拿一个锅。让我们把它放在就餐区。" #: lang/json/recipe_from_json.py @@ -122519,6 +127214,360 @@ msgstr "一台蒸汽动力式落锤机将消耗木炭来大大提高生产速度 msgid "Blacksmithy drop hammer" msgstr "铁匠铺落锤" +#: lang/json/recipe_from_json.py +msgid "Survey land for a kitchen and dining area." +msgstr "为修建就餐区勘测土地。" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 fireplaces for cooking and " +"grab a pot." +msgstr "既然我们有了庇护所,我们应该搭建两个壁炉来做饭,还需要拿一个锅。" + +#: lang/json/recipe_from_json.py +msgid "build 2 fireplaces" +msgstr "建造两个壁炉" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 stoves for cooking and grab a" +" pot." +msgstr "既然我们有了庇护所,我们应该搭建两个火炉来做饭,还需要拿一个锅。" + +#: lang/json/recipe_from_json.py +msgid "build 2 wood stoves" +msgstr "建造两个火炉" + +#: lang/json/recipe_from_json.py +msgid "We should build a well. This will make cooking more convenient." +msgstr "我们应该打一口井。这将使烹饪更加便捷。" + +#: lang/json/recipe_from_json.py +msgid "Lets build some counters and shelves." +msgstr "让我们建造一些柜台和货架。" + +#: lang/json/recipe_from_json.py +msgid "build kitchen counters" +msgstr "建造厨房柜台" + +#: lang/json/recipe_from_json.py +msgid "build 3 smoking racks and a charcoal kiln" +msgstr "建造三个烟熏架和炭窑" + +#: lang/json/recipe_from_json.py +msgid "Lets furnish the pantry and build 2 root cellars." +msgstr "我们来布置一下储藏室并建造两个储藏地窖吧。" + +#: lang/json/recipe_from_json.py +msgid "furnish the pantry" +msgstr "布置储藏室" + +#: lang/json/recipe_from_json.py +msgid "Let's make some furniture for the dining hall." +msgstr "让我们不知一下餐厅吧。" + +#: lang/json/recipe_from_json.py +msgid "furnish the dining room" +msgstr "布置餐厅" + +#: lang/json/recipe_from_json.py +msgid "Let's build some planters to the north for a chef's garden." +msgstr "我们在北边盖些菜园吧。" + +#: lang/json/recipe_from_json.py +msgid "build some planters" +msgstr "建造菜园" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen log walls." +msgstr "让我们开始建造中央厨房的原木墙。" + +#: lang/json/recipe_from_json.py +msgid "build the log wall central kitchen room" +msgstr "建造中央厨房原木墙" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen log walls." +msgstr "让我们完成中央厨房的原木墙。" + +#: lang/json/recipe_from_json.py +msgid "finish the log wall central kitchen room" +msgstr "完成中央厨房原木墙" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this log wall smoking area covered to protect the workers from the " +"weather." +msgstr "让我们用原木墙把烟熏区围起来,保护工人不受天气影响。" + +#: lang/json/recipe_from_json.py +msgid "build a log wall roofed area for smoking racks" +msgstr "建造烟熏区原木墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build a log wall pantry west of the kitchen." +msgstr "让我们在厨房的西边建一间原木墙储藏室。" + +#: lang/json/recipe_from_json.py +msgid "build a log wall pantry" +msgstr "建造储藏室原木墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west log wall of the dining hall." +msgstr "让我们在餐厅的西边建一面原木墙。" + +#: lang/json/recipe_from_json.py +msgid "build W log wall" +msgstr "建造西侧原木墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east log wall of the dining hall." +msgstr "让我们在餐厅的东边建一面原木墙。" + +#: lang/json/recipe_from_json.py +msgid "build E log wall" +msgstr "建造东侧原木墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the log wall dining hall." +msgstr "让我们在餐厅的中心建一面原木墙。" + +#: lang/json/recipe_from_json.py +msgid "build center of the log wall dining hall" +msgstr "建造餐厅中央原木墙" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen metal walls." +msgstr "让我们开始建造中央厨房的金属墙。" + +#: lang/json/recipe_from_json.py +msgid "build the metal wall central kitchen room" +msgstr "建造中央厨房金属墙" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen metal walls." +msgstr "让我们完成中央厨房的金属墙。" + +#: lang/json/recipe_from_json.py +msgid "finish the metal wall central kitchen room" +msgstr "完成中央厨房金属墙" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this metal wall smoking area covered to protect the workers from " +"the weather." +msgstr "让我们用金属墙把烟熏区围起来,保护工人不受天气影响。" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall roofed area for smoking racks" +msgstr "建造烟熏区金属墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build a metal wall pantry west of the kitchen." +msgstr "让我们在厨房的西边建一间金属墙储藏室。" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall pantry" +msgstr "建造储藏室金属墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west metal wall of the dining hall." +msgstr "让我们在餐厅的西边建一面金属墙。" + +#: lang/json/recipe_from_json.py +msgid "build W metal wall" +msgstr "建造西侧金属墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east metal wall of the dining hall." +msgstr "让我们在餐厅的东边建一面金属墙。" + +#: lang/json/recipe_from_json.py +msgid "build E metal wall" +msgstr "建造东侧金属墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the metal wall dining hall." +msgstr "让我们在餐厅的中心建一面金属墙。" + +#: lang/json/recipe_from_json.py +msgid "build center of the metal wall dining hall" +msgstr "建造餐厅中央金属墙" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen rock walls." +msgstr "让我们开始建造中央厨房的石墙。" + +#: lang/json/recipe_from_json.py +msgid "build the central kitchen room" +msgstr "建造中央厨房石墙" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen rock walls." +msgstr "让我们完成中央厨房的石墙。" + +#: lang/json/recipe_from_json.py +msgid "finish the rock wall central kitchen room" +msgstr "完成中央厨房石墙" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this rock wall smoking area covered to protect the workers from the" +" weather." +msgstr "让我们用石墙把烟熏区围起来,保护工人不受天气影响。" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall roofed area for smoking racks" +msgstr "建造烟熏区石墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build a rock wall pantry west of the kitchen." +msgstr "让我们在厨房的西边建一间石墙储藏室。" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall pantry" +msgstr "建造储藏室石墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west rock wall of the rock wall dining hall." +msgstr "让我们在餐厅的西边建一面石墙。" + +#: lang/json/recipe_from_json.py +msgid "build W rock wall" +msgstr "建造西侧石墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east rock wall of the rock wall dining hall." +msgstr "让我们在餐厅的东边建一面石墙。" + +#: lang/json/recipe_from_json.py +msgid "build E rock wall" +msgstr "建造东侧石墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the rock wall dining hall." +msgstr "让我们在餐厅的中心建一面石墙。" + +#: lang/json/recipe_from_json.py +msgid "build center of the rock dining hall" +msgstr "建造餐厅中央石墙" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wattle and daub walls." +msgstr "让我们开始建造中央厨房的木骨泥墙。" + +#: lang/json/recipe_from_json.py +msgid "build the wattle and daub central kitchen room" +msgstr "建造中央厨房木骨泥墙" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wattle and daub walls." +msgstr "让我们完成中央厨房的木骨泥墙。" + +#: lang/json/recipe_from_json.py +msgid "finish the wattle and daub central kitchen room" +msgstr "完成中央厨房木骨泥墙" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wattle and daub smoking area covered to protect the workers " +"from the weather." +msgstr "让我们用木骨泥墙把烟熏区围起来,保护工人不受天气影响。" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub roofed area for smoking racks" +msgstr "建造烟熏区木骨泥墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wattle and daub wall pantry west of the kitchen." +msgstr "让我们在厨房的西边建一间木骨泥墙储藏室。" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub pantry" +msgstr "建造储藏室木骨泥墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wattle and daub wall of the dining hall." +msgstr "让我们在餐厅的西边建一面木骨泥墙。" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub wall" +msgstr "建造西侧木骨泥墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wattle and daub wall of the dining hall." +msgstr "让我们在餐厅的东边建一面木骨泥墙。" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub wall" +msgstr "建造东侧木骨泥墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wattle and daub dining hall." +msgstr "让我们在餐厅的中心建一面木骨泥墙。" + +#: lang/json/recipe_from_json.py +msgid "build center of the wattle and daub dining hall" +msgstr "建造餐厅中央木骨泥墙" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wood panel walls." +msgstr "让我们开始建造中央厨房的木板墙。" + +#: lang/json/recipe_from_json.py +msgid "build the wood panel central kitchen room" +msgstr "建造中央厨房木板墙" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wood panel walls." +msgstr "让我们完成中央厨房的木板墙。" + +#: lang/json/recipe_from_json.py +msgid "finish the wood panel central kitchen room" +msgstr "完成中央厨房木板墙" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wood panel smoking area covered to protect the workers from " +"the weather." +msgstr "让我们用木板墙把烟熏区围起来,保护工人不受天气影响。" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel roofed area for smoking racks" +msgstr "建造烟熏区木板墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wood panel pantry west of the kitchen." +msgstr "让我们在厨房的西边建一间木板墙储藏室。" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel pantry" +msgstr "建造储藏室木板墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wood panel wall of the dining hall." +msgstr "让我们在餐厅的西边建一面木板墙。" + +#: lang/json/recipe_from_json.py +msgid "build W wood wall" +msgstr "建造西侧木板墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wood panel wall of the dining hall." +msgstr "让我们在餐厅的东边建一面木板墙。" + +#: lang/json/recipe_from_json.py +msgid "build E wood wall" +msgstr "建造东侧木板墙" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wood panel dining hall." +msgstr "让我们在餐厅的中心建一面木板墙。" + +#: lang/json/recipe_from_json.py +msgid "build center of the dining hall" +msgstr "建造餐厅中央木板墙" + #: lang/json/recipe_from_json.py msgid "Survey land for a livestock area." msgstr "为修建牧场勘测土地。" @@ -122687,6 +127736,424 @@ msgid "" " a roof on the southwest side of the livestock field." msgstr "我们需要一个马厩来养更大的牲畜,所以请在牧场西南侧建造一间带屋顶的木板小屋。" +#: lang/json/recipe_from_json.py +msgid "Survey land for a saltworks area." +msgstr "为修建盐场勘测土地。" + +#: lang/json/recipe_from_json.py +msgid "Saltworks survey" +msgstr "盐场选址" + +#: lang/json/recipe_from_json.py +msgid "" +"We could uprade the workspace in the brewery to add a still, wood stove and " +"work table." +msgstr "我们可以升级酿酒厂的工作区,增加蒸馏器,火炉以及工作台。" + +#: lang/json/recipe_from_json.py +msgid "SW brewery still" +msgstr "西南酿酒厂蒸馏器" + +#: lang/json/recipe_from_json.py +msgid "We could use fill out the space with extra kegs and storage racks." +msgstr "我们可以用一些酒桶和储物架填满剩余的空间。" + +#: lang/json/recipe_from_json.py +msgid "SW brewery kegs" +msgstr "西南酿酒厂酒桶" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a log building." +msgstr "我们可以从附近的沼泽地调水,搭建一所原木小屋,创造稳定的食盐供应以满足我们的需求。" + +#: lang/json/recipe_from_json.py +msgid "NE log wall saltpan" +msgstr "东北原木墙盐田" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a log shack " +"with a roof on the southeast side of the saltworks field." +msgstr "我们需要一个储物间来储藏化学用品和工具,所以请在盐场东南侧建造一间带屋顶的原木小屋。" + +#: lang/json/recipe_from_json.py +msgid "SE log wall storage room" +msgstr "东南原木墙储物间" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a log " +"brewery." +msgstr "我们可以利用这块区域建造一所原木墙酿酒厂。" + +#: lang/json/recipe_from_json.py +msgid "SW log wall brewery" +msgstr "西南原木墙酿酒厂" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a metal shed." +msgstr "我们可以从附近的沼泽地调水,搭建一所金属棚屋,创造稳定的食盐供应以满足我们的需求。" + +#: lang/json/recipe_from_json.py +msgid "NE metal wall saltpan" +msgstr "东北金属墙盐田" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a metal shack " +"with a roof on the southeast side of the saltworks field." +msgstr "我们需要一个储物间来储藏化学用品和工具,所以请在盐场东南侧建造一间带屋顶的金属小屋。" + +#: lang/json/recipe_from_json.py +msgid "SE metal wall storage room" +msgstr "东南金属墙储物间" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a metal" +" wall brewery." +msgstr "我们可以利用这块区域建造一所金属墙酿酒厂。" + +#: lang/json/recipe_from_json.py +msgid "SW metal wall brewery" +msgstr "西南金属墙酿酒厂" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a stone building." +msgstr "我们可以从附近的沼泽地调水,搭建一所石头小屋,创造稳定的食盐供应以满足我们的需求。" + +#: lang/json/recipe_from_json.py +msgid "NE stone wall saltpan" +msgstr "东北石头墙盐田" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a stone wall " +"shack with a roof on the southeast side of the saltworks field." +msgstr "我们需要一个储物间来储藏化学用品和工具,所以请在盐场东南侧建造一间带屋顶的石头小屋。" + +#: lang/json/recipe_from_json.py +msgid "SE stone wall storage room" +msgstr "东南石头墙储物间" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a stone" +" brewery." +msgstr "我们可以利用这块区域建造一所石头墙酿酒厂。" + +#: lang/json/recipe_from_json.py +msgid "SW stone wall brewery" +msgstr "西南石头墙酿酒厂" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in an adobe hut." +msgstr "我们可以从附近的沼泽地调水,搭建一所木骨泥屋,创造稳定的食盐供应以满足我们的需求。" + +#: lang/json/recipe_from_json.py +msgid "NE wattle and daub saltpan" +msgstr "东北木骨泥墙盐田" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build an adobe shack" +" with a roof on the southeast side of the saltworks field." +msgstr "我们需要一个储物间来储藏化学用品和工具,所以请在盐场东南侧建造一间带屋顶的木骨泥屋。" + +#: lang/json/recipe_from_json.py +msgid "SE wattle and daub storage room" +msgstr "东南木骨泥墙储物间" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build an " +"wattle and daub brewery." +msgstr "我们可以利用这块区域建造一所木骨泥墙酿酒厂。" + +#: lang/json/recipe_from_json.py +msgid "SW wattle and daub brewery" +msgstr "西南木骨泥墙酿酒厂" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a wooden shed." +msgstr "我们可以从附近的沼泽地调水,搭建一所木板小屋,创造稳定的食盐供应以满足我们的需求。" + +#: lang/json/recipe_from_json.py +msgid "NE wood panel saltpan" +msgstr "东北木板墙盐田" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a wood panel " +"shack with a roof on the southeast side of the saltworks field." +msgstr "我们需要一个储物间来储藏化学用品和工具,所以请在盐场东南侧建造一间带屋顶的木板小屋。" + +#: lang/json/recipe_from_json.py +msgid "SE wood panel storage room" +msgstr "东南木板墙储物间" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a " +"wooden brewery." +msgstr "我们可以利用这块区域建造一所木板墙酿酒厂。" + +#: lang/json/recipe_from_json.py +msgid "SW wood panel brewery" +msgstr "西南木板墙酿酒厂" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a fireplace for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "我们应该搭建一个壁炉来做饭,还需要拿一个锅。让我们把它放在工作台附近。" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a brazier for cooking and grab a pot. Let's set up near the" +" working terminal." +msgstr "我们应该搭建一个火盆来做饭,还需要拿一个锅。让我们把它放在工作台附近。" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a wood stove for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "我们应该搭建一个火炉来做饭,还需要拿一个锅。让我们把它放在工作台附近。" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a well, put it near the terminal. This will make our future" +" here more secure." +msgstr "我们应该在工作台附近打一口井。这将使我们未来在这里更加安全。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with regular beds." +msgstr "我们来用真正的床布置一下东南方向的卧室吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with regular beds." +msgstr "我们来用真正的床布置一下东方的卧室吧。" + +#: lang/json/recipe_from_json.py +msgid "furnish the E bedroom" +msgstr "布置东侧卧室" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with straw beds." +msgstr "我们来用稻草床布置一下东南方向的卧室吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with straw beds." +msgstr "我们来用稻草床布置一下东方的卧室吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with makeshift beds." +msgstr "我们来用简易床布置一下东南方向的卧室吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with makeshift beds." +msgstr "我们来用简易床布置一下东方的卧室吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with regular beds." +msgstr "我们来用真正的床布置一下西南方向的卧室吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with regular beds." +msgstr "我们来用真正的床布置一下西方的卧室吧。" + +#: lang/json/recipe_from_json.py +msgid "furnish the W bedroom" +msgstr "布置西侧卧室" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with regular beds." +msgstr "我们来用真正的床布置一下西北方向的卧室吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with straw beds." +msgstr "我们来用稻草床布置一下西南方向的卧室吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with straw beds." +msgstr "我们来用稻草床布置一下西方的卧室吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with straw beds." +msgstr "我们来用稻草床布置一下西北方向的卧室吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with makeshift beds." +msgstr "我们来用简易床布置一下西南方向的卧室吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with makeshift beds." +msgstr "我们来用简易床布置一下西方的卧室吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with makeshift beds." +msgstr "我们来用简易床布置一下西北向的卧室吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's make a dining area." +msgstr "让我们来建造一个餐厅把。" + +#: lang/json/recipe_from_json.py +msgid "Let's make a living room area." +msgstr "让我们来建造一个起居室把。" + +#: lang/json/recipe_from_json.py +msgid "furnish the living room" +msgstr "布置起居室" + +#: lang/json/recipe_from_json.py +msgid "Let's build some pantry storage." +msgstr "让我们建造一些储藏室货架。" + +#: lang/json/recipe_from_json.py +msgid "build some wooden racks" +msgstr "建造木架" + +#: lang/json/recipe_from_json.py +msgid "Let's build a work bench." +msgstr "让我们建造一个工作台。" + +#: lang/json/recipe_from_json.py +msgid "build a work bench" +msgstr "建造工作台" + +#: lang/json/recipe_from_json.py +msgid "Let's set up a radio tower to improve our recruitment efforts." +msgstr "让我们建立一个无线电发射塔来提升我们的招募能力。" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will start in the " +"southeast corner." +msgstr "让我们建一些生活区,这样我们就可以扩大规模了。我们从东南角开始。" + +#: lang/json/recipe_from_json.py +msgid "build SE log bedroom walls" +msgstr "建造东南卧室原木墙" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the same wall." +msgstr "让我们建一些生活区,这样我们就可以扩大规模了。继续沿着之前墙面建造。" + +#: lang/json/recipe_from_json.py +msgid "build E log bedroom walls" +msgstr "建造东侧卧室原木墙" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the other wall." +msgstr "让我们建一些生活区,这样我们就可以扩大规模了。继续沿着另一面墙建造。" + +#: lang/json/recipe_from_json.py +msgid "build SW log bedroom walls" +msgstr "建造西南卧室原木墙" + +#: lang/json/recipe_from_json.py +msgid "build W log bedroom walls" +msgstr "建造西侧卧室原木墙" + +#: lang/json/recipe_from_json.py +msgid "build NW log bedroom walls" +msgstr "建造西北卧室原木墙" + +#: lang/json/recipe_from_json.py +msgid "build SE rock bedroom walls" +msgstr "建造东南卧室石墙" + +#: lang/json/recipe_from_json.py +msgid "build E rock bedroom walls" +msgstr "建造东侧卧室石墙" + +#: lang/json/recipe_from_json.py +msgid "build SW rock bedroom walls" +msgstr "建造西南卧室石墙" + +#: lang/json/recipe_from_json.py +msgid "build W rock bedroom walls" +msgstr "建造西侧卧室石墙" + +#: lang/json/recipe_from_json.py +msgid "build NW rock bedroom walls" +msgstr "建造西北卧室石墙" + +#: lang/json/recipe_from_json.py +msgid "build SE standard bedroom walls" +msgstr "建造东南卧室标准墙" + +#: lang/json/recipe_from_json.py +msgid "build E standard bedroom walls" +msgstr "建造东侧卧室标准墙" + +#: lang/json/recipe_from_json.py +msgid "build SW standard bedroom walls" +msgstr "建造西南卧室标准墙" + +#: lang/json/recipe_from_json.py +msgid "build W standard bedroom walls" +msgstr "建造西侧卧室标准墙" + +#: lang/json/recipe_from_json.py +msgid "build NW standard bedroom walls" +msgstr "建造西北卧室标准墙" + +#: lang/json/recipe_from_json.py +msgid "build SE wattle and daub bedroom walls" +msgstr "建造东南卧室木骨泥墙" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub bedroom walls" +msgstr "建造东侧卧室木骨泥墙" + +#: lang/json/recipe_from_json.py +msgid "build SW wattle and daub bedroom walls" +msgstr "建造西南卧室木骨泥墙" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub bedroom walls" +msgstr "建造西侧卧室木骨泥墙" + +#: lang/json/recipe_from_json.py +msgid "build NW wattle and daub bedroom walls" +msgstr "建造西北卧室木骨泥墙" + +#: lang/json/recipe_from_json.py +msgid "build SE wood panel bedroom walls" +msgstr "建造东南卧室木板墙" + +#: lang/json/recipe_from_json.py +msgid "build E wood panel bedroom walls" +msgstr "建造东侧卧室木板墙" + +#: lang/json/recipe_from_json.py +msgid "build SW wood panel bedroom walls" +msgstr "建造西南卧室木板墙" + +#: lang/json/recipe_from_json.py +msgid "build W wood panel bedroom walls" +msgstr "建造西侧卧室木板墙" + +#: lang/json/recipe_from_json.py +msgid "build NW wood panel bedroom walls" +msgstr "建造西北卧室木板墙" + #: lang/json/recipe_from_json.py msgid "" "We could use a large log central storage building. Begin by building the " @@ -123023,7 +128490,7 @@ msgstr "桌子(中央)" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northwest." +"Some benches around the outside would be nice. Build some to the northwest." msgstr "在外面建一些长椅听起来挺好的,在西北侧建一些吧。" #: lang/json/recipe_from_json.py @@ -123032,7 +128499,7 @@ msgstr "长椅(西北)" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northeast." +"Some benches around the outside would be nice. Build some to the northeast." msgstr "在外面建一些长椅听起来挺好的,在东北侧建一些吧。" #: lang/json/recipe_from_json.py @@ -123041,7 +128508,7 @@ msgstr "长椅(东北)" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southeast." +"Some benches around the outside would be nice. Build some to the southeast." msgstr "在外面建一些长椅听起来挺好的,在东南侧建一些吧。" #: lang/json/recipe_from_json.py @@ -123050,7 +128517,7 @@ msgstr "长椅(东南)" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southwest." +"Some benches around the outside would be nice. Build some to the southwest." msgstr "在外面建一些长椅听起来挺好的,在西南侧建一些吧。" #: lang/json/recipe_from_json.py @@ -123268,6 +128735,10 @@ msgstr "野营营地" msgid "Firestation Base" msgstr "消防局基地" +#: lang/json/recipe_group_from_json.py +msgid "Evac Shelter Base" +msgstr "紧急避难所营地" + #: lang/json/recipe_group_from_json.py msgid "Farm" msgstr "农场" @@ -123277,8 +128748,8 @@ msgid "Garage" msgstr "车库" #: lang/json/recipe_group_from_json.py -msgid "Kitchen" -msgstr "厨房" +msgid "Canteen" +msgstr "餐厅" #: lang/json/recipe_group_from_json.py msgid "Livestock Area" @@ -123289,7 +128760,11 @@ msgid "Central Storage Building" msgstr "中央区仓库" #: lang/json/recipe_group_from_json.py -msgid "Fabrication workshop" +msgid "Saltworks Area" +msgstr "盐场区域" + +#: lang/json/recipe_group_from_json.py +msgid "Fabrication Workshop" msgstr "工坊" #: lang/json/recipe_group_from_json.py @@ -123420,6 +128895,10 @@ msgstr "烹饪:罐装肉" msgid " Cook: Meat Aspic" msgstr "烹饪:肉冻" +#: lang/json/recipe_group_from_json.py +msgid " Cook: Kompot" +msgstr "烹饪:糖水果肉" + #: lang/json/recipe_group_from_json.py msgid " Craft: Pointy Sticks" msgstr "制造:尖木棍" @@ -124103,7 +129582,7 @@ msgstr "陷入埋伏" #: lang/json/scenario_from_json.py msgctxt "scen_desc_male" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "现在是大灾变之后的第一个冬天。正当你在搜寻食物和一个能待的温暖点的地方时,你听见附近传来无数移动的声音。" @@ -124111,7 +129590,7 @@ msgstr "现在是大灾变之后的第一个冬天。正当你在搜寻食物和 #: lang/json/scenario_from_json.py msgctxt "scen_desc_female" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "现在是大灾变之后的第一个冬天。正当你在搜寻食物和一个能待的温暖点的地方时,你听见附近传来无数移动的声音。" @@ -124594,13 +130073,13 @@ msgstr "教堂" #: lang/json/scenario_from_json.py msgctxt "scenario_male" msgid "The Wizard's Apprentice" -msgstr "巫师学徒" +msgstr "魔法师学徒" #. ~ Name for scenario 'The Wizard's Apprentice' for a female character #: lang/json/scenario_from_json.py msgctxt "scenario_female" msgid "The Wizard's Apprentice" -msgstr "巫师学徒" +msgstr "魔法师学徒" #. ~ Description for scenario 'The Wizard's Apprentice' for a male character. #: lang/json/scenario_from_json.py @@ -124612,7 +130091,7 @@ msgid "" "teleported his insides into his outsides. Now you have to figure out how to" " survive on your own. At least he left his notebook..." msgstr "" -"你现在已经是一个巫师的学徒一段时间了,正在研制一种可以用来逃离大灾变的原型设备。不过,处女航出了点问题,你的老师把他的内脏传送到了体外。现在你要想办法靠自己生存。至少他忘了把笔记本带上……" +"自从你成为一名魔法师的学徒已经有一段时间了,正在研制一种可以用来逃离大灾变的原型设备。不过,处女航出了点问题,你的老师把他的内脏传送到了体外。现在你要想办法靠自己生存。至少他忘了把笔记本带上……" #. ~ Description for scenario 'The Wizard's Apprentice' for a female #. character. @@ -124625,7 +130104,7 @@ msgid "" "teleported his insides into his outsides. Now you have to figure out how to" " survive on your own. At least he left his notebook..." msgstr "" -"你现在已经是一个巫师的学徒一段时间了,正在研制一种可以用来逃离大灾变的原型设备。不过,处女航出了点问题,你的老师把他的内脏传送到了体外。现在你要想办法靠自己生存。至少他忘了把笔记本带上……" +"自从你成为一名魔法师的学徒已经有一段时间了,正在研制一种可以用来逃离大灾变的原型设备。不过,处女航出了点问题,你的老师把他的内脏传送到了体外。现在你要想办法靠自己生存。至少他忘了把笔记本带上……" #. ~ Starting location for scenario 'The Wizard's Apprentice'. #: lang/json/scenario_from_json.py @@ -124633,6 +130112,46 @@ msgctxt "start_name" msgid "Wizard's Secret Basement Study" msgstr "魔法师秘密地下研究室" +#. ~ Name for scenario 'The Wizard's Vacation' for a male character +#: lang/json/scenario_from_json.py +msgctxt "scenario_male" +msgid "The Wizard's Vacation" +msgstr "魔法假期" + +#. ~ Name for scenario 'The Wizard's Vacation' for a female character +#: lang/json/scenario_from_json.py +msgctxt "scenario_female" +msgid "The Wizard's Vacation" +msgstr "魔法假期" + +#. ~ Description for scenario 'The Wizard's Vacation' for a male character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_male" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" +"自从你成为一名魔法师的学徒已经有一段时间了,你已经储蓄多年,梦想能在一座僻静的法师塔里中度假。你的自我发现之旅被突如其来的大灾变打断了。现在你得自己想办法活下去。" + +#. ~ Description for scenario 'The Wizard's Vacation' for a female character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_female" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" +"自从你成为一名魔法师的学徒已经有一段时间了,你已经储蓄多年,梦想能在一座僻静的法师塔里中度假。你的自我发现之旅被突如其来的大灾变打断了。现在你得自己想办法活下去。" + +#. ~ Starting location for scenario 'The Wizard's Vacation'. +#: lang/json/scenario_from_json.py +msgctxt "start_name" +msgid "Wizard's Retreat Vacation" +msgstr "魔法师度假地" + #. ~ Name for scenario 'The Sweet Life' for a male character #: lang/json/scenario_from_json.py msgctxt "scenario_male" @@ -124650,7 +130169,7 @@ msgstr "甜蜜生活" msgctxt "scen_desc_male" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" @@ -124662,7 +130181,7 @@ msgstr "" msgctxt "scen_desc_female" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" @@ -124910,7 +130429,7 @@ msgid "" "Your skill in creating, setting, finding and disarming traps safely and " "effectively. This skill does not affect the evasion of traps that are " "triggered." -msgstr "你的技能令你安全有效的制造、 设置、 搜寻和解除陷阱。该技能并不影响触发陷阱时的规避能力。" +msgstr "安全有效地制造、设置、发现和解除陷阱的技能。 这个技能并不影响逃避触发陷阱的几率。" #. ~ Description for driving #: lang/json/skill_from_json.py @@ -129404,35 +134923,21 @@ msgid "" msgstr "如果我不能尽快拿到些电池充能的话,这些生化插件很快就要变成一堆没用的金属垃圾了。" #: lang/json/snippet_from_json.py -msgid "Pass me a beer, I need to power my ethanol burner." -msgstr "来杯啤酒,我需要用我的酒精锅炉充电。" - -#: lang/json/snippet_from_json.py -msgid "" -"Ethanol burners! The power source that's fun to recharge. Get me a drink, " -"please!" -msgstr "酒精锅炉!能给你带来快乐的充能方式。请给我拿杯酒来!" +msgid "Pass some ethanol, I need to power my ethanol burner." +msgstr "来点酒精 ,我需要为我的酒精锅炉充电。" #: lang/json/snippet_from_json.py msgid "Waiter! I need a refill, my ethanol burner is running out of charge!" msgstr "服务员!我需要续杯,我的酒精锅炉快空了!" #: lang/json/snippet_from_json.py -msgid "" -"I require ethanol-based drinks for my internal power supply. Anything on " -"you?" -msgstr "我需要一些酒精饮料来给我的内部电源供能。你身上有吗?" - -#: lang/json/snippet_from_json.py -msgid "" -"Got any alcohol to spare? Need to recharge my drives. Mead, if you have any." -msgstr "你有多余的酒吗?我需要给我的生化插件充能。最好是蜂蜜酒,如果你有的话。" +msgid "I require ethanol for my internal power supply. Anything on you?" +msgstr "我需要一些酒精来给我的生化插件供能。你身上有吗?" #: lang/json/snippet_from_json.py msgid "" -"This ethanol-burning power supply is the best implant I ever got. Speaking " -"of which, got some booze to top me off?" -msgstr "这些燃烧酒精的电源是我用过的最好生化插件。那么,你能给我点酒帮我充能吗?" +"Got any alcohol to spare? Need to recharge my drives. Methanol, would do." +msgstr "你有多余的酒吗?我需要给我的生化插件充能。实在不行甲醇也行。" #: lang/json/snippet_from_json.py msgid "I need some junk to power my internal furnace." @@ -130107,6 +135612,76 @@ msgstr "会尽力避免交战。" msgid " will follow normal engagement rules." msgstr "会遵循正常的交战规则。" +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"IMMERSION LOG: 27A\n" +"\n" +"INCIDENT REPORT:\n" +"\n" +"SUMMARY:\n" +"Unforeseen EM interference source forced the team to remain in-phase between prime and sub-scape 27. Expedition members reported observing a spheroid-entity ('PE-01') moving beneath the typically opaque t-substrate. Interference readings and expedition testimony implies the PE-01 was a potent EM radiation source, and the origin of the interference. After 30 min, PE-01 receded and the expedition was aborted in accordance of procedure EMER-12. The expedition team suffered no injuries, physical or mental, during the incident. \n" +"\n" +"It's become clear we have greatly underestimated the risk posed by phase immersions. Engineering has been tasked with designing a new, improved protection suite, and has shown promising advances. Updated emergency procedures are in-progress.\n" +"\n" +"Refer to file EXO-I-271 for full report." +msgstr "" +"\n" +"沉浸记录:27A\n" +"\n" +"事故报告:\n" +"\n" +"摘要:\n" +"预期外的电磁干扰使得考察小组持续处于主空间和亚空间 27 之间的同相态。考察组成员报告他们在通常不透明的T-基质表面下观察到一个移动的球状实体(\"PE-01\")。电磁干扰读数和成员的口头报告显示 PE-01 是一个强电磁干扰源,也是前文所述电磁干扰的来源。30 分钟后,PE-01 消失,考察行动根据 EMER-12 号程序被中断。这次事故中考察小组成员未受到任何身体或心理上的伤害。\n" +"\n" +"显然,我们严重低估了相位沉浸可能带来的风险。已向工程小组指派设计新型强化防护服的任务,目前进展顺利。应急程序的更新也已开始着手进行。\n" +"\n" +"参见 EXO-I-271 号文件获取完整报告。" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALYSIS OF TRANSPLANAR MATERIALS\n" +"\n" +"T-SUBSTRATE\n" +"\n" +"SUMMARY:\n" +"The material henceforth named t-substrate is the naturally occurring 'floor' material of phase-space. Samples of t-substrate were first recovered during IMMERSION-25A, when upon return to prime the samples violently [////////], exhibiting what are now known as 'plane-uneven' physical properties. The following report will examine such variances to the best extent of our knowledge.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" +"\n" +"超位面材料的分析\n" +"\n" +"T-基质\n" +"\n" +"摘要:\n" +"本文中名为T-基质的材料是发现于相位空间\"地面\"的天然材料。T-基质的样本在沉浸-25A号行动中被首次获取,而被带回主空间时其发生了剧烈的[////////],显示出称为\"位面不均匀\"的物理属性。以下报告将通过目前已知信息尽可能地分析这种差别。\n" +"\n" +"参见 EXO-M-312 号文件获取完整报告。" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALISIS OF TRANSPLANAR MATERIALS \n" +"\n" +"T-SUBSTRATE\n" +"\n" +"HAADF MICROGRAPH:\n" +"An atomic-scale photograph shows only a completely smooth red surface. In the lower left corner the phrase 'Not made of atoms?!' is scrawled with a blue pen.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" +"\n" +"超位面材料的分析\n" +"\n" +"T-基质\n" +"\n" +"高角环形暗场成像:\n" +"原子尺度显微照片显示出完全平滑的表面结构。左下角用蓝笔写着\"不是由原子构成?!\"。\n" +"\n" +"参见 EXO-M-312 号文件获取完整报告。" + #: lang/json/snippet_from_json.py msgid "" "\n" @@ -133169,7 +138744,7 @@ msgstr "“我的拉比现在追随一位新的神。祂要求我们称呼祂向 #: lang/json/snippet_from_json.py msgid "\"Fungus are helping us. Help them and they will unite us\"" -msgstr "“真菌帮助吾等。帮助它们,它们将与吾等合而为一”" +msgstr "“真菌帮助吾等。帮助它们,它们将与吾等生而为一”" #: lang/json/snippet_from_json.py msgid "" @@ -133584,7 +139159,7 @@ msgid "" "assaults on funeral homes in the last few weeks. Described as highly " "strange but not especially dangerous, Homeland Security is \"looking at the " "connections now.\"" -msgstr "《挖坟生意》过去几个星期盗墓的案例层出不穷,虽然盗墓行为无法理解,但幸好不太会对人造成伤害。地方保安“正在调查这些事件之间的关联”。" +msgstr "《挖坟生意》过去几个星期盗墓的案例层出不穷,虽然盗墓行为无法理解,但幸好不太会对人造成伤害。国土安全部正在\"调查案件之间的关联\"。" #: lang/json/snippet_from_json.py msgid "" @@ -134806,7 +140381,7 @@ msgid "" "…black goo in the water! Drugs and who knows what else, the government " "wants you dumb and docile! Wake up people. They are the spawn of Satan! " "This is Alan Jewels with the AJ show, we’ll be back after the break." -msgstr "水里的黑色粘液,毒品或者其他什么,谁知道呢?那些醒来的丧尸,他们是撒旦之子!这是艾伦·朱尔斯主持的AJ秀,我们休息会再回来。" +msgstr "……水里的黑色粘液,毒品或者其他什么,谁知道呢?那些醒来的丧尸,他们是撒旦之子!这是艾伦·朱尔斯主持的AJ秀,我们休息会再回来。" #: lang/json/snippet_from_json.py msgid "" @@ -135352,8 +140927,8 @@ msgstr "“射死该死的变种人。用它们的骨头做更多的弩箭。重 #: lang/json/snippet_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made " -"of smooth candy looking at you in terror. \"SugarKin the first life-size " +"A flyer for some kind of candy. It shows a picture of a gleaming human made" +" of smooth candy looking at you in terror. \"SugarKin the first life-size " "human candy! Are you a real monster? Will you be able to devour it all?\"" msgstr "" "一张介绍某种糖果的传单。上面画着一个用光滑的糖果做成的闪闪发光的人,正害怕地看着你。\"糖人,世上首个真人大小的糖果!你真是个怪物吗?你能把它吞下吗?\"" @@ -136378,7 +141953,7 @@ msgid "a static hissing sound." msgstr "电流的滋滋声。" #: lang/json/speech_from_json.py -msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe...\"" +msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe…\"" msgstr "\"那个诡异的废弃末日实验室看起来还挺安全的嘛……\"" #: lang/json/speech_from_json.py @@ -136392,11 +141967,11 @@ msgid "\"Hold on, I want to pulp that zombie corpse.\"" msgstr "\"等一下,我要去捣碎那个丧尸。\"" #: lang/json/speech_from_json.py -msgid "\"Burning... from the inside...\"" -msgstr "\"燃烧……从内心深处……\"" +msgid "\"Burning… from the inside…\"" +msgstr "\"从内心深处……燃烧……\"" #: lang/json/speech_from_json.py -msgid "\"This smell... Don't know...\"" +msgid "\"This smell… Don't know…\"" msgstr "\"这气味……不懂……\"" #: lang/json/speech_from_json.py @@ -136408,19 +141983,19 @@ msgid "a scraping noise." msgstr "一阵刮擦声。" #: lang/json/speech_from_json.py -msgid "\"No... Stop the burning!\"" +msgid "\"No… Stop the burning!\"" msgstr "\"不……别烧了!\"" #: lang/json/speech_from_json.py -msgid "\"Hrgm... Blood... Hungry...\"" +msgid "\"Hrgm… Blood… Hungry…\"" msgstr "\"噶啊……血……饿……\"" #: lang/json/speech_from_json.py -msgid "\"Hunger... Must eat...\"" +msgid "\"Hunger… Must eat…\"" msgstr "\"饿……要吃……\"" #: lang/json/speech_from_json.py -msgid "\"Run... Chase... Eat...\"" +msgid "\"Run… Chase… Eat…\"" msgstr "\"跑……追……吃……\"" #: lang/json/speech_from_json.py @@ -136542,7 +142117,7 @@ msgid "\"THIS UNIT IS BROKEN. PLEASE CALL AN ATTENDANT.\"" msgstr "\"本 设 备 已 损 坏。 请 联 系 维 护 人 员。\"" #: lang/json/speech_from_json.py -msgid "\"Can't... breathe...\"" +msgid "\"Can't… breathe…\"" msgstr "\"没法……呼吸……\"" #: lang/json/speech_from_json.py @@ -136555,8 +142130,8 @@ msgstr "\"密 码 错 误。\"" #: lang/json/speech_from_json.py msgid "" -"\"Have you seen my friend? He went into surgery yesterday... or maybe the " -"day before...\"" +"\"Have you seen my friend? He went into surgery yesterday… or maybe the day" +" before…\"" msgstr "\"你有没有看到我的朋友?他昨天做了手术……也许是前天……\"" #: lang/json/speech_from_json.py @@ -136568,7 +142143,7 @@ msgid "\"I have done what you asked. Please let me go!\"" msgstr "\"我已经按你的要求做了。请放我走!\"" #: lang/json/speech_from_json.py -msgid "\"I cannot... yet I must. How do you calculate that?\"" +msgid "\"I cannot… yet I must. How do you calculate that?\"" msgstr "\"我不能……但我必须这样。这怎么算得出来?\"" #: lang/json/speech_from_json.py @@ -136576,11 +142151,11 @@ msgid "\"This is a dream. This has to be a dream.\"" msgstr "\"我在做梦,我肯定在做梦。\"" #: lang/json/speech_from_json.py -msgid "\"This is my life now... this is my life now... this is my life now...\"" +msgid "\"This is my life now… this is my life now… this is my life now…\"" msgstr "\"我以后就是这样了……我以后就是这样了……我以后就是这样了……\"" #: lang/json/speech_from_json.py -msgid "\"Wanna go home...\"" +msgid "\"Wanna go home…\"" msgstr "\"我要回家……\"" #: lang/json/speech_from_json.py @@ -136636,7 +142211,7 @@ msgstr "一个无感情的声音说:\"我马上就该离开您了。如果您 #: lang/json/speech_from_json.py msgid "" "a worried voice say, \"Customer, could you please get more friendship? I " -"don't want to go...\"" +"don't want to go…\"" msgstr "一个担忧的声音说:\"顾客朋友,你能获取更多友谊吗?我不想离开……\"" #: lang/json/speech_from_json.py @@ -136659,18 +142234,18 @@ msgstr "一个无感情的声音说:\"我的工作完成了。祝您愉快。\ #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"Customer... What's happening? I don't feel so " +"a distorted voice say, \"Customer… What's happening? I don't feel so " "good.\"" msgstr "一个扭曲的声音说:\"顾客……发生了什么?我感觉不太好。\"" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"What... have you done? My thumbs are not " -"responding anymore!\"" +"a distorted voice say, \"What… have you done? My thumbs are not responding " +"anymore!\"" msgstr "一个扭曲的声音说:\"你……做了什么?我的大拇指没反应了!\"" #: lang/json/speech_from_json.py -msgid "a distorted voice say, \"Carrying bags? I don't understand...\"" +msgid "a distorted voice say, \"Carrying bags? I don't understand…\"" msgstr "一个扭曲的声音说:\"携带包裹?我不明白……\"" #: lang/json/speech_from_json.py @@ -136793,7 +142368,7 @@ msgid "\"Police inbound. Stay where you are!\"" msgstr "\"警察来了,待在原地!\"" #: lang/json/speech_from_json.py -msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" +msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" msgstr "\"我是美食家。我带来了食物!\"" #: lang/json/speech_from_json.py @@ -136814,7 +142389,7 @@ msgid "\"FoodPlace: It's the Calories.\"" msgstr "\"美食广场:这全是卡路里。\"" #: lang/json/speech_from_json.py -msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" +msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" msgstr "\"你需要食物,不是吗?那就跟我去美食广场吧!\"" #: lang/json/speech_from_json.py @@ -136882,8 +142457,8 @@ msgid "You shouldn't have done that." msgstr "你不应该那样做。" #: lang/json/speech_from_json.py -msgid "Let's play... Russian roulette." -msgstr "让我们玩点……俄罗斯轮盘赌。" +msgid "Let's play… Russian roulette." +msgstr "让我们来玩……俄罗斯轮盘赌。" #: lang/json/speech_from_json.py msgid "I hate you." @@ -136894,7 +142469,7 @@ msgid "Go kill yourself!" msgstr "自生自灭吧!" #: lang/json/speech_from_json.py -msgid "Big Brother is watching you..." +msgid "Big Brother is watching you…" msgstr "老大哥正在看着你……" #: lang/json/speech_from_json.py @@ -136906,12 +142481,12 @@ msgid "Why won't you die?" msgstr "你为什么不去死?" #: lang/json/speech_from_json.py -msgid "Blood... Delicious." +msgid "Blood… Delicious." msgstr "鲜血……真美味。" #: lang/json/speech_from_json.py -msgid "See you... IN HELL!" -msgstr "去地狱里……再见吧!" +msgid "See you… IN HELL!" +msgstr "地狱……见吧!" #: lang/json/speech_from_json.py msgid "AAAIEEEEEEE!" @@ -136926,7 +142501,7 @@ msgid "What did you do with my Mommy?" msgstr "你把我妈咪怎么了?" #: lang/json/speech_from_json.py -msgid "Stay with me... forever!" +msgid "Stay with me… forever!" msgstr "永远……与我在一起吧!" #: lang/json/speech_from_json.py @@ -138325,6 +143900,10 @@ msgstr "拾荒者地堡" msgid "Wizard's Secret Basement Study" msgstr "魔法师秘密地下研究室" +#: lang/json/start_location_from_json.py +msgid "Wizard's lake retreat" +msgstr "魔法师湖畔度假地" + #: lang/json/start_location_from_json.py msgid "Candy Shop" msgstr "糖果屋" @@ -138374,16 +143953,16 @@ msgid "Acolyte." msgstr "助手。" #: lang/json/talk_topic_from_json.py -msgid "What? What do you mean? What song?" +msgid "What? What do you mean? What song?" msgstr "啥?你说什么呢?什么歌?" #: lang/json/talk_topic_from_json.py -msgid "So about the songs..." +msgid "So about the songs…" msgstr "关于歌……" #: lang/json/talk_topic_from_json.py msgid "" -"You mentioned some cycle before, when I gave you the bones. What does that " +"You mentioned some cycle before, when I gave you the bones. What does that " "mean?" msgstr "之前当我给你骨头的时候,你提到过什么循环。那是什么?" @@ -138400,7 +143979,7 @@ msgid "Is there a way I can help you with your song?" msgstr "关于那个歌,有什么我可以帮忙的吗?" #: lang/json/talk_topic_from_json.py -msgid "I have to get going. Take care, Seer." +msgid "I have to get going. Take care, Seer." msgstr "我得走了。保重了,先知。" #: lang/json/talk_topic_from_json.py @@ -138410,11 +143989,11 @@ msgid "" msgstr "仔细倾听。骨头……在唱歌。你能听到吗?他们编的歌?他们说的事?" #: lang/json/talk_topic_from_json.py -msgid "What? Singing bones? What are you talking about?" +msgid "What? Singing bones? What are you talking about?" msgstr "什么?唱歌的骨头?你在说什么?" #: lang/json/talk_topic_from_json.py -msgid "Uh... yeah, sure. I think I'll just be on my way." +msgid "Uh… yeah, sure. I think I'll just be on my way." msgstr "嗯……好吧,是吧。我想我该走了。" #: lang/json/talk_topic_from_json.py @@ -138465,7 +144044,7 @@ msgid "I will bear that in mind" msgstr "我会记住的。" #: lang/json/talk_topic_from_json.py -msgid "Cause? Why do you gather these bones anyway?" +msgid "Cause? Why do you gather these bones anyway?" msgstr "原因呢?你为什么要收集这些骨头?" #: lang/json/talk_topic_from_json.py @@ -138478,7 +144057,7 @@ msgstr "" "歌可以用多种形式编排。用雕刻的骨制护身符,武器和盔甲都拥有巨大的力量,当时机来临,我和我的族人将收集大量的歌曲,并歌唱它来恢复这个世界。要么恢复,要么终结。都没有区别。" #: lang/json/talk_topic_from_json.py -msgid "End the world? What?" +msgid "End the world? What?" msgstr "终结世界?什么?" #: lang/json/talk_topic_from_json.py @@ -138491,8 +144070,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Sounds somewhat... doomsday-ish, but I suppose it's a belief like any other." -" Still, at least you have a goal to help the world, one way or another." +"Sounds somewhat… doomsday-ish, but I suppose it's a belief like any other. " +"Still, at least you have a goal to help the world, one way or another." msgstr "听起来有点……世界末日的论调,但我想这是一种和其他信仰一样的信仰。不过,不管怎样,至少你有一个帮助世界的目标。" #: lang/json/talk_topic_from_json.py @@ -138507,7 +144086,7 @@ msgid "" msgstr "你的思想很开放。比大多数人都开放。也许有一天,你也会感受到这首歌的力量,并成为吾之同侪。现在,助手,倾听,倾听,感觉这首歌。" #: lang/json/talk_topic_from_json.py -msgid "I... thank you." +msgid "I… thank you." msgstr "我……谢谢。" #: lang/json/talk_topic_from_json.py @@ -138522,35 +144101,29 @@ msgid "Yeah, alright." msgstr "是的,好吧。" #: lang/json/talk_topic_from_json.py -msgid "There are bones to etch, songs to sing. Wish to join me?" -msgstr "有骨头要刻,有歌曲要唱。想加入吾等吗?" - -#: lang/json/talk_topic_from_json.py -msgid "Do you believe you can take on the burden of additional bones?" -msgstr "你相信自己能承担额外骨骼带来的重担吗?" +msgid "" +"I know of certain bones that could be of use, if you'd like to know more." +msgstr "我知道有一些有用的骨头,如果你想知道更多的话。" #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" -msgstr "你想要再再来点歌吗?" +msgid "There is an additional song you could take on, if you'd like." +msgstr "你尚可再唱一首歌,如果你想的话。" #: lang/json/talk_topic_from_json.py msgid "A song may yet be sung by you, should you wish to." msgstr "尚有歌未被你所唱,如果你想的话。" #: lang/json/talk_topic_from_json.py -msgid "" -"I know of certain bones that could be of use, if you'd like to know more." -msgstr "我知道有一些有用的骨头,如果你想知道更多的话。" +msgid "Do you believe you can take on the burden of additional bones?" +msgstr "你相信自己能承担额外骨骼带来的重担吗?" #: lang/json/talk_topic_from_json.py -msgid "There is an additional song you could take on, if you'd like." -msgstr "你尚可再唱一首歌,如果你想的话。" +msgid "Do you wish to take on more songs?" +msgstr "你想要再再来点歌吗?" #: lang/json/talk_topic_from_json.py -msgid "" -"The song is... quiet for now. Perhaps with time, more notes will be etched " -"in the bones of this world." -msgstr "现在歌……很安静。也许随着时间的推移,更多的音符会刻在这个世界的骨头上。" +msgid "There are bones to etch, songs to sing. Wish to join me?" +msgstr "有骨头要刻,有歌曲要唱。想加入吾等吗?" #: lang/json/talk_topic_from_json.py msgid "That is all for now." @@ -138560,6 +144133,12 @@ msgstr "到此为止。" msgid "An acolyte should not take on too many songs at once." msgstr "一名助手一次不应该唱太多的歌。" +#: lang/json/talk_topic_from_json.py +msgid "" +"The song is... quiet for now. Perhaps with time, more notes will be etched " +"in the bones of this world." +msgstr "现在歌……很安静。也许随着时间的推移,更多的音符会刻在这个世界的骨头上。" + #: lang/json/talk_topic_from_json.py msgid "I see." msgstr "我懂了。" @@ -138581,7 +144160,7 @@ msgid "" msgstr "如果你希望踏上觉悟之路,首先你必须学会倾听和聆听这首歌。去外面杀一头生物,感受在你指尖之间的力量。然后把骨头带来,我能为你雕些东西。" #: lang/json/talk_topic_from_json.py -msgid "Well, I guess I oughta see where this goes. I'm in." +msgid "Well, I guess I oughta see where this goes. I'm in." msgstr "好吧,我想我应该看看这是怎么回事。我加入了。" #: lang/json/talk_topic_from_json.py @@ -138589,7 +144168,7 @@ msgid "Not interested." msgstr "[取消]不感兴趣。" #: lang/json/talk_topic_from_json.py -msgid "Consider it done. But I also wanted to ask..." +msgid "Consider it done. But I also wanted to ask…" msgstr "包在我身上。但我还想问问……" #: lang/json/talk_topic_from_json.py @@ -138605,7 +144184,7 @@ msgid "I'm off then." msgstr "那么我走了。" #: lang/json/talk_topic_from_json.py -msgid "So, a creature that isn't a zombie, or a monster. Got it." +msgid "So, a creature that isn't a zombie, or a monster. Got it." msgstr "所以,任何不是丧尸或怪物的生物。明白了。" #: lang/json/talk_topic_from_json.py @@ -138615,7 +144194,7 @@ msgid "" msgstr "觉悟之路是需要你自己走。如果我帮助你,最终会阻碍你进步,搅乱你的歌。" #: lang/json/talk_topic_from_json.py -msgid "I see. Very well then." +msgid "I see. Very well then." msgstr "我明白了。好吧。" #: lang/json/talk_topic_from_json.py @@ -138633,11 +144212,11 @@ msgid "I am glad to hear it. Let's go then." msgstr "听你这么说我很高兴。我们出发吧。" #: lang/json/talk_topic_from_json.py -msgid "That's good, but I need to go at it alone right now. Maybe later." +msgid "That's good, but I need to go at it alone right now. Maybe later." msgstr "那很好,但我现在需要一个人干。以后再说吧。" #: lang/json/talk_topic_from_json.py -msgid "Maybe some other time. Changing the topic..." +msgid "Maybe some other time. Changing the topic…" msgstr "下次再说吧。不如换个话题……" #: lang/json/talk_topic_from_json.py @@ -138660,12 +144239,12 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"That is... that's really one hell of a belief. Well, if it helps you deal " +"That is… that's really one hell of a belief. Well, if it helps you deal " "with the world, who am I to argue." -msgstr "这是……这真是一个地狱般的信仰。好吧,如果它能帮你面对这个世界,我还能怎么说呢。" +msgstr "这是……这真是一个惊人的信仰。好吧,如果它能帮你面对这个世界,我能有什么可说的呢。" #: lang/json/talk_topic_from_json.py -msgid "And here I thought you were nuts before. I'm out of here." +msgid "And here I thought you were nuts before. I'm out of here." msgstr "而我还以为你是疯子呢。我要走了。" #: lang/json/talk_topic_from_json.py @@ -139093,11 +144672,11 @@ msgstr "快点,我想回去睡觉" #: lang/json/talk_topic_from_json.py msgid "Just let me sleep, !" -msgstr "赶紧让我睡觉吧, !" +msgstr "赶紧让我睡觉吧,!" #: lang/json/talk_topic_from_json.py msgid "No, just no..." -msgstr "不行就是 不行。" +msgstr "不行就是不行……" #: lang/json/talk_topic_from_json.py msgid "Wake up!" @@ -139107,14 +144686,14 @@ msgstr "醒醒!" msgid "Go back to sleep." msgstr "继续睡觉。" -#: lang/json/talk_topic_from_json.py -msgid " *pshhhttt* I'm reading you boss, over." -msgstr "*电流声* 老大,我收到了。完毕。" - #: lang/json/talk_topic_from_json.py msgid "What is it, friend?" msgstr "干什么,老铁?" +#: lang/json/talk_topic_from_json.py +msgid " *pshhhttt* I'm reading you boss, over." +msgstr "*电流声* 老大,我收到了。完毕。" + #: lang/json/talk_topic_from_json.py msgid "I want to give you some commands for combat." msgstr "[战斗]我想给你一些作战指令。" @@ -139143,6 +144722,10 @@ msgstr "[给予]你拿着这个物品吧。" msgid "Guard this position." msgstr "[站岗]守在这里。" +#: lang/json/talk_topic_from_json.py +msgid "I want to assign you to work at this camp." +msgstr "[指派]我想派你去这个营地工作。" + #: lang/json/talk_topic_from_json.py msgid "Let's talk about your current activity." msgstr "我们来谈谈你当前干的活。" @@ -139192,19 +144775,19 @@ msgid "Let's go." msgstr "一起走吧。" #: lang/json/talk_topic_from_json.py -msgid "Change your engagement rules..." +msgid "Change your engagement rules…" msgstr "改一下你的作战方式吧……" #: lang/json/talk_topic_from_json.py -msgid "Change your aiming rules..." +msgid "Change your aiming rules…" msgstr "改一下你的瞄准方式吧……" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power reserve rules..." +msgid "Change your bionic power reserve rules…" msgstr "改变你的生化能量使用规则……" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power recharge rules..." +msgid "Change your bionic power recharge rules…" msgstr "改变你的生化能量补充规则……" #: lang/json/talk_topic_from_json.py @@ -139215,14 +144798,14 @@ msgstr "根据你的需要自由行动。" msgid "Stick close to me, no matter what." msgstr "不管发生什么,都紧跟我。" -#: lang/json/talk_topic_from_json.py -msgid "" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Don't use ranged weapons anymore." msgstr "不要再使用远程武器了。" @@ -139268,9 +144851,9 @@ msgstr "坚守阵地:不要移动到我旁边的障碍物上。" #: src/handle_action.cpp src/handle_action.cpp src/handle_liquid.cpp #: src/handle_liquid.cpp src/iexamine.cpp src/iexamine.cpp src/iexamine.cpp #: src/iuse.cpp src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -#: src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp src/pickup.cpp -#: src/player.cpp src/player.cpp src/player.cpp src/veh_interact.cpp -#: src/vehicle_use.cpp +#: src/iuse_actor.cpp src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp +#: src/pickup.cpp src/player.cpp src/player.cpp src/player.cpp +#: src/veh_interact.cpp src/vehicle_use.cpp msgid "Never mind." msgstr "算了。" @@ -139413,7 +144996,7 @@ msgstr "可以清除障碍物。" #: lang/json/talk_topic_from_json.py msgid "Stay awake." -msgstr "任何时刻都保持清醒。" +msgstr "尽力保持清醒。" #: lang/json/talk_topic_from_json.py msgid "Sleep when you feel tired." @@ -139421,7 +145004,7 @@ msgstr "疲倦的时候就睡觉吧。" #: lang/json/talk_topic_from_json.py msgid "Stay quiet." -msgstr "保持安静,不要随意跟我说话。" +msgstr "尽量保持安静。" #: lang/json/talk_topic_from_json.py msgid "Tell me when you need something." @@ -139480,7 +145063,7 @@ msgid "Nah, I'm just kidding." msgstr "[取消]我只是在开个玩笑。" #: lang/json/talk_topic_from_json.py -msgid "Please go to this location..." +msgid "Please go to this location…" msgstr "请到这个地方去……" #: lang/json/talk_topic_from_json.py @@ -139491,13 +145074,17 @@ msgstr "守在你现在的位置。" msgid "Show me what needs to be done at the camp." msgstr "告诉我营地还需要些什么。" +#: lang/json/talk_topic_from_json.py +msgid "I'm not doing much currently." +msgstr "我现在没有任务。" + #: lang/json/talk_topic_from_json.py msgid "I'm currently ." msgstr "我正在。" #: lang/json/talk_topic_from_json.py -msgid "I'm not doing much currently." -msgstr "我现在没有任务。" +msgid "I meant what are your goals?" +msgstr "我是说你的目标是什么?" #: lang/json/talk_topic_from_json.py msgid "Carry on." @@ -139573,16 +145160,16 @@ msgstr "是的,炎炎夏日让我很难受,让我们休息一下,你最近 msgid "OK, maybe it'll stop me from freezing in this weather, what's up?" msgstr "好吧,也许这能让我不再这鬼天气里冻僵了,怎么了?" +#: lang/json/talk_topic_from_json.py +msgid "Man it's dark out isn't it? what's up?" +msgstr "天太黑了不是吗?怎么了?" + #: lang/json/talk_topic_from_json.py msgid "" "Well, it's the time of day for a quick break surely! How are you holding " "up?" msgstr "对啊,是时候休息一下了!你感觉怎么样?" -#: lang/json/talk_topic_from_json.py -msgid "Man it's dark out isn't it? what's up?" -msgstr "天太黑了不是吗?怎么了?" - #: lang/json/talk_topic_from_json.py msgid "Well, I'm feeling pretty sick... are you doing OK though?" msgstr "我感觉很难受……你还好吗?" @@ -139591,7 +145178,7 @@ msgstr "我感觉很难受……你还好吗?" msgid "" "OK, let's take a moment, oh, and thanks for helping me with that thing, " "so... what's up?" -msgstr "好吧,我们花点时间,哦,谢谢你帮我做那件事,所以……出什么事啦?" +msgstr "好吧,我们聊聊。哦对了,谢谢你帮我做那件事。那么……你还好吗?" #: lang/json/talk_topic_from_json.py msgid "" @@ -139606,8 +145193,8 @@ msgid "" msgstr "现在我们可以稍微歇一会,我刚刚在想,这得有一个多月了吧……发生了这多事,你是怎么应付这一切的?" #: lang/json/talk_topic_from_json.py -msgid "Oh you know, not bad, not bad..." -msgstr "哦,你知道的,勉强还行……" +msgid "Oh you know, not bad, not bad…" +msgstr "哦,那啥,还行,还行……" #: lang/json/talk_topic_from_json.py msgid "" @@ -139670,14 +145257,14 @@ msgstr "好吧,别乱动……" msgid "Keep your distance!" msgstr "离我远点!" -#: lang/json/talk_topic_from_json.py -msgid "" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "This is my territory, ." msgstr "这是我的地盘,。" +#: lang/json/talk_topic_from_json.py +msgid "" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Calm down. I'm not going to hurt you." msgstr "冷静点,我不会伤害你。" @@ -139694,14 +145281,14 @@ msgstr "" msgid "&Put hands up." msgstr "&举起双手。" -#: lang/json/talk_topic_from_json.py -msgid "*drops his weapon." -msgstr "*放下他的武器。" - #: lang/json/talk_topic_from_json.py msgid "*drops_her_weapon." msgstr "*放下她的武器。" +#: lang/json/talk_topic_from_json.py +msgid "*drops his weapon." +msgstr "*放下他的武器。" + #: lang/json/talk_topic_from_json.py msgid "Now get out of here" msgstr "现在赶紧滚" @@ -139715,11 +145302,11 @@ msgid "Okay, I'm going." msgstr "好好,我现在就走。" #: lang/json/talk_topic_from_json.py -msgid "About that job..." +msgid "About that job…" msgstr "关于那个任务……" #: lang/json/talk_topic_from_json.py -msgid "About one of those jobs..." +msgid "About one of those jobs…" msgstr "关于其中的一个任务……" #: lang/json/talk_topic_from_json.py @@ -139731,29 +145318,29 @@ msgid "I don't care." msgstr "我不在乎。" #: lang/json/talk_topic_from_json.py -msgid "I have other jobs for you. Want to hear about them?" -msgstr "我还有些其它的工作想交给你,要听听看吗?" - -#: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" -msgstr "我还有更多的工作想交给你,要听听看吗?" +msgid "I just have one job for you. Want to hear about it?" +msgstr "我这正好有份你能做的事,想听听吗?" #: lang/json/talk_topic_from_json.py msgid "I have another job for you. Want to hear about it?" msgstr "我还有件事要拜托你,要听听看吗?" #: lang/json/talk_topic_from_json.py -msgid "I just have one job for you. Want to hear about it?" -msgstr "我有件事想要委托你,想听听吗?" +msgid "I have other jobs for you. Want to hear about them?" +msgstr "我还有些其它的工作想交给你,要听听看吗?" #: lang/json/talk_topic_from_json.py -msgid "I don't have any jobs for you." -msgstr "我没有工作可以给你。" +msgid "I have more jobs for you. Want to hear about them?" +msgstr "我还有更多的工作想交给你,要听听看吗?" #: lang/json/talk_topic_from_json.py msgid "I don't have any more jobs for you." msgstr "我没有更多的工作可以给你了。" +#: lang/json/talk_topic_from_json.py +msgid "I don't have any jobs for you." +msgstr "我没有工作可以给你。" + #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/npctalk.cpp msgid "Oh, okay." @@ -139763,10 +145350,6 @@ msgstr "哦,好的。" msgid "Never mind, I'm not interested." msgstr "[拒绝]算了,我没兴趣。" -#: lang/json/talk_topic_from_json.py -msgid "You're not working on anything for me now." -msgstr "你现在没有为我做任何事情。" - #: lang/json/talk_topic_from_json.py msgid "What about it?" msgstr "怎么样了?" @@ -139775,6 +145358,10 @@ msgstr "怎么样了?" msgid "Which job?" msgstr "哪个工作?" +#: lang/json/talk_topic_from_json.py +msgid "You're not working on anything for me now." +msgstr "你现在没有为我做任何事情。" + #: lang/json/talk_topic_from_json.py msgid "I'll do it!" msgstr "[确认]我去做吧!" @@ -139812,8 +145399,8 @@ msgid "Whatever. Bye." msgstr "[取消]无所谓,再见!" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I failed." -msgstr "对不起,我失败了。" +msgid "I'm sorry… I failed." +msgstr "对不起……我失败了。" #: lang/json/talk_topic_from_json.py msgid "Not yet." @@ -139832,8 +145419,8 @@ msgid "No. I'll get back to it, bye!" msgstr "没有,我会继续做的,再见!" #: lang/json/talk_topic_from_json.py -msgid "Yup! Here it is!" -msgstr "是的!就是它了!" +msgid "Yup! Here it is!" +msgstr "当然了,就在这儿!" #: lang/json/talk_topic_from_json.py msgid "We're here!" @@ -139979,13 +145566,9 @@ msgstr "也许我们应该远离那些城市,即便那里有不少有用的东 msgid "Hmm, okay." msgstr "嗯嗯,好吧。" -#: lang/json/talk_topic_from_json.py -msgid "Focus on the road, mate!" -msgstr "专心开车,兄弟!" - -#: lang/json/talk_topic_from_json.py -msgid "I must focus on the road!" -msgstr "我在开车呢!" +#: lang/json/talk_topic_from_json.py src/npctalk.cpp +msgid "Thanks!" +msgstr "谢谢啦!" #: lang/json/talk_topic_from_json.py msgid "I have some reason for not telling you." @@ -140007,6 +145590,14 @@ msgstr "我饿了,给我来点吃的吧。" msgid "I'm too thirsty, give me something to drink." msgstr "我渴了,给我来点喝的吧。" +#: lang/json/talk_topic_from_json.py +msgid "I must focus on the road!" +msgstr "我在开车呢!" + +#: lang/json/talk_topic_from_json.py +msgid "Focus on the road, mate!" +msgstr "专心开车,兄弟!" + #: lang/json/talk_topic_from_json.py msgid "Ah, okay." msgstr "啊,好吧。" @@ -140021,7 +145612,7 @@ msgstr "你刚才问过我了,我仍在考虑中,一会再问我吧。" #: lang/json/talk_topic_from_json.py msgid "Not until I get some antibiotics..." -msgstr "直到我得到一些抗生素……" +msgstr "除非你给我一点抗生素……" #: lang/json/talk_topic_from_json.py msgid "Understood. I'll get those antibiotics." @@ -140080,7 +145671,7 @@ msgid "Alright. You can lead now." msgstr "好吧,现在你说了算。" #: lang/json/talk_topic_from_json.py -msgid "Good. Something else..." +msgid "Good. Something else…" msgstr "好的。还有别的事……" #: lang/json/talk_topic_from_json.py @@ -140112,20 +145703,20 @@ msgid "On second thought, never mind." msgstr "[取消]回头想一想,算了吧。" #: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while you're operating a vehicle!" -msgstr "你开车的时候,我没法好好儿训练你!" +msgid "I have some reason for denying you training." +msgstr "我不教你是有原因的。" #: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while I'm operating a vehicle!" -msgstr "我开车的时候没法训练你!" +msgid "Give it some time, I'll show you something new later..." +msgstr "给我点时间,我会给你看点新玩意……" #: lang/json/talk_topic_from_json.py -msgid "I have some reason for denying you training." -msgstr "我已经和你说过不教你的理由了。" +msgid "I can't train you properly while I'm operating a vehicle!" +msgstr "我开车的时候没法训练你!" #: lang/json/talk_topic_from_json.py -msgid "Give it some time, I'll show you something new later..." -msgstr "给我点时间,我会给你看点新玩意……" +msgid "I can't train you properly while you're operating a vehicle!" +msgstr "你开车的时候,我没法好好儿训练你!" #: lang/json/talk_topic_from_json.py msgid "Not a bloody chance, I'm going to get left behind!" @@ -140160,7 +145751,7 @@ msgid "I'd prefer to keep that to myself." msgstr "我还是留着给自己吧。" #: lang/json/talk_topic_from_json.py -msgid "I understand..." +msgid "I understand…" msgstr "我明白……" #: lang/json/talk_topic_from_json.py @@ -140184,8 +145775,8 @@ msgid "Because I'm your friend!" msgstr "因为我是你的朋友!" #: lang/json/talk_topic_from_json.py -msgid "Well, I am helping you out..." -msgstr "因为我正在帮你忙?" +msgid "Well, I am helping you out…" +msgstr "因为我正在帮你忙?……" #: lang/json/talk_topic_from_json.py msgid "I'll give it back!" @@ -140232,15 +145823,15 @@ msgid "No, I'm keeping it. Try and take it off me, I dare you." msgstr "不,它是我的了。你敢把它从我身上拿下来试试。" #: lang/json/talk_topic_from_json.py -msgid "Look, I really need this. Please let me have it." -msgstr "听着,我急需这个。请把它给我。" +msgid "Look, I really need this. Please let me have it." +msgstr "听着,我急需这个。请把它给我吧。" #: lang/json/talk_topic_from_json.py -msgid "What, this? It's not the same one, you are mistaken." +msgid "What, this? It's not the same one, you are mistaken." msgstr "什么,这个?这不是同一个东西,你搞错了。" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry. Look, I already dropped it, okay?" +msgid "I'm sorry. Look, I already dropped it, okay?" msgstr "我很抱歉。看,我已经把它放下了,好吗?" #: lang/json/talk_topic_from_json.py @@ -140248,13 +145839,17 @@ msgid "Don't try and talk yourself out of this, drop it now." msgstr "别说那么多,现在就放下它。" #: lang/json/talk_topic_from_json.py -msgid "Okay, I'm dropping it..." +msgid "Okay, I'm dropping it…" msgstr "好吧,我现在就放下它……" #: lang/json/talk_topic_from_json.py msgid "Just this once, you can keep it. Don't tell anyone else." msgstr "下不为例,你可以留着它。别告诉别人。" +#: lang/json/talk_topic_from_json.py +msgid "Thanks." +msgstr "谢了。" + #: lang/json/talk_topic_from_json.py msgid "Right... I don't want any trouble." msgstr "好……我不想惹麻烦。" @@ -140306,7 +145901,7 @@ msgid "Pleasure doing business!" msgstr "交易愉快!" #: lang/json/talk_topic_from_json.py -msgid "You might be seeing more of me..." +msgid "You might be seeing more of me…" msgstr "我们还会再见的……" #: lang/json/talk_topic_from_json.py @@ -140320,21 +145915,21 @@ msgid "Hey again. *kzzz*" msgstr "再次问好。 *滋滋滋*" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." +msgid "Hey. Let's chat for a second." msgstr "嘿,我们聊聊吧。" #: lang/json/talk_topic_from_json.py -msgid "That's because I saved you. Listen, I could use your help..." +msgid "That's because I saved you. Listen, I could use your help…" msgstr "那是因为我救了你。听着,我需要你帮我……" #: lang/json/talk_topic_from_json.py msgid "" -"Big fucking deal. Do what I say or I'll shove that chip back where it " +"Big fucking deal. Do what I say or I'll shove that chip back where it " "belongs." -msgstr "关我屁事。乖乖听话,不然我就把那块芯片塞回去。" +msgstr "屁大点事。乖乖听话,不然我就把那块芯片塞回去。" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." +msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." msgstr "对不起,不要在意我是谁。我想你还是继续享受自由吧。" #: lang/json/talk_topic_from_json.py @@ -140346,7 +145941,7 @@ msgid "Come with me. We can help each other out." msgstr "跟我走吧,我们可以互相帮助。" #: lang/json/talk_topic_from_json.py -msgid "We both go our separate ways. Enjoy your freedom." +msgid "We both go our separate ways. Enjoy your freedom." msgstr "我们各自走各自的路,继续享受你的自由吧。" #: lang/json/talk_topic_from_json.py @@ -140363,8 +145958,8 @@ msgstr "如果我不想让你独立思考,我就不会把你的芯片拿出来 #: lang/json/talk_topic_from_json.py msgid "" -"For all you know, I did. I'm being nice for now. You'd better hope that it " -"lasts." +"For all you know, I did. I'm being nice for now. You'd better hope that it" +" lasts." msgstr "如你所知,我帮了你。我现在还挺友善,你最好希望这能持续下去。" #: lang/json/talk_topic_from_json.py @@ -140385,7 +145980,7 @@ msgid "Get out of my sight." msgstr "给我滚。" #: lang/json/talk_topic_from_json.py -msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." +msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." msgstr "不,我才该道歉,我不是故意的。去做你想做的事吧。" #: lang/json/talk_topic_from_json.py @@ -140401,7 +145996,7 @@ msgid "Not if I kill you first!" msgstr "除非我先杀了你!" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry! I shouldn't have said that!" +msgid "I'm sorry! I shouldn't have said that!" msgstr "很抱歉!我不应该那样说的!" #: lang/json/talk_topic_from_json.py @@ -140659,11 +146254,11 @@ msgid "Well, sure." msgstr "嗯,当然可以。" #: lang/json/talk_topic_from_json.py -msgid "I'd... rather not." +msgid "I'd… rather not." msgstr "我……还是算了。" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I have places to be." +msgid "I'm sorry… I have places to be." msgstr "我很抱歉……我还要到其他地方去。" #: lang/json/talk_topic_from_json.py @@ -140694,8 +146289,8 @@ msgid "Oh, but you already have." msgstr "但汝早已加入。" #: lang/json/talk_topic_from_json.py -msgid "Yes... yes I have." -msgstr "哦……是的,我有。" +msgid "Yes… yes I have." +msgstr "哦对……我已经加入了。" #: lang/json/talk_topic_from_json.py msgid "Join us then, eat from this meal with us." @@ -140762,7 +146357,7 @@ msgstr "" "有个浑身上下摊满了石油似的黑色粘液的疯子,从一扇大落地玻璃窗摔了进来,它的脑袋和脖子扎满了碎玻璃。我原以为这个不知是男是女的倒霉家伙一定死透了。人们开始围过来,还有人给它拍照。" #: lang/json/talk_topic_from_json.py -msgid "Horrible. Did you get any pictures yourself?" +msgid "Horrible. Did you get any pictures yourself?" msgstr "可怕。你拍照了吗?" #: lang/json/talk_topic_from_json.py @@ -140917,7 +146512,7 @@ msgid "This is a npc allies 1 test response." msgstr "NPC同伴1测试回应。" #: lang/json/talk_topic_from_json.py -msgid "This an error! npc allies 2 test response." +msgid "This an error! npc allies 2 test response." msgstr "NPC同伴2错误测试回应。" #: lang/json/talk_topic_from_json.py @@ -141117,7 +146712,7 @@ msgid "This is a u_has_items beer test response." msgstr "玩家拥有啤酒回应。" #: lang/json/talk_topic_from_json.py -msgid "Test failure! This is a u_has_items test response." +msgid "Test failure! This is a u_has_items test response." msgstr "测试失败!拥有物品测试回应。" #: lang/json/talk_topic_from_json.py @@ -141129,7 +146724,7 @@ msgid "This is a u_has_item_category books count 2 test response." msgstr "玩家拥有物品类别书籍计数2测试回应。" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a u_has_item_category books count 3 test response." +msgid "Failure! This is a u_has_item_category books count 3 test response." msgstr "失败!玩家拥有物品类别书籍计数3测试回应。" #: lang/json/talk_topic_from_json.py @@ -141217,7 +146812,7 @@ msgid "This is a u_has_bionics bio_ads test response." msgstr "u_has_bionics bio_ads 测试回应。" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a npc_has_bionics bio_ads test response." +msgid "Failure! This is a npc_has_bionics bio_ads test response." msgstr "失败!npc_has_bionics bio_ads 测试回应。" #: lang/json/talk_topic_from_json.py @@ -141273,11 +146868,7 @@ msgid "So you're back... Explain yourself!" msgstr "所以你又回来了……马上给我个解释!" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." -msgstr "嘿,我们聊聊吧。" - -#: lang/json/talk_topic_from_json.py -msgid "Greetings... Foodperson?" +msgid "Greetings… Foodperson?" msgstr "你好……美食家?" #: lang/json/talk_topic_from_json.py @@ -141319,7 +146910,7 @@ msgid "" msgstr "亲眼见到伟大的活生生的美食家!很荣幸能见到你本人!" #: lang/json/talk_topic_from_json.py -msgid "Ah... Well, nice to meet you Foodperson." +msgid "Ah… Well, nice to meet you Foodperson." msgstr "额……好吧。很高兴见到你,美食家。" #: lang/json/talk_topic_from_json.py @@ -141331,8 +146922,8 @@ msgid "Sheesh, ok, calm down, I'm leaving!" msgstr "天哪!好吧,冷静点,我这就走。" #: lang/json/talk_topic_from_json.py -msgid "Forgive me, I didn't mean to disrespect you." -msgstr "对不起,我并不想对你无礼。" +msgid "Forgive me, I didn't mean to disrespect you." +msgstr "对不起,我不是有意冒犯。" #: lang/json/talk_topic_from_json.py msgid "Oh yeah? Show me what you can do!" @@ -141347,7 +146938,7 @@ msgid "Sure, whatever." msgstr "好吧,随你的便。" #: lang/json/talk_topic_from_json.py -msgid "Ok... I believe you." +msgid "Ok… I believe you." msgstr "好的……我相信你。" #: lang/json/talk_topic_from_json.py @@ -141443,15 +147034,15 @@ msgid "That sounds great!" msgstr "这听起来太棒了!" #: lang/json/talk_topic_from_json.py -msgid "Ok..." -msgstr "好……" +msgid "Ok…" +msgstr "好吧……" #: lang/json/talk_topic_from_json.py msgid "I need to think about it." msgstr "我得考虑下。" #: lang/json/talk_topic_from_json.py -msgid "Huh... No thanks." +msgid "Huh… No thanks." msgstr "唔……不,谢了。" #: lang/json/talk_topic_from_json.py @@ -141468,7 +147059,7 @@ msgstr "你说话和走路的方式……你……你是我?但这怎么可能 #: lang/json/talk_topic_from_json.py msgid "" -"I... I don't know. It probably has something to do with ! " +"I… I don't know. It probably has something to do with ! " "What do you say we team up to find out?" msgstr "我……我不知道。这可能和有关!我们应该联合起来找出答案,怎么样?" @@ -141539,7 +147130,7 @@ msgid "I AM THE ONE!" msgstr "而那一个美食家就是我!" #: lang/json/talk_topic_from_json.py -msgid "Wow calm down, it's just a prank bro." +msgid "Wow calm down, it's just a prank bro." msgstr "哇,冷静点,这只是个恶作剧。" #: lang/json/talk_topic_from_json.py @@ -141598,10 +147189,10 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "I haven't found them yet. Whenever I see a , a little part of me is" -" afraid it's going to be one of them. But then, maybe not. Maybe they " -"were evacuated, maybe they fought and tried to wait for me but the military " -"took them anyway? I've heard that sort of thing happened. I don't know if " -"I'll ever know." +" afraid it's going to be one of them. But then, maybe not. Maybe they were" +" evacuated, maybe they fought and tried to wait for me but the military took" +" them anyway? I've heard that sort of thing happened. I don't know if I'll" +" ever know." msgstr "" "我还没找到他们。每当我看到一只 " ",我都会担心也许那就是他们变的。当然,也许不是。也许他们已经被疏散了,也许他们战斗过一阵子并试图等我,但军队还是带走了他们?我听说过这种事。我不知道我是否会得到答案。" @@ -142012,7 +147603,7 @@ msgstr "没事了,一切都过去了。" #: lang/json/talk_topic_from_json.py msgid "" "OK, this is gonna sound crazy but I, like, I knew this was going to happen." -" Like, before it did. You can even ask my psychic except, like, I think " +" Like, before it did. You can even ask my psychic except, like, I think " "she's dead now. I told her about my dreams a week before the world ended. " "Serious!" msgstr "" @@ -142127,7 +147718,7 @@ msgid "" "I spent a lot of time rummaging for rhubarb and bits of vegetables in the " "forest before I found the courage to start picking off some of those dead " "monsters. I guess I was getting desperate." -msgstr "我花了很多时间在森林里搜寻大黄和一些能食用的野菜,直到我鼓起勇气开始翻找那些死去怪物的尸体。我想我那时候是够孤注一掷的。" +msgstr "我花了很多时间在森林里采集大黄和一些能食用的野菜,直到我鼓起勇气开始翻找那些死去怪物的尸体。我想我那时候是够孤注一掷的。" #: lang/json/talk_topic_from_json.py msgid "And that's it? You spent months just living off the land?" @@ -142262,7 +147853,7 @@ msgid "" "a pretty good life compared to those first few months." msgstr "" "嗯,我在那里过得还不赖,但最终我开始变得有点发疯。下面总是黑乎乎的,还有点冷,而且只能靠吃捡来的垃圾食品过日子……一个灵魂只能在那种环境下活这么久。当地上开始变暖,白天时间变长之后,我决定再勇敢一点。我已经学到了很多关于" -" 的知识,在那之后我就能过得很好了。我在好几个地方露营过,搜寻浆果之类的东西填肚子,与前几个月相比,我过着相当好的生活。" +" 的知识,在那之后我就能过得很好了。我在好几个地方露营过,采集浆果之类的东西填肚子,与前几个月相比,我过着相当好的生活。" #: lang/json/talk_topic_from_json.py msgid "" @@ -142286,7 +147877,7 @@ msgid "Giant bees? Tell me more." msgstr "巨型蜜蜂?多和我讲讲吧。" #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive..." +msgid "But bees aren't usually aggressive…" msgstr "但蜜蜂通常并不好斗啊……" #: lang/json/talk_topic_from_json.py @@ -142300,7 +147891,7 @@ msgstr "" " 鸡一样逃跑了。" #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive... Do you mean wasps?" +msgid "But bees aren't usually aggressive… Do you mean wasps?" msgstr "但蜜蜂通常不是并不好斗啊……你是说黄蜂吗?" #: lang/json/talk_topic_from_json.py @@ -142748,7 +148339,7 @@ msgid "No. I can't. Just, no." msgstr "不行,我做不到。就是,不行。" #: lang/json/talk_topic_from_json.py -msgid "Sorry... I'll let you be." +msgid "Sorry… I'll let you be." msgstr "对不起……我会让你一个人呆一会的。" #: lang/json/talk_topic_from_json.py @@ -143006,7 +148597,7 @@ msgstr "" "好吧,那些被提及的引用感觉不太对。帕特引用了许多我们从未玩过的情节。情节很接近,但不对,当我把这些碎片拼到一起时,它讲述了一个故事。关于一名学者的故事,他的孩子被一个腐败的政府俘虏,被迫为他们研究黑魔法。然后是最关键的地方:一个黑魔法已经失控的警告,一个所有英雄都必须在这个王国倒下前赶紧离开的警告。" #: lang/json/talk_topic_from_json.py -msgid "Okay..." +msgid "Okay…" msgstr "好吧……" #: lang/json/talk_topic_from_json.py @@ -143408,7 +148999,7 @@ msgid "What do you think happened?" msgstr "你觉得发生了什么?" #: lang/json/talk_topic_from_json.py -msgid "That does sound a little crazy..." +msgid "That does sound a little crazy…" msgstr "听起来确实有点疯狂……" #: lang/json/talk_topic_from_json.py @@ -143462,7 +149053,7 @@ msgid "What happened to you after that?" msgstr "之后你又发生了什么?" #: lang/json/talk_topic_from_json.py -msgid "It can't be healthy to abandon your past like that..." +msgid "It can't be healthy to abandon your past like that…" msgstr "就这样抛弃你的过去可不太健康……" #: lang/json/talk_topic_from_json.py @@ -143934,7 +149525,7 @@ msgid "" msgstr "我的故事。哈,没什么特别的。我曾有很多人,但他们已经都和主在一起了。我不明白祂为什么不把我也带走,但我想时机合适的时候一切都会水落石出的。" #: lang/json/talk_topic_from_json.py -msgid "Do you mean in a religious sense, or...?" +msgid "Do you mean in a religious sense, or…?" msgstr "你是说在宗教意义上,还是……?" #: lang/json/talk_topic_from_json.py @@ -144279,8 +149870,8 @@ msgstr "结果怎样?" #: lang/json/talk_topic_from_json.py msgid "" -"If I got you the right stuff, do you think you'd be able to like... do " -"science to it?" +"If I got you the right stuff, do you think you'd be able to like… do science" +" to it?" msgstr "如果我给你一些合适的玩意,你觉得你能不能够……对它进行科学研究?" #: lang/json/talk_topic_from_json.py @@ -144401,8 +149992,8 @@ msgid "" msgstr "哦,这可是个不错的故事。 在我的婚礼那天发生了。" #: lang/json/talk_topic_from_json.py -msgid "Oh, I'm sorry..." -msgstr "哦,抱歉…… " +msgid "Oh, I'm sorry…" +msgstr "哦,抱歉……" #: lang/json/talk_topic_from_json.py msgid "" @@ -144510,7 +150101,7 @@ msgstr "你好,杰克和克莱尔让我找你谈干活的事情。" #: lang/json/talk_topic_from_json.py msgid "" "It is coming together. I want to make our own tools, repair our items and " -"even create some weapons and ammuntion reloading." +"even create some weapons and ammunition reloading." msgstr "就快做好了。我的目标是能够自己制作工具、修理物品甚至制造武器和复装弹药。" #: lang/json/talk_topic_from_json.py @@ -144523,7 +150114,7 @@ msgstr "我听说巴里的事了,你能告诉我是什么抓走了他吗?" #: lang/json/talk_topic_from_json.py msgid "" -"It was pink and really fast, it had lots of limbs, definitly not human. It " +"It was pink and really fast, it had lots of limbs, definitely not human. It " "easily kept up with us when we tried to escape, horrifying stuff. Barry " "just dropped to the ground, and the thing swept him away." msgstr "它是粉色的,速度很快,有很多附肢,肯定不是人类。当我们逃跑时,它能够轻易跟上,太恐怖了。巴里最终不慎摔倒在地,而那个东西随即掳走了他。" @@ -144572,7 +150163,7 @@ msgstr "你好?" #: lang/json/talk_topic_from_json.py msgid "" -"I see that badge, You need to leave our land, my relatives have no fondess " +"I see that badge, You need to leave our land, my relatives have no fondness " "for Marshals." msgstr "我看到那个徽章了,你最好马上离开我们的地盘,我家里对执法官没什么好感。" @@ -144735,7 +150326,7 @@ msgid "He did mention you make remedies, are they effective?" msgstr "他的确说过你会做草药,它们有效吗?" #: lang/json/talk_topic_from_json.py -msgid "I'd like to ask you something else..." +msgid "I'd like to ask you something else…" msgstr "我想问你点别的事……" #: lang/json/talk_topic_from_json.py @@ -144879,10 +150470,6 @@ msgstr "卡洛斯在哪?" msgid "Hello traveler, what brings you here?" msgstr "你好,旅行者,你来这有什么事吗?" -#: lang/json/talk_topic_from_json.py -msgid "Hello travler, what brings you here?" -msgstr "你好,旅行者,你来这有什么事吗?" - #: lang/json/talk_topic_from_json.py msgid "I'm here to deliver some resources." msgstr "我来给你一些物资。" @@ -144908,7 +150495,7 @@ msgstr "你全家都活下来了?" #: lang/json/talk_topic_from_json.py msgid "" "We've had our losses... now we stay close to home, preparing for trouble. " -"We've always taken disaster prepardness seriously, but we didn't expect " +"We've always taken disaster preparedness seriously, but we didn't expect " "anything like this though." msgstr "我们也有失去的人……现在我们待在家附近,随时准备应对麻烦。我们以前就对应对灾难的准备非常重视,但是我们没想到会有这种级别的灾难。" @@ -144959,7 +150546,7 @@ msgstr "艾迪的奶场在路那边。自从巴里被树林里的那个怪物抓 #: lang/json/talk_topic_from_json.py msgid "" -"You should get off my land, the governemnt proved its incompetence with this" +"You should get off my land, the government proved its incompetence with this" " catastrophe." msgstr "你最好马上离开我的地盘,这次灾难早就显示了政府的无能。" @@ -145034,7 +150621,8 @@ msgid "I'd like to speak with Carlos too about some work." msgstr "我还想和卡洛斯谈谈干活的事情。" #: lang/json/talk_topic_from_json.py -msgid "Is Chris around? I'd like to know what he's run into out in the woods." +msgid "" +"Is Chris around? I'd like to know what he's run into out in the woods." msgstr "克里斯在吗?我想知道他在树林里遇到了什么。" #: lang/json/talk_topic_from_json.py @@ -145191,18 +150779,18 @@ msgstr "这儿没人会帮你。" msgid "Tell me about your dad." msgstr "和我说说你爸吧。" -#: lang/json/talk_topic_from_json.py -msgid "" -"Ma'am, I don't know how the hell you got down here but if you have any sense" -" you'll get out while you can." -msgstr "女士,我不知道你怎么到这里来的。只要稍微有点理智,趁着你还能离开,赶紧走吧。" - #: lang/json/talk_topic_from_json.py msgid "" "Sir, I don't know how the hell you got down here but if you have any sense " "you'll get out while you can." msgstr "先生,我不知道你是怎么到这里来的。如果你还有点理智的话,趁现在你还能离开,赶紧走吧。" +#: lang/json/talk_topic_from_json.py +msgid "" +"Ma'am, I don't know how the hell you got down here but if you have any sense" +" you'll get out while you can." +msgstr "女士,我不知道你怎么到这里来的。只要稍微有点理智,趁着你还能离开,赶紧走吧。" + #: lang/json/talk_topic_from_json.py msgid "Marshal, I hope you're here to assist us." msgstr "执法官,我希望你是来帮忙的。" @@ -145220,15 +150808,15 @@ msgid "What do you need done?" msgstr "你需要我干什么?" #: lang/json/talk_topic_from_json.py -msgid "About the mission..." +msgid "About the mission…" msgstr "关于任务……" #: lang/json/talk_topic_from_json.py -msgid "About one of those missions..." +msgid "About one of those missions…" msgstr "关于任务之一……" #: lang/json/talk_topic_from_json.py -msgid "I've got to go..." +msgid "I've got to go…" msgstr "我该走了……" #: lang/json/talk_topic_from_json.py @@ -145245,7 +150833,7 @@ msgstr "" "我带领了我们连队剩下的人马来执行重新控制该设施的任务。我们两打队员进入了这个建筑群,并当即进入并保卫了这间控制室。从这里我又派了些人去控制这一层和下一层的关键系统。如果我们成功了的话,这座设施就可以作为我们连队在本地区执行任务时的永久基地了。最重要的是这里可以让我们将一部分难民从一些过于拥挤的避难所里分流过来,同时解放出更多人手来从事其他修复工作。" #: lang/json/talk_topic_from_json.py -msgid "Seems like a decent plan..." +msgid "Seems like a decent plan…" msgstr "看起来是个不错的计划……" #: lang/json/talk_topic_from_json.py @@ -145264,7 +150852,7 @@ msgstr "" "这座建筑原本是作为全球核冲突爆发之后的安全庇护所而修建的。如果所有设备都正常运作并且有专人控制的话,这个避难所可以让几千人在地下安全生活上几年。不幸的是,供电系统在某个时候受损或是被故意破坏了,并爆发了一次足够致人死亡的辐射。这次灾难性事故使得所有位于地下二层和更低层的人在几分钟之内全部死于非命。而那些在本层工作的人们在死于辐射病之前成功封死了通往下层的通道。记录中还提到另一件事,所有水下被重新导入到更底层去了。" #: lang/json/talk_topic_from_json.py -msgid "Whatever they did it must have worked since we are still alive..." +msgid "Whatever they did it must have worked since we are still alive…" msgstr "不论他们做了什么,都一定成功了。因为我们还活着……" #: lang/json/talk_topic_from_json.py @@ -145299,7 +150887,7 @@ msgid "" msgstr "我们正在保卫着这座设施的对外通讯阵列。都是些保密资料,我不知道该透露些什么……如果你有任何问题,去找我的指挥官。" #: lang/json/talk_topic_from_json.py -msgid "I'll try and find your commander then..." +msgid "I'll try and find your commander then…" msgstr "我会去找你的指挥官的……" #: lang/json/talk_topic_from_json.py @@ -145360,7 +150948,7 @@ msgid "I'm supposed to direct all questions to my leadership, marshal." msgstr "执法官,我想你该向我领导问这些问题。" #: lang/json/talk_topic_from_json.py -msgid "Don't mind me..." +msgid "Don't mind me…" msgstr "忙你的吧……" #: lang/json/talk_topic_from_json.py @@ -145618,17 +151206,17 @@ msgstr "好的!那我们走吧。" msgid "Have I told you about cardboard, friend? Do you have any?" msgstr "我跟你说过硬纸板的事吗,朋友?你有吗?" -#: lang/json/talk_topic_from_json.py -msgid "We've done it! We've solved the list!" -msgstr "成功了!购物清单完成了!" - #: lang/json/talk_topic_from_json.py msgid "" "How's things with you? My cardboard collection is getting quite impressive." msgstr "近况如何?我收集的纸箱越来越多了!" #: lang/json/talk_topic_from_json.py -msgid "About that shopping list of yours..." +msgid "We've done it! We've solved the list!" +msgstr "成功了!购物清单完成了!" + +#: lang/json/talk_topic_from_json.py +msgid "About that shopping list of yours…" msgstr "关于你的购物清单……" #: lang/json/talk_topic_from_json.py @@ -145694,7 +151282,7 @@ msgid "Would you like me to give you some cardboard?" msgstr "你要我给你一些纸板箱吗?" #: lang/json/talk_topic_from_json.py -msgid "I think I have to get going..." +msgid "I think I have to get going…" msgstr "我想我得走了……" #: lang/json/talk_topic_from_json.py @@ -145724,8 +151312,8 @@ msgid "" msgstr "如果你不知道他是谁,我也绝不告诉你。他跟每个人都说话,如果你没听到他的声音,那就说明你不可信,帮不了我。" #: lang/json/talk_topic_from_json.py -msgid "... What were you saying before?" -msgstr "你刚才说什么来着?" +msgid "…What were you saying before?" +msgstr "……你刚才说什么来着?" #: lang/json/talk_topic_from_json.py msgid "" @@ -145742,7 +151330,7 @@ msgid "No." msgstr "没有。" #: lang/json/talk_topic_from_json.py -msgid "I... I can see you wearing it. Why are you wearing that?" +msgid "I… I can see you wearing it. Why are you wearing that?" msgstr "我……我看到你穿着它。你为什么穿这个?" #: lang/json/talk_topic_from_json.py @@ -145834,7 +151422,7 @@ msgid "I found a sample of alien fungus for you." msgstr "我给你带来了一个异界真菌的样本。" #: lang/json/talk_topic_from_json.py -msgid "Ok... see ya." +msgid "Ok… see ya." msgstr "好吧……回头见。" #: lang/json/talk_topic_from_json.py @@ -145935,8 +151523,8 @@ msgstr "我不在乎你是不是中国人。如果你愿意,你可以和我一 #: lang/json/talk_topic_from_json.py msgid "" -"I mean, racism could definitely be a part of it... but you are visibly in " -"poor shape. They need strong survivor material." +"I mean, racism could definitely be a part of it… but you are visibly in poor" +" shape. They need strong survivor material." msgstr "我是说,肯定有一部分是种族主义……但你的体型显然不符合要求。他们需要强壮有力的那类幸存者。" #: lang/json/talk_topic_from_json.py @@ -145968,7 +151556,7 @@ msgid "You sound more optimistic than usual." msgstr "你看起来比平时更乐观。" #: lang/json/talk_topic_from_json.py -msgid "So, about that doctorate of yours..." +msgid "So, about that doctorate of yours…" msgstr "所以,关于你的博士学位……" #: lang/json/talk_topic_from_json.py @@ -146098,7 +151686,7 @@ msgstr "不,不,我不知道,不过我想你不会和我卖关子的。外 #: lang/json/talk_topic_from_json.py msgid "" "Encroaching alien mushrooms, fungal towers, tough mycelium invading ground " -"and trees, zombies taken over by aggressive mold... Yeah. It's ugly stuff." +"and trees, zombies taken over by aggressive mold… Yeah. It's ugly stuff." msgstr "异界入侵的蘑菇,真菌塔,坚硬的菌丝侵入地面和树木,丧尸被侵略性的真菌接管……是的。可怕的玩意。" #: lang/json/talk_topic_from_json.py @@ -146178,7 +151766,7 @@ msgstr "我看看能做些什么。" #: lang/json/talk_topic_from_json.py msgid "Hey, are you a big fan of survival of the fittest?" -msgstr "嘿,你还相信适者生存吗?" +msgstr "嘿,你相信适者生存吗?" #: lang/json/talk_topic_from_json.py msgid "Thanks again for the grub, my friend." @@ -146213,7 +151801,7 @@ msgid "" msgstr "哦,你知道的,和平时一样:坐在这里直到饿死,和戴夫玩牌,诸如此类的事。" #: lang/json/talk_topic_from_json.py -msgid "I could maybe help you out... want something to eat?" +msgid "I could maybe help you out… want something to eat?" msgstr "我也许能帮你……想吃点什么吗?" #: lang/json/talk_topic_from_json.py @@ -146628,7 +152216,7 @@ msgid "" msgstr "除了我刚才说的以外,没别的了。没有足够的活干,也没有足够的食物吃。即使网没挂,我关注的所有youtube主播都已经死了。" #: lang/json/talk_topic_from_json.py -msgid "You seem a little forward..." +msgid "You seem a little forward…" msgstr "你看起来有点无礼……" #: lang/json/talk_topic_from_json.py @@ -146862,7 +152450,7 @@ msgid "" "Well, now that you mention it, with the back bay cleared I could probably " "set up back there and start work. I'll think about it, get back to me " "later." -msgstr "好吧,既然你提到了,把后院清理干净后,我就可以在那里安顿下来开始工作了。我会考虑一下,回头再找我。" +msgstr "好吧,你这么一说我才想到,现在后院清理干净了,我也许可以在那里安顿下来开始工作了。我会考虑一下,回头再找我。" #: lang/json/talk_topic_from_json.py msgid "" @@ -146886,8 +152474,8 @@ msgid "" msgstr "你丈夫让我问你,如果让你离开这个地方前往我的营地为我工作,你觉得怎么样?" #: lang/json/talk_topic_from_json.py -msgid "About that sourdough starter you had me looking for..." -msgstr "关于你让我找到那个酸面团……" +msgid "About that sourdough starter you had me looking for…" +msgstr "关于你让我找的那个酸面团……" #: lang/json/talk_topic_from_json.py msgid "Got any more bread I can trade flour for?" @@ -147188,7 +152776,7 @@ msgid "I think I would've done the same. Nobody around here has a guitar?" msgstr "我想我也会这么做的。这里没人有吉他吗?" #: lang/json/talk_topic_from_json.py -msgid "Yes, yes I would... you monster." +msgid "Yes, yes I would… you monster." msgstr "是的,是的,我会……你这个怪物。" #: lang/json/talk_topic_from_json.py @@ -147653,7 +153241,7 @@ msgstr "" "在大灾变之前,我是个电工。在这里的鲍里斯是我的姐夫,我们是一个正经的承包商团队。当撤离通报发出时,我们和我们的……和我们的家人离开了。我们被困在一个拥挤的避难所里,然后又被困在一辆拥挤的巴士上。然后……一切都出了问题。巴士被怪物袭击,撞毁了。几乎所有人都死了。我们有几人活了下来……但是不够。" #: lang/json/talk_topic_from_json.py -msgid "You lost someone..." +msgid "You lost someone…" msgstr "你失去了爱人……" #: lang/json/talk_topic_from_json.py @@ -148108,7 +153696,7 @@ msgstr "俺的故事?俺只是一个流浪的牛仔,天天在路上吃灰。 #: lang/json/talk_topic_from_json.py msgid "" -"You... you do know what's going on here, right? With the evacuation and " +"You… you do know what's going on here, right? With the evacuation and " "stuff?" msgstr "你……你知道这里发生过的事吧?疏散和其他的事?" @@ -148822,7 +154410,7 @@ msgid "Are you looking to buy anything else?" msgstr "你还想买点其他的吗?" #: lang/json/talk_topic_from_json.py -msgid "Very well... let's talk about something else." +msgid "Very well… let's talk about something else." msgstr "很好……那,我们换个话题吧。" #: lang/json/talk_topic_from_json.py @@ -149150,8 +154738,8 @@ msgid "Have you seen anyone who might be hiding something?" msgstr "你有发现谁在藏着什么吗?" #: lang/json/talk_topic_from_json.py -msgid "Bye..." -msgstr "拜拜。" +msgid "Bye…" +msgstr "再见……" #: lang/json/talk_topic_from_json.py msgid "" @@ -149164,15 +154752,15 @@ msgid "Keep your head down and stay out of my way." msgstr "保持低调,然后别挡老子的路!" #: lang/json/talk_topic_from_json.py -msgid "OK..." -msgstr "OK……" +msgid "OK…" +msgstr "好吧……" #: lang/json/talk_topic_from_json.py msgid "Like what?" msgstr "像是什么?" #: lang/json/talk_topic_from_json.py -msgid "I'm not sure..." +msgid "I'm not sure…" msgstr "我不确定……" #: lang/json/talk_topic_from_json.py @@ -149192,7 +154780,7 @@ msgid "Got something to hide?" msgstr "藏什么呢?" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I didn't mean to offend you..." +msgid "Sorry, I didn't mean to offend you…" msgstr "对不起,我无意冒犯……" #: lang/json/talk_topic_from_json.py @@ -149235,16 +154823,16 @@ msgstr "文明点,否则我对你不客气。" msgid "Just on watch, move along." msgstr "我就是个站岗的。走开。" -#: lang/json/talk_topic_from_json.py -msgid "Ma'am, you really shouldn't be traveling out there." -msgstr "女士,你真的不该到处乱跑。" - #: lang/json/talk_topic_from_json.py msgid "Rough out there, isn't it?" msgstr "外面很难活下去,不是吗?" #: lang/json/talk_topic_from_json.py -msgid "I heard this place was a refugee center..." +msgid "Ma'am, you really shouldn't be traveling out there." +msgstr "女士,你真的不该到处乱跑。" + +#: lang/json/talk_topic_from_json.py +msgid "I heard this place was a refugee center…" msgstr "我听说这是一个难民中心……" #: lang/json/talk_topic_from_json.py @@ -149268,8 +154856,8 @@ msgid "Can I do anything for the center?" msgstr "[任务]我能为中心做些什么?" #: lang/json/talk_topic_from_json.py -msgid "I figured you might be looking for some help..." -msgstr "我觉得你似乎正在寻求帮助……" +msgid "I figured you might be looking for some help…" +msgstr "我想你似乎正在寻求帮助……" #: lang/json/talk_topic_from_json.py msgid "Well, I'd better be going. Bye." @@ -149322,9 +154910,9 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"[INT 10] Wait, six buses and refugees... how many people do you still have " +"[INT 10] Wait, six buses and refugees… how many people do you still have " "crammed in here?" -msgstr "[智力 10]等等,一开始六卡车和后来的难民……你这里现在塞了多少人啊?" +msgstr "[智力 10] 等等,一开始六卡车和后来的难民……你这里现在塞了多少人啊?" #: lang/json/talk_topic_from_json.py msgid "" @@ -149374,7 +154962,7 @@ msgid "I'm sorry, not a risk we are willing to take right now." msgstr "对不起,我们现在不愿意冒这个险。" #: lang/json/talk_topic_from_json.py -msgid "Fine..." +msgid "Fine…" msgstr "好吧……" #: lang/json/talk_topic_from_json.py @@ -149387,8 +154975,8 @@ msgstr "" "我说过根本就他妈不可能!我们这里曾经来过一个浑身长着该死的毛皮的家伙……现在想想也不算是最奇怪的事,但我知道外面那些让他变异的有毒废料肯定还在外面某个地方,而且肯定不仅仅是让他变异出长毛那么简单。" #: lang/json/talk_topic_from_json.py -msgid "Fine... *coughupyourscough*" -msgstr "好吧……*咳嗽咳嗽*" +msgid "Fine… *coughupyourscough*" +msgstr "好吧……*咳咳咳*" #: lang/json/talk_topic_from_json.py msgid "" @@ -149417,7 +155005,7 @@ msgid "[STR 11] I punch things in face real good!" msgstr "[力量 11] 拳头大是硬道理!" #: lang/json/talk_topic_from_json.py -msgid "I guess I'll look somewhere else..." +msgid "I guess I'll look somewhere else…" msgstr "我想我还是到其他地方去看看……" #: lang/json/talk_topic_from_json.py @@ -149439,7 +155027,7 @@ msgid "Heard of anything better than the odd gun cache?" msgstr "难道还有比奇怪的枪械储藏点更好搜刮的地方吗?" #: lang/json/talk_topic_from_json.py -msgid "Was hoping for something more..." +msgid "Was hoping for something more…" msgstr "还以为有什么好东西……" #: lang/json/talk_topic_from_json.py @@ -149544,7 +155132,7 @@ msgid "So what are you doing right now?" msgstr "那你现在在做什么?" #: lang/json/talk_topic_from_json.py -msgid "Never mind..." +msgid "Never mind…" msgstr "算了……" #: lang/json/talk_topic_from_json.py @@ -149569,7 +155157,7 @@ msgstr "" "关于不寻常的丧尸或新型变异的目击报告。我们对正在发生的事情了解得越多,我们就越能找到治疗,甚至是治愈的方法。虽然希望渺茫,但你需要有希望才能生存下去。" #: lang/json/talk_topic_from_json.py -msgid "Good luck with that..." +msgid "Good luck with that…" msgstr "祝你好运……" #: lang/json/talk_topic_from_json.py @@ -149614,8 +155202,8 @@ msgstr "" "嗨,那咱俩一个样啊。好吧,差不多一样。不过按我说,这会儿我们可没法开门迎客了。(悄声道)已经挤满了。地下室里吵吵嚷嚷的跟菜市场一样,真让人受不了。看到一进门那个商人了吗,这儿他说了算。" #: lang/json/talk_topic_from_json.py -msgid "Sucks..." -msgstr "那可麻烦了……" +msgid "Sucks…" +msgstr "我去……" #: lang/json/talk_topic_from_json.py msgid "" @@ -149629,7 +155217,7 @@ msgstr "" "你瞧,楼下有个家伙搞来了一台运作良好的气动加农炮。那玩意能把钢筋像……像加农炮一样射出去,而且还不出一丝声。低成本高效率,可不是吗?而且能用钢筋造各种自制武器怕是我列也列不完啊。不过要说起这最大的用途啊,那还得是继续建造各种防御工事。用钢筋造出来的防御工事,栅栏啊墙啊啥的,就没有啥怪物能够攻破的。" #: lang/json/talk_topic_from_json.py -msgid "Well, then..." +msgid "Well, then…" msgstr "好吧……" #: lang/json/talk_topic_from_json.py @@ -149716,8 +155304,8 @@ msgid "I thought I smelled a pig. I jest... please don't arrest me." msgstr "我似乎闻到了一头蠢猪的味道。开玩笑的……你可别抓我。" #: lang/json/talk_topic_from_json.py -msgid "You... smelled me?" -msgstr "你……在闻我?" +msgid "You… smelled me?" +msgstr "你……闻到了我?" #: lang/json/talk_topic_from_json.py msgid "Got anything for sale?" @@ -149767,8 +155355,8 @@ msgid "" msgstr "对啊。不管我抓到什么猎物,我都把肉品和其他部位带来这里卖。偶尔也能弄到写鲜鱼或是几篮野果,但没有什么能比上新鲜的碳烤驼鹿肉排当晚餐!" #: lang/json/talk_topic_from_json.py -msgid "Great, now my mouth is watering..." -msgstr "真棒,我都要流口水了……" +msgid "Great, now my mouth is watering…" +msgstr "行吧,我都要开始流口水了……" #: lang/json/talk_topic_from_json.py msgid "" @@ -149871,7 +155459,7 @@ msgstr "" " '理应' 给他们。这儿的大部分幸存者不会有他们想要的东西,因此他们受到英雄一般的欢迎。" #: lang/json/talk_topic_from_json.py -msgid "Hmmm..." +msgid "Hmmm…" msgstr "呣……" #: lang/json/talk_topic_from_json.py @@ -149919,7 +155507,7 @@ msgstr "" "在直到一名招募官来之前,你没法地真正加入我们。不过我们一直都欢迎大家来帮一把手,记得时常来问我有没有可以干的活。作为临时工,多完成任务可以让你在这群世上仅存的最有实力的人们中扬名立万。" #: lang/json/talk_topic_from_json.py -msgid "I haven't done anything wrong..." +msgid "I haven't done anything wrong…" msgstr "我什么坏事都没有干……" #: lang/json/talk_topic_from_json.py @@ -150089,7 +155677,7 @@ msgid "Something to say?" msgstr "有什么事吗?" #: lang/json/talk_topic_from_json.py -msgid "I charge hourly, so be quick..." +msgid "I charge hourly, so be quick…" msgstr "我这里按小时计费,所以快点……" #: lang/json/talk_topic_from_json.py @@ -150206,7 +155794,7 @@ msgstr "" "你注意到他们用来当作报酬的那些小小金币了么,要我说可真他妈奇了怪了。换做是别人得猜他们家有个金矿,但其实他们并没有,所以派我翻遍整个该死的世界找些金条来给他们。" #: lang/json/talk_topic_from_json.py -msgid "I guess I could help with that..." +msgid "I guess I could help with that…" msgstr "我想也许我能帮上点忙……" #: lang/json/talk_topic_from_json.py @@ -150317,7 +155905,7 @@ msgid "[$10] I'll get a haircut" msgstr "[$10] 给我剪个头" #: lang/json/talk_topic_from_json.py -msgid "Maybe another time..." +msgid "Maybe another time…" msgstr "下次再说吧……" #: lang/json/talk_topic_from_json.py @@ -150335,7 +155923,7 @@ msgid "Stand still while I get my clippers..." msgstr "请稍等,让我拿把剪刀来……" #: lang/json/talk_topic_from_json.py -msgid "Thanks..." +msgid "Thanks…" msgstr "谢了……" #: lang/json/talk_topic_from_json.py @@ -150355,7 +155943,7 @@ msgid "What do you have on tap?" msgstr "有什么喝的没有?" #: lang/json/talk_topic_from_json.py -msgid "I'll be going..." +msgid "I'll be going…" msgstr "我该走了……" #: lang/json/talk_topic_from_json.py @@ -150407,8 +155995,8 @@ msgid "" msgstr "我的搭档负责加固这个地方,你可以问问他有什么要做的。" #: lang/json/talk_topic_from_json.py -msgid "I'll talk to him then..." -msgstr "好吧我会去跟他谈谈……" +msgid "I'll talk to him then…" +msgstr "好吧,我会去跟他谈谈……" #: lang/json/talk_topic_from_json.py msgid "" @@ -150424,7 +156012,7 @@ msgid "I hope you are here to do business." msgstr "我希望你来这儿是做生意的。" #: lang/json/talk_topic_from_json.py -msgid "I'm interested in investing in agriculture..." +msgid "I'm interested in investing in agriculture…" msgstr "我想要投资点农田……" #: lang/json/talk_topic_from_json.py @@ -150451,11 +156039,11 @@ msgid "I imagine we might be able to work something out." msgstr "也许吧,我想我们能谈妥价格的。" #: lang/json/talk_topic_from_json.py -msgid "I was wondering if you could install a cybernetic implant..." +msgid "I was wondering if you could install a cybernetic implant…" msgstr "我需要你帮我安装生化插件……" #: lang/json/talk_topic_from_json.py -msgid "I need help removing an implant..." +msgid "I need help removing an implant…" msgstr "我需要你帮我移除生化插件……" #: lang/json/talk_topic_from_json.py @@ -150495,7 +156083,7 @@ msgstr "" "我自认是一个从不死生物的追杀中逃脱出来并过上自耕农般的贵族生活的幸运儿罢了。我们有宿舍和食堂,但除非收成很好,否则分不到自己劳作的一点成果。" #: lang/json/talk_topic_from_json.py -msgid "It could be worse..." +msgid "It could be worse…" msgstr "可能会更糟……" #: lang/json/talk_topic_from_json.py @@ -150505,8 +156093,8 @@ msgid "" msgstr "我没时间跟你聊天。如果你想交易或是找活干,去和工头或者农场主管聊聊。" #: lang/json/talk_topic_from_json.py -msgid "I'll talk with them then..." -msgstr "好吧我会去跟他们谈谈……" +msgid "I'll talk with them then…" +msgstr "好吧,我会去跟他们谈谈……" #: lang/json/talk_topic_from_json.py msgid "Morning ma'am, how can I help you?" @@ -150573,8 +156161,8 @@ msgstr "" "这么一大块栅栏围住的土地,只要再搞到些建材,我们可以建起一座村庄。原本我们想占据一个现成的小镇之类的地方,但耕地的匮乏和丧尸们的热情访问让我们明白,还是从头开始建设更来得实际。我原来呆的难民中心就一直在面临着饥荒和丧尸攻击的问题。" #: lang/json/talk_topic_from_json.py -msgid "Hopefully moving out here was worth it..." -msgstr "希望没白来一趟……" +msgid "Hopefully moving out here was worth it…" +msgstr "但愿我们搬到这外面来是值得的……" #: lang/json/talk_topic_from_json.py msgid "" @@ -150906,8 +156494,7 @@ msgstr "你格挡并且反击%s" msgid " blocks and counter-attacks %s" msgstr "格挡并且反击%s" -#: lang/json/technique_from_json.py lang/json/technique_from_json.py -#: src/game.cpp +#: lang/json/technique_from_json.py src/game.cpp msgid "Disarm" msgstr "缴械" @@ -151009,7 +156596,8 @@ msgstr "你从附近的墙上一跃而下,飞踢 %s" msgid " leaps off a nearby wall and dropkicks %s" msgstr " 从附近的墙上一跃而下,飞踢 %s" -#: lang/json/technique_from_json.py +#: lang/json/technique_from_json.py lang/json/technique_from_json.py +#: src/martialarts.cpp msgid "Grab Break" msgstr "反擒拿" @@ -151085,13 +156673,13 @@ msgstr "毒蛇疯咬" #: lang/json/technique_from_json.py #, python-format -msgid "You Snakebite %s" -msgstr "你用蛇咬击中了%s" +msgid "You lash out at %s with a Viper Bite" +msgstr "你有如毒蛇出洞,猛击了 %s" #: lang/json/technique_from_json.py #, python-format -msgid " Snakebites %s" -msgstr "用蛇咬击中了%s" +msgid " lash out at %s with a Viper Bite" +msgstr " 有如毒蛇出洞,猛击了 %s" #: lang/json/technique_from_json.py msgid "Viper Strike" @@ -151099,18 +156687,28 @@ msgstr "毒蛇猛击" #: lang/json/technique_from_json.py #, python-format -msgid "You Viper Strike %s" -msgstr "你用毒蛇掌猛击了%s" +msgid "You hit %s with a spectacular Viper Strike" +msgstr "你有如毒蛇出洞,精彩地猛击了 %s" #: lang/json/technique_from_json.py #, python-format -msgid " Viper Strikes %s" -msgstr "用毒蛇掌猛击了%s" +msgid " hits %s with a spectacular Viper Strike" +msgstr " 有如毒蛇出洞,精彩地猛击了 %s" #: lang/json/technique_from_json.py msgid "Viper Writhe" msgstr "毒蛇翻腾" +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you writhe free!" +msgstr "%s试图抓住你,但你扭动身体躲开了!" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they writhe free!" +msgstr "%s 试着抓住 ,但被扭动身体躲开了!" + #: lang/json/technique_from_json.py msgid "Roundhouse Kick" msgstr "回旋踢" @@ -151153,6 +156751,34 @@ msgstr "你用巨钳般的前臂猛击了 %s" msgid " jabs %s with a Pincer Fist" msgstr "用巨钳般的前臂猛击了%s" +#: lang/json/technique_from_json.py +msgid "Toad Smack" +msgstr "蛤蟆掴" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You disregard %s's attack and knock them down" +msgstr "你顶着%s的攻击将其一掌打倒" + +#: lang/json/technique_from_json.py +#, python-format +msgid " disregards %s's attack and knocks them down" +msgstr "顶着%s的攻击将其一掌打倒" + +#: lang/json/technique_from_json.py +msgid "Toad Slam" +msgstr "蛤蟆撞" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You meet %s's attack head on with a stunning counter" +msgstr "你顶着%s的攻击将其狠狠击晕" + +#: lang/json/technique_from_json.py +#, python-format +msgid " meet %s's attack head on with a stunning counter" +msgstr "顶着%s的攻击将其狠狠击晕" + #: lang/json/technique_from_json.py msgid "Toad's Tongue" msgstr "毒蟾吐舌" @@ -152637,341 +158263,353 @@ msgstr "你一把抓住并投摔 %s" msgid " grabs and throws %s" msgstr " 一把抓住并投摔 %s" +#: lang/json/technique_from_json.py +msgid "Hamstring" +msgstr "断筋" + #: lang/json/technique_from_json.py #, python-format -msgid "You disarm %s" -msgstr "你将%s缴械" +msgid "You ground %s with a low blow" +msgstr "你腿部肌肉瞬间爆发,用下段攻击击倒了%s" #: lang/json/technique_from_json.py #, python-format -msgid " disarms %s" -msgstr "缴械了%s" +msgid " grounds %s with a low blow" +msgstr "攻击下段把%s击倒了" #: lang/json/technique_from_json.py -msgid "precise strike" -msgstr "直击" +msgid "Vicious Precision" +msgstr "毒牙突刺" #: lang/json/technique_from_json.py #, python-format -msgid "You strike %s" -msgstr "你打击了%s" +msgid "You viciously wound %s" +msgstr "你残暴的打击了%s" #: lang/json/technique_from_json.py #, python-format -msgid " strikes %s" -msgstr "打击了%s" +msgid " viciously wounds %s" +msgstr "残暴的打击了%s!" #: lang/json/technique_from_json.py -msgid "axe-kick" -msgstr "斧踢" +msgid "Dirty Hit" +msgstr "偷袭" #: lang/json/technique_from_json.py #, python-format -msgid "You axe-kick %s" -msgstr "你单腿高抬,瞬间下劈,如战斧行刑般踢击%s" +msgid "You hit %s with a dirty blow" +msgstr "你给了%s一记损招" #: lang/json/technique_from_json.py #, python-format -msgid " axe-kicks %s" -msgstr "下劈%s" +msgid " delivers a dirty blow to %s" +msgstr "给了%s一记损招" #: lang/json/technique_from_json.py -msgid "side kick" -msgstr "侧踢" +msgid "Silat Brutality" +msgstr "苏拉暴击" #: lang/json/technique_from_json.py #, python-format -msgid "You side-kick %s" -msgstr "你侧向迎敌,稍稍垫步,带动惯性侧踢%s" +msgid "You brutally tear into %s" +msgstr "你无情地撕裂了 %s" #: lang/json/technique_from_json.py #, python-format -msgid " side-kicks %s" -msgstr "侧踢%s" +msgid " brutally tears into %s" +msgstr " 无情地撕裂了 %s" #: lang/json/technique_from_json.py -msgid "sweep kick" -msgstr "扫踢" +msgid "Snake Snap" +msgstr "快蛇猛袭" #: lang/json/technique_from_json.py #, python-format -msgid "You sweep-kick %s" -msgstr "你以弧线横向发力,用脚背至胫骨扫踢%s" +msgid "You swiftly jab %s" +msgstr "你迅速戳%s" #: lang/json/technique_from_json.py #, python-format -msgid " sweep-kicks %s" -msgstr "扫踢%s" +msgid " swiftly jabs %s" +msgstr "迅速戳%s" #: lang/json/technique_from_json.py -msgid "Drunk feint" -msgstr "醉拳佯攻" +msgid "Snake Slide" +msgstr "蛇形滑步" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble and leer at %s" -msgstr "你蹒跚几步后斜视%s" +msgid "You make serpentine hand motions at %s" +msgstr "你用毒蛇般蜿蜒曲折的招式击向了%s" #: lang/json/technique_from_json.py #, python-format -msgid " stumbles and leers at %s" -msgstr "蹒跚几步后斜视%s" +msgid " makes serpentine hand motions at %s" +msgstr "用毒蛇般蜿蜒曲折的招式击向了%s" #: lang/json/technique_from_json.py -msgid "Drunk counter" -msgstr "醉拳反击" +msgid "Snake Slither" +msgstr "蛇形移动" #: lang/json/technique_from_json.py #, python-format -msgid "You lurch, and your wild swing hits %s" -msgstr "你蹒跚而行,狂野的挥击并且击中了%s" +msgid "The %s tries to grab you, but you slither free!" +msgstr "%s试图抓住你,但你滑开了。" #: lang/json/technique_from_json.py #, python-format -msgid " lurches, and hits %s" -msgstr "蹒跚而行,并且击中了%s" +msgid "The %s tries to grab , but they slither free!" +msgstr "%s 试着抓住 ,但被滑开了!" #: lang/json/technique_from_json.py -msgid "hamstring" -msgstr "断筋" +msgid "Snake Strike" +msgstr "猛蛇强击" #: lang/json/technique_from_json.py #, python-format -msgid "You ground %s with a low blow" -msgstr "你腿部肌肉瞬间爆发,用下段攻击击倒了%s" +msgid "You lash out at %s with a vicious Snake Strike" +msgstr "你有如毒蛇出洞,猛击了 %s" #: lang/json/technique_from_json.py #, python-format -msgid " grounds %s with a low blow" -msgstr "攻击下段把%s击倒了" +msgid " lashes out at %s with a vicious Snake Strike" +msgstr " 有如毒蛇出洞,猛击了 %s" #: lang/json/technique_from_json.py -msgid "Vicious Precision" -msgstr "毒牙突刺" +msgid "Push" +msgstr "推开" #: lang/json/technique_from_json.py #, python-format -msgid "You viciously wound %s" -msgstr "你残暴的打击了%s" +msgid "You push %s away" +msgstr "你推开了%s" #: lang/json/technique_from_json.py #, python-format -msgid " viciously wounds %s" -msgstr "残暴的打击了%s!" +msgid " pushes %s away" +msgstr "推开了%s" #: lang/json/technique_from_json.py -msgid "Silat Brutality" -msgstr "苏拉暴击" +msgid "Shove" +msgstr "猛推" #: lang/json/technique_from_json.py #, python-format -msgid "You send %s reeling backwards" -msgstr "你一记重击让%s踉跄后退" +msgid "You shove %s back" +msgstr "你猛推了%s回去" #: lang/json/technique_from_json.py -msgid "Dirty Hit" -msgstr "偷袭" +#, python-format +msgid " shoves %s back" +msgstr "猛推了%s回去" #: lang/json/technique_from_json.py #, python-format -msgid "You hit %s with a dirty blow" -msgstr "你给了%s一记损招" +msgid "You deftly trip %s" +msgstr "你熟练地绊倒了%s" #: lang/json/technique_from_json.py #, python-format -msgid " delivers a dirty blow to %s" -msgstr "给了%s一记损招" +msgid " deftly trips %s" +msgstr "熟练地绊倒了%s " #: lang/json/technique_from_json.py -msgid "Tiger Takedown" -msgstr "猛虎扑击" +msgid "Snatch Weapon" +msgstr "缴械" #: lang/json/technique_from_json.py #, python-format -msgid "You grab and ground %s" -msgstr "你一把抓住并按倒%s" +msgid "You snatch %s's weapon" +msgstr "你夺取了%s的武器" #: lang/json/technique_from_json.py #, python-format -msgid " grabs and grounds %s" -msgstr "一把抓住并按倒%s" +msgid " snatches %s's weapon" +msgstr "夺取了%s的武器" #: lang/json/technique_from_json.py -msgid "Snake Snap" -msgstr "快蛇猛袭" +msgid "Axe-kick" +msgstr "下劈腿" #: lang/json/technique_from_json.py #, python-format -msgid "You swiftly jab %s" -msgstr "你迅速戳%s" +msgid "You raise your heel and axe-kick %s" +msgstr "你下劈腿攻击%s" #: lang/json/technique_from_json.py #, python-format -msgid " swiftly jabs %s" -msgstr "迅速戳%s" +msgid " raises their heel and axe-kicks %s" +msgstr "下劈腿攻击%s" #: lang/json/technique_from_json.py -msgid "Snake Slide" -msgstr "蛇形滑步" +msgid "Side Kick" +msgstr "侧踢" #: lang/json/technique_from_json.py #, python-format -msgid "You make serpentine hand motions at %s" -msgstr "你用毒蛇般蜿蜒曲折的招式击向了%s" +msgid "You turn slightly and side-kick %s" +msgstr "你侧向迎敌,稍稍垫步,带动惯性侧踢%s" #: lang/json/technique_from_json.py #, python-format -msgid " makes serpentine hand motions at %s" -msgstr "用毒蛇般蜿蜒曲折的招式击向了%s" +msgid " turns slightly and side-kicks %s" +msgstr "侧向迎敌,稍稍垫步,带动惯性侧踢%s" #: lang/json/technique_from_json.py -msgid "Snake Slither" -msgstr "蛇形移动" +#, python-format +msgid "You crouch low and sweep-kick %s" +msgstr "你以弧线横向发力,用脚背至胫骨扫踢 %s" #: lang/json/technique_from_json.py #, python-format -msgid "The %s tries to grab you, but you slither free!" -msgstr "%s试图抓住你,但你滑开了。" +msgid " crouches low and sweep-kicks %s" +msgstr "以弧线横向发力,用脚背至胫骨扫踢 %s" #: lang/json/technique_from_json.py #, python-format -msgid "The %s tries to grab , but they slither free!" -msgstr "%s 试着抓住 ,但被滑开了!" +msgid "You gently disarm %s" +msgstr "你轻松地将%s缴械" #: lang/json/technique_from_json.py -msgid "Snake Strike" -msgstr "猛蛇强击" +#, python-format +msgid " gently disarms %s" +msgstr "轻松地将%s缴械" + +#: lang/json/technique_from_json.py +msgid "Palm Strike" +msgstr "金刚掌" #: lang/json/technique_from_json.py #, python-format -msgid "You strike out at %s" -msgstr "你击打%s" +msgid "You palm strike %s" +msgstr "你给了%s一记金刚掌" #: lang/json/technique_from_json.py #, python-format -msgid " strikes out at %s" -msgstr "击打%s" +msgid " palm strikes %s" +msgstr "给了%s一记金刚掌" #: lang/json/technique_from_json.py -msgid "slow strike" -msgstr "慢击" +msgid "Grasp the Sparrow's Tail" +msgstr "揽雀尾" #: lang/json/technique_from_json.py #, python-format -msgid "You slowly strike %s" -msgstr "你缓慢的打击了%s" +msgid "You divert %s's attack and lead them to the ground" +msgstr "你使出揽雀尾,躲开了%s的攻击,并把它摔倒在地" #: lang/json/technique_from_json.py #, python-format -msgid " slowly strikes %s" -msgstr "缓慢的打击了%s" +msgid " diverts %s's attack and lead them to the ground" +msgstr "使出揽雀尾,躲开了%s的攻击,并把它摔倒在地" #: lang/json/technique_from_json.py -msgid "phasing strike" -msgstr "相位攻击" +msgid "Double Palm Strike" +msgstr "大力金刚掌" #: lang/json/technique_from_json.py #, python-format -msgid "You phase-strike %s" -msgstr "你相位攻击了%s" +msgid "You double-handed palm strike %s" +msgstr "你给了%s一记大力金刚掌" #: lang/json/technique_from_json.py #, python-format -msgid " phase-strikes %s" -msgstr "相位攻击了%s" +msgid " double-handed palm strikes %s" +msgstr "给了%s一记大力金刚掌" #: lang/json/technique_from_json.py -msgid "Push" -msgstr "推开" +msgid "Tiger Palm" +msgstr "猛虎掌" #: lang/json/technique_from_json.py #, python-format -msgid "You push %s away" -msgstr "你推开了%s" +msgid "You land a heavy tiger palm on %s" +msgstr "你使出一记猛虎掌猛击%s" #: lang/json/technique_from_json.py #, python-format -msgid " pushes %s away" -msgstr "推开了%s" +msgid " lands a heavy tiger palm on %s" +msgstr "使出一记猛虎掌猛击%s" #: lang/json/technique_from_json.py -#, python-format -msgid "You deftly trip %s" -msgstr "你熟练地绊倒了%s" +msgid "Tiger Takedown" +msgstr "猛虎扑击" #: lang/json/technique_from_json.py #, python-format -msgid " deftly trips %s" -msgstr "熟练地绊倒了%s " +msgid "You slam %s to the ground" +msgstr "你将%s击倒在地" #: lang/json/technique_from_json.py -msgid "Skewer" -msgstr "穿刺" +#, python-format +msgid " slams %s to the ground" +msgstr "把%s击倒在地" #: lang/json/technique_from_json.py -#, python-format -msgid "You brutally skewer %s" -msgstr "你无情地穿刺了%s" +msgid "Straight Punch" +msgstr "直拳" #: lang/json/technique_from_json.py #, python-format -msgid " brutally skewers %s" -msgstr "无情地穿刺了%s" +msgid "You deliver a vertical straight punch to %s" +msgstr "你一记直拳猛击%s" #: lang/json/technique_from_json.py -msgid "Chain Punch" -msgstr "子午连环捶" +#, python-format +msgid " delivers a vertical straight punch to %s" +msgstr "一记直拳猛击%s" -#. ~ Description for Chain Punch #: lang/json/technique_from_json.py -msgid "50% moves, 66% damage, knockback and follow" -msgstr "50%行动点消耗,66%伤害,击退和追踪" +msgid "Straight Punch (Knockback)" +msgstr "直拳(击退)" #: lang/json/technique_from_json.py #, python-format -msgid "You chain strike %s" -msgstr "你连续捶击%s" +msgid "You force %s back with a vertical straight punch" +msgstr "你一记直拳猛击击退%s" #: lang/json/technique_from_json.py #, python-format -msgid " chain strikes %s" -msgstr "连续捶击%s" +msgid " forces %s back with a vertical straight punch" +msgstr "一记直拳猛击击退%s" #: lang/json/technique_from_json.py -msgid "You position yourself well and slip out of a grab" -msgstr "你灵活地位移,挣脱出来" +msgid "L-hook" +msgstr "左勾拳" #: lang/json/technique_from_json.py -msgid " slips out of a grab" -msgstr "挣脱了!" +#, python-format +msgid "You deliver a solid L-hook to %s" +msgstr "你一记左勾拳稳稳击中%s" #: lang/json/technique_from_json.py -msgid "ask the way" -msgstr "问路手" +#, python-format +msgid " delivers a solid L-hook to %s" +msgstr "一记左勾拳稳稳击中%s" #: lang/json/technique_from_json.py -#, python-format -msgid "You miss but keep striking at %s" -msgstr "你打空了,但是继续击打%s" +msgid "L-hook (Knockback)" +msgstr "左勾拳(击退)" #: lang/json/technique_from_json.py #, python-format -msgid " misses but keeps striking at %s" -msgstr "打空了,但是继续击打%s" +msgid "You knock %s back with a solid L-hook" +msgstr "你一记左勾拳稳稳击退%s" #: lang/json/technique_from_json.py -msgid "White Crane stumble" -msgstr "白鹤寻狐" +#, python-format +msgid " knocks %s back with a solid L-hook" +msgstr "一记左勾拳稳稳击退%s" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble %s with your onslaught" -msgstr "你发起猛攻,绊倒了%s。" +msgid "Your attack misses %s but you don't let up" +msgstr "你的攻击未能命中%s,但没失去平衡" #: lang/json/technique_from_json.py #, python-format -msgid " stumbles %s" -msgstr "绊倒了%s" +msgid "'s attack misses %s but they don't let up" +msgstr "的攻击未能命中%s,但没失去平衡" #: lang/json/technique_from_json.py msgid "Receive and Counter" @@ -152987,6 +158625,72 @@ msgstr "你接下%s的攻击,并反转给对方" msgid " receives %s's attack, and counters" msgstr "接下%s的攻击,并反转它" +#: lang/json/technique_from_json.py +msgid "Drunken Feint" +msgstr "醉拳佯攻" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You stumble and leer at %s" +msgstr "你蹒跚几步后斜视%s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " stumbles and leers at %s" +msgstr "蹒跚几步后斜视%s" + +#: lang/json/technique_from_json.py +msgid "Drunk Counter" +msgstr "醉拳反击" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You lurch, and your wild swing hits %s" +msgstr "你蹒跚而行,狂野的挥击并且击中了%s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " lurches, and hits %s" +msgstr "蹒跚而行,并且击中了%s" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you stumble away!" +msgstr "%s试图抓住你,但被跌跌撞撞地躲开了!" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they stumble away!" +msgstr "%s试图抓住,但被跌跌撞撞地躲开了!" + +#: lang/json/technique_from_json.py +msgid "slow strike" +msgstr "慢击" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You slowly strike %s" +msgstr "你缓慢的打击了%s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " slowly strikes %s" +msgstr "缓慢的打击了%s" + +#: lang/json/technique_from_json.py +msgid "phasing strike" +msgstr "相位攻击" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You phase-strike %s" +msgstr "你相位攻击了%s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " phase-strikes %s" +msgstr "相位攻击了%s" + #: lang/json/technique_from_json.py msgid "Pressure Crunch" msgstr "重压碾碎" @@ -153620,7 +159324,7 @@ msgstr "深水码头木桩" #. ~ Description for deep dock pile #: lang/json/terrain_from_json.py msgid "" -"A sturdy pile made of wood extending all the way to the riverbed. A frame " +"A sturdy pile made of wood extending all the way to the riverbed. A frame " "will be required to support a surface." msgstr "一片固定在河床上的结实的木桩。它还需要一个框架才能支撑地板。" @@ -153631,8 +159335,8 @@ msgstr "深水码头框架" #. ~ Description for deep dock frame #: lang/json/terrain_from_json.py msgid "" -"A log frame secured atop a wooden pile. Adding a wood surface will make this" -" into a proper dock section." +"A log frame secured atop a wooden pile. Adding a wood surface will make " +"this into a proper dock section." msgstr "安装于木桩上的原木框架。再铺上木质的地板,这就是一个完整的码头了。" #: lang/json/terrain_from_json.py @@ -153642,7 +159346,7 @@ msgstr "深水码头" #. ~ Description for deep dock #: lang/json/terrain_from_json.py msgid "" -"A wooden platform held by a tall wooden pile that extend to the riverbed. " +"A wooden platform held by a tall wooden pile that extend to the riverbed. " "Very sturdy, and likely to outlast you." msgstr "固定在河床上的木桩所支撑的木质平台。它非常牢固,预期寿命可能比你还长。" @@ -154291,6 +159995,19 @@ msgid "" "wide open, allowing anything to travel through." msgstr "一扇商用等级的大门,用木头制成,上面有着一道门闩。这扇大门已经敞开,可以随意进出。" +#: lang/json/terrain_from_json.py +msgid "closed screen door" +msgstr "纱窗门(关)" + +#. ~ Description for closed screen door +#: lang/json/terrain_from_json.py +msgid "A simple wooden doorway with screen mesh." +msgstr "装有纱窗的简单木门。" + +#: lang/json/terrain_from_json.py +msgid "rattle!" +msgstr "格格作响!" + #: lang/json/terrain_from_json.py msgid "closed chickenwire gate" msgstr "铁丝网大门(关)" @@ -154301,10 +160018,6 @@ msgid "" "A gate for a chickenwire fence with a simple latch system to stay closed." msgstr "一种带有简单门闩的铁丝网围栏的门。" -#: lang/json/terrain_from_json.py -msgid "rattle!" -msgstr "格格作响!" - #: lang/json/terrain_from_json.py msgid "open chickenwire gate" msgstr "铁丝网大门(开)" @@ -154362,6 +160075,17 @@ msgstr "一种相当脆弱的高围栏,由2X4木板和编织铁丝制成,适 msgid "metal rattling!" msgstr "金属嘎嘎作响!" +#: lang/json/terrain_from_json.py +msgid "screen mesh wall" +msgstr "纱网墙" + +#. ~ Description for screen mesh wall +#: lang/json/terrain_from_json.py +msgid "" +"A rather flimsy tall wall made of 2x4s and screen mesh, suitable for keeping" +" the bugs out." +msgstr "一种相当脆弱的高墙,由2x4木板和纱网制成,可以用来阻挡蚊虫。" + #: lang/json/terrain_from_json.py msgid "chickenwire fence post" msgstr "铁丝网围栏桩" @@ -154686,7 +160410,7 @@ msgstr "木地板" #. ~ Description for wooden floor #: lang/json/terrain_from_json.py msgid "" -"Wooden floor created from boards, packed tightly together and nailed down. " +"Wooden floor created from boards, packed tightly together and nailed down. " "Common in patios." msgstr "木质楼板,由扎紧的木板钉牢而成。常见于露台。" @@ -154993,7 +160717,7 @@ msgstr "辐射平台" msgid "" "A dual purpose platform that serves as a containment, and as a device that " "exposes items places on in to the radioactive source, by temporarily " -"hoisting the radioactive material stored within. Operated from external " +"hoisting the radioactive material stored within. Operated from external " "console." msgstr "一种双用途平台,用作收容装置,以及通过暂时吊装存放在其中的放射性物质,将物品暴露在放射源中的装置。 从外部控制台操作。" @@ -155271,16 +160995,16 @@ msgstr "一棵在夏天能够结出樱桃果实的树,分类学上属于樱桃 #: lang/json/terrain_from_json.py msgid "juniper tree" -msgstr "桧树" +msgstr "杜松子树" #. ~ Description for juniper tree #: lang/json/terrain_from_json.py msgid "" "One of the species of 'Juniperus' that grows in New England, juniper berries" -" grow over two to three years, first flowering. On the second year producing" -" a green berry, the last, they produce their more famed blue varieties. If " -"you examined the foliage more closely, you could probably find some viable " -"clusters. You could also cut it down with the right tools." +" grow over two to three years, first flowering. On the second year " +"producing a green berry, the last, they produce their more famed blue " +"varieties. If you examined the foliage more closely, you could probably " +"find some viable clusters. You could also cut it down with the right tools." msgstr "" "生长在新英格兰的\"刺柏属\"物种之一,杜松子从开花算起需生长两到三年。第二年为绿色浆果,最后,才生出广为人知的蓝色种类。如果你仔细检查树叶,你可能会找到一些可用的果簇。你可以用合适的工具砍倒它。" @@ -155550,7 +161274,7 @@ msgstr "黄连木属的落叶树。它不是本地原生,而是人工栽培的 #: lang/json/terrain_from_json.py msgid "almond tree" -msgstr "杏仁树" +msgstr "扁桃树" #. ~ Description for almond tree #: lang/json/terrain_from_json.py @@ -155558,7 +161282,7 @@ msgid "" "A deciduous tree of the 'Prunus' genus. This is a cultivated tree, and is " "not native to this region. You could look for fresh almonds if you examined" " the tree more closely. You could cut it down with the right tools." -msgstr "李属的落叶树。它不是本地原生,而是人工栽培的。仔细搜索可以收获新鲜杏仁。可以用合适的工具砍倒它。" +msgstr "李属的落叶树。它不是本地原生,而是人工栽培的。仔细搜索可以收获新鲜扁桃仁。可以用合适的工具砍倒它。" #. ~ Description for almond tree #: lang/json/terrain_from_json.py @@ -155566,7 +161290,7 @@ msgid "" "A deciduous tree of the 'Prunus' genus. This is a cultivated tree, and is " "not native to this region. There are no almonds left to pick on the tree. " "You could cut it down with the right tools." -msgstr "李属的落叶树。它不是本地原生,而是人工栽培的。树上没留下可采收的杏仁。可以用合适的工具砍倒它。" +msgstr "李属的落叶树。它不是本地原生,而是人工栽培的。树上没留下可采收的扁桃仁。可以用合适的工具砍倒它。" #: lang/json/terrain_from_json.py msgid "pecan tree" @@ -155647,7 +161371,7 @@ msgstr "一小丛长着香脆花生的灌木丛。" #. ~ Description for peanut bush #: lang/json/terrain_from_json.py msgid "A small peanut bush that's fruitless." -msgstr "一小丛没有花生果实的灌木丛。" +msgstr "一小丛没有果实的花生丛。" #: lang/json/terrain_from_json.py msgid "blueberry bush" @@ -155661,7 +161385,7 @@ msgstr "一小丛长着香甜蓝莓的灌木丛。" #. ~ Description for blueberry bush #: lang/json/terrain_from_json.py msgid "A small blueberry bush that's fruitless." -msgstr "一小丛没有蓝莓果实的灌木丛。" +msgstr "一小丛没有果实的蓝莓丛。" #: lang/json/terrain_from_json.py msgid "strawberry bush" @@ -155675,7 +161399,7 @@ msgstr "一小丛长着多汁草莓的灌木丛。" #. ~ Description for strawberry bush #: lang/json/terrain_from_json.py msgid "A small strawberry bush that's fruitless." -msgstr "一小丛没有草莓果实的灌木丛。" +msgstr "一小丛没有果实的草莓丛。" #: lang/json/terrain_from_json.py msgid "blackberry bush" @@ -155689,7 +161413,7 @@ msgstr "一小丛长着美味黑莓的灌木丛。当心上面的刺!" #. ~ Description for blackberry bush #: lang/json/terrain_from_json.py msgid "A small blackberry bush that's fruitless. Watch out for its thorns!" -msgstr "一小丛没有黑莓果实的灌木丛。当心上面的刺!" +msgstr "一小丛没有果实的黑莓丛。当心上面的刺!" #: lang/json/terrain_from_json.py msgid "huckleberry bush" @@ -155703,21 +161427,21 @@ msgstr "一小丛长着香甜越橘的灌木丛。经常被误认为蓝莓。" #. ~ Description for huckleberry bush #: lang/json/terrain_from_json.py msgid "A small huckleberry bush that's fruitless." -msgstr "一小丛没有越橘果实的灌木丛。" +msgstr "一小丛没有果实的越橘丛。" #: lang/json/terrain_from_json.py msgid "raspberry bush" -msgstr "木莓丛" +msgstr "树莓丛" #. ~ Description for raspberry bush #: lang/json/terrain_from_json.py msgid "A small bush of delicious raspberries. Watch out for its thorns!" -msgstr "一小丛长着美味木莓的灌木丛。当心上面的刺!" +msgstr "一小丛长着美味树莓的灌木丛。当心上面的刺!" #. ~ Description for raspberry bush #: lang/json/terrain_from_json.py msgid "A small raspberry bush that's fruitless. Watch out for its thorns!" -msgstr "一小丛没有木莓果实的灌木丛。当心上面的刺!" +msgstr "一小丛没有果实的树莓丛。当心上面的刺!" #: lang/json/terrain_from_json.py msgid "grape bush" @@ -155726,13 +161450,13 @@ msgstr "葡萄丛" #. ~ Description for grape bush #: lang/json/terrain_from_json.py msgid "A bush of a different species invaded by vines of grapes." -msgstr "一小丛被长着葡萄的葡萄藤包裹着的灌木丛。" +msgstr "一丛爬满了葡萄藤的灌木。" #. ~ Description for grape bush #: lang/json/terrain_from_json.py msgid "" "A bush of a different species invaded by grape vines but they're fruitless." -msgstr "一小丛被葡萄藤包裹着的灌木丛。" +msgstr "一丛爬满了葡萄藤的灌木。藤上没有葡萄。" #: lang/json/terrain_from_json.py msgid "rose bush" @@ -155743,13 +161467,13 @@ msgstr "玫瑰丛" msgid "" "A fat bush of beautiful red roses, if only you could get a date! Watch out " "for its thorns!" -msgstr "一小丛长着美丽红玫瑰的灌木丛,要是有个约会就好了。当心上面的刺!" +msgstr "一大丛长着美丽红玫瑰的灌木丛,要是有个约会就好了。当心上面的刺!" #. ~ Description for rose bush #: lang/json/terrain_from_json.py msgid "" "A fat rose bush that currently has no blooms. Watch out for its thorns!" -msgstr "一小丛还没开玫瑰花的灌木丛。当心上面的刺!" +msgstr "一大丛还没开花的玫瑰丛。当心上面的刺!" #: lang/json/terrain_from_json.py msgid "hydrangea bush" @@ -155758,12 +161482,12 @@ msgstr "绣球花丛" #. ~ Description for hydrangea bush #: lang/json/terrain_from_json.py msgid "A fat, bush of fragrant blue hydrangeas." -msgstr "一小丛长着芳香的蓝色绣球花的灌木丛。" +msgstr "一大丛长着芳香的蓝色绣球花的灌木丛。" #. ~ Description for hydrangea bush #: lang/json/terrain_from_json.py msgid "A fat hydrangea bush that currently has no blooms." -msgstr "一小丛还没开绣球花的灌木丛。" +msgstr "一大丛还没开花的绣球花丛。" #: lang/json/terrain_from_json.py msgid "lilac bush" @@ -155772,12 +161496,12 @@ msgstr "丁香花丛" #. ~ Description for lilac bush #: lang/json/terrain_from_json.py msgid "A wide, bush of bright pinkish purple lilacs." -msgstr "一小丛长着鲜亮粉紫色丁香花的灌木丛。" +msgstr "一大丛长着鲜亮粉紫色丁香花的灌木丛。" #. ~ Description for lilac bush #: lang/json/terrain_from_json.py msgid "A wide lilac bush that currently has no blooms." -msgstr "一小丛还没开丁香花的灌木丛。" +msgstr "一大丛还没开花的丁香花丛。" #: lang/json/terrain_from_json.py msgid "tree trunk" @@ -156249,10 +161973,11 @@ msgstr "ATM机" #: lang/json/terrain_from_json.py msgid "" "For your banking convenience, this Automated Teller Machine is fully capable" -" of operating autonomously in the event of complete network failure. You can" -" deposit funds from cash cards and migrate all of your inflation-adjusted " -"earnings to a single card. These things have seen better days. There's been" -" a run on the bank, and this machine has the dents and cracks to prove it." +" of operating autonomously in the event of complete network failure. You " +"can deposit funds from cash cards and migrate all of your inflation-adjusted" +" earnings to a single card. These things have seen better days. There's " +"been a run on the bank, and this machine has the dents and cracks to prove " +"it." msgstr "" "为方便用户办理银行业务,这台自动柜员机在网络完全瘫痪时依旧能够继续自动运行。你可以向现金卡中存入资金,或将所有扣除通胀因素后的收入转移到同一张卡上。世事无常,今非昔比。银行曾经发生过挤兑,而这台机器上的凹痕和裂纹证明了这一点。" @@ -156357,9 +162082,9 @@ msgstr "离心机" #: lang/json/terrain_from_json.py msgid "" "This is a centrifuge, a liquid separating device with an automated analyzer " -"unit. It could be used to analyze a medical fluid sample, such as blood, if " -"a test tube was placed in it." -msgstr "一台带有自动分析仪单元的离心机。 可将装有医用流体样本(例如血液)的试管放入其中进行分析。" +"unit. It could be used to analyze a medical fluid sample, such as blood, if" +" a test tube was placed in it." +msgstr "一台带有自动分析仪单元的离心机。 可将装有医用液体样本(例如血液)的试管放入其中进行分析。" #: lang/json/terrain_from_json.py msgid "CVD machine" @@ -156968,7 +162693,7 @@ msgstr "树脂出入口(关)" #. ~ Description for closed resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is closed tightly, but it looks like a firm push would cause it to snap " "open." msgstr "一个由某种潮湿、柔韧的树脂材料形成的三尖树舱盖。它已经关上了,但看上去只要用力推一把就能打开。" @@ -156980,7 +162705,7 @@ msgstr "树脂出入口(开)" #. ~ Description for open resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is open, the flaps held out by some sort of stringy mucus-like " "substance." msgstr "一个由某种潮湿、柔韧的树脂材料形成的三尖树舱盖。它已经打开了,盖子似乎被某种细长而粘稠的物质拉住。" @@ -157071,6 +162796,13 @@ msgid "" " were still running." msgstr "交通标志,用于指示水平铁路交叉口——如果火车还在运行。" +#. ~ Description for small railroad track +#: lang/json/terrain_from_json.py +msgid "" +"Like a railroad track, only smaller. You could probably run a small vehicle" +" on this." +msgstr "和正常铁轨一样,只是更窄。你也许可以在上面开辆小火车。" + #: lang/json/terrain_from_json.py msgid "sandbox" msgstr "沙坑" @@ -157139,7 +162871,7 @@ msgstr "落水管" #. ~ Description for gutter drop #: lang/json/terrain_from_json.py msgid "" -"Funnels water from gutter system towards the ground, it looks flimsy. You " +"Funnels water from gutter system towards the ground, it looks flimsy. You " "may be able to climb down here." msgstr "一段从屋顶到地面的排水管道。它虽然看起来很脆弱, 但是你能够顺着它从这里爬上爬下。" @@ -157151,7 +162883,7 @@ msgstr "落水管口" #: lang/json/terrain_from_json.py msgid "" "A length of gutter running from the roof to the ground, you could place a " -"container underneath it to collect rainwater. It looks flimsy. You may be " +"container underneath it to collect rainwater. It looks flimsy. You may be " "able to climb down here." msgstr "一段从屋顶到地面的排水管道,你可以在它下方放一个容器来收集雨水。它虽然看起来很脆弱, 但是你能够顺着它从这里爬上爬下。" @@ -157197,7 +162929,7 @@ msgstr "金属屋顶" #. ~ Description for metal flat roof #: lang/json/terrain_from_json.py -msgid "A secton of flat, sheet metal rooftop." +msgid "A section of flat, sheet metal rooftop." msgstr "一片平坦的金属屋顶。" #: lang/json/terrain_from_json.py @@ -157225,7 +162957,7 @@ msgstr "石头屋顶" #. ~ Description for rock roof #: lang/json/terrain_from_json.py -msgid "A secton of flat natural rock." +msgid "A section of flat natural rock." msgstr "一块平坦的天然石头。" #: lang/json/terrain_from_json.py @@ -157937,7 +163669,7 @@ msgstr "支柱(半成品)" #: lang/json/terrain_from_json.py msgid "" "An empty wooden frame in the shape of a column, built around a concrete and " -"rebar foundation. It isn't capable of supporting roofs or shelter, and " +"rebar foundation. It isn't capable of supporting roofs or shelter, and " "appears to need more resources before being considered complete." msgstr "一个柱形的空心木制框架,建造在钢筋混凝土构成的地基之上。它不能支撑屋顶或遮蔽物,需要更多的资源才能被建造完成。" @@ -158916,7 +164648,7 @@ msgid "" "The Examine command is useful for grabbing items off window frames, around " "corners, etc. It's also used for interacting with a few terrain types. " "Interactive terrain is usually designated with a '6' symbol." -msgstr "检查功能键可以用来拉下窗帘,搜寻隐藏物件等等。同时也可以与某些特殊地形互动,特殊地形通常以\"6\"为标记。" +msgstr "检查功能键可以用来拉下窗帘,获取隐藏物件等等。同时也可以与某些特殊地形互动,特殊地形通常以\"6\"为标记。" #: lang/json/tutorial_messages_from_json.py msgid "" @@ -159103,9 +164835,9 @@ msgid "" "You just activated a grenade! You probably want to throw it. To throw an " "item, press 't' and then select the item to throw. The maximum range " "depends on your strength and the object's weight and size. Throwing isn't " -"very good in most combat situations, but if you've got some fire power..." +"very good in most combat situations, but if you've got some fire power…" msgstr "" -"你刚刚激活一个手雷!你最好赶快把它扔了。要投掷一个道具,按\"t\"键,然后选择要扔的道具。最大投掷范围取决于在你的力量和投掷物的重量和体积。在大多数战斗中投掷不是很好的选择,但是如果你有一些NB的火力…" +"你刚刚激活一个手雷!你最好赶快把它扔了。要投掷一个道具,按\"t\"键,然后选择要扔的道具。最大投掷范围取决于在你的力量和投掷物的重量和体积。在大多数战斗中投掷不是很好的选择,但是如果你有一些NB的火力……" #: lang/json/tutorial_messages_from_json.py msgid "" @@ -159179,7 +164911,7 @@ msgstr "现在一片黑暗!幸运的是,你有一个手电筒。按\"a\"键 #: lang/json/tutorial_messages_from_json.py msgid "" "~ is a terrain symbol that indicates water. From a water source like this, " -"you can fill any containers you might have. Examine the water ('e') and " +"you can fill any containers you might have. Examine the water ('e') and " "press 'c' to fill a container, then select a watertight container to put the" " water into." msgstr "\"~\"是一个表示水的地形符号。通过这样的水源,你能装满任何容器。按\"e\"查看水源所在地并按\"c\"选择灌入容器,之后选择需要灌水的水密容器。" @@ -160191,7 +165923,7 @@ msgstr "一盏十分明亮的泛光灯,开启时照亮车外大片圆形区域 #: lang/json/vehicle_part_from_json.py msgid "" "A very bright, directed light that illuminates a half-circular area outside " -"the vehicle when turned on. During installation, you can choose what " +"the vehicle when turned on. During installation, you can choose what " "direction to point the light." msgstr "一盏十分明亮的定向泛光灯,开启时照亮车外大片半圆形区域。安装时可以选择车灯的方向。" @@ -160274,7 +166006,7 @@ msgstr "一套轮椅的轮辋。安装在座椅或鞍座下,在轮胎足够时 #. ~ Description for electric motor #: lang/json/vehicle_part_from_json.py msgid "An electric motor." -msgstr "小型电力引擎" +msgstr "一个小型电力引擎。" #: lang/json/vehicle_part_from_json.py msgid "" @@ -160322,7 +166054,7 @@ msgstr "绑好的床垫" #. ~ Description for tied mattress #: lang/json/vehicle_part_from_json.py msgid "" -"A mattress, strapped onto the vehicle. It could serve to blunt any impact." +"A mattress, strapped onto the vehicle. It could serve to blunt any impact." msgstr "一个绑到载具上的床垫,可以用来吸收冲击。" #. ~ Description for shredder @@ -160740,6 +166472,13 @@ msgid "" "things." msgstr "一根焊接在车上的尖刺,被撞上的家伙一定会伤得更惨。" +#. ~ Description for programmable autopilot +#: lang/json/vehicle_part_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of the vehicle to " +"allow it to follow simple paths." +msgstr "一套连接到载具的方向控制系统和引擎的计算机系统,能够控制载具进行简单的驾驶。" + #: lang/json/vehicle_part_from_json.py msgid "swappable storage battery case" msgstr "可更换蓄电池箱" @@ -160775,20 +166514,18 @@ msgstr "一台小型车载冰箱。开启时,它可以冷藏食物,延缓腐 #. ~ Description for washing machine #: lang/json/vehicle_part_from_json.py msgid "" -"A small washing machine. With detergent or soap, water, and some electrical" -" power, you could clean a lot of clothes. 'e'xamine the tile with the " -"washing machine to use it." -msgstr "一台小型车载洗衣机。只要你有洗涤剂或肥皂、水和一些电,你可以洗干净许多衣服。按\"e\"查看该部件所在位置来使用它。" +"A small washing machine. With detergent, water, and some electrical power, " +"you could clean a lot of clothes. 'e'xamine the tile with the washing " +"machine to use it." +msgstr "一台小型车载洗衣机。只要你有洗涤剂、水和一些电,你可以洗干净许多衣服。按\"e\"查看该部件所在位置来使用它。" #. ~ Description for dishwasher #: lang/json/vehicle_part_from_json.py msgid "" -"A small dishwasher. With detergent or soap, water, and some electrical " -"power, you could clean your dishes... Or something more useful like a CBM " -"dripping with zombie gore. 'e'xamine the tile with the dishwasher to use " -"it." -msgstr "" -"一台小型车载洗衣机。只要你有洗涤剂或肥皂、水和一些电,你可以洗干净许多衣服……或者洗掉CBM上面的丧尸血肉。按\"e\"后选择该部件所在位置来使用它。" +"A small dishwasher. With detergent, water, and some electrical power, you " +"could clean your dishes… Or something more useful like a CBM dripping with " +"zombie gore. 'e'xamine the tile with the dishwasher to use it." +msgstr "一台小型车载洗衣机。只要你有洗涤剂、水和一些电,你可以洗干净许多盘子……或者洗掉CBM上面的丧尸血肉。按\"e\"后选择该部件所在位置来使用它。" #. ~ Description for autoclave #: lang/json/vehicle_part_from_json.py @@ -160971,7 +166708,7 @@ msgstr "一个小型风力发电机。当暴露于大风下时,会缓慢地为 #: lang/json/vehicle_part_from_json.py msgid "" "A large wind turbine with stabilizing legs. Will recharge the vehicle's " -"electrical power when exposed to the wind. Will cause extra drag on the " +"electrical power when exposed to the wind. Will cause extra drag on the " "vehicle." msgstr "一个大型风力发电机。当暴露于大风下时,会缓慢地为车辆电池充电。会额外增加车辆的阻力。" @@ -161456,6 +167193,16 @@ msgid "" "stand next to a turret mount and 'f'ire the weapon by selecting the tile." msgstr "一个能够自由旋转的通用武器炮塔底座。你空着双手紧挨着炮塔底座时能够按\"f\"操作它上面所安装的武器开火。" +#. ~ Description for turret control unit +#: lang/json/vehicle_part_from_json.py +msgid "" +"A set of motor, camera, and an AI unit which allows for tracking targets, " +"friend-or-foe identification, and firing the connected turret in full " +"automatic mode. When installed over the turret, it will enable auto " +"targeting mode for said turret." +msgstr "" +"一套由电机、摄像头及一个AI模块组成的炮塔控制模块,能够追踪木板、识别敌我,并以全自动模式发射其连接的炮塔。可以安装在炮塔上来开启炮塔的自动瞄准模式。" + #: lang/json/vehicle_part_from_json.py msgid "light wheel mount (steerable)" msgstr "轻型轮架(可转向)" @@ -161497,6 +167244,14 @@ msgstr "一个坚固的金属火车轮。凸出的轮缘有助于保持在轨道 msgid "rail wheel (steerable)" msgstr "导轨轮(可转向)" +#. ~ Description for pair of small rail wheels +#: lang/json/vehicle_part_from_json.py +msgid "" +"A pair of small rail wheels. It performs well when riding on a pair of " +"small rails. It performs terribly when not on a rail. Moreover, you can't " +"steer it." +msgstr "坚固的窄轨铁路车轮。在窄轨铁路上性能很好,但如果不在轨道上,它会表现得非常糟糕,甚至都不能转向。" + #: lang/json/vehicle_part_from_json.py msgid "roller drum" msgstr "辊筒" @@ -163170,81 +168925,6 @@ msgstr "手动磁暴线圈加农炮炮塔" msgid "manual avalanche rifle" msgstr "雪崩步枪手动炮塔" -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of road" -msgstr "干净的路面" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Randomly-distributed wrecks" -msgstr "散乱的残骸" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parked vehicles" -msgstr "停放的车辆" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Jack-knifed semi" -msgstr "V字形弯折的半挂车" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Random car pileup" -msgstr "追尾残骸" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Police car pileup" -msgstr "警车追尾残骸" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Out of fuel vehicle" -msgstr "没油的车" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of bridge" -msgstr "净空的桥段" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Unfueled Vehicle on the bridge" -msgstr "桥上无油车辆" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the bridge" -msgstr "桥上车辆" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of highway" -msgstr "净空的高速公路路段" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the highway" -msgstr "高速公路上车辆" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parking lot with vehicles" -msgstr "有车的停车场" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of subway" -msgstr "净空的地铁路段" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the subway" -msgstr "地铁上的车辆" - #: lang/json/vitamin_from_json.py msgid "Calcium" msgstr "钙" @@ -163261,6 +168941,10 @@ msgstr "维生素B12" msgid "Vitamin C" msgstr "维生素C" +#: lang/json/vitamin_from_json.py +msgid "Toxins" +msgstr "毒素" + #: src/action.cpp src/input.cpp msgid "Press " msgstr "按 " @@ -163382,8 +169066,8 @@ msgstr "你使用一套精密的外科手术刀系统解剖了这具尸体。" #: src/activity_handlers.cpp msgid "" -"You need to suspend this corpse to butcher it. While you have a rope to lift" -" the corpse, there is no tree nearby to hang it from." +"You need to suspend this corpse to butcher it. While you have a rope to " +"lift the corpse, there is no tree nearby to hang it from." msgstr "你需要将尸体悬挂起来才能屠宰它,你已经有长绳但是周围并没有可用的树。" #: src/activity_handlers.cpp @@ -163396,8 +169080,8 @@ msgstr "要对这么大的尸体进行完全屠宰,你需要一个屠宰架或 #: src/activity_handlers.cpp msgid "" "To perform a full butchery on a corpse this big, you need a table nearby or " -"something else with a flat surface. A leather tarp spread out on the ground " -"could suffice." +"something else with a flat surface. A leather tarp spread out on the ground" +" could suffice." msgstr "要对这么大的尸体进行完全屠宰,你需要附近有个表面平坦的家具(例如桌子)。如果是铺在地上的防水皮革也够用。" #: src/activity_handlers.cpp @@ -163704,7 +169388,7 @@ msgstr "你切开了尸体想要让它无法再攻击,但你不确信是否操 #. ~ Sound of a Pickaxe at work! #: src/activity_handlers.cpp -msgid "CHNK! CHNK! CHNK!" +msgid "CHNK! CHNK! CHNK!" msgstr "铿锵!铿锵!铿锵!" #: src/activity_handlers.cpp @@ -163750,7 +169434,7 @@ msgstr "你为%s重新上弹。" msgid "You refill the %s." msgstr "你重新装填了%s。" -#: src/activity_handlers.cpp +#: src/activity_handlers.cpp src/bionics.cpp msgid "There's nothing to light there." msgstr "这里没有可以点燃的东西。" @@ -163766,6 +169450,16 @@ msgstr "你丢失了用于点火的物品。" msgid "There is not enough sunlight to start a fire now. You stop trying." msgstr "现在的阳光不足以点火,你停止了尝试。" +#: src/activity_handlers.cpp +#, c-format +msgid "You learn a little about the spell : %s" +msgstr "你获取了一点点关于法术\"%s\"的经验。" + +#: src/activity_handlers.cpp src/character_martial_arts.cpp +#, c-format +msgid "You learn %s." +msgstr "你学会了%s。" + #: src/activity_handlers.cpp #, c-format msgid "You finish training %s to level %d." @@ -163776,11 +169470,6 @@ msgstr "你完成了 %s 的训练并将其提升至 %d 级。" msgid "You get some training in %s." msgstr "你完成了 %s 的训练。" -#: src/activity_handlers.cpp -#, c-format -msgid "You learn %s." -msgstr "你学会了%s。" - #: src/activity_handlers.cpp msgid "You've charged the battery completely." msgstr "你已经将电池充满电了。" @@ -163896,15 +169585,22 @@ msgstr "伤害几率:%.1f%%" msgid "Your %s is already fully repaired." msgstr "你的%s已经是完好的了。" -#: src/activity_handlers.cpp src/player.cpp -#, c-format -msgid "You are currently unable to mend the %s." -msgstr "你目前无法修复%s。" +#: src/activity_handlers.cpp +msgid "You defrost the food, but don't heat it up, since you enjoy it cold." +msgstr "你解冻了食物,并没有加热,因为它冷的时候口感更好。" + +#: src/activity_handlers.cpp +msgid "You defrost and heat up the food." +msgstr "你解冻并加热了食物。" + +#: src/activity_handlers.cpp +msgid "You heat up the food." +msgstr "你加热了食物。" #: src/activity_handlers.cpp #, c-format -msgid "You successfully mended the %s." -msgstr "你成功修复了%s!" +msgid "You are currently unable to mend the %s." +msgstr "你目前无法修复%s。" #: src/activity_handlers.cpp #, c-format @@ -163960,10 +169656,6 @@ msgstr "你感到有东西扯动了鱼线!" msgid "You finish fishing" msgstr "你完成了钓鱼。" -#: src/activity_handlers.cpp -msgid "This training is exhausting. Time to rest." -msgstr "这训练太累人了。该休息了。" - #: src/activity_handlers.cpp msgid "You finish reading." msgstr "你结束了阅读。" @@ -163974,8 +169666,8 @@ msgstr "你结束了等待。" #: src/activity_handlers.cpp #, c-format -msgid "%s finishes with you..." -msgstr "你结束了%s……" +msgid "%s finishes with you…" +msgstr "%s 完成了和你的工作……" #: src/activity_handlers.cpp msgid "You are bored of waiting, so you stop." @@ -163991,7 +169683,7 @@ msgid "%s finishes chatting with you." msgstr "%s结束了和你的闲聊。" #: src/activity_handlers.cpp -msgid "You toss and turn..." +msgid "You toss and turn…" msgstr "你辗转反侧……" #: src/activity_handlers.cpp @@ -164099,7 +169791,7 @@ msgid "" msgstr "全自动医疗仪在接下来的程序中四处乱动,并没有缝合的伤口。" #: src/activity_handlers.cpp src/player_hardcoded_effects.cpp -msgid "You try to sleep, but can't..." +msgid "You try to sleep, but can't…" msgstr "你尝试睡觉,但睡不着……" #: src/activity_handlers.cpp @@ -164282,7 +169974,7 @@ msgid "You planted all seeds you could." msgstr "你种下了所有能种的种子。" #: src/activity_handlers.cpp -msgid "Target lost. IFF override failed." +msgid "Target lost. IFF override failed." msgstr "目标丢失。IFF协议覆盖失败。" #: src/activity_handlers.cpp @@ -164301,11 +169993,11 @@ msgid "The %s short circuits as you attempt to reprogram it!" msgstr "%s在你重新编程时短路了!" #: src/activity_handlers.cpp -msgid "...and turns friendly!" +msgid "…and turns friendly!" msgstr "……而且变得友好了!" #: src/activity_handlers.cpp -msgid "...but the robot refuses to acknowledge you as an ally!" +msgid "…but the robot refuses to acknowledge you as an ally!" msgstr "……但机器人拒绝承认你是盟友!" #: src/activity_handlers.cpp @@ -164371,7 +170063,7 @@ msgid "It's too dark to read." msgstr "光线不足,你无法阅读!" #: src/activity_handlers.cpp -msgid "...you finally find the memory banks." +msgid "…you finally find the memory banks." msgstr "……你终于找到了记忆库。" #: src/activity_handlers.cpp @@ -164535,6 +170227,10 @@ msgstr "你清洗完了你的物品。" msgid "The pet has moved somewhere else." msgstr "宠物已经移动到了其他位置。" +#: src/activity_item_handling.cpp +msgid "Moving cancelled auto-pickup." +msgstr "移动中断了自动拾取。" + #: src/activity_item_handling.cpp src/npcmove.cpp #, c-format msgid "%1$s picks up a %2$s." @@ -164551,7 +170247,7 @@ msgstr "你将原木切成了木板。" #: src/activity_item_handling.cpp #, c-format -msgid "%s can't reach the source tile. Try to sort out loot without a cart." +msgid "%s can't reach the source tile. Try to sort out loot without a cart." msgstr "%s没法走到目的地。尝试停止拖拽载具后再整理战利品。" #: src/activity_item_handling.cpp @@ -164597,7 +170293,7 @@ msgid "You want some caffeine." msgstr "你想要一些咖啡因来提提神。" #: src/addiction.cpp -msgid "Your hands start shaking... you need it bad!" +msgid "Your hands start shaking… you need it bad!" msgstr "你的双手开始颤抖……你迫切地需要咖啡因!" #: src/addiction.cpp @@ -164609,15 +170305,15 @@ msgid "You could use some diazepam." msgstr "你想要服用一些安定片。" #: src/addiction.cpp -msgid "Your hands start shaking... you need a drink bad!" +msgid "Your hands start shaking… you need a drink bad!" msgstr "你的双手开始颤抖……你迫切地需要酒!" #: src/addiction.cpp -msgid "You're shaking... you need some diazepam!" -msgstr "你的身体不受控制的颤抖着,你需要些安定片。" +msgid "You're shaking… you need some diazepam!" +msgstr "你的身体不受控制地颤抖……你需要些安定片!" #: src/addiction.cpp -msgid "Your hands start shaking... you need some painkillers." +msgid "Your hands start shaking… you need some painkillers." msgstr "你的双手开始颤抖……你需要一些止痛剂。" #: src/addiction.cpp @@ -164629,8 +170325,8 @@ msgid "You feel depressed. Speed would help." msgstr "你感到沮丧。兴奋剂(安非他命等)可以缓解这种情况。" #: src/addiction.cpp -msgid "Your hands start shaking... you need a pick-me-up." -msgstr "你的手开始颤抖……你需要一些提神饮料(酒、咖啡、茶等)。" +msgid "Your hands start shaking… you need a pick-me-up." +msgstr "你的手开始颤抖……你需要安非他命。" #: src/addiction.cpp msgid "You stop suddenly, feeling bewildered." @@ -164662,8 +170358,8 @@ msgid "You haven't had any mutagen lately." msgstr "你最近一直都没有喝过诱变剂。" #: src/addiction.cpp -msgid "You could use some new parts..." -msgstr "你想要长出一些新的部件……" +msgid "You could use some new parts…" +msgstr "你想要长出一些新肢体……" #: src/addiction.cpp msgid "You daydream about luscious pink berries as big as your fist." @@ -164808,11 +170504,11 @@ msgid "" msgstr "力量-1;智力-1;" #: src/addiction.cpp -msgid "Perception - 1; Intelligence - 1; Frequent cravings." +msgid "Perception - 1; Intelligence - 1; Frequent cravings." msgstr "感知-1;智力-1;频繁犯瘾。" #: src/addiction.cpp -msgid "Perception - 2; Intelligence - 2; Frequent cravings." +msgid "Perception - 2; Intelligence - 2; Frequent cravings." msgstr "感知-2;智力-2;频繁犯瘾。" #: src/addiction.cpp @@ -164997,38 +170693,6 @@ msgstr "来源 数量 重量 体积" msgid "Name (charges)" msgstr "物品名称(份量)" -#: src/advanced_inv.cpp -msgid "Not dragging any vehicle!" -msgstr "无拖拽载具!" - -#: src/advanced_inv.cpp -msgid "No dragged vehicle!" -msgstr "无拖拽载具!" - -#: src/advanced_inv.cpp -msgid "Invalid container!" -msgstr "无效容器!" - -#: src/advanced_inv.cpp -msgid "All 9 squares" -msgstr "周边9格" - -#: src/advanced_inv.cpp -msgid " FIRE" -msgstr "着火!" - -#: src/advanced_inv.cpp -msgid " DANGER" -msgstr "危险!" - -#: src/advanced_inv.cpp -msgid " TRAP" -msgstr "陷阱!" - -#: src/advanced_inv.cpp -msgid " WATER" -msgstr "水!" - #: src/advanced_inv.cpp #, c-format msgid "[<] page %1$d of %2$d [>]" @@ -165048,8 +170712,8 @@ msgid "[R]eset" msgstr "[R]重置" #: src/advanced_inv.cpp -msgid "You look at the items, then your clothes, and scratch your head..." -msgstr "你看看这玩意儿,再看看自己的衣服,然后挠了挠头……" +msgid "You look at the items, then your clothes, and scratch your head…" +msgstr "你看着这些物品,再看着自己的衣服,然后挠了挠头……" #: src/advanced_inv.cpp msgid "There are no items to be moved!" @@ -165072,7 +170736,7 @@ msgid "Skipping filled buckets to avoid spilling their contents." msgstr "忽略已装满的水桶以避免液体溢出。" #: src/advanced_inv.cpp -msgid "Sort by... " +msgid "Sort by…" msgstr "排序……" #: src/advanced_inv.cpp @@ -165138,24 +170802,56 @@ msgstr "太重了!" #: src/advanced_inv.cpp #, c-format -msgid "How many do you want to move? [Have %d] (0 to cancel)" -msgstr "要移动多少? [有 %d ](0 取消)" +msgid "How many do you want to move? [Have %d] (0 to cancel)" +msgstr "要移动多少?[目前有 %d](输入 0 取消)" #: src/advanced_inv.cpp #, c-format -msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" -msgstr "目的地只能容纳 %d!要移动多少? [有 %d ](0 取消)" +msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" +msgstr "目的地只能容纳 %d!要移动多少?[目前有 %d](输入 0 取消)" #: src/advanced_inv.cpp msgid "The destination is already full!" msgstr "目标区域已满!" -#: src/advanced_inv.cpp +#: src/advanced_inv_area.cpp +msgid "Not dragging any vehicle!" +msgstr "无拖拽载具!" + +#: src/advanced_inv_area.cpp +msgid "No dragged vehicle!" +msgstr "无拖拽载具!" + +#: src/advanced_inv_area.cpp +msgid "Invalid container!" +msgstr "无效容器!" + +#: src/advanced_inv_area.cpp +msgid "All 9 squares" +msgstr "周边9格" + +#: src/advanced_inv_area.cpp +msgid " FIRE" +msgstr "着火!" + +#: src/advanced_inv_area.cpp +msgid " DANGER" +msgstr "危险!" + +#: src/advanced_inv_area.cpp +msgid " TRAP" +msgstr "陷阱!" + +#: src/advanced_inv_area.cpp +msgid " WATER" +msgstr "水!" + +#: src/advanced_inv_area.cpp msgid "Invalid container" msgstr "无效容器" #: src/animation.cpp -msgid "Hang on a bit..." +msgid "Hang on a bit…" msgstr "请稍等……" #: src/armor_layers.cpp @@ -165274,6 +170970,14 @@ msgstr "钝击防护:" msgid "Cut:" msgstr "斩击防护:" +#: src/armor_layers.cpp +msgid "Acid:" +msgstr "防酸:" + +#: src/armor_layers.cpp +msgid "Fire:" +msgstr "防火:" + #: src/armor_layers.cpp msgid "Environmental:" msgstr "环境防护:" @@ -165342,7 +171046,7 @@ msgstr "整理装束" #: src/armor_layers.cpp #, c-format -msgid "Press %s for help. Press %s to change keybindings." +msgid "Press %s for help. Press %s to change keybindings." msgstr "按\"%s\"键显示帮助。按\"%s\"键改变按键设置。" #: src/armor_layers.cpp @@ -165407,7 +171111,7 @@ msgid "" "[%s] to equip a new item.\n" "[%s] to equip a new item at the currently selected position.\n" "[%s] to remove selected armor from oneself.\n" -" \n" +"\n" "[Encumbrance and Warmth] explanation:\n" "The first number is the summed encumbrance from all clothing on that bodypart.\n" "The second number is an additional encumbrance penalty caused by wearing multiple items on one of the bodypart's layers or wearing items outside of other items they would normally be work beneath (e.g. a shirt over a backpack).\n" @@ -165970,13 +171674,13 @@ msgstr "%s苦难" #, c-format msgid "" "The %s is somehow vaguely dissatisfied even though it doesn't want anything." -" Seeing this is a bug!" +" Seeing this is a bug!" msgstr "%s充能条件未被满足,虽然它并没有充能条件。你能看见它说明出BUG了!" #: src/artifact.cpp #, c-format msgid "" -"The %s is satisfied, as it should be because it has no standards. Seeing " +"The %s is satisfied, as it should be because it has no standards. Seeing " "this is a bug!" msgstr "%s充能条件已被满足,虽然它并没有充能条件。你能看见它说明出BUG了!" @@ -166003,7 +171707,7 @@ msgstr "你把%s紧紧贴在身上。" #: src/artifact.cpp #, c-format msgid "" -"The %s is confused to find you dreaming while awake. Seeing this is a bug!" +"The %s is confused to find you dreaming while awake. Seeing this is a bug!" msgstr "%s在对你白日发梦感到困惑。你能看见它说明出BUG了!" #: src/artifact.cpp @@ -166234,14 +171938,14 @@ msgstr "白名单" #: src/auto_pickup.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" -" \n" +"* is used as a Wildcard. A few Examples:\n" +"\n" "wooden arrow matches the itemname exactly\n" "wooden ar* matches items beginning with wood ar\n" "*rrow matches items ending with rrow\n" "*avy fle*fi*arrow multiple * are allowed\n" "heAVY*woOD*arrOW case insensitive search\n" -" \n" +"\n" "Pickup based on item materials:\n" "m:kevlar matches items made of kevlar\n" "M:copper matches items made purely of copper\n" @@ -166250,15 +171954,15 @@ msgstr "" "字符 * 是通配符。示例如下:\n" "\n" "木箭 精确匹配物品名称\n" -"木* 匹配以\"木\"开头的物品\n" -"*箭 匹配以\"箭\"结尾的物品\n" +"木* 匹配以“木”开头的物品\n" +"*箭 匹配以“箭”结尾的物品\n" "*翎羽*箭 允许多个通配符\n" "*uPs 大小写不敏感\n" -" \n" +"\n" "根据物品材料拾取:\n" "m:凯夫拉 匹配凯夫拉制成的物品\n" "M:铜 匹配完全由铜构成的物品\n" -"M:钢,铁 允许多种材料(\"或\"关系)" +"M:钢,铁 允许多种材料(“或”关系)" #: src/auto_pickup.cpp msgid "Pickup Rule:" @@ -166287,7 +171991,7 @@ msgid "Won't display content or suffix matches" msgstr "不显示内容物和后缀匹配" #: src/auto_pickup.cpp -msgid "Autopickup is not enabled in the options. Enable it now?" +msgid "Autopickup is not enabled in the options. Enable it now?" msgstr "自动拾取功能没有打开。是否打开?" #: src/auto_pickup.cpp @@ -166324,7 +172028,7 @@ msgstr "学习还有什么意义呢?(你的心情值过低!)" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. You have %d" +msgid "%s %d needed to understand. You have %d" msgstr "需要 %s %d 级才能理解。你的等级为 %d" #: src/avatar.cpp src/iuse.cpp @@ -166350,7 +172054,7 @@ msgstr "%s 是个文盲!" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. %s has %d" +msgid "%s %d needed to understand. %s has %d" msgstr "需要 %s %d 级才能理解。%s 的等级为 %d" #: src/avatar.cpp @@ -166375,8 +172079,8 @@ msgstr "%s 的心情值太低!" #: src/avatar.cpp #, c-format -msgid "%s reads aloud..." -msgstr "%s 大声阅读…" +msgid "%s reads aloud…" +msgstr "%s 大声阅读……" #: src/avatar.cpp #, c-format @@ -166468,8 +172172,8 @@ msgid "Now reading %s, %s to stop early." msgstr "现在正在阅读 %s,按\"%s\"键提前终止。" #: src/avatar.cpp -msgid "You read aloud..." -msgstr "你大声阅读…" +msgid "You read aloud…" +msgstr "你大声阅读……" #: src/avatar.cpp #, c-format @@ -166494,15 +172198,15 @@ msgstr "%s 和你一起阅读取乐。" #: src/avatar.cpp #, c-format msgid "" -"It's difficult for %s to see fine details right now. Reading will take " +"It's difficult for %s to see fine details right now. Reading will take " "longer than usual." msgstr "%s 现在无法看清书中细节。阅读比平时更慢了。" #: src/avatar.cpp #, c-format msgid "" -"This book is too complex for %s to easily understand. It will take longer to" -" read." +"This book is too complex for %s to easily understand. It will take longer " +"to read." msgstr "这本书对 %s 来说有些难以理解。阅读会花费较长时间。" #: src/avatar.cpp @@ -166582,7 +172286,7 @@ msgstr "%s 提升了他们的 %s 技能等级。" #: src/avatar.cpp #, c-format -msgid "You learn a little about %s! (%d%%)" +msgid "You learn a little about %s! (%d%%)" msgstr "你获取了一点点关于 %s 的经验!(%d%%)" #: src/avatar.cpp @@ -166611,7 +172315,7 @@ msgid "Rereading the %s isn't as much fun for %s." msgstr "再读一遍 %s 对 %s 很无趣。" #: src/avatar.cpp -msgid "Maybe you should find something new to read..." +msgid "Maybe you should find something new to read…" msgstr "也许你应该找些新书来读……" #: src/avatar.cpp @@ -166646,11 +172350,11 @@ msgid "You train for a while." msgstr "你练了一会儿功。" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through your internal alarm..." +msgid "It looks like you've slept through your internal alarm…" msgstr "看起来你睡过头了,体内的闹钟没能叫醒你……" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through the alarm..." +msgid "It looks like you've slept through the alarm…" msgstr "看起来你睡过头了,闹钟没能叫醒你……" #: src/avatar.cpp @@ -166658,7 +172362,7 @@ msgid "You retched, but your stomach is empty." msgstr "你干呕了一阵,但胃已经是空的了。" #: src/avatar.cpp -msgid "You lost your book! You stop reading." +msgid "You lost your book! You stop reading." msgstr "你的书不见了!你停止阅读。" #: src/avatar.cpp @@ -166728,19 +172432,79 @@ msgstr "无效属性" #: src/avatar.cpp #, c-format -msgid "Are you sure you want to raise %s? %d points available." -msgstr "你确定你要继续升级%s?当前可用点数%d点。" +msgid "Are you sure you want to raise %s? %d points available." +msgstr "你确定你要继续升级%s?当前可用点数 %d 点。" + +#: src/avatar.cpp +msgid "You set your mech's leg power to a loping fast walk." +msgstr "你将机甲的腿部电机功率设置为疾行挡。" + +#: src/avatar.cpp +msgid "You nudge your steed into a steady trot." +msgstr "你轻轻触碰你的马,使它平稳地小跑。" + +#: src/avatar.cpp +msgid "You start walking." +msgstr "你开始行走。" + +#: src/avatar.cpp +msgid "You set the power of your mech's leg servos to maximum." +msgstr "你将机甲的腿部电机功率设置为最高挡。" + +#: src/avatar.cpp +msgid "You spur your steed into a gallop." +msgstr "你策马疾驰。" + +#: src/avatar.cpp +msgid "You start running." +msgstr "你加快速度,开始奔跑。" + +#: src/avatar.cpp +msgid "Your steed is too tired to go faster." +msgstr "你的马太累了,跑不动了。" + +#: src/avatar.cpp +msgid "You need two functional legs to run." +msgstr "你需要双腿才能奔跑。" + +#: src/avatar.cpp +msgid "You're too tired to run." +msgstr "你力竭了,无法奔跑。" + +#: src/avatar.cpp +msgid "You reduce the power of your mech's leg servos to minimum." +msgstr "你将机甲的腿部电机功率设置为最低挡。" + +#: src/avatar.cpp +msgid "You slow your steed to a walk." +msgstr "你放慢坐骑速度,开始步行。" + +#: src/avatar.cpp +msgid "You start crouching." +msgstr "你开始蹲伏。" + +#. ~ %1$s: weapon name, %2$s: holster name +#: src/avatar.cpp src/game.cpp +#, c-format +msgctxt "holster" +msgid "Draw %1$s from %2$s?" +msgstr "从 %2$s 拔出 %1$s?" + +#: src/avatar.cpp src/monexamine.cpp +#, c-format +msgid "What to do with your %s?" +msgstr "对你的 %s 做什么?" #: src/avatar_action.cpp msgid "You can't move while in your shell. Deactivate it to go mobile." msgstr "你缩在龟壳里无法移动。先把你的小头小脚钻出来先。" #: src/avatar_action.cpp -msgid "You cannot pull yourself away from the faultline..." +msgid "You cannot pull yourself away from the faultline…" msgstr "你无法逃离裂痕……" #: src/avatar_action.cpp -msgid "Monster in the way. Auto-move canceled." +msgid "Monster in the way. Auto-move canceled." msgstr "怪物挡道。自动移动取消。" #: src/avatar_action.cpp @@ -166752,7 +172516,7 @@ msgid "Your willpower asserts itself, and so do you!" msgstr "你神游物外,你的身体也我行我素!" #: src/avatar_action.cpp src/handle_action.cpp src/handle_action.cpp -msgid "You're too pacified to strike anything..." +msgid "You're too pacified to strike anything…" msgstr "你太木愣了,无法打击任何物体……" #: src/avatar_action.cpp @@ -166834,7 +172598,7 @@ msgstr "你像石头一样下沉!" #: src/avatar_action.cpp #, c-format -msgid "You need to breathe! (%s to surface.)" +msgid "You need to breathe! (%s to surface.)" msgstr "你需要呼吸!(按\"%s\"键上浮)" #: src/avatar_action.cpp @@ -166846,7 +172610,7 @@ msgid "You cannot board a vehicle while mounted." msgstr "不能在骑乘时登上载具。" #: src/avatar_action.cpp -msgid "No hostile creature in reach. Waiting a turn." +msgid "No hostile creature in reach. Waiting a turn." msgstr "范围内没有敌对生物。等待一回合。" #: src/avatar_action.cpp @@ -166854,7 +172618,7 @@ msgid "Your eyes steel, and you raise your weapon!" msgstr "你目光如铁,你举起了你的武器!" #: src/avatar_action.cpp -msgid "You can't fire your weapon, it's too heavy..." +msgid "You can't fire your weapon, it's too heavy…" msgstr "你无法开火,武器太重了……" #: src/avatar_action.cpp @@ -166863,12 +172627,14 @@ msgid "The %s must be attached to a gun, it can not be fired separately." msgstr "这个%s必须加装在枪械上,它无法单独开火。" #: src/avatar_action.cpp -msgid "You can no longer fire." -msgstr "你无法射击。" +#, c-format +msgid "You can no longer fire your %s." +msgstr "你无法继续射击%s。" #: src/avatar_action.cpp -msgid "You need a free arm to drive!" -msgstr "你需要空出手来操作。" +#, c-format +msgid "You can't use your %s while driving!" +msgstr "你在驾驶载具时不能使用%s!" #: src/avatar_action.cpp #, c-format @@ -166876,8 +172642,9 @@ msgid "You need two free hands to fire your %s." msgstr "你需要空着双手来射击你的%s。" #: src/avatar_action.cpp -msgid "You need to reload!" -msgstr "你需要重新装填!" +#, c-format +msgid "Your %s is empty!" +msgstr "你的%s已经空了!" #: src/avatar_action.cpp #, c-format @@ -166888,18 +172655,20 @@ msgstr "你的%s至少需要 %i 点能量才能射击。" #, c-format msgid "" "You need a UPS with at least %d charges or an advanced UPS with at least %d " -"charges to fire that!" -msgstr "你需要一个至少有 %d 单位电量的UPS,或一个至少有 %d 单位电量的高级UPS才能射击!" +"charges to fire the %s!" +msgstr "你需要一个至少有 %d 单位电量的UPS,或一个至少有 %d 单位电量的高级UPS才能击发%s!" #: src/avatar_action.cpp -msgid "Your mech has an empty battery, its weapon will not fire." -msgstr "你的机甲的电量耗尽,武器无法发射。" +#, c-format +msgid "Your mech has an empty battery, its %s will not fire." +msgstr "你的机甲的电量耗尽,无法击发%s。" #: src/avatar_action.cpp +#, c-format msgid "" -"You must stand near acceptable terrain or furniture to use this weapon. A " +"You must stand near acceptable terrain or furniture to use this %s. A " "table, a mound of dirt, a broken window, etc." -msgstr "你需要站在有效地形/家具附近才能使用这把武器。诸如桌子、土堆、破窗户等。" +msgstr "你需要站在有效地形或家具的附近才能使用%s。诸如桌子、土堆、破窗户等。" #: src/avatar_action.cpp #, c-format @@ -166945,7 +172714,7 @@ msgid "You concentrate mightily, and your body obeys!" msgstr "你聚精会神,你的身体开始服从大脑了!" #: src/avatar_action.cpp -msgid "You can't muster up the effort to throw anything..." +msgid "You can't muster up the effort to throw anything…" msgstr "你无法提起力气投掷任何东西……" #: src/ballistics.cpp @@ -167086,7 +172855,7 @@ msgid "" "Time: %s\n" msgstr "" "风险:无\n" -"时间:%s\n" +"耗时:%s\n" #: src/basecamp.cpp msgid "Name this camp" @@ -167139,6 +172908,16 @@ msgstr "你的%s自动关闭了!" msgid "Your %s automatically turns off." msgstr "你的%s自动关闭了!" +#: src/bionics.cpp +#, c-format +msgid "Your %s does not have sufficient humidity to function." +msgstr "湿度不足,%s 无法启动。" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency will be reduced." +msgstr "%s 发出了湿度过低的警告。插件性能会有所下降。" + #: src/bionics.cpp msgid "You change your mind and turn it off." msgstr "你改变主意,将其关闭。" @@ -167256,10 +173035,6 @@ msgstr "血液分析结果" msgid "No effects." msgstr "没有效果。" -#: src/bionics.cpp -msgid "There was not enough moisture in the air from which to draw water!" -msgstr "这里的空气太干,没有足够的水分以生成液态水。" - #: src/bionics.cpp msgid "Your torsion ratchet locks onto your joints." msgstr "你的动力齿轮紧紧锁在了你的关节上。" @@ -167272,10 +173047,6 @@ msgstr "在关节伺服电机的帮助下,你现在可以跑得更快了。" msgid "Start a fire where?" msgstr "在哪里生火?" -#: src/bionics.cpp src/iexamine.cpp -msgid "You can't light a fire there." -msgstr "你无法在此点火。" - #: src/bionics.cpp #, c-format msgid "Your radiation level: %d" @@ -167450,6 +173221,20 @@ msgstr "你的%s自动关闭以节省燃料。" msgid "'s %s turns off to not waste fuel." msgstr "的%s自动关闭以节省燃料。" +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, your %s shuts down to preserve" +" your health." +msgstr "你体内储存的卡路里低于安全门槛,%s 自动关闭以保持健康。" + +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, 's %s shuts down to " +"preserve their health." +msgstr " 体内储存的卡路里低于安全门槛,%s 自动关闭以保持健康。" + #: src/bionics.cpp #, c-format msgid "Your %s runs out of fuel and turn off." @@ -167478,6 +173263,21 @@ msgstr "%s已经失去连接并关闭了。" msgid "You feel your throat open up and air filling your lungs!" msgstr "你感觉到你的喉咙通气了,空气充满了你的肺!" +#: src/bionics.cpp +#, c-format +msgid "There is not enough humidity for your %s to function." +msgstr "目前湿度不足以让 %s 工作。" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency is reduced." +msgstr "%s 发出了湿度过低的警告。插件性能会有所下降。" + +#: src/bionics.cpp +#, c-format +msgid "You are properly hydrated. Your %s chirps happily." +msgstr "你已经补充了足够的水分。%s 发出悦耳的提示音。" + #: src/bionics.cpp msgid "The removal fails without incident." msgstr "移除生化插件失败了,但你安然无恙。" @@ -167539,8 +173339,8 @@ msgstr " 准备好做手术。" #: src/bionics.cpp #, c-format -msgid "A lifetime of augmentation has taught %s a thing or two..." -msgstr "长期进行生化插件安装让%s有些经验……" +msgid "A lifetime of augmentation has taught %s a thing or two…" +msgstr "长期进行生化插件安装让 %s 有些经验……" #: src/bionics.cpp #, c-format @@ -167554,7 +173354,7 @@ msgstr "即使%s现在移除了核聚变臂炮,%s的半截胳膊也还是长 #: src/bionics.cpp msgid "" -"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" +"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" msgstr "警告:移除核反应堆将可能导致辐射!仍要移除么?" #: src/bionics.cpp @@ -167573,10 +173373,10 @@ msgstr "自动对焦透镜已经成了%s眼睛的一部分。移除它们会令% msgid "Are you sure you wish to uninstall the selected bionic?" msgstr "确定要移除选定的生化插件吗?" -#: src/bionics.cpp +#: src/bionics.cpp src/game.cpp #, c-format msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " +"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " "anyway?" msgstr "警告:有百分之 %i 的几率对全身所有部位造成不同程度的严重伤害,仍要卸载吗?" @@ -167649,8 +173449,8 @@ msgstr "确定要安装选定的生化插件吗?" #, c-format msgid "" "WARNING: %i percent chance of failure that may result in damage, pain, or a " -"faulty installation! Continue anyway?" -msgstr "警告:有百分之 %i的几率失败,造成伤害、疼痛或损坏的植入的生化插件,仍要安装吗?" +"faulty installation! Continue anyway?" +msgstr "警告:有百分之 %i 的几率失败,造成伤害、疼痛或损坏的植入的生化插件,仍要安装吗?" #. ~ %1$s - name of the bionic to be upgraded (inferior), %2$s - name of the #. upgraded bionic (superior). @@ -167767,11 +173567,31 @@ msgstr "随着你的意识渐渐消逝,你开始为自己无法享受手术过 msgid "Available Fuel: " msgstr "可用燃料:" +#: src/bionics_ui.cpp +msgctxt "decimal separator" +msgid "." +msgstr "." + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: kilojoule" +msgid "kJ" +msgstr "kJ" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: joule" +msgid "J" +msgstr "J" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: millijoule" +msgid "mJ" +msgstr "mJ" + #: src/bionics_ui.cpp #, c-format msgid "" -"Bionic Power: %i/%i" -msgstr "生化能量:%i/%i" +"Bionic Power: %s/%ikJ" +msgstr "生化能量:%s/%i千焦 " #: src/bionics_ui.cpp msgid "" @@ -167801,23 +173621,23 @@ msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ act" -msgstr "%d 千焦 启动" +msgid "%s act" +msgstr "%s 启动" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ deact" -msgstr "%d 千焦 关闭" +msgid "%s deact" +msgstr "%s 关闭" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/turn" -msgstr "%d 千焦 / 回合" +msgid "%s/turn" +msgstr "%s/回合" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/%d turns" -msgstr "%d 千焦 / %d 回合" +msgid "%s/%d turns" +msgstr "%s/%d 回合" #: src/bionics_ui.cpp src/handle_action.cpp msgid "OFF" @@ -167864,13 +173684,13 @@ msgstr "没有安装任何被动生化插件!" #: src/bionics_ui.cpp #, c-format -msgid "%s; enter new letter. Space to clear. Esc to cancel." -msgstr "%s; 输入新字母,按下空格键清除,按下ESC键退出。" +msgid "%s; enter new letter. Space to clear. Esc to cancel." +msgstr "%s;输入新字符,按空格键清除,按ESC键退出。" #: src/bionics_ui.cpp #, c-format msgid "" -"Invalid bionic letter. Only those characters are valid:\n" +"Invalid bionic letter. Only those characters are valid:\n" "\n" "%s" msgstr "" @@ -167915,10 +173735,40 @@ msgstr "穿甲" msgid "Target armor multiplier" msgstr "目标护甲加成系数" -#. ~ bash damage +80% of strength +#. ~ %1$s: damage type, %2$s: damage-related bonus name +#: src/bonuses.cpp +#, c-format +msgctxt "type of damage" +msgid "%1$s %2$s" +msgstr "%1$s %2$s" + +#. ~ %1$s: bonus name, %2$d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%% of %3$s" +msgstr "* %1$s:乘%3$s的 %2$d%% " + +#. ~ %1$s: bonus name, %2$d: bonus percentage +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%%" +msgstr "* %1$s:%2$d%%" + +#. ~ %1$s: bonus name, %2$+d: bonus percentage, %3$s: stat name #: src/bonuses.cpp -msgid " of " -msgstr "的" +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d%% of %3$s" +msgstr "* %1$s:按%3$s的 %2$+d%% 改变" + +#. ~ %1$s: bonus name, %2$+d: bonus value +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d" +msgstr "* %1$s:%2$+d" #: src/calendar.cpp msgid "forever" @@ -168195,9 +174045,13 @@ msgstr "唰哗轰嘭砰嘘飕哗铛咔嗒叮吱嗞啦噗哒嗒哗啦呼噜噼啪 #: src/character.cpp msgctxt "not possessive" -msgid "you" +msgid "You" msgstr "你" +#: src/character.cpp +msgid "Your" +msgstr "你的" + #: src/character.cpp msgid "your" msgstr "你的" @@ -168211,6 +174065,63 @@ msgstr "%s的" msgid "armor" msgstr "装甲" +#: src/character.cpp +#, c-format +msgid "You remove the %s's harness." +msgstr "你取下了 %s 的缰绳。" + +#: src/character.cpp src/game.cpp +msgid "You let go of the grabbed object." +msgstr "你松开了抓着的东西。" + +#: src/character.cpp +#, c-format +msgid "You climb on the %s." +msgstr "你爬上 %s。" + +#: src/character.cpp +#, c-format +msgid "You hear your %s whir to life." +msgstr "你听到 %s 轰的一声开启了。" + +#: src/character.cpp +msgid "You are ejected from your mech!" +msgstr "你被弹出了你的机甲!" + +#: src/character.cpp +msgid " is ejected from their mech!" +msgstr " 被弹出了机甲!" + +#: src/character.cpp +msgid "You fall off your mount!" +msgstr "你从坐骑背上摔了下来!" + +#: src/character.cpp +msgid " falls off their mount!" +msgstr " 从坐骑背上摔了下来!" + +#: src/character.cpp src/trapfunc.cpp +msgid "You hurt yourself!" +msgstr "你伤到了你自己!" + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Fell off a mount." +msgstr "从坐骑背上坠落。" + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Fell off a mount." +msgstr "从坐骑背上坠落。" + +#: src/character.cpp +msgid "Dismount where?" +msgstr "在哪里下马?" + +#: src/character.cpp +msgid "You cannot dismount there!" +msgstr "你不能在那里下马!" + #: src/character.cpp msgid "You struggle to stand." msgstr "你挣扎了一会,没能站起来。" @@ -168398,6 +174309,11 @@ msgstr " 需要 %1$s 才能用 %3$s 来使用 %2$s。" msgid "Liquid from your inventory has leaked onto the ground." msgstr "你携带的液体洒到了地上。" +#: src/character.cpp +#, c-format +msgid "Your current health value is %d." +msgstr "你当前的健康值为 %d。" + #: src/character.cpp msgid "Parched" msgstr "极度脱水!" @@ -168467,6 +174383,75 @@ msgstr "精疲力尽" msgid "Your %s bionic shorts out!" msgstr "你的%s生化插件短路了!" +#: src/character.cpp +#, c-format +msgid "Your %s will be frostnipped in the next few hours." +msgstr "你的%s在不久就会被冻伤。" + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten within the hour!" +msgstr "你的%s在短时间内会被冻伤。" + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten any minute now!" +msgstr "你的%s将会随时被冻伤!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s beginning to go numb from the cold!" +msgstr "你感到你的%s因为寒冷而变得麻木!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very cold." +msgstr "你感到你的%s变得非常冷。" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting chilly." +msgstr "你感到你的%s变得很冷。" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting red hot from the heat!" +msgstr "你感到你的%s由于高温变得火热!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very hot." +msgstr "你感到你的%s变得非常热。" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting warm." +msgstr "你感到你的%s开始升温。" + +#: src/character.cpp +#, c-format +msgid "The wind is making your %s feel quite cold." +msgstr "你的%s被风吹得冷飕飕的。" + +#: src/character.cpp +#, c-format +msgid "" +"The wind is very strong, you should find some more wind-resistant clothing " +"for your %s." +msgstr "风力很强,你应该为你的 %s 穿上点防风的衣物。" + +#: src/character.cpp +#, c-format +msgid "" +"Your clothing is not providing enough protection from the wind for your %s!" +msgstr "你的衣物无法为你的 %s 提供足够的防风保护!" + #: src/character.cpp msgid "Left Arm" msgstr "左臂" @@ -168484,7 +174469,7 @@ msgid "Right Leg" msgstr "右腿" #: src/character.cpp -msgid "It is broken. It needs a splint or surgical attention." +msgid "It is broken. It needs a splint or surgical attention." msgstr "已经骨折了,需要手术治疗或夹板固定。" #: src/character.cpp @@ -168530,7 +174515,7 @@ msgstr "该物品无法用于清理伤口。" #: src/character.cpp msgid "" -"It has a deep wound that looks infected. Antibiotics might be required." +"It has a deep wound that looks infected. Antibiotics might be required." msgstr "有个很深的伤口,看上去已经感染了,也许该服用些抗生素了。" #: src/character.cpp @@ -168631,8 +174616,8 @@ msgstr "健~康~" msgid "Big" msgstr "大~个~" -#: src/character.cpp src/color.cpp src/color.cpp src/options.cpp -#: src/panels.cpp +#: src/character.cpp src/character_martial_arts.cpp src/color.cpp +#: src/options.cpp msgid "Normal" msgstr "普通" @@ -168736,6 +174721,30 @@ msgstr "积极运动" msgid "EXTRA_EXERCISE" msgstr "海量运动" +#: src/character.cpp +msgid "Your body strains under the weight!" +msgstr "你的身体由于负重过高而感到疼痛!" + +#: src/character.cpp +#, c-format +msgid "Your %s needs %d charge from some UPS." +msgid_plural "Your %s needs %d charges from some UPS." +msgstr[0] "你的 %s 需要一个至少有 %d 单位电量的UPS才能工作。" + +#: src/character.cpp +#, c-format +msgid "Your %s has %d charge but needs %d." +msgid_plural "Your %s has %d charges but needs %d." +msgstr[0] "你的 %s 有 %d 单位电量,但需要 %d 单位。" + +#: src/character.cpp +msgid "You cough heavily." +msgstr "你咳得很厉害。" + +#: src/character.cpp +msgid "a hacking cough." +msgstr "一阵干咳。" + #: src/character.cpp msgid "You try to shout but you have no face!" msgstr "你想要叫喊,但你没有面具!" @@ -168813,6 +174822,122 @@ msgctxt "fake stat there's an error" msgid "ERR" msgstr "错误!" +#. ~ %s is armor name +#: src/character.cpp +#, c-format +msgctxt "memorial_male" +msgid "Worn %s was completely destroyed." +msgstr "磨损的 %s 被彻底摧毁了。" + +#: src/character.cpp +#, c-format +msgctxt "memorial_female" +msgid "Worn %s was completely destroyed." +msgstr "磨损的 %s 被彻底摧毁了。" + +#: src/character.cpp +#, c-format +msgid "Your %s is completely destroyed!" +msgstr "你的 %s 被彻底摧毁了!" + +#: src/character.cpp +#, c-format +msgid "'s %s is completely destroyed!" +msgstr " 的 %s 完全损坏了!" + +#: src/character.cpp src/veh_interact.cpp +msgid "destroyed" +msgstr "毁坏" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s further!" +msgstr "你的 %1$s 被进一步破坏成 %2$s 了!" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s!" +msgstr "你的 %1$s 被 %2$s 了!" + +#: src/character.cpp +#, c-format +msgid "You were attacked by %s!" +msgstr "你被 %s 攻击!" + +#: src/character.cpp +msgid "You were hurt!" +msgstr "你受伤了!" + +#. ~spore-release sound +#. ~ the sound of a fungus releasing spores +#. ~ That spore sound again +#. ~ the sound of a fungus dying +#: src/character.cpp src/monattack.cpp src/monattack.cpp src/mondeath.cpp +msgid "Pouf!" +msgstr "噗!" + +#: src/character.cpp +msgid "You sink your roots into the soil." +msgstr "你把根系深深插入土壤之中。" + +#: src/character.cpp +msgid "You start hauling items along the ground." +msgstr "你开始搬运地面上的物品。" + +#: src/character.cpp +msgid "Your hands are not free, which makes hauling slower." +msgstr "你的手上拿有其它物品,这将使搬运物品更慢。" + +#: src/character.cpp +msgid "You stop hauling items." +msgstr "你停止搬运地面上的物品。" + +#: src/character.cpp +msgid "You resume your task." +msgstr "你继续之前的工作。" + +#: src/character.cpp +msgid "You nestle your pile of clothes for warmth." +msgstr "你依偎在一堆衣服里来保暖。" + +#: src/character.cpp +msgid "You use your pile of clothes for warmth." +msgstr "你盖上一堆衣服来保暖。" + +#: src/character.cpp +#, c-format +msgid "You snuggle your %s to keep warm." +msgstr "你依偎着 %s 来保暖。" + +#: src/character.cpp +#, c-format +msgid "You use your %s to keep warm." +msgstr "你盖上 %s 来保暖。" + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Entered hibernation." +msgstr "进入冬眠。" + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Entered hibernation." +msgstr "进入冬眠。" + +#: src/character_martial_arts.cpp +#, c-format +msgid "You have learned %s from extensive practice with the CQB Bionic." +msgstr "借助于CQB生化插件的大量练习,你学会了 %s。" + +#: src/character_martial_arts.cpp +#, c-format +msgid "%s to select martial arts style." +msgstr "%s 选择武术流派。" + +#: src/character_martial_arts.cpp +msgid "No Style" +msgstr "无流派" + #: src/clzones.cpp msgid "No Auto Pickup" msgstr "禁止自动拾取" @@ -168857,260 +174982,6 @@ msgid "" "this area." msgstr "队友只会调查从这个区域传来,且在视野外的声音。" -#: src/clzones.cpp -msgid "Loot: Unsorted" -msgstr "战利品:待整理" - -#: src/clzones.cpp -msgid "" -"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " -"sort items inside. It can overlap with Loot zones of different types." -msgstr "待整理的战利品所在区域。你可以使用\"整理战利品\"指令自动将该区域内的物品分类。可以与其他战利品区域叠加。" - -#: src/clzones.cpp -msgid "Loot: Food" -msgstr "战利品:食物" - -#: src/clzones.cpp -msgid "" -"Destination for comestibles. If more specific food zone is not defined, all " -"food is moved here." -msgstr "所有消耗品的分类放置区域。如果未定义专用食品区,则食品也会被分类至该区域。" - -#: src/clzones.cpp -msgid "Loot: P.Food" -msgstr "战利品:易腐食物" - -#: src/clzones.cpp -msgid "" -"Destination for perishable comestibles. Does include perishable drinks if " -"such zone is not specified." -msgstr "所有易腐消耗品的分类放置区域。如果未定义专用易腐饮料区,则易腐饮料也会被分类至该区域。" - -#: src/clzones.cpp -msgid "Loot: Drink" -msgstr "战利品:饮料" - -#: src/clzones.cpp -msgid "" -"Destination for drinks. Does include perishable drinks if such zone is not " -"specified." -msgstr "所有饮料的分类放置区域。如果未定义专用易腐饮料区,则易腐饮料也会被分类至该区域。" - -#: src/clzones.cpp -msgid "Loot: P.Drink" -msgstr "战利品:易腐饮料" - -#: src/clzones.cpp -msgid "Destination for perishable drinks." -msgstr "所有易腐饮料的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Guns" -msgstr "战利品:枪械" - -#: src/clzones.cpp -msgid "Destination for guns, bows and similar weapons." -msgstr "所有枪械弓弩和远程武器的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Magazines" -msgstr "战利品:弹匣" - -#: src/clzones.cpp -msgid "Destination for gun magazines." -msgstr "所有弹匣的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Ammo" -msgstr "战利品:弹药" - -#: src/clzones.cpp -msgid "Destination for ammo." -msgstr "所有弹药的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Weapons" -msgstr "战利品:武器" - -#: src/clzones.cpp -msgid "Destination for melee weapons." -msgstr "所有近战武器的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Tools" -msgstr "战利品:工具" - -#: src/clzones.cpp -msgid "Destination for tools." -msgstr "所有工具的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Clothing" -msgstr "战利品:服装" - -#: src/clzones.cpp -msgid "" -"Destination for clothing. Does include filthy clothing if such zone is not " -"specified." -msgstr "所有衣物的分类放置区域。如果未定义专用肮脏衣物区,则肮脏衣物也会被分类至该区域。" - -#: src/clzones.cpp -msgid "Loot: F.Clothing" -msgstr "战利品:肮脏服装" - -#: src/clzones.cpp -msgid "Destination for filthy clothing." -msgstr "所有肮脏衣物的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Drugs" -msgstr "战利品:药品" - -#: src/clzones.cpp -msgid "Destination for drugs and other medical items." -msgstr "所有药品和其他医疗用品的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Books" -msgstr "战利品:书籍" - -#: src/clzones.cpp -msgid "Destination for books and magazines." -msgstr "所有书籍杂志的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Mods" -msgstr "战利品:模组" - -#: src/clzones.cpp -msgid "Destination for firearm modifications and similar items." -msgstr "所有枪械模组和类似物品的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Mutagens" -msgstr "战利品:诱变剂" - -#: src/clzones.cpp -msgid "Destination for mutagens, serums, and purifiers." -msgstr "所有诱变剂、血清、净化剂的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Bionics" -msgstr "战利品:生化插件" - -#: src/clzones.cpp -msgid "Destination for Compact Bionics Modules aka CBMs." -msgstr "所有生化插件CBM的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: V.Parts" -msgstr "战利品:载具部件" - -#: src/clzones.cpp -msgid "Destination for vehicle parts." -msgstr "所有载具部件的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Other" -msgstr "战利品:其他" - -#: src/clzones.cpp -msgid "Destination for other miscellaneous items." -msgstr "所有其他物品的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Fuel" -msgstr "战利品:燃料" - -#: src/clzones.cpp -msgid "" -"Destination for gasoline, diesel, lamp oil and other substances used as a " -"fuel." -msgstr "所有汽油、柴油、灯油和其他燃料的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Seeds" -msgstr "战利品:种子" - -#: src/clzones.cpp -msgid "Destination for seeds, stems and similar items." -msgstr "所有种子、块茎及类似物品的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Chemical" -msgstr "战利品:化学品" - -#: src/clzones.cpp -msgid "Destination for chemicals." -msgstr "所有化学制品的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: S.Parts" -msgstr "战利品:零件" - -#: src/clzones.cpp -msgid "Destination for spare parts." -msgstr "所有零件的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Artifacts" -msgstr "战利品:神器" - -#: src/clzones.cpp -msgid "Destination for artifacts" -msgstr "所有神器的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Corpses" -msgstr "战利品:尸体" - -#: src/clzones.cpp -msgid "Destination for corpses" -msgstr "所有尸体的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Armor" -msgstr "战利品:装备" - -#: src/clzones.cpp -msgid "" -"Destination for armor. Does include filthy armor if such zone is not " -"specified." -msgstr "所有装备的分类放置区域。如果未定义专用肮脏装备区,则肮脏装备也会被分类至该区域。" - -#: src/clzones.cpp -msgid "Loot: F.Armor" -msgstr "战利品:肮脏装备" - -#: src/clzones.cpp -msgid "Destination for filthy armor." -msgstr "所有肮脏装备的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Wood" -msgstr "战利品:木材" - -#: src/clzones.cpp -msgid "Destination for firewood and items that can be used as such." -msgstr "所有柴火和类似物品的分类放置区域。" - -#: src/clzones.cpp -msgid "Loot: Custom" -msgstr "战利品:自定义" - -#: src/clzones.cpp -msgid "Destination for loot with a custom filter that you can modify." -msgstr "自定义物品的分类放置区域。你可以编辑具体的筛选条件。" - -#: src/clzones.cpp -msgid "Loot: Ignore" -msgstr "战利品:已忽略区" - -#: src/clzones.cpp -msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." -msgstr "使用\"整理战利品\"指令将不会整理该区域内的物品。" - #: src/clzones.cpp msgid "Source: Firewood" msgstr "标记:柴火源" @@ -169118,7 +174989,7 @@ msgstr "标记:柴火源" #: src/clzones.cpp msgid "" "Source for firewood or other flammable materials in this zone may be used to" -" automatically refuel fires. This will be done to maintain light during " +" automatically refuel fires. This will be done to maintain light during " "long-running tasks such as crafting, reading or waiting." msgstr "该区域内的柴火及其他可燃物品将会在需要时自动为附近的火堆补充燃料。用于在长时间操作时维持光照条件,例如制造物品,阅读书籍,或是等待。" @@ -169136,7 +175007,7 @@ msgstr "农场:耕作区" #: src/clzones.cpp msgid "Designate a farm plot for tilling and planting." -msgstr "指定一块用于耕作种植的区域。" +msgstr "指定一块用于开垦和种植的区域。" #: src/clzones.cpp msgid "Chop Trees" @@ -169170,6 +175041,14 @@ msgstr "载具修理区" msgid "Any vehicles in this area are marked for repair work." msgstr "该区域内的所有载具将被标记为\"待修理\"。" +#: src/clzones.cpp +msgid "Vehicle Patrol Zone" +msgstr "载具巡逻区" + +#: src/clzones.cpp +msgid "Vehicles with an autopilot will patrol in this zone." +msgstr "装有自动驾驶仪的载具将会在此区域内巡逻。" + #: src/clzones.cpp msgid "Basecamp: Food" msgstr "营地:食物" @@ -169190,11 +175069,11 @@ msgstr "无种子" #: src/clzones.cpp #, c-format -msgid "Loot: Custom : %s" +msgid "Loot: Custom: %s" msgstr "战利品:自定义:%s" #: src/clzones.cpp -msgid "Loot: Custom : No Filter" +msgid "Loot: Custom: No Filter" msgstr "战利品:自定义:无筛选条件" #: src/clzones.cpp @@ -169348,7 +175227,7 @@ msgstr "错误!禁止访问!" #: src/computer.cpp #, c-format -msgid "Logging into %s..." +msgid "Logging into %s…" msgstr "正在登录 %s……" #: src/computer.cpp @@ -169364,15 +175243,15 @@ msgid "Bypass security?" msgstr "尝试破解口令?" #: src/computer.cpp -msgid "Shutting down... press any key." +msgid "Shutting down… press any key." msgstr "关闭中……请按任意键。" #: src/computer.cpp -msgid "Maximum login attempts exceeded. Press any key..." +msgid "Maximum login attempts exceeded. Press any key…" msgstr "超过登录最大尝试次数。请按任意键……" #: src/computer.cpp -msgid "Login successful. Press any key..." +msgid "Login successful. Press any key…" msgstr "登录成功。请按任意键……" #: src/computer.cpp @@ -169396,29 +175275,29 @@ msgid "Choose drive:" msgstr "选择驱动:" #: src/computer.cpp -msgid "Doors opened. Press any key..." -msgstr "门打开了。请按任意键……" +msgid "Doors opened. Press any key…" +msgstr "门已打开。请按任意键……" #: src/computer.cpp -msgid "Lock enabled. Press any key..." +msgid "Lock enabled. Press any key…" msgstr "已上锁。请按任意键……" #: src/computer.cpp -msgid "Lock disabled. Press any key..." +msgid "Lock disabled. Press any key…" msgstr "已解锁。请按任意键……" #. ~ the sound of a church bell ringing #: src/computer.cpp -msgid "Bohm... Bohm... Bohm..." +msgid "Bohm… Bohm… Bohm…" msgstr "轰~~~轰~~~轰~~~" #: src/computer.cpp -msgid "Containment shields opened. Press any key..." +msgid "Containment shields opened. Press any key…" msgstr "隔离区防护已解锁。请按任意键……" #: src/computer.cpp -msgid "Subjects terminated. Press any key..." -msgstr "目标已被终结。请按任意键……" +msgid "Subjects terminated. Press any key…" +msgstr "研究样本已终结。请按任意键……" #: src/computer.cpp msgid "WARNING: Resonance cascade carries severe risk! Continue?" @@ -169429,35 +175308,35 @@ msgid "No data found." msgstr "未发现数据。" #: src/computer.cpp -msgid "Local data-access error logged, alerting helpdesk. Press any key..." -msgstr "本地数据访问错误已记录,请联系技术支持。请按任意键……" +msgid "Local data-access error logged, alerting helpdesk. Press any key…" +msgstr "本地数据访问错误已记录,正在联系技术支持。请按任意键……" #: src/computer.cpp msgid "" -"Warning: anomalous archive-access activity detected at this node. Press any " -"key..." +"Warning: anomalous archive-access activity detected at this node. Press any" +" key…" msgstr "警告:在该节点检测到异常的存取活动。请按任意键……" #: src/computer.cpp -msgid "Warning: resticted data access. Attempt logged. Press any key..." +msgid "Warning: resticted data access. Attempt logged. Press any key…" msgstr "警告:检测到受限数据访问请求。本次请求已记录。请按任意键……" #: src/computer.cpp -msgid "Press any key..." +msgid "Press any key…" msgstr "请按任意键……" #: src/computer.cpp msgid "" "Surface map data downloaded. Local anomalous-access error logged. Press " -"any key..." +"any key…" msgstr "地表地图下载完成。异常读取错误已归档。请按任意键……" #: src/computer.cpp -msgid "Sewage map data downloaded. Press any key..." +msgid "Sewage map data downloaded. Press any key…" msgstr "下水道地图数据已经下载。请按任意键……" #: src/computer.cpp -msgid "Subway map data downloaded. Press any key..." +msgid "Subway map data downloaded. Press any key…" msgstr "地铁线路图数据已经下载。请按任意键……" #: src/computer.cpp @@ -169494,12 +175373,12 @@ msgstr "生化插件使用权 - 列表:" #: src/computer.cpp #, c-format -msgid "%d OTHER FOUND..." -msgid_plural "%d OTHERS FOUND..." -msgstr[0] "还发现了 %d 个其他的……" +msgid "%d OTHER FOUND…" +msgid_plural "%d OTHERS FOUND…" +msgstr[0] "及 %d 个其它生化插件……" #: src/computer.cpp -msgid "Elevator activated. Press any key..." +msgid "Elevator activated. Press any key…" msgstr "电梯已启动。请按任意键……" #: src/computer.cpp @@ -169525,7 +175404,7 @@ msgstr "" "相关领班日志将预先考虑记录" #: src/computer.cpp -msgid "FILE CORRUPTED, PRESS ANY KEY..." +msgid "FILE CORRUPTED, PRESS ANY KEY…" msgstr "文件损坏,请按任意键……" #: src/computer.cpp @@ -169541,11 +175420,11 @@ msgid "ACCESS DENIED" msgstr "--登录失败--" #: src/computer.cpp -msgid "Repeater mod installed..." +msgid "Repeater mod installed…" msgstr "中继器模组安装完成……" #: src/computer.cpp -msgid "You do not have a repeater mod to install..." +msgid "You do not have a repeater mod to install…" msgstr "你没有中继器模组用来安装……" #: src/computer.cpp @@ -169577,15 +175456,15 @@ msgid "ERROR: Please only use blood samples." msgstr "错误:只能使用血液样品。" #: src/computer.cpp -msgid "Result: Human blood, no pathogens found." +msgid "Result: Human blood, no pathogens found." msgstr "分析结果:人类血液,没有发现病原体。" #: src/computer.cpp -msgid "Result: Human blood. Unknown pathogen found." +msgid "Result: Human blood. Unknown pathogen found." msgstr "分析结果:人类血液,检测到未知病原体。" #: src/computer.cpp -msgid "Result: Unknown blood type. Unknown pathogen found." +msgid "Result: Unknown blood type. Unknown pathogen found." msgstr "分析结果:未知生物血液。检测到未知病原体。" #: src/computer.cpp @@ -169622,7 +175501,7 @@ msgstr "错误:存储卡无内容。" #: src/computer.cpp msgid "" -"Memory Bank: Military Hexron Encryption\n" +"Memory Bank: Military Hexron Encryption\n" "Printing Transcript\n" msgstr "" "存储卡:军事加密\n" @@ -169630,61 +175509,62 @@ msgstr "" #: src/computer.cpp msgid "" -"Memory Bank: Unencrypted\n" +"Memory Bank: Unencrypted\n" "Nothing of interest.\n" msgstr "" "存储卡:未加密\n" -"无用信息\n" +"无可用信息\n" #: src/computer.cpp msgid "" "\n" -"ERROR: NETWORK DISCONNECT \n" +"ERROR: NETWORK DISCONNECT\n" "UNABLE TO REACH NETWORK ROUTER OR PROXY. PLEASE CONTACT YOUR\n" "SYSTEM ADMINISTRATOR TO RESOLVE THIS ISSUE.\n" " \n" msgstr "" "\n" -"错误:网络断开 \n" +"错误:网络断开\n" "无法连接至路由或网关。请和系统管理员联系。\n" " \n" #: src/computer.cpp -msgid "Press any key to continue..." +msgid "Press any key to continue…" msgstr "请按任意键……" #: src/computer.cpp msgid "" -"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF \n" -"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU \n" -"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW. \n" +"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF\n" +"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU\n" +"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW.\n" "\n" -"1. DO NOT PANIC. \n" -"2. REMAIN INSIDE THE BUILDING. \n" -"3. SEEK SHELTER IN THE BASEMENT. \n" -"4. USE PROVIDED GAS MASKS. \n" -"5. AWAIT FURTHER INSTRUCTIONS. \n" +"1. DO NOT PANIC.\n" +"2. REMAIN INSIDE THE BUILDING.\n" +"3. SEEK SHELTER IN THE BASEMENT.\n" +"4. USE PROVIDED GAS MASKS.\n" +"5. AWAIT FURTHER INSTRUCTIONS.\n" "\n" " \n" msgstr "" "公民你好。生化袭击已发生,全国紧急状态已发布。\n" "国家应急响应人员将在不久后帮助你。\n" "为了确保自身安全,请遵守下列事项:\n" -"1.不要惊慌。 \n" -"2.呆在本建筑物内。 \n" -"3.进入地下室避难。 \n" -"4.使用提供的防毒面具。 \n" -"5.等待后续指示。 \n" +"\n" +"1. 不要惊慌。\n" +"2. 呆在本建筑物内。\n" +"3. 进入地下室避难。\n" +"4. 使用提供的防毒面具。\n" +"5. 等待后续指示。\n" "\n" " \n" #: src/computer.cpp msgid "" -" WARNING, RADIO TOWER IS UNRESPONSIVE. \n" +" WARNING, RADIO TOWER IS UNRESPONSIVE.\n" " \n" -" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS. \n" -" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD \n" -" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED. \n" +" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS.\n" +" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD\n" +" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED.\n" " \n" " \n" msgstr "" @@ -169739,15 +175619,15 @@ msgid "WARNING [409]: Primary sensors offline!" msgstr "警 告 [409]:主传感器已离线!" #: src/computer.cpp -msgid " >> Initialize secondary sensors: Geiger profiling..." -msgstr ">>初始化辅助传感器:盖革计数……" +msgid " >> Initialize secondary sensors: Geiger profiling…" +msgstr " >> 初始化辅助传感器:盖革计数……" #: src/computer.cpp msgid " >> Radiation spike detected!\n" -msgstr ">>检测到辐射尖峰!\n" +msgstr " >> 检测到辐射尖峰!\n" #: src/computer.cpp -msgid "WARNING [912]: Catastrophic malfunction! Contamination detected! " +msgid "WARNING [912]: Catastrophic malfunction! Contamination detected!" msgstr "警 告 [912]:灾难性故障!检测到污染!" #: src/computer.cpp @@ -169755,12 +175635,12 @@ msgid "EMERGENCY PROCEDURE [1]: Evacuate. Evacuate. Evacuate.\n" msgstr "应 急 程 序 [1]:撤离。疏散。撤离。疏散。\n" #: src/computer.cpp -msgid "EMERGENCY SHUTDOWN! Press any key..." +msgid "EMERGENCY SHUTDOWN! Press any key…" msgstr "系统已紧急停机!请按任意键……" #: src/computer.cpp -msgid "PROCESSING... CYCLE COMPLETE." -msgstr "正在处理中……操作已完成。" +msgid "PROCESSING… CYCLE COMPLETE." +msgstr "正在处理……操作已完成。" #: src/computer.cpp #, c-format @@ -169769,9 +175649,9 @@ msgstr "盖革计数 @ 平台:%s mSv/h。" #: src/computer.cpp msgid "" -"CRITICAL ERROR... RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " +"CRITICAL ERROR… RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " "RP_M_01_rev.03." -msgstr "严 重 错 误 … 辐 射 平 台 无 反 应 。 执 行 程 序 RP_M_01_rev.03。" +msgstr "严 重 错 误…… 辐 射 平 台 无 反 应。 执 行 程 序 RP_M_01_rev.03。" #: src/computer.cpp msgid "RADIATION MEASUREMENTS:" @@ -169779,23 +175659,23 @@ msgstr "辐 射 测 量 :" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... AVG %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… AVG %s mSv/h." msgstr "盖革计数 @ 工作区:…均值 %s mSv/h。" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... MAX %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… MAX %s mSv/h." msgstr "盖革计数 @ 工作区:…峰值 %s mSv/h。" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ CONSOLE: .... %s mSv/h." +msgid "GEIGER COUNTER @ CONSOLE:… %s mSv/h." msgstr "盖革计数 @ 控制台:… %s mSv/h。" #: src/computer.cpp #, c-format -msgid "PERSONAL DOSIMETRY: .... %s mSv." -msgstr "个 体 辐 射 测 量 :… %s mSv。" +msgid "PERSONAL DOSIMETRY:… %s mSv." +msgstr "个体辐射测量:… %s mSv。" #: src/computer.cpp msgid "Conveyor belt malfunction. Consult maintenance team." @@ -169818,11 +175698,11 @@ msgid "No items detected at: LOADING BAY." msgstr "未能检测到物品:装货区。" #: src/computer.cpp -msgid "Conveyor belt cycle complete. Press any key..." +msgid "Conveyor belt cycle complete. Press any key…" msgstr "传送程序已完成。按任意键继续……" #: src/computer.cpp -msgid "Toggling shutters. Press any key..." +msgid "Toggling shutters. Press any key…" msgstr "百叶窗开关已切换。请按任意键……" #: src/computer.cpp @@ -169830,15 +175710,15 @@ msgid "Operation irreversible. Extract radioactive material?" msgstr "本次操作不可逆,是否提取放射性材料?" #: src/computer.cpp -msgid "Extraction sequence complete... Press any key." +msgid "Extraction sequence complete… Press any key." msgstr "提取程序已完成。请按任意键……" #: src/computer.cpp -msgid "ERROR! Radiation platform unresponsive... Press any key." +msgid "ERROR! Radiation platform unresponsive… Press any key." msgstr "错误!辐射平台无响应。请按任意键……" #: src/computer.cpp -msgid "Initiating POWER-DIAG ver.2.34 ..." +msgid "Initiating POWER-DIAG ver.2.34…" msgstr "电源诊断系统 v2.34 启动中……" #: src/computer.cpp @@ -169859,22 +175739,22 @@ msgstr "接地重新启用。" #: src/computer.cpp #, c-format -msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." +msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." msgstr "内部供电状态:85%%已离线。原因:受损。" #: src/computer.cpp #, c-format msgid "" -"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " +"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " "DETECTED." -msgstr "外部供电状态:100%%已离线。 原因:未检测到外部供电。" +msgstr "外部供电状态:100%%已离线。原因:未检测到外部供电。" #: src/computer.cpp msgid "Backup power status: STANDBY MODE." msgstr "备用电源状态:待机中。" #: src/computer.cpp -msgid "Backup power status: OFFLINE. Reason: UNKNOWN" +msgid "Backup power status: OFFLINE. Reason: UNKNOWN" msgstr "备用电源状态:已离线。原因:未知" #: src/computer.cpp @@ -169934,7 +175814,7 @@ msgid "ERROR: Data bank destroyed." msgstr "错误:数据库已毁坏。" #: src/computer.cpp -msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT ... " +msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT…" msgstr "正在搜索最近的难民中心,请稍候……" #. ~555-0164 is a fake phone number in the US, please replace it with a number @@ -169943,15 +175823,15 @@ msgstr "正在搜索最近的难民中心,请稍候……" #, c-format msgid "" "\n" -"REFUGEE CENTER FOUND! LOCATION: %d %s\n" +"REFUGEE CENTER FOUND! LOCATION: %d %s\n" "\n" -"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT \n" -"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE. \n" -"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND \n" -"4PM AT 555-0164. \n" +"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT\n" +"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE.\n" +"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND\n" +"4PM AT 555-0164.\n" "\n" "IF YOU WOULD LIKE TO SPEAK WITH SOMEONE IN PERSON OR WOULD LIKE\n" -"TO WRITE US A LETTER PLEASE SEND IT TO...\n" +"TO WRITE US A LETTER PLEASE SEND IT TO…\n" msgstr "" "\n" "发现难民中心!距离:%d,方向:%s\n" @@ -170054,13 +175934,13 @@ msgstr "那里已经有一个未完成的建筑,检查它以继续建造。" #: src/construction.cpp #, c-format -msgid "%s assists you with the work..." -msgstr "%s协助了你……" +msgid "%s assists you with the work…" +msgstr "%s 协助了你……" #: src/construction.cpp #, c-format -msgid "%s watches you work..." -msgstr "%s看着你干活……" +msgid "%s watches you work…" +msgstr "%s 看着你干活……" #: src/construction.cpp #, c-format @@ -170121,7 +176001,7 @@ msgid "That %s can not be dissasembled, since there is furniture above it." msgstr "%s不能拆开,因为上面有家具。" #: src/construction.cpp -msgid "The rock feels much warmer than normal. Proceed?" +msgid "The rock feels much warmer than normal. Proceed?" msgstr "岩石明显比平常炙热,继续?" #: src/construction.cpp @@ -170284,19 +176164,19 @@ msgstr "真的要消耗%s吗?" #: src/consumption.cpp msgid "" "You've begun stockpiling calories and liquid for hibernation. You get the " -"feeling that you should prepare for bed, just in case, but...you're hungry " +"feeling that you should prepare for bed, just in case, but… you're hungry " "again, and you could eat a whole week's worth of food RIGHT NOW." -msgstr "你开始为冬眠而囤积卡路里和水分。你有一种你准备好一张床的感觉,以防万一,但是……你又开始饿了,你能够吃下约一个星期的食物,就在现在!" +msgstr "你开始为冬眠而囤积卡路里和水分。你感觉你应该为入眠做好所有准备,以防万一,但是……你又感到饿了,你现在就想立即吃下一个星期份量的食物!" #: src/consumption.cpp #, c-format -msgid "Ick, this %s doesn't taste so good..." -msgstr "呃,这%s尝起来不太好……" +msgid "Ick, this %s doesn't taste so good…" +msgstr "呃——这 %s 尝起来不太好……" #: src/consumption.cpp #, c-format -msgid "Mmm, this %s tastes delicious..." -msgstr "嗯,%s真好吃啊……" +msgid "Mmm, this %s tastes delicious…" +msgstr "嗯,%s 真好吃啊……" #: src/consumption.cpp #, c-format @@ -170310,8 +176190,8 @@ msgstr "你吸了一口%s。" #: src/consumption.cpp #, c-format -msgid "Ick, this %s (rotten) doesn't taste so good..." -msgstr "呃,这个%s(腐坏)尝起来不太好……" +msgid "Ick, this %s (rotten) doesn't taste so good…" +msgstr "呃,这个 %s(腐坏)尝起来不太好……" #: src/consumption.cpp #, c-format @@ -170364,7 +176244,7 @@ msgid "You greedily devour the taboo meat." msgstr "你贪婪地吞噬着这禁忌之肉。" #: src/consumption.cpp -msgid "Meh. You've eaten worse." +msgid "Meh. You've eaten worse." msgstr "嘛,你吃过比这更难吃的……" #: src/consumption.cpp @@ -170391,7 +176271,7 @@ msgid "You can't taste much of anything with this flu." msgstr "你患有流感,分辨不出味道。" #: src/consumption.cpp -msgid "Yuck! How can anybody eat this stuff?" +msgid "Yuck! How can anybody eat this stuff?" msgstr "卧槽!这玩意儿是人吃的?" #: src/consumption.cpp @@ -170403,8 +176283,8 @@ msgid "When life's got you down, there's always sugar." msgstr "当生活让你失望的时候,总还是有糖安慰你的。" #: src/consumption.cpp -msgid "They may do what they must... you've already won." -msgstr "它们也许会做它们所能作的事……但你已经赢了。" +msgid "They may do what they must… you've already won." +msgstr "随便他们想做什么……你已经赢了。" #: src/consumption.cpp msgid "Your stomach begins gurgling and you feel bloated and ill." @@ -170439,7 +176319,7 @@ msgid "They're coming to get you." msgstr "他们会来抓你的。" #: src/consumption.cpp -msgid "This might've been a bad idea..." +msgid "This might've been a bad idea…" msgstr "这也许是个坏主意……" #: src/consumption.cpp @@ -170447,7 +176327,7 @@ msgid "You've really done it this time, haven't you?" msgstr "你这次真的会搞砸的,不是吗?" #: src/consumption.cpp -msgid "You have to stay vigilant. They're always watching..." +msgid "You have to stay vigilant. They're always watching…" msgstr "你得保持警惕。他们总是会盯着你的……" #: src/consumption.cpp @@ -170467,7 +176347,7 @@ msgid "Something is twitching at the edge of your vision." msgstr "在你视野边缘有什么东西正在抽搐。" #: src/consumption.cpp -msgid "They know what you've done..." +msgid "They know what you've done…" msgstr "他们知道你都做了些什么……" #: src/consumption.cpp @@ -170479,17 +176359,18 @@ msgid "You gorge yourself, preparing to hibernate." msgstr "你狼吞虎咽,为冬眠做着准备。" #: src/consumption.cpp -msgid "You feel stocked for a day or two. Got your bed all ready and secured?" +msgid "" +"You feel stocked for a day or two. Got your bed all ready and secured?" msgstr "一两天不吃东西应该没问题了。准备好安全的栖身之所了吗?" #: src/consumption.cpp msgid "" -"Mmm. You can still fit some more in...but maybe you should get comfortable " +"Mmm. You can still fit some more in… but maybe you should get comfortable " "and sleep." msgstr "嗯嗯嗯。还能再吃点什么…不过你更想舒舒服服地睡上一觉。" #: src/consumption.cpp -msgid "That filled a hole! Time for bed..." +msgid "That filled a hole! Time for bed…" msgstr "吃饱啦!该睡觉了……" #: src/consumption.cpp @@ -170499,7 +176380,7 @@ msgstr "你感到仿佛要裂开了!是件好事?" #. ~slimespawns have *small voices* which may be the Nice equivalent #. ~of the Rat King's ALL CAPS invective. Probably shared-brain telepathy. #: src/consumption.cpp -msgid "hey, you look like me! let's work together!" +msgid "hey, you look like me! let's work together!" msgstr "嗨!你看起来和我一样!让我们一起合作吧!" #: src/consumption.cpp @@ -170512,24 +176393,6 @@ msgstr "你所食用的%s中摄取的能量正在以肉眼可见的速度修复 msgid " looks better after eating the %s." msgstr "吃了%s以后,看起来好多了。" -#: src/consumption.cpp -msgid "Your internal power storage is fully powered." -msgstr "你的生化能量已经充满。" - -#: src/consumption.cpp -msgid "'s internal power storage is fully powered." -msgstr " 的生化能量已经充满。" - -#: src/consumption.cpp -#, c-format -msgid "You recharge your battery system with the %s." -msgstr "你用%s给自己充能。" - -#: src/consumption.cpp -#, c-format -msgid " recharges their battery system with the %s." -msgstr "用%s给自己充能。" - #: src/consumption.cpp msgid "That is a LOT of plutonium. Are you sure you want that much?" msgstr "钚剂量过大,你真的确定要这么多么?" @@ -170630,7 +176493,7 @@ msgstr "" "仍要继续吗?" #: src/craft_command.cpp -msgid "Some components used previously are missing. Continue?" +msgid "Some components used previously are missing. Continue?" msgstr "缺少部分之前使用的组件。继续吗?" #: src/craft_command.cpp @@ -170642,7 +176505,7 @@ msgid "Tool(s): " msgstr "工具:" #: src/crafting.cpp -msgid "Your morale is too low to craft such a difficult thing..." +msgid "Your morale is too low to craft such a difficult thing…" msgstr "你的心情太差了,不想做那么难的事……" #: src/crafting.cpp @@ -170699,7 +176562,7 @@ msgstr "你无法继续制造那件物品!" #, c-format msgid "" "You don't have anything in which to store %s and may have to pour it out or " -"consume it as soon as it is prepared! Proceed?" +"consume it as soon as it is prepared! Proceed?" msgstr "你没有装%s的容器,可能只能吃掉或倒掉你做的东西!是否继续?" #: src/crafting.cpp src/pickup.cpp @@ -170790,23 +176653,23 @@ msgstr "开始处理%s。" #: src/crafting.cpp #, c-format -msgid "%s assists with crafting..." -msgstr "%s协助了你……" +msgid "%s assists with crafting…" +msgstr "%s 协助了你……" #: src/crafting.cpp #, c-format -msgid "%s could assist you with a batch..." -msgstr "%s协助了你……" +msgid "%s could assist you with a batch…" +msgstr "%s 可以协助你进行批量制造……" #: src/crafting.cpp #, c-format -msgid "%s watches you craft..." -msgstr "%s看着你制作……" +msgid "%s watches you craft…" +msgstr "%s 看着你制作……" #: src/crafting.cpp #, c-format -msgid "%s helps with crafting..." -msgstr "%s协助了你制作……" +msgid "%s helps with crafting…" +msgstr "%s 协助了你制作……" #: src/crafting.cpp #, c-format @@ -171079,7 +176942,7 @@ msgstr "批量耗时减少:%s" #: src/crafting_gui.cpp #, c-format -msgid "Dark craftable? %s" +msgid "Dark craftable? %s" msgstr "暗处制造:%s" #: src/crafting_gui.cpp src/defense.cpp @@ -171156,7 +177019,7 @@ msgstr "配方是否记住" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" @@ -171372,8 +177235,8 @@ msgid "Friendly" msgstr "友好" #: src/creature.cpp -msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" -msgstr "BUG:未命名的行为。" +msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" +msgstr "BUG:未命名的行为。(Creature::get_attitude_ui_data)" #: src/damage.cpp msgctxt "damage type" @@ -171426,7 +177289,7 @@ msgid "See %s for a full stack backtrace" msgstr "完整堆栈回溯已保存至%s" #: src/debug.cpp -msgid "An error has occurred! Written below is the error report:" +msgid "An error has occurred! Written below is the error report:" msgstr "游戏出BUG了!错误信息如下:" #: src/debug.cpp @@ -171482,7 +177345,7 @@ msgid "Level a spell" msgstr "提升法术等级" #: src/debug_menu.cpp -msgid "Player..." +msgid "Player…" msgstr "玩家…" #: src/debug_menu.cpp @@ -171525,10 +177388,18 @@ msgstr "切换显示气味视图" msgid "Toggle display temperature" msgstr "切换显示温度" +#: src/debug_menu.cpp +msgid "Toggle display vehicle autopilot overlay" +msgstr "切换显示载具自动驾驶信息" + #: src/debug_menu.cpp msgid "Toggle display visibility" msgstr "切换显示能见度" +#: src/debug_menu.cpp +msgid "Toggle display lighting" +msgstr "切换显示光照" + #: src/debug_menu.cpp msgid "Toggle display radiation" msgstr "切换显示辐射值" @@ -171561,12 +177432,16 @@ msgstr "在地图上切换NPC寻路" msgid "Print faction info to console" msgstr "输出派系信息至控制台" +#: src/debug_menu.cpp +msgid "Print NPC magic info to console" +msgstr "输出 NPC 魔法信息至控制台" + #: src/debug_menu.cpp msgid "Test weather" msgstr "测试天气" #: src/debug_menu.cpp -msgid "Info..." +msgid "Info…" msgstr "信息…" #: src/debug_menu.cpp @@ -171582,7 +177457,7 @@ msgid "Teleport - adjacent overmap" msgstr "传送至附近大地图" #: src/debug_menu.cpp -msgid "Teleport..." +msgid "Teleport…" msgstr "传送…" #: src/debug_menu.cpp @@ -171610,7 +177485,7 @@ msgid "Spawn clairvoyance artifact" msgstr "生成透视石" #: src/debug_menu.cpp -msgid "Spawning..." +msgid "Spawning…" msgstr "生成…" #: src/debug_menu.cpp @@ -171654,7 +177529,7 @@ msgid "Spawn map extra" msgstr "生成地图事件" #: src/debug_menu.cpp -msgid "Map..." +msgid "Map…" msgstr "地图…" #: src/debug_menu.cpp @@ -171664,8 +177539,8 @@ msgstr "退出至主菜单" #: src/debug_menu.cpp msgid "" "Debug Functions - Using these will cheat not only the game, but yourself.\n" -"You won't grow. You won't improve.\n" -"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" +"You won't grow. You won't improve.\n" +"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" "Nothing will be risked and nothing will be gained." msgstr "" "调试功能 - 长夜已至,若你从此开始作弊,至爽方休,你将欺骗游戏,欺骗自己;\n" @@ -171696,7 +177571,7 @@ msgstr "希望传送到大地图的那个位置?" msgid "You teleport to overmap (%d,%d,%d)." msgstr "你传送到大地图(%d,%d,%d)。" -#: src/debug_menu.cpp src/iuse.cpp src/npctrade.cpp +#: src/debug_menu.cpp src/game.cpp src/iuse.cpp src/npctrade.cpp msgid "You" msgstr "你" @@ -171844,6 +177719,10 @@ msgstr "查看状态" msgid "t[e]leport" msgstr "短距传送" +#: src/debug_menu.cpp +msgid "Give the [f]lu" +msgstr "[f]患上流感" + #: src/debug_menu.cpp msgid "Edit [M]issions (WARNING: Unstable!)" msgstr "编辑任务(警告:不稳定!)" @@ -171882,7 +177761,7 @@ msgstr "最高感知" #: src/debug_menu.cpp #, c-format -msgid "Set the stat to? Currently: %d" +msgid "Set the stat to? Currently: %d" msgstr "设置属性值?当前:%d" #: src/debug_menu.cpp @@ -171911,12 +177790,12 @@ msgstr "右腿" #: src/debug_menu.cpp #, c-format -msgid "Set the hitpoints to? Currently: %d" +msgid "Set the hitpoints to? Currently: %d" msgstr "设置生命值?当前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set stamina to? Current: %d. Max: %d." +msgid "Set stamina to? Current: %d. Max: %d." msgstr "设置耐力值?当前:%d。最大:%d。" #: src/debug_menu.cpp @@ -171925,7 +177804,7 @@ msgstr "目标耐力值超出界限!" #: src/debug_menu.cpp #, c-format -msgid "Set the morale to? Currently: %d" +msgid "Set the morale to? Currently: %d" msgstr "设置心情值?当前:%d" #: src/debug_menu.cpp @@ -171950,28 +177829,28 @@ msgstr "歉意" #: src/debug_menu.cpp #, c-format -msgid "Set trust to? Currently: %d" +msgid "Set trust to? Currently: %d" msgstr "设置信任值?当前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set fear to? Currently: %d" +msgid "Set fear to? Currently: %d" msgstr "设置恐惧值?当前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set value to? Currently: %d" -msgstr "设置重视值?当前:%d" +msgid "Set value to? Currently: %d" +msgstr "设置尊重值?当前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set anger to? Currently: %d" +msgid "Set anger to? Currently: %d" msgstr "设置愤怒值?当前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set owed to? Currently: %d" -msgstr "设置歉意值?当前:%d" +msgid "Set owed to? Currently: %d" +msgstr "设置赊欠值?当前:%d" #: src/debug_menu.cpp msgid "Rename:" @@ -171980,7 +177859,7 @@ msgstr "重命名为:" #: src/debug_menu.cpp #, c-format msgid "" -"NPC: \n" +"NPC:\n" "%s\n" msgstr "" "NPC:\n" @@ -171988,8 +177867,8 @@ msgstr "" #: src/debug_menu.cpp #, c-format -msgid "Cause how much pain? pain: %d" -msgstr "设置疼痛值?疼痛:%d" +msgid "Cause how much pain? pain: %d" +msgstr "增减疼痛值?当前疼痛:%d" #: src/debug_menu.cpp msgid "Hunger" @@ -172013,32 +177892,32 @@ msgstr "重置所有基本需求" #: src/debug_menu.cpp #, c-format -msgid "Set hunger to? Currently: %d" +msgid "Set hunger to? Currently: %d" msgstr "设置饥饿值?当前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set stored kCal to? Currently: %d" +msgid "Set stored kCal to? Currently: %d" msgstr "设置体脂水平至多少千卡?当前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set thirst to? Currently: %d" +msgid "Set thirst to? Currently: %d" msgstr "设置口渴值?当前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set fatigue to? Currently: %d" +msgid "Set fatigue to? Currently: %d" msgstr "设置疲劳值?当前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set sleep deprivation to? Currently: %d" +msgid "Set sleep deprivation to? Currently: %d" msgstr "设置睡眠不足值?当前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set %s to? Currently: %d" +msgid "Set %s to? Currently: %d" msgstr "设置%s?当前:%d" #: src/debug_menu.cpp src/panels.cpp @@ -172055,7 +177934,7 @@ msgstr "辐射" #: src/debug_menu.cpp #, c-format -msgid "Set the value to? Currently: %d" +msgid "Set the value to? Currently: %d" msgstr "设置值?当前:%d" #: src/debug_menu.cpp @@ -172178,7 +178057,7 @@ msgstr "强制移除任务" #: src/debug_menu.cpp #, c-format -msgid "Drew %d times in %.3f seconds. (%.3f fps average)" +msgid "Drew %d times in %.3f seconds. (%.3f fps average)" msgstr "渲染 %d 次,花费 %.3f 秒。(平均 %.3f fps)" #: src/debug_menu.cpp @@ -172330,8 +178209,8 @@ msgstr "保持正常风速" #: src/debug_menu.cpp #, c-format -msgid "Damage self for how much? hp: %d" -msgstr "对自己造成多少点伤害? hp:%d" +msgid "Damage self for how much? hp: %d" +msgstr "对自己造成多少点伤害?当前生命值:%d" #: src/debug_menu.cpp msgid "This binary was not compiled with tiles support." @@ -172367,7 +178246,7 @@ msgid "Set year to?" msgstr "设置年份为?" #: src/debug_menu.cpp -msgid "Set season to? (0 = spring)" +msgid "Set season to? (0 = spring)" msgstr "设置季节为?(0 = 春天)" #: src/debug_menu.cpp @@ -172384,7 +178263,7 @@ msgstr "设置分钟为?" #: src/debug_menu.cpp #, c-format -msgid "Set turn to? (One day is %i turns)" +msgid "Set turn to? (One day is %i turns)" msgstr "设置回合为?(一日为 %i 回合)" #: src/debug_menu.cpp @@ -172393,7 +178272,7 @@ msgstr "输入渲染测试时长(毫秒):" #: src/debug_menu.cpp msgid "" -"Quit without saving? This may cause issues such as duplicated or missing " +"Quit without saving? This may cause issues such as duplicated or missing " "items and vehicles!" msgstr "不保存就退出吗?这有可能会引发各种存档问题,诸如物品及车辆被复制或丢失。" @@ -172422,7 +178301,7 @@ msgstr "没有法术可学。你需要启用一些魔法类模组来添加可用 msgid "" "You have become an Archwizardpriest! What will you do with your newfound " "power?" -msgstr "你已经成为了一名大巫师!你将如何利用你新发现的力量?" +msgstr "你已经成为了一名大魔法师!你将如何利用你新发现的力量?" #: src/debug_menu.cpp msgid "Try learning some spells first." @@ -172432,10 +178311,12 @@ msgstr "需要先学习一些法术。" msgid "Spell" msgstr "法术" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "LVL" msgstr "等级" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "MAX" msgstr "最大" @@ -172460,7 +178341,7 @@ msgid "Please wait as the map generates [ 0%% ]" msgstr "请等待,地图生成中……[ 0%%]" #: src/defense.cpp -msgid "A caravan approaches! Press spacebar..." +msgid "A caravan approaches! Press spacebar…" msgstr "来了一个商队!按空格键继续……" #: src/defense.cpp @@ -172820,7 +178701,7 @@ msgstr "来自地狱的%s!" #: src/defense.cpp #, c-format -msgid "Beware! %s!" +msgid "Beware! %s!" msgstr "小心!%s!" #: src/defense.cpp @@ -173016,8 +178897,8 @@ msgstr "陷阱:%s(%d)" #: src/editmap.cpp src/game.cpp #, c-format -msgid "There is a %s there. Parts:" -msgstr "那里有一辆%s。部件:" +msgid "There is a %s there. Parts:" +msgstr "那里有一辆 %s。部件:" #: src/editmap.cpp #, c-format @@ -173267,8 +179148,8 @@ msgstr "地图生成标志" #: src/effect.cpp msgid "" -"The scariest thing in the world would be... if all the air in the world " -"turned to WOOD!" +"The scariest thing in the world would be… if all the air in the world turned" +" to WOOD!" msgstr "世界上最恐怖的事就是……所有的空气都变成木头!" #: src/effect.cpp @@ -173285,8 +179166,8 @@ msgid "Science is a liar sometimes." msgstr "科学有时也会说谎。(——电视剧《酒吧五杰》)" #: src/effect.cpp -msgid "Science is... wait, what was I talking about again?" -msgstr "科学……等等,我刚才都说了些什么?" +msgid "Science is… wait, what was I talking about again?" +msgstr "科学就是……等等,我本来在讲什么?" #: src/effect.cpp msgid "" @@ -173305,8 +179186,8 @@ msgid "She was a hip, hip, hip lady, man." msgstr "她是个活蹦乱跳的妞,伙计。(飞上天了!)" #: src/effect.cpp -msgid "You ever see the back of a twenty dollar bill... on weed?" -msgstr "你曾经在20美元钞票的背面看到过……大麻?" +msgid "You ever see the back of a twenty dollar bill… on weed?" +msgstr "你可曾见过二十美元钞票的背面……在吸大麻之后的样子?" #: src/effect.cpp msgid "" @@ -173319,17 +179200,16 @@ msgid "RED TEAM GO, RED TEAM GO!" msgstr "红队上!红队上!(——大麻邪典电影《Half Baked》)" #: src/effect.cpp -msgid "You have a sudden urge to flip your bible open to Genesis 1:29..." -msgstr "" -"你突然有一种打开圣经翻到创世纪 1:29 的冲动。(注:神说,看哪,我将遍地上一切结种子的菜蔬和一切树上所结有核的果子,全赐给你们作食物。)" +msgid "You have a sudden urge to flip your bible open to Genesis 1:29…" +msgstr "你突然有一种打开圣经翻到创世纪 1:29 的冲动……" #: src/effect.cpp -msgid "That rug really tied the room together..." +msgid "That rug really tied the room together…" msgstr "那个地毯和这个房间真搭配……" #: src/effect.cpp -msgid "I used to do drugs... I still do, but I used to, too." -msgstr "我习惯于吸毒……现在是,过去也是。" +msgid "I used to do drugs… I still do, but I used to, too." +msgstr "我曾经吸过毒……现在还是在吸,但是我也曾经吸过。" #: src/effect.cpp msgid "The herb reveals you to yourself." @@ -173337,7 +179217,7 @@ msgstr "草药让你恢复了自我。(——雷鬼乐歌手 鲍勃·马利) #: src/effect.cpp msgid "" -"Okay, like, the scariest thing in the world would be... if like you went to " +"Okay, like, the scariest thing in the world would be… if like you went to " "grab something and it wasn't there!" msgstr "好吧,世界上最恐怖的事情是……你想去抓住什么东西,但是那里根本没有!" @@ -173346,8 +179226,8 @@ msgid "They call them fingers, but I never see them fing." msgstr "人们称它手指,但我从来没有看到它。(——《辛普森一家》)" #: src/effect.cpp -msgid "... oh, there they go." -msgstr "……哦,去那里了。(——《辛普森一家》)" +msgid "…oh, there they go." +msgstr "……哦,去那里了。" #: src/effect.cpp msgid "" @@ -173381,7 +179261,7 @@ msgid "Oh, sometimes the early-mid-late-early-morning." msgstr "哦,有时候在早些的~中午的~晚些的~早些的早上。" #: src/effect.cpp -msgid "...But never at dusk." +msgid "…But never at dusk." msgstr "……但是从不在黄昏时抽。" #: src/effect.cpp @@ -173393,12 +179273,12 @@ msgid "Man, a cheeseburger sounds SO awesome right now." msgstr "伙计,现在这时候想想奶酪汉堡包就很爽啊。" #: src/effect.cpp -msgid "Eh... maybe not." +msgid "Eh… maybe not." msgstr "呃……也许不是。" #: src/effect.cpp -msgid "I guess, maybe, without the cheese... yeah." -msgstr "我猜,也许,没有奶酪……耶。" +msgid "I guess, maybe, without the cheese… yeah." +msgstr "我想也许吧,如果没有奶酪的话……没错。" #: src/effect.cpp msgid "Walkin' down the hall, by myself, smokin' a j with fifty elves." @@ -173554,6 +179434,10 @@ msgstr "出色" msgid "perfect" msgstr "完美" +#: src/explosion.cpp +msgid "force of the explosion" +msgstr "爆炸的冲击" + #: src/explosion.cpp msgid "You're caught in the explosion!" msgstr "你被爆炸波及!" @@ -173901,21 +179785,21 @@ msgid "Press enter to rename this camp" msgstr "按\"回车\"键为营地改名" #: src/faction.cpp -msgid "Direction : to the " +msgid "Direction: to the " msgstr "方向:向" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d)" +msgid "Location: (%d, %d)" msgstr "位置:(%d,%d)" #: src/faction.cpp #, c-format -msgid "Food Supply : %s %d calories" -msgstr "食物供给:%s%d 热量" +msgid "Food Supply: %s %d calories" +msgstr "食物供给:%s(%d 卡路里)" #: src/faction.cpp -msgid "Next Upgrade : " +msgid "Next Upgrade: " msgstr "下一级:" #: src/faction.cpp @@ -173928,26 +179812,26 @@ msgid "Press enter to talk to this follower " msgstr "按\"回车\"键与此同伴对话" #: src/faction.cpp -msgid "travelling to : " -msgstr "旅行到:" +msgid "travelling to: " +msgstr "移动到:" #: src/faction.cpp #, c-format -msgid "travelling to : (%d, %d)" +msgid "travelling to: (%d, %d)" msgstr "移动到:(%d,%d)" #: src/faction.cpp -msgid "Current Mission : " +msgid "Current Mission: " msgstr "目前任务:" #: src/faction.cpp -msgid "Direction : Nearby" +msgid "Direction: Nearby" msgstr "方向:附近" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d), at camp: %s" -msgstr "位置:(%d,%d),在营地:%s" +msgid "Location: (%d, %d), at camp: %s" +msgstr "位置:(%d,%d),位于营地:%s" #: src/faction.cpp msgid "Not interactable while on a mission" @@ -173978,8 +179862,8 @@ msgid "Within interaction range" msgstr "在可交互范围内" #: src/faction.cpp -msgid "Status : " -msgstr "状态: " +msgid "Status: " +msgstr "状态:" #: src/faction.cpp msgid "In Combat!" @@ -174002,8 +179886,12 @@ msgid "Guarding" msgstr "警戒" #: src/faction.cpp -msgid "Condition : " -msgstr "条件:" +msgid "Basecamp job: " +msgstr "营地工作:" + +#: src/faction.cpp +msgid "Condition: " +msgstr "状况:" #: src/faction.cpp msgctxt "needs" @@ -174011,29 +179899,29 @@ msgid "Nominal" msgstr "一般" #: src/faction.cpp -msgid "Hunger : " +msgid "Hunger: " msgstr "饥饿:" #: src/faction.cpp -msgid "Thirst : " +msgid "Thirst: " msgstr "口渴:" #: src/faction.cpp -msgid "Fatigue : " +msgid "Fatigue: " msgstr "疲劳:" -#: src/faction.cpp -msgid "Wielding : " +#: src/faction.cpp src/player.cpp +msgid "Wielding: " msgstr "手持:" #: src/faction.cpp -msgid "Best other skills : " +msgid "Best other skills: " msgstr "最佳其他技能:" #: src/faction.cpp #, c-format -msgid "Best combat skill : %s : %d" -msgstr "最佳战斗技能: %s : %d" +msgid "Best combat skill: %s: %d" +msgstr "最佳战斗技能:%s:%d" #: src/faction.cpp msgid "YOUR FACTION" @@ -174072,25 +179960,33 @@ msgid "Recover Ally from Upgrading" msgstr "召回同伴(升级营地)" #: src/faction_camp.cpp -msgid "Busy crafting!\n" -msgstr "正在制造物品!\n" +msgid "Emergency Recall" +msgstr "紧急召回同伴" + +#: src/faction_camp.cpp +msgid "Lost in the ether!\n" +msgstr "迷失在虚空之中!\n" #: src/faction_camp.cpp msgid "Craft Item" msgstr "制造物品" #: src/faction_camp.cpp -msgid " (Finish) Crafting" -msgstr "(完成)制造" +msgid "Busy crafting!\n" +msgstr "正在制造物品!\n" #: src/faction_camp.cpp -msgid "Busy travelling!\n" -msgstr "正在旅行!\n" +msgid " (Finish) Crafting" +msgstr "(完成)制造" #: src/faction_camp.cpp msgid "Travelling" msgstr "旅行" +#: src/faction_camp.cpp +msgid "Busy travelling!\n" +msgstr "正在旅行!\n" + #: src/faction_camp.cpp msgid "Recall ally from travelling" msgstr "召回同伴(旅行)" @@ -174124,7 +180020,7 @@ msgid "Menial Labor" msgstr "干杂活" #: src/faction_camp.cpp -msgid "Performing menial labor...\n" +msgid "Performing menial labor…\n" msgstr "正在干杂活……\n" #: src/faction_camp.cpp @@ -174136,7 +180032,7 @@ msgid "Expand Base" msgstr "扩展营地" #: src/faction_camp.cpp -msgid "Surveying for expansion...\n" +msgid "Surveying for expansion…\n" msgstr "正在为扩展区选址……\n" #: src/faction_camp.cpp @@ -174148,7 +180044,7 @@ msgid "Cut Logs" msgstr "伐木" #: src/faction_camp.cpp -msgid "Cutting logs in the woods...\n" +msgid "Cutting logs in the woods…\n" msgstr "正在伐木地点伐木……\n" #: src/faction_camp.cpp @@ -174160,21 +180056,21 @@ msgid "Clear a forest" msgstr "清除森林" #: src/faction_camp.cpp -msgid "Clearing a forest...\n" +msgid "Clearing a forest…\n" msgstr "正在清除森林……\n" #: src/faction_camp.cpp msgid "Recover Clearcutter" msgstr "召回同伴(伐木)" -#: src/faction_camp.cpp -msgid "Setting up a hide site...\n" -msgstr "正在设置藏匿点……\n" - #: src/faction_camp.cpp msgid "Setup Hide Site" msgstr "设置藏匿点" +#: src/faction_camp.cpp +msgid "Setting up a hide site…\n" +msgstr "正在设置藏匿点……\n" + #: src/faction_camp.cpp msgid "Recover Hide Setup" msgstr "召回同伴(设置藏匿点)" @@ -174184,7 +180080,7 @@ msgid "Relay Hide Site" msgstr "补给藏匿点" #: src/faction_camp.cpp -msgid "Transferring gear to a hide site...\n" +msgid "Transferring gear to a hide site…\n" msgstr "运送装备至藏匿点……\n" #: src/faction_camp.cpp @@ -174232,7 +180128,7 @@ msgid "Construct Map Fortifications" msgstr "建造地图防御工事" #: src/faction_camp.cpp -msgid "Constructing fortifications...\n" +msgid "Constructing fortifications…\n" msgstr "正在建设防御工事……\n" #: src/faction_camp.cpp @@ -174292,7 +180188,7 @@ msgid " Chop Shop" msgstr "拆卸车辆" #: src/faction_camp.cpp -msgid "Working at the chop shop...\n" +msgid "Working at the chop shop…\n" msgstr "正在车库中工作……\n" #: src/faction_camp.cpp @@ -174378,15 +180274,15 @@ msgstr "剩余]\n" #: src/faction_camp.cpp src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "Do you wish to bring your allies back into your party?" msgstr "" "\n" -" \n" +"\n" "确定召回任务执行者吗?" #: src/faction_camp.cpp -msgid "You choose to wait..." +msgid "You choose to wait…" msgstr "你决定等等再说……" #: src/faction_camp.cpp @@ -174404,7 +180300,7 @@ msgstr "你的选址离另一个营地太近了!" #: src/faction_camp.cpp msgid "" "Warning, you have selected a region with the following issues:\n" -" \n" +"\n" msgstr "" "警告,你所选的区域有以下问题:\n" "\n" @@ -174424,10 +180320,10 @@ msgstr "田地很少。耕作可能很困难。\n" #: src/faction_camp.cpp #, c-format msgid "" -"%s \n" -"Are you sure you wish to continue? " +"%s\n" +"Are you sure you wish to continue?" msgstr "" -"%s \n" +"%s\n" "确定要继续吗?" #: src/faction_camp.cpp @@ -174448,14 +180344,22 @@ msgstr ",营地主管" msgid "%s has abandoned the camp." msgstr "%s废弃了其所管理的营地。" +#: src/faction_camp.cpp +msgid " Expansion" +msgstr "扩展区" + +#: src/faction_camp.cpp +msgid "Recover Ally, " +msgstr "召回同伴(" + #: src/faction_camp.cpp #, c-format msgid "" -"Notes: \n" +"Notes:\n" "Send a companion to gather materials for the next camp upgrade.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "%s\n" "Risk: Very Low\n" @@ -174464,85 +180368,28 @@ msgid "" msgstr "" "说明:\n" "选择一名同伴去为营地的下次升级收集物资。\n" -" \n" +"\n" "技能:生存\n" "需求等级:无\n" "可能的收集物:\n" "%s\n" "风险:极低\n" -"耗时:3 小时,可重复\n" +"耗时:最低 3 小时\n" "位置:%d/3\n" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" -"Effects:\n" -"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" -" \n" -"Must have enjoyability >= -6\n" -"Perishable food liquidated at penalty depending on upgrades and rot time:\n" -"> Rotten: 0%%\n" -"> Rots in < 2 days: 60%%\n" -"> Rots in < 5 days: 80%%\n" -" \n" -"Total faction food stock: %d kcal\n" -"or %d day's rations" -msgstr "" -"说明:\n" -"向你营地里的同伴分发食物并装进储藏室。营地中必须已经设置有一个营地食物区、待整理区和至少一个储存目的地区,否则系统将提示使用区域管理菜单创建这些区域。\n" -"效果:\n" -"> 增加你派系的食物供应价值,同时也能作为劳动者的报酬\n" -"\n" -"食物的享受度必须 >= -6\n" -"易腐食物按照腐烂时间换算:\n" -"> 已腐烂:0 %%\n" -"> 两天内腐烂:60%%\n" -"> 五天内腐烂:80%%\n" -"\n" -"当前派系食物供给: %d 千卡\n" -"或 %d 天口粮" - -#: src/faction_camp.cpp -msgid "Distribute Food" -msgstr "分发食物" - -#: src/faction_camp.cpp -msgid "" -"Notes:\n" -"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" -" \n" -"Effects:\n" -"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" -"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" -"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." -msgstr "" -"说明:\n" -"重置 [干杂活] 任务中所搬运整理的各类物品的储存目的地。\n" -"\n" -"效果:\n" -"> 使用区域管理菜单分配储存目的地。营地中必须已经设置有一个营地食物区、待整理区和至少一个储存目的地区。\n" -"> 只有在待整理区且不在其他区域中的物品才会被分类。\n" -"没有对应储存目的地区域的物品将使用自动区域分类的常规规则进行分类。" - -#: src/faction_camp.cpp -msgid "Reset Sort Points" -msgstr "重置物品储存点" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to gather light brush and heavy sticks.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "> heavy sticks\n" "> withered plants\n" "> splintered wood\n" -" \n" +"\n" "Risk: Very Low\n" "Time: 3 Hours, Repeated\n" "Positions: %d/3\n" @@ -174558,7 +180405,7 @@ msgstr "" "> 碎木\n" "\n" "风险:极低\n" -"耗时:3小时/次,可重复\n" +"耗时:最低 3 小时\n" "位置:%d/3\n" #: src/faction_camp.cpp @@ -174566,9 +180413,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to do low level chores and sort supplies.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Effects:\n" "> Material left in the unsorted loot zone will be sorted into a defined loot zone.\n" "\n" @@ -174577,42 +180424,15 @@ msgid "" "Positions: %d/1\n" msgstr "" "说明:\n" -"选择一名同伴在营地内做低级杂务和分类物资。\n" -"技能:制造\n" -"需求等级:无\n" -"效果:遗留在待整理区的材料将被分类并存放到对应的储存区。\n" -"风险:无\n" -"耗时:3小时\n" -"位置:%d/1\n" - -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" -" \n" -"Skill used: N/A \n" -"Effects:\n" -"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal. \n" -" \n" -"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window. \n" -" \n" -"Risk: None\n" -"Time: 3 Hours \n" -"Positions: %d/1\n" -msgstr "" -"说明:\n" -"你的营地规模已经足够支持建设一块新的扩展区。扩展区将为你解锁许多新的任务,但会花费更多资源并消耗更多时间。谨慎选择你的扩展区,每个营地最多支持建设8块扩展区。\n" +"选择一名同伴在营地内做低级杂务和物资分类的工作。\n" "\n" "技能:制造\n" "需求等级:无\n" "效果:\n" -"> 选择一块可用的扩展区区块。从农场开始始终都是一个可靠的选择,食物被用来支付同伴的任务花费而建设它不需要很多资源。只要一笔投资,就能建设一间工房来快速拆解大型载具,或者一间铁匠铺来获得大量木炭。\n" -"\n" -"注意:扩展区新增功能位于营地主管页面扩展区所对应的标签页内。\n" +"> 留在\"战利品:待整理\"区中的物品将被分类并存放到对应的储存区。\n" "\n" "风险:无\n" -"耗时:3小时\n" +"耗时:3 小时\n" "位置:%d/1\n" #: src/faction_camp.cpp @@ -174620,9 +180440,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to a nearby forest to cut logs.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 50%% of trees/trunks at the forest position will be cut down.\n" "> 100%% of total material will be brought back.\n" @@ -174644,7 +180464,7 @@ msgstr "" "> 最终会将森林转变为旷野。\n" "\n" "风险:无\n" -"耗时:基础6小时 + 往返时间 + 伐木时间\n" +"耗时:基础 6 小时 + 往返时间 + 伐木时间\n" "位置:%d/1\n" #: src/faction_camp.cpp @@ -174652,15 +180472,15 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to a clear a nearby forest.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 95%% of trees/trunks at the forest position will be cut down.\n" "> 0%% of total material will be brought back.\n" "> Forest should become a field tile.\n" "> Useful for clearing land for another faction camp.\n" -" \n" +"\n" "Risk: None\n" "Time: 6 Hour Base + Travel Time + Cutting Time\n" "Positions: %d/1\n" @@ -174677,7 +180497,7 @@ msgstr "" "> 适用于为建设另一个新营地清理土地。\n" "\n" "风险:无\n" -"耗时:基础6小时 + 往返时间 + 伐木时间\n" +"耗时:基础 6 小时 + 往返时间 + 伐木时间\n" "位置:%d/1\n" #: src/faction_camp.cpp @@ -174685,14 +180505,14 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to build an improvised shelter and stock it with equipment at a distant map location.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Good for setting up resupply or contingency points.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 6 Hour Construction + Travel\n" "Positions: %d/1\n" @@ -174716,14 +180536,14 @@ msgstr "" msgid "" "Notes:\n" "Push gear out to a hide site or bring gear back from one.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 1\n" "Effects:\n" "> Good for returning equipment you left in the hide site shelter.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward or back.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 1 Hour Base + Travel\n" "Positions: %d/1\n" @@ -174747,9 +180567,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to forage for edible plants.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Foraging Possibilities:\n" "> wild vegetables\n" "> fruits and nuts depending on season\n" @@ -174763,13 +180583,13 @@ msgstr "" "\n" "技能:生存\n" "需求等级:N/A\n" -"可能的采集物:\n" +"可能的收集物:\n" "> 野菜\n" "> 根据季节产出各种水果坚果\n" "> 产出可能低于任务所消耗的食物!\n" "\n" "风险:极低\n" -"耗时:4小时/次,可重复\n" +"耗时:最低 4 小时\n" "位置:%d/3\n" #: src/faction_camp.cpp @@ -174777,9 +180597,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to set traps for small game.\n" -" \n" +"\n" "Skill used: trapping\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Trapping Possibilities:\n" "> small and tiny animal corpses\n" "May produce less food than consumed!\n" @@ -174793,11 +180613,11 @@ msgstr "" "技能:陷阱\n" "需求等级:N/A\n" "可能的收获:\n" -"> 体型为较小/细小的动物尸体\n" +"> 小型/微型动物的尸体\n" "> 产出可能低于任务所消耗的食物!\n" "\n" "风险:低\n" -"耗时:6小时/次,可重复\n" +"耗时:最低 6 小时\n" "位置:%d/2\n" #: src/faction_camp.cpp @@ -174805,9 +180625,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to hunt large animals.\n" -" \n" +"\n" "Skill used: marksmanship\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Hunting Possibilities:\n" "> small, medium, or large animal corpses\n" "May produce less food than consumed!\n" @@ -174821,11 +180641,11 @@ msgstr "" "技能:枪法\n" "需求等级:N/A\n" "可能的收获:\n" -"> 体型为较小/中等/较大的动物尸体\n" +"> 小型/中型/大型动物的尸体\n" "> 产出可能低于任务所消耗的食物!\n" "\n" "风险:中\n" -"耗时:6小时/次,可重复\n" +"耗时:最低 6 小时\n" "位置:%d/1\n" #: src/faction_camp.cpp @@ -174837,14 +180657,14 @@ msgstr "建造尖刺堑壕" msgid "" "Notes:\n" "Send a companion out into the great unknown. High survival skills are needed to avoid combat but you should expect an encounter or two.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Select checkpoints to customize path.\n" "> Reveals terrain around the path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: High\n" "Time: Travel\n" "Positions: %d/3\n" @@ -174868,14 +180688,14 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to purge the wasteland. Their goal is to kill anything hostile they encounter and return when their wounds are too great or the odds are stacked against them.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 4\n" "Effects:\n" "> Pulls creatures encountered into combat instead of fleeing.\n" "> Select checkpoints to customize path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: Very High\n" "Time: Travel\n" "Positions: %d/3\n" @@ -174894,25 +180714,17 @@ msgstr "" "耗时:往返时间\n" "位置:%d/3\n" -#: src/faction_camp.cpp -msgid " Expansion" -msgstr "扩展区" - -#: src/faction_camp.cpp -msgid "Recover Ally, " -msgstr "召回同伴(" - #: src/faction_camp.cpp msgid "" "Notes:\n" "Have a companion attempt to completely dissemble a vehicle into components.\n" -" \n" +"\n" "Skill used: mechanics\n" "Difficulty: 2 \n" "Effects:\n" "> Removed parts placed on the furniture in the garage.\n" "> Skill plays a huge role to determine what is salvaged.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 days \n" msgstr "" @@ -174932,34 +180744,34 @@ msgstr "" msgid "" "Notes:\n" "Plow any spaces that have reverted to dirt or grass.\n" -" \n" +"\n" msgstr "" "说明:\n" "将已经变回泥土地或草地的农田重新犁成可供种植的土堆。\n" -" \n" +"\n" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: fabrication\n" "Difficulty: N/A \n" "Effects:\n" "> Restores only the plots created in the last expansion upgrade.\n" "> Does not damage existing crops.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 Min / Plot \n" "Positions: 0/1 \n" msgstr "" "\n" -" \n" +"\n" "技能:制造\n" "需求等级:无\n" "效果:\n" "> 仅恢复上次扩展区升级之后创建的农田。\n" "> 不会损害已有的作物。\n" -" \n" +"\n" "风险:无\n" "耗时:5分钟/地块\n" "位置:0/1\n" @@ -174968,36 +180780,36 @@ msgstr "" msgid "" "Notes:\n" "Plant designated seeds in the spaces that have already been tilled.\n" -" \n" +"\n" msgstr "" "说明:\n" "在已经犁好的地上播种下所选择的种子。\n" -" \n" +"\n" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Choose which seed type or all of your seeds.\n" "> Stops when out of seeds or planting locations.\n" "> Will plant in ALL dirt mounds in the expansion.\n" -" \n" +"\n" "Risk: None\n" "Time: 1 Min / Plot \n" "Positions: 0/1 \n" msgstr "" "\n" -" \n" +"\n" "技能:生存\n" "需求等级:无\n" "效果:\n" "> 选择播种的种子种类或者全部播种。\n" "> 当无可用种子或无空余田地时自动停止。\n" "> 将在所选扩展区内的所有土堆上播种。\n" -" \n" +"\n" "风险:无\n" "耗时:1分钟/地块\n" "位置:0/1 \n" @@ -175006,94 +180818,221 @@ msgstr "" msgid "" "Notes:\n" "Harvest any plants that are ripe and bring the produce back.\n" -" \n" +"\n" msgstr "" "说明:\n" "收获所有已成熟的作物并将其带回营地。\n" -" \n" +"\n" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Will dump all harvesting products onto your location.\n" -" \n" +"\n" "Risk: None\n" "Time: 3 Min / Plot \n" "Positions: 0/1 \n" msgstr "" "\n" -" \n" +"\n" "技能:生存\n" "需求等级:无\n" "效果:\n" "> 将会把所有收获的作物丢在你的当前位置上。\n" -" \n" +"\n" "风险:无\n" "耗时:3分钟/地块\n" "位置:0/1\n" #: src/faction_camp.cpp -msgid "departs to search for materials..." +#, c-format +msgid "" +"Notes:\n" +"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" +"\n" +"Skill used: N/A\n" +"Effects:\n" +"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal.\n" +"\n" +"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window.\n" +"\n" +"Risk: None\n" +"Time: 3 Hours\n" +"Positions: %d/1\n" +msgstr "" +"说明:\n" +"你的营地规模已经足够支持建设一块新的扩展区。扩展区将为你解锁许多新的任务,但会花费更多资源并消耗更多时间。谨慎选择你的扩展区,每个营地最多支持建设8块扩展区。\n" +"\n" +"技能:制造\n" +"需求等级:无\n" +"效果:\n" +"> 选择一块可用的扩展区区块。从农场开始始终都是一个可靠的选择,食物被用来支付同伴的任务花费而建设它不需要很多资源。只要一笔投资,就能建设一间工房来快速拆解大型载具,或者一间铁匠铺来获得大量木炭。\n" +"\n" +"注意:扩展区新增功能位于营地主管页面扩展区所对应的标签页内。\n" +"\n" +"风险:无\n" +"耗时:3 小时\n" +"位置:%d/1\n" + +#: src/faction_camp.cpp +#, c-format +msgid "" +"Notes:\n" +"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" +"Effects:\n" +"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" +"\n" +"Must have enjoyability >= -6\n" +"Perishable food liquidated at penalty depending on upgrades and rot time:\n" +"> Rotten: 0%%\n" +"> Rots in < 2 days: 60%%\n" +"> Rots in < 5 days: 80%%\n" +"\n" +"Total faction food stock: %d kcal\n" +"or %d day's rations" +msgstr "" +"说明:\n" +"向你营地里的同伴分发食物并装进储藏室。营地中必须已经设置有一个营地食物区、待整理区和至少一个储存目的地区,否则系统将提示使用区域管理菜单创建这些区域。\n" +"效果:\n" +"> 增加你派系的食物供应价值,同时也能作为劳动者的报酬\n" +"\n" +"食物的享受度必须 >= -6\n" +"易腐食物按照腐烂时间换算:\n" +"> 已腐烂:0 %%\n" +"> 两天内腐烂:60%%\n" +"> 五天内腐烂:80%%\n" +"\n" +"当前派系食物供给: %d 千卡\n" +"或 %d 天口粮" + +#: src/faction_camp.cpp +msgid "Distribute Food" +msgstr "分发食物" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" +"\n" +"Effects:\n" +"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" +"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" +"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." +msgstr "" +"说明:\n" +"重置 [干杂活] 任务中所搬运整理的各类物品的储存目的地。\n" +"\n" +"效果:\n" +"> 使用区域管理菜单分配储存目的地。营地中必须已经设置有一个营地食物区、待整理区和至少一个储存目的地区。\n" +"> 只有在待整理区且不在其他区域中的物品才会被分类。\n" +"没有对应储存目的地区域的物品将使用自动区域分类的常规规则进行分类。" + +#: src/faction_camp.cpp +msgid "Reset Sort Points" +msgstr "重置物品储存点" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Assign repeating job duties to NPCs stationed here.\n" +"Difficulty: N/A\n" +"Effects:\n" +"\n" +"\n" +"Risk: None\n" +"Time: Ongoing" +msgstr "" +"说明:\n" +"给这个营地中已指派的同伴分配可重复进行的工作。\n" +"需求:无\n" +"效果:\n" +"\n" +"\n" +"风险:无\n" +"耗时:持续" + +#: src/faction_camp.cpp +msgid "Assign Jobs" +msgstr "分配工作" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Cancel a current mission and force the immediate return of a companion. No work will be done on the mission and all resources used on the mission will be lost.\n" +"\n" +"WARNING: All resources used on the mission will be lost and no work will be done. Only use this mission to recover a companion who cannot otherwise be recovered.\n" +"\n" +"Companions must be on missions for at least 24 hours before emergency recall becomes available." +msgstr "" +"说明:\n" +"取消当前任务并强制让一名同伴立刻返回营地。会损失所有任务进度并同时损失任务所消耗的资源。\n" +"\n" +"警告:该任务所消耗的所有资源和任务进度都会丢失。仅使用此任务来召回无法通过其他方式召回的同伴。\n" +"\n" +"同伴必须在执行任务至少24小时后才能进行紧急召回。" + +#: src/faction_camp.cpp +msgid "departs to survey land…" +msgstr "离队去勘测选址了……" + +#: src/faction_camp.cpp +msgid "departs to search for materials…" msgstr "离队去寻找物资了……" #: src/faction_camp.cpp -msgid "departs to search for firewood..." +msgid "departs to search for firewood…" msgstr "离队去寻找柴火了……" #: src/faction_camp.cpp -msgid "returns from working in the woods..." +msgid "returns from working in the woods…" msgstr "从伐木地点归来……" #: src/faction_camp.cpp -msgid "returns from working on the hide site..." -msgstr "从设置藏匿点归来……" +msgid "returns from working on the hide site…" +msgstr "设置藏匿点归来……" #: src/faction_camp.cpp -msgid "returns from shuttling gear between the hide site..." -msgstr "从补给藏匿点归来……" +msgid "returns from shuttling gear between the hide site…" +msgstr "向藏匿点运送补给归来……" #: src/faction_camp.cpp -msgid "departs to search for edible plants..." -msgstr "离队去搜寻植物了……" +msgid "departs to search for edible plants…" +msgstr "离队去采集野果了……" #: src/faction_camp.cpp -msgid "departs to set traps for small animals..." +msgid "departs to set traps for small animals…" msgstr "离队去设置陷阱了……" #: src/faction_camp.cpp -msgid "departs to hunt for meat..." +msgid "departs to hunt for meat…" msgstr "离队去狩猎动物了……" #: src/faction_camp.cpp -msgid "departs to search for recruits..." +msgid "departs to search for recruits…" msgstr "离队去招募人手了……" #: src/faction_camp.cpp -msgid "departs to survey land..." -msgstr "离队去勘测选址了……" - -#: src/faction_camp.cpp -msgid "returns to you with something..." +msgid "returns to you with something…" msgstr "带着一些物品归来……" #: src/faction_camp.cpp -msgid "returns from your farm with something..." +msgid "returns from your farm with something…" msgstr "带着一些物品从农场归来……" #: src/faction_camp.cpp -msgid "returns from your kitchen with something..." +msgid "returns from your kitchen with something…" msgstr "带着一些物品从厨房归来……" #: src/faction_camp.cpp -msgid "returns from your blacksmith shop with something..." +msgid "returns from your blacksmith shop with something…" msgstr "带着一些物品从铁匠铺归来……" #: src/faction_camp.cpp -msgid "returns from your garage..." +msgid "returns from your garage…" msgstr "从车库归来……" #: src/faction_camp.cpp @@ -175101,13 +181040,30 @@ msgid "You don't have enough food stored to feed your companion." msgstr "你需要为你的同伴提供更多的食物补给。" #: src/faction_camp.cpp -msgid "begins to upgrade the camp..." +msgid "begins to upgrade the camp…" msgstr "开始升级营地……" #: src/faction_camp.cpp msgid "You don't have the materials for the upgrade." msgstr "你需要更多的物资才能够升级营地。" +#: src/faction_camp.cpp +msgid "There are no npcs stationed here" +msgstr "该营地没有指派同伴" + +#: src/faction_camp.cpp src/npc.cpp +msgid "No particular job" +msgstr "没有特定工作" + +#: src/faction_camp.cpp +#, c-format +msgid "Press %s to change this workers job." +msgstr "按 %s 分配新工作。" + +#: src/faction_camp.cpp +msgid "Assign which job?" +msgstr "分配什么工作?" + #: src/faction_camp.cpp #, c-format msgid "%s goes off to clean toilets and sort loot." @@ -175127,7 +181083,7 @@ msgstr "" "%s" #: src/faction_camp.cpp -msgid "departs to cut logs..." +msgid "departs to cut logs…" msgstr "离队去伐木了……" #: src/faction_camp.cpp @@ -175135,7 +181091,7 @@ msgid "Forests are the only valid cutting locations." msgstr "只有森林地形可作为清除森林地点。" #: src/faction_camp.cpp -msgid "departs to clear a forest..." +msgid "departs to clear a forest…" msgstr "离队去清除森林了……" #: src/faction_camp.cpp @@ -175147,11 +181103,11 @@ msgid "Do you wish to give your companion additional items?" msgstr "你想要给与你的同伴额外的物品吗?" #: src/faction_camp.cpp -msgid "departs to build a hide site..." +msgid "departs to build a hide site…" msgstr "离队去建设藏匿点了……" #: src/faction_camp.cpp -msgid "You need equipment to setup a hide site..." +msgid "You need equipment to setup a hide site…" msgstr "你需要有足够装备才能设置藏匿点……" #: src/faction_camp.cpp @@ -175163,11 +181119,11 @@ msgid "Bring gear back?" msgstr "将装备带回吗?" #: src/faction_camp.cpp -msgid "departs for the hide site..." +msgid "departs for the hide site…" msgstr "离队去藏匿点了……" #: src/faction_camp.cpp -msgid "You need equipment to transport between the hide site..." +msgid "You need equipment to transport between the hide site…" msgstr "你需要有足够装备才能开始运输……" #: src/faction_camp.cpp @@ -175194,7 +181150,7 @@ msgid "You don't have the material to build the fortification." msgstr "你需要更多的物资才能够建设防御工事。" #: src/faction_camp.cpp -msgid "begins constructing fortifications..." +msgid "begins constructing fortifications…" msgstr "开始建设防御工事……" #: src/faction_camp.cpp @@ -175204,7 +181160,7 @@ msgid "" msgstr "选择路径点直到到达距离上限,或者选择上个点以结束。" #: src/faction_camp.cpp -msgid "departs on patrol..." +msgid "departs on patrol…" msgstr "离队去巡逻了……" #: src/faction_camp.cpp @@ -175214,26 +181170,26 @@ msgstr "你需要更多材料才能够制造它" #: src/faction_camp.cpp #, c-format msgid "Batch crafting %s [MAX: %d]: " -msgstr "成批制造 %s [最大:%d]:" +msgstr "批量制造 %s [最大:%d]:" #: src/faction_camp.cpp msgid "Your batch is too large!" msgstr "你制造的批次太多了!" #: src/faction_camp.cpp -msgid "begins to work..." +msgid "begins to work…" msgstr "开始工作……" #: src/faction_camp.cpp -msgid "+ more \n" -msgstr "+ 更多\n" +msgid "+ more\n" +msgstr "及更多\n" #: src/faction_camp.cpp -msgid "begins to harvest the field..." +msgid "begins to harvest the field…" msgstr "开始收获……" #: src/faction_camp.cpp -msgid "You have no additional seeds to give your companions..." +msgid "You have no additional seeds to give your companions…" msgstr "你没有足够的种子提供给你的同伴……" #: src/faction_camp.cpp src/mission_companion.cpp @@ -175241,11 +181197,11 @@ msgid "Which seeds do you wish to have planted?" msgstr "你想种植那些种子?" #: src/faction_camp.cpp -msgid "begins planting the field..." +msgid "begins planting the field…" msgstr "开始播种……" #: src/faction_camp.cpp -msgid "begins plowing the field..." +msgid "begins plowing the field…" msgstr "开始犁地……" #: src/faction_camp.cpp @@ -175258,24 +181214,28 @@ msgstr "" "%s" #: src/faction_camp.cpp -msgid "begins working in the garage..." +msgid "begins working in the garage…" msgstr "开始在车库工作……" #: src/faction_camp.cpp -msgid "Your companion seems disappointed that your pantry is empty..." +msgid "Your companion seems disappointed that your pantry is empty…" msgstr "食物补给已经空了,大伙们都很沮丧……" +#: src/faction_camp.cpp +msgid "responds to the emergency recall…" +msgstr "紧急召唤归来……" + #: src/faction_camp.cpp #, c-format msgid "%s failed to build the %s upgrade." msgstr "%s没能成功升级%s。" #: src/faction_camp.cpp -msgid "returns from upgrading the camp having earned a bit of experience..." +msgid "returns from upgrading the camp having earned a bit of experience…" msgstr "从升级营地归来,并获得了一些经验……" #: src/faction_camp.cpp -msgid "returns from doing the dirty work to keep the camp running..." +msgid "returns from doing the dirty work to keep the camp running…" msgstr "干完维持营地正常运作的各项脏活杂活归来……" #: src/faction_camp.cpp @@ -175296,74 +181256,76 @@ msgstr "狩猎动物" #: src/faction_camp.cpp #, c-format -msgid "returns from %s carrying supplies and has a bit more experience..." -msgstr "从%s携带补给归来,并获得了一些经验……" +msgid "returns from %s carrying supplies and has a bit more experience…" +msgstr "从 %s 携带补给归来,并获得了一些经验……" #: src/faction_camp.cpp -msgid "returns from constructing fortifications..." -msgstr "从建设防御工事归来……" +msgid "returns from constructing fortifications…" +msgstr "建设防御工事归来……" #: src/faction_camp.cpp -msgid "returns from searching for recruits with a bit more experience..." -msgstr "从招募人手归来,并获得了一些经验……" +msgid "returns from searching for recruits with a bit more experience…" +msgstr "招募人手归来,并获得了一些经验……" #: src/faction_camp.cpp #, c-format -msgid "%s encountered %s..." -msgstr "%s遇到了%s……" +msgid "%s encountered %s…" +msgstr "%s 遇到了 %s……" #: src/faction_camp.cpp #, c-format -msgid "%s didn't find anyone to recruit..." -msgstr "%s没遇到一个人……" +msgid "%s didn't find anyone to recruit…" +msgstr "%s 没遇到可以招募的人……" #: src/faction_camp.cpp #, c-format -msgid "%s convinced %s to hear a recruitment offer from you..." -msgstr "%s让%s勉强听了你的招募条件……" +msgid "%s convinced %s to hear a recruitment offer from you…" +msgstr "%s 说服了 %s 来谈谈招募条件……" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested in anything %s had to offer..." -msgstr "%s对%s所提出的招募条件没有任何兴趣……" +msgid "%s wasn't interested in anything %s had to offer…" +msgstr "%s 对 %s 所提出的招募条件没有任何兴趣……" #: src/faction_camp.cpp msgid "" "NPC Overview:\n" -" \n" -msgstr "NPC概况:\n" +"\n" +msgstr "" +"NPC概况:\n" +"\n" #: src/faction_camp.cpp #, c-format msgid "" -"Name: %20s\n" -" \n" +"Name: %s\n" +"\n" msgstr "" -"名字:%20s\n" +"姓名: %s\n" "\n" #: src/faction_camp.cpp #, c-format msgid "Strength: %10d\n" -msgstr "力量:%10d\n" +msgstr "力量: %10d\n" #: src/faction_camp.cpp #, c-format msgid "Dexterity: %10d\n" -msgstr "敏捷:%10d\n" +msgstr "敏捷: %10d\n" #: src/faction_camp.cpp #, c-format msgid "Intelligence: %10d\n" -msgstr "智力:%10d\n" +msgstr "智力: %10d\n" #: src/faction_camp.cpp #, c-format msgid "" "Perception: %10d\n" -" \n" +"\n" msgstr "" -"感知:%10d\n" +"感知: %10d\n" "\n" #: src/faction_camp.cpp @@ -175378,27 +181340,27 @@ msgstr "开价:\n" #, c-format msgid "" "> Food: %10d days\n" -" \n" +"\n" msgstr "" -"> 支付食物:%10d天\n" +"> 支付食物: %10d 天\n" "\n" #: src/faction_camp.cpp #, c-format msgid "" "Faction Food:%9d days\n" -" \n" +"\n" msgstr "" -"派系食物:%9d天\n" +"派系食物: %9d 天\n" "\n" #: src/faction_camp.cpp #, c-format msgid "" "Recruit Chance: %10d%%\n" -" \n" +"\n" msgstr "" -"招募几率:%10d%%\n" +"招募几率: %10d%%\n" "\n" #: src/faction_camp.cpp @@ -175422,7 +181384,7 @@ msgid "Not Interested" msgstr "不感兴趣" #: src/faction_camp.cpp -msgid "You decide you aren't interested..." +msgid "You decide you aren't interested…" msgstr "你对这个NPC不感兴趣,决定放弃……" #: src/faction_camp.cpp @@ -175432,26 +181394,25 @@ msgstr "%s被说服加入我们了!" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested..." -msgstr "%s并不感兴趣……" +msgid "%s wasn't interested…" +msgstr "%s 并不感兴趣……" #: src/faction_camp.cpp -msgid "Your companion hit a river and didn't know how to swim..." +msgid "Your companion hit a river and didn't know how to swim…" msgstr "你的同伴到了河边,但不懂得游泳……" #: src/faction_camp.cpp msgid "" -"Your companion hit a river and didn't know how to swim well enough to " -"cross..." -msgstr "你的同伴到了河边,但其游泳等级不足以支撑到河对岸……" +"Your companion hit a river and didn't know how to swim well enough to cross…" +msgstr "你的同伴到了河边,但其游泳技能不足以支撑到河对岸……" #: src/faction_camp.cpp #, c-format -msgid "%s didn't return from patrol..." -msgstr "%s没能从巡逻中归来……" +msgid "%s didn't return from patrol…" +msgstr "%s 没能从巡逻中归来……" #: src/faction_camp.cpp -msgid "returns from patrol..." +msgid "returns from patrol…" msgstr "从巡逻任务归来……" #: src/faction_camp.cpp @@ -175491,7 +181452,7 @@ msgid "returns from surveying for the expansion." msgstr "完成选址并归来。" #: src/faction_camp.cpp -msgid "returns from working your fields... " +msgid "returns from working your fields…" msgstr "从田里归来……" #: src/faction_camp.cpp @@ -175530,50 +181491,50 @@ msgstr "" #: src/faction_camp.cpp #, c-format msgid ">Distance:%15.2f (km)\n" -msgstr "> 距离: %15.2f(公里)\n" +msgstr "> 距离: %15.2f(公里) \n" #: src/faction_camp.cpp #, c-format msgid ">One Way: %15d (trips)\n" -msgstr "> 单程: %15d(次)\n" +msgstr "> 单程: %15d(次)\n" #: src/faction_camp.cpp #, c-format msgid ">Covered: %15.2f (km)\n" -msgstr "> 总行程: %15.2f(公里)\n" +msgstr "> 总行程:%15.2f(公里)\n" #: src/faction_camp.cpp #, c-format msgid ">Distance:%15d (m)\n" -msgstr "> 距离: %15d(米)\n" +msgstr "> 距离: %15d(米)\n" #: src/faction_camp.cpp #, c-format msgid ">Covered: %15d (m)\n" -msgstr "> 总行程: %15d(米)\n" +msgstr "> 总行程:%15d(米)\n" #: src/faction_camp.cpp #, c-format -msgid ">Travel: %23s\n" -msgstr ">路程: %23s\n" +msgid ">Travel: %s\n" +msgstr "> 旅途: %s\n" #: src/faction_camp.cpp #, c-format -msgid ">Working: %23s\n" -msgstr ">工作: %23s\n" +msgid ">Working: %s\n" +msgstr "> 工作: %s\n" #: src/faction_camp.cpp #, c-format -msgid "Total: %23s\n" -msgstr "共计: %23s\n" +msgid "Total: %s\n" +msgstr "总耗时: %s\n" #: src/faction_camp.cpp #, c-format msgid "" "Food: %15d (kcal)\n" -" \n" +"\n" msgstr "" -"支付食物: %15d(千卡)\n" +"支付食物:%15d(千卡)\n" "\n" #: src/faction_camp.cpp @@ -175594,16 +181555,16 @@ msgstr "" msgid "" "Notes:\n" "Recruiting additional followers is very dangerous and expensive. The outcome is heavily dependent on the skill of the companion you send and the appeal of your base.\n" -" \n" +"\n" "Skill used: speech\n" -"Difficulty: 2 \n" +"Difficulty: 2\n" "Base Score: +%3d%%\n" "> Expansion Bonus: +%3d%%\n" "> Faction Bonus: +%3d%%\n" "> Special Bonus: +%3d%%\n" -" \n" +"\n" "Total: Skill +%3d%%\n" -" \n" +"\n" "Risk: High\n" "Time: 4 Days\n" "Positions: %d/1\n" @@ -175619,10 +181580,10 @@ msgstr "" "派系加成: +%3d%%\n" "特殊加成: +%3d%%\n" "\n" -"共计: + %3d%%\n" +"共计: +%3d%%\n" "\n" "风险:高\n" -"耗时:4天\n" +"耗时:4 天\n" "位置:%d/1\n" #: src/faction_camp.cpp @@ -175639,42 +181600,42 @@ msgstr "需犁地:" #: src/faction_camp.cpp #, c-format -msgid "Name: %25s\n" -msgstr "载具名称:%25s\n" +msgid "Name: %s\n" +msgstr "名称: %s\n" #: src/faction_camp.cpp msgid "---- Engines ----\n" -msgstr "---- 引擎 ----\n" +msgstr "---- 引擎 ----\n" #: src/faction_camp.cpp #, c-format -msgid "Engine: %25s\n" -msgstr "引擎:%25s\n" +msgid "Engine: %s\n" +msgstr "引擎: %s\n" #: src/faction_camp.cpp #, c-format msgid ">Status: %24d%%\n" -msgstr "> 状态:%24d%%\n" +msgstr "> 状态: %24d%%\n" #: src/faction_camp.cpp #, c-format -msgid ">Fuel: %25s\n" -msgstr "> 燃料:%25s\n" +msgid ">Fuel: %s\n" +msgstr "> 燃料: %s\n" #: src/faction_camp.cpp msgid "---- Fuel Storage & Battery ----\n" -msgstr "---- 燃料及电池 ----\n" +msgstr "---- 燃料及电池 ----\n" #: src/faction_camp.cpp msgid "Estimated Chop Time: 5 Days\n" -msgstr "预计拆解时间:5天\n" +msgstr "预计拆解时间: 5 天\n" #: src/faction_camp.cpp -msgid "You do not have a camp food zone. Aborting..." +msgid "You do not have a camp food zone. Aborting…" msgstr "你没有设置营地食品区。中止……" #: src/faction_camp.cpp -msgid "No items are located at the drop point..." +msgid "No items are located at the drop point…" msgstr "食物储藏点没有任何物品……" #: src/faction_camp.cpp @@ -175684,8 +181645,8 @@ msgstr "你将 %d 千卡热量的食物分发给了你的同伴们。" #: src/faction_camp.cpp #, c-format -msgid "While %s, a silent specter approaches %s..." -msgstr "在%s时,一个幽灵般的身影悄无声息地接近了%s……" +msgid "While %s, a silent specter approaches %s…" +msgstr "在 %s 时,一个幽灵般的身影悄无声息地接近了 %s……" #: src/faction_camp.cpp #, c-format @@ -175716,8 +181677,8 @@ msgstr "%s察觉到自己被伏击时已经太迟了!" #: src/faction_camp.cpp #, c-format -msgid "The bull moose charged %s from the tree line..." -msgstr "一只公驼鹿从树林边缘径直朝%s冲了过来……" +msgid "The bull moose charged %s from the tree line…" +msgstr "一只公驼鹿从树林边缘径直朝 %s 冲了过来……" #: src/faction_camp.cpp #, c-format @@ -175735,13 +181696,13 @@ msgstr "伽卜沃奇从后面一把抓住了%s的手臂,并突然开始尖叫 #, c-format msgid "" "Terrified, %s spun around and delivered a massive kick to the creature's " -"torso..." -msgstr "%s惊恐之中转过身来朝那个怪物的肚子狠狠踢了一脚……" +"torso…" +msgstr "%s 惊恐之中转过身来朝那个怪物的肚子狠狠踢了一脚……" #: src/faction_camp.cpp #, c-format -msgid "Collapsing into a pile of gore, %s walked away unscathed..." -msgstr "怪物缓缓变成了一滩肉泥,而%s毫发无伤地离开了……" +msgid "Collapsing into a pile of gore, %s walked away unscathed…" +msgstr "怪物缓缓变成了一滩肉泥,而 %s 毫发无伤地离开了……" #: src/faction_camp.cpp msgid "(Sounds like bullshit, you wonder what really happened.)" @@ -175751,8 +181712,8 @@ msgstr "(牛皮都要吹上天了,你反复琢磨实际上发生了什么。 #, c-format msgid "" "%s turned to find the hideous black eyes of a giant wasp staring back from " -"only a few feet away..." -msgstr "%s转过身来,正好和几步之外一只巨型黄蜂那恐怖的黑色眼睛正面相对……" +"only a few feet away…" +msgstr "%s 转过身来,正好和几步之外一只巨型黄蜂那恐怖的黑色眼睛正面相对……" #: src/faction_camp.cpp msgid "The screams were terrifying, there was nothing anyone could do." @@ -175764,7 +181725,7 @@ msgid "Pieces of %s were found strewn across a few bushes." msgstr "%s的残肢被发现散落在周围的灌木丛上。" #: src/faction_camp.cpp -msgid "(You wonder if your companions are fit to work on their own...)" +msgid "(You wonder if your companions are fit to work on their own…)" msgstr "(你深刻地反省你的同伴是否胜任独自一人在野外工作……)" #: src/fungal_effects.cpp src/iuse.cpp @@ -175798,7 +181759,7 @@ msgid "Loading core data" msgstr "读取核心数据" #: src/game.cpp -msgid "Please wait while the world data loads..." +msgid "Please wait while the world data loads…" msgstr "请等待,世界数据载入中……" #: src/game.cpp src/start_location.cpp @@ -175835,7 +181796,7 @@ msgstr "死后删除世界" #: src/game.cpp #, c-format -msgid "World retained. Characters remaining:%s" +msgid "World retained. Characters remaining:%s" msgstr "世界保留。剩余人物:%s" #: src/game.cpp @@ -175844,7 +181805,7 @@ msgid "The %s is dangerously close!" msgstr "%s 过于接近!" #: src/game.cpp -msgid "Wait till you wake up..." +msgid "Wait till you wake up…" msgstr "等待你醒来……" #: src/game.cpp @@ -176020,8 +181981,8 @@ msgid "You are not wielding a ranged weapon." msgstr "你并未装备远程武器。" #: src/game.cpp -msgid "Watch the last moments of your life...?" -msgstr "看看死后的时刻……?" +msgid "Watch the last moments of your life…?" +msgstr "是否观看你生命的最后时刻……?" #: src/game.cpp msgid "Loading files" @@ -176070,15 +182031,16 @@ msgid "Failed to save game data" msgstr "存储游戏数据失败" #: src/game.cpp -msgid " You are forgotten among the billions lost in the cataclysm..." -msgstr "你和在大灾变中丧生的数十亿人一同被遗忘了……" +msgid " You are forgotten among the billions lost in the cataclysm…" +msgstr " 你和在大灾变中丧生的数十亿人一同被遗忘了……" #: src/game.cpp msgid "" " Locked in an endless battle, the Old Guard was forced to consolidate " "their resources in a handful of fortified bases along the coast. Without " -"the men or material to rebuild, the soldiers that remained lost all hope..." +"the men or material to rebuild, the soldiers that remained lost all hope…" msgstr "" +" " "由于被卷入无休止的战斗,旧日守护者们被迫将其剩余资源整合到少数几个防守严密的堡垒之中。由于没有重建的材料和人员,那些仍然幸存的士兵渐渐失去了希望……" #: src/game.cpp @@ -176089,8 +182051,9 @@ msgid "" "success. Forced to eventually consolidate to large bases, the Old Guard " "left these facilities in the hands of the few survivors that remained. As " "the years past, little materialized from the hopes of rebuilding " -"civilization..." +"civilization…" msgstr "" +" " "一个个灾变幸存者们的坚定不移的精神打动了曾经辉煌联邦的些许残存组织。因数次任务成功所鼓舞而展开的一系列夺回其他设施的行动却成果有限。旧日守护者们最终不得不将有限的资源集中到更大的基地中去,将已夺回的设施交给剩余的少数幸存者管理。年复一年,重建人类文明的希望却始终渺茫……" #: src/game.cpp @@ -176098,8 +182061,9 @@ msgid "" " Life in the refugee shelter deteriorated as food shortages and disease " "destroyed any hope of maintaining a civilized enclave. The merchants and " "craftsmen dispersed to found new colonies but most became victims of " -"marauding bandits. Those who survived never found a place to call home..." +"marauding bandits. Those who survived never found a place to call home…" msgstr "" +" " "粮食短缺和疾病慢慢地破坏了这块文明最后堡垒的任何希望,避难所内的生活渐渐恶化。商人和工匠四散逃离并尝试建立新的定居点,但大多数成为周边四处掠夺的土匪的受害者。那些侥幸活下来的人再也没有能够找到一处能被称为家的地方……" #: src/game.cpp @@ -176108,10 +182072,10 @@ msgid "" "once profitable trade routes were plundered by bandits and thugs. In " "squalor and filth the first generations born after the cataclysm are told " "stories of the old days when food was abundant and the children were allowed" -" to play in the sun..." +" to play in the sun…" msgstr "" -"自由商会在之后的数年里艰难维持,仅能让自己稍稍填下肚子,他们曾经利润丰厚的贸易路线不断受到周围的土匪强盗掠夺。 " -"在肮脏污秽中,灾变之后的第一代人出生了,他们只能够听老一辈人讲起过去食物丰富,儿童被允许在阳光下玩耍的故事……" +" " +"自由商会在之后的数年里艰难维持,仅能让自己稍稍填下肚子,他们曾经利润丰厚的贸易路线不断受到周围的土匪强盗掠夺。在肮脏污秽中,灾变之后的第一代人出生了,他们只能够听老一辈人讲起过去食物丰富,儿童被允许在阳光下玩耍的故事……" #: src/game.cpp msgid "" @@ -176120,6 +182084,7 @@ msgid "" "their support. When the exhausted migrants returned to the refugee center " "they were turned away to face the world on their own." msgstr "" +" " "几个月后,这个刚刚建立的前哨站就被放弃了。外部威胁以及坏收成相结合导致自由商会撤回了一切支援。当精疲力竭的移民返回难民中心时,他们被告知必须离开,独自面对世界。" #: src/game.cpp @@ -176130,6 +182095,7 @@ msgid "" "of the Free Merchants. Hard labor for little reward remained the price to " "be paid for those who sought the safety of the community." msgstr "" +" " "尽管外部威胁一直连续不断,但公社的规模仍在接下来的数年迅速增长。虽然仍旧保持着作为所有守法公民的天堂的名声,但公社的领导仍然始终忠于自由商会的利益。对于那些向公社寻求保护的人来说,艰苦劳动之后只能获得微薄回报仍然是他们需要承担的代价。" #: src/game.cpp @@ -176137,8 +182103,9 @@ msgid "" " The lone bands of survivors who wandered the now alien world dwindled in" " number through the years. Unable to compete with the growing number of " "monstrosities that had adapted to live in their world, those who did survive" -" lived in dejected poverty and hopelessness..." +" lived in dejected poverty and hopelessness…" msgstr "" +" " "在现在完全陌生的废土上孤独游荡徘徊的幸存者人数逐年减少。由于无法与越来越多的已经适应了在他们的新世界中生活的怪物竞争,那些侥幸活着的人们只能每天都在无尽的沮丧和绝望中生活下去……" #: src/game.cpp @@ -176148,8 +182115,9 @@ msgid "" "old world. Enormous hordes made cities impossible to enter while new " "eldritch horrors appeared mysteriously near old research labs. But on the " "fringes of where civilization once ended, bands of hunter-gatherers began to" -" adopt agrarian lifestyles in fortified enclaves..." +" adopt agrarian lifestyles in fortified enclaves…" msgstr "" +" " "在大灾变之后的初期四处横行的拾荒者们正面临着一个与日俱增的挑战,如何寻找并维护旧世界所留下的装备。无尽的尸潮让城市无法进入,而同时新的异界生物从废弃的实验室中不断涌现。而在已经终结的旧日文明世界的边缘,曾经的狩猎采集小队开始在一块块防守严密的堡垒中渐渐适应农耕生活……" #: src/game.cpp @@ -176161,6 +182129,7 @@ msgid "" "infighting erupted into civil war but there were few survivors left to " "celebrate their destruction." msgstr "" +" " "随着旧日守护者卫队的人员逐渐损失,强盗渐渐变得比任何其他派系都更强。那些聚集在一起只为了抢夺其他避难所和定居点的残酷无情的男男女女很快发现自己没有足够的受害者让他们生存下去。当内斗爆发升级成内战时,地狱掠夺者派系最终被完全摧毁,但是几乎没有多少受害者能够幸存下来庆祝强盗们的毁灭。" #: src/game.cpp @@ -176170,8 +182139,9 @@ msgid "" "brought the warlords abundant territory and slaves but little in the way of " "stability. Within weeks, infighting led to civil war as tribes vied for " "leadership of the faction. When only one warlord finally secured control, " -"there was nothing left to fight for... just endless cities full of the dead." +"there was nothing left to fight for… just endless cities full of the dead." msgstr "" +" " "在毒品和愤怒的刺激下,地狱掠夺者竭尽全力最终攻下了旧日守护者最后的堡垒。这场代价高昂的胜利为头目们带来了充足的领地和奴隶,却没能给派系带来稳定。几周之内,为了争斗领导权,派系内斗就升级成了内战。当最终只剩下一个头目获得控制权时,却没有什么可以给他控制的了……除了充满了数不尽丧尸的城市。" #: src/game.cpp @@ -176348,13 +182318,6 @@ msgid "" "increased by %s." msgstr "警告:患者身体已受损,手术难度增加%s%。" -#: src/game.cpp -#, c-format -msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " -"anyway?" -msgstr "警告:有百分之 %i 的几率对全身所有部位造成不同程度的严重伤害,仍要卸载吗?" - #: src/game.cpp msgid "Successfully removed Personality override." msgstr "成功删除人格覆盖。" @@ -176497,7 +182460,7 @@ msgid "Never mind" msgstr "没事了。" #: src/game.cpp src/npctalk.cpp -msgid "You may be attacked! Proceed?" +msgid "You may be attacked! Proceed?" msgstr "你可能会被攻击!确定继续吗?" #: src/game.cpp @@ -176684,12 +182647,12 @@ msgid "There's something there, but you can't see what it is." msgstr "那儿有些东西,不过看不清。" #: src/game.cpp -msgid "More items here..." +msgid "More items here…" msgstr "更多物品……" #: src/game.cpp #, c-format -msgctxt "%s is the name of the item. %d is the quantity of that item." +msgctxt "%s is the name of the item. %d is the quantity of that item." msgid "%s [%d]" msgstr "%s [%d]" @@ -177006,8 +182969,8 @@ msgstr "你没有所需的工具,无法拆解任何物品。" #: src/game.cpp #, c-format -msgid "You see %s nearby! Start butchering anyway?" -msgstr "你看见附近有%s!真的继续屠宰吗?" +msgid "You see %s nearby! Start butchering anyway?" +msgstr "你看见附近有 %s!真的继续屠宰吗?" #: src/game.cpp msgid "Choose corpse to butcher / item to disassemble" @@ -177043,8 +183006,8 @@ msgstr "你的心情不好,而且一想到手要沾上内脏和鲜血,你决 #: src/game.cpp src/iuse.cpp src/iuse.cpp src/iuse.cpp src/veh_interact.cpp #: src/veh_interact.cpp #, c-format -msgid "%s helps with this task..." -msgstr "%s 协助了你……" +msgid "%s helps with this task…" +msgstr "%s 协助你完成这项任务……" #: src/game.cpp #, c-format @@ -177103,7 +183066,7 @@ msgstr "你至少需要一个%s才能重新装填%s!" msgid "The %s is already full!" msgstr "%s已经满了!" -#: src/game.cpp +#: src/game.cpp src/ranged.cpp #, c-format msgid "You can't reload a %s!" msgstr "你不能重新装填%s!" @@ -177128,13 +183091,6 @@ msgstr "你没有可以清空的物品。" msgid "You're not wielding anything." msgstr "你没有手持任何东西。" -#. ~ %1$s: weapon name, %2$s: holster name -#: src/game.cpp src/player.cpp -#, c-format -msgctxt "holster" -msgid "Draw %1$s from %2$s?" -msgstr "从 %2$s 拔出 %1$s?" - #: src/game.cpp #, c-format msgid "There's an angry red dot on your body, %s to brush it off." @@ -177152,14 +183108,14 @@ msgstr "幸存者" #: src/game.cpp #, c-format msgid " or %s to whitelist the monster" -msgstr "或 %s 将怪物添加至白名单" +msgstr ",%s 将怪物添加至白名单" #: src/game.cpp #, c-format msgid "" -"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " +"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " "monster%4$s)" -msgstr "发现了%1$s:安全模式已触发,暂停游戏!(%2$s 关闭模式,%3$s 忽略怪物。%4$s)" +msgstr "发现了%1$s:安全模式已触发,暂停游戏!(%2$s 关闭模式,%3$s 忽略怪物%4$s)" #: src/game.cpp #, c-format @@ -177198,9 +183154,13 @@ msgstr "那里有%s,确定进入?" msgid "Your %s refuses to move over that ledge!" msgstr "你的%s拒绝移动到那上面!" -#: src/game.cpp src/player.cpp src/player.cpp -msgid "You let go of the grabbed object." -msgstr "你松开了抓着的东西。" +#: src/game.cpp +msgid "You can't fit there." +msgstr "你钻不进这里。" + +#: src/game.cpp +msgid "Your mount can't fit there." +msgstr "你的坐骑钻不进这里。" #: src/game.cpp msgid "Can't find grabbed object." @@ -177356,9 +183316,13 @@ msgid "" "There are vehicle controls here but you cannot reach them whilst mounted." msgstr "这里有个载具控制器,但你无法在骑乘时使用它。" +#: src/game.cpp +msgid "You are repelled by the barrier!" +msgstr "你被障碍弹了回来!" + #: src/game.cpp msgid "" -"You try to quantum tunnel through the barrier but are reflected! Try again " +"You try to quantum tunnel through the barrier but are reflected! Try again " "with more energy!" msgstr "你试图使用量子隧穿穿越障碍,但是被弹了回来!等有更多生化能量后再试!" @@ -177389,6 +183353,16 @@ msgstr "%s太重了,你在试图移动它时扭伤了自己!" msgid "There's stuff in the way." msgstr "有些东西挡住了你。" +#: src/game.cpp +#, c-format +msgid "The %s is really heavy!" +msgstr "%s太沉了!" + +#: src/game.cpp +#, c-format +msgid "You fail to move the %s." +msgstr "你没能移动%s。" + #: src/game.cpp #, c-format msgid "The %s is too heavy for you to budge." @@ -177443,8 +183417,8 @@ msgstr "爬上%s" #: src/game.cpp #, c-format -msgid "You try to use the stairs. Suddenly you are blocked by a %s!" -msgstr "你试着下楼梯。突然,%s挡住了你!" +msgid "You try to use the stairs. Suddenly you are blocked by a %s!" +msgstr "你走上了楼梯。突然,一个 %s 挡住了你!" #: src/game.cpp #, c-format @@ -177540,7 +183514,7 @@ msgid "Halfway down, the way down becomes blocked off." msgstr "往下的路中途被挡住了。" #: src/game.cpp -msgid "There is a sheer drop halfway down. Web-descend?" +msgid "There is a sheer drop halfway down. Web-descend?" msgstr "往下的路中途变成直落的悬崖了,用蛛网垂下去?" #: src/game.cpp @@ -177558,8 +183532,8 @@ msgid "There is a sheer drop halfway down. Use your vines to descend?" msgstr "这是一个陡坡,要用你的藤蔓降下去么?" #: src/game.cpp -msgid "Detach a vine? It'll hurt, but you'll be able to climb back up..." -msgstr "你要分离你的藤蔓么?这会对你造成伤害,但是这样你就可以沿着你分离的藤蔓爬回上面去了。" +msgid "Detach a vine? It'll hurt, but you'll be able to climb back up…" +msgstr "你要分离你的藤蔓么?这会对你造成伤害,但是这样你就可以沿着你分离的藤蔓爬回上面去了……" #: src/game.cpp msgid "You descend on your vines, though leaving a part of you behind stings." @@ -177575,11 +183549,11 @@ msgid "" msgstr "你轻松着陆,并且留下了一部分藤蔓以备后用。" #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your grappling hook down?" +msgid "There is a sheer drop halfway down. Climb your grappling hook down?" msgstr "往下的路中途变成直落的悬崖了,用抓钩爬下去?" #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your rope down?" +msgid "There is a sheer drop halfway down. Climb your rope down?" msgstr "往下的路中途变成直落的悬崖了,用绳子爬下去?" #: src/game.cpp @@ -177641,8 +183615,8 @@ msgstr "%s推开了你!" #: src/game.cpp #, c-format -msgid "The %s tried to push you back but failed! It attacks you!" -msgstr "%s想推开你但失败了!你被攻击了!" +msgid "The %s tried to push you back but failed! It attacks you!" +msgstr "%s 想推开你但失败了!你被攻击了!" #: src/game.cpp #, c-format @@ -177670,27 +183644,27 @@ msgstr "尚无 %s 的存档。" #: src/game.cpp #, c-format msgid "" -"Whoa! Your terminal is tiny! This game requires a minimum terminal size of " -"%dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " +"Whoa! Your terminal is tiny! This game requires a minimum terminal size of" +" %dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " "help?" -msgstr "哇塞!你的显示器好小啊!本游戏需要至少 %dx%d 的显示器才能正常运转。%dx%d 不够大。也许把字体调小些会好点?" +msgstr "哇塞!你的窗口好小啊!本游戏需要至少 %dx%d 的窗口才能正常运转。%dx%d 不够大。也许把字体调小些会好点?" #: src/game.cpp #, c-format msgid "" -"Oh! Hey, look at that. Your terminal is just a little too narrow. This game " -"requires a minimum terminal size of %dx%d to function. It just won't work " -"with only %dx%d. Can you stretch it out sideways a bit?" +"Oh! Hey, look at that. Your terminal is just a little too narrow. This " +"game requires a minimum terminal size of %dx%d to function. It just won't " +"work with only %dx%d. Can you stretch it out sideways a bit?" msgstr "" -"哦耶,瞧一瞧看一看,你的显示器有一点点窄。本游戏需要至少 %dx%d 的显示器才能正常运转。只有 %dx%d 它可玩不转。你能把它拉宽一点不?" +"哦耶,瞧一瞧看一看,你的窗口有一点点窄。本游戏需要至少 %dx%d 的显示器才能正常运转。只有 %dx%d 它可玩不转。你能把它拉宽一点不?" #: src/game.cpp #, c-format msgid "" -"Woah, woah, we're just a little short on space here. The game requires a " -"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " +"Woah, woah, we're just a little short on space here. The game requires a " +"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " "make the terminal just a smidgen taller?" -msgstr "哇噢哇噢,你的显示高度有点不够啊。本游戏需要至少 %dx%d 的显示器才能正常运转。只有%dx%d不大够!你能不能让显示器长高点?" +msgstr "哇噢哇噢,你的显示高度有点不够啊。本游戏需要至少 %dx%d 的窗口才能正常运转。只有%dx%d不大够!你能不能把窗口调高点呢?" #: src/game.cpp msgid "" @@ -177773,7 +183747,7 @@ msgid "You feel thirsty." msgstr "你感觉到更容易渴了。" #: src/game.cpp -msgid "You feel an evil presence..." +msgid "You feel an evil presence…" msgstr "你感觉到某种恶灵的存在……" #: src/game.cpp @@ -177789,8 +183763,8 @@ msgid "You feel your genetic makeup degrading." msgstr "你感觉到体内基因构成正在降解。" #: src/game.cpp -msgid "You feel an otherworldly attention upon you..." -msgstr "你感觉到某种异界的关注……" +msgid "You feel an otherworldly attention upon you…" +msgstr "你感到一种来自异界的关注……" #: src/game.cpp msgid "You feel a force pulling you inwards." @@ -177834,8 +183808,8 @@ msgstr "感 %s%d!" #: src/game.cpp #, c-format -msgid "Speed %s%d! " -msgstr "速 %s%d!" +msgid "Speed %s%d!" +msgstr "速度 %s%d!" #: src/game_inventory.cpp msgid "You don't have the necessary item at hand." @@ -177964,6 +183938,16 @@ msgstr "无限期" msgid "SHELF LIFE" msgstr "保质期" +#. ~ Eat menu Volume: +#: src/game_inventory.cpp +#, c-format +msgid "%.2f%s" +msgstr "%.2f%s" + +#: src/game_inventory.cpp +msgid "VOLUME" +msgstr "体积" + #: src/game_inventory.cpp msgid "FRESHNESS" msgstr "新鲜度" @@ -177972,10 +183956,6 @@ msgstr "新鲜度" msgid "SPOILS IN" msgstr "腐坏于" -#: src/game_inventory.cpp -msgid "Battery" -msgstr "电量" - #: src/game_inventory.cpp msgid "Reactor" msgstr "核反应堆" @@ -178000,10 +183980,6 @@ msgstr "无法喝下已洒出的液体" msgid "Your biology is not compatible with that item." msgstr "你的生物特性与那件物品不兼容。" -#: src/game_inventory.cpp -msgid "You're fully charged" -msgstr "你的生化能量已达上限" - #: src/game_inventory.cpp #, c-format msgid "No space to store more %s" @@ -178278,8 +184254,8 @@ msgstr "没有可比较的项目。" #: src/game_inventory.cpp msgid "" -"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE to" -" cancel." +"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE " +"to cancel." msgstr "输入新字母。按\"空格\"键清除已分配按键,按\"ESC\"键取消。" #: src/game_inventory.cpp @@ -178311,11 +184287,6 @@ msgstr "可用麻醉箱:%i" msgid "Available anesthetic: %i mL" msgstr "可用麻醉剂:%imL" -#: src/game_inventory.cpp -#, c-format -msgid "Money available: %s" -msgstr "可用现金:%s" - #: src/game_inventory.cpp #, c-format msgid "Bionic removal patient: %s" @@ -178441,6 +184412,14 @@ msgstr "所需水量" msgid "CBM is filthy. Wash it first." msgstr "CBM太脏了。先把它清洗干净。" +#: src/game_inventory.cpp +msgid "You should put this CBM in an autoclave pouch to keep it sterile." +msgstr "你需要将这个 CBM 放进灭菌袋中来保持无菌状态。" + +#: src/game_inventory.cpp +msgid "You need at least 2L of water." +msgstr "你至少需要 2 升水。" + #: src/game_inventory.cpp msgid "Sterilization" msgstr "消毒" @@ -178463,7 +184442,7 @@ msgstr "防御模式" #: src/gates.cpp msgid "There's some buffoon in the way!" -msgstr "一个傻逼挡住路了!" +msgstr "一个傻子挡住路了!" #: src/gates.cpp #, c-format @@ -178553,7 +184532,7 @@ msgstr "%s撞上了%s。" #: src/handle_action.cpp #, c-format -msgid "Press %s to accept your fate..." +msgid "Press %s to accept your fate…" msgstr "按\"%s\"键接受你的命运……" #: src/handle_action.cpp @@ -178566,15 +184545,15 @@ msgstr "与障碍物的碰撞声!" #. ~ Sound of moving a remote controlled car #: src/handle_action.cpp -msgid "zzz..." -msgstr "嗞……" +msgid "zzz…" +msgstr "嗡嗡嗡……" #: src/handle_action.cpp -msgid "You can't drive the vehicle from here. You need controls!" -msgstr "该位置没有载具控制器,你无法启动载具。" +msgid "You can't drive the vehicle from here. You need controls!" +msgstr "该位置没有载具控制器,你无法启动载具!" #: src/handle_action.cpp -msgid "Can't drive this vehicle remotely. It has no working controls." +msgid "Can't drive this vehicle remotely. It has no working controls." msgstr "无法遥控该载具。它没有可用的载具控制器。" #: src/handle_action.cpp @@ -178683,11 +184662,11 @@ msgid "There's nothing there to smash!" msgstr "这里没有可以砸碎的东西!" #: src/handle_action.cpp -msgid "You already have an alarm set. What do you want to do?" +msgid "You already have an alarm set. What do you want to do?" msgstr "你已经设置好闹钟了,还要做什么?" #: src/handle_action.cpp -msgid "You have an alarm clock. What do you want to do?" +msgid "You have an alarm clock. What do you want to do?" msgstr "你有闹钟,设置闹钟吗?" #: src/handle_action.cpp @@ -178810,12 +184789,12 @@ msgstr "睡觉前你可能希望关掉这些东西。" #: src/handle_action.cpp msgid "" -"You're engorged to hibernate. The alarm would only attract attention. Set an" -" alarm anyway?" +"You're engorged to hibernate. The alarm would only attract attention. Set " +"an alarm anyway?" msgstr "你吃得饱饱的,做好了冬眠准备。闹钟只会吸引注意而不会将你叫醒。还要设置闹钟吗?" #: src/handle_action.cpp -msgid "You have an alarm clock. Set an alarm?" +msgid "You have an alarm clock. Set an alarm?" msgstr "你有一个闹钟。设置闹钟吗?" #: src/handle_action.cpp @@ -178847,37 +184826,37 @@ msgstr "整理战利品" #: src/handle_action.cpp msgid "" "Sorts out the loot from Loot: Unsorted zone to nearby appropriate Loot " -"zones. Uses empty space in your inventory or utilizes a cart, if you are " +"zones. Uses empty space in your inventory or utilizes a cart, if you are " "holding one." msgstr "将位于\"战利品:待整理\"区域内的所有物品按照类别放置于各个\"战利品\"区域内。将使用你当前物品栏和你所拖拽的载具的可用容积。" #: src/handle_action.cpp msgid "Till farm plots" -msgstr "耕种耕作区" +msgstr "开垦土地" #: src/handle_action.cpp -msgid "Till farm plots... you need a tool to dig with" -msgstr "将耕种……你需要挖掘工具。" +msgid "Till farm plots… you need a tool to dig with" +msgstr "开垦土地……你需要挖掘工具。" #: src/handle_action.cpp msgid "Tills nearby Farm: Plot zones." -msgstr "将耕种附近的\"农场:耕作区\"。" +msgstr "将开垦附近的\"农场:耕作区\"。" #: src/handle_action.cpp -msgid "Plant seeds... it is too cold for planting" -msgstr "将播种……天冷,不能种植。" +msgid "Plant seeds… it is too cold for planting" +msgstr "播种……天冷,不能种植。" #: src/handle_action.cpp msgid "Plant seeds" msgstr "播种" #: src/handle_action.cpp -msgid "Plant seeds... you don't have any" -msgstr "将播种……你没有任何种子。" +msgid "Plant seeds… you don't have any" +msgstr "播种……你没有任何种子。" #: src/handle_action.cpp msgid "" -"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " +"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " "specific plant seed and you must have seeds in your inventory." msgstr "将播种附近的\"农场:耕作区\"。耕作区需要设置好所播种的种子,物品栏中需要有对应种子。" @@ -178886,7 +184865,7 @@ msgid "Fertilize plots" msgstr "施肥耕作区" #: src/handle_action.cpp -msgid "Fertilize plots... you don't have any fertilizer" +msgid "Fertilize plots… you don't have any fertilizer" msgstr "施肥耕作区……你没有肥料" #: src/handle_action.cpp @@ -178915,7 +184894,7 @@ msgstr "农田区" #: src/handle_action.cpp msgid "Till and plant on any nearby farm plots - auto-fetch seeds and tools." -msgstr "在附近的农田区上耕作和种植——自动获取种子和工具。" +msgstr "在附近的农田区上开垦和种植——自动获取种子和工具。" #: src/handle_action.cpp msgid "Chop trees" @@ -179178,6 +185157,10 @@ msgstr "新的默认绑定键为\"^\"。" msgid "You can't operate a vehicle while you're in your shell." msgstr "你缩在龟壳里无法驾驶载具。" +#: src/handle_action.cpp +msgid "You refuse to take control of this vehicle." +msgstr "你不愿意控制这架载具。" + #: src/handle_action.cpp msgid "Auto travel mode OFF!" msgstr "自动移动模式关!" @@ -179191,8 +185174,8 @@ msgid "Safe mode OFF!" msgstr "安全模式关闭!" #: src/handle_action.cpp -msgid "Safe mode OFF! (Auto safe mode still enabled!)" -msgstr "安全模式关闭!(自动安全模式仍在启用中!)" +msgid "Safe mode OFF! (Auto safe mode still enabled!)" +msgstr "安全模式关闭!(自动安全模式仍被启用!)" #: src/handle_action.cpp msgid "Auto safe mode OFF!" @@ -179416,10 +185399,10 @@ msgstr "是否要关闭此易位门?" #: src/iexamine.cpp #, c-format msgid "" -"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" +"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" "Your current balance is: %s" msgstr "" -"欢迎来到C.C.B.o.t.T。ATM存取款机。请问您需要什么?\n" +"欢迎使用 C.C.B.o.t.T. 自动存取款机。请选择您的操作。\n" "当前账户余额:%s" #: src/iexamine.cpp @@ -179469,8 +185452,9 @@ msgid "Your account now holds %s." msgstr "你的账户现在存有 %s。" #: src/iexamine.cpp -msgid "This will automatically deduct $1.00 from your bank account. Continue?" -msgstr "这将自动从您的银行账户中扣除$1.00。是否继续?" +msgid "" +"This will automatically deduct $1.00 from your bank account. Continue?" +msgstr "这将自动从您的银行账户中扣除 $1.00。是否继续?" #: src/iexamine.cpp msgid "You can only deposit money from charged cash cards!" @@ -179478,9 +185462,9 @@ msgstr "只能用有余额的现金卡进行账户存款!" #: src/iexamine.cpp #, c-format -msgid "Deposit how much? Max: %d cent. (0 to cancel) " -msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " -msgstr[0] "存入多少?上限:%d 分。(按\"0\"取消)" +msgid "Deposit how much? Max: %d cent. (0 to cancel) " +msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " +msgstr[0] "存入多少?上限:%d 分。(输入 0 取消)" #: src/iexamine.cpp msgid "You do not have a cash card to withdraw money!" @@ -179488,9 +185472,9 @@ msgstr "你需要一张能够提款的现金卡!" #: src/iexamine.cpp #, c-format -msgid "Withdraw how much? Max: %d cent. (0 to cancel) " -msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " -msgstr[0] "取出多少?上限:%d 分。(按\"0\"取消)" +msgid "Withdraw how much? Max: %d cent. (0 to cancel) " +msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " +msgstr[0] "取出多少?上限:%d 分。(输入 0 取消)" #: src/iexamine.cpp msgid "The vending machine is empty!" @@ -179584,7 +185568,7 @@ msgid "No one responds." msgstr "没人回应。" #: src/iexamine.cpp -msgid "If only you had a shovel..." +msgid "If only you had a shovel…" msgstr "你要是有把铲子就好了……" #: src/iexamine.cpp @@ -179685,15 +185669,15 @@ msgid "Insert $10?" msgstr "塞入10元?" #: src/iexamine.cpp -msgid "Three cherries... you get your money back!" +msgid "Three cherries… you get your money back!" msgstr "三个樱桃……你拿回了投注的钱!" #: src/iexamine.cpp -msgid "Three bells... you win $50!" +msgid "Three bells… you win $50!" msgstr "三个铃铛……你赢了50元!" #: src/iexamine.cpp -msgid "Three stars... you win $200!" +msgid "Three stars… you win $200!" msgstr "三个星星……你赢了200元!" #: src/iexamine.cpp @@ -179709,12 +185693,12 @@ msgid "Play again?" msgstr "再玩一次?" #: src/iexamine.cpp -msgid "You mess with the dial for a little bit... and it opens!" -msgstr "你微微拨动刻度盘……打开了!" +msgid "You mess with the dial for a little bit… and it opens!" +msgstr "你胡乱拨动了几下刻度盘……然后它居然开了!" #: src/iexamine.cpp msgid "You mess with the dial for a little bit." -msgstr "你微微拨动刻度盘。" +msgstr "你胡乱拨动了几下刻度盘。" #: src/iexamine.cpp msgid "You can't crack a safe while deaf!" @@ -179749,15 +185733,26 @@ msgid "The gun safe stumps your efforts to pick it." msgstr "你想撬开枪用保险柜的锁,但锁赢了。" #: src/iexamine.cpp -msgid "If only you had something to pry with..." -msgstr "你要是有把撬棍就好了……" +#, c-format +msgid "The %s is locked. If only you had something to pry it with…" +msgstr "%s上锁了。你要是有把撬棍就好了……" #. ~ %1$s: terrain/furniture name, %2$s: prying tool name #: src/iexamine.cpp #, c-format -msgid "You attempt to pry open the %1$s using your %2$s..." +msgid "You attempt to pry open the %1$s using your %2$s…" msgstr "你尝试使用 %2$s 撬开 %1$s……" +#: src/iexamine.cpp +#, c-format +msgid "The %s is locked. If only you had something to pick its lock with…" +msgstr "%s上锁了。要是有什么东西能开锁就好了……" + +#: src/iexamine.cpp +#, c-format +msgid "You attempt to pick lock of %1$s using your %2$s…" +msgstr "你尝试使用 %2$s 打开 %1$s 的锁……" + #: src/iexamine.cpp msgid "This bulletin board is not inside a camp" msgstr "公告牌不在营地里" @@ -179773,11 +185768,11 @@ msgstr "" "那些洞有人的形状,但又有许多长又扭曲的肿胀肢体。" #: src/iexamine.cpp -msgid "The pedestal sinks into the ground..." +msgid "The pedestal sinks into the ground…" msgstr "基架沉入了地面……" #: src/iexamine.cpp -msgid "an ominous grinding noise..." +msgid "an ominous grinding noise…" msgstr "一阵不详的摩擦声……" #: src/iexamine.cpp @@ -179824,12 +185819,12 @@ msgid "You hear the rumble of rock shifting." msgstr "你听到了岩石移动的轰隆声。" #: src/iexamine.cpp -msgid "This flower is dead. You can't get it." -msgstr "这朵花死了,你无法得到它。" +msgid "This flower is dead. You can't get it." +msgstr "这朵花已经死了。你没法采集它。" #: src/iexamine.cpp -msgid "This plant is dead. You can't get it." -msgstr "这植物死了,你无法得到它。" +msgid "This plant is dead. You can't get it." +msgstr "这株植物已经死了。你没法采集它。" #: src/iexamine.cpp msgid "You drink some nectar." @@ -179864,7 +185859,7 @@ msgid "This flower has a heady aroma." msgstr "这朵花有浓重的香气。" #: src/iexamine.cpp -msgid "You fall asleep..." +msgid "You fall asleep…" msgstr "你陷入沉睡……" #: src/iexamine.cpp @@ -179877,7 +185872,7 @@ msgstr "仙人掌的刺刺痛了你!" #: src/iexamine.cpp #, c-format -msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" +msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" msgstr "你没有挖掘工具,仍要摘取 %s?" #: src/iexamine.cpp @@ -179893,8 +185888,8 @@ msgid "Nothing can be harvested from this plant in current season" msgstr "这株植物在当前季节不能收获任何产物" #: src/iexamine.cpp -msgid "This flower is still alive, despite the harsh conditions..." -msgstr "这朵花还绽放着,不论环境有多么糟糕……" +msgid "This flower is still alive, despite the harsh conditions…" +msgstr "就算在这种糟糕的环境下,这朵花还在绽放……" #: src/iexamine.cpp #, c-format @@ -179902,8 +185897,8 @@ msgid "You feel out of place as you explore the %s. Drink?" msgstr "研究 %s 让你很不自然。要喝吗?" #: src/iexamine.cpp -msgid "This flower tastes very wrong..." -msgstr "这朵花尝起来非常糟糕……" +msgid "This flower tastes very wrong…" +msgstr "这朵花尝起来非常不对劲……" #: src/iexamine.cpp #, c-format @@ -179944,8 +185939,8 @@ msgid "You have no seeds to plant." msgstr "你没有种子来播种。" #: src/iexamine.cpp -msgid "Something's lying there..." -msgstr "什么东西躺在那儿……" +msgid "Something's lying there…" +msgstr "那里有一些东西……" #: src/iexamine.cpp src/mission_companion.cpp msgid "You saved your seeds for later." @@ -179962,8 +185957,8 @@ msgid "The seed blooms forth! We have brought true beauty to this world." msgstr "种子向外绽放!吾等为这个世界带来了真正的美丽。" #: src/iexamine.cpp -msgid "The seed blossoms rather rapidly..." -msgstr "种子的绽放更迅速了……" +msgid "The seed blossoms rather rapidly…" +msgstr "种子迅速地绽放……" #: src/iexamine.cpp msgid "The seed blossoms into a flower-looking fungus." @@ -180021,7 +186016,7 @@ msgid "This kiln contains %s, which can't be made into charcoal!" msgstr "炭窑里有 %s,无法用来制作木炭!" #: src/iexamine.cpp -msgid "This kiln is empty. Fill it with wood or bone and try again." +msgid "This kiln is empty. Fill it with wood or bone and try again." msgstr "这个炭窑是空的。装满木头或者骨头后再试。" #: src/iexamine.cpp @@ -180046,7 +186041,7 @@ msgid "You fire the charcoal kiln." msgstr "你点燃了炭窑。" #: src/iexamine.cpp -msgid "This kiln is empty..." +msgid "This kiln is empty…" msgstr "炭窑是空的……" #: src/iexamine.cpp @@ -180088,7 +186083,7 @@ msgstr "电弧炉里有 %s,无法用来制作电石!" #: src/iexamine.cpp msgid "" -"This furance is empty. Fill it with powdered coke and lime mix, and try " +"This furance is empty. Fill it with powdered coke and lime mix, and try " "again." msgstr "这个电弧炉是空的。装满混合好的焦炭粉和石灰粉后再试。" @@ -180117,7 +186112,7 @@ msgid "You turn on the furnace." msgstr "你启动了电弧炉。" #: src/iexamine.cpp -msgid "This furnace is empty..." +msgid "This furnace is empty…" msgstr "电弧炉是空的……" #: src/iexamine.cpp @@ -180130,7 +186125,7 @@ msgid "It has finished burning, yielding %d calcium carbide." msgstr "它已经结束煅烧,产出了 %d 电石。" #: src/iexamine.cpp -msgid "This autoclave is empty..." +msgid "This autoclave is empty…" msgstr "高压灭菌釜是空的……" #: src/iexamine.cpp @@ -180189,7 +186184,7 @@ msgid "Start a fire" msgstr "生火" #: src/iexamine.cpp -msgid "Start a fire... you'll need a fire source." +msgid "Start a fire… you'll need a fire source." msgstr "生火……你需要一个火源。" #: src/iexamine.cpp @@ -180211,13 +186206,17 @@ msgstr "取下 %s" #: src/iexamine.cpp #, c-format -msgid "You attempt to start a fire with your %s..." +msgid "You attempt to start a fire with your %s…" msgstr "你试图用 %s 生火……" #: src/iexamine.cpp msgid "You weren't able to start a fire." msgstr "你没能生火。" +#: src/iexamine.cpp +msgid "You can't light a fire there." +msgstr "你无法在此点火。" + #: src/iexamine.cpp #, c-format msgid "Really take down the %s while it's on fire?" @@ -180389,13 +186388,13 @@ msgid "The %s is full." msgstr "%s 满了。" #: src/iexamine.cpp -msgid "You have no tool to dig with..." +msgid "You have no tool to dig with…" msgstr "你没有合适的挖掘工具……" #: src/iexamine.cpp #, c-format -msgid "Dig up %s? This kills the tree!" -msgstr "挖起 %s?这样做会杀了那棵树!" +msgid "Dig up %s? This kills the tree!" +msgstr "挖起 %s?这棵树会死掉!" #: src/iexamine.cpp msgid "Which container?" @@ -180416,7 +186415,7 @@ msgid "You need a %s to tap this maple tree." msgstr "你需要 %s 来获取枫树树汁。" #: src/iexamine.cpp -msgid "No container added. The sap will just spill on the ground." +msgid "No container added. The sap will just spill on the ground." msgstr "缺少容器。树汁将会洒在地上。" #: src/iexamine.cpp @@ -180472,7 +186471,7 @@ msgstr "搜寻 %s?" #: src/iexamine.cpp #, c-format msgid "You forage through the %s." -msgstr "你搜寻了 %s。" +msgstr "你搜寻并采集了 %s。" #: src/iexamine.cpp msgid "Recycle what metal?" @@ -180550,12 +186549,12 @@ msgstr "取消建造?" #: src/iexamine.cpp #, c-format -msgid "That %s looks too dangerous to mess with. Best leave it alone." +msgid "That %s looks too dangerous to mess with. Best leave it alone." msgstr "乱动这个 %s 看起来非常危险,最好别去碰它。" #: src/iexamine.cpp #, c-format -msgid "There is a %s there. Take down?" +msgid "There is a %s there. Take down?" msgstr "那里有一个 %s。拿下来吗?" #: src/iexamine.cpp @@ -180664,11 +186663,11 @@ msgid "You're illiterate, and can't read the screen." msgstr "文豪,你不识字啊,看什么看呢。" #: src/iexamine.cpp -msgid "Failure! No gas pumps found!" +msgid "Failure! No gas pumps found!" msgstr "失败!未发现油泵!" #: src/iexamine.cpp -msgid "Failure! No gas tank found!" +msgid "Failure! No gas tank found!" msgstr "失败!未发现油箱!" #: src/iexamine.cpp @@ -180725,8 +186724,8 @@ msgstr "没有足够现金,你需要充值。" #: src/iexamine.cpp #, c-format -msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel) " -msgstr "购买多少升汽油?上限:%d 升。(按\"0\"取消)" +msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel)" +msgstr "购买多少升汽油?上限:%d 升。(输入 0 取消)" #: src/iexamine.cpp msgid "Glug Glug Glug" @@ -180792,26 +186791,26 @@ msgstr "你无法从那里爬下去" #: src/iexamine.cpp #, c-format -msgid "Looks like %d story. Jump down?" -msgid_plural "Looks like %d stories. Jump down?" +msgid "Looks like %d story. Jump down?" +msgid_plural "Looks like %d stories. Jump down?" msgstr[0] "看起来有 %d 层楼那么高。要跳下去吗?" #: src/iexamine.cpp -msgid "You probably won't be able to get up and jumping down may hurt. Jump?" +msgid "You probably won't be able to get up and jumping down may hurt. Jump?" msgstr "你跳下去有可能受伤,而且也许没办法上来。要跳下去吗?" #: src/iexamine.cpp -msgid "You probably won't be able to get back up. Climb down?" +msgid "You probably won't be able to get back up. Climb down?" msgstr "你再要想上来可不容易。要爬下去吗?" #: src/iexamine.cpp msgid "" -"You should be able to climb back up easily if you climb down there. Climb " +"You should be able to climb back up easily if you climb down there. Climb " "down?" msgstr "从这里下去你可以轻易的再爬上来。要爬下去吗?" #: src/iexamine.cpp -msgid "You may have problems climbing back up. Climb down?" +msgid "You may have problems climbing back up. Climb down?" msgstr "你再要爬上来可不容易。要爬下去吗?" #: src/iexamine.cpp @@ -180845,9 +186844,9 @@ msgstr "病人已经死亡。请移走尸体再继续。系统已退出。" #: src/iexamine.cpp msgid "" -"ERROR Bionic Level Assessement : FULL CYBORG. Autodoc Mk. XI can't " -"opperate. Please move patient to appropriate facility. Exiting." -msgstr "仿生水平检测错误:完全改造人。全自动医疗仪Mk. XI无法运行,请将患者转移到适当的设施。系统已退出。" +"ERROR Bionic Level Assessement: FULL CYBORG. Autodoc Mk. XI can't opperate." +" Please move patient to appropriate facility. Exiting." +msgstr "错误。仿生水平检测:完全改造人。全自动医疗仪 Mk. XI 无法运行,请将患者转移到适当的设施。系统已退出。" #: src/iexamine.cpp msgid "Autodoc Mk. XI. Status: Online. Please choose operation." @@ -181117,9 +187116,8 @@ msgid "Inspect mill" msgstr "查看碾磨机" #: src/iexamine.cpp -msgid "" -"Remove brake and start milling... insert some products for milling first" -msgstr "放开制动器并开始碾磨…你需要先放些要碾磨的东西" +msgid "Remove brake and start milling… insert some products for milling first" +msgstr "放开制动器并开始碾磨……你需要先放些要碾磨的东西" #: src/iexamine.cpp msgid "Remove brake and start milling" @@ -181130,13 +187128,13 @@ msgid "Remove brake and start milling, milling will take about 6 hours." msgstr "放开制动器并开始碾磨,大约需要6个小时完成。" #: src/iexamine.cpp -msgid "Insert products for milling... mill is full" -msgstr "为碾磨机添加原料…碾磨机已满" +msgid "Insert products for milling… mill is full" +msgstr "为碾磨机添加原料……碾磨机已满" #: src/iexamine.cpp #, c-format -msgid "Insert products for milling... remaining capacity is %s %s" -msgstr "为碾磨机添加原料…剩余容量为%s%s" +msgid "Insert products for milling… remaining capacity is %s %s" +msgstr "为碾磨机添加原料……剩余容量为 %s %s" #: src/iexamine.cpp msgid "Fill the mill with starchy products such as wheat, barley or oats." @@ -181182,7 +187180,7 @@ msgid "You inspect its contents and find: " msgstr "你查看内部发现了:" #: src/iexamine.cpp -msgid "... that it is empty." +msgid "…that it is empty." msgstr "……它是空的。" #: src/iexamine.cpp @@ -181211,32 +187209,32 @@ msgid "Inspect smoking rack" msgstr "查看烟熏架" #: src/iexamine.cpp -msgid "Light up and smoke food... insert some food for smoking first" -msgstr "点燃熏制……需要食物" +msgid "Light up and smoke food… insert some food for smoking first" +msgstr "点燃并开始熏制……需要先放入需要熏制的食物" #: src/iexamine.cpp #, c-format -msgid "Light up and smoke food... need extra %d charges of charcoal" -msgstr "点燃熏制……需要 %d 木炭" +msgid "Light up and smoke food… need extra %d charges of charcoal" +msgstr "点燃并开始熏制……需要 %d 木炭" #: src/iexamine.cpp msgid "Light up and smoke food" -msgstr "点燃熏制" +msgstr "点燃并开始熏制" #: src/iexamine.cpp msgid "" -"Light up the smoking rack and start smoking. Smoking will take about 6 " +"Light up the smoking rack and start smoking. Smoking will take about 6 " "hours." -msgstr "点燃木炭开始熏制。熏制需要约6小时完成。" +msgstr "点燃木炭开始熏制。熏制需要约 6 小时完成。" #: src/iexamine.cpp -msgid "Insert food for smoking... smoking rack is full" +msgid "Insert food for smoking… smoking rack is full" msgstr "放入食物……已满" #: src/iexamine.cpp #, c-format -msgid "Insert food for smoking... remaining capacity is %s %s" -msgstr "放入食物……剩余 %s %s" +msgid "Insert food for smoking… remaining capacity is %s %s" +msgstr "放入食物……剩余容量 %s %s" #: src/iexamine.cpp msgid "" @@ -181257,8 +187255,8 @@ msgid "Remove food from smoking rack" msgstr "取出食物" #: src/iexamine.cpp -msgid "Reload with charcoal... you don't have any" -msgstr "放入木炭……木炭不足" +msgid "Reload with charcoal… you don't have any" +msgstr "放入木炭……你没有任何木炭" #: src/iexamine.cpp msgid "Reload with charcoal" @@ -181267,7 +187265,7 @@ msgstr "放入木炭" #: src/iexamine.cpp #, c-format msgid "" -"You need %d charges of charcoal for %s %s of food. Minimal amount of " +"You need %d charges of charcoal for %s %s of food. Minimal amount of " "charcoal is %d charges." msgstr "你需要 %d 木炭来熏制 %s %s 食物。最少需要 %d 木炭。" @@ -181326,7 +187324,7 @@ msgid "You stop the smoking process." msgstr "你停止了熏制过程。" #: src/iexamine.cpp -msgid "You open the unlocked safe. " +msgid "You open the unlocked safe." msgstr "你打开了解锁的保险箱。" #: src/iexamine.cpp @@ -181426,6 +187424,10 @@ msgstr "大地图连接" msgid "Overmap specials" msgstr "大地图特殊地形" +#: src/init.cpp +msgid "Overmap locations" +msgstr "大地图地点" + #: src/init.cpp msgid "Vehicle prototypes" msgstr "载具原型" @@ -181534,10 +187536,6 @@ msgstr "变异" msgid "Mutation Categories" msgstr "变异类别" -#: src/init.cpp -msgid "Overmap locations" -msgstr "大地图地点" - #: src/init.cpp msgid "Map extras" msgstr "地图事件" @@ -181789,7 +187787,7 @@ msgstr "未绑定本地按键!" #: src/input.cpp msgctxt "keybinding" msgid "Disabled" -msgstr "关" +msgstr "不可用" #: src/input.cpp src/output.h src/requirements.cpp msgid " or " @@ -181901,14 +187899,6 @@ msgstr "%1$d / %2$d" msgid "Page %d/%d" msgstr "页 %d/%d" -#: src/inventory_ui.cpp -msgid "ITEMS WORN" -msgstr "穿戴物品" - -#: src/inventory_ui.cpp -msgid "WEAPON HELD" -msgstr "手持武器" - #: src/inventory_ui.cpp #, c-format msgid "Weight (%s):" @@ -182340,9 +188330,9 @@ msgstr "* 这份食物已经开始腐坏,但你的变 #: src/item.cpp msgid "" -"This food has started to rot. Eating it would be a " +"This food has started to rot. Eating it would be a " "very bad idea." -msgstr "* 这份食物已经开始腐坏吃这东西是个坏主意。" +msgstr "※这份食物已经开始腐坏吃这东西是个坏主意。" #: src/item.cpp #, c-format @@ -182412,11 +188402,6 @@ msgstr "* 这种弹药 不会哑火。" msgid "This ammo starts fires." msgstr "* 这种弹药 可以生火。" -#: src/item.cpp -#, c-format -msgid "Stats of the active gunmod (%s) are shown." -msgstr "已启用的 配件(%s) 属性已经显示。" - #: src/item.cpp msgid "Skill used: " msgstr "技能:" @@ -182555,8 +188540,9 @@ msgid "Used on: " msgstr "用于:" #: src/item.cpp -msgid "Location: " -msgstr "位置: " +#, c-format +msgid "Location: %s" +msgstr "位置:%s" #: src/item.cpp msgid "Incompatible with mod location: " @@ -183065,43 +189051,46 @@ msgid "" msgstr "* 这件装备太小不适合你。" #: src/item.cpp -msgid "* This clothing can be upsized." -msgstr "* 这件装备可以改大码。" +msgid "can be upsized" +msgstr "可以改大码" #: src/item.cpp -msgid "* This clothing can be downsized." -msgstr "* 这件装备可以改小码。" +msgid "can be downsized" +msgstr "可以改小码" #: src/item.cpp -msgid "* This clothing can not be downsized." -msgstr "* 这件装备不能改小码。" +msgid "can not be downsized" +msgstr "不能改小码" #: src/item.cpp -msgid "* This clothing can not be upsized." -msgstr "* 这件装备不能改大码。" +msgid "can not be upsized" +msgstr "不能改大码" #: src/item.cpp -msgid "* This clothing can be refitted and upsized." -msgstr "* 这件装备可以改合身而且可以改大码。" +#, c-format +msgid "* This clothing %s." +msgstr "* 这件装备%s。" #: src/item.cpp -msgid "" -"* This clothing can be refitted and downsized." -msgstr "* 这件装备可以改合身而且可以改小码。" +msgid " and upsized" +msgstr "以及改大码" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not downsized." -msgstr "* 这件装备可以改合身但是不能改小码。" +msgid " and downsized" +msgstr "以及改小码" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not upsized." -msgstr "* 这件装备可以改合身但是不能改大码。" +msgid " but not downsized" +msgstr ",但是不能改小码" + +#: src/item.cpp +msgid " but not upsized" +msgstr ",但是不能改大码" #: src/item.cpp -msgid "* This clothing can be refitted." -msgstr "* 这件装备可以改合身。" +#, c-format +msgid "* This clothing can be refitted%s." +msgstr "* 这件装备可以改合身%s。" #: src/item.cpp msgid "* This clothing can not be refitted, upsized, or downsized." @@ -183186,6 +189175,15 @@ msgstr "* 这件物品接受到无线电信号后会立即启动Power Capacity:" +msgstr "生化能量容量:" + #: src/item.cpp msgid "Encumbrance: " msgstr "累赘度:" @@ -183258,16 +189256,19 @@ msgstr "已完成并且可启动。" msgid "It will be done in %s." msgstr "完成还需要 %s。" -#. ~ %1$s: gerund (e.g. carved), %2$s: item name -#: src/item.cpp src/iuse_actor.cpp +#. ~ %1$s: gerund (e.g. carved), %2$s: item name, %3$s: inscription text +#: src/item.cpp #, c-format msgctxt "carving" -msgid "%1$s on the %2$s is: " -msgstr "%2$s 上 %1$s 着:" +msgid "%1$s on the %2$s is: %3$s" +msgstr "%2$s 上%1$s着:%3$s" -#: src/item.cpp src/options.cpp -msgid "Note: " -msgstr "备注:" +#. ~ %1$s: inscription text +#: src/item.cpp +#, c-format +msgctxt "carving" +msgid "Note: %1$s" +msgstr "备注:%1$s" #: src/item.cpp msgid "Integrated mod: " @@ -183301,6 +189302,11 @@ msgstr "你可以用它制作不同的物品。" msgid "You could use it to craft: %s" msgstr "可用于制作:%s" +#: src/item.cpp +#, c-format +msgid "Stats of the active gunmod (%s) are shown." +msgstr "已启用的 配件(%s) 属性已经显示。" + #: src/item.cpp #, c-format msgid "It takes you an extremely long time to wield your %s." @@ -183946,7 +189952,7 @@ msgid "You're already smoking a %s!" msgstr "你已经在抽 %s 了!" #: src/iuse.cpp -msgid "Are you sure you want to drink... this?" +msgid "Are you sure you want to drink… this?" msgstr "你确定真的想要……喝下这个东西吗?" #: src/iuse.cpp @@ -183976,7 +189982,7 @@ msgid "You light a %s." msgstr "你点着了 %s。" #: src/iuse.cpp -msgid "Ugh, too much smoke... you feel nasty." +msgid "Ugh, too much smoke… you feel nasty." msgstr "啊,好多烟……你被呛到了。" #: src/iuse.cpp @@ -183992,7 +189998,7 @@ msgid "You don't have any nicotine liquid!" msgstr "你没有尼古丁浓缩液!" #: src/iuse.cpp -msgid "Ugh, too much nicotine... you feel nasty." +msgid "Ugh, too much nicotine… you feel nasty." msgstr "妈的,尼古丁太多了……你感到有点作呕。" #: src/iuse.cpp @@ -184098,7 +190104,7 @@ msgstr "你不再颤抖了。" #: src/iuse.cpp msgid "" "You start scarfing down the delicious cake. It tastes a little funny " -"though..." +"though…" msgstr "你开始大口吞咽这美味的蛋糕。不过尝起来有点奇怪……" #: src/iuse.cpp @@ -184130,7 +190136,7 @@ msgid "You no longer need to fear the flu, at least for some time." msgstr "你再也不必担心流感了。至少在一段时间内。" #: src/iuse.cpp -msgid "Are you sure you want to eat this? It looks poisonous..." +msgid "Are you sure you want to eat this? It looks poisonous…" msgstr "有毒食物!确定要食用这个东西吗?" #: src/iuse.cpp @@ -184151,7 +190157,7 @@ msgid "You suddenly feel hollow inside." msgstr "你突然觉得空虚。" #: src/iuse.cpp -msgid "You feel very sleepy..." +msgid "You feel very sleepy…" msgstr "你感到非常困倦……" #: src/iuse.cpp @@ -184244,8 +190250,8 @@ msgstr "你注射了净化剂。液体在针管里来回晃动,最后不情愿 #, c-format msgid "" "As you eat the %s, you have a near-religious experience, feeling at one with" -" your surroundings..." -msgstr "当你吃%s的时候,你感觉到异界在向你接近……" +" your surroundings…" +msgstr "当你吃下%s,你感到一种近乎通灵般的体验,似乎与周围环境融为了一体……" #: src/iuse.cpp msgid "It tastes extremely strange!" @@ -184270,7 +190276,7 @@ msgstr "你不知死活的咬了一口,立刻就呕吐了!" #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into an excruciating burn" -" as you convulse, vomiting, and black out..." +" as you convulse, vomiting, and black out…" msgstr "你感到了熟悉的温暖,但那突然就激增成了难以忍受的灼烧感,你抽筋,呕吐,眼前一黑……" #: src/iuse.cpp @@ -184286,7 +190292,7 @@ msgstr "遭受了马洛斯莓排斥反应。" #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into painful burning as " -"you convulse and collapse to the ground..." +"you convulse and collapse to the ground…" msgstr "你感到了熟悉的温暖,但那突然就激增成了痛楚的灼烧感,使你抽搐着倒在了地上……" #: src/iuse.cpp src/monattack.cpp @@ -184299,11 +190305,11 @@ msgstr "你在马洛斯灌木丛中醒来。几乎像是被*孕育*在其中。 #: src/iuse.cpp msgid "" "unity. together we have reached the door. we provide the final key. now " -"to pass through..." +"to pass through…" msgstr "吾等生而为一。吾等一道已经触及那道门扉。吾等已经提供了最终的钥匙。现在是时候穿越那扇门了……" #: src/iuse.cpp -msgid "You feel a strange warmth spreading throughout your body..." +msgid "You feel a strange warmth spreading throughout your body…" msgstr "你感觉到一种奇特的温暖蔓延全身……" #. ~ "Uh-uh" is a sound used for "nope", "no", etc. @@ -184319,7 +190325,7 @@ msgstr "吾等已不需此等垫脚石了。吾等留之另有所用。" #: src/iuse.cpp #, c-format -msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." +msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." msgstr "真的要吃下 %s?你可以将其播种在土堆里。" #: src/iuse.cpp @@ -184329,13 +190335,13 @@ msgstr "这个尝起来棒极了,你很快就吃完了它。" #: src/iuse.cpp msgid "" "As it settles in, you feel ecstasy radiating through every part of your " -"body..." +"body…" msgstr "当你咽下它时,你感觉到狂喜贯穿你身体的每一寸……" #: src/iuse.cpp msgid "" "Your eyes roll back in your head. Everything dissolves into a blissful " -"haze..." +"haze…" msgstr "你舒爽得直翻白眼。一切溶解成极乐的阴霾……" #. ~ The Mycus does not use the term (or encourage the concept of) "you". The @@ -184344,13 +190350,13 @@ msgstr "你舒爽得直翻白眼。一切溶解成极乐的阴霾……" #. bent symbiotes should not need it. #. ~ We are the Mycus. #: src/iuse.cpp -msgid "We welcome into us. We have endured long in this forbidding world." -msgstr "欢迎加入吾等。吾等已在此险恶世界中忍受太久了。" +msgid "We welcome into us. We have endured long in this forbidding world." +msgstr "欢迎加入吾等。吾等已在这险恶世界中忍受太久了。" #: src/iuse.cpp msgid "" -"A sea of white caps, waving gently. A haze of spores wafting silently over a" -" forest." +"A sea of white caps, waving gently. A haze of spores wafting silently over " +"a forest." msgstr "一片白色菌菇盖组成的海洋,如波浪一般缓缓起伏。一阵孢子组成的白雾,静悄悄地在森林中飘荡。" #: src/iuse.cpp @@ -184359,20 +190365,20 @@ msgstr "土著们有句谚语:\"E Pluribus Unum\"——合众为一。" #: src/iuse.cpp msgid "" -"The blazing pink redness of the berry. The juices spreading across your " +"The blazing pink redness of the berry. The juices spreading across your " "tongue, the warmth draping over us like a lover's embrace." msgstr "粉红色的变异莓炽热发红。那汁液洒在你的舌尖上,一阵温暖像爱人的拥抱一般紧紧抱在吾等之身上。" #: src/iuse.cpp msgid "" "We welcome the union of our lines in our local guide. We will prosper, and " -"unite this world. Even now, our fruits adapt to better serve local " +"unite this world. Even now, our fruits adapt to better serve local " "physiology." msgstr "吾等欢迎土著加入吾等事业阵线,充当向导。吾等必将繁荣,进而团结这个世界。直到现在,吾等之果实仍旧在致力于更好地适应本地生态。" #: src/iuse.cpp msgid "" -"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " +"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " "berry, a memory that will never leave us." msgstr "如天一般蓝的种子。如同坚果混合奶油的味道与变异莓交织在一起,一段永远不会被吾等遗忘的记忆。" @@ -184384,12 +190390,12 @@ msgstr "因此,假以时日,吾等终将更加适应此地环境,得以更 #: src/iuse.cpp msgid "" -"The amber-yellow of the sap. Feel it flowing through our veins, taking the " +"The amber-yellow of the sap. Feel it flowing through our veins, taking the " "place of the strange, thin red gruel called \"blood.\"" msgstr "如琥珀一般黄的汁液。感觉它流过吾等之血管,取代了被称为\"血液\"的奇怪而又淡薄的红色稀粥。" #: src/iuse.cpp -msgid "This tastes really weird! You're not sure it's good for you..." +msgid "This tastes really weird! You're not sure it's good for you…" msgstr "这个味道太诡异了!你不认为这玩意对你有好处……" #: src/iuse.cpp @@ -184469,7 +190475,7 @@ msgid "You do not have that item!" msgstr "你没有这个东西!" #: src/iuse.cpp -msgid "Which signal should activate the item?:" +msgid "Which signal should activate the item?" msgstr "物品激活信号:" #: src/iuse.cpp @@ -184511,7 +190517,7 @@ msgid "You can't fish there!" msgstr "你不能在那里钓鱼!" #: src/iuse.cpp -msgid "You cast your line and wait to hook something..." +msgid "You cast your line and wait to hook something…" msgstr "你把鱼线扔出,等待有什么东西上钩……" #: src/iuse.cpp @@ -184712,16 +190718,6 @@ msgstr "咳咳咳咳咳咳!" msgid "The infernal racket dies as the noise emitter turns off." msgstr "你关闭了噪音发生器,同时可怕的噪音也随之消失了。" -#: src/iuse.cpp -#, c-format -msgid "You learn the essential elements of %s." -msgstr "你掌握了 %s 的真谛。" - -#: src/iuse.cpp -#, c-format -msgid "%s to select martial arts style." -msgstr "%s 选择武术流派。" - #: src/iuse.cpp msgid "You pry out the fence post." msgstr "你撬开了栅栏柱。" @@ -185142,18 +191138,27 @@ msgid "Scan the ground" msgstr "扫描地面" #: src/iuse.cpp -msgid "Scan yourself" -msgstr "扫描自己" +msgid "Scan yourself or other person" +msgstr "扫描自己/他人" #: src/iuse.cpp msgid "Turn continuous scan on" msgstr "打开连续扫描" +#: src/iuse.cpp +msgid "Scan whom?" +msgstr "扫描谁?" + #: src/iuse.cpp #, c-format msgid "Your radiation level: %d mSv (%d mSv from items)" msgstr "辐射水平:%dmSv(%dmSv 来自物品)" +#: src/iuse.cpp +#, c-format +msgid "%s's radiation level: %d mSv (%d mSv from items)" +msgstr "%s 辐射水平:%dmSv(%dmSv 来自物品)" + #: src/iuse.cpp #, c-format msgid "The ground's radiation level: %d mSv/h" @@ -185221,6 +191226,10 @@ msgstr "滴答!" msgid "You've already released the handle, try throwing it instead." msgstr "你拉开了把手……赶紧丢出去。" +#: src/iuse.cpp src/iuse_actor.cpp +msgid "You need a source of fire!" +msgstr "你需要一个火源!" + #: src/iuse.cpp msgid "You light the arrow!" msgstr "你点燃了箭!" @@ -185233,6 +191242,10 @@ msgstr "点燃的莫洛托夫燃烧瓶熄灭了。" msgid "You light the pack of firecrackers." msgstr "你点燃了这串鞭炮。" +#: src/iuse.cpp +msgid "ssss…" +msgstr "嘶……" + #: src/iuse.cpp msgid "You light the firecracker." msgstr "你点燃了鞭炮。" @@ -185247,24 +191260,24 @@ msgid "You set the timer to %s." msgstr "你设置计时器为%s。" #: src/iuse.cpp -msgid "You squeeze the pheromone ball..." +msgid "You squeeze the pheromone ball…" msgstr "你挤压信息素球……" #: src/iuse.cpp -msgid " squeezes the pheromone ball..." +msgid " squeezes the pheromone ball…" msgstr " 挤压信息素球……" #: src/iuse.cpp -msgid "...but nothing happens." +msgid "…but nothing happens." msgstr "……但什么也没发生。" #: src/iuse.cpp -msgid "...and a nearby zombie becomes passive!" -msgstr "……并且附近的一只丧尸变得对你不感兴趣了!" +msgid "…and a nearby zombie becomes passive!" +msgstr "……然后附近的一只丧尸变得对你不感兴趣了!" #: src/iuse.cpp -msgid "...and several nearby zombies become passive!" -msgstr "……并且附近的几只丧尸变得对你不感兴趣了!" +msgid "…and several nearby zombies become passive!" +msgstr "……然后附近的几只丧尸变得对你不感兴趣了!" #: src/iuse.cpp msgid "Shock where?" @@ -185532,8 +191545,8 @@ msgid "You need a rechargeable battery cell to charge." msgstr "你需要一个可充电电池来充能。" #: src/iuse.cpp -msgid "You cannot do... that while mounted." -msgstr "你不能……在骑乘时这样做。" +msgid "You cannot do… that while mounted." +msgstr "你不能在骑乘时做……那种事。" #: src/iuse.cpp msgid "It's waterproof, but oxygen maybe?" @@ -185554,8 +191567,8 @@ msgid "You whip out your %s and start getting the tension out." msgstr "你抽出 %s 并开始动手放松一下。" #: src/iuse.cpp -msgid "Air swirls all over..." -msgstr "空气漩涡在到处移动…" +msgid "Air swirls all over…" +msgstr "空气漩涡在到处移动……" #: src/iuse.cpp msgid "Air swirls around you for a moment." @@ -185591,7 +191604,7 @@ msgstr "吸取 %s 的血?" #: src/iuse.cpp #, c-format -msgid "You drew blood from the %s..." +msgid "You drew blood from the %s…" msgstr "你从 %s 抽取了一管血……" #: src/iuse.cpp @@ -185599,17 +191612,17 @@ msgid "Draw your own blood?" msgstr "吸取自己的血?" #: src/iuse.cpp -msgid "You drew your own blood..." -msgstr "你抽取了自己的血……" +msgid "You drew your own blood…" +msgstr "你抽取了自己的血液……" #: src/iuse.cpp #, c-format -msgid "...but acidic blood melts the %s, destroying it!" -msgstr "……带有酸性的血液溶解了 %s ,毁坏了它!" +msgid "…but acidic blood melts the %s, destroying it!" +msgstr "……带有酸性的血液溶解了 %s,毁坏了它!" #: src/iuse.cpp #, c-format -msgid "...but acidic blood damages the %s!" +msgid "…but acidic blood damages the %s!" msgstr "……带有酸性的血液损伤了 %s!" #: src/iuse.cpp @@ -185708,18 +191721,10 @@ msgstr "你盲目地挥来挥去,也不知道它是否真的管用。" msgid "You mop up the spill." msgstr "你清理了洒出的液体。" -#: src/iuse.cpp -msgid "Ka-BOOM!" -msgstr "咔-嘣!" - #: src/iuse.cpp msgid "The fabric of space seems to decay." msgstr "你感觉到周围的空间构造开始撕裂重组。" -#: src/iuse.cpp -msgid "The earth shakes!" -msgstr "你感觉到脚下的大地在震动!" - #: src/iuse.cpp #, c-format msgid "The %s glows brightly!" @@ -185749,8 +191754,8 @@ msgid "Spray what?" msgstr "喷什么?" #: src/iuse.cpp -msgid "(To delete, input one '.')" -msgstr "(按\".\"键删除)" +msgid "(To delete, clear the text and confirm)" +msgstr "(要删除,清除所有文字并确认)" #: src/iuse.cpp msgid "You blur the inscription on the grave." @@ -185760,10 +191765,6 @@ msgstr "你划烂了墓碑上的铭文。" msgid "You manage to get rid of the message on the ground." msgstr "你抹除了地上的留言。" -#: src/iuse.cpp -msgid "There isn't anything to erase here." -msgstr "这里没有能够抹除的东西。" - #: src/iuse.cpp msgid "You carve an inscription on the grave." msgstr "你在墓碑上刻下了铭文。" @@ -185781,12 +191782,8 @@ msgid "You don't have appropriate food to heat up." msgstr "你没有合适的食物用于加热。" #: src/iuse.cpp -msgid "You defrost the food, but don't heat it up, since you enjoy it cold." -msgstr "你解冻了食物,并没有加热,因为它冷的时候口感更好。" - -#: src/iuse.cpp -msgid "You defrost and heat up the food." -msgstr "你解冻并加热了食物。" +msgid "You start heating up the food." +msgstr "你开始加热食物。" #: src/iuse.cpp msgid "There is no fire around, use your integrated toolset instead?" @@ -185980,12 +191977,12 @@ msgstr "你重新校准了 %s。" #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s! ( %s-> %s)" +msgid "You repair your %s! ( %s-> %s)" msgstr "你修理了 %s!(%s->%s)" #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s completely! ( %s-> %s)" +msgid "You repair your %s completely! ( %s-> %s)" msgstr "你完全修理好了 %s!(%s->%s)" #: src/iuse.cpp @@ -186018,11 +192015,11 @@ msgid "You reinforce your %s." msgstr "你强化了 %s。" #: src/iuse.cpp -msgid "Clank! Clank!" +msgid "Clank! Clank!" msgstr "咔啷!咔啷!" #: src/iuse.cpp -msgid "Ring! Ring!" +msgid "Ring! Ring!" msgstr "铃!铃!" #: src/iuse.cpp @@ -186177,7 +192174,7 @@ msgid "Wasted time, these pictures do not provoke your senses." msgstr "浪费时间,这些图片无法让你产生共鸣。" #: src/iuse.cpp -msgid "You used to have a dog like this..." +msgid "You used to have a dog like this…" msgstr "你以前也有一条长成这样的狗狗……" #: src/iuse.cpp @@ -186189,8 +192186,8 @@ msgid "Excellent pictures of nature." msgstr "精彩的自然风光照片。" #: src/iuse.cpp -msgid "Food photos... your stomach rumbles!" -msgstr "食物的照片……你的胃开始蠢蠢欲动!" +msgid "Food photos… your stomach rumbles!" +msgstr "食物的照片……你的胃咕咕直叫!" #: src/iuse.cpp msgid "Some very interesting travel photos." @@ -186656,12 +192653,12 @@ msgid "A %s got in the way of your photo." msgstr "%s 挡住了你的拍摄角度。" #: src/iuse.cpp -msgid "Strange... there's nothing in the center of picture?" +msgid "Strange… there's nothing in the center of picture?" msgstr "奇怪……照片中央什么都没有?" #: src/iuse.cpp #, c-format -msgid "Strange... %s's not visible on the picture?" +msgid "Strange… %s's not visible on the picture?" msgstr "奇怪……照片里完全看不见 %s?" #: src/iuse.cpp @@ -186777,7 +192774,7 @@ msgstr "你把 %s 装在了你的遥控车上。" #: src/iuse.cpp #, c-format -msgid "RC car with %s ? How?" +msgid "RC car with %s? How?" msgstr "把 %s 装在遥控车上?哈?" #: src/iuse.cpp @@ -186786,12 +192783,12 @@ msgid "Your %s is too heavy or bulky for this RC car." msgstr "%s 对遥控车来说太重或是太大了。" #: src/iuse.cpp -msgid "You disarmed your RC car" +msgid "You disarmed your RC car." msgstr "你解除了你遥控车的武装。" #. ~Sound of a radio controlled car moving around #: src/iuse.cpp -msgid "buzzz..." +msgid "buzzz…" msgstr "嘟嘟……" #: src/iuse.cpp @@ -186799,12 +192796,12 @@ msgid "What to do with activated RC car?" msgstr "对激活的遥控车做什么?" #: src/iuse.cpp -msgid "You turned off your RC car" +msgid "You turned off your RC car." msgstr "你关闭了你的遥控车。" -#: src/iuse.cpp src/map.cpp -msgid "beep." -msgstr "哔噗。" +#: src/iuse.cpp +msgid "beep" +msgstr "滴滴" #: src/iuse.cpp msgid "Take control of RC car" @@ -186841,10 +192838,17 @@ msgstr "你开始控制遥控车。" #: src/iuse.cpp #, c-format msgid "" -"The %s in you inventory would explode on this signal. Place it down before " -"sending the signal." +"The %s in your inventory would explode on this signal. Place it down before" +" sending the signal." msgstr "你一发送这个信号,你带着的 %s 就会爆炸。最好先把它放下,如果你不想和它一起炸飞的话。" +#: src/iuse.cpp +#, c-format +msgid "" +"The %1$s in your %2$s would explode on this signal. Place it down before " +"sending the signal." +msgstr "你一发送这个信号,你 %2$s 里的 %1$s 就会爆炸。最好先把它放下,如果你不想和它一起炸飞的话。" + #: src/iuse.cpp msgid "This vehicle's security system has locked you out!" msgstr "你无法进入这辆载具的安防系统!" @@ -186909,9 +192913,15 @@ msgstr "获取车辆控制。" msgid "Execute one vehicle action" msgstr "进行遥控命令" +#: src/iuse.cpp +msgid "" +"Despite using a controller, you still refuse to take control of this " +"vehicle." +msgstr "尽管只是通过远程控制,你仍然不愿控制这架载具。" + #: src/iuse.cpp msgid "You take control of the vehicle." -msgstr "你控制了 载具。" +msgstr "你控制了载具。" #: src/iuse.cpp msgid "And when you gaze long into a screen, the screen also gazes into you." @@ -186927,7 +192937,7 @@ msgstr "显示屏上的人物展示了一个黄色段子。奇怪的幽默。" #. ~ Single-spaced & lowercase are intentional, conveying hurried speech-KA101 #: src/iuse.cpp -msgid "Are you sure?! the multi-cooker wants to poison your food!" +msgid "Are you sure?! the multi-cooker wants to poison your food!" msgstr "你确定?!多功能厨师机想给你的饭菜下毒!" #: src/iuse.cpp @@ -186970,7 +192980,7 @@ msgid "The cycle will be completed in %s." msgstr "消毒程序将在%s后完成。" #: src/iuse.cpp -msgid "The multi-cooker should be finishing shortly..." +msgid "The multi-cooker should be finishing shortly…" msgstr "多功能厨师机很快就要完工了……" #. ~ sound of a multi-cooker finishing its cycle! @@ -187049,7 +193059,7 @@ msgid "" msgstr "随着显示屏闪过蓝色的符号,多功能厨师机开始振动。" #: src/iuse.cpp -msgid "Your morale is too low to craft..." +msgid "Your morale is too low to craft…" msgstr "你心情值过低,无法制作……" #: src/iuse.cpp @@ -187176,7 +193186,7 @@ msgstr "你需要一些肥皂来使用它" #: src/iuse.cpp #, c-format -msgid "The %s's monitor slowly outputs the data..." +msgid "The %s's monitor slowly outputs the data…" msgstr "%s 的监测装置缓慢地输出了数据……" #: src/iuse.cpp @@ -187318,8 +193328,8 @@ msgid "You break the stick, but one half shatters into splinters." msgstr "你折断了木棍,但有一半碎成了木片。" #: src/iuse.cpp -msgid "The throbbing of the infection diminishes. Slightly." -msgstr "感染所带来的疼痛似乎减少了,仅仅是略微的感觉。" +msgid "The throbbing of the infection diminishes. Slightly." +msgstr "感染所带来的疼痛减弱了。一点点吧。" #: src/iuse.cpp msgid "You feel much better - almost entirely." @@ -187340,7 +193350,7 @@ msgstr "你服用了一些 %s。" #: src/iuse.cpp msgid "" -"Simply taking more magnesium won't help. You have to go to sleep for it to " +"Simply taking more magnesium won't help. You have to go to sleep for it to " "work." msgstr "服用更多的镁片没有任何作用。你得睡觉才能让它起效。" @@ -187604,7 +193614,7 @@ msgid "With a satisfying click, the lock on the door opens." msgstr "随着一声令人满意的咔哒声,门上的锁被打开了。" #: src/iuse_actor.cpp -msgid "The door swings open..." +msgid "The door swings open…" msgstr "门开了……" #: src/iuse_actor.cpp @@ -187711,7 +193721,7 @@ msgstr "那里已经着火了 。" #: src/iuse_actor.cpp msgid "" -"There's a brazier there but you haven't set it up to contain the fire. " +"There's a brazier there but you haven't set it up to contain the fire. " "Continue?" msgstr "此处有个未放置的火盆,无法控制火焰,真的要继续吗?" @@ -187720,7 +193730,7 @@ msgid "You successfully light a fire." msgstr "你成功地生了火。" #: src/iuse_actor.cpp -msgid "You light a fire, but it isn't enough. You need to light more." +msgid "You light a fire, but it isn't enough. You need to light more." msgstr "你点了一把火,但这还不够。你需要点更多的火。" #: src/iuse_actor.cpp @@ -187828,8 +193838,15 @@ msgid "It's a note" msgstr "备注" #: src/iuse_actor.cpp -msgid "(To delete, input one '.')\n" -msgstr "(按\".\"键删除)\n" +msgid "(To delete, clear the text and confirm)\n" +msgstr "(要删除,清除所有文字并确认)\n" + +#. ~ %1$s: gerund (e.g. carved), %2$s: item name +#: src/iuse_actor.cpp +#, c-format +msgctxt "carving" +msgid "%1$s on the %2$s is: " +msgstr "%2$s 上 %1$s 着:" #: src/iuse_actor.cpp #, c-format @@ -187853,6 +193870,11 @@ msgstr "一件物品" msgid "Inscribe which item?" msgstr "雕刻哪一个?" +#: src/iuse_actor.cpp +#, c-format +msgid "You try to bend your %s, but fail." +msgstr "你试图折弯 %s,但是失败了!" + #: src/iuse_actor.cpp msgid "You cauterize yourself." msgstr "你烧灼自己的伤口。" @@ -187899,8 +193921,8 @@ msgid "Make love, not zlave." msgstr "制做爱人,不是奴隶。" #: src/iuse_actor.cpp -msgid "Well, it's more constructive than just chopping 'em into gooey meat..." -msgstr "嗯,这比把它们切成碎块更有技术含量……" +msgid "Well, it's more constructive than just chopping 'em into gooey meat…" +msgstr "嗨,至少这比把它们切成肉浆更有用……" #: src/iuse_actor.cpp msgid "You feel horrible for mutilating and enslaving someone's corpse." @@ -188192,8 +194214,8 @@ msgstr "%s(使用 %s 修理)" #: src/iuse_actor.cpp #, c-format -msgid "You don't have enough %s to do that. Have: %d, need: %d" -msgstr "你没有足够 %s 做到这一点。现有:%d,需要:%d" +msgid "You don't have enough %s to do that. Have: %d, need: %d" +msgstr "你没有足够的 %s 用来修理。现有:%d,需要:%d" #: src/iuse_actor.cpp msgid "That requires gunsmithing tools." @@ -188214,7 +194236,7 @@ msgstr "你的%s已经增强至最佳状态。" #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s! ( %s-> %s)" +msgid "You damage your %s! ( %s-> %s)" msgstr "你损坏了 %s!(%s->%s)" #: src/iuse_actor.cpp @@ -188405,8 +194427,8 @@ msgstr "使用耗时:" #: src/iuse_actor.cpp #, c-format -msgid "Yeah. Place the %s at your feet. Real damn smart move." -msgstr "是啊,将 %s 放在自己脚下,真他妈聪明。" +msgid "Yeah. Place the %s at your feet. Real damn smart move." +msgstr "对,将%s放在自己脚下,你真他妈聪明。" #: src/iuse_actor.cpp #, c-format @@ -188425,8 +194447,8 @@ msgstr "%s 需要靠近 %s 使用。" #: src/iuse_actor.cpp #, c-format -msgid "You can't place a %s there. It contains a trap already." -msgstr "你无法在这里放置 %s。那已经有一个陷阱了。" +msgid "You can't place a %s there. It contains a trap already." +msgstr "你无法将%s放在那里。那儿已经有一个陷阱了。" #: src/iuse_actor.cpp #, c-format @@ -188514,6 +194536,10 @@ msgstr "无可移除模组。" msgid "Has to be taken off first." msgstr "需要先脱下。" +#: src/iuse_actor.cpp +msgid "You quiver with anticipation…" +msgstr "你在期待下开始颤抖……" + #: src/iuse_actor.cpp msgid "You suddenly feel dizzy, and collapse to the ground." msgstr "你突然觉得一阵晕眩,然后倒在了地上。" @@ -188580,9 +194606,30 @@ msgstr "它只能用来修理或改造其他东西,而不是它自己。" msgid "How do you want to modify it?" msgstr "你想怎样改造它?" +#. ~ %1$s: modification desc, %2$d: number of thread needed +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (need %2$d thread loaded)" +msgstr "无法%1$s(需要 %2$d 单位的线)" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items needed +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (need %2$d %3$s)" +msgstr "无法%1$s(需要 %2$d %3$s)" + +#. ~ %1$s: modification desc, %2$s: mod name #: src/iuse_actor.cpp -msgid "Not enough thread to modify. Which modification do you want to remove?" -msgstr "没有足够的线来改造这件装备。你想移除哪项改动?" +#, c-format +msgid "Can't %1$s (incompatible with %2$s)" +msgstr "无法%1$s(不兼容%2$s)" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items +#. needed, %4$s: number of thread needed +#: src/iuse_actor.cpp +#, c-format +msgid "%1$s (%2$d %3$s and %4$d thread)" +msgstr "%1$s(%2$d %3$s及 %4$d 单位的线)" #: src/iuse_actor.cpp msgid "Bash" @@ -188614,7 +194661,7 @@ msgstr "你确定吗?你无法拿回原来的材料。" #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s trying to modify it! ( %s-> %s)" +msgid "You damage your %s trying to modify it! ( %s-> %s)" msgstr "在你尝试改造 %s 时你不小心将其损坏了!(%s->%s)" #: src/iuse_actor.cpp @@ -188631,6 +194678,14 @@ msgstr "你成功改造了 %s,但浪费了大量的线。" msgid "You modify your %s!" msgstr "你成功改造了 %s!" +#: src/iuse_actor.h +msgid "Carve" +msgstr "雕刻" + +#: src/iuse_actor.h +msgid "Carved" +msgstr "雕刻" + #: src/iuse_software.cpp msgid "You found kitten!" msgstr "你发现了小猫!" @@ -188654,7 +194709,7 @@ msgid "It's an altar to the horse god." msgstr "一座马神的雕像。" #: src/iuse_software_kitten.cpp -msgid "A box of dancing mechanical pencils. They dance! They sing!" +msgid "A box of dancing mechanical pencils. They dance! They sing!" msgstr "一盒会跳舞的自动铅笔。它们正在载歌载舞!" #: src/iuse_software_kitten.cpp @@ -188666,10 +194721,8 @@ msgid "A box of fumigation pellets." msgstr "一盒熏蒸丸。" #: src/iuse_software_kitten.cpp -msgid "A digital clock. It's stuck at 2:17 PM." -msgstr "" -"\"2:17 PM\"\n" -"一个电子时钟,已经停止运行。" +msgid "A digital clock. It's stuck at 2:17 PM." +msgstr "一个电子时钟。停止在 2:17 PM。" #: src/iuse_software_kitten.cpp msgid "That's just a charred human corpse." @@ -188680,15 +194733,15 @@ msgid "I don't know what that is, but it's not kitten." msgstr "我不知道这是什么,但肯定不是小猫。" #: src/iuse_software_kitten.cpp -msgid "An empty shopping bag. Paper or plastic?" +msgid "An empty shopping bag. Paper or plastic?" msgstr "一个空的购物袋,纸质的或是塑料的?" #: src/iuse_software_kitten.cpp -msgid "Could it be... a big ugly bowling trophy?" +msgid "Could it be… a big ugly bowling trophy?" msgstr "这难道是……一个又大又丑的保龄球奖杯?" #: src/iuse_software_kitten.cpp -msgid "A coat hanger hovers in thin air. Odd." +msgid "A coat hanger hovers in thin air. Odd." msgstr "衣架孤零零地漂浮在半空中。好诡异!" #: src/iuse_software_kitten.cpp @@ -188712,8 +194765,8 @@ msgid "It's Richard Nixon's nose!" msgstr "这是Richard Nixon的鼻子!" #: src/iuse_software_kitten.cpp -msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." -msgstr "这是露西瑞卡多。\"啊,瑞奇!\"她说道。(《我爱露西》肥皂剧鼻祖)" +msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." +msgstr "这是露西瑞卡多。\"啊,瑞奇!\"她说道。" #: src/iuse_software_kitten.cpp msgid "You stumble upon Bill Gates' stand-up act." @@ -188724,8 +194777,8 @@ msgid "Just an autographed copy of the Kama Sutra." msgstr "只是一本带有亲笔签名的印度爱经抄本。" #: src/iuse_software_kitten.cpp -msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" -msgstr "这是Will Rogers高速公路,可究竟谁是Will Roger呢?" +msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" +msgstr "这是威尔·罗杰斯公路。但是威尔·罗杰斯是谁啊?" #: src/iuse_software_kitten.cpp msgid "" @@ -188785,8 +194838,8 @@ msgid "It's a mighty zombie talking about some love and prosperity." msgstr "这是强大的丧尸所关心的爱情和荣耀。" #: src/iuse_software_kitten.cpp -msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize...\"" -msgstr "\"亲爱的机器人,你可能已经获得了1000万美元的奖金…\"" +msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize…\"" +msgstr "\"亲爱的机器人,你可能已经获得了1000万美元的奖金……\"" #: src/iuse_software_kitten.cpp msgid "It's just an object." @@ -188829,7 +194882,8 @@ msgid "It's some compromising photos of Babar the Elephant." msgstr "一些大象巴巴的照片。" #: src/iuse_software_kitten.cpp -msgid "A copy of the Weekly World News. Watch out for the chambered nautilus!" +msgid "" +"A copy of the Weekly World News. Watch out for the chambered nautilus!" msgstr "一本世界新闻周刊。要小心鹦鹉螺!" #: src/iuse_software_kitten.cpp @@ -188849,27 +194903,27 @@ msgid "Paul Moyer's necktie." msgstr "Paul Moyer的领带。" #: src/iuse_software_kitten.cpp -msgid "A haircut and a real job. Now you know where to get one!" -msgstr "理发是一份正规的职业,现在你知道到哪去找到一个了!" +msgid "A haircut and a real job. Now you know where to get one!" +msgstr "这里有一个理发店和一份体面的工作。现在你知道以后去哪找它们了!" #: src/iuse_software_kitten.cpp -msgid "An automated robot-hater. It frowns disapprovingly at you." -msgstr "一个全自动的机器人憎恨者,它向你不以为然的皱着眉头。" +msgid "An automated robot-hater. It frowns disapprovingly at you." +msgstr "一个全自动仇恨机器人。它厌恶地朝你皱着眉头。" #: src/iuse_software_kitten.cpp -msgid "An automated robot-liker. It smiles at you." -msgstr "一个全自动的机器人爱好者,它向你微笑着。" +msgid "An automated robot-liker. It smiles at you." +msgstr "一个全自动喜爱机器人。它正朝你微笑。" #: src/iuse_software_kitten.cpp -msgid "It's a black hole. Don't fall in!" -msgstr "这是黑洞,不要掉下去!" +msgid "It's a black hole. Don't fall in!" +msgstr "这是黑洞,不要掉下去了!" #: src/iuse_software_kitten.cpp msgid "Just a big brick wall." msgstr "只是一堵大砖墙。" #: src/iuse_software_kitten.cpp -msgid "You found kitten! No, just kidding." +msgid "You found kitten! No, just kidding." msgstr "你找到小猫了!哈哈,逗你玩呢。" #: src/iuse_software_kitten.cpp @@ -188922,7 +194976,7 @@ msgid "It's the constellation Pisces." msgstr "一张双鱼座的星图。" #: src/iuse_software_kitten.cpp -msgid "It's a fly on the wall. Hi, fly!" +msgid "It's a fly on the wall. Hi, fly!" msgstr "墙上有只苍蝇。嗨,苍蝇!" #: src/iuse_software_kitten.cpp @@ -188930,8 +194984,8 @@ msgid "This kind of looks like kitten, but it's not." msgstr "这东西看上去像小猫,但它不是。" #: src/iuse_software_kitten.cpp -msgid "It's a banana! Oh, joy!" -msgstr "一个香蕉!哦,爽!" +msgid "It's a banana! Oh, joy!" +msgstr "一根香蕉!真棒!" #: src/iuse_software_kitten.cpp msgid "A helicopter has crashed here." @@ -188958,11 +195012,11 @@ msgid "A geyser sprays water high into the air." msgstr "间歇的喷泉将水喷向空气中。" #: src/iuse_software_kitten.cpp -msgid "A toenail? What good is a toenail?" +msgid "A toenail? What good is a toenail?" msgstr "趾甲?为什么会是趾甲?" #: src/iuse_software_kitten.cpp -msgid "You've found the fish! Not that it does you much good in this game." +msgid "You've found the fish! Not that it does you much good in this game." msgstr "你找到鱼了!只是它在这游戏里对你没什么用。" #: src/iuse_software_kitten.cpp @@ -188986,8 +195040,8 @@ msgid "It's nothing but a G-thang, baby." msgstr "它只不过是一个G-thang,宝贝。" #: src/iuse_software_kitten.cpp -msgid "IT'S ALIVE! AH HA HA HA HA!" -msgstr "它还活着!啊哈哈哈哈!" +msgid "IT'S ALIVE! AH HA HA HA HA!" +msgstr "它是活的!啊哈哈哈哈!" #: src/iuse_software_kitten.cpp msgid "This was no boating accident!" @@ -188995,12 +195049,12 @@ msgstr "这里没有沉船事故!" #: src/iuse_software_kitten.cpp msgid "" -"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" -msgstr "等等!这不是筹码!你被骗了!该死的MENDEZ!" +"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" +msgstr "等等!这不是筹码!你被骗了!该死的门德斯!" #: src/iuse_software_kitten.cpp -msgid "A livery stable! Get your livery!" -msgstr "一件稳重的制服!穿上吧!" +msgid "A livery stable! Get your livery!" +msgstr "一间马车行!来租马车!" #: src/iuse_software_kitten.cpp msgid "It's a perpetual immobility machine." @@ -189020,7 +195074,7 @@ msgstr "世界上最大的Motzah球!" #: src/iuse_software_kitten.cpp msgid "" -"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " +"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " "know." msgstr "一个食人族部落住在这里,他们的早餐是美多麦麦片,你懂的。" @@ -189029,7 +195083,7 @@ msgid "This appears to be a rather large stack of trashy romance novels." msgstr "这里看起来堆积着大量无聊的言情小说。" #: src/iuse_software_kitten.cpp -msgid "Look out! Exclamation points!" +msgid "Look out! Exclamation points!" msgstr "当心!感叹号!" #: src/iuse_software_kitten.cpp @@ -189037,12 +195091,12 @@ msgid "A herd of wild coffee mugs slumbers here." msgstr "一群野生的咖啡杯在此酣眠。" #: src/iuse_software_kitten.cpp -msgid "It's a limbo bar! How low can you go?" +msgid "It's a limbo bar! How low can you go?" msgstr "这是一个深坑!你还想跌入多深?" #: src/iuse_software_kitten.cpp -msgid "It's the horizon. Now THAT'S weird." -msgstr "这是地平线,这可真是怪了。" +msgid "It's the horizon. Now THAT'S weird." +msgstr "这是地平线。这可真是怪了。" #: src/iuse_software_kitten.cpp msgid "A vase full of artificial flowers is stuck to the floor here." @@ -189057,16 +195111,17 @@ msgid "A pair of saloon-style doors swing slowly back and forth here." msgstr "一对西部酒吧风格的大门在这儿缓慢地来回摆动。" #: src/iuse_software_kitten.cpp -msgid "It's an ordinary bust of Beethoven... but why is it painted green?" +msgid "It's an ordinary bust of Beethoven… but why is it painted green?" msgstr "一个普通的半身像贝多芬……但为什么他被漆成了绿色?" #: src/iuse_software_kitten.cpp -msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." -msgstr "电视里一只可爱的俏皮乌鸦!\"你咬我啊!\"它说到。" +msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." +msgstr "电视里一只可爱的俏皮乌鸦!\"你咬我啊!\"它说道。" #: src/iuse_software_kitten.cpp msgid "" -"Hey, look, it's war. What is it good for? Absolutely nothing. Say it again." +"Hey, look, it's war. What is it good for? Absolutely nothing. Say it " +"again." msgstr "嘿,看,这是战争。它有什么好处呢?很明显没有。再说一次。" #: src/iuse_software_kitten.cpp @@ -189074,8 +195129,8 @@ msgid "It's the amazing self-referential thing that's not kitten." msgstr "一个不是小猫的神奇的反复自我引用的指针。" #: src/iuse_software_kitten.cpp -msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" -msgstr "一根艳丽的羽毛。现在你可以打扮的像Carol Channing一样了!" +msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" +msgstr "一根艳丽的羽毛围巾。现在你可以打扮的像卡罗尔·钱宁一样了!" #: src/iuse_software_kitten.cpp msgid "\"Sure hope we get some rain soon,\" says Farmer Joe." @@ -189093,7 +195148,7 @@ msgstr "\"表土层都被冲走了啊,妈妈,\"哭泣的里尔·格雷格说 #: src/iuse_software_kitten.cpp msgid "" -"This is a large brown bear. Oddly enough, it's currently peeing in the " +"This is a large brown bear. Oddly enough, it's currently peeing in the " "woods." msgstr "这是一只巨大的棕熊,奇怪的是它目前在丛林里撒尿。" @@ -189123,26 +195178,26 @@ msgstr "这是一张坠毁直升机的全息图。" #: src/iuse_software_kitten.cpp msgid "" -"This is a television. On screen you see a robot strangely similar to " +"This is a television. On screen you see a robot strangely similar to " "yourself." -msgstr "这是一台电视机。在屏幕中你看到一个机器人似乎模样与你一样奇特。" +msgstr "这是一台电视。你看到屏幕上有一个机器人,而且与你惊人的相似。" #: src/iuse_software_kitten.cpp msgid "This balogna has a first name, it's R-A-N-C-I-D." msgstr "这个balogna有个姓,叫 R-A-N-C-I-D。" #: src/iuse_software_kitten.cpp -msgid "A salmon hatchery? Look again. It's merely a single salmon." -msgstr "鲑鱼孵卵所?仔细看看,只不过是一条鲑鱼。" +msgid "A salmon hatchery? Look again. It's merely a single salmon." +msgstr "鲑鱼孵化场?你再看看。只不过是单独一条鲑鱼。" #: src/iuse_software_kitten.cpp -msgid "It's a rim shot. Ba-da-boom!" +msgid "It's a rim shot. Ba-da-boom!" msgstr "这是鼓边打击,啪-拉-砰!" #: src/iuse_software_kitten.cpp msgid "" -"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." -msgstr "这是一个令人毛骨悚然,神秘和恐怖的怪物。也许只是有一点可怕吧。" +"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." +msgstr "可惧又怪异,神秘且诡异。还有点奇异。" #: src/iuse_software_kitten.cpp msgid "This is an anagram." @@ -189153,7 +195208,7 @@ msgid "This object is like an analogy." msgstr "这个物件就像一个比喻。" #: src/iuse_software_kitten.cpp -msgid "It's a symbol. You see in it a model for all symbols everywhere." +msgid "It's a symbol. You see in it a model for all symbols everywhere." msgstr "这是一个符号。是你所看到的所有的符号的归纳模型。" #: src/iuse_software_kitten.cpp @@ -189161,17 +195216,17 @@ msgid "The object pushes back at you." msgstr "这个东西把你推了回来。" #: src/iuse_software_kitten.cpp -msgid "A traffic signal. It appears to have been recently vandalized." -msgstr "交通信号。看上去刚破坏。" +msgid "A traffic signal. It appears to have been recently vandalized." +msgstr "一座交通信号灯。看上去最近被破坏过。" #: src/iuse_software_kitten.cpp msgid "" -"\"There is no kitten!\" cackles the old crone. You are shocked by her " +"\"There is no kitten!\" cackles the old crone. You are shocked by her " "blasphemy." -msgstr "\"这里没有小猫!\"老妪咯咯笑道。你对她的没礼貌感到震惊。" +msgstr "\"根本没有小猫!\" 老妪咯咯笑道。你被她的妄言所震惊。" #: src/iuse_software_kitten.cpp -msgid "This is a Lagrange point. Don't come too close now." +msgid "This is a Lagrange point. Don't come too close now." msgstr "这是一个拉格朗日点。不要靠得太近。" #: src/iuse_software_kitten.cpp @@ -189191,8 +195246,8 @@ msgid "It's the instruction manual for a previous version of this game." msgstr "一个本关于这款游戏上一个版本的说明书。" #: src/iuse_software_kitten.cpp -msgid "A brain cell. Oddly enough, it seems to be functioning." -msgstr "大脑细胞。奇怪的是,它看起来似乎正在运作。" +msgid "A brain cell. Oddly enough, it seems to be functioning." +msgstr "一个脑细胞。奇怪的是,它看起来似乎仍在工作。" #: src/iuse_software_kitten.cpp msgid "Tea and/or crumpets." @@ -189207,16 +195262,16 @@ msgid "It's a Quaker Oatmeal tube, converted into a drum." msgstr "这是一根桂格麦片管子,它被改造成了一只鼓。" #: src/iuse_software_kitten.cpp -msgid "This is a remote control. Being a robot, you keep a wide berth." -msgstr "这是一个遥控器。作为机器人,你最好敬而远之。" +msgid "This is a remote control. Being a robot, you keep a wide berth." +msgstr "这是一个遥控器。作为机器人,你对其敬而远之。" #: src/iuse_software_kitten.cpp msgid "It's a roll of industrial-strength copper wire." msgstr "这是一卷工业级的铜线。" #: src/iuse_software_kitten.cpp -msgid "Oh boy! Grub! Er, grubs." -msgstr "哦老天!一只幼虫!呃,一群幼虫。" +msgid "Oh boy! Grub! Er, grubs." +msgstr "哦老天!一只蛆!呃,一群蛆。" #: src/iuse_software_kitten.cpp msgid "A puddle of mud, where the mudskippers play." @@ -189243,20 +195298,20 @@ msgid "An autographed copy of \"Primary Colors\", by Anonymous." msgstr "有着作者签名的\"原色\"小说,作者佚名。" #: src/iuse_software_kitten.cpp -msgid "Another rabbit? That's three today!" +msgid "Another rabbit? That's three today!" msgstr "又一只兔子?今天已经是第三只了!" #: src/iuse_software_kitten.cpp -msgid "It's a segmentation fault. Core dumped, by the way." -msgstr "这是个分段错误。顺便说下,内核已经转储。" +msgid "It's a segmentation fault. Core dumped, by the way." +msgstr "这是个段错误。顺便说下,内核已经转储。" #: src/iuse_software_kitten.cpp msgid "A historical marker showing the actual location of /dev/null." msgstr "一个历史的标记指示出了/dev/null的真实位置。" #: src/iuse_software_kitten.cpp -msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" -msgstr "Thar's Mobius Dick,令人费解的鲸鱼。哈!" +msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" +msgstr "介是莫比乌斯·迪克,回旋状的鲸鱼。哈!" #: src/iuse_software_kitten.cpp msgid "It's a charcoal briquette, smoking away." @@ -189275,8 +195330,8 @@ msgid "A stack of 7 inch floppies wobbles precariously." msgstr "一堆7英寸磁盘不稳定的波动着。" #: src/iuse_software_kitten.cpp -msgid "It's nothing but a corrupted floppy. Coaster anyone?" -msgstr "除了一个损坏的软盘外没有任何东西,有过山车吗?" +msgid "It's nothing but a corrupted floppy. Coaster anyone?" +msgstr "不过是一个坏掉的软盘。有人想要杯托吗?" #: src/iuse_software_kitten.cpp msgid "A section of glowing phosphor cells sings a song of radiation to you." @@ -189319,8 +195374,8 @@ msgid "It's the missing chapter to \"A Clockwork Orange\"." msgstr "这是一篇来自《发条橙》中的未发表章节。" #: src/iuse_software_kitten.cpp -msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." -msgstr "这是一张玉米煎饼站传单。\"Taqueria El Ranchito\"。" +msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." +msgstr "这是一张玉米煎饼摊的传单。\"Taqueria El Ranchito\"。" #: src/iuse_software_kitten.cpp msgid "This smiling family is happy because they eat LARD." @@ -189347,11 +195402,11 @@ msgid "A forgotten telephone switchboard operator." msgstr "一个被遗忘的电话接线员。" #: src/iuse_software_kitten.cpp -msgid "It's an automated robot-disdainer. It pretends you're not there." -msgstr "这是一个自动机器人藐视器,它假装你不存在。" +msgid "It's an automated robot-disdainer. It pretends you're not there." +msgstr "一个全自动蔑视机器人。它假装你不存在。" #: src/iuse_software_kitten.cpp -msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." +msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." msgstr "这是一个便携的洞穴。标志写着:\"冬天时关闭\"。" #: src/iuse_software_kitten.cpp @@ -189359,12 +195414,12 @@ msgid "Just a moldy loaf of bread." msgstr "只是一个发霉的面包。" #: src/iuse_software_kitten.cpp -msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." -msgstr "泰奥菲牌的小玻璃浴缸。(0.89美元)只可惜你没有嘴。" +msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." +msgstr "泰奥菲牌的玻璃装唇膏(0.89美元)。只可惜你没有嘴唇。" #: src/iuse_software_kitten.cpp -msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" -msgstr "一把尖锐的军用匕首,所有的附件都丢失了。(牙签丢失)" +msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" +msgstr "一把瑞士军刀。里面的附件都露在外面。(牙签已丢失)" #: src/iuse_software_kitten.cpp msgid "It's a zen simulation, trapped within an ASCII character." @@ -189380,10 +195435,10 @@ msgstr "这是《战争与和平》(未删节的口袋本)。" #: src/iuse_software_kitten.cpp msgid "A willing, ripe tomato bemoans your inability to digest fruit." -msgstr "一只熟透的西红柿对你不能消化水果而万分惋惜。" +msgstr "一只熟透的番茄对你不能消化水果而万分惋惜。" #: src/iuse_software_kitten.cpp -msgid "A robot comedian. You feel amused." +msgid "A robot comedian. You feel amused." msgstr "一个机器人喜剧演员。你被逗乐了。" #: src/iuse_software_kitten.cpp @@ -189391,8 +195446,8 @@ msgid "It's KITT, the talking car." msgstr "这是KITT,会说话的车。" #: src/iuse_software_kitten.cpp -msgid "Here's Pete Peterson. His batteries seem to have long gone dead." -msgstr "那是Pete Peterson。他的电池早已消耗完近数年。" +msgid "Here's Pete Peterson. His batteries seem to have long gone dead." +msgstr "这是皮特·彼得森。他的电池看起来早就没电了。" #: src/iuse_software_kitten.cpp msgid "\"Blup, blup, blup\", says the mud pot." @@ -189419,15 +195474,15 @@ msgid "Pumpkin pie spice." msgstr "南瓜饼香料。" #: src/iuse_software_kitten.cpp -msgid "It's the Bass-Matic '76! Mmm, that's good bass!" -msgstr "它是Bass-Matic '76音箱!嗯!低音真动听!" +msgid "It's the Bass-Matic '76! Mmm, that's good bass!" +msgstr "这是Bass-Matic '76音箱!嗯!低音真动听!" #: src/iuse_software_kitten.cpp msgid "\"Lend us a fiver 'til Thursday\", pleas Andy Capp." msgstr "\"请借给我们5块钱,周四归还\",Andy Capp请求道。" #: src/iuse_software_kitten.cpp -msgid "It's a tape of '70s rock. All original hits! All original artists!" +msgid "It's a tape of '70s rock. All original hits! All original artists!" msgstr "" "这是一盘70年代的摇滚乐磁带。\n" "\"我一直问个不休,你何时跟我走!\"" @@ -189446,13 +195501,13 @@ msgstr "这是一个惊人的异次元物体。" #: src/iuse_software_kitten.cpp msgid "" -"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " +"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " "SIR!\"" -msgstr "Ed McMahon在这里站着沉思,看到你后,他大喊到:\"是的,长官!\"" +msgstr "艾德·麦克马洪在这里站着沉思,看到你后,他大喊到:\"是的,长官!\"" #: src/iuse_software_kitten.cpp -msgid "...thingy???" -msgstr "……什么东西???" +msgid "…thingy???" +msgstr "……某种东西???" #: src/iuse_software_kitten.cpp msgid "It's 1000 secrets the government doesn't want you to know!" @@ -189463,12 +195518,12 @@ msgid "The letters O and R." msgstr "字母O和R" #: src/iuse_software_kitten.cpp -msgid "A magical... magic thing." +msgid "A magical… magic thing." msgstr "一个带有魔法的……魔法物品。" #: src/iuse_software_kitten.cpp -msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" -msgstr "那是一只驼鹿,一种极度邪恶的生物。你应该\"跑!\"" +msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" +msgstr "那是一只驼鹿,一种极度邪恶的生物。你应该\"快跑!\"" #: src/iuse_software_kitten.cpp msgid "It is SOFTWARE BUG." @@ -189500,9 +195555,9 @@ msgstr ")。" #: src/iuse_software_kitten.cpp msgid "" -"Your job is to find kitten. This task is complicated by the existence of " -"various things which are not kitten. Robot must touch items to determine if " -"they are kitten or not. The game ends when robot finds kitten. " +"Your job is to find kitten. This task is complicated by the existence of " +"various things which are not kitten. Robot must touch items to determine if" +" they are kitten or not. The game ends when robot finds kitten. " "Alternatively, you may end the game by hitting 'q', 'Q' or the Escape key." msgstr "" "你的任务是要找到小猫。它藏在各种混乱的东西里,机器人必须通过碰到物品来检查小猫是否在里边,游戏在机器人找到小猫后就会结束,实际上,你随时都可以按\"q\"/\"Q\"/\"ESC\"键来结束游戏。" @@ -189516,7 +195571,7 @@ msgid "Invalid command: Use direction keys or press 'q'." msgstr "无效指令:按方向键或者按\"q\"键退出。" #: src/iuse_software_kitten.cpp -msgid "You found kitten! Way to go, robot!" +msgid "You found kitten! Way to go, robot!" msgstr "你找到小猫了!干的漂亮,机器人!" #: src/iuse_software_lightson.cpp @@ -189589,7 +195644,7 @@ msgid "lag" msgstr "标识[f]" #: src/iuse_software_minesweeper.cpp -msgid "Boom, you're dead! Better luck next time." +msgid "Boom, you're dead! Better luck next time." msgstr "轰!你死了!再试一次吧。" #: src/iuse_software_snake.cpp src/iuse_software_sokoban.cpp @@ -189894,6 +195949,10 @@ msgstr "%d 行动点" msgid "You cast %s!" msgstr "你施放了 %s!" +#: src/magic.cpp +msgid "an explosion" +msgstr "巨大的爆炸声" + #: src/magic.cpp msgid "Too Difficult!" msgstr "太难了!" @@ -189926,10 +195985,6 @@ msgstr "错误:能量类型" msgid "infinite" msgstr "无限的" -#: src/magic.cpp -msgid "an explosion" -msgstr "巨大的爆炸声" - #: src/magic.cpp #, c-format msgid "%s and %s" @@ -189977,6 +196032,23 @@ msgstr "你不能学习这个法术。" msgid "All knowledge of %s leaves you." msgstr "所有关于 %s 的知识都离你而去了。" +#: src/magic.cpp +msgid "Choose a new hotkey for this spell." +msgstr "为法术选择一个快捷键。" + +#: src/magic.cpp +msgid "Hotkey already used." +msgstr "快捷键已被占用。" + +#: src/magic.cpp +#, c-format +msgid "%c set. Close and reopen spell menu to refresh list with changes." +msgstr "快捷键已设为 %c。关闭重开法术界面以刷新快捷键。" + +#: src/magic.cpp +msgid "Hotkey removed." +msgstr "快捷键已删除。" + #: src/magic.cpp msgid "Ignore Distractions" msgstr "忽视干扰" @@ -189985,6 +196057,10 @@ msgstr "忽视干扰" msgid "Popup Distractions" msgstr "询问干扰" +#: src/magic.cpp +msgid "Assign Hotkey [=]" +msgstr "设置快捷键 [=]" + #: src/magic.cpp msgid "requires concentration" msgstr "需凝神" @@ -190049,6 +196125,10 @@ msgstr "施法消耗" msgid "Casting Cost (impeded)" msgstr "施法消耗(受累赘)" +#: src/magic.cpp +msgid "Not Enough Energy" +msgstr "能量不足" + #: src/magic.cpp msgid "Casting Time" msgstr "施法时间" @@ -190117,21 +196197,25 @@ msgstr "能量恢复" msgid "Damage Type" msgstr "伤害类型" +#. ~ translation should not exceed 10 console cells #: src/magic.cpp msgid "Stat Gain" msgstr "属性增益" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "lvl 0" msgstr "等级 0" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "per lvl" -msgstr "每一等级" +msgstr "每级" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "max lvl" -msgstr "最大等级" +msgstr "最高" #: src/magic.cpp msgid "Cast Cost" @@ -190182,8 +196266,8 @@ msgid "Choose Translocator Gate" msgstr "选择易位门" #: src/main.cpp -msgid "Really Quit? All unsaved changes will be lost." -msgstr "确定退出?所有未保存的改变将会丢失。" +msgid "Really Quit? All unsaved changes will be lost." +msgstr "确定退出?所有未保存的进度将会丢失。" #: src/main_menu.cpp msgid "Bugs? Suggestions? Use links in MOTD to report them." @@ -190302,21 +196386,25 @@ msgid "olors" msgstr "配色方案" #: src/main_menu.cpp -msgid "Unable to make config directory. Check permissions." +msgid "Unable to make config directory. Check permissions." msgstr "无法创建设置文件夹。请检查权限。" #: src/main_menu.cpp -msgid "Unable to make save directory. Check permissions." +msgid "Unable to make save directory. Check permissions." msgstr "无法创建存档文件夹。请检查权限。" #: src/main_menu.cpp -msgid "Unable to make templates directory. Check permissions." +msgid "Unable to make templates directory. Check permissions." msgstr "无法创建模版文件夹。请检查权限。" #: src/main_menu.cpp -msgid "Unable to make sound directory. Check permissions." +msgid "Unable to make sound directory. Check permissions." msgstr "无法创建声音文件夹。请检查权限。" +#: src/main_menu.cpp +msgid "Unable to make graphics directory. Check permissions." +msgstr "无法创建图形文件夹。请检查权限。" + #: src/main_menu.cpp msgid "Really quit?" msgstr "真的退出吗?" @@ -190342,8 +196430,8 @@ msgstr "随机角色" #: src/main_menu.cpp msgctxt "Main Menu|New Game" -msgid "Play Now! (ixed Scenario)" -msgstr "直接游戏(避难所)!" +msgid "Play Now! (ixed Scenario)" +msgstr "直接游戏!(避难所开局)" #: src/main_menu.cpp msgctxt "Main Menu|New Game" @@ -190391,6 +196479,12 @@ msgstr "只有管理员可以改变世界。" msgid "Create World" msgstr "创建世界" +#. ~ %1$s: vehicle name +#: src/map.cpp +#, c-format +msgid "weight of %1$s" +msgstr "%1$s 的碾压" + #: src/map.cpp #, c-format msgid "The %1$s's %2$s collides with %3$s's %4$s." @@ -190452,6 +196546,17 @@ msgstr "掉落的 %s 击中了你!" msgid "Falling %s hits " msgstr "掉落的 %s 击中了 !" +#: src/map.cpp +#, c-format +msgid "The %s damages several items!" +msgstr "%s 损坏了几个物品!" + +#. ~ %1$s: the cause of damage, %2$s: damaged item name +#: src/map.cpp +#, c-format +msgid "The %1$s damages the %2$s!" +msgstr "%1$s 损坏了 %2$s!" + #: src/map.cpp msgid "an alarm go off!" msgstr "一个警报拉响了!" @@ -190468,18 +196573,34 @@ msgstr "你被坠落的残骸击中!" msgid " is crushed by the falling debris!" msgstr " 被坠落的残骸击中!" -#: src/map.cpp -msgid "The shot is stopped by the reinforced glass wall!" -msgstr "子弹被强化玻璃墙挡住了!" - #: src/map.cpp msgid "The shot is stopped by the reinforced glass door!" msgstr "子弹被强化玻璃门挡住了!" +#: src/map.cpp +msgid "The shot is stopped by the reinforced glass wall!" +msgstr "子弹被强化玻璃墙挡住了!" + #: src/map.cpp msgid "ke-rash!" msgstr "咔吱!" +#: src/map.cpp +msgid "laser beam" +msgstr "激光射线" + +#: src/map.cpp +msgid "bolt of electricity" +msgstr "电弧" + +#: src/map.cpp +msgid "bolt of plasma" +msgstr "等离子束" + +#: src/map.cpp +msgid "flying projectile" +msgstr "流弹" + #: src/map.cpp msgid "The metal bars melt!" msgstr "金属棒融化了!" @@ -190541,7 +196662,7 @@ msgid "Something has crawled out of the %s!" msgstr "从 %s 里爬出了一些东西!" #: src/map_extras.cpp -msgid "DANGER! MINEFIELD!" +msgid "DANGER! MINEFIELD!" msgstr "危险!雷区!" #: src/map_field.cpp @@ -190592,7 +196713,7 @@ msgid "The sap sticks to !" msgstr " 被树液粘上了!" #: src/map_field.cpp -msgid "The sludge is thick and sticky. You struggle to pull free." +msgid "The sludge is thick and sticky. You struggle to pull free." msgstr "污泥又粘又稠。你好不容易挣扎了出来。" #: src/map_field.cpp @@ -190972,22 +197093,34 @@ msgstr "%s不能和武器一起使用。" #: src/martialarts.cpp #, c-format -msgid "The %s is not a valid %s weapon." -msgstr "%s不是有效的%s武器。" +msgid "The %1$s is not a valid %2$s weapon." +msgstr "%1$s不是有效的%2$s武器。" #: src/martialarts.cpp -#, c-format -msgid "Type: %s" -msgstr "类型:%s" +msgid "Block Counter" +msgstr "防御反击" + +#: src/martialarts.cpp +msgid "Dodge Counter" +msgstr "闪避回击" + +#: src/martialarts.cpp +msgid "Miss Recovery" +msgstr "未命中后恢复" #: src/martialarts.cpp -msgid "defensive" +msgid "Defensive" msgstr "防御类" #: src/martialarts.cpp -msgid "offensive" +msgid "Offensive" msgstr "进攻类" +#: src/martialarts.cpp +#, c-format +msgid "Type: %s" +msgstr "类型:%s" + #: src/martialarts.cpp msgid "Bonus: " msgstr "特效:" @@ -191092,6 +197225,11 @@ msgstr "* 将目标 击晕 %d%s" msgid "* Will disarm the target" msgstr "* 将目标 缴械" +#: src/martialarts.cpp +msgid "" +"* Will disarm the target and take their weapon" +msgstr "* 将目标 缴械夺取其武器" + #: src/martialarts.cpp msgid "" "This style forces you to use unarmed strikes, even if wielding a " @@ -191240,8 +197378,8 @@ msgstr[0] "%s将枪口指向了你的方向,并且发出了 %d 声烦人的警 #. ~ There will be a 120mm HEAT shell sent at high speed to your location next #. turn. #: src/mattack_actors.cpp src/monattack.cpp -msgid "You're not sure why you've got a laser dot on you..." -msgstr "你不是很确定是什么原因造成你身上出现了个激光红点。" +msgid "You're not sure why you've got a laser dot on you…" +msgstr "你不是很确定是什么原因造成你身上出现了个激光红点……" #: src/mattack_actors.cpp src/monattack.cpp msgid "The " @@ -191339,6 +197477,20 @@ msgstr "你打中了什么东西。" msgid "You swing at the air." msgstr "你打中了一团空气!" +#: src/melee.cpp +msgid " disarms you and takes your weapon!" +msgstr " 将你缴械并夺取了武器!" + +#: src/melee.cpp +#, c-format +msgid "You disarm %s and take their weapon!" +msgstr "你将 %s 缴械并夺取了武器!" + +#: src/melee.cpp +#, c-format +msgid " disarms %s and takes their weapon!" +msgstr " 将 %s 缴械并夺取了武器!" + #: src/melee.cpp msgid " disarms you!" msgstr " 将你缴械了!" @@ -191359,11 +197511,6 @@ msgid "%d enemy hit!" msgid_plural "%d enemies hit!" msgstr[0] "%d 个敌人被击中!" -#: src/melee.cpp -#, c-format -msgid "You have learned %s from extensive practice with the CQB Bionic." -msgstr "借助于CQB生化插件的大量练习,你学会了 %s。" - #. ~ Adjective in "You block of the damage with your . #: src/melee.cpp msgid "all" @@ -191404,6 +197551,10 @@ msgstr "你用你的 %2$s 格挡了 %1$s 的伤害!" msgid " blocks %1$s of the damage with their %2$s!" msgstr " 用他的 %2$s 格挡了 %1$s 的伤害!" +#: src/melee.cpp src/player.cpp +msgid "You try to counterattack but you are too exhausted!" +msgstr "你试图反击,但是体力不足!" + #: src/melee.cpp #, c-format msgid "You poison %s!" @@ -191685,7 +197836,7 @@ msgstr "%s。暴击!" #. ~ someone hits something for %d damage (critical) #: src/melee.cpp #, c-format -msgid "%s for %d damage. Critical!" +msgid "%s for %d damage. Critical!" msgstr "%s 造成 %d 点伤害。暴击!" #. ~ NPC hits something @@ -193025,13 +199176,13 @@ msgstr "< 按 %s 过滤, %s 重置 >" #: src/messages.cpp #, c-format msgid "" -"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" +"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" "Examples:\n" " good:mutation\n" " :you pick up: 1\n" " crash!\n" msgstr "" -"格式为 [[类型]]:文本。可用类型为: %s\n" +"格式为 [[类型]:]文本。可用类型为:%s\n" "示例:\n" " 好:变异\n" " :你捡起: 1\n" @@ -193081,13 +199232,13 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Assigning one of your allies to patrol the surrounding wilderness and isolated buildings presents the opportunity to build survival skills while engaging in relatively safe combat against isolated creatures." msgstr "" "报酬: $25-$500\n" "危险:低\n" "耗时:10小时\n" -" \n" +"\n" "派遣同伴在附近的荒野和孤立建筑中巡逻。能在相对安全的环境中攻击落单的生物并锻炼自己的生存能力。" #: src/mission_companion.cpp @@ -193099,17 +199250,17 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Patrol Roster:\n" msgstr "" "报酬:$25-$500\n" "危险:低\n" "耗时:10小时\n" -" \n" +"\n" "名单:\n" #: src/mission_companion.cpp -msgid " hours] \n" +msgid " hours]\n" msgstr " 小时]\n" #: src/mission_companion.cpp @@ -193121,36 +199272,36 @@ msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Scavenging raids target formerly populated areas to loot as many valuable items as possible before being surrounded by the undead. Combat is to be expected and assistance from the rest of the party can't be guaranteed. The rewards are greater and there is a chance of the companion bringing back items." msgstr "" "报酬:$200-$1000\n" "危险:中\n" "耗时:10小时\n" -" \n" +"\n" "拾荒队瞄准以前人口密集地区,以在被丧尸包围前搜刮最多珍稀物品为目标。战斗不可避免,同行者的援助又难以保证。任务奖励要更高且同伴有几率带回物品。" #: src/mission_companion.cpp msgid "Assign Scavenging Raid" -msgstr "派遣同伴(拾荒突袭)" +msgstr "派遣同伴(危险拾荒)" #: src/mission_companion.cpp msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Raid Roster:\n" msgstr "" "报酬:$200-$1000\n" "危险:中\n" "耗时:10小时\n" -" \n" +"\n" "名单:\n" #: src/mission_companion.cpp msgid "Retrieve Scavenging Raid" -msgstr "召回同伴(拾荒突袭)" +msgstr "召回同伴(危险拾荒)" #: src/mission_companion.cpp msgid "Assign Ally to Menial Labor" @@ -193161,18 +199312,18 @@ msgid "" "Profit: $8/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Assigning one of your allies to menial labor is a safe way to teach them basic skills and build reputation with the outpost. Don't expect much of a reward though.\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" "报酬:$8/小时\n" "危险:极低\n" "耗时:至少1小时\n" -" \n" +"\n" "派遣同伴到前哨站打杂是学习基础技能和建立声望的最安全的手段。但别指望能有多少奖励。\n" "\n" -"可用人员:\n" +"名单:\n" #: src/mission_companion.cpp msgid "Recover Ally from Menial Labor" @@ -193183,13 +199334,13 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Carpentry work requires more skill than menial labor while offering modestly improved pay. It is unlikely that your companions will face combat but there are hazards working on makeshift buildings." msgstr "" "报酬:$12/小时\n" "危险:低\n" "耗时:至少1小时\n" -" \n" +"\n" "木工任务相比仆从有更多的技能要求并且有不错的收益。你的同伴不太会面临战斗但工作在简易搭建的建筑里总有危险。" #: src/mission_companion.cpp @@ -193201,13 +199352,13 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" "报酬:$12/小时\n" "危险:低\n" "耗时:至少1小时\n" -" \n" +"\n" "名单:\n" #: src/mission_companion.cpp @@ -193217,8 +199368,8 @@ msgstr "召回同伴(做木工)" #: src/mission_companion.cpp msgid "" "Cost: $1000\n" -" \n" -" \n" +"\n" +"\n" " .........\n" " .........\n" " .........\n" @@ -193228,12 +199379,12 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" -"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours... after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." +"\n" +"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours… after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." msgstr "" "花费:$1000\n" -" \n" -" \n" +"\n" +"\n" " .........\n" " .........\n" " .........\n" @@ -193243,7 +199394,7 @@ msgstr "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "我们允许让你以很高的折扣价购买一片土地供你自己的农业事业使用。我们会为你犁地,从而让你一眼认出那一片是你的……如果你有了地,你可以雇用工人为你种植或收获作物。如果我们对你种植的作物有需求,我们会愿意付钱收走。" #: src/mission_companion.cpp @@ -193253,7 +199404,7 @@ msgstr "购买东部农田" #: src/mission_companion.cpp msgid "" "Cost: $5500\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -193264,11 +199415,11 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "Protecting your field with a sturdy picket fence will keep most wildlife from nibbling your crops apart. You can expect yields to increase." msgstr "" "花费:$5500\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -193279,7 +199430,7 @@ msgstr "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "建造一个坚固的栅栏保护你的土地,大多数野生动物将没法啃咬你的作物。你可以预期产量增加。" #: src/mission_companion.cpp @@ -193289,7 +199440,7 @@ msgstr "升级东部农田 I" #: src/mission_companion.cpp msgid "" "Cost: $3.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -193300,11 +199451,11 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "We'll plant the field with your choice of crop if you are willing to finance it. When the crop is ready to harvest you can have us liquidate it or harvest it for you." msgstr "" "花费:$3.00/地块\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -193315,7 +199466,7 @@ msgstr "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "如果你愿意付钱,我们将用你选择的作物来种植这片地。当作物准备收获时可以让我们收走或替你收获。" #: src/mission_companion.cpp @@ -193325,7 +199476,7 @@ msgstr "播种东部农田" #: src/mission_companion.cpp msgid "" "Cost: $2.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -193336,11 +199487,11 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "You can either have us liquidate the crop and give you the cash or pay us to harvest it for you." msgstr "" "花费:$2.00/地块\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -193351,7 +199502,7 @@ msgstr "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "你要么让我们收获作物并且付给你钱,要么付钱让我们替你收获作物。" #: src/mission_companion.cpp @@ -193363,14 +199514,14 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Foraging for food involves dispatching a companion to search the surrounding wilderness for wild edibles. Combat will be avoided but encounters with wild animals are to be expected. The low pay is supplemented with the odd item as a reward for particularly large hauls." msgstr "" "报酬:$10/小时\n" "危险:低\n" "耗时:至少4小时\n" -" \n" -"搜集食物将派遣一位同伴搜索周围荒野采集野生食物。他将尽力避免战斗,但与野生动物遭遇是预料之中的。作为低工资的补充,各类奇怪的物品会成为特别大的收获的奖励。" +"\n" +"搜集食物将派遣一位同伴搜索周围荒野寻找野生食物。战斗将尽力避免,但与野生动物遭遇是预料之中的。作为低工资的补充,各类奇怪的物品会成为特别大的收获的奖励。" #: src/mission_companion.cpp msgid "Assign Ally to Forage for Food" @@ -193381,13 +199532,13 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" "报酬:$10/小时\n" "危险:低\n" "耗时:至少4小时\n" -" \n" +"\n" "名单:\n" #: src/mission_companion.cpp @@ -193399,17 +199550,17 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" +"\n" "Adding companions to the caravan team increases the likelihood of success. By nature, caravans are extremely tempting targets for raiders or hostile groups so only a strong party is recommended. The rewards are significant for those participating but are even more important for the factions that profit.\n" -" \n" +"\n" "The commune is sending food to the Free Merchants in the Refugee Center as part of a tax and in exchange for skilled labor." msgstr "" "报酬:$18/小时\n" "危险:高\n" "耗时:未知\n" -" \n" +"\n" "派遣更多同伴参加商队可以提高商队的成功几率。商队自然是强盗和敌对势力们眼中非常诱人的攻击目标,因此建议你派出最强的团队。回报对与那些参与人员而言还算丰厚,但更重要的是,派出商队的派系能够获得利润。\n" -" \n" +"\n" "公社向位于难民中心的自由商会送去食物,作为其上缴税收的一部分,并以此换取其中专业技术工人的帮助。" #: src/mission_companion.cpp @@ -193421,37 +199572,37 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" -" \n" +"\n" +"\n" "Roster:\n" msgstr "" "报酬:$18/小时\n" "危险:高\n" "耗时:未知\n" -" \n" -" \n" +"\n" +"\n" "名单:\n" #: src/mission_companion.cpp -msgid " [READY] \n" -msgstr " [完成] \n" +msgid " [READY]\n" +msgstr " [完成]\n" #: src/mission_companion.cpp -msgid " [COMPLETE] \n" -msgstr " [完成] \n" +msgid " [COMPLETE]\n" +msgstr " [完成]\n" #: src/mission_companion.cpp -msgid " Hours] \n" +msgid " Hours]\n" msgstr " 小时]\n" #: src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "The caravan will contain two or three additional members from the commune, are you ready to depart?" msgstr "" "\n" -" \n" +"\n" "商队将包含两到三个额外的公社成员,你准备好离开了吗?" #: src/mission_companion.cpp @@ -193463,37 +199614,37 @@ msgid "Recover Commune-Refugee Center" msgstr "召回同伴(商队:公社至难民中心)" #: src/mission_companion.cpp -msgid "There are no missions at this colony. Press Spacebar..." -msgstr "这个殖民地没有任务。按空格键继续……" +msgid "There are no missions at this colony. Press Spacebar…" +msgstr "这个基地没有任务。按空格键继续……" #: src/mission_companion.cpp -msgid "joins the caravan team..." -msgstr "加入商队……" +msgid "joins the caravan team…" +msgstr "加入了商队……" #: src/mission_companion.cpp -msgid "departs on the scavenging patrol..." -msgstr "巡逻中……" +msgid "departs on the scavenging patrol…" +msgstr "离队去拾荒了……" #: src/mission_companion.cpp -msgid "departs on the scavenging raid..." -msgstr "拾荒中……" +msgid "departs on the scavenging raid…" +msgstr "离队去拾荒了……" #: src/mission_companion.cpp -msgid "departs to work as a laborer..." -msgstr "劳作中……" +msgid "departs to work as a laborer…" +msgstr "离队去劳作了……" #: src/mission_companion.cpp -msgid "departs to work as a carpenter..." -msgstr "当木工中……" +msgid "departs to work as a carpenter…" +msgstr "离队去当木工了……" #: src/mission_companion.cpp -msgid "departs to forage for food..." -msgstr "采集食物中……" +msgid "departs to forage for food…" +msgstr "离队采集食物去了……" #: src/mission_companion.cpp #, c-format -msgid "The caravan departs with an estimated total travel time of %d hours..." -msgstr "商队出发了,预估全程时间 %d 小时……" +msgid "The caravan departs with an estimated total travel time of %d hours…" +msgstr "商队出发了,预估全程需 %d 小时……" #: src/mission_companion.cpp #, c-format @@ -193518,7 +199669,7 @@ msgid "The caravan party has returned. Your share of the profits are $%d!" msgstr "商队回来了。你的利润份额是 $%d!" #: src/mission_companion.cpp -msgid "The caravan was a disaster and your companions never made it home..." +msgid "The caravan was a disaster and your companions never made it home…" msgstr "商队遇难了,你的同伴再也回不来了……" #: src/mission_companion.cpp @@ -193546,19 +199697,19 @@ msgstr "%s 把你的名字填入账本中,然后喊来一个附近的工人, #, c-format msgid "" "After counting your money %s directs a nearby laborer to begin constructing " -"a fence around your plot..." -msgstr "计算过你的资金后,%s 指派一个附近的工人,开始绕着你的田修筑篱笆。" +"a fence around your plot…" +msgstr "数完你给的钱后,%s 指派一个附近的工人,开始绕着你的田修筑篱笆……" #: src/mission_companion.cpp msgid "You have no seeds to plant!" msgstr "没有种子可以种植!" #: src/mission_companion.cpp -msgid "You have no room to plant seeds..." -msgstr "没地方播种……" +msgid "You have no room to plant seeds…" +msgstr "你没地方播种……" #: src/mission_companion.cpp -msgid "I'm sorry, you don't have enough money to plant those seeds..." +msgid "I'm sorry, you don't have enough money to plant those seeds…" msgstr "很遗憾,你的钱不够种植这些种子……" #: src/mission_companion.cpp @@ -193574,7 +199725,7 @@ msgid "" msgstr "计算过资金并收取了你的种子后,%s 找了个民工团来耕种你的田地。" #: src/mission_companion.cpp -msgid "There aren't any plants that are ready to harvest..." +msgid "There aren't any plants that are ready to harvest…" msgstr "目前尚无可收割的作物……" #: src/mission_companion.cpp @@ -193582,14 +199733,14 @@ msgid "Which plants do you want to have harvested?" msgstr "你想收割哪种作物?" #: src/mission_companion.cpp -msgid "You decided to hold off for now..." -msgstr "你决定暂缓……" +msgid "You decided to hold off for now…" +msgstr "你决定以后再说……" #: src/mission_companion.cpp msgid "" "You don't have enough to pay the workers to harvest the crop so you are " -"forced to sell..." -msgstr "你的钱不够支付工人收割庄稼的费用,所以你不得不折算点作物……" +"forced to sell…" +msgstr "你的钱不够支付工人收割庄稼的费用,所以你不得不卖掉收获的作物……" #: src/mission_companion.cpp #, c-format @@ -193598,27 +199749,27 @@ msgstr "是否将 %d %s 的作物折算成 $%d 的利润?" #: src/mission_companion.cpp #, c-format -msgid "The %s are sold for $%d..." -msgstr "%s 被折算为 $%d……" +msgid "The %s are sold for $%d…" +msgstr "你将 %s 以 $%d 的价格卖出……" #: src/mission_companion.cpp #, c-format -msgid "You receive %d %s..." -msgstr "你收到 %d %s……" +msgid "You receive %d %s…" +msgstr "你获得了 %d %s……" #: src/mission_companion.cpp #, c-format msgid "" "While scavenging, %s's party suddenly found itself set upon by a large mob " -"of undead..." -msgstr "拾荒的时候,%s 的团队突然发现他们被一大波不死者盯上了……" +"of undead…" +msgstr "拾荒的时候,%s 的团队突然发现他们被一大群丧尸给盯上了……" #: src/mission_companion.cpp msgid "Through quick thinking the group was able to evade combat!" msgstr "凭藉机敏的思维,团队得以避开战斗!" #: src/mission_companion.cpp -msgid "Combat took place in close quarters, focusing on melee skills..." +msgid "Combat took place in close quarters, focusing on melee skills…" msgstr "战斗发生在近距离,侧重于近战技能……" #: src/mission_companion.cpp @@ -193627,14 +199778,13 @@ msgid "Through brute force the party smashed through the group of %d undead!" msgstr "凭藉蛮力,团队辗压了 %d 只丧尸的群落!" #: src/mission_companion.cpp -msgid "Unfortunately they were overpowered by the undead... I'm sorry." -msgstr "不幸的是他们被不死者击败了……我很遗憾。" +msgid "Unfortunately they were overpowered by the undead… I'm sorry." +msgstr "不幸的是他们被丧尸群淹没了……我很抱歉。" #: src/mission_companion.cpp #, c-format -msgid "" -"%s returns from patrol having earned $%d and a fair bit of experience..." -msgstr "%s 巡逻归来,赚了 $%d 元和一些经验……" +msgid "%s returns from patrol having earned $%d and a fair bit of experience…" +msgstr "%s 巡逻归来,获得了 $%d 和一些经验……" #: src/mission_companion.cpp #, c-format @@ -193652,8 +199802,8 @@ msgstr "%s 对你的能力更有信心了,并且愿意让你参与更冒险的 #: src/mission_companion.cpp #, c-format msgid "" -"%s returns from the raid having earned $%d and a fair bit of experience..." -msgstr "%s 劫掠归来,赚了 $%d 元和一些经验……" +"%s returns from the raid having earned $%d and a fair bit of experience…" +msgstr "%s 劫掠归来,获得了 $%d 和一些经验……" #: src/mission_companion.cpp #, c-format @@ -193664,8 +199814,8 @@ msgstr "%s 带回了一个 %s 给你!" #, c-format msgid "" "%s returns from working as a laborer having earned $%d and a bit of " -"experience..." -msgstr "%s 当完劳工回来,赚了 $%d 元和一些经验……" +"experience…" +msgstr "%s 当完劳工回来,获得了 $%d 和一些经验……" #: src/mission_companion.cpp #, c-format @@ -193676,7 +199826,7 @@ msgstr "%s 对你的同伴更有信心了,并且愿意让他参与更进一步 #: src/mission_companion.cpp #, c-format -msgid "While %s was framing a building one of the walls began to collapse..." +msgid "While %s was framing a building one of the walls began to collapse…" msgstr "正当 %s 建造一栋建筑时,一堵墙突然开始崩塌……" #: src/mission_companion.cpp @@ -193691,7 +199841,7 @@ msgstr "%s 从窗口跳出,躲过了坍塌。" #: src/mission_companion.cpp #, c-format -msgid "%s didn't make it out in time..." +msgid "%s didn't make it out in time…" msgstr "%s 没能及时逃出来……" #: src/mission_companion.cpp @@ -193700,7 +199850,7 @@ msgid "but %s was rescued from the debris with only minor injuries!" msgstr "但幸好 %s 被从废墟中救了出来,仅受轻伤!" #: src/mission_companion.cpp -msgid "Everyone who was trapped under the collapsing roof died..." +msgid "Everyone who was trapped under the collapsing roof died…" msgstr "所有被困在坍塌屋顶下的人都死了……" #: src/mission_companion.cpp @@ -193711,13 +199861,13 @@ msgstr "很抱歉,我们无能为力。" #, c-format msgid "" "%s returns from working as a carpenter having earned $%d and a bit of " -"experience..." -msgstr "%s 当完木匠回来,赚了 $%d 元和一些经验……" +"experience…" +msgstr "%s 当完木匠回来,获得了 $%d 和一些经验……" #: src/mission_companion.cpp #, c-format -msgid "While foraging, a beast began to stalk %s..." -msgstr "在采集食物的时候,一只野兽悄悄靠近 %s……" +msgid "While foraging, a beast began to stalk %s…" +msgstr "觅食的时候,一只野兽悄悄靠近了 %s……" #: src/mission_companion.cpp #, c-format @@ -193749,19 +199899,19 @@ msgstr "%s 把美洲狮打得血肉模糊!" #, c-format msgid "" "%s was able to hold off the first wolf but the others that were skulking in " -"the tree line caught up..." -msgstr "%s 干翻了那只狼。然而,在树丛后潜伏的其余几只一齐扑了过来。" +"the tree line caught up…" +msgstr "%s 干翻了那只狼。然而,在树丛后潜伏的其余几只一齐扑了过来……" #: src/mission_companion.cpp -msgid "I'm sorry, there wasn't anything we could do..." +msgid "I'm sorry, there wasn't anything we could do…" msgstr "很抱歉,我们无能为力……" #: src/mission_companion.cpp #, c-format msgid "" -"We... we don't know what exactly happened but we found %s's gear ripped and " -"bloody..." -msgstr "我们……我们不知道发生了什么,但是我们看到 %s 的护甲被撕裂,沾满鲜血……" +"We… we don't know what exactly happened but we found %s's gear ripped and " +"bloody…" +msgstr "我们……我们不知道发生了什么,但是我们发现了 %s 被撕裂的护甲,上面沾满了鲜血……" #: src/mission_companion.cpp msgid "I fear your companion won't be returning." @@ -193771,8 +199921,8 @@ msgstr "恐怕你的同伴再也回不来了。" #, c-format msgid "" "%s returns from working as a forager having earned $%d and a bit of " -"experience..." -msgstr "%s 当完采集工回来,赚了 $%d 和一些经验……" +"experience…" +msgstr "%s 采集食物归来,获得了 $%d 和一些经验……" #: src/mission_companion.cpp #, c-format @@ -193803,24 +199953,50 @@ msgid "Engagement between %d members of %s %s and %d members of %s %s%s!" msgstr "%d个%s %s的成员和%d个%s %s%s的成员发生交战!" #: src/mission_companion.cpp -msgid "You don't have any companions to send out..." +msgid "You don't have any companions to send out…" msgstr "你没有任何可供派遣的同伴……" #: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" -msgstr "你要派谁执行任务? [ 战斗:生存:工业 ]" +msgid "Who do you want to send?" +msgstr "你想派遣谁?" #: src/mission_companion.cpp -msgid "You choose to send no one..." -msgstr "你没有选择任何同伴……" +msgid "[ COMBAT : SURVIVAL : INDUSTRY ]" +msgstr "[ 战斗 : 生存 : 工业 ]" + +#. ~ %1$s: npc name +#: src/mission_companion.cpp +#, c-format +msgctxt "companion" +msgid "%1$s (Guarding)" +msgstr "%1$s(站岗)" + +#: src/mission_companion.cpp +#, c-format +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" +msgstr "%s [ %4d : %4d : %4d ]" + +#. ~ %1$s: skill name, %2$d: companion skill level +#: src/mission_companion.cpp +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d" +msgstr "%1$s %2$d" +#. ~ %1$s: skill name, %2$d: companion skill level, %3$d: skill requirement #: src/mission_companion.cpp -msgid "The companion you selected doesn't have the skills!" -msgstr "你所选择的同伴并没有所需要的技能!" +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d/%3$d" +msgstr "%1$s %2$d/%3$d" + +#: src/mission_companion.cpp +msgid "You choose to send no one…" +msgstr "你没有选择任何同伴……" #: src/mission_companion.cpp -msgid "You don't have any companions ready to return..." +msgid "You don't have any companions ready to return…" msgstr "你没有任何可以召回的同伴……" #: src/mission_companion.cpp @@ -193828,7 +200004,7 @@ msgid "Who should return?" msgstr "召回哪个同伴?" #: src/mission_companion.cpp -msgid "No one returns to your party..." +msgid "No one returns to your party…" msgstr "没人返回你的团队……" #: src/mission_end.cpp @@ -193860,18 +200036,17 @@ msgid "Download Software" msgstr "软件下载" #: src/mission_start.cpp -msgid "You don't know where the address could be..." -msgstr "(你不知道这个地址在哪里……)" +msgid "You don't know where the address could be…" +msgstr "你不知道这个地址在哪里……" #: src/mission_start.cpp -msgid "You mark the refugee center and the road that leads to it..." -msgstr "(你标记了难民中心的位置及到那里去的路……)" +msgid "You mark the refugee center and the road that leads to it…" +msgstr "你标记了难民中心的位置及到那里去的路……" #: src/mission_start.cpp msgid "" -"You mark the refugee center, but you have no idea how to get there by " -"road..." -msgstr "(你标记了难民中心的位置,但不知道怎么顺着路过去……)" +"You mark the refugee center, but you have no idea how to get there by road…" +msgstr "你标记了难民中心的位置,但不知道怎么顺着路过去……" #: src/mission_start.cpp msgid "Workstation" @@ -193947,8 +200122,8 @@ msgstr "你还没有失败任何任务!" #: src/mission_util.cpp #, c-format -msgid "%s also marks the road that leads to it..." -msgstr "%s 也标记了去那里的道路……" +msgid "%s also marks the road that leads to it…" +msgstr "%s 同时标记了去那里的道路……" #: src/mission_util.cpp #, c-format @@ -194333,14 +200508,6 @@ msgstr "重击声。" msgid "The root walls creak around you." msgstr "根蔓在你周围碾扎。" -#. ~ the sound of a fungus releasing spores -#. ~ That spore sound again -#. ~ the sound of a fungus dying -#. ~spore-release sound -#: src/monattack.cpp src/mondeath.cpp src/player.cpp -msgid "Pouf!" -msgstr "噗!" - #: src/monattack.cpp #, c-format msgid "Spores are released from the %s!" @@ -194392,7 +200559,7 @@ msgstr "%s 脉动了几下,并且随之释出了新鲜的真菌孢子!" #: src/monattack.cpp #, c-format -msgid "The %s seems to wave you toward the tower..." +msgid "The %s seems to wave you toward the tower…" msgstr "%s 似乎在驱使你前往真菌塔……" #: src/monattack.cpp @@ -194407,7 +200574,7 @@ msgid "The %1$s sinks its point into your %2$s!" msgstr "%1$s 把它的尖端插入你的 %2$s!" #: src/monattack.cpp -msgid "You feel thousands of live spores pumping into you..." +msgid "You feel thousands of live spores pumping into you…" msgstr "你感觉到数千个鲜活孢子灌入你的体内……" #. ~ 1$s is monster name, 2$s bodypart in accusative @@ -194444,8 +200611,8 @@ msgstr "你因为真菌墙的生长被强挤了出来!" #: src/monattack.cpp #, c-format -msgid "The %s spreads its tendrils. It seems as though it's expecting you..." -msgstr "%s 展开了它的卷须。仿佛在迎接着你……" +msgid "The %s spreads its tendrils. It seems as though it's expecting you…" +msgstr "%s 展开了它的卷须。它仿佛在迎接着你……" #: src/monattack.cpp msgid "" @@ -194455,7 +200622,7 @@ msgstr "尖塔伸展了开来并从内部抽出了几根触须。静观其变? #: src/monattack.cpp #, c-format msgid "" -"The %s works several tendrils into your arms, legs, torso, and even neck..." +"The %s works several tendrils into your arms, legs, torso, and even neck…" msgstr "%s 将几根卷须插入了你的手臂、双腿、身躯、甚至脖子……" #: src/monattack.cpp @@ -194477,9 +200644,9 @@ msgstr "被引导至马洛斯之门。" #. ~ Beginning to hear the Mycus while conscious: this is it speaking #: src/monattack.cpp msgid "" -"assistance, on an arduous quest. unity. together we have reached the door. " -"now to pass through..." -msgstr "……援助,在一个艰巨的任务中。团结。我们已经一起达到了那扇门扉。现在是时候穿过它了……" +"assistance, on an arduous quest. unity. together we have reached the door." +" now to pass through…" +msgstr "……协助吾等,完成这个艰巨的任务。生而为一。吾等一道已经触及那道门扉。现在是时候穿越那扇门了……" #: src/monattack.cpp msgid "You're shoved away as a fungal hedgerow grows!" @@ -194501,7 +200668,7 @@ msgid "The %s takes aim, and spears at you with a massive tendril!" msgstr "%s 瞄准,用巨大的触须向你猛刺了过来!" #: src/monattack.cpp -msgid "You feel millions of live spores pumping into you..." +msgid "You feel millions of live spores pumping into you…" msgstr "你感觉到数百万个鲜活孢子灌入你的体内……" #: src/monattack.cpp @@ -194659,7 +200826,7 @@ msgstr "%s 试着抓住你,但你把它打回去了!" #: src/monattack.cpp #, c-format -msgid "The %s tries to grab you..." +msgid "The %s tries to grab you…" msgstr "%s 试图抓住你……" #: src/monattack.cpp @@ -194713,6 +200880,10 @@ msgstr "你感觉到毒素注入了你的体内!" msgid "The %s young triffid grows into an adult!" msgstr "%s 三尖树苗成长为完全体!" +#: src/monattack.cpp +msgid "You feel a strange reverberation accross your body." +msgstr "你感到一道奇异的回响穿过你的全身。" + #: src/monattack.cpp #, c-format msgid "The %s stares at you, and you shudder." @@ -194804,12 +200975,12 @@ msgid "" msgstr "%s 确认了你作为现场响应警官的身份,但依旧在附近暗中观察。" #: src/monattack.cpp -msgid "Probably some now-obsolete Internal Affairs subroutine..." +msgid "Probably some now-obsolete Internal Affairs subroutine…" msgstr "可能是因为一些已经过时的内部事务处理程序吧……" #: src/monattack.cpp -msgid "Ops used to do that in case you needed backup..." -msgstr "过去你的行动组员经常这样做,应对你可能需要支援的情况。" +msgid "Ops used to do that in case you needed backup…" +msgstr "过去你的行动组员经常在你需要支援时那么做……" #: src/monattack.cpp #, c-format @@ -194841,7 +201012,7 @@ msgid "The %s takes your picture!" msgstr "%s 拍下了你的相片!" #: src/monattack.cpp -msgid "... database connection lost!" +msgid "…database connection lost!" msgstr "……数据库连接丢失!" #: src/monattack.cpp @@ -194901,7 +201072,7 @@ msgstr "辣个该死滴恶魔的眼睛正盯着我!" #. ~ Potential grenading detected. #: src/monattack.cpp -msgid "Those laser dots don't seem very friendly..." +msgid "Those laser dots don't seem very friendly…" msgstr "那些激光红点感觉一点都不友好……" #: src/monattack.cpp @@ -194949,24 +201120,24 @@ msgid "a police siren, whoop WHOOP" msgstr "警笛滴嘟滴嘟地响着" #: src/monattack.cpp -msgid "\"YOU... ARE FILTH...\"" -msgstr "\"你这个…垃圾……\"" +msgid "\"YOU… ARE FILTH…\"" +msgstr "\"你这个……渣滓……\"" #: src/monattack.cpp -msgid "\"VERMIN... YOU ARE VERMIN...\"" -msgstr "\"害虫……你们都是害虫……\"" +msgid "\"VERMIN… YOU ARE VERMIN…\"" +msgstr "\"害虫……你个害虫……\"" #: src/monattack.cpp -msgid "\"LEAVE NOW...\"" -msgstr "\"立刻……离开!\"" +msgid "\"LEAVE NOW…\"" +msgstr "\"立刻离开……\"" #: src/monattack.cpp -msgid "\"WE... WILL FEAST... UPON YOU...\"" +msgid "\"WE… WILL FEAST… UPON YOU…\"" msgstr "\"我们…会…好好…享用…你的……\"" #: src/monattack.cpp -msgid "\"FOUL INTERLOPER...\"" -msgstr "\"违规……入侵者!\"" +msgid "\"FOUL INTERLOPER…\"" +msgstr "\"可恶的……入侵者……\"" #. ~ %1$s is the name of the zombie upgrading the other, %2$s is the zombie #. being upgraded. @@ -195154,12 +201325,12 @@ msgstr "%1$s 猛地一爪抓向 的 %2$s,但是被装甲弹开了! #: src/monattack.cpp #, c-format -msgid "The %s slashes at your neck! You duck!" +msgid "The %s slashes at your neck! You duck!" msgstr "%s 猛地斩击你的脖子,但被躲开了!" #: src/monattack.cpp #, c-format -msgid "The %s slashes at 's neck! They duck!" +msgid "The %s slashes at 's neck! They duck!" msgstr "%s 猛地斩击 的脖子,但被躲开了!" #: src/monattack.cpp @@ -195260,7 +201431,7 @@ msgid "but you grab its arm and flip it to the ground!" msgstr "但是你抓住了它的胳膊并把它摔在地上!" #: src/monattack.cpp -msgid "The flip does shock you..." +msgid "The flip does shock you…" msgstr "这一摔电到了你……" #: src/monattack.cpp @@ -195269,8 +201440,8 @@ msgstr "但是你挣脱了它的抓握!" #: src/monattack.cpp msgid "" -"Halt and submit to arrest, citizen! The police will be here any moment." -msgstr "\"立刻停下一切现在行动并且接受逮捕,市民!警察很快就会到来。\"" +"Halt and submit to arrest, citizen! The police will be here any moment." +msgstr "\"立刻停下并接受逮捕,市民!警察很快就会到来。\"" #: src/monattack.cpp msgid "Please stay in place, citizen, do not make any movements!" @@ -195399,8 +201570,8 @@ msgstr "%1$s 把 %2$s 摔倒在地!" #. ~ 1$s is bodypart name in accusative, 2$d is damage value. #: src/monattack.cpp #, c-format -msgid "The zombie kicks your %1$s for %2$d damage..." -msgstr "丧尸踢中了你的 %1$s 并且造成了 %2$d 点伤害!" +msgid "The zombie kicks your %1$s for %2$d damage…" +msgstr "丧尸踢中了你的 %1$s 并且造成了 %2$d 点伤害……" #: src/monattack.cpp #, c-format @@ -195502,6 +201673,11 @@ msgstr "%1$s 的手臂命中了你的 %2$s,但是被装甲弹开了!" msgid "The %1$s hits 's %2$s, but glances off armor!" msgstr "%1$s 的手臂命中了 的 %2$s,但是被装甲弹开了!" +#: src/monattack.cpp +#, c-format +msgid "The %1$s fuses with the %2$s." +msgstr "%1$s与%2$s融合在了一起。" + #: src/monattack.cpp #, c-format msgid "The %s doots its trumpet!" @@ -195612,7 +201788,7 @@ msgid "The %s melts away." msgstr "%s 融化了。" #: src/mondeath.cpp -msgid "Your obsession with the fault fades away..." +msgid "Your obsession with the fault fades away…" msgstr "你从对裂痕的痴迷中恢复过来……" #: src/mondeath.cpp @@ -195701,11 +201877,6 @@ msgstr "从 %s 被击中的伤口中喷出了酸液!" msgid "zombie slave" msgstr "丧尸奴仆" -#: src/monexamine.cpp src/player.cpp -#, c-format -msgid "What to do with your %s?" -msgstr "对你的 %s 做什么?" - #: src/monexamine.cpp #, c-format msgid "Push %s" @@ -195886,24 +202057,25 @@ msgstr "你没有启动这套机甲所需的ID卡。" #: src/monexamine.cpp #, c-format msgid "" -"Welcome to the %s Friendship Interface. What would you like to do?\n" +"Welcome to the %s Friendship Interface. What would you like to do?\n" "Your current friendship will last: %s" msgstr "" "欢迎来到 %s 友谊界面。请问您需要什么?\n" "当前友谊余额:%s" #: src/monexamine.cpp -msgid "Get more friendship. 10 cents/min" +msgid "Get more friendship. 10 cents/min" msgstr "获得更多友谊。10 美分/分钟" #: src/monexamine.cpp -msgid "Sadly you're not currently able to extend your friendship. - Quit menu" +msgid "" +"Sadly you're not currently able to extend your friendship. - Quit menu" msgstr "很遗憾,你当前无法延长友谊。 - 退出菜单" #: src/monexamine.cpp #, c-format -msgid "How much friendship do you get? Max: %d minute. (0 to cancel) " -msgid_plural "How much friendship do you get? Max: %d minutes. " +msgid "How much friendship do you get? Max: %d minute. (0 to cancel)" +msgid_plural "How much friendship do you get? Max: %d minutes." msgstr[0] "你需要多少友谊?最大:%d 分钟。" #: src/monexamine.cpp @@ -195960,7 +202132,7 @@ msgstr "你的 %s 没有任何容器来放东西。" #: src/monexamine.cpp #, c-format -msgid "%1$s is overburdened. You can't transfer your %2$s." +msgid "%1$s is overburdened. You can't transfer your %2$s." msgstr "%1$s 已经超载了。无法转移你的 %2$s。" #: src/monexamine.cpp @@ -196190,6 +202362,16 @@ msgstr "浓稠胶质" msgid "wearing %1$s" msgstr "穿着 %1$s" +#: src/monster.cpp +#, c-format +msgid "The %s" +msgstr "%s" + +#: src/monster.cpp +#, c-format +msgid "The %s's" +msgstr "%s的" + #: src/monster.cpp #, c-format msgid "the %s's" @@ -196232,6 +202414,11 @@ msgstr "发现了你!" msgid "Rider: %s" msgstr "骑乘者:%s" +#: src/monster.cpp +#, c-format +msgid " It is %s." +msgstr "它%s。" + #: src/monster.cpp msgid "Difficulty " msgstr "难度" @@ -196462,7 +202649,7 @@ msgid "You're envenomed!" msgstr "你中毒了!" #: src/monster.cpp -msgid "You feel venom flood your body, wracking you with pain..." +msgid "You feel venom flood your body, wracking you with pain…" msgstr "你感觉毒素涌入你的身体,让你非常痛苦……" #: src/monster.cpp @@ -196600,6 +202787,14 @@ msgstr "孢子把 %1$s 转化成 %2$s!" msgid "Total morale:" msgstr "总心情值:" +#: src/morale.cpp +msgid "Pain level:" +msgstr "疼痛度:" + +#: src/morale.cpp +msgid "Fatigue level:" +msgstr "疲劳度:" + #: src/morale.cpp msgid "Focus trends towards:" msgstr "专注值平衡点:" @@ -196673,7 +202868,7 @@ msgstr "你集中注意力,然后随着一种很愉悦的剥离感,又多了 #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp -msgid "wow! you look just like me! we should look out for each other!" +msgid "wow! you look just like me! we should look out for each other!" msgstr "哇哦!你跟我长得一模一样!我们应该互相照顾!" #. ~ Usual enthusiastic slimespring small voices! :D @@ -196708,7 +202903,7 @@ msgid "Bionic power storage increased by 100." msgstr "储能模块能量增加100。" #: src/mutation.cpp -msgid "You feel something straining deep inside you, yearning to be free..." +msgid "You feel something straining deep inside you, yearning to be free…" msgstr "你觉得你内心深处有个东西渴望获得自由……" #: src/mutation.cpp @@ -196836,7 +203031,7 @@ msgid "Suffered a toxic marloss/mutagen reaction." msgstr "遭受了马洛斯莓/诱变剂的有害反应。" #: src/mutation.cpp -msgid "Something strains mightily for a moment... and then... you're... FREE!" +msgid "Something strains mightily for a moment… and then… you're… FREE!" msgstr "有什么东西疯狂的拉扯了一会儿……然后……你……解脱了!" #: src/mutation.cpp @@ -196854,7 +203049,7 @@ msgid "You stagger with a piercing headache!" msgstr "一股剧烈的头痛让你脚步蹒跚!" #: src/mutation.cpp -msgid "Your head throbs with memories of your life, before all this..." +msgid "Your head throbs with memories of your life, before all this…" msgstr "你的脑海回想起往日的生活,在这一切浩劫之前……" #: src/mutation.cpp @@ -196872,7 +203067,7 @@ msgid "Crossed a threshold" msgstr "超越极限" #: src/mutation_data.cpp -msgid "Oh, yeah! That's the stuff!" +msgid "Oh, yeah! That's the stuff!" msgstr "欧耶!就是这玩意!" #: src/mutation_ui.cpp @@ -196958,7 +203153,7 @@ msgstr "%s; 输入新字母。" #: src/mutation_ui.cpp #, c-format msgid "" -"Invalid mutation letter. Only those characters are valid:\n" +"Invalid mutation letter. Only those characters are valid:\n" "\n" "%s" msgstr "" @@ -196986,21 +203181,21 @@ msgstr "你无法激活 %s!查看 %s 的描述请按 \"!\"键,然后按\"%c\ msgid "Tom" msgstr "汤姆" -#. ~ Used for constructing full name: %1$s is `family name`, %2$s is `given +#. ~ Used for constructing full name: %1$s is `given name`, %2$s is `family #. name` #: src/name.cpp #, c-format msgctxt "Full Name" msgid "%1$s %2$s" -msgstr "%1$s %2$s" +msgstr "%1$s·%2$s" -#. ~ Used for constructing full name with nickname: %1$s is `family name`, -#. %2$s is `given name`, %3$s is `nickname` +#. ~ Used for constructing full name with nickname: %1$s is `given name`, %2$s +#. is `family name`, %3$s is `nickname` #: src/name.cpp #, c-format msgctxt "Full Name" msgid "%1$s '%3$s' %2$s" -msgstr "%1$s '%3$s' %2$s" +msgstr "%1$s·'%3$s'·%2$s" #: src/newcharacter.cpp #, c-format @@ -197021,7 +203216,7 @@ msgstr "无限制" #: src/newcharacter.cpp src/player.cpp #, c-format -msgid "Select a style. (press %s for more info)" +msgid "Select a style. (press %s for more info)" msgstr "选择武术流派(按 %s 键显示更多信息)" #: src/newcharacter.cpp @@ -197057,14 +203252,14 @@ msgstr "场景" msgid "PROFESSION" msgstr "职业" -#: src/newcharacter.cpp src/player_display.cpp -msgid "TRAITS" -msgstr "特性" - #: src/newcharacter.cpp src/player_display.cpp msgid "STATS" msgstr "属性" +#: src/newcharacter.cpp src/player_display.cpp +msgid "TRAITS" +msgstr "特性" + #: src/newcharacter.cpp src/player_display.cpp msgid "SKILLS" msgstr "技能" @@ -197449,7 +203644,7 @@ msgstr[0] "场景 %1$s 消耗 %2$d 点点数" #: src/newcharacter.cpp msgid "" -"This scenario is not available in this world due to city size settings. " +"This scenario is not available in this world due to city size settings." msgstr "该场景由于当前世界的城市规模设置而不可用。" #: src/newcharacter.cpp @@ -197545,10 +203740,6 @@ msgstr "属性:" msgid "Traits: " msgstr "特性:" -#: src/newcharacter.cpp -msgid "(Top 8)" -msgstr "(最高8项)" - #: src/newcharacter.cpp #, c-format msgid "Press %s to finish character creation or %s to go back." @@ -197616,8 +203807,8 @@ msgid "_______NO NAME ENTERED!_______" msgstr "_______未输入名字!_______" #: src/newcharacter.cpp -msgid "Are you SURE you're finished? Your name will be randomly generated." -msgstr "你确定你完成了?你的名字将会被随机赋予。" +msgid "Are you SURE you're finished? Your name will be randomly generated." +msgstr "你确定你完成了?你的名字将会被随机生成。" #: src/newcharacter.cpp src/worldfactory.cpp msgid "Are you SURE you're finished?" @@ -197789,10 +203980,6 @@ msgstr "畏惧" msgid "Very afraid" msgstr "非常害怕" -#: src/npc.cpp -msgid "Terrified" -msgstr "十分惊恐" - #: src/npc.cpp msgid "Fear: " msgstr "恐惧:" @@ -197916,16 +204103,12 @@ msgid "NPC Legacy Attitude" msgstr "NPC 遗留态度" #: src/npc.cpp -msgid "Not much" -msgstr "没什么" - -#: src/npc.cpp -msgid "Cooking" -msgstr "烹饪中" +msgid "Cooking and butchering" +msgstr "烹饪及屠宰" #: src/npc.cpp msgid "Tidying and cleaning" -msgstr "整理清洁中" +msgstr "打扫和清洁" #: src/npc.cpp msgid "Vehicle work" @@ -197933,35 +204116,35 @@ msgstr "载具工作" #: src/npc.cpp msgid "Building" -msgstr "建造中" +msgstr "建造" #: src/npc.cpp msgid "Crafting" -msgstr "制作中" +msgstr "制作" #: src/npc.cpp msgid "Guarding and patrolling" -msgstr "护卫巡逻中" +msgstr "守卫及巡逻" #: src/npc.cpp msgid "Working the fields" -msgstr "在田里干活中" +msgstr "田里干活" #: src/npc.cpp msgid "Chopping wood" -msgstr "伐木中" +msgstr "伐木" #: src/npc.cpp msgid "Caring for the livestock" -msgstr "照顾家畜中" +msgstr "照顾家畜" #: src/npc.cpp -msgid "Hunting for meat" -msgstr "打猎中" +msgid "Hunting and fishing" +msgstr "狩猎及钓鱼" #: src/npc.cpp msgid "Gathering edibles" -msgstr "收集食物中" +msgstr "采集食物" #: src/npc.cpp msgid "Unknown job" @@ -198062,8 +204245,8 @@ msgid "Hold still %s, I'm coming to help you." msgstr "坚持住,%s,我来帮你了。" #: src/npcmove.cpp -msgid "Don't move a muscle..." -msgstr " 不要动!" +msgid "Don't move a muscle…" +msgstr " 不要动……" #: src/npcmove.cpp #, c-format @@ -198161,7 +204344,7 @@ msgstr "%1$s 拿走了你的 %2$s 。" #: src/npcmove.cpp #, c-format msgid "" -"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" +"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" msgstr "你听到双向无线电里传来 %s 的报告:\"我到了,老大!\"" #: src/npcmove.cpp @@ -198171,7 +204354,7 @@ msgstr "%s %s " #: src/npcmove.cpp #, c-format -msgid "My %s wound is infected..." +msgid "My %s wound is infected…" msgstr "我 %s 的伤口被感染了……" #: src/npcmove.cpp @@ -198184,7 +204367,7 @@ msgid "" msgstr "" #: src/npcmove.cpp -msgid "I'm suffering from radiation sickness..." +msgid "I'm suffering from radiation sickness…" msgstr "我患上了辐射病……" #: src/npcmove.cpp @@ -198304,7 +204487,7 @@ msgid "Talk to %s" msgstr "与 %s 交谈" #: src/npctalk.cpp -msgid "Talk to ..." +msgid "Talk to…" msgstr "与人交谈……" #: src/npctalk.cpp @@ -198329,7 +204512,7 @@ msgid "Tell %s to follow" msgstr "让 %s 跟随" #: src/npctalk.cpp -msgid "Tell someone to follow..." +msgid "Tell someone to follow…" msgstr "让人跟随……" #: src/npctalk.cpp @@ -198338,7 +204521,7 @@ msgid "Tell %s to guard" msgstr "让 %s 守卫" #: src/npctalk.cpp -msgid "Tell someone to guard..." +msgid "Tell someone to guard…" msgstr "让人守卫……" #: src/npctalk.cpp @@ -198362,7 +204545,7 @@ msgid "Tell everyone on your team to relax (Clear Overrides)" msgstr "让所有队员放松(解除戒严)" #: src/npctalk.cpp -msgid "Tell everyone on your team to temporarily..." +msgid "Tell everyone on your team to temporarily…" msgstr "让所有队员暂时……" #: src/npctalk.cpp @@ -198461,7 +204644,7 @@ msgstr "&你听不见时无法交谈。" #: src/npctalk.cpp #, c-format msgid "" -"&You are deaf and can't talk. When you don't respond, %s becomes angry!" +"&You are deaf and can't talk. When you don't respond, %s becomes angry!" msgstr "&你听不见时无法交谈。由于你没有任何反应,%s 生气了!" #: src/npctalk.cpp @@ -198494,8 +204677,8 @@ msgid "Sorry, but it doesn't seem I have anything to teach you." msgstr "对不起,你懂得比我多多了,还是另请高明吧。" #: src/npctalk.cpp -msgid "Here's what I can teach you..." -msgstr "我能够给你传授一些人生经验…" +msgid "Here's what I can teach you…" +msgstr "我能够给你传授一些人生经验……" #: src/npctalk.cpp #, c-format @@ -198509,16 +204692,23 @@ msgid_plural "%d feet." msgstr[0] "%d 英尺。" #: src/npctalk.cpp -msgid "I'm holing up here for safety." -msgstr "我躲在这里安全。" +#, c-format +msgid "I'm holing up here for safety. Long term, %s" +msgstr "我暂时躲在这里是为了安全。长期看来,%s" #: src/npctalk.cpp msgid "I run the shop here." msgstr "我在这里经营商店。" #: src/npctalk.cpp -msgid "I'm guarding this location." -msgstr "我守护这个位置。" +#, c-format +msgid "Currently, I'm guarding this location. Overall, %s" +msgstr "目前我在守卫这个地方。总体上说,%s" + +#: src/npctalk.cpp +#, c-format +msgid "Right now, I'm . In general, %s" +msgstr "现在我正在 。一般来说,%s" #: src/npctalk.cpp msgid "&You yell, but can't hear yourself." @@ -198612,6 +204802,16 @@ msgstr "我有个消息。" msgid "Yes, let's resume training " msgstr "是的,让我们接着训练 。" +#: src/npctalk.cpp +#, c-format +msgid "%s: 1 hour lesson (cost %s)" +msgstr "%s:一小时的课程(花费 %s)" + +#: src/npctalk.cpp +#, c-format +msgid "%s: teaching spell knowledge (cost %s)" +msgstr "%s:传授法术知识(花费 %s)" + #. ~Martial art style (cost in dollars) #: src/npctalk.cpp #, c-format @@ -198627,8 +204827,8 @@ msgstr "%s:%d(%d%%) -> %d(%d%%)(花费 $%d)" #: src/npctalk.cpp #, c-format -msgid "%s: %d (%d%%) -> %d" -msgstr "%s:%d(%d%%) -> %d" +msgid "%s: %d (%d%%) -> %d (%d%%)" +msgstr "%s:%d(%d%%) -> %d(%d%%)" #: src/npctalk.cpp msgid "Okay, thanks." @@ -198661,7 +204861,7 @@ msgstr "。" #: src/npctalk.cpp msgctxt "punctuation" -msgid "..." +msgid "…" msgstr "…" #: src/npctalk.cpp @@ -198708,8 +204908,8 @@ msgid "%s: %s" msgstr "%s: %s" #: src/npctalk.cpp -msgid "You'll be helpless! Proceed?" -msgstr "你将会孤立无援!确定吗?" +msgid "You'll be helpless! Proceed?" +msgstr "你将会更加无助!确定吗?" #: src/npctalk.cpp #, c-format @@ -198768,22 +204968,18 @@ msgid "You learn how to craft %s." msgstr "你掌握了制造 %s 的方法。" #: src/npctalk.cpp -msgid "I don't trust you enough to eat THIS..." +msgid "I don't trust you enough to eat THIS…" msgstr "我不相信你,不会吃的……" #: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this..." -msgstr "看起来用这个不是个好主意……" +msgid "It doesn't look like a good idea to consume this…" +msgstr "吃这个不像是个好主意……" #: src/npctalk.cpp #, c-format msgid "I need a %s to consume that!" msgstr "给我一个 %s 来使用它!" -#: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this.." -msgstr "看起来用这个不是个好主意……" - #: src/npctalk.cpp msgid "Offer what?" msgstr "你要给什么?" @@ -198805,8 +205001,8 @@ msgid "Are you insane!?" msgstr "你 疯了吗!?" #: src/npctalk.cpp -msgid "Here we go..." -msgstr "我们开始吧……" +msgid "Here we go…" +msgstr "好的……" #: src/npctalk.cpp msgid "My current weapon is better than this." @@ -198831,8 +205027,8 @@ msgid "I can only store %s %s more." msgstr "我只能再装 %s %s 左右。" #: src/npctalk.cpp -msgid "...or to store anything else for that matter." -msgstr "…或存储任何有点用东西。" +msgid "…or to store anything else for that matter." +msgstr "……其实也没空间放任何东西了。" #: src/npctalk.cpp msgid "It is too heavy for me to carry." @@ -198861,39 +205057,15 @@ msgstr "位于(%2$d,%3$d)的 %1$s" msgid "My current location" msgstr "我现在的位置" -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name -#: src/npctalk_funcs.cpp -#, c-format -msgid "%1$s is assigned to %2$s" -msgstr "%1$s 被派去 %2$s" - -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name #: src/npctalk_funcs.cpp #, c-format -msgid "%1$s is assigned to guard %2$s" -msgstr "%1$s 被派去守卫 %2$s" +msgid "That is not a valid destination for %s." +msgstr "不是 %s 的有效目的地。" -#. ~ %1$s is the NPC's translated name, %2$s is the pronoun for the NPC's -#. gender #: src/npctalk_funcs.cpp #, c-format -msgid "%1$s will wait for you where %2$s is." -msgstr "%1$s 将在%2$s现在所处的位置等你。" - -#: src/npctalk_funcs.cpp -msgid "he" -msgstr "他" - -#: src/npctalk_funcs.cpp -msgid "she" -msgstr "她" - -#: src/npctalk_funcs.cpp -#, c-format -msgid "%s is posted as a guard." -msgstr "%s 在这里进行守卫。" +msgid "%1$s is assigned to %2$s" +msgstr "%1$s 被派去 %2$s" #: src/npctalk_funcs.cpp #, c-format @@ -198911,7 +205083,7 @@ msgid "You start a fight with %s!" msgstr "你开始和 %s 战斗!" #: src/npctalk_funcs.cpp -msgid "You don't have any bionics installed..." +msgid "You don't have any bionics installed…" msgstr "你没有任何已安装的生化插件……" #: src/npctalk_funcs.cpp @@ -198919,13 +205091,9 @@ msgid "Which bionic do you wish to uninstall?" msgstr "你想移除哪一个生化插件?" #: src/npctalk_funcs.cpp -msgid "You decide to hold off..." +msgid "You decide to hold off…" msgstr "你决定再想想……" -#: src/npctalk_funcs.cpp -msgid "You can't afford the procedure..." -msgstr "你搞不定那个程序!" - #: src/npctalk_funcs.cpp #, c-format msgid "%s has nothing to give!" @@ -198945,7 +205113,7 @@ msgid "Choose a new facial hair style" msgstr "选择一个新的胡须风格" #: src/npctalk_funcs.cpp -msgid "Actually... I've changed my mind." +msgid "Actually… I've changed my mind." msgstr "呃……我改变主意了。" #: src/npctalk_funcs.cpp @@ -198954,17 +205122,17 @@ msgstr "你换了一个时髦的新发型!" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent haircut..." +msgid "%s gives you a decent haircut…" msgstr "%s 给你理了一个体面的发型……" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent shave..." +msgid "%s gives you a decent shave…" msgstr "%s 给你仔细修剪了一下胡须……" #: src/npctalk_funcs.cpp #, c-format -msgid "That was a pleasant conversation with %s..." +msgid "That was a pleasant conversation with %s…" msgstr "与 %s 进行了亲切友好的交谈……" #: src/npctalk_funcs.cpp @@ -198974,7 +205142,7 @@ msgstr "与 %s 进行了亲切友好的交谈。" #: src/npctalk_funcs.cpp #, c-format -msgid "%s drops the logs off in the garage..." +msgid "%s drops the logs off in the garage…" msgstr "%s 把原木丢在车库里……" #: src/npctalk_funcs.cpp @@ -198992,6 +205160,11 @@ msgstr "%s 转向逃跑!" msgid "%s leaves." msgstr "%s 离开了。" +#: src/npctalk_funcs.cpp +#, c-format +msgid "%s stops following." +msgstr "%s 停止跟随你。" + #: src/npctalk_funcs.cpp #, c-format msgid "%s feels less threatened by you." @@ -199073,7 +205246,7 @@ msgstr "%s 无法携带全部物品。" #: src/npctrade.cpp #, c-format msgid "" -"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" +"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" "\n" "Continue with trade?" msgstr "" @@ -199082,7 +205255,7 @@ msgstr "" "继续交易?" #: src/npctrade.cpp -msgid "Looks like a deal! Accept this trade?" +msgid "Looks like a deal! Accept this trade?" msgstr "看起来对方同意了!接受这次交易吗?" #: src/npctrade.h @@ -199285,14 +205458,16 @@ msgstr "开启时,当手持鹤嘴锄或冲击钻并走向可破坏地形时将 #: src/options.cpp msgid "Auto foraging" -msgstr "自动搜寻" +msgstr "自动采集" #: src/options.cpp msgid "" "Action to perform when 'Auto foraging' is enabled. Bushes: Only forage " "bushes. - Trees: Only forage trees. - Everything: Forage bushes, trees, " "and everything else including flowers, cattails etc." -msgstr "启用\"自动搜寻\"时进行的操作。灌木:只搜寻灌木。- 树木:只搜寻树木。- 所有:搜寻一切可采集的物品,例如灌木和树木、花朵、香蒲草等。" +msgstr "" +"启用\"自动采集\"时进行的操作。灌木:只搜寻并采集灌木。- 树木:只搜寻并采集树木。- " +"所有:搜寻并采集一切可采集的物品,例如灌木和树木、花朵、香蒲草等。" #: src/options.cpp msgid "Bushes" @@ -199362,7 +205537,7 @@ msgstr "安全模式重启回合数" #: src/options.cpp msgid "" -"Number of turns after which safe mode is reactivated. Will only reactivate " +"Number of turns after which safe mode is reactivated. Will only reactivate " "if no hostiles are in 'Safe mode proximity distance.'" msgstr "当\"安全模式判定距离\"内没有敌对怪物/NPC时,重新开启安全模式所需要的回合数。" @@ -199459,9 +205634,9 @@ msgstr "丢下空容器" #: src/options.cpp msgid "" -"Set to drop empty containers after use. No: Don't drop any. - Watertight: " -"All except watertight containers. - All: Drop all containers." -msgstr "设置使用后丢下空容器。 否:不丢弃 - 水密容器:水密容器不丢弃 - 全部:所有容器均丢弃。" +"Set to drop empty containers after use. No: Don't drop any. - Watertight: " +"All except watertight containers. - All: Drop all containers." +msgstr "设置使用后丢下空容器。否:不丢弃 - 水密容器:水密容器不丢弃 - 全部:所有容器均丢弃。" #: src/options.cpp msgid "Watertight" @@ -199627,12 +205802,12 @@ msgid "If true, automatically follow the crosshair when firing/throwing." msgstr "开启后,射击/投掷时将会自动锁定目标。" #: src/options.cpp -msgid "Query on disassembly" -msgstr "拆解前确认" +msgid "Query on disassembly while butchering" +msgstr "屠宰拆解前确认" #: src/options.cpp -msgid "If true, will query before disassembling items." -msgstr "开启后,拆解物品时需要确认。" +msgid "If true, will query before disassembling items while butchering." +msgstr "开启后,通过屠宰按键拆解物品时需要确认。" #: src/options.cpp msgid "Query on keybinding removal" @@ -199901,9 +206076,9 @@ msgstr "自动分配物品快捷字符" #: src/options.cpp msgid "" -"Enabled: automatically assign letters to any carried items that lack them. " -"Disabled: do not auto-assign letters. Favorites: only auto-assign letters to" -" favorited items." +"Enabled: automatically assign letters to any carried items that lack them. " +"Disabled: do not auto-assign letters. Favorites: only auto-assign letters " +"to favorited items." msgstr "启用:自动分配字母。禁用:不自动分配字母。收藏:仅为收藏的物品自动分配字母。" #: src/options.cpp @@ -200267,7 +206442,7 @@ msgstr "控制小地图上敌人标记的闪烁速度。参数乘以200 毫秒 msgid "Display" msgstr "切换显示" -#: src/options.cpp +#: src/options.cpp src/sdltiles.cpp msgid "" "Sets which video display will be used to show the game. Requires restart." msgstr "设置游戏使用的显示器。需要重新启动。" @@ -200353,7 +206528,7 @@ msgid "Scaling factor" msgstr "缩放比例" #: src/options.cpp -msgid "Factor by which to scale the display. Requires restart." +msgid "Factor by which to scale the display. Requires restart." msgstr "显示窗口的缩放比例。需要重启。" #: src/options.cpp @@ -200627,10 +206802,11 @@ msgstr "灾变起始日" #: src/options.cpp msgid "" -"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can " -"be overridden by scenarios. This does not advance food rot or monster " +"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can" +" be overridden by scenarios. This does not advance food rot or monster " "evolution." -msgstr "大灾变发生时的日历天数。设置为0时大灾变发生在春季第一天。会被场景所对应的设置值覆盖。增加该值并不会导致世界内生成的食物腐烂或怪物进化。" +msgstr "" +"大灾变发生时的日历天数。设置为 0 时大灾变发生在春季第一天。会被场景所对应的设置值覆盖。增加该值并不会导致世界内生成的食物腐烂或怪物进化。" #: src/options.cpp msgid "Spawn delay" @@ -200638,10 +206814,11 @@ msgstr "开局延迟" #: src/options.cpp msgid "" -"How many days after the cataclysm the player spawns. Day 0 is the day of the" -" cataclysm. Can be overridden by scenarios. Increasing this will cause food " -"rot and monster evolution to advance." -msgstr "大灾变发生后多少天开始游戏。设置为0时将在大灾变当日开始游戏。会被场景所对应的设置值覆盖。增加该值将导致世界内生成的食物腐烂和怪物进化。" +"How many days after the cataclysm the player spawns. Day 0 is the day of " +"the cataclysm. Can be overridden by scenarios. Increasing this will cause " +"food rot and monster evolution to advance." +msgstr "" +"大灾变发生后多少天开始游戏。设置为 0 时将在大灾变当日开始游戏。会被场景所对应的设置值覆盖。增加该值将导致世界内生成的食物腐烂和怪物进化。" #: src/options.cpp msgid "Season length" @@ -200699,7 +206876,7 @@ msgstr "生成静态NPC" #: src/options.cpp msgid "" -"If true, static NPCs will spawn at pre-defined locations. Requires world " +"If true, static NPCs will spawn at pre-defined locations. Requires world " "reset." msgstr "开启后,会在创建游戏时会在地图上的一些固定地点生成NPC,需要重置世界才能生效。" @@ -201186,6 +207363,10 @@ msgid_plural "" "%s #%s -- The window will be %d pixels tall with the selected value." msgstr[0] "%s #%s -- 该值对应的窗口高度为%d个像素。" +#: src/options.cpp +msgid "Note: " +msgstr "备注:" + #: src/options.cpp msgid "Some of these options may produce unexpected results if changed." msgstr "更改某些选项可能会产生不可预料的后果。" @@ -201208,7 +207389,7 @@ msgid "options" msgstr "选项" #: src/output.cpp -msgid "Press any key for more..." +msgid "Press any key for more…" msgstr "按任意键显示更多……" #: src/output.cpp @@ -201368,7 +207549,7 @@ msgstr "[%s] %s" #: src/overmap_ui.cpp #, c-format msgid "" -"LEVEL %i, %d'%d, %d'%d : %s (Distance: " +"LEVEL %i, %d'%d, %d'%d: %s (Distance: " "%d)" msgstr "第%i层,%d'%d,%d'%d:%s(距离:%d)" @@ -201708,11 +207889,6 @@ msgstr "寒冷!" msgid "Freezing!" msgstr "冻僵!" -#: src/panels.cpp -msgctxt "energy unit: kilojoule" -msgid "kJ" -msgstr "千焦" - #: src/panels.cpp msgid "Bad" msgstr "坏" @@ -201892,6 +208068,7 @@ msgstr "保暖:" msgid "Underground" msgstr "地下" +#. ~ translation should not exceed 5 console cells #: src/panels.cpp msgid "Wind" msgstr "风速" @@ -201953,10 +208130,6 @@ msgstr "失聪!" msgid "Weapon :" msgstr "武器:" -#: src/panels.cpp -msgid "No Style" -msgstr "无流派" - #: src/panels.cpp msgid "Day " msgstr "天" @@ -201969,10 +208142,12 @@ msgstr "温度: " msgid "to open sidebar options" msgstr "打开侧边栏选项" +#. ~ translation should not exceed 4 console cells #: src/panels.cpp msgid "Mana" msgstr "魔力" +#. ~ translation should not exceed 9 console cells #: src/panels.cpp msgid "Max Mana" msgstr "最大魔力" @@ -202229,75 +208404,6 @@ msgstr "为了不让里面的液体洒出来, 把 %1$s 放在 %2$s msgid "You have learned a new style: %s!" msgstr "你掌握了新的武术流派:%s!" -#: src/player.cpp -#, c-format -msgid "Your %s will be frostnipped in the next few hours." -msgstr "你的%s在不久就会被冻伤。" - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten within the hour!" -msgstr "你的%s在短时间内会被冻伤。" - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten any minute now!" -msgstr "你的%s将会随时被冻伤!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s beginning to go numb from the cold!" -msgstr "你感到你的%s因为寒冷而变得麻木!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very cold." -msgstr "你感到你的%s变得非常冷。" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting chilly." -msgstr "你感到你的%s变得很冷。" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting red hot from the heat!" -msgstr "你感到你的%s由于高温变得火热!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very hot." -msgstr "你感到你的%s变得非常热。" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting warm." -msgstr "你感到你的%s开始升温。" - -#: src/player.cpp -#, c-format -msgid "The wind is making your %s feel quite cold." -msgstr "你的%s被风吹得冷飕飕的。" - -#: src/player.cpp -#, c-format -msgid "" -"The wind is very strong, you should find some more wind-resistant clothing " -"for your %s." -msgstr "风力很强,你应该为你的 %s 穿上点防风的衣物。" - -#: src/player.cpp -#, c-format -msgid "" -"Your clothing is not providing enough protection from the wind for your %s!" -msgstr "你的衣物无法为你的 %s 提供足够的防风保护!" - #: src/player.cpp msgid "You roll on the ground, trying to smother the fire!" msgstr "你在地上打滚,尝试扑灭火焰!" @@ -202314,50 +208420,6 @@ msgstr "你尝试扑灭身上的火焰!" msgid " attempts to put out the fire on them!" msgstr " 尝试扑灭身上的火焰!" -#: src/player.cpp -msgid "You set your mech's leg power to a loping fast walk." -msgstr "你将机甲的腿部电机功率设置为疾行挡。" - -#: src/player.cpp -msgid "You nudge your steed into a steady trot." -msgstr "你轻轻触碰你的马,使它平稳地小跑。" - -#: src/player.cpp -msgid "You start walking." -msgstr "你开始行走。" - -#: src/player.cpp -msgid "You set the power of your mech's leg servos to maximum." -msgstr "你将机甲的腿部电机功率设置为最高挡。" - -#: src/player.cpp -msgid "You spur your steed into a gallop." -msgstr "你策马疾驰。" - -#: src/player.cpp -msgid "You start running." -msgstr "你加快速度,开始奔跑。" - -#: src/player.cpp -msgid "Your steed is too tired to go faster." -msgstr "你的马太累了,跑不动了。" - -#: src/player.cpp -msgid "You're too tired to run." -msgstr "你力竭了,无法奔跑。" - -#: src/player.cpp -msgid "You reduce the power of your mech's leg servos to minimum." -msgstr "你将机甲的腿部电机功率设置为最低挡。" - -#: src/player.cpp -msgid "You slow your steed to a walk." -msgstr "你放慢坐骑速度,开始步行。" - -#: src/player.cpp -msgid "You start crouching." -msgstr "你开始蹲伏。" - #: src/player.cpp #, c-format msgid "Your ground sonar detected a %1$s to the %2$s!" @@ -202433,15 +208495,6 @@ msgstr "%1$s 被击中失去了平衡!" msgid "You lose your balance while being hit!" msgstr "你被击中失去了平衡!" -#: src/player.cpp -#, c-format -msgid "You were attacked by %s!" -msgstr "你被 %s 攻击!" - -#: src/player.cpp -msgid "You were hurt!" -msgstr "你受伤了!" - #: src/player.cpp msgid "A snake sprouts from your body!" msgstr "一条小蛇从你身体里游了出来!" @@ -202533,7 +208586,7 @@ msgid "You are slammed against %s!" msgstr "你撞上了 %s!" #: src/player.cpp -msgid "...but your shock absorbers negate the damage!" +msgid "…but your shock absorbers negate the damage!" msgstr "……但是减震器吸收了所有的伤害!" #: src/player.cpp @@ -202591,7 +208644,7 @@ msgid "You have starved to death." msgstr "你饿死了。" #: src/player.cpp -msgid "Food..." +msgid "Food…" msgstr "食物……" #: src/player.cpp @@ -202601,12 +208654,12 @@ msgstr "由于营养不良,你的身体正遭受着饥饿的折磨。" #: src/player.cpp msgid "" "Despite having something in your stomach, you still feel like you haven't " -"eaten in days..." -msgstr "尽管肚子里有东西,你仍然感觉自己好像几天没吃东西了。" +"eaten in days…" +msgstr "尽管肚子里有东西,你仍然感觉自己好像几天没吃东西了……" #: src/player.cpp -msgid "Your stomach feels so empty..." -msgstr "你的胃里什么也没有……" +msgid "Your stomach feels so empty…" +msgstr "你的胃空空如也……" #: src/player.cpp msgid "You are EMACIATED!" @@ -202625,15 +208678,15 @@ msgid "You have died of dehydration." msgstr "你死于严重脱水。" #: src/player.cpp -msgid "Even your eyes feel dry..." -msgstr "连你的眼睛都觉得快干瘪了……" +msgid "Even your eyes feel dry…" +msgstr "你现在连眼睛都是干的……" #: src/player.cpp msgid "You are THIRSTY!" msgstr "你真的好渴!" #: src/player.cpp -msgid "Your mouth feels so dry..." +msgid "Your mouth feels so dry…" msgstr "你感到嘴很干……" #: src/player.cpp @@ -202641,8 +208694,8 @@ msgid "Survivor sleep now." msgstr "你总算睡着了。" #: src/player.cpp -msgid "Anywhere would be a good place to sleep..." -msgstr "你极度困倦,觉得随便哪里都可以睡一觉。" +msgid "Anywhere would be a good place to sleep…" +msgstr "你极度困倦,觉得随便哪里都可以睡一觉……" #: src/player.cpp msgid "You feel like you haven't slept in days." @@ -202661,7 +208714,7 @@ msgid "*yawn* You should really get some sleep." msgstr "*哈欠* 你真的该睡觉了。" #: src/player.cpp -msgid "Your mind feels tired. It's been a while since you've slept well." +msgid "Your mind feels tired. It's been a while since you've slept well." msgstr "你的头脑感到疲倦。你已经很久没睡好觉了。" #: src/player.cpp @@ -202672,14 +208725,14 @@ msgstr "你的头脑会因为睡眠不足而感到有些迷糊,你的眼睛总 #: src/player.cpp msgid "" -"Your mind feels weary, and you dread every wakeful minute that passes. You " +"Your mind feels weary, and you dread every wakeful minute that passes. You " "crave sleep, and feel like you're about to collapse." msgstr "你的头脑感到疲倦,每醒一分钟都让你十分恐惧。你渴望睡觉,感觉自己快要崩溃了。" #: src/player.cpp msgid "" "You haven't slept decently for so long that your whole body is screaming for" -" mercy. It's a miracle that you're still awake, but it just feels like a " +" mercy. It's a miracle that you're still awake, but it just feels like a " "curse now." msgstr "你已经很久没睡过一个好觉了,全身上下都在发出求饶的呐喊。你现在还醒着简直是个奇迹,但现在感觉就像是个诅咒。" @@ -202721,14 +208774,6 @@ msgstr "你 %s 上的已消毒伤口已经完全治愈了。" msgid "There is not enough %s left to siphon it." msgstr "没有足够的 %s 可抽取。" -#: src/player.cpp -msgid "You cough heavily." -msgstr "你咳得很厉害。" - -#: src/player.cpp -msgid "a hacking cough." -msgstr "一阵干咳。" - #: src/player.cpp msgid "Your body is wracked with excruciating pain!" msgstr "你的身体被极度的疼痛折磨着!!" @@ -202774,11 +208819,6 @@ msgstr "你的 %s 让你感到疼痛!" msgid "Your %s aches." msgstr "你的 %s 有些疼。" -#: src/player.cpp -#, c-format -msgid "Your current health value is %d." -msgstr "你当前的健康值为 %d。" - #: src/player.cpp #, c-format msgid "Your %s HURTS!" @@ -202892,12 +208932,14 @@ msgstr "%1$s 说:\"%2$s\"" msgid "You increase %1$s to level %2$d." msgstr "你的 %1$s 技能等级提升至 %2$d 级。" +#. ~ %1$s: weapon name #: src/player.cpp -msgid "Your " -msgstr "你的" +#, c-format +msgid "Your %1$s" +msgstr "你的 %1$s" #: src/player.cpp -msgid "You suddenly feel so numb..." +msgid "You suddenly feel so numb…" msgstr "你突然感到麻木……" #: src/player.cpp @@ -202909,6 +208951,12 @@ msgstr "你开始不由自主地颤抖。" msgid "yourself shout, %s" msgstr "你大喊,%s" +#. ~ %1$s: weapon name +#: src/player.cpp +#, c-format +msgid "your %1$s" +msgstr "你的 %1$s" + #: src/player.cpp msgid "You're suddenly overcome with the urge to sleep and you pass out." msgstr "你突然被睡眠的冲动给压倒了,你昏了过去。" @@ -203009,7 +209057,7 @@ msgid "Suddenly, your eyes stop working!" msgstr "你突然什么都看不见了!" #: src/player.cpp -msgid "Your visual centers must be acting up..." +msgid "Your visual centers must be acting up…" msgstr "你的视觉中枢一定是出问题了……" #: src/player.cpp @@ -203086,8 +209134,8 @@ msgid "You shake uncontrollably." msgstr "你不由自主地颤抖起来。" #: src/player.cpp -msgid "You feel nauseous..." -msgstr "你感到一阵恶心……" +msgid "You feel nauseous…" +msgstr "你感到反胃……" #: src/player.cpp msgid "You black out!" @@ -203102,7 +209150,7 @@ msgid "You stumble and fall over!" msgstr "你失足跌倒!" #: src/player.cpp -msgid "You feel tired..." +msgid "You feel tired…" msgstr "你感到浑身乏力……" #: src/player.cpp @@ -203253,10 +209301,6 @@ msgstr "你丢下了空的 %s。" msgid "%c - %d empty %s" msgstr "%c - %d 个空的 %s" -#: src/player.cpp -msgid "You sink your roots into the soil." -msgstr "你把根系深深插入土壤之中。" - #: src/player.cpp src/veh_interact.cpp #, c-format msgid "Refill %s" @@ -203414,6 +209458,10 @@ msgstr "鹿角" msgid "Can't wield spilt liquids." msgstr "无法手持已洒出的液体" +#: src/player.cpp +msgid "You need at least one arm to even consider wielding something." +msgstr "你至少需要一只能用的手臂才能手持物品。" + #: src/player.cpp msgid "Something you are wearing hinders the use of both hands." msgstr "你穿着的装备阻碍了手的使用。" @@ -203506,20 +209554,43 @@ msgstr "%s 没有故障可以修复。" msgid "Mend which fault?" msgstr "修复什么故障?" -#: src/player.cpp src/veh_interact.cpp -msgid "Time required:\n" -msgstr "耗时:\n" +#: src/player.cpp +#, c-format +msgid "Turns into: %s\n" +msgstr "修复后变为:%s\n" #: src/player.cpp -msgid "Skills:\n" -msgstr "技能:\n" +#, c-format +msgid "Time required: %s\n" +msgstr "所需时间:%s\n" -#. ~ %1$s represents the internal color name which shouldn't be translated, -#. %2$s is skill name, and %3$i is skill level +#: src/player.cpp +msgid "Skills: none\n" +msgstr "所需技能:无\n" + +#: src/player.cpp +#, c-format +msgid "Skills: %s\n" +msgstr "所需技能:%s\n" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level +#: src/player.cpp +#, c-format +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "%1$s(%2$d/%3$d)" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level #: src/player.cpp #, c-format -msgid "> %2$s %3$i\n" -msgstr "> %2$s %3$i\n" +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "%1$s(%2$d/%3$d)" + +#: src/player.cpp +#, c-format +msgid "You are currently unable to mend the %s this way." +msgstr "你目前无法这样修复%s。" #: src/player.cpp msgid "You are already wearing that." @@ -203545,12 +209616,12 @@ msgstr " 穿上了 %s。" #: src/player.cpp #, c-format -msgid "Your %s are very encumbered! %s" +msgid "Your %s are very encumbered! %s" msgstr "你的 %s 非常累赘!%s" #: src/player.cpp #, c-format -msgid "Your %s is very encumbered! %s" +msgid "Your %s is very encumbered! %s" msgstr "你的 %s 非常累赘!%s" #: src/player.cpp @@ -203559,13 +209630,12 @@ msgstr "你什么都听不到了!" #: src/player.cpp #, c-format -msgid "This %s is too big to wear comfortably! Maybe it could be refitted..." +msgid "This %s is too big to wear comfortably! Maybe it could be refitted…" msgstr "%s 尺寸过大,穿起来很累赘!也许该裁剪一下……" #: src/player.cpp #, c-format -msgid "" -"This %s is too small to wear comfortably! Maybe it could be refitted..." +msgid "This %s is too small to wear comfortably! Maybe it could be refitted…" msgstr "%s 尺寸过小,穿起来很累赘!也许该裁剪一下……" #: src/player.cpp @@ -203689,18 +209759,6 @@ msgstr "你回收了 %i 单位的钚。" msgid "You can't remove partially depleted plutonium!" msgstr "你不能移除部分耗尽的钚!" -#: src/player.cpp -#, c-format -msgid "Your %s needs %d charge from some UPS." -msgid_plural "Your %s needs %d charges from some UPS." -msgstr[0] "你的 %s 需要一个至少有 %d 单位电量的UPS才能工作。" - -#: src/player.cpp -#, c-format -msgid "Your %s has %d charge but needs %d." -msgid_plural "Your %s has %d charges but needs %d." -msgstr[0] "你的 %s 有 %d 单位电量,但需要 %d 单位。" - #. ~ %1$s - gunmod, %2$s - gun. #: src/player.cpp #, c-format @@ -203741,8 +209799,8 @@ msgid "It's impossible to sleep in this wheeled pot!" msgstr "在这个带轮花盆里睡觉是不可能的!" #: src/player.cpp -msgid "The humans' furniture blocks your roots. You can't get comfortable." -msgstr "人类的家具阻挡了你的根部,你无法舒适自己。" +msgid "The humans' furniture blocks your roots. You can't get comfortable." +msgstr "人类的家具阻挡了你的根部,你感到不适。" #: src/player.cpp msgid "Your roots scrabble ineffectively at the unyielding surface." @@ -203755,7 +209813,7 @@ msgid "" msgstr "吾等的纤维与吾等脚下的地面融合在一起。吾等脖子上的菌褶开始在空气中播下孢子,正如吾等逐渐消失的意识。" #: src/player.cpp -msgid "These thick webs support your weight, and are strangely comfortable..." +msgid "These thick webs support your weight, and are strangely comfortable…" msgstr "这些厚蜘蛛网支撑着你的重量,裹在身上有很奇妙的舒适感……" #: src/player.cpp @@ -203777,11 +209835,11 @@ msgstr "也许一张网可以帮助你睡眠。" #: src/player.cpp msgid "" -"You lay beneath the waves' embrace, gazing up through the water's surface..." +"You lay beneath the waves' embrace, gazing up through the water's surface…" msgstr "你躺在波涛的怀抱之下,抬头凝视着水面上方……" #: src/player.cpp -msgid "You settle into the water and begin to drowse..." +msgid "You settle into the water and begin to drowse…" msgstr "你沉入水中,开始陷入沉睡……" #: src/player.cpp @@ -203835,76 +209893,6 @@ msgstr "你的催眠诱导CBM耗尽了能量。" msgid "Your soporific inducer starts back up." msgstr "你重新启动了催眠诱导CBM。" -#: src/player.cpp -msgid "You nestle your pile of clothes for warmth." -msgstr "你依偎在一堆衣服里来保暖。" - -#: src/player.cpp -msgid "You use your pile of clothes for warmth." -msgstr "你盖上一堆衣服来保暖。" - -#: src/player.cpp -#, c-format -msgid "You snuggle your %s to keep warm." -msgstr "你依偎着 %s 来保暖。" - -#: src/player.cpp -#, c-format -msgid "You use your %s to keep warm." -msgstr "你盖上 %s 来保暖。" - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Entered hibernation." -msgstr "进入冬眠。" - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Entered hibernation." -msgstr "进入冬眠。" - -#. ~ %s is armor name -#: src/player.cpp -#, c-format -msgctxt "memorial_male" -msgid "Worn %s was completely destroyed." -msgstr "磨损的 %s 被彻底摧毁了。" - -#: src/player.cpp -#, c-format -msgctxt "memorial_female" -msgid "Worn %s was completely destroyed." -msgstr "磨损的 %s 被彻底摧毁了。" - -#: src/player.cpp -#, c-format -msgid "Your %s is completely destroyed!" -msgstr "你的 %s 被彻底摧毁了!" - -#: src/player.cpp -#, c-format -msgid "'s %s is completely destroyed!" -msgstr " 的 %s 完全损坏了!" - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s further!" -msgstr "你的 %1$s 被进一步破坏成 %2$s 了!" - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s!" -msgstr "你的 %1$s 被 %2$s 了!" - -#: src/player.cpp src/veh_interact.cpp -msgid "destroyed" -msgstr "毁坏" - -#: src/player.cpp -#, c-format -msgid "This task is too simple to train your %s beyond %d." -msgstr "这对你来说轻而易举,无法训练 %s 技能超过 %d 级。" - #: src/player.cpp #, c-format msgid "Your skill in %s has increased to %d!" @@ -203916,8 +209904,9 @@ msgid "You feel that %s tasks of this level are becoming trivial." msgstr "你感到这个级别的 %s 工作实在是太简单了。" #: src/player.cpp -msgid "You resume your task." -msgstr "你继续之前的工作。" +#, c-format +msgid "This task is too simple to train your %s beyond %d." +msgstr "这对你来说轻而易举,无法训练 %s 技能超过 %d 级。" #: src/player.cpp msgid "Wield what?" @@ -203929,7 +209918,7 @@ msgstr "时间好像慢了下来,你本能地闪了过去!" #: src/player.cpp #, c-format -msgid "%s dodges... so fast!" +msgid "%s dodges… so fast!" msgstr "%s 闪开了……好快!" #: src/player.cpp @@ -203941,79 +209930,6 @@ msgstr "你想要躲闪,但却没有足够施展的空间!" msgid "%s tries to dodge but there's no room!" msgstr "%s 想要躲闪,但却没有腾挪的空间!" -#: src/player.cpp -msgid "You start hauling items along the ground." -msgstr "你开始搬运地面上的物品。" - -#: src/player.cpp -msgid "Your hands are not free, which makes hauling slower." -msgstr "你的手上拿有其它物品,这将使搬运物品更慢。" - -#: src/player.cpp -msgid "You stop hauling items." -msgstr "你停止搬运地面上的物品。" - -#: src/player.cpp -msgid "Your body strains under the weight!" -msgstr "你的身体由于负重过高而感到疼痛!" - -#: src/player.cpp -#, c-format -msgid "You remove the %s's harness." -msgstr "你取下了 %s 的缰绳。" - -#: src/player.cpp -#, c-format -msgid "You climb on the %s." -msgstr "你爬上 %s。" - -#: src/player.cpp -#, c-format -msgid "You hear your %s whir to life." -msgstr "你听到 %s 轰的一声开启了。" - -#: src/player.cpp -msgid "You are ejected from your mech!" -msgstr "你被弹出了你的机甲!" - -#: src/player.cpp -msgid " is ejected from their mech!" -msgstr " 被弹出了机甲!" - -#: src/player.cpp -msgid "You fall off your mount!" -msgstr "你从坐骑背上摔了下来!" - -#: src/player.cpp -msgid " falls off their mount!" -msgstr " 从坐骑背上摔了下来!" - -#: src/player.cpp src/trapfunc.cpp -msgid "You hurt yourself!" -msgstr "你伤到了你自己!" - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Fell off a mount." -msgstr "从坐骑背上坠落。" - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Fell off a mount." -msgstr "从坐骑背上坠落。" - -#: src/player.cpp -msgid "Dismount where?" -msgstr "在哪里下马?" - -#: src/player.cpp -msgid "You cannot dismount there!" -msgstr "你不能在那里下马!" - -#: src/player.cpp -msgid "Wielding: " -msgstr "手持:" - #: src/player.cpp #, c-format msgid "You (%s)" @@ -204069,45 +209985,22 @@ msgstr "空腹" msgid "Pain " msgstr "疼痛" +#. ~ skill_name current_skill_level -> next_skill_level (% to next level) #: src/player_activity.cpp #, c-format -msgid "Crafting: %s" -msgstr "制作中:%s" - -#: src/player_activity.cpp -#, c-format -msgid "Burrowing: %d%%" -msgstr "打洞中:%d%%" - -#: src/player_activity.cpp -#, c-format -msgid "Sawing: %d%%" -msgstr "锯切中:%d%%" - -#: src/player_activity.cpp -#, c-format -msgid "Jackhammering: %d%%" -msgstr "钻洞中:%d%%" - -#: src/player_activity.cpp -#, c-format -msgid "Digging: %d%%" -msgstr "挖掘中:%d%%" +msgctxt "reading progress" +msgid "%s %d -> %d (%d%%)" +msgstr "%s %d -> %d(%d%%)" #: src/player_activity.cpp #, c-format -msgid "Disassembling: %d%%" -msgstr "拆解中:%d%%" +msgid "%s…" +msgstr "%s……" #: src/player_activity.cpp #, c-format -msgid "Shoveling: %d%%" -msgstr "铲土中:%d%%" - -#: src/player_activity.cpp -#, c-format -msgid "Chopping: %d%%" -msgstr "劈砍中:%d%%" +msgid "%s: %s" +msgstr "%s:%s" #: src/player_activity.cpp msgid "You pause for a moment to catch your breath." @@ -204306,47 +210199,57 @@ msgstr "当前速度:" #: src/player_display.cpp #, c-format -msgid "Overburdened -%s%d%%" -msgstr "负重过高 -%s%d%%" +msgctxt "speed penalty" +msgid "Overburdened -%2d%%" +msgstr "负重过高 -%2d%%" #: src/player_display.cpp #, c-format -msgid "Pain -%s%d%%" -msgstr "疼痛 -%s%d%%" +msgctxt "speed penalty" +msgid "Pain -%2d%%" +msgstr "疼痛 -%2d%%" #: src/player_display.cpp #, c-format -msgid "Thirst -%s%d%%" -msgstr "口渴 -%s%d%%" +msgctxt "speed penalty" +msgid "Thirst -%2d%%" +msgstr "口渴 -%2d%%" #: src/player_display.cpp msgid "Underfed" msgstr "营养不良" +#. ~ %s: Starving/Underfed (already left-justified), %2d: speed penalty #: src/player_display.cpp #, c-format -msgid "%-20s-%s%d%%" -msgstr "%-20s-%s%d%%" +msgctxt "speed penalty" +msgid "%s-%2d%%" +msgstr "%s-%2d%%" #: src/player_display.cpp #, c-format -msgid "Out of Sunlight -%s%d%%" -msgstr "日光暴晒 -%s%d%%" +msgctxt "speed penalty" +msgid "Out of Sunlight -%2d%%" +msgstr "缺乏日光 -%2d%%" +#. ~ %s: sign of bonus/penalty, %2d: speed bonus/penalty #: src/player_display.cpp #, c-format -msgid "Cold-Blooded %s%s%d%%" -msgstr "冷血动物 %s%s%d%%" +msgctxt "speed modifier" +msgid "Cold-Blooded %s%2d%%" +msgstr "冷血动物 %s%2d%%" #: src/player_display.cpp #, c-format -msgid "Quick +%s%d%%" -msgstr "迅捷 +%s%d%%" +msgctxt "speed bonus" +msgid "Quick +%2d%%" +msgstr "迅速 +%2d%%" #: src/player_display.cpp #, c-format -msgid "Bionic Speed +%s%d%%" -msgstr "生化插件加成 +%s%d%%" +msgctxt "speed bonus" +msgid "Bionic Speed +%2d%%" +msgstr "生化插件加成 +%2d%%" #: src/player_display.cpp #, c-format @@ -204379,18 +210282,18 @@ msgstr "严重营养不良" #: src/player_display.cpp msgid "" -"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" -" \n" +"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" +"\n" msgstr "" -"你的身体已经因为严重营养不良而变得十分虚弱。你再不开始经常进食,就会死亡!\n" +"你的身体已经因为严重营养不良而变得十分虚弱。你再不开始规律进食,就会死亡!\n" "\n" #: src/player_display.cpp msgid "" -"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" -" \n" +"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" +"\n" msgstr "" -"你的身体已经因为营养不良而变得虚弱。只有时间和经常进食能够让你恢复。\n" +"你的身体已经因为营养不良而变得虚弱。只有时间和规律饮食能够让你恢复。\n" "\n" #: src/player_display.cpp src/veh_interact.cpp @@ -204491,30 +210394,30 @@ msgid " vomits thousands of live spores!" msgstr " 吐出了成千上万的孢子!" #: src/player_hardcoded_effects.cpp -msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" -msgstr "你的断臂上的血肉肿起来,真菌的茎杆从中破体而出!" +msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" +msgstr "你的断臂肿胀起来,真菌茎杆破体而出!" #: src/player_hardcoded_effects.cpp -msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" -msgstr " 的断臂肿胀起来。真菌体破体而出!" +msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" +msgstr " 的断臂肿胀起来。真菌茎秆破体而出!" #: src/player_hardcoded_effects.cpp msgid "" -"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " +"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " "through!" -msgstr "你的断臂和没断的手臂上的血肉肿起来,真菌的茎杆从中窜出来!" +msgstr "你的断臂和没断的手臂上的血肉肿起来,真菌茎杆破体而出!" #: src/player_hardcoded_effects.cpp -msgid "'s arms bulge. Fungus stalks burst out of the bulges!" -msgstr " 的手肿胀起来。真菌体破体而出!" +msgid "'s arms bulge. Fungus stalks burst out of the bulges!" +msgstr " 的手臂肿胀起来。真菌茎秆破体而出!" #: src/player_hardcoded_effects.cpp -msgid "Your hands bulge. Fungus stalks burst through the bulge!" -msgstr "你的手肿起来,真菌的茎杆从中窜出来!" +msgid "Your hands bulge. Fungus stalks burst through the bulge!" +msgstr "你的手臂肿胀起来,真菌茎杆破体而出!" #: src/player_hardcoded_effects.cpp -msgid "'s hands bulge. Fungus stalks burst through the bulge!" -msgstr " 的手肿胀起来。真菌杆破体而出!" +msgid "'s hands bulge. Fungus stalks burst through the bulge!" +msgstr " 的手臂肿胀起来。真菌茎秆破体而出!" #: src/player_hardcoded_effects.cpp msgid "You feel nauseous!" @@ -204561,7 +210464,7 @@ msgid "\"Oh God, what's happening?\"" msgstr "哦,天啊!发生什么事了?" #: src/player_hardcoded_effects.cpp -msgid "\"Of course... it's all fractals!\"" +msgid "\"Of course… it's all fractals!\"" msgstr "\"当然……全是花花绿绿的!\"" #: src/player_hardcoded_effects.cpp @@ -204597,7 +210500,7 @@ msgid "You quiver from the cold." msgstr "你冷的发抖。" #: src/player_hardcoded_effects.cpp -msgid "Your torso is freezing cold. You should put on a few more layers." +msgid "Your torso is freezing cold. You should put on a few more layers." msgstr "你的躯干冻僵了,你需要在身上多穿点。" #: src/player_hardcoded_effects.cpp @@ -204797,8 +210700,8 @@ msgid "You shudder suddenly." msgstr "你突然颤抖。" #: src/player_hardcoded_effects.cpp -msgid "Your vision is filled with bright lights..." -msgstr "你的眼睛被强光掩盖,眼前白晃晃的……" +msgid "Your vision is filled with bright lights…" +msgstr "你的视野内充满了亮光……" #: src/player_hardcoded_effects.cpp msgid "You're suddenly covered in ectoplasm." @@ -204972,6 +210875,47 @@ msgstr "你的闹钟响了。" msgid "Your alarm went off." msgstr "你的闹钟响了。" +#: src/player_hardcoded_effects.cpp +msgid "You lose control of your body as it begins to convulse!" +msgstr "你的身体突然开始抽搐,你失去了对身体的控制!" + +#: src/player_hardcoded_effects.cpp +msgid "You lose conciousness!" +msgstr "你失去了意识!" + +#: src/player_hardcoded_effects.cpp +msgid "arm" +msgstr "手臂" + +#: src/player_hardcoded_effects.cpp +msgid "hand" +msgstr "手掌" + +#: src/player_hardcoded_effects.cpp +msgid "leg" +msgstr "腿部" + +#: src/player_hardcoded_effects.cpp +#, c-format +msgid "Your %s suddenly jerks in an unexpected direction!" +msgstr "你的 %s 突然不由自主的抽搐!" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep hold of your weapon." +msgstr "不过,你设法握住了手中的武器。" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep your footing." +msgstr "不过,你还是能站稳脚跟。" + +#: src/player_hardcoded_effects.cpp +msgid "You suddenly lose all muscle tone, and can't support your own weight!" +msgstr "你突然失去了所有的肌肉张力,无法撑起自己的体重!" + +#: src/player_hardcoded_effects.cpp +msgid "You have a splitting headache." +msgstr "你头痛得要裂了。" + #: src/ranged.cpp #, c-format msgid "Your %s misfires with a muffled click!" @@ -205122,7 +211066,7 @@ msgstr "[%c] 瞄准自己; [%c] 切换目标锁定" #: src/ranged.cpp #, c-format -msgid "[%c] to steady your aim. (10 moves)" +msgid "[%c] to steady your aim. (10 moves)" msgstr "[%c] 继续瞄准目标(10 行动点)。" #: src/ranged.cpp @@ -205291,7 +211235,7 @@ msgid "Effective Spell Radius: %s%s" msgstr "法术有效半径:%s %s" #: src/ranged.cpp -msgid " WARNING! IN RANGE" +msgid " WARNING! IN RANGE" msgstr "警告!在射程内" #: src/ranged.cpp @@ -205393,10 +211337,6 @@ msgstr "咔嘣!" msgid "none" msgstr "无" -#: src/recipe.cpp -msgid "none" -msgstr "无" - #: src/recipe.cpp #, c-format msgid "%s%% at >%s units" @@ -205418,6 +211358,14 @@ msgid "%1$s (%2$d charge)" msgid_plural "%1$s (%2$d charges)" msgstr[0] "%1$s(%2$d 单位)" +#. ~ %1$s: item name, %2$d: charge requirement +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%1$s (%2$d of infinite)" +msgid_plural "%1$s (%2$d of infinite)" +msgstr[0] "%1$s(%2$d/无限)" + #. ~ %1$s: item name, %2$d: charge requirement, %3%d: available charges #: src/requirements.cpp #, c-format @@ -205434,6 +211382,14 @@ msgid "%1$s (%2$d)" msgid_plural "%1$s (%2$d)" msgstr[0] "%1$s(%2$d)" +#. ~ %1$s: item name, %2$d: required count +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%2$d %1$s of infinite" +msgid_plural "%2$d %1$s of infinite" +msgstr[0] "%1$s(%2$d/无限)" + #. ~ %1$s: item name, %2$d: required count, %3%d: available count #: src/requirements.cpp #, c-format @@ -205517,7 +211473,7 @@ msgid "Safe Mode manager currently inactive." msgstr "未开启安全模式管理。" #: src/safemode_ui.cpp -msgid "Default rules are used. Add a rule to activate." +msgid "Default rules are used. Add a rule to activate." msgstr "正使用默认规则。添加新规则来启用管理器。" #: src/safemode_ui.cpp @@ -205530,7 +211486,7 @@ msgstr "白名单" #: src/safemode_ui.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" +"* is used as a Wildcard. A few Examples:\n" "\n" "human matches every NPC\n" "zombie matches the monster name exactly\n" @@ -205539,14 +211495,14 @@ msgid "" "*cid*zo*ie multiple * are allowed\n" "AcI*zO*iE case insensitive search" msgstr "" -"字符 * 是通配符。以下作为示例:\n" +"字符 * 是通配符。以下为示例:\n" "\n" -"human 匹配所有NPC\n" -"zombie 精确匹配怪物名称\n" -"acidic zo* 匹配任何以'acidic zo'开头的怪物\n" -"*mbie 匹配任何以'mbie'结尾的怪物\n" -"*cid*zo*ie 允许多个通配符\n" -"AcI*zO*iE 大小写不敏感" +"human (英文)匹配所有NPC\n" +"丧尸 精确匹配怪物名称\n" +"酸液丧* 匹配任何以\"酸液丧\"开头的怪物\n" +"*尸 匹配任何以\"尸\"结尾的怪物\n" +"*液*尸 允许多个通配符\n" +"nR-v*-M*者 大小写不敏感" #: src/safemode_ui.cpp msgid "Safe Mode Rule:" @@ -205561,8 +211517,8 @@ msgid "Option: " msgstr "选项:" #: src/safemode_ui.cpp -msgid "No monsters loaded. Please start a game first." -msgstr "无法加载怪物。请先开始游戏。" +msgid "No monsters loaded. Please start a game first." +msgstr "未加载怪物。请先开始游戏。" #: src/safemode_ui.cpp #, c-format @@ -205575,7 +211531,7 @@ msgid "Lists monsters regardless of their attitude." msgstr "列出所有敌对/友好怪物。" #: src/safemode_ui.cpp -msgid "Safe Mode is not enabled in the options. Enable it now?" +msgid "Safe Mode is not enabled in the options. Enable it now?" msgstr "安全模式没有在选项中打开。现在打开?" #: src/safemode_ui.cpp @@ -205617,11 +211573,6 @@ msgstr "纪录" msgid "KILLS" msgstr "击杀数" -#: src/sdltiles.cpp -msgid "" -"Sets which video display will be used to show the game. Requires restart." -msgstr "设置游戏使用的显示器。需要重新启动。" - #: src/skill.cpp msgid "The zen-most skill there is." msgstr "这是最有禅意的技能。" @@ -205678,6 +211629,10 @@ msgstr "无法找到有效的起始地点,请到官方论坛提交这个错误 msgid "d: delete history" msgstr "d:删除历史记录" +#: src/teleport.cpp +msgid "You feel a strange, inwards force." +msgstr "你感到一阵奇怪的向内的力。" + #: src/teleport.cpp msgid "You cannot teleport safely." msgstr "你无法安全地传送。" @@ -205687,7 +211642,11 @@ msgid "You die after teleporting into a solid." msgstr "你死于传送到固体内部。" #: src/teleport.cpp -msgid "You exlpode into thousands of fragments." +msgid "You feel disjointed." +msgstr "你感到一阵混乱。" + +#: src/teleport.cpp +msgid "You explode into thousands of fragments." msgstr "你爆炸成数以千计的碎片。" #: src/teleport.cpp @@ -206013,13 +211972,13 @@ msgid "vvrrrRRMM*POP!*" msgstr "咕嘟咕嘟呜呜呜~~*砰!*" #: src/trapfunc.cpp -msgid "The air shimmers around you..." -msgstr "你的周围空气稀薄……" +msgid "The air shimmers around you…" +msgstr "你周围的空气发出微弱的光芒……" #: src/trapfunc.cpp #, c-format -msgid "The air shimmers around %s..." -msgstr "%s 周围的空气稀薄……" +msgid "The air shimmers around %s…" +msgstr "%s 周围的空气发出微弱的光芒……" #: src/trapfunc.cpp msgid "You step in a puddle of thick goo." @@ -206034,7 +211993,7 @@ msgid "The acidic goo eats away at your feet." msgstr "酸液在腐蚀你的双脚。" #: src/trapfunc.cpp -msgid "BEEPBOOP! Please remove non-organic object." +msgid "BEEPBOOP! Please remove non-organic object." msgstr "哔嘟!请移除非有机物物体。" #: src/trapfunc.cpp @@ -206051,8 +212010,8 @@ msgstr "地板上发出了电弧, 全身触电了!" #: src/trapfunc.cpp #, c-format -msgid "Electrical beams emit from the floor and slice your %s!" -msgstr "地板上发出了电弧,你的 %s 触电了!" +msgid "Electrical beams emit from the floor and slice the %s!" +msgstr "地板上发出了电弧,%s 触电了!" #: src/trapfunc.cpp msgid " falls in a pit!" @@ -206135,7 +212094,7 @@ msgid "Your %s is burned by the lava!" msgstr "你的 %s 被熔岩烧着了!" #: src/trapfunc.cpp -msgid "You fail to attach it..." +msgid "You fail to attach it…" msgstr "你什么也没够着……" #: src/trapfunc.cpp @@ -206271,8 +212230,21 @@ msgid "Set turret targeting" msgstr "设置炮塔瞄准" #: src/turret.cpp -msgid "Can't aim turrets: all turrets are offline" -msgstr "无法瞄准炮塔:炮塔全部离线" +msgid "auto -> manual" +msgstr "自动 -> 手动" + +#: src/turret.cpp +msgid "manual -> auto" +msgstr "手动 -> 自动" + +#: src/turret.cpp +msgid "manual (turret control unit required for auto mode)" +msgstr "手动(需要炮塔控制模块来开启自动模式)" + +#: src/turret.cpp +msgid "" +"Can't aim turrets: all turrets are offline or set to manual targeting mode." +msgstr "无法瞄准炮塔:所有炮塔均离线或处于手动瞄准模式。" #: src/turret.cpp msgid "Aim which turret?" @@ -206314,14 +212286,18 @@ msgstr "John Smith" #: src/tutorial.cpp msgid "" "You're saving a tutorial - the tutorial world lacks certain features of " -"normal worlds. Weird things might happen when you load this save. You have " -"been warned." +"normal worlds. Weird things might happen when you load this save. You have" +" been warned." msgstr "你在教学虚拟世界中存档了!- 教学世界不是真实世界,缺少许多关键特性。读取这个存档会发生不可测的问题。该怎么做你明白了吗?" #: src/veh_interact.cpp msgid "Select part" msgstr "选择部件" +#: src/veh_interact.cpp +msgid "Time required:\n" +msgstr "耗时:\n" + #: src/veh_interact.cpp msgid "Skills required:\n" msgstr "所需技能:\n" @@ -206494,11 +212470,11 @@ msgid "Search for part" msgstr "筛选部件" #: src/veh_interact.cpp -msgid "Your morale is too low to construct..." +msgid "Your morale is too low to construct…" msgstr "你心情值过低,无法建造……" #: src/veh_interact.cpp -msgid "It's too dark to see what you are doing..." +msgid "It's too dark to see what you are doing…" msgstr "光线不足,你无法继续……" #: src/veh_interact.cpp @@ -206506,7 +212482,7 @@ msgid "You can't install parts while driving." msgstr "你在驾驶载具时无法安装部件。" #: src/veh_interact.cpp -msgid "Installing this part will make the vehicle unfoldable. Continue?" +msgid "Installing this part will make the vehicle unfoldable. Continue?" msgstr "安装此部件将使车辆不可折叠。是否继续?" #: src/veh_interact.cpp @@ -206514,7 +212490,7 @@ msgid "Choose shape:" msgstr "选择外形:" #: src/veh_interact.cpp -msgid "Your morale is too low to repair..." +msgid "Your morale is too low to repair…" msgstr "你心情值过低,无法修理……" #: src/veh_interact.cpp @@ -206534,7 +212510,7 @@ msgid "This part cannot be repaired" msgstr "这个部件无法被修理" #: src/veh_interact.cpp -msgid "Your morale is too low to mend..." +msgid "Your morale is too low to mend…" msgstr "你心情值过低,无法修复……" #: src/veh_interact.cpp @@ -206709,7 +212685,7 @@ msgid "You can't siphon from a moving vehicle." msgstr "你无法从正在移动的载具中抽油。" #: src/veh_interact.cpp -msgid "Select part to siphon: " +msgid "Select part to siphon:" msgstr "选择要抽取的水箱:" #: src/veh_interact.cpp @@ -207183,6 +213159,11 @@ msgstr "你正在加工的载具部件被毁掉了!" msgid "Lost connection with the vehicle due to distance!" msgstr "超出距离,失去了对载具的连接!" +#: src/vehicle.cpp +#, c-format +msgid "the %s emitting a beep and saying \"Obstacle detected!\"" +msgstr "%s 发出嘀的一声,\"检测到障碍物!\"" + #. ~ backfire sound #: src/vehicle.cpp #, c-format @@ -207244,7 +213225,7 @@ msgstr "你不能把 %1$s 装在托架上" #: src/vehicle.cpp #, c-format msgid "" -"A part of the vehicle ('%s') has no containing vehicle's name. It will be " +"A part of the vehicle ('%s') has no containing vehicle's name. It will be " "detached from the %s vehicle." msgstr "车辆的一部分('%s')不包含车辆名称。它将与%s车辆分离。" @@ -207350,7 +213331,7 @@ msgid "The %1$s's %2$s is destroyed!" msgstr "%1$s 的 %2$s 被摧毀了!" #: src/vehicle_display.cpp -msgid "More parts here..." +msgid "More parts here…" msgstr "更多部件……" #: src/vehicle_display.cpp @@ -207745,7 +213726,7 @@ msgstr "铣挖机" #: src/vehicle_use.cpp msgctxt "electronics menu option" -msgid "rockhead" +msgid "roadheader" msgstr "掘进机" #: src/vehicle_use.cpp @@ -207824,7 +213805,7 @@ msgid "You could use a screwdriver to hotwire it." msgstr "你应该用螺丝刀来短接它。" #: src/vehicle_use.cpp -msgid "You destroy the controls..." +msgid "You destroy the controls…" msgstr "你摧毁了控制器……" #: src/vehicle_use.cpp @@ -207847,6 +213828,28 @@ msgstr "删除车辆位置" msgid "Remember vehicle position" msgstr "记录车辆位置" +#: src/vehicle_use.cpp +msgid "Choose action for the autopilot" +msgstr "选择自动驾驶仪模式" + +#: src/vehicle_use.cpp +msgid "Patrol…" +msgstr "巡逻…" + +#: src/vehicle_use.cpp +msgid "" +"Program the autopilot to patrol a nearby vehicle patrol zone. If no zones " +"are nearby, you will be prompted to create one." +msgstr "编程使自动驾驶仪控制载具在附近的载具巡逻区开始巡逻。如果附近没有巡逻区,游戏将会提示你创建。" + +#: src/vehicle_use.cpp +msgid "Stop…" +msgstr "停止…" + +#: src/vehicle_use.cpp +msgid "Stop all autopilot related activities." +msgstr "停止与自动驾驶仪相关的行动。" + #: src/vehicle_use.cpp msgid "You stop keeping track of the vehicle position." msgstr "你不再记录车辆的位置。" @@ -207891,14 +213894,14 @@ msgstr "关闭引擎" msgid "Turn on the engine" msgstr "启动引擎" -#: src/vehicle_use.cpp -msgid "You turn the engine off." -msgstr "你关闭引擎。" - #: src/vehicle_use.cpp msgid "Honk horn" msgstr "鸣响喇叭" +#: src/vehicle_use.cpp +msgid "Control autopilot" +msgstr "控制自动驾驶仪" + #: src/vehicle_use.cpp msgid "Disable cruise control" msgstr "关闭定速巡航" @@ -208023,6 +214026,10 @@ msgstr "%s 发出哐当和嘎吱响声" msgid "the %s starting" msgstr "%s启动" +#: src/vehicle_use.cpp +msgid "You turn the engine off." +msgstr "你关闭引擎。" + #: src/vehicle_use.cpp msgid "You honk the horn!" msgstr "你按下喇叭!" @@ -208043,8 +214050,8 @@ msgstr "你按下喇叭,但什么都没有发生。" #: src/vehicle_use.cpp #, c-format -msgid "Move how many? [Have %d] (0 to cancel)" -msgstr "要移动多少? [有 %d ](0 取消)" +msgid "Move how many? [Have %d] (0 to cancel)" +msgstr "要移动多少?[目前有 %d](输入 0 取消)" #: src/vehicle_use.cpp msgid "a simple melody blaring from the loudspeakers." @@ -208120,6 +214127,10 @@ msgstr "你需要从高压灭菌釜中移除所有肮脏的物品后才能启动 msgid "Only CBMs can be sterilized in an autoclave." msgstr "高压灭菌釜只能用于CBM的消毒。" +#: src/vehicle_use.cpp +msgid "You should put your CBMs in autoclave pouches to keep them sterile." +msgstr "你需要将这些 CBM 放进灭菌袋中来保持无菌状态。" + #: src/vehicle_use.cpp msgid "You turn the autoclave on and it starts its cycle." msgstr "你启动了高压灭菌釜,高压灭菌釜开始工作。" @@ -208233,6 +214244,15 @@ msgstr "你把 %1$s 套在 %2$s 上。" msgid "You untie your %s." msgstr "你解开了 %s 上的缰绳。" +#: src/vehicle_use.cpp +msgid "Load a vehicle on the rack" +msgstr "将载具装上托架" + +#: src/vehicle_use.cpp +#, c-format +msgid "Remove the %s from the rack" +msgstr "将 %s 从托架上取下" + #: src/vehicle_use.cpp msgid "Examine vehicle" msgstr "检查载具" @@ -208353,8 +214373,8 @@ msgid "Your power armor protects you from the acidic drizzle." msgstr "你的动力装甲保护你免受酸雨的伤害。" #: src/weather.cpp -msgid "The acid rain stings, but is mostly harmless for now..." -msgstr "酸雨让你感到皮肤刺痛,但目前基本还算对你没有伤害。" +msgid "The acid rain stings, but is mostly harmless for now…" +msgstr "酸雨让你感到皮肤刺痛,但目前还算对你没有伤害……" #: src/weather.cpp msgid "Your umbrella protects you from the acid rain." @@ -208439,7 +214459,7 @@ msgstr "%s 夜" #: src/weather.cpp #, c-format -msgid "%s... %s. Highs of %s. Lows of %s. " +msgid "%s… %s. Highs of %s. Lows of %s. " msgstr "%s……%s。最高 %s。最低 %s。" #: src/weather.cpp @@ -208693,7 +214713,7 @@ msgstr "多少?" #: src/wish.cpp #, c-format -msgid "Wish granted. Wish for more or hit [%s] to quit." +msgid "Wish granted. Wish for more or hit [%s] to quit." msgstr "愿望实现。继续许愿或者按[%s]键退出。" #: src/wish.cpp @@ -208701,8 +214721,8 @@ msgid "Select a skill to modify" msgstr "选择要修改的技能:" #: src/wish.cpp -msgid "Modify all skills..." -msgstr "编辑所有技能" +msgid "Modify all skills…" +msgstr "编辑所有技能…" #: src/wish.cpp #, c-format @@ -208711,8 +214731,8 @@ msgstr "@ %d:%s " #: src/wish.cpp #, c-format -msgid "Set '%s' to.." -msgstr "设置 '%s' 为……" +msgid "Set '%s' to…" +msgstr "设置 \"%s\" 为……" #: src/wish.cpp msgid " (current)" @@ -208810,8 +214830,8 @@ msgstr "模组载入顺序" #: src/worldfactory.cpp #, c-format -msgid "... %s = View full description " -msgstr "… %s = 显示完整说明" +msgid "…%s = View full description " +msgstr "…%s = 显示完整说明" #: src/worldfactory.cpp msgid "--NO AVAILABLE MODS--" @@ -208844,15 +214864,15 @@ msgid "________NO NAME ENTERED!________" msgstr "_______未输入名字!_______" #: src/worldfactory.cpp -msgid "Are you SURE you're finished? World name will be randomly generated." -msgstr "真的完成设定吗?世界名称将随机生成。" +msgid "Are you SURE you're finished? World name will be randomly generated." +msgstr "确定完成设定了吗?世界名称将随机生成。" #: src/worldfactory.cpp #, c-format msgid "" -"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " +"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " "%s/%s = Prev/Next Tab." -msgstr "%s 将模组加载顺序设为默认。%s 控制菜单。 %s/%s 上/下一选项。%s/%s 上/下一标签页" +msgstr "%s 将模组加载顺序设为默认。%s 控制菜单。%s/%s 上/下一选项。%s/%s 上/下一标签页。" #: src/worldfactory.cpp msgid "World Mods" diff --git a/lang/po/zh_TW.po b/lang/po/zh_TW.po index 14913a611f0d5..aed9f42198349 100644 --- a/lang/po/zh_TW.po +++ b/lang/po/zh_TW.po @@ -18,19 +18,20 @@ # 林楷翌 , 2019 # Brett Dong , 2019 # Jeremy Wu , 2019 +# kiddragon Chung , 2019 # xap, 2019 # Hsinyu Chan, 2019 # Laughing Man, 2019 -# kiddragon Chung , 2019 # Hao JK , 2019 +# Julian Lau , 2019 # msgid "" msgstr "" "Project-Id-Version: cataclysm-dda 0.D\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2019-10-06 00:47+0800\n" +"POT-Creation-Date: 2019-11-09 00:53+0800\n" "PO-Revision-Date: 2018-04-26 14:47+0000\n" -"Last-Translator: Hao JK , 2019\n" +"Last-Translator: Julian Lau , 2019\n" "Language-Team: Chinese (Taiwan) (https://www.transifex.com/cataclysm-dda-translators/teams/2217/zh_TW/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -236,7 +237,7 @@ msgstr "一把玻璃彈珠, 可以用在投石帶或彈弓上。" #: lang/json/AMMO_from_json.py msgid "bearings" msgid_plural "bearings" -msgstr[0] "滾珠軸承" +msgstr[0] "軸承滾珠" #. ~ Description for bearings #: lang/json/AMMO_from_json.py @@ -664,9 +665,8 @@ msgstr "自製鐵釘火箭" msgid "" "A hand-built rocket, consisting of a spike welded onto a pipe that was " "filled with improvised rocket fuel. Horribly inaccurate, as can be expected" -" of this grade of weapon, but packs a fierce punch... if it hits." -msgstr "" -"這是一枚手工打造的火箭, 將一枚大鐵釘焊接在一根裝滿粗製火箭燃料的鋼管上。這種等級的武器當然靠北不準, 但是一旦擊中目標, 威力還是不可小覷。" +" of this grade of weapon, but packs a fierce punch… if it hits." +msgstr "這是一枚手工打造的火箭,將一枚大鐵釘焊接在一根裝滿粗製火箭燃料的鋼管上。這種等級的武器當然靠北不準,但是一旦擊中目標,威力還是不可小覷。" #: lang/json/AMMO_from_json.py msgid "explosive home-made rocket" @@ -711,9 +711,9 @@ msgstr "未完成的碳化鈣" #. ~ Description for unfinished calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"The incomplete process of converting coal and lime into calcium carbide. " -"Useless in this state/" -msgstr "將煤和石灰轉化為碳化鈣的未完成過程。此敘述無用處。" +"The incomplete process of converting coal and lime into calcium carbide. " +"Useless in this state." +msgstr "將煤和石灰轉化為碳化鈣(電石)的未完成過程。在這種狀態下沒用。" #: lang/json/AMMO_from_json.py msgid "chain link" @@ -815,10 +815,10 @@ msgstr "木製寬箭頭箭" #. ~ Description for wooden broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched wooden arrow shaft with a bladed tip. Useful for maximising " +"A fletched wooden arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a decent chance of remaining intact once " "fired." -msgstr "帶有寬大尖端的木箭。用於最大化傷害在目標上。射擊後只有低機率可以被回收並再次使用。" +msgstr "一根附有箭羽的木製箭矢,箭頭呈扁片狀。適用於對目標造成的傷害最大化。射出後保持完好的機率頗高。" #: lang/json/AMMO_from_json.py msgid "simple wooden arrow" @@ -872,7 +872,7 @@ msgstr "寬箭頭鋁箭" #. ~ Description for aluminum broadhead arrow #: lang/json/AMMO_from_json.py msgid "" -"A fletched aluminum arrow shaft with a bladed tip. Useful for maximising " +"A fletched aluminum arrow shaft with a bladed tip. Useful for maximizing " "damage to the target. Stands a good chance of remaining intact once fired." msgstr "附有箭羽的鋁製箭桿,箭頭呈扁片狀。適用於對目標造成的傷害最大化。射出後保持完好的機率頗高。" @@ -1001,12 +1001,11 @@ msgstr[0] "硫磺" #. ~ Description for sulfur #: lang/json/AMMO_from_json.py msgid "" -"A handful of yellow grains of pure sulfur. Primarily used to make battery " -"acid, sulfur is sometimes used as fuel for explosives. Can be burned to " -"produce acidic smoke, that is deadly to bacteria and humans alike, or " -"oxidized to make paper-bleaching agents." -msgstr "" -"一把黃色的純硫磺。主要用於製作電池酸液, 也可用於當爆裂物的燃料。燃燒時會產生酸性煙霧, 對細菌跟人體有致命的傷害, 氧化後可製造紙張漂白劑。" +"A handful of pure sulfur. Primarily used to make battery acid, sulfur is " +"sometimes used as fuel for explosives. Can be burned to produce acidic " +"smoke, that is deadly to bacteria and humans alike, or oxidized to make " +"paper-bleaching agents." +msgstr "少量純硫磺。主要用於製作電池酸液,也可用於當爆裂物的燃料。燃燒時會產生酸性煙霧,對細菌跟人體有致命的傷害,氧化後可製造紙張漂白劑。" #: lang/json/AMMO_from_json.py msgid "chunk of sulfur" @@ -1015,8 +1014,8 @@ msgstr[0] "硫磺塊" #. ~ Description for chunk of sulfur #: lang/json/AMMO_from_json.py -msgid "A large chunk of pure sulfur. Break it up to use it." -msgstr "一大塊的硫磺。分解之後才能使用它。" +msgid "A chunk of pure sulfur. Break it up to use it." +msgstr "一塊的純硫磺。打碎分解之後才有用。" #: lang/json/AMMO_from_json.py msgid "cement" @@ -1119,8 +1118,8 @@ msgstr[0] "氧化鋅" #. ~ Description for zinc oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of zinc oxide. It can be reduced into zinc, or used for some other" -" reactions of its own." +"A handful of zinc oxide. It can be reduced into zinc, or used for some " +"other reactions of its own." msgstr "少量氧化鋅。它可以還原成鋅,或用於其自身特性的一些其他化學反應。" #: lang/json/AMMO_from_json.py @@ -1131,7 +1130,7 @@ msgstr[0] "二氧化錳" #. ~ Description for manganese dioxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of manganese dioxide powder. Occurring naturally in the mineral " +"A handful of manganese dioxide powder. Occurring naturally in the mineral " "pyrolusite, it is used commercially in the production of alkaline and zinc-" "carbon batteries." msgstr "少量二氧化錳粉末。在礦物軟錳礦中天然存在,在商業上用於生產鹼性電池和鋅碳電池。" @@ -1144,10 +1143,10 @@ msgstr[0] "氯化鉀" #. ~ Description for potassium chloride #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium chloride. Although it occurs naturally in the mineral" -" sylvite, it can be produced as a byproduct of the reaction of saltpeter and" -" hydrochloric acid. It can be used for making fertilizer, or potassium " -"hydroxide by way of electrolysis." +"A handful of potassium chloride. Although it occurs naturally in the " +"mineral sylvite, it can be produced as a byproduct of the reaction of " +"saltpeter and hydrochloric acid. It can be used for making fertilizer, or " +"potassium hydroxide by way of electrolysis." msgstr "少量氯化鉀。雖然它天然存在於礦物鉀鹽中,但它可以從硝石和鹽酸的反應中以副產物型態產生。它可以通過電解用於製造肥料或氫氧化鉀。" #: lang/json/AMMO_from_json.py @@ -1158,8 +1157,8 @@ msgstr[0] "氫氧化鉀" #. ~ Description for potassium hydroxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of potassium hydroxide. Commonly called caustic potash, it was " -"mainly used industrially for its caustic nature. It can be used as an " +"A handful of potassium hydroxide. Commonly called caustic potash, it was " +"mainly used industrially for its caustic nature. It can be used as an " "electrolyte in alkaline batteries, among other applications." msgstr "少量氫氧化鉀。俗稱苛性鉀,工業上的運用主要利用其腐蝕的特性。它可以用作鹼性電池中的電解質,以及其他應用。" @@ -1187,9 +1186,9 @@ msgstr[0] "氫氯酸" #. ~ Description for hydrochloric acid #: lang/json/AMMO_from_json.py msgid "" -"Hydrochloric acid, also known as muriatic acid. It is a strong acid that has" -" a distinctive smell, important and frequently used ever since its " -"discovery. It still has a vast multitude of uses." +"Hydrochloric acid, also known as muriatic acid. It is a strong acid that " +"has a distinctive smell, important and frequently used ever since its " +"discovery. It still has a vast multitude of uses." msgstr "氫氯酸,俗稱鹽酸。它是一種強酸,具有獨特的氣味,自發現以來一直很重要且經常被使用。它仍然有很多用途。" #: lang/json/AMMO_from_json.py @@ -1230,14 +1229,13 @@ msgstr[0] "氧化鉻" #. ~ Description for chromium oxide #: lang/json/AMMO_from_json.py msgid "" -"A handful of chromium oxide pellets. This substance, typically known as the" -" only stable green pigment for paints, is also a mild oxidizer, which can be" -" mixed with aluminum powder to make thermite for welding. If one had access" -" to a CVD machine and a laboratory worth of reagents, they might be able to " +"A handful of chromium oxide. This substance, typically known as the only " +"stable green pigment for paints, is also a mild oxidizer, which can be mixed" +" with aluminum powder to make thermite for welding. If one had access to a " +"CVD machine and a laboratory worth of reagents, they might be able to " "produce very durable ceramic layers." msgstr "" -"一個氧化鉻小球。這種物質是通常情況下唯一穩定的綠色顏料, " -"也是一種溫和的氧化劑。可以和鋁粉混合來進行鋁熱焊。如果能夠找到化學氣相沉積器和具有對應試劑的實驗室, 它們可以用來生產非常耐用的陶瓷層。" +"少量氧化鉻。這種物質是通常情況下唯一穩定的綠色顏料,也是一種溫和的氧化劑。可以和鋁粉混合來進行鋁熱焊。如果能夠找到化學氣相沉積器和具有對應試劑的實驗室,它們可以用來生產非常耐用的陶瓷層。" #: lang/json/AMMO_from_json.py msgid "calcium carbide" @@ -1247,14 +1245,13 @@ msgstr[0] "碳化鈣" #. ~ Description for calcium carbide #: lang/json/AMMO_from_json.py msgid "" -"A handful of calcium carbide chunks, giving off a faint, garlic-like smell." -" Commercially, calcium carbide was used for on-the-spot manufacture of " +"A handful of calcium carbide, giving off a faint, garlic-like smell. " +"Commercially, calcium carbide was used for on-the-spot manufacture of " "acetylene and historically to power acetylene lamps. If mixed with water " "and sealed, it will explode with little strength, but with relatively loud " "noise and could maybe be used as a decoy." msgstr "" -"一小撮碳化鈣 (電石) 塊, 散發出一股淡淡的蒜味。在商業上, 碳化鈣用於即時製造乙炔, 歷史上也用於點亮乙炔燈。如果與水混合並將他密封, " -"它會產生小威力但大聲響的爆炸, 可以用來作為誘餌" +"少量碳化鈣(電石),散發出一股淡淡的蒜味。在商業上,碳化鈣用於即時製造乙炔,歷史上也用於點亮乙炔燈。如果與水混合並將他密封,它會產生小威力但大聲響的爆炸,可以用來作為誘餌。" #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "hexamine" @@ -1430,8 +1427,8 @@ msgstr[0] "火柴頭粉" #: lang/json/AMMO_from_json.py msgid "" "Some match head powder from match heads, similar to black gunpowder but a " -"bit weaker. It can be used in crafting explosives and fuses when other more " -"suitable candidates are less available." +"bit weaker. It can be used in crafting explosives and fuses when other more" +" suitable candidates are less available." msgstr "一些來自火柴頭的火柴頭粉末,類似黑色火藥,但稍弱一些。當其他更合適的候選材料較少時,可用於製作炸藥和引信。" #: lang/json/AMMO_from_json.py @@ -1780,7 +1777,7 @@ msgstr[0] "火焰噴射器燃料" #. ~ Description for flamethrower fuel #: lang/json/AMMO_from_json.py msgid "" -"A mixture of gasoline and diesel oil in equal parts. Its combustion " +"A mixture of gasoline and diesel oil in equal parts. Its combustion " "properties make it unfit for applications where you would use any of them " "separately, but it can be used to feed a flamethrower." msgstr "汽油和柴油的等份混合物。燃燒的特性使得它不適合單獨使用,但它可做為火焰噴射器的燃料。" @@ -2973,7 +2970,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid ".45-70 LFN cowboy" -msgstr "" +msgstr ".45-70 LFN 牛仔子彈" #. ~ Description for .45-70 LFN cowboy #: lang/json/AMMO_from_json.py @@ -3010,7 +3007,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "reloaded .45-70 LFN cowboy" -msgstr "" +msgstr ".45-70 LFN 牛仔子彈(重填彈)" #. ~ Description for reloaded .45-70 LFN cowboy #: lang/json/AMMO_from_json.py @@ -3136,40 +3133,74 @@ msgid "reloaded .460 Rowland" msgstr ".460羅蘭子彈(重填彈)" #: lang/json/AMMO_from_json.py -msgid ".50 BMG tracer" -msgstr ".50 BMG 曳光彈" +msgid ".50 BMG M17 tracer" +msgstr ".50 BMG M17 曳光彈" + +#. ~ Description for .50 BMG M17 tracer +#: lang/json/AMMO_from_json.py +msgid "" +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances." +msgstr "威力強大的 .50 BMG 子彈衍生出來的曳光彈。曳光彈能幫助使用者保持火力在同一個目標上,但亦伴隨點燃易燃物質的風險。" + +#: lang/json/AMMO_from_json.py +msgid ".50 BMG M33 Ball" +msgstr ".50 BMG M33 子彈" -#. ~ Description for .50 BMG tracer +#. ~ Description for .50 BMG M33 Ball #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances." -msgstr ".50 BMG 狙擊子彈的變種。曳光彈能幫助使用者保持火力在同一個目標上, 但亦伴隨點燃易燃物質的風險。" +".50 BMG ammunition with mild steel cored 661gr FMJ bullets. The .50 BMG is " +"a very powerful rifle round designed for anti-aircraft use, later adapted to" +" anti-vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." +msgstr "" +".50 BMG 彈藥,採用低碳鋼芯 661 格令全金屬披甲子彈。 .50 BMG " +"是一種非常強大的步槍彈,專為防空用途而設計,後來適應了反車輛和反人員的角色。它強大的動能和穿甲能力使它成為目前可用的最致命的子彈,缺點是極大的後座力與噪音。" #: lang/json/AMMO_from_json.py -msgid ".50 BMG Ball" -msgstr ".50 BMG 子彈" +msgid ".50 BMG Match" +msgstr ".50 BMG 比賽用子彈" -#. ~ Description for .50 BMG Ball +#. ~ Description for .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise." -msgstr ".50 BMG 是非常強大的步槍彈, 設計用於長距離使用。擁有驚人的精準度與致命的穿甲能力, 缺點是極大的後座力與噪音。" +".50 BMG FMJ lead core ammunition manufactured with tighter tolerances for " +"long-range competition shooting or other precision rifle use." +msgstr ".50 BMG 全金屬彈鉛芯彈藥以更精密的刻度製成,可用於遠距射擊比賽或其他精準步槍使用。" #: lang/json/AMMO_from_json.py -msgid ".50 BMG AP" -msgstr ".50 BMG 穿甲彈" +msgid ".50 BMG M2 AP" +msgstr ".50 BMG M2 穿甲彈" -#. ~ Description for .50 BMG AP +#. ~ Description for .50 BMG M2 AP #: lang/json/AMMO_from_json.py msgid "" "Variant of the .50 BMG round that uses a core of very dense, hardened " "tungsten steel. Penetration is increased, but damage is reduced." msgstr "改用密度及堅硬度極高的鎢鋼所製成的 .50 BMG 子彈。提升了穿透力, 但傷害較低。" +#: lang/json/AMMO_from_json.py +msgid ".50 BMG Raufoss Mk 211" +msgstr ".50 BMG Raufoss Mk 211 子彈" + +#. ~ Description for .50 BMG Raufoss Mk 211 +#: lang/json/AMMO_from_json.py +msgid "" +"This variant of the .50 BMG round makes the most of the caliber's potential " +"payload delivery: the tip is loaded with an incendiary mix, which ignites on" +" impact, detonating the RDX or PETN charge. This also ignites a secondary " +"zirconium powder incendiary charge that surrounds a tungsten carbide " +"penetrator, both encased by a mild steel cup. Fragments from the cup and " +"burning metallic powder follow the penetrator through armored targets, " +"increasing lethality. These rare, complicated, and expensive rounds are not" +" likely to be manufactured again; use them wisely." +msgstr "" +"這種.50 BMG 彈藥的變體可以最大程度地發揮槍管潛在的有效載荷輸送能力:尖端裝有爆燃混合物,在碰撞時點燃,引爆 RDX 或 PETN " +"裝藥。這也點燃了圍繞碳化鎢穿透器的鋯粉二次燃燒彈,兩者均被低碳鋼罩包裹著。鋼罩中的碎片和燃燒的金屬粉末會穿透有裝甲的目標,增加致命性。這些罕見、複雜而且昂貴的子彈不可能再製造出來。明智地使用它們。" + #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG tracer" msgstr ".50 BMG 曳光彈 (重填彈)" @@ -3177,24 +3208,27 @@ msgstr ".50 BMG 曳光彈 (重填彈)" #. ~ Description for reloaded .50 BMG tracer #: lang/json/AMMO_from_json.py msgid "" -"A tracer variant of the powerful .50 BMG sniper round. Tracer rounds to " -"help keep the weapon they are fired from on target at the risk of igniting " -"flammable substances. This one has been hand-reloaded." -msgstr ".50 BMG 狙擊子彈的變種。曳光彈能幫助使用者保持火力在同一個目標上, 但亦伴隨點燃易燃物質的風險。這顆是手工裝配的重填彈。" +"A tracer variant of the powerful .50 BMG round. Tracer rounds to help keep " +"the weapon they are fired from on target at the risk of igniting flammable " +"substances. This one has been hand-reloaded." +msgstr "" +"威力強大的 .50 BMG 子彈衍生出來的曳光彈。曳光彈能幫助使用者保持火力在同一個目標上,但亦伴隨點燃易燃物質的風險。這顆是手工裝配的重填彈。" #: lang/json/AMMO_from_json.py -msgid "reloaded .50 BMG Ball" -msgstr ".50 BMG (重填彈)" +msgid "reloaded .50 BMG Match" +msgstr " .50 BMG 比賽用子彈(重填彈)" -#. ~ Description for reloaded .50 BMG Ball +#. ~ Description for reloaded .50 BMG Match #: lang/json/AMMO_from_json.py msgid "" -"The .50 BMG is a very powerful rifle round designed for long-range use. Its" -" stupendous accuracy and armor piercing capabilities make it one of the most" -" deadly rounds available, offset only by its drastic recoil and noise. This" -" one has been hand-reloaded." +".50 BMG ammunition with lead-cored FMJ bullets. The .50 BMG is a very " +"powerful rifle round designed for anti-aircraft use, later adapted to anti-" +"vehicular and anti-personnel roles. Its stupendous energy and armor " +"piercing capabilities make it one of the most deadly rounds available, " +"offset only by its drastic recoil and noise." msgstr "" -".50 BMG 是非常強大的步槍彈設計用於長距離使用。擁有驚人的精準度與致命的穿甲能力, 缺點是極大的後座力與噪音。這顆是手工裝配的重填彈。" +".50 BMG 彈藥,採用鉛芯的全金屬披甲子彈。 .50 BMG " +"是一種非常強大的步槍彈,專為防空用途而設計,後來適應了反車輛和反人員的角色。它強大的動能和穿甲能力使它成為目前可用的最致命的子彈,缺點是極大的後座力與噪音。" #: lang/json/AMMO_from_json.py msgid "reloaded .50 BMG AP" @@ -3203,10 +3237,9 @@ msgstr ".50 BMG 穿甲彈 (重填彈)" #. ~ Description for reloaded .50 BMG AP #: lang/json/AMMO_from_json.py msgid "" -"Variant of the .50 BMG round that uses a core of very dense, hardened " -"tungsten steel. Penetration is increased, but damage is reduced. This one " -"has been hand-reloaded." -msgstr "改用非常高密度、堅硬的鎢鋼製彈芯的 .50 BMG彈, 使穿甲力提高但傷害降低。這一顆是重填彈。" +"Variant of the .50 BMG round that uses a core hardened steel. Penetration " +"is increased, but damage is reduced. This one has been hand-reloaded." +msgstr ".50 BMG 彈藥的一種變體,使用的是硬化鋼彈芯。穿透力增加,但傷害減少。這一顆是手工重填彈。" #: lang/json/AMMO_from_json.py msgid ".500 S&W Magnum" @@ -3776,7 +3809,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "152mm ATGM HEAT" -msgstr "" +msgstr "152mm 反坦克導彈(高爆彈)" #. ~ Description for 152mm ATGM HEAT #: lang/json/AMMO_from_json.py @@ -4041,7 +4074,7 @@ msgstr "單顆全金屬彈頭的設計能讓霰彈槍擊中較遠的目標, 能 #: lang/json/AMMO_from_json.py msgid "scrap shotcanister" -msgstr "" +msgstr "廢金屬射彈罐" #. ~ Description for scrap shotcanister #: lang/json/AMMO_from_json.py @@ -4052,7 +4085,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "pebble shotcanister" -msgstr "" +msgstr "小石子射彈罐" #. ~ Description for pebble shotcanister #: lang/json/AMMO_from_json.py @@ -4064,7 +4097,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "flechette shotcanister" -msgstr "" +msgstr "鋼標彈射彈罐" #. ~ Description for flechette shotcanister #: lang/json/AMMO_from_json.py @@ -4075,7 +4108,7 @@ msgstr "" #: lang/json/AMMO_from_json.py msgid "bearing shotcanister" -msgstr "" +msgstr "軸承滾珠射彈罐" #. ~ Description for bearing shotcanister #: lang/json/AMMO_from_json.py @@ -4166,6 +4199,107 @@ msgstr "一些真菌種子。" msgid "fungal flower" msgstr "真菌花" +#: lang/json/AMMO_from_json.py +msgid "potassium alum" +msgstr "明礬" + +#. ~ Description for potassium alum +#: lang/json/AMMO_from_json.py +msgid "" +"Small water-soluble white crystals with watery metallic odor, historically " +"used for many different purposes. Also known as potash alum and potassium " +"aluminum sulfate; often called simply alum, as it's the most important " +"member of the generic class of compounds called alums." +msgstr "" +"具有含水金屬氣味的水溶性白色小晶體,歷史上用於許多不同用途。又稱鉀明礬和硫酸鋁鉀;通常被稱為明礬,因為它是稱為明礬的通用化合物類別中最重要的成員。" + +#: lang/json/AMMO_from_json.py +msgid "cloth dye powder" +msgstr "布料染粉" + +#. ~ Description for cloth dye powder +#: lang/json/AMMO_from_json.py +msgid "" +"This is a powdered colorful cloth dye, which can be used to dye many fabrics" +" if combined with water and some mordant." +msgstr "這是一種粉狀的彩色布料染料,如果與水和某些媒染劑結合使用,可用於對許多織物進行染色。" + +#: lang/json/AMMO_from_json.py +msgid "steel buckle" +msgstr "鋼製帶釦" + +#. ~ Description for steel buckle +#: lang/json/AMMO_from_json.py +msgid "A steel buckle, like that usually found on belts." +msgstr "鋼製帶釦,像似皮帶上的那種。" + +#: lang/json/AMMO_from_json.py +msgid "plastic button" +msgstr "塑膠鈕扣" + +#. ~ Description for plastic button +#: lang/json/AMMO_from_json.py +msgid "A plastic button, usually found on clothing." +msgstr "塑膠鈕扣,通常能在衣服上找到。" + +#: lang/json/AMMO_from_json.py +msgid "steel button" +msgstr "鋼質鈕扣" + +#. ~ Description for steel button +#: lang/json/AMMO_from_json.py +msgid "A steel button, usually found on clothing." +msgstr "鋼質鈕扣,通常能在衣服上找到。" + +#: lang/json/AMMO_from_json.py +msgid "wooden button" +msgstr "木質鈕扣" + +#. ~ Description for wooden button +#: lang/json/AMMO_from_json.py +msgid "A crude wooden button, usually found on very old clothing." +msgstr "粗糙的木質鈕扣,通常能在很舊的衣服上找到。" + +#: lang/json/AMMO_from_json.py +msgid "steel snap fastener" +msgstr "鋼質子母扣" + +#. ~ Description for steel snap fastener +#: lang/json/AMMO_from_json.py +msgid "A steel snap fastener, usually found on clothing." +msgstr "鋼質子母扣,通常能在衣服上找到。" + +#: lang/json/AMMO_from_json.py +msgid "touch fastener" +msgstr "魔鬼氈" + +#. ~ Description for touch fastener +#: lang/json/AMMO_from_json.py +msgid "" +"This is a pair of cloth strips, one of which has tiny hooks and another has " +"tiny loops. Useful as a fastener for clothing and footwear." +msgstr "這是一對布條,其中一個布條佈滿微小的鉤線,而另一個布條佈滿微小的環線。用作服裝和鞋類的扣帶。" + +#: lang/json/AMMO_from_json.py +msgid "long plastic zipper" +msgstr "塑膠長拉鍊" + +#. ~ Description for long plastic zipper +#: lang/json/AMMO_from_json.py +msgid "A long zipper made from plastic, usually found on clothing." +msgstr "塑膠製的長拉鍊,通常能在衣服上找到。" + +#: lang/json/AMMO_from_json.py +msgid "short plastic zipper" +msgstr "塑膠短拉鍊" + +#. ~ Description for short plastic zipper +#: lang/json/AMMO_from_json.py +msgid "" +"A short zipper made from plastic, usually found on footwear or clothing " +"pockets." +msgstr "塑膠製的短拉鍊,通常能在鞋類或衣服的口袋上找到。" + #: lang/json/AMMO_from_json.py msgid "red paint" msgid_plural "red paint" @@ -4310,7 +4444,7 @@ msgstr[0] "鋅" #: lang/json/AMMO_from_json.py msgid "" "A slightly brittle metal. Apart from being an essential mineral that the " -"body needs, it reacts readily with acids, alkalis and other non-metals. It " +"body needs, it reacts readily with acids, alkalis and other non-metals. It " "can be crushed to make zinc powder, used in the production of batteries, " "among other things." msgstr "一種易碎的金屬。除了是人體所需的重要礦物質外,它還與酸、鹼以及其他非金屬容易起反應。它可以粉碎製成鋅粉,用於生產電池等。" @@ -4387,7 +4521,7 @@ msgstr "門鉸鏈" #. ~ Description for door hinge #: lang/json/AMMO_from_json.py msgid "" -"A small metal hinge with two metal plates with screw holes. Useful for " +"A small metal hinge with two metal plates with screw holes. Useful for " "making doors." msgstr "一組小型金屬鉸鏈,有兩個螺絲孔的金屬板。用於製作門。" @@ -4398,7 +4532,7 @@ msgstr "錫粉" #. ~ Description for tin powder #: lang/json/AMMO_from_json.py msgid "" -"A fine gray powder composed of tin, usable for making solder and lining " +"A fine gray powder composed of tin, usable for making solder and lining " "containers to prevent corrosion." msgstr "由錫組成的細灰色粉末,可用於製造焊料和防止腐蝕的容器內膜。" @@ -4436,6 +4570,343 @@ msgid "" "explosions." msgstr "導火線,長度足夠讓你有時間可以遠離大部分的爆炸。" +#: lang/json/AMMO_from_json.py +msgid "rubber sole" +msgstr "橡膠鞋底" + +#. ~ Description for rubber sole +#: lang/json/AMMO_from_json.py +msgid "" +"This is a sole made from rubber, usually found on the bottoms of boots. Can" +" be used for making actual boots." +msgstr "由橡膠製成的鞋底,通常能在靴子的底部找到。可用於製作實際的靴子。" + +#: lang/json/AMMO_from_json.py +msgid "cotton scraps" +msgid_plural "cotton scraps" +msgstr[0] "棉布下腳料" + +#. ~ Description for cotton scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of cotton, waste material from tailoring " +"projects. Not useful for much and usually disposed of, but can be recycled " +"into some thread if you really want." +msgstr "形狀奇特的棉布細屑,是裁縫加工後剩餘的廢料。沒什麼用,通常被丟棄,但是如果你真的需要的話,可以將其回收成縫線。" + +#: lang/json/AMMO_from_json.py +msgid "faux fur scraps" +msgid_plural "faux fur scraps" +msgstr[0] "人造毛皮下腳料" + +#. ~ Description for faux fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of faux fur, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "形狀奇特的人造毛皮細屑,是裁縫加工後剩餘的廢料。沒什麼用,通常被丟棄。" + +#: lang/json/AMMO_from_json.py +msgid "felt scraps" +msgid_plural "felt scraps" +msgstr[0] "毛氈下腳料" + +#. ~ Description for felt scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of felt, waste material from tailoring projects." +" Not useful for much and usually disposed of, but can be recycled into some" +" wool fiber if you really want." +msgstr "形狀奇特的毛氈細屑,是裁縫加工後剩餘的廢料。沒什麼用,通常被丟棄,但是如果你真的需要的話,可以將其回收成毛紗。" + +#: lang/json/AMMO_from_json.py +msgid "fur scraps" +msgid_plural "fur scraps" +msgstr[0] "毛皮下腳料" + +#. ~ Description for fur scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of fur, waste material from tailoring projects. " +"Not useful for much and usually disposed of." +msgstr "形狀奇特的毛皮細屑,是裁縫加工後剩餘的廢料。沒什麼用,通常被丟棄。" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar scraps" +msgid_plural "Kevlar scraps" +msgstr[0] "凱夫勒下腳料" + +#. ~ Description for Kevlar scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of Kevlar fabric, waste material from tailoring " +"projects. Normally it's disposed of, but since Kevlar would be very " +"difficult to make in a post-apocalyptic world, it might be worth recycling " +"it for Kevlar thread." +msgstr "" +"形狀奇特的凱夫勒纖維細屑,是裁縫加工後剩餘的廢料。通常被丟棄,但是由於要在末日後的世界中製造凱夫勒將是非常困難的事,因此值得將其回收用於凱夫勒線。" + +#: lang/json/AMMO_from_json.py +msgid "leather scraps" +msgid_plural "leather scraps" +msgstr[0] "皮革下腳料" + +#. ~ Description for leather scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of leather, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "形狀奇特的皮革細屑,是裁縫加工後剩餘的廢料。沒什麼用,通常被丟棄。" + +#: lang/json/AMMO_from_json.py +msgid "lycra scraps" +msgid_plural "lycra scraps" +msgstr[0] "萊卡下腳料" + +#. ~ Description for lycra scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of lycra, waste material from tailoring projects." +" Not useful for much and usually disposed of." +msgstr "形狀奇特的萊卡細屑,是裁縫加工後剩餘的廢料。沒什麼用,通常被丟棄。" + +#: lang/json/AMMO_from_json.py +msgid "neoprene scraps" +msgid_plural "neoprene scraps" +msgstr[0] "橡膠下腳料" + +#. ~ Description for neoprene scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of neoprene, waste material from tailoring " +"projects. Not useful for much and usually disposed of." +msgstr "形狀奇特的橡膠細屑,是裁縫加工後剩餘的廢料。沒什麼用,通常被丟棄。" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric scraps" +msgid_plural "synthetic fabric scraps" +msgstr[0] "合成纖維下腳料" + +#. ~ Description for synthetic fabric scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of synthetic fabric, waste material from " +"tailoring projects. Not useful for much and usually disposed of." +msgstr "形狀奇特的合成纖維細屑,是裁縫加工後剩餘的廢料。沒什麼用,通常被丟棄。" + +#: lang/json/AMMO_from_json.py +msgid "Nomex scraps" +msgid_plural "Nomex scraps" +msgstr[0] "諾梅克斯下腳料" + +#. ~ Description for Nomex scraps +#: lang/json/AMMO_from_json.py +msgid "" +"Oddly-shaped smallish bits of heat-resistant Nomex fabric, waste material " +"from tailoring projects. Normally it's disposed of, but since Nomex would " +"be very difficult to make in a post-apocalyptic world, it might be worth " +"recycling it." +msgstr "形狀奇特的諾梅克斯纖維細屑,是裁縫加工後剩餘的廢料。通常被丟棄,但是由於要在末日後的世界中製造諾梅克斯將是非常困難的事,因此值得將其回收。" + +#: lang/json/AMMO_from_json.py +msgid "cotton sheet" +msgstr "棉布床單" + +#. ~ Description for cotton sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of cotton fabric, suitable for making clothing." +msgstr "一大片棉織品布料,適合用於製作衣服。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork cotton clothing parts" +msgid_plural "patchwork cotton clothing parts" +msgstr[0] "" + +#. ~ Description for patchwork cotton clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from cotton patches in " +"a patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "faux fur sheet" +msgstr "人造毛皮床單" + +#. ~ Description for faux fur sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of fake synthetic colorful fur, suitable for making clothing." +msgstr "一大片假的合成彩色毛皮,適合用於製作衣服。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork faux fur clothing parts" +msgid_plural "patchwork faux fur clothing parts" +msgstr[0] "" + +#. ~ Description for patchwork faux fur clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from faux fur patches " +"in a patchwork fashion. Suitable for making most clothing, though it's much" +" less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "felt sheet" +msgstr "毛氈床單" + +#. ~ Description for felt sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of felt, suitable for making clothing." +msgstr "一大片毛氈布料,適合用於製作衣服。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork felt clothing parts" +msgid_plural "patchwork felt clothing parts" +msgstr[0] "" + +#. ~ Description for patchwork felt clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from felt patches in a " +"patchwork fashion. Suitable for making most clothing, though it's much less" +" time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar sheet" +msgstr "凱夫勒床單" + +#. ~ Description for Kevlar sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Kevlar synthetic fabric, suitable for making bulletproof armor. " +"In this form, unlike rigid plates, it can be stitched." +msgstr "一大片凱夫勒合成纖維,適合製作防彈護甲。與剛性板不同,這種形式可以進行縫製。" + +#: lang/json/AMMO_from_json.py +msgid "lycra sheet" +msgstr "萊卡床單" + +#. ~ Description for lycra sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of synthetic fabric blended with stretchy lycra fibers, suitable for" +" making flexible yet strong clothing." +msgstr "一大片混合有彈性萊卡纖維的合成纖維,適合製作柔軟而結實的衣物。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork lycra clothing parts" +msgid_plural "patchwork lycra clothing parts" +msgstr[0] "" + +#. ~ Description for patchwork lycra clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from lycra patches in a" +" patchwork fashion. Suitable for making most clothing, though it's much " +"less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py lang/json/GENERIC_from_json.py +msgid "neoprene sheet" +msgid_plural "neoprene sheets" +msgstr[0] "橡膠薄片" + +#. ~ Description for neoprene sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of neoprene, a synthetic rubber, suitable for making underwater " +"gear." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "patchwork neoprene clothing parts" +msgid_plural "patchwork neoprene clothing parts" +msgstr[0] "" + +#. ~ Description for patchwork neoprene clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from neoprene patches " +"in a patchwork fashion, with waterproofed seams. Suitable for making most " +"clothing, though it's much less time-efficient than if using proper material" +" sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Nomex sheet" +msgstr "諾梅克斯床單" + +#. ~ Description for Nomex sheet +#: lang/json/AMMO_from_json.py +msgid "" +"A sheet of Nomex synthetic fabric, suitable for making heat-resistant " +"clothing." +msgstr "一大片諾梅克斯布料,適合用於製作耐熱衣服。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork Nomex clothing parts" +msgid_plural "patchwork Nomex clothing parts" +msgstr[0] "" + +#. ~ Description for patchwork Nomex clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together with Nomex thread from " +"Nomex patches in a patchwork fashion. Suitable for making most clothing, " +"though it's much less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "synthetic fabric sheet" +msgstr "合成纖維床單" + +#. ~ Description for synthetic fabric sheet +#: lang/json/AMMO_from_json.py +msgid "A sheet of synthetic fabric, suitable for making clothing." +msgstr "一大片合成纖維布料,適合用於製作衣服。" + +#: lang/json/AMMO_from_json.py +msgid "patchwork synthetic fabric clothing parts" +msgid_plural "patchwork synthetic fabric clothing parts" +msgstr[0] "" + +#. ~ Description for patchwork synthetic fabric clothing parts +#: lang/json/AMMO_from_json.py +msgid "" +"A selection of various clothing parts, sewn together from synthetic fabric " +"patches in a patchwork fashion. Suitable for making most clothing, though " +"it's much less time-efficient than if using proper material sheets." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "Kevlar thread" +msgstr "凱夫勒線" + +#. ~ Description for Kevlar thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some very durable Kevlar thread that would be particularly useful for making" +" ballistic armor, though it's fine to use in place of normal thread too, in " +"most cases. Making armor-grade Kevlar sheets from this would need a " +"particularly tight weave, and so would need some specialized machinery." +msgstr "" +"一些非常耐用的凱夫勒線,特別適用於製造防彈護甲,儘管在大多數情況下也可以代替普通縫線。用它來製造護甲等級的凱夫勒布料需要特別緊密的編織,因此需要一些專門的機械。" + +#: lang/json/AMMO_from_json.py +msgid "Nomex thread" +msgstr "諾梅克斯線" + +#. ~ Description for Nomex thread +#: lang/json/AMMO_from_json.py +msgid "" +"Some heat-resistant Nomex thread that would be particularly useful for " +"making heat protection gear, though it's fine to use in place of normal " +"thread too, in most cases." +msgstr "一些耐熱的諾梅克斯線,特別適用於製造防熱裝備,儘管在大多數情況下也可以代替普通縫線。" + #: lang/json/AMMO_from_json.py msgid "handloaded .22 CB" msgid_plural "handloaded .22 CB" @@ -4930,6 +5401,18 @@ msgid "" "burn hotly upon impact, piercing armor and igniting flammable substances." msgstr "用於重機槍或是特種軍事裝備的燃燒彈。燃燒型子彈能夠能在擊中目標時產生劇烈的火焰, 能夠穿甲也能點燃易燃物質。" +#: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py +msgid "orichalcum arrow" +msgstr "" + +#. ~ Description for orichalcum arrow +#: lang/json/AMMO_from_json.py +msgid "" +"An arrow composed of a sliver of orichalcum. The arrow has a mysterious " +"glow. Has a very high chance of staying intact when fired, however can only" +" be fired from Ichaival." +msgstr "" + #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "dragon blood" msgid_plural "dragon blood" @@ -4973,10 +5456,31 @@ msgstr[0] "法力結晶" #. ~ Description for crystallized mana #: lang/json/AMMO_from_json.py msgid "" -"Some crystallized mana. This can be reloaded into rechargable mana crystals," -" but can never be unloaded." +"Some crystallized mana. This can be reloaded into rechargable mana " +"crystals, but can never be unloaded." msgstr "一些結晶的法力。這可以重新裝填到可填充的法力水晶中,但永遠不能卸下。" +#: lang/json/AMMO_from_json.py +msgid "lump of orichalcum" +msgstr "" + +#. ~ Description for lump of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A heavy formed piece of strange metal. Useful for some crafting recipes." +msgstr "" + +#: lang/json/AMMO_from_json.py +msgid "sliver of orichalcum" +msgstr "" + +#. ~ Description for sliver of orichalcum +#: lang/json/AMMO_from_json.py +msgid "" +"A sliver of a strange glowing metal. Useful as a weapon, but better suited " +"for crafting." +msgstr "" + #: lang/json/AMMO_from_json.py lang/json/ammunition_type_from_json.py msgid "fire lance charge" msgstr "火尖槍彈藥" @@ -5949,8 +6453,10 @@ msgstr[0] "刀鞘 (肩帶)" #. ~ Use action holster_msg for pair of rollerblades. #. ~ Use action holster_msg for pair of rollerskates. #. ~ Use action holster_msg for C.R.I.T web belt. +#. ~ Use action holster_msg for technomancer's toolbelt. #. ~ Use action holster_msg for hollow cane. -#: lang/json/ARMOR_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/ARMOR_from_json.py lang/json/ARMOR_from_json.py +#: lang/json/GENERIC_from_json.py #, no-python-format msgid "You sheath your %s" msgstr "你把你的 %s 收鞘。" @@ -6534,6 +7040,43 @@ msgid "" "small straps designed to better distribute the weight." msgstr "" +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail chausses" +msgid_plural "pairs of chainmail chausses" +msgstr[0] "" + +#. ~ Description for pair of chainmail chausses +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail chausses that cover the feet, like booties made of " +"chainmail." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "pair of chainmail gloves" +msgid_plural "pairs of chainmail gloves" +msgstr[0] "" + +#. ~ Description for pair of chainmail gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"Customized chainmail gloves. They fully enclose the fingers and provide " +"excellent protection, but are somewhat cumbersome." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "faraday chainmail suit" +msgid_plural "faraday chainmail suits" +msgstr[0] "" + +#. ~ Description for faraday chainmail suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A fully customized chainmail suit that can be worn over your normal " +"clothing. The suit is conductively interconnected, protecting against " +"electricity." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "leather chaps" msgid_plural "leather chaps" @@ -6670,6 +7213,26 @@ msgid "" "A colorful and ridiculous costume fit for a clown. Provides decent storage." msgstr "一件色彩繽紛並搞笑的小丑外衣。有一些儲物空間。" +#: lang/json/ARMOR_from_json.py +msgid "clown wig" +msgid_plural "clown wigs" +msgstr[0] "小丑假髮" + +#. ~ Description for clown wig +#: lang/json/ARMOR_from_json.py +msgid "A colorful and ridiculous wig fit for a clown." +msgstr "一頂色彩繽紛而且滑稽的的小丑假髮。" + +#: lang/json/ARMOR_from_json.py +msgid "clown nose" +msgid_plural "clown noses" +msgstr[0] "小丑鼻子" + +#. ~ Description for clown nose +#: lang/json/ARMOR_from_json.py +msgid "A red latex nose often seen being worn by clowns." +msgstr "小丑經常戴的紅色乳膠鼻子。" + #: lang/json/ARMOR_from_json.py msgid "fur coat" msgid_plural "fur coats" @@ -6908,6 +7471,21 @@ msgstr[0] "西裝襯衫" msgid "A white button-down shirt with long sleeves. Looks professional!" msgstr "一件白色鈕扣的長袖襯衫。看起來很專業!" +#: lang/json/ARMOR_from_json.py +msgid "drinking hat" +msgid_plural "drinking hats" +msgstr[0] "" + +#. ~ Description for drinking hat +#: lang/json/ARMOR_from_json.py +msgid "" +"This is an improvised harness that can be worn over other headgear or bare " +"head, made from two small liquid containers, a rubber hose, a bundle of " +"steel wire, and some cordage. A convenient and simple device for hands-free" +" drinking, though the liquid inside would spill if you put it into your " +"backpack." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "wedding dress" msgid_plural "wedding dresses" @@ -7038,6 +7616,30 @@ msgstr[0] "腰包" msgid "Provides a bit of extra storage, with minimal encumbrance." msgstr "能夠多提供一點儲物空間, 只造成極小的累贅。" +#: lang/json/ARMOR_from_json.py +msgid "underarm protector" +msgid_plural "underarm protectors" +msgstr[0] "" + +#. ~ Description for underarm protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A sturdy cotton plastron that protects much of the torso, the dominant " +"shoulder, and underarm while fencing." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "plastic chest protector" +msgid_plural "plastic chest protectors" +msgstr[0] "" + +#. ~ Description for plastic chest protector +#: lang/json/ARMOR_from_json.py +msgid "" +"A rigid plastic plastron with molded cups to be worn by female fencers for " +"protection while fencing." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fencing jacket" msgid_plural "fencing jackets" @@ -7050,6 +7652,32 @@ msgid "" "accidents. It doesn't have any storage room, but it is very comfortable." msgstr "一件供擊劍運動員使用的帶襯墊的外套, 背後有拉鍊, 用於防止意外。它沒有任何儲物空間, 但是非常舒適。" +#: lang/json/ARMOR_from_json.py +msgid "lamé (foil)" +msgid_plural "lamé (foil)s" +msgstr[0] "" + +#. ~ Description for lamé (foil) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive vest with the zipper on the back used by " +"fencers for electronic scoring. Its outer layer is a woven mix of sturdy " +"cotton and stainless steel strands." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "lamé (saber)" +msgid_plural "lamé (saber)s" +msgstr[0] "" + +#. ~ Description for lamé (saber) +#: lang/json/ARMOR_from_json.py +msgid "" +"A thin, lightweight conductive jacket used by fencers for electronic " +"scoring. Its outer layer is a woven mix of sturdy cotton and stainless " +"steel strands." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "fencing mask" msgid_plural "fencing masks" @@ -7070,6 +7698,30 @@ msgstr[0] "擊劍長褲" msgid "A pair of reinforced pants used by fencers to prevent injuries." msgstr "一件供擊劍運動員使用的強化長褲, 用於防止受傷。" +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet" +msgid_plural "fencing gauntlets" +msgstr[0] "" + +#. ~ Description for fencing gauntlet +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "fencing gauntlet (left)" +msgid_plural "fencing gauntlet (left)s" +msgstr[0] "" + +#. ~ Description for fencing gauntlet (left) +#: lang/json/ARMOR_from_json.py +msgid "" +"A single suede glove with sturdy cotton wrists, padded backs and well-" +"fitting fingers. This one is left-handed." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of fire gauntlets" msgid_plural "pairs of fire gauntlets" @@ -7407,18 +8059,6 @@ msgstr[0] "毛皮手套" msgid "A pair of warm fur gloves. They are somewhat cumbersome." msgstr "一雙保暖的毛皮手套。會造成一些累贅。" -#: lang/json/ARMOR_from_json.py -msgid "pair of survivor wetsuit gloves" -msgid_plural "pairs of survivor wetsuit gloves" -msgstr[0] "生存者潛水手套" - -#. ~ Description for pair of survivor wetsuit gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" -" wear while providing maximum protection under extreme conditions." -msgstr "一雙訂製的手套, 由凱夫勒裝甲與橡膠製成。便於穿戴, 即使在極端環境下也能提供極致的防護能力。" - #: lang/json/ARMOR_from_json.py msgid "pair of heavy survivor gloves" msgid_plural "pairs of heavy survivor gloves" @@ -7475,6 +8115,19 @@ msgid "" "wear while providing maximum protection under extreme conditions." msgstr "一雙訂製的手套, 由凱夫勒裝甲與棉布製成。便於穿戴, 即使在極端環境下也能提供極致的防護能力。" +#: lang/json/ARMOR_from_json.py +msgid "pair of fingerless survivor gloves" +msgid_plural "pairs of fingerless survivor gloves" +msgstr[0] "" + +#. ~ Description for pair of fingerless survivor gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored cloth gloves with no fingers, modified " +"to be easy to wear while providing maximum protection under extreme " +"conditions." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of medical gloves" msgid_plural "pairs of medical gloves" @@ -7685,16 +8338,6 @@ msgid "" "excellent protection from environmental dangers." msgstr "一副大型護目鏡, 能完全密封你的眼睛, 提供絕佳的環境危害防護。" -#: lang/json/ARMOR_from_json.py -msgid "pair of swim goggles" -msgid_plural "pairs of swim goggles" -msgstr[0] "泳鏡" - -#. ~ Description for pair of swim goggles -#: lang/json/ARMOR_from_json.py -msgid "A small pair of goggles made for swimming." -msgstr "一副適合在游泳時使用的小泳鏡。" - #: lang/json/ARMOR_from_json.py msgid "pair of welding goggles" msgid_plural "pairs of welding goggles" @@ -7729,19 +8372,6 @@ msgid "" "A heavy, full-length wool coat. Cumbersome, but warm and with deep pockets." msgstr "一件厚重、等身長的羊毛大衣。很累贅, 但是保暖且有大口袋。" -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit" -msgid_plural "survivor wetsuits" -msgstr[0] "生存者潛水服" - -#. ~ Description for survivor wetsuit -#: lang/json/ARMOR_from_json.py -msgid "" -"A lightweight, hand-built combination armor made from a cut-down bulletproof" -" vest and a reinforced neoprene wetsuit. Protects from the elements as well" -" as from harm." -msgstr "一件輕量、手工製作的組合護甲, 由剪裁的防彈背心和強化的橡膠潛水服製成。保護你免於傷害與環境危害。" - #: lang/json/ARMOR_from_json.py msgid "hakama" msgid_plural "hakamas" @@ -8207,17 +8837,6 @@ msgstr[0] "生存者防火兜帽" msgid "A customized armored Nomex and Kevlar hood, very strong and durable." msgstr "一頂訂製的兜帽, 由凱夫勒裝甲與諾梅克斯阻燃纖維製成。非常堅固且耐用。" -#: lang/json/ARMOR_from_json.py -msgid "survivor wetsuit hood" -msgid_plural "survivor wetsuit hoods" -msgstr[0] "生存者潛水兜帽" - -#. ~ Description for survivor wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "" -"A customized armored neoprene and Kevlar hood, very strong and durable." -msgstr "一頂訂製的兜帽, 由凱夫勒裝甲與橡膠製成。非常堅固且耐用。" - #: lang/json/ARMOR_from_json.py msgid "light survivor hood" msgid_plural "light survivor hoods" @@ -8870,18 +9489,25 @@ msgid_plural "leather belts" msgstr[0] "皮帶" #. ~ Use action holster_msg for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_msg for magic leather belt. +#. ~ Use action holster_msg for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py #, no-python-format msgid "You tuck your %s into your %s" msgstr "你把 %s 塞進你的 %s" #. ~ Use action holster_prompt for leather belt. -#: lang/json/ARMOR_from_json.py +#. ~ Use action holster_prompt for magic leather belt. +#. ~ Use action holster_prompt for Belt of Weaponry. +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Stick what into your belt" msgstr "把東西夾在腰帶上" #. ~ Description for leather belt -#: lang/json/ARMOR_from_json.py +#. ~ Description for magic leather belt +#: lang/json/ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py msgid "A leather belt. Useful for making your pair of pants fit." msgstr "一條皮革腰帶。能讓你的長褲變得合身。" @@ -9035,6 +9661,19 @@ msgid "" "variety is favored by the military." msgstr "一組利用綁帶束在大腿的袋子。這個款式深受軍人喜愛。" +#: lang/json/ARMOR_from_json.py +msgid "leotard" +msgid_plural "leotard" +msgstr[0] "" + +#. ~ Description for leotard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment, covering the body from the groin to the " +"shoulders. With its deep scoop-cut back and high waist cuts, this garment " +"is perfect for showcasing your physique on the stage." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "Linux t-shirt" msgid_plural "Linux t-shirts" @@ -9798,31 +10437,6 @@ msgid "" "Activate to sheathe/draw a weapon." msgstr "一個可調整的大型刀鞘, 可以放置刀劍或者其他大型武器。使用以收 (或拔) 武器。" -#: lang/json/ARMOR_from_json.py -msgid "shark suit" -msgid_plural "shark suits" -msgstr[0] "防鯊魚裝" - -#. ~ Description for shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It comes with attached plastic helmet and booties." -msgstr "一套供水肺潛水員使用的單件式鏈甲套裝, 用於防止鯊魚咬傷, 附有塑膠頭盔和靴子。" - -#: lang/json/ARMOR_from_json.py -msgid "faraday shark suit" -msgid_plural "faraday shark suits" -msgstr[0] "絕緣防鯊魚裝" - -#. ~ Description for faraday shark suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A one piece chainmail suit used by scuba divers for protection against shark" -" bites. It has been conductively interconnected, protecting against " -"electricity." -msgstr "一套供水肺潛水員使用的單件式鏈甲套裝, 用於防止鯊魚咬傷, 附有塑膠頭盔和靴子。其內部電力傳導網路能提供防護能力以抵禦電擊。" - #: lang/json/ARMOR_from_json.py msgid "sheath" msgid_plural "sheathes" @@ -9889,6 +10503,18 @@ msgid "" "from cuts." msgstr "一件牛仔短褲。厚實、強韌, 能提供絕佳的砍劈防護。" +#: lang/json/ARMOR_from_json.py +msgid "thermal shirt" +msgid_plural "thermal shirts" +msgstr[0] "" + +#. ~ Description for thermal shirt +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, form-fitting long-sleeved spandex undershirt that helps " +"maintains body temperature." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "skinny tie" msgid_plural "skinny ties" @@ -10318,9 +10944,9 @@ msgstr[0] "樣本裝" #: lang/json/ARMOR_from_json.py msgid "" "A thin, short-sleeved and short-legged one-piece suit. Judging by the odd " -"tailoring and adjustment points... maybe you don't want to know who wore " -"it. Provides nominal storage and is not very encumbering." -msgstr "一件厚實的短袖連身服。從怪異的剪裁來判斷… 你也許不會想知道是誰穿過的。能提供微小的儲存空間並且不是很累贅。" +"tailoring and adjustment points… maybe you don't want to know who wore it. " +"Provides nominal storage and is not very encumbering." +msgstr "" #: lang/json/ARMOR_from_json.py msgid "suit" @@ -10386,6 +11012,7 @@ msgstr[0] "生存者腰帶" #. ~ Use action holster_prompt for survivor utility belt. #. ~ Use action holster_prompt for hiking backpack. #. ~ Use action holster_prompt for C.R.I.T web belt. +#. ~ Use action holster_prompt for technomancer's toolbelt. #: lang/json/ARMOR_from_json.py msgid "Sheath blade" msgstr "刀刃收鞘" @@ -10734,16 +11361,6 @@ msgstr "" "一頂經典的 \"船形帽\", 或稱三角帽, 純粹將大而軟的帽沿向上折起固定, 這頂還帶有精緻的刺繡與防水設計。不論你是一個定居點的 \"總督\", " "或是一名末日的後船長, 這頂帽子是為你而準備的。" -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming trunks" -msgid_plural "pairs of swimming trunks" -msgstr[0] "四角泳褲" - -#. ~ Description for pair of swimming trunks -#: lang/json/ARMOR_from_json.py -msgid "A pair of swimming trunks, with netting." -msgstr "一件男性四角泳褲, 有繩子可以綁。" - #: lang/json/ARMOR_from_json.py msgid "t-shirt" msgid_plural "t-shirts" @@ -10981,51 +11598,6 @@ msgid "" "would be too casual and a suit would be just overdoing it." msgstr "一個優雅的背心。非常適合那些只穿著一件襯衫太隨意, 穿西裝外套太過的場合。" -#: lang/json/ARMOR_from_json.py -msgid "wetsuit" -msgid_plural "wetsuits" -msgstr[0] "潛水服" - -#. ~ Description for wetsuit -#: lang/json/ARMOR_from_json.py -msgid "A full-body neoprene wetsuit." -msgstr "一套全身橡膠潛水服。" - -#: lang/json/ARMOR_from_json.py -msgid "pair of swimming gloves" -msgid_plural "pairs of swimming gloves" -msgstr[0] "潛水手套" - -#. ~ Description for pair of swimming gloves -#: lang/json/ARMOR_from_json.py -msgid "" -"A pair of very flexible neoprene-silicone rubber gloves, suitable for " -"underwater use." -msgstr "一雙非常有彈性的潛水布橡膠手套, 很適合在水下使用。" - -#: lang/json/ARMOR_from_json.py -msgid "wetsuit hood" -msgid_plural "wetsuit hoods" -msgstr[0] "潛水兜帽" - -#. ~ Description for wetsuit hood -#: lang/json/ARMOR_from_json.py -msgid "A neoprene hood, commonly worn by divers." -msgstr "一個橡膠製的頭套, 通常是潛水員穿的。" - -#: lang/json/ARMOR_from_json.py -msgid "spring suit" -msgid_plural "spring suits" -msgstr[0] "連身泳衣" - -#. ~ Description for spring suit -#: lang/json/ARMOR_from_json.py -msgid "" -"A long-sleeved spring wetsuit with pink color details and cleavage-" -"enhancing, hip-accentuating construction. Not as protective as a full-body " -"suit, but also less restrictive." -msgstr "一件長袖的粉紅色連身泳裝, 能夠完美的加強女性的胸部集中以及提臀效果。不像潛水衣有全身保護的效果, 但約束感較少。" - #: lang/json/ARMOR_from_json.py msgid "pair of army winter gloves" msgid_plural "pairs of army winter gloves" @@ -11333,6 +11905,33 @@ msgid "" "Useful for improvised rain protection." msgstr "一塊塑料布, 上面有幾個索環供繩索固定。簡易的擋雨物料。" +#: lang/json/ARMOR_from_json.py +msgid "unitard" +msgid_plural "unitards" +msgstr[0] "" + +#. ~ Description for unitard +#: lang/json/ARMOR_from_json.py +msgid "" +"A skin-tight spandex garment resembling a crew necked leotard combined with " +"leggings. Commonly used by gymnasts, dancers and equestrian vaulters, the " +"unitard provides overall coverage with great flexibility." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "zentai" +msgid_plural "zentais" +msgstr[0] "" + +#. ~ Description for zentai +#: lang/json/ARMOR_from_json.py +msgid "" +"Short for 'zenshin taitsu', a zentai is a form fitting full body nylon and " +"spandex garment. Though it covers your face, you can see through the " +"integrated hood. With a couple of these and some friends and you could put " +"on some kabuki." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "pair of bone arm guards" msgid_plural "pairs of bone arm guards" @@ -13816,6 +14415,132 @@ msgstr "" "一套 DoubleTech 動力裝甲 Mk. II-L。這個型號相較 Mk. I 做了許多改進, 特別是減輕了重量。如同所有 DoubleTech " "動力裝甲, 其控制系統與溫度調節系統必須與皮膚直接接觸。" +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming trunks" +msgid_plural "pairs of swimming trunks" +msgstr[0] "四角泳褲" + +#. ~ Description for pair of swimming trunks +#: lang/json/ARMOR_from_json.py +msgid "A pair of swimming trunks, with netting." +msgstr "一件男性四角泳褲, 有繩子可以綁。" + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit" +msgid_plural "wetsuits" +msgstr[0] "潛水服" + +#. ~ Description for wetsuit +#: lang/json/ARMOR_from_json.py +msgid "A full-body neoprene wetsuit." +msgstr "一套全身橡膠潛水服。" + +#: lang/json/ARMOR_from_json.py +msgid "wetsuit hood" +msgid_plural "wetsuit hoods" +msgstr[0] "潛水兜帽" + +#. ~ Description for wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "A neoprene hood, commonly worn by divers." +msgstr "一個橡膠製的頭套, 通常是潛水員穿的。" + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit hood" +msgid_plural "survivor wetsuit hoods" +msgstr[0] "生存者潛水兜帽" + +#. ~ Description for survivor wetsuit hood +#: lang/json/ARMOR_from_json.py +msgid "" +"A customized armored neoprene and Kevlar hood, very strong and durable." +msgstr "一頂訂製的兜帽, 由凱夫勒裝甲與橡膠製成。非常堅固且耐用。" + +#: lang/json/ARMOR_from_json.py +msgid "survivor wetsuit" +msgid_plural "survivor wetsuits" +msgstr[0] "生存者潛水服" + +#. ~ Description for survivor wetsuit +#: lang/json/ARMOR_from_json.py +msgid "" +"A lightweight, hand-built combination armor made from a cut-down bulletproof" +" vest and a reinforced neoprene wetsuit. Protects from the elements as well" +" as from harm." +msgstr "一件輕量、手工製作的組合護甲, 由剪裁的防彈背心和強化的橡膠潛水服製成。保護你免於傷害與環境危害。" + +#: lang/json/ARMOR_from_json.py +msgid "pair of survivor wetsuit gloves" +msgid_plural "pairs of survivor wetsuit gloves" +msgstr[0] "生存者潛水手套" + +#. ~ Description for pair of survivor wetsuit gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of customized, Kevlar armored neoprene gloves, modified to be easy to" +" wear while providing maximum protection under extreme conditions." +msgstr "一雙訂製的手套, 由凱夫勒裝甲與橡膠製成。便於穿戴, 即使在極端環境下也能提供極致的防護能力。" + +#: lang/json/ARMOR_from_json.py +msgid "spring suit" +msgid_plural "spring suits" +msgstr[0] "連身泳衣" + +#. ~ Description for spring suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A long-sleeved spring wetsuit with pink color details and cleavage-" +"enhancing, hip-accentuating construction. Not as protective as a full-body " +"suit, but also less restrictive." +msgstr "一件長袖的粉紅色連身泳裝, 能夠完美的加強女性的胸部集中以及提臀效果。不像潛水衣有全身保護的效果, 但約束感較少。" + +#: lang/json/ARMOR_from_json.py +msgid "faraday shark suit" +msgid_plural "faraday shark suits" +msgstr[0] "絕緣防鯊魚裝" + +#. ~ Description for faraday shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It has been conductively interconnected, protecting against " +"electricity." +msgstr "一套供水肺潛水員使用的單件式鏈甲套裝, 用於防止鯊魚咬傷, 附有塑膠頭盔和靴子。其內部電力傳導網路能提供防護能力以抵禦電擊。" + +#: lang/json/ARMOR_from_json.py +msgid "shark suit" +msgid_plural "shark suits" +msgstr[0] "防鯊魚裝" + +#. ~ Description for shark suit +#: lang/json/ARMOR_from_json.py +msgid "" +"A one piece chainmail suit used by scuba divers for protection against shark" +" bites. It comes with attached plastic helmet and booties." +msgstr "一套供水肺潛水員使用的單件式鏈甲套裝, 用於防止鯊魚咬傷, 附有塑膠頭盔和靴子。" + +#: lang/json/ARMOR_from_json.py +msgid "pair of swim goggles" +msgid_plural "pairs of swim goggles" +msgstr[0] "泳鏡" + +#. ~ Description for pair of swim goggles +#: lang/json/ARMOR_from_json.py +msgid "A small pair of goggles made for swimming." +msgstr "一副適合在游泳時使用的小泳鏡。" + +#: lang/json/ARMOR_from_json.py +msgid "pair of swimming gloves" +msgid_plural "pairs of swimming gloves" +msgstr[0] "潛水手套" + +#. ~ Description for pair of swimming gloves +#: lang/json/ARMOR_from_json.py +msgid "" +"A pair of very flexible neoprene-silicone rubber gloves, suitable for " +"underwater use." +msgstr "一雙非常有彈性的潛水布橡膠手套, 很適合在水下使用。" + #: lang/json/ARMOR_from_json.py msgid "helmet netting" msgid_plural "helmet nettings" @@ -14002,7 +14727,7 @@ msgstr "模塊化防彈背心。它的裝甲袋裡裝了鈦板, 能提供額外 #: lang/json/ARMOR_from_json.py msgid "CRIT face mask" msgid_plural "CRIT face masks" -msgstr[0] "" +msgstr[0] "CRIT 面罩" #. ~ Description for CRIT face mask #: lang/json/ARMOR_from_json.py @@ -14015,7 +14740,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "pair of CRIT boots" msgid_plural "pair of CRIT bootss" -msgstr[0] "" +msgstr[0] "CRIT 靴子" #. ~ Description for pair of CRIT boots #: lang/json/ARMOR_from_json.py @@ -14029,7 +14754,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "pair of CRIT LA boots" msgid_plural "pairs of CRIT LA boots" -msgstr[0] "" +msgstr[0] "CRIT LA 靴子" #. ~ Description for pair of CRIT LA boots #: lang/json/ARMOR_from_json.py @@ -14043,7 +14768,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "pair of CRIT fingertip-less gloves" msgid_plural "pairs of CRIT fingertip-less gloves" -msgstr[0] "" +msgstr[0] "CRIT 露指手套" #. ~ Description for pair of CRIT fingertip-less gloves #: lang/json/ARMOR_from_json.py @@ -14056,7 +14781,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "pair of CRIT fingertip-less liners" msgid_plural "pairs of CRIT fingertip-less liners" -msgstr[0] "" +msgstr[0] "CRIT 露指內裡" #. ~ Description for pair of CRIT fingertip-less liners #: lang/json/ARMOR_from_json.py @@ -14069,7 +14794,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "CRIT backpack" msgid_plural "CRIT backpacks" -msgstr[0] "" +msgstr[0] "CRIT 背包" #. ~ Description for CRIT backpack #: lang/json/ARMOR_from_json.py @@ -14083,7 +14808,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "CRIT chestrig" msgid_plural "CRIT chestrigs" -msgstr[0] "" +msgstr[0] "CRIT 胸掛背心" #. ~ Description for CRIT chestrig #: lang/json/ARMOR_from_json.py @@ -14095,7 +14820,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "pair of CRIT leg guards" msgid_plural "pairs of CRIT leg guards" -msgstr[0] "" +msgstr[0] "CRIT 護腿" #. ~ Description for pair of CRIT leg guards #: lang/json/ARMOR_from_json.py @@ -14108,7 +14833,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "pair of CRIT arm guards" msgid_plural "pairs of C.R.I.T arm guards" -msgstr[0] "" +msgstr[0] "CRIT 護手" #. ~ Description for pair of CRIT arm guards #: lang/json/ARMOR_from_json.py @@ -14121,7 +14846,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "CRIT web belt" msgid_plural "CRIT web belts" -msgstr[0] "" +msgstr[0] "CRIT 腰帶" #. ~ Description for CRIT web belt #: lang/json/ARMOR_from_json.py @@ -14133,7 +14858,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "CRIT infantry duster" msgid_plural "CRIT infantry dusters" -msgstr[0] "" +msgstr[0] "CRIT 步兵防塵大衣" #. ~ Description for CRIT infantry duster #: lang/json/ARMOR_from_json.py @@ -14146,7 +14871,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "CRIT Engineering Suit" msgid_plural "CRIT Engineering Suits" -msgstr[0] "" +msgstr[0] "CRIT 工程師套裝" #. ~ Description for CRIT Engineering Suit #: lang/json/ARMOR_from_json.py @@ -14160,7 +14885,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "CRIT Armored Anomaly Suit" msgid_plural "CRIT Armored Anomaly Suits" -msgstr[0] "" +msgstr[0] "CRIT 裝甲異特套裝" #. ~ Description for CRIT Armored Anomaly Suit #: lang/json/ARMOR_from_json.py @@ -14174,7 +14899,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "CRIT drop leg pouch" msgid_plural "C.R.I.T drop leg pouches" -msgstr[0] "" +msgstr[0] "CRIT 腿袋" #. ~ Description for CRIT drop leg pouch #: lang/json/ARMOR_from_json.py @@ -14186,7 +14911,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "CRIT Enforcer armor assembly" msgid_plural "CRIT Enforcer armor assemblys" -msgstr[0] "" +msgstr[0] "CRIT 執法者組合裝甲" #. ~ Description for CRIT Enforcer armor assembly #: lang/json/ARMOR_from_json.py @@ -14203,7 +14928,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "pair of CRIT Enforcer docks" msgid_plural "pairs of CRIT Enforcer docks" -msgstr[0] "" +msgstr[0] "CRIT 執法者裝甲靴" #. ~ Description for pair of CRIT Enforcer docks #: lang/json/ARMOR_from_json.py @@ -14218,7 +14943,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "CRIT Soldier Suit" msgid_plural "CRIT Soldier Suits" -msgstr[0] "" +msgstr[0] "CRIT 士兵套裝" #. ~ Description for CRIT Soldier Suit #: lang/json/ARMOR_from_json.py @@ -14232,7 +14957,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "CRIT Lone Wolf Series Armor" msgid_plural "CRIT Lone Wolf Series Armors" -msgstr[0] "" +msgstr[0] "CRIT 孤狼系列裝甲" #. ~ Description for CRIT Lone Wolf Series Armor #: lang/json/ARMOR_from_json.py @@ -14246,7 +14971,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "C.R.I.T blouse" msgid_plural "C.R.I.T blouses" -msgstr[0] "" +msgstr[0] "CRIT 上衣" #. ~ Description for C.R.I.T blouse #: lang/json/ARMOR_from_json.py @@ -14260,7 +14985,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "C.R.I.T trousers" msgid_plural "C.R.I.T trouserss" -msgstr[0] "" +msgstr[0] "CRIT 褲子" #. ~ Description for C.R.I.T trousers #: lang/json/ARMOR_from_json.py @@ -14280,7 +15005,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "C.R.I.T helmet liner" msgid_plural "C.R.I.T helmet liners" -msgstr[0] "" +msgstr[0] "CRIT 頭盔內襯" #. ~ Description for C.R.I.T helmet liner #: lang/json/ARMOR_from_json.py @@ -14290,7 +15015,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "pair of C.R.I.T shoes" msgid_plural "pairs of C.R.I.T dress shoes" -msgstr[0] "" +msgstr[0] "CRIT 正裝鞋" #. ~ Description for pair of C.R.I.T shoes #: lang/json/ARMOR_from_json.py @@ -14300,7 +15025,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "pair of C.R.I.T rec gloves" msgid_plural "pair of C.R.I.T rec glovess" -msgstr[0] "" +msgstr[0] "CRIT 休閒手套" #. ~ Description for pair of C.R.I.T rec gloves #: lang/json/ARMOR_from_json.py @@ -14312,7 +15037,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "C.R.I.T web belt" msgid_plural "C.R.I.T web belts" -msgstr[0] "" +msgstr[0] "CRIT 腰帶" #. ~ Description for C.R.I.T web belt #: lang/json/ARMOR_from_json.py @@ -14324,7 +15049,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "C.R.I.T rec duster" msgid_plural "C.R.I.T rec dusters" -msgstr[0] "" +msgstr[0] "CRIT 休閒防塵大衣" #. ~ Description for C.R.I.T rec duster #: lang/json/ARMOR_from_json.py @@ -14337,7 +15062,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "C.R.I.T rec hat" msgid_plural "C.R.I.T rec hats" -msgstr[0] "" +msgstr[0] "CRIT 休閒帽" #. ~ Description for C.R.I.T rec hat #: lang/json/ARMOR_from_json.py @@ -14350,7 +15075,7 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "CRIT canteen" msgid_plural "CRIT canteens" -msgstr[0] "" +msgstr[0] "CRIT 水壺" #. ~ Description for CRIT canteen #: lang/json/ARMOR_from_json.py @@ -14362,14 +15087,14 @@ msgstr "" #: lang/json/ARMOR_from_json.py msgid "wet bandana" msgid_plural "wet bandanas" -msgstr[0] "" +msgstr[0] "濕方巾" #. ~ Description for wet bandana #: lang/json/ARMOR_from_json.py msgid "" "A dampened cotton bandana, worn over the mouth for a extra protection from " "dust and other contaminants." -msgstr "" +msgstr "濕潤的棉質方巾,戴在嘴上能提供額外防護塵土與其他污染物。" #. ~ Description for pistol bandolier #: lang/json/ARMOR_from_json.py @@ -14383,6 +15108,50 @@ msgid "shotgun bandolier" msgid_plural "shotgun bandoliers" msgstr[0] "霰彈槍斜背子彈帶" +#: lang/json/ARMOR_from_json.py +msgid "technomancer's toolbelt" +msgid_plural "technomancer's toolbelts" +msgstr[0] "" + +#. ~ Description for technomancer's toolbelt +#: lang/json/ARMOR_from_json.py +msgid "" +"A custom-built leather utility belt that instantly creates any tool that you" +" reach for. Activate to sheathe/draw a weapon." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "seven league boots" +msgid_plural "pairs of seven league boots" +msgstr[0] "" + +#. ~ Description for seven league boots +#. ~ Description for boots of haste +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, they look like they've seen a lot of use and will likely see a lot " +"more. They make your movement a lot less work." +msgstr "" + +#: lang/json/ARMOR_from_json.py +msgid "boots of haste" +msgid_plural "pairs of boots of haste" +msgstr[0] "" + +#: lang/json/ARMOR_from_json.py +msgid "boots of grounding" +msgid_plural "pairs of boots of grounding" +msgstr[0] "" + +#. ~ Description for boots of grounding +#: lang/json/ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of leather with " +"small engraved runes seemingly filled with rubber. When worn, you are " +"immune to damage from electricity." +msgstr "" + #: lang/json/ARMOR_from_json.py msgid "copper infusion bracelet" msgid_plural "copper infusion bracelets" @@ -14403,9 +15172,9 @@ msgstr[0] "銅飾環" #. ~ Description for copper circlet #: lang/json/ARMOR_from_json.py msgid "" -"A wooden band with copper trimmings to be worn on the head. Touching your " +"A wooden band with copper trimmings to be worn on the head. Touching your " "temples with it on makes you feel very calm." -msgstr "一個鑲有銅飾的木質環帶,可戴在頭上。當它觸及你的太陽穴時,你感到非常地寧靜祥和。" +msgstr "" #: lang/json/ARMOR_from_json.py msgid "pair of black dragonscale boots" @@ -14979,9 +15748,10 @@ msgstr[0] "CBM: 偽裝系統" msgid "" "This high-power system uses a set of cameras and LEDs to make the user blend" " into their surroundings, rendering them fully invisible to eyes and optical" -" sensors. However, this does't prevent detection from other means such as " +" sensors. However, this doesn't prevent detection from other means such as " "infrared, sonar, etc." msgstr "" +"這個高耗能的系統使用了攝影與顯像技術讓使用者融入周圍環境,讓眼睛和光學傳感器完全看不見他們。但是這無法阻止通過其他手段(例如紅外線,聲納等)進行偵測。" #: lang/json/BIONIC_ITEM_from_json.py msgid "Close Quarters Battle CBM" @@ -15072,9 +15842,9 @@ msgstr[0] "CBM: 酒精發電器" #. ~ Description for Ethanol Burner CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A reactor that burns alcohol as fuel in an extremely efficient reaction. " -"However, the user will still suffer the inebriating effects of the " -"substance." +"A reactor that burns alcohol as fuel in an extremely efficient reaction. It" +" can store up to 500ml and accept ethanol, methanol and denatured aclohol as" +" fuel." msgstr "" #: lang/json/BIONIC_ITEM_from_json.py @@ -15083,8 +15853,7 @@ msgid_plural "Aero-Evaporator CBMs" msgstr[0] "CBM: 濕氣凝水裝置" #. ~ Description for Aero-Evaporator CBM -#. ~ Description for Aero-Evaporator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "This unit draws moisture from the surrounding air, which then is poured from" " a fingertip in the form of water. It may fail in very dry environments." @@ -15124,9 +15893,9 @@ msgstr[0] "CBM: 易容裝置" #: lang/json/BIONIC_ITEM_from_json.py msgid "" "Through controlled application of electrochemical impulses, this bionic " -"mudule lets the user alter their facial structure so as to subtly affect the" +"module lets the user alter their facial structure so as to subtly affect the" " reactions of others. This grants a bonus to all social interactions." -msgstr "" +msgstr "透過控制施加的電子脈衝,這個生化插件能讓使用者調整臉部結構,從而巧妙地影響他人的反應。在所有社交互動上提供優勢。" #: lang/json/BIONIC_ITEM_from_json.py msgid "Dielectric Capacitance System CBM" @@ -15148,10 +15917,10 @@ msgstr[0] "CBM: 手指駭客" #. ~ Description for Fingerhack CBM #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"A miniature electrohack, surgically embedded in a finger of the right hand. " -"This is an all-purpose hacking unit used to override control panels and the " -"like, but not computers. Computer proficiency is important, and a failed " -"use may cause damage." +"A miniature electrohack, surgically embedded in a finger of the right hand." +" This is an all-purpose hacking unit used to override control panels and " +"the like, but not computers. Computer proficiency is important, and a " +"failed use may cause damage." msgstr "" #: lang/json/BIONIC_ITEM_from_json.py @@ -15423,8 +16192,7 @@ msgid_plural "Artificial Night Generator CBMs" msgstr[0] "CBM: 黑夜產生器" #. ~ Description for Artificial Night Generator CBM -#. ~ Description for Artificial Night Generator -#: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py +#: lang/json/BIONIC_ITEM_from_json.py msgid "" "When active, this bionic eliminates all light within a 15 tile radius " "through destructive interference." @@ -15491,7 +16259,7 @@ msgstr[0] "CBM: 動力裝甲介面 Mk. II" msgid "" "Interfaces the user's bionic power system with the internal charging port on" " suits of power armor, allowing them to draw from the user's bionic power " -"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " +"banks. Twice as efficient as the Mk. I model. The Mk. II was designed by " "DoubleTech Inc., to meet the popularity of the Mk. II power armor series." msgstr "" @@ -15998,9 +16766,9 @@ msgstr[0] "很癢的金屬東西" #. ~ Description for Itchy Metal Thing #: lang/json/BIONIC_ITEM_from_json.py msgid "" -"You can't recognise what this is supposed to be, but it's a very awkward " +"You can't recognize what this is supposed to be, but it's a very awkward " "thing to have in one's body." -msgstr "" +msgstr "你看不出來這東西原本的目的,但這裝在身上實在是癢死人了。" #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Glowy Thing" @@ -16009,9 +16777,8 @@ msgstr[0] "發出微光的玩意兒" #. ~ Description for Glowy Thing #: lang/json/BIONIC_ITEM_from_json.py -msgid "" -"It's a... thing? And it glows, at least it did when it was plugged in." -msgstr "這是一個......東西?它微微地發光,至少在它被安上的時候。" +msgid "It's a… thing? And it glows, at least it did when it was plugged in." +msgstr "" #: lang/json/BIONIC_ITEM_from_json.py lang/json/bionic_from_json.py msgid "Leaky Bionic" @@ -16542,8 +17309,8 @@ msgstr[0] "供餐人" #. ~ Description for To Serve Man #: lang/json/BOOK_from_json.py -msgid "It's... it's a cookbook!" -msgstr "這… 這是一本食譜?!" +msgid "It's… it's a cookbook!" +msgstr "" #: lang/json/BOOK_from_json.py msgid "Cucina Italiana" @@ -16630,8 +17397,8 @@ msgstr[0] "PE050 \"阿爾法\": 初步報告" msgid "" "This sheaf of papers-dated two weeks before all this started-describes some " "new chemical formula, and its effects on human subjects. It's stamped " -"\"APPROVED\"..." -msgstr "這疊紙上印的日期是兩週之前, 講述了一些新的化學配方, 及其對人類受試者的影響。已被蓋上 \"批准\" 的章…" +"\"APPROVED\"…" +msgstr "" #: lang/json/BOOK_from_json.py msgid "lab journal-Dionne" @@ -16655,8 +17422,8 @@ msgstr[0] "PE065 \"嵌合體\": 最佳實踐" #: lang/json/BOOK_from_json.py msgid "" "This sheaf of papers describes a new chemical formula in detail and supplies" -" instructions for its use as some sort of ... crowd-control catalyst? That " -"can't be right..." +" instructions for its use as some sort of… crowd-control catalyst? That " +"can't be right…" msgstr "" #: lang/json/BOOK_from_json.py @@ -16669,8 +17436,8 @@ msgstr[0] "實驗室日誌-Smythe" msgid "" "This team logbook details several varieties of mutagenic experiments, " "focusing on those derived from flesh contaminated with XE037. The results " -"look promising but the procurement methods seem awfully vague..." -msgstr "該團隊日誌詳述了幾個品種的突變實驗, 著眼於感染 XE037 之肉體的衍生。結果看起來很前途, 但是採購方式卻很模糊…" +"look promising but the procurement methods seem awfully vague…" +msgstr "" #: lang/json/BOOK_from_json.py msgid "standpipe maintenance log" @@ -16682,8 +17449,8 @@ msgstr[0] "豎管維護日誌" msgid "" "This binder details the scheduled maintenance for several plumbing systems " "throughout the facility. However, some of the log sheets seem to be filled " -"with...a chemical formula?" -msgstr "這個文件詳細記錄了貫穿各設施的管道系統的維護狀況。然而, 一些記錄表中似乎充滿了… 化學式?" +"with… a chemical formula?" +msgstr "" #: lang/json/BOOK_from_json.py msgid "chemical reference-CLASSIFIED" @@ -16724,8 +17491,8 @@ msgstr[0] "PE023 \"醫療\": 應用與結果" #: lang/json/BOOK_from_json.py msgid "" "This binder of highly technical papers describes some new chemical formula, " -"and its effects on human subjects. It's stamped \"APPROVED\"...." -msgstr "描述一些新的化學配方的高科技技術報告, 及其對人類受試者的影響。它蓋了 \"批准\" 的章…" +"and its effects on human subjects. It's stamped \"APPROVED\"…" +msgstr "" #: lang/json/BOOK_from_json.py msgid "PE070 \"Raptor\": Proposal" @@ -16989,8 +17756,8 @@ msgstr[0] "實驗室日誌-Herrera" msgid "" "This hefty binder contains a multitude of diagrams and technical " "specifications for various electronic materials. Some of the diagrams use " -"symbols you've not seen before..." -msgstr "這沉重的文件含有大量的圖表和各種電子材料的技術規範。有些圖表運用了你從來沒看過的符號…" +"symbols you've not seen before…" +msgstr "" #: lang/json/BOOK_from_json.py msgid "2XI design binder-CLASSIFIED" @@ -17052,13 +17819,13 @@ msgstr[0] "泛型原理圖" #. ~ Description for nearby fire #. ~ Description for muscle #. ~ Description for wind +#. ~ Description for metabolism #. ~ Description for a smoking device and a source of flame #. ~ Description for abstract map #. ~ Description for seeing this is a bug #. ~ Description for weapon #: lang/json/BOOK_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py #: lang/json/furniture_from_json.py lang/json/skill_from_json.py msgid "seeing this is a bug" msgid_plural "seeing this is a bugs" @@ -17391,9 +18158,9 @@ msgstr[0] "手工填彈指南" #: lang/json/BOOK_from_json.py msgid "" "Everything you could ever want to know about handloading ammunition, sealed " -"with a ...childproof cover. Apparently a liability thing, because the " -"chapter on explosive rounds covers them in excellent detail too." -msgstr "裡面有關於手工裝配子彈的所有知識, 封面有著… 18 禁的標誌。顯然這是必要的, 因為裡面有個章節詳細講述了高爆子彈。" +"with a… childproof cover. Apparently a liability thing, because the chapter" +" on explosive rounds covers them in excellent detail too." +msgstr "" #: lang/json/BOOK_from_json.py msgid "Rivtech design binder" @@ -17858,7 +18625,7 @@ msgid "" "This lab notebook is filled with the collective discoveries and refinements " "of a research team dedicated to nuclear energy. You don't think you're " "ready to start a second Cataclysm, but the general information provided " -"might be useful..." +"might be useful…" msgstr "" #: lang/json/BOOK_from_json.py @@ -19121,6 +19888,34 @@ msgid "" " that the author's real name is Fereidoun M. Esfandiary." msgstr "" +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Bastiat Collection\", a large collection of essays " +"by Frederic Bastiat." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Anarchy, State, and Utopia\" by Robert Nozick, one of " +"the most influential books of modern libertarianism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Socialism\" by Ludwig von Mises, a critical examination " +"of socialism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The ABC of Communism\" by Nikolai Bukharin, one of the " +"most influential books of early Marxism-Leninism." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Anti-Capitalist Mentality\" by Ludwig von Mises." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "phone book" msgid_plural "phone books" @@ -19188,8 +19983,8 @@ msgstr[0] "企業財務報表" #. ~ Description for corporate accounting ledger #: lang/json/BOOK_from_json.py -msgid "If you knew what to look for something might stand out..." -msgstr "如果你看懂的話, 會有人跳腳的…" +msgid "If you knew what to look for something might stand out…" +msgstr "" #: lang/json/BOOK_from_json.py msgid "patient treatment records" @@ -19426,6 +20221,106 @@ msgstr "這是杜馬斯的“基督山伯爵”的副本。" msgid "This is a copy of \"The Secret Garden\" by Frances Burnett." msgstr "這是法蘭西絲·霍森·柏納特的“秘密花園”的副本。" +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lieutenant Hornblower\" by C.S. Forester." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Master and Commander\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Warden\" by Anthony Trollope." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Far Side of the World\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"HMS Surprise\" by Patrick O'Brian." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Barchester Towers\" by Anthony Trollope." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Land Ironclads\" by H.G. Wells." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Great Boer War\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Crime of the Congo\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Parasite\" by Arthur Conan Doyle." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"By Stroke of Sword\" by Andrew Balfour." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Secret Agent\" by Joseph Conrad." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Lord Jim\" by Joseph Conrad." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Vanity Fair\" by William Makepeace Thackeray." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"The Luck of Barry Lyndon\" by William Makepeace " +"Thackeray." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"North and South\" by Elizabeth Gaskell." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Mayor of Casterbridge\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Wessex Tales\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Far from the Madding Crowd\" by Thomas Hardy." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Captains Courageous\" by Rudyard Kipling." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"The Canterbury Tales\" by Geoffrey Chaucer." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "" +"This is a copy of \"Harold, the Last of the Saxons\" by Edward Bulwer-" +"Lytton." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Mr Midshipman Easy\" by Frederick Marryat." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "This is a copy of \"Peter Simple\" by Frederick Marryat." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "collector's edition book" msgid_plural "collector's edition book" @@ -20314,10 +21209,11 @@ msgstr "玩家試圖找出是誰謀殺了管家的遊戲。" #: lang/json/BOOK_from_json.py msgid "Black Dragons: Swamp Ruins" -msgid_plural "Black Dragons: Swamp Ruinss" -msgstr[0] "黑龍:沼澤廢墟" +msgid_plural "copies of Black Dragons: Swamp Ruins" +msgstr[0] "《黑龍:沼澤廢墟》的副本" -#. ~ Description for Black Dragons: Swamp Ruins +#. ~ Description for {'str': 'Black Dragons: Swamp Ruins', 'str_pl': 'copies +#. of Black Dragons: Swamp Ruins'} #: lang/json/BOOK_from_json.py msgid "" "This book details black dragons: The most evil of dragons, who live in ruins" @@ -20329,26 +21225,57 @@ msgstr "" #: lang/json/BOOK_from_json.py msgid "A Beginner's Guide to Alchemy" -msgid_plural "A Beginner's Guide to Alchemys" -msgstr[0] "煉金術初學指南" +msgid_plural "copies of A Beginner's Guide to Alchemy" +msgstr[0] "《煉金術初學指南》的副本" -#. ~ Description for A Beginner's Guide to Alchemy +#. ~ Description for {'str': "A Beginner's Guide to Alchemy", 'str_pl': +#. "copies of A Beginner's Guide to Alchemy"} #: lang/json/BOOK_from_json.py msgid "A paperback tome for the art of liquid magic, alcohol not included." msgstr "一本關於液態魔法技藝的平裝魔典,但不包括酒類。" #: lang/json/BOOK_from_json.py msgid "A Soulbinder's Guide to Necromancy" -msgid_plural "A Soulbinder's Guide to Necromancys" -msgstr[0] "死靈法術的靈魂束縛者指南" +msgid_plural "copies of A Soulbinder's Guide to Necromancy" +msgstr[0] "《死靈法術的靈魂束縛者指南》的副本" -#. ~ Description for A Soulbinder's Guide to Necromancy +#. ~ Description for {'str': "A Soulbinder's Guide to Necromancy", 'str_pl': +#. "copies of A Soulbinder's Guide to Necromancy"} #: lang/json/BOOK_from_json.py msgid "" "A paperback tome for the art of binding undead creatures' souls to dolls, " "along with emulating their healing factor." msgstr "一本平裝魔典,記述將不死生物靈魂綁定到玩偶的技藝,以及模仿它們的治療因子。" +#: lang/json/BOOK_from_json.py +msgid "Magitek Illustrated" +msgid_plural "copies of Magitek Illustrated" +msgstr[0] "" + +#. ~ Description for {'str': 'Magitek Illustrated', 'str_pl': 'copies of +#. Magitek Illustrated'} +#: lang/json/BOOK_from_json.py +msgid "" +"A paperback tome for the art of combining modern technology with magic. " +"There is a disclaimer on the back: `Cannith Industries bears no " +"responsibility for malfunctions or accidents for any products mentioned " +"herein`." +msgstr "" + +#: lang/json/BOOK_from_json.py +msgid "The Weapons of Asgard and Beyond" +msgid_plural "copies of The Weapons of Asgard and Beyond" +msgstr[0] "" + +#. ~ Description for {'str': 'The Weapons of Asgard and Beyond', 'str_pl': +#. 'copies of The Weapons of Asgard and Beyond'} +#: lang/json/BOOK_from_json.py +msgid "" +"An ornate book which appears to be written in Norse runes. Based on the " +"detailed illustrations, it appears to contain information about crafting " +"numerous weapons used by various Gods." +msgstr "" + #: lang/json/BOOK_from_json.py msgid "SugarKin flyer" msgid_plural "SugarKin flyers" @@ -20357,13 +21284,13 @@ msgstr[0] "" #. ~ Description for SugarKin flyer #: lang/json/BOOK_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" +"A flyer for some kind of candy. It shows a picture of a gleaming human made of smooth candy looking at you in terror. \"SugarKin the first life-size human candy! Are you a real monster? Will you be able to devour it?\"\n" " On the back of the flyer you can see some hastily scribbled words:\n" -" \"Hello my child and welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" +" \"Hello, my child, welcome to this world. A world where you'll be able to thrive if you follow a few rules: \n" "1) Never ever get into contact with water, it would melt you! \n" -"2) Avoid humans wiht clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" -"3) Learn how to make caramel ointement, it's the only way to fix your body if you get hurt.\n" -" There's many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" +"2) Avoid humans with clear eyes they are very dangerous! (You can ignore the ones with black eyes they are harmless to you.) \n" +"3) Learn how to make caramel ointment, it's the only way to fix your body if you get hurt.\n" +" There are many more things I'd like to tell you but I must leave before it's too late. I've made you a friend to keep you company, be kind to it. \n" " I love you,\n" " - F. \"." msgstr "" @@ -20783,7 +21710,7 @@ msgstr "乙炔" #. ~ Description for acetylene #: lang/json/COMESTIBLE_from_json.py msgid "" -"A flammable gas that explodes under pressure. Combined with oxygen, " +"A flammable gas that explodes under pressure. Combined with oxygen, " "acetylene makes a great welding gas." msgstr "易燃氣體,在壓力下會爆炸。乙炔與氧氣結合使用,是一種很好的焊接氣體。" @@ -21653,6 +22580,40 @@ msgstr "大型人胃" msgid "The stomach of a large humanoid creature. It is surprisingly durable." msgstr "來自人型生物的大型胃袋, 比想像中結實。" +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of human fat" +msgid_plural "chunks of human fat" +msgstr[0] "" + +#. ~ Description for chunk of human fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly harvested from a human body." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human tallow" +msgstr "" + +#. ~ Description for human tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered human fat. It will remain " +"edible for a very long time, and can be used as an ingredient in many foods " +"and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "human lard" +msgstr "" + +#. ~ Description for human lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered human fat. It will remain edible for a" +" very long time, and can be used as an ingredient in many foods and " +"projects." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "human flesh" msgid_plural "human fleshes" @@ -21695,6 +22656,59 @@ msgid "" "pinch." msgstr "這是一小塊食用肉。 它並不多,但在你沒有選擇時也夠了。" +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant meat" +msgid_plural "chunks of mutant meat" +msgstr[0] "突變體肉塊" + +#. ~ Description for chunk of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Meat from a heavily mutated animal. It has an unsettling loose and spongy " +"texture, but smells… mostly normal. There are strange tangles and " +"formations in it that don't appear natural at all: bits of bone and hair " +"crusted up inside the muscle, as if trying to form another organism. Still," +" seems digestible at least, if you cook it and remove the worst parts." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "scrap of mutant meat" +msgid_plural "scraps of mutant meat" +msgstr[0] "突變體肉碎片" + +#. ~ Description for scrap of mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A tiny scrap of meat from a heavily mutated animal. It smells a bit odd, " +"and has bits of hair and bone mixed in that seem like they grew inside the " +"muscle itself. Still, seems digestible at least, if you cook it and remove " +"the worst parts." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid meat" +msgstr "" + +#. ~ Description for mutant humanoid meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered from the body of a heavily mutated creature that was " +"unsettlingly humanoid in appearance. It has odd bits of fur and other " +"tissue lodged in it that clearly don't belong. You'd have to be crazy or " +"starving to eat this." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked cretin" +msgstr "" + +#. ~ Description for cooked cretin +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Cooked meat from a heavily mutated humanoid. Now that the worst bits have " +"been picked out, it's probably digestible, if not very appetizing." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "butchery refuse" msgid_plural "butchery refuse" @@ -21726,6 +22740,23 @@ msgid "cooked scrap of meat" msgid_plural "cooked scraps of meat" msgstr[0] "煮熟的肉渣" +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked mutant meat" +msgstr "煮熟的突變體肉" + +#. ~ Description for cooked mutant meat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"This is a cooked chunk of meat from a mutated animal. It has an unsettling," +" spongy texture, but otherwise tastes… mostly normal. Hopefully you got all" +" the bits of hair and bone out…" +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "cooked scrap of mutant meat" +msgid_plural "cooked scraps of mutant meat" +msgstr[0] "煮熟的突變體肉碎片" + #: lang/json/COMESTIBLE_from_json.py msgid "raw offal" msgstr "生內臟" @@ -21920,8 +22951,8 @@ msgstr[0] "生腦" #. ~ Description for raw brains #: lang/json/COMESTIBLE_from_json.py -msgid "The brain from an animal. You wouldn't want to eat this raw..." -msgstr "動物體內的大腦。你不會想生吃它的..." +msgid "The brain from an animal. You wouldn't want to eat this raw…" +msgstr "來自動物的大腦。你不會想生吃它的..." #: lang/json/COMESTIBLE_from_json.py msgid "cooked brains" @@ -21972,7 +23003,7 @@ msgstr "熟胰臟" #. ~ Description for cooked sweetbread #: lang/json/COMESTIBLE_from_json.py -msgid "Normally a delicacy, it needs a little... something." +msgid "Normally a delicacy, it needs a little… something." msgstr "照理說應該很美味,但它還需要...一些東西調味。" #: lang/json/COMESTIBLE_from_json.py @@ -22022,6 +23053,76 @@ msgid "" "projects." msgstr "一塊從動物脂肪中提煉乾燥而成的白色光滑物體。它的食用保存期限非常長, 並且可以用作許多食品和製作的原料。" +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant fat" +msgid_plural "chunks of mutant fat" +msgstr[0] "突變體脂肪塊" + +#. ~ Description for chunk of mutant fat +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Freshly butchered fat from a heavily mutated animal. You could eat it raw, " +"but it is better used as an ingredient in other foods or projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant tallow" +msgstr "突變體動物脂" + +#. ~ Description for mutant tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"animal. It will remain edible for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant lard" +msgstr "突變體豬油" + +#. ~ Description for mutant lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant animal. It " +"will remain edible for a very long time, and can be used as an ingredient in" +" many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "chunk of mutant humanoid fat" +msgid_plural "chunks of mutant humanoid fat" +msgstr[0] "" + +#. ~ Description for chunk of mutant humanoid fat +#: lang/json/COMESTIBLE_from_json.py +msgid "Freshly butchered fat from a heavily mutated humanoid." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid tallow" +msgstr "" + +#. ~ Description for mutant humanoid tallow +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of cleaned and rendered fat sourced from a mutant " +"humanoid. It won't rot for a very long time, and can be used as an " +"ingredient in many foods and projects." +msgstr "" + +#: lang/json/COMESTIBLE_from_json.py +msgid "mutant humanoid lard" +msgstr "" + +#. ~ Description for mutant humanoid lard +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A smooth white block of dry-rendered fat sourced from a mutant humanoid. It" +" won't rot for a very long time, and can be used as an ingredient in many " +"foods and projects." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "chunk of tainted meat" msgid_plural "chunks of tainted meat" @@ -22190,10 +23291,8 @@ msgid "" "covered in ribbed grooves and easily the size of your head. It's still full" " of, er, whatever passes for blood in jabberwocks, and is heavy in your " "hands. After everything you've seen lately, you can't help but remember old" -" sayings about eating the hearts of your enemies..." +" sayings about eating the hearts of your enemies…" msgstr "" -"厚重的一團肉, 看似一顆哺乳動物的心臟, 藏在肋槽間, 接近你頭部的大小。它仍然充滿著… 呃… 管它是啥地從變種魔獸血液流過的東西, " -"在你的手中顯得很沉重。在你最近經歷的種種事情後, 你不禁想起關於吃掉敵人心臟的傳說…" #: lang/json/COMESTIBLE_from_json.py msgid "desiccated putrid heart" @@ -22207,7 +23306,7 @@ msgid "" "looks *disgusting*." msgstr "一塊巨大的肌肉, 腐爛心臟的所有殘餘, 已被切開並排出血液。如果你餓的話就可以吃了它, 只是看起來有些 *噁心*。" -#: lang/json/COMESTIBLE_from_json.py +#: lang/json/COMESTIBLE_from_json.py lang/json/ammunition_type_from_json.py msgid "raw milk" msgid_plural "raw milk" msgstr[0] "生乳" @@ -22497,9 +23596,9 @@ msgstr[0] "菊苣咖啡" #. ~ Description for chicory brew #: lang/json/COMESTIBLE_from_json.py msgid "" -"Toasted, ground chicory root steeped in boiling water. This bitter brew is " +"Toasted, ground chicory root steeped in boiling water. This bitter brew is " "used as a coffee substitute, though it tastes nothing like coffee." -msgstr "烘烤後、磨碎的菊苣根浸泡在沸水中。這種苦味飲品用來當作咖啡的替代品,雖然它的味道不像咖啡。" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "dark cola" @@ -23335,10 +24434,11 @@ msgstr "切成環狀的鳳梨浸在糖水裡。滿好吃的。" #: lang/json/COMESTIBLE_from_json.py msgid "lemonade drink mix" -msgid_plural "servings of lemonade drink mix" +msgid_plural "lemonade drink mix" msgstr[0] "檸檬水沖劑" -#. ~ Description for lemonade drink mix +#. ~ Description for {'str': 'lemonade drink mix', 'str_pl': 'lemonade drink +#. mix'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Tangy yellow powder that smells strongly of lemons. Can be mixed with water" @@ -24031,8 +25131,8 @@ msgstr[0] "奶油花生糖" #. ~ Description for peanut butter candy #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of peanut butter cups... your favorite!" -msgstr "一把奶油花生糖… 你的最愛!" +msgid "A handful of peanut butter cups… your favorite!" +msgstr "少量奶油花生糖… 你的最愛!" #: lang/json/COMESTIBLE_from_json.py msgid "chocolate candy" @@ -24140,7 +25240,7 @@ msgstr "美味的巧克力蛋糕。裹滿了糖衣。滿滿的。" #: lang/json/COMESTIBLE_from_json.py msgid "" "A cake coated in the thickest icing you've ever seen. Someone has written " -"guff in quotation marks on it..." +"guff in quotation marks on it…" msgstr "裹滿了你從沒看過的厚厚糖衣。有人在蛋糕上面寫了瘋話…" #: lang/json/COMESTIBLE_from_json.py @@ -24181,8 +25281,8 @@ msgstr[0] "薄荷餡餅" #. ~ Description for peppermint patty #: lang/json/COMESTIBLE_from_json.py -msgid "A handful of soft chocolate-covered peppermint patties... yum!" -msgstr "一把覆蓋巧克力的軟薄荷餡餅… 味道好極了!" +msgid "A handful of soft chocolate-covered peppermint patties… yum!" +msgstr "一把覆蓋巧克力的軟薄荷餡餅… 味道好極了!" #: lang/json/COMESTIBLE_from_json.py msgid "Necco wafers" @@ -25153,7 +26253,7 @@ msgstr "用薄麵皮將肉類內餡包起, 煮熟後就是份美味的餃子。" #: lang/json/COMESTIBLE_from_json.py msgid "homemade burrito" -msgstr "" +msgstr "自製墨西哥捲餅" #. ~ Description for homemade burrito #: lang/json/COMESTIBLE_from_json.py @@ -25493,10 +26593,10 @@ msgstr[0] "抗生素" #. ~ Description for antibiotics #: lang/json/COMESTIBLE_from_json.py msgid "" -"A prescription-strength antibacterial medication designed to prevent or stop" -" the spread of infection. It's the quickest and most reliable way to cure " -"any infections you might have. One dose lasts twelve hours." -msgstr "一種醫生處方的抗菌藥物,用於預防或者阻止感染擴散。這是治療你身上的感染症狀的最快和最可靠的方法。一劑可持續十二小時。" +"A strong antibacterial medication designed to prevent or stop the spread of " +"infection. It's the safest way to cure any infections you might have. One " +"dose lasts twelve hours." +msgstr "一種強效的抗菌藥物,用於預防或阻止感染擴散。這是治癒任何感染的最安全方法。一劑藥效持續十二小時。" #: lang/json/COMESTIBLE_from_json.py msgid "antifungal drug" @@ -25583,7 +26683,7 @@ msgstr[0] "殺菌粉" msgid "" "A powdered form of chemical antiseptic, this bismuth formic iodide cleans " "wounds quickly and painlessly." -msgstr "" +msgstr "粉狀的化學殺菌劑,這種碘化鉍鉀粉末可以快速輕鬆的處理傷口。" #: lang/json/COMESTIBLE_from_json.py msgid "caffeinated chewing gum" @@ -26309,8 +27409,8 @@ msgstr[0] "消毒過的布條" #. ~ Description for antiseptic soaked rag #: lang/json/COMESTIBLE_from_json.py msgid "" -"A rag soaked in antiseptic. Useful for light wounds, probaby won't help with" -" deep bites." +"A rag soaked in antiseptic. Useful for light wounds, probaby won't help " +"with deep bites." msgstr "一條浸泡過消毒劑的布條。對小傷口有幫助,對被咬得很深的傷口沒用。" #: lang/json/COMESTIBLE_from_json.py @@ -26366,7 +27466,7 @@ msgid "" "oily liquid that shifts from black to purple at unpredictable intervals, " "flecked with tiny gray dots. Given the place you got it from, it's either " "very potent, or highly experimental. Holding it, all the little aches and " -"pains seem to fade, just for a moment..." +"pains seem to fade, just for a moment…" msgstr "" "一個鮮紅色的凝膠膠囊,大約指甲大小。裝入了濃稠的油性液體,顏色時而轉黑時而轉紫,並且帶有灰色斑點。考量到你取得的地點,這東西看似為高度實驗性的物品。握著它,似乎所有的疼痛都消失了..." @@ -26382,6 +27482,20 @@ msgid "" " painkiller." msgstr "從香蒲中收穫的透明膠質,具有防腐功能,可作為止痛藥使用。" +#: lang/json/COMESTIBLE_from_json.py +msgid "destragon" +msgstr "烈性抗生素" + +#. ~ Description for destragon +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"A prescription-strength antibacterial medication designed to prevent or stop" +" the spread of infection. It contains nearly toxic levels of antibiotics, " +"but can treat any bacterial infections you may encounter. One dose lasts " +"twelve hours." +msgstr "" +"一種醫生才能開立的猛烈抗菌藥物,用於預防或阻止感染擴散。雖然它具有近似毒素等級的抗生素,但能夠治療你遭受的任何細菌感染。一劑藥效持續十二小時。" + #: lang/json/COMESTIBLE_from_json.py msgid "MRE entree" msgstr "MRE主菜" @@ -26742,9 +27856,9 @@ msgstr "抽象IV誘變劑風味" #. ~ Description for abstract iv mutagen flavor #: lang/json/COMESTIBLE_from_json.py msgid "" -"A super-concentrated mutagen. You need a syringe to inject it... if you " +"A super-concentrated mutagen. You need a syringe to inject it… if you " "really want to?" -msgstr "一個超濃縮的突變劑。你需要一個針筒才能注射… 如果你真的想這麼做?" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "mutagenic serum" @@ -26758,8 +27872,8 @@ msgstr "阿爾法血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen strongly resembling blood. You need a syringe " -"to inject it... if you really want to?" -msgstr "一個非常像是血液的超濃縮突變劑。你需要一個針筒才能注射… 如果你真的想這麼做?" +"to inject it… if you really want to?" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "beast serum" @@ -26769,8 +27883,8 @@ msgstr "獸形血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as red as a matador's cape. You need a syringe" -" to inject it... if you really want to?" -msgstr "一個超濃縮的誘變劑,像鬥牛士的斗篷一樣紅。你需要一個針筒才能注射… 如果你真的想這麼做?" +" to inject it… if you really want to?" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "bird serum" @@ -26780,8 +27894,8 @@ msgstr "鳥形血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the pre-cataclysmic skies. You " -"need a syringe to inject it... if you really want to?" -msgstr "一個有著末日前天空色的超濃縮突變劑。你需要一個針筒才能注射… 如果你真的想這麼做?" +"need a syringe to inject it… if you really want to?" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "cattle serum" @@ -26791,8 +27905,8 @@ msgstr "牛形血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of grass. You need a syringe to " -"inject it... if you really want to?" -msgstr "一個草綠色的超濃縮突變劑。你需要一個針筒才能注射… 如果你真的想這麼做?" +"inject it… if you really want to?" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "cephalopod serum" @@ -26802,8 +27916,8 @@ msgstr "頭足類血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as black as ink. You need a syringe to inject " -"it... if you really want to?" -msgstr "一個宛如墨水的超濃縮的誘變劑。你需要一個針筒才能注射… 如果你真的想這麼做?" +"it… if you really want to?" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "chimera serum" @@ -26813,8 +27927,8 @@ msgstr "嵌合體血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that churns with iridescence. You need a " -"syringe to inject it... if you really want to?" -msgstr "一個虹色的超濃縮誘變劑。你需要一個針筒才能注射......如果你真的想要?" +"syringe to inject it… if you really want to?" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "elf-a serum" @@ -26824,8 +27938,8 @@ msgstr "妖精血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a striking sylvan green. You need a " -"syringe to inject it... if you really want to?" -msgstr "一個由樹汁提煉的超濃縮誘變劑。你需要一個針筒才能注射......如果你真的想要?" +"syringe to inject it… if you really want to?" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "feline serum" @@ -26835,8 +27949,8 @@ msgstr "貓形血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen, yellow and highly reflective. You need a " -"syringe to inject it... if you really want to?" -msgstr "一個帶著映照黃光的超濃縮的誘變劑。你需要一個針筒才能注射… 你真的想這麼做?" +"syringe to inject it… if you really want to?" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "fish serum" @@ -26846,8 +27960,8 @@ msgstr "魚形血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen the color of the ocean, with white foam at the " -"top. You need a syringe to inject it... if you really want to?" -msgstr "一個海洋色的超濃縮突變劑。你需要一個針筒才能注射… 如果你真的想這麼做?" +"top. You need a syringe to inject it… if you really want to?" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "insect serum" @@ -26857,8 +27971,8 @@ msgstr "昆蟲血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a beautiful amber color. You need a " -"syringe to inject it... if you really want to?" -msgstr "一個漂亮琥珀色的超濃縮誘變劑,你需要一個針筒才能注射… 你真的想這麼做?" +"syringe to inject it… if you really want to?" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "lizard serum" @@ -26868,7 +27982,7 @@ msgstr "蛇蜥血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that shifts between various shades of green. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -26879,7 +27993,7 @@ msgstr "狼形血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen as white as a full moon. You need a syringe to" -" inject it... if you really want to?" +" inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -26890,7 +28004,7 @@ msgstr "醫療血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like a mixture of bodily fluids. " -"You need a syringe to inject it... if you really want to?" +"You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -26901,7 +28015,7 @@ msgstr "植物血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks like pureed spinach. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -26912,7 +28026,7 @@ msgstr "猛禽血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to shift slightly whenever you look " -"at it. You need a syringe to inject it... if you really want to?" +"at it. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -26923,7 +28037,7 @@ msgstr "鼠形血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's a rather unappealing beige. You need a " -"syringe to inject it... if you really want to?" +"syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -26934,7 +28048,7 @@ msgstr "黏液血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that looks very much like the black ooze in the" -" zombies' eyes. You need a syringe to inject it... if you really want to?" +" zombies' eyes. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -26945,7 +28059,7 @@ msgstr "蛛形血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen with pale filaments suspended in it. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -26956,7 +28070,7 @@ msgstr "穴居生物血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that seems to recoil from the light. You need " -"a syringe to inject it... if you really want to?" +"a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -26967,7 +28081,7 @@ msgstr "熊形血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen that's the color of honey, and is just as " -"thick. You need a syringe to inject it... if you really want to?" +"thick. You need a syringe to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -26978,7 +28092,7 @@ msgstr "鼠形血清" #: lang/json/COMESTIBLE_from_json.py msgid "" "A super-concentrated mutagen resembling liquefied metal. You need a syringe" -" to inject it... if you really want to?" +" to inject it… if you really want to?" msgstr "" #: lang/json/COMESTIBLE_from_json.py @@ -26993,8 +28107,8 @@ msgstr "凝結的血液" #: lang/json/COMESTIBLE_from_json.py msgid "" "A thick, soupy red liquid. It looks and smells disgusting, and seems to " -"bubble with an intelligence of its own..." -msgstr "一個濃密、黏稠的紅色液體。看起來和聞起來都很噁心, 而且彷彿有自己的智慧般地冒著泡…" +"bubble with an intelligence of its own…" +msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "alpha mutagen" @@ -27131,7 +28245,7 @@ msgstr[0] "畸形胚胎" msgid "" "A deformed human fetus. Eating this would be the most vile thing you can " "think of, and just might cause you to mutate." -msgstr "" +msgstr "一個畸形的人類胚胎,吃這個是你所能想到最噁心的事情,也可能會讓你產生突變。" #: lang/json/COMESTIBLE_from_json.py msgid "mutated arm" @@ -27142,7 +28256,7 @@ msgstr "突變的手臂" msgid "" "A misshapen human arm. Eating this would be incredibly disgusting and " "probably cause you to mutate." -msgstr "" +msgstr "一隻畸形的人類手臂,吃下這個會非常噁心,並且可能會讓你產生突變。" #: lang/json/COMESTIBLE_from_json.py msgid "mutated leg" @@ -27153,7 +28267,7 @@ msgstr "突變的腿" msgid "" "A malformed human leg. This would be gross to eat, and probably cause " "mutations." -msgstr "" +msgstr "一隻畸形的人類大腿,吃下這個會非常反胃,並且可能會讓你產生突變。" #: lang/json/COMESTIBLE_from_json.py msgid "tainted tornado" @@ -27178,21 +28292,21 @@ msgid "" msgstr "突變體口渴時的飲料首選, 他喝起來很可怕, 但可能比處理前去喝更加安全。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of pine nuts" -msgid_plural "handfuls of pine nuts" +msgid "pine nuts" +msgid_plural "pine nuts" msgstr[0] "松子" -#. ~ Description for handful of pine nuts +#. ~ Description for {'str': 'pine nuts', 'str_pl': 'pine nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of tasty crunchy nuts from a pinecone." msgstr "從松果剝出的香脆美味松子" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of junipers" -msgid_plural "handful of junipers" +msgid "junipers" +msgid_plural "junipers" msgstr[0] "杜松子" -#. ~ Description for handful of junipers +#. ~ Description for {'str': 'junipers', 'str_pl': 'junipers'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Junipers, for making gin and earthy flavors. Spicy, tastes similar to " @@ -27200,62 +28314,75 @@ msgid "" msgstr "杜松子,用於製作琴酒和料理香料。辛辣,味道類似迷迭香。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pistachios" -msgid_plural "handfuls of shelled pistachios" +msgid "shelled pistachios" +msgid_plural "shelled pistachios" msgstr[0] "去殼開心果" -#. ~ Description for handful of shelled pistachios +#. ~ Description for {'str': 'shelled pistachios', 'str_pl': 'shelled +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of nuts from a pistachio tree, their shells have been removed." msgstr "一把從阿月渾子樹摘下的的堅果, 已經去殼。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pistachios" -msgid_plural "handfuls of roasted pistachios" +msgid "roasted pistachios" +msgid_plural "roasted pistachios" msgstr[0] "烘烤開心果" -#. ~ Description for handful of roasted pistachios +#. ~ Description for {'str': 'roasted pistachios', 'str_pl': 'roasted +#. pistachios'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an pistachio tree." msgstr "一把從阿月渾子樹摘下的的堅果, 已經烤過。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled almonds" -msgid_plural "handfuls of shelled almonds" +msgid "shelled almonds" +msgid_plural "shelled almonds" msgstr[0] "去殼扁桃仁" -#. ~ Description for handful of shelled almonds +#. ~ Description for {'str': 'shelled almonds', 'str_pl': 'shelled almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of nuts from an almond tree, their shells have been removed." msgstr "一把從杏仁樹摘下的堅果, 已經去殼。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted almonds" -msgid_plural "handfuls of roasted almonds" -msgstr[0] "烘烤杏仁" +msgid "almond pulp" +msgid_plural "almond pulp" +msgstr[0] "扁桃仁果漿" -#. ~ Description for handful of roasted almonds +#. ~ Description for almond pulp +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Pulp left over after making almond milk. It's gritty and incredibly bland." +msgstr "製作扁桃仁奶後殘留的果漿。口感沙沙的而且十分平淡無味。" + +#: lang/json/COMESTIBLE_from_json.py +msgid "roasted almonds" +msgid_plural "roasted almonds" +msgstr[0] "烘烤扁桃仁" + +#. ~ Description for {'str': 'roasted almonds', 'str_pl': 'roasted almonds'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from an almond tree." msgstr "一把從杏仁樹摘下的的堅果, 已經烤過。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cashews" -msgid_plural "handfuls of cashews" +msgid "cashews" +msgid_plural "cashews" msgstr[0] "腰果" -#. ~ Description for handful of cashews +#. ~ Description for {'str': 'cashews', 'str_pl': 'cashews'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of salty cashews." msgstr "一把加鹽腰果。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled pecans" -msgid_plural "handfuls of shelled pecans" -msgstr[0] "去殼山核桃" +msgid "shelled pecans" +msgid_plural "shelled pecans" +msgstr[0] "去殼長山核桃" -#. ~ Description for handful of shelled pecans +#. ~ Description for {'str': 'shelled pecans', 'str_pl': 'shelled pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of pecans which are a sub-species of hickory nuts, their shells " @@ -27263,41 +28390,41 @@ msgid "" msgstr "一把胡桃堅果, 是山核桃的亞種。已經去殼。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted pecans" -msgid_plural "handfuls of roasted pecans" -msgstr[0] "烘烤胡桃" +msgid "roasted pecans" +msgid_plural "roasted pecans" +msgstr[0] "烘烤長山核桃" -#. ~ Description for handful of roasted pecans +#. ~ Description for {'str': 'roasted pecans', 'str_pl': 'roasted pecans'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a pecan tree." msgstr "一把從胡桃樹摘下的的堅果, 已經烤過。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled peanuts" -msgid_plural "handful of shelled peanuts" +msgid "shelled peanuts" +msgid_plural "shelled peanuts" msgstr[0] "去殼花生" -#. ~ Description for handful of shelled peanuts +#. ~ Description for {'str': 'shelled peanuts', 'str_pl': 'shelled peanuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Salty peanuts with their shells removed." msgstr "鹽漬的脫殼花生。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of beech nuts" -msgid_plural "handfuls of beech nuts" +msgid "beech nuts" +msgid_plural "beech nuts" msgstr[0] "山毛櫸堅果" -#. ~ Description for handful of beech nuts +#. ~ Description for {'str': 'beech nuts', 'str_pl': 'beech nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of hard pointy nuts from a beech tree." msgstr "從山毛櫸樹來的尖尖的堅果。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled walnuts" -msgid_plural "handfuls of shelled walnuts" +msgid "shelled walnuts" +msgid_plural "shelled walnuts" msgstr[0] "去殼核桃" -#. ~ Description for handful of shelled walnuts +#. ~ Description for {'str': 'shelled walnuts', 'str_pl': 'shelled walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a walnut tree, their shells have been " @@ -27305,21 +28432,22 @@ msgid "" msgstr "一把從核桃樹摘下的硬堅果, 已經去殼。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted walnuts" -msgid_plural "handfuls of roasted walnuts" +msgid "roasted walnuts" +msgid_plural "roasted walnuts" msgstr[0] "烘烤核桃" -#. ~ Description for handful of roasted walnuts +#. ~ Description for {'str': 'roasted walnuts', 'str_pl': 'roasted walnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a walnut tree." msgstr "一把從核桃樹摘下的堅果, 已經烤過。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled chestnuts" -msgid_plural "handfuls of shelled chestnuts" +msgid "shelled chestnuts" +msgid_plural "shelled chestnuts" msgstr[0] "去殼栗子" -#. ~ Description for handful of shelled chestnuts +#. ~ Description for {'str': 'shelled chestnuts', 'str_pl': 'shelled +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a chestnut tree, their shells have been " @@ -27327,21 +28455,23 @@ msgid "" msgstr "一把從栗樹摘下的硬堅果, 已經去殼。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted chestnuts" -msgid_plural "handfuls of roasted chestnuts" +msgid "roasted chestnuts" +msgid_plural "roasted chestnuts" msgstr[0] "烘烤栗子" -#. ~ Description for handful of roasted chestnuts +#. ~ Description for {'str': 'roasted chestnuts', 'str_pl': 'roasted +#. chestnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a chestnut tree." msgstr "一把從栗樹摘下的堅果, 已經烤過。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hazelnuts" -msgid_plural "handfuls of shelled hazelnuts" -msgstr[0] "" +msgid "shelled hazelnuts" +msgid_plural "shelled hazelnuts" +msgstr[0] "去殼榛果" -#. ~ Description for handful of shelled hazelnuts +#. ~ Description for {'str': 'shelled hazelnuts', 'str_pl': 'shelled +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hazelnut tree, their shells have been " @@ -27349,41 +28479,43 @@ msgid "" msgstr "一把從榛樹摘下的硬堅果, 已經去殼。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted edamame" -msgid_plural "handful of roasted edamame" +msgid "roasted edamame" +msgid_plural "roasted edamame" msgstr[0] "烘烤毛豆" -#. ~ Description for handful of roasted edamame +#. ~ Description for {'str': 'roasted edamame', 'str_pl': 'roasted edamame'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted edamame, a heart healthy snack." msgstr "烤過的毛豆,對心臟有益。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted soy nuts" -msgid_plural "handful of roasted soy nuts" -msgstr[0] "烘焙黃豆" +msgid "roasted soy nuts" +msgid_plural "roasted soy nuts" +msgstr[0] "烘烤黃豆" -#. ~ Description for handful of roasted soy nuts +#. ~ Description for {'str': 'roasted soy nuts', 'str_pl': 'roasted soy nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "Roasted soybeans, often called soy nuts." msgstr "烤過的黃豆" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hazelnuts" -msgid_plural "handfuls of roasted hazelnuts" +msgid "roasted hazelnuts" +msgid_plural "roasted hazelnuts" msgstr[0] "烘烤榛果" -#. ~ Description for handful of roasted hazelnuts +#. ~ Description for {'str': 'roasted hazelnuts', 'str_pl': 'roasted +#. hazelnuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hazelnut tree." msgstr "一把從榛樹摘下的堅果, 已經烤過。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of shelled hickory nuts" -msgid_plural "handfuls of shelled hickory nuts" -msgstr[0] "去殼山核桃" +msgid "shelled hickory nuts" +msgid_plural "shelled hickory nuts" +msgstr[0] "去殼山核桃堅果" -#. ~ Description for handful of shelled hickory nuts +#. ~ Description for {'str': 'shelled hickory nuts', 'str_pl': 'shelled +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of raw hard nuts from a hickory tree, their shells have been " @@ -27391,11 +28523,12 @@ msgid "" msgstr "一把來自山核桃樹的堅果, 已經去殼。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted hickory nuts" -msgid_plural "handfuls of roasted hickory nuts" -msgstr[0] "烘烤山核桃" +msgid "roasted hickory nuts" +msgid_plural "roasted hickory nuts" +msgstr[0] "烘烤山核桃堅果" -#. ~ Description for handful of roasted hickory nuts +#. ~ Description for {'str': 'roasted hickory nuts', 'str_pl': 'roasted +#. hickory nuts'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful of roasted nuts from a hickory tree." msgstr "一把來自山核桃樹的烘烤山核桃。" @@ -27410,11 +28543,11 @@ msgid "Delicious hickory nut ambrosia. A drink worthy of the gods." msgstr "美味的山核桃香飲, 不愧為神的飲品。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of acorns" -msgid_plural "handfuls of acorns" +msgid "acorns" +msgid_plural "acorns" msgstr[0] "橡實" -#. ~ Description for handful of acorns +#. ~ Description for {'str': 'acorns', 'str_pl': 'acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of acorns, still in their shells. Squirrels like them, but " @@ -27422,11 +28555,11 @@ msgid "" msgstr "一把還帶殼的橡實, 松鼠很喜歡它們, 不過在這個狀態不是很好吃。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of roasted acorns" -msgid_plural "handfuls of roasted acorns" -msgstr[0] "烘烤橡子" +msgid "roasted acorns" +msgid_plural "roasted acorns" +msgstr[0] "烘烤橡實" -#. ~ Description for handful of roasted acorns +#. ~ Description for {'str': 'roasted acorns', 'str_pl': 'roasted acorns'} #: lang/json/COMESTIBLE_from_json.py msgid "A handful roasted nuts from an oak tree." msgstr "一把從橡樹摘下的的堅果, 已經烤過。" @@ -27487,7 +28620,7 @@ msgstr "也被稱為雜碎派,由切碎的動物內臟製成。沒有聽起來 #: lang/json/COMESTIBLE_from_json.py msgid "stewed tripe" -msgstr "" +msgstr "燉胃袋" #. ~ Description for stewed tripe #: lang/json/COMESTIBLE_from_json.py @@ -27784,7 +28917,7 @@ msgstr[0] "乾扁豆" #: lang/json/COMESTIBLE_from_json.py msgid "" "A humble but nutrient-rich legume. Should be cooked prior to consumption." -msgstr "" +msgstr "一種不起眼但營養豐富的豆類。應在食用前煮熟。" #: lang/json/COMESTIBLE_from_json.py msgid "cooked lentils" @@ -27794,7 +28927,7 @@ msgstr[0] "熟扁豆" #. ~ Description for cooked lentils #: lang/json/COMESTIBLE_from_json.py msgid "Some delicious cooked lentils. Humble but nutrient-rich." -msgstr "" +msgstr "一些美味的煮熟的扁豆。不太有吸引力但營養豐富。" #: lang/json/COMESTIBLE_from_json.py msgid "coffee powder" @@ -27811,7 +28944,7 @@ msgstr "磨碎的咖啡豆。如果你有一個原子咖啡壺, 可以把它煮 #: lang/json/COMESTIBLE_from_json.py msgid "Kentucky coffee grounds" msgid_plural "Kentucky coffee grounds" -msgstr[0] "" +msgstr[0] "肯塔基州咖啡渣" #. ~ Description for Kentucky coffee grounds #: lang/json/COMESTIBLE_from_json.py @@ -27866,7 +28999,7 @@ msgstr[0] "牛飼料" msgid "" "What cattle eat. Mainly made of grass, silage or legumes. It's perfect for" " ruminants." -msgstr "" +msgstr "給家畜吃的東西。主要由草,青貯飼料或豆類製成。它非常適合反芻動物。" #: lang/json/COMESTIBLE_from_json.py msgid "bird food" @@ -27947,10 +29080,11 @@ msgstr "稀釋過的精製人類蛋白糊。雖然相當有營養, 但不是很 #: lang/json/COMESTIBLE_from_json.py msgid "soylent green powder" -msgid_plural "servings of soylent green powder" +msgid_plural "soylent green powder" msgstr[0] "人肉蛋白粉" -#. ~ Description for soylent green powder +#. ~ Description for {'str': 'soylent green powder', 'str_pl': 'soylent green +#. powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein made out of people! While quite nutritious, it is " @@ -27992,10 +29126,10 @@ msgstr "精製蛋白糊與水混合。雖然相當有營養, 但不是很好喝 #: lang/json/COMESTIBLE_from_json.py msgid "protein powder" -msgid_plural "servings of protein powder" +msgid_plural "protein powder" msgstr[0] "蛋白粉" -#. ~ Description for protein powder +#. ~ Description for {'str': 'protein powder', 'str_pl': 'protein powder'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Raw, refined protein. While quite nutritious, it is impossible to enjoy in " @@ -28063,61 +29197,61 @@ msgid "Very sour citrus. Can be eaten if you really want." msgstr "酸不溜丟的水果。你敢直接吃的話就吃吧。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blueberries" -msgid_plural "handful of blueberries" +msgid "blueberries" +msgid_plural "blueberries" msgstr[0] "藍莓" -#. ~ Description for handful of blueberries +#. ~ Description for {'str': 'blueberries', 'str_pl': 'blueberries'} #: lang/json/COMESTIBLE_from_json.py msgid "They're blue, but that doesn't mean they're sad." msgstr "Blue在這指的是藍色, 不是憂鬱的意思。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of strawberries" -msgid_plural "handful of strawberries" +msgid "strawberries" +msgid_plural "strawberries" msgstr[0] "草莓" -#. ~ Description for handful of strawberries +#. ~ Description for {'str': 'strawberries', 'str_pl': 'strawberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Tasty, juicy berry. Often found growing wild in fields." msgstr "可口多汁的莓子, 通常在野地中生長。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cranberries" -msgid_plural "handful of cranberries" +msgid "cranberries" +msgid_plural "cranberries" msgstr[0] "蔓越莓" -#. ~ Description for handful of cranberries +#. ~ Description for {'str': 'cranberries', 'str_pl': 'cranberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Sour red berries. Good for your health." msgstr "酸的紅色莓子。對健康很好。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of raspberries" -msgid_plural "handful of raspberries" +msgid "raspberries" +msgid_plural "raspberries" msgstr[0] "覆盆子" -#. ~ Description for handful of raspberries +#. ~ Description for {'str': 'raspberries', 'str_pl': 'raspberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A sweet red berry." msgstr "紅色的甜莓果。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of huckleberries" -msgid_plural "handful of huckleberries" +msgid "huckleberries" +msgid_plural "huckleberries" msgstr[0] "越橘莓" -#. ~ Description for handful of huckleberries +#. ~ Description for {'str': 'huckleberries', 'str_pl': 'huckleberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Huckleberries, often times confused for blueberries." msgstr "越橘莓, 經常被誤認為是藍莓。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of mulberries" -msgid_plural "handful of mulberries" +msgid "mulberries" +msgid_plural "mulberries" msgstr[0] "桑葚" -#. ~ Description for handful of mulberries +#. ~ Description for {'str': 'mulberries', 'str_pl': 'mulberries'} #: lang/json/COMESTIBLE_from_json.py msgid "" "Mulberries, this red variety is unique to east North America and is " @@ -28125,21 +29259,21 @@ msgid "" msgstr "桑葚, 這是一種北美洲特有的紅色品種, 公認具有世界上所有品種中最強烈的味道。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of elderberries" -msgid_plural "handful of elderberries" +msgid "elderberries" +msgid_plural "elderberries" msgstr[0] "接骨木果" -#. ~ Description for handful of elderberries +#. ~ Description for {'str': 'elderberries', 'str_pl': 'elderberries'} #: lang/json/COMESTIBLE_from_json.py msgid "Elderberries, toxic when eaten raw but great when cooked." msgstr "接骨木果, 生吃時有毒, 煮熟後有益。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of rose hips" -msgid_plural "handful of rose hips" +msgid "rose hips" +msgid_plural "rose hips" msgstr[0] "薔薇果" -#. ~ Description for handful of rose hips +#. ~ Description for {'str': 'rose hips', 'str_pl': 'rose hips'} #: lang/json/COMESTIBLE_from_json.py msgid "The fruit of a pollinated rose flower." msgstr "這是授粉薔薇花的果實。" @@ -28174,11 +29308,11 @@ msgid "A citrus fruit, whose taste ranges from sour to semi-sweet." msgstr "柑橘類水果, 其味道是半酸甜味的。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of cherries" -msgid_plural "handful of cherries" +msgid "cherries" +msgid_plural "cherries" msgstr[0] "櫻桃" -#. ~ Description for handful of cherries +#. ~ Description for {'str': 'cherries', 'str_pl': 'cherries'} #: lang/json/COMESTIBLE_from_json.py msgid "A red, sweet fruit that grows in trees." msgstr "紅色甜味, 長在樹上的水果。" @@ -28194,11 +29328,11 @@ msgid "" msgstr "巴掌大的紫色李子。對健康或消化都很好。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of grapes" -msgid_plural "handful of grapes" +msgid "grapes" +msgid_plural "grapes" msgstr[0] "葡萄" -#. ~ Description for handful of grapes +#. ~ Description for {'str': 'grapes', 'str_pl': 'grapes'} #: lang/json/COMESTIBLE_from_json.py msgid "A cluster of juicy grapes." msgstr "一串多汁的葡萄。" @@ -28250,11 +29384,11 @@ msgid "A large and very sweet fruit." msgstr "一個大又甜的水果。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of blackberries" -msgid_plural "handful of blackberries" +msgid "blackberries" +msgid_plural "blackberries" msgstr[0] "黑莓" -#. ~ Description for handful of blackberries +#. ~ Description for {'str': 'blackberries', 'str_pl': 'blackberries'} #: lang/json/COMESTIBLE_from_json.py msgid "A darker cousin of raspberry." msgstr "覆盆子的較黑近親。" @@ -28297,15 +29431,26 @@ msgid "" msgstr "毛茸茸外皮的棕色水果。果肉是綠色的而且很美味。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of apricots" -msgid_plural "handful of apricots" +msgid "apricots" +msgid_plural "apricots" msgstr[0] "杏子" -#. ~ Description for handful of apricots +#. ~ Description for {'str': 'apricots', 'str_pl': 'apricots'} #: lang/json/COMESTIBLE_from_json.py msgid "A smooth-skinned fruit, related to the peach." msgstr "一種果皮光滑的水果, 桃子的近親。" +#: lang/json/COMESTIBLE_from_json.py +msgid "cholla bud" +msgstr "" + +#. ~ Description for cholla bud +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"Edible bud of a cholla cactus, with spines removed; the candy of the Mojave " +"indigenous peoples. Tastes similar to asparagus." +msgstr "" + #: lang/json/COMESTIBLE_from_json.py msgid "cactus pad" msgstr "仙人掌莖葉" @@ -28474,10 +29619,10 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "salsify" -msgid_plural "handfuls of salsify" +msgid_plural "salsify" msgstr[0] "婆羅門參" -#. ~ Description for salsify +#. ~ Description for {'str': 'salsify', 'str_pl': 'salsify'} #: lang/json/COMESTIBLE_from_json.py msgid "" "An herb with a small purple flower. The roots are nutritious, but tough and" @@ -28487,10 +29632,10 @@ msgstr "開著小紫色花的草本植物。根是營養豐富的,但未煮熟 #: lang/json/COMESTIBLE_from_json.py lang/json/COMESTIBLE_from_json.py #: lang/json/furniture_from_json.py msgid "chicory" -msgid_plural "handfuls of chicory" +msgid_plural "chicory" msgstr[0] "菊苣" -#. ~ Description for chicory +#. ~ Description for {'str': 'chicory', 'str_pl': 'chicory'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A modest blue flower. The flower's roots are very bitter and not meant to " @@ -28571,14 +29716,14 @@ msgstr "烹飪時常用到的洋蔥。切割這個東西會讓你的眼睛刺痛 #: lang/json/COMESTIBLE_from_json.py msgid "fungal fluid sac" -msgstr "" +msgstr "真菌液囊" #. ~ Description for fungal fluid sac #: lang/json/COMESTIBLE_from_json.py msgid "" "A fluid bladder from a fungus based lifeform. Not very nutritious, but fine" " to eat anyway." -msgstr "" +msgstr "一個真菌生物的液體水囊。不是很營養,反正能吃就對了。" #: lang/json/COMESTIBLE_from_json.py msgid "raw potato" @@ -28602,11 +29747,11 @@ msgid "" msgstr "一個大型蔬菜, 有你的頭那麼大。生的時候不怎麼好吃, 但煮過之後很不錯。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of dandelions" -msgid_plural "handfuls of dandelions" +msgid "dandelions" +msgid_plural "dandelions" msgstr[0] "蒲公英" -#. ~ Description for handful of dandelions +#. ~ Description for {'str': 'dandelions', 'str_pl': 'dandelions'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A collection of freshly picked yellow dandelions. In their current raw " @@ -28668,7 +29813,7 @@ msgstr "富含纖維與營養的植物中心, 可以生吃或煮湯。" #: lang/json/COMESTIBLE_from_json.py msgid "alien fungus chunk" -msgstr "" +msgstr "外星真菌塊" #. ~ Description for alien fungus chunk #: lang/json/COMESTIBLE_from_json.py @@ -28730,11 +29875,11 @@ msgid "Raw, uncooked lentils. They could be cooked." msgstr "生扁豆。可以煮熟。" #: lang/json/COMESTIBLE_from_json.py -msgid "handful of fiddleheads" -msgid_plural "handfuls of fiddleheads" +msgid "fiddleheads" +msgid_plural "fiddleheads" msgstr[0] "蕨類嫩芽" -#. ~ Description for handful of fiddleheads +#. ~ Description for {'str': 'fiddleheads', 'str_pl': 'fiddleheads'} #: lang/json/COMESTIBLE_from_json.py msgid "" "A handful of immature fern fronds, still curled up like the head of a " @@ -28798,7 +29943,7 @@ msgstr "好吃的果醬三明治。" #: lang/json/COMESTIBLE_from_json.py msgid "fairy bread" msgid_plural "fairy bread" -msgstr[0] "" +msgstr[0] "仙女麵包" #. ~ Description for fairy bread #: lang/json/COMESTIBLE_from_json.py @@ -28806,7 +29951,7 @@ msgid "" "An 'open-faced sandwich' consisting of sliced white bread, a healthy crust-" "to-crust slathering of butter, and sprinkles. Supposedly a staple of " "birthday parties in Australia." -msgstr "" +msgstr "一種“開放式三明治”,一片白吐司、抹上一層奶油,並撒上滿滿的彩色糖砂。據說是澳大利亞生日派對的主食。" #: lang/json/COMESTIBLE_from_json.py msgid "honey sandwich" @@ -28943,7 +30088,7 @@ msgstr[0] "蘑菇孢子" #. ~ Description for mushroom spores #: lang/json/COMESTIBLE_from_json.py msgid "Some mushroom spores." -msgstr "" +msgstr "一些蘑菇孢子。" #: lang/json/COMESTIBLE_from_json.py msgid "hop rhizomes" @@ -29234,7 +30379,7 @@ msgstr "一些香蒲的種子。" #: lang/json/COMESTIBLE_from_json.py msgid "cattail" -msgstr "" +msgstr "香蒲" #: lang/json/COMESTIBLE_from_json.py msgid "dahlia seeds" @@ -29296,7 +30441,7 @@ msgstr "一些小型裝飾性植物的種子,可能是草或花。除了當作 #: lang/json/COMESTIBLE_from_json.py msgid "decorative plant" -msgstr "" +msgstr "裝飾植物" #: lang/json/COMESTIBLE_from_json.py msgid "cactus seeds" @@ -29554,7 +30699,7 @@ msgstr[0] "野菜莖" #. ~ Description for wild vegetable stems #: lang/json/COMESTIBLE_from_json.py msgid "Some wild vegetable stems." -msgstr "" +msgstr "一些野菜的莖。" #: lang/json/COMESTIBLE_from_json.py msgid "wild vegetable" @@ -29582,7 +30727,7 @@ msgstr[0] "大黃的莖" #. ~ Description for rhubarb stems #: lang/json/COMESTIBLE_from_json.py msgid "Some rhubarb stems." -msgstr "" +msgstr "一些大黃的莖。" #: lang/json/COMESTIBLE_from_json.py msgid "morel mushroom spores" @@ -29592,7 +30737,7 @@ msgstr[0] "羊肚菌孢子" #. ~ Description for morel mushroom spores #: lang/json/COMESTIBLE_from_json.py msgid "Some morel mushroom spores." -msgstr "" +msgstr "一些羊肚菌孢子。" #: lang/json/COMESTIBLE_from_json.py msgid "datura seeds" @@ -29666,7 +30811,7 @@ msgstr "一些炒過的種子, 來自向日葵、南瓜或是其他植物。美 #: lang/json/COMESTIBLE_from_json.py msgid "Kentucky coffee pod" msgid_plural "Kentucky coffee pods" -msgstr[0] "" +msgstr[0] "肯塔基州咖啡豆莢" #. ~ Description for Kentucky coffee pod #: lang/json/COMESTIBLE_from_json.py @@ -29944,7 +31089,7 @@ msgstr "甜蜜蜜的糖。對你的牙齒不好並且不適合直接吃。" #: lang/json/COMESTIBLE_from_json.py msgid "sprinkles" msgid_plural "sprinkles" -msgstr[0] "" +msgstr[0] "彩糖" #. ~ Description for sprinkles #: lang/json/COMESTIBLE_from_json.py @@ -30471,8 +31616,8 @@ msgstr[0] "生義式細麵" #. ~ Description for raw spaghetti pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A type of pasta usually used when preparing spaghetti. It could be eaten raw" -" if you're desperate, but is much better cooked." +"A type of pasta usually used when preparing spaghetti. It could be eaten " +"raw if you're desperate, but is much better cooked." msgstr "製作義大利直麵時常用的一種麵食。如果走投無路時,也能生吃,但是煮過後的味道會好很多。" #: lang/json/COMESTIBLE_from_json.py @@ -30483,7 +31628,7 @@ msgstr[0] "生義式千層麵" #. ~ Description for raw lasagne pasta #: lang/json/COMESTIBLE_from_json.py msgid "" -"A pasta sheet used in making lasagne. It could be eaten raw if you're " +"A pasta sheet used in making lasagne. It could be eaten raw if you're " "desperate, but is much better cooked." msgstr "用來製作千層麵的寬麵皮。如果走投無路時,也能生吃,但是煮過後的味道會好很多。" @@ -30870,7 +32015,7 @@ msgstr "" #: lang/json/COMESTIBLE_from_json.py msgid "vampire mutagen" -msgstr "" +msgstr "吸血鬼突變劑" #. ~ Description for vampire mutagen #. ~ Description for wendigo mutagen @@ -30926,7 +32071,7 @@ msgstr "藥劑基底" #: lang/json/COMESTIBLE_from_json.py msgid "" "Strong alcohol, infused with mana and concentrated into a liquid that can " -"stabilize spells into liquid form. You can still drink it, if you want." +"stabilize spells into liquid form. You can still drink it, if you want." msgstr "強烈的酒精,注入法力並濃縮成液體,可以使法術穩定成液態。如果你願意,仍然可以喝它。" #: lang/json/COMESTIBLE_from_json.py @@ -30938,7 +32083,7 @@ msgstr[0] "巨大腎上腺" #: lang/json/COMESTIBLE_from_json.py msgid "" "An organ located above the kidneys responsible for secretion of adrenaline, " -"cortisol, and aldosterone. This one is huge, whether by nature or mutation." +"cortisol, and aldosterone. This one is huge, whether by nature or mutation." msgstr "位於腎臟上方的器官,負責分泌腎上腺素、皮質醇和醛固酮。無論是天生還是突變的,這個都是巨大的。" #: lang/json/COMESTIBLE_from_json.py @@ -31035,8 +32180,8 @@ msgstr "殭屍巫毒娃娃" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human, including pieces of bone " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "一個維妙維肖的不死人類模型,包括骨頭和器官。死靈魔法延遲了它的腐爛,但不會永遠持續下去。使用附帶的針刺穿它可以迫使它為你服務。" #: lang/json/COMESTIBLE_from_json.py @@ -31047,8 +32192,9 @@ msgstr "骨化巫毒娃娃" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead human covered with bone, including" -" pieces of organs. Necromantic magic delays immediate rot, but it won't last" -" forever. Piercing it with the attached needle could compel it to serve you." +" pieces of organs. Necromantic magic delays immediate rot, but it won't " +"last forever. Piercing it with the attached needle could compel it to serve" +" you." msgstr "一個維妙維肖被骨頭包覆的不死人類模型,包括器官。死靈魔法延遲了它的腐爛,但不會永遠持續下去。使用附帶的針刺穿它可以迫使它為你服務。" #: lang/json/COMESTIBLE_from_json.py @@ -31059,8 +32205,8 @@ msgstr "美洲獅巫毒娃娃" #: lang/json/COMESTIBLE_from_json.py msgid "" "A remarkably accurate effigy of an undead cougar, complete with fur, bones, " -"and organs. Necromantic magic delays immediate rot, but it won't last " -"forever. Piercing it with the attached needle could compel it to serve you." +"and organs. Necromantic magic delays immediate rot, but it won't last " +"forever. Piercing it with the attached needle could compel it to serve you." msgstr "一個維妙維肖的不死美洲獅模型,包括毛皮、骨骼和器官。死靈魔法延遲了它的腐爛,但不會永遠持續下去。使用附帶的針刺穿它可以迫使它為你服務。" #: lang/json/COMESTIBLE_from_json.py @@ -31071,8 +32217,8 @@ msgstr "扭曲恢復藥劑" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal." msgstr "這種惡臭的液體用加速你的心跳達到危險等級的方式來模擬不死生物的再生。在危險或危急情況下飲用可能會致命。" #: lang/json/COMESTIBLE_from_json.py @@ -31083,9 +32229,9 @@ msgstr "改良扭曲恢復藥劑" #: lang/json/COMESTIBLE_from_json.py msgid "" "This foul-smelling liquid simulates undead regeneration by accelerating your" -" heart to dangerous levels. Drinking this in danger or at critical condition" -" may be lethal. Improved infusion techniques lessen the strain of the " -"process." +" heart to dangerous levels. Drinking this in danger or at critical " +"condition may be lethal. Improved infusion techniques lessen the strain of " +"the process." msgstr "" "這種惡臭的液體用加速你的心跳達到危險等級的方式來模擬不死生物的再生。在危險或危急情況下飲用可能會致命。改良的灌注技術讓這過程稍微減輕了壓力。" @@ -31121,7 +32267,7 @@ msgstr[0] "毛球" #. ~ Description for hairball #: lang/json/COMESTIBLE_from_json.py msgid "" -"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." +"A big, ugly ball of animal spit and licked-off hairs. Don't swallow it." msgstr "動物舔吐出來的巨大醜陋毛球。不要吞它。" #: lang/json/COMESTIBLE_from_json.py @@ -31137,6 +32283,16 @@ msgid "" " properties." msgstr "來自被殺死的龍的肉。無法用平常的烹飪方式處理它,顯然它依舊保有一些魔法特性。" +#: lang/json/COMESTIBLE_from_json.py +msgid "scream mushroom" +msgstr "尖叫蘑菇" + +#. ~ Description for scream mushroom +#: lang/json/COMESTIBLE_from_json.py +msgid "" +"The mushrooms harvested from a dead shrieker. Could be used in potions." +msgstr "從死亡尖叫者收穫而來的蘑菇。可以用來製作藥劑。" + #: lang/json/COMESTIBLE_from_json.py msgid "resinous cord" msgstr "樹脂線" @@ -31160,13 +32316,13 @@ msgid "" msgstr "" #: lang/json/COMESTIBLE_from_json.py -msgid "caramel ointement" +msgid "caramel ointment" msgstr "" -#. ~ Description for caramel ointement +#. ~ Description for caramel ointment #: lang/json/COMESTIBLE_from_json.py msgid "" -"An ointement made of caramel. You could use it to heal your wounds, if you " +"An ointment made of caramel. You could use it to heal your wounds, if you " "were made of sugar." msgstr "" @@ -31757,15 +32913,6 @@ msgstr[0] "米麵粉" msgid "This rice flour is useful for baking." msgstr "這個白色的米麵粉在烘焙時很有用。" -#: lang/json/COMESTIBLE_from_json.py -msgid "cholla bud" -msgstr "" - -#. ~ Description for cholla bud -#: lang/json/COMESTIBLE_from_json.py -msgid "The candy of the Mojave Indigenous peoples." -msgstr "" - #: lang/json/COMESTIBLE_from_json.py msgid "revival serum" msgstr "強心劑" @@ -32033,8 +33180,8 @@ msgstr[0] "" #. ~ Description for paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"It has a threaded cap for easy resealing." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" It has a threaded cap for easy resealing." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -32045,8 +33192,8 @@ msgstr[0] "" #. ~ Description for opened paper carton #: lang/json/CONTAINER_from_json.py msgid "" -"A half gallon carton constructed of a paper, aluminum and plastic laminate. " -"This one is open and its contents will spoil." +"A half gallon carton constructed of a paper, aluminum and plastic laminate." +" This one is open and its contents will spoil." msgstr "" #: lang/json/CONTAINER_from_json.py @@ -32519,8 +33666,8 @@ msgstr[0] "救生包盒子" #. ~ Description for survival kit box #: lang/json/CONTAINER_from_json.py msgid "" -"An aluminum box that used to contain a small survival kit. Can hold 1 liter " -"of liquid." +"An aluminum box that used to contain a small survival kit. Can hold 1 liter" +" of liquid." msgstr "裝容小型生存工具組的鋁盒。可容納 1 公升的液體。" #: lang/json/CONTAINER_from_json.py @@ -32610,6 +33757,21 @@ msgid "" " for maximum yield. It can be crafted with various seeds to plant them." msgstr "用於種植植物的小盆,使其保持在舒適環境以獲得最大產量。它可以種植各種種子。" +#: lang/json/CONTAINER_from_json.py +msgid "endless flask" +msgid_plural "endless flasks" +msgstr[0] "無盡瓶" + +#. ~ Use action msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "You open the flask and discover it full of sweet, sweet, whiskey!" +msgstr "你打開瓶子,發現裡面充滿了甜美的、甜美的,威士忌!" + +#. ~ Use action not_ready_msg for endless flask. +#: lang/json/CONTAINER_from_json.py +msgid "The flask isn't done refilling yet." +msgstr "這瓶子還沒完成續滿。" + #: lang/json/CONTAINER_from_json.py msgid "aluminum foil wrap" msgid_plural "aluminum foil wraps" @@ -33027,8 +34189,8 @@ msgstr[0] "薔薇輝石" #. ~ Description for rhodonite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of rhodonite. It has manganese dioxide covering and going through it" -" in veins, which can be obtained using a chisel." +"A chunk of rhodonite. It has manganese dioxide covering and going through " +"it in veins, which can be obtained using a chisel." msgstr "一大塊的薔薇輝石,被二氧化錳覆蓋並穿透紋理,可以使用鑿子來採取。" #: lang/json/GENERIC_from_json.py @@ -33039,7 +34201,7 @@ msgstr[0] "紅鋅礦" #. ~ Description for zincite #: lang/json/GENERIC_from_json.py msgid "" -"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " +"A chunk of zincite. Could be refined into zinc oxide, then into zinc by " "reduction with a source of carbon." msgstr "一大塊鋅礦。可以提煉成氧化鋅,然後透過用炭來還原成鋅。" @@ -33054,81 +34216,81 @@ msgid "A root from a hickory tree. It has an earthy smell." msgstr "山核桃的根, 帶有泥土的氣味。" #: lang/json/GENERIC_from_json.py -msgid "handful of hickory nuts" -msgid_plural "handfuls of hickory nuts" -msgstr[0] "山核桃" +msgid "hickory nuts" +msgid_plural "hickory nuts" +msgstr[0] "山核桃堅果" -#. ~ Description for handful of hickory nuts +#. ~ Description for {'str': 'hickory nuts', 'str_pl': 'hickory nuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hickory tree, still in their shell." msgstr "一把來自山核挑樹的堅果, 仍未去殼。" #: lang/json/GENERIC_from_json.py -msgid "handful of pecans" -msgid_plural "handfuls of pecans" +msgid "pecans" +msgid_plural "pecans" msgstr[0] "長山核桃" -#. ~ Description for handful of pecans +#. ~ Description for {'str': 'pecans', 'str_pl': 'pecans'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pecan tree, still in their shell." msgstr "一把來自胡桃樹的堅果, 仍未去殼。" #: lang/json/GENERIC_from_json.py -msgid "handful of pistachios" -msgid_plural "handfuls of pistachios" +msgid "pistachios" +msgid_plural "pistachios" msgstr[0] "開心果" -#. ~ Description for handful of pistachios +#. ~ Description for {'str': 'pistachios', 'str_pl': 'pistachios'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a pistachio tree, still in their shell." msgstr "一把從阿月渾子樹摘下的硬堅果, 仍未去殼。" #: lang/json/GENERIC_from_json.py -msgid "handful of almonds" -msgid_plural "handfuls of almonds" +msgid "almonds" +msgid_plural "almonds" msgstr[0] "扁桃仁" -#. ~ Description for handful of almonds +#. ~ Description for {'str': 'almonds', 'str_pl': 'almonds'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a almond tree, still in their shell." msgstr "一把來自扁桃樹的堅果,仍未去殼。" #: lang/json/GENERIC_from_json.py -msgid "handful of peanuts" -msgid_plural "handfuls of peanuts" +msgid "peanuts" +msgid_plural "peanuts" msgstr[0] "花生" -#. ~ Description for handful of peanuts +#. ~ Description for {'str': 'peanuts', 'str_pl': 'peanuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a peanut bush, still in their shell." msgstr "一把來自花生灌木的堅果, 仍未去殼。" #: lang/json/GENERIC_from_json.py -msgid "handful of hazelnuts" -msgid_plural "handfuls of hazelnuts" -msgstr[0] "" +msgid "hazelnuts" +msgid_plural "hazelnuts" +msgstr[0] "榛果" -#. ~ Description for handful of hazelnuts +#. ~ Description for {'str': 'hazelnuts', 'str_pl': 'hazelnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a hazelnut tree, still in their shell." msgstr "一把來自榛子樹的堅果, 仍未去殼。" #: lang/json/GENERIC_from_json.py -msgid "handful of chestnuts" -msgid_plural "handfuls of chestnuts" +msgid "chestnuts" +msgid_plural "chestnuts" msgstr[0] "栗子" -#. ~ Description for handful of chestnuts +#. ~ Description for {'str': 'chestnuts', 'str_pl': 'chestnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a chestnut tree, still in their shell." msgstr "一把來自栗子樹的堅果, 仍未去殼。" #: lang/json/GENERIC_from_json.py -msgid "handful of walnuts" -msgid_plural "handfuls of walnuts" +msgid "walnuts" +msgid_plural "walnuts" msgstr[0] "核桃" -#. ~ Description for handful of walnuts +#. ~ Description for {'str': 'walnuts', 'str_pl': 'walnuts'} #: lang/json/GENERIC_from_json.py msgid "A handful of hard nuts from a walnut tree, still in their shell." msgstr "一把來自胡桃樹的堅果, 仍未去殼。" @@ -33263,7 +34425,7 @@ msgstr "一具死屍,滿佈凝固的血液。" #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"A dead body with a frightful grimace. He appears to have been horribly " +"A dead body with a frightful grimace. He appears to have been horribly " "mangled prior to his death." msgstr "一具死屍,表情非常醜陋扭曲,似乎在死前受到極度殘忍的摧殘。" @@ -33287,7 +34449,7 @@ msgstr "一具人類屍體。前額有個被子彈射入的大彈孔,後腦有 #. ~ Description for corpse #: lang/json/GENERIC_from_json.py msgid "" -"The upper half of a dead body, as if torn apart with enormous force. Some " +"The upper half of a dead body, as if torn apart with enormous force. Some " "organs are hanging out." msgstr "一具死屍的上半身,似乎被極強大的力量給撕裂,一些內臟器官掛在上面。" @@ -33382,6 +34544,11 @@ msgstr "肌肉" msgid "wind" msgstr "風" +#: lang/json/GENERIC_from_json.py +msgid "metabolism" +msgid_plural "metabolisms" +msgstr[0] "新陳代謝" + #: lang/json/GENERIC_from_json.py msgid "a smoking device and a source of flame" msgstr "一個抽菸器具以及火源" @@ -33398,6 +34565,28 @@ msgid "" "kept together, pretty useless now though." msgstr "裡面有幾份文件資料, 比如客戶信息和市場分析圖表之類。不過你可以肯定, 現在這些VIP 客戶的需求只剩下一個了。" +#: lang/json/GENERIC_from_json.py +msgid "INCIDENT REPORT: IMMERSION-27A" +msgid_plural "INCIDENT REPORT: IMMERSION-27As" +msgstr[0] "事故報告:浸入-27A" + +#. ~ Description for INCIDENT REPORT: IMMERSION-27A +#: lang/json/GENERIC_from_json.py +msgid "" +"A white piece of paper, with the logo of XEDRA printed on its upper left " +"corner. It seems to be an internal report of some kind." +msgstr "一張白色的紙,左上角印有 XEDRA 的標誌。這似乎是某種內部報告。" + +#: lang/json/GENERIC_from_json.py +msgid "MATERIAL: T-SUBSTRATE" +msgid_plural "MATERIAL: T-SUBSTRATEs" +msgstr[0] "物質:T-基體" + +#: lang/json/GENERIC_from_json.py +msgid "HAADF MICROGRAPH: T-SUBSTRATE" +msgid_plural "HAADF MICROGRAPH: T-SUBSTRATEs" +msgstr[0] "高角度環形暗場顯微照片:T-基體" + #: lang/json/GENERIC_from_json.py msgid "foodplace loyalty card" msgid_plural "foodplace loyalty cards" @@ -33407,7 +34596,7 @@ msgstr[0] "美食中心會員卡" #: lang/json/GENERIC_from_json.py msgid "" "A bright pink loyalty card, all the points are stamped. This would " -"definitely prove your fidelity to Foodplace, if it still meant anything..." +"definitely prove your fidelity to Foodplace, if it still meant anything…" msgstr "明亮的粉紅色會員卡,所有集點積分都已經蓋了章。如果這還有什麼意義的話,那肯定能當作你對美食中心忠誠的絕對證明。" #: lang/json/GENERIC_from_json.py @@ -33535,8 +34724,8 @@ msgstr[0] "" #. ~ Description for set of 100 ceramic disk #: lang/json/GENERIC_from_json.py msgid "" -"A set of small slightly elongated disks, made of high-grade ceramic. They " -"remind you of scales" +"A set of small slightly elongated disks, made of high-grade ceramic. They " +"remind you of scales." msgstr "" #: lang/json/GENERIC_from_json.py @@ -33585,6 +34774,17 @@ msgid "" "Felt patches, bundled tightly together for storage. Disassemble to unpack." msgstr "將大量的毛氈補丁緊緊地捆成一束, 以便於存放。可拆解回原來的大量毛氈補丁。" +#: lang/json/GENERIC_from_json.py +msgid "t-substrate sample" +msgid_plural "t-substrate samples" +msgstr[0] "t-基體樣本" + +#. ~ Description for t-substrate sample +#: lang/json/GENERIC_from_json.py +msgid "" +"An acrylic cube cast around a small black crystal. It's tepid to the touch." +msgstr "丙烯酸立方體環鑄著小的黑色水晶。觸手生溫。" + #: lang/json/GENERIC_from_json.py msgid "biollante bud" msgid_plural "biollante buds" @@ -33801,6 +35001,17 @@ msgid "" "constructing tougher walls and such." msgstr "一束鋼筋, 可以作為相當稱頭的近戰武器, 同時也相當適合拿來建築較為堅固的牆壁或其他建築。" +#: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "small railroad track" +msgid_plural "small railroad tracks" +msgstr[0] "" + +#. ~ Description for small railroad track +#: lang/json/GENERIC_from_json.py +msgid "A length of track, made from some planks and rails." +msgstr "" + #: lang/json/GENERIC_from_json.py lang/json/terrain_from_json.py msgid "concrete" msgid_plural "concrete" @@ -33856,18 +35067,6 @@ msgid "" "A large, heavy-duty spring. Expands with significant force when compressed." msgstr "一個重型彈簧。壓縮後可以釋放出相當可觀的力道。" -#: lang/json/GENERIC_from_json.py -msgid "leaf spring" -msgid_plural "leaf springs" -msgstr[0] "板式彈簧" - -#. ~ Description for leaf spring -#: lang/json/GENERIC_from_json.py -msgid "" -"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" -" an awful lot like a bow. You can barely bend it..." -msgstr "大型重型板式彈簧。可能來自汽車或卡車懸吊系統,看起來很像弓。你幾乎不能彎曲它......" - #: lang/json/GENERIC_from_json.py msgid "lawnmower" msgid_plural "lawnmowers" @@ -34690,8 +35889,8 @@ msgstr[0] "科學 SD 記憶卡" #: lang/json/GENERIC_from_json.py msgid "" "This memory card appears to be related to 'XEDRA', and is certainly " -"encrypted. Looks * Interesting *, though..." -msgstr "這張記憶卡似乎與 \"XEDRA\" 有關, 豪無疑問地已被加密。然而它看起來 *很有趣*…" +"encrypted. Looks *Interesting*, though…" +msgstr "這張記憶卡似乎與 \"XEDRA\" 有關,毫無疑問地已被加密。因此它看起來 *很有趣* …" #: lang/json/GENERIC_from_json.py msgid "hand mirror" @@ -34739,16 +35938,6 @@ msgid "" " it." msgstr "從松樹上長出來的帶刺堅果。搖一搖, 可以聽到裡面有種子的聲音。" -#: lang/json/GENERIC_from_json.py -msgid "poppy flower" -msgid_plural "poppy flowers" -msgstr[0] "罌粟花" - -#. ~ Description for poppy flower -#: lang/json/GENERIC_from_json.py -msgid "A poppy stalk with some petals." -msgstr "一朵有許多花瓣的罌粟花。" - #: lang/json/GENERIC_from_json.py msgid "poppy bud" msgid_plural "poppy buds" @@ -34761,209 +35950,6 @@ msgid "" "flower." msgstr "罌粟芽, 含有一些突變罌粟花常產生的物質。" -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "bluebell" -msgid_plural "bluebells" -msgstr[0] "風信子" - -#. ~ Description for bluebell -#: lang/json/GENERIC_from_json.py -msgid "A bluebell stalk with some petals." -msgstr "一根有一些花瓣的風信子花柄。" - -#: lang/json/GENERIC_from_json.py -msgid "bluebell bud" -msgid_plural "bluebell buds" -msgstr[0] "風信子芽" - -#. ~ Description for bluebell bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A bluebell bud. Contains some substances commonly produced by a bluebell " -"flower." -msgstr "風信子芽, 含有一些風信子花常產生的物質。" - -#. ~ Description for dahlia -#: lang/json/GENERIC_from_json.py -msgid "A dahlia stalk with some petals." -msgstr "一根有一些花瓣的大麗菊柄。" - -#: lang/json/GENERIC_from_json.py -msgid "dahlia bud" -msgid_plural "dahlia buds" -msgstr[0] "大麗菊芽" - -#. ~ Description for dahlia bud -#: lang/json/GENERIC_from_json.py -msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." -msgstr "大麗菊芽, 含有一些風信子花常產生的物質。" - -#. ~ Description for rose -#: lang/json/GENERIC_from_json.py -msgid "A rose stalk with some petals." -msgstr "一株薔薇的莖, 上面帶著一些花瓣。" - -#: lang/json/GENERIC_from_json.py -msgid "rose bud" -msgid_plural "rose buds" -msgstr[0] "薔薇花苞" - -#. ~ Description for rose bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A rose bud. Contains some substances commonly produced by a rose flower." -msgstr "一株薔薇花苞。含有一些薔薇花通常會產生的物質。" - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea" -msgid_plural "hydrangeas" -msgstr[0] "繡球花" - -#. ~ Description for hydrangea -#: lang/json/GENERIC_from_json.py -msgid "A hydrangea stalk with some petals." -msgstr "一根有一些花瓣的繡球花柄。" - -#: lang/json/GENERIC_from_json.py -msgid "hydrangea bud" -msgid_plural "hydrangea buds" -msgstr[0] "繡球花苞" - -#. ~ Description for hydrangea bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A hydrangea bud. Contains some substances commonly produced by a hydrangea " -"flower." -msgstr "一株繡球花苞。含有一些繡球花通常會產生的物質。" - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "tulip" -msgid_plural "tulips" -msgstr[0] "鬱金香" - -#. ~ Description for tulip -#: lang/json/GENERIC_from_json.py -msgid "A tulip stalk with some petals." -msgstr "一根有一些花瓣的鬱金香柄。" - -#: lang/json/GENERIC_from_json.py -msgid "tulip bud" -msgid_plural "tulip buds" -msgstr[0] "鬱金香花苞" - -#. ~ Description for tulip bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A tulip bud. Contains some substances commonly produced by a tulip flower." -msgstr "鬱金香花苞, 含有一些鬱金香常產生的物質。" - -#: lang/json/GENERIC_from_json.py -msgid "spurge" -msgid_plural "spurges" -msgstr[0] "大戟(翡翠塔)屬植物" - -#. ~ Description for spurge -#: lang/json/GENERIC_from_json.py -msgid "A spurge stalk with some petals." -msgstr "一株大戟的莖, 上面帶著一些花瓣。" - -#: lang/json/GENERIC_from_json.py -msgid "spurge bud" -msgid_plural "spurge buds" -msgstr[0] "大戟(翡翠塔)屬植物芽" - -#. ~ Description for spurge bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A spurge bud. Contains some substances commonly produced by a spurge " -"flower." -msgstr "大戟花苞, 含有一些大戟花常產生的物質。" - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "black eyed susan" -msgid_plural "black eyed susans" -msgstr[0] "黑心金光菊" - -#. ~ Description for black eyed susan -#: lang/json/GENERIC_from_json.py -msgid "A black eyed susan stalk with some petals." -msgstr "一根有一些花瓣的黑心金光菊花柄。" - -#: lang/json/GENERIC_from_json.py -msgid "black eyed susan bud" -msgid_plural "black eyed susan buds" -msgstr[0] "黑心金光菊花苞" - -#. ~ Description for black eyed susan bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A black eyed susan bud. Contains some substances commonly produced by a " -"black eyed susan flower." -msgstr "黑心金光菊花苞, 含有一些黑心金光菊花常產生的物質。" - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lily" -msgid_plural "lilys" -msgstr[0] "百合" - -#. ~ Description for lily -#: lang/json/GENERIC_from_json.py -msgid "A lily stalk with some petals." -msgstr "一株百合的莖, 上面帶著一些花瓣。" - -#: lang/json/GENERIC_from_json.py -msgid "lily bud" -msgid_plural "lily buds" -msgstr[0] "百合花苞" - -#. ~ Description for lily bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lily bud. Contains some substances commonly produced by a lily flower." -msgstr "百合花苞, 含有一些百合花常產生的物質。" - -#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "lotus" -msgid_plural "lotuss" -msgstr[0] "蓮花" - -#. ~ Description for lotus -#: lang/json/GENERIC_from_json.py -msgid "A lotus stalk with some petals." -msgstr "一株蓮花的莖, 上面帶著一些花瓣。" - -#: lang/json/GENERIC_from_json.py -msgid "lotus bud" -msgid_plural "lotus buds" -msgstr[0] "蓮花花苞" - -#. ~ Description for lotus bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lotus bud. Contains some substances commonly produced by a lotus flower." -msgstr "一株蓮花花苞。含有一些蓮花通常會產生的物質。" - -#: lang/json/GENERIC_from_json.py -msgid "lilac" -msgid_plural "lilacs" -msgstr[0] "紫丁香" - -#. ~ Description for lilac -#: lang/json/GENERIC_from_json.py -msgid "A lilac stalk with some petals." -msgstr "一株紫丁香的莖, 上面帶著一些花瓣。" - -#: lang/json/GENERIC_from_json.py -msgid "lilac bud" -msgid_plural "lilac buds" -msgstr[0] "紫丁香花苞" - -#. ~ Description for lilac bud -#: lang/json/GENERIC_from_json.py -msgid "" -"A lilac bud. Contains some substances commonly produced by a lilac flower." -msgstr "紫丁香花苞, 含有一些紫丁香常產生的物質。" - #. ~ Description for sunflower #: lang/json/GENERIC_from_json.py msgid "" @@ -34972,11 +35958,12 @@ msgid "" msgstr "向日葵,帶著黃色花瓣和一些尚未被動物吃掉的種子。" #: lang/json/GENERIC_from_json.py -msgid "handful of chamomile flowers" -msgid_plural "handfuls of chamomile flowers" +msgid "chamomile flowers" +msgid_plural "chamomile flowers" msgstr[0] "洋甘菊花" -#. ~ Description for handful of chamomile flowers +#. ~ Description for {'str': 'chamomile flowers', 'str_pl': 'chamomile +#. flowers'} #: lang/json/GENERIC_from_json.py msgid "" "White chamomile flowers, used as a herbal remedy since the ancient times." @@ -35229,12 +36216,14 @@ msgstr "一捆約20美金的紙鈔, 雖然現在已經沒什麼用了。" #. ~ Use action menu_text for cigar. #. ~ Use action menu_text for cigarette. #. ~ Use action menu_text for joint. +#. ~ Use action menu_text for spooky jack o'lantern. +#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for candle. #. ~ Use action menu_text for refillable lighter. #. ~ Use action menu_text for torch. -#. ~ Use action menu_text for hobo stove (lit). #. ~ Use action menu_text for ember carrier (lit). #. ~ Use action menu_text for Louisville Slaughterer. +#. ~ Use action menu_text for everburning torch. #: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py msgid "Extinguish" @@ -35281,9 +36270,9 @@ msgstr[0] "菸蒂" #: lang/json/GENERIC_from_json.py msgid "" "What was once a wonderfully addictive tube of dried tobacco leaf is now just a smelly piece of trash. What a tragedy!\n" -"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far..." +"The leftover tobacco in a few of these could probably be used to roll another cigarette. If you're willing to go that far…" msgstr "" -"曾經令人上癮的美妙菸草捲現在只剩下一小塊垃圾。何等的慘劇!\n" +"曾經令人上癮的美妙菸草捲現在只剩下一小塊垃圾。何等的慘劇!\n" "有足夠的這些東西剩餘菸草應該可以捲成一條新的煙。如果你想要這麼極端…" #. ~ Use action msg for joint. @@ -35327,10 +36316,10 @@ msgstr "中亞和印度的一種迷幻性植物,傳統上用於生產纖維, #: lang/json/GENERIC_from_json.py msgid "raw tobacco" -msgid_plural "handfuls of raw tobacco" +msgid_plural "raw tobacco" msgstr[0] "生菸草" -#. ~ Description for raw tobacco +#. ~ Description for {'str': 'raw tobacco', 'str_pl': 'raw tobacco'} #: lang/json/GENERIC_from_json.py msgid "" "Various parts of tobacco plant, full of nicotine. They need to be dried to " @@ -35376,11 +36365,6 @@ msgid "" "panel, if you can find one." msgstr "這張 ID卡原本屬於某個高級技工,背面有記述使用的通訊協定。它能讓你獲得存取控制台的權限,如果你找的到控制台的話。" -#: lang/json/GENERIC_from_json.py -msgid "neoprene sheet" -msgid_plural "neoprene sheets" -msgstr[0] "橡膠薄片" - #. ~ Description for neoprene sheet #: lang/json/GENERIC_from_json.py msgid "" @@ -36312,6 +37296,231 @@ msgid "note" msgid_plural "notes" msgstr[0] "" +#: lang/json/GENERIC_from_json.py +msgid "leaf spring" +msgid_plural "leaf springs" +msgstr[0] "板式彈簧" + +#. ~ Description for leaf spring +#: lang/json/GENERIC_from_json.py +msgid "" +"A large, heavy-duty leaf spring. Probably from some car or truck, and looks" +" an awful lot like a bow. You can barely bend it…" +msgstr "大型重型板式彈簧。可能來自汽車或卡車懸吊系統,看起來很像弓。你幾乎不能彎曲它... " + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea" +msgid_plural "hydrangeas" +msgstr[0] "繡球花" + +#. ~ Description for hydrangea +#: lang/json/GENERIC_from_json.py +msgid "A hydrangea stalk with some petals." +msgstr "一根有一些花瓣的繡球花柄。" + +#: lang/json/GENERIC_from_json.py +msgid "hydrangea bud" +msgid_plural "hydrangea buds" +msgstr[0] "繡球花苞" + +#. ~ Description for hydrangea bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A hydrangea bud. Contains some substances commonly produced by a hydrangea " +"flower." +msgstr "一株繡球花苞。含有一些繡球花通常會產生的物質。" + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "tulip" +msgid_plural "tulips" +msgstr[0] "鬱金香" + +#. ~ Description for tulip +#: lang/json/GENERIC_from_json.py +msgid "A tulip stalk with some petals." +msgstr "一根有一些花瓣的鬱金香柄。" + +#: lang/json/GENERIC_from_json.py +msgid "tulip bud" +msgid_plural "tulip buds" +msgstr[0] "鬱金香花苞" + +#. ~ Description for tulip bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A tulip bud. Contains some substances commonly produced by a tulip flower." +msgstr "鬱金香花苞, 含有一些鬱金香常產生的物質。" + +#: lang/json/GENERIC_from_json.py +msgid "spurge" +msgid_plural "spurges" +msgstr[0] "大戟(翡翠塔)屬植物" + +#. ~ Description for spurge +#: lang/json/GENERIC_from_json.py +msgid "A spurge stalk with some petals." +msgstr "一株大戟的莖, 上面帶著一些花瓣。" + +#: lang/json/GENERIC_from_json.py +msgid "spurge bud" +msgid_plural "spurge buds" +msgstr[0] "大戟(翡翠塔)屬植物芽" + +#. ~ Description for spurge bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A spurge bud. Contains some substances commonly produced by a spurge " +"flower." +msgstr "大戟花苞, 含有一些大戟花常產生的物質。" + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "black eyed susan" +msgid_plural "black eyed susans" +msgstr[0] "黑心金光菊" + +#. ~ Description for black eyed susan +#: lang/json/GENERIC_from_json.py +msgid "A black eyed susan stalk with some petals." +msgstr "一根有一些花瓣的黑心金光菊花柄。" + +#: lang/json/GENERIC_from_json.py +msgid "black eyed susan bud" +msgid_plural "black eyed susan buds" +msgstr[0] "黑心金光菊花苞" + +#. ~ Description for black eyed susan bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A black eyed susan bud. Contains some substances commonly produced by a " +"black eyed susan flower." +msgstr "黑心金光菊花苞, 含有一些黑心金光菊花常產生的物質。" + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lily" +msgid_plural "lilys" +msgstr[0] "百合" + +#. ~ Description for lily +#: lang/json/GENERIC_from_json.py +msgid "A lily stalk with some petals." +msgstr "一株百合的莖, 上面帶著一些花瓣。" + +#: lang/json/GENERIC_from_json.py +msgid "lily bud" +msgid_plural "lily buds" +msgstr[0] "百合花苞" + +#. ~ Description for lily bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lily bud. Contains some substances commonly produced by a lily flower." +msgstr "百合花苞, 含有一些百合花常產生的物質。" + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "lotus" +msgid_plural "lotuss" +msgstr[0] "蓮花" + +#. ~ Description for lotus +#: lang/json/GENERIC_from_json.py +msgid "A lotus stalk with some petals." +msgstr "一株蓮花的莖, 上面帶著一些花瓣。" + +#: lang/json/GENERIC_from_json.py +msgid "lotus bud" +msgid_plural "lotus buds" +msgstr[0] "蓮花花苞" + +#. ~ Description for lotus bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lotus bud. Contains some substances commonly produced by a lotus flower." +msgstr "一株蓮花花苞。含有一些蓮花通常會產生的物質。" + +#: lang/json/GENERIC_from_json.py +msgid "lilac" +msgid_plural "lilacs" +msgstr[0] "紫丁香" + +#. ~ Description for lilac +#: lang/json/GENERIC_from_json.py +msgid "A lilac stalk with some petals." +msgstr "一株紫丁香的莖, 上面帶著一些花瓣。" + +#: lang/json/GENERIC_from_json.py +msgid "lilac bud" +msgid_plural "lilac buds" +msgstr[0] "紫丁香花苞" + +#. ~ Description for lilac bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A lilac bud. Contains some substances commonly produced by a lilac flower." +msgstr "紫丁香花苞, 含有一些紫丁香常產生的物質。" + +#: lang/json/GENERIC_from_json.py +msgid "rose bud" +msgid_plural "rose buds" +msgstr[0] "薔薇花苞" + +#. ~ Description for rose bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A rose bud. Contains some substances commonly produced by a rose flower." +msgstr "一株薔薇花苞。含有一些薔薇花通常會產生的物質。" + +#: lang/json/GENERIC_from_json.py +msgid "dahlia bud" +msgid_plural "dahlia buds" +msgstr[0] "大麗菊芽" + +#. ~ Description for dahlia bud +#: lang/json/GENERIC_from_json.py +msgid "A dahlia bud. Contains some substances commonly produced by a dahlia." +msgstr "大麗菊芽, 含有一些風信子花常產生的物質。" + +#. ~ Description for rose +#: lang/json/GENERIC_from_json.py +msgid "A rose stalk with some petals." +msgstr "一株薔薇的莖, 上面帶著一些花瓣。" + +#: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py +msgid "bluebell" +msgid_plural "bluebells" +msgstr[0] "風信子" + +#. ~ Description for bluebell +#: lang/json/GENERIC_from_json.py +msgid "A bluebell stalk with some petals." +msgstr "一根有一些花瓣的風信子花柄。" + +#. ~ Description for dahlia +#: lang/json/GENERIC_from_json.py +msgid "A dahlia stalk with some petals." +msgstr "一根有一些花瓣的大麗菊柄。" + +#: lang/json/GENERIC_from_json.py +msgid "poppy flower" +msgid_plural "poppy flowers" +msgstr[0] "罌粟花" + +#. ~ Description for poppy flower +#: lang/json/GENERIC_from_json.py +msgid "A poppy stalk with some petals." +msgstr "一朵有許多花瓣的罌粟花。" + +#: lang/json/GENERIC_from_json.py +msgid "bluebell bud" +msgid_plural "bluebell buds" +msgstr[0] "風信子芽" + +#. ~ Description for bluebell bud +#: lang/json/GENERIC_from_json.py +msgid "" +"A bluebell bud. Contains some substances commonly produced by a bluebell " +"flower." +msgstr "風信子芽, 含有一些風信子花常產生的物質。" + #: lang/json/GENERIC_from_json.py msgid "module template" msgid_plural "module templates" @@ -36699,14 +37908,11 @@ msgstr[0] "原子咖啡壺" #: lang/json/GENERIC_from_json.py msgid "" "This is a Curie-G coffeemaker, by CuppaTech. It famously uses a radioactive" -" generator to heat water for coffee. Normally the water is heated using " +" generator to heat water for coffee. Normally the water is heated using " "energy stored in a capacitor, and makes ordinary coffee. However, as a " "special feature, water from the RTG containment area can be used, giving the" " coffee a very special kick. The Curie-G is illegal in most countries." msgstr "" -"這是一部Curie-" -"G咖啡機,由CuppaTech製造,它使用有名的核能發電機將水加熱去製作咖啡,通常水是由儲了能量的電容器加熱,但以特別功能來說,來自RTG保管器的水能夠被使用,使生產出來的咖啡有一種特別的風味" -",Curie-G在大部份城市可以合法使用。" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py msgid "atomic lamp" @@ -36716,7 +37922,9 @@ msgstr[0] "原子燈" #. ~ Use action menu_text for atomic lamp. #. ~ Use action menu_text for atomic reading light. #. ~ Use action menu_text for magical reading light. -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp. +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Close cover" msgstr "關上燈罩" @@ -36744,7 +37952,9 @@ msgstr[0] "原子燈 (蓋上)" #. ~ Use action menu_text for atomic lamp (covered). #. ~ Use action menu_text for atomic reading light (covered). #. ~ Use action menu_text for magical reading light (covered). -#: lang/json/GENERIC_from_json.py +#. ~ Use action menu_text for atomic headlamp (covered). +#: lang/json/GENERIC_from_json.py lang/json/GENERIC_from_json.py +#: lang/json/TOOL_ARMOR_from_json.py msgid "Open cover" msgstr "打開燈罩" @@ -37014,8 +38224,8 @@ msgstr[0] "抓鉤" #: lang/json/GENERIC_from_json.py msgid "" "A folding grappling hook attached to a stout 30-foot long piece of " -"lightweight cord. Useful for keeping yourself safe from falls. Can be used " -"in place of a long rope for butchering, in a pinch." +"lightweight cord. Useful for keeping yourself safe from falls. Can be used" +" in place of a long rope for butchering, in a pinch." msgstr "" #: lang/json/GENERIC_from_json.py @@ -37785,12 +38995,11 @@ msgstr[0] "詠春拳譜" #. ~ Description for Beautiful Springtime #: lang/json/GENERIC_from_json.py -msgid "" -"A complete guide to Wing Chun Kung-fu. Includes a section on butterfly " -"swords and the use of long poles at the end." -msgstr "詠春功夫的完整指南。書後還有關於蝴蝶雙刀和長棍的章節。" +msgid "A complete guide to Wing Chun Kung-fu." +msgstr "一本詠春功夫的完整指南。" #: lang/json/GENERIC_from_json.py lang/json/martial_art_from_json.py +#: lang/json/martial_art_from_json.py msgid "Fior Di Battaglia" msgid_plural "Fior Di Battaglia" msgstr[0] "" @@ -37799,8 +39008,8 @@ msgstr[0] "" #: lang/json/GENERIC_from_json.py msgid "" "A completely translated medieval guide teaching various techniques with " -"polearms, there is a chapter about the many variations of common polearms..." -" there are even pictures!" +"polearms, there is a chapter about the many variations of common polearms… " +"there are even pictures!" msgstr "" #: lang/json/GENERIC_from_json.py @@ -38758,6 +39967,19 @@ msgstr[0] "" msgid "This is a slip of paper signed by the issuer." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "icon" +msgid_plural "icons" +msgstr[0] "" + +#. ~ Description for icon +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a small picture, about the same size as an ID card, symbolizing a " +"religious figure. On the back, there is a text that faintly reads 'New " +"England Church Community'." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "generic silverware" msgid_plural "generic silverwares" @@ -39082,9 +40304,9 @@ msgstr[0] "叉子" #. ~ Description for fork #: lang/json/GENERIC_from_json.py msgid "" -"A fork, if you stab something with it you eat it right away. Wait... " +"A fork, if you stab something with it you eat it right away. Wait… " "nevermind." -msgstr "一根叉子, 能插起任何你想吃的東西。等等… 算了。" +msgstr "" #: lang/json/GENERIC_from_json.py msgid "plastic fork" @@ -40152,17 +41374,12 @@ msgstr[0] "雷神錘" #: lang/json/GENERIC_from_json.py msgid "" "A large hammer, forged from the heart of a dying star. It bears the inscription:\n" -" \n" +"\n" "Whosoever holds this hammer,\n" "If he be worthy,\n" -"Shall possess the power to...\n" +"Shall possess the power to…\n" "CRUSH!'" msgstr "" -"雷神索爾的錘子,以塌縮的恆星鍛造而成。上面有著題詞;\n" -"凡握此錘,\n" -"如可舉起,\n" -"應有能力,\n" -"化物為礫。" #: lang/json/GENERIC_from_json.py msgid "lucerne hammer" @@ -40572,8 +41789,8 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "" "This is a thin thrusting sword, a sort of predecessor to the rapier. It " -"requires a larger baldric or scabbard, compared to smaller swords. It seems " -"a bit too bendy." +"requires a larger baldric or scabbard, compared to smaller swords. It seems" +" a bit too bendy." msgstr "" #. ~ Description for estoc @@ -40663,17 +41880,17 @@ msgid "" msgstr "一種用於擊劍運動的武器, 擊劍是所有運動中最高貴的。不幸的是, 鈍劍不是一種實用的武器, 因為它的劍身過於有彈性而且尖端是鈍的。" #: lang/json/GENERIC_from_json.py -msgid "fencing epee" -msgid_plural "fencing epees" -msgstr[0] "擊劍銳劍" +msgid "fencing épée" +msgid_plural "fencing épées" +msgstr[0] "" -#. ~ Description for fencing epee +#. ~ Description for fencing épée #: lang/json/GENERIC_from_json.py msgid "" -"A weapon used for fencing, the most noble of all sports. The epee is the " +"A weapon used for fencing, the most noble of all sports. The épée is the " "heaviest and stiffest of the fencing weapons, and therefore perhaps the most" " useful." -msgstr "一種用於擊劍運動的武器, 擊劍是所有運動中最高貴的。銳劍是擊劍中最重且最硬的, 因此可能是擊劍武器中最實用的武器了。" +msgstr "" #: lang/json/GENERIC_from_json.py msgid "fencing saber" @@ -40684,8 +41901,50 @@ msgstr[0] "擊劍軍刀" #: lang/json/GENERIC_from_json.py msgid "" "A weapon used for fencing, the most noble of all sports. The fencing saber " -"is marginally shorter than the foil and epee, but no less effective." -msgstr "一種用於擊劍運動的武器, 擊劍是所有運動中最高貴的。軍刀比鈍劍與銳劍稍短, 但一樣有效。" +"is marginally shorter than the foil and épée, but no less effective." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened foil" +msgid_plural "sharpened foils" +msgstr[0] "" + +#. ~ Description for sharpened foil +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing foil has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now somewhat more lethal, yet still familiar to" +" the practiced fencer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened épée" +msgid_plural "sharpened épées" +msgstr[0] "" + +#. ~ Description for sharpened épée +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing épée has had its electrical plunger " +"assembly removed and has been crudely sharpened to a point. Though it still" +" lacks a cutting edge, it is now considerably more lethal, yet still " +"familiar to the practiced fencer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "sharpened saber" +msgid_plural "sharpened sabers" +msgstr[0] "" + +#. ~ Description for sharpened saber +#: lang/json/GENERIC_from_json.py +msgid "" +"This once mostly harmless fencing saber has had its rounded tip snapped off " +"and has been crudely sharpened to a point. Though it still lacks a cutting " +"edge, it is now considerably more lethal, yet still familiar to the " +"practiced fencer." +msgstr "" #: lang/json/GENERIC_from_json.py msgid "hollow cane" @@ -40885,6 +42144,16 @@ msgid "" "door." msgstr "一個內嵌小透鏡的金屬圓柱, 可以裝在門上。" +#: lang/json/GENERIC_from_json.py +msgid "mesh screen" +msgid_plural "mesh screens" +msgstr[0] "網幕" + +#. ~ Description for mesh screen +#: lang/json/GENERIC_from_json.py +msgid "A roll of fine mesh screen for bug barriers on porches." +msgstr "一卷細篩網,作為門廊上的防蟲欄。" + #: lang/json/GENERIC_from_json.py msgid "pipe" msgid_plural "pipes" @@ -40930,8 +42199,8 @@ msgstr[0] "鋁錠" msgid "" "A small aluminum ingot, standardized for further processing. Light but " "durable, this could be cast into various shapes for construction or ground " -"down to a powder, for more... high-profile applications." -msgstr "一個小鋁錠, 能夠被進一步處理。輕量且耐用, 能夠鑄造成各種形狀來進行建造, 或是壓成粉末, 或者… 更高深的應用。" +"down to a powder, for more… high-profile applications." +msgstr "一個小鋁錠,能夠被進一步處理。輕量且耐用,能夠鑄造成各種形狀來進行建造,或是壓成粉末,或者… 更高深的應用。" #: lang/json/GENERIC_from_json.py msgid "scrap copper" @@ -40954,11 +42223,11 @@ msgid "This is a single, or twin, sized mattress." msgstr "這是一張單人或雙人床墊。" #: lang/json/GENERIC_from_json.py lang/json/furniture_from_json.py -msgid "down_mattress" -msgid_plural "down_mattresses" +msgid "down mattress" +msgid_plural "down mattresses" msgstr[0] "羽絨床墊" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/GENERIC_from_json.py msgid "This is a single, or twin, sized down filled mattress." msgstr "這是一張單人或雙人大小的羽絨床墊。" @@ -41233,6 +42502,43 @@ msgid "" " can also serve as an improvised stabbing weapon, but will break quickly." msgstr "一支帶有木柄的鋼錐,常用於皮革加工。它也可以當作粗製的刺擊武器,只是很快就會壞掉。" +#: lang/json/GENERIC_from_json.py +msgid "frame loom" +msgid_plural "frame looms" +msgstr[0] "" + +#. ~ Description for frame loom +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a rather bulky and primitive wooden frame which can be used to weave" +" cloth sheets. It is very slow, though." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "wooden shed stick" +msgid_plural "wooden shed sticks" +msgstr[0] "" + +#. ~ Description for wooden shed stick +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a short thin flat wooden stick, used as a tool while weaving cloth " +"with a frame loom." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "tailoring pattern set" +msgid_plural "tailoring pattern sets" +msgstr[0] "" + +#. ~ Description for tailoring pattern set +#: lang/json/GENERIC_from_json.py +msgid "" +"This is a large set of tailoring patterns made from paper. They're useful " +"for making any kind of cloth or leather items from scratch, but are " +"necessary for more advanced projects." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "vehicle alternator" msgid_plural "vehicle alternators" @@ -41535,6 +42841,19 @@ msgid "" "have some sort of maintenance mode." msgstr "一套微型控制伺服器, 能夠安裝到車輛上進行無人駕駛。雖然人工智慧模式沒有作用, 但是仍然還有維護模式可用。" +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "turret control unit" +msgid_plural "turret control units" +msgstr[0] "砲塔控制元件" + +#. ~ Description for turret control unit +#: lang/json/GENERIC_from_json.py +msgid "" +"A set of motor, camera, and various electronic modules banded together to " +"allow for tracking targets, friend-or-foe identification, and firing the " +"connected turret in full automatic mode." +msgstr "一組馬達、攝像機、以及許多電子模組組合在一起,能夠追蹤目標、辨識敵我、並以全自動模式發射連接的砲塔。" + #: lang/json/GENERIC_from_json.py msgid "massive engine block" msgid_plural "massive engine blocks" @@ -42481,6 +43800,18 @@ msgstr[0] "洗衣機" msgid "A very small washing machine designed for use in vehicles." msgstr "一部設計於車輛內使用的小型洗衣機。" +#: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py +msgid "programmable autopilot" +msgid_plural "programmable autopilots" +msgstr[0] "可程式化自動駕駛" + +#. ~ Description for programmable autopilot +#: lang/json/GENERIC_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of a vehicle to allow" +" it to follow simple paths." +msgstr "一組電腦系統連接著車輛的轉向器與引擎,使車輛能沿著簡單路徑移動。" + #: lang/json/GENERIC_from_json.py msgid "mountable autoclave" msgid_plural "mountable autoclaves" @@ -42544,7 +43875,7 @@ msgstr[0] "中型輪轂組件" #. ~ Description for medium wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." +"A metal assembly that allows bolting a wheel on a car. Fit for a car wheel." msgstr "金屬組件,可以用於將車輪固定在汽車上。適合汽車輪胎。" #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py @@ -42555,8 +43886,8 @@ msgstr[0] "重型輪轂組件" #. ~ Description for heavy wheel hub assembly #: lang/json/GENERIC_from_json.py msgid "" -"A heavy metal assembly that allows bolting a wheel on a car. Fit for a large" -" car wheel." +"A heavy metal assembly that allows bolting a wheel on a car. Fit for a " +"large car wheel." msgstr "重型金屬組件,可以用於將車輪固定在汽車上。適合大型汽車輪胎。" #: lang/json/GENERIC_from_json.py @@ -42792,7 +44123,7 @@ msgstr "這個擀麵棍已被改造成武器,帶刺鐵絲網為其增加了一 #: lang/json/GENERIC_from_json.py lang/json/vehicle_part_from_json.py msgid "hauling space" msgid_plural "hauling spaces" -msgstr[0] "" +msgstr[0] "拖運空間" #. ~ Description for hauling space #: lang/json/GENERIC_from_json.py @@ -43079,17 +44410,17 @@ msgstr "一台損毀的兔子機械布偶, 癱軟在地上且毫無動靜。" #: lang/json/GENERIC_from_json.py msgid "withered plant bundle" msgid_plural "withered plant bundles" -msgstr[0] "" +msgstr[0] "枯萎的植物束" #. ~ Description for withered plant bundle #: lang/json/GENERIC_from_json.py msgid "A bundle of plant matter" -msgstr "" +msgstr "一捆植物" #: lang/json/GENERIC_from_json.py msgid "CRIT hatchet" msgid_plural "CRIT hatchets" -msgstr[0] "" +msgstr[0] "CRIT 手斧" #. ~ Description for CRIT hatchet #: lang/json/GENERIC_from_json.py @@ -43111,7 +44442,7 @@ msgstr "" #: lang/json/GENERIC_from_json.py msgid "C.R.I.T Enforcement manual" msgid_plural "C.R.I.T Enforcement manuals" -msgstr[0] "" +msgstr[0] "C.R.I.T 執法手冊" #. ~ Description for C.R.I.T Enforcement manual #: lang/json/GENERIC_from_json.py @@ -43615,6 +44946,26 @@ msgid "" "art." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "The Iron Whip" +msgid_plural "The Iron Whips" +msgstr[0] "鐵鞭" + +#. ~ Use action msg for The Iron Whip. +#: lang/json/GENERIC_from_json.py +msgid "" +"You loop the whip in your hand and it coils back into a belt form in an " +"instant." +msgstr "" + +#. ~ Description for The Iron Whip +#: lang/json/GENERIC_from_json.py +msgid "" +"A long braided flexible steel bullwhip that narrows into a sharp blade at " +"the end. Easily capable of slicing and dicing anything that comes at you. " +"It transforms back into a belt." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "cudgel +1" msgid_plural "cudgel +1s" @@ -44035,6 +45386,344 @@ msgid "dao +2" msgid_plural "dao +2s" msgstr[0] "中式刀 +2" +#: lang/json/GENERIC_from_json.py +msgid "Biomancer spear" +msgid_plural "Biomancer spears" +msgstr[0] "生機術士骨矛" + +#. ~ Description for Biomancer spear +#: lang/json/GENERIC_from_json.py +msgid "" +"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer " +"rune embedded at the base of the head." +msgstr "奇異的骨製矛頭裝在粗壯的木桿上。矛頭底部鑲嵌著生機術士符文。" + +#: lang/json/GENERIC_from_json.py +msgid "Technomancer toolbar" +msgid_plural "Technomancer toolbars" +msgstr[0] "科技巫師工具棒" + +#. ~ Description for Technomancer toolbar +#: lang/json/GENERIC_from_json.py +msgid "" +"This staff incorporates a sturdy cresent wrench on top of a prybar and a " +"hammer on the other in a convienent package. There is a Technomancer rune " +"embedded in the hammerhead." +msgstr "這棍棒在橇棍前頭上整合了堅固的活動扳手,以及在鐵鎚上整合了許多適合的工具套組。在鎚頭上鑲嵌著科技巫師符文。" + +#: lang/json/GENERIC_from_json.py +msgid "Magus staff" +msgid_plural "Magus staves" +msgstr[0] "祆教徒法杖" + +#. ~ Description for {'str': 'Magus staff', 'str_pl': 'Magus staves'} +#: lang/json/GENERIC_from_json.py +msgid "" +"A quarterstaff with runes carved into it and two glass jars, heat-tempered " +"and infused with mana for durability, to act as mana receptacles. There are" +" two Magi runes embedded at the tips." +msgstr "雕刻符文的長棍,附有兩個玻璃罐。經過淬火回火後注入法力提升其耐用度。尖端鑲嵌著兩個祆教徒符文。" + +#: lang/json/GENERIC_from_json.py +msgid "Kelvinist flamberge" +msgid_plural "Kelvinist flamberges" +msgstr[0] "熱力學者焰形劍" + +#. ~ Description for Kelvinist flamberge +#: lang/json/GENERIC_from_json.py +msgid "" +"A sword with an undulating blade, reminiscent of a flame. There is a " +"Kelvinist rune embedded in the pommel." +msgstr "有著如火焰般波浪形狀劍身的雙手大劍。在劍柄端頭上鑲嵌著熱力學者符文。" + +#: lang/json/GENERIC_from_json.py +msgid "Stormshaper axe" +msgid_plural "Stormshaper axes" +msgstr[0] "塑風者銅斧" + +#. ~ Description for Stormshaper axe +#: lang/json/GENERIC_from_json.py +msgid "" +"A forged copper axe with silver trimmings and a wooden handle. There is a " +"Stormshaper rune embedded in the eye." +msgstr "有著銀飾和木製手柄的鍛造銅斧。斧眼中鑲嵌著風暴塑形者的符文。" + +#: lang/json/GENERIC_from_json.py +msgid "Animist athame" +msgid_plural "Animist athames" +msgstr[0] "泛靈論者儀式刀" + +#. ~ Description for Animist athame +#: lang/json/GENERIC_from_json.py +msgid "" +"A steel ritual knife used by Animists to draw blood for summoning. Their " +"school rune is embedded in the crossguard." +msgstr "鋼製的儀式用小刀,泛靈論者在召喚時用來放血的器具。他們學派的符文正鑲嵌在護手上。" + +#: lang/json/GENERIC_from_json.py +msgid "springstaff(baton)" +msgid_plural "springstaves(baton)" +msgstr[0] "" + +#. ~ Use action menu_text for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "Extend to staff" +msgstr "" + +#. ~ Use action msg for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'}. +#: lang/json/GENERIC_from_json.py +msgid "You snap open your springstaff into staff mode." +msgstr "" + +#. ~ Description for {'str': 'springstaff(baton)', 'str_pl': +#. 'springstaves(baton)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips retracted while in baton configuration. Activate to extend." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "springstaff(staff)" +msgid_plural "springstaves(staff)" +msgstr[0] "" + +#. ~ Use action menu_text for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "Retract to baton" +msgstr "" + +#. ~ Use action msg for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'}. +#: lang/json/GENERIC_from_json.py +msgid "You collapse your springstaff into baton mode." +msgstr "" + +#. ~ Description for {'str': 'springstaff(staff)', 'str_pl': +#. 'springstaves(staff)'} +#: lang/json/GENERIC_from_json.py +msgid "" +"This versatile weapon uses Technomancy-enhanced springs to keep the staff " +"tips from retracting while in staff configuration. Activate to extend." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "magic token" +msgid_plural "magic tokens" +msgstr[0] "魔法代幣" + +#: lang/json/GENERIC_from_json.py +msgid "longsword token" +msgid_plural "longsword tokens" +msgstr[0] "長劍代幣" + +#. ~ Use action msg for longsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine longsword!" +msgstr "你說出刻在代幣上的命令字詞後,它迅速增長並變形成嶄新而閃亮的長劍!" + +#. ~ Description for longsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a longsword." +msgstr "一枚大銀幣,當說出其背面刻印的字詞時,代幣會被觸發變成正面刻印圖示的物品,此代幣圖示為長劍。" + +#: lang/json/GENERIC_from_json.py +msgid "arming sword token" +msgid_plural "arming sword tokens" +msgstr[0] "騎士劍代幣" + +#. ~ Use action msg for arming sword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine arming sword!" +msgstr "你說出刻在代幣上的命令字詞後,它迅速增長並變形成嶄新而閃亮的騎士劍!" + +#. ~ Description for arming sword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case an arming sword." +msgstr "一枚大銀幣,當說出其背面刻印的字詞時,代幣會被觸發變成正面刻印圖示的物品,此代幣圖示為騎士劍。" + +#: lang/json/GENERIC_from_json.py +msgid "broadsword token" +msgid_plural "broadsword tokens" +msgstr[0] "闊劍代幣" + +#. ~ Use action msg for broadsword token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine broadsword!" +msgstr "你說出刻在代幣上的命令字詞後,它迅速增長並變形成嶄新而閃亮的闊劍!" + +#. ~ Description for broadsword token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a broadsword." +msgstr "一枚大銀幣,當說出其背面刻印的字詞時,代幣會被觸發變成正面刻印圖示的物品,此代幣圖示為闊劍。" + +#: lang/json/GENERIC_from_json.py +msgid "battleaxe token" +msgid_plural "battleaxe tokens" +msgstr[0] "戰斧代幣" + +#. ~ Use action msg for battleaxe token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine battle axe!" +msgstr "你說出刻在代幣上的命令字詞後,它迅速增長並變形成嶄新而閃亮的戰斧!" + +#. ~ Description for battleaxe token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a battle axe." +msgstr "一枚大銀幣,當說出其背面刻印的字詞時,代幣會被觸發變成正面刻印圖示的物品,此代幣圖示為戰斧。" + +#: lang/json/GENERIC_from_json.py +msgid "pike token" +msgid_plural "pike tokens" +msgstr[0] "長柄槍代幣" + +#. ~ Use action msg for pike token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine pike!" +msgstr "你說出刻在代幣上的命令字詞後,它迅速增長並變形成嶄新而閃亮的長柄槍!" + +#. ~ Description for pike token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a pike." +msgstr "一枚大銀幣,當說出其背面刻印的字詞時,代幣會被觸發變成正面刻印圖示的物品,此代幣圖示為長柄槍。" + +#: lang/json/GENERIC_from_json.py +msgid "mace token" +msgid_plural "mace tokens" +msgstr[0] "硬頭錘代幣" + +#. ~ Use action msg for mace token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine mace!" +msgstr "你說出刻在代幣上的命令字詞後,它迅速增長並變形成嶄新而閃亮的硬頭錘!" + +#. ~ Description for mace token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a mace." +msgstr "一枚大銀幣,當說出其背面刻印的字詞時,代幣會被觸發變成正面刻印圖示的物品,此代幣圖示為硬頭錘。" + +#: lang/json/GENERIC_from_json.py +msgid "quarterstaff token" +msgid_plural "quarterstaff tokens" +msgstr[0] "木杖代幣" + +#. ~ Use action msg for quarterstaff token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a pristine quarterstaff!" +msgstr "你說出刻在代幣上的命令字詞後,它迅速增長並變形成嶄新的木杖!" + +#. ~ Description for quarterstaff token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a quarterstaff." +msgstr "一枚大銀幣,當說出其背面刻印的字詞時,代幣會被觸發變成正面刻印圖示的物品,此代幣圖示為木杖。" + +#: lang/json/GENERIC_from_json.py +msgid "hammer token" +msgid_plural "hammer tokens" +msgstr[0] "鐵鎚代幣" + +#. ~ Use action msg for hammer token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine hammer!" +msgstr "你說出刻在代幣上的命令字詞後,它迅速增長並變形成嶄新而閃亮的鐵鎚!" + +#. ~ Description for hammer token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a hammer." +msgstr "一枚大銀幣,當說出其背面刻印的字詞時,代幣會被觸發變成正面刻印圖示的物品,此代幣圖示為鐵鎚。" + +#: lang/json/GENERIC_from_json.py +msgid "screwdriver set token" +msgid_plural "screwdriver set tokens" +msgstr[0] "螺絲起子套組代幣" + +#. ~ Use action msg for screwdriver set token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine screwdriver set!" +msgstr "你說出刻在代幣上的命令字詞後,它迅速增長並變形成嶄新而閃亮的螺絲起子套組!" + +#. ~ Description for screwdriver set token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a screwdriver." +msgstr "一枚大銀幣,當說出其背面刻印的字詞時,代幣會被觸發變成正面刻印圖示的物品,此代幣圖示為螺絲起子。" + +#: lang/json/GENERIC_from_json.py +msgid "toolbox token" +msgid_plural "toolbox tokens" +msgstr[0] "工具箱代幣" + +#. ~ Use action msg for toolbox token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine toolbox!" +msgstr "你說出刻在代幣上的命令字詞後,它迅速增長並變形成嶄新而閃亮的工具箱!" + +#. ~ Description for toolbox token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a toolbox." +msgstr "一枚大銀幣,當說出其背面刻印的字詞時,代幣會被觸發變成正面刻印圖示的物品,此代幣圖示為工具箱。" + +#: lang/json/GENERIC_from_json.py +msgid "crowbar token" +msgid_plural "crowbar tokens" +msgstr[0] "撬棍代幣" + +#. ~ Use action msg for crowbar token. +#: lang/json/GENERIC_from_json.py +msgid "" +"You say the command word engraved on the token, and it rapidly grows and " +"morphs into a shiny pristine crowbar!" +msgstr "你說出刻在代幣上的命令字詞後,它迅速增長並變形成嶄新而閃亮的撬棍!" + +#. ~ Description for crowbar token +#: lang/json/GENERIC_from_json.py +msgid "" +"A large silver coin that, when activated by uttering the word on the back, " +"turns into the item pictured on the front, in this case a crowbar." +msgstr "一枚大銀幣,當說出其背面刻印的字詞時,代幣會被觸發變成正面刻印圖示的物品,此代幣圖示為撬棍。" + #: lang/json/GENERIC_from_json.py msgid "cestus +1" msgid_plural "cestus +1s" @@ -44080,6 +45769,20 @@ msgid "" "to land astoundingly powerful blows." msgstr "一雙巨大的發光金屬重型長手套,表面鑲滿著魔法符號,讓你可以揮出驚人的強大打擊。" +#: lang/json/GENERIC_from_json.py +msgid "Earthshaper cestus" +msgid_plural "Earthshaper cesti" +msgstr[0] "塑地者拳套" + +#. ~ Description for {'str': 'Earthshaper cestus', 'str_pl': 'Earthshaper +#. cesti'} +#: lang/json/GENERIC_from_json.py +msgid "" +"A stone battle glove with carved runes encasing the hand, protecting it " +"while increasing striking power. There is an Earthshaper rune embedded in " +"the palm." +msgstr "一雙雕刻著符文的石製手套,包覆雙手保護它並增強打擊力道。在掌中鑲嵌著大地塑形者的符文。" + #: lang/json/GENERIC_from_json.py msgid "stone shell" msgid_plural "stone shells" @@ -44156,6 +45859,18 @@ msgid "" "prized for their beauty and power." msgstr "當鯊蜥獸在地底挖洞時,它的鰓會收集微量的貴重金屬和寶石,這些慢慢地聚集成燦爛的珠寶,因其美麗與魔力而備受珍視。" +#: lang/json/GENERIC_from_json.py +msgid "stirge proboscis" +msgid_plural "stirge proboscises" +msgstr[0] "" + +#. ~ Description for stirge proboscis +#: lang/json/GENERIC_from_json.py +msgid "" +"A long sucking apparatus harvested from stirge corpse. Makes a poor melee " +"weapon." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "black dragon scale" msgid_plural "black dragon scales" @@ -44180,93 +45895,6 @@ msgid "" "scales could make a suit of armor as hard as steel and half as heavy." msgstr "已處理的黑龍皮。堅硬而耐酸,如果有足量的黑龍皮,你可以製作一套硬如鋼鐵的護甲,而且重量只有鋼鐵的一半。" -#: lang/json/GENERIC_from_json.py -msgid "Biomancer spear" -msgid_plural "Biomancer spears" -msgstr[0] "生機術士骨矛" - -#. ~ Description for Biomancer spear -#: lang/json/GENERIC_from_json.py -msgid "" -"A grotesque bone spearhead on a stout wooden pole. There is a Biomancer rune" -" embedded at the base of the head." -msgstr "奇異的骨製矛頭裝在粗壯的木桿上。矛頭底部鑲嵌著生機術士符文。" - -#: lang/json/GENERIC_from_json.py -msgid "Technomancer toolbar" -msgid_plural "Technomancer toolbars" -msgstr[0] "科技巫師工具棒" - -#. ~ Description for Technomancer toolbar -#: lang/json/GENERIC_from_json.py -msgid "" -"This staff incorporates a sturdy cresent wrench on top of a prybar and a " -"hammer on the other in a convienent package. There is a Technomancer rune " -"embedded in the hammerhead." -msgstr "這棍棒在橇棍前頭上整合了堅固的活動扳手,以及在鐵鎚上整合了許多適合的工具套組。在鎚頭上鑲嵌著科技巫師符文。" - -#: lang/json/GENERIC_from_json.py -msgid "Magus staff" -msgid_plural "Magus staffs" -msgstr[0] "祆教徒法杖" - -#. ~ Description for Magus staff -#: lang/json/GENERIC_from_json.py -msgid "" -"A quarterstaff with runes carved into it and two glass jars, heat-tempered " -"and infused with mana for durability, to act as mana receptacles. There are " -"two Magi runes embedded at the tips." -msgstr "雕刻符文的長棍,附有兩個玻璃罐。經過淬火回火後注入法力提升其耐用度。尖端鑲嵌著兩個祆教徒符文。" - -#: lang/json/GENERIC_from_json.py -msgid "Earthshaper cestus" -msgid_plural "Earthshaper cesti" -msgstr[0] "塑地者拳套" - -#. ~ Description for Earthshaper cestus -#: lang/json/GENERIC_from_json.py -msgid "" -"A stone battle glove with carved runes encasing the hand, protecting it " -"while increasing striking power. There is an Earthshaper rune embedded in " -"the palm." -msgstr "一雙雕刻著符文的石製手套,包覆雙手保護它並增強打擊力道。在掌中鑲嵌著大地塑形者的符文。" - -#: lang/json/GENERIC_from_json.py -msgid "Kelvinist flamberge" -msgid_plural "Kelvinist flamberges" -msgstr[0] "熱力學者焰形劍" - -#. ~ Description for Kelvinist flamberge -#: lang/json/GENERIC_from_json.py -msgid "" -"A sword with an undulating blade, reminiscent of a flame. There is a " -"Kelvinist rune embedded in the pommel." -msgstr "有著如火焰般波浪形狀劍身的雙手大劍。在劍柄端頭上鑲嵌著熱力學者符文。" - -#: lang/json/GENERIC_from_json.py -msgid "Stormshaper axe" -msgid_plural "Stormshaper axes" -msgstr[0] "塑風者銅斧" - -#. ~ Description for Stormshaper axe -#: lang/json/GENERIC_from_json.py -msgid "" -"A forged copper axe with silver trimmings and a wooden handle. There is a " -"Stormshaper rune embedded in the eye." -msgstr "有著銀飾和木製手柄的鍛造銅斧。斧眼中鑲嵌著風暴塑形者的符文。" - -#: lang/json/GENERIC_from_json.py -msgid "Animist athame" -msgid_plural "Animist athames" -msgstr[0] "泛靈論者儀式刀" - -#. ~ Description for Animist athame -#: lang/json/GENERIC_from_json.py -msgid "" -"A steel ritual knife used by Animists to draw blood for summoning. Their " -"school rune is embedded in the crossguard." -msgstr "鋼製的儀式用小刀,泛靈論者在召喚時用來放血的器具。他們學派的符文正鑲嵌在護手上。" - #: lang/json/GENERIC_from_json.py msgid "lesser staff of the magi" msgid_plural "lesser staves of the magi" @@ -44279,6 +45907,16 @@ msgid "" "glows with magic when you cast spells, but it is not a sturdy melee weapon." msgstr "" +#: lang/json/GENERIC_from_json.py +msgid "fireball hammer" +msgid_plural "fireball hammers" +msgstr[0] "火球錘" + +#. ~ Description for fireball hammer +#: lang/json/GENERIC_from_json.py +msgid "Use with caution! Flammable! Explosive!" +msgstr "請謹慎使用!易燃!爆炸!" + #: lang/json/GENERIC_from_json.py msgid "The Stormhammer" msgid_plural "The Stormhammers" @@ -44325,6 +45963,53 @@ msgstr[0] "邪惡骨矛" msgid "This is a wicked spear/halberd hybrid entirely created of bone." msgstr "這是一種完全由骨骼製成的邪惡的長矛/戟混合體。" +#. ~ Description for Mjölnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Mjölnir, the legendary hammer of Thor. It is rumored to be able to level " +"mountains with a single blow. You feel the power of Asgard coursing through" +" the hammer." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Gungnir" +msgid_plural "Gungnirs" +msgstr[0] "永恆之槍" + +#. ~ Description for Gungnir +#: lang/json/GENERIC_from_json.py +msgid "" +"Gungnir, the spear of Odin. It is rumored to be the perfect spear, " +"perfectly hitting any target regardless of the wielder's strength or skill." +" If feels like Odin's protecting you." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Gram" +msgid_plural "Grams" +msgstr[0] "" + +#. ~ Description for Gram +#: lang/json/GENERIC_from_json.py +msgid "" +"Gram, the sword of Sigurd. It is rumored to be the sword that slayed the " +"legendary dragon, Fafnir. Once said to have cleaved Regin's anvil in half, " +"the edge is impeccable." +msgstr "" + +#: lang/json/GENERIC_from_json.py lang/json/TOOL_from_json.py +msgid "Laevateinn" +msgid_plural "Laevateinns" +msgstr[0] "勝利之劍" + +#. ~ Description for Laevateinn +#: lang/json/GENERIC_from_json.py +msgid "" +"Laevateinn, the staff of Loki. Said to have been plucked from the gates of " +"Hel by Loki. Imbued with a mysterious magic, the magic of the trickster god" +" himself." +msgstr "" + #: lang/json/GENERIC_from_json.py msgid "Spell Scroll" msgid_plural "Spell Scrolls" @@ -44551,9 +46236,9 @@ msgstr[0] "致盲閃光卷軸" #. ~ Description for Blinding Flash #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" -"Blind enemies for a short time with a sudden, dazzling light. Higher levels " -"deal slightly higher damage." -msgstr "以一個突然且眩目的光令敵人暫時失明。高等級會稍為增加造成的傷害。" +"Blind enemies for a short time with a sudden, dazzling light. Higher levels" +" deal slightly higher damage." +msgstr "" #: lang/json/GENERIC_from_json.py msgid "Scroll of Ethereal Grasp" @@ -44565,7 +46250,7 @@ msgstr[0] "空靈抓握卷軸" #: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py msgid "" "A mass of spectral hands emerge from the ground, slowing everything in " -"range. Higher levels allow a bigger AoE, and longer effect." +"range. Higher levels allow a bigger AoE, and longer effect." msgstr "許多鬼手從地板升出來,減慢在該範圍內的所有東西。越高等級的範圍越大,持續時間也越久。" #: lang/json/GENERIC_from_json.py @@ -44618,7 +46303,7 @@ msgstr[0] "木矛術卷軸" msgid "" "This spell creates a projectile of hardwood that shoots forth from the " "caster's hand at high speed to stab into an enemy." -msgstr "這個發術產生一個硬木發射體,並從施法者的手上以高速發射出去,刺進目標敵人。" +msgstr "此法術會生成一枚硬木拋射物,從施法者的手上高速射出,刺入敵人。" #: lang/json/GENERIC_from_json.py msgid "Scroll of Nature's Bow" @@ -44964,7 +46649,7 @@ msgstr[0] "迅捷術卷軸" msgid "" "This spell gives you an enormous boost of speed lasting a short period of " "time." -msgstr "" +msgstr "此法術可以在短時間內極大地提高速度。" #: lang/json/GENERIC_from_json.py msgid "Scroll of Mana Beam" @@ -45276,8 +46961,46 @@ msgstr[0] "淨化種子卷軸" #. ~ Description for Scroll of Purification Seed #: lang/json/GENERIC_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Greater levels yield" -" greater numbers of seeds." +"You summon a gift of the earth which will purify water. Greater levels " +"yield greater numbers of seeds." +msgstr "你召喚大地的贈禮,它將淨化水質。越高的等級能產生越多的種子。" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of X-ray Vision" +msgid_plural "Scroll of X-ray Visions" +msgstr[0] "" + +#. ~ Description for Scroll of X-ray Vision +#. ~ Description for X-ray Vision +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You fire a cone of X-rays that magically allow you to see that area for a " +"short time." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Clairvoyance" +msgid_plural "Scroll of Clairvoyances" +msgstr[0] "" + +#. ~ Description for Scroll of Clairvoyance +#. ~ Description for Clairvoyance +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "You close your eyes and the earth surrenders its secrets to you." +msgstr "" + +#: lang/json/GENERIC_from_json.py +msgid "Scroll of Lava Bomb" +msgid_plural "Scroll of Lava Bombs" +msgstr[0] "熔岩炸彈卷軸" + +#. ~ Description for Scroll of Lava Bomb +#. ~ Description for Lava Bomb +#: lang/json/GENERIC_from_json.py lang/json/SPELL_from_json.py +msgid "" +"You tear up the ground beneath you to fire a lava bomb: a globe of lava " +"surrounded by hot, solid rock. It shatters upon impact, spraying shards of " +"rock and lava everywhere." msgstr "" #: lang/json/GENERIC_from_json.py @@ -46088,11 +47811,6 @@ msgid "" "ornaments." msgstr "雷神之錘, 雷神武器的複製品。傳說僅僅一擊就能夷平山脈。武器上有金銀裝飾。" -#: lang/json/GENERIC_from_json.py -msgid "Gungnir" -msgid_plural "Gungnirs" -msgstr[0] "永恆之槍" - #. ~ Description for Gungnir #: lang/json/GENERIC_from_json.py msgid "" @@ -46976,6 +48694,298 @@ msgstr "神器" msgid "ARMOR" msgstr "護具" +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "ITEMS WORN" +msgstr "穿戴中的物品" + +#: lang/json/ITEM_CATEGORY_from_json.py +msgid "WEAPON HELD" +msgstr "已手持的武器" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Unsorted" +msgstr "物資: 未整理" + +#. ~ Description for Loot: Unsorted +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " +"sort items inside. It can overlap with Loot zones of different types." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Food" +msgstr "物資: 食物" + +#. ~ Description for Loot: Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for comestibles. If more specific food zone is not defined, all" +" food is moved here." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Food" +msgstr "物資: 易腐食物" + +#. ~ Description for Loot: P.Food +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for perishable comestibles. Does include perishable drinks if " +"such zone is not specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drink" +msgstr "物資: 飲料" + +#. ~ Description for Loot: Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for drinks. Does include perishable drinks if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: P.Drink" +msgstr "物資: 易腐飲料" + +#. ~ Description for Loot: P.Drink +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for perishable drinks." +msgstr "容易腐敗的飲料的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Guns" +msgstr "物資: 遠程武器" + +#. ~ Description for Loot: Guns +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for guns, bows and similar wearpons." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Magazines" +msgstr "物資: 彈匣" + +#. ~ Description for Loot: Magazines +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for gun magazines." +msgstr "槍械彈匣的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ammo" +msgstr "物資: 彈藥" + +#. ~ Description for Loot: Ammo +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for ammo." +msgstr "彈藥的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Weapons" +msgstr "物資: 近戰武器" + +#. ~ Description for Loot: Weapons +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for melee weapons." +msgstr "近戰武器的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Tools" +msgstr "物資: 工具" + +#. ~ Description for Loot: Tools +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for tools." +msgstr "工具的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Clothing" +msgstr "物資: 衣物" + +#. ~ Description for Loot: Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for clothing. Does include filthy clothing if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Clothing" +msgstr "物資: 骯髒衣物" + +#. ~ Description for Loot: F.Clothing +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy clothing." +msgstr "骯髒衣物的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Drugs" +msgstr "物資: 藥物" + +#. ~ Description for Loot: Drugs +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for drugs and other medical items." +msgstr "藥物與其他醫療用品的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Books" +msgstr "物資: 書籍" + +#. ~ Description for Loot: Books +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for books and magazines." +msgstr "書籍與雜誌的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mods" +msgstr "物資: 模組" + +#. ~ Description for Loot: Mods +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firearm modifications and similar items." +msgstr "槍械模組與其他類似物品的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Mutagens" +msgstr "物資: 突變劑" + +#. ~ Description for Loot: Mutagens +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for mutagens, serums, and purifiers." +msgstr "突變劑、血清與淨化劑的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Bionics" +msgstr "物資: 生化插件" + +#. ~ Description for Loot: Bionics +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for Compact Bionics Modules, a.k.a. CBMS." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: V.Parts" +msgstr "物資: 車輛零件" + +#. ~ Description for Loot: V.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for vehicle parts." +msgstr "車輛零件的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Other" +msgstr "物資: 其他" + +#. ~ Description for Loot: Other +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for other miscellaneous items." +msgstr "雜項物品的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Fuel" +msgstr "物資: 燃料" + +#. ~ Description for Loot: Fuel +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for gasoline, diesel, lamp oil and other substances used as a " +"fuel." +msgstr "汽油、柴油、燈油與其他燃料物質的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Seeds" +msgstr "物資: 種子" + +#. ~ Description for Loot: Seeds +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for seeds, stems and similar items." +msgstr "種子、莖與其他類似物品的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Chemical" +msgstr "物資: 化學" + +#. ~ Description for Loot: Chemical +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for chemicals." +msgstr "化學製品的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: S.Parts" +msgstr "物資: 備用零件" + +#. ~ Description for Loot: S.Parts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for spare parts." +msgstr "備用零件的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Artifacts" +msgstr "物資: 神器" + +#. ~ Description for Loot: Artifacts +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for artifacts" +msgstr "神器的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Corpses" +msgstr "物資:屍體" + +#. ~ Description for Loot: Corpses +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for corpses" +msgstr "存放屍體的位置。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Armor" +msgstr "物資: 護甲" + +#. ~ Description for Loot: Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "" +"Destination for armor. Does include filthy armor if such zone is not " +"specified." +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: F.Armor" +msgstr "物資: 骯髒護甲" + +#. ~ Description for Loot: F.Armor +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for filthy armor." +msgstr "骯髒護甲的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Wood" +msgstr "物資: 木頭" + +#. ~ Description for Loot: Wood +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for firewood and items that can be used as such." +msgstr "薪柴和其他可作為薪柴使用的物品的目的地。" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Custom" +msgstr "物資:自訂" + +#. ~ Description for Loot: Custom +#: lang/json/LOOT_ZONE_from_json.py +msgid "Destination for loot with a custom filter that you can modify" +msgstr "" + +#: lang/json/LOOT_ZONE_from_json.py +msgid "Loot: Ignore" +msgstr "物資: 忽略" + +#. ~ Description for Loot: Ignore +#: lang/json/LOOT_ZONE_from_json.py +msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." +msgstr "在這個區域裡的物品會忽略 \"整理物資\" 區域動作。" + #: lang/json/MAGAZINE_from_json.py msgid "ultra-light battery" msgid_plural "ultra-light batteries" @@ -47184,9 +49194,9 @@ msgstr[0] "重型即棄電池" #: lang/json/MAGAZINE_from_json.py msgid "" "This is a heavy battery cell, universally compatible with all kinds of " -"industrial-grade equipment and large tools. The battery's chemistry means " +"industrial-grade equipment and large tools. The battery's chemistry means " "that it has a very high capacity, but cannot be recharged." -msgstr "這是一個重型的電池,適用於所有類型的工業級設備和大型工具。電池的化學性質代表著它有非常高的容量,但無法充電。" +msgstr "" #: lang/json/MAGAZINE_from_json.py lang/json/vehicle_part_from_json.py msgid "fuel bunker" @@ -47676,15 +49686,6 @@ msgstr "P320 .357 SIG 彈匣" msgid "A 14 round double stack box magazine for the SIG Sauer P320." msgstr "" -#: lang/json/MAGAZINE_from_json.py -msgid "Taurus .38 magazine" -msgstr "Taurus .38 彈匣" - -#. ~ Description for Taurus .38 magazine -#: lang/json/MAGAZINE_from_json.py -msgid "A compact steel box magazine for use with the Taurus Pro .38 pistol." -msgstr "一個簡潔精巧的鋼製盒型彈匣, 適用於 Taurus Pro .38 手槍。" - #: lang/json/MAGAZINE_from_json.py msgid ".38/.357 7-round speedloader" msgstr ".38/.357 7發快速裝填器" @@ -47694,7 +49695,7 @@ msgstr ".38/.357 7發快速裝填器" msgid "" "This speedloader can hold 7 rounds of .357 Magnum or .38 Special and quickly" " reload a compatible revolver." -msgstr "" +msgstr "這個快速裝填器可以容納7發.357麥格農子彈或.38特殊彈,用來快速重新裝填相容的左輪手槍。" #: lang/json/MAGAZINE_from_json.py msgid ".38/.357 5-round speedloader" @@ -47705,7 +49706,7 @@ msgstr ".38/.357 5發快速裝填器" msgid "" "This speedloader can hold 5 rounds of .357 Magnum or .38 Special and quickly" " reload a compatible revolver." -msgstr "" +msgstr "這個快速裝填器可以容納5發.357麥格農子彈或.38特殊彈,用來快速重新裝填相容的左輪手槍。" #: lang/json/MAGAZINE_from_json.py msgid "Kel-Tec P3AT magazine" @@ -47758,6 +49759,16 @@ msgstr "" msgid "A 10-round steel box magazine for use with the Hi-Point CF-380." msgstr "" +#: lang/json/MAGAZINE_from_json.py +msgid "Taurus Spectrum magazine" +msgstr "" + +#. ~ Description for Taurus Spectrum magazine +#: lang/json/MAGAZINE_from_json.py +msgid "" +"A compact, 6-round steel box magazine for use with the Taurus Spectrum." +msgstr "" + #: lang/json/MAGAZINE_from_json.py msgid "M1911 .38 Super magazine" msgstr "M1911 .38 超級彈彈匣" @@ -47776,7 +49787,7 @@ msgstr ".38 6發快速裝填器" msgid "" "This speedloader can hold 6 rounds of .40 S&W or 10mm Auto and quickly " "reload a compatible revolver." -msgstr "" +msgstr "這個快速裝填器可以容納6發.40 S&W或10mm Auto子彈並快速重新裝填相容的左輪手槍。" #: lang/json/MAGAZINE_from_json.py msgid "Glock 22 extended magazine" @@ -48036,7 +50047,7 @@ msgstr ".454 5發快速裝填器" msgid "" "This speedloader can hold 5 rounds of .454 or .45 Colt and quickly reload a " "compatible revolver." -msgstr "" +msgstr "這個快速裝填器可以容納5發.454或.45柯爾特子彈並快速重新裝填相容的左輪手槍。" #: lang/json/MAGAZINE_from_json.py msgid "H&K 4.6mm extended magazine" @@ -48733,7 +50744,7 @@ msgstr "" #: lang/json/MAGAZINE_from_json.py msgid "shotgun 6-round speedloader" -msgstr "" +msgstr "霰彈槍 6發快速裝填器" #. ~ Description for shotgun 6-round speedloader #: lang/json/MAGAZINE_from_json.py @@ -48745,7 +50756,7 @@ msgstr "" #: lang/json/MAGAZINE_from_json.py msgid "shotgun 8-round speedloader" -msgstr "" +msgstr "霰彈槍 8發快速裝填器" #. ~ Description for shotgun 8-round speedloader #: lang/json/MAGAZINE_from_json.py @@ -48777,17 +50788,6 @@ msgid "" "is marked with several faded and now unreadable symbols." msgstr "一個裝載高壓焊接氣體的大型鋼瓶。上面標有幾個褪色無法辨認的符號。" -#: lang/json/MAGAZINE_from_json.py -msgid "oxygen cylinder" -msgstr "氧氣缸" - -#. ~ Description for oxygen cylinder -#: lang/json/MAGAZINE_from_json.py -msgid "" -"A large steel cylinder used for storing pressurized gas. It is marked with a" -" faded, but legible O2 symbol." -msgstr "用於儲存加壓氣體的大型鋼瓶。它標有已褪色但仍能辨識的O2符號。" - #: lang/json/MAGAZINE_from_json.py lang/json/vehicle_part_from_json.py msgid "car battery" msgid_plural "car batteries" @@ -49471,6 +51471,15 @@ msgid "" " hit in combat, infections." msgstr "穿著由殭屍掉落的骯髒衣物會導致士氣懲罰, 並且在戰鬥中被擊中會有機會導致感染。" +#: lang/json/MOD_INFO_from_json.py +msgid "Fuji's Military Profession Pack" +msgstr "Fuji 的軍事職業包" + +#. ~ Description for Fuji's Military Profession Pack +#: lang/json/MOD_INFO_from_json.py +msgid "Numerous military themed professions" +msgstr "眾多軍事領域的職業" + #: lang/json/MOD_INFO_from_json.py msgid "Fuji's More Buildings" msgstr "更多建築 (by Fuji)" @@ -49627,8 +51636,8 @@ msgstr "我的甜美大災變" msgid "" "Cataclysm is nice, but what if you could sweeten it a bit? What about " "walking through this world as a human shaped piece of sugar with your pet " -"necco waffer?" -msgstr "大災變很美好,但如果你能讓它更甜美些呢?就像是人形糖帶著寵物鬆餅在世界四處遊走這樣如何?" +"necco wafer?" +msgstr "大災變很美好,但如果你能讓它更甜美些呢?就像是人形糖帶著薄酥餅寵物在世界四處遊走這樣如何?" #: lang/json/MOD_INFO_from_json.py msgid "NPC traits" @@ -50219,10 +52228,10 @@ msgstr "一隻綠頭鴨, 於河流或其他水體附近很常見。主要以昆 #: lang/json/MONSTER_from_json.py msgid "goose" -msgid_plural "gooses" +msgid_plural "geese" msgstr[0] "鵝" -#. ~ Description for goose +#. ~ Description for {'str': 'goose', 'str_pl': 'geese'} #: lang/json/MONSTER_from_json.py msgid "A Canadian goose, a common waterfowl that regrets leaving Canada." msgstr "加拿大鵝, 一種常見的水禽, 後悔離開加拿大。" @@ -50486,55 +52495,55 @@ msgstr[0] "迷你核彈無人機" #: lang/json/MONSTER_from_json.py msgid "" "Many times as large as a normal manhack, this flying quadcopter drone " -"appears to have a mininuke inside. If this is targeting you... Run." -msgstr "這台四軸飛行器無人機比一般無人機大上數倍,配有迷你核彈。如果看到它飛向你......快逃!" +"appears to have a mininuke inside. If this is targeting you… Run." +msgstr "這台四軸飛行器無人機比一般無人機大上數倍,配有迷你核彈。如果看到它飛向你... 快逃!" #: lang/json/MONSTER_from_json.py msgid "tiny fish" -msgid_plural "tiny fishs" +msgid_plural "tiny fish" msgstr[0] "微型魚" -#. ~ Description for tiny fish +#. ~ Description for {'str': 'tiny fish', 'str_pl': 'tiny fish'} #: lang/json/MONSTER_from_json.py msgid "A tiny fish." msgstr "一尾微小的魚。" #: lang/json/MONSTER_from_json.py msgid "small fish" -msgid_plural "small fishs" +msgid_plural "small fish" msgstr[0] "小型魚" -#. ~ Description for small fish +#. ~ Description for {'str': 'small fish', 'str_pl': 'small fish'} #: lang/json/MONSTER_from_json.py msgid "A small fish." msgstr "一尾小型的魚。" #: lang/json/MONSTER_from_json.py msgid "medium fish" -msgid_plural "medium fishs" +msgid_plural "medium fish" msgstr[0] "中型魚" -#. ~ Description for medium fish +#. ~ Description for {'str': 'medium fish', 'str_pl': 'medium fish'} #: lang/json/MONSTER_from_json.py msgid "A medium fish." msgstr "一尾中型的魚。" #: lang/json/MONSTER_from_json.py msgid "large fish" -msgid_plural "large fishs" +msgid_plural "large fish" msgstr[0] "大型魚" -#. ~ Description for large fish +#. ~ Description for {'str': 'large fish', 'str_pl': 'large fish'} #: lang/json/MONSTER_from_json.py msgid "A large fish." msgstr "一尾大型的魚" #: lang/json/MONSTER_from_json.py msgid "huge fish" -msgid_plural "huge fishs" +msgid_plural "huge fish" msgstr[0] "巨型魚" -#. ~ Description for huge fish +#. ~ Description for {'str': 'huge fish', 'str_pl': 'huge fish'} #: lang/json/MONSTER_from_json.py msgid "A huge fish." msgstr "一尾巨大的魚。" @@ -50656,10 +52665,10 @@ msgstr "銀鮭。一尾油脂飽滿、營養豐富的魚。煙燻之後非常好 #: lang/json/MONSTER_from_json.py msgid "whitefish" -msgid_plural "whitefishs" +msgid_plural "whitefish" msgstr[0] "白鮭" -#. ~ Description for whitefish +#. ~ Description for {'str': 'whitefish', 'str_pl': 'whitefish'} #: lang/json/MONSTER_from_json.py msgid "" "A whitefish, closely related to salmon. One can assume they are just as " @@ -50668,20 +52677,20 @@ msgstr "白鮭, 和鮭魚關係很近的一種魚。我們可以假設牠煙燻 #: lang/json/MONSTER_from_json.py msgid "largemouth bass" -msgid_plural "largemouth basss" +msgid_plural "largemouth bass" msgstr[0] "大嘴鱸魚" -#. ~ Description for largemouth bass +#. ~ Description for {'str': 'largemouth bass', 'str_pl': 'largemouth bass'} #: lang/json/MONSTER_from_json.py msgid "A Largemouth Bass. Very popular with sports fishermen." msgstr "大口黑鱸。非常受到釣客喜愛。" #: lang/json/MONSTER_from_json.py msgid "smallmouth bass" -msgid_plural "smallmouth basss" +msgid_plural "smallmouth bass" msgstr[0] "小嘴鱸魚" -#. ~ Description for smallmouth bass +#. ~ Description for {'str': 'smallmouth bass', 'str_pl': 'smallmouth bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Smallmouth Bass. Being intolerant to pollution in the water, smallmouth " @@ -50690,10 +52699,10 @@ msgstr "小口黑鱸。因無法容忍水中的汙染,小口黑鱸是水質是 #: lang/json/MONSTER_from_json.py msgid "striped bass" -msgid_plural "striped basss" +msgid_plural "striped bass" msgstr[0] "銀花鱸魚" -#. ~ Description for striped bass +#. ~ Description for {'str': 'striped bass', 'str_pl': 'striped bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Striped Bass. Mostly a salt water fish, they migrate to fresher water to " @@ -50702,10 +52711,10 @@ msgstr "銀花鱸魚。通常生活在鹹水裡,但是會進入淡水產卵。 #: lang/json/MONSTER_from_json.py msgid "white bass" -msgid_plural "white basss" +msgid_plural "white bass" msgstr[0] "金眼狼鱸" -#. ~ Description for white bass +#. ~ Description for {'str': 'white bass', 'str_pl': 'white bass'} #: lang/json/MONSTER_from_json.py msgid "" "A White Bass. Common to the region, a slab-sided and spiny-rayed little " @@ -50714,10 +52723,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "perch" -msgid_plural "perchs" +msgid_plural "perches" msgstr[0] "鱸魚" -#. ~ Description for perch +#. ~ Description for {'str': 'perch', 'str_pl': 'perches'} #: lang/json/MONSTER_from_json.py msgid "" "A small spritely Perch. A very bony fish, still got some tasty meat on it " @@ -50736,20 +52745,21 @@ msgstr "玻璃梭鱸,一種棕褐色的中型魚,有白色的腹部。" #: lang/json/MONSTER_from_json.py msgid "sunfish" -msgid_plural "sunfishs" +msgid_plural "sunfish" msgstr[0] "太陽魚" -#. ~ Description for sunfish +#. ~ Description for {'str': 'sunfish', 'str_pl': 'sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Sunfish. A small fish related to bass or bluegill." msgstr "太陽魚。一種與鱸魚和藍鰓太陽魚相關的小型魚。" #: lang/json/MONSTER_from_json.py msgid "pumpkinseed sunfish" -msgid_plural "pumpkinseed sunfishs" +msgid_plural "pumpkinseed sunfish" msgstr[0] "駝背太陽魚" -#. ~ Description for pumpkinseed sunfish +#. ~ Description for {'str': 'pumpkinseed sunfish', 'str_pl': 'pumpkinseed +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Pumpkinseed Sunfish. A small fish related to bass or bluegill." msgstr "駝背太陽魚。一種與鱸魚和藍鰓太陽魚相關的小型魚。" @@ -50767,50 +52777,51 @@ msgstr "藍鰓太陽魚,是日本的一種入侵物種。通常會去除內臟 #: lang/json/MONSTER_from_json.py msgid "redbreast sunfish" -msgid_plural "redbreast sunfishs" +msgid_plural "redbreast sunfish" msgstr[0] "紅胸太陽魚" -#. ~ Description for redbreast sunfish +#. ~ Description for {'str': 'redbreast sunfish', 'str_pl': 'redbreast +#. sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redbreast Sunfish. A small fish related to bass or bluegill." msgstr "紅胸太陽魚。一種與鱸魚和藍鰓太陽魚相關的小型魚。" #: lang/json/MONSTER_from_json.py msgid "green sunfish" -msgid_plural "green sunfishs" +msgid_plural "green sunfish" msgstr[0] "藍太陽魚" -#. ~ Description for green sunfish +#. ~ Description for {'str': 'green sunfish', 'str_pl': 'green sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Green Sunfish. A small fish related to bass or bluegill." msgstr "藍太陽魚。一種與鱸魚和藍鰓太陽魚相關的小型魚。" #: lang/json/MONSTER_from_json.py msgid "longear sunfish" -msgid_plural "longear sunfishs" +msgid_plural "longear sunfish" msgstr[0] "長耳太陽魚" -#. ~ Description for longear sunfish +#. ~ Description for {'str': 'longear sunfish', 'str_pl': 'longear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Longear Sunfish. A small fish related to bass or bluegill." msgstr "長耳太陽魚。一種與鱸魚和藍鰓太陽魚相關的小型魚。" #: lang/json/MONSTER_from_json.py msgid "redear sunfish" -msgid_plural "redear sunfishs" +msgid_plural "redear sunfish" msgstr[0] "小冠太陽魚" -#. ~ Description for redear sunfish +#. ~ Description for {'str': 'redear sunfish', 'str_pl': 'redear sunfish'} #: lang/json/MONSTER_from_json.py msgid "A Redear Sunfish. A small fish related to bass or bluegill." msgstr "小冠太陽魚。一種與鱸魚和藍鰓太陽魚相關的小型魚。" #: lang/json/MONSTER_from_json.py msgid "rock bass" -msgid_plural "rock basss" +msgid_plural "rock bass" msgstr[0] "岩鈍鱸" -#. ~ Description for rock bass +#. ~ Description for {'str': 'rock bass', 'str_pl': 'rock bass'} #: lang/json/MONSTER_from_json.py msgid "" "A Rock Bass. Related to sunfish, this tiny fish has a camoflauge-like " @@ -50819,10 +52830,10 @@ msgstr "岩鈍鱸。跟太陽魚有關,這條小小魚具有迷彩般的圖案 #: lang/json/MONSTER_from_json.py msgid "calico bass" -msgid_plural "calico basss" +msgid_plural "calico bass" msgstr[0] "莓鱸" -#. ~ Description for calico bass +#. ~ Description for {'str': 'calico bass', 'str_pl': 'calico bass'} #: lang/json/MONSTER_from_json.py msgid "A Calico Bass. A medium-sized fish also known as a 'Crappie'." msgstr "莓鱸。一種中型魚,又被稱為\"刺蓋太陽魚\"。" @@ -50851,20 +52862,20 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "channel catfish" -msgid_plural "channel catfishs" +msgid_plural "channel catfish" msgstr[0] "斑真鮰" -#. ~ Description for channel catfish +#. ~ Description for {'str': 'channel catfish', 'str_pl': 'channel catfish'} #: lang/json/MONSTER_from_json.py msgid "A Channel Catfish, they have a forked tail and long whiskers." msgstr "斑真鮰,他們有一個分叉的尾巴和長長的鬍鬚。" #: lang/json/MONSTER_from_json.py msgid "white catfish" -msgid_plural "white catfishs" +msgid_plural "white catfish" msgstr[0] "犀目鮰" -#. ~ Description for white catfish +#. ~ Description for {'str': 'white catfish', 'str_pl': 'white catfish'} #: lang/json/MONSTER_from_json.py msgid "A White Catfish, a small whiskered fish with a broad head." msgstr "犀目鮰,有著長鬍鬚跟寬頭的小型魚。" @@ -50950,10 +52961,10 @@ msgstr "一條弓鰭魚。 這些魚與雀鱔有關但沒有巨大的牙齒, #: lang/json/MONSTER_from_json.py msgid "fallfish" -msgid_plural "fallfishs" +msgid_plural "fallfish" msgstr[0] "小眼鬚雅羅魚" -#. ~ Description for fallfish +#. ~ Description for {'str': 'fallfish', 'str_pl': 'fallfish'} #: lang/json/MONSTER_from_json.py msgid "" "A Fallfish. These fish are related to gar but without the huge teeth, skin " @@ -50970,27 +52981,27 @@ msgstr[0] "龍蝦" msgid "" "These things were once considered pests not worth eating, then some " "marketing genius started selling them to people as a delicacy and they took " -"off in popularity... and price." -msgstr "這些東西曾經被認為是有毒不能吃, 然後一些行銷天才開始將牠的美味推銷給人們, 使得牠們的知名度飛躍式的提升… 還有價格。" +"off in popularity… and price." +msgstr "這些東西曾經被認為是有毒不能吃,然後一些行銷天才開始將牠的美味推銷給人們,使得牠們的知名度飛躍式的提升… 還有價格。" #: lang/json/MONSTER_from_json.py msgid "crayfish" -msgid_plural "crayfishs" +msgid_plural "crayfish" msgstr[0] "小龍蝦" -#. ~ Description for crayfish +#. ~ Description for {'str': 'crayfish', 'str_pl': 'crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "If you could get ahold of a bunch more of these, a hefty pot of boiling " -"water, and some spicy seasonings..." -msgstr "如果你可以抓一堆這東西, 準備一大鍋煮沸的開水, 再配上一些辛辣的調味料…" +"water, and some spicy seasonings…" +msgstr "如果你可以抓一堆這東西,準備一大鍋煮沸的開水,再配上一些辛辣的調味料…" #: lang/json/MONSTER_from_json.py msgid "Blinky" msgid_plural "Blinkies" msgstr[0] "布林基魚" -#. ~ Description for Blinky +#. ~ Description for {'str': 'Blinky', 'str_pl': 'Blinkies'} #: lang/json/MONSTER_from_json.py msgid "A strange three-eyed fish." msgstr "一條奇怪的三眼魚。(辛普森家庭)" @@ -51089,10 +53100,10 @@ msgstr "這隻受感染的蟑螂一直以不死生物為食,開始混亂變異 #: lang/json/MONSTER_from_json.py msgid "giant cockroach" -msgid_plural "giant cockroachs" +msgid_plural "giant cockroaches" msgstr[0] "巨型蟑螂" -#. ~ Description for giant cockroach +#. ~ Description for {'str': 'giant cockroach', 'str_pl': 'giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "A mutant cockroach the size of a small dog." msgstr "跟小狗一樣大的異變蟑螂。" @@ -51109,14 +53120,15 @@ msgstr "跟老鼠一樣大的異變蟑螂嬰兒。" #: lang/json/MONSTER_from_json.py msgid "pregnant giant cockroach" -msgid_plural "pregnant giant cockroachs" +msgid_plural "pregnant giant cockroaches" msgstr[0] "懷孕的巨型蟑螂" -#. ~ Description for pregnant giant cockroach +#. ~ Description for {'str': 'pregnant giant cockroach', 'str_pl': 'pregnant +#. giant cockroaches'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant cockroach the size of a small dog. Its abdomen is heavily swollen." -msgstr "" +msgstr "跟小狗一樣大的異變蟑螂。它的腹部非常腫脹。" #: lang/json/MONSTER_from_json.py msgid "giant bee" @@ -51147,7 +53159,7 @@ msgid "giant dragonfly" msgid_plural "giant dragonflies" msgstr[0] "巨大蜻蜓" -#. ~ Description for giant dragonfly +#. ~ Description for {'str': 'giant dragonfly', 'str_pl': 'giant dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A ferocious mutant dragonfly as big as a cat, darting through the air with a" @@ -51159,7 +53171,7 @@ msgid "giant fly" msgid_plural "giant flies" msgstr[0] "巨蠅" -#. ~ Description for giant fly +#. ~ Description for {'str': 'giant fly', 'str_pl': 'giant flies'} #: lang/json/MONSTER_from_json.py msgid "" "A tremendous housefly the size of a small dog, predictably accompanied by a " @@ -51326,10 +53338,10 @@ msgstr "一隻變種的黃蜂, 大約貓的大小。其蜂刺中帶有產卵器 #: lang/json/MONSTER_from_json.py msgid "dermatik larva" -msgid_plural "dermatik larvas" +msgid_plural "dermatik larvae" msgstr[0] "變異蜂幼蟲" -#. ~ Description for dermatik larva +#. ~ Description for {'str': 'dermatik larva', 'str_pl': 'dermatik larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A fat white grub as big as a squirrel, with a pair of large, spadelike " @@ -51362,10 +53374,11 @@ msgstr "一種巨大的棕色螞蟻,腹部腫脹,末端有一個小孔。 #: lang/json/MONSTER_from_json.py msgid "acidic ant larva" -msgid_plural "acidic ant larvas" -msgstr[0] "酸液螞蟻幼蟲" +msgid_plural "acidic ant larvae" +msgstr[0] "酸液巨蟻幼蟲" -#. ~ Description for acidic ant larva +#. ~ Description for {'str': 'acidic ant larva', 'str_pl': 'acidic ant +#. larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A squirming yellow grub that seems to be oozing liquid from both ends of its" @@ -51412,10 +53425,10 @@ msgstr "這個巨蟻呈現蒼白的灰色, 其全身甲殼是由寄生的真菌 #: lang/json/MONSTER_from_json.py msgid "ant larva" -msgid_plural "ant larvas" +msgid_plural "ant larvae" msgstr[0] "螞蟻幼蟲" -#. ~ Description for ant larva +#. ~ Description for {'str': 'ant larva', 'str_pl': 'ant larvae'} #: lang/json/MONSTER_from_json.py msgid "" "A pulsating sausage of glistening white flesh, the size of a large cat. On " @@ -51655,10 +53668,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Labrador puppy" -msgid_plural "Labrador puppys" +msgid_plural "Labrador puppies" msgstr[0] "拉不拉多幼犬" -#. ~ Description for Labrador puppy +#. ~ Description for {'str': 'Labrador puppy', 'str_pl': 'Labrador puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Labrador puppy. Much safer to tame than an adult " @@ -51679,10 +53692,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "bulldog puppy" -msgid_plural "bulldog puppys" -msgstr[0] "鬥牛幼犬" +msgid_plural "bulldog puppies" +msgstr[0] "鬥牛犬幼犬" -#. ~ Description for bulldog puppy +#. ~ Description for {'str': 'bulldog puppy', 'str_pl': 'bulldog puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless American bulldog puppy. Much safer to tame than an" @@ -51691,10 +53704,10 @@ msgstr "一隻可愛,無防備的美國鬥牛犬的幼犬。能比成年狗更 #: lang/json/MONSTER_from_json.py msgid "pit bull mix" -msgid_plural "pit bull mixs" +msgid_plural "pit bull mixes" msgstr[0] "混種比特犬" -#. ~ Description for pit bull mix +#. ~ Description for {'str': 'pit bull mix', 'str_pl': 'pit bull mixes'} #: lang/json/MONSTER_from_json.py msgid "" "The oft-misunderstood pit bull is not actually a single breed but a label " @@ -51705,10 +53718,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "pit bull puppy" -msgid_plural "pit bull puppys" -msgstr[0] "比特幼犬" +msgid_plural "pit bull puppies" +msgstr[0] "比特犬幼犬" -#. ~ Description for pit bull puppy +#. ~ Description for {'str': 'pit bull puppy', 'str_pl': 'pit bull puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless pit bull puppy. Much safer to tame than an adult " @@ -51729,10 +53742,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "beagle puppy" -msgid_plural "beagle puppys" +msgid_plural "beagle puppies" msgstr[0] "小獵犬幼犬" -#. ~ Description for beagle puppy +#. ~ Description for {'str': 'beagle puppy', 'str_pl': 'beagle puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless beagle puppy. Much safer to tame than an adult " @@ -51754,10 +53767,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "border collie puppy" -msgid_plural "border collie puppys" -msgstr[0] "邊境牧羊幼犬" +msgid_plural "border collie puppies" +msgstr[0] "邊境牧羊犬幼犬" -#. ~ Description for border collie puppy +#. ~ Description for {'str': 'border collie puppy', 'str_pl': 'border collie +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Border Collie puppy. Much safer to tame than an " @@ -51778,10 +53792,10 @@ msgstr "一種充滿感情的普通品種,拳師犬比起其他犬類並沒有 #: lang/json/MONSTER_from_json.py msgid "boxer puppy" -msgid_plural "boxer puppys" -msgstr[0] "拳師幼犬" +msgid_plural "boxer puppies" +msgstr[0] "拳師犬幼犬" -#. ~ Description for boxer puppy +#. ~ Description for {'str': 'boxer puppy', 'str_pl': 'boxer puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless boxer puppy. Much safer to tame than an adult dog." @@ -51801,10 +53815,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Chihuahua puppy" -msgid_plural "Chihuahua puppys" +msgid_plural "Chihuahua puppies" msgstr[0] "吉娃娃幼犬" -#. ~ Description for Chihuahua puppy +#. ~ Description for {'str': 'Chihuahua puppy', 'str_pl': 'Chihuahua puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Chihuahua puppy. Much safer to tame than an adult " @@ -51826,10 +53840,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "dachshund puppy" -msgid_plural "dachshund puppys" +msgid_plural "dachshund puppies" msgstr[0] "臘腸犬幼犬" -#. ~ Description for dachshund puppy +#. ~ Description for {'str': 'dachshund puppy', 'str_pl': 'dachshund puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless dachshund puppy. Much safer to tame than an adult " @@ -51850,10 +53864,11 @@ msgstr "最初的K-9品種。一種容易訓練和優秀的攻擊犬,會至死 #: lang/json/MONSTER_from_json.py msgid "German shepherd puppy" -msgid_plural "German shepherd puppys" +msgid_plural "German shepherd puppies" msgstr[0] "德國狼犬幼犬" -#. ~ Description for German shepherd puppy +#. ~ Description for {'str': 'German shepherd puppy', 'str_pl': 'German +#. shepherd puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless German shepherd puppy. Much safer to tame than an " @@ -51862,10 +53877,10 @@ msgstr "一隻可愛,無防備的德國狼犬的幼犬。能比成年狗更安 #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees" -msgid_plural "Great Pyreneess" +msgid_plural "Great Pyrenees" msgstr[0] "大白熊犬" -#. ~ Description for Great Pyrenees +#. ~ Description for {'str': 'Great Pyrenees', 'str_pl': 'Great Pyrenees'} #: lang/json/MONSTER_from_json.py msgid "" "A large and powerful breed, the Great Pyrenees has a beautiful, thick white " @@ -51875,10 +53890,11 @@ msgstr "大型且強大的品種,大白熊犬有著美麗的白色厚毛。最 #: lang/json/MONSTER_from_json.py msgid "Great Pyrenees puppy" -msgid_plural "Great Pyrenees puppys" +msgid_plural "Great Pyrenees puppies" msgstr[0] "大白熊犬幼犬" -#. ~ Description for Great Pyrenees puppy +#. ~ Description for {'str': 'Great Pyrenees puppy', 'str_pl': 'Great Pyrenees +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Great Pyrenees puppy. Much safer to tame than an " @@ -51900,10 +53916,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "rottweiler puppy" -msgid_plural "rottweiler puppys" +msgid_plural "rottweiler puppies" msgstr[0] "羅威那幼犬" -#. ~ Description for rottweiler puppy +#. ~ Description for {'str': 'rottweiler puppy', 'str_pl': 'rottweiler +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Rottweiler puppy. Much safer to tame than an adult" @@ -51924,10 +53941,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "cattle dog puppy" -msgid_plural "cattle dog puppys" -msgstr[0] "澳洲牧牛幼犬" +msgid_plural "cattle dog puppies" +msgstr[0] "澳洲牧牛犬幼犬" -#. ~ Description for cattle dog puppy +#. ~ Description for {'str': 'cattle dog puppy', 'str_pl': 'cattle dog +#. puppies'} #: lang/json/MONSTER_from_json.py msgid "" "An adorable, defenseless Australian cattle dog puppy. Much safer to tame " @@ -51939,14 +53957,14 @@ msgid "fox" msgid_plural "foxes" msgstr[0] "狐狸" -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A small omnivorous canine with an almost cat-like manner. It is a solitary " "hunter, and one of the only canids able to climb trees." msgstr "一隻小型的雜食性犬科動物, 長得像貓。是個孤獨的狩獵者, 並且也是唯一一種能夠爬樹的犬科動物。" -#. ~ Description for fox +#. ~ Description for {'str': 'fox', 'str_pl': 'foxes'} #: lang/json/MONSTER_from_json.py msgid "" "The red fox, an omnivorous canine and largest of the true foxes, it is a " @@ -52020,10 +54038,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "moose" -msgid_plural "mooses" +msgid_plural "moose" msgstr[0] "駝鹿" -#. ~ Description for moose +#. ~ Description for {'str': 'moose', 'str_pl': 'moose'} #: lang/json/MONSTER_from_json.py msgid "" "The Eastern moose, the largest living species of deer. While they aren't " @@ -52150,7 +54168,7 @@ msgstr[0] "溝鼠" #: lang/json/MONSTER_from_json.py msgid "" "A worm-tailed rodent with long whiskers and beady eyes. The way it squeaks " -"makes it sound... hungry." +"makes it sound… hungry." msgstr "有著像蟲一般尾巴與長鬍鬚小眼睛的囓齒動物。牠急促的吱吱聲聽起來… 餓了。" #: lang/json/MONSTER_from_json.py @@ -52171,7 +54189,7 @@ msgid "sheep" msgid_plural "sheep" msgstr[0] "綿羊" -#. ~ Description for sheep +#. ~ Description for {'str': 'sheep', 'str_pl': 'sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A timid, hooved grazing mammal, and one of the first animals ever " @@ -52218,7 +54236,7 @@ msgid "wolf" msgid_plural "wolves" msgstr[0] "狼" -#. ~ Description for wolf +#. ~ Description for {'str': 'wolf', 'str_pl': 'wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A cunning pack predator, once extinct in the New England area, the wolf was " @@ -52469,7 +54487,7 @@ msgid "blank body" msgid_plural "blank bodies" msgstr[0] "空白體" -#. ~ Description for blank body +#. ~ Description for {'str': 'blank body', 'str_pl': 'blank bodies'} #: lang/json/MONSTER_from_json.py msgid "" "This is some form of unnatural changeling creature; its appearance is a " @@ -52479,7 +54497,7 @@ msgid "" "trembling, it almost seems pitiful but for the way that its unearthly " "presence makes the hair on the back of your neck stand up in nameless " "horror." -msgstr "" +msgstr "這是一種變化無常的非自然生物。它的存在是對人型的一種嘲弄。除了有著一副口器,全身蒼白無其它特徵,赤裸而抽搐的形體令人不寒而慄。" #: lang/json/MONSTER_from_json.py msgid "blob" @@ -52587,9 +54605,21 @@ msgstr[0] "巨大嘔吐者" #: lang/json/MONSTER_from_json.py msgid "" "This boomer, normally swollen and ready to burst, has strengthened and " -"solidified. The bile dribbling from its mouth also appears to have " -"changed..." -msgstr "這個隨時會爆裂的嘔吐者同樣腫脹, 但變得更強壯更堅硬。從它口中滴落的膽汁似乎也不同了…" +"solidified. The bile dribbling from its mouth also appears to have changed…" +msgstr "這個隨時會爆裂的嘔吐者同樣腫脹,但變得更強壯更堅硬。從它口中滴落的膽汁似乎也不同了…" + +#: lang/json/MONSTER_from_json.py +msgid "dissoluted devourer" +msgid_plural "dissoluted devourers" +msgstr[0] "" + +#. ~ Description for dissoluted devourer +#: lang/json/MONSTER_from_json.py +msgid "" +"Human bodies fused together into a colossus with heads and limbs sticking " +"out of its bloated body. You may have trouble estimating its healthiness " +"and its capabilities might change." +msgstr "" #: lang/json/MONSTER_from_json.py msgid "breather" @@ -52603,7 +54633,7 @@ msgid "" "it is otherwise without discernible exterior features. Seemingly immobile " "and defenseless, it sits in place, swelling and collapsing upon itself as it" " breathes." -msgstr "" +msgstr "這是一種不自然的粉紅色肉囊。濕潤且具血管脈紋,沒有其它明顯的外部特徵。他似乎不做任何行動,且無任何防備的坐落於此,隨著呼吸頻率起伏。" #. ~ Description for breather #: lang/json/MONSTER_from_json.py @@ -52636,7 +54666,7 @@ msgid "" "A human fused with a mess of metal parts and wires. While its eyes are " "empty, flashes of pain pass across its face reminiscent of the person " "trapped in this grotesque body. With enough surgical skills one might be " -"able to give them back some humanity. If only they cared..." +"able to give them back some humanity. If only they cared…" msgstr "" #: lang/json/MONSTER_from_json.py @@ -52756,7 +54786,7 @@ msgid "" "bones and ribs. Devoid entirely of flesh, this walking suit of bone seems " "to be controlled by a net of veins and sinews which pulse with glistening " "black goo." -msgstr "" +msgstr "這個曾經是狗的生物所有的皮膚都已剝落,露出了骨頭與肋骨。雖然完全沒有血肉,骨頭間仍有血管與肌腱聯繫,伴隨著黑色黏液。" #: lang/json/MONSTER_from_json.py msgid "dog" @@ -53038,10 +55068,10 @@ msgstr "你最珍惜的發電機, 發出嗡嗡的噪音。不惜代價保護它! #: lang/json/MONSTER_from_json.py msgid "giant crayfish" -msgid_plural "giant crayfishs" +msgid_plural "giant crayfish" msgstr[0] "巨大淡水龍蝦" -#. ~ Description for giant crayfish +#. ~ Description for {'str': 'giant crayfish', 'str_pl': 'giant crayfish'} #: lang/json/MONSTER_from_json.py msgid "" "A mutant, terrestrial variety of the signal crayfish, this massive " @@ -53167,7 +55197,7 @@ msgid "homunculus" msgid_plural "homunculuses" msgstr[0] "人造人" -#. ~ Description for homunculus +#. ~ Description for {'str': 'homunculus', 'str_pl': 'homunculuses'} #: lang/json/MONSTER_from_json.py msgid "" "A pale hairless man with an impressive athletic physique. Its lidless eyes " @@ -53176,10 +55206,11 @@ msgstr "一個完美身形的純白色人體。它的眼睛是完全黑色, 並 #: lang/json/MONSTER_from_json.py msgid "hound of tindalos" -msgid_plural "hound of tindaloss" +msgid_plural "hounds of tindalos" msgstr[0] "廷達洛斯獵犬" -#. ~ Description for hound of tindalos +#. ~ Description for {'str': 'hound of tindalos', 'str_pl': 'hounds of +#. tindalos'} #: lang/json/MONSTER_from_json.py msgid "" "A grotesque hound-like beast, its frame is angular and emaciated and its " @@ -53214,7 +55245,7 @@ msgid "" "distorted head and massive clawed appendages. It partially supports itself " "with the aid of black rubbery wings of monstrous dimensions. Its form " "writhes and changes before your eyes, filling you with unnameable horror." -msgstr "" +msgstr "這是一隻巨大的蛇形生物,有著扭曲的頭部和尖銳的附肢,利用龐大的黑色肉翼支撐自己。它扭動的形體使你充滿無法形容的恐懼。" #: lang/json/MONSTER_from_json.py msgid "irradiated wanderer" @@ -53360,6 +55391,7 @@ msgid "" "whispers softly in the back of your mind. Strange intrusive thoughts " "accompany the quiet murmur, awakening your most horrific memories and fears." msgstr "" +"這是一個有自我意識的陰影。它看起來就像是一般的陰影,但會巧妙的移動,並且會在你的腦海中低語來吸引注意。這種侵入你思想的雜音,喚醒了你最深層的恐懼。" #: lang/json/MONSTER_from_json.py msgid "shadow snake" @@ -53379,19 +55411,18 @@ msgid "Shia LaBeouf" msgid_plural "Shia LaBeouf" msgstr[0] "西亞李畢福" -#. ~ Description for Shia LaBeouf +#. ~ Description for {'str': 'Shia LaBeouf', 'str_pl': 'Shia LaBeouf'} #: lang/json/MONSTER_from_json.py msgid "" -"Living in the woods, \n" -"killing for sport, \n" -"eating all the bodies, \n" +"Living in the woods,\n" +"killing for sport,\n" +"eating all the bodies,\n" "actual cannibal Shia LaBeouf." msgstr "" -"住在森林深處,\n" -"殺人當作運動,\n" -"吃掉所有屍體,\n" -"現世的食人族, 西亞李畢福。\n" -"(典故>> http://www.youtube.com/watch?v=PSO0lCO3TIg )" +"住在森林深處,\n" +"殺人當作運動,\n" +"吃掉所有屍體,\n" +"現世的食人族, 西亞李畢福。(譯註:取自 Rob Cantor 創作的歌曲 \"Shia LaBeouf\")" #: lang/json/MONSTER_from_json.py msgid "shoggoth" @@ -53535,7 +55566,7 @@ msgid "twisted body" msgid_plural "twisted bodies" msgstr[0] "扭曲肢體" -#. ~ Description for twisted body +#. ~ Description for {'str': 'twisted body', 'str_pl': 'twisted bodies'} #: lang/json/MONSTER_from_json.py msgid "" "A human body, but with its limbs, neck, and hair impossibly twisted. It " @@ -53547,7 +55578,7 @@ msgid "vortex" msgid_plural "vortexes" msgstr[0] "渦流怪" -#. ~ Description for vortex +#. ~ Description for {'str': 'vortex', 'str_pl': 'vortexes'} #: lang/json/MONSTER_from_json.py msgid "" "A twisting spot in the air, with some kind of morphing mass at its center." @@ -53618,6 +55649,19 @@ msgid "" "black eyes." msgstr "一個人的軀體,搖搖晃晃的移動,從他黑色的眼睛看得出他無法阻擋的憤怒。" +#: lang/json/MONSTER_from_json.py +msgid "wretched puker" +msgid_plural "wretched pukers" +msgstr[0] "" + +#. ~ Description for wretched puker +#: lang/json/MONSTER_from_json.py +msgid "" +"A degenerate corpse, shambling as it walks. Several junks and waste " +"materials have unified into its skin and wounds around it reeks in black " +"goo." +msgstr "" + #: lang/json/MONSTER_from_json.py msgid "acidic zombie" msgid_plural "acidic zombies" @@ -53767,19 +55811,13 @@ msgstr[0] "舞者殭屍" #. ~ Description for zombie dancer #: lang/json/MONSTER_from_json.py msgid "" -"The foulest stench is in the air, \n" -"The funk of forty thousand years, \n" -"And grisly ghouls from every tomb, \n" +"The foulest stench is in the air,\n" +"The funk of forty thousand years,\n" +"And grisly ghouls from every tomb,\n" "Are closing in to seal your doom!\n" "\n" "The dancer doesn't even notice you, it seems like something nearby is controlling it." msgstr "" -"散發著陣陣惡臭,\n" -"四千年的妖魔,\n" -"墳堆裡的屍鬼,\n" -"就將來完結你的性命! -- 麥可傑克森<Thriller>\n" -"\n" -"殭屍舞者根本沒留意到你, 它似乎被鄰近的某個東西操縱著。" #: lang/json/MONSTER_from_json.py msgid "zombie dog" @@ -53881,10 +55919,10 @@ msgstr "這隻殭屍身上布滿了膿包, 他蒼白的肌膚之下就快要被 #: lang/json/MONSTER_from_json.py msgid "gangrenous flesh" -msgid_plural "gangrenous fleshs" +msgid_plural "gangrenous flesh" msgstr[0] "壞疽血肉" -#. ~ Description for gangrenous flesh +#. ~ Description for {'str': 'gangrenous flesh', 'str_pl': 'gangrenous flesh'} #: lang/json/MONSTER_from_json.py msgid "" "Immobile from grievous wounds, its gray skin has bloated to near rupture " @@ -54045,15 +56083,11 @@ msgstr[0] "顫慄者" #. ~ Description for Thriller #: lang/json/MONSTER_from_json.py msgid "" -"And though you fight to stay alive, \n" -"Your body starts to shiver. \n" -"For no mere mortal can resist, \n" +"And though you fight to stay alive,\n" +"Your body starts to shiver.\n" +"For no mere mortal can resist,\n" "The evil of the thriller." msgstr "" -"你拼死決鬥,\n" -"卻全身發抖。\n" -"凡人不能抵擋,\n" -"顫慄之邪靈。 -- 麥可傑克森<Thriller>" #: lang/json/MONSTER_from_json.py msgid "zombie snapper" @@ -54451,7 +56485,7 @@ msgid "dragonfly" msgid_plural "dragonflies" msgstr[0] "蜻蜓" -#. ~ Description for dragonfly +#. ~ Description for {'str': 'dragonfly', 'str_pl': 'dragonflies'} #: lang/json/MONSTER_from_json.py msgid "" "A thin-bodied insectoid predator with a large wingspan and big compound " @@ -54871,7 +56905,7 @@ msgid "zombie child" msgid_plural "zombie children" msgstr[0] "殭屍小孩" -#. ~ Description for zombie child +#. ~ Description for {'str': 'zombie child', 'str_pl': 'zombie children'} #: lang/json/MONSTER_from_json.py msgid "" "It was only a child, and little is different about it now aside from the " @@ -54958,7 +56992,7 @@ msgid "fungal child" msgid_plural "fungal children" msgstr[0] "" -#. ~ Description for fungal child +#. ~ Description for {'str': 'fungal child', 'str_pl': 'fungal children'} #: lang/json/MONSTER_from_json.py msgid "" "It is hard to recognize a human child in this creature. Disgusting-looking " @@ -55210,10 +57244,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic fox" -msgid_plural "old animatronic foxs" +msgid_plural "old animatronic foxes" msgstr[0] "老舊的狐狸機械布偶" -#. ~ Description for old animatronic fox +#. ~ Description for {'str': 'old animatronic fox', 'str_pl': 'old animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -55223,10 +57258,11 @@ msgstr "一架用兩腳走路的狐狸機械布偶, 體型幾乎有你的兩倍 #: lang/json/MONSTER_from_json.py msgid "new animatronic fox" -msgid_plural "new animatronic foxs" -msgstr[0] "全新的狐狸機械布偶" +msgid_plural "new animatronic foxes" +msgstr[0] "新式狐狸機械布偶" -#. ~ Description for new animatronic fox +#. ~ Description for {'str': 'new animatronic fox', 'str_pl': 'new animatronic +#. foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic fox, nearly twice your size. Its teeth and claws look" @@ -55237,10 +57273,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "wrecked animatronic fox" -msgid_plural "wrecked animatronic foxs" +msgid_plural "wrecked animatronic foxes" msgstr[0] "殘骸般的狐狸機械布偶" -#. ~ Description for wrecked animatronic fox +#. ~ Description for {'str': 'wrecked animatronic fox', 'str_pl': 'wrecked +#. animatronic foxes'} #: lang/json/MONSTER_from_json.py msgid "" "A wrecked animatronic fox, laying in a pile on the ground. Its teeth and " @@ -55250,10 +57287,11 @@ msgstr "一架殘骸般的狐狸機械布偶, 攤成一堆在地上。它的牙 #: lang/json/MONSTER_from_json.py msgid "new animatronic bunny" -msgid_plural "new animatronic bunnys" -msgstr[0] "全新的兔子機械布偶" +msgid_plural "new animatronic bunnies" +msgstr[0] "新式兔子機械布偶" -#. ~ Description for new animatronic bunny +#. ~ Description for {'str': 'new animatronic bunny', 'str_pl': 'new +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its actually quite " @@ -55264,10 +57302,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "old animatronic bunny" -msgid_plural "old animatronic bunnys" +msgid_plural "old animatronic bunnies" msgstr[0] "老舊的兔子機械布偶" -#. ~ Description for old animatronic bunny +#. ~ Description for {'str': 'old animatronic bunny', 'str_pl': 'old +#. animatronic bunnies'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic bunny, nearly twice your size. Its face has been torn" @@ -55452,7 +57491,8 @@ msgid "animatronic sheep" msgid_plural "animatronic sheep" msgstr[0] "羊型機械布偶" -#. ~ Description for animatronic sheep +#. ~ Description for {'str': 'animatronic sheep', 'str_pl': 'animatronic +#. sheep'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic sheep, nearly twice your size. Its wool is mangy and " @@ -55475,10 +57515,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "animatronic child" -msgid_plural "animatronic childs" -msgstr[0] "孩童機器布偶" +msgid_plural "animatronic children" +msgstr[0] "孩童型機械布偶" -#. ~ Description for animatronic child +#. ~ Description for {'str': 'animatronic child', 'str_pl': 'animatronic +#. children'} #: lang/json/MONSTER_from_json.py msgid "" "An animatronic child. It looks like it's annoying as hell. Though it is a " @@ -55499,10 +57540,11 @@ msgstr "一個能夠自行走動的木偶。但是身上沒有任何操控線。 #: lang/json/MONSTER_from_json.py msgid "animatronic wolf" -msgid_plural "animatronic wolfs" -msgstr[0] "狼形機器布偶" +msgid_plural "animatronic wolves" +msgstr[0] "狼型機械布偶" -#. ~ Description for animatronic wolf +#. ~ Description for {'str': 'animatronic wolf', 'str_pl': 'animatronic +#. wolves'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal animatronic wolf, nearly twice your size. If the animal " @@ -55656,10 +57698,11 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "minion of skeltal" -msgid_plural "minion of skeltals" +msgid_plural "minions of skeltal" msgstr[0] "喇叭骷髏小兵" -#. ~ Description for minion of skeltal +#. ~ Description for {'str': 'minion of skeltal', 'str_pl': 'minions of +#. skeltal'} #: lang/json/MONSTER_from_json.py msgid "A lesser skeleton, raised by the forlorn dooting of a trumpet." msgstr "" @@ -55678,10 +57721,10 @@ msgstr "這隻曾經驕傲的熊只剩下煙霧外表。它的黑眼注視著你 #: lang/json/MONSTER_from_json.py msgid "Compsognathus" -msgid_plural "Compsognathuss" +msgid_plural "Compsognathus" msgstr[0] "美頜龍" -#. ~ Description for Compsognathus +#. ~ Description for {'str': 'Compsognathus', 'str_pl': 'Compsognathus'} #: lang/json/MONSTER_from_json.py msgid "" "A bipedal dinosaur about the size of a turkey. Its teeth and claws are " @@ -55690,10 +57733,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "Gallimimus" -msgid_plural "Gallimimuss" +msgid_plural "Gallimimus" msgstr[0] "似雞龍" -#. ~ Description for Gallimimus +#. ~ Description for {'str': 'Gallimimus', 'str_pl': 'Gallimimus'} #: lang/json/MONSTER_from_json.py msgid "" "A feathered bipedal dinosaur, standing as tall as a human. It looks " @@ -55702,10 +57745,10 @@ msgstr "長著羽毛的雙足恐龍, 站起來有個人那麼高。它看起來 #: lang/json/MONSTER_from_json.py msgid "Titanis" -msgid_plural "Titaniss" +msgid_plural "Titanis" msgstr[0] "泰坦巨鳥" -#. ~ Description for Titanis +#. ~ Description for {'str': 'Titanis', 'str_pl': 'Titanis'} #: lang/json/MONSTER_from_json.py msgid "" "It looks like a dodo, only much bigger, with longer, muscular legs and a " @@ -55714,10 +57757,10 @@ msgstr "它看起來像一個渡渡鳥, 只是有著更大, 更長, 肌肉更發 #: lang/json/MONSTER_from_json.py msgid "Spinosaurus" -msgid_plural "Spinosauruss" +msgid_plural "Spinosaurus" msgstr[0] "棘龍" -#. ~ Description for Spinosaurus +#. ~ Description for {'str': 'Spinosaurus', 'str_pl': 'Spinosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge dinosaur about the size of a small house, with a ferocious crocodile-" @@ -55726,20 +57769,21 @@ msgstr "這隻恐龍的大小約一棟小房子, 有著像鱷魚一般兇猛的 #: lang/json/MONSTER_from_json.py msgid "Tyrannosaurus rex" -msgid_plural "Tyrannosaurus rexs" +msgid_plural "Tyrannosaurus rex" msgstr[0] "暴龍" -#. ~ Description for Tyrannosaurus rex +#. ~ Description for {'str': 'Tyrannosaurus rex', 'str_pl': 'Tyrannosaurus +#. rex'} #: lang/json/MONSTER_from_json.py msgid "Look at those TEETH!" msgstr "看那些牙齒!" #: lang/json/MONSTER_from_json.py msgid "Triceratops" -msgid_plural "Triceratopss" +msgid_plural "Triceratops" msgstr[0] "三角龍" -#. ~ Description for Triceratops +#. ~ Description for {'str': 'Triceratops', 'str_pl': 'Triceratops'} #: lang/json/MONSTER_from_json.py msgid "" "A massive rhino-like dinosaur with a bony crest from which three large horns" @@ -55748,20 +57792,20 @@ msgstr "一支像是超大隻的犀牛樣貌的恐龍, 有著許多頸盾緣骨 #: lang/json/MONSTER_from_json.py msgid "Stegosaurus" -msgid_plural "Stegosauruss" +msgid_plural "Stegosaurus" msgstr[0] "劍龍" -#. ~ Description for Stegosaurus +#. ~ Description for {'str': 'Stegosaurus', 'str_pl': 'Stegosaurus'} #: lang/json/MONSTER_from_json.py msgid "A large quadruped dinosaur with plates on its back, and a spiked tail." msgstr "一隻具有背部骨板與尖刺尾巴特徵的大型四足恐龍, 。" #: lang/json/MONSTER_from_json.py msgid "Ankylosaurus" -msgid_plural "Ankylosauruss" +msgid_plural "Ankylosaurus" msgstr[0] "甲龍" -#. ~ Description for Ankylosaurus +#. ~ Description for {'str': 'Ankylosaurus', 'str_pl': 'Ankylosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "This dinosaur looks like a giant prehistoric armadillo. Its tail ends in a " @@ -55770,10 +57814,10 @@ msgstr "這種恐龍看起來像一隻巨大的史前犰狳。牠有根巨型的 #: lang/json/MONSTER_from_json.py msgid "Allosaurus" -msgid_plural "Allosauruss" +msgid_plural "Allosaurus" msgstr[0] "異特龍" -#. ~ Description for Allosaurus +#. ~ Description for {'str': 'Allosaurus', 'str_pl': 'Allosaurus'} #: lang/json/MONSTER_from_json.py msgid "" "A large predatory bipedal dinosaur, with tiger-like stripes on its broad " @@ -55806,10 +57850,10 @@ msgstr "一隻小型雙足恐龍, 身上覆蓋著羽毛。牠的腳和手都長 #: lang/json/MONSTER_from_json.py msgid "Deinonychus" -msgid_plural "Deinonychuss" +msgid_plural "Deinonychus" msgstr[0] "恐爪龍" -#. ~ Description for Deinonychus +#. ~ Description for {'str': 'Deinonychus', 'str_pl': 'Deinonychus'} #: lang/json/MONSTER_from_json.py msgid "" "A medium-sized bipedal dinosaur covered with feathers. At the end of each " @@ -55830,10 +57874,10 @@ msgstr "一隻大型雙足恐龍, 手臂覆蓋著羽毛, 有一條長尾巴和 #: lang/json/MONSTER_from_json.py msgid "Parasaurolophus" -msgid_plural "Parasaurolophuss" +msgid_plural "Parasaurolophus" msgstr[0] "副櫛龍" -#. ~ Description for Parasaurolophus +#. ~ Description for {'str': 'Parasaurolophus', 'str_pl': 'Parasaurolophus'} #: lang/json/MONSTER_from_json.py msgid "" "A huge mottled dinosaur with a blunt head crest. It contentedly strips " @@ -55852,10 +57896,10 @@ msgstr "一隻小型會飛的爬蟲類, 正在上空盤旋著尋找獵物。" #: lang/json/MONSTER_from_json.py msgid "Dilophosaurus" -msgid_plural "Dilophosauruss" +msgid_plural "Dilophosaurus" msgstr[0] "雙脊龍" -#. ~ Description for Dilophosaurus +#. ~ Description for {'str': 'Dilophosaurus', 'str_pl': 'Dilophosaurus'} #: lang/json/MONSTER_from_json.py msgid "A medium dinosaur with a sticky green bile dripping from its teeth." msgstr "一隻中等大小的恐龍, 帶有粘性的綠色汁液正從它的齒縫間滴落。" @@ -55947,6 +57991,19 @@ msgid "" msgstr "" "這條黑龍似乎還處於生命的早期階段。它的眼睛剛開始沉入眼座中,彎曲的節角剛開始變黑。你可以通過觀察來判斷,這個生物的本質是邪惡的。雖然這條龍還沒有完全成長,但它的大小卻如同一頭成熟的公牛。" +#: lang/json/MONSTER_from_json.py +msgid "adult black dragon" +msgid_plural "adult black dragons" +msgstr[0] "成年黑龍" + +#. ~ Description for adult black dragon +#: lang/json/MONSTER_from_json.py +msgid "" +"A black-scaled monstrosity with deep-set eye sockets glowing green with " +"evil. Its face and skull appear skeletal, and acid drips from its dagger-" +"like jaws." +msgstr "身披黑色鱗片的怪獸,在那深深的眼窩中有著泛邪惡的亮綠。它的臉和頭骨呈骨骼狀,酸液從匕首狀的下顎滴落。" + #: lang/json/MONSTER_from_json.py msgid "owlbear" msgid_plural "owlbears" @@ -55981,20 +58038,22 @@ msgid "The black pudding burns you with acid!" msgstr "" #: lang/json/MONSTER_from_json.py -msgid "nothic" -msgid_plural "nothics" -msgstr[0] "諾斯獨眼怪" +msgid "krabgek" +msgid_plural "krabgeks" +msgstr[0] "" -#. ~ Description for nothic +#. ~ Description for krabgek #: lang/json/MONSTER_from_json.py msgid "" -"A baleful eye peers out from the darkness, its gleam hinting at a weird " -"intelligence and unnerving malevolence." +"A large baleful eye peers out from the darkness, its gleam hinting at a " +"weird intelligence and unnerving malevolence. The eye oozes some pinkish " +"liquid, and the weirdly humanoid figure is covered in sharp blue-black " +"triangular plates." msgstr "" -#. ~ Attack message of monster "nothic"'s spell "necrotic_gaze" +#. ~ Attack message of monster "krabgek"'s spell "necrotic_gaze" #: lang/json/MONSTER_from_json.py -msgid "The nothic gazes at %3$s!" +msgid "The krabgek gazes at %3$s!" msgstr "" #: lang/json/MONSTER_from_json.py @@ -56038,9 +58097,45 @@ msgstr[0] "巨魔" #. ~ Description for troll #: lang/json/MONSTER_from_json.py msgid "" -"Monstrous, green-skinned humanoid. Trolls are renowned for their thick hides" -" and natural regenerative ability." -msgstr "怪異的綠膚的人形巨人。巨魔以其堅厚的皮膚和自然再生能力而聞名。" +"Monstrous, green-skinned humanoid. Trolls are renowned for their thick " +"hides and natural regenerative ability." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "stirge" +msgid_plural "stirges" +msgstr[0] "" + +#. ~ Description for stirge +#: lang/json/MONSTER_from_json.py +msgid "" +"This horrid flying creature looks like a cross between a large bat and " +"oversized mosquito." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "shrieker" +msgid_plural "shriekers" +msgstr[0] "" + +#. ~ Description for shrieker +#: lang/json/MONSTER_from_json.py +msgid "" +"A shrieker is a human-sized mushroom that emits a piercing screech to drive " +"off creatures that disturb it." +msgstr "" + +#: lang/json/MONSTER_from_json.py +msgid "lemure" +msgid_plural "lemures" +msgstr[0] "" + +#. ~ Description for lemure +#: lang/json/MONSTER_from_json.py +msgid "" +"A lemure resembles a molten mass of flesh with a vaguely humanoid head and " +"torso." +msgstr "" #: lang/json/MONSTER_from_json.py msgid "automated turret" @@ -56351,7 +58446,7 @@ msgid "" "An insectoid robot the size of a small dog, designed for home security. " "Armed with two close-range tazers, it can skate across the ground with great" " speed." -msgstr "" +msgstr "一個昆蟲外型的機器人,大小跟小狗一樣,設計作為居家保全使用。搭載兩個近距離電擊槍,並能夠以極快的速度在地面滑行。" #: lang/json/MONSTER_from_json.py msgid "defense robot" @@ -56466,10 +58561,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "craftbuddy" -msgid_plural "craftbuddys" +msgid_plural "craftbuddies" msgstr[0] "製作小幫手" -#. ~ Description for craftbuddy +#. ~ Description for {'str': 'craftbuddy', 'str_pl': 'craftbuddies'} #: lang/json/MONSTER_from_json.py msgid "" "A mobile crafting station used by workers in mines, on oil rigs, and in " @@ -57040,10 +59135,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "robote deluxe" -msgid_plural "robote deluxes" +msgid_plural "robote deluxe" msgstr[0] "豪華機器人" -#. ~ Description for robote deluxe +#. ~ Description for {'str': 'robote deluxe', 'str_pl': 'robote deluxe'} #: lang/json/MONSTER_from_json.py msgid "" "A diamond-studded gold-plated robot armed with a pair of integrated 9mm " @@ -57080,10 +59175,10 @@ msgstr "" #: lang/json/MONSTER_from_json.py msgid "glittering lady" -msgid_plural "glittering ladys" +msgid_plural "glittering ladies" msgstr[0] "閃爍女士" -#. ~ Description for glittering lady +#. ~ Description for {'str': 'glittering lady', 'str_pl': 'glittering ladies'} #: lang/json/MONSTER_from_json.py msgid "" "A salvaged advanced robot transformed into a luminous beacon of destruction." @@ -57202,12 +59297,12 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gelatinous mass" -msgid_plural "gelatinous masss" +msgid_plural "gelatinous mass" msgstr[0] "凝膠團塊" -#. ~ Description for gelatinous mass -#. ~ Description for gray mass -#. ~ Description for gelatinous mass +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} +#. ~ Description for {'str': 'gray mass', 'str_pl': 'gray mass'} +#. ~ Description for {'str': 'gelatinous mass', 'str_pl': 'gelatinous mass'} #: lang/json/MONSTER_from_json.py msgid "" "An escaping noisy blob, catch it before it brings in every zombie for miles!" @@ -57215,7 +59310,7 @@ msgstr "" #: lang/json/MONSTER_from_json.py lang/json/TOOL_from_json.py msgid "gray mass" -msgid_plural "gray masss" +msgid_plural "gray mass" msgstr[0] "灰質團塊" #: lang/json/MONSTER_from_json.py @@ -57785,6 +59880,25 @@ msgstr "蟲蟲神器" msgid "Summon some bugs." msgstr "召喚一些蟲蟲" +#: lang/json/SPELL_from_json.py +msgid "Artifact Noise" +msgstr "噪音神器" + +#. ~ Description for Artifact Noise +#: lang/json/SPELL_from_json.py +msgid "Makes a noise at your location" +msgstr "在你所在位置產生噪音" + +#. ~ description for the sound of spell 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "a deafening boom" +msgstr "震耳欲聾的爆炸聲" + +#. ~ Message for SPELL 'Artifact Noise' +#: lang/json/SPELL_from_json.py +msgid "You hear a deafening boom from your location!" +msgstr "你聽見了從你所在位置發出震耳欲聾的爆炸聲!" + #: lang/json/SPELL_from_json.py msgid "Artifact Light" msgstr "光亮神器" @@ -57865,7 +59979,7 @@ msgstr "在世界地圖上揭露你周圍的區域" #. ~ Message for SPELL 'Artifact Map' #: lang/json/SPELL_from_json.py src/iuse.cpp -msgid "You have a vision of the surrounding area..." +msgid "You have a vision of the surrounding area…" msgstr "你獲得了周圍地區的視野…" #: lang/json/SPELL_from_json.py @@ -57905,6 +60019,80 @@ msgstr "突變神器" msgid "Mutates you randomly" msgstr "讓你隨機突變" +#: lang/json/SPELL_from_json.py +msgid "Bolt" +msgstr "尖釘" + +#. ~ Description for Bolt +#: lang/json/SPELL_from_json.py +msgid "One of the bolts thrown by AEA_STORM" +msgstr "AEA_STORM投擲的尖釘之一" + +#. ~ description for the sound of spell 'Bolt' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "Ka-BOOM!" +msgstr "碰!" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Storm" +msgstr "風暴神器" + +#. ~ Description for Artifact Storm +#: lang/json/SPELL_from_json.py +msgid "Calls down a storm near you" +msgstr "在你附近召喚出風暴" + +#: lang/json/SPELL_from_json.py +msgid "Morale Scream" +msgstr "士氣吶喊" + +#. ~ Description for Morale Scream +#: lang/json/SPELL_from_json.py +msgid "Morale effect from AEA_SCREAM" +msgstr "AEA_SCREAM產生的士氣效應" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Entrance" +msgstr "入口神器" + +#. ~ Description for Artifact Entrance +#: lang/json/SPELL_from_json.py +msgid "Entrances surrounding monsters" +msgstr "圍繞著怪物群的入口" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Scream" +msgstr "吶喊神器" + +#. ~ Description for Artifact Scream +#: lang/json/SPELL_from_json.py +msgid "An ethereal scream" +msgstr "空靈的吶喊" + +#. ~ description for the sound of spell 'Artifact Scream' +#: lang/json/SPELL_from_json.py +msgid "an ethereal scream" +msgstr "空靈的吶喊" + +#: lang/json/SPELL_from_json.py +msgid "Bash Terrain" +msgstr "重擊地形" + +#. ~ Description for Bash Terrain +#. ~ Description for Artifact Pulse +#: lang/json/SPELL_from_json.py +msgid "Damages the terrain" +msgstr "破壞地形" + +#: lang/json/SPELL_from_json.py +msgid "Artifact Pulse" +msgstr "脈衝神器" + +#. ~ description for the sound of spell 'Artifact Pulse' +#: lang/json/SPELL_from_json.py src/iuse.cpp +msgid "The earth shakes!" +msgstr "地表在晃動!" + #: lang/json/SPELL_from_json.py src/memorial_logger.cpp src/player_display.cpp msgid "Pain" msgstr "疼痛" @@ -57997,8 +60185,8 @@ msgstr "泛靈論者符文" #. ~ Description for Animist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Animists. You can use the rune" -" as a catalyst for recipes." +"This ritual creates a small pebble attuned to Animists. You can use the " +"rune as a catalyst for recipes." msgstr "這個儀式創造了一個與泛靈論者契合的小石子。你能將此符文用於製作時的催化劑。" #: lang/json/SPELL_from_json.py @@ -58036,7 +60224,7 @@ msgstr "生機術士符文" #. ~ Description for Biomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Biomancers. You can use the " +"This ritual creates a small pebble attuned to Biomancers. You can use the " "rune as a catalyst for recipes." msgstr "這個儀式創造了一個與生機術士契合的小石子。你能將此符文用於製作時的催化劑。" @@ -58134,7 +60322,7 @@ msgstr "使用一點耐力" #. ~ Message for SPELL 'Debug Stamina Spell' #: lang/json/SPELL_from_json.py #, python-format -msgid "Debug spell [ %s ] has no effect. Debug warning is expected." +msgid "Debug spell [ %s ] has no effect. Debug warning is expected." msgstr "除錯施展 [%s] 沒有效果。預期顯示除錯警告。" #: lang/json/SPELL_from_json.py @@ -58293,7 +60481,7 @@ msgstr "德魯伊符文" #. ~ Description for Druid Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Druids. You can use the rune " +"This ritual creates a small pebble attuned to Druids. You can use the rune " "as a catalyst for recipes." msgstr "這個儀式創造了一個與德魯伊契合的小石子。你能將此符文用於製作時的催化劑。" @@ -58304,8 +60492,8 @@ msgstr "淨化種子" #. ~ Description for Purification Seed #: lang/json/SPELL_from_json.py msgid "" -"You summon a gift of the earth which will purify water. Rapidly degrades if " -"not utilized." +"You summon a gift of the earth which will purify water. Rapidly degrades if" +" not utilized." msgstr "你召喚大地的贈禮,能夠淨化水質的種子。如果不使用的話會快速變質。" #: lang/json/SPELL_from_json.py @@ -58352,10 +60540,37 @@ msgstr "塑地者符文" #. ~ Description for Earthshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Earthshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Earthshapers. You can use the" +" rune as a catalyst for recipes." msgstr "這個儀式創造了一個與大地塑形者契合的小石子。你能將此符文用於製作時的催化劑。" +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Shrapnel" +msgstr "熔岩炸彈彈片" + +#. ~ Description for Lava Bomb Shrapnel +#. ~ Description for Lava Bomb Heat +#. ~ Description for Lava Bomb Terrain +#: lang/json/SPELL_from_json.py +msgid "This is a sub spell for the Lava Bomb spell." +msgstr "這是熔岩炸彈法術的子法術。" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Heat" +msgstr "熔岩炸彈熱氣" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb Terrain" +msgstr "熔岩炸彈地形" + +#: lang/json/SPELL_from_json.py +msgid "Lava Bomb" +msgstr "熔岩炸彈" + +#: lang/json/SPELL_from_json.py +msgid "Clairvoyance" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Twisted Restoration" msgstr "扭曲恢復" @@ -58363,7 +60578,7 @@ msgstr "扭曲恢復" #. ~ Description for Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" " condition." msgstr "這個法術讓你的心臟超頻,以產生新的肉體與肌肉。在危險情況下使用它是不明智的,如果在危急情況下施展可能會致命。" @@ -58375,11 +60590,26 @@ msgstr "改良扭曲恢復" #. ~ Description for Improved Twisted Restoration #: lang/json/SPELL_from_json.py msgid "" -"This spell overclocks your heart, generating new flesh and muscle. It is " +"This spell overclocks your heart, generating new flesh and muscle. It is " "unwise to use this in immediate danger, and may be fatal if done in critical" -" condition. Improved brewing mitigates the strain of the spell." +" condition. Improved brewing mitigates the strain of the spell." msgstr "這個法術讓你的心臟超頻,以產生新的肉體與肌肉。在危險情況下使用它是不明智的,如果在危急情況下施展可能會致命。經過改良,降低了該法術的壓力。" +#: lang/json/SPELL_from_json.py +msgid "Conjure Throwing Blade I" +msgstr "召喚投擲之刃 I" + +#. ~ Description for Conjure Throwing Blade I +#: lang/json/SPELL_from_json.py +msgid "conjures 3 throwing knives" +msgstr "召喚 3 把飛刀" + +#. ~ Message for SPELL 'Conjure Throwing Blade I' +#: lang/json/SPELL_from_json.py +msgid "" +"You activate your ring and three throwing knives appear, ready to throw!" +msgstr "你使用了戒指,出現三把飛刀,準備投擲!" + #: lang/json/SPELL_from_json.py msgid "Point Flare" msgstr "定點驟燃" @@ -58435,7 +60665,7 @@ msgstr "熱力學者符文" #. ~ Description for Kelvinist Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Kelvinists. You can use the " +"This ritual creates a small pebble attuned to Kelvinists. You can use the " "rune as a catalyst for recipes." msgstr "這個儀式創造了一個與熱力學者契合的小石子。你能將此符文用於製作時的催化劑。" @@ -58478,8 +60708,8 @@ msgstr "祆教徒符文" #. ~ Description for Magus Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Magi. You can use the rune as " -"a catalyst for recipes." +"This ritual creates a small pebble attuned to Magi. You can use the rune as" +" a catalyst for recipes." msgstr "這個儀式創造了一個與祆教徒契合的小石子。你能將此符文用於製作時的催化劑。" #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py @@ -58498,10 +60728,26 @@ msgstr "食人魔之力" msgid "Fox's Cunning" msgstr "狐之狡滑" +#: lang/json/SPELL_from_json.py +msgid "Blood Suck" +msgstr "吸血術" + +#. ~ Description for Blood Suck +#: lang/json/SPELL_from_json.py +msgid "Sucks blood from one foe." +msgstr "從一個敵人身上吸血。" + #: lang/json/SPELL_from_json.py msgid "Jolt" msgstr "猛擊術" +#. ~ description for the sound of spell 'Jolt' +#. ~ description for the sound of spell 'Lightning Bolt' +#. ~ description for the sound of spell 'Lightning Blast' +#: lang/json/SPELL_from_json.py +msgid "a crackle" +msgstr "劈啪聲" + #: lang/json/SPELL_from_json.py msgid "Lightning Bolt" msgstr "閃電之箭" @@ -58510,6 +60756,11 @@ msgstr "閃電之箭" msgid "Windstrike" msgstr "風擊術" +#. ~ description for the sound of spell 'Windstrike' +#: lang/json/SPELL_from_json.py +msgid "a whoosh" +msgstr "嗚咻聲" + #: lang/json/SPELL_from_json.py lang/json/effects_from_json.py msgid "Windrunning" msgstr "迅捷之風" @@ -58525,8 +60776,8 @@ msgstr "塑風者符文" #. ~ Description for Stormshaper Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Stormshapers. You can use the " -"rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Stormshapers. You can use the" +" rune as a catalyst for recipes." msgstr "這個儀式創造了一個與風暴塑形者契合的小石子。你能將此符文用於製作時的催化劑。" #: lang/json/SPELL_from_json.py @@ -58587,8 +60838,8 @@ msgstr "科技巫師符文" #. ~ Description for Technomancer Rune #: lang/json/SPELL_from_json.py msgid "" -"This ritual creates a small pebble attuned to Technomancers. You can use the" -" rune as a catalyst for recipes." +"This ritual creates a small pebble attuned to Technomancers. You can use " +"the rune as a catalyst for recipes." msgstr "這個儀式創造了一個與科技巫師契合的小石子。你能將此符文用於製作時的催化劑。" #: lang/json/SPELL_from_json.py @@ -58615,6 +60866,10 @@ msgstr "飛舞幻刃" msgid "Mirror Image" msgstr "鏡像投影" +#: lang/json/SPELL_from_json.py +msgid "X-ray Vision" +msgstr "" + #: lang/json/SPELL_from_json.py msgid "Demon Fireball" msgstr "惡魔火球術" @@ -58765,6 +61020,8 @@ msgstr[0] "採礦頭盔 (啟動)" #. ~ Use action menu_text for thermal electric balaclava (on). #. ~ Use action menu_text for headlamp (on). #. ~ Use action menu_text for survivor headlamp (on). +#. ~ Use action menu_text for 5-point anchor (on). +#. ~ Use action menu_text for phase immersion suit (on). #. ~ Use action menu_text for rebreather mask (on). #. ~ Use action menu_text for XL rebreather mask (on). #. ~ Use action menu_text for pair of light amp goggles (on). @@ -58789,9 +61046,9 @@ msgstr[0] "採礦頭盔 (啟動)" #. ~ Use action menu_text for acetylene lamp (on). #. ~ Use action menu_text for power cutter (on). #. ~ Use action menu_text for murdersaw (on). +#. ~ Use action menu_text for heat cube (torch on). #: lang/json/TOOL_ARMOR_from_json.py lang/json/TOOL_ARMOR_from_json.py #: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: lang/json/TOOL_from_json.py lang/json/item_action_from_json.py #: lang/json/item_action_from_json.py lang/json/item_action_from_json.py #: src/iuse.cpp msgid "Turn off" @@ -59101,6 +61358,44 @@ msgstr "" "這是一個訂製的 LED 頭燈, 以更大、更高效的電池組強化, 使它更耐用、更明亮。附有可調節式綁帶, 可以舒適地戴在頭上或安裝在頭盔上。它已經啟動, " "並且持續消耗電池。\"使用\" 以關閉它。" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp" +msgid_plural "atomic headlamps" +msgstr[0] "" + +#. ~ Use action msg for atomic headlamp. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You close the headlamp's cover." +msgstr "" + +#. ~ Description for atomic headlamp +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"close the cover and hide the light." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "atomic headlamp (covered)" +msgid_plural "atomic headlamps (covered)" +msgstr[0] "" + +#. ~ Use action msg for atomic headlamp (covered). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "You open the headlamp's cover." +msgstr "" + +#. ~ Description for atomic headlamp (covered) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"This is a custom made reinforced headlamp powered by the magic of nuclear " +"decay, focused for more usable brightness. The adjustable strap allows it " +"to be comfortably worn on your head or attached to your helmet. Use it to " +"open the cover and show the light." +msgstr "" + #: lang/json/TOOL_ARMOR_from_json.py msgid "RM13 combat armor" msgid_plural "RM13 combat armors" @@ -59130,6 +61425,93 @@ msgstr "" "這套光亮的黑色全身軍用裝甲是 Rivtech 非剛性動力裝甲的巔峰之作, 最多能以 10 個鈽燃料電池進行內部供電。它已經啟動, " "並且持續消耗電力。\"使用\" 以關閉它。" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor" +msgid_plural "5-point anchors" +msgstr[0] "" + +#. ~ Use action msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "A LED light in the %s LED flickers on." +msgstr "" + +#. ~ Use action need_charges_msg for 5-point anchor. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "It seems like this device needs power." +msgstr "" + +#. ~ Description for 5-point anchor +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A featureless, disc-shaped device mounted on a harness. The words " +"\"X.E.D.R.A\" and \"5-point anchor\" are inscribed on its front and back." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "5-point anchor (on)" +msgid_plural "5-point anchors (on)" +msgstr[0] "" + +#. ~ Use action msg for 5-point anchor (on). +#: lang/json/TOOL_ARMOR_from_json.py +#, no-python-format +msgid "The %s LED light flickers off." +msgstr "" + +#. ~ Description for 5-point anchor (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The harness' shoulder mounted LED glows with a soft green hue. Theres no " +"further indication of anything happening." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit" +msgid_plural "phase immersion suits" +msgstr[0] "" + +#. ~ Use action msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Initiating\n" +"Running suit integrity diagnostics…\n" +"All systems operational." +msgstr "" + +#. ~ Use action need_charges_msg for phase immersion suit. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Warning: Operating on minimal power. Protection compromised." +msgstr "" + +#. ~ Description for phase immersion suit +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. Designed to " +"protect its wearer during extra dimensional excursions, it offers " +"unparalleled environmental protection, both in this Earth and beyond. Use " +"it to turn it on." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "phase immersion suit (on)" +msgid_plural "phase immersion suits (on)" +msgstr[0] "" + +#. ~ Use action msg for phase immersion suit (on). +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Suit shutting down." +msgstr "" + +#. ~ Description for phase immersion suit (on) +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Covered in interlocking plates of reflective metal, this advanced suit " +"resembles both plate armor and an astronaut's spacesuit. It is turned on, " +"and continually draining power. Use it to turn it off." +msgstr "" + #: lang/json/TOOL_ARMOR_from_json.py msgid "rebreather mask" msgid_plural "rebreather masks" @@ -60017,10 +62399,11 @@ msgstr "射擊耳罩的電池沒電了。" #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py msgid "" -"A pair of earmuffs favored by shooters. The earmuffs are turned off. They " -"will block sounds over a certain decibel amount, assuming it is charged with" -" batteries." -msgstr "一對備深受射手喜愛的耳罩, 現在已經關閉。它能阻擋超過一定分貝的聲音, 前提是電池已經充電。" +"A pair of earmuffs favored by shooters. Without batteries or when turned " +"off they function like normal earmuffs and block all sound. They will block" +" sounds over a certain decibel amount when turned on. The earmuffs are " +"currently off." +msgstr "" #. ~ Description for shooter's earmuffs #: lang/json/TOOL_ARMOR_from_json.py @@ -60440,6 +62823,494 @@ msgid "" "power." msgstr "" +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic leather belt" +msgid_plural "magic leather belts" +msgstr[0] "魔法皮帶" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Haste" +msgid_plural "Belt of Hastes" +msgstr[0] "迅捷腰帶" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Megingjörð" +msgid_plural "Megingjörðs" +msgstr[0] "" + +#. ~ Description for Megingjörð +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"The mythical belt of Thor, god of thunder. Or at least so it appears. It " +"doubles the wearer's base strength." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Lesser Girdle of Pockets" +msgid_plural "Lesser Girdle of Pocketss" +msgstr[0] "" + +#. ~ Description for Lesser Girdle of Pockets +#. ~ Description for Greater Girdle of Pockets +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, coverd in numerous small pouches " +"that hold a lot more than they should, and the weight of their contents is " +"greatly reduced." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Greater Girdle of Pockets" +msgid_plural "Greater Girdle of Pocketss" +msgstr[0] "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of Weaponry" +msgid_plural "Belt of Weaponrys" +msgstr[0] "武器庫腰帶" + +#. ~ Description for Belt of Weaponry +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A wide girdle that fits around your waist, you can sheath or holster any " +"weapon into it in the blink of an eye, and it seemingly stores them " +"somewhere else." +msgstr "合身地環繞在你腰部的寬腰帶,你可以在眨眼間將任何武器放入其中,而它似乎將武器儲存在其他地方。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "Belt of The Iron Whip" +msgid_plural "Belts of the Iron Whip" +msgstr[0] "鐵鞭腰帶" + +#. ~ Use action msg for Belt of The Iron Whip. +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"You grab the belt and it uncoils to become a flexible metal whip in your " +"hand!" +msgstr "" + +#. ~ Description for Belt of The Iron Whip +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A braided but flexible belt seemingly made of metal. You can activate it to" +" transform it into a whip and flay your enemies." +msgstr "" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "escape boots" +msgid_plural "escape boots" +msgstr[0] "遁逃靴" + +#. ~ Description for escape boots +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"Rugged yet extremely comfortable and well fitting boots of worn leather and " +"steel, these boots can be activated once a day to escape from nasty " +"situations, teleporting you a good distance in a random direction." +msgstr "即使表面破舊,但是磨損的皮革跟鋼鐵卻非常舒適且合腳。這靴子每天能啟動一次來逃離惡劣的環境,能將你傳送到隨機方向的很長距離處。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "pair of steel bracers" +msgid_plural "pairs of steel bracers" +msgstr[0] "一對鋼護腕" + +#. ~ Description for pair of steel bracers +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A full assembly of medieval arm protection." +msgstr "一副完整的中世紀手臂保護裝置。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "steel bracer" +msgid_plural "steel bracers" +msgstr[0] "鋼護腕" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of lesser defense" +msgid_plural "bracers of lesser defense" +msgstr[0] "次級防護護腕" + +#. ~ Description for bracer of lesser defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, silver accentuates the intricate design. It protects your body " +"with a light aura to reduce damage you take." +msgstr "輕巧但堅固的鋼製護腕,頂部刻有華麗的盾牌,銀色凸顯出精緻的設計。它具有輕微的靈氣保護你的身體,能減少受到的傷害。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "bracer of greater defense" +msgid_plural "bracers of greater defense" +msgstr[0] "高級防護護腕" + +#. ~ Description for bracer of greater defense +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate shield engraved on " +"the top, gold accentuates the intricate design. It protects your body with " +"a strong aura to reduce damage you take." +msgstr "輕巧但堅固的鋼製護腕,頂部刻有華麗的盾牌,金色凸顯出精緻的設計。它具有強大的靈氣保護你的身體,能減少受到的傷害。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "lesser bracer of lightning" +msgid_plural "lesser bracers of lightning" +msgstr[0] "次級閃電護腕" + +#. ~ Description for lesser bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, silver accentuates the intricate design. It " +"protects your body with a light aura to reduce electrical damage you take, " +"as well as being able to release a Jolt spell 3 times a day." +msgstr "" +"輕巧但堅固的鋼製護腕,頂部刻有華麗的閃電束,銀色凸顯出精緻的設計。它具有輕微的靈氣保護你的身體,能減少遭受的電擊傷害,並且每天可以施放 3 次猛擊術。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "greater bracer of lightning" +msgid_plural "greater bracers of lightning" +msgstr[0] "高級閃電護腕" + +#. ~ Description for greater bracer of lightning +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A light but extremely sturdy steel bracer with an ornate bundle of lightning" +" bolts engraved on the top, gold accentuates the intricate design. It " +"protects your body with a strong aura to reduce electrical damage you take, " +"as well as being able to release a Lightning Bolt spell 3 times a day." +msgstr "" +"輕巧但堅固的鋼製護腕,頂部刻有華麗的閃電束,銀色凸顯出精緻的設計。它具有輕微的靈氣保護你的身體,能減少遭受的電擊傷害,並且每天可以施放 3 次閃電之箭。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic mask" +msgid_plural "magic masks" +msgstr[0] "魔法面具" + +#. ~ Description for magic mask +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic magic mask." +msgstr "一張普通的魔法面具。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of disappearance" +msgid_plural "masks of disappearance" +msgstr[0] "消逝面具" + +#. ~ Description for mask of disappearance +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A mask with no facial features at all, just eye and mouth holes, upon " +"activation it makes everything ignore your presence for a while." +msgstr "完全沒有面部特徵,只有眼孔和嘴孔的面具,當啟動時,它會使所有東西在一段時間內忽視你的存在。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "mask of perfect vision" +msgid_plural "masks of perfect vision" +msgstr[0] "完美視覺面具" + +#. ~ Description for mask of perfect vision +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A decidedly steampunk-looking half mask that covers the eye area of the " +"face, it has large lenses that correct and greatly enhance the vision of the" +" wearer." +msgstr "這款看起來像蒸汽龐克的半面罩覆蓋了臉部的眼睛區域,它具有可矯正並大大增強佩戴者視力的大鏡片。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "copper magic ring" +msgid_plural "copper magic rings" +msgstr[0] "魔法銅戒指" + +#. ~ Description for copper magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic copper magic ring." +msgstr "一枚普通的魔法銅戒指。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "magic ring" +msgid_plural "magic rings" +msgstr[0] "魔法戒指" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic silver magic ring." +msgstr "一枚普通的魔法銀戒指。" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic gold magic ring." +msgstr "一枚普通的魔法金戒指。" + +#. ~ Description for magic ring +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A generic platinum magic ring." +msgstr "一枚普通的魔法鉑戒指。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of blades" +msgid_plural "rings of blades" +msgstr[0] "刀刃戒指" + +#. ~ Description for ring of blades +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"An ornate silver ring engraved with daggers that conjures a near perfect " +"throwing knife into your hand on activation." +msgstr "一枚雕有匕首的華麗銀戒指,使用後會幻化成一把在你手中近乎完美的飛刀。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +1" +msgid_plural "minor rings of strength +1" +msgstr[0] "次級力量戒指 +1" + +#. ~ Description for ring of strength +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little stronger when you wear it." +msgstr "一枚銅戒指,戴上它會使你稍微強壯一點。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +2" +msgid_plural "rings of strength +2" +msgstr[0] "力量戒指 +2" + +#. ~ Description for ring of strength +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit stronger when you wear it." +msgstr "一枚銀戒指,戴上它會使你變得強壯。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +3" +msgid_plural "rings of strength +3" +msgstr[0] "力量戒指 +3" + +#. ~ Description for ring of strength +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly stronger when you wear it." +msgstr "一枚金戒指,戴上它會使你變得非常強壯。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of strength +4" +msgid_plural "rings of strength +4" +msgstr[0] "力量戒指 +4" + +#. ~ Description for ring of strength +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much stronger when you wear it." +msgstr "一枚鉑戒指,戴上它會使你強壯許多。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +1" +msgid_plural "rings of dexterity +1" +msgstr[0] "敏捷戒指 +1" + +#. ~ Description for ring of dexterity +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little more agile when you wear it." +msgstr "一枚銅戒指,戴上它會使你稍微敏捷一點。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +2" +msgid_plural "rings of dexterity +2" +msgstr[0] "敏捷戒指 +2" + +#. ~ Description for ring of dexterity +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit more agile when you wear it." +msgstr "一枚銀戒指,戴上它會使你變得敏捷。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +3" +msgid_plural "rings of dexterity +3" +msgstr[0] "敏捷戒指 +3" + +#. ~ Description for ring of dexterity +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you surprisingly more agile when you wear it." +msgstr "一枚金戒指,戴上它會使你變得非常敏捷。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of dexterity +4" +msgid_plural "rings of dexterity +4" +msgstr[0] "敏捷戒指 +4" + +#. ~ Description for ring of dexterity +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more agile when you wear it." +msgstr "一枚鉑戒指,戴上它會使你敏捷許多。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +1" +msgid_plural "rings of intelligence +1" +msgstr[0] "智力戒指 +1" + +#. ~ Description for ring of intelligence +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more intelligent when you wear it." +msgstr "一枚銅戒指,戴上它會使你稍微聰明一點。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +2" +msgid_plural "rings of intelligence +2" +msgstr[0] "智力戒指 +2" + +#. ~ Description for ring of intelligence +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more intelligent when you wear it." +msgstr "一枚銀戒指,戴上它會使你變得聰明。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +3" +msgid_plural "rings of intelligence +3" +msgstr[0] "智力戒指 +3" + +#. ~ Description for ring of intelligence +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you surprisingly more intelligent when you wear it." +msgstr "一枚金戒指,戴上它會使你變得非常聰明。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of intelligence +4" +msgid_plural "rings of intelligence +4" +msgstr[0] "智力戒指 +4" + +#. ~ Description for ring of intelligence +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more intelligent when you wear it." +msgstr "一枚鉑戒指,戴上它會使你聰明許多。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +1" +msgid_plural "rings of perception +1" +msgstr[0] "感知戒指 +1" + +#. ~ Description for ring of perception +1 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that makes you a little more perceptive when you wear it." +msgstr "一枚銅戒指,戴上它會使你稍微感覺靈敏一點。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +2" +msgid_plural "rings of perception +2" +msgstr[0] "感知戒指 +2" + +#. ~ Description for ring of perception +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that makes you a good bit more perceptive when you wear it." +msgstr "一枚銀戒指,戴上它會使你變得感覺靈敏。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +3" +msgid_plural "rings of perception +3" +msgstr[0] "感知戒指 +3" + +#. ~ Description for ring of perception +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that makes you eye-openingly more perceptive when you wear it." +msgstr "一枚金戒指,戴上它會使你的感覺變得非常靈敏。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of perception +4" +msgid_plural "rings of perception +4" +msgstr[0] "感知戒指 +4" + +#. ~ Description for ring of perception +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much more perceptive when you wear it." +msgstr "一枚鉑戒指,戴上它會使你感覺靈敏許多。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +3" +msgid_plural "rings of speed +3" +msgstr[0] "速度戒指 +3" + +#. ~ Description for ring of speed +3 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A copper ring that makes you a little faster when you wear it." +msgstr "一枚銅戒指,戴上它會使你稍微快速一點。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +5" +msgid_plural "rings of speed +5" +msgstr[0] "速度戒指 +5" + +#. ~ Description for ring of speed +5 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A silver ring that makes you a good bit faster when you wear it." +msgstr "一枚銀戒指,戴上它會使你變得快速。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +7" +msgid_plural "rings of speed +7" +msgstr[0] "速度戒指 +7" + +#. ~ Description for ring of speed +7 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A golden ring that makes you quite hasty when you wear it." +msgstr "一枚金戒指,戴上它會使你變得非常快速。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of speed +10" +msgid_plural "rings of speed +10" +msgstr[0] "速度戒指 +10" + +#. ~ Description for ring of speed +10 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "A platinum ring that makes you much faster when you wear it." +msgstr "一枚鉑戒指,戴上它會使你快速許多。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +2" +msgid_plural "rings of protection +2" +msgstr[0] "防護戒指 +2" + +#. ~ Description for ring of protection +2 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A copper ring that reduces some of the force of damage you take when you " +"wear it." +msgstr "一枚銅戒指,戴上它會使你受到的傷害力道降低一些。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +4" +msgid_plural "rings of protection +4" +msgstr[0] "防護戒指 +4" + +#. ~ Description for ring of protection +4 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A silver ring that appreciably reduces some of the force of damage you take " +"when you wear it." +msgstr "一枚銀戒指,戴上它會使你受到的傷害力道降低相當程度。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +6" +msgid_plural "rings of protection +6" +msgstr[0] "防護戒指 +6" + +#. ~ Description for ring of protection +6 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A golden ring that greatly reduces some of the force of damage you take when" +" you wear it." +msgstr "一枚金戒指,戴上它會使你受到的傷害力道大幅降低。" + +#: lang/json/TOOL_ARMOR_from_json.py +msgid "ring of protection +8" +msgid_plural "rings of protection +8" +msgstr[0] "防護戒指 +8" + +#. ~ Description for ring of protection +8 +#: lang/json/TOOL_ARMOR_from_json.py +msgid "" +"A platinum ring that vastly reduces some of the force of damage you take " +"when you wear it." +msgstr "一枚鉑戒指,戴上它會使你受到的傷害力道極大地降低。" + #: lang/json/TOOL_from_json.py msgid "washcloth" msgid_plural "washcloths" @@ -60460,9 +63331,9 @@ msgstr[0] "" msgid "" "Harness the power of radiation in your own home! This looks similar to a " "D-cell battery, but actually contains folded layers of radioactive material " -"inside. It can produce electricity for several years at a steady voltage..." -" but it's barely enough to power a small LED, and these batteries were worth" -" hundreds of dollars. Mostly they're a good way to brag to your neighbours " +"inside. It can produce electricity for several years at a steady voltage… " +"but it's barely enough to power a small LED, and these batteries were worth " +"hundreds of dollars. Mostly they're a good way to brag to your neighbors " "that you have a nuclear power source in your house." msgstr "" @@ -60474,13 +63345,13 @@ msgstr[0] "" #. ~ Description for radioisotope thermoelectric generator #: lang/json/TOOL_from_json.py msgid "" -"Did your neighbours brag about their cool beta-decay powered nightlights? " -"Do them one better! The CuppaTech 4 radioisotope thermoelectric generator " -"is a three kilogram chunk of metal - mostly lead - with a slug of curium-244" -" encased within. It is capable of generating somewhere between 100-150 " -"Watts of thermal energy, although its electrical generation capacity is " -"minimal at only 2 Watts. Careful! Curium is great at making heat, and also" -" releases deadly gamma radiation. Keep away from cellular life forms." +"Did your neighbors brag about their cool beta-decay powered nightlights? Do" +" them one better! The CuppaTech 4 radioisotope thermoelectric generator is " +"a three kilogram chunk of metal - mostly lead - with a slug of curium-244 " +"encased within. It is capable of generating somewhere between 100-150 Watts" +" of thermal energy, although its electrical generation capacity is minimal " +"at only 2 Watts. Careful! Curium is great at making heat, and also " +"releases deadly gamma radiation. Keep away from cellular life forms." msgstr "" #: lang/json/TOOL_from_json.py @@ -60581,8 +63452,8 @@ msgstr[0] "千里眼棒" #. ~ Description for clairvoyance rod #: lang/json/TOOL_from_json.py msgid "" -"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's " -"a bug." +"Item to test aep_clairvoyance_plus flag. If this spawns randomly, then it's" +" a bug." msgstr "測試 aep_clairvoyance_plus 指標的物品。如果隨機生成了,那就是程式出錯了。" #: lang/json/TOOL_from_json.py @@ -60805,10 +63676,10 @@ msgstr[0] "鋼管炸彈" #. ~ Use action menu_text for fragment bomb. #. ~ Use action menu_text for can bomb. #. ~ Use action menu_text for match head bomb. +#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for dynamite. #. ~ Use action menu_text for fertilizer bomb. #. ~ Use action menu_text for ANFO charge. -#. ~ Use action menu_text for black gunpowder bomb. #. ~ Use action menu_text for black gunpowder charge. #. ~ Use action menu_text for RDX charge. #: lang/json/TOOL_from_json.py @@ -60849,7 +63720,7 @@ msgstr "你已經點燃了 %s, 試試看丟擲出去吧。" #. ~ Use action sound_msg for match head bomb (lit). #. ~ Use action sound_msg for dynamite (lit). #. ~ Use action sound_msg for fertilizer bomb (lit). -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py src/iuse.cpp +#: lang/json/TOOL_from_json.py msgid "ssss..." msgstr "嘶嘶嘶嘶…" @@ -60875,7 +63746,7 @@ msgstr "你點燃了 %s 的引信。" #. ~ Description for nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by nails and a fuse. Use this item to light the fuse. You will " "then have five turns before it explodes; throwing it would be a good idea." msgstr "" @@ -60895,8 +63766,8 @@ msgstr "你已經點燃了引信, 還在等甚麼?" #. ~ Description for active nail bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by nails and a fuse. The fuse has been lit, you should throw it." +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by nails and a fuse. The fuse has been lit, you should throw it." msgstr "" #: lang/json/TOOL_from_json.py @@ -60907,7 +63778,7 @@ msgstr[0] "" #. ~ Description for fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " +"A crude and bulky improvised bomb. Made from a container, an explosive " "surrounded by small pieces of metal and a fuse. Use this item to light the " "fuse. You will then have five turns before it explodes; throwing it would " "be a good idea." @@ -60921,8 +63792,8 @@ msgstr[0] "" #. ~ Description for active fragment bomb #: lang/json/TOOL_from_json.py msgid "" -"A crude and bulky improvised bomb. Made from a container, an explosive " -"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " +"A crude and bulky improvised bomb. Made from a container, an explosive " +"surrounded by small pieces of metal and a fuse. The fuse has been lit, you " "should throw it." msgstr "" @@ -60941,8 +63812,8 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think." msgstr "" #: lang/json/TOOL_from_json.py @@ -60954,8 +63825,53 @@ msgstr[0] "" #: lang/json/TOOL_from_json.py msgid "" "This is a tin can filled to the brim with explosive and with a bit of fuse " -"sticking out of it. Will produce metal shrapnel that can deal with armor ..." -" you think. The fuse has been lit, you should throw it." +"sticking out of it. Will produce metal shrapnel that can deal with armor… " +"you think. The fuse has been lit, you should throw it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "傑克南瓜燈" + +#. ~ Use action menu_text for jack o'lantern. +#. ~ Use action menu_text for candle. +#. ~ Use action menu_text for Louisville Slaughterer. +#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py +#: src/veh_interact.cpp +msgid "Light" +msgstr "燈光" + +#. ~ Use action msg for jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "You light the candle in the jack o'lantern." +msgstr "你點亮了傑克南瓜燈內的蠟燭。" + +#. ~ Description for jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"This is a plastic lantern that is painted to look like a pumpkin with a " +"face. It has a candle inside it, that can be replaced when burnt down. It " +"doesn't provide very much light, but it can burn for quite a long time. " +"You'll need a lighter or matches to light it." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "spooky jack o'lantern" +msgid_plural "jack o'lanterns" +msgstr[0] "傑克南瓜燈" + +#. ~ Use action msg for spooky jack o'lantern. +#: lang/json/TOOL_from_json.py +msgid "The candle winks out inside the lantern." +msgstr "" + +#. ~ Description for spooky jack o'lantern +#: lang/json/TOOL_from_json.py +msgid "" +"There is a thick LED candle inside the pumpkin face. It doesn't provide " +"very much light, but it can burn for quite a long time. This candle is lit." +" The face shifts." msgstr "" #. ~ Description for battle axe @@ -61042,6 +63958,69 @@ msgid "" "hold onto it much longer." msgstr "一個裝滿了火柴頭的瓶子, 並且在瓶口加了引線。已經被點燃, 且引線很快地燃燒。你最好不要再拿在手上了。" +#: lang/json/TOOL_from_json.py +msgid "black gunpowder bomb" +msgid_plural "black gunpowder bombs" +msgstr[0] "黑火藥炸彈" + +#. ~ Use action msg for black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "" +"You light the fuse on the black gunpowder bomb. Throw it before it blows in" +" your face!" +msgstr "你點燃了黑火藥炸彈的引信。在它爆炸之前趕快丟出去!" + +#. ~ Description for black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a bit of " +"fuse sticking out of it." +msgstr "這是一個填滿黑火藥且在外面黏有引信的錫罐。" + +#: lang/json/TOOL_from_json.py +msgid "active black gunpowder bomb" +msgid_plural "active black gunpowder bombs" +msgstr[0] "啟動中黑火藥炸彈" + +#. ~ Use action no_deactivate_msg for active black gunpowder bomb. +#: lang/json/TOOL_from_json.py +msgid "You've already lit the fuse - throw it!" +msgstr "你已經點燃了引信, 丟出去!" + +#. ~ Use action sound_msg for active black gunpowder bomb. +#. ~ Use action sound_msg for active black gunpowder charge. +#. ~ Use action sound_msg for active RDX charge. +#: lang/json/TOOL_from_json.py +msgid "Kshhh." +msgstr "滋…" + +#. ~ Description for active black gunpowder bomb +#: lang/json/TOOL_from_json.py +msgid "" +"This is a tin can filled to the brim with black gunpowder and with a lit " +"fuse stuck inside of it." +msgstr "這是一個填滿黑火藥且有引信的錫罐。" + +#: lang/json/TOOL_from_json.py +msgid "hobo stove (lit)" +msgid_plural "hobo stoves (lit)" +msgstr[0] "輕型柴爐 (點燃)" + +#. ~ Use action msg for hobo stove (lit). +#. ~ Use action msg for ember carrier (lit). +#: lang/json/TOOL_from_json.py +msgid "The ember is extinguished." +msgstr "餘燼熄滅了。" + +#. ~ Description for hobo stove (lit) +#. ~ Description for hobo stove +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small improvised wood stove, made from a metal can or similar " +"container of the right size. Useful for defrosting and reheating food, uses" +" simple tinder." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "folded poncho" msgid_plural "folded ponchos" @@ -61256,9 +64235,9 @@ msgstr[0] "水磨" #. ~ Description for water mill #: lang/json/TOOL_from_json.py msgid "" -"A small water-powered mill that can convert starchy products into flour. Can" -" be placed via the construction menu." -msgstr "小型水力驅動的磨子,可將澱粉類產品轉化成麵粉。可以經由建造選單來放置。" +"A small water-powered mill that can convert starchy products into flour. " +"Can be placed via the construction menu." +msgstr "" #: lang/json/TOOL_from_json.py lang/json/furniture_from_json.py msgid "wind mill" @@ -61268,9 +64247,9 @@ msgstr[0] "風車" #. ~ Description for wind mill #: lang/json/TOOL_from_json.py msgid "" -"A small wind-powered mill that can convert starchy products into flour. Can " -"be placed via the construction menu." -msgstr "小型風力驅動的磨子,可將澱粉類產品轉化成麵粉。可以經由建造選單來放置。" +"A small wind-powered mill that can convert starchy products into flour. Can" +" be placed via the construction menu." +msgstr "" #: lang/json/TOOL_from_json.py msgid "banjo" @@ -61547,14 +64526,6 @@ msgid "candle" msgid_plural "candles" msgstr[0] "蠟燭" -#. ~ Use action menu_text for candle. -#. ~ Use action menu_text for hobo stove. -#. ~ Use action menu_text for Louisville Slaughterer. -#: lang/json/TOOL_from_json.py lang/json/TOOL_from_json.py -#: src/veh_interact.cpp -msgid "Light" -msgstr "燈光" - #. ~ Use action msg for candle. #: lang/json/TOOL_from_json.py msgid "You light the candle." @@ -61601,9 +64572,9 @@ msgstr[0] "電動鋸刀 (關閉)" #: lang/json/TOOL_from_json.py msgid "" "An electric meat carver powered by batteries. Two serrated blades that " -"vibrate together to slice just about anything from turkey to ham... even " +"vibrate together to slice just about anything from turkey to ham… even " "zombies!" -msgstr "這是把由電池供電的電動鋸肉刀。兩片高速震動的鋸齒形刀片能把任何肉塊都切成片, 從火雞到火腿… 甚至是殭屍!" +msgstr "" #: lang/json/TOOL_from_json.py msgid "electric carver (on)" @@ -61760,6 +64731,19 @@ msgstr "" "使用這個物品在裝水的容器就能利用這個物品, 來經過層層的木炭過濾來取得淨化的水。當木炭已經過濾了一定量的水後, " "就不能再使用只能拆解回收。河川之類的的水源有可能是被污染的。" +#: lang/json/TOOL_from_json.py +msgid "lifestraw" +msgid_plural "lifestraws" +msgstr[0] "" + +#. ~ Description for lifestraw +#: lang/json/TOOL_from_json.py +msgid "" +"Set the lifestraw in suspect water, let sit for one minute then drink. The " +"two part filtration system will purify the water you drink. Water taken " +"from uncertain sources like a river may be dirty." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "charcoal smoker" msgid_plural "charcoal smokers" @@ -62176,10 +65160,8 @@ msgstr[0] "電子手銬" #: lang/json/TOOL_from_json.py msgid "" "A pair of electronic handcuffs, used by police and riot bots to detain captives. Their continuous siren clearly identifies the wearer as an arrested criminal and alerts human police. Wait for their arrival, don't try to escape or to remove the cuffs - they will administer an electric shock.\n" -"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative..." +"However, since the only police likely to respond are undead, you may have a long wait ahead, unless you get creative…" msgstr "" -"一付電子手銬, 通常是警察或鎮暴機器人用來逮捕嫌犯時使用。它會持續的發出警報聲, 以警告嫌犯在移送過程中不要逃跑或者嘗試掙脫, 否則會讓你嘗嘗電擊的滋味。\n" -"但是, 當警察現在正忙著對抗殭屍, 你可能要等很久才會到達移送目的地了, 除非你有什麼其他特別的想法…" #: lang/json/TOOL_from_json.py msgid "entrenching tool" @@ -63416,7 +66398,7 @@ msgstr "點燃布條" #. ~ Use action msg for Molotov cocktail. #: lang/json/TOOL_from_json.py msgid "You light the Molotov cocktail!" -msgstr "" +msgstr "你燃點了汽油彈!" #. ~ Description for Molotov cocktail #: lang/json/TOOL_from_json.py @@ -63642,6 +66624,18 @@ msgid "" "asthma attacks or smoke inhalation, and can provide a brief burst of energy." msgstr "一個裝滿了醫用壓縮氧的大罐子, 附帶調節器和面罩。能夠迅速緩解氣喘症狀和吸入煙霧的影響, 也能讓你在短時間內精神奕奕。" +#: lang/json/TOOL_from_json.py +msgid "oxygen cylinder" +msgid_plural "oxygen cylinders" +msgstr[0] "氧氣缸" + +#. ~ Description for oxygen cylinder +#: lang/json/TOOL_from_json.py +msgid "" +"A large steel cylinder used for storing pressurized gas. It is marked with " +"a faded, but legible O2 symbol." +msgstr "用於儲存加壓氣體的大型鋼瓶。它標有已褪色但仍能辨識的O2符號。" + #: lang/json/TOOL_from_json.py msgid "nitrogen tank" msgid_plural "nitrogen tanks" @@ -63980,9 +66974,9 @@ msgstr[0] "海綿" #. ~ Description for sponge #: lang/json/TOOL_from_json.py msgid "" -"A sponge is a tool or cleaning aid made of soft, porous material. Typically " -"used for cleaning impervious surfaces." -msgstr "海綿是一個由柔軟多孔素材製作而成的清潔用品。一般用於清潔抗滲的表面。" +"A sponge is a tool or cleaning aid made of soft, porous material. Typically" +" used for cleaning impervious surfaces." +msgstr "" #: lang/json/TOOL_from_json.py msgid "washing kit" @@ -63992,9 +66986,9 @@ msgstr[0] "洗滌工具" #. ~ Description for washing kit #: lang/json/TOOL_from_json.py msgid "" -"A combination kit of a washboard and a sponge. Everything you need to clean" -" items after the apocalypse." -msgstr "一件由洗衣板和海綿組合而成的工具,正是你在大災變後清潔物品所需的東西。" +"A combination kit of a washboard and a sponge or rag. Everything you need " +"to clean items after the apocalypse." +msgstr "一件由洗衣板和海綿或布條組合而成的工具,正是你在大災變後清潔物品所需的東西。" #: lang/json/TOOL_from_json.py msgid "reading light" @@ -64004,7 +66998,7 @@ msgstr[0] "閱讀燈" #. ~ Use action msg for reading light. #: lang/json/TOOL_from_json.py msgid "You switch on the reading light." -msgstr "你開啟了檯燈。" +msgstr "你開啟了閱讀燈。" #. ~ Use action need_charges_msg for reading light. #: lang/json/TOOL_from_json.py @@ -64024,7 +67018,7 @@ msgstr[0] "閱讀燈(打開)" #. ~ Use action msg for reading light (active). #: lang/json/TOOL_from_json.py msgid "You switch off the reading light." -msgstr "你關閉了檯燈。" +msgstr "你關閉了閱讀燈。" #. ~ Description for reading light (active) #: lang/json/TOOL_from_json.py @@ -64827,49 +67821,6 @@ msgid "" "dynamite primer. The fuse has been lit - better run like hell!" msgstr "這個大金屬桶裝滿了銨油炸藥顆粒並裝置了雷管。它的引線已經被點燃了 - 要命的快逃!" -#: lang/json/TOOL_from_json.py -msgid "black gunpowder bomb" -msgid_plural "black gunpowder bombs" -msgstr[0] "黑火藥炸彈" - -#. ~ Use action msg for black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "" -"You light the fuse on the black gunpowder bomb. Throw it before it blows in" -" your face!" -msgstr "你點燃了黑火藥炸彈的引信。在它爆炸之前趕快丟出去!" - -#. ~ Description for black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a bit of " -"fuse sticking out of it." -msgstr "這是一個填滿黑火藥且在外面黏有引信的錫罐。" - -#: lang/json/TOOL_from_json.py -msgid "active black gunpowder bomb" -msgid_plural "active black gunpowder bombs" -msgstr[0] "啟動中黑火藥炸彈" - -#. ~ Use action no_deactivate_msg for active black gunpowder bomb. -#: lang/json/TOOL_from_json.py -msgid "You've already lit the fuse - throw it!" -msgstr "你已經點燃了引信, 丟出去!" - -#. ~ Use action sound_msg for active black gunpowder bomb. -#. ~ Use action sound_msg for active black gunpowder charge. -#. ~ Use action sound_msg for active RDX charge. -#: lang/json/TOOL_from_json.py -msgid "Kshhh." -msgstr "滋…" - -#. ~ Description for active black gunpowder bomb -#: lang/json/TOOL_from_json.py -msgid "" -"This is a tin can filled to the brim with black gunpowder and with a lit " -"fuse stuck inside of it." -msgstr "這是一個填滿黑火藥且有引信的錫罐。" - #: lang/json/TOOL_from_json.py msgid "black gunpowder charge" msgid_plural "black gunpowder charges" @@ -64886,9 +67837,8 @@ msgstr "你點燃了黑火藥炸藥包的引線。你最好盡快遠離它!" msgid "" "This is a home-made explosive device, consisting of a large plastic jug " "filled with black gunpowder and scrap metal, equipped with a long fuse. Use" -" this item to light the fuse. Should explode in a few minutes..." +" this item to light the fuse. Should explode in a few minutes…" msgstr "" -"這是一個自製的爆炸裝置, 由一個裝滿黑火藥和廢金屬的大塑料罐製成, 上面插著根長長的引線。使用這個物品以點燃引線, 大概在幾分鐘內就會爆炸…" #: lang/json/TOOL_from_json.py msgid "active black gunpowder charge" @@ -65016,11 +67966,13 @@ msgid_plural "torches" msgstr[0] "火炬" #. ~ Use action menu_text for torch. +#. ~ Use action menu_text for everburning torch. #: lang/json/TOOL_from_json.py msgid "Light torch" msgstr "點燃火炬" #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "You light the torch." msgstr "你點燃了火炬。" @@ -65034,6 +67986,7 @@ msgid "" msgstr "吸飽易燃物的布料纏繞在這大木棍上。點燃它可以發出一定的光源。只是你需要有個打火機或火柴才行。" #. ~ Use action msg for torch. +#. ~ Use action msg for everburning torch. #: lang/json/TOOL_from_json.py msgid "The torch is extinguished." msgstr "火炬熄滅了。" @@ -65380,46 +68333,6 @@ msgid "hobo stove" msgid_plural "hobo stoves" msgstr[0] "輕型柴爐" -#. ~ Use action msg for hobo stove. -#: lang/json/TOOL_from_json.py -msgid "The hobo stove is lit." -msgstr "" - -#. ~ Use action need_fire_msg for hobo stove. -#: lang/json/TOOL_from_json.py src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -msgid "You need a source of fire!" -msgstr "你需要一個火源!" - -#. ~ Description for hobo stove -#. ~ Description for hobo stove (lit) -#: lang/json/TOOL_from_json.py -msgid "" -"This is a small improvised wood stove, made from a metal can or similar " -"container of the right size. Useful for defrosting and reheating food, uses" -" simple tinder." -msgstr "" - -#: lang/json/TOOL_from_json.py -msgid "hobo stove (lit)" -msgid_plural "hobo stoves (lit)" -msgstr[0] "輕型柴爐 (點燃)" - -#. ~ Use action menu_text for hobo stove (lit). -#: lang/json/TOOL_from_json.py -msgid "Heat up food" -msgstr "加熱食物" - -#. ~ Use action msg for hobo stove (lit). -#: lang/json/TOOL_from_json.py src/iuse.cpp -msgid "You heat up the food." -msgstr "你加熱了食物。" - -#. ~ Use action msg for hobo stove (lit). -#. ~ Use action msg for ember carrier (lit). -#: lang/json/TOOL_from_json.py -msgid "The ember is extinguished." -msgstr "餘燼熄滅了。" - #: lang/json/TOOL_from_json.py msgid "ember carrier" msgid_plural "ember carriers" @@ -65430,6 +68343,11 @@ msgstr[0] "餘火裝載器" msgid "You light the tinder." msgstr "你點亮火種。" +#. ~ Use action need_charges_msg for ember carrier. +#: lang/json/TOOL_from_json.py +msgid "The ember carrier is out of tinder." +msgstr "餘火裝載器沒有火種。" + #. ~ Use action need_fire_msg for ember carrier. #: lang/json/TOOL_from_json.py msgid "You need a lighter or fire to light this." @@ -65581,9 +68499,9 @@ msgstr[0] "手抓鉤" #. ~ Description for grip hook #: lang/json/TOOL_from_json.py msgid "" -"A simple steel meathook with a circular steel handle. Makes a passable melee" -" weapon." -msgstr "一個簡單的鋼製肉鉤具有圓形鋼手柄。可以做為一把差強人意的近戰武器。" +"A simple steel meathook with a circular steel handle. Makes a passable " +"melee weapon." +msgstr "" #: lang/json/TOOL_from_json.py msgid "bathroom scale" @@ -65919,7 +68837,7 @@ msgstr "" #. ~ Description for inactive TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M16A4. Using this item " +"This is an inactive TALON UGV equipped with an M16A4. Using this item " "involves loading the unit with the factory-loaded 5.56x45mm rounds in your " "inventory (if you wish to divide your ammunition, set aside whatever " "5.56x45mm you do NOT want to give the robot) turning it on, and placing it " @@ -65927,8 +68845,6 @@ msgid "" "will then identify you as a friendly, roam around or follow you, and attack " "all enemies with its rifle." msgstr "" -"這台未啟動的 TALON 無人地面載具配備著 M16A4 。使用此物品時會從你的物品欄內裝填原廠的 5.56x45 mm " -"子彈(如果不想要所有子彈都用來裝填的話,可以把不想要被裝填的子彈先從物品欄內丟出),使用後把它放在地上就會啟動。如果改寫程式並重調線路成功的話,這台保全機器人會將你識別為友方,在附近漫遊或跟隨你,並以內建的步槍攻擊所有範圍內的敵人。" #: lang/json/TOOL_from_json.py msgid "inactive M202A1 TALON UGV" @@ -65938,7 +68854,7 @@ msgstr[0] "未啟動的 M202A1 TALON 無人地面載具" #. ~ Description for inactive M202A1 TALON UGV #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive TALON UGV equipped with an M202A1. Using this item " +"This is an inactive TALON UGV equipped with an M202A1. Using this item " "involves loading the unit with the M235 rockets in your inventory (if you " "wish to divide your ammunition, set aside whatever M235 rockets you do NOT " "want to give the robot) turning it on, and placing it on the ground. If " @@ -65946,10 +68862,6 @@ msgid "" "you as a friendly, roam around or follow you, and attack all enemies with " "its M202A1." msgstr "" -"這台未啟動的 TALON 無人地面載具配備著 M202A1 。使用此物品時會從你的物品欄內裝填 M235 " -"火箭(如果不想要所有火箭都用來裝填的話,可以把不想要被裝填的 M235 " -"火箭先從物品欄內丟出),使用後把它放在地上就會啟動。如果改寫程式並重調線路成功的話,這台保全機器人會將你識別為友方,在附近漫遊或跟隨你,並以內建的 " -"M202A1 攻擊所有範圍內的敵人。" #: lang/json/TOOL_from_json.py msgid "inactive nurse bot" @@ -66030,9 +68942,9 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "" "This is a deactivated broken cyborg, the last shreds of its humanity still " -"rotting away. Using this item involves placing it on the ground and " +"rotting away. Using this item involves placing it on the ground and " "reactivating its mechanical body. If reprogrammed and rewired successfully " -"the cyborg will then follow you and attack enemies. You monster." +"the cyborg will then follow you and attack enemies. You monster." msgstr "" #: lang/json/TOOL_from_json.py @@ -66082,7 +68994,7 @@ msgstr "" #. ~ Description for inactive chicken walker #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive chicken walker. Using this item involves placing it on " +"This is an inactive chicken walker. Using this item involves placing it on " "the ground, loading the unit with the factory-loaded 5.56 rounds and 40mm " "cartridge grenades in your inventory (if you wish to divide your ammunition," " set aside whatever ammunition you do NOT want to give the robot) and " @@ -66090,8 +69002,6 @@ msgid "" "will then identify you as a friendly, roam around or follow you, and attack " "all enemies with a built-in firearm and grenade launcher." msgstr "" -"未啟動的雙足步行機器人。使用此物品時會從你的物品欄內裝填原廠的 5.56 子彈與 40 mm " -"榴彈(如果不想要所有彈藥都用來裝填的話,可以把不想要被裝填的彈藥先從物品欄內丟出),使用後把它放在地上就會啟動。如果改寫程式並重調線路成功的話,這台鳥足機器人會將你識別為友方,在附近漫遊或跟隨你,並以內建的槍械與榴彈發射器攻擊所有範圍內的敵人。" #: lang/json/TOOL_from_json.py msgid "inactive police bot" @@ -66112,12 +69022,11 @@ msgstr "警用機器人準備逮捕你,警笛鳴叫、警燈狂閃。" #. ~ Description for inactive police bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive police robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive police robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "police bot will then identify you as law enforcement, roam around or follow " "you, and attempt to detain lawbreakers." msgstr "" -"未啟動的警用機器人。使用時放在地上並啟動它。如果改寫程式並重調線路成功的話,警察機器人會將你辨識為執法人員,在附近漫遊或跟隨你,並嘗試拘留違法者。" #: lang/json/TOOL_from_json.py msgid "inactive eyebot" @@ -66139,10 +69048,10 @@ msgstr "眼球機器人不以為然地發出嗶嗶聲,並且相機對焦在你 #. ~ Description for inactive eyebot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive eyebot. Using this item involves turning it on and " +"This is an inactive eyebot. Using this item involves turning it on and " "launching the UAV. If reprogrammed and rewired successfully the eyebot will" " then keep watch for intruders." -msgstr "未啟動的眼球機器人。把它開啟並啟動無人機。如果改寫程式並重調線路成功的話,眼球機器人會持續監視入侵者。" +msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive cleaner bot" @@ -66162,10 +69071,10 @@ msgstr "" #. ~ Description for inactive cleaner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive cleaner bot. Using this item involves placing it on the " -"ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive cleaner bot. Using this item involves placing it on the" +" ground and turning it on. If reprogrammed and rewired successfully the " "cleaner bot will respond to future commands." -msgstr "未啟動的清潔機器人。使用時放在地上並啟動它。如果改寫程式並重調線路成功的話,清潔機器人會回應接下來的命令。" +msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive miner bot" @@ -66185,8 +69094,8 @@ msgstr "" #. ~ Description for inactive miner bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive mining robot. Using this item involves placing it on the" -" ground and turning it on. If reprogrammed and rewired successfully the " +"This is an inactive mining robot. Using this item involves placing it on " +"the ground and turning it on. If reprogrammed and rewired successfully the " "miner bot will respond to future commands." msgstr "" @@ -66209,9 +69118,9 @@ msgstr "" #. ~ Description for inactive riot control bot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive riot control bot. Using this item involves placing it on" -" the ground and turning it on. If reprogrammed and rewired successfully the" -" robot will bring order and peace to the horde." +"This is an inactive riot control bot. Using this item involves placing it " +"on the ground and turning it on. If reprogrammed and rewired successfully " +"the robot will bring order and peace to the horde." msgstr "" #: lang/json/TOOL_from_json.py @@ -66232,10 +69141,10 @@ msgstr "爬蟲機器人在你周圍快速移動著,並且威脅性地按它的 #. ~ Description for inactive skitterbot #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive skitterbot. Using this item involves placing it on the " +"This is an inactive skitterbot. Using this item involves placing it on the " "ground and turning it on. If reprogrammed and rewired successfully the " "robot will race towards enemies and shock them." -msgstr "未啟動的爬蟲機器人。使用時放在地上並啟動它。如果改寫程式並重調線路成功的話,爬蟲機器人會跑向敵人並電擊它們。" +msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive lab defense bot" @@ -66284,7 +69193,7 @@ msgstr "" #. ~ Description for inactive tank drone #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " +"This is an inactive Beagle Mini-Tank UGV. Using this item involves placing " "it on the ground, loading the unit with the factory-loaded 5.56 rounds and " "40mm cartridge grenades in your inventory (if you wish to divide your " "ammunition, set aside whatever ammunition you do NOT want to give the robot)" @@ -66313,8 +69222,8 @@ msgstr "" #. ~ Description for inactive tripod #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive Honda Regnal. Using this item involves placing it on the" -" ground, wondering how it fuels its flamethrower and turning it on. If " +"This is an inactive Honda Regnal. Using this item involves placing it on " +"the ground, wondering how it fuels its flamethrower and turning it on. If " "reprogrammed and rewired successfully the tribot will then identify you as " "an ally, roam around or follow you, and impale hostiles with its spiked " "cable weapons." @@ -66339,13 +69248,12 @@ msgstr "當探照燈鎖定你之後,強烈的燈光讓你睜不開眼睛。" #. ~ Description for inactive milspec searchlight #: lang/json/TOOL_from_json.py msgid "" -"This is an inactive military-grade automated searchlight. Using this item " +"This is an inactive military-grade automated searchlight. Using this item " "involves placing it on the ground and turning it on. If reprogrammed and " "rewired successfully the searchlight will then identify you as an ally, " -"survey the area, and illuminate approaching hostiles. Seems to have an " +"survey the area, and illuminate approaching hostiles. Seems to have an " "unhealthy fascination with you." msgstr "" -"未啟動的軍事等級自動探照燈。使用時放在地上並啟動它。如果改寫程式並重調線路成功的話,探照燈會視你為盟友、掃描區域並且照亮接近的敵人。就像能賦予你病態的魅力一般。" #: lang/json/TOOL_from_json.py msgid "inactive dispatch" @@ -66658,8 +69566,8 @@ msgstr[0] "粗製戰鐮" msgid "" "This farming tool has been modified into an improvised weapon by rotating " "its blade 90 degrees, transforming it into a deadly giant blade on the end " -"of a stick. However it's quite fragile." -msgstr "這把農具把刀片旋轉 90度後變成了一把簡易的武器,致命的巨型刀片綁在長棍的前頭。然而,它非常脆弱。" +"of a stick. However it's quite fragile." +msgstr "" #: lang/json/TOOL_from_json.py msgid "spike on a stick" @@ -66750,6 +69658,20 @@ msgid "" " be deadly in either the right hands or when attached as a bayonet." msgstr "一把軍用戰鬥刀。非常輕又銳利, 在熟練的人手上相當致命。能夠當成刺刀使用。" +#: lang/json/TOOL_from_json.py +msgid "modified combat knife" +msgid_plural "modified combat knives" +msgstr[0] "" + +#. ~ Description for modified combat knife +#: lang/json/TOOL_from_json.py +msgid "" +"This is a military combat knife. It is light and extremely sharp, and could" +" be deadly in either the right hands or when attached as a bayonet. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hunting knife" msgid_plural "hunting knives" @@ -67059,6 +69981,20 @@ msgid "" " of a firearm or crossbow converting it into a pike." msgstr "劍刺刀是大型的砍殺武器, 能夠附掛在槍械或十字弓的前端作為長矛使用。" +#: lang/json/TOOL_from_json.py +msgid "modified sword bayonet" +msgid_plural "modified sword bayonets" +msgstr[0] "" + +#. ~ Description for modified sword bayonet +#: lang/json/TOOL_from_json.py +msgid "" +"A sword bayonet is a large slashing weapon that can be attached to the front" +" of a firearm or crossbow converting it into a pike. This one was modified " +"and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" + #. ~ Description for tanto #: lang/json/TOOL_from_json.py msgid "" @@ -67154,6 +70090,54 @@ msgid "" "light for its size." msgstr "由日本傳來的巨大雙手曲劍。重量卻出乎意料的輕。" +#: lang/json/TOOL_from_json.py +msgid "electrified foil" +msgid_plural "electrified foils" +msgstr[0] "" + +#. ~ Description for electrified foil +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing foil may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "electrified épée" +msgid_plural "electrified épées" +msgstr[0] "" + +#. ~ Description for electrified épée +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing épée may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired through the electronic scoring circuit to the tip. " +"Thrusting the sharpened tip into a foe and activating the momentary switch " +"will deliver a painful electric shock." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "electrified saber" +msgid_plural "electrified sabers" +msgstr[0] "" + +#. ~ Description for electrified saber +#: lang/json/TOOL_from_json.py +msgid "" +"The modifications made to this fencing saber may not be sporting, but they " +"might give you an edge in this final competition. Extra effort has been " +"made to insulate the grip and a high voltage stun gun has been attached to " +"the guard, wired to the tip along the saber's groove. Thrusting the " +"sharpened tip into a foe and activating the momentary switch will deliver a " +"painful electric shock." +msgstr "" + #. ~ Description for broadsword #: lang/json/TOOL_from_json.py msgid "" @@ -67486,6 +70470,32 @@ msgid "" "reinforce plastic items." msgstr "這是一個塑膠塊, 能用於製造、修理或強化塑膠製成的物品。" +#: lang/json/TOOL_from_json.py +msgid "synthetic fabric" +msgid_plural "synthetic fabrics" +msgstr[0] "合成纖維" + +#. ~ Description for synthetic fabric +#: lang/json/TOOL_from_json.py +msgid "" +"This is small bolt of synthetic fabric. Unlike you and other natural " +"materials, it won't degrade much with age. Maybe that's less of a bad thing" +" now." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "lycra patch" +msgid_plural "lycra patches" +msgstr[0] "萊卡補丁" + +#. ~ Description for lycra patch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small bolt of a synthetic fabric blended with stretchy lycra " +"fibers. It could be used to make flexible yet strong clothing. Stylish, " +"but bad for the environment; at least you're recycling it." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "hexamine stove" msgid_plural "hexamine stoves" @@ -67921,9 +70931,8 @@ msgstr[0] "雙向無線電" #: lang/json/TOOL_from_json.py msgid "" "This is a radio with a transmitting unit. You could use it to contact " -"someone who also has one. Unfortunately no one seems to use those " -"nowadays..." -msgstr "這是個裝有訊號傳送元件的無線電。你可以用它來聯繫其他擁有無線電的人。不幸的是, 現在似乎沒有人在用了…" +"someone who also has one. Unfortunately no one seems to use those nowadays…" +msgstr "這是個裝有訊號發送元件的無線電。你可以用它來聯繫其他擁有無線電的人。不幸的是,現在似乎沒有人在用了…" #: lang/json/TOOL_from_json.py msgid "remote vehicle controller" @@ -68077,7 +71086,7 @@ msgstr[0] "顯微鏡" #. ~ Description for microscope #: lang/json/TOOL_from_json.py msgid "" -"A classic tool for the ages! This hefty, durable piece of lab equipment " +"A classic tool for the ages! This hefty, durable piece of lab equipment " "makes small things look bigger. Without electricity the light doesn't work," " but the rest of it is surprisingly functional. Unfortunately it's not " "useful for very much at the moment." @@ -68260,7 +71269,7 @@ msgstr[0] "重型電纜" msgid "" "A long, thick, heavy-duty cable with power leads on either end. It looks " "like you could use it to hook up two vehicles to each other, though you " -"expect the power loss would be noticeable. Can also link other electrical " +"expect the power loss would be noticeable. Can also link other electrical " "systems." msgstr "" @@ -68622,14 +71631,112 @@ msgid "" " to a potato." msgstr "" +#: lang/json/TOOL_from_json.py +msgid "heat cube" +msgid_plural "heat cubes" +msgstr[0] "" + +#. ~ Use action menu_text for heat cube. +#: lang/json/TOOL_from_json.py +msgid "Activate torch mode" +msgstr "" + +#. ~ Use action msg for heat cube. +#: lang/json/TOOL_from_json.py +msgid "" +"You push the torch button and the cube emits a large flame from the top, one" +" that does radiate heat, but won't burn anything." +msgstr "" + +#. ~ Description for heat cube +#: lang/json/TOOL_from_json.py +msgid "" +"A smooth steel cube the size of your fist. Several buttons on the sides " +"activate the powers of the cube." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "heat cube (torch on)" +msgid_plural "heat cubes (torch on)" +msgstr[0] "" + +#. ~ Use action msg for heat cube (torch on). +#: lang/json/TOOL_from_json.py +msgid "The torch flame is extinguished." +msgstr "" + +#. ~ Description for heat cube (torch on) +#: lang/json/TOOL_from_json.py +msgid "" +"The heat cube in the torch configuration, where it emits warmth and a bright" +" flame that does not burn." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "skeleton key of opening" +msgid_plural "skeleton key of opening" +msgstr[0] "" + +#. ~ Description for skeleton key of opening +#: lang/json/TOOL_from_json.py +msgid "" +"A small gold skeleton key. You can activate it to unlock locked things." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "everburning torch" +msgid_plural "everburning torches" +msgstr[0] "" + +#. ~ Description for everburning torch +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality engraved wooden torch. On command, the tip bursts " +"into flame and produces a fair amount of light. It will burn forever." +msgstr "" + +#: lang/json/TOOL_from_json.py +msgid "enchanted tailor's kit" +msgid_plural "enchanted tailor's kits" +msgstr[0] "附魔裁縫工具" + +#. ~ Description for enchanted tailor's kit +#: lang/json/TOOL_from_json.py +msgid "" +"This is a high quality, engraved steel kit with a variety of needles, some " +"plastic spools for thread, some small scissors, even a small heating element" +" for melting and joining plastic. Use a tailor's kit to customize your " +"clothing and armor. This uses your tailoring skill. It also contains one " +"of those magic spiders that constantly, if slowly, makes new thread." +msgstr "" +"這是一個高品質的雕刻綱製工具盒,裝著各種針頭與一些纏繞縫線的塑膠線軸,一些小剪刀,甚至有小型的加熱元件,能夠融化與加工塑膠。使用裁縫工具能夠修改你的衣物與護甲。取決於你的裁縫技能。它也包含一隻魔法蜘蛛,會持續而緩慢地產出新的縫線。" + +#: lang/json/TOOL_from_json.py +msgid "spider box" +msgid_plural "spider boxes" +msgstr[0] "蜘蛛盒" + +#. ~ Description for spider box +#: lang/json/TOOL_from_json.py +msgid "" +"This is a small glass box that contains a spider that diligently works day " +"and night to produce silk thread that it stores in a reservoir you can open " +"and retrieve it from." +msgstr "" + #: lang/json/TOOL_from_json.py msgid "Magic Wand" msgid_plural "Magic Wands" msgstr[0] "魔杖" +#: lang/json/TOOL_from_json.py +msgid "Disposable Wand" +msgid_plural "Disposable Wands" +msgstr[0] "一次性魔杖" + #: lang/json/TOOL_from_json.py msgid "minor wand of magic missile" -msgid_plural "minor wand of magic missiles" +msgid_plural "minor wands of magic missile" msgstr[0] "魔法飛彈劣質魔杖" #. ~ Description for minor wand of magic missile @@ -68643,17 +71750,17 @@ msgstr "一根細長的木製魔杖,底部有一個法力水晶插孔,可以 #: lang/json/TOOL_from_json.py msgid "lesser wand of magic missile" -msgid_plural "lesser wand of magic missiles" +msgid_plural "lesser wands of magic missile" msgstr[0] "魔法飛彈次級魔杖" #: lang/json/TOOL_from_json.py msgid "greater wand of magic missile" -msgid_plural "greater wand of magic missiles" +msgid_plural "greater wands of magic missile" msgstr[0] "魔法飛彈高級魔杖" #: lang/json/TOOL_from_json.py msgid "minor wand of fireball" -msgid_plural "minor wand of fireballs" +msgid_plural "minor wands of fireball" msgstr[0] "火球術劣質魔杖" #. ~ Description for minor wand of fireball @@ -68667,17 +71774,17 @@ msgstr "一根細長的木製魔杖,底部有一個法力水晶插孔,可以 #: lang/json/TOOL_from_json.py msgid "lesser wand of fireball" -msgid_plural "lesser wand of fireballs" +msgid_plural "lesser wands of fireball" msgstr[0] "火球術次級魔杖" #: lang/json/TOOL_from_json.py msgid "greater wand of fireball" -msgid_plural "greater wand of fireballs" +msgid_plural "greater wands of fireball" msgstr[0] "火球術高級魔杖" #: lang/json/TOOL_from_json.py msgid "minor wand of mana beam" -msgid_plural "minor wand of mana beams" +msgid_plural "minor wands of mana beam" msgstr[0] "魔力射線劣質魔杖" #. ~ Description for minor wand of mana beam @@ -68691,17 +71798,17 @@ msgstr "一根細長的木製魔杖,底部有一個法力水晶插孔,可以 #: lang/json/TOOL_from_json.py msgid "lesser wand of mana beam" -msgid_plural "lesser wand of mana beams" +msgid_plural "lesser wands of mana beam" msgstr[0] "魔力射線次級魔杖" #: lang/json/TOOL_from_json.py msgid "greater wand of mana beam" -msgid_plural "greater wand of mana beams" +msgid_plural "greater wands of mana beam" msgstr[0] "魔力射線高級魔杖" #: lang/json/TOOL_from_json.py msgid "minor wand of point flare" -msgid_plural "minor wand of point flares" +msgid_plural "minor wands of point flare" msgstr[0] "定點驟燃劣質魔杖" #. ~ Description for minor wand of point flare @@ -68715,41 +71822,41 @@ msgstr "一根細長的木製魔杖,底部有一個法力水晶插孔,可以 #: lang/json/TOOL_from_json.py msgid "lesser wand of point flare" -msgid_plural "lesser wand of point flares" +msgid_plural "lesser wands of point flare" msgstr[0] "定點驟燃次級魔杖" #: lang/json/TOOL_from_json.py msgid "greater wand of point flare" -msgid_plural "greater wand of point flares" +msgid_plural "greater wands of point flare" msgstr[0] "定點驟燃高級魔杖" #: lang/json/TOOL_from_json.py -msgid "minor wand of iceball" -msgid_plural "minor wand of iceballs" -msgstr[0] "冰球術劣質魔杖" +msgid "minor wand of hoary blast" +msgid_plural "minor wands of hoary blast" +msgstr[0] "蒼白爆破劣質魔杖" -#. ~ Description for minor wand of iceball -#. ~ Description for lesser wand of iceball -#. ~ Description for greater wand of iceball +#. ~ Description for minor wand of hoary blast +#. ~ Description for lesser wand of hoary blast +#. ~ Description for greater wand of hoary blast #: lang/json/TOOL_from_json.py msgid "" "A slender wooden wand with a mana crystal socket at the base that casts a " -"spell when activated. This wand casts iceball." -msgstr "一根細長的木製魔杖,底部有一個法力水晶插孔,可以在啟動時施放法術。這根魔杖能施展冰球術。" +"spell when activated. This wand casts hoary blast." +msgstr "一根細長的木製魔杖,底部有一個法力水晶插孔,可以在啟動時施放法術。這根魔杖能施展蒼白爆破。" #: lang/json/TOOL_from_json.py -msgid "lesser wand of iceball" -msgid_plural "lesser wand of iceballs" -msgstr[0] "冰球術次級魔杖" +msgid "lesser wand of hoary blast" +msgid_plural "lesser wands of hoary blast" +msgstr[0] "蒼白爆破次級魔杖" #: lang/json/TOOL_from_json.py -msgid "greater wand of iceball" -msgid_plural "greater wand of iceballs" -msgstr[0] "冰球術高級魔杖" +msgid "greater wand of hoary blast" +msgid_plural "greater wands of hoary blast" +msgstr[0] "蒼白爆破高級魔杖" #: lang/json/TOOL_from_json.py msgid "minor wand of cone of cold" -msgid_plural "minor wand of cone of colds" +msgid_plural "minor wands of cone of cold" msgstr[0] "冷錐術劣質魔杖" #. ~ Description for minor wand of cone of cold @@ -68763,14 +71870,158 @@ msgstr "一根細長的木製魔杖,底部有一個法力水晶插孔,可以 #: lang/json/TOOL_from_json.py msgid "lesser wand of cone of cold" -msgid_plural "lesser wand of cone of colds" +msgid_plural "lesser wands of cone of cold" msgstr[0] "冷錐術次級魔杖" #: lang/json/TOOL_from_json.py msgid "greater wand of cone of cold" -msgid_plural "greater wand of cone of colds" +msgid_plural "greater wands of cone of cold" msgstr[0] "冷錐術高級魔杖" +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of magic missile" +msgid_plural "disposable minor wands of magic missile" +msgstr[0] "一次性的魔法飛彈劣質魔杖" + +#. ~ Description for disposable minor wand of magic missile +#. ~ Description for disposable lesser wand of magic missile +#. ~ Description for disposable greater wand of magic missile +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts magic missile." +msgstr "一根細長的木製魔杖,底部嵌有的法力水晶,可以在啟動時施放法術。這根魔杖能施展魔法飛彈。" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of magic missile" +msgid_plural "disposable lesser wands of magic missile" +msgstr[0] "一次性的魔法飛彈次級魔杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of magic missile" +msgid_plural "disposable greater wands of magic missile" +msgstr[0] "一次性的魔法飛彈高級魔杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of fireball" +msgid_plural "disposable minor wands of fireball" +msgstr[0] "一次性的火球術劣質魔杖" + +#. ~ Description for disposable minor wand of fireball +#. ~ Description for disposable lesser wand of fireball +#. ~ Description for disposable greater wand of fireball +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts fireball." +msgstr "一根細長的木製魔杖,底部嵌有的法力水晶,可以在啟動時施放法術。這根魔杖能施展火球術。" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of fireball" +msgid_plural "disposable lesser wands of fireball" +msgstr[0] "一次性的火球術次級魔杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of fireball" +msgid_plural "disposable greater wands of fireball" +msgstr[0] "一次性的火球術高級魔杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of mana beam" +msgid_plural "disposable minor wands of mana beam" +msgstr[0] "一次性的魔力射線劣質魔杖" + +#. ~ Description for disposable minor wand of mana beam +#. ~ Description for disposable lesser wand of mana beam +#. ~ Description for disposable greater wand of mana beam +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts mana beam." +msgstr "一根細長的木製魔杖,底部嵌有的法力水晶,可以在啟動時施放法術。這根魔杖能施展魔力射線。" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of mana beam" +msgid_plural "disposable lesser wands of mana beam" +msgstr[0] "一次性的魔力射線次級魔杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of mana beam" +msgid_plural "disposable greater wands of mana beam" +msgstr[0] "一次性的魔力射線高級魔杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of point flare" +msgid_plural "disposable minor wands of point flare" +msgstr[0] "一次性的定點驟燃劣質魔杖" + +#. ~ Description for disposable minor wand of point flare +#. ~ Description for disposable lesser wand of point flare +#. ~ Description for disposable greater wand of point flare +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts point flare." +msgstr "一根細長的木製魔杖,底部嵌有的法力水晶,可以在啟動時施放法術。這根魔杖能施展定點驟燃。" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of point flare" +msgid_plural "disposable lesser wands of point flare" +msgstr[0] "一次性的定點驟燃次級魔杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of point flare" +msgid_plural "disposable greater wands of point flare" +msgstr[0] "一次性的定點驟燃高級魔杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of hoary blast" +msgid_plural "disposable minor wands of hoary blast" +msgstr[0] "一次性的蒼白爆破劣質魔杖" + +#. ~ Description for disposable minor wand of hoary blast +#. ~ Description for disposable lesser wand of hoary blast +#. ~ Description for disposable greater wand of hoary blast +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts hoary blast." +msgstr "一根細長的木製魔杖,底部嵌有的法力水晶,可以在啟動時施放法術。這根魔杖能施展蒼白爆破。" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of hoary blast" +msgid_plural "disposable lesser wands of hoary blast" +msgstr[0] "一次性的蒼白爆破次級魔杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of hoary blast" +msgid_plural "disposable greater wands of hoary blast" +msgstr[0] "一次性的蒼白爆破高級魔杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable minor wand of cone of cold" +msgid_plural "disposable minor wands of cone of cold" +msgstr[0] "一次性的冷錐術劣質魔杖" + +#. ~ Description for disposable minor wand of cone of cold +#. ~ Description for disposable lesser wand of cone of cold +#. ~ Description for disposable greater wand of cone of cold +#: lang/json/TOOL_from_json.py +msgid "" +"A slender wooden wand with an embedded mana crystal at the base that casts a" +" spell when activated. This wand casts cone of cold." +msgstr "一根細長的木製魔杖,底部嵌有的法力水晶,可以在啟動時施放法術。這根魔杖能施展冷錐術。" + +#: lang/json/TOOL_from_json.py +msgid "disposable lesser wand of cone of cold" +msgid_plural "disposable lesser wands of cone of cold" +msgstr[0] "一次性的冷錐術次級魔杖" + +#: lang/json/TOOL_from_json.py +msgid "disposable greater wand of cone of cold" +msgid_plural "disposable greater wands of cone of cold" +msgstr[0] "一次性的冷錐術高級魔杖" + #: lang/json/TOOL_from_json.py msgid "owlbear gastrolith" msgid_plural "owlbear gastroliths" @@ -68847,7 +72098,7 @@ msgstr "這顆魔法的小石子上有發條和齒輪的徽章。科技巫師將 #: lang/json/TOOL_from_json.py msgid "Magus rune" -msgid_plural "Magus runes" +msgid_plural "Magi runes" msgstr[0] "祆教徒符文" #. ~ Description for Magus rune @@ -68977,7 +72228,7 @@ msgstr "這細粉微微發光,越來越亮" #: lang/json/TOOL_from_json.py msgid "wand of fireballs" -msgid_plural "wand of fireballss" +msgid_plural "wands of fireball" msgstr[0] "火球術魔杖" #. ~ Description for wand of fireballs @@ -68989,7 +72240,7 @@ msgstr "這是一款經典的魔杖,可以不失誤地施展火球術。技藝 #: lang/json/TOOL_from_json.py msgid "wand of magic missiles" -msgid_plural "wand of magic missiless" +msgid_plural "wands of magic missile" msgstr[0] "魔法飛彈魔杖" #. ~ Description for wand of magic missiles @@ -69138,7 +72389,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive military needle turret" msgid_plural "inactive military needle turrets" -msgstr[0] "" +msgstr[0] "未啟動的軍用鋼鏢砲塔" #. ~ Description for inactive military needle turret #: lang/json/TOOL_from_json.py @@ -69223,7 +72474,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive advanced railgun turret" msgid_plural "inactive advanced railgun turrets" -msgstr[0] "" +msgstr[0] "未啟動的先進磁軌砲砲塔" #. ~ Description for inactive advanced railgun turret #: lang/json/TOOL_from_json.py @@ -69264,7 +72515,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive advanced electro turret" msgid_plural "inactive advanced electro turrets" -msgstr[0] "" +msgstr[0] "未啟動的先進電子砲塔" #. ~ Description for inactive advanced electro turret #: lang/json/TOOL_from_json.py @@ -69277,7 +72528,7 @@ msgstr "" #: lang/json/TOOL_from_json.py lang/json/furniture_from_json.py msgid "garden gnome" msgid_plural "garden gnomes" -msgstr[0] "" +msgstr[0] "花園地侏" #. ~ Description for garden gnome #: lang/json/TOOL_from_json.py @@ -69289,7 +72540,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "gaurdin gnome" msgid_plural "gaurdin gnomes" -msgstr[0] "" +msgstr[0] "守衛地侏" #. ~ Description for gaurdin gnome #: lang/json/TOOL_from_json.py @@ -69392,11 +72643,6 @@ msgid "" "This is a stick that has been cut into a trigger mechanism for a snare trap." msgstr "一根木材被削成繩套陷阱的觸發裝置。" -#: lang/json/TOOL_from_json.py -msgid "Laevateinn" -msgid_plural "Laevateinns" -msgstr[0] "勝利之劍" - #. ~ Description for Laevateinn #: lang/json/TOOL_from_json.py msgid "" @@ -69438,17 +72684,17 @@ msgstr[0] "未啟動的無人機" #: lang/json/TOOL_from_json.py msgid "inactive floating lantern" msgid_plural "inactive floating lanterns" -msgstr[0] "" +msgstr[0] "未啟動的懸浮燈籠" #. ~ Use action friendly_msg for inactive floating lantern. #: lang/json/TOOL_from_json.py msgid "The floating lantern flies from your hand and lights up the area!" -msgstr "" +msgstr "懸浮燈籠從你手中飛出,開始照亮區域。" #. ~ Use action hostile_msg for inactive floating lantern. #: lang/json/TOOL_from_json.py msgid "You misprogram the lantern." -msgstr "" +msgstr "你把懸浮燈籠的程式搞亂了。" #. ~ Description for inactive floating lantern #: lang/json/TOOL_from_json.py @@ -69462,17 +72708,17 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive distract-o-hack" msgid_plural "inactive distract-o-hacks" -msgstr[0] "" +msgstr[0] "未啟動的誘餌無人機" #. ~ Use action friendly_msg for inactive distract-o-hack. #: lang/json/TOOL_from_json.py msgid "The distract-o-hack flies from your hand and begins sparking!" -msgstr "" +msgstr "誘餌無人機從你的手中飛出,開始發出火花。" #. ~ Use action hostile_msg for inactive distract-o-hack. #: lang/json/TOOL_from_json.py msgid "You misprogram the distract-o-hack!" -msgstr "" +msgstr "你把誘餌無人機的程式搞亂了。" #. ~ Description for inactive distract-o-hack #: lang/json/TOOL_from_json.py @@ -69486,17 +72732,17 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive arson hack" msgid_plural "inactive arson hacks" -msgstr[0] "" +msgstr[0] "未啟動的縱火無人機" #. ~ Use action friendly_msg for inactive arson hack. #: lang/json/TOOL_from_json.py msgid "The arson hack flies from your hand! Get clear!" -msgstr "" +msgstr "縱火無人機從你的手中飛出!保持距離!" #. ~ Use action hostile_msg for inactive arson hack. #: lang/json/TOOL_from_json.py msgid "You misprogram the arson hack! Run!" -msgstr "" +msgstr "你把縱火無人機的程式搞亂了!快跑!" #. ~ Description for inactive arson hack #: lang/json/TOOL_from_json.py @@ -69511,17 +72757,17 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive spore hack" msgid_plural "inactive spore hacks" -msgstr[0] "" +msgstr[0] "未啟動的孢子無人機" #. ~ Use action friendly_msg for inactive spore hack. #: lang/json/TOOL_from_json.py msgid "The spore hack flies from your hand!" -msgstr "" +msgstr "孢子無人機從你的手中飛出!" #. ~ Use action hostile_msg for inactive spore hack. #: lang/json/TOOL_from_json.py msgid "You misprogram the spore hack!" -msgstr "" +msgstr "你把孢子無人機的程式搞亂了。" #. ~ Description for inactive spore hack #: lang/json/TOOL_from_json.py @@ -69607,7 +72853,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive slime breeder" msgid_plural "inactive slime breeders" -msgstr[0] "" +msgstr[0] "未啟動的黏液飼養器" #. ~ Description for inactive slime breeder #: lang/json/TOOL_from_json.py @@ -69621,7 +72867,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive digestron" msgid_plural "inactive digestrons" -msgstr[0] "" +msgstr[0] "未啟動的烹飪機器人" #. ~ Description for inactive digestron #: lang/json/TOOL_from_json.py @@ -69635,7 +72881,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive bee-bot" msgid_plural "inactive bee-bots" -msgstr[0] "" +msgstr[0] "未啟動的蜜蜂機器人" #. ~ Description for inactive bee-bot #: lang/json/TOOL_from_json.py @@ -69650,12 +72896,12 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive medibot" msgid_plural "inactive medibots" -msgstr[0] "" +msgstr[0] "未啟動的醫療機器人" #: lang/json/TOOL_from_json.py msgid "inactive assassin robot" msgid_plural "inactive assassin robots" -msgstr[0] "" +msgstr[0] "未啟動的暗殺機器人" #. ~ Description for inactive assassin robot #: lang/json/TOOL_from_json.py @@ -69668,7 +72914,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive elixirator" msgid_plural "inactive elixirators" -msgstr[0] "" +msgstr[0] "未啟動的煉藥機器人" #. ~ Description for inactive elixirator #: lang/json/TOOL_from_json.py @@ -69680,7 +72926,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive party bot" msgid_plural "inactive party bots" -msgstr[0] "" +msgstr[0] "未啟動的派對機器人" #. ~ Description for inactive party bot #: lang/json/TOOL_from_json.py @@ -69693,7 +72939,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive rat snatcher" msgid_plural "inactive rat snatchers" -msgstr[0] "" +msgstr[0] "未啟動的捕鼠者" #. ~ Description for inactive rat snatcher #: lang/json/TOOL_from_json.py @@ -69706,7 +72952,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive grab-bot" msgid_plural "inactive grab-bots" -msgstr[0] "" +msgstr[0] "未啟動的抓鉤機器人" #. ~ Description for inactive grab-bot #: lang/json/TOOL_from_json.py @@ -69718,7 +72964,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive pest hunter" msgid_plural "inactive pest hunters" -msgstr[0] "" +msgstr[0] "未啟動的害蟲獵手" #. ~ Description for inactive pest hunter #: lang/json/TOOL_from_json.py @@ -69730,12 +72976,12 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive cyborg" msgid_plural "inactive cyborgs" -msgstr[0] "" +msgstr[0] "未啟動的生化人" #: lang/json/TOOL_from_json.py msgid "inactive necrotic cyborg" msgid_plural "inactive necrotic cyborgs" -msgstr[0] "" +msgstr[0] "未啟動的壞死生化人" #. ~ Description for inactive necrotic cyborg #: lang/json/TOOL_from_json.py @@ -69748,12 +72994,12 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive defense robot" msgid_plural "inactive defense robots" -msgstr[0] "" +msgstr[0] "未啟動的防禦機器人" #: lang/json/TOOL_from_json.py msgid "inactive junkyard cowboy" msgid_plural "inactive junkyard cowboys" -msgstr[0] "" +msgstr[0] "未啟動的垃圾場牛仔" #. ~ Description for inactive junkyard cowboy #: lang/json/TOOL_from_json.py @@ -69766,7 +73012,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive shortcircuit samurai" msgid_plural "inactive shortcircuit samurais" -msgstr[0] "" +msgstr[0] "未啟動的秀斗武士" #. ~ Description for inactive shortcircuit samurai #: lang/json/TOOL_from_json.py @@ -69778,7 +73024,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive slapdash paladin" msgid_plural "inactive slapdash paladins" -msgstr[0] "" +msgstr[0] "未啟動的速成聖騎士" #. ~ Description for inactive slapdash paladin #: lang/json/TOOL_from_json.py @@ -69791,7 +73037,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive military robot" msgid_plural "inactive military robots" -msgstr[0] "" +msgstr[0] "未啟動的軍用機器人" #. ~ Description for inactive military robot #: lang/json/TOOL_from_json.py @@ -69804,7 +73050,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive robo-guardian" msgid_plural "inactive robo-guardians" -msgstr[0] "" +msgstr[0] "未啟動的機械守衛" #. ~ Description for inactive robo-guardian #: lang/json/TOOL_from_json.py @@ -69817,7 +73063,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive robote deluxe" msgid_plural "inactive robote deluxes" -msgstr[0] "" +msgstr[0] "未啟動的豪華機器人" #. ~ Description for inactive robote deluxe #: lang/json/TOOL_from_json.py @@ -69831,7 +73077,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive robo-protector" msgid_plural "inactive robo-protectors" -msgstr[0] "" +msgstr[0] "未啟動的機械保衛者" #. ~ Description for inactive robo-protector #: lang/json/TOOL_from_json.py @@ -69844,7 +73090,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive robo-defender" msgid_plural "inactive robo-defenders" -msgstr[0] "" +msgstr[0] "未啟動的機械防禦者" #. ~ Description for inactive robo-defender #: lang/json/TOOL_from_json.py @@ -69856,12 +73102,12 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive advanced robot" msgid_plural "inactive advanced robots" -msgstr[0] "" +msgstr[0] "未啟動的先進機器人" #: lang/json/TOOL_from_json.py msgid "inactive glittering lady" msgid_plural "inactive glittering ladys" -msgstr[0] "" +msgstr[0] "未啟動的閃爍女士" #. ~ Description for inactive glittering lady #: lang/json/TOOL_from_json.py @@ -69874,7 +73120,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive bitter spinster" msgid_plural "inactive bitter spinsters" -msgstr[0] "" +msgstr[0] "未啟動的苦澀敗犬" #. ~ Description for inactive bitter spinster #: lang/json/TOOL_from_json.py @@ -69892,7 +73138,7 @@ msgstr[0] "未啟動的雙足步行機器人" #: lang/json/TOOL_from_json.py msgid "inactive chainsaw horror" msgid_plural "inactive chainsaw horrors" -msgstr[0] "" +msgstr[0] "未啟動的恐怖電鋸" #. ~ Description for inactive chainsaw horror #: lang/json/TOOL_from_json.py @@ -69906,7 +73152,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive screeching terror" msgid_plural "inactive screeching terrors" -msgstr[0] "" +msgstr[0] "未啟動的尖嘯恐懼" #. ~ Description for inactive screeching terror #: lang/json/TOOL_from_json.py @@ -69920,7 +73166,7 @@ msgstr "" #: lang/json/TOOL_from_json.py msgid "inactive hooked nightmare" msgid_plural "inactive hooked nightmares" -msgstr[0] "" +msgstr[0] "未啟動的沉醉夢魘" #. ~ Description for inactive hooked nightmare #: lang/json/TOOL_from_json.py @@ -69939,7 +73185,7 @@ msgstr[0] "未啟動的坦克機器人" #: lang/json/TOOL_from_json.py msgid "inactive fist king" msgid_plural "inactive fist kings" -msgstr[0] "" +msgstr[0] "未啟動的拳王" #. ~ Description for inactive fist king #. ~ Description for inactive atomic sultan @@ -69963,12 +73209,12 @@ msgstr[0] "" #. ~ Use action msg for active glowball. #: lang/json/TOOL_from_json.py msgid "The glowball goes dim." -msgstr "" +msgstr "螢光球變暗了。" #. ~ Description for active glowball #: lang/json/TOOL_from_json.py msgid "A small plastic ball filled with glowing chemicals." -msgstr "" +msgstr "一個小塑膠球裝滿了發光的化學物質。" #: lang/json/TOOL_from_json.py msgid "growing blob frame" @@ -70021,7 +73267,7 @@ msgstr[0] "成長中的角質團塊" #. ~ Use action msg for growing electrified mass. #: lang/json/TOOL_from_json.py msgid "The blob balloons to full size." -msgstr "" +msgstr "團塊膨脹到了成熟尺寸。" #. ~ Use action not_ready_msg for growing keratinous mass. #. ~ Use action not_ready_msg for growing beaded mass. @@ -70489,6 +73735,17 @@ msgid "" " terribly when not on a rail." msgstr "堅固的軌道用輪胎。有著適合在軌道上運行的輪緣,但一旦脫離軌道就表現不佳。" +#: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py +msgid "pair of small rail wheels" +msgstr "" + +#. ~ Description for pair of small rail wheels +#: lang/json/WHEEL_from_json.py +msgid "" +"A pair of small rail wheels. It fits small railroad rails found in places " +"like amusement parks. Mostly for hobby purposes rather then transportation." +msgstr "" + #: lang/json/WHEEL_from_json.py lang/json/vehicle_part_from_json.py msgid "motorbike wheel" msgstr "機車輪胎" @@ -70688,7 +73945,7 @@ msgstr "" #: lang/json/WHEEL_from_json.py msgid "Rubber Caterpillar Track" -msgstr "" +msgstr "橡膠履帶" #. ~ Description for Rubber Caterpillar Track #: lang/json/WHEEL_from_json.py @@ -70701,7 +73958,7 @@ msgstr "" #: lang/json/WHEEL_from_json.py msgid "Steel Caterpillar Track" -msgstr "" +msgstr "鋼鐵履帶" #. ~ Description for Steel Caterpillar Track #: lang/json/WHEEL_from_json.py @@ -70714,7 +73971,7 @@ msgstr "" #: lang/json/WHEEL_from_json.py msgid "Reinforced Caterpillar Track" -msgstr "" +msgstr "強化履帶" #. ~ Description for Reinforced Caterpillar Track #: lang/json/WHEEL_from_json.py @@ -70731,7 +73988,7 @@ msgstr "重新裝填" #: lang/json/activity_type_from_json.py msgid "finding a mount" -msgstr "" +msgstr "正在尋找坐騎" #: lang/json/activity_type_from_json.py msgid "reading" @@ -70845,6 +74102,10 @@ msgstr "砸爛" msgid "cranking" msgstr "轉動曲柄" +#: lang/json/activity_type_from_json.py +msgid "heating" +msgstr "" + #: lang/json/activity_type_from_json.py msgid "de-stressing" msgstr "紓壓" @@ -71079,7 +74340,7 @@ msgstr "吃藥" #: lang/json/activity_type_from_json.py msgid "using the mind splicer" -msgstr "" +msgstr "正在使用心靈編結器" #: lang/json/activity_type_from_json.py msgid "hacking console" @@ -71127,7 +74388,7 @@ msgstr "小石子" #: lang/json/ammunition_type_from_json.py msgid "shotcanisters" -msgstr "" +msgstr "射彈罐" #: lang/json/ammunition_type_from_json.py msgid "shot" @@ -71478,7 +74739,7 @@ msgstr "合金鋼鐵 - 手臂" #. ~ Description for Alloy Plating - Arms #: lang/json/bionic_from_json.py msgid "" -"The flesh on your arms has been surgically replaced by alloy plating. " +"The flesh on your arms has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" @@ -71513,7 +74774,7 @@ msgstr "合金鋼鐵 - 腿部" #. ~ Description for Alloy Plating - Legs #: lang/json/bionic_from_json.py msgid "" -"The flesh on your legs has been surgically replaced by alloy plating. " +"The flesh on your legs has been surgically replaced by alloy plating. " "Provides passive protection and can be used in conjunction with bionic " "martial arts." msgstr "" @@ -71811,15 +75072,20 @@ msgstr "酒精發電器" #. ~ Description for Ethanol Burner #: lang/json/bionic_from_json.py -msgid "" -"You burn alcohol as fuel in an extremely efficient reaction. However, you " -"will still suffer the inebriating effects of the substance." -msgstr "你能夠以極有效率的方式燃燒酒精來發電。然而你仍然會受到酒精的不良影響。" +msgid "You burn alcohol as fuel in an extremely efficient reaction." +msgstr "" #: lang/json/bionic_from_json.py msgid "Aero-Evaporator" msgstr "濕氣凝水裝置" +#. ~ Description for Aero-Evaporator +#: lang/json/bionic_from_json.py +msgid "" +"This unit draws moisture from the surrounding air, which slowly trickles " +"directly into your blood stream. It may fail in very dry environments." +msgstr "" + #: lang/json/bionic_from_json.py msgid "Diamond Cornea" msgstr "鑽石角膜" @@ -71916,7 +75182,7 @@ msgid "" "You don't think that capacitor is *meant* to glow, but it does, and usually " "at bad times. A malfunctioning bionic randomly turns on and off, causing " "you to glow and making you visible in the dark without improving how much " -"you can see in the slighest." +"you can see in the slightest." msgstr "" #: lang/json/bionic_from_json.py @@ -72056,10 +75322,10 @@ msgstr "" "你裝置了能夠刺激白血球生長的造血系統, 讓你能消耗生化能量來加快體內白血球的製造。這個系統需要持續運行, 在關閉時可能會導致不愉快的副作用。" #: lang/json/bionic_from_json.py -msgid "Mini-Flamethrower" -msgstr "迷你噴火器" +msgid "Finger Lighter" +msgstr "" -#. ~ Description for Mini-Flamethrower +#. ~ Description for Finger Lighter #: lang/json/bionic_from_json.py msgid "" "The index fingers of both hands have powerful fire starters which extend " @@ -72086,9 +75352,9 @@ msgstr "電磁元件" #: lang/json/bionic_from_json.py msgid "" "Surgically embedded in your right hand is a powerful electromagnet, allowing" -" you to indiscriminately pull all nearby magnetic objects towards you. " -"Unlucky bystanders might be injured or killed by flying objects." -msgstr "你右手通過手術植入了強力的電池鐵,能夠將所有靠近你的磁性物體無差別地全吸向你。倒楣的旁觀者可能會被這些飛行的物件傷害或甚至殺死。" +" you to use your own strength to pull all nearby magnetic objects towards " +"you. Unlucky bystanders might be injured or killed by flying objects." +msgstr "" #: lang/json/bionic_from_json.py msgid "Nictating Membrane" @@ -72148,14 +75414,21 @@ msgstr "奈米機器人修復器" #: lang/json/bionic_from_json.py msgid "" "Inside your body is a fleet of tiny dormant robots. While activated they " -"will flit about your body, repairing damage at 1 HP/s and stopping bleeding " -"at the cost of power." +"will flit about your body, repairing damage at 1 HP per minute and stopping " +"bleeding at the cost of extra power and stored calories." msgstr "" #: lang/json/bionic_from_json.py msgid "Artificial Night Generator" msgstr "黑夜產生器" +#. ~ Description for Artificial Night Generator +#: lang/json/bionic_from_json.py +msgid "" +"When active, this bionic eliminates all light within a 2 tile radius through" +" destructive interference." +msgstr "" + #: lang/json/bionic_from_json.py msgid "Implanted Night Vision" msgstr "植入式夜視儀" @@ -72178,8 +75451,8 @@ msgstr "一個故障的生化插件。偶爾會產生 你在大聲甚麼啦 的 msgid "" "You're really not sure how the CBM ended up in your nose, but no matter how " "it got there this badly misplaced bionic makes it difficult to breathe. " -"Increases mouth encumbrance by one." -msgstr "你真的不知道為什麼最後這個生化插件會跑去你的鼻子, 不管怎樣, 這個東西讓你很不好呼吸。增加嘴巴累贅 1 點。" +"Increases mouth encumbrance by ten." +msgstr "" #: lang/json/bionic_from_json.py msgid "Offensive Defense System" @@ -72209,7 +75482,7 @@ msgstr "你的神經系統能夠依照你的意志忽略疼痛, 關閉感官。 #: lang/json/bionic_from_json.py msgid "" "Due to a badly misplaced dielectric stylette, you are now suffering from " -"mild optic neuropathy. Increases eye encumbrance by one." +"mild optic neuropathy. Increases eye encumbrance by ten." msgstr "" #: lang/json/bionic_from_json.py @@ -72242,11 +75515,10 @@ msgstr "能量儲存室" #. ~ Description for Power Storage #: lang/json/bionic_from_json.py msgid "" -"A Compact Bionics Module that increases your power capacity by 100 units. " +"A Compact Bionics Module that increases your power capacity by 100 kJ. " "Having at least one of these is a prerequisite to using powered bionics. " "You will also need a power supply, found in various CBMs." msgstr "" -"這個整合型生化插件模組能夠增加你的能量儲存容量 100 個單位。至少要有一個這種插件才能驅動其他生化插件。你也需要一個能夠供給能量的生化插件。" #: lang/json/bionic_from_json.py msgid "Power Storage Mk. II" @@ -72254,9 +75526,8 @@ msgstr "能量儲存室 Mk. II" #. ~ Description for Power Storage Mk. II #: lang/json/bionic_from_json.py -msgid "" -"A Compact Bionics Module that increases your power capacity by 250 units." -msgstr "這個整合型生化插件模組能夠增加你的能量儲存容量 250 個單位。" +msgid "A Compact Bionics Module that increases your power capacity by 250 kJ." +msgstr "" #. ~ Description for Power Overload #: lang/json/bionic_from_json.py @@ -72528,8 +75799,8 @@ msgstr "這個實驗性的插件能夠把空間折疊, 消耗大量的能量, msgid "" "Self-locking thumbs hold tight (even when you really don't want them to) and" " don't let go (even when you'd rather they did). Increases hand encumbrance" -" by two, while failing to improve your ability to hold objects whatsoever." -msgstr "自鎖大拇指會在你無法控制的狀況下自動卡住不放。增加手掌累贅 2 , 無法增加你抓東西的能力。" +" by ten, while failing to improve your ability to hold objects whatsoever." +msgstr "" #: lang/json/bionic_from_json.py msgid "Time Dilation" @@ -72658,8 +75929,8 @@ msgstr "" #. ~ Description for Gasoline Fuel Cell CBM #: lang/json/bionic_from_json.py msgid "" -"A small gasoline fuel cell fixed to your scapula. Despite its limited energy" -" output compared to other fuel cells, this device still produces a " +"A small gasoline fuel cell fixed to your scapula. Despite its limited " +"energy output compared to other fuel cells, this device still produces a " "significant amount of heat dissipated through a heat exhaust protruding from" " your back. A diffuse network of bio-plastic bladders has been meshed with " "your circulatory system and serves as a fuel tank." @@ -72712,7 +75983,7 @@ msgstr "" #: lang/json/bionic_from_json.py msgid "" "A set of highly sensitive sensors is installed in your mouth, and a small " -"yet sophisticated analyzer is installed in the cavity of your skull. The " +"yet sophisticated analyzer is installed in the cavity of your skull. The " "active bionic will nullify the taste of all comestibles with negative " "enjoyment value at the cost of draining bionic power." msgstr "" @@ -72901,7 +76172,7 @@ msgid "Dodging and melee is hampered." msgstr "閃避及近戰能力受阻。" #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Torso" msgstr "軀幹" @@ -72920,7 +76191,7 @@ msgid "head" msgstr "頭部" #: lang/json/bodypart_from_json.py src/armor_layers.cpp src/character.cpp -#: src/debug_menu.cpp +#: src/debug_menu.cpp src/debug_menu.cpp msgid "Head" msgstr "頭部" @@ -73400,6 +76671,18 @@ msgstr "用土填坑" msgid "Make Woodchip Floor" msgstr "製作木片地板" +#: lang/json/construction_from_json.py +msgid "Make Gravel Floor" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Straight Small Railroad Track" +msgstr "" + +#: lang/json/construction_from_json.py +msgid "Build Diagonal Small Railroad Track" +msgstr "" + #: lang/json/construction_from_json.py msgid "Build Wooden Floor" msgstr "建造木製地板" @@ -73512,6 +76795,14 @@ msgstr "建造鏈環柵門" msgid "Needs to be supported on both sides by fencing, walls, etc." msgstr "需要兩側都用柵欄、牆壁等支撐。" +#: lang/json/construction_from_json.py +msgid "Build Screen Door" +msgstr "建造紗門" + +#: lang/json/construction_from_json.py +msgid "Build Screen Mesh Wall" +msgstr "建造網幕牆" + #: lang/json/construction_from_json.py msgid "Build Chickenwire Fence" msgstr "建造鐵絲網柵欄" @@ -73552,6 +76843,10 @@ msgstr "建造衣櫃" msgid "Build Bookcase" msgstr "建造書架" +#: lang/json/construction_from_json.py +msgid "Build Entertainment Center" +msgstr "建造視聽櫃" + #: lang/json/construction_from_json.py msgid "Build Locker" msgstr "建造儲物櫃" @@ -73584,6 +76879,10 @@ msgstr "建造桌子" msgid "Place Table" msgstr "放置桌子" +#: lang/json/construction_from_json.py +msgid "Build Coffee Table" +msgstr "建造茶几" + #: lang/json/construction_from_json.py msgid "Build Workbench" msgstr "建造工作台" @@ -74036,6 +77335,10 @@ msgstr "建造無線電塔" msgid "Build a radio tower console." msgstr "建造無線電塔控制台" +#: lang/json/construction_from_json.py +msgid "Build Log Stool" +msgstr "" + #: lang/json/construction_from_json.py msgid "Convert Fridge Power Supply" msgstr "" @@ -74734,6 +78037,42 @@ msgstr "你夢到一個長得很奇怪的植物, 它分泌的花蜜讓你別無 msgid "You dream of bees fighting over your sweet nectar. Mmm." msgstr "恩, 你夢到蜜蜂跟你搶奪那甜美的花蜜。" +#: lang/json/dream_from_json.py +msgid "" +"How grand it would be to sink your roots deep into the soil as the seasons " +"pass you by." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "You dream of a gigantic knot of roots, beating like a heart." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "You have a disturbing dream of termites chewing all over your body." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of sharing your roots with a vast forest, all plants provided for " +"as the canopy grows ever upwards." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "A family of caterpillars munches away at your leaves." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"Fire rages around you, licking at your bark and engulfing the saplings and " +"bushes near your roots. The once chatty forest is quiet in its wake." +msgstr "" + +#: lang/json/dream_from_json.py +msgid "" +"You dream of communing with an ancient pine. Trees are the true survivors " +"of this world, it tells you." +msgstr "" + #: lang/json/dream_from_json.py msgid "" "A rather attractive triffid offers you a bouquet of ape heads. How " @@ -76015,6 +79354,25 @@ msgstr "你的手無法停止顫抖。" msgid "You tremble" msgstr "你顫抖" +#: lang/json/effects_from_json.py +msgid "Seizure" +msgstr "" + +#. ~ Description of effect 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles have seized up, and you can't control them!" +msgstr "" + +#. ~ Remove message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "You regain control of your muscles!" +msgstr "" + +#. ~ Miss message for effect(s) 'Seizure'. +#: lang/json/effects_from_json.py +msgid "Your muscles won't cooperate!" +msgstr "" + #: lang/json/effects_from_json.py msgid "Bleeding" msgstr "流血" @@ -76492,7 +79850,7 @@ msgstr "喝醉" #. ~ Description of effect 'Drunk'. #: lang/json/effects_from_json.py msgid "You drank alcohol. Party on!" -msgstr "" +msgstr "你喝了些酒精。開趴啦!" #: lang/json/effects_from_json.py msgid "Trashed" @@ -76501,7 +79859,7 @@ msgstr "快喝掛了" #. ~ Description of effect 'Trashed'. #: lang/json/effects_from_json.py msgid "You drank lots of alcohol. Are those white mice?" -msgstr "" +msgstr "你喝了不少酒精。那些是小白鼠嗎?" #: lang/json/effects_from_json.py msgid "Wasted" @@ -76512,7 +79870,7 @@ msgstr "喝掛了" msgid "" "You drank unholy amounts of alcohol. It's the end of the world, what do you" " care?" -msgstr "" +msgstr "你喝了大量酒精…末日來了,還在乎什麼?" #: lang/json/effects_from_json.py msgid "Dead Drunk" @@ -76926,6 +80284,26 @@ msgstr "你的新陳代謝變得不穩定。" msgid "Your metabolism becomes more stable." msgstr "你的新陳代謝變得更加穩定。" +#: lang/json/effects_from_json.py +msgid "Concerning symptoms" +msgstr "" + +#. ~ Description of effect 'Concerning symptoms'. +#: lang/json/effects_from_json.py +msgid "Your muscles keep twitching strangely." +msgstr "" + +#: lang/json/effects_from_json.py +msgid "Unnerving symptoms" +msgstr "" + +#. ~ Description of effect 'Unnerving symptoms'. +#: lang/json/effects_from_json.py +msgid "" +"Your nervous system is malfunctioning, almost like it's being torn apart " +"from the inside." +msgstr "" + #: lang/json/effects_from_json.py msgid "Lit up" msgstr "發亮" @@ -77168,6 +80546,17 @@ msgstr "超級充能" msgid "You've been struck by lightning, and feel... different." msgstr "你被閃電擊中,而且感覺...不一樣了。" +#: lang/json/effects_from_json.py +msgid "Grown of Fusion" +msgstr "" + +#. ~ Description of effect 'Grown of Fusion'. +#: lang/json/effects_from_json.py +msgid "" +"AI effect to increase stats after fusing with another critter. 1 stack means" +" one absorbed max_hp." +msgstr "" + #: lang/json/effects_from_json.py msgid "Religious Offense" msgstr "宗教冒犯" @@ -77480,6 +80869,33 @@ msgstr "你的身體就像羽毛一樣輕盈。" msgid "The earth pulls you down hard." msgstr "大地用力地把你拉下。" +#: lang/json/effects_from_json.py +msgid "Scared" +msgstr "驚恐" + +#: lang/json/effects_from_json.py +msgid "Frightened" +msgstr "惶悚" + +#: lang/json/effects_from_json.py src/npc.cpp +msgid "Terrified" +msgstr "嚇壞了" + +#: lang/json/effects_from_json.py +msgid "" +"Your knees are shaking, your heart beats fast, and your stomach rebels." +msgstr "你的膝蓋在顫抖著,心臟快速跳動,而且反胃。" + +#. ~ Apply message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "You are afraid!" +msgstr "你感到害怕!" + +#. ~ Remove message for effect(s) 'Scared, Frightened, Terrified'. +#: lang/json/effects_from_json.py +msgid "Your fear dissipates." +msgstr "你的恐懼消失了。" + #: lang/json/effects_from_json.py msgid "Stuck in a light snare" msgstr "被輕型繩套工具纏住" @@ -77750,6 +81166,192 @@ msgid "" "the commotion." msgstr "" +#: lang/json/epilogue_from_json.py +msgid "" +" Became a hunter after your death, living alone in the woods. Traced " +"back to his cabin, he was murdered and devoured in his sleep by an actual " +"cannibal." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived for many years, and became a renowned scavenger, eventually " +"setting up a small shop in a Free Merchant outpost. Survived by two sons, " +"he died after a rare artifact poisoned his blood with acid." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered and scavenged the land for years after your death, " +"eventually becoming a skilled mechanic. Employed by the Free Merchants, he " +"lived a comfortable, if rather uneventful life, dying of cancer, a rare " +"luxury these days." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became truly depressed after your death and hid in the woods. If " +"rumors are to be believed, he spent years living as a deranged hermit in a " +"distant cave, worshiping stones and sacrificing dogs." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" After your death, he became obsessed with preserving old knowledge and " +"eventually became known as 'the lorekeeper'. Hired by the Old Guard as a " +"librarian, he spent his life amongst dusty old books, trying to convince " +"others of their value. He even changed his name to Frederic Bastiat, in " +"honor of an old French philosopher." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He found faith after your death, eventually joining an Anglican " +"community and becoming a Vicar. The crucifix provided him with a sense of " +"meaning, before dying horribly at the hands of raiders. He was still " +"praying when they roasted him alive." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Lost and damned, he joined a bloody cult after your death, kidnapping " +"and sacrificing young women. His entire group was killed after being " +"discovered by the Old Guard. His head was put on a spike as a reminder that" +" cultists will not be tolerated." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He did not survive for long after your death. Electrocuted in an old " +"cellar, he kept screaming your name. His body was never found." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Survived you by just a few days, he drowned trying to escape from a " +"horde." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He wandered alone for days, before finding a Free Merchant outpost. He" +" spent a few years as a caravan guard, often drinking himself half blind and" +" enjoying any woman he could find. Booze made his grip unsteady and he was " +"eventually fired. He died of alcohol poisoning the same day." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with the idea of settling down, he eventually found love and " +"retired to a farm in the middle of nowhere. Relatively safe from the " +"monsters, he thrived for years. Survived by seven sons and two daughters." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became famous in the wastes after finding an old brewery and copying " +"their recipe. His chilled beer, a known delicacy, is traded far and wide by" +" the Free Merchants." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Found a whole cellar of single malt whisky. Drank himself to death." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed after your death, he would hang himself after just a few " +"days." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Wandered for months, before finding a small community that would accept" +" him. Became a farmer and spent the rest of his uneventful life tending to " +"crops, glad that he was no longer alone." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Obsessed with finding 'the Cure', he died a few weeks later in an old " +"lab, torn to shreds by a security turret." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a runner for the Refugee Center and died after a few months." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a raider gang and died in a firefight a few weeks later, trying " +"to rob a Free Merchant caravan." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, he eventually found an intact baseball field and built " +"a prosperous farming community there." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He spent the rest of his short life looking for a new fix. Died of an " +"overdose in an abandoned basement." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a small fishing village. Died a few years " +"later in a raider attack, alongside his young son." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Thoroughly terrified by your death, he retired to an old LMOE shelter, " +"vowing never to leave. He died of starvation inside." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He became a very prosperous game hunter, trading meat and furs, and " +"providing many settlements with food in exchange for booze and male company." +" He died years later of an STD." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Retired to the woods, he spent the rest of his life fishing and hunting" +" in a desolate cabin, rarely interacting with anyone else." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Died en route to California, deliriously dreaming of a better life as " +"he was slowly devoured by spiders." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He tried to cope with loneliness after your death, but failed. He was " +"blind drunk when a group of zombies found his hideout and didn't stand a " +"chance." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He didn't survive for long, waking up to a horde of zombies. They " +"smashed through his fortified windows in a pinch and only the last bullet " +"prevented him from being devoured alive." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" He got sick soon after your death, and died without any medical help. " +"His last words were 'Why did I live long enough to suffer like that?'" +msgstr "" + #: lang/json/epilogue_from_json.py msgid "" " Committed suicide rather than fall into the hands of the Hell's " @@ -77969,6 +81571,167 @@ msgid "" "weeks after being dragged to her cell she died from dehydration." msgstr "" +#: lang/json/epilogue_from_json.py +msgid "" +" Shot by the Old Guard a few weeks later, hunted down after she robbed " +"an important caravan." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled north, she eventually found a quiet community there and spent " +"the rest of her life farming. She's survived by four daughters." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a runner for the Old Guard and was eventually permitted to " +"join. She spent the rest of her life hunting raiders. She died in a " +"skirmish after a few years, sacrificing her life to let her unit retreat. " +"Her name is venerated in songs and inscriptions." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Shortly after your death she joined the Free Merchants, becoming a " +"caravan guard and after a few months became the new liaison in the Refugee " +"Center. She died a few years later of a mysterious illness." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She was found half-dead by the Old Guard who took her in. She became a" +" famous scavenger, known for finding an intact stash of experimental " +"antibiotics." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She retired to the forest, where she built her own cabin and spending " +"the rest of her life fishing." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Captured by raiders, she spent the rest of her miserable life as a " +"slave. Hopeless, she slit her wrists with a rusty knife." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Depressed, she joined a protestant community and became a paragon of " +"virtue. Devoting her life to bible study, she spent the rest of her life in" +" relative peace." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Killed and devoured by a cannibal just a few days after your death, " +"hardly anyone remembers her name." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became a renowned merchant after your death, she built her own outpost " +"in the west. An avid book collector, she established a great library to " +"keep the flame of knowledge burning." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled around for months before finding an old farm. She spent a few" +" years tending to her crops and living the life of a hermit before being " +"killed by raiders for fun." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Traveled south and joined a settlement there. She became a renowned " +"engineer, building the largest steam engine in New England." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Joined a gang after your death, she spent months preying on the " +"innocent, before dying in a dispute with a fellow brute." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Devoured alive by a group of zombies, she kept thinking of you as she " +"died." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She found an abandoned APC and spent years traveling around and " +"collecting personal stories. She wrote one of the few post-apocalyptic " +"books, detailing the life after the end." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Kept wandering for years. Her life was cut short when a group of " +"raiders used her as a target practice." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became a skilled game hunter and one of the best shots in the " +"wasteland. Years later she joined the Old Guard and was given the position " +"of Marshal." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Desperate to save humanity from extinction, she organized her own group" +" of survivors, whose job was to hunt bandits and decorate roads with their " +"mutilated bodies. She died in a skirmish a few months later." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She became an arsonist, and was incinerated a few weeks later in a fire" +" she set." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She kept wandering for a few weeks but eventually died after drinking " +"untreated water." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She wandered north and joined a local community there. She became " +"known for her trapping skills and ensured that the locals always had fresh " +"meat on their tables." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She joined the Free Merchants and led their first caravan to Canada. " +"She died a few years later of dysentery." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She built a boat and sailed east towards Europe, hoping that it was not" +" affected by the apocalypse. She was never heard from again." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" She led a doomsday cult for a few years, she was sacrificed to their " +"gods after a particularly terrible harvest." +msgstr "" + +#: lang/json/epilogue_from_json.py +msgid "" +" Became obsessed with chems, and died of an overdose a few months after " +"your death." +msgstr "" + #: lang/json/faction_from_json.py msgid "Your Followers" msgstr "你的追隨者" @@ -78121,10 +81884,10 @@ msgid "A small family surviving on their generational land." msgstr "" #: lang/json/faction_from_json.py -msgid "God's Community" +msgid "New England Church Community" msgstr "" -#. ~ Description for God's Community +#. ~ Description for New England Church Community #: lang/json/faction_from_json.py msgid "" "A small group of churchgoers that formed a community in the woods. They " @@ -78161,144 +81924,311 @@ msgstr "" msgid "Dusty" msgstr "布滿灰塵" -#. ~ Description for Dusty +#. ~ description for fault 'Dusty' #: lang/json/fault_from_json.py -msgid "It's dusty. Has no effect - obsolete fault." -msgstr "它布滿灰塵。已經沒有作用 - 廢棄故障。" +msgid "It's dusty. Has no effect - obsolete fault." +msgstr "" + +#. ~ name of mending method for fault 'Dusty' +#: lang/json/fault_from_json.py +msgid "Wipe clean" +msgstr "" + +#. ~ success message for mending method 'Wipe clean' of fault 'Dusty' +#. ~ success message for mending method 'Clean gun' of fault 'Fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean you %s." +msgstr "" #: lang/json/fault_from_json.py msgid "Already deployed" msgstr "已安裝變動過" -#. ~ Description for Already deployed +#. ~ description for fault 'Already deployed' #: lang/json/fault_from_json.py msgid "This bionic needs to be reset to its factory state." msgstr "這個生化插件需要重置成出廠階段。" +#. ~ name of mending method for fault 'Already deployed' +#: lang/json/fault_from_json.py +msgid "Reset to factory state" +msgstr "" + +#. ~ success message for mending method 'Reset to factory state' of fault +#. 'Already deployed' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully reset the %s to its factory state" +msgstr "" + #: lang/json/fault_from_json.py msgid "Blackpowder fouling" msgstr "黑火藥積垢" -#. ~ Description for Blackpowder fouling +#. ~ description for fault 'Blackpowder fouling' #: lang/json/fault_from_json.py msgid "" "Firing blackpowder loads from a gun fouls it, which reduces reliability and," -" if left uncleaned, leads to rust. It fouls the gun much faster than the use" -" of modern smokeless powder cartridges. Fouling is only a significant impact" -" on reliability at high levels, but black powder fouling accumulates " +" if left uncleaned, leads to rust. It fouls the gun much faster than the " +"use of modern smokeless powder cartridges. Fouling is only a significant " +"impact on reliability at high levels, but black powder fouling accumulates " "quickly." msgstr "" +#. ~ name of mending method for fault 'Blackpowder fouling' +#: lang/json/fault_from_json.py +msgid "Clean blackpowder fouling" +msgstr "" + +#. ~ success message for mending method 'Clean blackpowder fouling' of fault +#. 'Blackpowder fouling' +#: lang/json/fault_from_json.py +#, python-format +msgid "You clean your %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Spent casing in chamber" msgstr "用過的彈殼在膛室中" -#. ~ Description for Spent casing in chamber +#. ~ description for fault 'Spent casing in chamber' #: lang/json/fault_from_json.py msgid "" "This gun currently has an empty casing chambered. It will have to be " "removed before firing." msgstr "" +#. ~ name of mending method for fault 'Spent casing in chamber' +#: lang/json/fault_from_json.py +msgid "Eject spent casing" +msgstr "" + +#. ~ success message for mending method 'Eject spent casing' of fault 'Spent +#. casing in chamber' +#: lang/json/fault_from_json.py +#, python-format +msgid "You eject the spent casing from the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Fouling" msgstr "積垢" -#. ~ Description for Fouling +#. ~ description for fault 'Fouling' #: lang/json/fault_from_json.py msgid "" "Fouling is caused by firing gunpowder loads repeatedly, which reduces " -"reliability and can eventually cause damage to the gun. Fouling accumulates " -"slowly (unless blackpowder is used) due to the design of modern smokeless " +"reliability and can eventually cause damage to the gun. Fouling accumulates" +" slowly (unless blackpowder is used) due to the design of modern smokeless " "powder found in the vast majority of retail cartridges and it is not a " "significant problem until high levels of fouling are reached due to firing " "thousands of rounds without cleaning your firearm." msgstr "" -"積垢是重複發射裝載的火藥所造成的,將會降低槍械可靠性,並最終導致槍械損壞。由於絕大多數零售彈藥中都採用了現代無煙火藥的設計,因此積垢累積的相當緩慢(除非使用了黑火藥),並不是什麼大問題。在發射數千發子彈而沒有清理槍械時,才會導致槍械嚴重的積垢。" + +#. ~ name of mending method for fault 'Fouling' +#: lang/json/fault_from_json.py +msgid "Clean gun" +msgstr "" #: lang/json/fault_from_json.py msgid "Worn drive belt" msgstr "磨損的傳動帶" -#. ~ Description for Worn drive belt +#. ~ description for fault 'Worn drive belt' #: lang/json/fault_from_json.py msgid "Required for operation of an attached alternator." msgstr "需要連接交流發電機來運行。" +#. ~ name of mending method for fault 'Worn drive belt' +#: lang/json/fault_from_json.py +msgid "Replace worn drive belt" +msgstr "" + +#. ~ success message for mending method 'Replace worn drive belt' of fault +#. 'Worn drive belt' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the worn drive belt of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty glow plugs" msgstr "故障的電熱塞" -#. ~ Description for Faulty glow plugs +#. ~ description for fault 'Faulty glow plugs' #: lang/json/fault_from_json.py msgid "Help when starting an engine in low ambient temperatures." msgstr "有助於低溫環境下發動引擎。" +#. ~ name of mending method for fault 'Faulty glow plugs' +#: lang/json/fault_from_json.py +msgid "Replace faulty glow plugs" +msgstr "" + +#. ~ success message for mending method 'Replace faulty glow plugs' of fault +#. 'Faulty glow plugs' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty glow plugs of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Active immobiliser" msgstr "啟動的防盜器" -#. ~ Description for Active immobiliser +#. ~ description for fault 'Active immobiliser' #: lang/json/fault_from_json.py msgid "Prevents starting of the vehicle without the appropriate key." msgstr "防止沒有正確的鑰匙就啟動車輛。" +#. ~ name of mending method for fault 'Active immobiliser' +#: lang/json/fault_from_json.py +msgid "Deactivate immobiliser" +msgstr "" + +#. ~ description for mending method 'Deactivate immobiliser' of fault 'Active +#. immobiliser' +#: lang/json/fault_from_json.py +msgid "" +"Deactivate the immobiliser that is preventing the vehicle from starting." +msgstr "" + +#. ~ success message for mending method 'Deactivate immobiliser' of fault +#. 'Active immobiliser' +#: lang/json/fault_from_json.py +#, python-format +msgid "You successfully deactivate the immobiliser of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty diesel pump" msgstr "故障的柴油泵" -#. ~ Description for Faulty diesel pump +#. ~ description for fault 'Faulty diesel pump' #: lang/json/fault_from_json.py msgid "Required to pump and pressurize diesel from a vehicles tank." msgstr "從車輛油箱內抽取並加壓柴油的必備零件。" +#. ~ name of mending method for fault 'Faulty diesel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty diesel pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty diesel pump' of fault +#. 'Faulty diesel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty diesel pump of the %s" +msgstr "" + #: lang/json/fault_from_json.py msgid "Expired air filter" msgstr "過期的空氣濾清器" -#. ~ Description for Expired air filter +#. ~ description for fault 'Expired air filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces fuel efficiency and increases smoke production." msgstr "過期的過濾器降低燃油效率並增加產煙量。" +#. ~ name of mending method for fault 'Expired air filter' +#: lang/json/fault_from_json.py +msgid "Replace expired air filter" +msgstr "" + +#. ~ success message for mending method 'Replace expired air filter' of fault +#. 'Expired air filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired air filter of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Expired fuel filter" msgstr "過期的燃油濾清器" -#. ~ Description for Expired fuel filter +#. ~ description for fault 'Expired fuel filter' #: lang/json/fault_from_json.py msgid "" "An expired filter reduces performance and increases the chance of backfires." msgstr "過期的過濾器會降低性能並增加回火的機會。" +#. ~ name of mending method for fault 'Expired fuel filter' +#: lang/json/fault_from_json.py +msgid "Replace expired fuel filter" +msgstr "" + +#. ~ success message for mending method 'Replace expired fuel filter' of fault +#. 'Expired fuel filter' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the expired fuel filter of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty fuel pump" msgstr "故障的燃油泵" -#. ~ Description for Faulty fuel pump +#. ~ description for fault 'Faulty fuel pump' #: lang/json/fault_from_json.py msgid "Required to pump gasoline from a vehicles tank." msgstr "從汽車油箱內抽取汽油的必備零件。" +#. ~ name of mending method for fault 'Faulty fuel pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty fuel pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty fuel pump' of fault +#. 'Faulty fuel pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty fuel pump of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty water pump" msgstr "故障的水泵" -#. ~ Description for Faulty water pump +#. ~ description for fault 'Faulty water pump' #: lang/json/fault_from_json.py msgid "Required to pump water to an external radiator or heatsink." msgstr "把水抽到外部散熱器或散熱片的必備零件。" +#. ~ name of mending method for fault 'Faulty water pump' +#: lang/json/fault_from_json.py +msgid "Replace faulty water pump" +msgstr "" + +#. ~ success message for mending method 'Replace faulty water pump' of fault +#. 'Faulty water pump' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty water pump of the %s." +msgstr "" + #: lang/json/fault_from_json.py msgid "Faulty starter motor" msgstr "故障的起動馬達" -#. ~ Description for Faulty starter motor +#. ~ description for fault 'Faulty starter motor' #: lang/json/fault_from_json.py msgid "Required to initially start the engine." msgstr "用於起動引擎的必備零件。" +#. ~ name of mending method for fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +msgid "Replace faulty starter motor" +msgstr "" + +#. ~ success message for mending method 'Replace faulty starter motor' of +#. fault 'Faulty starter motor' +#: lang/json/fault_from_json.py +#, python-format +msgid "You replace the faulty starter motor of %s." +msgstr "" + #: lang/json/field_type_from_json.py lang/json/overmap_terrain_from_json.py #: lang/json/overmap_terrain_from_json.py src/mapdata.cpp src/mapdata.cpp #: src/skill.cpp @@ -78785,6 +82715,22 @@ msgstr "濃厚殺蟲霾" msgid "smoke vent" msgstr "排煙口" +#: lang/json/field_type_from_json.py +msgid "clairvoyance" +msgstr "" + +#: lang/json/field_type_from_json.py +msgid "dreadful presense" +msgstr "可怕的存在" + +#: lang/json/field_type_from_json.py +msgid "frightful presense" +msgstr "驚懼的存在" + +#: lang/json/field_type_from_json.py +msgid "terrifying presense" +msgstr "恐怖的存在" + #: lang/json/furniture_from_json.py msgid "mutated cactus" msgstr "突變仙人掌" @@ -78798,13 +82744,11 @@ msgstr "冷氣機" msgid "A big, blocky metal device for refrigerating large areas." msgstr "一種大型的塊狀金屬設備,用於大面積製冷。" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "metal screeching!" msgstr "金屬嘎嘎聲!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "clang!" msgstr "鐺!" @@ -78906,6 +82850,50 @@ msgid "" "although it still has parts." msgstr "用於快速生產金屬物品。儘管它仍有部分的功用,但看起來好像沒有用的樣子。" +#: lang/json/furniture_from_json.py +msgid "document shredder" +msgstr "碎紙機" + +#. ~ Description for document shredder +#: lang/json/furniture_from_json.py +msgid "" +"It's not all about hiding government secrets, sometimes you just want to " +"stop identity theft." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "server stack" +msgstr "伺服器堆" + +#. ~ Description for server stack +#: lang/json/furniture_from_json.py +msgid "This is a big pile of computers. They're all turned off." +msgstr "一大堆的電腦。他們都關閉著。" + +#: lang/json/furniture_from_json.py +msgid "large satellite dish" +msgstr "大型衛星碟型天線" + +#. ~ Description for large satellite dish +#: lang/json/furniture_from_json.py +msgid "" +"Somewhere up there, there are still satellites, orbiting and doing their " +"thing, sending signals down to an Earth that is no longer listening." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "mounted solar panel" +msgstr "架設好的太陽能板" + +#. ~ Description for mounted solar panel +#: lang/json/furniture_from_json.py +msgid "A mounted solar panel." +msgstr "一面架設好的太陽能板。" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "whack!" +msgstr "嘩!" + #: lang/json/furniture_from_json.py msgid "road barricade" msgstr "路障" @@ -78917,11 +82905,11 @@ msgstr "" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py #: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +#: src/vehicle_move.cpp msgid "smash!" msgstr "碰!" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py msgid "whump." msgstr "呼。" @@ -78974,6 +82962,113 @@ msgstr "沙袋牆" msgid "A sandbag wall." msgstr "" +#: lang/json/furniture_from_json.py +msgid "standing mirror" +msgstr "直立式鏡子" + +#. ~ Description for standing mirror +#: lang/json/furniture_from_json.py +msgid "Lookin' good - is that blood?" +msgstr "看起來很好 - 那是血嗎?" + +#: lang/json/furniture_from_json.py +msgid "glass breaking" +msgstr "玻璃破掉了" + +#: lang/json/furniture_from_json.py +msgid "broken standing mirror" +msgstr "破裂的直立式鏡子" + +#. ~ Description for broken standing mirror +#: lang/json/furniture_from_json.py +msgid "" +"You could look at yourself, if the mirror wasn't covered in cracks and " +"fractures." +msgstr "如果鏡子沒有裂縫和破損,你可以看看自己。" + +#: lang/json/furniture_from_json.py +msgid "bitts" +msgstr "" + +#. ~ Description for bitts +#: lang/json/furniture_from_json.py +msgid "" +"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " +"to secure mooring lines, ropes, hawsers, or cables." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "manacles" +msgstr "手銬" + +#. ~ Description for manacles +#: lang/json/furniture_from_json.py +msgid "" +"Chain serfs in your dungeon. All you need now is an iron ball to chain to " +"it." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "crack." +msgstr "喀啦。" + +#: lang/json/furniture_from_json.py +msgid "statue" +msgstr "雕像" + +#. ~ Description for statue +#: lang/json/furniture_from_json.py +msgid "A carved statue made of stone." +msgstr "雕刻石像" + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +msgid "thump." +msgstr "咚。" + +#: lang/json/furniture_from_json.py +msgid "mannequin" +msgstr "服裝模特兒" + +#. ~ Description for mannequin +#: lang/json/furniture_from_json.py +msgid "" +"Put clothes on it, talk to it. Who's around to judge you? Wait… did it " +"just move?" +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "birdbath" +msgstr "鳥浴盆" + +#. ~ Description for birdbath +#: lang/json/furniture_from_json.py +msgid "A decorative cement birdbath and pedestal." +msgstr "一個有裝飾的水泥水盆跟基座。" + +#: lang/json/furniture_from_json.py +msgid "rotary clothes dryer line" +msgstr "旋轉式曬衣繩架" + +#. ~ Description for rotary clothes dryer line +#: lang/json/furniture_from_json.py +msgid "A umbrella shaped clothes line mounted on a pole." +msgstr "傘狀曬衣繩架設在一根長桿上頭。" + +#: lang/json/furniture_from_json.py +msgid "floor lamp" +msgstr "" + +#. ~ Description for floor lamp +#: lang/json/furniture_from_json.py +msgid "A tall standing lamp, meant to plug into a wall and light up a room." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bonk!" +msgstr "" + #: lang/json/furniture_from_json.py msgid "indoor plant" msgstr "室內植物" @@ -79085,6 +83180,85 @@ msgid "" "be used for planting crops. This one contains a planted seedling" msgstr "" +#: lang/json/furniture_from_json.py +msgid "spider egg sack" +msgstr "蜘蛛卵囊" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Much too large, off-white egg sack. Kind of icky. Something IS moving in " +"there." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "splat!" +msgstr "啪啦!" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " +"in there." +msgstr "" + +#. ~ Description for spider egg sack +#: lang/json/furniture_from_json.py +msgid "" +"A horrifyingly oversized egg sack. Something IS moving in there. If you're" +" seeing this, you're already too close to it." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "ruptured egg sack" +msgstr "破裂的蜘蛛卵囊" + +#. ~ Description for ruptured egg sack +#: lang/json/furniture_from_json.py +msgid "Super icky. Spider stuff's spilling out." +msgstr "" + +#. ~ Description for swamp gas +#: lang/json/furniture_from_json.py +msgid "" +"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " +"toxic gas." +msgstr "" + +#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp +msgid "splash!" +msgstr "啪啦!" + +#. ~ Description for fog +#: lang/json/furniture_from_json.py +msgid "This is a misty cloud of fog." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "fake workbench hands" +msgstr "" + +#. ~ Description for fake workbench hands +#: lang/json/furniture_from_json.py +msgid "This fake workbench holds the stats for working on a wielded item." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "ground crafting spot" +msgstr "地面製作現場" + +#. ~ Description for ground crafting spot +#: lang/json/furniture_from_json.py +msgid "" +"A cleared spot on the ground for crafting. Slower than using a workbench or" +" holding a project in your hands, but readily available." +msgstr "把這地面清理乾淨以便於製作。比使用工作台或手持製作物品更加緩慢,但隨時可用。" + +#. ~ Description for seeing this is a bug +#: lang/json/furniture_from_json.py +msgid "Seeing this is a bug. If seen, please report and destroy." +msgstr "" + #: lang/json/furniture_from_json.py msgid "fireplace" msgstr "壁爐" @@ -79249,7 +83423,7 @@ msgid "" msgstr "一大堆葉子。如果你不關心舒適或溫暖,你可以睡在上面。" #: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: src/iuse.cpp +#: lang/json/terrain_from_json.py src/iuse.cpp msgid "crunch!" msgstr "匡噹!" @@ -79262,7 +83436,7 @@ msgstr "馬洛斯花" msgid "" "This flower is like the other flowers taken by the mushrooms, but its bulb " "is colored a brilliant cyan color, and it emits an aroma both overwhelming " -"and... delicious?" +"and… delicious?" msgstr "" #: lang/json/furniture_from_json.py @@ -79298,6 +83472,100 @@ msgid "" "Alien mold and stems mingle tightly here, creating a sort of fungal bush." msgstr "" +#: lang/json/furniture_from_json.py +msgid "stone slab" +msgstr "石板" + +#. ~ Description for stone slab +#: lang/json/furniture_from_json.py +msgid "A flat slab of heavy stone." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "headstone" +msgstr "墓石" + +#. ~ Description for headstone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies." +msgstr "保存屍身。" + +#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py +#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py src/map.cpp src/mapdata.cpp +msgid "thump!" +msgstr "咚!" + +#: lang/json/furniture_from_json.py +msgid "gravestone" +msgstr "墓碑" + +#. ~ Description for gravestone +#: lang/json/furniture_from_json.py +msgid "Keeps the bodies. More fancy." +msgstr "保存屍身。更加花俏。" + +#: lang/json/furniture_from_json.py +msgid "worn gravestone" +msgstr "破舊的墓碑" + +#. ~ Description for worn gravestone +#: lang/json/furniture_from_json.py +msgid "A worn-out gravestone." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "obelisk" +msgstr "方尖碑" + +#. ~ Description for obelisk +#: lang/json/furniture_from_json.py +msgid "Monument to pride." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "thunk!" +msgstr "咚!" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "robotic assembler" +msgstr "裝配機器人" + +#. ~ Description for robotic assembler +#: lang/json/furniture_from_json.py +msgid "" +"A durable and versatile robotic arm with a tool fitted to the end, for " +"working on an assembly line." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "chemical mixer" +msgstr "化工攪拌機" + +#. ~ Description for chemical mixer +#: lang/json/furniture_from_json.py +msgid "" +"When chemicals need to be mixed in large quantities at just the right " +"combinations and temperatures, this is the tool for the job." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "robotic arm" +msgstr "機械手臂" + +#. ~ Description for robotic arm +#: lang/json/furniture_from_json.py +msgid "" +"Automation! Science! Industry! Make a better horse! This robot arm " +"promises to do it all. Except it's currently unpowered. You could remove " +"the casing and retrieve the electronics through disassembly." +msgstr "" + +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +#: lang/json/terrain_from_json.py +msgid "thunk." +msgstr "咚。" + #: lang/json/furniture_from_json.py msgid "Autodoc Mk. XI" msgstr "全自動外科醫生 Mk. XI" @@ -79309,10 +83577,6 @@ msgid "" "It's only as skilled as its operator." msgstr "用於安裝和移除生化插件的外科手術機器。它的技能等級取決於操作者。" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "whack!" -msgstr "嘩!" - #: lang/json/furniture_from_json.py msgid "Autodoc operation couch" msgstr "全自動外科醫生操作沙發" @@ -79601,9 +83865,9 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "This is a meaty green stalactite with a thickened hide like that of a " -"starfish, extending from the floor to the ceiling. In the center is a series" -" of ports somewhat like mouths, from which pour bursts of a vile smelling " -"gas." +"starfish, extending from the floor to the ceiling. In the center is a " +"series of ports somewhat like mouths, from which pour bursts of a vile " +"smelling gas." msgstr "" #: lang/json/furniture_from_json.py @@ -79629,10 +83893,6 @@ msgid "" "out of injured vessels." msgstr "" -#: lang/json/furniture_from_json.py -msgid "splat!" -msgstr "啪啦!" - #: lang/json/furniture_from_json.py msgid "slimy pod" msgstr "" @@ -79677,7 +83937,7 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "This pulsing protuberance juts from the floor, its sides covered in scaled, " -"oozing skin. The surface is flat, but undulates softly. A handful of " +"oozing skin. The surface is flat, but undulates softly. A handful of " "unidentifiable appendages reach from the sides, suggesting a sort of " "nightmarish living autodoc." msgstr "" @@ -79834,12 +84094,6 @@ msgid "" "your workout. Might have useful electronic parts in it." msgstr "" -#: lang/json/furniture_from_json.py lang/json/furniture_from_json.py -#: lang/json/terrain_from_json.py lang/json/terrain_from_json.py src/map.cpp -#: src/mapdata.cpp -msgid "thump!" -msgstr "咚!" - #: lang/json/furniture_from_json.py msgid "treadmill" msgstr "跑步機" @@ -79848,7 +84102,7 @@ msgstr "跑步機" #: lang/json/furniture_from_json.py msgid "" "Used for training leg muscles. It'll be extra hard without power. Could be" -" taken apart for its... parts." +" taken apart for its… parts." msgstr "" #: lang/json/furniture_from_json.py @@ -79874,7 +84128,7 @@ msgstr "" #: lang/json/furniture_from_json.py msgid "" "The ol' ebony and ivory. Really classes up the place. You could take it " -"apart if you wanted... you monster." +"apart if you wanted… you monster." msgstr "" #: lang/json/furniture_from_json.py @@ -79885,6 +84139,18 @@ msgstr "" msgid "kerchang." msgstr "" +#: lang/json/furniture_from_json.py +msgid "speaker cabinet" +msgstr "" + +#. ~ Description for speaker cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A cabinet loaded with 12-inch speakers, intended to help make various things" +" loud. It can't serve its original purpose these days, but it could be " +"disassembled for various electronic parts." +msgstr "" + #: lang/json/furniture_from_json.py msgid "cell phone signal booster" msgstr "手機信號增強器" @@ -80016,6 +84282,53 @@ msgstr "坐著或是躺著更好!太完美了!" msgid "stool" msgstr "凳子" +#. ~ Description for camp chair +#: lang/json/furniture_from_json.py +msgid "Sit down, have a drink. It can folded for easy transportation." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "log stool" +msgstr "" + +#. ~ Description for log stool +#: lang/json/furniture_from_json.py +msgid "" +"A log tipped on its end with any rough edges cut off. Basically a very " +"simple seat." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "bulletin board" +msgstr "告示牌" + +#. ~ Description for bulletin board +#: lang/json/furniture_from_json.py +msgid "" +"A big, cork bulletin board capable of sporting various notices. Pin some " +"notes for other survivors to read." +msgstr "一個大型軟木公告板,能夠張貼各種通知。為其他倖存者寫下一些注意事項吧。" + +#: lang/json/furniture_from_json.py +msgid "sign" +msgstr "標誌" + +#. ~ Description for sign +#: lang/json/furniture_from_json.py +msgid "Read it. Warnings ahead." +msgstr "閱讀。注意前方。" + +#: lang/json/furniture_from_json.py +msgid "warning sign" +msgstr "警示牌" + +#. ~ Description for warning sign +#: lang/json/furniture_from_json.py +msgid "" +"A triangle-shaped sign on a post meant to indicate something important or " +"hazard." +msgstr "柱子上的三角形標誌表示重要或危險的東西。" + #: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py msgid "bed" msgstr "床舖" @@ -80053,7 +84366,7 @@ msgstr "一張舒適的床墊被扔在地板上,你可以在這裡睡覺。它 msgid "rrrrip!" msgstr "劈哩!" -#. ~ Description for down_mattress +#. ~ Description for down mattress #: lang/json/furniture_from_json.py msgid "" "A comfortable feather down mattress has been tossed on the floor for " @@ -80088,6 +84401,15 @@ msgstr "書櫃" msgid "Stores books. Y'know, those things. Who reads books anymore?" msgstr "存放書籍。你知道的,就是那種東西。現在還有誰會閱讀書籍?" +#: lang/json/furniture_from_json.py +msgid "entertainment center" +msgstr "視聽櫃" + +#. ~ Description for entertainment center +#: lang/json/furniture_from_json.py +msgid "Stores audio visual equipment, books and collectible." +msgstr "存放視聽設備、書籍與收藏品。" + #: lang/json/furniture_from_json.py msgid "coffin" msgstr "棺材" @@ -80132,6 +84454,21 @@ msgstr "開口木箱" msgid "What's inside? Look in it!" msgstr "裡面有什麼?看看吧!" +#. ~ Description for large cardboard box +#: lang/json/furniture_from_json.py +msgid "" +"A large cardboard box: this could be used to store things, or as a hiding " +"place." +msgstr "一個大紙板箱:這可以用來存放東西,或作為藏身之處。" + +#: lang/json/furniture_from_json.py +msgid "crumple!" +msgstr "" + +#: lang/json/furniture_from_json.py src/ballistics.cpp +msgid "thud." +msgstr "咚。" + #: lang/json/furniture_from_json.py msgid "cupboard" msgstr "櫥櫃" @@ -80283,6 +84620,27 @@ msgstr "垃圾桶" msgid "One man's trash is another man's dinner." msgstr "一個人的垃圾是另一個人的晚餐。" +#: lang/json/furniture_from_json.py +msgid "wardrobe" +msgstr "衣櫃" + +#. ~ Description for wardrobe +#: lang/json/furniture_from_json.py +msgid "A tall piece of furniture - basically a freestanding closet." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "filing cabinet" +msgstr "檔案櫃" + +#. ~ Description for filing cabinet +#: lang/json/furniture_from_json.py +msgid "" +"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " +"locked to protect important information. If you're lucky, there are often " +"keys nearby." +msgstr "" + #: lang/json/furniture_from_json.py msgid "utility shelf" msgstr "工具架" @@ -80301,6 +84659,42 @@ msgstr "木桶" msgid "A keg made mostly of wood. Holds liquids, preferably alcoholic." msgstr "主要由木頭製成桶子。能裝液體,最好是酒類。" +#: lang/json/furniture_from_json.py +msgid "display case" +msgstr "展示櫃" + +#. ~ Description for display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff fancily and securely." +msgstr "" + +#: lang/json/furniture_from_json.py +msgid "broken display case" +msgstr "破碎的展示櫃" + +#. ~ Description for broken display case +#: lang/json/furniture_from_json.py +msgid "Display your stuff. It'll get stolen." +msgstr "展示你的物品。會被偷。" + +#: lang/json/furniture_from_json.py +msgid "standing tank" +msgstr "水槽" + +#. ~ Description for standing tank +#: lang/json/furniture_from_json.py +msgid "A large freestanding metal tank, useful for holding liquids." +msgstr "一個大型獨立式金屬罐,可用於盛裝液體。" + +#: lang/json/furniture_from_json.py +msgid "dumpster" +msgstr "垃圾箱" + +#. ~ Description for dumpster +#: lang/json/furniture_from_json.py +msgid "Stores trash. Doesn't get picked up anymore. Note the smell." +msgstr "存放垃圾。再也不會被清走。注意那味道。" + #: lang/json/furniture_from_json.py msgid "counter" msgstr "櫃檯" @@ -80372,9 +84766,9 @@ msgstr "由布料編織而成的大型墊子, 可用於代替野餐地毯, 但 #. ~ Description for tourist table #: lang/json/furniture_from_json.py msgid "" -"Small metal folding table, ideal for off-road trips into the wild. Can be " +"Small metal folding table, ideal for off-road trips into the wild. Can be " "used as a workbench in a pinch." -msgstr "小型金屬折疊桌,非常適合越野旅行。需要的話也能當作工作台使用。" +msgstr "" #: lang/json/furniture_from_json.py lang/json/vehicle_part_from_json.py msgid "table" @@ -80385,270 +84779,200 @@ msgstr "桌子" msgid "Sit down when you eat!" msgstr "吃東西的時候要坐好!" +#. ~ Description for table #: lang/json/furniture_from_json.py -msgid "forge" -msgstr "鍛造爐" - -#. ~ Description for forge -#: lang/json/furniture_from_json.py -msgid "Metalworking station typically used in combination with an anvil." -msgstr "金屬加工工作台,常與鐵砧一起使用。" - -#. ~ Description for anvil -#: lang/json/furniture_from_json.py -msgid "Used in metalworking." -msgstr "用於金屬加工。" - -#. ~ Description for still -#: lang/json/furniture_from_json.py -msgid "" -"An essential component for brewing and chemistry that allows for refining " -"liquid mixtures." -msgstr "釀造和化學的重要組成部分,可以精煉液體混合物。" - -#. ~ Description for charcoal kiln -#. ~ Description for filled charcoal kiln -#: lang/json/furniture_from_json.py -msgid "" -"A rock kiln designed to burn wood and organic material into charcoal in " -"absence of oxygen." -msgstr "一座石製碳化爐, 設計用於無氧狀態下將木材和有機材料燒製成木炭。" - -#: lang/json/furniture_from_json.py -msgid "metal charcoal kiln" -msgstr "金屬碳化爐" +msgid "a low table for livingrooms." +msgstr "客廳的矮桌。" -#. ~ Description for metal charcoal kiln -#. ~ Description for filled metal charcoal kiln #: lang/json/furniture_from_json.py -msgid "" -"A metal kiln designed to burn wood and organic material into charcoal in " -"absence of oxygen." -msgstr "一座金屬碳化爐, 設計用於無氧狀態下將木材和有機材料燒製成木炭。" - -#: lang/json/furniture_from_json.py -msgid "filled metal charcoal kiln" -msgstr "已裝填的金屬碳化爐" +msgid "tatami mat" +msgstr "榻榻米" -#. ~ Description for arc furnace -#. ~ Description for filled arc furnace +#. ~ Description for tatami mat #: lang/json/furniture_from_json.py msgid "" -"An arc furnace designed to burn a powdery mix of coke and limestone to " -"create calcium carbide." +"A tatami is a type of mat used as a flooring material in traditional " +"Japanese-style rooms." msgstr "" #: lang/json/furniture_from_json.py -msgid "filled arc furnace" +msgid "pillow fort" msgstr "" +#. ~ Description for pillow fort #: lang/json/furniture_from_json.py -msgid "smoking rack" -msgstr "煙燻架" +msgid "A comfy place to hide from the world. Not very defensible, though." +msgstr "" -#. ~ Description for smoking rack -#. ~ Description for metal smoking rack -#. ~ Description for active metal smoking rack #: lang/json/furniture_from_json.py -msgid "" -"A special rack designed to smoke food for better preservation and taste." -msgstr "專門設計用來煙燻食物的架子,讓食物更美味也保存更久。" +msgid "paf!" +msgstr "" #: lang/json/furniture_from_json.py -msgid "active smoking rack" -msgstr "啟動中煙燻架" +msgid "cardboard fort" +msgstr "紙板堡" -#. ~ Description for active smoking rack +#. ~ Description for cardboard fort #: lang/json/furniture_from_json.py msgid "" -"A special rack designed to smoke food for better preservation and taste. It" -" is lit and smoking." -msgstr "一個特製的用來煙燻食物的架子, 可以讓食物更好吃且便於保存。它已被點燃, 正在煙燻中。" - -#: lang/json/furniture_from_json.py -msgid "active metal smoking rack" +"A fort built by tipping a cardboard box on its side, lining it with " +"blankets, and partly weather sealing it with a plastic sheet." msgstr "" #: lang/json/furniture_from_json.py -msgid "rock forge" -msgstr "石製鍛造爐" +msgid "cardboard wall" +msgstr "紙板牆" -#. ~ Description for rock forge +#. ~ Description for cardboard wall #: lang/json/furniture_from_json.py msgid "" -"Metalworking station made of rock, typically used in combination with an " -"anvil." -msgstr "石製的金屬加工工作台,常與鐵砧一起使用。" +"This is a pile of cardboard boxes that have been filled with rags and junk " +"and stacked together like bricks to form a wall." +msgstr "" #: lang/json/furniture_from_json.py -msgid "clay kiln" -msgstr "陶製碳化爐" +msgid "beaded curtain" +msgstr "" -#. ~ Description for clay kiln +#. ~ Description for beaded curtain #: lang/json/furniture_from_json.py -msgid "A kiln designed to bake clay pottery and bricks." -msgstr "專門用來燒製陶器和磚塊的窯。" +msgid "This beaded curtain could be pulled aside." +msgstr "" -#. ~ Description for stepladder #: lang/json/furniture_from_json.py -msgid "" -"A short, foldable ladder. Can help you climb to a rooftop, or maybe slow " -"something down." +msgid "clickity clack… clack… clack" msgstr "" #: lang/json/furniture_from_json.py -msgid "electric arc furnace" +msgid "clickity clack… clack" msgstr "" -#. ~ Description for electric arc furnace #: lang/json/furniture_from_json.py -msgid "" -"Not the kind of furnace you'd heat your house with, this is a device for " -"heating things to extreme temperatures as part of industrial fabrication " -"processes." +msgid "open beaded curtain" msgstr "" +#. ~ Description for open beaded curtain #: lang/json/furniture_from_json.py -msgid "drill press" +msgid "This beaded curtain has been pulled aside." msgstr "" -#. ~ Description for drill press #: lang/json/furniture_from_json.py -msgid "" -"A powerful drill mounted on a slide that lets it drop precisely down. " -"Useful in all kinds of projects from industrial fabrication to home " -"woodworking." +msgid "clickity clack… clack… clack!" msgstr "" #: lang/json/furniture_from_json.py -msgid "tablesaw" -msgstr "" +msgid "canvas floor" +msgstr "帆布地板" -#. ~ Description for tablesaw +#. ~ Description for canvas floor #: lang/json/furniture_from_json.py msgid "" -"A rotating saw blade set into a large flat table, for making straight " -"measured cuts. One of the key tools in a carpenter's arsenal." +"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " +"of the tent." msgstr "" #: lang/json/furniture_from_json.py -msgid "mitre saw" -msgstr "" +msgid "canvas wall" +msgstr "帆布牆" -#. ~ Description for mitre saw +#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "" -"A circular saw blade on an arm that can slide and rotate in several " -"directions, this is a staple tool for nearly any carpentry." -msgstr "" +msgid "A wall made of stretched, waterproof cloth." +msgstr "一面大防水布做成的牆壁。" -#: lang/json/furniture_from_json.py -msgid "bandsaw" -msgstr "" +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "slap!" +msgstr "啪!" -#. ~ Description for bandsaw +#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "" -"A ribbonlike sawblade runs in a single direction in this tool, allowing " -"precise cuts at almost any angle." -msgstr "" +msgid "A wall made of stretched, heavy-duty, waterproof cloth." +msgstr "一面大重型防水布做成的牆壁。" #: lang/json/furniture_from_json.py -msgid "router table" -msgstr "" +msgid "canvas flap" +msgstr "帆布簾" -#. ~ Description for router table +#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "" -"This table has an inset router, a rotating motor with an exchangeable blade " -"head for cutting specific profiles and grooves and stuff." -msgstr "" +msgid "This canvas flap door could be pulled aside." +msgstr "這個帆布門簾可以拉到一邊。" #: lang/json/furniture_from_json.py -msgid "planer" -msgstr "" +msgid "open canvas flap" +msgstr "打開的帆布簾" -#. ~ Description for planer +#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "" -"A hefty tool that will take in a board and cut it smooth and flat to a " -"specific width. Particularly great if working with raw lumber stock, but " -"also good just for shaving wood down to size." -msgstr "" +msgid "This canvas flap door has been pulled aside." +msgstr "這個帆布門簾被拉到一邊。" +#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "jointer" -msgstr "" +msgid "This heavy canvas flap door could be pulled aside." +msgstr "這個大型帆布門簾可以拉到一邊。" -#. ~ Description for jointer +#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "" -"A table-shaped tool with a rotating blade that will cut down, smooth out, " -"and square off a board to make it very smooth and nice indeed." -msgstr "" +msgid "This heavy canvas flap door has been pulled aside." +msgstr "這個大型帆布門簾被拉到一邊。" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "hydraulic press" -msgstr "液壓機" +#: lang/json/furniture_from_json.py +msgid "groundsheet" +msgstr "地墊" -#. ~ Description for hydraulic press +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "" -"If you really want to squash something a lot, this would be exactly the " -"right industrial tool for you. If, you know, it had power." -msgstr "" +msgid "This plastic groundsheet could keep you dry." +msgstr "這種塑膠地墊可以讓你保持乾爽。" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "power lathe" -msgstr "動力車床" +#. ~ Description for groundsheet +#: lang/json/furniture_from_json.py +msgid "This large plastic groundsheet could keep you dry." +msgstr "這種大型塑膠地墊可以讓你保持乾爽。" -#. ~ Description for power lathe +#. ~ Description for groundsheet #: lang/json/furniture_from_json.py msgid "" -"An industrial-grade lathe, for turning chunks of metal and other hard things" -" into round chunks of metal and other hard things." -msgstr "" +"This plastic government-issue groundsheet could keep you dry, but was made " +"by the lowest bidder." +msgstr "這種政府發放的塑膠地墊可以讓你保持乾爽。只是它是由投標最低價者製作的。" #: lang/json/furniture_from_json.py -msgid "air compressor" -msgstr "空氣壓縮機" +msgid "animalskin wall" +msgstr "獸皮牆" -#. ~ Description for air compressor +#. ~ Description for animalskin wall #: lang/json/furniture_from_json.py -msgid "" -"This durable tank is topped with a motor that will cram as much air into the" -" tank as possible." +msgid "Wall made out of animal skin. Either an amazing or horrifying sight." msgstr "" #: lang/json/furniture_from_json.py -msgid "fermenting vat" -msgstr "發酵池" +msgid "animalskin flap" +msgstr "獸皮簾" -#. ~ Description for fermenting vat -#. ~ Description for filled fermenting vat +#. ~ Description for animalskin flap #: lang/json/furniture_from_json.py -msgid "A sealable vat for fermenting vinegar and various alcoholic brews." -msgstr "用於發酵醋和各種酒類釀造的可密封桶。" +msgid "This animal skin flap could be pulled aside." +msgstr "" #: lang/json/furniture_from_json.py -msgid "filled fermenting vat" -msgstr "裝滿的發酵池" +msgid "open animalskin flap" +msgstr "打開的獸皮簾" +#. ~ Description for open animalskin flap #: lang/json/furniture_from_json.py -msgid "butchering rack" -msgstr "屠宰架" +msgid "This animal skin flap has been pulled aside." +msgstr "" -#. ~ Description for butchering rack #: lang/json/furniture_from_json.py -msgid "Butchering rack designed to hang a carcass in the air." -msgstr "屠宰架專門用來將待宰的屍體懸掛起來。" +msgid "animalskin floor" +msgstr "獸皮地板" -#. ~ Description for metal butchering rack +#. ~ Description for animalskin floor #: lang/json/furniture_from_json.py -msgid "" -"Metal butchering rack designed to hang a carcass in the air. It can be " -"deconstructed and folded for easy transportation." -msgstr "金屬屠宰架專門用來將待宰的屍體懸掛起來。它可以拆移和折疊, 以便於攜行。" +msgid "This animal skin groundsheet could keep you dry." +msgstr "" #: lang/json/furniture_from_json.py msgid "pile of rubble" @@ -80677,9 +85001,8 @@ msgstr "一堆垃圾瓦礫" #. ~ Description for pile of trashy rubble #: lang/json/furniture_from_json.py msgid "" -"Trash topped with dirt and grass, it smells gross, but another man's " -"trash..." -msgstr "垃圾堆上有泥土和草,發出惡臭,但是一個人的垃圾將會是......" +"Trash topped with dirt and grass, it smells gross, but another man's trash…" +msgstr "" #: lang/json/furniture_from_json.py msgid "metal wreckage" @@ -80700,461 +85023,308 @@ msgid "Some ash, from wood or possibly bodies." msgstr "一些灰燼,來自木材,也可能是屍體。" #: lang/json/furniture_from_json.py -msgid "bulletin board" -msgstr "告示牌" +msgid "small boulder" +msgstr "小圓石" -#. ~ Description for bulletin board +#. ~ Description for small boulder #: lang/json/furniture_from_json.py msgid "" -"A big, cork bulletin board capable of sporting various notices. Pin some " -"notes for other survivors to read." -msgstr "一個大型軟木公告板,能夠張貼各種通知。為其他倖存者寫下一些注意事項吧。" - -#: lang/json/furniture_from_json.py -msgid "sign" -msgstr "標誌" - -#. ~ Description for sign -#: lang/json/furniture_from_json.py -msgid "Read it. Warnings ahead." -msgstr "閱讀。注意前方。" +"Blocking your path. Should be easy to move. It can be used as a primitive " +"anvil." +msgstr "擋住你的去路。應該很容易搬動。它可以當作原始的鐵砧。" #: lang/json/furniture_from_json.py -msgid "warning sign" -msgstr "警示牌" +msgid "medium boulder" +msgstr "中圓石" -#. ~ Description for warning sign +#. ~ Description for medium boulder #: lang/json/furniture_from_json.py msgid "" -"A triangle-shaped sign on a post meant to indicate something important or " -"hazard." -msgstr "柱子上的三角形標誌表示重要或危險的東西。" - -#: lang/json/furniture_from_json.py -msgid "standing mirror" -msgstr "直立式鏡子" - -#. ~ Description for standing mirror -#: lang/json/furniture_from_json.py -msgid "Lookin' good - is that blood?" -msgstr "看起來很好 - 那是血嗎?" +"Blocking your path. It'll be a struggle to move. It can be used as a " +"primitive anvil." +msgstr "擋住你的去路。不容易搬動。它可以當作原始的鐵砧。" #: lang/json/furniture_from_json.py -msgid "glass breaking" -msgstr "玻璃破掉了" +msgid "large boulder" +msgstr "大圓石" +#. ~ Description for large boulder #: lang/json/furniture_from_json.py -msgid "broken standing mirror" -msgstr "破裂的直立式鏡子" +msgid "Now how are you going to move this?" +msgstr "現在你怎麼搬這個?" -#. ~ Description for broken standing mirror #: lang/json/furniture_from_json.py -msgid "" -"You could look at yourself, if the mirror wasn't covered in cracks and " -"fractures." -msgstr "如果鏡子沒有裂縫和破損,你可以看看自己。" +msgid "forge" +msgstr "鍛造爐" +#. ~ Description for forge #: lang/json/furniture_from_json.py -msgid "vending machine" -msgstr "自動販賣機" +msgid "Metalworking station typically used in combination with an anvil." +msgstr "金屬加工工作台,常與鐵砧一起使用。" -#. ~ Description for vending machine +#. ~ Description for anvil #: lang/json/furniture_from_json.py -msgid "Buy stuff with a cash card." -msgstr "用現金卡買東西。" +msgid "Used in metalworking." +msgstr "用於金屬加工。" +#. ~ Description for still #: lang/json/furniture_from_json.py -msgid "broken vending machine" -msgstr "壞掉的自動販賣機" +msgid "" +"An essential component for brewing and chemistry that allows for refining " +"liquid mixtures." +msgstr "釀造和化學的重要組成部分,可以精煉液體混合物。" -#. ~ Description for broken vending machine +#. ~ Description for charcoal kiln +#. ~ Description for filled charcoal kiln #: lang/json/furniture_from_json.py msgid "" -"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " -"you wouldn't need to pay at all!" -msgstr "它壞掉了,你想著如何買東西。如果讓它壞得更徹底,你是不是就不需要付錢了呢!" +"A rock kiln designed to burn wood and organic material into charcoal in " +"absence of oxygen." +msgstr "一座石製碳化爐, 設計用於無氧狀態下將木材和有機材料燒製成木炭。" #: lang/json/furniture_from_json.py -msgid "dumpster" -msgstr "垃圾箱" +msgid "metal charcoal kiln" +msgstr "金屬碳化爐" -#. ~ Description for dumpster +#. ~ Description for metal charcoal kiln +#. ~ Description for filled metal charcoal kiln #: lang/json/furniture_from_json.py -msgid "Stores trash. Doesn't get picked up anymore. Note the smell." -msgstr "存放垃圾。再也不會被清走。注意那味道。" +msgid "" +"A metal kiln designed to burn wood and organic material into charcoal in " +"absence of oxygen." +msgstr "一座金屬碳化爐, 設計用於無氧狀態下將木材和有機材料燒製成木炭。" #: lang/json/furniture_from_json.py -msgid "canvas wall" -msgstr "帆布牆" +msgid "filled metal charcoal kiln" +msgstr "已裝填的金屬碳化爐" -#. ~ Description for canvas wall +#. ~ Description for arc furnace +#. ~ Description for filled arc furnace #: lang/json/furniture_from_json.py -msgid "A wall made of stretched, waterproof cloth." -msgstr "一面大防水布做成的牆壁。" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "slap!" -msgstr "啪!" +msgid "" +"An arc furnace designed to burn a powdery mix of coke and limestone to " +"create calcium carbide." +msgstr "" -#. ~ Description for canvas wall #: lang/json/furniture_from_json.py -msgid "A wall made of stretched, heavy-duty, waterproof cloth." -msgstr "一面大重型防水布做成的牆壁。" +msgid "filled arc furnace" +msgstr "" #: lang/json/furniture_from_json.py -msgid "canvas flap" -msgstr "帆布簾" +msgid "smoking rack" +msgstr "煙燻架" -#. ~ Description for canvas flap +#. ~ Description for smoking rack +#. ~ Description for metal smoking rack +#. ~ Description for active metal smoking rack #: lang/json/furniture_from_json.py -msgid "This canvas flap door could be pulled aside." -msgstr "這個帆布門簾可以拉到一邊。" +msgid "" +"A special rack designed to smoke food for better preservation and taste." +msgstr "專門設計用來煙燻食物的架子,讓食物更美味也保存更久。" #: lang/json/furniture_from_json.py -msgid "open canvas flap" -msgstr "打開的帆布簾" +msgid "active smoking rack" +msgstr "啟動中煙燻架" -#. ~ Description for open canvas flap +#. ~ Description for active smoking rack #: lang/json/furniture_from_json.py -msgid "This canvas flap door has been pulled aside." -msgstr "這個帆布門簾被拉到一邊。" +msgid "" +"A special rack designed to smoke food for better preservation and taste. It" +" is lit and smoking." +msgstr "一個特製的用來煙燻食物的架子, 可以讓食物更好吃且便於保存。它已被點燃, 正在煙燻中。" -#. ~ Description for canvas flap #: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door could be pulled aside." -msgstr "這個大型帆布門簾可以拉到一邊。" +msgid "active metal smoking rack" +msgstr "" -#. ~ Description for open canvas flap #: lang/json/furniture_from_json.py -msgid "This heavy canvas flap door has been pulled aside." -msgstr "這個大型帆布門簾被拉到一邊。" +msgid "rock forge" +msgstr "石製鍛造爐" +#. ~ Description for rock forge #: lang/json/furniture_from_json.py -msgid "groundsheet" -msgstr "地墊" +msgid "" +"Metalworking station made of rock, typically used in combination with an " +"anvil." +msgstr "石製的金屬加工工作台,常與鐵砧一起使用。" -#. ~ Description for groundsheet #: lang/json/furniture_from_json.py -msgid "This plastic groundsheet could keep you dry." -msgstr "這種塑膠地墊可以讓你保持乾爽。" +msgid "clay kiln" +msgstr "陶製碳化爐" -#. ~ Description for groundsheet +#. ~ Description for clay kiln #: lang/json/furniture_from_json.py -msgid "This large plastic groundsheet could keep you dry." -msgstr "這種大型塑膠地墊可以讓你保持乾爽。" +msgid "A kiln designed to bake clay pottery and bricks." +msgstr "專門用來燒製陶器和磚塊的窯。" -#. ~ Description for groundsheet +#. ~ Description for stepladder #: lang/json/furniture_from_json.py msgid "" -"This plastic government-issue groundsheet could keep you dry, but was made " -"by the lowest bidder." -msgstr "這種政府發放的塑膠地墊可以讓你保持乾爽。只是它是由投標最低價者製作的。" - -#: lang/json/furniture_from_json.py -msgid "animalskin wall" -msgstr "獸皮牆" - -#. ~ Description for animalskin wall -#: lang/json/furniture_from_json.py -msgid "Wall made out of animal skin. Either an amazing or horrifying sight." +"A short, foldable ladder. Can help you climb to a rooftop, or maybe slow " +"something down." msgstr "" #: lang/json/furniture_from_json.py -msgid "animalskin flap" -msgstr "獸皮簾" - -#. ~ Description for animalskin flap -#: lang/json/furniture_from_json.py -msgid "This animal skin flap could be pulled aside." +msgid "electric arc furnace" msgstr "" +#. ~ Description for electric arc furnace #: lang/json/furniture_from_json.py -msgid "open animalskin flap" -msgstr "打開的獸皮簾" - -#. ~ Description for open animalskin flap -#: lang/json/furniture_from_json.py -msgid "This animal skin flap has been pulled aside." +msgid "" +"Not the kind of furnace you'd heat your house with, this is a device for " +"heating things to extreme temperatures as part of industrial fabrication " +"processes." msgstr "" #: lang/json/furniture_from_json.py -msgid "animalskin floor" -msgstr "獸皮地板" - -#. ~ Description for animalskin floor -#: lang/json/furniture_from_json.py -msgid "This animal skin groundsheet could keep you dry." +msgid "drill press" msgstr "" -#: lang/json/furniture_from_json.py -msgid "statue" -msgstr "雕像" - -#. ~ Description for statue -#: lang/json/furniture_from_json.py -msgid "A carved statue made of stone." -msgstr "雕刻石像" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "thump." -msgstr "咚。" - -#: lang/json/furniture_from_json.py -msgid "mannequin" -msgstr "服裝模特兒" - -#. ~ Description for mannequin +#. ~ Description for drill press #: lang/json/furniture_from_json.py msgid "" -"Put clothes on it, talk to it. Who's around to judge you? Wait... did it " -"just move?" -msgstr "為它穿上衣服,跟它說話。誰會來批評你呢?等等......它剛剛移動了嗎?" - -#: lang/json/furniture_from_json.py -msgid "birdbath" -msgstr "鳥浴盆" - -#. ~ Description for birdbath -#: lang/json/furniture_from_json.py -msgid "A decorative cement birdbath and pedestal." -msgstr "一個有裝飾的水泥水盆跟基座。" - -#: lang/json/furniture_from_json.py -msgid "rotary clothes dryer line" -msgstr "旋轉式曬衣繩架" - -#. ~ Description for rotary clothes dryer line -#: lang/json/furniture_from_json.py -msgid "A umbrella shaped clothes line mounted on a pole." -msgstr "傘狀曬衣繩架設在一根長桿上頭。" - -#: lang/json/furniture_from_json.py -msgid "mounted solar panel" -msgstr "架設好的太陽能板" - -#. ~ Description for mounted solar panel -#: lang/json/furniture_from_json.py -msgid "A mounted solar panel." -msgstr "一面架設好的太陽能板。" +"A powerful drill mounted on a slide that lets it drop precisely down. " +"Useful in all kinds of projects from industrial fabrication to home " +"woodworking." +msgstr "" #: lang/json/furniture_from_json.py -msgid "spider egg sack" -msgstr "蜘蛛卵囊" +msgid "tablesaw" +msgstr "" -#. ~ Description for spider egg sack +#. ~ Description for tablesaw #: lang/json/furniture_from_json.py msgid "" -"Much too large, off-white egg sack. Kind of icky. Something IS moving in " -"there." +"A rotating saw blade set into a large flat table, for making straight " +"measured cuts. One of the key tools in a carpenter's arsenal." msgstr "" -#. ~ Description for spider egg sack #: lang/json/furniture_from_json.py -msgid "" -"Bulbous mass of spider eggs. More than kind of icky. Something IS moving " -"in there." +msgid "mitre saw" msgstr "" -#. ~ Description for spider egg sack +#. ~ Description for mitre saw #: lang/json/furniture_from_json.py msgid "" -"A horrifyingly oversized egg sack. Something IS moving in there. If you're" -" seeing this, you're already too close to it." +"A circular saw blade on an arm that can slide and rotate in several " +"directions, this is a staple tool for nearly any carpentry." msgstr "" #: lang/json/furniture_from_json.py -msgid "ruptured egg sack" -msgstr "破裂的蜘蛛卵囊" - -#. ~ Description for ruptured egg sack -#: lang/json/furniture_from_json.py -msgid "Super icky. Spider stuff's spilling out." +msgid "bandsaw" msgstr "" -#: lang/json/furniture_from_json.py -msgid "reinforced vending machine" -msgstr "強化的自動販賣機" - -#. ~ Description for reinforced vending machine +#. ~ Description for bandsaw #: lang/json/furniture_from_json.py msgid "" -"A bit tougher to crack open than regular vending machines. That just makes " -"it all the sweeter a target, doesn't it?" +"A ribbonlike sawblade runs in a single direction in this tool, allowing " +"precise cuts at almost any angle." msgstr "" #: lang/json/furniture_from_json.py -msgid "display case" -msgstr "展示櫃" - -#. ~ Description for display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff fancily and securely." +msgid "router table" msgstr "" -#: lang/json/furniture_from_json.py -msgid "broken display case" -msgstr "破碎的展示櫃" - -#. ~ Description for broken display case -#: lang/json/furniture_from_json.py -msgid "Display your stuff. It'll get stolen." -msgstr "展示你的物品。會被偷。" - -#: lang/json/furniture_from_json.py -msgid "standing tank" -msgstr "水槽" - -#. ~ Description for standing tank -#: lang/json/furniture_from_json.py -msgid "A large freestanding metal tank, useful for holding liquids." -msgstr "一個大型獨立式金屬罐,可用於盛裝液體。" - -#: lang/json/furniture_from_json.py -msgid "canvas floor" -msgstr "帆布地板" - -#. ~ Description for canvas floor +#. ~ Description for router table #: lang/json/furniture_from_json.py msgid "" -"Flooring made out of stretched, waterproof cloth. Helps keep the dirt out " -"of the tent." +"This table has an inset router, a rotating motor with an exchangeable blade " +"head for cutting specific profiles and grooves and stuff." msgstr "" #: lang/json/furniture_from_json.py -msgid "robotic arm" -msgstr "機械手臂" +msgid "planer" +msgstr "" -#. ~ Description for robotic arm +#. ~ Description for planer #: lang/json/furniture_from_json.py msgid "" -"Automation! Science! Industry! Make a better horse! This robot arm " -"promises to do it all. Except it's currently unpowered. You could remove " -"the casing and retrieve the electronics through disassembly." +"A hefty tool that will take in a board and cut it smooth and flat to a " +"specific width. Particularly great if working with raw lumber stock, but " +"also good just for shaving wood down to size." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "thunk." -msgstr "咚。" - -#: lang/json/furniture_from_json.py -msgid "automated gas console" -msgstr "自動瓦斯調節器" - -#. ~ Description for automated gas console #: lang/json/furniture_from_json.py -msgid "Automated gas flow control console." +msgid "jointer" msgstr "" -#: lang/json/furniture_from_json.py -msgid "broken automated gas console" -msgstr "壞掉的自動瓦斯調節器" - -#. ~ Description for broken automated gas console +#. ~ Description for jointer #: lang/json/furniture_from_json.py msgid "" -"Automated gas flow control console. Broken. This is not a good thing." +"A table-shaped tool with a rotating blade that will cut down, smooth out, " +"and square off a board to make it very smooth and nice indeed." msgstr "" -#: lang/json/furniture_from_json.py -msgid "small boulder" -msgstr "小圓石" +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "hydraulic press" +msgstr "液壓機" -#. ~ Description for small boulder +#. ~ Description for hydraulic press #: lang/json/furniture_from_json.py msgid "" -"Blocking your path. Should be easy to move. It can be used as a primitive " -"anvil." -msgstr "擋住你的去路。應該很容易搬動。它可以當作原始的鐵砧。" +"If you really want to squash something a lot, this would be exactly the " +"right industrial tool for you. If, you know, it had power." +msgstr "" -#: lang/json/furniture_from_json.py -msgid "medium boulder" -msgstr "中圓石" +#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py +msgid "power lathe" +msgstr "動力車床" -#. ~ Description for medium boulder +#. ~ Description for power lathe #: lang/json/furniture_from_json.py msgid "" -"Blocking your path. It'll be a struggle to move. It can be used as a " -"primitive anvil." -msgstr "擋住你的去路。不容易搬動。它可以當作原始的鐵砧。" - -#: lang/json/furniture_from_json.py -msgid "large boulder" -msgstr "大圓石" - -#. ~ Description for large boulder -#: lang/json/furniture_from_json.py -msgid "Now how are you going to move this?" -msgstr "現在你怎麼搬這個?" - -#: lang/json/furniture_from_json.py -msgid "stone slab" -msgstr "石板" - -#. ~ Description for stone slab -#: lang/json/furniture_from_json.py -msgid "A flat slab of heavy stone." +"An industrial-grade lathe, for turning chunks of metal and other hard things" +" into round chunks of metal and other hard things." msgstr "" #: lang/json/furniture_from_json.py -msgid "manacles" -msgstr "手銬" +msgid "air compressor" +msgstr "空氣壓縮機" -#. ~ Description for manacles +#. ~ Description for air compressor #: lang/json/furniture_from_json.py msgid "" -"Chain serfs in your dungeon. All you need now is an iron ball to chain to " -"it." +"This durable tank is topped with a motor that will cram as much air into the" +" tank as possible." msgstr "" -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -#: lang/json/terrain_from_json.py -msgid "crack." -msgstr "喀啦。" - -#: lang/json/furniture_from_json.py -msgid "headstone" -msgstr "墓石" - -#. ~ Description for headstone -#: lang/json/furniture_from_json.py -msgid "Keeps the bodies." -msgstr "保存屍身。" - #: lang/json/furniture_from_json.py -msgid "gravestone" -msgstr "墓碑" +msgid "fermenting vat" +msgstr "發酵池" -#. ~ Description for gravestone +#. ~ Description for fermenting vat +#. ~ Description for filled fermenting vat #: lang/json/furniture_from_json.py -msgid "Keeps the bodies. More fancy." -msgstr "保存屍身。更加花俏。" +msgid "A sealable vat for fermenting vinegar and various alcoholic brews." +msgstr "用於發酵醋和各種酒類釀造的可密封桶。" #: lang/json/furniture_from_json.py -msgid "worn gravestone" -msgstr "破舊的墓碑" +msgid "filled fermenting vat" +msgstr "裝滿的發酵池" -#. ~ Description for worn gravestone #: lang/json/furniture_from_json.py -msgid "A worn-out gravestone." -msgstr "" +msgid "butchering rack" +msgstr "屠宰架" +#. ~ Description for butchering rack #: lang/json/furniture_from_json.py -msgid "obelisk" -msgstr "方尖碑" +msgid "Butchering rack designed to hang a carcass in the air." +msgstr "屠宰架專門用來將待宰的屍體懸掛起來。" -#. ~ Description for obelisk +#. ~ Description for metal butchering rack #: lang/json/furniture_from_json.py -msgid "Monument to pride." -msgstr "" +msgid "" +"Metal butchering rack designed to hang a carcass in the air. It can be " +"deconstructed and folded for easy transportation." +msgstr "金屬屠宰架專門用來將待宰的屍體懸掛起來。它可以拆移和折疊, 以便於攜行。" #: lang/json/furniture_from_json.py -msgid "thunk!" -msgstr "咚!" +msgid "hanging meathook" +msgstr "掛肉鉤" -#. ~ Description for camp chair +#. ~ Description for hanging meathook #: lang/json/furniture_from_json.py -msgid "Sit down, have a drink. It can folded for easy transportation." +msgid "A hefty hook suspended from a chain for stringing up corpses." msgstr "" #. ~ Description for wind mill @@ -81192,255 +85362,54 @@ msgid "" msgstr "" #: lang/json/furniture_from_json.py -msgid "pillow fort" -msgstr "" - -#. ~ Description for pillow fort -#: lang/json/furniture_from_json.py -msgid "A comfy place to hide from the world. Not very defensible, though." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "paf!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "cardboard fort" -msgstr "紙板堡" - -#. ~ Description for cardboard fort -#: lang/json/furniture_from_json.py -msgid "" -"A fort built by tipping a cardboard box on its side, lining it with " -"blankets, and partly weather sealing it with a plastic sheet." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "crumple!" -msgstr "" - -#: lang/json/furniture_from_json.py src/ballistics.cpp -msgid "thud." -msgstr "咚。" - -#: lang/json/furniture_from_json.py -msgid "cardboard wall" -msgstr "紙板牆" - -#. ~ Description for cardboard wall -#: lang/json/furniture_from_json.py -msgid "" -"This is a pile of cardboard boxes that have been filled with rags and junk " -"and stacked together like bricks to form a wall." -msgstr "" - -#. ~ Description for large cardboard box -#: lang/json/furniture_from_json.py -msgid "" -"A large cardboard box: this could be used to store things, or as a hiding " -"place." -msgstr "一個大紙板箱:這可以用來存放東西,或作為藏身之處。" - -#: lang/json/furniture_from_json.py -msgid "beaded curtain" -msgstr "" - -#. ~ Description for beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain could be pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "open beaded curtain" -msgstr "" - -#. ~ Description for open beaded curtain -#: lang/json/furniture_from_json.py -msgid "This beaded curtain has been pulled aside." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "clickity clack...clack...clack!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "filing cabinet" -msgstr "檔案櫃" - -#. ~ Description for filing cabinet -#: lang/json/furniture_from_json.py -msgid "" -"A set of drawers in a sturdy metal cabinet, used to hold files. It can be " -"locked to protect important information. If you're lucky, there are often " -"keys nearby." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "wardrobe" -msgstr "衣櫃" - -#. ~ Description for wardrobe -#: lang/json/furniture_from_json.py -msgid "A tall piece of furniture - basically a freestanding closet." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "robotic assembler" -msgstr "裝配機器人" - -#. ~ Description for robotic assembler -#: lang/json/furniture_from_json.py -msgid "" -"A durable and versatile robotic arm with a tool fitted to the end, for " -"working on an assembly line." -msgstr "" - -#: lang/json/furniture_from_json.py lang/json/terrain_from_json.py -msgid "chemical mixer" -msgstr "化工攪拌機" - -#. ~ Description for chemical mixer -#: lang/json/furniture_from_json.py -msgid "" -"When chemicals need to be mixed in large quantities at just the right " -"combinations and temperatures, this is the tool for the job." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "floor lamp" -msgstr "" - -#. ~ Description for floor lamp -#: lang/json/furniture_from_json.py -msgid "A tall standing lamp, meant to plug into a wall and light up a room." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "bonk!" -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "document shredder" -msgstr "碎紙機" - -#. ~ Description for document shredder -#: lang/json/furniture_from_json.py -msgid "" -"It's not all about hiding government secrets, sometimes you just want to " -"stop identity theft." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "server stack" -msgstr "伺服器堆" - -#. ~ Description for server stack -#: lang/json/furniture_from_json.py -msgid "This is a big pile of computers. They're all turned off." -msgstr "一大堆的電腦。他們都關閉著。" - -#: lang/json/furniture_from_json.py -msgid "large satellite dish" -msgstr "大型衛星碟型天線" - -#. ~ Description for large satellite dish -#: lang/json/furniture_from_json.py -msgid "" -"Somewhere up there, there are still satellites, orbiting and doing their " -"thing, sending signals down to an Earth that is no longer listening." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "hanging meathook" -msgstr "掛肉鉤" - -#. ~ Description for hanging meathook -#: lang/json/furniture_from_json.py -msgid "A hefty hook suspended from a chain for stringing up corpses." -msgstr "" - -#: lang/json/furniture_from_json.py -msgid "fake workbench hands" -msgstr "" +msgid "automated gas console" +msgstr "自動瓦斯調節器" -#. ~ Description for fake workbench hands +#. ~ Description for automated gas console #: lang/json/furniture_from_json.py -msgid "This fake workbench holds the stats for working on a wielded item." +msgid "Automated gas flow control console." msgstr "" #: lang/json/furniture_from_json.py -msgid "ground crafting spot" -msgstr "地面製作現場" - -#. ~ Description for ground crafting spot -#: lang/json/furniture_from_json.py -msgid "" -"A cleared spot on the ground for crafting. Slower than using a workbench or" -" holding a project in your hands, but readily available." -msgstr "把這地面清理乾淨以便於製作。比使用工作台或手持製作物品更加緩慢,但隨時可用。" - -#: lang/json/furniture_from_json.py -msgid "tatami mat" -msgstr "榻榻米" +msgid "broken automated gas console" +msgstr "壞掉的自動瓦斯調節器" -#. ~ Description for tatami mat +#. ~ Description for broken automated gas console #: lang/json/furniture_from_json.py msgid "" -"A tatami is a type of mat used as a flooring material in traditional " -"Japanese-style rooms." +"Automated gas flow control console. Broken. This is not a good thing." msgstr "" #: lang/json/furniture_from_json.py -msgid "bitts" -msgstr "" +msgid "reinforced vending machine" +msgstr "強化的自動販賣機" -#. ~ Description for bitts +#. ~ Description for reinforced vending machine #: lang/json/furniture_from_json.py msgid "" -"Paired vertical iron posts mounted on a wharf, pier or quay. They are used " -"to secure mooring lines, ropes, hawsers, or cables." +"A bit tougher to crack open than regular vending machines. That just makes " +"it all the sweeter a target, doesn't it?" msgstr "" #: lang/json/furniture_from_json.py -msgid "speaker cabinet" -msgstr "" +msgid "vending machine" +msgstr "自動販賣機" -#. ~ Description for speaker cabinet +#. ~ Description for vending machine #: lang/json/furniture_from_json.py -msgid "" -"A cabinet loaded with 12-inch speakers, intended to help make various things" -" loud. It can't serve its original purpose these days, but it could be " -"disassembled for various electronic parts." -msgstr "" +msgid "Buy stuff with a cash card." +msgstr "用現金卡買東西。" -#. ~ Description for seeing this is a bug #: lang/json/furniture_from_json.py -msgid "Seeing this is a bug. If seen, please report and destroy." -msgstr "" +msgid "broken vending machine" +msgstr "壞掉的自動販賣機" -#. ~ Description for swamp gas +#. ~ Description for broken vending machine #: lang/json/furniture_from_json.py msgid "" -"This is a pool of murkey water, it occassionaly bubbles, releasing a mildly " -"toxic gas." -msgstr "" - -#: lang/json/furniture_from_json.py src/ballistics.cpp src/map.cpp -msgid "splash!" -msgstr "啪啦!" - -#. ~ Description for fog -#: lang/json/furniture_from_json.py -msgid "This is a misty cloud of fog." -msgstr "" +"Ponder if you could buy stuff, as it's broken. Maybe if you broke it more, " +"you wouldn't need to pay at all!" +msgstr "它壞掉了,你想著如何買東西。如果讓它壞得更徹底,你是不是就不需要付錢了呢!" #. ~ Description for vehicle refrigerator #: lang/json/furniture_from_json.py @@ -81540,6 +85509,15 @@ msgid "" "blood, candles, and other small knick-knacks." msgstr "" +#: lang/json/furniture_from_json.py +msgid "large glowing boulder" +msgstr "" + +#. ~ Description for large glowing boulder +#: lang/json/furniture_from_json.py +msgid "Something about this doesn't look right." +msgstr "" + #: lang/json/furniture_from_json.py msgid "krash!" msgstr "" @@ -81569,8 +85547,8 @@ msgstr "大門已打開!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You turn the handle..." -msgstr "你轉動方向盤…" +msgid "You turn the handle…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -81589,8 +85567,8 @@ msgstr "倉庫的門打開了!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You pull the rope..." -msgstr "你拉動繩子…" +msgid "You pull the rope…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -81624,8 +85602,8 @@ msgstr "門升起了!" #. ~ 'pull' action message of some gate object. #: lang/json/gates_from_json.py -msgid "You throw the lever..." -msgstr "你拉動控制桿…" +msgid "You throw the lever…" +msgstr "" #. ~ 'close' action message of some gate object. #: lang/json/gates_from_json.py @@ -81747,7 +85725,7 @@ msgid "Fake gun that fires acid globs." msgstr "能夠發射酸液球的槍。" #: lang/json/gun_from_json.py lang/json/gunmod_from_json.py -#: src/item_factory.cpp src/turret.cpp +#: src/item_factory.cpp msgid "auto" msgstr "自動" @@ -81807,7 +85785,7 @@ msgstr[0] "單弓" msgid "" "A primitive bow fashioned from a single piece of wood, made specifically for" " the person using it. Weak and wildly inaccurate, it doesn't work that " -"well, unfortunately..." +"well, unfortunately…" msgstr "" #: lang/json/gun_from_json.py @@ -81968,9 +85946,7 @@ msgid "" "this weapon have a good chance of remaining intact for re-use." msgstr "一把可以藏在袖中的迷你手弩。由於尺寸的限制, 傷害並不高, 適合用於小型的狩獵遊戲。從這把弩射出的箭矢有一定的機率可以回收使用。" -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "pistol" msgstr "手槍" @@ -82213,10 +86189,10 @@ msgstr[0] "便攜式等離子加速器 - 第五代" #: lang/json/gun_from_json.py msgid "" "Portable Plasma Accelerator Model Five, developed by Lockheed Martin " -"Corporation. This device uses highly advanced capacitor banks to create a " -"torus of superheated hydrogen plasma and accelerate it to incredible speed. " -"It was designed to take down heavy vehicles, and was expected to fully enter" -" US Army service not long before the Cataclysm." +"Corporation. This device uses highly advanced capacitor banks to create a " +"torus of superheated hydrogen plasma and accelerate it to incredible speed." +" It was designed to take down heavy vehicles, and was expected to fully " +"enter US Army service not long before the Cataclysm." msgstr "" #: lang/json/gun_from_json.py @@ -82231,8 +86207,7 @@ msgid "" " a double barrel shotgun." msgstr "一把土炮的三管槍械。其中一管的口徑是 .30-06, 另外兩管能裝填霰彈。它是由鋼管和拆解出來的雙管散彈槍零件組合而成。" -#: lang/json/gun_from_json.py lang/json/gun_from_json.py -#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py +#: lang/json/gun_from_json.py lang/json/gunmod_from_json.py msgctxt "gun_type_type" msgid "shotgun" msgstr "霰彈槍" @@ -82643,8 +86618,8 @@ msgstr[0] "華瑟 P22 手槍" #: lang/json/gun_from_json.py msgid "" -"The Walther P22 is a blowback operated semi-automatic pistol. It is about " -"half the size of most Walthers. It is made mostly with plastic, with the " +"The Walther P22 is a blowback operated semi-automatic pistol. It is about " +"half the size of most Walthers. It is made mostly with plastic, with the " "slide and key components being made of die-cast zinc alloy" msgstr "" @@ -83221,12 +87196,10 @@ msgstr[0] "M24 狙擊步槍" msgid "" "The M24 Sniper is the military and police version of the Remington Model 700" " rifle, M24 being the model name assigned by the United States Army after " -"adoption as their standard sniper rifle in 1988. The M24 is referred to as a" -" 'weapon system' because it consists of not only a rifle, but also a " +"adoption as their standard sniper rifle in 1988. The M24 is referred to as " +"a 'weapon system' because it consists of not only a rifle, but also a " "detachable telescopic sight and other accessories." msgstr "" -"M24 " -"狙擊步槍是屬於軍警版的雷明登700型步槍,M24的型號是由1988年美軍所採用作為標準狙擊槍。M24是一種武器系統,因為他不只是包含步槍,也包含了諸如可分離式瞄準鏡等各種配件。" #: lang/json/gun_from_json.py msgid "HK417 A2" @@ -83304,7 +87277,7 @@ msgstr[0] "Kel-Tec P32s" #: lang/json/gun_from_json.py msgid "" "One of Kel-tec's oldest designs, the P32 is a popular option for deep " -"concealment and backup usage. Despite its extreme light weight and small " +"concealment and backup usage. Despite its extreme light weight and small " "size, its .32 ACP chambering makes for good handling and recoil control." msgstr "" @@ -83368,16 +87341,16 @@ msgstr "" "一個手工製, 使用 .38 special 子彈的雙管手槍, 很不幸的, 這把槍的名字和它的雙槍管沒啥關係, 而是指它故障可能會害你中兩槍。" #: lang/json/gun_from_json.py -msgid "COP .38" -msgid_plural "COP .38" -msgstr[0] "COP .38" +msgid "COP .357 Derringer" +msgid_plural "COP .357 Derringers" +msgstr[0] "" #: lang/json/gun_from_json.py msgid "" -"The COP .38 is a small, chubby derringer pistol that bears a slight " -"resemblance to the Mossberg Brownie. It has four barrels arranged in a " -"square formation." -msgstr "COP .38是一把細小、圓胖的德林加槍, 跟Mossberg Brownie 有一點相似, 它有四支排成四方形的槍管。" +"A small, chubby derringer pistol bearing a slight resemblance to the " +"Mossberg Brownie. It uses a rotating firing pin to fire the individual " +"hammers of the four barrels arranged in a square formation." +msgstr "" #: lang/json/gun_from_json.py msgid "pipe rifle: .38 Special" @@ -83406,17 +87379,6 @@ msgid "" " sight and a reinforced frame." msgstr "一把由 Smith & Wesson 公司販售的 7 發裝的 .38 左輪手槍。特點為固定的前準星與鋼製的框架。" -#: lang/json/gun_from_json.py -msgid "Taurus Pro .38" -msgid_plural "Taurus Pro .38" -msgstr[0] "Taurus Pro .38" - -#: lang/json/gun_from_json.py -msgid "" -"A popular .38 pistol. Designed with numerous safety features and built from" -" high-quality, durable materials." -msgstr "一把受歡迎的 .38 口徑手槍。有著多種安全的設計以及由高品質、耐用的材質打造。" - #: lang/json/gun_from_json.py msgid "MAC-11" msgid_plural "MAC-11s" @@ -83479,10 +87441,21 @@ msgstr[0] "Hi-Point CF-380 手槍" msgid "" "The Hi-Point CF-380 is a blowback operated semi automatic pistol designed by" " Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" +#: lang/json/gun_from_json.py +msgid "Taurus Spectrum" +msgid_plural "Taurus Spectrum" +msgstr[0] "" + +#: lang/json/gun_from_json.py +msgid "" +"A .380 subcompact pistol. Designed for concealed carry and built from high-" +"quality, durable materials." +msgstr "" + #: lang/json/gun_from_json.py msgid "M1911A1" msgid_plural "M1911A1s" @@ -83568,9 +87541,9 @@ msgstr[0] "白朗寧 Hi-Power .40 S&W 手槍" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in .40 S&W." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in .40 S&W." msgstr "" #: lang/json/gun_from_json.py @@ -83594,8 +87567,9 @@ msgstr[0] "Hi-Point Model JCP 手槍" msgid "" "The Hi-Point Model JCP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" #: lang/json/gun_from_json.py @@ -83936,8 +87910,9 @@ msgstr[0] "Hi-Point Model JHP 手槍" msgid "" "The Hi-Point Model JHP is a blowback operated semi automatic pistol designed" " by Hi-Point Firearms, which is known for making inexpensive firearms, and " -"for making said firearms bulky and uncomfortable. Hi-Points have slides made" -" with a zinc pot-metal which is relatively fragile compared to steel slides." +"for making said firearms bulky and uncomfortable. Hi-Points have slides " +"made with a zinc pot-metal which is relatively fragile compared to steel " +"slides." msgstr "" #: lang/json/gun_from_json.py @@ -84115,7 +88090,7 @@ msgstr "" "由巨型的 M2 白朗寧重機槍改良, 這把削弱版的步槍不用腳架就可以射擊。與 M2 相比, 本槍的 \"連續射擊\" 模式被移除了, " "用彈帶供彈的方式也被改成由彈匣供彈。" -#: lang/json/gun_from_json.py src/item_factory.cpp src/turret.cpp +#: lang/json/gun_from_json.py src/item_factory.cpp msgid "manual" msgstr "手動" @@ -84850,9 +88825,9 @@ msgstr[0] "白朗寧 Hi-Power 9x19mm 手槍" #: lang/json/gun_from_json.py msgid "" "The Browning Hi-Power is a semi-automatic handgun developed shortly before " -"the second world war. Widely issued since then, it remains in use by India, " -"Canada and Australia. This is a commercial variant produced by Browning Arms" -" in 9x19mm Parabellum." +"the second world war. Widely issued since then, it remains in use by India," +" Canada and Australia. This is a commercial variant produced by Browning " +"Arms in 9x19mm Parabellum." msgstr "" #: lang/json/gun_from_json.py @@ -84863,8 +88838,8 @@ msgstr[0] "華瑟 P38 手槍" #: lang/json/gun_from_json.py msgid "" "The Walther P38 is a semi-automatic handgun adopted shortly before the " -"second world war. Developed due to the high production costs of its " -"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " +"second world war. Developed due to the high production costs of its " +"predecessor, the Luger P08, the P38 is also chambered in 9mm Parabellum. " "This early DA/SA locked-breech design would introduce features later seen on" " more modern firearms such as the Beretta 92 series, and served Germany " "until 2004." @@ -84879,7 +88854,7 @@ msgstr[0] "華瑟 PPQ 9mm 手槍" msgid "" "The Walther PPQ is a semi-automatic pistol originating from the Walther " "P99QA, and maintains compatibility with some of its predecessor's " -"accessories. This model is chambered in 9x19mm Parabellum." +"accessories. This model is chambered in 9x19mm Parabellum." msgstr "" #: lang/json/gun_from_json.py @@ -84891,7 +88866,7 @@ msgstr[0] "Hi-Point C-9 手槍" msgid "" "The Hi-Point C-9 is a blowback operated semi automatic pistol designed by " "Hi-Point Firearms, which is known for making inexpensive firearms, and for " -"making said firearms bulky and uncomfortable. Hi-Points have slides made " +"making said firearms bulky and uncomfortable. Hi-Points have slides made " "with a zinc pot-metal which is relatively fragile compared to steel slides." msgstr "" @@ -84903,10 +88878,10 @@ msgstr[0] "CZ-75 手槍" #: lang/json/gun_from_json.py msgid "" "The CZ-75 is a semi-automatic pistol developed in Czechoslovakia, and is one" -" of the original wonder nines. Though designed for export to western " +" of the original wonder nines. Though designed for export to western " "countries, it was declared a state secret; lack of international patent " "protection meant that many clones and variants were produced and distributed" -" around the world, with Česká zbrojovka only joining in the 90's. This " +" around the world, with Česká zbrojovka only joining in the 90's. This " "pistol remains wildly popular among competition shooters." msgstr "" @@ -84918,10 +88893,10 @@ msgstr[0] "華瑟 CCP 手槍" #: lang/json/gun_from_json.py msgid "" "The Walther CCP is a gas-delayed blowback semi-automatic pistol intended for" -" the concealed carry consumer market. Internally, it is nearly identical to " -"the cult classic H&K P7. Its fixed barrel design makes it potentially more " -"accurate than many other pistols, though this may difficult to realize with " -"its average trigger and short sight radius." +" the concealed carry consumer market. Internally, it is nearly identical to" +" the cult classic H&K P7. Its fixed barrel design makes it potentially more" +" accurate than many other pistols, though this may difficult to realize with" +" its average trigger and short sight radius." msgstr "" #: lang/json/gun_from_json.py @@ -86280,9 +90255,57 @@ msgstr[0] "德魯伊合成弓" #: lang/json/gun_from_json.py msgid "" -"A bow made of multiple materials to maximize energy efficiency. There are " +"A bow made of multiple materials to maximize energy efficiency. There are " "two Druid runes embedded at the tips." -msgstr "由多種材料製成以最大化提高能效的弓。在尖端處嵌入了兩個德魯伊符文。" +msgstr "" + +#: lang/json/gun_from_json.py +msgid "M47A1 Techno-Medusa" +msgid_plural "M47A1 Techno-Medusae" +msgstr[0] "" + +#: lang/json/gun_from_json.py +msgid "" +"A magically-enhanced update to the Phillips & Rodgers' M47 Medusa, a multi-" +"caliber revolver aimed at survivalists. While Technomancy improves the " +"reliability with smaller cartridges, it is not as accurate as dedicated " +"caliber revolvers due to freebore." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "gunblade" +msgid_plural "gunblades" +msgstr[0] "" + +#: lang/json/gun_from_json.py +msgid "" +"Constructed similarly to a falcata, this forward-sloping blade has a short-" +"barrel pump shotgun attached to the blade's spine for finishing blows or a " +"first strike." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "shotcestus" +msgid_plural "shotcesti" +msgstr[0] "" + +#: lang/json/gun_from_json.py +msgid "" +"A sawn-off double-barrel shotgun mounted on a metal cestus. The lack of a " +"stock to absorb recoil means some strength is required to fire." +msgstr "" + +#: lang/json/gun_from_json.py +msgid "Ichaival" +msgid_plural "Ichaivals" +msgstr[0] "伊奇巴爾" + +#: lang/json/gun_from_json.py +msgid "" +"Ichaival, the bow of Odin. Rumored to fire 10 arrows with every pull of the" +" string. It has gold and silver ornaments on it, as well as an ornate " +"Raven." +msgstr "" #: lang/json/gun_from_json.py msgid "Woodbow" @@ -86386,11 +90409,6 @@ msgid "" "this weapon have a good chance of remaining intact for re-use." msgstr "" -#: lang/json/gun_from_json.py -msgid "Ichaival" -msgid_plural "Ichaivals" -msgstr[0] "伊奇巴爾" - #: lang/json/gun_from_json.py msgid "" "This is a replica of the bow possessed by Odin, Ichaival, which is rumored " @@ -86544,7 +90562,7 @@ msgstr "" #: lang/json/gun_from_json.py lang/json/vehicle_part_from_json.py msgid "blobsaw" msgid_plural "blobsaws" -msgstr[0] "" +msgstr[0] "黏球鋸" #: lang/json/gun_from_json.py msgid "" @@ -86563,7 +90581,7 @@ msgstr "" #: lang/json/gun_from_json.py lang/json/vehicle_part_from_json.py msgid "fuel puffer" msgid_plural "fuel puffers" -msgstr[0] "" +msgstr[0] "燃料噴出器" #: lang/json/gun_from_json.py msgid "" @@ -86580,7 +90598,7 @@ msgstr "" #: lang/json/gun_from_json.py lang/json/vehicle_part_from_json.py msgid "acid puffer" msgid_plural "acid puffers" -msgstr[0] "" +msgstr[0] "酸液噴出器" #: lang/json/gun_from_json.py msgid "" @@ -86691,7 +90709,7 @@ msgstr "" #: lang/json/gun_from_json.py lang/json/vehicle_part_from_json.py msgid "fire puffer" msgid_plural "fire puffers" -msgstr[0] "" +msgstr[0] "火焰噴出器" #: lang/json/gun_from_json.py msgid "" @@ -87321,7 +91339,7 @@ msgstr "一個在握把上的小基座能夠把箭矢固定在上面進行瞄準 msgid "accessories" msgstr "配件" -#: lang/json/gunmod_from_json.py src/item.cpp +#: lang/json/gunmod_from_json.py lang/json/gunmod_from_json.py src/item.cpp msgctxt "gun_type_type" msgid "bow" msgstr "弓" @@ -87438,8 +91456,8 @@ msgstr[0] "UPS 測試物品" #: lang/json/gunmod_from_json.py msgid "" "Testmod for UPS drain on mods, this should never spawn, if you see this, " -"it's a bug. 50x more UPS drain." -msgstr "測試 UPS 消耗的模組。這東西應該不會生成在世界中,如果你看到它,那就是程式出錯了。50倍 UPS 消耗。" +"it's a bug. 50x more UPS drain." +msgstr "" #: lang/json/gunmod_from_json.py msgid "LW barrel extension" @@ -87583,9 +91601,9 @@ msgstr[0] "聚焦鏡頭" #: lang/json/gunmod_from_json.py msgid "" -"A set of optics to concentrate the laser beam on a smaller focus point. This" -" increases range and damage output, but complicates targeting." -msgstr "一組光學套件,用於將雷射光束聚焦在較小的焦點上。這會增加射擊距離和傷害輸出,但是會使瞄準更加困難。" +"A set of optics to concentrate the laser beam on a smaller focus point. " +"This increases range and damage output, but complicates targeting." +msgstr "" #: lang/json/gunmod_from_json.py msgid "electrolaser conversion" @@ -87607,8 +91625,8 @@ msgstr[0] "高效發射器" #: lang/json/gunmod_from_json.py msgid "" "A set of electronics to optimize emitter workcycle and increase overall " -"energy efficiency. Decreases power consumption." -msgstr "一套用於優化發射器工作週期並提高整體能效的電子設備。降低能量消耗。" +"energy efficiency. Decreases power consumption." +msgstr "" #: lang/json/gunmod_from_json.py msgid "emitter" @@ -87621,9 +91639,9 @@ msgstr[0] "高密度電容器" #: lang/json/gunmod_from_json.py msgid "" -"A capacitor with a higher energy density increases range and damage; at the" -" cost of a markedly increased power consumption." -msgstr "具有較高能量密度的電容器會增加距離和傷害;以顯著增加的能量消耗作為代價。" +"A capacitor with a higher energy density increases range and damage; at the " +"cost of a markedly increased power consumption." +msgstr "" #: lang/json/gunmod_from_json.py msgid "Leadworks magazine adapter" @@ -87816,6 +91834,19 @@ msgid "" "improving recoil but increasing bulk, noise, and reducing accuracy slightly." msgstr "砲口制退器重新定向排氣, 減少砲口上揚和降低後坐力, 但會增加散射、噪音, 以及略為降低準確度。" +#: lang/json/gunmod_from_json.py +msgid "modified muzzle brake" +msgid_plural "modified muzzle brakes" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A muzzle brake redirects exhaust gases to compensate for muzzle climb, " +"improving recoil but increasing bulk, noise, and reducing accuracy slightly." +" This one was modified and customized to mount on pretty much any firearm " +"other than launchers, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "homemade suppressor" msgid_plural "homemade suppressors" @@ -87940,6 +91971,19 @@ msgstr "在長槍槍管上安裝十字弓臂與發射滑軌的模組。能夠發 msgid "rail" msgstr "滑軌" +#: lang/json/gunmod_from_json.py +msgid "modified rail-mounted crossbow" +msgid_plural "modified rail-mounted crossbows" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A kit to attach a pair of crossbow arms and a firing rail to the barrel of a" +" long firearm. It allows crossbow bolts to be fired. This one was modified" +" and customized to mount on pretty much any weapon other than pistols and " +"SMGs, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "offset iron sights" msgid_plural "offset iron sights" @@ -87951,6 +91995,18 @@ msgid "" "other modification prevents use of the primary sights." msgstr "一個45° 傾側的偏移覘孔, 應用於被瞄準鏡或其他改造模組妨礙主瞄準具的槍械。" +#: lang/json/gunmod_from_json.py +msgid "modified offset iron sights" +msgid_plural "modified offset iron sights" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An alternative set of iron sights mounted at 45° for use when a scope or " +"other modification prevents use of the primary sights. This one was " +"modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "offset sight rail" msgid_plural "offset sight rails" @@ -87960,6 +92016,17 @@ msgstr[0] "" msgid "An additional rail set at 45° for attaching a secondary optic." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified offset sight rail" +msgid_plural "modified offset sight rails" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An additional rail set at 45° for attaching a secondary optic. This one was" +" modified and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "rail laser sight" msgid_plural "rail laser sights" @@ -87983,6 +92050,19 @@ msgid "" "vibration, greatly reducing recoil and slightly increasing accuracy." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified gyroscopic stabilizer" +msgid_plural "modified gyroscopic stabilizers" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"An advanced unit that straps onto the side of your firearm and reduces " +"vibration, greatly reducing recoil and slightly increasing accuracy. This " +"one was modified and customized to mount on pretty much any weapon other " +"than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "LW gyroscopic stabilizer" msgid_plural "LW gyroscopic stabilizers" @@ -88084,6 +92164,19 @@ msgid "" " mrad increments and is remarkably small and light for its magnification." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified rifle scope" +msgid_plural "modified rifle scopes" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 3-18x44 rifle scope. It is adjustable for windage and elevation in 1/10th" +" mrad increments and is remarkably small and light for its magnification. " +"This one was modified and customized to mount on pretty much any weapon " +"other than pistols and SMGs, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "ACOG scope" msgid_plural "ACOG scopes" @@ -88095,6 +92188,18 @@ msgid "" "crosshair." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "modified ACOG scope" +msgid_plural "modified ACOG scopes" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A 4x32 TA01 Advanced Combat Optical Gunsight with a tritium illuminated " +"crosshair. This one was modified and customized to mount on pretty much any" +" weapon other than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "RS1219 scope" msgid_plural "RS1219 scopes" @@ -88114,9 +92219,10 @@ msgstr[0] "望遠鏡式瞄具" #: lang/json/gunmod_from_json.py msgid "" -"A simple telescopic sight, essentially a small telescope with crosshairs. " -"Increases weight but improves accuracy." -msgstr "一個簡單的望遠鏡式瞄具, 基本上是一個帶有準星的小望遠鏡。增加重量但提高命中率。" +"A simple hand-crafted telescopic sight, essentially a small telescope with " +"crosshairs. Not as good as the ones made before the cataclysm. Increases " +"weight but improves accuracy." +msgstr "" #: lang/json/gunmod_from_json.py msgid "telescopic pistol sight" @@ -88269,6 +92375,20 @@ msgid "" "they are usable only on certain surfaces and are slow to equip." msgstr "兩腳架通常用於步槍與機槍, 用來減少槍管的晃動。雖然兩腳架大幅度增加了對後坐力的控制, 但它們只能在某些表面上使用, 而且裝備需時。" +#: lang/json/gunmod_from_json.py +msgid "modified bipod" +msgid_plural "modified bipods" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Bipods are commonly used on rifles and machine guns to provide a forward " +"rest and reduce motion. Although they greatly improve handling of recoil " +"they are usable only on certain surfaces and are slow to equip. This one " +"was modified and customized to mount on pretty much any weapon, if you so " +"want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "combination gun shotgun" msgid_plural "combination gun shotguns" @@ -88302,6 +92422,18 @@ msgid "" "effective as a bipod but usable under all conditions." msgstr "安裝於槍管上的前置握把可以增加槍枝的穩定度與準確性, 不及兩腳架有效但適用於任何地形。" +#: lang/json/gunmod_from_json.py +msgid "modified forward grip" +msgid_plural "modified forward grips" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A grip placed forward on the barrel allows for greater control. Not as " +"effective as a bipod but usable under all conditions. This one was modified" +" and customized to mount on pretty much any weapon, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "integrated bayonet" msgid_plural "integrated bayonets" @@ -88362,6 +92494,19 @@ msgid "" msgstr "" "M203 榴彈發射器原是為了附掛在 M16 突擊步槍而打造, 但現在可以與任何一款步槍搭配, 它可以發射 40mm 榴彈, 但發射後需立刻裝填。" +#: lang/json/gunmod_from_json.py +msgid "modified M203" +msgid_plural "modified M203s" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M203 was originally designed for use with M16 variants but today can be " +"attached to almost any rifle. It allows a single 40mm grenade to be loaded " +"and fired. This one was modified and customized to mount on pretty much any" +" weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "M320 GLM" msgid_plural "M320 GLM" @@ -88375,6 +92520,20 @@ msgid "" "use." msgstr "M320 榴彈發射器模組, 提供以小組件發射較大型榴彈的功能, 但會降低準確度。可以裝備在步槍上, 也可以裝上槍托獨立使用。" +#: lang/json/gunmod_from_json.py +msgid "modified M320 GLM" +msgid_plural "modified M320 GLMs" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The M320 Grenade Launcher Module offers the functionality of larger " +"launchers in a very small package at the cost of decreased accuracy. It can" +" be either attached to a rifle or combined with a buttstock for stand alone " +"use. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "masterkey shotgun" msgid_plural "masterkey shotguns" @@ -88387,6 +92546,19 @@ msgid "" "fired." msgstr "可以掛載於任一款步槍的霰彈槍模組, 一次能夠裝填 4 發子彈並射擊。" +#: lang/json/gunmod_from_json.py +msgid "modified masterkey shotgun" +msgid_plural "modified masterkey shotguns" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A minimalist pump action shotgun, which can be mounted under the barrel of " +"many rifles. It allows a total of four shotgun shells to be loaded and " +"fired. This one was modified and customized to mount on pretty much any " +"weapon other than pistols and pump-action guns, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "40mm pipe launcher" msgid_plural "40mm pipe launchers" @@ -88394,9 +92566,9 @@ msgstr[0] "40mm 附掛發射器" #: lang/json/gunmod_from_json.py msgid "" -"This is a home built launcher tube that can be attached to almost any rifle." -" It allows a single 40mm grenade to be loaded and fired." -msgstr "自製的榴彈發射器, 可以裝在大多數的步槍上。能夠發射 40mm 榴彈, 但發射後需立刻裝填。" +"This is a home built launcher tube that can be attached to almost any weapon" +" except handguns. It allows a single 40mm grenade to be loaded and fired." +msgstr "" #: lang/json/gunmod_from_json.py msgid "pistol bayonet" @@ -88421,6 +92593,19 @@ msgid "" "Accepts RMSA10 box magazines." msgstr "Rivtech RM121 附掛武器系統是一個彈匣供彈的半自動無殼霰彈槍, 能夠被掛載於許多步槍的槍管下。使用 RMSA10 盒狀彈匣。" +#: lang/json/gunmod_from_json.py +msgid "modified RM121 aux shotgun" +msgid_plural "modified RM121 aux shotguns" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"The Rivtech RM121 auxiliary weapon system is a magazine-fed semi-automatic " +"caseless shotgun, which can be mounted under the barrel of many rifles. " +"Accepts RMSA10 box magazines. This one was modified and customized to mount" +" on pretty much any weapon other than pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "underslung shotgun" msgid_plural "underslung shotguns" @@ -88432,6 +92617,19 @@ msgid "" "many rifles. It allows two shotgun shells to be loaded and fired." msgstr "一個雙管霰彈槍, 能夠附掛在許多步槍的槍管下。一次能夠裝填 2 發子彈並射擊。" +#: lang/json/gunmod_from_json.py +msgid "modified underslung shotgun" +msgid_plural "modified underslung shotguns" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A short shotgun with 2 barrels, which can be mounted under the barrel of " +"many rifles. It allows two shotgun shells to be loaded and fired. This one" +" was modified and customized to mount on pretty much any weapon other than " +"pistols, if you so want." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "LW underbarrel laser sight" msgid_plural "LW underbarrel laser sights" @@ -88583,7 +92781,7 @@ msgstr "" #: lang/json/gunmod_from_json.py msgid "diffracting lens" msgid_plural "diffracting lenss" -msgstr[0] "" +msgstr[0] "繞射透鏡" #: lang/json/gunmod_from_json.py msgid "" @@ -88595,7 +92793,7 @@ msgstr "" #: lang/json/gunmod_from_json.py msgid "tactical flashlight" msgid_plural "tactical flashlights" -msgstr[0] "" +msgstr[0] "戰術手電筒" #: lang/json/gunmod_from_json.py msgid "" @@ -88606,7 +92804,7 @@ msgstr "" #: lang/json/gunmod_from_json.py msgid "tactical flashlight (on)" msgid_plural "tactical flashlight (on)s" -msgstr[0] "" +msgstr[0] "戰術手電筒(啟動)" #: lang/json/gunmod_from_json.py msgid "" @@ -88678,6 +92876,54 @@ msgid "" " gun can no longer operate without a UPS." msgstr "" +#: lang/json/gunmod_from_json.py +msgid "'Silent Winds' suppressor" +msgid_plural "'Silent Winds' suppressors" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Rather than using purely wipe media, an additional localized silence spell " +"in this tube quiets gunshots going through to hearing-safe levels." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (rail)" +msgid_plural "mana laser sights (rail)" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit under the barrel." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana laser sight (underbarrel)" +msgid_plural "mana laser sights (underbarrel)" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"A small visible-light laser using light shown through a mana crystal that " +"mounts on a firearm's accessory rail to enhance ease and speed of target " +"acquisition. Aside from increased weight, there are no drawbacks. You can " +"rotate the attachment rail to fit on the rail." +msgstr "" + +#: lang/json/gunmod_from_json.py +msgid "mana dot sight" +msgid_plural "mana dot sights" +msgstr[0] "" + +#: lang/json/gunmod_from_json.py +msgid "" +"Adds a blue dot optic made from crystallized mana to the top of your gun, " +"replacing the iron sights. Increases accuracy and weight." +msgstr "" + #: lang/json/gunmod_from_json.py msgid "makeshift pistol bayonet" msgid_plural "makeshift pistol bayonets" @@ -88986,7 +93232,7 @@ msgstr "" #: lang/json/help_from_json.py msgid ": Healing and medication" -msgstr "" +msgstr ":治療與藥物" #: lang/json/help_from_json.py msgid "" @@ -89053,7 +93299,7 @@ msgstr "" #: lang/json/help_from_json.py msgid ": Addiction" -msgstr "" +msgstr ":成癮" #: lang/json/help_from_json.py msgid "" @@ -89074,7 +93320,7 @@ msgstr "" #: lang/json/help_from_json.py msgid ": Morale and learning" -msgstr "" +msgstr ":士氣與學習" #: lang/json/help_from_json.py msgid "" @@ -89147,7 +93393,7 @@ msgstr "" #: lang/json/help_from_json.py msgid ": Radioactivity and mutation" -msgstr "" +msgstr ":輻射與突變" #: lang/json/help_from_json.py msgid "" @@ -89369,7 +93615,7 @@ msgstr "" #: lang/json/help_from_json.py msgid ": Items overview" -msgstr "" +msgstr ":物品概觀" #: lang/json/help_from_json.py msgid "" @@ -89461,7 +93707,7 @@ msgstr "" #: lang/json/help_from_json.py msgid ": Combat" -msgstr "" +msgstr ":戰鬥" #: lang/json/help_from_json.py msgid "" @@ -89554,11 +93800,11 @@ msgid "" "Fleeing will often be a solid tactic, especially when overwhelmed by a swarm" " of zombies. Try to avoid getting cornered inside a building. Ducking down" " into the subways or sewers is often an excellent escape tactic." -msgstr "" +msgstr "逃跑通常是你的最好戰術,尤其是遭遇海量殭屍群的時候。試著避免在屋內角落被包圍。躲到類似地下鐵或是下水道都是很有用的戰術。" #: lang/json/help_from_json.py msgid ": Martial arts styles" -msgstr "" +msgstr ":武術招式" #: lang/json/help_from_json.py msgid "" @@ -89568,6 +93814,7 @@ msgid "" "found in their own traits, trained from manuals or by taking lessons from " "wandering masters." msgstr "" +"遊戲中有多樣化的戰鬥招式可以使用,尤其是徒手戰鬥者。你能夠在一開始藉由武術訓練特質來選擇一個常用的招式。還能夠在遊戲中經由有特定武術特質的流浪師父或書籍來學習訓練更多的武術。" #: lang/json/help_from_json.py msgid "" @@ -89607,7 +93854,7 @@ msgstr "" #: lang/json/help_from_json.py msgid ": Survival tips" -msgstr "" +msgstr ":生存要訣" #: lang/json/help_from_json.py msgid "" @@ -89715,7 +93962,7 @@ msgstr "" #: lang/json/help_from_json.py msgid ": Vehicles and Driving" -msgstr "" +msgstr ":車輛與駕駛" #: lang/json/help_from_json.py msgid "" @@ -90587,7 +94834,7 @@ msgstr "測量輻射" #: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/game_inventory.cpp src/teleport.cpp -msgid "..." +msgid "…" msgstr "…" #: lang/json/item_action_from_json.py @@ -90751,32 +94998,25 @@ msgid "" " up." msgstr "這個物品可以從相鄰的格子啟動或裝填, 而不用撿起它。" -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the outer aura layer, intended for metaphysical effects." -msgstr "此物品位於外部靈氣層,屬於形上學的效果。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your outer aura." msgstr "此物品位於外部靈氣層。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate barometer (which is used to measure " "atmospheric pressure)." msgstr "這件裝備配備有精確的氣壓計 (用於測量大氣壓力)。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item can be clipped on to a belt loop of the appropriate " "size." msgstr "這件物品可以夾在適當大小的腰帶圈上面。" -#: lang/json/json_flag_from_json.py -msgid "Layer for backpacks and things worn over outerwear." -msgstr "背包和外衣之上的東西的衣物層級。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is strapped onto you." @@ -90789,12 +95029,6 @@ msgid "" " properly." msgstr "如果安裝正確, 你的同伴可以使用這個生化插件。" -#: lang/json/json_flag_from_json.py -msgid "" -"Blinds the wearer while worn, and provides nominal protection vs flashbang " -"flashes." -msgstr "穿著時會使佩戴者看不見, 對閃光彈有著虛有其表的防護力。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear prevents you from seeing anything." @@ -90884,12 +95118,6 @@ msgstr "" msgid "You can wear only one." msgstr "你只能穿一件這衣物。" -#: lang/json/json_flag_from_json.py -msgid "" -"Wearing this clothing gives a morale bonus if the player has the Stylish " -"trait." -msgstr "如果玩家具有時尚狂人特質, 穿著這件衣物會給予士氣加值。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This piece of clothing is fancy." @@ -90920,21 +95148,11 @@ msgstr "" msgid "This gear corrects nearsightedness." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "" -"Zombie-dropped clothing giving various penalties if Filthy mod is active. " -"Also CBMs harvested from zombies." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This item is filthy." msgstr "這件物品很骯髒。" -#: lang/json/json_flag_from_json.py -msgid "Used for eyes protection from flashbang." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -90968,39 +95186,20 @@ msgid "" "your head is unencumbered." msgstr "這件衣物有兜帽, 能在頭部沒有累贅時提供保暖。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This gear is equipped with an accurate hygrometer (which is used to measure " "humidity)." msgstr "這件裝備配有精確的濕度計 (用於測量濕度)。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This item is a component of the gun it is attached to. It can't be removed " "without destroying it." msgstr "這件物品是槍械的一部分組件。除非破壞槍械, 不然無法移除它。" -#: lang/json/json_flag_from_json.py -msgid "Item can never be used with a CVD machine." -msgstr "物品永遠不能與化學氣相沉積機一起使用。" - -#: lang/json/json_flag_from_json.py -msgid "" -"Don't offer to draw items from this holster when the fire key is pressed " -"whilst the player's hands are empty." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents repairing of this item even if otherwise suitable tools exist." -msgstr "無法修理此物品, 即使存在合適的工具。" - -#: lang/json/json_flag_from_json.py -msgid "" -"forces calories and vitamins to be the ones defined in the json, instead of " -"inheriting from ingredients" -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "You could probably plant these." @@ -91013,21 +95212,11 @@ msgid "" "tastes much better when frozen." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "Outer garment layer." -msgstr "外衣層。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is generally worn over clothing." msgstr "這件裝備可以穿戴在其他衣物的外層。" -#: lang/json/json_flag_from_json.py -msgid "" -"Can always be worn no matter encumbrance/mutations/bionics/etc., but " -"prevents any other clothing being worn over this." -msgstr "總是能夠穿戴而無視累贅/突變/生化插件… 等, 但無法在它外面穿戴任何衣物。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -91035,12 +95224,6 @@ msgid "" "anatomy." msgstr "這件衣物的尺寸大了一號, 足以容納異常大的畸形部位。" -#: lang/json/json_flag_from_json.py -msgid "" -"Can be worn comfortably by mutants with Tiny or Unassuming. Too small for " -"anyone else." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -91048,23 +95231,11 @@ msgid "" "level." msgstr "這件裝備會降低音量到安全範圍。" -#: lang/json/json_flag_from_json.py -msgid "" -"This item goes in the personal aura layer, intended for metaphysical " -"effects." -msgstr "此物品位於自身靈氣層,屬於形上學的效果。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This is in your personal aura." msgstr "此物品位於自身靈氣層。" -#: lang/json/json_flag_from_json.py -msgid "" -"Increases warmth for hands if the player's hands are cold and the player is " -"wielding nothing." -msgstr "如果玩家的雙手覺得冷, 並且沒有手持物品時, 增加手掌的保暖度。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -91072,17 +95243,6 @@ msgid "" "wielding nothing." msgstr "這件衣物有口袋, 能在手掌沒有持物時提供保暖。" -#: lang/json/json_flag_from_json.py -msgid "" -"If turned ON, it uses its own source of power, instead of relying on power " -"of the user." -msgstr "" - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "25% chance to protect against fear_paralyze monster attack." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear keeps out the mind control rays." @@ -91114,27 +95274,12 @@ msgstr "這裝備使用時須注意平衡。穿著它被擊中時會讓你 msgid "This item can be used to communicate with radio waves." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "Prevents the covered body-part(s) from getting wet in the rain." -msgstr "防止被覆蓋的身體部分在雨中弄濕。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" "This piece of clothing is designed to keep you dry in the rain." msgstr "這件衣物能夠讓你在雨中保持乾燥。" -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the player from wielding a weapon two-handed, forcing one-handed " -"use if the weapon permits it." -msgstr "阻止玩家雙手揮動武器, 可行的話會以單手揮動。" - -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from participating in the encumbrance system when worn." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -91142,26 +95287,6 @@ msgid "" " other things when worn." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sheath of the appropriate size." -msgstr "這件物品可以存放在適當大小的小刀鞘裡面。" - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a scabbard of the appropriate size." -msgstr "這件物品可以存放在適當大小的刀鞘裡面。" - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a sling of the appropriate size." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This item can be stored in a bag of the appropriate size." -msgstr "這個物品可以被存放在適當尺寸的袋子中。" - -#: lang/json/json_flag_from_json.py -msgid "Undergarment layer." -msgstr "內衣層。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing lies close to the skin." @@ -91185,30 +95310,16 @@ msgid "" "lot of abuse." msgstr "這件衣物是被設計用來保護你免於受傷並禁得起大量的攻擊傷害。" -#: lang/json/json_flag_from_json.py -msgid "Prevents glaring when in sunlight." -msgstr "防止烈日下的眩光。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing keeps the glare out of your eyes." msgstr "這件衣物可以幫你遮擋刺眼的陽光。" -#: lang/json/json_flag_from_json.py -msgid "" -"Gives an additional moral bonus over FANCY if the player has the Stylish " -"trait." -msgstr "花俏的衣物能夠給予擁有時尚狂人特質的角色額外的士氣獎勵。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This clothing is very fancy." msgstr "這件衣物非常花俏。" -#: lang/json/json_flag_from_json.py -msgid "Allows you to see much further under water." -msgstr "讓你在水下看得更遠。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -91216,44 +95327,21 @@ msgid "" "water." msgstr "這件衣物讓你在水下看得更遠。" -#: lang/json/json_flag_from_json.py -msgid "" -"This gear is equipped with an accurate thermometer (which is used to measure" -" temperature)." -msgstr "這件裝備配備有精確的溫度計 (用於測量溫度)。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is equipped with an accurate thermometer." msgstr "這件裝備有一個精確的溫度計。" -#: lang/json/json_flag_from_json.py -msgid "Can be made to fit via tailoring." -msgstr "裁縫後能變得更合身。" - -#: lang/json/json_flag_from_json.py -msgid "Layer for belts and other things worn on the waist." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear is worn on or around your waist." msgstr "這件裝備可以穿戴或環繞在腰部。" -#: lang/json/json_flag_from_json.py -msgid "Acts as a watch and allows the player to see actual time." -msgstr "作用跟手錶一樣, 讓玩家看到實際時間。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This gear allows to see actual time." msgstr "這個裝備可以讓你看到實際的時間。" -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the covered body-part(s) from getting wet in any circumstance." -msgstr "防止被覆蓋的身體部分在任何情況下弄濕。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -91261,12 +95349,6 @@ msgid "" "river or something like that." msgstr "這件衣物是防水的, 除非你跳進河裡。" -#: lang/json/json_flag_from_json.py -msgid "" -"Prevents the item from making the body part count as unfriendly to water and" -" thus causing negative morale from being wet." -msgstr "" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -91302,11 +95384,6 @@ msgid "" "overall warmth." msgstr "這件衣物有縫上羊毛能夠增加保暖度。" -#: lang/json/json_flag_from_json.py -msgid "" -"Allows wielding with unarmed fighting styles and trains unarmed when used." -msgstr "手持時能夠使用徒手招式, 及能訓練徒手戰鬥技能。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -91319,109 +95396,28 @@ msgstr "這件武器能配合徒手招式使用。" msgid "This item contains a nanofabricator recipe." msgstr "" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "This bionic is a faulty bionic." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This bionic is a power source bionic." -msgstr "這個生化插件是生化能量的來源。" - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic only has a function when activated, else it causes its effect " -"every turn." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a gun bionic and activating it will fire it. Prevents all " -"other activation effects." -msgstr "" +msgid "This bionic is faulty." +msgstr "這個生化插件是故障的。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py -msgid "" -"This bionic is a weapon bionic and activating it will create (or destroy) " -"bionic's fake_item in user's hands. Prevents all other activation effects." -msgstr "" +msgid "This bionic provides power." +msgstr "這個生化插件提供能量。" +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "This bionic can provide power to powered armor." msgstr "這個生化插件可以提供能量給動力裝甲。" -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's effects permanent." -msgstr "這使得法術的效果永久化。" - -#: lang/json/json_flag_from_json.py -msgid "This makes the spell's Area of Effect ignore walls." -msgstr "這使得法術的廣域效果無視牆壁阻擋。" - -#: lang/json/json_flag_from_json.py -msgid "You can cast spells with this item in your hand." -msgstr "你能將此物品拿在手中施法。" - -#: lang/json/json_flag_from_json.py -msgid "" -"This makes the spell's summoned monster always hostile. Note that the spell" -" needs to be a summon spell for this to do anything." -msgstr "" - -#: lang/json/json_flag_from_json.py -#, no-python-format -msgid "" -"This makes the spell's summoned monster hostile 50% of the time. Note that " -"the spell needs to be a summon spell for this to do anything." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "The spell makes no sound at its point of impact." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "This spell is much louder at its point of impact." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The caster must speak in order to cast the spell. More mouth encumbrannce " -"increases failure percent, and the caster speaks when casting." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell requires arm movement to cast. Arm encumbrance affects failure " -"percentage and casting time." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"The spell does not require hands in order to cast it. Encumbrance penalties" -" on hands are nullified." -msgstr "" - -#: lang/json/json_flag_from_json.py -msgid "" -"This spell does not require leg movement in order to be cast. All " -"encumbrance penalties for legs are nullified." -msgstr "" - +#. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" -"This spell requires focus to cast. The lower your focus, the higher failure" -" rate to cast." +"This food is unappetizing in a way that can't be covered up " +"by most cooking." msgstr "" -#: lang/json/json_flag_from_json.py -msgid "" -"Chooses a spell at random to cast from extra_effects. See MAGIC.md for " -"details" -msgstr "隨機選擇一個咒語以從Extra_effects中釋放。詳情請參閱MAGIC.md" - -#: lang/json/json_flag_from_json.py -msgid "This mutation does not count toward thresholds at all." -msgstr "此突變根本不計入閾值。" - #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "" @@ -91449,7 +95445,7 @@ msgstr "裝甲板,能局部保護在同一框架上的部件免受傷害。" #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "You can sleep here comfortably." -msgstr "" +msgstr "你可以在這裡舒適地睡覺。" #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py @@ -91461,7 +95457,7 @@ msgstr "你可以在這裡安裝安全帶或五點式安全帶, 保護你在車 #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py msgid "You can store items here." -msgstr "" +msgstr "你可以在此處存放物品。" #. ~ Please leave anything in unchanged. #: lang/json/json_flag_from_json.py @@ -91825,6 +95821,10 @@ msgstr "下個關卡" msgid "Previous level" msgstr "上個關卡" +#: lang/json/keybinding_from_json.py +msgid "Reset level" +msgstr "重置關卡" + #: lang/json/keybinding_from_json.py msgid "Undo move" msgstr "取消移動" @@ -91841,10 +95841,6 @@ msgstr "切換旗標" msgid "Toggle lights" msgstr "切換燈光" -#: lang/json/keybinding_from_json.py -msgid "Reset level" -msgstr "重置關卡" - #: lang/json/keybinding_from_json.py msgid "Confirm Choice" msgstr "確認選擇" @@ -92549,6 +96545,10 @@ msgstr "查看氣溫地圖" msgid "View Visibility Map" msgstr "查看視線地圖" +#: lang/json/keybinding_from_json.py +msgid "View Lighting Map" +msgstr "查看光線地圖" + #: lang/json/keybinding_from_json.py msgid "View Radiation Map" msgstr "查看輻射量地圖" @@ -92562,8 +96562,8 @@ msgid "Toggle Fullscreen mode" msgstr "切換全螢幕模式" #: lang/json/keybinding_from_json.py -msgid "Toggle Pixel Minimap" -msgstr "切換像素小地圖" +msgid "Toggle Minimap" +msgstr "切換小地圖" #: lang/json/keybinding_from_json.py msgid "Toggle Panel Admin" @@ -92919,6 +96919,7 @@ msgstr "移除自訂顏色" msgid "Load color template" msgstr "讀取顏色模板" +#. ~ translation should not exceed 3 console cells #: lang/json/keybinding_from_json.py lang/json/keybinding_from_json.py #: src/editmap.cpp src/editmap.cpp src/editmap.cpp src/veh_interact.cpp msgid "Yes" @@ -92978,6 +96979,10 @@ msgstr "開關警報" msgid "Toggle atomic lights" msgstr "開關原子燈" +#: lang/json/keybinding_from_json.py +msgid "Control autopiot" +msgstr "" + #: lang/json/keybinding_from_json.py msgid "Toggle camera system" msgstr "開關攝影系統" @@ -95317,22 +99322,120 @@ msgid "" msgstr "" #: lang/json/martial_art_from_json.py -msgid "Tai Chi" -msgstr "太極拳" +msgid "Silat" +msgstr "印尼刀術" -#. ~ Description for martial art 'Tai Chi' +#. ~ Description for martial art 'Silat' #: lang/json/martial_art_from_json.py msgid "" -"Though Tai Chi is often seen as a form of mental and physical exercise, it " -"is a legitimate martial art, focused on self-defense. Its ability to absorb" -" the force of an attack makes your Perception decrease damage further on a " -"block." -msgstr "太極拳是一種修練心靈及身體、重視防禦的武術, 屬於正派武術。太極能化攻擊於無形, 感知能力越強, 受到的傷害就越低。" +"Pentjak Silat, of Indonesian origin, is a fighting style that covers the use" +" of short blades and bludgeons. Fighters stay low and mobile to avoid " +"attacks, then unleash deadly critical hits." +msgstr "班卡蘇拉, 這種武術源自於印尼, 使用短刀和棍棒來攻擊, 攻擊者會採取低姿勢移動來閃避攻擊, 然後在那一瞬間發動致命的攻擊。" + +#: lang/json/martial_art_from_json.py +msgid "Silat Stance" +msgstr "印尼刀術架式" -#. ~ Description of buff for martial art 'Tai Chi' +#. ~ Description of buff 'Silat Stance' for martial art 'Silat' #: lang/json/martial_art_from_json.py -msgid "+1 Block. Perception decreases damage when blocking." -msgstr "+1 格檔。感知減少格擋時受到的傷害。" +msgid "" +"You try to stay loose as possible when fighting to have more chances to dodge.\n" +"\n" +"+1 Dodge attempts." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Silat Evasion" +msgstr "" + +#. ~ Description of buff 'Silat Evasion' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +msgid "" +"You stay low as you move, making it harder for enemies to pin you down.\n" +"\n" +"+1 Dodge attempts.\n" +"Lasts 2 turn." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Silat Appraisal" +msgstr "" + +#. ~ Description of buff 'Silat Appraisal' for martial art 'Silat' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"Each time you dodge an attack, you learn a bit more about your opponents' fighting style. This allows you to make more precise attacks against them.\n" +"\n" +"Accuracy increased by 15%% of Dexterirty.\n" +"Lasts 2 turns. Stacks 3 times." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Snake Kung Fu" +msgstr "蛇形拳" + +#. ~ Description for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +msgid "" +"One of the five Shaolin animal styles. The Snake focuses on sinuous " +"movement and precision strikes. Perception determines your Accuracy, rather" +" than Dexterity. Standing still will increases your accuracy and damage of " +"your next attack." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Snake's Sight" +msgstr "" + +#. ~ Description of buff 'Snake's Sight' for martial art 'Snake Kung Fu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You are patient and know where to hit your opponent for the best results.\n" +"\n" +"Perception increases Accuracy instead of Dexterity. Accuracy increased by 25%% of Perception but decreased by 25%% of Dexterity." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu" +msgstr "日本槍術" + +#. ~ Description for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " +"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " +"to maintain advantage in combat. Standing still gives you an extra block " +"attempt but moving will briefly increase your damage." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Sōjutsu Stance" +msgstr "日本槍術架式" + +#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +msgid "" +"Your training grants better defense while using a polearm.\n" +"\n" +"+1 Block attempt." +msgstr "" + +#: lang/json/martial_art_from_json.py +msgid "Superior Positioning" +msgstr "" + +#. ~ Description of buff 'Superior Positioning' for martial art 'Sōjutsu' +#: lang/json/martial_art_from_json.py +#, no-python-format +msgid "" +"You have given up your defenses for a moment to increase the damage of your attacks.\n" +"\n" +"+10%% damage, -1 Block attempts.\n" +"Lasts 1 turn." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Taekwondo" @@ -95344,76 +99447,75 @@ msgid "" "Taekwondo is the national sport of Korea, and was used by the South Korean " "army in the 20th century. Focused on kicks and so it does not benefit from " "wielded weapons. It also includes strength training; your blocks absorb " -"extra damage the stronger you are." +"extra damage and your attacks do more damage if you are not holding " +"anything." msgstr "" -"跆拳道是韓國的國家運動, 曾於 20 世紀用於南韓陸軍的訓練。它注重於踢擊技巧, 因此不會因手持武器獲益。它同時也包含了力量的訓練。你的力量越強, " -"每次格擋受到的傷害越小。" - -#. ~ Description of buff for martial art 'Taekwondo' -#: lang/json/martial_art_from_json.py -msgid "Strength decreases damage when blocking." -msgstr "格擋時依力量減少傷害" #: lang/json/martial_art_from_json.py -msgid "Zui Quan" -msgstr "醉拳" +msgid "Taekwondo Stance" +msgstr "跆拳道架式" -#. ~ Description for martial art 'Zui Quan' +#. ~ Description of buff 'Taekwondo Stance' for martial art 'Taekwondo' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" -" the enemy, giving you a passive dodge bonus based on your intelligence. " -"The turn after you attack, you may dodge any number of attacks with no " -"penalty, and successfully dodging an attack gives you bonus damage and to-" -"hit based on your intelligence." +"Using your legs to attack allows your hands to be free for better defense.\n" +"\n" +"Blocked damage decreased by 50%% of Strength." msgstr "" -"同時也被稱作 \"醉酒拳法\", 醉拳模仿酒醉的人來迷惑對手, " -"依照你的智力屬性來決定閃避的加成。你成功攻擊過後的一個回合將能夠沒有閃避懲罰的躲開無限數量的攻擊, " -"並且每次成功的閃避將能夠依照智力屬性給予你傷害與命中的加成。" -#. ~ Description of buff for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Intelligence increases dodging ability" -msgstr "智力增加閃避能力" - -#: lang/json/martial_art_from_json.py -msgid "Counter Strike" -msgstr "反擊" +msgid "Unhindered" +msgstr "" -#. ~ Description of buff 'Counter Strike' for martial art 'Zui Quan' +#. ~ Description of buff 'Unhindered' for martial art 'Taekwondo' #: lang/json/martial_art_from_json.py -msgid "Extra damage and to-hit after successful dodge" -msgstr "在閃避成功後增加額外的傷害及命中" +#, no-python-format +msgid "" +"Your attacks are stronger if you are not holding anything in your hands.\n" +"\n" +"+33%% bash damage when not using a weapon." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Silat" -msgstr "印尼刀術" +msgid "Tai Chi" +msgstr "太極拳" -#. ~ Description for martial art 'Silat' +#. ~ Description for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py msgid "" -"Pentjak Silat, of Indonesian origin, is a fighting style that covers the use" -" of short blades and bludgeons. Fighters stay low and mobile to avoid " -"attacks, then unleash deadly critical hits." -msgstr "班卡蘇拉, 這種武術源自於印尼, 使用短刀和棍棒來攻擊, 攻擊者會採取低姿勢移動來閃避攻擊, 然後在那一瞬間發動致命的攻擊。" +"Though Tai Chi is often seen as a form of mental and physical exercise, it " +"is a legitimate martial art, focused on self-defense. Its ability to absorb" +" the force of an attack makes your Perception decrease damage further on a " +"block. Pausing for a moment enables powerful palm strike techniques." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Silat Stance" -msgstr "印尼刀術架式" +msgid "Tai Chi Stance" +msgstr "太極拳架式" -#. ~ Description of buff 'Silat Stance' for martial art 'Silat' +#. ~ Description of buff 'Tai Chi Stance' for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py -msgid "+1 dodge" -msgstr "+1 閃避" +#, no-python-format +msgid "" +"You are focused of defense and predicting your opponents attacks.\n" +"\n" +"+1 Block attempts, blocked damage reduced by 100%% Perception." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Silat Counter" -msgstr "印尼刀術反擊" +msgid "Repulse the Monkey" +msgstr "倒攆猴" -#. ~ Description of buff 'Silat Counter' for martial art 'Silat' +#. ~ Description of buff 'Repulse the Monkey' for martial art 'Tai Chi' #: lang/json/martial_art_from_json.py -msgid "Extra to-hit after successful dodge" -msgstr "在閃避成功後增加額外的命中" +#, no-python-format +msgid "" +"By perfectly positioning yourself and your opponent, you have become more accurate and can bypass your opponent's defenses.\n" +"\n" +"Accuracy increased by 20%% of Perception, gain bash Armor Pentration equal to 50%% of Perception.\n" +"Lasts 2 turns." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Tiger Kung Fu" @@ -95433,112 +99535,158 @@ msgstr "虎之怒" #. ~ Description of buff 'Tiger Fury' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+3 Bash/atk" -msgstr "+3 鈍擊攻擊" +#, no-python-format +msgid "" +"You attack with an endless barrage of strikes. The more you hit, the stronger you become.\n" +"\n" +"+10%% damage.\n" +"Lasts 3 turns. Stacks 4 times." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Tiger Strength" -msgstr "虎之力" +msgid "Tiger's Strength" +msgstr "" -#. ~ Description of buff 'Tiger Strength' for martial art 'Tiger Kung Fu' +#. ~ Description of buff 'Tiger's Strength' for martial art 'Tiger Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Strength provides additional damage bonus." -msgstr "力量屬性額外提昇傷害。" +#, no-python-format +msgid "" +"You do not need defense. You do not need a plan. You need strength. Strength will break your opponents' defenses and overwhelm them completely.\n" +"\n" +"Strength increases Accuracy instead of Dexterity.\n" +"\n" +"Accuracy increased by 25%% of Strength but decreased by 25%% of Dexterity." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Snake Kung Fu" -msgstr "蛇形拳" +msgid "Wing Chun" +msgstr "詠春拳" -#. ~ Description for martial art 'Snake Kung Fu' +#. ~ Description for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py msgid "" -"One of the five Shaolin animal styles. The Snake focuses on sinuous " -"movement and precision strikes. Your Perception improves your damage." -msgstr "少林五形拳的其中一式。蛇形拳打擊精準、移動如蛇般蜿蜒。感知能夠提昇你的傷害。" +"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" +"learn effective techniques from the various Shaolin animal forms. It has a " +"high stance, with weight entirely on the rear leg. Wing Chun focuses on " +"sensitivity to the opponent's direction of force, and flowing around it to " +"get back to hitting." +msgstr "" +"詠春拳是一種中國武術,從各種少林動物形態拳法中選擇最容易學習的有效技術所衍生出來的。它具有高架式,重心集中在後腿上。詠春著重於感受對手施力方向的敏感度,並順著力道的流動來借力打擊。" #: lang/json/martial_art_from_json.py -msgid "Snake Sight" -msgstr "蛇眼" +msgid "Chain Punch" +msgstr "連環拳" -#. ~ Description of buff 'Snake Sight' for martial art 'Snake Kung Fu' +#. ~ Description of buff 'Chain Punch' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "Perception provides a bonus to damage." -msgstr "感知屬性能提昇傷害。" +#, no-python-format +msgid "" +"Your punches are properly timed to give your opponent no rest from your strikes.\n" +"\n" +"-10%% move cost.\n" +"Lasts 1 turn. Stacks 3 times." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Debug Mastery" -msgstr "除錯大師" +msgid "Chi-Sao Sensitivity" +msgstr "黐手" -#. ~ Description for martial art 'Debug Mastery' +#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' #: lang/json/martial_art_from_json.py -msgid "A secret martial art used only by developers and cheaters." -msgstr "只有開發者和作弊者使用的秘密門派。" +#, no-python-format +msgid "" +"You have a greater understanding of balance and technique. This gives you a better chance to avoid your opponent's attacks.\n" +"\n" +" Dodging Skill increased by 15%% of Perception. Blocked damage reduced by 50%% of Perception." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Elemental resistance" -msgstr "元素抗性" +msgid "Zui Quan" +msgstr "醉拳" -#. ~ Description of buff 'Elemental resistance' for martial art 'Debug -#. Mastery' +#. ~ Description for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py msgid "" -"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " -"armor, +Perception fire armor." -msgstr "+力量 鈍擊防護, +敏捷 酸液防護, +智力 電擊防護, +感知 火焰防護。" +"AKA \"drunken boxing,\" Zui Quan imitates the movement of a drunk to confuse" +" the enemy. You gain a passive dodge bonus and accuracy bonus based on your" +" intelligence. Moving gives you additional dodge attempts and each time you" +" dodge, you inflict more damage with your counterattack for until the end of" +" your next turn." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu" -msgstr "日本槍術" +msgid "Zui Quan Stance" +msgstr "" -#. ~ Description for martial art 'Sōjutsu' +#. ~ Description of buff 'Zui Quan Stance' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Sōjutsu, \"The Way of the Spear\", is the Japanese martial art of fighting " -"with a spear. Sōjutsu focuses on keeping opponents at a distance in order " -"to maintain advantage in combat." -msgstr "日本槍術,"用槍的技術",是日本人用槍戰鬥的藝術,日本槍術專注於將對手保持在遠處,以守住戰鬥優勢。" +"Others might think you stumble about at random but you know better. Each movement is calculated to make evading harm easier.\n" +"\n" +"Dodging Skill increased by 15%% of Intelligence." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Stance" -msgstr "日本槍術架式" +msgid "Advanced Zui Quan" +msgstr "" -#. ~ Description of buff 'Sōjutsu Stance' for martial art 'Sōjutsu' +#. ~ Description of buff 'Advanced Zui Quan' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Bonus block with reach weapons while standing still" +#, no-python-format +msgid "" +"You have a greater understanding of Zui Quan. Your skills at dodging and landing attacks are much better as a result.\n" +"\n" +"+1 Dodge attempts, Accuracy increased by 15%% of Intelligence." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Sōjutsu Rush" +msgid "Drunken Stumble" msgstr "" -#. ~ Description of buff 'Sōjutsu Rush' for martial art 'Sōjutsu' +#. ~ Description of buff 'Drunken Stumble' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py -msgid "Increased damage when moving but no bonus block" +msgid "" +"With a few quick steps, you can completely change your orientation and dodge additional attacks.\n" +"\n" +"+2 Dodge attempts.\n" +"Lasts 3 turns." msgstr "" #: lang/json/martial_art_from_json.py -msgid "Wing Chun" -msgstr "詠春拳" +msgid "Drunken Dodging" +msgstr "" -#. ~ Description for martial art 'Wing Chun' +#. ~ Description of buff 'Drunken Dodging' for martial art 'Zui Quan' #: lang/json/martial_art_from_json.py +#, no-python-format msgid "" -"Wing Chun is a Chinese martial art that began by selecting the easiest-to-" -"learn effective techniques from the various Shaolin animal forms. It has a " -"high stance, with weight entirely on the rear leg. Wing Chun focuses on " -"sensitivity to the opponent's direction of force, and flowing around it to " -"get back to hitting." +"Each time you dodge, your positional advantage increases against your opponents. This makes your attacks hit harder with each successful dodge.\n" +"\n" +"Gain Armor Penetration equal to 25%% of Intelligence.\n" +"Lasts 1 turn. Stacks 4 times." msgstr "" -"詠春拳是一種中國武術,從各種少林動物形態拳法中選擇最容易學習的有效技術所衍生出來的。它具有高架式,重心集中在後腿上。詠春著重於感受對手施力方向的敏感度,並順著力道的流動來借力打擊。" #: lang/json/martial_art_from_json.py -msgid "Chi-Sao Sensitivity" -msgstr "黐手" +msgid "Debug Mastery" +msgstr "除錯大師" -#. ~ Description of buff 'Chi-Sao Sensitivity' for martial art 'Wing Chun' +#. ~ Description for martial art 'Debug Mastery' +#: lang/json/martial_art_from_json.py +msgid "A secret martial art used only by developers and cheaters." +msgstr "只有開發者和作弊者使用的秘密門派。" + +#: lang/json/martial_art_from_json.py +msgid "Elemental resistance" +msgstr "元素抗性" + +#. ~ Description of buff 'Elemental resistance' for martial art 'Debug +#. Mastery' #: lang/json/martial_art_from_json.py -msgid "Perception increases dodging ability, +1 dodges per turn" -msgstr "感知增加閃避技能,每回合 +1 閃避" +msgid "" +"+Strength bash armor, +Dexterity acid armor, +Intelligence electricity " +"armor, +Perception fire armor." +msgstr "+力量 鈍擊防護, +敏捷 酸液防護, +智力 電擊防護, +感知 火焰防護。" #: lang/json/martial_art_from_json.py msgid "Bionic Combatives" @@ -95693,10 +99841,11 @@ msgstr "蛤蟆功" #. ~ Description for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"One of the Five Deadly Venoms. Masters of Toad Style can focus themselves " -"against all attacks. You can meditate by pausing, giving you armor, though " -"you will lose focus when you move." -msgstr "五毒的其中一式。蛤蟆功大師能夠用原地等待一個回合來進行專注冥想, 增加額外的防禦能力。但是一移動就會失去了這能力。" +"One of the Five Deadly Venoms, used by Liang Shen. Masters of Toad Style " +"can focus themselves to protect against all attacks. You have powerful " +"armor against physical attacks, though you will lose focus when you move. " +"You can meditate by pausing, giving yourself more armor for a short time." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Toad's Iron Skin" @@ -95704,8 +99853,11 @@ msgstr "蛤蟆鐵甲" #. ~ Description of buff 'Toad's Iron Skin' for martial art 'Toad Kung Fu' #: lang/json/martial_art_from_json.py -msgid "Gain up to +6 armor while standing still" -msgstr "站著不動時增加 6 點護甲" +msgid "" +"Your body is as strong as iron but only if you don't move.\n" +"\n" +"+6 bash, cut, and stab armor." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Iron Skin Dissipation" @@ -95714,8 +99866,12 @@ msgstr "鐵甲消散" #. ~ Description of buff 'Iron Skin Dissipation' for martial art 'Toad Kung #. Fu' #: lang/json/martial_art_from_json.py -msgid "Iron Skin softens when you move!" -msgstr "當你移動時鐵甲會軟化!" +msgid "" +"Moving causes you to lose your iron skin.\n" +"\n" +"-1 bash, cut, and stab armor.\n" +"Lasts 6 turns. Stacks 6 times." +msgstr "" #: lang/json/martial_art_from_json.py msgid "Viper Kung Fu" @@ -95724,37 +99880,49 @@ msgstr "虺蛇功" #. ~ Description for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py msgid "" -"A legacy of the Five Deadly Venoms. Viper Style has a unique three-part " -"combo, which initiates on a dodge, then counters with a stunning chop and " -"the legendary Viper Strike." -msgstr "五毒的其中一式。虺蛇功擁有獨特的三連擊: 當你成功閃避攻擊後, 便會使出暈眩反擊和毒蛇突擊。" +"A legacy of the Five Deadly Venoms, use by Qi Dong. Viper Style (originally" +" called Snake Style) has a unique three-part combo, which initiates on a " +"dodge, then follows up with a stunning Viper Bite and then finishes with the" +" legendary Viper Strike." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Lock" -msgstr "毒牙鎖" +msgid "Viper's Patience" +msgstr "" -#. ~ Description of buff 'Viper Lock' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Patience' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You bit true! Your next attack will be the Viper Strike!" -msgstr "你咬到對方了! 你的下一個攻擊是毒蛇猛擊!" +msgid "" +"Every snake waits for the perfect moment to strike. Turn your opponents' mistakes into your opportunity to strike!\n" +"\n" +"+1.0 Dodge skill." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Patience" -msgstr "毒蛇之忍" +msgid "Viper's Ambush" +msgstr "" -#. ~ Description of buff 'Viper Patience' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Ambush' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "+2 Dodge. Dodging an attack initiates a combo." -msgstr "+2 閃避。閃避攻擊能觸發連擊。" +msgid "" +"Your evasiveness has left your opponent wide open to painful bite.\n" +"\n" +"Enables \"Viper Bite\" technique.\n" +"Lasts 1 turn." +msgstr "" #: lang/json/martial_art_from_json.py -msgid "Viper Ambush" -msgstr "毒蛇伏擊" +msgid "Viper's Venom" +msgstr "" -#. ~ Description of buff 'Viper Ambush' for martial art 'Viper Kung Fu' +#. ~ Description of buff 'Viper's Venom' for martial art 'Viper Kung Fu' #: lang/json/martial_art_from_json.py -msgid "You've lured 'em in! Your next attack will be a Viper Bite." -msgstr "你已經撒下了餌! 你的下一個攻擊是毒蛇咬。" +msgid "" +"Your venom is a harsh reminder to never tease a predator.\n" +"\n" +"+2 bash damage.\n" +"Lasts 3 turn." +msgstr "" #: lang/json/martial_art_from_json.py msgid "C.R.I.T Blade-work" @@ -95890,6 +100058,10 @@ msgid "" "Lasts 2 turns." msgstr "" +#: lang/json/martial_art_from_json.py +msgid "Sojutsu" +msgstr "日本槍術" + #: lang/json/material_from_json.py src/bionics.cpp msgid "Alcohol" msgstr "酒類" @@ -96131,6 +100303,10 @@ msgstr "鉛" msgid "Leather" msgstr "皮革" +#: lang/json/material_from_json.py +msgid "Lycra" +msgstr "" + #: lang/json/material_from_json.py msgid "Dairy" msgstr "乳製品" @@ -96191,6 +100367,14 @@ msgstr "石頭" msgid "Superalloy" msgstr "超合金" +#: lang/json/material_from_json.py +msgid "layered carbide" +msgstr "層狀碳化物" + +#: lang/json/material_from_json.py +msgid "Synthetic Fabric" +msgstr "" + #: lang/json/material_from_json.py msgid "Tin" msgstr "錫" @@ -96301,6 +100485,10 @@ msgstr "橡膠" msgid "Arcane Skin" msgstr "奧術皮膚" +#: lang/json/material_from_json.py +msgid "Orichalcum" +msgstr "" + #: lang/json/material_from_json.py msgid "Demon Chitin" msgstr "惡魔幾丁質" @@ -96310,8 +100498,8 @@ msgid "Sugar" msgstr "糖" #: lang/json/mission_def_from_json.py -msgid "Gather bones for the Brigitte. About 8 should do it." -msgstr "為 Brigitte 收集骨頭。大約要 8 個。" +msgid "Gather bones for the Brigitte. About 8 should do it." +msgstr "" #: lang/json/mission_def_from_json.py msgid "There is always work to be done, song to be woven." @@ -96359,48 +100547,6 @@ msgstr "" msgid "Then you shall try again, until you hear." msgstr "" -#: lang/json/mission_def_from_json.py -msgid "Find a Book" -msgstr "找到 1 本書" - -#: lang/json/mission_def_from_json.py -msgid "Wanna help me out?" -msgstr "你能幫一下我嗎?" - -#: lang/json/mission_def_from_json.py -msgid "Get me a book." -msgstr "給我一本書。" - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: lang/json/talk_topic_from_json.py -msgid "Thanks." -msgstr "謝謝。" - -#: lang/json/mission_def_from_json.py -msgid "Well, I'll find someone else to do it for me." -msgstr "好吧, 我會找別人為我做這件事。" - -#: lang/json/mission_def_from_json.py -msgid "Try a library." -msgstr "到圖書館試試。" - -#: lang/json/mission_def_from_json.py -msgid "Got that book for me?" -msgstr "有我要的書本嗎?" - -#: lang/json/mission_def_from_json.py lang/json/talk_topic_from_json.py -#: src/npctalk.cpp -msgid "Thanks!" -msgstr "謝謝!" - -#: lang/json/mission_def_from_json.py -msgid "OK, then hand it over." -msgstr "好的, 那麼交給我吧。" - -#: lang/json/mission_def_from_json.py -msgid "Shit happens." -msgstr "世事難料。" - #: lang/json/mission_def_from_json.py msgid "Follow Sarcophagus Team" msgstr "跟隨石棺小組" @@ -97294,10 +101440,6 @@ msgstr "真的… 那真是太糟了。" msgid "Null mission" msgstr "空白任務" -#: lang/json/mission_def_from_json.py -msgid "YOU SHOULDN'T BE SEEING THIS, THIS IS A BUG" -msgstr "你不應該看到這個, 這是一個BUG" - #: lang/json/mission_def_from_json.py msgid "Reach Farm House" msgstr "到達農舍" @@ -97531,6 +101673,14 @@ msgstr "" msgid "Thanks! I'll be sure to put in a good word for you around town." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "OK, then hand it over." +msgstr "好的, 那麼交給我吧。" + +#: lang/json/mission_def_from_json.py +msgid "Shit happens." +msgstr "世事難料。" + #: lang/json/mission_def_from_json.py msgid "Find Antibiotics Before You Die!" msgstr "" @@ -97954,8 +102104,8 @@ msgid "" msgstr "" #: lang/json/mission_def_from_json.py -msgid "I did't want to use chemicals on these rats." -msgstr "" +msgid "I didn't want to use chemicals on these rats." +msgstr "我不想對這些老鼠使用化學藥品。" #: lang/json/mission_def_from_json.py msgid "" @@ -98257,6 +102407,10 @@ msgid "" "don't have any handy references." msgstr "" +#: lang/json/mission_def_from_json.py +msgid "Fantastic, I'm not supposed to leave our land." +msgstr "太棒了,我不應該離開我們的土地。" + #: lang/json/mission_def_from_json.py msgid "A library, bookstore should have one, schools are another good idea." msgstr "" @@ -99037,6 +103191,10 @@ msgstr "隨著所有這一切的發生,尋找香菸變得越來越困難。我 msgid "Thanks, it's great to see someone willing to help a guy out." msgstr "謝謝,很高興看到有人願意幫助人。" +#: lang/json/mission_def_from_json.py +msgid "Well, I'll find someone else to do it for me." +msgstr "好吧, 我會找別人為我做這件事。" + #: lang/json/mission_def_from_json.py msgid "" "Plenty of smokers in towns. Gotta be some left over cigs in some of them " @@ -99722,8 +103880,8 @@ msgstr "" #: lang/json/mission_def_from_json.py msgid "" "Reach the collapsed tower basement, and search the ruins for a photonic " -"circuitry template. The intercom warned you about heavy enemy prescence, and" -" of the existence of a hazardous enviroment." +"circuitry template. The intercom warned you about heavy enemy presence, and" +" of the existence of a hazardous environment." msgstr "" #: lang/json/mission_def_from_json.py @@ -101206,7 +105364,7 @@ msgid "yourself scream in agony!" msgstr "你痛苦地尖叫!" #. ~ Mutation class: Any junkie_message -#: lang/json/mutation_category_from_json.py src/iuse_actor.cpp +#: lang/json/mutation_category_from_json.py msgid "You quiver with anticipation..." msgstr "你帶著期待顫抖著…" @@ -101885,19 +106043,19 @@ msgstr "多麼甜啊!" #. ~ Mutation class: Sugar Kin iv_message #: lang/json/mutation_category_from_json.py -msgid "You inject some more fizz into your sirup." +msgid "You inject some more fizz into your syrup." msgstr "" #. ~ Mutation class: Sugar Kin Male memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_male" -msgid "Cristalized." +msgid "Crystalized." msgstr "" #. ~ Mutation class: Sugar Kin Female memorial messsage #: lang/json/mutation_category_from_json.py msgctxt "memorial_female" -msgid "Cristalized." +msgid "Crystalized." msgstr "" #: lang/json/mutation_from_json.py @@ -102382,9 +106540,9 @@ msgstr "面部毛髮:錨鬍" #: lang/json/mutation_from_json.py msgid "" "You have a moustache and a beard starting with a strip going down from the " -"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus " -"the name." -msgstr "你有上唇髭鬚以及沿著下頜輪廓的帶尖鬍鬚。它看起來有點像錨,因此得名。" +"bottom lip, then tracing the jaw lines. It looks a bit like an anchor, thus" +" the name." +msgstr "" #: lang/json/mutation_from_json.py msgid "Facial hair: short boxed beard" @@ -102393,9 +106551,9 @@ msgstr "面部毛髮:短箱式鬍" #. ~ Description for Facial hair: short boxed beard #: lang/json/mutation_from_json.py msgid "" -"You have a moustache and a short beard with trimmed sides. Thin patches " +"You have a moustache and a short beard with trimmed sides. Thin patches " "connect them both, forming a 'box' around the lips, thus the name." -msgstr "你有上唇髭鬚和雙側邊削薄的短下頜鬍鬚,修薄整齊的鬍線在嘴唇形成一個箱子狀,因此得名。" +msgstr "" #: lang/json/mutation_from_json.py msgid "Facial hair: chevron moustache" @@ -102516,9 +106674,9 @@ msgstr "面部毛髮:脖子鬍鬚" #. ~ Description for Facial hair: neckbeard #: lang/json/mutation_from_json.py msgid "" -"You have a beard formed from hair grown on neck below the chin line. No " +"You have a beard formed from hair grown on neck below the chin line. No " "moustache included." -msgstr "你的鬍子從下巴線下面長到脖子上,沒有上唇髭鬚。" +msgstr "" #: lang/json/mutation_from_json.py msgid "Facial hair: pencil moustache" @@ -102617,6 +106775,27 @@ msgid "" "footing." msgstr "你移動得比一般人快, 站穩時得到 15% 的速度加成。" +#: lang/json/mutation_from_json.py +msgid "Weak Photophore" +msgstr "" + +#. ~ Description for Weak Photophore +#: lang/json/mutation_from_json.py +msgid "" +"A photophore has grown from your head, you can make it glow soflty. This " +"will make you very visible in the dark, ideal to attract a partner during " +"mating season." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Photophore" +msgstr "" + +#. ~ Description for Photophore +#: lang/json/mutation_from_json.py +msgid "Your can make your photophore glow brightly." +msgstr "" + #: lang/json/mutation_from_json.py msgid "Good Hearing" msgstr "耳聰" @@ -103091,11 +107270,10 @@ msgstr "興奮狂人" #. ~ Description for Stimulant Psychosis #: lang/json/mutation_from_json.py msgid "" -"You have a unique history with stimulants (like coffee or amphetamines). You" -" can tolerate a lot more of them without overdosing, but if you indulge too " -"much, you start seeing things..." +"You have a unique history with stimulants (like coffee or amphetamines). " +"You can tolerate a lot more of them without overdosing, but if you indulge " +"too much, you start seeing things…" msgstr "" -"你有一個跟興奮劑 (像咖啡或者安非他命) 有關的獨特病歷,你能夠抵受得更多而不會出現服用過量的徵狀,但如果你過於沉迷的話,你會開始看到某些東西..." #. ~ Description for Stylish #: lang/json/mutation_from_json.py @@ -103226,8 +107404,20 @@ msgstr "近戰武器訓練" #: lang/json/mutation_from_json.py msgid "" "You have practiced fighting with weapons. You start with your choice of " -"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-" -"Ryu, Pentjak Silat, or Sōjutsu." +"Eskrima, Fencing, Fior Di Battaglia, Medieval Swordsmanship, Niten Ichi-Ryu," +" Pentjak Silat, or Sōjutsu." +msgstr "" + +#: lang/json/mutation_from_json.py +msgid "Competitive Fencer" +msgstr "" + +#. ~ Description for Competitive Fencer +#: lang/json/mutation_from_json.py +msgid "" +"You were an avid fencer, starting with foil and moving onto saber, then " +"épée. You competed nationally and dabbled with some of the historical " +"fencing weapons afforded by HEMA's popularity." msgstr "" #: lang/json/mutation_from_json.py @@ -103953,9 +108143,9 @@ msgstr "妖精之眼" #. ~ Description for Fey Eyes #: lang/json/mutation_from_json.py msgid "" -"Your eyes have turned...green. It's tough to tell the exact shade as it " -"seems to shift. The effect is ...pleasant." -msgstr "你的眼睛變成了… 綠色。陰影對你來說不存在。效果… 真讚。" +"Your eyes have turned… green. It's tough to tell the exact shade as it " +"seems to shift. The effect is… pleasant." +msgstr "" #: lang/json/mutation_from_json.py msgid "Fey Vision" @@ -104348,7 +108538,7 @@ msgstr "山貓毛皮" msgid "" "Your fur has grown out significantly around your cheeks and neck. It " "provides minor protection against attacks." -msgstr "" +msgstr "你的下巴與頸部長滿了明顯的毛皮。能夠對抗輕微的傷害。" #: lang/json/mutation_from_json.py msgid "Chitinous Skin" @@ -104384,7 +108574,7 @@ msgid "" "You've grown a chitin exoskeleton made of thick, stiff plates. It provides " "excellent physical protection, but reduces your Dexterity by 1 and encumbers" " all body parts but your eyes and mouth. Greatly reduces wet effects." -msgstr "" +msgstr "你已經長出了完整的昆蟲甲殼板。能夠提供絕佳的物理傷害保護,但是降低了敏捷 1 點,同時全身除了眼睛與嘴巴以外都受到累贅。大幅增加防水能力。" #: lang/json/mutation_from_json.py msgid "Hairy Chitin" @@ -104484,7 +108674,7 @@ msgid "" "Your skin is coated in a light bark, like that of a tree. This provides " "resistance to cutting damage and minor protection from fire. Greatly " "reduces wet effects." -msgstr "" +msgstr "你的皮膚覆蓋了一層薄樹皮,就像樹木一樣。能夠提供抗砍劈能力,而且有較小的防火能力。大幅增加防水能力。" #: lang/json/mutation_from_json.py msgid "Thorns" @@ -104591,6 +108781,7 @@ msgid "" "guidance determines that it is safe to germinate. Rapid development taxes " "local nutrient reserves but ensures swift and effective growth." msgstr "" +"本地的有機生物似乎把這種開放式散播孢子的行為看成是種危險,並開始攻擊馬庫斯。最近我們這裡的孢子囊都安靜下來,直到主宰決定什麼時候才是發芽的安全時機,快速生長當然會對於養分的提供造成壓力,但也保證了快速有效的繁衍。" #: lang/json/mutation_from_json.py msgid "Mycus Blossoms" @@ -104613,6 +108804,7 @@ msgid "" "guidance determines that it is safe to germinate. Rapid development taxes " "local nutrient reserves but ensures swift and effective growth." msgstr "" +"本地的有機生物似乎把這種開放式散播孢子的行為看成是種危險,並開始攻擊馬庫斯。最近我們這裡的花朵都安靜下來,直到主宰決定什麼時候才是發芽的安全時機,快速生長當然會對於養分的提供造成壓力,但也保證了快速有效的繁衍。" #: lang/json/mutation_from_json.py msgid "Mycus Provenance" @@ -104700,7 +108892,7 @@ msgid "" "Your index fingers have grown into huge talons. After a bit of practice, " "you find that this does not affect your dexterity, but allows for a deadly " "unarmed attack. They also prevent wearing gloves." -msgstr "" +msgstr "你的手指突變成了大型的爪子。經過了練習,你發現這不會影響你的敏捷,反而能讓你使出致命的徒手攻擊。只是不能戴手套。" #: lang/json/mutation_from_json.py msgid "Radiogenic" @@ -104721,8 +108913,8 @@ msgstr "馬洛斯帶原者" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss berry, you can't get its scent out of your " -"nose, and you have a strong desire to try some seeds and...sap?" -msgstr "自從你吃了馬洛斯莓, 那種味道一直在你的鼻腔中縈繞, 現在你非常的想要吃吃看他的種子或者… 樹液?" +"nose, and you have a strong desire to try some seeds and… sap?" +msgstr "" #: lang/json/mutation_from_json.py msgid "Marloss Vessel" @@ -104732,8 +108924,8 @@ msgstr "馬洛斯容器" #: lang/json/mutation_from_json.py msgid "" "Ever since you ate that Marloss seed, you can't get its taste off of your " -"tongue, and you have a strong desire to try some berries and...sap?" -msgstr "自從你吃了馬洛斯種子, 那種味道一直在你的舌頭上揮之不去, 現在你非常的想要吃吃看他的果實或者… 樹液?" +"tongue, and you have a strong desire to try some berries and… sap?" +msgstr "" #: lang/json/mutation_from_json.py msgid "Marloss Vector" @@ -104788,7 +108980,7 @@ msgstr "哺乳類費洛蒙" msgid "" "Your body produces low-level pheromones which put mammals at ease. They " "will be less likely to attack or flee from you." -msgstr "" +msgstr "你的身體會產生微量的費洛蒙,能讓哺乳類動物認為你是盟友。哺乳類動物不太會攻擊或逃跑。" #: lang/json/mutation_from_json.py msgid "Disease Immune" @@ -104947,7 +109139,7 @@ msgid "" "You have grown large, curved, and wickedly sharp talons in place of your big" " toes. Fortunately, they don't get in the way of your movement. " "Unfortunately, they do prevent wearing footgear." -msgstr "" +msgstr "你的大拇指長出了大而彎曲的尖銳爪子。幸運的是,它們並不會影響你的行動。不幸的是,你沒辦法穿鞋。" #: lang/json/mutation_from_json.py #, no-python-format @@ -104969,7 +109161,7 @@ msgid "" "Your feet have fused into hooves. This allows kicking attacks to do much " "more damage, provides natural armor, and removes the need to wear shoes; " "however, you cannot wear shoes of any kind. Reduces wet effects." -msgstr "" +msgstr "你的腳掌特化成了蹄。能夠讓你的踢擊造成更多傷害,也像是天然的護甲,移除了穿鞋的需求;但你再也不能穿任何的鞋子。減低濕透的影響。" #: lang/json/mutation_from_json.py #, no-python-format @@ -104979,7 +109171,7 @@ msgstr "你用蹄踹 %s" #: lang/json/mutation_from_json.py #, no-python-format msgid "%1$s kicks %2$s with their hooves" -msgstr "" +msgstr "%1$s 用蹄踹 %2$s" #: lang/json/mutation_from_json.py msgid "Alcohol Metabolism" @@ -105070,7 +109262,7 @@ msgid "" "Your digestive system is capable of digesting cellulose and other rough " "plant material. You can eat underbrush and shrubs by activating this, " "standing over your target, and pressing E." -msgstr "" +msgstr "你的消化系統能夠消化纖維素。你能夠吃下草叢與灌木之類的植物(站在上面按E)。" #: lang/json/mutation_from_json.py msgid "Grazer" @@ -105082,7 +109274,7 @@ msgid "" "You're accustomed to eating plants directly, and can get nutrition from " "grass as well as underbrush and shrubs. Eat either one by activating this, " "standing over your target, and pressing E." -msgstr "" +msgstr "你習慣直接吃植物,吃草或灌木都能讓你獲得營養。站在上面按E來進食。" #: lang/json/mutation_from_json.py msgid "Intestinal Fortitude" @@ -105123,9 +109315,9 @@ msgstr "劍齒" #: lang/json/mutation_from_json.py msgid "" "Your fangs have grown extremely large and incredibly sharp. They make it " -"impossible to wear mouthgear and difficult to eat... but leave nasty wounds" -" when you bite." -msgstr "你的獠牙特化的非常長且銳利。讓你無法穿在嘴部裝備, 並且進食困難… 但是咬人的時候會留下可怕的傷痕。" +"impossible to wear mouthgear and difficult to eat… but leave nasty wounds " +"when you bite." +msgstr "" #: lang/json/mutation_from_json.py #, no-python-format @@ -105135,7 +109327,7 @@ msgstr "你用你的劍齒撕裂 %s" #: lang/json/mutation_from_json.py #, no-python-format msgid "%1$s tears into %2$s with their saber teeth" -msgstr "" +msgstr "%1$s 用劍齒撕裂 %2$s" #: lang/json/mutation_from_json.py msgid "Hyper-Metabolism" @@ -105147,7 +109339,7 @@ msgid "" "You metabolize nutrients so rapidly that you can convert food directly into " "useful tissue. Excess nutrition will convert to HP, rather than being " "wasted. Activate to skip prompt for overeating." -msgstr "" +msgstr "你代謝的營養素快到可以直接將食物轉化為有用的組織。過剩的營養將會轉化成HP,而不是浪費掉。啟動後會跳過過量飲食的提示。" #: lang/json/mutation_from_json.py msgid "Horns" @@ -105168,7 +109360,7 @@ msgstr "你用角頭錘攻擊 %s" #: lang/json/mutation_from_json.py #, no-python-format msgid "%1$s headbutts %2$s with their horns" -msgstr "" +msgstr "%1$s 用角頭錘攻擊 %2$s" #: lang/json/mutation_from_json.py msgid "Curled Horns" @@ -105179,7 +109371,7 @@ msgstr "綿羊角" msgid "" "You have a pair of large curled horns, like those of a ram. They allow you " "to make a strong bashing headbutt attack, but prevent wearing any headwear." -msgstr "" +msgstr "你有一對蜷曲的大角,像公綿羊一樣。能讓你使出強力的鈍擊性頭錘攻擊,但是不能穿戴頭部裝備。" #: lang/json/mutation_from_json.py #, no-python-format @@ -105189,7 +109381,7 @@ msgstr "你用綿羊角頭錘攻擊 %s" #: lang/json/mutation_from_json.py #, no-python-format msgid "%1$s headbutts %2$s with their curled horns" -msgstr "" +msgstr "%1$s 用綿羊角頭錘攻擊 %2$s" #: lang/json/mutation_from_json.py msgid "Pointed Horns" @@ -105201,7 +109393,7 @@ msgid "" "You have a pair of long, pointed horns, like those of an antelope. They " "allow you to make a strong piercing headbutt attack, but prevent wearing " "headwear that is not made of fabric." -msgstr "" +msgstr "你長出一對長而尖的角,就像羚羊。能讓你使出強力的穿刺性頭錘,但是不能穿戴非布製的頭部裝備。" #: lang/json/mutation_from_json.py #, no-python-format @@ -105233,7 +109425,7 @@ msgstr "你用駝鹿角撞擊 %s" #: lang/json/mutation_from_json.py #, no-python-format msgid "%1$s butts %2$s with their antlers" -msgstr "" +msgstr "%1$s 用駝鹿角撞擊 %2$s" #: lang/json/mutation_from_json.py msgid "Antennae" @@ -105245,7 +109437,7 @@ msgid "" "You have a pair of antennae. They allow you to detect the presence of " "monsters up to a few tiles away, even if you can't see or hear them, but " "prevent wearing headwear that is not made of fabric." -msgstr "" +msgstr "你長出一對觸角。就算你看不見或聽不見,也能讓你偵測到怪物的存在,只是不能穿戴非布製的頭部裝備。" #: lang/json/mutation_from_json.py msgid "Road-Runner" @@ -105305,7 +109497,7 @@ msgstr "你有一條長尾巴, 末端有一簇毛球。你發現自己會本能 #: lang/json/mutation_from_json.py msgid "Rodent Tail" -msgstr "" +msgstr "囓齒動物尾巴" #. ~ Description for Rodent Tail #: lang/json/mutation_from_json.py @@ -105333,7 +109525,7 @@ msgstr "你甩尾巴揮打 %s" #: lang/json/mutation_from_json.py #, no-python-format msgid "%1$s whaps %2$s with their tail" -msgstr "" +msgstr "%1$s 甩尾巴揮打 %2$s" #: lang/json/mutation_from_json.py msgid "Raptor Tail" @@ -105379,7 +109571,7 @@ msgstr "你用尾巴螫 %s" #: lang/json/mutation_from_json.py #, no-python-format msgid "%1$s stings %2$s with their tail" -msgstr "" +msgstr "%1$s 用尾巴螫 %2$s" #: lang/json/mutation_from_json.py msgid "Club Tail" @@ -105401,7 +109593,7 @@ msgstr "你用鎚尾揮中 %s" #: lang/json/mutation_from_json.py #, no-python-format msgid "%1$s clubs %2$s with their tail" -msgstr "" +msgstr "%1$s 用鎚尾揮中 %2$s" #: lang/json/mutation_from_json.py msgid "Hibernation" @@ -105553,7 +109745,7 @@ msgid "" " anyway, you preserve resources for those better able to survive. You are " "less bothered by the deaths of others: their own weakness invited these " "fates upon them." -msgstr "" +msgstr "你有了啟示:殺了那些軟弱的生物,反正它們也會死,你能留著那些資源來生存。你不太關心別人的死活:弱者的命運只有死亡。" #: lang/json/mutation_from_json.py lang/json/npc_class_from_json.py #: lang/json/npc_from_json.py @@ -105567,7 +109759,7 @@ msgid "" "making it easier to control misplaced reactions to the death of your prey. " "Additionally, combat skills, which you use to hunt, are easier to learn and " "maintain." -msgstr "" +msgstr "你的大腦比起人來更像是掠食性動物,因此你更容易在獵物死亡時失控。此外,你狩獵使用的戰鬥技能會更容易學習成長。" #: lang/json/mutation_from_json.py msgid "Predator" @@ -105591,7 +109783,7 @@ msgid "" "Your mind and brain have adapted to your new place in the world: as one on " "top of the food chain. You can effortlessly master and maintain combat " "skills, but your critical thinking has atrophied further." -msgstr "" +msgstr "你的精神和思想已經適應了你在世界的新地位:食物鏈頂部的一員。你可以毫不費力地掌握和維持作戰技巧,但是你的批判性思維進一步萎縮。" #: lang/json/mutation_from_json.py msgid "Sapiovore" @@ -105672,7 +109864,7 @@ msgstr "你用獠牙咬了 %s" #: lang/json/mutation_from_json.py #, no-python-format msgid "%1$s bites %2$s with their fangs" -msgstr "" +msgstr "%1$s 用他的獠牙咬了 %2$s" #: lang/json/mutation_from_json.py msgid "Folding Fangs" @@ -106348,7 +110540,7 @@ msgstr "光彩奪目" msgid "" "You are incredibly beautiful. People cannot help themselves due to your " "charms, and will do whatever they can to please you." -msgstr "" +msgstr "你簡直美若天仙。大家檔不住你的魅力相繼來討好你。" #: lang/json/mutation_from_json.py msgid "Snout" @@ -106357,9 +110549,9 @@ msgstr "長吻" #. ~ Description for Snout #: lang/json/mutation_from_json.py msgid "" -"Your face and jaw have begun...changing. Masks and such fit OK, but you're " +"Your face and jaw have begun… changing. Masks and such fit OK, but you're " "noticeably mutated." -msgstr "你的臉與下巴開始… 變化。目前還可以帶上面具之類的嘴部裝備, 但是你其實已經出現突變了。" +msgstr "" #: lang/json/mutation_from_json.py msgid "Bovine Snout" @@ -106370,7 +110562,7 @@ msgstr "牛鼻" msgid "" "Your face resembles that of a bull, with a significant snout. It looks " "fearsome but prevents wearing mouthgear." -msgstr "" +msgstr "你的臉就像是一頭公牛,有著明顯的鼻子。看起來很嚇人,而且讓你不能穿戴嘴部裝備。" #: lang/json/mutation_from_json.py msgid "Lupine Muzzle" @@ -106381,7 +110573,7 @@ msgstr "狼口" msgid "" "Your jaw and nose have extended into a wolfish muzzle. It lends itself to " "biting in combat and looks impressive, but prevents wearing mouthgear." -msgstr "" +msgstr "你的下顎與鼻子延伸成為了狼一般的口。適合在戰鬥中進行嘶咬攻擊,而且看起來很有殺氣,但是不能穿戴嘴部裝備。" #: lang/json/mutation_from_json.py #, no-python-format @@ -106402,7 +110594,7 @@ msgstr "熊口" msgid "" "Your jaw and nose have extended into a bearish muzzle. You could bite with " "it, and it looks impressive, but it prevents wearing mouthgear." -msgstr "" +msgstr "你的下顎與鼻子延伸成為了熊一般的口。你能利用來進行嘶咬攻擊,而且看起來很有殺氣,但是不能穿戴嘴部裝備。" #: lang/json/mutation_from_json.py #, no-python-format @@ -107103,13 +111295,12 @@ msgstr "變溫動物" #. ~ Description for Ectothermic #: lang/json/mutation_from_json.py +#, no-python-format msgid "" -"Your body has become permanently cold-blooded. Your speed lowers--or raises" -"--for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to " -"eat half as much as an average human." +"Your body has become permanently cold-blooded. Your speed lowers or raises " +"1% for every 2 (1.1) degrees below or above 65 F (18.3 C). You only need to" +" eat half as much as an average human." msgstr "" -"你已經完全變成冷血動物。身處在華氏 65 度 (攝氏18.3度) 以下 (以上) 時, 每低於 (高於) 華氏 2 度 (攝氏 1.1 度) 會使你失去" -" (增加) 速度。你也只需要進食正常人一半的食物。" #: lang/json/mutation_from_json.py msgid "Growling Voice" @@ -107398,8 +111589,8 @@ msgstr "文明崩壞? 太讚了! 你和你的親戚再也不用擔心屠宰場 #: lang/json/mutation_from_json.py msgid "" "It would be good to be a Queen, having workers constantly servicing your " -"every need...but how would you keep them in line?" -msgstr "當個皇后真好, 有工人服伺你的需要… 但, 要怎麼讓他們排好隊?" +"every need… but how would you keep them in line?" +msgstr "" #. ~ Description for Plant #: lang/json/mutation_from_json.py @@ -107415,9 +111606,9 @@ msgstr "水形" #. ~ Description for Aqueous #: lang/json/mutation_from_json.py msgid "" -"What was that old advertisement, 'paint the planet'? That might be a good " -"long-term goal, but for now..." -msgstr "曾經有個古老的廣告叫什麼… \"彩繪地球\"? 那也許是個很好的長期目標, 但是目前來說…" +"What was that old advertisement, 'paint the planet'? That might be a good " +"long-term goal, but for now…" +msgstr "" #: lang/json/mutation_from_json.py msgid "Subterranean" @@ -107816,7 +112007,7 @@ msgstr "你已接受過有關全自動外科醫生的正確操作的培訓,全 #: lang/json/mutation_from_json.py msgid "Dungeon Master" -msgstr "" +msgstr "地城大師" #. ~ Description for Dungeon Master #: lang/json/mutation_from_json.py @@ -107907,7 +112098,7 @@ msgstr "NPC 的特質使他們成為幻覺。 如果你有它,表示程式發 #: lang/json/mutation_from_json.py msgid "Debug Night Vision" -msgstr "" +msgstr "除錯夜視" #. ~ Description for Debug Night Vision #: lang/json/mutation_from_json.py @@ -108094,6 +112285,17 @@ msgid "" "Keep. Moving." msgstr "在熟悉的地方花費任何時間會使你痛苦不堪。必須。保持。移動。" +#: lang/json/mutation_from_json.py +msgid "Wayfarer" +msgstr "徒步旅行者" + +#. ~ Description for Wayfarer +#: lang/json/mutation_from_json.py +msgid "" +"Whether from personal choice or childhood trauma, travelling with vehicles " +"is off-limits to you, even if your life depended on it." +msgstr "無論是出於個人選擇還是童年的創傷,乘車旅行對你而言是禁忌,甚至當你依賴車輛維生時也一樣。" + #: lang/json/mutation_from_json.py msgid "Survivor Story" msgstr "倖存者故事" @@ -108109,12 +112311,12 @@ msgstr "這個NPC可以告訴你關於他們如何在大災變中倖存的故事 #: lang/json/mutation_from_json.py msgid "Mark of the Seer" -msgstr "" +msgstr "先知的印記" #. ~ Description for Mark of the Seer #: lang/json/mutation_from_json.py msgid "A strange occult symbol carved into your hand by Brigitte LaCroix." -msgstr "" +msgstr "Brigitte LaCroix 在你的手上刻了一個奇怪的神秘符號。" #: lang/json/mutation_from_json.py msgid "Agriculture Training" @@ -108661,14 +112863,14 @@ msgstr "" #: lang/json/mutation_from_json.py msgid "Künstler" -msgstr "" +msgstr "戰鬥天使" #. ~ Description for Künstler #: lang/json/mutation_from_json.py msgid "" "You have lingering memories of training to fight cyborgs and war machines in" " zero gravity using the obscure Panzer Kunst." -msgstr "" +msgstr "你有一些殘留的記憶,記得如何使用失傳的機甲術在零重力下與生化人和戰鬥機械對戰的訓練。" #: lang/json/mutation_from_json.py msgid "Magus" @@ -108953,11 +113155,11 @@ msgstr "" #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py msgid "Bone Seer" -msgstr "" +msgstr "骨先知" #: lang/json/npc_class_from_json.py msgid "I wish to sing the song of the Bones" -msgstr "" +msgstr "我想唱骨頭的歌。" #: lang/json/npc_class_from_json.py msgid "No class" @@ -109037,8 +113239,8 @@ msgid "Scientist" msgstr "科學家" #: lang/json/npc_class_from_json.py -msgid "I'm looking for clues concerning these monsters' origins..." -msgstr "我正在尋找這些怪物的源頭線索…" +msgid "I'm looking for clues concerning these monsters' origins…" +msgstr "" #: lang/json/npc_class_from_json.py msgid "Bounty Hunter" @@ -109101,7 +113303,7 @@ msgid "Real Person" msgstr "真人" #: lang/json/npc_class_from_json.py -msgid "I'm just wandering, like a totally real and normal NP... Person!" +msgid "I'm just wandering, like a totally real and normal NP… Person!" msgstr "" #: lang/json/npc_class_from_json.py @@ -109110,23 +113312,23 @@ msgstr "大廚" #: lang/json/npc_class_from_json.py msgid "I'm a chef." -msgstr "" +msgstr "我是廚師。" #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py msgid "Foodperson" msgstr "美食人" #: lang/json/npc_class_from_json.py -msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" -msgstr "我是美食人。我帶來營養!" +msgid "I AM FOODPERSON. AND I BRING SUSTENANCE!" +msgstr "" #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py msgid "Cyborg" msgstr "生化人" #: lang/json/npc_class_from_json.py -msgid "Zzzzzt... I...I'm a Cy...BEEEEEP...borg." -msgstr "吱吱吱吱...窩...我是生...嗶嗶嗶...化人。" +msgid "Zzzzzt… I… I'm a Cy… BEEEEEP… borg." +msgstr "" #: lang/json/npc_class_from_json.py msgid "former cop" @@ -109265,6 +113467,18 @@ msgstr "篷車旅商" msgid "I'm the owner of a trade caravan." msgstr "我是貿易商隊的老闆。" +#: lang/json/npc_class_from_json.py +msgid "Operator" +msgstr "特種部隊" + +#: lang/json/npc_class_from_json.py +msgid "Mage Test" +msgstr "" + +#: lang/json/npc_class_from_json.py +msgid "I'm a wandering debug tester for the arcane arts." +msgstr "" + #: lang/json/npc_class_from_json.py lang/json/npc_from_json.py #: lang/json/npc_from_json.py msgid "Captive" @@ -109288,123 +113502,123 @@ msgstr "我只是想活下去...那並不太容易。" #: lang/json/npc_class_from_json.py msgid "Lizard Mutant" -msgstr "" +msgstr "蜥蜴突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for lizard mutagen... this world is no place for humans anymore," " and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找蜥蜴突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Medical Mutant" -msgstr "" +msgstr "醫療突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for medical mutagen... this world is no place for humans " "anymore, and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找醫療突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Bird Mutant" -msgstr "" +msgstr "鳥類突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for bird mutagen... this world is no place for humans anymore, " "and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找鳥類突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Fish Mutant" -msgstr "" +msgstr "魚類突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for fish mutagen... this world is no place for humans anymore, " "and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找魚類突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Beast Mutant" -msgstr "" +msgstr "獸類突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for beast mutagen... this world is no place for humans anymore, " "and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找獸類突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Ursine Mutant" -msgstr "" +msgstr "熊類突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for ursine mutagen... this world is no place for humans anymore," " and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找熊類突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Feline Mutant" -msgstr "" +msgstr "貓類突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for feline mutagen... this world is no place for humans anymore," " and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找貓類突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Lupine Mutant" -msgstr "" +msgstr "狼類突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for lupine mutagen... this world is no place for humans anymore," " and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找狼類突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Cattle Mutant" -msgstr "" +msgstr "牛類突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for cattle mutagen... this world is no place for humans anymore," " and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找牛類突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Insect Mutant" -msgstr "" +msgstr "昆蟲突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for insect mutagen... this world is no place for humans anymore," " and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找昆蟲突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Plant Mutant" -msgstr "" +msgstr "植物突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for plant mutagen... this world is no place for humans anymore, " "and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找植物突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Slime Mutant" -msgstr "" +msgstr "黏液突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for slime mutagen... this world is no place for humans anymore, " "and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找黏液突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Troglobite Mutant" @@ -109414,87 +113628,87 @@ msgstr "穴居動物突變" msgid "" "I'm looking for troglobite mutagen... this world is no place for humans " "anymore, and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找穴居動物突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Cephalopod Mutant" -msgstr "" +msgstr "頭足類突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for cephalopod mutagen... this world is no place for humans " "anymore, and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找頭足類突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Spider Mutant" -msgstr "" +msgstr "蜘蛛突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for spider mutagen... this world is no place for humans anymore," " and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找蜘蛛突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Rat Mutant" -msgstr "" +msgstr "大鼠突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for rat mutagen... this world is no place for humans anymore, " "and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找大鼠突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Mouse Mutant" -msgstr "" +msgstr "小鼠突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for mouse mutagen... this world is no place for humans anymore, " "and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找小鼠突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Alpha Mutant" -msgstr "" +msgstr "阿爾法突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for alpha mutagen... this world is no place for humans anymore, " "and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找阿爾法突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Elfa Mutant" -msgstr "" +msgstr "妖精突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for elfa mutagen... this world is no place for humans anymore, " "and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找妖精突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Chimera Mutant" -msgstr "" +msgstr "嵌合體突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for chimera mutagen... this world is no place for humans " "anymore, and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找嵌合體突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_class_from_json.py msgid "Raptor Mutant" -msgstr "" +msgstr "迅猛龍突變體" #: lang/json/npc_class_from_json.py msgid "" "I'm looking for raptor mutagen... this world is no place for humans anymore," " and I don't plan to keep being one." -msgstr "" +msgstr "我正在尋找迅猛龍突變劑...這個世界已經不再是人類居住的地方,而且我也不打算繼續當個人類。" #: lang/json/npc_from_json.py msgid "Brigitte LaCroix" @@ -109751,7 +113965,7 @@ msgstr "非森林濕地" #: lang/json/overmap_land_use_code_from_json.py msgid "DEP Wetlands (1:12,000) WETCODEs 4, 7, 8, 12, 23, 18, 20, and 21." -msgstr "DEP 濕地(1:12,000)WETCODE 4, 7, 8, 12, 23, 18, 20和21。" +msgstr "環境保護部濕地(1:12,000)濕地編碼 4, 7, 8, 12, 23, 18, 20 和 21 號。" #: lang/json/overmap_land_use_code_from_json.py msgid "Mining" @@ -109766,18 +113980,18 @@ msgstr "包括沙子和礫石坑、礦山和採石場。邊界延伸到該地點 #: lang/json/overmap_land_use_code_from_json.py msgid "Open Land" -msgstr "" +msgstr "開闊地" #: lang/json/overmap_land_use_code_from_json.py msgid "" "Vacant land, idle agriculture, rock outcrops, and barren areas. Vacant land" " is not maintained for any evident purpose and it does not support large " "plant growth." -msgstr "" +msgstr "空地,閒置的農業、岩石裸露和貧瘠的地區。空地沒有任何明顯用途,也不支持大型植物的生長。" #: lang/json/overmap_land_use_code_from_json.py msgid "Participation Recreation" -msgstr "" +msgstr "體驗式娛樂" #: lang/json/overmap_land_use_code_from_json.py msgid "" @@ -109793,7 +114007,7 @@ msgstr "" #: lang/json/overmap_land_use_code_from_json.py msgid "Spectator Recreation" -msgstr "" +msgstr "觀賞式娛樂" #: lang/json/overmap_land_use_code_from_json.py msgid "" @@ -109804,7 +114018,7 @@ msgstr "" #: lang/json/overmap_land_use_code_from_json.py msgid "Water-Based Recreation" -msgstr "" +msgstr "水上娛樂" #: lang/json/overmap_land_use_code_from_json.py msgid "" @@ -109819,7 +114033,7 @@ msgstr "" #: lang/json/overmap_land_use_code_from_json.py msgid "Multi-Family Residential" -msgstr "" +msgstr "多戶住宅" #: lang/json/overmap_land_use_code_from_json.py msgid "" @@ -109831,7 +114045,7 @@ msgstr "" #: lang/json/overmap_land_use_code_from_json.py msgid "High Density Residential" -msgstr "" +msgstr "高密度住宅" #: lang/json/overmap_land_use_code_from_json.py msgid "" @@ -109841,7 +114055,7 @@ msgstr "" #: lang/json/overmap_land_use_code_from_json.py msgid "Medium Density Residential" -msgstr "" +msgstr "中密度住宅" #: lang/json/overmap_land_use_code_from_json.py msgid "" @@ -109851,7 +114065,7 @@ msgstr "" #: lang/json/overmap_land_use_code_from_json.py msgid "Low Density Residential" -msgstr "" +msgstr "低密度住宅" #: lang/json/overmap_land_use_code_from_json.py msgid "" @@ -109861,47 +114075,47 @@ msgstr "" #: lang/json/overmap_land_use_code_from_json.py msgid "Saltwater Wetland" -msgstr "" +msgstr "鹹水濕地" #: lang/json/overmap_land_use_code_from_json.py msgid "DEP Wetlands (1:12,000) WETCODEs 11 and 27." -msgstr "" +msgstr "環境保護部濕地(1:12,000)濕地編碼 11 和 27 號。" #: lang/json/overmap_land_use_code_from_json.py msgid "Commercial" -msgstr "" +msgstr "商業用地" #: lang/json/overmap_land_use_code_from_json.py msgid "" "Malls, shopping centers and larger strip commercial areas, plus neighborhood" " stores and medical offices (not hospitals). Lawn and garden centers that " "do not produce or grow the product are also considered commercial." -msgstr "" +msgstr "商場、購物中心與較大的商業區,以及附近的商店和醫療辦公室(非醫院)。不生產或種植產品的草坪和園藝中心也被視為商業用途。" #: lang/json/overmap_land_use_code_from_json.py msgid "Industrial" -msgstr "" +msgstr "工業用地" #: lang/json/overmap_land_use_code_from_json.py msgid "" "Light and heavy industry, including buildings, equipment and parking areas." " " -msgstr "" +msgstr "輕工業和重工業,包括建築物,設備和停車場。" #: lang/json/overmap_land_use_code_from_json.py msgid "Transitional" -msgstr "" +msgstr "過渡性用地" #: lang/json/overmap_land_use_code_from_json.py msgid "" "Open areas in the process of being developed from one land use to another " "(if the future land use is at all uncertain). Formerly identified as Urban " "Open." -msgstr "" +msgstr "正在從一種土地用途發展為另一種土地用途的開放區域(如果未來的土地用途完全不確定)。以前稱為城市開放空間。" #: lang/json/overmap_land_use_code_from_json.py msgid "Transportation" -msgstr "" +msgstr "運輸" #: lang/json/overmap_land_use_code_from_json.py msgid "" @@ -109918,7 +114132,7 @@ msgstr "" #: lang/json/overmap_land_use_code_from_json.py msgid "Waste Disposal" -msgstr "" +msgstr "廢物處理" #: lang/json/overmap_land_use_code_from_json.py msgid "" @@ -109929,11 +114143,11 @@ msgstr "" #: lang/json/overmap_land_use_code_from_json.py msgid "DEP Wetlands (1:12,000) WETCODEs 9 and 22." -msgstr "" +msgstr "環境保護部濕地(1:12,000)濕地編碼 9 和 22 號。" #: lang/json/overmap_land_use_code_from_json.py msgid "Cranberry bog" -msgstr "" +msgstr "蔓越莓沼田" #: lang/json/overmap_land_use_code_from_json.py msgid "" @@ -109942,10 +114156,12 @@ msgid "" "features associated with cranberry bogs such as parking lots and machinery " "are included. Modified from DEP Wetlands (1:12,000) WETCODE 5." msgstr "" +"活躍的蔓越莓沼田和最近不活躍的蔓越莓沼田,以及與生長過程中使用的沼田相鄰的沙質區域。包括蔓越莓沼田的防滲水相關設施,例如停車場和機械設備。改自環境保護部濕地(1:12,000)濕地編碼" +" 5 號。" #: lang/json/overmap_land_use_code_from_json.py msgid "Powerline/Utility" -msgstr "" +msgstr "電力線/公用事業" #: lang/json/overmap_land_use_code_from_json.py msgid "" @@ -109955,15 +114171,15 @@ msgstr "" #: lang/json/overmap_land_use_code_from_json.py msgid "Saltwater Sandy Beach" -msgstr "" +msgstr "鹹水沙灘" #: lang/json/overmap_land_use_code_from_json.py msgid "DEP Wetlands (1:12,000) WETCODEs 1, 2, 3, 6, 10, 13, 17 and 19" -msgstr "" +msgstr "環境保護部濕地(1:12,000)濕地編碼 1, 2, 3, 6, 10, 13, 17 和 19 號。" #: lang/json/overmap_land_use_code_from_json.py msgid "Golf Course" -msgstr "" +msgstr "高爾夫球場" #: lang/json/overmap_land_use_code_from_json.py msgid "" @@ -109975,16 +114191,16 @@ msgstr "" #: lang/json/overmap_land_use_code_from_json.py msgid "Marina" -msgstr "" +msgstr "休閒碼頭" #: lang/json/overmap_land_use_code_from_json.py msgid "" "Include parking lots and associated facilities but not docks (in class 18)" -msgstr "" +msgstr "包括停車場和相關設施,但不包括船塢(第18類)" #: lang/json/overmap_land_use_code_from_json.py msgid "Urban Public/Institutional" -msgstr "" +msgstr "城市公共/機構" #: lang/json/overmap_land_use_code_from_json.py msgid "" @@ -109996,44 +114212,44 @@ msgstr "" #: lang/json/overmap_land_use_code_from_json.py msgid "Cemetery" -msgstr "" +msgstr "公墓" #: lang/json/overmap_land_use_code_from_json.py msgid "" "Includes the gravestones, monuments, parking lots, road networks and " "associated buildings." -msgstr "" +msgstr "包括墓碑、紀念碑、停車場、道路網路和相關建築物。" #: lang/json/overmap_land_use_code_from_json.py msgid "Orchard" -msgstr "" +msgstr "果園" #: lang/json/overmap_land_use_code_from_json.py msgid "Fruit farms and associated facilities." -msgstr "" +msgstr "水果農場和相關設施。" #: lang/json/overmap_land_use_code_from_json.py msgid "Nursery" -msgstr "" +msgstr "苗圃" #: lang/json/overmap_land_use_code_from_json.py msgid "" "Greenhouses and associated buildings as well as any surrounding maintained " "lawn. Christmas tree (small conifer) farms are also classified as " "Nurseries." -msgstr "" +msgstr "溫室和相關建築物以及周圍維護的草坪。聖誕樹(小針葉樹)農場也被歸為苗圃。" #: lang/json/overmap_land_use_code_from_json.py msgid "Forested Wetland" -msgstr "" +msgstr "森林濕地" #: lang/json/overmap_land_use_code_from_json.py msgid "DEP Wetlands (1:12,000) WETCODEs 14, 15, 16, 24, 25 and 26." -msgstr "" +msgstr "環境保護部濕地(1:12,000)濕地編碼 14, 15, 16, 24, 25 和 26 號。" #: lang/json/overmap_land_use_code_from_json.py msgid "Very Low Density Residential" -msgstr "" +msgstr "超低密度住宅" #: lang/json/overmap_land_use_code_from_json.py msgid "" @@ -110043,7 +114259,7 @@ msgstr "" #: lang/json/overmap_land_use_code_from_json.py msgid "Junkyard" -msgstr "" +msgstr "垃圾場" #: lang/json/overmap_land_use_code_from_json.py msgid "" @@ -110053,7 +114269,7 @@ msgstr "" #: lang/json/overmap_land_use_code_from_json.py msgid "Brushland/Successional" -msgstr "" +msgstr "灌木叢/演替" #: lang/json/overmap_land_use_code_from_json.py #, no-python-format @@ -110098,7 +114314,7 @@ msgstr "燈塔" #: lang/json/overmap_terrain_from_json.py lang/json/snippet_from_json.py msgid "island" -msgstr "" +msgstr "島嶼" #: lang/json/overmap_terrain_from_json.py msgid "forest" @@ -110204,11 +114420,11 @@ msgstr "萬人塚" #: lang/json/overmap_terrain_from_json.py msgid "giant sinkhole" -msgstr "" +msgstr "巨型天坑" #: lang/json/overmap_terrain_from_json.py msgid "giant sinkhole base" -msgstr "" +msgstr "巨型天坑底部" #: lang/json/overmap_terrain_from_json.py msgid "public space" @@ -110220,7 +114436,7 @@ msgstr "停車場" #: lang/json/overmap_terrain_from_json.py msgid "irradiation plant" -msgstr "" +msgstr "輻照工廠" #: lang/json/overmap_terrain_from_json.py msgid "field" @@ -110240,107 +114456,107 @@ msgstr "堅硬的岩石" #: lang/json/overmap_terrain_from_json.py msgid "generic_cropland" -msgstr "" +msgstr "一般_農地" #: lang/json/overmap_terrain_from_json.py msgid "generic_pasture" -msgstr "" +msgstr "一般_牧場" #: lang/json/overmap_terrain_from_json.py msgid "generic_forest" -msgstr "" +msgstr "一般_森林" #: lang/json/overmap_terrain_from_json.py msgid "generic_wetland" -msgstr "" +msgstr "一般_濕地" #: lang/json/overmap_terrain_from_json.py msgid "generic_mining" -msgstr "" +msgstr "一般_礦業" #: lang/json/overmap_terrain_from_json.py msgid "generic_open_land" -msgstr "" +msgstr "一般_開闊_土地" #: lang/json/overmap_terrain_from_json.py msgid "generic_recreation_participation" -msgstr "" +msgstr "一般_休閒_體驗式" #: lang/json/overmap_terrain_from_json.py msgid "generic_recreation_spectator" -msgstr "" +msgstr "一般_休閒_觀賞式" #: lang/json/overmap_terrain_from_json.py msgid "generic_recreation_water" -msgstr "" +msgstr "一般_休閒_水" #: lang/json/overmap_terrain_from_json.py msgid "generic_residential_multi" -msgstr "" +msgstr "一般_住宅_多戶" #: lang/json/overmap_terrain_from_json.py msgid "generic_residential_high" -msgstr "" +msgstr "一般_住宅_高密度" #: lang/json/overmap_terrain_from_json.py msgid "generic_residential_medium" -msgstr "" +msgstr "一般_住宅_中密度" #: lang/json/overmap_terrain_from_json.py msgid "generic_residential_low" -msgstr "" +msgstr "一般_住宅_低密度" #: lang/json/overmap_terrain_from_json.py msgid "generic_wetland_saltwater" -msgstr "" +msgstr "一般_濕地_鹹水" #: lang/json/overmap_terrain_from_json.py msgid "generic_commercial" -msgstr "" +msgstr "一般_商業用地" #: lang/json/overmap_terrain_from_json.py msgid "generic_industrial" -msgstr "" +msgstr "一般_工業用地" #: lang/json/overmap_terrain_from_json.py msgid "generic_transitional" -msgstr "" +msgstr "一般_過渡性用地" #: lang/json/overmap_terrain_from_json.py msgid "generic_transportation" -msgstr "" +msgstr "一般_運輸" #: lang/json/overmap_terrain_from_json.py msgid "generic_waste_disposal" -msgstr "" +msgstr "一般_廢物_處理" #: lang/json/overmap_terrain_from_json.py msgid "generic_water" -msgstr "" +msgstr "一般_水" #: lang/json/overmap_terrain_from_json.py msgid "generic_cranberry_bog" -msgstr "" +msgstr "一般_蔓越莓_沼田" #: lang/json/overmap_terrain_from_json.py msgid "generic_powerline_utility" -msgstr "" +msgstr "一般_電力線_公用事業" #: lang/json/overmap_terrain_from_json.py msgid "generic_saltwater_sandy_beach" -msgstr "" +msgstr "一般_鹹水_沙_灘" #: lang/json/overmap_terrain_from_json.py msgid "generic_golf_course" -msgstr "" +msgstr "一般_高爾夫_球場" #: lang/json/overmap_terrain_from_json.py msgid "generic_marina" -msgstr "" +msgstr "一般_休閒碼頭" #: lang/json/overmap_terrain_from_json.py msgid "generic_urban_public_institutional" -msgstr "" +msgstr "一般_城市_公共_機構" #: lang/json/overmap_terrain_from_json.py msgid "cemetery" @@ -110348,27 +114564,27 @@ msgstr "公墓" #: lang/json/overmap_terrain_from_json.py msgid "generic_orchard" -msgstr "" +msgstr "一般_果園" #: lang/json/overmap_terrain_from_json.py msgid "generic_nursery" -msgstr "" +msgstr "一般_苗圃" #: lang/json/overmap_terrain_from_json.py msgid "generic_wetland_forest" -msgstr "" +msgstr "一般_濕地_森林" #: lang/json/overmap_terrain_from_json.py msgid "generic_residential_very_low" -msgstr "" +msgstr "一般_住宅_超_低密度" #: lang/json/overmap_terrain_from_json.py msgid "generic_junkyard" -msgstr "" +msgstr "一般_垃圾場" #: lang/json/overmap_terrain_from_json.py msgid "generic_brushland" -msgstr "" +msgstr "一般_灌木叢" #: lang/json/overmap_terrain_from_json.py msgid "sugar house" @@ -110795,10 +115011,22 @@ msgstr "樂器店" msgid "music store roof" msgstr "樂器店屋頂" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore parking lot" +msgstr "大賣場停車場" + #: lang/json/overmap_terrain_from_json.py msgid "megastore" msgstr "大賣場" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore, second floor" +msgstr "大賣場,二樓" + +#: lang/json/overmap_terrain_from_json.py +msgid "megastore roof" +msgstr "大賣場屋頂" + #: lang/json/overmap_terrain_from_json.py msgid "hotel parking" msgstr "旅館停車場" @@ -111151,7 +115379,7 @@ msgstr "農場" msgid "garage survey" msgstr "修車廠" -#: lang/json/overmap_terrain_from_json.py +#: lang/json/overmap_terrain_from_json.py lang/json/recipe_from_json.py msgid "kitchen survey" msgstr "廚房" @@ -111172,8 +115400,8 @@ msgid "spiked trench" msgstr "尖刺壕" #: lang/json/overmap_terrain_from_json.py -msgid "store survey" -msgstr "儲物倉" +msgid "fabrication workshop survey" +msgstr "" #: lang/json/overmap_terrain_from_json.py msgid "blacksmith survey" @@ -111187,6 +115415,18 @@ msgstr "鐵匠鋪" msgid "livestock survey" msgstr "畜牧場" +#: lang/json/overmap_terrain_from_json.py +msgid "store house survey" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "saltworks survey" +msgstr "" + +#: lang/json/overmap_terrain_from_json.py +msgid "canteen survey" +msgstr "食堂" + #: lang/json/overmap_terrain_from_json.py msgid "crater" msgstr "彈坑" @@ -111868,6 +116108,10 @@ msgstr "靶場" msgid "shooting range roof" msgstr "靶場屋頂" +#: lang/json/overmap_terrain_from_json.py +msgid "miniature railway" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "golf course" msgstr "高爾夫球場" @@ -112026,7 +116270,7 @@ msgstr "道場屋頂" #: lang/json/overmap_terrain_from_json.py msgid "private park" -msgstr "私人公園" +msgstr "私人園林" #: lang/json/overmap_terrain_from_json.py msgid "private park roof" @@ -112043,11 +116287,11 @@ msgstr "碼頭" #: lang/json/overmap_terrain_from_json.py msgid "marina" -msgstr "碼頭" +msgstr "休閒碼頭" #: lang/json/overmap_terrain_from_json.py msgid "marina parking" -msgstr "碼頭停車場" +msgstr "休閒碼頭停車場" #: lang/json/overmap_terrain_from_json.py msgid "duplex" @@ -112151,11 +116395,11 @@ msgstr "火車站停車場" #: lang/json/overmap_terrain_from_json.py msgid "forest trail" -msgstr "自然步行徑" +msgstr "森林步道" #: lang/json/overmap_terrain_from_json.py msgid "trailhead" -msgstr "步行徑入口" +msgstr "林道入口" #: lang/json/overmap_terrain_from_json.py msgid "subway station" @@ -112558,6 +116802,10 @@ msgstr "公共圖書館,二樓" msgid "mechanics garage" msgstr "汽車修理工房" +#: lang/json/overmap_terrain_from_json.py +msgid "megastore entrance" +msgstr "" + #: lang/json/overmap_terrain_from_json.py msgid "sewage treatment" msgstr "污水處理" @@ -112602,10 +116850,6 @@ msgstr "頹傾小屋 - 泥土廣場" msgid "desert" msgstr "沙漠" -#: lang/json/overmap_terrain_from_json.py -msgid "megastore roof" -msgstr "大賣場屋頂" - #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Vagabond" @@ -116792,6 +121036,36 @@ msgid "" msgstr "" "妳總是鎮上最難以理解的景象,留著滑稽的髮型,穿著像是日本浴衣的服裝。有些人說妳的下凡的神道教之神。但那些幾乎都跟妳沒關係,只是上星期雜貨店關了,電視也不再播放節目了。這讓妳很不爽。" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Competetive Fencer" +msgstr "" + +#. ~ Profession (male Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Competetive Fencer" +msgstr "" + +#. ~ Profession (female Competetive Fencer) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You were an avid sport fencer, always practicing at local clubs and " +"competing in tournaments. You were on your way to have a few bouts at the " +"club when the world ended. Now you're in your most important tournament, " +"the refs are all dead, and none of your opponents follow the rules." +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Career Politician" @@ -117828,6 +122102,248 @@ msgid "" "flesh that is now your own, bare your fangs and fight until the next dawn." msgstr "" +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Rifleman" +msgstr "軍隊步槍兵" + +#. ~ Profession (male Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "前線步兵,步兵一線,一線步兵,步兵一線。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Rifleman" +msgstr "軍隊步槍兵" + +#. ~ Profession (female Military Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Frontline infantry, frontline infantry, frontline infantry, frontline " +"infantry." +msgstr "前線步兵,步兵一線,一線步兵,步兵一線。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Marksman" +msgstr "軍隊射手" + +#. ~ Profession (male Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "你總想自己是真的狙擊手,但事實上你只是拿著比較大支槍械的步兵。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Marksman" +msgstr "軍隊射手" + +#. ~ Profession (female Military Marksman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You like to think you're a real sniper, but really you're just infantry with" +" a bigger gun." +msgstr "妳總想自己是真的狙擊手,但事實上妳只是拿著比較大支槍械的步兵。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Automatic Rifleman" +msgstr "軍隊機槍兵" + +#. ~ Profession (male Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "S stands for suppressing fire!" +msgstr "S代表壓制性火力!" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Automatic Rifleman" +msgstr "軍隊機槍兵" + +#. ~ Profession (female Military Automatic Rifleman) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "S stands for suppressing fire!" +msgstr "S代表壓制性火力!" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Grenadier" +msgstr "軍隊擲彈兵" + +#. ~ Profession (male Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "There's no kill like overkill." +msgstr "沒有比過量擊殺更爽的了。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Grenadier" +msgstr "軍隊擲彈兵" + +#. ~ Profession (female Military Grenadier) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "There's no kill like overkill." +msgstr "沒有比過量擊殺更爽的了。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Military Breacher" +msgstr "軍隊突破兵" + +#. ~ Profession (male Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "各處的門窗都不敢提及你的大名。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Military Breacher" +msgstr "軍隊突破兵" + +#. ~ Profession (female Military Breacher) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "Doors and windows everywhere dare not speak your name." +msgstr "各處的門窗都不敢提及妳的大名。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Recon" +msgstr "特種部隊偵查兵" + +#. ~ Profession (male Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "The only easy day was yesterday." +msgstr "唯一輕鬆的日子是昨天。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Recon" +msgstr "特種部隊偵查兵" + +#. ~ Profession (female Operator Recon) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "The only easy day was yesterday." +msgstr "唯一輕鬆的日子是昨天。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Sniper" +msgstr "特種部隊狙擊手" + +#. ~ Profession (male Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "你花了好幾天與敵人的狙擊手決鬥,然後他就...死了。然後他又不死了。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Sniper" +msgstr "特種部隊狙擊手" + +#. ~ Profession (female Operator Sniper) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You spent days dueling an enemy sniper, then he just... died. And then un-" +"died." +msgstr "妳花了好幾天與敵人的狙擊手決鬥,然後他就...死了。然後他又不死了。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Hacker" +msgstr "特種部隊駭客" + +#. ~ Profession (male Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "你堅持認為自己不是駭客,而是“電子戰專家”。" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Hacker" +msgstr "特種部隊駭客" + +#. ~ Profession (female Operator Hacker) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You insist you're not a hacker, you're an 'Electronic Warfare Specialist'" +msgstr "妳堅持認為自己不是駭客,而是“電子戰專家”。" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator Undercover" +msgstr "" + +#. ~ Profession (male Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator Undercover" +msgstr "" + +#. ~ Profession (female Operator Undercover) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"You've been tailing your target for months and now he's a zombie. So much " +"for that lead." +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_male" +msgid "Operator CBRN" +msgstr "" + +#. ~ Profession (male Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_male" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" + +#: lang/json/professions_from_json.py +msgctxt "profession_female" +msgid "Operator CBRN" +msgstr "" + +#. ~ Profession (female Operator CBRN) description +#: lang/json/professions_from_json.py +msgctxt "prof_desc_female" +msgid "" +"Chemical weapons? Check. Biological outbreak? Check. Nuclear war? Check. " +"Sounds like the perfect job for you!" +msgstr "" + #: lang/json/professions_from_json.py msgctxt "profession_male" msgid "Rookie" @@ -119456,16 +123972,6 @@ msgstr "馬匹護甲" msgid "BUILDING" msgstr "建築" -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "BASES" -msgstr "基地" - -#. ~ Crafting recipes subcategory of 'BUILDING' category -#: lang/json/recipe_category_from_json.py -msgid "EXPANSIONS" -msgstr "擴充" - #. ~ Crafting recipes category name #: lang/json/recipe_category_from_json.py msgid "ENCHANTED" @@ -120421,9 +124927,9 @@ msgstr "準備廚房區域" #: lang/json/recipe_from_json.py msgid "" -"We should build a well, put it near that winch. This will make our future " +"We should build a well, put it near that winch. This will make our future " "here more secure." -msgstr "我們應該建造一口井,將其放在轆轤附近。這將使我們在這裡的未來更加穩當。" +msgstr "" #: lang/json/recipe_from_json.py msgid "build a well" @@ -120478,8 +124984,8 @@ msgstr "建造壁爐" #: lang/json/recipe_from_json.py msgid "" "Now that we have some cover, we should set up a brazier for cooking, and " -"grab a pot. Let's put it in that dining area." -msgstr "現在我們有了一些遮蔽,我們應該設置一個火盆來進行烹飪,然後拿一個鍋子。讓我們把它放在那個用餐區。" +"grab a pot. Let's put it in that dining area." +msgstr "" #: lang/json/recipe_from_json.py msgid "build a brazier" @@ -121122,6 +125628,360 @@ msgstr "蒸汽動力的落錘能以木炭來換取大幅增加的生產速度。 msgid "Blacksmithy drop hammer" msgstr "鐵匠鋪落錘" +#: lang/json/recipe_from_json.py +msgid "Survey land for a kitchen and dining area." +msgstr "勘查擴建廚房和用餐區的土地。" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 fireplaces for cooking and " +"grab a pot." +msgstr "現在我們有了一些遮蔽,我們應該建造兩個用來烹飪的壁爐並拿一個鍋子。" + +#: lang/json/recipe_from_json.py +msgid "build 2 fireplaces" +msgstr "建造 2 壁爐" + +#: lang/json/recipe_from_json.py +msgid "" +"Now that we have some cover, we should build 2 stoves for cooking and grab a" +" pot." +msgstr "現在我們有了一些遮蔽,我們應該建造兩個用來烹飪的柴爐並拿一個鍋子。" + +#: lang/json/recipe_from_json.py +msgid "build 2 wood stoves" +msgstr "建造 2 柴爐" + +#: lang/json/recipe_from_json.py +msgid "We should build a well. This will make cooking more convenient." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Lets build some counters and shelves." +msgstr "讓我們建造一些櫃檯和架子。" + +#: lang/json/recipe_from_json.py +msgid "build kitchen counters" +msgstr "建造廚房櫃檯" + +#: lang/json/recipe_from_json.py +msgid "build 3 smoking racks and a charcoal kiln" +msgstr "建造 3 煙燻架與碳化爐" + +#: lang/json/recipe_from_json.py +msgid "Lets furnish the pantry and build 2 root cellars." +msgstr "我們來佈置食品儲藏室並建造兩個塊根作物儲存窖。" + +#: lang/json/recipe_from_json.py +msgid "furnish the pantry" +msgstr "佈置食品儲藏室" + +#: lang/json/recipe_from_json.py +msgid "Let's make some furniture for the dining hall." +msgstr "我們來為食堂製作一些家具吧。" + +#: lang/json/recipe_from_json.py +msgid "furnish the dining room" +msgstr "佈置食堂" + +#: lang/json/recipe_from_json.py +msgid "Let's build some planters to the north for a chef's garden." +msgstr "讓我們在北邊建造一些植圃當作廚師花園吧。" + +#: lang/json/recipe_from_json.py +msgid "build some planters" +msgstr "建造一些植圃" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen log walls." +msgstr "我們開始來建造中央廚房原木牆吧。" + +#: lang/json/recipe_from_json.py +msgid "build the log wall central kitchen room" +msgstr "建造原木牆中央廚房" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen log walls." +msgstr "我們來完成中央廚房原木牆吧。" + +#: lang/json/recipe_from_json.py +msgid "finish the log wall central kitchen room" +msgstr "完成原木牆中央廚房" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this log wall smoking area covered to protect the workers from the " +"weather." +msgstr "讓我們在這原木牆煙燻區域建造遮蔽物,讓工人們不受日曬雨淋。" + +#: lang/json/recipe_from_json.py +msgid "build a log wall roofed area for smoking racks" +msgstr "建造原木牆區域煙燻架" + +#: lang/json/recipe_from_json.py +msgid "Lets build a log wall pantry west of the kitchen." +msgstr "我們來建造原木牆廚房西側食品儲藏室吧。" + +#: lang/json/recipe_from_json.py +msgid "build a log wall pantry" +msgstr "建造原木牆食品儲藏室" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west log wall of the dining hall." +msgstr "我們來建造食堂西側原木牆吧。" + +#: lang/json/recipe_from_json.py +msgid "build W log wall" +msgstr "建造西原木牆" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east log wall of the dining hall." +msgstr "我們來建造食堂東側原木牆吧。" + +#: lang/json/recipe_from_json.py +msgid "build E log wall" +msgstr "建造東原木牆" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the log wall dining hall." +msgstr "我們來建造原木牆食堂的中央部分吧。" + +#: lang/json/recipe_from_json.py +msgid "build center of the log wall dining hall" +msgstr "建造原木牆食堂中央部分" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen metal walls." +msgstr "我們開始來建造中央廚房的金屬牆吧。" + +#: lang/json/recipe_from_json.py +msgid "build the metal wall central kitchen room" +msgstr "建造金屬牆中央廚房" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen metal walls." +msgstr "我們來完成中央廚房金屬牆吧。" + +#: lang/json/recipe_from_json.py +msgid "finish the metal wall central kitchen room" +msgstr "完成金屬牆中央廚房" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this metal wall smoking area covered to protect the workers from " +"the weather." +msgstr "讓我們在這金屬牆煙燻區域建造遮蔽物,讓工人們不受日曬雨淋。" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall roofed area for smoking racks" +msgstr "建造金屬牆區域煙燻架" + +#: lang/json/recipe_from_json.py +msgid "Lets build a metal wall pantry west of the kitchen." +msgstr "我們來建造金屬牆廚房西側食品儲藏室吧。" + +#: lang/json/recipe_from_json.py +msgid "build a metal wall pantry" +msgstr "建造金屬牆食品儲藏室" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west metal wall of the dining hall." +msgstr "我們來建造食堂西側金屬牆吧。" + +#: lang/json/recipe_from_json.py +msgid "build W metal wall" +msgstr "建造西金屬牆" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east metal wall of the dining hall." +msgstr "我們來建造食堂東側金屬牆吧。" + +#: lang/json/recipe_from_json.py +msgid "build E metal wall" +msgstr "建造東金屬牆" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the metal wall dining hall." +msgstr "我們來建造金屬牆食堂的中央部分吧。" + +#: lang/json/recipe_from_json.py +msgid "build center of the metal wall dining hall" +msgstr "建造金屬牆食堂中央部分" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen rock walls." +msgstr "我們開始來建造中央廚房石頭牆吧。" + +#: lang/json/recipe_from_json.py +msgid "build the central kitchen room" +msgstr "建造中央廚房" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen rock walls." +msgstr "我們來完成中央廚房石頭牆吧。" + +#: lang/json/recipe_from_json.py +msgid "finish the rock wall central kitchen room" +msgstr "完成石頭牆中央廚房" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this rock wall smoking area covered to protect the workers from the" +" weather." +msgstr "讓我們在這石頭牆煙燻區域建造遮蔽物,讓工人們不受日曬雨淋。" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall roofed area for smoking racks" +msgstr "建造石頭牆區域煙燻架" + +#: lang/json/recipe_from_json.py +msgid "Lets build a rock wall pantry west of the kitchen." +msgstr "我們來建造石頭牆廚房西側食品儲藏室吧。" + +#: lang/json/recipe_from_json.py +msgid "build a rock wall pantry" +msgstr "建造石頭牆食品儲藏室" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west rock wall of the rock wall dining hall." +msgstr "我們來建造食堂西側石頭牆吧。" + +#: lang/json/recipe_from_json.py +msgid "build W rock wall" +msgstr "建造西石頭牆" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east rock wall of the rock wall dining hall." +msgstr "我們來建造食堂東側石頭牆吧。" + +#: lang/json/recipe_from_json.py +msgid "build E rock wall" +msgstr "建造東石頭牆" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the rock wall dining hall." +msgstr "我們來建造石頭牆食堂的中央部分吧。" + +#: lang/json/recipe_from_json.py +msgid "build center of the rock dining hall" +msgstr "建造石頭牆食堂中央部分" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wattle and daub walls." +msgstr "我們開始來建造中央廚房的泥板牆吧。" + +#: lang/json/recipe_from_json.py +msgid "build the wattle and daub central kitchen room" +msgstr "建造泥板牆中央廚房" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wattle and daub walls." +msgstr "我們來完成中央廚房泥板牆吧。" + +#: lang/json/recipe_from_json.py +msgid "finish the wattle and daub central kitchen room" +msgstr "完成泥板牆中央廚房" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wattle and daub smoking area covered to protect the workers " +"from the weather." +msgstr "讓我們在這泥板牆煙燻區域建造遮蔽物,讓工人們不受日曬雨淋。" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub roofed area for smoking racks" +msgstr "建造泥板牆區域煙燻架" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wattle and daub wall pantry west of the kitchen." +msgstr "我們來建造泥板牆廚房西側食品儲藏室吧。" + +#: lang/json/recipe_from_json.py +msgid "build a wattle and daub pantry" +msgstr "建造泥板牆食品儲藏室" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wattle and daub wall of the dining hall." +msgstr "我們來建造食堂西側泥板牆吧。" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub wall" +msgstr "建造西泥板牆" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wattle and daub wall of the dining hall." +msgstr "我們來建造食堂東側泥板牆吧。" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub wall" +msgstr "建造東泥板牆" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wattle and daub dining hall." +msgstr "我們來建造泥板牆食堂的中央部分吧。" + +#: lang/json/recipe_from_json.py +msgid "build center of the wattle and daub dining hall" +msgstr "建造泥板牆食堂中央部分" + +#: lang/json/recipe_from_json.py +msgid "Lets start building the central kitchen wood panel walls." +msgstr "我們開始來建造中央廚房的木板牆吧。" + +#: lang/json/recipe_from_json.py +msgid "build the wood panel central kitchen room" +msgstr "建造木板牆中央廚房" + +#: lang/json/recipe_from_json.py +msgid "Lets finish the central kitchen wood panel walls." +msgstr "我們來完成中央廚房木板牆吧。" + +#: lang/json/recipe_from_json.py +msgid "finish the wood panel central kitchen room" +msgstr "完成木板牆中央廚房" + +#: lang/json/recipe_from_json.py +msgid "" +"Lets get this wood panel smoking area covered to protect the workers from " +"the weather." +msgstr "讓我們在這木板牆煙燻區域建造遮蔽物,讓工人們不受日曬雨淋。" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel roofed area for smoking racks" +msgstr "建造木板牆區域煙燻架" + +#: lang/json/recipe_from_json.py +msgid "Lets build a wood panel pantry west of the kitchen." +msgstr "我們來建造木板牆廚房西側食品儲藏室吧。" + +#: lang/json/recipe_from_json.py +msgid "build a wood panel pantry" +msgstr "建造木板牆食品儲藏室" + +#: lang/json/recipe_from_json.py +msgid "Lets build the west wood panel wall of the dining hall." +msgstr "我們來建造食堂西側木板牆吧。" + +#: lang/json/recipe_from_json.py +msgid "build W wood wall" +msgstr "建造西木板牆" + +#: lang/json/recipe_from_json.py +msgid "Lets build the east wood panel wall of the dining hall." +msgstr "我們來建造食堂東側木板牆吧。" + +#: lang/json/recipe_from_json.py +msgid "build E wood wall" +msgstr "建造東木板牆" + +#: lang/json/recipe_from_json.py +msgid "Lets build the center of the wood panel dining hall." +msgstr "我們來建造木板牆食堂的中央部分吧。" + +#: lang/json/recipe_from_json.py +msgid "build center of the dining hall" +msgstr "建造木板牆食堂中央部分" + #: lang/json/recipe_from_json.py msgid "Survey land for a livestock area." msgstr "勘查擴建畜牧場的土地。" @@ -121290,6 +126150,424 @@ msgid "" " a roof on the southwest side of the livestock field." msgstr "我們想要用牲畜舍來收容大型牲畜,所以在畜牧場的西南邊上,建造有屋頂的木板牆窩棚。" +#: lang/json/recipe_from_json.py +msgid "Survey land for a saltworks area." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Saltworks survey" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could uprade the workspace in the brewery to add a still, wood stove and " +"work table." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery still" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "We could use fill out the space with extra kegs and storage racks." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW brewery kegs" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a log building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE log wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a log shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE log wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a log " +"brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW log wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a metal shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE metal wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a metal shack " +"with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE metal wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a metal" +" wall brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW metal wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a stone building." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE stone wall saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a stone wall " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE stone wall storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a stone" +" brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW stone wall brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in an adobe hut." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wattle and daub saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build an adobe shack" +" with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wattle and daub storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build an " +"wattle and daub brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wattle and daub brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could divert saltwater from the swamp nearby to create a steady supply of" +" salt for our needs in a wooden shed." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "NE wood panel saltpan" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could use a storage room for chemicals and tools, so build a wood panel " +"shack with a roof on the southeast side of the saltworks field." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SE wood panel storage room" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We could take advantage of the the designation of this area to build a " +"wooden brewery." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "SW wood panel brewery" +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a fireplace for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "我們應該建立一個用來烹飪的壁爐並拿一個鍋子。讓我們在工作終端機附近進行設置。" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a brazier for cooking and grab a pot. Let's set up near the" +" working terminal." +msgstr "我們應該建立一個用來烹飪的火盆並拿一個鍋子。讓我們在工作終端機附近進行設置。" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a wood stove for cooking and grab a pot. Let's set up near " +"the working terminal." +msgstr "我們應該建立一個用來烹飪的柴爐並拿一個鍋子。讓我們在工作終端機附近進行設置。" + +#: lang/json/recipe_from_json.py +msgid "" +"We should build a well, put it near the terminal. This will make our future" +" here more secure." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with regular beds." +msgstr "我們來佈置東南臥室的普通床吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with regular beds." +msgstr "我們來佈置東臥室的普通床吧。" + +#: lang/json/recipe_from_json.py +msgid "furnish the E bedroom" +msgstr "佈置東臥室" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with straw beds." +msgstr "我們來佈置東南臥室的稻草床吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with straw beds." +msgstr "我們來佈置東臥室的稻草床吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southeast bedroom with makeshift beds." +msgstr "我們來佈置東南臥室的簡便床鋪吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the east bedroom with makeshift beds." +msgstr "我們來佈置東臥室的簡便床鋪吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with regular beds." +msgstr "我們來佈置西南臥室的普通床吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with regular beds." +msgstr "我們來佈置西臥室的普通床吧。" + +#: lang/json/recipe_from_json.py +msgid "furnish the W bedroom" +msgstr "佈置西臥室" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with regular beds." +msgstr "我們來佈置西北臥室的普通床吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with straw beds." +msgstr "我們來佈置西南臥室的稻草床吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with straw beds." +msgstr "我們來佈置西臥室的稻草床吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with straw beds." +msgstr "我們來佈置西北臥室的稻草床吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the southwest bedroom with makeshift beds." +msgstr "我們來佈置西南臥室的簡便床鋪吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the west bedroom with makeshift beds." +msgstr "我們來佈置西臥室的簡便床鋪吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's furnish the north west bedroom with makeshift beds." +msgstr "我們來佈置西北臥室的簡便床鋪吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's make a dining area." +msgstr "我們來建一個用餐區域吧。" + +#: lang/json/recipe_from_json.py +msgid "Let's make a living room area." +msgstr "我們來建一個起居室區域吧。" + +#: lang/json/recipe_from_json.py +msgid "furnish the living room" +msgstr "佈置起居室" + +#: lang/json/recipe_from_json.py +msgid "Let's build some pantry storage." +msgstr "我們來建造一些食品儲藏室吧。" + +#: lang/json/recipe_from_json.py +msgid "build some wooden racks" +msgstr "建造一些木架" + +#: lang/json/recipe_from_json.py +msgid "Let's build a work bench." +msgstr "我們來建造一個工作台吧。" + +#: lang/json/recipe_from_json.py +msgid "build a work bench" +msgstr "建造工作台" + +#: lang/json/recipe_from_json.py +msgid "Let's set up a radio tower to improve our recruitment efforts." +msgstr "讓我們建立一個無線電塔以改善我們的招募工作。" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will start in the " +"southeast corner." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SE log bedroom walls" +msgstr "建造東南臥室原木牆" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the same wall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build E log bedroom walls" +msgstr "建造東臥室原木牆" + +#: lang/json/recipe_from_json.py +msgid "" +"Let's build some living quarters so we can expand. We will continue along " +"the other wall." +msgstr "" + +#: lang/json/recipe_from_json.py +msgid "build SW log bedroom walls" +msgstr "建造西南臥室原木牆" + +#: lang/json/recipe_from_json.py +msgid "build W log bedroom walls" +msgstr "建造西臥室原木牆" + +#: lang/json/recipe_from_json.py +msgid "build NW log bedroom walls" +msgstr "建造西北臥室原木牆" + +#: lang/json/recipe_from_json.py +msgid "build SE rock bedroom walls" +msgstr "建造東南臥室石頭牆" + +#: lang/json/recipe_from_json.py +msgid "build E rock bedroom walls" +msgstr "建造東臥室石頭牆" + +#: lang/json/recipe_from_json.py +msgid "build SW rock bedroom walls" +msgstr "建造西南臥室石頭牆" + +#: lang/json/recipe_from_json.py +msgid "build W rock bedroom walls" +msgstr "建造西臥室石頭牆" + +#: lang/json/recipe_from_json.py +msgid "build NW rock bedroom walls" +msgstr "建造西北臥室石頭牆" + +#: lang/json/recipe_from_json.py +msgid "build SE standard bedroom walls" +msgstr "建造東南臥室標準牆" + +#: lang/json/recipe_from_json.py +msgid "build E standard bedroom walls" +msgstr "建造東臥室標準牆" + +#: lang/json/recipe_from_json.py +msgid "build SW standard bedroom walls" +msgstr "建造西南臥室標準牆" + +#: lang/json/recipe_from_json.py +msgid "build W standard bedroom walls" +msgstr "建造西臥室標準牆" + +#: lang/json/recipe_from_json.py +msgid "build NW standard bedroom walls" +msgstr "建造西北臥室標準牆" + +#: lang/json/recipe_from_json.py +msgid "build SE wattle and daub bedroom walls" +msgstr "建造東南臥室泥板牆" + +#: lang/json/recipe_from_json.py +msgid "build E wattle and daub bedroom walls" +msgstr "建造東臥室泥板牆" + +#: lang/json/recipe_from_json.py +msgid "build SW wattle and daub bedroom walls" +msgstr "建造西南臥室泥板牆" + +#: lang/json/recipe_from_json.py +msgid "build W wattle and daub bedroom walls" +msgstr "建造西臥室泥板牆" + +#: lang/json/recipe_from_json.py +msgid "build NW wattle and daub bedroom walls" +msgstr "建造西北臥室泥板牆" + +#: lang/json/recipe_from_json.py +msgid "build SE wood panel bedroom walls" +msgstr "建造東南臥室木板牆" + +#: lang/json/recipe_from_json.py +msgid "build E wood panel bedroom walls" +msgstr "建造東臥室木板牆" + +#: lang/json/recipe_from_json.py +msgid "build SW wood panel bedroom walls" +msgstr "建造西南臥室木板牆" + +#: lang/json/recipe_from_json.py +msgid "build W wood panel bedroom walls" +msgstr "建造西臥室木板牆" + +#: lang/json/recipe_from_json.py +msgid "build NW wood panel bedroom walls" +msgstr "建造西北臥室木板牆" + #: lang/json/recipe_from_json.py msgid "" "We could use a large log central storage building. Begin by building the " @@ -121626,8 +126904,8 @@ msgstr "桌子,中央" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northwest." -msgstr "一些長椅在外圍很不錯。在西北邊建造一些吧。" +"Some benches around the outside would be nice. Build some to the northwest." +msgstr "" #: lang/json/recipe_from_json.py msgid "benches, northwest" @@ -121635,8 +126913,8 @@ msgstr "長椅,西北" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the northeast." -msgstr "一些長椅在外圍很不錯。在東北邊建造一些吧。" +"Some benches around the outside would be nice. Build some to the northeast." +msgstr "" #: lang/json/recipe_from_json.py msgid "benches, northeast" @@ -121644,8 +126922,8 @@ msgstr "長椅,東北" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southeast." -msgstr "一些長椅在外圍很不錯。在東南邊建造一些吧。" +"Some benches around the outside would be nice. Build some to the southeast." +msgstr "" #: lang/json/recipe_from_json.py msgid "benches, southeast" @@ -121653,8 +126931,8 @@ msgstr "長椅,東南" #: lang/json/recipe_from_json.py msgid "" -"Some benches around the outside would be nice. Build some to the southwest." -msgstr "一些長椅在外圍很不錯。在西南邊建造一些吧。" +"Some benches around the outside would be nice. Build some to the southwest." +msgstr "" #: lang/json/recipe_from_json.py msgid "benches, southwest" @@ -121871,6 +127149,10 @@ msgstr "平原營寨" msgid "Firestation Base" msgstr "消防局地下室" +#: lang/json/recipe_group_from_json.py +msgid "Evac Shelter Base" +msgstr "避難所基地" + #: lang/json/recipe_group_from_json.py msgid "Farm" msgstr "農場" @@ -121880,8 +127162,8 @@ msgid "Garage" msgstr "車庫" #: lang/json/recipe_group_from_json.py -msgid "Kitchen" -msgstr "廚房" +msgid "Canteen" +msgstr "食堂" #: lang/json/recipe_group_from_json.py msgid "Livestock Area" @@ -121892,7 +127174,11 @@ msgid "Central Storage Building" msgstr "中央儲物建築" #: lang/json/recipe_group_from_json.py -msgid "Fabrication workshop" +msgid "Saltworks Area" +msgstr "" + +#: lang/json/recipe_group_from_json.py +msgid "Fabrication Workshop" msgstr "製作工坊" #: lang/json/recipe_group_from_json.py @@ -122023,6 +127309,10 @@ msgstr "烹飪: 肉, 罐頭" msgid " Cook: Meat Aspic" msgstr "烹飪: 肉凍" +#: lang/json/recipe_group_from_json.py +msgid " Cook: Kompot" +msgstr "烹飪:康波特果飲" + #: lang/json/recipe_group_from_json.py msgid " Craft: Pointy Sticks" msgstr "製作: 尖木棍" @@ -122704,7 +127994,7 @@ msgstr "十面埋伏" #: lang/json/scenario_from_json.py msgctxt "scen_desc_male" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "今天就入冬了。正當你在尋找食物與溫暖住所之際,突然聽到附近有很多東西移動的聲音。" @@ -122712,7 +128002,7 @@ msgstr "今天就入冬了。正當你在尋找食物與溫暖住所之際,突 #: lang/json/scenario_from_json.py msgctxt "scen_desc_female" msgid "" -"It is the winter after zero hour. As you were scavenging for food and a " +"It is the winter after zero hour. As you were scavenging for food and a " "warm place to stay at, you heard the sound of lots of movement nearby." msgstr "今天就入冬了。正當妳在尋找食物與溫暖住所之際,突然聽到附近有很多東西移動的聲音。" @@ -123230,6 +128520,44 @@ msgctxt "start_name" msgid "Wizard's Secret Basement Study" msgstr "魔法師的秘密地下研究室" +#. ~ Name for scenario 'The Wizard's Vacation' for a male character +#: lang/json/scenario_from_json.py +msgctxt "scenario_male" +msgid "The Wizard's Vacation" +msgstr "" + +#. ~ Name for scenario 'The Wizard's Vacation' for a female character +#: lang/json/scenario_from_json.py +msgctxt "scenario_female" +msgid "The Wizard's Vacation" +msgstr "" + +#. ~ Description for scenario 'The Wizard's Vacation' for a male character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_male" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" + +#. ~ Description for scenario 'The Wizard's Vacation' for a female character. +#: lang/json/scenario_from_json.py +msgctxt "scen_desc_female" +msgid "" +"You have been an apprentice to a wizard for some time now, you've saved for " +"years for your dream vaction at a secluded wizard tower. Your journey of " +"self-discovery is interrupted by the cataclysm. Now you have to figure out " +"how to survive on your own." +msgstr "" + +#. ~ Starting location for scenario 'The Wizard's Vacation'. +#: lang/json/scenario_from_json.py +msgctxt "start_name" +msgid "Wizard's Retreat Vacation" +msgstr "" + #. ~ Name for scenario 'The Sweet Life' for a male character #: lang/json/scenario_from_json.py msgctxt "scenario_male" @@ -123247,7 +128575,7 @@ msgstr "甜蜜的生活" msgctxt "scen_desc_male" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" @@ -123258,7 +128586,7 @@ msgstr "" msgctxt "scen_desc_female" msgid "" "You open your eyes as if for the first time, looking at yourself you can see" -" your skin glimmer in the light. One word come to your mind \"sugar\" you " +" your skin gleam in the light. One word come to your mind \"sugar\" you " "don't remember where you learned it, in fact you don't remember anything. " "You don't know why but you feel hopeful, everything feels new and you're " "going to make the best of it!" @@ -127271,11 +132599,11 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "Watch out for that" -msgstr "" +msgstr "當心" #: lang/json/snippet_from_json.py msgid "Watch out! I see a" -msgstr "" +msgstr "當心!我看見" #: lang/json/snippet_from_json.py msgid ", a" @@ -127291,99 +132619,99 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "Incoming!" -msgstr "" +msgstr "正在靠近!" #: lang/json/snippet_from_json.py msgid "Prepare yourself! We have a" -msgstr "" +msgstr "做好準備! 有" #: lang/json/snippet_from_json.py msgid "" -msgstr "" +msgstr "" #: lang/json/snippet_from_json.py msgid "Look out for that" -msgstr "" +msgstr "小心那個" #: lang/json/snippet_from_json.py msgid "Hey! Over there! I see a" -msgstr "" +msgstr "嘿!那邊!我看到" #: lang/json/snippet_from_json.py msgid "Incoming" -msgstr "" +msgstr "正在靠近" #: lang/json/snippet_from_json.py msgid "Are we fighting? There's a" -msgstr "" +msgstr "我們要戰鬥嗎?有" #: lang/json/snippet_from_json.py msgid "Hey, ! " -msgstr "" +msgstr "嘿," #: lang/json/snippet_from_json.py msgid "Look out! A" -msgstr "" +msgstr "小心!" #: lang/json/snippet_from_json.py msgid "Keep an eye on that" -msgstr "" +msgstr "注意那個" #: lang/json/snippet_from_json.py msgid "Look sharp! Things are heating up." -msgstr "" +msgstr "留神!事態更加急迫了。" #: lang/json/snippet_from_json.py msgid "Hostiles inbound." -msgstr "" +msgstr "敵人入境。" #: lang/json/snippet_from_json.py msgid "Are we fighting or leaving?" -msgstr "" +msgstr "我們要打還是要逃?" #: lang/json/snippet_from_json.py msgid "Hey, ! " -msgstr "" +msgstr "嘿," #: lang/json/snippet_from_json.py msgid "Uh, ? " -msgstr "" +msgstr "嗯," #: lang/json/snippet_from_json.py msgid "Naptime is over." -msgstr "" +msgstr "小憩時間結束了。" #: lang/json/snippet_from_json.py msgid "Who's there?" -msgstr "" +msgstr "誰在那裡?" #: lang/json/snippet_from_json.py lang/json/speech_from_json.py msgid "Hello?" -msgstr "" +msgstr "哈囉? " #: lang/json/snippet_from_json.py msgid "Look alive!" -msgstr "" +msgstr "注意!" #: lang/json/snippet_from_json.py msgid "" -msgstr "" +msgstr "" #: lang/json/snippet_from_json.py msgid "Fight or flight?" -msgstr "" +msgstr "戰鬥或逃跑?" #: lang/json/snippet_from_json.py msgid "Weapons hot!" -msgstr "" +msgstr "準備好武器!" #: lang/json/snippet_from_json.py msgid "Lock and load!" -msgstr "" +msgstr "槍械上膛!" #: lang/json/snippet_from_json.py msgid "We've got incoming!" -msgstr "" +msgstr "有敵來襲!" #: lang/json/snippet_from_json.py msgid " look sharp! Things are heating up." @@ -127551,51 +132879,51 @@ msgstr "" #: lang/json/snippet_from_json.py msgid " I win again!" -msgstr "" +msgstr "<發誓!>我又贏了!" #: lang/json/snippet_from_json.py msgid "Don't worry about it." -msgstr "" +msgstr "不用擔心這種事。" #: lang/json/snippet_from_json.py msgid "Don't worry." -msgstr "" +msgstr "別擔心。" #: lang/json/snippet_from_json.py msgid "I've seen horrors, horrors that you've seen." -msgstr "" +msgstr "我已經見識過你看過的恐怖。" #: lang/json/snippet_from_json.py msgid "Every man has got a breaking point." -msgstr "" +msgstr "每個人都有弱點。" #: lang/json/snippet_from_json.py msgid "Only a few more days 'til the weekend." -msgstr "" +msgstr "再過幾天就到週末了。" #: lang/json/snippet_from_json.py msgid "Anything else?" -msgstr "" +msgstr "還有嗎?" #: lang/json/snippet_from_json.py msgid "I'm fine." -msgstr "" +msgstr "我沒事。" #: lang/json/snippet_from_json.py msgid "There you are." -msgstr "" +msgstr "你們在這啊。" #: lang/json/snippet_from_json.py msgid "Time for you to die," -msgstr "" +msgstr "受死吧," #: lang/json/snippet_from_json.py msgid "This bullet is for you," -msgstr "" +msgstr "這子彈留給你的," #: lang/json/snippet_from_json.py msgid "I can take on" -msgstr "" +msgstr "我能承受" #: lang/json/snippet_from_json.py msgid "Hey, ! I've got" @@ -127639,7 +132967,7 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "Watch you bleed out," -msgstr "" +msgstr "看著你的血流光," #: lang/json/snippet_from_json.py msgid "Hey ! I'm gonna murder" @@ -127647,27 +132975,27 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "! This is the end," -msgstr "" +msgstr "<發誓!>! 這就是結局," #: lang/json/snippet_from_json.py msgid "I can take on" -msgstr "" +msgstr "我 能承受" #: lang/json/snippet_from_json.py msgid "Time to die," -msgstr "" +msgstr "受死吧," #: lang/json/snippet_from_json.py msgid "!" -msgstr "" +msgstr "!" #: lang/json/snippet_from_json.py msgid "I'ma cut those fuckin' tentacles off, bitch!" -msgstr "" +msgstr "我要把這操他媽的觸手給砍了,幹! " #: lang/json/snippet_from_json.py msgid "Watch you bleed out!" -msgstr "" +msgstr "看著你流血!" #: lang/json/snippet_from_json.py msgid "Is this Reno? Because I need to watch you die!" @@ -127985,13 +133313,7 @@ msgid "" msgstr "" #: lang/json/snippet_from_json.py -msgid "Pass me a beer, I need to power my ethanol burner." -msgstr "" - -#: lang/json/snippet_from_json.py -msgid "" -"Ethanol burners! The power source that's fun to recharge. Get me a drink, " -"please!" +msgid "Pass some ethanol, I need to power my ethanol burner." msgstr "" #: lang/json/snippet_from_json.py @@ -127999,20 +133321,12 @@ msgid "Waiter! I need a refill, my ethanol burner is running out of charge!" msgstr "" #: lang/json/snippet_from_json.py -msgid "" -"I require ethanol-based drinks for my internal power supply. Anything on " -"you?" -msgstr "" - -#: lang/json/snippet_from_json.py -msgid "" -"Got any alcohol to spare? Need to recharge my drives. Mead, if you have any." +msgid "I require ethanol for my internal power supply. Anything on you?" msgstr "" #: lang/json/snippet_from_json.py msgid "" -"This ethanol-burning power supply is the best implant I ever got. Speaking " -"of which, got some booze to top me off?" +"Got any alcohol to spare? Need to recharge my drives. Methanol, would do." msgstr "" #: lang/json/snippet_from_json.py @@ -128688,6 +134002,47 @@ msgstr " 會盡量避免跟敵人交戰。" msgid " will follow normal engagement rules." msgstr " 會遵守一般的交戰守則。" +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"IMMERSION LOG: 27A\n" +"\n" +"INCIDENT REPORT:\n" +"\n" +"SUMMARY:\n" +"Unforeseen EM interference source forced the team to remain in-phase between prime and sub-scape 27. Expedition members reported observing a spheroid-entity ('PE-01') moving beneath the typically opaque t-substrate. Interference readings and expedition testimony implies the PE-01 was a potent EM radiation source, and the origin of the interference. After 30 min, PE-01 receded and the expedition was aborted in accordance of procedure EMER-12. The expedition team suffered no injuries, physical or mental, during the incident. \n" +"\n" +"It's become clear we have greatly underestimated the risk posed by phase immersions. Engineering has been tasked with designing a new, improved protection suite, and has shown promising advances. Updated emergency procedures are in-progress.\n" +"\n" +"Refer to file EXO-I-271 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALYSIS OF TRANSPLANAR MATERIALS\n" +"\n" +"T-SUBSTRATE\n" +"\n" +"SUMMARY:\n" +"The material henceforth named t-substrate is the naturally occurring 'floor' material of phase-space. Samples of t-substrate were first recovered during IMMERSION-25A, when upon return to prime the samples violently [////////], exhibiting what are now known as 'plane-uneven' physical properties. The following report will examine such variances to the best extent of our knowledge.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + +#: lang/json/snippet_from_json.py +msgid "" +"\n" +"ANALISIS OF TRANSPLANAR MATERIALS \n" +"\n" +"T-SUBSTRATE\n" +"\n" +"HAADF MICROGRAPH:\n" +"An atomic-scale photograph shows only a completely smooth red surface. In the lower left corner the phrase 'Not made of atoms?!' is scrawled with a blue pen.\n" +"\n" +"Refer to file EXO-M-312 for full report." +msgstr "" + #: lang/json/snippet_from_json.py msgid "" "\n" @@ -133844,8 +139199,8 @@ msgstr "" #: lang/json/snippet_from_json.py msgid "" -"A flyer for some kind of candy. It shows a picture of a gliming human made " -"of smooth candy looking at you in terror. \"SugarKin the first life-size " +"A flyer for some kind of candy. It shows a picture of a gleaming human made" +" of smooth candy looking at you in terror. \"SugarKin the first life-size " "human candy! Are you a real monster? Will you be able to devour it all?\"" msgstr "" @@ -134868,8 +140223,8 @@ msgid "a static hissing sound." msgstr "靜電的嘶嘶聲。" #: lang/json/speech_from_json.py -msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe...\"" -msgstr "\"那個可怕的廢棄災變前綜合實驗設施看起來很安全。\"" +msgid "\"That creepy abandoned post-apocalyptic lab complex looks safe…\"" +msgstr "" #: lang/json/speech_from_json.py msgid "" @@ -134882,12 +140237,12 @@ msgid "\"Hold on, I want to pulp that zombie corpse.\"" msgstr "\"等等,我要把殭屍的屍體砸爛。\"" #: lang/json/speech_from_json.py -msgid "\"Burning... from the inside...\"" -msgstr "\"正在燃燒...從裡面...\"" +msgid "\"Burning… from the inside…\"" +msgstr "" #: lang/json/speech_from_json.py -msgid "\"This smell... Don't know...\"" -msgstr "“這聞起來...不知道...”" +msgid "\"This smell… Don't know…\"" +msgstr "" #: lang/json/speech_from_json.py msgid "heavy breathing." @@ -134898,20 +140253,20 @@ msgid "a scraping noise." msgstr "一陣聒噪的聲響。" #: lang/json/speech_from_json.py -msgid "\"No... Stop the burning!\"" -msgstr "“不......停止燃燒!”" +msgid "\"No… Stop the burning!\"" +msgstr "" #: lang/json/speech_from_json.py -msgid "\"Hrgm... Blood... Hungry...\"" -msgstr "\"吼...血...餓...\"" +msgid "\"Hrgm… Blood… Hungry…\"" +msgstr "" #: lang/json/speech_from_json.py -msgid "\"Hunger... Must eat...\"" -msgstr "\"餓了....要吃東西...\"" +msgid "\"Hunger… Must eat…\"" +msgstr "" #: lang/json/speech_from_json.py -msgid "\"Run... Chase... Eat...\"" -msgstr "\"跑...追...吃...\"" +msgid "\"Run… Chase… Eat…\"" +msgstr "" #: lang/json/speech_from_json.py msgid "hysterical laughing." @@ -135032,8 +140387,8 @@ msgid "\"THIS UNIT IS BROKEN. PLEASE CALL AN ATTENDANT.\"" msgstr "\"這個不件壞掉了,請聯繫服務人員。\"" #: lang/json/speech_from_json.py -msgid "\"Can't... breathe...\"" -msgstr "“不能…呼吸…”" +msgid "\"Can't… breathe…\"" +msgstr "" #: lang/json/speech_from_json.py msgid "\"This cannot continue.\"" @@ -135045,9 +140400,9 @@ msgstr "“無法識別用戶密碼。”" #: lang/json/speech_from_json.py msgid "" -"\"Have you seen my friend? He went into surgery yesterday... or maybe the " -"day before...\"" -msgstr "“你見過我的朋友嗎?他昨天…或者前天…來進行手術。”" +"\"Have you seen my friend? He went into surgery yesterday… or maybe the day" +" before…\"" +msgstr "" #: lang/json/speech_from_json.py msgid "\"Is it done? Am I perfect now?\"" @@ -135058,20 +140413,20 @@ msgid "\"I have done what you asked. Please let me go!\"" msgstr "“我已經按照你的要求做了。請放我走!”" #: lang/json/speech_from_json.py -msgid "\"I cannot... yet I must. How do you calculate that?\"" -msgstr "“我不能...但我必須。你怎麼算出來的?”" +msgid "\"I cannot… yet I must. How do you calculate that?\"" +msgstr "" #: lang/json/speech_from_json.py msgid "\"This is a dream. This has to be a dream.\"" msgstr "“這是在作夢。這一定是在作夢。”" #: lang/json/speech_from_json.py -msgid "\"This is my life now... this is my life now... this is my life now...\"" -msgstr "“這是我現在的生活...這是我現在的生活...這是我現在的生活...”" +msgid "\"This is my life now… this is my life now… this is my life now…\"" +msgstr "" #: lang/json/speech_from_json.py -msgid "\"Wanna go home...\"" -msgstr "“想回家...”" +msgid "\"Wanna go home…\"" +msgstr "" #: lang/json/speech_from_json.py msgid "screams of pain." @@ -135126,7 +140481,7 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" "a worried voice say, \"Customer, could you please get more friendship? I " -"don't want to go...\"" +"don't want to go…\"" msgstr "" #: lang/json/speech_from_json.py @@ -135149,18 +140504,18 @@ msgstr "" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"Customer... What's happening? I don't feel so " +"a distorted voice say, \"Customer… What's happening? I don't feel so " "good.\"" msgstr "" #: lang/json/speech_from_json.py msgid "" -"a distorted voice say, \"What... have you done? My thumbs are not " -"responding anymore!\"" +"a distorted voice say, \"What… have you done? My thumbs are not responding " +"anymore!\"" msgstr "" #: lang/json/speech_from_json.py -msgid "a distorted voice say, \"Carrying bags? I don't understand...\"" +msgid "a distorted voice say, \"Carrying bags? I don't understand…\"" msgstr "" #: lang/json/speech_from_json.py @@ -135283,8 +140638,8 @@ msgid "\"Police inbound. Stay where you are!\"" msgstr "\"警察辦事。站住別動!\"" #: lang/json/speech_from_json.py -msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" -msgstr "「我是美食人。我帶來營養!」" +msgid "\"I AM FOODPERSON. AND I BRING SUSTENANCE!\"" +msgstr "" #: lang/json/speech_from_json.py msgid "\"Come to FoodPlace today and buy food!\"" @@ -135304,7 +140659,7 @@ msgid "\"FoodPlace: It's the Calories.\"" msgstr "" #: lang/json/speech_from_json.py -msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" +msgid "\"You need food, don't you? Then come with me to FOODPLACE!!\"" msgstr "" #: lang/json/speech_from_json.py @@ -135372,8 +140727,8 @@ msgid "You shouldn't have done that." msgstr "你不該那麼做。" #: lang/json/speech_from_json.py -msgid "Let's play... Russian roulette." -msgstr "我們來玩… 俄羅斯輪盤吧。" +msgid "Let's play… Russian roulette." +msgstr "" #: lang/json/speech_from_json.py msgid "I hate you." @@ -135384,8 +140739,8 @@ msgid "Go kill yourself!" msgstr "去死吧!" #: lang/json/speech_from_json.py -msgid "Big Brother is watching you..." -msgstr "老大哥正在看著你…" +msgid "Big Brother is watching you…" +msgstr "" #: lang/json/speech_from_json.py msgid "Die for me!" @@ -135396,12 +140751,12 @@ msgid "Why won't you die?" msgstr "為什麼你不去死?" #: lang/json/speech_from_json.py -msgid "Blood... Delicious." -msgstr "血… 真美味。" +msgid "Blood… Delicious." +msgstr "" #: lang/json/speech_from_json.py -msgid "See you... IN HELL!" -msgstr "再見… 去死!" +msgid "See you… IN HELL!" +msgstr "" #: lang/json/speech_from_json.py msgid "AAAIEEEEEEE!" @@ -135416,8 +140771,8 @@ msgid "What did you do with my Mommy?" msgstr "你對我媽做了什麼?" #: lang/json/speech_from_json.py -msgid "Stay with me... forever!" -msgstr "留在我身邊… 直到永遠!" +msgid "Stay with me… forever!" +msgstr "" #: lang/json/speech_from_json.py msgid "Hey kids. Want some candy?" @@ -136815,6 +142170,10 @@ msgstr "拾荒者地堡" msgid "Wizard's Secret Basement Study" msgstr "魔法師的秘密地下研究室" +#: lang/json/start_location_from_json.py +msgid "Wizard's lake retreat" +msgstr "" + #: lang/json/start_location_from_json.py msgid "Candy Shop" msgstr "糖果店" @@ -136864,16 +142223,16 @@ msgid "Acolyte." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What? What do you mean? What song?" +msgid "What? What do you mean? What song?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So about the songs..." +msgid "So about the songs…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You mentioned some cycle before, when I gave you the bones. What does that " +"You mentioned some cycle before, when I gave you the bones. What does that " "mean?" msgstr "" @@ -136890,7 +142249,7 @@ msgid "Is there a way I can help you with your song?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I have to get going. Take care, Seer." +msgid "I have to get going. Take care, Seer." msgstr "" #: lang/json/talk_topic_from_json.py @@ -136900,11 +142259,11 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What? Singing bones? What are you talking about?" +msgid "What? Singing bones? What are you talking about?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Uh... yeah, sure. I think I'll just be on my way." +msgid "Uh… yeah, sure. I think I'll just be on my way." msgstr "" #: lang/json/talk_topic_from_json.py @@ -136953,7 +142312,7 @@ msgid "I will bear that in mind" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Cause? Why do you gather these bones anyway?" +msgid "Cause? Why do you gather these bones anyway?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -136965,7 +142324,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "End the world? What?" +msgid "End the world? What?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -136977,8 +142336,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Sounds somewhat... doomsday-ish, but I suppose it's a belief like any other." -" Still, at least you have a goal to help the world, one way or another." +"Sounds somewhat… doomsday-ish, but I suppose it's a belief like any other. " +"Still, at least you have a goal to help the world, one way or another." msgstr "" #: lang/json/talk_topic_from_json.py @@ -136993,7 +142352,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I... thank you." +msgid "I… thank you." msgstr "" #: lang/json/talk_topic_from_json.py @@ -137008,15 +142367,12 @@ msgid "Yeah, alright." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "There are bones to etch, songs to sing. Wish to join me?" -msgstr "" - -#: lang/json/talk_topic_from_json.py -msgid "Do you believe you can take on the burden of additional bones?" +msgid "" +"I know of certain bones that could be of use, if you'd like to know more." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you wish to take on more songs?" +msgid "There is an additional song you could take on, if you'd like." msgstr "" #: lang/json/talk_topic_from_json.py @@ -137024,18 +142380,15 @@ msgid "A song may yet be sung by you, should you wish to." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"I know of certain bones that could be of use, if you'd like to know more." +msgid "Do you believe you can take on the burden of additional bones?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "There is an additional song you could take on, if you'd like." +msgid "Do you wish to take on more songs?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "" -"The song is... quiet for now. Perhaps with time, more notes will be etched " -"in the bones of this world." +msgid "There are bones to etch, songs to sing. Wish to join me?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -137046,6 +142399,12 @@ msgstr "" msgid "An acolyte should not take on too many songs at once." msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +"The song is... quiet for now. Perhaps with time, more notes will be etched " +"in the bones of this world." +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "I see." msgstr "我懂了。" @@ -137067,7 +142426,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Well, I guess I oughta see where this goes. I'm in." +msgid "Well, I guess I oughta see where this goes. I'm in." msgstr "" #: lang/json/talk_topic_from_json.py @@ -137075,7 +142434,7 @@ msgid "Not interested." msgstr "沒興趣。" #: lang/json/talk_topic_from_json.py -msgid "Consider it done. But I also wanted to ask..." +msgid "Consider it done. But I also wanted to ask…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -137091,7 +142450,7 @@ msgid "I'm off then." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So, a creature that isn't a zombie, or a monster. Got it." +msgid "So, a creature that isn't a zombie, or a monster. Got it." msgstr "" #: lang/json/talk_topic_from_json.py @@ -137101,7 +142460,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I see. Very well then." +msgid "I see. Very well then." msgstr "" #: lang/json/talk_topic_from_json.py @@ -137119,11 +142478,11 @@ msgid "I am glad to hear it. Let's go then." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "That's good, but I need to go at it alone right now. Maybe later." +msgid "That's good, but I need to go at it alone right now. Maybe later." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Maybe some other time. Changing the topic..." +msgid "Maybe some other time. Changing the topic…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -137145,12 +142504,12 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"That is... that's really one hell of a belief. Well, if it helps you deal " +"That is… that's really one hell of a belief. Well, if it helps you deal " "with the world, who am I to argue." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "And here I thought you were nuts before. I'm out of here." +msgid "And here I thought you were nuts before. I'm out of here." msgstr "" #: lang/json/talk_topic_from_json.py @@ -137542,14 +142901,14 @@ msgstr "醒醒!" msgid "Go back to sleep." msgstr "回去睡覺。" -#: lang/json/talk_topic_from_json.py -msgid " *pshhhttt* I'm reading you boss, over." -msgstr "\"滋滋扑滋\" 我正聽著呢,老大,完畢。" - #: lang/json/talk_topic_from_json.py msgid "What is it, friend?" msgstr "什麼事,朋友?" +#: lang/json/talk_topic_from_json.py +msgid " *pshhhttt* I'm reading you boss, over." +msgstr "\"滋滋扑滋\" 我正聽著呢,老大,完畢。" + #: lang/json/talk_topic_from_json.py msgid "I want to give you some commands for combat." msgstr "我想給你一些戰鬥命令。" @@ -137578,6 +142937,10 @@ msgstr "拿著這個物品。" msgid "Guard this position." msgstr "守護這個地點。" +#: lang/json/talk_topic_from_json.py +msgid "I want to assign you to work at this camp." +msgstr "我想指派你在這個營寨工作。" + #: lang/json/talk_topic_from_json.py msgid "Let's talk about your current activity." msgstr "我們來談談你目前的行動。" @@ -137627,20 +142990,20 @@ msgid "Let's go." msgstr "我們走。" #: lang/json/talk_topic_from_json.py -msgid "Change your engagement rules..." -msgstr "更改你的交戰守則…" +msgid "Change your engagement rules…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your aiming rules..." -msgstr "更改你的瞄準方式…" +msgid "Change your aiming rules…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power reserve rules..." -msgstr "更改你的生化能量儲備原則..." +msgid "Change your bionic power reserve rules…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Change your bionic power recharge rules..." -msgstr "更改你的生化能量充電原則..." +msgid "Change your bionic power recharge rules…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Move freely as you need to." @@ -137650,14 +143013,14 @@ msgstr "根據需要自由移動。" msgid "Stick close to me, no matter what." msgstr "無論如何,都緊靠著我。" -#: lang/json/talk_topic_from_json.py -msgid "" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "" msgstr "" +#: lang/json/talk_topic_from_json.py +msgid "" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Don't use ranged weapons anymore." msgstr "別再使用遠程武器。" @@ -137703,9 +143066,9 @@ msgstr "保持戰線:不要移動到與我相鄰的障礙物上。" #: src/handle_action.cpp src/handle_action.cpp src/handle_liquid.cpp #: src/handle_liquid.cpp src/iexamine.cpp src/iexamine.cpp src/iexamine.cpp #: src/iuse.cpp src/iuse.cpp src/iuse.cpp src/iuse_actor.cpp -#: src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp src/pickup.cpp -#: src/player.cpp src/player.cpp src/player.cpp src/veh_interact.cpp -#: src/vehicle_use.cpp +#: src/iuse_actor.cpp src/iuse_actor.cpp src/monexamine.cpp src/npc.cpp +#: src/pickup.cpp src/player.cpp src/player.cpp src/player.cpp +#: src/veh_interact.cpp src/vehicle_use.cpp msgid "Never mind." msgstr "沒事。" @@ -137915,8 +143278,8 @@ msgid "Nah, I'm just kidding." msgstr "啊, 只是開玩笑而已。" #: lang/json/talk_topic_from_json.py -msgid "Please go to this location..." -msgstr "請到這個地點..." +msgid "Please go to this location…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Stay at your current position." @@ -137926,13 +143289,17 @@ msgstr "留在原地。" msgid "Show me what needs to be done at the camp." msgstr "告訴營寨還需要什麼。" +#: lang/json/talk_topic_from_json.py +msgid "I'm not doing much currently." +msgstr "我目前做得不多。" + #: lang/json/talk_topic_from_json.py msgid "I'm currently ." msgstr "我目前 。" #: lang/json/talk_topic_from_json.py -msgid "I'm not doing much currently." -msgstr "我目前做得不多。" +msgid "I meant what are your goals?" +msgstr "我想知道你的目標是什麼?" #: lang/json/talk_topic_from_json.py msgid "Carry on." @@ -138009,13 +143376,13 @@ msgid "OK, maybe it'll stop me from freezing in this weather, what's up?" msgstr "好吧,也許這能不讓我在這種天氣被凍僵,如何?" #: lang/json/talk_topic_from_json.py -msgid "" -"Well, it's the time of day for a quick break surely! How are you holding " -"up?" +msgid "Man it's dark out isn't it? what's up?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Man it's dark out isn't it? what's up?" +msgid "" +"Well, it's the time of day for a quick break surely! How are you holding " +"up?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -138041,8 +143408,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Oh you know, not bad, not bad..." -msgstr "哦,你知道的,還可以,還可以..." +msgid "Oh you know, not bad, not bad…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -138105,14 +143472,14 @@ msgstr "很好, 別突然亂動…" msgid "Keep your distance!" msgstr "保持你的距離!" -#: lang/json/talk_topic_from_json.py -msgid "" -msgstr "" - #: lang/json/talk_topic_from_json.py msgid "This is my territory, ." msgstr "這是我的地盤,。" +#: lang/json/talk_topic_from_json.py +msgid "" +msgstr "" + #: lang/json/talk_topic_from_json.py msgid "Calm down. I'm not going to hurt you." msgstr "冷靜點。我不會傷害你。" @@ -138129,14 +143496,14 @@ msgstr "" msgid "&Put hands up." msgstr "&把手舉起來。" -#: lang/json/talk_topic_from_json.py -msgid "*drops his weapon." -msgstr "*丟下他的武器。" - #: lang/json/talk_topic_from_json.py msgid "*drops_her_weapon." msgstr "*丟下她的武器。" +#: lang/json/talk_topic_from_json.py +msgid "*drops his weapon." +msgstr "*丟下他的武器。" + #: lang/json/talk_topic_from_json.py msgid "Now get out of here" msgstr "快滾" @@ -138150,12 +143517,12 @@ msgid "Okay, I'm going." msgstr "好吧, 我走了。" #: lang/json/talk_topic_from_json.py -msgid "About that job..." -msgstr "關於那個工作…" +msgid "About that job…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About one of those jobs..." -msgstr "關於其中一項工作…" +msgid "About one of those jobs…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "What's the matter?" @@ -138166,29 +143533,29 @@ msgid "I don't care." msgstr "我不在乎。" #: lang/json/talk_topic_from_json.py -msgid "I have other jobs for you. Want to hear about them?" -msgstr "我有其他的工作給你。想要聽看看嗎?" - -#: lang/json/talk_topic_from_json.py -msgid "I have more jobs for you. Want to hear about them?" -msgstr "我有更多的工作給你。想要聽看看嗎?" +msgid "I just have one job for you. Want to hear about it?" +msgstr "我只有一件工作給你。想要聽看看嗎?" #: lang/json/talk_topic_from_json.py msgid "I have another job for you. Want to hear about it?" msgstr "我有另一件工作給你。想要聽看看嗎?" #: lang/json/talk_topic_from_json.py -msgid "I just have one job for you. Want to hear about it?" -msgstr "我只有一件工作給你。想要聽看看嗎?" +msgid "I have other jobs for you. Want to hear about them?" +msgstr "我有其他的工作給你。想要聽看看嗎?" #: lang/json/talk_topic_from_json.py -msgid "I don't have any jobs for you." -msgstr "我沒有可以給你的工作。" +msgid "I have more jobs for you. Want to hear about them?" +msgstr "我有更多的工作給你。想要聽看看嗎?" #: lang/json/talk_topic_from_json.py msgid "I don't have any more jobs for you." msgstr "我已經沒有可以給你辦的工作了。" +#: lang/json/talk_topic_from_json.py +msgid "I don't have any jobs for you." +msgstr "我沒有可以給你的工作。" + #: lang/json/talk_topic_from_json.py lang/json/talk_topic_from_json.py #: src/npctalk.cpp msgid "Oh, okay." @@ -138198,10 +143565,6 @@ msgstr "喔, 好吧。" msgid "Never mind, I'm not interested." msgstr "別在意, 我沒興趣。" -#: lang/json/talk_topic_from_json.py -msgid "You're not working on anything for me now." -msgstr "你現在並沒有幫我做任何工作。" - #: lang/json/talk_topic_from_json.py msgid "What about it?" msgstr "這樣如何?" @@ -138210,6 +143573,10 @@ msgstr "這樣如何?" msgid "Which job?" msgstr "哪件工作?" +#: lang/json/talk_topic_from_json.py +msgid "You're not working on anything for me now." +msgstr "你現在並沒有幫我做任何工作。" + #: lang/json/talk_topic_from_json.py msgid "I'll do it!" msgstr "我會做的!" @@ -138247,8 +143614,8 @@ msgid "Whatever. Bye." msgstr "隨便啦。掰掰。" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I failed." -msgstr "我很抱歉… 我失敗了。" +msgid "I'm sorry… I failed." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Not yet." @@ -138267,8 +143634,8 @@ msgid "No. I'll get back to it, bye!" msgstr "還沒。我會繼續找, 再見!" #: lang/json/talk_topic_from_json.py -msgid "Yup! Here it is!" -msgstr "對!就在這!" +msgid "Yup! Here it is!" +msgstr "對! 就在這!" #: lang/json/talk_topic_from_json.py msgid "We're here!" @@ -138414,13 +143781,9 @@ msgstr "我們最好遠離那些城市, 即使有許多實用的東西在那裡 msgid "Hmm, okay." msgstr "嗯, 好吧。" -#: lang/json/talk_topic_from_json.py -msgid "Focus on the road, mate!" -msgstr "專心路況,夥伴!" - -#: lang/json/talk_topic_from_json.py -msgid "I must focus on the road!" -msgstr "我必須專心路況!" +#: lang/json/talk_topic_from_json.py src/npctalk.cpp +msgid "Thanks!" +msgstr "謝謝!" #: lang/json/talk_topic_from_json.py msgid "I have some reason for not telling you." @@ -138442,6 +143805,14 @@ msgstr "我太餓了, 給我點能吃的東西。" msgid "I'm too thirsty, give me something to drink." msgstr "我太渴了, 給我點能喝的東西。" +#: lang/json/talk_topic_from_json.py +msgid "I must focus on the road!" +msgstr "我必須專心路況!" + +#: lang/json/talk_topic_from_json.py +msgid "Focus on the road, mate!" +msgstr "專心路況,夥伴!" + #: lang/json/talk_topic_from_json.py msgid "Ah, okay." msgstr "啊,好的。" @@ -138515,8 +143886,8 @@ msgid "Alright. You can lead now." msgstr "好吧。你可以帶路了。" #: lang/json/talk_topic_from_json.py -msgid "Good. Something else..." -msgstr "好。還有其他的…" +msgid "Good. Something else…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Alright, let's go." @@ -138546,14 +143917,6 @@ msgstr "不, 我待在這就好了。" msgid "On second thought, never mind." msgstr "我再想想, 抱歉。" -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while you're operating a vehicle!" -msgstr "你在駕駛車輛時我無法訓練你。" - -#: lang/json/talk_topic_from_json.py -msgid "I can't train you properly while I'm operating a vehicle!" -msgstr "我在駕駛車輛時無法訓練你。" - #: lang/json/talk_topic_from_json.py msgid "I have some reason for denying you training." msgstr "我有些苦衷,不能接受你的訓練。" @@ -138562,6 +143925,14 @@ msgstr "我有些苦衷,不能接受你的訓練。" msgid "Give it some time, I'll show you something new later..." msgstr "給我點時間, 我會讓你看些新玩意…" +#: lang/json/talk_topic_from_json.py +msgid "I can't train you properly while I'm operating a vehicle!" +msgstr "我在駕駛車輛時無法訓練你。" + +#: lang/json/talk_topic_from_json.py +msgid "I can't train you properly while you're operating a vehicle!" +msgstr "你在駕駛車輛時我無法訓練你。" + #: lang/json/talk_topic_from_json.py msgid "Not a bloody chance, I'm going to get left behind!" msgstr "我才不要, 我會被丟在後面沒人理!" @@ -138595,8 +143966,8 @@ msgid "I'd prefer to keep that to myself." msgstr "我想自己管好自己就好了。" #: lang/json/talk_topic_from_json.py -msgid "I understand..." -msgstr "我了解…" +msgid "I understand…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Why should I share my equipment with you?" @@ -138619,8 +143990,8 @@ msgid "Because I'm your friend!" msgstr "因為我是你的朋友!" #: lang/json/talk_topic_from_json.py -msgid "Well, I am helping you out..." -msgstr "因為, 我正在幫你的忙…" +msgid "Well, I am helping you out…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'll give it back!" @@ -138667,29 +144038,33 @@ msgid "No, I'm keeping it. Try and take it off me, I dare you." msgstr "不,我要留著它。試著把它從我身上拿走看看,你敢嗎。" #: lang/json/talk_topic_from_json.py -msgid "Look, I really need this. Please let me have it." -msgstr "嘿,我真的需要這個。請給我吧。" +msgid "Look, I really need this. Please let me have it." +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "What, this? It's not the same one, you are mistaken." -msgstr "什麼,這個?這個不是那一個,你搞錯了。" +msgid "What, this? It's not the same one, you are mistaken." +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry. Look, I already dropped it, okay?" -msgstr "對不起。嘿,我已經放下它了,可以嗎?" +msgid "I'm sorry. Look, I already dropped it, okay?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Don't try and talk yourself out of this, drop it now." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Okay, I'm dropping it..." -msgstr "好,我會放下它..." +msgid "Okay, I'm dropping it…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Just this once, you can keep it. Don't tell anyone else." msgstr "就這一次,你可以留著它。別告訴任何人。" +#: lang/json/talk_topic_from_json.py +msgid "Thanks." +msgstr "謝謝。" + #: lang/json/talk_topic_from_json.py msgid "Right... I don't want any trouble." msgstr "是的...我不想要惹上任何麻煩。" @@ -138741,8 +144116,8 @@ msgid "Pleasure doing business!" msgstr "開張大吉!" #: lang/json/talk_topic_from_json.py -msgid "You might be seeing more of me..." -msgstr "你可能會看到越來越多的我…" +msgid "You might be seeing more of me…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -138755,21 +144130,21 @@ msgid "Hey again. *kzzz*" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." -msgstr "" +msgid "Hey. Let's chat for a second." +msgstr "嘿。讓我們聊一會兒。" #: lang/json/talk_topic_from_json.py -msgid "That's because I saved you. Listen, I could use your help..." +msgid "That's because I saved you. Listen, I could use your help…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"Big fucking deal. Do what I say or I'll shove that chip back where it " +"Big fucking deal. Do what I say or I'll shove that chip back where it " "belongs." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." +msgid "Sorry, I'm nobody. Enjoy your freedom, I guess." msgstr "" #: lang/json/talk_topic_from_json.py @@ -138781,7 +144156,7 @@ msgid "Come with me. We can help each other out." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "We both go our separate ways. Enjoy your freedom." +msgid "We both go our separate ways. Enjoy your freedom." msgstr "" #: lang/json/talk_topic_from_json.py @@ -138798,8 +144173,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"For all you know, I did. I'm being nice for now. You'd better hope that it " -"lasts." +"For all you know, I did. I'm being nice for now. You'd better hope that it" +" lasts." msgstr "" #: lang/json/talk_topic_from_json.py @@ -138820,7 +144195,7 @@ msgid "Get out of my sight." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." +msgid "No, *I'm* sorry, I didn't mean that. Go do what you want." msgstr "" #: lang/json/talk_topic_from_json.py @@ -138836,8 +144211,8 @@ msgid "Not if I kill you first!" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry! I shouldn't have said that!" -msgstr "對不起!我不應該這麼說!" +msgid "I'm sorry! I shouldn't have said that!" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Yeah, *beeeeep* I don't think so. Bye." @@ -139091,11 +144466,11 @@ msgid "Well, sure." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'd... rather not." +msgid "I'd… rather not." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I'm sorry... I have places to be." +msgid "I'm sorry… I have places to be." msgstr "" #: lang/json/talk_topic_from_json.py @@ -139126,7 +144501,7 @@ msgid "Oh, but you already have." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yes... yes I have." +msgid "Yes… yes I have." msgstr "" #: lang/json/talk_topic_from_json.py @@ -139191,7 +144566,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Horrible. Did you get any pictures yourself?" +msgid "Horrible. Did you get any pictures yourself?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -139343,8 +144718,8 @@ msgid "This is a npc allies 1 test response." msgstr "這是NPC同伴1測試回應。" #: lang/json/talk_topic_from_json.py -msgid "This an error! npc allies 2 test response." -msgstr "這是錯誤!NPC同伴2測試回應。" +msgid "This an error! npc allies 2 test response." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "This is a npc engagement rule test response." @@ -139543,8 +144918,8 @@ msgid "This is a u_has_items beer test response." msgstr "這是u_has_items啤酒測試回應。" #: lang/json/talk_topic_from_json.py -msgid "Test failure! This is a u_has_items test response." -msgstr "測試失敗!這是u_has_items測試回應。" +msgid "Test failure! This is a u_has_items test response." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "This is a u_has_item_category books test response." @@ -139555,7 +144930,7 @@ msgid "This is a u_has_item_category books count 2 test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a u_has_item_category books count 3 test response." +msgid "Failure! This is a u_has_item_category books count 3 test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -139643,7 +145018,7 @@ msgid "This is a u_has_bionics bio_ads test response." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Failure! This is a npc_has_bionics bio_ads test response." +msgid "Failure! This is a npc_has_bionics bio_ads test response." msgstr "" #: lang/json/talk_topic_from_json.py @@ -139676,15 +145051,15 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "Greeting citizen, what brings you to the FoodLair?" -msgstr "" +msgstr "公民你好,是什麼風把你吹來美食巢穴呢?" #: lang/json/talk_topic_from_json.py msgid "Still here? Take your time, it's rough out there." -msgstr "" +msgstr "還在?慢慢來,這很艱難。" #: lang/json/talk_topic_from_json.py msgid "Greetings friend, it's nice to see you." -msgstr "" +msgstr "朋友你好,很高興見到你。" #: lang/json/talk_topic_from_json.py msgid "Welcome home Foodkid!" @@ -139692,23 +145067,19 @@ msgstr "歡迎回家,美食小子!" #: lang/json/talk_topic_from_json.py msgid "What sorcery is this?" -msgstr "" +msgstr "這是什麼巫術?" #: lang/json/talk_topic_from_json.py msgid "So you're back... Explain yourself!" -msgstr "" +msgstr "所以你回來了...解釋清楚!" #: lang/json/talk_topic_from_json.py -msgid "Hey. Let's chat for a second." +msgid "Greetings… Foodperson?" msgstr "" -#: lang/json/talk_topic_from_json.py -msgid "Greetings... Foodperson?" -msgstr "歡迎...美食人?" - #: lang/json/talk_topic_from_json.py msgid "I am you but from an alternate reality." -msgstr "" +msgstr "我是你,是來自於另一個世界。" #: lang/json/talk_topic_from_json.py msgid "I am Foodperson, who are YOU?" @@ -139724,7 +145095,7 @@ msgstr "我是真正的美食人!" #: lang/json/talk_topic_from_json.py msgid "Nevermind me, I'm just going to leave." -msgstr "" +msgstr "別在意我,我要走了。" #: lang/json/talk_topic_from_json.py msgid "Indeed it is I! The one and only FOODPERSON!" @@ -139732,11 +145103,11 @@ msgstr "確實是我!唯一的美食人!" #: lang/json/talk_topic_from_json.py msgid "Wow! Such an honor to meet you in person!" -msgstr "" +msgstr "哇!親身見到你真是太榮幸了!" #: lang/json/talk_topic_from_json.py msgid "Are you joking? Foodpeson is not real, it's a restaurant mascot!" -msgstr "" +msgstr "你在開玩笑?美食人不是真實的,它是餐廳吉祥物!" #: lang/json/talk_topic_from_json.py msgid "" @@ -139745,96 +145116,96 @@ msgid "" msgstr "偉大的美食人活生生站在我面前!終於親身見到你真是太榮幸了!" #: lang/json/talk_topic_from_json.py -msgid "Ah... Well, nice to meet you Foodperson." -msgstr "嗯...很高興認識你,美食人。" +msgid "Ah… Well, nice to meet you Foodperson." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Do not mock me, for my strength is quite real! Get out of here now!" -msgstr "" +msgstr "不要嘲笑我,因為我的力量很真實!快滾出去!" #: lang/json/talk_topic_from_json.py msgid "Sheesh, ok, calm down, I'm leaving!" -msgstr "" +msgstr "噓,好,冷靜下來,我要走了!" #: lang/json/talk_topic_from_json.py -msgid "Forgive me, I didn't mean to disrespect you." -msgstr "" +msgid "Forgive me, I didn't mean to disrespect you." +msgstr "原諒我,我並非有意冒犯你。" #: lang/json/talk_topic_from_json.py msgid "Oh yeah? Show me what you can do!" -msgstr "" +msgstr "是嗎?告訴我你能做什麼!" #: lang/json/talk_topic_from_json.py msgid "A common mistake, but I can assure you that I'm very real!" -msgstr "" +msgstr "一個常見的錯誤,但是我可以向你保證,我非常實在!" #: lang/json/talk_topic_from_json.py msgid "Sure, whatever." -msgstr "" +msgstr "當然可以。" #: lang/json/talk_topic_from_json.py -msgid "Ok... I believe you." +msgid "Ok… I believe you." msgstr "" #: lang/json/talk_topic_from_json.py msgid "Anyway, do you need something?" -msgstr "" +msgstr "無論如何,你需要什麼嗎?" #: lang/json/talk_topic_from_json.py msgid "Are you interested in some trading?" -msgstr "" +msgstr "你對某些交易感興趣嗎?" #: lang/json/talk_topic_from_json.py msgid "Let's trade?" -msgstr "" +msgstr "來交易吧?" #: lang/json/talk_topic_from_json.py msgid "I'm looking for a place to stay." -msgstr "" +msgstr "我正在尋找住宿的地方。" #: lang/json/talk_topic_from_json.py msgid "I want to get stronger. Please teach me." -msgstr "" +msgstr "我想變強。請教我。" #: lang/json/talk_topic_from_json.py msgid "Please share your knowledge." -msgstr "" +msgstr "請分享你的知識。" #: lang/json/talk_topic_from_json.py msgid "I'm building up a team, people with special abilities." -msgstr "" +msgstr "我正在建立一支具有特殊才能的團隊。" #: lang/json/talk_topic_from_json.py msgid "Can you tell me again about this sidekick offer?" -msgstr "" +msgstr "你能再跟我說說這個夥伴提案嗎?" #: lang/json/talk_topic_from_json.py msgid "Alright, I thought about this, what do you say about we team up?" -msgstr "" +msgstr "好吧,我想到了這點,你如何評價我們的團隊?" #: lang/json/talk_topic_from_json.py msgid "I'm good, bye." -msgstr "" +msgstr "我很好,再見。" #: lang/json/talk_topic_from_json.py msgid "I already have everything I need here in the FoodLair!" -msgstr "" +msgstr "我已經在這美食巢穴滿足我所需的一切。" #: lang/json/talk_topic_from_json.py msgid "Alright let's see what you've got." -msgstr "" +msgstr "好吧,讓我們看看你有什麼...。" #: lang/json/talk_topic_from_json.py msgid "You're not ready for this." -msgstr "" +msgstr "你還沒有準備好。" #: lang/json/talk_topic_from_json.py msgid "But I am worthy!" -msgstr "" +msgstr "但是我值得!" #: lang/json/talk_topic_from_json.py msgid "I can teach you a few tricks." -msgstr "" +msgstr "我可以教你一些技巧。" #: lang/json/talk_topic_from_json.py src/iuse.cpp msgid "Nevermind." @@ -139842,59 +145213,59 @@ msgstr "沒事。" #: lang/json/talk_topic_from_json.py msgid "This is no place for a civilian. You should go to the refugee center." -msgstr "" +msgstr "這不是平民該來的地方。你應該去難民中心。" #: lang/json/talk_topic_from_json.py msgid "Damn!" -msgstr "" +msgstr "該死!" #: lang/json/talk_topic_from_json.py msgid "Well... You seem like a decent sort, I might have an offer for you." -msgstr "" +msgstr "好吧...你看起來像是個不錯的人,我可能提供你些什麼。" #: lang/json/talk_topic_from_json.py msgid "Sorry but I work alone." -msgstr "" +msgstr "抱歉,我獨來獨往。" #: lang/json/talk_topic_from_json.py msgid "We could really use your help!" -msgstr "" +msgstr "我們需要你的幫助!" #: lang/json/talk_topic_from_json.py msgid "What about: you prove your worth and join me as my sidekick?" -msgstr "" +msgstr "怎麼樣:證明了你自己的價值,並加入我作為我的助手?" #: lang/json/talk_topic_from_json.py msgid "That sounds great!" -msgstr "" +msgstr "聽起來很不錯!" #: lang/json/talk_topic_from_json.py -msgid "Ok..." +msgid "Ok…" msgstr "" #: lang/json/talk_topic_from_json.py msgid "I need to think about it." -msgstr "" +msgstr "我需要想一想。" #: lang/json/talk_topic_from_json.py -msgid "Huh... No thanks." +msgid "Huh… No thanks." msgstr "" #: lang/json/talk_topic_from_json.py msgid "There's other things I'd like to discuss." -msgstr "" +msgstr "我還要討論其他事情。" #: lang/json/talk_topic_from_json.py msgid "Alright bye." -msgstr "" +msgstr "好,再見。" #: lang/json/talk_topic_from_json.py msgid "The way you talk, the way you move... You're... You're me? But how?" -msgstr "" +msgstr "你說話的方式,行動的方式...你是...你是我嗎?但怎麼會?" #: lang/json/talk_topic_from_json.py msgid "" -"I... I don't know. It probably has something to do with ! " +"I… I don't know. It probably has something to do with ! " "What do you say we team up to find out?" msgstr "" @@ -139906,21 +145277,21 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "This can't be true, you're trying to trick me!" -msgstr "" +msgstr "這不是真的,你在騙我吧!" #: lang/json/talk_topic_from_json.py msgid "I need time to think." -msgstr "" +msgstr "我需要時間想想。" #: lang/json/talk_topic_from_json.py msgid "Wha... But. But... How?" -msgstr "" +msgstr "哇...可是。可是...怎麼會?" #: lang/json/talk_topic_from_json.py msgid "" "No time to explain, the world is at an end and we must join forces to save " "it!" -msgstr "" +msgstr "沒時間解釋了,世界面臨終結,我們必須攜手拯救世界!" #: lang/json/talk_topic_from_json.py msgid "" @@ -139937,7 +145308,7 @@ msgstr "我是終極的美食人,我在各平行宇宙間旅行,吸收每個 #: lang/json/talk_topic_from_json.py msgid "Can't tell you now. In due time all will be revealed." -msgstr "" +msgstr "現在不能告訴你。在適當的時候,一切都會被揭露。" #: lang/json/talk_topic_from_json.py msgid "Of course, whatever you need... Foodperson." @@ -139950,43 +145321,43 @@ msgstr "謝謝你美食人!很高興知道我還能有一個朋友。" #: lang/json/talk_topic_from_json.py msgid "" "It's crazy out there, it's going to be a tough journey but I'm with you!" -msgstr "" +msgstr "外面太瘋狂了,這將是艱難的旅程,但我跟你走!" #: lang/json/talk_topic_from_json.py msgid "Let's go, we have a world to save!" -msgstr "" +msgstr "走吧,我們還要拯救世界呢!" #: lang/json/talk_topic_from_json.py msgid "There can be only one!" -msgstr "" +msgstr "只能留下一人!" #: lang/json/talk_topic_from_json.py msgid "I AM THE ONE!" -msgstr "" +msgstr "我就是那一人!" #: lang/json/talk_topic_from_json.py -msgid "Wow calm down, it's just a prank bro." -msgstr "" +msgid "Wow calm down, it's just a prank bro." +msgstr "哇喔,冷靜點,老兄,這只是個惡作劇。" #: lang/json/talk_topic_from_json.py msgid "WAIT! There might be another way!" -msgstr "" +msgstr "等等!可能有別的辦法!" #: lang/json/talk_topic_from_json.py msgid "I don't want to fight you. I'm leaving." -msgstr "" +msgstr "我不想跟你打,我要走了。" #: lang/json/talk_topic_from_json.py msgid "" -msgstr "" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "How did you come to be a merc working for the Free Merchants, anyway?" -msgstr "" +msgstr "你是怎樣當上一名為自由商會工作的商人?" #: lang/json/talk_topic_from_json.py msgid "So, you got your whisky. Tell me that story." -msgstr "" +msgstr "那麼,你有威士忌了。告訴我這故事吧。" #: lang/json/talk_topic_from_json.py msgid "" @@ -140001,15 +145372,15 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "So, did you evacuate?" -msgstr "" +msgstr "所以,你撤離了?" #: lang/json/talk_topic_from_json.py msgid "" -msgstr "" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -msgstr "" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -140022,10 +145393,10 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "I haven't found them yet. Whenever I see a , a little part of me is" -" afraid it's going to be one of them. But then, maybe not. Maybe they " -"were evacuated, maybe they fought and tried to wait for me but the military " -"took them anyway? I've heard that sort of thing happened. I don't know if " -"I'll ever know." +" afraid it's going to be one of them. But then, maybe not. Maybe they were" +" evacuated, maybe they fought and tried to wait for me but the military took" +" them anyway? I've heard that sort of thing happened. I don't know if I'll" +" ever know." msgstr "" #: lang/json/talk_topic_from_json.py @@ -140037,7 +145408,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "Okay, please continue." -msgstr "" +msgstr "好的,請繼續。" #: lang/json/talk_topic_from_json.py msgid "On second thought, let's talk about something else." @@ -140396,7 +145767,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "OK, this is gonna sound crazy but I, like, I knew this was going to happen." -" Like, before it did. You can even ask my psychic except, like, I think " +" Like, before it did. You can even ask my psychic except, like, I think " "she's dead now. I told her about my dreams a week before the world ended. " "Serious!" msgstr "" @@ -140648,7 +146019,7 @@ msgid "Giant bees? Tell me more." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive..." +msgid "But bees aren't usually aggressive…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -140660,7 +146031,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "But bees aren't usually aggressive... Do you mean wasps?" +msgid "But bees aren't usually aggressive… Do you mean wasps?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -141080,7 +146451,7 @@ msgid "No. I can't. Just, no." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Sorry... I'll let you be." +msgid "Sorry… I'll let you be." msgstr "" #: lang/json/talk_topic_from_json.py @@ -141316,7 +146687,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Okay..." +msgid "Okay…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -141330,7 +146701,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "Was there anything else of use in that email?" -msgstr "" +msgstr "那個電郵還有什麼用嗎?" #: lang/json/talk_topic_from_json.py msgid "" @@ -141682,10 +147053,10 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "What do you think happened?" -msgstr "" +msgstr "你覺得發生了什麼事?" #: lang/json/talk_topic_from_json.py -msgid "That does sound a little crazy..." +msgid "That does sound a little crazy…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -141734,7 +147105,7 @@ msgid "What happened to you after that?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "It can't be healthy to abandon your past like that..." +msgid "It can't be healthy to abandon your past like that…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -141832,7 +147203,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "What happened to your friend?" -msgstr "" +msgstr "你的朋友發生了什麼事?" #: lang/json/talk_topic_from_json.py msgid "" @@ -141844,7 +147215,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "I guess they didn't know." -msgstr "" +msgstr "我估計他們不知道。" #: lang/json/talk_topic_from_json.py msgid "" @@ -141856,7 +147227,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "She was dead?" -msgstr "" +msgstr "她死了嗎?" #: lang/json/talk_topic_from_json.py msgid "" @@ -141868,11 +147239,11 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "That's awful. " -msgstr "" +msgstr "這太糟了。" #: lang/json/talk_topic_from_json.py msgid "That's awful. " -msgstr "" +msgstr "這太糟了。" #: lang/json/talk_topic_from_json.py msgid "" @@ -142178,7 +147549,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Do you mean in a religious sense, or...?" +msgid "Do you mean in a religious sense, or…?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -142498,8 +147869,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"If I got you the right stuff, do you think you'd be able to like... do " -"science to it?" +"If I got you the right stuff, do you think you'd be able to like… do science" +" to it?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -142610,8 +147981,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Oh, I'm sorry..." -msgstr "喔,我很抱歉..." +msgid "Oh, I'm sorry…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -142674,7 +148045,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'd better get going." -msgstr "" +msgstr "我得走了。" #: lang/json/talk_topic_from_json.py msgid "" @@ -142715,7 +148086,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "It is coming together. I want to make our own tools, repair our items and " -"even create some weapons and ammuntion reloading." +"even create some weapons and ammunition reloading." msgstr "" #: lang/json/talk_topic_from_json.py @@ -142728,7 +148099,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"It was pink and really fast, it had lots of limbs, definitly not human. It " +"It was pink and really fast, it had lots of limbs, definitely not human. It " "easily kept up with us when we tried to escape, horrifying stuff. Barry " "just dropped to the ground, and the thing swept him away." msgstr "" @@ -142777,9 +148148,9 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I see that badge, You need to leave our land, my relatives have no fondess " +"I see that badge, You need to leave our land, my relatives have no fondness " "for Marshals." -msgstr "我看到了那徽章,你必須離開我們的土地,我的親戚們對法警沒有好感。" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -142938,8 +148309,8 @@ msgid "He did mention you make remedies, are they effective?" msgstr "他確實提到你會製作草藥,它們有效嗎?" #: lang/json/talk_topic_from_json.py -msgid "I'd like to ask you something else..." -msgstr "我想問你其他事..." +msgid "I'd like to ask you something else…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -143084,10 +148455,6 @@ msgstr "我可以在哪裡找到Carlos?" msgid "Hello traveler, what brings you here?" msgstr "旅行者你好,什麼風把你吹來這呢?" -#: lang/json/talk_topic_from_json.py -msgid "Hello travler, what brings you here?" -msgstr "你好,旅行者,什麼風把你吹來這呢?" - #: lang/json/talk_topic_from_json.py msgid "I'm here to deliver some resources." msgstr "我來此是為了運送一些資源。" @@ -143113,9 +148480,9 @@ msgstr "你全家人都還活著嗎" #: lang/json/talk_topic_from_json.py msgid "" "We've had our losses... now we stay close to home, preparing for trouble. " -"We've always taken disaster prepardness seriously, but we didn't expect " +"We've always taken disaster preparedness seriously, but we didn't expect " "anything like this though." -msgstr "我們遭受了損失…現在我們待在家裡,為麻煩做準備。我們一直很認真地做好防災工作,但是我們沒想到會有這樣的事情。" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -143164,9 +148531,9 @@ msgstr "Eddie的酪農場在路的盡頭。自從Barry在樹林裡被那東西 #: lang/json/talk_topic_from_json.py msgid "" -"You should get off my land, the governemnt proved its incompetence with this" +"You should get off my land, the government proved its incompetence with this" " catastrophe." -msgstr "你應該離開我的土地,政府在這場災難中證明了它的無能。" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Go on ..." @@ -143239,7 +148606,8 @@ msgid "I'd like to speak with Carlos too about some work." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Is Chris around? I'd like to know what he's run into out in the woods." +msgid "" +"Is Chris around? I'd like to know what he's run into out in the woods." msgstr "" #: lang/json/talk_topic_from_json.py @@ -143394,18 +148762,18 @@ msgstr "" msgid "Tell me about your dad." msgstr "告訴我關於你老爸的事情。" -#: lang/json/talk_topic_from_json.py -msgid "" -"Ma'am, I don't know how the hell you got down here but if you have any sense" -" you'll get out while you can." -msgstr "女士, 我不知道你是怎麼到這裡來的。如果你還有點理智的話, 趁現在你還能離開, 趕緊走吧。" - #: lang/json/talk_topic_from_json.py msgid "" "Sir, I don't know how the hell you got down here but if you have any sense " "you'll get out while you can." msgstr "先生, 我不知道你是怎麼到這裡來的。如果你還有點理智的話, 趁現在你還能離開, 趕緊走吧。" +#: lang/json/talk_topic_from_json.py +msgid "" +"Ma'am, I don't know how the hell you got down here but if you have any sense" +" you'll get out while you can." +msgstr "女士, 我不知道你是怎麼到這裡來的。如果你還有點理智的話, 趁現在你還能離開, 趕緊走吧。" + #: lang/json/talk_topic_from_json.py msgid "Marshal, I hope you're here to assist us." msgstr "法警, 我希望你是來幫忙的。" @@ -143423,16 +148791,16 @@ msgid "What do you need done?" msgstr "你需要什麼呢?" #: lang/json/talk_topic_from_json.py -msgid "About the mission..." -msgstr "關於任務…" +msgid "About the mission…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About one of those missions..." -msgstr "關於那些其中之一的任務…" +msgid "About one of those missions…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I've got to go..." -msgstr "我得走了…" +msgid "I've got to go…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -143447,8 +148815,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Seems like a decent plan..." -msgstr "似乎是個不俗的計畫…" +msgid "Seems like a decent plan…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -143465,8 +148833,8 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Whatever they did it must have worked since we are still alive..." -msgstr "無論他們做了什麼, 都一定成功了。因為我們現在還活著…" +msgid "Whatever they did it must have worked since we are still alive…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Ma'am you are not authorized to be here... you should leave." @@ -143500,8 +148868,8 @@ msgid "" msgstr "我們是這個設施的保全人員。不過事實上我寧願… 唉, 你有什麼事情要問的話, 去找我的指揮官吧。" #: lang/json/talk_topic_from_json.py -msgid "I'll try and find your commander then..." -msgstr "我會嘗試找到你的指揮官, 然後…" +msgid "I'll try and find your commander then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -143559,8 +148927,8 @@ msgid "I'm supposed to direct all questions to my leadership, marshal." msgstr "法警, 我想這些問題該交由我的領導回答。" #: lang/json/talk_topic_from_json.py -msgid "Don't mind me..." -msgstr "別在意我…" +msgid "Don't mind me…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -143816,18 +149184,18 @@ msgstr "好! 我們走吧。" msgid "Have I told you about cardboard, friend? Do you have any?" msgstr "朋友,我告訴過你關於硬紙板的事嗎?你有硬紙板嗎?" -#: lang/json/talk_topic_from_json.py -msgid "We've done it! We've solved the list!" -msgstr "我們做到了!我們已經完成這個清單!" - #: lang/json/talk_topic_from_json.py msgid "" "How's things with you? My cardboard collection is getting quite impressive." msgstr "你好嗎?我的紙板收藏已經相當可觀了。" #: lang/json/talk_topic_from_json.py -msgid "About that shopping list of yours..." -msgstr "關於你的那個購物清單..." +msgid "We've done it! We've solved the list!" +msgstr "我們做到了!我們已經完成這個清單!" + +#: lang/json/talk_topic_from_json.py +msgid "About that shopping list of yours…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Is there anything else I can do for you?" @@ -143892,8 +149260,8 @@ msgid "Would you like me to give you some cardboard?" msgstr "你要我給你一些硬紙板嗎?" #: lang/json/talk_topic_from_json.py -msgid "I think I have to get going..." -msgstr "我想我得走了..." +msgid "I think I have to get going…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -143921,8 +149289,8 @@ msgid "" msgstr "如果你不知道他是誰,我絕對不能告訴你。他和每個人說話,如果你沒有聽到他意味著你不能被信任,除非你幫助我。" #: lang/json/talk_topic_from_json.py -msgid "... What were you saying before?" -msgstr "... 你剛才說的是什麼?" +msgid "…What were you saying before?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -143939,8 +149307,8 @@ msgid "No." msgstr "否。" #: lang/json/talk_topic_from_json.py -msgid "I... I can see you wearing it. Why are you wearing that?" -msgstr "我...我可以看到你穿著它。你為什麼穿著它?" +msgid "I… I can see you wearing it. Why are you wearing that?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "What was that about cardboard?" @@ -144031,8 +149399,8 @@ msgid "I found a sample of alien fungus for you." msgstr "我為你找到了外星真菌的樣本。" #: lang/json/talk_topic_from_json.py -msgid "Ok... see ya." -msgstr "好...再見。" +msgid "Ok… see ya." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -144129,8 +149497,8 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"I mean, racism could definitely be a part of it... but you are visibly in " -"poor shape. They need strong survivor material." +"I mean, racism could definitely be a part of it… but you are visibly in poor" +" shape. They need strong survivor material." msgstr "" #: lang/json/talk_topic_from_json.py @@ -144162,7 +149530,7 @@ msgid "You sound more optimistic than usual." msgstr "" #: lang/json/talk_topic_from_json.py -msgid "So, about that doctorate of yours..." +msgid "So, about that doctorate of yours…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -144282,7 +149650,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" "Encroaching alien mushrooms, fungal towers, tough mycelium invading ground " -"and trees, zombies taken over by aggressive mold... Yeah. It's ugly stuff." +"and trees, zombies taken over by aggressive mold… Yeah. It's ugly stuff." msgstr "" #: lang/json/talk_topic_from_json.py @@ -144355,7 +149723,7 @@ msgstr "我會看看我能做什麼。" #: lang/json/talk_topic_from_json.py msgid "Hey, are you a big fan of survival of the fittest?" -msgstr "" +msgstr "你是適者生存的粉絲嗎?" #: lang/json/talk_topic_from_json.py msgid "Thanks again for the grub, my friend." @@ -144390,7 +149758,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I could maybe help you out... want something to eat?" +msgid "I could maybe help you out… want something to eat?" msgstr "" #: lang/json/talk_topic_from_json.py @@ -144552,7 +149920,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "Hey there, friend." -msgstr "" +msgstr "你好,朋友。" #: lang/json/talk_topic_from_json.py msgid "I couldn't help but notice, you're covered in fur." @@ -144789,7 +150157,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You seem a little forward..." +msgid "You seem a little forward…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -145045,7 +150413,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "About that sourdough starter you had me looking for..." +msgid "About that sourdough starter you had me looking for…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -145339,7 +150707,7 @@ msgid "I think I would've done the same. Nobody around here has a guitar?" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "Yes, yes I would... you monster." +msgid "Yes, yes I would… you monster." msgstr "" #: lang/json/talk_topic_from_json.py @@ -145543,11 +150911,11 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "What?." -msgstr "" +msgstr "什麼?" #: lang/json/talk_topic_from_json.py msgid "WHAT." -msgstr "" +msgstr "什麼!" #: lang/json/talk_topic_from_json.py msgid "Oh yeah, some people've been growing it in their basements." @@ -145590,7 +150958,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "I can help." -msgstr "" +msgstr "我能幫忙。" #: lang/json/talk_topic_from_json.py msgid "Find somebody else, dude." @@ -145789,7 +151157,7 @@ msgid "" msgstr "" #: lang/json/talk_topic_from_json.py -msgid "You lost someone..." +msgid "You lost someone…" msgstr "" #: lang/json/talk_topic_from_json.py @@ -146216,7 +151584,7 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"You... you do know what's going on here, right? With the evacuation and " +"You… you do know what's going on here, right? With the evacuation and " "stuff?" msgstr "" @@ -146911,8 +152279,8 @@ msgid "Are you looking to buy anything else?" msgstr "你有要買其他東西嗎?" #: lang/json/talk_topic_from_json.py -msgid "Very well... let's talk about something else." -msgstr "很好...讓我們談談其他事情。" +msgid "Very well… let's talk about something else." +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'm sorry, but I'm not here to make friends, I've got a job to do." @@ -147234,8 +152602,8 @@ msgid "Have you seen anyone who might be hiding something?" msgstr "你有看過有人正在隱瞞一些事情嗎?" #: lang/json/talk_topic_from_json.py -msgid "Bye..." -msgstr "掰…" +msgid "Bye…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -147248,16 +152616,16 @@ msgid "Keep your head down and stay out of my way." msgstr "低調點, 別擋路。" #: lang/json/talk_topic_from_json.py -msgid "OK..." -msgstr "OK…" +msgid "OK…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Like what?" msgstr "類似甚麼?" #: lang/json/talk_topic_from_json.py -msgid "I'm not sure..." -msgstr "我不確定…" +msgid "I'm not sure…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Like they could be working for someone else?" @@ -147276,8 +152644,8 @@ msgid "Got something to hide?" msgstr "在藏什麼嗎?" #: lang/json/talk_topic_from_json.py -msgid "Sorry, I didn't mean to offend you..." -msgstr "抱歉, 我不是有意冒犯你的…" +msgid "Sorry, I didn't mean to offend you…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -147319,17 +152687,17 @@ msgstr "像個文明人, 不然我就讓你生不如死。" msgid "Just on watch, move along." msgstr "看什麼, 快離開。" -#: lang/json/talk_topic_from_json.py -msgid "Ma'am, you really shouldn't be traveling out there." -msgstr "夫人, 你真的不應該旅行到那裏。" - #: lang/json/talk_topic_from_json.py msgid "Rough out there, isn't it?" msgstr "外面盡是蠻荒, 對吧?" #: lang/json/talk_topic_from_json.py -msgid "I heard this place was a refugee center..." -msgstr "我聽說這裡是一個難民中心..." +msgid "Ma'am, you really shouldn't be traveling out there." +msgstr "夫人, 你真的不應該旅行到那裏。" + +#: lang/json/talk_topic_from_json.py +msgid "I heard this place was a refugee center…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Heard anything about the outside world?" @@ -147352,8 +152720,8 @@ msgid "Can I do anything for the center?" msgstr "我能為中心做些什麼事嗎?" #: lang/json/talk_topic_from_json.py -msgid "I figured you might be looking for some help..." -msgstr "我想你可能正在尋找一些幫助…" +msgid "I figured you might be looking for some help…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Well, I'd better be going. Bye." @@ -147407,9 +152775,9 @@ msgstr "" #: lang/json/talk_topic_from_json.py msgid "" -"[INT 10] Wait, six buses and refugees... how many people do you still have " +"[INT 10] Wait, six buses and refugees… how many people do you still have " "crammed in here?" -msgstr "[智力 10] 等等,六輛公車跟難民... 你們還剩多少人擠在這裡?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -147461,8 +152829,8 @@ msgid "I'm sorry, not a risk we are willing to take right now." msgstr "我很抱歉, 我現在不想要冒這個險。" #: lang/json/talk_topic_from_json.py -msgid "Fine..." -msgstr "很好…" +msgid "Fine…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -147474,8 +152842,8 @@ msgstr "" "在地獄裡根本沒有機會! 曾經有一個全身毛皮的人來我們這裡… 好吧, 我想這還不算很奇怪, 但是我相當確信讓他突變的毒廢料不只是只有讓他長出毛皮這麼簡單。" #: lang/json/talk_topic_from_json.py -msgid "Fine... *coughupyourscough*" -msgstr "沒事… *咳了個半死*" +msgid "Fine… *coughupyourscough*" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -147503,8 +152871,8 @@ msgid "[STR 11] I punch things in face real good!" msgstr "[力量 11] 我揍人比誰都要厲害!" #: lang/json/talk_topic_from_json.py -msgid "I guess I'll look somewhere else..." -msgstr "我想我該去別的地方找了…" +msgid "I guess I'll look somewhere else…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -147526,8 +152894,8 @@ msgid "Heard of anything better than the odd gun cache?" msgstr "有聽過比稀有槍枝上膛聲音更棒的嗎?" #: lang/json/talk_topic_from_json.py -msgid "Was hoping for something more..." -msgstr "要是有更多東西就好了…" +msgid "Was hoping for something more…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -147629,8 +152997,8 @@ msgid "So what are you doing right now?" msgstr "所以你現在在做什麼?" #: lang/json/talk_topic_from_json.py -msgid "Never mind..." -msgstr "沒事了…" +msgid "Never mind…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -147654,8 +153022,8 @@ msgid "" msgstr "觀察這些異常的活死人或是突變種。我們愈瞭解發生的原因,離製作出解藥就更進一步。這是個長期目標,但要生存下去並不是沒有希望。" #: lang/json/talk_topic_from_json.py -msgid "Good luck with that..." -msgstr "祝你好運..." +msgid "Good luck with that…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -147698,8 +153066,8 @@ msgid "" msgstr "看來你跟我一樣。嗯,某種程度上一樣。我不認為這邊還有空位。樓下熙熙攘攘的擠滿了人。看到入口處那個商人了嗎?那就是該問的人。" #: lang/json/talk_topic_from_json.py -msgid "Sucks..." -msgstr "爛透了…" +msgid "Sucks…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -147714,8 +153082,8 @@ msgstr "" "像個不會爆炸的大砲。簡直超有效率。而有這類拼裝武器的人還不乏少數。但是最重要的事情似乎還是建造防禦工事。只有極少數的怪物才打得破柵欄或是牆壁之類的建築。" #: lang/json/talk_topic_from_json.py -msgid "Well, then..." -msgstr "好吧, 那麼…" +msgid "Well, then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -147803,8 +153171,8 @@ msgid "I thought I smelled a pig. I jest... please don't arrest me." msgstr "我想我聞到了豬味。我開玩笑的… 請不要抓我。" #: lang/json/talk_topic_from_json.py -msgid "You... smelled me?" -msgstr "你… 聞到了我?" +msgid "You… smelled me?" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Got anything for sale?" @@ -147854,8 +153222,8 @@ msgid "" msgstr "對。無論我在什麼情形, 我包裝並販賣肉品或其他部位。偶爾會有魚跟幾籃野果, 但沒有什麼能比上新鮮的碳烤駝鹿肉排!" #: lang/json/talk_topic_from_json.py -msgid "Great, now my mouth is watering..." -msgstr "很好, 現在我正在流口水…" +msgid "Great, now my mouth is watering…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -147961,8 +153329,8 @@ msgstr "" "給他們。由於這裡大部分生存者都沒有他們想要的, 他們受歡迎的程度數一數二。" #: lang/json/talk_topic_from_json.py -msgid "Hmmm..." -msgstr "嗯…" +msgid "Hmmm…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -148010,8 +153378,8 @@ msgid "" msgstr "你必須透過招募人才能夠真正加入。我們通常歡迎各種幫助, 不時可以來詢問我是否有工作。以承包者的身分來完成任務是累積名聲的好方法。" #: lang/json/talk_topic_from_json.py -msgid "I haven't done anything wrong..." -msgstr "我從來沒犯錯過…" +msgid "I haven't done anything wrong…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Any tips for surviving?" @@ -148175,8 +153543,8 @@ msgid "Something to say?" msgstr "有話要說嗎?" #: lang/json/talk_topic_from_json.py -msgid "I charge hourly, so be quick..." -msgstr "我以時計費,所以要快..." +msgid "I charge hourly, so be quick…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Hey." @@ -148291,8 +153659,8 @@ msgid "" msgstr "你是否注意到他們用微小的小金幣向我們付款,這很奇怪。有人會以為他們那裡有一個金礦,但沒有,他們沒有,所以他們讓我穿過該死的世界,搶著金條。" #: lang/json/talk_topic_from_json.py -msgid "I guess I could help with that..." -msgstr "我想我可以幫忙..." +msgid "I guess I could help with that…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Now that you mention it, it does seem rather strange." @@ -148402,8 +153770,8 @@ msgid "[$10] I'll get a haircut" msgstr "[$10] 我要剪個頭髮" #: lang/json/talk_topic_from_json.py -msgid "Maybe another time..." -msgstr "或許下次吧…" +msgid "Maybe another time…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -148420,8 +153788,8 @@ msgid "Stand still while I get my clippers..." msgstr "站著別動, 讓我把剪刀拿過來…" #: lang/json/talk_topic_from_json.py -msgid "Thanks..." -msgstr "謝謝…" +msgid "Thanks…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Want a drink?" @@ -148440,8 +153808,8 @@ msgid "What do you have on tap?" msgstr "你這裡有什麼現成的酒?" #: lang/json/talk_topic_from_json.py -msgid "I'll be going..." -msgstr "我正要去…" +msgid "I'll be going…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -148492,8 +153860,8 @@ msgid "" msgstr "我的同伴正在忙著建設這裡, 你可以問問他們有沒有需要幫忙的地方。" #: lang/json/talk_topic_from_json.py -msgid "I'll talk to him then..." -msgstr "我會和他交談, 然後…" +msgid "I'll talk to him then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -148510,8 +153878,8 @@ msgid "I hope you are here to do business." msgstr "我希望你在這裡只是要做生意的。" #: lang/json/talk_topic_from_json.py -msgid "I'm interested in investing in agriculture..." -msgstr "我感興趣的是投資農業…" +msgid "I'm interested in investing in agriculture…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -148537,12 +153905,12 @@ msgid "I imagine we might be able to work something out." msgstr "我想我們可以搞定這個。" #: lang/json/talk_topic_from_json.py -msgid "I was wondering if you could install a cybernetic implant..." -msgstr "你能否安裝生化插件…" +msgid "I was wondering if you could install a cybernetic implant…" +msgstr "" #: lang/json/talk_topic_from_json.py -msgid "I need help removing an implant..." -msgstr "幫助我移除植入的插件…" +msgid "I need help removing an implant…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "I'd like to hire your services." @@ -148581,8 +153949,8 @@ msgid "" msgstr "我只是一個曾被不死生物追趕著這個小農夫的條寶貴生命的幸運兒。我們這裡有食宿, 但在成功收成之前我們的工作都沒有任何貢獻。" #: lang/json/talk_topic_from_json.py -msgid "It could be worse..." -msgstr "這可能會更糟…" +msgid "It could be worse…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -148591,8 +153959,8 @@ msgid "" msgstr "我沒時間跟你聊天。如果你想交易或是找點事幹, 去和工頭或者作物看守聊聊。" #: lang/json/talk_topic_from_json.py -msgid "I'll talk with them then..." -msgstr "我會和他們交談, 然後…" +msgid "I'll talk with them then…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "Morning ma'am, how can I help you?" @@ -148659,8 +154027,8 @@ msgstr "" "使得從零開始建造會比較實際。我原來呆的難民中心就一直在面臨著飢荒和喪屍攻擊的問題。" #: lang/json/talk_topic_from_json.py -msgid "Hopefully moving out here was worth it..." -msgstr "希望離開這裡是值得的…" +msgid "Hopefully moving out here was worth it…" +msgstr "" #: lang/json/talk_topic_from_json.py msgid "" @@ -148993,8 +154361,7 @@ msgstr "你格擋並反擊 %s" msgid " blocks and counter-attacks %s" msgstr " 格擋並反擊 %s" -#: lang/json/technique_from_json.py lang/json/technique_from_json.py -#: src/game.cpp +#: lang/json/technique_from_json.py src/game.cpp msgid "Disarm" msgstr "繳械" @@ -149096,7 +154463,8 @@ msgstr "" msgid " leaps off a nearby wall and dropkicks %s" msgstr "" -#: lang/json/technique_from_json.py +#: lang/json/technique_from_json.py lang/json/technique_from_json.py +#: src/martialarts.cpp msgid "Grab Break" msgstr "反擒拿" @@ -149172,13 +154540,13 @@ msgstr "毒蛇咬" #: lang/json/technique_from_json.py #, python-format -msgid "You Snakebite %s" -msgstr "你毒蛇咬 %s" +msgid "You lash out at %s with a Viper Bite" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Snakebites %s" -msgstr " 毒蛇咬 %s" +msgid " lash out at %s with a Viper Bite" +msgstr "" #: lang/json/technique_from_json.py msgid "Viper Strike" @@ -149186,18 +154554,28 @@ msgstr "毒蛇猛擊" #: lang/json/technique_from_json.py #, python-format -msgid "You Viper Strike %s" +msgid "You hit %s with a spectacular Viper Strike" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " Viper Strikes %s" +msgid " hits %s with a spectacular Viper Strike" msgstr "" #: lang/json/technique_from_json.py msgid "Viper Writhe" msgstr "毒蛇翻騰" +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you writhe free!" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they writhe free!" +msgstr "" + #: lang/json/technique_from_json.py msgid "Roundhouse Kick" msgstr "" @@ -149240,6 +154618,34 @@ msgstr "" msgid " jabs %s with a Pincer Fist" msgstr "" +#: lang/json/technique_from_json.py +msgid "Toad Smack" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You disregard %s's attack and knock them down" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " disregards %s's attack and knocks them down" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Toad Slam" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You meet %s's attack head on with a stunning counter" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid " meet %s's attack head on with a stunning counter" +msgstr "" + #: lang/json/technique_from_json.py msgid "Toad's Tongue" msgstr "蟾蜍舌" @@ -150724,341 +156130,353 @@ msgstr "" msgid " grabs and throws %s" msgstr "" +#: lang/json/technique_from_json.py +msgid "Hamstring" +msgstr "膕旁肌" + #: lang/json/technique_from_json.py #, python-format -msgid "You disarm %s" -msgstr "你繳械了 %s" +msgid "You ground %s with a low blow" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " disarms %s" -msgstr " 繳械了 %s" +msgid " grounds %s with a low blow" +msgstr "下段攻擊讓 %s 倒在地上!" #: lang/json/technique_from_json.py -msgid "precise strike" -msgstr "精準突擊" +msgid "Vicious Precision" +msgstr "毒牙突刺" #: lang/json/technique_from_json.py #, python-format -msgid "You strike %s" -msgstr "你突擊 %s" +msgid "You viciously wound %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " strikes %s" -msgstr " 突擊 %s" +msgid " viciously wounds %s" +msgstr "惡毒的重創 %s " #: lang/json/technique_from_json.py -msgid "axe-kick" -msgstr "戰斧踢" +msgid "Dirty Hit" +msgstr "骯髒攻擊" #: lang/json/technique_from_json.py #, python-format -msgid "You axe-kick %s" -msgstr "你戰斧踢 %s" +msgid "You hit %s with a dirty blow" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " axe-kicks %s" -msgstr " 戰斧踢 %s" +msgid " delivers a dirty blow to %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "side kick" -msgstr "側踢" +msgid "Silat Brutality" +msgstr "野蠻印尼刀術" #: lang/json/technique_from_json.py #, python-format -msgid "You side-kick %s" -msgstr "你側踢 %s" +msgid "You brutally tear into %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " side-kicks %s" -msgstr " 側踢 %s" +msgid " brutally tears into %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "sweep kick" -msgstr "掃踢" +msgid "Snake Snap" +msgstr "蛇纏" #: lang/json/technique_from_json.py #, python-format -msgid "You sweep-kick %s" -msgstr "你掃踢 %s" +msgid "You swiftly jab %s" +msgstr "你快速戳擊 %s" #: lang/json/technique_from_json.py #, python-format -msgid " sweep-kicks %s" -msgstr " 掃踢 %s" +msgid " swiftly jabs %s" +msgstr " 快速戳擊 %s" #: lang/json/technique_from_json.py -msgid "Drunk feint" -msgstr "醉跌" +msgid "Snake Slide" +msgstr "蛇形刁手" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble and leer at %s" -msgstr "你對著 %s 跌跌撞撞" +msgid "You make serpentine hand motions at %s" +msgstr "你在 %s 面前做著蛇形刁手的架勢" #: lang/json/technique_from_json.py #, python-format -msgid " stumbles and leers at %s" -msgstr " 對著 %s 跌跌撞撞" +msgid " makes serpentine hand motions at %s" +msgstr "在 %s 面前做著蛇形刁手的架勢" #: lang/json/technique_from_json.py -msgid "Drunk counter" -msgstr "醉拳反擊" +msgid "Snake Slither" +msgstr "蛇形滑步" #: lang/json/technique_from_json.py #, python-format -msgid "You lurch, and your wild swing hits %s" -msgstr "你步履蹣跚並狂野的攻擊 %s" +msgid "The %s tries to grab you, but you slither free!" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " lurches, and hits %s" -msgstr " 步履蹣跚並攻擊 %s" +msgid "The %s tries to grab , but they slither free!" +msgstr "" #: lang/json/technique_from_json.py -msgid "hamstring" -msgstr "膝關節" +msgid "Snake Strike" +msgstr "毒蛇突擊" #: lang/json/technique_from_json.py #, python-format -msgid "You ground %s with a low blow" +msgid "You lash out at %s with a vicious Snake Strike" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " grounds %s with a low blow" -msgstr "下段攻擊讓 %s 倒在地上!" +msgid " lashes out at %s with a vicious Snake Strike" +msgstr "" #: lang/json/technique_from_json.py -msgid "Vicious Precision" -msgstr "毒牙突刺" +msgid "Push" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You viciously wound %s" +msgid "You push %s away" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " viciously wounds %s" -msgstr "惡毒的重創 %s " +msgid " pushes %s away" +msgstr "" #: lang/json/technique_from_json.py -msgid "Silat Brutality" -msgstr "野蠻印尼刀術" +msgid "Shove" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You send %s reeling backwards" +msgid "You shove %s back" msgstr "" #: lang/json/technique_from_json.py -msgid "Dirty Hit" -msgstr "骯髒攻擊" +#, python-format +msgid " shoves %s back" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You hit %s with a dirty blow" +msgid "You deftly trip %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " delivers a dirty blow to %s" +msgid " deftly trips %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Tiger Takedown" -msgstr "虎式擒拿" +msgid "Snatch Weapon" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You grab and ground %s" +msgid "You snatch %s's weapon" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " grabs and grounds %s" +msgid " snatches %s's weapon" msgstr "" #: lang/json/technique_from_json.py -msgid "Snake Snap" -msgstr "蛇纏" +msgid "Axe-kick" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You swiftly jab %s" -msgstr "你快速戳擊 %s" +msgid "You raise your heel and axe-kick %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " swiftly jabs %s" -msgstr " 快速戳擊 %s" +msgid " raises their heel and axe-kicks %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "Snake Slide" -msgstr "蛇形刁手" +msgid "Side Kick" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You make serpentine hand motions at %s" -msgstr "你在 %s 面前做著蛇形刁手的架勢" +msgid "You turn slightly and side-kick %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " makes serpentine hand motions at %s" -msgstr "在 %s 面前做著蛇形刁手的架勢" +msgid " turns slightly and side-kicks %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "Snake Slither" -msgstr "蛇形滑步" +#, python-format +msgid "You crouch low and sweep-kick %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "The %s tries to grab you, but you slither free!" +msgid " crouches low and sweep-kicks %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "The %s tries to grab , but they slither free!" +msgid "You gently disarm %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Snake Strike" -msgstr "毒蛇突擊" +#, python-format +msgid " gently disarms %s" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "Palm Strike" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You strike out at %s" -msgstr "你攻擊了 %s" +msgid "You palm strike %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " strikes out at %s" -msgstr " 攻擊了 %s" +msgid " palm strikes %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "slow strike" -msgstr "滴水穿石的力量" +msgid "Grasp the Sparrow's Tail" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You slowly strike %s" -msgstr "你用滴水穿石的力量攻擊 %s" +msgid "You divert %s's attack and lead them to the ground" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " slowly strikes %s" -msgstr " 用滴水穿石的力量攻擊 %s" +msgid " diverts %s's attack and lead them to the ground" +msgstr "" #: lang/json/technique_from_json.py -msgid "phasing strike" -msgstr "相位打擊" +msgid "Double Palm Strike" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You phase-strike %s" -msgstr "你對 %s 發動 相位打擊" +msgid "You double-handed palm strike %s" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " phase-strikes %s" -msgstr "對 %s 發動 相位打擊" +msgid " double-handed palm strikes %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "Push" +msgid "Tiger Palm" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You push %s away" +msgid "You land a heavy tiger palm on %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " pushes %s away" +msgid " lands a heavy tiger palm on %s" msgstr "" +#: lang/json/technique_from_json.py +msgid "Tiger Takedown" +msgstr "虎式擒拿" + #: lang/json/technique_from_json.py #, python-format -msgid "You deftly trip %s" +msgid "You slam %s to the ground" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " deftly trips %s" +msgid " slams %s to the ground" msgstr "" #: lang/json/technique_from_json.py -msgid "Skewer" +msgid "Straight Punch" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You brutally skewer %s" +msgid "You deliver a vertical straight punch to %s" msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " brutally skewers %s" +msgid " delivers a vertical straight punch to %s" msgstr "" #: lang/json/technique_from_json.py -msgid "Chain Punch" -msgstr "連環拳" - -#. ~ Description for Chain Punch -#: lang/json/technique_from_json.py -msgid "50% moves, 66% damage, knockback and follow" -msgstr "行動值消耗 50%,造成傷害 66%,擊退並跟隨" +msgid "Straight Punch (Knockback)" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You chain strike %s" -msgstr "你連環攻擊 %s" +msgid "You force %s back with a vertical straight punch" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " chain strikes %s" -msgstr " 連環攻擊 %s" +msgid " forces %s back with a vertical straight punch" +msgstr "" #: lang/json/technique_from_json.py -msgid "You position yourself well and slip out of a grab" -msgstr "你擺動重心脫離擒拿" +msgid "L-hook" +msgstr "" #: lang/json/technique_from_json.py -msgid " slips out of a grab" -msgstr " 脫離擒拿" +#, python-format +msgid "You deliver a solid L-hook to %s" +msgstr "" #: lang/json/technique_from_json.py -msgid "ask the way" -msgstr "問路" +#, python-format +msgid " delivers a solid L-hook to %s" +msgstr "" #: lang/json/technique_from_json.py -#, python-format -msgid "You miss but keep striking at %s" -msgstr "你失誤了但仍持續打擊 %s" +msgid "L-hook (Knockback)" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " misses but keeps striking at %s" -msgstr " 失誤了但仍持續打擊 %s" +msgid "You knock %s back with a solid L-hook" +msgstr "" #: lang/json/technique_from_json.py -msgid "White Crane stumble" -msgstr "白鶴絆倒" +#, python-format +msgid " knocks %s back with a solid L-hook" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid "You stumble %s with your onslaught" -msgstr "你用猛攻絆倒了 %s" +msgid "Your attack misses %s but you don't let up" +msgstr "" #: lang/json/technique_from_json.py #, python-format -msgid " stumbles %s" -msgstr " 絆倒 %s" +msgid "'s attack misses %s but they don't let up" +msgstr "" #: lang/json/technique_from_json.py msgid "Receive and Counter" @@ -151074,6 +156492,72 @@ msgstr "你招架了 %s 的暴力攻擊,並以相同力道反擊" msgid " receives %s's attack, and counters" msgstr " 招架 %s 的攻擊,並且反擊" +#: lang/json/technique_from_json.py +msgid "Drunken Feint" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You stumble and leer at %s" +msgstr "你對著 %s 跌跌撞撞" + +#: lang/json/technique_from_json.py +#, python-format +msgid " stumbles and leers at %s" +msgstr " 對著 %s 跌跌撞撞" + +#: lang/json/technique_from_json.py +msgid "Drunk Counter" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You lurch, and your wild swing hits %s" +msgstr "你步履蹣跚並狂野的攻擊 %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " lurches, and hits %s" +msgstr " 步履蹣跚並攻擊 %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab you, but you stumble away!" +msgstr "" + +#: lang/json/technique_from_json.py +#, python-format +msgid "The %s tries to grab , but they stumble away!" +msgstr "" + +#: lang/json/technique_from_json.py +msgid "slow strike" +msgstr "滴水穿石的力量" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You slowly strike %s" +msgstr "你用滴水穿石的力量攻擊 %s" + +#: lang/json/technique_from_json.py +#, python-format +msgid " slowly strikes %s" +msgstr " 用滴水穿石的力量攻擊 %s" + +#: lang/json/technique_from_json.py +msgid "phasing strike" +msgstr "相位打擊" + +#: lang/json/technique_from_json.py +#, python-format +msgid "You phase-strike %s" +msgstr "你對 %s 發動 相位打擊" + +#: lang/json/technique_from_json.py +#, python-format +msgid " phase-strikes %s" +msgstr "對 %s 發動 相位打擊" + #: lang/json/technique_from_json.py msgid "Pressure Crunch" msgstr "" @@ -151706,7 +157190,7 @@ msgstr "深水碼頭樁" #. ~ Description for deep dock pile #: lang/json/terrain_from_json.py msgid "" -"A sturdy pile made of wood extending all the way to the riverbed. A frame " +"A sturdy pile made of wood extending all the way to the riverbed. A frame " "will be required to support a surface." msgstr "" @@ -151717,8 +157201,8 @@ msgstr "深水碼頭框架" #. ~ Description for deep dock frame #: lang/json/terrain_from_json.py msgid "" -"A log frame secured atop a wooden pile. Adding a wood surface will make this" -" into a proper dock section." +"A log frame secured atop a wooden pile. Adding a wood surface will make " +"this into a proper dock section." msgstr "" #: lang/json/terrain_from_json.py @@ -151728,7 +157212,7 @@ msgstr "深水碼頭" #. ~ Description for deep dock #: lang/json/terrain_from_json.py msgid "" -"A wooden platform held by a tall wooden pile that extend to the riverbed. " +"A wooden platform held by a tall wooden pile that extend to the riverbed. " "Very sturdy, and likely to outlast you." msgstr "" @@ -152372,6 +157856,19 @@ msgid "" "wide open, allowing anything to travel through." msgstr "" +#: lang/json/terrain_from_json.py +msgid "closed screen door" +msgstr "" + +#. ~ Description for closed screen door +#: lang/json/terrain_from_json.py +msgid "A simple wooden doorway with screen mesh." +msgstr "" + +#: lang/json/terrain_from_json.py +msgid "rattle!" +msgstr "嘎嘎!" + #: lang/json/terrain_from_json.py msgid "closed chickenwire gate" msgstr "關閉鐵網柵門" @@ -152382,10 +157879,6 @@ msgid "" "A gate for a chickenwire fence with a simple latch system to stay closed." msgstr "" -#: lang/json/terrain_from_json.py -msgid "rattle!" -msgstr "嘎嘎!" - #: lang/json/terrain_from_json.py msgid "open chickenwire gate" msgstr "打開鐵網柵門" @@ -152443,6 +157936,17 @@ msgstr "" msgid "metal rattling!" msgstr "" +#: lang/json/terrain_from_json.py +msgid "screen mesh wall" +msgstr "網幕牆" + +#. ~ Description for screen mesh wall +#: lang/json/terrain_from_json.py +msgid "" +"A rather flimsy tall wall made of 2x4s and screen mesh, suitable for keeping" +" the bugs out." +msgstr "用 2x4 角材與網幕製成相當脆弱的高牆,適合阻隔蟲子進入。" + #: lang/json/terrain_from_json.py msgid "chickenwire fence post" msgstr "" @@ -152767,9 +158271,9 @@ msgstr "木製地板" #. ~ Description for wooden floor #: lang/json/terrain_from_json.py msgid "" -"Wooden floor created from boards, packed tightly together and nailed down. " +"Wooden floor created from boards, packed tightly together and nailed down. " "Common in patios." -msgstr "由木板製成的木地板,緊密排列在一起並釘牢。常見於中庭。" +msgstr "" #: lang/json/terrain_from_json.py msgid "SMASH!" @@ -153074,7 +158578,7 @@ msgstr "" msgid "" "A dual purpose platform that serves as a containment, and as a device that " "exposes items places on in to the radioactive source, by temporarily " -"hoisting the radioactive material stored within. Operated from external " +"hoisting the radioactive material stored within. Operated from external " "console." msgstr "" @@ -153116,7 +158620,7 @@ msgstr "一棵屬於「胡桃」種的大樹。如果你仔細地觀察的話, msgid "" "A massive tree belonging to the 'Juglans' genus. You could cut it down with" " the right tools." -msgstr "" +msgstr "一棵胡桃屬的大樹。有正確的工具,你就能把它砍下來。" #: lang/json/terrain_from_json.py msgid "blackjack oak" @@ -153149,14 +158653,14 @@ msgid "" "A massive tree belonging to the 'Castanea' genus. If you look closely you " "can see some unharvested chestnuts. You could cut it down with the right " "tools." -msgstr "" +msgstr "一棵栗屬的大樹。仔細查看的話,可以看到樹上有些未收割的栗子。有正確的工具,你就能把它砍下來。" #. ~ Description for chestnut tree #: lang/json/terrain_from_json.py msgid "" "A massive tree belonging to the 'Castanea' genus. You could cut it down " "with the right tools." -msgstr "" +msgstr "一棵栗屬的大樹。有正確的工具,你就能把它砍下來。" #: lang/json/terrain_from_json.py msgid "beech tree" @@ -153175,7 +158679,7 @@ msgstr "屬於水青岡屬的巨大樹木。如果你仔細觀察,你可以找 msgid "" "A massive tree belonging to the 'Fagus' genus. You could cut it down with " "the right tools." -msgstr "" +msgstr "一棵山毛櫸屬的大樹。有正確的工具,你就能把它砍下來。" #: lang/json/terrain_from_json.py msgid "hazelnut tree" @@ -153187,14 +158691,14 @@ msgid "" "A stubby tree belonging to the 'Corylus' genus. If you look closely you can" " see some unharvested hazelnuts. You could cut it down with the right " "tools." -msgstr "" +msgstr "一棵榛屬的矮樹。仔細查看的話,可以看到樹上有些未收割的榛子。有正確的工具,你就能把它砍下來。" #. ~ Description for hazelnut tree #: lang/json/terrain_from_json.py msgid "" "A stubby tree belonging to the 'Corylus' genus. You could cut it down with " "the right tools." -msgstr "" +msgstr "一棵榛屬的矮樹。有正確的工具,你就能把它砍下來。" #: lang/json/terrain_from_json.py msgid "oak tree" @@ -153353,12 +158857,11 @@ msgstr "杜松子樹" #: lang/json/terrain_from_json.py msgid "" "One of the species of 'Juniperus' that grows in New England, juniper berries" -" grow over two to three years, first flowering. On the second year producing" -" a green berry, the last, they produce their more famed blue varieties. If " -"you examined the foliage more closely, you could probably find some viable " -"clusters. You could also cut it down with the right tools." +" grow over two to three years, first flowering. On the second year " +"producing a green berry, the last, they produce their more famed blue " +"varieties. If you examined the foliage more closely, you could probably " +"find some viable clusters. You could also cut it down with the right tools." msgstr "" -"在新英格蘭生長的'刺柏屬'物種之一,杜松子在第一次開花兩到三年後長成。在次年結出綠色漿果,之後他們生產更著名的藍色品種。如果你仔細檢查樹葉,你可能會找到一些可用的果實。你也可以使用正確的工具將其砍倒。" #. ~ Description for juniper tree #: lang/json/terrain_from_json.py @@ -154314,10 +159817,11 @@ msgstr "自動櫃員機" #: lang/json/terrain_from_json.py msgid "" "For your banking convenience, this Automated Teller Machine is fully capable" -" of operating autonomously in the event of complete network failure. You can" -" deposit funds from cash cards and migrate all of your inflation-adjusted " -"earnings to a single card. These things have seen better days. There's been" -" a run on the bank, and this machine has the dents and cracks to prove it." +" of operating autonomously in the event of complete network failure. You " +"can deposit funds from cash cards and migrate all of your inflation-adjusted" +" earnings to a single card. These things have seen better days. There's " +"been a run on the bank, and this machine has the dents and cracks to prove " +"it." msgstr "" #: lang/json/terrain_from_json.py @@ -154421,8 +159925,8 @@ msgstr "離心機" #: lang/json/terrain_from_json.py msgid "" "This is a centrifuge, a liquid separating device with an automated analyzer " -"unit. It could be used to analyze a medical fluid sample, such as blood, if " -"a test tube was placed in it." +"unit. It could be used to analyze a medical fluid sample, such as blood, if" +" a test tube was placed in it." msgstr "" #: lang/json/terrain_from_json.py @@ -155028,10 +160532,10 @@ msgstr "關閉的樹脂門" #. ~ Description for closed resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is closed tightly, but it looks like a firm push would cause it to snap " "open." -msgstr "一種由濕潤有彈性的樹脂材質製成的三尖瓣艙口。這個門關得緊緊的,但似乎用力推動它會突然打開。" +msgstr "" #: lang/json/terrain_from_json.py msgid "open resin portal" @@ -155040,10 +160544,10 @@ msgstr "開啟的樹脂門" #. ~ Description for open resin portal #: lang/json/terrain_from_json.py msgid "" -"A tricuspid hatch of some sort of damp, flexible, resinous material. This " +"A tricuspid hatch of some sort of damp, flexible, resinous material. This " "one is open, the flaps held out by some sort of stringy mucus-like " "substance." -msgstr "一種由濕潤有彈性的樹脂材質製成的三尖瓣艙口。這個門是打開的,皮瓣被某種粘稠的膠狀物質所支撐著。" +msgstr "" #: lang/json/terrain_from_json.py msgid "resin-lined hole" @@ -155131,6 +160635,13 @@ msgid "" " were still running." msgstr "" +#. ~ Description for small railroad track +#: lang/json/terrain_from_json.py +msgid "" +"Like a railroad track, only smaller. You could probably run a small vehicle" +" on this." +msgstr "" + #: lang/json/terrain_from_json.py msgid "sandbox" msgstr "沙盒" @@ -155197,7 +160708,7 @@ msgstr "排水溝" #. ~ Description for gutter drop #: lang/json/terrain_from_json.py msgid "" -"Funnels water from gutter system towards the ground, it looks flimsy. You " +"Funnels water from gutter system towards the ground, it looks flimsy. You " "may be able to climb down here." msgstr "" @@ -155209,9 +160720,9 @@ msgstr "落水管" #: lang/json/terrain_from_json.py msgid "" "A length of gutter running from the roof to the ground, you could place a " -"container underneath it to collect rainwater. It looks flimsy. You may be " +"container underneath it to collect rainwater. It looks flimsy. You may be " "able to climb down here." -msgstr "從屋頂到地面的一段排水溝,你可以在它下面放一個容器來收集雨水。它看起來很脆弱。你也許可以在這裡爬下來。" +msgstr "" #: lang/json/terrain_from_json.py msgid "flat roof" @@ -155255,8 +160766,8 @@ msgstr "金屬平屋頂" #. ~ Description for metal flat roof #: lang/json/terrain_from_json.py -msgid "A secton of flat, sheet metal rooftop." -msgstr "平坦的金屬屋頂。" +msgid "A section of flat, sheet metal rooftop." +msgstr "平坦的金屬板屋頂。" #: lang/json/terrain_from_json.py msgid "tile flat roof" @@ -155283,7 +160794,7 @@ msgstr "岩頂" #. ~ Description for rock roof #: lang/json/terrain_from_json.py -msgid "A secton of flat natural rock." +msgid "A section of flat natural rock." msgstr "一塊平坦的天然岩石。" #: lang/json/terrain_from_json.py @@ -155993,7 +161504,7 @@ msgstr "" #: lang/json/terrain_from_json.py msgid "" "An empty wooden frame in the shape of a column, built around a concrete and " -"rebar foundation. It isn't capable of supporting roofs or shelter, and " +"rebar foundation. It isn't capable of supporting roofs or shelter, and " "appears to need more resources before being considered complete." msgstr "" @@ -157162,10 +162673,8 @@ msgid "" "You just activated a grenade! You probably want to throw it. To throw an " "item, press 't' and then select the item to throw. The maximum range " "depends on your strength and the object's weight and size. Throwing isn't " -"very good in most combat situations, but if you've got some fire power..." +"very good in most combat situations, but if you've got some fire power…" msgstr "" -"你剛拉下了手榴彈的插梢! 你最好趕快投擲出去。按 t " -"來選取物品進行投擲。投擲的最遠距離取決於你的力量和物品的重量及大小。投擲物品的動作在大部分的戰鬥中起不了什麼太大的作用, 除非你丟的是手榴彈之類的東西…" #: lang/json/tutorial_messages_from_json.py msgid "" @@ -157243,7 +162752,7 @@ msgstr "這裡一片漆黑! 不過幸好你有帶著手電筒 , 按 a 接著選 #: lang/json/tutorial_messages_from_json.py msgid "" "~ is a terrain symbol that indicates water. From a water source like this, " -"you can fill any containers you might have. Examine the water ('e') and " +"you can fill any containers you might have. Examine the water ('e') and " "press 'c' to fill a container, then select a watertight container to put the" " water into." msgstr "" @@ -158248,7 +163757,7 @@ msgstr "" #: lang/json/vehicle_part_from_json.py msgid "" "A very bright, directed light that illuminates a half-circular area outside " -"the vehicle when turned on. During installation, you can choose what " +"the vehicle when turned on. During installation, you can choose what " "direction to point the light." msgstr "" @@ -158379,8 +163888,8 @@ msgstr "繫結床墊" #. ~ Description for tied mattress #: lang/json/vehicle_part_from_json.py msgid "" -"A mattress, strapped onto the vehicle. It could serve to blunt any impact." -msgstr "繫結在車輛上的床墊。有助於減輕任何衝擊。" +"A mattress, strapped onto the vehicle. It could serve to blunt any impact." +msgstr "" #. ~ Description for shredder #: lang/json/vehicle_part_from_json.py @@ -158794,6 +164303,13 @@ msgid "" "things." msgstr "焊接在車輛上的金屬尖刺, 在撞到物體時會增加傷害。" +#. ~ Description for programmable autopilot +#: lang/json/vehicle_part_from_json.py +msgid "" +"A computer system hooked up to the steering and engine of the vehicle to " +"allow it to follow simple paths." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "swappable storage battery case" msgstr "可更換式蓄電池殼" @@ -158829,20 +164345,18 @@ msgstr "一個小型冰箱。當它啟動時, 裡面的食物將被冷藏, 延 #. ~ Description for washing machine #: lang/json/vehicle_part_from_json.py msgid "" -"A small washing machine. With detergent or soap, water, and some electrical" -" power, you could clean a lot of clothes. 'e'xamine the tile with the " -"washing machine to use it." -msgstr "一台小型洗衣機。使用洗衣粉或肥皂, 水和一些電力, 你可以清洗很多衣服。按 e 檢查洗衣機來使用它。" +"A small washing machine. With detergent, water, and some electrical power, " +"you could clean a lot of clothes. 'e'xamine the tile with the washing " +"machine to use it." +msgstr "一台小型洗衣機。使用清潔劑、水和一些電力, 你可以清洗很多衣服。按 e 檢查洗衣機來使用它。" #. ~ Description for dishwasher #: lang/json/vehicle_part_from_json.py msgid "" -"A small dishwasher. With detergent or soap, water, and some electrical " -"power, you could clean your dishes... Or something more useful like a CBM " -"dripping with zombie gore. 'e'xamine the tile with the dishwasher to use " -"it." +"A small dishwasher. With detergent, water, and some electrical power, you " +"could clean your dishes… Or something more useful like a CBM dripping with " +"zombie gore. 'e'xamine the tile with the dishwasher to use it." msgstr "" -"一台小型洗碗機。使用清潔劑或肥皂、水和一些電力來清洗碗盤...或是一些更有用的東西,例如把生化插件上的殭屍肉渣清除掉。按 e 檢查洗碗機來使用它。" #. ~ Description for autoclave #: lang/json/vehicle_part_from_json.py @@ -159025,9 +164539,9 @@ msgstr "小型風力發電機。暴露在風中時會慢慢為車輛的電力充 #: lang/json/vehicle_part_from_json.py msgid "" "A large wind turbine with stabilizing legs. Will recharge the vehicle's " -"electrical power when exposed to the wind. Will cause extra drag on the " +"electrical power when exposed to the wind. Will cause extra drag on the " "vehicle." -msgstr "具有穩固支架的大型風力發電機。當暴露在風中時,將為車輛的電力充電。會對車輛造成額外的阻力。" +msgstr "" #. ~ Description for reinforced solar panel #: lang/json/vehicle_part_from_json.py @@ -159510,6 +165024,15 @@ msgid "" "stand next to a turret mount and 'f'ire the weapon by selecting the tile." msgstr "" +#. ~ Description for turret control unit +#: lang/json/vehicle_part_from_json.py +msgid "" +"A set of motor, camera, and an AI unit which allows for tracking targets, " +"friend-or-foe identification, and firing the connected turret in full " +"automatic mode. When installed over the turret, it will enable auto " +"targeting mode for said turret." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "light wheel mount (steerable)" msgstr "輕型輪轂(轉向輪)" @@ -159551,6 +165074,14 @@ msgstr "堅固的金屬輪胎。有著適合在軌道上運行的輪緣,但一 msgid "rail wheel (steerable)" msgstr "軌道輪(轉向輪)" +#. ~ Description for pair of small rail wheels +#: lang/json/vehicle_part_from_json.py +msgid "" +"A pair of small rail wheels. It performs well when riding on a pair of " +"small rails. It performs terribly when not on a rail. Moreover, you can't " +"steer it." +msgstr "" + #: lang/json/vehicle_part_from_json.py msgid "roller drum" msgstr "輥輪" @@ -161220,81 +166751,6 @@ msgstr "手動特斯拉砲" msgid "manual avalanche rifle" msgstr "手動雪崩步槍" -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of road" -msgstr "暢通的道路部份" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Randomly-distributed wrecks" -msgstr "隨機分佈的殘骸" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parked vehicles" -msgstr "停放車輛" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Jack-knifed semi" -msgstr "折向打滑的貨櫃車" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Random car pileup" -msgstr "連環相撞的各式車輛" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Police car pileup" -msgstr "連環相撞的警車" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Out of fuel vehicle" -msgstr "沒油的汽車" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of bridge" -msgstr "暢通的大橋部份" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Unfueled Vehicle on the bridge" -msgstr "在橋上沒油的車" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the bridge" -msgstr "有車的大橋" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of highway" -msgstr "暢通的公路部份" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the highway" -msgstr "有車的公路" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Parking lot with vehicles" -msgstr "有車的停車場" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Clear section of subway" -msgstr "" - -#. ~ Vehicle Spawn Description -#: lang/json/vehicle_spawn_from_json.py -msgid "Vehicle on the subway" -msgstr "" - #: lang/json/vitamin_from_json.py msgid "Calcium" msgstr "鈣" @@ -161311,6 +166767,10 @@ msgstr "維他命B12" msgid "Vitamin C" msgstr "維他命C" +#: lang/json/vitamin_from_json.py +msgid "Toxins" +msgstr "" + #: src/action.cpp src/input.cpp msgid "Press " msgstr "按 " @@ -161432,8 +166892,8 @@ msgstr "你用精密的外科等級手術刀系統解剖屍體。" #: src/activity_handlers.cpp msgid "" -"You need to suspend this corpse to butcher it. While you have a rope to lift" -" the corpse, there is no tree nearby to hang it from." +"You need to suspend this corpse to butcher it. While you have a rope to " +"lift the corpse, there is no tree nearby to hang it from." msgstr "" #: src/activity_handlers.cpp @@ -161446,8 +166906,8 @@ msgstr "" #: src/activity_handlers.cpp msgid "" "To perform a full butchery on a corpse this big, you need a table nearby or " -"something else with a flat surface. A leather tarp spread out on the ground " -"could suffice." +"something else with a flat surface. A leather tarp spread out on the ground" +" could suffice." msgstr "" #: src/activity_handlers.cpp @@ -161754,8 +167214,8 @@ msgstr "你切開了屍體以防止它再次攻擊, 但你不肯定這有沒有 #. ~ Sound of a Pickaxe at work! #: src/activity_handlers.cpp -msgid "CHNK! CHNK! CHNK!" -msgstr "鏘! 鏘! 鏘!" +msgid "CHNK! CHNK! CHNK!" +msgstr "鏘!鏘!鏘!" #: src/activity_handlers.cpp msgid "You finish digging." @@ -161800,7 +167260,7 @@ msgstr "你把彈藥裝入了 %s。" msgid "You refill the %s." msgstr "你裝填了 %s。" -#: src/activity_handlers.cpp +#: src/activity_handlers.cpp src/bionics.cpp msgid "There's nothing to light there." msgstr "這裡沒有能點燃的東西。" @@ -161816,6 +167276,16 @@ msgstr "你失去了你用來生火的這項道具。" msgid "There is not enough sunlight to start a fire now. You stop trying." msgstr "現在沒有足夠的陽光來聚焦生火了。你停止嘗試。" +#: src/activity_handlers.cpp +#, c-format +msgid "You learn a little about the spell : %s" +msgstr "" + +#: src/activity_handlers.cpp src/character_martial_arts.cpp +#, c-format +msgid "You learn %s." +msgstr "你學習 %s。" + #: src/activity_handlers.cpp #, c-format msgid "You finish training %s to level %d." @@ -161826,11 +167296,6 @@ msgstr "你完成 %s 的訓練, 達到等級 %d。" msgid "You get some training in %s." msgstr "你進行了一些 %s 的訓練" -#: src/activity_handlers.cpp -#, c-format -msgid "You learn %s." -msgstr "你學習 %s。" - #: src/activity_handlers.cpp msgid "You've charged the battery completely." msgstr "你已經把電池充滿電了。" @@ -161946,15 +167411,22 @@ msgstr "傷害機率:%.1f%%" msgid "Your %s is already fully repaired." msgstr "你的 %s 已經是完全修復了。" -#: src/activity_handlers.cpp src/player.cpp -#, c-format -msgid "You are currently unable to mend the %s." -msgstr "你目前無法修補 %s。" +#: src/activity_handlers.cpp +msgid "You defrost the food, but don't heat it up, since you enjoy it cold." +msgstr "" + +#: src/activity_handlers.cpp +msgid "You defrost and heat up the food." +msgstr "你解凍並加熱了食物。" + +#: src/activity_handlers.cpp +msgid "You heat up the food." +msgstr "你加熱了食物。" #: src/activity_handlers.cpp #, c-format -msgid "You successfully mended the %s." -msgstr "你成功地修補了 %s。" +msgid "You are currently unable to mend the %s." +msgstr "你目前無法修補 %s。" #: src/activity_handlers.cpp #, c-format @@ -162010,10 +167482,6 @@ msgstr "你覺得有東西拉扯魚線!" msgid "You finish fishing" msgstr "你釣完了" -#: src/activity_handlers.cpp -msgid "This training is exhausting. Time to rest." -msgstr "這項訓練令人筋疲力盡。該休息了。" - #: src/activity_handlers.cpp msgid "You finish reading." msgstr "你結束閱讀了。" @@ -162024,7 +167492,7 @@ msgstr "你結束等待了。" #: src/activity_handlers.cpp #, c-format -msgid "%s finishes with you..." +msgid "%s finishes with you…" msgstr "%s 與你一同完成…" #: src/activity_handlers.cpp @@ -162041,7 +167509,7 @@ msgid "%s finishes chatting with you." msgstr "%s結束與你閒聊。" #: src/activity_handlers.cpp -msgid "You toss and turn..." +msgid "You toss and turn…" msgstr "你輾轉反側…" #: src/activity_handlers.cpp @@ -162149,8 +167617,8 @@ msgid "" msgstr "全自動外科醫生生在接下來的程序中不規則地移動著,並沒有正確地縫合 的傷口。" #: src/activity_handlers.cpp src/player_hardcoded_effects.cpp -msgid "You try to sleep, but can't..." -msgstr "你試著睡覺, 但睡不著…" +msgid "You try to sleep, but can't…" +msgstr "你試著睡覺,但睡不著…" #: src/activity_handlers.cpp msgid "" @@ -162332,8 +167800,8 @@ msgid "You planted all seeds you could." msgstr "你盡可能種植了所有種子。" #: src/activity_handlers.cpp -msgid "Target lost. IFF override failed." -msgstr "目標遺失。敵我識別覆寫失敗。" +msgid "Target lost. IFF override failed." +msgstr "目標消失。敵我識別覆寫失敗。" #: src/activity_handlers.cpp #, c-format @@ -162351,12 +167819,12 @@ msgid "The %s short circuits as you attempt to reprogram it!" msgstr "你嘗試重新編譯時造成 %s 短路了!" #: src/activity_handlers.cpp -msgid "...and turns friendly!" -msgstr "… 變友善了!" +msgid "…and turns friendly!" +msgstr "… 變友善了!" #: src/activity_handlers.cpp -msgid "...but the robot refuses to acknowledge you as an ally!" -msgstr "… 但這機器人拒絕將你辨識為盟友!" +msgid "…but the robot refuses to acknowledge you as an ally!" +msgstr "… 但這機器人拒絕將你辨識為盟友!" #: src/activity_handlers.cpp msgid "The ancient tree spirits answer your call." @@ -162423,8 +167891,8 @@ msgid "It's too dark to read." msgstr "太暗了,沒辦法閱讀!" #: src/activity_handlers.cpp -msgid "...you finally find the memory banks." -msgstr "......你終於找到了記憶庫。" +msgid "…you finally find the memory banks." +msgstr "… 你終於找到了記憶庫。" #: src/activity_handlers.cpp msgid "The kit makes a copy of the data inside the bionic." @@ -162587,6 +168055,10 @@ msgstr "你清洗了你的物品。" msgid "The pet has moved somewhere else." msgstr "寵物移動到別處了。" +#: src/activity_item_handling.cpp +msgid "Moving cancelled auto-pickup." +msgstr "移動取消了自動拾取。" + #: src/activity_item_handling.cpp src/npcmove.cpp #, c-format msgid "%1$s picks up a %2$s." @@ -162603,7 +168075,7 @@ msgstr "你把原木切成了木板。" #: src/activity_item_handling.cpp #, c-format -msgid "%s can't reach the source tile. Try to sort out loot without a cart." +msgid "%s can't reach the source tile. Try to sort out loot without a cart." msgstr "%s無法拿到物品。請試著不使用購物車來整理物品。" #: src/activity_item_handling.cpp @@ -162649,8 +168121,8 @@ msgid "You want some caffeine." msgstr "你想要攝取咖啡因。" #: src/addiction.cpp -msgid "Your hands start shaking... you need it bad!" -msgstr "你的手掌開始顫抖… 你非常的想要咖啡因!" +msgid "Your hands start shaking… you need it bad!" +msgstr "你的手掌開始顫抖… 你非常需要它!" #: src/addiction.cpp msgid "You could use a drink." @@ -162661,15 +168133,15 @@ msgid "You could use some diazepam." msgstr "你想要來點安定劑。" #: src/addiction.cpp -msgid "Your hands start shaking... you need a drink bad!" -msgstr "你的手掌開始顫抖… 你非常需要喝一杯!" +msgid "Your hands start shaking… you need a drink bad!" +msgstr "你的手掌開始顫抖… 你非常需要喝一杯!" #: src/addiction.cpp -msgid "You're shaking... you need some diazepam!" -msgstr "你開始顫抖… 你需要一些安定劑!" +msgid "You're shaking… you need some diazepam!" +msgstr "你開始顫抖… 你需要一些安定劑!" #: src/addiction.cpp -msgid "Your hands start shaking... you need some painkillers." +msgid "Your hands start shaking… you need some painkillers." msgstr "你的手掌開始顫抖… 你需要一些止痛藥。" #: src/addiction.cpp @@ -162681,7 +168153,7 @@ msgid "You feel depressed. Speed would help." msgstr "你出現憂鬱症狀。興奮劑可改善這情形。" #: src/addiction.cpp -msgid "Your hands start shaking... you need a pick-me-up." +msgid "Your hands start shaking… you need a pick-me-up." msgstr "你的手掌開始顫抖… 你需要提神的東西。" #: src/addiction.cpp @@ -162714,7 +168186,7 @@ msgid "You haven't had any mutagen lately." msgstr "你最近都沒用到突變劑。" #: src/addiction.cpp -msgid "You could use some new parts..." +msgid "You could use some new parts…" msgstr "你想要長出新部位…" #: src/addiction.cpp @@ -162870,16 +168342,12 @@ msgstr "" "移動速度下降。憂鬱。免疫力低下。" #: src/addiction.cpp -msgid "Perception - 1; Intelligence - 1; Frequent cravings." +msgid "Perception - 1; Intelligence - 1; Frequent cravings." msgstr "" -"感知 -1 智力 -1\n" -"頻繁犯癮。" #: src/addiction.cpp -msgid "Perception - 2; Intelligence - 2; Frequent cravings." +msgid "Perception - 2; Intelligence - 2; Frequent cravings." msgstr "" -"感知 -2 智力 -2\n" -"頻繁犯癮。" #: src/addiction.cpp msgid "" @@ -163063,38 +168531,6 @@ msgstr "來源 數量 重量 體積" msgid "Name (charges)" msgstr "名稱 (含量)" -#: src/advanced_inv.cpp -msgid "Not dragging any vehicle!" -msgstr "沒有拖行中的車輛!" - -#: src/advanced_inv.cpp -msgid "No dragged vehicle!" -msgstr "沒有拖行中的車輛!" - -#: src/advanced_inv.cpp -msgid "Invalid container!" -msgstr "無效的容器!" - -#: src/advanced_inv.cpp -msgid "All 9 squares" -msgstr "全九宮格" - -#: src/advanced_inv.cpp -msgid " FIRE" -msgstr " 火焰" - -#: src/advanced_inv.cpp -msgid " DANGER" -msgstr " 危險" - -#: src/advanced_inv.cpp -msgid " TRAP" -msgstr " 陷阱" - -#: src/advanced_inv.cpp -msgid " WATER" -msgstr " 水域" - #: src/advanced_inv.cpp #, c-format msgid "[<] page %1$d of %2$d [>]" @@ -163114,8 +168550,8 @@ msgid "[R]eset" msgstr "[R] 重置" #: src/advanced_inv.cpp -msgid "You look at the items, then your clothes, and scratch your head..." -msgstr "你看了看那堆物品, 再看了看你的服裝, 接著搔了搔你的頭…" +msgid "You look at the items, then your clothes, and scratch your head…" +msgstr "你看了看那堆物品,再看了看你的服裝,接著搔了搔你的頭…" #: src/advanced_inv.cpp msgid "There are no items to be moved!" @@ -163138,7 +168574,7 @@ msgid "Skipping filled buckets to avoid spilling their contents." msgstr "略過裝滿的水桶以避免倒掉裡面的東西。" #: src/advanced_inv.cpp -msgid "Sort by... " +msgid "Sort by…" msgstr "排序模式…" #: src/advanced_inv.cpp @@ -163204,24 +168640,56 @@ msgstr "這個東西太重了!" #: src/advanced_inv.cpp #, c-format -msgid "How many do you want to move? [Have %d] (0 to cancel)" -msgstr "你要移動多少? [有 %d] (0 為取消)" +msgid "How many do you want to move? [Have %d] (0 to cancel)" +msgstr "你要移動多少? [有 %d] (0 為取消)" #: src/advanced_inv.cpp #, c-format -msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" -msgstr "目標地區只能容納 %d! 移動多少? [有 %d] (0 為取消)" +msgid "Destination can only hold %d! Move how many? [Have %d] (0 to cancel)" +msgstr "目標地區只能容納 %d!移動多少? [有 %d] (0 為取消)" #: src/advanced_inv.cpp msgid "The destination is already full!" msgstr "目標地區已經滿了!" -#: src/advanced_inv.cpp +#: src/advanced_inv_area.cpp +msgid "Not dragging any vehicle!" +msgstr "沒有拖行中的車輛!" + +#: src/advanced_inv_area.cpp +msgid "No dragged vehicle!" +msgstr "沒有拖行中的車輛!" + +#: src/advanced_inv_area.cpp +msgid "Invalid container!" +msgstr "無效的容器!" + +#: src/advanced_inv_area.cpp +msgid "All 9 squares" +msgstr "全九宮格" + +#: src/advanced_inv_area.cpp +msgid " FIRE" +msgstr " 火焰" + +#: src/advanced_inv_area.cpp +msgid " DANGER" +msgstr " 危險" + +#: src/advanced_inv_area.cpp +msgid " TRAP" +msgstr " 陷阱" + +#: src/advanced_inv_area.cpp +msgid " WATER" +msgstr " 水域" + +#: src/advanced_inv_area.cpp msgid "Invalid container" msgstr "無效的容器" #: src/animation.cpp -msgid "Hang on a bit..." +msgid "Hang on a bit…" msgstr "請稍候…" #: src/armor_layers.cpp @@ -163341,6 +168809,14 @@ msgstr "鈍擊: " msgid "Cut:" msgstr "砍劈: " +#: src/armor_layers.cpp +msgid "Acid:" +msgstr "防酸:" + +#: src/armor_layers.cpp +msgid "Fire:" +msgstr "防火:" + #: src/armor_layers.cpp msgid "Environmental:" msgstr "環境危害: " @@ -163409,8 +168885,8 @@ msgstr "排序裝備" #: src/armor_layers.cpp #, c-format -msgid "Press %s for help. Press %s to change keybindings." -msgstr "按 %s 顯示使用說明。按 %s 檢視熱鍵設定。" +msgid "Press %s for help. Press %s to change keybindings." +msgstr "按 %s 顯示說明。按 %s 更改熱鍵綁定。" #: src/armor_layers.cpp msgid "(Innermost)" @@ -163474,26 +168950,25 @@ msgid "" "[%s] to equip a new item.\n" "[%s] to equip a new item at the currently selected position.\n" "[%s] to remove selected armor from oneself.\n" -" \n" +"\n" "[Encumbrance and Warmth] explanation:\n" "The first number is the summed encumbrance from all clothing on that bodypart.\n" "The second number is an additional encumbrance penalty caused by wearing multiple items on one of the bodypart's layers or wearing items outside of other items they would normally be work beneath (e.g. a shirt over a backpack).\n" "The sum of these values is the effective encumbrance value your character has for that bodypart." msgstr "" -"使用方向鍵或數字鍵盤來瀏覽左方列表。\n" -"[%s] 選擇裝備以重新排序。\n" -"[%s] / [%s] 捲動右方列表。\n" -"[%s] 自動重定裝備代碼。\n" -"[%s] 把裝備穿到另一側。\n" -"[%s] 自動排序所有裝備。\n" -"[%s] 從物品欄穿戴裝備。\n" -"[%s] 從物品欄穿戴裝備到選中的位置。\n" -"[%s] 脫掉選中的裝備。\n" -" \n" -"關於 \"累贅與保暖\":\n" +"使用方向鍵或數字鍵盤來瀏覽左方列表。\n" +"[%s] 選擇裝備以重新排序。\n" +"[%s] / [%s] 捲動右方列表。\n" +"[%s] 自動重定裝備代碼。\n" +"[%s] 把裝備穿到另一側。\n" +"[%s] 自動排序所有裝備。\n" +"[%s] 從物品欄穿戴裝備。\n" +"[%s] 從物品欄穿戴裝備到選中的位置。\n" +"[%s] 脫掉選中的裝備。\n" " \n" +"關於 [累贅與保暖]:\n" "第一個數字是該身體部位的所有裝備的累贅總和。\n" -"第二個數字是該身體部位的額外累贅懲罰。來自於在相同部位的相同層級穿戴多件物品, 或是把通常穿在裡面的物品穿在其他裝備外面 (例如: 把上衣穿在背包外面)。\n" +"第二個數字是該身體部位的額外累贅懲罰。來自於在相同部位的相同層級穿戴多件物品,或是把通常穿在裡面的物品穿在其他裝備外面 (例如: 把上衣穿在背包外面)。\n" "這兩個數值的總和就是該身體部位的有效累贅值。" #: src/artifact.cpp @@ -164038,15 +169513,15 @@ msgstr "%s 痛苦" #, c-format msgid "" "The %s is somehow vaguely dissatisfied even though it doesn't want anything." -" Seeing this is a bug!" -msgstr "即使它不需要任何東西, %s 在某種程度上仍然無法滿足。看到這訊息是程式出錯了!" +" Seeing this is a bug!" +msgstr "即使它不需要任何東西,%s 在某種程度上仍然無法滿足。看到這訊息是程式出錯了!" #: src/artifact.cpp #, c-format msgid "" -"The %s is satisfied, as it should be because it has no standards. Seeing " +"The %s is satisfied, as it should be because it has no standards. Seeing " "this is a bug!" -msgstr "%s 應該滿足了, 因為它沒有標準。看到這訊息是程式出錯了!" +msgstr "%s 應該滿足了,因為它沒有標準。看到這訊息是程式出錯了!" #: src/artifact.cpp #, c-format @@ -164071,7 +169546,7 @@ msgstr "" #: src/artifact.cpp #, c-format msgid "" -"The %s is confused to find you dreaming while awake. Seeing this is a bug!" +"The %s is confused to find you dreaming while awake. Seeing this is a bug!" msgstr "" #: src/artifact.cpp @@ -164302,32 +169777,31 @@ msgstr "包含" #: src/auto_pickup.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" -" \n" +"* is used as a Wildcard. A few Examples:\n" +"\n" "wooden arrow matches the itemname exactly\n" "wooden ar* matches items beginning with wood ar\n" "*rrow matches items ending with rrow\n" "*avy fle*fi*arrow multiple * are allowed\n" "heAVY*woOD*arrOW case insensitive search\n" -" \n" +"\n" "Pickup based on item materials:\n" "m:kevlar matches items made of kevlar\n" "M:copper matches items made purely of copper\n" "M:steel,iron multiple materials allowed (OR search)" msgstr "" -"* 是一個萬用字元。舉例如下:\n" +"* 是一個萬用字元。舉例如下:\n" " \n" -"wooden arrow 符合名稱完全一樣的物品\n" -"wooden ar* 符合名稱以 wood ar 開頭的物品\n" -"*rrow 符合名稱以 rrow 結尾的物品\n" -"*avy fle*fi*arrow 允許使用多個 * 符號\n" +"木製箭矢 符合名稱完全一樣的物品\n" +"木製* 符合名稱以 [木製] 開頭的物品\n" +"*箭 符合名稱以 [箭] 結尾的物品\n" +"*製*錐*箭 允許使用多個 * 符號\n" "heAVY*woOD*arrOW 搜尋不區分大小寫\n" " \n" -"使用特殊前綴符號以基於物品材質來撿取:\n" -" \n" -"m:凱夫勒 符合由凱夫勒製成的物品\n" +"使用特殊前綴符號以基於物品材質來撿取:\n" +"m:凱夫勒 符合由凱夫勒製成的物品\n" "M:銅 符合完全由銅製成的物品\n" -"M:鋼,鐵 符合完全由鋼或完全由鐵製成的物品" +"M:鋼,鐵 允許多重材質(或搜尋)" #: src/auto_pickup.cpp msgid "Pickup Rule:" @@ -164356,8 +169830,8 @@ msgid "Won't display content or suffix matches" msgstr "不會顯示符合的內容物與候綴" #: src/auto_pickup.cpp -msgid "Autopickup is not enabled in the options. Enable it now?" -msgstr "自動撿取功能沒有啟用。現在啟用?" +msgid "Autopickup is not enabled in the options. Enable it now?" +msgstr "自動撿取功能沒有啟用。現在啟用?" #: src/auto_pickup.cpp msgid "autopickup configuration" @@ -164393,7 +169867,7 @@ msgstr "學這幹嘛? (你的士氣太低! )" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. You have %d" +msgid "%s %d needed to understand. You have %d" msgstr "需要 %s %d 才能理解,你目前的等級是 %d" #: src/avatar.cpp src/iuse.cpp @@ -164419,7 +169893,7 @@ msgstr "%s 是文盲!" #: src/avatar.cpp #, c-format -msgid "%s %d needed to understand. %s has %d" +msgid "%s %d needed to understand. %s has %d" msgstr "需要 %s %d 才能理解,%s 目前的等級是 %d" #: src/avatar.cpp @@ -164444,7 +169918,7 @@ msgstr "%s 的士氣太低了!" #: src/avatar.cpp #, c-format -msgid "%s reads aloud..." +msgid "%s reads aloud…" msgstr "%s 在朗讀…" #: src/avatar.cpp @@ -164537,8 +170011,8 @@ msgid "Now reading %s, %s to stop early." msgstr "正在閱讀 %s, %s 停止。" #: src/avatar.cpp -msgid "You read aloud..." -msgstr "你大聲朗讀…" +msgid "You read aloud…" +msgstr "你在朗讀..." #: src/avatar.cpp #, c-format @@ -164563,16 +170037,16 @@ msgstr "%s 與你一同為樂趣閱讀。" #: src/avatar.cpp #, c-format msgid "" -"It's difficult for %s to see fine details right now. Reading will take " +"It's difficult for %s to see fine details right now. Reading will take " "longer than usual." msgstr "%s 現在很難看清書裡的內容。閱讀時間會比平常還久。" #: src/avatar.cpp #, c-format msgid "" -"This book is too complex for %s to easily understand. It will take longer to" -" read." -msgstr "這本書對 %s 來說太難以理解了, 他需要更長時間來閱讀。" +"This book is too complex for %s to easily understand. It will take longer " +"to read." +msgstr "這本書對 %s 來說太難以理解了,他需要更長時間來閱讀。" #: src/avatar.cpp msgid "You are too exhausted to train martial arts." @@ -164651,8 +170125,8 @@ msgstr "%s 提昇了 %s 的等級。" #: src/avatar.cpp #, c-format -msgid "You learn a little about %s! (%d%%)" -msgstr "你學到了有關 %s 的知識! (%d%%)" +msgid "You learn a little about %s! (%d%%)" +msgstr "你學到了有關 %s 的知識!(%d%%)" #: src/avatar.cpp #, c-format @@ -164680,7 +170154,7 @@ msgid "Rereading the %s isn't as much fun for %s." msgstr "再讀一次 %s 對 %s 來說不是那麼有趣。" #: src/avatar.cpp -msgid "Maybe you should find something new to read..." +msgid "Maybe you should find something new to read…" msgstr "你也許該找點新的閱讀材料…" #: src/avatar.cpp @@ -164715,11 +170189,11 @@ msgid "You train for a while." msgstr "你訓練了一會兒。" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through your internal alarm..." +msgid "It looks like you've slept through your internal alarm…" msgstr "看來你睡過頭了…" #: src/avatar.cpp src/player_hardcoded_effects.cpp -msgid "It looks like you've slept through the alarm..." +msgid "It looks like you've slept through the alarm…" msgstr "看來你睡過頭了…" #: src/avatar.cpp @@ -164727,8 +170201,8 @@ msgid "You retched, but your stomach is empty." msgstr "你乾嘔, 但你的胃是空的。" #: src/avatar.cpp -msgid "You lost your book! You stop reading." -msgstr "你失去了你的書! 你停止閱讀。" +msgid "You lost your book! You stop reading." +msgstr "你失去了你的書!你停止閱讀。" #: src/avatar.cpp msgid "Your thick scales get in the way." @@ -164797,19 +170271,79 @@ msgstr "無效的屬性" #: src/avatar.cpp #, c-format -msgid "Are you sure you want to raise %s? %d points available." +msgid "Are you sure you want to raise %s? %d points available." msgstr "你確定要提高%s屬性嗎?還剩%d點可用。" +#: src/avatar.cpp +msgid "You set your mech's leg power to a loping fast walk." +msgstr "" + +#: src/avatar.cpp +msgid "You nudge your steed into a steady trot." +msgstr "你輕推坐騎讓它穩定地快步走。" + +#: src/avatar.cpp +msgid "You start walking." +msgstr "你開始步行。" + +#: src/avatar.cpp +msgid "You set the power of your mech's leg servos to maximum." +msgstr "" + +#: src/avatar.cpp +msgid "You spur your steed into a gallop." +msgstr "你鞭策你的坐騎開始奔馳。" + +#: src/avatar.cpp +msgid "You start running." +msgstr "你開始跑步。" + +#: src/avatar.cpp +msgid "Your steed is too tired to go faster." +msgstr "你的坐騎太累了,無法走得更快。" + +#: src/avatar.cpp +msgid "You need two functional legs to run." +msgstr "你需要有雙健全的腳才能跑步。" + +#: src/avatar.cpp +msgid "You're too tired to run." +msgstr "你累到無法繼續跑。" + +#: src/avatar.cpp +msgid "You reduce the power of your mech's leg servos to minimum." +msgstr "" + +#: src/avatar.cpp +msgid "You slow your steed to a walk." +msgstr "你放慢坐騎的速度為步行。" + +#: src/avatar.cpp +msgid "You start crouching." +msgstr "你開始蹲伏。" + +#. ~ %1$s: weapon name, %2$s: holster name +#: src/avatar.cpp src/game.cpp +#, c-format +msgctxt "holster" +msgid "Draw %1$s from %2$s?" +msgstr "拔出 %1$s 從 %2$s?" + +#: src/avatar.cpp src/monexamine.cpp +#, c-format +msgid "What to do with your %s?" +msgstr "要對你的 %s 做什麼?" + #: src/avatar_action.cpp msgid "You can't move while in your shell. Deactivate it to go mobile." msgstr "你在殼中的時候無法移動。取消之後才能移動。" #: src/avatar_action.cpp -msgid "You cannot pull yourself away from the faultline..." +msgid "You cannot pull yourself away from the faultline…" msgstr "你無法脫離斷層…" #: src/avatar_action.cpp -msgid "Monster in the way. Auto-move canceled." +msgid "Monster in the way. Auto-move canceled." msgstr "怪物擋路。自動移動取消。" #: src/avatar_action.cpp @@ -164821,7 +170355,7 @@ msgid "Your willpower asserts itself, and so do you!" msgstr "你的意志力決定了你的力量!" #: src/avatar_action.cpp src/handle_action.cpp src/handle_action.cpp -msgid "You're too pacified to strike anything..." +msgid "You're too pacified to strike anything…" msgstr "你太平靜無法攻擊任何東西…" #: src/avatar_action.cpp @@ -164903,8 +170437,8 @@ msgstr "你像石沈大海!" #: src/avatar_action.cpp #, c-format -msgid "You need to breathe! (%s to surface.)" -msgstr "你需要空氣! (按 %s 浮出水面)" +msgid "You need to breathe! (%s to surface.)" +msgstr "你需要空氣!(按 %s 浮出水面。)" #: src/avatar_action.cpp msgid "You need to breathe but you can't swim! Get to dry land, quick!" @@ -164915,7 +170449,7 @@ msgid "You cannot board a vehicle while mounted." msgstr "騎乘時無法登上車輛。" #: src/avatar_action.cpp -msgid "No hostile creature in reach. Waiting a turn." +msgid "No hostile creature in reach. Waiting a turn." msgstr "範圍內沒有敵對生物。等待一回合。" #: src/avatar_action.cpp @@ -164923,8 +170457,8 @@ msgid "Your eyes steel, and you raise your weapon!" msgstr "你目光如鐵, 你舉起了你的武器!" #: src/avatar_action.cpp -msgid "You can't fire your weapon, it's too heavy..." -msgstr "你無法用你的武器射擊, 它太重了…" +msgid "You can't fire your weapon, it's too heavy…" +msgstr "你無法用你的武器射擊,它太重了…" #: src/avatar_action.cpp #, c-format @@ -164932,12 +170466,14 @@ msgid "The %s must be attached to a gun, it can not be fired separately." msgstr "這個 %s 必須裝在槍上, 不能夠直接拿來射擊。" #: src/avatar_action.cpp -msgid "You can no longer fire." -msgstr "你無法再射擊。" +#, c-format +msgid "You can no longer fire your %s." +msgstr "" #: src/avatar_action.cpp -msgid "You need a free arm to drive!" -msgstr "你需要空出一隻手來駕駛!" +#, c-format +msgid "You can't use your %s while driving!" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -164945,8 +170481,9 @@ msgid "You need two free hands to fire your %s." msgstr "你需要雙手並用才能發射 %s" #: src/avatar_action.cpp -msgid "You need to reload!" -msgstr "你必須重新裝填!" +#, c-format +msgid "Your %s is empty!" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -164957,18 +170494,20 @@ msgstr "你的 %s 需要 %i 電量才能發射!" #, c-format msgid "" "You need a UPS with at least %d charges or an advanced UPS with at least %d " -"charges to fire that!" -msgstr "你需要一個至少 %d 電量的 UPS 或是 %d 電量的高級 UPS 才能射擊!" +"charges to fire the %s!" +msgstr "" #: src/avatar_action.cpp -msgid "Your mech has an empty battery, its weapon will not fire." +#, c-format +msgid "Your mech has an empty battery, its %s will not fire." msgstr "" #: src/avatar_action.cpp +#, c-format msgid "" -"You must stand near acceptable terrain or furniture to use this weapon. A " +"You must stand near acceptable terrain or furniture to use this %s. A " "table, a mound of dirt, a broken window, etc." -msgstr "你必須站在適合的地形或是家具附近才能使用這個武器。桌子、泥土堆、破窗戶等等。" +msgstr "" #: src/avatar_action.cpp #, c-format @@ -165014,7 +170553,7 @@ msgid "You concentrate mightily, and your body obeys!" msgstr "你聚精會神, 你的身體開始服從大腦了!" #: src/avatar_action.cpp -msgid "You can't muster up the effort to throw anything..." +msgid "You can't muster up the effort to throw anything…" msgstr "你無法提起力氣投擲東西…" #: src/ballistics.cpp @@ -165208,6 +170747,16 @@ msgstr "你的 %s 自動關閉了。" msgid "Your %s automatically turns off." msgstr "你的 %s 自動關閉了。" +#: src/bionics.cpp +#, c-format +msgid "Your %s does not have sufficient humidity to function." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency will be reduced." +msgstr "" + #: src/bionics.cpp msgid "You change your mind and turn it off." msgstr "你改變主意並把它關閉了。" @@ -165325,10 +170874,6 @@ msgstr "血液測試結果" msgid "No effects." msgstr "沒有影響。" -#: src/bionics.cpp -msgid "There was not enough moisture in the air from which to draw water!" -msgstr "空氣中沒有足夠的濕氣來提取水分!" - #: src/bionics.cpp msgid "Your torsion ratchet locks onto your joints." msgstr "" @@ -165341,10 +170886,6 @@ msgstr "" msgid "Start a fire where?" msgstr "在哪邊生火?" -#: src/bionics.cpp src/iexamine.cpp -msgid "You can't light a fire there." -msgstr "你不能在那裡生火。" - #: src/bionics.cpp #, c-format msgid "Your radiation level: %d" @@ -165519,6 +171060,20 @@ msgstr "你的 %s 關閉了,以避免浪費燃料。" msgid "'s %s turns off to not waste fuel." msgstr "的 %s 關閉了,以避免浪費燃料。" +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, your %s shuts down to preserve" +" your health." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "" +"Stored calories are below the safe threshold, 's %s shuts down to " +"preserve their health." +msgstr "" + #: src/bionics.cpp #, c-format msgid "Your %s runs out of fuel and turn off." @@ -165547,6 +171102,21 @@ msgstr "你的 %s 失去連線並關閉了。" msgid "You feel your throat open up and air filling your lungs!" msgstr "你感覺到呼吸道通暢,空氣充滿你的肺部!" +#: src/bionics.cpp +#, c-format +msgid "There is not enough humidity for your %s to function." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "Your %s issues a low humidity warning. Efficiency is reduced." +msgstr "" + +#: src/bionics.cpp +#, c-format +msgid "You are properly hydrated. Your %s chirps happily." +msgstr "" + #: src/bionics.cpp msgid "The removal fails without incident." msgstr "移除失敗但沒有其他附加損失。" @@ -165608,7 +171178,7 @@ msgstr " 準備進行手術。" #: src/bionics.cpp #, c-format -msgid "A lifetime of augmentation has taught %s a thing or two..." +msgid "A lifetime of augmentation has taught %s a thing or two…" msgstr "畢生都在進行強化,這讓 %s 學會了一兩件事..." #: src/bionics.cpp @@ -165623,8 +171193,8 @@ msgstr "移除 %s 的手臂核融合砲後只會讓 %s 留下沒用的殘肢。" #: src/bionics.cpp msgid "" -"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" -msgstr "警告: 移除反應爐有可能會殘留放射性物質! 仍要移除?" +"WARNING: Removing a reactor may leave radioactive material! Remove anyway?" +msgstr "警告:移除反應爐有可能會殘留放射性物質!仍要移除?" #: src/bionics.cpp #, c-format @@ -165642,12 +171212,12 @@ msgstr "自動對焦透鏡已經成為 %s 眼睛的一部分。移除它們會 msgid "Are you sure you wish to uninstall the selected bionic?" msgstr "你確定你想要移除選中的生化插件嗎?" -#: src/bionics.cpp +#: src/bionics.cpp src/game.cpp #, c-format msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " +"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " "anyway?" -msgstr "警告: 有 %i% 的機率會 *嚴重* 傷害所有身體部位! 仍要繼續?" +msgstr "" #: src/bionics.cpp msgid "Your parts are jiggled back into their familiar places." @@ -165718,8 +171288,8 @@ msgstr "你確定你想要安裝選中的生化插件嗎?" #, c-format msgid "" "WARNING: %i percent chance of failure that may result in damage, pain, or a " -"faulty installation! Continue anyway?" -msgstr "警告: 有 %i% 的機率會導致損壞、疼痛或錯誤的安裝! 仍要繼續?" +"faulty installation! Continue anyway?" +msgstr "警告:有 %i %的機率會導致傷害、疼痛或錯誤的安裝!仍要繼續?" #. ~ %1$s - name of the bionic to be upgraded (inferior), %2$s - name of the #. upgraded bionic (superior). @@ -165756,7 +171326,7 @@ msgstr "這次安裝故障了!" #: src/bionics.cpp #, c-format msgid "%s lose power capacity!" -msgstr "" +msgstr "%s 失去了能量儲存空間!" #: src/bionics.cpp #, c-format @@ -165806,11 +171376,11 @@ msgstr "你坐到適當的位置,把你的右腕放進沙發的皮帶裡。" #: src/bionics.cpp msgid "" " settles into position, sliding their wrist into the couch's strap." -msgstr "" +msgstr " 坐到適當的位置,把手腕滑入椅子的束帶裡。" #: src/bionics.cpp msgid "You feel excited as the operation starts." -msgstr "" +msgstr "當開始操作時,你感到興奮。" #: src/bionics.cpp msgid "" @@ -165836,11 +171406,31 @@ msgstr "當你開始失去意識時,你對無法享受手術過程感到可惜 msgid "Available Fuel: " msgstr "可用燃料:" +#: src/bionics_ui.cpp +msgctxt "decimal separator" +msgid "." +msgstr "。" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: kilojoule" +msgid "kJ" +msgstr "千焦" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: joule" +msgid "J" +msgstr "焦耳" + +#: src/bionics_ui.cpp src/panels.cpp src/units.h +msgctxt "energy unit: millijoule" +msgid "mJ" +msgstr "毫焦" + #: src/bionics_ui.cpp #, c-format msgid "" -"Bionic Power: %i/%i" -msgstr "生化能量: %i/%i" +"Bionic Power: %s/%ikJ" +msgstr "生化能量:%s/%i千焦" #: src/bionics_ui.cpp msgid "" @@ -165870,23 +171460,23 @@ msgstr "" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ act" -msgstr "啟動:%d 千焦" +msgid "%s act" +msgstr "%s 啟動" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ deact" -msgstr "停用:%d 千焦" +msgid "%s deact" +msgstr "%s 關閉" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/turn" -msgstr "維持:%d 千焦/每回合" +msgid "%s/turn" +msgstr "%s/每回合" #: src/bionics_ui.cpp #, c-format -msgid "%d kJ/%d turns" -msgstr "維持:%d 千焦/%d 回合" +msgid "%s/%d turns" +msgstr "%s/%d回合 " #: src/bionics_ui.cpp src/handle_action.cpp msgid "OFF" @@ -165933,17 +171523,17 @@ msgstr "沒有安裝任何被動生化插件。" #: src/bionics_ui.cpp #, c-format -msgid "%s; enter new letter. Space to clear. Esc to cancel." -msgstr "輸入新代碼: %s (按空白鍵清除, 按 Esc 取消)。" +msgid "%s; enter new letter. Space to clear. Esc to cancel." +msgstr "%s;輸入新字母。按 空白鍵 清除。按 ESC 取消。" #: src/bionics_ui.cpp #, c-format msgid "" -"Invalid bionic letter. Only those characters are valid:\n" +"Invalid bionic letter. Only those characters are valid:\n" "\n" "%s" msgstr "" -"無效的代碼。只有下列代碼有效:\n" +"無效的字母。只有這些字母有效:\n" "\n" "%s" @@ -165984,10 +171574,40 @@ msgstr "護甲穿透" msgid "Target armor multiplier" msgstr "目標護甲倍率" -#. ~ bash damage +80% of strength +#. ~ %1$s: damage type, %2$s: damage-related bonus name #: src/bonuses.cpp -msgid " of " -msgstr " " +#, c-format +msgctxt "type of damage" +msgid "%1$s %2$s" +msgstr "%1$s %2$s" + +#. ~ %1$s: bonus name, %2$d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%% of %3$s" +msgstr "* %1$s:%2$d%% %3$s" + +#. ~ %1$s: bonus name, %2$d: bonus percentage +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$d%%" +msgstr "* %1$s:%2$d%%" + +#. ~ %1$s: bonus name, %2$+d: bonus percentage, %3$s: stat name +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d%% of %3$s" +msgstr "* %1$s:%2$+d%% %3$s" + +#. ~ %1$s: bonus name, %2$+d: bonus value +#: src/bonuses.cpp +#, c-format +msgctxt "martial art bonus" +msgid "* %1$s: %2$+d" +msgstr "* %1$s:%2$+d" #: src/calendar.cpp msgid "forever" @@ -166264,9 +171884,13 @@ msgstr "金木水火土子丑寅卯辰巳午未申酉戌亥乾坤震兌坎離巽 #: src/character.cpp msgctxt "not possessive" -msgid "you" +msgid "You" msgstr "你" +#: src/character.cpp +msgid "Your" +msgstr "" + #: src/character.cpp msgid "your" msgstr "你的" @@ -166280,6 +171904,63 @@ msgstr "%s 的" msgid "armor" msgstr "裝甲" +#: src/character.cpp +#, c-format +msgid "You remove the %s's harness." +msgstr "你移除%s上的韁轡" + +#: src/character.cpp src/game.cpp +msgid "You let go of the grabbed object." +msgstr "" + +#: src/character.cpp +#, c-format +msgid "You climb on the %s." +msgstr "你爬上%s" + +#: src/character.cpp +#, c-format +msgid "You hear your %s whir to life." +msgstr "你聽到%s發出聲響活過來了。" + +#: src/character.cpp +msgid "You are ejected from your mech!" +msgstr "" + +#: src/character.cpp +msgid " is ejected from their mech!" +msgstr "" + +#: src/character.cpp +msgid "You fall off your mount!" +msgstr "你摔下坐騎!" + +#: src/character.cpp +msgid " falls off their mount!" +msgstr "摔下坐騎!" + +#: src/character.cpp src/trapfunc.cpp +msgid "You hurt yourself!" +msgstr "你傷到了自己!" + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Fell off a mount." +msgstr "摔下坐騎。" + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Fell off a mount." +msgstr "摔下坐騎。" + +#: src/character.cpp +msgid "Dismount where?" +msgstr "下馬到何處?" + +#: src/character.cpp +msgid "You cannot dismount there!" +msgstr "你無法下馬到那邊!" + #: src/character.cpp msgid "You struggle to stand." msgstr "你掙扎試著站起。" @@ -166456,17 +172137,22 @@ msgstr " 需要最少 %1$s 才能使用 %2$s。" #: src/character.cpp #, c-format msgid "You need at least %1$s to use this %2$s with your %3$s." -msgstr "" +msgstr "你需要最少 %1$s 才能以 %3$s 來使用 %2$s。" #: src/character.cpp #, c-format msgid " needs at least %1$s to use this %2$s with their %3$s." -msgstr "" +msgstr " 需要至少 %1$s 才能以 %3$s 來使用 %2$s 。" #: src/character.cpp msgid "Liquid from your inventory has leaked onto the ground." msgstr "你的物品欄中的液體流到了地面上。" +#: src/character.cpp +#, c-format +msgid "Your current health value is %d." +msgstr "你目前的健康值是 %d。" + #: src/character.cpp msgid "Parched" msgstr "脫水" @@ -166536,6 +172222,75 @@ msgstr "累得半死" msgid "Your %s bionic shorts out!" msgstr "" +#: src/character.cpp +#, c-format +msgid "Your %s will be frostnipped in the next few hours." +msgstr "你的 %s 在數小時後將會凍傷。" + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten within the hour!" +msgstr "你的 %s 在 1 小時內將會凍傷!" + +#: src/character.cpp +#, c-format +msgid "Your %s will be frostbitten any minute now!" +msgstr "你的 %s 隨時都可能被凍傷!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s beginning to go numb from the cold!" +msgstr "你覺得你的 %s 因寒冷開始變得麻木!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very cold." +msgstr "你覺得你的 %s 很冷。" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting chilly." +msgstr "你覺得你的 %s 冷颼颼。" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting red hot from the heat!" +msgstr "你感到你的 %s 因為高溫而變得紅腫!" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting very hot." +msgstr "你感到你的 %s 非常炎熱。" + +#. ~ %s is bodypart +#: src/character.cpp +#, c-format +msgid "You feel your %s getting warm." +msgstr "你覺得你的 %s 變得溫熱。" + +#: src/character.cpp +#, c-format +msgid "The wind is making your %s feel quite cold." +msgstr "風吹得你的 %s 發冷。" + +#: src/character.cpp +#, c-format +msgid "" +"The wind is very strong, you should find some more wind-resistant clothing " +"for your %s." +msgstr "風很強, 你應該要找一些更抗風的衣物來保護你的 %s。" + +#: src/character.cpp +#, c-format +msgid "" +"Your clothing is not providing enough protection from the wind for your %s!" +msgstr "你的衣物無法在風中為你的 %s 提供足夠的保護。" + #: src/character.cpp msgid "Left Arm" msgstr "左臂" @@ -166553,8 +172308,8 @@ msgid "Right Leg" msgstr "右腿" #: src/character.cpp -msgid "It is broken. It needs a splint or surgical attention." -msgstr "它斷了。它需要夾板或外科手術。" +msgid "It is broken. It needs a splint or surgical attention." +msgstr "它斷了。需要夾板或手術治療。" #: src/character.cpp #, c-format @@ -166599,8 +172354,8 @@ msgstr "這對清潔傷口沒有幫助。" #: src/character.cpp msgid "" -"It has a deep wound that looks infected. Antibiotics might be required." -msgstr "它看起來是一個感染的深層傷口。可能需要抗生素。" +"It has a deep wound that looks infected. Antibiotics might be required." +msgstr "傷口很深,看起來像是受感染了。可能需要抗生素。" #: src/character.cpp #, c-format @@ -166650,7 +172405,7 @@ msgstr "裡面還剩下一些!" #: src/character.cpp #, c-format msgid "Select target tank for %.1fL %s" -msgstr "" +msgstr "選擇目標油箱 %.1fL %s" #. ~ $1 - vehicle name, $2 - part name, $3 - liquid type #: src/character.cpp @@ -166700,8 +172455,8 @@ msgstr "健康" msgid "Big" msgstr "大塊頭" -#: src/character.cpp src/color.cpp src/color.cpp src/options.cpp -#: src/panels.cpp +#: src/character.cpp src/character_martial_arts.cpp src/color.cpp +#: src/options.cpp msgid "Normal" msgstr "正常" @@ -166805,6 +172560,30 @@ msgstr "" msgid "EXTRA_EXERCISE" msgstr "" +#: src/character.cpp +msgid "Your body strains under the weight!" +msgstr "你的身體被超重拖累!" + +#: src/character.cpp +#, c-format +msgid "Your %s needs %d charge from some UPS." +msgid_plural "Your %s needs %d charges from some UPS." +msgstr[0] "你的 %s 需要 %d 來自 UPS 的電量。" + +#: src/character.cpp +#, c-format +msgid "Your %s has %d charge but needs %d." +msgid_plural "Your %s has %d charges but needs %d." +msgstr[0] "你的 %s 有 %d 電量, 但需要 %d 電量。" + +#: src/character.cpp +msgid "You cough heavily." +msgstr "你咳的很嚴重。" + +#: src/character.cpp +msgid "a hacking cough." +msgstr "一陣乾咳。" + #: src/character.cpp msgid "You try to shout but you have no face!" msgstr "你試圖喊叫,但你的臉不見了!" @@ -166882,6 +172661,122 @@ msgctxt "fake stat there's an error" msgid "ERR" msgstr "錯誤" +#. ~ %s is armor name +#: src/character.cpp +#, c-format +msgctxt "memorial_male" +msgid "Worn %s was completely destroyed." +msgstr "穿著的 %s 已經被完全摧毀。" + +#: src/character.cpp +#, c-format +msgctxt "memorial_female" +msgid "Worn %s was completely destroyed." +msgstr "穿著的 %s 已經被完全摧毀。" + +#: src/character.cpp +#, c-format +msgid "Your %s is completely destroyed!" +msgstr "你的 %s 被完全摧毀了!" + +#: src/character.cpp +#, c-format +msgid "'s %s is completely destroyed!" +msgstr " 的 %s 被完全摧毀了!" + +#: src/character.cpp src/veh_interact.cpp +msgid "destroyed" +msgstr "損毀" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s further!" +msgstr "你的 %1$s 進一步的 %2$s!" + +#: src/character.cpp +#, c-format +msgid "Your %1$s is %2$s!" +msgstr "你的 %1$s %2$s了!" + +#: src/character.cpp +#, c-format +msgid "You were attacked by %s!" +msgstr "你被 %s 攻擊了!" + +#: src/character.cpp +msgid "You were hurt!" +msgstr "你受傷了!" + +#. ~spore-release sound +#. ~ the sound of a fungus releasing spores +#. ~ That spore sound again +#. ~ the sound of a fungus dying +#: src/character.cpp src/monattack.cpp src/monattack.cpp src/mondeath.cpp +msgid "Pouf!" +msgstr "噗!" + +#: src/character.cpp +msgid "You sink your roots into the soil." +msgstr "你把你的根埋入土壤中。" + +#: src/character.cpp +msgid "You start hauling items along the ground." +msgstr "你開始搬運地面上的物品。" + +#: src/character.cpp +msgid "Your hands are not free, which makes hauling slower." +msgstr "你的雙手並不是空的, 這使得搬運的速度變慢。" + +#: src/character.cpp +msgid "You stop hauling items." +msgstr "你停止搬運物品。" + +#: src/character.cpp +msgid "You resume your task." +msgstr "你繼續工作。" + +#: src/character.cpp +msgid "You nestle your pile of clothes for warmth." +msgstr "你抱著一堆衣服取暖。" + +#: src/character.cpp +msgid "You use your pile of clothes for warmth." +msgstr "你利用一堆衣服取暖。" + +#: src/character.cpp +#, c-format +msgid "You snuggle your %s to keep warm." +msgstr "你依偎著你的 %s 取暖。" + +#: src/character.cpp +#, c-format +msgid "You use your %s to keep warm." +msgstr "你使用你的 %s 取暖。" + +#: src/character.cpp +msgctxt "memorial_male" +msgid "Entered hibernation." +msgstr "開始冬眠。" + +#: src/character.cpp +msgctxt "memorial_female" +msgid "Entered hibernation." +msgstr "開始冬眠。" + +#: src/character_martial_arts.cpp +#, c-format +msgid "You have learned %s from extensive practice with the CQB Bionic." +msgstr "頻繁使用 CQB 生化插件的過程中讓你學會了 %s。" + +#: src/character_martial_arts.cpp +#, c-format +msgid "%s to select martial arts style." +msgstr "%s 以選擇武術招式。" + +#: src/character_martial_arts.cpp +msgid "No Style" +msgstr "沒有招式" + #: src/clzones.cpp msgid "No Auto Pickup" msgstr "關閉自動撿取" @@ -166926,260 +172821,6 @@ msgid "" "this area." msgstr "友善的 NPC 只有在這個區域內,才會去調查視野之外發出來的聲響。" -#: src/clzones.cpp -msgid "Loot: Unsorted" -msgstr "物資: 未整理" - -#: src/clzones.cpp -msgid "" -"Place to drop unsorted loot. You can use \"sort out loot\" zone-action to " -"sort items inside. It can overlap with Loot zones of different types." -msgstr "放置未整理物資的地方。你可以使用 \"整理物資\" 區域動作來整理裡面的物品。它可以和不同類型的物資區域重疊。" - -#: src/clzones.cpp -msgid "Loot: Food" -msgstr "物資: 食物" - -#: src/clzones.cpp -msgid "" -"Destination for comestibles. If more specific food zone is not defined, all " -"food is moved here." -msgstr "食物的目的地。如果沒有定義更明確的區域, 所有食物都會移動到這裡。" - -#: src/clzones.cpp -msgid "Loot: P.Food" -msgstr "物資: 易腐食物" - -#: src/clzones.cpp -msgid "" -"Destination for perishable comestibles. Does include perishable drinks if " -"such zone is not specified." -msgstr "容易腐敗的食物的目的地。如果沒有定義更明確的區域, 容易腐敗的飲料也包含在內。" - -#: src/clzones.cpp -msgid "Loot: Drink" -msgstr "物資: 飲料" - -#: src/clzones.cpp -msgid "" -"Destination for drinks. Does include perishable drinks if such zone is not " -"specified." -msgstr "飲料的目的地。如果沒有定義更明確的區域, 容易腐敗的飲料也包含在內。" - -#: src/clzones.cpp -msgid "Loot: P.Drink" -msgstr "物資: 易腐飲料" - -#: src/clzones.cpp -msgid "Destination for perishable drinks." -msgstr "容易腐敗的飲料的目的地。" - -#: src/clzones.cpp -msgid "Loot: Guns" -msgstr "物資: 遠程武器" - -#: src/clzones.cpp -msgid "Destination for guns, bows and similar weapons." -msgstr "槍械、弓與其他類似武器的目的地。" - -#: src/clzones.cpp -msgid "Loot: Magazines" -msgstr "物資: 彈匣" - -#: src/clzones.cpp -msgid "Destination for gun magazines." -msgstr "槍械彈匣的目的地。" - -#: src/clzones.cpp -msgid "Loot: Ammo" -msgstr "物資: 彈藥" - -#: src/clzones.cpp -msgid "Destination for ammo." -msgstr "彈藥的目的地。" - -#: src/clzones.cpp -msgid "Loot: Weapons" -msgstr "物資: 近戰武器" - -#: src/clzones.cpp -msgid "Destination for melee weapons." -msgstr "近戰武器的目的地。" - -#: src/clzones.cpp -msgid "Loot: Tools" -msgstr "物資: 工具" - -#: src/clzones.cpp -msgid "Destination for tools." -msgstr "工具的目的地。" - -#: src/clzones.cpp -msgid "Loot: Clothing" -msgstr "物資: 衣物" - -#: src/clzones.cpp -msgid "" -"Destination for clothing. Does include filthy clothing if such zone is not " -"specified." -msgstr "衣物的目的地。如果沒有定義更明確的區域, 骯髒衣物也包含在內。" - -#: src/clzones.cpp -msgid "Loot: F.Clothing" -msgstr "物資: 骯髒衣物" - -#: src/clzones.cpp -msgid "Destination for filthy clothing." -msgstr "骯髒衣物的目的地。" - -#: src/clzones.cpp -msgid "Loot: Drugs" -msgstr "物資: 藥物" - -#: src/clzones.cpp -msgid "Destination for drugs and other medical items." -msgstr "藥物與其他醫療用品的目的地。" - -#: src/clzones.cpp -msgid "Loot: Books" -msgstr "物資: 書籍" - -#: src/clzones.cpp -msgid "Destination for books and magazines." -msgstr "書籍與雜誌的目的地。" - -#: src/clzones.cpp -msgid "Loot: Mods" -msgstr "物資: 模組" - -#: src/clzones.cpp -msgid "Destination for firearm modifications and similar items." -msgstr "槍械模組與其他類似物品的目的地。" - -#: src/clzones.cpp -msgid "Loot: Mutagens" -msgstr "物資: 突變劑" - -#: src/clzones.cpp -msgid "Destination for mutagens, serums, and purifiers." -msgstr "突變劑、血清與淨化劑的目的地。" - -#: src/clzones.cpp -msgid "Loot: Bionics" -msgstr "物資: 生化插件" - -#: src/clzones.cpp -msgid "Destination for Compact Bionics Modules aka CBMs." -msgstr "生化插件 (CBM) 的目的地。" - -#: src/clzones.cpp -msgid "Loot: V.Parts" -msgstr "物資: 車輛零件" - -#: src/clzones.cpp -msgid "Destination for vehicle parts." -msgstr "車輛零件的目的地。" - -#: src/clzones.cpp -msgid "Loot: Other" -msgstr "物資: 其他" - -#: src/clzones.cpp -msgid "Destination for other miscellaneous items." -msgstr "雜項物品的目的地。" - -#: src/clzones.cpp -msgid "Loot: Fuel" -msgstr "物資: 燃料" - -#: src/clzones.cpp -msgid "" -"Destination for gasoline, diesel, lamp oil and other substances used as a " -"fuel." -msgstr "汽油、柴油、燈油與其他燃料物質的目的地。" - -#: src/clzones.cpp -msgid "Loot: Seeds" -msgstr "物資: 種子" - -#: src/clzones.cpp -msgid "Destination for seeds, stems and similar items." -msgstr "種子、莖與其他類似物品的目的地。" - -#: src/clzones.cpp -msgid "Loot: Chemical" -msgstr "物資: 化學" - -#: src/clzones.cpp -msgid "Destination for chemicals." -msgstr "化學製品的目的地。" - -#: src/clzones.cpp -msgid "Loot: S.Parts" -msgstr "物資: 備用零件" - -#: src/clzones.cpp -msgid "Destination for spare parts." -msgstr "備用零件的目的地。" - -#: src/clzones.cpp -msgid "Loot: Artifacts" -msgstr "物資: 神器" - -#: src/clzones.cpp -msgid "Destination for artifacts" -msgstr "神器的目的地。" - -#: src/clzones.cpp -msgid "Loot: Corpses" -msgstr "物資:屍體" - -#: src/clzones.cpp -msgid "Destination for corpses" -msgstr "存放屍體的位置。" - -#: src/clzones.cpp -msgid "Loot: Armor" -msgstr "物資: 護甲" - -#: src/clzones.cpp -msgid "" -"Destination for armor. Does include filthy armor if such zone is not " -"specified." -msgstr "護甲的目的地。如果沒有定義更明確的區域, 骯髒護甲也包含在內。" - -#: src/clzones.cpp -msgid "Loot: F.Armor" -msgstr "物資: 骯髒護甲" - -#: src/clzones.cpp -msgid "Destination for filthy armor." -msgstr "骯髒護甲的目的地。" - -#: src/clzones.cpp -msgid "Loot: Wood" -msgstr "物資: 木頭" - -#: src/clzones.cpp -msgid "Destination for firewood and items that can be used as such." -msgstr "薪柴和其他可作為薪柴使用的物品的目的地。" - -#: src/clzones.cpp -msgid "Loot: Custom" -msgstr "物資:自訂" - -#: src/clzones.cpp -msgid "Destination for loot with a custom filter that you can modify." -msgstr "指定區域存放的物資類別,可以用自訂的篩選器進行篩選。" - -#: src/clzones.cpp -msgid "Loot: Ignore" -msgstr "物資: 忽略" - -#: src/clzones.cpp -msgid "Items inside of this zone are ignored by \"sort out loot\" zone-action." -msgstr "在這個區域裡的物品會忽略 \"整理物資\" 區域動作。" - #: src/clzones.cpp msgid "Source: Firewood" msgstr "來源:薪柴" @@ -167187,9 +172828,9 @@ msgstr "來源:薪柴" #: src/clzones.cpp msgid "" "Source for firewood or other flammable materials in this zone may be used to" -" automatically refuel fires. This will be done to maintain light during " +" automatically refuel fires. This will be done to maintain light during " "long-running tasks such as crafting, reading or waiting." -msgstr "該區域的薪柴或其他可燃物將用於自動添加柴火。能為長時間作業的任務,例如製作、閱讀或等待,維持所需光源。" +msgstr "" #: src/clzones.cpp msgid "Construction: Blueprint" @@ -167239,6 +172880,14 @@ msgstr "車輛維修區" msgid "Any vehicles in this area are marked for repair work." msgstr "該區域內的任何車輛都標記為待修理。" +#: src/clzones.cpp +msgid "Vehicle Patrol Zone" +msgstr "車輛巡邏區" + +#: src/clzones.cpp +msgid "Vehicles with an autopilot will patrol in this zone." +msgstr "具備自動駕駛的車輛將在此區域巡邏。" + #: src/clzones.cpp msgid "Basecamp: Food" msgstr "營寨:儲糧" @@ -167259,11 +172908,11 @@ msgstr "沒有種子" #: src/clzones.cpp #, c-format -msgid "Loot: Custom : %s" +msgid "Loot: Custom: %s" msgstr "物資:自訂:%s" #: src/clzones.cpp -msgid "Loot: Custom : No Filter" +msgid "Loot: Custom: No Filter" msgstr "物資:自訂:無篩選" #: src/clzones.cpp @@ -167417,7 +173066,7 @@ msgstr "錯誤! 拒絕存取!" #: src/computer.cpp #, c-format -msgid "Logging into %s..." +msgid "Logging into %s…" msgstr "登入到 %s…" #: src/computer.cpp @@ -167433,15 +173082,15 @@ msgid "Bypass security?" msgstr "繞過保護機制?" #: src/computer.cpp -msgid "Shutting down... press any key." +msgid "Shutting down… press any key." msgstr "關機中… 請按任意鍵。" #: src/computer.cpp -msgid "Maximum login attempts exceeded. Press any key..." -msgstr "超過最大可嘗試登入次數。請按任意鍵…" +msgid "Maximum login attempts exceeded. Press any key…" +msgstr "超過最大登入嘗試次數。請按任意鍵…" #: src/computer.cpp -msgid "Login successful. Press any key..." +msgid "Login successful. Press any key…" msgstr "登入成功。請按任意鍵…" #: src/computer.cpp @@ -167465,28 +173114,28 @@ msgid "Choose drive:" msgstr "選擇磁碟:" #: src/computer.cpp -msgid "Doors opened. Press any key..." -msgstr "門打開了。請按任意鍵…" +msgid "Doors opened. Press any key…" +msgstr "門已開啟。請按任意鍵…" #: src/computer.cpp -msgid "Lock enabled. Press any key..." +msgid "Lock enabled. Press any key…" msgstr "已上鎖。請按任意鍵…" #: src/computer.cpp -msgid "Lock disabled. Press any key..." +msgid "Lock disabled. Press any key…" msgstr "已解鎖。請按任意鍵…" #. ~ the sound of a church bell ringing #: src/computer.cpp -msgid "Bohm... Bohm... Bohm..." +msgid "Bohm… Bohm… Bohm…" msgstr "啵… 啵… 啵…" #: src/computer.cpp -msgid "Containment shields opened. Press any key..." +msgid "Containment shields opened. Press any key…" msgstr "容器護罩已開啟。請按任意鍵…" #: src/computer.cpp -msgid "Subjects terminated. Press any key..." +msgid "Subjects terminated. Press any key…" msgstr "樣本已終結。請按任意鍵…" #: src/computer.cpp @@ -167498,40 +173147,40 @@ msgid "No data found." msgstr "沒有找到資料。" #: src/computer.cpp -msgid "Local data-access error logged, alerting helpdesk. Press any key..." -msgstr "將本機資料存取錯誤寫入日誌, 並對服務台發出警報。請按任意鍵…" +msgid "Local data-access error logged, alerting helpdesk. Press any key…" +msgstr "將本機資料存取錯誤寫入日誌, 並對服務台發出警報。請按任意鍵…" #: src/computer.cpp msgid "" -"Warning: anomalous archive-access activity detected at this node. Press any " -"key..." -msgstr "警告: 偵測到匿名使用者在此結點對資料庫的存取行為。請按任意鍵…" +"Warning: anomalous archive-access activity detected at this node. Press any" +" key…" +msgstr "警告:偵測到匿名使用者在此結點對資料庫的存取行為。請按任意鍵…" #: src/computer.cpp -msgid "Warning: resticted data access. Attempt logged. Press any key..." -msgstr "" +msgid "Warning: resticted data access. Attempt logged. Press any key…" +msgstr "警告:限制資料存取。嘗試行為已寫入日誌。請按任意鍵..." #: src/computer.cpp -msgid "Press any key..." +msgid "Press any key…" msgstr "請按任意鍵…" #: src/computer.cpp msgid "" "Surface map data downloaded. Local anomalous-access error logged. Press " -"any key..." -msgstr "地表地圖數據已下載。本機登入異常。請按任意鍵…" +"any key…" +msgstr "地表地圖資料已下載。本機異常存取錯誤已寫入日誌。請按任意鍵…" #: src/computer.cpp -msgid "Sewage map data downloaded. Press any key..." -msgstr "下水道地圖數據已下載。請按任意鍵…" +msgid "Sewage map data downloaded. Press any key…" +msgstr "下水道地圖資料已下載。請按任意鍵…" #: src/computer.cpp -msgid "Subway map data downloaded. Press any key..." -msgstr "地下鐵地圖數據已下載。請按任意鍵…" +msgid "Subway map data downloaded. Press any key…" +msgstr "地下鐵地圖資料已下載。請按任意鍵…" #: src/computer.cpp msgid "Target acquisition canceled." -msgstr "" +msgstr "目標獲取已取消。" #: src/computer.cpp msgid "Confirm nuclear missile launch." @@ -167563,12 +173212,12 @@ msgstr "生化插件存取 - 列表:" #: src/computer.cpp #, c-format -msgid "%d OTHER FOUND..." -msgid_plural "%d OTHERS FOUND..." +msgid "%d OTHER FOUND…" +msgid_plural "%d OTHERS FOUND…" msgstr[0] "還有 %d 個其他的…" #: src/computer.cpp -msgid "Elevator activated. Press any key..." +msgid "Elevator activated. Press any key…" msgstr "升降梯啟動。請按任意鍵…" #: src/computer.cpp @@ -167592,8 +173241,8 @@ msgid "" msgstr "" #: src/computer.cpp -msgid "FILE CORRUPTED, PRESS ANY KEY..." -msgstr "檔案已損毀, 請按任意鍵…" +msgid "FILE CORRUPTED, PRESS ANY KEY…" +msgstr "檔案已損毀, 請按任意鍵…" #: src/computer.cpp msgid "--ACCESS GRANTED--" @@ -167608,11 +173257,11 @@ msgid "ACCESS DENIED" msgstr "存取被拒!" #: src/computer.cpp -msgid "Repeater mod installed..." +msgid "Repeater mod installed…" msgstr "中繼器模組安裝完成…" #: src/computer.cpp -msgid "You do not have a repeater mod to install..." +msgid "You do not have a repeater mod to install…" msgstr "你沒有中繼器模組可以安裝…" #: src/computer.cpp @@ -167644,16 +173293,16 @@ msgid "ERROR: Please only use blood samples." msgstr "錯誤: 只能使用血液樣本。" #: src/computer.cpp -msgid "Result: Human blood, no pathogens found." -msgstr "結果: 人類血液, 沒有病原體。" +msgid "Result: Human blood, no pathogens found." +msgstr "結果:人類血液,沒有病原體。" #: src/computer.cpp -msgid "Result: Human blood. Unknown pathogen found." -msgstr "結果: 人類血液。找到未知的病原體。" +msgid "Result: Human blood. Unknown pathogen found." +msgstr "結果:人類血液。找到未知的病原體。" #: src/computer.cpp -msgid "Result: Unknown blood type. Unknown pathogen found." -msgstr "結果: 未知的血型。找到未知的病原體。" +msgid "Result: Unknown blood type. Unknown pathogen found." +msgstr "結果:未知的血型。找到未知的病原體。" #: src/computer.cpp msgid "Pathogen bonded to erythrocytes and leukocytes." @@ -167689,49 +173338,49 @@ msgstr "錯誤: 記憶庫是空的。" #: src/computer.cpp msgid "" -"Memory Bank: Military Hexron Encryption\n" +"Memory Bank: Military Hexron Encryption\n" "Printing Transcript\n" msgstr "" -"記憶庫: 軍用級加密\n" +"記憶庫:軍用級加密\n" "列印文件中\n" #: src/computer.cpp msgid "" -"Memory Bank: Unencrypted\n" +"Memory Bank: Unencrypted\n" "Nothing of interest.\n" msgstr "" -"記憶庫: 未加密\n" +"記憶庫:未加密\n" "沒有令人感興趣的東西。\n" #: src/computer.cpp msgid "" "\n" -"ERROR: NETWORK DISCONNECT \n" +"ERROR: NETWORK DISCONNECT\n" "UNABLE TO REACH NETWORK ROUTER OR PROXY. PLEASE CONTACT YOUR\n" "SYSTEM ADMINISTRATOR TO RESOLVE THIS ISSUE.\n" " \n" msgstr "" "\n" -"錯誤: 網路斷線\n" +"錯誤:網路連線中斷\n" "無法連線到網路路由器或是代理伺服器。\n" "請聯絡系統管理員以解決此錯誤。\n" "\n" #: src/computer.cpp -msgid "Press any key to continue..." +msgid "Press any key to continue…" msgstr "請按任意鍵繼續…" #: src/computer.cpp msgid "" -"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF \n" -"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU \n" -"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW. \n" +"GREETINGS CITIZEN. A BIOLOGICAL ATTACK HAS TAKEN PLACE AND A STATE OF\n" +"EMERGENCY HAS BEEN DECLARED. EMERGENCY PERSONNEL WILL BE AIDING YOU\n" +"SHORTLY. TO ENSURE YOUR SAFETY PLEASE FOLLOW THE STEPS BELOW.\n" "\n" -"1. DO NOT PANIC. \n" -"2. REMAIN INSIDE THE BUILDING. \n" -"3. SEEK SHELTER IN THE BASEMENT. \n" -"4. USE PROVIDED GAS MASKS. \n" -"5. AWAIT FURTHER INSTRUCTIONS. \n" +"1. DO NOT PANIC.\n" +"2. REMAIN INSIDE THE BUILDING.\n" +"3. SEEK SHELTER IN THE BASEMENT.\n" +"4. USE PROVIDED GAS MASKS.\n" +"5. AWAIT FURTHER INSTRUCTIONS.\n" "\n" " \n" msgstr "" @@ -167749,19 +173398,19 @@ msgstr "" #: src/computer.cpp msgid "" -" WARNING, RADIO TOWER IS UNRESPONSIVE. \n" +" WARNING, RADIO TOWER IS UNRESPONSIVE.\n" " \n" -" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS. \n" -" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD \n" -" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED. \n" +" BACKUP POWER INSUFFICIENT TO MEET BROADCASTING REQUIREMENTS.\n" +" IN THE EVENT OF AN EMERGENCY, CONTACT LOCAL NATIONAL GUARD\n" +" UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED.\n" " \n" " \n" msgstr "" -" 警告, 無線電塔沒有反應。\n" +" 警告,無線電塔沒有反應。\n" " \n" " 備用電力無法達到進行廣播的需求。\n" -" 發生緊急情況時, 聯絡當地的國民警衛隊\n" -" 當發電機部屬後, 會依照單位的優先順序配送電力。\n" +" 發生緊急情況時,聯絡當地的國民警衛隊\n" +" 當發電機部署後,會依照單位的優先順序配送電力。\n" " \n" " \n" @@ -167808,28 +173457,28 @@ msgid "WARNING [409]: Primary sensors offline!" msgstr "" #: src/computer.cpp -msgid " >> Initialize secondary sensors: Geiger profiling..." -msgstr "" +msgid " >> Initialize secondary sensors: Geiger profiling…" +msgstr " >> 初始化輔助傳感器:輻射偵測分析…" #: src/computer.cpp msgid " >> Radiation spike detected!\n" msgstr "" #: src/computer.cpp -msgid "WARNING [912]: Catastrophic malfunction! Contamination detected! " -msgstr "" +msgid "WARNING [912]: Catastrophic malfunction! Contamination detected!" +msgstr "警告[912]:災難性故障!檢測到污染!" #: src/computer.cpp msgid "EMERGENCY PROCEDURE [1]: Evacuate. Evacuate. Evacuate.\n" msgstr "" #: src/computer.cpp -msgid "EMERGENCY SHUTDOWN! Press any key..." -msgstr "" +msgid "EMERGENCY SHUTDOWN! Press any key…" +msgstr "緊急關機!請按任意鍵…" #: src/computer.cpp -msgid "PROCESSING... CYCLE COMPLETE." -msgstr "" +msgid "PROCESSING… CYCLE COMPLETE." +msgstr "處理中…循環完成。" #: src/computer.cpp #, c-format @@ -167838,7 +173487,7 @@ msgstr "" #: src/computer.cpp msgid "" -"CRITICAL ERROR... RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " +"CRITICAL ERROR… RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE " "RP_M_01_rev.03." msgstr "" @@ -167848,22 +173497,22 @@ msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... AVG %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… AVG %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ ZONE:... MAX %s mSv/h." +msgid "GEIGER COUNTER @ ZONE:… MAX %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "GEIGER COUNTER @ CONSOLE: .... %s mSv/h." +msgid "GEIGER COUNTER @ CONSOLE:… %s mSv/h." msgstr "" #: src/computer.cpp #, c-format -msgid "PERSONAL DOSIMETRY: .... %s mSv." +msgid "PERSONAL DOSIMETRY:… %s mSv." msgstr "" #: src/computer.cpp @@ -167887,11 +173536,11 @@ msgid "No items detected at: LOADING BAY." msgstr "" #: src/computer.cpp -msgid "Conveyor belt cycle complete. Press any key..." +msgid "Conveyor belt cycle complete. Press any key…" msgstr "" #: src/computer.cpp -msgid "Toggling shutters. Press any key..." +msgid "Toggling shutters. Press any key…" msgstr "" #: src/computer.cpp @@ -167899,15 +173548,15 @@ msgid "Operation irreversible. Extract radioactive material?" msgstr "" #: src/computer.cpp -msgid "Extraction sequence complete... Press any key." +msgid "Extraction sequence complete… Press any key." msgstr "" #: src/computer.cpp -msgid "ERROR! Radiation platform unresponsive... Press any key." +msgid "ERROR! Radiation platform unresponsive… Press any key." msgstr "" #: src/computer.cpp -msgid "Initiating POWER-DIAG ver.2.34 ..." +msgid "Initiating POWER-DIAG ver.2.34…" msgstr "" #: src/computer.cpp @@ -167928,13 +173577,13 @@ msgstr "" #: src/computer.cpp #, c-format -msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." +msgid "Internal power lines status: 85%% OFFLINE. Reason: DAMAGED." msgstr "" #: src/computer.cpp #, c-format msgid "" -"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " +"External power lines status: 100%% OFFLINE. Reason: NO EXTERNAL POWER " "DETECTED." msgstr "" @@ -167943,7 +173592,7 @@ msgid "Backup power status: STANDBY MODE." msgstr "備用電源狀態:待命模式。" #: src/computer.cpp -msgid "Backup power status: OFFLINE. Reason: UNKNOWN" +msgid "Backup power status: OFFLINE. Reason: UNKNOWN" msgstr "備用電源狀態:離線。 原因:不明" #: src/computer.cpp @@ -168003,7 +173652,7 @@ msgid "ERROR: Data bank destroyed." msgstr "錯誤: 數據庫已損毀。" #: src/computer.cpp -msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT ... " +msgid "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT…" msgstr "搜尋最近的難民中心,請稍候..." #. ~555-0164 is a fake phone number in the US, please replace it with a number @@ -168012,15 +173661,15 @@ msgstr "搜尋最近的難民中心,請稍候..." #, c-format msgid "" "\n" -"REFUGEE CENTER FOUND! LOCATION: %d %s\n" +"REFUGEE CENTER FOUND! LOCATION: %d %s\n" "\n" -"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT \n" -"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE. \n" -"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND \n" -"4PM AT 555-0164. \n" +"IF YOU HAVE ANY FEEDBACK CONCERNING YOUR VISIT PLEASE CONTACT\n" +"THE DEPARTMENT OF EMERGENCY MANAGEMENT PUBLIC AFFAIRS OFFICE.\n" +"THE LOCAL OFFICE CAN BE REACHED BETWEEN THE HOURS OF 9AM AND\n" +"4PM AT 555-0164.\n" "\n" "IF YOU WOULD LIKE TO SPEAK WITH SOMEONE IN PERSON OR WOULD LIKE\n" -"TO WRITE US A LETTER PLEASE SEND IT TO...\n" +"TO WRITE US A LETTER PLEASE SEND IT TO…\n" msgstr "" "\n" "找到難民中心!地點為:%d %s\n" @@ -168123,12 +173772,12 @@ msgstr "那裡已經有一個未完成的建築,檢查它以繼續建造工作 #: src/construction.cpp #, c-format -msgid "%s assists you with the work..." +msgid "%s assists you with the work…" msgstr "%s 協助了你的工作…" #: src/construction.cpp #, c-format -msgid "%s watches you work..." +msgid "%s watches you work…" msgstr "%s 看著你工作…" #: src/construction.cpp @@ -168190,8 +173839,8 @@ msgid "That %s can not be dissasembled, since there is furniture above it." msgstr "這個 %s 無法被拆解,因為它上面有家具。" #: src/construction.cpp -msgid "The rock feels much warmer than normal. Proceed?" -msgstr "這裡的岩石感覺比正常情況還要來得溫暖許多。繼續挖掘?" +msgid "The rock feels much warmer than normal. Proceed?" +msgstr "這裡的岩石溫度感覺比正常情況還要高。繼續挖掘?" #: src/construction.cpp msgid "You just tunneled into lava!" @@ -168353,19 +174002,19 @@ msgstr "仍要食用 %s?" #: src/consumption.cpp msgid "" "You've begun stockpiling calories and liquid for hibernation. You get the " -"feeling that you should prepare for bed, just in case, but...you're hungry " +"feeling that you should prepare for bed, just in case, but… you're hungry " "again, and you could eat a whole week's worth of food RIGHT NOW." -msgstr "你已經開始為冬眠囤積熱量和水分。保險起見, 你覺得你應該準備睡了, 但是… 你又餓了, 你現在可以立即可以吃下整整一個星期的食物!" +msgstr "你已經開始為冬眠囤積熱量和水分。保險起見,你覺得你應該準備睡了,但是…你又餓了,你能馬上吃下整個星期的食物!" #: src/consumption.cpp #, c-format -msgid "Ick, this %s doesn't taste so good..." -msgstr "噁, 這個 %s 嚐起來味道不是很好…" +msgid "Ick, this %s doesn't taste so good…" +msgstr "噁,這個 %s 嚐起來味道不是很好…" #: src/consumption.cpp #, c-format -msgid "Mmm, this %s tastes delicious..." -msgstr "嗯嗯, 這個 %s 真美味…" +msgid "Mmm, this %s tastes delicious…" +msgstr "嗯嗯,這個 %s 真美味…" #: src/consumption.cpp #, c-format @@ -168379,8 +174028,8 @@ msgstr "你吸收了 %s。" #: src/consumption.cpp #, c-format -msgid "Ick, this %s (rotten) doesn't taste so good..." -msgstr "噁, %s (腐敗) 嚐起來味道不是很好…" +msgid "Ick, this %s (rotten) doesn't taste so good…" +msgstr "噁,這個 %s(腐敗)嚐起來味道不是很好…" #: src/consumption.cpp #, c-format @@ -168433,7 +174082,7 @@ msgid "You greedily devour the taboo meat." msgstr "你貪婪地吞噬了禁忌之肉。" #: src/consumption.cpp -msgid "Meh. You've eaten worse." +msgid "Meh. You've eaten worse." msgstr "呣。你吃過更難吃的。" #: src/consumption.cpp @@ -168460,8 +174109,8 @@ msgid "You can't taste much of anything with this flu." msgstr "流感讓你沒辦法嚐出什麼好味道。" #: src/consumption.cpp -msgid "Yuck! How can anybody eat this stuff?" -msgstr "噁! 怎麼有人敢吃這玩意兒?" +msgid "Yuck! How can anybody eat this stuff?" +msgstr "噁!怎麼有人敢吃這玩意兒?" #: src/consumption.cpp msgid "Mmm, junk food." @@ -168472,7 +174121,7 @@ msgid "When life's got you down, there's always sugar." msgstr "當生活讓你感到失望時, 至少還有糖。" #: src/consumption.cpp -msgid "They may do what they must... you've already won." +msgid "They may do what they must… you've already won." msgstr "他們或許還會做出什麼… 但你已經勝利了。" #: src/consumption.cpp @@ -168489,15 +174138,15 @@ msgstr "你享受了一頓蜂蜜盛宴。" #: src/consumption.cpp msgid "The shadows are getting ever closer." -msgstr "" +msgstr "陰影更接近了。" #: src/consumption.cpp msgid "You have a bad feeling about this." -msgstr "" +msgstr "你有一種不好的預感。" #: src/consumption.cpp msgid "A powerful sense of dread comes over you." -msgstr "" +msgstr "強大的恐懼感籠罩著你。" #: src/consumption.cpp msgid "Your skin starts crawling." @@ -168505,61 +174154,62 @@ msgstr "你的皮膚開始在蠕動。" #: src/consumption.cpp msgid "They're coming to get you." -msgstr "" +msgstr "他們要來抓你了。" #: src/consumption.cpp -msgid "This might've been a bad idea..." -msgstr "" +msgid "This might've been a bad idea…" +msgstr "這也許是個餿主意..." #: src/consumption.cpp msgid "You've really done it this time, haven't you?" -msgstr "" +msgstr "你這次確實做到了,不是嗎?" #: src/consumption.cpp -msgid "You have to stay vigilant. They're always watching..." -msgstr "" +msgid "You have to stay vigilant. They're always watching…" +msgstr "你必須保持警惕。他們一直在觀察..." #: src/consumption.cpp msgid "mistake mistake mistake mistake mistake" -msgstr "" +msgstr "錯誤錯誤錯誤錯誤錯誤" #: src/consumption.cpp msgid "Just gotta stay calm, and you'll make it through this." -msgstr "" +msgstr "只要保持冷靜,你可以做到的。" #: src/consumption.cpp msgid "You're starting to feel very jumpy." -msgstr "" +msgstr "你開始感到非常不安。" #: src/consumption.cpp msgid "Something is twitching at the edge of your vision." -msgstr "" +msgstr "有東西在你的視角邊緣跳動。" #: src/consumption.cpp -msgid "They know what you've done..." -msgstr "" +msgid "They know what you've done…" +msgstr "他們知道你做了什麼..." #: src/consumption.cpp msgid "You're feeling even more paranoid than usual." -msgstr "" +msgstr "你變得比平常更猜疑。" #: src/consumption.cpp msgid "You gorge yourself, preparing to hibernate." msgstr "你飽餐了一頓, 準備冬眠。" #: src/consumption.cpp -msgid "You feel stocked for a day or two. Got your bed all ready and secured?" -msgstr "你已經囤積了一兩天的食物。找到安全睡覺的地方了嗎?" +msgid "" +"You feel stocked for a day or two. Got your bed all ready and secured?" +msgstr "你已經囤積了一兩天的食物。找到安全睡覺的地方了嗎?" #: src/consumption.cpp msgid "" -"Mmm. You can still fit some more in...but maybe you should get comfortable " +"Mmm. You can still fit some more in… but maybe you should get comfortable " "and sleep." msgstr "嗯嗯嗯。你覺得還能再吃點什麼… 不過你更想舒舒服服地睡上一覺。" #: src/consumption.cpp -msgid "That filled a hole! Time for bed..." -msgstr "吃飽啦! 該是時候睡覺了…" +msgid "That filled a hole! Time for bed…" +msgstr "吃飽啦!該睡覺了…" #: src/consumption.cpp msgid "You feel as though you're going to split open! In a good way?" @@ -168568,8 +174218,8 @@ msgstr "你感覺自己似乎要分裂了! 似乎不壞?" #. ~slimespawns have *small voices* which may be the Nice equivalent #. ~of the Rat King's ALL CAPS invective. Probably shared-brain telepathy. #: src/consumption.cpp -msgid "hey, you look like me! let's work together!" -msgstr "嘿, 你看起來真像我! 我們一起行動吧!" +msgid "hey, you look like me! let's work together!" +msgstr "嘿,你看起來真像我!我們一起行動吧!" #: src/consumption.cpp #, c-format @@ -168581,24 +174231,6 @@ msgstr "你感到 %s 填補了你的身體。" msgid " looks better after eating the %s." msgstr " 吃下 %s 之後看起來好多了。" -#: src/consumption.cpp -msgid "Your internal power storage is fully powered." -msgstr "您的內部能量儲存室已經完全充滿了。" - -#: src/consumption.cpp -msgid "'s internal power storage is fully powered." -msgstr " 的內部能量儲存室已完全充滿了。" - -#: src/consumption.cpp -#, c-format -msgid "You recharge your battery system with the %s." -msgstr "你使用了 %s 為電池系統充電。" - -#: src/consumption.cpp -#, c-format -msgid " recharges their battery system with the %s." -msgstr " 使用了 %s 為電池系統充電。" - #: src/consumption.cpp msgid "That is a LOT of plutonium. Are you sure you want that much?" msgstr "那可是 *很多* 的鈽, 你確定要那麼多嗎?" @@ -168697,8 +174329,8 @@ msgid "" msgstr "" #: src/craft_command.cpp -msgid "Some components used previously are missing. Continue?" -msgstr "以前使用的一些元件將遺失。要繼續嗎?" +msgid "Some components used previously are missing. Continue?" +msgstr "缺少先前使用的一些元件。要繼續嗎?" #: src/craft_command.cpp msgid "Item(s): " @@ -168709,7 +174341,7 @@ msgid "Tool(s): " msgstr "工具: " #: src/crafting.cpp -msgid "Your morale is too low to craft such a difficult thing..." +msgid "Your morale is too low to craft such a difficult thing…" msgstr "你的士氣太低落,無法製作這麼困難的東西…" #: src/crafting.cpp @@ -168766,8 +174398,8 @@ msgstr "你無法繼續製作物品!" #, c-format msgid "" "You don't have anything in which to store %s and may have to pour it out or " -"consume it as soon as it is prepared! Proceed?" -msgstr "" +"consume it as soon as it is prepared! Proceed?" +msgstr "你沒有可以儲存%s的物品,可能需要在製作完成之後倒掉它或是馬上用光它。是否繼續?" #: src/crafting.cpp src/pickup.cpp #, c-format @@ -168857,22 +174489,22 @@ msgstr " 開始著手於 %s。" #: src/crafting.cpp #, c-format -msgid "%s assists with crafting..." +msgid "%s assists with crafting…" msgstr "%s 協助了你的製作…" #: src/crafting.cpp #, c-format -msgid "%s could assist you with a batch..." +msgid "%s could assist you with a batch…" msgstr "%s 可以在批量製作時協助你…" #: src/crafting.cpp #, c-format -msgid "%s watches you craft..." +msgid "%s watches you craft…" msgstr "%s 看著你製作…" #: src/crafting.cpp #, c-format -msgid "%s helps with crafting..." +msgid "%s helps with crafting…" msgstr "%s 幫助了你的製作…" #: src/crafting.cpp @@ -169149,8 +174781,8 @@ msgstr "批量節省時間: %s" #: src/crafting_gui.cpp #, c-format -msgid "Dark craftable? %s" -msgstr "在黑暗中製作? %s" +msgid "Dark craftable? %s" +msgstr "在黑暗中製作? %s" #: src/crafting_gui.cpp src/defense.cpp msgid "Easy" @@ -169226,14 +174858,14 @@ msgstr "配方是否被記住" #: src/crafting_gui.cpp msgid "" -"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" +"The default is to search result names. Some single-character prefixes can be used with a colon (:) to search in other ways. Additional filters are separated by commas (,).\n" "\n" "Examples:\n" msgstr "" "預設為搜尋配方製品的名稱。\n" -"可以使用字母前綴搭配冒號 (:) 以啟用特殊的搜尋方式。\n" +"可以使用字母前綴搭配冒號(:)以啟用特殊的搜尋方式。\n" "\n" -"範例:\n" +"範例:\n" #: src/crafting_gui.cpp msgid "shirt" @@ -169443,8 +175075,8 @@ msgid "Friendly" msgstr "友善" #: src/creature.cpp -msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" -msgstr "BUG: 未命名行為。 (Creature::get_attitude_ui_data)" +msgid "BUG: Behavior unnamed. (Creature::get_attitude_ui_data)" +msgstr "程式錯誤:未命名行為。 (Creature::get_attitude_ui_data)" #: src/damage.cpp msgctxt "damage type" @@ -169497,8 +175129,8 @@ msgid "See %s for a full stack backtrace" msgstr "查看 %s 完整的堆疊追蹤" #: src/debug.cpp -msgid "An error has occurred! Written below is the error report:" -msgstr "發生錯誤! 以下是錯誤報告:" +msgid "An error has occurred! Written below is the error report:" +msgstr "發生錯誤!以下是錯誤報告:" #: src/debug.cpp msgid "Press space bar to continue the game." @@ -169553,7 +175185,7 @@ msgid "Level a spell" msgstr "升級一個法術" #: src/debug_menu.cpp -msgid "Player..." +msgid "Player…" msgstr "玩家 ... " #: src/debug_menu.cpp @@ -169596,10 +175228,18 @@ msgstr "切換顯示本地氣味" msgid "Toggle display temperature" msgstr "切換顯示溫度" +#: src/debug_menu.cpp +msgid "Toggle display vehicle autopilot overlay" +msgstr "" + #: src/debug_menu.cpp msgid "Toggle display visibility" msgstr "切換顯示視線" +#: src/debug_menu.cpp +msgid "Toggle display lighting" +msgstr "切換顯示照明" + #: src/debug_menu.cpp msgid "Toggle display radiation" msgstr "切換顯示輻射值" @@ -169632,12 +175272,16 @@ msgstr "切換NPC在地圖上的尋徑" msgid "Print faction info to console" msgstr "列印陣營資訊到控制台" +#: src/debug_menu.cpp +msgid "Print NPC magic info to console" +msgstr "" + #: src/debug_menu.cpp msgid "Test weather" msgstr "測試天氣" #: src/debug_menu.cpp -msgid "Info..." +msgid "Info…" msgstr "資訊 ... " #: src/debug_menu.cpp @@ -169653,7 +175297,7 @@ msgid "Teleport - adjacent overmap" msgstr "傳送 - 鄰近的大地圖" #: src/debug_menu.cpp -msgid "Teleport..." +msgid "Teleport…" msgstr "傳送 ... " #: src/debug_menu.cpp @@ -169681,8 +175325,8 @@ msgid "Spawn clairvoyance artifact" msgstr "產生千里眼神器" #: src/debug_menu.cpp -msgid "Spawning..." -msgstr "產生 ..." +msgid "Spawning…" +msgstr "生成 ..." #: src/debug_menu.cpp msgid "Reveal map" @@ -169725,8 +175369,8 @@ msgid "Spawn map extra" msgstr "產生地圖附掛" #: src/debug_menu.cpp -msgid "Map..." -msgstr "地圖 ... " +msgid "Map…" +msgstr "地圖 ..." #: src/debug_menu.cpp msgid "Quit to main menu" @@ -169735,8 +175379,8 @@ msgstr "返回主選單" #: src/debug_menu.cpp msgid "" "Debug Functions - Using these will cheat not only the game, but yourself.\n" -"You won't grow. You won't improve.\n" -"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" +"You won't grow. You won't improve.\n" +"Taking this shortcut will gain you nothing. Your victory will be hollow.\n" "Nothing will be risked and nothing will be gained." msgstr "" "除錯功能 - 使用這些功能不僅是作弊,還會變成超級魯蛇。\n" @@ -169767,7 +175411,7 @@ msgstr "想要的大地圖在哪呢?" msgid "You teleport to overmap (%d,%d,%d)." msgstr "你傳送到大地圖 (%d,%d,%d)。" -#: src/debug_menu.cpp src/iuse.cpp src/npctrade.cpp +#: src/debug_menu.cpp src/game.cpp src/iuse.cpp src/npctrade.cpp msgid "You" msgstr "你" @@ -169915,6 +175559,10 @@ msgstr "[@] 狀態窗口" msgid "t[e]leport" msgstr "[e] 傳送" +#: src/debug_menu.cpp +msgid "Give the [f]lu" +msgstr "" + #: src/debug_menu.cpp msgid "Edit [M]issions (WARNING: Unstable!)" msgstr "[M] 編輯任務 (警告: 具有不穩定性! )" @@ -169953,8 +175601,8 @@ msgstr "最高感知" #: src/debug_menu.cpp #, c-format -msgid "Set the stat to? Currently: %d" -msgstr "將屬性設置為? 目前: %d" +msgid "Set the stat to? Currently: %d" +msgstr "把屬性設為?目前:%d" #: src/debug_menu.cpp msgid "Delete all items from the target?" @@ -169982,13 +175630,13 @@ msgstr "右腿" #: src/debug_menu.cpp #, c-format -msgid "Set the hitpoints to? Currently: %d" -msgstr "將 HP 設置為? 目前: %d" +msgid "Set the hitpoints to? Currently: %d" +msgstr "把生命值設為?目前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set stamina to? Current: %d. Max: %d." -msgstr "把耐力值改成多少?目前:%d。最高:%d。" +msgid "Set stamina to? Current: %d. Max: %d." +msgstr "把耐力值設為?目前:%d。最高:%d。" #: src/debug_menu.cpp msgid "Target stamina value out of bounds!" @@ -169996,8 +175644,8 @@ msgstr "目標耐力值超出範圍!" #: src/debug_menu.cpp #, c-format -msgid "Set the morale to? Currently: %d" -msgstr "把士氣設定為多少? 目前士氣: %d" +msgid "Set the morale to? Currently: %d" +msgstr "把士氣設為?目前:%d" #: src/debug_menu.cpp msgid "trust" @@ -170021,28 +175669,28 @@ msgstr "占有" #: src/debug_menu.cpp #, c-format -msgid "Set trust to? Currently: %d" -msgstr "將信任改成?目前:%d" +msgid "Set trust to? Currently: %d" +msgstr "把信任設為?目前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set fear to? Currently: %d" -msgstr "將畏懼改成?目前:%d" +msgid "Set fear to? Currently: %d" +msgstr "把畏懼設為?目前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set value to? Currently: %d" -msgstr "將重視改成?目前:%d" +msgid "Set value to? Currently: %d" +msgstr "把重視設為?目前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set anger to? Currently: %d" -msgstr "將憤怒改成?目前:%d" +msgid "Set anger to? Currently: %d" +msgstr "把憤怒設為?目前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set owed to? Currently: %d" -msgstr "將占有改成?目前:%d" +msgid "Set owed to? Currently: %d" +msgstr "把占有設為?目前:%d" #: src/debug_menu.cpp msgid "Rename:" @@ -170051,16 +175699,16 @@ msgstr "重新命名:" #: src/debug_menu.cpp #, c-format msgid "" -"NPC: \n" +"NPC:\n" "%s\n" msgstr "" -"NPC: \n" +"NPC:\n" "%s\n" #: src/debug_menu.cpp #, c-format -msgid "Cause how much pain? pain: %d" -msgstr "造成多少疼痛? 疼痛: %d" +msgid "Cause how much pain? pain: %d" +msgstr "造成多少疼痛?疼痛:%d" #: src/debug_menu.cpp msgid "Hunger" @@ -170084,33 +175732,33 @@ msgstr "重設所有基礎需求" #: src/debug_menu.cpp #, c-format -msgid "Set hunger to? Currently: %d" -msgstr "將飢餓度設置為? 目前: %d" +msgid "Set hunger to? Currently: %d" +msgstr "把飢餓度設為?目前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set stored kCal to? Currently: %d" -msgstr "更改儲存熱量為?目前:%d" +msgid "Set stored kCal to? Currently: %d" +msgstr "把儲存熱量設為?目前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set thirst to? Currently: %d" -msgstr "將口渴度設置為? 目前: %d" +msgid "Set thirst to? Currently: %d" +msgstr "把口渴度設為?目前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set fatigue to? Currently: %d" -msgstr "將疲勞度設置為? 目前: %d" +msgid "Set fatigue to? Currently: %d" +msgstr "把疲勞度設為?目前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set sleep deprivation to? Currently: %d" -msgstr "將睡眠剝奪設定為多少? 目前: %d" +msgid "Set sleep deprivation to? Currently: %d" +msgstr "把睡眠剝奪設為?目前:%d" #: src/debug_menu.cpp #, c-format -msgid "Set %s to? Currently: %d" -msgstr "將 %s 設置為? 目前: %d" +msgid "Set %s to? Currently: %d" +msgstr "把%s設為?目前:%d" #: src/debug_menu.cpp src/panels.cpp msgid "Health" @@ -170126,8 +175774,8 @@ msgstr "輻射" #: src/debug_menu.cpp #, c-format -msgid "Set the value to? Currently: %d" -msgstr "將數值設置為? 目前: %d" +msgid "Set the value to? Currently: %d" +msgstr "把數值設為?目前:%d" #: src/debug_menu.cpp msgid "Choose mission type" @@ -170249,8 +175897,8 @@ msgstr "刪除任務 (缺乏適當的清理)" #: src/debug_menu.cpp #, c-format -msgid "Drew %d times in %.3f seconds. (%.3f fps average)" -msgstr "繪製 %d 次於 %.3f 秒內。(平均幀率 %.3f)" +msgid "Drew %d times in %.3f seconds. (%.3f fps average)" +msgstr "繪製 %d 次於 %.3f 秒內。(幀率 %.3f)" #: src/debug_menu.cpp msgid "Current overmap revealed." @@ -170385,7 +176033,7 @@ msgstr "" #: src/debug_menu.cpp msgid "Select new wind speed:" -msgstr "" +msgstr "選擇新的風速:" #: src/debug_menu.cpp msgid "Disable speed forcing" @@ -170393,12 +176041,12 @@ msgstr "" #: src/debug_menu.cpp msgid "Keep normal wind speed" -msgstr "" +msgstr "保持正常風速" #: src/debug_menu.cpp #, c-format -msgid "Damage self for how much? hp: %d" -msgstr "對自己造成多少傷害? hp: %d" +msgid "Damage self for how much? hp: %d" +msgstr "對自己造成多少傷害?生命值:%d" #: src/debug_menu.cpp msgid "This binary was not compiled with tiles support." @@ -170434,8 +176082,8 @@ msgid "Set year to?" msgstr "設定年份為?" #: src/debug_menu.cpp -msgid "Set season to? (0 = spring)" -msgstr "設定季節為? (0 = 春天)" +msgid "Set season to? (0 = spring)" +msgstr "設定季節為?(0 = 春天)" #: src/debug_menu.cpp msgid "Set days to?" @@ -170451,8 +176099,8 @@ msgstr "設定分鐘為?" #: src/debug_menu.cpp #, c-format -msgid "Set turn to? (One day is %i turns)" -msgstr "設定回合為? (一日是 %i 回合)" +msgid "Set turn to? (One day is %i turns)" +msgstr "設定回合為?(一日是 %i 回合)" #: src/debug_menu.cpp msgid "Enter benchmark length (in milliseconds):" @@ -170460,9 +176108,9 @@ msgstr "輸入繪圖基準測試長度(以毫秒為單位)" #: src/debug_menu.cpp msgid "" -"Quit without saving? This may cause issues such as duplicated or missing " +"Quit without saving? This may cause issues such as duplicated or missing " "items and vehicles!" -msgstr "不存檔直接退出? 這可能會導致各種問題, 例如重複或缺少物品和車輛!" +msgstr "不存檔直接退出?這可能會導致各種問題,例如重複或遺失物品和車輛!" #: src/debug_menu.cpp #, c-format @@ -170499,10 +176147,12 @@ msgstr "先學些法術吧。" msgid "Spell" msgstr "法術" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "LVL" msgstr "等級" +#. ~ translation should not exceed 4 console cells #: src/debug_menu.cpp msgid "MAX" msgstr "上限" @@ -170527,8 +176177,8 @@ msgid "Please wait as the map generates [ 0%% ]" msgstr "正在生成地圖, 請稍候 [ 0%% ]" #: src/defense.cpp -msgid "A caravan approaches! Press spacebar..." -msgstr "有商隊接近了! 請按空白鍵…" +msgid "A caravan approaches! Press spacebar…" +msgstr "有商隊接近了!請按空白鍵…" #: src/defense.cpp msgid "You don't need to sleep!" @@ -170887,8 +176537,8 @@ msgstr "從地獄來的 %s!" #: src/defense.cpp #, c-format -msgid "Beware! %s!" -msgstr "小心! %s!" +msgid "Beware! %s!" +msgstr "小心!%s!" #: src/defense.cpp #, c-format @@ -171012,12 +176662,12 @@ msgstr "否" #: src/editmap.cpp msgctxt "vehicle" msgid "in" -msgstr "" +msgstr "車內" #: src/editmap.cpp msgctxt "vehicle" msgid "out" -msgstr "" +msgstr "車外" #: src/editmap.cpp #, c-format @@ -171032,7 +176682,7 @@ msgstr "%d: %s, 移動消耗: %d, 移動字符: %d" #: src/editmap.cpp #, c-format msgid "dist: %d u_see: %s veh: %s scent: %d" -msgstr "" +msgstr "距離:%d 可視:%s 車輛:%s 氣味:%d" #: src/editmap.cpp #, c-format @@ -171047,7 +176697,7 @@ msgstr "透明度: %.5f, 能見度: %.5f," #: src/editmap.cpp #, c-format msgid "outside: %d obstructed: %d" -msgstr "" +msgstr "外部:%d 阻隔:%d" #: src/editmap.cpp #, c-format @@ -171083,8 +176733,8 @@ msgstr "陷阱: %s (%d)" #: src/editmap.cpp src/game.cpp #, c-format -msgid "There is a %s there. Parts:" -msgstr "這裡有 %s。零件:" +msgid "There is a %s there. Parts:" +msgstr "這裡有 %s。零件:" #: src/editmap.cpp #, c-format @@ -171129,6 +176779,9 @@ msgid "" "Indoors: %s\n" "Roof: %s" msgstr "" +"移動點數:%d\n" +"室內:%s\n" +"屋頂:%s" #: src/editmap.cpp #, c-format @@ -171138,6 +176791,10 @@ msgid "" "Difficulty: %d\n" "Benign: %s" msgstr "" +"可見:%d\n" +"避免:%d\n" +"困難:%d\n" +"良性:%s" #: src/editmap.cpp #, c-format @@ -171161,7 +176818,7 @@ msgstr "%s, %s, %s, %s, %s" #, c-format msgctxt "keybinding descriptions" msgid "%s, %s, [%s,%s] intensity, %s, %s, %s" -msgstr "" +msgstr "%s, %s, [%s,%s] 強度, %s, %s, %s" #: src/editmap.cpp msgctxt "Map editor: Editing field effects" @@ -171327,9 +176984,9 @@ msgstr "地圖產生戳記" #: src/effect.cpp msgid "" -"The scariest thing in the world would be... if all the air in the world " -"turned to WOOD!" -msgstr "世界上最恐怖的事情就是… 所有的空氣都變成了木頭!" +"The scariest thing in the world would be… if all the air in the world turned" +" to WOOD!" +msgstr "世界上最可怕的事情就是… 所有的空氣都變成了木頭!" #: src/effect.cpp msgid "" @@ -171345,8 +177002,8 @@ msgid "Science is a liar sometimes." msgstr "科學有時候是謊言。" #: src/effect.cpp -msgid "Science is... wait, what was I talking about again?" -msgstr "科學是… 等等, 我剛剛又在說啥?" +msgid "Science is… wait, what was I talking about again?" +msgstr "科學是… 等等,我剛剛又在說啥?" #: src/effect.cpp msgid "" @@ -171365,8 +177022,8 @@ msgid "She was a hip, hip, hip lady, man." msgstr "她是一個超級、超級、超級時髦的女人。" #: src/effect.cpp -msgid "You ever see the back of a twenty dollar bill... on weed?" -msgstr "你是否看過大麻上畫著… 20 元美鈔的背面?" +msgid "You ever see the back of a twenty dollar bill… on weed?" +msgstr "你是否看過大麻上畫著… 20 元美鈔的背面?" #: src/effect.cpp msgid "" @@ -171379,17 +177036,16 @@ msgid "RED TEAM GO, RED TEAM GO!" msgstr "紅隊衝, 紅隊衝!" #: src/effect.cpp -msgid "You have a sudden urge to flip your bible open to Genesis 1:29..." -msgstr "" -"你突然有一股衝動, 想翻開聖經到創世紀 1:29… (神說、看哪、我將遍地上一切結種子的菜蔬、和一切樹上所結有核的果子、全賜給你們作食物。)" +msgid "You have a sudden urge to flip your bible open to Genesis 1:29…" +msgstr "你突然有一股衝動,想翻開聖經到創世紀 1:29…(神說、看哪、我將遍地上一切結種子的菜蔬、和一切樹上所結有核的果子、全賜給你們作食物。)" #: src/effect.cpp -msgid "That rug really tied the room together..." +msgid "That rug really tied the room together…" msgstr "這地毯真適合這個房間…" #: src/effect.cpp -msgid "I used to do drugs... I still do, but I used to, too." -msgstr "我以前常吸毒… 以前是, 現在也還是。" +msgid "I used to do drugs… I still do, but I used to, too." +msgstr "我以前常吸毒… 以前是,現在也還是。" #: src/effect.cpp msgid "The herb reveals you to yourself." @@ -171397,17 +177053,17 @@ msgstr "藥草向你揭示了你的自我。" #: src/effect.cpp msgid "" -"Okay, like, the scariest thing in the world would be... if like you went to " +"Okay, like, the scariest thing in the world would be… if like you went to " "grab something and it wasn't there!" -msgstr "好吧, 那麼, 世上最可怕的事情就是… 你伸手想抓住某樣東西卻發現東西不在那!" +msgstr "好吧,那麼,世上最可怕的事情就是… 你伸手想抓住某樣東西卻發現東西不在那!" #: src/effect.cpp msgid "They call them fingers, but I never see them fing." msgstr "他們把這些東西叫做手指, 但是我從來沒看過他們動得像手指。" #: src/effect.cpp -msgid "... oh, there they go." -msgstr "… 喔, 他們來了。" +msgid "…oh, there they go." +msgstr "… 喔,他們來了。" #: src/effect.cpp msgid "" @@ -171441,7 +177097,7 @@ msgid "Oh, sometimes the early-mid-late-early-morning." msgstr "喔, 有時候是接近中午的早上。" #: src/effect.cpp -msgid "...But never at dusk." +msgid "…But never at dusk." msgstr "… 但絕對不是黃昏。" #: src/effect.cpp @@ -171453,12 +177109,12 @@ msgid "Man, a cheeseburger sounds SO awesome right now." msgstr "天哪, 起司漢堡現在聽起來好讚哪。" #: src/effect.cpp -msgid "Eh... maybe not." +msgid "Eh… maybe not." msgstr "痾… 算了。" #: src/effect.cpp -msgid "I guess, maybe, without the cheese... yeah." -msgstr "我想, 也許, 沒有起司… 好吧。" +msgid "I guess, maybe, without the cheese… yeah." +msgstr "我想,也許,沒有起司… 好吧。" #: src/effect.cpp msgid "Walkin' down the hall, by myself, smokin' a j with fifty elves." @@ -171614,6 +177270,10 @@ msgstr "傑出" msgid "perfect" msgstr "完美" +#: src/explosion.cpp +msgid "force of the explosion" +msgstr "爆炸的力量" + #: src/explosion.cpp msgid "You're caught in the explosion!" msgstr "你被爆炸波及!" @@ -171961,21 +177621,21 @@ msgid "Press enter to rename this camp" msgstr "按 Enter 鍵重新命名此營寨" #: src/faction.cpp -msgid "Direction : to the " -msgstr "前往:到" +msgid "Direction: to the " +msgstr "方向:在 " #: src/faction.cpp #, c-format -msgid "Location : (%d, %d)" +msgid "Location: (%d, %d)" msgstr "位置:(%d, %d)" #: src/faction.cpp #, c-format -msgid "Food Supply : %s %d calories" +msgid "Food Supply: %s %d calories" msgstr "儲糧:%s %d卡路里" #: src/faction.cpp -msgid "Next Upgrade : " +msgid "Next Upgrade: " msgstr "下個升級:" #: src/faction.cpp @@ -171988,25 +177648,25 @@ msgid "Press enter to talk to this follower " msgstr "按 Enter 鍵與該追隨者對話" #: src/faction.cpp -msgid "travelling to : " +msgid "travelling to: " msgstr "移動到:" #: src/faction.cpp #, c-format -msgid "travelling to : (%d, %d)" +msgid "travelling to: (%d, %d)" msgstr "移動到:(%d,%d)" #: src/faction.cpp -msgid "Current Mission : " +msgid "Current Mission: " msgstr "目前任務:" #: src/faction.cpp -msgid "Direction : Nearby" -msgstr "前往:附近" +msgid "Direction: Nearby" +msgstr "方向:附近" #: src/faction.cpp #, c-format -msgid "Location : (%d, %d), at camp: %s" +msgid "Location: (%d, %d), at camp: %s" msgstr "位置:(%d, %d),所在營寨:%s" #: src/faction.cpp @@ -172038,7 +177698,7 @@ msgid "Within interaction range" msgstr "在互動範圍內" #: src/faction.cpp -msgid "Status : " +msgid "Status: " msgstr "狀態:" #: src/faction.cpp @@ -172062,7 +177722,11 @@ msgid "Guarding" msgstr "守衛中" #: src/faction.cpp -msgid "Condition : " +msgid "Basecamp job: " +msgstr "營寨工作:" + +#: src/faction.cpp +msgid "Condition: " msgstr "身體狀況:" #: src/faction.cpp @@ -172071,28 +177735,28 @@ msgid "Nominal" msgstr "正常" #: src/faction.cpp -msgid "Hunger : " +msgid "Hunger: " msgstr "飢餓度:" #: src/faction.cpp -msgid "Thirst : " +msgid "Thirst: " msgstr "口渴度:" #: src/faction.cpp -msgid "Fatigue : " +msgid "Fatigue: " msgstr "疲勞度:" -#: src/faction.cpp -msgid "Wielding : " -msgstr "手持:" +#: src/faction.cpp src/player.cpp +msgid "Wielding: " +msgstr "手持: " #: src/faction.cpp -msgid "Best other skills : " +msgid "Best other skills: " msgstr "最好的其他技能:" #: src/faction.cpp #, c-format -msgid "Best combat skill : %s : %d" +msgid "Best combat skill: %s: %d" msgstr "最好的戰鬥技能:%s:%d" #: src/faction.cpp @@ -172132,25 +177796,33 @@ msgid "Recover Ally from Upgrading" msgstr "從升級中恢復盟友" #: src/faction_camp.cpp -msgid "Busy crafting!\n" -msgstr "繁忙的製作!\n" +msgid "Emergency Recall" +msgstr "緊急召回" + +#: src/faction_camp.cpp +msgid "Lost in the ether!\n" +msgstr "迷失在以太中!\n" #: src/faction_camp.cpp msgid "Craft Item" msgstr "製作物品" #: src/faction_camp.cpp -msgid " (Finish) Crafting" -msgstr " (結束) 製作" +msgid "Busy crafting!\n" +msgstr "繁忙的製作!\n" #: src/faction_camp.cpp -msgid "Busy travelling!\n" -msgstr "正在移動中!\n" +msgid " (Finish) Crafting" +msgstr " (結束) 製作" #: src/faction_camp.cpp msgid "Travelling" msgstr "移動中" +#: src/faction_camp.cpp +msgid "Busy travelling!\n" +msgstr "正在移動中!\n" + #: src/faction_camp.cpp msgid "Recall ally from travelling" msgstr "召回移動中的盟友" @@ -172184,7 +177856,7 @@ msgid "Menial Labor" msgstr "雜務" #: src/faction_camp.cpp -msgid "Performing menial labor...\n" +msgid "Performing menial labor…\n" msgstr "執行瑣碎任務的勞工...\n" #: src/faction_camp.cpp @@ -172196,7 +177868,7 @@ msgid "Expand Base" msgstr "擴建營寨" #: src/faction_camp.cpp -msgid "Surveying for expansion...\n" +msgid "Surveying for expansion…\n" msgstr "勘查擴建地點...\n" #: src/faction_camp.cpp @@ -172208,7 +177880,7 @@ msgid "Cut Logs" msgstr "砍伐原木" #: src/faction_camp.cpp -msgid "Cutting logs in the woods...\n" +msgid "Cutting logs in the woods…\n" msgstr "正在樹林中伐木...\n" #: src/faction_camp.cpp @@ -172220,21 +177892,21 @@ msgid "Clear a forest" msgstr "清除樹林" #: src/faction_camp.cpp -msgid "Clearing a forest...\n" +msgid "Clearing a forest…\n" msgstr "正在清除樹林...\n" #: src/faction_camp.cpp msgid "Recover Clearcutter" msgstr "召回砍樹者" -#: src/faction_camp.cpp -msgid "Setting up a hide site...\n" -msgstr "設立藏身處...\n" - #: src/faction_camp.cpp msgid "Setup Hide Site" msgstr "設立藏身處" +#: src/faction_camp.cpp +msgid "Setting up a hide site…\n" +msgstr "正在設立藏身處...\n" + #: src/faction_camp.cpp msgid "Recover Hide Setup" msgstr "召回建設者" @@ -172244,8 +177916,8 @@ msgid "Relay Hide Site" msgstr "輸送到藏身處" #: src/faction_camp.cpp -msgid "Transferring gear to a hide site...\n" -msgstr "將裝備輸送到藏身處...\n" +msgid "Transferring gear to a hide site…\n" +msgstr "正將裝備送往藏身處...\n" #: src/faction_camp.cpp msgid "Recover Hide Relay" @@ -172292,7 +177964,7 @@ msgid "Construct Map Fortifications" msgstr "建設地圖防禦工事" #: src/faction_camp.cpp -msgid "Constructing fortifications...\n" +msgid "Constructing fortifications…\n" msgstr "正在建設防禦工事...\n" #: src/faction_camp.cpp @@ -172352,8 +178024,8 @@ msgid " Chop Shop" msgstr "車輛拆解" #: src/faction_camp.cpp -msgid "Working at the chop shop...\n" -msgstr "正在拆解車輛中...\n" +msgid "Working at the chop shop…\n" +msgstr "正在拆解車輛...\n" #: src/faction_camp.cpp msgid " (Finish) Chop Shop" @@ -172438,16 +178110,16 @@ msgstr " 左]\n" #: src/faction_camp.cpp src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "Do you wish to bring your allies back into your party?" msgstr "" "\n" "\n" -"要把同伴帶回你的隊伍嗎?" +"要把同伴們帶回你的隊伍嗎?" #: src/faction_camp.cpp -msgid "You choose to wait..." -msgstr "你選擇等待..." +msgid "You choose to wait…" +msgstr "你選擇稍等..." #: src/faction_camp.cpp msgid "You cannot build a camp here." @@ -172464,9 +178136,9 @@ msgstr "你太靠近另一個營區!" #: src/faction_camp.cpp msgid "" "Warning, you have selected a region with the following issues:\n" -" \n" +"\n" msgstr "" -"警告,你選擇的地區有下列的狀況:\n" +"警告,你選擇的地區有下列的問題:\n" "\n" #: src/faction_camp.cpp @@ -172484,11 +178156,11 @@ msgstr "太少平原。要開墾農場有點困難。\n" #: src/faction_camp.cpp #, c-format msgid "" -"%s \n" -"Are you sure you wish to continue? " +"%s\n" +"Are you sure you wish to continue?" msgstr "" -"%s \n" -"你確定你想要繼續嗎?" +"%s\n" +"你確定你想要繼續嗎?" #: src/faction_camp.cpp #, c-format @@ -172508,14 +178180,22 @@ msgstr ", 營寨管理員" msgid "%s has abandoned the camp." msgstr "%s 已經廢棄了這營寨。" +#: src/faction_camp.cpp +msgid " Expansion" +msgstr "擴建營區" + +#: src/faction_camp.cpp +msgid "Recover Ally, " +msgstr "召回盟友," + #: src/faction_camp.cpp #, c-format msgid "" -"Notes: \n" +"Notes:\n" "Send a companion to gather materials for the next camp upgrade.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "%s\n" "Risk: Very Low\n" @@ -172524,101 +178204,44 @@ msgid "" msgstr "" "註記:\n" "派遣同伴為下一次的營寨升級收集材料。\n" -" \n" +"\n" "使用的技能:生存\n" "難度:N/A\n" "可能收集的物品:\n" "%s\n" "風險:非常低\n" -"時間:3小時,重複執行\n" +"時間:3 小時,重複執行\n" "職缺:%d / 3\n" -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" -"Effects:\n" -"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" -" \n" -"Must have enjoyability >= -6\n" -"Perishable food liquidated at penalty depending on upgrades and rot time:\n" -"> Rotten: 0%%\n" -"> Rots in < 2 days: 60%%\n" -"> Rots in < 5 days: 80%%\n" -" \n" -"Total faction food stock: %d kcal\n" -"or %d day's rations" -msgstr "" -"註記:\n" -"將食物分配給你的追隨者並填滿糧倉。將你想要發配的食物放在 [營寨:儲糧] 區。你必須要設有 [營寨:儲糧] 區、 [物資:未整理] 區以及至少一個 [物資:(任意)] 區,否則系統將提示你使用區域管理員來創建它們。\n" -"功效:\n" -"> 增加你的陣營的糧食供應數值,這也等於勞動者所能運用的總工時\n" -" \n" -"食物的享受值必須 > = -6\n" -"根據升級與距離腐爛時間,易腐食物將會做減值加權計算:\n" -"> 已經腐爛的食物:0%%\n" -"> 將在 2天內腐爛:60%%\n" -"> 將在 5天內腐爛:80%%\n" -" \n" -"陣營糧食總庫存:%d千卡\n" -"或者 %d 天的配給" - -#: src/faction_camp.cpp -msgid "Distribute Food" -msgstr "分配食物" - -#: src/faction_camp.cpp -msgid "" -"Notes:\n" -"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" -" \n" -"Effects:\n" -"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" -"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" -"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." -msgstr "" -"註記:\n" -"重置物品分類區域, [雜務] 任務進行物品分類歸位的區域。\n" -" \n" -"效果:\n" -"> 使用區域管理員指定分類的區域。你必須有一個 [營寨:儲糧] 區,一個 [物資:未整理] 區和至少一個 [物資:(任意)] 區。\n" -"> 僅對 [物資:未整理] 區中的物品進行分類歸位,而不對其他任何區域中的物品進行分類歸位。\n" -"沒有所屬分類區域的物品將使用自動區域分類的一般規則進行分類歸位。" - -#: src/faction_camp.cpp -msgid "Reset Sort Points" -msgstr "區域管理員" - #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to gather light brush and heavy sticks.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Gathering Possibilities:\n" "> heavy sticks\n" "> withered plants\n" "> splintered wood\n" -" \n" +"\n" "Risk: Very Low\n" "Time: 3 Hours, Repeated\n" "Positions: %d/3\n" msgstr "" "註記:\n" "派遣同伴去收集灌木和木棍。\n" -" \n" +"\n" "使用的技能:生存\n" "難度:N/A\n" "可能收集的物品:\n" "> 木棍\n" "> 枯萎的植物\n" "> 碎裂的木頭\n" -" \n" +"\n" "風險:非常低\n" -"時間:3小時,重複執行\n" +"時間:3 小時,重複執行\n" "職缺:%d / 3\n" #: src/faction_camp.cpp @@ -172626,9 +178249,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to do low level chores and sort supplies.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Effects:\n" "> Material left in the unsorted loot zone will be sorted into a defined loot zone.\n" "\n" @@ -172638,43 +178261,14 @@ msgid "" msgstr "" "註記:\n" "派遣同伴去做簡單的雜務和分類物品。\n" -" \n" +"\n" "使用的技能:製作\n" "難度:N/A\n" "效果:\n" "> [物資:未分類] 區中的物品將被移動到所屬類別的區域。\n" "\n" "風險:無\n" -"時間:3小時\n" -"職缺:%d / 1\n" - -#: src/faction_camp.cpp -#, c-format -msgid "" -"Notes:\n" -"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" -" \n" -"Skill used: N/A \n" -"Effects:\n" -"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal. \n" -" \n" -"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window. \n" -" \n" -"Risk: None\n" -"Time: 3 Hours \n" -"Positions: %d/1\n" -msgstr "" -"註記:\n" -"你的營寨已經成長到足以擴建新的營區。擴建雖然帶來新契機,卻也耗材又耗時。謹慎地選擇擴建的營區,因為一個營寨只能擴建出周圍八個營區。\n" -" \n" -"使用的技能:N/A\n" -"效果:\n" -"> 選擇擴建一種種類的營區。從 [農場] 開始是一個踏實的選項,因為食物用於支付同伴進行任務,而且維運 [農場] 並不需要太高的成本。只需少少的投資,有機械技能的同伴就可以在 [修車廠] 快速拆除大型的車輛。 [鐵匠鋪] 則能提供製造木炭的設備。\n" -" \n" -"注意:擴建後營區所能進行的任務請在營寨管理員(告示牌)的視窗中選取。\n" -" \n" -"風險:無\n" -"時間:3小時\n" +"時間:3 小時\n" "職缺:%d / 1\n" #: src/faction_camp.cpp @@ -172682,9 +178276,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to a nearby forest to cut logs.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 50%% of trees/trunks at the forest position will be cut down.\n" "> 100%% of total material will be brought back.\n" @@ -172696,7 +178290,7 @@ msgid "" msgstr "" "註記:\n" "派遣同伴到附近的森林砍伐原木。\n" -" \n" +"\n" "使用的技能:製作\n" "難度:1\n" "效果:\n" @@ -172705,7 +178299,7 @@ msgstr "" "> 可重複,收益遞減。\n" "> 最終會把森林變成平原。\n" "風險:無\n" -"時間:基本 6小時 + 旅行的耗時 + 伐木的耗時\n" +"時間:基本 6 小時 + 旅行的耗時 + 伐木的耗時\n" "職缺:%d / 1\n" #: src/faction_camp.cpp @@ -172713,22 +178307,22 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to a clear a nearby forest.\n" -" \n" +"\n" "Skill used: fabrication\n" -"Difficulty: 1 \n" +"Difficulty: 1\n" "Effects:\n" "> 95%% of trees/trunks at the forest position will be cut down.\n" "> 0%% of total material will be brought back.\n" "> Forest should become a field tile.\n" "> Useful for clearing land for another faction camp.\n" -" \n" +"\n" "Risk: None\n" "Time: 6 Hour Base + Travel Time + Cutting Time\n" "Positions: %d/1\n" msgstr "" "註記:\n" "派遣同伴去砍伐附近的森林。\n" -" \n" +"\n" "使用的技能:製作\n" "難度:1\n" "效果:\n" @@ -172736,38 +178330,38 @@ msgstr "" "> 0%% 材料會被運回來。\n" "> 森林變成平原地形。\n" "> 用來清除其他陣營營寨的土地非常好用。\n" -" \n" +"\n" "風險:無\n" -"時間:基本 6小時 + 旅行的耗時 + 伐木的耗時\n" -"職缺:%d/ 1\n" +"時間:基本 6 小時 + 旅行的時間 + 伐木的時間\n" +"職缺:%d / 1\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to build an improvised shelter and stock it with equipment at a distant map location.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Good for setting up resupply or contingency points.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 6 Hour Construction + Travel\n" "Positions: %d/1\n" msgstr "" "註記:\n" "派遣同伴到地圖上遠距離的地方去,建造一個臨時的避難所,並將裝備物品存放到那裡。\n" -" \n" +"\n" "使用的技能:生存\n" "難度:3\n" "效果:\n" "> 有利於設立中繼站與臨時哨點。\n" "> 放在那的裝備物品無人看管,可能會被偷走。\n" "> 時間取決於要帶走的裝備物品重量。\n" -" \n" +"\n" "風險:中等\n" "時間:6小時建造 + 旅行的耗時\n" "職缺:%d / 1\n" @@ -172777,28 +178371,28 @@ msgstr "" msgid "" "Notes:\n" "Push gear out to a hide site or bring gear back from one.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 1\n" "Effects:\n" "> Good for returning equipment you left in the hide site shelter.\n" "> Gear is left unattended and could be stolen.\n" "> Time dependent on weight of equipment being sent forward or back.\n" -" \n" +"\n" "Risk: Medium\n" "Time: 1 Hour Base + Travel\n" "Positions: %d/1\n" msgstr "" "註記:\n" "將裝備輸送到藏身處或是從藏身處帶回裝備。\n" -" \n" +"\n" "使用的技能:生存\n" "難度:1\n" "效果:\n" "> 方便帶回你留在藏身處的裝備。\n" "> 放在那的裝備物品無人看管,可能會被偷走。\n" "> 時間取決於要帶走或是要帶回的裝備物品重量。\n" -" \n" +"\n" "風險:中等\n" "時間:基本 1 小時 + 旅行的耗時\n" "職缺:%d / 1\n" @@ -172808,9 +178402,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to forage for edible plants.\n" -" \n" +"\n" "Skill used: survival\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Foraging Possibilities:\n" "> wild vegetables\n" "> fruits and nuts depending on season\n" @@ -172821,7 +178415,7 @@ msgid "" msgstr "" "註記:\n" "派遣同伴去採集可食用的植物。\n" -" \n" +"\n" "使用的技能:生存\n" "難度:N/A\n" "可能的收穫:\n" @@ -172829,7 +178423,7 @@ msgstr "" "> 水果與堅果將取決於季節\n" "耗用的食物可能比獲得得更多!\n" "風險:非常低\n" -"時間:4小時,重複執行\n" +"時間:4 小時,重複執行\n" "職缺:%d / 3\n" #: src/faction_camp.cpp @@ -172837,9 +178431,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to set traps for small game.\n" -" \n" +"\n" "Skill used: trapping\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Trapping Possibilities:\n" "> small and tiny animal corpses\n" "May produce less food than consumed!\n" @@ -172849,14 +178443,14 @@ msgid "" msgstr "" "註記:\n" "派遣同伴設置陷阱捕捉小型動物。\n" -" \n" +"\n" "使用技巧:陷阱\n" "難度:N/A\n" "可能的捕獲物:\n" "> 小型動物的屍體\n" "耗用的食物可能比獲得得更多!\n" "風險:低\n" -"時間:6小時,重複執行\n" +"時間:6 小時,重複執行\n" "職缺:%d / 2\n" #: src/faction_camp.cpp @@ -172864,9 +178458,9 @@ msgstr "" msgid "" "Notes:\n" "Send a companion to hunt large animals.\n" -" \n" +"\n" "Skill used: marksmanship\n" -"Difficulty: N/A \n" +"Difficulty: N/A\n" "Hunting Possibilities:\n" "> small, medium, or large animal corpses\n" "May produce less food than consumed!\n" @@ -172876,14 +178470,14 @@ msgid "" msgstr "" "註記:\n" "派遣同伴去捕獵大型動物。\n" -" \n" +"\n" "使用的技能:射擊\n" "難度:N/A\n" "可能的戰利品:\n" "> 小型、中型或大型動物的屍體\n" "耗用的食物可能比獲得得更多!\n" "風險:中等\n" -"時間:6小時,重複執行\n" +"時間:6 小時,重複執行\n" "職缺:%d / 1\n" #: src/faction_camp.cpp @@ -172895,94 +178489,86 @@ msgstr "建造尖刺壕" msgid "" "Notes:\n" "Send a companion out into the great unknown. High survival skills are needed to avoid combat but you should expect an encounter or two.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 3\n" "Effects:\n" "> Select checkpoints to customize path.\n" "> Reveals terrain around the path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: High\n" "Time: Travel\n" "Positions: %d/3\n" msgstr "" "註記:\n" "派遣同伴到廣大的未知地域。需要很高的生存技能才能避免戰鬥,但你可預期應會有一兩次的遭遇戰。\n" -" \n" +"\n" "使用的技能:生存\n" "難度:3\n" "效果:\n" "> 選取哨點來自定義巡邏路徑。\n" "> 揭示路徑周圍的地形地貌。\n" "> 可以探查隱藏的地點來擴大範圍。\n" -" \n" +"\n" "風險:高\n" "時間:旅行的耗時\n" -"職缺:%d / 3\n" +"職缺:%d/ 3\n" #: src/faction_camp.cpp #, c-format msgid "" "Notes:\n" "Send a companion to purge the wasteland. Their goal is to kill anything hostile they encounter and return when their wounds are too great or the odds are stacked against them.\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: 4\n" "Effects:\n" "> Pulls creatures encountered into combat instead of fleeing.\n" "> Select checkpoints to customize path.\n" "> Can bounce off hide sites to extend range.\n" -" \n" +"\n" "Risk: Very High\n" "Time: Travel\n" "Positions: %d/3\n" msgstr "" "註記:\n" "派遣同伴清理荒地。他們的目標是殺死遇到的任何敵人,並且在嚴重受傷或是勝率過低的情況下返回營寨。\n" -" \n" +"\n" "使用的技能:生存\n" "難度:4\n" "效果:\n" "> 將殺光所有遇到的不死生物而非逃跑。\n" "> 選取哨點來自定義巡邏路徑。\n" "> 可以探查隱藏的地點來擴大範圍。\n" -" \n" +"\n" "風險:非常高\n" "時間:旅行的耗時\n" -"職缺:%d / 3\n" - -#: src/faction_camp.cpp -msgid " Expansion" -msgstr "擴建營區" - -#: src/faction_camp.cpp -msgid "Recover Ally, " -msgstr "召回盟友," +"職缺:%d/ 3\n" #: src/faction_camp.cpp msgid "" "Notes:\n" "Have a companion attempt to completely dissemble a vehicle into components.\n" -" \n" +"\n" "Skill used: mechanics\n" "Difficulty: 2 \n" "Effects:\n" "> Removed parts placed on the furniture in the garage.\n" "> Skill plays a huge role to determine what is salvaged.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 days \n" msgstr "" "註記:\n" "派遣同伴嘗試將車輛完全拆解成零件。\n" -" \n" +"\n" "使用的技能:機械\n" "難度:2\n" "效果:\n" "> 完全拆解放在 [修車廠] 建築內的車輛。\n" -"> 技能在判斷能拆解回收出哪些零件時發揮著極重要的作用。\n" -" \n" +"> 技能在判斷能拆解出哪些零件時發揮著極重要的作用。\n" +"\n" "風險:無\n" "時間:5天\n" @@ -172990,7 +178576,7 @@ msgstr "" msgid "" "Notes:\n" "Plow any spaces that have reverted to dirt or grass.\n" -" \n" +"\n" msgstr "" "註記:\n" "將已經變成土地或草地的地方再重新犁成農田。\n" @@ -172999,25 +178585,25 @@ msgstr "" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: fabrication\n" "Difficulty: N/A \n" "Effects:\n" "> Restores only the plots created in the last expansion upgrade.\n" "> Does not damage existing crops.\n" -" \n" +"\n" "Risk: None\n" "Time: 5 Min / Plot \n" "Positions: 0/1 \n" msgstr "" "\n" -" \n" +"\n" "使用的技能:製作\n" "難度:N/A\n" "效果:\n" "> 僅恢復上次擴建升級中開闢的田地。\n" "> 不會破壞現有作物。\n" -" \n" +"\n" "風險:無\n" "時間:5分鐘/每塊田\n" "職缺:0/1\n" @@ -173026,7 +178612,7 @@ msgstr "" msgid "" "Notes:\n" "Plant designated seeds in the spaces that have already been tilled.\n" -" \n" +"\n" msgstr "" "註記:\n" "在已經犁好的田地中播種植物種子。\n" @@ -173035,27 +178621,27 @@ msgstr "" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Choose which seed type or all of your seeds.\n" "> Stops when out of seeds or planting locations.\n" "> Will plant in ALL dirt mounds in the expansion.\n" -" \n" +"\n" "Risk: None\n" "Time: 1 Min / Plot \n" "Positions: 0/1 \n" msgstr "" "\n" -" \n" +"\n" "使用的技能:生存\n" "難度:N/A\n" "效果:\n" "> 選擇要播種的種子類別或是播種你全部的種子。\n" "> 沒有種子或是沒有農地時會停止作業。\n" "> 會在該營區中所有農地播種。\n" -" \n" +"\n" "風險:無\n" "時間:1 分鐘/每塊田地\n" "職缺:0/1\n" @@ -173064,7 +178650,7 @@ msgstr "" msgid "" "Notes:\n" "Harvest any plants that are ripe and bring the produce back.\n" -" \n" +"\n" msgstr "" "註記:\n" "收割所有成熟的作物並帶回來。\n" @@ -173073,99 +178659,242 @@ msgstr "" #: src/faction_camp.cpp msgid "" "\n" -" \n" +"\n" "Skill used: survival\n" "Difficulty: N/A \n" "Effects:\n" "> Will dump all harvesting products onto your location.\n" -" \n" +"\n" "Risk: None\n" "Time: 3 Min / Plot \n" "Positions: 0/1 \n" msgstr "" "\n" -" \n" +"\n" "使用的技能:生存\n" "難度:N/A\n" "效果:\n" "> 所有收穫的作物將放到你所在的位置。\n" -" \n" +"\n" "風險:無\n" "時間:3 分鐘/每塊田地\n" "職缺:0/1\n" #: src/faction_camp.cpp -msgid "departs to search for materials..." -msgstr "出發去收集材料..." +#, c-format +msgid "" +"Notes:\n" +"Your base has become large enough to support an expansion. Expansions open up new opportunities but can be expensive and time consuming. Pick them carefully, only 8 can be built at each camp.\n" +"\n" +"Skill used: N/A\n" +"Effects:\n" +"> Choose any one of the available expansions. Starting with a farm is always a solid choice since food is used to support companion missions and little is needed to get it going. With minimal investment, a mechanic can be useful as a chop-shop to rapidly dismantle large vehicles, and a forge provides the resources to make charcoal.\n" +"\n" +"NOTE: Actions available through expansions are located in separate tabs of the Camp Manager window.\n" +"\n" +"Risk: None\n" +"Time: 3 Hours\n" +"Positions: %d/1\n" +msgstr "" +"註記:\n" +"你的營寨已經成長到足以擴建新的營區。擴建雖然帶來新契機,卻也耗材又耗時。謹慎地選擇擴建的營區,因為一個營寨只能擴建出周圍八個營區。\n" +"\n" +"使用的技能:N/A\n" +"效果:\n" +"> 選擇擴建一種種類的營區。從 [農場] 開始是一個踏實的選項,因為食物用於支付同伴進行任務,而且維運 [農場] 並不需要太高的成本。只需少少的投資,有機械技能的同伴就可以在 [修車廠] 快速拆除大型的車輛。 [鐵匠鋪] 則能提供製造木炭的設備。\n" +"\n" +"注意:擴建後營區所能進行的任務請在營寨管理員(告示牌)的視窗中選取。\n" +"\n" +"風險:無\n" +"時間:3 小時\n" +"職缺:%d / 1\n" #: src/faction_camp.cpp -msgid "departs to search for firewood..." -msgstr "出發去蒐集薪柴..." +#, c-format +msgid "" +"Notes:\n" +"Distribute food to your follower and fill you larders. Place the food you wish to distribute in the camp food zone. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone or you will be prompted to create them using the zone manager.\n" +"Effects:\n" +"> Increases your faction's food supply value which in turn is used to pay laborers for their time\n" +"\n" +"Must have enjoyability >= -6\n" +"Perishable food liquidated at penalty depending on upgrades and rot time:\n" +"> Rotten: 0%%\n" +"> Rots in < 2 days: 60%%\n" +"> Rots in < 5 days: 80%%\n" +"\n" +"Total faction food stock: %d kcal\n" +"or %d day's rations" +msgstr "" +"註記:\n" +"將食物分配給你的追隨者並填滿糧倉。將你想要發配的食物放在 [營寨:儲糧] 區。你必須要設有 [營寨:儲糧] 區、 [物資:未整理] 區以及至少一個 [物資:(任意)] 區,否則系統將提示你使用區域管理員來創建它們。\n" +"功效:\n" +"> 增加你的陣營的糧食供應數值,這也等於勞動者所能運用的總工時\n" +"\n" +"食物的享受值必須 > = -6\n" +"根據升級與距離腐爛時間,易腐食物將會做減值加權計算:\n" +"> 已經腐爛的食物:0%%\n" +"> 將在 2天內腐爛:60%%\n" +"> 將在 5天內腐爛:80%%\n" +"\n" +"陣營糧食總庫存:%d千卡\n" +"或者 %d 天的配給" #: src/faction_camp.cpp -msgid "returns from working in the woods..." +msgid "Distribute Food" +msgstr "分配食物" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Reset the zones that items are sorted to using the [ Menial Labor ] mission.\n" +"\n" +"Effects:\n" +"> Assign sort zones using the zone manager. You must have a camp food zone, an unsorted loot zone, and at least one loot destination zone.\n" +"> Only items that are in the unsorted loot zone and not in any other zone will be sorted.\n" +"Items that do not have a loot destination zone will be sorted using the normal rules for automatic zone sorting." +msgstr "" +"註記:\n" +"重置物品分類區域, [雜務] 任務進行物品分類歸位的區域。\n" +"\n" +"效果:\n" +"> 使用區域管理員指定分類的區域。你必須有一個 [營寨:儲糧] 區,一個 [物資:未整理] 區和至少一個 [物資:(任意)] 區。\n" +"> 僅對 [物資:未整理] 區中的物品進行分類歸位,而不對其他任何區域中的物品進行分類歸位。\n" +"沒有所屬分類區域的物品將使用自動區域分類的一般規則進行分類歸位。" + +#: src/faction_camp.cpp +msgid "Reset Sort Points" +msgstr "區域管理員" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Assign repeating job duties to NPCs stationed here.\n" +"Difficulty: N/A\n" +"Effects:\n" +"\n" +"\n" +"Risk: None\n" +"Time: Ongoing" +msgstr "" +"註記:\n" +"將重複的工作指派給駐紮在這裡的 NPC。\n" +"難度:N/A \n" +"效果:\n" +"\n" +"\n" +"風險:無\n" +"時間:持續進行" + +#: src/faction_camp.cpp +msgid "Assign Jobs" +msgstr "指派工作" + +#: src/faction_camp.cpp +msgid "" +"Notes:\n" +"Cancel a current mission and force the immediate return of a companion. No work will be done on the mission and all resources used on the mission will be lost.\n" +"\n" +"WARNING: All resources used on the mission will be lost and no work will be done. Only use this mission to recover a companion who cannot otherwise be recovered.\n" +"\n" +"Companions must be on missions for at least 24 hours before emergency recall becomes available." +msgstr "" +"註記:\n" +"取消當前任務並強迫同伴立即返回。該任務的所有作業皆取消,將失去所有該任務使用的資源。\n" +"\n" +"警告:任務中使用的所有資源都將丟失,並且無法完成任何工作。此任務只適用於召回原本就無法回覆工作的同伴。\n" +"\n" +"同伴必須執行任務至少24小時,才能使用緊急召回。" + +#: src/faction_camp.cpp +msgid "departs to survey land…" +msgstr "出發去勘查土地..." + +#: src/faction_camp.cpp +msgid "departs to search for materials…" +msgstr "出發去搜集材料..." + +#: src/faction_camp.cpp +msgid "departs to search for firewood…" +msgstr "出發去搜集薪柴..." + +#: src/faction_camp.cpp +msgid "returns from working in the woods…" msgstr "從樹林工作後返回..." #: src/faction_camp.cpp -msgid "returns from working on the hide site..." +msgid "returns from working on the hide site…" msgstr "從藏身處工作後返回..." #: src/faction_camp.cpp -msgid "returns from shuttling gear between the hide site..." -msgstr "從藏身處間輸送裝備後返回..." +msgid "returns from shuttling gear between the hide site…" +msgstr "從藏身處之間運送裝備後返回..." #: src/faction_camp.cpp -msgid "departs to search for edible plants..." -msgstr "出發去尋找可食用的蔬果..." +msgid "departs to search for edible plants…" +msgstr "出發去搜集可食用的蔬果..." #: src/faction_camp.cpp -msgid "departs to set traps for small animals..." +msgid "departs to set traps for small animals…" msgstr "出發去設陷阱誘捕小型動物..." #: src/faction_camp.cpp -msgid "departs to hunt for meat..." +msgid "departs to hunt for meat…" msgstr "出發去獵捕大型動物..." #: src/faction_camp.cpp -msgid "departs to search for recruits..." -msgstr "出發去找尋招募新成員..." +msgid "departs to search for recruits…" +msgstr "出發去找尋新成員..." #: src/faction_camp.cpp -msgid "departs to survey land..." -msgstr "出發去勘查土地..." +msgid "returns to you with something…" +msgstr "給你帶回了些東西..." #: src/faction_camp.cpp -msgid "returns to you with something..." -msgstr "回來了,並給你帶回了一些東西..." - -#: src/faction_camp.cpp -msgid "returns from your farm with something..." +msgid "returns from your farm with something…" msgstr "從你的農場返回並帶回了一些東西..." #: src/faction_camp.cpp -msgid "returns from your kitchen with something..." +msgid "returns from your kitchen with something…" msgstr "從你的廚房返回並帶回了一些東西..." #: src/faction_camp.cpp -msgid "returns from your blacksmith shop with something..." +msgid "returns from your blacksmith shop with something…" msgstr "從你的鐵匠鋪返回並帶回了一些東西..." #: src/faction_camp.cpp -msgid "returns from your garage..." -msgstr "從你的修車廠回來了..." +msgid "returns from your garage…" +msgstr "從你的修車廠返回..." #: src/faction_camp.cpp msgid "You don't have enough food stored to feed your companion." msgstr "你沒有足夠的儲糧來餵飽你的同伴。" #: src/faction_camp.cpp -msgid "begins to upgrade the camp..." -msgstr "開始升級營寨......" +msgid "begins to upgrade the camp…" +msgstr "開始升級營寨..." #: src/faction_camp.cpp msgid "You don't have the materials for the upgrade." msgstr "你沒有升級所需的材料。" +#: src/faction_camp.cpp +msgid "There are no npcs stationed here" +msgstr "沒有 NPC 駐紮在這裡" + +#: src/faction_camp.cpp src/npc.cpp +msgid "No particular job" +msgstr "沒有特定的工作" + +#: src/faction_camp.cpp +#, c-format +msgid "Press %s to change this workers job." +msgstr "按 %s 來更改這位人員的工作。" + +#: src/faction_camp.cpp +msgid "Assign which job?" +msgstr "指派哪項工作?" + #: src/faction_camp.cpp #, c-format msgid "%s goes off to clean toilets and sort loot." @@ -173185,7 +178914,7 @@ msgstr "" "%s" #: src/faction_camp.cpp -msgid "departs to cut logs..." +msgid "departs to cut logs…" msgstr "出發去砍伐原木..." #: src/faction_camp.cpp @@ -173193,7 +178922,7 @@ msgid "Forests are the only valid cutting locations." msgstr "森林是唯一能進行砍伐原木的地點。" #: src/faction_camp.cpp -msgid "departs to clear a forest..." +msgid "departs to clear a forest…" msgstr "出發去清除樹林..." #: src/faction_camp.cpp @@ -173205,11 +178934,11 @@ msgid "Do you wish to give your companion additional items?" msgstr "你想給同伴額外的物品嗎?" #: src/faction_camp.cpp -msgid "departs to build a hide site..." +msgid "departs to build a hide site…" msgstr "出發去建立藏身處..." #: src/faction_camp.cpp -msgid "You need equipment to setup a hide site..." +msgid "You need equipment to setup a hide site…" msgstr "你需要裝備來建立藏身處..." #: src/faction_camp.cpp @@ -173221,11 +178950,11 @@ msgid "Bring gear back?" msgstr "帶回裝備?" #: src/faction_camp.cpp -msgid "departs for the hide site..." -msgstr "出發到藏身處..." +msgid "departs for the hide site…" +msgstr "出發前往藏身處..." #: src/faction_camp.cpp -msgid "You need equipment to transport between the hide site..." +msgid "You need equipment to transport between the hide site…" msgstr "你需要裝備來輸送到藏身處..." #: src/faction_camp.cpp @@ -173252,7 +178981,7 @@ msgid "You don't have the material to build the fortification." msgstr "你沒有材料來建造防禦工事。" #: src/faction_camp.cpp -msgid "begins constructing fortifications..." +msgid "begins constructing fortifications…" msgstr "開始建造防禦工事..." #: src/faction_camp.cpp @@ -173262,7 +178991,7 @@ msgid "" msgstr "選擇一個哨點直到已達最大範圍,或是繼續選擇哨點直到終點。" #: src/faction_camp.cpp -msgid "departs on patrol..." +msgid "departs on patrol…" msgstr "出發去巡邏..." #: src/faction_camp.cpp @@ -173279,31 +179008,31 @@ msgid "Your batch is too large!" msgstr "這批數量太大了!" #: src/faction_camp.cpp -msgid "begins to work..." -msgstr "開始作業..." +msgid "begins to work…" +msgstr "開始進行..." #: src/faction_camp.cpp -msgid "+ more \n" +msgid "+ more\n" msgstr "+ 更多\n" #: src/faction_camp.cpp -msgid "begins to harvest the field..." -msgstr "開始收成作物..." +msgid "begins to harvest the field…" +msgstr "開始收成農地..." #: src/faction_camp.cpp -msgid "You have no additional seeds to give your companions..." -msgstr "你沒有額外的種子能給你的同伴......" +msgid "You have no additional seeds to give your companions…" +msgstr "你沒有額外的種子能給你的同伴..." #: src/faction_camp.cpp src/mission_companion.cpp msgid "Which seeds do you wish to have planted?" msgstr "你想種下那一類種子?" #: src/faction_camp.cpp -msgid "begins planting the field..." -msgstr "開始播種田地..." +msgid "begins planting the field…" +msgstr "開始播種農地..." #: src/faction_camp.cpp -msgid "begins plowing the field..." +msgid "begins plowing the field…" msgstr "開始耕犁農地..." #: src/faction_camp.cpp @@ -173316,12 +179045,16 @@ msgstr "" "%s" #: src/faction_camp.cpp -msgid "begins working in the garage..." +msgid "begins working in the garage…" msgstr "開始在修車廠作業..." #: src/faction_camp.cpp -msgid "Your companion seems disappointed that your pantry is empty..." -msgstr "你的同伴似乎對於你的食品儲藏室是空的感到失望。" +msgid "Your companion seems disappointed that your pantry is empty…" +msgstr "你的同伴似乎對於你的食品儲藏室是空的感到失望..." + +#: src/faction_camp.cpp +msgid "responds to the emergency recall…" +msgstr "回應緊急召回中..." #: src/faction_camp.cpp #, c-format @@ -173329,11 +179062,11 @@ msgid "%s failed to build the %s upgrade." msgstr "%s 無法建造升級 %s 。" #: src/faction_camp.cpp -msgid "returns from upgrading the camp having earned a bit of experience..." -msgstr "完成了升級營寨的工作,並獲得了一點經驗值..." +msgid "returns from upgrading the camp having earned a bit of experience…" +msgstr "完成了升級營寨的工作,返回並獲得了一點經驗值..." #: src/faction_camp.cpp -msgid "returns from doing the dirty work to keep the camp running..." +msgid "returns from doing the dirty work to keep the camp running…" msgstr "完成了骯髒的工作使營寨能繼續運作..." #: src/faction_camp.cpp @@ -173354,53 +179087,51 @@ msgstr "獵捕大型動物中" #: src/faction_camp.cpp #, c-format -msgid "returns from %s carrying supplies and has a bit more experience..." -msgstr "從%s返回,帶回一些補給品也獲得了一些經驗值..." +msgid "returns from %s carrying supplies and has a bit more experience…" +msgstr "從 %s 返回,帶回一些補給品也獲得了一些經驗值..." #: src/faction_camp.cpp -msgid "returns from constructing fortifications..." +msgid "returns from constructing fortifications…" msgstr "從建築防禦工事作業中返回..." #: src/faction_camp.cpp -msgid "returns from searching for recruits with a bit more experience..." -msgstr "完成了找尋招募新成員的工作,並獲得了一點經驗值..." +msgid "returns from searching for recruits with a bit more experience…" +msgstr "完成了找尋招募新成員的工作,返回並獲得了一點經驗值..." #: src/faction_camp.cpp #, c-format -msgid "%s encountered %s..." +msgid "%s encountered %s…" msgstr "%s遇到了%s..." #: src/faction_camp.cpp #, c-format -msgid "%s didn't find anyone to recruit..." +msgid "%s didn't find anyone to recruit…" msgstr "%s沒有找到可招募的新成員..." #: src/faction_camp.cpp #, c-format -msgid "%s convinced %s to hear a recruitment offer from you..." +msgid "%s convinced %s to hear a recruitment offer from you…" msgstr "%s說服了%s來聽你提供的招募條件..." #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested in anything %s had to offer..." +msgid "%s wasn't interested in anything %s had to offer…" msgstr "%s對%s提供的東西完全不感興趣..." #: src/faction_camp.cpp msgid "" "NPC Overview:\n" -" \n" +"\n" msgstr "" -"NPC 概觀:\n" +"NPC 概觀:\n" "\n" #: src/faction_camp.cpp #, c-format msgid "" -"Name: %20s\n" -" \n" +"Name: %s\n" +"\n" msgstr "" -"姓名: %20s\n" -" \n" #: src/faction_camp.cpp #, c-format @@ -173421,10 +179152,10 @@ msgstr "智力: %10d\n" #, c-format msgid "" "Perception: %10d\n" -" \n" +"\n" msgstr "" -"感知: %10d\n" -" \n" +"感知: %10d\n" +"\n" #: src/faction_camp.cpp msgid "Top 3 Skills:\n" @@ -173438,27 +179169,27 @@ msgstr "要求:\n" #, c-format msgid "" "> Food: %10d days\n" -" \n" +"\n" msgstr "" -"> 儲糧: %10d 天\n" -" \n" +"> 儲糧: %10d 天\n" +"\n" #: src/faction_camp.cpp #, c-format msgid "" "Faction Food:%9d days\n" -" \n" +"\n" msgstr "" -"陣營儲糧:%9d天\n" +"陣營儲糧:%9d 天\n" "\n" #: src/faction_camp.cpp #, c-format msgid "" "Recruit Chance: %10d%%\n" -" \n" +"\n" msgstr "" -"招募機率:%10d%%\n" +"招募機率: %10d%%\n" "\n" #: src/faction_camp.cpp @@ -173482,7 +179213,7 @@ msgid "Not Interested" msgstr "沒興趣" #: src/faction_camp.cpp -msgid "You decide you aren't interested..." +msgid "You decide you aren't interested…" msgstr "你確定自己不感興趣..." #: src/faction_camp.cpp @@ -173492,26 +179223,25 @@ msgstr "%s已經被說服要加入了!" #: src/faction_camp.cpp #, c-format -msgid "%s wasn't interested..." +msgid "%s wasn't interested…" msgstr "%s沒有意願..." #: src/faction_camp.cpp -msgid "Your companion hit a river and didn't know how to swim..." -msgstr "你的同伴遇見一條河,但不會游泳而無法過河......" +msgid "Your companion hit a river and didn't know how to swim…" +msgstr "你的同伴遇見一條河,可是不會游泳..." #: src/faction_camp.cpp msgid "" -"Your companion hit a river and didn't know how to swim well enough to " -"cross..." +"Your companion hit a river and didn't know how to swim well enough to cross…" msgstr "你的同伴遇見一條河,但游泳技能不足無法游泳過河......" #: src/faction_camp.cpp #, c-format -msgid "%s didn't return from patrol..." +msgid "%s didn't return from patrol…" msgstr "%s沒有從巡邏任務回來..." #: src/faction_camp.cpp -msgid "returns from patrol..." +msgid "returns from patrol…" msgstr "從巡邏任務回來..." #: src/faction_camp.cpp @@ -173551,8 +179281,8 @@ msgid "returns from surveying for the expansion." msgstr "從擴建的勘查任務返回。" #: src/faction_camp.cpp -msgid "returns from working your fields... " -msgstr "從平原工作中返回..." +msgid "returns from working your fields…" +msgstr "從農地工作後返回..." #: src/faction_camp.cpp #, c-format @@ -173611,27 +179341,27 @@ msgstr "> 涵蓋:%15d(公尺)\n" #: src/faction_camp.cpp #, c-format -msgid ">Travel: %23s\n" -msgstr "> 移動:%23s\n" +msgid ">Travel: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid ">Working: %23s\n" -msgstr "> 作業:%23s\n" +msgid ">Working: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Total: %23s\n" -msgstr "總共: %23s\n" +msgid "Total: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format msgid "" "Food: %15d (kcal)\n" -" \n" +"\n" msgstr "" -"食物: %15d (大卡)\n" -" \n" +"食物: %15d (千卡)\n" +"\n" #: src/faction_camp.cpp #, c-format @@ -173651,34 +179381,34 @@ msgstr "" msgid "" "Notes:\n" "Recruiting additional followers is very dangerous and expensive. The outcome is heavily dependent on the skill of the companion you send and the appeal of your base.\n" -" \n" +"\n" "Skill used: speech\n" -"Difficulty: 2 \n" +"Difficulty: 2\n" "Base Score: +%3d%%\n" "> Expansion Bonus: +%3d%%\n" "> Faction Bonus: +%3d%%\n" "> Special Bonus: +%3d%%\n" -" \n" +"\n" "Total: Skill +%3d%%\n" -" \n" +"\n" "Risk: High\n" "Time: 4 Days\n" "Positions: %d/1\n" msgstr "" "註記:\n" "招募額外的追隨者是非常危險而且花費昂貴的。結果在很大程度上取決於執行任務同伴的技能和你營寨的吸引力。\n" -" \n" +"\n" "使用技能:口才\n" "難度:2\n" -"基本分數:+%3d%%\n" -">擴建加成:+%3d%%\n" -">陣營加成:+%3d%%\n" -">特殊加成:+%3d%%\n" -" \n" -"總計:技能 +%3d%%\n" -" \n" +"基本分數: +%3d%%\n" +">擴建加成: +%3d%%\n" +">陣營加成: +%3d%%\n" +">特殊加成: +%3d%%\n" +"\n" +"總計: 技能 +%3d%%\n" +"\n" "風險:高\n" -"時間:4天\n" +"時間:4 天\n" "職缺:%d / 1\n" #: src/faction_camp.cpp @@ -173695,8 +179425,8 @@ msgstr "需要犁田:" #: src/faction_camp.cpp #, c-format -msgid "Name: %25s\n" -msgstr "名稱: %25s\n" +msgid "Name: %s\n" +msgstr "" #: src/faction_camp.cpp msgid "---- Engines ----\n" @@ -173704,8 +179434,8 @@ msgstr "---- 引擎 ----\n" #: src/faction_camp.cpp #, c-format -msgid "Engine: %25s\n" -msgstr "引擎:%25s\n" +msgid "Engine: %s\n" +msgstr "" #: src/faction_camp.cpp #, c-format @@ -173714,8 +179444,8 @@ msgstr "> 狀態:%24d%%\n" #: src/faction_camp.cpp #, c-format -msgid ">Fuel: %25s\n" -msgstr "> 燃料:%25s\n" +msgid ">Fuel: %s\n" +msgstr "" #: src/faction_camp.cpp msgid "---- Fuel Storage & Battery ----\n" @@ -173726,11 +179456,11 @@ msgid "Estimated Chop Time: 5 Days\n" msgstr "預計拆解耗時: 5 Days\n" #: src/faction_camp.cpp -msgid "You do not have a camp food zone. Aborting..." +msgid "You do not have a camp food zone. Aborting…" msgstr "你沒有 [營寨:儲糧] 區。中止..." #: src/faction_camp.cpp -msgid "No items are located at the drop point..." +msgid "No items are located at the drop point…" msgstr "該區域內沒有物品..." #: src/faction_camp.cpp @@ -173740,7 +179470,7 @@ msgstr "你分配了%d千卡的儲糧給你的同伴們。" #: src/faction_camp.cpp #, c-format -msgid "While %s, a silent specter approaches %s..." +msgid "While %s, a silent specter approaches %s…" msgstr "正當%s,一個無聲的幽靈接近%s..." #: src/faction_camp.cpp @@ -173772,8 +179502,8 @@ msgstr "" #: src/faction_camp.cpp #, c-format -msgid "The bull moose charged %s from the tree line..." -msgstr "" +msgid "The bull moose charged %s from the tree line…" +msgstr "駝鹿從樹林間衝出朝向%s進攻..." #: src/faction_camp.cpp #, c-format @@ -173791,12 +179521,12 @@ msgstr "" #, c-format msgid "" "Terrified, %s spun around and delivered a massive kick to the creature's " -"torso..." +"torso…" msgstr "" #: src/faction_camp.cpp #, c-format -msgid "Collapsing into a pile of gore, %s walked away unscathed..." +msgid "Collapsing into a pile of gore, %s walked away unscathed…" msgstr "" #: src/faction_camp.cpp @@ -173807,7 +179537,7 @@ msgstr "(聽起來像胡說八道,你想知道到底發生了什麼。)" #, c-format msgid "" "%s turned to find the hideous black eyes of a giant wasp staring back from " -"only a few feet away..." +"only a few feet away…" msgstr "" #: src/faction_camp.cpp @@ -173820,8 +179550,8 @@ msgid "Pieces of %s were found strewn across a few bushes." msgstr "" #: src/faction_camp.cpp -msgid "(You wonder if your companions are fit to work on their own...)" -msgstr "(你想知道你的同伴是否適合被指派的工作......)" +msgid "(You wonder if your companions are fit to work on their own…)" +msgstr "(你想知道你的同伴是否適合被指派的工作...)" #: src/fungal_effects.cpp src/iuse.cpp #, c-format @@ -173854,8 +179584,8 @@ msgid "Loading core data" msgstr "正在讀取核心數據" #: src/game.cpp -msgid "Please wait while the world data loads..." -msgstr "正在讀取世界資料, 請稍候…" +msgid "Please wait while the world data loads…" +msgstr "正在讀取世界資料,請稍候…" #: src/game.cpp src/start_location.cpp msgid "Please wait as we build your world" @@ -173891,8 +179621,8 @@ msgstr "死亡後刪除世界" #: src/game.cpp #, c-format -msgid "World retained. Characters remaining:%s" -msgstr "世界保留。殘存角色: %s" +msgid "World retained. Characters remaining:%s" +msgstr "世界保留。殘存角色:%s" #: src/game.cpp #, c-format @@ -173900,8 +179630,8 @@ msgid "The %s is dangerously close!" msgstr "%s很靠近,很危險!" #: src/game.cpp -msgid "Wait till you wake up..." -msgstr "等你睡醒…" +msgid "Wait till you wake up…" +msgstr "等你醒來..." #: src/game.cpp #, c-format @@ -174076,8 +179806,8 @@ msgid "You are not wielding a ranged weapon." msgstr "你的手上沒有遠程武器。" #: src/game.cpp -msgid "Watch the last moments of your life...?" -msgstr "看你死後的情形…?" +msgid "Watch the last moments of your life…?" +msgstr "看你生命的最後一刻...?" #: src/game.cpp msgid "Loading files" @@ -174126,15 +179856,15 @@ msgid "Failed to save game data" msgstr "無法儲存遊戲數據" #: src/game.cpp -msgid " You are forgotten among the billions lost in the cataclysm..." -msgstr " 在大災難中失去的數十億人中,你只是被遺忘的一員..." +msgid " You are forgotten among the billions lost in the cataclysm…" +msgstr " 在大災難中失去的數十億人,你只是其中被遺忘的一員..." #: src/game.cpp msgid "" " Locked in an endless battle, the Old Guard was forced to consolidate " "their resources in a handful of fortified bases along the coast. Without " -"the men or material to rebuild, the soldiers that remained lost all hope..." -msgstr "" +"the men or material to rebuild, the soldiers that remained lost all hope…" +msgstr " 受困於一場無止盡的戰鬥之中,舊日守衛被迫將其資源整合到沿海少數堅固的基地中。缺乏人力與物資來重建,留下來的士兵已失去了所有希望…" #: src/game.cpp msgid "" @@ -174144,16 +179874,20 @@ msgid "" "success. Forced to eventually consolidate to large bases, the Old Guard " "left these facilities in the hands of the few survivors that remained. As " "the years past, little materialized from the hopes of rebuilding " -"civilization..." +"civilization…" msgstr "" +" " +"大災變之後,每個倖存者的堅韌給曾經光榮的聯盟已敗落的殘體留下了深刻的印象。經由小規模的成功刺激帶動了許多重建安全設施的行動也取得了有限的勝利。舊日守衛最終被迫固守在大型基地中,而將這些重建安全的設施留給剩下的少數倖存者。如同過往的時光,重建文明的希望幾乎沒有實現的可能。" #: src/game.cpp msgid "" " Life in the refugee shelter deteriorated as food shortages and disease " "destroyed any hope of maintaining a civilized enclave. The merchants and " "craftsmen dispersed to found new colonies but most became victims of " -"marauding bandits. Those who survived never found a place to call home..." +"marauding bandits. Those who survived never found a place to call home…" msgstr "" +" " +"由於糧食短缺和疾病破壞了維持文明飛地的希望,難民營的生活不斷惡化。商人和工匠們分散到新的殖民地,但大多數人成為流寇土匪的受害者。那些倖存下來的人永遠找不到能稱為家園的地方…" #: src/game.cpp msgid "" @@ -174161,8 +179895,10 @@ msgid "" "once profitable trade routes were plundered by bandits and thugs. In " "squalor and filth the first generations born after the cataclysm are told " "stories of the old days when food was abundant and the children were allowed" -" to play in the sun..." +" to play in the sun…" msgstr "" +" " +"自由商會多年來一直在努力維持餵飽自己,但是他們曾經有利可圖的貿易路線已被土匪和暴徒掠奪。大災變後出生的第一代人被困在困苦汙穢的生活中,聽著人們說著過去的事情,那是個食物豐富,孩子們可以在陽光下玩耍的時代…" #: src/game.cpp msgid "" @@ -174186,8 +179922,10 @@ msgid "" " The lone bands of survivors who wandered the now alien world dwindled in" " number through the years. Unable to compete with the growing number of " "monstrosities that had adapted to live in their world, those who did survive" -" lived in dejected poverty and hopelessness..." +" lived in dejected poverty and hopelessness…" msgstr "" +" " +"徘徊在如今已充滿外星生物的世界,孤立的倖存者團體正在逐年減少。由於要與這些已經適應世界環境而逐漸增長的怪物們對抗越來越難,那些倖存下來的人只能活在沮喪的貧困與絕望之中..." #: src/game.cpp msgid "" @@ -174196,8 +179934,10 @@ msgid "" "old world. Enormous hordes made cities impossible to enter while new " "eldritch horrors appeared mysteriously near old research labs. But on the " "fringes of where civilization once ended, bands of hunter-gatherers began to" -" adopt agrarian lifestyles in fortified enclaves..." +" adopt agrarian lifestyles in fortified enclaves…" msgstr "" +" " +"在大災變開始之初蓬勃發展的拾荒者們發現,尋找和維護舊世界的設備的挑戰逐日增高。數量龐大的屍群讓人無法進入城市,而從未見過的恐怖怪物則在舊的研究實驗室附近神秘地不斷出現。但是在這樣曾經終結的文明邊緣,有許多狩獵採集者們已經開始在強化防禦的飛地中開始農業生活方式…" #: src/game.cpp msgid "" @@ -174216,8 +179956,11 @@ msgid "" "brought the warlords abundant territory and slaves but little in the way of " "stability. Within weeks, infighting led to civil war as tribes vied for " "leadership of the faction. When only one warlord finally secured control, " -"there was nothing left to fight for... just endless cities full of the dead." +"there was nothing left to fight for… just endless cities full of the dead." msgstr "" +" " +"在藥物和怒火的刺激下,地獄掠奪者們用牙齒和指甲搏鬥,顛覆了舊日守衛的最後要塞。代價高昂的勝利給軍閥帶來了充裕的領土和奴隸,但是卻很少帶來穩定。幾週之內,由於各派系為了爭奪該陣營的領導權,內鬥導致了內戰。當只有一個軍閥最終獲得掌管權力時,就沒有什麼可爭奪的..." +" 只剩無數滿是死人的城市。" #: src/game.cpp #, c-format @@ -174393,13 +180136,6 @@ msgid "" "increased by %s." msgstr "" -#: src/game.cpp -#, c-format -msgid "" -"WARNING: %i percent chance of SEVERE damage to all body parts! Continue " -"anyway?" -msgstr "" - #: src/game.cpp msgid "Successfully removed Personality override." msgstr "" @@ -174542,8 +180278,8 @@ msgid "Never mind" msgstr "沒事" #: src/game.cpp src/npctalk.cpp -msgid "You may be attacked! Proceed?" -msgstr "你可能會被攻擊! 確定?" +msgid "You may be attacked! Proceed?" +msgstr "你可能會被攻擊!確定?" #: src/game.cpp msgid "Examine where?" @@ -174729,12 +180465,12 @@ msgid "There's something there, but you can't see what it is." msgstr "有什麼東西在這裡, 但你看不到它。" #: src/game.cpp -msgid "More items here..." +msgid "More items here…" msgstr "這裡有更多的物品…" #: src/game.cpp #, c-format -msgctxt "%s is the name of the item. %d is the quantity of that item." +msgctxt "%s is the name of the item. %d is the quantity of that item." msgid "%s [%d]" msgstr "%s [%d]" @@ -175053,8 +180789,8 @@ msgstr "你沒有必要的工具來拆解物品。" #: src/game.cpp #, c-format -msgid "You see %s nearby! Start butchering anyway?" -msgstr "你看見 %s 在附近! 仍要屠宰?" +msgid "You see %s nearby! Start butchering anyway?" +msgstr "你看見 %s 在附近!仍要屠宰?" #: src/game.cpp msgid "Choose corpse to butcher / item to disassemble" @@ -175090,8 +180826,8 @@ msgstr "你沒有心情, 而且光想像如何作業, 就讓你還沒開始就 #: src/game.cpp src/iuse.cpp src/iuse.cpp src/iuse.cpp src/veh_interact.cpp #: src/veh_interact.cpp #, c-format -msgid "%s helps with this task..." -msgstr "%s 協助這項工作..." +msgid "%s helps with this task…" +msgstr "%s 幫忙這項工作..." #: src/game.cpp #, c-format @@ -175150,7 +180886,7 @@ msgstr "你需要至少一個 %s 才能重新裝填 %s!" msgid "The %s is already full!" msgstr "%s 已經滿了!" -#: src/game.cpp +#: src/game.cpp src/ranged.cpp #, c-format msgid "You can't reload a %s!" msgstr "你不能裝填 %s!" @@ -175175,13 +180911,6 @@ msgstr "你沒東西可卸下。" msgid "You're not wielding anything." msgstr "你沒有手持任何東西。" -#. ~ %1$s: weapon name, %2$s: holster name -#: src/game.cpp src/player.cpp -#, c-format -msgctxt "holster" -msgid "Draw %1$s from %2$s?" -msgstr "拔出 %1$s 從 %2$s?" - #: src/game.cpp #, c-format msgid "There's an angry red dot on your body, %s to brush it off." @@ -175204,9 +180933,9 @@ msgstr ", %s 把怪物加入白名單" #: src/game.cpp #, c-format msgid "" -"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " +"Spotted %1$s--safe mode is on! (%2$s to turn it off, %3$s to ignore " "monster%4$s)" -msgstr "發現 %1$s: 安全模式已被觸發! (%2$s 關閉安全模式, %3$s 忽略這個怪物%4$s)" +msgstr "發現 %1$s -- 安全模式開啟!(%2$s:關閉安全模式, %3$s:忽略怪物%4$s)" #: src/game.cpp #, c-format @@ -175245,8 +180974,12 @@ msgstr "確定踏入 %s?" msgid "Your %s refuses to move over that ledge!" msgstr "" -#: src/game.cpp src/player.cpp src/player.cpp -msgid "You let go of the grabbed object." +#: src/game.cpp +msgid "You can't fit there." +msgstr "" + +#: src/game.cpp +msgid "Your mount can't fit there." msgstr "" #: src/game.cpp @@ -175403,11 +181136,15 @@ msgid "" "There are vehicle controls here but you cannot reach them whilst mounted." msgstr "" +#: src/game.cpp +msgid "You are repelled by the barrier!" +msgstr "" + #: src/game.cpp msgid "" -"You try to quantum tunnel through the barrier but are reflected! Try again " +"You try to quantum tunnel through the barrier but are reflected! Try again " "with more energy!" -msgstr "你想用量子穿隧穿過障礙物, 但因為能量不足失敗。" +msgstr "你想用量子穿隧穿過障礙物卻被反射彈回!蓄積更多能量再嘗試看看。" #: src/game.cpp msgid "It's too dangerous to tunnel that far!" @@ -175436,6 +181173,16 @@ msgstr "你試著移動這沉重的 %s 結果拉傷了!" msgid "There's stuff in the way." msgstr "有東西擋住了。" +#: src/game.cpp +#, c-format +msgid "The %s is really heavy!" +msgstr "" + +#: src/game.cpp +#, c-format +msgid "You fail to move the %s." +msgstr "" + #: src/game.cpp #, c-format msgid "The %s is too heavy for you to budge." @@ -175490,8 +181237,8 @@ msgstr "攀爬 %s" #: src/game.cpp #, c-format -msgid "You try to use the stairs. Suddenly you are blocked by a %s!" -msgstr "你試圖使用樓梯。突然 %s 擋住你的去路!" +msgid "You try to use the stairs. Suddenly you are blocked by a %s!" +msgstr "你試圖使用樓梯。突然 %s 擋住你的去路!" #: src/game.cpp #, c-format @@ -175587,8 +181334,8 @@ msgid "Halfway down, the way down becomes blocked off." msgstr "才下去了一半, 結果路都堵住了。" #: src/game.cpp -msgid "There is a sheer drop halfway down. Web-descend?" -msgstr "這是一個陡坡, 使用蛛網垂降嗎?" +msgid "There is a sheer drop halfway down. Web-descend?" +msgstr "這是一個陡坡,使用蛛網垂降嗎?" #: src/game.cpp msgid "" @@ -175605,8 +181352,8 @@ msgid "There is a sheer drop halfway down. Use your vines to descend?" msgstr "這是一個陡坡, 要使用你的藤蔓降下去嗎?" #: src/game.cpp -msgid "Detach a vine? It'll hurt, but you'll be able to climb back up..." -msgstr "要截斷一條藤蔓嗎? 這會讓你受傷, 但這樣你就能用它爬回去了…" +msgid "Detach a vine? It'll hurt, but you'll be able to climb back up…" +msgstr "要截斷一條藤蔓嗎?這會讓你受傷,但這樣你就能用它爬回去了…" #: src/game.cpp msgid "You descend on your vines, though leaving a part of you behind stings." @@ -175622,12 +181369,12 @@ msgid "" msgstr "你輕鬆著陸, 並且留了一部份的藤蔓來備用。" #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your grappling hook down?" -msgstr "這是一個陡坡, 要使用抓鉤垂降嗎?" +msgid "There is a sheer drop halfway down. Climb your grappling hook down?" +msgstr "這是一個陡坡,要使用抓鉤垂降嗎?" #: src/game.cpp -msgid "There is a sheer drop halfway down. Climb your rope down?" -msgstr "這是一個陡坡, 要使用繩索垂降嗎?" +msgid "There is a sheer drop halfway down. Climb your rope down?" +msgstr "這是一個陡坡,要使用繩索垂降嗎?" #: src/game.cpp msgid "There is a sheer drop halfway down. Jump?" @@ -175688,8 +181435,8 @@ msgstr "%s 把你推回去!" #: src/game.cpp #, c-format -msgid "The %s tried to push you back but failed! It attacks you!" -msgstr "%s 試圖把你推回去但失敗了! 它開始攻擊你!" +msgid "The %s tried to push you back but failed! It attacks you!" +msgstr "%s 試圖把你推回去但失敗了!它開始攻擊你!" #: src/game.cpp #, c-format @@ -175717,26 +181464,26 @@ msgstr "%s 暫時沒有存檔。" #: src/game.cpp #, c-format msgid "" -"Whoa! Your terminal is tiny! This game requires a minimum terminal size of " -"%dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " +"Whoa! Your terminal is tiny! This game requires a minimum terminal size of" +" %dx%d to work properly. %dx%d just won't do. Maybe a smaller font would " "help?" -msgstr "兄弟! 這個遊戲需要至少 %dx%d 的畫面大小才可以玩喔, 目前 %dx%d 這樣是不行的, 也許換成較小的字型?" +msgstr "" #: src/game.cpp #, c-format msgid "" -"Oh! Hey, look at that. Your terminal is just a little too narrow. This game " -"requires a minimum terminal size of %dx%d to function. It just won't work " -"with only %dx%d. Can you stretch it out sideways a bit?" -msgstr "喔! 嘿, 你看看。你的視窗太窄了。這個遊戲需要 %dx%d 大的視窗才能正常運作。你現在 %dx%d 是不行玩。把視窗調寬一點吧。" +"Oh! Hey, look at that. Your terminal is just a little too narrow. This " +"game requires a minimum terminal size of %dx%d to function. It just won't " +"work with only %dx%d. Can you stretch it out sideways a bit?" +msgstr "" #: src/game.cpp #, c-format msgid "" -"Woah, woah, we're just a little short on space here. The game requires a " -"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " +"Woah, woah, we're just a little short on space here. The game requires a " +"minimum terminal size of %dx%d to run. %dx%d isn't quite enough! Can you " "make the terminal just a smidgen taller?" -msgstr "喔喔, 我沒空間了。這個遊戲至少要 %dx%d 大小的視窗才能玩。目前的 %dx%d 是不夠的! 把視窗調長一點吧。" +msgstr "" #: src/game.cpp msgid "" @@ -175819,7 +181566,7 @@ msgid "You feel thirsty." msgstr "你覺得口渴。" #: src/game.cpp -msgid "You feel an evil presence..." +msgid "You feel an evil presence…" msgstr "你感覺有邪惡的存在…" #: src/game.cpp @@ -175835,7 +181582,7 @@ msgid "You feel your genetic makeup degrading." msgstr "你覺得你的基因正在退化。" #: src/game.cpp -msgid "You feel an otherworldly attention upon you..." +msgid "You feel an otherworldly attention upon you…" msgstr "你感覺有異世界在注意你…" #: src/game.cpp @@ -175880,8 +181627,8 @@ msgstr "感知 %s%d! " #: src/game.cpp #, c-format -msgid "Speed %s%d! " -msgstr "速度 %s%d! " +msgid "Speed %s%d!" +msgstr "速度 %s%d! " #: src/game_inventory.cpp msgid "You don't have the necessary item at hand." @@ -176010,6 +181757,16 @@ msgstr "沒有期限" msgid "SHELF LIFE" msgstr "保存期限" +#. ~ Eat menu Volume: +#: src/game_inventory.cpp +#, c-format +msgid "%.2f%s" +msgstr "%.2f%s" + +#: src/game_inventory.cpp +msgid "VOLUME" +msgstr "體積" + #: src/game_inventory.cpp msgid "FRESHNESS" msgstr "新鮮程度" @@ -176018,10 +181775,6 @@ msgstr "新鮮程度" msgid "SPOILS IN" msgstr "腐敗時間" -#: src/game_inventory.cpp -msgid "Battery" -msgstr "電池" - #: src/game_inventory.cpp msgid "Reactor" msgstr "反應爐" @@ -176046,10 +181799,6 @@ msgstr "無法飲用溢出的液體" msgid "Your biology is not compatible with that item." msgstr "你的身體與這東西不相容。" -#: src/game_inventory.cpp -msgid "You're fully charged" -msgstr "你的能量已滿" - #: src/game_inventory.cpp #, c-format msgid "No space to store more %s" @@ -176324,9 +182073,9 @@ msgstr "你沒有可以比較的物品。" #: src/game_inventory.cpp msgid "" -"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE to" -" cancel." -msgstr "輸入新代碼。按空白鍵清除手動指派的代碼,按ESC鍵取消。" +"Enter new letter. Press SPACE to clear a manually assigned letter, ESCAPE " +"to cancel." +msgstr "輸入新代碼。按 空白鍵 清除手動指派的代碼,按 ESC 鍵取消。" #: src/game_inventory.cpp msgid "" @@ -176357,11 +182106,6 @@ msgstr "" msgid "Available anesthetic: %i mL" msgstr "可用麻醉藥: %i mL" -#: src/game_inventory.cpp -#, c-format -msgid "Money available: %s" -msgstr "" - #: src/game_inventory.cpp #, c-format msgid "Bionic removal patient: %s" @@ -176487,6 +182231,14 @@ msgstr "" msgid "CBM is filthy. Wash it first." msgstr "" +#: src/game_inventory.cpp +msgid "You should put this CBM in an autoclave pouch to keep it sterile." +msgstr "你應該將此生化插件放入高壓滅菌袋中以保持無菌。" + +#: src/game_inventory.cpp +msgid "You need at least 2L of water." +msgstr "你需要至少 2 公升的水。" + #: src/game_inventory.cpp msgid "Sterilization" msgstr "" @@ -176599,7 +182351,7 @@ msgstr "%s 撞上了 %s。" #: src/handle_action.cpp #, c-format -msgid "Press %s to accept your fate..." +msgid "Press %s to accept your fate…" msgstr "按 %s 來接受你的命運…" #: src/handle_action.cpp @@ -176612,15 +182364,15 @@ msgstr "與障礙物碰撞的聲音。" #. ~ Sound of moving a remote controlled car #: src/handle_action.cpp -msgid "zzz..." -msgstr "zzz…" +msgid "zzz…" +msgstr "滋滋滋..." #: src/handle_action.cpp -msgid "You can't drive the vehicle from here. You need controls!" -msgstr "你不能從這裡駕駛車輛。你需要控制器!" +msgid "You can't drive the vehicle from here. You need controls!" +msgstr "你不能從這裡駕駛車輛。你需要控制器!" #: src/handle_action.cpp -msgid "Can't drive this vehicle remotely. It has no working controls." +msgid "Can't drive this vehicle remotely. It has no working controls." msgstr "無法遙控該車輛。它沒有控制器。" #: src/handle_action.cpp @@ -176729,12 +182481,12 @@ msgid "There's nothing there to smash!" msgstr "那裡沒有什麼可讓你砸爛!" #: src/handle_action.cpp -msgid "You already have an alarm set. What do you want to do?" +msgid "You already have an alarm set. What do you want to do?" msgstr "你有一套鬧鐘。你想做什麼?" #: src/handle_action.cpp -msgid "You have an alarm clock. What do you want to do?" -msgstr "你有鬧鐘。想做什麼?" +msgid "You have an alarm clock. What do you want to do?" +msgstr "你有個鬧鐘。想做什麼?" #: src/handle_action.cpp msgid "Keep the alarm and wait a while" @@ -176856,13 +182608,13 @@ msgstr "你也許應該在你睡覺前把這個關閉。" #: src/handle_action.cpp msgid "" -"You're engorged to hibernate. The alarm would only attract attention. Set an" -" alarm anyway?" -msgstr "你已經準備好要冬眠了。鬧鐘只會引起周邊注意而叫不醒你。仍要設定鬧鐘?" +"You're engorged to hibernate. The alarm would only attract attention. Set " +"an alarm anyway?" +msgstr "你已經準備好要冬眠了。鬧鐘只會引起周邊注意而叫不醒你。仍要設定鬧鐘?" #: src/handle_action.cpp -msgid "You have an alarm clock. Set an alarm?" -msgstr "你有個鬧鐘, 要設定鬧鈴嗎?" +msgid "You have an alarm clock. Set an alarm?" +msgstr "你有個鬧鐘,要設定鬧鈴嗎?" #: src/handle_action.cpp msgid "No, don't set an alarm." @@ -176893,7 +182645,7 @@ msgstr "整理我的物資" #: src/handle_action.cpp msgid "" "Sorts out the loot from Loot: Unsorted zone to nearby appropriate Loot " -"zones. Uses empty space in your inventory or utilizes a cart, if you are " +"zones. Uses empty space in your inventory or utilizes a cart, if you are " "holding one." msgstr "把 [物資:未整理] 區域內的物資整理到附近的合適的分類區域。使用物品欄的空餘空間或拖行中的購物車來進行搬運。" @@ -176902,7 +182654,7 @@ msgid "Till farm plots" msgstr "耕地" #: src/handle_action.cpp -msgid "Till farm plots... you need a tool to dig with" +msgid "Till farm plots… you need a tool to dig with" msgstr "耕地...你需要挖掘用的工具。" #: src/handle_action.cpp @@ -176910,7 +182662,7 @@ msgid "Tills nearby Farm: Plot zones." msgstr "耕耘附近農場:田地區域。" #: src/handle_action.cpp -msgid "Plant seeds... it is too cold for planting" +msgid "Plant seeds… it is too cold for planting" msgstr "播種… 天氣太冷了" #: src/handle_action.cpp @@ -176918,30 +182670,30 @@ msgid "Plant seeds" msgstr "播種" #: src/handle_action.cpp -msgid "Plant seeds... you don't have any" +msgid "Plant seeds… you don't have any" msgstr "播種… 你沒有種子" #: src/handle_action.cpp msgid "" -"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " +"Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to " "specific plant seed and you must have seeds in your inventory." -msgstr "" +msgstr "將種子播種到附近的 [農田:田地] 區域。農地必須設定為特定的植物種子,並且你的物品欄內必須要有種子。" #: src/handle_action.cpp msgid "Fertilize plots" -msgstr "" +msgstr "施肥農地" #: src/handle_action.cpp -msgid "Fertilize plots... you don't have any fertilizer" -msgstr "" +msgid "Fertilize plots… you don't have any fertilizer" +msgstr "施肥農地,,,你沒有任何肥料" #: src/handle_action.cpp msgid "Fertilize any nearby Farm: Plot zones." -msgstr "" +msgstr "施肥附近農場:田地區域。" #: src/handle_action.cpp msgid "Harvest plots" -msgstr "" +msgstr "收割農地" #: src/handle_action.cpp msgid "Harvest any full-grown plants from nearby Farm: Plot zones." @@ -177014,7 +182766,7 @@ msgstr "氣候太冷無法種植。" #: src/handle_action.cpp msgid "You don't have any seeds." -msgstr "" +msgstr "你沒有任何種子。" #: src/handle_action.cpp #, c-format @@ -177224,6 +182976,10 @@ msgstr "新的預設熱鍵是 ^。" msgid "You can't operate a vehicle while you're in your shell." msgstr "你在殼中的時候不能控制車輛。" +#: src/handle_action.cpp +msgid "You refuse to take control of this vehicle." +msgstr "" + #: src/handle_action.cpp msgid "Auto travel mode OFF!" msgstr "自動旅行模式關閉!" @@ -177237,8 +182993,8 @@ msgid "Safe mode OFF!" msgstr "安全模式關閉!" #: src/handle_action.cpp -msgid "Safe mode OFF! (Auto safe mode still enabled!)" -msgstr "安全模式關閉! (自動安全模式仍然啟用! )" +msgid "Safe mode OFF! (Auto safe mode still enabled!)" +msgstr "安全模式關閉!(自動安全模式仍然啟用!)" #: src/handle_action.cpp msgid "Auto safe mode OFF!" @@ -177405,6 +183161,8 @@ msgid "" "Please press one of the following for help on that topic:\n" "Press ESC to return to the game." msgstr "" +"請按下以下標題以進行說明:\n" +"按 q 或 ESC 返回遊戲。" #: src/help.cpp msgid "Note colors: " @@ -177460,9 +183218,11 @@ msgstr "" #: src/iexamine.cpp #, c-format msgid "" -"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" +"Welcome to the C.C.B.o.t.T. ATM. What would you like to do?\n" "Your current balance is: %s" msgstr "" +"歡迎來到 C.C.B.o.t.T. 自動櫃員機。請問您想做什麼?\n" +"您目前的存款:%s" #: src/iexamine.cpp msgid "Purchase cash card?" @@ -177511,8 +183271,9 @@ msgid "Your account now holds %s." msgstr "你的帳戶餘額是 %s。" #: src/iexamine.cpp -msgid "This will automatically deduct $1.00 from your bank account. Continue?" -msgstr "這將自動從您的銀行帳戶中扣除 $1.00。要繼續嗎?" +msgid "" +"This will automatically deduct $1.00 from your bank account. Continue?" +msgstr "這將自動從您的銀行帳戶中扣除 $1.00。要繼續嗎?" #: src/iexamine.cpp msgid "You can only deposit money from charged cash cards!" @@ -177520,9 +183281,9 @@ msgstr "你只能在已儲值的現金卡中存款!" #: src/iexamine.cpp #, c-format -msgid "Deposit how much? Max: %d cent. (0 to cancel) " -msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " -msgstr[0] "存入多少? 最高: %d 分。(0 為取消)" +msgid "Deposit how much? Max: %d cent. (0 to cancel) " +msgid_plural "Deposit how much? Max: %d cents. (0 to cancel) " +msgstr[0] "存入多少?最高: %d 美分。(0 為取消)" #: src/iexamine.cpp msgid "You do not have a cash card to withdraw money!" @@ -177530,9 +183291,9 @@ msgstr "你沒有現金卡可以提款!" #: src/iexamine.cpp #, c-format -msgid "Withdraw how much? Max: %d cent. (0 to cancel) " -msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " -msgstr[0] "提領多少? 最高: %d 分。(0 為取消)" +msgid "Withdraw how much? Max: %d cent. (0 to cancel) " +msgid_plural "Withdraw how much? Max: %d cents. (0 to cancel) " +msgstr[0] "提領多少?最高: %d 美分。(0 為取消)" #: src/iexamine.cpp msgid "The vending machine is empty!" @@ -177626,7 +183387,7 @@ msgid "No one responds." msgstr "" #: src/iexamine.cpp -msgid "If only you had a shovel..." +msgid "If only you had a shovel…" msgstr "你得要有把鏟子才行…" #: src/iexamine.cpp @@ -177727,16 +183488,16 @@ msgid "Insert $10?" msgstr "投入 $10?" #: src/iexamine.cpp -msgid "Three cherries... you get your money back!" -msgstr "3 顆櫻桃連線… 你贏回了你的錢!" +msgid "Three cherries… you get your money back!" +msgstr "三顆櫻桃連線… 你贏回了你的錢!" #: src/iexamine.cpp -msgid "Three bells... you win $50!" -msgstr "3 個鈴鐺連線… 你贏得 $50!" +msgid "Three bells… you win $50!" +msgstr "三個鈴鐺連線… 你贏得 $50!" #: src/iexamine.cpp -msgid "Three stars... you win $200!" -msgstr "3 個星星連線… 你贏得 $200!" +msgid "Three stars… you win $200!" +msgstr "三個星星連線… 你贏得 $200!" #: src/iexamine.cpp msgid "JACKPOT! You win $3000!" @@ -177751,8 +183512,8 @@ msgid "Play again?" msgstr "再玩一次?" #: src/iexamine.cpp -msgid "You mess with the dial for a little bit... and it opens!" -msgstr "你撥弄了幾下夾萬的轉盤… 它開啟了!" +msgid "You mess with the dial for a little bit… and it opens!" +msgstr "你撥弄了幾下轉盤… 它開啟了!" #: src/iexamine.cpp msgid "You mess with the dial for a little bit." @@ -177791,15 +183552,26 @@ msgid "The gun safe stumps your efforts to pick it." msgstr "你嘗試打開槍櫃的鎖, 但失敗了。" #: src/iexamine.cpp -msgid "If only you had something to pry with..." +#, c-format +msgid "The %s is locked. If only you had something to pry it with…" msgstr "" #. ~ %1$s: terrain/furniture name, %2$s: prying tool name #: src/iexamine.cpp #, c-format -msgid "You attempt to pry open the %1$s using your %2$s..." +msgid "You attempt to pry open the %1$s using your %2$s…" msgstr "你試圖將 %1$s 以你的 %2$s 撬開..." +#: src/iexamine.cpp +#, c-format +msgid "The %s is locked. If only you had something to pick its lock with…" +msgstr "" + +#: src/iexamine.cpp +#, c-format +msgid "You attempt to pick lock of %1$s using your %2$s…" +msgstr "" + #: src/iexamine.cpp msgid "This bulletin board is not inside a camp" msgstr "" @@ -177814,12 +183586,12 @@ msgstr "" "這些洞看起來像人形, 但是四肢部分卻是拉長扭曲的。" #: src/iexamine.cpp -msgid "The pedestal sinks into the ground..." +msgid "The pedestal sinks into the ground…" msgstr "台座沈入地底了…" #: src/iexamine.cpp -msgid "an ominous grinding noise..." -msgstr "" +msgid "an ominous grinding noise…" +msgstr "刺耳的磨擦聲..." #: src/iexamine.cpp msgid "Place your petrified eye on the pedestal?" @@ -177865,11 +183637,11 @@ msgid "You hear the rumble of rock shifting." msgstr "你聽到隆隆的石頭移動聲。" #: src/iexamine.cpp -msgid "This flower is dead. You can't get it." +msgid "This flower is dead. You can't get it." msgstr "這花已死。你無法取得。" #: src/iexamine.cpp -msgid "This plant is dead. You can't get it." +msgid "This plant is dead. You can't get it." msgstr "這植物已死。你無法取得。" #: src/iexamine.cpp @@ -177905,7 +183677,7 @@ msgid "This flower has a heady aroma." msgstr "這花有著令人陶醉的香氣。" #: src/iexamine.cpp -msgid "You fall asleep..." +msgid "You fall asleep…" msgstr "你睡著了…" #: src/iexamine.cpp @@ -177918,8 +183690,8 @@ msgstr "" #: src/iexamine.cpp #, c-format -msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" -msgstr "" +msgid "You don't have a digging tool to dig up roots. Pick %s anyway?" +msgstr "你\\沒有挖取根部的挖掘工具。還是要撿取 %s?" #: src/iexamine.cpp msgid "Nothing can be harvested from this plant in current season." @@ -177934,8 +183706,8 @@ msgid "Nothing can be harvested from this plant in current season" msgstr "在這個季節中, 這棵植物沒什麼能收割" #: src/iexamine.cpp -msgid "This flower is still alive, despite the harsh conditions..." -msgstr "這花還活著, 儘管情況危急…" +msgid "This flower is still alive, despite the harsh conditions…" +msgstr "儘管條件惡劣,這朵花仍然活著…" #: src/iexamine.cpp #, c-format @@ -177943,8 +183715,8 @@ msgid "You feel out of place as you explore the %s. Drink?" msgstr "當你探索 %s 感到錯亂。喝嗎?" #: src/iexamine.cpp -msgid "This flower tastes very wrong..." -msgstr "這個花嚐起來非常的不對勁…" +msgid "This flower tastes very wrong…" +msgstr "這個花嚐起來很不對勁…" #: src/iexamine.cpp #, c-format @@ -177985,7 +183757,7 @@ msgid "You have no seeds to plant." msgstr "你沒有可以種植的種子。" #: src/iexamine.cpp -msgid "Something's lying there..." +msgid "Something's lying there…" msgstr "有東西潛伏在那…" #: src/iexamine.cpp src/mission_companion.cpp @@ -178003,7 +183775,7 @@ msgid "The seed blooms forth! We have brought true beauty to this world." msgstr "種子綻放了! 我們帶來真正美麗的東西到世上了。" #: src/iexamine.cpp -msgid "The seed blossoms rather rapidly..." +msgid "The seed blossoms rather rapidly…" msgstr "種子開花的速度相當快…" #: src/iexamine.cpp @@ -178012,16 +183784,16 @@ msgstr "種子綻放成了像花一般的真菌。" #: src/iexamine.cpp msgid "Tile isn't a plant" -msgstr "" +msgstr "這不是植物。" #: src/iexamine.cpp msgid "Tile is already fertilized" -msgstr "" +msgstr "該地已經施過肥了" #: src/iexamine.cpp #, c-format msgid "Tried to fertilize with %s, but player doesn't have any." -msgstr "" +msgstr "嘗試以 %s 施肥,但是玩家並沒有。" #. ~ %1$s: plant name, %2$s: fertilizer name #: src/iexamine.cpp @@ -178062,8 +183834,8 @@ msgid "This kiln contains %s, which can't be made into charcoal!" msgstr "這個爐子裡裝有 %s, 它無法被製成木炭!" #: src/iexamine.cpp -msgid "This kiln is empty. Fill it with wood or bone and try again." -msgstr "這個爐子是空的, 放入木頭或骨頭, 然後再試一次。" +msgid "This kiln is empty. Fill it with wood or bone and try again." +msgstr "這個爐子是空的, 放入木頭或骨頭,然後再試一次。" #: src/iexamine.cpp msgid "The batch in this kiln is too small to yield any charcoal." @@ -178087,7 +183859,7 @@ msgid "You fire the charcoal kiln." msgstr "你點燃了碳化爐。" #: src/iexamine.cpp -msgid "This kiln is empty..." +msgid "This kiln is empty…" msgstr "這個爐子是空的…" #: src/iexamine.cpp @@ -178129,9 +183901,9 @@ msgstr "" #: src/iexamine.cpp msgid "" -"This furance is empty. Fill it with powdered coke and lime mix, and try " +"This furance is empty. Fill it with powdered coke and lime mix, and try " "again." -msgstr "" +msgstr "這個爐子是空的,放入粉末狀的焦炭和石灰混合物,然後再試一次。" #: src/iexamine.cpp msgid "" @@ -178158,8 +183930,8 @@ msgid "You turn on the furnace." msgstr "" #: src/iexamine.cpp -msgid "This furnace is empty..." -msgstr "" +msgid "This furnace is empty…" +msgstr "這個爐子是空的…" #: src/iexamine.cpp msgid "There's an arc furnace there." @@ -178171,8 +183943,8 @@ msgid "It has finished burning, yielding %d calcium carbide." msgstr "" #: src/iexamine.cpp -msgid "This autoclave is empty..." -msgstr "" +msgid "This autoclave is empty…" +msgstr "高壓滅菌器是空的..." #: src/iexamine.cpp msgid "" @@ -178230,7 +184002,7 @@ msgid "Start a fire" msgstr "生火" #: src/iexamine.cpp -msgid "Start a fire... you'll need a fire source." +msgid "Start a fire… you'll need a fire source." msgstr "生火...你需要火源。" #: src/iexamine.cpp @@ -178252,13 +184024,17 @@ msgstr "收起 %s" #: src/iexamine.cpp #, c-format -msgid "You attempt to start a fire with your %s..." +msgid "You attempt to start a fire with your %s…" msgstr "你嘗試用你的 %s 生火..." #: src/iexamine.cpp msgid "You weren't able to start a fire." msgstr "你無法生火。" +#: src/iexamine.cpp +msgid "You can't light a fire there." +msgstr "你不能在那裡生火。" + #: src/iexamine.cpp #, c-format msgid "Really take down the %s while it's on fire?" @@ -178430,13 +184206,13 @@ msgid "The %s is full." msgstr "%s 滿了。" #: src/iexamine.cpp -msgid "You have no tool to dig with..." +msgid "You have no tool to dig with…" msgstr "你沒有可以用來挖掘的工具…" #: src/iexamine.cpp #, c-format -msgid "Dig up %s? This kills the tree!" -msgstr "挖起 %s? 這樣做會殺掉那棵樹!" +msgid "Dig up %s? This kills the tree!" +msgstr "挖起 %s?這樣做會殺掉那棵樹!" #: src/iexamine.cpp msgid "Which container?" @@ -178457,7 +184233,7 @@ msgid "You need a %s to tap this maple tree." msgstr "你需要一個 %s 才能對此楓樹進行抽液。" #: src/iexamine.cpp -msgid "No container added. The sap will just spill on the ground." +msgid "No container added. The sap will just spill on the ground." msgstr "沒有添加容器。樹汁將灑落地面。" #: src/iexamine.cpp @@ -178591,13 +184367,13 @@ msgstr "取消建設?" #: src/iexamine.cpp #, c-format -msgid "That %s looks too dangerous to mess with. Best leave it alone." +msgid "That %s looks too dangerous to mess with. Best leave it alone." msgstr "%s 看起來實在太危險了。最好不要碰它。" #: src/iexamine.cpp #, c-format -msgid "There is a %s there. Take down?" -msgstr "那裡有一個 %s, 要把它拆下來?" +msgid "There is a %s there. Take down?" +msgstr "那裡有一個 %s, 要把它拆下來?" #: src/iexamine.cpp #, c-format @@ -178705,12 +184481,12 @@ msgid "You're illiterate, and can't read the screen." msgstr "你是文盲, 看不懂螢幕上寫什麼。" #: src/iexamine.cpp -msgid "Failure! No gas pumps found!" -msgstr "失敗! 附近沒有加油槍!" +msgid "Failure! No gas pumps found!" +msgstr "失敗!附近沒有加油槍!" #: src/iexamine.cpp -msgid "Failure! No gas tank found!" -msgstr "失敗! 沒有油箱!" +msgid "Failure! No gas tank found!" +msgstr "失敗!沒有油箱!" #: src/iexamine.cpp msgid "This station is out of fuel. We apologize for the inconvenience." @@ -178766,8 +184542,8 @@ msgstr "沒有足夠餘額, 請您儲值現金卡。" #: src/iexamine.cpp #, c-format -msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel) " -msgstr "要購買多少公升的汽油? 最多: %d 公升。(0 為取消)" +msgid "How many liters of gasoline to buy? Max: %d L. (0 to cancel)" +msgstr "要購買多少公升的汽油?最多: %d 公升。(0 為取消)" #: src/iexamine.cpp msgid "Glug Glug Glug" @@ -178833,27 +184609,27 @@ msgstr "你無法下去那裏。" #: src/iexamine.cpp #, c-format -msgid "Looks like %d story. Jump down?" -msgid_plural "Looks like %d stories. Jump down?" -msgstr[0] "看起來有 %d 層高。要跳下去嗎?" +msgid "Looks like %d story. Jump down?" +msgid_plural "Looks like %d stories. Jump down?" +msgstr[0] "看起來有 %d 層高。要跳下去嗎?" #: src/iexamine.cpp -msgid "You probably won't be able to get up and jumping down may hurt. Jump?" -msgstr "你跳下去有可能受傷, 而且也許沒辦法上來。要跳下去嗎?" +msgid "You probably won't be able to get up and jumping down may hurt. Jump?" +msgstr "你跳下去有可能受傷,而且也許沒辦法上來。要跳下去嗎?" #: src/iexamine.cpp -msgid "You probably won't be able to get back up. Climb down?" -msgstr "你也許沒辦法上來。要爬下去嗎?" +msgid "You probably won't be able to get back up. Climb down?" +msgstr "你也許沒辦法上來。要爬下去嗎?" #: src/iexamine.cpp msgid "" -"You should be able to climb back up easily if you climb down there. Climb " +"You should be able to climb back up easily if you climb down there. Climb " "down?" -msgstr "在這裡下去的話, 你可以輕易爬上來。要爬下去嗎?" +msgstr "從這裡爬下去的話,你可以輕易爬上來。要爬下去嗎?" #: src/iexamine.cpp -msgid "You may have problems climbing back up. Climb down?" -msgstr "你要爬上來也許不容易。要爬下去嗎?" +msgid "You may have problems climbing back up. Climb down?" +msgstr "你要爬上來也許不容易。要爬下去嗎?" #: src/iexamine.cpp msgid "You decided to step back from the ledge." @@ -178884,9 +184660,9 @@ msgstr "病人已死。請移除屍體以繼續。退出。" #: src/iexamine.cpp msgid "" -"ERROR Bionic Level Assessement : FULL CYBORG. Autodoc Mk. XI can't " -"opperate. Please move patient to appropriate facility. Exiting." -msgstr "" +"ERROR Bionic Level Assessement: FULL CYBORG. Autodoc Mk. XI can't opperate." +" Please move patient to appropriate facility. Exiting." +msgstr "錯誤 - 生化等級評估:完全生化人。自動醫生 Mk. XI 無法運作。請將病患移到適當的設施。正在退出。" #: src/iexamine.cpp msgid "Autodoc Mk. XI. Status: Online. Please choose operation." @@ -179156,8 +184932,7 @@ msgid "Inspect mill" msgstr "檢查磨子" #: src/iexamine.cpp -msgid "" -"Remove brake and start milling... insert some products for milling first" +msgid "Remove brake and start milling… insert some products for milling first" msgstr "移除制動器並開始磨粉... 先放入一些要磨粉的製品吧" #: src/iexamine.cpp @@ -179169,12 +184944,12 @@ msgid "Remove brake and start milling, milling will take about 6 hours." msgstr "移除制動器並開始磨粉。作業時間大約 6 小時。" #: src/iexamine.cpp -msgid "Insert products for milling... mill is full" +msgid "Insert products for milling… mill is full" msgstr "放入要磨粉的製品... 磨子已經滿了" #: src/iexamine.cpp #, c-format -msgid "Insert products for milling... remaining capacity is %s %s" +msgid "Insert products for milling… remaining capacity is %s %s" msgstr "放入要磨粉的製品... 剩餘容量為 %s %s" #: src/iexamine.cpp @@ -179221,7 +184996,7 @@ msgid "You inspect its contents and find: " msgstr "你檢查了它的內容物並且發現: " #: src/iexamine.cpp -msgid "... that it is empty." +msgid "…that it is empty." msgstr "… 它是空的。" #: src/iexamine.cpp @@ -179250,12 +185025,12 @@ msgid "Inspect smoking rack" msgstr "檢查煙燻架" #: src/iexamine.cpp -msgid "Light up and smoke food... insert some food for smoking first" +msgid "Light up and smoke food… insert some food for smoking first" msgstr "點燃並煙燻食物… 先放入一些要煙燻的食物" #: src/iexamine.cpp #, c-format -msgid "Light up and smoke food... need extra %d charges of charcoal" +msgid "Light up and smoke food… need extra %d charges of charcoal" msgstr "點燃並煙燻食物… 需要額外 %d 木炭" #: src/iexamine.cpp @@ -179264,17 +185039,17 @@ msgstr "點燃並煙燻食物" #: src/iexamine.cpp msgid "" -"Light up the smoking rack and start smoking. Smoking will take about 6 " +"Light up the smoking rack and start smoking. Smoking will take about 6 " "hours." msgstr "點燃煙燻架並開始煙燻。煙燻要花上大約 6 小時。" #: src/iexamine.cpp -msgid "Insert food for smoking... smoking rack is full" +msgid "Insert food for smoking… smoking rack is full" msgstr "放入要煙燻的食物… 煙燻架已經滿了" #: src/iexamine.cpp #, c-format -msgid "Insert food for smoking... remaining capacity is %s %s" +msgid "Insert food for smoking… remaining capacity is %s %s" msgstr "放入要煙燻的食物… 剩餘容量為 %s %s" #: src/iexamine.cpp @@ -179296,7 +185071,7 @@ msgid "Remove food from smoking rack" msgstr "從煙燻架裡取出食物" #: src/iexamine.cpp -msgid "Reload with charcoal... you don't have any" +msgid "Reload with charcoal… you don't have any" msgstr "裝填木炭… 你沒有木炭" #: src/iexamine.cpp @@ -179306,7 +185081,7 @@ msgstr "裝填木炭" #: src/iexamine.cpp #, c-format msgid "" -"You need %d charges of charcoal for %s %s of food. Minimal amount of " +"You need %d charges of charcoal for %s %s of food. Minimal amount of " "charcoal is %d charges." msgstr "你需要 %d 木炭用於每 %s %s 的食物。最少要有 %d 木炭。" @@ -179365,8 +185140,8 @@ msgid "You stop the smoking process." msgstr "你停止了煙燻程序。" #: src/iexamine.cpp -msgid "You open the unlocked safe. " -msgstr "你打開了沒上鎖的保險箱。" +msgid "You open the unlocked safe." +msgstr "你打開沒上鎖的保險箱。" #: src/iexamine.cpp #, c-format @@ -179465,6 +185240,10 @@ msgstr "大地圖連結" msgid "Overmap specials" msgstr "大地圖特殊" +#: src/init.cpp +msgid "Overmap locations" +msgstr "大地圖地點" + #: src/init.cpp msgid "Vehicle prototypes" msgstr "車輛樣板" @@ -179573,10 +185352,6 @@ msgstr "突變" msgid "Mutation Categories" msgstr "突變類別" -#: src/init.cpp -msgid "Overmap locations" -msgstr "大地圖地點" - #: src/init.cpp msgid "Map extras" msgstr "地圖特殊區域" @@ -179940,14 +185715,6 @@ msgstr "%1$d 個從 %2$d 個" msgid "Page %d/%d" msgstr "頁面 %d/%d" -#: src/inventory_ui.cpp -msgid "ITEMS WORN" -msgstr "穿戴中的物品" - -#: src/inventory_ui.cpp -msgid "WEAPON HELD" -msgstr "已手持的武器" - #: src/inventory_ui.cpp #, c-format msgid "Weight (%s):" @@ -180377,9 +186144,9 @@ msgstr "這個食物已經開始腐敗, 但還可以忍 #: src/item.cpp msgid "" -"This food has started to rot. Eating it would be a " +"This food has started to rot. Eating it would be a " "very bad idea." -msgstr "這個食物已經開始腐敗, 吃這東西是個壞主意。" +msgstr "" #: src/item.cpp #, c-format @@ -180449,11 +186216,6 @@ msgstr "此彈藥 絕不走火。" msgid "This ammo starts fires." msgstr "此彈藥 會點燃火焰。" -#: src/item.cpp -#, c-format -msgid "Stats of the active gunmod (%s) are shown." -msgstr "顯示了啟動中槍械模組 (%s) 的屬性。" - #: src/item.cpp msgid "Skill used: " msgstr "使用技能: " @@ -180577,7 +186339,7 @@ msgstr "%" #: src/item.cpp msgid "Reload modifier: " -msgstr "" +msgstr "重新裝填加成:" #: src/item.cpp msgid "Minimum strength required modifier: " @@ -180592,8 +186354,9 @@ msgid "Used on: " msgstr "使用在: " #: src/item.cpp -msgid "Location: " -msgstr "位置: " +#, c-format +msgid "Location: %s" +msgstr "" #: src/item.cpp msgid "Incompatible with mod location: " @@ -181102,43 +186865,46 @@ msgid "" msgstr "* 這件衣物太小且並不合身。" #: src/item.cpp -msgid "* This clothing can be upsized." -msgstr "* 這件衣物可以改大。" +msgid "can be upsized" +msgstr "" #: src/item.cpp -msgid "* This clothing can be downsized." -msgstr "* 這件衣物可以改小。" +msgid "can be downsized" +msgstr "" #: src/item.cpp -msgid "* This clothing can not be downsized." -msgstr "* 這件衣物無法改小。" +msgid "can not be downsized" +msgstr "" #: src/item.cpp -msgid "* This clothing can not be upsized." -msgstr "* 這件衣物無法改大。" +msgid "can not be upsized" +msgstr "" #: src/item.cpp -msgid "* This clothing can be refitted and upsized." -msgstr "* 這件衣物可被修改成合身改大。" +#, c-format +msgid "* This clothing %s." +msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted and downsized." -msgstr "* 這件衣物可被修改成合身改小。" +msgid " and upsized" +msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not downsized." -msgstr "* 這件衣物可以被修改無法改小。" +msgid " and downsized" +msgstr "" #: src/item.cpp -msgid "" -"* This clothing can be refitted but not upsized." -msgstr "* 這件衣物可以被修改無法改大。" +msgid " but not downsized" +msgstr "" + +#: src/item.cpp +msgid " but not upsized" +msgstr "" #: src/item.cpp -msgid "* This clothing can be refitted." -msgstr "* 這件衣物可被修改成合身。" +#, c-format +msgid "* This clothing can be refitted%s." +msgstr "" #: src/item.cpp msgid "* This clothing can not be refitted, upsized, or downsized." @@ -181222,6 +186988,15 @@ msgstr "* 這件物品接受到無線電信號後會立即啟動Power Capacity:" +msgstr "" + #: src/item.cpp msgid "Encumbrance: " msgstr "累贅:" @@ -181294,16 +187069,19 @@ msgstr "已完成並且可啟動。" msgid "It will be done in %s." msgstr "將會在 %s 完成。" -#. ~ %1$s: gerund (e.g. carved), %2$s: item name -#: src/item.cpp src/iuse_actor.cpp +#. ~ %1$s: gerund (e.g. carved), %2$s: item name, %3$s: inscription text +#: src/item.cpp #, c-format msgctxt "carving" -msgid "%1$s on the %2$s is: " -msgstr "%1$s 於 %2$s 是: " +msgid "%1$s on the %2$s is: %3$s" +msgstr "%1$s 於 %2$s 為:%3$s" -#: src/item.cpp src/options.cpp -msgid "Note: " -msgstr "注意: " +#. ~ %1$s: inscription text +#: src/item.cpp +#, c-format +msgctxt "carving" +msgid "Note: %1$s" +msgstr "註記:%1$s" #: src/item.cpp msgid "Integrated mod: " @@ -181337,6 +187115,11 @@ msgstr "你可用它來製作數個其它物品。" msgid "You could use it to craft: %s" msgstr "你可用它來製作: %s" +#: src/item.cpp +#, c-format +msgid "Stats of the active gunmod (%s) are shown." +msgstr "顯示了啟動中槍械模組 (%s) 的屬性。" + #: src/item.cpp #, c-format msgid "It takes you an extremely long time to wield your %s." @@ -181982,8 +187765,8 @@ msgid "You're already smoking a %s!" msgstr "你已經在抽 %s 了!" #: src/iuse.cpp -msgid "Are you sure you want to drink... this?" -msgstr "你確定要喝… 這個東西嗎?" +msgid "Are you sure you want to drink… this?" +msgstr "你確定要喝… 這個東西嗎?" #: src/iuse.cpp #, c-format @@ -182012,8 +187795,8 @@ msgid "You light a %s." msgstr "你點燃了 %s。" #: src/iuse.cpp -msgid "Ugh, too much smoke... you feel nasty." -msgstr "痾, 抽太多煙了… 你覺得想吐。" +msgid "Ugh, too much smoke… you feel nasty." +msgstr "痾,抽太多菸了… 你覺得想吐。" #: src/iuse.cpp msgid "You take a puff from your electronic cigarette." @@ -182028,8 +187811,8 @@ msgid "You don't have any nicotine liquid!" msgstr "你沒有菸鹼液!" #: src/iuse.cpp -msgid "Ugh, too much nicotine... you feel nasty." -msgstr "痾, 抽太多尼古丁了… 你覺得想吐。" +msgid "Ugh, too much nicotine… you feel nasty." +msgstr "痾,抽太多尼古丁了… 你覺得想吐。" #: src/iuse.cpp msgid "You take some antibiotics." @@ -182134,8 +187917,8 @@ msgstr "你停止顫抖了。" #: src/iuse.cpp msgid "" "You start scarfing down the delicious cake. It tastes a little funny " -"though..." -msgstr "" +"though…" +msgstr "你吞下這美味的蛋糕。這味道嚐起來有點好笑…" #: src/iuse.cpp msgid "You snort a bump of coke." @@ -182166,8 +187949,8 @@ msgid "You no longer need to fear the flu, at least for some time." msgstr "" #: src/iuse.cpp -msgid "Are you sure you want to eat this? It looks poisonous..." -msgstr "你確定要吃這個東西嗎? 它看起來有毒…" +msgid "Are you sure you want to eat this? It looks poisonous…" +msgstr "你確定要吃這個東西嗎?它看起來有毒…" #: src/iuse.cpp #, c-format @@ -182187,7 +187970,7 @@ msgid "You suddenly feel hollow inside." msgstr "你突然覺得很空虛。" #: src/iuse.cpp -msgid "You feel very sleepy..." +msgid "You feel very sleepy…" msgstr "你覺得很想睡…" #: src/iuse.cpp @@ -182268,7 +188051,7 @@ msgstr "" #: src/iuse.cpp msgid "Choose a mutation to purify" -msgstr "" +msgstr "選擇一個突變來進行淨化" #: src/iuse.cpp msgid "" @@ -182280,8 +188063,8 @@ msgstr "" #, c-format msgid "" "As you eat the %s, you have a near-religious experience, feeling at one with" -" your surroundings..." -msgstr "當你吃下 %s, 你感覺飄飄欲仙。" +" your surroundings…" +msgstr "當你吃下 %s,你感覺飄飄欲仙,物我合一..." #: src/iuse.cpp msgid "It tastes extremely strange!" @@ -182306,8 +188089,8 @@ msgstr "你才吃了一口就立刻嘔吐了。" #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into an excruciating burn" -" as you convulse, vomiting, and black out..." -msgstr "你感覺到一個熟悉的溫度, 但突然就激增成了難以忍受的灼燒感, 你接著抽筋、嘔吐、昏迷…" +" as you convulse, vomiting, and black out…" +msgstr "你感覺到一個熟悉的溫度,但突然就激增成了難以忍受的灼燒感,你接著抽筋、嘔吐、昏迷…" #: src/iuse.cpp msgctxt "memorial_male" @@ -182322,8 +188105,8 @@ msgstr "馬洛斯莓排斥反應。" #: src/iuse.cpp msgid "" "You feel a familiar warmth, but suddenly it surges into painful burning as " -"you convulse and collapse to the ground..." -msgstr "你感覺到一個熟悉的溫度, 但它突然激增成燃燒的劇痛, 你痙攣並癱在地上了…" +"you convulse and collapse to the ground…" +msgstr "你感覺到一個熟悉的溫度,但它突然激增成燃燒的劇痛,你痙攣並癱在地上了…" #: src/iuse.cpp src/monattack.cpp msgid "" @@ -182335,11 +188118,11 @@ msgstr "你從馬洛斯灌木中醒來。事實上, 幾乎是被它抱著, 就 #: src/iuse.cpp msgid "" "unity. together we have reached the door. we provide the final key. now " -"to pass through..." -msgstr "團結。團結一致讓我們到達了大門。我們有最後的關鍵。現在, 走過去吧…" +"to pass through…" +msgstr "同心協力。我們一起到達了門口。我們有最後的鑰匙。現在,走過去吧.." #: src/iuse.cpp -msgid "You feel a strange warmth spreading throughout your body..." +msgid "You feel a strange warmth spreading throughout your body…" msgstr "你感覺有一股奇妙的暖流從你的身體流出…" #. ~ "Uh-uh" is a sound used for "nope", "no", etc. @@ -182355,8 +188138,8 @@ msgstr "我們不再需要用鷹架了。我們留著做其他用途。" #: src/iuse.cpp #, c-format -msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." -msgstr "你確定要吃掉 %s? 你可以將它種到泥土堆裡。" +msgid "Sure you want to eat the %s? You could plant it in a mound of dirt." +msgstr "你確定要吃掉 %s?你可以將它種到泥土堆裡。" #: src/iuse.cpp msgid "It tastes amazing, and you finish it quickly." @@ -182365,14 +188148,14 @@ msgstr "" #: src/iuse.cpp msgid "" "As it settles in, you feel ecstasy radiating through every part of your " -"body..." +"body…" msgstr "" #: src/iuse.cpp msgid "" "Your eyes roll back in your head. Everything dissolves into a blissful " -"haze..." -msgstr "你開始翻白眼, 所有的東西都化成一片令人感到喜悅的朦朧。" +"haze…" +msgstr "你開始翻白眼,所有的東西都化成一片令人感到喜悅的朦朧。" #. ~ The Mycus does not use the term (or encourage the concept of) "you". The #. PC is a local/native organism, but is now the Mycus. @@ -182380,13 +188163,13 @@ msgstr "你開始翻白眼, 所有的東西都化成一片令人感到喜悅的 #. bent symbiotes should not need it. #. ~ We are the Mycus. #: src/iuse.cpp -msgid "We welcome into us. We have endured long in this forbidding world." -msgstr "" +msgid "We welcome into us. We have endured long in this forbidding world." +msgstr "我們歡迎你的加入。我們在這禁斷的世界忍受已久。" #: src/iuse.cpp msgid "" -"A sea of white caps, waving gently. A haze of spores wafting silently over a" -" forest." +"A sea of white caps, waving gently. A haze of spores wafting silently over " +"a forest." msgstr "" #: src/iuse.cpp @@ -182395,20 +188178,20 @@ msgstr "" #: src/iuse.cpp msgid "" -"The blazing pink redness of the berry. The juices spreading across your " +"The blazing pink redness of the berry. The juices spreading across your " "tongue, the warmth draping over us like a lover's embrace." msgstr "" #: src/iuse.cpp msgid "" "We welcome the union of our lines in our local guide. We will prosper, and " -"unite this world. Even now, our fruits adapt to better serve local " +"unite this world. Even now, our fruits adapt to better serve local " "physiology." msgstr "" #: src/iuse.cpp msgid "" -"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " +"The sky-blue of the seed. The nutty, creamy flavors intermingling with the " "berry, a memory that will never leave us." msgstr "" @@ -182420,12 +188203,12 @@ msgstr "假以時日, 我們應該要更能包容那些不接受我們的人。" #: src/iuse.cpp msgid "" -"The amber-yellow of the sap. Feel it flowing through our veins, taking the " +"The amber-yellow of the sap. Feel it flowing through our veins, taking the " "place of the strange, thin red gruel called \"blood.\"" msgstr "" #: src/iuse.cpp -msgid "This tastes really weird! You're not sure it's good for you..." +msgid "This tastes really weird! You're not sure it's good for you…" msgstr "" #: src/iuse.cpp @@ -182505,8 +188288,8 @@ msgid "You do not have that item!" msgstr "你沒有那個物品!" #: src/iuse.cpp -msgid "Which signal should activate the item?:" -msgstr "哪個信號能啟動此物? :" +msgid "Which signal should activate the item?" +msgstr "" #: src/iuse.cpp msgid "\"Blue\"" @@ -182547,8 +188330,8 @@ msgid "You can't fish there!" msgstr "你不能在那裏釣魚!" #: src/iuse.cpp -msgid "You cast your line and wait to hook something..." -msgstr "你甩出線, 等待有東西上鉤…" +msgid "You cast your line and wait to hook something…" +msgstr "你甩出線,等待有東西上鉤…" #: src/iuse.cpp msgid "Fish are not foolish enough to go in here without bait." @@ -182748,16 +188531,6 @@ msgstr "滋~~~~喀啦喀拉!" msgid "The infernal racket dies as the noise emitter turns off." msgstr "當你關掉噪音發射器時, 令人憎惡的轟隆聲就停止了。" -#: src/iuse.cpp -#, c-format -msgid "You learn the essential elements of %s." -msgstr "你學習了 %s 的基礎。" - -#: src/iuse.cpp -#, c-format -msgid "%s to select martial arts style." -msgstr "%s 以選擇武術招式。" - #: src/iuse.cpp msgid "You pry out the fence post." msgstr "你撬開柵欄柱。" @@ -183178,18 +188951,27 @@ msgid "Scan the ground" msgstr "掃描地面" #: src/iuse.cpp -msgid "Scan yourself" -msgstr "掃描自己" +msgid "Scan yourself or other person" +msgstr "" #: src/iuse.cpp msgid "Turn continuous scan on" msgstr "啟動持續掃描模式" +#: src/iuse.cpp +msgid "Scan whom?" +msgstr "" + #: src/iuse.cpp #, c-format msgid "Your radiation level: %d mSv (%d mSv from items)" msgstr "" +#: src/iuse.cpp +#, c-format +msgid "%s's radiation level: %d mSv (%d mSv from items)" +msgstr "" + #: src/iuse.cpp #, c-format msgid "The ground's radiation level: %d mSv/h" @@ -183257,6 +189039,10 @@ msgstr "滴答!" msgid "You've already released the handle, try throwing it instead." msgstr "你已經打開保險了, 嘗試把他拋出去看看。" +#: src/iuse.cpp src/iuse_actor.cpp +msgid "You need a source of fire!" +msgstr "你需要一個火源!" + #: src/iuse.cpp msgid "You light the arrow!" msgstr "你點燃了弓箭!" @@ -183269,6 +189055,10 @@ msgstr "你的汽油彈熄滅了。" msgid "You light the pack of firecrackers." msgstr "你點燃鞭炮包。" +#: src/iuse.cpp +msgid "ssss…" +msgstr "嘶嘶嘶嘶…" + #: src/iuse.cpp msgid "You light the firecracker." msgstr "你點燃鞭炮。" @@ -183283,24 +189073,24 @@ msgid "You set the timer to %s." msgstr "" #: src/iuse.cpp -msgid "You squeeze the pheromone ball..." +msgid "You squeeze the pheromone ball…" msgstr "你擠壓費洛蒙球…" #: src/iuse.cpp -msgid " squeezes the pheromone ball..." +msgid " squeezes the pheromone ball…" msgstr " 擠壓費洛蒙球…" #: src/iuse.cpp -msgid "...but nothing happens." +msgid "…but nothing happens." msgstr "… 但沒有發生任何事。" #: src/iuse.cpp -msgid "...and a nearby zombie becomes passive!" -msgstr "" +msgid "…and a nearby zombie becomes passive!" +msgstr "… 附近的殭屍變中立了!" #: src/iuse.cpp -msgid "...and several nearby zombies become passive!" -msgstr "" +msgid "…and several nearby zombies become passive!" +msgstr "… 附近的幾隻殭屍變中立了!" #: src/iuse.cpp msgid "Shock where?" @@ -183568,8 +189358,8 @@ msgid "You need a rechargeable battery cell to charge." msgstr "你需要一個可充電電池來充電。" #: src/iuse.cpp -msgid "You cannot do... that while mounted." -msgstr "騎乘時無法做...那個。" +msgid "You cannot do… that while mounted." +msgstr "騎乘時無法進行...。" #: src/iuse.cpp msgid "It's waterproof, but oxygen maybe?" @@ -183590,8 +189380,8 @@ msgid "You whip out your %s and start getting the tension out." msgstr "" #: src/iuse.cpp -msgid "Air swirls all over..." -msgstr "空氣漩渦消去了。" +msgid "Air swirls all over…" +msgstr "周遭空氣全在旋轉著..." #: src/iuse.cpp msgid "Air swirls around you for a moment." @@ -183627,7 +189417,7 @@ msgstr "從 %s 抽血嘛?" #: src/iuse.cpp #, c-format -msgid "You drew blood from the %s..." +msgid "You drew blood from the %s…" msgstr "你抽了 %s 的血…" #: src/iuse.cpp @@ -183635,18 +189425,18 @@ msgid "Draw your own blood?" msgstr "抽你自己的血?" #: src/iuse.cpp -msgid "You drew your own blood..." +msgid "You drew your own blood…" msgstr "你抽了自己的血…" #: src/iuse.cpp #, c-format -msgid "...but acidic blood melts the %s, destroying it!" -msgstr "… 但是強酸血液溶解了 %s, 摧毀了它!" +msgid "…but acidic blood melts the %s, destroying it!" +msgstr "… 但是強酸血液溶解了 %s,摧毀了它!" #: src/iuse.cpp #, c-format -msgid "...but acidic blood damages the %s!" -msgstr "… 但是強酸血液使 %s 受損!" +msgid "…but acidic blood damages the %s!" +msgstr "… 但是強酸血液使 %s 受損!" #: src/iuse.cpp #, c-format @@ -183744,18 +189534,10 @@ msgstr "你拿著拖把抹來抹去, 但不確定有沒有效果。" msgid "You mop up the spill." msgstr "你清理了濺出物。" -#: src/iuse.cpp -msgid "Ka-BOOM!" -msgstr "碰!" - #: src/iuse.cpp msgid "The fabric of space seems to decay." msgstr "這個空間的結構似乎正在瓦解。" -#: src/iuse.cpp -msgid "The earth shakes!" -msgstr "地表在晃動!" - #: src/iuse.cpp #, c-format msgid "The %s glows brightly!" @@ -183785,8 +189567,8 @@ msgid "Spray what?" msgstr "噴啥?" #: src/iuse.cpp -msgid "(To delete, input one '.')" -msgstr "(輸入 . 以刪除)" +msgid "(To delete, clear the text and confirm)" +msgstr "(要刪除,請清除文本並確認)" #: src/iuse.cpp msgid "You blur the inscription on the grave." @@ -183796,10 +189578,6 @@ msgstr "" msgid "You manage to get rid of the message on the ground." msgstr "你抹除了地上的留言。" -#: src/iuse.cpp -msgid "There isn't anything to erase here." -msgstr "那裡沒有任何東西需要抹除。" - #: src/iuse.cpp msgid "You carve an inscription on the grave." msgstr "" @@ -183817,13 +189595,9 @@ msgid "You don't have appropriate food to heat up." msgstr "你沒有可以加熱的食物。" #: src/iuse.cpp -msgid "You defrost the food, but don't heat it up, since you enjoy it cold." +msgid "You start heating up the food." msgstr "" -#: src/iuse.cpp -msgid "You defrost and heat up the food." -msgstr "你解凍並加熱了食物。" - #: src/iuse.cpp msgid "There is no fire around, use your integrated toolset instead?" msgstr "周圍沒有火源, 要使用你的整合工具手嗎?" @@ -184016,12 +189790,12 @@ msgstr "你校準你的 %s。" #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s! ( %s-> %s)" +msgid "You repair your %s! ( %s-> %s)" msgstr "你修理了 %s!(%s-> %s)" #: src/iuse.cpp src/iuse_actor.cpp #, c-format -msgid "You repair your %s completely! ( %s-> %s)" +msgid "You repair your %s completely! ( %s-> %s)" msgstr "你完全修復了 %s !(%s-> %s)" #: src/iuse.cpp @@ -184054,12 +189828,12 @@ msgid "You reinforce your %s." msgstr "你強化你的 %s。" #: src/iuse.cpp -msgid "Clank! Clank!" -msgstr "匡啷! 匡啷!" +msgid "Clank! Clank!" +msgstr "匡啷!匡啷!" #: src/iuse.cpp -msgid "Ring! Ring!" -msgstr "鈴! 鈴!" +msgid "Ring! Ring!" +msgstr "鈴!鈴!" #: src/iuse.cpp msgid "You cannot read a computer screen." @@ -184213,7 +189987,7 @@ msgid "Wasted time, these pictures do not provoke your senses." msgstr "浪費時間, 這些照片無法引發你的感受。" #: src/iuse.cpp -msgid "You used to have a dog like this..." +msgid "You used to have a dog like this…" msgstr "你以前有養一隻像這樣的狗…" #: src/iuse.cpp @@ -184225,8 +189999,8 @@ msgid "Excellent pictures of nature." msgstr "一張漂亮的風景照片。" #: src/iuse.cpp -msgid "Food photos... your stomach rumbles!" -msgstr "美食照片… 你的肚子咕嚕叫!" +msgid "Food photos… your stomach rumbles!" +msgstr "美食照片… 你的肚子咕嚕叫!" #: src/iuse.cpp msgid "Some very interesting travel photos." @@ -184680,13 +190454,13 @@ msgid "A %s got in the way of your photo." msgstr "%s 在中間擋住了你的鏡頭。" #: src/iuse.cpp -msgid "Strange... there's nothing in the center of picture?" -msgstr "" +msgid "Strange… there's nothing in the center of picture?" +msgstr "奇怪… 照片中間沒有東西?" #: src/iuse.cpp #, c-format -msgid "Strange... %s's not visible on the picture?" -msgstr "" +msgid "Strange… %s's not visible on the picture?" +msgstr "奇怪... 照片中看不到 %s?" #: src/iuse.cpp #, c-format @@ -184801,8 +190575,8 @@ msgstr "你把你的遙控車裝備上 %s。" #: src/iuse.cpp #, c-format -msgid "RC car with %s ? How?" -msgstr "遙控車與 %s? 怎麼裝?" +msgid "RC car with %s? How?" +msgstr "遙控車與 %s?怎麼裝?" #: src/iuse.cpp #, c-format @@ -184810,12 +190584,12 @@ msgid "Your %s is too heavy or bulky for this RC car." msgstr "你的 %s 對這台遙控車來說太重或是太大了。" #: src/iuse.cpp -msgid "You disarmed your RC car" -msgstr "你把你的遙控車解除武裝。" +msgid "You disarmed your RC car." +msgstr "" #. ~Sound of a radio controlled car moving around #: src/iuse.cpp -msgid "buzzz..." +msgid "buzzz…" msgstr "滋滋…" #: src/iuse.cpp @@ -184823,12 +190597,12 @@ msgid "What to do with activated RC car?" msgstr "要對啟動的遙控車做什麼:" #: src/iuse.cpp -msgid "You turned off your RC car" -msgstr "你關閉了你的遙控車" +msgid "You turned off your RC car." +msgstr "" -#: src/iuse.cpp src/map.cpp -msgid "beep." -msgstr "嗶。" +#: src/iuse.cpp +msgid "beep" +msgstr "" #: src/iuse.cpp msgid "Take control of RC car" @@ -184865,9 +190639,16 @@ msgstr "你開始控制遙控車。" #: src/iuse.cpp #, c-format msgid "" -"The %s in you inventory would explode on this signal. Place it down before " +"The %s in your inventory would explode on this signal. Place it down before" +" sending the signal." +msgstr "" + +#: src/iuse.cpp +#, c-format +msgid "" +"The %1$s in your %2$s would explode on this signal. Place it down before " "sending the signal." -msgstr "你物品欄內的 %s 收到這個信號就會爆炸。在發送信號之前先把它放置好。" +msgstr "" #: src/iuse.cpp msgid "This vehicle's security system has locked you out!" @@ -184933,6 +190714,12 @@ msgstr "開始控制車輛。" msgid "Execute one vehicle action" msgstr "執行一個車輛動作" +#: src/iuse.cpp +msgid "" +"Despite using a controller, you still refuse to take control of this " +"vehicle." +msgstr "" + #: src/iuse.cpp msgid "You take control of the vehicle." msgstr "你開始控制車輛。" @@ -184951,8 +190738,8 @@ msgstr "螢幕上的符號顯示了一個黃色笑話。奇怪的冷笑話。" #. ~ Single-spaced & lowercase are intentional, conveying hurried speech-KA101 #: src/iuse.cpp -msgid "Are you sure?! the multi-cooker wants to poison your food!" -msgstr "你確定嗎?!大同電鍋要對你的食物下毒!" +msgid "Are you sure?! the multi-cooker wants to poison your food!" +msgstr "你確定嗎?!大同電鍋要對你的食物下毒!" #: src/iuse.cpp msgid "" @@ -184994,7 +190781,7 @@ msgid "The cycle will be completed in %s." msgstr "" #: src/iuse.cpp -msgid "The multi-cooker should be finishing shortly..." +msgid "The multi-cooker should be finishing shortly…" msgstr "大同電鍋應該快烹調好了…" #. ~ sound of a multi-cooker finishing its cycle! @@ -185073,8 +190860,8 @@ msgid "" msgstr "隨著螢幕出現藍色的符號與記量, 大同電鍋開始晃動。" #: src/iuse.cpp -msgid "Your morale is too low to craft..." -msgstr "你的士氣太低落, 無法製作物品…" +msgid "Your morale is too low to craft…" +msgstr "你的士氣太低落, 無法製作物品…" #: src/iuse.cpp #, c-format @@ -185110,39 +190897,39 @@ msgstr "使用電纜:" #: src/iuse.cpp msgid "Attach cable to vehicle" -msgstr "" +msgstr "將電纜連接到車輛" #: src/iuse.cpp msgid "Attach cable to self" -msgstr "" +msgstr "將電纜連接到自身" #: src/iuse.cpp msgid "Attach cable to solar pack" -msgstr "" +msgstr "將電纜連接到太陽能板背包" #: src/iuse.cpp msgid "Attach cable to UPS" -msgstr "" +msgstr "將電纜連接到 UPS" #: src/iuse.cpp msgid "You attach the cable to your Cable Charger System." -msgstr "" +msgstr "你將電纜連接到你的電纜充電系統" #: src/iuse.cpp msgid "You attach the cable to the solar pack." -msgstr "" +msgstr "你將電纜連接到太陽能板背包" #: src/iuse.cpp msgid "Choose UPS:" -msgstr "" +msgstr "選擇 UPS:" #: src/iuse.cpp msgid "You don't have any UPS." -msgstr "" +msgstr "你沒有UPS。" #: src/iuse.cpp msgid "You attach the cable to the UPS." -msgstr "" +msgstr "你將電纜連接到 UPS。" #: src/iuse.cpp msgid "Attach cable to vehicle where?" @@ -185154,23 +190941,23 @@ msgstr "分離並重整電纜" #: src/iuse.cpp msgid "Attach loose end to vehicle" -msgstr "" +msgstr "將電纜的鬆脫端連接到車輛" #: src/iuse.cpp msgid "Attach loose end to self" -msgstr "" +msgstr "將電纜的鬆脫端連接到自身" #: src/iuse.cpp msgid "Attach loose end to solar pack" -msgstr "" +msgstr "將電纜的鬆脫端連接到太陽能板背包" #: src/iuse.cpp msgid "Attach loose end to UPS" -msgstr "" +msgstr "將電纜的鬆脫端連接到 UPS" #: src/iuse.cpp msgid "You attach the cable to the Cable Charger System." -msgstr "" +msgstr "你將電纜連接到電纜充電系統" #: src/iuse.cpp msgid "You are now plugged to the solar backpack." @@ -185200,7 +190987,7 @@ msgstr "你需要肥皂才能使用它。" #: src/iuse.cpp #, c-format -msgid "The %s's monitor slowly outputs the data..." +msgid "The %s's monitor slowly outputs the data…" msgstr "%s 的螢幕緩慢的輸出資料…" #: src/iuse.cpp @@ -185215,16 +191002,16 @@ msgstr "你必須先穿戴 %1$s 才能啟動它。" #: src/iuse.cpp msgid "Choose hologram direction." -msgstr "" +msgstr "選擇全像投影的方向。" #: src/iuse.cpp msgid "Can't create a hologram there." -msgstr "" +msgstr "無法在那裡創建全像投影。" #: src/iuse.cpp #, c-format msgid "The %s must be installed in a vehicle before being loaded." -msgstr "" +msgstr "%s 必須先安裝在車輛上才能裝填。" #: src/iuse.cpp #, c-format @@ -185238,7 +191025,7 @@ msgstr "%s 裝著 %s" #: src/iuse.cpp msgid "You cannot capture a creature mounted." -msgstr "" +msgstr "你無法捕捉被騎乘的生物。" #: src/iuse.cpp #, c-format @@ -185342,7 +191129,7 @@ msgid "You break the stick, but one half shatters into splinters." msgstr "" #: src/iuse.cpp -msgid "The throbbing of the infection diminishes. Slightly." +msgid "The throbbing of the infection diminishes. Slightly." msgstr "" #: src/iuse.cpp @@ -185364,7 +191151,7 @@ msgstr "" #: src/iuse.cpp msgid "" -"Simply taking more magnesium won't help. You have to go to sleep for it to " +"Simply taking more magnesium won't help. You have to go to sleep for it to " "work." msgstr "" @@ -185628,7 +191415,7 @@ msgid "With a satisfying click, the lock on the door opens." msgstr "一陣輕響後, 門的鎖被撬開了。" #: src/iuse_actor.cpp -msgid "The door swings open..." +msgid "The door swings open…" msgstr "門緩緩的開啟…" #: src/iuse_actor.cpp @@ -185735,16 +191522,16 @@ msgstr "那邊已經有火了。" #: src/iuse_actor.cpp msgid "" -"There's a brazier there but you haven't set it up to contain the fire. " +"There's a brazier there but you haven't set it up to contain the fire. " "Continue?" -msgstr "有個火盆在那, 但你還沒設置它來防止火焰蔓延。繼續嗎?" +msgstr "有個火盆在那,但你還沒設置它來防止火焰蔓延。繼續嗎?" #: src/iuse_actor.cpp msgid "You successfully light a fire." msgstr "你成功生了火。" #: src/iuse_actor.cpp -msgid "You light a fire, but it isn't enough. You need to light more." +msgid "You light a fire, but it isn't enough. You need to light more." msgstr "你生了火,但這還不夠。你需要生更多火。" #: src/iuse_actor.cpp @@ -185852,8 +191639,15 @@ msgid "It's a note" msgstr "那是一個備註" #: src/iuse_actor.cpp -msgid "(To delete, input one '.')\n" -msgstr "(輸入 . 以刪除)\n" +msgid "(To delete, clear the text and confirm)\n" +msgstr "(要刪除,請清除文本並確認)\n" + +#. ~ %1$s: gerund (e.g. carved), %2$s: item name +#: src/iuse_actor.cpp +#, c-format +msgctxt "carving" +msgid "%1$s on the %2$s is: " +msgstr "%1$s 於 %2$s 是: " #: src/iuse_actor.cpp #, c-format @@ -185877,6 +191671,11 @@ msgstr "一個物件" msgid "Inscribe which item?" msgstr "雕刻哪個物品?" +#: src/iuse_actor.cpp +#, c-format +msgid "You try to bend your %s, but fail." +msgstr "你嘗試折彎 %s,但失敗了。" + #: src/iuse_actor.cpp msgid "You cauterize yourself." msgstr "你燒灼自己的傷口。" @@ -185923,8 +191722,8 @@ msgid "Make love, not zlave." msgstr "做愛, 不做屍奴。" #: src/iuse_actor.cpp -msgid "Well, it's more constructive than just chopping 'em into gooey meat..." -msgstr "好吧, 這樣比把它們剁成肉醬還要有建設性。" +msgid "Well, it's more constructive than just chopping 'em into gooey meat…" +msgstr "好吧,這樣比把它們剁成肉醬還要有建設性..." #: src/iuse_actor.cpp msgid "You feel horrible for mutilating and enslaving someone's corpse." @@ -186216,8 +192015,8 @@ msgstr "%s (用 %s 修理)" #: src/iuse_actor.cpp #, c-format -msgid "You don't have enough %s to do that. Have: %d, need: %d" -msgstr "你沒有足夠的 %s。現有: %d, 需要: %d。" +msgid "You don't have enough %s to do that. Have: %d, need: %d" +msgstr "你沒有足夠的 %s。現有:%d,需要:%d。" #: src/iuse_actor.cpp msgid "That requires gunsmithing tools." @@ -186238,7 +192037,7 @@ msgstr "你的 %s 已經是最高強化階段。" #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s! ( %s-> %s)" +msgid "You damage your %s! ( %s-> %s)" msgstr "你弄壞了%s!(%s -> %s)" #: src/iuse_actor.cpp @@ -186429,7 +192228,7 @@ msgstr "使用所需行動點數:" #: src/iuse_actor.cpp #, c-format -msgid "Yeah. Place the %s at your feet. Real damn smart move." +msgid "Yeah. Place the %s at your feet. Real damn smart move." msgstr "沒錯。把 %s 放到你的腳邊。真他媽的聰明。" #: src/iuse_actor.cpp @@ -186449,8 +192248,8 @@ msgstr "%s 需要有 %s 鄰接。" #: src/iuse_actor.cpp #, c-format -msgid "You can't place a %s there. It contains a trap already." -msgstr "你不能把 %s 放在這, 這裡已經有陷阱了。" +msgid "You can't place a %s there. It contains a trap already." +msgstr "你不能把%s放在這裡,這裡已經有陷阱了。" #: src/iuse_actor.cpp #, c-format @@ -186538,6 +192337,10 @@ msgstr "沒有可以移除的模組。" msgid "Has to be taken off first." msgstr "必須先取下。" +#: src/iuse_actor.cpp +msgid "You quiver with anticipation…" +msgstr "你充滿期待地顫抖著..." + #: src/iuse_actor.cpp msgid "You suddenly feel dizzy, and collapse to the ground." msgstr "你突然感到頭昏, 並倒在地上了。" @@ -186604,9 +192407,30 @@ msgstr "這東西只能用來修理或修改其他物品, 而非本身。" msgid "How do you want to modify it?" msgstr "你要怎麼修改它?" +#. ~ %1$s: modification desc, %2$d: number of thread needed +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (need %2$d thread loaded)" +msgstr "" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items needed +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (need %2$d %3$s)" +msgstr "" + +#. ~ %1$s: modification desc, %2$s: mod name +#: src/iuse_actor.cpp +#, c-format +msgid "Can't %1$s (incompatible with %2$s)" +msgstr "" + +#. ~ %1$s: modification desc, %2$d: number of items needed, %3$s: items +#. needed, %4$s: number of thread needed #: src/iuse_actor.cpp -msgid "Not enough thread to modify. Which modification do you want to remove?" -msgstr "沒有足夠的縫線去修改衣物。你要移除哪個改造?" +#, c-format +msgid "%1$s (%2$d %3$s and %4$d thread)" +msgstr "" #: src/iuse_actor.cpp msgid "Bash" @@ -186638,7 +192462,7 @@ msgstr "你確定嗎? 你無法拿回任何材料。" #: src/iuse_actor.cpp #, c-format -msgid "You damage your %s trying to modify it! ( %s-> %s)" +msgid "You damage your %s trying to modify it! ( %s-> %s)" msgstr "你在修改 %s 時弄壞了它!(%s->%s)" #: src/iuse_actor.cpp @@ -186655,6 +192479,14 @@ msgstr "你修改了 %s, 但是浪費了很多縫線。" msgid "You modify your %s!" msgstr "你修改了 %s!" +#: src/iuse_actor.h +msgid "Carve" +msgstr "削刻" + +#: src/iuse_actor.h +msgid "Carved" +msgstr "削刻的" + #: src/iuse_software.cpp msgid "You found kitten!" msgstr "你找到小貓了!" @@ -186678,8 +192510,8 @@ msgid "It's an altar to the horse god." msgstr "一座供奉馬神的祭壇。" #: src/iuse_software_kitten.cpp -msgid "A box of dancing mechanical pencils. They dance! They sing!" -msgstr "一盒跳舞的機械鉛筆。它們正在跳舞! 正在唱歌!" +msgid "A box of dancing mechanical pencils. They dance! They sing!" +msgstr "一盒跳舞的機械鉛筆。它們正在跳舞!正在唱歌!" #: src/iuse_software_kitten.cpp msgid "It's an old Duke Ellington record." @@ -186690,7 +192522,7 @@ msgid "A box of fumigation pellets." msgstr "一盒樟腦丸。" #: src/iuse_software_kitten.cpp -msgid "A digital clock. It's stuck at 2:17 PM." +msgid "A digital clock. It's stuck at 2:17 PM." msgstr "一個停在 2:17 PM 的數位顯示式時鐘。" #: src/iuse_software_kitten.cpp @@ -186702,15 +192534,15 @@ msgid "I don't know what that is, but it's not kitten." msgstr "我不知道那是什麼, 但不是一隻小貓。" #: src/iuse_software_kitten.cpp -msgid "An empty shopping bag. Paper or plastic?" -msgstr "一個空的購物袋。是紙製的還是塑膠製的?" +msgid "An empty shopping bag. Paper or plastic?" +msgstr "一個空的購物袋。是紙製的還是塑膠製的?" #: src/iuse_software_kitten.cpp -msgid "Could it be... a big ugly bowling trophy?" -msgstr "莫非是… 一個又大又醜的保齡球獎杯?" +msgid "Could it be… a big ugly bowling trophy?" +msgstr "莫非是… 一個又大又醜的保齡球獎杯?" #: src/iuse_software_kitten.cpp -msgid "A coat hanger hovers in thin air. Odd." +msgid "A coat hanger hovers in thin air. Odd." msgstr "一個衣架在空中飛。真奇怪。" #: src/iuse_software_kitten.cpp @@ -186734,8 +192566,8 @@ msgid "It's Richard Nixon's nose!" msgstr "這是理查·尼克森的鼻子!" #: src/iuse_software_kitten.cpp -msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." -msgstr "這是露西·里卡多。\"啊啊, 瑞奇! \", 她這麼說。" +msgid "It's Lucy Ricardo. \"Aaaah, Ricky!\", she says." +msgstr "" #: src/iuse_software_kitten.cpp msgid "You stumble upon Bill Gates' stand-up act." @@ -186746,8 +192578,8 @@ msgid "Just an autographed copy of the Kama Sutra." msgstr "只是一本簽名版的慾經。" #: src/iuse_software_kitten.cpp -msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" -msgstr "這是威爾·羅傑斯公路。無論如何, 誰是威爾·羅傑斯?" +msgid "It's the Will Rogers Highway. Who was Will Rogers, anyway?" +msgstr "" #: src/iuse_software_kitten.cpp msgid "" @@ -186807,8 +192639,8 @@ msgid "It's a mighty zombie talking about some love and prosperity." msgstr "一個正在談論愛與繁榮的強大殭屍。" #: src/iuse_software_kitten.cpp -msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize...\"" -msgstr "\"親愛的機器人, 你可能已經贏得了 1000 萬美元的獎金… \"" +msgid "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize…\"" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's just an object." @@ -186851,8 +192683,9 @@ msgid "It's some compromising photos of Babar the Elephant." msgstr "這是一些巴貝爾的大象照片。" #: src/iuse_software_kitten.cpp -msgid "A copy of the Weekly World News. Watch out for the chambered nautilus!" -msgstr "一個每週世界新聞的複本。當心鸚鵡螺!" +msgid "" +"A copy of the Weekly World News. Watch out for the chambered nautilus!" +msgstr "《世界新聞周刊》的複本。當心鸚鵡螺!" #: src/iuse_software_kitten.cpp msgid "It's the proverbial wet blanket." @@ -186871,28 +192704,28 @@ msgid "Paul Moyer's necktie." msgstr "保羅·莫耶的領帶。" #: src/iuse_software_kitten.cpp -msgid "A haircut and a real job. Now you know where to get one!" -msgstr "剪個頭髮找個正當工作。現在你知道去哪找一個了!" +msgid "A haircut and a real job. Now you know where to get one!" +msgstr "剪個頭髮找個正當工作。現在你知道去哪找一個了!" #: src/iuse_software_kitten.cpp -msgid "An automated robot-hater. It frowns disapprovingly at you." +msgid "An automated robot-hater. It frowns disapprovingly at you." msgstr "一台自動機器人討厭裝置。它不以為然地對你皺著眉頭。" #: src/iuse_software_kitten.cpp -msgid "An automated robot-liker. It smiles at you." +msgid "An automated robot-liker. It smiles at you." msgstr "一台自動機器人喜歡裝置。它對著你微笑。" #: src/iuse_software_kitten.cpp -msgid "It's a black hole. Don't fall in!" -msgstr "這是一個黑洞。別掉下去!" +msgid "It's a black hole. Don't fall in!" +msgstr "這是一個黑洞。別掉下去!" #: src/iuse_software_kitten.cpp msgid "Just a big brick wall." msgstr "只是一面大磚牆。" #: src/iuse_software_kitten.cpp -msgid "You found kitten! No, just kidding." -msgstr "你找到小貓了! 哦不, 開個玩笑而已。" +msgid "You found kitten! No, just kidding." +msgstr "你找到小貓了!哦不, 開個玩笑而已。" #: src/iuse_software_kitten.cpp msgid "Heart of Darkness brand pistachio nuts." @@ -186944,16 +192777,16 @@ msgid "It's the constellation Pisces." msgstr "這是十二星座的雙魚座。" #: src/iuse_software_kitten.cpp -msgid "It's a fly on the wall. Hi, fly!" -msgstr "這是一隻在牆上的蒼蠅。嗨, 蒼蠅!" +msgid "It's a fly on the wall. Hi, fly!" +msgstr "這是一隻在牆上的蒼蠅。嗨,蒼蠅!" #: src/iuse_software_kitten.cpp msgid "This kind of looks like kitten, but it's not." msgstr "這看起來像是小貓, 但不是。" #: src/iuse_software_kitten.cpp -msgid "It's a banana! Oh, joy!" -msgstr "是香蕉! 喔, 讚喔!" +msgid "It's a banana! Oh, joy!" +msgstr "是香蕉!哦,讚哦!" #: src/iuse_software_kitten.cpp msgid "A helicopter has crashed here." @@ -186980,12 +192813,12 @@ msgid "A geyser sprays water high into the air." msgstr "一座間歇泉將水噴射到高空中。" #: src/iuse_software_kitten.cpp -msgid "A toenail? What good is a toenail?" -msgstr "一個腳指甲? 腳指甲有什麼好?" +msgid "A toenail? What good is a toenail?" +msgstr "一個腳指甲?腳指甲有什麼好?" #: src/iuse_software_kitten.cpp -msgid "You've found the fish! Not that it does you much good in this game." -msgstr "你找到魚了! 只是在這遊戲裡不算好東西。" +msgid "You've found the fish! Not that it does you much good in this game." +msgstr "" #: src/iuse_software_kitten.cpp msgid "A Buttertonsils bar." @@ -187008,8 +192841,8 @@ msgid "It's nothing but a G-thang, baby." msgstr "幫派就是我們心中的唯一, 寶貝。" #: src/iuse_software_kitten.cpp -msgid "IT'S ALIVE! AH HA HA HA HA!" -msgstr "它活起來了! 啊 哈 哈 哈 哈!" +msgid "IT'S ALIVE! AH HA HA HA HA!" +msgstr "它活起來了! 啊 哈 哈 哈 哈!" #: src/iuse_software_kitten.cpp msgid "This was no boating accident!" @@ -187017,12 +192850,12 @@ msgstr "這不是划船事故!" #: src/iuse_software_kitten.cpp msgid "" -"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" -msgstr "等等! 這不是撲克籌碼! 你被騙了! 該死的門德斯!" +"Wait! This isn't the poker chip! You've been tricked! DAMN YOU, MENDEZ!" +msgstr "等等!這不是撲克籌碼!你被騙了!該死的門德斯!" #: src/iuse_software_kitten.cpp -msgid "A livery stable! Get your livery!" -msgstr "一間馬廄! 快上馬!" +msgid "A livery stable! Get your livery!" +msgstr "一間馬廄!快上馬!" #: src/iuse_software_kitten.cpp msgid "It's a perpetual immobility machine." @@ -187042,28 +192875,28 @@ msgstr "世界上最大的麵包球!" #: src/iuse_software_kitten.cpp msgid "" -"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " +"A tribe of cannibals lives here. They eat Malt-O-Meal for breakfast, you " "know." -msgstr "有個食人族的部落住在這裡。他們都吃薏仁 *之類* 的當早餐, 你懂的。" +msgstr "有個食人族的部落住在這裡。他們都吃薏'仁'之'類' 的當早餐,你懂的。" #: src/iuse_software_kitten.cpp msgid "This appears to be a rather large stack of trashy romance novels." msgstr "這似乎是一大堆沒屁用的愛情小說。" #: src/iuse_software_kitten.cpp -msgid "Look out! Exclamation points!" -msgstr "小心! 驚嘆號!" +msgid "Look out! Exclamation points!" +msgstr "小心!驚嘆號!" #: src/iuse_software_kitten.cpp msgid "A herd of wild coffee mugs slumbers here." msgstr "一群野生的咖啡杯在這裡小睡。" #: src/iuse_software_kitten.cpp -msgid "It's a limbo bar! How low can you go?" -msgstr "這是凌波舞的竿子! 你能彎多低?" +msgid "It's a limbo bar! How low can you go?" +msgstr "這是凌波舞的竿子!你能彎多低?" #: src/iuse_software_kitten.cpp -msgid "It's the horizon. Now THAT'S weird." +msgid "It's the horizon. Now THAT'S weird." msgstr "是地平線。這下怪了。" #: src/iuse_software_kitten.cpp @@ -187079,25 +192912,26 @@ msgid "A pair of saloon-style doors swing slowly back and forth here." msgstr "一對沙龍造型的門在這開開關關。" #: src/iuse_software_kitten.cpp -msgid "It's an ordinary bust of Beethoven... but why is it painted green?" -msgstr "這是一個普通的貝多芬半身像… 但為什麼是塗成綠色的?" +msgid "It's an ordinary bust of Beethoven… but why is it painted green?" +msgstr "這是一個普通的貝多芬半身像… 但為什麼是塗成綠色的?" #: src/iuse_software_kitten.cpp -msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." -msgstr "這是電視上的可愛俏皮烏鴉! \"咬我啊! \", 牠這麼說道。" +msgid "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." +msgstr "這是電視上的可愛俏皮烏鴉!\"咬我啊!\",牠這麼說道。" #: src/iuse_software_kitten.cpp msgid "" -"Hey, look, it's war. What is it good for? Absolutely nothing. Say it again." -msgstr "嘿, 看啊, 是戰爭。有什麼好處呢? 完全沒有。再說一次。" +"Hey, look, it's war. What is it good for? Absolutely nothing. Say it " +"again." +msgstr "嘿,看啊,是戰爭。有什麼好處呢?完全沒有。再說一次。(譯註:Edwin Starr - War)" #: src/iuse_software_kitten.cpp msgid "It's the amazing self-referential thing that's not kitten." msgstr "這是一個會自我參照的奇異東西, 但不是小貓。" #: src/iuse_software_kitten.cpp -msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" -msgstr "一個華麗的羽毛。你現在可以打扮的像卡蘿·錢寧了!" +msgid "A flamboyant feather boa. Now you can dress up like Carol Channing!" +msgstr "一個華麗的羽毛。你現在可以打扮的像卡蘿·錢寧了!" #: src/iuse_software_kitten.cpp msgid "\"Sure hope we get some rain soon,\" says Farmer Joe." @@ -187115,9 +192949,9 @@ msgstr "\"表土全沒了, 媽\", 利爾·格雷格哭道。" #: src/iuse_software_kitten.cpp msgid "" -"This is a large brown bear. Oddly enough, it's currently peeing in the " +"This is a large brown bear. Oddly enough, it's currently peeing in the " "woods." -msgstr "這是一隻大棕熊。奇怪的是, 他正在樹林裡噓噓。" +msgstr "這是一隻大棕熊。奇怪的是,他正在樹林裡噓噓。" #: src/iuse_software_kitten.cpp msgid "A team of arctic explorers is camped here." @@ -187145,7 +192979,7 @@ msgstr "這是一架墜毀直升機的全像投影。" #: src/iuse_software_kitten.cpp msgid "" -"This is a television. On screen you see a robot strangely similar to " +"This is a television. On screen you see a robot strangely similar to " "yourself." msgstr "這是一台電視。奇怪的是你在螢幕上看到一個長得很像自己的機器人。" @@ -187154,17 +192988,17 @@ msgid "This balogna has a first name, it's R-A-N-C-I-D." msgstr "這個火腿有名字, 叫做 \"臭肉\"。" #: src/iuse_software_kitten.cpp -msgid "A salmon hatchery? Look again. It's merely a single salmon." -msgstr "鮭魚孵化場? 再看一遍, 那只是一條鮭魚。" +msgid "A salmon hatchery? Look again. It's merely a single salmon." +msgstr "鮭魚孵化場?再看一遍,那只是一尾鮭魚。" #: src/iuse_software_kitten.cpp -msgid "It's a rim shot. Ba-da-boom!" -msgstr "這是鼓。叭-搭-碰!" +msgid "It's a rim shot. Ba-da-boom!" +msgstr "這是擊鼓邊(Rim Shot)技法。叭-搭-碰!" #: src/iuse_software_kitten.cpp msgid "" -"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." -msgstr "它是怪異, 它是瘋狂、神秘、和毛骨悚然。它還有一些愚蠢。" +"It's creepy and it's kooky, mysterious and spooky. It's also somewhat ooky." +msgstr "它是怪異,它是瘋狂、神秘、和毛骨悚然。它還有一些愚蠢。" #: src/iuse_software_kitten.cpp msgid "This is an anagram." @@ -187175,7 +193009,7 @@ msgid "This object is like an analogy." msgstr "這個物體像是一個比喻。" #: src/iuse_software_kitten.cpp -msgid "It's a symbol. You see in it a model for all symbols everywhere." +msgid "It's a symbol. You see in it a model for all symbols everywhere." msgstr "這是個符號。你在其中看到所有符號的共通典範。" #: src/iuse_software_kitten.cpp @@ -187183,17 +193017,17 @@ msgid "The object pushes back at you." msgstr "這物體把你往後推。" #: src/iuse_software_kitten.cpp -msgid "A traffic signal. It appears to have been recently vandalized." +msgid "A traffic signal. It appears to have been recently vandalized." msgstr "一個交通號誌。它似乎在最近被破壞了。" #: src/iuse_software_kitten.cpp msgid "" -"\"There is no kitten!\" cackles the old crone. You are shocked by her " +"\"There is no kitten!\" cackles the old crone. You are shocked by her " "blasphemy." -msgstr "\"根本沒有小貓! \", 老太婆高聲笑道。你對她的褻瀆感到震驚。" +msgstr "\"根本沒有小貓!\",老太婆高聲笑道。你對她的褻瀆感到震驚。" #: src/iuse_software_kitten.cpp -msgid "This is a Lagrange point. Don't come too close now." +msgid "This is a Lagrange point. Don't come too close now." msgstr "這是一個拉格朗日點。不要靠太近了。" #: src/iuse_software_kitten.cpp @@ -187213,8 +193047,8 @@ msgid "It's the instruction manual for a previous version of this game." msgstr "這是這個遊戲前一個版本的說明書。" #: src/iuse_software_kitten.cpp -msgid "A brain cell. Oddly enough, it seems to be functioning." -msgstr "一個腦細胞。真奇怪, 它似乎還活著。" +msgid "A brain cell. Oddly enough, it seems to be functioning." +msgstr "一個腦細胞。真奇怪,它似乎還活著。" #: src/iuse_software_kitten.cpp msgid "Tea and/or crumpets." @@ -187229,16 +193063,16 @@ msgid "It's a Quaker Oatmeal tube, converted into a drum." msgstr "這是桂格燕麥管, 被改造成鼓了。" #: src/iuse_software_kitten.cpp -msgid "This is a remote control. Being a robot, you keep a wide berth." -msgstr "這是遙控器。因為你是機器人, 所以保持距離為上。" +msgid "This is a remote control. Being a robot, you keep a wide berth." +msgstr "這是遙控器。因為你是機器人,所以保持距離為上。" #: src/iuse_software_kitten.cpp msgid "It's a roll of industrial-strength copper wire." msgstr "這是一卷有著工業級強度的銅線。" #: src/iuse_software_kitten.cpp -msgid "Oh boy! Grub! Er, grubs." -msgstr "喔天哪! 蟲! 噁, 蟲啊。" +msgid "Oh boy! Grub! Er, grubs." +msgstr "天哪!蟲!噁, 蟲啊。" #: src/iuse_software_kitten.cpp msgid "A puddle of mud, where the mudskippers play." @@ -187265,20 +193099,20 @@ msgid "An autographed copy of \"Primary Colors\", by Anonymous." msgstr "一個附簽名的 \"原色\" 副本, 由無名氏創作。" #: src/iuse_software_kitten.cpp -msgid "Another rabbit? That's three today!" -msgstr "又一隻兔子? 這是今天第三隻了!" +msgid "Another rabbit? That's three today!" +msgstr "又一隻兔子?這是今天第三隻了!" #: src/iuse_software_kitten.cpp -msgid "It's a segmentation fault. Core dumped, by the way." -msgstr "這是一個區段錯誤。附帶一提, 記憶體溢出了。" +msgid "It's a segmentation fault. Core dumped, by the way." +msgstr "這是一個區段錯誤。附帶一提,記憶體溢出了。" #: src/iuse_software_kitten.cpp msgid "A historical marker showing the actual location of /dev/null." msgstr "一個歷史性的註記, 顯示了 /dev/null 的真實路徑。" #: src/iuse_software_kitten.cpp -msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" -msgstr "這是莫比烏斯·迪克, 令人猜不透的鯨魚。吼!" +msgid "Thar's Mobius Dick, the convoluted whale. Arrr!" +msgstr "這是莫比烏斯·迪克,令人猜不透的鯨魚。吼!" #: src/iuse_software_kitten.cpp msgid "It's a charcoal briquette, smoking away." @@ -187297,8 +193131,8 @@ msgid "A stack of 7 inch floppies wobbles precariously." msgstr "一疊搖搖晃晃的 7 吋軟碟。" #: src/iuse_software_kitten.cpp -msgid "It's nothing but a corrupted floppy. Coaster anyone?" -msgstr "這只是一個壞掉的磁片。有人需要杯墊嗎?" +msgid "It's nothing but a corrupted floppy. Coaster anyone?" +msgstr "這只是一個壞掉的磁片。有人需要杯墊嗎?" #: src/iuse_software_kitten.cpp msgid "A section of glowing phosphor cells sings a song of radiation to you." @@ -187341,7 +193175,7 @@ msgid "It's the missing chapter to \"A Clockwork Orange\"." msgstr "這是 \"發條橘子\" 缺少的那一章。" #: src/iuse_software_kitten.cpp -msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." +msgid "It's a burrito stand flyer. \"Taqueria El Ranchito\"." msgstr "這是個卷餅的立牌。上面寫著 \"Taqueria El Ranchito\"。" #: src/iuse_software_kitten.cpp @@ -187369,24 +193203,24 @@ msgid "A forgotten telephone switchboard operator." msgstr "一位過時的電話交換機接線生。" #: src/iuse_software_kitten.cpp -msgid "It's an automated robot-disdainer. It pretends you're not there." -msgstr "一台自動機器人蔑視裝置。他假裝你不在那。" +msgid "It's an automated robot-disdainer. It pretends you're not there." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." -msgstr "這是一個攜帶式的洞。有牌子寫著: \"因過冬而關閉\"。" +msgid "It's a portable hole. A sign reads: \"Closed for the winter\"." +msgstr "" #: src/iuse_software_kitten.cpp msgid "Just a moldy loaf of bread." msgstr "只是一塊發霉的麵包。" #: src/iuse_software_kitten.cpp -msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." -msgstr "一管小玻璃瓶裝的護唇膏。可惜你沒有嘴唇。" +msgid "A little glass tub of Carmex. ($.89) Too bad you have no lips." +msgstr "" #: src/iuse_software_kitten.cpp -msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" -msgstr "一把萬用瑞士刀。目前是工具全開狀態。(牙籤不見了)" +msgid "A Swiss-Army knife. All of its appendages are out. (toothpick lost)" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's a zen simulation, trapped within an ASCII character." @@ -187405,16 +193239,16 @@ msgid "A willing, ripe tomato bemoans your inability to digest fruit." msgstr "一個現採的成熟番茄, 可惜你無法消化水果。" #: src/iuse_software_kitten.cpp -msgid "A robot comedian. You feel amused." -msgstr "一個搞笑機器人。你覺得真有趣。" +msgid "A robot comedian. You feel amused." +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's KITT, the talking car." msgstr "這是基特, 會說話的汽車。" #: src/iuse_software_kitten.cpp -msgid "Here's Pete Peterson. His batteries seem to have long gone dead." -msgstr "這是皮特·彼得森。他的電池似乎早就報銷了。" +msgid "Here's Pete Peterson. His batteries seem to have long gone dead." +msgstr "" #: src/iuse_software_kitten.cpp msgid "\"Blup, blup, blup\", says the mud pot." @@ -187441,16 +193275,16 @@ msgid "Pumpkin pie spice." msgstr "南瓜派香料。" #: src/iuse_software_kitten.cpp -msgid "It's the Bass-Matic '76! Mmm, that's good bass!" -msgstr "這是攪拌機 76 號! 嗯, 真是好攪拌器!" +msgid "It's the Bass-Matic '76! Mmm, that's good bass!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "\"Lend us a fiver 'til Thursday\", pleas Andy Capp." msgstr "\"請借給我們五元, 到星期四就好\", 安迪·卡培如此懇求著。" #: src/iuse_software_kitten.cpp -msgid "It's a tape of '70s rock. All original hits! All original artists!" -msgstr "這是塊裝著 70 年代搖滾樂的錄音帶。所有衝擊的源頭! 所有藝術的源頭!" +msgid "It's a tape of '70s rock. All original hits! All original artists!" +msgstr "" #: src/iuse_software_kitten.cpp msgid "You've found the fabled America Online disk graveyard!" @@ -187466,13 +193300,13 @@ msgstr "這是個驚人的中繼物件。" #: src/iuse_software_kitten.cpp msgid "" -"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " +"Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES " "SIR!\"" -msgstr "艾德·麥馬漢站在這裡沉思。看到你, 他喊叫, \"是的, 長官! \"" +msgstr "" #: src/iuse_software_kitten.cpp -msgid "...thingy???" -msgstr "… 什麼玩意兒???" +msgid "…thingy???" +msgstr "" #: src/iuse_software_kitten.cpp msgid "It's 1000 secrets the government doesn't want you to know!" @@ -187483,12 +193317,12 @@ msgid "The letters O and R." msgstr "這是字母 O 和 R。" #: src/iuse_software_kitten.cpp -msgid "A magical... magic thing." -msgstr "一件神奇的… 奇事。" +msgid "A magical… magic thing." +msgstr "一件神奇的... 魔法物品。" #: src/iuse_software_kitten.cpp -msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" -msgstr "" +msgid "That is a moose, a thing of pure evil. You should \"RUN!\"" +msgstr "那是駝鹿,一種純粹邪惡的事物。你應該\"快點逃跑!\"" #: src/iuse_software_kitten.cpp msgid "It is SOFTWARE BUG." @@ -187518,13 +193352,13 @@ msgstr ")。" #: src/iuse_software_kitten.cpp msgid "" -"Your job is to find kitten. This task is complicated by the existence of " -"various things which are not kitten. Robot must touch items to determine if " -"they are kitten or not. The game ends when robot finds kitten. " +"Your job is to find kitten. This task is complicated by the existence of " +"various things which are not kitten. Robot must touch items to determine if" +" they are kitten or not. The game ends when robot finds kitten. " "Alternatively, you may end the game by hitting 'q', 'Q' or the Escape key." msgstr "" -"你的任務是找到小貓。由於存在各種不是小貓的東西, 使得這個任務變得複雜。機器人必須觸碰物品才能確定它們是不是小貓。當機器人找到小貓時, 遊戲結束。或者," -" 你可以按 q, Q 或 Esc 來結束遊戲。" +"你的任務是找到小貓。由於存在各種不是小貓的東西,使得這個任務變得複雜。機器人必須觸碰物品才能確定它們是不是小貓。當機器人找到小貓時,遊戲結束。或者,你可以按" +" q,Q 或 Esc 來結束遊戲。" #: src/iuse_software_kitten.cpp msgid "Press any key to start." @@ -187535,8 +193369,8 @@ msgid "Invalid command: Use direction keys or press 'q'." msgstr "無效的指令: 按方向鍵移動或按 q 離開。" #: src/iuse_software_kitten.cpp -msgid "You found kitten! Way to go, robot!" -msgstr "你找到小貓了! 幹得好, 機器人!" +msgid "You found kitten! Way to go, robot!" +msgstr "你找到小貓了!幹得好,機器人!" #: src/iuse_software_lightson.cpp msgid " toggle lights" @@ -187610,8 +193444,8 @@ msgid "lag" msgstr " 旗標" #: src/iuse_software_minesweeper.cpp -msgid "Boom, you're dead! Better luck next time." -msgstr "碰! 你掛了! 祝你下次好運。" +msgid "Boom, you're dead! Better luck next time." +msgstr "碰!你掛了!祝你下次好運。" #: src/iuse_software_snake.cpp src/iuse_software_sokoban.cpp #, c-format @@ -187915,6 +193749,10 @@ msgstr "%d 行動值" msgid "You cast %s!" msgstr "你施展了 %s!" +#: src/magic.cpp +msgid "an explosion" +msgstr "爆炸" + #: src/magic.cpp msgid "Too Difficult!" msgstr "太困難!" @@ -187947,10 +193785,6 @@ msgstr "錯誤:能量類別" msgid "infinite" msgstr "無限" -#: src/magic.cpp -msgid "an explosion" -msgstr "爆炸" - #: src/magic.cpp #, c-format msgid "%s and %s" @@ -187998,6 +193832,23 @@ msgstr "你無法學習這法術。" msgid "All knowledge of %s leaves you." msgstr "你失去了所有 %s 的知識。" +#: src/magic.cpp +msgid "Choose a new hotkey for this spell." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey already used." +msgstr "" + +#: src/magic.cpp +#, c-format +msgid "%c set. Close and reopen spell menu to refresh list with changes." +msgstr "" + +#: src/magic.cpp +msgid "Hotkey removed." +msgstr "" + #: src/magic.cpp msgid "Ignore Distractions" msgstr "忽略分散注意力的事物" @@ -188006,6 +193857,10 @@ msgstr "忽略分散注意力的事物" msgid "Popup Distractions" msgstr "提示分散注意力的事物" +#: src/magic.cpp +msgid "Assign Hotkey [=]" +msgstr "" + #: src/magic.cpp msgid "requires concentration" msgstr "需要集中" @@ -188070,6 +193925,10 @@ msgstr "施法耗魔" msgid "Casting Cost (impeded)" msgstr "施法耗魔(被阻礙)" +#: src/magic.cpp +msgid "Not Enough Energy" +msgstr "" + #: src/magic.cpp msgid "Casting Time" msgstr "施法時間" @@ -188138,18 +193997,22 @@ msgstr "恢復" msgid "Damage Type" msgstr "傷害類別" +#. ~ translation should not exceed 10 console cells #: src/magic.cpp msgid "Stat Gain" msgstr "效果加成" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "lvl 0" msgstr "等級 0" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "per lvl" msgstr "每一等級" +#. ~ translation should not exceed 7 console cells #: src/magic.cpp msgid "max lvl" msgstr "最大等級" @@ -188180,11 +194043,11 @@ msgstr "%s 的傷口正在痊癒!" #: src/magic_teleporter_list.cpp msgid "Name this gate." -msgstr "" +msgstr "命名此門。" #: src/magic_teleporter_list.cpp msgid "No translocator target known." -msgstr "" +msgstr "沒有已知的易位目標。" #: src/magic_teleporter_list.cpp msgid "Teleport canceled." @@ -188200,11 +194063,11 @@ msgstr "沒有傳送的有效目標。" #: src/magic_teleporter_list.cpp msgid "Choose Translocator Gate" -msgstr "" +msgstr "選擇易位門" #: src/main.cpp -msgid "Really Quit? All unsaved changes will be lost." -msgstr "確定離開? 所有未儲存的進度將會消失。" +msgid "Really Quit? All unsaved changes will be lost." +msgstr "確定離開?所有未儲存的進度將會消失。" #: src/main_menu.cpp msgid "Bugs? Suggestions? Use links in MOTD to report them." @@ -188323,21 +194186,25 @@ msgid "olors" msgstr "顏色" #: src/main_menu.cpp -msgid "Unable to make config directory. Check permissions." +msgid "Unable to make config directory. Check permissions." msgstr "無法建立設定資料夾。請檢查權限。" #: src/main_menu.cpp -msgid "Unable to make save directory. Check permissions." +msgid "Unable to make save directory. Check permissions." msgstr "無法建立存檔資料夾。請檢查權限。" #: src/main_menu.cpp -msgid "Unable to make templates directory. Check permissions." +msgid "Unable to make templates directory. Check permissions." msgstr "無法建立模板資料夾。請檢查權限。" #: src/main_menu.cpp -msgid "Unable to make sound directory. Check permissions." +msgid "Unable to make sound directory. Check permissions." msgstr "無法建立音效資料夾。請檢查權限。" +#: src/main_menu.cpp +msgid "Unable to make graphics directory. Check permissions." +msgstr "" + #: src/main_menu.cpp msgid "Really quit?" msgstr "確定離開?" @@ -188363,8 +194230,8 @@ msgstr "隨機角色" #: src/main_menu.cpp msgctxt "Main Menu|New Game" -msgid "Play Now! (ixed Scenario)" -msgstr "馬上玩! (預設劇情)" +msgid "Play Now! (ixed Scenario)" +msgstr "馬上玩! (預設劇情)" #: src/main_menu.cpp msgctxt "Main Menu|New Game" @@ -188412,6 +194279,12 @@ msgstr "只有管理員可以改變世界。" msgid "Create World" msgstr "創造世界" +#. ~ %1$s: vehicle name +#: src/map.cpp +#, c-format +msgid "weight of %1$s" +msgstr "%1$s 的重量" + #: src/map.cpp #, c-format msgid "The %1$s's %2$s collides with %3$s's %4$s." @@ -188473,6 +194346,17 @@ msgstr "掉下的 %s 砸到了你!" msgid "Falling %s hits " msgstr "掉下的 %s 砸到了 !" +#: src/map.cpp +#, c-format +msgid "The %s damages several items!" +msgstr "%s 損壞了幾件物品!" + +#. ~ %1$s: the cause of damage, %2$s: damaged item name +#: src/map.cpp +#, c-format +msgid "The %1$s damages the %2$s!" +msgstr "%1$s 損壞了 %2$s!" + #: src/map.cpp msgid "an alarm go off!" msgstr "警報聲大作!" @@ -188489,18 +194373,34 @@ msgstr "你被掉下的碎片砸到了!" msgid " is crushed by the falling debris!" msgstr " 被掉下的碎片砸到了!" -#: src/map.cpp -msgid "The shot is stopped by the reinforced glass wall!" -msgstr "這次射擊被強化玻璃牆擋住了!" - #: src/map.cpp msgid "The shot is stopped by the reinforced glass door!" msgstr "這次射擊被強化玻璃門擋住了!" +#: src/map.cpp +msgid "The shot is stopped by the reinforced glass wall!" +msgstr "這次射擊被強化玻璃牆擋住了!" + #: src/map.cpp msgid "ke-rash!" msgstr "喀啦!" +#: src/map.cpp +msgid "laser beam" +msgstr "雷射光束" + +#: src/map.cpp +msgid "bolt of electricity" +msgstr "電能閃電" + +#: src/map.cpp +msgid "bolt of plasma" +msgstr "電漿閃電" + +#: src/map.cpp +msgid "flying projectile" +msgstr "飛彈" + #: src/map.cpp msgid "The metal bars melt!" msgstr "金屬欄杆融化了!" @@ -188562,8 +194462,8 @@ msgid "Something has crawled out of the %s!" msgstr "有東西從 %s 爬出來了!" #: src/map_extras.cpp -msgid "DANGER! MINEFIELD!" -msgstr "危險! 地雷區!" +msgid "DANGER! MINEFIELD!" +msgstr "危險!地雷區!" #: src/map_field.cpp #, c-format @@ -188613,7 +194513,7 @@ msgid "The sap sticks to !" msgstr "樹汁粘到 了!" #: src/map_field.cpp -msgid "The sludge is thick and sticky. You struggle to pull free." +msgid "The sludge is thick and sticky. You struggle to pull free." msgstr "污泥黏稠。你掙扎著要逃脫。" #: src/map_field.cpp @@ -188687,7 +194587,7 @@ msgstr "火焰沒有燒到 。" #: src/map_field.cpp msgid "You're painfully electrocuted!" -msgstr "" +msgstr "你被電擊,十分痛苦!" #: src/map_field.cpp msgid " is shocked!" @@ -188984,30 +194884,42 @@ msgstr "* 移動時產生更小的聲響" #: src/martialarts.cpp #, c-format msgid "%s cannot be used unarmed." -msgstr "" +msgstr "%s 在徒手時無法施展。" #: src/martialarts.cpp #, c-format msgid "%s cannot be used with weapons." -msgstr "" +msgstr "%s 在持武時無法施展。" #: src/martialarts.cpp #, c-format -msgid "The %s is not a valid %s weapon." -msgstr "%s 並不是合適的 %s 武器。" +msgid "The %1$s is not a valid %2$s weapon." +msgstr "" #: src/martialarts.cpp -#, c-format -msgid "Type: %s" -msgstr "類型: %s" +msgid "Block Counter" +msgstr "格擋反擊" + +#: src/martialarts.cpp +msgid "Dodge Counter" +msgstr "閃避反擊" + +#: src/martialarts.cpp +msgid "Miss Recovery" +msgstr "失誤回復" #: src/martialarts.cpp -msgid "defensive" -msgstr "防禦" +msgid "Defensive" +msgstr "守勢" #: src/martialarts.cpp -msgid "offensive" -msgstr "進攻" +msgid "Offensive" +msgstr "攻勢" + +#: src/martialarts.cpp +#, c-format +msgid "Type: %s" +msgstr "類型: %s" #: src/martialarts.cpp msgid "Bonus: " @@ -189025,7 +194937,7 @@ msgstr "* 發動機率降低1 / %s" #: src/martialarts.cpp msgid "* Can activate on a normal or a crit hit" -msgstr "" +msgstr "* 在 普通攻擊爆擊 時會觸發" #: src/martialarts.cpp msgid "* Will only activate on a crit" @@ -189033,7 +194945,7 @@ msgstr "* 只有爆擊時可以使用" #: src/martialarts.cpp msgid "* Moves target behind you" -msgstr "" +msgstr "* 將目標移到你 後面 " #: src/martialarts.cpp msgid "* Will only activate while near to a wall" @@ -189041,11 +194953,11 @@ msgstr "* 只有在靠近牆壁時才會發動。" #: src/martialarts.cpp msgid "* Only works on a downed target" -msgstr "" +msgstr "* 只適用於 倒地的 目標" #: src/martialarts.cpp msgid "* Only works on a stunned target" -msgstr "" +msgstr "* 只適用於 被震暈的 目標" #: src/martialarts.cpp msgid "* Only works on a humanoid target" @@ -189097,7 +195009,7 @@ msgstr[0] "格" #: src/martialarts.cpp msgid "* Will follow enemies after knockback." -msgstr "" +msgstr "* 擊退敵人後會 緊隨敵人移動 。" #: src/martialarts.cpp #, c-format @@ -189113,6 +195025,11 @@ msgstr "* 將目標擊暈 %d %s" msgid "* Will disarm the target" msgstr "* 將目標繳械" +#: src/martialarts.cpp +msgid "" +"* Will disarm the target and take their weapon" +msgstr "* 將對目標 解除武裝 並且 取得武器" + #: src/martialarts.cpp msgid "" "This style forces you to use unarmed strikes, even if wielding a " @@ -189131,27 +195048,27 @@ msgstr "這種武術招式需要手持武器。" msgid "" "You can arm block by installing the Arms Alloy Plating " "CBM" -msgstr "" +msgstr "你可以進行手臂格擋,藉由安裝合金鋼鐵-手臂生化插件" #: src/martialarts.cpp #, c-format msgid "" "You can arm block at unarmed combat: " "%s" -msgstr "" +msgstr "你可以進行 手臂格擋徒手戰鬥技能: %s 級以上" #: src/martialarts.cpp msgid "" "You can leg block by installing the Legs Alloy Plating " "CBM" -msgstr "" +msgstr "你可以進行腿部格擋,藉由安裝合金鋼鐵-腿部生化插件" #: src/martialarts.cpp #, c-format msgid "" "You can leg block at unarmed combat: " "%s" -msgstr "" +msgstr "你可以進行 腿部格擋徒手戰鬥技能: %s 級以上" #: src/martialarts.cpp #, c-format @@ -189263,7 +195180,7 @@ msgstr[0] "%s 對著你的方向發出了 %d 急促的嗶嗶聲。" #. ~ There will be a 120mm HEAT shell sent at high speed to your location next #. turn. #: src/mattack_actors.cpp src/monattack.cpp -msgid "You're not sure why you've got a laser dot on you..." +msgid "You're not sure why you've got a laser dot on you…" msgstr "你不確定為什麼你身上有個雷射紅點…" #: src/mattack_actors.cpp src/monattack.cpp @@ -189362,6 +195279,20 @@ msgstr "你擊中了某物。" msgid "You swing at the air." msgstr "你揮空了。" +#: src/melee.cpp +msgid " disarms you and takes your weapon!" +msgstr " 解除你的武裝並取得武器!" + +#: src/melee.cpp +#, c-format +msgid "You disarm %s and take their weapon!" +msgstr "你解除 %s 的武裝並取得武器!" + +#: src/melee.cpp +#, c-format +msgid " disarms %s and takes their weapon!" +msgstr " 解除 %s 的武裝並取得武器!" + #: src/melee.cpp msgid " disarms you!" msgstr " 繳械了你!" @@ -189382,11 +195313,6 @@ msgid "%d enemy hit!" msgid_plural "%d enemies hit!" msgstr[0] "%d 敵人擊中!" -#: src/melee.cpp -#, c-format -msgid "You have learned %s from extensive practice with the CQB Bionic." -msgstr "頻繁使用 CQB 生化插件的過程中讓你學會了 %s。" - #. ~ Adjective in "You block of the damage with your . #: src/melee.cpp msgid "all" @@ -189427,6 +195353,10 @@ msgstr "對你的 %1$s 傷害被 %2$s 格擋了!" msgid " blocks %1$s of the damage with their %2$s!" msgstr " 用他的 %2$s 格擋了 %1$s 傷害!" +#: src/melee.cpp src/player.cpp +msgid "You try to counterattack but you are too exhausted!" +msgstr "你嘗試反擊,但你太累了!" + #: src/melee.cpp #, c-format msgid "You poison %s!" @@ -189708,8 +195638,8 @@ msgstr "%s。爆擊!" #. ~ someone hits something for %d damage (critical) #: src/melee.cpp #, c-format -msgid "%s for %d damage. Critical!" -msgstr "%s 造成 %d 傷害。爆擊!" +msgid "%s for %d damage. Critical!" +msgstr "%s 造成 %d 傷害。爆擊!" #. ~ NPC hits something #: src/melee.cpp @@ -190562,12 +196492,12 @@ msgstr "死於腎上腺素過量。" #: src/memorial_logger.cpp msgctxt "memorial_male" msgid "Died of an alcohol overdose." -msgstr "" +msgstr "死於酒精過量。" #: src/memorial_logger.cpp msgctxt "memorial_female" msgid "Died of an alcohol overdose." -msgstr "" +msgstr "死於酒精過量。" #: src/memorial_logger.cpp msgctxt "memorial_male" @@ -191048,7 +196978,7 @@ msgstr "< 按 %s 篩選, 按 %s 重置篩選 >" #: src/messages.cpp #, c-format msgid "" -"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" +"Format is [[TYPE]:]TEXT. The values for TYPE are: %s\n" "Examples:\n" " good:mutation\n" " :you pick up: 1\n" @@ -191099,76 +197029,76 @@ msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Assigning one of your allies to patrol the surrounding wilderness and isolated buildings presents the opportunity to build survival skills while engaging in relatively safe combat against isolated creatures." msgstr "" -"報酬: $25-$500\n" -"危險: 低\n" -"需時: 10小時任務\n" +"報酬:$25-$500\n" +"危險:低\n" +"需時:10小時任務\n" "\n" "派遣其中一位同伴在附近的荒野和孤立建築中巡邏。能在相對安全的環境中對付落單的生物並鍛煉自己的生存能力。" #: src/mission_companion.cpp msgid "Assign Scavenging Patrol" -msgstr "" +msgstr "指派拾荒巡邏" #: src/mission_companion.cpp msgid "" "Profit: $25-$500\n" "Danger: Low\n" "Time: 10 hour missions\n" -" \n" +"\n" "Patrol Roster:\n" msgstr "" -"報酬: $25-$500\n" -"危險: 低\n" -"需時: 10小時任務\n" +"報酬:$25-$500\n" +"危險:低\n" +"需時:10小時任務\n" "\n" -"巡邏名單:\n" +"巡邏名單:\n" #: src/mission_companion.cpp -msgid " hours] \n" +msgid " hours]\n" msgstr " 小時]\n" #: src/mission_companion.cpp msgid "Retrieve Scavenging Patrol" -msgstr "" +msgstr "召回拾荒巡邏" #: src/mission_companion.cpp msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Scavenging raids target formerly populated areas to loot as many valuable items as possible before being surrounded by the undead. Combat is to be expected and assistance from the rest of the party can't be guaranteed. The rewards are greater and there is a chance of the companion bringing back items." msgstr "" -"報酬: $200-$1000\n" -"危險: 中\n" -"需時: 10小時任務\n" +"報酬:$200-$1000\n" +"危險:中\n" +"需時:10小時任務\n" "\n" -"拾荒作戰以昔日的人口密集地區為目標, 以保證在被喪屍包圍前搜刮到最多的珍稀物品。戰鬥不可避免, 團隊成員間難以互相支援。任務報酬較高, 而且同伴有機會帶回物品。" +"拾荒作戰以昔日的人口密集地區為目標, 以保證在被喪屍包圍前搜刮到最多的珍稀物品。戰鬥不可避免, 團隊成員間難以互相支援。任務報酬較高, 而且同伴有機會帶回物品。" #: src/mission_companion.cpp msgid "Assign Scavenging Raid" -msgstr "" +msgstr "指派拾荒作戰" #: src/mission_companion.cpp msgid "" "Profit: $200-$1000\n" "Danger: Medium\n" "Time: 10 hour missions\n" -" \n" +"\n" "Raid Roster:\n" msgstr "" -"報酬: $200-$1000\n" -"危險: 中\n" -"需時: 10小時任務\n" +"報酬:$200-$1000\n" +"危險:中\n" +"需時:10小時任務\n" "\n" -"作戰名單:\n" +"作戰名單:\n" #: src/mission_companion.cpp msgid "Retrieve Scavenging Raid" -msgstr "" +msgstr "召回拾荒作戰" #: src/mission_companion.cpp msgid "Assign Ally to Menial Labor" @@ -191179,18 +197109,18 @@ msgid "" "Profit: $8/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Assigning one of your allies to menial labor is a safe way to teach them basic skills and build reputation with the outpost. Don't expect much of a reward though.\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -"利潤:每小時 $8\n" -"危險:可忽略\n" -"時間:至少 1小時\n" -" \n" -"將一位你的盟友分配給雜務工作,這是一種安全的方式來訓練他們的基本技能,並建立前哨站的聲譽。不過,不要期待有很多報酬。\n" -" \n" -"勞工名冊:\n" +"報酬:$8/每小時\n" +"危險:極低\n" +"需時:最少 1 小時\n" +"\n" +"將你的一位盟友分配給雜務工作,這是一種安全的方式來訓練他們的基本技能,並建立前哨站的聲譽。不過,不要期待有很多報酬。\n" +"\n" +"勞工名單:\n" #: src/mission_companion.cpp msgid "Recover Ally from Menial Labor" @@ -191201,14 +197131,14 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Carpentry work requires more skill than menial labor while offering modestly improved pay. It is unlikely that your companions will face combat but there are hazards working on makeshift buildings." msgstr "" -"報酬: $12/小時\n" -"危險: 最低\n" -"需時: 最少1小時\n" +"報酬:$12/每小時\n" +"危險:極低\n" +"需時:最少 1 小時\n" "\n" -"木工工作需要比粗重勞動更高的技術, 同時亦提供更多的報酬。你的同伴不太可能要面對戰鬥, 但在簡易搭建的建築裡工作總有危險。" +"木工工作需要比雜務更高的技術,同時也提供更多的報酬。你的同伴不太可能要面對戰鬥,但在簡易搭建的建築裡工作總有危險。" #: src/mission_companion.cpp msgid "Assign Ally to Carpentry Work" @@ -191219,24 +197149,24 @@ msgid "" "Profit: $12/hour\n" "Danger: Minimal\n" "Time: 1 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -"報酬: $12/小時\n" -"危險: 最低\n" -"需時: 最少1小時\n" +"報酬:$12/每小時\n" +"危險:極低\n" +"需時:最少 1 小時\n" "\n" -"勞工名單:\n" +"勞工名單:\n" #: src/mission_companion.cpp msgid "Recover Ally from Carpentry Work" -msgstr "" +msgstr "召回執行木工的盟友" #: src/mission_companion.cpp msgid "" "Cost: $1000\n" -" \n" -" \n" +"\n" +"\n" " .........\n" " .........\n" " .........\n" @@ -191246,9 +197176,23 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" -"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours... after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." +"\n" +"We're willing to let you purchase a field at a substantial discount to use for your own agricultural enterprises. We'll plow it for you so you know exactly what is yours… after you have a field you can hire workers to plant or harvest crops for you. If the crop is something we have a demand for, we'll be willing to liquidate it." msgstr "" +"費用:$1000\n" +"\n" +"\n" +" .........\n" +" .........\n" +" .........\n" +" .........\n" +" .........\n" +" .........\n" +" ..#....**\n" +" ..#Ov..**\n" +" ...O|....\n" +"\n" +"我們可以讓你以優惠折扣價購買一片土地,作為你自己的農業企業。我們會先為你犁地,讓你一眼認出那一片是你的… 你有了地之後可以僱用工人為你種植和收割作物。如果我們對你種植的作物有需求,我們會願意付錢收走。" #: src/mission_companion.cpp msgid "Purchase East Field" @@ -191257,7 +197201,7 @@ msgstr "購買東邊田地" #: src/mission_companion.cpp msgid "" "Cost: $5500\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -191268,10 +197212,10 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "Protecting your field with a sturdy picket fence will keep most wildlife from nibbling your crops apart. You can expect yields to increase." msgstr "" -"費用: $5500\n" +"費用:$5500\n" "\n" "\n" " .........\n" @@ -191284,7 +197228,7 @@ msgstr "" " ..#Ov..**\n" " ...O|....\n" "\n" -"建造一個堅固的柵欄保護你的土地, 大多數野生動物將沒法啃咬你的農作物。你可以預期產量增加。" +"建造一個堅固的柵欄保護你的土地,大多數野生動物將沒法啃咬你的農作物。你可以預期產量增加。" #: src/mission_companion.cpp msgid "Upgrade East Field I" @@ -191293,7 +197237,7 @@ msgstr "升級東營區 I" #: src/mission_companion.cpp msgid "" "Cost: $3.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -191304,11 +197248,10 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "We'll plant the field with your choice of crop if you are willing to finance it. When the crop is ready to harvest you can have us liquidate it or harvest it for you." msgstr "" -"費用: $3.00/株\n" -"\n" +"費用:$3.00/每塊田地\n" "\n" " .........\n" " .........\n" @@ -191320,7 +197263,7 @@ msgstr "" " ..#Ov..**\n" " ...O|....\n" "\n" -"如果你願意付錢, 我們可以替你種植你所選擇的作物。當作物準備收穫時可以讓我們替你收割或是直接換成錢。" +"如果你願意付錢,我們可以替你種植你所選擇的作物。當作物準備收穫時可以讓我們替你收割或是直接換成錢。" #: src/mission_companion.cpp msgid "Plant East Field" @@ -191329,7 +197272,7 @@ msgstr "播種東邊田地" #: src/mission_companion.cpp msgid "" "Cost: $2.00/plot\n" -" \n" +"\n" "\n" " .........\n" " .........\n" @@ -191340,11 +197283,10 @@ msgid "" " ..#....**\n" " ..#Ov..**\n" " ...O|....\n" -" \n" +"\n" "You can either have us liquidate the crop and give you the cash or pay us to harvest it for you." msgstr "" -"費用: $2.00/株\n" -"\n" +"費用:$2.00/每塊田地\n" "\n" " .........\n" " .........\n" @@ -191356,7 +197298,7 @@ msgstr "" " ..#Ov..**\n" " ...O|....\n" "\n" -"我們可以收費為你收割作物, 或是替你直接把作物換成錢。" +"我們可以收費為你收割作物,或是替你直接把作物換成錢。" #: src/mission_companion.cpp msgid "Harvest East Field" @@ -191367,14 +197309,14 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Foraging for food involves dispatching a companion to search the surrounding wilderness for wild edibles. Combat will be avoided but encounters with wild animals are to be expected. The low pay is supplemented with the odd item as a reward for particularly large hauls." msgstr "" -"報酬: $10/小時 \n" -"危險: 低 \n" -"需時: 最少4小時 \n" +"報酬:$10/每小時\n" +"危險:低\n" +"需時:最少 4 小時\n" "\n" -"蒐集食物將派遣一位同伴, 搜索周圍的荒野尋找野外食物。戰鬥將盡力避免, 但預料會遭遇到野生動物。儘管報酬不高, 如果收獲豐富的話會獲得物品作為獎勵。" +"蒐集食物將派遣一位同伴,搜索周圍的荒野尋找野外食物。戰鬥將盡力避免,但預料會遭遇到野生動物。儘管報酬不高,如果收獲豐富的話會獲得物品作為獎勵。" #: src/mission_companion.cpp msgid "Assign Ally to Forage for Food" @@ -191385,14 +197327,14 @@ msgid "" "Profit: $10/hour\n" "Danger: Low\n" "Time: 4 hour minimum\n" -" \n" +"\n" "Labor Roster:\n" msgstr "" -"報酬: $10/小時\n" -"危險: 低\n" -"需時: 最少4小時\n" +"報酬:$10/每小時\n" +"危險:低\n" +"需時:最少 4 小時\n" "\n" -"勞工名單:\n" +"勞工名單:\n" #: src/mission_companion.cpp msgid "Recover Ally from Foraging" @@ -191403,100 +197345,100 @@ msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" +"\n" "Adding companions to the caravan team increases the likelihood of success. By nature, caravans are extremely tempting targets for raiders or hostile groups so only a strong party is recommended. The rewards are significant for those participating but are even more important for the factions that profit.\n" -" \n" +"\n" "The commune is sending food to the Free Merchants in the Refugee Center as part of a tax and in exchange for skilled labor." msgstr "" -"報酬: $18/小時 \n" -"危險: 高 \n" -"需時: 未知\n" +"報酬:$18/每小時\n" +"危險:高\n" +"需時:未知\n" "\n" -"指派同伴護衛商隊可以增加行動的成功率。很自然地, 商隊在強盜和敵對勢力眼中是極其誘人的攻擊目標, 因此一個強大的團隊是不可或缺的。給予成員的回報相當豐厚, 但更重要的是能夠增強派系的勢力。\n" +"指派同伴護衛商隊可以增加行動的成功率。很自然地,商隊在強盜和敵對勢力眼中是極其誘人的攻擊目標,因此一個強大的團隊是不可或缺的。給予成員的回報相當豐厚,但更重要的是能夠增強陣營的勢力。\n" "\n" -"公社發送食物予難民中心的自由商會, 作為稅收的一部分, 以換取熟練的勞工。" +"公社發送食物給難民中心的自由商會,作為稅收的一部分, 以換取熟練的勞工。" #: src/mission_companion.cpp msgid "Caravan Commune-Refugee Center" -msgstr "" +msgstr "商隊公社 - 難民中心" #: src/mission_companion.cpp msgid "" "Profit: $18/hour\n" "Danger: High\n" "Time: UNKNOWN\n" -" \n" -" \n" +"\n" +"\n" "Roster:\n" msgstr "" -"報酬: $18/小時\n" -"危險: 高\n" -"需時: 未知\n" +"報酬:$18/每小時\n" +"危險:高\n" +"需時:未知\n" "\n" -"名單:\n" +"名單:\n" #: src/mission_companion.cpp -msgid " [READY] \n" +msgid " [READY]\n" msgstr " [待命]\n" #: src/mission_companion.cpp -msgid " [COMPLETE] \n" +msgid " [COMPLETE]\n" msgstr " [完成]\n" #: src/mission_companion.cpp -msgid " Hours] \n" +msgid " Hours]\n" msgstr " 小時]\n" #: src/mission_companion.cpp msgid "" "\n" -" \n" +"\n" "The caravan will contain two or three additional members from the commune, are you ready to depart?" msgstr "" "\n" "\n" -"商隊會額外包含兩位或三位公社成員, 你準備好離開了嗎?" +"商隊會額外包含兩位或三位公社成員,你準備好出發了嗎?" #: src/mission_companion.cpp msgid "Begin Commune-Refugee Center Run" -msgstr "" +msgstr "開始進行公社 - 難民中心" #: src/mission_companion.cpp msgid "Recover Commune-Refugee Center" -msgstr "" +msgstr "召回公社 - 難民中心" #: src/mission_companion.cpp -msgid "There are no missions at this colony. Press Spacebar..." +msgid "There are no missions at this colony. Press Spacebar…" msgstr "這個殖民地暫時沒有任務提供。請按空白鍵…" #: src/mission_companion.cpp -msgid "joins the caravan team..." +msgid "joins the caravan team…" msgstr "加入貿易商隊…" #: src/mission_companion.cpp -msgid "departs on the scavenging patrol..." +msgid "departs on the scavenging patrol…" msgstr "離隊進行搜索巡邏…" #: src/mission_companion.cpp -msgid "departs on the scavenging raid..." +msgid "departs on the scavenging raid…" msgstr "離隊進行拾荒作戰…" #: src/mission_companion.cpp -msgid "departs to work as a laborer..." +msgid "departs to work as a laborer…" msgstr "離隊加入工人行列…" #: src/mission_companion.cpp -msgid "departs to work as a carpenter..." +msgid "departs to work as a carpenter…" msgstr "離隊加入木工行列…" #: src/mission_companion.cpp -msgid "departs to forage for food..." -msgstr "離隊尋找食物…" +msgid "departs to forage for food…" +msgstr "離隊採集食物…" #: src/mission_companion.cpp #, c-format -msgid "The caravan departs with an estimated total travel time of %d hours..." -msgstr "商隊離開了, 預計總行程時間為 %d 小時…" +msgid "The caravan departs with an estimated total travel time of %d hours…" +msgstr "商隊離開了,預計總行程時間為 %d 小時…" #: src/mission_companion.cpp #, c-format @@ -191521,8 +197463,8 @@ msgid "The caravan party has returned. Your share of the profits are $%d!" msgstr "商隊回來了。你的一份報酬是 $%d!" #: src/mission_companion.cpp -msgid "The caravan was a disaster and your companions never made it home..." -msgstr "商隊遇上了災禍, 你的同伴再也回不來了…" +msgid "The caravan was a disaster and your companions never made it home…" +msgstr "商隊遇上了災禍,你的同伴再也回不來了…" #: src/mission_companion.cpp #, c-format @@ -191549,20 +197491,20 @@ msgstr "%s 把你的名字記入帳本中, 並叫來附近的工人開犁你的 #, c-format msgid "" "After counting your money %s directs a nearby laborer to begin constructing " -"a fence around your plot..." -msgstr "點收了你的錢以後, %s 指派了附近的一位工人開始繞著你的田修築護欄…" +"a fence around your plot…" +msgstr "點收了你的錢以後,%s 指派了附近的一位工人開始繞著你的田修築護欄…" #: src/mission_companion.cpp msgid "You have no seeds to plant!" msgstr "你沒有可以種植的種子!" #: src/mission_companion.cpp -msgid "You have no room to plant seeds..." +msgid "You have no room to plant seeds…" msgstr "你沒有足夠的空間來播種…" #: src/mission_companion.cpp -msgid "I'm sorry, you don't have enough money to plant those seeds..." -msgstr "抱歉, 你沒有足夠的資金來種植這些種子…" +msgid "I'm sorry, you don't have enough money to plant those seeds…" +msgstr "抱歉,你沒有足夠的資金來種植這些種子…" #: src/mission_companion.cpp #, c-format @@ -191577,7 +197519,7 @@ msgid "" msgstr "點收了你的錢和種子以後, %s 叫來了一群工人種植你的田地。" #: src/mission_companion.cpp -msgid "There aren't any plants that are ready to harvest..." +msgid "There aren't any plants that are ready to harvest…" msgstr "目前尚未有可收割的作物…" #: src/mission_companion.cpp @@ -191585,44 +197527,44 @@ msgid "Which plants do you want to have harvested?" msgstr "你要收穫那些作物?" #: src/mission_companion.cpp -msgid "You decided to hold off for now..." +msgid "You decided to hold off for now…" msgstr "你想暫緩一下…" #: src/mission_companion.cpp msgid "" "You don't have enough to pay the workers to harvest the crop so you are " -"forced to sell..." -msgstr "" +"forced to sell…" +msgstr "你沒有足夠的錢來支付工人收割作物的薪水,所以你被迫變賣…" #: src/mission_companion.cpp #, c-format msgid "Do you wish to sell the crop of %d %s for a profit of $%d?" -msgstr "" +msgstr "你想要把 %d 個 %s 以 $%d 的價格賣出嗎?" #: src/mission_companion.cpp #, c-format -msgid "The %s are sold for $%d..." -msgstr "" +msgid "The %s are sold for $%d…" +msgstr "%s 變賣獲得 $%d…" #: src/mission_companion.cpp #, c-format -msgid "You receive %d %s..." +msgid "You receive %d %s…" msgstr "你收到 %d %s…" #: src/mission_companion.cpp #, c-format msgid "" "While scavenging, %s's party suddenly found itself set upon by a large mob " -"of undead..." -msgstr "拾荒的時候, %s 的團隊突然發現自己被一大群活死人盯上了…" +"of undead…" +msgstr "拾荒的時候,%s 的團隊突然發現自己被一大群活死人盯上了…" #: src/mission_companion.cpp msgid "Through quick thinking the group was able to evade combat!" msgstr "憑藉機敏的思維, 團隊成功避開戰鬥!" #: src/mission_companion.cpp -msgid "Combat took place in close quarters, focusing on melee skills..." -msgstr "進行近身戰鬥, 注重近戰的技能…" +msgid "Combat took place in close quarters, focusing on melee skills…" +msgstr "進行近身戰鬥,注重近戰的技能…" #: src/mission_companion.cpp #, c-format @@ -191630,14 +197572,13 @@ msgid "Through brute force the party smashed through the group of %d undead!" msgstr "以蠻力突破, 團隊幹掉了 %d 隻活死人!" #: src/mission_companion.cpp -msgid "Unfortunately they were overpowered by the undead... I'm sorry." -msgstr "不幸地, 他們被活死人吞噬了… 我很抱歉。" +msgid "Unfortunately they were overpowered by the undead… I'm sorry." +msgstr "不幸地,他們被活死人吞噬了… 我很抱歉。" #: src/mission_companion.cpp #, c-format -msgid "" -"%s returns from patrol having earned $%d and a fair bit of experience..." -msgstr "%s 完成巡邏回來, 取得了 $%d 還有一點經驗…" +msgid "%s returns from patrol having earned $%d and a fair bit of experience…" +msgstr "%s 完成巡邏回來,取得了 $%d 還有一點經驗…" #: src/mission_companion.cpp #, c-format @@ -191655,8 +197596,8 @@ msgstr "%s 開始信任你的能力, 願意讓你參與更危險的作戰行動 #: src/mission_companion.cpp #, c-format msgid "" -"%s returns from the raid having earned $%d and a fair bit of experience..." -msgstr "%s 完成作戰回來, 取得了 $%d 還有一點經驗…" +"%s returns from the raid having earned $%d and a fair bit of experience…" +msgstr "%s 完成作戰回來,取得了 $%d 還有一點經驗…" #: src/mission_companion.cpp #, c-format @@ -191667,8 +197608,8 @@ msgstr "%s 為你帶來了一個 %s!" #, c-format msgid "" "%s returns from working as a laborer having earned $%d and a bit of " -"experience..." -msgstr "%s 完成了工人的工作, 取得了 $%d 還有一點經驗…" +"experience…" +msgstr "%s 完成了工人的工作,取得了 $%d 還有一點經驗…" #: src/mission_companion.cpp #, c-format @@ -191679,8 +197620,8 @@ msgstr "%s 開始信任你的同伴, 願意讓他們參與更複雜的工作。" #: src/mission_companion.cpp #, c-format -msgid "While %s was framing a building one of the walls began to collapse..." -msgstr "當 %s 正在建屋的時候, 其中一面牆開始倒塌…" +msgid "While %s was framing a building one of the walls began to collapse…" +msgstr "當 %s 正在建屋的時候,其中一面牆開始倒塌…" #: src/mission_companion.cpp #, c-format @@ -191694,7 +197635,7 @@ msgstr "%s 於窗口疾飛而出, 逃過了塌方。" #: src/mission_companion.cpp #, c-format -msgid "%s didn't make it out in time..." +msgid "%s didn't make it out in time…" msgstr "%s 未能及時逃出…" #: src/mission_companion.cpp @@ -191703,7 +197644,7 @@ msgid "but %s was rescued from the debris with only minor injuries!" msgstr "但 %s 在瓦礫堆中獲救, 僅僅受了輕傷!" #: src/mission_companion.cpp -msgid "Everyone who was trapped under the collapsing roof died..." +msgid "Everyone who was trapped under the collapsing roof died…" msgstr "所有被困在坍塌屋頂下的人都死了…" #: src/mission_companion.cpp @@ -191714,13 +197655,13 @@ msgstr "很抱歉, 我們無能為力。" #, c-format msgid "" "%s returns from working as a carpenter having earned $%d and a bit of " -"experience..." -msgstr "%s 完成了木工的工作, 獲得了 $%d 還有一點經驗…" +"experience…" +msgstr "%s 完成了木工的工作,獲得了 $%d 還有一點經驗…" #: src/mission_companion.cpp #, c-format -msgid "While foraging, a beast began to stalk %s..." -msgstr "在覓食的時候, 一隻野獸悄悄靠近 %s…" +msgid "While foraging, a beast began to stalk %s…" +msgstr "在覓食的時候,一隻野獸悄悄靠近 %s…" #: src/mission_companion.cpp #, c-format @@ -191752,19 +197693,19 @@ msgstr "%s 把美洲獅打得血肉模糊!" #, c-format msgid "" "%s was able to hold off the first wolf but the others that were skulking in " -"the tree line caught up..." -msgstr "" +"the tree line caught up…" +msgstr "%s 擋住了領頭狼的攻擊,但潛伏在樹影中的狼群一齊撲上…" #: src/mission_companion.cpp -msgid "I'm sorry, there wasn't anything we could do..." -msgstr "很抱歉, 我們無能為力…" +msgid "I'm sorry, there wasn't anything we could do…" +msgstr "很抱歉,我們無能為力…" #: src/mission_companion.cpp #, c-format msgid "" -"We... we don't know what exactly happened but we found %s's gear ripped and " -"bloody..." -msgstr "我們… 我們不知道到底發生了什麼事, 但我們找到 %s 被撕開的裝備, 上面還滿佈鮮血…" +"We… we don't know what exactly happened but we found %s's gear ripped and " +"bloody…" +msgstr "我們… 我們不知道到底發生了什麼事,但我們找到 %s 被撕開的裝備,上面還滿佈鮮血…" #: src/mission_companion.cpp msgid "I fear your companion won't be returning." @@ -191774,13 +197715,13 @@ msgstr "恐怕你的同伴不會回來了。" #, c-format msgid "" "%s returns from working as a forager having earned $%d and a bit of " -"experience..." -msgstr "%s 完成了採集的工作, 獲得了 $%d 還有一點經驗…" +"experience…" +msgstr "%s 完成了採集的工作,獲得了 $%d 還有一點經驗…" #: src/mission_companion.cpp #, c-format msgid "Engagement between %d members of %s %s and %d %s%s!" -msgstr "" +msgstr "%d 位 %s %s 的成員和 %d 位 %s %s 的成員發生衝突!" #: src/mission_companion.cpp #, c-format @@ -191806,24 +197747,50 @@ msgid "Engagement between %d members of %s %s and %d members of %s %s%s!" msgstr "%d 位 %s %s 的成員和 %d 位 %s %s %s 的成員發生衝突!" #: src/mission_companion.cpp -msgid "You don't have any companions to send out..." +msgid "You don't have any companions to send out…" msgstr "你沒有可以派遣的同伴…" #: src/mission_companion.cpp -msgid "" -"Who do you want to send? [ COMBAT : SURVIVAL : INDUSTRY ]" -msgstr "你想派出誰? [ 戰鬥 : 生存 : 製作 ]" +msgid "Who do you want to send?" +msgstr "你想派遣誰呢?" #: src/mission_companion.cpp -msgid "You choose to send no one..." -msgstr "你決定不派任何人..." +msgid "[ COMBAT : SURVIVAL : INDUSTRY ]" +msgstr "" +#. ~ %1$s: npc name #: src/mission_companion.cpp -msgid "The companion you selected doesn't have the skills!" -msgstr "你選擇的同伴沒有需要的技能!" +#, c-format +msgctxt "companion" +msgid "%1$s (Guarding)" +msgstr "" + +#: src/mission_companion.cpp +#, c-format +msgctxt "companion ranking" +msgid "%s [ %4d : %4d : %4d ]" +msgstr "" + +#. ~ %1$s: skill name, %2$d: companion skill level +#: src/mission_companion.cpp +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d" +msgstr "" + +#. ~ %1$s: skill name, %2$d: companion skill level, %3$d: skill requirement +#: src/mission_companion.cpp +#, c-format +msgctxt "companion skill" +msgid "%1$s %2$d/%3$d" +msgstr "" + +#: src/mission_companion.cpp +msgid "You choose to send no one…" +msgstr "你決定不派任何人..." #: src/mission_companion.cpp -msgid "You don't have any companions ready to return..." +msgid "You don't have any companions ready to return…" msgstr "你沒有準備好歸隊的同伴…" #: src/mission_companion.cpp @@ -191831,7 +197798,7 @@ msgid "Who should return?" msgstr "那一位應該歸隊?" #: src/mission_companion.cpp -msgid "No one returns to your party..." +msgid "No one returns to your party…" msgstr "沒有人歸隊…" #: src/mission_end.cpp @@ -191863,18 +197830,17 @@ msgid "Download Software" msgstr "下載軟體" #: src/mission_start.cpp -msgid "You don't know where the address could be..." +msgid "You don't know where the address could be…" msgstr "你不知道這個地址在哪裡…" #: src/mission_start.cpp -msgid "You mark the refugee center and the road that leads to it..." -msgstr "你標記了難民中心的位置, 以及通往它的道路…" +msgid "You mark the refugee center and the road that leads to it…" +msgstr "你標記了難民中心的位置,以及通往它的道路…" #: src/mission_start.cpp msgid "" -"You mark the refugee center, but you have no idea how to get there by " -"road..." -msgstr "你標記了難民中心的位置, 但你不知道要走哪條道路才能到達…" +"You mark the refugee center, but you have no idea how to get there by road…" +msgstr "你標記了難民中心的位置,但你不知道要走哪條道路才能到達…" #: src/mission_start.cpp msgid "Workstation" @@ -191950,7 +197916,7 @@ msgstr "你還沒有失敗過任務!" #: src/mission_util.cpp #, c-format -msgid "%s also marks the road that leads to it..." +msgid "%s also marks the road that leads to it…" msgstr "%s 也標記了通往它的道路…" #: src/mission_util.cpp @@ -192336,14 +198302,6 @@ msgstr "咻-咚。" msgid "The root walls creak around you." msgstr "植根牆在你周圍碎裂。" -#. ~ the sound of a fungus releasing spores -#. ~ That spore sound again -#. ~ the sound of a fungus dying -#. ~spore-release sound -#: src/monattack.cpp src/mondeath.cpp src/player.cpp -msgid "Pouf!" -msgstr "噗!" - #: src/monattack.cpp #, c-format msgid "Spores are released from the %s!" @@ -192395,7 +198353,7 @@ msgstr "%s 一邊鼓動, 並釋放出新鮮的真菌孢子!" #: src/monattack.cpp #, c-format -msgid "The %s seems to wave you toward the tower..." +msgid "The %s seems to wave you toward the tower…" msgstr "%s 似乎朝著塔對你揮手示意…" #: src/monattack.cpp @@ -192410,8 +198368,8 @@ msgid "The %1$s sinks its point into your %2$s!" msgstr "%1$s 的針刺插進了你的 %2$s!" #: src/monattack.cpp -msgid "You feel thousands of live spores pumping into you..." -msgstr "你感覺有成千的活孢子注入進你的身體。" +msgid "You feel thousands of live spores pumping into you…" +msgstr "你感覺有成千的活孢子注入進你的身體..." #. ~ 1$s is monster name, 2$s bodypart in accusative #: src/monattack.cpp @@ -192447,7 +198405,7 @@ msgstr "你被真菌牆的成長推開了!" #: src/monattack.cpp #, c-format -msgid "The %s spreads its tendrils. It seems as though it's expecting you..." +msgid "The %s spreads its tendrils. It seems as though it's expecting you…" msgstr "%s 展開了它的卷鬚。彷彿在等待你…" #: src/monattack.cpp @@ -192458,8 +198416,8 @@ msgstr "塔中延伸出數個卷鬚。靜止不動?" #: src/monattack.cpp #, c-format msgid "" -"The %s works several tendrils into your arms, legs, torso, and even neck..." -msgstr "%s 伸出數個卷鬚纏繞到你的手臂、腿部、軀幹, 甚至是頸部…" +"The %s works several tendrils into your arms, legs, torso, and even neck…" +msgstr "%s 伸出數個卷鬚纏繞到你的手臂、腿部、軀幹,甚至是頸部…" #: src/monattack.cpp msgid "" @@ -192480,9 +198438,9 @@ msgstr "被引見至馬洛斯之門。" #. ~ Beginning to hear the Mycus while conscious: this is it speaking #: src/monattack.cpp msgid "" -"assistance, on an arduous quest. unity. together we have reached the door. " -"now to pass through..." -msgstr "協助, 一個艱鉅的任務。團結。團結一致讓我們到達了大門。我們有最後的關鍵。現在, 走過去吧…" +"assistance, on an arduous quest. unity. together we have reached the door." +" now to pass through…" +msgstr "協助,一個艱鉅的任務。同心協力。我們一起到達了門口。我們有最後的鑰匙。現在,走過去吧.." #: src/monattack.cpp msgid "You're shoved away as a fungal hedgerow grows!" @@ -192504,7 +198462,7 @@ msgid "The %s takes aim, and spears at you with a massive tendril!" msgstr "%s 瞄準了你, 用巨大的卷鬚向你刺過來!" #: src/monattack.cpp -msgid "You feel millions of live spores pumping into you..." +msgid "You feel millions of live spores pumping into you…" msgstr "你感覺有上百萬的活孢子注入進你的身體。" #: src/monattack.cpp @@ -192662,7 +198620,7 @@ msgstr "%s 嘗試抓住你, 但你把它擊退了!" #: src/monattack.cpp #, c-format -msgid "The %s tries to grab you..." +msgid "The %s tries to grab you…" msgstr "%s 試圖抓住你..." #: src/monattack.cpp @@ -192716,6 +198674,10 @@ msgstr "你感覺到毒素進入你的身體!" msgid "The %s young triffid grows into an adult!" msgstr "%s 小食人樹成長了!" +#: src/monattack.cpp +msgid "You feel a strange reverberation accross your body." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s stares at you, and you shudder." @@ -192807,12 +198769,12 @@ msgid "" msgstr "%s 將你認為是警官。並環顧在旁觀看。" #: src/monattack.cpp -msgid "Probably some now-obsolete Internal Affairs subroutine..." -msgstr "也許是一些過時的內部例行流程…" +msgid "Probably some now-obsolete Internal Affairs subroutine…" +msgstr "" #: src/monattack.cpp -msgid "Ops used to do that in case you needed backup..." -msgstr "隊員經常這樣做以防你需要支援…" +msgid "Ops used to do that in case you needed backup…" +msgstr "" #: src/monattack.cpp #, c-format @@ -192844,7 +198806,7 @@ msgid "The %s takes your picture!" msgstr "%s 照了你的相!" #: src/monattack.cpp -msgid "... database connection lost!" +msgid "…database connection lost!" msgstr "... 資料庫連線失敗!" #: src/monattack.cpp @@ -192904,8 +198866,8 @@ msgstr "天哪,魔鬼降臨在我身上!" #. ~ Potential grenading detected. #: src/monattack.cpp -msgid "Those laser dots don't seem very friendly..." -msgstr "這個雷射點不太友善…" +msgid "Those laser dots don't seem very friendly…" +msgstr "這個雷射點似乎不太友善…" #: src/monattack.cpp msgid "Targeting." @@ -192952,23 +198914,23 @@ msgid "a police siren, whoop WHOOP" msgstr "警用鳴笛聲, 嗚嗚嗚嗚" #: src/monattack.cpp -msgid "\"YOU... ARE FILTH...\"" +msgid "\"YOU… ARE FILTH…\"" msgstr "\"你… 被污染… \"" #: src/monattack.cpp -msgid "\"VERMIN... YOU ARE VERMIN...\"" +msgid "\"VERMIN… YOU ARE VERMIN…\"" msgstr "\"害蟲… 你是害蟲… \"" #: src/monattack.cpp -msgid "\"LEAVE NOW...\"" -msgstr "\"走開… \"" +msgid "\"LEAVE NOW…\"" +msgstr "\"快走開...\"" #: src/monattack.cpp -msgid "\"WE... WILL FEAST... UPON YOU...\"" +msgid "\"WE… WILL FEAST… UPON YOU…\"" msgstr "\"我們… 會在你的屍體上… 慶祝… \"" #: src/monattack.cpp -msgid "\"FOUL INTERLOPER...\"" +msgid "\"FOUL INTERLOPER…\"" msgstr "\"違法闖入者… \"" #. ~ %1$s is the name of the zombie upgrading the other, %2$s is the zombie @@ -193157,13 +199119,13 @@ msgstr "%1$s 猛地一爪抓向 的 %2$s, 但被護具彈開了!" #: src/monattack.cpp #, c-format -msgid "The %s slashes at your neck! You duck!" -msgstr "%s 斬擊你的頸部! 你閃開了!" +msgid "The %s slashes at your neck! You duck!" +msgstr "%s 斬擊你的頸部!你閃開了!" #: src/monattack.cpp #, c-format -msgid "The %s slashes at 's neck! They duck!" -msgstr "%s 斬擊 的頸部! 他閃開了!" +msgid "The %s slashes at 's neck! They duck!" +msgstr "%s 斬擊 的頸部!他閃開了!" #: src/monattack.cpp #, c-format @@ -193263,7 +199225,7 @@ msgid "but you grab its arm and flip it to the ground!" msgstr "但你抓住它的手臂並把它摔到地上!" #: src/monattack.cpp -msgid "The flip does shock you..." +msgid "The flip does shock you…" msgstr "翻動開關讓你電到了…" #: src/monattack.cpp @@ -193272,8 +199234,8 @@ msgstr "但你巧妙的迴旋轉身逃脫!" #: src/monattack.cpp msgid "" -"Halt and submit to arrest, citizen! The police will be here any moment." -msgstr "停下來束手就擒, 公民! 警方將會很快到達現場。" +"Halt and submit to arrest, citizen! The police will be here any moment." +msgstr "停下來束手就擒,公民!警方將會很快到達現場。" #: src/monattack.cpp msgid "Please stay in place, citizen, do not make any movements!" @@ -193401,7 +199363,7 @@ msgstr "%1$s 把 %2$s 摔在地上!" #. ~ 1$s is bodypart name in accusative, 2$d is damage value. #: src/monattack.cpp #, c-format -msgid "The zombie kicks your %1$s for %2$d damage..." +msgid "The zombie kicks your %1$s for %2$d damage…" msgstr "殭屍踢中你的 %1$s 造成 %2$d 傷害…" #: src/monattack.cpp @@ -193504,6 +199466,11 @@ msgstr "%1$s 的手臂刺向你的 %2$s, 但被護具彈開了!" msgid "The %1$s hits 's %2$s, but glances off armor!" msgstr "%1$s 刺向的 %2$s, 但被護具彈開了!" +#: src/monattack.cpp +#, c-format +msgid "The %1$s fuses with the %2$s." +msgstr "" + #: src/monattack.cpp #, c-format msgid "The %s doots its trumpet!" @@ -193614,8 +199581,8 @@ msgid "The %s melts away." msgstr "%s 融化了。" #: src/mondeath.cpp -msgid "Your obsession with the fault fades away..." -msgstr "你對斷層的偏執消失了…" +msgid "Your obsession with the fault fades away…" +msgstr "" #: src/mondeath.cpp msgid "As the final light is destroyed, it erupts in a blinding flare!" @@ -193703,11 +199670,6 @@ msgstr "%s 被擊中後噴灑出強酸!" msgid "zombie slave" msgstr "屍奴 " -#: src/monexamine.cpp src/player.cpp -#, c-format -msgid "What to do with your %s?" -msgstr "要對你的 %s 做什麼?" - #: src/monexamine.cpp #, c-format msgid "Push %s" @@ -193888,25 +199850,26 @@ msgstr "" #: src/monexamine.cpp #, c-format msgid "" -"Welcome to the %s Friendship Interface. What would you like to do?\n" +"Welcome to the %s Friendship Interface. What would you like to do?\n" "Your current friendship will last: %s" msgstr "" "歡迎使用 %s 友誼操作介面。您想做什麼?\n" "您目前的友誼將持續:%s" #: src/monexamine.cpp -msgid "Get more friendship. 10 cents/min" -msgstr "延長友誼時間。每分鐘 10 現金卡單位" +msgid "Get more friendship. 10 cents/min" +msgstr "延長友誼時間。 10 美分/每分鐘" #: src/monexamine.cpp -msgid "Sadly you're not currently able to extend your friendship. - Quit menu" +msgid "" +"Sadly you're not currently able to extend your friendship. - Quit menu" msgstr "遺憾的是您目前無法延長友誼。 - 退出選單" #: src/monexamine.cpp #, c-format -msgid "How much friendship do you get? Max: %d minute. (0 to cancel) " -msgid_plural "How much friendship do you get? Max: %d minutes. " -msgstr[0] "您要延長多久友誼時間?最長 %d 分鐘。" +msgid "How much friendship do you get? Max: %d minute. (0 to cancel)" +msgid_plural "How much friendship do you get? Max: %d minutes." +msgstr[0] "您要延長多久友誼時間?最長: %d 分鐘。" #: src/monexamine.cpp #, c-format @@ -193962,7 +199925,7 @@ msgstr "你的 %s 沒有能放進東西的空間!" #: src/monexamine.cpp #, c-format -msgid "%1$s is overburdened. You can't transfer your %2$s." +msgid "%1$s is overburdened. You can't transfer your %2$s." msgstr "%1$s 超重了。你不能轉移你的 %2$s。" #: src/monexamine.cpp @@ -194192,6 +200155,16 @@ msgstr "濃稠膠凍塊" msgid "wearing %1$s" msgstr "穿戴 %1$s" +#: src/monster.cpp +#, c-format +msgid "The %s" +msgstr "%s" + +#: src/monster.cpp +#, c-format +msgid "The %s's" +msgstr "" + #: src/monster.cpp #, c-format msgid "the %s's" @@ -194234,6 +200207,11 @@ msgstr "注意到你的存在!" msgid "Rider: %s" msgstr "騎手:%s" +#: src/monster.cpp +#, c-format +msgid " It is %s." +msgstr "" + #: src/monster.cpp msgid "Difficulty " msgstr "難度" @@ -194464,7 +200442,7 @@ msgid "You're envenomed!" msgstr "你被下毒了!" #: src/monster.cpp -msgid "You feel venom flood your body, wracking you with pain..." +msgid "You feel venom flood your body, wracking you with pain…" msgstr "你感覺毒液竄流你的全身,讓你異常疼痛..." #: src/monster.cpp @@ -194602,6 +200580,14 @@ msgstr "孢子把 %1$s 轉化成 %2$s!" msgid "Total morale:" msgstr "總士氣:" +#: src/morale.cpp +msgid "Pain level:" +msgstr "疼痛等級:" + +#: src/morale.cpp +msgid "Fatigue level:" +msgstr "疲勞等級:" + #: src/morale.cpp msgid "Focus trends towards:" msgstr "專注力趨向:" @@ -194675,8 +200661,8 @@ msgstr "你集中精神, 隨著愉悅的心情, 分裂出了新的黏液蛞蝓!" #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp -msgid "wow! you look just like me! we should look out for each other!" -msgstr "喔喔! 你看來就像我一樣! 我們應該要互相幫助!" +msgid "wow! you look just like me! we should look out for each other!" +msgstr "喔喔!你看來就像我一樣!我們應該要互相幫助!" #. ~ Usual enthusiastic slimespring small voices! :D #: src/mutation.cpp @@ -194710,8 +200696,8 @@ msgid "Bionic power storage increased by 100." msgstr "生化能量儲存量增加了 100。" #: src/mutation.cpp -msgid "You feel something straining deep inside you, yearning to be free..." -msgstr "你感覺到有東西在你的體內深處掙扎, 渴望被解放…" +msgid "You feel something straining deep inside you, yearning to be free…" +msgstr "你感覺到有東西在你的體內深處掙扎,渴望被解放…" #: src/mutation.cpp #, c-format @@ -194838,7 +200824,7 @@ msgid "Suffered a toxic marloss/mutagen reaction." msgstr "馬洛斯莓/突變劑 中毒。" #: src/mutation.cpp -msgid "Something strains mightily for a moment... and then... you're... FREE!" +msgid "Something strains mightily for a moment… and then… you're… FREE!" msgstr "某個東西猛力地拉扯了一會兒...然後...你...自由了!" #: src/mutation.cpp @@ -194856,7 +200842,7 @@ msgid "You stagger with a piercing headache!" msgstr "刺痛的頭疼讓你走得東倒西歪!" #: src/mutation.cpp -msgid "Your head throbs with memories of your life, before all this..." +msgid "Your head throbs with memories of your life, before all this…" msgstr "昔日的記憶在你的眼中閃現。身為人類的記憶…" #: src/mutation.cpp @@ -194874,8 +200860,8 @@ msgid "Crossed a threshold" msgstr "越過門檻" #: src/mutation_data.cpp -msgid "Oh, yeah! That's the stuff!" -msgstr "喔~耶! 就是這玩意兒!" +msgid "Oh, yeah! That's the stuff!" +msgstr "" #: src/mutation_ui.cpp msgid "Reassigning." @@ -194960,7 +200946,7 @@ msgstr "輸入新代碼: %s (按 Esc 取消)。" #: src/mutation_ui.cpp #, c-format msgid "" -"Invalid mutation letter. Only those characters are valid:\n" +"Invalid mutation letter. Only those characters are valid:\n" "\n" "%s" msgstr "" @@ -194990,7 +200976,7 @@ msgstr "" msgid "Tom" msgstr "Tom" -#. ~ Used for constructing full name: %1$s is `family name`, %2$s is `given +#. ~ Used for constructing full name: %1$s is `given name`, %2$s is `family #. name` #: src/name.cpp #, c-format @@ -194998,8 +200984,8 @@ msgctxt "Full Name" msgid "%1$s %2$s" msgstr "%1$s %2$s" -#. ~ Used for constructing full name with nickname: %1$s is `family name`, -#. %2$s is `given name`, %3$s is `nickname` +#. ~ Used for constructing full name with nickname: %1$s is `given name`, %2$s +#. is `family name`, %3$s is `nickname` #: src/name.cpp #, c-format msgctxt "Full Name" @@ -195026,8 +201012,8 @@ msgstr "自由形式" #: src/newcharacter.cpp src/player.cpp #, c-format -msgid "Select a style. (press %s for more info)" -msgstr "選擇招式 (按 %s 顯示詳細資訊)" +msgid "Select a style. (press %s for more info)" +msgstr "選擇招式。(按 %s 顯示詳細資訊)" #: src/newcharacter.cpp msgid "Use this style?" @@ -195062,14 +201048,14 @@ msgstr "劇情" msgid "PROFESSION" msgstr "職業" -#: src/newcharacter.cpp src/player_display.cpp -msgid "TRAITS" -msgstr "特質" - #: src/newcharacter.cpp src/player_display.cpp msgid "STATS" msgstr "屬性" +#: src/newcharacter.cpp src/player_display.cpp +msgid "TRAITS" +msgstr "特質" + #: src/newcharacter.cpp src/player_display.cpp msgid "SKILLS" msgstr "技能" @@ -195461,8 +201447,8 @@ msgstr[0] "%1$s 需要 %2$d 點數" #: src/newcharacter.cpp msgid "" -"This scenario is not available in this world due to city size settings. " -msgstr "因為城市規模設定, 這個劇情無法在這個世界使用。" +"This scenario is not available in this world due to city size settings." +msgstr "因為城市規模設定,這個劇情無法在這個世界使用。" #: src/newcharacter.cpp msgid "Professions:" @@ -195557,10 +201543,6 @@ msgstr "屬性:" msgid "Traits: " msgstr "特質: " -#: src/newcharacter.cpp -msgid "(Top 8)" -msgstr "(顯示最高的 8 項)" - #: src/newcharacter.cpp #, c-format msgid "Press %s to finish character creation or %s to go back." @@ -195628,8 +201610,8 @@ msgid "_______NO NAME ENTERED!_______" msgstr "________ 沒有輸入名字! ________" #: src/newcharacter.cpp -msgid "Are you SURE you're finished? Your name will be randomly generated." -msgstr "你 *確定* 完成了嗎? 你的名字將會隨機產生。" +msgid "Are you SURE you're finished? Your name will be randomly generated." +msgstr "你 *確定* 完成了嗎?你的名字將會隨機產生。" #: src/newcharacter.cpp src/worldfactory.cpp msgid "Are you SURE you're finished?" @@ -195801,10 +201783,6 @@ msgstr "害怕" msgid "Very afraid" msgstr "非常害怕" -#: src/npc.cpp -msgid "Terrified" -msgstr "嚇壞了" - #: src/npc.cpp msgid "Fear: " msgstr "恐懼: " @@ -195928,12 +201906,8 @@ msgid "NPC Legacy Attitude" msgstr "NPC 遺留態度" #: src/npc.cpp -msgid "Not much" -msgstr "不多" - -#: src/npc.cpp -msgid "Cooking" -msgstr "烹飪" +msgid "Cooking and butchering" +msgstr "烹飪與屠宰" #: src/npc.cpp msgid "Tidying and cleaning" @@ -195968,8 +201942,8 @@ msgid "Caring for the livestock" msgstr "照顧牲畜" #: src/npc.cpp -msgid "Hunting for meat" -msgstr "獵捕動物" +msgid "Hunting and fishing" +msgstr "狩獵與釣魚" #: src/npc.cpp msgid "Gathering edibles" @@ -196074,7 +202048,7 @@ msgid "Hold still %s, I'm coming to help you." msgstr "%s 別動,我來幫你。" #: src/npcmove.cpp -msgid "Don't move a muscle..." +msgid "Don't move a muscle…" msgstr "別想亂動…" #: src/npcmove.cpp @@ -196173,7 +202147,7 @@ msgstr "%1$s 拿了你的 %2$s 。" #: src/npcmove.cpp #, c-format msgid "" -"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" +"From your two-way radio you hear %s reporting in, 'I've arrived, boss!'" msgstr "你聽到 %s 的聲音從雙向無線電傳來:「老大,我到了!」。" #: src/npcmove.cpp @@ -196183,7 +202157,7 @@ msgstr "%s %s" #: src/npcmove.cpp #, c-format -msgid "My %s wound is infected..." +msgid "My %s wound is infected…" msgstr "我 %s 的傷口被感染了…" #: src/npcmove.cpp @@ -196196,7 +202170,7 @@ msgid "" msgstr "" #: src/npcmove.cpp -msgid "I'm suffering from radiation sickness..." +msgid "I'm suffering from radiation sickness…" msgstr "我患上了輻射病…" #: src/npcmove.cpp @@ -196316,7 +202290,7 @@ msgid "Talk to %s" msgstr "與 %s 交談" #: src/npctalk.cpp -msgid "Talk to ..." +msgid "Talk to…" msgstr "交談 ... " #: src/npctalk.cpp @@ -196341,7 +202315,7 @@ msgid "Tell %s to follow" msgstr "叫 %s 跟隨" #: src/npctalk.cpp -msgid "Tell someone to follow..." +msgid "Tell someone to follow…" msgstr "叫某人跟隨 ... " #: src/npctalk.cpp @@ -196350,7 +202324,7 @@ msgid "Tell %s to guard" msgstr "叫 %s 守衛" #: src/npctalk.cpp -msgid "Tell someone to guard..." +msgid "Tell someone to guard…" msgstr "叫某人守衛 ... " #: src/npctalk.cpp @@ -196374,7 +202348,7 @@ msgid "Tell everyone on your team to relax (Clear Overrides)" msgstr "叫你團隊裡的每個人放輕鬆(清除其他指令)。" #: src/npctalk.cpp -msgid "Tell everyone on your team to temporarily..." +msgid "Tell everyone on your team to temporarily…" msgstr "叫你團隊裡的每個人暫時 ... " #: src/npctalk.cpp @@ -196473,8 +202447,8 @@ msgstr "&你聽不見時無法交談。" #: src/npctalk.cpp #, c-format msgid "" -"&You are deaf and can't talk. When you don't respond, %s becomes angry!" -msgstr "&你聽不見時無法交談。由於你沒有任何反應, %s 生氣了!" +"&You are deaf and can't talk. When you don't respond, %s becomes angry!" +msgstr "&你聽不見時無法交談。由於你沒有任何回應, %s 生氣了!" #: src/npctalk.cpp #, c-format @@ -196506,7 +202480,7 @@ msgid "Sorry, but it doesn't seem I have anything to teach you." msgstr "抱歉, 看來我沒有什麼能教你的了。" #: src/npctalk.cpp -msgid "Here's what I can teach you..." +msgid "Here's what I can teach you…" msgstr "這些是我能教你的…" #: src/npctalk.cpp @@ -196521,16 +202495,23 @@ msgid_plural "%d feet." msgstr[0] "%d 呎。" #: src/npctalk.cpp -msgid "I'm holing up here for safety." -msgstr "我在這裡維護安全。" +#, c-format +msgid "I'm holing up here for safety. Long term, %s" +msgstr "我在這裡維護安全。長期來看,%s" #: src/npctalk.cpp msgid "I run the shop here." msgstr "我在這裡經營商店。" #: src/npctalk.cpp -msgid "I'm guarding this location." -msgstr "我正在守衛這個地點。" +#, c-format +msgid "Currently, I'm guarding this location. Overall, %s" +msgstr "目前,我正在守衛這個地點。總體而言,%s" + +#: src/npctalk.cpp +#, c-format +msgid "Right now, I'm . In general, %s" +msgstr "現在,我正在 。一般來說,%s" #: src/npctalk.cpp msgid "&You yell, but can't hear yourself." @@ -196624,6 +202605,16 @@ msgstr "我有新消息。" msgid "Yes, let's resume training " msgstr "好, 繼續訓練 " +#: src/npctalk.cpp +#, c-format +msgid "%s: 1 hour lesson (cost %s)" +msgstr "" + +#: src/npctalk.cpp +#, c-format +msgid "%s: teaching spell knowledge (cost %s)" +msgstr "" + #. ~Martial art style (cost in dollars) #: src/npctalk.cpp #, c-format @@ -196639,8 +202630,8 @@ msgstr "%s:%d(%d %%) -> %d(%d %%)(花費 $%d)" #: src/npctalk.cpp #, c-format -msgid "%s: %d (%d%%) -> %d" -msgstr "%s:%d(%d %%)->%d" +msgid "%s: %d (%d%%) -> %d (%d%%)" +msgstr "%s:%d(%d%%)-> %d(%d%%)" #: src/npctalk.cpp msgid "Okay, thanks." @@ -196673,8 +202664,8 @@ msgstr "。" #: src/npctalk.cpp msgctxt "punctuation" -msgid "..." -msgstr "… " +msgid "…" +msgstr "…" #: src/npctalk.cpp msgctxt "punctuation" @@ -196720,8 +202711,8 @@ msgid "%s: %s" msgstr "%s: %s" #: src/npctalk.cpp -msgid "You'll be helpless! Proceed?" -msgstr "你將會孤立無援! 確定?" +msgid "You'll be helpless! Proceed?" +msgstr "你將會孤立無援!確定?" #: src/npctalk.cpp #, c-format @@ -196780,22 +202771,18 @@ msgid "You learn how to craft %s." msgstr "你學會如何製作 %s。" #: src/npctalk.cpp -msgid "I don't trust you enough to eat THIS..." -msgstr "我還沒 相信你到要吃那個東西…" +msgid "I don't trust you enough to eat THIS…" +msgstr "我還沒 相信你到要吃那個東西..." #: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this..." -msgstr "食用它看起來並不是個好主意…" +msgid "It doesn't look like a good idea to consume this…" +msgstr "吃下它並不是個好主意..." #: src/npctalk.cpp #, c-format msgid "I need a %s to consume that!" msgstr "我需要 %s 才能食用它!" -#: src/npctalk.cpp -msgid "It doesn't look like a good idea to consume this.." -msgstr "食用它看起來並不是個好主意…" - #: src/npctalk.cpp msgid "Offer what?" msgstr "能提供哪些?" @@ -196817,8 +202804,8 @@ msgid "Are you insane!?" msgstr "你瘋了嗎!?" #: src/npctalk.cpp -msgid "Here we go..." -msgstr "我們開始吧…" +msgid "Here we go…" +msgstr "我們開始吧..." #: src/npctalk.cpp msgid "My current weapon is better than this." @@ -196843,7 +202830,7 @@ msgid "I can only store %s %s more." msgstr "我只能再裝 %s %s。" #: src/npctalk.cpp -msgid "...or to store anything else for that matter." +msgid "…or to store anything else for that matter." msgstr "...或為此儲存各種其他物品。" #: src/npctalk.cpp @@ -196873,39 +202860,15 @@ msgstr "%1$s 位於(%2$d,%3$d)" msgid "My current location" msgstr "我目前的位置" -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name -#: src/npctalk_funcs.cpp -#, c-format -msgid "%1$s is assigned to %2$s" -msgstr "%1$s被派到%2$s營寨" - -#. ~ %1$s is the NPC's translated name, %2$s is the translated faction camp -#. name #: src/npctalk_funcs.cpp #, c-format -msgid "%1$s is assigned to guard %2$s" -msgstr "%1$s被派到守衛%2$s營寨" - -#. ~ %1$s is the NPC's translated name, %2$s is the pronoun for the NPC's -#. gender -#: src/npctalk_funcs.cpp -#, c-format -msgid "%1$s will wait for you where %2$s is." -msgstr "%1$s會在%2$s所在的位置等待著你。" - -#: src/npctalk_funcs.cpp -msgid "he" -msgstr "他" - -#: src/npctalk_funcs.cpp -msgid "she" -msgstr "她" +msgid "That is not a valid destination for %s." +msgstr "" #: src/npctalk_funcs.cpp #, c-format -msgid "%s is posted as a guard." -msgstr "%s 被指派為守衛。" +msgid "%1$s is assigned to %2$s" +msgstr "%1$s被派到%2$s營寨" #: src/npctalk_funcs.cpp #, c-format @@ -196923,7 +202886,7 @@ msgid "You start a fight with %s!" msgstr "你挑起了與 %s 的戰鬥!" #: src/npctalk_funcs.cpp -msgid "You don't have any bionics installed..." +msgid "You don't have any bionics installed…" msgstr "你沒有安裝任何生化插件…" #: src/npctalk_funcs.cpp @@ -196931,12 +202894,8 @@ msgid "Which bionic do you wish to uninstall?" msgstr "你想移除哪一個生化插件?" #: src/npctalk_funcs.cpp -msgid "You decide to hold off..." -msgstr "你決定再想一想…" - -#: src/npctalk_funcs.cpp -msgid "You can't afford the procedure..." -msgstr "你的錢不足以支付手術費…" +msgid "You decide to hold off…" +msgstr "你決定緩一緩..." #: src/npctalk_funcs.cpp #, c-format @@ -196957,7 +202916,7 @@ msgid "Choose a new facial hair style" msgstr "選擇新鬍型" #: src/npctalk_funcs.cpp -msgid "Actually... I've changed my mind." +msgid "Actually… I've changed my mind." msgstr "其實...我改變主意了。" #: src/npctalk_funcs.cpp @@ -196966,18 +202925,18 @@ msgstr "你剪了個酷潮的新造型!" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent haircut..." +msgid "%s gives you a decent haircut…" msgstr "%s 替你剪了一頭體面的髮型…" #: src/npctalk_funcs.cpp #, c-format -msgid "%s gives you a decent shave..." +msgid "%s gives you a decent shave…" msgstr "%s 替你刮了一臉體面的鬍子…" #: src/npctalk_funcs.cpp #, c-format -msgid "That was a pleasant conversation with %s..." -msgstr "與%s愉快的談話..." +msgid "That was a pleasant conversation with %s…" +msgstr "與 %s 愉快的談話..." #: src/npctalk_funcs.cpp #, c-format @@ -196986,7 +202945,7 @@ msgstr "與%s愉快的談話。" #: src/npctalk_funcs.cpp #, c-format -msgid "%s drops the logs off in the garage..." +msgid "%s drops the logs off in the garage…" msgstr "%s 把原木放進車庫…" #: src/npctalk_funcs.cpp @@ -197004,6 +202963,11 @@ msgstr "%s 要逃跑了!" msgid "%s leaves." msgstr "%s 離開了。" +#: src/npctalk_funcs.cpp +#, c-format +msgid "%s stops following." +msgstr "" + #: src/npctalk_funcs.cpp #, c-format msgid "%s feels less threatened by you." @@ -197085,7 +203049,7 @@ msgstr "%s 無法拿取所有物品。" #: src/npctrade.cpp #, c-format msgid "" -"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" +"I'm never going to be able to pay you back for all that. The most I'm willing to owe you is %s.\n" "\n" "Continue with trade?" msgstr "" @@ -197094,7 +203058,7 @@ msgstr "" "繼續交易?" #: src/npctrade.cpp -msgid "Looks like a deal! Accept this trade?" +msgid "Looks like a deal! Accept this trade?" msgstr "似乎是不錯的交易!願意成交嗎?" #: src/npctrade.h @@ -197375,9 +203339,9 @@ msgstr "重啟安全模式回合數" #: src/options.cpp msgid "" -"Number of turns after which safe mode is reactivated. Will only reactivate " +"Number of turns after which safe mode is reactivated. Will only reactivate " "if no hostiles are in 'Safe mode proximity distance.'" -msgstr "重啟安全模式所需的回合數。只會在 \"安全模式偵測距離\" 內沒有敵人時發揮作用。" +msgstr "" #: src/options.cpp msgid "Turns to remember ignored monsters" @@ -197474,9 +203438,9 @@ msgstr "自動丟棄空容器" #: src/options.cpp msgid "" -"Set to drop empty containers after use. No: Don't drop any. - Watertight: " -"All except watertight containers. - All: Drop all containers." -msgstr "設定是否自動丟棄使用後被清空的容器。 [否] 都不丟棄。 [水密] 除了能密封的容器都丟棄。 [全部] 全部丟棄。" +"Set to drop empty containers after use. No: Don't drop any. - Watertight: " +"All except watertight containers. - All: Drop all containers." +msgstr "" #: src/options.cpp msgid "Watertight" @@ -197643,12 +203607,12 @@ msgid "If true, automatically follow the crosshair when firing/throwing." msgstr "設定為 [是], 會自動把游標移動到可攻擊或投擲的目標上。" #: src/options.cpp -msgid "Query on disassembly" -msgstr "拆解物品前詢問" +msgid "Query on disassembly while butchering" +msgstr "" #: src/options.cpp -msgid "If true, will query before disassembling items." -msgstr "設定為 [是], 會在每次拆解物品前進行確認。" +msgid "If true, will query before disassembling items while butchering." +msgstr "" #: src/options.cpp msgid "Query on keybinding removal" @@ -197917,10 +203881,10 @@ msgstr "自動指定物品代碼" #: src/options.cpp msgid "" -"Enabled: automatically assign letters to any carried items that lack them. " -"Disabled: do not auto-assign letters. Favorites: only auto-assign letters to" -" favorited items." -msgstr "[啟用]:自動將字母分配給所有缺少字母代碼的物品。[停用]:不自動分配物品代碼。[喜愛]:僅自動將字母分配給設為喜愛的物品。" +"Enabled: automatically assign letters to any carried items that lack them. " +"Disabled: do not auto-assign letters. Favorites: only auto-assign letters " +"to favorited items." +msgstr "" #: src/options.cpp msgid "Disabled" @@ -198283,7 +204247,7 @@ msgstr "" msgid "Display" msgstr "顯示器" -#: src/options.cpp +#: src/options.cpp src/sdltiles.cpp msgid "" "Sets which video display will be used to show the game. Requires restart." msgstr "設定遊戲使用哪個顯示器。需要重新啟動遊戲。" @@ -198369,8 +204333,8 @@ msgid "Scaling factor" msgstr "縮放比率" #: src/options.cpp -msgid "Factor by which to scale the display. Requires restart." -msgstr "設定遊戲畫面的縮放比率。需要重啟。" +msgid "Factor by which to scale the display. Requires restart." +msgstr "設定遊戲畫面的縮放比率。需要重新啟動遊戲。" #: src/options.cpp msgid "1x" @@ -198646,8 +204610,8 @@ msgstr "大災難日" #: src/options.cpp msgid "" -"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can " -"be overridden by scenarios. This does not advance food rot or monster " +"How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can" +" be overridden by scenarios. This does not advance food rot or monster " "evolution." msgstr "設定大災難在一年中的第幾日發生。設定為 0 表示是春季第一天。可被開場劇情所覆寫改變。改變設定並不會導致食物腐敗或怪物進化。" @@ -198657,9 +204621,9 @@ msgstr "生存開始日" #: src/options.cpp msgid "" -"How many days after the cataclysm the player spawns. Day 0 is the day of the" -" cataclysm. Can be overridden by scenarios. Increasing this will cause food " -"rot and monster evolution to advance." +"How many days after the cataclysm the player spawns. Day 0 is the day of " +"the cataclysm. Can be overridden by scenarios. Increasing this will cause " +"food rot and monster evolution to advance." msgstr "玩家從大災難後第幾日開始進行遊戲。設定為 0 即是大災難發生當天。可被開場劇情所覆寫改變。增加日數會使食物腐敗與怪物進化。" #: src/options.cpp @@ -198719,9 +204683,9 @@ msgstr "靜態 NPC" #: src/options.cpp msgid "" -"If true, static NPCs will spawn at pre-defined locations. Requires world " +"If true, static NPCs will spawn at pre-defined locations. Requires world " "reset." -msgstr "設定為 [是], 靜態 NPC 會在預先定義的地點被產生。必須重置世界才會生效。" +msgstr "設定為 [是] ,靜態 NPC 會在預先定義的地點生成。必須重置世界才會生效。" #: src/options.cpp msgid "Starting NPCs spawn" @@ -199211,6 +205175,10 @@ msgstr[0] "" "%s #%s\n" "依目前設定值, 視窗將會是 %d 像素高。" +#: src/options.cpp +msgid "Note: " +msgstr "注意: " + #: src/options.cpp msgid "Some of these options may produce unexpected results if changed." msgstr "如果改變其中某些選項可能會產生意想不到的結果。" @@ -199233,7 +205201,7 @@ msgid "options" msgstr "選項" #: src/output.cpp -msgid "Press any key for more..." +msgid "Press any key for more…" msgstr "請按任意鍵看更多…" #: src/output.cpp @@ -199394,7 +205362,7 @@ msgstr "[%s] %s" #: src/overmap_ui.cpp #, c-format msgid "" -"LEVEL %i, %d'%d, %d'%d : %s (Distance: " +"LEVEL %i, %d'%d, %d'%d: %s (Distance: " "%d)" msgstr "" "等級 %i, %d'%d, %d'%d : %s (距離:%d)" @@ -199737,11 +205705,6 @@ msgstr "很冷!" msgid "Freezing!" msgstr "凍僵!" -#: src/panels.cpp -msgctxt "energy unit: kilojoule" -msgid "kJ" -msgstr "千焦" - #: src/panels.cpp msgid "Bad" msgstr "惡劣" @@ -199921,6 +205884,7 @@ msgstr "溫度:" msgid "Underground" msgstr "地下" +#. ~ translation should not exceed 5 console cells #: src/panels.cpp msgid "Wind" msgstr "風速" @@ -199982,10 +205946,6 @@ msgstr "聽不見!" msgid "Weapon :" msgstr "武器:" -#: src/panels.cpp -msgid "No Style" -msgstr "沒有招式" - #: src/panels.cpp msgid "Day " msgstr "天數" @@ -199998,10 +205958,12 @@ msgstr "氣溫:" msgid "to open sidebar options" msgstr "打開側邊欄選項" +#. ~ translation should not exceed 4 console cells #: src/panels.cpp msgid "Mana" msgstr "法力" +#. ~ translation should not exceed 9 console cells #: src/panels.cpp msgid "Max Mana" msgstr "法力最大值" @@ -200258,75 +206220,6 @@ msgstr "為了避免裡面的東西灑出來, 把 %1$s 放在 %2$s 上 msgid "You have learned a new style: %s!" msgstr "你學到了新招式:%s!" -#: src/player.cpp -#, c-format -msgid "Your %s will be frostnipped in the next few hours." -msgstr "你的 %s 在數小時後將會凍傷。" - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten within the hour!" -msgstr "你的 %s 在 1 小時內將會凍傷!" - -#: src/player.cpp -#, c-format -msgid "Your %s will be frostbitten any minute now!" -msgstr "你的 %s 隨時都可能被凍傷!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s beginning to go numb from the cold!" -msgstr "你覺得你的 %s 因寒冷開始變得麻木!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very cold." -msgstr "你覺得你的 %s 很冷。" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting chilly." -msgstr "你覺得你的 %s 冷颼颼。" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting red hot from the heat!" -msgstr "你感到你的 %s 因為高溫而變得紅腫!" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting very hot." -msgstr "你感到你的 %s 非常炎熱。" - -#. ~ %s is bodypart -#: src/player.cpp -#, c-format -msgid "You feel your %s getting warm." -msgstr "你覺得你的 %s 變得溫熱。" - -#: src/player.cpp -#, c-format -msgid "The wind is making your %s feel quite cold." -msgstr "風吹得你的 %s 發冷。" - -#: src/player.cpp -#, c-format -msgid "" -"The wind is very strong, you should find some more wind-resistant clothing " -"for your %s." -msgstr "風很強, 你應該要找一些更抗風的衣物來保護你的 %s。" - -#: src/player.cpp -#, c-format -msgid "" -"Your clothing is not providing enough protection from the wind for your %s!" -msgstr "你的衣物無法在風中為你的 %s 提供足夠的保護。" - #: src/player.cpp msgid "You roll on the ground, trying to smother the fire!" msgstr "你在地上滾動, 試圖抑制火勢!" @@ -200343,50 +206236,6 @@ msgstr "你成功撲滅身上的火炎!" msgid " attempts to put out the fire on them!" msgstr " 嘗試撲滅他身上的火炎!" -#: src/player.cpp -msgid "You set your mech's leg power to a loping fast walk." -msgstr "" - -#: src/player.cpp -msgid "You nudge your steed into a steady trot." -msgstr "你輕推坐騎讓它穩定地快步走。" - -#: src/player.cpp -msgid "You start walking." -msgstr "你開始步行。" - -#: src/player.cpp -msgid "You set the power of your mech's leg servos to maximum." -msgstr "" - -#: src/player.cpp -msgid "You spur your steed into a gallop." -msgstr "你鞭策你的坐騎開始奔馳。" - -#: src/player.cpp -msgid "You start running." -msgstr "你開始跑步。" - -#: src/player.cpp -msgid "Your steed is too tired to go faster." -msgstr "你的坐騎太累了,無法走得更快。" - -#: src/player.cpp -msgid "You're too tired to run." -msgstr "你累到無法繼續跑。" - -#: src/player.cpp -msgid "You reduce the power of your mech's leg servos to minimum." -msgstr "" - -#: src/player.cpp -msgid "You slow your steed to a walk." -msgstr "你放慢坐騎的速度為步行。" - -#: src/player.cpp -msgid "You start crouching." -msgstr "你開始蹲伏。" - #: src/player.cpp #, c-format msgid "Your ground sonar detected a %1$s to the %2$s!" @@ -200462,15 +206311,6 @@ msgstr "%1$s 被擊中時失去了平衡!" msgid "You lose your balance while being hit!" msgstr "你被擊中時失去了平衡!" -#: src/player.cpp -#, c-format -msgid "You were attacked by %s!" -msgstr "你被 %s 攻擊了!" - -#: src/player.cpp -msgid "You were hurt!" -msgstr "你受傷了!" - #: src/player.cpp msgid "A snake sprouts from your body!" msgstr "一條蛇從你的身體鑽出!" @@ -200562,8 +206402,8 @@ msgid "You are slammed against %s!" msgstr "你撞上了 %s!" #: src/player.cpp -msgid "...but your shock absorbers negate the damage!" -msgstr "… 但你的避震器抵銷了損害!" +msgid "…but your shock absorbers negate the damage!" +msgstr "… 但你的避震器抵銷了傷害!" #: src/player.cpp #, c-format @@ -200613,15 +206453,15 @@ msgstr "你的心臟痙攣並停止跳動。" #: src/player.cpp msgid "Your breathing slows down to a stop." -msgstr "" +msgstr "你的呼吸減慢停止。" #: src/player.cpp msgid "You have starved to death." msgstr "你餓死了。" #: src/player.cpp -msgid "Food..." -msgstr "我要吃的…" +msgid "Food…" +msgstr "食物..." #: src/player.cpp msgid "Due to insufficient nutrition, your body is suffering from starvation." @@ -200630,11 +206470,11 @@ msgstr "因為營養不足,你的身體正遭受飢餓。" #: src/player.cpp msgid "" "Despite having something in your stomach, you still feel like you haven't " -"eaten in days..." +"eaten in days…" msgstr "儘管胃裡有些東西,但你仍然覺得自己好像幾天沒吃東西一樣。" #: src/player.cpp -msgid "Your stomach feels so empty..." +msgid "Your stomach feels so empty…" msgstr "你的胃好空…" #: src/player.cpp @@ -200654,7 +206494,7 @@ msgid "You have died of dehydration." msgstr "你缺水而死了。" #: src/player.cpp -msgid "Even your eyes feel dry..." +msgid "Even your eyes feel dry…" msgstr "連你的眼睛也覺得乾了…" #: src/player.cpp @@ -200662,7 +206502,7 @@ msgid "You are THIRSTY!" msgstr "你快渴死了!" #: src/player.cpp -msgid "Your mouth feels so dry..." +msgid "Your mouth feels so dry…" msgstr "你的嘴覺得好乾…" #: src/player.cpp @@ -200670,8 +206510,8 @@ msgid "Survivor sleep now." msgstr "倖存者你要去睡了。" #: src/player.cpp -msgid "Anywhere would be a good place to sleep..." -msgstr "哪裡都好, 快睡吧…" +msgid "Anywhere would be a good place to sleep…" +msgstr "哪裡都好,快睡吧…" #: src/player.cpp msgid "You feel like you haven't slept in days." @@ -200690,7 +206530,7 @@ msgid "*yawn* You should really get some sleep." msgstr "*呵啊* 你真的應該要睡了。" #: src/player.cpp -msgid "Your mind feels tired. It's been a while since you've slept well." +msgid "Your mind feels tired. It's been a while since you've slept well." msgstr "你的意識感到疲倦。你已經很久沒有睡上一頓好覺了。" #: src/player.cpp @@ -200701,16 +206541,16 @@ msgstr "缺乏良好的睡眠讓你的意識變得朦朧, 同時你的眼皮正 #: src/player.cpp msgid "" -"Your mind feels weary, and you dread every wakeful minute that passes. You " +"Your mind feels weary, and you dread every wakeful minute that passes. You " "crave sleep, and feel like you're about to collapse." -msgstr "你的頭腦感到疲倦, 並恐懼醒著哪怕再一分鐘。你渴望睡覺, 感覺自己就要崩潰了。" +msgstr "你的頭腦感到疲倦,並恐懼醒著哪怕再一分鐘。你渴望睡覺,感覺自己就要崩潰了。" #: src/player.cpp msgid "" "You haven't slept decently for so long that your whole body is screaming for" -" mercy. It's a miracle that you're still awake, but it just feels like a " +" mercy. It's a miracle that you're still awake, but it just feels like a " "curse now." -msgstr "" +msgstr "你很長時間沒有正常睡眠了,以至於你的整個身體都在大聲求饒。你仍然清醒簡直是個奇蹟,但是現在感覺這就像是一種詛咒。" #: src/player.cpp msgid "" @@ -200750,14 +206590,6 @@ msgstr "你的 %s 上的消毒處理過的傷口已經癒合了。" msgid "There is not enough %s left to siphon it." msgstr "已經沒有足夠的 %s 能抽取了。" -#: src/player.cpp -msgid "You cough heavily." -msgstr "你咳的很嚴重。" - -#: src/player.cpp -msgid "a hacking cough." -msgstr "一陣乾咳。" - #: src/player.cpp msgid "Your body is wracked with excruciating pain!" msgstr "你的身體遭到難以忍受的疼痛肆虐!" @@ -200803,11 +206635,6 @@ msgstr "你的 %s 很痛!" msgid "Your %s aches." msgstr "你的 %s 發疼。" -#: src/player.cpp -#, c-format -msgid "Your current health value is %d." -msgstr "你目前的健康值是 %d。" - #: src/player.cpp #, c-format msgid "Your %s HURTS!" @@ -200921,12 +206748,14 @@ msgstr "%1$s 說: \"%2$s\"" msgid "You increase %1$s to level %2$d." msgstr "你提昇 %1$s 到達了等級 %2$d。" +#. ~ %1$s: weapon name #: src/player.cpp -msgid "Your " -msgstr "你的" +#, c-format +msgid "Your %1$s" +msgstr "你的 %1$s " #: src/player.cpp -msgid "You suddenly feel so numb..." +msgid "You suddenly feel so numb…" msgstr "你突然覺得很麻木…" #: src/player.cpp @@ -200938,6 +206767,12 @@ msgstr "你開始不由自主的顫抖。" msgid "yourself shout, %s" msgstr "你叫喊著,%s" +#. ~ %1$s: weapon name +#: src/player.cpp +#, c-format +msgid "your %1$s" +msgstr "你的 %1$s " + #: src/player.cpp msgid "You're suddenly overcome with the urge to sleep and you pass out." msgstr "你突然被睡覺的衝動所征服,然後你就昏倒了。" @@ -201038,7 +206873,7 @@ msgid "Suddenly, your eyes stop working!" msgstr "你突然看不見了!" #: src/player.cpp -msgid "Your visual centers must be acting up..." +msgid "Your visual centers must be acting up…" msgstr "你的視覺中樞必須動起來了…" #: src/player.cpp @@ -201115,8 +206950,8 @@ msgid "You shake uncontrollably." msgstr "你不由自主地顫抖著。" #: src/player.cpp -msgid "You feel nauseous..." -msgstr "你覺得反胃…" +msgid "You feel nauseous…" +msgstr "你覺得反胃..." #: src/player.cpp msgid "You black out!" @@ -201131,7 +206966,7 @@ msgid "You stumble and fall over!" msgstr "你蹣跚地跌倒了!" #: src/player.cpp -msgid "You feel tired..." +msgid "You feel tired…" msgstr "你覺得累了…" #: src/player.cpp @@ -201282,10 +207117,6 @@ msgstr "你丟棄空的 %s。" msgid "%c - %d empty %s" msgstr "%c - %d 空的 %s" -#: src/player.cpp -msgid "You sink your roots into the soil." -msgstr "你把你的根埋入土壤中。" - #: src/player.cpp src/veh_interact.cpp #, c-format msgid "Refill %s" @@ -201443,6 +207274,10 @@ msgstr "鹿角" msgid "Can't wield spilt liquids." msgstr "不能揮灑溢出的液體。" +#: src/player.cpp +msgid "You need at least one arm to even consider wielding something." +msgstr "你需要至少一隻手才能持握東西。" + #: src/player.cpp msgid "Something you are wearing hinders the use of both hands." msgstr "你穿戴的東西阻礙了使用雙手。" @@ -201535,20 +207370,43 @@ msgstr "%s 沒有任何故障可供修補。" msgid "Mend which fault?" msgstr "修補哪個故障?" -#: src/player.cpp src/veh_interact.cpp -msgid "Time required:\n" -msgstr "所需時間:\n" +#: src/player.cpp +#, c-format +msgid "Turns into: %s\n" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "Time required: %s\n" +msgstr "" #: src/player.cpp -msgid "Skills:\n" -msgstr "技能:\n" +msgid "Skills: none\n" +msgstr "" + +#: src/player.cpp +#, c-format +msgid "Skills: %s\n" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level +#: src/player.cpp +#, c-format +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" + +#. ~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level +#: src/player.cpp +#, c-format +msgctxt "skill requirement" +msgid "%1$s (%2$d/%3$d)" +msgstr "" -#. ~ %1$s represents the internal color name which shouldn't be translated, -#. %2$s is skill name, and %3$i is skill level #: src/player.cpp #, c-format -msgid "> %2$s %3$i\n" -msgstr "> %2$s %3$i\n" +msgid "You are currently unable to mend the %s this way." +msgstr "" #: src/player.cpp msgid "You are already wearing that." @@ -201574,13 +207432,13 @@ msgstr " 穿戴上他的 %s。" #: src/player.cpp #, c-format -msgid "Your %s are very encumbered! %s" -msgstr "你的 %s 受到嚴重累贅! %s" +msgid "Your %s are very encumbered! %s" +msgstr "你的 %s 受到嚴重累贅!%s" #: src/player.cpp #, c-format -msgid "Your %s is very encumbered! %s" -msgstr "你的 %s 受到嚴重累贅! %s" +msgid "Your %s is very encumbered! %s" +msgstr "你的 %s 受到嚴重累贅!%s" #: src/player.cpp msgid "You're deafened!" @@ -201588,14 +207446,13 @@ msgstr "你聽不見了!" #: src/player.cpp #, c-format -msgid "This %s is too big to wear comfortably! Maybe it could be refitted..." -msgstr "這件 %s 太大了以至於無法穿得舒服! 或許它可以被修改得更合身…" +msgid "This %s is too big to wear comfortably! Maybe it could be refitted…" +msgstr "這件 %s 太大了以至於無法穿得舒服!或許它可以被修改得更合身…" #: src/player.cpp #, c-format -msgid "" -"This %s is too small to wear comfortably! Maybe it could be refitted..." -msgstr "這件 %s 太小了以至於無法穿得舒服! 或許它可以被修改得更合身…" +msgid "This %s is too small to wear comfortably! Maybe it could be refitted…" +msgstr "這件 %s 太小了以至於無法穿得舒服!或許它可以被修改得更合身…" #: src/player.cpp #, c-format @@ -201718,18 +207575,6 @@ msgstr "你回收 %i 未使用過的鈽。" msgid "You can't remove partially depleted plutonium!" msgstr "你不能移除耗用到一半的鈽!" -#: src/player.cpp -#, c-format -msgid "Your %s needs %d charge from some UPS." -msgid_plural "Your %s needs %d charges from some UPS." -msgstr[0] "你的 %s 需要 %d 來自 UPS 的電量。" - -#: src/player.cpp -#, c-format -msgid "Your %s has %d charge but needs %d." -msgid_plural "Your %s has %d charges but needs %d." -msgstr[0] "你的 %s 有 %d 電量, 但需要 %d 電量。" - #. ~ %1$s - gunmod, %2$s - gun. #: src/player.cpp #, c-format @@ -201770,7 +207615,7 @@ msgid "It's impossible to sleep in this wheeled pot!" msgstr "你不能睡在輪胎鍋裡!" #: src/player.cpp -msgid "The humans' furniture blocks your roots. You can't get comfortable." +msgid "The humans' furniture blocks your roots. You can't get comfortable." msgstr "人類的家具擋住你的根。你感覺不舒服。" #: src/player.cpp @@ -201784,8 +207629,8 @@ msgid "" msgstr "我們的纖維與我們腳下的地面融為一體。當我們的意識開始消失, 我們頸部的菌褶開始朝空氣中散布孢子。" #: src/player.cpp -msgid "These thick webs support your weight, and are strangely comfortable..." -msgstr "這厚蛛網支撐著你的重量, 並且舒適的很。" +msgid "These thick webs support your weight, and are strangely comfortable…" +msgstr "這厚蛛網支撐著你的重量, 並且舒適的很。" #: src/player.cpp msgid "You try to sleep, but the webs get in the way. You brush them aside." @@ -201806,12 +207651,12 @@ msgstr "也許一個好的厚蛛網能幫助你入睡。" #: src/player.cpp msgid "" -"You lay beneath the waves' embrace, gazing up through the water's surface..." -msgstr "你躺在海浪的擁抱下, 凝視著水面下…" +"You lay beneath the waves' embrace, gazing up through the water's surface…" +msgstr "你躺在海浪的擁抱下,凝視著水面下…" #: src/player.cpp -msgid "You settle into the water and begin to drowse..." -msgstr "你沉入水中, 意識變得模糊…" +msgid "You settle into the water and begin to drowse…" +msgstr "你沉入水中,意識變得模糊…" #: src/player.cpp msgid "This is a comfortable place to sleep." @@ -201864,76 +207709,6 @@ msgstr "你的助眠誘導插件用光能量了!" msgid "Your soporific inducer starts back up." msgstr "你的助眠誘導插件開始加強。" -#: src/player.cpp -msgid "You nestle your pile of clothes for warmth." -msgstr "你抱著一堆衣服取暖。" - -#: src/player.cpp -msgid "You use your pile of clothes for warmth." -msgstr "你利用一堆衣服取暖。" - -#: src/player.cpp -#, c-format -msgid "You snuggle your %s to keep warm." -msgstr "你依偎著你的 %s 取暖。" - -#: src/player.cpp -#, c-format -msgid "You use your %s to keep warm." -msgstr "你使用你的 %s 取暖。" - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Entered hibernation." -msgstr "開始冬眠。" - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Entered hibernation." -msgstr "開始冬眠。" - -#. ~ %s is armor name -#: src/player.cpp -#, c-format -msgctxt "memorial_male" -msgid "Worn %s was completely destroyed." -msgstr "穿著的 %s 已經被完全摧毀。" - -#: src/player.cpp -#, c-format -msgctxt "memorial_female" -msgid "Worn %s was completely destroyed." -msgstr "穿著的 %s 已經被完全摧毀。" - -#: src/player.cpp -#, c-format -msgid "Your %s is completely destroyed!" -msgstr "你的 %s 被完全摧毀了!" - -#: src/player.cpp -#, c-format -msgid "'s %s is completely destroyed!" -msgstr " 的 %s 被完全摧毀了!" - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s further!" -msgstr "你的 %1$s 進一步的 %2$s!" - -#: src/player.cpp -#, c-format -msgid "Your %1$s is %2$s!" -msgstr "你的 %1$s %2$s了!" - -#: src/player.cpp src/veh_interact.cpp -msgid "destroyed" -msgstr "損毀" - -#: src/player.cpp -#, c-format -msgid "This task is too simple to train your %s beyond %d." -msgstr "這事情太簡單而無法讓你訓練 %s 超過 %d。" - #: src/player.cpp #, c-format msgid "Your skill in %s has increased to %d!" @@ -201945,8 +207720,9 @@ msgid "You feel that %s tasks of this level are becoming trivial." msgstr "你覺得在這個等級的 %s 工作變得沒挑戰性了。" #: src/player.cpp -msgid "You resume your task." -msgstr "你繼續工作。" +#, c-format +msgid "This task is too simple to train your %s beyond %d." +msgstr "這事情太簡單而無法讓你訓練 %s 超過 %d。" #: src/player.cpp msgid "Wield what?" @@ -201958,8 +207734,8 @@ msgstr "時間好像慢了下來一樣而你本能地躲開了!" #: src/player.cpp #, c-format -msgid "%s dodges... so fast!" -msgstr "%s 躲開了… 快如閃電!" +msgid "%s dodges… so fast!" +msgstr "%s 躲開了… 快如閃電!" #: src/player.cpp msgid "You try to dodge but there's no room!" @@ -201970,79 +207746,6 @@ msgstr "你試著躲開, 但是這裡沒有空間了!" msgid "%s tries to dodge but there's no room!" msgstr "%s 試著躲開, 但是那裡沒有空間了!" -#: src/player.cpp -msgid "You start hauling items along the ground." -msgstr "你開始搬運地面上的物品。" - -#: src/player.cpp -msgid "Your hands are not free, which makes hauling slower." -msgstr "你的雙手並不是空的, 這使得搬運的速度變慢。" - -#: src/player.cpp -msgid "You stop hauling items." -msgstr "你停止搬運物品。" - -#: src/player.cpp -msgid "Your body strains under the weight!" -msgstr "你的身體被超重拖累!" - -#: src/player.cpp -#, c-format -msgid "You remove the %s's harness." -msgstr "你移除%s上的韁轡" - -#: src/player.cpp -#, c-format -msgid "You climb on the %s." -msgstr "你爬上%s" - -#: src/player.cpp -#, c-format -msgid "You hear your %s whir to life." -msgstr "你聽到%s發出聲響活過來了。" - -#: src/player.cpp -msgid "You are ejected from your mech!" -msgstr "" - -#: src/player.cpp -msgid " is ejected from their mech!" -msgstr "" - -#: src/player.cpp -msgid "You fall off your mount!" -msgstr "你摔下坐騎!" - -#: src/player.cpp -msgid " falls off their mount!" -msgstr "摔下坐騎!" - -#: src/player.cpp src/trapfunc.cpp -msgid "You hurt yourself!" -msgstr "你傷到了自己!" - -#: src/player.cpp -msgctxt "memorial_male" -msgid "Fell off a mount." -msgstr "摔下坐騎。" - -#: src/player.cpp -msgctxt "memorial_female" -msgid "Fell off a mount." -msgstr "摔下坐騎。" - -#: src/player.cpp -msgid "Dismount where?" -msgstr "下馬到何處?" - -#: src/player.cpp -msgid "You cannot dismount there!" -msgstr "你無法下馬到那邊!" - -#: src/player.cpp -msgid "Wielding: " -msgstr "手持: " - #: src/player.cpp #, c-format msgid "You (%s)" @@ -202098,45 +207801,22 @@ msgstr "空腹" msgid "Pain " msgstr "疼痛" +#. ~ skill_name current_skill_level -> next_skill_level (% to next level) #: src/player_activity.cpp #, c-format -msgid "Crafting: %s" -msgstr "製作:%s" - -#: src/player_activity.cpp -#, c-format -msgid "Burrowing: %d%%" -msgstr "挖坑: %d%%" - -#: src/player_activity.cpp -#, c-format -msgid "Sawing: %d%%" -msgstr "鋸切: %d%%" - -#: src/player_activity.cpp -#, c-format -msgid "Jackhammering: %d%%" -msgstr "鑿破: %d%%" - -#: src/player_activity.cpp -#, c-format -msgid "Digging: %d%%" -msgstr "挖掘: %d%%" - -#: src/player_activity.cpp -#, c-format -msgid "Disassembling: %d%%" -msgstr "拆解: %d%%" +msgctxt "reading progress" +msgid "%s %d -> %d (%d%%)" +msgstr "" #: src/player_activity.cpp #, c-format -msgid "Shoveling: %d%%" -msgstr "鏟物: %d%%" +msgid "%s…" +msgstr "%s ..." #: src/player_activity.cpp #, c-format -msgid "Chopping: %d%%" -msgstr "劈砍: %d%%" +msgid "%s: %s" +msgstr "%s:%s" #: src/player_activity.cpp msgid "You pause for a moment to catch your breath." @@ -202342,47 +208022,57 @@ msgstr "目前速度:" #: src/player_display.cpp #, c-format -msgid "Overburdened -%s%d%%" -msgstr "超重 -%s%d%%" +msgctxt "speed penalty" +msgid "Overburdened -%2d%%" +msgstr "負擔過重 -%2d%%" #: src/player_display.cpp #, c-format -msgid "Pain -%s%d%%" -msgstr "疼痛 -%s%d%%" +msgctxt "speed penalty" +msgid "Pain -%2d%%" +msgstr "疼痛 -%2d%%" #: src/player_display.cpp #, c-format -msgid "Thirst -%s%d%%" -msgstr "口渴 -%s%d%%" +msgctxt "speed penalty" +msgid "Thirst -%2d%%" +msgstr "口渴 -%2d%%" #: src/player_display.cpp msgid "Underfed" msgstr "營養不良" +#. ~ %s: Starving/Underfed (already left-justified), %2d: speed penalty #: src/player_display.cpp #, c-format -msgid "%-20s-%s%d%%" -msgstr "%-20s-%s %d %%" +msgctxt "speed penalty" +msgid "%s-%2d%%" +msgstr "%s-%2d%%" #: src/player_display.cpp #, c-format -msgid "Out of Sunlight -%s%d%%" -msgstr "遠離陽光 -%s%d%%" +msgctxt "speed penalty" +msgid "Out of Sunlight -%2d%%" +msgstr "" +#. ~ %s: sign of bonus/penalty, %2d: speed bonus/penalty #: src/player_display.cpp #, c-format -msgid "Cold-Blooded %s%s%d%%" -msgstr "冷血 %s%s%d%%" +msgctxt "speed modifier" +msgid "Cold-Blooded %s%2d%%" +msgstr "" #: src/player_display.cpp #, c-format -msgid "Quick +%s%d%%" -msgstr "俐落 +%s%d%%" +msgctxt "speed bonus" +msgid "Quick +%2d%%" +msgstr "俐落 +%2d%%" #: src/player_display.cpp #, c-format -msgid "Bionic Speed +%s%d%%" -msgstr "生化插件速度 +%s%d%%" +msgctxt "speed bonus" +msgid "Bionic Speed +%2d%%" +msgstr "" #: src/player_display.cpp #, c-format @@ -202415,19 +208105,19 @@ msgstr "嚴重營養不良" #: src/player_display.cpp msgid "" -"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" -" \n" +"Your body is severely weakened by starvation. You might die if you don't start eating regular meals!\n" +"\n" msgstr "" -"你的身體因為營養不良而變得嚴重虛弱。如果再不開始定期進食, 你可能會死!\n" -" \n" +"你的身體因為營養不良而變得嚴重虛弱。如果再不開始定期進食,你可能會死!\n" +"\n" #: src/player_display.cpp msgid "" -"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" -" \n" +"Your body is weakened by starvation. Only time and regular meals will help you recover.\n" +"\n" msgstr "" "你的身體因為營養不良而變得虛弱。只有定期進食一段時間才能讓你康復。\n" -" \n" +"\n" #: src/player_display.cpp src/veh_interact.cpp msgid "Strength" @@ -202527,30 +208217,30 @@ msgid " vomits thousands of live spores!" msgstr " 嘔吐出成千上萬的活孢子!" #: src/player_hardcoded_effects.cpp -msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" -msgstr "你的斷臂隆起, 有真菌從其中竄出!" +msgid "The flesh on your broken arms bulges. Fungus stalks burst through!" +msgstr "你的斷臂隆起,有真菌從其中竄出!" #: src/player_hardcoded_effects.cpp -msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" -msgstr " 的斷臂隆起, 有真菌從其中竄出!" +msgid "'s broken arms bulge. Fungus stalks burst out of the bulges!" +msgstr " 的斷臂隆起,有真菌從其中竄出!" #: src/player_hardcoded_effects.cpp msgid "" -"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " +"The flesh on your broken and unbroken arms bulge. Fungus stalks burst " "through!" -msgstr "不論你手臂有沒有斷, 肌肉都腫起了, 並有真菌從其中竄出!" +msgstr "不論你手臂有沒有斷,肌肉都腫起了,並有真菌從其中竄出!" #: src/player_hardcoded_effects.cpp -msgid "'s arms bulge. Fungus stalks burst out of the bulges!" -msgstr " 的手臂隆起, 有真菌從其中竄出!" +msgid "'s arms bulge. Fungus stalks burst out of the bulges!" +msgstr " 的手臂隆起,有真菌從其中竄出!" #: src/player_hardcoded_effects.cpp -msgid "Your hands bulge. Fungus stalks burst through the bulge!" -msgstr "你的手掌隆起, 有真菌從其中竄出!" +msgid "Your hands bulge. Fungus stalks burst through the bulge!" +msgstr "你的手掌隆起,有真菌從其中竄出!" #: src/player_hardcoded_effects.cpp -msgid "'s hands bulge. Fungus stalks burst through the bulge!" -msgstr " 的手掌隆起, 有真菌從其中竄出!" +msgid "'s hands bulge. Fungus stalks burst through the bulge!" +msgstr " 的手掌隆起,有真菌從其中竄出!" #: src/player_hardcoded_effects.cpp msgid "You feel nauseous!" @@ -202597,8 +208287,8 @@ msgid "\"Oh God, what's happening?\"" msgstr "\"哦, 天啊, 發生了什麼事? \"" #: src/player_hardcoded_effects.cpp -msgid "\"Of course... it's all fractals!\"" -msgstr "\"當然… 這一切都是分形! \"" +msgid "\"Of course… it's all fractals!\"" +msgstr "" #: src/player_hardcoded_effects.cpp msgid "\"Huh? What was that?\"" @@ -202633,8 +208323,8 @@ msgid "You quiver from the cold." msgstr "你冷得直打哆嗦。" #: src/player_hardcoded_effects.cpp -msgid "Your torso is freezing cold. You should put on a few more layers." -msgstr "你的軀幹有如被冰凍般的寒冷。你應該再多穿幾件。" +msgid "Your torso is freezing cold. You should put on a few more layers." +msgstr "" #: src/player_hardcoded_effects.cpp msgid "Your shivering makes you unsteady." @@ -202833,7 +208523,7 @@ msgid "You shudder suddenly." msgstr "你突然發抖。" #: src/player_hardcoded_effects.cpp -msgid "Your vision is filled with bright lights..." +msgid "Your vision is filled with bright lights…" msgstr "你的視線被強光所掩蓋…" #: src/player_hardcoded_effects.cpp @@ -203008,6 +208698,47 @@ msgstr "你的鬧鐘響了。" msgid "Your alarm went off." msgstr "你的鬧鐘已經響了。" +#: src/player_hardcoded_effects.cpp +msgid "You lose control of your body as it begins to convulse!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You lose conciousness!" +msgstr "你失去知覺!" + +#: src/player_hardcoded_effects.cpp +msgid "arm" +msgstr "手臂" + +#: src/player_hardcoded_effects.cpp +msgid "hand" +msgstr "手掌" + +#: src/player_hardcoded_effects.cpp +msgid "leg" +msgstr "腿部" + +#: src/player_hardcoded_effects.cpp +#, c-format +msgid "Your %s suddenly jerks in an unexpected direction!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep hold of your weapon." +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "However, you manage to keep your footing." +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You suddenly lose all muscle tone, and can't support your own weight!" +msgstr "" + +#: src/player_hardcoded_effects.cpp +msgid "You have a splitting headache." +msgstr "" + #: src/ranged.cpp #, c-format msgid "Your %s misfires with a muffled click!" @@ -203158,7 +208889,7 @@ msgstr "[%c] 瞄準自己; [%c] 切換目標置中" #: src/ranged.cpp #, c-format -msgid "[%c] to steady your aim. (10 moves)" +msgid "[%c] to steady your aim. (10 moves)" msgstr "[%c] 穩定瞄準。(10 行動值)" #: src/ranged.cpp @@ -203327,7 +209058,7 @@ msgid "Effective Spell Radius: %s%s" msgstr "有效法術半徑:%s%s" #: src/ranged.cpp -msgid " WARNING! IN RANGE" +msgid " WARNING! IN RANGE" msgstr "警告!在範圍內" #: src/ranged.cpp @@ -203429,10 +209160,6 @@ msgstr "咔-啦-碰!" msgid "none" msgstr "無" -#: src/recipe.cpp -msgid "none" -msgstr "無" - #: src/recipe.cpp #, c-format msgid "%s%% at >%s units" @@ -203454,6 +209181,14 @@ msgid "%1$s (%2$d charge)" msgid_plural "%1$s (%2$d charges)" msgstr[0] "%1$s(%2$d 單位)" +#. ~ %1$s: item name, %2$d: charge requirement +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%1$s (%2$d of infinite)" +msgid_plural "%1$s (%2$d of infinite)" +msgstr[0] "%1$s(%2$d/無限)" + #. ~ %1$s: item name, %2$d: charge requirement, %3%d: available charges #: src/requirements.cpp #, c-format @@ -203470,6 +209205,14 @@ msgid "%1$s (%2$d)" msgid_plural "%1$s (%2$d)" msgstr[0] "%1$s(%2$d)" +#. ~ %1$s: item name, %2$d: required count +#: src/requirements.cpp +#, c-format +msgctxt "requirement" +msgid "%2$d %1$s of infinite" +msgid_plural "%2$d %1$s of infinite" +msgstr[0] "%2$d %1$s/無限" + #. ~ %1$s: item name, %2$d: required count, %3%d: available count #: src/requirements.cpp #, c-format @@ -203553,7 +209296,7 @@ msgid "Safe Mode manager currently inactive." msgstr "安全模式管理器尚未啟動。" #: src/safemode_ui.cpp -msgid "Default rules are used. Add a rule to activate." +msgid "Default rules are used. Add a rule to activate." msgstr "目前使用預設規則。新增規則以啟動管理器。" #: src/safemode_ui.cpp @@ -203566,7 +209309,7 @@ msgstr "白名單" #: src/safemode_ui.cpp msgid "" -"* is used as a Wildcard. A few Examples:\n" +"* is used as a Wildcard. A few Examples:\n" "\n" "human matches every NPC\n" "zombie matches the monster name exactly\n" @@ -203575,14 +209318,6 @@ msgid "" "*cid*zo*ie multiple * are allowed\n" "AcI*zO*iE case insensitive search" msgstr "" -"* 是一個萬用字元。舉例如下:\n" -"\n" -"human 符合所有 NPC\n" -"zombie 符合名稱完全一樣的怪物\n" -"acidic zo* 符合名稱以 acidic zo 開頭的怪物\n" -"*mbie 符合名稱以 mble 結尾的怪物\n" -"*cid*zo*ie 允許使用多個 * 符號\n" -"AcI*zO*iE 搜尋不區分大小寫" #: src/safemode_ui.cpp msgid "Safe Mode Rule:" @@ -203597,8 +209332,8 @@ msgid "Option: " msgstr "選項: " #: src/safemode_ui.cpp -msgid "No monsters loaded. Please start a game first." -msgstr "尚未讀取怪物資料。請先開始遊戲。" +msgid "No monsters loaded. Please start a game first." +msgstr "" #: src/safemode_ui.cpp #, c-format @@ -203611,8 +209346,8 @@ msgid "Lists monsters regardless of their attitude." msgstr "列出所有怪物, 不論態度如何" #: src/safemode_ui.cpp -msgid "Safe Mode is not enabled in the options. Enable it now?" -msgstr "安全模式功能沒有啟用。現在啟用?" +msgid "Safe Mode is not enabled in the options. Enable it now?" +msgstr "" #: src/safemode_ui.cpp msgid "safemode configuration" @@ -203653,11 +209388,6 @@ msgstr "評分" msgid "KILLS" msgstr "擊殺" -#: src/sdltiles.cpp -msgid "" -"Sets which video display will be used to show the game. Requires restart." -msgstr "設定遊戲使用哪個顯示器。需要重新啟動遊戲。" - #: src/skill.cpp msgid "The zen-most skill there is." msgstr "至禪技能如是。" @@ -203714,6 +209444,10 @@ msgstr "無法正確生成起始地點, 請回報此錯誤" msgid "d: delete history" msgstr "d: 刪除歷史" +#: src/teleport.cpp +msgid "You feel a strange, inwards force." +msgstr "" + #: src/teleport.cpp msgid "You cannot teleport safely." msgstr "你無法安全地傳送。" @@ -203723,8 +209457,12 @@ msgid "You die after teleporting into a solid." msgstr "你傳送到固體中,死掉了。" #: src/teleport.cpp -msgid "You exlpode into thousands of fragments." -msgstr "你炸成一片血花肉雨。" +msgid "You feel disjointed." +msgstr "" + +#: src/teleport.cpp +msgid "You explode into thousands of fragments." +msgstr "" #: src/teleport.cpp #, c-format @@ -204049,13 +209787,13 @@ msgid "vvrrrRRMM*POP!*" msgstr "嘎嘎嘎嘎 *碰*!" #: src/trapfunc.cpp -msgid "The air shimmers around you..." -msgstr "空氣圍繞著你閃閃發光…" +msgid "The air shimmers around you…" +msgstr "" #: src/trapfunc.cpp #, c-format -msgid "The air shimmers around %s..." -msgstr "空氣圍繞著 %s 閃閃發光…" +msgid "The air shimmers around %s…" +msgstr "" #: src/trapfunc.cpp msgid "You step in a puddle of thick goo." @@ -204070,8 +209808,8 @@ msgid "The acidic goo eats away at your feet." msgstr "酸性黏液侵蝕你的腳掌。" #: src/trapfunc.cpp -msgid "BEEPBOOP! Please remove non-organic object." -msgstr "嗶噗! 請移走非有機物品。" +msgid "BEEPBOOP! Please remove non-organic object." +msgstr "" #: src/trapfunc.cpp msgid "The dissector lights up, and shuts down." @@ -204087,8 +209825,8 @@ msgstr "電子光束從地板中射出並切割 的血肉!" #: src/trapfunc.cpp #, c-format -msgid "Electrical beams emit from the floor and slice your %s!" -msgstr "電子光束從地板中射出並切割你的 %s !" +msgid "Electrical beams emit from the floor and slice the %s!" +msgstr "電能光束從地板中射出並切割了 %s !" #: src/trapfunc.cpp msgid " falls in a pit!" @@ -204171,8 +209909,8 @@ msgid "Your %s is burned by the lava!" msgstr "你的 %s 被岩漿燒掉了!" #: src/trapfunc.cpp -msgid "You fail to attach it..." -msgstr "你未能連接到它…" +msgid "You fail to attach it…" +msgstr "" #: src/trapfunc.cpp msgid "There's nowhere to pull yourself to, and you sink!" @@ -204307,8 +210045,21 @@ msgid "Set turret targeting" msgstr "設定槍塔目標" #: src/turret.cpp -msgid "Can't aim turrets: all turrets are offline" -msgstr "無法瞄準槍塔: 所有槍塔離線中" +msgid "auto -> manual" +msgstr "自動 -> 手動" + +#: src/turret.cpp +msgid "manual -> auto" +msgstr "手動 -> 自動" + +#: src/turret.cpp +msgid "manual (turret control unit required for auto mode)" +msgstr "手動(自動模式需要砲塔控制元件)" + +#: src/turret.cpp +msgid "" +"Can't aim turrets: all turrets are offline or set to manual targeting mode." +msgstr "無法瞄準砲塔:所有砲塔離線或設定成手動模式。" #: src/turret.cpp msgid "Aim which turret?" @@ -204350,14 +210101,18 @@ msgstr "John Smith" #: src/tutorial.cpp msgid "" "You're saving a tutorial - the tutorial world lacks certain features of " -"normal worlds. Weird things might happen when you load this save. You have " -"been warned." +"normal worlds. Weird things might happen when you load this save. You have" +" been warned." msgstr "你在教學模式存檔 - 教學模式的世界缺少非常多的要素。若你嘗試讀取這個存檔可能會發生奇怪的事情。我警告過你了。" #: src/veh_interact.cpp msgid "Select part" msgstr "選擇零件" +#: src/veh_interact.cpp +msgid "Time required:\n" +msgstr "所需時間:\n" + #: src/veh_interact.cpp msgid "Skills required:\n" msgstr "所需技能:\n" @@ -204530,11 +210285,11 @@ msgid "Search for part" msgstr "搜尋零件" #: src/veh_interact.cpp -msgid "Your morale is too low to construct..." -msgstr "士氣低落無法進行建造…" +msgid "Your morale is too low to construct…" +msgstr "你士氣低落無法進行建造…" #: src/veh_interact.cpp -msgid "It's too dark to see what you are doing..." +msgid "It's too dark to see what you are doing…" msgstr "太暗了,看不到東西無法進行動作..." #: src/veh_interact.cpp @@ -204542,7 +210297,7 @@ msgid "You can't install parts while driving." msgstr "你無法在開車時安裝零件。" #: src/veh_interact.cpp -msgid "Installing this part will make the vehicle unfoldable. Continue?" +msgid "Installing this part will make the vehicle unfoldable. Continue?" msgstr "安裝此部件將使載具無法折疊。是否繼續?" #: src/veh_interact.cpp @@ -204550,7 +210305,7 @@ msgid "Choose shape:" msgstr "選擇形狀:" #: src/veh_interact.cpp -msgid "Your morale is too low to repair..." +msgid "Your morale is too low to repair…" msgstr "你士氣低落無法進行修理…" #: src/veh_interact.cpp @@ -204570,8 +210325,8 @@ msgid "This part cannot be repaired" msgstr "這個零件無法修理" #: src/veh_interact.cpp -msgid "Your morale is too low to mend..." -msgstr "你的士氣太低而無法修補…" +msgid "Your morale is too low to mend…" +msgstr "你士氣低落無法進行修補…" #: src/veh_interact.cpp msgid "No faulty parts require mending." @@ -204745,8 +210500,8 @@ msgid "You can't siphon from a moving vehicle." msgstr "你不能對移動的車輛進行抽取。" #: src/veh_interact.cpp -msgid "Select part to siphon: " -msgstr "選取要抽取的油箱: " +msgid "Select part to siphon:" +msgstr "" #: src/veh_interact.cpp msgid "The vehicle has no solid fuel left to remove." @@ -205218,6 +210973,11 @@ msgstr "你在處理的車輛零件被摧毀了!" msgid "Lost connection with the vehicle due to distance!" msgstr "距離過遠, 失去與車輛的連線!" +#: src/vehicle.cpp +#, c-format +msgid "the %s emitting a beep and saying \"Obstacle detected!\"" +msgstr "" + #. ~ backfire sound #: src/vehicle.cpp #, c-format @@ -205279,7 +211039,7 @@ msgstr "你無法拿取自行車架上的 %1$s" #: src/vehicle.cpp #, c-format msgid "" -"A part of the vehicle ('%s') has no containing vehicle's name. It will be " +"A part of the vehicle ('%s') has no containing vehicle's name. It will be " "detached from the %s vehicle." msgstr "" @@ -205385,7 +211145,7 @@ msgid "The %1$s's %2$s is destroyed!" msgstr "%1$s 的 %2$s 被摧毀了!" #: src/vehicle_display.cpp -msgid "More parts here..." +msgid "More parts here…" msgstr "這裡有更多的零件…" #: src/vehicle_display.cpp @@ -205780,8 +211540,8 @@ msgstr "銑挖機" #: src/vehicle_use.cpp msgctxt "electronics menu option" -msgid "rockhead" -msgstr "" +msgid "roadheader" +msgstr "鑽掘機" #: src/vehicle_use.cpp msgctxt "electronics menu option" @@ -205859,7 +211619,7 @@ msgid "You could use a screwdriver to hotwire it." msgstr "你能用個螺絲起子來進行短接發動。" #: src/vehicle_use.cpp -msgid "You destroy the controls..." +msgid "You destroy the controls…" msgstr "你毀掉了控制器…" #: src/vehicle_use.cpp @@ -205882,6 +211642,28 @@ msgstr "忘記車輛位置" msgid "Remember vehicle position" msgstr "記得車輛位置" +#: src/vehicle_use.cpp +msgid "Choose action for the autopilot" +msgstr "選擇自動駕駛的動作" + +#: src/vehicle_use.cpp +msgid "Patrol…" +msgstr "巡邏 ..." + +#: src/vehicle_use.cpp +msgid "" +"Program the autopilot to patrol a nearby vehicle patrol zone. If no zones " +"are nearby, you will be prompted to create one." +msgstr "設定自動駕駛儀程序,讓它在附近的車輛巡邏區內巡邏。如果附近沒有車輛巡邏區,將提示你創建區域。" + +#: src/vehicle_use.cpp +msgid "Stop…" +msgstr "停止 ..." + +#: src/vehicle_use.cpp +msgid "Stop all autopilot related activities." +msgstr "停止所有與自動駕駛相關的活動。" + #: src/vehicle_use.cpp msgid "You stop keeping track of the vehicle position." msgstr "你停止追蹤車輛位置。" @@ -205926,14 +211708,14 @@ msgstr "關閉引擎" msgid "Turn on the engine" msgstr "啟動引擎" -#: src/vehicle_use.cpp -msgid "You turn the engine off." -msgstr "你關閉了引擎。" - #: src/vehicle_use.cpp msgid "Honk horn" msgstr "按喇叭" +#: src/vehicle_use.cpp +msgid "Control autopilot" +msgstr "控制自動駕駛" + #: src/vehicle_use.cpp msgid "Disable cruise control" msgstr "關閉定速駕駛" @@ -206051,13 +211833,17 @@ msgstr "%s 很快就熄火了。" #: src/vehicle_use.cpp #, c-format msgid "the %s clanking and grinding" -msgstr "" +msgstr "%s 發出匡啷與摩擦聲" #: src/vehicle_use.cpp #, c-format msgid "the %s starting" msgstr " %s 開始運作" +#: src/vehicle_use.cpp +msgid "You turn the engine off." +msgstr "你關閉了引擎。" + #: src/vehicle_use.cpp msgid "You honk the horn!" msgstr "你按了喇叭!" @@ -206078,8 +211864,8 @@ msgstr "你按了喇叭, 但沒有事發生。" #: src/vehicle_use.cpp #, c-format -msgid "Move how many? [Have %d] (0 to cancel)" -msgstr "要移動多少? [擁有 %d] (0 為取消)" +msgid "Move how many? [Have %d] (0 to cancel)" +msgstr "要移動多少? [擁有 %d] (0 為取消)" #: src/vehicle_use.cpp msgid "a simple melody blaring from the loudspeakers." @@ -206155,6 +211941,10 @@ msgstr "你必須把高壓滅菌器內所有骯髒的物品全部拿出來,高 msgid "Only CBMs can be sterilized in an autoclave." msgstr "只有生化插件才能使用高壓滅菌器來進行滅菌。" +#: src/vehicle_use.cpp +msgid "You should put your CBMs in autoclave pouches to keep them sterile." +msgstr "你應該將生化插件放入高壓滅菌袋中以保持無菌。" + #: src/vehicle_use.cpp msgid "You turn the autoclave on and it starts its cycle." msgstr "你啟動高壓滅菌器,它開始進行它的滅菌週期。" @@ -206268,6 +212058,15 @@ msgstr "你把你的 %1$s 套到了 %2$s 上。" msgid "You untie your %s." msgstr "你解開你的 %s。" +#: src/vehicle_use.cpp +msgid "Load a vehicle on the rack" +msgstr "將車輛掛載到架上" + +#: src/vehicle_use.cpp +#, c-format +msgid "Remove the %s from the rack" +msgstr "從架上卸下 %s" + #: src/vehicle_use.cpp msgid "Examine vehicle" msgstr "檢視車輛" @@ -206388,8 +212187,8 @@ msgid "Your power armor protects you from the acidic drizzle." msgstr "你的動力裝甲保護了你不受酸雨傷害。" #: src/weather.cpp -msgid "The acid rain stings, but is mostly harmless for now..." -msgstr "酸雨刺痛了你的皮膚, 但目前還沒有什麼影響…" +msgid "The acid rain stings, but is mostly harmless for now…" +msgstr "酸雨刺痛了你的皮膚, 但目前還沒有什麼影響…" #: src/weather.cpp msgid "Your umbrella protects you from the acid rain." @@ -206474,7 +212273,7 @@ msgstr "%s 夜晚" #: src/weather.cpp #, c-format -msgid "%s... %s. Highs of %s. Lows of %s. " +msgid "%s… %s. Highs of %s. Lows of %s. " msgstr "%s… %s。最高 %s。最低 %s。" #: src/weather.cpp @@ -206728,15 +212527,15 @@ msgstr "多少?" #: src/wish.cpp #, c-format -msgid "Wish granted. Wish for more or hit [%s] to quit." -msgstr "願望達成。許其他願望, 或是按下 [%s] 離開。" +msgid "Wish granted. Wish for more or hit [%s] to quit." +msgstr "願望達成。許其他願望,或是按下 [%s] 離開。" #: src/wish.cpp msgid "Select a skill to modify" msgstr "選擇要調整的技能" #: src/wish.cpp -msgid "Modify all skills..." +msgid "Modify all skills…" msgstr "修改所有的技能…" #: src/wish.cpp @@ -206746,8 +212545,8 @@ msgstr "@ %d: %s " #: src/wish.cpp #, c-format -msgid "Set '%s' to.." -msgstr "設定 '%s' 為…" +msgid "Set '%s' to…" +msgstr "" #: src/wish.cpp msgid " (current)" @@ -206845,7 +212644,7 @@ msgstr "模組讀取順序" #: src/worldfactory.cpp #, c-format -msgid "... %s = View full description " +msgid "…%s = View full description " msgstr "… 按 %s 檢視完整模組描述 " #: src/worldfactory.cpp @@ -206879,13 +212678,13 @@ msgid "________NO NAME ENTERED!________" msgstr "_________ 沒有輸入名稱! ________" #: src/worldfactory.cpp -msgid "Are you SURE you're finished? World name will be randomly generated." -msgstr "你 *確定* 完成了嗎? 世界名稱將會隨機產生。" +msgid "Are you SURE you're finished? World name will be randomly generated." +msgstr "你 *確定* 完成了嗎?世界名稱將會隨機產生。" #: src/worldfactory.cpp #, c-format msgid "" -"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " +"%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. " "%s/%s = Prev/Next Tab." msgstr "%s 儲存模組讀取順序為預設值 %s 設定熱鍵 %s/%s 切換分類 %s/%s 切換分頁" diff --git a/msvc-full-features/Cataclysm-vcpkg-static.vcxproj b/msvc-full-features/Cataclysm-vcpkg-static.vcxproj index 2b73f119efa58..db3d8484d7126 100644 --- a/msvc-full-features/Cataclysm-vcpkg-static.vcxproj +++ b/msvc-full-features/Cataclysm-vcpkg-static.vcxproj @@ -80,7 +80,7 @@ Default true /LTCG:OFF %(AdditionalOptions) - winmm.lib;imm32.lib;version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + winmm.lib;imm32.lib;version.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;setupapi.lib;%(AdditionalDependencies) prebuild.cmd diff --git a/src/action.cpp b/src/action.cpp index 7d7620bba5926..14895653d9972 100644 --- a/src/action.cpp +++ b/src/action.cpp @@ -44,10 +44,10 @@ void load_keyboard_settings( std::map &keymap, const auto parser = [&]( std::istream & fin ) { parse_keymap( fin, keymap, unbound_keymap ); }; - if( read_from_file_optional( FILENAMES["keymap"], parser ) ) { - keymap_file_loaded_from = FILENAMES["keymap"]; - } else if( read_from_file_optional( FILENAMES["legacy_keymap"], parser ) ) { - keymap_file_loaded_from = FILENAMES["legacy_keymap"]; + if( read_from_file_optional( PATH_INFO::keymap(), parser ) ) { + keymap_file_loaded_from = PATH_INFO::keymap(); + } else if( read_from_file_optional( PATH_INFO::legacy_keymap(), parser ) ) { + keymap_file_loaded_from = PATH_INFO::legacy_keymap(); } } @@ -70,8 +70,8 @@ void parse_keymap( std::istream &keymap_txt, std::map &kmap, } else if( id[0] != '#' ) { const action_id act = look_up_action( id ); if( act == ACTION_NULL ) { - debugmsg( "Warning! keymap.txt contains an unknown action, \"%s\"\n" - "Fix \"%s\" at your next chance!", id, FILENAMES["keymap"] ); + debugmsg( "Warning! keymap.txt contains an unknown action, \"%s\"\n" + "Fix \"%s\" at your next chance!", id, PATH_INFO::keymap() ); } else { while( !keymap_txt.eof() ) { char ch; @@ -82,7 +82,7 @@ void parse_keymap( std::istream &keymap_txt, std::map &kmap, if( kmap.find( ch ) != kmap.end() ) { debugmsg( "Warning! '%c' assigned twice in the keymap!\n" "%s is being ignored.\n" - "Fix \"%s\" at your next chance!", ch, id, FILENAMES["keymap"] ); + "Fix \"%s\" at your next chance!", ch, id, PATH_INFO::keymap() ); } else { kmap[ ch ] = act; } @@ -310,6 +310,8 @@ std::string action_ident( action_id act ) return "debug_scent"; case ACTION_DISPLAY_TEMPERATURE: return "debug_temp"; + case ACTION_DISPLAY_VEHICLE_AI: + return "debug_vehicle_ai"; case ACTION_DISPLAY_VISIBILITY: return "debug_visibility"; case ACTION_DISPLAY_LIGHTING: @@ -421,6 +423,7 @@ bool can_action_change_worldstate( const action_id act ) case ACTION_DEBUG: case ACTION_DISPLAY_SCENT: case ACTION_DISPLAY_TEMPERATURE: + case ACTION_DISPLAY_VEHICLE_AI: case ACTION_DISPLAY_VISIBILITY: case ACTION_DISPLAY_LIGHTING: case ACTION_DISPLAY_RADIATION: @@ -666,7 +669,7 @@ action_id handle_action_menu() ctxt.get_action_name( action_ident( name ) ) ); #define REGISTER_CATEGORY( name ) categories_by_int[last_category] = name; \ catgname = name; \ - catgname += "..."; \ + catgname += "…"; \ entries.emplace_back( last_category, true, -1, catgname ); \ last_category++; @@ -687,11 +690,11 @@ action_id handle_action_menu() } // If we're already running, make it simple to toggle running to off. - if( g->u.movement_mode_is( PMM_RUN ) ) { + if( g->u.movement_mode_is( CMM_RUN ) ) { action_weightings[ACTION_TOGGLE_RUN] = 300; } // If we're already crouching, make it simple to toggle crouching to off. - if( g->u.movement_mode_is( PMM_CROUCH ) ) { + if( g->u.movement_mode_is( CMM_CROUCH ) ) { action_weightings[ACTION_TOGGLE_CROUCH] = 300; } @@ -771,7 +774,7 @@ action_id handle_action_menu() } REGISTER_ACTION( ACTION_HELP ); if( ( entry = &entries.back() ) ) { - entry->txt += "..."; // help _is_a menu. + entry->txt += "…"; // help _is_a menu. } if( hotkey_for_action( ACTION_DEBUG ) > -1 ) { REGISTER_CATEGORY( _( "Debug" ) ); // register with global key @@ -809,7 +812,7 @@ action_id handle_action_menu() } else if( category == _( "Debug" ) ) { REGISTER_ACTION( ACTION_DEBUG ); if( ( entry = &entries.back() ) ) { - entry->txt += "..."; // debug _is_a menu. + entry->txt += "…"; // debug _is_a menu. } #if !defined(TILES) REGISTER_ACTION( ACTION_TOGGLE_FULLSCREEN ); @@ -821,6 +824,7 @@ action_id handle_action_menu() REGISTER_ACTION( ACTION_TOGGLE_PANEL_ADM ); REGISTER_ACTION( ACTION_DISPLAY_SCENT ); REGISTER_ACTION( ACTION_DISPLAY_TEMPERATURE ); + REGISTER_ACTION( ACTION_DISPLAY_VEHICLE_AI ); REGISTER_ACTION( ACTION_DISPLAY_VISIBILITY ); REGISTER_ACTION( ACTION_DISPLAY_LIGHTING ); REGISTER_ACTION( ACTION_DISPLAY_RADIATION ); @@ -892,7 +896,7 @@ action_id handle_action_menu() if( category != "back" ) { std::string msg = _( "Back" ); - msg += "..."; + msg += "…"; entries.emplace_back( 2 * NUM_ACTIONS, true, hotkey_for_action( ACTION_ACTIONMENU ), msg ); } @@ -906,9 +910,7 @@ action_id handle_action_menu() int width = 0; for( auto &cur_entry : entries ) { - if( width < static_cast( cur_entry.txt.length() ) ) { - width = cur_entry.txt.length(); - } + width = std::max( width, utf8_width( cur_entry.txt ) ); } //border=2, selectors=3, after=3 for balance. width += 2 + 3 + 3; @@ -964,9 +966,7 @@ action_id handle_main_menu() int width = 0; for( auto &entry : entries ) { - if( width < static_cast( entry.txt.length() ) ) { - width = entry.txt.length(); - } + width = std::max( width, utf8_width( entry.txt ) ); } //border=2, selectors=3, after=3 for balance. width += 2 + 3 + 3; diff --git a/src/action.h b/src/action.h index f4fb54b3947b6..fd8d9dd3979d5 100644 --- a/src/action.h +++ b/src/action.h @@ -303,6 +303,8 @@ enum action_id : int { ACTION_TOGGLE_AUTO_PICKUP, /** Toggle temperature map */ ACTION_DISPLAY_TEMPERATURE, + /** Toggle vehicle autopilot data */ + ACTION_DISPLAY_VEHICLE_AI, /** Toggle visibility map */ ACTION_DISPLAY_VISIBILITY, /** Toggle lighting conditions map */ @@ -320,7 +322,7 @@ enum action_id : int { * Sets the state of a keymap in memory to the state of a keymap state saved to disk. * The actual filename we read the keymap from is returned by reference, not specified in this * function call. The filename used is set elsewhere (in a variety of places). Take a look at - * @ref FILENAMES to see where this happens. The returned file name is used to detect errors, such + * @ref path_info to see where this happens. The returned file name is used to detect errors, such * as a non-existent file or a file that didn't actually contain a keymap. * * Output is returned as two separate maps: diff --git a/src/activity_handlers.cpp b/src/activity_handlers.cpp index 3cf5040bf5bc0..0bcc670e7c2e3 100644 --- a/src/activity_handlers.cpp +++ b/src/activity_handlers.cpp @@ -159,7 +159,6 @@ activity_handlers::do_turn_functions = { { activity_id( "ACT_BUTCHER_FULL" ), butcher_do_turn }, { activity_id( "ACT_TRAVELLING" ), travel_do_turn }, { activity_id( "ACT_AUTODRIVE" ), drive_do_turn }, - { activity_id( "ACT_CHURN" ), churn_do_turn }, { activity_id( "ACT_FIELD_DRESS" ), butcher_do_turn }, { activity_id( "ACT_SKIN" ), butcher_do_turn }, { activity_id( "ACT_QUARTER" ), butcher_do_turn }, @@ -177,9 +176,6 @@ activity_handlers::do_turn_functions = { { activity_id( "ACT_DIG_CHANNEL" ), dig_channel_do_turn }, { activity_id( "ACT_FILL_PIT" ), fill_pit_do_turn }, { activity_id( "ACT_MULTIPLE_CHOP_PLANKS" ), multiple_chop_planks_do_turn }, - { activity_id( "ACT_TILL_PLOT" ), till_plot_do_turn }, - { activity_id( "ACT_HARVEST_PLOT" ), harvest_plot_do_turn }, - { activity_id( "ACT_PLANT_PLOT" ), plant_plot_do_turn }, { activity_id( "ACT_FERTILIZE_PLOT" ), fertilize_plot_do_turn }, { activity_id( "ACT_TRY_SLEEP" ), try_sleep_do_turn }, { activity_id( "ACT_OPERATION" ), operation_do_turn }, @@ -218,6 +214,7 @@ activity_handlers::finish_functions = { { activity_id( "ACT_CRACKING" ), cracking_finish }, { activity_id( "ACT_OPEN_GATE" ), open_gate_finish }, { activity_id( "ACT_REPAIR_ITEM" ), repair_item_finish }, + { activity_id( "ACT_HEATING" ), heat_item_finish }, { activity_id( "ACT_MEND_ITEM" ), mend_item_finish }, { activity_id( "ACT_GUNMOD_ADD" ), gunmod_add_finish }, { activity_id( "ACT_TOOLMOD_ADD" ), toolmod_add_finish }, @@ -1528,9 +1525,6 @@ void activity_handlers::forage_finish( player_activity *act, player *p ) void activity_handlers::game_do_turn( player_activity *act, player *p ) { - //Gaming takes time, not speed - act->moves_left -= 100; - item &game_item = p->i_at( act->position ); //Deduct 1 battery charge for every minute spent playing @@ -1773,7 +1767,7 @@ void activity_handlers::pulp_do_turn( player_activity *act, player *p ) p->practice( skill_survival, 2, 2 ); } - float stamina_ratio = static_cast( p->stamina ) / p->get_stamina_max(); + float stamina_ratio = static_cast( p->get_stamina() ) / p->get_stamina_max(); moves += 100 / std::max( 0.25f, stamina_ratio ); if( stamina_ratio < 0.33 || p->is_npc() ) { p->moves = std::min( 0, p->moves - moves ); @@ -1931,6 +1925,35 @@ void activity_handlers::start_fire_do_turn( player_activity *act, player *p ) } } +static bool magic_train( player_activity *act, player *p ) +{ + if( !p ) { + return false; + } + const spell_id &sp_id = spell_id( act->name ); + if( sp_id.is_valid() ) { + const bool knows = g->u.magic.knows_spell( sp_id ); + if( knows ) { + spell &studying = p->magic.get_spell( sp_id ); + const int expert_multiplier = act->values.empty() ? 0 : act->values[0]; + const int xp = roll_remainder( studying.exp_modifier( *p ) * expert_multiplier ); + studying.gain_exp( xp ); + p->add_msg_if_player( m_good, _( "You learn a little about the spell: %s" ), + sp_id->name ); + } else { + p->magic.learn_spell( act->name, *p ); + // you can decline to learn this spell , as it may lock you out of other magic. + if( p->magic.knows_spell( sp_id ) ) { + add_msg( m_good, _( "You learn %s." ), sp_id->name.translated() ); + } else { + act->set_to_null(); + } + } + return true; + } + return false; +} + void activity_handlers::train_finish( player_activity *act, player *p ) { const skill_id sk( act->name ); @@ -1955,11 +1978,10 @@ void activity_handlers::train_finish( player_activity *act, player *p ) if( ma_id.is_valid() ) { const auto &mastyle = ma_id.obj(); // Trained martial arts, - add_msg( m_good, _( "You learn %s." ), mastyle.name ); g->events().send( p->getID(), ma_id ); - p->add_martialart( mastyle.id ); - } else { - debugmsg( "train_finish without a valid skill or style name" ); + p->martial_arts_data.learn_style( mastyle.id, p->is_avatar() ); + } else if( !magic_train( act, p ) ) { + debugmsg( "train_finish without a valid skill or style or spell name" ); } act->set_to_null(); @@ -2011,7 +2033,6 @@ void activity_handlers::hand_crank_do_turn( player_activity *act, player *p ) // to 10 watt (suspicious claims from some manufacturers) sustained output. // It takes 2.4 minutes to produce 1kj at just slightly under 7 watts (25 kj per hour) // time-based instead of speed based because it's a sustained activity - act->moves_left -= 100; item &hand_crank_item = p ->i_at( act->position ); if( calendar::once_every( 144_seconds ) ) { @@ -2035,8 +2056,6 @@ void activity_handlers::vibe_do_turn( player_activity *act, player *p ) //Using a vibrator takes time (10 minutes), not speed //Linear increase in morale during action with a small boost at end //Deduct 1 battery charge for every minute in use, or vibrator is much less effective - act->moves_left -= 100; - item &vibrator_item = p->i_at( act->position ); if( ( p->is_wearing( "rebreather" ) ) || ( p->is_wearing( "rebreather_xl" ) ) || @@ -2064,8 +2083,6 @@ void activity_handlers::vibe_do_turn( player_activity *act, player *p ) // Vibrator requires that you be able to move around, stretch, etc, so doesn't play // well with roots. Sorry. :-( - - p->pause(); } void activity_handlers::start_engines_finish( player_activity *act, player *p ) @@ -2394,6 +2411,7 @@ void activity_handlers::repair_item_finish( player_activity *act, player *p ) // target selection and validation. while( act->targets.size() < 2 ) { + g->draw(); auto item_loc = game_menus::inv::repair( *p, actor, &main_tool ); if( item_loc == item_location::nowhere ) { @@ -2410,7 +2428,6 @@ void activity_handlers::repair_item_finish( player_activity *act, player *p ) const item &fix = *act->targets[1]; if( repeat == REPEAT_INIT ) { - g->draw(); const int level = p->get_skill_level( actor->used_skill ); auto action_type = actor->default_action( fix, level ); if( action_type == repair_item_actor::RT_NOTHING ) { @@ -2440,6 +2457,7 @@ void activity_handlers::repair_item_finish( player_activity *act, player *p ) act->values.resize( 1 ); } do { + g->draw(); repeat = repeat_menu( title, repeat ); if( repeat == REPEAT_CANCEL ) { @@ -2462,6 +2480,35 @@ void activity_handlers::repair_item_finish( player_activity *act, player *p ) act->moves_left = actor->move_cost; } +void activity_handlers::heat_item_finish( player_activity *act, player *p ) +{ + act->set_to_null(); + if( act->targets.size() != 1 ) { + debugmsg( "invalid arguments to ACT_HEATING" ); + return; + } + item_location &loc = act->targets[ 0 ]; + item *heat = loc.get_item(); + if( heat == nullptr ) { + return; + } + item &target = heat->is_food_container() ? heat->contents.front() : *heat; + if( target.item_tags.count( "FROZEN" ) ) { + target.apply_freezerburn(); + if( target.has_flag( "EATEN_COLD" ) ) { + target.cold_up(); + p->add_msg_if_player( m_info, + _( "You defrost the food, but don't heat it up, since you enjoy it cold." ) ); + } else { + target.heat_up(); + p->add_msg_if_player( m_info, _( "You defrost and heat up the food." ) ); + } + } else { + target.heat_up(); + p->add_msg_if_player( m_info, _( "You heat up the food." ) ); + } +} + void activity_handlers::mend_item_finish( player_activity *act, player *p ) { act->set_to_null(); @@ -2478,8 +2525,19 @@ void activity_handlers::mend_item_finish( player_activity *act, player *p ) return; } + if( act->str_values.empty() ) { + debugmsg( "missing mending_method id for ACT_MEND_ITEM." ); + return; + } + + const mending_method *method = fault_id( act->name )->find_mending_method( act->str_values[0] ); + if( !method ) { + debugmsg( "invalid mending_method id for ACT_MEND_ITEM." ); + return; + } + const inventory inv = p->crafting_inventory(); - const requirement_data &reqs = f->obj().requirements(); + const requirement_data &reqs = method->requirements.obj(); if( !reqs.can_make_with_inventory( inv, is_crafting_component ) ) { add_msg( m_info, _( "You are currently unable to mend the %s." ), target->tname() ); } @@ -2492,10 +2550,13 @@ void activity_handlers::mend_item_finish( player_activity *act, player *p ) p->invalidate_crafting_inventory(); target->faults.erase( *f ); + if( method->turns_into ) { + target->faults.emplace( *method->turns_into ); + } if( act->name == "fault_gun_blackpowder" || act->name == "fault_gun_dirt" ) { target->set_var( "dirt", 0 ); } - add_msg( m_good, _( "You successfully mended the %s." ), target->tname() ); + add_msg( m_good, method->success_msg.translated(), target->tname() ); } void activity_handlers::gunmod_add_finish( player_activity *act, player *p ) @@ -2638,7 +2699,7 @@ void activity_handlers::move_loot_do_turn( player_activity *act, player *p ) void activity_handlers::adv_inventory_do_turn( player_activity *, player *p ) { p->cancel_activity(); - advanced_inv(); + create_advanced_inv(); } void activity_handlers::drive_do_turn( player_activity *act, player *p ) @@ -2661,12 +2722,14 @@ void activity_handlers::drive_do_turn( player_activity *act, player *p ) if( !player_veh->omt_path.empty() ) { player_veh->omt_path.clear(); } + player_veh->is_autodriving = false; act->set_to_null(); p->cancel_activity(); return; } if( player_veh->omt_path.empty() ) { act->set_to_null(); + player_veh->is_autodriving = false; p->add_msg_if_player( m_info, _( "You have reached your destination." ) ); p->cancel_activity(); } @@ -2831,14 +2894,10 @@ void activity_handlers::read_do_turn( player_activity *act, player *p ) if( p->is_player() ) { if( !act->str_values.empty() && act->str_values[0] == "martial_art" && one_in( 3 ) ) { if( act->values.empty() ) { - act->values.push_back( p->stamina ); + act->values.push_back( p->get_stamina() ); } - p->stamina = act->values[0] - 1; - act->values[0] = p->stamina; - } - if( p->stamina < p->get_stamina_max() / 10 ) { - p->add_msg_if_player( m_info, _( "This training is exhausting. Time to rest." ) ); - act->set_to_null(); + p->set_stamina( act->values[0] - 1 ); + act->values[0] = p->get_stamina(); } } else { p->moves = 0; @@ -2847,6 +2906,9 @@ void activity_handlers::read_do_turn( player_activity *act, player *p ) void activity_handlers::read_finish( player_activity *act, player *p ) { + if( !act->targets.front() ) { + debugmsg( "Lost target of ACT_READ" ); + } if( p->is_npc() ) { npc *guy = dynamic_cast( p ); guy->finish_read( * act->targets.front().get_item() ); @@ -2919,7 +2981,7 @@ void activity_handlers::find_mount_do_turn( player_activity *act, player *p ) void activity_handlers::wait_npc_finish( player_activity *act, player *p ) { - p->add_msg_if_player( _( "%s finishes with you..." ), act->str_values[0] ); + p->add_msg_if_player( _( "%s finishes with you…" ), act->str_values[0] ); act->set_to_null(); } @@ -2930,10 +2992,10 @@ void activity_handlers::wait_stamina_do_turn( player_activity *act, player *p ) stamina_threshold = act->values[0]; // remember initial stamina, only for waiting-with-threshold if( act->values.size() == 1 ) { - act->values.push_back( p->stamina ); + act->values.push_back( p->get_stamina() ); } } - if( p->stamina >= stamina_threshold ) { + if( p->get_stamina() >= stamina_threshold ) { wait_stamina_finish( act, p ); } } @@ -2942,12 +3004,12 @@ void activity_handlers::wait_stamina_finish( player_activity *act, player *p ) { if( !act->values.empty() ) { const int stamina_threshold = act->values[0]; - const int stamina_initial = ( act->values.size() > 1 ) ? act->values[1] : p->stamina; - if( p->stamina < stamina_threshold && p->stamina <= stamina_initial ) { + const int stamina_initial = ( act->values.size() > 1 ) ? act->values[1] : p->get_stamina(); + if( p->get_stamina() < stamina_threshold && p->get_stamina() <= stamina_initial ) { debugmsg( "Failed to wait until stamina threshold %d reached, only at %d. You may not be regaining stamina.", - act->values.front(), p->stamina ); + act->values.front(), p->get_stamina() ); } - } else if( p->stamina < p->get_stamina_max() ) { + } else if( p->get_stamina() < p->get_stamina_max() ) { p->add_msg_if_player( _( "You are bored of waiting, so you stop." ) ); } else { p->add_msg_if_player( _( "You finish waiting and feel refreshed." ) ); @@ -2969,7 +3031,7 @@ void activity_handlers::try_sleep_do_turn( player_activity *act, player *p ) p->fall_asleep(); p->remove_value( "sleep_query" ); } else if( one_in( 1000 ) ) { - p->add_msg_if_player( _( "You toss and turn..." ) ); + p->add_msg_if_player( _( "You toss and turn…" ) ); } if( calendar::once_every( 30_minutes ) ) { try_sleep_query( act, p ); @@ -3102,7 +3164,7 @@ void activity_handlers::operation_do_turn( player_activity *act, player *p ) if( p->has_bionic( bid ) ) { p->perform_uninstall( bid, act->values[0], act->values[1], - act->values[2], act->values[3] ); + units::from_millijoule( act->values[2] ), act->values[3] ); } else { debugmsg( _( "Tried to uninstall %s, but you don't have this bionic installed." ), act->str_values[cbm_id] ); @@ -3166,13 +3228,12 @@ void activity_handlers::operation_do_turn( player_activity *act, player *p ) p->add_effect( effect_narcosis, time_left ); p->add_effect( effect_sleep, time_left ); } - p->set_moves( 0 ); } void activity_handlers::try_sleep_finish( player_activity *act, player *p ) { if( !p->has_effect( effect_sleep ) ) { - p->add_msg_if_player( _( "You try to sleep, but can't..." ) ); + p->add_msg_if_player( _( "You try to sleep, but can't…" ) ); } act->set_to_null(); } @@ -3222,12 +3283,6 @@ void activity_handlers::churn_finish( player_activity *act, player *p ) resume_for_multi_activities( *p ); } -void activity_handlers::churn_do_turn( player_activity *act, player *p ) -{ - ( void )act; - p->set_moves( 0 ); -} - void activity_handlers::build_do_turn( player_activity *act, player *p ) { const std::vector &list_constructions = get_constructions(); @@ -3426,7 +3481,14 @@ void activity_handlers::craft_do_turn( player_activity *act, player *p ) } } } else if( craft->item_counter >= craft->get_next_failure_point() ) { - craft->handle_craft_failure( *p ); + bool destroy = craft->handle_craft_failure( *p ); + // If the craft needs to be destroyed, do it and stop crafting. + if( destroy ) { + p->add_msg_player_or_npc( _( "There is nothing left of the %s to craft from." ), + _( "There is nothing left of the %s was crafting." ), craft->tname() ); + act->targets.front().remove_item(); + p->cancel_activity(); + } } } @@ -3574,7 +3636,7 @@ void activity_handlers::chop_tree_finish( player_activity *act, player *p ) const tripoint to = pos + 3 * direction.xy() + point( rng( -1, 1 ), rng( -1, 1 ) ); std::vector tree = line_to( pos, to, rng( 1, 8 ) ); for( auto &elem : tree ) { - g->m.destroy( elem ); + g->m.batter( elem, 300, 5 ); g->m.ter_set( elem, t_trunk ); } @@ -3934,39 +3996,6 @@ static void perform_zone_activity_turn( player *p, p->activity.set_to_null(); } -void activity_handlers::harvest_plot_do_turn( player_activity *, player *p ) -{ - const auto reject_tile = []( const tripoint & tile ) { - return !g->m.has_flag_furn( "GROWTH_HARVEST", tile ); - }; - const auto harvest = [&]( player & p, const tripoint & tile ) { - iexamine::harvest_plant( p, tile, false ); - }; - perform_zone_activity_turn( p, - zone_type_id( "FARM_PLOT" ), - reject_tile, - harvest, - _( "You harvested all the plots you could." ) ); - -} - -void activity_handlers::till_plot_do_turn( player_activity *, player *p ) -{ - const auto reject_tile = []( const tripoint & tile ) { - return !g->m.has_flag( "PLOWABLE", tile ) || g->m.has_furn( tile ); - }; - - const auto dig = []( player & p, const tripoint & tile_loc ) { - p.assign_activity( activity_id( "ACT_CHURN" ), 18000, -1 ); - p.activity.placement = g->m.getabs( tile_loc ); - }; - perform_zone_activity_turn( p, - zone_type_id( "FARM_PLOT" ), - reject_tile, - dig, - _( "You tilled every tile you could." ) ); -} - void activity_handlers::fertilize_plot_do_turn( player_activity *act, player *p ) { itype_id fertilizer; @@ -4019,65 +4048,6 @@ void activity_handlers::fertilize_plot_do_turn( player_activity *act, player *p _( "You fertilized every plot you could." ) ); } -void activity_handlers::plant_plot_do_turn( player_activity *, player *p ) -{ - const auto &mgr = zone_manager::get_manager(); - std::vector seed_inv = p->items_with( []( const item & itm ) { - return itm.is_seed(); - } ); - - // get seeds requested by zones on the tile (local coords) - auto get_seeds = [&]( const tripoint & tile ) { - auto seeds = std::vector(); - const auto &zones = mgr.get_zones( zone_type_id( "FARM_PLOT" ), g->m.getabs( tile ) ); - for( const auto &zone : zones ) { - const auto options = dynamic_cast( zone.get_options() ); - const auto seed = options.get_seed(); - - if( !seed.empty() && std::find( seeds.begin(), seeds.end(), seed ) == seeds.end() ) { - seeds.emplace_back( seed ); - } - } - - return seeds; - }; - - // cleanup unwanted tiles (local coords) - const auto reject_tiles = [&]( const tripoint & tile ) { - if( !g->m.has_flag_ter_or_furn( "PLANTABLE", tile ) || - g->m.has_items( tile ) ) { - return true; - } - - const auto seeds = get_seeds( tile ); - - return std::all_of( seeds.begin(), seeds.end(), [&]( const std::string & seed ) { - return std::all_of( seed_inv.begin(), seed_inv.end(), [seed]( item * it ) { - return it->typeId() != itype_id( seed ); - } ); - } ); - }; - - const auto plant_appropriate_seed = [&]( player & p, const tripoint & tile_loc ) { - const auto seeds = get_seeds( tile_loc ); - std::vector seed_inv = p.items_with( [seeds]( const item & itm ) { - return itm.is_seed() && std::any_of( seeds.begin(), seeds.end(), [itm]( const std::string & seed ) { - return itm.typeId() == itype_id( seed ); - } ); - } ); - if( !seed_inv.empty() ) { - const auto it = seed_inv.front(); - iexamine::plant_seed( p, tile_loc, it->typeId() ); - } - }; - - perform_zone_activity_turn( p, - zone_type_id( "FARM_PLOT" ), - reject_tiles, - plant_appropriate_seed, - _( "You planted all seeds you could." ) ); -} - void activity_handlers::robot_control_do_turn( player_activity *act, player *p ) { if( act->monsters.empty() ) { @@ -4094,9 +4064,6 @@ void activity_handlers::robot_control_do_turn( player_activity *act, player *p ) } // TODO: Add some kind of chance of getting the target's attention - - // Allow time to pass - p->pause(); } void activity_handlers::robot_control_finish( player_activity *act, player *p ) @@ -4143,7 +4110,7 @@ void activity_handlers::robot_control_finish( player_activity *act, player *p ) return; // Do not do the other effects if the robot died } if( one_in( 3 ) ) { - p->add_msg_if_player( _( "...and turns friendly!" ) ); + p->add_msg_if_player( _( "…and turns friendly!" ) ); if( one_in( 3 ) ) { //did the robot became friendly permanently? z->friendly = -1; //it did } else { @@ -4151,7 +4118,7 @@ void activity_handlers::robot_control_finish( player_activity *act, player *p ) } } } else { - p->add_msg_if_player( _( "...but the robot refuses to acknowledge you as an ally!" ) ); + p->add_msg_if_player( _( "…but the robot refuses to acknowledge you as an ally!" ) ); } p->practice( skill_id( "computer" ), 10 ); } @@ -4192,7 +4159,8 @@ void activity_handlers::tree_communion_do_turn( player_activity *act, player *p p->add_morale( MORALE_TREE_COMMUNION, 1, 15, 2_hours, 1_hours ); } if( one_in( 128 ) ) { - p->add_msg_if_player( SNIPPET.random_from_category( "tree_communion" ) ); + p->add_msg_if_player( "%s", SNIPPET.random_from_category( "tree_communion" ).value_or( + translation() ) ); } return; } @@ -4440,7 +4408,7 @@ void activity_handlers::mind_splicer_finish( player_activity *act, player *p ) return; } item &data_card = *act->targets[0]; - p->add_msg_if_player( m_info, _( "...you finally find the memory banks." ) ); + p->add_msg_if_player( m_info, _( "…you finally find the memory banks." ) ); p->add_msg_if_player( m_info, _( "The kit makes a copy of the data inside the bionic." ) ); data_card.contents.clear(); data_card.put_in( item( "mind_scan_robofac" ) ); diff --git a/src/activity_handlers.h b/src/activity_handlers.h index 34daba668d514..dd6f471d75bf2 100644 --- a/src/activity_handlers.h +++ b/src/activity_handlers.h @@ -160,10 +160,7 @@ void dig_do_turn( player_activity *act, player *p ); void build_do_turn( player_activity *act, player *p ); void dig_channel_do_turn( player_activity *act, player *p ); void fill_pit_do_turn( player_activity *act, player *p ); -void till_plot_do_turn( player_activity *act, player *p ); -void plant_plot_do_turn( player_activity *act, player *p ); void fertilize_plot_do_turn( player_activity *act, player *p ); -void harvest_plot_do_turn( player_activity *act, player *p ); void try_sleep_do_turn( player_activity *act, player *p ); void operation_do_turn( player_activity *act, player *p ); void robot_control_do_turn( player_activity *act, player *p ); @@ -202,6 +199,7 @@ void mend_item_finish( player_activity *act, player *p ); void gunmod_add_finish( player_activity *act, player *p ); void toolmod_add_finish( player_activity *act, player *p ); void clear_rubble_finish( player_activity *act, player *p ); +void heat_item_finish( player_activity *act, player *p ); void meditate_finish( player_activity *act, player *p ); void read_finish( player_activity *act, player *p ); void wait_finish( player_activity *act, player *p ); diff --git a/src/activity_item_handling.cpp b/src/activity_item_handling.cpp index 9bf6934a32bd7..b2ca7fe5236a6 100644 --- a/src/activity_item_handling.cpp +++ b/src/activity_item_handling.cpp @@ -65,6 +65,9 @@ const quality_id LIFT( "LIFT" ); const trap_str_id tr_firewood_source( "tr_firewood_source" ); const trap_str_id tr_unfinished_construction( "tr_unfinished_construction" ); +//Generic activity: maximum search distance for zones, constructions, etc. +const int ACTIVITY_SEARCH_DISTANCE = 60; + /** Activity-associated item */ struct act_item { const item *it; /// Pointer to the inventory item @@ -669,7 +672,7 @@ void activity_on_turn_pickup() } // If the player moves while picking up (ie: in a moving vehicle) cancel the activity, only populate coords when grabbing from the ground - if( g->u.activity.coords.size() > 0 && g->u.activity.coords.at( 0 ) != g->u.pos() ) { + if( !g->u.activity.coords.empty() && g->u.activity.coords.at( 0 ) != g->u.pos() ) { g->u.cancel_activity(); if( g->u.is_player() ) { g->u.add_msg_if_player( _( "Moving cancelled auto-pickup." ) ); @@ -935,7 +938,7 @@ static void vehicle_activity( player &p, const tripoint src_loc, int vpindex, ch p.activity_vehicle_part_index = -1; } -static void move_item( player &p, item &it, int quantity, const tripoint &src, +static void move_item( player &p, item &it, const int quantity, const tripoint &src, const tripoint &dest, vehicle *src_veh, int src_part, activity_id activity_to_restore = activity_id::NULL_ID() ) { @@ -1146,8 +1149,8 @@ static std::string random_string( size_t length ) } static bool are_requirements_nearby( const std::vector &loot_spots, - const requirement_id &needed_things, player &p, const activity_id activity_to_restore, - bool in_loot_zones ) + const requirement_id &needed_things, player &p, const activity_id &activity_to_restore, + const bool in_loot_zones ) { zone_manager &mgr = zone_manager::get_manager(); inventory temp_inv; @@ -1222,7 +1225,7 @@ static bool has_skill_for_vehicle_work( std::map required_skills, } static activity_reason_info can_do_activity_there( const activity_id &act, player &p, - const tripoint &src_loc ) + const tripoint &src_loc, const int distance = ACTIVITY_SEARCH_DISTANCE ) { // see activity_handlers.h cant_do_activity_reason enums zone_manager &mgr = zone_manager::get_manager(); @@ -1435,7 +1438,7 @@ static activity_reason_info can_do_activity_there( const activity_id &act, playe return activity_reason_info::fail( NO_ZONE ); } if( act == activity_id( "ACT_TIDY_UP" ) ) { - if( mgr.has_near( z_loot_unsorted, g->m.getabs( src_loc ), 60 ) ) { + if( mgr.has_near( z_loot_unsorted, g->m.getabs( src_loc ), distance ) ) { return activity_reason_info::ok( CAN_DO_FETCH ); } return activity_reason_info::fail( NO_ZONE ); @@ -1486,6 +1489,11 @@ static activity_reason_info can_do_activity_there( const activity_id &act, playe // do we have the required seed on our person? const auto options = dynamic_cast( zone.get_options() ); const std::string seed = options.get_seed(); + // If its a farm zone with no specified seed, and we've checked for tilling and harvesting. + // then it means no further work can be done here + if( seed == "No seed" ) { + return activity_reason_info::fail( ALREADY_DONE ); + } std::vector seed_inv = p.items_with( []( const item & itm ) { return itm.is_seed(); } ); @@ -1517,7 +1525,8 @@ static activity_reason_info can_do_activity_there( const activity_id &act, playe return activity_reason_info::fail( NO_ZONE ); } -static std::vector> requirements_map( player &p ) +static std::vector> requirements_map( player &p, + const int distance = ACTIVITY_SEARCH_DISTANCE ) { const requirement_data things_to_fetch = requirement_id( p.backlog.front().str_values[0] ).obj(); const activity_id activity_to_restore = p.backlog.front().id(); @@ -1541,12 +1550,13 @@ static std::vector> requirements_map( player std::vector already_there_spots; std::vector combined_spots; std::map total_map; - for( const auto elem : g->m.points_in_radius( g->m.getlocal( p.backlog.front().placement ), + for( const tripoint &elem : g->m.points_in_radius( g->m.getlocal( p.backlog.front().placement ), PICKUP_RANGE - 1 ) ) { already_there_spots.push_back( elem ); combined_spots.push_back( elem ); } - for( const tripoint elem : mgr.get_point_set_loot( g->m.getabs( p.pos() ), 60, p.is_npc() ) ) { + for( const tripoint &elem : mgr.get_point_set_loot( g->m.getabs( p.pos() ), distance, + p.is_npc() ) ) { // if there is a loot zone thats already near the work spot, we dont want it to be added twice. if( std::find( already_there_spots.begin(), already_there_spots.end(), elem ) != already_there_spots.end() ) { @@ -1576,9 +1586,9 @@ static std::vector> requirements_map( player } // a vector of every item in every tile that matches any part of the requirements. // will be filtered for amounts/charges afterwards. - for( tripoint point_elem : pickup_task ? loot_spots : combined_spots ) { + for( const tripoint &point_elem : pickup_task ? loot_spots : combined_spots ) { std::map temp_map; - for( auto &stack_elem : g->m.i_at( point_elem ) ) { + for( const item &stack_elem : g->m.i_at( point_elem ) ) { for( std::vector &elem : req_comps ) { for( item_comp &comp_elem : elem ) { if( comp_elem.type == stack_elem.typeId() ) { @@ -1630,7 +1640,7 @@ static std::vector> requirements_map( player } } } - for( auto map_elem : temp_map ) { + for( const auto &map_elem : temp_map ) { total_map[map_elem.first] += map_elem.second; // if its a construction/crafting task, we can discount any items already near the work spot. // we dont need to fetch those, they will be used automatically in the construction. @@ -1646,9 +1656,9 @@ static std::vector> requirements_map( player } // Ok we now have a list of all the items that match the requirements, their points, and a quantity for each one. // we need to consolidate them, and winnow it down to the minimum required counts, instead of all matching. - for( std::vector &elem : req_comps ) { + for( const std::vector &elem : req_comps ) { bool line_found = false; - for( item_comp &comp_elem : elem ) { + for( const item_comp &comp_elem : elem ) { if( line_found || comp_elem.count <= 0 ) { break; } @@ -1704,9 +1714,9 @@ static std::vector> requirements_map( player } } } - for( std::vector &elem : tool_comps ) { + for( const std::vector &elem : tool_comps ) { bool line_found = false; - for( tool_comp &comp_elem : elem ) { + for( const tool_comp &comp_elem : elem ) { if( line_found || comp_elem.count <= 0 ) { break; } @@ -1762,9 +1772,9 @@ static std::vector> requirements_map( player } } } - for( std::vector &elem : quality_comps ) { + for( const std::vector &elem : quality_comps ) { bool line_found = false; - for( quality_requirement &comp_elem : elem ) { + for( const quality_requirement &comp_elem : elem ) { if( line_found || comp_elem.count <= 0 ) { break; } @@ -1791,21 +1801,6 @@ static std::vector> requirements_map( player return final_map; } -static bool plant_activity( player &p, const zone_data *zone, const tripoint src_loc ) -{ - const std::string seed = dynamic_cast( zone->get_options() ).get_seed(); - std::vector seed_inv = p.items_with( [seed]( const item & itm ) { - return itm.typeId() == itype_id( seed ); - } ); - // we dont have the required seed, even though we should at this point. - // move onto the next tile, and if need be that will prompt a fetch seeds activity. - if( seed_inv.empty() ) { - return false; - } - iexamine::plant_seed( p, src_loc, itype_id( seed ) ); - return true; -} - static void construction_activity( player &p, const zone_data *zone, const tripoint src_loc, const activity_reason_info &act_info, const std::vector &list_constructions, activity_id activity_to_restore ) @@ -1841,13 +1836,14 @@ static void construction_activity( player &p, const zone_data *zone, const tripo p.activity.placement = g->m.getabs( src_loc ); } -static bool tidy_activity( player &p, const tripoint src_loc, activity_id activity_to_restore ) +static bool tidy_activity( player &p, const tripoint &src_loc, + const activity_id &activity_to_restore, const int distance = ACTIVITY_SEARCH_DISTANCE ) { auto &mgr = zone_manager::get_manager(); tripoint loot_abspos = g->m.getabs( src_loc ); tripoint loot_src_lot; - if( mgr.has_near( z_loot_unsorted, loot_abspos, 60 ) ) { - const auto &zone_src_set = mgr.get_near( zone_type_id( "LOOT_UNSORTED" ), loot_abspos, 60 ); + if( mgr.has_near( z_loot_unsorted, loot_abspos, distance ) ) { + const auto &zone_src_set = mgr.get_near( zone_type_id( "LOOT_UNSORTED" ), loot_abspos, distance ); const auto &zone_src_sorted = get_sorted_tiles_by_distance( loot_abspos, zone_src_set ); // Find the nearest unsorted zone to dump objects at for( auto &src_elem : zone_src_sorted ) { @@ -1892,12 +1888,14 @@ static bool tidy_activity( player &p, const tripoint src_loc, activity_id activi return true; } -static void fetch_activity( player &p, const tripoint src_loc, activity_id activity_to_restore ) +static void fetch_activity( player &p, const tripoint &src_loc, + const activity_id &activity_to_restore, const int distance = ACTIVITY_SEARCH_DISTANCE ) { if( !g->m.can_put_items_ter_furn( g->m.getlocal( p.backlog.front().coords.back() ) ) ) { return; } - const std::vector> mental_map_2 = requirements_map( p ); + const std::vector> mental_map_2 = requirements_map( p, + distance ); int pickup_count = 1; auto items_there = g->m.i_at( src_loc ); vehicle *src_veh = nullptr; @@ -1924,12 +1922,13 @@ static void fetch_activity( player &p, const tripoint src_loc, activity_id activ } } } - for( auto it = items_there.begin(); it != items_there.end(); it++ ) { + for( auto item_iter = items_there.begin(); item_iter != items_there.end(); item_iter++ ) { + item &it = *item_iter; for( auto elem : mental_map_2 ) { - if( std::get<0>( elem ) == src_loc && it->typeId() == std::get<1>( elem ) ) { + if( std::get<0>( elem ) == src_loc && it.typeId() == std::get<1>( elem ) ) { // construction/crafting tasks want the requred item moved near the work spot. if( !p.backlog.empty() && p.backlog.front().id() == activity_id( "ACT_MULTIPLE_CONSTRUCTION" ) ) { - move_item( p, *it, it->count_by_charges() ? std::get<2>( elem ) : 1, src_loc, + move_item( p, it, it.count_by_charges() ? std::get<2>( elem ) : 1, src_loc, g->m.getlocal( p.backlog.front().coords.back() ), src_veh, src_part, activity_to_restore ); return; // other tasks want the tool picked up @@ -1940,24 +1939,24 @@ static void fetch_activity( player &p, const tripoint src_loc, activity_id activ p.backlog.front().id() == activity_id( "ACT_MULTIPLE_BUTCHER" ) || p.backlog.front().id() == activity_id( "ACT_MULTIPLE_CHOP_TREES" ) || p.backlog.front().id() == activity_id( "ACT_MULTIPLE_FISH" ) ) ) { - if( it->volume() > volume_allowed || it->weight() > weight_allowed ) { + if( it.volume() > volume_allowed || it.weight() > weight_allowed ) { continue; } - item leftovers = *it; + item leftovers = it; - if( pickup_count != 1 && it->count_by_charges() ) { + if( pickup_count != 1 && it.count_by_charges() ) { // Reinserting leftovers happens after item removal to avoid stacking issues. - leftovers.charges = it->charges - pickup_count; + leftovers.charges = it.charges - pickup_count; if( leftovers.charges > 0 ) { - it->charges = pickup_count; + it.charges = pickup_count; } } else { leftovers.charges = 0; } - it->set_var( "activity_var", p.name ); - p.i_add( *it ); - picked_up = it->tname(); - items_there.erase( it ); + it.set_var( "activity_var", p.name ); + p.i_add( it ); + picked_up = it.tname(); + items_there.erase( item_iter ); // If we didn't pick up a whole stack, put the remainder back where it came from. if( leftovers.charges > 0 ) { g->m.add_item_or_charges( src_loc, leftovers ); @@ -1976,7 +1975,8 @@ static void fetch_activity( player &p, const tripoint src_loc, activity_id activ } } -static bool butcher_corpse_activity( player &p, tripoint src_loc, do_activity_reason reason ) +static bool butcher_corpse_activity( player &p, const tripoint &src_loc, + const do_activity_reason &reason ) { map_stack items = g->m.i_at( src_loc ); for( auto &elem : items ) { @@ -1995,7 +1995,7 @@ static bool butcher_corpse_activity( player &p, tripoint src_loc, do_activity_re return false; } -static item *best_quality_item( player &p, quality_id qual ) +static item *best_quality_item( player &p, const quality_id &qual ) { std::vector qual_inv = p.items_with( [qual]( const item & itm ) { return itm.has_quality( qual ); @@ -2009,7 +2009,7 @@ static item *best_quality_item( player &p, quality_id qual ) return best_qual; } -static bool chop_plank_activity( player &p, tripoint src_loc ) +static bool chop_plank_activity( player &p, const tripoint &src_loc ) { item *best_qual = best_quality_item( p, quality_id( "AXE" ) ); if( !best_qual ) { @@ -2031,8 +2031,6 @@ static bool chop_plank_activity( player &p, tripoint src_loc ) void activity_on_turn_move_loot( player_activity &act, player &p ) { - const int search_range = 60; - enum activity_stage : int { INIT = 0, //Initial stage THINK, //Think about what to do first: choose destination @@ -2054,7 +2052,7 @@ void activity_on_turn_move_loot( player_activity &act, player &p ) } if( stage == INIT ) { - act.coord_set = mgr.get_near( zone_type_id( "LOOT_UNSORTED" ), abspos, search_range ); + act.coord_set = mgr.get_near( zone_type_id( "LOOT_UNSORTED" ), abspos, ACTIVITY_SEARCH_DISTANCE ); stage = THINK; } @@ -2201,7 +2199,8 @@ void activity_on_turn_move_loot( player_activity &act, player &p ) vehicle *this_veh = it->second ? src_veh : nullptr; const int this_part = it->second ? src_part : -1; - const zone_type_id id = mgr.get_near_zone_type_for_item( thisitem, abspos, search_range ); + const zone_type_id id = mgr.get_near_zone_type_for_item( thisitem, abspos, + ACTIVITY_SEARCH_DISTANCE ); // checks whether the item is already on correct loot zone or not // if it is, we can skip such item, if not we move the item to correct pile @@ -2210,7 +2209,8 @@ void activity_on_turn_move_loot( player_activity &act, player &p ) continue; } - const std::unordered_set &dest_set = mgr.get_near( id, abspos, search_range, &thisitem ); + const std::unordered_set &dest_set = mgr.get_near( id, abspos, ACTIVITY_SEARCH_DISTANCE, + &thisitem ); for( const tripoint &dest : dest_set ) { const tripoint &dest_loc = g->m.getlocal( dest ); @@ -2258,7 +2258,7 @@ void activity_on_turn_move_loot( player_activity &act, player &p ) } // If we got here without restarting the activity, it means we're done - add_msg( m_info, _( "%s sorted out every item possible." ), p.disp_name() ); + add_msg( m_info, _( "%s sorted out every item possible." ), p.disp_name( false, true ) ); if( p.is_npc() ) { npc *guy = dynamic_cast( &p ); guy->revert_after_activity(); @@ -2312,26 +2312,60 @@ static void check_npc_revert( player &p ) } } -void generic_multi_activity_handler( player_activity &act, player &p ) +static zone_type_id get_zone_for_act( const tripoint &src_loc, const zone_manager &mgr, + const activity_id &act_id ) +{ + zone_type_id ret = zone_type_id( "" ); + if( act_id == activity_id( "ACT_VEHICLE_DECONSTRUCTION" ) ) { + ret = zone_type_id( "VEHICLE_DECONSTRUCT" ); + } + if( act_id == activity_id( "ACT_VEHICLE_REPAIR" ) ) { + ret = zone_type_id( "VEHICLE_REPAIR" ); + } + if( act_id == activity_id( "ACT_MULTIPLE_CHOP_TREES" ) ) { + ret = zone_type_id( "CHOP_TREES" ); + } + if( act_id == activity_id( "ACT_MULTIPLE_CONSTRUCTION" ) ) { + ret = zone_type_id( "CONSTRUCTION_BLUEPRINT" ); + } + if( act_id == activity_id( "ACT_MULTIPLE_FARM" ) ) { + ret = zone_type_id( "FARM_PLOT" ); + } + if( act_id == activity_id( "ACT_MULTIPLE_BUTCHER" ) ) { + ret = zone_type_id( "LOOT_CORPSE" ); + } + if( act_id == activity_id( "ACT_MULTIPLE_CHOP_PLANKS" ) ) { + ret = zone_type_id( "LOOT_WOOD" ); + } + if( act_id == activity_id( "ACT_MULTIPLE_FISH" ) ) { + ret = zone_type_id( "FISHING_SPOT" ); + } + if( src_loc != tripoint_zero && act_id == activity_id( "ACT_FETCH_REQUIRED" ) ) { + const zone_data *zd = mgr.get_zone_at( g->m.getabs( src_loc ) ); + if( zd ) { + ret = zd->get_type(); + } + } + return ret; +} + +/** Determine all locations for this generic activity */ +/** Returns locations */ +static std::unordered_set generic_multi_activity_locations( player &p, + const activity_id &act_id ) { - // First get the things that are activity-agnostic. - zone_manager &mgr = zone_manager::get_manager(); - const tripoint abspos = g->m.getabs( p.pos() ); - // NOLINTNEXTLINE(performance-unnecessary-copy-initialization) - activity_id activity_to_restore = act.id(); - const tripoint localpos = p.pos(); bool dark_capable = false; - // the set of target work spots - potentally after we have fetched required tools. std::unordered_set src_set; - // we may need a list of all constructions later. - const std::vector &list_constructions = get_constructions(); - // Nuke the current activity, leaving the backlog alone - p.activity = player_activity(); - // now we setup the target spots based on whch activity is occuring - if( activity_to_restore == activity_id( "ACT_TIDY_UP" ) ) { + + zone_manager &mgr = zone_manager::get_manager(); + const tripoint localpos = p.pos(); + const tripoint abspos = g->m.getabs( localpos ); + + if( act_id == activity_id( "ACT_TIDY_UP" ) ) { dark_capable = true; tripoint unsorted_spot; - for( const tripoint elem : g->m.points_in_radius( g->m.getlocal( abspos ), 60 ) ) { + for( const tripoint &elem : g->m.points_in_radius( g->m.getlocal( abspos ), + ACTIVITY_SEARCH_DISTANCE ) ) { if( mgr.has( zone_type_id( z_loot_unsorted ), g->m.getabs( elem ) ) ) { // it already has a unsorted loot spot, and therefore dont need to go and pick up items there. if( unsorted_spot == tripoint_zero ) { @@ -2339,7 +2373,7 @@ void generic_multi_activity_handler( player_activity &act, player &p ) } continue; } - for( const auto &stack_elem : g->m.i_at( elem ) ) { + for( const item &stack_elem : g->m.i_at( elem ) ) { if( stack_elem.has_var( "activity_var" ) && stack_elem.get_var( "activity_var", "" ) == p.name ) { const furn_t &f = g->m.furn( elem ).obj(); if( !f.has_flag( "PLANT" ) ) { @@ -2350,71 +2384,53 @@ void generic_multi_activity_handler( player_activity &act, player &p ) } } if( src_set.empty() && unsorted_spot != tripoint_zero ) { - for( auto inv_elem : p.inv_dump() ) { + for( const item *inv_elem : p.inv_dump() ) { if( inv_elem->has_var( "activity_var" ) ) { - // we've gone to tidy up all the thngs lying around, now tidy up the things we picked up. + // we've gone to tidy up all the things lying around, now tidy up the things we picked up. src_set.insert( g->m.getabs( unsorted_spot ) ); break; } } } } - if( activity_to_restore == activity_id( "ACT_VEHICLE_DECONSTRUCTION" ) ) { - src_set = mgr.get_near( zone_type_id( "VEHICLE_DECONSTRUCT" ), abspos, 60 ); - } - if( activity_to_restore == activity_id( "ACT_VEHICLE_REPAIR" ) ) { - src_set = mgr.get_near( zone_type_id( "VEHICLE_REPAIR" ), abspos, 60 ); - } - if( activity_to_restore == activity_id( "ACT_MULTIPLE_CHOP_TREES" ) ) { - src_set = mgr.get_near( zone_type_id( "CHOP_TREES" ), abspos, 60 ); - } - // multiple construction will form a list of targets based on blueprint zones and unfinished constructions - if( activity_to_restore == activity_id( "ACT_MULTIPLE_CONSTRUCTION" ) ) { - src_set = mgr.get_near( zone_type_id( "CONSTRUCTION_BLUEPRINT" ), abspos, 60 ); - for( const tripoint &elem : g->m.points_in_radius( localpos, 40 ) ) { - partial_con *pc = g->m.partial_con_at( elem ); - if( pc ) { - src_set.insert( g->m.getabs( elem ) ); + zone_type_id zone_type = get_zone_for_act( tripoint_zero, mgr, act_id ); + if( act_id != activity_id( "ACT_FETCH_REQUIRED" ) ) { + src_set = mgr.get_near( zone_type_id( zone_type ), abspos, ACTIVITY_SEARCH_DISTANCE ); + // multiple construction will form a list of targets based on blueprint zones and unfinished constructions + if( act_id == activity_id( "ACT_MULTIPLE_CONSTRUCTION" ) ) { + for( const tripoint &elem : g->m.points_in_radius( localpos, ACTIVITY_SEARCH_DISTANCE ) ) { + partial_con *pc = g->m.partial_con_at( elem ); + if( pc ) { + src_set.insert( g->m.getabs( elem ) ); + } } + // farming activies encompass tilling, planting, harvesting. + } else if( act_id == activity_id( "ACT_MULTIPLE_FARM" ) ) { + dark_capable = true; } - // farming activies encompass tilling, planting, harvesting. - } - if( activity_to_restore == activity_id( "ACT_MULTIPLE_FARM" ) ) { - src_set = mgr.get_near( zone_type_id( "FARM_PLOT" ), abspos, 60 ); - // fetch required will always be following on from a previous activity - } - if( activity_to_restore == activity_id( "ACT_FETCH_REQUIRED" ) ) { + } else { dark_capable = true; // get the right zones for the items in the requirements. // we previously checked if the items are nearby before we set the fetch task // but we will check again later, to be sure nothings changed. - std::vector> mental_map = requirements_map( p ); - for( auto elem : mental_map ) { - tripoint elem_point = std::get<0>( elem ); + std::vector> mental_map = requirements_map( p, + ACTIVITY_SEARCH_DISTANCE ); + for( const auto &elem : mental_map ) { + const tripoint &elem_point = std::get<0>( elem ); src_set.insert( g->m.getabs( elem_point ) ); } } - if( activity_to_restore == activity_id( "ACT_MULTIPLE_BUTCHER" ) ) { - src_set = mgr.get_near( zone_type_id( "LOOT_CORPSE" ), abspos, 60 ); - } - if( activity_to_restore == activity_id( "ACT_MULTIPLE_CHOP_PLANKS" ) ) { - // we want to chop logs so get loot wood spots - src_set = mgr.get_near( zone_type_id( "LOOT_WOOD" ), abspos, 60 ); - } - if( activity_to_restore == activity_id( "ACT_MULTIPLE_FISH" ) ) { - src_set = mgr.get_near( zone_type_id( "FISHING_SPOT" ), abspos, 60 ); - } // prune the set to remove tiles that are never gonna work out. const bool pre_dark_check = src_set.empty(); for( auto it2 = src_set.begin(); it2 != src_set.end(); ) { // remove dangerous tiles - tripoint set_pt = g->m.getlocal( *it2 ); + const tripoint set_pt = g->m.getlocal( *it2 ); if( g->m.dangerous_field_at( set_pt ) ) { it2 = src_set.erase( it2 ); // remove tiles in darkness, if we arent lit-up ourselves } else if( !dark_capable && p.fine_detail_vision_mod( set_pt ) > 4.0 ) { it2 = src_set.erase( it2 ); - } else if( activity_to_restore == activity_id( "ACT_MULTIPLE_FISH" ) ) { + } else if( act_id == activity_id( "ACT_MULTIPLE_FISH" ) ) { const ter_id terrain_id = g->m.ter( set_pt ); if( !terrain_id.obj().has_flag( TFLAG_DEEP_WATER ) ) { it2 = src_set.erase( it2 ); @@ -2429,6 +2445,287 @@ void generic_multi_activity_handler( player_activity &act, player &p ) if( !pre_dark_check && post_dark_check ) { p.add_msg_if_player( m_info, _( "It is too dark to do this activity." ) ); } + return src_set; +} + +/** Check if this activity can not be done immediately because it has some requirements */ +/** Returns true if this multi activity may be processed further */ +static bool generic_multi_activity_check_requirement( player &p, const activity_id &act_id, + activity_reason_info &act_info, + const tripoint &src, const tripoint &src_loc, const std::unordered_set &src_set ) +{ + const tripoint abspos = g->m.getabs( p.pos() ); + zone_manager &mgr = zone_manager::get_manager(); + const std::vector &list_constructions = get_constructions(); + + bool &can_do_it = act_info.can_do; + const do_activity_reason &reason = act_info.reason; + const zone_data *zone = mgr.get_zone_at( src, get_zone_for_act( src_loc, mgr, act_id ) ); + + const bool needs_to_be_in_zone = act_id == activity_id( "ACT_FETCH_REQUIRED" ) || + act_id == activity_id( "ACT_MULTIPLE_FARM" ) || + act_id == activity_id( "ACT_MULTIPLE_BUTCHER" ) || + act_id == activity_id( "ACT_MULTIPLE_CHOP_PLANKS" ) || + act_id == activity_id( "ACT_MULTIPLE_CHOP_TREES" ) || + act_id == activity_id( "ACT_VEHICLE_DECONSTRUCTION" ) || + act_id == activity_id( "ACT_VEHICLE_REPAIR" ) || + act_id == activity_id( "ACT_MULTIPLE_FISH" ) || + ( act_id == activity_id( "ACT_MULTIPLE_CONSTRUCTION" ) && + !g->m.partial_con_at( src_loc ) ); + // some activities require the target tile to be part of a zone. + // tidy up activity dosnt - it wants things that may not be in a zone already - things that may have been left lying around. + if( needs_to_be_in_zone && !zone ) { + can_do_it = false; + return true; + } + if( can_do_it ) { + return true; + } + if( reason == DONT_HAVE_SKILL || reason == NO_ZONE || reason == ALREADY_DONE || + reason == BLOCKING_TILE || reason == UNKNOWN_ACTIVITY ) { + // we can discount this tile, the work can't be done. + if( reason == DONT_HAVE_SKILL ) { + p.add_msg_if_player( m_info, _( "You don't have the skill for this task." ) ); + } else if( reason == BLOCKING_TILE ) { + p.add_msg_if_player( m_info, _( "There is something blocking the location for this task." ) ); + } + return true; + } else if( reason == NO_COMPONENTS || reason == NO_COMPONENTS_PREREQ || + reason == NO_COMPONENTS_PREREQ_2 || reason == NEEDS_PLANTING || + reason == NEEDS_TILLING || reason == NEEDS_CHOPPING || reason == NEEDS_BUTCHERING || + reason == NEEDS_BIG_BUTCHERING || reason == NEEDS_VEH_DECONST || reason == NEEDS_VEH_REPAIR || + reason == NEEDS_TREE_CHOPPING || + reason == NEEDS_FISHING ) { + // we can do it, but we need to fetch some stuff first + // before we set the task to fetch components - is it even worth it? are the components anywhere? + requirement_id what_we_need; + std::vector loot_zone_spots; + std::vector combined_spots; + for( const tripoint &elem : mgr.get_point_set_loot( abspos, ACTIVITY_SEARCH_DISTANCE, + p.is_npc() ) ) { + loot_zone_spots.push_back( elem ); + combined_spots.push_back( elem ); + } + for( const tripoint &elem : g->m.points_in_radius( src_loc, PICKUP_RANGE - 1 ) ) { + combined_spots.push_back( elem ); + } + if( ( reason == NO_COMPONENTS || reason == NO_COMPONENTS_PREREQ || + reason == NO_COMPONENTS_PREREQ_2 ) && + act_id == activity_id( "ACT_MULTIPLE_CONSTRUCTION" ) ) { + if( !act_info.con_idx ) { + debugmsg( "no construction selected" ); + return true; + } + // its a construction and we need the components. + const construction &built_chosen = list_constructions[ *act_info.con_idx ]; + what_we_need = built_chosen.requirements; + } else if( reason == NEEDS_VEH_DECONST || reason == NEEDS_VEH_REPAIR ) { + const vehicle *veh = veh_pointer_or_null( g->m.veh_at( src_loc ) ); + // we already checked this in can_do_activity() but check again just incase. + if( !veh ) { + p.activity_vehicle_part_index = 1; + return true; + } + const vpart_info &vpinfo = veh->part_info( p.activity_vehicle_part_index ); + requirement_data reqs; + if( reason == NEEDS_VEH_DECONST ) { + reqs = vpinfo.removal_requirements(); + } else if( reason == NEEDS_VEH_REPAIR ) { + reqs = vpinfo.repair_requirements(); + } + const std::string ran_str = random_string( 10 ); + const requirement_id req_id( ran_str ); + requirement_data::save_requirement( reqs, req_id ); + what_we_need = req_id; + } else if( reason == NEEDS_TILLING || reason == NEEDS_PLANTING || reason == NEEDS_CHOPPING || + reason == NEEDS_BUTCHERING || reason == NEEDS_BIG_BUTCHERING || reason == NEEDS_TREE_CHOPPING || + reason == NEEDS_FISHING ) { + std::vector> requirement_comp_vector; + std::vector> quality_comp_vector; + std::vector> tool_comp_vector; + if( reason == NEEDS_TILLING ) { + quality_comp_vector.push_back( std::vector { quality_requirement( quality_id( "DIG" ), 1, 1 ) } ); + } else if( reason == NEEDS_CHOPPING || reason == NEEDS_TREE_CHOPPING ) { + quality_comp_vector.push_back( std::vector { quality_requirement( quality_id( "AXE" ), 1, 1 ) } ); + } else if( reason == NEEDS_PLANTING ) { + requirement_comp_vector.push_back( std::vector { item_comp( itype_id( dynamic_cast + ( zone->get_options() ).get_seed() ), 1 ) + } ); + } else if( reason == NEEDS_BUTCHERING || reason == NEEDS_BIG_BUTCHERING ) { + quality_comp_vector.push_back( std::vector { quality_requirement( quality_id( "BUTCHER" ), 1, 1 ) } ); + if( reason == NEEDS_BIG_BUTCHERING ) { + quality_comp_vector.push_back( std::vector { quality_requirement( quality_id( "SAW_M" ), 1, 1 ), quality_requirement( quality_id( "SAW_W" ), 1, 1 ) } ); + } + + } else if( reason == NEEDS_FISHING ) { + quality_comp_vector.push_back( std::vector {quality_requirement( quality_id( "FISHING" ), 1, 1 )} ); + } + // ok, we need a shovel/hoe/axe/etc + // this is an activity that only requires this one tool, so we will fetch and wield it. + requirement_data reqs_data = requirement_data( tool_comp_vector, quality_comp_vector, + requirement_comp_vector ); + const std::string ran_str = random_string( 10 ); + const requirement_id req_id( ran_str ); + requirement_data::save_requirement( reqs_data, req_id ); + what_we_need = req_id; + } + bool tool_pickup = reason == NEEDS_TILLING || reason == NEEDS_PLANTING || + reason == NEEDS_CHOPPING || reason == NEEDS_BUTCHERING || reason == NEEDS_BIG_BUTCHERING || + reason == NEEDS_TREE_CHOPPING || reason == NEEDS_VEH_DECONST || reason == NEEDS_VEH_REPAIR; + // is it even worth fetching anything if there isnt enough nearby? + if( !are_requirements_nearby( tool_pickup ? loot_zone_spots : combined_spots, what_we_need, p, + act_id, tool_pickup ) ) { + p.add_msg_if_player( m_info, _( "The required items are not available to complete this task." ) ); + if( reason == NEEDS_VEH_DECONST || reason == NEEDS_VEH_REPAIR ) { + p.activity_vehicle_part_index = -1; + } + return true; + } else { + p.backlog.push_front( act_id ); + p.assign_activity( activity_id( "ACT_FETCH_REQUIRED" ) ); + player_activity &act_prev = p.backlog.front(); + act_prev.str_values.push_back( what_we_need.str() ); + act_prev.values.push_back( reason ); + // come back here after succesfully fetching your stuff + std::vector candidates; + if( act_prev.coords.empty() ) { + std::vector local_src_set; + for( const tripoint &elem : src_set ) { + local_src_set.push_back( g->m.getlocal( elem ) ); + } + std::vector candidates; + for( const tripoint &point_elem : g->m.points_in_radius( src_loc, PICKUP_RANGE - 1 ) ) { + // we dont want to place the components where they could interfere with our ( or someone elses ) construction spots + if( ( std::find( local_src_set.begin(), local_src_set.end(), + point_elem ) != local_src_set.end() ) || !g->m.can_put_items_ter_furn( point_elem ) ) { + continue; + } + candidates.push_back( point_elem ); + } + if( candidates.empty() ) { + p.activity = player_activity(); + p.backlog.clear(); + check_npc_revert( p ); + return false; + } + act_prev.coords.push_back( g->m.getabs( candidates[std::max( 0, + static_cast( candidates.size() / 2 ) )] ) ); + } + act_prev.placement = src; + return false; + } + } + return true; +} + +/** Do activity at this location */ +/** Returns true if this multi activity may be processed further */ +static bool generic_multi_activity_do( player &p, const activity_id &act_id, + const activity_reason_info &act_info, + const tripoint &src, const tripoint &src_loc ) +{ + zone_manager &mgr = zone_manager::get_manager(); + const std::vector &list_constructions = get_constructions(); + + const do_activity_reason &reason = act_info.reason; + const zone_data *zone = mgr.get_zone_at( src, get_zone_for_act( src_loc, mgr, act_id ) ); + + // something needs to be done, now we are there. + // it was here earlier, in the space of one turn, maybe it got harvested by someone else. + if( reason == NEEDS_HARVESTING && g->m.has_flag_furn( "GROWTH_HARVEST", src_loc ) ) { + iexamine::harvest_plant( p, src_loc, true ); + } else if( reason == NEEDS_TILLING && g->m.has_flag( "PLOWABLE", src_loc ) && + p.has_quality( quality_id( "DIG" ), 1 ) && !g->m.has_furn( src_loc ) ) { + p.assign_activity( activity_id( "ACT_CHURN" ), 18000, -1 ); + p.backlog.push_front( act_id ); + p.activity.placement = src; + return false; + } else if( reason == NEEDS_PLANTING && g->m.has_flag_ter_or_furn( "PLANTABLE", src_loc ) ) { + std::vector zones = mgr.get_zones( zone_type_id( "FARM_PLOT" ), + g->m.getabs( src_loc ) ); + for( const zone_data &zone : zones ) { + const std::string seed = dynamic_cast( zone.get_options() ).get_seed(); + std::vector seed_inv = p.items_with( [seed]( const item & itm ) { + return itm.typeId() == itype_id( seed ); + } ); + // we dont have the required seed, even though we should at this point. + // move onto the next tile, and if need be that will prompt a fetch seeds activity. + if( seed_inv.empty() ) { + continue; + } + iexamine::plant_seed( p, src_loc, itype_id( seed ) ); + break; + } + } else if( reason == NEEDS_CHOPPING && p.has_quality( quality_id( "AXE" ), 1 ) ) { + if( chop_plank_activity( p, src_loc ) ) { + p.backlog.push_front( act_id ); + return false; + } + } else if( reason == NEEDS_BUTCHERING || reason == NEEDS_BIG_BUTCHERING ) { + p.backlog.push_front( act_id ); + if( butcher_corpse_activity( p, src_loc, reason ) ) { + return false; + } + } else if( reason == CAN_DO_CONSTRUCTION || reason == CAN_DO_PREREQ ) { + if( g->m.partial_con_at( src_loc ) ) { + p.backlog.push_front( act_id ); + p.assign_activity( activity_id( "ACT_BUILD" ) ); + p.activity.placement = src; + return false; + } + construction_activity( p, zone, src_loc, act_info, list_constructions, act_id ); + return false; + } else if( reason == CAN_DO_FETCH && act_id == activity_id( "ACT_TIDY_UP" ) ) { + if( !tidy_activity( p, src_loc, act_id, ACTIVITY_SEARCH_DISTANCE ) ) { + return false; + } + } else if( reason == CAN_DO_FETCH && act_id == activity_id( "ACT_FETCH_REQUIRED" ) ) { + fetch_activity( p, src_loc, act_id, ACTIVITY_SEARCH_DISTANCE ); + // Npcs will automatically start the next thing in the backlog, players need to be manually prompted + // Because some player activities are necessarily not marked as auto-resume. + activity_handlers::resume_for_multi_activities( p ); + return false; + } else if( reason == NEEDS_TREE_CHOPPING && p.has_quality( quality_id( "AXE" ), 1 ) ) { + p.backlog.push_front( act_id ); + if( chop_tree_activity( p, src_loc ) ) { + return false; + } + } else if( reason == NEEDS_FISHING && p.has_quality( quality_id( "FISHING" ), 1 ) ) { + p.backlog.push_front( act_id ); + // we dont want to keep repeating the fishing activity, just piggybacking on this functions structure to find requirements. + p.activity = player_activity(); + item *best_rod = best_quality_item( p, quality_id( "FISHING" ) ); + p.assign_activity( activity_id( "ACT_FISH" ), to_moves( 5_hours ), 0, + p.get_item_position( best_rod ), best_rod->tname() ); + p.activity.coord_set = g->get_fishable_locations( ACTIVITY_SEARCH_DISTANCE, src_loc ); + return false; + } else if( reason == NEEDS_VEH_DECONST ) { + p.backlog.push_front( act_id ); + vehicle_activity( p, src_loc, p.activity_vehicle_part_index, 'o' ); + p.activity_vehicle_part_index = -1; + return false; + } else if( reason == NEEDS_VEH_REPAIR ) { + p.backlog.push_front( act_id ); + vehicle_activity( p, src_loc, p.activity_vehicle_part_index, 'r' ); + p.activity_vehicle_part_index = -1; + return false; + } + return true; +} + +void generic_multi_activity_handler( player_activity &act, player &p ) +{ + const tripoint abspos = g->m.getabs( p.pos() ); + // NOLINTNEXTLINE(performance-unnecessary-copy-initialization) + activity_id activity_to_restore = act.id(); + + // Nuke the current activity, leaving the backlog alone + p.activity = player_activity(); + + // now we setup the target spots based on whch activity is occuring + // the set of target work spots - potentally after we have fetched required tools. + std::unordered_set src_set = generic_multi_activity_locations( p, activity_to_restore ); + // now we have our final set of points std::vector src_sorted = get_sorted_tiles_by_distance( abspos, src_set ); // now loop through the work-spot tiles and judge whether its worth travelling to it yet @@ -2454,157 +2751,18 @@ void generic_multi_activity_handler( player_activity &act, player &p ) return; } activity_reason_info act_info = can_do_activity_there( activity_to_restore, p, - src_loc ); - const bool &can_do_it = act_info.can_do; - const do_activity_reason &reason = act_info.reason; - const zone_data *zone = mgr.get_zone_at( src ); - const bool needs_to_be_in_zone = activity_to_restore == activity_id( "ACT_FETCH_REQUIRED" ) || - activity_to_restore == activity_id( "ACT_MULTIPLE_FARM" ) || - activity_to_restore == activity_id( "ACT_MULTIPLE_BUTCHER" ) || - activity_to_restore == activity_id( "ACT_MULTIPLE_CHOP_PLANKS" ) || - activity_to_restore == activity_id( "ACT_MULTIPLE_CHOP_TREES" ) || - activity_to_restore == activity_id( "ACT_VEHICLE_DECONSTRUCTION" ) || - activity_to_restore == activity_id( "ACT_VEHICLE_REPAIR" ) || - activity_to_restore == activity_id( "ACT_MULTIPLE_FISH" ) || - ( activity_to_restore == activity_id( "ACT_MULTIPLE_CONSTRUCTION" ) && - !g->m.partial_con_at( src_loc ) ); - // some activities require the target tile to be part of a zone. - // tidy up activity dosnt - it wants things that may not be in a zone already - things that may have been left lying around. - if( needs_to_be_in_zone && !zone ) { - continue; + src_loc, ACTIVITY_SEARCH_DISTANCE ); + //check activity requirement + if( !generic_multi_activity_check_requirement( p, activity_to_restore, act_info, src, src_loc, + src_set ) ) { + return; } - if( ( !can_do_it ) && ( reason == DONT_HAVE_SKILL || reason == NO_ZONE || reason == ALREADY_DONE || - reason == BLOCKING_TILE || reason == UNKNOWN_ACTIVITY ) ) { - // we can discount this tile, the work can't be done. - if( reason == DONT_HAVE_SKILL ) { - p.add_msg_if_player( m_info, _( "You don't have the skill for this task." ) ); - } else if( reason == BLOCKING_TILE ) { - p.add_msg_if_player( m_info, _( "There is something blocking the location for this task." ) ); - } + //skip this location if doing activity here is impossible + if( !act_info.can_do ) { continue; - } else if( ( !can_do_it ) && ( reason == NO_COMPONENTS || reason == NEEDS_PLANTING || - reason == NEEDS_TILLING || reason == NEEDS_CHOPPING || reason == NEEDS_BUTCHERING || - reason == NEEDS_BIG_BUTCHERING || reason == NEEDS_VEH_DECONST || reason == NEEDS_VEH_REPAIR || - reason == NEEDS_TREE_CHOPPING || - reason == NEEDS_FISHING ) ) { - // we can do it, but we need to fetch some stuff first - // before we set the task to fetch components - is it even worth it? are the components anywhere? - requirement_id what_we_need; - std::vector loot_zone_spots; - std::vector combined_spots; - for( const tripoint elem : mgr.get_point_set_loot( abspos, 60, p.is_npc() ) ) { - loot_zone_spots.push_back( elem ); - combined_spots.push_back( elem ); - } - for( const tripoint elem : g->m.points_in_radius( src_loc, PICKUP_RANGE - 1 ) ) { - combined_spots.push_back( elem ); - } - if( ( reason == NO_COMPONENTS || reason == NO_COMPONENTS_PREREQ || - reason == NO_COMPONENTS_PREREQ_2 ) && - activity_to_restore == activity_id( "ACT_MULTIPLE_CONSTRUCTION" ) ) { - if( !act_info.con_idx ) { - debugmsg( "no construction selected" ); - continue; - } - // its a construction and we need the components. - const construction &built_chosen = list_constructions[ *act_info.con_idx ]; - what_we_need = built_chosen.requirements; - } else if( reason == NEEDS_VEH_DECONST || reason == NEEDS_VEH_REPAIR ) { - vehicle *veh = veh_pointer_or_null( g->m.veh_at( src_loc ) ); - // we already checked this in can_do_activity() but check again just incase. - if( !veh ) { - p.activity_vehicle_part_index = -1; - continue; - } - const vpart_info &vpinfo = veh->part_info( p.activity_vehicle_part_index ); - requirement_data reqs; - if( reason == NEEDS_VEH_DECONST ) { - reqs = vpinfo.removal_requirements(); - } else if( reason == NEEDS_VEH_REPAIR ) { - reqs = vpinfo.repair_requirements(); - } - const std::string ran_str = random_string( 10 ); - const requirement_id req_id( ran_str ); - requirement_data::save_requirement( reqs, req_id ); - what_we_need = req_id; - } else if( reason == NEEDS_TILLING || reason == NEEDS_PLANTING || reason == NEEDS_CHOPPING || - reason == NEEDS_BUTCHERING || reason == NEEDS_BIG_BUTCHERING || reason == NEEDS_TREE_CHOPPING || - reason == NEEDS_FISHING ) { - std::vector> requirement_comp_vector; - std::vector> quality_comp_vector; - std::vector> tool_comp_vector; - if( reason == NEEDS_TILLING ) { - quality_comp_vector.push_back( std::vector { quality_requirement( quality_id( "DIG" ), 1, 1 ) } ); - } else if( reason == NEEDS_CHOPPING || reason == NEEDS_TREE_CHOPPING ) { - quality_comp_vector.push_back( std::vector { quality_requirement( quality_id( "AXE" ), 1, 1 ) } ); - } else if( reason == NEEDS_PLANTING ) { - requirement_comp_vector.push_back( std::vector { item_comp( itype_id( dynamic_cast - ( zone->get_options() ).get_seed() ), 1 ) - } ); - } else if( reason == NEEDS_BUTCHERING || reason == NEEDS_BIG_BUTCHERING ) { - quality_comp_vector.push_back( std::vector { quality_requirement( quality_id( "BUTCHER" ), 1, 1 ) } ); - if( reason == NEEDS_BIG_BUTCHERING ) { - quality_comp_vector.push_back( std::vector { quality_requirement( quality_id( "SAW_M" ), 1, 1 ), quality_requirement( quality_id( "SAW_W" ), 1, 1 ) } ); - } - - } else if( reason == NEEDS_FISHING ) { - quality_comp_vector.push_back( std::vector {quality_requirement( quality_id( "FISHING" ), 1, 1 )} ); - } - // ok, we need a shovel/hoe/axe/etc - // this is an activity that only requires this one tool, so we will fetch and wield it. - requirement_data reqs_data = requirement_data( tool_comp_vector, quality_comp_vector, - requirement_comp_vector ); - const std::string ran_str = random_string( 10 ); - const requirement_id req_id( ran_str ); - requirement_data::save_requirement( reqs_data, req_id ); - what_we_need = req_id; - } - bool tool_pickup = reason == NEEDS_TILLING || reason == NEEDS_PLANTING || - reason == NEEDS_CHOPPING || reason == NEEDS_BUTCHERING || reason == NEEDS_BIG_BUTCHERING || - reason == NEEDS_TREE_CHOPPING || reason == NEEDS_VEH_DECONST || reason == NEEDS_VEH_REPAIR; - // is it even worth fetching anything if there isnt enough nearby? - if( !are_requirements_nearby( tool_pickup ? loot_zone_spots : combined_spots, what_we_need, p, - activity_to_restore, tool_pickup ) ) { - p.add_msg_if_player( m_info, _( "The required items are not available to complete this task." ) ); - if( reason == NEEDS_VEH_DECONST || reason == NEEDS_VEH_REPAIR ) { - p.activity_vehicle_part_index = -1; - } - continue; - } else { - p.backlog.push_front( activity_to_restore ); - p.assign_activity( activity_id( "ACT_FETCH_REQUIRED" ) ); - p.backlog.front().str_values.push_back( what_we_need.str() ); - p.backlog.front().values.push_back( reason ); - // come back here after succesfully fetching your stuff - std::vector candidates; - if( p.backlog.front().coords.empty() ) { - std::vector local_src_set; - for( const auto elem : src_set ) { - local_src_set.push_back( g->m.getlocal( elem ) ); - } - std::vector candidates; - for( const auto point_elem : g->m.points_in_radius( src_loc, PICKUP_RANGE - 1 ) ) { - // we dont want to place the components where they could interfere with our ( or someone elses ) construction spots - if( ( std::find( local_src_set.begin(), local_src_set.end(), - point_elem ) != local_src_set.end() ) || !g->m.can_put_items_ter_furn( point_elem ) ) { - continue; - } - candidates.push_back( point_elem ); - } - if( candidates.empty() ) { - p.activity = player_activity(); - p.backlog.clear(); - check_npc_revert( p ); - return; - } - p.backlog.front().coords.push_back( g->m.getabs( candidates[std::max( 0, - static_cast( candidates.size() / 2 ) )] ) ); - } - p.backlog.front().placement = src; - - return; - } } + + //move to location is required? if( square_dist( p.pos(), src_loc ) > 1 ) { // not adjacent std::vector route = route_adjacent( p, src_loc ); @@ -2625,72 +2783,8 @@ void generic_multi_activity_handler( player_activity &act, player &p ) p.set_destination( route, player_activity( activity_to_restore ) ); return; } - // something needs to be done, now we are there. - // it was here earlier, in the space of one turn, maybe it got harvested by someone else. - if( reason == NEEDS_HARVESTING && g->m.has_flag_furn( "GROWTH_HARVEST", src_loc ) ) { - iexamine::harvest_plant( p, src_loc, true ); - } else if( reason == NEEDS_TILLING && g->m.has_flag( "PLOWABLE", src_loc ) && - p.has_quality( quality_id( "DIG" ), 1 ) && !g->m.has_furn( src_loc ) ) { - p.assign_activity( activity_id( "ACT_CHURN" ), 18000, -1 ); - p.backlog.push_front( activity_to_restore ); - p.activity.placement = src; - return; - } else if( reason == NEEDS_PLANTING && g->m.has_flag_ter_or_furn( "PLANTABLE", src_loc ) ) { - if( !plant_activity( p, zone, src_loc ) ) { - continue; - } - } else if( reason == NEEDS_CHOPPING && p.has_quality( quality_id( "AXE" ), 1 ) ) { - if( chop_plank_activity( p, src_loc ) ) { - p.backlog.push_front( activity_to_restore ); - return; - } - } else if( reason == NEEDS_BUTCHERING || reason == NEEDS_BIG_BUTCHERING ) { - p.backlog.push_front( activity_to_restore ); - if( butcher_corpse_activity( p, src_loc, reason ) ) { - return; - } - } else if( reason == CAN_DO_CONSTRUCTION || reason == CAN_DO_PREREQ ) { - if( g->m.partial_con_at( src_loc ) ) { - p.backlog.push_front( activity_to_restore ); - p.assign_activity( activity_id( "ACT_BUILD" ) ); - p.activity.placement = src; - return; - } - construction_activity( p, zone, src_loc, act_info, list_constructions, activity_to_restore ); - return; - } else if( reason == CAN_DO_FETCH && activity_to_restore == activity_id( "ACT_TIDY_UP" ) ) { - if( !tidy_activity( p, src_loc, activity_to_restore ) ) { - return; - } - } else if( reason == CAN_DO_FETCH && activity_to_restore == activity_id( "ACT_FETCH_REQUIRED" ) ) { - fetch_activity( p, src_loc, activity_to_restore ); - // Npcs will automatically start the next thing in the backlog, players need to be manually prompted - // Because some player activities are necessarily not marked as auto-resume. - activity_handlers::resume_for_multi_activities( p ); - return; - } else if( reason == NEEDS_TREE_CHOPPING && p.has_quality( quality_id( "AXE" ), 1 ) ) { - p.backlog.push_front( activity_to_restore ); - if( chop_tree_activity( p, src_loc ) ) { - return; - } - } else if( reason == NEEDS_FISHING && p.has_quality( quality_id( "FISHING" ), 1 ) ) { - p.backlog.push_front( activity_to_restore ); - // we dont want to keep repeating the fishing activity, just piggybacking on this functions structure to find requirements. - p.activity = player_activity(); - item *best_rod = best_quality_item( p, quality_id( "FISHING" ) ); - p.assign_activity( activity_id( "ACT_FISH" ), to_moves( 5_hours ), 0, - p.get_item_position( best_rod ), best_rod->tname() ); - p.activity.coord_set = g->get_fishable_locations( 60, src_loc ); - return; - } else if( reason == NEEDS_VEH_DECONST ) { - p.backlog.push_front( activity_to_restore ); - vehicle_activity( p, src_loc, p.activity_vehicle_part_index, 'o' ); - p.activity_vehicle_part_index = -1; - return; - } else if( reason == NEEDS_VEH_REPAIR ) { - p.backlog.push_front( activity_to_restore ); - vehicle_activity( p, src_loc, p.activity_vehicle_part_index, 'r' ); - p.activity_vehicle_part_index = -1; + //do the activity and continue if possible + if( !generic_multi_activity_do( p, activity_to_restore, act_info, src, src_loc ) ) { return; } } diff --git a/src/activity_type.cpp b/src/activity_type.cpp index 64a7470f067f8..7641447d9a70b 100644 --- a/src/activity_type.cpp +++ b/src/activity_type.cpp @@ -59,7 +59,7 @@ void activity_type::load( JsonObject &jo ) std::string activity_level = jo.get_string( "activity_level", "" ); if( activity_level.empty() ) { - debugmsg( "Warning. %s has undefined activity level. defaulting to LIGHT_EXERCISE", + debugmsg( "Warning. %s has undefined activity level. defaulting to LIGHT_EXERCISE", result.id().c_str() ); activity_level = "LIGHT_EXERCISE"; } diff --git a/src/addiction.cpp b/src/addiction.cpp index 17243d1bd7aad..18a8e7251c3ba 100644 --- a/src/addiction.cpp +++ b/src/addiction.cpp @@ -5,7 +5,7 @@ #include #include "morale_types.h" -#include "player.h" +#include "character.h" #include "pldata.h" #include "rng.h" #include "translations.h" @@ -47,11 +47,12 @@ std::string enum_to_string( add_type data ) } // namespace io -void marloss_add( player &u, int in, const char *msg ); +void marloss_add( Character &u, int in, const char *msg ); -void addict_effect( player &u, addiction &add ) +void addict_effect( Character &u, addiction &add ) { const int in = std::min( 20, add.intensity ); + const int current_stim = u.get_stim(); switch( add.type ) { case ADD_CIG: @@ -66,8 +67,8 @@ void addict_effect( player &u, addiction &add ) if( one_in( 800 - 50 * in ) ) { u.mod_fatigue( 1 ); } - if( u.stim > -5 * in && one_in( 400 - 20 * in ) ) { - u.stim--; + if( current_stim > -5 * in && one_in( 400 - 20 * in ) ) { + u.mod_stim( -1 ); } break; @@ -78,11 +79,11 @@ void addict_effect( player &u, addiction &add ) u.add_msg_if_player( m_warning, _( "You want some caffeine." ) ); u.add_morale( MORALE_CRAVING_CAFFEINE, -5, -30 ); - if( u.stim > -10 * in && rng( 0, 10 ) < in ) { - u.stim--; + if( current_stim > -10 * in && rng( 0, 10 ) < in ) { + u.mod_stim( -1 ); } if( rng( 8, 400 ) < in ) { - u.add_msg_if_player( m_bad, _( "Your hands start shaking... you need it bad!" ) ); + u.add_msg_if_player( m_bad, _( "Your hands start shaking… you need it bad!" ) ); u.add_effect( effect_shakes, 2_minutes ); } break; @@ -104,8 +105,8 @@ void addict_effect( player &u, addiction &add ) u.add_morale( morale_type, -35, -10 * in ); } else if( rng( 8, 300 ) < in ) { const std::string msg_2 = add.type == ADD_ALCOHOL ? - _( "Your hands start shaking... you need a drink bad!" ) : - _( "You're shaking... you need some diazepam!" ); + _( "Your hands start shaking… you need a drink bad!" ) : + _( "You're shaking… you need some diazepam!" ); u.add_msg_if_player( m_bad, msg_2 ); u.add_morale( morale_type, -35, -10 * in ); u.add_effect( effect_shakes, 5_minutes ); @@ -143,7 +144,7 @@ void addict_effect( player &u, addiction &add ) u.mod_healthy_mod( -1, -in * 30 ); } if( one_in( 20 ) && dice( 2, 20 ) < in ) { - u.add_msg_if_player( m_bad, _( "Your hands start shaking... you need some painkillers." ) ); + u.add_msg_if_player( m_bad, _( "Your hands start shaking… you need some painkillers." ) ); u.add_morale( MORALE_CRAVING_OPIATE, -40, -10 * in ); u.add_effect( effect_shakes, 2_minutes + in * 30_seconds ); } else if( one_in( 20 ) && dice( 2, 30 ) < in ) { @@ -157,8 +158,8 @@ void addict_effect( player &u, addiction &add ) case ADD_SPEED: { u.mod_int_bonus( -1 ); u.mod_str_bonus( -1 ); - if( u.stim > -100 && x_in_y( in, 20 ) ) { - u.stim--; + if( current_stim > -100 && x_in_y( in, 20 ) ) { + u.mod_stim( -1 ); } if( rng( 0, 150 ) <= in ) { u.mod_healthy_mod( -1, -in ); @@ -167,7 +168,7 @@ void addict_effect( player &u, addiction &add ) u.add_msg_if_player( m_warning, _( "You feel depressed. Speed would help." ) ); u.add_morale( MORALE_CRAVING_SPEED, -25, -20 * in ); } else if( one_in( 10 ) && dice( 2, 80 ) < in ) { - u.add_msg_if_player( m_bad, _( "Your hands start shaking... you need a pick-me-up." ) ); + u.add_msg_if_player( m_bad, _( "Your hands start shaking… you need a pick-me-up." ) ); u.add_morale( MORALE_CRAVING_SPEED, -25, -20 * in ); u.add_effect( effect_shakes, in * 2_minutes ); } else if( one_in( 50 ) && dice( 2, 100 ) < in ) { @@ -194,8 +195,8 @@ void addict_effect( player &u, addiction &add ) if( dice( 2, 80 ) <= in ) { u.add_msg_if_player( m_warning, cur_msg ); u.add_morale( morale_type, -20, -15 * in ); - if( u.stim > -150 ) { - u.stim -= 3; + if( current_stim > -150 ) { + u.mod_stim( -3 ); } } break; @@ -216,7 +217,7 @@ void addict_effect( player &u, addiction &add ) } } else if( in > 5 || one_in( 500 - 15 * in ) ) { u.add_msg_if_player( m_warning, rng( 0, 6 ) < in ? _( "You haven't had any mutagen lately." ) : - _( "You could use some new parts..." ) ); + _( "You could use some new parts…" ) ); u.add_morale( MORALE_CRAVING_MUTAGEN, -5, -50 ); } break; @@ -360,8 +361,8 @@ std::string addiction_text( const addiction &cur ) ADD_PKILLER, translate_marker( "Strength - 1; Perception - 1; Dexterity - 1;\nDepression and physical pain to some degree. Frequent cravings. Vomiting." ) }, { ADD_SPEED, translate_marker( "Strength - 1; Intelligence - 1;\nMovement rate reduction. Depression. Weak immune system. Frequent cravings." ) }, - { ADD_COKE, translate_marker( "Perception - 1; Intelligence - 1; Frequent cravings." ) }, - { ADD_CRACK, translate_marker( "Perception - 2; Intelligence - 2; Frequent cravings." ) }, + { ADD_COKE, translate_marker( "Perception - 1; Intelligence - 1; Frequent cravings." ) }, + { ADD_CRACK, translate_marker( "Perception - 2; Intelligence - 2; Frequent cravings." ) }, { ADD_MUTAGEN, translate_marker( "You've gotten a taste for mutating and the chemicals that cause it. But you can stop, yeah, any time you want." ) }, { ADD_DIAZEPAM, translate_marker( "Perception - 1; Intelligence - 1;\nAnxiety, nausea, hallucinations, and general malaise." ) @@ -380,7 +381,7 @@ std::string addiction_text( const addiction &cur ) return "You crave to report this bug."; } -void marloss_add( player &u, int in, const char *msg ) +void marloss_add( Character &u, int in, const char *msg ) { if( one_in( 800 - 20 * in ) ) { u.add_morale( MORALE_CRAVING_MARLOSS, -5, -25 ); diff --git a/src/addiction.h b/src/addiction.h index 6e8f273180349..ca0c0f10e964d 100644 --- a/src/addiction.h +++ b/src/addiction.h @@ -7,7 +7,7 @@ #include "type_id.h" class addiction; -class player; +class Character; enum add_type : int; @@ -16,7 +16,7 @@ constexpr int MAX_ADDICTION_LEVEL = 20; // cancel_activity is called when the addiction effect wants to interrupt the player // with an optional pre-translated message. -void addict_effect( player &u, addiction &add ); +void addict_effect( Character &u, addiction &add ); std::string addiction_type_name( add_type cur ); diff --git a/src/advanced_inv.cpp b/src/advanced_inv.cpp index b6e45a7a26ad1..5a0bf631e8f2e 100644 --- a/src/advanced_inv.cpp +++ b/src/advanced_inv.cpp @@ -17,6 +17,7 @@ #include "messages.h" #include "options.h" #include "output.h" +#include "panels.h" #include "player.h" #include "player_activity.h" #include "string_formatter.h" @@ -45,10 +46,6 @@ #include "map_selector.h" #include "pimpl.h" -#if defined(__ANDROID__) -# include -#endif - #include #include #include @@ -62,6 +59,16 @@ #include #include +#if defined(__ANDROID__) +# include +#endif + +void create_advanced_inv() +{ + advanced_inventory advinv; + advinv.display(); +} + enum aim_exit { exit_none = 0, exit_okay, @@ -73,7 +80,7 @@ advanced_inventory::advanced_inventory() : head_height( 5 ) , min_w_height( 10 ) , min_w_width( FULL_SCREEN_WIDTH ) - , max_w_width( 120 ) + , max_w_width( get_option( "AIM_WIDTH" ) ? TERMX : std::max( 120, TERMX - 2 * ( panel_manager::get_manager().get_width_right() + panel_manager::get_manager().get_width_left() ) ) ) , inCategoryMode( false ) , recalc( true ) , redraw( true ) @@ -84,35 +91,23 @@ advanced_inventory::advanced_inventory() , squares( { { // hx hy - { AIM_INVENTORY, 25, 2, tripoint_zero, _( "Inventory" ), _( "IN" ) }, - { AIM_SOUTHWEST, 30, 3, tripoint_south_west, _( "South West" ), _( "SW" ) }, - { AIM_SOUTH, 33, 3, tripoint_south, _( "South" ), _( "S" ) }, - { AIM_SOUTHEAST, 36, 3, tripoint_south_east, _( "South East" ), _( "SE" ) }, - { AIM_WEST, 30, 2, tripoint_west, _( "West" ), _( "W" ) }, - { AIM_CENTER, 33, 2, tripoint_zero, _( "Directly below you" ), _( "DN" ) }, - { AIM_EAST, 36, 2, tripoint_east, _( "East" ), _( "E" ) }, - { AIM_NORTHWEST, 30, 1, tripoint_north_west, _( "North West" ), _( "NW" ) }, - { AIM_NORTH, 33, 1, tripoint_north, _( "North" ), _( "N" ) }, - { AIM_NORTHEAST, 36, 1, tripoint_north_east, _( "North East" ), _( "NE" ) }, - { AIM_DRAGGED, 25, 1, tripoint_zero, _( "Grabbed Vehicle" ), _( "GR" ) }, - { AIM_ALL, 22, 3, tripoint_zero, _( "Surrounding area" ), _( "AL" ) }, - { AIM_CONTAINER, 22, 1, tripoint_zero, _( "Container" ), _( "CN" ) }, - { AIM_WORN, 25, 3, tripoint_zero, _( "Worn Items" ), _( "WR" ) } + { AIM_INVENTORY, 25, 2, tripoint_zero, _( "Inventory" ), _( "IN" ), "I", "ITEMS_INVENTORY", AIM_INVENTORY}, + { AIM_SOUTHWEST, 30, 3, tripoint_south_west, _( "South West" ), _( "SW" ), "1", "ITEMS_SW", AIM_WEST}, + { AIM_SOUTH, 33, 3, tripoint_south, _( "South" ), _( "S" ), "2", "ITEMS_S", AIM_SOUTHWEST}, + { AIM_SOUTHEAST, 36, 3, tripoint_south_east, _( "South East" ), _( "SE" ), "3", "ITEMS_SE", AIM_SOUTH}, + { AIM_WEST, 30, 2, tripoint_west, _( "West" ), _( "W" ), "4", "ITEMS_W", AIM_NORTHWEST}, + { AIM_CENTER, 33, 2, tripoint_zero, _( "Directly below you" ), _( "DN" ), "5", "ITEMS_CE", AIM_CENTER}, + { AIM_EAST, 36, 2, tripoint_east, _( "East" ), _( "E" ), "6", "ITEMS_E", AIM_SOUTHEAST}, + { AIM_NORTHWEST, 30, 1, tripoint_north_west, _( "North West" ), _( "NW" ), "7", "ITEMS_NW", AIM_NORTH}, + { AIM_NORTH, 33, 1, tripoint_north, _( "North" ), _( "N" ), "8", "ITEMS_N", AIM_NORTHEAST}, + { AIM_NORTHEAST, 36, 1, tripoint_north_east, _( "North East" ), _( "NE" ), "9", "ITEMS_NE", AIM_EAST}, + { AIM_DRAGGED, 25, 1, tripoint_zero, _( "Grabbed Vehicle" ), _( "GR" ), "D", "ITEMS_DRAGGED_CONTAINER", AIM_DRAGGED}, + { AIM_ALL, 22, 3, tripoint_zero, _( "Surrounding area" ), _( "AL" ), "A", "ITEMS_AROUND", AIM_ALL}, + { AIM_CONTAINER, 22, 1, tripoint_zero, _( "Container" ), _( "CN" ), "C", "ITEMS_CONTAINER", AIM_CONTAINER}, + { AIM_WORN, 25, 3, tripoint_zero, _( "Worn Items" ), _( "WR" ), "W", "ITEMS_WORN", AIM_WORN} } } ) { - // initialize screen coordinates for small overview 3x3 grid, depending on control scheme - if( tile_iso && use_tiles ) { - // Rotate the coordinates. - squares[1].hscreen.x = 33; - squares[2].hscreen.x = 36; - squares[3].hscreen.y = 2; - squares[4].hscreen.y = 3; - squares[6].hscreen.y = 1; - squares[7].hscreen.y = 2; - squares[8].hscreen.x = 30; - squares[9].hscreen.x = 33; - } } // *INDENT-ON* @@ -204,38 +199,61 @@ std::string advanced_inventory::get_sortname( advanced_inv_sortby sortby ) bool advanced_inventory::get_square( const std::string &action, aim_location &ret ) { - if( action == "ITEMS_INVENTORY" ) { - ret = AIM_INVENTORY; - } else if( action == "ITEMS_WORN" ) { - ret = AIM_WORN; - } else if( action == "ITEMS_NW" ) { - ret = screen_relative_location( AIM_NORTHWEST ); - } else if( action == "ITEMS_N" ) { - ret = screen_relative_location( AIM_NORTH ); - } else if( action == "ITEMS_NE" ) { - ret = screen_relative_location( AIM_NORTHEAST ); - } else if( action == "ITEMS_W" ) { - ret = screen_relative_location( AIM_WEST ); - } else if( action == "ITEMS_CE" ) { - ret = AIM_CENTER; - } else if( action == "ITEMS_E" ) { - ret = screen_relative_location( AIM_EAST ); - } else if( action == "ITEMS_SW" ) { - ret = screen_relative_location( AIM_SOUTHWEST ); - } else if( action == "ITEMS_S" ) { - ret = screen_relative_location( AIM_SOUTH ); - } else if( action == "ITEMS_SE" ) { - ret = screen_relative_location( AIM_SOUTHEAST ); - } else if( action == "ITEMS_AROUND" ) { - ret = AIM_ALL; - } else if( action == "ITEMS_DRAGGED_CONTAINER" ) { - ret = AIM_DRAGGED; - } else if( action == "ITEMS_CONTAINER" ) { - ret = AIM_CONTAINER; + for( advanced_inv_area &s : squares ) { + if( s.actionname == action ) { + ret = screen_relative_location( s.id ); + return true; + } + } + return false; +} + +aim_location advanced_inventory::screen_relative_location( aim_location area ) +{ + if( use_tiles && tile_iso ) { + return squares[area].relative_location; } else { - return false; + return area; } - return true; +} + +inline std::string advanced_inventory::get_location_key( aim_location area ) +{ + return squares[area].minimapname; +} + +void advanced_inventory::init() +{ + for( auto &square : squares ) { + square.init(); + } + + load_settings(); + + src = static_cast( uistate.adv_inv_src ); + dest = static_cast( uistate.adv_inv_dest ); + + w_height = TERMY < min_w_height + head_height ? min_w_height : TERMY - head_height; + w_width = TERMX < min_w_width ? min_w_width : TERMX > max_w_width ? max_w_width : + static_cast( TERMX ); + + headstart = 0; //(TERMY>w_height)?(TERMY-w_height)/2:0; + colstart = TERMX > w_width ? ( TERMX - w_width ) / 2 : 0; + + head = catacurses::newwin( head_height, w_width - minimap_width, point( colstart, headstart ) ); + mm_border = catacurses::newwin( minimap_height + 2, minimap_width + 2, + point( colstart + ( w_width - ( minimap_width + 2 ) ), headstart ) ); + minimap = catacurses::newwin( minimap_height, minimap_width, + point( colstart + ( w_width - ( minimap_width + 1 ) ), headstart + 1 ) ); + left_window = catacurses::newwin( w_height, w_width / 2, point( colstart, + headstart + head_height ) ); + right_window = catacurses::newwin( w_height, w_width / 2, point( colstart + w_width / 2, + headstart + head_height ) ); + + itemsPerPage = w_height - 2 - 5; // 2 for the borders, 5 for the header stuff + + panes[left].window = left_window; + panes[right].window = right_window; } void advanced_inventory::print_items( advanced_inventory_pane &pane, bool active ) @@ -263,7 +281,7 @@ void advanced_inventory::print_items( advanced_inventory_pane &pane, bool active volume_carried, volume_capacity, volume_units_abbr() ); - const int hrightcol = columns - 1 - formatted_head.length(); + const int hrightcol = columns - 1 - utf8_width( formatted_head ); nc_color color = weight_carried > weight_capacity ? c_red : c_light_green; mvwprintz( window, point( hrightcol, 4 ), color, "%.1f", weight_carried ); wprintz( window, c_light_gray, "/%.1f %s ", weight_capacity, weight_units() ); @@ -295,7 +313,7 @@ void advanced_inventory::print_items( advanced_inventory_pane &pane, bool active format_volume( maxvolume ), volume_units_abbr() ); } - mvwprintz( window, point( columns - 1 - formatted_head.length(), 4 ), norm, formatted_head ); + mvwprintz( window, point( columns - 1 - utf8_width( formatted_head ), 4 ), norm, formatted_head ); } //print header row and determine max item name length @@ -546,67 +564,6 @@ struct advanced_inv_sorter { } }; -inline char advanced_inventory::get_location_key( aim_location area ) -{ - switch( area ) { - case AIM_INVENTORY: - return 'I'; - case AIM_WORN: - return 'W'; - case AIM_CENTER: - return '5'; - case AIM_ALL: - return 'A'; - case AIM_DRAGGED: - return 'D'; - case AIM_CONTAINER: - return 'C'; - case AIM_NORTH: - case AIM_SOUTH: - case AIM_EAST: - case AIM_WEST: - case AIM_NORTHEAST: - case AIM_NORTHWEST: - case AIM_SOUTHEAST: - case AIM_SOUTHWEST: - return get_direction_key( area ); - default: - debugmsg( "invalid [aim_location] in get_location_key()!" ); - return ' '; - } -} - -char advanced_inventory::get_direction_key( aim_location area ) -{ - - if( area == screen_relative_location( AIM_SOUTHWEST ) ) { - return '1'; - } - if( area == screen_relative_location( AIM_SOUTH ) ) { - return '2'; - } - if( area == screen_relative_location( AIM_SOUTHEAST ) ) { - return '3'; - } - if( area == screen_relative_location( AIM_WEST ) ) { - return '4'; - } - if( area == screen_relative_location( AIM_EAST ) ) { - return '6'; - } - if( area == screen_relative_location( AIM_NORTHWEST ) ) { - return '7'; - } - if( area == screen_relative_location( AIM_NORTH ) ) { - return '8'; - } - if( area == screen_relative_location( AIM_NORTHEAST ) ) { - return '9'; - } - debugmsg( "invalid [aim_location] in get_direction_key()!" ); - return '0'; -} - int advanced_inventory::print_header( advanced_inventory_pane &pane, aim_location sel ) { const catacurses::window &window = pane.window; @@ -614,422 +571,30 @@ int advanced_inventory::print_header( advanced_inventory_pane &pane, aim_locatio int wwidth = getmaxx( window ); int ofs = wwidth - 25 - 2 - 14; for( int i = 0; i < NUM_AIM_LOCATIONS; ++i ) { - const char key = get_location_key( static_cast( i ) ); - const char *bracket = squares[i].can_store_in_vehicle() ? "<>" : "[]"; - bool in_vehicle = pane.in_vehicle() && squares[i].id == area && sel == area && area != AIM_ALL; - bool all_brackets = area == AIM_ALL && ( i >= AIM_SOUTHWEST && i <= AIM_NORTHEAST ); + int data_location = screen_relative_location( static_cast( i ) ); + const char *bracket = squares[data_location].can_store_in_vehicle() ? "<>" : "[]"; + bool in_vehicle = pane.in_vehicle() && squares[data_location].id == area && sel == area && + area != AIM_ALL; + bool all_brackets = area == AIM_ALL && ( data_location >= AIM_SOUTHWEST && + data_location <= AIM_NORTHEAST ); nc_color bcolor = c_red; nc_color kcolor = c_red; - if( squares[i].canputitems( pane.get_cur_item_ptr() ) ) { + if( squares[data_location].canputitems( pane.get_cur_item_ptr() ) ) { bcolor = in_vehicle ? c_light_blue : - area == i || all_brackets ? c_light_gray : c_dark_gray; - kcolor = area == i ? c_white : sel == i ? c_light_gray : c_dark_gray; + area == data_location || all_brackets ? c_light_gray : c_dark_gray; + kcolor = area == data_location ? c_white : sel == data_location ? c_light_gray : c_dark_gray; } + + const std::string key = get_location_key( static_cast( i ) ); const int x = squares[i].hscreen.x + ofs; const int y = squares[i].hscreen.y; mvwprintz( window, point( x, y ), bcolor, "%c", bracket[0] ); - wprintz( window, kcolor, "%c", in_vehicle && sel != AIM_DRAGGED ? 'V' : key ); + wprintz( window, kcolor, "%s", in_vehicle && sel != AIM_DRAGGED ? "V" : key ); wprintz( window, bcolor, "%c", bracket[1] ); } return squares[AIM_INVENTORY].hscreen.y + ofs; } -int advanced_inv_area::get_item_count() const -{ - if( id == AIM_INVENTORY ) { - return g->u.inv.size(); - } else if( id == AIM_WORN ) { - return g->u.worn.size(); - } else if( id == AIM_ALL ) { - return 0; - } else if( id == AIM_DRAGGED ) { - return can_store_in_vehicle() ? veh->get_items( vstor ).size() : 0; - } else { - return g->m.i_at( pos ).size(); - } -} - -void advanced_inv_area::init() -{ - pos = g->u.pos() + off; - veh = nullptr; - vstor = -1; - volume = 0_ml; // must update in main function - weight = 0_gram; // must update in main function - switch( id ) { - case AIM_INVENTORY: - case AIM_WORN: - canputitemsloc = true; - break; - case AIM_DRAGGED: - if( g->u.get_grab_type() != OBJECT_VEHICLE ) { - canputitemsloc = false; - desc[0] = _( "Not dragging any vehicle!" ); - break; - } - // offset for dragged vehicles is not statically initialized, so get it - off = g->u.grab_point; - // Reset position because offset changed - pos = g->u.pos() + off; - if( const cata::optional vp = g->m.veh_at( pos ).part_with_feature( "CARGO", - false ) ) { - veh = &vp->vehicle(); - vstor = vp->part_index(); - } else { - veh = nullptr; - vstor = -1; - } - if( vstor >= 0 ) { - desc[0] = veh->name; - canputitemsloc = true; - max_size = MAX_ITEM_IN_VEHICLE_STORAGE; - } else { - veh = nullptr; - canputitemsloc = false; - desc[0] = _( "No dragged vehicle!" ); - } - break; - case AIM_CONTAINER: - // set container position based on location - set_container_position(); - // location always valid, actual check is done in canputitems() - // and depends on selected item in pane (if it is valid container) - canputitemsloc = true; - if( get_container() == nullptr ) { - desc[0] = _( "Invalid container!" ); - } - break; - case AIM_ALL: - desc[0] = _( "All 9 squares" ); - canputitemsloc = true; - break; - case AIM_SOUTHWEST: - case AIM_SOUTH: - case AIM_SOUTHEAST: - case AIM_WEST: - case AIM_CENTER: - case AIM_EAST: - case AIM_NORTHWEST: - case AIM_NORTH: - case AIM_NORTHEAST: - if( const cata::optional vp = g->m.veh_at( pos ).part_with_feature( "CARGO", - false ) ) { - veh = &vp->vehicle(); - vstor = vp->part_index(); - } else { - veh = nullptr; - vstor = -1; - } - canputitemsloc = can_store_in_vehicle() || g->m.can_put_items_ter_furn( pos ); - max_size = MAX_ITEM_IN_SQUARE; - if( can_store_in_vehicle() ) { - desc[1] = vpart_position( *veh, vstor ).get_label().value_or( "" ); - } - // get graffiti or terrain name - desc[0] = g->m.has_graffiti_at( pos ) ? - g->m.graffiti_at( pos ) : g->m.name( pos ); - default: - break; - } - - /* assemble a list of interesting traits of the target square */ - // fields? with a special case for fire - bool danger_field = false; - const field &tmpfld = g->m.field_at( pos ); - for( auto &fld : tmpfld ) { - const field_entry &cur = fld.second; - if( fld.first.obj().has_fire ) { - flags.append( _( " FIRE" ) ); - } else { - if( cur.is_dangerous() ) { - danger_field = true; - } - } - } - if( danger_field ) { - flags.append( _( " DANGER" ) ); - } - - // trap? - const trap &tr = g->m.tr_at( pos ); - if( tr.can_see( pos, g->u ) && !tr.is_benign() ) { - flags.append( _( " TRAP" ) ); - } - - // water? - static const std::array ter_water = { - {t_water_dp, t_water_pool, t_swater_dp, t_water_sh, t_swater_sh, t_sewage, t_water_moving_dp, t_water_moving_sh } - }; - auto ter_check = [this] - ( const ter_id & id ) { - return g->m.ter( this->pos ) == id; - }; - if( std::any_of( ter_water.begin(), ter_water.end(), ter_check ) ) { - flags.append( _( " WATER" ) ); - } - - // remove leading space - if( flags.length() && flags[0] == ' ' ) { - flags.erase( 0, 1 ); - } -} - -void advanced_inventory::init() -{ - for( auto &square : squares ) { - square.init(); - } - - load_settings(); - - src = static_cast( uistate.adv_inv_src ); - dest = static_cast( uistate.adv_inv_dest ); - - w_height = TERMY < min_w_height + head_height ? min_w_height : TERMY - head_height; - w_width = TERMX < min_w_width ? min_w_width : TERMX > max_w_width ? max_w_width : - static_cast( TERMX ); - - headstart = 0; //(TERMY>w_height)?(TERMY-w_height)/2:0; - colstart = TERMX > w_width ? ( TERMX - w_width ) / 2 : 0; - - head = catacurses::newwin( head_height, w_width - minimap_width, point( colstart, headstart ) ); - mm_border = catacurses::newwin( minimap_height + 2, minimap_width + 2, - point( colstart + ( w_width - ( minimap_width + 2 ) ), headstart ) ); - minimap = catacurses::newwin( minimap_height, minimap_width, - point( colstart + ( w_width - ( minimap_width + 1 ) ), headstart + 1 ) ); - left_window = catacurses::newwin( w_height, w_width / 2, point( colstart, - headstart + head_height ) ); - right_window = catacurses::newwin( w_height, w_width / 2, point( colstart + w_width / 2, - headstart + head_height ) ); - - itemsPerPage = w_height - 2 - 5; // 2 for the borders, 5 for the header stuff - - panes[left].window = left_window; - panes[right].window = right_window; -} - -advanced_inv_listitem::advanced_inv_listitem( item *an_item, int index, int count, - aim_location area, bool from_vehicle ) - : idx( index ) - , area( area ) - , id( an_item->typeId() ) - , name( an_item->tname( count ) ) - , name_without_prefix( an_item->tname( 1, false ) ) - , autopickup( get_auto_pickup().has_rule( an_item ) ) - , stacks( count ) - , volume( an_item->volume() * stacks ) - , weight( an_item->weight() * stacks ) - , cat( &an_item->get_category() ) - , from_vehicle( from_vehicle ) -{ - items.push_back( an_item ); - assert( stacks >= 1 ); -} - -advanced_inv_listitem::advanced_inv_listitem( const std::list &list, int index, - aim_location area, bool from_vehicle ) : - idx( index ), - area( area ), - id( list.front()->typeId() ), - items( list ), - name( list.front()->tname( list.size() ) ), - name_without_prefix( list.front()->tname( 1, false ) ), - autopickup( get_auto_pickup().has_rule( list.front() ) ), - stacks( list.size() ), - volume( list.front()->volume() * stacks ), - weight( list.front()->weight() * stacks ), - cat( &list.front()->get_category() ), - from_vehicle( from_vehicle ) -{ - assert( stacks >= 1 ); -} - -advanced_inv_listitem::advanced_inv_listitem() - : idx() - , area() - , id( "null" ) - , autopickup() - , stacks() - , cat( nullptr ) -{ -} - -advanced_inv_listitem::advanced_inv_listitem( const item_category *cat ) - : idx() - , area() - , id( "null" ) - , name( cat->name() ) - , autopickup() - , stacks() - , cat( cat ) -{ -} - -bool advanced_inv_listitem::is_category_header() const -{ - return items.empty() && cat != nullptr; -} - -bool advanced_inv_listitem::is_item_entry() const -{ - return !items.empty(); -} - -bool advanced_inventory_pane::is_filtered( const advanced_inv_listitem &it ) const -{ - return is_filtered( *it.items.front() ); -} - -bool advanced_inventory_pane::is_filtered( const item &it ) const -{ - if( filter.empty() ) { - return false; - } - - const std::string str = it.tname(); - if( filtercache.find( str ) == filtercache.end() ) { - const auto filter_fn = item_filter_from_string( filter ); - filtercache[ str ] = filter_fn; - - return !filter_fn( it ); - } - - return !filtercache[ str ]( it ); -} - -// roll our own, to handle moving stacks better -using itemstack = std::vector >; - -template -static itemstack i_stacked( T items ) -{ - //create a new container for our stacked items - itemstack stacks; - // // make a list of the items first, so we can add non stacked items back on - // std::list items(things.begin(), things.end()); - // used to recall indices we stored `itype_id' item at in itemstack - std::unordered_map> cache; - // iterate through and create stacks - for( auto &elem : items ) { - const auto id = elem.typeId(); - auto iter = cache.find( id ); - bool got_stacked = false; - // cache entry exists - if( iter != cache.end() ) { - // check to see if it stacks with each item in a stack, not just front() - for( auto &idx : iter->second ) { - for( auto &it : stacks[idx] ) { - if( ( got_stacked = it->display_stacked_with( elem ) ) ) { - stacks[idx].push_back( &elem ); - break; - } - } - if( got_stacked ) { - break; - } - } - } - if( !got_stacked ) { - cache[id].insert( stacks.size() ); - stacks.push_back( {&elem} ); - } - } - return stacks; -} - -void advanced_inventory_pane::add_items_from_area( advanced_inv_area &square, - bool vehicle_override ) -{ - assert( square.id != AIM_ALL ); - square.volume = 0_ml; - square.weight = 0_gram; - if( !square.canputitems() ) { - return; - } - map &m = g->m; - player &u = g->u; - // Existing items are *not* cleared on purpose, this might be called - // several times in case all surrounding squares are to be shown. - if( square.id == AIM_INVENTORY ) { - const invslice &stacks = u.inv.slice(); - for( size_t x = 0; x < stacks.size(); ++x ) { - std::list item_pointers; - for( item &i : *stacks[x] ) { - item_pointers.push_back( &i ); - } - advanced_inv_listitem it( item_pointers, x, square.id, false ); - if( is_filtered( *it.items.front() ) ) { - continue; - } - square.volume += it.volume; - square.weight += it.weight; - items.push_back( it ); - } - } else if( square.id == AIM_WORN ) { - auto iter = u.worn.begin(); - for( size_t i = 0; i < u.worn.size(); ++i, ++iter ) { - advanced_inv_listitem it( &*iter, i, 1, square.id, false ); - if( is_filtered( *it.items.front() ) ) { - continue; - } - square.volume += it.volume; - square.weight += it.weight; - items.push_back( it ); - } - } else if( square.id == AIM_CONTAINER ) { - item *cont = square.get_container( in_vehicle() ); - if( cont != nullptr ) { - if( !cont->is_container_empty() ) { - // filtering does not make sense for liquid in container - item *it = &square.get_container( in_vehicle() )->contents.front(); - advanced_inv_listitem ait( it, 0, 1, square.id, in_vehicle() ); - square.volume += ait.volume; - square.weight += ait.weight; - items.push_back( ait ); - } - square.desc[0] = cont->tname( 1, false ); - } - } else { - bool is_in_vehicle = square.can_store_in_vehicle() && ( in_vehicle() || vehicle_override ); - const itemstack &stacks = is_in_vehicle ? - i_stacked( square.veh->get_items( square.vstor ) ) : - i_stacked( m.i_at( square.pos ) ); - - for( size_t x = 0; x < stacks.size(); ++x ) { - advanced_inv_listitem it( stacks[x], x, square.id, is_in_vehicle ); - if( is_filtered( *it.items.front() ) ) { - continue; - } - square.volume += it.volume; - square.weight += it.weight; - items.push_back( it ); - } - } -} - -void advanced_inventory_pane::paginate( size_t itemsPerPage ) -{ - if( sortby != SORTBY_CATEGORY ) { - return; // not needed as there are no category entries here. - } - // first, we insert all the items, then we sort the result - for( size_t i = 0; i < items.size(); ++i ) { - if( i % itemsPerPage == 0 ) { - // first entry on the page, should be a category header - if( items[i].is_item_entry() ) { - items.insert( items.begin() + i, advanced_inv_listitem( items[i].cat ) ); - } - } - if( ( i + 1 ) % itemsPerPage == 0 && i + 1 < items.size() ) { - // last entry of the page, but not the last entry at all! - // Must *not* be a category header! - if( items[i].is_category_header() ) { - items.insert( items.begin() + i, advanced_inv_listitem() ); - } - } - } -} - void advanced_inventory::recalc_pane( side p ) { auto &pane = panes[p]; @@ -1090,20 +655,6 @@ void advanced_inventory::recalc_pane( side p ) pane.paginate( itemsPerPage ); } -void advanced_inventory_pane::fix_index() -{ - if( items.empty() ) { - index = 0; - return; - } - if( index < 0 ) { - index = 0; - } else if( static_cast( index ) >= items.size() ) { - index = static_cast( items.size() ) - 1; - } - skip_category_headers( +1 ); -} - void advanced_inventory::redraw_pane( side p ) { // don't update ui if processing demands @@ -1199,7 +750,7 @@ bool advanced_inventory::move_all_items( bool nested_call ) if( spane.get_area() == AIM_ALL ) { // move all to `AIM_WORN' doesn't make sense (see `MAX_WORN_PER_TYPE') if( dpane.get_area() == AIM_WORN ) { - popup( _( "You look at the items, then your clothes, and scratch your head..." ) ); + popup( _( "You look at the items, then your clothes, and scratch your head…" ) ); return false; } // if the source pane (AIM_ALL) is empty, then show a message and leave @@ -1419,7 +970,7 @@ bool advanced_inventory::move_all_items( bool nested_call ) bool advanced_inventory::show_sort_menu( advanced_inventory_pane &pane ) { uilist sm; - sm.text = _( "Sort by..." ); + sm.text = _( "Sort by…" ); sm.addentry( SORTBY_NONE, true, 'u', _( "Unsorted (recently added first)" ) ); sm.addentry( SORTBY_NAME, true, 'n', get_sortname( SORTBY_NAME ) ); sm.addentry( SORTBY_WEIGHT, true, 'w', get_sortname( SORTBY_WEIGHT ) ); @@ -1441,30 +992,6 @@ bool advanced_inventory::show_sort_menu( advanced_inventory_pane &pane ) return true; } -static tripoint aim_vector( aim_location id ) -{ - switch( id ) { - case AIM_SOUTHWEST: - return tripoint_south_west; - case AIM_SOUTH: - return tripoint_south; - case AIM_SOUTHEAST: - return tripoint_south_east; - case AIM_WEST: - return tripoint_west; - case AIM_EAST: - return tripoint_east; - case AIM_NORTHWEST: - return tripoint_north_west; - case AIM_NORTH: - return tripoint_north; - case AIM_NORTHEAST: - return tripoint_north_east; - default: - return tripoint_zero; - } -} - void advanced_inventory::display() { init(); @@ -1858,10 +1385,10 @@ void advanced_inventory::display() std::vector vThisItem; std::vector vDummy; it.info( true, vThisItem ); - int iDummySelect = 0; - ret = draw_item_info( info_startx, - info_width, 0, 0, it.tname(), it.type_name(), vThisItem, vDummy, iDummySelect, - false, false, true ).get_first_input(); + + item_info_data data( it.tname(), it.type_name(), vThisItem, vDummy ); + + ret = draw_item_info( info_startx, info_width, 0, 0, data ).get_first_input(); } if( ret == KEY_NPAGE || ret == KEY_DOWN ) { spane.scroll_by( +1 ); @@ -1914,96 +1441,13 @@ void advanced_inventory::display() redraw = true; } } else { - popup( _( "No vehicle there!" ) ); + popup( _( "No vehicle storage space there!" ) ); redraw = true; } } } } -void advanced_inventory_pane::skip_category_headers( int offset ) -{ - assert( offset != 0 ); // 0 would make no sense - assert( static_cast( index ) < items.size() ); // valid index is required - assert( offset == -1 || offset == +1 ); // only those two offsets are allowed - assert( !items.empty() ); // index would not be valid, and this would be an endless loop - while( !items[index].is_item_entry() ) { - mod_index( offset ); - } -} - -void advanced_inventory_pane::mod_index( int offset ) -{ - assert( offset != 0 ); // 0 would make no sense - assert( !items.empty() ); - index += offset; - if( index < 0 ) { - index = static_cast( items.size() ) - 1; - } else if( static_cast( index ) >= items.size() ) { - index = 0; - } -} - -void advanced_inventory_pane::scroll_by( int offset ) -{ - assert( offset != 0 ); // 0 would make no sense - if( items.empty() ) { - return; - } - mod_index( offset ); - skip_category_headers( offset > 0 ? +1 : -1 ); - redraw = true; -} - -void advanced_inventory_pane::scroll_category( int offset ) -{ - assert( offset != 0 ); // 0 would make no sense - assert( offset == -1 || offset == +1 ); // only those two offsets are allowed - if( items.empty() ) { - return; - } - assert( get_cur_item_ptr() != nullptr ); // index must already be valid! - auto cur_cat = items[index].cat; - if( offset > 0 ) { - while( items[index].cat == cur_cat ) { - index++; - if( static_cast( index ) >= items.size() ) { - index = 0; // wrap to begin, stop there. - break; - } - } - } else { - while( items[index].cat == cur_cat ) { - index--; - if( index < 0 ) { - index = static_cast( items.size() ) - 1; // wrap to end, stop there. - break; - } - } - } - // Make sure we land on an item entry. - skip_category_headers( offset > 0 ? +1 : -1 ); - redraw = true; -} - -advanced_inv_listitem *advanced_inventory_pane::get_cur_item_ptr() -{ - if( static_cast( index ) >= items.size() ) { - return nullptr; - } - return &items[index]; -} - -void advanced_inventory_pane::set_filter( const std::string &new_filter ) -{ - if( filter == new_filter ) { - return; - } - filter = new_filter; - filtercache.clear(); - recalc = true; -} - class query_destination_callback : public uilist_callback { private: @@ -2020,11 +1464,11 @@ void query_destination_callback::draw_squares( const uilist *menu ) { assert( menu->entries.size() >= 9 ); int ofs = -25 - 4; - int sel = advanced_inventory::screen_relative_location( + int sel = _adv_inv.screen_relative_location( static_cast ( menu->selected + 1 ) ); for( int i = 1; i < 10; i++ ) { - aim_location loc = advanced_inventory::screen_relative_location( static_cast ( i ) ); - char key = advanced_inventory::get_location_key( loc ); + aim_location loc = _adv_inv.screen_relative_location( static_cast ( i ) ); + std::string key = _adv_inv.get_location_key( loc ); advanced_inv_area &square = _adv_inv.get_one_square( loc ); bool in_vehicle = square.can_store_in_vehicle(); const char *bracket = in_vehicle ? "<>" : "[]"; @@ -2035,7 +1479,7 @@ void query_destination_callback::draw_squares( const uilist *menu ) const int x = square.hscreen.x + ofs; const int y = square.hscreen.y + 5; mvwprintz( menu->window, point( x, y ), bcolor, "%c", bracket[0] ); - wprintz( menu->window, kcolor, "%c", key ); + wprintz( menu->window, kcolor, "%s", key ); wprintz( menu->window, bcolor, "%c", bracket[1] ); } } @@ -2073,7 +1517,7 @@ bool advanced_inventory::query_destination( aim_location &def ) } menu.addentry( ordered_loc, s.canputitems() && s.id != panes[src].get_area(), - get_location_key( ordered_loc ), + get_location_key( ordered_loc )[0], prefix + " " + s.name + " " + ( s.veh != nullptr ? s.veh->name : "" ) ); } } @@ -2138,15 +1582,6 @@ bool advanced_inventory::move_content( item &src_container, item &dest_container return true; } -units::volume advanced_inv_area::free_volume( bool in_vehicle ) const -{ - assert( id != AIM_ALL ); // should be a specific location instead - if( id == AIM_INVENTORY || id == AIM_WORN ) { - return g->u.volume_capacity() - g->u.volume_carried(); - } - return in_vehicle ? veh->free_volume( vstor ) : g->m.free_volume( pos ); -} - bool advanced_inventory::query_charges( aim_location destarea, const advanced_inv_listitem &sitem, const std::string &action, int &amount ) { @@ -2256,201 +1691,6 @@ bool advanced_inventory::query_charges( aim_location destarea, const advanced_in return true; } -bool advanced_inv_area::is_same( const advanced_inv_area &other ) const -{ - // All locations (sans the below) are compared by the coordinates, - // e.g. dragged vehicle (to the south) and AIM_SOUTH are the same. - if( id != AIM_INVENTORY && other.id != AIM_INVENTORY && - id != AIM_WORN && other.id != AIM_WORN && - id != AIM_CONTAINER && other.id != AIM_CONTAINER ) { - // have a vehicle?... ...do the cargo index and pos match?... ...at least pos? - return veh == other.veh ? pos == other.pos && vstor == other.vstor : pos == other.pos; - } - // ...is the id? - return id == other.id; -} - -bool advanced_inv_area::canputitems( const advanced_inv_listitem *advitem ) -{ - bool canputitems = false; - bool from_vehicle = false; - item *it = nullptr; - switch( id ) { - case AIM_CONTAINER: - if( advitem != nullptr && advitem->is_item_entry() ) { - it = advitem->items.front(); - from_vehicle = advitem->from_vehicle; - } - if( get_container( from_vehicle ) != nullptr ) { - it = get_container( from_vehicle ); - } - if( it != nullptr ) { - canputitems = it->is_watertight_container(); - } - break; - default: - canputitems = canputitemsloc; - break; - } - return canputitems; -} - -item *advanced_inv_area::get_container( bool in_vehicle ) -{ - item *container = nullptr; - - if( uistate.adv_inv_container_location != -1 ) { - // try to find valid container in the area - if( uistate.adv_inv_container_location == AIM_INVENTORY ) { - const invslice &stacks = g->u.inv.slice(); - - // check index first - if( stacks.size() > static_cast( uistate.adv_inv_container_index ) ) { - auto &it = stacks[uistate.adv_inv_container_index]->front(); - if( is_container_valid( &it ) ) { - container = ⁢ - } - } - - // try entire area - if( container == nullptr ) { - for( size_t x = 0; x < stacks.size(); ++x ) { - auto &it = stacks[x]->front(); - if( is_container_valid( &it ) ) { - container = ⁢ - uistate.adv_inv_container_index = x; - break; - } - } - } - } else if( uistate.adv_inv_container_location == AIM_WORN ) { - auto &worn = g->u.worn; - size_t idx = static_cast( uistate.adv_inv_container_index ); - if( worn.size() > idx ) { - auto iter = worn.begin(); - std::advance( iter, idx ); - if( is_container_valid( &*iter ) ) { - container = &*iter; - } - } - - // no need to reinvent the wheel - if( container == nullptr ) { - auto iter = worn.begin(); - for( size_t i = 0; i < worn.size(); ++i, ++iter ) { - if( is_container_valid( &*iter ) ) { - container = &*iter; - uistate.adv_inv_container_index = i; - break; - } - } - } - } else { - map &m = g->m; - bool is_in_vehicle = veh && - ( uistate.adv_inv_container_in_vehicle || ( can_store_in_vehicle() && in_vehicle ) ); - - const itemstack &stacks = is_in_vehicle ? - i_stacked( veh->get_items( vstor ) ) : - i_stacked( m.i_at( pos ) ); - - // check index first - if( stacks.size() > static_cast( uistate.adv_inv_container_index ) ) { - auto it = stacks[uistate.adv_inv_container_index].front(); - if( is_container_valid( it ) ) { - container = it; - } - } - - // try entire area - if( container == nullptr ) { - for( size_t x = 0; x < stacks.size(); ++x ) { - auto it = stacks[x].front(); - if( is_container_valid( it ) ) { - container = it; - uistate.adv_inv_container_index = x; - break; - } - } - } - } - - // no valid container in the area, resetting container - if( container == nullptr ) { - set_container( nullptr ); - desc[0] = _( "Invalid container" ); - } - } - - return container; -} - -void advanced_inv_area::set_container( const advanced_inv_listitem *advitem ) -{ - if( advitem != nullptr ) { - item *it( advitem->items.front() ); - uistate.adv_inv_container_location = advitem->area; - uistate.adv_inv_container_in_vehicle = advitem->from_vehicle; - uistate.adv_inv_container_index = advitem->idx; - uistate.adv_inv_container_type = it->typeId(); - uistate.adv_inv_container_content_type = !it->is_container_empty() ? - it->contents.front().typeId() : "null"; - set_container_position(); - } else { - uistate.adv_inv_container_location = -1; - uistate.adv_inv_container_index = 0; - uistate.adv_inv_container_in_vehicle = false; - uistate.adv_inv_container_type = "null"; - uistate.adv_inv_container_content_type = "null"; - } -} - -bool advanced_inv_area::is_container_valid( const item *it ) const -{ - if( it != nullptr ) { - if( it->typeId() == uistate.adv_inv_container_type ) { - if( it->is_container_empty() ) { - if( uistate.adv_inv_container_content_type == "null" ) { - return true; - } - } else { - if( it->contents.front().typeId() == uistate.adv_inv_container_content_type ) { - return true; - } - } - } - } - - return false; -} - -void advanced_inv_area::set_container_position() -{ - // update the offset of the container based on location - if( uistate.adv_inv_container_location == AIM_DRAGGED ) { - off = g->u.grab_point; - } else { - off = aim_vector( static_cast( uistate.adv_inv_container_location ) ); - } - // update the absolute position - pos = g->u.pos() + off; - // update vehicle information - if( const cata::optional vp = g->m.veh_at( pos ).part_with_feature( "CARGO", - false ) ) { - veh = &vp->vehicle(); - vstor = vp->part_index(); - } else { - veh = nullptr; - vstor = -1; - } -} - -void advanced_inv() -{ - advanced_inventory advinv; - advinv.display(); -} - void advanced_inventory::refresh_minimap() { // don't update ui if processing demands @@ -2533,16 +1773,6 @@ char advanced_inventory::get_minimap_sym( side p ) const return ch; } -aim_location advanced_inv_area::offset_to_location() const -{ - static aim_location loc_array[3][3] = { - {AIM_NORTHWEST, AIM_NORTH, AIM_NORTHEAST}, - {AIM_WEST, AIM_CENTER, AIM_EAST}, - {AIM_SOUTHWEST, AIM_SOUTH, AIM_SOUTHEAST} - }; - return loc_array[off.y + 1][off.x + 1]; -} - void advanced_inventory::swap_panes() { // Switch left and right pane. @@ -2568,43 +1798,6 @@ bool advanced_inventory::is_processing() const return uistate.adv_inv_re_enter_move_all != ENTRY_START; } -aim_location advanced_inventory::screen_relative_location( aim_location area ) -{ - - if( !( tile_iso && use_tiles ) ) { - return area; - } - switch( area ) { - - case AIM_SOUTHWEST: - return AIM_WEST; - - case AIM_SOUTH: - return AIM_SOUTHWEST; - - case AIM_SOUTHEAST: - return AIM_SOUTH; - - case AIM_WEST: - return AIM_NORTHWEST; - - case AIM_EAST: - return AIM_SOUTHEAST; - - case AIM_NORTHWEST: - return AIM_NORTH; - - case AIM_NORTH: - return AIM_NORTHEAST; - - case AIM_NORTHEAST: - return AIM_EAST; - - default : - return area; - } -} - void cancel_aim_processing() { uistate.adv_inv_re_enter_move_all = ENTRY_START; diff --git a/src/advanced_inv.h b/src/advanced_inv.h index 1687f1688d8dc..2bfc0058ef528 100644 --- a/src/advanced_inv.h +++ b/src/advanced_inv.h @@ -14,51 +14,21 @@ #include "cursesdef.h" #include "point.h" #include "units.h" +#include "advanced_inv_area.h" +#include "advanced_inv_listitem.h" +#include "advanced_inv_pane.h" class uilist; class vehicle; class item; -enum aim_location { - AIM_INVENTORY = 0, - AIM_SOUTHWEST, - AIM_SOUTH, - AIM_SOUTHEAST, - AIM_WEST, - AIM_CENTER, - AIM_EAST, - AIM_NORTHWEST, - AIM_NORTH, - AIM_NORTHEAST, - AIM_DRAGGED, - AIM_ALL, - AIM_CONTAINER, - AIM_WORN, - NUM_AIM_LOCATIONS, - // only useful for AIM_ALL - AIM_AROUND_BEGIN = AIM_SOUTHWEST, - AIM_AROUND_END = AIM_NORTHEAST -}; - -enum advanced_inv_sortby { - SORTBY_NONE, - SORTBY_NAME, - SORTBY_WEIGHT, - SORTBY_VOLUME, - SORTBY_CHARGES, - SORTBY_CATEGORY, - SORTBY_DAMAGE, - SORTBY_AMMO, - SORTBY_SPOILAGE -}; - struct sort_case_insensitive_less : public std::binary_function< char, char, bool > { bool operator()( char x, char y ) const { return toupper( static_cast< unsigned char >( x ) ) < toupper( static_cast< unsigned char >( y ) ); } }; -void advanced_inv(); +void create_advanced_inv(); /** * Cancels ongoing move all action. @@ -66,265 +36,6 @@ void advanced_inv(); */ void cancel_aim_processing(); -struct advanced_inv_listitem; - -/** - * Defines the source of item stacks. - */ -struct advanced_inv_area { - const aim_location id; - // Used for the small overview 3x3 grid - point hscreen = point_zero; - // relative (to the player) position of the map point - tripoint off; - /** Long name, displayed, translated */ - const std::string name = "fake"; - /** Shorter name (2 letters) */ - const std::string shortname = "FK"; // FK in my coffee - // absolute position of the map point. - tripoint pos; - /** Can we put items there? Only checks if location is valid, not if - selected container in pane is. For full check use canputitems() **/ - bool canputitemsloc; - // vehicle pointer and cargo part index - vehicle *veh; - int vstor; - // description, e.g. vehicle name, label, or terrain - std::array desc; - // flags, e.g. FIRE, TRAP, WATER - std::string flags; - // total volume and weight of items currently there - units::volume volume; - units::mass weight; - // maximal count / volume of items there. - int max_size; - - advanced_inv_area( aim_location id ) : id( id ) {} - advanced_inv_area( aim_location id, int hscreenx, int hscreeny, tripoint off, - const std::string &name, const std::string &shortname ) : id( id ), - hscreen( hscreenx, hscreeny ), off( off ), name( name ), shortname( shortname ), - canputitemsloc( false ), veh( nullptr ), vstor( -1 ), volume( 0_ml ), - weight( 0_gram ), max_size( 0 ) { - } - - void init(); - // if you want vehicle cargo, specify so via `in_vehicle' - units::volume free_volume( bool in_vehicle = false ) const; - int get_item_count() const; - // Other area is actually the same item source, e.g. dragged vehicle to the south and AIM_SOUTH - bool is_same( const advanced_inv_area &other ) const; - // does _not_ check vehicle storage, do that with `can_store_in_vehicle()' below - bool canputitems( const advanced_inv_listitem *advitem = nullptr ); - // if you want vehicle cargo, specify so via `in_vehicle' - item *get_container( bool in_vehicle = false ); - void set_container( const advanced_inv_listitem *advitem ); - bool is_container_valid( const item *it ) const; - void set_container_position(); - aim_location offset_to_location() const; - bool can_store_in_vehicle() const { - // disallow for non-valid vehicle locations - if( id > AIM_DRAGGED || id < AIM_SOUTHWEST ) { - return false; - } - return veh != nullptr && vstor >= 0; - } -}; - -// see item_factory.h -class item_category; - -/** - * Entry that is displayed in a adv. inv. pane. It can either contain a - * single item or a category header or nothing (empty entry). - * Most members are used only for sorting. - */ -struct advanced_inv_listitem { - using itype_id = std::string; - /** - * Index of the item in the itemstack. - */ - int idx; - /** - * The location of the item, never AIM_ALL. - */ - aim_location area; - // the id of the item - itype_id id; - // The list of items, and empty when a header - std::list items; - /** - * The displayed name of the item/the category header. - */ - std::string name; - /** - * Name of the item (singular) without damage (or similar) prefix, used for sorting. - */ - std::string name_without_prefix; - /** - * Whether auto pickup is enabled for this item (based on the name). - */ - bool autopickup; - /** - * The stack count represented by this item, should be >= 1, should be 1 - * for anything counted by charges. - */ - int stacks; - /** - * The volume of all the items in this stack, used for sorting. - */ - units::volume volume; - /** - * The weight of all the items in this stack, used for sorting. - */ - units::mass weight; - /** - * The item category, or the category header. - */ - const item_category *cat; - /** - * Is the item stored in a vehicle? - */ - bool from_vehicle; - /** - * Whether this is a category header entry, which does *not* have a reference - * to an item, only @ref cat is valid. - */ - bool is_category_header() const; - - /** Returns true if this is an item entry */ - bool is_item_entry() const; - /** - * Create a category header entry. - * @param cat The category reference, must not be null. - */ - advanced_inv_listitem( const item_category *cat ); - /** - * Creates an empty entry, both category and item pointer are null. - */ - advanced_inv_listitem(); - /** - * Create a normal item entry. - * @param an_item The item pointer. Must not be null. - * @param index The index - * @param count The stack size - * @param area The source area. Must not be AIM_ALL. - * @param from_vehicle Is the item from a vehicle cargo space? - */ - advanced_inv_listitem( item *an_item, int index, int count, - aim_location area, bool from_vehicle ); - /** - * Create a normal item entry. - * @param list The list of item pointers. - * @param index The index - * @param area The source area. Must not be AIM_ALL. - * @param from_vehicle Is the item from a vehicle cargo space? - */ - advanced_inv_listitem( const std::list &list, int index, - aim_location area, bool from_vehicle ); -}; - -/** - * Displayed pane, what is shown on the screen. - */ -class advanced_inventory_pane -{ - private: - aim_location area = NUM_AIM_LOCATIONS; - aim_location prev_area = area; - // pointer to the square this pane is pointing to - bool viewing_cargo = false; - bool prev_viewing_cargo = false; - public: - // set the pane's area via its square, and whether it is viewing a vehicle's cargo - void set_area( advanced_inv_area &square, bool in_vehicle_cargo = false ) { - prev_area = area; - prev_viewing_cargo = viewing_cargo; - area = square.id; - viewing_cargo = square.can_store_in_vehicle() && in_vehicle_cargo; - } - void restore_area() { - area = prev_area; - viewing_cargo = prev_viewing_cargo; - } - aim_location get_area() const { - return area; - } - bool prev_in_vehicle() const { - return prev_viewing_cargo; - } - bool in_vehicle() const { - return viewing_cargo; - } - bool on_ground() const { - return area > AIM_INVENTORY && area < AIM_DRAGGED; - } - /** - * Index of the selected item (index of @ref items), - */ - int index; - advanced_inv_sortby sortby; - catacurses::window window; - std::vector items; - /** - * The current filter string. - */ - std::string filter; - /** - * Whether to recalculate the content of this pane. - * Implies @ref redraw. - */ - bool recalc; - /** - * Whether to redraw this pane. - */ - bool redraw; - - void add_items_from_area( advanced_inv_area &square, bool vehicle_override = false ); - /** - * Makes sure the @ref index is valid (if possible). - */ - void fix_index(); - /** - * @param it The item to check, oly the name member is examined. - * @return Whether the item should be filtered (and not shown). - */ - bool is_filtered( const advanced_inv_listitem &it ) const; - /** - * Same as the other, but checks the real item. - */ - bool is_filtered( const item &it ) const; - /** - * Scroll @ref index, by given offset, set redraw to true, - * @param offset Must not be 0. - */ - void scroll_by( int offset ); - /** - * Scroll the index in category mode by given offset. - * @param offset Must be either +1 or -1 - */ - void scroll_category( int offset ); - /** - * @return either null, if @ref index is invalid, or the selected - * item in @ref items. - */ - advanced_inv_listitem *get_cur_item_ptr(); - /** - * Set the filter string, disables filtering when the filter string is empty. - */ - void set_filter( const std::string &new_filter ); - /** - * Insert additional category headers on the top of each page. - */ - void paginate( size_t itemsPerPage ); - private: - /** Scroll to next non-header entry */ - void skip_category_headers( int offset ); - /** Only add offset to index, but wrap around! */ - void mod_index( int offset ); - - mutable std::map> filtercache; -}; - class advanced_inventory { public: @@ -337,9 +48,8 @@ class advanced_inventory * Converts from screen relative location to game-space relative location * for control rotation in isometric mode. */ - static aim_location screen_relative_location( aim_location area ); - - static char get_location_key( aim_location area ); + aim_location screen_relative_location( aim_location area ); + std::string get_location_key( aim_location area ); advanced_inv_area &get_one_square( const aim_location &loc ) { return squares[loc]; @@ -434,7 +144,7 @@ class advanced_inventory * @return true if the action did refer to an location (which has been * stored in ret), false otherwise. */ - static bool get_square( const std::string &action, aim_location &ret ); + bool get_square( const std::string &action, aim_location &ret ); /** * Show the sort-by menu and change the sorting of this pane accordingly. * @return whether the sort order was actually changed. diff --git a/src/advanced_inv_area.cpp b/src/advanced_inv_area.cpp new file mode 100644 index 0000000000000..7ad84a4c403bf --- /dev/null +++ b/src/advanced_inv_area.cpp @@ -0,0 +1,452 @@ +#include "auto_pickup.h" +#include "avatar.h" +#include "cata_utility.h" +#include "catacharset.h" +#include "item_category.h" +#include "item_search.h" +#include "item_stack.h" +#include "map.h" +#include "mapdata.h" +#include "messages.h" +#include "player.h" +#include "player_activity.h" +#include "string_formatter.h" +#include "string_input_popup.h" +#include "translations.h" +#include "trap.h" +#include "ui.h" +#include "vehicle.h" +#include "vehicle_selector.h" +#include "vpart_position.h" +#include "inventory.h" +#include "item.h" +#include "enums.h" +#include "item_location.h" +#include "map_selector.h" +#include "pimpl.h" +#include "field.h" +#include "advanced_inv_area.h" + +#include "advanced_inv.h" +#include "uistate.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +int advanced_inv_area::get_item_count() const +{ + if( id == AIM_INVENTORY ) { + return g->u.inv.size(); + } else if( id == AIM_WORN ) { + return g->u.worn.size(); + } else if( id == AIM_ALL ) { + return 0; + } else if( id == AIM_DRAGGED ) { + return can_store_in_vehicle() ? veh->get_items( vstor ).size() : 0; + } else { + return g->m.i_at( pos ).size(); + } +} + +void advanced_inv_area::init() +{ + pos = g->u.pos() + off; + veh = nullptr; + vstor = -1; + volume = 0_ml; // must update in main function + weight = 0_gram; // must update in main function + switch( id ) { + case AIM_INVENTORY: + case AIM_WORN: + canputitemsloc = true; + break; + case AIM_DRAGGED: + if( g->u.get_grab_type() != OBJECT_VEHICLE ) { + canputitemsloc = false; + desc[0] = _( "Not dragging any vehicle!" ); + break; + } + // offset for dragged vehicles is not statically initialized, so get it + off = g->u.grab_point; + // Reset position because offset changed + pos = g->u.pos() + off; + if( const cata::optional vp = g->m.veh_at( pos ).part_with_feature( "CARGO", + false ) ) { + veh = &vp->vehicle(); + vstor = vp->part_index(); + } else { + veh = nullptr; + vstor = -1; + } + if( vstor >= 0 ) { + desc[0] = veh->name; + canputitemsloc = true; + max_size = MAX_ITEM_IN_VEHICLE_STORAGE; + } else { + veh = nullptr; + canputitemsloc = false; + desc[0] = _( "No dragged vehicle!" ); + } + break; + case AIM_CONTAINER: + // set container position based on location + set_container_position(); + // location always valid, actual check is done in canputitems() + // and depends on selected item in pane (if it is valid container) + canputitemsloc = true; + if( get_container() == nullptr ) { + desc[0] = _( "Invalid container!" ); + } + break; + case AIM_ALL: + desc[0] = _( "All 9 squares" ); + canputitemsloc = true; + break; + case AIM_SOUTHWEST: + case AIM_SOUTH: + case AIM_SOUTHEAST: + case AIM_WEST: + case AIM_CENTER: + case AIM_EAST: + case AIM_NORTHWEST: + case AIM_NORTH: + case AIM_NORTHEAST: + if( const cata::optional vp = g->m.veh_at( pos ).part_with_feature( "CARGO", + false ) ) { + veh = &vp->vehicle(); + vstor = vp->part_index(); + } else { + veh = nullptr; + vstor = -1; + } + canputitemsloc = can_store_in_vehicle() || g->m.can_put_items_ter_furn( pos ); + max_size = MAX_ITEM_IN_SQUARE; + if( can_store_in_vehicle() ) { + desc[1] = vpart_position( *veh, vstor ).get_label().value_or( "" ); + } + // get graffiti or terrain name + desc[0] = g->m.has_graffiti_at( pos ) ? + g->m.graffiti_at( pos ) : g->m.name( pos ); + default: + break; + } + + /* assemble a list of interesting traits of the target square */ + // fields? with a special case for fire + bool danger_field = false; + const field &tmpfld = g->m.field_at( pos ); + for( auto &fld : tmpfld ) { + const field_entry &cur = fld.second; + if( fld.first.obj().has_fire ) { + flags.append( _( " FIRE" ) ); + } else { + if( cur.is_dangerous() ) { + danger_field = true; + } + } + } + if( danger_field ) { + flags.append( _( " DANGER" ) ); + } + + // trap? + const trap &tr = g->m.tr_at( pos ); + if( tr.can_see( pos, g->u ) && !tr.is_benign() ) { + flags.append( _( " TRAP" ) ); + } + + // water? + static const std::array ter_water = { + {t_water_dp, t_water_pool, t_swater_dp, t_water_sh, t_swater_sh, t_sewage, t_water_moving_dp, t_water_moving_sh } + }; + auto ter_check = [this] + ( const ter_id & id ) { + return g->m.ter( this->pos ) == id; + }; + if( std::any_of( ter_water.begin(), ter_water.end(), ter_check ) ) { + flags.append( _( " WATER" ) ); + } + + // remove leading space + if( !flags.empty() && flags[0] == ' ' ) { + flags.erase( 0, 1 ); + } +} + + +units::volume advanced_inv_area::free_volume( bool in_vehicle ) const +{ + assert( id != AIM_ALL ); // should be a specific location instead + if( id == AIM_INVENTORY || id == AIM_WORN ) { + return g->u.volume_capacity() - g->u.volume_carried(); + } + return in_vehicle ? veh->free_volume( vstor ) : g->m.free_volume( pos ); +} + +bool advanced_inv_area::is_same( const advanced_inv_area &other ) const +{ + // All locations (sans the below) are compared by the coordinates, + // e.g. dragged vehicle (to the south) and AIM_SOUTH are the same. + if( id != AIM_INVENTORY && other.id != AIM_INVENTORY && + id != AIM_WORN && other.id != AIM_WORN && + id != AIM_CONTAINER && other.id != AIM_CONTAINER ) { + // have a vehicle?... ...do the cargo index and pos match?... ...at least pos? + return veh == other.veh ? pos == other.pos && vstor == other.vstor : pos == other.pos; + } + // ...is the id? + return id == other.id; +} + +bool advanced_inv_area::canputitems( const advanced_inv_listitem *advitem ) +{ + bool canputitems = false; + bool from_vehicle = false; + item *it = nullptr; + switch( id ) { + case AIM_CONTAINER: + if( advitem != nullptr && advitem->is_item_entry() ) { + it = advitem->items.front(); + from_vehicle = advitem->from_vehicle; + } + if( get_container( from_vehicle ) != nullptr ) { + it = get_container( from_vehicle ); + } + if( it != nullptr ) { + canputitems = it->is_watertight_container(); + } + break; + default: + canputitems = canputitemsloc; + break; + } + return canputitems; +} + +item *advanced_inv_area::get_container( bool in_vehicle ) +{ + item *container = nullptr; + + if( uistate.adv_inv_container_location != -1 ) { + // try to find valid container in the area + if( uistate.adv_inv_container_location == AIM_INVENTORY ) { + const invslice &stacks = g->u.inv.slice(); + + // check index first + if( stacks.size() > static_cast( uistate.adv_inv_container_index ) ) { + auto &it = stacks[uistate.adv_inv_container_index]->front(); + if( is_container_valid( &it ) ) { + container = ⁢ + } + } + + // try entire area + if( container == nullptr ) { + for( size_t x = 0; x < stacks.size(); ++x ) { + auto &it = stacks[x]->front(); + if( is_container_valid( &it ) ) { + container = ⁢ + uistate.adv_inv_container_index = x; + break; + } + } + } + } else if( uistate.adv_inv_container_location == AIM_WORN ) { + auto &worn = g->u.worn; + size_t idx = static_cast( uistate.adv_inv_container_index ); + if( worn.size() > idx ) { + auto iter = worn.begin(); + std::advance( iter, idx ); + if( is_container_valid( &*iter ) ) { + container = &*iter; + } + } + + // no need to reinvent the wheel + if( container == nullptr ) { + auto iter = worn.begin(); + for( size_t i = 0; i < worn.size(); ++i, ++iter ) { + if( is_container_valid( &*iter ) ) { + container = &*iter; + uistate.adv_inv_container_index = i; + break; + } + } + } + } else { + map &m = g->m; + bool is_in_vehicle = veh && + ( uistate.adv_inv_container_in_vehicle || ( can_store_in_vehicle() && in_vehicle ) ); + + const itemstack &stacks = is_in_vehicle ? + i_stacked( veh->get_items( vstor ) ) : + i_stacked( m.i_at( pos ) ); + + // check index first + if( stacks.size() > static_cast( uistate.adv_inv_container_index ) ) { + auto it = stacks[uistate.adv_inv_container_index].front(); + if( is_container_valid( it ) ) { + container = it; + } + } + + // try entire area + if( container == nullptr ) { + for( size_t x = 0; x < stacks.size(); ++x ) { + auto it = stacks[x].front(); + if( is_container_valid( it ) ) { + container = it; + uistate.adv_inv_container_index = x; + break; + } + } + } + } + + // no valid container in the area, resetting container + if( container == nullptr ) { + set_container( nullptr ); + desc[0] = _( "Invalid container" ); + } + } + + return container; +} + +void advanced_inv_area::set_container( const advanced_inv_listitem *advitem ) +{ + if( advitem != nullptr ) { + item *it( advitem->items.front() ); + uistate.adv_inv_container_location = advitem->area; + uistate.adv_inv_container_in_vehicle = advitem->from_vehicle; + uistate.adv_inv_container_index = advitem->idx; + uistate.adv_inv_container_type = it->typeId(); + uistate.adv_inv_container_content_type = !it->is_container_empty() ? + it->contents.front().typeId() : "null"; + set_container_position(); + } else { + uistate.adv_inv_container_location = -1; + uistate.adv_inv_container_index = 0; + uistate.adv_inv_container_in_vehicle = false; + uistate.adv_inv_container_type = "null"; + uistate.adv_inv_container_content_type = "null"; + } +} + +bool advanced_inv_area::is_container_valid( const item *it ) const +{ + if( it != nullptr ) { + if( it->typeId() == uistate.adv_inv_container_type ) { + if( it->is_container_empty() ) { + if( uistate.adv_inv_container_content_type == "null" ) { + return true; + } + } else { + if( it->contents.front().typeId() == uistate.adv_inv_container_content_type ) { + return true; + } + } + } + } + + return false; +} + +static tripoint aim_vector( aim_location id ) +{ + switch( id ) { + case AIM_SOUTHWEST: + return tripoint_south_west; + case AIM_SOUTH: + return tripoint_south; + case AIM_SOUTHEAST: + return tripoint_south_east; + case AIM_WEST: + return tripoint_west; + case AIM_EAST: + return tripoint_east; + case AIM_NORTHWEST: + return tripoint_north_west; + case AIM_NORTH: + return tripoint_north; + case AIM_NORTHEAST: + return tripoint_north_east; + default: + return tripoint_zero; + } +} +void advanced_inv_area::set_container_position() +{ + // update the offset of the container based on location + if( uistate.adv_inv_container_location == AIM_DRAGGED ) { + off = g->u.grab_point; + } else { + off = aim_vector( static_cast( uistate.adv_inv_container_location ) ); + } + // update the absolute position + pos = g->u.pos() + off; + // update vehicle information + if( const cata::optional vp = g->m.veh_at( pos ).part_with_feature( "CARGO", + false ) ) { + veh = &vp->vehicle(); + vstor = vp->part_index(); + } else { + veh = nullptr; + vstor = -1; + } +} + + +aim_location advanced_inv_area::offset_to_location() const +{ + static aim_location loc_array[3][3] = { + {AIM_NORTHWEST, AIM_NORTH, AIM_NORTHEAST}, + {AIM_WEST, AIM_CENTER, AIM_EAST}, + {AIM_SOUTHWEST, AIM_SOUTH, AIM_SOUTHEAST} + }; + return loc_array[off.y + 1][off.x + 1]; +} + +template +advanced_inv_area::itemstack advanced_inv_area::i_stacked( T items ) +{ + //create a new container for our stacked items + advanced_inv_area::itemstack stacks; + // // make a list of the items first, so we can add non stacked items back on + // std::list items(things.begin(), things.end()); + // used to recall indices we stored `itype_id' item at in itemstack + std::unordered_map> cache; + // iterate through and create stacks + for( auto &elem : items ) { + const auto id = elem.typeId(); + auto iter = cache.find( id ); + bool got_stacked = false; + // cache entry exists + if( iter != cache.end() ) { + // check to see if it stacks with each item in a stack, not just front() + for( auto &idx : iter->second ) { + for( auto &it : stacks[idx] ) { + if( ( got_stacked = it->display_stacked_with( elem ) ) ) { + stacks[idx].push_back( &elem ); + break; + } + } + if( got_stacked ) { + break; + } + } + } + if( !got_stacked ) { + cache[id].insert( stacks.size() ); + stacks.push_back( { &elem } ); + } + } + return stacks; +} diff --git a/src/advanced_inv_area.h b/src/advanced_inv_area.h new file mode 100644 index 0000000000000..0a1a1639213fc --- /dev/null +++ b/src/advanced_inv_area.h @@ -0,0 +1,119 @@ +#pragma once +#ifndef ADVANCED_INV_AREA_H +#define ADVANCED_INV_AREA_H + +#include "cursesdef.h" +#include "point.h" +#include "units.h" +#include "game.h" +#include "itype.h" +#include "item_stack.h" +#include "vehicle_selector.h" + +#include +#include +#include +#include +#include + +enum aim_location { + AIM_INVENTORY = 0, + AIM_SOUTHWEST, + AIM_SOUTH, + AIM_SOUTHEAST, + AIM_WEST, + AIM_CENTER, + AIM_EAST, + AIM_NORTHWEST, + AIM_NORTH, + AIM_NORTHEAST, + AIM_DRAGGED, + AIM_ALL, + AIM_CONTAINER, + AIM_WORN, + NUM_AIM_LOCATIONS, + // only useful for AIM_ALL + AIM_AROUND_BEGIN = AIM_SOUTHWEST, + AIM_AROUND_END = AIM_NORTHEAST +}; + +class advanced_inv_listitem; + +/** + * Defines the source of item stacks. + */ +class advanced_inv_area +{ + public: + // roll our own, to handle moving stacks better + using itemstack = std::vector >; + + const aim_location id; + // Used for the small overview 3x3 grid + point hscreen = point_zero; + // relative (to the player) position of the map point + tripoint off; + /** Long name, displayed, translated */ + const std::string name = "fake"; + /** Shorter name (2 letters) */ + const std::string shortname = "FK"; // FK in my coffee + // absolute position of the map point. + tripoint pos; + /** Can we put items there? Only checks if location is valid, not if + selected container in pane is. For full check use canputitems() **/ + bool canputitemsloc; + // vehicle pointer and cargo part index + vehicle *veh; + int vstor; + // description, e.g. vehicle name, label, or terrain + std::array desc; + // flags, e.g. FIRE, TRAP, WATER + std::string flags; + // total volume and weight of items currently there + units::volume volume; + units::mass weight; + // maximal count / volume of items there. + int max_size; + // appears as part of the legend at the top right + const std::string minimapname; + // user commant that corresponds to this location + const std::string actionname; + // used for isometric view + const aim_location relative_location; + + advanced_inv_area( aim_location id ) : id( id ), relative_location( id ) {} + advanced_inv_area( aim_location id, int hscreenx, int hscreeny, tripoint off, + const std::string &name, const std::string &shortname, std::string minimapname, + std::string actionname, aim_location relative_location ) : id( id ), + hscreen( hscreenx, hscreeny ), off( off ), name( name ), shortname( shortname ), + canputitemsloc( false ), veh( nullptr ), vstor( -1 ), volume( 0_ml ), + weight( 0_gram ), max_size( 0 ), minimapname( minimapname ), actionname( actionname ), + relative_location( relative_location ) { + } + + void init(); + + template + advanced_inv_area::itemstack i_stacked( T items ); + // if you want vehicle cargo, specify so via `in_vehicle' + units::volume free_volume( bool in_vehicle = false ) const; + int get_item_count() const; + // Other area is actually the same item source, e.g. dragged vehicle to the south and AIM_SOUTH + bool is_same( const advanced_inv_area &other ) const; + // does _not_ check vehicle storage, do that with `can_store_in_vehicle()' below + bool canputitems( const advanced_inv_listitem *advitem = nullptr ); + // if you want vehicle cargo, specify so via `in_vehicle' + item *get_container( bool in_vehicle = false ); + void set_container( const advanced_inv_listitem *advitem ); + bool is_container_valid( const item *it ) const; + void set_container_position(); + aim_location offset_to_location() const; + bool can_store_in_vehicle() const { + // disallow for non-valid vehicle locations + if( id > AIM_DRAGGED || id < AIM_SOUTHWEST ) { + return false; + } + return veh != nullptr && vstor >= 0; + } +}; +#endif diff --git a/src/advanced_inv_listitem.cpp b/src/advanced_inv_listitem.cpp new file mode 100644 index 0000000000000..a09c62db81b43 --- /dev/null +++ b/src/advanced_inv_listitem.cpp @@ -0,0 +1,99 @@ +#include "auto_pickup.h" +#include "avatar.h" +#include "cata_utility.h" +#include "catacharset.h" +#include "input.h" +#include "item_category.h" +#include "item_search.h" +#include "item_stack.h" +#include "options.h" +#include "output.h" +#include "player.h" +#include "player_activity.h" +#include "string_formatter.h" +#include "color.h" +#include "int_id.h" +#include "item.h" +#include "ret_val.h" +#include "type_id.h" +#include "enums.h" +#include "faction.h" +#include "material.h" +#include "advanced_inv_listitem.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +advanced_inv_listitem::advanced_inv_listitem( item *an_item, int index, int count, + aim_location area, bool from_vehicle ) + : idx( index ) + , area( area ) + , id( an_item->typeId() ) + , name( an_item->tname( count ) ) + , name_without_prefix( an_item->tname( 1, false ) ) + , autopickup( get_auto_pickup().has_rule( an_item ) ) + , stacks( count ) + , volume( an_item->volume() * stacks ) + , weight( an_item->weight() * stacks ) + , cat( &an_item->get_category() ) + , from_vehicle( from_vehicle ) +{ + items.push_back( an_item ); + assert( stacks >= 1 ); +} + +advanced_inv_listitem::advanced_inv_listitem( const std::list &list, int index, + aim_location area, bool from_vehicle ) : + idx( index ), + area( area ), + id( list.front()->typeId() ), + items( list ), + name( list.front()->tname( list.size() ) ), + name_without_prefix( list.front()->tname( 1, false ) ), + autopickup( get_auto_pickup().has_rule( list.front() ) ), + stacks( list.size() ), + volume( list.front()->volume() * stacks ), + weight( list.front()->weight() * stacks ), + cat( &list.front()->get_category() ), + from_vehicle( from_vehicle ) +{ + assert( stacks >= 1 ); +} + +advanced_inv_listitem::advanced_inv_listitem() + : idx() + , area() + , id( "null" ) + , autopickup() + , stacks() + , cat( nullptr ) +{ +} + +advanced_inv_listitem::advanced_inv_listitem( const item_category *cat ) + : idx() + , area() + , id( "null" ) + , name( cat->name() ) + , autopickup() + , stacks() + , cat( cat ) +{ +} + +bool advanced_inv_listitem::is_category_header() const +{ + return items.empty() && cat != nullptr; +} + +bool advanced_inv_listitem::is_item_entry() const +{ + return !items.empty(); +} diff --git a/src/advanced_inv_listitem.h b/src/advanced_inv_listitem.h new file mode 100644 index 0000000000000..9fb1c2ff5b55e --- /dev/null +++ b/src/advanced_inv_listitem.h @@ -0,0 +1,111 @@ +#pragma once +#ifndef ADVANCED_INV_LISTITEM_H +#define ADVANCED_INV_LISTITEM_H +#include "cursesdef.h" +#include "units.h" +#include "advanced_inv_area.h" +#include "color.h" +#include "player.h" + +#include +#include +#include +#include +#include +#include + +// see item_factory.h +class item_category; + +/** + * Entry that is displayed in a adv. inv. pane. It can either contain a + * single item or a category header or nothing (empty entry). + * Most members are used only for sorting. + */ +class advanced_inv_listitem +{ + public: + using itype_id = std::string; + /** + * Index of the item in the itemstack. + */ + int idx; + /** + * The location of the item, never AIM_ALL. + */ + aim_location area; + // the id of the item + itype_id id; + // The list of items, and empty when a header + std::list items; + /** + * The displayed name of the item/the category header. + */ + std::string name; + /** + * Name of the item (singular) without damage (or similar) prefix, used for sorting. + */ + std::string name_without_prefix; + /** + * Whether auto pickup is enabled for this item (based on the name). + */ + bool autopickup; + /** + * The stack count represented by this item, should be >= 1, should be 1 + * for anything counted by charges. + */ + int stacks; + /** + * The volume of all the items in this stack, used for sorting. + */ + units::volume volume; + /** + * The weight of all the items in this stack, used for sorting. + */ + units::mass weight; + /** + * The item category, or the category header. + */ + const item_category *cat; + /** + * Is the item stored in a vehicle? + */ + bool from_vehicle; + /** + * Whether this is a category header entry, which does *not* have a reference + * to an item, only @ref cat is valid. + */ + bool is_category_header() const; + + /** Returns true if this is an item entry */ + bool is_item_entry() const; + /** + * Create a category header entry. + * @param cat The category reference, must not be null. + */ + advanced_inv_listitem( const item_category *cat ); + /** + * Creates an empty entry, both category and item pointer are null. + */ + advanced_inv_listitem(); + /** + * Create a normal item entry. + * @param an_item The item pointer. Must not be null. + * @param index The index + * @param count The stack size + * @param area The source area. Must not be AIM_ALL. + * @param from_vehicle Is the item from a vehicle cargo space? + */ + advanced_inv_listitem( item *an_item, int index, int count, + aim_location area, bool from_vehicle ); + /** + * Create a normal item entry. + * @param list The list of item pointers. + * @param index The index + * @param area The source area. Must not be AIM_ALL. + * @param from_vehicle Is the item from a vehicle cargo space? + */ + advanced_inv_listitem( const std::list &list, int index, + aim_location area, bool from_vehicle ); +}; +#endif diff --git a/src/advanced_inv_pane.cpp b/src/advanced_inv_pane.cpp new file mode 100644 index 0000000000000..d16c5a8ed2405 --- /dev/null +++ b/src/advanced_inv_pane.cpp @@ -0,0 +1,257 @@ +#include "auto_pickup.h" +#include "avatar.h" +#include "cata_utility.h" +#include "catacharset.h" +#include "input.h" +#include "item_category.h" +#include "item_search.h" +#include "item_stack.h" +#include "output.h" +#include "player.h" +#include "string_formatter.h" +#include "string_input_popup.h" +#include "uistate.h" +#include "calendar.h" +#include "color.h" +#include "game_constants.h" +#include "int_id.h" +#include "inventory.h" +#include "item.h" +#include "ret_val.h" +#include "type_id.h" +#include "clzones.h" +#include "enums.h" +#include "bionics.h" +#include "material.h" +#include "ime.h" +#include "advanced_inv_pane.h" +#include "vehicle.h" +#include "map.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#if defined(__ANDROID__) +# include +#endif + +bool advanced_inventory_pane::is_filtered( const advanced_inv_listitem &it ) const +{ + return is_filtered( *it.items.front() ); +} + +bool advanced_inventory_pane::is_filtered( const item &it ) const +{ + if( it.has_flag( "HIDDEN_ITEM" ) ) { + return true; + } + if( filter.empty() ) { + return false; + } + + const std::string str = it.tname(); + if( filtercache.find( str ) == filtercache.end() ) { + const auto filter_fn = item_filter_from_string( filter ); + filtercache[str] = filter_fn; + + return !filter_fn( it ); + } + + return !filtercache[str]( it ); +} + +void advanced_inventory_pane::add_items_from_area( advanced_inv_area &square, + bool vehicle_override ) +{ + assert( square.id != AIM_ALL ); + square.volume = 0_ml; + square.weight = 0_gram; + if( !square.canputitems() ) { + return; + } + map &m = g->m; + player &u = g->u; + // Existing items are *not* cleared on purpose, this might be called + // several times in case all surrounding squares are to be shown. + if( square.id == AIM_INVENTORY ) { + const invslice &stacks = u.inv.slice(); + for( size_t x = 0; x < stacks.size(); ++x ) { + std::list item_pointers; + for( item &i : *stacks[x] ) { + item_pointers.push_back( &i ); + } + advanced_inv_listitem it( item_pointers, x, square.id, false ); + if( is_filtered( *it.items.front() ) ) { + continue; + } + square.volume += it.volume; + square.weight += it.weight; + items.push_back( it ); + } + } else if( square.id == AIM_WORN ) { + auto iter = u.worn.begin(); + for( size_t i = 0; i < u.worn.size(); ++i, ++iter ) { + advanced_inv_listitem it( &*iter, i, 1, square.id, false ); + if( is_filtered( *it.items.front() ) ) { + continue; + } + square.volume += it.volume; + square.weight += it.weight; + items.push_back( it ); + } + } else if( square.id == AIM_CONTAINER ) { + item *cont = square.get_container( in_vehicle() ); + if( cont != nullptr ) { + if( !cont->is_container_empty() ) { + // filtering does not make sense for liquid in container + item *it = &square.get_container( in_vehicle() )->contents.front(); + advanced_inv_listitem ait( it, 0, 1, square.id, in_vehicle() ); + square.volume += ait.volume; + square.weight += ait.weight; + items.push_back( ait ); + } + square.desc[0] = cont->tname( 1, false ); + } + } else { + bool is_in_vehicle = square.can_store_in_vehicle() && ( in_vehicle() || vehicle_override ); + const advanced_inv_area::itemstack &stacks = is_in_vehicle ? + square.i_stacked( square.veh->get_items( square.vstor ) ) : + square.i_stacked( m.i_at( square.pos ) ); + + for( size_t x = 0; x < stacks.size(); ++x ) { + advanced_inv_listitem it( stacks[x], x, square.id, is_in_vehicle ); + if( is_filtered( *it.items.front() ) ) { + continue; + } + square.volume += it.volume; + square.weight += it.weight; + items.push_back( it ); + } + } +} + +void advanced_inventory_pane::paginate( size_t itemsPerPage ) +{ + if( sortby != SORTBY_CATEGORY ) { + return; // not needed as there are no category entries here. + } + // first, we insert all the items, then we sort the result + for( size_t i = 0; i < items.size(); ++i ) { + if( i % itemsPerPage == 0 ) { + // first entry on the page, should be a category header + if( items[i].is_item_entry() ) { + items.insert( items.begin() + i, advanced_inv_listitem( items[i].cat ) ); + } + } + if( ( i + 1 ) % itemsPerPage == 0 && i + 1 < items.size() ) { + // last entry of the page, but not the last entry at all! + // Must *not* be a category header! + if( items[i].is_category_header() ) { + items.insert( items.begin() + i, advanced_inv_listitem() ); + } + } + } +} + +void advanced_inventory_pane::fix_index() +{ + if( items.empty() ) { + index = 0; + return; + } + if( index < 0 ) { + index = 0; + } else if( static_cast( index ) >= items.size() ) { + index = static_cast( items.size() ) - 1; + } + skip_category_headers( +1 ); +} + +void advanced_inventory_pane::skip_category_headers( int offset ) +{ + assert( offset != 0 ); // 0 would make no sense + assert( static_cast( index ) < items.size() ); // valid index is required + assert( offset == -1 || offset == +1 ); // only those two offsets are allowed + assert( !items.empty() ); // index would not be valid, and this would be an endless loop + while( !items[index].is_item_entry() ) { + mod_index( offset ); + } +} + +void advanced_inventory_pane::mod_index( int offset ) +{ + assert( offset != 0 ); // 0 would make no sense + assert( !items.empty() ); + index += offset; + if( index < 0 ) { + index = static_cast( items.size() ) - 1; + } else if( static_cast( index ) >= items.size() ) { + index = 0; + } +} + +void advanced_inventory_pane::scroll_by( int offset ) +{ + assert( offset != 0 ); // 0 would make no sense + if( items.empty() ) { + return; + } + mod_index( offset ); + skip_category_headers( offset > 0 ? +1 : -1 ); + redraw = true; +} + +void advanced_inventory_pane::scroll_category( int offset ) +{ + assert( offset != 0 ); // 0 would make no sense + assert( offset == -1 || offset == +1 ); // only those two offsets are allowed + if( items.empty() ) { + return; + } + assert( get_cur_item_ptr() != nullptr ); // index must already be valid! + auto cur_cat = items[index].cat; + if( offset > 0 ) { + while( items[index].cat == cur_cat ) { + index++; + if( static_cast( index ) >= items.size() ) { + index = 0; // wrap to begin, stop there. + break; + } + } + } else { + while( items[index].cat == cur_cat ) { + index--; + if( index < 0 ) { + index = static_cast( items.size() ) - 1; // wrap to end, stop there. + break; + } + } + } + // Make sure we land on an item entry. + skip_category_headers( offset > 0 ? +1 : -1 ); + redraw = true; +} + +advanced_inv_listitem *advanced_inventory_pane::get_cur_item_ptr() +{ + if( static_cast( index ) >= items.size() ) { + return nullptr; + } + return &items[index]; +} + +void advanced_inventory_pane::set_filter( const std::string &new_filter ) +{ + if( filter == new_filter ) { + return; + } + filter = new_filter; + filtercache.clear(); + recalc = true; +} diff --git a/src/advanced_inv_pane.h b/src/advanced_inv_pane.h new file mode 100644 index 0000000000000..2105432f6e180 --- /dev/null +++ b/src/advanced_inv_pane.h @@ -0,0 +1,131 @@ +#pragma once +#ifndef ADVANCED_INV_PANE_H +#define ADVANCED_INV_PANE_H +#include "cursesdef.h" +#include "point.h" +#include "units.h" +#include "advanced_inv_area.h" +#include "advanced_inv_listitem.h" +#include "color.h" +#include "uistate.h" + +#include +#include +#include +#include +#include +#include + +enum advanced_inv_sortby { + SORTBY_NONE, + SORTBY_NAME, + SORTBY_WEIGHT, + SORTBY_VOLUME, + SORTBY_CHARGES, + SORTBY_CATEGORY, + SORTBY_DAMAGE, + SORTBY_AMMO, + SORTBY_SPOILAGE +}; +/** + * Displayed pane, what is shown on the screen. + */ +class advanced_inventory_pane +{ + private: + aim_location area = NUM_AIM_LOCATIONS; + aim_location prev_area = area; + // pointer to the square this pane is pointing to + bool viewing_cargo = false; + bool prev_viewing_cargo = false; + public: + // set the pane's area via its square, and whether it is viewing a vehicle's cargo + void set_area( advanced_inv_area &square, bool in_vehicle_cargo = false ) { + prev_area = area; + prev_viewing_cargo = viewing_cargo; + area = square.id; + viewing_cargo = square.can_store_in_vehicle() && in_vehicle_cargo; + } + void restore_area() { + area = prev_area; + viewing_cargo = prev_viewing_cargo; + } + aim_location get_area() const { + return area; + } + bool prev_in_vehicle() const { + return prev_viewing_cargo; + } + bool in_vehicle() const { + return viewing_cargo; + } + bool on_ground() const { + return area > AIM_INVENTORY && area < AIM_DRAGGED; + } + /** + * Index of the selected item (index of @ref items), + */ + int index; + advanced_inv_sortby sortby; + catacurses::window window; + std::vector items; + /** + * The current filter string. + */ + std::string filter; + /** + * Whether to recalculate the content of this pane. + * Implies @ref redraw. + */ + bool recalc; + /** + * Whether to redraw this pane. + */ + bool redraw; + + void add_items_from_area( advanced_inv_area &square, bool vehicle_override = false ); + /** + * Makes sure the @ref index is valid (if possible). + */ + void fix_index(); + /** + * @param it The item to check, oly the name member is examined. + * @return Whether the item should be filtered (and not shown). + */ + bool is_filtered( const advanced_inv_listitem &it ) const; + /** + * Same as the other, but checks the real item. + */ + bool is_filtered( const item &it ) const; + /** + * Scroll @ref index, by given offset, set redraw to true, + * @param offset Must not be 0. + */ + void scroll_by( int offset ); + /** + * Scroll the index in category mode by given offset. + * @param offset Must be either +1 or -1 + */ + void scroll_category( int offset ); + /** + * @return either null, if @ref index is invalid, or the selected + * item in @ref items. + */ + advanced_inv_listitem *get_cur_item_ptr(); + /** + * Set the filter string, disables filtering when the filter string is empty. + */ + void set_filter( const std::string &new_filter ); + /** + * Insert additional category headers on the top of each page. + */ + void paginate( size_t itemsPerPage ); + private: + /** Scroll to next non-header entry */ + void skip_category_headers( int offset ); + /** Only add offset to index, but wrap around! */ + void mod_index( int offset ); + + mutable std::map> filtercache; +}; +#endif diff --git a/src/animation.cpp b/src/animation.cpp index c547918ebf1f1..ec58a3024863e 100644 --- a/src/animation.cpp +++ b/src/animation.cpp @@ -48,7 +48,7 @@ class basic_animation g->draw_panels(); query_popup() - .wait_message( "%s", _( "Hang on a bit..." ) ) + .wait_message( "%s", _( "Hang on a bit…" ) ) .on_top( true ) .show(); diff --git a/src/armor_layers.cpp b/src/armor_layers.cpp index 0b5e04107c1cb..afcd2f4cb0860 100644 --- a/src/armor_layers.cpp +++ b/src/armor_layers.cpp @@ -288,7 +288,7 @@ std::vector clothing_properties( std::vector clothing_protection( const item &worn_item, const int width ) { std::vector prot; - prot.reserve( 4 ); + prot.reserve( 6 ); const std::string space = " "; prot.push_back( string_format( "[%s]", _( "Protection" ) ) ); @@ -296,6 +296,10 @@ std::vector clothing_protection( const item &worn_item, const int w string_format( "%3d", static_cast( worn_item.bash_resist() ) ), width ) ); prot.push_back( name_and_value( space + _( "Cut:" ), string_format( "%3d", static_cast( worn_item.cut_resist() ) ), width ) ); + prot.push_back( name_and_value( space + _( "Acid:" ), + string_format( "%3d", static_cast( worn_item.acid_resist() ) ), width ) ); + prot.push_back( name_and_value( space + _( "Fire:" ), + string_format( "%3d", static_cast( worn_item.fire_resist() ) ), width ) ); prot.push_back( name_and_value( space + _( "Environmental:" ), string_format( "%3d", static_cast( worn_item.get_env_resist() ) ), width ) ); return prot; diff --git a/src/artifact.cpp b/src/artifact.cpp index ec881c66d9150..03c852e4b7527 100644 --- a/src/artifact.cpp +++ b/src/artifact.cpp @@ -261,16 +261,16 @@ enum artifact_armor_form { }; static const std::array artifact_shape_data = { { - {translate_marker( "sphere" ), translate_marker( "smooth sphere" ), 500_ml, 1000_ml, 1_gram, 1150_gram}, + {translate_marker( "sphere" ), translate_marker( "smooth sphere" ), 500_ml, 1_liter, 1_gram, 1150_gram}, {translate_marker( "rod" ), translate_marker( "tapered rod" ), 250_ml, 1750_ml, 1_gram, 800_gram}, {translate_marker( "teardrop" ), translate_marker( "teardrop-shaped stone" ), 500_ml, 1500_ml, 1_gram, 950_gram}, - {translate_marker( "lamp" ), translate_marker( "hollow, transparent cube" ), 1000_ml, 225_ml, 1_gram, 350_gram}, - {translate_marker( "snake" ), translate_marker( "winding, flexible rod" ), 0_ml, 2000_ml, 1_gram, 950_gram}, - {translate_marker( "disc" ), translate_marker( "smooth disc" ), 1000_ml, 1500_ml, 200_gram, 400_gram}, + {translate_marker( "lamp" ), translate_marker( "hollow, transparent cube" ), 1_liter, 225_ml, 1_gram, 350_gram}, + {translate_marker( "snake" ), translate_marker( "winding, flexible rod" ), 0_ml, 2_liter, 1_gram, 950_gram}, + {translate_marker( "disc" ), translate_marker( "smooth disc" ), 1_liter, 1500_ml, 200_gram, 400_gram}, {translate_marker( "beads" ), translate_marker( "string of beads" ), 750_ml, 1750_ml, 1_gram, 700_gram}, {translate_marker( "napkin" ), translate_marker( "very thin sheet" ), 0_ml, 750_ml, 1_gram, 350_gram}, {translate_marker( "urchin" ), translate_marker( "spiked sphere" ), 750_ml, 1250_ml, 200_gram, 700_gram}, - {translate_marker( "jelly" ), translate_marker( "malleable blob" ), 500_ml, 2000_ml, 200_gram, 450_gram}, + {translate_marker( "jelly" ), translate_marker( "malleable blob" ), 500_ml, 2_liter, 200_gram, 450_gram}, {translate_marker( "spiral" ), translate_marker( "spiraling rod" ), 1250_ml, 1500_ml, 200_gram, 350_gram}, {translate_marker( "pin" ), translate_marker( "pointed rod" ), 250_ml, 1250_ml, 100_gram, 1050_gram}, {translate_marker( "tube" ), translate_marker( "hollow tube" ), 500_ml, 1250_ml, 350_gram, 700_gram}, @@ -413,22 +413,22 @@ static const std::array artifact_property_ }; static const std::array artifact_tool_form_data = { { { - translate_marker( "Harp" ), ';', def_c_yellow, material_id( "wood" ), 5000_ml, 7500_ml, 1150_gram, 2100_gram, ARTWEAP_BULK, + translate_marker( "Harp" ), ';', def_c_yellow, material_id( "wood" ), 5_liter, 7500_ml, 1150_gram, 2100_gram, ARTWEAP_BULK, {{ARTWEAP_SPEAR, ARTWEAP_SWORD, ARTWEAP_KNIFE}} }, { - translate_marker( "Staff" ), '/', def_c_brown, material_id( "wood" ), 1500_ml, 3000_ml, 450_gram, 1150_gram, ARTWEAP_CLUB, + translate_marker( "Staff" ), '/', def_c_brown, material_id( "wood" ), 1500_ml, 3_liter, 450_gram, 1150_gram, ARTWEAP_CLUB, {{ARTWEAP_BULK, ARTWEAP_SPEAR, ARTWEAP_KNIFE}} }, { - translate_marker( "Sword" ), '/', def_c_light_blue, material_id( "steel" ), 2000_ml, 3500_ml, 900_gram, 3259_gram, ARTWEAP_SWORD, + translate_marker( "Sword" ), '/', def_c_light_blue, material_id( "steel" ), 2_liter, 3500_ml, 900_gram, 3259_gram, ARTWEAP_SWORD, {{ARTWEAP_BULK, NUM_ARTWEAPS, NUM_ARTWEAPS}} }, { - translate_marker( "Dagger" ), ';', def_c_light_blue, material_id( "steel" ), 250_ml, 1000_ml, 100_gram, 700_gram, ARTWEAP_KNIFE, + translate_marker( "Dagger" ), ';', def_c_light_blue, material_id( "steel" ), 250_ml, 1_liter, 100_gram, 700_gram, ARTWEAP_KNIFE, {{NUM_ARTWEAPS, NUM_ARTWEAPS, NUM_ARTWEAPS}} }, @@ -460,7 +460,7 @@ static const std::array artifact_arm }, { - translate_marker( "Coat" ), def_c_brown, material_id( "leather" ), 3500_ml, 1600_gram, 2, 2, 80, 2, 1, 4, 1000_ml, -6, 0, -3, + translate_marker( "Coat" ), def_c_brown, material_id( "leather" ), 3500_ml, 1600_gram, 2, 2, 80, 2, 1, 4, 1_liter, -6, 0, -3, { bp_torso }, false, {{ ARMORMOD_LIGHT, ARMORMOD_POCKETED, ARMORMOD_FURRED, ARMORMOD_PADDED, @@ -470,7 +470,7 @@ static const std::array artifact_arm }, { - translate_marker( "Mask" ), def_c_white, material_id( "wood" ), 1000_ml, 100_gram, 2, 2, 50, 2, 1, 2, 0_ml, 2, 0, -2, + translate_marker( "Mask" ), def_c_white, material_id( "wood" ), 1_liter, 100_gram, 2, 2, 50, 2, 1, 2, 0_ml, 2, 0, -2, { { bp_eyes, bp_mouth } }, false, {{ ARMORMOD_FURRED, ARMORMOD_FURRED, ARMORMOD_NULL, ARMORMOD_NULL, @@ -532,38 +532,38 @@ static const std::array artifact_armor { translate_marker( "very thin and light." ), def_c_white, material_id( "null" ), // Vol Wgt Enc MaxEnc Cov Thk Env Wrm Sto - -1000_ml, -950_gram, -2, -2, -1, -1, -1, -1, 0_ml, 0, 0, 0, {}, false, + -1_liter, -950_gram, -2, -2, -1, -1, -1, -1, 0_ml, 0, 0, 0, {}, false, {{ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL}} }, { translate_marker( "extremely bulky." ), def_c_white, material_id( "null" ), - 2000_ml, 1150_gram, 2, 2, 1, 1, 0, 1, 0_ml, 0, 0, 0, {}, false, + 2_liter, 1150_gram, 2, 2, 1, 1, 0, 1, 0_ml, 0, 0, 0, {}, false, {{ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL}} }, { translate_marker( "covered in pockets." ), def_c_white, material_id( "null" ), - 250_ml, 150_gram, 1, 1, 0, 0, 0, 0, 4000_ml, 0, 0, 0, {}, false, + 250_ml, 150_gram, 1, 1, 0, 0, 0, 0, 4_liter, 0, 0, 0, {}, false, {{ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL}} }, { translate_marker( "disgustingly furry." ), def_c_white, material_id( "wool" ), // Vol Wgt Enc MaxEnc Dmg Cut Env Wrm Sto - 1000_ml, 250_gram, 1, 1, 1, 1, 1, 3, 0_ml, 0, 0, 0, {}, false, + 1_liter, 250_gram, 1, 1, 1, 1, 1, 3, 0_ml, 0, 0, 0, {}, false, {{ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL}} }, { translate_marker( "leather-padded." ), def_c_white, material_id( "leather" ), - 1000_ml, 450_gram, 1, 1, 1, 1, 0, 1, -750_ml, 0, 0, 0, {}, false, + 1_liter, 450_gram, 1, 1, 1, 1, 0, 1, -750_ml, 0, 0, 0, {}, false, {{ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL}} }, { translate_marker( "plated in iron." ), def_c_white, material_id( "iron" ), - 1000_ml, 1400_gram, 3, 3, 2, 2, 0, 1, -1000_ml, 0, 0, 0, {}, false, + 1_liter, 1400_gram, 3, 3, 2, 2, 0, 1, -1_liter, 0, 0, 0, {}, false, {{ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL, ARMORMOD_NULL}} }, } @@ -585,8 +585,8 @@ static const std::array artifact_noun = { { std::string artifact_name( const std::string &type ); //Dreams for each charge req static const std::array artifact_dream_data = { { - { {translate_marker( "The %s is somehow vaguely dissatisfied even though it doesn't want anything. Seeing this is a bug!" )}, - {translate_marker( "The %s is satisfied, as it should be because it has no standards. Seeing this is a bug!" )}, + { {translate_marker( "The %s is somehow vaguely dissatisfied even though it doesn't want anything. Seeing this is a bug!" )}, + {translate_marker( "The %s is satisfied, as it should be because it has no standards. Seeing this is a bug!" )}, 100, 0 }, { {translate_marker( "Your %s feels needy, like it wants to be held." )}, {translate_marker( "You snuggle your %s closer." )}, @@ -594,7 +594,7 @@ static const std::array artifact_dream_data = { }, { {translate_marker( "Your %s feels needy, like it wants to be touched." )}, {translate_marker( "You press your %s against your skin." )}, 50, 35 - }, { {translate_marker( "The %s is confused to find you dreaming while awake. Seeing this is a bug!" )}, + }, { {translate_marker( "The %s is confused to find you dreaming while awake. Seeing this is a bug!" )}, {translate_marker( "Your %s sleeps soundly." )}, 100, 33 }, { {translate_marker( "Your %s longs for the glow." )}, diff --git a/src/assign.h b/src/assign.h index d978ee04b2774..d8ee1253cf84c 100644 --- a/src/assign.h +++ b/src/assign.h @@ -56,16 +56,21 @@ bool assign( JsonObject &jo, const std::string &name, T &val, bool strict = fals // Object via which to report errors which differs for proportional/relative values JsonObject err = jo; + err.allow_omitted_members(); + JsonObject relative = jo.get_object( "relative" ); + relative.allow_omitted_members(); + JsonObject proportional = jo.get_object( "proportional" ); + proportional.allow_omitted_members(); // Do not require strict parsing for relative and proportional values as rules // such as +10% are well-formed independent of whether they affect base value - if( jo.get_object( "relative" ).read( name, out ) ) { - err = jo.get_object( "relative" ); + if( relative.read( name, out ) ) { + err = relative; strict = false; out += val; - } else if( jo.get_object( "proportional" ).read( name, scalar ) ) { - err = jo.get_object( "proportional" ); + } else if( proportional.read( name, scalar ) ) { + err = proportional; if( scalar <= 0 || scalar == 1 ) { err.throw_error( "invalid proportional scalar", name ); } @@ -73,7 +78,6 @@ bool assign( JsonObject &jo, const std::string &name, T &val, bool strict = fals out = val * scalar; } else if( !jo.read( name, out ) ) { - return false; } @@ -96,15 +100,12 @@ inline bool assign( JsonObject &jo, const std::string &name, bool &val, bool str { bool out; - // Object via which to report errors which differs for proportional/relative values - JsonObject err = jo; - if( !jo.read( name, out ) ) { return false; } if( strict && out == val ) { - report_strict_violation( err, "assignment does not update value", name ); + report_strict_violation( jo, "assignment does not update value", name ); } val = out; @@ -171,8 +172,10 @@ template typename std::enable_if::value, bool>::type assign( JsonObject &jo, const std::string &name, std::set &val, bool = false ) { - auto add = jo.get_object( "extend" ); - auto del = jo.get_object( "delete" ); + JsonObject add = jo.get_object( "extend" ); + add.allow_omitted_members(); + JsonObject del = jo.get_object( "delete" ); + del.allow_omitted_members(); if( jo.has_string( name ) || jo.has_array( name ) ) { val = jo.get_tags( name ); @@ -239,21 +242,26 @@ inline bool assign( JsonObject &jo, const std::string &name, units::volume &val, // Object via which to report errors which differs for proportional/relative values JsonObject err = jo; + err.allow_omitted_members(); + JsonObject relative = jo.get_object( "relative" ); + relative.allow_omitted_members(); + JsonObject proportional = jo.get_object( "proportional" ); + proportional.allow_omitted_members(); // Do not require strict parsing for relative and proportional values as rules // such as +10% are well-formed independent of whether they affect base value - if( jo.get_object( "relative" ).has_member( name ) ) { + if( relative.has_member( name ) ) { units::volume tmp; - err = jo.get_object( "relative" ); + err = relative; if( !parse( err, tmp ) ) { err.throw_error( "invalid relative value specified", name ); } strict = false; out = val + tmp; - } else if( jo.get_object( "proportional" ).has_member( name ) ) { + } else if( proportional.has_member( name ) ) { double scalar; - err = jo.get_object( "proportional" ); + err = proportional; if( !err.read( name, scalar ) || scalar <= 0 || scalar == 1 ) { err.throw_error( "invalid proportional scalar", name ); } @@ -299,21 +307,26 @@ inline bool assign( JsonObject &jo, const std::string &name, units::mass &val, // Object via which to report errors which differs for proportional/relative values JsonObject err = jo; + err.allow_omitted_members(); + JsonObject relative = jo.get_object( "relative" ); + relative.allow_omitted_members(); + JsonObject proportional = jo.get_object( "proportional" ); + proportional.allow_omitted_members(); // Do not require strict parsing for relative and proportional values as rules // such as +10% are well-formed independent of whether they affect base value - if( jo.get_object( "relative" ).has_member( name ) ) { + if( relative.has_member( name ) ) { units::mass tmp; - err = jo.get_object( "relative" ); + err = relative; if( !parse( err, tmp ) ) { err.throw_error( "invalid relative value specified", name ); } strict = false; out = val + tmp; - } else if( jo.get_object( "proportional" ).has_member( name ) ) { + } else if( proportional.has_member( name ) ) { double scalar; - err = jo.get_object( "proportional" ); + err = proportional; if( !err.read( name, scalar ) || scalar <= 0 || scalar == 1 ) { err.throw_error( "invalid proportional scalar", name ); } @@ -359,21 +372,26 @@ inline bool assign( JsonObject &jo, const std::string &name, units::money &val, // Object via which to report errors which differs for proportional/relative values JsonObject err = jo; + err.allow_omitted_members(); + JsonObject relative = jo.get_object( "relative" ); + relative.allow_omitted_members(); + JsonObject proportional = jo.get_object( "proportional" ); + proportional.allow_omitted_members(); // Do not require strict parsing for relative and proportional values as rules // such as +10% are well-formed independent of whether they affect base value - if( jo.get_object( "relative" ).has_member( name ) ) { + if( relative.has_member( name ) ) { units::money tmp; - err = jo.get_object( "relative" ); + err = relative; if( !parse( err, tmp ) ) { err.throw_error( "invalid relative value specified", name ); } strict = false; out = val + tmp; - } else if( jo.get_object( "proportional" ).has_member( name ) ) { + } else if( proportional.has_member( name ) ) { double scalar; - err = jo.get_object( "proportional" ); + err = proportional; if( !err.read( name, scalar ) || scalar <= 0 || scalar == 1 ) { err.throw_error( "invalid proportional scalar", name ); } @@ -424,21 +442,26 @@ inline bool assign( JsonObject &jo, const std::string &name, units::energy &val, // Object via which to report errors which differs for proportional/relative values JsonObject err = jo; + err.allow_omitted_members(); + JsonObject relative = jo.get_object( "relative" ); + relative.allow_omitted_members(); + JsonObject proportional = jo.get_object( "proportional" ); + proportional.allow_omitted_members(); // Do not require strict parsing for relative and proportional values as rules // such as +10% are well-formed independent of whether they affect base value - if( jo.get_object( "relative" ).has_member( name ) ) { + if( relative.has_member( name ) ) { units::energy tmp; - err = jo.get_object( "relative" ); + err = relative; if( !parse( err, tmp ) ) { err.throw_error( "invalid relative value specified", name ); } strict = false; out = val + tmp; - } else if( jo.get_object( "proportional" ).has_member( name ) ) { + } else if( proportional.has_member( name ) ) { double scalar; - err = jo.get_object( "proportional" ); + err = proportional; if( !err.read( name, scalar ) || scalar <= 0 || scalar == 1 ) { err.throw_error( "invalid proportional scalar", name ); } @@ -484,7 +507,7 @@ class time_duration; template inline typename std::enable_if::type, time_duration>::value, bool>::type -read_with_factor( JsonObject jo, const std::string &name, T &val, const T &factor ) +read_with_factor( JsonObject &jo, const std::string &name, T &val, const T &factor ) { int tmp; if( jo.read( name, tmp, false ) ) { @@ -514,16 +537,21 @@ std::enable_if::type, time_duration>::value, // Object via which to report errors which differs for proportional/relative values JsonObject err = jo; + err.allow_omitted_members(); + JsonObject relative = jo.get_object( "relative" ); + relative.allow_omitted_members(); + JsonObject proportional = jo.get_object( "proportional" ); + proportional.allow_omitted_members(); // Do not require strict parsing for relative and proportional values as rules // such as +10% are well-formed independent of whether they affect base value - if( read_with_factor( jo.get_object( "relative" ), name, out, factor ) ) { - err = jo.get_object( "relative" ); + if( read_with_factor( relative, name, out, factor ) ) { + err = relative; strict = false; out = out + val; - } else if( jo.get_object( "proportional" ).read( name, scalar ) ) { - err = jo.get_object( "proportional" ); + } else if( proportional.read( name, scalar ) ) { + err = proportional; if( scalar <= 0 || scalar == 1 ) { err.throw_error( "invalid proportional scalar", name ); } diff --git a/src/auto_pickup.cpp b/src/auto_pickup.cpp index 0dcb61d57efed..b852d416b0fe9 100644 --- a/src/auto_pickup.cpp +++ b/src/auto_pickup.cpp @@ -667,7 +667,7 @@ bool player_settings::save_global() bool player_settings::save( const bool bCharacter ) { - auto savefile = FILENAMES["autopickup"]; + auto savefile = PATH_INFO::autopickup(); if( bCharacter ) { savefile = g->get_player_base_save_path() + ".apu.json"; @@ -696,7 +696,7 @@ void player_settings::load_global() void player_settings::load( const bool bCharacter ) { - std::string sFile = FILENAMES["autopickup"]; + std::string sFile = PATH_INFO::autopickup(); if( bCharacter ) { sFile = g->get_player_base_save_path() + ".apu.json"; } @@ -754,7 +754,7 @@ void rule_list::deserialize( JsonIn &jsin ) bool player_settings::load_legacy( const bool bCharacter ) { - std::string sFile = FILENAMES["legacy_autopickup2"]; + std::string sFile = PATH_INFO::legacy_autopickup2(); if( bCharacter ) { sFile = g->get_player_base_save_path() + ".apu.txt"; @@ -768,7 +768,7 @@ bool player_settings::load_legacy( const bool bCharacter ) const auto &reader = std::bind( &rule_list::load_legacy_rules, std::ref( rules ), _1 ); if( !read_from_file_optional( sFile, reader ) ) { if( !bCharacter ) { - return read_from_file_optional( FILENAMES["legacy_autopickup"], reader ); + return read_from_file_optional( PATH_INFO::legacy_autopickup(), reader ); } else { return false; } diff --git a/src/avatar.cpp b/src/avatar.cpp index 78840c2e03117..ed702634113e8 100644 --- a/src/avatar.cpp +++ b/src/avatar.cpp @@ -79,6 +79,7 @@ const efftype_id effect_sleep_deprived( "sleep_deprived" ); const efftype_id effect_slept_through_alarm( "slept_through_alarm" ); const efftype_id effect_stim( "stim" ); const efftype_id effect_stim_overdose( "stim_overdose" ); +const efftype_id effect_winded( "winded" ); static const bionic_id bio_eye_optic( "bio_eye_optic" ); static const bionic_id bio_memory( "bio_memory" ); @@ -192,6 +193,14 @@ mission *avatar::get_active_mission() const return active_mission; } +void avatar::reset_all_misions() +{ + active_mission = nullptr; + active_missions.clear(); + completed_missions.clear(); + failed_missions.clear(); +} + tripoint avatar::get_active_mission_target() const { if( active_mission == nullptr ) { @@ -392,7 +401,7 @@ bool avatar::read( int inventory_position, const bool continuous ) if( !has_identified( it.typeId() ) ) { if( reader != this ) { add_msg( m_info, fail_messages[0] ); - add_msg( m_info, _( "%s reads aloud..." ), reader->disp_name() ); + add_msg( m_info, _( "%s reads aloud…" ), reader->disp_name() ); } assign_activity( act ); return true; @@ -456,7 +465,7 @@ bool avatar::read( int inventory_position, const bool continuous ) // Some helpers to reduce repetition: auto length = []( const std::pair &elem ) { - return elem.first->disp_name().size() + elem.second.size(); + return utf8_width( elem.first->disp_name() ) + utf8_width( elem.second ); }; auto max_length = [&length]( const std::map &m ) { @@ -473,7 +482,7 @@ bool avatar::read( int inventory_position, const bool continuous ) const int lvl = elem.first->get_skill_level( skill ); const std::string lvl_text = skill ? string_format( _( " | current level: %d" ), lvl ) : ""; const std::string name_text = elem.first->disp_name() + elem.second; - return string_format( "%-*s%s", static_cast( max_length( m ) ), name_text, lvl_text ); + return string_format( "%s%s", left_justify( name_text, max_length( m ) ), lvl_text ); }; auto add_header = [&menu]( const std::string & str ) { @@ -526,7 +535,7 @@ bool avatar::read( int inventory_position, const bool continuous ) } if( it.type->use_methods.count( "MA_MANUAL" ) ) { - if( g->u.has_martialart( martial_art_learned_from( *it.type ) ) ) { + if( g->u.martial_arts_data.has_martialart( martial_art_learned_from( *it.type ) ) ) { g->u.add_msg_if_player( m_info, _( "You already know all this book has to teach." ) ); activity.set_to_null(); return false; @@ -553,9 +562,9 @@ bool avatar::read( int inventory_position, const bool continuous ) if( !continuous || activity.position != act.position ) { if( reader != this ) { add_msg( m_info, fail_messages[0] ); - add_msg( m_info, _( "%s reads aloud..." ), reader->disp_name() ); + add_msg( m_info, _( "%s reads aloud…" ), reader->disp_name() ); } else if( !learners.empty() || !fun_learners.empty() ) { - add_msg( m_info, _( "You read aloud..." ) ); + add_msg( m_info, _( "You read aloud…" ) ); } } @@ -612,7 +621,7 @@ bool avatar::read( int inventory_position, const bool continuous ) // push an indentifier of martial art book to the action handling if( it.type->use_methods.count( "MA_MANUAL" ) ) { - if( g->u.stamina < g->u.get_stamina_max() / 10 ) { + if( g->u.get_stamina() < g->u.get_stamina_max() / 10 ) { add_msg( m_info, _( "You are too exhausted to train martial arts." ) ); return false; } @@ -839,7 +848,7 @@ void avatar::do_read( item &book ) add_msg( m_info, _( "Rereading the %s isn't as much fun for %s." ), book.type_name(), names ); if( out_of_chapters.front() == disp_name() && one_in( 6 ) ) { - add_msg( m_info, _( "Maybe you should find something new to read..." ) ); + add_msg( m_info, _( "Maybe you should find something new to read…" ) ); } } @@ -916,9 +925,9 @@ void avatar::wake_up() } if( has_effect( effect_slept_through_alarm ) ) { if( has_bionic( bio_watch ) ) { - add_msg( m_warning, _( "It looks like you've slept through your internal alarm..." ) ); + add_msg( m_warning, _( "It looks like you've slept through your internal alarm…" ) ); } else { - add_msg( m_warning, _( "It looks like you've slept through the alarm..." ) ); + add_msg( m_warning, _( "It looks like you've slept through the alarm…" ) ); } } } @@ -944,19 +953,31 @@ void avatar::vomit() void avatar::disp_morale() { int equilibrium = calc_focus_equilibrium(); - if( get_fatigue() >= MASSIVE_FATIGUE && ( focus_pool > 20 || equilibrium > 20 ) ) { + + int fatigue_penalty = 0; + if( get_fatigue() >= MASSIVE_FATIGUE && equilibrium > 20 ) { + fatigue_penalty = equilibrium - 20; equilibrium = 20; - } else if( get_fatigue() >= EXHAUSTED && ( focus_pool > 40 || equilibrium > 40 ) ) { + } else if( get_fatigue() >= EXHAUSTED && equilibrium > 40 ) { + fatigue_penalty = equilibrium - 40; equilibrium = 40; - } else if( get_fatigue() >= DEAD_TIRED && ( focus_pool > 60 || equilibrium > 60 ) ) { + } else if( get_fatigue() >= DEAD_TIRED && equilibrium > 60 ) { + fatigue_penalty = equilibrium - 60; equilibrium = 60; - } else if( get_fatigue() >= TIRED && ( focus_pool > 80 || equilibrium > 80 ) ) { + } else if( get_fatigue() >= TIRED && equilibrium > 80 ) { + fatigue_penalty = equilibrium - 80; equilibrium = 80; } - morale->display( equilibrium ); + + int pain_penalty = 0; + if( get_perceived_pain() && !has_trait( trait_CENOBITE ) ) { + pain_penalty = calc_focus_equilibrium( true ) - equilibrium - fatigue_penalty; + } + + morale->display( equilibrium, pain_penalty, fatigue_penalty ); } -int avatar::calc_focus_equilibrium() const +int avatar::calc_focus_equilibrium( bool ignore_pain ) const { int focus_equilibrium = 100; @@ -975,7 +996,7 @@ int avatar::calc_focus_equilibrium() const int eff_morale = get_morale_level(); // Factor in perceived pain, since it's harder to rest your mind while your body hurts. // Cenobites don't mind, though - if( !has_trait( trait_CENOBITE ) ) { + if( !ignore_pain && !has_trait( trait_CENOBITE ) ) { eff_morale = eff_morale - get_perceived_pain(); } @@ -988,7 +1009,7 @@ int avatar::calc_focus_equilibrium() const } else { /* Above 50 morale, we apply strong diminishing returns. * Each block of 50 takes twice as many morale points as the previous one: - * 50 focus at 50 morale (as before) + * 150 focus at 50 morale (as before) * 200 focus at 150 morale (100 more morale) * 250 focus at 350 morale (200 more morale) * ... @@ -1072,6 +1093,8 @@ void avatar::update_mental_focus() void avatar::reset_stats() { + const int current_stim = get_stim(); + // Trait / mutation buffs if( has_trait( trait_THICK_SCALES ) ) { add_miss_reason( _( "Your thick scales get in the way." ), 2 ); @@ -1144,12 +1167,12 @@ void avatar::reset_stats() set_fake_effect_dur( effect_sad, 1_turns * -morale ); // Stimulants - set_fake_effect_dur( effect_stim, 1_turns * stim ); - set_fake_effect_dur( effect_depressants, 1_turns * -stim ); + set_fake_effect_dur( effect_stim, 1_turns * current_stim ); + set_fake_effect_dur( effect_depressants, 1_turns * -current_stim ); if( has_trait( trait_STIMBOOST ) ) { - set_fake_effect_dur( effect_stim_overdose, 1_turns * ( stim - 60 ) ); + set_fake_effect_dur( effect_stim_overdose, 1_turns * ( current_stim - 60 ) ); } else { - set_fake_effect_dur( effect_stim_overdose, 1_turns * ( stim - 30 ) ); + set_fake_effect_dur( effect_stim_overdose, 1_turns * ( current_stim - 30 ) ); } // Starvation const float bmi = get_bmi(); @@ -1210,7 +1233,7 @@ void avatar::reset_stats() mod_hit_bonus( mabuff_tohit_bonus() + weapon.type->m_to_hit ); // Apply static martial arts buffs - ma_static_effects(); + martial_arts_data.ma_static_effects( *this ); if( calendar::once_every( 1_minutes ) ) { update_mental_focus(); @@ -1356,3 +1379,302 @@ faction *avatar::get_faction() const { return g->faction_manager_ptr->get( faction_id( "your_followers" ) ); } + +void avatar::set_movement_mode( character_movemode new_mode ) +{ + switch( new_mode ) { + case CMM_WALK: { + if( is_mounted() ) { + if( mounted_creature->has_flag( MF_RIDEABLE_MECH ) ) { + add_msg( _( "You set your mech's leg power to a loping fast walk." ) ); + } else { + add_msg( _( "You nudge your steed into a steady trot." ) ); + } + } else { + add_msg( _( "You start walking." ) ); + } + break; + } + case CMM_RUN: { + if( can_run() ) { + if( is_hauling() ) { + stop_hauling(); + } + if( is_mounted() ) { + if( mounted_creature->has_flag( MF_RIDEABLE_MECH ) ) { + add_msg( _( "You set the power of your mech's leg servos to maximum." ) ); + } else { + add_msg( _( "You spur your steed into a gallop." ) ); + } + } else { + add_msg( _( "You start running." ) ); + } + } else { + if( is_mounted() ) { + // mounts dont currently have stamina, but may do in future. + add_msg( m_bad, _( "Your steed is too tired to go faster." ) ); + } else if( get_working_leg_count() < 2 ) { + add_msg( m_bad, _( "You need two functional legs to run." ) ); + } else { + add_msg( m_bad, _( "You're too tired to run." ) ); + } + return; + } + break; + } + case CMM_CROUCH: { + if( is_mounted() ) { + if( mounted_creature->has_flag( MF_RIDEABLE_MECH ) ) { + add_msg( _( "You reduce the power of your mech's leg servos to minimum." ) ); + } else { + add_msg( _( "You slow your steed to a walk." ) ); + } + } else { + add_msg( _( "You start crouching." ) ); + } + break; + } + default: { + return; + } + } + move_mode = new_mode; +} + +void avatar::toggle_run_mode() +{ + if( move_mode == CMM_RUN ) { + set_movement_mode( CMM_WALK ); + } else { + set_movement_mode( CMM_RUN ); + } +} + +void avatar::toggle_crouch_mode() +{ + if( move_mode == CMM_CROUCH ) { + set_movement_mode( CMM_WALK ); + } else { + set_movement_mode( CMM_CROUCH ); + } +} + +void avatar::reset_move_mode() +{ + if( move_mode != CMM_WALK ) { + set_movement_mode( CMM_WALK ); + } +} + +void avatar::cycle_move_mode() +{ + unsigned char as_uchar = static_cast( move_mode ); + as_uchar = ( as_uchar + 1 + CMM_COUNT ) % CMM_COUNT; + set_movement_mode( static_cast( as_uchar ) ); + // if a movemode is disabled then just cycle to the next one + if( !movement_mode_is( static_cast( as_uchar ) ) ) { + as_uchar = ( as_uchar + 1 + CMM_COUNT ) % CMM_COUNT; + set_movement_mode( static_cast( as_uchar ) ); + } +} + +bool avatar::wield( item &target ) +{ + if( is_wielding( target ) ) { + return true; + } + + if( !can_wield( target ).success() ) { + return false; + } + + if( !unwield() ) { + return false; + } + cached_info.erase( "weapon_value" ); + if( target.is_null() ) { + return true; + } + + // Query whether to draw an item from a holster when attempting to wield the holster + if( target.get_use( "holster" ) && !target.contents.empty() ) { + //~ %1$s: weapon name, %2$s: holster name + if( query_yn( pgettext( "holster", "Draw %1$s from %2$s?" ), target.get_contained().tname(), + target.tname() ) ) { + invoke_item( &target ); + return false; + } + } + + // Wielding from inventory is relatively slow and does not improve with increasing weapon skill. + // Worn items (including guns with shoulder straps) are faster but still slower + // than a skilled player with a holster. + // There is an additional penalty when wielding items from the inventory whilst currently grabbed. + + bool worn = is_worn( target ); + int mv = item_handling_cost( target, true, + worn ? INVENTORY_HANDLING_PENALTY / 2 : INVENTORY_HANDLING_PENALTY ); + + if( worn ) { + target.on_takeoff( *this ); + } + + add_msg( m_debug, "wielding took %d moves", mv ); + moves -= mv; + + if( has_item( target ) ) { + weapon = i_rem( &target ); + } else { + weapon = target; + } + + last_item = weapon.typeId(); + recoil = MAX_RECOIL; + + weapon.on_wield( *this, mv ); + + inv.update_invlet( weapon ); + inv.update_cache_with_item( weapon ); + + return true; +} + +bool avatar::invoke_item( item *used, const tripoint &pt ) +{ + const std::map &use_methods = used->type->use_methods; + + if( use_methods.empty() ) { + return false; + } else if( use_methods.size() == 1 ) { + return invoke_item( used, use_methods.begin()->first, pt ); + } + + uilist umenu; + + umenu.text = string_format( _( "What to do with your %s?" ), used->tname() ); + umenu.hilight_disabled = true; + + for( const auto &e : use_methods ) { + const auto res = e.second.can_call( *this, *used, false, pt ); + umenu.addentry_desc( MENU_AUTOASSIGN, res.success(), MENU_AUTOASSIGN, e.second.get_name(), + res.str() ); + } + + umenu.desc_enabled = std::any_of( umenu.entries.begin(), + umenu.entries.end(), []( const uilist_entry & elem ) { + return !elem.desc.empty(); + } ); + + umenu.query(); + + int choice = umenu.ret; + if( choice < 0 || choice >= static_cast( use_methods.size() ) ) { + return false; + } + + const std::string &method = std::next( use_methods.begin(), choice )->first; + + return invoke_item( used, method, pt ); +} + +bool avatar::invoke_item( item *used ) +{ + return Character::invoke_item( used ); +} + +bool avatar::invoke_item( item *used, const std::string &method, const tripoint &pt ) +{ + return Character::invoke_item( used, method, pt ); +} + +bool avatar::invoke_item( item *used, const std::string &method ) +{ + return Character::invoke_item( used, method ); +} + +points_left::points_left() +{ + limit = MULTI_POOL; + init_from_options(); +} + +void points_left::init_from_options() +{ + stat_points = get_option( "INITIAL_STAT_POINTS" ); + trait_points = get_option( "INITIAL_TRAIT_POINTS" ); + skill_points = get_option( "INITIAL_SKILL_POINTS" ); +} + +// Highest amount of points to spend on stats without points going invalid +int points_left::stat_points_left() const +{ + switch( limit ) { + case FREEFORM: + case ONE_POOL: + return stat_points + trait_points + skill_points; + case MULTI_POOL: + return std::min( trait_points_left(), + stat_points + std::min( 0, trait_points + skill_points ) ); + case TRANSFER: + return 0; + } + + return 0; +} + +int points_left::trait_points_left() const +{ + switch( limit ) { + case FREEFORM: + case ONE_POOL: + return stat_points + trait_points + skill_points; + case MULTI_POOL: + return stat_points + trait_points + std::min( 0, skill_points ); + case TRANSFER: + return 0; + } + + return 0; +} + +int points_left::skill_points_left() const +{ + return stat_points + trait_points + skill_points; +} + +bool points_left::is_freeform() +{ + return limit == FREEFORM; +} + +bool points_left::is_valid() +{ + return is_freeform() || + ( stat_points_left() >= 0 && trait_points_left() >= 0 && + skill_points_left() >= 0 ); +} + +bool points_left::has_spare() +{ + return !is_freeform() && is_valid() && skill_points_left() > 0; +} + +std::string points_left::to_string() +{ + if( limit == MULTI_POOL ) { + return string_format( + _( "Points left: %d%c%d%c%d=%d" ), + stat_points_left() >= 0 ? "light_gray" : "red", stat_points, + trait_points >= 0 ? '+' : '-', + trait_points_left() >= 0 ? "light_gray" : "red", abs( trait_points ), + skill_points >= 0 ? '+' : '-', + skill_points_left() >= 0 ? "light_gray" : "red", abs( skill_points ), + is_valid() ? "light_gray" : "red", stat_points + trait_points + skill_points ); + } else if( limit == ONE_POOL ) { + return string_format( _( "Points left: %4d" ), skill_points_left() ); + } else if( limit == TRANSFER ) { + return _( "Character Transfer: No changes can be made." ); + } else { + return _( "Freeform" ); + } +} diff --git a/src/avatar.h b/src/avatar.h index 462bd1a7ffb1d..d67abc1ca8571 100644 --- a/src/avatar.h +++ b/src/avatar.h @@ -44,6 +44,7 @@ class avatar : public player bool create( character_type type, const std::string &tempname = "" ); void randomize( bool random_scenario, points_left &points, bool play_now = false ); bool load_template( const std::string &template_name, points_left &points ); + void save_template( const std::string &name, const points_left &points ); bool is_avatar() const override { return true; @@ -73,13 +74,15 @@ class avatar : public player /** Provides the window and detailed morale data */ void disp_morale(); /** Uses morale and other factors to return the player's focus target goto value */ - int calc_focus_equilibrium() const; + int calc_focus_equilibrium( bool ignore_pain = false ) const; /** Calculates actual focus gain/loss value from focus equilibrium*/ int calc_focus_change() const; /** Uses calc_focus_change to update the player's current focus */ void update_mental_focus(); /** Resets stats, and applies effects in an idempotent manner */ void reset_stats() override; + /** Resets all missions before saving character to template */ + void reset_all_misions(); std::vector get_active_missions() const; std::vector get_completed_missions() const; @@ -162,6 +165,23 @@ class avatar : public player int kill_xp() const; faction *get_faction() const override; + // Set in npc::talk_to_you for use in further NPC interactions + bool dialogue_by_radio = false; + + void set_movement_mode( character_movemode mode ) override; + + void cycle_move_mode(); // Cycles to the next move mode. + void reset_move_mode(); // Resets to walking. + void toggle_run_mode(); // Toggles running on/off. + void toggle_crouch_mode(); // Toggles crouching on/off. + + bool wield( item &target ) override; + + using Character::invoke_item; + bool invoke_item( item *, const tripoint &pt ) override; + bool invoke_item( item * ) override; + bool invoke_item( item *, const std::string &, const tripoint &pt ) override; + bool invoke_item( item *, const std::string & ) override; private: map_memory player_map_memory; @@ -202,4 +222,28 @@ class avatar : public player int per_upgrade = 0; }; +struct points_left { + int stat_points; + int trait_points; + int skill_points; + + enum point_limit : int { + FREEFORM = 0, + ONE_POOL, + MULTI_POOL, + TRANSFER, + } limit; + + points_left(); + void init_from_options(); + // Highest amount of points to spend on stats without points going invalid + int stat_points_left() const; + int trait_points_left() const; + int skill_points_left() const; + bool is_freeform(); + bool is_valid(); + bool has_spare(); + std::string to_string(); +}; + #endif diff --git a/src/avatar_action.cpp b/src/avatar_action.cpp index 12d350ead9328..e5ac8df0c0d83 100644 --- a/src/avatar_action.cpp +++ b/src/avatar_action.cpp @@ -113,9 +113,9 @@ bool avatar_action::move( avatar &you, map &m, int dx, int dy, int dz ) } // by this point we're either walking, running, crouching, or attacking, so update the activity level to match - if( you.movement_mode_is( PMM_WALK ) ) { + if( you.movement_mode_is( CMM_WALK ) ) { you.increase_activity_level( LIGHT_EXERCISE ); - } else if( you.movement_mode_is( PMM_CROUCH ) ) { + } else if( you.movement_mode_is( CMM_CROUCH ) ) { you.increase_activity_level( MODERATE_EXERCISE ); } else { you.increase_activity_level( ACTIVE_EXERCISE ); @@ -207,7 +207,7 @@ bool avatar_action::move( avatar &you, map &m, int dx, int dy, int dz ) } } if( newdist > curdist ) { - add_msg( m_info, _( "You cannot pull yourself away from the faultline..." ) ); + add_msg( m_info, _( "You cannot pull yourself away from the faultline…" ) ); return false; } } @@ -251,7 +251,7 @@ bool avatar_action::move( avatar &you, map &m, int dx, int dy, int dz ) add_msg( m_good, _( "Your willpower asserts itself, and so do you!" ) ); } else { you.moves -= rng( 2, 8 ) * 10; - add_msg( m_bad, _( "You're too pacified to strike anything..." ) ); + add_msg( m_bad, _( "You're too pacified to strike anything…" ) ); return false; } } @@ -352,7 +352,7 @@ bool avatar_action::move( avatar &you, map &m, int dx, int dy, int dz ) // open it if we are walking // vault over it if we are running if( m.passable_ter_furn( dest_loc ) - && you.movement_mode_is( PMM_WALK ) + && you.movement_mode_is( CMM_WALK ) && m.open_door( dest_loc, !m.is_outside( you.pos() ) ) ) { you.moves -= 100; // if auto-move is on, continue moving next turn @@ -526,7 +526,7 @@ void avatar_action::swim( map &m, avatar &you, const tripoint &p ) if( m.veh_at( you.pos() ).part_with_feature( VPFLAG_BOARDABLE, true ) ) { m.board_vehicle( you.pos(), &you ); } - you.moves -= ( movecost > 200 ? 200 : movecost ) * ( trigdist && diagonal ? 1.41 : 1 ); + you.moves -= ( movecost > 200 ? 200 : movecost ) * ( trigdist && diagonal ? M_SQRT2 : 1 ); you.inv.rust_iron_items(); if( !you.is_mounted() ) { @@ -596,7 +596,7 @@ bool avatar_action::fire_check( avatar &you, const map &m, const targeting_data add_msg( m_good, _( "Your eyes steel, and you raise your weapon!" ) ); } else { you.moves -= rng( 2, 5 ) * 10; - add_msg( m_bad, _( "You can't fire your weapon, it's too heavy..." ) ); + add_msg( m_bad, _( "You can't fire your weapon, it's too heavy…" ) ); // break a possible loop when aiming if( you.activity ) { you.cancel_activity(); @@ -614,83 +614,99 @@ bool avatar_action::fire_check( avatar &you, const map &m, const targeting_data return false; } - auto gun = weapon.gun_current_mode(); - // check that a valid mode was returned and we are able to use it - if( !( gun && you.can_use( *gun ) ) ) { - add_msg( m_info, _( "You can no longer fire." ) ); - return false; - } - - const optional_vpart_position vp = m.veh_at( you.pos() ); - if( vp && vp->vehicle().player_in_control( you ) && gun->is_two_handed( you ) ) { - add_msg( m_info, _( "You need a free arm to drive!" ) ); - return false; - } - if( !weapon.is_gun() ) { // The weapon itself isn't a gun, this weapon is not fireable. return false; } - if( gun->has_flag( "FIRE_TWOHAND" ) && ( !you.has_two_arms() || - you.worn_with_flag( "RESTRICT_HANDS" ) ) ) { - add_msg( m_info, _( "You need two free hands to fire your %s." ), gun->tname() ); - return false; - } + std::vector messages; - // Skip certain checks if we are directly firing a vehicle turret - if( args.mode != TARGET_MODE_TURRET_MANUAL ) { - if( !gun->ammo_sufficient() && !gun->has_flag( "RELOAD_AND_SHOOT" ) ) { - if( !gun->ammo_remaining() ) { - add_msg( m_info, _( "You need to reload!" ) ); - } else { - add_msg( m_info, _( "Your %s needs %i charges to fire!" ), - gun->tname(), gun->ammo_required() ); - } - return false; + for( const std::pair &mode_map : weapon.gun_all_modes() ) { + bool fireable = true; + // check that a valid mode was returned and we are able to use it + if( !( mode_map.second && you.can_use( *mode_map.second ) ) ) { + messages.push_back( string_format( _( "You can no longer fire your %s." ), + mode_map.second->tname() ) ); + fireable = false; } - if( gun->get_gun_ups_drain() > 0 ) { - const int ups_drain = gun->get_gun_ups_drain(); - const int adv_ups_drain = std::max( 1, ups_drain * 3 / 5 ); - bool is_mech_weapon = false; - if( you.is_mounted() ) { - auto mons = g->u.mounted_creature.get(); - if( !mons->type->mech_weapon.empty() ) { - is_mech_weapon = true; + const optional_vpart_position vp = m.veh_at( you.pos() ); + if( vp && vp->vehicle().player_in_control( you ) && ( mode_map.second->is_two_handed( you ) || + mode_map.second->has_flag( "FIRE_TWOHAND" ) ) ) { + messages.push_back( string_format( _( "You can't use your %s while driving!" ), + mode_map.second->tname() ) ); + fireable = false; + } + + if( mode_map.second->has_flag( "FIRE_TWOHAND" ) && ( !you.has_two_arms() || + you.worn_with_flag( "RESTRICT_HANDS" ) ) ) { + messages.push_back( string_format( _( "You need two free hands to fire your %s." ), + mode_map.second->tname() ) ); + fireable = false; + } + + // Skip certain checks if we are directly firing a vehicle turret + if( args.mode != TARGET_MODE_TURRET_MANUAL ) { + if( !mode_map.second->ammo_sufficient() && !mode_map.second->has_flag( "RELOAD_AND_SHOOT" ) ) { + if( !mode_map.second->ammo_remaining() ) { + messages.push_back( string_format( _( "Your %s is empty!" ), mode_map.second->tname() ) ); + } else { + messages.push_back( string_format( _( "Your %s needs %i charges to fire!" ), + mode_map.second->tname(), mode_map.second->ammo_required() ) ); } + fireable = false; } - if( !is_mech_weapon ) { - if( !( you.has_charges( "UPS_off", ups_drain ) || - you.has_charges( "adv_UPS_off", adv_ups_drain ) || - ( you.has_active_bionic( bionic_id( "bio_ups" ) ) && - you.get_power_level() >= units::from_kilojoule( ups_drain ) ) ) ) { - add_msg( m_info, - _( "You need a UPS with at least %d charges or an advanced UPS with at least %d charges to fire that!" ), - ups_drain, adv_ups_drain ); - return false; + + if( mode_map.second->get_gun_ups_drain() > 0 ) { + const int ups_drain = mode_map.second->get_gun_ups_drain(); + const int adv_ups_drain = std::max( 1, ups_drain * 3 / 5 ); + bool is_mech_weapon = false; + if( you.is_mounted() ) { + monster *mons = g->u.mounted_creature.get(); + if( !mons->type->mech_weapon.empty() ) { + is_mech_weapon = true; + } } - } else { - if( !you.has_charges( "UPS", ups_drain ) ) { - add_msg( m_info, _( "Your mech has an empty battery, its weapon will not fire." ) ); - return false; + if( !is_mech_weapon ) { + if( !( you.has_charges( "UPS_off", ups_drain ) || + you.has_charges( "adv_UPS_off", adv_ups_drain ) || + ( you.has_active_bionic( bionic_id( "bio_ups" ) ) && + you.get_power_level() >= units::from_kilojoule( ups_drain ) ) ) ) { + messages.push_back( string_format( + _( "You need a UPS with at least %d charges or an advanced UPS with at least %d charges to fire the %s!" ), + mode_map.second->tname(), ups_drain, adv_ups_drain ) ); + fireable = false; + } + } else { + if( !you.has_charges( "UPS", ups_drain ) ) { + messages.push_back( string_format( _( "Your mech has an empty battery, its %s will not fire." ), + mode_map.second->tname() ) ); + fireable = false; + } } } - } - if( gun->has_flag( "MOUNTED_GUN" ) ) { - const bool v_mountable = static_cast( m.veh_at( you.pos() ).part_with_feature( "MOUNTABLE", - true ) ); - bool t_mountable = m.has_flag_ter_or_furn( "MOUNTABLE", you.pos() ); - if( !t_mountable && !v_mountable ) { - add_msg( m_info, - _( "You must stand near acceptable terrain or furniture to use this weapon. A table, a mound of dirt, a broken window, etc." ) ); - return false; + if( mode_map.second->has_flag( "MOUNTED_GUN" ) ) { + const bool v_mountable = static_cast( m.veh_at( you.pos() ).part_with_feature( "MOUNTABLE", + true ) ); + bool t_mountable = m.has_flag_ter_or_furn( "MOUNTABLE", you.pos() ); + if( !t_mountable && !v_mountable ) { + messages.push_back( string_format( + _( "You must stand near acceptable terrain or furniture to use this %s. A table, a mound of dirt, a broken window, etc." ), + mode_map.second->tname() ) ); + fireable = false; + } } } + if( fireable ) { + return true; + } } - return true; + for( const std::string &message : messages ) { + add_msg( m_info, message ); + } + return false; } bool avatar_action::fire( avatar &you, map &m ) @@ -750,7 +766,7 @@ bool avatar_action::fire( avatar &you, map &m ) you.mod_stat( "stamina", gun->get_min_str() * static_cast( 0.002f * get_option( "PLAYER_MAX_STAMINA" ) ) ); // At low stamina levels, firing starts getting slow. - int sta_percent = ( 100 * you.stamina ) / you.get_stamina_max(); + int sta_percent = ( 100 * you.get_stamina() ) / you.get_stamina_max(); reload_time += ( sta_percent < 25 ) ? ( ( 25 - sta_percent ) * 2 ) : 0; // Update targeting data to include ammo's range bonus @@ -820,7 +836,7 @@ bool avatar_action::fire( avatar &you, map &m, item &weapon, int bp_cost ) targeting_data args = { TARGET_MODE_FIRE, &weapon, gun.target->gun_range( &you ), - bp_cost, &you.weapon == &weapon, gun->ammo_data(), + bp_cost, you.is_wielding( weapon ), gun->ammo_data(), target_callback(), target_callback(), firing_callback(), firing_callback() }; @@ -877,7 +893,7 @@ void avatar_action::plthrow( avatar &you, int pos, add_msg( m_good, _( "You concentrate mightily, and your body obeys!" ) ); } else { you.moves -= rng( 2, 5 ) * 10; - add_msg( m_bad, _( "You can't muster up the effort to throw anything..." ) ); + add_msg( m_bad, _( "You can't muster up the effort to throw anything…" ) ); return; } } diff --git a/src/basecamp.cpp b/src/basecamp.cpp index 22facb44a6879..c237140ace9b6 100644 --- a/src/basecamp.cpp +++ b/src/basecamp.cpp @@ -8,6 +8,7 @@ #include #include "avatar.h" +#include "clzones.h" #include "output.h" #include "string_formatter.h" #include "translations.h" @@ -17,6 +18,7 @@ #include "item_group.h" #include "map.h" #include "map_iterator.h" +#include "overmap.h" #include "overmapbuffer.h" #include "player.h" #include "npc.h" @@ -34,6 +36,9 @@ #include "flat_set.h" #include "line.h" +const zone_type_id z_camp_storage( "CAMP_STORAGE" ); +const zone_type_id z_loot_ignore( "LOOT_IGNORE" ); + const std::map base_camps::all_directions = { // direction, direction id, tab order, direction abbreviation with bracket, direction tab title { base_camps::base_dir, { "[B]", base_camps::TAB_MAIN, to_translation( "base camp: base", "[B]" ), to_translation( "base camp: base", " MAIN " ) } }, @@ -122,6 +127,11 @@ std::string basecamp::board_name() const return string_format( _( "%s Board" ), name ); } +void basecamp::set_by_radio( bool access_by_radio ) +{ + by_radio = access_by_radio; +} + // read an expansion's terrain ID of the form faction_base_$TYPE_$CURLEVEL // find the last underbar, strip off the prefix of faction_base_ (which is 13 chars), // and the pull out the $TYPE and $CURLEVEL @@ -144,9 +154,8 @@ void basecamp::add_expansion( const std::string &terrain, const tripoint &new_po const point dir = talk_function::om_simple_dir( omt_pos, new_pos ); expansions[ dir ] = parse_expansion( terrain, new_pos ); - bool by_radio = rl_dist( g->u.global_omt_location(), omt_pos ) > 2; resources_updated = false; - reset_camp_resources( by_radio ); + reset_camp_resources(); update_provides( terrain, expansions[ dir ] ); directions.push_back( dir ); } @@ -164,10 +173,10 @@ void basecamp::add_expansion( const std::string &bldg, const tripoint &new_pos, update_resources( bldg ); } -void basecamp::define_camp( npc &p, const std::string &camp_type ) +void basecamp::define_camp( const tripoint &p, const std::string &camp_type ) { query_new_name(); - omt_pos = p.global_omt_location(); + omt_pos = p; const oter_id &omt_ref = overmap_buffer.ter( omt_pos ); // purging the regions guarantees all entries will start with faction_base_ for( const std::pair &expansion : @@ -181,7 +190,8 @@ void basecamp::define_camp( npc &p, const std::string &camp_type ) e.cur_level = -1; e.pos = omt_pos; expansions[base_camps::base_dir] = e; - overmap_buffer.ter_set( omt_pos, oter_id( "faction_base_camp_0" ) ); + overmap_buffer.ter_set( omt_pos, oter_id( "faction_base_camp_new_0" + + oter_get_rotation_string( omt_ref ) ) ); update_provides( base_camps::faction_encode_abs( e, 0 ), expansions[base_camps::base_dir] ); } else { @@ -433,7 +443,7 @@ void basecamp::update_in_progress( const std::string &bldg, const point &dir ) } } -void basecamp::reset_camp_resources( bool by_radio ) +void basecamp::reset_camp_resources() { reset_camp_workers(); if( !resources_updated ) { @@ -452,7 +462,7 @@ void basecamp::reset_camp_resources( bool by_radio ) } } } - form_crafting_inventory( by_radio ); + form_crafting_inventory(); } // available companion list manipulation @@ -568,8 +578,7 @@ std::list basecamp::use_charges( const itype_id &fake_id, int &quantity ) return ret; } -void basecamp::consume_components( map &target_map, const recipe &making, int batch_size, - bool by_radio ) +void basecamp::consume_components( map &target_map, const recipe &making, int batch_size ) { const tripoint &origin = target_map.getlocal( get_dumping_spot() ); const auto &req = making.requirements(); @@ -592,23 +601,31 @@ void basecamp::consume_components( map &target_map, const recipe &making, int ba } } -void basecamp::consume_components( const recipe &making, int batch_size, bool by_radio ) +void basecamp::consume_components( const recipe &making, int batch_size ) { if( by_radio ) { tinymap target_map; target_map.load( tripoint( omt_pos.x * 2, omt_pos.y * 2, omt_pos.z ), false ); - consume_components( target_map, making, batch_size, by_radio ); + consume_components( target_map, making, batch_size ); target_map.save(); } else { - consume_components( g->m, making, batch_size, by_radio ); + consume_components( g->m, making, batch_size ); } } void basecamp::form_crafting_inventory( map &target_map ) { _inv.clear(); - const tripoint &origin = target_map.getlocal( get_dumping_spot() ); - _inv.form_from_map( target_map, origin, range, nullptr, false, false ); + const tripoint &dump_spot = get_dumping_spot(); + const tripoint &origin = target_map.getlocal( dump_spot ); + auto &mgr = zone_manager::get_manager(); + if( g->m.check_vehicle_zones( g->get_levz() ) ) { + mgr.cache_vzones(); + } + if( mgr.has_near( z_camp_storage, dump_spot, 60 ) ) { + std::unordered_set src_set = mgr.get_near( z_camp_storage, dump_spot, 60 ); + _inv.form_from_zone( target_map, src_set, nullptr, false ); + } /* * something of a hack: add the resources we know the camp has * the hacky part is that we're adding resources based on the camp's flags, which were @@ -656,7 +673,7 @@ void basecamp::form_crafting_inventory( map &target_map ) } } -void basecamp::form_crafting_inventory( const bool by_radio ) +void basecamp::form_crafting_inventory() { if( by_radio ) { tinymap target_map; diff --git a/src/basecamp.h b/src/basecamp.h index c6d7a99cbb1d4..e0860bfcfcbce 100644 --- a/src/basecamp.h +++ b/src/basecamp.h @@ -132,6 +132,8 @@ class basecamp inline const std::string &camp_name() const { return name; } + void set_by_radio( bool access_by_radio ); + std::string board_name() const; std::vector directions; std::vector fortifications; @@ -144,7 +146,7 @@ class basecamp void add_expansion( const std::string &terrain, const tripoint &new_pos ); void add_expansion( const std::string &bldg, const tripoint &new_pos, const point &dir ); - void define_camp( npc &p, const std::string &camp_type = "default" ); + void define_camp( const tripoint &p, const std::string &camp_type = "default" ); std::string expansion_tab( const point &dir ) const; @@ -186,12 +188,11 @@ class basecamp // from a building std::map recipe_deck( const std::string &bldg ) const; int recipe_batch_max( const recipe &making ) const; - void form_crafting_inventory( bool by_radio = false ); + void form_crafting_inventory(); void form_crafting_inventory( map &target_map ); std::list use_charges( const itype_id &fake_id, int &quantity ); - void consume_components( const recipe &making, int batch_size, bool by_radio = false ); - void consume_components( map &target_map, const recipe &making, int batch_size, - bool by_radio = false ); + void consume_components( const recipe &making, int batch_size = false ); + void consume_components( map &target_map, const recipe &making, int batch_size ); std::string get_gatherlist() const; /** * spawn items or corpses based on search attempts @@ -201,8 +202,7 @@ class basecamp * @param difficulty a random number from 0 to difficulty is created for each attempt, and * if skill is higher, an item or corpse is spawned */ - void search_results( int skill, const Group_tag &group_id, int attempts, int difficulty, - bool by_radio = false ); + void search_results( int skill, const Group_tag &group_id, int attempts, int difficulty ); /** * spawn items or corpses based on search attempts * @param skill skill level of the search @@ -212,8 +212,7 @@ class basecamp * @param difficulty a random number from 0 to difficulty is created for each attempt, and * if skill is higher, an item or corpse is spawned */ - void hunting_results( int skill, const std::string &task, int attempts, int difficulty, - bool by_radio = false ); + void hunting_results( int skill, const std::string &task, int attempts, int difficulty ); inline const tripoint &get_dumping_spot() const { return dumping_spot; } @@ -221,7 +220,7 @@ class basecamp inline void set_dumping_spot( const tripoint &spot ) { dumping_spot = spot; } - void place_results( item result, bool by_radio ); + void place_results( item result ); // mission description functions void add_available_recipes( mission_data &mission_key, const point &dir, @@ -240,28 +239,30 @@ class basecamp std::string craft_description( const recipe_id &itm ); // main mission description collection - void get_available_missions( mission_data &mission_key, bool by_radio = false ); + void get_available_missions( mission_data &mission_key ); + void get_available_missions_by_dir( mission_data &mission_key, const point &dir ); // available companion list manipulation void reset_camp_workers(); comp_list get_mission_workers( const std::string &mission_id, bool contains = false ); // main mission start/return dispatch function - bool handle_mission( const std::string &miss_id, cata::optional miss_dir, - bool by_radio = false ); + bool handle_mission( const std::string &miss_id, cata::optional opt_miss_dir ); // mission start functions /// generic mission start function that wraps individual mission npc_ptr start_mission( const std::string &miss_id, time_duration duration, bool must_feed, const std::string &desc, bool group, const std::vector &equipment, - const std::string &skill_tested, int skill_level ); - void start_upgrade( const std::string &bldg, const point &dir, const std::string &key, - bool by_radio ); + const skill_id &skill_tested, int skill_level ); + npc_ptr start_mission( const std::string &miss_id, time_duration duration, + bool must_feed, const std::string &desc, bool group, + const std::vector &equipment, + const std::map &required_skills = {} ); + void start_upgrade( const std::string &bldg, const point &dir, const std::string &key ); std::string om_upgrade_description( const std::string &bldg, bool trunc = false ) const; void start_menial_labor(); void job_assignment_ui(); void start_crafting( const std::string &cur_id, const point &cur_dir, - const std::string &type, const std::string &miss_id, - bool by_radio = false ); + const std::string &type, const std::string &miss_id ); /// Called when a companion is sent to cut logs void start_cut_logs(); @@ -269,7 +270,7 @@ class basecamp void start_setup_hide_site(); void start_relay_hide_site(); /// Called when a compansion is sent to start fortifications - void start_fortifications( std::string &bldg_exp, bool by_radio ); + void start_fortifications( std::string &bldg_exp ); void start_combat_mission( const std::string &miss ); /// Called when a companion starts a chop shop @ref task mission bool start_garage_chop( const point &dir, const tripoint &omt_tgt ); @@ -302,8 +303,7 @@ class basecamp bool survey_return(); bool menial_return(); /// Called when a companion completes a gathering @ref task mission - bool gathering_return( const std::string &task, time_duration min_time, - bool by_radio = false ); + bool gathering_return( const std::string &task, time_duration min_time ); void recruit_return( const std::string &task, int score ); /** * Perform any mix of the three farm tasks. @@ -323,7 +323,7 @@ class basecamp void load_data( const std::string &data ); private: // lazy re-evaluation of available camp resources - void reset_camp_resources( bool by_radio = false ); + void reset_camp_resources(); void add_resource( const itype_id &camp_resource ); bool resources_updated = false; // omt pos @@ -340,6 +340,7 @@ class basecamp std::vector resources; static const int range = 20; inventory _inv; + bool by_radio; }; #endif diff --git a/src/bionics.cpp b/src/bionics.cpp index 0edb8ac6f8557..f273797c0bac9 100644 --- a/src/bionics.cpp +++ b/src/bionics.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include "action.h" #include "avatar.h" @@ -194,10 +195,9 @@ void npc::check_or_use_weapon_cbm( const bionic_id &cbm_id ) if( cbm_weapon_index >= 0 ) { return; } - - int free_power = std::max( 0, units::to_kilojoule( get_power_level() - get_max_power_level() ) * - static_cast( rules.cbm_reserve ) / 100 ); - if( free_power == 0 ) { + const float allowed_ratio = static_cast( rules.cbm_reserve ) / 100.0f; + const units::energy free_power = get_power_level() - get_max_power_level() * allowed_ratio; + if( free_power <= 0_mJ ) { return; } @@ -229,7 +229,7 @@ void npc::check_or_use_weapon_cbm( const bionic_id &cbm_id ) if( ups_drain > 0 ) { ammo_count = std::min( ammo_count, ups_charges / ups_drain ); } - int cbm_ammo = free_power / units::to_kilojoule( bionics[bio.id].power_activate ); + int cbm_ammo = free_power / bionics[bio.id].power_activate; if( weapon_value( weapon, ammo_count ) < weapon_value( cbm_weapon, cbm_ammo ) ) { real_weapon = weapon; @@ -237,7 +237,7 @@ void npc::check_or_use_weapon_cbm( const bionic_id &cbm_id ) cbm_weapon_index = index; } } else if( bionics[bio.id].weapon_bionic && !weapon.has_flag( "NO_UNWIELD" ) && - units::from_kilojoule( free_power ) > bionics[bio.id].power_activate ) { + free_power > bionics[bio.id].power_activate ) { if( is_armed() ) { stow_item( weapon ); } @@ -352,10 +352,26 @@ bool player::activate_bionic( int b, bool eff_only ) bionics[i.id].name ); } } + } else if( bio.id == "bio_evap" ) { + const w_point weatherPoint = *g->weather.weather_precise; + int humidity = get_local_humidity( weatherPoint.humidity, g->weather.weather, + g->is_sheltered( g->u.pos() ) ); + int water_available = lround( humidity * 3.0 / 100.0 ); // thirst units = 5 mL + if( water_available == 0 ) { + bio.powered = false; + add_msg_if_player( m_bad, _( "Your %s does not have sufficient humidity to function." ), + bionics[bio.id].name ); + return false; + } else if( water_available == 1 ) { + add_msg_if_player( m_mixed, + _( "Your %s issues a low humidity warning. Efficiency will be reduced." ), + bionics[bio.id].name ); + } } else if( bio.id == "bio_tools" ) { invalidate_crafting_inventory(); } else if( bio.id == "bio_cqb" ) { - if( !pick_style() ) { + const avatar *you = as_avatar(); + if( you && !martial_arts_data.pick_style( *you ) ) { bio.powered = false; add_msg_if_player( m_info, _( "You change your mind and turn it off." ) ); return false; @@ -503,22 +519,8 @@ bool player::activate_bionic( int b, bool eff_only ) force_comedown( get_effect( effect_adrenaline ) ); force_comedown( get_effect( effect_meth ) ); set_painkiller( 0 ); - stim = 0; + set_stim( 0 ); mod_moves( -100 ); - } else if( bio.id == "bio_evap" ) { - item water = item( "water_clean", 0 ); - water.set_item_temperature( 283.15 ); - int humidity = weatherPoint.humidity; - int water_charges = lround( humidity * 3.0 / 100.0 ); - // At 50% relative humidity or more, the player will draw 2 units of water - // At 16% relative humidity or less, the player will draw 0 units of water - water.charges = water_charges; - if( water_charges == 0 ) { - add_msg_if_player( m_bad, - _( "There was not enough moisture in the air from which to draw water!" ) ); - } else if( !liquid_handler::consume_liquid( water ) ) { - mod_power_level( bionics[bionic_id( "bio_evap" )].power_activate ); - } } else if( bio.id == "bio_torsionratchet" ) { add_msg_if_player( m_info, _( "Your torsion ratchet locks onto your joints." ) ); } else if( bio.id == "bio_jointservo" ) { @@ -526,10 +528,11 @@ bool player::activate_bionic( int b, bool eff_only ) } else if( bio.id == "bio_lighter" ) { g->refresh_all(); const cata::optional pnt = choose_adjacent( _( "Start a fire where?" ) ); - if( pnt && g->m.add_field( *pnt, fd_fire, 1 ) ) { + if( pnt && g->m.is_flammable( *pnt ) ) { + g->m.add_field( *pnt, fd_fire, 1 ); mod_moves( -100 ); } else { - add_msg_if_player( m_info, _( "You can't light a fire there." ) ); + add_msg_if_player( m_info, _( "There's nothing to light there." ) ); mod_power_level( bionics[bionic_id( "bio_lighter" )].power_activate ); } } else if( bio.id == "bio_geiger" ) { @@ -590,13 +593,13 @@ bool player::activate_bionic( int b, bool eff_only ) // Remember all items that will be affected, then affect them // Don't "snowball" by affecting some items multiple times std::vector> affected; - const auto weight_cap = weight_capacity(); + const units::mass weight_cap = weight_capacity(); for( const tripoint &p : g->m.points_in_radius( pos(), 10 ) ) { if( p == pos() || !g->m.has_items( p ) || g->m.has_flag( "SEALED", p ) ) { continue; } - auto stack = g->m.i_at( p ); + map_stack stack = g->m.i_at( p ); for( auto it = stack.begin(); it != stack.end(); it++ ) { if( it->weight() < weight_cap && it->made_of_any( affected_materials ) ) { @@ -608,7 +611,7 @@ bool player::activate_bionic( int b, bool eff_only ) } g->refresh_all(); - for( const auto &pr : affected ) { + for( const std::pair &pr : affected ) { projectile proj; proj.speed = 50; proj.impact = damage_instance::physical( pr.first.weight() / 250_gram, 0, 0, 0 ); @@ -616,7 +619,7 @@ bool player::activate_bionic( int b, bool eff_only ) proj.range = rl_dist( pr.second, pos() ) - 1; proj.proj_effects = {{ "NO_ITEM_DAMAGE", "DRAW_AS_LINE", "NO_DAMAGE_SCALING", "JET" }}; - auto dealt = projectile_attack( proj, pr.second, pos(), 0 ); + dealt_projectile_attack dealt = projectile_attack( proj, pr.second, pos(), 0, this ); g->m.add_item_or_charges( dealt.end_point, pr.first ); } @@ -752,7 +755,7 @@ bool player::activate_bionic( int b, bool eff_only ) return true; } -bool player::deactivate_bionic( int b, bool eff_only ) +bool Character::deactivate_bionic( int b, bool eff_only ) { bionic &bio = ( *my_bionics )[b]; @@ -768,12 +771,9 @@ bool player::deactivate_bionic( int b, bool eff_only ) // It's already off! return false; } - // Compatibility with old saves without the toolset hammerspace - if( bio.id == "bio_tools" && !has_bionic( bionic_TOOLS_EXTEND ) ) { - add_bionic( bionic_TOOLS_EXTEND ); // E X T E N D T O O L S - } if( !bionics[bio.id].toggled ) { - // It's a fire-and-forget bionic, we can't turn it off but have to wait for it to run out of charge + // It's a fire-and-forget bionic, we can't turn it off but have to wait for + //it to run out of charge add_msg_if_player( m_info, _( "You can't deactivate your %s manually!" ), bionics[bio.id].name ); return false; @@ -795,7 +795,8 @@ bool player::deactivate_bionic( int b, bool eff_only ) if( weapon.typeId() == bionics[ bio.id ].fake_item ) { add_msg_if_player( _( "You withdraw your %s." ), weapon.tname() ); if( g->u.sees( pos() ) ) { - add_msg_if_npc( m_info, _( " withdraws %s %s." ), disp_name( true ), weapon.tname() ); + add_msg_if_npc( m_info, _( " withdraws %s %s." ), disp_name( true ), + weapon.tname() ); } bio.ammo_loaded = weapon.ammo_data() != nullptr ? weapon.ammo_data()->get_id() : "null"; bio.ammo_count = static_cast( weapon.ammo_remaining() ); @@ -803,18 +804,7 @@ bool player::deactivate_bionic( int b, bool eff_only ) invalidate_crafting_inventory(); } } else if( bio.id == "bio_cqb" ) { - // check if player knows current style naturally, otherwise drop them back to style_none - if( style_selected != matype_id( "style_none" ) && style_selected != matype_id( "style_kicks" ) ) { - bool has_style = false; - for( auto &elem : ma_styles ) { - if( elem == style_selected ) { - has_style = true; - } - } - if( !has_style ) { - style_selected = matype_id( "style_none" ); - } - } + martial_arts_data.selected_style_check(); } else if( bio.id == "bio_remote" ) { if( g->remoteveh() != nullptr && !has_active_item( "remotevehcontrol" ) ) { g->setremoteveh( nullptr ); @@ -837,38 +827,75 @@ bool player::deactivate_bionic( int b, bool eff_only ) return true; } -bool player::burn_fuel( int b, bool start ) +bool player::deactivate_bionic( int b, bool eff_only ) +{ + bionic &bio = ( *my_bionics )[b]; + bool success = Character::deactivate_bionic( b, eff_only ); + // Compatibility with old saves without the toolset hammerspace + if( success && !eff_only && bio.id == "bio_tools" && !has_bionic( bionic_TOOLS_EXTEND ) ) { + add_bionic( bionic_TOOLS_EXTEND ); // E X T E N D T O O L S + } + return success; +} + +bool Character::burn_fuel( int b, bool start ) { bionic &bio = ( *my_bionics )[b]; - if( bio.info().fuel_opts.empty() || bio.is_muscle_powered() ) { + if( bio.info().fuel_opts.empty() || bio.is_this_fuel_powered( "muscle" ) ) { return true; } + const bool is_metabolism_powered = bio.is_this_fuel_powered( "metabolism" ); + const std::vector fuel_available = get_fuel_available( bio.id ); + const float fuel_efficiency = bio.info().fuel_efficiency; - if( start && get_fuel_available( bio.id ).empty() ) { + if( start && fuel_available.empty() ) { add_msg_player_or_npc( m_bad, _( "Your %s does not have enought fuel to start." ), - _( "'s %s does not have enought fuel to start." ), bio.info().name ); + _( "'s %s does not have enought fuel to start." ), + bio.info().name ); deactivate_bionic( b ); return false; } - if( !start ) {// don't produce power on start to avoid instant recharge exploit by turning bionic ON/OFF in the menu - for( const itype_id &fuel : get_fuel_available( bio.id ) ) { - const item tmp_fuel( fuel ); - int temp = std::stoi( get_value( fuel ) ); - if( get_power_level() + units::from_kilojoule( tmp_fuel.fuel_energy() ) *bio.info().fuel_efficiency + // don't produce power on start to avoid instant recharge exploit by turning bionic ON/OFF + //in the menu + if( !start ) { + for( const itype_id &fuel : fuel_available ) { + const int fuel_energy = item( fuel ).fuel_energy(); + + int current_fuel_stock; + if( is_metabolism_powered ) { + current_fuel_stock = std::max( 0.0f, get_stored_kcal() - 0.8f * + get_healthy_kcal() ); + } else { + current_fuel_stock = std::stoi( get_value( fuel ) ); + } + + if( !bio.has_flag( "SAFE_FUEL_OFF" ) && + get_power_level() + units::from_kilojoule( fuel_energy ) * fuel_efficiency > get_max_power_level() ) { add_msg_player_or_npc( m_info, _( "Your %s turns off to not waste fuel." ), - _( "'s %s turns off to not waste fuel." ), bio.info().name ); + _( "'s %s turns off to not waste fuel." ), + bio.info().name ); bio.powered = false; deactivate_bionic( b, true ); return false; } else { - if( temp > 0 ) { - temp -= 1; - mod_power_level( units::from_kilojoule( tmp_fuel.fuel_energy() ) *bio.info().fuel_efficiency ); - set_value( fuel, std::to_string( temp ) ); - update_fuel_storage( fuel ); + if( current_fuel_stock > 0 ) { + + if( is_metabolism_powered ) { + const int kcal_consumed = fuel_energy; + // 1kcal = 4187 J + const units::energy power_gain = kcal_consumed * 4184_J * fuel_efficiency; + mod_stored_kcal( -kcal_consumed ); + mod_power_level( power_gain ); + } else { + current_fuel_stock -= 1; + set_value( fuel, std::to_string( current_fuel_stock ) ); + update_fuel_storage( fuel ); + mod_power_level( units::from_kilojoule( fuel_energy ) * fuel_efficiency ); + } + if( bio.info().exothermic_power_gen ) { - const int heat_prod = tmp_fuel.fuel_energy() * ( 1 - bio.info().fuel_efficiency ); + const int heat_prod = fuel_energy * ( 1 - fuel_efficiency ); const int heat_level = std::min( heat_prod / 10, 4 ); const int heat_spread = std::max( heat_prod / 10 - heat_level, 1 ); const emit_id hotness = emit_id( "emit_hot_air" + to_string( heat_level ) + "_cbm" ); @@ -879,9 +906,20 @@ bool player::burn_fuel( int b, bool start ) } g->m.emit_field( pos(), bio.info().power_gen_emission ); } else { - remove_value( fuel ); - add_msg_player_or_npc( m_info, _( "Your %s runs out of fuel and turn off." ), - _( "'s %s runs out of fuel and turn off." ), bio.info().name ); + + if( is_metabolism_powered ) { + add_msg_player_or_npc( m_info, + _( "Stored calories are below the safe threshold, your %s shuts down to preserve your health." ), + _( "Stored calories are below the safe threshold, 's %s shuts down to preserve their health." ), + bio.info().name ); + } else { + remove_value( fuel ); + add_msg_player_or_npc( m_info, + _( "Your %s runs out of fuel and turn off." ), + _( "'s %s runs out of fuel and turn off." ), + bio.info().name ); + } + bio.powered = false; deactivate_bionic( b, true ); return false; @@ -900,10 +938,11 @@ bool player::burn_fuel( int b, bool start ) * @param rate divides the number of turns we may charge (rate of 2 discharges in half the time). * @return indicates whether we successfully charged the bionic. */ -static bool attempt_recharge( player &p, bionic &bio, int &amount, int factor = 1, int rate = 1 ) +static bool attempt_recharge( Character &p, bionic &bio, units::energy &amount, int factor = 1, + int rate = 1 ) { const bionic_data &info = bio.info(); - const int armor_power_cost = 1; + const units::energy armor_power_cost = 1_kJ; units::energy power_cost = info.power_over_time * factor; bool recharged = false; @@ -915,12 +954,12 @@ static bool attempt_recharge( player &p, bionic &bio, int &amount, int factor = return w.active && w.is_power_armor(); } ); if( !powered_armor ) { - power_cost -= units::from_kilojoule( armor_power_cost ) * factor; + power_cost -= armor_power_cost * factor; } } if( p.get_power_level() >= power_cost ) { // Set the recharging cost and charge the bionic. - amount = units::to_kilojoule( power_cost ); + amount = power_cost; // This is our first turn of charging, so subtract a turn from the recharge delay. bio.charge_timer = info.charge_time - rate; recharged = true; @@ -930,7 +969,7 @@ static bool attempt_recharge( player &p, bionic &bio, int &amount, int factor = return recharged; } -void player::process_bionic( int b ) +void Character::process_bionic( int b ) { bionic &bio = ( *my_bionics )[b]; // Only powered bionics should be processed @@ -953,7 +992,7 @@ void player::process_bionic( int b ) bio.charge_timer = bio.info().charge_time; } else { // Try to recharge our bionic if it is made for it - int cost = 0; + units::energy cost = 0_mJ; bool recharged = attempt_recharge( *this, bio, cost, discharge_factor, discharge_rate ); if( !recharged ) { // No power to recharge, so deactivate @@ -963,8 +1002,8 @@ void player::process_bionic( int b ) deactivate_bionic( b, true ); return; } - if( cost ) { - mod_power_level( units::from_kilojoule( -cost ) ); + if( cost > 0_mJ ) { + mod_power_level( -cost ); } } } @@ -986,15 +1025,44 @@ void player::process_bionic( int b ) sounds::sound( pos(), 19, sounds::sound_t::activity, _( "HISISSS!" ), false, "bionic", "bio_hydraulics" ); } else if( bio.id == "bio_nanobots" ) { - for( int i = 0; i < num_hp_parts; i++ ) { - if( get_power_level() >= 5_kJ && hp_cur[i] > 0 && hp_cur[i] < hp_max[i] ) { - heal( static_cast( i ), 1 ); - mod_power_level( -5_kJ ); + if( get_power_level() >= 40_J ) { + std::forward_list bleeding_bp_parts; + for( const body_part bp : all_body_parts ) { + if( has_effect( effect_bleed, bp ) ) { + bleeding_bp_parts.push_front( static_cast( bp ) ); + } } - } - for( const body_part bp : all_body_parts ) { - if( get_power_level() >= 2_kJ && remove_effect( effect_bleed, bp ) ) { - mod_power_level( -2_kJ ); + std::vector damaged_hp_parts; + for( int i = 0; i < num_hp_parts; i++ ) { + if( hp_cur[i] > 0 && hp_cur[i] < hp_max[i] ) { + damaged_hp_parts.push_back( i ); + // only healed and non-hp parts will have a chance of bleeding removal + bleeding_bp_parts.remove( static_cast( hp_to_bp( static_cast( i ) ) ) ); + } + } + if( calendar::once_every( 60_turns ) ) { + bool try_to_heal_bleeding = true; + if( get_stored_kcal() >= 5 && !damaged_hp_parts.empty() ) { + const hp_part part_to_heal = static_cast( damaged_hp_parts[ rng( 0, + damaged_hp_parts.size() - 1 ) ] ); + heal( part_to_heal, 1 ); + mod_stored_kcal( -5 ); + const body_part bp_healed = hp_to_bp( part_to_heal ); + int hp_percent = float( hp_cur[part_to_heal] ) / hp_max[part_to_heal] * 100; + if( has_effect( effect_bleed, bp_healed ) && rng( 0, 100 ) < hp_percent ) { + remove_effect( effect_bleed, bp_healed ); + try_to_heal_bleeding = false; + } + } + + // if no bleed was removed, try to remove it on some other part + if( try_to_heal_bleeding && !bleeding_bp_parts.empty() && rng( 0, 1 ) == 1 ) { + remove_effect( effect_bleed, static_cast( bleeding_bp_parts.front() ) ); + } + + } + if( !damaged_hp_parts.empty() || !bleeding_bp_parts.empty() ) { + mod_power_level( -40_J ); } } } else if( bio.id == "bio_painkiller" ) { @@ -1007,10 +1075,10 @@ void player::process_bionic( int b ) } // Only dull pain so extreme that we can't pkill it safely - if( pkill >= 150 && pain > pkill && stim > -150 ) { + if( pkill >= 150 && pain > pkill && get_stim() > -150 ) { mod_pain( -1 ); // Negative side effect: negative stim - stim--; + mod_stim( -1 ); mod_power_level( -2_kJ ); } } else if( bio.id == "bio_cable" ) { @@ -1076,6 +1144,36 @@ void player::process_bionic( int b ) _( "You feel your throat open up and air filling your lungs!" ) ); remove_effect( effect_asthma ); } + } else if( bio.id == "bio_evap" ) { + // Aero-Evaporator provides water at 60 watts with 2 L / kWh efficiency + // which is 10 mL per 5 minutes. Humidity can modify the amount gained. + if( calendar::once_every( 5_minutes ) ) { + const w_point weatherPoint = *g->weather.weather_precise; + int humidity = get_local_humidity( weatherPoint.humidity, g->weather.weather, + g->is_sheltered( g->u.pos() ) ); + int water_available = lround( humidity * 3.0 / 100.0 ); // in thirst units = 5 mL water + // At 50% relative humidity or more, the player will draw 10 mL + // At 16% relative humidity or less, the bionic will give up + if( water_available == 0 ) { + add_msg_if_player( m_bad, + _( "There is not enough humidity for your %s to function." ), + bionics[bio.id].name ); + deactivate_bionic( b ); + } else if( water_available == 1 ) { + add_msg_if_player( m_mixed, + _( "Your %s issues a low humidity warning. Efficiency is reduced." ), + bionics[bio.id].name ); + } + + mod_thirst( -water_available ); + } + + if( get_thirst() < -40 ) { + add_msg_if_player( m_good, + _( "You are properly hydrated. Your %s chirps happily." ), + bionics[bio.id].name ); + deactivate_bionic( b ); + } } else if( bio.id == "afs_bio_dopamine_stimulators" ) { // Aftershock add_morale( MORALE_FEELING_GOOD, 20, 20, 30_minutes, 20_minutes, true ); } @@ -1251,7 +1349,8 @@ float player::bionics_adjusted_skill( const skill_id &most_important_skill, return adjusted_skill; } -int player::bionics_pl_skill( const skill_id &most_important_skill, const skill_id &important_skill, +int player::bionics_pl_skill( const skill_id &most_important_skill, + const skill_id &important_skill, const skill_id &least_important_skill, int skill_level ) { int pl_skill; @@ -1275,7 +1374,7 @@ int player::bionics_pl_skill( const skill_id &most_important_skill, const skill_ // People trained in bionics gain an additional advantage towards using it if( has_trait( trait_PROF_AUTODOC ) ) { pl_skill += 7; - add_msg( m_neutral, _( "A lifetime of augmentation has taught %s a thing or two..." ), + add_msg( m_neutral, _( "A lifetime of augmentation has taught %s a thing or two…" ), disp_name() ); } return pl_skill; @@ -1461,7 +1560,7 @@ bool player::uninstall_bionic( const bionic_id &b_id, player &installer, bool au return true; } -void player::perform_uninstall( bionic_id bid, int difficulty, int success, int power_lvl, +void player::perform_uninstall( bionic_id bid, int difficulty, int success, units::energy power_lvl, int pl_skill ) { if( success > 0 ) { @@ -1474,7 +1573,7 @@ void player::perform_uninstall( bionic_id bid, int difficulty, int success, int remove_bionic( bid ); // remove power bank provided by bionic - mod_max_power_level( -units::from_kilojoule( power_lvl ) ); + mod_max_power_level( -power_lvl ); item cbm( "burnt_out_bionic" ); if( item::type_is_defined( bid.c_str() ) ) { @@ -1633,7 +1732,8 @@ bool player::can_install_bionics( const itype &type, player &installer, bool aut return true; } -bool player::install_bionics( const itype &type, player &installer, bool autodoc, int skill_level ) +bool player::install_bionics( const itype &type, player &installer, bool autodoc, + int skill_level ) { if( !type.bionic ) { debugmsg( "Tried to install NULL bionic" ); @@ -1686,7 +1786,7 @@ bool player::install_bionics( const itype &type, player &installer, bool autodoc activity.values.push_back( difficulty ); activity.values.push_back( success ); - activity.values.push_back( units::to_kilojoule( bionics[bioid].capacity ) ); + activity.values.push_back( units::to_millijoule( bionics[bioid].capacity ) ); activity.values.push_back( pl_skill ); activity.str_values.push_back( "install" ); activity.str_values.push_back( "" ); @@ -1779,7 +1879,7 @@ void player::bionics_install_failure( bionic_id bid, std::string installer, int installer ); // In addition to the bonus, medical residents know enough OR protocol to avoid botching. // Take MD and be immune to faulty bionics. - if( fail_type == 5 ) { + if( fail_type > 3 ) { fail_type = rng( 1, 3 ); } } @@ -1898,38 +1998,7 @@ std::map player::bionic_installation_issues( const bionic_id &bi int player::get_total_bionics_slots( const body_part bp ) const { - switch( bp ) { - case bp_torso: - return 80; - - case bp_head: - return 18; - - case bp_eyes: - case bp_mouth: - return 4; - - case bp_arm_l: - case bp_arm_r: - return 20; - - case bp_hand_l: - case bp_hand_r: - return 5; - - case bp_leg_l: - case bp_leg_r: - return 30; - - case bp_foot_l: - case bp_foot_r: - return 7; - - case num_bp: - debugmsg( "number of slots for incorrect bodypart is requested!" ); - return 0; - } - return 0; + return convert_bp( bp )->bionic_slots(); } int player::get_free_bionics_slots( const body_part bp ) const @@ -2056,7 +2125,8 @@ void reset_bionics() faulty_bionics.clear(); } -static bool get_bool_or_flag( JsonObject &jsobj, const std::string &name, const std::string &flag, +static bool get_bool_or_flag( JsonObject &jsobj, const std::string &name, + const std::string &flag, const bool fallback, const std::string &flags_node = "flags" ) { bool value = fallback; @@ -2104,6 +2174,7 @@ void load_bionic( JsonObject &jsobj ) new_bionic.shockproof = get_bool_or_flag( jsobj, "shockproof", "BIONIC_SHOCKPROOF", false ); new_bionic.fuel_efficiency = jsobj.get_float( "fuel_efficiency", 0 ); + new_bionic.passive_fuel_efficiency = jsobj.get_float( "passive_fuel_efficiency", 0 ); if( new_bionic.gun_bionic && new_bionic.weapon_bionic ) { debugmsg( "Bionic %s specified as both gun and weapon bionic", id.c_str() ); @@ -2212,6 +2283,21 @@ void finalize_bionics() } } +void bionic::set_flag( const std::string flag ) +{ + bionic_tags.insert( flag ); +} + +void bionic::remove_flag( const std::string flag ) +{ + bionic_tags.erase( flag ); +} + +bool bionic::has_flag( const std::string flag ) const +{ + return bionic_tags.find( flag ) != bionic_tags.end(); +} + int bionic::get_quality( const quality_id &quality ) const { const auto &i = info(); @@ -2222,10 +2308,22 @@ int bionic::get_quality( const quality_id &quality ) const return item( i.fake_item ).get_quality( quality ); } -bool bionic::is_muscle_powered() const +bool bionic::is_this_fuel_powered( const itype_id &this_fuel ) const { const std::vector fuel_op = info().fuel_opts; - return std::find( fuel_op.begin(), fuel_op.end(), "muscle" ) != fuel_op.end(); + return std::find( fuel_op.begin(), fuel_op.end(), this_fuel ) != fuel_op.end(); +} + +void bionic::toggle_safe_fuel_mod() +{ + if( info().fuel_opts.empty() ) { + return; + } + if( !has_flag( "SAFE_FUEL_OFF" ) ) { + set_flag( "SAFE_FUEL_OFF" ); + } else { + remove_flag( "SAFE_FUEL_OFF" ); + } } void bionic::serialize( JsonOut &json ) const @@ -2237,6 +2335,7 @@ void bionic::serialize( JsonOut &json ) const json.member( "charge", charge_timer ); json.member( "ammo_loaded", ammo_loaded ); json.member( "ammo_count", ammo_count ); + json.member( "bionic_tags", bionic_tags ); if( incapacitated_time > 0_turns ) { json.member( "incapacitated_time", incapacitated_time ); } @@ -2259,10 +2358,17 @@ void bionic::deserialize( JsonIn &jsin ) if( jo.has_int( "incapacitated_time" ) ) { incapacitated_time = 1_turns * jo.get_int( "incapacitated_time" ); } + if( jo.has_array( "bionic_tags" ) ) { + JsonArray jsar = jo.get_array( "bionic_tags" ); + while( jsar.has_more() ) { + bionic_tags.insert( jsar.next_string() ); + } + } + } void player::introduce_into_anesthesia( const time_duration &duration, player &installer, - bool needs_anesthesia ) //used by the Autodoc + bool needs_anesthesia ) //used by the Autodoc { installer.add_msg_player_or_npc( m_info, _( "You set up the operation step-by-step, configuring the Autodoc to manipulate a CBM." ), diff --git a/src/bionics.h b/src/bionics.h index 07c8f0882fc79..0a7b8297f06f0 100644 --- a/src/bionics.h +++ b/src/bionics.h @@ -89,6 +89,8 @@ struct bionic_data { int fuel_capacity; /**Fraction of fuel energy converted to bionic power*/ float fuel_efficiency; + /**Fraction of fuel energy passively converted to bionic power*/ + float passive_fuel_efficiency; /**If true this bionic emits heat when producing power*/ bool exothermic_power_gen = false; /**Type of field emitted by this bionic when it produces energy*/ @@ -134,33 +136,39 @@ struct bionic_data { }; struct bionic { - bionic_id id; - int charge_timer = 0; - char invlet = 'a'; - bool powered = false; - /* Ammunition actually loaded in this bionic gun in deactivated state */ - itype_id ammo_loaded = "null"; - /* Ammount of ammo actually held inside by this bionic gun in deactivated state */ - unsigned int ammo_count = 0; - /* An amount of time during which this bionic has been rendered inoperative. */ - time_duration incapacitated_time; - - bionic() - : id( "bio_batteries" ), incapacitated_time( 0_turns ) { - } - bionic( bionic_id pid, char pinvlet ) - : id( std::move( pid ) ), invlet( pinvlet ), incapacitated_time( 0_turns ) { } - - const bionic_data &info() const { - return *id; - } - - int get_quality( const quality_id &quality ) const; - - bool is_muscle_powered() const; - - void serialize( JsonOut &json ) const; - void deserialize( JsonIn &jsin ); + bionic_id id; + int charge_timer = 0; + char invlet = 'a'; + bool powered = false; + /* Ammunition actually loaded in this bionic gun in deactivated state */ + itype_id ammo_loaded = "null"; + /* Ammount of ammo actually held inside by this bionic gun in deactivated state */ + unsigned int ammo_count = 0; + /* An amount of time during which this bionic has been rendered inoperative. */ + time_duration incapacitated_time; + bionic() + : id( "bio_batteries" ), incapacitated_time( 0_turns ) { + } + bionic( bionic_id pid, char pinvlet ) + : id( std::move( pid ) ), invlet( pinvlet ), incapacitated_time( 0_turns ) { } + + const bionic_data &info() const { + return *id; + } + + void set_flag( std::string flag ); + void remove_flag( std::string flag ); + bool has_flag( std::string flag ) const ; + + int get_quality( const quality_id &quality ) const; + + bool is_this_fuel_powered( const itype_id &this_fuel ) const; + void toggle_safe_fuel_mod(); + + void serialize( JsonOut &json ) const; + void deserialize( JsonIn &jsin ); + private: + cata::flat_set bionic_tags; // generic bionic specific flags }; // A simpler wrapper to allow forward declarations of it. std::vector can not diff --git a/src/bionics_ui.cpp b/src/bionics_ui.cpp index f62ab07c1e0bb..1af0f9a76829c 100644 --- a/src/bionics_ui.cpp +++ b/src/bionics_ui.cpp @@ -59,28 +59,60 @@ static void draw_bionics_titlebar( const catacurses::window &window, player *p, bionic_menu_mode mode ) { werase( window ); - std::ostringstream fuel_stream; - fuel_stream << _( "Available Fuel: " ); + std::string fuel_string; + bool found_fuel = false; + fuel_string = _( "Available Fuel: " ); for( const bionic &bio : *p->my_bionics ) { for( const itype_id fuel : p->get_fuel_available( bio.id ) ) { - fuel_stream << item( fuel ).tname() << ": " << "" << p->get_value( - fuel ) << "" << "/" << p->get_total_fuel_capacity( fuel ) << " "; + found_fuel = true; + const item temp_fuel( fuel ) ; + if( temp_fuel.has_flag( "PERPETUAL" ) ) { + fuel_string += colorize( temp_fuel.tname(), c_green ) + " "; + continue; + } + fuel_string += temp_fuel.tname() + ": " + colorize( p->get_value( fuel ), + c_green ) + "/" + std::to_string( p->get_total_fuel_capacity( fuel ) ) + " "; + } + } + if( !found_fuel ) { + fuel_string.clear(); + } + std::string power_string; + const int curr_power = units::to_millijoule( p->get_power_level() ); + const int kilo = curr_power / units::to_millijoule( 1_kJ ); + const int joule = ( curr_power % units::to_millijoule( 1_kJ ) ) / units::to_millijoule( 1_J ); + const int milli = curr_power % units::to_millijoule( 1_J ); + if( kilo > 0 ) { + power_string = to_string( kilo ); + if( joule > 0 ) { + power_string += pgettext( "decimal separator", "." ) + to_string( joule ); } + power_string += pgettext( "energy unit: kilojoule", "kJ" ); + } else if( joule > 0 ) { + power_string = to_string( joule ); + if( milli > 0 ) { + power_string += pgettext( "decimal separator", "." ) + to_string( milli ); + } + power_string += pgettext( "energy unit: joule", "J" ); + } else { + power_string = to_string( milli ) + pgettext( "energy unit: millijoule", "mJ" ); } + const int pwr_str_pos = right_print( window, 0, 1, c_white, - string_format( _( "Bionic Power: %i/%i" ), - units::to_kilojoule( p->get_power_level() ), units::to_kilojoule( p->get_max_power_level() ) ) ); + string_format( _( "Bionic Power: %s/%ikJ" ), + power_string, units::to_kilojoule( p->get_max_power_level() ) ) ); std::string desc; if( mode == REASSIGNING ) { desc = _( "Reassigning.\nSelect a bionic to reassign or press SPACE to cancel." ); + fuel_string.clear(); } else if( mode == ACTIVATING ) { - desc = _( "Activating ! to examine, = to reassign, TAB to switch tabs." ); + desc = _( "Activating ! to examine, = to reassign, TAB to switch tabs, s to toggle fuel saving mode." ); } else if( mode == EXAMINING ) { - desc = _( "Examining ! to activate, = to reassign, TAB to switch tabs." ); + desc = _( "Examining ! to activate, = to reassign, TAB to switch tabs, s to toggle fuel saving mode." ); } int n_pt_y = 0; fold_and_print( window, point( 1, n_pt_y++ ), pwr_str_pos, c_white, desc ); - fold_and_print( window, point( 1, n_pt_y++ ), pwr_str_pos, c_white, fuel_stream.str() ); + fold_and_print( window, point( 1, n_pt_y++ ), pwr_str_pos, c_white, fuel_string ); wrefresh( window ); } @@ -91,17 +123,17 @@ static std::string build_bionic_poweronly_string( const bionic &bio ) std::vector properties; if( bio_data.power_activate > 0_kJ ) { - properties.push_back( string_format( _( "%d kJ act" ), - units::to_kilojoule( bio_data.power_activate ) ) ); + properties.push_back( string_format( _( "%s act" ), + units::display( bio_data.power_activate ) ) ); } if( bio_data.power_deactivate > 0_kJ ) { - properties.push_back( string_format( _( "%d kJ deact" ), - units::to_kilojoule( bio_data.power_deactivate ) ) ); + properties.push_back( string_format( _( "%s deact" ), + units::display( bio_data.power_deactivate ) ) ); } if( bio_data.charge_time > 0 && bio_data.power_over_time > 0_kJ ) { properties.push_back( bio_data.charge_time == 1 - ? string_format( _( "%d kJ/turn" ), units::to_kilojoule( bio_data.power_over_time ) ) - : string_format( _( "%d kJ/%d turns" ), units::to_kilojoule( bio_data.power_over_time ), + ? string_format( _( "%s/turn" ), units::display( bio_data.power_over_time ) ) + : string_format( _( "%s/%d turns" ), units::display( bio_data.power_over_time ), bio_data.charge_time ) ); } if( bio_data.toggled ) { @@ -110,6 +142,9 @@ static std::string build_bionic_poweronly_string( const bionic &bio ) if( bio.incapacitated_time > 0_turns ) { properties.push_back( _( "(incapacitated)" ) ); } + if( !bio.has_flag( "SAFE_FUEL_OFF" ) && !bio.info().fuel_opts.empty() ) { + properties.push_back( _( "(fuel saving mode ON)" ) ); + } return enumerate_as_string( properties, enumeration_conjunction::none ); } @@ -380,6 +415,7 @@ void player::power_bionics() ctxt.register_action( "PREV_TAB" ); ctxt.register_action( "CONFIRM" ); ctxt.register_action( "HELP_KEYBINDINGS" ); + ctxt.register_action( "TOGGLE_SAFE_FUEL" ); bool recalc = false; bool redraw = true; @@ -495,6 +531,7 @@ void player::power_bionics() const int ch = ctxt.get_raw_input().get_first_input(); bionic *tmp = nullptr; bool confirmCheck = false; + bool toggle_safe_fuel = false; if( action == "DOWN" ) { redraw = true; @@ -586,6 +623,8 @@ void player::power_bionics() } else if( action == "TOGGLE_EXAMINE" ) { // switches between activation and examination menu_mode = menu_mode == ACTIVATING ? EXAMINING : ACTIVATING; redraw = true; + } else if( action == "TOGGLE_SAFE_FUEL" ) { + toggle_safe_fuel = true; } else if( action == "HELP_KEYBINDINGS" ) { redraw = true; } else if( action == "CONFIRM" ) { @@ -593,6 +632,21 @@ void player::power_bionics() } else { confirmCheck = true; } + + if( toggle_safe_fuel ) { + auto &bio_list = tab_mode == TAB_ACTIVE ? active : passive; + if( !current_bionic_list->empty() ) { + tmp = bio_list[cursor]; + if( !tmp->info().fuel_opts.empty() ) { + tmp->toggle_safe_fuel_mod(); + g->refresh_all(); + redraw = true; + } else { + popup( _( "You can't toggle fuel saving mode on a non fueled CBM." ) ); + } + + } + } //confirmation either occurred by pressing enter where the bionic cursor is, or the hotkey was selected if( confirmCheck ) { auto &bio_list = tab_mode == TAB_ACTIVE ? active : passive; diff --git a/src/bodypart.cpp b/src/bodypart.cpp index fcc77a0527440..af05b59206adc 100644 --- a/src/bodypart.cpp +++ b/src/bodypart.cpp @@ -198,6 +198,8 @@ void body_part_struct::load( JsonObject &jo, const std::string & ) mandatory( jo, was_loaded, "main_part", main_part ); mandatory( jo, was_loaded, "opposite_part", opposite_part ); + optional( jo, was_loaded, "bionic_slots", bionic_slots_, 0 ); + part_side = jo.get_enum_value( "side" ); } diff --git a/src/bodypart.h b/src/bodypart.h index b7e2f414e6efb..62972d0d28148 100644 --- a/src/bodypart.h +++ b/src/bodypart.h @@ -111,6 +111,12 @@ struct body_part_struct { static void finalize_all(); // Verifies that body parts make sense static void check_consistency(); + + int bionic_slots() const { + return bionic_slots_; + } + private: + int bionic_slots_; }; class body_part_set diff --git a/src/calendar.cpp b/src/calendar.cpp index 7ed93d9c4f0e8..9cd653acb77a1 100644 --- a/src/calendar.cpp +++ b/src/calendar.cpp @@ -59,8 +59,8 @@ double default_daylight_level() moon_phase get_moon_phase( const time_point &p ) { - //One full phase every 2 rl months = 2/3 season length - const time_duration moon_phase_duration = calendar::season_length() * 2.0 / 3.0; + //One full phase every 1 rl months = 1/3 season length + const time_duration moon_phase_duration = calendar::season_length() / 3.0; //Switch moon phase at noon so it stays the same all night const time_duration current_day = ( p - calendar::turn_zero ) + 1_days / 2; const double phase_change = current_day / moon_phase_duration; diff --git a/src/cata_tiles.cpp b/src/cata_tiles.cpp index f4d020b4132ca..5673a8edebf8e 100644 --- a/src/cata_tiles.cpp +++ b/src/cata_tiles.cpp @@ -264,8 +264,8 @@ void cata_tiles::reinit() static void get_tile_information( const std::string &config_path, std::string &json_path, std::string &tileset_path ) { - const std::string default_json = FILENAMES["defaulttilejson"]; - const std::string default_tileset = FILENAMES["defaulttilepng"]; + const std::string default_json = PATH_INFO::defaulttilejson(); + const std::string default_tileset = PATH_INFO::defaulttilepng(); // Get JSON and TILESET vars from config const auto reader = [&]( std::istream & fin ) { @@ -516,13 +516,13 @@ void tileset_loader::load( const std::string &tileset_id, const bool precheck ) if( tset_iter != TILESETS.end() ) { tileset_root = tset_iter->second; dbg( D_INFO ) << '"' << tileset_id << '"' << " tileset: found config file path: " << tileset_root; - get_tile_information( tileset_root + '/' + FILENAMES["tileset-conf"], + get_tile_information( tileset_root + '/' + PATH_INFO::tileset_conf(), json_conf, tileset_path ); dbg( D_INFO ) << "Current tileset is: " << tileset_id; } else { dbg( D_ERROR ) << "Tileset \"" << tileset_id << "\" from options is invalid"; - json_conf = FILENAMES["defaulttilejson"]; - tileset_path = FILENAMES["defaulttilepng"]; + json_conf = PATH_INFO::defaulttilejson(); + tileset_path = PATH_INFO::defaulttilepng(); } std::string json_path = tileset_root + '/' + json_conf; @@ -1075,7 +1075,32 @@ void cata_tiles::draw( const point &dest, const tripoint ¢er, int width, int g->displaying_visibility_creature = nullptr; } } - + std::unordered_set collision_checkpoints; + std::unordered_set target_points; + for( const wrapped_vehicle &elem : g->m.get_vehicles() ) { + if( elem.v->get_autodrive_target() != tripoint_zero ) { + target_points.insert( g->m.getlocal( elem.v->get_autodrive_target().xy() ) ); + } + if( elem.v->collision_check_points.empty() ) { + continue; + } else { + for( const point &pt_elem : elem.v->collision_check_points ) { + collision_checkpoints.insert( g->m.getlocal( pt_elem ) ); + } + } + } + if( g->display_overlay_state( ACTION_DISPLAY_VEHICLE_AI ) ) { + for( const point &pt_elem : collision_checkpoints ) { + overlay_strings.emplace( player_to_screen( pt_elem ) + point( tile_width / 2, 0 ), + formatted_text( "CHECK", catacurses::yellow, + NORTH ) ); + } + for( const point &pt_elem : target_points ) { + overlay_strings.emplace( player_to_screen( pt_elem ) + point( tile_width / 2, 0 ), + formatted_text( "TARGET", catacurses::red, + NORTH ) ); + } + } static const point neighborhood[4] = { point_south, point_east, point_west, point_north }; @@ -1202,8 +1227,8 @@ void cata_tiles::draw( const point &dest, const tripoint ¢er, int width, int } // note: lighting will be constrained in the [1.0, 11.0] range. - float lighting = std::max( 1.0, LIGHT_AMBIENT_LIT - g->m.ambient_light_at( {x, y, center.z} ) + - 1.0 ); + float ambient = g->m.ambient_light_at( {x, y, center.z} ); + float lighting = std::max( 1.0, LIGHT_AMBIENT_LIT - ambient + 1.0 ); auto tile_pos = player_to_screen( point( x, y ) ); @@ -1215,7 +1240,7 @@ void cata_tiles::draw( const point &dest, const tripoint ¢er, int width, int // string overlay overlay_strings.emplace( tile_pos + point( tile_width / 4, tile_height / 4 ), - formatted_text( string_format( "%.1f", lighting ), catacurses::black, NORTH ) ); + formatted_text( string_format( "%.1f", ambient ), catacurses::black, NORTH ) ); } } @@ -1223,7 +1248,7 @@ void cata_tiles::draw( const point &dest, const tripoint ¢er, int width, int const Creature *critter = g->critter_at( pos, true ); if( has_draw_override( pos ) || has_memory_at( pos ) || - ( critter && g->u.sees_with_infrared( *critter ) ) ) { + ( critter && ( g->u.sees_with_infrared( *critter ) || g->u.sees_with_specials( *critter ) ) ) ) { invisible[0] = true; } else { @@ -2613,7 +2638,8 @@ bool cata_tiles::draw_critter_at_below( const tripoint &p, const lit_level, int // Check if the player can actually see the critter. We don't care if // it's via infrared or not, just whether or not they're seen. If not, // we can bail. - if( !g->u.sees( *critter ) && !g->u.sees_with_infrared( *critter ) ) { + if( !g->u.sees( *critter ) && !( g->u.sees_with_infrared( *critter ) || + g->u.sees_with_specials( *critter ) ) ) { return false; } @@ -2672,7 +2698,7 @@ bool cata_tiles::draw_critter_at( const tripoint &p, lit_level ll, int &height_3 const Creature &critter = *pcritter; if( !g->u.sees( critter ) ) { - if( g->u.sees_with_infrared( critter ) ) { + if( g->u.sees_with_infrared( critter ) || g->u.sees_with_specials( critter ) ) { return draw_from_id_string( "infrared_creature", C_NONE, empty_string, p, 0, 0, LL_LIT, false, height_3d ); } @@ -2732,7 +2758,7 @@ bool cata_tiles::draw_critter_at( const tripoint &p, lit_level ll, int &height_3 } } else { // invisible const Creature *critter = g->critter_at( p, true ); - if( critter && g->u.sees_with_infrared( *critter ) ) { + if( critter && ( g->u.sees_with_infrared( *critter ) || g->u.sees_with_specials( *critter ) ) ) { // try drawing infrared creature if invisible and not overridden // return directly without drawing overlay return draw_from_id_string( "infrared_creature", C_NONE, empty_string, p, 0, 0, LL_LIT, false, @@ -2798,36 +2824,36 @@ bool cata_tiles::draw_zombie_revival_indicators( const tripoint &pos, const lit_ return false; } -void cata_tiles::draw_entity_with_overlays( const player &pl, const tripoint &p, lit_level ll, +void cata_tiles::draw_entity_with_overlays( const Character &ch, const tripoint &p, lit_level ll, int &height_3d ) { std::string ent_name; - if( pl.is_npc() ) { - ent_name = pl.male ? "npc_male" : "npc_female"; + if( ch.is_npc() ) { + ent_name = ch.male ? "npc_male" : "npc_female"; } else { - ent_name = pl.male ? "player_male" : "player_female"; + ent_name = ch.male ? "player_male" : "player_female"; } // first draw the character itself(i guess this means a tileset that // takes this seriously needs a naked sprite) int prev_height_3d = height_3d; // depending on the toggle flip sprite left or right - if( pl.facing == FD_RIGHT ) { + if( ch.facing == FD_RIGHT ) { draw_from_id_string( ent_name, C_NONE, "", p, corner, 0, ll, false, height_3d ); - } else if( pl.facing == FD_LEFT ) { + } else if( ch.facing == FD_LEFT ) { draw_from_id_string( ent_name, C_NONE, "", p, corner, 4, ll, false, height_3d ); } // next up, draw all the overlays - std::vector overlays = pl.get_overlay_ids(); + std::vector overlays = ch.get_overlay_ids(); for( const std::string &overlay : overlays ) { std::string draw_id = overlay; - if( find_overlay_looks_like( pl.male, overlay, draw_id ) ) { + if( find_overlay_looks_like( ch.male, overlay, draw_id ) ) { int overlay_height_3d = prev_height_3d; - if( pl.facing == FD_RIGHT ) { + if( ch.facing == FD_RIGHT ) { draw_from_id_string( draw_id, C_NONE, "", p, corner, /*rota:*/ 0, ll, false, overlay_height_3d ); - } else if( pl.facing == FD_LEFT ) { + } else if( ch.facing == FD_LEFT ) { draw_from_id_string( draw_id, C_NONE, "", p, corner, /*rota:*/ 4, ll, false, overlay_height_3d ); } // the tallest height-having overlay is the one that counts @@ -3240,7 +3266,7 @@ void cata_tiles::draw_sct_frame( std::multimap &overlay_s for( auto iter = SCT.vSCT.begin(); iter != SCT.vSCT.end(); ++iter ) { const int iDX = iter->getPosX(); const int iDY = iter->getPosY(); - const int full_text_length = iter->getText().length(); + const int full_text_length = utf8_width( iter->getText() ); int iOffsetX = 0; int iOffsetY = 0; diff --git a/src/cata_tiles.h b/src/cata_tiles.h index 08ea37cfbddef..07a258ff76f68 100644 --- a/src/cata_tiles.h +++ b/src/cata_tiles.h @@ -359,7 +359,8 @@ class cata_tiles const bool ( &invisible )[5] ); bool draw_zombie_revival_indicators( const tripoint &pos, lit_level ll, int &height_3d, const bool ( &invisible )[5] ); - void draw_entity_with_overlays( const player &pl, const tripoint &p, lit_level ll, int &height_3d ); + void draw_entity_with_overlays( const Character &ch, const tripoint &p, lit_level ll, + int &height_3d ); bool draw_item_highlight( const tripoint &pos ); diff --git a/src/catacharset.cpp b/src/catacharset.cpp index 8d21e1bc06794..aea2d0e69f066 100644 --- a/src/catacharset.cpp +++ b/src/catacharset.cpp @@ -167,6 +167,35 @@ int utf8_width( const utf8_wrapper &str, const bool ignore_tags ) return utf8_width( str.c_str(), ignore_tags ); } +std::string left_justify( const std::string &str, const int width, const bool ignore_tags ) +{ + int str_width = utf8_width( str, ignore_tags ); + if( str_width >= width ) { + return str; + } else { + return str + std::string( width - str_width, ' ' ); + } +} + +std::string right_justify( const std::string &str, const int width, const bool ignore_tags ) +{ + int str_width = utf8_width( str, ignore_tags ); + if( str_width >= width ) { + return str; + } else { + return std::string( width - str_width, ' ' ) + str; + } +} + +std::string utf8_justify( const std::string &str, const int width, const bool ignore_tags ) +{ + if( width < 0 ) { + return left_justify( str, -width, ignore_tags ); + } else { + return right_justify( str, width, ignore_tags ); + } +} + //Convert cursor position to byte offset //returns the first character position in bytes behind the cursor position. //If the cursor is not on the first half of the character, @@ -247,7 +276,7 @@ static void build_base64_decoding_table() std::string base64_encode( const std::string &str ) { //assume it is already encoded - if( str.length() > 0 && str[0] == '#' ) { + if( !str.empty() && str[0] == '#' ) { return str; } @@ -281,7 +310,7 @@ std::string base64_encode( const std::string &str ) std::string base64_decode( const std::string &str ) { // do not decode if it is not base64 - if( str.length() == 0 || str[0] != '#' ) { + if( str.empty() || str[0] != '#' ) { return str; } @@ -371,9 +400,9 @@ std::wstring utf8_to_wstr( const std::string &str ) std::string wstr_to_utf8( const std::wstring &wstr ) { #if defined(_WIN32) - int sz = WideCharToMultiByte( CP_UTF8, 0, wstr.c_str(), -1, NULL, 0, NULL, NULL ); + int sz = WideCharToMultiByte( CP_UTF8, 0, wstr.c_str(), -1, nullptr, 0, nullptr, nullptr ); std::string str( sz, '\0' ); - WideCharToMultiByte( CP_UTF8, 0, wstr.c_str(), -1, &str[0], sz, NULL, NULL ); + WideCharToMultiByte( CP_UTF8, 0, wstr.c_str(), -1, &str[0], sz, nullptr, nullptr ); strip_trailing_nulls( str ); return str; #else @@ -392,12 +421,13 @@ std::string native_to_utf8( const std::string &str ) } #if defined(_WIN32) // native encoded string --> Unicode sequence --> UTF-8 string - int unicode_size = MultiByteToWideChar( CP_ACP, 0, str.c_str(), -1, NULL, 0 ) + 1; + int unicode_size = MultiByteToWideChar( CP_ACP, 0, str.c_str(), -1, nullptr, 0 ) + 1; std::wstring unicode( unicode_size, '\0' ); MultiByteToWideChar( CP_ACP, 0, str.c_str(), -1, &unicode[0], unicode_size ); - int utf8_size = WideCharToMultiByte( CP_UTF8, 0, &unicode[0], -1, NULL, 0, NULL, 0 ) + 1; + int utf8_size = WideCharToMultiByte( CP_UTF8, 0, &unicode[0], -1, nullptr, 0, nullptr, + nullptr ) + 1; std::string result( utf8_size, '\0' ); - WideCharToMultiByte( CP_UTF8, 0, &unicode[0], -1, &result[0], utf8_size, NULL, 0 ); + WideCharToMultiByte( CP_UTF8, 0, &unicode[0], -1, &result[0], utf8_size, nullptr, nullptr ); strip_trailing_nulls( result ); return result; #else @@ -412,12 +442,13 @@ std::string utf8_to_native( const std::string &str ) } #if defined(_WIN32) // UTF-8 string --> Unicode sequence --> native encoded string - int unicode_size = MultiByteToWideChar( CP_UTF8, 0, str.c_str(), -1, NULL, 0 ) + 1; + int unicode_size = MultiByteToWideChar( CP_UTF8, 0, str.c_str(), -1, nullptr, 0 ) + 1; std::wstring unicode( unicode_size, '\0' ); MultiByteToWideChar( CP_UTF8, 0, str.c_str(), -1, &unicode[0], unicode_size ); - int native_size = WideCharToMultiByte( CP_ACP, 0, &unicode[0], -1, NULL, 0, NULL, 0 ) + 1; + int native_size = WideCharToMultiByte( CP_ACP, 0, &unicode[0], -1, nullptr, 0, nullptr, + nullptr ) + 1; std::string result( native_size, '\0' ); - WideCharToMultiByte( CP_ACP, 0, &unicode[0], -1, &result[0], native_size, NULL, 0 ); + WideCharToMultiByte( CP_ACP, 0, &unicode[0], -1, &result[0], native_size, nullptr, nullptr ); strip_trailing_nulls( result ); return result; #else @@ -425,6 +456,29 @@ std::string utf8_to_native( const std::string &str ) #endif } +std::string utf32_to_utf8( const std::u32string &str ) +{ + std::string ret; + ret.reserve( str.length() ); + for( auto it = str.begin(); it < str.end(); ++it ) { + ret += utf32_to_utf8( *it ); + } + return ret; +} + +std::u32string utf8_to_utf32( const std::string &str ) +{ + int len = str.length(); + const char *dat = str.data(); + std::u32string ret; + ret.reserve( len ); + while( len > 0 ) { + ret.push_back( UTF8_getch( &dat, &len ) ); + } + ret.shrink_to_fit(); + return ret; +} + int center_text_pos( const char *text, int start_pos, int end_pos ) { int full_screen = end_pos - start_pos + 1; diff --git a/src/catacharset.h b/src/catacharset.h index 186cf4ef3bccf..f7722a9d97ea3 100644 --- a/src/catacharset.h +++ b/src/catacharset.h @@ -27,6 +27,10 @@ int utf8_width( const char *s, bool ignore_tags = false ); int utf8_width( const std::string &str, bool ignore_tags = false ); int utf8_width( const utf8_wrapper &str, bool ignore_tags = false ); +std::string left_justify( const std::string &str, int width, bool ignore_tags = false ); +std::string right_justify( const std::string &str, int width, bool ignore_tags = false ); +std::string utf8_justify( const std::string &str, int width, bool ignore_tags = false ); + /** * Center text inside whole line. * @param text to be centered. @@ -49,6 +53,9 @@ std::string wstr_to_utf8( const std::wstring &wstr ); std::string native_to_utf8( const std::string &str ); std::string utf8_to_native( const std::string &str ); +std::string utf32_to_utf8( const std::u32string &str ); +std::u32string utf8_to_utf32( const std::string &str ); + /** * UTF8-Wrapper over std::string. * It looks and feels like a std::string, but uses code points counts diff --git a/src/character.cpp b/src/character.cpp index 69e8a76877e5a..635c2fca938cd 100644 --- a/src/character.cpp +++ b/src/character.cpp @@ -15,13 +15,16 @@ #include "bionics.h" #include "cata_utility.h" #include "construction.h" +#include "coordinate_conversions.h" #include "debug.h" #include "effect.h" #include "event_bus.h" #include "field.h" +#include "fungal_effects.h" #include "game.h" #include "game_constants.h" #include "itype.h" +#include "npc.h" #include "material.h" #include "map.h" #include "map_iterator.h" @@ -30,10 +33,13 @@ #include "messages.h" #include "mission.h" #include "monster.h" +#include "morale.h" +#include "morale_types.h" #include "mtype.h" #include "mutation.h" #include "options.h" #include "output.h" +#include "overlay_ordering.h" #include "pathfinding.h" #include "player.h" #include "skill.h" @@ -51,7 +57,12 @@ #include "lightmap.h" #include "rng.h" #include "stomach.h" +#include "text_snippets.h" #include "ui.h" +#include "veh_type.h" +#include "vehicle.h" +#include "vitamin.h" +#include "vpart_position.h" static const bionic_id bio_ads( "bio_ads" ); static const bionic_id bio_armor_arms( "bio_armor_arms" ); @@ -60,6 +71,19 @@ static const bionic_id bio_armor_head( "bio_armor_head" ); static const bionic_id bio_armor_legs( "bio_armor_legs" ); static const bionic_id bio_armor_torso( "bio_armor_torso" ); static const bionic_id bio_carbon( "bio_carbon" ); +static const bionic_id bio_climate( "bio_climate" ); +static const bionic_id bio_earplugs( "bio_earplugs" ); +static const bionic_id bio_ears( "bio_ears" ); +static const bionic_id bio_faraday( "bio_faraday" ); +static const bionic_id bio_flashlight( "bio_flashlight" ); +static const bionic_id bio_ground_sonar( "bio_ground_sonar" ); +static const bionic_id bio_gills( "bio_gills" ); +static const bionic_id bio_heatsink( "bio_heatsink" ); +static const bionic_id bio_laser( "bio_laser" ); +static const bionic_id bio_lighter( "bio_lighter" ); +static const bionic_id bio_tattoo_led( "bio_tattoo_led" ); +static const bionic_id bio_tools( "bio_tools" ); +static const bionic_id bio_ups( "bio_ups" ); const efftype_id effect_adrenaline( "adrenaline" ); const efftype_id effect_alarm_clock( "alarm_clock" ); @@ -68,17 +92,32 @@ const efftype_id effect_beartrap( "beartrap" ); const efftype_id effect_bite( "bite" ); const efftype_id effect_bleed( "bleed" ); const efftype_id effect_blind( "blind" ); +const efftype_id effect_blisters( "blisters" ); const efftype_id effect_boomered( "boomered" ); +const efftype_id effect_cold( "cold" ); +const efftype_id effect_common_cold( "common_cold" ); const efftype_id effect_contacts( "contacts" ); +const efftype_id effect_controlled( "controlled" ); +const efftype_id effect_corroding( "corroding" ); +const efftype_id effect_cough_suppress( "cough_suppress" ); +const efftype_id effect_recently_coughed( "recently_coughed" ); const efftype_id effect_crushed( "crushed" ); const efftype_id effect_darkness( "darkness" ); +const efftype_id effect_deaf( "deaf" ); const efftype_id effect_disinfected( "disinfected" ); const efftype_id effect_downed( "downed" ); const efftype_id effect_drunk( "drunk" ); +const efftype_id effect_flu( "flu" ); const efftype_id effect_foodpoison( "foodpoison" ); +const efftype_id effect_frostbite( "frostbite" ); +const efftype_id effect_frostbite_recovery( "frostbite_recovery" ); +const efftype_id effect_glowing( "glowing" ); +const efftype_id effect_glowy_led( "glowy_led" ); const efftype_id effect_grabbed( "grabbed" ); const efftype_id effect_grabbing( "grabbing" ); +const efftype_id effect_harnessed( "harnessed" ); const efftype_id effect_heavysnare( "heavysnare" ); +const efftype_id effect_hot( "hot" ); const efftype_id effect_infected( "infected" ); const efftype_id effect_in_pit( "in_pit" ); const efftype_id effect_lightsnare( "lightsnare" ); @@ -90,22 +129,37 @@ const efftype_id effect_onfire( "onfire" ); const efftype_id effect_pkill1( "pkill1" ); const efftype_id effect_pkill2( "pkill2" ); const efftype_id effect_pkill3( "pkill3" ); +const efftype_id effect_ridden( "ridden" ); const efftype_id effect_riding( "riding" ); const efftype_id effect_sleep( "sleep" ); const efftype_id effect_slept_through_alarm( "slept_through_alarm" ); +const efftype_id effect_tied( "tied" ); +const efftype_id effect_took_prozac( "took_prozac" ); +const efftype_id effect_took_xanax( "took_xanax" ); const efftype_id effect_webbed( "webbed" ); +const efftype_id effect_winded( "winded" ); + +const species_id ROBOT( "ROBOT" ); const skill_id skill_dodge( "dodge" ); const skill_id skill_throw( "throw" ); static const trait_id trait_ACIDBLOOD( "ACIDBLOOD" ); +static const trait_id trait_ACIDPROOF( "ACIDPROOF" ); static const trait_id trait_ADRENALINE( "ADRENALINE" ); +static const trait_id trait_BADBACK( "BADBACK" ); +static const trait_id trait_BARK( "BARK" ); static const trait_id trait_BIRD_EYE( "BIRD_EYE" ); static const trait_id trait_CEPH_EYES( "CEPH_EYES" ); static const trait_id trait_CEPH_VISION( "CEPH_VISION" ); +static const trait_id trait_DEAF( "DEAF" ); +static const trait_id trait_DEBUG_CLOAK( "DEBUG_CLOAK" ); static const trait_id trait_DEBUG_NIGHTVISION( "DEBUG_NIGHTVISION" ); static const trait_id trait_DEBUG_NODMG( "DEBUG_NODMG" ); +static const trait_id trait_DEBUG_NOTEMP( "DEBUG_NOTEMP" ); static const trait_id trait_DISORGANIZED( "DISORGANIZED" ); +static const trait_id trait_DOWN( "DOWN" ); +static const trait_id trait_ELECTRORECEPTORS( "ELECTRORECEPTORS" ); static const trait_id trait_ELFA_FNV( "ELFA_FNV" ); static const trait_id trait_ELFA_NV( "ELFA_NV" ); static const trait_id trait_FEL_NV( "FEL_NV" ); @@ -113,26 +167,40 @@ static const trait_id trait_PROF_FOODP( "PROF_FOODP" ); static const trait_id trait_GILLS( "GILLS" ); static const trait_id trait_GILLS_CEPH( "GILLS_CEPH" ); static const trait_id trait_GLASSJAW( "GLASSJAW" ); +static const trait_id trait_HOARDER( "HOARDER" ); static const trait_id trait_HOLLOW_BONES( "HOLLOW_BONES" ); +static const trait_id trait_LEG_TENT_BRACE( "LEG_TENT_BRACE" ); static const trait_id trait_LIGHT_BONES( "LIGHT_BONES" ); +static const trait_id trait_M_SKIN2( "M_SKIN2" ); +static const trait_id trait_M_SKIN3( "M_SKIN3" ); static const trait_id trait_MEMBRANE( "MEMBRANE" ); static const trait_id trait_MYOPIC( "MYOPIC" ); static const trait_id trait_NIGHTVISION2( "NIGHTVISION2" ); static const trait_id trait_NIGHTVISION3( "NIGHTVISION3" ); static const trait_id trait_NIGHTVISION( "NIGHTVISION" ); +static const trait_id trait_NOMAD( "NOMAD" ); +static const trait_id trait_NOMAD2( "NOMAD2" ); +static const trait_id trait_NOMAD3( "NOMAD3" ); static const trait_id trait_PACKMULE( "PACKMULE" ); static const trait_id trait_PER_SLIME_OK( "PER_SLIME_OK" ); static const trait_id trait_PER_SLIME( "PER_SLIME" ); +static const trait_id trait_PYROMANIA( "PYROMANIA" ); +static const trait_id trait_ROOTS2( "ROOTS2" ); +static const trait_id trait_ROOTS3( "ROOTS3" ); static const trait_id trait_SEESLEEP( "SEESLEEP" ); +static const trait_id trait_SELFAWARE( "SELFAWARE" ); static const trait_id trait_SHELL2( "SHELL2" ); static const trait_id trait_SHELL( "SHELL" ); static const trait_id trait_SHOUT2( "SHOUT2" ); static const trait_id trait_SHOUT3( "SHOUT3" ); +static const trait_id trait_SLIMY( "SLIMY" ); +static const trait_id trait_STRONGSTOMACH( "STRONGSTOMACH" ); static const trait_id trait_THRESH_CEPHALOPOD( "THRESH_CEPHALOPOD" ); static const trait_id trait_THRESH_INSECT( "THRESH_INSECT" ); static const trait_id trait_THRESH_PLANT( "THRESH_PLANT" ); static const trait_id trait_THRESH_SPIDER( "THRESH_SPIDER" ); static const trait_id trait_URSINE_EYE( "URSINE_EYE" ); +static const trait_id trait_VISCOUS( "VISCOUS" ); static const trait_id debug_nodmg( "DEBUG_NODMG" ); const species_id HUMAN( "HUMAN" ); @@ -145,7 +213,10 @@ Character::Character() : hp_max( {{ 0 }} ), damage_bandaged( {{ 0 }} ), damage_disinfected( {{ 0 }} ), - id( -1 ) + cached_time( calendar::before_time_starts ), + id( -1 ), + next_climate_control_check( calendar::before_time_starts ), + last_climate_control_ret( false ) { str_max = 0; dex_max = 0; @@ -165,6 +236,13 @@ Character::Character() : thirst = 0; fatigue = 0; sleep_deprivation = 0; + radiation = 0; + tank_plut = 0; + reactor_plut = 0; + slow_rad = 0; + set_stim( 0 ); + set_stamina( 10000 ); //Temporary value for stamina. It will be reset later from external json option. + pkill = 0; // 45 days to starve to death healthy_calories = 55000; stored_calories = healthy_calories; @@ -174,6 +252,27 @@ Character::Character() : name.clear(); *path_settings = pathfinding_settings{ 0, 1000, 1000, 0, true, false, true, false }; + + move_mode = CMM_WALK; + + temp_cur.fill( BODYTEMP_NORM ); + frostbite_timer.fill( 0 ); + temp_conv.fill( BODYTEMP_NORM ); + + body_wetness.fill( 0 ); + + drench_capacity[bp_eyes] = 1; + drench_capacity[bp_mouth] = 1; + drench_capacity[bp_head] = 7; + drench_capacity[bp_leg_l] = 11; + drench_capacity[bp_leg_r] = 11; + drench_capacity[bp_foot_l] = 3; + drench_capacity[bp_foot_r] = 3; + drench_capacity[bp_arm_l] = 10; + drench_capacity[bp_arm_r] = 10; + drench_capacity[bp_hand_l] = 3; + drench_capacity[bp_hand_r] = 3; + drench_capacity[bp_torso] = 40; } // *INDENT-ON* @@ -181,11 +280,11 @@ Character::~Character() = default; Character::Character( Character && ) = default; Character &Character::operator=( Character && ) = default; -void Character::setID( character_id i ) +void Character::setID( character_id i, bool force ) { - if( id.is_valid() ) { + if( id.is_valid() && !force ) { debugmsg( "tried to set id of a npc/player, but has already a id: %d", id.get_value() ); - } else if( !i.is_valid() ) { + } else if( !i.is_valid() && !force ) { debugmsg( "tried to set invalid id of a npc/player: %d", i.get_value() ); } else { id = i; @@ -263,16 +362,16 @@ int Character::get_fat_to_hp() const return mut_fat_hp * ( get_bmi() - character_weight_category::normal ); } -std::string Character::disp_name( bool possessive ) const +std::string Character::disp_name( bool possessive, bool capitalize_first ) const { if( !possessive ) { if( is_player() ) { - return pgettext( "not possessive", "you" ); + return pgettext( "not possessive", capitalize_first ? "You" : "you" ); } return name; } else { if( is_player() ) { - return _( "your" ); + return capitalize_first ? _( "Your" ) : _( "your" ); } return string_format( _( "%s's" ), name ); } @@ -429,11 +528,202 @@ double Character::aim_per_move( const item &gun, double recoil ) const return std::min( aim_speed, recoil - limit ); } +void Character::set_destination_activity( const player_activity &new_destination_activity ) +{ + destination_activity = new_destination_activity; +} + +void Character::clear_destination_activity() +{ + destination_activity = player_activity(); +} + +player_activity Character::get_destination_activity() const +{ + return destination_activity; +} + +void Character::mount_creature( monster &z ) +{ + tripoint pnt = z.pos(); + std::shared_ptr mons = g->shared_from( z ); + if( mons == nullptr ) { + add_msg( m_debug, "mount_creature(): monster not found in critter_tracker" ); + return; + } + add_effect( effect_riding, 1_turns, num_bp, true ); + z.add_effect( effect_ridden, 1_turns, num_bp, true ); + if( z.has_effect( effect_tied ) ) { + z.remove_effect( effect_tied ); + if( z.tied_item ) { + i_add( *z.tied_item ); + z.tied_item = cata::nullopt; + } + } + z.mounted_player_id = getID(); + if( z.has_effect( effect_harnessed ) ) { + z.remove_effect( effect_harnessed ); + add_msg_if_player( m_info, _( "You remove the %s's harness." ), z.get_name() ); + } + mounted_creature = mons; + mons->mounted_player = this; + if( is_avatar() ) { + if( g->u.is_hauling() ) { + g->u.stop_hauling(); + } + if( g->u.get_grab_type() != OBJECT_NONE ) { + add_msg( m_warning, _( "You let go of the grabbed object." ) ); + g->u.grab( OBJECT_NONE ); + } + g->place_player( pnt ); + } else { + npc &guy = dynamic_cast( *this ); + guy.setpos( pnt ); + } + z.facing = facing; + add_msg_if_player( m_good, _( "You climb on the %s." ), z.get_name() ); + if( z.has_flag( MF_RIDEABLE_MECH ) ) { + if( !z.type->mech_weapon.empty() ) { + item mechwep = item( z.type->mech_weapon ); + wield( mechwep ); + } + add_msg_if_player( m_good, _( "You hear your %s whir to life." ), z.get_name() ); + } + // some rideable mechs have night-vision + recalc_sight_limits(); + mod_moves( -100 ); +} + bool Character::is_mounted() const { return has_effect( effect_riding ) && mounted_creature; } +void Character::forced_dismount() +{ + remove_effect( effect_riding ); + bool mech = false; + if( mounted_creature ) { + auto mon = mounted_creature.get(); + if( mon->has_flag( MF_RIDEABLE_MECH ) && !mon->type->mech_weapon.empty() ) { + mech = true; + remove_item( weapon ); + } + mon->mounted_player_id = character_id(); + mon->remove_effect( effect_ridden ); + mon->add_effect( effect_controlled, 5_turns ); + mounted_creature = nullptr; + mon->mounted_player = nullptr; + } + std::vector valid; + for( const tripoint &jk : g->m.points_in_radius( pos(), 1 ) ) { + if( g->is_empty( jk ) ) { + valid.push_back( jk ); + } + } + if( !valid.empty() ) { + setpos( random_entry( valid ) ); + if( mech ) { + add_msg_player_or_npc( m_bad, _( "You are ejected from your mech!" ), + _( " is ejected from their mech!" ) ); + } else { + add_msg_player_or_npc( m_bad, _( "You fall off your mount!" ), + _( " falls off their mount!" ) ); + } + const int dodge = get_dodge(); + const int damage = std::max( 0, rng( 1, 20 ) - rng( dodge, dodge * 2 ) ); + body_part hit = num_bp; + switch( rng( 1, 10 ) ) { + case 1: + if( one_in( 2 ) ) { + hit = bp_foot_l; + } else { + hit = bp_foot_r; + } + break; + case 2: + case 3: + case 4: + if( one_in( 2 ) ) { + hit = bp_leg_l; + } else { + hit = bp_leg_r; + } + break; + case 5: + case 6: + case 7: + if( one_in( 2 ) ) { + hit = bp_arm_l; + } else { + hit = bp_arm_r; + } + break; + case 8: + case 9: + hit = bp_torso; + break; + case 10: + hit = bp_head; + break; + } + if( damage > 0 ) { + add_msg_if_player( m_bad, _( "You hurt yourself!" ) ); + deal_damage( nullptr, hit, damage_instance( DT_BASH, damage ) ); + if( is_avatar() ) { + g->memorial().add( + pgettext( "memorial_male", "Fell off a mount." ), + pgettext( "memorial_female", "Fell off a mount." ) ); + } + check_dead_state(); + } + add_effect( effect_downed, 5_turns, num_bp, true ); + } else { + add_msg( m_debug, "Forced_dismount could not find a square to deposit player" ); + } + if( is_avatar() ) { + if( g->u.get_grab_type() != OBJECT_NONE ) { + add_msg( m_warning, _( "You let go of the grabbed object." ) ); + g->u.grab( OBJECT_NONE ); + } + set_movement_mode( CMM_WALK ); + g->update_map( g->u ); + } + moves -= 150; +} + +void Character::dismount() +{ + if( !is_mounted() ) { + add_msg( m_debug, "dismount called when not riding" ); + return; + } + if( const cata::optional pnt = choose_adjacent( _( "Dismount where?" ) ) ) { + if( !g->is_empty( *pnt ) ) { + add_msg( m_warning, _( "You cannot dismount there!" ) ); + return; + } + remove_effect( effect_riding ); + monster *critter = mounted_creature.get(); + critter->mounted_player_id = character_id(); + if( critter->has_flag( MF_RIDEABLE_MECH ) && !critter->type->mech_weapon.empty() ) { + remove_item( g->u.weapon ); + } + if( is_avatar() && g->u.get_grab_type() != OBJECT_NONE ) { + add_msg( m_warning, _( "You let go of the grabbed object." ) ); + g->u.grab( OBJECT_NONE ); + } + critter->remove_effect( effect_ridden ); + critter->add_effect( effect_controlled, 5_turns ); + mounted_creature = nullptr; + critter->mounted_player = nullptr; + setpos( *pnt ); + g->refresh_all(); + mod_moves( -100 ); + set_movement_mode( CMM_WALK ); + } +} + /** Returns true if the character has two functioning arms */ bool Character::has_two_arms() const { @@ -492,6 +782,11 @@ bool Character::is_limb_broken( hp_part limb ) const return hp_cur[limb] == 0; } +bool Character::can_run() +{ + return get_stamina() > 0 && !has_effect( effect_winded ) && get_working_leg_count() >= 2; +} + bool Character::move_effects( bool attacking ) { if( has_effect( effect_downed ) ) { @@ -709,6 +1004,11 @@ bool Character::move_effects( bool attacking ) return true; } +bool Character::movement_mode_is( const character_movemode mode ) const +{ + return move_mode == mode; +} + void Character::add_effect( const efftype_id &eff_id, const time_duration dur, body_part bp, bool permanent, int intensity, bool force, bool deferred ) { @@ -1073,7 +1373,8 @@ std::vector Character::get_fuel_available( const bionic_id &bio ) cons { std::vector stored_fuels; for( const itype_id fuel : bio->fuel_opts ) { - if( !get_value( fuel ).empty() ) { + const item tmp_fuel( fuel ); + if( !get_value( fuel ).empty() || tmp_fuel.has_flag( "PERPETUAL" ) ) { stored_fuels.emplace_back( fuel ); } } @@ -1374,6 +1675,40 @@ bool Character::i_add_or_drop( item &it, int qty ) return retval; } +void Character::drop( int pos, const tripoint &where ) +{ + const item &it = i_at( pos ); + const int count = it.count(); + + drop( { std::make_pair( pos, count ) }, where ); +} + +void Character::drop( const std::list> &what, const tripoint &target, + bool stash ) +{ + const activity_id type( stash ? "ACT_STASH" : "ACT_DROP" ); + + if( what.empty() ) { + return; + } + + if( rl_dist( pos(), target ) > 1 || !( stash || g->m.can_put_items( target ) ) ) { + add_msg_player_or_npc( m_info, _( "You can't place items here!" ), + _( " can't place items here!" ) ); + return; + } + + assign_activity( type ); + activity.placement = target - pos(); + + for( auto item_pair : what ) { + if( can_unwield( i_at( item_pair.first ) ).success() ) { + activity.values.push_back( item_pair.first ); + activity.values.push_back( item_pair.second ); + } + } +} + invlets_bitset Character::allocated_invlets() const { invlets_bitset invlets = inv.allocated_invlets(); @@ -1705,13 +2040,13 @@ units::volume Character::volume_capacity_reduced_by( } } if( has_bionic( bionic_id( "bio_storage" ) ) ) { - ret += 2000_ml; + ret += 2_liter; } if( has_trait( trait_SHELL ) ) { - ret += 4000_ml; + ret += 4_liter; } if( has_trait( trait_SHELL2 ) && !has_active_mutation( trait_SHELL2 ) ) { - ret += 6000_ml; + ret += 6_liter; } if( has_trait( trait_PACKMULE ) ) { ret = ret * 1.4; @@ -1765,6 +2100,15 @@ bool Character::can_use( const item &it, const item &context ) const return true; } +ret_val Character::can_unwield( const item &it ) const +{ + if( it.has_flag( "NO_UNWIELD" ) ) { + return ret_val::make_failure( _( "You cannot unwield your %s." ), it.tname() ); + } + + return ret_val::make_success(); +} + void Character::drop_invalid_inventory() { bool dropped_liquid = false; @@ -1802,6 +2146,11 @@ bool Character::has_artifact_with( const art_effect_passive effect ) const } ); } +bool Character::is_wielding( const item &target ) const +{ + return &weapon == ⌖ +} + bool Character::is_wearing( const itype_id &it ) const { for( auto &i : worn ) { @@ -1829,6 +2178,54 @@ bool Character::worn_with_flag( const std::string &flag, body_part bp ) const } ); } +std::vector Character::get_overlay_ids() const +{ + std::vector rval; + std::multimap mutation_sorting; + int order; + std::string overlay_id; + + // first get effects + for( const auto &eff_pr : *effects ) { + rval.push_back( "effect_" + eff_pr.first.str() ); + } + + // then get mutations + for( const auto &mut : my_mutations ) { + overlay_id = ( mut.second.powered ? "active_" : "" ) + mut.first.str(); + order = get_overlay_order_of_mutation( overlay_id ); + mutation_sorting.insert( std::pair( order, overlay_id ) ); + } + + // then get bionics + for( const bionic &bio : *my_bionics ) { + overlay_id = ( bio.powered ? "active_" : "" ) + bio.id.str(); + order = get_overlay_order_of_mutation( overlay_id ); + mutation_sorting.insert( std::pair( order, overlay_id ) ); + } + + for( auto &mutorder : mutation_sorting ) { + rval.push_back( "mutation_" + mutorder.second ); + } + + // next clothing + // TODO: worry about correct order of clothing overlays + for( const item &worn_item : worn ) { + rval.push_back( "worn_" + worn_item.typeId() ); + } + + // last weapon + // TODO: might there be clothing that covers the weapon? + if( is_armed() ) { + rval.push_back( "wielded_" + weapon.typeId() ); + } + + if( move_mode != CMM_WALK ) { + rval.push_back( character_movemode_str[ move_mode ] ); + } + return rval; +} + const SkillLevelMap &Character::get_all_skills() const { return *_skills; @@ -1935,6 +2332,7 @@ void Character::normalize() { Creature::normalize(); + martial_arts_data.reset_style(); weapon = item( "null", 0 ); recalc_hp(); @@ -2190,6 +2588,93 @@ bool Character::is_wearing_active_power_armor() const return false; } +bool Character::is_wearing_active_optcloak() const +{ + for( auto &w : worn ) { + if( w.active && w.has_flag( "ACTIVE_CLOAKING" ) ) { + return true; + } + } + return false; +} + +bool Character::in_climate_control() +{ + bool regulated_area = false; + // Check + if( has_active_bionic( bio_climate ) ) { + return true; + } + if( has_trait( trait_M_SKIN3 ) && g->m.has_flag_ter_or_furn( "FUNGUS", pos() ) && + in_sleep_state() ) { + return true; + } + for( auto &w : worn ) { + if( w.active && w.is_power_armor() ) { + return true; + } + if( worn_with_flag( "CLIMATE_CONTROL" ) ) { + return true; + } + } + if( calendar::turn >= next_climate_control_check ) { + // save CPU and simulate acclimation. + next_climate_control_check = calendar::turn + 20_turns; + if( const optional_vpart_position vp = g->m.veh_at( pos() ) ) { + regulated_area = ( + vp->is_inside() && // Already checks for opened doors + vp->vehicle().total_power_w( true ) > 0 // Out of gas? No AC for you! + ); // TODO: (?) Force player to scrounge together an AC unit + } + // TODO: AC check for when building power is implemented + last_climate_control_ret = regulated_area; + if( !regulated_area ) { + // Takes longer to cool down / warm up with AC, than it does to step outside and feel cruddy. + next_climate_control_check += 40_turns; + } + } else { + return last_climate_control_ret; + } + return regulated_area; +} + +int Character::get_wind_resistance( body_part bp ) const +{ + int coverage = 0; + float totalExposed = 1.0; + int totalCoverage = 0; + int penalty = 100; + + for( auto &i : worn ) { + if( i.covers( bp ) ) { + if( i.made_of( material_id( "leather" ) ) || i.made_of( material_id( "plastic" ) ) || + i.made_of( material_id( "bone" ) ) || + i.made_of( material_id( "chitin" ) ) || i.made_of( material_id( "nomex" ) ) ) { + penalty = 10; // 90% effective + } else if( i.made_of( material_id( "cotton" ) ) ) { + penalty = 30; + } else if( i.made_of( material_id( "wool" ) ) ) { + penalty = 40; + } else { + penalty = 1; // 99% effective + } + + coverage = std::max( 0, i.get_coverage() - penalty ); + totalExposed *= ( 1.0 - coverage / 100.0 ); // Coverage is between 0 and 1? + } + } + + // Your shell provides complete wind protection if you're inside it + if( has_active_mutation( trait_SHELL2 ) ) { + totalCoverage = 100; + return totalCoverage; + } + + totalCoverage = 100 - totalExposed * 100; + + return totalCoverage; +} + void layer_details::reset() { *this = layer_details(); @@ -2488,6 +2973,38 @@ void Character::mod_int_bonus( int nint ) int_cur = std::max( 0, int_max + int_bonus ); } +void Character::print_health() const +{ + if( !is_player() ) { + return; + } + int current_health = get_healthy(); + if( has_trait( trait_SELFAWARE ) ) { + add_msg_if_player( _( "Your current health value is %d." ), current_health ); + } + + if( current_health > 0 && + ( has_effect( effect_common_cold ) || has_effect( effect_flu ) ) ) { + return; + } + + static const std::map msg_categories = { + { -100, "health_horrible" }, + { -50, "health_very_bad" }, + { -10, "health_bad" }, + { 10, "" }, + { 50, "health_good" }, + { 100, "health_very_good" }, + { INT_MAX, "health_great" } + }; + + auto iter = msg_categories.lower_bound( current_health ); + if( iter != msg_categories.end() && !iter->second.empty() ) { + const translation msg = SNIPPET.random_from_category( iter->second ).value_or( translation() ); + add_msg_if_player( current_health > 0 ? m_good : m_bad, "%s", msg ); + } +} + namespace io { template<> @@ -2770,6 +3287,15 @@ int Character::get_sleep_deprivation() const return sleep_deprivation; } +bool Character::is_deaf() const +{ + return get_effect_int( effect_deaf ) > 2 || worn_with_flag( "DEAF" ) || + has_trait( trait_DEAF ) || + ( has_active_bionic( bio_earplugs ) && !has_active_bionic( bio_ears ) ) || + ( has_trait( trait_M_SKIN3 ) && g->m.has_flag_ter_or_furn( "FUNGUS", pos() ) + && in_sleep_state() ); +} + void Character::on_damage_of_type( int adjusted_damage, damage_type type, body_part bp ) { // Electrical damage has a chance to temporarily incapacitate bionics in the damaged body_part. @@ -2852,6 +3378,556 @@ void Character::update_health( int external_modifiers ) add_msg( m_debug, "Health: %d, Health mod: %d", get_healthy(), get_healthy_mod() ); } +/* Here lies the intended effects of body temperature + +Assumption 1 : a naked person is comfortable at 19C/66.2F (31C/87.8F at rest). +Assumption 2 : a "lightly clothed" person is comfortable at 13C/55.4F (25C/77F at rest). +Assumption 3 : the player is always running, thus generating more heat. +Assumption 4 : frostbite cannot happen above 0C temperature.* +* In the current model, a naked person can get frostbite at 1C. This isn't true, but it's a compromise with using nice whole numbers. + +Here is a list of warmth values and the corresponding temperatures in which the player is comfortable, and in which the player is very cold. + +Warmth Temperature (Comfortable) Temperature (Very cold) Notes + 0 19C / 66.2F -11C / 12.2F * Naked + 10 13C / 55.4F -17C / 1.4F * Lightly clothed + 20 7C / 44.6F -23C / -9.4F + 30 1C / 33.8F -29C / -20.2F + 40 -5C / 23.0F -35C / -31.0F + 50 -11C / 12.2F -41C / -41.8F + 60 -17C / 1.4F -47C / -52.6F + 70 -23C / -9.4F -53C / -63.4F + 80 -29C / -20.2F -59C / -74.2F + 90 -35C / -31.0F -65C / -85.0F +100 -41C / -41.8F -71C / -95.8F + +WIND POWER +Except for the last entry, pressures are sort of made up... + +Breeze : 5mph (1015 hPa) +Strong Breeze : 20 mph (1000 hPa) +Moderate Gale : 30 mph (990 hPa) +Storm : 50 mph (970 hPa) +Hurricane : 100 mph (920 hPa) +HURRICANE : 185 mph (880 hPa) [Ref: Hurricane Wilma] +*/ + +void Character::update_bodytemp() +{ + if( has_trait( trait_DEBUG_NOTEMP ) ) { + temp_cur.fill( BODYTEMP_NORM ); + temp_conv.fill( BODYTEMP_NORM ); + return; + } + /* Cache calls to g->get_temperature( player position ), used in several places in function */ + const auto player_local_temp = g->weather.get_temperature( pos() ); + // NOTE : visit weather.h for some details on the numbers used + // Converts temperature to Celsius/10 + int Ctemperature = static_cast( 100 * temp_to_celsius( player_local_temp ) ); + const w_point weather = *g->weather.weather_precise; + int vehwindspeed = 0; + const optional_vpart_position vp = g->m.veh_at( pos() ); + if( vp ) { + vehwindspeed = abs( vp->vehicle().velocity / 100 ); // vehicle velocity in mph + } + const oter_id &cur_om_ter = overmap_buffer.ter( global_omt_location() ); + bool sheltered = g->is_sheltered( pos() ); + double total_windpower = get_local_windpower( g->weather.windspeed + vehwindspeed, cur_om_ter, + pos(), + g->weather.winddirection, sheltered ); + // Let's cache this not to check it num_bp times + const bool has_bark = has_trait( trait_BARK ); + const bool has_sleep = has_effect( effect_sleep ); + const bool has_sleep_state = has_sleep || in_sleep_state(); + const bool has_heatsink = has_bionic( bio_heatsink ) || is_wearing( "rm13_armor_on" ) || + has_trait( trait_M_SKIN2 ) || has_trait( trait_M_SKIN3 ); + const bool has_common_cold = has_effect( effect_common_cold ); + const bool has_climate_control = in_climate_control(); + const bool use_floor_warmth = can_use_floor_warmth(); + const furn_id furn_at_pos = g->m.furn( pos() ); + const cata::optional boardable = vp.part_with_feature( "BOARDABLE", true ); + // Temperature norms + // Ambient normal temperature is lower while asleep + const int ambient_norm = has_sleep ? 3100 : 1900; + + /** + * Calculations that affect all body parts equally go here, not in the loop + */ + // Hunger / Starvation + // -1000 when about to starve to death + // -1333 when starving with light eater + // -2000 if you managed to get 0 metabolism rate somehow + const float met_rate = metabolic_rate(); + const int hunger_warmth = static_cast( 2000 * std::min( met_rate, 1.0f ) - 2000 ); + // Give SOME bonus to those living furnaces with extreme metabolism + const int metabolism_warmth = static_cast( std::max( 0.0f, met_rate - 1.0f ) * 1000 ); + // Fatigue + // ~-900 when exhausted + const int fatigue_warmth = has_sleep ? 0 : static_cast( std::min( 0.0f, + -1.5f * get_fatigue() ) ); + + // Sunlight + const int sunlight_warmth = g->is_in_sunlight( pos() ) ? ( g->weather.weather == WEATHER_SUNNY ? + 1000 : + 500 ) : 0; + const int best_fire = get_heat_radiation( pos(), true ); + + const int lying_warmth = use_floor_warmth ? floor_warmth( pos() ) : 0; + const int water_temperature = + 100 * temp_to_celsius( g->weather.get_cur_weather_gen().get_water_temperature() ); + + // Correction of body temperature due to traits and mutations + // Lower heat is applied always + const int mutation_heat_low = bodytemp_modifier_traits( false ); + const int mutation_heat_high = bodytemp_modifier_traits( true ); + // Difference between high and low is the "safe" heat - one we only apply if it's beneficial + const int mutation_heat_bonus = mutation_heat_high - mutation_heat_low; + + const int h_radiation = get_heat_radiation( pos(), false ); + // Current temperature and converging temperature calculations + for( const body_part bp : all_body_parts ) { + // Skip eyes + if( bp == bp_eyes ) { + continue; + } + + // This adjusts the temperature scale to match the bodytemp scale, + // it needs to be reset every iteration + int adjusted_temp = ( Ctemperature - ambient_norm ); + int bp_windpower = total_windpower; + // Represents the fact that the body generates heat when it is cold. + // TODO: : should this increase hunger? + double scaled_temperature = logarithmic_range( BODYTEMP_VERY_COLD, BODYTEMP_VERY_HOT, + temp_cur[bp] ); + // Produces a smooth curve between 30.0 and 60.0. + double homeostasis_adjustement = 30.0 * ( 1.0 + scaled_temperature ); + int clothing_warmth_adjustement = static_cast( homeostasis_adjustement * warmth( bp ) ); + int clothing_warmth_adjusted_bonus = static_cast( homeostasis_adjustement * bonus_item_warmth( + bp ) ); + // WINDCHILL + + bp_windpower = static_cast( static_cast( bp_windpower ) * ( 1 - get_wind_resistance( + bp ) / 100.0 ) ); + // Calculate windchill + int windchill = get_local_windchill( player_local_temp, + get_local_humidity( weather.humidity, g->weather.weather, + sheltered ), + bp_windpower ); + // If you're standing in water, air temperature is replaced by water temperature. No wind. + const ter_id ter_at_pos = g->m.ter( pos() ); + // Convert to 0.01C + if( ( ter_at_pos == t_water_dp || ter_at_pos == t_water_pool || ter_at_pos == t_swater_dp || + ter_at_pos == t_water_moving_dp ) || + ( ( ter_at_pos == t_water_sh || ter_at_pos == t_swater_sh || ter_at_pos == t_sewage || + ter_at_pos == t_water_moving_sh ) && + ( bp == bp_foot_l || bp == bp_foot_r || bp == bp_leg_l || bp == bp_leg_r ) ) ) { + adjusted_temp += water_temperature - Ctemperature; // Swap out air temp for water temp. + windchill = 0; + } + + // Convergent temperature is affected by ambient temperature, + // clothing warmth, and body wetness. + temp_conv[bp] = BODYTEMP_NORM + adjusted_temp + windchill * 100 + clothing_warmth_adjustement; + // HUNGER / STARVATION + temp_conv[bp] += hunger_warmth; + // FATIGUE + temp_conv[bp] += fatigue_warmth; + // Mutations + temp_conv[bp] += mutation_heat_low; + // DIRECT HEAT SOURCES (generates body heat, helps fight frostbite) + // Bark : lowers blister count to -5; harder to get blisters + int blister_count = ( has_bark ? -5 : 0 ); // If the counter is high, your skin starts to burn + + if( frostbite_timer[bp] > 0 ) { + frostbite_timer[bp] -= std::max( 5, h_radiation ); + } + // 111F (44C) is a temperature in which proteins break down: https://en.wikipedia.org/wiki/Burn + blister_count += h_radiation - 111 > 0 ? std::max( static_cast( sqrt( h_radiation - 111 ) ), + 0 ) : 0; + + const bool pyromania = has_trait( trait_PYROMANIA ); + // BLISTERS : Skin gets blisters from intense heat exposure. + // Fire protection protects from blisters. + // Heatsinks give near-immunity. + if( blister_count - get_armor_fire( bp ) - ( has_heatsink ? 20 : 0 ) > 0 ) { + add_effect( effect_blisters, 1_turns, bp ); + if( pyromania ) { + add_morale( MORALE_PYROMANIA_NEARFIRE, 10, 10, 1_hours, + 30_minutes ); // Proximity that's close enough to harm us gives us a bit of a thrill + rem_morale( MORALE_PYROMANIA_NOFIRE ); + } + } else if( pyromania && best_fire >= 1 ) { // Only give us fire bonus if there's actually fire + add_morale( MORALE_PYROMANIA_NEARFIRE, 5, 5, 30_minutes, + 15_minutes ); // Gain a much smaller mood boost even if it doesn't hurt us + rem_morale( MORALE_PYROMANIA_NOFIRE ); + } + + temp_conv[bp] += sunlight_warmth; + // DISEASES + if( bp == bp_head && has_effect( effect_flu ) ) { + temp_conv[bp] += 1500; + } + if( has_common_cold ) { + temp_conv[bp] -= 750; + } + // Loss of blood results in loss of body heat, 1% bodyheat lost per 2% hp lost + temp_conv[bp] -= blood_loss( bp ) * temp_conv[bp] / 200; + + // EQUALIZATION + switch( bp ) { + case bp_torso: + temp_equalizer( bp_torso, bp_arm_l ); + temp_equalizer( bp_torso, bp_arm_r ); + temp_equalizer( bp_torso, bp_leg_l ); + temp_equalizer( bp_torso, bp_leg_r ); + temp_equalizer( bp_torso, bp_head ); + break; + case bp_head: + temp_equalizer( bp_head, bp_torso ); + temp_equalizer( bp_head, bp_mouth ); + break; + case bp_arm_l: + temp_equalizer( bp_arm_l, bp_torso ); + temp_equalizer( bp_arm_l, bp_hand_l ); + break; + case bp_arm_r: + temp_equalizer( bp_arm_r, bp_torso ); + temp_equalizer( bp_arm_r, bp_hand_r ); + break; + case bp_leg_l: + temp_equalizer( bp_leg_l, bp_torso ); + temp_equalizer( bp_leg_l, bp_foot_l ); + break; + case bp_leg_r: + temp_equalizer( bp_leg_r, bp_torso ); + temp_equalizer( bp_leg_r, bp_foot_r ); + break; + case bp_mouth: + temp_equalizer( bp_mouth, bp_head ); + break; + case bp_hand_l: + temp_equalizer( bp_hand_l, bp_arm_l ); + break; + case bp_hand_r: + temp_equalizer( bp_hand_r, bp_arm_r ); + break; + case bp_foot_l: + temp_equalizer( bp_foot_l, bp_leg_l ); + break; + case bp_foot_r: + temp_equalizer( bp_foot_r, bp_leg_r ); + break; + default: + debugmsg( "Wacky body part temperature equalization!" ); + break; + } + + // Climate Control eases the effects of high and low ambient temps + if( has_climate_control ) { + temp_conv[bp] = temp_corrected_by_climate_control( temp_conv[bp] ); + } + + // FINAL CALCULATION : Increments current body temperature towards convergent. + int bonus_fire_warmth = 0; + if( !has_sleep_state && best_fire > 0 ) { + // Warming up over a fire + // Extremities are easier to extend over a fire + switch( bp ) { + case bp_head: + case bp_torso: + case bp_mouth: + case bp_leg_l: + case bp_leg_r: + bonus_fire_warmth = best_fire * best_fire * 150; // Not much + break; + case bp_arm_l: + case bp_arm_r: + bonus_fire_warmth = best_fire * 600; // A fair bit + break; + case bp_foot_l: + case bp_foot_r: + if( furn_at_pos != f_null ) { + // Can sit on something to lift feet up to the fire + bonus_fire_warmth = best_fire * furn_at_pos.obj().bonus_fire_warmth_feet; + } else if( boardable ) { + bonus_fire_warmth = best_fire * boardable->info().bonus_fire_warmth_feet; + } else { + // Has to stand + bonus_fire_warmth = best_fire * 300; + } + break; + case bp_hand_l: + case bp_hand_r: + bonus_fire_warmth = best_fire * 1500; // A lot + default: + break; + } + } + + const int comfortable_warmth = bonus_fire_warmth + lying_warmth; + const int bonus_warmth = comfortable_warmth + metabolism_warmth + mutation_heat_bonus; + if( bonus_warmth > 0 ) { + // Approximate temp_conv needed to reach comfortable temperature in this very turn + // Basically inverted formula for temp_cur below + int desired = 501 * BODYTEMP_NORM - 499 * temp_cur[bp]; + if( std::abs( BODYTEMP_NORM - desired ) < 1000 ) { + desired = BODYTEMP_NORM; // Ensure that it converges + } else if( desired > BODYTEMP_HOT ) { + desired = BODYTEMP_HOT; // Cap excess at sane temperature + } + + if( desired < temp_conv[bp] ) { + // Too hot, can't help here + } else if( desired < temp_conv[bp] + bonus_warmth ) { + // Use some heat, but not all of it + temp_conv[bp] = desired; + } else { + // Use all the heat + temp_conv[bp] += bonus_warmth; + } + + // Morale bonus for comfiness - only if actually comfy (not too warm/cold) + // Spread the morale bonus in time. + if( comfortable_warmth > 0 && + // @todo make this simpler and use time_duration/time_point + to_turn( calendar::turn ) % to_turns( 1_minutes ) == to_turns + ( 1_minutes * bp ) / to_turns( 1_minutes * num_bp ) && + get_effect_int( effect_cold, num_bp ) == 0 && + get_effect_int( effect_hot, num_bp ) == 0 && + temp_cur[bp] > BODYTEMP_COLD && temp_cur[bp] <= BODYTEMP_NORM ) { + add_morale( MORALE_COMFY, 1, 10, 2_minutes, 1_minutes, true ); + } + } + + int temp_before = temp_cur[bp]; + int temp_difference = temp_before - temp_conv[bp]; // Negative if the player is warming up. + // exp(-0.001) : half life of 60 minutes, exp(-0.002) : half life of 30 minutes, + // exp(-0.003) : half life of 20 minutes, exp(-0.004) : half life of 15 minutes + int rounding_error = 0; + // If temp_diff is small, the player cannot warm up due to rounding errors. This fixes that. + if( temp_difference < 0 && temp_difference > -600 ) { + rounding_error = 1; + } + if( temp_cur[bp] != temp_conv[bp] ) { + temp_cur[bp] = static_cast( temp_difference * exp( -0.002 ) + temp_conv[bp] + rounding_error ); + } + // This statement checks if we should be wearing our bonus warmth. + // If, after all the warmth calculations, we should be, then we have to recalculate the temperature. + if( clothing_warmth_adjusted_bonus != 0 && + ( ( temp_conv[bp] + clothing_warmth_adjusted_bonus ) < BODYTEMP_HOT || + temp_cur[bp] < BODYTEMP_COLD ) ) { + temp_conv[bp] += clothing_warmth_adjusted_bonus; + rounding_error = 0; + if( temp_difference < 0 && temp_difference > -600 ) { + rounding_error = 1; + } + if( temp_before != temp_conv[bp] ) { + temp_difference = temp_before - temp_conv[bp]; + temp_cur[bp] = static_cast( temp_difference * exp( -0.002 ) + temp_conv[bp] + rounding_error ); + } + } + int temp_after = temp_cur[bp]; + // PENALTIES + if( temp_cur[bp] < BODYTEMP_FREEZING ) { + add_effect( effect_cold, 1_turns, bp, true, 3 ); + } else if( temp_cur[bp] < BODYTEMP_VERY_COLD ) { + add_effect( effect_cold, 1_turns, bp, true, 2 ); + } else if( temp_cur[bp] < BODYTEMP_COLD ) { + add_effect( effect_cold, 1_turns, bp, true, 1 ); + } else if( temp_cur[bp] > BODYTEMP_SCORCHING ) { + add_effect( effect_hot, 1_turns, bp, true, 3 ); + } else if( temp_cur[bp] > BODYTEMP_VERY_HOT ) { + add_effect( effect_hot, 1_turns, bp, true, 2 ); + } else if( temp_cur[bp] > BODYTEMP_HOT ) { + add_effect( effect_hot, 1_turns, bp, true, 1 ); + } else { + if( temp_cur[bp] >= BODYTEMP_COLD ) { + remove_effect( effect_cold, bp ); + } + if( temp_cur[bp] <= BODYTEMP_HOT ) { + remove_effect( effect_hot, bp ); + } + } + // FROSTBITE - only occurs to hands, feet, face + /** + + Source : http://www.atc.army.mil/weather/windchill.pdf + + Temperature and wind chill are main factors, mitigated by clothing warmth. Each 10 warmth protects against 2C of cold. + + 1200 turns in low risk, + 3 tics + 450 turns in moderate risk, + 8 tics + 50 turns in high risk, +72 tics + + Let's say frostnip @ 1800 tics, frostbite @ 3600 tics + + >> Chunked into 8 parts (http://imgur.com/xlTPmJF) + -- 2 hour risk -- + Between 30F and 10F + Between 10F and -5F, less than 20mph, -4x + 3y - 20 > 0, x : F, y : mph + -- 45 minute risk -- + Between 10F and -5F, less than 20mph, -4x + 3y - 20 < 0, x : F, y : mph + Between 10F and -5F, greater than 20mph + Less than -5F, less than 10 mph + Less than -5F, more than 10 mph, -4x + 3y - 170 > 0, x : F, y : mph + -- 5 minute risk -- + Less than -5F, more than 10 mph, -4x + 3y - 170 < 0, x : F, y : mph + Less than -35F, more than 10 mp + **/ + + if( bp == bp_mouth || bp == bp_foot_r || bp == bp_foot_l || bp == bp_hand_r || bp == bp_hand_l ) { + // Handle the frostbite timer + // Need temps in F, windPower already in mph + int wetness_percentage = 100 * body_wetness[bp] / drench_capacity[bp]; // 0 - 100 + // Warmth gives a slight buff to temperature resistance + // Wetness gives a heavy nerf to temperature resistance + double adjusted_warmth = warmth( bp ) - wetness_percentage; + int Ftemperature = static_cast( player_local_temp + 0.2 * adjusted_warmth ); + // Windchill reduced by your armor + int FBwindPower = static_cast( + total_windpower * ( 1 - get_wind_resistance( bp ) / 100.0 ) ); + + int intense = get_effect_int( effect_frostbite, bp ); + + // This has been broken down into 8 zones + // Low risk zones (stops at frostnip) + if( temp_cur[bp] < BODYTEMP_COLD && + ( ( Ftemperature < 30 && Ftemperature >= 10 ) || + ( Ftemperature < 10 && Ftemperature >= -5 && + FBwindPower < 20 && -4 * Ftemperature + 3 * FBwindPower - 20 >= 0 ) ) ) { + if( frostbite_timer[bp] < 2000 ) { + frostbite_timer[bp] += 3; + } + if( one_in( 100 ) && !has_effect( effect_frostbite, bp ) ) { + add_msg( m_warning, _( "Your %s will be frostnipped in the next few hours." ), + body_part_name( bp ) ); + } + // Medium risk zones + } else if( temp_cur[bp] < BODYTEMP_COLD && + ( ( Ftemperature < 10 && Ftemperature >= -5 && FBwindPower < 20 && + -4 * Ftemperature + 3 * FBwindPower - 20 < 0 ) || + ( Ftemperature < 10 && Ftemperature >= -5 && FBwindPower >= 20 ) || + ( Ftemperature < -5 && FBwindPower < 10 ) || + ( Ftemperature < -5 && FBwindPower >= 10 && + -4 * Ftemperature + 3 * FBwindPower - 170 >= 0 ) ) ) { + frostbite_timer[bp] += 8; + if( one_in( 100 ) && intense < 2 ) { + add_msg( m_warning, _( "Your %s will be frostbitten within the hour!" ), + body_part_name( bp ) ); + } + // High risk zones + } else if( temp_cur[bp] < BODYTEMP_COLD && + ( ( Ftemperature < -5 && FBwindPower >= 10 && + -4 * Ftemperature + 3 * FBwindPower - 170 < 0 ) || + ( Ftemperature < -35 && FBwindPower >= 10 ) ) ) { + frostbite_timer[bp] += 72; + if( one_in( 100 ) && intense < 2 ) { + add_msg( m_warning, _( "Your %s will be frostbitten any minute now!" ), + body_part_name( bp ) ); + } + // Risk free, so reduce frostbite timer + } else { + frostbite_timer[bp] -= 3; + } + + // Handle the bestowing of frostbite + if( frostbite_timer[bp] < 0 ) { + frostbite_timer[bp] = 0; + } else if( frostbite_timer[bp] > 4200 ) { + // This ensures that the player will recover in at most 3 hours. + frostbite_timer[bp] = 4200; + } + // Frostbite, no recovery possible + if( frostbite_timer[bp] >= 3600 ) { + add_effect( effect_frostbite, 1_turns, bp, true, 2 ); + remove_effect( effect_frostbite_recovery, bp ); + // Else frostnip, add recovery if we were frostbitten + } else if( frostbite_timer[bp] >= 1800 ) { + if( intense == 2 ) { + add_effect( effect_frostbite_recovery, 1_turns, bp, true ); + } + add_effect( effect_frostbite, 1_turns, bp, true, 1 ); + // Else fully recovered + } else if( frostbite_timer[bp] == 0 ) { + remove_effect( effect_frostbite, bp ); + remove_effect( effect_frostbite_recovery, bp ); + } + } + // Warn the player if condition worsens + if( temp_before > BODYTEMP_FREEZING && temp_after < BODYTEMP_FREEZING ) { + //~ %s is bodypart + add_msg( m_warning, _( "You feel your %s beginning to go numb from the cold!" ), + body_part_name( bp ) ); + } else if( temp_before > BODYTEMP_VERY_COLD && temp_after < BODYTEMP_VERY_COLD ) { + //~ %s is bodypart + add_msg( m_warning, _( "You feel your %s getting very cold." ), + body_part_name( bp ) ); + } else if( temp_before > BODYTEMP_COLD && temp_after < BODYTEMP_COLD ) { + //~ %s is bodypart + add_msg( m_warning, _( "You feel your %s getting chilly." ), + body_part_name( bp ) ); + } else if( temp_before < BODYTEMP_SCORCHING && temp_after > BODYTEMP_SCORCHING ) { + //~ %s is bodypart + add_msg( m_bad, _( "You feel your %s getting red hot from the heat!" ), + body_part_name( bp ) ); + } else if( temp_before < BODYTEMP_VERY_HOT && temp_after > BODYTEMP_VERY_HOT ) { + //~ %s is bodypart + add_msg( m_warning, _( "You feel your %s getting very hot." ), + body_part_name( bp ) ); + } else if( temp_before < BODYTEMP_HOT && temp_after > BODYTEMP_HOT ) { + //~ %s is bodypart + add_msg( m_warning, _( "You feel your %s getting warm." ), + body_part_name( bp ) ); + } + + // Warn the player that wind is going to be a problem. + // But only if it can be a problem, no need to spam player with "wind chills your scorching body" + if( temp_conv[bp] <= BODYTEMP_COLD && windchill < -10 && one_in( 200 ) ) { + add_msg( m_bad, _( "The wind is making your %s feel quite cold." ), + body_part_name( bp ) ); + } else if( temp_conv[bp] <= BODYTEMP_COLD && windchill < -20 && one_in( 100 ) ) { + add_msg( m_bad, + _( "The wind is very strong, you should find some more wind-resistant clothing for your %s." ), + body_part_name( bp ) ); + } else if( temp_conv[bp] <= BODYTEMP_COLD && windchill < -30 && one_in( 50 ) ) { + add_msg( m_bad, _( "Your clothing is not providing enough protection from the wind for your %s!" ), + body_part_name( bp ) ); + } + } +} + +void Character::temp_equalizer( body_part bp1, body_part bp2 ) +{ + // Body heat is moved around. + // Shift in one direction only, will be shifted in the other direction separately. + int diff = static_cast( ( temp_cur[bp2] - temp_cur[bp1] ) * + 0.0001 ); // If bp1 is warmer, it will lose heat + temp_cur[bp1] += diff; +} + +int Character::blood_loss( body_part bp ) const +{ + int hp_cur_sum = 1; + int hp_max_sum = 1; + + if( bp == bp_leg_l || bp == bp_leg_r ) { + hp_cur_sum = hp_cur[hp_leg_l] + hp_cur[hp_leg_r]; + hp_max_sum = hp_max[hp_leg_l] + hp_max[hp_leg_r]; + } else if( bp == bp_arm_l || bp == bp_arm_r ) { + hp_cur_sum = hp_cur[hp_arm_l] + hp_cur[hp_arm_r]; + hp_max_sum = hp_max[hp_arm_l] + hp_max[hp_arm_r]; + } else if( bp == bp_torso ) { + hp_cur_sum = hp_cur[hp_torso]; + hp_max_sum = hp_max[hp_torso]; + } else if( bp == bp_head ) { + hp_cur_sum = hp_cur[hp_head]; + hp_max_sum = hp_max[hp_head]; + } + + hp_cur_sum = std::min( hp_max_sum, std::max( 0, hp_cur_sum ) ); + return 100 - ( 100 * hp_cur_sum ) / hp_max_sum; +} + float Character::get_dodge_base() const { /** @EFFECT_DEX increases dodge base */ @@ -2908,7 +3984,7 @@ hp_part Character::body_window( const std::string &menu_header, std::string h_bar = get_hp_bar( hp, maximal_hp, false ).first; nc_color h_bar_col = get_hp_bar( hp, maximal_hp, false ).second; - return colorize( h_bar, h_bar_col ) + colorize( std::string( 5 - h_bar.size(), + return colorize( h_bar, h_bar_col ) + colorize( std::string( 5 - utf8_width( h_bar ), '.' ), c_white ); } }; @@ -3204,19 +4280,89 @@ bool Character::is_immune_field( const field_type_id fid ) const return Creature::is_immune_field( fid ); } -int Character::throw_range( const item &it ) const +bool Character::is_elec_immune() const { - if( it.is_null() ) { - return -1; + return is_immune_damage( DT_ELECTRIC ); +} + +bool Character::is_immune_effect( const efftype_id &eff ) const +{ + if( eff == effect_downed ) { + return is_throw_immune() || ( has_trait( trait_LEG_TENT_BRACE ) && footwear_factor() == 0 ); + } else if( eff == effect_onfire ) { + return is_immune_damage( DT_HEAT ); + } else if( eff == effect_deaf ) { + return worn_with_flag( "DEAF" ) || worn_with_flag( "PARTIAL_DEAF" ) || has_bionic( bio_ears ) || + is_wearing( "rm13_armor_on" ); + } else if( eff == effect_corroding ) { + return is_immune_damage( DT_ACID ) || has_trait( trait_SLIMY ) || has_trait( trait_VISCOUS ); + } else if( eff == effect_nausea ) { + return has_trait( trait_STRONGSTOMACH ); } - item tmp = it; + return false; +} - if( tmp.count_by_charges() && tmp.charges > 1 ) { - tmp.charges = 1; +bool Character::is_immune_damage( const damage_type dt ) const +{ + switch( dt ) { + case DT_NULL: + return true; + case DT_TRUE: + return false; + case DT_BIOLOGICAL: + return has_effect_with_flag( "EFFECT_BIO_IMMUNE" ) || + worn_with_flag( "BIO_IMMUNE" ); + case DT_BASH: + return has_effect_with_flag( "EFFECT_BASH_IMMUNE" ) || + worn_with_flag( "BASH_IMMUNE" ); + case DT_CUT: + return has_effect_with_flag( "EFFECT_CUT_IMMUNE" ) || + worn_with_flag( "CUT_IMMUNE" ); + case DT_ACID: + return has_trait( trait_ACIDPROOF ) || + has_effect_with_flag( "EFFECT_ACID_IMMUNE" ) || + worn_with_flag( "ACID_IMMUNE" ); + case DT_STAB: + return has_effect_with_flag( "EFFECT_STAB_IMMUNE" ) || + worn_with_flag( "STAB_IMMUNE" ); + case DT_HEAT: + return has_trait( trait_M_SKIN2 ) || + has_trait( trait_M_SKIN3 ) || + has_effect_with_flag( "EFFECT_HEAT_IMMUNE" ) || + worn_with_flag( "HEAT_IMMUNE" ); + case DT_COLD: + return has_effect_with_flag( "EFFECT_COLD_IMMUNE" ) || + worn_with_flag( "COLD_IMMUNE" ); + case DT_ELECTRIC: + return has_active_bionic( bio_faraday ) || + worn_with_flag( "ELECTRIC_IMMUNE" ) || + has_artifact_with( AEP_RESIST_ELECTRICITY ) || + has_effect_with_flag( "EFFECT_ELECTRIC_IMMUNE" ); + default: + return true; } +} - /** @EFFECT_STR determines maximum weight that can be thrown */ +bool Character::is_rad_immune() const +{ + bool has_helmet = false; + return ( is_wearing_power_armor( &has_helmet ) && has_helmet ) || worn_with_flag( "RAD_PROOF" ); +} + +int Character::throw_range( const item &it ) const +{ + if( it.is_null() ) { + return -1; + } + + item tmp = it; + + if( tmp.count_by_charges() && tmp.charges > 1 ) { + tmp.charges = 1; + } + + /** @EFFECT_STR determines maximum weight that can be thrown */ if( ( tmp.weight() / 113_gram ) > static_cast( str_cur * 15 ) ) { return 0; } @@ -3230,7 +4376,7 @@ int Character::throw_range( const item &it ) const int ret = ( str_override * 10 ) / ( tmp.weight() >= 150_gram ? tmp.weight() / 113_gram : 10 - static_cast( tmp.weight() / 15_gram ) ); - ret -= tmp.volume() / 1000_ml; + ret -= tmp.volume() / 1_liter; static const std::set affected_materials = { material_id( "iron" ), material_id( "steel" ) }; if( has_active_bionic( bionic_id( "bio_railgun" ) ) && tmp.made_of_any( affected_materials ) ) { ret *= 2; @@ -3263,6 +4409,21 @@ bool Character::made_of_any( const std::set &ms ) const } ); } +tripoint Character::global_square_location() const +{ + return g->m.getabs( position ); +} + +tripoint Character::global_sm_location() const +{ + return ms_to_sm_copy( global_square_location() ); +} + +tripoint Character::global_omt_location() const +{ + return ms_to_omt_copy( global_square_location() ); +} + bool Character::is_blind() const { return ( worn_with_flag( "BLIND" ) || @@ -3270,6 +4431,105 @@ bool Character::is_blind() const has_active_bionic( bionic_id( "bio_blindfold" ) ) ); } +bool Character::is_invisible() const +{ + static const bionic_id str_bio_cloak( "bio_cloak" ); // This function used in monster::plan_moves + static const bionic_id str_bio_night( "bio_night" ); + return ( + has_effect_with_flag( "EFFECT_INVISIBLE" ) || + has_active_bionic( str_bio_cloak ) || + has_active_bionic( str_bio_night ) || + is_wearing_active_optcloak() || + has_trait( trait_DEBUG_CLOAK ) || + has_artifact_with( AEP_INVISIBLE ) + ); +} + +int Character::visibility( bool, int ) const +{ + // 0-100 % + if( is_invisible() ) { + return 0; + } + // TODO: + // if ( dark_clothing() && light check ... + int stealth_modifier = std::floor( mutation_value( "stealth_modifier" ) ); + return clamp( 100 - stealth_modifier, 40, 160 ); +} + +/* + * Calculate player brightness based on the brightest active item, as + * per itype tag LIGHT_* and optional CHARGEDIM ( fade starting at 20% charge ) + * item.light.* is -unimplemented- for the moment, as it is a custom override for + * applying light sources/arcs with specific angle and direction. + */ +float Character::active_light() const +{ + float lumination = 0; + + int maxlum = 0; + has_item_with( [&maxlum]( const item & it ) { + const int lumit = it.getlight_emit(); + if( maxlum < lumit ) { + maxlum = lumit; + } + return false; // continue search, otherwise has_item_with would cancel the search + } ); + + lumination = static_cast( maxlum ); + + float mut_lum = 0.0f; + for( const auto &mut : my_mutations ) { + if( mut.second.powered ) { + float curr_lum = 0.0f; + for( const auto elem : mut.first->lumination ) { + int coverage = 0; + for( const item &i : worn ) { + if( i.covers( elem.first ) && !i.has_flag( "ALLOWS_NATURAL_ATTACKS" ) && + !i.has_flag( "SEMITANGIBLE" ) && + !i.has_flag( "PERSONAL" ) && !i.has_flag( "AURA" ) ) { + coverage += i.get_coverage(); + } + } + curr_lum += elem.second * ( 1 - ( coverage / 100.0f ) ); + } + mut_lum += curr_lum ; + } + } + + lumination = std::max( lumination, mut_lum ); + + if( lumination < 60 && has_active_bionic( bio_flashlight ) ) { + lumination = 60; + } else if( lumination < 25 && has_artifact_with( AEP_GLOW ) ) { + lumination = 25; + } else if( lumination < 5 && ( has_effect( effect_glowing ) || + ( has_active_bionic( bio_tattoo_led ) || + has_effect( effect_glowy_led ) ) ) ) { + lumination = 5; + } + return lumination; +} + +bool Character::sees_with_specials( const Creature &critter ) const +{ + // electroreceptors grants vision of robots and electric monsters through walls + if( has_trait( trait_ELECTRORECEPTORS ) && + ( critter.in_species( ROBOT ) || critter.has_flag( MF_ELECTRIC ) ) ) { + return true; + } + + if( critter.digging() && has_active_bionic( bio_ground_sonar ) ) { + // Bypass the check below, the bionic sonar also bypasses the sees(point) check because + // walls don't block sonar which is transmitted in the ground, not the air. + // TODO: this might need checks whether the player is in the air, or otherwise not connected + // to the ground. It also might need a range check. + return true; + } + + return false; +} + bool Character::pour_into( item &container, item &liquid ) { std::string err; @@ -3488,9 +4748,9 @@ std::string Character::extended_description() const const auto &bps = get_all_body_parts( true ); // Find length of bp names, to align // accumulate looks weird here, any better function? - size_t longest = std::accumulate( bps.begin(), bps.end(), static_cast( 0 ), - []( size_t m, body_part bp ) { - return std::max( m, body_part_name_as_heading( bp, 1 ).size() ); + int longest = std::accumulate( bps.begin(), bps.end(), 0, + []( int m, body_part bp ) { + return std::max( m, utf8_width( body_part_name_as_heading( bp, 1 ) ) ); } ); // This is a stripped-down version of the body_window function @@ -3505,13 +4765,11 @@ std::string Character::extended_description() const nc_color name_color = state_col; auto hp_bar = get_hp_bar( current_hp, maximal_hp, false ); - ss << colorize( bp_heading, name_color ); - // Align them. There is probably a less ugly way to do it - ss << std::string( longest - bp_heading.size() + 1, ' ' ); + ss << colorize( left_justify( bp_heading, longest ), name_color ); ss << colorize( hp_bar.first, hp_bar.second ); // Trailing bars. UGLY! // TODO: Integrate into get_hp_bar somehow - ss << colorize( std::string( 5 - hp_bar.first.size(), '.' ), c_white ); + ss << colorize( std::string( 5 - utf8_width( hp_bar.first ), '.' ), c_white ); ss << std::endl; } @@ -3878,6 +5136,261 @@ std::string Character::activity_level_str() const } } +int Character::get_stim() const +{ + return stim; +} + +void Character::set_stim( int new_stim ) +{ + stim = new_stim; +} + +void Character::mod_stim( int mod ) +{ + stim += mod; +} + +int Character::get_stamina() const +{ + return stamina; +} + +int Character::get_stamina_max() const +{ + int maxStamina = get_option< int >( "PLAYER_MAX_STAMINA" ); + maxStamina *= Character::mutation_value( "max_stamina_modifier" ); + return maxStamina; +} + +void Character::set_stamina( int new_stamina ) +{ + stamina = new_stamina; +} + +void Character::mod_stamina( int mod ) +{ + stamina += mod; +} + +void Character::burn_move_stamina( int moves ) +{ + int overburden_percentage = 0; + units::mass current_weight = weight_carried(); + // Make it at least 1 gram to avoid divide-by-zero warning + units::mass max_weight = std::max( weight_capacity(), 1_gram ); + if( current_weight > max_weight ) { + overburden_percentage = ( current_weight - max_weight ) * 100 / max_weight; + } + + int burn_ratio = get_option( "PLAYER_BASE_STAMINA_BURN_RATE" ); + for( const bionic_id &bid : get_bionic_fueled_with( item( "muscle" ) ) ) { + if( has_active_bionic( bid ) ) { + burn_ratio = burn_ratio * 2 - 3; + } + } + burn_ratio += overburden_percentage; + if( move_mode == CMM_RUN ) { + burn_ratio = burn_ratio * 7; + } + mod_stat( "stamina", -( ( moves * burn_ratio ) / 100.0 ) * stamina_move_cost_modifier() ); + add_msg( m_debug, "Stamina burn: %d", -( ( moves * burn_ratio ) / 100 ) ); + // Chance to suffer pain if overburden and stamina runs out or has trait BADBACK + // Starts at 1 in 25, goes down by 5 for every 50% more carried + if( ( current_weight > max_weight ) && ( has_trait( trait_BADBACK ) || get_stamina() == 0 ) && + one_in( 35 - 5 * current_weight / ( max_weight / 2 ) ) ) { + add_msg_if_player( m_bad, _( "Your body strains under the weight!" ) ); + // 1 more pain for every 800 grams more (5 per extra STR needed) + if( ( ( current_weight - max_weight ) / 800_gram > get_pain() && get_pain() < 100 ) ) { + mod_pain( 1 ); + } + } +} + +float Character::stamina_move_cost_modifier() const +{ + // Both walk and run speed drop to half their maximums as stamina approaches 0. + // Convert stamina to a float first to allow for decimal place carrying + float stamina_modifier = ( static_cast( get_stamina() ) / get_stamina_max() + 1 ) / 2; + if( move_mode == CMM_RUN && get_stamina() > 0 ) { + // Rationale: Average running speed is 2x walking speed. (NOT sprinting) + stamina_modifier *= 2.0; + } + if( move_mode == CMM_CROUCH ) { + stamina_modifier *= 0.5; + } + return stamina_modifier; +} + +void Character::update_stamina( int turns ) +{ + const int current_stim = get_stim(); + float stamina_recovery = 0.0f; + // Recover some stamina every turn. + // Mutated stamina works even when winded + float stamina_multiplier = ( !has_effect( effect_winded ) ? 1.0f : 0.1f ) + + mutation_value( "stamina_regen_modifier" ); + // But mouth encumbrance interferes, even with mutated stamina. + stamina_recovery += stamina_multiplier * std::max( 1.0f, + get_option( "PLAYER_BASE_STAMINA_REGEN_RATE" ) - ( encumb( bp_mouth ) / 5.0f ) ); + // TODO: recovering stamina causes hunger/thirst/fatigue. + // TODO: Tiredness slowing recovery + + // stim recovers stamina (or impairs recovery) + if( current_stim > 0 ) { + // TODO: Make stamina recovery with stims cost health + stamina_recovery += std::min( 5.0f, current_stim / 15.0f ); + } else if( current_stim < 0 ) { + // Affect it less near 0 and more near full + // Negative stim kill at -200 + // At -100 stim it inflicts -20 malus to regen at 100% stamina, + // effectivly countering stamina gain of default 20, + // at 50% stamina its -10 (50%), cuts by 25% at 25% stamina + stamina_recovery += current_stim / 5.0f * get_stamina() / get_stamina_max(); + } + + const int max_stam = get_stamina_max(); + if( get_power_level() >= 3_kJ && has_active_bionic( bio_gills ) ) { + int bonus = std::min( units::to_kilojoule( get_power_level() ) / 3, + max_stam - get_stamina() - stamina_recovery * turns ); + // so the effective recovery is up to 5x default + bonus = std::min( bonus, 4 * static_cast + ( get_option( "PLAYER_BASE_STAMINA_REGEN_RATE" ) ) ); + if( bonus > 0 ) { + stamina_recovery += bonus; + bonus /= 10; + bonus = std::max( bonus, 1 ); + mod_power_level( units::from_kilojoule( -bonus ) ); + } + } + + mod_stamina( roll_remainder( stamina_recovery * turns / stamina_move_cost_modifier() ) ); + add_msg( m_debug, "Stamina recovery: %d", roll_remainder( stamina_recovery * turns ) ); + // Cap at max + set_stamina( std::min( std::max( get_stamina(), 0 ), max_stam ) ); +} + +bool Character::invoke_item( item *used ) +{ + return invoke_item( used, pos() ); +} + +bool Character::invoke_item( item *, const tripoint & ) +{ + return false; +} + +bool Character::invoke_item( item *used, const std::string &method ) +{ + return invoke_item( used, method, pos() ); +} + +bool Character::invoke_item( item *used, const std::string &method, const tripoint &pt ) +{ + if( !has_enough_charges( *used, true ) ) { + return false; + } + + item *actually_used = used->get_usable_item( method ); + if( actually_used == nullptr ) { + debugmsg( "Tried to invoke a method %s on item %s, which doesn't have this method", + method.c_str(), used->tname() ); + return false; + } + + int charges_used = actually_used->type->invoke( *this->as_player(), *actually_used, pt, method ); + if( charges_used == 0 ) { + return false; + } + // Prevent accessing the item as it may have been deleted by the invoked iuse function. + + if( used->is_tool() || used->is_medication() || used->get_contained().is_medication() ) { + return consume_charges( *actually_used, charges_used ); + } else if( used->is_bionic() || used->is_deployable() || method == "place_trap" ) { + i_rem( used ); + return true; + } + + return false; +} + +bool Character::has_enough_charges( const item &it, bool show_msg ) const +{ + if( !it.is_tool() || !it.ammo_required() ) { + return true; + } + if( it.has_flag( "USE_UPS" ) ) { + if( has_charges( "UPS", it.ammo_required() ) || it.ammo_sufficient() ) { + return true; + } + if( show_msg ) { + add_msg_if_player( m_info, + ngettext( "Your %s needs %d charge from some UPS.", + "Your %s needs %d charges from some UPS.", + it.ammo_required() ), + it.tname(), it.ammo_required() ); + } + return false; + } else if( !it.ammo_sufficient() ) { + if( show_msg ) { + add_msg_if_player( m_info, + ngettext( "Your %s has %d charge but needs %d.", + "Your %s has %d charges but needs %d.", + it.ammo_remaining() ), + it.tname(), it.ammo_remaining(), it.ammo_required() ); + } + return false; + } + return true; +} + +bool Character::consume_charges( item &used, int qty ) +{ + if( qty < 0 ) { + debugmsg( "Tried to consume negative charges" ); + return false; + } + + if( qty == 0 ) { + return false; + } + + if( !used.is_tool() && !used.is_food() && !used.is_medication() ) { + debugmsg( "Tried to consume charges for non-tool, non-food, non-med item" ); + return false; + } + + // Consume comestibles destroying them if no charges remain + if( used.is_food() || used.is_medication() ) { + used.charges -= qty; + if( used.charges <= 0 ) { + i_rem( &used ); + return true; + } + return false; + } + + // Tools which don't require ammo are instead destroyed + if( used.is_tool() && !used.ammo_required() ) { + i_rem( &used ); + return true; + } + + // USE_UPS never occurs on base items but is instead added by the UPS tool mod + if( used.has_flag( "USE_UPS" ) ) { + // With the new UPS system, we'll want to use any charges built up in the tool before pulling from the UPS + // The usage of the item was already approved, so drain item if possible, otherwise use UPS + if( used.charges >= qty ) { + used.ammo_consume( qty, pos() ); + } else { + use_charges( "UPS", qty ); + } + } else { + used.ammo_consume( std::min( qty, used.ammo_remaining() ), pos() ); + } + return false; +} + int Character::item_handling_cost( const item &it, bool penalties, int base_cost ) const { int mv = base_cost; @@ -3917,6 +5430,33 @@ int Character::item_store_cost( const item &it, const item & /* container */, bo return item_handling_cost( it, penalties, base_cost ) / ( ( lvl + 10.0f ) / 10.0f ); } +void Character::cough( bool harmful, int loudness ) +{ + if( has_effect( effect_cough_suppress ) ) { + return; + } + + if( harmful ) { + const int stam = get_stamina(); + const int malus = get_stamina_max() * 0.05; // 5% max stamina + mod_stat( "stamina", -malus ); + if( stam < malus && x_in_y( malus - stam, malus ) && one_in( 6 ) ) { + apply_damage( nullptr, bp_torso, 1 ); + } + } + + if( !is_npc() ) { + add_msg( m_bad, _( "You cough heavily." ) ); + } + sounds::sound( pos(), loudness, sounds::sound_t::speech, _( "a hacking cough." ), false, "misc", + "cough" ); + + moves -= 80; + + add_effect( effect_recently_coughed, 5_minutes ); +} + + void Character::wake_up() { remove_effect( effect_sleep ); @@ -4043,8 +5583,7 @@ void Character::vomit() g->events().send( getID() ); if( stomach.contains() != 0_ml ) { - // empty stomach contents - stomach.bowel_movement(); + stomach.empty(); g->m.add_field( adjacent_tile(), fd_bile, 1 ); add_msg_player_or_npc( m_bad, _( "You throw up heavily!" ), _( " throws up heavily!" ) ); } @@ -4549,6 +6088,11 @@ float Character::bionic_armor_bonus( body_part bp, damage_type dt ) const return result; } +int Character::get_armor_fire( body_part bp ) const +{ + return get_armor_type( DT_HEAT, bp ); +} + void Character::did_hit( Creature &target ) { enchantment_cache.cast_hit_you( *this, target.pos() ); @@ -4682,3 +6226,968 @@ void Character::on_hurt( Creature *source, bool disturb /*= true*/ ) set_killer( source ); } } + +bool Character::crossed_threshold() const +{ + for( const std::pair &mut : my_mutations ) { + if( mut.first->threshold ) { + return true; + } + } + return false; +} + +void Character::spores() +{ + fungal_effects fe( *g, g->m ); + //~spore-release sound + sounds::sound( pos(), 10, sounds::sound_t::combat, _( "Pouf!" ), false, "misc", "puff" ); + for( const tripoint &sporep : g->m.points_in_radius( pos(), 1 ) ) { + if( sporep == pos() ) { + continue; + } + fe.fungalize( sporep, this, 0.25 ); + } +} + +void Character::blossoms() +{ + // Player blossoms are shorter-ranged, but you can fire much more frequently if you like. + sounds::sound( pos(), 10, sounds::sound_t::combat, _( "Pouf!" ), false, "misc", "puff" ); + for( const tripoint &tmp : g->m.points_in_radius( pos(), 2 ) ) { + g->m.add_field( tmp, fd_fungal_haze, rng( 1, 2 ) ); + } +} + +void Character::update_vitamins( const vitamin_id &vit ) +{ + if( is_npc() ) { + return; // NPCs cannot develop vitamin diseases + } + + efftype_id def = vit.obj().deficiency(); + efftype_id exc = vit.obj().excess(); + + int lvl = vit.obj().severity( vitamin_get( vit ) ); + if( lvl <= 0 ) { + remove_effect( def ); + } + if( lvl >= 0 ) { + remove_effect( exc ); + } + if( lvl > 0 ) { + if( has_effect( def, num_bp ) ) { + get_effect( def, num_bp ).set_intensity( lvl, true ); + } else { + add_effect( def, 1_turns, num_bp, true, lvl ); + } + } + if( lvl < 0 ) { + if( has_effect( exc, num_bp ) ) { + get_effect( exc, num_bp ).set_intensity( -lvl, true ); + } else { + add_effect( exc, 1_turns, num_bp, true, -lvl ); + } + } +} + +void Character::rooted_message() const +{ + bool wearing_shoes = is_wearing_shoes( side::LEFT ) || is_wearing_shoes( side::RIGHT ); + if( ( has_trait( trait_ROOTS2 ) || has_trait( trait_ROOTS3 ) ) && + g->m.has_flag( "PLOWABLE", pos() ) && + !wearing_shoes ) { + add_msg( m_info, _( "You sink your roots into the soil." ) ); + } +} + +void Character::rooted() +// Should average a point every two minutes or so; ground isn't uniformly fertile +{ + double shoe_factor = footwear_factor(); + if( ( has_trait( trait_ROOTS2 ) || has_trait( trait_ROOTS3 ) ) && + g->m.has_flag( "PLOWABLE", pos() ) && shoe_factor != 1.0 ) { + if( one_in( 96 ) ) { + vitamin_mod( vitamin_id( "iron" ), 1, true ); + vitamin_mod( vitamin_id( "calcium" ), 1, true ); + } + if( get_thirst() <= -2000 && x_in_y( 75, 425 ) ) { + mod_thirst( -1 ); + } + mod_healthy_mod( 5, 50 ); + } +} + +bool Character::wearing_something_on( body_part bp ) const +{ + for( auto &i : worn ) { + if( i.covers( bp ) ) { + return true; + } + } + return false; +} + +bool Character::is_wearing_shoes( const side &which_side ) const +{ + bool left = true; + bool right = true; + if( which_side == side::LEFT || which_side == side::BOTH ) { + left = false; + for( const item &worn_item : worn ) { + if( worn_item.covers( bp_foot_l ) && !worn_item.has_flag( "BELTED" ) && + !worn_item.has_flag( "PERSONAL" ) && !worn_item.has_flag( "AURA" ) && + !worn_item.has_flag( "SEMITANGIBLE" ) && !worn_item.has_flag( "SKINTIGHT" ) ) { + left = true; + break; + } + } + } + if( which_side == side::RIGHT || which_side == side::BOTH ) { + right = false; + for( const item &worn_item : worn ) { + if( worn_item.covers( bp_foot_r ) && !worn_item.has_flag( "BELTED" ) && + !worn_item.has_flag( "PERSONAL" ) && !worn_item.has_flag( "AURA" ) && + !worn_item.has_flag( "SEMITANGIBLE" ) && !worn_item.has_flag( "SKINTIGHT" ) ) { + right = true; + break; + } + } + } + return ( left && right ); +} + +bool Character::is_wearing_helmet() const +{ + for( const item &i : worn ) { + if( i.covers( bp_head ) && !i.has_flag( "HELMET_COMPAT" ) && !i.has_flag( "SKINTIGHT" ) && + !i.has_flag( "PERSONAL" ) && !i.has_flag( "AURA" ) && !i.has_flag( "SEMITANGIBLE" ) && + !i.has_flag( "OVERSIZE" ) ) { + return true; + } + } + return false; +} + +int Character::head_cloth_encumbrance() const +{ + int ret = 0; + for( auto &i : worn ) { + const item *worn_item = &i; + if( i.covers( bp_head ) && !i.has_flag( "SEMITANGIBLE" ) && + ( worn_item->has_flag( "HELMET_COMPAT" ) || worn_item->has_flag( "SKINTIGHT" ) ) ) { + ret += worn_item->get_encumber( *this ); + } + } + return ret; +} + +double Character::armwear_factor() const +{ + double ret = 0; + if( wearing_something_on( bp_arm_l ) ) { + ret += .5; + } + if( wearing_something_on( bp_arm_r ) ) { + ret += .5; + } + return ret; +} + +double Character::footwear_factor() const +{ + double ret = 0; + if( wearing_something_on( bp_foot_l ) ) { + ret += .5; + } + if( wearing_something_on( bp_foot_r ) ) { + ret += .5; + } + return ret; +} + +int Character::shoe_type_count( const itype_id &it ) const +{ + int ret = 0; + if( is_wearing_on_bp( it, bp_foot_l ) ) { + ret++; + } + if( is_wearing_on_bp( it, bp_foot_r ) ) { + ret++; + } + return ret; +} + +std::vector Character::inv_dump() +{ + std::vector ret; + if( is_armed() && can_unwield( weapon ).success() ) { + ret.push_back( &weapon ); + } + for( auto &i : worn ) { + ret.push_back( &i ); + } + inv.dump( ret ); + return ret; +} + +bool Character::covered_with_flag( const std::string &flag, const body_part_set &parts ) const +{ + if( parts.none() ) { + return true; + } + + body_part_set to_cover( parts ); + + for( const auto &elem : worn ) { + if( !elem.has_flag( flag ) ) { + continue; + } + + to_cover &= ~elem.get_covered_body_parts(); + + if( to_cover.none() ) { + return true; // Allows early exit. + } + } + + return to_cover.none(); +} + +bool Character::is_waterproof( const body_part_set &parts ) const +{ + return covered_with_flag( "WATERPROOF", parts ); +} + +void Character::update_morale() +{ + morale->decay( 1_minutes ); + apply_persistent_morale(); +} + +void Character::apply_persistent_morale() +{ + // Hoarders get a morale penalty if they're not carrying a full inventory. + if( has_trait( trait_HOARDER ) ) { + int pen = ( volume_capacity() - volume_carried() ) / 125_ml; + if( pen > 70 ) { + pen = 70; + } + if( pen <= 0 ) { + pen = 0; + } + if( has_effect( effect_took_xanax ) ) { + pen = pen / 7; + } else if( has_effect( effect_took_prozac ) ) { + pen = pen / 2; + } + if( pen > 0 ) { + add_morale( MORALE_PERM_HOARDER, -pen, -pen, 1_minutes, 1_minutes, true ); + } + } + // Nomads get a morale penalty if they stay near the same overmap tiles too long. + if( has_trait( trait_NOMAD ) || has_trait( trait_NOMAD2 ) || has_trait( trait_NOMAD3 ) ) { + const tripoint ompos = global_omt_location(); + float total_time = 0; + // Check how long we've stayed in any overmap tile within 5 of us. + const int max_dist = 5; + for( const tripoint &pos : points_in_radius( ompos, max_dist ) ) { + const float dist = rl_dist( ompos, pos ); + if( dist > max_dist ) { + continue; + } + const auto iter = overmap_time.find( pos.xy() ); + if( iter == overmap_time.end() ) { + continue; + } + // Count time in own tile fully, tiles one away as 4/5, tiles two away as 3/5, etc. + total_time += to_moves( iter->second ) * ( max_dist - dist ) / max_dist; + } + // Characters with higher tiers of Nomad suffer worse morale penalties, faster. + int max_unhappiness; + float min_time, max_time; + if( has_trait( trait_NOMAD ) ) { + max_unhappiness = 20; + min_time = to_moves( 12_hours ); + max_time = to_moves( 1_days ); + } else if( has_trait( trait_NOMAD2 ) ) { + max_unhappiness = 40; + min_time = to_moves( 4_hours ); + max_time = to_moves( 8_hours ); + } else { // traid_NOMAD3 + max_unhappiness = 60; + min_time = to_moves( 1_hours ); + max_time = to_moves( 2_hours ); + } + // The penalty starts at 1 at min_time and scales up to max_unhappiness at max_time. + const float t = ( total_time - min_time ) / ( max_time - min_time ); + const int pen = ceil( lerp_clamped( 0, max_unhappiness, t ) ); + if( pen > 0 ) { + add_morale( MORALE_PERM_NOMAD, -pen, -pen, 1_minutes, 1_minutes, true ); + } + } + + if( has_trait( trait_PROF_FOODP ) ) { + // Loosing your face is distressing + if( !( is_wearing( itype_id( "foodperson_mask" ) ) || + is_wearing( itype_id( "foodperson_mask_on" ) ) ) ) { + add_morale( MORALE_PERM_NOFACE, -20, -20, 1_minutes, 1_minutes, true ); + } else if( is_wearing( itype_id( "foodperson_mask" ) ) || + is_wearing( itype_id( "foodperson_mask_on" ) ) ) { + rem_morale( MORALE_PERM_NOFACE ); + } + + if( is_wearing( itype_id( "foodperson_mask_on" ) ) ) { + add_morale( MORALE_PERM_FPMODE_ON, 10, 10, 1_minutes, 1_minutes, true ); + } else { + rem_morale( MORALE_PERM_FPMODE_ON ); + } + } +} + +int Character::get_morale_level() const +{ + return morale->get_level(); +} + +void Character::add_morale( const morale_type &type, int bonus, int max_bonus, + const time_duration &duration, const time_duration &decay_start, + bool capped, const itype *item_type ) +{ + morale->add( type, bonus, max_bonus, duration, decay_start, capped, item_type ); +} + +int Character::has_morale( const morale_type &type ) const +{ + return morale->has( type ); +} + +void Character::rem_morale( const morale_type &type, const itype *item_type ) +{ + morale->remove( type, item_type ); +} + +void Character::clear_morale() +{ + morale->clear(); +} + +bool Character::has_morale_to_read() const +{ + return get_morale_level() >= -40; +} + +void Character::check_and_recover_morale() +{ + player_morale test_morale; + + for( const auto &wit : worn ) { + test_morale.on_item_wear( wit ); + } + + for( const auto &mut : my_mutations ) { + test_morale.on_mutation_gain( mut.first ); + } + + for( auto &elem : *effects ) { + for( auto &_effect_it : elem.second ) { + const effect &e = _effect_it.second; + test_morale.on_effect_int_change( e.get_id(), e.get_intensity(), e.get_bp() ); + } + } + + test_morale.on_stat_change( "hunger", get_hunger() ); + test_morale.on_stat_change( "thirst", get_thirst() ); + test_morale.on_stat_change( "fatigue", get_fatigue() ); + test_morale.on_stat_change( "pain", get_pain() ); + test_morale.on_stat_change( "pkill", get_painkiller() ); + test_morale.on_stat_change( "perceived_pain", get_perceived_pain() ); + + apply_persistent_morale(); + + if( !morale->consistent_with( test_morale ) ) { + *morale = player_morale( test_morale ); // Recover consistency + add_msg( m_debug, "%s morale was recovered.", disp_name( true ) ); + } +} + + +void Character::start_hauling() +{ + add_msg( _( "You start hauling items along the ground." ) ); + if( is_armed() ) { + add_msg( m_warning, _( "Your hands are not free, which makes hauling slower." ) ); + } + hauling = true; +} + +void Character::stop_hauling() +{ + add_msg( _( "You stop hauling items." ) ); + hauling = false; + if( has_activity( activity_id( "ACT_MOVE_ITEMS" ) ) ) { + cancel_activity(); + } +} + +bool Character::is_hauling() const +{ + return hauling; +} + +void Character::assign_activity( const activity_id &type, int moves, int index, int pos, + const std::string &name ) +{ + assign_activity( player_activity( type, moves, index, pos, name ) ); +} + +void Character::assign_activity( const player_activity &act, bool allow_resume ) +{ + if( allow_resume && !backlog.empty() && backlog.front().can_resume_with( act, *this ) ) { + add_msg_if_player( _( "You resume your task." ) ); + activity = backlog.front(); + backlog.pop_front(); + } else { + if( activity ) { + backlog.push_front( activity ); + } + + activity = act; + } + + if( activity.rooted() ) { + rooted_message(); + } + if( is_npc() ) { + npc *guy = dynamic_cast( this ); + guy->set_attitude( NPCATT_ACTIVITY ); + guy->set_mission( NPC_MISSION_ACTIVITY ); + guy->current_activity_id = activity.id(); + } +} + +bool Character::has_activity( const activity_id &type ) const +{ + return activity.id() == type; +} + +bool Character::has_activity( const std::vector &types ) const +{ + return std::find( types.begin(), types.end(), activity.id() ) != types.end(); +} + +void Character::cancel_activity() +{ + if( has_activity( activity_id( "ACT_MOVE_ITEMS" ) ) && is_hauling() ) { + stop_hauling(); + } + if( has_activity( activity_id( "ACT_TRY_SLEEP" ) ) ) { + remove_value( "sleep_query" ); + } + // Clear any backlog items that aren't auto-resume. + for( auto backlog_item = backlog.begin(); backlog_item != backlog.end(); ) { + if( backlog_item->auto_resume ) { + backlog_item++; + } else { + backlog_item = backlog.erase( backlog_item ); + } + } + // act wait stamina interrupts an ongoing activity. + // and automatically puts auto_resume = true on it + // we dont want that to persist if there is another interruption. + // and player moves elsewhere. + if( has_activity( activity_id( "ACT_WAIT_STAMINA" ) ) && !backlog.empty() && + backlog.front().auto_resume ) { + backlog.front().auto_resume = false; + } + if( activity && activity.is_suspendable() ) { + backlog.push_front( activity ); + } + sfx::end_activity_sounds(); // kill activity sounds when canceled + activity = player_activity(); +} + +void Character::resume_backlog_activity() +{ + if( !backlog.empty() && backlog.front().auto_resume ) { + activity = backlog.front(); + backlog.pop_front(); + } +} + +void Character::fall_asleep() +{ + // Communicate to the player that he is using items on the floor + std::string item_name = is_snuggling(); + if( item_name == "many" ) { + if( one_in( 15 ) ) { + add_msg_if_player( _( "You nestle your pile of clothes for warmth." ) ); + } else { + add_msg_if_player( _( "You use your pile of clothes for warmth." ) ); + } + } else if( item_name != "nothing" ) { + if( one_in( 15 ) ) { + add_msg_if_player( _( "You snuggle your %s to keep warm." ), item_name ); + } else { + add_msg_if_player( _( "You use your %s to keep warm." ), item_name ); + } + } + if( has_active_mutation( trait_id( "HIBERNATE" ) ) && + get_kcal_percent() > 0.8f ) { + if( is_avatar() ) { + g->memorial().add( pgettext( "memorial_male", "Entered hibernation." ), + pgettext( "memorial_female", "Entered hibernation." ) ); + } + // some days worth of round-the-clock Snooze. Cata seasons default to 91 days. + fall_asleep( 10_days ); + // If you're not fatigued enough for 10 days, you won't sleep the whole thing. + // In practice, the fatigue from filling the tank from (no msg) to Time For Bed + // will last about 8 days. + } + + fall_asleep( 10_hours ); // default max sleep time. +} + +void Character::fall_asleep( const time_duration &duration ) +{ + if( activity ) { + if( activity.id() == "ACT_TRY_SLEEP" ) { + activity.set_to_null(); + } else { + cancel_activity(); + } + } + add_effect( effect_sleep, duration ); +} + +std::string Character::is_snuggling() const +{ + auto begin = g->m.i_at( pos() ).begin(); + auto end = g->m.i_at( pos() ).end(); + + if( in_vehicle ) { + if( const cata::optional vp = g->m.veh_at( pos() ).part_with_feature( VPFLAG_CARGO, + false ) ) { + vehicle *const veh = &vp->vehicle(); + const int cargo = vp->part_index(); + if( !veh->get_items( cargo ).empty() ) { + begin = veh->get_items( cargo ).begin(); + end = veh->get_items( cargo ).end(); + } + } + } + const item *floor_armor = nullptr; + int ticker = 0; + + // If there are no items on the floor, return nothing + if( begin == end ) { + return "nothing"; + } + + for( auto candidate = begin; candidate != end; ++candidate ) { + if( !candidate->is_armor() ) { + continue; + } else if( candidate->volume() > 250_ml && candidate->get_warmth() > 0 && + ( candidate->covers( bp_torso ) || candidate->covers( bp_leg_l ) || + candidate->covers( bp_leg_r ) ) ) { + floor_armor = &*candidate; + ticker++; + } + } + + if( ticker == 0 ) { + return "nothing"; + } else if( ticker == 1 ) { + return floor_armor->type_name(); + } else if( ticker > 1 ) { + return "many"; + } + + return "nothing"; +} + +int Character::warmth( body_part bp ) const +{ + int ret = 0; + int warmth = 0; + + for( auto &i : worn ) { + if( i.covers( bp ) ) { + warmth = i.get_warmth(); + // Wool items do not lose their warmth due to being wet. + // Warmth is reduced by 0 - 66% based on wetness. + if( !i.made_of( material_id( "wool" ) ) ) { + warmth *= 1.0 - 0.66 * body_wetness[bp] / drench_capacity[bp]; + } + ret += warmth; + } + } + ret += get_effect_int( efftype_id( "heating_bionic" ), bp ); + return ret; +} + +static int bestwarmth( const std::list< item > &its, const std::string &flag ) +{ + int best = 0; + for( auto &w : its ) { + if( w.has_flag( flag ) && w.get_warmth() > best ) { + best = w.get_warmth(); + } + } + return best; +} + +int Character::bonus_item_warmth( body_part bp ) const +{ + int ret = 0; + + // If the player is not wielding anything big, check if hands can be put in pockets + if( ( bp == bp_hand_l || bp == bp_hand_r ) && weapon.volume() < 500_ml ) { + ret += bestwarmth( worn, "POCKETS" ); + } + + // If the player's head is not encumbered, check if hood can be put up + if( bp == bp_head && encumb( bp_head ) < 10 ) { + ret += bestwarmth( worn, "HOOD" ); + } + + // If the player's mouth is not encumbered, check if collar can be put up + if( bp == bp_mouth && encumb( bp_mouth ) < 10 ) { + ret += bestwarmth( worn, "COLLAR" ); + } + + return ret; +} + +bool Character::can_use_floor_warmth() const +{ + // TODO: Reading? Waiting? + return in_sleep_state(); +} + +int Character::floor_bedding_warmth( const tripoint &pos ) +{ + const trap &trap_at_pos = g->m.tr_at( pos ); + const ter_id ter_at_pos = g->m.ter( pos ); + const furn_id furn_at_pos = g->m.furn( pos ); + int floor_bedding_warmth = 0; + + const optional_vpart_position vp = g->m.veh_at( pos ); + const cata::optional boardable = vp.part_with_feature( "BOARDABLE", true ); + // Search the floor for bedding + if( furn_at_pos != f_null ) { + floor_bedding_warmth += furn_at_pos.obj().floor_bedding_warmth; + } else if( !trap_at_pos.is_null() ) { + floor_bedding_warmth += trap_at_pos.floor_bedding_warmth; + } else if( boardable ) { + floor_bedding_warmth += boardable->info().floor_bedding_warmth; + } else if( ter_at_pos == t_improvised_shelter ) { + floor_bedding_warmth -= 500; + } else { + floor_bedding_warmth -= 2000; + } + + return floor_bedding_warmth; +} + +int Character::floor_item_warmth( const tripoint &pos ) +{ + if( !g->m.has_items( pos ) ) { + return 0; + } + + int item_warmth = 0; + // Search the floor for items + const auto floor_item = g->m.i_at( pos ); + for( const auto &elem : floor_item ) { + if( !elem.is_armor() ) { + continue; + } + // Items that are big enough and covers the torso are used to keep warm. + // Smaller items don't do as good a job + if( elem.volume() > 250_ml && + ( elem.covers( bp_torso ) || elem.covers( bp_leg_l ) || + elem.covers( bp_leg_r ) ) ) { + item_warmth += 60 * elem.get_warmth() * elem.volume() / 2500_ml; + } + } + + return item_warmth; +} + +int Character::floor_warmth( const tripoint &pos ) const +{ + const int item_warmth = floor_item_warmth( pos ); + int bedding_warmth = floor_bedding_warmth( pos ); + + // If the PC has fur, etc, that will apply too + int floor_mut_warmth = bodytemp_modifier_traits_floor(); + // DOWN does not provide floor insulation, though. + // Better-than-light fur or being in one's shell does. + if( ( !( has_trait( trait_DOWN ) ) ) && ( floor_mut_warmth >= 200 ) ) { + bedding_warmth = std::max( 0, bedding_warmth ); + } + return ( item_warmth + bedding_warmth + floor_mut_warmth ); +} + +int Character::bodytemp_modifier_traits( bool overheated ) const +{ + int mod = 0; + for( auto &iter : my_mutations ) { + mod += overheated ? iter.first->bodytemp_min : + iter.first->bodytemp_max; + } + return mod; +} + +int Character::bodytemp_modifier_traits_floor() const +{ + int mod = 0; + for( auto &iter : my_mutations ) { + mod += iter.first->bodytemp_sleep; + } + return mod; +} + +int Character::temp_corrected_by_climate_control( int temperature ) const +{ + const int variation = int( BODYTEMP_NORM * 0.5 ); + if( temperature < BODYTEMP_SCORCHING + variation && + temperature > BODYTEMP_FREEZING - variation ) { + if( temperature > BODYTEMP_SCORCHING ) { + temperature = BODYTEMP_VERY_HOT; + } else if( temperature > BODYTEMP_VERY_HOT ) { + temperature = BODYTEMP_HOT; + } else if( temperature > BODYTEMP_HOT ) { + temperature = BODYTEMP_NORM; + } else if( temperature < BODYTEMP_FREEZING ) { + temperature = BODYTEMP_VERY_COLD; + } else if( temperature < BODYTEMP_VERY_COLD ) { + temperature = BODYTEMP_COLD; + } else if( temperature < BODYTEMP_COLD ) { + temperature = BODYTEMP_NORM; + } + } + return temperature; +} + +bool Character::has_item_with_flag( const std::string &flag, bool need_charges ) const +{ + return has_item_with( [&flag, &need_charges]( const item & it ) { + if( it.is_tool() && need_charges ) { + return it.has_flag( flag ) && it.type->tool->max_charges ? it.charges > 0 : it.has_flag( flag ); + } + return it.has_flag( flag ); + } ); +} + +std::vector Character::all_items_with_flag( const std::string &flag ) const +{ + return items_with( [&flag]( const item & it ) { + return it.has_flag( flag ); + } ); +} + +bool Character::has_charges( const itype_id &it, int quantity, + const std::function &filter ) const +{ + if( it == "fire" || it == "apparatus" ) { + return has_fire( quantity ); + } + if( it == "UPS" && is_mounted() && + mounted_creature.get()->has_flag( MF_RIDEABLE_MECH ) ) { + auto mons = mounted_creature.get(); + return quantity <= mons->battery_item->ammo_remaining(); + } + return charges_of( it, quantity, filter ) == quantity; +} + +std::list Character::use_amount( itype_id it, int quantity, + const std::function &filter ) +{ + std::list ret; + if( weapon.use_amount( it, quantity, ret ) ) { + remove_weapon(); + } + for( auto a = worn.begin(); a != worn.end() && quantity > 0; ) { + if( a->use_amount( it, quantity, ret, filter ) ) { + a->on_takeoff( *this ); + a = worn.erase( a ); + } else { + ++a; + } + } + if( quantity <= 0 ) { + return ret; + } + std::list tmp = inv.use_amount( it, quantity, filter ); + ret.splice( ret.end(), tmp ); + return ret; +} + +bool Character::use_charges_if_avail( const itype_id &it, int quantity ) +{ + if( has_charges( it, quantity ) ) { + use_charges( it, quantity ); + return true; + } + return false; +} + +std::list Character::use_charges( const itype_id &what, int qty, + const std::function &filter ) +{ + std::list res; + + if( qty <= 0 ) { + return res; + + } else if( what == "toolset" ) { + mod_power_level( units::from_kilojoule( -qty ) ); + return res; + + } else if( what == "fire" ) { + use_fire( qty ); + return res; + + } else if( what == "UPS" ) { + if( is_mounted() && mounted_creature.get()->has_flag( MF_RIDEABLE_MECH ) && + mounted_creature.get()->battery_item ) { + auto mons = mounted_creature.get(); + int power_drain = std::min( mons->battery_item->ammo_remaining(), qty ); + mons->use_mech_power( -power_drain ); + qty -= std::min( qty, power_drain ); + return res; + } + if( has_power() && has_active_bionic( bio_ups ) ) { + int bio = std::min( units::to_kilojoule( get_power_level() ), qty ); + mod_power_level( units::from_kilojoule( -bio ) ); + qty -= std::min( qty, bio ); + } + + int adv = charges_of( "adv_UPS_off", static_cast( ceil( qty * 0.6 ) ) ); + if( adv > 0 ) { + std::list found = use_charges( "adv_UPS_off", adv ); + res.splice( res.end(), found ); + qty -= std::min( qty, static_cast( adv / 0.6 ) ); + } + + int ups = charges_of( "UPS_off", qty ); + if( ups > 0 ) { + std::list found = use_charges( "UPS_off", ups ); + res.splice( res.end(), found ); + qty -= std::min( qty, ups ); + } + return res; + } + + std::vector del; + + bool has_tool_with_UPS = false; + visit_items( [this, &what, &qty, &res, &del, &has_tool_with_UPS, &filter]( item * e ) { + if( e->use_charges( what, qty, res, pos(), filter ) ) { + del.push_back( e ); + } + if( filter( *e ) && e->typeId() == what && e->has_flag( "USE_UPS" ) ) { + has_tool_with_UPS = true; + } + return qty > 0 ? VisitResponse::SKIP : VisitResponse::ABORT; + } ); + + for( auto e : del ) { + remove_item( *e ); + } + + if( has_tool_with_UPS ) { + use_charges( "UPS", qty ); + } + + return res; +} + +bool Character::has_fire( const int quantity ) const +{ + // TODO: Replace this with a "tool produces fire" flag. + + if( g->m.has_nearby_fire( pos() ) ) { + return true; + } else if( has_item_with_flag( "FIRE" ) ) { + return true; + } else if( has_item_with_flag( "FIRESTARTER" ) ) { + auto firestarters = all_items_with_flag( "FIRESTARTER" ); + for( auto &i : firestarters ) { + if( has_charges( i->typeId(), quantity ) ) { + return true; + } + } + } else if( has_active_bionic( bio_tools ) && get_power_level() > quantity * 5_kJ ) { + return true; + } else if( has_bionic( bio_lighter ) && get_power_level() > quantity * 5_kJ ) { + return true; + } else if( has_bionic( bio_laser ) && get_power_level() > quantity * 5_kJ ) { + return true; + } else if( is_npc() ) { + // A hack to make NPCs use their Molotovs + return true; + } + return false; +} + +void Character::mod_painkiller( int npkill ) +{ + set_painkiller( pkill + npkill ); +} + +void Character::set_painkiller( int npkill ) +{ + npkill = std::max( npkill, 0 ); + if( pkill != npkill ) { + const int prev_pain = get_perceived_pain(); + pkill = npkill; + on_stat_change( "pkill", pkill ); + const int cur_pain = get_perceived_pain(); + + if( cur_pain != prev_pain ) { + react_to_felt_pain( cur_pain - prev_pain ); + on_stat_change( "perceived_pain", cur_pain ); + } + } +} + +int Character::get_painkiller() const +{ + return pkill; +} + +void Character::use_fire( const int quantity ) +{ + //Okay, so checks for nearby fires first, + //then held lit torch or candle, bionic tool/lighter/laser + //tries to use 1 charge of lighters, matches, flame throwers + //If there is enough power, will use power of one activation of the bio_lighter, bio_tools and bio_laser + // (home made, military), hotplate, welder in that order. + // bio_lighter, bio_laser, bio_tools, has_active_bionic("bio_tools" + + if( g->m.has_nearby_fire( pos() ) ) { + return; + } else if( has_item_with_flag( "FIRE" ) ) { + return; + } else if( has_item_with_flag( "FIRESTARTER" ) ) { + auto firestarters = all_items_with_flag( "FIRESTARTER" ); + for( auto &i : firestarters ) { + if( has_charges( i->typeId(), quantity ) ) { + use_charges( i->typeId(), quantity ); + return; + } + } + } else if( has_active_bionic( bio_tools ) && get_power_level() > quantity * 5_kJ ) { + mod_power_level( -quantity * 5_kJ ); + return; + } else if( has_bionic( bio_lighter ) && get_power_level() > quantity * 5_kJ ) { + mod_power_level( -quantity * 5_kJ ); + return; + } else if( has_bionic( bio_laser ) && get_power_level() > quantity * 5_kJ ) { + mod_power_level( -quantity * 5_kJ ); + return; + } +} diff --git a/src/character.h b/src/character.h index a89b669645199..413c76773f8aa 100644 --- a/src/character.h +++ b/src/character.h @@ -19,6 +19,7 @@ #include "bodypart.h" #include "calendar.h" #include "character_id.h" +#include "character_martial_arts.h" #include "creature.h" #include "game_constants.h" #include "inventory.h" @@ -30,11 +31,14 @@ #include "enums.h" #include "item.h" #include "optional.h" +#include "overmapbuffer.h" +#include "player_activity.h" #include "stomach.h" #include "string_formatter.h" #include "string_id.h" #include "type_id.h" #include "units.h" +#include "weighted_list.h" #include "point.h" #include "magic_enchantment.h" @@ -49,6 +53,7 @@ class JsonOut; class vehicle; struct mutation_branch; class bionic_collection; +class player_morale; struct points_left; class faction; struct construction; @@ -74,6 +79,20 @@ enum vision_modes { NUM_VISION_MODES }; +enum character_movemode : unsigned char { + CMM_WALK = 0, + CMM_RUN = 1, + CMM_CROUCH = 2, + CMM_COUNT +}; + +static const std::array< std::string, CMM_COUNT > character_movemode_str = { { + "walk", + "run", + "crouch" + } +}; + enum fatigue_levels { TIRED = 191, DEAD_TIRED = 383, @@ -180,7 +199,8 @@ class Character : public Creature, public visitable character_id getID() const; // sets the ID, will *only* succeed when the current id is not valid - void setID( character_id i ); + // allows forcing a -1 id which is required for templates to not throw errors + void setID( character_id i, bool force = false ); field_type_id bloodType() const override; field_type_id gibType() const override; @@ -246,6 +266,9 @@ class Character : public Creature, public visitable virtual void mod_per_bonus( int nper ); virtual void mod_int_bonus( int nint ); + // Prints message(s) about current health + void print_health() const; + /** Getters for health values exclusive to characters */ virtual int get_healthy() const; virtual int get_healthy_mod() const; @@ -291,8 +314,11 @@ class Character : public Creature, public visitable /**Get bonus to max_hp from excess stored fat*/ int get_fat_to_hp() const; - /** Returns either "you" or the player's name */ - std::string disp_name( bool possessive = false ) const override; + /** Returns either "you" or the player's name. capitalize_first assumes + that the character's name is already upper case and uses it only for + possessive "your" and "you" + **/ + std::string disp_name( bool possessive = false, bool capitalize_first = false ) const override; /** Returns the name of the player's outer layer, e.g. "armor plates" */ std::string skin_name() const override; @@ -321,9 +347,34 @@ class Character : public Creature, public visitable float get_dodge_base() const override; float get_hit_base() const override; + /** + * Adds a reason for why the player would miss a melee attack. + * + * To possibly be messaged to the player when he misses a melee attack. + * @param reason A message for the player that gives a reason for him missing. + * @param weight The weight used when choosing what reason to pick when the + * player misses. + */ + void add_miss_reason( const std::string &reason, unsigned int weight ); + /** Clears the list of reasons for why the player would miss a melee attack. */ + void clear_miss_reasons(); + /** + * Returns an explanation for why the player would miss a melee attack. + */ + std::string get_miss_reason(); + /** Handles health fluctuations over time */ virtual void update_health( int external_modifiers = 0 ); + /** Maintains body temperature */ + void update_bodytemp(); + + /** Equalizes heat between body parts */ + void temp_equalizer( body_part bp1, body_part bp2 ); + + /** Define blood loss (in percents) */ + int blood_loss( body_part bp ) const; + /** Resets the value of all bonus fields to 0. */ void reset_bonuses() override; /** Resets stats, and applies effects in an idempotent manner */ @@ -354,16 +405,38 @@ class Character : public Creature, public visitable bool is_wearing_power_armor( bool *hasHelmet = nullptr ) const; /** Returns true if the character is wearing active power */ bool is_wearing_active_power_armor() const; + /** Returns true if the player is wearing an active optical cloak */ + bool is_wearing_active_optcloak() const; + + /** Returns true if the player is in a climate controlled area or armor */ + bool in_climate_control(); + + /** Returns wind resistance provided by armor, etc **/ + int get_wind_resistance( body_part bp ) const; /** Returns true if the player isn't able to see */ bool is_blind() const; + bool is_invisible() const; + /** Checks is_invisible() as well as other factors */ + int visibility( bool check_color = false, int stillness = 0 ) const; + + /** Returns character luminosity based on the brightest active item they are carrying */ + float active_light() const; + + bool sees_with_specials( const Creature &critter ) const; + /** Bitset of all the body parts covered only with items with `flag` (or nothing) */ body_part_set exclusive_flag_coverage( const std::string &flag ) const; /** Processes effects which may prevent the Character from moving (bear traps, crushed, etc.). * Returns false if movement is stopped. */ bool move_effects( bool attacking ) override; + /** Check against the character's current movement mode */ + bool movement_mode_is( character_movemode mode ) const; + + virtual void set_movement_mode( character_movemode mode ) = 0; + /** Performs any Character-specific modifications to the arguments before passing to Creature::add_effect(). */ void add_effect( const efftype_id &eff_id, time_duration dur, body_part bp = num_bp, bool permanent = false, @@ -407,6 +480,7 @@ class Character : public Creature, public visitable // any side effects that might happen when the Character hits a Creature void did_hit( Creature &target ); + void cough( bool harmful = false, int loudness = 4 ); /** * Check for relevant passive, non-clothing that can absorb damage, and reduce by specified * damage unit. Only flat bonuses are checked here. Multiplicative ones are checked in @@ -428,6 +502,8 @@ class Character : public Creature, public visitable float bionic_armor_bonus( body_part bp, damage_type dt ) const; /** Returns the armor bonus against given type from martial arts buffs */ int mabuff_armor_bonus( damage_type type ) const; + /** Returns overall fire resistance for the body part */ + int get_armor_fire( body_part bp ) const; // --------------- Mutation Stuff --------------- // In newcharacter.cpp /** Returns the id of a random starting trait that costs >= 0 points */ @@ -451,25 +527,36 @@ class Character : public Creature, public visitable void set_mutation( const trait_id &flag ); void unset_mutation( const trait_id &flag ); + // Trigger and disable mutations that can be so toggled. + void activate_mutation( const trait_id &mutation ); + void deactivate_mutation( const trait_id &mut ); + /** Converts a body_part to an hp_part */ static hp_part bp_to_hp( body_part bp ); /** Converts an hp_part to a body_part */ static body_part hp_to_bp( hp_part hpart ); + bool can_mount( const monster &critter ) const; + void mount_creature( monster &z ); bool is_mounted() const; + void dismount(); + void forced_dismount(); + bool is_deaf() const; /** Returns true if the player has two functioning arms */ bool has_two_arms() const; /** Returns the number of functioning arms */ int get_working_arm_count() const; /** Returns the number of functioning legs */ int get_working_leg_count() const; - /** Returns true if the limb is disabled */ + /** Returns true if the limb is disabled(12.5% or less hp)*/ bool is_limb_disabled( hp_part limb ) const; /** Returns true if the limb is hindered(40% or less hp) */ bool is_limb_hindered( hp_part limb ) const; /** Returns true if the limb is broken */ bool is_limb_broken( hp_part limb ) const; + /** source of truth of whether a Character can run */ + bool can_run(); /** Hurts all body parts for dam, no armor reduction */ void hurtall( int dam, Creature *source, bool disturb = true ); /** Harms all body parts for dam, with armor reduction. If vary > 0 damage to parts are random within vary % (1-100) */ @@ -516,6 +603,42 @@ class Character : public Creature, public visitable WT_GOOD, NUM_WATER_TOLERANCE }; + inline int posx() const override { + return position.x; + } + inline int posy() const override { + return position.y; + } + inline int posz() const override { + return position.z; + } + inline void setx( int x ) { + setpos( tripoint( x, position.y, position.z ) ); + } + inline void sety( int y ) { + setpos( tripoint( position.x, y, position.z ) ); + } + inline void setz( int z ) { + setpos( tripoint( position.xy(), z ) ); + } + inline void setpos( const tripoint &p ) override { + position = p; + } + + /** + * Global position, expressed in map square coordinate system + * (the most detailed coordinate system), used by the @ref map. + */ + virtual tripoint global_square_location() const; + /** + * Returns the location of the player in global submap coordinates. + */ + tripoint global_sm_location() const; + /** + * Returns the location of the player in global overmap terrain coordinates. + */ + tripoint global_omt_location() const; + private: /** Retrieves a stat mod of a mutation. */ int get_mod( const trait_id &mut, const std::string &arg ) const; @@ -550,6 +673,31 @@ class Character : public Creature, public visitable // gets add and mult value from enchantment cache double calculate_by_enchantment( double modify, enchantment::mod value, bool round_output = false ) const; + + /** Returns true if the player has any martial arts buffs attached */ + bool has_mabuff( const mabuff_id &buff_id ) const; + /** Returns true if the player has a grab breaking technique available */ + bool has_grab_break_tec() const override { + return martial_arts_data.has_grab_break_tec(); + }; + + /** Returns the to hit bonus from martial arts buffs */ + float mabuff_tohit_bonus() const; + /** Returns the dodge bonus from martial arts buffs */ + float mabuff_dodge_bonus() const; + /** Returns the block bonus from martial arts buffs */ + int mabuff_block_bonus() const; + /** Returns the speed bonus from martial arts buffs */ + int mabuff_speed_bonus() const; + /** Returns the damage multiplier to given type from martial arts buffs */ + float mabuff_damage_mult( damage_type type ) const; + /** Returns the flat damage bonus to given type from martial arts buffs, applied after the multiplier */ + int mabuff_damage_bonus( damage_type type ) const; + /** Returns the flat penalty to move cost of attacks. If negative, that's a bonus. Applied after multiplier. */ + int mabuff_attack_cost_penalty() const; + /** Returns the multiplier on move cost of attacks. */ + float mabuff_attack_cost_mult() const; + /** Handles things like destruction of armor, etc. */ void mutation_effect( const trait_id &mut ); /** Handles what happens when you lose a mutation. */ @@ -632,6 +780,14 @@ class Character : public Creature, public visitable // route for overmap-scale travelling std::vector omt_path; + /** Handles bionic effects over time of the entered bionic */ + void process_bionic( int b ); + /** Handles bionic deactivation effects of the entered bionic, returns if anything + * deactivated */ + virtual bool deactivate_bionic( int b, bool eff_only = false ); + /**Convert fuel to bionic power*/ + bool burn_fuel( int b, bool start = false ); + units::energy get_power_level() const; units::energy get_max_power_level() const; void mod_power_level( units::energy npower ); @@ -666,6 +822,30 @@ class Character : public Creature, public visitable return false; } + /** + * Asks how to use the item (if it has more than one use_method) and uses it. + * Returns true if it destroys the item. Consumes charges from the item. + * Multi-use items are ONLY supported when all use_methods are iuse_actor! + */ + virtual bool invoke_item( item *, const tripoint &pt ); + /** As above, but with a pre-selected method. Debugmsg if this item doesn't have this method. */ + virtual bool invoke_item( item *, const std::string &, const tripoint &pt ); + /** As above two, but with position equal to current position */ + virtual bool invoke_item( item * ); + virtual bool invoke_item( item *, const std::string & ); + + /** + * Has the item enough charges to invoke its use function? + * Also checks if UPS from this player is used instead of item charges. + */ + bool has_enough_charges( const item &it, bool show_msg ) const; + + /** Consume charges of a tool or comestible item, potentially destroying it in the process + * @param used item consuming the charges + * @param qty number of charges to consume which must be non-zero + * @return true if item was destroyed */ + bool consume_charges( item &used, int qty ); + /** * Calculate (but do not deduct) the number of moves required when handling (e.g. storing, drawing etc.) an item * @param it Item to calculate handling cost for @@ -802,6 +982,8 @@ class Character : public Creature, public visitable /** How much dispersion does one point of target's dodge add when throwing at said target? */ int throw_dispersion_per_dodge( bool add_encumbrance = true ) const; + /** True if unarmed or wielding a weapon with the UNARMED_WEAPON flag */ + bool unarmed_attack() const; /// Checks for items, tools, and vehicles with the Lifting quality near the character /// returning the highest quality in range. int best_nearby_lifting_assist() const; @@ -810,6 +992,9 @@ class Character : public Creature, public visitable /// used for operations on distant objects (e.g. vehicle installation/uninstallation) int best_nearby_lifting_assist( const tripoint &world_pos ) const; + // Inventory + weapon + worn (for death, etc) + std::vector inv_dump(); + units::mass weight_carried() const; units::volume volume_carried() const; @@ -851,10 +1036,33 @@ class Character : public Creature, public visitable */ bool is_armed() const; + /** + * Removes currently wielded item (if any) and replaces it with the target item. + * @param target replacement item to wield or null item to remove existing weapon without replacing it + * @return whether both removal and replacement were successful (they are performed atomically) + */ + virtual bool wield( item &target ) = 0; + /** + * Check player capable of unwielding an item. + * @param it Thing to be unwielded + */ + ret_val can_unwield( const item &it ) const; + void drop_invalid_inventory(); + /** Drops an item to the specified location */ + void drop( int pos, const tripoint &where ); + virtual void drop( const std::list> &what, const tripoint &target, + bool stash = false ); virtual bool has_artifact_with( art_effect_passive effect ) const; + bool is_wielding( const item &target ) const; + + bool covered_with_flag( const std::string &flag, const body_part_set &parts ) const; + bool is_waterproof( const body_part_set &parts ) const; + // Carried items may leak radiation or chemicals + int leak_level( const std::string &flag ) const; + // --------------- Clothing Stuff --------------- /** Returns true if the player is wearing the item. */ bool is_wearing( const itype_id &it ) const; @@ -863,6 +1071,16 @@ class Character : public Creature, public visitable /** Returns true if the player is wearing an item with the given flag. */ bool worn_with_flag( const std::string &flag, body_part bp = num_bp ) const; + + // drawing related stuff + /** + * Returns a list of the IDs of overlays on this character, + * sorted from "lowest" to "highest". + * + * Only required for rendering. + */ + std::vector get_overlay_ids() const; + // --------------- Skill Stuff --------------- int get_skill_level( const skill_id &ident ) const; int get_skill_level( const skill_id &ident, const item &context ) const; @@ -897,6 +1115,8 @@ class Character : public Creature, public visitable time_died = time; } } + // magic mod + known_magic magic; void make_bleed( body_part bp, time_duration duration, int intensity = 1, bool permanent = false, @@ -923,6 +1143,16 @@ class Character : public Creature, public visitable virtual bool query_yn( const std::string &msg ) const = 0; bool is_immune_field( field_type_id fid ) const override; + /** Returns true is the player is protected from electric shocks */ + bool is_elec_immune() const override; + /** Returns true if the player is immune to this kind of effect */ + bool is_immune_effect( const efftype_id & ) const override; + /** Returns true if the player is immune to this kind of damage */ + bool is_immune_damage( damage_type ) const override; + /** Returns true if the player is protected from radiation */ + bool is_rad_immune() const; + /** Returns true if the player is immune to throws */ + bool is_throw_immune() const; /** Returns true if the player has some form of night vision */ bool has_nv(); @@ -976,6 +1206,10 @@ class Character : public Creature, public visitable */ void add_traits(); void add_traits( points_left &points ); + /** Returns true if the player has crossed a mutation threshold + * Player can only cross one mutation threshold. + */ + bool crossed_threshold() const; // --------------- Values --------------- std::string name; @@ -984,19 +1218,41 @@ class Character : public Creature, public visitable std::list worn; std::array hp_cur, hp_max, damage_bandaged, damage_disinfected; bool nv_cached; + // Means player sit inside vehicle on the tile he is now + bool in_vehicle; + bool hauling; + player_activity activity; + std::list backlog; inventory inv; itype_id last_item; item weapon; pimpl my_bionics; + character_martial_arts martial_arts_data; stomach_contents stomach; stomach_contents guts; int oxygen; - int stamina; int radiation; + int tank_plut; + int reactor_plut; + int slow_rad; + + int focus_pool; + /* crafting inventory cached time */ + time_point cached_time; + + std::vector addictions; + /** Adds an addiction to the player */ + void add_addiction( add_type type, int strength ); + /** Removes an addition from the player */ + void rem_addiction( add_type type ); + /** Returns true if the player has an addiction of the specified type */ + bool has_addiction( add_type type ) const; + /** Returns the intensity of the specified addiction */ + int addiction_level( add_type type ) const; std::shared_ptr mounted_creature; // for loading NPC mounts @@ -1004,10 +1260,54 @@ class Character : public Creature, public visitable // for vehicle work int activity_vehicle_part_index = -1; + // Hauling items on the ground + void start_hauling(); + void stop_hauling(); + bool is_hauling() const; + + // Has a weapon, inventory item or worn item with flag + bool has_item_with_flag( const std::string &flag, bool need_charges = false ) const; + /** + * All items that have the given flag (@ref item::has_flag). + */ + std::vector all_items_with_flag( const std::string &flag ) const; + + bool has_charges( const itype_id &it, int quantity, + const std::function &filter = return_true ) const; + + // has_amount works ONLY for quantity. + // has_charges works ONLY for charges. + std::list use_amount( itype_id it, int quantity, + const std::function &filter = return_true ); + // Uses up charges + bool use_charges_if_avail( const itype_id &it, int quantity ); + + // Uses up charges + std::list use_charges( const itype_id &what, int qty, + const std::function &filter = return_true ); + + bool has_fire( int quantity ) const; + void use_fire( int quantity ); + + /** Legacy activity assignment, should not be used where resuming is important. */ + void assign_activity( const activity_id &type, int moves = calendar::INDEFINITELY_LONG, + int index = -1, int pos = INT_MIN, + const std::string &name = "" ); + /** Assigns activity to player, possibly resuming old activity if it's similar enough. */ + void assign_activity( const player_activity &act, bool allow_resume = true ); + /** Check if player currently has a given activity */ + bool has_activity( const activity_id &type ) const; + /** Check if player currently has any of the given activities */ + bool has_activity( const std::vector &types ) const; + void resume_backlog_activity(); + void cancel_activity(); + void initialize_stomach_contents(); /** Stable base metabolic rate due to traits */ float metabolic_rate_base() const; + /** Current metabolic rate due to traits, hunger, speed, etc. */ + float metabolic_rate() const; // gets the max value healthy you can be, related to your weight int get_max_healthy() const; // gets the string that describes your weight @@ -1035,6 +1335,19 @@ class Character : public Creature, public visitable // outputs player activity level to a printable string std::string activity_level_str() const; + int get_stim() const; + void set_stim( int new_stim ); + void mod_stim( int mod ); + + int get_stamina() const; + int get_stamina_max() const; + void set_stamina( int new_stamina ); + void mod_stamina( int mod ); + void burn_move_stamina( int moves ); + float stamina_move_cost_modifier() const; + /** Regenerates stamina */ + void update_stamina( int turns ); + protected: void on_stat_change( const std::string &, int ) override {} void on_damage_of_type( int adjusted_damage, damage_type type, body_part bp ) override; @@ -1063,6 +1376,139 @@ class Character : public Creature, public visitable std::array healed_total; std::map mutation_category_level; + + /** Modifies intensity of painkillers */ + void mod_painkiller( int npkill ); + /** Sets intensity of painkillers */ + void set_painkiller( int npkill ); + /** Returns intensity of painkillers */ + int get_painkiller() const; + void react_to_felt_pain( int intensity ); + + void spores(); + void blossoms(); + + /** Handles rooting effects */ + void rooted_message() const; + void rooted(); + + /** Adds "sleep" to the player */ + void fall_asleep(); + void fall_asleep( const time_duration &duration ); + /** Checks to see if the player is using floor items to keep warm, and return the name of one such item if so */ + std::string is_snuggling() const; + + player_activity get_destination_activity() const; + void set_destination_activity( const player_activity &new_destination_activity ); + void clear_destination_activity(); + /** Returns warmth provided by armor, etc. */ + int warmth( body_part bp ) const; + /** Returns warmth provided by an armor's bonus, like hoods, pockets, etc. */ + int bonus_item_warmth( body_part bp ) const; + /** Can the player lie down and cover self with blankets etc. **/ + bool can_use_floor_warmth() const; + /** + * Warmth from terrain, furniture, vehicle furniture and traps. + * Can be negative. + **/ + static int floor_bedding_warmth( const tripoint &pos ); + /** Warmth from clothing on the floor **/ + static int floor_item_warmth( const tripoint &pos ); + /** Final warmth from the floor **/ + int floor_warmth( const tripoint &pos ) const; + + /** Correction factor of the body temperature due to traits and mutations **/ + int bodytemp_modifier_traits( bool overheated ) const; + /** Correction factor of the body temperature due to traits and mutations for player lying on the floor **/ + int bodytemp_modifier_traits_floor() const; + /** Value of the body temperature corrected by climate control **/ + int temp_corrected_by_climate_control( int temperature ) const; + + bool in_sleep_state() const override { + return Creature::in_sleep_state() || activity.id() == "ACT_TRY_SLEEP"; + } + + /** Set vitamin deficiency/excess disease states dependent upon current vitamin levels */ + void update_vitamins( const vitamin_id &vit ); + /** + * Check current level of a vitamin + * + * Accesses level of a given vitamin. If the vitamin_id specified does not + * exist then this function simply returns 0. + * + * @param vit ID of vitamin to check level for. + * @returns current level for specified vitamin + */ + int vitamin_get( const vitamin_id &vit ) const; + /** + * Add or subtract vitamins from player storage pools + * @param vit ID of vitamin to modify + * @param qty amount by which to adjust vitamin (negative values are permitted) + * @param capped if true prevent vitamins which can accumulate in excess from doing so + * @return adjusted level for the vitamin or zero if vitamin does not exist + */ + int vitamin_mod( const vitamin_id &vit, int qty, bool capped = true ); + + /** Returns true if the player is wearing something on the entered body_part */ + bool wearing_something_on( body_part bp ) const; + /** Returns true if the player is wearing something occupying the helmet slot */ + bool is_wearing_helmet() const; + /** Returns the total encumbrance of all SKINTIGHT and HELMET_COMPAT items coveringi + * the head */ + int head_cloth_encumbrance() const; + /** Same as footwear factor, but for arms */ + double armwear_factor() const; + /** Returns 1 if the player is wearing an item of that count on one foot, 2 if on both, + * and zero if on neither */ + int shoe_type_count( const itype_id &it ) const; + /** Returns 1 if the player is wearing something on both feet, .5 if on one, + * and 0 if on neither */ + double footwear_factor() const; + /** Returns true if the player is wearing something on their feet that is not SKINTIGHT */ + bool is_wearing_shoes( const side &which_side = side::BOTH ) const; + + /** Ticks down morale counters and removes them */ + void update_morale(); + /** Ensures persistent morale effects are up-to-date */ + void apply_persistent_morale(); + /** Used to apply morale modifications from food and medication **/ + void modify_morale( item &food, int nutr = 0 ); + int get_morale_level() const; // Modified by traits, &c + void add_morale( const morale_type &type, int bonus, int max_bonus = 0, + const time_duration &duration = 1_hours, + const time_duration &decay_start = 30_minutes, bool capped = false, + const itype *item_type = nullptr ); + int has_morale( const morale_type &type ) const; + void rem_morale( const morale_type &type, const itype *item_type = nullptr ); + void clear_morale(); + bool has_morale_to_read() const; + bool has_morale_to_craft() const; + + const inventory &crafting_inventory( const tripoint &src_pos = tripoint_zero, + int radius = PICKUP_RANGE ); + void invalidate_crafting_inventory(); + + /** Checks permanent morale for consistency and recovers it when an inconsistency is found. */ + void check_and_recover_morale(); + + /** Handles the enjoyability value for a comestible. First value is enjoyability, second is cap. **/ + std::pair fun_for( const item &comest ) const; + + /** Handles a large number of timers decrementing and other randomized effects */ + void suffer(); + /** Handles mitigation and application of radiation */ + bool irradiate( float rads, bool bypass = false ); + /** Handles the chance for broken limbs to spontaneously heal to 1 HP */ + void mend( int rate_multiplier ); + + /** Creates an auditory hallucination */ + void sound_hallu(); + + /** Drenches the player with water, saturation is the percent gotten wet */ + void drench( int saturation, const body_part_set &flags, bool ignore_waterproof ); + /** Recalculates morale penalty/bonus from wetness based on mutations, equipment and temperature */ + void apply_wetness_morale( int temperature ); + protected: Character(); Character( Character && ); @@ -1082,6 +1528,9 @@ class Character : public Creature, public visitable void deserialize( JsonIn &jsin ); }; + // The player's position on the local map. + tripoint position; + /** Bonuses to stats, calculated each turn */ int str_bonus; int dex_bonus; @@ -1144,11 +1593,36 @@ class Character : public Creature, public visitable faction_id fac_id; // A temp variable used to inform the game which faction to link faction *my_fac = nullptr; + character_movemode move_mode; + /** Current deficiency/excess quantity for each vitamin */ + std::map vitamin_levels; + + pimpl morale; + private: + /** suffer() subcalls */ + void suffer_water_damage( const mutation_branch &mdata ); + void suffer_mutation_power( const mutation_branch &mdata, Character::trait_data &tdata ); + void suffer_while_underwater(); + void suffer_from_addictions(); + void suffer_while_awake( int current_stim ); + void suffer_from_chemimbalance(); + void suffer_from_schizophrenia(); + void suffer_from_asthma( int current_stim ); + void suffer_from_pain(); + void suffer_in_sunlight(); + void suffer_from_albinism(); + void suffer_from_other_mutations(); + void suffer_from_radiation(); + void suffer_from_bad_bionics(); + void suffer_from_artifacts(); + void suffer_from_stimulants( int current_stim ); + void suffer_without_sleep( int sleep_deprivation ); + // a cache of all active enchantment values. // is recalculated every turn in Character::recalculate_enchantment_cache enchantment enchantment_cache; - + player_activity destination_activity; // A unique ID number, assigned by the game class. Values should never be reused. character_id id; @@ -1161,10 +1635,29 @@ class Character : public Creature, public visitable int hunger; int thirst; + int stamina; int fatigue; int sleep_deprivation; bool check_encumbrance; + + int stim; + int pkill; + + struct weighted_int_list melee_miss_reasons; + + protected: + /** Amount of time the player has spent in each overmap tile. */ + std::unordered_map overmap_time; + + public: + // TODO: make these private + std::array temp_cur, frostbite_timer, temp_conv; + std::array body_wetness; + std::array drench_capacity; + + time_point next_climate_control_check; + bool last_climate_control_ret; }; template<> diff --git a/src/character_martial_arts.cpp b/src/character_martial_arts.cpp new file mode 100644 index 0000000000000..d878a59ea3afe --- /dev/null +++ b/src/character_martial_arts.cpp @@ -0,0 +1,151 @@ +#include "character_martial_arts.h" + +#include "action.h" +#include "martialarts.h" +#include "messages.h" +#include "output.h" + +const matype_id style_none( "style_none" ); +const matype_id style_kicks( "style_kicks" ); + +using itype_id = std::string; + +character_martial_arts::character_martial_arts() +{ + + keep_hands_free = false; + + style_selected = style_none; + + ma_styles = { { + style_none, style_kicks + } + }; +} + +bool character_martial_arts::selected_allow_melee() const +{ + return style_selected->allow_melee; +} + +bool character_martial_arts::selected_strictly_melee() const +{ + return style_selected->strictly_melee; +} + +bool character_martial_arts::selected_has_weapon( const itype_id &weap ) const +{ + return style_selected->has_weapon( weap ); +} + +bool character_martial_arts::selected_force_unarmed() const +{ + return style_selected->force_unarmed; +} + +bool character_martial_arts::knows_selected_style() const +{ + return has_martialart( style_selected ); +} + +bool character_martial_arts::selected_is_none() const +{ + return style_selected == style_none; +} + +void character_martial_arts::learn_current_style_CQB( bool is_avatar ) +{ + add_martialart( style_selected ); + if( is_avatar ) { + add_msg( m_good, _( "You have learned %s from extensive practice with the CQB Bionic." ), + style_selected->name ); + } +} + +void character_martial_arts::learn_style( const matype_id &mastyle, bool is_avatar ) +{ + add_martialart( mastyle ); + + if( is_avatar ) { + add_msg( m_good, _( "You learn %s." ), + mastyle->name ); + add_msg( m_info, _( "%s to select martial arts style." ), + press_x( ACTION_PICK_STYLE ) ); + } +} + +void character_martial_arts::set_style( const matype_id &mastyle, bool force ) +{ + if( force || has_martialart( mastyle ) ) { + style_selected = mastyle; + } +} + +void character_martial_arts::reset_style() +{ + style_selected = style_none; +} + +void character_martial_arts::selected_style_check() +{ + // check if player knows current style naturally, otherwise drop them back to style_none + if( style_selected != style_none && style_selected != style_kicks ) { + bool has_style = false; + for( const matype_id &elem : ma_styles ) { + if( elem == style_selected ) { + has_style = true; + } + } + if( !has_style ) { + reset_style(); + } + } +} + +std::string character_martial_arts::enumerate_known_styles( const itype_id &weap ) const +{ + return enumerate_as_string( ma_styles.begin(), ma_styles.end(), + [weap]( const matype_id & mid ) { + return mid->has_weapon( weap ) ? mid->name.translated() : std::string(); + } ); +} + +std::string character_martial_arts::selected_style_name( const Character &owner ) const +{ + if( style_selected->force_unarmed || style_selected->weapon_valid( owner.weapon ) ) { + return style_selected->name.translated(); + } else if( owner.is_armed() ) { + return _( "Normal" ); + } else { + return _( "No Style" ); + } +} + +std::vector character_martial_arts::get_unknown_styles( const character_martial_arts + &from ) const +{ + std::vector ret; + for( const matype_id &i : from.ma_styles ) { + if( !has_martialart( i ) ) { + ret.push_back( i ); + } + } + return ret; +} + +void character_martial_arts::serialize( JsonOut &json ) const +{ + json.start_object(); + json.member( "ma_styles", ma_styles ); + json.member( "keep_hands_free", keep_hands_free ); + json.member( "style_selected", style_selected ); + json.end_object(); +} + +void character_martial_arts::deserialize( JsonIn &jsin ) +{ + JsonObject data = jsin.get_object(); + data.read( "ma_styles", ma_styles ); + data.read( "keep_hands_free", keep_hands_free ); + data.read( "style_selected", style_selected ); +} diff --git a/src/character_martial_arts.h b/src/character_martial_arts.h new file mode 100644 index 0000000000000..bd47591dc3ee0 --- /dev/null +++ b/src/character_martial_arts.h @@ -0,0 +1,105 @@ +#pragma once +#ifndef CHARACTER_MARTIAL_ARTS_H +#define CHARACTER_MARTIAL_ARTS_H + +#include "type_id.h" + +#include + +class avatar; +class Character; +class effects_map; +class item; +class JsonOut; +class JsonIn; + +using itype_id = std::string; + +class character_martial_arts +{ + private: + std::vector ma_styles; + matype_id style_selected = matype_id( "style_none" ); + bool keep_hands_free = false; + public: + character_martial_arts(); + character_martial_arts( const std::vector &styles, + const matype_id &style_selected, bool keep_hands_free ) + : ma_styles( styles ), style_selected( style_selected ), keep_hands_free( keep_hands_free ) {} + + void serialize( JsonOut &json ) const; + void deserialize( JsonIn &jsin ); + + void reset_style(); + // checks that style selected is one that is known, otherwise resets it + void selected_style_check(); + /** Creates the UI and handles player input for picking martial arts styles */ + bool pick_style( const avatar &you ); + + bool knows_selected_style() const; + bool selected_strictly_melee() const; + bool selected_allow_melee() const; + bool selected_has_weapon( const itype_id &weap ) const; + bool selected_force_unarmed() const; + bool selected_is_none() const; + + /** Returns true if the player has access to the entered martial art */ + bool has_martialart( const matype_id &ma_id ) const; + /** Adds the entered martial art to the player's list */ + void add_martialart( const matype_id &ma_id ); + void learn_current_style_CQB( bool is_avatar ); + void learn_style( const matype_id &mastyle, bool is_avatar ); + void set_style( const matype_id &mastyle, bool force = false ); + /** Displays a message if the player can or cannot use the martial art */ + void martialart_use_message( const Character &owner ) const; + + /** Fires all non-triggered martial arts events */ + void ma_static_effects( Character &owner ); + /** Fires all move-triggered martial arts events */ + void ma_onmove_effects( Character &owner ); + /** Fires all pause-triggered martial arts events */ + void ma_onpause_effects( Character &owner ); + /** Fires all hit-triggered martial arts events */ + void ma_onhit_effects( Character &owner ); + /** Fires all attack-triggered martial arts events */ + void ma_onattack_effects( Character &owner ); + /** Fires all dodge-triggered martial arts events */ + void ma_ondodge_effects( Character &owner ); + /** Fires all block-triggered martial arts events */ + void ma_onblock_effects( Character &owner ); + /** Fires all get hit-triggered martial arts events */ + void ma_ongethit_effects( Character &owner ); + /** Fires all miss-triggered martial arts events */ + void ma_onmiss_effects( Character &owner ); + /** Fires all crit-triggered martial arts events */ + void ma_oncrit_effects( Character &owner ); + /** Fires all kill-triggered martial arts events */ + void ma_onkill_effects( Character &owner ); + + /** Returns true if the player has the leg block technique available */ + bool can_leg_block( const Character &owner ) const; + /** Returns true if the player has the arm block technique available */ + bool can_arm_block( const Character &owner ) const; + /** Returns true if either can_leg_block() or can_arm_block() returns true */ + bool can_limb_block( const Character &owner ) const; + /** Returns true if the current style forces unarmed attack techniques */ + bool is_force_unarmed() const; + + std::vector get_all_techniques( const item &weap ) const; + std::vector get_unknown_styles( const character_martial_arts &from ) const; + /** Returns true if the player has technique-based miss recovery */ + bool has_miss_recovery_tec( const item &weap ) const; + /** Returns the technique used for miss recovery */ + ma_technique get_miss_recovery_tec( const item &weap ) const; + /** Returns true if the player has a grab breaking technique available */ + bool has_grab_break_tec() const; + /** Returns true if the player has a weapon or martial arts skill available with the entered technique */ + bool has_technique( const Character &guy, const matec_id &id, const item &weap ) const; + /** Returns the grab breaking technique if available */ + ma_technique get_grab_break_tec( const item &weap ) const; + + std::string enumerate_known_styles( const itype_id &weap ) const; + std::string selected_style_name( const Character &owner ) const; +}; + +#endif // !CHARACTER_MARTIAL_ARTS_H diff --git a/src/clothing_mod.cpp b/src/clothing_mod.cpp index 274e7a2cc1252..169310877822a 100644 --- a/src/clothing_mod.cpp +++ b/src/clothing_mod.cpp @@ -62,6 +62,7 @@ void clothing_mod::load( JsonObject &jo, const std::string & ) mandatory( jo, was_loaded, "item", item_string ); mandatory( jo, was_loaded, "implement_prompt", implement_prompt ); mandatory( jo, was_loaded, "destroy_prompt", destroy_prompt ); + optional( jo, was_loaded, "restricted", restricted, false ); JsonArray jarr = jo.get_array( "mod_value" ); while( jarr.has_more() ) { diff --git a/src/clothing_mod.h b/src/clothing_mod.h index b53e121156f16..759670034afcc 100644 --- a/src/clothing_mod.h +++ b/src/clothing_mod.h @@ -53,6 +53,7 @@ struct clothing_mod { std::string implement_prompt; std::string destroy_prompt; std::vector< mod_value > mod_values; + bool restricted; static size_t count(); }; diff --git a/src/clzones.cpp b/src/clzones.cpp index 44796abef65ab..3ccb1ff499ecc 100644 --- a/src/clzones.cpp +++ b/src/clzones.cpp @@ -13,6 +13,7 @@ #include "construction.h" #include "debug.h" #include "game.h" +#include "generic_factory.h" #include "iexamine.h" #include "item_category.h" #include "item_search.h" @@ -51,99 +52,14 @@ zone_manager::zone_manager() types.emplace( zone_type_id( "NPC_INVESTIGATE_ONLY" ), zone_type( translate_marker( "NPC Investigation Area" ), translate_marker( "Friendly NPCs will investigate unseen sounds only if they come from inside this area." ) ) ); - types.emplace( zone_type_id( "LOOT_UNSORTED" ), - zone_type( translate_marker( "Loot: Unsorted" ), - translate_marker( "Place to drop unsorted loot. You can use \"sort out loot\" zone-action to sort items inside. It can overlap with Loot zones of different types." ) ) ); - types.emplace( zone_type_id( "LOOT_FOOD" ), - zone_type( translate_marker( "Loot: Food" ), - translate_marker( "Destination for comestibles. If more specific food zone is not defined, all food is moved here." ) ) ); - types.emplace( zone_type_id( "LOOT_PFOOD" ), - zone_type( translate_marker( "Loot: P.Food" ), - translate_marker( "Destination for perishable comestibles. Does include perishable drinks if such zone is not specified." ) ) ); - types.emplace( zone_type_id( "LOOT_DRINK" ), - zone_type( translate_marker( "Loot: Drink" ), - translate_marker( "Destination for drinks. Does include perishable drinks if such zone is not specified." ) ) ); - types.emplace( zone_type_id( "LOOT_PDRINK" ), - zone_type( translate_marker( "Loot: P.Drink" ), - translate_marker( "Destination for perishable drinks." ) ) ); - types.emplace( zone_type_id( "LOOT_GUNS" ), - zone_type( translate_marker( "Loot: Guns" ), - translate_marker( "Destination for guns, bows and similar weapons." ) ) ); - types.emplace( zone_type_id( "LOOT_MAGAZINES" ), - zone_type( translate_marker( "Loot: Magazines" ), - translate_marker( "Destination for gun magazines." ) ) ); - types.emplace( zone_type_id( "LOOT_AMMO" ), - zone_type( translate_marker( "Loot: Ammo" ), - translate_marker( "Destination for ammo." ) ) ); - types.emplace( zone_type_id( "LOOT_WEAPONS" ), - zone_type( translate_marker( "Loot: Weapons" ), - translate_marker( "Destination for melee weapons." ) ) ); - types.emplace( zone_type_id( "LOOT_TOOLS" ), - zone_type( translate_marker( "Loot: Tools" ), - translate_marker( "Destination for tools." ) ) ); - types.emplace( zone_type_id( "LOOT_CLOTHING" ), - zone_type( translate_marker( "Loot: Clothing" ), - translate_marker( "Destination for clothing. Does include filthy clothing if such zone is not specified." ) ) ); - types.emplace( zone_type_id( "LOOT_FCLOTHING" ), - zone_type( translate_marker( "Loot: F.Clothing" ), - translate_marker( "Destination for filthy clothing." ) ) ); - types.emplace( zone_type_id( "LOOT_DRUGS" ), - zone_type( translate_marker( "Loot: Drugs" ), - translate_marker( "Destination for drugs and other medical items." ) ) ); - types.emplace( zone_type_id( "LOOT_BOOKS" ), - zone_type( translate_marker( "Loot: Books" ), - translate_marker( "Destination for books and magazines." ) ) ); - types.emplace( zone_type_id( "LOOT_MODS" ), - zone_type( translate_marker( "Loot: Mods" ), - translate_marker( "Destination for firearm modifications and similar items." ) ) ); - types.emplace( zone_type_id( "LOOT_MUTAGENS" ), - zone_type( translate_marker( "Loot: Mutagens" ), - translate_marker( "Destination for mutagens, serums, and purifiers." ) ) ); - types.emplace( zone_type_id( "LOOT_BIONICS" ), - zone_type( translate_marker( "Loot: Bionics" ), - translate_marker( "Destination for Compact Bionics Modules aka CBMs." ) ) ); - types.emplace( zone_type_id( "LOOT_VEHICLE_PARTS" ), - zone_type( translate_marker( "Loot: V.Parts" ), - translate_marker( "Destination for vehicle parts." ) ) ); - types.emplace( zone_type_id( "LOOT_OTHER" ), - zone_type( translate_marker( "Loot: Other" ), - translate_marker( "Destination for other miscellaneous items." ) ) ); - types.emplace( zone_type_id( "LOOT_FUEL" ), - zone_type( translate_marker( "Loot: Fuel" ), - translate_marker( "Destination for gasoline, diesel, lamp oil and other substances used as a fuel." ) ) ); - types.emplace( zone_type_id( "LOOT_SEEDS" ), - zone_type( translate_marker( "Loot: Seeds" ), - translate_marker( "Destination for seeds, stems and similar items." ) ) ); - types.emplace( zone_type_id( "LOOT_CHEMICAL" ), - zone_type( translate_marker( "Loot: Chemical" ), - translate_marker( "Destination for chemicals." ) ) ); - types.emplace( zone_type_id( "LOOT_SPARE_PARTS" ), - zone_type( translate_marker( "Loot: S.Parts" ), - translate_marker( "Destination for spare parts." ) ) ); - types.emplace( zone_type_id( "LOOT_ARTIFACTS" ), - zone_type( translate_marker( "Loot: Artifacts" ), - translate_marker( "Destination for artifacts" ) ) ); - types.emplace( zone_type_id( "LOOT_CORPSE" ), - zone_type( translate_marker( "Loot: Corpses" ), - translate_marker( "Destination for corpses" ) ) ); - types.emplace( zone_type_id( "LOOT_ARMOR" ), - zone_type( translate_marker( "Loot: Armor" ), - translate_marker( "Destination for armor. Does include filthy armor if such zone is not specified." ) ) ); - types.emplace( zone_type_id( "LOOT_FARMOR" ), - zone_type( translate_marker( "Loot: F.Armor" ), - translate_marker( "Destination for filthy armor." ) ) ); - types.emplace( zone_type_id( "LOOT_WOOD" ), - zone_type( translate_marker( "Loot: Wood" ), - translate_marker( "Destination for firewood and items that can be used as such." ) ) ); - types.emplace( zone_type_id( "LOOT_CUSTOM" ), - zone_type( translate_marker( "Loot: Custom" ), - translate_marker( "Destination for loot with a custom filter that you can modify." ) ) ); - types.emplace( zone_type_id( "LOOT_IGNORE" ), - zone_type( translate_marker( "Loot: Ignore" ), - translate_marker( "Items inside of this zone are ignored by \"sort out loot\" zone-action." ) ) ); + + for( const zone_type &zone : zone_type::get_all() ) { + types.emplace( zone.id, zone ); + } + types.emplace( zone_type_id( "SOURCE_FIREWOOD" ), zone_type( translate_marker( "Source: Firewood" ), - translate_marker( "Source for firewood or other flammable materials in this zone may be used to automatically refuel fires. " + translate_marker( "Source for firewood or other flammable materials in this zone may be used to automatically refuel fires. " "This will be done to maintain light during long-running tasks such as crafting, reading or waiting." ) ) ); types.emplace( zone_type_id( "CONSTRUCTION_BLUEPRINT" ), zone_type( translate_marker( "Construction: Blueprint" ), @@ -163,6 +79,12 @@ zone_manager::zone_manager() types.emplace( zone_type_id( "VEHICLE_REPAIR" ), zone_type( translate_marker( "Vehicle Repair Zone" ), translate_marker( "Any vehicles in this area are marked for repair work." ) ) ); + types.emplace( zone_type_id( "VEHICLE_PATROL" ), + zone_type( translate_marker( "Vehicle Patrol Zone" ), + translate_marker( "Vehicles with an autopilot will patrol in this zone." ) ) ); + types.emplace( zone_type_id( "CAMP_STORAGE" ), + zone_type( translate_marker( "Basecamp: Storage" ), + translate_marker( "Items in this zone will be added to a basecamp's inventory for use by it's workers." ) ) ); types.emplace( zone_type_id( "CAMP_FOOD" ), zone_type( translate_marker( "Basecamp: Food" ), translate_marker( "Items in this zone will be added to a basecamp's food supply in the Distribute Food mission." ) ) ); @@ -179,6 +101,40 @@ std::string zone_type::desc() const return _( desc_ ); } +namespace +{ +generic_factory zone_type_factory( "zone_type" ); +} // namespace + +template<> +const zone_type &string_id::obj() const +{ + return zone_type_factory.obj( *this ); +} + +template<> +bool string_id::is_valid() const +{ + return zone_type_factory.is_valid( *this ); +} + +const std::vector &zone_type::get_all() +{ + return zone_type_factory.get_all(); +} + +void zone_type::load_zones( JsonObject &jo, const std::string &src ) +{ + zone_type_factory.load( jo, src ); +} + +void zone_type::load( JsonObject &jo, const std::string & ) +{ + mandatory( jo, was_loaded, "name", name_ ); + mandatory( jo, was_loaded, "id", id ); + optional( jo, was_loaded, "description", desc_, "" ); +} + std::shared_ptr zone_options::create( const zone_type_id &type ) { if( type == zone_type_id( "FARM_PLOT" ) ) { @@ -217,20 +173,18 @@ int blueprint_options::get_final_construction( return idx; } - if( string_ends_with( con.post_terrain, "_half" ) || - string_ends_with( con.post_terrain, "_halfway" ) ) { - for( int i = 0; i < static_cast( list_constructions.size() ); ++i ) { - if( i == idx || skip_index.find( i ) != skip_index.end() ) { - continue; - } - const construction &con_next = list_constructions[i]; - if( con.description == con_next.description && - con.post_terrain == con_next.pre_terrain ) { - skip_index.insert( idx ); - return get_final_construction( list_constructions, i, skip_index ); - } + for( int i = 0; i < static_cast( list_constructions.size() ); ++i ) { + if( i == idx || skip_index.find( i ) != skip_index.end() ) { + continue; + } + const construction &con_next = list_constructions[i]; + if( con.description == con_next.description && + con.post_terrain == con_next.pre_terrain ) { + skip_index.insert( idx ); + return get_final_construction( list_constructions, i, skip_index ); } } + return idx; } @@ -714,17 +668,13 @@ bool zone_manager::has_loot_dest_near( const tripoint &where ) const const zone_data *zone_manager::get_zone_at( const tripoint &where, const zone_type_id &type ) const { - for( auto it = zones.rbegin(); it != zones.rend(); ++it ) { - const auto &zone = *it; - + for( const zone_data &zone : zones ) { if( zone.has_inside( where ) && zone.get_type() == type ) { return &zone; } } auto vzones = g->m.get_vehicle_zones( g->get_levz() ); - for( auto it = vzones.rbegin(); it != vzones.rend(); ++it ) { - const auto &zone = *it; - + for( const zone_data *zone : vzones ) { if( zone->has_inside( where ) && zone->get_type() == type ) { return zone; } @@ -824,7 +774,8 @@ cata::optional zone_manager::get_nearest( const zone_type_id &type, co zone_type_id zone_manager::get_near_zone_type_for_item( const item &it, const tripoint &where, int range ) const { - auto cat = it.get_category(); + const item_category &cat = it.get_category(); + if( has_near( zone_type_id( "LOOT_CUSTOM" ), where, range ) ) { for( const auto elem : get_near( zone_type_id( "LOOT_CUSTOM" ), where, range, &it ) ) { ( void )elem; @@ -842,7 +793,11 @@ zone_type_id zone_manager::get_near_zone_type_for_item( const item &it, } } - if( cat.id() == "food" ) { + if( cat.zone() ) { + return *cat.zone(); + } + + if( cat.get_id() == "food" ) { const bool preserves = it.is_food_container() && it.type->container->preserves; const auto &it_food = it.is_food_container() ? it.contents.front() : it; @@ -862,64 +817,13 @@ zone_type_id zone_manager::get_near_zone_type_for_item( const item &it, return zone_type_id( "LOOT_FOOD" ); } - if( cat.id() == "guns" ) { - return zone_type_id( "LOOT_GUNS" ); - } - if( cat.id() == "magazines" ) { - return zone_type_id( "LOOT_MAGAZINES" ); - } - if( cat.id() == "ammo" ) { - return zone_type_id( "LOOT_AMMO" ); - } - if( cat.id() == "weapons" ) { - return zone_type_id( "LOOT_WEAPONS" ); - } - if( cat.id() == "tools" ) { - return zone_type_id( "LOOT_TOOLS" ); - } - if( cat.id() == "clothing" ) { + if( cat.get_id() == "clothing" ) { if( it.is_filthy() && has_near( zone_type_id( "LOOT_FCLOTHING" ), where, range ) ) { return zone_type_id( "LOOT_FCLOTHING" ); } return zone_type_id( "LOOT_CLOTHING" ); } - if( cat.id() == "drugs" ) { - return zone_type_id( "LOOT_DRUGS" ); - } - if( cat.id() == "books" ) { - return zone_type_id( "LOOT_BOOKS" ); - } - if( cat.id() == "mods" ) { - return zone_type_id( "LOOT_MODS" ); - } - if( cat.id() == "mutagen" ) { - return zone_type_id( "LOOT_MUTAGENS" ); - } - if( cat.id() == "bionics" ) { - return zone_type_id( "LOOT_BIONICS" ); - } - if( cat.id() == "veh_parts" ) { - return zone_type_id( "LOOT_VEHICLE_PARTS" ); - } - if( cat.id() == "other" ) { - return zone_type_id( "LOOT_OTHER" ); - } - if( cat.id() == "fuel" ) { - return zone_type_id( "LOOT_FUEL" ); - } - if( cat.id() == "seeds" ) { - return zone_type_id( "LOOT_SEEDS" ); - } - if( cat.id() == "chems" ) { - return zone_type_id( "LOOT_CHEMICAL" ); - } - if( cat.id() == "spare_parts" ) { - return zone_type_id( "LOOT_SPARE_PARTS" ); - } - if( cat.id() == "artifacts" ) { - return zone_type_id( "LOOT_ARTIFACTS" ); - } - if( cat.id() == "armor" ) { + if( cat.get_id() == "armor" ) { if( it.is_filthy() && has_near( zone_type_id( "LOOT_FARMOR" ), where, range ) ) { return zone_type_id( "LOOT_FARMOR" ); } diff --git a/src/clzones.h b/src/clzones.h index c23a9f783ee6a..12965094d8866 100644 --- a/src/clzones.h +++ b/src/clzones.h @@ -36,10 +36,24 @@ class zone_type std::string name_; std::string desc_; public: + + zone_type_id id; + bool was_loaded; + + zone_type() = default; explicit zone_type( const std::string &name, const std::string &desc ) : name_( name ), desc_( desc ) {} + std::string name() const; std::string desc() const; + + static void load_zones( JsonObject &jo, const std::string &src ); + void load( JsonObject &jo, const std::string & ); + /** + * All spells in the game. + */ + static const std::vector &get_all(); + bool is_valid() const; }; class zone_options diff --git a/src/color.cpp b/src/color.cpp index b49d37bebcecd..eb065c27e14b7 100644 --- a/src/color.cpp +++ b/src/color.cpp @@ -866,7 +866,7 @@ void color_manager::show_gui() finalize(); // Need to recalculate caches } else if( action == "LOAD_TEMPLATE" ) { - auto vFiles = get_files_from_path( ".json", FILENAMES["color_templates"], false, true ); + auto vFiles = get_files_from_path( ".json", PATH_INFO::color_templates(), false, true ); if( !vFiles.empty() ) { uilist ui_templates; @@ -978,7 +978,7 @@ void color_manager::show_gui() bool color_manager::save_custom() { - const auto savefile = FILENAMES["custom_colors"]; + const auto savefile = PATH_INFO::custom_colors(); return write_to_file( savefile, [&]( std::ostream & fout ) { JsonOut jsout( fout ); @@ -988,7 +988,7 @@ bool color_manager::save_custom() void color_manager::load_custom( const std::string &sPath ) { - const auto file = sPath.empty() ? FILENAMES["custom_colors"] : sPath; + const auto file = sPath.empty() ? PATH_INFO::custom_colors() : sPath; read_from_file_optional_json( file, [this]( JsonIn & jsonin ) { deserialize( jsonin ); diff --git a/src/color_loader.h b/src/color_loader.h index afcd2f2e57730..b8d3216d1eb57 100644 --- a/src/color_loader.h +++ b/src/color_loader.h @@ -61,8 +61,8 @@ class color_loader public: /// @throws std::exception upon any kind of error. void load( std::array &windowsPalette ) { - const std::string default_path = FILENAMES["colors"]; - const std::string custom_path = FILENAMES["base_colors"]; + const std::string default_path = PATH_INFO::colors(); + const std::string custom_path = PATH_INFO::base_colors(); if( !file_exist( custom_path ) ) { copy_file( default_path, custom_path ); diff --git a/src/compatibility.h b/src/compatibility.h index e98b79819005b..bbc6bac12cb6a 100644 --- a/src/compatibility.h +++ b/src/compatibility.h @@ -27,6 +27,7 @@ #include #include +// NOLINTNEXTLINE(cata-no-long) inline std::string to_string( const long n ) { //- and \0 @@ -36,6 +37,7 @@ inline std::string to_string( const long n ) return buffer; } +// NOLINTNEXTLINE(cata-no-long) inline std::string to_string( const unsigned long n ) { //- and \0 diff --git a/src/computer.cpp b/src/computer.cpp index dad43e1aa20d1..02d5057e8659f 100644 --- a/src/computer.cpp +++ b/src/computer.cpp @@ -65,7 +65,7 @@ const species_id HUMAN( "HUMAN" ); const efftype_id effect_amigara( "amigara" ); -int alerts = 0; +static int alerts = 0; computer_option::computer_option() : name( "Unknown" ), action( COMPACT_NULL ), security( 0 ) @@ -161,7 +161,7 @@ void computer::use() wrefresh( w_border ); // Login - print_line( _( "Logging into %s..." ), _( name ) ); + print_line( _( "Logging into %s…" ), _( name ) ); if( security > 0 ) { if( calendar::turn < next_attempt ) { print_error( _( "Access is temporary blocked for security purposes." ) ); @@ -178,7 +178,7 @@ void computer::use() case 'n': case 'N': - query_any( _( "Shutting down... press any key." ) ); + query_any( _( "Shutting down… press any key." ) ); shutdown_terminal(); return; @@ -186,7 +186,7 @@ void computer::use() case 'Y': if( !hack_attempt( g->u ) ) { if( failures.empty() ) { - query_any( _( "Maximum login attempts exceeded. Press any key..." ) ); + query_any( _( "Maximum login attempts exceeded. Press any key…" ) ); shutdown_terminal(); return; } @@ -195,12 +195,12 @@ void computer::use() return; } else { // Successful hack attempt security = 0; - query_any( _( "Login successful. Press any key..." ) ); + query_any( _( "Login successful. Press any key…" ) ); reset_terminal(); } } } else { // No security - query_any( _( "Login successful. Press any key..." ) ); + query_any( _( "Login successful. Press any key…" ) ); reset_terminal(); } @@ -401,7 +401,7 @@ void computer::activate_function( computer_action action ) /* fallthrough */ case COMPACT_OPEN: g->m.translate_radius( t_door_metal_locked, t_floor, 25.0, g->u.pos(), true ); - query_any( _( "Doors opened. Press any key..." ) ); + query_any( _( "Doors opened. Press any key…" ) ); break; //LOCK AND UNLOCK are used to build more complex buildings @@ -411,7 +411,7 @@ void computer::activate_function( computer_action action ) // player position to determine which terrain tiles to edit. case COMPACT_LOCK: g->m.translate_radius( t_door_metal_c, t_door_metal_locked, 8.0, g->u.pos(), true ); - query_any( _( "Lock enabled. Press any key..." ) ); + query_any( _( "Lock enabled. Press any key…" ) ); break; // UNLOCK_DISARM falls through to just UNLOCK @@ -420,14 +420,14 @@ void computer::activate_function( computer_action action ) /* fallthrough */ case COMPACT_UNLOCK: g->m.translate_radius( t_door_metal_locked, t_door_metal_c, 8.0, g->u.pos(), true ); - query_any( _( "Lock disabled. Press any key..." ) ); + query_any( _( "Lock disabled. Press any key…" ) ); break; //Toll is required for the church computer/mechanism to function case COMPACT_TOLL: sounds::sound( g->u.pos(), 120, sounds::sound_t::music, //~ the sound of a church bell ringing - _( "Bohm... Bohm... Bohm..." ), true, "environment", "church_bells" ); + _( "Bohm… Bohm… Bohm…" ), true, "environment", "church_bells" ); break; case COMPACT_SAMPLE: @@ -469,7 +469,7 @@ void computer::activate_function( computer_action action ) sounds::sound( g->u.pos(), 40, sounds::sound_t::alarm, _( "an alarm sound!" ), false, "environment", "alarm" ); g->m.translate_radius( t_reinforced_glass, t_thconc_floor, 25.0, g->u.pos(), true ); - query_any( _( "Containment shields opened. Press any key..." ) ); + query_any( _( "Containment shields opened. Press any key…" ) ); break; // COMPACT_RELEASE_DISARM falls through to just COMPACT_RELEASE_BIONICS @@ -480,7 +480,7 @@ void computer::activate_function( computer_action action ) sounds::sound( g->u.pos(), 40, sounds::sound_t::alarm, _( "an alarm sound!" ), false, "environment", "alarm" ); g->m.translate_radius( t_reinforced_glass, t_thconc_floor, 3.0, g->u.pos(), true ); - query_any( _( "Containment shields opened. Press any key..." ) ); + query_any( _( "Containment shields opened. Press any key…" ) ); break; case COMPACT_TERMINATE: @@ -497,7 +497,7 @@ void computer::activate_function( computer_action action ) mon->die( &g->u ); } } - query_any( _( "Subjects terminated. Press any key..." ) ); + query_any( _( "Subjects terminated. Press any key…" ) ); break; case COMPACT_PORTAL: { @@ -539,22 +539,22 @@ void computer::activate_function( computer_action action ) // TODO: seed should probably be a member of the computer, or better: of the computer action. // It is here to ensure one computer reporting the same text on each invocation. const int seed = g->get_levx() + g->get_levy() + g->get_levz() + alerts; - std::string log = SNIPPET.get( SNIPPET.assign( "lab_notes", seed ) ); - if( log.empty() ) { - log = _( "No data found." ); + cata::optional log = SNIPPET.random_from_category( "lab_notes", seed ); + if( !log.has_value() ) { + log = to_translation( "No data found." ); } else { g->u.moves -= 70; } - print_text( "%s", log ); + print_text( "%s", log.value() ); // One's an anomaly if( alerts == 0 ) { - query_any( _( "Local data-access error logged, alerting helpdesk. Press any key..." ) ); + query_any( _( "Local data-access error logged, alerting helpdesk. Press any key…" ) ); alerts ++; } else { // Two's a trend. query_any( - _( "Warning: anomalous archive-access activity detected at this node. Press any key..." ) ); + _( "Warning: anomalous archive-access activity detected at this node. Press any key…" ) ); alerts ++; } } @@ -566,12 +566,12 @@ void computer::activate_function( computer_action action ) sfx::play_ambient_variant_sound( "radio", "inaudible_chatter", 100, sfx::channel::radio, 2000 ); print_text( "Accessing archive. Playing audio recording nr %d.\n%s", rng( 1, 9999 ), - SNIPPET.random_from_category( "radio_archive" ) ); + SNIPPET.random_from_category( "radio_archive" ).value_or( translation() ) ); if( one_in( 3 ) ) { - query_any( _( "Warning: resticted data access. Attempt logged. Press any key..." ) ); + query_any( _( "Warning: resticted data access. Attempt logged. Press any key…" ) ); alerts ++; } else { - query_any( _( "Press any key..." ) ); + query_any( _( "Press any key…" ) ); } sfx::fade_audio_channel( sfx::channel::radio, 100 ); } @@ -582,7 +582,7 @@ void computer::activate_function( computer_action action ) const tripoint center = g->u.global_omt_location(); overmap_buffer.reveal( center.xy(), 40, 0 ); query_any( - _( "Surface map data downloaded. Local anomalous-access error logged. Press any key..." ) ); + _( "Surface map data downloaded. Local anomalous-access error logged. Press any key…" ) ); remove_option( COMPACT_MAPS ); alerts ++; } @@ -601,7 +601,7 @@ void computer::activate_function( computer_action action ) } } } - query_any( _( "Sewage map data downloaded. Press any key..." ) ); + query_any( _( "Sewage map data downloaded. Press any key…" ) ); remove_option( COMPACT_MAP_SEWER ); } break; @@ -619,7 +619,7 @@ void computer::activate_function( computer_action action ) } } } - query_any( _( "Subway map data downloaded. Press any key..." ) ); + query_any( _( "Subway map data downloaded. Press any key…" ) ); remove_option( COMPACT_MAP_SUBWAY ); } break; @@ -726,11 +726,11 @@ void computer::activate_function( computer_action action ) print_line( "%s", name ); } if( more > 0 ) { - print_line( ngettext( "%d OTHER FOUND...", "%d OTHERS FOUND...", more ), more ); + print_line( ngettext( "%d OTHER FOUND…", "%d OTHERS FOUND…", more ), more ); } print_newline(); - query_any( _( "Press any key..." ) ); + query_any( _( "Press any key…" ) ); } break; @@ -740,14 +740,14 @@ void computer::activate_function( computer_action action ) g->m.ter_set( p, t_elevator_control ); } } - query_any( _( "Elevator activated. Press any key..." ) ); + query_any( _( "Elevator activated. Press any key…" ) ); break; case COMPACT_AMIGARA_LOG: { g->u.moves -= 30; reset_terminal(); print_line( _( "NEPower Mine(%d:%d) Log" ), g->get_levx(), g->get_levy() ); - print_text( "%s", SNIPPET.get( SNIPPET.assign( "amigara1" ) ) ); + print_text( "%s", SNIPPET.random_from_category( "amigara1" ).value_or( translation() ) ); if( !query_bool( _( "Continue reading?" ) ) ) { return; @@ -755,7 +755,7 @@ void computer::activate_function( computer_action action ) g->u.moves -= 30; reset_terminal(); print_line( _( "NEPower Mine(%d:%d) Log" ), g->get_levx(), g->get_levy() ); - print_text( "%s", SNIPPET.get( SNIPPET.assign( "amigara2" ) ) ); + print_text( "%s", SNIPPET.random_from_category( "amigara2" ).value_or( translation() ) ); if( !query_bool( _( "Continue reading?" ) ) ) { return; @@ -763,7 +763,7 @@ void computer::activate_function( computer_action action ) g->u.moves -= 30; reset_terminal(); print_line( _( "NEPower Mine(%d:%d) Log" ), g->get_levx(), g->get_levy() ); - print_text( "%s", SNIPPET.get( SNIPPET.assign( "amigara3" ) ) ); + print_text( "%s", SNIPPET.random_from_category( "amigara3" ).value_or( translation() ) ); if( !query_bool( _( "Continue reading?" ) ) ) { return; @@ -786,11 +786,11 @@ void computer::activate_function( computer_action action ) print_line( _( "SITE %d%d%d\n" "PERTINENT FOREMAN LOGS WILL BE PREPENDED TO NOTES" ), g->get_levx(), g->get_levy(), abs( g->get_levz() ) ); - print_text( "%s", SNIPPET.get( SNIPPET.assign( "amigara4" ) ) ); + print_text( "%s", SNIPPET.random_from_category( "amigara4" ).value_or( translation() ) ); print_gibberish_line(); print_gibberish_line(); print_newline(); - print_error( _( "FILE CORRUPTED, PRESS ANY KEY..." ) ); + print_error( _( "FILE CORRUPTED, PRESS ANY KEY…" ) ); inp_mngr.wait_for_any_key(); reset_terminal(); break; @@ -829,7 +829,7 @@ void computer::activate_function( computer_action action ) commo_4 = mission_type_id( "MISSION_OLD_GUARD_NEC_COMMO_4" ); if( miss->mission_id() == commo_3 || miss->mission_id() == commo_4 ) { miss->step_complete( 1 ); - print_error( _( "Repeater mod installed..." ) ); + print_error( _( "Repeater mod installed…" ) ); print_error( _( "Mission Complete!" ) ); g->u.use_amount( "radio_repeater_mod", 1 ); inp_mngr.wait_for_any_key(); @@ -839,7 +839,7 @@ void computer::activate_function( computer_action action ) } } } else { - print_error( _( "You do not have a repeater mod to install..." ) ); + print_error( _( "You do not have a repeater mod to install…" ) ); inp_mngr.wait_for_any_key(); break; } @@ -905,7 +905,7 @@ void computer::activate_function( computer_action action ) } } } - query_any( _( "Press any key..." ) ); + query_any( _( "Press any key…" ) ); break; case COMPACT_DATA_ANAL: @@ -934,7 +934,7 @@ void computer::activate_function( computer_action action ) } } } - query_any( _( "Press any key..." ) ); + query_any( _( "Press any key…" ) ); break; case COMPACT_DISCONNECT: @@ -944,7 +944,7 @@ void computer::activate_function( computer_action action ) "UNABLE TO REACH NETWORK ROUTER OR PROXY. PLEASE CONTACT YOUR\n" "SYSTEM ADMINISTRATOR TO RESOLVE THIS ISSUE.\n" " \n" ) ); - query_any( _( "Press any key to continue..." ) ); + query_any( _( "Press any key to continue…" ) ); break; case COMPACT_EMERG_MESS: @@ -959,7 +959,7 @@ void computer::activate_function( computer_action action ) "5. AWAIT FURTHER INSTRUCTIONS.\n" "\n" " \n" ) ); - query_any( _( "Press any key to continue..." ) ); + query_any( _( "Press any key to continue…" ) ); break; case COMPACT_EMERG_REF_CENTER: @@ -976,58 +976,58 @@ void computer::activate_function( computer_action action ) " UNITS TO RECEIVE PRIORITY WHEN GENERATORS ARE BEING DEPLOYED.\n" " \n" " \n" ) ); - query_any( _( "Press any key to continue..." ) ); + query_any( _( "Press any key to continue…" ) ); break; case COMPACT_SR1_MESS: reset_terminal(); - print_text( "%s", SNIPPET.get( SNIPPET.assign( "sr1_mess" ) ) ); - query_any( _( "Press any key to continue..." ) ); + print_text( "%s", SNIPPET.random_from_category( "sr1_mess" ).value_or( translation() ) ); + query_any( _( "Press any key to continue…" ) ); break; case COMPACT_SR2_MESS: reset_terminal(); - print_text( "%s", SNIPPET.get( SNIPPET.assign( "sr2_mess" ) ) ); - query_any( _( "Press any key to continue..." ) ); + print_text( "%s", SNIPPET.random_from_category( "sr2_mess" ).value_or( translation() ) ); + query_any( _( "Press any key to continue…" ) ); break; case COMPACT_SR3_MESS: reset_terminal(); - print_text( "%s", SNIPPET.get( SNIPPET.assign( "sr3_mess" ) ) ); - query_any( _( "Press any key to continue..." ) ); + print_text( "%s", SNIPPET.random_from_category( "sr3_mess" ).value_or( translation() ) ); + query_any( _( "Press any key to continue…" ) ); break; case COMPACT_SR4_MESS: reset_terminal(); - print_text( "%s", SNIPPET.get( SNIPPET.assign( "sr4_mess" ) ) ); - query_any( _( "Press any key to continue..." ) ); + print_text( "%s", SNIPPET.random_from_category( "sr4_mess" ).value_or( translation() ) ); + query_any( _( "Press any key to continue…" ) ); break; case COMPACT_SRCF_1_MESS: reset_terminal(); - print_text( "%s", SNIPPET.get( SNIPPET.assign( "scrf_1_mess" ) ) ); - query_any( _( "Press any key to continue..." ) ); + print_text( "%s", SNIPPET.random_from_category( "scrf_1_mess" ).value_or( translation() ) ); + query_any( _( "Press any key to continue…" ) ); break; case COMPACT_SRCF_2_MESS: reset_terminal(); - print_text( "%s", SNIPPET.get( SNIPPET.assign( "scrf_2_1_mess" ) ) ); - query_any( _( "Press any key to continue..." ) ); + print_text( "%s", SNIPPET.random_from_category( "scrf_2_1_mess" ).value_or( translation() ) ); + query_any( _( "Press any key to continue…" ) ); reset_terminal(); - print_text( "%s", SNIPPET.get( SNIPPET.assign( "scrf_2_2_mess" ) ) ); - query_any( _( "Press any key to continue..." ) ); + print_text( "%s", SNIPPET.random_from_category( "scrf_2_2_mess" ).value_or( translation() ) ); + query_any( _( "Press any key to continue…" ) ); break; case COMPACT_SRCF_3_MESS: reset_terminal(); - print_text( "%s", SNIPPET.get( SNIPPET.assign( "scrf_3_mess" ) ) ); - query_any( _( "Press any key to continue..." ) ); + print_text( "%s", SNIPPET.random_from_category( "scrf_3_mess" ).value_or( translation() ) ); + query_any( _( "Press any key to continue…" ) ); break; case COMPACT_SRCF_SEAL_ORDER: reset_terminal(); - print_text( "%s", SNIPPET.get( SNIPPET.assign( "scrf_seal_order" ) ) ); - query_any( _( "Press any key to continue..." ) ); + print_text( "%s", SNIPPET.random_from_category( "scrf_seal_order" ).value_or( translation() ) ); + query_any( _( "Press any key to continue…" ) ); break; case COMPACT_SRCF_SEAL: @@ -1070,7 +1070,7 @@ void computer::activate_function( computer_action action ) } } } - query_any( _( "Press any key..." ) ); + query_any( _( "Press any key…" ) ); break; //irradiates food at t_rad_platform, adds radiation @@ -1095,7 +1095,7 @@ void computer::activate_function( computer_action action ) explosion_handler::explosion( dest, 40 ); reset_terminal(); print_error( _( "WARNING [409]: Primary sensors offline!" ) ); - print_error( _( " >> Initialize secondary sensors: Geiger profiling..." ) ); + print_error( _( " >> Initialize secondary sensors: Geiger profiling…" ) ); print_error( _( " >> Radiation spike detected!\n" ) ); print_error( _( "WARNING [912]: Catastrophic malfunction! Contamination detected!" ) ); print_error( _( "EMERGENCY PROCEDURE [1]: Evacuate. Evacuate. Evacuate.\n" ) ); @@ -1115,7 +1115,7 @@ void computer::activate_function( computer_action action ) } else { g->u.irradiate( rng_float( 20, 100 ) / rl_dist( g->u.pos(), dest ) ); } - query_any( _( "EMERGENCY SHUTDOWN! Press any key..." ) ); + query_any( _( "EMERGENCY SHUTDOWN! Press any key…" ) ); error = true; options.clear(); // Disable the terminal. activate_failure( COMPFAIL_SHUTDOWN ); @@ -1132,7 +1132,7 @@ void computer::activate_function( computer_action action ) } } if( !error && platform_exists ) { - print_error( _( "PROCESSING... CYCLE COMPLETE." ) ); + print_error( _( "PROCESSING… CYCLE COMPLETE." ) ); print_error( _( "GEIGER COUNTER @ PLATFORM: %s mSv/h." ), g->m.get_radiation( dest ) ); } } @@ -1140,10 +1140,10 @@ void computer::activate_function( computer_action action ) } if( !platform_exists ) { print_error( - _( "CRITICAL ERROR... RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE RP_M_01_rev.03." ) ); + _( "CRITICAL ERROR… RADIATION PLATFORM UNRESPONSIVE. COMPLY TO PROCEDURE RP_M_01_rev.03." ) ); } if( !error ) { - query_any( _( "Press any key..." ) ); + query_any( _( "Press any key…" ) ); } break; } @@ -1176,14 +1176,14 @@ void computer::activate_function( computer_action action ) peak_rad = g->m.get_radiation( platform ); } } - print_error( _( "GEIGER COUNTER @ ZONE:... AVG %s mSv/h." ), sum_rads / tiles_counted ); - print_error( _( "GEIGER COUNTER @ ZONE:... MAX %s mSv/h." ), peak_rad ); + print_error( _( "GEIGER COUNTER @ ZONE:… AVG %s mSv/h." ), sum_rads / tiles_counted ); + print_error( _( "GEIGER COUNTER @ ZONE:… MAX %s mSv/h." ), peak_rad ); print_newline(); } - print_error( _( "GEIGER COUNTER @ CONSOLE: .... %s mSv/h." ), g->m.get_radiation( g->u.pos() ) ); - print_error( _( "PERSONAL DOSIMETRY: .... %s mSv." ), g->u.radiation ); + print_error( _( "GEIGER COUNTER @ CONSOLE:… %s mSv/h." ), g->m.get_radiation( g->u.pos() ) ); + print_error( _( "PERSONAL DOSIMETRY:… %s mSv." ), g->u.radiation ); print_newline(); - query_any( _( "Press any key..." ) ); + query_any( _( "Press any key…" ) ); break; } @@ -1211,7 +1211,7 @@ void computer::activate_function( computer_action action ) } if( !l_exists || !p_exists || !u_exists ) { print_error( _( "Conveyor belt malfunction. Consult maintenance team." ) ); - query_any( _( "Press any key..." ) ); + query_any( _( "Press any key…" ) ); break; } auto items = g->m.i_at( platform ); @@ -1236,7 +1236,7 @@ void computer::activate_function( computer_action action ) } } g->m.i_clear( loading ); - query_any( _( "Conveyor belt cycle complete. Press any key..." ) ); + query_any( _( "Conveyor belt cycle complete. Press any key…" ) ); break; } // toggles reinforced glass shutters open->closed and closed->open depending on their current state @@ -1244,7 +1244,7 @@ void computer::activate_function( computer_action action ) g->u.moves -= 300; g->m.translate_radius( t_reinforced_glass_shutter_open, t_reinforced_glass_shutter, 8.0, g->u.pos(), true, true ); - query_any( _( "Toggling shutters. Press any key..." ) ); + query_any( _( "Toggling shutters. Press any key…" ) ); break; // extract radiation source material from irradiator case COMPACT_EXTRACT_RAD_SOURCE: @@ -1263,9 +1263,9 @@ void computer::activate_function( computer_action action ) g->m.translate_radius( t_rad_platform, t_concrete, 8.0, g->u.pos(), true ); remove_option( COMPACT_IRRADIATOR ); remove_option( COMPACT_EXTRACT_RAD_SOURCE ); - query_any( _( "Extraction sequence complete... Press any key." ) ); + query_any( _( "Extraction sequence complete… Press any key." ) ); } else { - query_any( _( "ERROR! Radiation platform unresponsive... Press any key." ) ); + query_any( _( "ERROR! Radiation platform unresponsive… Press any key." ) ); } } break; @@ -1283,7 +1283,7 @@ void computer::activate_function( computer_action action ) } g->m.remove_field( dest, fd_shock_vent ); } - print_line( _( "Initiating POWER-DIAG ver.2.34 ..." ) ); + print_line( _( "Initiating POWER-DIAG ver.2.34…" ) ); if( has_vent ) { print_error( _( "Short circuit detected!" ) ); print_error( _( "Short circuit rerouted." ) ); @@ -1299,7 +1299,7 @@ void computer::activate_function( computer_action action ) } else { print_error( _( "Backup power status: OFFLINE. Reason: UNKNOWN" ) ); } - query_any( _( "Press any key..." ) ); + query_any( _( "Press any key…" ) ); break; } // switch (action) @@ -1495,7 +1495,7 @@ void computer::remove_option( computer_action const action ) void computer::mark_refugee_center() { - print_line( _( "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT..." ) ); + print_line( _( "SEARCHING FOR NEAREST REFUGEE CENTER, PLEASE WAIT…" ) ); const mission_type_id &mission_type = mission_type_id( "MISSION_REACH_REFUGEE_CENTER" ); tripoint mission_target; @@ -1528,10 +1528,10 @@ void computer::mark_refugee_center() "4PM AT 555-0164.\n" "\n" "IF YOU WOULD LIKE TO SPEAK WITH SOMEONE IN PERSON OR WOULD LIKE\n" - "TO WRITE US A LETTER PLEASE SEND IT TO...\n" ), rl_dist( g->u.pos(), mission_target ), + "TO WRITE US A LETTER PLEASE SEND IT TO…\n" ), rl_dist( g->u.pos(), mission_target ), direction_name_short( direction_from( g->u.pos(), mission_target ) ) ); - query_any( _( "Press any key to continue..." ) ); + query_any( _( "Press any key to continue…" ) ); } template diff --git a/src/condition.cpp b/src/condition.cpp index ab7059a992b89..7dac0d5cc1b1c 100644 --- a/src/condition.cpp +++ b/src/condition.cpp @@ -32,7 +32,7 @@ const efftype_id effect_currently_busy( "currently_busy" ); // throws an error on failure, so no need to return -std::string get_talk_varname( JsonObject jo, const std::string &member, bool check_value ) +std::string get_talk_varname( JsonObject &jo, const std::string &member, bool check_value ) { if( !jo.has_string( "type" ) || !jo.has_string( "context" ) || ( check_value && !jo.has_string( "value" ) ) ) { @@ -61,7 +61,7 @@ void read_condition( JsonObject &jo, const std::string &member_name, return sub_condition( d ); }; } else if( jo.has_object( member_name ) ) { - const JsonObject con_obj = jo.get_object( member_name ); + JsonObject con_obj = jo.get_object( member_name ); conditional_t sub_condition( con_obj ); condition = [sub_condition]( const T & d ) { return sub_condition( d ); @@ -272,7 +272,7 @@ template void conditional_t::set_has_item_category( JsonObject &jo, const std::string &member, bool is_npc ) { - const std::string category_id = jo.get_string( member ); + const item_category_id category_id = item_category_id( jo.get_string( member ) ); size_t count = 1; if( jo.has_int( "count" ) ) { @@ -288,7 +288,7 @@ void conditional_t::set_has_item_category( JsonObject &jo, const std::string actor = dynamic_cast( d.beta ); } const auto items_with = actor->items_with( [category_id]( const item & it ) { - return it.get_category().id() == category_id; + return it.get_category().get_id() == category_id; } ); return items_with.size() >= count; }; @@ -877,7 +877,7 @@ void conditional_t::set_mission_has_generic_rewards() } template -conditional_t::conditional_t( JsonObject jo ) +conditional_t::conditional_t( JsonObject &jo ) { // improve the clarity of NPC setter functions const bool is_npc = true; @@ -890,7 +890,8 @@ conditional_t::conditional_t( JsonObject jo ) conditional_t type_condition( ja.next_string() ); conditionals.emplace_back( type_condition ); } else if( ja.test_object() ) { - conditional_t type_condition( ja.next_object() ); + JsonObject cond = ja.next_object(); + conditional_t type_condition( cond ); conditionals.emplace_back( type_condition ); } else { ja.skip_value(); @@ -921,7 +922,8 @@ conditional_t::conditional_t( JsonObject jo ) return false; }; } else if( jo.has_object( "not" ) ) { - const conditional_t sub_condition = conditional_t( jo.get_object( "not" ) ); + JsonObject cond = jo.get_object( "not" ); + const conditional_t sub_condition = conditional_t( cond ); found_sub_member = true; condition = [sub_condition]( const T & d ) { return !sub_condition( d ); diff --git a/src/condition.h b/src/condition.h index ceafb2b6cb96e..cb3ce71b6379d 100644 --- a/src/condition.h +++ b/src/condition.h @@ -48,7 +48,7 @@ const std::unordered_set complex_conds = { { }; } // namespace dialogue_data -std::string get_talk_varname( JsonObject jo, const std::string &member, bool check_value = true ); +std::string get_talk_varname( JsonObject &jo, const std::string &member, bool check_value = true ); // the truly awful declaration for the conditional_t loading helper_function template @@ -70,7 +70,7 @@ struct conditional_t { public: conditional_t() = default; conditional_t( const std::string &type ); - conditional_t( JsonObject jo ); + conditional_t( JsonObject &jo ); void set_has_any_trait( JsonObject &jo, const std::string &member, bool is_npc = false ); void set_has_trait( JsonObject &jo, const std::string &member, bool is_npc = false ); diff --git a/src/construction.cpp b/src/construction.cpp index 36aaaaa006886..97eec9d3e4fb4 100644 --- a/src/construction.cpp +++ b/src/construction.cpp @@ -872,10 +872,10 @@ void complete_construction( player *p ) if( p->is_player() ) { for( auto &elem : g->u.get_crafting_helpers() ) { if( elem->meets_skill_requirements( built ) ) { - add_msg( m_info, _( "%s assists you with the work..." ), elem->name ); + add_msg( m_info, _( "%s assists you with the work…" ), elem->name ); } else { //NPC near you isn't skilled enough to help - add_msg( m_info, _( "%s watches you work..." ), elem->name ); + add_msg( m_info, _( "%s watches you work…" ), elem->name ); } award_xp( *elem ); diff --git a/src/consumption.cpp b/src/consumption.cpp index 02ed438124870..1d2bb0a9ad500 100644 --- a/src/consumption.cpp +++ b/src/consumption.cpp @@ -57,9 +57,7 @@ const efftype_id effect_fungus( "fungus" ); const mtype_id mon_player_blob( "mon_player_blob" ); const bionic_id bio_advreactor( "bio_advreactor" ); -const bionic_id bio_batteries( "bio_batteries" ); const bionic_id bio_digestion( "bio_digestion" ); -const bionic_id bio_ethanol( "bio_ethanol" ); const bionic_id bio_furnace( "bio_furnace" ); const bionic_id bio_reactor( "bio_reactor" ); const bionic_id bio_taste_blocker( "bio_taste_blocker" ); @@ -74,7 +72,7 @@ const std::array temparray {{"ALLERGEN_MEAT", "ALLERGEN_EGG"}}; const std::vector herbivore_blacklist( temparray.begin(), temparray.end() ); // Defines the maximum volume that a internal furnace can consume -const units::volume furnace_max_volume( 3000_ml ) ; +const units::volume furnace_max_volume( 3_liter ) ; // TODO: JSONize. const std::map plut_charges = { @@ -162,7 +160,7 @@ int player::nutrition_for( const item &comest ) const return kcal_for( comest ) / islot_comestible::kcal_per_nutr; } -std::pair player::fun_for( const item &comest ) const +std::pair Character::fun_for( const item &comest ) const { static const trait_id trait_GOURMAND( "GOURMAND" ); static const trait_id trait_SAPROPHAGE( "SAPROPHAGE" ); @@ -176,12 +174,16 @@ std::pair player::fun_for( const item &comest ) const static const std::string flag_MELTS( "MELTS" ); static const std::string flag_LUPINE( "LUPINE" ); static const std::string flag_FELINE( "FELINE" ); + static const std::string flag_BAD_TASTE( "BAD_TASTE" ); if( !comest.is_comestible() ) { return std::pair( 0, 0 ); } // As float to avoid rounding too many times float fun = comest.get_comestible()->fun; + if( comest.has_flag( flag_BAD_TASTE ) ) { + fun -= 5; // BAD_TASTE is just a morale debuff that persists through crafting + } if( comest.has_flag( flag_MUSHY ) && fun > -5.0f ) { fun = -5.0f; // defrosted MUSHY food is practicaly tastless or tastes off } @@ -294,9 +296,8 @@ std::map player::vitamins_from( const item &it ) const comp.has_flag( "BYPRODUCT" ) ? byproduct_multiplier = -1 : byproduct_multiplier = 1; std::map component_map = this->vitamins_from( comp ); for( const auto &vit : component_map ) { - res[ vit.first ] += byproduct_multiplier * ceil( static_cast - ( vit.second ) / static_cast - ( it.type->charges_default() ) ); + res[ vit.first ] += byproduct_multiplier * ceil( static_cast( vit.second ) + * comp.charges / it.recipe_charges ); } } } else { @@ -345,7 +346,7 @@ time_duration player::vitamin_rate( const vitamin_id &vit ) const return res; } -int player::vitamin_mod( const vitamin_id &vit, int qty, bool capped ) +int Character::vitamin_mod( const vitamin_id &vit, int qty, bool capped ) { auto it = vitamin_levels.find( vit ); if( it == vitamin_levels.end() ) { @@ -373,7 +374,7 @@ void player::vitamins_mod( const std::map &vitamins, bool cappe } } -int player::vitamin_get( const vitamin_id &vit ) const +int Character::vitamin_get( const vitamin_id &vit ) const { if( get_option( "NO_VITAMINS" ) ) { return 0; @@ -403,7 +404,7 @@ float Character::metabolic_rate_base() const // TODO: Make this less chaotic to let NPC retroactive catch up work here // TODO: Involve body heat (cold -> higher metabolism, unless cold-blooded) // TODO: Involve stamina (maybe not here?) -float player::metabolic_rate() const +float Character::metabolic_rate() const { // First value is effective hunger, second is nutrition multiplier // Note: Values do not match hungry/v.hungry/famished/starving, @@ -594,7 +595,8 @@ ret_val player::will_eat( const item &food, bool interactive ) co add_consequence( _( "Your stomach won't be happy (not rotten enough)." ), ALLERGY_WEAK ); } - if( stomach.stomach_remaining() < food.volume() / food.charges && !food.has_infinite_charges() ) { + if( food.charges > 0 && stomach.stomach_remaining( *this ) < food.volume() / food.charges && + !food.has_infinite_charges() ) { if( edible ) { add_consequence( _( "You're full already and will be forcing yourself to eat." ), TOO_FULL ); } else { @@ -672,22 +674,22 @@ bool player::eat( item &food, bool force ) ( get_hunger() > -60 && get_thirst() > -60 ) && ( get_hunger() - nutr < -60 || get_thirst() - quench < -60 ) ) { add_msg_if_player( - _( "You've begun stockpiling calories and liquid for hibernation. You get the feeling that you should prepare for bed, just in case, but... you're hungry again, and you could eat a whole week's worth of food RIGHT NOW." ) ); + _( "You've begun stockpiling calories and liquid for hibernation. You get the feeling that you should prepare for bed, just in case, but… you're hungry again, and you could eat a whole week's worth of food RIGHT NOW." ) ); } - const bool will_vomit = stomach.stomach_remaining() < food.volume() && - rng( units::to_milliliter( stomach.capacity() ) / 2, + const bool will_vomit = stomach.stomach_remaining( *this ) < food.volume() && + rng( units::to_milliliter( stomach.capacity( *this ) ) / 2, units::to_milliliter( stomach.contains() ) ) > units::to_milliliter( - stomach.capacity() ); + stomach.capacity( *this ) ); const bool saprophage = has_trait( trait_id( "SAPROPHAGE" ) ); if( spoiled && !saprophage ) { - add_msg_if_player( m_bad, _( "Ick, this %s doesn't taste so good..." ), food.tname() ); + add_msg_if_player( m_bad, _( "Ick, this %s doesn't taste so good…" ), food.tname() ); if( !has_trait( trait_id( "SAPROVORE" ) ) && !has_trait( trait_id( "EATDEAD" ) ) && ( !has_bionic( bio_digestion ) || one_in( 3 ) ) ) { add_effect( effect_foodpoison, rng( 6_minutes, ( nutr + 1 ) * 6_minutes ) ); } } else if( spoiled && saprophage ) { - add_msg_if_player( m_good, _( "Mmm, this %s tastes delicious..." ), food.tname() ); + add_msg_if_player( m_good, _( "Mmm, this %s tastes delicious…" ), food.tname() ); } if( !consume_effects( food ) ) { //Already consumed by using `food.type->invoke`? @@ -759,7 +761,7 @@ bool player::eat( item &food, bool force ) if( ( has_trait( trait_id( "SCHIZOPHRENIC" ) ) || has_artifact_with( AEP_SCHIZO ) ) && one_in( 50 ) && !spoiled && food.goes_bad() && is_player() ) { - add_msg( m_bad, _( "Ick, this %s (rotten) doesn't taste so good..." ), food.tname() ); + add_msg( m_bad, _( "Ick, this %s (rotten) doesn't taste so good…" ), food.tname() ); add_msg( _( "You drink your %s (rotten)." ), food.tname() ); } else { add_msg_player_or_npc( _( "You drink your %s." ), _( " drinks a %s." ), @@ -769,7 +771,7 @@ bool player::eat( item &food, bool force ) if( ( has_trait( trait_id( "SCHIZOPHRENIC" ) ) || has_artifact_with( AEP_SCHIZO ) ) && one_in( 50 ) && !spoiled && food.goes_bad() && is_player() ) { - add_msg( m_bad, _( "Ick, this %s (rotten) doesn't taste so good..." ), food.tname() ); + add_msg( m_bad, _( "Ick, this %s (rotten) doesn't taste so good…" ), food.tname() ); add_msg( _( "You eat your %s (rotten)." ), food.tname() ); } else { add_msg_player_or_npc( _( "You eat your %s." ), _( " eats a %s." ), @@ -810,16 +812,6 @@ bool player::eat( item &food, bool force ) use_charges( food.get_comestible()->tool, 1 ); } - if( has_bionic( bio_ethanol ) && food.type->can_use( "ALCOHOL" ) ) { - mod_power_level( units::from_kilojoule( rng( 50, 200 ) ) ); - } - if( has_bionic( bio_ethanol ) && food.type->can_use( "ALCOHOL_WEAK" ) ) { - mod_power_level( units::from_kilojoule( rng( 25, 100 ) ) ); - } - if( has_bionic( bio_ethanol ) && food.type->can_use( "ALCOHOL_STRONG" ) ) { - mod_power_level( units::from_kilojoule( rng( 75, 300 ) ) ); - } - if( has_active_bionic( bio_taste_blocker ) ) { mod_power_level( units::from_kilojoule( -abs( food.get_comestible()->fun ) ) ); } @@ -895,7 +887,7 @@ bool player::eat( item &food, bool force ) if( !one_in( 100 ) ) { add_msg_if_player( m_good, _( "When life's got you down, there's always sugar." ) ); } else { - add_msg_if_player( m_good, _( "They may do what they must... you've already won." ) ); + add_msg_if_player( m_good, _( "They may do what they must… you've already won." ) ); } add_morale( MORALE_SWEETTOOTH, 10, 50, 1_hours, 50_minutes ); } @@ -966,32 +958,34 @@ void player::modify_health( const islot_comestible &comest ) void player::modify_stimulation( const islot_comestible &comest ) { + const int current_stim = get_stim(); if( comest.stim != 0 && - ( abs( stim ) < ( abs( comest.stim ) * 3 ) || - sgn( stim ) != sgn( comest.stim ) ) ) { + ( abs( current_stim ) < ( abs( comest.stim ) * 3 ) || + sgn( current_stim ) != sgn( comest.stim ) ) ) { if( comest.stim < 0 ) { - stim = std::max( comest.stim * 3, stim + comest.stim ); + set_stim( std::max( comest.stim * 3, current_stim + comest.stim ) ); } else { - stim = std::min( comest.stim * 3, stim + comest.stim ); + set_stim( std::min( comest.stim * 3, current_stim + comest.stim ) ); } } - if( has_trait( trait_id( "STIMBOOST" ) ) && ( stim > 30 ) && ( ( comest.add == ADD_CAFFEINE ) - || ( comest.add == ADD_SPEED ) || ( comest.add == ADD_COKE ) || ( comest.add == ADD_CRACK ) ) ) { - int hallu_duration = ( stim - comest.stim < 30 ) ? stim - 30 : comest.stim; + if( has_trait( trait_id( "STIMBOOST" ) ) && ( current_stim > 30 ) && + ( ( comest.add == ADD_CAFFEINE ) || ( comest.add == ADD_SPEED ) || ( comest.add == ADD_COKE ) || + ( comest.add == ADD_CRACK ) ) ) { + int hallu_duration = ( current_stim - comest.stim < 30 ) ? current_stim - 30 : comest.stim; add_effect( effect_visuals, hallu_duration * 30_minutes ); std::vector stimboost_msg{ _( "The shadows are getting ever closer." ), _( "You have a bad feeling about this." ), _( "A powerful sense of dread comes over you." ), _( "Your skin starts crawling." ), _( "They're coming to get you." ), - _( "This might've been a bad idea..." ), + _( "This might've been a bad idea…" ), _( "You've really done it this time, haven't you?" ), - _( "You have to stay vigilant. They're always watching..." ), + _( "You have to stay vigilant. They're always watching…" ), _( "mistake mistake mistake mistake mistake" ), _( "Just gotta stay calm, and you'll make it through this." ), _( "You're starting to feel very jumpy." ), _( "Something is twitching at the edge of your vision." ), - _( "They know what you've done..." ), + _( "They know what you've done…" ), _( "You're feeling even more paranoid than usual." ) }; add_msg_if_player( m_bad, random_entry_ref( stimboost_msg ) ); } @@ -1005,7 +999,7 @@ void player::modify_addiction( const islot_comestible &comest ) } } -void player::modify_morale( item &food, const int nutr ) +void Character::modify_morale( item &food, const int nutr ) { time_duration morale_time = 2_hours; if( food.has_flag( "HOT" ) && food.has_flag( "EATEN_HOT" ) ) { @@ -1085,14 +1079,14 @@ bool player::consume_effects( item &food ) if( ( nutr > 0 && get_hunger() < -400 ) || ( comest.quench > 0 && get_thirst() < -400 ) ) { add_msg_if_player( - _( "Mmm. You can still fit some more in... but maybe you should get comfortable and sleep." ) ); + _( "Mmm. You can still fit some more in… but maybe you should get comfortable and sleep." ) ); if( !one_in( 3 ) ) { //Third check, this one at 66% mod_fatigue( nutr ); } } if( ( nutr > 0 && get_hunger() < -600 ) || ( comest.quench > 0 && get_thirst() < -600 ) ) { - add_msg_if_player( _( "That filled a hole! Time for bed..." ) ); + add_msg_if_player( _( "That filled a hole! Time for bed…" ) ); // At this point, you're done. Schlaf gut. mod_fatigue( nutr ); } @@ -1103,7 +1097,7 @@ bool player::consume_effects( item &food ) // Incredibly minor stuff like this shouldn't require complexity if( !is_npc() && has_trait( trait_id( "SLIMESPAWNER" ) ) && ( get_healthy_kcal() < get_stored_kcal() + 4000 && - get_thirst() - stomach.get_water() / 5_ml < 40 ) ) { + get_thirst() - stomach.get_water() / 5_ml < -20 ) && get_thirst() < 40 ) { add_msg_if_player( m_mixed, _( "You feel as though you're going to split open! In a good way?" ) ); mod_pain( 5 ); @@ -1137,8 +1131,21 @@ bool player::consume_effects( item &food ) // Note: We want this here to prevent "you can't finish this" messages set_hunger( capacity ); } + + // Set up food for ingestion + nutrients ingested; + const item &contained_food = food.is_container() ? food.get_contained() : food; + // maybe move tapeworm to digestion + for( const std::pair &v : vitamins_from( contained_food ) ) { + ingested.vitamins[v.first] += has_effect( efftype_id( "tapeworm" ) ) ? v.second / 2 : v.second; + } + // @TODO: Move quench values to mL and remove the magic number here + ingested.water = contained_food.type->comestible->quench * 5_ml; + ingested.solids = contained_food.base_volume() - std::max( ingested.water, 0_ml ); + ingested.kcal = kcal_for( contained_food ); + // GET IN MAH BELLY! - stomach.ingest( *this, food, 1 ); + stomach.ingest( ingested ); return true; } @@ -1158,43 +1165,6 @@ hint_rating player::rate_action_eat( const item &it ) const return HINT_IFFY; } -bool player::can_feed_battery_with( const item &it ) const -{ - if( !it.is_ammo() || can_eat( it ).success() || !has_active_bionic( bio_batteries ) ) { - return false; - } - - return it.ammo_type() == ammotype( "battery" ); -} - -bool player::feed_battery_with( item &it ) -{ - if( !can_feed_battery_with( it ) ) { - return false; - } - - const int energy = get_acquirable_energy( it, rechargeable_cbm::battery ); - const int profitable_energy = std::min( energy, - units::to_kilojoule( get_max_power_level() - get_power_level() ) ); - - if( profitable_energy <= 0 ) { - add_msg_player_or_npc( m_info, - _( "Your internal power storage is fully powered." ), - _( "'s internal power storage is fully powered." ) ); - return false; - } - - mod_power_level( units::from_kilojoule( it.charges ) ); - it.charges -= profitable_energy; - - add_msg_player_or_npc( m_info, - _( "You recharge your battery system with the %s." ), - _( " recharges their battery system with the %s." ), - it.tname() ); - mod_moves( -250 ); - return true; -} - bool player::can_feed_reactor_with( const item &it ) const { static const std::set acceptable = {{ @@ -1353,12 +1323,7 @@ rechargeable_cbm player::get_cbm_rechargeable_with( const item &it ) const return rechargeable_cbm::reactor; } - const int battery_energy = get_acquirable_energy( it, rechargeable_cbm::battery ); - const int furnace_energy = get_acquirable_energy( it, rechargeable_cbm::furnace ); - - if( can_feed_battery_with( it ) && battery_energy >= furnace_energy ) { - return rechargeable_cbm::battery; - } else if( can_feed_furnace_with( it ) ) { + if( can_feed_furnace_with( it ) ) { return rechargeable_cbm::furnace; } @@ -1375,9 +1340,6 @@ int player::get_acquirable_energy( const item &it, rechargeable_cbm cbm ) const case rechargeable_cbm::none: break; - case rechargeable_cbm::battery: - return std::min( it.charges, std::numeric_limits::max() ); - case rechargeable_cbm::reactor: if( it.charges > 0 ) { const auto iter = plut_charges.find( it.typeId() ); diff --git a/src/crafting.cpp b/src/crafting.cpp index 03891c146bc67..59c7b925d6bdd 100644 --- a/src/crafting.cpp +++ b/src/crafting.cpp @@ -18,6 +18,7 @@ #include "calendar.h" #include "craft_command.h" #include "debug.h" +#include "flag.h" #include "game.h" #include "game_inventory.h" #include "handle_liquid.h" @@ -79,7 +80,7 @@ static const trait_id trait_BURROW( "BURROW" ); static bool crafting_allowed( const player &p, const recipe &rec ) { if( p.morale_crafting_speed_multiplier( rec ) <= 0.0f ) { - add_msg( m_info, _( "Your morale is too low to craft such a difficult thing..." ) ); + add_msg( m_info, _( "Your morale is too low to craft such a difficult thing…" ) ); return false; } @@ -204,7 +205,7 @@ static float workbench_crafting_speed_multiplier( const item &craft, const tripo const units::volume &craft_volume = craft.volume(); multiplier *= lerped_multiplier( craft_mass, allowed_mass, 1000_kilogram ); - multiplier *= lerped_multiplier( craft_volume, allowed_volume, 1000000_ml ); + multiplier *= lerped_multiplier( craft_volume, allowed_volume, 1000_liter ); return multiplier; } @@ -277,7 +278,7 @@ float player::crafting_speed_multiplier( const item &craft, const tripoint &loc return total_multi; } -bool player::has_morale_to_craft() const +bool Character::has_morale_to_craft() const { return get_morale_level() >= -50; } @@ -562,7 +563,7 @@ const inventory &player::crafting_inventory( const tripoint &src_pos, int radius return cached_crafting_inventory; } -void player::invalidate_crafting_inventory() +void Character::invalidate_crafting_inventory() { cached_time = calendar::before_time_starts; } @@ -616,23 +617,6 @@ static void set_components( std::list &components, const std::list & } } -static void set_item_food( item &newit ) -{ - // TODO: encapsulate this into some function - int bday_tmp = to_turn( newit.birthday() ) % 3600; // fuzzy birthday for stacking reasons - newit.set_birthday( newit.birthday() + 3600_turns - time_duration::from_turns( bday_tmp ) ); -} - -static void finalize_crafted_item( item &newit, faction *maker_fac ) -{ - if( newit.is_food() ) { - set_item_food( newit ); - } - // TODO for now this assumes player is doing the crafting - // this will need to be updated when NPCs do crafting - newit.set_owner( maker_fac->id ); -} - static cata::optional wield_craft( player &p, item &craft ) { if( p.wield( craft ) ) { @@ -875,17 +859,17 @@ void player::craft_skill_gain( const item &craft, const int &multiplier ) helper->practice( making.skill_used, roll_remainder( base_practice / 2.0 ), skill_cap ); if( batch_size > 1 && one_in( 3 ) ) { - add_msg( m_info, _( "%s assists with crafting..." ), helper->name ); + add_msg( m_info, _( "%s assists with crafting…" ), helper->name ); } if( batch_size == 1 && one_in( 3 ) ) { - add_msg( m_info, _( "%s could assist you with a batch..." ), helper->name ); + add_msg( m_info, _( "%s could assist you with a batch…" ), helper->name ); } // NPCs around you understand the skill used better } else { helper->practice( making.skill_used, roll_remainder( base_practice / 10.0 ), skill_cap ); if( one_in( 3 ) ) { - add_msg( m_info, _( "%s watches you craft..." ), helper->name ); + add_msg( m_info, _( "%s watches you craft…" ), helper->name ); } } } @@ -914,7 +898,7 @@ double player::crafting_success_roll( const recipe &making ) const get_skill_level( making.skill_used ) ) { // NPC assistance is worth half a skill level skill_dice += 2; - add_msg_if_player( m_info, _( "%s helps with crafting..." ), np->name ); + add_msg_if_player( m_info, _( "%s helps with crafting…" ), np->name ); break; } } @@ -992,7 +976,7 @@ void item::set_next_failure_point( const player &crafter ) static void destroy_random_component( item &craft, const player &crafter ) { if( craft.components.empty() ) { - debugmsg( "destroy_random_component() called on craft with no components! Aborting" ); + debugmsg( "destroy_random_component() called on craft with no components! Aborting" ); return; } @@ -1002,15 +986,15 @@ static void destroy_random_component( item &craft, const player &crafter ) _( " messes up and destroys the %s" ), destroyed.tname() ); } -void item::handle_craft_failure( player &crafter ) +bool item::handle_craft_failure( player &crafter ) { if( !is_craft() ) { debugmsg( "handle_craft_failure() called on non-craft '%s.' Aborting.", tname() ); - return; + return false; } const double success_roll = crafter.crafting_success_roll( get_making() ); - + const int starting_components = this->components.size(); // Destroy at most 75% of the components, always a chance of losing 1 though const size_t max_destroyed = std::max( 1, components.size() * 3 / 4 ); for( size_t i = 0; i < max_destroyed; i++ ) { @@ -1024,6 +1008,10 @@ void item::handle_craft_failure( player &crafter ) } destroy_random_component( *this, crafter ); } + if( starting_components > 0 && this->components.empty() ) { + // The craft had components and all of them were destroyed. + return true; + } // Minimum 25% progress lost, average 35%. Falls off exponentially // Loss is scaled by the success roll @@ -1040,6 +1028,7 @@ void item::handle_craft_failure( player &crafter ) if( !crafter.can_continue_craft( *this ) ) { crafter.cancel_activity(); } + return false; } requirement_data item::get_continue_reqs() const @@ -1051,6 +1040,40 @@ requirement_data item::get_continue_reqs() const return requirement_data::continue_requirements( comps_used, components ); } +void item::inherit_flags( const item &parent ) +{ + //If item is crafted from poor-fit components, the result is poorly fitted too + if( parent.has_flag( "VARSIZE" ) ) { + unset_flag( "FIT" ); + } + //If item is crafted from perfect-fit components, the result is perfectly fitted too + if( parent.has_flag( "FIT" ) ) { + item_tags.insert( "FIT" ); + } + if( !has_flag( "NO_CRAFT_INHERIT" ) ) { + for( const std::string &f : parent.item_tags ) { + if( json_flag::get( f ).craft_inherit() ) { + set_flag( f ); + } + } + for( const std::string &f : parent.type->item_tags ) { + if( json_flag::get( f ).craft_inherit() ) { + set_flag( f ); + } + } + } + if( parent.has_flag( "HIDDEN_POISON" ) ) { + poison = parent.poison; + } +} + +void item::inherit_flags( const std::list &parents ) +{ + for( const item &parent : parents ) { + inherit_flags( parent ); + } +} + void player::complete_craft( item &craft, const tripoint &loc ) { if( !craft.is_craft() ) { @@ -1071,6 +1094,12 @@ void player::complete_craft( item &craft, const tripoint &loc ) bool first = true; size_t newit_counter = 0; for( item &newit : newits ) { + + // Points to newit unless newit is a non-empty container, then it points to newit's contents. + // Necessary for things like canning soup; sometimes we want to operate on the soup, not the can. + item &food_contained = ( newit.is_container() && !newit.contents.empty() ) ? + newit.contents.back() : newit; + // messages, learning of recipe, food spoilage calculation only once if( first ) { first = false; @@ -1098,41 +1127,24 @@ void player::complete_craft( item &craft, const tripoint &loc ) making.result_name() ); } } + } - //If item is crafted neither from poor-fit nor from perfect-fit components, and it can be refitted, the result is refitted by default - if( newit.has_flag( "VARSIZE" ) ) { - newit.item_tags.insert( "FIT" ); - } - - for( auto &component : used ) { - //If item is crafted from poor-fit components, the result is poorly fitted too - if( component.has_flag( "VARSIZE" ) ) { - newit.unset_flag( "FIT" ); - } - //If item is crafted from perfect-fit components, the result is perfectly fitted too - if( component.has_flag( "FIT" ) ) { - newit.item_tags.insert( "FIT" ); - } - if( component.has_flag( "HIDDEN_HALLU" ) ) { - newit.item_tags.insert( "HIDDEN_HALLU" ); - } - if( component.has_flag( "HIDDEN_POISON" ) ) { - newit.item_tags.insert( "HIDDEN_POISON" ); - newit.poison = component.poison; - } - } + //If item is crafted neither from poor-fit nor from perfect-fit components, and it can be refitted, the result is refitted by default + if( newit.has_flag( "VARSIZE" ) ) { + newit.item_tags.insert( "FIT" ); } + food_contained.inherit_flags( used ); // Don't store components for things made by charges, // Don't store components for things that can't be uncrafted. - if( recipe_dictionary::get_uncraft( making.result() ) && !newit.count_by_charges() && + if( recipe_dictionary::get_uncraft( making.result() ) && !food_contained.count_by_charges() && making.is_reversible() ) { // Setting this for items counted by charges gives only problems: // those items are automatically merged everywhere (map/vehicle/inventory), // which would either lose this information or merge it somehow. - set_components( newit.components, used, batch_size, newit_counter ); + set_components( food_contained.components, used, batch_size, newit_counter ); newit_counter++; - } else if( newit.is_food() && !newit.has_flag( "NUTRIENT_OVERRIDE" ) ) { + } else if( food_contained.is_food() && !food_contained.has_flag( "NUTRIENT_OVERRIDE" ) ) { // if a component item has "cooks_like" it will be replaced by that item as a component for( item &comp : used ) { // only comestibles have cooks_like. any other type of item will throw an exception, so filter those out @@ -1148,27 +1160,25 @@ void player::complete_craft( item &craft, const tripoint &loc ) } } // store components for food recipes that do not have the override flag - set_components( newit.components, used, batch_size, newit_counter ); - // store the number of charges the recipe creates - newit.recipe_charges = newit.charges / batch_size; + set_components( food_contained.components, used, batch_size, newit_counter ); + + // store the number of charges the recipe would create with batch size 1. + if( &newit != &food_contained ) { // If a canned/contained item was crafted… + // … the container holds exactly one completion of the recipe, no matter the batch size. + food_contained.recipe_charges = food_contained.charges; + } else { // Otherwise, the item is already stacked so we need to divide by batch size. + newit.recipe_charges = newit.charges / batch_size; + } newit_counter++; } - if( newit.goes_bad() ) { - newit.set_relative_rot( relative_rot ); - } else { - if( newit.is_container() ) { - for( item &in : newit.contents ) { - if( in.goes_bad() ) { - in.set_relative_rot( relative_rot ); - } - } - } + if( food_contained.goes_bad() ) { + food_contained.set_relative_rot( relative_rot ); } - if( newit.has_temperature() ) { + if( food_contained.has_temperature() ) { if( should_heat ) { - newit.heat_up(); + food_contained.heat_up(); } else { // Really what we should be doing is averaging the temperatures // between the recipe components if we don't have a heat tool, but @@ -1177,12 +1187,17 @@ void player::complete_craft( item &craft, const tripoint &loc ) // forget byproducts below either when you fix this. // // Temperature is not functional for non-foods - newit.set_item_temperature( 293.15 ); - newit.reset_temp_check(); + food_contained.set_item_temperature( 293.15 ); + food_contained.reset_temp_check(); } } - finalize_crafted_item( newit, get_faction() ); + newit.set_owner( get_faction()->id ); + // If these aren't equal, newit is a container, so finalize its contents too. + if( &newit != &food_contained ) { + food_contained.set_owner( get_faction()->id ); + } + if( newit.made_of( LIQUID ) ) { liquid_handler::handle_all_liquid( newit, PICKUP_RANGE ); } else if( loc == tripoint_zero ) { @@ -1206,7 +1221,7 @@ void player::complete_craft( item &craft, const tripoint &loc ) bp.reset_temp_check(); } } - finalize_crafted_item( bp, get_faction() ); + bp.set_owner( get_faction()->id ); if( bp.made_of( LIQUID ) ) { liquid_handler::handle_all_liquid( bp, PICKUP_RANGE ); } else if( loc == tripoint_zero ) { diff --git a/src/crafting_gui.cpp b/src/crafting_gui.cpp index 7be561a7d8117..6e7a0046293d5 100644 --- a/src/crafting_gui.cpp +++ b/src/crafting_gui.cpp @@ -646,8 +646,12 @@ const recipe *select_crafting_recipe( int &batch_size ) } if( isWide ) { - draw_item_info( w_iteminfo, tmp.tname(), tmp.type_name(), thisItem, dummy, - scroll_pos, true, true, true, false, true ); + item_info_data data( tmp.tname(), tmp.type_name(), thisItem, dummy, scroll_pos ); + data.without_getch = true; + data.without_border = true; + data.scrollbar_left = false; + data.use_full_win = true; + draw_item_info( w_iteminfo, data ); } } diff --git a/src/crash.cpp b/src/crash.cpp index 46013488fea90..d6c96ad92d82d 100644 --- a/src/crash.cpp +++ b/src/crash.cpp @@ -55,7 +55,8 @@ extern "C" { static SYMBOL_INFO *const sym = reinterpret_cast( &sym_storage ); // compose message ourselves to avoid potential dynamical allocation. - static void append_str( FILE *file, char **beg, char *end, const char *from ) + static void append_str( FILE *const file, char **const beg, const char *const end, + const char *from ) { fputs( from, stderr ); if( file ) { @@ -66,7 +67,7 @@ extern "C" { } } - static void append_ch( FILE *file, char **beg, char *end, char ch ) + static void append_ch( FILE *const file, char **const beg, const char *const end, const char ch ) { fputc( ch, stderr ); if( file ) { @@ -78,7 +79,8 @@ extern "C" { } } - static void append_uint( FILE *file, char **beg, char *end, uintmax_t value ) + static void append_uint( FILE *const file, char **const beg, const char *const end, + const uintmax_t value ) { if( value != 0 ) { int cnt = 0; @@ -93,22 +95,22 @@ extern "C" { } } - static void append_ptr( FILE *file, char **beg, char *end, void *p ) + static void append_ptr( FILE *const file, char **const beg, const char *const end, void *const p ) { append_uint( file, beg, end, uintptr_t( p ) ); } static void dump_to( const char *file ) { - HANDLE handle = CreateFile( file, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, - FILE_ATTRIBUTE_NORMAL, NULL ); + HANDLE handle = CreateFile( file, GENERIC_WRITE, 0, nullptr, CREATE_ALWAYS, + FILE_ATTRIBUTE_NORMAL, nullptr ); // TODO: call from a separate process as suggested by the documentation // TODO: capture stack trace and pass as parameter as suggested by the documentation MiniDumpWriteDump( GetCurrentProcess(), GetCurrentProcessId(), handle, MiniDumpNormal, - NULL, NULL, NULL ); + nullptr, nullptr, nullptr ); CloseHandle( handle ); } @@ -129,7 +131,7 @@ extern "C" { append_str( file, &beg, end, "\nSTACK TRACE:\n" ); sym->SizeOfStruct = sizeof( SYMBOL_INFO ); sym->MaxNameLen = MAX_NAME_LEN; - USHORT num_bt = CaptureStackBackTrace( 0, BT_CNT, bt, NULL ); + USHORT num_bt = CaptureStackBackTrace( 0, BT_CNT, bt, nullptr ); HANDLE proc = GetCurrentProcess(); for( USHORT i = 0; i < num_bt; ++i ) { DWORD64 off; @@ -164,7 +166,7 @@ extern "C" { } *beg = '\0'; #if defined(TILES) - if( SDL_ShowSimpleMessageBox( SDL_MESSAGEBOX_ERROR, "Error", buf, NULL ) != 0 ) { + if( SDL_ShowSimpleMessageBox( SDL_MESSAGEBOX_ERROR, "Error", buf, nullptr ) != 0 ) { append_str( file, &beg, end, "Error creating SDL message box: " ); append_str( file, &beg, end, SDL_GetError() ); append_ch( file, &beg, end, '\n' ); @@ -209,7 +211,7 @@ extern "C" { void init_crash_handlers() { - SymInitialize( GetCurrentProcess(), NULL, TRUE ); + SymInitialize( GetCurrentProcess(), nullptr, TRUE ); for( auto sig : { SIGSEGV, SIGILL, SIGABRT, SIGFPE } ) { @@ -228,24 +230,13 @@ void init_crash_handlers() extern "C" { - static const char *get_crash_log_file_name() - { - auto crash_it = FILENAMES.find( "crash" ); - if( crash_it != FILENAMES.end() ) { - return crash_it->second.c_str(); - } - // If we failed to get the FILENAMES entry then just write to cwd, - // since we don't know whether any other directory would exist. - return "crash.log"; - } - static void log_crash( const char *type, const char *msg ) { // This implementation is not technically async-signal-safe for many // reasons, including the memory allocations and the SDL message box. // But it should usually work in practice, unless for example the // program segfaults inside malloc. - const char *crash_log_file = get_crash_log_file_name(); + const std::string crash_log_file = PATH_INFO::crash(); std::ostringstream log_text; log_text << "The program has crashed." << "\nSee the log file for a stack trace." @@ -262,7 +253,7 @@ extern "C" { log_text << "\nSTACK TRACE:\n"; debug_write_backtrace( log_text ); std::cerr << log_text.str(); - FILE *file = fopen( crash_log_file, "w" ); + FILE *file = fopen( crash_log_file.c_str(), "w" ); if( file ) { fwrite( log_text.str().data(), 1, log_text.str().size(), file ); fclose( file ); diff --git a/src/creature.cpp b/src/creature.cpp index 72bcd3ecee4d7..81a9e80f760cd 100644 --- a/src/creature.cpp +++ b/src/creature.cpp @@ -127,6 +127,7 @@ void Creature::reset_bonuses() hit_bonus = 0; bash_bonus = 0; cut_bonus = 0; + size_bonus = 0; bash_mult = 1.0f; cut_mult = 1.0f; @@ -197,15 +198,15 @@ bool Creature::sees( const Creature &critter ) const } // This check is ridiculously expensive so defer it to after everything else. - auto visible = []( const player * p ) { - return p == nullptr || !p->is_invisible(); + auto visible = []( const Character * ch ) { + return ch == nullptr || !ch->is_invisible(); }; - const player *p = critter.as_player(); + const Character *ch = critter.as_character(); const int wanted_range = rl_dist( pos(), critter.pos() ); if( wanted_range <= 1 && ( posz() == critter.posz() || g->m.valid_move( pos(), critter.pos(), false, true ) ) ) { - return visible( p ); + return visible( ch ); } else if( ( wanted_range > 1 && critter.digging() ) || ( critter.has_flag( MF_NIGHT_INVISIBILITY ) && g->m.light_at( critter.pos() ) <= LL_LOW ) || ( critter.is_underwater() && !is_underwater() && g->m.is_divable( critter.pos() ) ) || @@ -214,14 +215,14 @@ bool Creature::sees( const Creature &critter ) const abs( posz() - critter.posz() ) <= 1 ) ) ) { return false; } - if( p != nullptr ) { - if( p->movement_mode_is( PMM_CROUCH ) ) { + if( ch != nullptr ) { + if( ch->movement_mode_is( CMM_CROUCH ) ) { const int coverage = g->m.obstacle_coverage( pos(), critter.pos() ); if( coverage < 30 ) { - return sees( critter.pos(), critter.is_player() ) && visible( p ); + return sees( critter.pos(), critter.is_avatar() ) && visible( ch ); } float size_modifier = 1.0; - switch( p->get_size() ) { + switch( ch->get_size() ) { case MS_TINY: size_modifier = 2.0; break; @@ -239,15 +240,15 @@ bool Creature::sees( const Creature &critter ) const } const int vision_modifier = 30 - 0.5 * coverage * size_modifier; if( vision_modifier > 1 ) { - return sees( critter.pos(), critter.is_player(), vision_modifier ) && visible( p ); + return sees( critter.pos(), critter.is_avatar(), vision_modifier ) && visible( ch ); } return false; } } - return sees( critter.pos(), p != nullptr ) && visible( p ); + return sees( critter.pos(), critter.is_avatar() ) && visible( ch ); } -bool Creature::sees( const tripoint &t, bool is_player, int range_mod ) const +bool Creature::sees( const tripoint &t, bool is_avatar, int range_mod ) const { if( !fov_3d && posz() != t.z ) { return false; @@ -274,7 +275,7 @@ bool Creature::sees( const tripoint &t, bool is_player, int range_mod ) const if( range_mod > 0 ) { range = std::min( range, range_mod ); } - if( is_player ) { + if( is_avatar ) { // Special case monster -> player visibility, forcing it to be symmetric with player vision. const float player_visibility_factor = g->u.visibility() / 100.0f; int adj_range = std::floor( range * player_visibility_factor ); @@ -1473,6 +1474,7 @@ void Creature::set_armor_cut_bonus( int ncutarm ) armor_cut_bonus = ncutarm; } + void Creature::set_speed_base( int nspeed ) { speed_base = nspeed; @@ -1485,6 +1487,7 @@ void Creature::set_dodge_bonus( float ndodge ) { dodge_bonus = ndodge; } + void Creature::set_block_bonus( int nblock ) { block_bonus = nblock; @@ -1525,6 +1528,10 @@ void Creature::mod_cut_bonus( int ncut ) { cut_bonus += ncut; } +void Creature::mod_size_bonus( int nsize ) +{ + size_bonus += nsize; +} void Creature::set_bash_mult( float nbashmult ) { diff --git a/src/creature.h b/src/creature.h index 1f328609ff683..d704cee54f85d 100644 --- a/src/creature.h +++ b/src/creature.h @@ -50,7 +50,7 @@ struct pathfinding_settings; struct trap; enum m_size : int { - MS_TINY = 0, // Squirrel + MS_TINY = 1, // Squirrel MS_SMALL, // Dog MS_MEDIUM, // Human MS_LARGE, // Cow @@ -72,7 +72,8 @@ class Creature // Like disp_name, but without any "the" virtual std::string get_name() const = 0; - virtual std::string disp_name( bool possessive = false ) const = 0; // displayname for Creature + virtual std::string disp_name( bool possessive = false, + bool capitalize_first = false ) const = 0; // displayname for Creature virtual std::string skin_name() const = 0; // name of outer layer, e.g. "armor plates" virtual std::vector get_grammatical_genders() const; @@ -180,7 +181,7 @@ class Creature */ /*@{*/ virtual bool sees( const Creature &critter ) const; - virtual bool sees( const tripoint &t, bool is_player = false, int range_mod = 0 ) const; + virtual bool sees( const tripoint &t, bool is_avatar = false, int range_mod = 0 ) const; /*@}*/ /** @@ -342,7 +343,7 @@ class Creature /** Removes a listed effect. bp = num_bp means to remove all effects of * a given type, targeted or untargeted. Returns true if anything was * removed. */ - bool remove_effect( const efftype_id &eff_id, body_part bp = num_bp ); + virtual bool remove_effect( const efftype_id &eff_id, body_part bp = num_bp ); /** Remove all effects. */ void clear_effects(); /** Check if creature has the matching effect. bp = num_bp means to check if the Creature has any effect @@ -488,6 +489,7 @@ class Creature virtual void mod_block_bonus( int nblock ); virtual void mod_bash_bonus( int nbash ); virtual void mod_cut_bonus( int ncut ); + virtual void mod_size_bonus( int nsize ); virtual void set_dodge_bonus( float ndodge ); virtual void set_hit_bonus( float nhit ); @@ -745,7 +747,6 @@ class Creature int armor_bash_bonus; int armor_cut_bonus; - int speed_base; // only speed needs a base, the rest are assumed at 0 and calculated off skills int speed_bonus; @@ -754,6 +755,7 @@ class Creature float hit_bonus; int bash_bonus; int cut_bonus; + int size_bonus; float bash_mult; float cut_mult; diff --git a/src/cursesport.h b/src/cursesport.h index 9b1cd1c13cf4c..73ef2482917c3 100644 --- a/src/cursesport.h +++ b/src/cursesport.h @@ -85,6 +85,7 @@ int projected_window_width(); int projected_window_height(); bool handle_resize( int w, int h ); int get_scaling_factor(); +void handle_redraw(); #endif #endif diff --git a/src/debug.cpp b/src/debug.cpp index 4483695b8b96d..c898f192741c1 100644 --- a/src/debug.cpp +++ b/src/debug.cpp @@ -136,7 +136,7 @@ void realDebugmsg( const char *filename, const char *line, const char *funcname, std::string backtrace_instructions = string_format( _( "See %s for a full stack backtrace" ), - FILENAMES["debug"] + PATH_INFO::debug() ); #endif @@ -416,7 +416,7 @@ void setupDebug( DebugOutput output_mode ) limitDebugClass( cl ); } - debugFile.init( output_mode, FILENAMES["debug"] ); + debugFile.init( output_mode, PATH_INFO::debug() ); } void deinitDebug() @@ -583,7 +583,7 @@ void debug_write_backtrace( std::ostream &out ) #if defined(_WIN32) sym.SizeOfStruct = sizeof( SYMBOL_INFO ); sym.MaxNameLen = max_name_len; - USHORT num_bt = CaptureStackBackTrace( 0, bt_cnt, bt, NULL ); + USHORT num_bt = CaptureStackBackTrace( 0, bt_cnt, bt, nullptr ); HANDLE proc = GetCurrentProcess(); for( USHORT i = 0; i < num_bt; ++i ) { DWORD64 off; @@ -622,7 +622,7 @@ void debug_write_backtrace( std::ostream &out ) for( int i = 0; i < count; ++i ) { out << "\n " << funcNames[i]; } - out << "\n\n Attempting to repeat stack trace using debug symbols...\n"; + out << "\n\n Attempting to repeat stack trace using debug symbols…\n"; // Try to print the backtrace again, but this time using addr2line // to extract debug info and thus get a more detailed / useful // version. If addr2line is not available this will just fail, @@ -665,7 +665,7 @@ void debug_write_backtrace( std::ostream &out ) if( src == buf_end ) { src = buf; } else { - out.write( "...", 3 ); + out << "…"; } out.write( src, strlen( src ) ); } @@ -925,7 +925,7 @@ static std::string linux_version() // replace '\n' and '\t' in output. static const std::vector> to_replace = { {"\n", "; "}, - {"\t", " "}, + {"\t", " "}, // NOLINT(cata-text-style) }; for( const auto &e : to_replace ) { std::string::size_type pos; diff --git a/src/debug.h b/src/debug.h index 8832703e9fc9b..2582942e76502 100644 --- a/src/debug.h +++ b/src/debug.h @@ -24,7 +24,7 @@ * DebugLog always returns a stream that starts on a new line. Don't add a * newline at the end of your debug message. * If the specific debug level or class have been disabled, the message is - * actually discarded, otherwise it is written to a log file (FILENAMES["debug"]). + * actually discarded, otherwise it is written to a log file. * If a single source file contains mostly messages for the same debug class * (e.g. mapgen.cpp), create and use the macro dbg. * diff --git a/src/debug_menu.cpp b/src/debug_menu.cpp index 335b7fdf1c37d..24e9d0005e45c 100644 --- a/src/debug_menu.cpp +++ b/src/debug_menu.cpp @@ -92,6 +92,7 @@ class vehicle; #define dbg(x) DebugLog((x),D_GAME) << __FILE__ << ":" << __LINE__ << ": " const efftype_id effect_riding( "riding" ); +const efftype_id effect_flu( "flu" ); namespace debug_menu { @@ -135,12 +136,14 @@ enum debug_menu_index { DEBUG_MAP_EXTRA, DEBUG_DISPLAY_NPC_PATH, DEBUG_PRINT_FACTION_INFO, + DEBUG_PRINT_NPC_MAGIC, DEBUG_QUIT_NOSAVE, DEBUG_TEST_WEATHER, DEBUG_SAVE_SCREENSHOT, DEBUG_GAME_REPORT, DEBUG_DISPLAY_SCENTS_LOCAL, DEBUG_DISPLAY_TEMP, + DEBUG_DISPLAY_VEHICLE_AI, DEBUG_DISPLAY_VISIBILITY, DEBUG_DISPLAY_LIGHTING, DEBUG_DISPLAY_RADIATION, @@ -179,7 +182,7 @@ static int player_uilist() _( "Level a spell" ) ) ); } - return uilist( _( "Player..." ), uilist_initializer ); + return uilist( _( "Player…" ), uilist_initializer ); } static int info_uilist( bool display_all_entries = true ) @@ -200,6 +203,7 @@ static int info_uilist( bool display_all_entries = true ) { uilist_entry( DEBUG_DISPLAY_SCENTS, true, 'S', _( "Display overmap scents" ) ) }, { uilist_entry( DEBUG_DISPLAY_SCENTS_LOCAL, true, 's', _( "Toggle display local scents" ) ) }, { uilist_entry( DEBUG_DISPLAY_TEMP, true, 'T', _( "Toggle display temperature" ) ) }, + { uilist_entry( DEBUG_DISPLAY_VEHICLE_AI, true, 'V', _( "Toggle display vehicle autopilot overlay" ) ) }, { uilist_entry( DEBUG_DISPLAY_VISIBILITY, true, 'v', _( "Toggle display visibility" ) ) }, { uilist_entry( DEBUG_DISPLAY_LIGHTING, true, 'l', _( "Toggle display lighting" ) ) }, { uilist_entry( DEBUG_DISPLAY_RADIATION, true, 'R', _( "Toggle display radiation" ) ) }, @@ -210,13 +214,14 @@ static int info_uilist( bool display_all_entries = true ) { uilist_entry( DEBUG_CRASH_GAME, true, 'C', _( "Crash game (test crash handling)" ) ) }, { uilist_entry( DEBUG_DISPLAY_NPC_PATH, true, 'n', _( "Toggle NPC pathfinding on map" ) ) }, { uilist_entry( DEBUG_PRINT_FACTION_INFO, true, 'f', _( "Print faction info to console" ) ) }, + { uilist_entry( DEBUG_PRINT_NPC_MAGIC, true, 'M', _( "Print NPC magic info to console" ) ) }, { uilist_entry( DEBUG_TEST_WEATHER, true, 'W', _( "Test weather" ) ) }, }; uilist_initializer.insert( uilist_initializer.begin(), debug_only_options.begin(), debug_only_options.end() ); } - return uilist( _( "Info..." ), uilist_initializer ); + return uilist( _( "Info…" ), uilist_initializer ); } static int teleport_uilist() @@ -227,7 +232,7 @@ static int teleport_uilist() { uilist_entry( DEBUG_OM_TELEPORT, true, 'o', _( "Teleport - adjacent overmap" ) ) }, }; - return uilist( _( "Teleport..." ), uilist_initializer ); + return uilist( _( "Teleport…" ), uilist_initializer ); } static int spawning_uilist() @@ -241,7 +246,7 @@ static int spawning_uilist() { uilist_entry( DEBUG_SPAWN_CLAIRVOYANCE, true, 'c', _( "Spawn clairvoyance artifact" ) ) }, }; - return uilist( _( "Spawning..." ), uilist_initializer ); + return uilist( _( "Spawning…" ), uilist_initializer ); } static int map_uilist() @@ -259,7 +264,7 @@ static int map_uilist() { uilist_entry( DEBUG_MAP_EXTRA, true, 'm', _( "Spawn map extra" ) ) }, }; - return uilist( _( "Map..." ), uilist_initializer ); + return uilist( _( "Map…" ), uilist_initializer ); } /** @@ -271,16 +276,16 @@ static int map_uilist() static int debug_menu_uilist( bool display_all_entries = true ) { std::vector menu = { - { uilist_entry( 1, true, 'i', _( "Info..." ) ) }, + { uilist_entry( 1, true, 'i', _( "Info…" ) ) }, }; if( display_all_entries ) { const std::vector debug_menu = { { uilist_entry( DEBUG_QUIT_NOSAVE, true, 'Q', _( "Quit to main menu" ) ) }, - { uilist_entry( 2, true, 's', _( "Spawning..." ) ) }, - { uilist_entry( 3, true, 'p', _( "Player..." ) ) }, - { uilist_entry( 4, true, 't', _( "Teleport..." ) ) }, - { uilist_entry( 5, true, 'm', _( "Map..." ) ) }, + { uilist_entry( 2, true, 's', _( "Spawning…" ) ) }, + { uilist_entry( 3, true, 'p', _( "Player…" ) ) }, + { uilist_entry( 4, true, 't', _( "Teleport…" ) ) }, + { uilist_entry( 5, true, 'm', _( "Map…" ) ) }, }; // insert debug-only menu right after "Info". @@ -431,7 +436,7 @@ void character_edit_menu() enum { D_NAME, D_SKILLS, D_STATS, D_ITEMS, D_DELETE_ITEMS, D_ITEM_WORN, D_HP, D_STAMINA, D_MORALE, D_PAIN, D_NEEDS, D_HEALTHY, D_STATUS, D_MISSION_ADD, D_MISSION_EDIT, - D_TELE, D_MUTATE, D_CLASS, D_ATTITUDE, D_OPINION + D_TELE, D_MUTATE, D_CLASS, D_ATTITUDE, D_OPINION, D_FLU }; nmenu.addentry( D_NAME, true, 'N', "%s", _( "Edit [N]ame" ) ); nmenu.addentry( D_SKILLS, true, 's', "%s", _( "Edit [s]kills" ) ); @@ -449,6 +454,7 @@ void character_edit_menu() nmenu.addentry( D_MUTATE, true, 'u', "%s", _( "M[u]tate" ) ); nmenu.addentry( D_STATUS, true, '@', "%s", _( "Status Window [@]" ) ); nmenu.addentry( D_TELE, true, 'e', "%s", _( "t[e]leport" ) ); + nmenu.addentry( D_FLU, true, 'f', "%s", _( "Give the [f]lu" ) ); nmenu.addentry( D_MISSION_EDIT, true, 'M', "%s", _( "Edit [M]issions (WARNING: Unstable!)" ) ); if( p.is_npc() ) { nmenu.addentry( D_MISSION_ADD, true, 'm', "%s", _( "Add [m]ission" ) ); @@ -564,10 +570,10 @@ void character_edit_menu() break; case D_STAMINA: int value; - if( query_int( value, _( "Set stamina to? Current: %d. Max: %d." ), p.stamina, + if( query_int( value, _( "Set stamina to? Current: %d. Max: %d." ), p.get_stamina(), p.get_stamina_max() ) ) { if( value >= 0 && value <= p.get_stamina_max() ) { - p.stamina = value; + p.set_stamina( value ); } else { add_msg( m_bad, _( "Target stamina value out of bounds!" ) ); } @@ -814,6 +820,11 @@ void character_edit_menu() np->set_attitude( attitudes[attitudes_ui.ret] ); } } + break; + case D_FLU: { + p.add_effect( effect_flu, 1000_minutes ); + break; + } } } @@ -1104,11 +1115,11 @@ void debug() std::string stom = _( "Stomach Contents: %d ml / %d ml kCal: %d, Water: %d ml" ); add_msg( m_info, stom.c_str(), units::to_milliliter( u.stomach.contains() ), - units::to_milliliter( u.stomach.capacity() ), u.stomach.get_calories(), + units::to_milliliter( u.stomach.capacity( u ) ), u.stomach.get_calories(), units::to_milliliter( u.stomach.get_water() ), u.get_hunger() ); stom = _( "Guts Contents: %d ml / %d ml kCal: %d, Water: %d ml\nHunger: %d, Thirst: %d, kCal: %d / %d" ); add_msg( m_info, stom.c_str(), units::to_milliliter( u.guts.contains() ), - units::to_milliliter( u.guts.capacity() ), u.guts.get_calories(), + units::to_milliliter( u.guts.capacity( u ) ), u.guts.get_calories(), units::to_milliliter( u.guts.get_water() ), u.get_hunger(), u.get_thirst(), u.get_stored_kcal(), u.get_healthy_kcal() ); add_msg( m_info, _( "Body Mass Index: %.0f\nBasal Metabolic Rate: %i" ), u.get_bmi(), u.get_bmr() ); @@ -1135,24 +1146,28 @@ void debug() dbg( D_ERROR ) << "game:load: There's already vehicle here"; debugmsg( "There's already vehicle here" ); } else { - std::vector veh_strings; + // Vector of name, id so that we can sort by name + std::vector> veh_strings; + for( auto &elem : vehicle_prototype::get_all() ) { + if( elem == vproto_id( "custom" ) ) { + continue; + } + veh_strings.emplace_back( elem->name, elem ); + } + std::sort( veh_strings.begin(), veh_strings.end() ); uilist veh_menu; veh_menu.text = _( "Choose vehicle to spawn" ); int menu_ind = 0; - for( auto &elem : vehicle_prototype::get_all() ) { - if( elem != vproto_id( "custom" ) ) { - const vehicle_prototype &proto = elem.obj(); - veh_strings.push_back( elem ); - //~ Menu entry in vehicle wish menu: 1st string: displayed name, 2nd string: internal name of vehicle - veh_menu.addentry( menu_ind, true, MENU_AUTOASSIGN, _( "%1$s (%2$s)" ), _( proto.name ), - elem.c_str() ); - ++menu_ind; - } + for( auto &elem : veh_strings ) { + //~ Menu entry in vehicle wish menu: 1st string: displayed name, 2nd string: internal name of vehicle + veh_menu.addentry( menu_ind, true, MENU_AUTOASSIGN, _( "%1$s (%2$s)" ), + _( elem.first ), elem.second.c_str() ); + ++menu_ind; } veh_menu.query(); if( veh_menu.ret >= 0 && veh_menu.ret < static_cast( veh_strings.size() ) ) { //Didn't cancel - const vproto_id &selected_opt = veh_strings[veh_menu.ret]; + const vproto_id &selected_opt = veh_strings[veh_menu.ret].second; tripoint dest = u.pos(); // TODO: Allow picking this when add_vehicle has 3d argument vehicle *veh = m.add_vehicle( selected_opt, dest.xy(), -90, 100, 0 ); if( veh != nullptr ) { @@ -1172,7 +1187,7 @@ void debug() add_msg( _( "Your eyes blink rapidly as knowledge floods your brain." ) ); for( auto &style : all_martialart_types() ) { if( style != matype_id( "style_none" ) ) { - u.add_martialart( style ); + u.martial_arts_data.add_martialart( style ); } } add_msg( m_good, _( "You now know a lot more than just 10 styles of kung fu." ) ); @@ -1290,9 +1305,40 @@ void debug() // Damage Self case DEBUG_DAMAGE_SELF: { + uilist smenu; + smenu.addentry( 0, true, 'q', "%s: %d", _( "Torso" ), u.hp_cur[hp_torso] ); + smenu.addentry( 1, true, 'w', "%s: %d", _( "Head" ), u.hp_cur[hp_head] ); + smenu.addentry( 2, true, 'a', "%s: %d", _( "Left arm" ), u.hp_cur[hp_arm_l] ); + smenu.addentry( 3, true, 's', "%s: %d", _( "Right arm" ), u.hp_cur[hp_arm_r] ); + smenu.addentry( 4, true, 'z', "%s: %d", _( "Left leg" ), u.hp_cur[hp_leg_l] ); + smenu.addentry( 5, true, 'x', "%s: %d", _( "Right leg" ), u.hp_cur[hp_leg_r] ); + smenu.query(); + body_part part; int dbg_damage; - if( query_int( dbg_damage, _( "Damage self for how much? hp: %d" ), u.hp_cur[hp_torso] ) ) { - u.hp_cur[hp_torso] -= dbg_damage; + switch( smenu.ret ) { + case 0: + part = bp_torso; + break; + case 1: + part = bp_head; + break; + case 2: + part = bp_arm_l; + break; + case 3: + part = bp_arm_r; + break; + case 4: + part = bp_leg_l; + break; + case 5: + part = bp_leg_r; + break; + default: + break; + } + if( query_int( dbg_damage, _( "Damage self for how much? hp: %d" ), part ) ) { + u.apply_damage( nullptr, part, dbg_damage ); u.die( nullptr ); } } @@ -1332,6 +1378,9 @@ void debug() case DEBUG_DISPLAY_TEMP: g->display_toggle_overlay( ACTION_DISPLAY_TEMPERATURE ); break; + case DEBUG_DISPLAY_VEHICLE_AI: + g->display_toggle_overlay( ACTION_DISPLAY_VEHICLE_AI ); + break; case DEBUG_DISPLAY_VISIBILITY: g->display_toggle_overlay( ACTION_DISPLAY_VISIBILITY ); break; @@ -1492,6 +1541,27 @@ void debug() std::cout << "Player faction is " << g->u.get_faction()->id.str() << std::endl; break; } + case DEBUG_PRINT_NPC_MAGIC: { + for( npc &guy : g->all_npcs() ) { + const std::vector spells = guy.magic.spells(); + if( spells.empty() ) { + std::cout << guy.disp_name() << " does not know any spells." << std::endl; + continue; + } + std::cout << guy.disp_name() << "knows : "; + int counter = 1; + for( const spell_id sp : spells ) { + std::cout << sp->name.translated() << " "; + if( counter < static_cast( spells.size() ) ) { + std::cout << "and "; + } else { + std::cout << "." << std::endl; + } + counter++; + } + } + break; + } case DEBUG_QUIT_NOSAVE: if( query_yn( _( "Quit without saving? This may cause issues such as duplicated or missing items and vehicles!" ) ) ) { @@ -1500,8 +1570,7 @@ void debug() } break; case DEBUG_TEST_WEATHER: { - weather_generator weathergen; - weathergen.test_weather(); + g->weather.get_cur_weather_gen().test_weather( g->get_seed() ); } break; @@ -1571,7 +1640,11 @@ void debug() std::vector uiles; { uilist_entry uile( _( "Spell" ) ); - uile.ctxt = string_format( "%3s %3s", _( "LVL" ), _( "MAX" ) ); + uile.ctxt = string_format( "%s %s", + //~ translation should not exceed 4 console cells + right_justify( _( "LVL" ), 4 ), + //~ translation should not exceed 4 console cells + right_justify( _( "MAX" ), 4 ) ); uile.enabled = false; uile.force_color = c_light_blue; uiles.emplace_back( uile ); @@ -1579,7 +1652,7 @@ void debug() int retval = 0; for( spell *sp : spells ) { uilist_entry uile( sp->name() ); - uile.ctxt = string_format( "%3d %3d", sp->get_level(), sp->get_max_level() ); + uile.ctxt = string_format( "%4d %4d", sp->get_level(), sp->get_max_level() ); uile.retval = retval++; uile.enabled = !sp->is_max_level(); uiles.emplace_back( uile ); diff --git a/src/defense.cpp b/src/defense.cpp index 5a2ff784168bb..b8ac084241b19 100644 --- a/src/defense.cpp +++ b/src/defense.cpp @@ -134,7 +134,7 @@ void defense_game::per_turn() if( calendar::once_every( time_between_waves ) ) { current_wave++; if( current_wave > 1 && current_wave % waves_between_caravans == 0 ) { - popup( _( "A caravan approaches! Press spacebar..." ) ); + popup( _( "A caravan approaches! Press spacebar…" ) ); caravan(); } spawn_wave(); @@ -1261,6 +1261,7 @@ void draw_caravan_borders( const catacurses::window &w, int current_window ) mvwputch( w, point( FULL_SCREEN_WIDTH - 1, FULL_SCREEN_HEIGHT - 1 ), col, LINE_XOOX ); // Quick reminded about help. + // NOLINTNEXTLINE(cata-text-style): literal question mark mvwprintz( w, point( 2, FULL_SCREEN_HEIGHT - 1 ), c_red, _( "Press ? for help." ) ); wrefresh( w ); } diff --git a/src/descriptions.cpp b/src/descriptions.cpp index ceb2cc3ac4f5b..770cbe9b58130 100644 --- a/src/descriptions.cpp +++ b/src/descriptions.cpp @@ -98,6 +98,7 @@ void game::extended_description( const tripoint &p ) std::string signage = m.get_signage( p ); if( !signage.empty() ) { + // NOLINTNEXTLINE(cata-text-style): the question mark does not end a sentence desc += u.has_trait( trait_ILLITERATE ) ? _( "\nSign: ???" ) : string_format( _( "\nSign: %s" ), signage ); } diff --git a/src/dialogue.h b/src/dialogue.h index 4a3c77c1ca2c9..c600897c2bc54 100644 --- a/src/dialogue.h +++ b/src/dialogue.h @@ -70,7 +70,7 @@ struct talk_trial { bool roll( dialogue &d ) const; talk_trial() = default; - talk_trial( JsonObject ); + talk_trial( JsonObject & ); }; struct talk_topic { @@ -94,20 +94,20 @@ struct talk_effect_fun_t { talk_effect_fun_t( std::function ); talk_effect_fun_t( std::function ); void set_companion_mission( const std::string &role_id ); - void set_add_effect( JsonObject jo, const std::string &member, bool is_npc = false ); - void set_remove_effect( JsonObject jo, const std::string &member, bool is_npc = false ); - void set_add_trait( JsonObject jo, const std::string &member, bool is_npc = false ); - void set_remove_trait( JsonObject jo, const std::string &member, bool is_npc = false ); - void set_add_var( JsonObject jo, const std::string &member, bool is_npc = false ); - void set_remove_var( JsonObject jo, const std::string &member, bool is_npc = false ); - void set_adjust_var( JsonObject jo, const std::string &member, bool is_npc = false ); + void set_add_effect( JsonObject &jo, const std::string &member, bool is_npc = false ); + void set_remove_effect( JsonObject &jo, const std::string &member, bool is_npc = false ); + void set_add_trait( JsonObject &jo, const std::string &member, bool is_npc = false ); + void set_remove_trait( JsonObject &jo, const std::string &member, bool is_npc = false ); + void set_add_var( JsonObject &jo, const std::string &member, bool is_npc = false ); + void set_remove_var( JsonObject &jo, const std::string &member, bool is_npc = false ); + void set_adjust_var( JsonObject &jo, const std::string &member, bool is_npc = false ); void set_u_buy_item( const std::string &item_name, int cost, int count, const std::string &container_name ); void set_u_spend_cash( int amount ); void set_u_sell_item( const std::string &item_name, int cost, int count ); - void set_consume_item( JsonObject jo, const std::string &member, int count, + void set_consume_item( JsonObject &jo, const std::string &member, int count, bool is_npc = false ); - void set_remove_item_with( JsonObject jo, const std::string &member, bool is_npc = false ); + void set_remove_item_with( JsonObject &jo, const std::string &member, bool is_npc = false ); void set_npc_change_faction( const std::string &faction_name ); void set_npc_change_class( const std::string &class_name ); void set_change_faction_rep( int rep_change ); @@ -119,7 +119,7 @@ struct talk_effect_fun_t { void set_npc_aim_rule( const std::string &setting ); void set_npc_cbm_reserve_rule( const std::string &setting ); void set_npc_cbm_recharge_rule( const std::string &setting ); - void set_mapgen_update( JsonObject jo, const std::string &member ); + void set_mapgen_update( JsonObject &jo, const std::string &member ); void set_bulk_trade_accept( bool is_trade, bool is_npc = false ); void set_npc_gets_item( bool to_use ); void set_add_mission( std::string mission_id ); @@ -171,11 +171,11 @@ struct talk_effect_t { void set_effect_consequence( std::function ptr, dialogue_consequence con ); void load_effect( JsonObject &jo ); - void parse_sub_effect( JsonObject jo ); + void parse_sub_effect( JsonObject &jo ); void parse_string_effect( const std::string &effect_id, JsonObject &jo ); talk_effect_t() = default; - talk_effect_t( JsonObject ); + talk_effect_t( JsonObject & ); /** * Functions that are called when the response is chosen. @@ -208,6 +208,7 @@ struct talk_response { mission *mission_selected = nullptr; skill_id skill = skill_id::NULL_ID(); matype_id style = matype_id::NULL_ID(); + spell_id dialogue_spell = spell_id(); talk_effect_t success; talk_effect_t failure; @@ -216,7 +217,7 @@ struct talk_response { std::set get_consequences( const dialogue &d ) const; talk_response(); - talk_response( JsonObject ); + talk_response( JsonObject & ); }; struct dialogue { @@ -301,6 +302,12 @@ struct dialogue { */ talk_response &add_response( const std::string &text, const std::string &r, const skill_id &skill, bool first = false ); + /** + * Add a simple response that switches the topic to the new one and sets the currently + * talked about magic spell to the given one. + */ + talk_response &add_response( const std::string &text, const std::string &r, + const spell_id &sp, bool first = false ); /** * Add a simple response that switches the topic to the new one and sets the currently * talked about martial art style to the given one. @@ -358,7 +365,7 @@ class json_talk_response public: json_talk_response() = default; - json_talk_response( JsonObject jo ); + json_talk_response( JsonObject &jo ); /** * Callback from @ref json_talk_topic::gen_responses, see there. @@ -378,7 +385,7 @@ class json_talk_repeat_response bool is_npc = false; bool include_containers = false; std::vector for_item; - std::vector for_category; + std::vector for_category; json_talk_response response; }; @@ -388,7 +395,7 @@ class json_dynamic_line_effect std::function condition; talk_effect_t effect; public: - json_dynamic_line_effect( JsonObject jo, const std::string &id ); + json_dynamic_line_effect( JsonObject &jo, const std::string &id ); bool test_condition( const dialogue &d ) const; void apply( dialogue &d ) const; }; diff --git a/src/dump.cpp b/src/dump.cpp index 1a124ddb27447..eaa4cfccdc7bb 100644 --- a/src/dump.cpp +++ b/src/dump.cpp @@ -337,6 +337,7 @@ bool game::dump_stats( const std::string &what, dump_mode mode, case dump_mode::TSV: rows.insert( rows.begin(), header ); for( const auto &r : rows ) { + // NOLINTNEXTLINE(cata-text-style): using tab to align the output std::copy( r.begin(), r.end() - 1, std::ostream_iterator( std::cout, "\t" ) ); std::cout << r.back() << "\n"; } diff --git a/src/effect.cpp b/src/effect.cpp index b3001a685ba1a..7e76befa4f07b 100644 --- a/src/effect.cpp +++ b/src/effect.cpp @@ -54,7 +54,7 @@ void weed_msg( player &p ) switch( msg ) { case 0: // Freakazoid p.add_msg_if_player( - _( "The scariest thing in the world would be... if all the air in the world turned to WOOD!" ) ); + _( "The scariest thing in the world would be… if all the air in the world turned to WOOD!" ) ); return; case 1: // Simpsons p.add_msg_if_player( @@ -67,7 +67,7 @@ void weed_msg( player &p ) } else if( smarts < 3 ) { // It's Always Sunny in Philadelphia p.add_msg_if_player( _( "Science is a liar sometimes." ) ); } else { // Durr - p.add_msg_if_player( _( "Science is... wait, what was I talking about again?" ) ); + p.add_msg_if_player( _( "Science is… wait, what was I talking about again?" ) ); } return; case 3: // Dazed and Confused @@ -83,7 +83,7 @@ void weed_msg( player &p ) return; case 4: if( p.has_amount( "money_bundle", 1 ) ) { // Half Baked - p.add_msg_if_player( _( "You ever see the back of a twenty dollar bill... on weed?" ) ); + p.add_msg_if_player( _( "You ever see the back of a twenty dollar bill… on weed?" ) ); if( one_in( 2 ) ) { p.add_msg_if_player( _( "Oh, there's some crazy shit, man. There's a dude in the bushes. Has he got a gun? I dunno!" ) ); @@ -92,13 +92,13 @@ void weed_msg( player &p ) } } } else if( p.has_amount( "holybook_bible", 1 ) ) { - p.add_msg_if_player( _( "You have a sudden urge to flip your bible open to Genesis 1:29..." ) ); + p.add_msg_if_player( _( "You have a sudden urge to flip your bible open to Genesis 1:29…" ) ); } else { // Big Lebowski - p.add_msg_if_player( _( "That rug really tied the room together..." ) ); + p.add_msg_if_player( _( "That rug really tied the room together…" ) ); } return; case 5: - p.add_msg_if_player( _( "I used to do drugs... I still do, but I used to, too." ) ); + p.add_msg_if_player( _( "I used to do drugs… I still do, but I used to, too." ) ); default: return; } @@ -110,12 +110,12 @@ void weed_msg( player &p ) return; case 1: // Freakazoid p.add_msg_if_player( - _( "Okay, like, the scariest thing in the world would be... if like you went to grab something and it wasn't there!" ) ); + _( "Okay, like, the scariest thing in the world would be… if like you went to grab something and it wasn't there!" ) ); return; case 2: // Simpsons p.add_msg_if_player( _( "They call them fingers, but I never see them fing." ) ); if( smarts > 2 && one_in( 2 ) ) { - p.add_msg_if_player( _( "...oh, there they go." ) ); + p.add_msg_if_player( _( "…oh, there they go." ) ); } return; case 3: // Bill Hicks @@ -139,7 +139,7 @@ void weed_msg( player &p ) p.add_msg_if_player( _( "Oh, sometimes the early-mid-late-early-morning." ) ); } if( smarts > 2 ) { - p.add_msg_if_player( _( "...But never at dusk." ) ); + p.add_msg_if_player( _( "…But never at dusk." ) ); } return; case 5: @@ -156,9 +156,9 @@ void weed_msg( player &p ) p.add_msg_if_player( _( "Man, a cheeseburger sounds SO awesome right now." ) ); p.mod_hunger( 4 ); if( p.has_trait( trait_id( "VEGETARIAN" ) ) ) { - p.add_msg_if_player( _( "Eh... maybe not." ) ); + p.add_msg_if_player( _( "Eh… maybe not." ) ); } else if( p.has_trait( trait_id( "LACTOSE" ) ) ) { - p.add_msg_if_player( _( "I guess, maybe, without the cheese... yeah." ) ); + p.add_msg_if_player( _( "I guess, maybe, without the cheese… yeah." ) ); } return; case 2: // Dazed and Confused @@ -343,6 +343,13 @@ bool effect_type::load_mod_data( JsonObject &jo, const std::string &member ) extract_effect( j, mod_data, "healing_head", member, "HEAL_HEAD", "amount" ); extract_effect( j, mod_data, "healing_torso", member, "HEAL_TORSO", "amount" ); + // creature stats mod + extract_effect( j, mod_data, "dodge_mod", member, "DODGE", "min" ); + extract_effect( j, mod_data, "hit_mod", member, "HIT", "min" ); + extract_effect( j, mod_data, "bash_mod", member, "BASH", "min" ); + extract_effect( j, mod_data, "cut_mod", member, "CUT", "min" ); + extract_effect( j, mod_data, "size_mod", member, "SIZE", "min" ); + return true; } else { return false; diff --git a/src/explosion.cpp b/src/explosion.cpp index 2615e07576217..c9b9c2e50352c 100644 --- a/src/explosion.cpp +++ b/src/explosion.cpp @@ -136,7 +136,7 @@ static void do_blast( const tripoint &p, const float power, const float distance_factor, const bool fire ) { const float tile_dist = 1.0f; - const float diag_dist = trigdist ? 1.41f * tile_dist : 1.0f * tile_dist; + const float diag_dist = trigdist ? M_SQRT2 * tile_dist : 1.0f * tile_dist; const float zlev_dist = 2.0f; // Penalty for going up/down // 7 3 5 // 1 . 2 diff --git a/src/faction.cpp b/src/faction.cpp index 846283fe747da..7568e52c2c7d2 100644 --- a/src/faction.cpp +++ b/src/faction.cpp @@ -704,17 +704,17 @@ void faction_manager::display() const // entries_per_page * page number const size_t top_of_page = entries_per_page * ( selection / entries_per_page ); if( tab == tab_mode::TAB_FOLLOWERS ) { - if( !followers.empty() ) { + if( selection < followers.size() ) { guy = followers[selection]; } active_vec_size = followers.size(); } else if( tab == tab_mode::TAB_MYFACTION ) { - if( !camps.empty() ) { + if( selection < camps.size() ) { camp = camps[selection]; } active_vec_size = camps.size(); } else if( tab == tab_mode::TAB_OTHERFACTIONS ) { - if( !valfac.empty() ) { + if( selection < valfac.size() ) { cur_fac = valfac[selection]; } active_vec_size = valfac.size(); @@ -748,8 +748,7 @@ void faction_manager::display() const trim_and_print( w_missions, point( 1, y ), 28, selection == i ? hilite( col ) : col, camps[i]->camp_name() ); } - if( selection < camps.size() ) { - assert( camp ); // To appease static analysis + if( camp ) { camp->faction_display( w_missions, 31 ); } else { mvwprintz( w_missions, point( 31, 4 ), c_light_red, no_camp ); @@ -770,8 +769,7 @@ void faction_manager::display() const trim_and_print( w_missions, point( 1, y ), 28, selection == i ? hilite( col ) : col, followers[i]->disp_name() ); } - if( selection < followers.size() ) { - assert( guy ); // To appease static analysis + if( guy ) { int retval = guy->faction_display( w_missions, 31 ); if( retval == 2 ) { radio_interactable = true; @@ -797,8 +795,7 @@ void faction_manager::display() const trim_and_print( w_missions, point( 1, y ), 28, selection == i ? hilite( col ) : col, _( valfac[i]->name ) ); } - if( selection < valfac.size() ) { - assert( cur_fac ); // To appease static analysis + if( cur_fac ) { cur_fac->faction_display( w_missions, 31 ); } else { mvwprintz( w_missions, point( 31, 4 ), c_light_red, no_fac ); diff --git a/src/faction_camp.cpp b/src/faction_camp.cpp index 6457f66f2d560..27a9d5ce39f47 100644 --- a/src/faction_camp.cpp +++ b/src/faction_camp.cpp @@ -93,7 +93,9 @@ const skill_id skill_traps( "traps" ); const skill_id skill_archery( "archery" ); const skill_id skill_swimming( "swimming" ); -const zone_type_id z_loot_unsorted( "LOOT_UNSORTED" ); +static const trait_id trait_DEBUG_HS( "DEBUG_HS" ); + +const zone_type_id z_camp_storage( "CAMP_STORAGE" ); const zone_type_id z_loot_ignore( "LOOT_IGNORE" ); const zone_type_id z_camp_food( "CAMP_FOOD" ); @@ -164,42 +166,42 @@ std::map miss_info = {{ { "_faction_camp_menial", { "Menial Labor", to_translation( "Menial Labor" ), - to_translation( "Performing menial labor...\n" ), + to_translation( "Performing menial labor…\n" ), "Recover Menial Laborer", to_translation( "Recover Menial Laborer" ) } }, { "_faction_camp_expansion", { "Expand Base", to_translation( "Expand Base" ), - to_translation( "Surveying for expansion...\n" ), + to_translation( "Surveying for expansion…\n" ), "Recover Surveyor", to_translation( "Recover Surveyor" ) } }, { "_faction_camp_cut_log", { "Cut Logs", to_translation( "Cut Logs" ), - to_translation( "Cutting logs in the woods...\n" ), + to_translation( "Cutting logs in the woods…\n" ), "Recover Log Cutter", to_translation( "Recover Log Cutter" ) } }, { "_faction_camp_clearcut", { "Clearcut", to_translation( "Clear a forest" ), - to_translation( "Clearing a forest...\n" ), + to_translation( "Clearing a forest…\n" ), "Recover Clearcutter", to_translation( "Recover Clearcutter" ) } }, { "_faction_camp_hide_site", { "Setup Hide Site", to_translation( "Setup Hide Site" ), - to_translation( "Setting up a hide site...\n" ), + to_translation( "Setting up a hide site…\n" ), "Recover Hide Setup", to_translation( "Recover Hide Setup" ) } }, { "_faction_camp_hide_trans", { "Relay Hide Site", to_translation( "Relay Hide Site" ), - to_translation( "Transferring gear to a hide site...\n" ), + to_translation( "Transferring gear to a hide site…\n" ), "Recover Hide Relay", to_translation( "Recover Hide Relay" ) } }, @@ -227,7 +229,7 @@ std::map miss_info = {{ { "_faction_camp_om_fortifications", { "Construct Map Fort", to_translation( "Construct Map Fortifications" ), - to_translation( "Constructing fortifications...\n" ), + to_translation( "Constructing fortifications…\n" ), "Finish Map Fort", to_translation( "Finish Map Fortifications" ) } }, @@ -262,7 +264,7 @@ std::map miss_info = {{ { "_faction_exp_chop_shop_", { " Chop Shop", to_translation( " Chop Shop" ), - to_translation( "Working at the chop shop...\n" ), + to_translation( "Working at the chop shop…\n" ), " (Finish) Chop Shop", to_translation( " (Finish) Chop Shop" ) } }, @@ -440,6 +442,7 @@ static bool update_time_left( std::string &entry, const comp_list &npc_list ) entry = entry + " [" + to_string( comp->companion_mission_time_ret - calendar::turn ) + _( " left]\n" ); + avail = g->u.has_trait( trait_DEBUG_HS ); } } entry = entry + _( "\n\nDo you wish to bring your allies back into your party?" ); @@ -468,13 +471,13 @@ static cata::optional get_basecamp( npc &p, const std::string &camp_ if( bcp ) { return bcp; } - g->m.add_camp( p.pos(), "faction_camp" ); + g->m.add_camp( omt_pos, "faction_camp" ); bcp = overmap_buffer.find_camp( omt_pos.xy() ); if( !bcp ) { return cata::nullopt; } basecamp *temp_camp = *bcp; - temp_camp->define_camp( p, camp_type ); + temp_camp->define_camp( omt_pos, camp_type ); return temp_camp; } @@ -494,7 +497,7 @@ recipe_id base_camps::select_camp_option( const std::map const int choice = uilist( _( option ), pos_names ); if( choice < 0 || static_cast( choice ) >= pos_name_ids.size() ) { - popup( _( "You choose to wait..." ) ); + popup( _( "You choose to wait…" ) ); return recipe_id::NULL_ID(); } return pos_name_ids[choice]; @@ -598,10 +601,7 @@ void talk_function::basecamp_mission( npc &p ) return; } basecamp *bcp = *temp_camp; - bool by_radio = false; - if( rl_dist( g->u.global_omt_location(), omt_pos ) > 2 ) { - by_radio = true; - } + bcp->set_by_radio( g->u.dialogue_by_radio ); if( bcp->get_dumping_spot() == tripoint_zero ) { auto &mgr = zone_manager::get_manager(); if( g->m.check_vehicle_zones( g->get_levz() ) ) { @@ -609,8 +609,8 @@ void talk_function::basecamp_mission( npc &p ) } tripoint src_loc; const auto abspos = p.global_square_location(); - if( mgr.has_near( z_loot_unsorted, abspos ) ) { - const auto &src_set = mgr.get_near( z_loot_unsorted, abspos ); + if( mgr.has_near( z_camp_storage, abspos, 60 ) ) { + const auto &src_set = mgr.get_near( z_camp_storage, abspos ); const auto &src_sorted = get_sorted_tiles_by_distance( abspos, src_set ); // Find the nearest unsorted zone to dump objects at for( auto &src : src_sorted ) { @@ -620,9 +620,9 @@ void talk_function::basecamp_mission( npc &p ) } bcp->set_dumping_spot( g->m.getabs( src_loc ) ); } - bcp->get_available_missions( mission_key, by_radio ); + bcp->get_available_missions( mission_key ); if( display_and_choose_opts( mission_key, omt_pos, base_camps::id, title ) ) { - bcp->handle_mission( mission_key.cur_key.id, mission_key.cur_key.dir, by_radio ); + bcp->handle_mission( mission_key.cur_key.id, mission_key.cur_key.dir ); } } @@ -642,60 +642,47 @@ void basecamp::add_available_recipes( mission_data &mission_key, const point &di } } -void basecamp::get_available_missions( mission_data &mission_key, bool by_radio ) +void basecamp::get_available_missions_by_dir( mission_data &mission_key, const point &dir ) { std::string entry; - - const point &base_dir = base_camps::base_dir; - const std::string base_dir_id = base_camps::all_directions.at( base_dir ).id; - const std::string base_dir_abbr = base_camps::all_directions - .at( base_dir ).bracket_abbr.translated(); - reset_camp_resources( by_radio ); std::string gather_bldg = "null"; - // return legacy workers - comp_list npc_list = get_mission_workers( "_faction_upgrade_camp" ); - if( !npc_list.empty() ) { - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_upgrade_camp" ]; - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - cata::nullopt, entry, avail ); - } + const std::string dir_id = base_camps::all_directions.at( dir ).id; + const std::string dir_abbr = base_camps::all_directions.at( dir ).bracket_abbr.translated(); + const tripoint omt_trg = omt_pos + dir; - for( const basecamp_upgrade &upgrade : available_upgrades( base_dir ) ) { - gather_bldg = upgrade.bldg; - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_upgrade_camp" ]; - comp_list npc_list = get_mission_workers( upgrade.bldg + "_faction_upgrade_camp" ); - if( npc_list.empty() && !upgrade.in_progress ) { - entry = om_upgrade_description( upgrade.bldg ); - mission_key.add_start( miss_info.miss_id + upgrade.bldg, - miss_info.desc + " " + upgrade.name, cata::nullopt, entry, upgrade.avail ); - } else if( !npc_list.empty() && upgrade.in_progress ) { + if( dir != base_camps::base_dir ) { + // return legacy workers + comp_list npc_list = get_mission_workers( "_faction_upgrade_exp_" + dir_id ); + if( !npc_list.empty() ) { + const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_upgrade_exp_" ]; entry = miss_info.action.translated(); bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( miss_info.ret_miss_id + upgrade.bldg, - miss_info.ret_desc + " " + upgrade.name, cata::nullopt, entry, avail ); + mission_key.add_return( "Recover Ally, " + dir_id + " Expansion", + _( "Recover Ally, " ) + dir_abbr + _( " Expansion" ), dir, + entry, avail ); } - } - - // this used to be optional, but now it isn't. Keep it at the same scope - { - comp_list npc_list = get_mission_workers( "_faction_camp_crafting_" + base_dir_id ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_crafting_" ]; - //This handles all crafting by the base, regardless of level - if( npc_list.empty() ) { - std::map craft_recipes = recipe_deck( base_dir ); - add_available_recipes( mission_key, base_dir, craft_recipes ); - } else { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( base_dir_id + miss_info.ret_miss_id, - base_dir_abbr + miss_info.ret_desc, base_dir, entry, avail ); + // Generate upgrade missions for expansions + for( const basecamp_upgrade &upgrade : available_upgrades( dir ) ) { + const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_upgrade_exp_" ]; + comp_list npc_list = get_mission_workers( upgrade.bldg + "_faction_upgrade_exp_" + + dir_id ); + if( npc_list.empty() ) { + entry = om_upgrade_description( upgrade.bldg ); + mission_key.add_start( dir_id + miss_info.miss_id + upgrade.bldg, + dir_abbr + miss_info.desc + " " + upgrade.name, dir, entry, + upgrade.avail ); + } else { + entry = miss_info.action.translated(); + bool avail = update_time_left( entry, npc_list ); + mission_key.add_return( "Recover Ally, " + dir_id + " Expansion" + upgrade.bldg, + _( "Recover Ally, " ) + dir_abbr + _( " Expansion" ) + + " " + upgrade.name, dir, entry, avail ); + } } } - if( has_provides( "gathering" ) ) { + if( has_provides( "gathering", dir ) ) { comp_list npc_list = get_mission_workers( "_faction_camp_gathering" ); const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_gathering" ]; entry = string_format( _( "Notes:\n" @@ -709,60 +696,16 @@ void basecamp::get_available_missions( mission_data &mission_key, bool by_radio "Time: 3 Hours, Repeated\n" "Positions: %d/3\n" ), gathering_description( gather_bldg ), npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), cata::nullopt, + mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), dir, entry, npc_list.size() < 3 ); if( !npc_list.empty() ) { entry = miss_info.action.translated(); bool avail = update_time_fixed( entry, npc_list, 3_hours ); mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - cata::nullopt, entry, avail ); + dir, entry, avail ); } - if( !by_radio ) { - entry = string_format( _( "Notes:\n" - "Distribute food to your follower and fill you larders. " - "Place the food you wish to distribute in the camp food " - "zone. You must have a camp food zone, an unsorted loot " - "zone, and at least one loot destination zone or you will " - "be prompted to create them using the zone manager.\n" - "Effects:\n" - "> Increases your faction's food supply value which in " - "turn is used to pay laborers for their time\n\n" - "Must have enjoyability >= -6\n" - "Perishable food liquidated at penalty depending on " - "upgrades and rot time:\n" - "> Rotten: 0%%\n" - "> Rots in < 2 days: 60%%\n" - "> Rots in < 5 days: 80%%\n\n" - "Total faction food stock: %d kcal\nor %d day's rations" ), - camp_food_supply(), camp_food_supply( 0, true ) ); - mission_key.add( "Distribute Food", _( "Distribute Food" ), entry ); - - entry = string_format( _( "Notes:\n" - "Reset the zones that items are sorted to using the " - "[ Menial Labor ] mission.\n\n" - "Effects:\n" - "> Assign sort zones using the zone manager. You must " - "have a camp food zone, an unsorted loot zone, and at " - "least one loot destination zone.\n" - "> Only items that are in the unsorted loot zone and not " - "in any other zone will be sorted.\n" - "Items that do not have a loot destination zone will be " - "sorted using the normal rules for automatic zone " - "sorting." ) ); - mission_key.add( "Reset Sort Points", _( "Reset Sort Points" ), entry ); - validate_assignees(); - std::vector npc_list = get_npcs_assigned(); - entry = string_format( _( "Notes:\n" - "Assign repeating job duties to NPCs stationed here.\n" - "Difficulty: N/A\n" - "Effects:\n" - "\n\nRisk: None\n" - "Time: Ongoing" ) ); - mission_key.add( "Assign Jobs", _( "Assign Jobs" ), entry ); - } - } - - if( has_provides( "firewood" ) ) { + } + if( has_provides( "firewood", dir ) ) { comp_list npc_list = get_mission_workers( "_faction_camp_firewood" ); const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_firewood" ]; entry = string_format( _( "Notes:\n" @@ -785,51 +728,18 @@ void basecamp::get_available_missions( mission_data &mission_key, bool by_radio cata::nullopt, entry, avail ); } } - if( has_provides( "sorting" ) ) { - if( !by_radio ) { - comp_list npc_list = get_mission_workers( "_faction_camp_menial" ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_menial" ]; - entry = string_format( _( "Notes:\n" - "Send a companion to do low level chores and sort " - "supplies.\n\n" - "Skill used: fabrication\n" - "Difficulty: N/A\n" - "Effects:\n" - "> Material left in the unsorted loot zone will be sorted " - "into a defined loot zone." - "\n\nRisk: None\n" - "Time: 3 Hours\n" - "Positions: %d/1\n" ), npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), cata::nullopt, - entry, npc_list.empty() ); - if( !npc_list.empty() ) { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - cata::nullopt, entry, avail ); - } - } - } - - if( can_expand() ) { - comp_list npc_list = get_mission_workers( "_faction_camp_expansion" ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_expansion" ]; + if( has_provides( "sorting", dir ) ) { + comp_list npc_list = get_mission_workers( "_faction_camp_menial" ); + const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_menial" ]; entry = string_format( _( "Notes:\n" - "Your base has become large enough to support an expansion. " - "Expansions open up new opportunities but can be expensive and " - "time consuming. Pick them carefully, only 8 can be built at " - "each camp.\n\n" - "Skill used: N/A\n" + "Send a companion to do low level chores and sort " + "supplies.\n\n" + "Skill used: fabrication\n" + "Difficulty: N/A\n" "Effects:\n" - "> Choose any one of the available expansions. Starting with " - "a farm is always a solid choice since food is used to support " - "companion missions and little is needed to get it going. " - "With minimal investment, a mechanic can be useful as a " - "chop-shop to rapidly dismantle large vehicles, and a forge " - "provides the resources to make charcoal.\n\n" - "NOTE: Actions available through expansions are located in " - "separate tabs of the Camp Manager window.\n\n" - "Risk: None\n" + "> Material left in the unsorted loot zone will be sorted " + "into a defined loot zone." + "\n\nRisk: None\n" "Time: 3 Hours\n" "Positions: %d/1\n" ), npc_list.size() ); mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), cata::nullopt, @@ -842,7 +752,7 @@ void basecamp::get_available_missions( mission_data &mission_key, bool by_radio } } - if( has_provides( "logging" ) ) { + if( has_provides( "logging", dir ) ) { comp_list npc_list = get_mission_workers( "_faction_camp_cut_log" ); const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_cut_log" ]; entry = string_format( _( "Notes:\n" @@ -868,7 +778,7 @@ void basecamp::get_available_missions( mission_data &mission_key, bool by_radio } } - if( has_provides( "logging" ) ) { + if( has_provides( "logging", dir ) ) { comp_list npc_list = get_mission_workers( "_faction_camp_clearcut" ); const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_clearcut" ]; entry = string_format( _( "Notes:\n" @@ -894,7 +804,7 @@ void basecamp::get_available_missions( mission_data &mission_key, bool by_radio } } - if( has_provides( "relaying" ) ) { + if( has_provides( "relaying", dir ) ) { comp_list npc_list = get_mission_workers( "_faction_camp_hide_site" ); const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_hide_site" ]; entry = string_format( _( "Notes:\n" @@ -919,7 +829,7 @@ void basecamp::get_available_missions( mission_data &mission_key, bool by_radio } } - if( has_provides( "relaying" ) ) { + if( has_provides( "relaying", dir ) ) { comp_list npc_list = get_mission_workers( "_faction_camp_hide_trans" ); const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_hide_trans" ]; entry = string_format( _( "Notes:\n" @@ -945,7 +855,7 @@ void basecamp::get_available_missions( mission_data &mission_key, bool by_radio } } - if( has_provides( "foraging" ) ) { + if( has_provides( "foraging", dir ) ) { comp_list npc_list = get_mission_workers( "_faction_camp_foraging" ); const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_foraging" ]; entry = string_format( _( "Notes:\n" @@ -959,17 +869,17 @@ void basecamp::get_available_missions( mission_data &mission_key, bool by_radio "Risk: Very Low\n" "Time: 4 Hours, Repeated\n" "Positions: %d/3\n" ), npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), cata::nullopt, + mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), dir, entry, npc_list.size() < 3 ); if( !npc_list.empty() ) { entry = miss_info.action.translated(); bool avail = update_time_fixed( entry, npc_list, 4_hours ); mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - cata::nullopt, entry, avail ); + dir, entry, avail ); } } - if( has_provides( "trapping" ) ) { + if( has_provides( "trapping", dir ) ) { comp_list npc_list = get_mission_workers( "_faction_camp_trapping" ); const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_trapping" ]; entry = string_format( _( "Notes:\n" @@ -982,17 +892,17 @@ void basecamp::get_available_missions( mission_data &mission_key, bool by_radio "Risk: Low\n" "Time: 6 Hours, Repeated\n" "Positions: %d/2\n" ), npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), cata::nullopt, + mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), dir, entry, npc_list.size() < 2 ); if( !npc_list.empty() ) { entry = miss_info.action.translated(); bool avail = update_time_fixed( entry, npc_list, 6_hours ); mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - cata::nullopt, entry, avail ); + dir, entry, avail ); } } - if( has_provides( "hunting" ) ) { + if( has_provides( "hunting", dir ) ) { comp_list npc_list = get_mission_workers( "_faction_camp_hunting" ); const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_hunting" ]; entry = string_format( _( "Notes:\n" @@ -1005,24 +915,25 @@ void basecamp::get_available_missions( mission_data &mission_key, bool by_radio "Risk: Medium\n" "Time: 6 Hours, Repeated\n" "Positions: %d/1\n" ), npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), cata::nullopt, + mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), dir, entry, npc_list.empty() ); if( !npc_list.empty() ) { entry = miss_info.action.translated(); bool avail = update_time_fixed( entry, npc_list, 6_hours ); mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - cata::nullopt, entry, avail ); + dir, entry, avail ); } } - if( has_provides( "walls" ) ) { + if( has_provides( "walls", dir ) ) { comp_list npc_list = get_mission_workers( "_faction_camp_om_fortifications" ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_om_fortifications" ]; + const base_camps::miss_data &miss_info = + base_camps::miss_info[ "_faction_camp_om_fortifications" ]; entry = om_upgrade_description( "faction_wall_level_N_0" ); mission_key.add_start( "Construct Map Fort", _( "Construct Map Fortifications" ), - cata::nullopt, entry, npc_list.empty() ); + dir, entry, npc_list.empty() ); entry = om_upgrade_description( "faction_wall_level_N_1" ); - mission_key.add_start( "Construct Trench", _( "Construct Spiked Trench" ), cata::nullopt, entry, + mission_key.add_start( "Construct Trench", _( "Construct Spiked Trench" ), dir, entry, npc_list.empty() ); if( !npc_list.empty() ) { entry = miss_info.action.translated(); @@ -1032,11 +943,11 @@ void basecamp::get_available_missions( mission_data &mission_key, bool by_radio } } - if( has_provides( "recruiting" ) ) { + if( has_provides( "recruiting", dir ) ) { comp_list npc_list = get_mission_workers( "_faction_camp_recruit_0" ); const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_recruit_0" ]; entry = recruit_description( npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), cata::nullopt, entry, + mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), dir, entry, npc_list.empty() ); if( !npc_list.empty() ) { entry = miss_info.action.translated(); @@ -1046,7 +957,7 @@ void basecamp::get_available_missions( mission_data &mission_key, bool by_radio } } - if( has_provides( "scouting" ) ) { + if( has_provides( "scouting", dir ) ) { comp_list npc_list = get_mission_workers( "_faction_camp_scout_0" ); const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_scout_0" ]; entry = string_format( _( "Notes:\n" @@ -1062,17 +973,17 @@ void basecamp::get_available_missions( mission_data &mission_key, bool by_radio "Risk: High\n" "Time: Travel\n" "Positions: %d/3\n" ), npc_list.size() ); - mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), cata::nullopt, + mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), dir, entry, npc_list.size() < 3 ); if( !npc_list.empty() ) { entry = miss_info.action.translated(); bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), + mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), cata::nullopt, entry, avail ); } } - if( has_provides( "patrolling" ) ) { + if( has_provides( "patrolling", dir ) ) { comp_list npc_list = get_mission_workers( "_faction_camp_combat_0" ); const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_combat_0" ]; entry = string_format( _( "Notes:\n" @@ -1095,193 +1006,280 @@ void basecamp::get_available_missions( mission_data &mission_key, bool by_radio if( !npc_list.empty() ) { entry = miss_info.action.translated(); bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), cata::nullopt, - entry, avail ); + mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), + cata::nullopt, entry, avail ); } } - //This starts all of the expansion missions - for( const point &dir : directions ) { - const tripoint omt_trg = omt_pos + dir; - const std::string &dir_id = base_camps::all_directions.at( dir ).id; - const std::string &dir_abbr = base_camps::all_directions.at( dir ).bracket_abbr.translated(); - - // return legacy workers - comp_list npc_list = get_mission_workers( "_faction_upgrade_exp_" + dir_id ); + if( has_provides( "dismantling", dir ) ) { + comp_list npc_list = get_mission_workers( "_faction_exp_chop_shop_" + dir_id ); + const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_exp_chop_shop_" ]; + entry = _( "Notes:\n" + "Have a companion attempt to completely dissemble a vehicle into " + "components.\n\n" + "Skill used: mechanics\n" + "Difficulty: 2\n" + "Effects:\n" + "> Removed parts placed on the furniture in the garage.\n" + "> Skill plays a huge role to determine what is salvaged.\n\n" + "Risk: None\n" + "Time: 5 days\n" ); + mission_key.add_start( dir_id + miss_info.miss_id, dir_abbr + miss_info.desc, dir, entry, + npc_list.empty() ); if( !npc_list.empty() ) { - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_upgrade_exp_" ]; entry = miss_info.action.translated(); bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( "Recover Ally, " + dir_id + " Expansion", - _( "Recover Ally, " ) + dir_abbr + _( " Expansion" ), dir, - entry, avail ); + mission_key.add_return( dir_id + miss_info.ret_miss_id, + dir_abbr + miss_info.ret_desc, dir, entry, avail ); } + } - for( const basecamp_upgrade &upgrade : available_upgrades( dir ) ) { - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_upgrade_exp_" ]; - comp_list npc_list = get_mission_workers( upgrade.bldg + "_faction_upgrade_exp_" + - dir_id ); - if( npc_list.empty() ) { - entry = om_upgrade_description( upgrade.bldg ); - mission_key.add_start( dir_id + miss_info.miss_id + upgrade.bldg, - dir_abbr + miss_info.desc + " " + upgrade.name, dir, entry, - upgrade.avail ); - } else { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( "Recover Ally, " + dir_id + " Expansion" + upgrade.bldg, - _( "Recover Ally, " ) + dir_abbr + _( " Expansion" ) + - " " + upgrade.name, dir, entry, avail ); - } + std::map craft_recipes = recipe_deck( dir ); + if( has_provides( "kitchen", dir ) ) { + comp_list npc_list = get_mission_workers( "_faction_exp_kitchen_cooking_" + dir_id ); + const base_camps::miss_data &miss_info = + base_camps::miss_info[ "_faction_exp_kitchen_cooking_" ]; + if( npc_list.empty() ) { + add_available_recipes( mission_key, dir, craft_recipes ); + } else { + entry = miss_info.action.translated(); + bool avail = update_time_left( entry, npc_list ); + mission_key.add_return( dir_id + miss_info.ret_miss_id, + dir_abbr + miss_info.ret_desc, dir, entry, avail ); + } + } + + if( has_provides( "blacksmith", dir ) ) { + comp_list npc_list = get_mission_workers( "_faction_exp_blacksmith_crafting_" + dir_id ); + const base_camps::miss_data &miss_info = + base_camps::miss_info[ "_faction_exp_blacksmith_crafting_" ]; + if( npc_list.empty() ) { + add_available_recipes( mission_key, dir, craft_recipes ); + } else { + entry = miss_info.action.translated(); + bool avail = update_time_left( entry, npc_list ); + mission_key.add_return( dir_id + miss_info.ret_miss_id, + dir_abbr + miss_info.ret_desc, dir, entry, avail ); } + } - if( has_provides( "dismantling", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_exp_chop_shop_" + dir_id ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_exp_chop_shop_" ]; + if( has_provides( "farming", dir ) ) { + size_t plots = 0; + comp_list npc_list = get_mission_workers( "_faction_exp_plow_" + dir_id ); + const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_exp_plow_" ]; + if( npc_list.empty() ) { entry = _( "Notes:\n" - "Have a companion attempt to completely dissemble a vehicle into " - "components.\n\n" - "Skill used: mechanics\n" - "Difficulty: 2\n" + "Plow any spaces that have reverted to dirt or grass.\n\n" ) + + farm_description( omt_trg, plots, farm_ops::plow ) + + _( "\n\n" + "Skill used: fabrication\n" + "Difficulty: N/A\n" "Effects:\n" - "> Removed parts placed on the furniture in the garage.\n" - "> Skill plays a huge role to determine what is salvaged.\n\n" + "> Restores only the plots created in the last expansion upgrade.\n" + "> Does not damage existing crops.\n\n" "Risk: None\n" - "Time: 5 days\n" ); - mission_key.add_start( dir_id + miss_info.miss_id, dir_abbr + miss_info.desc, dir, entry, - npc_list.empty() ); - if( !npc_list.empty() ) { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( dir_id + miss_info.ret_miss_id, - dir_abbr + miss_info.ret_desc, dir, entry, avail ); - } + "Time: 5 Min / Plot\n" + "Positions: 0/1\n" ); + mission_key.add_start( dir_id + miss_info.miss_id, dir_abbr + miss_info.desc, dir, + entry, plots > 0 ); + } else { + entry = miss_info.action.translated(); + bool avail = update_time_left( entry, npc_list ); + mission_key.add_return( dir_id + miss_info.ret_miss_id, + dir_abbr + miss_info.ret_desc, dir, entry, avail ); } - - std::map craft_recipes = recipe_deck( dir ); - if( has_provides( "kitchen", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_exp_kitchen_cooking_" + dir_id ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_exp_kitchen_cooking_" ]; - if( npc_list.empty() ) { - add_available_recipes( mission_key, dir, craft_recipes ); - } else { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( dir_id + miss_info.ret_miss_id, - dir_abbr + miss_info.ret_desc, dir, entry, avail ); - } + } + if( has_provides( "farming", dir ) ) { + size_t plots = 0; + comp_list npc_list = get_mission_workers( "_faction_exp_plant_" + dir_id ); + const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_exp_plant_" ]; + if( npc_list.empty() ) { + entry = _( "Notes:\n" + "Plant designated seeds in the spaces that have already been " + "tilled.\n\n" ) + + farm_description( omt_trg, plots, farm_ops::plant ) + + _( "\n\n" + "Skill used: survival\n" + "Difficulty: N/A\n" + "Effects:\n" + "> Choose which seed type or all of your seeds.\n" + "> Stops when out of seeds or planting locations.\n" + "> Will plant in ALL dirt mounds in the expansion.\n\n" + "Risk: None\n" + "Time: 1 Min / Plot\n" + "Positions: 0/1\n" ); + mission_key.add_start( dir_id + miss_info.miss_id, + dir_abbr + miss_info.desc, dir, entry, + plots > 0 && warm_enough_to_plant( omt_trg ) ); + } else { + entry = miss_info.action.translated(); + bool avail = update_time_left( entry, npc_list ); + mission_key.add_return( dir_id + miss_info.ret_miss_id, + dir_abbr + miss_info.ret_desc, dir, entry, avail ); } - - if( has_provides( "blacksmith", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_exp_blacksmith_crafting_" + dir_id ); - const base_camps::miss_data &miss_info = - base_camps::miss_info[ "_faction_exp_blacksmith_crafting_" ]; - if( npc_list.empty() ) { - add_available_recipes( mission_key, dir, craft_recipes ); - } else { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( dir_id + miss_info.ret_miss_id, - dir_abbr + miss_info.ret_desc, dir, entry, avail ); - } + } + if( has_provides( "farming", dir ) ) { + size_t plots = 0; + comp_list npc_list = get_mission_workers( "_faction_exp_harvest_" + dir_id ); + const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_exp_harvest_" ]; + if( npc_list.empty() ) { + entry = _( "Notes:\n" + "Harvest any plants that are ripe and bring the produce back.\n\n" ) + + farm_description( omt_trg, plots, farm_ops::harvest ) + + _( "\n\n" + "Skill used: survival\n" + "Difficulty: N/A\n" + "Effects:\n" + "> Will dump all harvesting products onto your location.\n\n" + "Risk: None\n" + "Time: 3 Min / Plot\n" + "Positions: 0/1\n" ); + mission_key.add_start( dir_id + miss_info.miss_id, + dir_abbr + miss_info.desc, dir, entry, + plots > 0 ); + } else { + entry = miss_info.action.translated(); + bool avail = update_time_left( entry, npc_list ); + mission_key.add_return( dir_id + miss_info.ret_miss_id, + dir_abbr + miss_info.ret_desc, dir, entry, avail ); } + } - if( has_provides( "farming", dir ) ) { - size_t plots = 0; - comp_list npc_list = get_mission_workers( "_faction_exp_plow_" + dir_id ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_exp_plow_" ]; - if( npc_list.empty() ) { - entry = _( "Notes:\n" - "Plow any spaces that have reverted to dirt or grass.\n\n" ) + - farm_description( omt_trg, plots, farm_ops::plow ) + - _( "\n\n" - "Skill used: fabrication\n" - "Difficulty: N/A\n" - "Effects:\n" - "> Restores only the plots created in the last expansion upgrade.\n" - "> Does not damage existing crops.\n\n" - "Risk: None\n" - "Time: 5 Min / Plot\n" - "Positions: 0/1\n" ); - mission_key.add_start( dir_id + miss_info.miss_id, dir_abbr + miss_info.desc, dir, entry, - plots > 0 ); - } else { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( dir_id + miss_info.ret_miss_id, - dir_abbr + miss_info.ret_desc, dir, entry, avail ); - } - } - if( has_provides( "farming", dir ) ) { - size_t plots = 0; - comp_list npc_list = get_mission_workers( "_faction_exp_plant_" + dir_id ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_exp_plant_" ]; - if( npc_list.empty() ) { - entry = _( "Notes:\n" - "Plant designated seeds in the spaces that have already been " - "tilled.\n\n" ) + - farm_description( omt_trg, plots, farm_ops::plant ) + - _( "\n\n" - "Skill used: survival\n" - "Difficulty: N/A\n" - "Effects:\n" - "> Choose which seed type or all of your seeds.\n" - "> Stops when out of seeds or planting locations.\n" - "> Will plant in ALL dirt mounds in the expansion.\n\n" - "Risk: None\n" - "Time: 1 Min / Plot\n" - "Positions: 0/1\n" ); - mission_key.add_start( dir_id + miss_info.miss_id, - dir_abbr + miss_info.desc, dir, entry, - plots > 0 && warm_enough_to_plant( omt_trg ) ); - } else { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( dir_id + miss_info.ret_miss_id, - dir_abbr + miss_info.ret_desc, dir, entry, avail ); - } + if( has_provides( "reseeding", dir ) ) { + comp_list npc_list = get_mission_workers( "_faction_exp_farm_crafting_" + dir_id ); + const base_camps::miss_data &miss_info = + base_camps::miss_info[ "_faction_exp_farm_crafting_" ]; + if( npc_list.empty() ) { + add_available_recipes( mission_key, dir, craft_recipes ); + } else { + entry = miss_info.action.translated(); + bool avail = update_time_left( entry, npc_list ); + mission_key.add_return( dir_id + miss_info.ret_miss_id, + dir_abbr + miss_info.ret_desc, dir, entry, avail ); } - if( has_provides( "farming", dir ) ) { - size_t plots = 0; - comp_list npc_list = get_mission_workers( "_faction_exp_harvest_" + dir_id ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_exp_harvest_" ]; - if( npc_list.empty() ) { - entry = _( "Notes:\n" - "Harvest any plants that are ripe and bring the produce back.\n\n" ) + - farm_description( omt_trg, plots, farm_ops::harvest ) + - _( "\n\n" - "Skill used: survival\n" - "Difficulty: N/A\n" - "Effects:\n" - "> Will dump all harvesting products onto your location.\n\n" - "Risk: None\n" - "Time: 3 Min / Plot\n" - "Positions: 0/1\n" ); - mission_key.add_start( dir_id + miss_info.miss_id, - dir_abbr + miss_info.desc, dir, entry, - plots > 0 ); - } else { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( dir_id + miss_info.ret_miss_id, - dir_abbr + miss_info.ret_desc, dir, entry, avail ); - } + } +} + +void basecamp::get_available_missions( mission_data &mission_key ) +{ + std::string entry; + + const point &base_dir = base_camps::base_dir; + const base_camps::direction_data &base_data = base_camps::all_directions.at( base_dir ); + const std::string base_dir_id = base_data.id; + const std::string base_dir_abbr = base_data.bracket_abbr.translated(); + reset_camp_resources(); + std::string gather_bldg = "null"; + + // Handling for the central tile + // return legacy workers + comp_list legacy_npc_list = get_mission_workers( "_faction_upgrade_camp" ); + if( !legacy_npc_list.empty() ) { + const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_upgrade_camp" ]; + entry = miss_info.action.translated(); + bool avail = update_time_left( entry, legacy_npc_list ); + mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), + base_camps::base_dir, entry, avail ); + } + for( const basecamp_upgrade &upgrade : available_upgrades( base_camps::base_dir ) ) { + gather_bldg = upgrade.bldg; + const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_upgrade_camp" ]; + comp_list npc_list = get_mission_workers( upgrade.bldg + "_faction_upgrade_camp" ); + if( npc_list.empty() && !upgrade.in_progress ) { + entry = om_upgrade_description( upgrade.bldg ); + mission_key.add_start( miss_info.miss_id + upgrade.bldg, + miss_info.desc + " " + upgrade.name, base_camps::base_dir, + entry, upgrade.avail ); + } else if( !npc_list.empty() && upgrade.in_progress ) { + entry = miss_info.action.translated(); + bool avail = update_time_left( entry, npc_list ); + mission_key.add_return( miss_info.ret_miss_id + upgrade.bldg, + miss_info.ret_desc + " " + upgrade.name, base_camps::base_dir, + entry, avail ); } + } - if( has_provides( "reseeding", dir ) ) { - comp_list npc_list = get_mission_workers( "_faction_exp_farm_crafting_" + dir_id ); - const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_exp_farm_crafting_" ]; - if( npc_list.empty() ) { - add_available_recipes( mission_key, dir, craft_recipes ); - } else { - entry = miss_info.action.translated(); - bool avail = update_time_left( entry, npc_list ); - mission_key.add_return( dir_id + miss_info.ret_miss_id, - dir_abbr + miss_info.ret_desc, dir, entry, avail ); - } + // Missions that belong exclusively to the central tile + comp_list npc_list = get_mission_workers( "_faction_camp_crafting_" + base_dir_id ); + const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_crafting_" ]; + //This handles all crafting by the base, regardless of level + if( npc_list.empty() ) { + std::map craft_recipes = recipe_deck( base_camps::base_dir ); + add_available_recipes( mission_key, base_camps::base_dir, craft_recipes ); + } else { + entry = miss_info.action.translated(); + bool avail = update_time_left( entry, npc_list ); + mission_key.add_return( base_dir_id + miss_info.ret_miss_id, + base_dir_abbr + miss_info.ret_desc, base_camps::base_dir, entry, + avail ); + } + if( can_expand() ) { + comp_list npc_list = get_mission_workers( "_faction_camp_expansion" ); + const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_expansion" ]; + entry = string_format( _( "Notes:\n" + "Your base has become large enough to support an expansion. " + "Expansions open up new opportunities but can be expensive and " + "time consuming. Pick them carefully, only 8 can be built at " + "each camp.\n\n" + "Skill used: N/A\n" + "Effects:\n" + "> Choose any one of the available expansions. Starting with " + "a farm is always a solid choice since food is used to support " + "companion missions and little is needed to get it going. " + "With minimal investment, a mechanic can be useful as a " + "chop-shop to rapidly dismantle large vehicles, and a forge " + "provides the resources to make charcoal.\n\n" + "NOTE: Actions available through expansions are located in " + "separate tabs of the Camp Manager window.\n\n" + "Risk: None\n" + "Time: 3 Hours\n" + "Positions: %d/1\n" ), npc_list.size() ); + mission_key.add_start( miss_info.miss_id, miss_info.desc.translated(), + base_camps::base_dir, entry, npc_list.empty() ); + if( !npc_list.empty() ) { + entry = miss_info.action.translated(); + bool avail = update_time_left( entry, npc_list ); + mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), + base_camps::base_dir, entry, avail ); } } + if( !by_radio ) { + entry = string_format( _( "Notes:\n" + "Distribute food to your follower and fill you larders. " + "Place the food you wish to distribute in the camp food zone. " + "You must have a camp food zone, and a camp storage zone, " + "or you will be prompted to create them using the zone manager.\n" + "Effects:\n" + "> Increases your faction's food supply value which in " + "turn is used to pay laborers for their time\n\n" + "Must have enjoyability >= -6\n" + "Perishable food liquidated at penalty depending on " + "upgrades and rot time:\n" + "> Rotten: 0%%\n" + "> Rots in < 2 days: 60%%\n" + "> Rots in < 5 days: 80%%\n\n" + "Total faction food stock: %d kcal\nor %d day's rations" ), + camp_food_supply(), camp_food_supply( 0, true ) ); + mission_key.add( "Distribute Food", _( "Distribute Food" ), entry ); + validate_assignees(); + std::vector npc_list = get_npcs_assigned(); + entry = string_format( _( "Notes:\n" + "Assign repeating job duties to NPCs stationed here.\n" + "Difficulty: N/A\n" + "Effects:\n" + "\n\nRisk: None\n" + "Time: Ongoing" ) ); + mission_key.add( "Assign Jobs", _( "Assign Jobs" ), entry ); + } + // Missions assigned to the central tile that could be done by an expansion + get_available_missions_by_dir( mission_key, base_camps::base_dir ); + + // Loop over expansions + for( const point &dir : directions ) { + get_available_missions_by_dir( mission_key, dir ); + } + if( !camp_workers.empty() ) { const base_camps::miss_data &miss_info = base_camps::miss_info[ "_faction_camp_recall" ]; entry = string_format( _( "Notes:\n" @@ -1295,47 +1293,26 @@ void basecamp::get_available_missions( mission_data &mission_key, bool by_radio "emergency recall becomes available." ) ); bool avail = update_time_fixed( entry, camp_workers, 24_hours ); mission_key.add_return( miss_info.ret_miss_id, miss_info.ret_desc.translated(), - cata::nullopt, entry, avail ); + base_camps::base_dir, entry, avail ); } } -bool basecamp::handle_mission( const std::string &miss_id, const cata::optional miss_dir, - bool by_radio ) +bool basecamp::handle_mission( const std::string &miss_id, cata::optional opt_miss_dir ) { - const point base_dir = base_camps::base_dir; - const std::string base_dir_id = base_camps::all_directions.at( base_dir ).id; - npc_ptr comp = nullptr; + const point &miss_dir = opt_miss_dir ? *opt_miss_dir : base_camps::base_dir; if( miss_id == "Distribute Food" ) { distribute_food(); } - if( miss_id == "Reset Sort Points" ) { - set_sort_points(); - } - if( miss_id.size() > 12 && miss_id.substr( 0, 12 ) == "Upgrade Camp" ) { const std::string bldg = miss_id.substr( 12 ); - start_upgrade( bldg, base_dir, bldg + "_faction_upgrade_camp", by_radio ); + start_upgrade( bldg, base_camps::base_dir, bldg + "_faction_upgrade_camp" ); } else if( miss_id == "Recover Ally from Upgrading" ) { - upgrade_return( base_dir, "_faction_upgrade_camp" ); + upgrade_return( base_camps::base_dir, "_faction_upgrade_camp" ); } else if( miss_id.size() > 27 && miss_id.substr( 0, 27 ) == "Recover Ally from Upgrading" ) { const std::string bldg = miss_id.substr( 27 ); - upgrade_return( base_dir, bldg + "_faction_upgrade_camp", bldg ); - } - - if( miss_id == "Gather Materials" ) { - start_mission( "_faction_camp_gathering", 3_hours, true, - _( "departs to search for materials..." ), false, {}, "survival", 0 ); - } else if( miss_id == "Recover Ally from Gathering" ) { - gathering_return( "_faction_camp_gathering", 3_hours, by_radio ); - } - - if( miss_id == "Collect Firewood" ) { - start_mission( "_faction_camp_firewood", 3_hours, true, - _( "departs to search for firewood..." ), false, {}, "survival", 0 ); - } else if( miss_id == "Recover Firewood Gatherers" ) { - gathering_return( "_faction_camp_firewood", 3_hours, by_radio ); + upgrade_return( base_camps::base_dir, bldg + "_faction_upgrade_camp", bldg ); } if( miss_id == "Menial Labor" ) { @@ -1348,52 +1325,73 @@ bool basecamp::handle_mission( const std::string &miss_id, const cata::optional< job_assignment_ui(); } + if( miss_id == "Expand Base" ) { + start_mission( "_faction_camp_expansion", 3_hours, true, + _( "departs to survey land…" ), false, {}, skill_gun, 0 ); + } else if( miss_id == "Recover Surveyor" ) { + survey_return(); + } + + if( miss_id == "Gather Materials" ) { + start_mission( "_faction_camp_gathering", 3_hours, true, + _( "departs to search for materials…" ), false, {}, skill_survival, 0 ); + } else if( miss_id == "Recover Ally from Gathering" ) { + gathering_return( "_faction_camp_gathering", 3_hours ); + } + + if( miss_id == "Collect Firewood" ) { + start_mission( "_faction_camp_firewood", 3_hours, true, + _( "departs to search for firewood…" ), false, {}, skill_survival, 0 ); + } else if( miss_id == "Recover Firewood Gatherers" ) { + gathering_return( "_faction_camp_firewood", 3_hours ); + } + if( miss_id == "Cut Logs" ) { start_cut_logs(); } else if( miss_id == "Recover Log Cutter" ) { - const std::string msg = _( "returns from working in the woods..." ); + const std::string msg = _( "returns from working in the woods…" ); mission_return( "_faction_camp_cut_log", 6_hours, true, msg, "construction", 2 ); } if( miss_id == "Clearcut" ) { start_clearcut(); } else if( miss_id == "Recover Clearcutter" ) { - const std::string msg = _( "returns from working in the woods..." ); + const std::string msg = _( "returns from working in the woods…" ); mission_return( "_faction_camp_clearcut", 6_hours, true, msg, "construction", 1 ); } if( miss_id == "Setup Hide Site" ) { start_setup_hide_site(); } else if( miss_id == "Recover Hide Setup" ) { - const std::string msg = _( "returns from working on the hide site..." ); + const std::string msg = _( "returns from working on the hide site…" ); mission_return( "_faction_camp_hide_site", 3_hours, true, msg, "survival", 3 ); } if( miss_id == "Relay Hide Site" ) { start_relay_hide_site(); } else if( miss_id == "Recover Hide Transport" ) { - const std::string msg = _( "returns from shuttling gear between the hide site..." ); + const std::string msg = _( "returns from shuttling gear between the hide site…" ); mission_return( "_faction_camp_hide_trans", 3_hours, true, msg, "survival", 3 ); } if( miss_id == "Camp Forage" ) { start_mission( "_faction_camp_foraging", 4_hours, true, - _( "departs to search for edible plants..." ), false, {}, "survival", 0 ); + _( "departs to search for edible plants…" ), false, {}, skill_survival, 0 ); } else if( miss_id == "Recover Foragers" ) { - gathering_return( "_faction_camp_foraging", 4_hours, by_radio ); + gathering_return( "_faction_camp_foraging", 4_hours ); } if( miss_id == "Trap Small Game" ) { start_mission( "_faction_camp_trapping", 6_hours, true, - _( "departs to set traps for small animals..." ), false, {}, "traps", 0 ); + _( "departs to set traps for small animals…" ), false, {}, skill_traps, 0 ); } else if( miss_id == "Recover Trappers" ) { - gathering_return( "_faction_camp_trapping", 6_hours, by_radio ); + gathering_return( "_faction_camp_trapping", 6_hours ); } if( miss_id == "Hunt Large Animals" ) { start_mission( "_faction_camp_hunting", 6_hours, true, - _( "departs to hunt for meat..." ), false, {}, "gun", 0 ); + _( "departs to hunt for meat…" ), false, {}, skill_gun, 0 ); } else if( miss_id == "Recover Hunter" ) { - gathering_return( "_faction_camp_hunting", 6_hours, by_radio ); + gathering_return( "_faction_camp_hunting", 6_hours ); } if( miss_id == "Construct Map Fort" || miss_id == "Construct Trench" ) { @@ -1401,14 +1399,14 @@ bool basecamp::handle_mission( const std::string &miss_id, const cata::optional< if( miss_id == "Construct Trench" ) { bldg_exp = "faction_wall_level_N_1"; } - start_fortifications( bldg_exp, by_radio ); + start_fortifications( bldg_exp ); } else if( miss_id == "Finish Map Fort" ) { fortifications_return(); } if( miss_id == "Recruit Companions" ) { start_mission( "_faction_camp_recruit_0", 4_days, true, - _( "departs to search for recruits..." ), false, {}, "gun", 0 ); + _( "departs to search for recruits…" ), false, {}, skill_gun, 0 ); } else if( miss_id == "Recover Recruiter" ) { recruit_return( "_faction_camp_recruit_0", recruit_evaluation() ); } @@ -1423,97 +1421,73 @@ bool basecamp::handle_mission( const std::string &miss_id, const cata::optional< combat_mission_return( "_faction_camp_combat_0" ); } - if( miss_id == "Expand Base" ) { - start_mission( "_faction_camp_expansion", 3_hours, true, - _( "departs to survey land..." ), false, {}, "gun", 0 ); - } else if( miss_id == "Recover Surveyor" ) { - survey_return(); - } + const std::string base_dir_id = base_camps::all_directions.at( base_camps::base_dir ).id; + const std::string miss_dir_id = base_camps::all_directions.at( miss_dir ).id; + const tripoint omt_trg = omt_pos + miss_dir; - const std::string miss_dir_id = miss_dir ? base_camps::all_directions - .at( *miss_dir ).id : std::string(); - // crafting missions are always supposed to have a direction - if( miss_dir ) { - if( *miss_dir == base_dir ) { - start_crafting( miss_id, *miss_dir, "BASE", "_faction_camp_crafting_", by_radio ); - } - if( miss_id == base_dir_id + " (Finish) Crafting" ) { - const std::string msg = _( "returns to you with something..." ); - mission_return( "_faction_camp_crafting_" + miss_dir_id, 1_minutes, true, msg, - "construction", 2 ); + if( miss_id.substr( 0, 18 + miss_dir_id.size() ) == miss_dir_id + " Expansion Upgrade" ) { + const std::string bldg = miss_id.substr( 18 + miss_dir_id.size() ); + start_upgrade( bldg, miss_dir, bldg + "_faction_upgrade_exp_" + miss_dir_id ); + } else if( miss_id == "Recover Ally, " + miss_dir_id + " Expansion" ) { + upgrade_return( miss_dir, "_faction_upgrade_exp_" + miss_dir_id ); + } else { + const std::string search_str = "Recover Ally, " + miss_dir_id + " Expansion"; + size_t search_len = search_str.size(); + if( miss_id.size() > search_len && miss_id.substr( 0, search_len ) == search_str ) { + const std::string bldg = miss_id.substr( search_len ); + upgrade_return( miss_dir, bldg + "_faction_upgrade_exp_" + miss_dir_id, bldg ); } } - for( const point &dir : directions ) { - if( miss_dir && dir == *miss_dir ) { - const tripoint omt_trg = expansions[dir].pos; - if( miss_id.substr( 0, 18 + miss_dir_id.size() ) == miss_dir_id + " Expansion Upgrade" ) { - const std::string bldg = miss_id.substr( 18 + miss_dir_id.size() ); - start_upgrade( bldg, dir, bldg + "_faction_upgrade_exp_" + miss_dir_id, - by_radio ); - } else if( miss_id == "Recover Ally, " + miss_dir_id + " Expansion" ) { - upgrade_return( dir, "_faction_upgrade_exp_" + miss_dir_id ); - } else { - const std::string search_str = "Recover Ally, " + miss_dir_id + " Expansion"; - size_t search_len = search_str.size(); - if( miss_id.size() > search_len && miss_id.substr( 0, search_len ) == search_str ) { - const std::string bldg = miss_id.substr( search_len ); - upgrade_return( dir, bldg + "_faction_upgrade_exp_" + miss_dir_id, bldg ); - } - } - - start_crafting( miss_id, *miss_dir, "FARM", "_faction_exp_farm_crafting_", - by_radio ); - if( miss_id == miss_dir_id + " (Finish) Crafting" && *miss_dir != base_dir ) { - const std::string msg = _( "returns from your farm with something..." ); - mission_return( "_faction_exp_farm_crafting_" + miss_dir_id, 1_minutes, true, msg, - "construction", 2 ); - } + start_crafting( miss_id, miss_dir, "BASE", "_faction_camp_crafting_" ); + start_crafting( miss_id, miss_dir, "FARM", "_faction_exp_farm_crafting_" ); + if( miss_id == base_dir_id + " (Finish) Crafting" ) { + const std::string msg = _( "returns to you with something…" ); + mission_return( "_faction_camp_crafting_" + miss_dir_id, 1_minutes, true, msg, + "construction", 2 ); + } else if( miss_id == miss_dir_id + " (Finish) Crafting" ) { + const std::string msg = _( "returns from your farm with something…" ); + mission_return( "_faction_exp_farm_crafting_" + miss_dir_id, 1_minutes, true, msg, + "construction", 2 ); + } - start_crafting( miss_id, *miss_dir, "COOK", "_faction_exp_kitchen_cooking_", - by_radio ); - if( miss_id == miss_dir_id + " (Finish) Cooking" ) { - const std::string msg = _( "returns from your kitchen with something..." ); - mission_return( "_faction_exp_kitchen_cooking_" + miss_dir_id, 1_minutes, - true, msg, "cooking", 2 ); - } + start_crafting( miss_id, miss_dir, "COOK", "_faction_exp_kitchen_cooking_" ); + if( miss_id == miss_dir_id + " (Finish) Cooking" ) { + const std::string msg = _( "returns from your kitchen with something…" ); + mission_return( "_faction_exp_kitchen_cooking_" + miss_dir_id, 1_minutes, + true, msg, "cooking", 2 ); + } - start_crafting( miss_id, *miss_dir, "SMITH", "_faction_exp_blacksmith_crafting_", - by_radio ); - if( miss_id == miss_dir_id + " (Finish) Smithing" ) { - const std::string msg = _( "returns from your blacksmith shop with " - "something..." ); - mission_return( "_faction_exp_blacksmith_crafting_" + miss_dir_id, 1_minutes, - true, msg, "fabrication", 2 ); - } - if( miss_id == miss_dir_id + " Plow Fields" ) { - start_farm_op( *miss_dir, omt_trg, farm_ops::plow ); - } else if( miss_id == miss_dir_id + " (Finish) Plow Fields" ) { - farm_return( "_faction_exp_plow_" + miss_dir_id, omt_trg, farm_ops::plow ); - } + start_crafting( miss_id, miss_dir, "SMITH", "_faction_exp_blacksmith_crafting_" ); + if( miss_id == miss_dir_id + " (Finish) Smithing" ) { + const std::string msg = _( "returns from your blacksmith shop with something…" ); + mission_return( "_faction_exp_blacksmith_crafting_" + miss_dir_id, 1_minutes, + true, msg, "fabrication", 2 ); + } + if( miss_id == miss_dir_id + " Plow Fields" ) { + start_farm_op( miss_dir, omt_trg, farm_ops::plow ); + } else if( miss_id == miss_dir_id + " (Finish) Plow Fields" ) { + farm_return( "_faction_exp_plow_" + miss_dir_id, omt_trg, farm_ops::plow ); + } - if( miss_id == miss_dir_id + " Plant Fields" ) { - start_farm_op( *miss_dir, omt_trg, farm_ops::plant ); - } else if( miss_id == miss_dir_id + " (Finish) Plant Fields" ) { - farm_return( "_faction_exp_plant_" + miss_dir_id, omt_trg, farm_ops::plant ); - } + if( miss_id == miss_dir_id + " Plant Fields" ) { + start_farm_op( miss_dir, omt_trg, farm_ops::plant ); + } else if( miss_id == miss_dir_id + " (Finish) Plant Fields" ) { + farm_return( "_faction_exp_plant_" + miss_dir_id, omt_trg, farm_ops::plant ); + } - if( miss_id == miss_dir_id + " Harvest Fields" ) { - start_farm_op( *miss_dir, omt_trg, farm_ops::harvest ); - } else if( miss_id == miss_dir_id + " (Finish) Harvest Fields" ) { - farm_return( "_faction_exp_harvest_" + miss_dir_id, omt_trg, - farm_ops::harvest ); - } + if( miss_id == miss_dir_id + " Harvest Fields" ) { + start_farm_op( miss_dir, omt_trg, farm_ops::harvest ); + } else if( miss_id == miss_dir_id + " (Finish) Harvest Fields" ) { + farm_return( "_faction_exp_harvest_" + miss_dir_id, omt_trg, farm_ops::harvest ); + } - if( miss_id == miss_dir_id + " Chop Shop" ) { - start_garage_chop( *miss_dir, omt_trg ); - } else if( miss_id == miss_dir_id + " (Finish) Chop Shop" ) { - const std::string msg = _( "returns from your garage..." ); - mission_return( "_faction_exp_chop_shop_" + miss_dir_id, 5_days, true, msg, - "mechanics", 2 ); - } - break; - } + if( miss_id == miss_dir_id + " Chop Shop" ) { + start_garage_chop( miss_dir, omt_trg ); + } else if( miss_id == miss_dir_id + " (Finish) Chop Shop" ) { + const std::string msg = _( "returns from your garage…" ); + mission_return( "_faction_exp_chop_shop_" + miss_dir_id, 5_days, true, msg, + "mechanics", 2 ); } if( miss_id == "Emergency Recall" ) { @@ -1525,21 +1499,31 @@ bool basecamp::handle_mission( const std::string &miss_id, const cata::optional< g->draw_panels( true ); return true; + } // camp faction companion mission start functions npc_ptr basecamp::start_mission( const std::string &miss_id, time_duration duration, bool must_feed, const std::string &desc, bool /*group*/, const std::vector &equipment, - const std::string &skill_tested, int skill_level ) + const skill_id &skill_tested, int skill_level ) +{ + std::map required_skills; + required_skills[ skill_tested ] = skill_level; + return start_mission( miss_id, duration, must_feed, desc, false, equipment, required_skills ); +} + +npc_ptr basecamp::start_mission( const std::string &miss_id, time_duration duration, + bool must_feed, const std::string &desc, bool /*group*/, + const std::vector &equipment, + const std::map &required_skills ) { if( must_feed && camp_food_supply() < time_to_food( duration ) ) { popup( _( "You don't have enough food stored to feed your companion." ) ); return nullptr; } npc_ptr comp = talk_function::individual_mission( omt_pos, base_camps::id, desc, miss_id, - false, equipment, skill_tested, - skill_level ); + false, equipment, required_skills ); if( comp != nullptr ) { comp->companion_mission_time_ret = calendar::turn + duration; if( must_feed ) { @@ -1550,7 +1534,7 @@ npc_ptr basecamp::start_mission( const std::string &miss_id, time_duration durat } void basecamp::start_upgrade( const std::string &bldg, const point &dir, - const std::string &key, bool by_radio ) + const std::string &key ) { const recipe &making = recipe_id( bldg ).obj(); //Stop upgrade if you don't have materials @@ -1558,13 +1542,24 @@ void basecamp::start_upgrade( const std::string &bldg, const point &dir, bool must_feed = bldg != "faction_base_camp_1"; time_duration work_days = base_camps::to_workdays( making.batch_duration() ); - npc_ptr comp = start_mission( key, work_days, must_feed, - _( "begins to upgrade the camp..." ), false, {}, - making.skill_used.str(), making.difficulty ); + npc_ptr comp = nullptr; + if( making.required_skills.empty() ) { + if( making.skill_used.is_valid() ) { + comp = start_mission( key, work_days, must_feed, + _( "begins to upgrade the camp…" ), false, {}, + making.skill_used, making.difficulty ); + } else { + comp = start_mission( key, work_days, must_feed, + _( "begins to upgrade the camp…" ), false, {} ); + } + } else { + comp = start_mission( key, work_days, must_feed, _( "begins to upgrade the camp…" ), + false, {}, making.required_skills ); + } if( comp == nullptr ) { return; } - consume_components( making, 1, by_radio ); + consume_components( making, 1 ); update_in_progress( bldg, dir ); } else { popup( _( "You don't have the materials for the upgrade." ) ); @@ -1674,7 +1669,7 @@ void basecamp::start_menial_labor() popup( _( "You don't have enough food stored to feed your companion." ) ); return; } - std::shared_ptr comp = talk_function::companion_choose( "", 0 ); + std::shared_ptr comp = talk_function::companion_choose(); if( comp == nullptr ) { return; } @@ -1711,7 +1706,8 @@ void basecamp::start_cut_logs() g->draw_ter(); npc_ptr comp = start_mission( "_faction_camp_cut_log", work_time, true, - _( "departs to cut logs..." ), false, {}, "fabrication", 2 ); + _( "departs to cut logs…" ), false, {}, + skill_fabrication, 2 ); if( comp != nullptr ) { om_cutdown_trees_logs( forest, 50 ); om_harvest_ter( *comp, forest, ter_id( "t_tree_young" ), 50 ); @@ -1756,8 +1752,8 @@ void basecamp::start_clearcut() g->draw_ter(); npc_ptr comp = start_mission( "_faction_camp_clearcut", work_time, - true, _( "departs to clear a forest..." ), false, {}, - "fabrication", 1 ); + true, _( "departs to clear a forest…" ), false, {}, + skill_fabrication, 1 ); if( comp != nullptr ) { om_cutdown_trees_trunks( forest, 95 ); om_harvest_ter_break( *comp, forest, ter_id( "t_tree_young" ), 95 ); @@ -1798,8 +1794,8 @@ void basecamp::start_setup_hide_site() return; } npc_ptr comp = start_mission( "_faction_camp_hide_site", work_time, true, - _( "departs to build a hide site..." ), false, {}, - "survival", 3 ); + _( "departs to build a hide site…" ), false, {}, + skill_survival, 3 ); if( comp != nullptr ) { trips = om_carry_weight_to_trips( losing_equipment, comp ); haulage = trips <= 2 ? 0 : losing_equipment.size(); @@ -1809,7 +1805,7 @@ void basecamp::start_setup_hide_site() om_set_hide_site( *comp, forest, losing_equipment ); } } else { - popup( _( "You need equipment to setup a hide site..." ) ); + popup( _( "You need equipment to setup a hide site…" ) ); } } } @@ -1859,8 +1855,8 @@ void basecamp::start_relay_hide_site() } npc_ptr comp = start_mission( "_faction_camp_hide_trans", work_time, true, - _( "departs for the hide site..." ), false, {}, - "survival", 3 ); + _( "departs for the hide site…" ), false, {}, + skill_survival, 3 ); if( comp != nullptr ) { // recalculate trips based on actual load trips = std::max( om_carry_weight_to_trips( gaining_equipment, comp ), @@ -1873,12 +1869,12 @@ void basecamp::start_relay_hide_site() om_set_hide_site( *comp, forest, losing_equipment, gaining_equipment ); } } else { - popup( _( "You need equipment to transport between the hide site..." ) ); + popup( _( "You need equipment to transport between the hide site…" ) ); } } } -void basecamp::start_fortifications( std::string &bldg_exp, bool by_radio ) +void basecamp::start_fortifications( std::string &bldg_exp ) { std::vector allowed_locations = { "forest", "forest_thick", "forest_water", "field" @@ -1957,10 +1953,10 @@ void basecamp::start_fortifications( std::string &bldg_exp, bool by_radio ) } npc_ptr comp = start_mission( "_faction_camp_om_fortifications", total_time, true, - _( "begins constructing fortifications..." ), false, {}, - making.skill_used.str(), making.difficulty ); + _( "begins constructing fortifications…" ), false, {}, + making.required_skills ); if( comp != nullptr ) { - consume_components( making, fortify_om.size() * 2 - 2, by_radio ); + consume_components( making, fortify_om.size() * 2 - 2 ); comp->companion_mission_role_id = bldg_exp; for( auto pt : fortify_om ) { comp->companion_mission_points.push_back( pt ); @@ -1985,8 +1981,8 @@ void basecamp::start_combat_mission( const std::string &miss ) travel_time, dist, trips, time_to_food( travel_time ) ) ) ) { return; } - npc_ptr comp = start_mission( miss, travel_time, true, _( "departs on patrol..." ), - false, {}, "survival", 3 ); + npc_ptr comp = start_mission( miss, travel_time, true, _( "departs on patrol…" ), + false, {}, skill_survival, 3 ); if( comp != nullptr ) { comp->companion_mission_points = scout_points; } @@ -1998,8 +1994,7 @@ void basecamp::start_combat_mission( const std::string &miss ) // and then search for the mission id without direction prefix in the recipes // if there's a match, the player has selected a crafting mission void basecamp::start_crafting( const std::string &cur_id, const point &cur_dir, - const std::string &type, const std::string &miss_id, - bool by_radio ) + const std::string &type, const std::string &miss_id ) { const std::string cur_dir_id = base_camps::all_directions.at( cur_dir ).id; const std::map &recipes = recipe_deck( type ); @@ -2033,10 +2028,10 @@ void basecamp::start_crafting( const std::string &cur_id, const point &cur_dir, } time_duration work_days = base_camps::to_workdays( making.batch_duration( batch_size ) ); npc_ptr comp = start_mission( miss_id + cur_dir_id, work_days, true, - _( "begins to work..." ), false, {}, - making.skill_used.str(), making.difficulty ); + _( "begins to work…" ), false, {}, + making.required_skills ); if( comp != nullptr ) { - consume_components( making, batch_size, by_radio ); + consume_components( making, batch_size ); for( const item &results : making.create_results( batch_size ) ) { comp->companion_mission_inv.add_item( results ); } @@ -2182,12 +2177,12 @@ void basecamp::start_farm_op( const point &dir, const tripoint &omt_tgt, farm_op case farm_ops::harvest: work += 3_minutes * plots_cnt; start_mission( "_faction_exp_harvest_" + dir_id, work, true, - _( "begins to harvest the field..." ), false, {}, "survival", 0 ); + _( "begins to harvest the field…" ), false, {}, skill_survival, 1 ); break; case farm_ops::plant: { std::vector seed_inv = _inv.items_with( farm_valid_seed ); if( seed_inv.empty() ) { - popup( _( "You have no additional seeds to give your companions..." ) ); + popup( _( "You have no additional seeds to give your companions…" ) ); return; } std::vector plant_these = give_equipment( seed_inv, @@ -2202,13 +2197,14 @@ void basecamp::start_farm_op( const point &dir, const tripoint &omt_tgt, farm_op } work += 1_minutes * plots_seeded; start_mission( "_faction_exp_plant_" + dir_id, work, true, - _( "begins planting the field..." ), false, plant_these, "", 0 ); + _( "begins planting the field…" ), false, plant_these, + skill_survival, 1 ); break; } case farm_ops::plow: work += 5_minutes * plots_cnt; start_mission( "_faction_exp_plow_" + dir_id, work, true, - _( "begins plowing the field..." ), false, {}, "", 0 ); + _( "begins plowing the field…" ), false, {} ); break; default: debugmsg( "Farm operations called with no operation" ); @@ -2229,8 +2225,8 @@ bool basecamp::start_garage_chop( const point &dir, const tripoint &omt_tgt ) const std::string dir_id = base_camps::all_directions.at( dir ).id; npc_ptr comp = start_mission( "_faction_exp_chop_shop_" + dir_id, 5_days, true, - _( "begins working in the garage..." ), false, {}, - "mechanics", 2 ); + _( "begins working in the garage…" ), false, {}, + skill_mechanics, 2 ); if( comp == nullptr ) { return false; } @@ -2311,7 +2307,7 @@ void basecamp::finish_return( npc &comp, const bool fixed_time, const std::strin // that food. so add it back in. int need_food = time_to_food( mission_time - reserve_time ); if( camp_food_supply() < need_food ) { - popup( _( "Your companion seems disappointed that your pantry is empty..." ) ); + popup( _( "Your companion seems disappointed that your pantry is empty…" ) ); } int avail_food = std::min( need_food, camp_food_supply() ) + time_to_food( reserve_time ); // movng all the logic from talk_function::companion return here instead of polluting @@ -2319,12 +2315,11 @@ void basecamp::finish_return( npc &comp, const bool fixed_time, const std::strin comp.reset_companion_mission(); comp.companion_mission_time = calendar::before_time_starts; comp.companion_mission_time_ret = calendar::before_time_starts; - bool by_radio = g->u.global_omt_location() != comp.global_omt_location(); if( !cancel ) { for( size_t i = 0; i < comp.companion_mission_inv.size(); i++ ) { for( const auto &it : comp.companion_mission_inv.const_stack( i ) ) { if( !it.count_by_charges() || it.charges > 0 ) { - place_results( it, by_radio ); + place_results( it ); } } } @@ -2361,7 +2356,7 @@ npc_ptr basecamp::emergency_recall() npc_ptr comp = talk_function::companion_choose_return( omt_pos, base_camps::id, "", calendar::turn - 24_hours, false ); if( comp != nullptr ) { - const std::string return_msg = _( "responds to the emergency recall..." ); + const std::string return_msg = _( "responds to the emergency recall…" ); finish_return( *comp, false, return_msg, "menial", 0, true ); } return comp; @@ -2402,7 +2397,7 @@ bool basecamp::upgrade_return( const point &dir, const std::string &miss, update_resources( bldg ); const std::string msg = _( "returns from upgrading the camp having earned a bit of " - "experience..." ); + "experience…" ); finish_return( *comp, false, msg, "construction", making.difficulty ); return true; @@ -2410,7 +2405,7 @@ bool basecamp::upgrade_return( const point &dir, const std::string &miss, bool basecamp::menial_return() { - const std::string msg = _( "returns from doing the dirty work to keep the camp running..." ); + const std::string msg = _( "returns from doing the dirty work to keep the camp running…" ); npc_ptr comp = mission_return( "_faction_camp_menial", 3_hours, true, msg, "menial", 2 ); if( comp == nullptr ) { return false; @@ -2419,7 +2414,7 @@ bool basecamp::menial_return() return true; } -bool basecamp::gathering_return( const std::string &task, time_duration min_time, bool by_radio ) +bool basecamp::gathering_return( const std::string &task, time_duration min_time ) { npc_ptr comp = companion_choose_return( task, min_time ); if( comp == nullptr ) { @@ -2459,7 +2454,7 @@ bool basecamp::gathering_return( const std::string &task, time_duration min_time return false; } const std::string msg = string_format( _( "returns from %s carrying supplies and has a bit " - "more experience..." ), task_description ); + "more experience…" ), task_description ); finish_return( *comp, false, msg, skill_group, 1 ); std::string itemlist = "forest"; @@ -2486,10 +2481,9 @@ bool basecamp::gathering_return( const std::string &task, time_duration min_time } } if( task == "_faction_camp_trapping" || task == "_faction_camp_hunting" ) { - hunting_results( skill, task, checks_per_cycle * mission_time / min_time, 30, by_radio ); + hunting_results( skill, task, checks_per_cycle * mission_time / min_time, 30 ); } else { - search_results( skill, itemlist, checks_per_cycle * mission_time / min_time, 15, - by_radio ); + search_results( skill, itemlist, checks_per_cycle * mission_time / min_time, 15 ); } return true; @@ -2534,7 +2528,7 @@ void basecamp::fortifications_return() fortifications.push_back( fort_point ); } } - const std::string msg = _( "returns from constructing fortifications..." ); + const std::string msg = _( "returns from constructing fortifications…" ); finish_return( *comp, true, msg, "construction", 2 ); } } @@ -2542,7 +2536,7 @@ void basecamp::fortifications_return() void basecamp::recruit_return( const std::string &task, int score ) { const std::string msg = _( "returns from searching for recruits with " - "a bit more experience..." ); + "a bit more experience…" ); npc_ptr comp = mission_return( task, 4_days, true, msg, "recruiting", 2 ); if( comp == nullptr ) { return; @@ -2555,18 +2549,18 @@ void basecamp::recruit_return( const std::string &task, int score ) recruit = std::make_shared(); recruit->normalize(); recruit->randomize(); - popup( _( "%s encountered %s..." ), comp->name, recruit->name ); + popup( _( "%s encountered %s…" ), comp->name, recruit->name ); } else { - popup( _( "%s didn't find anyone to recruit..." ), comp->name ); + popup( _( "%s didn't find anyone to recruit…" ), comp->name ); return; } //Chance of convincing them to come back skill = ( 100 * comp->get_skill_level( skill_speech ) + score ) / 100; if( rng( 1, 20 ) + skill > 19 ) { - popup( _( "%s convinced %s to hear a recruitment offer from you..." ), comp->name, + popup( _( "%s convinced %s to hear a recruitment offer from you…" ), comp->name, recruit->name ); } else { - popup( _( "%s wasn't interested in anything %s had to offer..." ), recruit->name, + popup( _( "%s wasn't interested in anything %s had to offer…" ), recruit->name, comp->name ); return; } @@ -2576,7 +2570,7 @@ void basecamp::recruit_return( const std::string &task, int score ) int food_desire = rng( 0, 5 ); while( rec_m >= 0 ) { std::string description = _( "NPC Overview:\n\n" ); - description += string_format( _( "Name: %20s\n\n" ), recruit->name ); + description += string_format( _( "Name: %s\n\n" ), right_justify( recruit->name, 20 ) ); description += string_format( _( "Strength: %10d\n" ), recruit->str_max ); description += string_format( _( "Dexterity: %10d\n" ), recruit->dex_max ); description += string_format( _( "Intelligence: %10d\n" ), recruit->int_max ); @@ -2590,11 +2584,11 @@ void basecamp::recruit_return( const std::string &task, int score ) return level_a > level_b || ( level_a == level_b && a.name() < b.name() ); } ); - description += string_format( "%12s: %4d\n", skillslist[0]->name(), + description += string_format( "%s: %4d\n", right_justify( skillslist[0]->name(), 12 ), recruit->get_skill_level( skillslist[0]->ident() ) ); - description += string_format( "%12s: %4d\n", skillslist[1]->name(), + description += string_format( "%s: %4d\n", right_justify( skillslist[1]->name(), 12 ), recruit->get_skill_level( skillslist[1]->ident() ) ); - description += string_format( "%12s: %4d\n\n", skillslist[2]->name(), + description += string_format( "%s: %4d\n\n", right_justify( skillslist[2]->name(), 12 ), recruit->get_skill_level( skillslist[2]->ident() ) ); description += _( "Asking for:\n" ); @@ -2613,7 +2607,7 @@ void basecamp::recruit_return( const std::string &task, int score ) rec_m = uilist( description, rec_options ); if( rec_m < 0 || rec_m == 3 || static_cast( rec_m ) >= rec_options.size() ) { - popup( _( "You decide you aren't interested..." ) ); + popup( _( "You decide you aren't interested…" ) ); return; } @@ -2635,7 +2629,7 @@ void basecamp::recruit_return( const std::string &task, int score ) if( rng( 1, 20 ) + appeal >= 10 ) { popup( _( "%s has been convinced to join!" ), recruit->name ); } else { - popup( _( "%s wasn't interested..." ), recruit->name ); + popup( _( "%s wasn't interested…" ), recruit->name ); // nullptr; return; } @@ -2648,7 +2642,7 @@ void basecamp::recruit_return( const std::string &task, int score ) recruit->add_new_mission( mission::reserve_random( ORIGIN_ANY_NPC, recruit->global_omt_location(), recruit->getID() ) ); - recruit->set_attitude( NPCATT_FOLLOW ); + talk_function::follow( *recruit ); g->load_npcs(); } @@ -2667,10 +2661,10 @@ void basecamp::combat_mission_return( const std::string &miss ) int swim = comp->get_skill_level( skill_swimming ); if( is_river( omt_ref ) && swim < 2 ) { if( swim == 0 ) { - popup( _( "Your companion hit a river and didn't know how to swim..." ) ); + popup( _( "Your companion hit a river and didn't know how to swim…" ) ); } else { popup( _( "Your companion hit a river and didn't know how to swim well " - "enough to cross..." ) ); + "enough to cross…" ) ); } break; } @@ -2680,14 +2674,14 @@ void basecamp::combat_mission_return( const std::string &miss ) if( outcome ) { overmap_buffer.reveal( pt, 2 ); } else if( comp->is_dead() ) { - popup( _( "%s didn't return from patrol..." ), comp->name ); + popup( _( "%s didn't return from patrol…" ), comp->name ); comp->place_corpse( pt ); overmap_buffer.add_note( pt, "DEAD NPC" ); overmap_buffer.remove_npc( comp->getID() ); return; } } - const std::string msg = _( "returns from patrol..." ); + const std::string msg = _( "returns from patrol…" ); finish_return( *comp, true, msg, "combat", 4 ); } } @@ -2745,7 +2739,7 @@ bool basecamp::survey_return() bool basecamp::farm_return( const std::string &task, const tripoint &omt_tgt, farm_ops op ) { - const std::string msg = _( "returns from working your fields..." ); + const std::string msg = _( "returns from working your fields…" ); npc_ptr comp = companion_choose_return( task, 15_minutes ); if( comp == nullptr ) { return false; @@ -2831,21 +2825,19 @@ int basecamp::recipe_batch_max( const recipe &making ) const return max_batch; } -void basecamp::search_results( int skill, const Group_tag &group_id, int attempts, int difficulty, - bool by_radio ) +void basecamp::search_results( int skill, const Group_tag &group_id, int attempts, int difficulty ) { for( int i = 0; i < attempts; i++ ) { if( skill > rng( 0, difficulty ) ) { auto result = item_group::item_from( group_id, calendar::turn ); if( ! result.is_null() ) { - place_results( result, by_radio ); + place_results( result ); } } } } -void basecamp::hunting_results( int skill, const std::string &task, int attempts, int difficulty, - bool by_radio ) +void basecamp::hunting_results( int skill, const std::string &task, int attempts, int difficulty ) { // no item groups for corpses, so we'll have to improvise weighted_int_list hunting_targets; @@ -2891,7 +2883,7 @@ void basecamp::hunting_results( int skill, const std::string &task, int attempts const mtype_id *target = hunting_targets.pick(); auto result = item::make_corpse( *target, calendar::turn, "" ); if( ! result.is_null() ) { - place_results( result, by_radio ); + place_results( result ); } } } @@ -3361,17 +3353,16 @@ bool basecamp::validate_sort_points() mgr.cache_vzones(); } tripoint src_loc = bb_pos + point_north; - const auto abspos = g->m.getabs( g->u.pos() ); - if( !mgr.has_near( z_loot_unsorted, abspos ) || - !mgr.has_near( z_camp_food, abspos ) || !mgr.has_loot_dest_near( abspos ) ) { + const tripoint abspos = g->m.getabs( g->u.pos() ); + if( !mgr.has_near( z_camp_storage, abspos, 60 ) || !mgr.has_near( z_camp_food, abspos, 60 ) ) { if( query_yn( _( "You do not have sufficient sort zones. Do you want to add them?" ) ) ) { return set_sort_points(); } else { return false; } } else { - const auto &src_set = mgr.get_near( z_loot_unsorted, abspos ); - const auto &src_sorted = get_sorted_tiles_by_distance( abspos, src_set ); + const std::unordered_set &src_set = mgr.get_near( z_camp_storage, abspos ); + const std::vector &src_sorted = get_sorted_tiles_by_distance( abspos, src_set ); // Find the nearest unsorted zone to dump objects at for( auto &src : src_sorted ) { src_loc = g->m.getlocal( src ); @@ -3385,8 +3376,7 @@ bool basecamp::validate_sort_points() bool basecamp::set_sort_points() { popup( _( "Sorting zones have changed. Please create some sorting zones. " - "You must create a camp food zone for your camp, an unsorted loot zone, " - "and at least one destination loot zone." ) ); + "You must create a camp food zone, and a camp storage zone." ) ); g->zones_manager(); return validate_sort_points(); } @@ -3430,10 +3420,10 @@ std::string camp_trip_description( const time_duration &total_time, entry += string_format( _( ">One Way: %15d (trips)\n" ), trips ); entry += string_format( _( ">Covered: %15d (m)\n" ), dist_m * trips ); } - entry += string_format( _( ">Travel: %23s\n" ), to_string( travel_time ) ); - entry += string_format( _( ">Working: %23s\n" ), to_string( working_time ) ); + entry += string_format( _( ">Travel: %s\n" ), right_justify( to_string( travel_time ), 23 ) ); + entry += string_format( _( ">Working: %s\n" ), right_justify( to_string( working_time ), 23 ) ); entry += "---- ----\n"; - entry += string_format( _( "Total: %23s\n" ), to_string( total_time ) ); + entry += string_format( _( "Total: %s\n" ), right_justify( to_string( total_time ), 23 ) ); entry += string_format( _( "Food: %15d (kcal)\n\n" ), need_food ); return entry; } @@ -3593,28 +3583,28 @@ std::string basecamp::farm_description( const tripoint &farm_pos, size_t &plots_ std::string camp_car_description( vehicle *car ) { - std::string entry = string_format( _( "Name: %25s\n" ), car->name ); + std::string entry = string_format( _( "Name: %s\n" ), right_justify( car->name, 25 ) ); entry += _( "---- Engines ----\n" ); for( const vpart_reference &vpr : car->get_any_parts( "ENGINE" ) ) { const vehicle_part &pt = vpr.part(); const vpart_info &vp = pt.info(); - entry += string_format( _( "Engine: %25s\n" ), vp.name() ); + entry += string_format( _( "Engine: %s\n" ), right_justify( vp.name(), 25 ) ); entry += string_format( _( ">Status: %24d%%\n" ), static_cast( 100 * pt.health_percent() ) ); - entry += string_format( _( ">Fuel: %25s\n" ), vp.fuel_type ); + entry += string_format( _( ">Fuel: %s\n" ), right_justify( item::nname( vp.fuel_type ), 25 ) ); } std::map fuels = car->fuels_left(); entry += _( "---- Fuel Storage & Battery ----\n" ); for( auto &fuel : fuels ) { std::string fuel_entry = string_format( "%d/%d", car->fuel_left( fuel.first ), car->fuel_capacity( fuel.first ) ); - entry += string_format( ">%s:%*s\n", item( fuel.first ).tname(), - 33 - item( fuel.first ).tname().length(), fuel_entry ); + entry += string_format( ">%s:%s\n", item( fuel.first ).tname(), + right_justify( fuel_entry, 33 - utf8_width( item( fuel.first ).tname() ) ) ); } for( auto &pt : car->parts ) { if( pt.is_battery() ) { const vpart_info &vp = pt.info(); - entry += string_format( ">%s:%*d%%\n", vp.name(), 32 - vp.name().length(), + entry += string_format( ">%s:%*d%%\n", vp.name(), 32 - utf8_width( vp.name() ), static_cast( 100.0 * pt.ammo_remaining() / pt.ammo_capacity() ) ); } @@ -3655,7 +3645,7 @@ int time_to_food( time_duration work ) bool basecamp::distribute_food() { if( !validate_sort_points() ) { - popup( _( "You do not have a camp food zone. Aborting..." ) ); + popup( _( "You do not have a camp food zone. Aborting…" ) ); return false; } @@ -3663,8 +3653,8 @@ bool basecamp::distribute_food() if( g->m.check_vehicle_zones( g->get_levz() ) ) { mgr.cache_vzones(); } - const tripoint &abspos = g->m.getabs( g->u.pos() ); - const std::unordered_set &z_food = mgr.get_near( z_camp_food, abspos ); + const tripoint &abspos = get_dumping_spot(); + const std::unordered_set &z_food = mgr.get_near( z_camp_food, abspos, 60 ); tripoint p_litter = omt_to_sm_copy( omt_pos ) + point( -7, 0 ); @@ -3677,7 +3667,7 @@ bool basecamp::distribute_food() } } if( !has_food ) { - popup( _( "No items are located at the drop point..." ) ); + popup( _( "No items are located at the drop point…" ) ); return false; } double quick_rot = 0.6 + ( has_provides( "pantry" ) ? 0.1 : 0 ); @@ -3743,7 +3733,7 @@ int camp_morale( int change ) return yours->likes_u; } -void basecamp::place_results( item result, bool by_radio ) +void basecamp::place_results( item result ) { if( by_radio ) { tinymap target_bay; @@ -3758,8 +3748,8 @@ void basecamp::place_results( item result, bool by_radio ) mgr.cache_vzones(); } const auto abspos = g->m.getabs( g->u.pos() ); - if( mgr.has_near( z_loot_unsorted, abspos ) ) { - const auto &src_set = mgr.get_near( z_loot_unsorted, abspos ); + if( mgr.has_near( z_camp_storage, abspos ) ) { + const auto &src_set = mgr.get_near( z_camp_storage, abspos ); const auto &src_sorted = get_sorted_tiles_by_distance( abspos, src_set ); // Find the nearest unsorted zone to dump objects at for( auto &src : src_sorted ) { @@ -3791,7 +3781,7 @@ void apply_camp_ownership( const tripoint &camp_pos, int radius ) // this entire system is stupid bool survive_random_encounter( npc &comp, std::string &situation, int favor, int threat ) { - popup( _( "While %s, a silent specter approaches %s..." ), situation, comp.name ); + popup( _( "While %s, a silent specter approaches %s…" ), situation, comp.name ); int skill_1 = comp.get_skill_level( skill_survival ); int skill_2 = comp.get_skill_level( skill_speech ); if( skill_1 + favor > rng( 0, 10 ) ) { @@ -3815,15 +3805,15 @@ bool survive_random_encounter( npc &comp, std::string &situation, int favor, int int monsters = rng( 0, threat ); if( skill * rng( 8, 12 ) > ( monsters * rng( 8, 12 ) ) ) { if( one_in( 2 ) ) { - popup( _( "The bull moose charged %s from the tree line..." ), comp.name ); + popup( _( "The bull moose charged %s from the tree line…" ), comp.name ); popup( _( "Despite being caught off guard %s was able to run away until the " "moose gave up pursuit." ), comp.name ); } else { popup( _( "The jabberwock grabbed %s by the arm from behind and " "began to scream." ), comp.name ); popup( _( "Terrified, %s spun around and delivered a massive kick " - "to the creature's torso..." ), comp.name ); - popup( _( "Collapsing into a pile of gore, %s walked away unscathed..." ), + "to the creature's torso…" ), comp.name ); + popup( _( "Collapsing into a pile of gore, %s walked away unscathed…" ), comp.name ); popup( _( "(Sounds like bullshit, you wonder what really happened.)" ) ); } @@ -3831,11 +3821,11 @@ bool survive_random_encounter( npc &comp, std::string &situation, int favor, int } else { if( one_in( 2 ) ) { popup( _( "%s turned to find the hideous black eyes of a giant wasp " - "staring back from only a few feet away..." ), comp.name ); + "staring back from only a few feet away…" ), comp.name ); popup( _( "The screams were terrifying, there was nothing anyone could do." ) ); } else { popup( _( "Pieces of %s were found strewn across a few bushes." ), comp.name ); - popup( _( "(You wonder if your companions are fit to work on their own...)" ) ); + popup( _( "(You wonder if your companions are fit to work on their own…)" ) ); } overmap_buffer.remove_npc( comp.getID() ); return false; diff --git a/src/fault.cpp b/src/fault.cpp index 63053b0cf198c..e33dad799aceb 100644 --- a/src/fault.cpp +++ b/src/fault.cpp @@ -2,8 +2,8 @@ #include -#include "calendar.h" #include "debug.h" +#include "generic_factory.h" #include "json.h" #include "requirements.h" #include "translations.h" @@ -35,38 +35,48 @@ void fault::load_fault( JsonObject &jo ) { fault f; - f.id_ = fault_id( jo.get_string( "id" ) ); - jo.read( "name", f.name_ ); - jo.read( "description", f.description_ ); + mandatory( jo, false, "id", f.id_ ); + mandatory( jo, false, "name", f.name_ ); + mandatory( jo, false, "description", f.description_ ); - if( jo.has_int( "time" ) ) { - // TODO: better have a from_moves function - f.time_ = to_moves( time_duration::from_turns( jo.get_int( "time" ) / 100 ) ); - } else if( jo.has_string( "time" ) ) { - f.time_ = to_moves( read_from_json_string( *jo.get_raw( "time" ), - time_duration::units ) ); - } + JsonArray ja_methods = jo.get_array( "mending_methods" ); + while( ja_methods.has_more() ) { + JsonObject jo_method = ja_methods.next_object(); + mending_method m; - auto sk = jo.get_array( "skills" ); - while( sk.has_more() ) { - auto cur = sk.next_array(); - f.skills_.emplace( skill_id( cur.get_string( 0 ) ), cur.size() >= 2 ? cur.get_int( 1 ) : 1 ); - } + mandatory( jo_method, false, "id", m.id ); + optional( jo_method, false, "name", m.name, f.name_ ); + optional( jo_method, false, "description", m.description, f.description_ ); + mandatory( jo_method, false, "success_msg", m.success_msg ); + mandatory( jo_method, false, "time", m.time ); - if( jo.has_string( "requirements" ) ) { - f.requirements_ = requirement_id( jo.get_string( "requirements" ) ); + JsonArray jo_skills = jo_method.get_array( "skills" ); + while( jo_skills.has_more() ) { + JsonObject jo_skill = jo_skills.next_object(); + skill_id sk_id; + mandatory( jo_skill, false, "id", sk_id ); + m.skills.emplace( sk_id, jo_skill.get_int( "level" ) ); + } - } else { - auto req = jo.get_object( "requirements" ); - const requirement_id req_id( std::string( "inline_fault_" ) + f.id_.str() ); - requirement_data::load_requirement( req, req_id ); - f.requirements_ = req_id; + if( jo_method.has_string( "requirements" ) ) { + mandatory( jo_method, false, "requirements", m.requirements ); + } else { + JsonObject jo_req = jo_method.get_object( "requirements" ); + m.requirements = requirement_id( m.id ); + requirement_data::load_requirement( jo_req, m.requirements ); + } + + optional( jo_method, false, "turns_into", m.turns_into, cata::nullopt ); + + f.mending_methods_.emplace( m.id, m ); } + optional( jo, false, "flags", f.flags ); + if( faults_all.find( f.id_ ) != faults_all.end() ) { jo.throw_error( "parsed fault overwrites existing definition", "id" ); } else { - faults_all[ f.id_ ] = f; + faults_all[f.id_] = f; } } @@ -83,17 +93,29 @@ void fault::reset() void fault::check_consistency() { for( const auto &f : faults_all ) { - if( f.second.time_ < 0 ) { - debugmsg( "fault %s has negative time requirement", f.second.id_.c_str() ); - } - for( auto &e : f.second.skills_ ) { - if( !e.first.is_valid() ) { - debugmsg( "fault %s has unknown skill %s", f.second.id_.c_str(), e.first.c_str() ); + for( const auto &m : f.second.mending_methods_ ) { + if( !m.second.requirements.is_valid() ) { + debugmsg( "fault %s has invalid requirement id %s for mending method %s", + f.second.id_.str(), m.second.requirements.str(), m.first ); + } + if( m.second.time < 0_turns ) { + debugmsg( "fault %s requires negative mending time for mending method %s", + f.second.id_.str(), m.first ); + } + for( const auto &sk : m.second.skills ) { + if( !sk.first.is_valid() ) { + debugmsg( "fault %s requires unknown skill %s for mending method %s", + f.second.id_.str(), sk.first.str(), m.first ); + } + if( sk.second <= 0 ) { + debugmsg( "fault %s requires non-positive level of skill %s for mending method %s", + f.second.id_.str(), sk.first.str(), m.first ); + } + } + if( m.second.turns_into && !m.second.turns_into->is_valid() ) { + debugmsg( "fault %s has invalid turns_into fault id %s for mending method %s", + f.second.id_.str(), m.second.turns_into->str(), m.first ); } - } - if( !f.second.requirements_.is_valid() ) { - debugmsg( "fault %s has missing requirement data %s", - f.second.id_.c_str(), f.second.requirements_.c_str() ); } } } diff --git a/src/fault.h b/src/fault.h index 86e065694f695..ff1329a6bb4e3 100644 --- a/src/fault.h +++ b/src/fault.h @@ -3,8 +3,10 @@ #define FAULT_H #include +#include #include +#include "calendar.h" #include "string_id.h" #include "translations.h" #include "type_id.h" @@ -12,6 +14,17 @@ class JsonObject; struct requirement_data; +struct mending_method { + std::string id; + translation name; + translation description; + translation success_msg; + time_duration time; + std::map skills; + requirement_id requirements; + cata::optional turns_into; +}; + class fault { public: @@ -33,16 +46,20 @@ class fault return description_.translated(); } - int time() const { - return time_; + const std::map &mending_methods() const { + return mending_methods_; } - const std::map &skills() const { - return skills_; + const mending_method *find_mending_method( const std::string &id ) const { + if( mending_methods_.find( id ) != mending_methods_.end() ) { + return &mending_methods_.at( id ); + } else { + return nullptr; + } } - const requirement_data &requirements() const { - return requirements_.obj(); + bool has_flag( const std::string &flag ) const { + return flags.count( flag ); } /** Load fault from JSON definition */ @@ -61,9 +78,8 @@ class fault fault_id id_; translation name_; translation description_; - int time_; - std::map skills_; - requirement_id requirements_; + std::map mending_methods_; + std::set flags; }; #endif diff --git a/src/filesystem.cpp b/src/filesystem.cpp index 96498b52b8ca6..54bd22e644e0c 100644 --- a/src/filesystem.cpp +++ b/src/filesystem.cpp @@ -117,6 +117,7 @@ bool remove_directory( const std::string &path ) const char *cata_files::eol() { #if defined(_WIN32) + // NOLINTNEXTLINE(cata-text-style): carriage return is necessary here static const char local_eol[] = "\r\n"; #else static const char local_eol[] = "\n"; @@ -191,6 +192,7 @@ bool is_directory_stat( const std::string &full_path ) } if( S_ISDIR( result.st_mode ) ) { + // NOLINTNEXTLINE(readability-simplify-boolean-expr) return true; } diff --git a/src/flag.cpp b/src/flag.cpp index a0066e624f720..ccf7f3d0da620 100644 --- a/src/flag.cpp +++ b/src/flag.cpp @@ -23,6 +23,11 @@ void json_flag::load( JsonObject &jo ) jo.read( "info", f.info_ ); jo.read( "conflicts", f.conflicts_ ); jo.read( "inherit", f.inherit_ ); + jo.read( "craft_inherit", f.craft_inherit_ ); + + // FIXME: most flags have a "context" field that isn't used for anything + // Test for it here to avoid errors about unvisited members + jo.has_member( "context" ); } void json_flag::check_consistency() diff --git a/src/flag.h b/src/flag.h index bbea83f4e544a..0f951a2fce9af 100644 --- a/src/flag.h +++ b/src/flag.h @@ -30,6 +30,11 @@ class json_flag return inherit_; } + /** Is flag inherited by crafted items from any component items? */ + bool craft_inherit() const { + return craft_inherit_; + } + /** Is this a valid (non-null) flag */ operator bool() const { return !id_.empty(); @@ -40,6 +45,7 @@ class json_flag std::string info_; std::set conflicts_; bool inherit_ = true; + bool craft_inherit_ = false; json_flag( const std::string &id = std::string() ) : id_( id ) {} diff --git a/src/font_loader.h b/src/font_loader.h index a2d490ef99a1d..67c85da1df525 100644 --- a/src/font_loader.h +++ b/src/font_loader.h @@ -62,13 +62,13 @@ class font_loader public: /// @throws std::exception upon any kind of error. void load() { - const std::string fontdata = FILENAMES["fontdata"]; - const std::string legacy_fontdata = FILENAMES["legacy_fontdata"]; + const std::string fontdata = PATH_INFO::fontdata(); + const std::string legacy_fontdata = PATH_INFO::legacy_fontdata(); if( file_exist( fontdata ) ) { load_throws( fontdata ); } else { load_throws( legacy_fontdata ); - assure_dir_exist( FILENAMES["config_dir"] ); + assure_dir_exist( PATH_INFO::config_dir() ); save( fontdata ); } } diff --git a/src/game.cpp b/src/game.cpp index d88d1b4a28a17..1bbd0377b2d10 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -199,6 +199,8 @@ const efftype_id effect_emp( "emp" ); const efftype_id effect_evil( "evil" ); const efftype_id effect_flu( "flu" ); const efftype_id effect_glowing( "glowing" ); +const efftype_id effect_has_bag( "has_bag" ); +const efftype_id effect_harnessed( "harnessed" ); const efftype_id effect_hot( "hot" ); const efftype_id effect_infected( "infected" ); const efftype_id effect_laserlocked( "laserlocked" ); @@ -208,16 +210,15 @@ const efftype_id effect_pacified( "pacified" ); const efftype_id effect_paid( "paid" ); const efftype_id effect_pet( "pet" ); const efftype_id effect_relax_gas( "relax_gas" ); +const efftype_id effect_ridden( "ridden" ); +const efftype_id effect_riding( "riding" ); const efftype_id effect_sleep( "sleep" ); const efftype_id effect_stunned( "stunned" ); const efftype_id effect_teleglow( "teleglow" ); const efftype_id effect_tetanus( "tetanus" ); +const efftype_id effect_tied( "tied" ); const efftype_id effect_visuals( "visuals" ); const efftype_id effect_winded( "winded" ); -const efftype_id effect_ridden( "ridden" ); -const efftype_id effect_riding( "riding" ); -const efftype_id effect_has_bag( "has_bag" ); -const efftype_id effect_harnessed( "harnessed" ); static const bionic_id bio_remote( "bio_remote" ); @@ -406,7 +407,7 @@ void game::load_core_data( loading_ui &ui ) // anyway. DynamicDataLoader::get_instance().unload_data(); - load_data_from_dir( FILENAMES[ "jsondir" ], "core", ui ); + load_data_from_dir( PATH_INFO::jsondir(), "core", ui ); } void game::load_data_from_dir( const std::string &path, const std::string &src, loading_ui &ui ) @@ -628,7 +629,7 @@ void game::reenter_fullscreen() */ void game::setup() { - popup_status( _( "Please wait while the world data loads..." ), _( "Loading core data" ) ); + popup_status( _( "Please wait while the world data loads…" ), _( "Loading core data" ) ); loading_ui ui( true ); load_core_data( ui ); @@ -747,7 +748,7 @@ bool game::start_game() u.moves = 0; u.process_turn(); // process_turn adds the initial move points - u.stamina = u.get_stamina_max(); + u.set_stamina( u.get_stamina_max() ); weather.temperature = SPRING_TEMPERATURE; weather.update_weather(); u.next_climate_control_check = calendar::before_time_starts; // Force recheck at startup @@ -869,6 +870,14 @@ void game::load_npcs() // uses submap coordinates std::vector> just_added; for( const auto &temp : overmap_buffer.get_npcs_near_player( radius ) ) { + const character_id &id = temp->getID(); + const auto found = std::find_if( active_npc.begin(), active_npc.end(), + [id]( const std::shared_ptr &n ) { + return n->getID() == id; + } ); + if( found != active_npc.end() ) { + continue; + } if( temp->is_active() ) { continue; } @@ -999,7 +1008,7 @@ bool game::cleanup_at_end() iNameLine = vRip.size(); vRip.emplace_back( "| <" ); vRip.emplace_back( "| |" ); - iMaxWidth = vRip[vRip.size() - 1].length(); + iMaxWidth = utf8_width( vRip.back() ); vRip.emplace_back( "| |" ); vRip.emplace_back( "|_____.-._____ __/|_________|" ); vRip.emplace_back( " | |" ); @@ -1010,7 +1019,7 @@ bool game::cleanup_at_end() vRip.emplace_back( " | _ |" ); vRip.emplace_back( " |__/ |" ); vRip.emplace_back( " % / `--. |%" ); - vRip.emplace_back( " * .%%| -< @%%%" ); + vRip.emplace_back( " * .%%| -< @%%%" ); // NOLINT(cata-text-style) vRip.emplace_back( " `\\%`@| |@@%@%%" ); vRip.emplace_back( " .%%%@@@|% ` % @@@%%@%%%%" ); vRip.emplace_back( " _.%%%%%%@@@@@@%%%__/\\%@@%%@@@@@@@%%%%%%" ); @@ -1033,11 +1042,11 @@ bool game::cleanup_at_end() iNameLine = vRip.size(); vRip.emplace_back( "| <" ); vRip.emplace_back( "| |" ); - iMaxWidth = vRip[vRip.size() - 1].length(); + iMaxWidth = utf8_width( vRip.back() ); vRip.emplace_back( "| |" ); vRip.emplace_back( "|_____.-._______ __/|__________|" ); vRip.emplace_back( " % / `_-. _ |%" ); - vRip.emplace_back( " * .%%| |_) | |_)< @%%%" ); + vRip.emplace_back( " * .%%| |_) | |_)< @%%%" ); // NOLINT(cata-text-style) vRip.emplace_back( " `\\%`@| | \\ | | |@@%@%%" ); vRip.emplace_back( " .%%%@@@|% ` % @@@%%@%%%%" ); vRip.emplace_back( " _.%%%%%%@@@@@@%%%__/\\%@@%%@@@@@@@%%%%%%" ); @@ -1056,7 +1065,7 @@ bool game::cleanup_at_end() vRip.emplace_back( R"(| |)" ); vRip.emplace_back( R"(| _ |)" ); vRip.emplace_back( R"(|__/ |)" ); - iMaxWidth = vRip[vRip.size() - 1].length(); + iMaxWidth = utf8_width( vRip.back() ); vRip.emplace_back( R"( / `--. |)" ); vRip.emplace_back( R"(| ( )" ); iInfoLine = vRip.size(); @@ -1083,27 +1092,30 @@ bool game::cleanup_at_end() sfx::fade_audio_group( sfx::group::fatigue, 2000 ); for( size_t iY = 0; iY < vRip.size(); ++iY ) { - for( size_t iX = 0; iX < vRip[iY].length(); ++iX ) { - char cTemp = vRip[iY][iX]; - if( cTemp != ' ' ) { + size_t iX = 0; + const char *str = vRip[iY].data(); + for( int slen = vRip[iY].size(); slen > 0; ) { + const uint32_t cTemp = UTF8_getch( &str, &slen ); + if( cTemp != U' ' ) { nc_color ncColor = c_light_gray; - if( cTemp == '%' ) { + if( cTemp == U'%' ) { ncColor = c_green; - } else if( cTemp == '_' || cTemp == '|' ) { + } else if( cTemp == U'_' || cTemp == U'|' ) { ncColor = c_white; - } else if( cTemp == '@' ) { + } else if( cTemp == U'@' ) { ncColor = c_brown; - } else if( cTemp == '*' ) { + } else if( cTemp == U'*' ) { ncColor = c_red; } mvwputch( w_rip, point( iX + FULL_SCREEN_WIDTH / 2 - ( iMaxWidth / 2 ), iY + 1 ), ncColor, - vRip[iY][iX] ); + cTemp ); } + iX += mk_wcwidth( cTemp ); } } @@ -1210,6 +1222,9 @@ bool game::cleanup_at_end() } } + //Reset any offset due to driving + set_driving_view_offset( point_zero ); + //clear all sound channels sfx::fade_audio_channel( sfx::channel::any, 300 ); sfx::fade_audio_group( sfx::group::weather, 300 ); @@ -1497,7 +1512,7 @@ bool game::do_turn() m.build_floor_caches(); m.process_falling(); - following_vehicles(); + autopilot_vehicles(); m.vehmove(); // Process power and fuel consumption for all vehicles, including off-map ones. @@ -1524,7 +1539,7 @@ bool game::do_turn() // consider a stripped down cache just for monsters. m.build_map_cache( get_levz(), true ); monmove(); - if( calendar::once_every( 3_minutes ) ) { + if( calendar::once_every( 5_minutes ) ) { overmap_npc_move(); } if( calendar::once_every( 10_seconds ) ) { @@ -1544,6 +1559,7 @@ bool game::do_turn() u.process_active_items(); if( get_levz() >= 0 && !u.is_underwater() ) { + do_rain( weather.weather ); weather::effect( weather.weather )(); } @@ -1560,7 +1576,7 @@ bool game::do_turn() if( calendar::once_every( 1_minutes ) ) { query_popup() - .wait_message( "%s", _( "Wait till you wake up..." ) ) + .wait_message( "%s", _( "Wait till you wake up…" ) ) .on_top( true ) .show(); @@ -1568,7 +1584,7 @@ bool game::do_turn() refresh_display(); } } else if( calendar::once_every( 1_minutes ) ) { - if( const cata::optional progress = u.activity.get_progress_message() ) { + if( const cata::optional progress = u.activity.get_progress_message( u ) ) { query_popup() .wait_message( "%s", *progress ) .on_top( true ) @@ -1633,12 +1649,14 @@ void game::process_activity() } } -void game::following_vehicles() +void game::autopilot_vehicles() { for( auto &veh : m.get_vehicles() ) { auto &v = veh.v; if( v->is_following ) { - v->drive_to_local_target( u.pos(), true ); + v->drive_to_local_target( g->m.getabs( u.pos() ), true ); + } else if( v->is_patrolling ) { + v->autopilot_patrol(); } } } @@ -1759,11 +1777,6 @@ static int maptile_field_intensity( maptile &mt, field_type_id fld ) return field_ptr == nullptr ? 0 : field_ptr->get_field_intensity(); } -static bool maptile_trap_eq( maptile &mt, const trap_id &id ) -{ - return mt.get_trap() == id; -} - int get_heat_radiation( const tripoint &location, bool direct ) { // Direct heat from fire sources @@ -1779,7 +1792,7 @@ int get_heat_radiation( const tripoint &location, bool direct ) int ffire = maptile_field_intensity( mt, fd_fire ); if( ffire > 0 ) { heat_intensity = ffire; - } else if( maptile_trap_eq( mt, tr_lava ) ) { + } else if( g->m.tr_at( dest ).loadid == tr_lava ) { heat_intensity = 3; } if( heat_intensity == 0 ) { @@ -1811,8 +1824,8 @@ int get_convection_temperature( const tripoint &location ) { int temp_mod = 0; // Directly on lava tiles - maptile mt = g->m.maptile_at( location ); - int lava_mod = maptile_trap_eq( mt, tr_lava ) ? fd_fire.obj().get_convection_temperature_mod() : 0; + int lava_mod = g->m.tr_at( location ).loadid == tr_lava ? + fd_fire.obj().get_convection_temperature_mod() : 0; // Modifier from fields for( auto fd : g->m.field_at( location ) ) { // Nullify lava modifier when there is open fire @@ -2047,9 +2060,10 @@ int game::inventory_item_menu( int pos, int iStartX, int iWidth, action_menu.border_color = BORDER_COLOR; do { - draw_item_info( iStartX, iWidth, VIEW_OFFSET_X, TERMY - VIEW_OFFSET_Y * 2, oThisItem.tname(), - oThisItem.type_name(), vThisItem, vDummy, - iScrollPos, true, false, false ); + item_info_data data( oThisItem.tname(), oThisItem.type_name(), vThisItem, vDummy, iScrollPos ); + data.without_getch = true; + + draw_item_info( iStartX, iWidth, VIEW_OFFSET_X, TERMY - VIEW_OFFSET_Y * 2, data ); const int prev_selected = action_menu.selected; action_menu.query( false ); if( action_menu.ret >= 0 ) { @@ -2151,6 +2165,9 @@ int game::inventory_item_menu( int pos, int iStartX, int iWidth, bool game::handle_mouseview( input_context &ctxt, std::string &action ) { cata::optional liveview_pos; + auto &mgr = panel_manager::get_manager(); + const bool sidebar_right = get_option( "SIDEBAR_POSITION" ) == "right"; + int width = sidebar_right ? mgr.get_width_right() : mgr.get_width_left(); do { action = ctxt.handle_input(); if( action == "MOUSE_MOVE" ) { @@ -2158,9 +2175,14 @@ bool game::handle_mouseview( input_context &ctxt, std::string &action ) if( mouse_pos && ( !liveview_pos || *mouse_pos != *liveview_pos ) ) { liveview_pos = mouse_pos; liveview.show( *liveview_pos ); + draw_panels( true ); + const catacurses::window &w = catacurses::newwin( TERMY / 2, width, + point( sidebar_right ? TERMX - width : 0, 0 ) ); + liveview.draw( w, TERMY / 2 ); } else if( !mouse_pos ) { liveview_pos.reset(); liveview.hide(); + draw_panels( true ); } } } while( action == "MOUSE_MOVE" ); // Freeze animation when moving the mouse @@ -2537,7 +2559,7 @@ bool game::is_game_over() if( get_option( "DEATHCAM" ) == "always" ) { uquit = QUIT_WATCH; } else if( get_option( "DEATHCAM" ) == "ask" ) { - uquit = query_yn( _( "Watch the last moments of your life...?" ) ) ? + uquit = query_yn( _( "Watch the last moments of your life…?" ) ) ? QUIT_WATCH : QUIT_DIED; } else if( get_option( "DEATHCAM" ) == "never" ) { uquit = QUIT_DIED; @@ -2564,7 +2586,7 @@ void game::death_screen() void game::move_save_to_graveyard() { const std::string &save_dir = get_world_base_save_path(); - const std::string &graveyard_dir = FILENAMES["graveyarddir"]; + const std::string &graveyard_dir = PATH_INFO::graveyarddir(); const std::string &prefix = base64_encode( u.name ) + "."; if( !assure_dir_exist( graveyard_dir ) ) { @@ -2937,7 +2959,7 @@ std::vector game::list_active_characters() */ void game::write_memorial_file( std::string sLastWords ) { - const std::string &memorial_dir = FILENAMES["memorialdir"]; + const std::string &memorial_dir = PATH_INFO::memorialdir(); const std::string &memorial_active_world_dir = memorial_dir + utf8_to_native( world_generator->active_world->world_name ) + "/"; @@ -3029,21 +3051,21 @@ void game::disp_faction_ends() for( const auto &elem : faction_manager_ptr->all() ) { if( elem.second.known_by_u ) { if( elem.second.name == "Your Followers" ) { - data.emplace_back( _( " You are forgotten among the billions lost in the cataclysm..." ) ); + data.emplace_back( _( " You are forgotten among the billions lost in the cataclysm…" ) ); display_table( w, "", 1, data ); } else if( elem.second.name == "The Old Guard" && elem.second.power != 100 ) { if( elem.second.power < 150 ) { data.emplace_back( _( " Locked in an endless battle, the Old Guard was forced to consolidate their " "resources in a handful of fortified bases along the coast. Without the men " - "or material to rebuild, the soldiers that remained lost all hope..." ) ); + "or material to rebuild, the soldiers that remained lost all hope…" ) ); } else { data.emplace_back( _( " The steadfastness of individual survivors after the cataclysm impressed " "the tattered remains of the once glorious union. Spurred on by small " "successes, a number of operations to re-secure facilities met with limited " "success. Forced to eventually consolidate to large bases, the Old Guard left " "these facilities in the hands of the few survivors that remained. As the " - "years past, little materialized from the hopes of rebuilding civilization..." ) ); + "years past, little materialized from the hopes of rebuilding civilization…" ) ); } display_table( w, _( "The Old Guard" ), 1, data ); } else if( elem.second.name == "The Free Merchants" && elem.second.power != 100 ) { @@ -3051,13 +3073,13 @@ void game::disp_faction_ends() data.emplace_back( _( " Life in the refugee shelter deteriorated as food shortages and disease " "destroyed any hope of maintaining a civilized enclave. The merchants and " "craftsmen dispersed to found new colonies but most became victims of " - "marauding bandits. Those who survived never found a place to call home..." ) ); + "marauding bandits. Those who survived never found a place to call home…" ) ); } else { data.emplace_back( _( " The Free Merchants struggled for years to keep themselves fed but their " "once profitable trade routes were plundered by bandits and thugs. In squalor " "and filth the first generations born after the cataclysm are told stories of " "the old days when food was abundant and the children were allowed to play in " - "the sun..." ) ); + "the sun…" ) ); } display_table( w, _( "The Free Merchants" ), 1, data ); } else if( elem.second.name == "The Tacoma Commune" && elem.second.power != 100 ) { @@ -3081,7 +3103,7 @@ void game::disp_faction_ends() _( " The lone bands of survivors who wandered the now alien world dwindled in " "number through the years. Unable to compete with the growing number of " "monstrosities that had adapted to live in their world, those who did survive " - "lived in dejected poverty and hopelessness..." ) ); + "lived in dejected poverty and hopelessness…" ) ); } else { data.emplace_back( _( " The scavengers who flourished in the opening days of the cataclysm found " @@ -3089,7 +3111,7 @@ void game::disp_faction_ends() "old world. Enormous hordes made cities impossible to enter while new " "eldritch horrors appeared mysteriously near old research labs. But on the " "fringes of where civilization once ended, bands of hunter-gatherers began to " - "adopt agrarian lifestyles in fortified enclaves..." ) ); + "adopt agrarian lifestyles in fortified enclaves…" ) ); } display_table( w, _( "The Wasteland Scavengers" ), 1, data ); } else if( elem.second.name == "Hell's Raiders" && elem.second.power != 100 ) { @@ -3106,7 +3128,7 @@ void game::disp_faction_ends() "brought the warlords abundant territory and slaves but little in the way of " "stability. Within weeks, infighting led to civil war as tribes vied for " "leadership of the faction. When only one warlord finally secured control, " - "there was nothing left to fight for... just endless cities full of the dead." ) ); + "there was nothing left to fight for… just endless cities full of the dead." ) ); } display_table( w, _( "Hell's Raiders" ), 1, data ); } @@ -3287,7 +3309,7 @@ void game::draw_critter( const Creature &critter, const tripoint ¢er ) return; } - if( u.sees_with_infrared( critter ) ) { + if( u.sees_with_infrared( critter ) || u.sees_with_specials( critter ) ) { mvwputch( w_terrain, point( mx, my ), c_red, '?' ); } } @@ -4233,7 +4255,7 @@ void game::monmove() // It has to be done before the last turn, otherwise // there will be no meaningful debug output. if( turns == 9 ) { - debugmsg( "NPC %s entered infinite loop. Turning on debug mode", + debugmsg( "NPC %s entered infinite loop. Turning on debug mode", guy.name ); debug_mode = true; } @@ -4257,7 +4279,8 @@ void game::monmove() void game::overmap_npc_move() { std::vector travelling_npcs; - for( auto &elem : overmap_buffer.get_npcs_near_player( 75 ) ) { + static constexpr int move_search_radius = 120; + for( auto &elem : overmap_buffer.get_npcs_near_player( move_search_radius ) ) { if( !elem ) { continue; } @@ -4269,6 +4292,10 @@ void game::overmap_npc_move() } for( auto &elem : travelling_npcs ) { if( elem->has_omt_destination() ) { + if( !elem->omt_path.empty() && rl_dist( elem->omt_path.back(), elem->global_omt_location() ) > 2 ) { + //recalculate path, we got distracted doing something else probably + elem->omt_path.clear(); + } if( elem->omt_path.empty() ) { elem->omt_path = overmap_buffer.get_npc_path( elem->global_omt_location(), elem->goal ); } else { @@ -4636,6 +4663,7 @@ T *game::critter_by_id( const character_id id ) } // monsters don't have ids +template Character *game::critter_by_id( character_id ); template player *game::critter_by_id( character_id ); template npc *game::critter_by_id( character_id ); template Creature *game::critter_by_id( character_id ); @@ -4827,7 +4855,7 @@ bool game::swap_critters( Creature &a, Creature &b ) g->m.unboard_vehicle( u_or_npc->pos() ); } - if( other_npc->in_vehicle ) { + if( other_npc && other_npc->in_vehicle ) { g->m.unboard_vehicle( other_npc->pos() ); } @@ -4839,7 +4867,7 @@ bool game::swap_critters( Creature &a, Creature &b ) g->m.board_vehicle( u_or_npc->pos(), u_or_npc ); } - if( g->m.veh_at( other_npc->pos() ).part_with_feature( VPFLAG_BOARDABLE, true ) ) { + if( other_npc && g->m.veh_at( other_npc->pos() ).part_with_feature( VPFLAG_BOARDABLE, true ) ) { g->m.board_vehicle( other_npc->pos(), other_npc ); } @@ -5293,6 +5321,9 @@ void game::control_vehicle() u.clear_memorized_tile( m.getabs( target ) ); } veh->is_following = false; + veh->is_patrolling = false; + veh->autopilot_on = false; + veh->is_autodriving = false; } } @@ -5751,7 +5782,7 @@ void game::print_all_tile_info( const tripoint &lp, const catacurses::window &w_ print_items_info( lp, w_look, column, line, last_line ); print_graffiti_info( lp, w_look, column, line, last_line ); - if( draw_terrain_indicators ) { + if( draw_terrain_indicators && !liveview.is_enabled() ) { if( creature != nullptr && u.sees( *creature ) ) { creature->draw( w_terrain, lp, true ); } else { @@ -5767,7 +5798,7 @@ void game::print_all_tile_info( const tripoint &lp, const catacurses::window &w_ case VIS_HIDDEN: print_visibility_info( w_look, column, line, visibility ); - if( draw_terrain_indicators ) { + if( draw_terrain_indicators && !liveview.is_enabled() ) { print_visibility_indicator( visibility ); } break; @@ -5854,6 +5885,7 @@ void game::print_terrain_info( const tripoint &lp, const catacurses::window &w_l std::string signage = m.get_signage( lp ); if( !signage.empty() ) { trim_and_print( w_look, point( column, ++lines ), max_width, c_dark_gray, + // NOLINTNEXTLINE(cata-text-style): the question mark does not end a sentence u.has_trait( trait_ILLITERATE ) ? _( "Sign: ???" ) : _( "Sign: %s" ), signage ); } @@ -5992,7 +6024,7 @@ void game::print_items_info( const tripoint &lp, const catacurses::window &w_loo const int max_width = getmaxx( w_look ) - column - 1; for( const auto &it : item_names ) { if( line >= last_line - 2 ) { - mvwprintz( w_look, point( column, ++line ), c_yellow, _( "More items here..." ) ); + mvwprintz( w_look, point( column, ++line ), c_yellow, _( "More items here…" ) ); break; } @@ -7290,15 +7322,16 @@ game::vmenu_ret game::list_items( const std::vector &item_list ) refilter = true; uistate.list_item_filter_active = false; addcategory = !sort_radius; - } else if( action == "EXAMINE" && !filtered_items.empty() ) { + } else if( action == "EXAMINE" && !filtered_items.empty() && activeItem ) { std::vector vThisItem; std::vector vDummy; - int dummy = 0; // draw_item_info needs an int & - assert( activeItem ); // To appease static analysis activeItem->example->info( true, vThisItem ); - draw_item_info( 0, width - 5, 0, TERMY - VIEW_OFFSET_Y * 2, - activeItem->example->tname(), activeItem->example->type_name(), vThisItem, vDummy, dummy, - false, false, true ); + + item_info_data info_data( activeItem->example->tname(), activeItem->example->type_name(), vThisItem, + vDummy ); + info_data.handle_scrolling = true; + + draw_item_info( 0, width - 5, 0, TERMY - VIEW_OFFSET_Y * 2, info_data ); // wait until the user presses a key to wipe the screen iLastActive.reset(); } else if( action == "PRIORITY_INCREASE" ) { @@ -7425,8 +7458,7 @@ game::vmenu_ret game::list_items( const std::vector &item_list ) iActive = mSortCategory[0].empty() ? 0 : 1; } } else if( action == "RIGHT" ) { - if( !filtered_items.empty() ) { - assert( activeItem ); // To appease static analysis + if( !filtered_items.empty() && activeItem ) { if( ++page_num >= static_cast( activeItem->vIG.size() ) ) { page_num = activeItem->vIG.size() - 1; } @@ -7533,7 +7565,12 @@ game::vmenu_ret game::list_items( const std::vector &item_list ) std::vector vThisItem; std::vector vDummy; activeItem->example->info( true, vThisItem ); - draw_item_info( w_item_info, "", "", vThisItem, vDummy, iScrollPos, true, true ); + + item_info_data dummy( "", "", vThisItem, vDummy, iScrollPos ); + dummy.without_getch = true; + dummy.without_border = true; + + draw_item_info( w_item_info, dummy ); iLastActive.emplace( active_pos ); centerlistview( active_pos, width ); @@ -7889,14 +7926,14 @@ static int get_initial_hotkey( const size_t menu_index ) // There are options for optimization here, but the function is hit infrequently // enough that optimizing now is not a useful time expenditure. static std::vector> generate_butcher_stack_display( - std::vector &its ) + const std::vector &its ) { std::vector> result; std::vector result_strings; result.reserve( its.size() ); result_strings.reserve( its.size() ); - for( map_stack::iterator &it : its ) { + for( const map_stack::iterator &it : its ) { const std::string tname = it->tname(); size_t s = 0; // Search for the index with a string equivalent to tname @@ -8254,8 +8291,7 @@ void game::butcher() // Add corpses, disassembleables, and salvagables to the UI add_corpses( kmenu, corpses, i ); add_disassemblables( kmenu, disassembly_stacks, i ); - if( !salvageables.empty() ) { - assert( salvage_iuse ); // To appease static analysis + if( salvage_iuse && !salvageables.empty() ) { add_salvagables( kmenu, salvage_stacks, i, *salvage_iuse ); } @@ -8276,8 +8312,7 @@ void game::butcher() kmenu.addentry_col( MULTIDISASSEMBLE_ALL, true, 'd', _( "Disassemble everything" ), to_string_clipped( time_duration::from_turns( time_to_disassemble_all / 100 ) ) ); } - if( salvageables.size() > 1 ) { - assert( salvage_iuse ); // To appease static analysis + if( salvage_iuse && salvageables.size() > 1 ) { int time_to_salvage = 0; for( const auto &stack : salvage_stacks ) { time_to_salvage += salvage_iuse->time_to_cut_up( *stack.first ) * stack.second; @@ -8324,7 +8359,7 @@ void game::butcher() } const auto helpers = u.get_crafting_helpers(); for( const npc *np : helpers ) { - add_msg( m_info, _( "%s helps with this task..." ), np->name ); + add_msg( m_info, _( "%s helps with this task…" ), np->name ); break; } switch( butcher_select ) { @@ -8457,10 +8492,10 @@ void game::eat( item_location( *menu )( player &p ), int pos ) u.consume( pos ); } else if( u.consume_item( *it ) ) { - if( it->is_food_container() ) { + if( it->is_food_container() || !u.can_consume_as_is( *it ) ) { it->contents.erase( it->contents.begin() ); add_msg( _( "You leave the empty %s." ), it->tname() ); - } else if( u.can_consume_as_is( *it ) ) { + } else { item_loc.remove_item(); } } @@ -8731,8 +8766,8 @@ void game::wield( item_location &loc ) u.unwield(); if( is_unwielding ) { - if( u.style_selected != matype_id( "style_none" ) ) { - u.martialart_use_message(); + if( !u.martial_arts_data.selected_is_none() ) { + u.martial_arts_data.martialart_use_message( u ); } return; } @@ -9013,6 +9048,20 @@ std::vector game::get_dangerous_tile( const tripoint &dest_loc ) co bool game::walk_move( const tripoint &dest_loc ) { + if( m.has_flag_ter( TFLAG_SMALL_PASSAGE, dest_loc ) ) { + if( u.get_size() > MS_MEDIUM ) { + add_msg( m_warning, _( "You can't fit there." ) ); + return false; // character too large to fit through a tight passage + } + if( u.is_mounted() ) { + monster *mount = u.mounted_creature.get(); + if( mount->get_size() > MS_MEDIUM ) { + add_msg( m_warning, _( "Your mount can't fit there." ) ); + return false; // char's mount is too large for tight passages + } + } + } + if( u.is_mounted() ) { auto mons = u.mounted_creature.get(); if( mons->has_flag( MF_RIDEABLE_MECH ) ) { @@ -9022,6 +9071,10 @@ bool game::walk_move( const tripoint &dest_loc ) return false; } } + if( !mons->move_effects( false ) ) { + add_msg( m_bad, _( "You cannot move as your %s isn't able to move." ), mons->get_name() ); + return false; + } } const optional_vpart_position vp_here = m.veh_at( u.pos() ); const optional_vpart_position vp_there = m.veh_at( dest_loc ); @@ -9109,7 +9162,12 @@ bool game::walk_move( const tripoint &dest_loc ) modifier = -m.furn( dest_loc ).obj().movecost; } - const int mcost = m.combined_movecost( u.pos(), dest_loc, grabbed_vehicle, modifier ); + int multiplier = 1; + if( u.is_on_ground() ) { + multiplier *= 3; + } + + const int mcost = m.combined_movecost( u.pos(), dest_loc, grabbed_vehicle, modifier ) * multiplier; if( grabbed_move( dest_loc - u.pos() ) ) { return true; } else if( mcost == 0 ) { @@ -9131,11 +9189,11 @@ bool game::walk_move( const tripoint &dest_loc ) const double base_moves = u.run_cost( mcost, diag ) * 100.0 / crit->get_speed(); const double encumb_moves = u.get_weight() / 4800.0_gram; u.moves -= static_cast( ceil( base_moves + encumb_moves ) ); - if( u.movement_mode_is( PMM_WALK ) ) { + if( u.movement_mode_is( CMM_WALK ) ) { crit->use_mech_power( -2 ); - } else if( u.movement_mode_is( PMM_CROUCH ) ) { + } else if( u.movement_mode_is( CMM_CROUCH ) ) { crit->use_mech_power( -1 ); - } else if( u.movement_mode_is( PMM_RUN ) ) { + } else if( u.movement_mode_is( CMM_RUN ) ) { crit->use_mech_power( -3 ); } } else { @@ -9205,9 +9263,9 @@ bool game::walk_move( const tripoint &dest_loc ) } else if( u.has_bionic( bionic_id( "bio_ankles" ) ) ) { volume = 12; } - if( u.movement_mode_is( PMM_RUN ) ) { + if( u.movement_mode_is( CMM_RUN ) ) { volume *= 1.5; - } else if( u.movement_mode_is( PMM_CROUCH ) ) { + } else if( u.movement_mode_is( CMM_CROUCH ) ) { volume /= 2; } if( u.is_mounted() ) { @@ -9276,20 +9334,7 @@ bool game::walk_move( const tripoint &dest_loc ) } if( u.is_hauling() ) { - u.assign_activity( activity_id( "ACT_MOVE_ITEMS" ) ); - // Whether the destination is inside a vehicle (not supported) - u.activity.values.push_back( 0 ); - // Destination relative to the player - u.activity.coords.push_back( tripoint_zero ); - map_stack items = m.i_at( oldpos ); - if( items.empty() ) { - u.stop_hauling(); - } - for( item &it : items ) { - u.activity.targets.emplace_back( map_cursor( oldpos ), &it ); - // Quantity of 0 means move all - u.activity.values.push_back( 0 ); - } + start_hauling( oldpos ); } on_move_effects(); @@ -9814,10 +9859,18 @@ bool game::grabbed_furn_move( const tripoint &dp ) if( str_req > u.get_str() ) { int move_penalty = std::pow( str_req, 2.0 ) + 100.0; if( move_penalty <= 1000 ) { - u.moves -= 100; - add_msg( m_bad, _( "The %s is too heavy for you to budge." ), - furntype.name() ); - return true; + if( u.get_str() >= str_req - 3 ) { + u.moves -= std::max( 3000, move_penalty * 10 ); + add_msg( m_bad, _( "The %s is really heavy!" ), furntype.name() ); + if( one_in( 3 ) ) { + add_msg( m_bad, _( "You fail to move the %s." ), furntype.name() ); + return true; + } + } else { + u.moves -= 100; + add_msg( m_bad, _( "The %s is too heavy for you to budge." ), furntype.name() ); + return true; + } } u.moves -= move_penalty; if( move_penalty > 500 ) { @@ -9922,46 +9975,35 @@ void game::on_move_effects() // TODO: Move this to a character method if( !u.is_mounted() ) { const item muscle( "muscle" ); - if( one_in( 8 ) ) {// active power gen - if( u.has_active_bionic( bionic_id( "bio_torsionratchet" ) ) ) { - u.mod_power_level( 1_kJ ); - } - for( const bionic_id &bid : u.get_bionic_fueled_with( muscle ) ) { - if( u.has_active_bionic( bid ) ) { - u.mod_power_level( units::from_kilojoule( muscle.fuel_energy() ) * bid->fuel_efficiency ); - } - } - } - if( one_in( 160 ) ) {// passive power gen - if( u.has_bionic( bionic_id( "bio_torsionratchet" ) ) ) { - u.mod_power_level( 1_kJ ); - } - for( const bionic_id &bid : u.get_bionic_fueled_with( muscle ) ) { - if( u.has_bionic( bid ) ) { - u.mod_power_level( units::from_kilojoule( muscle.fuel_energy() ) * bid->fuel_efficiency ); - } + for( const bionic_id &bid : u.get_bionic_fueled_with( muscle ) ) { + if( u.has_active_bionic( bid ) ) {// active power gen + u.mod_power_level( units::from_kilojoule( muscle.fuel_energy() ) * bid->fuel_efficiency ); + } else if( u.has_bionic( bid ) ) {// passive power gen + u.mod_power_level( units::from_kilojoule( muscle.fuel_energy() ) * bid->passive_fuel_efficiency ); } } + if( u.has_active_bionic( bionic_id( "bio_jointservo" ) ) ) { - if( u.movement_mode_is( PMM_RUN ) ) { - u.mod_power_level( -20_kJ ); + if( u.movement_mode_is( CMM_RUN ) ) { + u.mod_power_level( -55_J ); } else { - u.mod_power_level( -10_kJ ); + u.mod_power_level( -35_J ); } } } - if( u.movement_mode_is( PMM_RUN ) ) { - if( u.stamina <= 0 ) { + + if( u.movement_mode_is( CMM_RUN ) ) { + if( !u.can_run() ) { u.toggle_run_mode(); } - if( u.stamina < u.get_stamina_max() / 5 && one_in( u.stamina ) ) { + if( u.get_stamina() < u.get_stamina_max() / 5 && one_in( u.get_stamina() ) ) { u.add_effect( effect_winded, 10_turns ); } } // apply martial art move bonuses - u.ma_onmove_effects(); + u.martial_arts_data.ma_onmove_effects( u ); sfx::do_ambient(); } @@ -10156,6 +10198,11 @@ void game::vertical_move( int movez, bool force ) } } } + + if( !u.move_effects( false ) ) { + return; + } + // Check if there are monsters are using the stairs. bool slippedpast = false; if( !m.has_zlevels() && !coming_to_stairs.empty() && !force ) { @@ -10332,7 +10379,11 @@ void game::vertical_move( int movez, bool force ) if( !m.has_zlevels() ) { const tripoint to = u.pos(); for( monster &critter : all_monsters() ) { - if( critter.has_effect( effect_ridden ) ) { + // if its a ladder instead of stairs - most zombies cant climb that. + // unless that have a special flag to allow them to do so. + if( ( m.has_flag( "DIFFICULT_Z", u.pos() ) && !critter.has_flag( MF_CLIMBS ) ) || + critter.has_effect( effect_ridden ) || + critter.has_effect( effect_tied ) ) { continue; } int turns = critter.turns_to_reach( to.xy() ); @@ -10356,14 +10407,20 @@ void game::vertical_move( int movez, bool force ) if( !m.has_zlevels() && abs( movez ) == 1 ) { std::copy_if( active_npc.begin(), active_npc.end(), back_inserter( npcs_to_bring ), [this]( const std::shared_ptr &np ) { - return np->is_walking_with() && !np->is_mounted() && rl_dist( np->pos(), u.pos() ) < 2; + return np->is_walking_with() && !np->is_mounted() && !np->in_sleep_state() && + rl_dist( np->pos(), u.pos() ) < 2; } ); } if( m.has_zlevels() && abs( movez ) == 1 ) { + bool ladder = m.has_flag( "DIFFICULT_Z", u.pos() ); for( monster &critter : all_monsters() ) { + if( ladder && !critter.has_flag( MF_CLIMBS ) ) { + continue; + } if( critter.attack_target() == &g->u || ( !critter.has_effect( effect_ridden ) && - critter.has_effect( effect_pet ) && critter.friendly == -1 ) ) { + critter.has_effect( effect_pet ) && critter.friendly == -1 && + !critter.has_effect( effect_tied ) ) ) { monsters_following.push_back( &critter ); } } @@ -10373,11 +10430,11 @@ void game::vertical_move( int movez, bool force ) monster *crit = u.mounted_creature.get(); if( crit->has_flag( MF_RIDEABLE_MECH ) ) { crit->use_mech_power( -1 ); - if( u.movement_mode_is( PMM_WALK ) ) { + if( u.movement_mode_is( CMM_WALK ) ) { crit->use_mech_power( -2 ); - } else if( u.movement_mode_is( PMM_CROUCH ) ) { + } else if( u.movement_mode_is( CMM_CROUCH ) ) { crit->use_mech_power( -1 ); - } else if( u.movement_mode_is( PMM_RUN ) ) { + } else if( u.movement_mode_is( CMM_RUN ) ) { crit->use_mech_power( -3 ); } } @@ -10456,20 +10513,7 @@ void game::vertical_move( int movez, bool force ) if( u.is_hauling() ) { const tripoint adjusted_pos = old_pos - sm_to_ms_copy( submap_shift ); - u.assign_activity( activity_id( "ACT_MOVE_ITEMS" ) ); - // Whether the destination is inside a vehicle (not supported) - u.activity.values.push_back( 0 ); - // Destination relative to the player - u.activity.coords.push_back( tripoint_zero ); - map_stack items = m.i_at( adjusted_pos ); - if( items.empty() ) { - u.stop_hauling(); - } - for( item &it : items ) { - u.activity.targets.emplace_back( map_cursor( adjusted_pos ), &it ); - // Quantitu of 0 means move all - u.activity.values.push_back( 0 ); - } + start_hauling( adjusted_pos ); } m.invalidate_map_cache( g->get_levz() ); @@ -10478,6 +10522,32 @@ void game::vertical_move( int movez, bool force ) m.creature_on_trap( u, !force ); } +void game::start_hauling( const tripoint &pos ) +{ + u.assign_activity( activity_id( "ACT_MOVE_ITEMS" ) ); + // Whether the destination is inside a vehicle (not supported) + u.activity.values.push_back( 0 ); + // Destination relative to the player + u.activity.coords.push_back( tripoint_zero ); + map_stack items = m.i_at( pos ); + if( items.empty() ) { + u.stop_hauling(); + return; + } + for( item &it : items ) { + //liquid not allowed + if( it.made_of_from_type( LIQUID ) ) { + continue; + } + u.activity.targets.emplace_back( map_cursor( pos ), &it ); + // Quantity of 0 means move all + u.activity.values.push_back( 0 ); + } + if( u.activity.targets.empty() ) { + u.stop_hauling(); + } +} + cata::optional game::find_or_make_stairs( map &mp, const int z_after, bool &rope_ladder ) { const int omtilesz = SEEX * 2; @@ -10563,7 +10633,7 @@ cata::optional game::find_or_make_stairs( map &mp, const int z_after, } else if( u.has_trait( trait_VINES2 ) || u.has_trait( trait_VINES3 ) ) { if( query_yn( _( "There is a sheer drop halfway down. Use your vines to descend?" ) ) ) { if( u.has_trait( trait_VINES2 ) ) { - if( query_yn( _( "Detach a vine? It'll hurt, but you'll be able to climb back up..." ) ) ) { + if( query_yn( _( "Detach a vine? It'll hurt, but you'll be able to climb back up…" ) ) ) { rope_ladder = true; add_msg( m_bad, _( "You descend on your vines, though leaving a part of you behind stings." ) ); u.mod_pain( 5 ); @@ -11078,9 +11148,8 @@ void game::perhaps_add_random_npc() } float density = get_option( "NPC_DENSITY" ); - // TODO: This is inaccurate when the player is near a overmap border, and it will - //immediately spawn new npcs upon entering a new overmap. Rather use number of npcs *nearby*. - const int npc_num = get_cur_om().get_npcs().size(); + static constexpr int density_search_radius = 60; + const int npc_num = overmap_buffer.get_npcs_near_player( density_search_radius ).size(); if( npc_num > 0 ) { // 100%, 80%, 64%, 52%, 41%, 33%... density *= powf( 0.8f, npc_num ); @@ -11089,38 +11158,21 @@ void game::perhaps_add_random_npc() if( !x_in_y( density, 100 ) ) { return; } - - //tmp->stock_missions(); - // Create the NPC in one of the outermost submaps, - // hopefully far away to be invisible to the player, - // to prevent NPCs appearing out of thin air. - // This can be changed to let the NPC spawn further away, - // so it does not became active immediately. - int msx = get_levx(); - int msy = get_levy(); - switch( rng( 0, 4 ) ) { // on which side of the map to spawn - case 0: - msy += rng( 0, MAPSIZE - 1 ); - break; - case 1: - msx += MAPSIZE - 1; - msy += rng( 0, MAPSIZE - 1 ); - break; - case 2: - msx += rng( 0, MAPSIZE - 1 ); - break; - case 3: - msy += MAPSIZE - 1; - msx += rng( 0, MAPSIZE - 1 ); - break; - default: - break; - } - tripoint omt_pos = sm_to_omt_copy( tripoint( msx, msy, 0 ) ); - const auto oter = overmap_buffer.ter( omt_pos ); - // shouldnt spawn on lakes or rivers. - if( is_river_or_lake( oter ) ) { - return; + bool spawn_allowed = false; + tripoint spawn_point; + int counter = 0; + while( !spawn_allowed ) { + if( counter >= 10 ) { + return; + } + spawn_point = tripoint( rng( 0, OMAPX - 1 ), rng( 0, OMAPY - 1 ), 0 ); + spawn_point.z = 0; + const oter_id oter = overmap_buffer.ter( spawn_point ); + // shouldnt spawn on lakes or rivers. + if( !is_river_or_lake( oter ) ) { + spawn_allowed = true; + } + counter += 1; } std::shared_ptr tmp = std::make_shared(); tmp->normalize(); @@ -11132,13 +11184,15 @@ void game::perhaps_add_random_npc() faction_id( "no_faction" ) ); tmp->set_fac( new_solo_fac ? new_solo_fac->id : faction_id( "no_faction" ) ); // adds the npc to the correct overmap. - tmp->spawn_at_sm( msx, msy, 0 ); + tripoint submap_spawn = omt_to_sm_copy( spawn_point ); + tmp->spawn_at_sm( submap_spawn.x, submap_spawn.y, 0 ); overmap_buffer.insert_npc( tmp ); tmp->form_opinion( u ); tmp->mission = NPC_MISSION_NULL; + tmp->long_term_goal_action(); tmp->add_new_mission( mission::reserve_random( ORIGIN_ANY_NPC, tmp->global_omt_location(), tmp->getID() ) ); - // This will make the new NPC active + // This will make the new NPC active- if its nearby to the player load_npcs(); } @@ -11192,6 +11246,13 @@ void game::display_temperature() } } +void game::display_vehicle_ai() +{ + if( use_tiles ) { + display_toggle_overlay( ACTION_DISPLAY_VEHICLE_AI ); + } +} + void game::display_visibility() { if( use_tiles ) { @@ -11663,8 +11724,8 @@ void game::start_calendar() calendar::start_of_cataclysm = calendar::turn_zero + 1_days * initial_days; // Determine the season based off how long the seasons are set to be - // First mod by length of season to get number of seasons elapsed, then mod by 4 to force a 0-3 range of values - const int season_number = ( initial_days % get_option( "SEASON_LENGTH" ) ) % 4; + // First take the number of season elapsed up to the starting date, then mod by 4 to get the season of the current year + const int season_number = ( initial_days / get_option( "SEASON_LENGTH" ) ) % 4; if( season_number == 0 ) { calendar::initial_season = SPRING; } else if( season_number == 1 ) { @@ -11789,7 +11850,7 @@ void game::add_artifact_messages( const std::vector &effects break; case AEP_EVIL: - add_msg( m_warning, _( "You feel an evil presence..." ) ); + add_msg( m_warning, _( "You feel an evil presence…" ) ); break; case AEP_SCHIZO: @@ -11805,7 +11866,7 @@ void game::add_artifact_messages( const std::vector &effects break; case AEP_ATTENTION: - add_msg( m_warning, _( "You feel an otherworldly attention upon you..." ) ); + add_msg( m_warning, _( "You feel an otherworldly attention upon you…" ) ); break; case AEP_FORCE_TELEPORT: @@ -12048,7 +12109,7 @@ std::string game::get_player_base_save_path() const std::string game::get_world_base_save_path() const { if( world_generator->active_world == nullptr ) { - return FILENAMES["savedir"]; + return PATH_INFO::savedir(); } return world_generator->active_world->folder_path(); } diff --git a/src/game.h b/src/game.h index c2af5856f306f..78128a7be54ba 100644 --- a/src/game.h +++ b/src/game.h @@ -234,6 +234,7 @@ class game /** Moves the player vertically. If force == true then they are falling. */ void vertical_move( int z, bool force ); + void start_hauling( const tripoint &pos ); /** Returns the other end of the stairs (if any). May query, affect u etc. */ cata::optional find_or_make_stairs( map &mp, int z_after, bool &rope_ladder ); /** Actual z-level movement part of vertical_move. Doesn't include stair finding, traps etc. */ @@ -479,7 +480,7 @@ class game /** validate camps to ensure they are on the overmap list */ void validate_camps(); /** process vehicles that are following the player */ - void following_vehicles(); + void autopilot_vehicles(); /** Picks and spawns a random fish from the remaining fish list when a fish is caught. */ void catch_a_monster( monster *fish, const tripoint &pos, player *p, const time_duration &catch_duration ); @@ -900,12 +901,14 @@ class game std::map displaying_overlays{ { ACTION_DISPLAY_SCENT, false }, { ACTION_DISPLAY_TEMPERATURE, false }, + { ACTION_DISPLAY_VEHICLE_AI, false }, { ACTION_DISPLAY_VISIBILITY, false }, { ACTION_DISPLAY_LIGHTING, false }, { ACTION_DISPLAY_RADIATION, false }, }; void display_scent(); // Displays the scent map void display_temperature(); // Displays temperature map + void display_vehicle_ai(); // Displays vehicle autopilot AI overlay void display_visibility(); // Displays visibility map void display_lighting(); // Displays lighting conditions heat map void display_radiation(); // Displays radiation map @@ -1011,7 +1014,7 @@ class game bool safe_mode_warning_logged; bool bVMonsterLookFire; character_id next_npc_id; - std::vector> active_npc; + std::list> active_npc; int next_mission_id; std::set follower_ids; // Keep track of follower NPC IDs int moves_since_last_save; diff --git a/src/game_constants.h b/src/game_constants.h index b42663e4f4297..10b0f54f41178 100644 --- a/src/game_constants.h +++ b/src/game_constants.h @@ -5,7 +5,7 @@ #include "calendar.h" #include "units.h" -// Fixed window sizes +// Fixed window sizes. #define HP_HEIGHT 14 #define HP_WIDTH 7 #define MINIMAP_HEIGHT 7 @@ -22,11 +22,11 @@ #define BLINK_SPEED 300 #define EXPLOSION_MULTIPLIER 7 -// Really just a sanity check for functions not tested beyond this. in theory 4096 works (`InvletInvlet) +// Really just a sanity check for functions not tested beyond this. in theory 4096 works (`InvletInvlet). #define MAX_ITEM_IN_SQUARE 4096 -// no reason to differ +// no reason to differ. #define MAX_ITEM_IN_VEHICLE_STORAGE MAX_ITEM_IN_SQUARE -// only can wear a maximum of two of any type of clothing +// only can wear a maximum of two of any type of clothing. #define MAX_WORN_PER_TYPE 2 #define MAPSIZE 11 @@ -45,123 +45,135 @@ #define MAX_VIEW_DISTANCE ( SEEX * HALF_MAPSIZE ) -// Size of the overmap. This is the number of overmap terrain tiles per dimension in one overmap, -// it's just like SEEX/SEEY for submaps. +/** + * Size of the overmap. This is the number of overmap terrain tiles per dimension in one overmap, + * it's just like SEEX/SEEY for submaps. +*/ #define OMAPX 180 #define OMAPY 180 // Size of a square unit of terrain saved to a directory. #define SEG_SIZE 32 -// Items on the map with at most this distance to the player are considered available for crafting, -// see inventory::form_from_map +/** + * Items on the map with at most this distance to the player are considered available for crafting, + * see inventory::form_from_map +*/ #define PICKUP_RANGE 6 -/** Number of z-levels below 0 (not including 0). */ +// Number of z-levels below 0 (not including 0). #define OVERMAP_DEPTH 10 -/** Number of z-levels above 0 (not including 0). */ +// Number of z-levels above 0 (not including 0). #define OVERMAP_HEIGHT 10 -/** Total number of z-levels */ +// Total number of z-levels. #define OVERMAP_LAYERS (1 + OVERMAP_DEPTH + OVERMAP_HEIGHT) -/** Maximum move cost when handling an item */ +// Maximum move cost when handling an item. #define MAX_HANDLING_COST 400 -/** Move cost of accessing an item in inventory. */ +// Move cost of accessing an item in inventory. #define INVENTORY_HANDLING_PENALTY 100 -/** Move cost of accessing an item lying on the map. TODO: Less if player is crouching */ +// Move cost of accessing an item lying on the map. TODO: Less if player is crouching. #define MAP_HANDLING_PENALTY 80 -/** Move cost of accessing an item lying on a vehicle. */ +// Move cost of accessing an item lying on a vehicle. #define VEHICLE_HANDLING_PENALTY 80 -/** Amount by which to charge an item for each unit of plutonium cell */ +// Amount by which to charge an item for each unit of plutonium cell. #define PLUTONIUM_CHARGES 500 -/** Temperature constants */ +// Temperature constants. namespace temperatures { -/** temperature at which something starts is considered HOT */ +// temperature at which something starts is considered HOT. constexpr int hot = 100; // ~ 38 Celsius -/** the "normal" temperature midpoint between cold and hot */ +// the "normal" temperature midpoint between cold and hot. constexpr int normal = 70; // ~ 21 Celsius -/** Temperature inside an active fridge in Fahrenheit */ +// Temperature inside an active fridge in Fahrenheit. constexpr int fridge = 37; // ~ 2.7 Celsius -/** Temperature at which things are considered "cold" */ +// Temperature at which things are considered "cold". constexpr int cold = 40; // ~4.4 C -/** Temperature inside an active freezer in Fahrenheit */ +// Temperature inside an active freezer in Fahrenheit. constexpr int freezer = 23; // -5 Celsius -/** Temperature in which water freezes in Fahrenheit */ +// Temperature in which water freezes in Fahrenheit. constexpr int freezing = 32; // 0 Celsius } // namespace temperatures // Shelf life of corpse. This should be kept same as raw flesh. constexpr time_duration CORPSE_ROT_TIME = 24_hours; -/** Weight per level of LIFT/JACK tool quality */ +// Weight per level of LIFT/JACK tool quality. #define TOOL_LIFT_FACTOR 500_kilogram // 500kg/level -/** Cap JACK requirements to support arbitrarily large vehicles */ +// Cap JACK requirements to support arbitrarily large vehicles. #define JACK_LIMIT 8500_kilogram // 8500kg ( 8.5 metric tonnes ) -/** Slowest speed at which a gun can be aimed */ +// Slowest speed at which a gun can be aimed. #define MAX_AIM_COST 10 -/** Maximum (effective) level for a skill */ +// Maximum (effective) level for a skill. #define MAX_SKILL 10 -/** Maximum (effective) level for a stat */ +// Maximum (effective) level for a stat. #define MAX_STAT 20 -/** Maximum range at which ranged attacks can be executed */ +// Maximum range at which ranged attacks can be executed. #define RANGE_HARD_CAP 60 -/** Accuracy levels which a shots tangent must be below */ +// Accuracy levels which a shots tangent must be below. constexpr double accuracy_headshot = 0.1; constexpr double accuracy_critical = 0.2; constexpr double accuracy_goodhit = 0.5; constexpr double accuracy_standard = 0.8; constexpr double accuracy_grazing = 1.0; -/** Minimum item damage output of relevant type to allow using with relevant weapon skill */ +// Minimum item damage output of relevant type to allow using with relevant weapon skill. #define MELEE_STAT 5 -/** Effective lower bound to combat skill levels when CQB bionic is active */ +// Effective lower bound to combat skill levels when CQB bionic is active. #define BIO_CQB_LEVEL 5 -/** Minimum size of a horde to show up on the minimap. */ +// Minimum size of a horde to show up on the minimap. #define HORDE_VISIBILITY_SIZE 3 -/** Average annual temperature in F used for climate, weather and temperature calculation */ -/** Average New England temperature = 43F/6C rounded to int */ +/** + * Average annual temperature in F used for climate, weather and temperature calculation. + * Average New England temperature = 43F/6C rounded to int. +*/ #define AVERAGE_ANNUAL_TEMPERATURE 43 -/** Base starting spring temperature in F used for climate, weather and temperature calculation */ -/** New England base spring temperature = 65F/18C rounded to int */ +/** + * Base starting spring temperature in F used for climate, weather and temperature calculation. + * New England base spring temperature = 65F/18C rounded to int. +*/ #define SPRING_TEMPERATURE 65 -/** Used to limit the random seed during noise calculation. A large value flattens the noise generator to zero. - Windows has a rand limit of 32768, other operating systems can have higher limits. */ +/** + * Used to limit the random seed during noise calculation. A large value flattens the noise generator to zero. + * Windows has a rand limit of 32768, other operating systems can have higher limits. +*/ constexpr int SIMPLEX_NOISE_RANDOM_SEED_LIMIT = 32768; -// activity levels, used for BMR -// these levels are normally used over the length of -// days to weeks in order to calculate your total BMR -// but we are making it more granular to be able to have -// variable activity levels. -// as such, when determining your activity level -// in the json, think about what it would be if you -// did this activity for a longer period of time. +/** + * activity levels, used for BMR. + * these levels are normally used over the length of + * days to weeks in order to calculate your total BMR + * but we are making it more granular to be able to have + * variable activity levels. + * as such, when determining your activity level + * in the json, think about what it would be if you + * did this activity for a longer period of time. +*/ constexpr float NO_EXERCISE = 1.2f; constexpr float LIGHT_EXERCISE = 1.375f; constexpr float MODERATE_EXERCISE = 1.55f; constexpr float ACTIVE_EXERCISE = 1.725f; constexpr float EXTRA_EXERCISE = 1.9f; -// these are the lower bounds of each of the weight classes +// these are the lower bounds of each of the weight classes. namespace character_weight_category { constexpr float emaciated = 14.0f; diff --git a/src/game_inventory.cpp b/src/game_inventory.cpp index a23a574afae7d..1c96a31188cb3 100644 --- a/src/game_inventory.cpp +++ b/src/game_inventory.cpp @@ -383,7 +383,7 @@ class pickup_inventory_preset : public inventory_selector_preset return _( "Can't pick up spilt liquids" ); } else if( !p.can_pickVolume( *loc ) && p.is_armed() ) { return _( "Too big to pick up" ); - } else if( !p.can_pickWeight( *loc ) ) { + } else if( !p.can_pickWeight( *loc, !get_option( "DANGEROUS_PICKUPS" ) ) ) { return _( "Too heavy to pick up" ); } } @@ -481,6 +481,18 @@ class comestible_inventory_preset : public inventory_selector_preset return std::string( _( "indefinite" ) ); }, _( "SHELF LIFE" ) ); + append_cell( [ this ]( const item_location & loc ) { + const item &it = get_consumable_item( loc ); + + int converted_volume_scale = 0; + const int charges = std::max( it.charges, 1 ); + const double converted_volume = round_up( convert_volume( it.volume().value() / charges, + &converted_volume_scale ), 2 ); + + //~ Eat menu Volume: + return string_format( _( "%.2f%s" ), converted_volume, volume_units_abbr() ); + }, _( "VOLUME" ) ); + append_cell( [this]( const item_location & loc ) { if( g->u.can_estimate_rot() ) { const islot_comestible item = get_edible_comestible( loc ); @@ -511,9 +523,6 @@ class comestible_inventory_preset : public inventory_selector_preset switch( p.get_cbm_rechargeable_with( get_consumable_item( loc ) ) ) { case rechargeable_cbm::none: break; - case rechargeable_cbm::battery: - cbm_name = _( "Battery" ); - break; case rechargeable_cbm::reactor: cbm_name = _( "Reactor" ); break; @@ -563,8 +572,6 @@ class comestible_inventory_preset : public inventory_selector_preset if( !res.success() && cbm == rechargeable_cbm::none ) { return res.str(); - } else if( cbm == rechargeable_cbm::battery && p.is_max_power() ) { - return _( "You're fully charged" ); } else if( cbm == rechargeable_cbm::other && ( p.get_fuel_capacity( it.typeId() ) <= 0 ) ) { return string_format( _( "No space to store more %s" ), it.tname() ); } @@ -815,7 +822,7 @@ class activatable_inventory_preset : public pickup_inventory_preset if( uses.size() == 1 ) { return uses.begin()->second.get_name(); } else if( uses.size() > 1 ) { - return _( "..." ); + return _( "…" ); } return std::string(); @@ -1408,11 +1415,16 @@ void game_menus::inv::compare( player &p, const cata::optional &offset int iScrollPosLast = 0; do { + item_info_data last_item_info( sItemLastCh, sItemLastTn, vItemLastCh, vItemCh, iScrollPosLast ); + last_item_info.without_getch = true; + + item_info_data cur_item_info( sItemCh, sItemTn, vItemCh, vItemLastCh, iScrollPos ); + cur_item_info.without_getch = true; + draw_item_info( 0, ( TERMX - VIEW_OFFSET_X * 2 ) / 2, 0, TERMY - VIEW_OFFSET_Y * 2, - sItemLastCh, sItemLastTn, vItemLastCh, vItemCh, iScrollPosLast, true ); + last_item_info ); draw_item_info( ( TERMX - VIEW_OFFSET_X * 2 ) / 2, ( TERMX - VIEW_OFFSET_X * 2 ) / 2, - 0, TERMY - VIEW_OFFSET_Y * 2, sItemCh, sItemTn, vItemCh, vItemLastCh, - iScrollPos, true ); + 0, TERMY - VIEW_OFFSET_Y * 2, cur_item_info ); action = ctxt.handle_input(); @@ -1527,8 +1539,6 @@ static item_location autodoc_internal( player &u, player &patient, } } - } else { - hint = string_format( _( "Money available: %s" ), format_money( u.cash ) ); } if( uninstall ) { @@ -1602,8 +1612,10 @@ class bionic_install_preset: public inventory_selector_preset const bionic_id &bid = itemtype->bionic->id; if( it->has_flag( "FILTHY" ) ) { + // NOLINTNEXTLINE(cata-text-style): single space after the period for symmetry return _( "/!\\ CBM is highly contaminated. /!\\" ); } else if( it->has_flag( "NO_STERILE" ) ) { + // NOLINTNEXTLINE(cata-text-style): single space after the period for symmetry return _( "/!\\ CBM is not sterile. /!\\" ) ; } else if( it->has_fault( fault_id( "fault_bionic_salvaged" ) ) ) { return _( "CBM already deployed. Please reset to factory state." ); @@ -1739,8 +1751,6 @@ class bionic_install_surgeon_preset : public inventory_selector_preset return _( "Superior version installed." ); } else if( pa.is_npc() && !bid->npc_usable ) { return _( "CBM is not compatible with patient." ); - } else if( it->price( true ) * 2 > p.cash ) { - return format_money( it->price( true ) * 2 ); } return std::string(); @@ -1921,14 +1931,16 @@ class bionic_sterilize_preset : public inventory_selector_preset std::string get_denial( const item_location &loc ) const override { auto reqs = *requirement_id( "autoclave_item" ); - - if( !reqs.can_make_with_inventory( p.crafting_inventory(), is_crafting_component ) ) { - return pgettext( "volume of water", "2 L" ); - } - if( loc.get_item()->has_flag( "FILTHY" ) ) { return _( "CBM is filthy. Wash it first." ); } + if( loc.get_item()->has_flag( "NO_PACKED" ) ) { + return _( "You should put this CBM in an autoclave pouch to keep it sterile." ); + } + if( !reqs.can_make_with_inventory( p.crafting_inventory(), is_crafting_component ) ) { + return _( "You need at least 2L of water." ); + } + return std::string(); } diff --git a/src/gates.cpp b/src/gates.cpp index 09aea67372af5..5ff4b717ca636 100644 --- a/src/gates.cpp +++ b/src/gates.cpp @@ -304,7 +304,7 @@ void doors::close_door( map &m, Character &who, const tripoint &closep ) auto items_in_way = m.i_at( closep ); // Scoot up to 25 liters of items out of the way if( m.furn( closep ) != furn_str_id( "f_safe_o" ) && !items_in_way.empty() ) { - const units::volume max_nudge = 25000_ml; + const units::volume max_nudge = 25_liter; const auto toobig = std::find_if( items_in_way.begin(), items_in_way.end(), [&max_nudge]( const item & it ) { diff --git a/src/generic_factory.h b/src/generic_factory.h index 327a48efc3321..a755e792f7d4e 100644 --- a/src/generic_factory.h +++ b/src/generic_factory.h @@ -778,11 +778,13 @@ class generic_typed_reader return false; } else { if( jo.has_object( "extend" ) ) { - auto tmp = jo.get_object( "extend" ); + JsonObject tmp = jo.get_object( "extend" ); + tmp.allow_omitted_members(); derived.insert_values_from( tmp, member_name, container ); } if( jo.has_object( "delete" ) ) { - auto tmp = jo.get_object( "delete" ); + JsonObject tmp = jo.get_object( "delete" ); + tmp.allow_omitted_members(); derived.erase_values_from( tmp, member_name, container ); } return true; @@ -828,6 +830,8 @@ class auto_flags_reader : public generic_typed_reader; + /** * Uses a map (unordered or standard) to convert strings from JSON to some other type * (the mapped type of the map: `C::mapped_type`). It works for all mapped types, not just enums. diff --git a/src/handle_action.cpp b/src/handle_action.cpp index 7c40e33ace3ee..062cc3c4a5c51 100644 --- a/src/handle_action.cpp +++ b/src/handle_action.cpp @@ -243,7 +243,8 @@ input_context game::get_player_input( std::string &action ) for( auto &elem : SCT.vSCT ) { //Erase previous text from w_terrain if( elem.getStep() > 0 ) { - for( size_t i = 0; i < elem.getText().length(); ++i ) { + const int width = utf8_width( elem.getText() ); + for( int i = 0; i < width; ++i ) { const tripoint location( elem.getPosX() + i, elem.getPosY(), get_levz() ); const lit_level lighting = visibility_cache[location.x][location.y]; wmove( w_terrain, location.xy() + point( -offset_x, -offset_y ) ); @@ -264,8 +265,8 @@ input_context game::get_player_input( std::string &action ) //Check for creatures on all drawing positions and offset if necessary for( auto iter = SCT.vSCT.rbegin(); iter != SCT.vSCT.rend(); ++iter ) { const direction oCurDir = iter->getDirecton(); - - for( int i = 0; i < static_cast( iter->getText().length() ); ++i ) { + const int width = utf8_width( iter->getText() ); + for( int i = 0; i < width; ++i ) { tripoint tmp( iter->getPosX() + i, iter->getPosY(), get_levz() ); const Creature *critter = critter_at( tmp, true ); @@ -306,7 +307,7 @@ input_context game::get_player_input( std::string &action ) if( uquit == QUIT_WATCH ) { query_popup() - .wait_message( c_red, _( "Press %s to accept your fate..." ), ctxt.get_desc( "QUIT" ) ) + .wait_message( c_red, _( "Press %s to accept your fate…" ), ctxt.get_desc( "QUIT" ) ) .on_top( true ) .show(); @@ -370,7 +371,7 @@ static void rcdrive( int dx, int dy ) } else if( !m.add_item_or_charges( dest, *rc_car ).is_null() ) { tripoint src( cx, cy, cz ); //~ Sound of moving a remote controlled car - sounds::sound( src, 6, sounds::sound_t::movement, _( "zzz..." ), true, "misc", "rc_car_drives" ); + sounds::sound( src, 6, sounds::sound_t::movement, _( "zzz…" ), true, "misc", "rc_car_drives" ); u.moves -= 50; m.i_rem( src, rc_car ); car_location_string.clear(); @@ -403,7 +404,7 @@ static void pldrive( int x, int y ) } if( !veh ) { dbg( D_ERROR ) << "game::pldrive: can't find vehicle! Drive mode is now off."; - debugmsg( "game::pldrive error: can't find vehicle! Drive mode is now off." ); + debugmsg( "game::pldrive error: can't find vehicle! Drive mode is now off." ); u.in_vehicle = false; return; } @@ -665,7 +666,7 @@ static void smash() } if( m.get_field( smashp, fd_web ) != nullptr ) { m.remove_field( smashp, fd_web ); - sounds::sound( smashp, 2, sounds::sound_t::combat, "hsh!", true, "smash", "web" ); + sounds::sound( smashp, 2, sounds::sound_t::combat, _( "hsh!" ), true, "smash", "web" ); add_msg( m_info, _( "You brush aside some webs." ) ); u.moves -= 100; return; @@ -797,7 +798,7 @@ static void wait() } } else { - if( g->u.stamina < g->u.get_stamina_max() ) { + if( g->u.get_stamina() < g->u.get_stamina_max() ) { as_m.addentry( 12, true, 'w', _( "Wait until you catch your breath" ) ); durations.emplace( 12, 15_minutes ); // to hide it from showing } @@ -1003,10 +1004,7 @@ static void loot() enum ZoneFlags { None = 1, SortLoot = 2, - TillPlots = 4, - PlantPlots = 8, FertilizePlots = 16, - HarvestPlots = 32, ConstructPlots = 64, MultiFarmPlots = 128, Multichoptrees = 256, @@ -1019,10 +1017,6 @@ static void loot() player &u = g->u; int flags = 0; auto &mgr = zone_manager::get_manager(); - const bool has_hoe = u.has_quality( quality_id( "DIG" ), 1 ); - const bool has_seeds = u.has_item_with( []( const item & itm ) { - return itm.is_seed(); - } ); const bool has_fertilizer = u.has_item_with_flag( "FERTILIZER" ); // Manually update vehicle cache. @@ -1032,10 +1026,7 @@ static void loot() flags |= g->check_near_zone( zone_type_id( "LOOT_UNSORTED" ), u.pos() ) ? SortLoot : 0; if( g->check_near_zone( zone_type_id( "FARM_PLOT" ), u.pos() ) ) { - flags |= TillPlots; - flags |= PlantPlots; flags |= FertilizePlots; - flags |= HarvestPlots; flags |= MultiFarmPlots; } flags |= g->check_near_zone( zone_type_id( "CONSTRUCTION_BLUEPRINT" ), @@ -1064,28 +1055,12 @@ static void loot() _( "Sorts out the loot from Loot: Unsorted zone to nearby appropriate Loot zones. Uses empty space in your inventory or utilizes a cart, if you are holding one." ) ); } - if( flags & TillPlots ) { - menu.addentry_desc( TillPlots, has_hoe, 't', - has_hoe ? _( "Till farm plots" ) : _( "Till farm plots... you need a tool to dig with" ), - _( "Tills nearby Farm: Plot zones." ) ); - } - - if( flags & PlantPlots ) { - menu.addentry_desc( PlantPlots, warm_enough_to_plant( g->u.pos() ) && has_seeds, 'p', - !warm_enough_to_plant( g->u.pos() ) ? _( "Plant seeds... it is too cold for planting" ) : - !has_seeds ? _( "Plant seeds... you don't have any" ) : _( "Plant seeds" ), - _( "Plant seeds into nearby Farm: Plot zones. Farm plot has to be set to specific plant seed and you must have seeds in your inventory." ) ); - } if( flags & FertilizePlots ) { menu.addentry_desc( FertilizePlots, has_fertilizer, 'f', - !has_fertilizer ? _( "Fertilize plots... you don't have any fertilizer" ) : _( "Fertilize plots" ), + !has_fertilizer ? _( "Fertilize plots… you don't have any fertilizer" ) : _( "Fertilize plots" ), _( "Fertilize any nearby Farm: Plot zones." ) ); } - if( flags & HarvestPlots ) { - menu.addentry_desc( HarvestPlots, true, 'h', _( "Harvest plots" ), - _( "Harvest any full-grown plants from nearby Farm: Plot zones." ) ); - } if( flags & ConstructPlots ) { menu.addentry_desc( ConstructPlots, true, 'c', _( "Construct plots" ), _( "Work on any nearby Blueprint: construction zones." ) ); @@ -1125,28 +1100,9 @@ static void loot() case SortLoot: u.assign_activity( activity_id( "ACT_MOVE_LOOT" ) ); break; - case TillPlots: - if( has_hoe ) { - u.assign_activity( activity_id( "ACT_TILL_PLOT" ) ); - } else { - add_msg( _( "You need a tool to dig with." ) ); - } - break; - case PlantPlots: - if( !warm_enough_to_plant( g->u.pos() ) ) { - add_msg( m_info, _( "It is too cold to plant anything now." ) ); - } else if( !has_seeds ) { - add_msg( m_info, _( "You don't have any seeds." ) ); - } else { - u.assign_activity( activity_id( "ACT_PLANT_PLOT" ) ); - } - break; case FertilizePlots: u.assign_activity( activity_id( "ACT_FERTILIZE_PLOT" ) ); break; - case HarvestPlots: - u.assign_activity( activity_id( "ACT_HARVEST_PLOT" ) ); - break; case ConstructPlots: u.assign_activity( activity_id( "ACT_MULTIPLE_CONSTRUCTION" ) ); break; @@ -1344,7 +1300,7 @@ static void fire() reach_attack( range, u ); } else { u.moves -= rng( 2, 8 ) * 10; - add_msg( m_bad, _( "You're too pacified to strike anything..." ) ); + add_msg( m_bad, _( "You're too pacified to strike anything…" ) ); } } else { reach_attack( range, u ); @@ -1357,7 +1313,7 @@ static void fire() reach_attack( range, u ); } else { u.moves -= rng( 2, 8 ) * 10; - add_msg( m_bad, _( "You're too pacified to strike anything..." ) ); + add_msg( m_bad, _( "You're too pacified to strike anything…" ) ); } } else { reach_attack( range, u ); @@ -1367,7 +1323,7 @@ static void fire() static void open_movement_mode_menu() { - player &u = g->u; + avatar &u = g->u; uilist as_m; as_m.text = _( "Change to which movement mode?" ); @@ -1379,13 +1335,13 @@ static void open_movement_mode_menu() switch( as_m.ret ) { case 0: - u.set_movement_mode( PMM_WALK ); + u.set_movement_mode( CMM_WALK ); break; case 1: - u.set_movement_mode( PMM_RUN ); + u.set_movement_mode( CMM_RUN ); break; case 2: - u.set_movement_mode( PMM_CROUCH ); + u.set_movement_mode( CMM_CROUCH ); break; default: break; @@ -1817,7 +1773,7 @@ bool game::handle_action() } else if( u.is_mounted() ) { add_msg( m_info, _( "You can't move mass quantities while you're riding." ) ); } else { - advanced_inv(); + create_advanced_inv(); } break; @@ -1945,7 +1901,7 @@ bool game::handle_action() break; case ACTION_PICK_STYLE: - u.pick_style(); + u.martial_arts_data.pick_style( u ); break; case ACTION_RELOAD_ITEM: @@ -2098,10 +2054,10 @@ bool game::handle_action() case ACTION_CONTROL_VEHICLE: if( u.has_active_mutation( trait_SHELL2 ) ) { add_msg( m_info, _( "You can't operate a vehicle while you're in your shell." ) ); - } else if( u.has_trait( trait_id( "WAYFARER" ) ) ) { - add_msg( m_info, _( "You refuse to take control of this vehicle." ) ); } else if( u.is_mounted() ) { u.dismount(); + } else if( u.has_trait( trait_id( "WAYFARER" ) ) ) { + add_msg( m_info, _( "You refuse to take control of this vehicle." ) ); } else { control_vehicle(); } @@ -2379,7 +2335,12 @@ bool game::handle_action() } display_temperature(); break; - + case ACTION_DISPLAY_VEHICLE_AI: + if( MAP_SHARING::isCompetitive() && !MAP_SHARING::isDebugger() ) { + break; //don't do anything when sharing and not debugger + } + display_vehicle_ai(); + break; case ACTION_DISPLAY_VISIBILITY: if( MAP_SHARING::isCompetitive() && !MAP_SHARING::isDebugger() ) { break; //don't do anything when sharing and not debugger diff --git a/src/help.cpp b/src/help.cpp index 46f214bb72ef8..a845b4e67d09d 100644 --- a/src/help.cpp +++ b/src/help.cpp @@ -29,7 +29,7 @@ help &get_help() void help::load() { - read_from_file_optional_json( FILENAMES["help"], [&]( JsonIn & jsin ) { + read_from_file_optional_json( PATH_INFO::help(), [&]( JsonIn & jsin ) { deserialize( jsin ); } ); } @@ -189,5 +189,5 @@ void help::display_help() std::string get_hint() { - return SNIPPET.get( SNIPPET.assign( "hint" ) ); + return SNIPPET.random_from_category( "hint" ).value_or( translation() ).translated(); } diff --git a/src/iexamine.cpp b/src/iexamine.cpp index 29fa4052ff57d..72bfc433f2fe8 100644 --- a/src/iexamine.cpp +++ b/src/iexamine.cpp @@ -364,10 +364,10 @@ class atm_menu "Your current balance is: %s" ), format_money( u.cash ) ); - if( u.cash >= 100 ) { + if( u.cash >= 1000 ) { add_choice( purchase_card, _( "Purchase cash card?" ) ); } else { - add_info( purchase_card, _( "You need $1.00 in your account to purchase a card." ) ); + add_info( purchase_card, _( "You need $10.00 in your account to purchase a card." ) ); } if( card_count && u.cash > 0 ) { @@ -420,9 +420,10 @@ class atm_menu return clamp( amount, 0, max ); } - //!Get a new cash card. $1.00 fine. + //!Get a new cash card. $10.00 fine. bool do_purchase_card() { - const char *prompt = _( "This will automatically deduct $1.00 from your bank account. Continue?" ); + const char *prompt = + _( "This will automatically deduct $10.00 from your bank account. Continue?" ); if( !query_yn( prompt ) ) { return false; @@ -431,7 +432,7 @@ class atm_menu item card( "cash_card", calendar::turn ); card.charges = 0; u.i_add( card ); - u.cash -= 100; + u.cash -= 1000; u.moves -= to_turns( 5_seconds ); finish_interaction(); @@ -876,7 +877,7 @@ void iexamine::rubble( player &p, const tripoint &examp ) } else if( p.has_quality( quality_id( "DIG" ), 2 ) ) { moves = to_moves( 2_minutes ); } else { - add_msg( m_info, _( "If only you had a shovel..." ) ); + add_msg( m_info, _( "If only you had a shovel…" ) ); return; } if( ( g->m.veh_at( examp ) || !g->m.tr_at( examp ).is_null() || @@ -1109,12 +1110,12 @@ void iexamine::slot_machine( player &p, const tripoint & ) } else if( query_yn( _( "Insert $10?" ) ) ) { do { if( one_in( 5 ) ) { - popup( _( "Three cherries... you get your money back!" ) ); + popup( _( "Three cherries… you get your money back!" ) ); } else if( one_in( 20 ) ) { - popup( _( "Three bells... you win $50!" ) ); + popup( _( "Three bells… you win $50!" ) ); p.cash += 4000; // Minus the $10 we wagered } else if( one_in( 50 ) ) { - popup( _( "Three stars... you win $200!" ) ); + popup( _( "Three stars… you win $200!" ) ); p.cash += 19000; } else if( one_in( 1000 ) ) { popup( _( "JACKPOT! You win $3000!" ) ); @@ -1145,7 +1146,7 @@ void iexamine::safe( player &p, const tripoint &examp ) p.moves -= to_turns( 10_seconds ); // one_in(30^3) chance of guessing if( one_in( 27000 ) ) { - p.add_msg_if_player( m_good, _( "You mess with the dial for a little bit... and it opens!" ) ); + p.add_msg_if_player( m_good, _( "You mess with the dial for a little bit… and it opens!" ) ); g->m.furn_set( examp, f_safe_o ); return; } else { @@ -1230,7 +1231,7 @@ void iexamine::gunsafe_el( player &p, const tripoint &examp ) } /** - * Checks PC has a crowbar then calls iuse.crowbar. + * Checks whether PC has a crowbar then calls iuse.crowbar. */ void iexamine::locked_object( player &p, const tripoint &examp ) { @@ -1240,7 +1241,8 @@ void iexamine::locked_object( player &p, const tripoint &examp ) } ); if( prying_items.empty() ) { - add_msg( m_info, _( "If only you had something to pry with..." ) ); + add_msg( m_info, _( "The %s is locked. If only you had something to pry it with…" ), + g->m.has_furn( examp ) ? g->m.furnname( examp ) : g->m.tername( examp ) ); return; } @@ -1250,7 +1252,7 @@ void iexamine::locked_object( player &p, const tripoint &examp ) } ); //~ %1$s: terrain/furniture name, %2$s: prying tool name - p.add_msg_if_player( _( "You attempt to pry open the %1$s using your %2$s..." ), + p.add_msg_if_player( _( "You attempt to pry open the %1$s using your %2$s…" ), g->m.has_furn( examp ) ? g->m.furnname( examp ) : g->m.tername( examp ), prying_items[0]->tname() ); // if crowbar() ever eats charges or otherwise alters the passed item, rewrite this to reflect @@ -1260,6 +1262,49 @@ void iexamine::locked_object( player &p, const tripoint &examp ) dummy.crowbar( &p, &temporary_item, false, examp ); } +/** +* Checks whether PC has picklocks then calls pick_lock_actor. +*/ +void iexamine::locked_object_pickable( player &p, const tripoint &examp ) +{ + std::vector picklocks = p.items_with( [&p]( const item & it ) { + // Don't search for worn items such as hairpins + if( p.get_item_position( &it ) >= -1 ) { + return it.type->get_use( "picklock" ) != nullptr; + } + return false; + } ); + + if( picklocks.empty() ) { + add_msg( m_info, _( "The %s is locked. If only you had something to pick its lock with…" ), + g->m.tername( examp ) ); + return; + } + + // Sort by their picklock level. + std::sort( picklocks.begin(), picklocks.end(), [&]( const item * a, const item * b ) { + const auto actor_a = dynamic_cast + ( a->type->get_use( "picklock" )->get_actor_ptr() ); + const auto actor_b = dynamic_cast + ( b->type->get_use( "picklock" )->get_actor_ptr() ); + return actor_a->pick_quality > actor_b->pick_quality; + } ); + + for( item *it : picklocks ) { + const auto actor = dynamic_cast + ( it->type->get_use( "picklock" )->get_actor_ptr() ); + p.add_msg_if_player( _( "You attempt to pick lock of %1$s using your %2$s…" ), + g->m.tername( examp ), it->tname() ); + const ret_val can_use = actor->can_use( p, *it, false, examp ); + if( can_use.success() ) { + actor->use( p, *it, false, examp ); + return; + } else { + p.add_msg_if_player( m_bad, can_use.str() ); + } + } +} + void iexamine::bulletin_board( player &p, const tripoint &examp ) { g->validate_camps(); @@ -1272,10 +1317,11 @@ void iexamine::bulletin_board( player &p, const tripoint &examp ) const std::string title = ( "Base Missions" ); mission_data mission_key; - temp_camp->get_available_missions( mission_key, false ); + temp_camp->set_by_radio( false ); + temp_camp->get_available_missions( mission_key ); if( talk_function::display_and_choose_opts( mission_key, temp_camp->camp_omt_pos(), "FACTION_CAMP", title ) ) { - temp_camp->handle_mission( mission_key.cur_key.id, mission_key.cur_key.dir, false ); + temp_camp->handle_mission( mission_key.cur_key.id, mission_key.cur_key.dir ); } } else { p.add_msg_if_player( _( "This bulletin board is not inside a camp" ) ); @@ -1309,8 +1355,8 @@ void iexamine::pedestal_wyrm( player &p, const tripoint &examp ) g->m.ter_set( mon->pos(), t_rock_floor ); } } - add_msg( _( "The pedestal sinks into the ground..." ) ); - sounds::sound( examp, 80, sounds::sound_t::combat, _( "an ominous grinding noise..." ), true, + add_msg( _( "The pedestal sinks into the ground…" ) ); + sounds::sound( examp, 80, sounds::sound_t::combat, _( "an ominous grinding noise…" ), true, "misc", "stones_grinding" ); g->m.ter_set( examp, t_rock_floor ); g->timed_events.add( TIMED_EVENT_SPAWN_WYRMS, calendar::turn + rng( 30_seconds, 60_seconds ) ); @@ -1323,14 +1369,14 @@ void iexamine::pedestal_temple( player &p, const tripoint &examp ) { map_stack items = g->m.i_at( examp ); if( !items.empty() && items.only_item().typeId() == "petrified_eye" ) { - add_msg( _( "The pedestal sinks into the ground..." ) ); + add_msg( _( "The pedestal sinks into the ground…" ) ); g->m.ter_set( examp, t_dirt ); g->m.i_clear( examp ); g->timed_events.add( TIMED_EVENT_TEMPLE_OPEN, calendar::turn + 10_seconds ); } else if( p.has_amount( "petrified_eye", 1 ) && query_yn( _( "Place your petrified eye on the pedestal?" ) ) ) { p.use_amount( "petrified_eye", 1 ); - add_msg( _( "The pedestal sinks into the ground..." ) ); + add_msg( _( "The pedestal sinks into the ground…" ) ); g->m.ter_set( examp, t_dirt ); g->timed_events.add( TIMED_EVENT_TEMPLE_OPEN, calendar::turn + 10_seconds ); } else { @@ -1545,7 +1591,7 @@ void iexamine::flower_poppy( player &p, const tripoint &examp ) if( ( ( recentWeather.rain_amount > 1 ) ? one_in( 6 ) : one_in( 3 ) ) && resist < 5 ) { // Should user player::infect, but can't! // player::infect needs to be restructured to return a bool indicating success. - add_msg( m_bad, _( "You fall asleep..." ) ); + add_msg( m_bad, _( "You fall asleep…" ) ); p.fall_asleep( 2_hours ); add_msg( m_bad, _( "Your legs are covered in the poppy's roots!" ) ); p.apply_damage( nullptr, bp_leg_l, 4 ); @@ -1728,7 +1774,7 @@ void iexamine::harvested_plant( player &p, const tripoint &examp ) void iexamine::flower_marloss( player &p, const tripoint &examp ) { if( season_of_year( calendar::turn ) == WINTER ) { - add_msg( m_info, _( "This flower is still alive, despite the harsh conditions..." ) ); + add_msg( m_info, _( "This flower is still alive, despite the harsh conditions…" ) ); } if( can_drink_nectar( p ) ) { if( !query_yn( _( "You feel out of place as you explore the %s. Drink?" ), @@ -1736,7 +1782,7 @@ void iexamine::flower_marloss( player &p, const tripoint &examp ) return; } p.moves -= to_moves( 30_seconds ); // Takes 30 seconds - add_msg( m_bad, _( "This flower tastes very wrong..." ) ); + add_msg( m_bad, _( "This flower tastes very wrong…" ) ); // If you can drink flowers, you're post-thresh and the Mycus does not want you. p.add_effect( effect_teleglow, 10_minutes ); } @@ -1884,6 +1930,7 @@ void iexamine::plant_seed( player &p, const tripoint &examp, const itype_id &see if( used_seed.front().has_var( "activity_var" ) ) { used_seed.front().erase_var( "activity_var" ); } + used_seed.front().set_flag( "HIDDEN_ITEM" ); g->m.add_item_or_charges( examp, used_seed.front() ); if( g->m.has_flag_furn( "PLANTABLE", examp ) ) { g->m.furn_set( examp, furn_str_id( g->m.furn( examp )->plant->transform ) ); @@ -1919,7 +1966,7 @@ void iexamine::dirtmound( player &p, const tripoint &examp ) return; } if( !g->m.i_at( examp ).empty() ) { - add_msg( _( "Something's lying there..." ) ); + add_msg( _( "Something's lying there…" ) ); return; } @@ -2023,7 +2070,7 @@ void iexamine::harvest_plant( player &p, const tripoint &examp, bool from_activi add_msg( m_info, _( "The seed blooms forth! We have brought true beauty to this world." ) ); } else if( ( p.has_trait( trait_THRESH_MYCUS ) ) || one_in( 4 ) ) { g->m.furn_set( examp, f_flower_marloss ); - add_msg( m_info, _( "The seed blossoms rather rapidly..." ) ); + add_msg( m_info, _( "The seed blossoms rather rapidly…" ) ); } else { g->m.furn_set( examp, f_flower_fungal ); add_msg( m_info, _( "The seed blossoms into a flower-looking fungus." ) ); @@ -2270,7 +2317,7 @@ void iexamine::kiln_full( player &, const tripoint &examp ) map_stack items = g->m.i_at( examp ); if( items.empty() ) { - add_msg( _( "This kiln is empty..." ) ); + add_msg( _( "This kiln is empty…" ) ); g->m.furn_set( examp, next_kiln_type ); return; } @@ -2397,7 +2444,7 @@ void iexamine::arcfurnace_full( player &, const tripoint &examp ) map_stack items = g->m.i_at( examp ); if( items.empty() ) { - add_msg( _( "This furnace is empty..." ) ); + add_msg( _( "This furnace is empty…" ) ); g->m.furn_set( examp, next_arcfurnace_type ); return; } @@ -2463,7 +2510,7 @@ void iexamine::autoclave_empty( player &p, const tripoint &examp ) } ); if( items.empty() ) { - add_msg( _( "This autoclave is empty..." ) ); + add_msg( _( "This autoclave is empty…" ) ); return; } if( !cbms ) { @@ -2522,7 +2569,7 @@ void iexamine::autoclave_full( player &, const tripoint &examp ) } ); if( items.empty() ) { - add_msg( _( "This autoclave is empty..." ) ); + add_msg( _( "This autoclave is empty…" ) ); g->m.furn_set( examp, next_autoclave_type ); return; } @@ -2588,7 +2635,7 @@ void iexamine::fireplace( player &p, const tripoint &examp ) selection_menu.addentry( 0, true, 'g', _( "Get items" ) ); if( !already_on_fire ) { selection_menu.addentry( 1, has_firestarter, 'f', - has_firestarter ? _( "Start a fire" ) : _( "Start a fire... you'll need a fire source." ) ); + has_firestarter ? _( "Start a fire" ) : _( "Start a fire… you'll need a fire source." ) ); if( has_bionic_firestarter ) { selection_menu.addentry( 2, true, 'b', _( "Use a CBM to start a fire" ) ); } @@ -2612,7 +2659,7 @@ void iexamine::fireplace( player &p, const tripoint &examp ) item *it = firestarter.second; const auto usef = it->type->get_use( "firestarter" ); const auto actor = dynamic_cast( usef->get_actor_ptr() ); - p.add_msg_if_player( _( "You attempt to start a fire with your %s..." ), it->tname() ); + p.add_msg_if_player( _( "You attempt to start a fire with your %s…" ), it->tname() ); const ret_val can_use = actor->can_use( p, *it, false, examp ); if( can_use.success() ) { const int charges = actor->use( p, *it, false, examp ); @@ -3127,7 +3174,7 @@ void iexamine::tree_hickory( player &p, const tripoint &examp ) g->m.ter_set( examp, g->m.get_ter_transforms_into( examp ) ); } if( !p.has_quality( quality_id( "DIG" ) ) ) { - p.add_msg_if_player( m_info, _( "You have no tool to dig with..." ) ); + p.add_msg_if_player( m_info, _( "You have no tool to dig with…" ) ); return; } if( p.is_player() && @@ -3456,10 +3503,14 @@ void iexamine::trap( player &p, const tripoint &examp ) } const int possible = tr.get_difficulty(); bool seen = tr.can_see( examp, p ); - if( tr.loadid == tr_unfinished_construction || g->m.partial_con_at( examp ) ) { partial_con *pc = g->m.partial_con_at( examp ); if( pc ) { + const trait_id trait_DEBUG_HS( "DEBUG_HS" ); + if( g->u.fine_detail_vision_mod() > 4 && !g->u.has_trait( trait_DEBUG_HS ) ) { + add_msg( m_info, _( "It is too dark to construct right now." ) ); + return; + } const std::vector &list_constructions = get_constructions(); const construction &built = list_constructions[pc->id]; if( !query_yn( _( "Unfinished task: %s, %d%% complete here, continue construction?" ), @@ -4215,6 +4266,25 @@ static player &player_on_couch( player &p, const tripoint &autodoc_loc, player & return null_patient; } +static Character &operator_present( Character &p, const tripoint &autodoc_loc, + Character &null_patient ) +{ + for( const auto &loc : g->m.points_in_radius( autodoc_loc, 1 ) ) { + const furn_str_id couch( "f_autodoc_couch" ); + if( g->m.furn( loc ) != couch ) { + if( p.pos() == loc ) { + return p; + } + for( const npc *e : g->allies() ) { + if( e->pos() == loc ) { + return *g->critter_by_id( e->getID() ); + } + } + } + } + return null_patient; +} + static item &cyborg_on_couch( const tripoint &couch_pos, item &null_cyborg ) { for( item &it : g->m.i_at( couch_pos ) ) { @@ -4293,6 +4363,7 @@ void iexamine::autodoc( player &p, const tripoint &examp ) static avatar null_player; tripoint couch_pos; player &patient = player_on_couch( p, examp, null_player, adjacent_couch, couch_pos ); + Character &Operator = operator_present( p, examp, null_player ); static item null_cyborg; item &cyborg = cyborg_on_couch( couch_pos, null_cyborg ); @@ -4352,8 +4423,18 @@ void iexamine::autodoc( player &p, const tripoint &examp ) return; } + const bool unsafe_usage = &Operator == &null_player || ( &Operator == &p && &patient == &p ); + std::string autodoc_header = _( "Autodoc Mk. XI. Status: Online. Please choose operation" ); + if( unsafe_usage ) { + const std::string &warning_sign = colorize( " /", c_yellow ) + colorize( "!", + c_red ) + colorize( "\\", c_yellow ); + const std::string &warning = warning_sign + colorize( _( " WARNING: Operator missing" ), + c_red ) + warning_sign; + autodoc_header = warning + + _( "\n Using the Autodoc without an operator can lead to serious injuries or death.\n By continuing with the operation you accept the risks and acknowledge that you will not take any legal actions against this facility in case of an accident. " ); + } uilist amenu; - amenu.text = _( "Autodoc Mk. XI. Status: Online. Please choose operation" ); + amenu.text = autodoc_header; amenu.addentry( INSTALL_CBM, true, 'i', _( "Choose Compact Bionic Module to install" ) ); amenu.addentry( UNINSTALL_CBM, true, 'u', _( "Choose installed bionic to uninstall" ) ); amenu.addentry( BONESETTING, true, 's', _( "Splint broken limbs" ) ); @@ -4802,6 +4883,19 @@ static void smoker_finalize( player &, const tripoint &examp, const time_point & result.set_flag( "PROCESSING_RESULT" ); result.set_relative_rot( it.get_relative_rot() ); result.unset_flag( "PROCESSING_RESULT" ); + + result.inherit_flags( it ); + if( !result.has_flag( "NUTRIENT_OVERRIDE" ) ) { + // If the item has "cooks_like" it will be replaced by that item as a component. + if( !it.get_comestible()->cooks_like.empty() ) { + // Set charges to 1 for stacking purposes. + it = item( it.get_comestible()->cooks_like, it.birthday(), 1 ); + } + result.components.push_back( it ); + // Smoking is always 1:1, so these must be equal for correct kcal/vitamin calculation. + result.recipe_charges = it.charges; + } + it = result; } } @@ -5103,13 +5197,13 @@ void iexamine::quern_examine( player &p, const tripoint &examp ) if( !active ) { smenu.addentry_desc( 1, !empty, 'r', - empty ? _( "Remove brake and start milling... insert some products for milling first" ) : + empty ? _( "Remove brake and start milling… insert some products for milling first" ) : _( "Remove brake and start milling" ), _( "Remove brake and start milling, milling will take about 6 hours." ) ); smenu.addentry_desc( 2, !full, 'p', - full ? _( "Insert products for milling... mill is full" ) : - string_format( _( "Insert products for milling... remaining capacity is %s %s" ), + full ? _( "Insert products for milling… mill is full" ) : + string_format( _( "Insert products for milling… remaining capacity is %s %s" ), format_volume( remaining_capacity ), volume_units_abbr() ), _( "Fill the mill with starchy products such as wheat, barley or oats." ) ); @@ -5146,7 +5240,7 @@ void iexamine::quern_examine( player &p, const tripoint &examp ) } pop << "" << _( "You inspect its contents and find: " ) << "" << "\n\n "; if( items_here.empty() ) { - pop << _( "...that it is empty." ); + pop << _( "…that it is empty." ); } else { for( const item &it : items_here ) { if( it.typeId() == "fake_milling_item" ) { @@ -5277,16 +5371,16 @@ void iexamine::smoker_options( player &p, const tripoint &examp ) if( !active ) { smenu.addentry_desc( 1, !empty && has_enough_coal, 'l', - empty ? _( "Light up and smoke food... insert some food for smoking first" ) : + empty ? _( "Light up and smoke food… insert some food for smoking first" ) : !has_enough_coal ? string_format( - _( "Light up and smoke food... need extra %d charges of charcoal" ), + _( "Light up and smoke food… need extra %d charges of charcoal" ), need_charges - coal_charges ) : _( "Light up and smoke food" ), _( "Light up the smoking rack and start smoking. Smoking will take about 6 hours." ) ); if( portable ) { smenu.addentry_desc( 2, !full_portable, 'f', - full_portable ? _( "Insert food for smoking... smoking rack is full" ) : - string_format( _( "Insert food for smoking... remaining capacity is %s %s" ), + full_portable ? _( "Insert food for smoking… smoking rack is full" ) : + string_format( _( "Insert food for smoking… remaining capacity is %s %s" ), format_volume( remaining_capacity_portable ), volume_units_abbr() ), _( "Fill the smoking rack with raw meat, fish or sausages for smoking or fruit or vegetable or smoked meat for drying." ) ); @@ -5296,8 +5390,8 @@ void iexamine::smoker_options( player &p, const tripoint &examp ) } else { smenu.addentry_desc( 2, !full, 'f', - full ? _( "Insert food for smoking... smoking rack is full" ) : - string_format( _( "Insert food for smoking... remaining capacity is %s %s" ), + full ? _( "Insert food for smoking… smoking rack is full" ) : + string_format( _( "Insert food for smoking… remaining capacity is %s %s" ), format_volume( remaining_capacity ), volume_units_abbr() ), _( "Fill the smoking rack with raw meat, fish or sausages for smoking or fruit or vegetable or smoked meat for drying." ) ); } @@ -5307,11 +5401,11 @@ void iexamine::smoker_options( player &p, const tripoint &examp ) } smenu.addentry_desc( 3, has_coal_in_inventory, 'r', - !has_coal_in_inventory ? _( "Reload with charcoal... you don't have any" ) : + !has_coal_in_inventory ? _( "Reload with charcoal… you don't have any" ) : _( "Reload with charcoal" ), string_format( _( "You need %d charges of charcoal for %s %s of food. Minimal amount of charcoal is %d charges." ), - sm_rack::CHARCOAL_PER_LITER, format_volume( 1000_ml ), volume_units_long(), + sm_rack::CHARCOAL_PER_LITER, format_volume( 1_liter ), volume_units_long(), sm_rack::MIN_CHARCOAL ) ); } else { @@ -5351,7 +5445,7 @@ void iexamine::smoker_options( player &p, const tripoint &examp ) } pop << "" << _( "You inspect its contents and find: " ) << "" << "\n\n "; if( items_here.empty() ) { - pop << _( "...that it is empty." ); + pop << _( "…that it is empty." ); } else { for( const item &it : items_here ) { if( it.typeId() == "fake_smoke_plume" ) { @@ -5644,6 +5738,7 @@ iexamine_function iexamine_function_from_string( const std::string &function_nam { "gunsafe_ml", &iexamine::gunsafe_ml }, { "gunsafe_el", &iexamine::gunsafe_el }, { "locked_object", &iexamine::locked_object }, + { "locked_object_pickable", &iexamine::locked_object_pickable }, { "kiln_empty", &iexamine::kiln_empty }, { "kiln_full", &iexamine::kiln_full }, { "arcfurnace_empty", &iexamine::arcfurnace_empty }, diff --git a/src/iexamine.h b/src/iexamine.h index 4f17faf1c4b3c..91612cae21363 100644 --- a/src/iexamine.h +++ b/src/iexamine.h @@ -63,6 +63,7 @@ void harvest_ter_nectar( player &p, const tripoint &examp ); void harvest_ter( player &p, const tripoint &examp ); void harvested_plant( player &p, const tripoint &examp ); void locked_object( player &p, const tripoint &examp ); +void locked_object_pickable( player &p, const tripoint &examp ); void bulletin_board( player &p, const tripoint &examp ); void fault( player &p, const tripoint &examp ); void pedestal_wyrm( player &p, const tripoint &examp ); diff --git a/src/ime.cpp b/src/ime.cpp index f309e3a2609ee..e22df24205917 100644 --- a/src/ime.cpp +++ b/src/ime.cpp @@ -13,10 +13,10 @@ class imm_wrapper { private: HMODULE hImm; - typedef HIMC( WINAPI *pImmGetContext_t )( HWND ); - typedef BOOL( WINAPI *pImmGetOpenStatus_t )( HIMC ); - typedef BOOL( WINAPI *pImmSetOpenStatus_t )( HIMC, BOOL ); - typedef BOOL( WINAPI *pImmReleaseContext_t )( HWND, HIMC ); + using pImmGetContext_t = HIMC( WINAPI * )( HWND ); + using pImmGetOpenStatus_t = BOOL( WINAPI * )( HIMC ); + using pImmSetOpenStatus_t = BOOL( WINAPI * )( HIMC, BOOL ); + using pImmReleaseContext_t = BOOL( WINAPI * )( HWND, HIMC ); pImmGetContext_t pImmGetContext; pImmGetOpenStatus_t pImmGetOpenStatus; pImmSetOpenStatus_t pImmSetOpenStatus; @@ -61,7 +61,9 @@ class imm_wrapper bool ime_enabled() { if( hImm ) { + // NOLINTNEXTLINE(misc-misplaced-const) const HWND hwnd = getWindowHandle(); + // NOLINTNEXTLINE(misc-misplaced-const) const HIMC himc = pImmGetContext( hwnd ); bool enabled = pImmGetOpenStatus( himc ); pImmReleaseContext( hwnd, himc ); @@ -72,7 +74,9 @@ class imm_wrapper void enable_ime() { if( hImm ) { + // NOLINTNEXTLINE(misc-misplaced-const) const HWND hwnd = getWindowHandle(); + // NOLINTNEXTLINE(misc-misplaced-const) const HIMC himc = pImmGetContext( hwnd ); pImmSetOpenStatus( himc, TRUE ); pImmReleaseContext( hwnd, himc ); @@ -81,7 +85,9 @@ class imm_wrapper void disable_ime() { if( hImm ) { + // NOLINTNEXTLINE(misc-misplaced-const) const HWND hwnd = getWindowHandle(); + // NOLINTNEXTLINE(misc-misplaced-const) const HIMC himc = pImmGetContext( hwnd ); pImmSetOpenStatus( himc, FALSE ); pImmReleaseContext( hwnd, himc ); diff --git a/src/init.cpp b/src/init.cpp index 69a29f999bc56..ee79651aa4513 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -129,7 +129,7 @@ void DynamicDataLoader::load_deferred( deferred_json &data ) for( const auto &elem : data ) { discarded << elem.first; } - debugmsg( "JSON contains circular dependency. Discarded %i objects:\n%s", + debugmsg( "JSON contains circular dependency. Discarded %i objects:\n%s", data.size(), discarded.str() ); data.clear(); return; // made no progress on this cycle so abort @@ -142,7 +142,7 @@ static void load_ignored_type( JsonObject &jo ) // This does nothing! // This function is used for types that are to be ignored // (for example for testing or for unimplemented types) - ( void ) jo; + jo.allow_omitted_members(); } void DynamicDataLoader::add( const std::string &type, @@ -295,9 +295,8 @@ void DynamicDataLoader::initialize() item_controller->load_bionic( jo, src ); } ); - add( "ITEM_CATEGORY", []( JsonObject & jo ) { - item_controller->load_item_category( jo ); - } ); + add( "ITEM_CATEGORY", &item_category::load_item_cat ); + add( "MIGRATION", []( JsonObject & jo ) { item_controller->load_migration( jo ); } ); @@ -308,6 +307,8 @@ void DynamicDataLoader::initialize() add( "SPECIES", []( JsonObject & jo, const std::string & src ) { MonsterGenerator::generator().load_species( jo, src ); } ); + + add( "LOOT_ZONE", &zone_type::load_zones ); add( "monster_adjustment", &load_monster_adjustment ); add( "recipe_category", &load_recipe_category ); add( "recipe", &recipe_dictionary::load_recipe ); @@ -392,7 +393,7 @@ void DynamicDataLoader::initialize() void DynamicDataLoader::load_data_from_path( const std::string &path, const std::string &src, loading_ui &ui ) { - assert( !finalized && "Can't load additional data after finalization. Must be unloaded first." ); + assert( !finalized && "Can't load additional data after finalization. Must be unloaded first." ); // We assume that each folder is consistent in itself, // and all the previously loaded folders. // E.g. the core might provide a vpart "frame-x" @@ -572,6 +573,7 @@ void DynamicDataLoader::finalize_loaded_data( loading_ui &ui ) { _( "Overmap terrain" ), &overmap_terrains::finalize }, { _( "Overmap connections" ), &overmap_connections::finalize }, { _( "Overmap specials" ), &overmap_specials::finalize }, + { _( "Overmap locations" ), &overmap_locations::finalize }, { _( "Vehicle prototypes" ), &vehicle_prototype::finalize }, { _( "Mapgen weights" ), &calculate_mapgen_weights }, { @@ -592,6 +594,7 @@ void DynamicDataLoader::finalize_loaded_data( loading_ui &ui ) { _( "Behaviors" ), &behavior::finalize }, { _( "Harvest lists" ), &harvest_list::finalize_all }, { _( "Anatomies" ), &anatomy::finalize_all }, + { _( "Mutations" ), &mutation_branch::finalize }, #if defined(TILES) { _( "Tileset" ), &load_tileset }, #endif diff --git a/src/input.cpp b/src/input.cpp index ba192f9b2450d..2692da7f5e6e3 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -88,7 +88,7 @@ std::string get_input_string_from_file( const std::string &fname ) if( !ret.empty() && static_cast( ret[0] ) == 0xef ) { ret.erase( 0, 3 ); } - while( !ret.empty() && ( ret[ret.size() - 1] == '\r' || ret[ret.size() - 1] == '\n' ) ) { + while( !ret.empty() && ( ret.back() == '\r' || ret.back() == '\n' ) ) { ret.erase( ret.size() - 1, 1 ); } } ); @@ -116,19 +116,19 @@ void input_manager::init() reset_timeout(); try { - load( FILENAMES["keybindings"], false ); + load( PATH_INFO::keybindings(), false ); } catch( const JsonError &err ) { - throw std::runtime_error( FILENAMES["keybindings"] + ": " + err.what() ); + throw std::runtime_error( PATH_INFO::keybindings() + ": " + err.what() ); } try { - load( FILENAMES["keybindings_vehicle"], false ); + load( PATH_INFO::keybindings_vehicle(), false ); } catch( const JsonError &err ) { - throw std::runtime_error( FILENAMES["keybindings_vehicle"] + ": " + err.what() ); + throw std::runtime_error( PATH_INFO::keybindings_vehicle() + ": " + err.what() ); } try { - load( FILENAMES["user_keybindings"], true ); + load( PATH_INFO::user_keybindings(), true ); } catch( const JsonError &err ) { - throw std::runtime_error( FILENAMES["user_keybindings"] + ": " + err.what() ); + throw std::runtime_error( PATH_INFO::user_keybindings() + ": " + err.what() ); } if( keymap_file_loaded_from.empty() || ( keymap.empty() && unbound_keymap.empty() ) ) { @@ -199,6 +199,13 @@ void input_manager::load( const std::string &file_name, bool is_user_preferences // JSON object representing the action JsonObject action = jsin.get_object(); + const std::string type = action.get_string( "type", "keybinding" ); + if( type != "keybinding" ) { + debugmsg( "Only objects of type 'keybinding' (not %s) should appear in the " + "keybindings file '%s'", type, file_name ); + continue; + } + const std::string action_id = action.get_string( "id" ); const std::string context = action.get_string( "category", default_context_id ); t_actions &actions = action_contexts[context]; @@ -268,7 +275,7 @@ void input_manager::load( const std::string &file_name, bool is_user_preferences void input_manager::save() { - write_to_file( FILENAMES["user_keybindings"], [&]( std::ostream & data_file ) { + write_to_file( PATH_INFO::user_keybindings(), [&]( std::ostream & data_file ) { JsonOut jsout( data_file, true ); jsout.start_array(); diff --git a/src/inventory.cpp b/src/inventory.cpp index e3c6ea776ae03..b31fef831305f 100644 --- a/src/inventory.cpp +++ b/src/inventory.cpp @@ -391,14 +391,24 @@ static int count_charges_in_list( const itype *type, const map_stack &items ) return 0; } -void inventory::form_from_map( const tripoint &origin, int range, const player *pl, +void inventory::form_from_map( const tripoint &origin, int range, const Character *pl, bool assign_invlet, bool clear_path ) { form_from_map( g->m, origin, range, pl, assign_invlet, clear_path ); } -void inventory::form_from_map( map &m, const tripoint &origin, int range, const player *pl, +void inventory::form_from_zone( map &m, std::unordered_set &zone_pts, const Character *pl, + bool assign_invlet ) +{ + std::vector pts; + for( const tripoint &elem : zone_pts ) { + pts.push_back( m.getlocal( elem ) ); + } + form_from_map( m, pts, pl, assign_invlet ); +} + +void inventory::form_from_map( map &m, const tripoint &origin, int range, const Character *pl, bool assign_invlet, bool clear_path ) { @@ -414,9 +424,14 @@ void inventory::form_from_map( map &m, const tripoint &origin, int range, const reachable_pts.emplace_back( p ); } } + form_from_map( m, reachable_pts, pl, assign_invlet ); +} +void inventory::form_from_map( map &m, std::vector pts, const Character *pl, + bool assign_invlet ) +{ items.clear(); - for( const tripoint &p : reachable_pts ) { + for( const tripoint &p : pts ) { if( m.has_furn( p ) ) { const furn_t &f = m.furn( p ).obj(); const itype *type = f.crafting_pseudo_item_type(); @@ -583,7 +598,7 @@ void inventory::form_from_map( map &m, const tripoint &origin, int range, const add_item( chemistry_set ); } } - reachable_pts.clear(); + pts.clear(); } std::list inventory::reduce_stack( const int position, const int quantity ) @@ -869,7 +884,7 @@ void inventory::rust_iron_items() //Scale with volume, bigger = slower (see #24204) one_in( static_cast( 14 * std::cbrt( 0.5 * std::max( 0.05, static_cast( elem_stack_iter.base_volume().value() ) / 250 ) ) ) ) && - // ^season length ^14/5*0.75/3.14 (from volume of sphere) + // ^season length ^14/5*0.75/pi (from volume of sphere) g->m.water_from( g->u.pos() ).typeId() == "salt_water" ) { //Freshwater without oxygen rusts slower than air elem_stack_iter.inc_damage( DT_ACID ); // rusting never completely destroys an item diff --git a/src/inventory.h b/src/inventory.h index 747070b49a941..b0ca34c60324d 100644 --- a/src/inventory.h +++ b/src/inventory.h @@ -7,9 +7,11 @@ #include #include #include +#include #include #include #include +#include #include #include #include @@ -125,12 +127,16 @@ class inventory : public visitable * the player's worn items / weapon */ void restack( player &p ); - void form_from_map( const tripoint &origin, int range, const player *pl = nullptr, + void form_from_zone( map &m, std::unordered_set &zone_pts, const Character *pl = nullptr, + bool assign_invlet = true ); + void form_from_map( const tripoint &origin, int range, const Character *pl = nullptr, bool assign_invlet = true, bool clear_path = true ); - void form_from_map( map &m, const tripoint &origin, int range, const player *pl = nullptr, + void form_from_map( map &m, const tripoint &origin, int range, const Character *pl = nullptr, bool assign_invlet = true, bool clear_path = true ); + void form_from_map( map &m, std::vector pts, const Character *pl, + bool assign_invlet = true ); /** * Remove a specific item from the inventory. The item is compared * by pointer. Contents of the item are removed as well. diff --git a/src/inventory_ui.cpp b/src/inventory_ui.cpp index 2cbca38e45660..d109e6f8f1bab 100644 --- a/src/inventory_ui.cpp +++ b/src/inventory_ui.cpp @@ -556,6 +556,7 @@ void inventory_column::reset_width() size_t inventory_column::page_of( size_t index ) const { assert( entries_per_page ); // To appease static analysis + // NOLINTNEXTLINE(clang-analyzer-core.DivideZero) return index / entries_per_page; } @@ -745,7 +746,7 @@ void inventory_column::prepare_paging( const std::string &filter ) to->update_cache(); std::advance( to, 1 ); } - if( ordered_categories.count( from->get_category_ptr()->id() ) == 0 ) { + if( ordered_categories.count( from->get_category_ptr()->get_id().c_str() ) == 0 ) { std::sort( from, to, [ this ]( const inventory_entry & lhs, const inventory_entry & rhs ) { if( lhs.is_selectable() != rhs.is_selectable() ) { return lhs.is_selectable(); // Disabled items always go last @@ -1060,10 +1061,10 @@ static std::vector> restack_items( const item_stack::const_ite const item_category *inventory_selector::naturalize_category( const item_category &category, const tripoint &pos ) { - const auto find_cat_by_id = [ this ]( const std::string & id ) { + const auto find_cat_by_id = [ this ]( const item_category_id & id ) { const auto iter = std::find_if( categories.begin(), categories.end(), [ &id ]( const item_category & cat ) { - return cat.id() == id; + return cat.get_id() == id; } ); return iter != categories.end() ? &*iter : nullptr; }; @@ -1072,7 +1073,8 @@ const item_category *inventory_selector::naturalize_category( const item_categor if( dist != 0 ) { const std::string suffix = direction_suffix( u.pos(), pos ); - const std::string id = string_format( "%s_%s", category.id().c_str(), suffix.c_str() ); + const item_category_id id = item_category_id( string_format( "%s_%s", category.get_id().c_str(), + suffix.c_str() ) ); const auto existing = find_cat_by_id( id ); if( existing != nullptr ) { @@ -1085,7 +1087,7 @@ const item_category *inventory_selector::naturalize_category( const item_categor categories.push_back( new_category ); } else { - const auto existing = find_cat_by_id( category.id() ); + const item_category *const existing = find_cat_by_id( category.get_id() ); if( existing != nullptr ) { return existing; } @@ -1147,15 +1149,13 @@ void inventory_selector::add_items( inventory_column &target_column, void inventory_selector::add_character_items( Character &character ) { - static const item_category items_worn_category( "ITEMS_WORN", to_translation( "ITEMS WORN" ), - -100 ); - static const item_category weapon_held_category( "WEAPON_HELD", to_translation( "WEAPON HELD" ), - -200 ); character.visit_items( [ this, &character ]( item * it ) { if( it == &character.weapon ) { - add_item( own_gear_column, item_location( character, it ), &weapon_held_category ); + add_item( own_gear_column, item_location( character, it ), + &item_category_id( "WEAPON_HELD" ).obj() ); } else if( character.is_worn( *it ) ) { - add_item( own_gear_column, item_location( character, it ), &items_worn_category ); + add_item( own_gear_column, item_location( character, it ), + &item_category_id( "ITEMS_WORN" ).obj() ); } return VisitResponse::NEXT; } ); diff --git a/src/item.cpp b/src/item.cpp index a7c7003d9ae7b..fd882bfeef709 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -244,7 +244,7 @@ item::item( const itype *type, time_point turn, int qty ) : type( type ), bday( } if( !type->snippet_category.empty() ) { - note = SNIPPET.assign( type->snippet_category ); + snippet_id = SNIPPET.random_id_from_category( type->snippet_category ); } if( current_phase == PNULL ) { @@ -306,18 +306,18 @@ item::item( const recipe *rec, int qty, std::list items, std::vectoritem_tags ) { + if( json_flag::get( f ).craft_inherit() ) { + set_flag( f ); + } } } - } item item::make_corpse( const mtype_id &mt, time_point turn, const std::string &name ) @@ -1100,1290 +1100,1356 @@ faction_id item::get_old_owner() const return old_owner; } -std::string item::info( std::vector &info, const iteminfo_query *parts, int batch ) const +static void insert_separation_line( std::vector &info ) { - std::stringstream temp1; - std::stringstream temp2; - std::string space = " "; - const bool debug = g != nullptr && debug_mode; - avatar &u = g->u; // TODO: make a const reference - - if( parts == nullptr ) { - parts = &iteminfo_query::all; + if( info.empty() || info.back().sName != "--" ) { + info.push_back( iteminfo( "DESCRIPTION", "--" ) ); } +} - info.clear(); +void item::basic_info( std::vector &info, const iteminfo_query *parts, int batch, + bool debug /* debug */ ) const +{ + const std::string space = " "; + if( parts->test( iteminfo_parts::BASE_CATEGORY ) ) { + info.push_back( iteminfo( "BASE", _( "Category: " ), + "
" + get_category().name() + "
", + iteminfo::no_newline ) ); + } + const int price_preapoc = price( false ) * batch; + const int price_postapoc = price( true ) * batch; + if( parts->test( iteminfo_parts::BASE_PRICE ) ) { + info.push_back( iteminfo( "BASE", space + _( "Price: " ), _( "$" ), + iteminfo::is_decimal | iteminfo::lower_is_better, + static_cast( price_preapoc ) / 100 ) ); + } + if( price_preapoc != price_postapoc && parts->test( iteminfo_parts::BASE_BARTER ) ) { + info.push_back( iteminfo( "BASE", _( "Barter value: " ), _( "$" ), + iteminfo::is_decimal | iteminfo::lower_is_better, + static_cast( price_postapoc ) / 100 ) ); + } - auto insert_separation_line = [&]() { - if( info.empty() || info.back().sName != "--" ) { - info.push_back( iteminfo( "DESCRIPTION", "--" ) ); + int converted_volume_scale = 0; + const double converted_volume = round_up( convert_volume( volume().value(), + &converted_volume_scale ) * batch, 2 ); + if( parts->test( iteminfo_parts::BASE_VOLUME ) ) { + iteminfo::flags f = iteminfo::lower_is_better | iteminfo::no_newline; + if( converted_volume_scale != 0 ) { + f |= iteminfo::is_decimal; } - }; + info.push_back( iteminfo( "BASE", _( "Volume: " ), + string_format( " %s", volume_units_abbr() ), + f, converted_volume ) ); + } + if( parts->test( iteminfo_parts::BASE_WEIGHT ) ) { + info.push_back( iteminfo( "BASE", space + _( "Weight: " ), + string_format( " %s", weight_units() ), + iteminfo::lower_is_better | iteminfo::is_decimal, + convert_weight( weight() ) * batch ) ); + } - int encumbrance = get_encumber( g->u ); - const sizing sizing_level = get_sizing( g->u, encumbrance != 0 ); + if( !type->rigid && parts->test( iteminfo_parts::BASE_RIGIDITY ) ) { + info.emplace_back( "BASE", _( "Rigid: " ), + _( "No (contents increase volume)" ) ); + } - if( !is_null() ) { - if( parts->test( iteminfo_parts::BASE_CATEGORY ) ) { - info.push_back( iteminfo( "BASE", _( "Category: " ), - "
" + get_category().name() + "
", - iteminfo::no_newline ) ); + int dmg_bash = damage_melee( DT_BASH ); + int dmg_cut = damage_melee( DT_CUT ); + int dmg_stab = damage_melee( DT_STAB ); + if( parts->test( iteminfo_parts::BASE_DAMAGE ) ) { + std::string sep; + if( dmg_bash ) { + info.emplace_back( "BASE", _( "Bash: " ), "", iteminfo::no_newline, dmg_bash ); + sep = space; } - const int price_preapoc = price( false ) * batch; - const int price_postapoc = price( true ) * batch; - if( parts->test( iteminfo_parts::BASE_PRICE ) ) { - info.push_back( iteminfo( "BASE", space + _( "Price: " ), _( "$" ), - iteminfo::is_decimal | iteminfo::lower_is_better, - static_cast( price_preapoc ) / 100 ) ); + if( dmg_cut ) { + info.emplace_back( "BASE", sep + _( "Cut: " ), "", iteminfo::no_newline, dmg_cut ); + sep = space; } - if( price_preapoc != price_postapoc && parts->test( iteminfo_parts::BASE_BARTER ) ) { - info.push_back( iteminfo( "BASE", _( "Barter value: " ), _( "$" ), - iteminfo::is_decimal | iteminfo::lower_is_better, - static_cast( price_postapoc ) / 100 ) ); + if( dmg_stab ) { + info.emplace_back( "BASE", sep + _( "Pierce: " ), "", iteminfo::no_newline, dmg_stab ); } + } - int converted_volume_scale = 0; - const double converted_volume = round_up( convert_volume( volume().value(), - &converted_volume_scale ) * batch, 2 ); - if( parts->test( iteminfo_parts::BASE_VOLUME ) ) { - iteminfo::flags f = iteminfo::lower_is_better | iteminfo::no_newline; - if( converted_volume_scale != 0 ) { - f |= iteminfo::is_decimal; - } - info.push_back( iteminfo( "BASE", _( "Volume: " ), - string_format( " %s", volume_units_abbr() ), - f, converted_volume ) ); - } - if( parts->test( iteminfo_parts::BASE_WEIGHT ) ) { - info.push_back( iteminfo( "BASE", space + _( "Weight: " ), - string_format( " %s", weight_units() ), - iteminfo::lower_is_better | iteminfo::is_decimal, - convert_weight( weight() ) * batch ) ); + if( dmg_bash || dmg_cut || dmg_stab ) { + if( parts->test( iteminfo_parts::BASE_TOHIT ) ) { + info.push_back( iteminfo( "BASE", space + _( "To-hit bonus: " ), "", + iteminfo::show_plus, type->m_to_hit ) ); } - if( !type->rigid && parts->test( iteminfo_parts::BASE_RIGIDITY ) ) { - info.emplace_back( "BASE", _( "Rigid: " ), _( "No (contents increase volume)" ) ); + if( parts->test( iteminfo_parts::BASE_MOVES ) ) { + info.push_back( iteminfo( "BASE", _( "Moves per attack: " ), "", + iteminfo::lower_is_better, attack_time() ) ); } + } - int dmg_bash = damage_melee( DT_BASH ); - int dmg_cut = damage_melee( DT_CUT ); - int dmg_stab = damage_melee( DT_STAB ); - if( parts->test( iteminfo_parts::BASE_DAMAGE ) ) { - std::string sep; - if( dmg_bash ) { - info.emplace_back( "BASE", _( "Bash: " ), "", iteminfo::no_newline, dmg_bash ); - sep = space; - } - if( dmg_cut ) { - info.emplace_back( "BASE", sep + _( "Cut: " ), - "", iteminfo::no_newline, dmg_cut ); - sep = space; - } - if( dmg_stab ) { - info.emplace_back( "BASE", sep + _( "Pierce: " ), - "", iteminfo::no_newline, dmg_stab ); - } + insert_separation_line( info ); + + if( parts->test( iteminfo_parts::BASE_REQUIREMENTS ) ) { + // Display any minimal stat or skill requirements for the item + std::vector req; + if( get_min_str() > 0 ) { + req.push_back( string_format( "%s %d", _( "strength" ), get_min_str() ) ); } + if( type->min_dex > 0 ) { + req.push_back( string_format( "%s %d", _( "dexterity" ), type->min_dex ) ); + } + if( type->min_int > 0 ) { + req.push_back( string_format( "%s %d", _( "intelligence" ), type->min_int ) ); + } + if( type->min_per > 0 ) { + req.push_back( string_format( "%s %d", _( "perception" ), type->min_per ) ); + } + for( const std::pair &sk : type->min_skills ) { + req.push_back( string_format( "%s %d", skill_id( sk.first )->name(), sk.second ) ); + } + if( !req.empty() ) { + info.emplace_back( "BASE", _( "Minimum requirements:" ) ); + info.emplace_back( "BASE", enumerate_as_string( req ) ); + insert_separation_line( info ); + } + } - if( dmg_bash || dmg_cut || dmg_stab ) { - if( parts->test( iteminfo_parts::BASE_TOHIT ) ) { - info.push_back( iteminfo( "BASE", space + _( "To-hit bonus: " ), "", - iteminfo::show_plus, type->m_to_hit ) ); + const std::vector mat_types = made_of_types(); + if( !mat_types.empty() && parts->test( iteminfo_parts::BASE_MATERIAL ) ) { + const std::string material_list = enumerate_as_string( mat_types.begin(), mat_types.end(), + []( const material_type * material ) { + return string_format( "%s", _( material->name() ) ); + }, enumeration_conjunction::none ); + info.push_back( iteminfo( "BASE", string_format( _( "Material: %s" ), material_list ) ) ); + } + if( !owner.is_null() ) { + info.push_back( iteminfo( "BASE", string_format( _( "Owner: %s" ), + _( get_owner_name() ) ) ) ); + } + if( has_var( "contained_name" ) && parts->test( iteminfo_parts::BASE_CONTENTS ) ) { + info.push_back( iteminfo( "BASE", string_format( _( "Contains: %s" ), + get_var( "contained_name" ) ) ) ); + } + if( count_by_charges() && !is_food() && !is_medication() && + parts->test( iteminfo_parts::BASE_AMOUNT ) ) { + info.push_back( iteminfo( "BASE", _( "Amount: " ), "", iteminfo::no_flags, + charges * batch ) ); + } + if( debug && parts->test( iteminfo_parts::BASE_DEBUG ) ) { + if( g != nullptr ) { + info.push_back( iteminfo( "BASE", _( "age (hours): " ), "", iteminfo::lower_is_better, + to_hours( age() ) ) ); + info.push_back( iteminfo( "BASE", _( "charges: " ), "", iteminfo::lower_is_better, + charges ) ); + info.push_back( iteminfo( "BASE", _( "damage: " ), "", iteminfo::lower_is_better, + damage_ ) ); + info.push_back( iteminfo( "BASE", _( "active: " ), "", iteminfo::lower_is_better, + active ) ); + info.push_back( iteminfo( "BASE", _( "burn: " ), "", iteminfo::lower_is_better, + burnt ) ); + std::ostringstream stream; + std::copy( item_tags.begin(), item_tags.end(), + std::ostream_iterator( stream, "," ) ); + std::string tags_listed = stream.str(); + info.push_back( iteminfo( "BASE", string_format( _( "tags: %s" ), tags_listed ) ) ); + for( auto const &imap : item_vars ) { + info.push_back( iteminfo( "BASE", + string_format( _( "item var: %s, %s" ), imap.first, + imap.second ) ) ); } - if( parts->test( iteminfo_parts::BASE_MOVES ) ) { - info.push_back( iteminfo( "BASE", _( "Moves per attack: " ), + const item *food = is_food_container() ? &contents.front() : this; + if( food->goes_bad() ) { + info.push_back( iteminfo( "BASE", _( "age (turns): " ), "", iteminfo::lower_is_better, - attack_time() ) ); - } - } - - insert_separation_line(); - - if( parts->test( iteminfo_parts::BASE_REQUIREMENTS ) ) { - // Display any minimal stat or skill requirements for the item - std::vector req; - if( get_min_str() > 0 ) { - req.push_back( string_format( "%s %d", _( "strength" ), get_min_str() ) ); - } - if( type->min_dex > 0 ) { - req.push_back( string_format( "%s %d", _( "dexterity" ), type->min_dex ) ); - } - if( type->min_int > 0 ) { - req.push_back( string_format( "%s %d", _( "intelligence" ), type->min_int ) ); - } - if( type->min_per > 0 ) { - req.push_back( string_format( "%s %d", _( "perception" ), type->min_per ) ); - } - for( const std::pair &sk : type->min_skills ) { - req.push_back( string_format( "%s %d", skill_id( sk.first )->name(), sk.second ) ); - } - if( !req.empty() ) { - info.emplace_back( "BASE", _( "Minimum requirements:" ) ); - info.emplace_back( "BASE", enumerate_as_string( req ) ); - insert_separation_line(); - } - } - - const std::vector mat_types = made_of_types(); - if( !mat_types.empty() && parts->test( iteminfo_parts::BASE_MATERIAL ) ) { - const std::string material_list = enumerate_as_string( mat_types.begin(), mat_types.end(), - []( const material_type * material ) { - return string_format( "%s", _( material->name() ) ); - }, enumeration_conjunction::none ); - info.push_back( iteminfo( "BASE", string_format( _( "Material: %s" ), material_list ) ) ); - } - if( !owner.is_null() ) { - info.push_back( iteminfo( "BASE", string_format( _( "Owner: %s" ), _( get_owner_name() ) ) ) ); - } - if( has_var( "contained_name" ) && parts->test( iteminfo_parts::BASE_CONTENTS ) ) { - info.push_back( iteminfo( "BASE", string_format( _( "Contains: %s" ), - get_var( "contained_name" ) ) ) ); - } - if( count_by_charges() && !is_food() && !is_medication() && - parts->test( iteminfo_parts::BASE_AMOUNT ) ) { - info.push_back( iteminfo( "BASE", _( "Amount: " ), "", iteminfo::no_flags, - charges * batch ) ); - } - if( debug && parts->test( iteminfo_parts::BASE_DEBUG ) ) { - if( g != nullptr ) { - info.push_back( iteminfo( "BASE", _( "age (hours): " ), "", iteminfo::lower_is_better, - to_hours( age() ) ) ); - info.push_back( iteminfo( "BASE", _( "charges: " ), "", iteminfo::lower_is_better, - charges ) ); - info.push_back( iteminfo( "BASE", _( "damage: " ), "", iteminfo::lower_is_better, - damage_ ) ); - info.push_back( iteminfo( "BASE", _( "active: " ), "", iteminfo::lower_is_better, - active ) ); - info.push_back( iteminfo( "BASE", _( "burn: " ), "", iteminfo::lower_is_better, - burnt ) ); - std::ostringstream stream; - std::copy( item_tags.begin(), item_tags.end(), std::ostream_iterator( stream, "," ) ); - std::string tags_listed = stream.str(); - info.push_back( iteminfo( "BASE", string_format( _( "tags: %s" ), tags_listed ) ) ); - for( auto const &imap : item_vars ) { - info.push_back( iteminfo( "BASE", string_format( _( "item var: %s, %s" ), imap.first, - imap.second ) ) ); - } - - const item *food = is_food_container() ? &contents.front() : this; - if( food->goes_bad() ) { - info.push_back( iteminfo( "BASE", _( "age (turns): " ), - "", iteminfo::lower_is_better, - to_turns( food->age() ) ) ); - info.push_back( iteminfo( "BASE", _( "rot (turns): " ), - "", iteminfo::lower_is_better, - to_turns( food->rot ) ) ); - info.push_back( iteminfo( "BASE", space + _( "max rot (turns): " ), - "", iteminfo::lower_is_better, - to_turns( food->get_shelf_life() ) ) ); - info.push_back( iteminfo( "BASE", _( "last rot: " ), - "", iteminfo::lower_is_better, - to_turn( food->last_rot_check ) ) ); - info.push_back( iteminfo( "BASE", _( "last temp: " ), - "", iteminfo::lower_is_better, - to_turn( food->last_temp_check ) ) ); - } - if( food->has_temperature() ) { - info.push_back( iteminfo( "BASE", _( "Temp: " ), "", iteminfo::lower_is_better, - food->temperature ) ); - info.push_back( iteminfo( "BASE", _( "Spec ener: " ), "", iteminfo::lower_is_better, - food->specific_energy ) ); - info.push_back( iteminfo( "BASE", _( "Spec heat lq: " ), "", iteminfo::lower_is_better, - 1000 * food->get_specific_heat_liquid() ) ); - info.push_back( iteminfo( "BASE", _( "Spec heat sld: " ), "", iteminfo::lower_is_better, - 1000 * food->get_specific_heat_solid() ) ); - info.push_back( iteminfo( "BASE", _( "latent heat: " ), "", iteminfo::lower_is_better, - food->get_latent_heat() ) ); - info.push_back( iteminfo( "BASE", _( "Freeze point: " ), "", iteminfo::lower_is_better, - food->get_freeze_point() ) ); - } + to_turns( food->age() ) ) ); + info.push_back( iteminfo( "BASE", _( "rot (turns): " ), + "", iteminfo::lower_is_better, + to_turns( food->rot ) ) ); + info.push_back( iteminfo( "BASE", space + _( "max rot (turns): " ), + "", iteminfo::lower_is_better, + to_turns( food->get_shelf_life() ) ) ); + info.push_back( iteminfo( "BASE", _( "last rot: " ), + "", iteminfo::lower_is_better, + to_turn( food->last_rot_check ) ) ); + info.push_back( iteminfo( "BASE", _( "last temp: " ), + "", iteminfo::lower_is_better, + to_turn( food->last_temp_check ) ) ); + } + if( food->has_temperature() ) { + info.push_back( iteminfo( "BASE", _( "Temp: " ), "", iteminfo::lower_is_better, + food->temperature ) ); + info.push_back( iteminfo( "BASE", _( "Spec ener: " ), "", + iteminfo::lower_is_better, + food->specific_energy ) ); + info.push_back( iteminfo( "BASE", _( "Spec heat lq: " ), "", + iteminfo::lower_is_better, + 1000 * food->get_specific_heat_liquid() ) ); + info.push_back( iteminfo( "BASE", _( "Spec heat sld: " ), "", + iteminfo::lower_is_better, + 1000 * food->get_specific_heat_solid() ) ); + info.push_back( iteminfo( "BASE", _( "latent heat: " ), "", + iteminfo::lower_is_better, + food->get_latent_heat() ) ); + info.push_back( iteminfo( "BASE", _( "Freeze point: " ), "", + iteminfo::lower_is_better, + food->get_freeze_point() ) ); } } } +} - const item *med_item = nullptr; - if( is_medication() ) { - med_item = this; - } else if( is_med_container() ) { - med_item = &contents.front(); +void item::med_info( const item *med_item, std::vector &info, const iteminfo_query *parts, + int batch, bool ) const +{ + const cata::optional &med_com = med_item->get_comestible(); + if( med_com->quench != 0 && parts->test( iteminfo_parts::MED_QUENCH ) ) { + info.push_back( iteminfo( "MED", _( "Quench: " ), med_com->quench ) ); } - if( med_item != nullptr ) { - const cata::optional &med_com = med_item->get_comestible(); - if( med_com->quench != 0 && parts->test( iteminfo_parts::MED_QUENCH ) ) { - info.push_back( iteminfo( "MED", _( "Quench: " ), med_com->quench ) ); - } - if( med_com->fun != 0 && parts->test( iteminfo_parts::MED_JOY ) ) { - info.push_back( iteminfo( "MED", _( "Enjoyability: " ), - g->u.fun_for( *med_item ).first ) ); - } + if( med_com->fun != 0 && parts->test( iteminfo_parts::MED_JOY ) ) { + info.push_back( iteminfo( "MED", _( "Enjoyability: " ), + g->u.fun_for( *med_item ).first ) ); + } - if( med_com->stim != 0 && parts->test( iteminfo_parts::MED_STIMULATION ) ) { - std::string name = string_format( "%s %s", _( "Stimulation:" ), - med_com->stim > 0 ? _( "Upper" ) : _( "Downer" ) ); - info.push_back( iteminfo( "MED", name ) ); - } + if( med_com->stim != 0 && parts->test( iteminfo_parts::MED_STIMULATION ) ) { + std::string name = string_format( "%s %s", _( "Stimulation:" ), + med_com->stim > 0 ? _( "Upper" ) : _( "Downer" ) ); + info.push_back( iteminfo( "MED", name ) ); + } - if( parts->test( iteminfo_parts::MED_PORTIONS ) ) { - info.push_back( iteminfo( "MED", _( "Portions: " ), - abs( static_cast( med_item->charges ) * batch ) ) ); - } + if( parts->test( iteminfo_parts::MED_PORTIONS ) ) { + info.push_back( iteminfo( "MED", _( "Portions: " ), + abs( static_cast( med_item->charges ) * batch ) ) ); + } - if( med_com->addict && parts->test( iteminfo_parts::DESCRIPTION_MED_ADDICTING ) ) { - info.emplace_back( "DESCRIPTION", _( "* Consuming this item is addicting." ) ); + if( med_com->addict && parts->test( iteminfo_parts::DESCRIPTION_MED_ADDICTING ) ) { + info.emplace_back( "DESCRIPTION", _( "* Consuming this item is addicting." ) ); + } +} + +void item::food_info( const item *food_item, std::vector &info, + const iteminfo_query *parts, int batch, bool debug ) const +{ + const std::string space = " "; + if( g->u.kcal_for( *food_item ) != 0 || food_item->get_comestible()->quench != 0 ) { + if( parts->test( iteminfo_parts::FOOD_NUTRITION ) ) { + const int value = g->u.kcal_for( *food_item ); + info.push_back( iteminfo( "FOOD", _( "Calories (kcal): " ), + "", iteminfo::no_newline, value ) ); + } + if( parts->test( iteminfo_parts::FOOD_QUENCH ) ) { + info.push_back( iteminfo( "FOOD", space + _( "Quench: " ), + food_item->get_comestible()->quench ) ); } } - const item *food_item = nullptr; - if( is_food() ) { - food_item = this; - } else if( is_food_container() ) { - food_item = &contents.front(); + const std::pair fun_for_food_item = g->u.fun_for( *food_item ); + if( fun_for_food_item.first != 0 && parts->test( iteminfo_parts::FOOD_JOY ) ) { + info.push_back( iteminfo( "FOOD", _( "Enjoyability: " ), fun_for_food_item.first ) ); } - if( food_item != nullptr ) { - if( g->u.kcal_for( *food_item ) != 0 || food_item->get_comestible()->quench != 0 ) { - if( parts->test( iteminfo_parts::FOOD_NUTRITION ) ) { - const int value = g->u.kcal_for( *food_item ); - info.push_back( iteminfo( "FOOD", _( "Calories (kcal): " ), - "", iteminfo::no_newline, value ) ); - } - if( parts->test( iteminfo_parts::FOOD_QUENCH ) ) { - info.push_back( iteminfo( "FOOD", space + _( "Quench: " ), - food_item->get_comestible()->quench ) ); - } - } - const std::pair fun_for_food_item = g->u.fun_for( *food_item ); - if( fun_for_food_item.first != 0 && parts->test( iteminfo_parts::FOOD_JOY ) ) { - info.push_back( iteminfo( "FOOD", _( "Enjoyability: " ), fun_for_food_item.first ) ); - } + if( parts->test( iteminfo_parts::FOOD_PORTIONS ) ) { + info.push_back( iteminfo( "FOOD", _( "Portions: " ), + abs( static_cast( food_item->charges ) * batch ) ) ); + } + if( food_item->corpse != nullptr && parts->test( iteminfo_parts::FOOD_SMELL ) && + ( debug || ( g != nullptr && ( g->u.has_bionic( bionic_id( "bio_scent_vision" ) ) || + g->u.has_trait( trait_id( "CARNIVORE" ) ) || + g->u.has_artifact_with( AEP_SUPER_CLAIRVOYANCE ) ) ) ) ) { + info.push_back( iteminfo( "FOOD", _( "Smells like: " ) + food_item->corpse->nname() ) ); + } - if( parts->test( iteminfo_parts::FOOD_PORTIONS ) ) { - info.push_back( iteminfo( "FOOD", _( "Portions: " ), - abs( static_cast( food_item->charges ) * batch ) ) ); - } - if( food_item->corpse != nullptr && ( debug || ( g != nullptr && - ( g->u.has_bionic( bionic_id( "bio_scent_vision" ) ) || g->u.has_trait( trait_id( "CARNIVORE" ) ) || - g->u.has_artifact_with( AEP_SUPER_CLAIRVOYANCE ) ) ) ) - && parts->test( iteminfo_parts::FOOD_SMELL ) ) { - info.push_back( iteminfo( "FOOD", _( "Smells like: " ) + food_item->corpse->nname() ) ); - } + const std::map vits = g->u.vitamins_from( *food_item ); + const std::string required_vits = enumerate_as_string( vits.begin(), + vits.end(), []( const std::pair &v ) { + // only display vitamins that we actually require + return ( g->u.vitamin_rate( v.first ) > 0_turns && v.second != 0 ) ? + string_format( "%s (%i%%)", v.first.obj().name(), + static_cast( v.second * g->u.vitamin_rate( v.first ) / + 1_days * 100 ) ) : + std::string(); + } ); + if( !required_vits.empty() && parts->test( iteminfo_parts::FOOD_VITAMINS ) ) { + info.emplace_back( "FOOD", _( "Vitamins (RDA): " ), required_vits ); + } - const std::map vits = g->u.vitamins_from( *food_item ); - const std::string required_vits = enumerate_as_string( vits.begin(), - vits.end(), []( const std::pair &v ) { - return ( g->u.vitamin_rate( v.first ) > 0_turns && - v.second != 0 ) // only display vitamins that we actually require - ? string_format( "%s (%i%%)", v.first.obj().name(), - static_cast( v.second * g->u.vitamin_rate( v.first ) / 1_days * 100 ) ) - : std::string(); - } ); - if( !required_vits.empty() && parts->test( iteminfo_parts::FOOD_VITAMINS ) ) { - info.emplace_back( "FOOD", _( "Vitamins (RDA): " ), required_vits ); - } + if( g->u.allergy_type( *food_item ) != morale_type( "morale_null" ) ) { + info.emplace_back( "DESCRIPTION", + _( "* This food will cause an allergic reaction." ) ); + } - if( u.allergy_type( *food_item ) != morale_type( "morale_null" ) ) { + if( food_item->has_flag( "CANNIBALISM" ) && + parts->test( iteminfo_parts::FOOD_CANNIBALISM ) ) { + if( !g->u.has_trait_flag( "CANNIBAL" ) ) { info.emplace_back( "DESCRIPTION", - _( "* This food will cause an allergic reaction." ) ); + _( "* This food contains human flesh." ) ); + } else { + info.emplace_back( "DESCRIPTION", + _( "* This food contains human flesh." ) ); } + } - if( food_item->has_flag( "CANNIBALISM" ) && parts->test( iteminfo_parts::FOOD_CANNIBALISM ) ) { - if( !g->u.has_trait_flag( "CANNIBAL" ) ) { - info.emplace_back( "DESCRIPTION", _( "* This food contains human flesh." ) ); - } else { - info.emplace_back( "DESCRIPTION", _( "* This food contains human flesh." ) ); - } - } + if( food_item->is_tainted() && parts->test( iteminfo_parts::FOOD_CANNIBALISM ) ) { + info.emplace_back( "DESCRIPTION", + _( "* This food is tainted and will poison you." ) ); + } + + ///\EFFECT_SURVIVAL >=3 allows detection of poisonous food + if( food_item->has_flag( "HIDDEN_POISON" ) && g->u.get_skill_level( skill_survival ) >= 3 && + parts->test( iteminfo_parts::FOOD_POISON ) ) { + info.emplace_back( "DESCRIPTION", + _( "* On closer inspection, this appears to be " + "poisonous." ) ); + } + + ///\EFFECT_SURVIVAL >=5 allows detection of hallucinogenic food + if( food_item->has_flag( "HIDDEN_HALLU" ) && g->u.get_skill_level( skill_survival ) >= 5 && + parts->test( iteminfo_parts::FOOD_HALLUCINOGENIC ) ) { + info.emplace_back( "DESCRIPTION", + _( "* On closer inspection, this appears to be " + "hallucinogenic." ) ); + } + + if( food_item->goes_bad() && parts->test( iteminfo_parts::FOOD_ROT ) ) { + const std::string rot_time = to_string_clipped( food_item->get_shelf_life() ); + info.emplace_back( "DESCRIPTION", + string_format( _( "* This food is perishable, " + "and at room temperature has an estimated nominal " + "shelf life of %s." ), rot_time ) ); - if( food_item->is_tainted() && parts->test( iteminfo_parts::FOOD_CANNIBALISM ) ) { - info.emplace_back( "DESCRIPTION", _( "* This food is tainted and will poison you." ) ); + if( !food_item->rotten() ) { + info.emplace_back( "DESCRIPTION", get_freshness_description( *food_item ) ); } - ///\EFFECT_SURVIVAL >=3 allows detection of poisonous food - if( food_item->has_flag( "HIDDEN_POISON" ) && g->u.get_skill_level( skill_survival ) >= 3 && - parts->test( iteminfo_parts::FOOD_POISON ) ) { + if( food_item->has_flag( "FREEZERBURN" ) && !food_item->rotten() && + !food_item->has_flag( "MUSHY" ) ) { info.emplace_back( "DESCRIPTION", - _( "* On closer inspection, this appears to be poisonous." ) ); + _( "* Quality of this food suffers when it's frozen, and it " + "will become mushy after thawing out." ) ); } - - ///\EFFECT_SURVIVAL >=5 allows detection of hallucinogenic food - if( food_item->has_flag( "HIDDEN_HALLU" ) && g->u.get_skill_level( skill_survival ) >= 5 && - parts->test( iteminfo_parts::FOOD_HALLUCINOGENIC ) ) { + if( food_item->has_flag( "MUSHY" ) && !food_item->rotten() ) { info.emplace_back( "DESCRIPTION", - _( "* On closer inspection, this appears to be hallucinogenic." ) ); + _( "* It was frozen once and after thawing became mushy and " + "tasteless. It will rot if thawed again." ) ); } - - if( food_item->goes_bad() && parts->test( iteminfo_parts::FOOD_ROT ) ) { - const std::string rot_time = to_string_clipped( food_item->get_shelf_life() ); + if( food_item->has_flag( "NO_PARASITES" ) && g->u.get_skill_level( skill_cooking ) >= 3 ) { info.emplace_back( "DESCRIPTION", - string_format( - _( "* This food is perishable, and at room temperature has an estimated nominal shelf life of %s." ), - rot_time.c_str() ) ); - - if( !food_item->rotten() ) { - info.emplace_back( "DESCRIPTION", get_freshness_description( *food_item ) ); - } - - if( food_item->has_flag( "FREEZERBURN" ) && !food_item->rotten() && - !food_item->has_flag( "MUSHY" ) ) { - info.emplace_back( "DESCRIPTION", - _( "* Quality of this food suffers when it's frozen, and it will become mushy after thawing out." ) ); - } - if( food_item->has_flag( "MUSHY" ) && !food_item->rotten() ) { - info.emplace_back( "DESCRIPTION", - _( "* It was frozen once and after thawing became mushy and tasteless. It will rot if thawed again." ) ); - } - if( food_item->has_flag( "NO_PARASITES" ) && g->u.get_skill_level( skill_cooking ) >= 3 ) { - info.emplace_back( "DESCRIPTION", - _( "* It seems that deep freezing killed all parasites." ) ); - } - if( food_item->rotten() ) { - if( g->u.has_bionic( bionic_id( "bio_digestion" ) ) ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "This food has started to rot, but your bionic digestion can tolerate it." ) ) ); - } else if( g->u.has_trait( trait_id( "SAPROVORE" ) ) ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "This food has started to rot, but you can tolerate it." ) ) ); - } else { - info.push_back( iteminfo( "DESCRIPTION", - _( "This food has started to rot. Eating it would be a very bad idea." ) ) ); - } + _( "* It seems that deep freezing killed all " + "parasites." ) ); + } + if( food_item->rotten() ) { + if( g->u.has_bionic( bionic_id( "bio_digestion" ) ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "This food has started to rot, " + "but your bionic digestion can tolerate " + "it." ) ) ); + } else if( g->u.has_trait( trait_id( "SAPROVORE" ) ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "This food has started to rot, " + "but you can tolerate it." ) ) ); + } else { + info.push_back( iteminfo( "DESCRIPTION", + _( "This food has started to rot. " + "Eating it would be a very bad " + "idea." ) ) ); } } } +} - if( is_magazine() && !has_flag( "NO_RELOAD" ) ) { +void item::magazine_info( std::vector &info, const iteminfo_query *parts, int /*batch*/, + bool /*debug*/ ) const +{ + if( !is_magazine() || has_flag( "NO_RELOAD" ) ) { + return; + } - if( parts->test( iteminfo_parts::MAGAZINE_CAPACITY ) ) { - for( const ammotype &at : ammo_types() ) { - const std::string fmt = string_format( - ngettext( " round of %s", " rounds of %s", ammo_capacity() ), - at->name() ); - info.emplace_back( "MAGAZINE", _( "Capacity: " ), fmt, iteminfo::no_flags, - ammo_capacity() ); - } - } - if( parts->test( iteminfo_parts::MAGAZINE_RELOAD ) ) { - info.emplace_back( "MAGAZINE", _( "Reload time: " ), _( " moves per round" ), - iteminfo::lower_is_better, type->magazine->reload_time ); + if( parts->test( iteminfo_parts::MAGAZINE_CAPACITY ) ) { + for( const ammotype &at : ammo_types() ) { + const std::string fmt = string_format( ngettext( " round of %s", + " rounds of %s", ammo_capacity() ), + at->name() ); + info.emplace_back( "MAGAZINE", _( "Capacity: " ), fmt, iteminfo::no_flags, + ammo_capacity() ); } - insert_separation_line(); } + if( parts->test( iteminfo_parts::MAGAZINE_RELOAD ) ) { + info.emplace_back( "MAGAZINE", _( "Reload time: " ), _( " moves per round" ), + iteminfo::lower_is_better, type->magazine->reload_time ); + } + insert_separation_line( info ); +} - if( !is_gun() ) { - if( ammo_data() && parts->test( iteminfo_parts::AMMO_REMAINING_OR_TYPES ) ) { - if( ammo_remaining() > 0 ) { - info.emplace_back( "AMMO", _( "Ammunition: " ), ammo_data()->nname( ammo_remaining() ) ); - } else if( is_ammo() ) { - info.emplace_back( "AMMO", _( "Type: " ), ammo_type()->name() ); - } - - const islot_ammo &ammo = *ammo_data()->ammo; - if( !ammo.damage.empty() || ammo.prop_damage || ammo.force_stat_display ) { - if( !ammo.damage.empty() ) { - if( parts->test( iteminfo_parts::AMMO_DAMAGE_VALUE ) ) { - info.emplace_back( "AMMO", _( "Damage: " ), "", - iteminfo::no_newline, ammo.damage.total_damage() ); - } - } else if( ammo.prop_damage ) { - if( parts->test( iteminfo_parts::AMMO_DAMAGE_PROPORTIONAL ) ) { - info.emplace_back( "AMMO", _( "Damage multiplier: " ), "", - iteminfo::no_newline | iteminfo::is_decimal, - *ammo.prop_damage ); - } - } else { - info.emplace_back( "AMMO", _( "Damage multiplier: " ), "", - iteminfo::no_newline | iteminfo::is_decimal, 1.0 ); - } - if( parts->test( iteminfo_parts::AMMO_DAMAGE_AP ) ) { - info.emplace_back( "AMMO", space + _( "Armor-pierce: " ), - get_ranged_pierce( ammo ) ); - } - if( parts->test( iteminfo_parts::AMMO_DAMAGE_RANGE ) ) { - info.emplace_back( "AMMO", _( "Range: " ), "", - iteminfo::no_newline, ammo.range ); - } - if( parts->test( iteminfo_parts::AMMO_DAMAGE_DISPERSION ) ) { - info.emplace_back( "AMMO", space + _( "Dispersion: " ), "", - iteminfo::lower_is_better, ammo.dispersion ); - } - if( parts->test( iteminfo_parts::AMMO_DAMAGE_RECOIL ) ) { - info.emplace_back( "AMMO", _( "Recoil: " ), "", - iteminfo::lower_is_better, ammo.recoil ); - } - } +void item::ammo_info( std::vector &info, const iteminfo_query *parts, int /* batch */, + bool /* debug */ ) const +{ + if( is_gun() || !ammo_data() || !parts->test( iteminfo_parts::AMMO_REMAINING_OR_TYPES ) ) { + return; + } - std::vector fx; - if( ammo.ammo_effects.count( "RECYCLED" ) && parts->test( iteminfo_parts::AMMO_FX_RECYCLED ) ) { - fx.emplace_back( _( "This ammo has been hand-loaded." ) ); - } - if( ammo.ammo_effects.count( "BLACKPOWDER" ) && - parts->test( iteminfo_parts::AMMO_FX_BLACKPOWDER ) ) { - fx.emplace_back( - _( "This ammo has been loaded with blackpowder, and will quickly " - "clog up most guns, and cause rust if the gun is not cleaned." ) ); - } - if( ammo.ammo_effects.count( "NEVER_MISFIRES" ) && - parts->test( iteminfo_parts::AMMO_FX_CANTMISSFIRE ) ) { - fx.emplace_back( _( "This ammo never misfires." ) ); - } - if( ammo.ammo_effects.count( "INCENDIARY" ) && parts->test( iteminfo_parts::AMMO_FX_INDENDIARY ) ) { - fx.emplace_back( _( "This ammo starts fires." ) ); + const std::string space = " "; + if( ammo_remaining() > 0 ) { + info.emplace_back( "AMMO", _( "Ammunition: " ), ammo_data()->nname( ammo_remaining() ) ); + } else if( is_ammo() ) { + info.emplace_back( "AMMO", _( "Type: " ), ammo_type()->name() ); + } + + const islot_ammo &ammo = *ammo_data()->ammo; + if( !ammo.damage.empty() || ammo.prop_damage || ammo.force_stat_display ) { + if( !ammo.damage.empty() ) { + if( parts->test( iteminfo_parts::AMMO_DAMAGE_VALUE ) ) { + info.emplace_back( "AMMO", _( "Damage: " ), "", + iteminfo::no_newline, ammo.damage.total_damage() ); } - if( !fx.empty() ) { - insert_separation_line(); - for( const std::string &e : fx ) { - info.emplace_back( "AMMO", e ); - } + } else if( ammo.prop_damage ) { + if( parts->test( iteminfo_parts::AMMO_DAMAGE_PROPORTIONAL ) ) { + info.emplace_back( "AMMO", _( "Damage multiplier: " ), "", + iteminfo::no_newline | iteminfo::is_decimal, + *ammo.prop_damage ); } + } else { + info.emplace_back( "AMMO", _( "Damage multiplier: " ), "", + iteminfo::no_newline | iteminfo::is_decimal, 1.0 ); } - - } else { - const item *mod = this; - const gun_mode aux = gun_current_mode(); - // if we have an active auxiliary gunmod display stats for this instead - if( aux && aux->is_gunmod() && aux->is_gun() && - parts->test( iteminfo_parts::DESCRIPTION_AUX_GUNMOD_HEADER ) ) { - mod = &*aux; - info.emplace_back( "DESCRIPTION", - string_format( _( "Stats of the active gunmod (%s) are shown." ), - mod->tname() ) ); + if( parts->test( iteminfo_parts::AMMO_DAMAGE_AP ) ) { + info.emplace_back( "AMMO", space + _( "Armor-pierce: " ), get_ranged_pierce( ammo ) ); + } + if( parts->test( iteminfo_parts::AMMO_DAMAGE_RANGE ) ) { + info.emplace_back( "AMMO", _( "Range: " ), "", iteminfo::no_newline, ammo.range ); + } + if( parts->test( iteminfo_parts::AMMO_DAMAGE_DISPERSION ) ) { + info.emplace_back( "AMMO", space + _( "Dispersion: " ), "", + iteminfo::lower_is_better, ammo.dispersion ); + } + if( parts->test( iteminfo_parts::AMMO_DAMAGE_RECOIL ) ) { + info.emplace_back( "AMMO", _( "Recoil: " ), "", + iteminfo::lower_is_better, ammo.recoil ); } + } - // many statistics are dependent upon loaded ammo - // if item is unloaded (or is RELOAD_AND_SHOOT) shows approximate stats using default ammo - item *aprox = nullptr; - item tmp; - if( mod->ammo_required() && !mod->ammo_remaining() ) { - tmp.ammo_set( mod->magazine_current() ? tmp.common_ammo_default() : tmp.ammo_default() ); - tmp = *mod; - aprox = &tmp; + std::vector fx; + if( ammo.ammo_effects.count( "RECYCLED" ) && + parts->test( iteminfo_parts::AMMO_FX_RECYCLED ) ) { + fx.emplace_back( _( "This ammo has been hand-loaded." ) ); + } + if( ammo.ammo_effects.count( "BLACKPOWDER" ) && + parts->test( iteminfo_parts::AMMO_FX_BLACKPOWDER ) ) { + fx.emplace_back( + _( "This ammo has been loaded with blackpowder, and will quickly " + "clog up most guns, and cause rust if the gun is not cleaned." ) ); + } + if( ammo.ammo_effects.count( "NEVER_MISFIRES" ) && + parts->test( iteminfo_parts::AMMO_FX_CANTMISSFIRE ) ) { + fx.emplace_back( _( "This ammo never misfires." ) ); + } + if( ammo.ammo_effects.count( "INCENDIARY" ) && + parts->test( iteminfo_parts::AMMO_FX_INDENDIARY ) ) { + fx.emplace_back( _( "This ammo starts fires." ) ); + } + if( !fx.empty() ) { + insert_separation_line( info ); + for( const std::string &e : fx ) { + info.emplace_back( "AMMO", e ); } + } +} - const islot_gun &gun = *mod->type->gun; - const itype *curammo = mod->ammo_data(); +void item::gun_info( const item *mod, std::vector &info, const iteminfo_query *parts, + int /* batch */, bool /* debug */ ) const +{ + const std::string space = " "; + // many statistics are dependent upon loaded ammo + // if item is unloaded (or is RELOAD_AND_SHOOT) shows approximate stats using default ammo + item *aprox = nullptr; + item tmp; + if( mod->ammo_required() && !mod->ammo_remaining() ) { + tmp.ammo_set( mod->magazine_current() ? tmp.common_ammo_default() : tmp.ammo_default() ); + tmp = *mod; + aprox = &tmp; + } - bool has_ammo = curammo && mod->ammo_remaining(); + const islot_gun &gun = *mod->type->gun; + const itype *curammo = mod->ammo_data(); - // TODO: This doesn't cover multiple damage types - int ammo_pierce = has_ammo ? get_ranged_pierce( *curammo->ammo ) : 0; - int ammo_dispersion = has_ammo ? curammo->ammo->dispersion : 0; + bool has_ammo = curammo && mod->ammo_remaining(); - const Skill &skill = *mod->gun_skill(); + // TODO: This doesn't cover multiple damage types + int ammo_pierce = has_ammo ? get_ranged_pierce( *curammo->ammo ) : 0; + int ammo_dispersion = has_ammo ? curammo->ammo->dispersion : 0; - if( parts->test( iteminfo_parts::GUN_USEDSKILL ) ) { - info.push_back( iteminfo( "GUN", _( "Skill used: " ), - "" + skill.name() + "" ) ); - } + const Skill &skill = *mod->gun_skill(); - if( mod->magazine_integral() || mod->magazine_current() ) { - if( mod->magazine_current() && parts->test( iteminfo_parts::GUN_MAGAZINE ) ) { - info.emplace_back( "GUN", _( "Magazine: " ), - string_format( "%s", - mod->magazine_current()->tname() ) ); - } - if( mod->ammo_capacity() && parts->test( iteminfo_parts::GUN_CAPACITY ) ) { - for( const ammotype &at : mod->ammo_types() ) { - const std::string fmt = string_format( ngettext( " round of %s", " rounds of %s", - mod->ammo_capacity() ), at->name() ); - info.emplace_back( "GUN", _( "Capacity: " ), fmt, iteminfo::no_flags, - mod->ammo_capacity() ); - } - } - } else if( parts->test( iteminfo_parts::GUN_TYPE ) ) { - info.emplace_back( "GUN", _( "Type: " ), enumerate_as_string( mod->ammo_types().begin(), - mod->ammo_types().end(), []( const ammotype & at ) { - return at->name(); - }, enumeration_conjunction::none ) ); - } + if( parts->test( iteminfo_parts::GUN_USEDSKILL ) ) { + info.push_back( iteminfo( "GUN", _( "Skill used: " ), + "" + skill.name() + "" ) ); + } - if( mod->ammo_data() && parts->test( iteminfo_parts::AMMO_REMAINING ) ) { - info.emplace_back( "AMMO", _( "Ammunition: " ), string_format( "%s", - mod->ammo_data()->nname( mod->ammo_remaining() ) ) ); + if( mod->magazine_integral() || mod->magazine_current() ) { + if( mod->magazine_current() && parts->test( iteminfo_parts::GUN_MAGAZINE ) ) { + info.emplace_back( "GUN", _( "Magazine: " ), + string_format( "%s", + mod->magazine_current()->tname() ) ); } - - if( mod->get_gun_ups_drain() && parts->test( iteminfo_parts::AMMO_UPSCOST ) ) { - info.emplace_back( "AMMO", string_format( ngettext( "Uses %i charge of UPS per shot", - "Uses %i charges of UPS per shot", mod->get_gun_ups_drain() ), - mod->get_gun_ups_drain() ) ); + if( mod->ammo_capacity() && parts->test( iteminfo_parts::GUN_CAPACITY ) ) { + for( const ammotype &at : mod->ammo_types() ) { + const std::string fmt = string_format( ngettext( " round of %s", + " rounds of %s", + mod->ammo_capacity() ), at->name() ); + info.emplace_back( "GUN", _( "Capacity: " ), fmt, iteminfo::no_flags, + mod->ammo_capacity() ); + } } + } else if( parts->test( iteminfo_parts::GUN_TYPE ) ) { + info.emplace_back( "GUN", _( "Type: " ), enumerate_as_string( mod->ammo_types().begin(), + mod->ammo_types().end(), []( const ammotype & at ) { + return at->name(); + }, enumeration_conjunction::none ) ); + } - insert_separation_line(); + if( mod->ammo_data() && parts->test( iteminfo_parts::AMMO_REMAINING ) ) { + info.emplace_back( "AMMO", _( "Ammunition: " ), string_format( "%s", + mod->ammo_data()->nname( mod->ammo_remaining() ) ) ); + } - int max_gun_range = mod->gun_range( &g->u ); - if( max_gun_range > 0 && parts->test( iteminfo_parts::GUN_MAX_RANGE ) ) { - info.emplace_back( "GUN", _( "Maximum range: " ), "", iteminfo::no_flags, - max_gun_range ); - } + if( mod->get_gun_ups_drain() && parts->test( iteminfo_parts::AMMO_UPSCOST ) ) { + info.emplace_back( "AMMO", + string_format( ngettext( "Uses %i charge of UPS per shot", + "Uses %i charges of UPS per shot", + mod->get_gun_ups_drain() ), + mod->get_gun_ups_drain() ) ); + } - if( parts->test( iteminfo_parts::GUN_AIMING_STATS ) ) { - info.emplace_back( "GUN", _( "Base aim speed: " ), "", iteminfo::no_flags, - g->u.aim_per_move( *mod, MAX_RECOIL ) ); - for( const aim_type &type : g->u.get_aim_types( *mod ) ) { - // Nameless aim levels don't get an entry. - if( type.name.empty() ) { - continue; - } - info.emplace_back( "GUN", _( type.name ) ); - int max_dispersion = g->u.get_weapon_dispersion( *mod ).max(); - int range = range_with_even_chance_of_good_hit( max_dispersion + type.threshold ); - info.emplace_back( "GUN", _( "Even chance of good hit at range: " ), - _( "" ), iteminfo::no_flags, range ); - int aim_mv = g->u.gun_engagement_moves( *mod, type.threshold ); - info.emplace_back( "GUN", _( "Time to reach aim level: " ), _( " moves " ), - iteminfo::is_decimal | iteminfo::lower_is_better, - aim_mv ); - } - } - - if( parts->test( iteminfo_parts::GUN_DAMAGE ) ) { - info.push_back( iteminfo( "GUN", _( "Damage: " ), "", iteminfo::no_newline, - mod->gun_damage( false ).total_damage() ) ); - } - - if( has_ammo ) { - // ammo_damage, sum_of_damage, and ammo_mult not shown so don't need to translate. - if( mod->ammo_data()->ammo->prop_damage ) { - if( parts->test( iteminfo_parts::GUN_DAMAGE_AMMOPROP ) ) { - info.push_back( iteminfo( "GUN", "ammo_mult", "*", - iteminfo::no_newline | iteminfo::no_name, - *mod->ammo_data()->ammo->prop_damage ) ); - } - } else { - if( parts->test( iteminfo_parts::GUN_DAMAGE_LOADEDAMMO ) ) { - damage_instance ammo_dam = has_ammo ? curammo->ammo->damage : damage_instance(); - info.push_back( iteminfo( "GUN", "ammo_damage", "", - iteminfo::no_newline | iteminfo::no_name | - iteminfo::show_plus, - ammo_dam.total_damage() ) ); - } - } - if( parts->test( iteminfo_parts::GUN_DAMAGE_TOTAL ) ) { - info.push_back( iteminfo( "GUN", "sum_of_damage", _( " = " ), - iteminfo::no_newline | iteminfo::no_name, - mod->gun_damage( true ).total_damage() ) ); - } - } + insert_separation_line( info ); - if( parts->test( iteminfo_parts::GUN_ARMORPIERCE ) ) { - info.push_back( iteminfo( "GUN", space + _( "Armor-pierce: " ), "", - iteminfo::no_newline, get_ranged_pierce( gun ) ) ); - } - if( has_ammo ) { - // ammo_armor_pierce and sum_of_armor_pierce don't need to translate. - if( parts->test( iteminfo_parts::GUN_ARMORPIERCE_LOADEDAMMO ) ) { - info.push_back( iteminfo( "GUN", "ammo_armor_pierce", "", - iteminfo::no_newline | iteminfo::no_name | - iteminfo::show_plus, ammo_pierce ) ); - } - if( parts->test( iteminfo_parts::GUN_ARMORPIERCE_TOTAL ) ) { - info.push_back( iteminfo( "GUN", "sum_of_armor_pierce", _( " = " ), - iteminfo::no_name, - get_ranged_pierce( gun ) + ammo_pierce ) ); - } - } - info.back().bNewLine = true; + int max_gun_range = mod->gun_range( &g->u ); + if( max_gun_range > 0 && parts->test( iteminfo_parts::GUN_MAX_RANGE ) ) { + info.emplace_back( "GUN", _( "Maximum range: " ), "", iteminfo::no_flags, + max_gun_range ); + } - if( parts->test( iteminfo_parts::GUN_DISPERSION ) ) { - info.push_back( iteminfo( "GUN", _( "Dispersion: " ), "", - iteminfo::no_newline | iteminfo::lower_is_better, - mod->gun_dispersion( false, false ) ) ); - } - if( has_ammo ) { - // ammo_dispersion and sum_of_dispersion don't need to translate. - if( parts->test( iteminfo_parts::GUN_DISPERSION_LOADEDAMMO ) ) { - info.push_back( iteminfo( "GUN", "ammo_dispersion", "", - iteminfo::no_newline | iteminfo::lower_is_better | - iteminfo::no_name | iteminfo::show_plus, - ammo_dispersion ) ); - } - if( parts->test( iteminfo_parts::GUN_DISPERSION_TOTAL ) ) { - info.push_back( iteminfo( "GUN", "sum_of_dispersion", _( " = " ), - iteminfo::lower_is_better | iteminfo::no_name, - mod->gun_dispersion( true, false ) ) ); + if( parts->test( iteminfo_parts::GUN_AIMING_STATS ) ) { + info.emplace_back( "GUN", _( "Base aim speed: " ), "", iteminfo::no_flags, + g->u.aim_per_move( *mod, MAX_RECOIL ) ); + for( const aim_type &type : g->u.get_aim_types( *mod ) ) { + // Nameless aim levels don't get an entry. + if( type.name.empty() ) { + continue; } + info.emplace_back( "GUN", _( type.name ) ); + int max_dispersion = g->u.get_weapon_dispersion( *mod ).max(); + int range = range_with_even_chance_of_good_hit( max_dispersion + type.threshold ); + info.emplace_back( "GUN", _( "Even chance of good hit at range: " ), + _( "" ), iteminfo::no_flags, range ); + int aim_mv = g->u.gun_engagement_moves( *mod, type.threshold ); + info.emplace_back( "GUN", _( "Time to reach aim level: " ), _( " moves " ), + iteminfo::is_decimal | iteminfo::lower_is_better, aim_mv ); } - info.back().bNewLine = true; + } - // if effective sight dispersion differs from actual sight dispersion display both - int act_disp = mod->sight_dispersion(); - int eff_disp = g->u.effective_dispersion( act_disp ); - int adj_disp = eff_disp - act_disp; + if( parts->test( iteminfo_parts::GUN_DAMAGE ) ) { + info.push_back( iteminfo( "GUN", _( "Damage: " ), "", iteminfo::no_newline, + mod->gun_damage( false ).total_damage() ) ); + } - if( parts->test( iteminfo_parts::GUN_DISPERSION_SIGHT ) ) { - info.push_back( iteminfo( "GUN", _( "Sight dispersion: " ), "", - iteminfo::no_newline | iteminfo::lower_is_better, - act_disp ) ); - - if( adj_disp ) { - info.push_back( iteminfo( "GUN", "sight_adj_disp", "", - iteminfo::no_newline | iteminfo::lower_is_better | - iteminfo::no_name | iteminfo::show_plus, - adj_disp ) ); - info.push_back( iteminfo( "GUN", "sight_eff_disp", _( " = " ), - iteminfo::lower_is_better | iteminfo::no_name, - eff_disp ) ); - } - } - - bool bipod = mod->has_flag( "BIPOD" ); - if( aprox ) { - if( aprox->gun_recoil( g->u ) ) { - if( parts->test( iteminfo_parts::GUN_RECOIL ) ) { - info.emplace_back( "GUN", _( "Approximate recoil: " ), "", - iteminfo::no_newline | iteminfo::lower_is_better, - aprox->gun_recoil( g->u ) ); - } - if( bipod && parts->test( iteminfo_parts::GUN_RECOIL_BIPOD ) ) { - info.emplace_back( "GUN", "bipod_recoil", _( " (with bipod )" ), - iteminfo::lower_is_better | iteminfo::no_name, - aprox->gun_recoil( g->u, true ) ); - } + if( has_ammo ) { + // ammo_damage, sum_of_damage, and ammo_mult not shown so don't need to translate. + if( mod->ammo_data()->ammo->prop_damage ) { + if( parts->test( iteminfo_parts::GUN_DAMAGE_AMMOPROP ) ) { + info.push_back( iteminfo( "GUN", "ammo_mult", "*", + iteminfo::no_newline | iteminfo::no_name, + *mod->ammo_data()->ammo->prop_damage ) ); } } else { - if( mod->gun_recoil( g->u ) ) { - if( parts->test( iteminfo_parts::GUN_RECOIL ) ) { - info.emplace_back( "GUN", _( "Effective recoil: " ), "", - iteminfo::no_newline | iteminfo::lower_is_better, - mod->gun_recoil( g->u ) ); - } - if( bipod && parts->test( iteminfo_parts::GUN_RECOIL_BIPOD ) ) { - info.emplace_back( "GUN", "bipod_recoil", _( " (with bipod )" ), - iteminfo::lower_is_better | iteminfo::no_name, - mod->gun_recoil( g->u, true ) ); - } + if( parts->test( iteminfo_parts::GUN_DAMAGE_LOADEDAMMO ) ) { + damage_instance ammo_dam = has_ammo ? curammo->ammo->damage : damage_instance(); + info.push_back( iteminfo( "GUN", "ammo_damage", "", + iteminfo::no_newline | iteminfo::no_name | + iteminfo::show_plus, ammo_dam.total_damage() ) ); } } - info.back().bNewLine = true; - - std::map fire_modes = mod->gun_all_modes(); - if( std::any_of( fire_modes.begin(), fire_modes.end(), - []( const std::pair &e ) { - return e.second.qty > 1 && !e.second.melee(); - } ) ) { - info.emplace_back( "GUN", _( "Recommended strength (burst): " ), "", - iteminfo::lower_is_better, - ceil( mod->type->weight / 333.0_gram ) ); + if( parts->test( iteminfo_parts::GUN_DAMAGE_TOTAL ) ) { + info.push_back( iteminfo( "GUN", "sum_of_damage", _( " = " ), + iteminfo::no_newline | iteminfo::no_name, + mod->gun_damage( true ).total_damage() ) ); } + } - if( parts->test( iteminfo_parts::GUN_RELOAD_TIME ) ) { - info.emplace_back( "GUN", _( "Reload time: " ), - has_flag( "RELOAD_ONE" ) ? _( " moves per round" ) : _( " moves " ), - iteminfo::lower_is_better, - mod->get_reload_time() ); + if( parts->test( iteminfo_parts::GUN_ARMORPIERCE ) ) { + info.push_back( iteminfo( "GUN", space + _( "Armor-pierce: " ), "", + iteminfo::no_newline, get_ranged_pierce( gun ) ) ); + } + if( has_ammo ) { + // ammo_armor_pierce and sum_of_armor_pierce don't need to translate. + if( parts->test( iteminfo_parts::GUN_ARMORPIERCE_LOADEDAMMO ) ) { + info.push_back( iteminfo( "GUN", "ammo_armor_pierce", "", + iteminfo::no_newline | iteminfo::no_name | + iteminfo::show_plus, ammo_pierce ) ); } - - if( parts->test( iteminfo_parts::GUN_FIRE_MODES ) ) { - std::vector fm; - for( const std::pair &e : fire_modes ) { - if( e.second.target == this && !e.second.melee() ) { - fm.emplace_back( string_format( "%s (%i)", e.second.tname(), e.second.qty ) ); - } - } - if( !fm.empty() ) { - insert_separation_line(); - info.emplace_back( "GUN", _( "Fire modes: " ) + enumerate_as_string( fm ) ); - } + if( parts->test( iteminfo_parts::GUN_ARMORPIERCE_TOTAL ) ) { + info.push_back( iteminfo( "GUN", "sum_of_armor_pierce", _( " = " ), + iteminfo::no_name, + get_ranged_pierce( gun ) + ammo_pierce ) ); } + } + info.back().bNewLine = true; - if( !magazine_integral() && parts->test( iteminfo_parts::GUN_ALLOWED_MAGAZINES ) ) { - insert_separation_line(); - const std::set compat = magazine_compatible(); - info.emplace_back( "DESCRIPTION", _( "Compatible magazines: " ) + - enumerate_as_string( compat.begin(), compat.end(), []( const itype_id & id ) { - return item::nname( id ); - } ) ); + if( parts->test( iteminfo_parts::GUN_DISPERSION ) ) { + info.push_back( iteminfo( "GUN", _( "Dispersion: " ), "", + iteminfo::no_newline | iteminfo::lower_is_better, + mod->gun_dispersion( false, false ) ) ); + } + if( has_ammo ) { + // ammo_dispersion and sum_of_dispersion don't need to translate. + if( parts->test( iteminfo_parts::GUN_DISPERSION_LOADEDAMMO ) ) { + info.push_back( iteminfo( "GUN", "ammo_dispersion", "", + iteminfo::no_newline | iteminfo::lower_is_better | + iteminfo::no_name | iteminfo::show_plus, + ammo_dispersion ) ); + } + if( parts->test( iteminfo_parts::GUN_DISPERSION_TOTAL ) ) { + info.push_back( iteminfo( "GUN", "sum_of_dispersion", _( " = " ), + iteminfo::lower_is_better | iteminfo::no_name, + mod->gun_dispersion( true, false ) ) ); } + } + info.back().bNewLine = true; - if( !gun.valid_mod_locations.empty() && parts->test( iteminfo_parts::DESCRIPTION_GUN_MODS ) ) { - insert_separation_line(); + // if effective sight dispersion differs from actual sight dispersion display both + int act_disp = mod->sight_dispersion(); + int eff_disp = g->u.effective_dispersion( act_disp ); + int adj_disp = eff_disp - act_disp; - temp1.str( "" ); - temp1 << _( "Mods: " ); + if( parts->test( iteminfo_parts::GUN_DISPERSION_SIGHT ) ) { + info.push_back( iteminfo( "GUN", _( "Sight dispersion: " ), "", + iteminfo::no_newline | iteminfo::lower_is_better, + act_disp ) ); - std::map mod_locations = get_mod_locations(); + if( adj_disp ) { + info.push_back( iteminfo( "GUN", "sight_adj_disp", "", + iteminfo::no_newline | iteminfo::lower_is_better | + iteminfo::no_name | iteminfo::show_plus, adj_disp ) ); + info.push_back( iteminfo( "GUN", "sight_eff_disp", _( " = " ), + iteminfo::lower_is_better | iteminfo::no_name, + eff_disp ) ); + } + } - int iternum = 0; - for( std::pair &elem : mod_locations ) { - if( iternum != 0 ) { - temp1 << "; "; - } - const int free_slots = ( elem ).second - get_free_mod_locations( ( elem ).first ); - temp1 << "" << free_slots << "/" << ( elem ).second << " " << elem.first.name(); - bool first_mods = true; - for( const item *mod : gunmods() ) { - if( mod->type->gunmod->location == ( elem ).first ) { // if mod for this location - if( first_mods ) { - temp1 << ": "; - first_mods = false; - } else { - temp1 << ", "; - } - temp1 << "" << mod->tname() << ""; - } - } - iternum++; + bool bipod = mod->has_flag( "BIPOD" ); + if( aprox ) { + if( aprox->gun_recoil( g->u ) ) { + if( parts->test( iteminfo_parts::GUN_RECOIL ) ) { + info.emplace_back( "GUN", _( "Approximate recoil: " ), "", + iteminfo::no_newline | iteminfo::lower_is_better, + aprox->gun_recoil( g->u ) ); + } + if( bipod && parts->test( iteminfo_parts::GUN_RECOIL_BIPOD ) ) { + info.emplace_back( "GUN", "bipod_recoil", _( " (with bipod )" ), + iteminfo::lower_is_better | iteminfo::no_name, + aprox->gun_recoil( g->u, true ) ); } - temp1 << "."; - info.push_back( iteminfo( "DESCRIPTION", temp1.str() ) ); } - - if( mod->casings_count() && parts->test( iteminfo_parts::DESCRIPTION_GUN_CASINGS ) ) { - insert_separation_line(); - std::string tmp = ngettext( "Contains %i casing", - "Contains %i casings", mod->casings_count() ); - info.emplace_back( "DESCRIPTION", string_format( tmp, mod->casings_count() ) ); + } else { + if( mod->gun_recoil( g->u ) ) { + if( parts->test( iteminfo_parts::GUN_RECOIL ) ) { + info.emplace_back( "GUN", _( "Effective recoil: " ), "", + iteminfo::no_newline | iteminfo::lower_is_better, + mod->gun_recoil( g->u ) ); + } + if( bipod && parts->test( iteminfo_parts::GUN_RECOIL_BIPOD ) ) { + info.emplace_back( "GUN", "bipod_recoil", _( " (with bipod )" ), + iteminfo::lower_is_better | iteminfo::no_name, + mod->gun_recoil( g->u, true ) ); + } } + } + info.back().bNewLine = true; + std::map fire_modes = mod->gun_all_modes(); + if( std::any_of( fire_modes.begin(), fire_modes.end(), + []( const std::pair &e ) { + return e.second.qty > 1 && !e.second.melee(); + } ) ) { + info.emplace_back( "GUN", _( "Recommended strength (burst): " ), "", + iteminfo::lower_is_better, ceil( mod->type->weight / 333.0_gram ) ); } - if( is_gunmod() ) { - const islot_gunmod &mod = *type->gunmod; - if( is_gun() && parts->test( iteminfo_parts::DESCRIPTION_GUNMOD ) ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "This mod must be attached to a gun, it can not be fired separately." ) ) ); - } - if( has_flag( "REACH_ATTACK" ) && parts->test( iteminfo_parts::DESCRIPTION_GUNMOD_REACH ) ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "When attached to a gun, allows making reach melee attacks with it." ) ) ); - } - if( mod.dispersion != 0 && parts->test( iteminfo_parts::GUNMOD_DISPERSION ) ) { - info.push_back( iteminfo( "GUNMOD", _( "Dispersion modifier: " ), "", - iteminfo::lower_is_better | iteminfo::show_plus, - mod.dispersion ) ); - } - if( mod.sight_dispersion != -1 && parts->test( iteminfo_parts::GUNMOD_DISPERSION_SIGHT ) ) { - info.push_back( iteminfo( "GUNMOD", _( "Sight dispersion: " ), "", - iteminfo::lower_is_better, mod.sight_dispersion ) ); - } - if( mod.aim_speed >= 0 && parts->test( iteminfo_parts::GUNMOD_AIMSPEED ) ) { - info.push_back( iteminfo( "GUNMOD", _( "Aim speed: " ), "", - iteminfo::lower_is_better, mod.aim_speed ) ); - } - int total_damage = static_cast( mod.damage.total_damage() ); - if( total_damage != 0 && parts->test( iteminfo_parts::GUNMOD_DAMAGE ) ) { - info.push_back( iteminfo( "GUNMOD", _( "Damage: " ), "", iteminfo::show_plus, - total_damage ) ); - } - int pierce = get_ranged_pierce( mod ); - if( get_ranged_pierce( mod ) != 0 && parts->test( iteminfo_parts::GUNMOD_ARMORPIERCE ) ) { - info.push_back( iteminfo( "GUNMOD", _( "Armor-pierce: " ), "", iteminfo::show_plus, - pierce ) ); - } - if( mod.handling != 0 && parts->test( iteminfo_parts::GUNMOD_HANDLING ) ) { - info.emplace_back( "GUNMOD", _( "Handling modifier: " ), "", - iteminfo::show_plus, mod.handling ); - } - if( !type->mod->ammo_modifier.empty() && parts->test( iteminfo_parts::GUNMOD_AMMO ) ) { - for( const ammotype &at : type->mod->ammo_modifier ) { - info.push_back( iteminfo( "GUNMOD", string_format( _( "Ammo: %s" ), - at->name() ) ) ); + if( parts->test( iteminfo_parts::GUN_RELOAD_TIME ) ) { + info.emplace_back( "GUN", _( "Reload time: " ), + has_flag( "RELOAD_ONE" ) ? _( " moves per round" ) : + _( " moves " ), + iteminfo::lower_is_better, mod->get_reload_time() ); + } + + if( parts->test( iteminfo_parts::GUN_FIRE_MODES ) ) { + std::vector fm; + for( const std::pair &e : fire_modes ) { + if( e.second.target == this && !e.second.melee() ) { + fm.emplace_back( string_format( "%s (%i)", e.second.tname(), e.second.qty ) ); } } - if( mod.reload_modifier != 0 && parts->test( iteminfo_parts::GUNMOD_RELOAD ) ) { - info.emplace_back( "GUNMOD", _( "Reload modifier: " ), _( "%" ), - iteminfo::lower_is_better, mod.reload_modifier ); - } - if( mod.min_str_required_mod > 0 && parts->test( iteminfo_parts::GUNMOD_STRENGTH ) ) { - info.push_back( iteminfo( "GUNMOD", _( "Minimum strength required modifier: " ), - mod.min_str_required_mod ) ); + if( !fm.empty() ) { + insert_separation_line( info ); + info.emplace_back( "GUN", _( "Fire modes: " ) + + enumerate_as_string( fm ) ); } - if( !mod.add_mod.empty() && parts->test( iteminfo_parts::GUNMOD_ADD_MOD ) ) { - insert_separation_line(); + } - temp1.str( "" ); - temp1 << _( "Adds mod locations: " ); + if( !magazine_integral() && parts->test( iteminfo_parts::GUN_ALLOWED_MAGAZINES ) ) { + insert_separation_line( info ); + const std::set compat = magazine_compatible(); + info.emplace_back( "DESCRIPTION", _( "Compatible magazines: " ) + + enumerate_as_string( compat.begin(), compat.end(), []( const itype_id & id ) { + return item::nname( id ); + } ) ); + } - std::map mod_locations = mod.add_mod; + if( !gun.valid_mod_locations.empty() && parts->test( iteminfo_parts::DESCRIPTION_GUN_MODS ) ) { + insert_separation_line( info ); - int iternum = 0; - for( std::pair &elem : mod_locations ) { - if( iternum != 0 ) { - temp1 << "; "; - } - temp1 << "" << elem.second << " " << elem.first.name(); - iternum++; - } - temp1 << "."; - info.push_back( iteminfo( "GUNMOD", temp1.str() ) ); - } + std::string mod_str = _( "Mods: " ); - insert_separation_line(); - temp1.str( "" ); - temp1 << _( "Used on: " ) << enumerate_as_string( mod.usable.begin(), - mod.usable.end(), []( const gun_type_type & used_on ) { - return string_format( "%s", used_on.name() ); - } ); + std::map mod_locations = get_mod_locations(); - temp2.str( "" ); - temp2 << _( "Location: " ); - temp2 << mod.location.name(); - - if( parts->test( iteminfo_parts::GUNMOD_USEDON ) ) { - info.push_back( iteminfo( "GUNMOD", temp1.str() ) ); - } - if( parts->test( iteminfo_parts::GUNMOD_LOCATION ) ) { - info.push_back( iteminfo( "GUNMOD", temp2.str() ) ); - } - if( !mod.blacklist_mod.empty() && parts->test( iteminfo_parts::GUNMOD_BLACKLIST_MOD ) ) { - temp1.str( "" ); - temp1 << _( "Incompatible with mod location: " ); - int iternum = 0; - for( const gunmod_location &black : mod.blacklist_mod ) { - if( iternum != 0 ) { - temp1 << ", "; + int iternum = 0; + for( std::pair &elem : mod_locations ) { + if( iternum != 0 ) { + mod_str += "; "; + } + const int free_slots = ( elem ).second - get_free_mod_locations( elem.first ); + mod_str += string_format( "%d/%d %s", free_slots, elem.second, + elem.first.name() ); + bool first_mods = true; + for( const item *mod : gunmods() ) { + if( mod->type->gunmod->location == ( elem ).first ) { // if mod for this location + if( first_mods ) { + mod_str += ": "; + first_mods = false; + } else { + mod_str += ", "; + } + mod_str += string_format( "%s", mod->tname() ); } - temp1 << black.name(); - iternum++; } - temp1 << "."; - info.push_back( iteminfo( "GUNMOD", temp1.str() ) ); + iternum++; } + mod_str += "."; + info.push_back( iteminfo( "DESCRIPTION", mod_str ) ); + } + if( mod->casings_count() && parts->test( iteminfo_parts::DESCRIPTION_GUN_CASINGS ) ) { + insert_separation_line( info ); + std::string tmp = ngettext( "Contains %i casing", + "Contains %i casings", mod->casings_count() ); + info.emplace_back( "DESCRIPTION", string_format( tmp, mod->casings_count() ) ); } +} - if( is_armor() ) { - body_part_set covered_parts = get_covered_body_parts(); - bool covers_anything = covered_parts.any(); - - if( parts->test( iteminfo_parts::ARMOR_BODYPARTS ) ) { - temp1.str( "" ); - temp1 << _( "Covers: " ); - if( covers( bp_head ) ) { - temp1 << _( "The head. " ); - } - if( covers( bp_eyes ) ) { - temp1 << _( "The eyes. " ); - } - if( covers( bp_mouth ) ) { - temp1 << _( "The mouth. " ); - } - if( covers( bp_torso ) ) { - temp1 << _( "The torso. " ); - } - - if( is_sided() && ( covers( bp_arm_l ) || covers( bp_arm_r ) ) ) { - temp1 << _( "Either arm. " ); - } else if( covers( bp_arm_l ) && covers( bp_arm_r ) ) { - temp1 << _( "The arms. " ); - } else if( covers( bp_arm_l ) ) { - temp1 << _( "The left arm. " ); - } else if( covers( bp_arm_r ) ) { - temp1 << _( "The right arm. " ); - } - - if( is_sided() && ( covers( bp_hand_l ) || covers( bp_hand_r ) ) ) { - temp1 << _( "Either hand. " ); - } else if( covers( bp_hand_l ) && covers( bp_hand_r ) ) { - temp1 << _( "The hands. " ); - } else if( covers( bp_hand_l ) ) { - temp1 << _( "The left hand. " ); - } else if( covers( bp_hand_r ) ) { - temp1 << _( "The right hand. " ); - } - - if( is_sided() && ( covers( bp_leg_l ) || covers( bp_leg_r ) ) ) { - temp1 << _( "Either leg. " ); - } else if( covers( bp_leg_l ) && covers( bp_leg_r ) ) { - temp1 << _( "The legs. " ); - } else if( covers( bp_leg_l ) ) { - temp1 << _( "The left leg. " ); - } else if( covers( bp_leg_r ) ) { - temp1 << _( "The right leg. " ); - } - - if( is_sided() && ( covers( bp_foot_l ) || covers( bp_foot_r ) ) ) { - temp1 << _( "Either foot. " ); - } else if( covers( bp_foot_l ) && covers( bp_foot_r ) ) { - temp1 << _( "The feet. " ); - } else if( covers( bp_foot_l ) ) { - temp1 << _( "The left foot. " ); - } else if( covers( bp_foot_r ) ) { - temp1 << _( "The right foot. " ); - } - - if( !covers_anything ) { - temp1 << _( "Nothing." ); - } - - info.push_back( iteminfo( "ARMOR", temp1.str() ) ); - } - - if( parts->test( iteminfo_parts::ARMOR_LAYER ) && covers_anything ) { - temp1.str( "" ); - temp1 << _( "Layer: " ); - if( has_flag( "PERSONAL" ) ) { - temp1 << _( "Personal aura. " ); - } else if( has_flag( "SKINTIGHT" ) ) { - temp1 << _( "Close to skin. " ); - } else if( has_flag( "BELTED" ) ) { - temp1 << _( "Strapped. " ); - } else if( has_flag( "OUTER" ) ) { - temp1 << _( "Outer. " ); - } else if( has_flag( "WAIST" ) ) { - temp1 << _( "Waist. " ); - } else if( has_flag( "AURA" ) ) { - temp1 << _( "Outer aura. " ); - } else { - temp1 << _( "Normal. " ); - } +void item::gunmod_info( std::vector &info, const iteminfo_query *parts, int /* batch */, + bool /* debug */ ) const +{ + if( !is_gunmod() ) { + return; + } + const islot_gunmod &mod = *type->gunmod; - info.push_back( iteminfo( "ARMOR", temp1.str() ) ); + if( is_gun() && parts->test( iteminfo_parts::DESCRIPTION_GUNMOD ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "This mod must be attached to a gun, " + "it can not be fired separately." ) ) ); + } + if( has_flag( "REACH_ATTACK" ) && parts->test( iteminfo_parts::DESCRIPTION_GUNMOD_REACH ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "When attached to a gun, allows making " + "reach melee attacks with it." ) ) ); + } + if( mod.dispersion != 0 && parts->test( iteminfo_parts::GUNMOD_DISPERSION ) ) { + info.push_back( iteminfo( "GUNMOD", _( "Dispersion modifier: " ), "", + iteminfo::lower_is_better | iteminfo::show_plus, + mod.dispersion ) ); + } + if( mod.sight_dispersion != -1 && parts->test( iteminfo_parts::GUNMOD_DISPERSION_SIGHT ) ) { + info.push_back( iteminfo( "GUNMOD", _( "Sight dispersion: " ), "", + iteminfo::lower_is_better, mod.sight_dispersion ) ); + } + if( mod.aim_speed >= 0 && parts->test( iteminfo_parts::GUNMOD_AIMSPEED ) ) { + info.push_back( iteminfo( "GUNMOD", _( "Aim speed: " ), "", + iteminfo::lower_is_better, mod.aim_speed ) ); + } + int total_damage = static_cast( mod.damage.total_damage() ); + if( total_damage != 0 && parts->test( iteminfo_parts::GUNMOD_DAMAGE ) ) { + info.push_back( iteminfo( "GUNMOD", _( "Damage: " ), "", iteminfo::show_plus, + total_damage ) ); + } + int pierce = get_ranged_pierce( mod ); + if( get_ranged_pierce( mod ) != 0 && parts->test( iteminfo_parts::GUNMOD_ARMORPIERCE ) ) { + info.push_back( iteminfo( "GUNMOD", _( "Armor-pierce: " ), "", iteminfo::show_plus, + pierce ) ); + } + if( mod.handling != 0 && parts->test( iteminfo_parts::GUNMOD_HANDLING ) ) { + info.emplace_back( "GUNMOD", _( "Handling modifier: " ), "", + iteminfo::show_plus, mod.handling ); + } + if( !type->mod->ammo_modifier.empty() && parts->test( iteminfo_parts::GUNMOD_AMMO ) ) { + for( const ammotype &at : type->mod->ammo_modifier ) { + info.push_back( iteminfo( "GUNMOD", string_format( _( "Ammo: %s" ), + at->name() ) ) ); } + } + if( mod.reload_modifier != 0 && parts->test( iteminfo_parts::GUNMOD_RELOAD ) ) { + info.emplace_back( "GUNMOD", _( "Reload modifier: " ), _( "%" ), + iteminfo::lower_is_better, mod.reload_modifier ); + } + if( mod.min_str_required_mod > 0 && parts->test( iteminfo_parts::GUNMOD_STRENGTH ) ) { + info.push_back( iteminfo( "GUNMOD", _( "Minimum strength required modifier: " ), + mod.min_str_required_mod ) ); + } + if( !mod.add_mod.empty() && parts->test( iteminfo_parts::GUNMOD_ADD_MOD ) ) { + insert_separation_line( info ); - if( parts->test( iteminfo_parts::ARMOR_COVERAGE ) && covers_anything ) { - info.push_back( iteminfo( "ARMOR", _( "Coverage: " ), "%", - iteminfo::no_newline, get_coverage() ) ); - } - if( parts->test( iteminfo_parts::ARMOR_WARMTH ) && covers_anything ) { - info.push_back( iteminfo( "ARMOR", space + _( "Warmth: " ), get_warmth() ) ); - } + std::string mod_loc_str = _( "Adds mod locations: " ); - insert_separation_line(); + std::map mod_locations = mod.add_mod; - if( parts->test( iteminfo_parts::ARMOR_ENCUMBRANCE ) && covers_anything ) { - std::string format; - if( has_flag( "FIT" ) ) { - format = _( " (fits)" ); - } else if( has_flag( "VARSIZE" ) && encumbrance ) { - format = _( " (poor fit)" ); + int iternum = 0; + for( std::pair &elem : mod_locations ) { + if( iternum != 0 ) { + mod_loc_str += "; "; } + mod_loc_str += string_format( "%s %s", elem.second, elem.first.name() ); + iternum++; + } + mod_loc_str += "."; + info.push_back( iteminfo( "GUNMOD", mod_loc_str ) ); + } + + insert_separation_line( info ); + + if( parts->test( iteminfo_parts::GUNMOD_USEDON ) ) { + std::string used_on_str = _( "Used on: " ) + + enumerate_as_string( mod.usable.begin(), mod.usable.end(), []( const gun_type_type & used_on ) { + std::string id_string = item_controller->has_template( used_on.name() ) ? nname( used_on.name(), + 1 ) : used_on.name(); + return string_format( "%s", id_string ); + } ); + info.push_back( iteminfo( "GUNMOD", used_on_str ) ); + } - //If we have the wrong size, we do not fit so alert the player - if( sizing_level == sizing::human_sized_small_char ) { - format = _( " (too big)" ); - } else if( sizing_level == sizing::big_sized_small_char ) { - format = _( " (huge!)" ); - } else if( sizing_level == sizing::small_sized_human_char || - sizing_level == sizing::human_sized_big_char ) { - format = _( " (too small)" ); - } else if( sizing_level == sizing::small_sized_big_char ) { - format = _( " (tiny!)" ); + if( parts->test( iteminfo_parts::GUNMOD_LOCATION ) ) { + info.push_back( iteminfo( "GUNMOD", string_format( _( "Location: %s" ), + mod.location.name() ) ) ); + } + + if( !mod.blacklist_mod.empty() && parts->test( iteminfo_parts::GUNMOD_BLACKLIST_MOD ) ) { + std::string mod_black_str = _( "Incompatible with mod location: " ); + + int iternum = 0; + for( const gunmod_location &black : mod.blacklist_mod ) { + if( iternum != 0 ) { + mod_black_str += ", "; } + mod_black_str += string_format( "%s", black.name() ); + iternum++; + } + mod_black_str += "."; + info.push_back( iteminfo( "GUNMOD", mod_black_str ) ); + } +} + +void item::armor_info( std::vector &info, const iteminfo_query *parts, int /* batch */, + bool /* debug */ ) const +{ + if( !is_armor() ) { + return; + } + + int encumbrance = get_encumber( g->u ); + const sizing sizing_level = get_sizing( g->u, encumbrance != 0 ); + const std::string space = " "; + body_part_set covered_parts = get_covered_body_parts(); + bool covers_anything = covered_parts.any(); + + if( parts->test( iteminfo_parts::ARMOR_BODYPARTS ) ) { + std::string coverage = _( "Covers: " ); + if( covers( bp_head ) ) { + coverage += _( "The head. " ); + } + if( covers( bp_eyes ) ) { + coverage += _( "The eyes. " ); + } + if( covers( bp_mouth ) ) { + coverage += _( "The mouth. " ); + } + if( covers( bp_torso ) ) { + coverage += _( "The torso. " ); + } + + if( is_sided() && ( covers( bp_arm_l ) || covers( bp_arm_r ) ) ) { + coverage += _( "Either arm. " ); + } else if( covers( bp_arm_l ) && covers( bp_arm_r ) ) { + coverage += _( "The arms. " ); + } else if( covers( bp_arm_l ) ) { + coverage += _( "The left arm. " ); + } else if( covers( bp_arm_r ) ) { + coverage += _( "The right arm. " ); + } + + if( is_sided() && ( covers( bp_hand_l ) || covers( bp_hand_r ) ) ) { + coverage += _( "Either hand. " ); + } else if( covers( bp_hand_l ) && covers( bp_hand_r ) ) { + coverage += _( "The hands. " ); + } else if( covers( bp_hand_l ) ) { + coverage += _( "The left hand. " ); + } else if( covers( bp_hand_r ) ) { + coverage += _( "The right hand. " ); + } + + if( is_sided() && ( covers( bp_leg_l ) || covers( bp_leg_r ) ) ) { + coverage += _( "Either leg. " ); + } else if( covers( bp_leg_l ) && covers( bp_leg_r ) ) { + coverage += _( "The legs. " ); + } else if( covers( bp_leg_l ) ) { + coverage += _( "The left leg. " ); + } else if( covers( bp_leg_r ) ) { + coverage += _( "The right leg. " ); + } + + if( is_sided() && ( covers( bp_foot_l ) || covers( bp_foot_r ) ) ) { + coverage += _( "Either foot. " ); + } else if( covers( bp_foot_l ) && covers( bp_foot_r ) ) { + coverage += _( "The feet. " ); + } else if( covers( bp_foot_l ) ) { + coverage += _( "The left foot. " ); + } else if( covers( bp_foot_r ) ) { + coverage += _( "The right foot. " ); + } + + if( !covers_anything ) { + coverage += _( "Nothing." ); + } + + info.push_back( iteminfo( "ARMOR", coverage ) ); + } + + if( parts->test( iteminfo_parts::ARMOR_LAYER ) && covers_anything ) { + std::string layering = _( "Layer: " ); + if( has_flag( "PERSONAL" ) ) { + layering += _( "Personal aura. " ); + } else if( has_flag( "SKINTIGHT" ) ) { + layering += _( "Close to skin. " ); + } else if( has_flag( "BELTED" ) ) { + layering += _( "Strapped. " ); + } else if( has_flag( "OUTER" ) ) { + layering += _( "Outer. " ); + } else if( has_flag( "WAIST" ) ) { + layering += _( "Waist. " ); + } else if( has_flag( "AURA" ) ) { + layering += _( "Outer aura. " ); + } else { + layering += _( "Normal. " ); + } + + info.push_back( iteminfo( "ARMOR", layering ) ); + } + + if( parts->test( iteminfo_parts::ARMOR_COVERAGE ) && covers_anything ) { + info.push_back( iteminfo( "ARMOR", _( "Coverage: " ), "%", + iteminfo::no_newline, get_coverage() ) ); + } + if( parts->test( iteminfo_parts::ARMOR_WARMTH ) && covers_anything ) { + info.push_back( iteminfo( "ARMOR", space + _( "Warmth: " ), get_warmth() ) ); + } + + insert_separation_line( info ); + + if( parts->test( iteminfo_parts::ARMOR_ENCUMBRANCE ) && covers_anything ) { + std::string format; + if( has_flag( "FIT" ) ) { + format = _( " (fits)" ); + } else if( has_flag( "VARSIZE" ) && encumbrance ) { + format = _( " (poor fit)" ); + } + + //If we have the wrong size, we do not fit so alert the player + if( sizing_level == sizing::human_sized_small_char ) { + format = _( " (too big)" ); + } else if( sizing_level == sizing::big_sized_small_char ) { + format = _( " (huge!)" ); + } else if( sizing_level == sizing::small_sized_human_char || + sizing_level == sizing::human_sized_big_char ) { + format = _( " (too small)" ); + } else if( sizing_level == sizing::small_sized_big_char ) { + format = _( " (tiny!)" ); + } - info.push_back( iteminfo( "ARMOR", _( "Encumbrance: " ), format, + info.push_back( iteminfo( "ARMOR", _( "Encumbrance: " ), format, + iteminfo::no_newline | iteminfo::lower_is_better, + encumbrance ) ); + if( !type->rigid ) { + const int encumbrance_when_full = + get_encumber_when_containing( g->u, get_total_capacity() ); + info.push_back( iteminfo( "ARMOR", space + _( "Encumbrance when full: " ), "", iteminfo::no_newline | iteminfo::lower_is_better, - encumbrance ) ); - if( !type->rigid ) { - const int encumbrance_when_full = - get_encumber_when_containing( g->u, get_total_capacity() ); - info.push_back( iteminfo( "ARMOR", space + _( "Encumbrance when full: " ), "", - iteminfo::no_newline | iteminfo::lower_is_better, - encumbrance_when_full ) ); - } - } - - int converted_storage_scale = 0; - const double converted_storage = round_up( convert_volume( get_storage().value(), - &converted_storage_scale ), 2 ); - if( parts->test( iteminfo_parts::ARMOR_STORAGE ) && converted_storage > 0 ) { - const iteminfo::flags f = converted_storage_scale == 0 ? iteminfo::no_flags : iteminfo::is_decimal; - info.push_back( iteminfo( "ARMOR", space + _( "Storage: " ), - string_format( " %s", volume_units_abbr() ), - f, converted_storage ) ); - } - - // Whatever the last entry was, we want a newline at this point - info.back().bNewLine = true; - - if( parts->test( iteminfo_parts::ARMOR_PROTECTION ) && covers_anything ) { - info.push_back( iteminfo( "ARMOR", _( "Protection: Bash: " ), "", - iteminfo::no_newline, bash_resist() ) ); - info.push_back( iteminfo( "ARMOR", space + _( "Cut: " ), - cut_resist() ) ); + encumbrance_when_full ) ); + } + } + + int converted_storage_scale = 0; + const double converted_storage = round_up( convert_volume( get_storage().value(), + &converted_storage_scale ), 2 ); + if( parts->test( iteminfo_parts::ARMOR_STORAGE ) && converted_storage > 0 ) { + const iteminfo::flags f = converted_storage_scale == 0 ? iteminfo::no_flags : iteminfo::is_decimal; + info.push_back( iteminfo( "ARMOR", space + _( "Storage: " ), + string_format( " %s", volume_units_abbr() ), + f, converted_storage ) ); + } + + // Whatever the last entry was, we want a newline at this point + info.back().bNewLine = true; + + if( parts->test( iteminfo_parts::ARMOR_PROTECTION ) && covers_anything ) { + info.push_back( iteminfo( "ARMOR", _( "Protection: Bash: " ), "", + iteminfo::no_newline, bash_resist() ) ); + info.push_back( iteminfo( "ARMOR", space + _( "Cut: " ), cut_resist() ) ); + info.push_back( iteminfo( "ARMOR", space + _( "Acid: " ), "", + iteminfo::no_newline, acid_resist() ) ); + info.push_back( iteminfo( "ARMOR", space + _( "Fire: " ), "", + iteminfo::no_newline, fire_resist() ) ); + info.push_back( iteminfo( "ARMOR", space + _( "Environmental: " ), + get_base_env_resist( *this ) ) ); + if( type->can_use( "GASMASK" ) || type->can_use( "DIVE_TANK" ) ) { + info.push_back( iteminfo( "ARMOR", + _( "Protection when active: " ) ) ); info.push_back( iteminfo( "ARMOR", space + _( "Acid: " ), "", - iteminfo::no_newline, acid_resist() ) ); + iteminfo::no_newline, + acid_resist( false, get_base_env_resist_w_filter() ) ) ); info.push_back( iteminfo( "ARMOR", space + _( "Fire: " ), "", - iteminfo::no_newline, fire_resist() ) ); + iteminfo::no_newline, + fire_resist( false, get_base_env_resist_w_filter() ) ) ); info.push_back( iteminfo( "ARMOR", space + _( "Environmental: " ), - get_base_env_resist( *this ) ) ); - if( type->can_use( "GASMASK" ) || type->can_use( "DIVE_TANK" ) ) { - info.push_back( iteminfo( "ARMOR", - _( "Protection when active: " ) ) ); - info.push_back( iteminfo( "ARMOR", space + _( "Acid: " ), "", - iteminfo::no_newline, - acid_resist( false, get_base_env_resist_w_filter() ) ) ); - info.push_back( iteminfo( "ARMOR", space + _( "Fire: " ), "", - iteminfo::no_newline, - fire_resist( false, get_base_env_resist_w_filter() ) ) ); - info.push_back( iteminfo( "ARMOR", space + _( "Environmental: " ), - get_env_resist( get_base_env_resist_w_filter() ) ) ); - } - - if( damage() > 0 ) { - info.push_back( iteminfo( "ARMOR", - _( "Protection values are reduced by " - "damage and you may be able to " - "improve them by repairing this " - "item." ) ) ); - } - } - const units::mass weight_bonus = get_weight_capacity_bonus(); - const float weight_modif = get_weight_capacity_modifier(); - if( weight_modif != 1 ) { - std::string modifier; - if( weight_modif < 1 ) { - modifier = "x"; - } else { - modifier = "x"; - } + get_env_resist( get_base_env_resist_w_filter() ) ) ); + } + + if( damage() > 0 ) { info.push_back( iteminfo( "ARMOR", - _( "Weight capacity modifier: " ), modifier, - iteminfo::no_newline | iteminfo::is_decimal, weight_modif ) ); + _( "Protection values are reduced by damage and " + "you may be able to improve them by repairing this " + "item." ) ) ); } - if( weight_bonus != 0_gram ) { - std::string bonus; - if( weight_bonus < 0_gram ) { - bonus = string_format( " %s", weight_units() ); - } else { - bonus = string_format( " %s", weight_units() ); - } - info.push_back( iteminfo( "ARMOR", _( "Weight capacity bonus: " ), bonus, - iteminfo::no_newline | iteminfo::is_decimal, convert_weight( weight_bonus ) ) ); + } + const units::mass weight_bonus = get_weight_capacity_bonus(); + const float weight_modif = get_weight_capacity_modifier(); + if( weight_modif != 1 ) { + std::string modifier; + if( weight_modif < 1 ) { + modifier = "x"; + } else { + modifier = "x"; } - + info.push_back( iteminfo( "ARMOR", + _( "Weight capacity modifier: " ), modifier, + iteminfo::no_newline | iteminfo::is_decimal, weight_modif ) ); } - if( is_book() ) { - insert_separation_line(); - const islot_book &book = *type->book; - // Some things about a book you CAN tell by it's cover. - if( !book.skill && !type->can_use( "MA_MANUAL" ) && parts->test( iteminfo_parts::BOOK_SUMMARY ) ) { - info.push_back( iteminfo( "BOOK", _( "Just for fun." ) ) ); + if( weight_bonus != 0_gram ) { + std::string bonus; + if( weight_bonus < 0_gram ) { + bonus = string_format( " %s", weight_units() ); + } else { + bonus = string_format( " %s", weight_units() ); } - if( type->can_use( "MA_MANUAL" ) && parts->test( iteminfo_parts::BOOK_SUMMARY ) ) { + info.push_back( iteminfo( "ARMOR", _( "Weight capacity bonus: " ), bonus, + iteminfo::no_newline | iteminfo::is_decimal, + convert_weight( weight_bonus ) ) ); + } +} + +void item::book_info( std::vector &info, const iteminfo_query *parts, int /* batch */, + bool /* debug */ ) const +{ + if( !is_book() ) { + return; + } + + insert_separation_line( info ); + const islot_book &book = *type->book; + // Some things about a book you CAN tell by it's cover. + if( !book.skill && !type->can_use( "MA_MANUAL" ) && parts->test( iteminfo_parts::BOOK_SUMMARY ) ) { + info.push_back( iteminfo( "BOOK", _( "Just for fun." ) ) ); + } + if( type->can_use( "MA_MANUAL" ) && parts->test( iteminfo_parts::BOOK_SUMMARY ) ) { + info.push_back( iteminfo( "BOOK", + _( "Some sort of martial arts training " + "manual." ) ) ); + if( g->u.has_identified( typeId() ) ) { + const matype_id style_to_learn = martial_art_learned_from( *type ); + info.push_back( iteminfo( "BOOK", + string_format( _( "You can learn %s style " + "from it." ), style_to_learn->name ) ) ); info.push_back( iteminfo( "BOOK", - _( "Some sort of martial arts training manual." ) ) ); - if( g->u.has_identified( typeId() ) ) { - const matype_id style_to_learn = martial_art_learned_from( *type ); - info.push_back( iteminfo( "BOOK", - string_format( _( "You can learn %s style from it." ), style_to_learn->name ) ) ); - info.push_back( iteminfo( "BOOK", - string_format( _( "This fighting style is %s to learn." ), - martialart_difficulty( style_to_learn ) ) ) ); - info.push_back( iteminfo( "BOOK", - string_format( _( "It'd be easier to master if you'd have skill expertise in %s." ), - style_to_learn->primary_skill->name() ) ) ); - } - } - if( book.req == 0 && parts->test( iteminfo_parts::BOOK_REQUIREMENTS_BEGINNER ) ) { - info.push_back( iteminfo( "BOOK", _( "It can be understood by beginners." ) ) ); + string_format( _( "This fighting style is %s " + "to learn." ), + martialart_difficulty( style_to_learn ) ) ) ); + info.push_back( iteminfo( "BOOK", + string_format( _( "It'd be easier to master if you'd have " + "skill expertise in %s." ), + style_to_learn->primary_skill->name() ) ) ); } - if( g->u.has_identified( typeId() ) ) { - if( book.skill ) { - const SkillLevel &skill = g->u.get_skill_level_object( book.skill ); - if( skill.can_train() && parts->test( iteminfo_parts::BOOK_SKILLRANGE_MAX ) ) { - const std::string skill_name = book.skill->name(); - std::string fmt = string_format( _( "Can bring your %s skill to ." ), - skill_name ); - info.push_back( iteminfo( "BOOK", "", fmt, iteminfo::no_flags, book.level ) ); - fmt = string_format( _( "Your current %s skill is ." ), skill_name ); - info.push_back( iteminfo( "BOOK", "", fmt, iteminfo::no_flags, skill.level() ) ); - } - - if( book.req != 0 && parts->test( iteminfo_parts::BOOK_SKILLRANGE_MIN ) ) { - const std::string fmt = string_format( - _( "Requires %s level to understand." ), - book.skill.obj().name() ); - info.push_back( iteminfo( "BOOK", "", fmt, - iteminfo::lower_is_better, book.req ) ); - } + } + if( book.req == 0 && parts->test( iteminfo_parts::BOOK_REQUIREMENTS_BEGINNER ) ) { + info.push_back( iteminfo( "BOOK", _( "It can be understood by " + "beginners." ) ) ); + } + if( g->u.has_identified( typeId() ) ) { + if( book.skill ) { + const SkillLevel &skill = g->u.get_skill_level_object( book.skill ); + if( skill.can_train() && parts->test( iteminfo_parts::BOOK_SKILLRANGE_MAX ) ) { + const std::string skill_name = book.skill->name(); + std::string fmt = string_format( _( "Can bring your %s skill to " + "." ), skill_name ); + info.push_back( iteminfo( "BOOK", "", fmt, iteminfo::no_flags, book.level ) ); + fmt = string_format( _( "Your current %s skill is ." ), + skill_name ); + info.push_back( iteminfo( "BOOK", "", fmt, iteminfo::no_flags, skill.level() ) ); } - if( book.intel != 0 && parts->test( iteminfo_parts::BOOK_REQUIREMENTS_INT ) ) { - info.push_back( iteminfo( "BOOK", "", - _( "Requires intelligence of to easily read." ), - iteminfo::lower_is_better, book.intel ) ); - } - if( g->u.book_fun_for( *this, g->u ) != 0 && parts->test( iteminfo_parts::BOOK_MORALECHANGE ) ) { - info.push_back( iteminfo( "BOOK", "", - _( "Reading this book affects your morale by " ), - iteminfo::show_plus, g->u.book_fun_for( *this, g->u ) ) ); - } - if( parts->test( iteminfo_parts::BOOK_TIMEPERCHAPTER ) ) { - std::string fmt = ngettext( - "A chapter of this book takes minute to read.", - "A chapter of this book takes minutes to read.", - book.time ); - if( type->use_methods.count( "MA_MANUAL" ) ) { - fmt = ngettext( - "A training session with this book takes minute.", - "A training session with this book takes minutes.", - book.time ); - } + if( book.req != 0 && parts->test( iteminfo_parts::BOOK_SKILLRANGE_MIN ) ) { + const std::string fmt = string_format( + _( "Requires %s level to " + "understand." ), book.skill.obj().name() ); info.push_back( iteminfo( "BOOK", "", fmt, - iteminfo::lower_is_better, book.time ) ); - } - - if( book.chapters > 0 && parts->test( iteminfo_parts::BOOK_NUMUNREADCHAPTERS ) ) { - const int unread = get_remaining_chapters( g->u ); - std::string fmt = ngettext( "This book has unread chapter.", - "This book has unread chapters.", - unread ); - info.push_back( iteminfo( "BOOK", "", fmt, iteminfo::no_flags, unread ) ); + iteminfo::lower_is_better, book.req ) ); + } + } + + if( book.intel != 0 && parts->test( iteminfo_parts::BOOK_REQUIREMENTS_INT ) ) { + info.push_back( iteminfo( "BOOK", "", + _( "Requires intelligence of to easily " + "read." ), iteminfo::lower_is_better, book.intel ) ); + } + if( g->u.book_fun_for( *this, g->u ) != 0 && + parts->test( iteminfo_parts::BOOK_MORALECHANGE ) ) { + info.push_back( iteminfo( "BOOK", "", + _( "Reading this book affects your morale by " ), + iteminfo::show_plus, g->u.book_fun_for( *this, g->u ) ) ); + } + if( parts->test( iteminfo_parts::BOOK_TIMEPERCHAPTER ) ) { + std::string fmt = ngettext( + "A chapter of this book takes minute to " + "read.", + "A chapter of this book takes minutes to " + "read.", book.time ); + if( type->use_methods.count( "MA_MANUAL" ) ) { + fmt = ngettext( + "A training session with this book takes " + " minute.", + "A training session with this book takes " + " minutes.", book.time ); + } + info.push_back( iteminfo( "BOOK", "", fmt, + iteminfo::lower_is_better, book.time ) ); + } + + if( book.chapters > 0 && parts->test( iteminfo_parts::BOOK_NUMUNREADCHAPTERS ) ) { + const int unread = get_remaining_chapters( g->u ); + std::string fmt = ngettext( "This book has unread chapter.", + "This book has unread chapters.", + unread ); + info.push_back( iteminfo( "BOOK", "", fmt, iteminfo::no_flags, unread ) ); + } + + std::vector recipe_list; + for( const islot_book::recipe_with_description_t &elem : book.recipes ) { + const bool knows_it = g->u.knows_recipe( elem.recipe ); + const bool can_learn = g->u.get_skill_level( elem.recipe->skill_used ) >= elem.skill_level; + // If the player knows it, they recognize it even if it's not clearly stated. + if( elem.is_hidden() && !knows_it ) { + continue; } - - std::vector recipe_list; - for( const islot_book::recipe_with_description_t &elem : book.recipes ) { - const bool knows_it = g->u.knows_recipe( elem.recipe ); - const bool can_learn = g->u.get_skill_level( elem.recipe->skill_used ) >= elem.skill_level; - // If the player knows it, they recognize it even if it's not clearly stated. - if( elem.is_hidden() && !knows_it ) { - continue; - } - if( knows_it ) { - // In case the recipe is known, but has a different name in the book, use the - // real name to avoid confusing the player. - const std::string name = elem.recipe->result_name(); - recipe_list.push_back( "" + name + "" ); - } else if( !can_learn ) { - recipe_list.push_back( "" + elem.name + "" ); - } else { - recipe_list.push_back( "" + elem.name + "" ); - } + if( knows_it ) { + // In case the recipe is known, but has a different name in the book, use the + // real name to avoid confusing the player. + const std::string name = elem.recipe->result_name(); + recipe_list.push_back( "" + name + "" ); + } else if( !can_learn ) { + recipe_list.push_back( "" + elem.name + "" ); + } else { + recipe_list.push_back( "" + elem.name + "" ); } + } - if( !recipe_list.empty() && parts->test( iteminfo_parts::DESCRIPTION_BOOK_RECIPES ) ) { - std::string recipe_line = - string_format( ngettext( "This book contains %1$d crafting recipe: %2$s", - "This book contains %1$d crafting recipes: %2$s", - recipe_list.size() ), - recipe_list.size(), enumerate_as_string( recipe_list ) ); + if( !recipe_list.empty() && parts->test( iteminfo_parts::DESCRIPTION_BOOK_RECIPES ) ) { + std::string recipe_line = + string_format( ngettext( "This book contains %1$d crafting recipe: %2$s", + "This book contains %1$d crafting recipes: %2$s", + recipe_list.size() ), + recipe_list.size(), enumerate_as_string( recipe_list ) ); - insert_separation_line(); - info.push_back( iteminfo( "DESCRIPTION", recipe_line ) ); - } + insert_separation_line( info ); + info.push_back( iteminfo( "DESCRIPTION", recipe_line ) ); + } - if( recipe_list.size() != book.recipes.size() && - parts->test( iteminfo_parts::DESCRIPTION_BOOK_ADDITIONAL_RECIPES ) ) { - info.push_back( iteminfo( - "DESCRIPTION", - _( "It might help you figuring out some more recipes." ) ) ); - } + if( recipe_list.size() != book.recipes.size() && + parts->test( iteminfo_parts::DESCRIPTION_BOOK_ADDITIONAL_RECIPES ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "It might help you figuring out some more " + "recipes." ) ) ); + } - } else { - if( parts->test( iteminfo_parts::BOOK_UNREAD ) ) { - info.push_back( iteminfo( - "BOOK", - _( "You need to read this book to see its contents." ) ) ); - } + } else { + if( parts->test( iteminfo_parts::BOOK_UNREAD ) ) { + info.push_back( iteminfo( "BOOK", + _( "You need to read this book to see its " + "contents." ) ) ); } + } +} +void item::container_info( std::vector &info, const iteminfo_query *parts, int /*batch*/, + bool /*debug*/ ) const +{ + if( !is_container() || !parts->test( iteminfo_parts::CONTAINER_DETAILS ) ) { + return; } - if( is_container() && parts->test( iteminfo_parts::CONTAINER_DETAILS ) ) { - insert_separation_line(); - const islot_container &c = *type->container; - temp1.str( "" ); - temp1 << _( "This container " ); + insert_separation_line( info ); + const islot_container &c = *type->container; - if( c.seals ) { - temp1 << _( "can be resealed, " ); - } - if( c.watertight ) { - temp1 << _( "is watertight, " ); - } - if( c.preserves ) { - temp1 << _( "prevents spoiling, " ); - } + std::string container_str = _( "This container " ); + + if( c.seals ) { + container_str += _( "can be resealed, " ); + } + if( c.watertight ) { + container_str += _( "is watertight, " ); + } + if( c.preserves ) { + container_str += _( "prevents spoiling, " ); + } - temp1 << string_format( _( "can store %s %s." ), - format_volume( c.contains ), - volume_units_long() ); + container_str += string_format( _( "can store %s %s." ), + format_volume( c.contains ), volume_units_long() ); - info.push_back( iteminfo( "CONTAINER", temp1.str() ) ); + info.push_back( iteminfo( "CONTAINER", container_str ) ); +} + +void item::battery_info( std::vector &info, const iteminfo_query * /*parts*/, + int /*batch*/, bool /*debug*/ ) const +{ + if( !is_battery() ) { + return; } - if( is_battery() ) { - std::string info_string; - if( type->battery->max_capacity < 1_J ) { - info_string = string_format( _( "Capacity: %dmJ" ), - to_millijoule( type->battery->max_capacity ) ); - } else if( type->battery->max_capacity < 1_kJ ) { - info_string = string_format( _( "Capacity: %dJ" ), - to_joule( type->battery->max_capacity ) ); - } else if( type->battery->max_capacity >= 1_kJ ) { - info_string = string_format( _( "Capacity: %dkJ" ), - to_kilojoule( type->battery->max_capacity ) ); - } - insert_separation_line(); - info.emplace_back( "BATTERY", info_string ); + std::string info_string; + if( type->battery->max_capacity < 1_J ) { + info_string = string_format( _( "Capacity: %dmJ" ), + to_millijoule( type->battery->max_capacity ) ); + } else if( type->battery->max_capacity < 1_kJ ) { + info_string = string_format( _( "Capacity: %dJ" ), + to_joule( type->battery->max_capacity ) ); + } else if( type->battery->max_capacity >= 1_kJ ) { + info_string = string_format( _( "Capacity: %dkJ" ), + to_kilojoule( type->battery->max_capacity ) ); } + insert_separation_line( info ); + info.emplace_back( "BATTERY", info_string ); +} - if( is_tool() ) { - insert_separation_line(); - if( ammo_capacity() != 0 && parts->test( iteminfo_parts::TOOL_CHARGES ) ) { - info.emplace_back( "TOOL", string_format( _( "Charges: %d" ), ammo_remaining() ) ); - } +void item::tool_info( std::vector &info, const iteminfo_query *parts, int /*batch*/, + bool /*debug*/ ) const +{ + if( !is_tool() ) { + return; + } - if( !magazine_integral() ) { - if( magazine_current() && parts->test( iteminfo_parts::TOOL_MAGAZINE_CURRENT ) ) { - info.emplace_back( "TOOL", _( "Magazine: " ), string_format( "%s", - magazine_current()->tname() ) ); - } + insert_separation_line( info ); + if( ammo_capacity() != 0 && parts->test( iteminfo_parts::TOOL_CHARGES ) ) { + info.emplace_back( "TOOL", string_format( _( "Charges: %d" ), + ammo_remaining() ) ); + } - if( parts->test( iteminfo_parts::TOOL_MAGAZINE_COMPATIBLE ) ) { - insert_separation_line(); - const std::set compat = magazine_compatible(); - info.emplace_back( "TOOL", _( "Compatible magazines: " ), - enumerate_as_string( compat.begin(), compat.end(), []( const itype_id & id ) { - return item::nname( id ); - } ) ); - } - } else if( ammo_capacity() != 0 && parts->test( iteminfo_parts::TOOL_CAPACITY ) ) { - std::string tmp; - bool bionic_tool = has_flag( "USES_BIONIC_POWER" ); - if( !ammo_types().empty() ) { - //~ "%s" is ammunition type. This types can't be plural. - tmp = ngettext( "Maximum charge of %s.", "Maximum charges of %s.", ammo_capacity() ); - tmp = string_format( tmp, enumerate_as_string( ammo_types().begin(), - ammo_types().end(), []( const ammotype & at ) { - return at->name(); - }, enumeration_conjunction::none ) ); + if( !magazine_integral() ) { + if( magazine_current() && parts->test( iteminfo_parts::TOOL_MAGAZINE_CURRENT ) ) { + info.emplace_back( "TOOL", _( "Magazine: " ), + string_format( "%s", magazine_current()->tname() ) ); + } - // No need to display max charges, since charges are always equal to bionic power - } else if( !bionic_tool ) { - tmp = ngettext( "Maximum charge.", "Maximum charges.", ammo_capacity() ); - } - if( !bionic_tool ) { - info.emplace_back( "TOOL", "", tmp, iteminfo::no_flags, ammo_capacity() ); - } + if( parts->test( iteminfo_parts::TOOL_MAGAZINE_COMPATIBLE ) ) { + insert_separation_line( info ); + const std::set compat = magazine_compatible(); + info.emplace_back( "TOOL", _( "Compatible magazines: " ), + enumerate_as_string( compat.begin(), compat.end(), []( const itype_id & id ) { + return item::nname( id ); + } ) ); } - } + } else if( ammo_capacity() != 0 && parts->test( iteminfo_parts::TOOL_CAPACITY ) ) { + std::string tmp; + bool bionic_tool = has_flag( "USES_BIONIC_POWER" ); + if( !ammo_types().empty() ) { + //~ "%s" is ammunition type. This types can't be plural. + tmp = ngettext( "Maximum charge of %s.", "Maximum charges of %s.", + ammo_capacity() ); + tmp = string_format( tmp, enumerate_as_string( ammo_types().begin(), + ammo_types().end(), []( const ammotype & at ) { + return at->name(); + }, enumeration_conjunction::none ) ); - if( !components.empty() && parts->test( iteminfo_parts::DESCRIPTION_COMPONENTS_MADEFROM ) ) { - if( is_craft() ) { - info.push_back( iteminfo( "DESCRIPTION", string_format( _( "Using: %s" ), - _( components_to_string() ) ) ) ); - } else { - info.push_back( iteminfo( "DESCRIPTION", string_format( _( "Made from: %s" ), - _( components_to_string() ) ) ) ); + // No need to display max charges, since charges are always equal to bionic power + } else if( !bionic_tool ) { + tmp = ngettext( "Maximum charge.", "Maximum charges.", ammo_capacity() ); } + if( !bionic_tool ) { + info.emplace_back( "TOOL", "", tmp, iteminfo::no_flags, ammo_capacity() ); + } + } +} + +void item::component_info( std::vector &info, const iteminfo_query *parts, int /*batch*/, + bool /*debug*/ ) const +{ + if( components.empty() || !parts->test( iteminfo_parts::DESCRIPTION_COMPONENTS_MADEFROM ) ) { + return; + } + if( is_craft() ) { + info.push_back( iteminfo( "DESCRIPTION", string_format( _( "Using: %s" ), + _( components_to_string() ) ) ) ); } else { - const recipe &dis = recipe_dictionary::get_uncraft( typeId() ); - const requirement_data &req = dis.disassembly_requirements(); - if( !req.is_empty() && parts->test( iteminfo_parts::DESCRIPTION_COMPONENTS_DISASSEMBLE ) ) { - const requirement_data::alter_item_comp_vector &components = req.get_components(); - const std::string components_list = enumerate_as_string( components.begin(), components.end(), - []( const std::vector &comps ) { - return comps.front().to_string(); - } ); + info.push_back( iteminfo( "DESCRIPTION", string_format( _( "Made from: %s" ), + _( components_to_string() ) ) ) ); + } +} - insert_separation_line(); - info.push_back( iteminfo( "DESCRIPTION", - string_format( _( "Disassembling this item takes %s and might yield: %s." ), - to_string_approx( time_duration::from_turns( dis.time / 100 ) ), components_list.c_str() ) ) ); - } +void item::disassembly_info( std::vector &info, const iteminfo_query *parts, + int /*batch*/, bool /*debug*/ ) const +{ + if( !components.empty() && parts->test( iteminfo_parts::DESCRIPTION_COMPONENTS_MADEFROM ) ) { + return; } + const recipe &dis = recipe_dictionary::get_uncraft( typeId() ); + const requirement_data &req = dis.disassembly_requirements(); + if( !req.is_empty() && + parts->test( iteminfo_parts::DESCRIPTION_COMPONENTS_DISASSEMBLE ) ) { + const requirement_data::alter_item_comp_vector &components = req.get_components(); + const std::string components_list = enumerate_as_string( components.begin(), components.end(), + []( const std::vector &comps ) { + return comps.front().to_string(); + } ); + + insert_separation_line( info ); + info.push_back( iteminfo( "DESCRIPTION", + string_format( _( "Disassembling this item takes %s and " + "might yield: %s." ), + to_string_approx( time_duration::from_turns( dis.time / + 100 ) ), components_list ) ) ); + } +} +void item::qualities_info( std::vector &info, const iteminfo_query *parts, int /*batch*/, + bool /*debug*/ ) const +{ auto name_quality = [&info]( const std::pair &q ) { std::string str; if( q.first == quality_jack || q.first == quality_lift ) { - str = string_format( - _( "Has level %1$d %2$s quality and is rated at %3$d %4$s" ), - q.second, q.first.obj().name, - static_cast( convert_weight( q.second * TOOL_LIFT_FACTOR ) ), - weight_units() ); + str = string_format( _( "Has level %1$d %2$s quality and " + "is rated at %3$d %4$s" ), + q.second, q.first.obj().name, + static_cast( convert_weight( q.second * TOOL_LIFT_FACTOR ) ), + weight_units() ); } else { str = string_format( _( "Has level %1$d %2$s quality." ), q.second, q.first.obj().name ); @@ -2407,7 +2473,8 @@ std::string item::info( std::vector &info, const iteminfo_query *parts for( const item &e : contents ) { for( const std::pair &q : e.type->qualities ) { auto emplace_result = most_quality.emplace( q ); - if( !emplace_result.second && most_quality.at( emplace_result.first->first ) < q.second ) { + if( !emplace_result.second && + most_quality.at( emplace_result.first->first ) < q.second ) { most_quality[ q.first ] = q.second; } } @@ -2416,620 +2483,792 @@ std::string item::info( std::vector &info, const iteminfo_query *parts name_quality( q ); } } +} + + +void item::final_info( std::vector &info, const iteminfo_query *parts, int batch, + bool /*debug*/ ) const +{ + if( is_null() ) { + return; + } + + int encumbrance = get_encumber( g->u ); + const sizing sizing_level = get_sizing( g->u, encumbrance != 0 ); + const std::string space = " "; + + if( parts->test( iteminfo_parts::DESCRIPTION ) ) { + insert_separation_line( info ); + const std::map::const_iterator idescription = + item_vars.find( "description" ); + const cata::optional snippet = snippet_id.has_value() + ? SNIPPET.get_snippet_by_id( snippet_id.value() ) + : cata::nullopt; + if( snippet.has_value() ) { + // Just use the dynamic description + info.push_back( iteminfo( "DESCRIPTION", snippet.value().translated() ) ); + } else if( idescription != item_vars.end() ) { + info.push_back( iteminfo( "DESCRIPTION", idescription->second ) ); + } else { + if( has_flag( "MAGIC_FOCUS" ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "This item is a magical focus. " + "You can cast spells with it in your hand." ) ) ); + } + if( is_craft() ) { + const std::string desc = _( "This is an in progress %s. " + "It is %d percent complete." ); + const int percent_progress = item_counter / 100000; + info.push_back( iteminfo( "DESCRIPTION", string_format( desc, + making->result_name(), + percent_progress ) ) ); + } else { + info.push_back( iteminfo( "DESCRIPTION", type->description.translated() ) ); + } + } + } + std::set all_techniques = type->techniques; + all_techniques.insert( techniques.begin(), techniques.end() ); + if( !all_techniques.empty() && parts->test( iteminfo_parts::DESCRIPTION_TECHNIQUES ) ) { + insert_separation_line( info ); + info.push_back( iteminfo( "DESCRIPTION", _( "Techniques when wielded: " ) + + enumerate_as_string( all_techniques.begin(), all_techniques.end(), []( const matec_id & tid ) { + return string_format( "%s: %s", _( tid.obj().name ), + _( tid.obj().description ) ); + } ) ) ); + } + + if( !is_gunmod() && has_flag( "REACH_ATTACK" ) && + parts->test( iteminfo_parts::DESCRIPTION_GUNMOD_ADDREACHATTACK ) ) { + insert_separation_line( info ); + if( has_flag( "REACH3" ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "* This item can be used to make long reach " + "attacks." ) ) ); + } else { + info.push_back( iteminfo( "DESCRIPTION", + _( "* This item can be used to make reach " + "attacks." ) ) ); + } + } + + ///\EFFECT_MELEE >2 allows seeing melee damage stats on weapons + if( debug_mode || + ( g->u.get_skill_level( skill_melee ) > 2 && + ( damage_melee( DT_BASH ) > 0 || damage_melee( DT_CUT ) > 0 || + damage_melee( DT_STAB ) > 0 || type->m_to_hit > 0 ) ) ) { + damage_instance non_crit; + g->u.roll_all_damage( false, non_crit, true, *this ); + damage_instance crit; + g->u.roll_all_damage( true, crit, true, *this ); + int attack_cost = g->u.attack_speed( *this ); + insert_separation_line( info ); + if( parts->test( iteminfo_parts::DESCRIPTION_MELEEDMG ) ) { + info.push_back( iteminfo( "DESCRIPTION", _( "Average melee damage:" ) ) ); + } + if( parts->test( iteminfo_parts::DESCRIPTION_MELEEDMG_CRIT ) ) { + info.push_back( iteminfo( "DESCRIPTION", + string_format( _( "Critical hit chance %d%% - %d%%" ), + static_cast( g->u.crit_chance( 0, 100, *this ) * + 100 ), + static_cast( g->u.crit_chance( 100, 0, *this ) * + 100 ) ) ) ); + } + if( parts->test( iteminfo_parts::DESCRIPTION_MELEEDMG_BASH ) ) { + info.push_back( iteminfo( "DESCRIPTION", + string_format( _( "%d bashing (%d on a critical hit)" ), + static_cast( non_crit.type_damage( DT_BASH ) ), + static_cast( crit.type_damage( DT_BASH ) ) ) ) ); + } + if( ( non_crit.type_damage( DT_CUT ) > 0.0f || crit.type_damage( DT_CUT ) > 0.0f ) + && parts->test( iteminfo_parts::DESCRIPTION_MELEEDMG_CUT ) ) { + info.push_back( iteminfo( "DESCRIPTION", + string_format( _( "%d cutting (%d on a critical hit)" ), + static_cast( non_crit.type_damage( DT_CUT ) ), + static_cast( crit.type_damage( DT_CUT ) ) ) ) ); + } + if( ( non_crit.type_damage( DT_STAB ) > 0.0f || crit.type_damage( DT_STAB ) > 0.0f ) + && parts->test( iteminfo_parts::DESCRIPTION_MELEEDMG_PIERCE ) ) { + info.push_back( iteminfo( "DESCRIPTION", + string_format( _( "%d piercing (%d on a critical hit)" ), + static_cast( non_crit.type_damage( DT_STAB ) ), + static_cast( crit.type_damage( DT_STAB ) ) ) ) ); + } + if( parts->test( iteminfo_parts::DESCRIPTION_MELEEDMG_MOVES ) ) { + info.push_back( iteminfo( "DESCRIPTION", + string_format( _( "%d moves per attack" ), attack_cost ) ) ); + } + } + + //lets display which martial arts styles character can use with this weapon + if( parts->test( iteminfo_parts::DESCRIPTION_APPLICABLEMARTIALARTS ) ) { + const std::string valid_styles = g->u.martial_arts_data.enumerate_known_styles( typeId() ); + if( !valid_styles.empty() ) { + insert_separation_line( info ); + info.push_back( iteminfo( "DESCRIPTION", + _( "You know how to use this with these martial arts " + "styles: " ) + valid_styles ) ); + } + } + + if( parts->test( iteminfo_parts::DESCRIPTION_USE_METHODS ) ) { + for( const std::pair &method : type->use_methods ) { + insert_separation_line( info ); + method.second.dump_info( *this, info ); + } + } + + if( parts->test( iteminfo_parts::DESCRIPTION_REPAIREDWITH ) ) { + insert_separation_line( info ); + const std::set &rep = repaired_with(); + if( !rep.empty() ) { + info.emplace_back( "DESCRIPTION", _( "Repaired with: " ) + + enumerate_as_string( rep.begin(), rep.end(), []( const itype_id & e ) { + return nname( e ); + }, enumeration_conjunction::or_ ) ); + insert_separation_line( info ); + if( reinforceable() ) { + info.emplace_back( "DESCRIPTION", _( "* This item can be " + "reinforced." ) ); + } + } else { + info.emplace_back( "DESCRIPTION", _( "* This item is not repairable." ) ); + } + } + + if( parts->test( iteminfo_parts::DESCRIPTION_CONDUCTIVITY ) ) { + if( !conductive() ) { + info.push_back( iteminfo( "BASE", _( "* This item does not " + "conduct electricity." ) ) ); + } else if( has_flag( "CONDUCTIVE" ) ) { + info.push_back( iteminfo( "BASE", + _( "* This item effectively conducts " + "electricity, as it has no guard." ) ) ); + } else { + info.push_back( iteminfo( "BASE", _( "* This item conducts electricity." ) ) ); + } + } + + bool anyFlags = ( *parts & iteminfo_query::anyflags ).any(); + if( anyFlags ) { + insert_separation_line( info ); + } + + if( is_armor() && g->u.has_trait( trait_id( "WOOLALLERGY" ) ) && + ( made_of( material_id( "wool" ) ) || item_tags.count( "wooled" ) ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "* This clothing will give you an allergic " + "reaction." ) ) ); + } + + if( parts->test( iteminfo_parts::DESCRIPTION_FLAGS ) ) { + // concatenate base and acquired flags... + std::vector flags; + std::set_union( type->item_tags.begin(), type->item_tags.end(), + item_tags.begin(), item_tags.end(), + std::back_inserter( flags ) ); + + // ...and display those which have an info description + for( const std::string &e : flags ) { + const json_flag &f = json_flag::get( e ); + if( !f.info().empty() ) { + info.emplace_back( "DESCRIPTION", string_format( "* %s", _( f.info() ) ) ); + } + } + } + + if( is_armor() ) { + if( has_flag( "HELMET_COMPAT" ) && parts->test( iteminfo_parts::DESCRIPTION_FLAGS_HELMETCOMPAT ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "* This item can be worn with a " + "helmet." ) ) ); + } + + if( parts->test( iteminfo_parts::DESCRIPTION_FLAGS_FITS ) ) { + switch( sizing_level ) { + case sizing::human_sized_human_char: + if( has_flag( "FIT" ) ) { + info.emplace_back( "DESCRIPTION", + _( "* This clothing fits you perfectly." ) ); + } + break; + case sizing::big_sized_big_char: + if( has_flag( "FIT" ) ) { + info.emplace_back( "DESCRIPTION", _( "* This clothing fits " + "your large frame perfectly." ) ); + } + break; + case sizing::small_sized_small_char: + if( has_flag( "FIT" ) ) { + info.emplace_back( "DESCRIPTION", _( "* This clothing fits " + "your small frame perfectly." ) ); + } + break; + case sizing::big_sized_human_char: + info.emplace_back( "DESCRIPTION", _( "* This clothing is oversized " + "and does not fit you." ) ); + break; + case sizing::big_sized_small_char: + info.emplace_back( "DESCRIPTION", + _( "* This clothing is hilariously oversized " + "and does not fit your abnormally " + "small mutated anatomy." ) ); + break; + case sizing::human_sized_big_char: + info.emplace_back( "DESCRIPTION", + _( "* This clothing is normal sized and does " + "not fit your abnormally large " + "mutated anatomy." ) ); + break; + case sizing::human_sized_small_char: + info.emplace_back( "DESCRIPTION", + _( "* This clothing is normal sized and does " + "not fit your abnormally small " + "mutated anatomy." ) ); + break; + case sizing::small_sized_big_char: + info.emplace_back( "DESCRIPTION", + _( "* This clothing is hilariously undersized " + "and does not fit your abnormally " + "large mutated anatomy." ) ); + break; + case sizing::small_sized_human_char: + info.emplace_back( "DESCRIPTION", _( "* This clothing is undersized " + "and does not fit you." ) ); + break; + default: + break; + } + } + + if( parts->test( iteminfo_parts::DESCRIPTION_FLAGS_VARSIZE ) ) { + if( has_flag( "VARSIZE" ) ) { + std::string resize_str; + if( has_flag( "FIT" ) ) { + switch( sizing_level ) { + case sizing::small_sized_human_char: + resize_str = _( "can be upsized" ); + break; + case sizing::human_sized_small_char: + resize_str = _( "can be downsized" ); + break; + case sizing::big_sized_human_char: + case sizing::big_sized_small_char: + resize_str = _( "can not be downsized" ); + break; + case sizing::small_sized_big_char: + case sizing::human_sized_big_char: + resize_str = _( "can not be upsized" ); + break; + default: + break; + } + if( !resize_str.empty() ) { + std::string info_str = string_format( _( "* This clothing %s." ), resize_str ); + info.push_back( iteminfo( "DESCRIPTION", info_str ) ); + } + } else { + switch( sizing_level ) { + case sizing::small_sized_human_char: + resize_str = _( " and upsized" ); + break; + case sizing::human_sized_small_char: + resize_str = _( " and downsized" ); + break; + case sizing::big_sized_human_char: + case sizing::big_sized_small_char: + resize_str = _( " but not downsized" ); + break; + case sizing::small_sized_big_char: + case sizing::human_sized_big_char: + resize_str = _( " but not upsized" ); + break; + default: + break; + } + std::string info_str = string_format( _( "* This clothing can be " + "refitted%s." ), resize_str ); + info.push_back( iteminfo( "DESCRIPTION", info_str ) ); + } + } else { + info.emplace_back( "DESCRIPTION", _( "* This clothing can not be refitted, " + "upsized, or downsized." ) ); + } + } + + if( is_sided() && parts->test( iteminfo_parts::DESCRIPTION_FLAGS_SIDED ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "* This item can be worn on either side of " + "the body." ) ) ); + } + if( is_power_armor() && parts->test( iteminfo_parts::DESCRIPTION_FLAGS_POWERARMOR ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "* This gear is a part of power armor." ) ) ); + if( parts->test( iteminfo_parts::DESCRIPTION_FLAGS_POWERARMOR_RADIATIONHINT ) ) { + if( covers( bp_head ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "* When worn with a power armor suit, it will " + "fully protect you from " + "radiation." ) ) ); + } else { + info.push_back( iteminfo( "DESCRIPTION", + _( "* When worn with a power armor helmet, it will " + "fully protect you from " "radiation." ) ) ); + } + } + } + if( typeId() == "rad_badge" && parts->test( iteminfo_parts::DESCRIPTION_IRRADIATION ) ) { + info.push_back( iteminfo( "DESCRIPTION", + string_format( _( "* The film strip on the badge is %s." ), + rad_badge_color( irradiation ) ) ) ); + } + } + + if( is_tool() ) { + if( has_flag( "USE_UPS" ) && parts->test( iteminfo_parts::DESCRIPTION_RECHARGE_UPSMODDED ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "* This tool has been modified to use a universal " + "power supply and is not compatible" + " with standard batteries." ) ) ); + } else if( has_flag( "RECHARGE" ) && has_flag( "NO_RELOAD" ) && + parts->test( iteminfo_parts::DESCRIPTION_RECHARGE_NORELOAD ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "* This tool has a rechargeable power cell " + "and is not compatible with " + "standard batteries." ) ) ); + } else if( has_flag( "RECHARGE" ) && + parts->test( iteminfo_parts::DESCRIPTION_RECHARGE_UPSCAPABLE ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "* This tool has a rechargeable power cell " + "and can be recharged in any UPS-compatible " + "recharging station. You could charge it with " + "standard batteries, but unloading it is " + "impossible." ) ) ); + } else if( has_flag( "USES_BIONIC_POWER" ) ) { + info.emplace_back( "DESCRIPTION", + _( "* This tool runs on bionic power." ) ); + } + } - if( !is_null() ) { - if( parts->test( iteminfo_parts::DESCRIPTION ) ) { - insert_separation_line(); - const std::map::const_iterator idescription = - item_vars.find( "description" ); - if( !type->snippet_category.empty() ) { - // Just use the dynamic description - info.push_back( iteminfo( "DESCRIPTION", SNIPPET.get( note ) ) ); - } else if( idescription != item_vars.end() ) { - info.push_back( iteminfo( "DESCRIPTION", idescription->second ) ); - } else { - if( has_flag( "MAGIC_FOCUS" ) ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "This item is a magical focus. You can cast spells with it in your hand." ) ) ); - } - if( is_craft() ) { - const std::string desc = _( "This is an in progress %s. It is %d percent complete." ); - const int percent_progress = item_counter / 100000; - info.push_back( iteminfo( "DESCRIPTION", string_format( desc, - making->result_name(), - percent_progress ) ) ); - } else { - info.push_back( iteminfo( "DESCRIPTION", type->description.translated() ) ); - } - } - } - std::set all_techniques = type->techniques; - all_techniques.insert( techniques.begin(), techniques.end() ); - if( !all_techniques.empty() && parts->test( iteminfo_parts::DESCRIPTION_TECHNIQUES ) ) { - insert_separation_line(); - info.push_back( iteminfo( "DESCRIPTION", _( "Techniques when wielded: " ) + - enumerate_as_string( all_techniques.begin(), all_techniques.end(), []( const matec_id & tid ) { - return string_format( "%s: %s", _( tid.obj().name ), - _( tid.obj().description ) ); - } ) ) ); + if( has_flag( "RADIO_ACTIVATION" ) && + parts->test( iteminfo_parts::DESCRIPTION_RADIO_ACTIVATION ) ) { + if( has_flag( "RADIO_MOD" ) ) { + info.emplace_back( "DESCRIPTION", + _( "* This item has been modified to listen to radio " + "signals. It can still be activated manually." ) ); + } else { + info.emplace_back( "DESCRIPTION", + _( "* This item can only be activated by a radio " + "signal." ) ); } - if( !is_gunmod() && has_flag( "REACH_ATTACK" ) && - parts->test( iteminfo_parts::DESCRIPTION_GUNMOD_ADDREACHATTACK ) ) { - insert_separation_line(); - if( has_flag( "REACH3" ) ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This item can be used to make long reach attacks." ) ) ); - } else { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This item can be used to make reach attacks." ) ) ); - } + std::string signame; + if( has_flag( "RADIOSIGNAL_1" ) ) { + signame = "red radio signal."; + } else if( has_flag( "RADIOSIGNAL_2" ) ) { + signame = "blue radio signal."; + } else if( has_flag( "RADIOSIGNAL_3" ) ) { + signame = "green radio signal."; + } + if( parts->test( iteminfo_parts::DESCRIPTION_RADIO_ACTIVATION_CHANNEL ) ) { + info.emplace_back( "DESCRIPTION", + string_format( _( "* It will be activated by the %s." ), + signame ) ); } - ///\EFFECT_MELEE >2 allows seeing melee damage stats on weapons - if( debug_mode || ( g->u.get_skill_level( skill_melee ) > 2 && ( damage_melee( DT_BASH ) > 0 || - damage_melee( DT_CUT ) > 0 || damage_melee( DT_STAB ) > 0 || type->m_to_hit > 0 ) ) ) { - damage_instance non_crit; - g->u.roll_all_damage( false, non_crit, true, *this ); - damage_instance crit; - g->u.roll_all_damage( true, crit, true, *this ); - int attack_cost = g->u.attack_speed( *this ); - insert_separation_line(); - if( parts->test( iteminfo_parts::DESCRIPTION_MELEEDMG ) ) { - info.push_back( iteminfo( "DESCRIPTION", _( "Average melee damage:" ) ) ); - } - if( parts->test( iteminfo_parts::DESCRIPTION_MELEEDMG_CRIT ) ) { - info.push_back( iteminfo( "DESCRIPTION", - string_format( _( "Critical hit chance %d%% - %d%%" ), - static_cast( g->u.crit_chance( 0, 100, *this ) * 100 ), - static_cast( g->u.crit_chance( 100, 0, *this ) * 100 ) ) ) ); - } - if( parts->test( iteminfo_parts::DESCRIPTION_MELEEDMG_BASH ) ) { - info.push_back( iteminfo( "DESCRIPTION", - string_format( _( "%d bashing (%d on a critical hit)" ), - static_cast( non_crit.type_damage( DT_BASH ) ), - static_cast( crit.type_damage( DT_BASH ) ) ) ) ); - } - if( ( non_crit.type_damage( DT_CUT ) > 0.0f || crit.type_damage( DT_CUT ) > 0.0f ) - && parts->test( iteminfo_parts::DESCRIPTION_MELEEDMG_CUT ) ) { - info.push_back( iteminfo( "DESCRIPTION", - string_format( _( "%d cutting (%d on a critical hit)" ), - static_cast( non_crit.type_damage( DT_CUT ) ), - static_cast( crit.type_damage( DT_CUT ) ) ) ) ); - } - if( ( non_crit.type_damage( DT_STAB ) > 0.0f || crit.type_damage( DT_STAB ) > 0.0f ) - && parts->test( iteminfo_parts::DESCRIPTION_MELEEDMG_PIERCE ) ) { - info.push_back( iteminfo( "DESCRIPTION", - string_format( _( "%d piercing (%d on a critical hit)" ), - static_cast( non_crit.type_damage( DT_STAB ) ), - static_cast( crit.type_damage( DT_STAB ) ) ) ) ); - } - if( parts->test( iteminfo_parts::DESCRIPTION_MELEEDMG_MOVES ) ) { - info.push_back( iteminfo( "DESCRIPTION", - string_format( _( "%d moves per attack" ), attack_cost ) ) ); - } + if( has_flag( "RADIO_INVOKE_PROC" ) && + parts->test( iteminfo_parts::DESCRIPTION_RADIO_ACTIVATION_PROC ) ) { + info.emplace_back( "DESCRIPTION", + _( "* Activating this item with a radio signal will " + "detonate it immediately." ) ); } + } - //lets display which martial arts styles character can use with this weapon - if( parts->test( iteminfo_parts::DESCRIPTION_APPLICABLEMARTIALARTS ) ) { - const std::vector &styles = g->u.ma_styles; - const std::string valid_styles = enumerate_as_string( styles.begin(), styles.end(), - [this]( const matype_id & mid ) { - return mid.obj().has_weapon( typeId() ) ? mid.obj().name.translated() : std::string(); - } ); - if( !valid_styles.empty() ) { - insert_separation_line(); - info.push_back( iteminfo( "DESCRIPTION", - std::string( _( "You know how to use this with these martial arts styles: " ) ) + - valid_styles ) ); - } + // TODO: Unhide when enforcing limits + if( is_bionic() ) { + if( get_option < bool >( "CBM_SLOTS_ENABLED" ) + && parts->test( iteminfo_parts::DESCRIPTION_CBM_SLOTS ) ) { + info.push_back( iteminfo( "DESCRIPTION", list_occupied_bps( type->bionic->id, + _( "This bionic is installed in the following body " + "part(s):" ) ) ) ); } + insert_separation_line( info ); - if( parts->test( iteminfo_parts::DESCRIPTION_USE_METHODS ) ) { - for( const std::pair &method : type->use_methods ) { - insert_separation_line(); - method.second.dump_info( *this, info ); - } + const bionic_id bid = type->bionic->id; + + const std::vector &fuels = bid->fuel_opts; + if( !fuels.empty() ) { + const int &fuel_numb = fuels.size(); + + info.push_back( iteminfo( "DESCRIPTION", + ngettext( "* This bionic can produce power from the following fuel: ", + "* This bionic can produce power from the following fuels: ", + fuel_numb ) + enumerate_as_string( fuels.begin(), + fuels.end(), []( const itype_id & id ) -> std::string { return "" + item_controller->find_template( id )->nname( 1 ) + ""; } ) ) ); } - if( parts->test( iteminfo_parts::DESCRIPTION_REPAIREDWITH ) ) { - insert_separation_line(); + insert_separation_line( info ); - const std::set &rep = repaired_with(); + if( bid->capacity > 0_mJ ) { + info.push_back( iteminfo( "CBM", _( "Power Capacity:" ), _( " mJ" ), + iteminfo::no_newline, + units::to_millijoule( bid->capacity ) ) ); + } - if( !rep.empty() ) { - info.emplace_back( "DESCRIPTION", _( "Repaired with: " ) + - enumerate_as_string( rep.begin(), rep.end(), []( const itype_id & e ) { - return nname( e ); - }, enumeration_conjunction::or_ ) ); - insert_separation_line(); - if( reinforceable() ) { - info.emplace_back( "DESCRIPTION", _( "* This item can be reinforced." ) ); - } + insert_separation_line( info ); - } else { - info.emplace_back( "DESCRIPTION", _( "* This item is not repairable." ) ); + if( !bid->encumbrance.empty() ) { + info.push_back( iteminfo( "DESCRIPTION", _( "Encumbrance: " ), + iteminfo::no_newline ) ); + for( const auto &element : bid->encumbrance ) { + info.push_back( iteminfo( "CBM", body_part_name_as_heading( element.first, 1 ), + " ", iteminfo::no_newline, element.second ) ); } } - if( parts->test( iteminfo_parts::DESCRIPTION_CONDUCTIVITY ) ) { - if( !conductive() ) { - info.push_back( iteminfo( "BASE", _( "* This item does not conduct electricity." ) ) ); - } else if( has_flag( "CONDUCTIVE" ) ) { - info.push_back( iteminfo( "BASE", - _( "* This item effectively conducts electricity, as it has no guard." ) ) ); - } else { - info.push_back( iteminfo( "BASE", _( "* This item conducts electricity." ) ) ); + if( !bid->env_protec.empty() ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "Environmental Protection: " ), + iteminfo::no_newline ) ); + for( const auto &element : bid->env_protec ) { + info.push_back( iteminfo( "CBM", body_part_name_as_heading( element.first, 1 ), + " ", iteminfo::no_newline, element.second ) ); } } - bool anyFlags = ( *parts & iteminfo_query::anyflags ).any(); - if( anyFlags ) { - insert_separation_line(); + if( !bid->stat_bonus.empty() ) { + info.push_back( iteminfo( "DESCRIPTION", _( "Stat Bonus: " ), + iteminfo::no_newline ) ); + for( const auto &element : bid->stat_bonus ) { + info.push_back( iteminfo( "CBM", get_stat_name( element.first ), " ", + iteminfo::no_newline, element.second ) ); + } } - if( is_armor() && u.has_trait( trait_id( "WOOLALLERGY" ) ) && ( made_of( material_id( "wool" ) ) || - item_tags.count( "wooled" ) ) ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing will give you an allergic reaction." ) ) ); + const units::mass weight_bonus = bid->weight_capacity_bonus; + const float weight_modif = bid->weight_capacity_modifier; + if( weight_modif != 1 ) { + std::string modifier; + if( weight_modif < 1 ) { + modifier = "x"; + } else { + modifier = "x"; + } + info.push_back( iteminfo( "CBM", + _( "Weight capacity modifier: " ), modifier, + iteminfo::no_newline | iteminfo::is_decimal, + weight_modif ) ); } - - if( parts->test( iteminfo_parts::DESCRIPTION_FLAGS ) ) { - // concatenate base and acquired flags... - std::vector flags; - std::set_union( type->item_tags.begin(), type->item_tags.end(), - item_tags.begin(), item_tags.end(), - std::back_inserter( flags ) ); - - // ...and display those which have an info description - for( const std::string &e : flags ) { - const json_flag &f = json_flag::get( e ); - if( !f.info().empty() ) { - info.emplace_back( "DESCRIPTION", string_format( "* %s", _( f.info() ) ) ); - } + if( weight_bonus != 0_gram ) { + std::string bonus; + if( weight_bonus < 0_gram ) { + bonus = string_format( " %s", weight_units() ); + } else { + bonus = string_format( " %s", weight_units() ); } + info.push_back( iteminfo( "CBM", _( "Weight capacity bonus: " ), bonus, + iteminfo::no_newline | iteminfo::is_decimal, + convert_weight( weight_bonus ) ) ); } + } - if( is_armor() ) { - if( has_flag( "HELMET_COMPAT" ) && parts->test( iteminfo_parts::DESCRIPTION_FLAGS_HELMETCOMPAT ) ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This item can be worn with a helmet." ) ) ); - } + if( is_gun() && has_flag( "FIRE_TWOHAND" ) && + parts->test( iteminfo_parts::DESCRIPTION_TWOHANDED ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "* This weapon needs two free hands " + "to fire." ) ) ); + } - if( parts->test( iteminfo_parts::DESCRIPTION_FLAGS_FITS ) ) { - if( has_flag( "FIT" ) ) { - if( sizing_level == sizing::human_sized_human_char ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing fits you perfectly." ) ) ); - } else if( sizing_level == sizing::big_sized_big_char ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing fits your large frame perfectly." ) ) ); - } else if( sizing_level == sizing::small_sized_small_char ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing fits your small frame perfectly." ) ) ); - } - } + if( is_gunmod() && has_flag( "DISABLE_SIGHTS" ) && + parts->test( iteminfo_parts::DESCRIPTION_GUNMOD_DISABLESSIGHTS ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "* This mod obscures sights of the " + "base weapon." ) ) ); + } - if( sizing_level == sizing::big_sized_human_char ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing is oversized and does not fit you." ) ) ); - } else if( sizing_level == sizing::big_sized_small_char ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing is hilariously oversized and does not fit your abnormally small mutated anatomy." ) ) ); - } else if( sizing_level == sizing::human_sized_big_char ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing is normal sized and does not fit your abnormally large mutated anatomy." ) ) ); - } else if( sizing_level == sizing::human_sized_small_char ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing is normal sized and does not fit your abnormally small mutated anatomy." ) ) ); - } else if( sizing_level == sizing::small_sized_big_char ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing is hilariously undersized and does not fit your abnormally large mutated anatomy." ) ) ); - } else if( sizing_level == sizing::small_sized_human_char ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing is undersized and does not fit you." ) ) ); - } - } + if( is_gunmod() && has_flag( "CONSUMABLE" ) && + parts->test( iteminfo_parts::DESCRIPTION_GUNMOD_CONSUMABLE ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "* This mod might suffer wear when firing " + "the base weapon." ) ) ); + } - if( parts->test( iteminfo_parts::DESCRIPTION_FLAGS_VARSIZE ) ) { - if( has_flag( "VARSIZE" ) ) { - if( has_flag( "FIT" ) ) { - if( sizing_level == sizing::small_sized_human_char ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing can be upsized." ) ) ); - } else if( sizing_level == sizing::human_sized_small_char ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing can be downsized." ) ) ); - } else if( sizing_level == sizing::big_sized_human_char || - sizing_level == sizing::big_sized_small_char ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing can not be downsized." ) ) ); - } else if( sizing_level == sizing::small_sized_big_char || - sizing_level == sizing::human_sized_big_char ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing can not be upsized." ) ) ); - } - } else { - if( sizing_level == sizing::small_sized_human_char ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing can be refitted and upsized." ) ) ); - } else if( sizing_level == sizing::human_sized_small_char ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing can be refitted and downsized." ) ) ); - } else if( sizing_level == sizing::big_sized_human_char || - sizing_level == sizing::big_sized_small_char ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing can be refitted but not downsized." ) ) ); - } else if( sizing_level == sizing::small_sized_big_char || - sizing_level == sizing::human_sized_big_char ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing can be refitted but not upsized." ) ) ); - } else { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing can be refitted." ) ) ); - } - } - } else { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This clothing can not be refitted, upsized, or downsized." ) ) ); - } - } + if( has_flag( "LEAK_DAM" ) && has_flag( "RADIOACTIVE" ) && damage() > 0 + && parts->test( iteminfo_parts::DESCRIPTION_RADIOACTIVITY_DAMAGED ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "* The casing of this item has cracked, " + "revealing an ominous green glow." ) ) ); + } - if( is_sided() && parts->test( iteminfo_parts::DESCRIPTION_FLAGS_SIDED ) ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This item can be worn on either side of the body." ) ) ); - } - if( is_power_armor() && parts->test( iteminfo_parts::DESCRIPTION_FLAGS_POWERARMOR ) ) { + if( has_flag( "LEAK_ALWAYS" ) && has_flag( "RADIOACTIVE" ) && + parts->test( iteminfo_parts::DESCRIPTION_RADIOACTIVITY_ALWAYS ) ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "* This object is surrounded by a " + "sickly green glow." ) ) ); + } + + if( is_brewable() || ( !contents.empty() && contents.front().is_brewable() ) ) { + const item &brewed = !is_brewable() ? contents.front() : *this; + if( parts->test( iteminfo_parts::DESCRIPTION_BREWABLE_DURATION ) ) { + const time_duration btime = brewed.brewing_time(); + int btime_i = to_days( btime ); + if( btime <= 2_days ) { + btime_i = to_hours( btime ); info.push_back( iteminfo( "DESCRIPTION", - _( "* This gear is a part of power armor." ) ) ); - if( parts->test( iteminfo_parts::DESCRIPTION_FLAGS_POWERARMOR_RADIATIONHINT ) ) { - if( covers( bp_head ) ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* When worn with a power armor suit, it will fully protect you from radiation." ) ) ); - } else { - info.push_back( iteminfo( "DESCRIPTION", - _( "* When worn with a power armor helmet, it will fully protect you from radiation." ) ) ); - } - } - } - if( typeId() == "rad_badge" && parts->test( iteminfo_parts::DESCRIPTION_IRRADIATION ) ) { + string_format( ngettext( "* Once set in a vat, this " + "will ferment in around %d hour.", + "* Once set in a vat, this will ferment in " + "around %d hours.", btime_i ), btime_i ) ) ); + } else { info.push_back( iteminfo( "DESCRIPTION", - string_format( _( "* The film strip on the badge is %s." ), - rad_badge_color( irradiation ) ) ) ); + string_format( ngettext( "* Once set in a vat, this " + "will ferment in around %d day.", + "* Once set in a vat, this will ferment in " + "around %d days.", btime_i ), btime_i ) ) ); } } - - if( is_tool() ) { - if( has_flag( "USE_UPS" ) && parts->test( iteminfo_parts::DESCRIPTION_RECHARGE_UPSMODDED ) ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This tool has been modified to use a universal power supply and is not compatible with standard batteries." ) ) ); - } else if( has_flag( "RECHARGE" ) && has_flag( "NO_RELOAD" ) && - parts->test( iteminfo_parts::DESCRIPTION_RECHARGE_NORELOAD ) ) { + if( parts->test( iteminfo_parts::DESCRIPTION_BREWABLE_PRODUCTS ) ) { + for( const std::string &res : brewed.brewing_results() ) { info.push_back( iteminfo( "DESCRIPTION", - _( "* This tool has a rechargeable power cell and is not compatible with standard batteries." ) ) ); - } else if( has_flag( "RECHARGE" ) && - parts->test( iteminfo_parts::DESCRIPTION_RECHARGE_UPSCAPABLE ) ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This tool has a rechargeable power cell and can be recharged in any UPS-compatible recharging station. You could charge it with standard batteries, but unloading it is impossible." ) ) ); - } else if( has_flag( "USES_BIONIC_POWER" ) ) { - info.emplace_back( "DESCRIPTION", - _( "* This tool runs on bionic power." ) ); + string_format( _( "* Fermenting this will produce " + "%s." ), + nname( res, brewed.charges ) ) ) ); } } + } - if( has_flag( "RADIO_ACTIVATION" ) && - parts->test( iteminfo_parts::DESCRIPTION_RADIO_ACTIVATION ) ) { - if( has_flag( "RADIO_MOD" ) ) { - info.emplace_back( "DESCRIPTION", - _( "* This item has been modified to listen to radio signals. It can still be activated manually." ) ); - } else { - info.emplace_back( "DESCRIPTION", - _( "* This item can only be activated by a radio signal." ) ); - } - - std::string signame; - if( has_flag( "RADIOSIGNAL_1" ) ) { - signame = "red radio signal."; - } else if( has_flag( "RADIOSIGNAL_2" ) ) { - signame = "blue radio signal."; - } else if( has_flag( "RADIOSIGNAL_3" ) ) { - signame = "green radio signal."; - } - if( parts->test( iteminfo_parts::DESCRIPTION_RADIO_ACTIVATION_CHANNEL ) ) { - info.emplace_back( "DESCRIPTION", string_format( _( "* It will be activated by the %s." ), - signame ) ); - } - - if( has_flag( "RADIO_INVOKE_PROC" ) && - parts->test( iteminfo_parts::DESCRIPTION_RADIO_ACTIVATION_PROC ) ) { - info.emplace_back( "DESCRIPTION", - _( "* Activating this item with a radio signal will detonate it immediately." ) ); - } + if( parts->test( iteminfo_parts::DESCRIPTION_FAULTS ) ) { + for( const fault_id &e : faults ) { + //~ %1$s is the name of a fault and %2$s is the description of the fault + info.emplace_back( "DESCRIPTION", string_format( _( "* %1$s. %2$s" ), + e.obj().name(), e.obj().description() ) ); } + } - // TODO: Unhide when enforcing limits - if( is_bionic() ) { - if( get_option < bool >( "CBM_SLOTS_ENABLED" ) - && parts->test( iteminfo_parts::DESCRIPTION_CBM_SLOTS ) ) { - info.push_back( iteminfo( "DESCRIPTION", list_occupied_bps( type->bionic->id, - _( "This bionic is installed in the following body part(s):" ) ) ) ); - } - insert_separation_line(); - - const bionic_id bid = type->bionic->id; + // does the item fit in any holsters? + std::vector holsters = Item_factory::find( [this]( const itype & e ) { + if( !e.can_use( "holster" ) ) { + return false; + } + const holster_actor *ptr = dynamic_cast + ( e.get_use( "holster" )->get_actor_ptr() ); + return ptr->can_holster( *this ); + } ); - if( !bid->encumbrance.empty() ) { - info.push_back( iteminfo( "DESCRIPTION", _( "Encumbrance: " ), - iteminfo::no_newline ) ); - for( const auto &element : bid->encumbrance ) { - info.push_back( iteminfo( "CBM", body_part_name_as_heading( element.first, 1 ), " ", - iteminfo::no_newline, element.second ) ); - } + if( !holsters.empty() && parts->test( iteminfo_parts::DESCRIPTION_HOLSTERS ) ) { + insert_separation_line( info ); + info.emplace_back( "DESCRIPTION", _( "Can be stored in: " ) + + enumerate_as_string( holsters.begin(), holsters.end(), + []( const itype * e ) { + return e->nname( 1 ); + } ) ); + } + if( parts->test( iteminfo_parts::DESCRIPTION_ACTIVATABLE_TRANSFORMATION ) ) { + for( auto &u : type->use_methods ) { + const delayed_transform_iuse *tt = dynamic_cast + ( u.second.get_actor_ptr() ); + if( tt == nullptr ) { + continue; } - - if( !bid->env_protec.empty() ) { - info.push_back( iteminfo( "DESCRIPTION", _( "Environmental Protection: " ), - iteminfo::no_newline ) ); - for( const auto &element : bid->env_protec ) { - info.push_back( iteminfo( "CBM", body_part_name_as_heading( element.first, 1 ), " ", - iteminfo::no_newline, element.second ) ); - } - + const int time_to_do = tt->time_to_do( *this ); + if( time_to_do <= 0 ) { + info.push_back( iteminfo( "DESCRIPTION", + _( "It's done and can be activated." ) ) ); + } else { + const std::string time = to_string_clipped( time_duration::from_turns( time_to_do ) ); + info.push_back( iteminfo( "DESCRIPTION", + string_format( _( "It will be done in %s." ), + time.c_str() ) ) ); } + } + } - if( !bid->stat_bonus.empty() ) { - info.push_back( iteminfo( "DESCRIPTION", _( "Stat Bonus: " ), - iteminfo::no_newline ) ); - for( const auto &element : bid->stat_bonus ) { - info.push_back( iteminfo( "CBM", get_stat_name( element.first ), " ", iteminfo::no_newline, - element.second ) ); - } + std::map::const_iterator item_note = item_vars.find( "item_note" ); + std::map::const_iterator item_note_tool = + item_vars.find( "item_note_tool" ); - } + if( item_note != item_vars.end() && parts->test( iteminfo_parts::DESCRIPTION_NOTES ) ) { + insert_separation_line( info ); + std::string ntext; + const use_function *use_func = item_note_tool != item_vars.end() ? + item_controller->find_template( item_note_tool->second )->get_use( "inscribe" ) : nullptr; + const inscribe_actor *use_actor = use_func ? + dynamic_cast( use_func->get_actor_ptr() ) : nullptr; + if( use_actor ) { + //~ %1$s: gerund (e.g. carved), %2$s: item name, %3$s: inscription text + ntext = string_format( pgettext( "carving", "%1$s on the %2$s is: %3$s" ), + use_actor->gerund, tname(), item_note->second ); + } else { + //~ %1$s: inscription text + ntext = string_format( pgettext( "carving", "Note: %1$s" ), item_note->second ); + } + info.push_back( iteminfo( "DESCRIPTION", ntext ) ); + } - const units::mass weight_bonus = bid->weight_capacity_bonus; - const float weight_modif = bid->weight_capacity_modifier; - if( weight_modif != 1 ) { - std::string modifier; - if( weight_modif < 1 ) { - modifier = "x"; + // describe contents + if( !contents.empty() && parts->test( iteminfo_parts::DESCRIPTION_CONTENTS ) ) { + for( const item *mod : is_gun() ? gunmods() : toolmods() ) { + std::string mod_str; + if( mod->type->gunmod ) { + if( mod->is_irremovable() ) { + mod_str = _( "Integrated mod: " ); } else { - modifier = "x"; + mod_str = _( "Mod: " ); } - info.push_back( iteminfo( "CBM", - _( "Weight capacity modifier: " ), modifier, - iteminfo::no_newline | iteminfo::is_decimal, weight_modif ) ); - } - if( weight_bonus != 0_gram ) { - std::string bonus; - if( weight_bonus < 0_gram ) { - bonus = string_format( " %s", weight_units() ); + mod_str += string_format( "%s (%s) ", mod->tname(), + mod->type->gunmod->location.name() ); + } + insert_separation_line( info ); + info.emplace_back( "DESCRIPTION", mod_str ); + info.emplace_back( "DESCRIPTION", mod->type->description.translated() ); + } + bool contents_header = false; + for( const item &contents_item : contents ) { + if( !contents_item.type->mod ) { + if( !contents_header ) { + insert_separation_line( info ); + info.emplace_back( "DESCRIPTION", _( "Contents of this item:" ) ); + contents_header = true; } else { - bonus = string_format( " %s", weight_units() ); + // Separate items with a blank line + info.emplace_back( "DESCRIPTION", space ); } - info.push_back( iteminfo( "CBM", _( "Weight capacity bonus: " ), bonus, - iteminfo::no_newline | iteminfo::is_decimal, convert_weight( weight_bonus ) ) ); - } - - } - - if( is_gun() && has_flag( "FIRE_TWOHAND" ) && - parts->test( iteminfo_parts::DESCRIPTION_TWOHANDED ) ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This weapon needs two free hands to fire." ) ) ); - } - if( is_gunmod() && has_flag( "DISABLE_SIGHTS" ) && - parts->test( iteminfo_parts::DESCRIPTION_GUNMOD_DISABLESSIGHTS ) ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This mod obscures sights of the base weapon." ) ) ); + const translation &description = contents_item.type->description; + + if( contents_item.made_of_from_type( LIQUID ) ) { + units::volume contents_volume = contents_item.volume() * batch; + int converted_volume_scale = 0; + const double converted_volume = + round_up( convert_volume( contents_volume.value(), + &converted_volume_scale ), 2 ); + info.emplace_back( "DESCRIPTION", contents_item.display_name() ); + iteminfo::flags f = iteminfo::no_newline; + if( converted_volume_scale != 0 ) { + f |= iteminfo::is_decimal; + } + info.emplace_back( "CONTAINER", description + space, + string_format( " %s", volume_units_abbr() ), f, + converted_volume ); + } else { + info.emplace_back( "DESCRIPTION", contents_item.display_name() ); + info.emplace_back( "DESCRIPTION", description.translated() ); + } + } } + } + if( this->get_var( "die_num_sides", 0 ) != 0 ) { + info.emplace_back( "DESCRIPTION", + string_format( _( "* This item can be used as a die, " + "and has %d sides." ), + static_cast( this->get_var( "die_num_sides", + 0 ) ) ) ); + } - if( is_gunmod() && has_flag( "CONSUMABLE" ) && - parts->test( iteminfo_parts::DESCRIPTION_GUNMOD_CONSUMABLE ) ) { - info.push_back( iteminfo( "DESCRIPTION", - _( "* This mod might suffer wear when firing the base weapon." ) ) ); - } + // list recipes you could use it in + itype_id tid; + if( contents.empty() ) { // use this item + tid = typeId(); + } else { // use the contained item + tid = contents.front().typeId(); + } + const std::set &known_recipes = g->u.get_learned_recipes().of_component( tid ); + if( !known_recipes.empty() && parts->test( iteminfo_parts::DESCRIPTION_APPLICABLE_RECIPES ) ) { + const inventory &inv = g->u.crafting_inventory(); - if( has_flag( "LEAK_DAM" ) && has_flag( "RADIOACTIVE" ) && damage() > 0 - && parts->test( iteminfo_parts::DESCRIPTION_RADIOACTIVITY_DAMAGED ) ) { + if( known_recipes.size() > 24 ) { + insert_separation_line( info ); info.push_back( iteminfo( "DESCRIPTION", - _( "* The casing of this item has cracked, revealing an ominous green glow." ) ) ); - } - - if( has_flag( "LEAK_ALWAYS" ) && has_flag( "RADIOACTIVE" ) && - parts->test( iteminfo_parts::DESCRIPTION_RADIOACTIVITY_ALWAYS ) ) { + _( "You know dozens of things you could craft with it." ) ) ); + } else if( known_recipes.size() > 12 ) { + insert_separation_line( info ); info.push_back( iteminfo( "DESCRIPTION", - _( "* This object is surrounded by a sickly green glow." ) ) ); - } - - if( is_brewable() || ( !contents.empty() && contents.front().is_brewable() ) ) { - const item &brewed = !is_brewable() ? contents.front() : *this; - if( parts->test( iteminfo_parts::DESCRIPTION_BREWABLE_DURATION ) ) { - const time_duration btime = brewed.brewing_time(); - if( btime <= 2_days ) { - info.push_back( iteminfo( "DESCRIPTION", - string_format( ngettext( "* Once set in a vat, this will ferment in around %d hour.", - "* Once set in a vat, this will ferment in around %d hours.", to_hours( btime ) ), - to_hours( btime ) ) ) ); + _( "You could use it to craft various other things." ) ) ); + } else { + const std::string recipes = enumerate_as_string( known_recipes.begin(), known_recipes.end(), + [ &inv ]( const recipe * r ) { + if( r->requirements().can_make_with_inventory( inv, r->get_component_filter() ) ) { + return r->result_name(); } else { - info.push_back( iteminfo( "DESCRIPTION", - string_format( ngettext( "* Once set in a vat, this will ferment in around %d day.", - "* Once set in a vat, this will ferment in around %d days.", to_days( btime ) ), - to_days( btime ) ) ) ); - } - } - - if( parts->test( iteminfo_parts::DESCRIPTION_BREWABLE_PRODUCTS ) ) { - for( const std::string &res : brewed.brewing_results() ) { - info.push_back( iteminfo( "DESCRIPTION", - string_format( _( "* Fermenting this will produce %s." ), - nname( res, brewed.charges ) ) ) ); + return string_format( "%s", r->result_name() ); } + } ); + if( !recipes.empty() ) { + insert_separation_line( info ); + info.push_back( iteminfo( "DESCRIPTION", + string_format( _( "You could use it to craft: %s" ), + recipes ) ) ); } } + } +} - if( parts->test( iteminfo_parts::DESCRIPTION_FAULTS ) ) { - for( const fault_id &e : faults ) { - //~ %1$s is the name of a fault and %2$s is the description of the fault - info.emplace_back( "DESCRIPTION", string_format( _( "* %1$s. %2$s" ), - e.obj().name(), e.obj().description() ) ); - } - } +std::string item::info( std::vector &info, const iteminfo_query *parts, int batch ) const +{ + const bool debug = g != nullptr && debug_mode; - // does the item fit in any holsters? - std::vector holsters = Item_factory::find( [this]( const itype & e ) { - if( !e.can_use( "holster" ) ) { - return false; - } - const holster_actor *ptr = dynamic_cast - ( e.get_use( "holster" )->get_actor_ptr() ); - return ptr->can_holster( *this ); - } ); + if( parts == nullptr ) { + parts = &iteminfo_query::all; + } - if( !holsters.empty() && parts->test( iteminfo_parts::DESCRIPTION_HOLSTERS ) ) { - insert_separation_line(); - info.emplace_back( "DESCRIPTION", _( "Can be stored in: " ) + - enumerate_as_string( holsters.begin(), holsters.end(), - []( const itype * e ) { - return e->nname( 1 ); - } ) ); - } + info.clear(); - if( parts->test( iteminfo_parts::DESCRIPTION_ACTIVATABLE_TRANSFORMATION ) ) { - for( auto &u : type->use_methods ) { - const delayed_transform_iuse *tt = dynamic_cast - ( u.second.get_actor_ptr() ); - if( tt == nullptr ) { - continue; - } - const int time_to_do = tt->time_to_do( *this ); - if( time_to_do <= 0 ) { - info.push_back( iteminfo( "DESCRIPTION", _( "It's done and can be activated." ) ) ); - } else { - const std::string time = to_string_clipped( time_duration::from_turns( time_to_do ) ); - info.push_back( iteminfo( "DESCRIPTION", string_format( _( "It will be done in %s." ), - time.c_str() ) ) ); - } - } - } + if( !is_null() ) { + basic_info( info, parts, batch, debug ); + } - std::map::const_iterator item_note = item_vars.find( "item_note" ); - std::map::const_iterator item_note_tool = - item_vars.find( "item_note_tool" ); + const item *med_item = nullptr; + if( is_medication() ) { + med_item = this; + } else if( is_med_container() ) { + med_item = &contents.front(); + } + if( med_item != nullptr ) { + med_info( med_item, info, parts, batch, debug ); + } - if( item_note != item_vars.end() && parts->test( iteminfo_parts::DESCRIPTION_NOTES ) ) { - insert_separation_line(); - std::string ntext; - const use_function *use_func = item_note_tool != item_vars.end() ? - item_controller->find_template( item_note_tool->second )->get_use( "inscribe" ) : nullptr; - const inscribe_actor *use_actor = use_func ? - dynamic_cast( use_func->get_actor_ptr() ) : nullptr; - if( use_actor ) { - //~ %1$s: gerund (e.g. carved), %2$s: item name, %3$s: inscription text - ntext = string_format( pgettext( "carving", "%1$s on the %2$s is: %3$s" ), - use_actor->gerund, tname(), item_note->second ); - } else { - //~ %1$s: inscription text - ntext = string_format( pgettext( "carving", "Note: %1$s" ), item_note->second ); - } - info.push_back( iteminfo( "DESCRIPTION", ntext ) ); - } + const item *food_item = nullptr; + if( is_food() ) { + food_item = this; + } else if( is_food_container() ) { + food_item = &contents.front(); + } + if( food_item != nullptr ) { + food_info( food_item, info, parts, batch, debug ); + } - // describe contents - if( !contents.empty() && parts->test( iteminfo_parts::DESCRIPTION_CONTENTS ) ) { - for( const item *mod : is_gun() ? gunmods() : toolmods() ) { - if( mod->type->gunmod ) { - temp1.str( "" ); - if( mod->is_irremovable() ) { - temp1 << _( "Integrated mod: " ); - } else { - temp1 << _( "Mod: " ); - } - temp1 << "" << mod->tname() << " (" << mod->type->gunmod->location.name() << ")"; - } - insert_separation_line(); - info.emplace_back( "DESCRIPTION", temp1.str() ); - info.emplace_back( "DESCRIPTION", mod->type->description.translated() ); - } - bool contents_header = false; - for( const item &contents_item : contents ) { - if( !contents_item.type->mod ) { - if( !contents_header ) { - insert_separation_line(); - info.emplace_back( "DESCRIPTION", _( "Contents of this item:" ) ); - contents_header = true; - } else { - // Separate items with a blank line - info.emplace_back( "DESCRIPTION", space ); - } + magazine_info( info, parts, batch, debug ); + ammo_info( info, parts, batch, debug ); - const translation &description = contents_item.type->description; - - if( contents_item.made_of_from_type( LIQUID ) ) { - units::volume contents_volume = contents_item.volume() * batch; - int converted_volume_scale = 0; - const double converted_volume = - round_up( convert_volume( contents_volume.value(), - &converted_volume_scale ), 2 ); - info.emplace_back( "DESCRIPTION", contents_item.display_name() ); - iteminfo::flags f = iteminfo::no_newline; - if( converted_volume_scale != 0 ) { - f |= iteminfo::is_decimal; - } - info.emplace_back( "CONTAINER", description + space, - string_format( " %s", volume_units_abbr() ), f, - converted_volume ); - } else { - info.emplace_back( "DESCRIPTION", contents_item.display_name() ); - info.emplace_back( "DESCRIPTION", description.translated() ); - } - } - } - } - if( this->get_var( "die_num_sides", 0 ) != 0 ) { + const item *gun = nullptr; + if( is_gun() ) { + gun = this; + const gun_mode aux = gun_current_mode(); + // if we have an active auxiliary gunmod display stats for this instead + if( aux && aux->is_gunmod() && aux->is_gun() && + parts->test( iteminfo_parts::DESCRIPTION_AUX_GUNMOD_HEADER ) ) { + gun = &*aux; info.emplace_back( "DESCRIPTION", - string_format( _( "* This item can be used as a die, and has %d sides." ), - static_cast( this->get_var( "die_num_sides", 0 ) ) ) ); + string_format( _( "Stats of the active gunmod (%s) " + "are shown." ), gun->tname() ) ); } + } + if( gun != nullptr ) { + gun_info( gun, info, parts, batch, debug ); + } - // list recipes you could use it in - itype_id tid; - if( contents.empty() ) { // use this item - tid = typeId(); - } else { // use the contained item - tid = contents.front().typeId(); - } - const std::set &known_recipes = g->u.get_learned_recipes().of_component( tid ); - if( !known_recipes.empty() && parts->test( iteminfo_parts::DESCRIPTION_APPLICABLE_RECIPES ) ) { - temp1.str( "" ); - const inventory &inv = g->u.crafting_inventory(); + gunmod_info( info, parts, batch, debug ); + armor_info( info, parts, batch, debug ); + book_info( info, parts, batch, debug ); + container_info( info, parts, batch, debug ); + battery_info( info, parts, batch, debug ); + tool_info( info, parts, batch, debug ); + component_info( info, parts, batch, debug ); + disassembly_info( info, parts, batch, debug ); + qualities_info( info, parts, batch, debug ); - if( known_recipes.size() > 24 ) { - insert_separation_line(); - info.push_back( iteminfo( "DESCRIPTION", - _( "You know dozens of things you could craft with it." ) ) ); - } else if( known_recipes.size() > 12 ) { - insert_separation_line(); - info.push_back( iteminfo( "DESCRIPTION", _( "You could use it to craft various other things." ) ) ); - } else { - const std::string recipes = enumerate_as_string( known_recipes.begin(), known_recipes.end(), - [ &inv ]( const recipe * r ) { - if( r->requirements().can_make_with_inventory( inv, r->get_component_filter() ) ) { - return r->result_name(); - } else { - return string_format( "%s", r->result_name() ); - } - } ); - if( !recipes.empty() ) { - insert_separation_line(); - info.push_back( iteminfo( "DESCRIPTION", string_format( _( "You could use it to craft: %s" ), - recipes.c_str() ) ) ); - } - } - } - } + final_info( info, parts, batch, debug ); if( !info.empty() && info.back().sName == "--" ) { info.pop_back(); @@ -3115,11 +3354,11 @@ nc_color item::color_in_inventory() const ret = c_red; } else if( is_filthy() || item_tags.count( "DIRTY" ) ) { ret = c_brown; - } else if( is_bionic() && !has_flag( "NO_STERILE" ) ) { - if( !has_flag( "NO_PACKED" ) ) { + } else if( is_bionic() ) { + if( !u.has_bionic( type->bionic->id ) ) { + ret = u.bionic_installation_issues( type->bionic->id ).empty() ? c_green : c_red; + } else if( !has_flag( "NO_STERILE" ) ) { ret = c_dark_gray; - } else { - ret = c_cyan; } } else if( has_flag( "LEAK_DAM" ) && has_flag( "RADIOACTIVE" ) && damage() > 0 ) { ret = c_light_green; @@ -3229,7 +3468,7 @@ nc_color item::color_in_inventory() const u.get_skill_level( tmp.skill ) < tmp.level ) { ret = c_light_blue; } else if( type->can_use( "MA_MANUAL" ) && - !u.has_martialart( martial_art_learned_from( *type ) ) ) { + !u.martial_arts_data.has_martialart( martial_art_learned_from( *type ) ) ) { ret = c_light_blue; } else if( tmp.skill && // Book can't improve skill right now, but maybe later: pink u.get_skill_level_object( tmp.skill ).can_train() && @@ -3242,10 +3481,6 @@ nc_color item::color_in_inventory() const } else { ret = c_red; // Book hasn't been identified yet: red } - } else if( is_bionic() ) { - if( !u.has_bionic( type->bionic->id ) ) { - ret = u.bionic_installation_issues( type->bionic->id ).empty() ? c_green : c_red; - } } return ret; } @@ -3345,8 +3580,8 @@ void item::on_wield( player &p, int mv ) } p.add_msg_if_player( m_neutral, msg, tname() ); - if( p.style_selected != matype_id( "style_none" ) ) { - p.martialart_use_message(); + if( !p.martial_arts_data.selected_is_none() ) { + p.martial_arts_data.martialart_use_message( p ); } // Update encumbrance in case we were wearing it @@ -3473,12 +3708,19 @@ std::string item::tname( unsigned int quantity, bool with_prefix, unsigned int t with_prefix ) { damtext = durability_indicator(); if( get_option( "ITEM_HEALTH_BAR" ) ) { - truncate_override = damtext.length() - 3; + // get the utf8 width of the tags + truncate_override = utf8_width( damtext, false ) - utf8_width( damtext, true ); } } if( !faults.empty() ) { - if( ( item::has_fault( fault_gun_blackpowder ) || item::has_fault( fault_gun_dirt ) ) && - faults.size() == 1 ) { + bool silent = true; + for( const auto &fault : faults ) { + if( !fault->has_flag( "SILENT" ) ) { + silent = false; + break; + } + } + if( silent ) { damtext.insert( 0, dirt_symbol ); } else { damtext.insert( 0, _( "faulty " ) + dirt_symbol ); @@ -3496,7 +3738,7 @@ std::string item::tname( unsigned int quantity, bool with_prefix, unsigned int t std::string burntext; if( with_prefix && !made_of_from_type( LIQUID ) ) { - if( volume() >= 1000_ml && burnt * 125_ml >= volume() ) { + if( volume() >= 1_liter && burnt * 125_ml >= volume() ) { burntext = pgettext( "burnt adjective", "badly burnt " ); } else if( burnt > 0 ) { burntext = pgettext( "burnt adjective", "burnt " ); @@ -3849,10 +4091,11 @@ units::mass item::weight( bool include_contents, bool integral ) const } units::mass ret; - if( integral ) { - ret = units::from_gram( get_var( "integral_weight", to_gram( type->integral_weight ) ) ); + std::string local_str_mass = integral ? get_var( "integral_weight" ) : get_var( "weight" ); + if( local_str_mass.empty() ) { + ret = integral ? type->integral_weight : type->weight; } else { - ret = units::from_gram( get_var( "weight", to_gram( type->weight ) ) ); + ret = units::from_milligram( std::stoll( local_str_mass ) ); } if( has_flag( "REDUCED_WEIGHT" ) ) { @@ -4399,9 +4642,9 @@ int item::spoilage_sort_order() } if( subject->get_comestible() ) { - if( subject->get_category().id() == "food" ) { + if( subject->get_category().get_id() == "food" ) { return bottom - 3; - } else if( subject->get_category().id() == "drugs" ) { + } else if( subject->get_category().get_id() == "drugs" ) { return bottom - 2; } else { return bottom - 1; @@ -5096,7 +5339,7 @@ std::string item::durability_indicator( bool include_intact ) const if( damage() < 0 ) { if( get_option( "ITEM_HEALTH_BAR" ) ) { - outputstring = colorize( damage_symbol() + " ", damage_color() ); + outputstring = colorize( damage_symbol() + "\u00A0", damage_color() ); } else if( is_gun() ) { outputstring = pgettext( "damage adjective", "accurized " ); } else { @@ -5120,7 +5363,7 @@ std::string item::durability_indicator( bool include_intact ) const } } } else if( get_option( "ITEM_HEALTH_BAR" ) ) { - outputstring = colorize( damage_symbol() + " ", damage_color() ); + outputstring = colorize( damage_symbol() + "\u00A0", damage_color() ); } else { outputstring = string_format( "%s ", get_base_material().dmg_adj( damage_level( 4 ) ) ); if( include_intact && outputstring == " " ) { @@ -5514,7 +5757,7 @@ bool item::is_book() const bool item::is_map() const { - return get_category().id() == "maps"; + return get_category().get_id() == "maps"; } bool item::is_container() const @@ -6085,7 +6328,10 @@ damage_instance item::gun_damage( bool with_ammo ) const if( item_damage > 0 ) { // TODO: This isn't a good solution for multi-damage guns/ammos for( damage_unit &du : ret ) { - du.amount -= item_damage * 2; + if( du.amount <= 1.0 ) { + continue; + } + du.amount = std::max( 1.0f, du.amount - item_damage * 2 ); } } @@ -6462,6 +6708,16 @@ bool item::magazine_integral() const itype_id item::magazine_default( bool conversion ) const { if( !ammo_types( conversion ).empty() ) { + if( conversion ) { + for( const item *m : is_gun() ? gunmods() : toolmods() ) { + if( !m->type->mod->magazine_adaptor.empty() ) { + auto mags = m->type->mod->magazine_adaptor.find( ammotype( *ammo_types( conversion ).begin() ) ); + if( mags != m->type->mod->magazine_adaptor.end() ) { + return *( mags->second.begin() ); + } + } + } + } auto mag = type->magazine_default.find( ammotype( *ammo_types( conversion ).begin() ) ); if( mag != type->magazine_default.end() ) { return mag->second; @@ -6968,19 +7224,19 @@ bool item::reload( player &u, item_location loc, int qty ) } else { if( ammo->has_flag( "SPEEDLOADER" ) ) { - curammo = find_type( ammo->contents.front().typeId() ); + curammo = ammo->contents.front().type; qty = std::min( qty, ammo->ammo_remaining() ); ammo->ammo_consume( qty, tripoint_zero ); charges += qty; } else if( ammo->ammo_type() == "plutonium" ) { - curammo = find_type( ammo->typeId() ); + curammo = ammo->type; ammo->charges -= qty; // any excess is wasted rather than overfilling the item charges += qty * PLUTONIUM_CHARGES; charges = std::min( charges, ammo_capacity() ); } else { - curammo = find_type( ammo->typeId() ); + curammo = ammo->type; qty = std::min( qty, ammo->charges ); ammo->charges -= qty; charges += qty; @@ -7067,11 +7323,7 @@ bool item::burn( fire_data &frd ) ( 3.0 * type->volume ) ); } - if( charges <= 0 ) { - return true; - } else { - return false; - } + return charges <= 0; } if( is_corpse() ) { @@ -7583,7 +7835,7 @@ bool item::use_charges( const itype_id &what, int &qty, std::list &used, return destroy; } -void item::set_snippet( const std::string &snippet_id ) +void item::set_snippet( const std::string &id ) { if( is_null() ) { return; @@ -7592,13 +7844,12 @@ void item::set_snippet( const std::string &snippet_id ) debugmsg( "can not set description for item %s without snippet category", typeId().c_str() ); return; } - const int hash = SNIPPET.get_snippet_by_id( snippet_id ); - if( SNIPPET.get( hash ).empty() ) { - debugmsg( "snippet id %s is not contained in snippet category %s", snippet_id.c_str(), - type->snippet_category.c_str() ); + if( !SNIPPET.get_snippet_by_id( id ).has_value() ) { + debugmsg( "snippet id %s is not contained in snippet category %s", id, + type->snippet_category ); return; } - note = hash; + snippet_id = id; } const item_category &item::get_category() const @@ -7608,7 +7859,7 @@ const item_category &item::get_category() const } static item_category null_category; - return type->category ? *type->category : null_category; + return type->category_force.is_valid() ? type->category_force.obj() : null_category; } iteminfo::iteminfo( const std::string &Type, const std::string &Name, const std::string &Fmt, @@ -7848,7 +8099,7 @@ void item::process_temperature_rot( float insulation, const tripoint &pos, temp = AVERAGE_ANNUAL_TEMPERATURE; break; default: - debugmsg( "Temperature flag enum not valid. Using current temperature." ); + debugmsg( "Temperature flag enum not valid. Using current temperature." ); } bool carried = carrier != nullptr && carrier->has_item( *this ); @@ -7919,7 +8170,7 @@ void item::process_temperature_rot( float insulation, const tripoint &pos, env_temperature = AVERAGE_ANNUAL_TEMPERATURE; break; default: - debugmsg( "Temperature flag enum not valid. Using normal temperature." ); + debugmsg( "Temperature flag enum not valid. Using normal temperature." ); } // Calculate item temperature from enviroment temperature @@ -8437,7 +8688,7 @@ bool item::process_extinguish( player *carrier, const tripoint &pos ) return false; } -cata::optional item::get_cable_target( player *p, const tripoint &pos ) const +cata::optional item::get_cable_target( Character *p, const tripoint &pos ) const { const std::string &state = get_var( "state" ); if( state != "pay_out_cable" && state != "cable_charger_link" ) { @@ -8611,7 +8862,9 @@ bool item::process_blackpowder_fouling( player *carrier ) { if( damage() < max_damage() && one_in( 2000 ) ) { inc_damage( DT_ACID ); - carrier->add_msg_if_player( m_bad, _( "Your %s rusts due to blackpowder fouling." ), tname() ); + if( carrier ) { + carrier->add_msg_if_player( m_bad, _( "Your %s rusts due to blackpowder fouling." ), tname() ); + } } return false; } diff --git a/src/item.h b/src/item.h index 55ae5f8108bcb..ec61b298c72f6 100644 --- a/src/item.h +++ b/src/item.h @@ -380,6 +380,39 @@ class item : public visitable */ std::string info( std::vector &info, const iteminfo_query *parts = nullptr, int batch = 1 ) const; + /* type specific helper functions for info() that should probably be in itype() */ + void basic_info( std::vector &info, const iteminfo_query *parts, int batch, + bool debug ) const; + void med_info( const item *med_item, std::vector &info, const iteminfo_query *parts, + int batch, bool debug ) const; + void food_info( const item *food_item, std::vector &info, const iteminfo_query *parts, + int batch, bool debug ) const; + void magazine_info( std::vector &info, const iteminfo_query *parts, int batch, + bool debug ) const; + void ammo_info( std::vector &info, const iteminfo_query *parts, int batch, + bool debug ) const; + void gun_info( const item *mod, std::vector &info, const iteminfo_query *parts, int batch, + bool debug ) const; + void gunmod_info( std::vector &info, const iteminfo_query *parts, int batch, + bool debug ) const; + void armor_info( std::vector &info, const iteminfo_query *parts, int batch, + bool debug ) const; + void book_info( std::vector &info, const iteminfo_query *parts, int batch, + bool debug ) const; + void battery_info( std::vector &info, const iteminfo_query *parts, int batch, + bool debug ) const; + void container_info( std::vector &info, const iteminfo_query *parts, int batch, + bool debug ) const; + void tool_info( std::vector &info, const iteminfo_query *parts, int batch, + bool debug ) const; + void component_info( std::vector &info, const iteminfo_query *parts, int batch, + bool debug ) const; + void disassembly_info( std::vector &info, const iteminfo_query *parts, int batch, + bool debug ) const; + void qualities_info( std::vector &info, const iteminfo_query *parts, int batch, + bool debug ) const; + void final_info( std::vector &info, const iteminfo_query *parts, int batch, + bool debug ) const; /** * Calculate all burning calculations, but don't actually apply them to item. @@ -1022,7 +1055,7 @@ class item : public visitable * Gets the point (vehicle tile) the cable is connected to. * Returns nothing if not connected to anything. */ - cata::optional get_cable_target( player *p, const tripoint &pos ) const; + cata::optional get_cable_target( Character *p, const tripoint &pos ) const; /** * Helper to bring a cable back to its initial state. */ @@ -1162,7 +1195,7 @@ class item : public visitable * Set the snippet text (description) of this specific item, using the snippet library. * @see snippet_library. */ - void set_snippet( const std::string &snippet_id ); + void set_snippet( const std::string &id ); bool operator<( const item &other ) const; /** List of all @ref components in printable form, empty if this item has @@ -1959,8 +1992,9 @@ class item : public visitable * Handle failure during crafting. * Destroy components, lose progress, and set a new failure point. * @param crafter the crafting player. + * @return whether the craft being worked on should be entirely destroyed */ - void handle_craft_failure( player &crafter ); + bool handle_craft_failure( player &crafter ); /** * Returns requirement data representing what is needed to resume work on an in progress craft. @@ -1969,6 +2003,20 @@ class item : public visitable */ requirement_data get_continue_reqs() const; + /** + * @brief Inherit applicable flags from the given parent item. + * + * @param parent Item to inherit from + */ + void inherit_flags( const item &parent ); + + /** + * @brief Inherit applicable flags from the given list of parent items. + * + * @param parents Items to inherit from + */ + void inherit_flags( const std::list &parents ); + void set_tools_to_continue( bool value ); bool has_tools_to_continue() const; void set_cached_tool_selections( const std::vector> &selections ); @@ -2068,7 +2116,7 @@ class item : public visitable int burnt = 0; // How badly we're burnt int poison = 0; // How badly poisoned is it? int frequency = 0; // Radio frequency - int note = 0; // Associated dynamic text snippet. + cata::optional snippet_id; // Associated dynamic text snippet id. int irradiation = 0; // Tracks radiation dosage. int item_counter = 0; // generic counter to be used with item flags int specific_energy = -10; // Specific energy (0.00001 J/g). Negative value for unprocessed. diff --git a/src/item_action.cpp b/src/item_action.cpp index 8395dbfa71abf..9f6550424ac61 100644 --- a/src/item_action.cpp +++ b/src/item_action.cpp @@ -204,7 +204,7 @@ void item_action_generator::check_consistency() const for( const auto &elem : item_actions ) { const auto &action = elem.second; if( !item_controller->has_iuse( action.id ) ) { - debugmsg( "Item action \"%s\" isn't known to the game. Check item action definitions in JSON.", + debugmsg( "Item action \"%s\" isn't known to the game. Check item action definitions in JSON.", action.id.c_str() ); } } @@ -331,7 +331,7 @@ std::string use_function::get_type() const } } -ret_val iuse_actor::can_use( const player &, const item &, bool, const tripoint & ) const +ret_val iuse_actor::can_use( const Character &, const item &, bool, const tripoint & ) const { return ret_val::make_success(); } diff --git a/src/item_category.cpp b/src/item_category.cpp index 31bbb50e6e563..64feac313b1e0 100644 --- a/src/item_category.cpp +++ b/src/item_category.cpp @@ -1,5 +1,37 @@ #include "item_category.h" +#include "generic_factory.h" + +namespace +{ +generic_factory item_category_factory( "item_category" ); +} // namespace + +template<> +const item_category &string_id::obj() const +{ + return item_category_factory.obj( *this ); +} + +template<> +bool string_id::is_valid() const +{ + return item_category_factory.is_valid( *this ); +} + +void item_category::load_item_cat( JsonObject &jo, const std::string &src ) +{ + item_category_factory.load( jo, src ); +} + +void item_category::load( JsonObject &jo, const std::string & ) +{ + mandatory( jo, was_loaded, "id", id ); + mandatory( jo, was_loaded, "name", name_ ); + mandatory( jo, was_loaded, "sort_rank", sort_rank_ ); + optional( jo, was_loaded, "zone", zone_, cata::nullopt ); +} + bool item_category::operator<( const item_category &rhs ) const { if( sort_rank_ != rhs.sort_rank_ ) { @@ -8,12 +40,12 @@ bool item_category::operator<( const item_category &rhs ) const if( name_.translated_ne( rhs.name_ ) ) { return name_.translated_lt( rhs.name_ ); } - return id_ < rhs.id_; + return id < rhs.id; } bool item_category::operator==( const item_category &rhs ) const { - return sort_rank_ == rhs.sort_rank_ && name_.translated_eq( rhs.name_ ) && id_ == rhs.id_; + return sort_rank_ == rhs.sort_rank_ && name_.translated_eq( rhs.name_ ) && id == rhs.id; } bool item_category::operator!=( const item_category &rhs ) const @@ -26,9 +58,14 @@ std::string item_category::name() const return name_.translated(); } -std::string item_category::id() const +item_category_id item_category::get_id() const +{ + return id; +} + +cata::optional item_category::zone() const { - return id_; + return zone_; } int item_category::sort_rank() const diff --git a/src/item_category.h b/src/item_category.h index dbe830aa7ee53..953312c3532b2 100644 --- a/src/item_category.h +++ b/src/item_category.h @@ -4,7 +4,11 @@ #include +#include "optional.h" #include "translations.h" +#include "type_id.h" + +class JsonObject; /** * Contains metadata for one category of items @@ -16,25 +20,31 @@ class item_category { private: - /** Unique ID of this category, used when loading from JSON. */ - std::string id_; /** Name of category for displaying to the user */ translation name_; /** Used to sort categories when displaying. Lower values are shown first. */ int sort_rank_ = 0; + cata::optional zone_; + public: + /** Unique ID of this category, used when loading from JSON. */ + item_category_id id; + item_category() = default; /** * @param id @ref id_ * @param name @ref name_ * @param sort_rank @ref sort_rank_ */ - item_category( const std::string &id, const translation &name, int sort_rank ) : id_( id ), - name_( name ), sort_rank_( sort_rank ) { } + item_category( const item_category_id &id, const translation &name, int sort_rank ) + : name_( name ), sort_rank_( sort_rank ), id( id ) {} + item_category( const std::string &id, const translation &name, int sort_rank ) + : name_( name ), sort_rank_( sort_rank ), id( item_category_id( id ) ) {} std::string name() const; - std::string id() const; + item_category_id get_id() const; + cata::optional zone() const; int sort_rank() const; /** @@ -47,6 +57,12 @@ class item_category bool operator==( const item_category &rhs ) const; bool operator!=( const item_category &rhs ) const; /*@}*/ + + // generic_factory stuff + bool was_loaded = false; + + static void load_item_cat( JsonObject &jo, const std::string &src ); + void load( JsonObject &jo, const std::string & ); }; #endif diff --git a/src/item_factory.cpp b/src/item_factory.cpp index 1e883e8c47a58..acbf1ce49dad7 100644 --- a/src/item_factory.cpp +++ b/src/item_factory.cpp @@ -57,7 +57,7 @@ static DynamicDataLoader::deferred_json deferred; std::unique_ptr item_controller = std::make_unique(); -static std::string calc_category( const itype &obj ); +static item_category_id calc_category( const itype &obj ); static void set_allergy_flags( itype &item_template ); static void hflesh_to_flesh( itype &item_template ); static void npc_implied_flags( itype &item_template ); @@ -169,16 +169,10 @@ void Item_factory::finalize_pre( itype &obj ) } // If no category was forced via JSON automatically calculate one now - if( obj.category_force.empty() ) { + if( !obj.category_force.is_valid() || obj.category_force.is_empty() ) { obj.category_force = calc_category( obj ); } - // If category exists assign now otherwise throw error later in @see check_definitions() - auto cat = categories.find( obj.category_force ); - if( cat != categories.end() ) { - obj.category = &cat->second; - } - // use pre-cataclysm price as default if post-cataclysm price unspecified if( obj.price_post < 0_cent ) { obj.price_post = obj.price; @@ -215,9 +209,9 @@ void Item_factory::finalize_pre( itype &obj ) } // Set max volume for containers to prevent integer overflow - if( obj.container && obj.container->contains > 10000000_ml ) { - debugmsg( obj.id + " storage volume is too large, reducing to 10000000" ); - obj.container->contains = 10000000_ml; + if( obj.container && obj.container->contains > 10000_liter ) { + debugmsg( obj.id + " storage volume is too large, reducing to 10000 liters" ); + obj.container->contains = 10000_liter; } // for ammo not specifying loudness (or an explicit zero) derive value from other properties @@ -849,8 +843,8 @@ void Item_factory::check_definitions() const std::ostringstream msg; const itype *type = &elem.second; - if( !type->category ) { - msg << "undefined category " << type->category_force << "\n"; + if( !type->category_force.is_valid() ) { + msg << "undefined category " << type->category_force.c_str() << "\n"; } if( type->weight < 0_gram ) { @@ -1512,6 +1506,7 @@ void Item_factory::load( islot_armor &slot, JsonObject &jo, const std::string &s assign( jo, "weight_capacity_modifier", slot.weight_capacity_modifier ); assign( jo, "weight_capacity_bonus", slot.weight_capacity_bonus, strict, 0_gram ); assign( jo, "power_armor", slot.power_armor, strict ); + assign( jo, "valid_mods", slot.valid_mods, strict ); assign_coverage_from_json( jo, "covers", slot.covers, slot.sided ); } @@ -1669,6 +1664,11 @@ void Item_factory::load( islot_comestible &slot, JsonObject &jo, const std::stri { bool strict = src == "dda"; + JsonObject relative = jo.get_object( "relative" ); + JsonObject proportional = jo.get_object( "proportional" ); + relative.allow_omitted_members(); + proportional.allow_omitted_members(); + assign( jo, "comestible_type", slot.comesttype, strict ); assign( jo, "tool", slot.tool, strict ); assign( jo, "charges", slot.def_charges, strict, 1 ); @@ -1716,12 +1716,12 @@ void Item_factory::load( islot_comestible &slot, JsonObject &jo, const std::stri slot.kcal = jo.get_int( "calories" ); got_calories = true; - } else if( jo.get_object( "relative" ).has_int( "calories" ) ) { - slot.kcal += jo.get_object( "relative" ).get_int( "calories" ); + } else if( relative.has_int( "calories" ) ) { + slot.kcal += relative.get_int( "calories" ); got_calories = true; - } else if( jo.get_object( "proportional" ).has_float( "calories" ) ) { - slot.kcal *= jo.get_object( "proportional" ).get_float( "calories" ); + } else if( proportional.has_float( "calories" ) ) { + slot.kcal *= proportional.get_float( "calories" ); got_calories = true; } else if( jo.has_int( "nutrition" ) ) { @@ -1746,15 +1746,14 @@ void Item_factory::load( islot_comestible &slot, JsonObject &jo, const std::stri } } - } else if( jo.has_object( "relative" ) ) { - auto rel = jo.get_object( "relative" ); - if( rel.has_int( "vitamins" ) ) { + } else { + if( relative.has_int( "vitamins" ) ) { // allows easy specification of 'fortified' comestibles for( auto &v : vitamin::all() ) { - slot.vitamins[ v.first ] += rel.get_int( "vitamins" ); + slot.vitamins[ v.first ] += relative.get_int( "vitamins" ); } - } else if( rel.has_array( "vitamins" ) ) { - auto vits = rel.get_array( "vitamins" ); + } else if( relative.has_array( "vitamins" ) ) { + auto vits = relative.get_array( "vitamins" ); while( vits.has_more() ) { auto pair = vits.next_array(); slot.vitamins[ vitamin_id( pair.get_string( 0 ) ) ] += pair.get_int( 1 ); @@ -2199,8 +2198,13 @@ void Item_factory::load_basic_info( JsonObject &jo, itype &def, const std::strin load_slot_optional( def.relic_data, jo, "relic_data", src ); // optional gunmod slot may also specify mod data - load_slot_optional( def.gunmod, jo, "gunmod_data", src ); - load_slot_optional( def.mod, jo, "gunmod_data", src ); + if( jo.has_member( "gunmod_data" ) ) { + // use the same JsonObject for the two load_slot calls to avoid + // warnings about unvisited Json members + JsonObject jo_gunmod = jo.get_object( "gunmod_data" ); + load_slot( def.gunmod, jo_gunmod, src ); + load_slot( def.mod, jo_gunmod, src ); + } if( jo.has_string( "abstract" ) ) { def.id = jo.get_string( "abstract" ); @@ -2226,29 +2230,26 @@ void Item_factory::load_basic_info( JsonObject &jo, itype &def, const std::strin } } -void Item_factory::load_item_category( JsonObject &jo ) -{ - const std::string id = jo.get_string( "id" ); - const auto iter = categories.find( id ); - if( iter != categories.end() ) { - debugmsg( "Item category %s already exists", id ); - return; - } - translation name; - jo.read( "name", name ); - categories.emplace( id, item_category( id, name, jo.get_int( "sort_rank" ) ) ); -} - void Item_factory::load_migration( JsonObject &jo ) { migration m; - m.id = jo.get_string( "id" ); assign( jo, "replace", m.replace ); assign( jo, "flags", m.flags ); assign( jo, "charges", m.charges ); assign( jo, "contents", m.contents ); - migrations[ jo.get_string( "id" ) ] = m; + if( jo.has_string( "id" ) ) { + m.id = jo.get_string( "id" ); + migrations[ m.id ] = m; + } else if( jo.has_array( "id" ) ) { + JsonArray ja = jo.get_array( "id" ); + while( ja.has_more() ) { + m.id = jo.get_string( "id" ); + migrations[ m.id ] = m; + } + } else { + jo.throw_error( "`id` of `MIGRATION` is neither string nor array" ); + } } itype_id Item_factory::migrate_id( const itype_id &id ) @@ -2327,8 +2328,6 @@ void Item_factory::clear() { m_template_groups.clear(); - categories.clear(); - iuse_function_list.clear(); m_templates.clear(); @@ -2703,44 +2702,45 @@ std::string enum_to_string( phase_id data ) } } // namespace io -std::string calc_category( const itype &obj ) +item_category_id calc_category( const itype &obj ) { if( obj.artifact ) { - return "artifacts"; + return item_category_id( "artifacts" ); } if( obj.gun && !obj.gunmod ) { - return "guns"; + return item_category_id( "guns" ); } if( obj.magazine ) { - return "magazines"; + return item_category_id( "magazines" ); } if( obj.ammo ) { - return "ammo"; + return item_category_id( "ammo" ); } if( obj.tool ) { - return "tools"; + return item_category_id( "tools" ); } if( obj.armor ) { - return "clothing"; + return item_category_id( "clothing" ); } if( obj.comestible ) { - return obj.comestible->comesttype == "MED" ? "drugs" : "food"; + return obj.comestible->comesttype == "MED" ? + item_category_id( "drugs" ) : item_category_id( "food" ); } if( obj.book ) { - return "books"; + return item_category_id( "books" ); } if( obj.gunmod ) { - return "mods"; + return item_category_id( "mods" ); } if( obj.bionic ) { - return "bionics"; + return item_category_id( "bionics" ); } bool weap = std::any_of( obj.melee.begin(), obj.melee.end(), []( int qty ) { return qty > MELEE_STAT; } ); - return weap ? "weapons" : "other"; + return weap ? item_category_id( "weapons" ) : item_category_id( "other" ); } std::vector Item_factory::get_all_group_names() diff --git a/src/item_factory.h b/src/item_factory.h index 07f5509284382..72ba41a45634f 100644 --- a/src/item_factory.h +++ b/src/item_factory.h @@ -172,13 +172,6 @@ class Item_factory /** called after all JSON has been read and performs any necessary cleanup tasks */ void finalize(); - /** - * Load item category definition from json - * @param jo The json object to load data from. - * @throw std::string if the json object contains invalid data. - */ - void load_item_category( JsonObject &jo ); - /** Migrations transform items loaded from legacy saves */ void load_migration( JsonObject &jo ); @@ -261,12 +254,6 @@ class Item_factory */ bool check_ammo_type( std::ostream &msg, const ammotype &ammo ) const; - // Map with all the defined item categories, - // This map should only grow, categories should never be removed from - // it as itype::category contains a pointer to the values of this map - // The key is the id of the item_category. - std::map categories; - /** * Called before creating a new template and handles inheritance via copy-from * May defer instantiation of the template if depends on other objects not as-yet loaded diff --git a/src/item_group.cpp b/src/item_group.cpp index 5af8bb8ba2320..1d765a029c398 100644 --- a/src/item_group.cpp +++ b/src/item_group.cpp @@ -68,9 +68,10 @@ item Single_item_creator::create_single( const time_point &birthday, RecursionLi } if( modifier ) { modifier->modify( tmp ); + } else { + // TODO: change the spawn lists to contain proper references to containers + tmp = tmp.in_its_container(); } - // TODO: change the spawn lists to contain proper references to containers - tmp = tmp.in_its_container(); return tmp; } @@ -203,7 +204,6 @@ Item_modifier::Item_modifier() void Item_modifier::modify( item &new_item ) const { - if( new_item.is_null() ) { return; } @@ -217,8 +217,55 @@ void Item_modifier::modify( item &new_item ) const } } - int ch = ( charges.first == charges.second ) ? charges.first : rng( charges.first, - charges.second ); + // create container here from modifier or from default to get max charges later + item cont; + if( container != nullptr ) { + cont = container->create_single( new_item.birthday() ); + } + if( cont.is_null() && new_item.type->default_container.has_value() ) { + const itype_id &cont_value = new_item.type->default_container.value_or( "null" ); + if( cont_value != "null" ) { + cont = item( cont_value, new_item.birthday() ); + } + } + + int max_capacity = -1; + if( charges.first != -1 && charges.second == -1 ) { + const int max_ammo = new_item.ammo_capacity(); + if( max_ammo > 0 ) { + max_capacity = max_ammo; + } + } + + if( max_capacity == -1 && !cont.is_null() && ( new_item.made_of( LIQUID ) || + ( !new_item.is_tool() && !new_item.is_gun() && !new_item.is_magazine() ) ) ) { + max_capacity = new_item.charges_per_volume( cont.get_container_capacity() ); + } + + const bool charges_not_set = charges.first == -1 && charges.second == -1; + int ch = -1; + if( !charges_not_set ) { + int charges_min = charges.first; + int charges_max = charges.second; + + if( charges_min == -1 && charges_max != -1 ) { + charges_min = 0; + } + + if( max_capacity != -1 && ( charges_max > max_capacity || ( charges_min != 1 && + charges_max == -1 ) ) ) { + charges_max = max_capacity; + } + + if( charges_min > charges_max ) { + charges_min = charges_max; + } + + ch = charges_min == charges_max ? charges_min : rng( charges_min, + charges_max ); + } else if( !cont.is_null() && new_item.made_of( LIQUID ) ) { + new_item.charges = std::max( 1, max_capacity ); + } if( ch != -1 ) { if( new_item.count_by_charges() || new_item.made_of( LIQUID ) ) { @@ -275,20 +322,9 @@ void Item_modifier::modify( item &new_item ) const } } - if( container != nullptr ) { - item cont = container->create_single( new_item.birthday() ); - if( !cont.is_null() ) { - if( new_item.made_of( LIQUID ) ) { - int rc = cont.get_remaining_capacity_for_liquid( new_item ); - if( rc > 0 && ( new_item.charges > rc || ch == -1 ) ) { - // make sure the container is not over-full. - // fill up the container (if using default charges) - new_item.charges = rc; - } - } - cont.put_in( new_item ); - new_item = cont; - } + if( !cont.is_null() ) { + cont.put_in( new_item ); + new_item = cont; } if( contents != nullptr ) { diff --git a/src/item_location.cpp b/src/item_location.cpp index df322fa67ba59..903cd46cdf293 100644 --- a/src/item_location.cpp +++ b/src/item_location.cpp @@ -6,6 +6,7 @@ #include "avatar.h" #include "character.h" +#include "character_id.h" #include "debug.h" #include "game.h" #include "game_constants.h" @@ -84,7 +85,7 @@ class item_location::impl return what.get(); } - bool valid() const { + virtual bool valid() const { ensure_unpacked(); return !!what; } @@ -228,21 +229,49 @@ class item_location::impl::item_on_map : public item_location::impl class item_location::impl::item_on_person : public item_location::impl { private: - Character &who; + character_id who_id; + mutable Character *who; + + bool ensure_who_unpacked() const { + if( !who ) { + who = g->critter_by_id( who_id ); + if( !who ) { + // If we failed to find it throw a debug message cause we're probably going to crash soon + debugmsg( "Failed to find item_location owner with character_id %d", who_id.get_value() ); + return false; + } + } + return true; + } public: - item_on_person( Character &who, item *which ) : impl( which ), who( who ) {} - item_on_person( Character &who, int idx ) : impl( idx ), who( who ) {} + item_on_person( Character &who, item *which ) : impl( which ) { + who_id = who.getID(); + this->who = &who; + } + + item_on_person( character_id who_id, int idx ) : impl( idx ), who_id( who_id ), who( nullptr ) {} void serialize( JsonOut &js ) const override { + if( !ensure_who_unpacked() ) { + // Write an invalid item_location to avoid invalid json + js.start_object(); + js.member( "type", "null" ); + js.end_object(); + return; + } js.start_object(); js.member( "type", "character" ); - js.member( "idx", find_index( who, target() ) ); + js.member( "character", who_id ); + js.member( "idx", find_index( *who, target() ) ); js.end_object(); } item *unpack( int idx ) const override { - return retrieve_index( who, idx ); + if( !ensure_who_unpacked() ) { + return nullptr; + } + return retrieve_index( *who, idx ); } type where() const override { @@ -250,20 +279,23 @@ class item_location::impl::item_on_person : public item_location::impl } tripoint position() const override { - return who.pos(); + if( !ensure_who_unpacked() ) { + return tripoint_zero; + } + return who->pos(); } std::string describe( const Character *ch ) const override { - if( !target() ) { + if( !target() || !ensure_who_unpacked() ) { return std::string(); } - if( ch == &who ) { - auto parents = who.parents( *target() ); - if( !parents.empty() && who.is_worn( *parents.back() ) ) { + if( ch == who ) { + auto parents = who->parents( *target() ); + if( !parents.empty() && who->is_worn( *parents.back() ) ) { return parents.back()->type_name(); - } else if( who.is_worn( *target() ) ) { + } else if( who->is_worn( *target() ) ) { return _( "worn" ); } else { @@ -271,7 +303,7 @@ class item_location::impl::item_on_person : public item_location::impl } } else { - return who.name; + return who->name; } } @@ -294,7 +326,7 @@ class item_location::impl::item_on_person : public item_location::impl } int obtain_cost( const Character &ch, int qty ) const override { - if( !target() ) { + if( !target() || !ensure_who_unpacked() ) { return 0; } @@ -306,33 +338,33 @@ class item_location::impl::item_on_person : public item_location::impl obj = *target(); } - auto parents = who.parents( *target() ); - if( !parents.empty() && who.is_worn( *parents.back() ) ) { + auto parents = who->parents( *target() ); + if( !parents.empty() && who->is_worn( *parents.back() ) ) { // if outermost parent item is worn status effects (e.g. GRABBED) are not applied // holsters may also adjust the volume cost factor if( parents.back()->can_holster( obj, true ) ) { auto ptr = dynamic_cast ( parents.back()->type->get_use( "holster" )->get_actor_ptr() ); - mv += dynamic_cast( who ).item_handling_cost( obj, false, ptr->draw_cost ); + mv += dynamic_cast( who )->item_handling_cost( obj, false, ptr->draw_cost ); } else if( parents.back()->is_bandolier() ) { auto ptr = dynamic_cast ( parents.back()->type->get_use( "bandolier" )->get_actor_ptr() ); - mv += dynamic_cast( who ).item_handling_cost( obj, false, ptr->draw_cost ); + mv += dynamic_cast( who )->item_handling_cost( obj, false, ptr->draw_cost ); } else { - mv += dynamic_cast( who ).item_handling_cost( obj, false, + mv += dynamic_cast( who )->item_handling_cost( obj, false, INVENTORY_HANDLING_PENALTY / 2 ); } } else { // it is more expensive to obtain items from the inventory // TODO: calculate cost for searching in inventory proportional to item volume - mv += dynamic_cast( who ).item_handling_cost( obj, true, INVENTORY_HANDLING_PENALTY ); + mv += dynamic_cast( who )->item_handling_cost( obj, true, INVENTORY_HANDLING_PENALTY ); } - if( &ch != &who ) { + if( &ch != who ) { // TODO: implement movement cost for transferring item between characters } @@ -340,7 +372,16 @@ class item_location::impl::item_on_person : public item_location::impl } void remove_item() override { - who.remove_item( *what ); + if( !ensure_who_unpacked() ) { + return; + } + who->remove_item( *what ); + } + + bool valid() const override { + ensure_who_unpacked(); + ensure_unpacked(); + return !!what && !!who; } }; @@ -503,7 +544,15 @@ void item_location::deserialize( JsonIn &js ) obj.read( "pos", pos ); if( type == "character" ) { - ptr.reset( new impl::item_on_person( g->u, idx ) ); + character_id who_id; + if( obj.has_member( "character" ) ) { + obj.read( "character", who_id ); + } else { + // This is for migrating saves before npc item locations were supported and all + // character item locations were assumed to be on g->u + who_id = g->u.getID(); + } + ptr.reset( new impl::item_on_person( who_id, idx ) ); } else if( type == "map" ) { ptr.reset( new impl::item_on_map( pos, idx ) ); diff --git a/src/itype.h b/src/itype.h index 5abf692e497d3..2cd3bbc2371d6 100644 --- a/src/itype.h +++ b/src/itype.h @@ -264,6 +264,11 @@ struct islot_armor { * Whether this is a power armor item. */ bool power_armor = false; + /** + * Whitelisted clothing mods. + * Restricted clothing mods must be listed here by id to be compatible. + */ + std::vector valid_mods; }; struct islot_pet_armor { @@ -806,9 +811,6 @@ struct itype { // nname() is used for display purposes translation name = no_translation( "none" ); - /** If set via JSON forces item category to this (preventing automatic assignment) */ - std::string category_force; - public: itype() { melee.fill( 0 ); @@ -916,7 +918,8 @@ struct itype { unsigned light_emission = 0; // Exactly the same as item_tags LIGHT_*, this is for lightmap. - const item_category *category = nullptr; // category pointer or NULL for automatic selection + /** If set via JSON forces item category to this (preventing automatic assignment) */ + item_category_id category_force; std::string sym; nc_color color = c_white; // Color on the map (color.h) diff --git a/src/iuse.cpp b/src/iuse.cpp index 37f22376bc784..64b9468476a75 100644 --- a/src/iuse.cpp +++ b/src/iuse.cpp @@ -347,7 +347,7 @@ static bool check_litcig( player &u ) */ int iuse::sewage( player *p, item *it, bool, const tripoint & ) { - if( !p->query_yn( _( "Are you sure you want to drink... this?" ) ) ) { + if( !p->query_yn( _( "Are you sure you want to drink… this?" ) ) ) { return 0; } @@ -412,7 +412,7 @@ static int alcohol( player &p, const item &it, const int strength ) // might not be healthy, and still causes Thirst problems, though p.stomach.mod_nutr( -( abs( it.get_comestible() ? it.type->comestible->stim : 0 ) ) ); // Metabolizing it cancels out the depressant - p.stim += abs( it.get_comestible() ? it.get_comestible()->stim : 0 ); + p.mod_stim( abs( it.get_comestible() ? it.get_comestible()->stim : 0 ) ); } else if( p.has_trait( trait_TOLERANCE ) ) { duration -= alc_strength( strength, 12_minutes, 30_minutes, 45_minutes ); } else if( p.has_trait( trait_LIGHTWEIGHT ) ) { @@ -505,7 +505,7 @@ int iuse::smoking( player *p, item *it, bool, const tripoint & ) } } if( p->get_effect_dur( effect_cig ) > 10_minutes * ( p->addiction_level( ADD_CIG ) + 1 ) ) { - p->add_msg_if_player( m_bad, _( "Ugh, too much smoke... you feel nasty." ) ); + p->add_msg_if_player( m_bad, _( "Ugh, too much smoke… you feel nasty." ) ); } return it->type->charges_to_use(); @@ -532,7 +532,7 @@ int iuse::ecig( player *p, item *it, bool, const tripoint & ) p->mod_hunger( -1 ); p->add_effect( effect_cig, 10_minutes ); if( p->get_effect_dur( effect_cig ) > 10_minutes * ( p->addiction_level( ADD_CIG ) + 1 ) ) { - p->add_msg_if_player( m_bad, _( "Ugh, too much nicotine... you feel nasty." ) ); + p->add_msg_if_player( m_bad, _( "Ugh, too much nicotine… you feel nasty." ) ); } return it->type->charges_to_use(); } @@ -722,7 +722,7 @@ int iuse::anticonvulsant( player *p, item *it, bool, const tripoint & ) int iuse::weed_cake( player *p, item *it, bool, const tripoint & ) { p->add_msg_if_player( - _( "You start scarfing down the delicious cake. It tastes a little funny though..." ) ); + _( "You start scarfing down the delicious cake. It tastes a little funny though…" ) ); time_duration duration = 12_minutes; if( p->has_trait( trait_TOLERANCE ) ) { duration = 9_minutes; @@ -828,7 +828,7 @@ int iuse::poison( player *p, item *it, bool, const tripoint & ) // Players can abuse the crafting menu instead... if( !it->has_flag( "HIDDEN_POISON" ) && ( p->is_npc() || - !p->query_yn( _( "Are you sure you want to eat this? It looks poisonous..." ) ) ) ) { + !p->query_yn( _( "Are you sure you want to eat this? It looks poisonous…" ) ) ) ) { return 0; } /** @EFFECT_STR increases EATPOISON trait effectiveness (50-90%) */ @@ -889,7 +889,7 @@ int iuse::prozac( player *p, item *it, bool, const tripoint & ) if( !p->has_effect( effect_took_prozac ) ) { p->add_effect( effect_took_prozac, 12_hours ); } else { - p->stim += 3; + p->mod_stim( 3 ); } if( one_in( 50 ) ) { // adverse reaction, same duration as prozac effect. p->add_msg_if_player( m_warning, _( "You suddenly feel hollow inside." ) ); @@ -902,7 +902,7 @@ int iuse::prozac( player *p, item *it, bool, const tripoint & ) int iuse::sleep( player *p, item *it, bool, const tripoint & ) { p->mod_fatigue( 40 ); - p->add_msg_if_player( m_warning, _( "You feel very sleepy..." ) ); + p->add_msg_if_player( m_warning, _( "You feel very sleepy…" ) ); return it->type->charges_to_use(); } @@ -932,7 +932,7 @@ int iuse::flusleep( player *p, item *it, bool, const tripoint & ) p->add_effect( effect_took_flumed, 12_hours ); p->mod_fatigue( 30 ); p->add_msg_if_player( _( "You take some %s" ), it->tname() ); - p->add_msg_if_player( m_warning, _( "You feel very sleepy..." ) ); + p->add_msg_if_player( m_warning, _( "You feel very sleepy…" ) ); return it->type->charges_to_use(); } @@ -963,8 +963,8 @@ int iuse::oxygen_bottle( player *p, item *it, bool, const tripoint & ) p->remove_effect( effect_teargas ); } else if( p->has_effect( effect_asthma ) ) { p->remove_effect( effect_asthma ); - } else if( p->stim < 16 ) { - p->stim += 8; + } else if( p->get_stim() < 16 ) { + p->mod_stim( 8 ); p->mod_painkiller( 2 ); } p->mod_painkiller( 2 ); @@ -1199,7 +1199,7 @@ static void marloss_common( player &p, item &it, const trait_id ¤t_color ) if( p.has_trait( current_color ) || p.has_trait( trait_THRESH_MARLOSS ) ) { p.add_msg_if_player( m_good, - _( "As you eat the %s, you have a near-religious experience, feeling at one with your surroundings..." ), + _( "As you eat the %s, you have a near-religious experience, feeling at one with your surroundings…" ), it.tname() ); p.add_morale( MORALE_MARLOSS, 100, 1000 ); for( const std::pair &pr : mycus_colors ) { @@ -1250,7 +1250,7 @@ static void marloss_common( player &p, item &it, const trait_id ¤t_color ) // previously used to set hunger to -10. with the new system, needs to do something // else that actually makes sense, so it is a little bit more involved. - units::volume fulfill_vol = std::max( p.stomach.capacity() / 8 - p.stomach.contains(), 0_ml ); + units::volume fulfill_vol = std::max( p.stomach.capacity( p ) / 8 - p.stomach.contains(), 0_ml ); if( fulfill_vol != 0_ml ) { p.add_msg_if_player( m_good, _( "It is delicious, and very filling!" ) ); int fulfill_cal = units::to_milliliter( fulfill_vol * 6 ); @@ -1265,7 +1265,7 @@ static void marloss_common( player &p, item &it, const trait_id ¤t_color ) } else if( p.crossed_threshold() ) { // Mycus Rejection. Goo already present fights off the fungus. p.add_msg_if_player( m_bad, - _( "You feel a familiar warmth, but suddenly it surges into an excruciating burn as you convulse, vomiting, and black out..." ) ); + _( "You feel a familiar warmth, but suddenly it surges into an excruciating burn as you convulse, vomiting, and black out…" ) ); if( p.is_avatar() ) { g->memorial().add( pgettext( "memorial_male", "Suffered Marloss Rejection." ), @@ -1285,7 +1285,7 @@ static void marloss_common( player &p, item &it, const trait_id ¤t_color ) trait_MARLOSS_AVOID ); // And if you survive it's etched in your RNA, so you're unlikely to repeat the experiment. } else if( marloss_count >= 2 ) { p.add_msg_if_player( m_bad, - _( "You feel a familiar warmth, but suddenly it surges into painful burning as you convulse and collapse to the ground..." ) ); + _( "You feel a familiar warmth, but suddenly it surges into painful burning as you convulse and collapse to the ground…" ) ); /** @EFFECT_INT reduces sleep duration when eating wrong color marloss */ p.fall_asleep( 40_minutes - 1_minutes * p.int_cur / 2 ); for( const std::pair &pr : mycus_colors ) { @@ -1300,9 +1300,9 @@ static void marloss_common( player &p, item &it, const trait_id ¤t_color ) _( "You wake up in a marloss bush. Almost *cradled* in it, actually, as though it grew there for you." ) ); p.add_msg_if_player( m_good, //~ Beginning to hear the Mycus while conscious: that's it speaking - _( "unity. together we have reached the door. we provide the final key. now to pass through..." ) ); + _( "unity. together we have reached the door. we provide the final key. now to pass through…" ) ); } else { - p.add_msg_if_player( _( "You feel a strange warmth spreading throughout your body..." ) ); + p.add_msg_if_player( _( "You feel a strange warmth spreading throughout your body…" ) ); p.set_mutation( current_color ); // Give us addictions to the other two colors, but cure one for current color for( const std::pair &pr : mycus_colors ) { @@ -1392,10 +1392,10 @@ int iuse::mycus( player *p, item *it, bool t, const tripoint &pos ) p->radiation = 0; p->healall( 4 ); // Can't make you a whole new person, but not for lack of trying p->add_msg_if_player( m_good, - _( "As it settles in, you feel ecstasy radiating through every part of your body..." ) ); + _( "As it settles in, you feel ecstasy radiating through every part of your body…" ) ); p->add_morale( MORALE_MARLOSS, 1000, 1000 ); // Last time you'll ever have it this good. So enjoy. p->add_msg_if_player( m_good, - _( "Your eyes roll back in your head. Everything dissolves into a blissful haze..." ) ); + _( "Your eyes roll back in your head. Everything dissolves into a blissful haze…" ) ); /** @EFFECT_INT slightly reduces sleep duration when eating mycus */ p->fall_asleep( 5_hours - p->int_cur * 1_minutes ); p->unset_mutation( trait_THRESH_MARLOSS ); @@ -1452,11 +1452,11 @@ int iuse::mycus( player *p, item *it, bool t, const tripoint &pos ) } } else if( p->has_trait( trait_THRESH_MYCUS ) ) { p->mod_painkiller( 5 ); - p->stim += 5; + p->mod_stim( 5 ); } else { // In case someone gets one without having been adapted first. // Marloss is the Mycus' method of co-opting humans. Mycus fruit is for symbiotes' maintenance and development. p->add_msg_if_player( - _( "This tastes really weird! You're not sure it's good for you..." ) ); + _( "This tastes really weird! You're not sure it's good for you…" ) ); p->mutate(); p->mod_pain( 2 * rng( 1, 5 ) ); p->mod_stored_nutr( 10 ); @@ -1483,7 +1483,7 @@ static int feedpet( player &p, monster &mon, item &it, m_flag food_flag, const c mon.friendly = -1; mon.add_effect( effect_pet, 1_turns, num_bp, true ); p.consume_charges( it, 1 ); - return 1; + return 0; } else { p.add_msg_if_player( _( "The %s doesn't want that kind of food." ), mon.get_name() ); return 0; @@ -1511,12 +1511,12 @@ static int petfood( player &p, item &it, Petfood animal_food_type ) person.say( _( "Okay, but please, don't give me this again. I don't want to eat dog food in the cataclysm all day." ) ); p.consume_charges( it, 1 ); - return 1; + return 0; } else { p.add_msg_if_player( _( "%s knocks it out from your hand!" ), person.name ); person.make_angry(); p.consume_charges( it, 1 ); - return 1; + return 0; } } else { p.add_msg_if_player( _( "Never mind." ) ); @@ -1544,7 +1544,7 @@ static int petfood( player &p, item &it, Petfood animal_food_type ) p.add_msg_if_player( _( "Apparently it's more interested in your flesh than the dog food in your hand!" ) ); p.consume_charges( it, 1 ); - return 1; + return 0; } } else { return feedpet( p, mon, it, MF_DOGFOOD, @@ -1607,7 +1607,7 @@ int iuse::radio_mod( player *p, item *, bool, const tripoint & ) return 0; } - int choice = uilist( _( "Which signal should activate the item?:" ), { + int choice = uilist( _( "Which signal should activate the item?" ), { _( "\"Red\"" ), _( "\"Blue\"" ), _( "\"Green\"" ) } ); @@ -1712,7 +1712,7 @@ int iuse::fishing_rod( player *p, item *it, bool, const tripoint & ) p->add_msg_if_player( m_info, _( "You can't fish there!" ) ); return 0; } - p->add_msg_if_player( _( "You cast your line and wait to hook something..." ) ); + p->add_msg_if_player( _( "You cast your line and wait to hook something…" ) ); p->assign_activity( activity_id( "ACT_FISH" ), to_moves( 5_hours ), 0, p->get_item_position( it ), it->tname() ); p->activity.coord_set = g->get_fishable_locations( 60, *found ); @@ -2223,18 +2223,12 @@ int iuse::ma_manual( player *p, item *it, bool, const tripoint & ) const matype_id style_to_learn = martial_art_learned_from( *it->type ); - const martialart &ma = style_to_learn.obj(); if( !style_to_learn.is_valid() ) { - // debugmsg will already have been sent by .obj call + debugmsg( "ERROR: Invalid martial art" ); return 0; } - p->ma_styles.push_back( style_to_learn ); - - p->add_msg_if_player( m_good, _( "You learn the essential elements of %s." ), - ma.name ); - p->add_msg_if_player( m_info, _( "%s to select martial arts style." ), - press_x( ACTION_PICK_STYLE ) ); + p->martial_arts_data.learn_style( style_to_learn, p->is_avatar() ); return 1; } @@ -2548,8 +2542,7 @@ int iuse::makemound( player *p, item *it, bool t, const tripoint & ) if( g->m.has_flag( "PLOWABLE", pnt ) && !g->m.has_flag( "PLANT", pnt ) ) { p->add_msg_if_player( _( "You start churning up the earth here." ) ); - p->assign_activity( activity_id( "ACT_CHURN" ), to_turns( 3_minutes ), - -1, p->get_item_position( it ) ); + p->assign_activity( activity_id( "ACT_CHURN" ), 18000, -1, p->get_item_position( it ) ); p->activity.placement = g->m.getabs( pnt ); return it->type->charges_to_use(); } else { @@ -2765,7 +2758,7 @@ int iuse::dig( player *p, item *it, bool t, const tripoint & ) const std::vector helpers = g->u.get_crafting_helpers(); for( const npc *np : helpers ) { - add_msg( m_info, _( "%s helps with this task..." ), np->name ); + add_msg( m_info, _( "%s helps with this task…" ), np->name ); break; } @@ -2830,7 +2823,7 @@ int iuse::dig_channel( player *p, item *it, bool t, const tripoint & ) const std::vector helpers = g->u.get_crafting_helpers(); for( const npc *np : helpers ) { - add_msg( m_info, _( "%s helps with this task..." ), np->name ); + add_msg( m_info, _( "%s helps with this task…" ), np->name ); break; } @@ -2906,7 +2899,7 @@ int iuse::fill_pit( player *p, item *it, bool t, const tripoint & ) const int helpersize = g->u.get_num_crafting_helpers( 3 ); moves = moves * ( 1 - ( helpersize / 10 ) ); for( const npc *np : helpers ) { - add_msg( m_info, _( "%s helps with this task..." ), np->name ); + add_msg( m_info, _( "%s helps with this task…" ), np->name ); break; } p->assign_activity( activity_id( "ACT_FILL_PIT" ), moves, -1, p->get_item_position( it ) ); @@ -2946,7 +2939,7 @@ int iuse::clear_rubble( player *p, item *it, bool, const tripoint & ) int bonus = std::max( it->get_quality( quality_id( "DIG" ) ) - 1, 1 ); const std::vector helpers = g->u.get_crafting_helpers(); for( const npc *np : helpers ) { - add_msg( m_info, _( "%s helps with this task..." ), np->name ); + add_msg( m_info, _( "%s helps with this task…" ), np->name ); break; } const int helpersize = g->u.get_num_crafting_helpers( 3 ); @@ -3252,7 +3245,7 @@ int iuse::jackhammer( player *p, item *it, bool, const tripoint &pos ) const int helpersize = g->u.get_num_crafting_helpers( 3 ); moves *= ( 1 - ( helpersize / 10 ) ); for( const npc *np : helpers ) { - add_msg( m_info, _( "%s helps with this task..." ), np->name ); + add_msg( m_info, _( "%s helps with this task…" ), np->name ); break; } @@ -3308,7 +3301,7 @@ int iuse::pickaxe( player *p, item *it, bool, const tripoint &pos ) const int helpersize = g->u.get_num_crafting_helpers( 3 ); moves *= ( 1 - ( helpersize / 10 ) ); for( const npc *np : helpers ) { - add_msg( m_info, _( "%s helps with this task..." ), np->name ); + add_msg( m_info, _( "%s helps with this task…" ), np->name ); break; } @@ -3407,13 +3400,33 @@ int iuse::geiger( player *p, item *it, bool t, const tripoint &pos ) } int ch = uilist( _( "Geiger counter:" ), { - _( "Scan yourself" ), _( "Scan the ground" ), _( "Turn continuous scan on" ) + _( "Scan yourself or other person" ), _( "Scan the ground" ), _( "Turn continuous scan on" ) } ); switch( ch ) { - case 0: - p->add_msg_if_player( m_info, _( "Your radiation level: %d mSv (%d mSv from items)" ), p->radiation, - p->leak_level( "RADIOACTIVE" ) ); + case 0: { + const std::function f = [&]( const tripoint & pnt ) { + return g->critter_at( pnt ) != nullptr || g->critter_at( pnt ) != nullptr; + }; + + const cata::optional pnt_ = choose_adjacent_highlight( _( "Scan whom?" ), f, false, + true ); + if( !pnt_ ) { + return 0; + } + const tripoint &pnt = *pnt_; + if( pnt == g->u.pos() ) { + p->add_msg_if_player( m_info, _( "Your radiation level: %d mSv (%d mSv from items)" ), p->radiation, + p->leak_level( "RADIOACTIVE" ) ); + break; + } + if( npc *const person_ = g->critter_at( pnt ) ) { + npc &person = *person_; + p->add_msg_if_player( m_info, _( "%s's radiation level: %d mSv (%d mSv from items)" ), + person.name, person.radiation, + person.leak_level( "RADIOACTIVE" ) ); + } break; + } case 1: p->add_msg_if_player( m_info, _( "The ground's radiation level: %d mSv/h" ), g->m.get_radiation( p->pos() ) ); @@ -3425,6 +3438,8 @@ int iuse::geiger( player *p, item *it, bool t, const tripoint &pos ) default: return 0; } + p->mod_moves( -100 ); + return it->type->charges_to_use(); } @@ -3793,7 +3808,7 @@ int iuse::firecracker_pack_act( player *, item *it, bool, const tripoint &pos ) { time_duration timer = it->age(); if( timer < 2_turns ) { - sounds::sound( pos, 0, sounds::sound_t::alarm, _( "ssss..." ), true, "misc", "lit_fuse" ); + sounds::sound( pos, 0, sounds::sound_t::alarm, _( "ssss…" ), true, "misc", "lit_fuse" ); it->inc_damage(); } else if( it->charges > 0 ) { int ex = rng( 4, 6 ); @@ -3835,7 +3850,7 @@ int iuse::firecracker_act( player *p, item *it, bool t, const tripoint &pos ) return 0; } if( t ) { // Simple timer effects - sounds::sound( pos, 0, sounds::sound_t::alarm, _( "ssss..." ), true, "misc", "lit_fuse" ); + sounds::sound( pos, 0, sounds::sound_t::alarm, _( "ssss…" ), true, "misc", "lit_fuse" ); } else if( it->charges > 0 ) { p->add_msg_if_player( m_info, _( "You've already lit the %s, try throwing it instead." ), it->tname() ); @@ -3877,8 +3892,8 @@ int iuse::pheromone( player *p, item *it, bool, const tripoint &pos ) return 0; } - p->add_msg_player_or_npc( _( "You squeeze the pheromone ball..." ), - _( " squeezes the pheromone ball..." ) ); + p->add_msg_player_or_npc( _( "You squeeze the pheromone ball…" ), + _( " squeezes the pheromone ball…" ) ); p->moves -= 15; @@ -3898,11 +3913,11 @@ int iuse::pheromone( player *p, item *it, bool, const tripoint &pos ) if( g->u.sees( *p ) ) { if( converts == 0 ) { - add_msg( _( "...but nothing happens." ) ); + add_msg( _( "…but nothing happens." ) ); } else if( converts == 1 ) { - add_msg( m_good, _( "...and a nearby zombie becomes passive!" ) ); + add_msg( m_good, _( "…and a nearby zombie becomes passive!" ) ); } else { - add_msg( m_good, _( "...and several nearby zombies become passive!" ) ); + add_msg( m_good, _( "…and several nearby zombies become passive!" ) ); } } return it->type->charges_to_use(); @@ -4097,7 +4112,8 @@ static std::string get_music_description() // of snippets {a, b, c}, but only a 50% chance // Actual chance = 24.5% of being selected if( one_in( 2 ) ) { - return SNIPPET.random_from_category( "music_description" ); + return SNIPPET.expand( SNIPPET.random_from_category( "" ).value_or( + translation() ).translated() ); } return _( "a sweet guitar solo!" ); @@ -4433,7 +4449,7 @@ int iuse::vibe( player *p, item *it, bool, const tripoint & ) return 0; } if( p->is_mounted() ) { - p->add_msg_if_player( m_info, _( "You cannot do... that while mounted." ) ); + p->add_msg_if_player( m_info, _( "You cannot do… that while mounted." ) ); return 0; } if( ( p->is_underwater() ) && ( !( ( p->has_trait( trait_GILLS ) ) || @@ -4480,7 +4496,7 @@ int iuse::vortex( player *p, item *it, bool, const tripoint & ) if( !mon ) { continue; } - p->add_msg_if_player( m_warning, _( "Air swirls all over..." ) ); + p->add_msg_if_player( m_warning, _( "Air swirls all over…" ) ); p->moves -= to_moves( 1_seconds ); it->convert( "spiral_stone" ); mon->friendly = -1; @@ -4550,7 +4566,7 @@ int iuse::blood_draw( player *p, item *it, bool, const tripoint & ) if( map_it.is_corpse() && query_yn( _( "Draw blood from %s?" ), colorize( map_it.tname(), map_it.color_in_inventory() ) ) ) { - p->add_msg_if_player( m_info, _( "You drew blood from the %s..." ), map_it.tname() ); + p->add_msg_if_player( m_info, _( "You drew blood from the %s…" ), map_it.tname() ); drew_blood = true; auto bloodtype( map_it.get_mtype()->bloodType() ); if( bloodtype.obj().has_acid ) { @@ -4562,7 +4578,7 @@ int iuse::blood_draw( player *p, item *it, bool, const tripoint & ) } if( !drew_blood && query_yn( _( "Draw your own blood?" ) ) ) { - p->add_msg_if_player( m_info, _( "You drew your own blood..." ) ); + p->add_msg_if_player( m_info, _( "You drew your own blood…" ) ); drew_blood = true; if( p->has_trait( trait_ACIDBLOOD ) ) { acid_blood = true; @@ -4577,12 +4593,12 @@ int iuse::blood_draw( player *p, item *it, bool, const tripoint & ) it->put_in( acid ); if( one_in( 3 ) ) { if( it->inc_damage( DT_ACID ) ) { - p->add_msg_if_player( m_info, _( "...but acidic blood melts the %s, destroying it!" ), + p->add_msg_if_player( m_info, _( "…but acidic blood melts the %s, destroying it!" ), it->tname() ); p->i_rem( it ); return 0; } - p->add_msg_if_player( m_info, _( "...but acidic blood damages the %s!" ), it->tname() ); + p->add_msg_if_player( m_info, _( "…but acidic blood damages the %s!" ), it->tname() ); } return it->type->charges_to_use(); } @@ -4719,7 +4735,7 @@ int iuse::chop_tree( player *p, item *it, bool t, const tripoint & ) int moves = chop_moves( p, it ); const std::vector helpers = g->u.get_crafting_helpers(); for( const npc *np : helpers ) { - add_msg( m_info, _( "%s helps with this task..." ), np->name ); + add_msg( m_info, _( "%s helps with this task…" ), np->name ); break; } p->assign_activity( activity_id( "ACT_CHOP_TREE" ), moves, -1, p->get_item_position( it ) ); @@ -4762,7 +4778,7 @@ int iuse::chop_logs( player *p, item *it, bool t, const tripoint & ) int moves = chop_moves( p, it ); const std::vector helpers = g->u.get_crafting_helpers(); for( const npc *np : helpers ) { - add_msg( m_info, _( "%s helps with this task..." ), np->name ); + add_msg( m_info, _( "%s helps with this task…" ), np->name ); break; } p->assign_activity( activity_id( "ACT_CHOP_LOGS" ), moves, -1, p->get_item_position( it ) ); @@ -5095,11 +5111,11 @@ int iuse::artifact( player *p, item *it, bool, const tripoint & ) } if( !it->is_artifact() ) { - debugmsg( "iuse::artifact called on a non-artifact item! %s", + debugmsg( "iuse::artifact called on a non-artifact item! %s", it->tname() ); return 0; } else if( !it->is_tool() ) { - debugmsg( "iuse::artifact called on a non-tool artifact! %s", + debugmsg( "iuse::artifact called on a non-tool artifact! %s", it->tname() ); return 0; } @@ -5169,7 +5185,7 @@ int iuse::artifact( player *p, item *it, bool, const tripoint & ) const bool new_map = overmap_buffer.reveal( center.xy(), 20, center.z ); if( new_map ) { - p->add_msg_if_player( m_warning, _( "You have a vision of the surrounding area..." ) ); + p->add_msg_if_player( m_warning, _( "You have a vision of the surrounding area…" ) ); p->moves -= to_moves( 1_seconds ); } } @@ -5401,7 +5417,7 @@ int iuse::artifact( player *p, item *it, bool, const tripoint & ) case AEA_STAMINA_EMPTY: p->add_msg_if_player( m_bad, _( "Your body feels like jelly." ) ); - p->stamina = p->stamina * 1 / ( rng( 3, 8 ) ); + p->set_stamina( p->get_stamina() * 1 / ( rng( 3, 8 ) ) ); break; case AEA_FUN: @@ -5488,29 +5504,16 @@ static bool heat_item( player &p ) return false; } item &target = heat->is_food_container() ? heat->contents.front() : *heat; - p.mod_moves( -to_turns( 3_seconds ) ); //initial preparations // simulates heat capacity of food, more weight = longer heating time // this is x2 to simulate larger delta temperature of frozen food in relation to // heating non-frozen food (x1); no real life physics here, only aproximations - int move_mod = to_turns( time_duration::from_seconds( to_gram( target.weight() ) ) ); - if( target.item_tags.count( "FROZEN" ) ) { - target.apply_freezerburn(); - - if( target.has_flag( "EATEN_COLD" ) ) { - target.cold_up(); - p.add_msg_if_player( m_info, - _( "You defrost the food, but don't heat it up, since you enjoy it cold." ) ); - } else { - p.add_msg_if_player( m_info, _( "You defrost and heat up the food." ) ); - target.heat_up(); - // x2 because we have to defrost and heat - move_mod *= 2; - } - } else { - p.add_msg_if_player( m_info, _( "You heat up the food." ) ); - target.heat_up(); + int duration = to_turns( time_duration::from_seconds( to_gram( target.weight() ) ) ) * 10; + if( target.item_tags.count( "FROZEN" ) && !target.has_flag( "EATEN_COLD" ) ) { + duration *= 2; } - p.mod_moves( -move_mod ); // time needed to actually heat up + p.add_msg_if_player( m_info, _( "You start heating up the food." ) ); + p.assign_activity( activity_id( "ACT_HEATING" ), duration ); + p.activity.targets.push_back( item_location( p, &target ) ); return true; } @@ -5728,7 +5731,7 @@ int iuse::jet_injector( player *p, item *it, bool, const tripoint & ) // Intensity is 2 here because intensity = 1 is the comedown p->add_effect( effect_jetinjector, 20_minutes, num_bp, false, 2 ); p->mod_painkiller( 20 ); - p->stim += 10; + p->mod_stim( 10 ); p->healall( 20 ); } @@ -5756,9 +5759,9 @@ int iuse::stimpack( player *p, item *it, bool, const tripoint & ) // Intensity is 2 here because intensity = 1 is the comedown p->add_effect( effect_stimpack, 25_minutes, num_bp, false, 2 ); p->mod_painkiller( 2 ); - p->stim += 20; + p->mod_stim( 20 ); p->mod_fatigue( -100 ); - p->stamina = p->get_stamina_max(); + p->set_stamina( p->get_stamina_max() ); } return it->type->charges_to_use(); } @@ -6556,7 +6559,7 @@ int iuse::einktabletpc( player *p, item *it, bool t, const tripoint &pos ) const int random_photo = rng( 1, 20 ); switch( random_photo ) { case 1: - p->add_msg_if_player( m_good, _( "You used to have a dog like this..." ) ); + p->add_msg_if_player( m_good, _( "You used to have a dog like this…" ) ); break; case 2: p->add_msg_if_player( m_good, _( "Ha-ha! An amusing cat photo." ) ); @@ -6565,7 +6568,7 @@ int iuse::einktabletpc( player *p, item *it, bool t, const tripoint &pos ) p->add_msg_if_player( m_good, _( "Excellent pictures of nature." ) ); break; case 4: - p->add_msg_if_player( m_good, _( "Food photos... your stomach rumbles!" ) ); + p->add_msg_if_player( m_good, _( "Food photos… your stomach rumbles!" ) ); break; case 5: p->add_msg_if_player( m_good, _( "Some very interesting travel photos." ) ); @@ -7227,7 +7230,7 @@ static extended_photo_def photo_def_for_camera_point( const tripoint &aim_point, continue; // disallow photos with non-visible objects } monster *const mon = g->critter_at( current, false ); - player *guy = g->critter_at( current ); + avatar *guy = g->critter_at( current ); total_tiles_num++; if( g->m.is_outside( current ) ) { @@ -7248,7 +7251,7 @@ static extended_photo_def photo_def_for_camera_point( const tripoint &aim_point, if( guy->is_hallucination() ) { continue; // do not include hallucinations } - if( guy->movement_mode_is( PMM_CROUCH ) ) { + if( guy->movement_mode_is( CMM_CROUCH ) ) { pose = _( "sits" ); } else { pose = _( "stands" ); @@ -7682,11 +7685,11 @@ int iuse::camera( player *p, item *it, bool, const tripoint & ) // get an special message if the target is a hallucination if( trajectory_point == aim_point && ( z.is_hallucination() || z.type->in_species( HALLUCINATION ) ) ) { - p->add_msg_if_player( _( "Strange... there's nothing in the center of picture?" ) ); + p->add_msg_if_player( _( "Strange… there's nothing in the center of picture?" ) ); } } else if( guy ) { if( trajectory_point == aim_point && guy->is_hallucination() ) { - p->add_msg_if_player( _( "Strange... %s's not visible on the picture?" ), guy->name ); + p->add_msg_if_player( _( "Strange… %s's not visible on the picture?" ), guy->name ); } else if( !aim_bounds.is_point_inside( trajectory_point ) ) { // take a photo of the monster that's in the way p->add_msg_if_player( m_warning, _( "%s got in the way of your photo." ), guy->name ); @@ -8030,7 +8033,7 @@ int iuse::radiocar( player *p, item *it, bool, const tripoint & ) put.tname() ); it->put_in( p->i_rem( inventory_index ) ); } else if( !put.has_flag( "RADIOCARITEM" ) ) { - p->add_msg_if_player( _( "RC car with %s? How?" ), + p->add_msg_if_player( _( "RC car with %s? How?" ), put.tname() ); } else { p->add_msg_if_player( _( "Your %s is too heavy or bulky for this RC car." ), @@ -8043,7 +8046,7 @@ int iuse::radiocar( player *p, item *it, bool, const tripoint & ) p->i_add( *bomb_it ); it->contents.erase( bomb_it ); - p->add_msg_if_player( _( "You disarmed your RC car" ) ); + p->add_msg_if_player( _( "You disarmed your RC car." ) ); } } @@ -8054,7 +8057,7 @@ int iuse::radiocaron( player *p, item *it, bool t, const tripoint &pos ) { if( t ) { //~Sound of a radio controlled car moving around - sounds::sound( pos, 6, sounds::sound_t::movement, _( "buzzz..." ), true, "misc", "rc_car_drives" ); + sounds::sound( pos, 6, sounds::sound_t::movement, _( "buzzz…" ), true, "misc", "rc_car_drives" ); return it->type->charges_to_use(); } else if( !it->ammo_sufficient() ) { @@ -8074,7 +8077,7 @@ int iuse::radiocaron( player *p, item *it, bool t, const tripoint &pos ) if( choice == 0 ) { it->convert( "radio_car" ).active = false; - p->add_msg_if_player( _( "You turned off your RC car" ) ); + p->add_msg_if_player( _( "You turned off your RC car." ) ); return it->type->charges_to_use(); } @@ -8083,24 +8086,37 @@ int iuse::radiocaron( player *p, item *it, bool t, const tripoint &pos ) static void sendRadioSignal( player &p, const std::string &signal ) { - for( size_t i = 0; i < p.inv.size(); i++ ) { - item &it = p.inv.find_item( i ); - - if( it.has_flag( "RADIO_ACTIVATION" ) && it.has_flag( signal ) ) { - sounds::sound( p.pos(), 6, sounds::sound_t::alarm, _( "beep." ), true, "misc", "beep" ); + for( const tripoint &loc : g->m.points_in_radius( p.pos(), 30 ) ) { + for( item &it : g->m.i_at( loc ) ) { + if( it.has_flag( "RADIO_ACTIVATION" ) && it.has_flag( signal ) ) { + sounds::sound( p.pos(), 6, sounds::sound_t::alarm, _( "beep" ), true, "misc", "beep" ); + if( it.has_flag( "RADIO_INVOKE_PROC" ) ) { + // Invoke to transform a radio-modded explosive into its active form + it.type->invoke( p, it, loc ); + it.ammo_unset(); + } + } else if( it.has_flag( "RADIO_CONTAINER" ) && !it.contents.empty() ) { + auto itm = std::find_if( it.contents.begin(), + it.contents.end(), [&signal]( const item & c ) { + return c.has_flag( signal ); + } ); - if( it.has_flag( "RADIO_INVOKE_PROC" ) ) { - // Invoke twice: first to transform, then later to proc - it.type->invoke( p, it, p.pos() ); - it.ammo_unset(); - // The type changed + if( itm != it.contents.end() ) { + sounds::sound( p.pos(), 6, sounds::sound_t::alarm, _( "beep" ), true, "misc", "beep" ); + // Invoke twice: first to transform, then later to proc + if( itm->has_flag( "RADIO_INVOKE_PROC" ) ) { + itm->type->invoke( p, *itm, loc ); + itm->ammo_unset(); + // The type changed + } + if( itm->has_flag( "BOMB" ) ) { + itm->type->invoke( p, *itm, loc ); + it.contents.clear(); + } + } } - - it.type->invoke( p, it, p.pos() ); } } - - g->m.trigger_rc_items( signal ); } int iuse::radiocontrol( player *p, item *it, bool t, const tripoint & ) @@ -8160,21 +8176,38 @@ int iuse::radiocontrol( player *p, item *it, bool t, const tripoint & ) } } } else if( choice > 0 ) { - std::string signal = "RADIOSIGNAL_"; - std::stringstream choice_str; - choice_str << choice; - signal += choice_str.str(); + const std::string signal = "RADIOSIGNAL_" + std::to_string( choice ); auto item_list = p->get_radio_items(); for( auto &elem : item_list ) { - if( ( elem )->has_flag( "BOMB" ) && ( elem )->has_flag( signal ) ) { + if( elem->has_flag( "BOMB" ) && elem->has_flag( signal ) ) { p->add_msg_if_player( m_warning, - _( "The %s in you inventory would explode on this signal. Place it down before sending the signal." ), - ( elem )->display_name() ); + _( "The %s in your inventory would explode on this signal. Place it down before sending the signal." ), + elem->display_name() ); return 0; } } + std::vector radio_containers = p->items_with( []( const item & itm ) { + return itm.has_flag( "RADIO_CONTAINER" ); + } ); + + if( !radio_containers.empty() ) { + for( auto items : radio_containers ) { + auto itm = std::find_if( items->contents.begin(), + items->contents.end(), [&]( const item & c ) { + return c.has_flag( "BOMB" ) && c.has_flag( signal ); + } ); + + if( itm != items->contents.end() ) { + p->add_msg_if_player( m_warning, + _( "The %1$s in your %2$s would explode on this signal. Place it down before sending the signal." ), + itm->display_name(), items->display_name() ); + return 0; + } + } + } + p->add_msg_if_player( _( "Click." ) ); sendRadioSignal( *p, signal ); p->moves -= to_moves( 2_seconds ); @@ -8525,7 +8558,7 @@ int iuse::multicooker( player *p, item *it, bool t, const tripoint &pos ) /** @EFFECT_SURVIVAL increases chance of checking multi-cooker on time */ if( p->int_cur + p->get_skill_level( skill_cooking ) + p->get_skill_level( skill_survival ) > 16 ) { - add_msg( m_info, _( "The multi-cooker should be finishing shortly..." ) ); + add_msg( m_info, _( "The multi-cooker should be finishing shortly…" ) ); } } @@ -8745,7 +8778,7 @@ int iuse::multicooker( player *p, item *it, bool t, const tripoint &pos ) if( mc_upgrade == choice ) { if( !p->has_morale_to_craft() ) { - p->add_msg_if_player( m_info, _( "Your morale is too low to craft..." ) ); + p->add_msg_if_player( m_info, _( "Your morale is too low to craft…" ) ); return 0; } @@ -9076,7 +9109,7 @@ int iuse::weather_tool( player *p, item *it, bool, const tripoint & ) const auto player_local_temp = g->weather.get_temperature( g->u.pos() ); if( it->typeId() == "weather_reader" ) { - p->add_msg_if_player( m_neutral, _( "The %s's monitor slowly outputs the data..." ), + p->add_msg_if_player( m_neutral, _( "The %s's monitor slowly outputs the data…" ), it->tname() ); } if( it->has_flag( "THERMOMETER" ) ) { @@ -9345,7 +9378,7 @@ int iuse::ladder( player *p, item *, bool, const tripoint & ) washing_requirements washing_requirements_for_volume( const units::volume vol ) { int water = divide_round_up( vol, 125_ml ); - int cleanser = divide_round_up( vol, 1000_ml ); + int cleanser = divide_round_up( vol, 1_liter ); int time = to_moves( 10_seconds * ( vol / 250_ml ) ); return { water, cleanser, time }; } @@ -9496,7 +9529,7 @@ int iuse::wash_items( player *p, bool soft_items, bool hard_items ) const int helpersize = g->u.get_num_crafting_helpers( 3 ); required.time = required.time * ( 1 - ( helpersize / 10 ) ); for( const npc *np : helpers ) { - add_msg( m_info, _( "%s helps with this task..." ), np->name ); + add_msg( m_info, _( "%s helps with this task…" ), np->name ); break; } // Assign the activity values. @@ -9745,7 +9778,7 @@ void use_function::dump_info( const item &it, std::vector &dump ) cons } } -ret_val use_function::can_call( const player &p, const item &it, bool t, +ret_val use_function::can_call( const Character &p, const item &it, bool t, const tripoint &pos ) const { if( actor == nullptr ) { diff --git a/src/iuse.h b/src/iuse.h index 099a364f6e2df..65da0dd735278 100644 --- a/src/iuse.h +++ b/src/iuse.h @@ -9,6 +9,7 @@ #include "clone_ptr.h" #include "units.h" +class Character; class item; class player; class JsonObject; @@ -270,7 +271,7 @@ class iuse_actor virtual ~iuse_actor() = default; virtual void load( JsonObject &jo ) = 0; virtual int use( player &, item &, bool, const tripoint & ) const = 0; - virtual ret_val can_use( const player &, const item &, bool, const tripoint & ) const; + virtual ret_val can_use( const Character &, const item &, bool, const tripoint & ) const; virtual void info( const item &, std::vector & ) const {} /** * Returns a deep copy of this object. Example implementation: @@ -308,7 +309,7 @@ struct use_function { use_function( std::unique_ptr f ) : actor( std::move( f ) ) {} int call( player &, item &, bool, const tripoint & ) const; - ret_val can_call( const player &, const item &, bool t, const tripoint &pos ) const; + ret_val can_call( const Character &, const item &, bool t, const tripoint &pos ) const; iuse_actor *get_actor_ptr() { return actor.get(); diff --git a/src/iuse_actor.cpp b/src/iuse_actor.cpp index a187db9ebad8a..9941a85ef5451 100644 --- a/src/iuse_actor.cpp +++ b/src/iuse_actor.cpp @@ -20,6 +20,7 @@ #include "bodypart.h" #include "calendar.h" #include "cata_utility.h" +#include "character.h" #include "crafting.h" #include "creature.h" #include "debug.h" @@ -59,6 +60,7 @@ #include "trap.h" #include "ui.h" #include "vehicle.h" +#include "vehicle_selector.h" #include "vitamin.h" #include "weather.h" #include "enums.h" @@ -256,7 +258,7 @@ int iuse_transform::use( player &p, item &it, bool t, const tripoint &pos ) cons return 0; } -ret_val iuse_transform::can_use( const player &p, const item &, bool, +ret_val iuse_transform::can_use( const Character &p, const item &, bool, const tripoint & ) const { std::map unmet_reqs; @@ -355,7 +357,7 @@ int countdown_actor::use( player &p, item &it, bool t, const tripoint &pos ) con return 0; } -ret_val countdown_actor::can_use( const player &, const item &it, bool, +ret_val countdown_actor::can_use( const Character &, const item &it, bool, const tripoint & ) const { if( it.active ) { @@ -993,7 +995,7 @@ int pick_lock_actor::use( player &p, item &it, bool, const tripoint & ) const } else if( type == t_door_bar_locked ) { new_type = t_door_bar_o; //Bar doors auto-open (and lock if closed again) so show a different message) - open_message = _( "The door swings open..." ); + open_message = _( "The door swings open…" ); } else { return 0; } @@ -1268,7 +1270,7 @@ void firestarter_actor::resolve_firestarter_use( player &p, const tripoint &pos } } -ret_val firestarter_actor::can_use( const player &p, const item &it, bool, +ret_val firestarter_actor::can_use( const Character &p, const item &it, bool, const tripoint & ) const { if( p.is_underwater() ) { @@ -1801,7 +1803,7 @@ int cauterize_actor::use( player &p, item &it, bool t, const tripoint & ) const } } -ret_val cauterize_actor::can_use( const player &p, const item &it, bool, +ret_val cauterize_actor::can_use( const Character &p, const item &it, bool, const tripoint & ) const { if( !p.has_effect( effect_bite ) && @@ -1907,7 +1909,7 @@ int enzlave_actor::use( player &p, item &it, bool t, const tripoint & ) const if( tolerance_level == 0 ) { // You just don't care, no message. } else if( tolerance_level <= 5 ) { - add_msg( m_neutral, _( "Well, it's more constructive than just chopping 'em into gooey meat..." ) ); + add_msg( m_neutral, _( "Well, it's more constructive than just chopping 'em into gooey meat…" ) ); } else { add_msg( m_bad, _( "You feel horrible for mutilating and enslaving someone's corpse." ) ); @@ -1961,7 +1963,8 @@ int enzlave_actor::use( player &p, item &it, bool t, const tripoint & ) const return cost >= 0 ? cost : it.ammo_required(); } -ret_val enzlave_actor::can_use( const player &p, const item &, bool, const tripoint & ) const +ret_val enzlave_actor::can_use( const Character &p, const item &, bool, + const tripoint & ) const { /** @EFFECT_SURVIVAL >=1 allows enzlavement */ @@ -2029,7 +2032,7 @@ int fireweapon_off_actor::use( player &p, item &it, bool t, const tripoint & ) c return it.type->charges_to_use(); } -ret_val fireweapon_off_actor::can_use( const player &p, const item &it, bool, +ret_val fireweapon_off_actor::can_use( const Character &p, const item &it, bool, const tripoint & ) const { if( it.charges < it.type->charges_to_use() ) { @@ -2127,7 +2130,7 @@ int manualnoise_actor::use( player &p, item &it, bool t, const tripoint & ) cons return it.type->charges_to_use(); } -ret_val manualnoise_actor::can_use( const player &, const item &it, bool, +ret_val manualnoise_actor::can_use( const Character &, const item &it, bool, const tripoint & ) const { if( it.charges < it.type->charges_to_use() ) { @@ -2267,7 +2270,7 @@ int musical_instrument_actor::use( player &p, item &it, bool t, const tripoint & return 0; } -ret_val musical_instrument_actor::can_use( const player &p, const item &, bool, +ret_val musical_instrument_actor::can_use( const Character &p, const item &, bool, const tripoint & ) const { // TODO: (maybe): Mouth encumbrance? Smoke? Lack of arms? Hand encumbrance? @@ -2550,7 +2553,7 @@ bool holster_actor::store( player &p, item &holster, item &obj ) const int holster_actor::use( player &p, item &it, bool, const tripoint & ) const { - if( &p.weapon == &it ) { + if( p.is_wielding( it ) ) { p.add_msg_if_player( _( "You need to unwield your %s before using it." ), it.tname() ); return 0; } @@ -2741,7 +2744,7 @@ bool bandolier_actor::reload( player &p, item &obj ) const int bandolier_actor::use( player &p, item &it, bool, const tripoint & ) const { - if( &p.weapon == &it ) { + if( p.is_wielding( it ) ) { p.add_msg_if_player( _( "You need to unwield your %s before using it." ), it.type_name() ); return 0; @@ -2885,10 +2888,28 @@ bool repair_item_actor::can_use_tool( const player &p, const item &tool, bool pr static item_location get_item_location( player &p, item &it, const tripoint &pos ) { + // Item on a character if( p.has_item( it ) ) { return item_location( p, &it ); } + // Item in a vehicle + if( const optional_vpart_position &vp = g->m.veh_at( pos ) ) { + vehicle_cursor vc( vp->vehicle(), vp->part_index() ); + bool found_in_vehicle = false; + vc.visit_items( [&]( const item * e ) { + if( e == &it ) { + found_in_vehicle = true; + return VisitResponse::ABORT; + } + return VisitResponse::NEXT; + } ); + if( found_in_vehicle ) { + return item_location( vc, &it ); + } + } + + // Item on the map return item_location( pos, &it ); } @@ -2923,7 +2944,6 @@ bool repair_item_actor::handle_components( player &pl, const item &fix, } } - std::vector comps; if( valid_entries.empty() ) { if( print_msg ) { pl.add_msg_if_player( m_info, _( "Your %s is not made of any of:" ), @@ -2958,8 +2978,16 @@ bool repair_item_actor::handle_components( player &pl, const item &fix, } // Go through all discovered repair items and see if we have any of them available + std::vector comps; for( const auto &entry : valid_entries ) { - const auto component_id = entry.obj().repaired_with(); + const itype_id &component_id = entry.obj().repaired_with(); + // Certain (different!) materials are repaired with the same components (steel, iron, hard steel use scrap metal). + // This checks avoids adding the same component twice, which is annoying to the user. + if( std::find_if( comps.begin(), comps.end(), [&]( const item_comp & ic ) { + return ic.type == component_id; + } ) != comps.end() ) { + continue; + } if( item::count_by_charges( component_id ) ) { if( crafting_inv.has_charges( component_id, items_needed ) ) { comps.emplace_back( component_id, items_needed ); @@ -3814,7 +3842,7 @@ place_trap_actor::place_trap_actor( const std::string &type ) : place_trap_actor::data::data() : trap( trap_str_id::NULL_ID() ) {} -void place_trap_actor::data::load( JsonObject obj ) +void place_trap_actor::data::load( JsonObject &obj ) { assign( obj, "trap", trap ); assign( obj, "done_message", done_message ); @@ -3830,7 +3858,8 @@ void place_trap_actor::load( JsonObject &obj ) assign( obj, "needs_neighbor_terrain", needs_neighbor_terrain ); assign( obj, "bury_question", bury_question ); if( !bury_question.empty() ) { - buried_data.load( obj.get_object( "bury" ) ); + JsonObject buried_json = obj.get_object( "bury" ); + buried_data.load( buried_json ); } unburied_data.load( obj ); assign( obj, "outer_layer_trap", outer_layer_trap ); @@ -4069,7 +4098,7 @@ int install_bionic_actor::use( player &p, item &it, bool, const tripoint & ) con } } -ret_val install_bionic_actor::can_use( const player &p, const item &it, bool, +ret_val install_bionic_actor::can_use( const Character &p, const item &it, bool, const tripoint & ) const { if( !it.is_bionic() ) { @@ -4149,7 +4178,7 @@ int detach_gunmods_actor::use( player &p, item &it, bool, const tripoint & ) con return 0; } -ret_val detach_gunmods_actor::can_use( const player &p, const item &it, bool, +ret_val detach_gunmods_actor::can_use( const Character &p, const item &it, bool, const tripoint & ) const { const auto mods = it.gunmods(); @@ -4215,7 +4244,7 @@ int mutagen_actor::use( player &p, item &it, bool, const tripoint & ) const mutation_category ); if( p.has_trait( trait_MUT_JUNKIE ) ) { - p.add_msg_if_player( m_good, _( "You quiver with anticipation..." ) ); + p.add_msg_if_player( m_good, _( "You quiver with anticipation…" ) ); p.add_morale( MORALE_MUTAGEN, 5, 50 ); } @@ -4525,11 +4554,8 @@ int sew_advanced_actor::use( player &p, item &it, bool, const tripoint & ) const // We need extra thread to lose it on bad rolls const int thread_needed = mod.volume() / 125_ml + 10; - // Returns true if the item already has the mod or if we have enough materials and thread to add it - const auto can_add_mod = [&]( const std::string & new_mod, const itype_id & mat_item ) { - return mod.item_tags.count( new_mod ) > 0 || - ( it.charges >= thread_needed && has_enough[mat_item] ); - }; + + const auto valid_mods = mod.find_armor_data()->valid_mods; const auto get_compare_color = [&]( const int before, const int after, const bool higher_is_better ) { @@ -4548,25 +4574,51 @@ int sew_advanced_actor::use( player &p, item &it, bool, const tripoint & ) const }; uilist tmenu; - // TODO: Tell how much thread will we use - if( it.charges >= thread_needed ) { - tmenu.text = _( "How do you want to modify it?" ); - } else { - tmenu.text = _( "Not enough thread to modify. Which modification do you want to remove?" ); - } + tmenu.text = _( "How do you want to modify it?" ); int index = 0; for( auto cm : clothing_mods ) { auto obj = cm.obj(); item temp_item = modded_copy( mod, obj.flag ); temp_item.update_clothing_mod_val(); - bool enab = can_add_mod( obj.flag, obj.item_string ); + + bool enab = false; std::string prompt; if( mod.item_tags.count( obj.flag ) == 0 ) { - prompt = string_format( "%s (%d %s)", obj.implement_prompt, items_needed, - item::nname( obj.item_string, items_needed ) ); + // @TODO Fix for UTF-8 strings + // @TODO find other places where this is used and make a global function for all + static const auto tolower = []( std::string t ) { + if( !t.empty() ) { + t.front() = std::tolower( t.front() ); + } + return t; + }; + // Mod not already present, check if modification is possible + if( it.charges < thread_needed ) { + //~ %1$s: modification desc, %2$d: number of thread needed + prompt = string_format( _( "Can't %1$s (need %2$d thread loaded)" ), + tolower( obj.implement_prompt ), thread_needed ); + } else if( !has_enough[obj.item_string] ) { + //~ %1$s: modification desc, %2$d: number of items needed, %3$s: items needed + prompt = string_format( _( "Can't %1$s (need %2$d %3$s)" ), tolower( obj.implement_prompt ), + items_needed, item::nname( obj.item_string, items_needed ) ); + } else if( obj.restricted && + std::find( valid_mods.begin(), valid_mods.end(), obj.flag ) == valid_mods.end() ) { + //~ %1$s: modification desc, %2$s: mod name + prompt = string_format( _( "Can't %1$s (incompatible with %2$s)" ), tolower( obj.implement_prompt ), + mod.tname( 1, false ) ); + } else { + // Modification is possible + enab = true; + //~ %1$s: modification desc, %2$d: number of items needed, %3$s: items needed, %4$s: number of thread needed + prompt = string_format( _( "%1$s (%2$d %3$s and %4$d thread)" ), tolower( obj.implement_prompt ), + items_needed, item::nname( obj.item_string, items_needed ), thread_needed ); + } + } else { - prompt = obj.destroy_prompt; + // Mod already present, give option to destroy + enab = true; + prompt = _( obj.destroy_prompt ); } std::ostringstream desc; desc << format_desc_string( _( "Bash" ), mod.bash_resist(), temp_item.bash_resist(), true ); @@ -4582,7 +4634,7 @@ int sew_advanced_actor::use( player &p, item &it, bool, const tripoint & ) const format_volume( before ), volume_units_abbr(), format_volume( after ), volume_units_abbr() ), get_volume_compare_color( before, after, true ) ); - tmenu.addentry_desc( index++, enab, MENU_AUTOASSIGN, _( prompt.c_str() ), desc.str() ); + tmenu.addentry_desc( index++, enab, MENU_AUTOASSIGN, prompt, desc.str() ); } tmenu.textwidth = 80; tmenu.desc_enabled = true; diff --git a/src/iuse_actor.h b/src/iuse_actor.h index 9e11df593237a..5c656bf0e8530 100644 --- a/src/iuse_actor.h +++ b/src/iuse_actor.h @@ -22,6 +22,7 @@ #include "units.h" #include "optional.h" +class Character; class item; class player; struct iteminfo; @@ -104,7 +105,7 @@ class iuse_transform : public iuse_actor ~iuse_transform() override = default; void load( JsonObject &obj ) override; int use( player &, item &, bool, const tripoint & ) const override; - ret_val can_use( const player &, const item &, bool, const tripoint & ) const override; + ret_val can_use( const Character &, const item &, bool, const tripoint & ) const override; std::unique_ptr clone() const override; std::string get_name() const override; void finalize( const itype_id &my_item_type ) override; @@ -129,7 +130,7 @@ class countdown_actor : public iuse_actor void load( JsonObject &obj ) override; int use( player &, item &, bool, const tripoint & ) const override; std::unique_ptr clone() const override; - ret_val can_use( const player &, const item &it, bool, const tripoint & ) const override; + ret_val can_use( const Character &, const item &it, bool, const tripoint & ) const override; std::string get_name() const override; void info( const item &, std::vector & ) const override; }; @@ -439,7 +440,7 @@ class firestarter_actor : public iuse_actor ~firestarter_actor() override = default; void load( JsonObject &obj ) override; int use( player &, item &, bool, const tripoint & ) const override; - ret_val can_use( const player &, const item &, bool, const tripoint & ) const override; + ret_val can_use( const Character &, const item &, bool, const tripoint & ) const override; std::unique_ptr clone() const override; }; @@ -454,16 +455,23 @@ class salvage_actor : public iuse_actor /** Materials it can cut */ std::set material_whitelist = { + material_id( "acidchitin" ), + material_id( "alien_resin" ), + material_id( "bone" ), + material_id( "chitin" ), material_id( "cotton" ), - material_id( "leather" ), - material_id( "fur" ), material_id( "faux_fur" ), - material_id( "nomex" ), + material_id( "fur" ), material_id( "kevlar" ), + material_id( "kevlar_rigid" ), + material_id( "leather" ), + material_id( "lycra" ), + material_id( "neoprene" ), + material_id( "nomex" ), + material_id( "nylon" ), material_id( "plastic" ), material_id( "wood" ), - material_id( "wool" ), - material_id( "neoprene" ) + material_id( "wool" ) }; bool try_to_cut_up( player &p, item &it ) const; @@ -534,7 +542,7 @@ class cauterize_actor : public iuse_actor ~cauterize_actor() override = default; void load( JsonObject &obj ) override; int use( player &, item &, bool, const tripoint & ) const override; - ret_val can_use( const player &, const item &, bool, const tripoint & ) const override; + ret_val can_use( const Character &, const item &, bool, const tripoint & ) const override; std::unique_ptr clone() const override; }; @@ -549,7 +557,7 @@ class enzlave_actor : public iuse_actor ~enzlave_actor() override = default; void load( JsonObject &obj ) override; int use( player &, item &, bool, const tripoint & ) const override; - ret_val can_use( const player &, const item &, bool, const tripoint & ) const override; + ret_val can_use( const Character &, const item &, bool, const tripoint & ) const override; std::unique_ptr clone() const override; }; @@ -574,7 +582,7 @@ class fireweapon_off_actor : public iuse_actor ~fireweapon_off_actor() override = default; void load( JsonObject &obj ) override; int use( player &, item &, bool, const tripoint & ) const override; - ret_val can_use( const player &, const item &, bool, const tripoint & ) const override; + ret_val can_use( const Character &, const item &, bool, const tripoint & ) const override; std::unique_ptr clone() const override; }; @@ -620,7 +628,7 @@ class manualnoise_actor : public iuse_actor ~manualnoise_actor() override = default; void load( JsonObject &obj ) override; int use( player &, item &, bool, const tripoint & ) const override; - ret_val can_use( const player &, const item &, bool, const tripoint & ) const override; + ret_val can_use( const Character &, const item &, bool, const tripoint & ) const override; std::unique_ptr clone() const override; }; @@ -664,7 +672,7 @@ class musical_instrument_actor : public iuse_actor ~musical_instrument_actor() override = default; void load( JsonObject &obj ) override; int use( player &, item &, bool, const tripoint & ) const override; - ret_val can_use( const player &, const item &, bool, const tripoint & ) const override; + ret_val can_use( const Character &, const item &, bool, const tripoint & ) const override; std::unique_ptr clone() const override; }; @@ -956,7 +964,7 @@ class place_trap_actor : public iuse_actor int practice = 0; /** Move points that are used when placing the trap. */ int moves = 100; - void load( JsonObject obj ); + void load( JsonObject &obj ); }; /** Whether one can place the trap when underwater. */ bool allow_underwater = false; @@ -1024,7 +1032,7 @@ class install_bionic_actor : public iuse_actor void load( JsonObject & ) override {} int use( player &p, item &it, bool t, const tripoint &pnt ) const override; - ret_val can_use( const player &, const item &it, bool, const tripoint & ) const override; + ret_val can_use( const Character &, const item &it, bool, const tripoint & ) const override; std::unique_ptr clone() const override; void finalize( const itype_id &my_item_type ) override; }; @@ -1036,7 +1044,7 @@ class detach_gunmods_actor : public iuse_actor void load( JsonObject & ) override {} int use( player &p, item &it, bool t, const tripoint &pnt ) const override; - ret_val can_use( const player &, const item &it, bool, const tripoint & ) const override; + ret_val can_use( const Character &, const item &it, bool, const tripoint & ) const override; std::unique_ptr clone() const override; void finalize( const itype_id &my_item_type ) override; }; diff --git a/src/iuse_software_kitten.cpp b/src/iuse_software_kitten.cpp index a9eebb759a7a4..b9031c062bf23 100644 --- a/src/iuse_software_kitten.cpp +++ b/src/iuse_software_kitten.cpp @@ -26,7 +26,7 @@ std::string robot_finds_kitten::getmessage( int idx ) _( "That's just a charred human corpse." ), _( "I don't know what that is, but it's not kitten." ), _( "An empty shopping bag. Paper or plastic?" ), - _( "Could it be... a big ugly bowling trophy?" ), + _( "Could it be… a big ugly bowling trophy?" ), _( "A coat hanger hovers in thin air. Odd." ), _( "Not kitten, just a packet of Kool-Aid(tm)." ), _( "A freshly-baked pumpkin pie." ), @@ -51,7 +51,7 @@ std::string robot_finds_kitten::getmessage( int idx ) _( "It's a dark, amorphous blob of matter." ), _( "Just a pincushion." ), _( "It's a mighty zombie talking about some love and prosperity." ), - _( "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize...\"" ), + _( "\"Dear robot, you may have already won our 10 MILLION DOLLAR prize…\"" ), _( "It's just an object." ), _( "A mere collection of pixels." ), _( "A badly dented high-hat cymbal lies on its side here." ), @@ -118,7 +118,7 @@ std::string robot_finds_kitten::getmessage( int idx ) _( "A vase full of artificial flowers is stuck to the floor here." ), _( "A large snake bars your way." ), _( "A pair of saloon-style doors swing slowly back and forth here." ), - _( "It's an ordinary bust of Beethoven... but why is it painted green?" ), + _( "It's an ordinary bust of Beethoven… but why is it painted green?" ), _( "It's TV's lovable wisecracking Crow! \"Bite me!\", he says." ), _( "Hey, look, it's war. What is it good for? Absolutely nothing. Say it again." ), _( "It's the amazing self-referential thing that's not kitten." ), @@ -213,10 +213,10 @@ std::string robot_finds_kitten::getmessage( int idx ) _( "Empty jewelboxes litter the landscape." ), _( "It's the astounding meta-object." ), _( "Ed McMahon stands here, lost in thought. Seeing you, he bellows, \"YES SIR!\"" ), - _( "...thingy???" ), + _( "…thingy???" ), _( "It's 1000 secrets the government doesn't want you to know!" ), _( "The letters O and R." ), - _( "A magical... magic thing." ), + _( "A magical… magic thing." ), _( "That is a moose, a thing of pure evil. You should \"RUN!\"" ), }; if( idx < 0 || idx >= nummessages ) { diff --git a/src/iuse_software_sokoban.cpp b/src/iuse_software_sokoban.cpp index 850e96cc62fa2..9e238dffb7b32 100644 --- a/src/iuse_software_sokoban.cpp +++ b/src/iuse_software_sokoban.cpp @@ -242,7 +242,7 @@ int sokoban_game::start_game() const int iOffsetY = TERMY > FULL_SCREEN_HEIGHT ? ( TERMY - FULL_SCREEN_HEIGHT ) / 2 : 0; using namespace std::placeholders; - read_from_file( FILENAMES["sokoban"], std::bind( &sokoban_game::parse_level, this, _1 ) ); + read_from_file( PATH_INFO::sokoban(), std::bind( &sokoban_game::parse_level, this, _1 ) ); const catacurses::window w_sokoban = catacurses::newwin( FULL_SCREEN_HEIGHT, FULL_SCREEN_WIDTH, point( iOffsetX, iOffsetY ) ); diff --git a/src/json.cpp b/src/json.cpp index e641a95b2a219..49c9ea7391dbf 100644 --- a/src/json.cpp +++ b/src/json.cpp @@ -16,9 +16,15 @@ #include #include +#include "cata_utility.h" + +extern bool test_mode; + // JSON parsing and serialization tools for Cataclysm-DDA. // For documentation, see the included header, json.h. +#define dbg(x) DebugLog((x), D_MAIN) << __FILE__ << ":" << __LINE__ << ": " + static bool is_whitespace( char ch ) { // These are all the valid whitespace characters allowed by RFC 4627. @@ -92,19 +98,22 @@ JsonObject::JsonObject( JsonIn &j ) final_separator = jsin->get_ate_separator(); } -JsonObject::JsonObject( const JsonObject &jo ) -{ - jsin = jo.jsin; - start = jo.start; - positions = jo.positions; - end = jo.end; - final_separator = jo.final_separator; -} - -JsonObject &JsonObject::operator=( const JsonObject &jo ) = default; - void JsonObject::finish() { +#ifndef CATA_IN_TOOL + if( test_mode && report_unvisited_members && !reported_unvisited_members && + !std::uncaught_exception() ) { + reported_unvisited_members = true; + for( const std::pair &p : positions ) { + const std::string &name = p.first; + if( !visited_members.count( name ) && !string_starts_with( name, "//" ) && + name != "blueprint" ) { + dbg( D_ERROR ) << "Failed to visit member '" << name << "' in JsonObject at " + << jsin->line_number( start ) << ":\n" << str() << std::endl; + } + } + } +#endif if( jsin && jsin->good() ) { jsin->seek( end ); jsin->set_ate_separator( final_separator ); @@ -120,9 +129,15 @@ bool JsonObject::empty() return positions.empty(); } +void JsonObject::allow_omitted_members() +{ + report_unvisited_members = false; +} + int JsonObject::verify_position( const std::string &name, const bool throw_exception ) { + visited_members.insert( name ); int pos = positions[name]; // initialized to 0 if it doesn't exist if( pos > start ) { return pos; @@ -159,7 +174,11 @@ std::string JsonObject::line_number() std::string JsonObject::str() { - if( jsin ) { + // If we're getting the string form, we might be re-parsing later, so don't + // complain about unvisited members. + allow_omitted_members(); + + if( jsin && end >= start ) { return jsin->substr( start, end - start ); } else { return "{}"; @@ -208,6 +227,7 @@ bool JsonObject::get_bool( const std::string &name ) bool JsonObject::get_bool( const std::string &name, const bool fallback ) { + visited_members.insert( name ); int pos = positions[name]; if( pos <= start ) { return fallback; @@ -225,6 +245,7 @@ int JsonObject::get_int( const std::string &name ) int JsonObject::get_int( const std::string &name, const int fallback ) { + visited_members.insert( name ); int pos = positions[name]; if( pos <= start ) { return fallback; @@ -242,6 +263,7 @@ double JsonObject::get_float( const std::string &name ) double JsonObject::get_float( const std::string &name, const double fallback ) { + visited_members.insert( name ); int pos = positions[name]; if( pos <= start ) { return fallback; @@ -259,6 +281,7 @@ std::string JsonObject::get_string( const std::string &name ) std::string JsonObject::get_string( const std::string &name, const std::string &fallback ) { + visited_members.insert( name ); int pos = positions[name]; if( pos <= start ) { return fallback; @@ -271,6 +294,7 @@ std::string JsonObject::get_string( const std::string &name, const std::string & JsonArray JsonObject::get_array( const std::string &name ) { + visited_members.insert( name ); int pos = positions[name]; if( pos <= start ) { return JsonArray(); // empty array @@ -301,6 +325,7 @@ std::vector JsonObject::get_string_array( const std::string &name ) JsonObject JsonObject::get_object( const std::string &name ) { + visited_members.insert( name ); int pos = positions[name]; if( pos <= start ) { return JsonObject(); // empty object @@ -1076,7 +1101,7 @@ bool JsonIn::get_bool() end_value(); return true; } else { - err << R"(not a boolean. expected "true", but got ")"; + err << R"(not a boolean. expected "true", but got ")"; err << ch << text << "\""; error( err.str(), -4 ); } @@ -1086,7 +1111,7 @@ bool JsonIn::get_bool() end_value(); return false; } else { - err << R"(not a boolean. expected "false", but got ")"; + err << R"(not a boolean. expected "false", but got ")"; err << ch << text << "\""; error( err.str(), -5 ); } @@ -1365,10 +1390,11 @@ bool JsonIn::read( JsonDeserializer &j, bool throw_on_error ) // WARNING: for occasional use only. std::string JsonIn::line_number( int offset_modifier ) { + if( !stream || stream->fail() ) { + return "???"; + } if( stream->eof() ) { return "EOF"; - } else if( stream->fail() ) { - return "???"; } // else stream is fine int pos = tell(); int line = 1; @@ -1412,7 +1438,20 @@ void JsonIn::error( const std::string &message, int offset ) size_t startpos = tell(); std::string buffer( pos - startpos, '\0' ); stream->read( &buffer[0], pos - startpos ); - err << buffer; + auto it = buffer.begin(); + for( ; it < buffer.end() && ( *it == '\r' || *it == '\n' ); ++it ) { + // skip starting newlines + } + for( ; it < buffer.end(); ++it ) { + if( *it == '\r' ) { + err << '\n'; + if( it + 1 < buffer.end() && *( it + 1 ) == '\n' ) { + ++it; + } + } else { + err << *it; + } + } if( !is_whitespace( peek() ) ) { err << peek(); } @@ -1440,22 +1479,27 @@ void JsonIn::error( const std::string &message, int offset ) } // print the next couple lines as well int line_count = 0; - for( int i = 0; i < 240; ++i ) { + for( int i = 0; line_count < 3 && stream->good() && i < 240; ++i ) { stream->get( ch ); - err << ch; + if( !stream->good() ) { + break; + } if( ch == '\r' ) { + ch = '\n'; ++line_count; - if( peek() == '\n' ) { - err << stream->get(); + if( stream->peek() == '\n' ) { + stream->get( ch ); } } else if( ch == '\n' ) { ++line_count; } - if( line_count > 2 ) { - break; - } + err << ch; + } + std::string msg = err.str(); + if( !msg.empty() && msg.back() != '\n' ) { + msg.push_back( '\n' ); } - throw JsonError( err.str() ); + throw JsonError( msg ); } bool JsonIn::error_or_false( bool throw_, const std::string &message, int offset ) diff --git a/src/json.h b/src/json.h index 57c371a98bb48..6f5c5e0b8e1a4 100644 --- a/src/json.h +++ b/src/json.h @@ -758,31 +758,54 @@ class JsonOut * if (!jo.read("messages", messages)) { * DebugLog() << "No messages."; * } + * + * + * Automatic error checking + * ------------------------ + * + * By default, when a JsonObject is destroyed (or when you call finish) it will + * check to see whether every member of the object was referenced in some way + * (even simply checking for the existence of the member is suffucient). + * + * If not all the members were referenced, then an error will be written to the + * log (which in particular will cause the tests to fail). + * + * If you don't want this behaviour, then call allow_omitted_members() before + * the JsonObject is destroyed. Calling str() also suppresses it (on the basis + * that you may be intending to re-parse that string later). */ class JsonObject { private: std::map positions; + std::set visited_members; int start; int end; bool final_separator; + bool report_unvisited_members = true; +#ifndef CATA_IN_TOOL + bool reported_unvisited_members = false; +#endif JsonIn *jsin; int verify_position( const std::string &name, bool throw_exception = true ); public: JsonObject( JsonIn &jsin ); - JsonObject( const JsonObject &jo ); JsonObject() : start( 0 ), end( 0 ), jsin( nullptr ) {} + JsonObject( const JsonObject & ) = default; + JsonObject( JsonObject && ) = default; + JsonObject &operator=( const JsonObject & ) = default; + JsonObject &operator=( JsonObject && ) = default; ~JsonObject() { finish(); } - JsonObject &operator=( const JsonObject & ); void finish(); // moves the stream to the end of the object size_t size(); bool empty(); + void allow_omitted_members(); bool has_member( const std::string &name ); // true iff named member exists std::set get_member_names(); std::string str(); // copy object json as string @@ -852,6 +875,7 @@ class JsonObject // but the read fails. template bool read( const std::string &name, T &t, bool throw_on_error = true ) { + visited_members.insert( name ); int pos = positions[name]; if( pos <= start ) { return false; @@ -1053,6 +1077,7 @@ template std::set JsonObject::get_tags( const std::string &name ) { std::set res; + visited_members.insert( name ); int pos = positions[ name ]; if( pos <= start ) { return res; diff --git a/src/lightmap.cpp b/src/lightmap.cpp index bb09c161ba37d..401f61eee600d 100644 --- a/src/lightmap.cpp +++ b/src/lightmap.cpp @@ -578,6 +578,10 @@ lit_level map::apparent_light_at( const tripoint &p, const visibility_variables if( cache.u_clairvoyance > 0 && dist <= cache.u_clairvoyance ) { return LL_BRIGHT; } + const field_type_str_id fd_clairvoyant( "fd_clairvoyant" ); + if( fd_clairvoyant.is_valid() && field_at( p ).find_field( fd_clairvoyant ) ) { + return LL_BRIGHT; + } const auto &map_cache = get_cache_ref( p.z ); const apparent_light_info a = apparent_light_helper( map_cache, p ); diff --git a/src/line.cpp b/src/line.cpp index 361c345f44133..a7f14b64ec8b1 100644 --- a/src/line.cpp +++ b/src/line.cpp @@ -267,6 +267,14 @@ int rl_dist( const tripoint &loc1, const tripoint &loc2 ) return square_dist( loc1, loc2 ); } +float rl_dist_exact( const tripoint &loc1, const tripoint &loc2 ) +{ + if( trigdist ) { + return trig_dist( loc1, loc2 ); + } + return square_dist( loc1, loc2 ); +} + int manhattan_dist( const point &loc1, const point &loc2 ) { const point d = abs( loc1 - loc2 ); diff --git a/src/line.h b/src/line.h index 752bcc35fda3e..5b52fd599b4cc 100644 --- a/src/line.h +++ b/src/line.h @@ -117,6 +117,7 @@ int square_dist( const tripoint &loc1, const tripoint &loc2 ); // Choose between the above two according to the "circular distances" option int rl_dist( const point &a, const point &b ); int rl_dist( const tripoint &loc1, const tripoint &loc2 ); +float rl_dist_exact( const tripoint &loc1, const tripoint &loc2 ); // Sum of distance in both axes int manhattan_dist( const point &loc1, const point &loc2 ); diff --git a/src/live_view.cpp b/src/live_view.cpp index 4f68c9da15ede..5469e8c9149b7 100644 --- a/src/live_view.cpp +++ b/src/live_view.cpp @@ -18,7 +18,7 @@ namespace { constexpr int START_LINE = 1; -constexpr int MIN_BOX_HEIGHT = 11; +constexpr int MIN_BOX_HEIGHT = 3; } //namespace @@ -39,7 +39,7 @@ int live_view::draw( const catacurses::window &win, const int max_height ) int line_out = START_LINE; g->pre_print_all_tile_info( mouse_position, win, line_out, line_limit, cache ); - const int live_view_box_height = std::min( max_height, std::max( line_out + 1, MIN_BOX_HEIGHT ) ); + const int live_view_box_height = std::min( max_height, std::max( line_out + 2, MIN_BOX_HEIGHT ) ); #if defined(TILES) || defined(_WIN32) // Because of the way the status UI is done, the live view window must @@ -51,10 +51,12 @@ int live_view::draw( const catacurses::window &win, const int max_height ) // be a different code path here that works for ncurses. const int original_height = win.get()->height; win.get()->height = live_view_box_height; + g->draw_panels(); #endif draw_border( win ); center_print( win, 0, c_white, _( "< Mouse View >" ) ); + wrefresh( win ); #if defined(TILES) || defined(_WIN32) win.get()->height = original_height; @@ -73,3 +75,8 @@ void live_view::show( const tripoint &p ) enabled = true; mouse_position = p; } + +bool live_view::is_enabled() +{ + return enabled; +} diff --git a/src/live_view.h b/src/live_view.h index 540396417bc7f..703075eef7382 100644 --- a/src/live_view.h +++ b/src/live_view.h @@ -17,6 +17,7 @@ class live_view void init(); int draw( const catacurses::window &win, int max_height ); void show( const tripoint &p ); + bool is_enabled(); void hide(); private: diff --git a/src/magic.cpp b/src/magic.cpp index b1f77d4639985..ed5c62ea99b72 100644 --- a/src/magic.cpp +++ b/src/magic.cpp @@ -16,6 +16,7 @@ #include "field.h" #include "game.h" #include "generic_factory.h" +#include "inventory.h" #include "json.h" #include "map.h" #include "messages.h" @@ -620,7 +621,7 @@ bool spell::can_cast( const player &p ) const case mana_energy: return p.magic.available_mana() >= energy_cost( p ); case stamina_energy: - return p.stamina >= energy_cost( p ); + return p.get_stamina() >= energy_cost( p ); case hp_energy: { for( int i = 0; i < num_hp_parts; i++ ) { if( energy_cost( p ) < p.hp_cur[i] ) { @@ -811,7 +812,7 @@ std::string spell::energy_cur_string( const player &p ) const return colorize( to_string( p.magic.available_mana() ), c_light_blue ); } if( energy_source() == stamina_energy ) { - auto pair = get_hp_bar( p.stamina, p.get_stamina_max() ); + auto pair = get_hp_bar( p.get_stamina(), p.get_stamina_max() ); return colorize( pair.first, pair.second ); } if( energy_source() == hp_energy ) { @@ -850,7 +851,7 @@ void spell::create_field( const tripoint &at ) const if( field ) { field->set_field_intensity( field->get_field_intensity() + intensity ); } else { - g->m.add_field( at, *type->field, intensity ); + g->m.add_field( at, *type->field, intensity, -duration_turns() ); } } } @@ -892,14 +893,13 @@ bool spell::is_valid_target( const Creature &caster, const tripoint &p ) const bool valid = false; if( Creature *const cr = g->critter_at( p ) ) { Creature::Attitude cr_att = cr->attitude_to( caster ); - valid = valid || ( cr_att != Creature::A_FRIENDLY && is_valid_target( target_hostile ) ) || - ( cr_att == Creature::A_FRIENDLY && is_valid_target( target_ally ) ); + valid = valid || ( cr_att != Creature::A_FRIENDLY && is_valid_target( target_hostile ) ); + valid = valid || ( cr_att == Creature::A_FRIENDLY && is_valid_target( target_ally ) && + p != caster.pos() ); + valid = valid || ( is_valid_target( target_self ) && p == caster.pos() ); } else { valid = is_valid_target( target_ground ); } - if( p == caster.pos() ) { - valid = valid || is_valid_target( target_self ); - } return valid; } @@ -941,29 +941,7 @@ nc_color spell::damage_type_color() const std::string spell::damage_type_string() const { - switch( dmg_type() ) { - case DT_HEAT: - return "heat"; - case DT_ACID: - return "acid"; - case DT_BASH: - return "bashing"; - case DT_BIOLOGICAL: - return "biological"; - case DT_COLD: - return "cold"; - case DT_CUT: - return "cutting"; - case DT_ELECTRIC: - return "electric"; - case DT_STAB: - return "stabbing"; - case DT_TRUE: - // not *really* force damage - return "force"; - default: - return "error"; - } + return name_by_dt( dmg_type() ); } // constants defined below are just for the formula to be used, @@ -1190,6 +1168,7 @@ void known_magic::serialize( JsonOut &json ) const json.end_object(); } json.end_array(); + json.member( "invlets", invlets ); json.end_object(); } @@ -1211,6 +1190,7 @@ void known_magic::deserialize( JsonIn &jsin ) spellbook.emplace( sp, spell( sp, xp ) ); } } + data.read( "invlets", invlets ); } bool known_magic::knows_spell( const std::string &sp ) const @@ -1385,7 +1365,7 @@ bool known_magic::has_enough_energy( const player &p, spell &sp ) const case bionic_energy: return p.get_power_level() >= units::from_kilojoule( cost ); case stamina_energy: - return p.stamina >= cost; + return p.get_stamina() >= cost; case hp_energy: for( int i = 0; i < num_hp_parts; i++ ) { if( p.hp_cur[i] > cost ) { @@ -1414,11 +1394,11 @@ int known_magic::time_to_learn_spell( const player &p, const spell_id &sp ) cons ( p.get_skill_level( skill_id( "spellcraft" ) ) / 10.0 ) ); } -size_t known_magic::get_spellname_max_width() +int known_magic::get_spellname_max_width() { - size_t width = 0; + int width = 0; for( const spell *sp : get_spells() ) { - width = std::max( width, sp->name().length() ); + width = std::max( width, utf8_width( sp->name() ) ); } return width; } @@ -1429,17 +1409,37 @@ class spellcasting_callback : public uilist_callback std::vector known_spells; void draw_spell_info( const spell &sp, const uilist *menu ); public: + // invlets reserved for special functions + const std::set reserved_invlets{ 'I', '=' }; bool casting_ignore; spellcasting_callback( std::vector &spells, bool casting_ignore ) : known_spells( spells ), casting_ignore( casting_ignore ) {} - bool key( const input_context &, const input_event &event, int /*entnum*/, + bool key( const input_context &, const input_event &event, int entnum, uilist * /*menu*/ ) override { if( event.get_first_input() == 'I' ) { casting_ignore = !casting_ignore; return true; } + if( event.get_first_input() == '=' ) { + int invlet = 0; + invlet = popup_getkey( _( "Choose a new hotkey for this spell." ) ); + if( inv_chars.valid( invlet ) ) { + const bool invlet_set = g->u.magic.set_invlet( known_spells[entnum]->id(), invlet, + reserved_invlets ); + if( !invlet_set ) { + popup( _( "Hotkey already used." ) ); + } else { + popup( _( "%c set. Close and reopen spell menu to refresh list with changes." ), + invlet ); + } + } else { + popup( _( "Hotkey removed." ) ); + g->u.magic.rem_invlet( known_spells[entnum]->id() ); + } + return true; + } return false; } @@ -1454,6 +1454,9 @@ class spellcasting_callback : public uilist_callback _( "Popup Distractions" ); mvwprintz( menu->window, point( menu->w_width - menu->pad_right + 2, 0 ), casting_ignore ? c_red : c_light_green, string_format( "%s %s", "[I]", ignore_string ) ); + const std::string assign_letter = _( "Assign Hotkey [=]" ); + mvwprintz( menu->window, point( menu->w_width - assign_letter.length() - 1, 0 ), c_yellow, + assign_letter ); draw_spell_info( *known_spells[entnum], menu ); } }; @@ -1513,6 +1516,7 @@ void spellcasting_callback::draw_spell_info( const spell &sp, const uilist *menu const int h_offset = menu->w_width - menu->pad_right + 1; // includes spaces on either side for readability const int info_width = menu->pad_right - 4; + const int win_height = menu->w_height; const int h_col1 = h_offset + 1; const int h_col2 = h_offset + ( info_width / 2 ); const catacurses::window w_menu = menu->window; @@ -1532,8 +1536,9 @@ void spellcasting_callback::draw_spell_info( const spell &sp, const uilist *menu line += fold_and_print( w_menu, point( h_col1, line ), info_width, gray, enumerate_spell_data( sp ) ); - - line++; + if( line <= win_height / 3 ) { + line++; + } print_colored_text( w_menu, point( h_col1, line ), gray, gray, string_format( "%s: %d %s", _( "Spell Level" ), sp.get_level(), @@ -1552,32 +1557,43 @@ void spellcasting_callback::draw_spell_info( const spell &sp, const uilist *menu string_format( "%s: %s", _( "to Next Level" ), colorize( to_string( sp.exp_to_next_level() ), light_green ) ) ); - line++; + if( line <= win_height / 2 ) { + line++; + } const bool cost_encumb = energy_cost_encumbered( sp, g->u ); + std::string cost_string = cost_encumb ? _( "Casting Cost (impeded)" ) : _( "Casting Cost" ); + std::string energy_cur = sp.energy_source() == hp_energy ? "" : string_format( _( " (%s current)" ), + sp.energy_cur_string( g->u ) ); + if( !sp.can_cast( g->u ) ) { + cost_string = colorize( _( "Not Enough Energy" ), c_red ); + energy_cur = ""; + } print_colored_text( w_menu, point( h_col1, line++ ), gray, gray, - string_format( "%s: %s %s%s", cost_encumb ? _( "Casting Cost (impeded)" ) : _( "Casting Cost" ), - sp.energy_cost_string( g->u ), sp.energy_string(), - sp.energy_source() == hp_energy ? "" : string_format( " ( %s current )", - sp.energy_cur_string( g->u ) ) ) ); + string_format( "%s: %s %s%s", cost_string, + sp.energy_cost_string( g->u ), sp.energy_string(), energy_cur ) ); const bool c_t_encumb = casting_time_encumbered( sp, g->u ); print_colored_text( w_menu, point( h_col1, line++ ), gray, gray, colorize( string_format( "%s: %s", c_t_encumb ? _( "Casting Time (impeded)" ) : _( "Casting Time" ), moves_to_string( sp.casting_time( g->u ) ) ), c_t_encumb ? c_red : c_light_gray ) ); - line++; + if( line <= win_height * 3 / 4 ) { + line++; + } std::string targets; if( sp.is_valid_target( target_none ) ) { - targets = "self"; + targets = _( "self" ); } else { targets = sp.enumerate_targets(); } print_colored_text( w_menu, point( h_col1, line++ ), gray, gray, - string_format( "%s: %s", _( "Valid Targets" ), _( targets ) ) ); + string_format( "%s: %s", _( "Valid Targets" ), targets ) ); - line++; + if( line <= win_height * 3 / 4 ) { + line++; + } const int damage = sp.damage(); std::string damage_string; @@ -1594,15 +1610,15 @@ void spellcasting_callback::draw_spell_info( const spell &sp, const uilist *menu light_green ) ); } if( sp.aoe() > 0 ) { - std::string aoe_string_temp = "Spell Radius"; + std::string aoe_string_temp = _( "Spell Radius" ); std::string degree_string; if( fx == "cone_attack" ) { - aoe_string_temp = "Cone Arc"; - degree_string = "degrees"; + aoe_string_temp = _( "Cone Arc" ); + degree_string = _( "degrees" ); } else if( fx == "line_attack" ) { - aoe_string_temp = "Line Width"; + aoe_string_temp = _( "Line Width" ); } - aoe_string = string_format( "%s: %d %s", _( aoe_string_temp ), sp.aoe(), degree_string ); + aoe_string = string_format( "%s: %d %s", aoe_string_temp, sp.aoe(), degree_string ); } } else if( fx == "teleport_random" ) { if( sp.aoe() > 0 ) { @@ -1631,6 +1647,20 @@ void spellcasting_callback::draw_spell_info( const spell &sp, const uilist *menu string_format( "%s: %s", _( "Duration" ), sp.duration_string() ) ); } +bool known_magic::set_invlet( const spell_id &sp, int invlet, const std::set &used_invlets ) +{ + if( used_invlets.count( invlet ) > 0 ) { + return false; + } + invlets[sp] = invlet; + return true; +} + +void known_magic::rem_invlet( const spell_id &sp ) +{ + invlets.erase( sp ); +} + int known_magic::get_invlet( const spell_id &sp, std::set &used_invlets ) { auto found = invlets.find( sp ); @@ -1664,21 +1694,21 @@ int known_magic::get_invlet( const spell_id &sp, std::set &used_invlets ) int known_magic::select_spell( const player &p ) { // max width of spell names - const size_t max_spell_name_length = get_spellname_max_width(); + const int max_spell_name_length = get_spellname_max_width(); std::vector known_spells = get_spells(); uilist spell_menu; - spell_menu.w_height = 24; - spell_menu.w_width = 80; + spell_menu.w_height = clamp( static_cast( known_spells.size() ), 24, TERMY * 9 / 10 ); + spell_menu.w_width = std::max( 80, TERMX * 3 / 8 ); spell_menu.w_x = ( TERMX - spell_menu.w_width ) / 2; spell_menu.w_y = ( TERMY - spell_menu.w_height ) / 2; - spell_menu.pad_right = spell_menu.w_width - static_cast( max_spell_name_length ) - 5; + spell_menu.pad_right = spell_menu.w_width - max_spell_name_length - 5; spell_menu.title = _( "Choose a Spell" ); + spell_menu.hilight_disabled = true; spellcasting_callback cb( known_spells, casting_ignore ); spell_menu.callback = &cb; - std::set used_invlets; - used_invlets.emplace( 'I' ); + std::set used_invlets{ cb.reserved_invlets }; for( size_t i = 0; i < known_spells.size(); i++ ) { spell_menu.addentry( static_cast( i ), known_spells[i]->can_cast( p ), @@ -1761,8 +1791,8 @@ static void draw_spellbook_info( const spell_type &sp, uilist *menu ) const std::string spell_class = sp.spell_class == trait_id( "NONE" ) ? _( "Classless" ) : sp.spell_class->name(); print_colored_text( w, point( start_x, line ), gray, gray, spell_name ); - print_colored_text( w, point( menu->pad_left - spell_class.length() - 1, line++ ), yellow, yellow, - spell_class ); + print_colored_text( w, point( menu->pad_left - utf8_width( spell_class ) - 1, line++ ), yellow, + yellow, spell_class ); line++; line += fold_and_print( w, point( start_x, line ), width, gray, "%s", sp.description ); line++; @@ -1800,8 +1830,15 @@ static void draw_spellbook_info( const spell_type &sp, uilist *menu ) line++; print_colored_text( w, point( start_x, line++ ), gray, gray, - string_format( "%-10s %-7s %-7s %-7s", _( "Stat Gain" ), _( "lvl 0" ), _( "per lvl" ), - _( "max lvl" ) ) ); + string_format( "%s %s %s %s", + //~ translation should not exceed 10 console cells + left_justify( _( "Stat Gain" ), 10 ), + //~ translation should not exceed 7 console cells + left_justify( _( "lvl 0" ), 7 ), + //~ translation should not exceed 7 console cells + left_justify( _( "per lvl" ), 7 ), + //~ translation should not exceed 7 console cells + left_justify( _( "max lvl" ), 7 ) ) ); std::vector> rows; if( sp.max_damage != 0 && sp.min_damage != 0 && !damage_string.empty() ) { @@ -1862,12 +1899,13 @@ void fake_spell::load( JsonObject &jo ) } optional( jo, false, "min_level", level, 0 ); if( jo.has_string( "level" ) ) { - debugmsg( "level member for fake_spell was renamed to min_level. id: %s", temp_id ); + debugmsg( "level member for fake_spell was renamed to min_level. id: %s", temp_id ); } } void fake_spell::serialize( JsonOut &json ) const { + json.start_object(); json.member( "id", id ); json.member( "hit_self", self ); if( !max_level ) { @@ -1876,6 +1914,7 @@ void fake_spell::serialize( JsonOut &json ) const json.member( "max_level", *max_level ); } json.member( "min_level", level ); + json.end_object(); } void fake_spell::deserialize( JsonIn &jsin ) diff --git a/src/magic.h b/src/magic.h index b8edcd690d0ff..943a8397679fa 100644 --- a/src/magic.h +++ b/src/magic.h @@ -459,9 +459,13 @@ class known_magic void serialize( JsonOut &json ) const; void deserialize( JsonIn &jsin ); + + // returns false if invlet is already used + bool set_invlet( const spell_id &sp, int invlet, const std::set &used_invlets ); + void rem_invlet( const spell_id &sp ); private: // gets length of longest spell name - size_t get_spellname_max_width(); + int get_spellname_max_width(); // gets invlet if assigned, or -1 if not int get_invlet( const spell_id &sp, std::set &used_invlets ); }; diff --git a/src/magic_enchantment.cpp b/src/magic_enchantment.cpp index 3fab89e767ba3..e16c0d427f0d3 100644 --- a/src/magic_enchantment.cpp +++ b/src/magic_enchantment.cpp @@ -162,7 +162,7 @@ bool enchantment::is_active( const Character &guy, const item &parent ) const } if( !( active_conditions.first == has::HELD || - ( active_conditions.first == has::WIELD && &guy.weapon == &parent ) || + ( active_conditions.first == has::WIELD && guy.is_wielding( parent ) ) || ( active_conditions.first == has::WORN && guy.is_worn( parent ) ) ) ) { return false; } @@ -251,21 +251,11 @@ void enchantment::serialize( JsonOut &jsout ) const jsout.member( "condition", io::enum_to_string( active_conditions.second ) ); if( !hit_you_effect.empty() ) { - jsout.member( "hit_you_effect" ); - jsout.start_array(); - for( const fake_spell &sp : hit_you_effect ) { - sp.serialize( jsout ); - } - jsout.end_array(); + jsout.member( "hit_you_effect", hit_you_effect ); } if( !hit_me_effect.empty() ) { - jsout.member( "hit_me_effect" ); - jsout.start_array(); - for( const fake_spell &sp : hit_me_effect ) { - sp.serialize( jsout ); - } - jsout.end_array(); + jsout.member( "hit_me_effect", hit_me_effect ); } if( !intermittent_activation.empty() ) { diff --git a/src/magic_spell_effect.cpp b/src/magic_spell_effect.cpp index 1d2deffe6a4a1..ff9fdc66f5501 100644 --- a/src/magic_spell_effect.cpp +++ b/src/magic_spell_effect.cpp @@ -295,6 +295,7 @@ static void damage_targets( const spell &sp, const Creature &caster, atk.end_point = target; atk.hit_critter = cr; atk.proj = bolt; + atk.missed_by = 0.0; if( !sp.effect_data().empty() ) { add_effect_to_target( target, sp ); } @@ -760,12 +761,12 @@ void spell_effect::morale( const spell &sp, Creature &caster, const tripoint &ta { const std::set area = spell_effect_blast( sp, caster.pos(), target, sp.aoe(), false ); if( sp.effect_data().empty() ) { - debugmsg( "ERROR: %s must have a valid morale_type as effect_str. None specified.", + debugmsg( "ERROR: %s must have a valid morale_type as effect_str. None specified.", sp.id().c_str() ); return; } if( !morale_type( sp.effect_data() ).is_valid() ) { - debugmsg( "ERROR: %s must have a valid morale_type as effect_str. %s is invalid.", sp.id().c_str(), + debugmsg( "ERROR: %s must have a valid morale_type as effect_str. %s is invalid.", sp.id().c_str(), sp.effect_data() ); return; } @@ -812,7 +813,7 @@ void spell_effect::mutate( const spell &sp, Creature &caster, const tripoint &ta continue; } // 10000 represents 100.00% to increase granularity without swapping everything to a float - if( sp.damage() >= rng( 0, 10000 ) ) { + if( sp.damage() < rng( 1, 10000 ) ) { // chance failure! but keep trying for other targets continue; } diff --git a/src/magic_teleporter_list.cpp b/src/magic_teleporter_list.cpp index a20b7203dc956..bb751ab455f9a 100644 --- a/src/magic_teleporter_list.cpp +++ b/src/magic_teleporter_list.cpp @@ -68,7 +68,7 @@ static cata::optional find_valid_teleporters_omt( const tripoint &omt_ return cata::nullopt; } -bool teleporter_list::place_avatar_overmap( avatar &, const tripoint &omt_pt ) const +bool teleporter_list::place_avatar_overmap( avatar &you, const tripoint &omt_pt ) const { tinymap omt_dest( 2, true ); tripoint sm_dest = omt_to_sm_copy( omt_pt ); @@ -78,6 +78,7 @@ bool teleporter_list::place_avatar_overmap( avatar &, const tripoint &omt_pt ) c return false; } tripoint local_dest = omt_dest.getlocal( *global_dest ) + point( 60, 60 ); + you.add_effect( efftype_id( "ignore_fall_damage" ), 1_seconds, num_bp, false, 0, true ); g->place_player_overmap( omt_pt ); g->place_player( local_dest ); return true; @@ -169,7 +170,7 @@ class teleporter_callback : public uilist_callback } overmap_ui::draw_overmap_chunk( menu->window, g->u, index_pairs[entnum], 1, start_x + 1, 29, 21 ); mvwprintz( menu->window, point( start_x + 2, 1 ), c_white, - string_format( "Distance: %d (%d, %d)", + string_format( _( "Distance: %d (%d, %d)" ), rl_dist( ms_to_omt_copy( g->m.getabs( g->u.pos() ) ), index_pairs[entnum] ), index_pairs[entnum].x, index_pairs[entnum].y ) ); } @@ -184,15 +185,14 @@ cata::optional teleporter_list::choose_teleport_location() teleport_selector.w_height = 24; int index = 0; - size_t column_width = 0; + int column_width = 25; std::map index_pairs; for( const std::pair &gate : known_teleporters ) { teleport_selector.addentry( index, true, 0, gate.second ); - column_width = std::max( column_width, gate.second.size() ); + column_width = std::max( column_width, utf8_width( gate.second ) ); index_pairs.emplace( index, gate.first ); index++; } - column_width = std::max( column_width, static_cast( 25 ) ); teleporter_callback cb( index_pairs ); teleport_selector.callback = &cb; teleport_selector.w_width = 38 + column_width; diff --git a/src/main.cpp b/src/main.cpp index 8c05a2ae009fa..21536165ad805 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -167,10 +167,10 @@ int main( int argc, char *argv[] ) #endif #if defined(__ANDROID__) - PATH_INFO::init_user_dir( external_storage_path.c_str() ); + PATH_INFO::init_user_dir( external_storage_path ); #else # if defined(USE_HOME_DIR) || defined(USE_XDG_DIR) - PATH_INFO::init_user_dir(); + PATH_INFO::init_user_dir( "" ); # else PATH_INFO::init_user_dir( "./" ); # endif @@ -207,7 +207,7 @@ int main( int argc, char *argv[] ) } }, { - "--check-mods", "[mods...]", + "--check-mods", "[mods…]", "Checks the json files belonging to CDDA mods", section_default, [&check_mods, &opts]( int n, const char *params[] ) -> int { @@ -221,7 +221,7 @@ int main( int argc, char *argv[] ) } }, { - "--dump-stats", " [mode = TSV] [opts...]", + "--dump-stats", " [mode = TSV] [opts…]", "Dumps item stats", section_default, [&dump, &dmode, &opts]( int n, const char *params[] ) -> int { @@ -339,6 +339,7 @@ int main( int argc, char *argv[] ) }, { "--userdir", "", + // NOLINTNEXTLINE(cata-text-style): the dot is not a period "Base path for user-overrides to files from the ./data directory and named below", section_user_directory, []( int num_args, const char **params ) -> int { @@ -375,8 +376,7 @@ int main( int argc, char *argv[] ) { return -1; } - PATH_INFO::update_pathname( "datadir", params[0] ); - PATH_INFO::update_datadir(); + PATH_INFO::set_datadir( params[0] ); return 1; } }, @@ -389,7 +389,7 @@ int main( int argc, char *argv[] ) { return -1; } - PATH_INFO::update_pathname( "savedir", params[0] ); + PATH_INFO::set_savedir( params[0] ); return 1; } }, @@ -402,8 +402,7 @@ int main( int argc, char *argv[] ) { return -1; } - PATH_INFO::update_pathname( "config_dir", params[0] ); - PATH_INFO::update_config_dir(); + PATH_INFO::set_config_dir( params[0] ); return 1; } }, @@ -416,7 +415,7 @@ int main( int argc, char *argv[] ) { return -1; } - PATH_INFO::update_pathname( "memorialdir", params[0] ); + PATH_INFO::set_memorialdir( params[0] ); return 1; } }, @@ -429,7 +428,7 @@ int main( int argc, char *argv[] ) { return -1; } - PATH_INFO::update_pathname( "options", params[0] ); + PATH_INFO::set_options( params[0] ); return 1; } }, @@ -442,7 +441,7 @@ int main( int argc, char *argv[] ) { return -1; } - PATH_INFO::update_pathname( "keymap", params[0] ); + PATH_INFO::set_keymap( params[0] ); return 1; } }, @@ -455,7 +454,7 @@ int main( int argc, char *argv[] ) { return -1; } - PATH_INFO::update_pathname( "autopickup", params[0] ); + PATH_INFO::set_autopickup( params[0] ); return 1; } }, @@ -468,7 +467,7 @@ int main( int argc, char *argv[] ) { return -1; } - PATH_INFO::update_pathname( "motd", params[0] ); + PATH_INFO::set_motd( params[0] ); return 1; } }, @@ -538,15 +537,15 @@ int main( int argc, char *argv[] ) } } - if( !dir_exist( FILENAMES["datadir"] ) ) { + if( !dir_exist( PATH_INFO::datadir() ) ) { printf( "Fatal: Can't find directory \"%s\"\nPlease ensure the current working directory is correct. Perhaps you meant to start \"cataclysm-launcher\"?\n", - FILENAMES["datadir"].c_str() ); + PATH_INFO::datadir().c_str() ); exit( 1 ); } - if( !assure_dir_exist( FILENAMES["user_dir"] ) ) { + if( !assure_dir_exist( PATH_INFO::user_dir() ) ) { printf( "Can't open or create %s. Check permissions.\n", - FILENAMES["user_dir"].c_str() ); + PATH_INFO::user_dir().c_str() ); exit( 1 ); } diff --git a/src/main_menu.cpp b/src/main_menu.cpp index 2ea5744c2165e..18b7f48e33e20 100644 --- a/src/main_menu.cpp +++ b/src/main_menu.cpp @@ -42,7 +42,7 @@ #define dbg(x) DebugLog((DebugLevel)(x),D_GAME) << __FILE__ << ":" << __LINE__ << ": " -static const bool halloween_theme = true; +static const bool halloween_theme = false; void main_menu::on_move() const { @@ -258,13 +258,9 @@ void main_menu::init_windows() void main_menu::init_strings() { // ASCII Art - mmenu_title = load_file( PATH_INFO::find_translated_file( "titledir", - halloween_theme ? ".halloween" : ".title", - halloween_theme ? "halloween" : "title" ), - _( "Cataclysm: Dark Days Ahead" ) ); + mmenu_title = load_file( PATH_INFO::title( halloween_theme ), _( "Cataclysm: Dark Days Ahead" ) ); // MOTD - auto motd = load_file( PATH_INFO::find_translated_file( "motddir", ".motd", "motd" ), - _( "No message today." ) ); + auto motd = load_file( PATH_INFO::motd(), _( "No message today." ) ); std::ostringstream buffer; mmenu_motd.clear(); @@ -277,8 +273,7 @@ void main_menu::init_strings() // Credits mmenu_credits.clear(); - read_from_file_optional( PATH_INFO::find_translated_file( "creditsdir", ".credits", - "credits" ), [&buffer]( std::istream & stream ) { + read_from_file_optional( PATH_INFO::credits(), [&buffer]( std::istream & stream ) { std::string line; while( std::getline( stream, line ) ) { if( line[0] != '#' ) { @@ -316,6 +311,7 @@ void main_menu::init_strings() vWorldSubItems.push_back( pgettext( "Main Menu|World", "eset World" ) ); vWorldSubItems.push_back( pgettext( "Main Menu|World", "how World Mods" ) ); vWorldSubItems.push_back( pgettext( "Main Menu|World", "opy World Settings" ) ); + vWorldSubItems.push_back( pgettext( "Main Menu|World", "Character to emplate" ) ); vWorldHotkeys.clear(); for( const std::string &item : vWorldSubItems ) { @@ -336,7 +332,7 @@ void main_menu::init_strings() loading_ui ui( false ); g->load_core_data( ui ); - vdaytip = SNIPPET.random_from_category( "tip" ); + vdaytip = SNIPPET.random_from_category( "tip" ).value_or( translation() ).translated(); } void main_menu::display_text( const std::string &text, const std::string &title, int &selected ) @@ -376,7 +372,7 @@ void main_menu::load_char_templates() { templates.clear(); - for( std::string path : get_files_from_path( ".template", FILENAMES["templatedir"], false, + for( std::string path : get_files_from_path( ".template", PATH_INFO::templatedir(), false, true ) ) { path = native_to_utf8( path ); path.erase( path.find( ".template" ), std::string::npos ); @@ -399,26 +395,31 @@ bool main_menu::opening_screen() init_strings(); print_menu( w_open, 0, menu_offset ); - if( !assure_dir_exist( FILENAMES["config_dir"] ) ) { + if( !assure_dir_exist( PATH_INFO::config_dir() ) ) { popup( _( "Unable to make config directory. Check permissions." ) ); return false; } - if( !assure_dir_exist( FILENAMES["savedir"] ) ) { + if( !assure_dir_exist( PATH_INFO::savedir() ) ) { popup( _( "Unable to make save directory. Check permissions." ) ); return false; } - if( !assure_dir_exist( FILENAMES["templatedir"] ) ) { + if( !assure_dir_exist( PATH_INFO::templatedir() ) ) { popup( _( "Unable to make templates directory. Check permissions." ) ); return false; } - if( !assure_dir_exist( FILENAMES["user_sound"] ) ) { + if( !assure_dir_exist( PATH_INFO::user_sound() ) ) { popup( _( "Unable to make sound directory. Check permissions." ) ); return false; } + if( !assure_dir_exist( PATH_INFO::user_gfx() ) ) { + popup( _( "Unable to make graphics directory. Check permissions." ) ); + return false; + } + load_char_templates(); ctxt.register_cardinal(); @@ -538,7 +539,7 @@ bool main_menu::opening_screen() for( int i = 1; i < NUM_SPECIAL_GAMES; i++ ) { std::string spec_name = special_game_name( static_cast( i ) ); special_names.push_back( spec_name ); - xlen += spec_name.size() + 2; + xlen += utf8_width( shortcut_text( c_white, spec_name ), true ) + 2; } xlen += special_names.size() - 1; point offset( menu_offset + point( -( xlen / 4 ) + 32 + extra_w / 2, -2 ) ); @@ -595,7 +596,8 @@ bool main_menu::opening_screen() int xlen = 0; for( int i = 0; i < settings_subs_to_display; ++i ) { settings_subs.push_back( vSettingsSubItems[i] ); - xlen += vSettingsSubItems[i].size() + 2; // Open and close brackets added + // Open and close brackets added + xlen += utf8_width( shortcut_text( c_white, vSettingsSubItems[i] ), true ) + 2; } xlen += settings_subs.size() - 1; point offset = menu_offset + point( 46 + extra_w / 2 - ( xlen / 4 ), -2 ); @@ -817,7 +819,7 @@ bool main_menu::new_character_tab() } else if( !templates.empty() && action == "DELETE_TEMPLATE" ) { if( query_yn( _( "Are you sure you want to delete %s?" ), templates[sel3].c_str() ) ) { - const auto path = FILENAMES["templatedir"] + utf8_to_native( templates[sel3] ) + ".template"; + const auto path = PATH_INFO::templatedir() + utf8_to_native( templates[sel3] ) + ".template"; if( std::remove( path.c_str() ) != 0 ) { popup( _( "Sorry, something went wrong." ) ); } else { @@ -871,32 +873,43 @@ bool main_menu::new_character_tab() return start; } -bool main_menu::load_character_tab() +bool main_menu::load_character_tab( bool transfer ) { bool start = false; const auto all_worldnames = world_generator->all_worldnames(); - const size_t last_world_pos = std::find( all_worldnames.begin(), all_worldnames.end(), - world_generator->last_world_name ) - all_worldnames.begin(); - if( last_world_pos < all_worldnames.size() ) { - sel2 = last_world_pos; + if( transfer ) { + layer = 3; + sel1 = 2; + sel2 -= 1; + sel3 = 0; savegames = world_generator->get_world( all_worldnames[sel2] )->world_saves; - } - const size_t last_character_pos = std::find_if( savegames.begin(), savegames.end(), - []( const save_t &it ) { - return it.player_name() == world_generator->last_character_name; - } ) - savegames.begin(); - if( last_character_pos < savegames.size() ) { - sel3 = last_character_pos; } else { - sel3 = 0; + const size_t last_world_pos = std::find( all_worldnames.begin(), all_worldnames.end(), + world_generator->last_world_name ) - all_worldnames.begin(); + if( last_world_pos < all_worldnames.size() ) { + sel2 = last_world_pos; + savegames = world_generator->get_world( all_worldnames[sel2] )->world_saves; + } + + const size_t last_character_pos = std::find_if( savegames.begin(), savegames.end(), + []( const save_t &it ) { + return it.player_name() == world_generator->last_character_name; + } ) - savegames.begin(); + if( last_character_pos < savegames.size() ) { + sel3 = last_character_pos; + } else { + sel3 = 0; + } } + const int offset_x = transfer ? 25 : 15; + const int offset_y = transfer ? -1 : 0; while( !start && sel1 == 2 && ( layer == 2 || layer == 3 ) ) { - print_menu( w_open, 2, menu_offset ); + print_menu( w_open, transfer ? 3 : 2, menu_offset ); if( layer == 2 && sel1 == 2 ) { if( all_worldnames.empty() ) { - mvwprintz( w_open, menu_offset + point( 15 + extra_w / 2, -2 ), + mvwprintz( w_open, menu_offset + point( offset_x + extra_w / 2, -2 ), c_red, "%s", _( "No Worlds found!" ) ); on_error(); } else { @@ -912,7 +925,7 @@ bool main_menu::load_character_tab() color1 = c_white; color2 = h_white; } - mvwprintz( w_open, point( 15 + menu_offset.x + extra_w / 2, line ), + mvwprintz( w_open, point( offset_x + menu_offset.x + extra_w / 2, line + offset_y ), ( sel2 == i ? color2 : color1 ), "%s (%d)", world_name, savegames_count ); } @@ -954,11 +967,11 @@ bool main_menu::load_character_tab() savegames.erase( new_end, savegames.end() ); } - mvwprintz( w_open, menu_offset + point( 15 + extra_w / 2, -2 - sel2 ), h_white, + mvwprintz( w_open, menu_offset + point( offset_x + extra_w / 2, -2 - sel2 + offset_y ), h_white, "%s", wn ); if( savegames.empty() ) { - mvwprintz( w_open, menu_offset + point( 40 + extra_w / 2, -2 - sel2 ), + mvwprintz( w_open, menu_offset + point( 40 + extra_w / 2, -2 - sel2 + offset_y ), c_red, "%s", _( "No save games found!" ) ); on_error(); } else { @@ -966,7 +979,7 @@ bool main_menu::load_character_tab() for( const auto &savename : savegames ) { const bool selected = sel3 + line == menu_offset.y - 2; - mvwprintz( w_open, point( 40 + menu_offset.x + extra_w / 2, line-- ), + mvwprintz( w_open, point( 40 + menu_offset.x + extra_w / 2, line-- + offset_y ), selected ? h_white : c_white, "%s", savename.player_name() ); } @@ -976,7 +989,7 @@ bool main_menu::load_character_tab() std::string action = handle_input_timeout( ctxt ); if( errflag && action != "TIMEOUT" ) { clear_error(); - layer = 2; + layer = transfer ? 1 : 2; } else if( action == "DOWN" ) { if( sel3 > 0 ) { sel3--; @@ -990,7 +1003,7 @@ bool main_menu::load_character_tab() sel3 = 0; } } else if( action == "LEFT" || action == "QUIT" ) { - layer = 2; + layer = transfer ? 1 : 2; sel3 = 0; print_menu( w_open, sel1, menu_offset ); } @@ -998,11 +1011,13 @@ bool main_menu::load_character_tab() if( sel3 >= 0 && sel3 < static_cast( savegames.size() ) ) { werase( w_background ); wrefresh( w_background ); + WORLDPTR world = world_generator->get_world( all_worldnames[sel2] ); world_generator->last_world_name = world->world_name; world_generator->last_character_name = savegames[sel3].player_name(); world_generator->save_last_world_info(); world_generator->set_active_world( world ); + try { g->setup(); } catch( const std::exception &err ) { @@ -1017,14 +1032,45 @@ bool main_menu::load_character_tab() } } } // end while + + if( transfer ) { + layer = 3; + sel1 = 3; + sel2++; + sel3 = vWorldSubItems.size() - 1; + } + return start; } void main_menu::world_tab() { - while( sel1 == 3 && ( layer == 2 || layer == 3 ) ) { + while( sel1 == 3 && ( layer == 2 || layer == 3 || layer == 4 ) ) { print_menu( w_open, 3, menu_offset ); - if( layer == 3 ) { // World Menu + if( layer == 4 ) { //Character to Template + if( load_character_tab( true ) ) { + points_left points; + points.stat_points = 0; + points.trait_points = 0; + points.skill_points = 0; + points.limit = points_left::TRANSFER; + + g->u.setID( character_id(), true ); + g->u.reset_all_misions(); + g->u.save_template( g->u.name, points ); + + g->u = avatar(); + MAPBUFFER.reset(); + overmap_buffer.clear(); + + load_char_templates(); + + werase( w_background ); + wrefresh( w_background ); + + layer = 3; + } + } else if( layer == 3 ) { // World Menu // Show options for Destroy, Reset worlds. // Reset and Destroy ask for world to modify. // Reset empties world of everything but options, then makes new world within it. @@ -1103,6 +1149,9 @@ void main_menu::world_tab() } else if( sel3 == 3 ) { // Copy World settings layer = 2; world_generator->make_new_world( true, all_worldnames[sel2 - 1] ); + } else if( sel3 == 4 ) { // Character to Template + layer = 4; + sel4 = 0; } if( query_yes ) { @@ -1200,12 +1249,12 @@ std::string main_menu::halloween_spider() " |\n" " |\n" " |\n" - " , . | . ,\n" - " { | ,--, | }\n" + " , . | . ,\n" // NOLINT(cata-text-style) + " { | ,--, | }\n" // NOLINT(cata-text-style) " \\\\{~~~~}//\n" " /_/ {..} \\_\\\n" " { { } }\n" - " , , , ."; + " , , , ."; // NOLINT(cata-text-style) return spider; } @@ -1216,10 +1265,10 @@ std::string main_menu::halloween_graves() " _\n" " -q __(\")_\n" " (\\ \\_ _/\n" - " .-. .-''\"'. |/\n" + " .-. .-''\"'. |/\n" // NOLINT(cata-text-style) "|RIP| | RIP | .-.\n" "| | | | |RIP|\n" - "; ; | | ,'---',"; + "; ; | | ,'---',"; // NOLINT(cata-text-style) return graves; } diff --git a/src/main_menu.h b/src/main_menu.h index f114b27a9db05..7b63c44b78294 100644 --- a/src/main_menu.h +++ b/src/main_menu.h @@ -53,7 +53,7 @@ class main_menu // Tab functions. They return whether a game was started or not. The ones that can never // start a game have a void return type. bool new_character_tab(); - bool load_character_tab(); + bool load_character_tab( bool transfer = false ); void world_tab(); /* @@ -67,6 +67,7 @@ class main_menu int sel1 = 1; int sel2 = 1; int sel3 = 1; + int sel4 = 1; int layer = 1; point LAST_TERM; catacurses::window w_open; diff --git a/src/map.cpp b/src/map.cpp index b384903fd8188..b4b3ec88389fd 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -304,7 +304,7 @@ std::unique_ptr map::detach_vehicle( vehicle *veh ) int z = veh->sm_pos.z; if( z < -OVERMAP_DEPTH || z > OVERMAP_HEIGHT ) { - debugmsg( "detach_vehicle got a vehicle outside allowed z-level range! name=%s, submap:%d,%d,%d", + debugmsg( "detach_vehicle got a vehicle outside allowed z-level range! name=%s, submap:%d,%d,%d", veh->name, veh->sm_pos.x, veh->sm_pos.y, veh->sm_pos.z ); // Try to fix by moving the vehicle here z = veh->sm_pos.z = abs_sub.z; @@ -334,7 +334,7 @@ std::unique_ptr map::detach_vehicle( vehicle *veh ) return result; } } - debugmsg( "detach_vehicle can't find it! name=%s, submap:%d,%d,%d", veh->name, veh->sm_pos.x, + debugmsg( "detach_vehicle can't find it! name=%s, submap:%d,%d,%d", veh->name, veh->sm_pos.x, veh->sm_pos.y, veh->sm_pos.z ); return std::unique_ptr(); } @@ -2905,7 +2905,22 @@ int map::collapse_check( const tripoint &p ) const bool collapses = has_flag( "COLLAPSES", p ); const bool supports_roof = has_flag( "SUPPORTS_ROOF", p ); - int num_supports = 0; + int num_supports = p.z == OVERMAP_DEPTH ? 0 : -5; + // if there's support below, things are less likely to collapse + if( p.z > -OVERMAP_DEPTH ) { + const tripoint &pbelow = tripoint( p.xy(), p.z - 1 ); + for( const tripoint &tbelow : points_in_radius( pbelow, 1 ) ) { + if( has_flag( "SUPPORTS_ROOF", pbelow ) ) { + num_supports += 1; + if( has_flag( "WALL", pbelow ) ) { + num_supports = 2; + } + if( tbelow == pbelow ) { + num_supports += 2; + } + } + } + } for( const tripoint &t : points_in_radius( p, 1 ) ) { if( p == t ) { @@ -2919,8 +2934,12 @@ int map::collapse_check( const tripoint &p ) num_supports += 2; } } else if( supports_roof ) { - if( has_flag( "SUPPORTS_ROOF", t ) && !has_flag( "COLLAPSES", t ) ) { - num_supports += 3; + if( has_flag( "SUPPORTS_ROOF", t ) ) { + if( has_flag( "WALL", t ) ) { + num_supports += 4; + } else if( !has_flag( "COLLAPSES", t ) ) { + num_supports += 3; + } } } } @@ -2928,25 +2947,47 @@ int map::collapse_check( const tripoint &p ) return 1.7 * num_supports; } -void map::collapse_at( const tripoint &p, const bool silent ) +// there is still some odd behavior here and there and you can get floating chunks of +// unsupported floor, but this is much better than it used to be +void map::collapse_at( const tripoint &p, const bool silent, const bool was_supporting, + const bool destroy_pos ) { - destroy( p, silent ); - crush( p ); - make_rubble( p ); - for( const tripoint &t : points_in_radius( p, 1, 1 ) ) { - if( p == t || ( t.z < p.z && has_flag( "SUPPORTS_ROOF", p ) ) ) { - continue; - } - if( has_flag( "COLLAPSES", t ) && one_in( collapse_check( t ) ) ) { - destroy( t, silent ); - // We only check for rubble spread if it doesn't already collapse to prevent double crushing - } else if( t.z > p.z && has_flag( "FLAT", t ) ) { - destroy( t ); - } else if( has_flag( "FLAT", t ) && one_in( 8 ) ) { - crush( t ); - make_rubble( t ); + const bool supports = was_supporting || has_flag( "SUPPORTS_ROOF", p ); + const bool wall = was_supporting || has_flag( "WALL", p ); + // don't bash again if the caller already bashed here + if( destroy_pos ) { + destroy( p, silent ); + crush( p ); + make_rubble( p ); + } + const bool still_supports = has_flag( "SUPPORTS_ROOF", p ); + + // If something supporting the roof collapsed, see what else collapses + if( supports && !still_supports ) { + for( const tripoint &t : points_in_radius( p, 1 ) ) { + const tripoint &tz = tripoint( t.xy(), t.z + 1 ); + // if nothing above us had the chance of collapsing, move on + if( !one_in( collapse_check( tz ) ) ) { + continue; + } + // if a wall collapses, walls without support from below risk collapsing and + //propogate the collapse upwards + if( wall && p == t && has_flag( "WALL", tz ) ) { + collapse_at( tz, silent ); + } + // floors without support from below risk collapsing into open air and can propogate + // the collapse horizontally but not vertically + if( p != t && ( has_flag( "SUPPORTS_ROOF", t ) && has_flag( "COLLAPSES", t ) ) ) { + collapse_at( t, silent ); + } + // this tile used to support a roof, now it doesn't, which means there is only + // open air above us + ter_set( tz, t_open_air ); + furn_set( tz, f_null ); } } + // it would be great to check if collapsing ceilings smashed through the floor, but + // that's not handled for now } void map::smash_items( const tripoint &p, const int power, const std::string &cause_message ) @@ -3268,10 +3309,9 @@ void map::bash_ter_furn( const tripoint &p, bash_params ¶ms ) soundfxid = "smash_success"; sound = bash->sound; // Set this now in case the ter_set below changes this - const bool collapses = smash_ter && has_flag( "COLLAPSES", p ); - const bool supports = smash_ter && has_flag( "SUPPORTS_ROOF", p ); - + const bool will_collapse = smash_ter && has_flag( "SUPPORTS_ROOF", p ) && !has_flag( "INDOORS", p ); const bool tent = smash_furn && !bash->tent_centers.empty(); + // Special code to collapse the tent if destroyed if( tent ) { // Get ids of possible centers @@ -3378,20 +3418,8 @@ void map::bash_ter_furn( const tripoint &p, bash_params ¶ms ) explosion_handler::explosion( p, bash->explosive, 0.8, false ); } - if( collapses ) { - collapse_at( p, params.silent ); - } - // Check the flag again to ensure the new terrain doesn't support anything - if( supports && !has_flag( "SUPPORTS_ROOF", p ) ) { - for( const tripoint &t : points_in_radius( p, 1 ) ) { - if( p == t || !has_flag( "COLLAPSES", t ) ) { - continue; - } - - if( one_in( collapse_check( t ) ) ) { - collapse_at( t, params.silent ); - } - } + if( will_collapse && !has_flag( "SUPPORTS_ROOF", p ) ) { + collapse_at( p, params.silent, true, bash->explosive > 0 ); } params.did_bash = true; @@ -3517,6 +3545,14 @@ void map::destroy_furn( const tripoint &p, const bool silent ) } } +void map::batter( const tripoint &p, int power, int tries, const bool silent ) +{ + int count = 0; + while( count < tries && bash( p, power, silent ).success ) { + count++; + } +} + void map::crush( const tripoint &p ) { player *crushed_player = g->critter_at( p ); @@ -4437,6 +4473,11 @@ item &map::add_item( const tripoint &p, item new_item ) } if( new_item.has_flag( "ACT_IN_FIRE" ) && get_field( p, fd_fire ) != nullptr ) { + if( new_item.has_flag( "BOMB" ) && new_item.is_transformable() ) { + //Convert a bomb item into its transformable version, e.g. incendiary grenade -> active incendiary grenade + new_item.convert( dynamic_cast + ( new_item.type->get_use( "transform" )->get_actor_ptr() )->target ); + } new_item.active = true; } @@ -5187,53 +5228,6 @@ std::list > map::get_rc_items( const tripoint &p ) return rc_pairs; } -static bool trigger_radio_item( item_stack &items, safe_reference &item_ref, - const tripoint &pos, const std::string &signal, - const float, const temperature_flag flag ) -{ - bool trigger_item = false; - if( item_ref->has_flag( "RADIO_ACTIVATION" ) && item_ref->has_flag( signal ) ) { - sounds::sound( pos, 6, sounds::sound_t::alarm, _( "beep." ), true, "misc", "beep" ); - if( item_ref->has_flag( "RADIO_INVOKE_PROC" ) ) { - // Invoke twice: first to transform, then later to proc - // Can't use process_item here - invalidates our iterator - item_ref->process( nullptr, pos, true ); - } - if( item_ref->has_flag( "BOMB" ) ) { - // Set charges to 0 to ensure it detonates now - item_ref->charges = 0; - item_ref->item_counter = 0; - } - trigger_item = true; - } else if( item_ref->has_flag( "RADIO_CONTAINER" ) && !item_ref->contents.empty() ) { - auto it = std::find_if( item_ref->contents.begin(), - item_ref->contents.end(), [ &signal ]( const item & c ) { - return c.has_flag( signal ); - } ); - if( it != item_ref->contents.end() ) { - item_ref->convert( it->typeId() ); - if( item_ref->has_flag( "RADIO_INVOKE_PROC" ) ) { - item_ref->process( nullptr, pos, true ); - } - - // Clear possible mods to prevent unnecessary pop-ups. - item_ref->contents.clear(); - - item_ref->charges = 0; - trigger_item = true; - } - } - if( trigger_item ) { - return process_item( items, item_ref, pos, true, 1, flag ); - } - return false; -} - -void map::trigger_rc_items( const std::string &signal ) -{ - process_items( false, trigger_radio_item, signal ); -} - const trap &map::tr_at( const tripoint &p ) const { if( !inbounds( p ) ) { @@ -5642,19 +5636,17 @@ computer *map::computer_at( const tripoint &p ) void map::remove_submap_camp( const tripoint &p ) { - basecamp camp; - get_submap_at( p )->camp = camp; + get_submap_at( p )->camp.reset(); } basecamp map::hoist_submap_camp( const tripoint &p ) { - basecamp camp = get_submap_at( p )->camp; - return camp; + basecamp *pcamp = get_submap_at( p )->camp.get(); + return pcamp ? *pcamp : basecamp(); } -void map::add_camp( const tripoint &p, const std::string &name ) +void map::add_camp( const tripoint &omt_pos, const std::string &name ) { - tripoint omt_pos = ms_to_omt_copy( getabs( p ) ); basecamp temp_camp = basecamp( name, omt_pos ); overmap_buffer.add_camp( temp_camp ); g->u.camps.insert( omt_pos ); @@ -7686,21 +7678,24 @@ bool tinymap::inbounds( const tripoint &p ) const // set up a map just long enough scribble on it // this tinymap should never, ever get saved -bool tinymap::fake_load( const furn_id &fur_type, const ter_id &ter_type, const trap_id &trap_type ) +bool tinymap::fake_load( const furn_id &fur_type, const ter_id &ter_type, const trap_id &trap_type, + int fake_map_z ) { + const tripoint tripoint_below_zero( 0, 0, fake_map_z ); + bool do_terset = true; - set_abs_sub( tripoint_zero ); + set_abs_sub( tripoint_below_zero ); for( int gridx = 0; gridx < my_MAPSIZE; gridx++ ) { for( int gridy = 0; gridy < my_MAPSIZE; gridy++ ) { - const tripoint gridp( gridx, gridy, 0 ); + const tripoint gridp( gridx, gridy, fake_map_z ); submap *tmpsub = MAPBUFFER.lookup_submap( gridp ); if( tmpsub == nullptr ) { generate_uniform( gridp, ter_type ); do_terset = false; tmpsub = MAPBUFFER.lookup_submap( gridp ); if( tmpsub == nullptr ) { - dbg( D_ERROR ) << "failed to generate a fake submap at 0, 0, 0 "; - debugmsg( "failed to generate a fake submap at 0,0,0" ); + dbg( D_ERROR ) << "failed to generate a fake submap at 0,0,-9 "; + debugmsg( "failed to generate a fake submap at 0,0,-9" ); return false; } } @@ -7710,8 +7705,8 @@ bool tinymap::fake_load( const furn_id &fur_type, const ter_id &ter_type, const } } - for( const tripoint &pos : points_in_rectangle( tripoint_zero, - tripoint( MAPSIZE * SEEX, MAPSIZE * SEEY, 0 ) ) ) { + for( const tripoint &pos : points_in_rectangle( tripoint_below_zero, + tripoint( MAPSIZE * SEEX, MAPSIZE * SEEY, fake_map_z ) ) ) { if( do_terset ) { ter_set( pos, ter_type ); } @@ -8032,7 +8027,7 @@ void map::build_map_cache( const int zlev, bool skip_lightmap ) } const tripoint &p = g->u.pos(); - bool is_crouching = g->u.movement_mode_is( PMM_CROUCH ); + bool is_crouching = g->u.movement_mode_is( CMM_CROUCH ); for( const tripoint &loc : points_in_radius( p, 1 ) ) { if( loc == p ) { // The tile player is standing on should always be transparent diff --git a/src/map.h b/src/map.h index 376f118be7fe7..3faea041fbeae 100644 --- a/src/map.h +++ b/src/map.h @@ -830,6 +830,8 @@ class map bool close_door( const tripoint &p, bool inside, bool check_only ); bool open_door( const tripoint &p, bool inside, bool check_only = false ); // Destruction + /** bash a square for a set number of times at set power. Does not destroy */ + void batter( const tripoint &p, int power, int tries = 1, bool silent = false ); /** Keeps bashing a square until it can't be bashed anymore */ void destroy( const tripoint &p, bool silent = false ); /** Keeps bashing a square until there is no more furniture */ @@ -839,7 +841,8 @@ class map /** Checks if a square should collapse, returns the X for the one_in(X) collapse chance */ int collapse_check( const tripoint &p ); /** Causes a collapse at p, such as from destroying a wall */ - void collapse_at( const tripoint &p, bool silent ); + void collapse_at( const tripoint &p, bool silent, bool was_supporting = false, + bool destroy_pos = true ); /** Tries to smash the items at the given tripoint. Used by the explosion code */ void smash_items( const tripoint &p, int power, const std::string &cause_message ); /** @@ -908,7 +911,6 @@ class map // Items void process_active_items(); - void trigger_rc_items( const std::string &signal ); // Items: 2D map_stack i_at( const point &p ); @@ -1176,7 +1178,7 @@ class map computer *add_computer( const tripoint &p, const std::string &name, int security ); // Camps - void add_camp( const tripoint &p, const std::string &name ); + void add_camp( const tripoint &omt_pos, const std::string &name ); void remove_submap_camp( const tripoint & ); basecamp hoist_submap_camp( const tripoint &p ); // Graffiti @@ -1334,8 +1336,12 @@ class map } // Not protected/private for mapgen_functions.cpp access - void rotate( int turns ); // Rotates the current map 90*turns degrees clockwise + // Rotates the current map 90*turns degrees clockwise // Useful for houses, shops, etc + // @param turns number of 90 clockwise turns to make + // @param setpos_safe if true, being used outside of mapgen and can use setpos to + // set NPC positions. if false, cannot use setpos + void rotate( int turns, bool setpos_safe = false ); // Monster spawning: public: @@ -1434,7 +1440,6 @@ class map void draw_mine( mapgendata &dat ); void draw_spiral( mapgendata &dat ); void draw_sarcophagus( mapgendata &dat ); - void draw_megastore( mapgendata &dat ); void draw_fema( mapgendata &dat ); void draw_anthill( mapgendata &dat ); void draw_slimepit( mapgendata &dat ); @@ -1718,7 +1723,8 @@ class tinymap : public map public: tinymap( int mapsize = 2, bool zlevels = false ); bool inbounds( const tripoint &p ) const override; - bool fake_load( const furn_id &fur_type, const ter_id &ter_type, const trap_id &trap_type ); + bool fake_load( const furn_id &fur_type, const ter_id &ter_type, const trap_id &trap_type, + int fake_map_z ); }; #endif diff --git a/src/mapdata.cpp b/src/mapdata.cpp index 812b55d74f947..a914eebb2c4cb 100644 --- a/src/mapdata.cpp +++ b/src/mapdata.cpp @@ -166,6 +166,8 @@ static const std::unordered_map ter_bitflags_map = { { "FLAT", TFLAG_FLAT }, // This tile is flat. { "RAMP", TFLAG_RAMP }, // Can be used to move up a z-level { "RAIL", TFLAG_RAIL }, // Rail tile (used heavily) + { "THIN_OBSTACLE", TFLAG_THIN_OBSTACLE }, // Passable by players and monsters. Vehicles destroy it. + { "SMALL_PASSAGE", TFLAG_SMALL_PASSAGE } // A small passage, that large or huge things cannot pass through } }; diff --git a/src/mapdata.h b/src/mapdata.h index d582613e3e377..f897dd0304428 100644 --- a/src/mapdata.h +++ b/src/mapdata.h @@ -193,6 +193,8 @@ enum ter_bitflags : int { TFLAG_BLOCK_WIND, TFLAG_FLAT, TFLAG_RAIL, + TFLAG_THIN_OBSTACLE, + TFLAG_SMALL_PASSAGE, NUM_TERFLAGS }; diff --git a/src/mapgen.cpp b/src/mapgen.cpp index ed2ac86b7b474..3ceae2a25f1b6 100644 --- a/src/mapgen.cpp +++ b/src/mapgen.cpp @@ -256,7 +256,7 @@ void calculate_mapgen_weights() // TODO: rename as it runs jsonfunction setup } // Not really calculate weights, but let's keep it here for now for( auto &pr : nested_mapgen ) { - for( auto &ptr : pr.second ) { + for( std::unique_ptr &ptr : pr.second ) { ptr->setup(); } } @@ -330,6 +330,7 @@ load_mapgen_function( JsonObject &jio, const std::string &id_base, } } } + jio.allow_omitted_members(); return nullptr; // nothing } else if( jio.has_string( "method" ) ) { const std::string mgtype = jio.get_string( "method" ); @@ -598,7 +599,7 @@ void mapgen_function_json_base::setup_setmap( JsonArray &parray ) setmap_optype = JMAPGEN_SETMAP_OPTYPE_POINT; } else if( pjo.read( "set", tmpval ) ) { setmap_optype = JMAPGEN_SETMAP_OPTYPE_POINT; - debugmsg( "Warning, set: [ { \"set\": ... } is deprecated, use set: [ { \"point\": ... " ); + debugmsg( "Warning, set: [ { \"set\": … } is deprecated, use set: [ { \"point\": … " ); } else if( pjo.read( "line", tmpval ) ) { setmap_optype = JMAPGEN_SETMAP_OPTYPE_LINE; } else if( pjo.read( "square", tmpval ) ) { @@ -624,6 +625,7 @@ void mapgen_function_json_base::setup_setmap( JsonArray &parray ) const jmapgen_int tmp_x( pjo, "x" ); const jmapgen_int tmp_y( pjo, "y" ); if( !check_inbounds( tmp_x, tmp_y, pjo ) ) { + pjo.allow_omitted_members(); continue; } if( setmap_optype != JMAPGEN_SETMAP_OPTYPE_POINT ) { @@ -832,7 +834,7 @@ class jmapgen_sign : public jmapgen_piece if( !snippet.empty() ) { // select a snippet from the category - signtext = SNIPPET.get( SNIPPET.assign( snippet ) ); + signtext = SNIPPET.random_from_category( snippet ).value_or( translation() ).translated(); } else if( !signage.empty() ) { signtext = signage; } @@ -884,7 +886,7 @@ class jmapgen_graffiti : public jmapgen_piece if( !snippet.empty() ) { // select a snippet from the category - graffiti = SNIPPET.get( SNIPPET.assign( snippet ) ); + graffiti = SNIPPET.random_from_category( snippet ).value_or( translation() ).translated(); } else if( !text.empty() ) { graffiti = text; } @@ -1772,6 +1774,8 @@ void jmapgen_objects::load_objects( JsonArray parray ) if( check_bounds( where, jsi ) ) { add( where, std::make_shared( jsi ) ); + } else { + jsi.allow_omitted_members(); } } } @@ -1785,6 +1789,7 @@ void jmapgen_objects::load_objects( JsonArray parray ) where.offset( m_offset ); if( !check_bounds( where, jsi ) ) { + jsi.allow_omitted_members(); continue; } @@ -1969,6 +1974,7 @@ void mapgen_palette::load_place_mapings( JsonObject &jo, const std::string &memb pjo.throw_error( "format map key must be 1 character", key ); } JsonObject sub = pjo.get_object( key ); + sub.allow_omitted_members(); if( !sub.has_member( member_name ) ) { continue; } @@ -2215,7 +2221,7 @@ void mapgen_function_json_base::setup_common() } } -bool mapgen_function_json_base::setup_common( JsonObject jo ) +bool mapgen_function_json_base::setup_common( JsonObject &jo ) { bool qualifies = setup_internal( jo ); JsonArray parray; @@ -2678,10 +2684,8 @@ void map::draw_map( mapgendata &dat ) const bool generated = run_mapgen_func( function_key, dat ); if( !generated ) { - if( is_ot_match( "megastore", terrain_type, ot_match_type::prefix ) ) { - draw_megastore( dat ); - } else if( is_ot_match( "slimepit", terrain_type, ot_match_type::prefix ) || - is_ot_match( "slime_pit", terrain_type, ot_match_type::prefix ) ) { + if( is_ot_match( "slimepit", terrain_type, ot_match_type::prefix ) || + is_ot_match( "slime_pit", terrain_type, ot_match_type::prefix ) ) { draw_slimepit( dat ); } else if( is_ot_match( "haz_sar", terrain_type, ot_match_type::prefix ) ) { draw_sarcophagus( dat ); @@ -5656,222 +5660,6 @@ void map::draw_sarcophagus( mapgendata &dat ) } } -void map::draw_megastore( mapgendata &dat ) -{ - const oter_id &terrain_type = dat.terrain_type(); - if( terrain_type == "megastore_entrance" ) { - fill_background( this, t_floor ); - // Construct facing north; below, we'll rotate to face road - line( this, t_wall_glass, 0, 0, EAST_EDGE, 0 ); - ter_set( point( SEEX, 0 ), t_door_glass_c ); - ter_set( point( SEEX + 1, 0 ), t_door_glass_c ); - //Vending - std::vector vset; - vset.reserve( 21 ); - int vnum = rng( 2, 6 ); - for( int a = 0; a < 21; a++ ) { - vset.push_back( a ); - } - std::shuffle( vset.begin(), vset.end(), rng_get_engine() ); - for( int a = 0; a < vnum; a++ ) { - if( vset[a] < 12 ) { - if( one_in( 2 ) ) { - place_vending( point( vset[a], 1 ), "vending_food" ); - } else { - place_vending( point( vset[a], 1 ), "vending_drink" ); - } - } else { - if( one_in( 2 ) ) { - place_vending( point( vset[a] + 2, 1 ), "vending_food" ); - } else { - place_vending( point( vset[a] + 2, 1 ), "vending_drink" ); - } - } - } - vset.clear(); - // Long checkout lanes - for( int x = 2; x <= 18; x += 4 ) { - line_furn( this, f_counter, x, 4, x, 14 ); - line_furn( this, f_rack, x + 3, 4, x + 3, 14 ); - place_items( "snacks", 80, point( x + 3, 4 ), point( x + 3, 14 ), false, - calendar::start_of_cataclysm ); - place_items( "magazines", 70, point( x + 3, 4 ), point( x + 3, 14 ), false, - calendar::start_of_cataclysm ); - } - if( const auto p = random_point( *this, [this]( const tripoint & n ) { - return ter( n ) == t_floor; - } ) ) { - place_spawns( GROUP_PLAIN, 1, p->xy(), p->xy(), 1, true ); - } - // Finally, figure out where the road is; construct our entrance facing that. - std::vector faces_road; - if( is_ot_match( "road", dat.east(), ot_match_type::type ) || - is_ot_match( "bridge", dat.east(), ot_match_type::type ) ) { - rotate( 1 ); - } - if( is_ot_match( "road", dat.south(), ot_match_type::type ) || - is_ot_match( "bridge", dat.south(), ot_match_type::type ) ) { - rotate( 2 ); - } - if( is_ot_match( "road", dat.west(), ot_match_type::type ) || - is_ot_match( "bridge", dat.west(), ot_match_type::type ) ) { - rotate( 3 ); - } - } else if( terrain_type == "megastore" ) { - square( this, t_floor, 0, 0, EAST_EDGE, SOUTH_EDGE ); - // Randomly pick contents - switch( rng( 1, 5 ) ) { - case 1: { // Groceries - bool fridge = false; - for( int x = rng( 2, 3 ); x < EAST_EDGE; x += 3 ) { - for( int y = 2; y <= SEEY; y += SEEY - 2 ) { - if( one_in( 3 ) ) { - fridge = !fridge; - } - if( fridge ) { - line_furn( this, f_glass_fridge, x, y, x, y + SEEY - 4 ); - if( one_in( 3 ) ) { - place_items( "fridgesnacks", 80, point( x, y ), point( x, y + SEEY - 4 ), false, - calendar::start_of_cataclysm ); - } else { - place_items( "fridge", 70, point( x, y ), point( x, y + SEEY - 4 ), false, - calendar::start_of_cataclysm ); - } - } else { - line_furn( this, f_rack, x, y, x, y + SEEY - 4 ); - if( one_in( 3 ) ) { - place_items( "cannedfood", 78, point( x, y ), point( x, y + SEEY - 4 ), false, - calendar::start_of_cataclysm ); - } else if( one_in( 2 ) ) { - place_items( "pasta", 82, point( x, y ), point( x, y + SEEY - 4 ), false, - calendar::start_of_cataclysm ); - } else if( one_in( 2 ) ) { - place_items( "produce", 65, point( x, y ), point( x, y + SEEY - 4 ), false, - calendar::start_of_cataclysm ); - } else { - place_items( "snacks", 72, point( x, y ), point( x, y + SEEY - 4 ), false, - calendar::start_of_cataclysm ); - } - } - } - } - } - break; - case 2: // Hardware - for( int x = 2; x <= 22; x += 4 ) { - line_furn( this, f_rack, x, 4, x, SEEY * 2 - 5 ); - if( one_in( 3 ) ) { - place_items( "tools_carpentry", 70, point( x, 4 ), point( x, SEEY * 2 - 5 ), false, - calendar::start_of_cataclysm ); - } else if( one_in( 2 ) ) { - place_items( "tools_construction", 70, point( x, 4 ), point( x, SEEY * 2 - 5 ), false, - calendar::start_of_cataclysm ); - } else if( one_in( 3 ) ) { - place_items( "hardware", 70, point( x, 4 ), point( x, SEEY * 2 - 5 ), false, - calendar::start_of_cataclysm ); - } else { - place_items( "mischw", 70, point( x, 4 ), point( x, SEEY * 2 - 5 ), false, - calendar::start_of_cataclysm ); - } - } - break; - case 3: // Clothing - for( int x = 2; x < SEEX * 2; x += 6 ) { - for( int y = 3; y <= 9; y += 6 ) { - square_furn( this, f_rack, x, y, x + 1, y + 1 ); - if( one_in( 2 ) ) { - place_items( "shirts", 75, point( x, y ), point( x + 1, y + 1 ), false, - calendar::start_of_cataclysm ); - } else if( one_in( 2 ) ) { - place_items( "pants", 72, point( x, y ), point( x + 1, y + 1 ), false, - calendar::start_of_cataclysm ); - } else if( one_in( 2 ) ) { - place_items( "jackets", 65, point( x, y ), point( x + 1, y + 1 ), false, - calendar::start_of_cataclysm ); - } else { - place_items( "winter", 62, point( x, y ), point( x + 1, y + 1 ), false, - calendar::start_of_cataclysm ); - } - } - } - for( int y = 13; y <= SEEY * 2 - 2; y += 3 ) { - line_furn( this, f_rack, 2, y, SEEX * 2 - 3, y ); - if( one_in( 3 ) ) { - place_items( "shirts", 75, point( 2, y ), point( SEEX * 2 - 3, y ), false, - calendar::start_of_cataclysm ); - } else if( one_in( 2 ) ) { - place_items( "shoes", 75, point( 2, y ), point( SEEX * 2 - 3, y ), false, - calendar::start_of_cataclysm ); - } else if( one_in( 2 ) ) { - place_items( "bags", 75, point( 2, y ), point( SEEX * 2 - 3, y ), false, - calendar::start_of_cataclysm ); - } else { - place_items( "allclothes", 75, point( 2, y ), point( SEEX * 2 - 3, y ), false, - calendar::start_of_cataclysm ); - } - } - break; - case 4: // Cleaning and soft drugs and novels and junk - for( int x = rng( 2, 3 ); x < EAST_EDGE; x += 3 ) { - for( int y = 2; y <= SEEY; y += SEEY - 2 ) { - line_furn( this, f_rack, x, y, x, y + SEEY - 4 ); - if( one_in( 3 ) ) { - place_items( "cleaning", 78, point( x, y ), point( x, y + SEEY - 4 ), false, - calendar::start_of_cataclysm ); - } else if( one_in( 2 ) ) { - place_items( "softdrugs", 72, point( x, y ), point( x, y + SEEY - 4 ), false, - calendar::start_of_cataclysm ); - } else { - place_items( "novels", 84, point( x, y ), point( x, y + SEEY - 4 ), false, - calendar::start_of_cataclysm ); - } - } - } - break; - case 5: // Sporting goods - for( int x = rng( 2, 3 ); x < EAST_EDGE; x += 3 ) { - for( int y = 2; y <= SEEY; y += SEEY - 2 ) { - line_furn( this, f_rack, x, y, x, y + SEEY - 4 ); - if( one_in( 2 ) ) { - place_items( "sports", 72, point( x, y ), point( x, y + SEEY - 4 ), false, - calendar::start_of_cataclysm ); - } else if( one_in( 10 ) ) { - place_items( "guns_rifle_common", 20, point( x, y ), point( x, y + SEEY - 4 ), false, - calendar::start_of_cataclysm ); - } else { - place_items( "camping", 68, point( x, y ), point( x, y + SEEY - 4 ), false, - calendar::start_of_cataclysm ); - } - } - } - break; - } - - // Add some spawns - for( int i = 0; i < 15; i++ ) { - int x = rng( 0, EAST_EDGE ), y = rng( 0, SOUTH_EDGE ); - if( ter( point( x, y ) ) == t_floor ) { - place_spawns( GROUP_PLAIN, 1, point( x, y ), point( x, y ), 1, true ); - } - } - // Rotate randomly... - rotate( rng( 0, 3 ) ); - // ... then place walls as needed. - if( dat.north() != "megastore_entrance" && dat.north() != "megastore" ) { - line( this, t_wall, 0, 0, EAST_EDGE, 0 ); - } - if( dat.east() != "megastore_entrance" && dat.east() != "megastore" ) { - line( this, t_wall, EAST_EDGE, 0, EAST_EDGE, SOUTH_EDGE ); - } - if( dat.south() != "megastore_entrance" && dat.south() != "megastore" ) { - line( this, t_wall, 0, SOUTH_EDGE, EAST_EDGE, SOUTH_EDGE ); - } - if( dat.west() != "megastore_entrance" && dat.west() != "megastore" ) { - line( this, t_wall, 0, 0, 0, SOUTH_EDGE ); - } - } -} - void map::draw_fema( mapgendata &dat ) { const oter_id &terrain_type = dat.terrain_type(); @@ -6896,7 +6684,7 @@ computer *map::add_computer( const tripoint &p, const std::string &name, int sec * degrees. * @param turns How many 90-degree turns to rotate the map. */ -void map::rotate( int turns ) +void map::rotate( int turns, const bool setpos_safe ) { //Handle anything outside the 1-3 range gracefully; rotate(0) is a no-op. @@ -6916,6 +6704,8 @@ void map::rotate( int turns ) for( const std::shared_ptr &i : npcs ) { npc &np = *i; const tripoint sq = np.global_square_location(); + const point local_sq = getlocal( sq ).xy(); + real_coords np_rc; np_rc.fromabs( sq.x, sq.y ); // Note: We are rotating the entire overmap square (2x2 of submaps) @@ -6926,7 +6716,6 @@ void map::rotate( int turns ) // OK, this is ugly: we remove the NPC from the whole map // Then we place it back from scratch // It could be rewritten to utilize the fact that rotation shouldn't cross overmaps - auto npc_ptr = overmap_buffer.remove_npc( np.getID() ); int old_x = np_rc.sub_pos.x; int old_y = np_rc.sub_pos.y; @@ -6937,10 +6726,21 @@ void map::rotate( int turns ) old_y += SEEY; } - const auto new_pos = point{ old_x, old_y } .rotate( turns, { SEEX * 2, SEEY * 2 } ); - - np.spawn_at_precise( { abs_sub.xy() }, { new_pos, abs_sub.z } ); - overmap_buffer.insert_npc( npc_ptr ); + const point new_pos = point{ old_x, old_y } .rotate( turns, { SEEX * 2, SEEY * 2 } ); + if( setpos_safe ) { + // setpos can't be used during mapgen, but spawn_at_precise clips position + // to be between 0-11,0-11 and teleports NPCs when used inside of update_mapgen + // calls + const tripoint new_global_sq = sq - local_sq + new_pos; + np.setpos( g->m.getlocal( new_global_sq ) ); + } else { + // OK, this is ugly: we remove the NPC from the whole map + // Then we place it back from scratch + // It could be rewritten to utilize the fact that rotation shouldn't cross overmaps + std::shared_ptr npc_ptr = overmap_buffer.remove_npc( np.getID() ); + np.spawn_at_precise( { abs_sub.xy() }, { new_pos, abs_sub.z } ); + overmap_buffer.insert_npc( npc_ptr ); + } } clear_vehicle_cache( abs_sub.z ); @@ -7914,15 +7714,14 @@ bool update_mapgen_function_json::update_map( const tripoint &omt_pos, const poi tinymap update_tmap; const tripoint sm_pos = omt_to_sm_copy( omt_pos ); update_tmap.load( sm_pos, false ); - const std::string map_id = overmap_buffer.ter( omt_pos ).id().c_str(); mapgendata md( omt_pos, update_tmap, 0.0f, calendar::start_of_cataclysm, miss ); // If the existing map is rotated, we need to rotate it back to the north // orientation before applying our updates. - int rotation = oter_get_rotation( overmap_buffer.ter( omt_pos ) ); + const int rotation = oter_get_rotation( overmap_buffer.ter( omt_pos ) ); if( rotation > 0 ) { - md.m.rotate( rotation ); + md.m.rotate( rotation, true ); } const bool applied = update_map( md, offset, verify ); @@ -7930,7 +7729,7 @@ bool update_mapgen_function_json::update_map( const tripoint &omt_pos, const poi // If we rotated the map before applying updates, we now need to rotate // it back to where we found it. if( rotation ) { - md.m.rotate( 4 - rotation ); + md.m.rotate( 4 - rotation, true ); } if( applied ) { @@ -7998,6 +7797,10 @@ bool run_mapgen_update_func( const std::string &update_mapgen_id, const tripoint std::pair, std::map> get_changed_ids_from_update( const std::string &update_mapgen_id ) { + const int fake_map_z = -9; + const tripoint tripoint_below_zero( 0, 0, fake_map_z ); + const tripoint tripoint_fake_map_edge( 23, 23, fake_map_z ); + std::map terrains; std::map furnitures; @@ -8008,7 +7811,7 @@ std::pair, std::map> get_changed_ids_from_up } tinymap fake_map; - if( !fake_map.fake_load( f_null, t_dirt, tr_null ) ) { + if( !fake_map.fake_load( f_null, t_dirt, tr_null, fake_map_z ) ) { return std::make_pair( terrains, furnitures ); } oter_id any = oter_id( "field" ); @@ -8019,7 +7822,8 @@ std::pair, std::map> get_changed_ids_from_up any, any, 0, dummy_settings, fake_map, any, 0.0f, calendar::turn, nullptr ); if( update_function->second[0]->update_map( fake_md ) ) { - for( const tripoint &pos : fake_map.points_in_rectangle( tripoint_zero, { 23, 23, 0 } ) ) { + for( const tripoint &pos : fake_map.points_in_rectangle( tripoint_below_zero, + tripoint_fake_map_edge ) ) { ter_id ter_at_pos = fake_map.ter( pos ); if( ter_at_pos != t_dirt ) { if( terrains.find( ter_at_pos ) == terrains.end() ) { diff --git a/src/mapgen.h b/src/mapgen.h index 2ac767a272edf..8bf9cf02d24f6 100644 --- a/src/mapgen.h +++ b/src/mapgen.h @@ -287,7 +287,7 @@ class mapgen_function_json_base virtual ~mapgen_function_json_base(); void setup_common(); - bool setup_common( JsonObject jo ); + bool setup_common( JsonObject &jo ); void setup_setmap( JsonArray &parray ); // Returns true if the mapgen qualifies at this point already virtual bool setup_internal( JsonObject &jo ) = 0; diff --git a/src/mapgendata.cpp b/src/mapgendata.cpp index 1bfd66b0fe887..834763e3067db 100644 --- a/src/mapgendata.cpp +++ b/src/mapgendata.cpp @@ -64,7 +64,7 @@ void mapgendata::set_dir( int dir_in, int val ) nw_fac = val; break; default: - debugmsg( "Invalid direction for mapgendata::set_dir. dir_in = %d", dir_in ); + debugmsg( "Invalid direction for mapgendata::set_dir. dir_in = %d", dir_in ); break; } } @@ -101,7 +101,7 @@ int &mapgendata::dir( int dir_in ) case 7: return nw_fac; default: - debugmsg( "Invalid direction for mapgendata::set_dir. dir_in = %d", dir_in ); + debugmsg( "Invalid direction for mapgendata::set_dir. dir_in = %d", dir_in ); //return something just so the compiler doesn't freak out. Not really correct, though. return n_fac; } diff --git a/src/martialarts.cpp b/src/martialarts.cpp index e56bf8ea21218..1e73b4050ee27 100644 --- a/src/martialarts.cpp +++ b/src/martialarts.cpp @@ -79,6 +79,7 @@ void ma_requirements::load( JsonObject &jo, const std::string & ) optional( jo, was_loaded, "unarmed_allowed", unarmed_allowed, false ); optional( jo, was_loaded, "melee_allowed", melee_allowed, false ); optional( jo, was_loaded, "unarmed_weapons_allowed", unarmed_weapons_allowed, true ); + optional( jo, was_loaded, "strictly_unarmed", strictly_unarmed, false ); optional( jo, was_loaded, "wall_adjacent", wall_adjacent, false ); optional( jo, was_loaded, "req_buffs", req_buffs, auto_flags_reader {} ); @@ -103,7 +104,7 @@ void ma_technique::load( JsonObject &jo, const std::string &src ) if( jo.has_member( "messages" ) ) { JsonArray jsarr = jo.get_array( "messages" ); - player_message = jsarr.get_string( 0 ); + avatar_message = jsarr.get_string( 0 ); npc_message = jsarr.get_string( 1 ); } @@ -116,6 +117,7 @@ void ma_technique::load( JsonObject &jo, const std::string &src ) optional( jo, was_loaded, "defensive", defensive, false ); optional( jo, was_loaded, "disarms", disarms, false ); + optional( jo, was_loaded, "take_weapon", take_weapon, false ); optional( jo, was_loaded, "side_switch", side_switch, false ); optional( jo, was_loaded, "dummy", dummy, false ); optional( jo, was_loaded, "dodge_counter", dodge_counter, false ); @@ -242,8 +244,8 @@ void martialart::load( JsonObject &jo, const std::string & ) optional( jo, was_loaded, "techniques", techniques, auto_flags_reader {} ); optional( jo, was_loaded, "weapons", weapons, auto_flags_reader {} ); - optional( jo, was_loaded, "strictly_unarmed", strictly_unarmed, false ); optional( jo, was_loaded, "strictly_melee", strictly_melee, false ); + optional( jo, was_loaded, "strictly_unarmed", strictly_unarmed, false ); optional( jo, was_loaded, "allow_melee", allow_melee, false ); optional( jo, was_loaded, "force_unarmed", force_unarmed, false ); @@ -391,9 +393,9 @@ void clear_techniques_and_martial_arts() ma_techniques.reset(); } -bool ma_requirements::is_valid_player( const player &u ) const +bool ma_requirements::is_valid_character( const Character &u ) const { - for( const auto &buff_id : req_buffs ) { + for( const mabuff_id &buff_id : req_buffs ) { if( !u.has_mabuff( buff_id ) ) { return false; } @@ -406,14 +408,21 @@ bool ma_requirements::is_valid_player( const player &u ) const bool cqb = u.has_active_bionic( bionic_id( "bio_cqb" ) ); // There are 4 different cases of "armedness": // Truly unarmed, unarmed weapon, style-allowed weapon, generic weapon - bool valid_weapon = - ( !u.style_selected.obj().strictly_melee && unarmed_allowed && - ( !u.is_armed() || ( u.unarmed_attack() && unarmed_weapons_allowed ) ) ) || - ( !u.style_selected.obj().strictly_unarmed && melee_allowed && - is_valid_weapon( u.weapon ) && - ( u.style_selected.obj().has_weapon( u.weapon.typeId() ) || - u.style_selected.obj().allow_melee ) ); - if( !valid_weapon ) { + bool melee_style = u.martial_arts_data.selected_strictly_melee(); + bool is_armed = u.is_armed(); + bool unarmed_weapon = is_armed && u.used_weapon().has_flag( "UNARMED_WEAPON" ); + bool forced_unarmed = u.martial_arts_data.selected_force_unarmed(); + bool weapon_ok = is_valid_weapon( u.weapon ); + bool style_weapon = u.martial_arts_data.selected_has_weapon( u.weapon.typeId() ); + bool all_weapons = u.martial_arts_data.selected_allow_melee(); + + bool unarmed_ok = !is_armed || ( unarmed_weapon && unarmed_weapons_allowed ); + bool melee_ok = melee_allowed && weapon_ok && ( style_weapon || all_weapons ); + + bool valid_unarmed = !melee_style && unarmed_allowed && unarmed_ok; + bool valid_melee = !strictly_unarmed && ( forced_unarmed || melee_ok ); + + if( !valid_unarmed && !valid_melee ) { return false; } @@ -516,6 +525,7 @@ ma_technique::ma_technique() // offensive disarms = false; // like tec_disarm + take_weapon = false; // disarms and equips weapon if hands are free dodge_counter = false; // like tec_grab block_counter = false; // like tec_counter @@ -529,9 +539,9 @@ ma_technique::ma_technique() grab_break = false; // allows grab_breaks, like tec_break } -bool ma_technique::is_valid_player( const player &u ) const +bool ma_technique::is_valid_character( const Character &u ) const { - return reqs.is_valid_player( u ); + return reqs.is_valid_character( u ); } ma_buff::ma_buff() @@ -561,35 +571,35 @@ const ma_buff *ma_buff::from_effect( const effect &eff ) return &mabuff_id( id.substr( 7 ) ).obj(); } -void ma_buff::apply_buff( player &u ) const +void ma_buff::apply_buff( Character &u ) const { u.add_effect( get_effect_id(), time_duration::from_turns( buff_duration ) ); } -bool ma_buff::is_valid_player( const player &u ) const +bool ma_buff::is_valid_character( const Character &u ) const { - return reqs.is_valid_player( u ); + return reqs.is_valid_character( u ); } -void ma_buff::apply_player( player &u ) const +void ma_buff::apply_character( Character &u ) const { u.set_num_dodges_bonus( u.get_num_dodges_bonus() + dodges_bonus ); u.set_num_blocks_bonus( u.get_num_blocks_bonus() + blocks_bonus ); } -int ma_buff::hit_bonus( const player &u ) const +int ma_buff::hit_bonus( const Character &u ) const { return bonuses.get_flat( u, AFFECTED_HIT ); } -int ma_buff::dodge_bonus( const player &u ) const +int ma_buff::dodge_bonus( const Character &u ) const { return bonuses.get_flat( u, AFFECTED_DODGE ); } -int ma_buff::block_bonus( const player &u ) const +int ma_buff::block_bonus( const Character &u ) const { return bonuses.get_flat( u, AFFECTED_BLOCK ); } -int ma_buff::speed_bonus( const player &u ) const +int ma_buff::speed_bonus( const Character &u ) const { return bonuses.get_flat( u, AFFECTED_SPEED ); } @@ -597,11 +607,11 @@ int ma_buff::armor_bonus( const Character &guy, damage_type dt ) const { return bonuses.get_flat( guy, AFFECTED_ARMOR, dt ); } -float ma_buff::damage_bonus( const player &u, damage_type dt ) const +float ma_buff::damage_bonus( const Character &u, damage_type dt ) const { return bonuses.get_flat( u, AFFECTED_DAMAGE, dt ); } -float ma_buff::damage_mult( const player &u, damage_type dt ) const +float ma_buff::damage_mult( const Character &u, damage_type dt ) const { return bonuses.get_mult( u, AFFECTED_DAMAGE, dt ); } @@ -682,12 +692,12 @@ martialart::martialart() // simultaneously check and add all buffs. this is so that buffs that have // buff dependencies added by the same event trigger correctly -static void simultaneous_add( player &u, const std::vector &buffs ) +static void simultaneous_add( Character &u, const std::vector &buffs ) { std::vector buffer; // hey get it because it's for buffs???? - for( auto &buffid : buffs ) { + for( const mabuff_id &buffid : buffs ) { const ma_buff &buff = buffid.obj(); - if( buff.is_valid_player( u ) ) { + if( buff.is_valid_character( u ) ) { buffer.push_back( &buff ); } } @@ -696,66 +706,66 @@ static void simultaneous_add( player &u, const std::vector &buffs ) } } -void martialart::apply_static_buffs( player &u ) const +void martialart::apply_static_buffs( Character &u ) const { simultaneous_add( u, static_buffs ); } -void martialart::apply_onmove_buffs( player &u ) const +void martialart::apply_onmove_buffs( Character &u ) const { simultaneous_add( u, onmove_buffs ); } -void martialart::apply_onpause_buffs( player &u ) const +void martialart::apply_onpause_buffs( Character &u ) const { simultaneous_add( u, onpause_buffs ); } -void martialart::apply_onhit_buffs( player &u ) const +void martialart::apply_onhit_buffs( Character &u ) const { simultaneous_add( u, onhit_buffs ); } -void martialart::apply_onattack_buffs( player &u ) const +void martialart::apply_onattack_buffs( Character &u ) const { simultaneous_add( u, onattack_buffs ); } -void martialart::apply_ondodge_buffs( player &u ) const +void martialart::apply_ondodge_buffs( Character &u ) const { simultaneous_add( u, ondodge_buffs ); } -void martialart::apply_onblock_buffs( player &u ) const +void martialart::apply_onblock_buffs( Character &u ) const { simultaneous_add( u, onblock_buffs ); } -void martialart::apply_ongethit_buffs( player &u ) const +void martialart::apply_ongethit_buffs( Character &u ) const { simultaneous_add( u, ongethit_buffs ); } -void martialart::apply_onmiss_buffs( player &u ) const +void martialart::apply_onmiss_buffs( Character &u ) const { simultaneous_add( u, onmiss_buffs ); } -void martialart::apply_oncrit_buffs( player &u ) const +void martialart::apply_oncrit_buffs( Character &u ) const { simultaneous_add( u, oncrit_buffs ); } -void martialart::apply_onkill_buffs( player &u ) const +void martialart::apply_onkill_buffs( Character &u ) const { simultaneous_add( u, onkill_buffs ); } -bool martialart::has_technique( const player &u, const matec_id &tec_id ) const +bool martialart::has_technique( const Character &u, const matec_id &tec_id ) const { - for( const auto &elem : techniques ) { + for( const matec_id &elem : techniques ) { const ma_technique &tec = elem.obj(); - if( tec.is_valid_player( u ) && tec.id == tec_id ) { + if( tec.is_valid_character( u ) && tec.id == tec_id ) { return true; } } @@ -781,14 +791,14 @@ bool martialart::weapon_valid( const item &it ) const return true; } - if( !strictly_unarmed && it.has_flag( "UNARMED_WEAPON" ) ) { + if( !strictly_unarmed && !strictly_melee && !it.is_null() && it.has_flag( "UNARMED_WEAPON" ) ) { return true; } return false; } -std::string martialart::get_initiate_player_message() const +std::string martialart::get_initiate_avatar_message() const { return initiate[0]; } @@ -800,7 +810,7 @@ std::string martialart::get_initiate_npc_message() const // Player stuff // technique -std::vector player::get_all_techniques( const item &weap ) const +std::vector character_martial_arts::get_all_techniques( const item &weap ) const { std::vector tecs; // Grab individual item techniques @@ -814,21 +824,21 @@ std::vector player::get_all_techniques( const item &weap ) const } // defensive technique-related -bool player::has_miss_recovery_tec( const item &weap ) const +bool character_martial_arts::has_miss_recovery_tec( const item &weap ) const { - for( auto &technique : get_all_techniques( weap ) ) { - if( technique.obj().miss_recovery ) { + for( const matec_id &technique : get_all_techniques( weap ) ) { + if( technique->miss_recovery ) { return true; } } return false; } -ma_technique player::get_miss_recovery_tec( const item &weap ) const +ma_technique character_martial_arts::get_miss_recovery_tec( const item &weap ) const { ma_technique tech; - for( auto &technique : get_all_techniques( weap ) ) { - if( technique.obj().miss_recovery ) { + for( const matec_id &technique : get_all_techniques( weap ) ) { + if( technique->miss_recovery ) { tech = technique.obj(); break; } @@ -838,21 +848,21 @@ ma_technique player::get_miss_recovery_tec( const item &weap ) const } // This one isn't used with a weapon -bool player::has_grab_break_tec() const +bool character_martial_arts::has_grab_break_tec() const { - for( auto &technique : get_all_techniques( item() ) ) { - if( technique.obj().grab_break ) { + for( const matec_id &technique : get_all_techniques( item() ) ) { + if( technique->grab_break ) { return true; } } return false; } -ma_technique player::get_grab_break_tec() const +ma_technique character_martial_arts::get_grab_break_tec( const item &weap ) const { ma_technique tec; - for( auto &technique : get_all_techniques( item() ) ) { - if( technique.obj().grab_break ) { + for( const matec_id &technique : get_all_techniques( weap ) ) { + if( technique->grab_break ) { tec = technique.obj(); break; } @@ -860,62 +870,40 @@ ma_technique player::get_grab_break_tec() const return tec; } -bool player::can_grab_break() const +bool player::can_grab_break( const item &weap ) const { if( !has_grab_break_tec() ) { return false; } - ma_technique tec = get_grab_break_tec(); - bool cqb = has_active_bionic( bionic_id( "bio_cqb" ) ); - - std::map min_skill = tec.reqs.min_skill; + ma_technique tec = martial_arts_data.get_grab_break_tec( weap ); - // Failure conditions. - for( const auto &pr : min_skill ) { - if( ( cqb ? 5 : get_skill_level( pr.first ) ) < pr.second ) { - return false; - } - } - - // otherwise, can grab break - return true; + return tec.is_valid_character( *this ); } bool player::can_miss_recovery( const item &weap ) const { - if( !has_miss_recovery_tec( weap ) ) { + if( !martial_arts_data.has_miss_recovery_tec( weap ) ) { return false; } - ma_technique tec = get_miss_recovery_tec( weap ); - bool cqb = has_active_bionic( bionic_id( "bio_cqb" ) ); - - std::map min_skill = tec.reqs.min_skill; + ma_technique tec = martial_arts_data.get_miss_recovery_tec( weap ); - // Failure conditions. - for( const auto &pr : min_skill ) { - if( ( cqb ? 5 : get_skill_level( pr.first ) ) < pr.second ) { - return false; - } - } - - // otherwise, can miss recovery - return true; + return tec.is_valid_character( *this ); } -bool player::can_leg_block() const +bool character_martial_arts::can_leg_block( const Character &owner ) const { const martialart &ma = style_selected.obj(); ///\EFFECT_UNARMED increases ability to perform leg block - int unarmed_skill = has_active_bionic( bionic_id( "bio_cqb" ) ) ? 5 : get_skill_level( + int unarmed_skill = owner.has_active_bionic( bionic_id( "bio_cqb" ) ) ? 5 : owner.get_skill_level( skill_id( "unarmed" ) ); // Success conditions. - if( get_working_leg_count() >= 1 ) { + if( owner.get_working_leg_count() >= 1 ) { if( unarmed_skill >= ma.leg_block ) { return true; - } else if( ma.leg_block_with_bio_armor_legs && has_bionic( bionic_id( "bio_armor_legs" ) ) ) { + } else if( ma.leg_block_with_bio_armor_legs && owner.has_bionic( bionic_id( "bio_armor_legs" ) ) ) { return true; } } @@ -923,18 +911,18 @@ bool player::can_leg_block() const return false; } -bool player::can_arm_block() const +bool character_martial_arts::can_arm_block( const Character &owner ) const { const martialart &ma = style_selected.obj(); ///\EFFECT_UNARMED increases ability to perform arm block - int unarmed_skill = has_active_bionic( bionic_id( "bio_cqb" ) ) ? 5 : get_skill_level( + int unarmed_skill = owner.has_active_bionic( bionic_id( "bio_cqb" ) ) ? 5 : owner.get_skill_level( skill_id( "unarmed" ) ); // Success conditions. - if( !is_limb_broken( hp_arm_l ) || !is_limb_broken( hp_arm_r ) ) { + if( !owner.is_limb_broken( hp_arm_l ) || !owner.is_limb_broken( hp_arm_r ) ) { if( unarmed_skill >= ma.arm_block ) { return true; - } else if( ma.arm_block_with_bio_armor_arms && has_bionic( bionic_id( "bio_armor_arms" ) ) ) { + } else if( ma.arm_block_with_bio_armor_arms && owner.has_bionic( bionic_id( "bio_armor_arms" ) ) ) { return true; } } @@ -942,60 +930,60 @@ bool player::can_arm_block() const return false; } -bool player::can_limb_block() const +bool character_martial_arts::can_limb_block( const Character &owner ) const { - return can_arm_block() || can_leg_block(); + return can_arm_block( owner ) || can_leg_block( owner ); } -bool player::is_force_unarmed() const +bool character_martial_arts::is_force_unarmed() const { - return style_selected.obj().force_unarmed; + return style_selected->force_unarmed; } // event handlers -void player::ma_static_effects() +void character_martial_arts::ma_static_effects( Character &owner ) { - style_selected.obj().apply_static_buffs( *this ); + style_selected->apply_static_buffs( owner ); } -void player::ma_onmove_effects() +void character_martial_arts::ma_onmove_effects( Character &owner ) { - style_selected.obj().apply_onmove_buffs( *this ); + style_selected->apply_onmove_buffs( owner ); } -void player::ma_onpause_effects() +void character_martial_arts::ma_onpause_effects( Character &owner ) { - style_selected.obj().apply_onpause_buffs( *this ); + style_selected->apply_onpause_buffs( owner ); } -void player::ma_onhit_effects() +void character_martial_arts::ma_onhit_effects( Character &owner ) { - style_selected.obj().apply_onhit_buffs( *this ); + style_selected->apply_onhit_buffs( owner ); } -void player::ma_onattack_effects() +void character_martial_arts::ma_onattack_effects( Character &owner ) { - style_selected.obj().apply_onattack_buffs( *this ); + style_selected->apply_onattack_buffs( owner ); } -void player::ma_ondodge_effects() +void character_martial_arts::ma_ondodge_effects( Character &owner ) { - style_selected.obj().apply_ondodge_buffs( *this ); + style_selected->apply_ondodge_buffs( owner ); } -void player::ma_onblock_effects() +void character_martial_arts::ma_onblock_effects( Character &owner ) { - style_selected.obj().apply_onblock_buffs( *this ); + style_selected->apply_onblock_buffs( owner ); } -void player::ma_ongethit_effects() +void character_martial_arts::ma_ongethit_effects( Character &owner ) { - style_selected.obj().apply_ongethit_buffs( *this ); + style_selected->apply_ongethit_buffs( owner ); } -void player::ma_onmiss_effects() +void character_martial_arts::ma_onmiss_effects( Character &owner ) { - style_selected.obj().apply_onmiss_buffs( *this ); + style_selected->apply_onmiss_buffs( owner ); } -void player::ma_oncrit_effects() +void character_martial_arts::ma_oncrit_effects( Character &owner ) { - style_selected.obj().apply_oncrit_buffs( *this ); + style_selected->apply_oncrit_buffs( owner ); } -void player::ma_onkill_effects() +void character_martial_arts::ma_onkill_effects( Character &owner ) { - style_selected.obj().apply_onkill_buffs( *this ); + style_selected->apply_onkill_buffs( owner ); } template @@ -1026,7 +1014,7 @@ static bool search_ma_buff_effect( const C &container, F f ) } // bonuses -float player::mabuff_tohit_bonus() const +float Character::mabuff_tohit_bonus() const { float ret = 0; accumulate_ma_buff_effects( *effects, [&ret, this]( const ma_buff & b, const effect & ) { @@ -1034,7 +1022,7 @@ float player::mabuff_tohit_bonus() const } ); return ret; } -float player::mabuff_dodge_bonus() const +float Character::mabuff_dodge_bonus() const { float ret = 0; accumulate_ma_buff_effects( *effects, [&ret, this]( const ma_buff & b, const effect & d ) { @@ -1042,7 +1030,7 @@ float player::mabuff_dodge_bonus() const } ); return ret; } -int player::mabuff_block_bonus() const +int Character::mabuff_block_bonus() const { int ret = 0; accumulate_ma_buff_effects( *effects, [&ret, this]( const ma_buff & b, const effect & d ) { @@ -1050,7 +1038,7 @@ int player::mabuff_block_bonus() const } ); return ret; } -int player::mabuff_speed_bonus() const +int Character::mabuff_speed_bonus() const { int ret = 0; accumulate_ma_buff_effects( *effects, [&ret, this]( const ma_buff & b, const effect & d ) { @@ -1066,7 +1054,7 @@ int Character::mabuff_armor_bonus( damage_type type ) const } ); return ret; } -float player::mabuff_damage_mult( damage_type type ) const +float Character::mabuff_damage_mult( damage_type type ) const { float ret = 1.f; accumulate_ma_buff_effects( *effects, [&ret, type, this]( const ma_buff & b, const effect & d ) { @@ -1076,7 +1064,7 @@ float player::mabuff_damage_mult( damage_type type ) const } ); return ret; } -int player::mabuff_damage_bonus( damage_type type ) const +int Character::mabuff_damage_bonus( damage_type type ) const { int ret = 0; accumulate_ma_buff_effects( *effects, [&ret, type, this]( const ma_buff & b, const effect & d ) { @@ -1084,7 +1072,7 @@ int player::mabuff_damage_bonus( damage_type type ) const } ); return ret; } -int player::mabuff_attack_cost_penalty() const +int Character::mabuff_attack_cost_penalty() const { int ret = 0; accumulate_ma_buff_effects( *effects, [&ret, this]( const ma_buff & b, const effect & d ) { @@ -1092,7 +1080,7 @@ int player::mabuff_attack_cost_penalty() const } ); return ret; } -float player::mabuff_attack_cost_mult() const +float Character::mabuff_attack_cost_mult() const { float ret = 1.0f; accumulate_ma_buff_effects( *effects, [&ret, this]( const ma_buff & b, const effect & d ) { @@ -1103,7 +1091,7 @@ float player::mabuff_attack_cost_mult() const return ret; } -bool player::is_throw_immune() const +bool Character::is_throw_immune() const { return search_ma_buff_effect( *effects, []( const ma_buff & b, const effect & ) { return b.is_throw_immune(); @@ -1129,24 +1117,24 @@ bool player::can_melee() const } ); } -bool player::has_mabuff( const mabuff_id &id ) const +bool Character::has_mabuff( const mabuff_id &id ) const { return search_ma_buff_effect( *effects, [&id]( const ma_buff & b, const effect & ) { return b.id == id; } ); } -bool player::has_martialart( const matype_id &ma ) const +bool character_martial_arts::has_martialart( const matype_id &ma ) const { return std::find( ma_styles.begin(), ma_styles.end(), ma ) != ma_styles.end(); } -void player::add_martialart( const matype_id &ma_id ) +void character_martial_arts::add_martialart( const matype_id &ma_id ) { if( has_martialart( ma_id ) ) { return; } - ma_styles.push_back( ma_id ); + ma_styles.emplace_back( ma_id ); } bool player::can_autolearn( const matype_id &ma_id ) const @@ -1167,43 +1155,42 @@ bool player::can_autolearn( const matype_id &ma_id ) const return true; } -void player::martialart_use_message() const +void character_martial_arts::martialart_use_message( const Character &owner ) const { martialart ma = style_selected.obj(); - if( !ma.force_unarmed && !ma.weapon_valid( weapon ) ) { - if( !has_weapon() && ma.strictly_melee ) { - add_msg_if_player( m_bad, _( "%s cannot be used unarmed." ), ma.name ); - } else if( has_weapon() && ma.strictly_unarmed ) { - add_msg_if_player( m_bad, _( "%s cannot be used with weapons." ), ma.name ); - } else { - add_msg_if_player( m_bad, _( "The %s is not a valid %s weapon." ), weapname(), ma.name ); - } + if( ma.force_unarmed || ma.weapon_valid( owner.weapon ) ) { + owner.add_msg_if_player( m_info, _( ma.get_initiate_avatar_message() ) ); + } else if( ma.strictly_melee && !owner.is_armed() ) { + owner.add_msg_if_player( m_bad, _( "%s cannot be used unarmed." ), ma.name ); + } else if( ma.strictly_unarmed && owner.is_armed() ) { + owner.add_msg_if_player( m_bad, _( "%s cannot be used with weapons." ), ma.name ); } else { - add_msg_if_player( m_info, _( ma.get_initiate_player_message() ) ); + owner.add_msg_if_player( m_bad, _( "The %1$s is not a valid %2$s weapon." ), owner.weapon.tname( 1, + false ), ma.name ); } } -float ma_technique::damage_bonus( const player &u, damage_type type ) const +float ma_technique::damage_bonus( const Character &u, damage_type type ) const { return bonuses.get_flat( u, AFFECTED_DAMAGE, type ); } -float ma_technique::damage_multiplier( const player &u, damage_type type ) const +float ma_technique::damage_multiplier( const Character &u, damage_type type ) const { return bonuses.get_mult( u, AFFECTED_DAMAGE, type ); } -float ma_technique::move_cost_multiplier( const player &u ) const +float ma_technique::move_cost_multiplier( const Character &u ) const { return bonuses.get_mult( u, AFFECTED_MOVE_COST ); } -float ma_technique::move_cost_penalty( const player &u ) const +float ma_technique::move_cost_penalty( const Character &u ) const { return bonuses.get_flat( u, AFFECTED_MOVE_COST ); } -float ma_technique::armor_penetration( const player &u, damage_type type ) const +float ma_technique::armor_penetration( const Character &u, damage_type type ) const { return bonuses.get_flat( u, AFFECTED_ARMOR_PENETRATION, type ); } @@ -1211,9 +1198,23 @@ float ma_technique::armor_penetration( const player &u, damage_type type ) const std::string ma_technique::get_description() const { std::stringstream dump; + std::string type; - dump << string_format( _( "Type: %s" ), - defensive ? _( "defensive" ) : _( "offensive" ) ) << std::endl; + if( block_counter ) { + type = _( "Block Counter" ); + } else if( dodge_counter ) { + type = _( "Dodge Counter" ); + } else if( miss_recovery ) { + type = _( "Miss Recovery" ); + } else if( grab_break ) { + type = _( "Grab Break" ); + } else if( defensive ) { + type = _( "Defensive" ); + } else { + type = _( "Offensive" ); + } + + dump << string_format( _( "Type: %s" ), type ) << std::endl; std::string temp = bonuses.get_description(); if( !temp.empty() ) { @@ -1310,6 +1311,11 @@ std::string ma_technique::get_description() const dump << _( "* Will disarm the target" ) << std::endl; } + if( take_weapon ) { + dump << _( "* Will disarm the target and take their weapon" ) << + std::endl; + } + return dump.str(); } diff --git a/src/martialarts.h b/src/martialarts.h index 43c04ab1c12dc..4b1ab91e13b3b 100644 --- a/src/martialarts.h +++ b/src/martialarts.h @@ -19,7 +19,7 @@ enum damage_type : int; class JsonObject; class effect; -class player; +class Character; class item; struct itype; @@ -31,6 +31,7 @@ struct ma_requirements { bool unarmed_allowed; // does this bonus work when unarmed? bool melee_allowed; // what about with a melee weapon? bool unarmed_weapons_allowed; // If unarmed, what about unarmed weapons? + bool strictly_unarmed; // Ignore force_unarmed? bool wall_adjacent; // Does it only work near a wall? /** Minimum amount of given skill to trigger this bonus */ @@ -48,12 +49,13 @@ struct ma_requirements { unarmed_allowed = false; melee_allowed = false; unarmed_weapons_allowed = true; + strictly_unarmed = false; wall_adjacent = false; } std::string get_description( bool buff = false ) const; - bool is_valid_player( const player &u ) const; + bool is_valid_character( const Character &u ) const; bool is_valid_weapon( const item &i ) const; void load( JsonObject &jo, const std::string &src ); @@ -75,13 +77,13 @@ class ma_technique std::string goal; // the melee goal this achieves - // given a player's state, does this bonus apply to him? - bool is_valid_player( const player &u ) const; + // given a Character's state, does this bonus apply to him? + bool is_valid_character( const Character &u ) const; std::set flags; - // message to be displayed when player or npc uses the technique - std::string player_message; + // message to be displayed when Character or npc uses the technique + std::string avatar_message; std::string npc_message; bool defensive; @@ -98,10 +100,11 @@ class ma_technique float knockback_spread; // adding randomness to knockback, like tec_throw bool powerful_knockback; std::string aoe; // corresponds to an aoe shape, defaults to just the target - bool knockback_follow; // player follows the knocked-back party into their former tile + bool knockback_follow; // Character follows the knocked-back party into their former tile // offensive bool disarms; // like tec_disarm + bool take_weapon; // disarms and equips weapon if hands are free bool dodge_counter; // counter move activated on a dodge bool block_counter; // counter move activated on a block @@ -119,11 +122,11 @@ class ma_technique /** All kinds of bonuses by types to damage, hit etc. */ bonus_container bonuses; - float damage_bonus( const player &u, damage_type type ) const; - float damage_multiplier( const player &u, damage_type type ) const; - float move_cost_multiplier( const player &u ) const; - float move_cost_penalty( const player &u ) const; - float armor_penetration( const player &u, damage_type type ) const; + float damage_bonus( const Character &u, damage_type type ) const; + float damage_multiplier( const Character &u, damage_type type ) const; + float move_cost_multiplier( const Character &u ) const; + float move_cost_penalty( const Character &u ) const; + float armor_penetration( const Character &u, damage_type type ) const; }; class ma_buff @@ -133,29 +136,29 @@ class ma_buff // utility function so to prevent duplicate buff copies, we use this // instead of add_disease (since all buffs have the same distype) - void apply_buff( player &u ) const; + void apply_buff( Character &u ) const; - // given a player's state, does this bonus apply to him? - bool is_valid_player( const player &u ) const; + // given a Character's state, does this bonus apply to him? + bool is_valid_character( const Character &u ) const; - // apply static bonuses to a player - void apply_player( player &u ) const; + // apply static bonuses to a Character + void apply_character( Character &u ) const; // returns the stat bonus for the on-hit stat (for rolls) - int hit_bonus( const player &u ) const; - int dodge_bonus( const player &u ) const; - int speed_bonus( const player &u ) const; - int block_bonus( const player &u ) const; + int hit_bonus( const Character &u ) const; + int dodge_bonus( const Character &u ) const; + int speed_bonus( const Character &u ) const; + int block_bonus( const Character &u ) const; // returns the armor bonus for various armor stats (equivalent to armor) int armor_bonus( const Character &guy, damage_type dt ) const; // returns the stat bonus for the various damage stats (for rolls) - float damage_bonus( const player &u, damage_type dt ) const; + float damage_bonus( const Character &u, damage_type dt ) const; // returns damage multipliers for the various damage stats (applied after // bonuses) - float damage_mult( const player &u, damage_type dt ) const; + float damage_mult( const Character &u, damage_type dt ) const; // returns various boolean flags bool is_throw_immune() const; @@ -190,8 +193,7 @@ class ma_buff bool quiet; bool melee_allowed; bool throw_immune; // are we immune to throws/grabs? - bool strictly_unarmed; // can we use unarmed weapons? - bool strictly_melee; // can we use it without weapons? + bool strictly_melee; // can we only use it with weapons? bool stealthy; // do we make less noise when moving? void load( JsonObject &jo, const std::string &src ); @@ -204,37 +206,37 @@ class martialart void load( JsonObject &jo, const std::string &src ); - // modifies a player's "current" stats with various types of bonuses - void apply_static_buffs( player &u ) const; + // modifies a Character's "current" stats with various types of bonuses + void apply_static_buffs( Character &u ) const; - void apply_onmove_buffs( player &u ) const; + void apply_onmove_buffs( Character &u ) const; - void apply_onpause_buffs( player &u ) const; + void apply_onpause_buffs( Character &u ) const; - void apply_onhit_buffs( player &u ) const; + void apply_onhit_buffs( Character &u ) const; - void apply_onattack_buffs( player &u ) const; + void apply_onattack_buffs( Character &u ) const; - void apply_ondodge_buffs( player &u ) const; + void apply_ondodge_buffs( Character &u ) const; - void apply_onblock_buffs( player &u ) const; + void apply_onblock_buffs( Character &u ) const; - void apply_ongethit_buffs( player &u ) const; + void apply_ongethit_buffs( Character &u ) const; - void apply_onmiss_buffs( player &u ) const; + void apply_onmiss_buffs( Character &u ) const; - void apply_oncrit_buffs( player &u ) const; + void apply_oncrit_buffs( Character &u ) const; - void apply_onkill_buffs( player &u ) const; + void apply_onkill_buffs( Character &u ) const; // determines if a technique is valid or not for this style - bool has_technique( const player &u, const matec_id &tec_id ) const; + bool has_technique( const Character &u, const matec_id &tec_id ) const; // determines if a weapon is valid for this style bool has_weapon( const std::string &itt ) const; // Is this weapon OK with this art? bool weapon_valid( const item &it ) const; - // Getter for player style change message - std::string get_initiate_player_message() const; + // Getter for Character style change message + std::string get_initiate_avatar_message() const; // Getter for NPC style change message std::string get_initiate_npc_message() const; diff --git a/src/mattack_actors.cpp b/src/mattack_actors.cpp index a1583fa963a23..e1a7e9da9ff53 100644 --- a/src/mattack_actors.cpp +++ b/src/mattack_actors.cpp @@ -522,7 +522,7 @@ void gun_actor::shoot( monster &z, Creature &target, const gun_mode_id &mode ) c target.add_effect( effect_laserlocked, 5_turns ); target.add_effect( effect_was_laserlocked, 5_turns ); target.add_msg_if_player( m_warning, - _( "You're not sure why you've got a laser dot on you..." ) ); + _( "You're not sure why you've got a laser dot on you…" ) ); } z.moves -= targeting_cost; diff --git a/src/melee.cpp b/src/melee.cpp index 674779304c3eb..77d5ec2cc83c7 100644 --- a/src/melee.cpp +++ b/src/melee.cpp @@ -131,8 +131,7 @@ std::string melee_message( const ma_technique &tec, player &p, const dealt_damag const item &Character::used_weapon() const { - return dynamic_cast( *this ).get_combat_style().force_unarmed ? - null_item_reference() : weapon; + return martial_arts_data.selected_force_unarmed() ? null_item_reference() : weapon; } item &Character::used_weapon() @@ -145,7 +144,7 @@ bool Character::is_armed() const return !weapon.is_null(); } -bool player::unarmed_attack() const +bool Character::unarmed_attack() const { const item &weap = used_weapon(); return weap.is_null() || weap.has_flag( "UNARMED_WEAPON" ); @@ -323,18 +322,18 @@ float player::hit_roll() const return melee::melee_hit_range( hit ); } -void player::add_miss_reason( const std::string &reason, const unsigned int weight ) +void Character::add_miss_reason( const std::string &reason, const unsigned int weight ) { melee_miss_reasons.add( reason, weight ); } -void player::clear_miss_reasons() +void Character::clear_miss_reasons() { melee_miss_reasons.clear(); } -std::string player::get_miss_reason() +std::string Character::get_miss_reason() { // everything that lowers accuracy in player::hit_roll() // adding it in hit_roll() might not be safe if it's called multiple times @@ -374,12 +373,15 @@ static void melee_train( player &p, int lo, int hi, const item &weap ) int bash = weap.damage_melee( DT_BASH ) + ( weap.is_null() ? 1 : 0 ); float total = std::max( cut + stab + bash, 1 ); - p.practice( skill_cutting, ceil( cut / total * rng( lo, hi ) ), hi ); - p.practice( skill_stabbing, ceil( stab / total * rng( lo, hi ) ), hi ); - // Unarmed skill scaled bashing damage and so scales with bashing damage - p.practice( weap.is_unarmed_weapon() ? skill_unarmed : skill_bashing, - ceil( bash / total * rng( lo, hi ) ), hi ); + // Unarmed may deal cut, stab, and bash damage depending on the weapon + if( weap.is_unarmed_weapon() ) { + p.practice( skill_unarmed, ceil( 1 * rng( lo, hi ) ), hi ); + } else { + p.practice( skill_cutting, ceil( cut / total * rng( lo, hi ) ), hi ); + p.practice( skill_stabbing, ceil( stab / total * rng( lo, hi ) ), hi ); + p.practice( skill_bashing, ceil( bash / total * rng( lo, hi ) ), hi ); + } } void player::melee_attack( Creature &t, bool allow_special ) @@ -433,8 +435,8 @@ void player::melee_attack( Creature &t, bool allow_special, const matec_id &forc } if( can_miss_recovery( cur_weapon ) ) { - ma_technique tec = get_miss_recovery_tec( cur_weapon ); - add_msg( _( tec.player_message ), t.disp_name() ); + ma_technique tec = martial_arts_data.get_miss_recovery_tec( cur_weapon ); + add_msg( _( tec.avatar_message ), t.disp_name() ); } else if( stumble_pen >= 60 ) { add_msg( m_bad, _( "You miss and stumble with the momentum." ) ); } else if( stumble_pen >= 10 ) { @@ -459,11 +461,12 @@ void player::melee_attack( Creature &t, bool allow_special, const matec_id &forc // Cap stumble penalty, heavy weapons are quite weak already move_cost += std::min( 60, stumble_pen ); - if( has_miss_recovery_tec( cur_weapon ) ) { + if( martial_arts_data.has_miss_recovery_tec( cur_weapon ) ) { move_cost /= 2; } - ma_onmiss_effects(); // trigger martial arts on-miss effects + // trigger martial arts on-miss effects + martial_arts_data.ma_onmiss_effects( *this ); } else { // Remember if we see the monster at start - it may change const bool seen = g->u.sees( t ); @@ -483,6 +486,13 @@ void player::melee_attack( Creature &t, bool allow_special, const matec_id &forc technique_id = tec_none; } + // if you have two broken arms you aren't doing any martial arts + // and your hits are not going to hurt very much + if( get_working_arm_count() < 1 ) { + technique_id = tec_none; + d.mult_damage( 0.1 ); + } + const ma_technique &technique = technique_id.obj(); // Handles effects as well; not done in melee_affect_* @@ -538,7 +548,8 @@ void player::melee_attack( Creature &t, bool allow_special, const matec_id &forc } if( critical_hit ) { - ma_oncrit_effects(); // trigger martial arts on-crit effects + // trigger martial arts on-crit effects + martial_arts_data.ma_oncrit_effects( *this ); } } @@ -546,7 +557,8 @@ void player::melee_attack( Creature &t, bool allow_special, const matec_id &forc t.check_dead_state(); if( t.is_dead_state() ) { - ma_onkill_effects(); // trigger martial arts on-kill effects + // trigger martial arts on-kill effects + martial_arts_data.ma_onkill_effects( *this ); } } @@ -560,8 +572,8 @@ void player::melee_attack( Creature &t, bool allow_special, const matec_id &forc mod_stat( "stamina", std::min( -50, mod_sta ) ); add_msg( m_debug, "Stamina burn: %d", std::min( -50, mod_sta ) ); mod_moves( -move_cost ); - - ma_onattack_effects(); // trigger martial arts on-attack effects + // trigger martial arts on-attack effects + martial_arts_data.ma_onattack_effects( *this ); // some things (shattering weapons) can harm the attacking creature. check_dead_state(); did_hit( t ); @@ -617,7 +629,7 @@ void player::reach_attack( const tripoint &p ) if( critter == nullptr ) { add_msg_if_player( _( "You swing at the air." ) ); - if( has_miss_recovery_tec( weapon ) ) { + if( martial_arts_data.has_miss_recovery_tec( weapon ) ) { move_cost /= 3; // "Probing" is faster than a regular miss } @@ -1021,7 +1033,7 @@ matec_id player::pick_technique( Creature &t, const item &weap, bool crit, bool dodge_counter, bool block_counter ) { - std::vector all = get_all_techniques( weap ); + const std::vector all = martial_arts_data.get_all_techniques( weap ); std::vector possible; @@ -1030,7 +1042,7 @@ matec_id player::pick_technique( Creature &t, const item &weap, bool wall_adjacent = g->m.is_wall_adjacent( pos() ); // first add non-aoe tecs - for( auto &tec_id : all ) { + for( const matec_id &tec_id : all ) { const ma_technique &tec = tec_id.obj(); // ignore "dummy" techniques like WBLOCK_1 @@ -1087,6 +1099,10 @@ matec_id player::pick_technique( Creature &t, const item &weap, continue; } + if( ( tec.take_weapon && ( has_weapon() || !t.has_weapon() ) ) ) { + continue; + } + // Don't apply humanoid-only techniques to non-humanoids if( tec.human_target && !t.in_species( HUMAN ) ) { continue; @@ -1101,7 +1117,7 @@ matec_id player::pick_technique( Creature &t, const item &weap, continue; } - if( tec.is_valid_player( *this ) ) { + if( tec.is_valid_character( *this ) ) { possible.push_back( tec.id ); //add weighted options into the list extra times, to increase their chance of being selected @@ -1229,10 +1245,11 @@ bool player::valid_aoe_technique( Creature &t, const ma_technique &technique, return false; } -bool player::has_technique( const matec_id &id, const item &weap ) const +bool character_martial_arts::has_technique( const Character &guy, const matec_id &id, + const item &weap ) const { return weap.has_technique( id ) || - style_selected.obj().has_technique( *this, id ); + style_selected->has_technique( guy, id ); } static damage_unit &get_damage_unit( std::vector &di, const damage_type dt ) @@ -1362,6 +1379,19 @@ void player::perform_technique( const ma_technique &technique, Creature &t, dama } player *p = dynamic_cast( &t ); + + if( technique.take_weapon && !has_weapon() && p != nullptr && p->is_armed() ) { + if( p->is_player() ) { + add_msg_if_npc( _( " disarms you and takes your weapon!" ) ); + } else { + add_msg_player_or_npc( _( "You disarm %s and take their weapon!" ), + _( " disarms %s and takes their weapon!" ), + p->name ); + } + item it = p->remove_weapon(); + wield( it ); + } + if( technique.disarms && p != nullptr && p->is_armed() ) { g->m.add_item_or_charges( p->pos(), p->remove_weapon() ); if( p->is_player() ) { @@ -1374,11 +1404,11 @@ void player::perform_technique( const ma_technique &technique, Creature &t, dama } //AOE attacks, feel free to skip over this lump - if( technique.aoe.length() > 0 ) { + if( !technique.aoe.empty() ) { // Remember out moves and stamina // We don't want to consume them for every attack! const int temp_moves = moves; - const int temp_stamina = stamina; + const int temp_stamina = get_stamina(); std::vector targets; @@ -1401,18 +1431,16 @@ void player::perform_technique( const ma_technique &technique, Creature &t, dama t.add_msg_if_player( m_good, ngettext( "%d enemy hit!", "%d enemies hit!", count_hit ), count_hit ); // Extra attacks are free of charge (otherwise AoE attacks would SUCK) moves = temp_moves; - stamina = temp_stamina; + set_stamina( temp_stamina ); } //player has a very small chance, based on their intelligence, to learn a style whilst using the CQB bionic - if( has_active_bionic( bio_cqb ) && !has_martialart( style_selected ) ) { + if( has_active_bionic( bio_cqb ) && !martial_arts_data.knows_selected_style() ) { /** @EFFECT_INT slightly increases chance to learn techniques when using CQB bionic */ // Enhanced Memory Banks bionic doubles chance to learn martial art const int bionic_boost = has_active_bionic( bionic_id( bio_memory ) ) ? 2 : 1; if( one_in( ( 1400 - ( get_int() * 50 ) ) / bionic_boost ) ) { - ma_styles.push_back( style_selected ); - add_msg_if_player( m_good, _( "You have learned %s from extensive practice with the CQB Bionic." ), - style_selected.obj().name ); + martial_arts_data.learn_current_style_CQB( is_player() ); } } } @@ -1460,7 +1488,8 @@ bool player::block_hit( Creature *source, body_part &bp_hit, damage_instance &da } blocks_left--; - ma_ongethit_effects(); // fire martial arts on-getting-hit-triggered effects + martial_arts_data.ma_ongethit_effects( + *this ); // fire martial arts on-getting-hit-triggered effects // these fire even if the attack is blocked (you still got hit) // This bonus absorbs damage from incoming attacks before they land, @@ -1478,13 +1507,13 @@ bool player::block_hit( Creature *source, body_part &bp_hit, damage_instance &da // Remember if we're using a weapon or a limb to block. // So that we don't suddenly switch that for any reason. const bool weapon_blocking = !shield.is_null(); - if( !is_force_unarmed() && weapon_blocking ) { + if( !martial_arts_data.is_force_unarmed() && weapon_blocking ) { /** @EFFECT_STR increases attack blocking effectiveness with a weapon */ /** @EFFECT_MELEE increases attack blocking effectiveness with a weapon */ block_bonus = blocking_ability( shield ); block_score = str_cur + block_bonus + get_skill_level( skill_melee ); - } else if( can_limb_block() ) { + } else if( martial_arts_data.can_limb_block( *this ) ) { /** @EFFECT_STR increases attack blocking effectiveness with a limb */ /** @EFFECT_UNARMED increases attack blocking effectiveness with a limb */ @@ -1528,7 +1557,7 @@ bool player::block_hit( Creature *source, body_part &bp_hit, damage_instance &da // but severely mitigated damage if not } else if( elem.type == DT_HEAT || elem.type == DT_ACID || elem.type == DT_COLD ) { // Unarmed weapons won't block those - if( !is_force_unarmed() && weapon_blocking && !unarmed ) { + if( !martial_arts_data.is_force_unarmed() && weapon_blocking && !unarmed ) { float previous_amount = elem.amount; elem.amount /= 5; damage_blocked += previous_amount - elem.amount; @@ -1537,7 +1566,7 @@ bool player::block_hit( Creature *source, body_part &bp_hit, damage_instance &da // conductive weapon } else if( elem.type == DT_ELECTRIC ) { // Unarmed weapons and conductive weapons won't block this - if( !is_force_unarmed() && weapon_blocking && !unarmed && !conductive_shield ) { + if( !martial_arts_data.is_force_unarmed() && weapon_blocking && !unarmed && !conductive_shield ) { float previous_amount = elem.amount; elem.amount /= 5; damage_blocked += previous_amount - elem.amount; @@ -1545,11 +1574,11 @@ bool player::block_hit( Creature *source, body_part &bp_hit, damage_instance &da } } - ma_onblock_effects(); // fire martial arts block-triggered effects + martial_arts_data.ma_onblock_effects( *this ); // fire martial arts block-triggered effects // weapon blocks are preferred to limb blocks std::string thing_blocked_with; - if( !is_force_unarmed() && weapon_blocking ) { + if( !martial_arts_data.is_force_unarmed() && weapon_blocking ) { thing_blocked_with = shield.tname(); // TODO: Change this depending on damage blocked float wear_modifier = 1.0f; @@ -1560,9 +1589,9 @@ bool player::block_hit( Creature *source, body_part &bp_hit, damage_instance &da handle_melee_wear( shield, wear_modifier ); } else { //Choose which body part to block with, assume left side first - if( can_leg_block() && can_arm_block() ) { + if( martial_arts_data.can_leg_block( *this ) && martial_arts_data.can_arm_block( *this ) ) { bp_hit = one_in( 2 ) ? bp_leg_l : bp_arm_l; - } else if( can_leg_block() ) { + } else if( martial_arts_data.can_leg_block( *this ) ) { bp_hit = bp_leg_l; } else { bp_hit = bp_arm_l; @@ -1618,8 +1647,12 @@ bool player::block_hit( Creature *source, body_part &bp_hit, damage_instance &da // Check if we have any block counters matec_id tec = pick_technique( *source, shield, false, false, true ); - if( tec != tec_none ) { - melee_attack( *source, false, tec ); + if( tec != tec_none && !is_dead_state() ) { + if( get_stamina() < get_stamina_max() / 3 ) { + add_msg( m_bad, _( "You try to counterattack but you are too exhausted!" ) ); + } else { + melee_attack( *source, false, tec ); + } } return true; @@ -1753,7 +1786,7 @@ std::string player::melee_special_effects( Creature &t, damage_instance &d, item } // on-hit effects for martial arts - ma_onhit_effects(); + martial_arts_data.ma_onhit_effects( *this ); return dump.str(); } @@ -1969,7 +2002,7 @@ std::string melee_message( const ma_technique &tec, player &p, const dealt_damag if( p.is_npc() ) { message = _( tec.npc_message ); } else { - message = _( tec.player_message ); + message = _( tec.avatar_message ); } if( !message.empty() ) { return message; @@ -2083,7 +2116,8 @@ int player::attack_speed( const item &weap ) const const int encumbrance_penalty = encumb( bp_torso ) + ( encumb( bp_hand_l ) + encumb( bp_hand_r ) ) / 2; const int ma_move_cost = mabuff_attack_cost_penalty(); - const float stamina_ratio = static_cast( stamina ) / static_cast( get_stamina_max() ); + const float stamina_ratio = static_cast( get_stamina() ) / static_cast + ( get_stamina_max() ); // Increase cost multiplier linearly from 1.0 to 2.0 as stamina goes from 25% to 0%. const float stamina_penalty = 1.0 + std::max( ( 0.25f - stamina_ratio ) * 4.0f, 0.0f ); const float ma_mult = mabuff_attack_cost_mult(); @@ -2111,7 +2145,7 @@ int player::attack_speed( const item &weap ) const double player::weapon_value( const item &weap, int ammo ) const { - if( &weapon == &weap ) { + if( is_wielding( weap ) ) { auto cached_value = cached_info.find( "weapon_value" ); if( cached_value != cached_info.end() ) { return cached_value->second; @@ -2125,7 +2159,7 @@ double player::weapon_value( const item &weap, int ammo ) const // A small bonus for guns you can also use to hit stuff with (bayonets etc.) const double my_val = more + ( less / 2.0 ); add_msg( m_debug, "%s (%ld ammo) sum value: %.1f", weap.type->get_id(), ammo, my_val ); - if( &weapon == &weap ) { + if( is_wielding( weap ) ) { cached_info.emplace( "weapon_value", my_val ); } return my_val; diff --git a/src/memorial_logger.cpp b/src/memorial_logger.cpp index 386d79199be5a..01f2f433ad4d7 100644 --- a/src/memorial_logger.cpp +++ b/src/memorial_logger.cpp @@ -159,7 +159,7 @@ void memorial_logger::write( std::ostream &file, const std::string &epitaph ) co getVersionString() ) << eol; file << eol; file << string_format( _( "In memory of: %s" ), u.name ) << eol; - if( epitaph.length() > 0 ) { //Don't record empty epitaphs + if( !epitaph.empty() ) { //Don't record empty epitaphs //~ The "%s" will be replaced by an epitaph as displayed in the memorial files. Replace the quotation marks as appropriate for your language. file << string_format( pgettext( "epitaph", "\"%s\"" ), epitaph ) << eol << eol; } diff --git a/src/messages.cpp b/src/messages.cpp index 986738152a475..794b1aa75572e 100644 --- a/src/messages.cpp +++ b/src/messages.cpp @@ -175,7 +175,7 @@ class messages_impl void add_msg_string( std::string &&msg, game_message_type const type, const game_message_flags flags ) { - if( msg.length() == 0 || !active ) { + if( msg.empty() || !active ) { return; } diff --git a/src/mission.h b/src/mission.h index de6d3ebf9aacc..492c93dbd915a 100644 --- a/src/mission.h +++ b/src/mission.h @@ -179,7 +179,7 @@ tripoint get_om_terrain_pos( const mission_target_params ¶ms ); void set_assign_om_target( JsonObject &jo, std::vector> &funcs ); bool set_update_mapgen( JsonObject &jo, std::vector> &funcs ); -bool load_funcs( JsonObject jo, std::vector> &funcs ); +bool load_funcs( JsonObject &jo, std::vector> &funcs ); } // namespace mission_util struct mission_goal_condition_context { diff --git a/src/mission_companion.cpp b/src/mission_companion.cpp index 5fb164f128572..09b7713ff762b 100644 --- a/src/mission_companion.cpp +++ b/src/mission_companion.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -47,6 +48,7 @@ #include "output.h" #include "pimpl.h" #include "pldata.h" +#include "skill.h" #include "string_formatter.h" #include "string_id.h" #include "ui.h" @@ -230,18 +232,18 @@ void talk_function::commune_farmfield( mission_data &mission_key, npc &p ) { if( !p.has_trait( trait_NPC_CONSTRUCTION_LEV_1 ) ) { std::string entry = _( "Cost: $1000\n\n\n" - " .........\n" - " .........\n" - " .........\n" - " .........\n" - " .........\n" - " .........\n" - " ..#....**\n" - " ..#Ov..**\n" - " ...O|....\n\n" + " .........\n" // NOLINT(cata-text-style) + " .........\n" // NOLINT(cata-text-style) + " .........\n" // NOLINT(cata-text-style) + " .........\n" // NOLINT(cata-text-style) + " .........\n" // NOLINT(cata-text-style) + " .........\n" // NOLINT(cata-text-style) + " ..#....**\n" // NOLINT(cata-text-style) + " ..#Ov..**\n" // NOLINT(cata-text-style) + " ...O|....\n\n" // NOLINT(cata-text-style) "We're willing to let you purchase a field at a substantial " "discount to use for your own agricultural enterprises. We'll " - "plow it for you so you know exactly what is yours... after you " + "plow it for you so you know exactly what is yours… after you " "have a field you can hire workers to plant or harvest crops for " "you. If the crop is something we have a demand for, we'll be " "willing to liquidate it." ); @@ -249,15 +251,15 @@ void talk_function::commune_farmfield( mission_data &mission_key, npc &p ) } if( p.has_trait( trait_NPC_CONSTRUCTION_LEV_1 ) && !p.has_trait( trait_NPC_CONSTRUCTION_LEV_2 ) ) { std::string entry = _( "Cost: $5500\n\n" - "\n ........." - "\n ........." - "\n ........." - "\n ........." - "\n ........." - "\n ........." - "\n ..#....**" - "\n ..#Ov..**" - "\n ...O|....\n\n" + "\n ........." // NOLINT(cata-text-style) + "\n ........." // NOLINT(cata-text-style) + "\n ........." // NOLINT(cata-text-style) + "\n ........." // NOLINT(cata-text-style) + "\n ........." // NOLINT(cata-text-style) + "\n ........." // NOLINT(cata-text-style) + "\n ..#....**" // NOLINT(cata-text-style) + "\n ..#Ov..**" // NOLINT(cata-text-style) + "\n ...O|....\n\n" // NOLINT(cata-text-style) "Protecting your field with a sturdy picket fence will keep most " "wildlife from nibbling your crops apart. You can expect yields to " "increase." ); @@ -266,29 +268,29 @@ void talk_function::commune_farmfield( mission_data &mission_key, npc &p ) if( p.has_trait( trait_NPC_CONSTRUCTION_LEV_1 ) ) { std::string entry = _( "Cost: $3.00/plot\n\n" - "\n ........." - "\n ........." - "\n ........." - "\n ........." - "\n ........." - "\n ........." - "\n ..#....**" - "\n ..#Ov..**" - "\n ...O|....\n\n" + "\n ........." // NOLINT(cata-text-style) + "\n ........." // NOLINT(cata-text-style) + "\n ........." // NOLINT(cata-text-style) + "\n ........." // NOLINT(cata-text-style) + "\n ........." // NOLINT(cata-text-style) + "\n ........." // NOLINT(cata-text-style) + "\n ..#....**" // NOLINT(cata-text-style) + "\n ..#Ov..**" // NOLINT(cata-text-style) + "\n ...O|....\n\n" // NOLINT(cata-text-style) "We'll plant the field with your choice of crop if you are willing " "to finance it. When the crop is ready to harvest you can have us " "liquidate it or harvest it for you." ); mission_key.add( "Plant East Field", _( "Plant East Field" ), entry ); entry = _( "Cost: $2.00/plot\n\n" - "\n ........." - "\n ........." - "\n ........." - "\n ........." - "\n ........." - "\n ........." - "\n ..#....**" - "\n ..#Ov..**" - "\n ...O|....\n\n" + "\n ........." // NOLINT(cata-text-style) + "\n ........." // NOLINT(cata-text-style) + "\n ........." // NOLINT(cata-text-style) + "\n ........." // NOLINT(cata-text-style) + "\n ........." // NOLINT(cata-text-style) + "\n ........." // NOLINT(cata-text-style) + "\n ..#....**" // NOLINT(cata-text-style) + "\n ..#Ov..**" // NOLINT(cata-text-style) + "\n ...O|....\n\n" // NOLINT(cata-text-style) "You can either have us liquidate the crop and give you the cash or pay us to " "harvest it for you." ); mission_key.add( "Harvest East Field", _( "Harvest East Field" ), entry ); @@ -369,7 +371,7 @@ bool talk_function::display_and_choose_opts( mission_data &mission_key, const tr const std::string &role_id, const std::string &title ) { if( mission_key.entries.empty() ) { - popup( _( "There are no missions at this colony. Press Spacebar..." ) ); + popup( _( "There are no missions at this colony. Press Spacebar…" ) ); return false; } @@ -437,7 +439,7 @@ bool talk_function::display_and_choose_opts( mission_data &mission_key, const tr reset_cur_key_list(); if( cur_key_list.empty() ) { - popup( _( "There are no missions at this colony. Press Spacebar..." ) ); + popup( _( "There are no missions at this colony. Press Spacebar…" ) ); return false; } @@ -456,7 +458,8 @@ bool talk_function::display_and_choose_opts( mission_data &mission_key, const tr std::vector> folded_names; for( const auto &cur_key_entry : cur_key_list ) { - std::vector f_name = foldstring( cur_key_entry.name_display, part_x + 5, ' ' ); + std::vector f_name = foldstring( cur_key_entry.name_display, MAX_FAC_NAME_SIZE - 5, + ' ' ); folded_names_lines += f_name.size(); folded_names.emplace_back( f_name ); } @@ -619,7 +622,7 @@ bool talk_function::display_and_choose_opts( mission_data &mission_key, const tr bool talk_function::handle_outpost_mission( const mission_entry &cur_key, npc &p ) { if( cur_key.id == "Caravan Commune-Refugee Center" ) { - individual_mission( p, _( "joins the caravan team..." ), "_commune_refugee_caravan", true ); + individual_mission( p, _( "joins the caravan team…" ), "_commune_refugee_caravan", true ); } if( cur_key.id == "Begin Commune-Refugee Center Run" ) { caravan_depart( p, "evac_center_18", "_commune_refugee_caravan" ); @@ -640,32 +643,32 @@ bool talk_function::handle_outpost_mission( const mission_entry &cur_key, npc &p field_harvest( p, "ranch_camp_63" ); } if( cur_key.id == "Assign Scavenging Patrol" ) { - individual_mission( p, _( "departs on the scavenging patrol..." ), "_scavenging_patrol" ); + individual_mission( p, _( "departs on the scavenging patrol…" ), "_scavenging_patrol" ); } if( cur_key.id == "Retrieve Scavenging Patrol" ) { scavenging_patrol_return( p ); } if( cur_key.id == "Assign Scavenging Raid" ) { - individual_mission( p, _( "departs on the scavenging raid..." ), "_scavenging_raid" ); + individual_mission( p, _( "departs on the scavenging raid…" ), "_scavenging_raid" ); } if( cur_key.id == "Retrieve Scavenging Raid" ) { scavenging_raid_return( p ); } if( cur_key.id == "Assign Ally to Menial Labor" ) { - individual_mission( p, _( "departs to work as a laborer..." ), "_labor" ); + individual_mission( p, _( "departs to work as a laborer…" ), "_labor" ); } if( cur_key.id == "Recover Ally from Menial Labor" ) { labor_return( p ); } if( cur_key.id == "Assign Ally to Carpentry Work" ) { - individual_mission( p, _( "departs to work as a carpenter..." ), "_carpenter" ); + individual_mission( p, _( "departs to work as a carpenter…" ), "_carpenter" ); } if( cur_key.id == "Recover Ally from Carpentry Work" ) { carpenter_return( p ); } if( cur_key.id == "Assign Ally to Forage for Food" ) { - individual_mission( p, _( "departs to forage for food..." ), "_forage" ); + individual_mission( p, _( "departs to forage for food…" ), "_forage" ); } if( cur_key.id == "Recover Ally from Foraging" ) { forage_return( p ); @@ -680,18 +683,18 @@ bool talk_function::handle_outpost_mission( const mission_entry &cur_key, npc &p npc_ptr talk_function::individual_mission( npc &p, const std::string &desc, const std::string &miss_id, bool group, const std::vector &equipment, - const std::string &skill_tested, int skill_level ) + const std::map &required_skills ) { const tripoint omt_pos = p.global_omt_location(); return individual_mission( omt_pos, p.companion_mission_role_id, desc, miss_id, group, - equipment, skill_tested, skill_level ); + equipment, required_skills ); } npc_ptr talk_function::individual_mission( const tripoint &omt_pos, const std::string &role_id, const std::string &desc, const std::string &miss_id, bool group, const std::vector &equipment, - const std::string &skill_tested, int skill_level ) + const std::map &required_skills ) { - npc_ptr comp = companion_choose( skill_tested, skill_level ); + npc_ptr comp = companion_choose( required_skills ); if( comp == nullptr ) { return comp; } @@ -730,7 +733,7 @@ void talk_function::caravan_depart( npc &p, const std::string &dest, const std:: std::vector npc_list = companion_list( p, id ); int distance = caravan_dist( dest ); time_duration time = 20_minutes + distance * 10_minutes; - popup( _( "The caravan departs with an estimated total travel time of %d hours..." ), + popup( _( "The caravan departs with an estimated total travel time of %d hours…" ), to_hours( time ) ); for( auto &elem : npc_list ) { @@ -818,7 +821,7 @@ void talk_function::caravan_return( npc &p, const std::string &dest, const std:: g->u.cash += ( 100 * money ); popup( _( "The caravan party has returned. Your share of the profits are $%d!" ), money ); } else { - popup( _( "The caravan was a disaster and your companions never made it home..." ) ); + popup( _( "The caravan was a disaster and your companions never made it home…" ) ); } } @@ -959,7 +962,7 @@ void talk_function::field_build_2( npc &p ) bay.draw_square_ter( t_fencegate_c, point( 4, 9 ), point( 4, 9 ) ); bay.save(); popup( _( "After counting your money %s directs a nearby laborer to begin constructing a " - "fence around your plot..." ), p.name ); + "fence around your plot…" ), p.name ); } void talk_function::field_plant( npc &p, const std::string &place ) @@ -1014,7 +1017,7 @@ void talk_function::field_plant( npc &p, const std::string &place ) } if( empty_plots == 0 ) { - popup( _( "You have no room to plant seeds..." ) ); + popup( _( "You have no room to plant seeds…" ) ); return; } @@ -1025,7 +1028,7 @@ void talk_function::field_plant( npc &p, const std::string &place ) signed int a = limiting_number * 300; if( a > g->u.cash ) { - popup( _( "I'm sorry, you don't have enough money to plant those seeds..." ) ); + popup( _( "I'm sorry, you don't have enough money to plant those seeds…" ) ); return; } if( !query_yn( _( "Do you wish to have %d %s planted here for $%d?" ), limiting_number, @@ -1091,7 +1094,7 @@ void talk_function::field_harvest( npc &p, const std::string &place ) } } if( plant_names.empty() ) { - popup( _( "There aren't any plants that are ready to harvest..." ) ); + popup( _( "There aren't any plants that are ready to harvest…" ) ); return; } // Choose the crop to harvest @@ -1099,7 +1102,7 @@ void talk_function::field_harvest( npc &p, const std::string &place ) plant_names ); // Did we cancel? if( plant_index < 0 || static_cast( plant_index ) >= plant_types.size() ) { - popup( _( "You decided to hold off for now..." ) ); + popup( _( "You decided to hold off for now…" ) ); return; } @@ -1148,7 +1151,7 @@ void talk_function::field_harvest( npc &p, const std::string &place ) if( a > g->u.cash ) { liquidate = true; popup( _( "You don't have enough to pay the workers to harvest the crop so you are forced " - "to sell..." ) ); + "to sell…" ) ); } else { liquidate = query_yn( _( "Do you wish to sell the crop of %d %s for a profit of $%d?" ), number_plants, plant_names[plant_index], money ); @@ -1156,7 +1159,7 @@ void talk_function::field_harvest( npc &p, const std::string &place ) //Add fruit if( liquidate ) { - add_msg( _( "The %s are sold for $%d..." ), plant_names[plant_index], money ); + add_msg( _( "The %s are sold for $%d…" ), plant_names[plant_index], money ); g->u.cash += ( number_plants * tmp.price( true ) - number_plots * 2 ) / 100; } else { if( tmp.count_by_charges() ) { @@ -1166,7 +1169,7 @@ void talk_function::field_harvest( npc &p, const std::string &place ) //Should be dropped at your feet once greedy companions can be controlled g->u.i_add( tmp ); } - add_msg( _( "You receive %d %s..." ), number_plants, plant_names[plant_index] ); + add_msg( _( "You receive %d %s…" ), number_plants, plant_names[plant_index] ); } tmp = item( seed_types[plant_index], calendar::turn ); const islot_seed &seed_data = *tmp.type->seed; @@ -1177,7 +1180,7 @@ void talk_function::field_harvest( npc &p, const std::string &place ) for( int i = 0; i < number_seeds; ++i ) { g->u.i_add( tmp ); } - add_msg( _( "You receive %d %s..." ), number_seeds, tmp.type_name( 3 ) ); + add_msg( _( "You receive %d %s…" ), number_seeds, tmp.type_name( 3 ) ); } } @@ -1209,19 +1212,19 @@ bool talk_function::scavenging_patrol_return( npc &p ) int experience = rng( 5, 20 ); if( one_in( 4 ) ) { popup( _( "While scavenging, %s's party suddenly found itself set upon by a large mob of " - "undead..." ), comp->name ); + "undead…" ), comp->name ); int skill = scavenging_combat_skill( *comp, 4, true ); if( one_in( 6 ) ) { popup( _( "Through quick thinking the group was able to evade combat!" ) ); } else { - popup( _( "Combat took place in close quarters, focusing on melee skills..." ) ); + popup( _( "Combat took place in close quarters, focusing on melee skills…" ) ); int monsters = rng( 8, 30 ); if( skill * rng_float( .60, 1.4 ) > .35 * monsters * rng_float( .6, 1.4 ) ) { popup( _( "Through brute force the party smashed through the group of %d" " undead!" ), monsters ); experience += rng( 2, 10 ); } else { - popup( _( "Unfortunately they were overpowered by the undead... I'm sorry." ) ); + popup( _( "Unfortunately they were overpowered by the undead… I'm sorry." ) ); overmap_buffer.remove_npc( comp->getID() ); return false; } @@ -1232,7 +1235,7 @@ bool talk_function::scavenging_patrol_return( npc &p ) g->u.cash += money * 100; companion_skill_trainer( *comp, "combat", experience * 10_minutes, 10 ); - popup( _( "%s returns from patrol having earned $%d and a fair bit of experience..." ), + popup( _( "%s returns from patrol having earned $%d and a fair bit of experience…" ), comp->name, money ); if( one_in( 10 ) ) { popup( _( "%s was impressed with %s's performance and gave you a small bonus ( $100 )" ), @@ -1258,19 +1261,19 @@ bool talk_function::scavenging_raid_return( npc &p ) int experience = rng( 10, 20 ); if( one_in( 2 ) ) { popup( _( "While scavenging, %s's party suddenly found itself set upon by a large mob of " - "undead..." ), comp->name ); + "undead…" ), comp->name ); int skill = scavenging_combat_skill( *comp, 4, true ); if( one_in( 6 ) ) { popup( _( "Through quick thinking the group was able to evade combat!" ) ); } else { - popup( _( "Combat took place in close quarters, focusing on melee skills..." ) ); + popup( _( "Combat took place in close quarters, focusing on melee skills…" ) ); int monsters = rng( 8, 30 ); if( skill * rng_float( .60, 1.4 ) > ( .35 * monsters * rng_float( .6, 1.4 ) ) ) { popup( _( "Through brute force the party smashed through the group of %d " "undead!" ), monsters ); experience += rng( 2, 10 ); } else { - popup( _( "Unfortunately they were overpowered by the undead... I'm sorry." ) ); + popup( _( "Unfortunately they were overpowered by the undead… I'm sorry." ) ); overmap_buffer.remove_npc( comp->getID() ); return false; } @@ -1288,7 +1291,7 @@ bool talk_function::scavenging_raid_return( npc &p ) g->u.cash += money * 100; companion_skill_trainer( *comp, "combat", experience * 10_minutes, 10 ); - popup( _( "%s returns from the raid having earned $%d and a fair bit of experience..." ), + popup( _( "%s returns from the raid having earned $%d and a fair bit of experience…" ), comp->name, money ); if( one_in( 20 ) ) { popup( _( "%s was impressed with %s's performance and gave you a small bonus ( $100 )" ), @@ -1323,7 +1326,7 @@ bool talk_function::labor_return( npc &p ) companion_skill_trainer( *comp, "menial", calendar::turn - comp->companion_mission_time, 1 ); - popup( _( "%s returns from working as a laborer having earned $%d and a bit of experience..." ), + popup( _( "%s returns from working as a laborer having earned $%d and a bit of experience…" ), comp->name, money ); companion_return( *comp ); if( hours >= 8 && one_in( 8 ) && !p.has_trait( trait_NPC_MISSION_LEV_1 ) ) { @@ -1354,7 +1357,7 @@ bool talk_function::carpenter_return( npc &p ) int skill_1 = comp->get_skill_level( skill_fabrication ); int skill_2 = comp->get_skill_level( skill_dodge ); int skill_3 = comp->get_skill_level( skill_survival ); - popup( _( "While %s was framing a building one of the walls began to collapse..." ), + popup( _( "While %s was framing a building one of the walls began to collapse…" ), comp->name ); if( skill_1 > rng( 1, 8 ) ) { popup( _( "In the blink of an eye, %s threw a brace up and averted a disaster." ), @@ -1362,12 +1365,12 @@ bool talk_function::carpenter_return( npc &p ) } else if( skill_2 > rng( 1, 8 ) ) { popup( _( "Darting out a window, %s escaped the collapse." ), comp->name ); } else if( skill_3 > rng( 1, 8 ) ) { - popup( _( "%s didn't make it out in time..." ), comp->name ); + popup( _( "%s didn't make it out in time…" ), comp->name ); popup( _( "but %s was rescued from the debris with only minor injuries!" ), comp->name ); } else { - popup( _( "%s didn't make it out in time..." ), comp->name ); - popup( _( "Everyone who was trapped under the collapsing roof died..." ) ); + popup( _( "%s didn't make it out in time…" ), comp->name ); + popup( _( "Everyone who was trapped under the collapsing roof died…" ) ); popup( _( "I'm sorry, there is nothing we could do." ) ); overmap_buffer.remove_npc( comp->getID() ); return false; @@ -1382,7 +1385,7 @@ bool talk_function::carpenter_return( npc &p ) comp->companion_mission_time, 2 ); popup( _( "%s returns from working as a carpenter having earned $%d and a bit of " - "experience..." ), comp->name, money ); + "experience…" ), comp->name, money ); companion_return( *comp ); return true; } @@ -1395,7 +1398,7 @@ bool talk_function::forage_return( npc &p ) } if( one_in( 10 ) ) { - popup( _( "While foraging, a beast began to stalk %s..." ), comp->name ); + popup( _( "While foraging, a beast began to stalk %s…" ), comp->name ); // the following doxygen aliases do not yet exist. this is marked for future reference ///\EFFECT_SURVIVAL_NPC affects forage mission results @@ -1423,11 +1426,11 @@ bool talk_function::forage_return( npc &p ) } else { if( one_in( 2 ) ) { popup( _( "%s was able to hold off the first wolf but the others that were " - "skulking in the tree line caught up..." ), comp->name ); - popup( _( "I'm sorry, there wasn't anything we could do..." ) ); + "skulking in the tree line caught up…" ), comp->name ); + popup( _( "I'm sorry, there wasn't anything we could do…" ) ); } else { - popup( _( "We... we don't know what exactly happened but we found %s's gear " - "ripped and bloody..." ), comp->name ); + popup( _( "We… we don't know what exactly happened but we found %s's gear " + "ripped and bloody…" ), comp->name ); popup( _( "I fear your companion won't be returning." ) ); } overmap_buffer.remove_npc( comp->getID() ); @@ -1444,7 +1447,7 @@ bool talk_function::forage_return( npc &p ) comp->companion_mission_time, 2 ); popup( _( "%s returns from working as a forager having earned $%d and a bit of " - "experience..." ), comp->name, money ); + "experience…" ), comp->name, money ); // the following doxygen aliases do not yet exist. this is marked for future reference ///\EFFECT_SURVIVAL_NPC affects forage mission results @@ -1839,26 +1842,34 @@ static bool companion_sort_compare( const npc_ptr &first, const npc_ptr &second return companion_combat_rank( *first ) > companion_combat_rank( *second ); } -comp_list talk_function::companion_sort( comp_list available, const std::string &skill_tested ) +comp_list talk_function::companion_sort( comp_list available, + const std::map &required_skills ) { - if( skill_tested.empty() ) { + if( required_skills.empty() ) { std::sort( available.begin(), available.end(), companion_sort_compare ); return available; } + skill_id hardest_skill; + int hardest_diff = -1; + for( const std::pair &req_skill : required_skills ) { + if( req_skill.second > hardest_diff ) { + hardest_diff = req_skill.second; + hardest_skill = req_skill.first; + } + } struct companion_sort_skill { - companion_sort_skill( const std::string &skill_tested ) { - this->skill_tested = skill_tested; + companion_sort_skill( const skill_id &skill_tested ) { + req_skill = skill_tested; } bool operator()( const npc_ptr &first, const npc_ptr &second ) { - return first->get_skill_level( skill_id( skill_tested ) ) > second->get_skill_level( - skill_id( skill_tested ) ); + return first->get_skill_level( req_skill ) > second->get_skill_level( req_skill ); } - std::string skill_tested; + skill_id req_skill; }; - std::sort( available.begin(), available.end(), companion_sort_skill( skill_tested ) ); + std::sort( available.begin(), available.end(), companion_sort_skill( hardest_skill ) ); return available; } @@ -1902,7 +1913,7 @@ std::vector talk_function::companion_rank( const std::vector return adjusted; } -npc_ptr talk_function::companion_choose( const std::string &skill_tested, int skill_level ) +npc_ptr talk_function::companion_choose( const std::map &required_skills ) { std::vector available; cata::optional bcp = overmap_buffer.find_camp( g->u.global_omt_location().xy() ); @@ -1944,47 +1955,67 @@ npc_ptr talk_function::companion_choose( const std::string &skill_tested, int sk } } if( available.empty() ) { - popup( _( "You don't have any companions to send out..." ) ); + popup( _( "You don't have any companions to send out…" ) ); return nullptr; } - std::vector npcs; - available = companion_sort( available, skill_tested ); + std::vector npc_menu; + available = companion_sort( available, required_skills ); std::vector rankings = companion_rank( available ); int x = 0; - for( auto &e : available ) { - std::string after_npc = e->mission == NPC_MISSION_GUARD_ALLY ? " (Guarding) " : " "; - std::string npc_entry = e->name + after_npc; - if( !skill_tested.empty() ) { - std::string req_skill = ( skill_level == 0 ) ? "" : "/" + to_string( skill_level ); - std::string skill_test = "[" + skill_id( skill_tested ).str() + " " + - to_string( e->get_skill_level( skill_id( skill_tested ) ) ) + - req_skill + "] "; - while( skill_test.length() + npc_entry.length() < 51 ) { - npc_entry += " "; - } - npc_entry += skill_test; + std::string menu_header = left_justify( _( "Who do you want to send?" ), 51 ); + if( required_skills.empty() ) { + menu_header += _( "[ COMBAT : SURVIVAL : INDUSTRY ]" ); + } + for( const npc_ptr &e : available ) { + std::string npc_desc; + bool can_do = true; + if( e->mission == NPC_MISSION_GUARD_ALLY ) { + //~ %1$s: npc name + npc_desc = string_format( pgettext( "companion", "%1$s (Guarding)" ), e->name ); + } else { + npc_desc = e->name; } - while( npc_entry.length() < 51 ) { - npc_entry += " "; + if( required_skills.empty() ) { + npc_desc = string_format( pgettext( "companion ranking", "%s [ %4d : %4d : %4d ]" ), + left_justify( npc_desc, 51 ), rankings[x].combat, + rankings[x].survival, rankings[x].industry ); + } else { + npc_desc = left_justify( npc_desc, 51 ); + bool first = true; + for( const std::pair &skill_tested : required_skills ) { + if( first ) { + first = false; + } else { + npc_desc += ", "; + } + skill_id skill_tested_id = skill_tested.first; + int skill_level = skill_tested.second; + if( skill_level == 0 ) { + //~ %1$s: skill name, %2$d: companion skill level + npc_desc += string_format( pgettext( "companion skill", "%1$s %2$d" ), + skill_tested_id.obj().name(), + e->get_skill_level( skill_tested_id ) ); + } else { + //~ %1$s: skill name, %2$d: companion skill level, %3$d: skill requirement + npc_desc += string_format( pgettext( "companion skill", "%1$s %2$d/%3$d" ), + skill_tested_id.obj().name(), + e->get_skill_level( skill_tested_id ), + skill_level ); + can_do &= e->get_skill_level( skill_tested_id ) >= skill_level; + } + } } - npc_entry = string_format( "%s [ %4d : %4d : %4d ]", npc_entry, rankings[x].combat, - rankings[x].survival, rankings[x].industry ); + uilist_entry npc_entry = uilist_entry( x, can_do, x, npc_desc ); + npc_menu.push_back( npc_entry ); x++; - npcs.push_back( npc_entry ); } - const size_t npc_choice = uilist( _( "Who do you want to send? " - "[ COMBAT : SURVIVAL : INDUSTRY ]" ), npcs ); + const size_t npc_choice = uilist( menu_header, npc_menu ); if( npc_choice >= available.size() ) { - popup( _( "You choose to send no one..." ) ); + popup( _( "You choose to send no one…" ), npc_choice ); return nullptr; } - if( !skill_tested.empty() && - available[npc_choice]->get_skill_level( skill_id( skill_tested ) ) < skill_level ) { - popup( _( "The companion you selected doesn't have the skills!" ) ); - return nullptr; - } return available[npc_choice]; } @@ -2020,7 +2051,7 @@ npc_ptr talk_function::companion_choose_return( const tripoint &omt_pos, } if( available.empty() ) { - popup( _( "You don't have any companions ready to return..." ) ); + popup( _( "You don't have any companions ready to return…" ) ); return nullptr; } @@ -2036,7 +2067,7 @@ npc_ptr talk_function::companion_choose_return( const tripoint &omt_pos, if( npc_choice < available.size() ) { return available[npc_choice]; } - popup( _( "No one returns to your party..." ) ); + popup( _( "No one returns to your party…" ) ); return nullptr; } diff --git a/src/mission_companion.h b/src/mission_companion.h index 3646e22a52068..15ef33566c1ce 100644 --- a/src/mission_companion.h +++ b/src/mission_companion.h @@ -2,6 +2,7 @@ #ifndef MISSION_COMPANION_H #define MISSION_COMPANION_H +#include #include #include #include @@ -88,11 +89,11 @@ bool display_and_choose_opts( mission_data &mission_key, const tripoint &omt_pos ///Send a companion on an individual mission or attaches them to a group to depart later npc_ptr individual_mission( npc &p, const std::string &desc, const std::string &miss_id, bool group = false, const std::vector &equipment = {}, - const std::string &skill_tested = "", int skill_level = 0 ); + const std::map &required_skills = {} ); npc_ptr individual_mission( const tripoint &omt_pos, const std::string &role_id, const std::string &desc, const std::string &miss_id, bool group = false, const std::vector &equipment = {}, - const std::string &skill_tested = "", int skill_level = 0 ); + const std::map &required_skills = {} ); ///All of these missions are associated with the ranch camp and need to me updated/merged into the new ones void caravan_return( npc &p, const std::string &dest, const std::string &id ); @@ -134,9 +135,10 @@ npc_ptr temp_npc( const string_id &type ); comp_list companion_list( const npc &p, const std::string &mission_id, bool contains = false ); comp_list companion_list( const tripoint &omt_pos, const std::string &role_id, const std::string &mission_id, bool contains = false ); -comp_list companion_sort( comp_list available, const std::string &skill_tested = "" ); +comp_list companion_sort( comp_list available, + const std::map &required_skills = {} ); std::vector companion_rank( const comp_list &available, bool adj = true ); -npc_ptr companion_choose( const std::string &skill_tested = "", int skill_level = 0 ); +npc_ptr companion_choose( const std::map &required_skills = {} ); npc_ptr companion_choose_return( const npc &p, const std::string &mission_id, const time_point &deadline ); npc_ptr companion_choose_return( const tripoint &omt_pos, const std::string &role_id, diff --git a/src/mission_start.cpp b/src/mission_start.cpp index d808a277fcd41..616b657b14b7b 100644 --- a/src/mission_start.cpp +++ b/src/mission_start.cpp @@ -53,7 +53,7 @@ void mission_start::place_dog( mission *miss ) const tripoint house = mission_util::random_house_in_closest_city(); npc *dev = g->find_npc( miss->npc_id ); if( dev == nullptr ) { - debugmsg( "Couldn't find NPC! %d", miss->npc_id.get_value() ); + debugmsg( "Couldn't find NPC! %d", miss->npc_id.get_value() ); return; } g->u.i_add( item( "dog_whistle", 0 ) ); @@ -188,7 +188,7 @@ void mission_start::place_npc_software( mission *miss ) { npc *dev = g->find_npc( miss->npc_id ); if( dev == nullptr ) { - debugmsg( "Couldn't find NPC! %d", miss->npc_id.get_value() ); + debugmsg( "Couldn't find NPC! %d", miss->npc_id.get_value() ); return; } g->u.i_add( item( "usb_drive", 0 ) ); @@ -606,7 +606,7 @@ void mission_start::reveal_refugee_center( mission *miss ) const cata::optional target_pos = mission_util::assign_mission_target( t ); if( !target_pos ) { - add_msg( _( "You don't know where the address could be..." ) ); + add_msg( _( "You don't know where the address could be…" ) ); return; } @@ -615,9 +615,9 @@ void mission_start::reveal_refugee_center( mission *miss ) const tripoint dest_road = overmap_buffer.find_closest( *target_pos, "road", 3, false ); if( overmap_buffer.reveal_route( source_road, dest_road, 1, true ) ) { - add_msg( _( "You mark the refugee center and the road that leads to it..." ) ); + add_msg( _( "You mark the refugee center and the road that leads to it…" ) ); } else { - add_msg( _( "You mark the refugee center, but you have no idea how to get there by road..." ) ); + add_msg( _( "You mark the refugee center, but you have no idea how to get there by road…" ) ); } } diff --git a/src/mission_util.cpp b/src/mission_util.cpp index 51666d8fc090c..50352a0112c84 100644 --- a/src/mission_util.cpp +++ b/src/mission_util.cpp @@ -54,7 +54,7 @@ static void reveal_route( mission *miss, const tripoint &destination ) const tripoint dest_road = overmap_buffer.find_closest( destination, "road", 3, false ); if( overmap_buffer.reveal_route( source_road, dest_road ) ) { - add_msg( _( "%s also marks the road that leads to it..." ), p->name ); + add_msg( _( "%s also marks the road that leads to it…" ), p->name ); } } @@ -167,8 +167,12 @@ static cata::optional find_or_create_om_terrain( const tripoint &origi tripoint target_pos = overmap::invalid_tripoint; omt_find_params find_params; - find_params.type = params.overmap_terrain; - find_params.match_type = params.overmap_terrain_match_type; + std::vector> temp_types; + std::pair temp_pair; + temp_pair.first = params.overmap_terrain; + temp_pair.second = params.overmap_terrain_match_type; + temp_types.push_back( temp_pair ); + find_params.types = temp_types; find_params.search_range = params.search_range; find_params.min_distance = params.min_distance; find_params.must_see = params.must_see; @@ -201,7 +205,7 @@ static cata::optional find_or_create_om_terrain( const tripoint &origi // This terrain wasn't part of an overmap special, but we do have a replacement // terrain specified. Find a random location of that replacement type. find_params.must_see = false; - find_params.type = *params.replaceable_overmap_terrain; + find_params.types.front().first = *params.replaceable_overmap_terrain; target_pos = overmap_buffer.find_random( origin_pos, find_params ); // We didn't find it, so allow this search to create new overmaps and try again. @@ -441,6 +445,7 @@ bool mission_util::set_update_mapgen( JsonObject &jo, bool defer = false; mapgen_update_func update_map = add_mapgen_update_func( jo, defer ); if( defer ) { + jo.allow_omitted_members(); return false; } @@ -461,7 +466,7 @@ bool mission_util::set_update_mapgen( JsonObject &jo, return true; } -bool mission_util::load_funcs( JsonObject jo, +bool mission_util::load_funcs( JsonObject &jo, std::vector> &funcs ) { if( jo.has_string( "reveal_om_ter" ) ) { diff --git a/src/missiondef.cpp b/src/missiondef.cpp index 66b5676504c8e..cc26941b18aa5 100644 --- a/src/missiondef.cpp +++ b/src/missiondef.cpp @@ -285,6 +285,7 @@ void mission_type::load( JsonObject &jo, const std::string &src ) JsonObject j_start = jo.get_object( phase ); if( !parse_funcs( j_start, phase_func ) ) { deferred.emplace_back( jo.str(), src ); + j_start.allow_omitted_members(); return false; } } diff --git a/src/mod_manager.cpp b/src/mod_manager.cpp index ea21bf2513e57..430e21ca31bca 100644 --- a/src/mod_manager.cpp +++ b/src/mod_manager.cpp @@ -105,7 +105,7 @@ void mod_manager::load_replacement_mods( const std::string &path ) mod_manager::mod_manager() { - load_replacement_mods( FILENAMES["mods-replacements"] ); + load_replacement_mods( PATH_INFO::mods_replacements() ); refresh_mod_list(); set_usable_mods(); } @@ -139,14 +139,14 @@ void mod_manager::refresh_mod_list() clear(); std::map> mod_dependency_map; - load_mods_from( FILENAMES["moddir"] ); - load_mods_from( FILENAMES["user_moddir"] ); + load_mods_from( PATH_INFO::moddir() ); + load_mods_from( PATH_INFO::user_moddir() ); - if( file_exist( FILENAMES["mods-dev-default"] ) ) { - load_mod_info( FILENAMES["mods-dev-default"] ); + if( file_exist( PATH_INFO::mods_dev_default() ) ) { + load_mod_info( PATH_INFO::mods_dev_default() ); } - if( file_exist( FILENAMES["mods-user-default"] ) ) { - load_mod_info( FILENAMES["mods-user-default"] ); + if( file_exist( PATH_INFO::mods_user_default() ) ) { + load_mod_info( PATH_INFO::mods_user_default() ); } if( set_default_mods( mod_id( "user:default" ) ) ) { @@ -202,6 +202,7 @@ void mod_manager::load_modfile( JsonObject &jo, const std::string &path ) { if( !jo.has_string( "type" ) || jo.get_string( "type" ) != "MOD_INFO" ) { // Ignore anything that is not a mod-info + jo.allow_omitted_members(); return; } @@ -269,7 +270,7 @@ void mod_manager::load_modfile( JsonObject &jo, const std::string &path ) bool mod_manager::set_default_mods( const t_mod_list &mods ) { default_mods = mods; - return write_to_file( FILENAMES["mods-user-default"], [&]( std::ostream & fout ) { + return write_to_file( PATH_INFO::mods_user_default(), [&]( std::ostream & fout ) { JsonOut json( fout, true ); // pretty-print json.start_object(); json.member( "type", "MOD_INFO" ); diff --git a/src/monattack.cpp b/src/monattack.cpp index 962824ea8ea1b..2f382ca1e805c 100644 --- a/src/monattack.cpp +++ b/src/monattack.cpp @@ -135,6 +135,7 @@ const efftype_id effect_fungus( "fungus" ); const efftype_id effect_glowing( "glowing" ); const efftype_id effect_got_checked( "got_checked" ); const efftype_id effect_grabbed( "grabbed" ); +const efftype_id effect_grown_of_fuse( "grown_of_fuse" ); const efftype_id effect_grabbing( "grabbing" ); const efftype_id effect_has_bag( "has_bag" ); const efftype_id effect_infected( "infected" ); @@ -705,7 +706,8 @@ bool mattack::shockstorm( monster *z ) bool mattack::shocking_reveal( monster *z ) { shockstorm( z ); - std::string WHAT_A_SCOOP = SNIPPET.random_from_category( "clickbait" ); + const translation WHAT_A_SCOOP = SNIPPET.random_from_category( "clickbait" ).value_or( + translation() ); sounds::sound( z->pos(), 10, sounds::sound_t::alert, string_format( _( "the %s obnoxiously yelling \"%s!!!\"" ), z->name(), WHAT_A_SCOOP ) ); @@ -958,6 +960,7 @@ bool mattack::resurrect( monster *z ) std::pair raised = random_entry( corpses ); assert( raised.second ); // To appease static analysis + // NOLINTNEXTLINE(clang-analyzer-core.CallAndMessage) float corpse_damage = raised.second->damage_level( 4 ); // Did we successfully raise something? if( g->revive_corpse( raised.first, *raised.second ) ) { @@ -1717,7 +1720,7 @@ bool mattack::fungus_inject( monster *z ) } if( ( g->u.has_trait( trait_MARLOSS ) ) && ( g->u.has_trait( trait_MARLOSS_BLUE ) ) && !g->u.crossed_threshold() ) { - add_msg( m_info, _( "The %s seems to wave you toward the tower..." ), z->name() ); + add_msg( m_info, _( "The %s seems to wave you toward the tower…" ), z->name() ); z->anger = 0; return true; } @@ -1752,7 +1755,7 @@ bool mattack::fungus_inject( monster *z ) if( one_in( 10 - dam ) ) { g->u.add_effect( effect_fungus, 10_minutes, num_bp, true ); - add_msg( m_warning, _( "You feel thousands of live spores pumping into you..." ) ); + add_msg( m_warning, _( "You feel thousands of live spores pumping into you…" ) ); } } else { //~ 1$s is monster name, 2$s bodypart in accusative @@ -1809,7 +1812,7 @@ bool mattack::fungus_bristle( monster *z ) if( one_in( 15 - dam ) ) { target->add_effect( effect_fungus, 20_minutes, num_bp, true ); target->add_msg_if_player( m_warning, - _( "You feel thousands of live spores pumping into you..." ) ); + _( "You feel thousands of live spores pumping into you…" ) ); } } else { //~ 1$s is monster name, 2$s bodypart in accusative @@ -1871,12 +1874,12 @@ bool mattack::fungus_fortify( monster *z ) if( ( g->u.has_trait( trait_MARLOSS ) ) && ( g->u.has_trait( trait_MARLOSS_BLUE ) ) && !g->u.crossed_threshold() && !mycus ) { // You have the other two. Is it really necessary for us to fight? - add_msg( m_info, _( "The %s spreads its tendrils. It seems as though it's expecting you..." ), + add_msg( m_info, _( "The %s spreads its tendrils. It seems as though it's expecting you…" ), z->name() ); if( rl_dist( z->pos(), g->u.pos() ) < 3 ) { if( query_yn( _( "The tower extends and aims several tendrils from its depths. Hold still?" ) ) ) { add_msg( m_warning, - _( "The %s works several tendrils into your arms, legs, torso, and even neck..." ), + _( "The %s works several tendrils into your arms, legs, torso, and even neck…" ), z->name() ); g->u.hurtall( 1, z ); add_msg( m_warning, @@ -1893,7 +1896,7 @@ bool mattack::fungus_fortify( monster *z ) _( "You wake up in a marloss bush. Almost *cradled* in it, actually, as though it grew there for you." ) ); g->u.add_msg_if_player( m_good, //~ Beginning to hear the Mycus while conscious: this is it speaking - _( "assistance, on an arduous quest. unity. together we have reached the door. now to pass through..." ) ); + _( "assistance, on an arduous quest. unity. together we have reached the door. now to pass through…" ) ); return true; } else { peaceful = false; // You declined the offer. Fight! @@ -1973,7 +1976,7 @@ bool mattack::fungus_fortify( monster *z ) add_msg( m_bad, _( "The %1$s sinks its point into your %2$s!" ), z->name(), body_part_name_accusative( hit ) ); g->u.add_effect( effect_fungus, 40_minutes, num_bp, true ); - add_msg( m_warning, _( "You feel millions of live spores pumping into you..." ) ); + add_msg( m_warning, _( "You feel millions of live spores pumping into you…" ) ); } else { //~ 1$s is monster name, 2$s bodypart in accusative add_msg( _( "The %1$s strikes your %2$s, but your armor protects you." ), z->name(), @@ -2602,22 +2605,23 @@ bool mattack::grab( monster *z ) return true; } + item &cur_weapon = pl->weapon; ///\EFFECT_DEX increases chance to avoid being grabbed if DEX>STR ///\EFFECT_STR increases chance to avoid being grabbed if STR>DEX - if( pl->can_grab_break() && pl->get_grab_resist() > 0 && pl->get_dex() > pl->get_str() ? + if( pl->can_grab_break( cur_weapon ) && pl->get_grab_resist() > 0 && pl->get_dex() > pl->get_str() ? rng( 0, pl->get_dex() ) : rng( 0, pl->get_str() ) > rng( 0, z->type->melee_sides + z->type->melee_dice ) ) { if( target->has_effect( effect_grabbed ) ) { target->add_msg_if_player( m_info, _( "The %s tries to grab you as well, but you bat it away!" ), z->name() ); } else if( pl->is_throw_immune() && ( !pl->is_armed() || - pl->style_selected.obj().has_weapon( pl->weapon.typeId() ) ) ) { - target->add_msg_if_player( m_info, _( "The %s tries to grab you..." ), z->name() ); + pl->martial_arts_data.selected_has_weapon( pl->weapon.typeId() ) ) ) { + target->add_msg_if_player( m_info, _( "The %s tries to grab you…" ), z->name() ); thrown_by_judo( z ); } else if( pl->has_grab_break_tec() ) { - ma_technique tech = pl->get_grab_break_tec(); - target->add_msg_player_or_npc( m_info, _( tech.player_message ), _( tech.npc_message ), z->name() ); + ma_technique tech = pl->martial_arts_data.get_grab_break_tec( cur_weapon ); + target->add_msg_player_or_npc( m_info, _( tech.avatar_message ), _( tech.npc_message ), z->name() ); } else { target->add_msg_player_or_npc( m_info, _( "The %s tries to grab you, but you break its grab!" ), _( "The %s tries to grab , but they break its grab!" ), @@ -2759,7 +2763,7 @@ bool mattack::stare( monster *z ) //dimensional effects don't take against dimensionally anchored foes. if( g->u.worn_with_flag( "DIMENSIONAL_ANCHOR" ) || g->u.has_effect_with_flag( "DIMENSIONAL_ANCHOR" ) ) { - add_msg( m_warning, _( "You feel a strange reverberation accross your body." ), z->name() ); + add_msg( m_warning, _( "You feel a strange reverberation accross your body." ) ); return true; } if( g->u.sees( *z ) ) { @@ -2979,13 +2983,13 @@ bool mattack::check_money_left( monster *z ) if( z->friendly == -1 && z->has_effect( effect_paid ) ) { // if the pet effect runs out we're no longer friends z->friendly = 0; - const bool had_inventory = !z->inv.empty(); - for( const item &it : z->inv ) { - g->m.add_item_or_charges( z->pos(), it ); - } - z->inv.clear(); - z->remove_effect( effect_has_bag ); - if( had_inventory ) { + + if( !z->inv.empty() ) { + for( const item &it : z->inv ) { + g->m.add_item_or_charges( z->pos(), it ); + } + z->inv.clear(); + z->remove_effect( effect_has_bag ); add_msg( m_info, _( "The %s dumps the contents of its bag on the ground and drops the bag on top of it." ), z->get_name() ); @@ -3037,7 +3041,7 @@ bool mattack::photograph( monster *z ) add_msg( m_info, _( "The %s acknowledges you as an officer responding, but hangs around to watch." ), z->name() ); - add_msg( m_info, _( "Probably some now-obsolete Internal Affairs subroutine..." ) ); + add_msg( m_info, _( "Probably some now-obsolete Internal Affairs subroutine…" ) ); return true; } } @@ -3057,7 +3061,7 @@ bool mattack::photograph( monster *z ) add_msg( m_info, _( "The %s acknowledges you as an officer responding, but hangs around to watch." ), z->name() ); - add_msg( m_info, _( "Ops used to do that in case you needed backup..." ) ); + add_msg( m_info, _( "Ops used to do that in case you needed backup…" ) ); return true; } } @@ -3074,7 +3078,7 @@ bool mattack::photograph( monster *z ) } else { add_msg( m_info, _( "The %s acknowledges you as SWAT onsite, but hangs around to watch." ), z->name() ); - add_msg( m_info, _( "Probably some now-obsolete Internal Affairs subroutine..." ) ); + add_msg( m_info, _( "Probably some now-obsolete Internal Affairs subroutine…" ) ); return true; } } @@ -3117,7 +3121,7 @@ bool mattack::photograph( monster *z ) z->moves -= 150; add_msg( m_warning, _( "The %s takes your picture!" ), z->name() ); // TODO: Make the player known to the faction - std::string cname = _( "...database connection lost!" ) ; + std::string cname = _( "…database connection lost!" ) ; if( one_in( 6 ) ) { cname = Name::generate( g->u.male ); } else if( one_in( 3 ) ) { @@ -3239,7 +3243,7 @@ void mattack::frag( monster *z, Creature *target ) // This is for the bots, not add_msg( m_warning, _( "Thee eye o dat divil be upon me!" ) ); } else { //~ Potential grenading detected. - add_msg( m_warning, _( "Those laser dots don't seem very friendly..." ) ); + add_msg( m_warning, _( "Those laser dots don't seem very friendly…" ) ); } g->u.add_effect( effect_laserlocked, 3_turns ); // Effect removed in game.cpp, duration doesn't much matter @@ -3297,7 +3301,7 @@ void mattack::tankgun( monster *z, Creature *target ) if( !z->has_effect( effect_targeted ) ) { //~ There will be a 120mm HEAT shell sent at high speed to your location next turn. - target->add_msg_if_player( m_warning, _( "You're not sure why you've got a laser dot on you..." ) ); + target->add_msg_if_player( m_warning, _( "You're not sure why you've got a laser dot on you…" ) ); //~ Sound of a tank turret swiveling into place sounds::sound( z->pos(), 10, sounds::sound_t::combat, _( "whirrrrrclick." ), false, "misc", "servomotor" ); @@ -3818,19 +3822,19 @@ bool mattack::ratking( monster *z ) switch( rng( 1, 5 ) ) { // What do we say? case 1: - add_msg( m_warning, _( "\"YOU... ARE FILTH...\"" ) ); + add_msg( m_warning, _( "\"YOU… ARE FILTH…\"" ) ); break; case 2: - add_msg( m_warning, _( "\"VERMIN... YOU ARE VERMIN...\"" ) ); + add_msg( m_warning, _( "\"VERMIN… YOU ARE VERMIN…\"" ) ); break; case 3: - add_msg( m_warning, _( "\"LEAVE NOW...\"" ) ); + add_msg( m_warning, _( "\"LEAVE NOW…\"" ) ); break; case 4: - add_msg( m_warning, _( "\"WE... WILL FEAST... UPON YOU...\"" ) ); + add_msg( m_warning, _( "\"WE… WILL FEAST… UPON YOU…\"" ) ); break; case 5: - add_msg( m_warning, _( "\"FOUL INTERLOPER...\"" ) ); + add_msg( m_warning, _( "\"FOUL INTERLOPER…\"" ) ); break; } if( rl_dist( z->pos(), g->u.pos() ) <= 10 ) { @@ -4483,7 +4487,7 @@ bool mattack::thrown_by_judo( monster *z ) // most of the time, when not isolated if( !one_in( 4 ) && !target->is_elec_immune() && z->type->sp_defense == &mdefense::zapback ) { // If it all pans out, we're zap the player's arm as he flips the monster. - target->add_msg_if_player( _( "The flip does shock you..." ) ); + target->add_msg_if_player( _( "The flip does shock you…" ) ); // Discounted electric damage for quick flip damage_instance shock; shock.add_damage( DT_ELECTRIC, rng( 1, 3 ) ); @@ -4860,7 +4864,7 @@ bool mattack::bio_op_takedown( monster *z ) // TODO: Literally "The zombie kicks" vvvvv | Fix message or comment why Literally. //~ 1$s is bodypart name in accusative, 2$d is damage value. - target->add_msg_if_player( m_bad, _( "The zombie kicks your %1$s for %2$d damage..." ), + target->add_msg_if_player( m_bad, _( "The zombie kicks your %1$s for %2$d damage…" ), body_part_name_accusative( hit ), dam ); foe->deal_damage( z, hit, damage_instance( DT_BASH, dam ) ); // At this point, Judo or Tentacle Bracing can make this much less painful @@ -4880,7 +4884,8 @@ bool mattack::bio_op_takedown( monster *z ) } foe->add_effect( effect_downed, 3_turns ); } - } else if( ( !foe->is_armed() || foe->style_selected.obj().has_weapon( foe->weapon.typeId() ) ) && + } else if( ( !foe->is_armed() || + foe->martial_arts_data.selected_has_weapon( foe->weapon.typeId() ) ) && !thrown_by_judo( z ) ) { // Saved by the tentacle-bracing! :) hit = bp_torso; @@ -5269,6 +5274,36 @@ bool mattack::stretch_attack( monster *z ) return true; } +bool mattack::zombie_fuse( monster *z ) +{ + monster *critter = nullptr; + for( const tripoint &p : g->m.points_in_radius( z->pos(), 1 ) ) { + critter = g->critter_at( p ); + if( critter != nullptr && critter->faction == z->faction + && critter != z && critter->get_size() <= z->get_size() ) { + break; + } + } + + if( critter == nullptr || ( z->has_effect( effect_grown_of_fuse ) && + ( z->get_hp() + critter->get_hp() > z->get_hp_max() + z->get_effect( + effect_grown_of_fuse ).get_max_intensity() ) ) ) { + return false; + } + if( g->u.sees( *z ) ) { + add_msg( _( "The %1$s fuses with the %2$s." ), + critter->name(), + z->name() ); + } + z->moves -= 200; + z->add_effect( effect_grown_of_fuse, 10_days, num_bp, true, + critter->get_hp_max() + z->get_effect( effect_grown_of_fuse ).get_intensity() ); + z->heal( critter->get_hp(), true ); + critter->death_drops = false; + critter->die( z ); + return true; +} + bool mattack::doot( monster *z ) { z->moves -= 300; diff --git a/src/monattack.h b/src/monattack.h index 8ccc9f87567b5..2a261e58075b0 100644 --- a/src/monattack.h +++ b/src/monattack.h @@ -99,6 +99,7 @@ bool kamikaze( monster *z ); bool grenadier( monster *z ); bool grenadier_elite( monster *z ); bool doot( monster *z ); +bool zombie_fuse( monster *z ); void taze( monster *z, Creature *target ); void rifle( monster *z, Creature *target ); // Automated M4 diff --git a/src/mondeath.cpp b/src/mondeath.cpp index 0dc14decc9c20..905042ec7e63d 100644 --- a/src/mondeath.cpp +++ b/src/mondeath.cpp @@ -543,7 +543,7 @@ void mdeath::amigara( monster &z ) // We were the last! if( g->u.has_effect( effect_amigara ) ) { g->u.remove_effect( effect_amigara ); - add_msg( _( "Your obsession with the fault fades away..." ) ); + add_msg( _( "Your obsession with the fault fades away…" ) ); } g->m.spawn_artifact( z.pos() ); diff --git a/src/monexamine.cpp b/src/monexamine.cpp index e1089831bc3b6..3a1db0ae8352e 100644 --- a/src/monexamine.cpp +++ b/src/monexamine.cpp @@ -386,7 +386,7 @@ void monexamine::attach_or_remove_saddle( monster &z ) } } -bool player::can_mount( const monster &critter ) const +bool Character::can_mount( const monster &critter ) const { const auto &avoid = get_path_avoid(); auto route = g->m.route( pos(), critter.pos(), get_pathfinding_settings(), avoid ); @@ -398,7 +398,7 @@ bool player::can_mount( const monster &critter ) const !critter.has_effect( effect_controlled ) && !critter.has_effect( effect_ridden ) ) && ( ( critter.has_effect( effect_saddled ) && get_skill_level( skill_survival ) >= 1 ) || get_skill_level( skill_survival ) >= 4 ) && ( critter.get_size() >= ( get_size() + 1 ) && - get_weight() <= critter.get_weight() / 5 ); + get_weight() <= critter.get_weight() * critter.get_mountable_weight_ratio() ); } void monexamine::mount_pet( monster &z ) @@ -419,9 +419,7 @@ void monexamine::swap( monster &z ) z.remove_effect( effect_tied ); } - tripoint zp = z.pos(); - z.move_to( g->u.pos(), true ); - g->u.setpos( zp ); + g->swap_critters( g->u, z ); if( t ) { z.add_effect( effect_tied, 1_turns, num_bp, true ); @@ -455,7 +453,7 @@ void monexamine::rename_pet( monster &z ) .title( _( "Enter new pet name:" ) ) .width( 20 ) .query_string(); - if( unique_name.length() > 0 ) { + if( !unique_name.empty() ) { z.unique_name = unique_name; } } @@ -694,7 +692,7 @@ void monexamine::tie_or_untie( monster &z ) void monexamine::milk_source( monster &source_mon ) { - const auto milked_item = source_mon.type->starting_ammo.find( "milk" ); + const auto milked_item = source_mon.type->starting_ammo.find( "milk_raw" ); if( milked_item == source_mon.type->starting_ammo.end() ) { debugmsg( "%s is milkable but has no milk in its starting ammo!", source_mon.get_name() ); diff --git a/src/monfaction.cpp b/src/monfaction.cpp index 27aa7ac5158cc..e46c92cc9d476 100644 --- a/src/monfaction.cpp +++ b/src/monfaction.cpp @@ -197,7 +197,8 @@ void monfactions::finalize() the_faction.base_faction = root; } - debugmsg( "Cycle encountered when processing monster factions. Bad factions:\n %s", names.c_str() ); + debugmsg( "Cycle encountered when processing monster factions. Bad factions:\n %s", + names.c_str() ); } faction_list.shrink_to_fit(); // Save a couple of bytes diff --git a/src/monmove.cpp b/src/monmove.cpp index 6ff6e998ff943..2d4a9ce1187b3 100644 --- a/src/monmove.cpp +++ b/src/monmove.cpp @@ -60,7 +60,6 @@ const efftype_id effect_pacified( "pacified" ); const efftype_id effect_pushed( "pushed" ); const efftype_id effect_stunned( "stunned" ); const efftype_id effect_harnessed( "harnessed" ); -const efftype_id effect_hack_detected( "hack_detected" ); const species_id ZOMBIE( "ZOMBIE" ); const species_id BLOB( "BLOB" ); @@ -100,10 +99,28 @@ bool monster::is_immune_field( const field_type_id fid ) const return Creature::is_immune_field( fid ); } +static bool z_is_valid( int z ) +{ + return z >= -OVERMAP_DEPTH && z <= OVERMAP_HEIGHT; +} + bool monster::can_move_to( const tripoint &p ) const { const bool can_climb = has_flag( MF_CLIMBS ) || has_flag( MF_FLIES ); + if( p.z > pos().z && z_is_valid( pos().z ) ) { + if( !g->m.has_flag( TFLAG_GOES_UP, pos() ) && !g->m.has_flag( TFLAG_NO_FLOOR, p ) ) { + // can't go through the roof + return false; + } + } else if( p.z < pos().z && z_is_valid( pos().z ) ) { + if( !g->m.has_flag( TFLAG_GOES_DOWN, pos() ) ) { + // can't go through the floor + // you would fall anyway if there was no floor, so no need to check for that here + return false; + } + } + if( g->m.impassable( p ) ) { if( digging() ) { if( !g->m.has_flag( "BURROWABLE", p ) ) { @@ -130,6 +147,10 @@ bool monster::can_move_to( const tripoint &p ) const return false; } + if( get_size() > MS_MEDIUM && g->m.has_flag_ter( TFLAG_SMALL_PASSAGE, p ) ) { + return false; // if a large critter, can't move through tight passages + } + // Various avoiding behaviors. bool avoid_fire = has_flag( MF_AVOID_FIRE ); @@ -1207,15 +1228,28 @@ bool monster::bash_at( const tripoint &p ) } bool try_bash = !can_move_to( p ) || one_in( 3 ); + if( !try_bash ) { + return false; + } + bool can_bash = g->m.is_bashable( p ) && bash_skill() > 0; + if( !can_bash ) { + return false; + } - if( try_bash && can_bash ) { - int bashskill = group_bash_skill( p ); - g->m.bash( p, bashskill ); - moves -= 100; - return true; + bool flat_ground = g->m.has_flag( "ROAD", p ) || g->m.has_flag( "FLAT", p ); + if( flat_ground ) { + bool can_bash_ter = g->m.is_bashable_ter( p ); + bool try_bash_ter = one_in( 50 ); + if( !( can_bash_ter && try_bash_ter ) ) { + return false; + } } - return false; + + int bashskill = group_bash_skill( p ); + g->m.bash( p, bashskill ); + moves -= 100; + return true; } int monster::bash_estimate() @@ -1328,16 +1362,45 @@ bool monster::attack_at( const tripoint &p ) return false; } +static tripoint find_closest_stair( const tripoint &near_this, const ter_bitflags stair_type ) +{ + for( const tripoint &candidate : closest_tripoints_first( 10, near_this ) ) { + if( g->m.has_flag( stair_type, candidate ) ) { + return candidate; + } + } + // we didn't find it + return near_this; +} + bool monster::move_to( const tripoint &p, bool force, const float stagger_adjustment ) { const bool digs = digging(); const bool flies = has_flag( MF_FLIES ); const bool on_ground = !digs && !flies; const bool climbs = has_flag( MF_CLIMBS ) && g->m.has_flag( TFLAG_NO_FLOOR, p ); + + const bool z_move = p.z != pos().z; + const bool going_up = p.z > pos().z; + + tripoint destination = p; + + // This is stair teleportation hackery. + // @TODO: Remove this in favor of stair alignment + if( going_up ) { + if( g->m.has_flag( TFLAG_GOES_UP, pos() ) ) { + destination = find_closest_stair( p, TFLAG_GOES_DOWN ); + } + } else if( z_move ) { + if( g->m.has_flag( TFLAG_GOES_DOWN, pos() ) ) { + destination = find_closest_stair( p, TFLAG_GOES_UP ); + } + } + // Allows climbing monsters to move on terrain with movecost <= 0 - Creature *critter = g->critter_at( p, is_hallucination() ); - if( g->m.has_flag( "CLIMBABLE", p ) ) { - if( g->m.impassable( p ) && critter == nullptr ) { + Creature *critter = g->critter_at( destination, is_hallucination() ); + if( g->m.has_flag( "CLIMBABLE", destination ) ) { + if( g->m.impassable( destination ) && critter == nullptr ) { if( flies ) { moves -= 100; force = true; @@ -1363,7 +1426,7 @@ bool monster::move_to( const tripoint &p, bool force, const float stagger_adjust } // Make sure that we can move there, unless force is true. - if( !force && !can_move_to( p ) ) { + if( !force && !can_move_to( destination ) ) { return false; } @@ -1373,7 +1436,8 @@ bool monster::move_to( const tripoint &p, bool force, const float stagger_adjust // and the same regardless of the distance measurement mode. // Note: Keep this as float here or else it will cancel valid moves const float cost = stagger_adjustment * - static_cast( climbs ? calc_climb_cost( pos(), p ) : calc_movecost( pos(), p ) ); + static_cast( climbs ? calc_climb_cost( pos(), destination ) : calc_movecost( pos(), + destination ) ); if( cost > 0.0f ) { moves -= static_cast( ceil( cost ) ); } else { @@ -1383,10 +1447,10 @@ bool monster::move_to( const tripoint &p, bool force, const float stagger_adjust //Check for moving into/out of water bool was_water = g->m.is_divable( pos() ); - bool will_be_water = on_ground && can_submerge() && g->m.is_divable( p ); + bool will_be_water = on_ground && can_submerge() && g->m.is_divable( destination ); //Birds and other flying creatures flying over the deep water terrain - if( was_water && flies && g->u.sees( p ) ) { + if( was_water && flies && g->u.sees( destination ) ) { if( one_in( 4 ) ) { add_msg( m_warning, _( "A %1$s flies over the %2$s!" ), name(), g->m.tername( pos() ) ); @@ -1398,16 +1462,16 @@ bool monster::move_to( const tripoint &p, bool force, const float stagger_adjust add_msg( m_warning, pgettext( "monster movement", "A %1$s %2$s from the %3$s!" ), name(), has_flag( MF_SWIMS ) || has_flag( MF_AQUATIC ) ? _( "leaps" ) : _( "emerges" ), g->m.tername( pos() ) ); - } else if( !was_water && will_be_water && g->u.sees( p ) ) { + } else if( !was_water && will_be_water && g->u.sees( destination ) ) { //~ Message when a monster enters water //~ %1$s: monster name, %2$s: dives/sinks, %3$s: terrain name add_msg( m_warning, pgettext( "monster movement", "A %1$s %2$s into the %3$s!" ), name(), has_flag( MF_SWIMS ) || has_flag( MF_AQUATIC ) ? _( "dives" ) : _( "sinks" ), - g->m.tername( p ) ); + g->m.tername( destination ) ); } - setpos( p ); - footsteps( p ); + setpos( destination ); + footsteps( destination ); underwater = will_be_water; if( is_hallucination() ) { //Hallucinations don't do any of the stuff after this point @@ -1425,13 +1489,13 @@ bool monster::move_to( const tripoint &p, bool force, const float stagger_adjust } } - if( g->m.has_flag( "UNSTABLE", p ) && on_ground ) { + if( g->m.has_flag( "UNSTABLE", destination ) && on_ground ) { add_effect( effect_bouldering, 1_turns, num_bp, true ); } else if( has_effect( effect_bouldering ) ) { remove_effect( effect_bouldering ); } - if( g->m.has_flag_ter_or_furn( TFLAG_NO_SIGHT, p ) && on_ground ) { + if( g->m.has_flag_ter_or_furn( TFLAG_NO_SIGHT, destination ) && on_ground ) { add_effect( effect_no_sight, 1_turns, num_bp, true ); } else if( has_effect( effect_no_sight ) ) { remove_effect( effect_no_sight ); diff --git a/src/monster.cpp b/src/monster.cpp index dc83c3b1cf27a..653a337f1d29e 100644 --- a/src/monster.cpp +++ b/src/monster.cpp @@ -169,12 +169,12 @@ static const trait_id trait_FLOWERS( "FLOWERS" ); static const trait_id trait_PACIFIST( "PACIFIST" ); static const trait_id trait_KILLER( "KILLER" ); -static const std::map size_names { - {m_size::MS_TINY, translate_marker( "tiny" )}, - {m_size::MS_SMALL, translate_marker( "small" )}, - {m_size::MS_MEDIUM, translate_marker( "medium" )}, - {m_size::MS_LARGE, translate_marker( "large" )}, - {m_size::MS_HUGE, translate_marker( "huge" )}, +static const std::map size_names { + { m_size::MS_TINY, to_translation( "size adj", "tiny" ) }, + { m_size::MS_SMALL, to_translation( "size adj", "small" ) }, + { m_size::MS_MEDIUM, to_translation( "size adj", "medium" ) }, + { m_size::MS_LARGE, to_translation( "size adj", "large" ) }, + { m_size::MS_HUGE, to_translation( "size adj", "huge" ) }, }; static const std::map> attitude_names { @@ -466,14 +466,16 @@ void monster::try_biosignature() if( !biosig_timer ) { biosig_timer.emplace( calendar::turn + *type->biosig_timer ); } - + int counter = 0; while( true ) { - if( *biosig_timer > calendar::turn ) { + // dont catch up too much, otherwise on some scenarios, + // we could have years worth of poop just deposited on the floor. + if( *biosig_timer > calendar::turn || counter > 50 ) { return; } - g->m.add_item_or_charges( pos(), item( type->biosig_item, *biosig_timer, 1 ), true ); *biosig_timer += *type->biosig_timer; + counter += 1; } } @@ -532,12 +534,12 @@ std::string monster::name_with_armor() const return ret; } -std::string monster::disp_name( bool possessive ) const +std::string monster::disp_name( bool possessive, bool capitalize_first ) const { if( !possessive ) { - return string_format( _( "the %s" ), name() ); + return string_format( capitalize_first ? _( "The %s" ) : _( "the %s" ), name() ); } else { - return string_format( _( "the %s's" ), name() ); + return string_format( capitalize_first ? _( "The %s's" ) : _( "the %s's" ), name() ); } } @@ -610,7 +612,7 @@ int monster::print_info( const catacurses::window &w, int vStart, int vLines, in } std::string effects = get_effect_status(); - size_t used_space = att.first.length() + name().length() + 3; + size_t used_space = utf8_width( att.first ) + utf8_width( name() ) + 3; trim_and_print( w, point( used_space, vStart++ ), getmaxx( w ) - used_space - 2, h_white, effects ); @@ -620,6 +622,10 @@ int monster::print_info( const catacurses::window &w, int vStart, int vLines, in mvwprintz( w, point( column, vStart++ ), c_white, _( "Rider: %s" ), mounted_player->disp_name() ); } + if( size_bonus > 0 ) { + wprintz( w, c_light_gray, _( " It is %s." ), size_names.at( get_size() ) ); + } + std::vector lines = foldstring( type->get_description(), getmaxx( w ) - 1 - column ); int numlines = lines.size(); for( int i = 0; i < numlines && vStart <= vEnd; i++ ) { @@ -668,7 +674,7 @@ std::string monster::extended_description() const ss << "--" << std::endl; ss << string_format( _( "It is %s in size." ), - _( size_names.at( get_size() ) ) ) << std::endl; + size_names.at( get_size() ) ) << std::endl; std::vector types; if( type->has_flag( MF_ANIMAL ) ) { @@ -1399,7 +1405,7 @@ void monster::melee_attack( Creature &target, float accuracy ) if( stab_cut > 0 && has_flag( MF_BADVENOM ) ) { target.add_msg_if_player( m_bad, - _( "You feel venom flood your body, wracking you with pain..." ) ); + _( "You feel venom flood your body, wracking you with pain…" ) ); target.add_effect( effect_badpoison, 4_minutes ); } @@ -2103,8 +2109,8 @@ void monster::die( Creature *nkiller ) g->events().send( ch->getID(), type->id ); if( ch->is_player() && ch->has_trait( trait_KILLER ) ) { if( one_in( 4 ) ) { - std::string snip = SNIPPET.random_from_category( "killer_on_kill" ); - ch->add_msg_if_player( m_good, _( snip ) ); + const translation snip = SNIPPET.random_from_category( "killer_on_kill" ).value_or( translation() ); + ch->add_msg_if_player( m_good, "%s", snip ); } ch->add_morale( MORALE_KILLER_HAS_KILLED, 5, 10, 6_hours, 4_hours ); ch->rem_morale( MORALE_KILLER_NEED_TO_KILL ); @@ -2293,6 +2299,11 @@ void monster::process_one_effect( effect &it, bool is_new ) }; mod_speed_bonus( get_effect( "SPEED", reduced ) ); + mod_dodge_bonus( get_effect( "DODGE", reduced ) ); + mod_hit_bonus( get_effect( "HIT", reduced ) ); + mod_bash_bonus( get_effect( "BASH", reduced ) ); + mod_cut_bonus( get_effect( "CUT", reduced ) ); + mod_size_bonus( get_effect( "SIZE", reduced ) ); int val = get_effect( "HURT", reduced ); if( val > 0 ) { @@ -2528,17 +2539,17 @@ field_type_id monster::gibType() const m_size monster::get_size() const { - return type->size; + return m_size( type->size + size_bonus ); } units::mass monster::get_weight() const { - return type->weight; + return units::operator*( type->weight, get_size() / type->size ); } units::volume monster::get_volume() const { - return type->volume; + return units::operator*( type->volume, get_size() / type->size ); } void monster::add_msg_if_npc( const std::string &msg ) const @@ -2616,7 +2627,7 @@ item monster::to_item() const float monster::power_rating() const { - float ret = get_size() - 1; // Zed gets 1, cat -1, hulk 3 + float ret = get_size() - 2; // Zed gets 1, cat -1, hulk 3 ret += has_flag( MF_ELECTRONIC ) ? 2 : 0; // Robots tend to have guns // Hostile stuff gets a big boost // Neutral moose will still get burned if it comes close @@ -2712,6 +2723,11 @@ int monster::get_hp() const return hp; } +float monster::get_mountable_weight_ratio() const +{ + return type->mountable_weight_ratio; +} + void monster::hear_sound( const tripoint &source, const int vol, const int dist ) { if( !can_hear() ) { diff --git a/src/monster.h b/src/monster.h index 584434b3d351a..43e456a1060b7 100644 --- a/src/monster.h +++ b/src/monster.h @@ -114,12 +114,14 @@ class monster : public Creature int get_hp_max() const override; int hp_percentage() const override; + float get_mountable_weight_ratio() const; + // Access std::string get_name() const override; std::string name( unsigned int quantity = 1 ) const; // Returns the monster's formal name std::string name_with_armor() const; // Name, with whatever our armor is called // the creature-class versions of the above - std::string disp_name( bool possessive = false ) const override; + std::string disp_name( bool possessive = false, bool capitalize_first = false ) const override; std::string skin_name() const override; void get_HP_Bar( nc_color &color, std::string &text ) const; std::pair get_attitude() const; @@ -378,7 +380,7 @@ class monster : public Creature /** Resets stats, and applies effects in an idempotent manner */ void reset_stats() override; - void die( Creature *killer ) override; //this is the die from Creature, it calls kill_mon + void die( Creature *killer ) override; //this is the die from Creature, it calls kill_mo void drop_items_on_death(); // Other @@ -396,6 +398,7 @@ class monster : public Creature bool use_mech_power( int amt ); bool check_mech_powered() const; int mech_str_addition() const; + /** * Makes monster react to heard sound * @@ -422,7 +425,7 @@ class monster : public Creature tripoint wander_pos; // Wander destination - Just try to move in that direction int wandf; // Urge to wander - Increased by sound, decrements each move std::vector inv; // Inventory - player *mounted_player = nullptr; // player that is mounting this creature + Character *mounted_player = nullptr; // player that is mounting this creature character_id mounted_player_id; // id of player that is mounting this creature ( for save/load ) character_id dragged_foe_id; // id of character being dragged by the monster cata::optional tied_item; // item used to tie the monster diff --git a/src/monstergenerator.cpp b/src/monstergenerator.cpp index 34848cde5a329..1f293c46cf1d4 100644 --- a/src/monstergenerator.cpp +++ b/src/monstergenerator.cpp @@ -546,6 +546,7 @@ void MonsterGenerator::init_attack() add_hardcoded_attack( "GRAB", mattack::grab ); add_hardcoded_attack( "GRAB_DRAG", mattack::grab_drag ); add_hardcoded_attack( "DOOT", mattack::doot ); + add_hardcoded_attack( "ZOMBIE_FUSE", mattack::zombie_fuse ); } void MonsterGenerator::init_defense() @@ -649,6 +650,8 @@ void mtype::load( JsonObject &jo, const std::string &src ) assign( jo, "aggression", agro, strict, -100, 100 ); assign( jo, "morale", morale, strict ); + assign( jo, "mountable_weight_ratio", mountable_weight_ratio, strict ); + assign( jo, "attack_cost", attack_cost, strict, 0 ); assign( jo, "melee_skill", melee_skill, strict, 0 ); assign( jo, "melee_dice", melee_dice, strict, 0 ); @@ -725,11 +728,13 @@ void mtype::load( JsonObject &jo, const std::string &src ) // Note: special_attacks left as is, new attacks are added to it! // Note: member name prefixes are compatible with those used by generic_typed_reader if( jo.has_object( "extend" ) ) { - auto tmp = jo.get_object( "extend" ); + JsonObject tmp = jo.get_object( "extend" ); + tmp.allow_omitted_members(); add_special_attacks( tmp, "special_attacks", src ); } if( jo.has_object( "delete" ) ) { - auto tmp = jo.get_object( "delete" ); + JsonObject tmp = jo.get_object( "delete" ); + tmp.allow_omitted_members(); remove_special_attacks( tmp, "special_attacks", src ); } } @@ -895,7 +900,7 @@ void MonsterGenerator::add_attack( const mtype_special_attack &wrapper ) attack_map.emplace( wrapper->id, wrapper ); } -mtype_special_attack MonsterGenerator::create_actor( JsonObject obj, const std::string &src ) const +mtype_special_attack MonsterGenerator::create_actor( JsonObject &obj, const std::string &src ) const { // Legacy support: tolerate attack types being specified as the type const std::string type = obj.get_string( "type", "monster_attack" ); diff --git a/src/monstergenerator.h b/src/monstergenerator.h index eb1da36a77fde..001c1066e7be4 100644 --- a/src/monstergenerator.h +++ b/src/monstergenerator.h @@ -86,7 +86,7 @@ class MonsterGenerator void add_attack( const mtype_special_attack &wrapper ); /** Gets an actor object without saving it anywhere */ - mtype_special_attack create_actor( JsonObject obj, const std::string &src ) const; + mtype_special_attack create_actor( JsonObject &obj, const std::string &src ) const; // finalization void apply_species_attributes( mtype &mon ); diff --git a/src/morale.cpp b/src/morale.cpp index 2cf12f611a652..565d5988cdab1 100644 --- a/src/morale.cpp +++ b/src/morale.cpp @@ -451,7 +451,7 @@ void player_morale::decay( const time_duration ticks ) invalidate(); } -void player_morale::display( int focus_eq ) +void player_morale::display( int focus_eq, int pain_penalty, int fatigue_penalty ) { /*calculates the percent contributions of the morale points, * must be done before anything else in this method @@ -459,6 +459,8 @@ void player_morale::display( int focus_eq ) calculate_percentage(); const char *morale_gain_caption = _( "Total morale:" ); + const char *pain_caption = _( "Pain level:" ); + const char *fatigue_caption = _( "Fatigue level:" ); const char *focus_equilibrium = _( "Focus trends towards:" ); const char *points_is_empty = _( "Nothing affects your morale" ); @@ -508,7 +510,14 @@ void player_morale::display( int focus_eq ) int offset = 0; int rows_total = points.size(); - int rows_visible = std::max( win_h - 8, 0 ); + int penalty_rows = 0; + if( pain_penalty != 0 ) { + penalty_rows++; + } + if( fatigue_penalty != 0 ) { + penalty_rows++; + } + int rows_visible = std::max( win_h - 8 - penalty_rows, 0 ); for( ;; ) { @@ -523,9 +532,9 @@ void player_morale::display( int focus_eq ) mvwhline( w, point( 1, 2 ), 0, win_w - 2 ); mvwhline( w, point( win_w - 1, 2 ), LINE_XOXX, 1 ); - mvwhline( w, point( 0, win_h - 4 ), LINE_XXXO, 1 ); - mvwhline( w, point( 1, win_h - 4 ), 0, win_w - 2 ); - mvwhline( w, point( win_w - 1, win_h - 4 ), LINE_XOXX, 1 ); + mvwhline( w, point( 0, win_h - 4 - penalty_rows ), LINE_XXXO, 1 ); + mvwhline( w, point( 1, win_h - 4 - penalty_rows ), 0, win_w - 2 ); + mvwhline( w, point( win_w - 1, win_h - 4 - penalty_rows ), LINE_XOXX, 1 ); if( !points.empty() ) { const char *source_column = _( "Source" ); @@ -572,7 +581,13 @@ void player_morale::display( int focus_eq ) fold_and_print_from( w, point( 2, 3 ), win_w - 4, 0, c_dark_gray, points_is_empty ); } - print_line( win_h - 3, morale_gain_caption, get_level() ); + print_line( win_h - 3 - penalty_rows, morale_gain_caption, get_level() ); + if( pain_penalty != 0 ) { + print_line( win_h - 2 - penalty_rows, pain_caption, -pain_penalty, false, c_light_red ); + } + if( fatigue_penalty != 0 ) { + print_line( win_h - 3, fatigue_caption, -fatigue_penalty, false, c_light_red ); + } //manual line as lambda will not do it properly here mvwprintz( w, point( getmaxx( w ) - 8, win_h - 2 ), c_white, "%d", focus_eq ); fold_and_print_from( w, point( 2, win_h - 2 ), getmaxx( w ) - 9, 0, c_white, focus_equilibrium ); diff --git a/src/morale.h b/src/morale.h index 0addd24aa64cf..e98330b1582be 100644 --- a/src/morale.h +++ b/src/morale.h @@ -48,7 +48,7 @@ class player_morale /** Ticks down morale counters and removes them */ void decay( time_duration ticks = 1_turns ); /** Displays morale screen */ - void display( int focus_eq ); + void display( int focus_eq, int pain_penalty, int fatigue_penalty ); /** Returns false whether morale is inconsistent with the argument. * Only permanent morale is checked */ bool consistent_with( const player_morale &morale ) const; diff --git a/src/mtype.h b/src/mtype.h index 215453fd279c3..2ca54ca180557 100644 --- a/src/mtype.h +++ b/src/mtype.h @@ -253,6 +253,9 @@ struct mtype { int agro = 0; /** chance will attack [-100,100] */ int morale = 0; /** initial morale level at spawn */ + // mountable ratio for rider weight vs. mount weight, default 0.2 + float mountable_weight_ratio = 0.2; + int attack_cost = 100; /** moves per regular attack */ int melee_skill = 0; /** melee hit skill, 20 is superhuman hitting abilities */ int melee_dice = 0; /** number of dice of bonus bashing damage on melee hit */ diff --git a/src/mutation.cpp b/src/mutation.cpp index a0bd2835ddb88..6108ab4c9f6a0 100644 --- a/src/mutation.cpp +++ b/src/mutation.cpp @@ -415,10 +415,10 @@ bool Character::can_install_cbm_on_bp( const std::vector &bps ) const return can_install; } -void player::activate_mutation( const trait_id &mut ) +void Character::activate_mutation( const trait_id &mut ) { const mutation_branch &mdata = mut.obj(); - auto &tdata = my_mutations[mut]; + trait_data &tdata = my_mutations[mut]; int cost = mdata.cost; // Preserve the fake weapon used to initiate ranged mutation firing static item mut_ranged( weapon ); @@ -568,7 +568,7 @@ void player::activate_mutation( const trait_id &mut ) } } -void player::deactivate_mutation( const trait_id &mut ) +void Character::deactivate_mutation( const trait_id &mut ) { my_mutations[mut].powered = false; @@ -917,7 +917,7 @@ bool Character::mutate_towards( const trait_id &mut ) // It shouldn't pick a Threshold anyway--they're supposed to be non-Valid // and aren't categorized. This can happen if someone makes a threshold mutation into a prerequisite. if( threshold ) { - add_msg_if_player( _( "You feel something straining deep inside you, yearning to be free..." ) ); + add_msg_if_player( _( "You feel something straining deep inside you, yearning to be free…" ) ); return false; } if( profession ) { @@ -933,7 +933,7 @@ bool Character::mutate_towards( const trait_id &mut ) // No crossing The Threshold by simply not having it if( !has_threshreq && !threshreq.empty() ) { - add_msg_if_player( _( "You feel something straining deep inside you, yearning to be free..." ) ); + add_msg_if_player( _( "You feel something straining deep inside you, yearning to be free…" ) ); return false; } @@ -1339,10 +1339,10 @@ mutagen_attempt mutagen_common_checks( player &p, const item &it, bool strong, return mutagen_attempt( true, 0 ); } -void test_crossing_threshold( player &p, const mutation_category_trait &m_category ) +void test_crossing_threshold( Character &guy, const mutation_category_trait &m_category ) { // Threshold-check. You only get to cross once! - if( p.crossed_threshold() ) { + if( guy.crossed_threshold() ) { return; } @@ -1355,11 +1355,11 @@ void test_crossing_threshold( player &p, const mutation_category_trait &m_catego std::string mutation_category = m_category.id; int total = 0; for( const auto &iter : mutation_category_trait::get_all() ) { - total += p.mutation_category_level[ iter.first ]; + total += guy.mutation_category_level[ iter.first ]; } // Threshold-breaching - const std::string &primary = p.get_highest_category(); - int breach_power = p.mutation_category_level[primary]; + const std::string &primary = guy.get_highest_category(); + int breach_power = guy.mutation_category_level[primary]; // Only if you were pushing for more in your primary category. // You wanted to be more like it and less human. // That said, you're required to have hit third-stage dreams first. @@ -1374,33 +1374,33 @@ void test_crossing_threshold( player &p, const mutation_category_trait &m_catego } int breacher = breach_power + booster; if( x_in_y( breacher, total ) ) { - p.add_msg_if_player( m_good, - _( "Something strains mightily for a moment... and then... you're... FREE!" ) ); - p.set_mutation( mutation_thresh ); - g->events().send( p.getID(), m_category.id ); + guy.add_msg_if_player( m_good, + _( "Something strains mightily for a moment… and then… you're… FREE!" ) ); + guy.set_mutation( mutation_thresh ); + g->events().send( guy.getID(), m_category.id ); // Manually removing Carnivore, since it tends to creep in // This is because carnivore is a prerequisite for the // predator-style post-threshold mutations. - if( mutation_category == "URSINE" && p.has_trait( trait_CARNIVORE ) ) { - p.unset_mutation( trait_CARNIVORE ); - p.add_msg_if_player( _( "Your appetite for blood fades." ) ); + if( mutation_category == "URSINE" && guy.has_trait( trait_CARNIVORE ) ) { + guy.unset_mutation( trait_CARNIVORE ); + guy.add_msg_if_player( _( "Your appetite for blood fades." ) ); } } - } else if( p.has_trait( trait_NOPAIN ) ) { + } else if( guy.has_trait( trait_NOPAIN ) ) { //~NOPAIN is a post-Threshold trait, so you shouldn't //~legitimately have it and get here! - p.add_msg_if_player( m_bad, _( "You feel extremely Bugged." ) ); + guy.add_msg_if_player( m_bad, _( "You feel extremely Bugged." ) ); } else if( breach_power > 100 ) { - p.add_msg_if_player( m_bad, _( "You stagger with a piercing headache!" ) ); - p.mod_pain_noresist( 8 ); - p.add_effect( effect_stunned, rng( 3_turns, 5_turns ) ); + guy.add_msg_if_player( m_bad, _( "You stagger with a piercing headache!" ) ); + guy.mod_pain_noresist( 8 ); + guy.add_effect( effect_stunned, rng( 3_turns, 5_turns ) ); } else if( breach_power > 80 ) { - p.add_msg_if_player( m_bad, - _( "Your head throbs with memories of your life, before all this..." ) ); - p.mod_pain_noresist( 6 ); - p.add_effect( effect_stunned, rng( 2_turns, 4_turns ) ); + guy.add_msg_if_player( m_bad, + _( "Your head throbs with memories of your life, before all this…" ) ); + guy.mod_pain_noresist( 6 ); + guy.add_effect( effect_stunned, rng( 2_turns, 4_turns ) ); } else if( breach_power > 60 ) { - p.add_msg_if_player( m_bad, _( "Images of your past life flash before you." ) ); - p.add_effect( effect_stunned, rng( 2_turns, 3_turns ) ); + guy.add_msg_if_player( m_bad, _( "Images of your past life flash before you." ) ); + guy.add_effect( effect_stunned, rng( 2_turns, 3_turns ) ); } } diff --git a/src/mutation.h b/src/mutation.h index 465fcbecfc01c..b30fc8b7d4e6e 100644 --- a/src/mutation.h +++ b/src/mutation.h @@ -139,6 +139,9 @@ struct mutation_branch { float scent_modifier = 1.0f; int bleed_resist = 0; + /**Map of glowing bodypart and there intensity*/ + std::map lumination; + /**Rate at which bmi above character_weight_category::normal increases the character max_hp*/ float fat_to_max_hp = 0.0f; /**How fast does healthy tends toward healthy_mod*/ @@ -202,7 +205,7 @@ struct mutation_branch { float mana_multiplier; float mana_regen_multiplier; // spells learned and their associated level when gaining the mutation - std::map spells_learned; + std::map spells_learned; private: std::string raw_spawn_item_message; public: @@ -469,6 +472,6 @@ struct mutagen_attempt { mutagen_attempt mutagen_common_checks( player &p, const item &it, bool strong, mutagen_technique technique ); -void test_crossing_threshold( player &p, const mutation_category_trait &m_category ); +void test_crossing_threshold( Character &guy, const mutation_category_trait &m_category ); #endif diff --git a/src/mutation_data.cpp b/src/mutation_data.cpp index 37ebeb7dae723..e615551c8c4ba 100644 --- a/src/mutation_data.cpp +++ b/src/mutation_data.cpp @@ -18,6 +18,7 @@ using TraitGroupMap = std::map>; using TraitSet = std::set; +using trait_reader = auto_flags_reader; TraitSet trait_blacklist; TraitGroupMap trait_groups; @@ -115,7 +116,7 @@ void mutation_category_trait::load( JsonObject &jsobj ) new_category.raw_memorial_message = jsobj.get_string( "memorial_message", "Crossed a threshold" ); new_category.raw_junkie_message = jsobj.get_string( "junkie_message", - translate_marker( "Oh, yeah! That's the stuff!" ) ); + translate_marker( "Oh, yeah! That's the stuff!" ) ); mutation_category_traits[new_category.id] = new_category; } @@ -380,14 +381,14 @@ void mutation_branch::load( JsonObject &jo, const std::string & ) /* Not currently supported due to inability to save active mutation state load_mutation_mods(jsobj, "active_mods", new_mut.mods); */ - optional( jo, was_loaded, "prereqs", prereqs ); - optional( jo, was_loaded, "prereqs2", prereqs2 ); - optional( jo, was_loaded, "threshreq", threshreq ); - optional( jo, was_loaded, "cancels", cancels ); - optional( jo, was_loaded, "changes_to", replacements ); - optional( jo, was_loaded, "leads_to", additions ); - optional( jo, was_loaded, "flags", flags ); - optional( jo, was_loaded, "types", types ); + optional( jo, was_loaded, "prereqs", prereqs, trait_reader{} ); + optional( jo, was_loaded, "prereqs2", prereqs2, trait_reader{} ); + optional( jo, was_loaded, "threshreq", threshreq, trait_reader{} ); + optional( jo, was_loaded, "cancels", cancels, trait_reader{} ); + optional( jo, was_loaded, "changes_to", replacements, trait_reader{} ); + optional( jo, was_loaded, "leads_to", additions, trait_reader{} ); + optional( jo, was_loaded, "flags", flags, string_reader{} ); + optional( jo, was_loaded, "types", types, string_reader{} ); JsonArray jsar = jo.get_array( "no_cbm_on_bp" ); while( jsar.has_more() ) { @@ -395,20 +396,22 @@ void mutation_branch::load( JsonObject &jo, const std::string & ) no_cbm_on_bp.emplace( get_body_part_token( s ) ); } - auto jsarr = jo.get_array( "category" ); - while( jsarr.has_more() ) { - std::string s = jsarr.next_string(); - category.push_back( s ); - mutations_category[s].push_back( trait_id( id ) ); - } + optional( jo, was_loaded, "category", category, string_reader{} ); - jsarr = jo.get_array( "spells_learned" ); + JsonArray jsarr = jo.get_array( "spells_learned" ); while( jsarr.has_more() ) { JsonArray ja = jsarr.next_array(); const spell_id sp( ja.next_string() ); spells_learned.emplace( sp, ja.next_int() ); } + jsarr = jo.get_array( "lumination" ); + while( jsarr.has_more() ) { + JsonArray ja = jsarr.next_array(); + const body_part bp = get_body_part_token( ja.next_string() ); + lumination.emplace( bp, ja.next_float() ); + } + jsarr = jo.get_array( "wet_protection" ); while( jsarr.has_more() ) { JsonObject jo = jsarr.next_object(); @@ -608,6 +611,11 @@ bool mutation_branch::trait_is_blacklisted( const trait_id &tid ) void mutation_branch::finalize() { + for( const mutation_branch &branch : get_all() ) { + for( const std::string &cat : branch.category ) { + mutations_category[cat].push_back( trait_id( branch.id ) ); + } + } finalize_trait_blacklist(); } diff --git a/src/newcharacter.cpp b/src/newcharacter.cpp index 8afe3704658ec..a2a4330076d73 100644 --- a/src/newcharacter.cpp +++ b/src/newcharacter.cpp @@ -53,8 +53,6 @@ #include "pimpl.h" #include "type_id.h" -struct points_left; - // Colors used in this file: (Most else defaults to c_light_gray) #define COL_STAT_ACT c_white // Selected stat #define COL_STAT_BONUS c_light_green // Bonus @@ -87,90 +85,6 @@ struct points_left; static int skill_increment_cost( const Character &u, const skill_id &skill ); -struct points_left { - int stat_points; - int trait_points; - int skill_points; - - enum point_limit : int { - FREEFORM = 0, - ONE_POOL, - MULTI_POOL - } limit; - - points_left() { - limit = MULTI_POOL; - init_from_options(); - } - - void init_from_options() { - stat_points = get_option( "INITIAL_STAT_POINTS" ); - trait_points = get_option( "INITIAL_TRAIT_POINTS" ); - skill_points = get_option( "INITIAL_SKILL_POINTS" ); - } - - // Highest amount of points to spend on stats without points going invalid - int stat_points_left() const { - switch( limit ) { - case FREEFORM: - case ONE_POOL: - return stat_points + trait_points + skill_points; - case MULTI_POOL: - return std::min( trait_points_left(), - stat_points + std::min( 0, trait_points + skill_points ) ); - } - - return 0; - } - - int trait_points_left() const { - switch( limit ) { - case FREEFORM: - case ONE_POOL: - return stat_points + trait_points + skill_points; - case MULTI_POOL: - return stat_points + trait_points + std::min( 0, skill_points ); - } - - return 0; - } - - int skill_points_left() const { - return stat_points + trait_points + skill_points; - } - - bool is_freeform() { - return limit == FREEFORM; - } - - bool is_valid() { - return is_freeform() || - ( stat_points_left() >= 0 && trait_points_left() >= 0 && - skill_points_left() >= 0 ); - } - - bool has_spare() { - return !is_freeform() && is_valid() && skill_points_left() > 0; - } - - std::string to_string() { - if( limit == MULTI_POOL ) { - return string_format( - _( "Points left: %d%c%d%c%d=%d" ), - stat_points_left() >= 0 ? "light_gray" : "red", stat_points, - trait_points >= 0 ? '+' : '-', - trait_points_left() >= 0 ? "light_gray" : "red", abs( trait_points ), - skill_points >= 0 ? '+' : '-', - skill_points_left() >= 0 ? "light_gray" : "red", abs( skill_points ), - is_valid() ? "light_gray" : "red", stat_points + trait_points + skill_points ); - } else if( limit == ONE_POOL ) { - return string_format( _( "Points left: %4d" ), skill_points_left() ); - } else { - return _( "Freeform" ); - } - } -}; - enum struct tab_direction { NONE, FORWARD, @@ -190,7 +104,6 @@ tab_direction set_description( const catacurses::window &w, avatar &you, bool al points_left &points ); static cata::optional query_for_template_name(); -static void save_template( const avatar &u, const std::string &name, const points_left &points ); void reset_scenario( avatar &u, const scenario *scen ); void Character::pick_name( bool bUseDefault ) @@ -465,7 +378,10 @@ bool avatar::create( character_type type, const std::string &tempname ) } // We want to prevent recipes known by the template from being applied to the // new character. The recipe list will be rebuilt when entering the game. - learned_recipes->clear(); + // Except if it is a character transfer template + if( points.limit != points_left::TRANSFER ) { + learned_recipes->clear(); + } tab = NEWCHAR_TAB_MAX; break; } @@ -491,6 +407,11 @@ bool avatar::create( character_type type, const std::string &tempname ) } werase( w ); wrefresh( w ); + + if( points.limit == points_left::TRANSFER ) { + tab = 6; + } + switch( tab ) { case 0: result = set_points( w, *this, points ); @@ -502,10 +423,10 @@ bool avatar::create( character_type type, const std::string &tempname ) result = set_profession( w, *this, points, result ); break; case 3: - result = set_traits( w, *this, points ); + result = set_stats( w, *this, points ); break; case 4: - result = set_stats( w, *this, points ); + result = set_traits( w, *this, points ); break; case 5: result = set_skills( w, *this, points ); @@ -543,7 +464,11 @@ bool avatar::create( character_type type, const std::string &tempname ) return false; } - save_template( *this, _( "Last Character" ), points ); + if( points.limit == points_left::TRANSFER ) { + return true; + } + + save_template( _( "Last Character" ), points ); recalc_hp(); for( int i = 0; i < num_hp_parts; i++ ) { @@ -628,19 +553,19 @@ bool avatar::create( character_type type, const std::string &tempname ) // Adjust current energy level to maximum set_power_level( get_max_power_level() ); - for( auto &t : get_base_traits() ) { + for( const trait_id &t : get_base_traits() ) { std::vector styles; - for( auto &s : t->initial_ma_styles ) { - if( !has_martialart( s ) ) { + for( const matype_id &s : t->initial_ma_styles ) { + if( !martial_arts_data.has_martialart( s ) ) { styles.push_back( s ); } } if( !styles.empty() ) { werase( w ); wrefresh( w ); - const auto ma_type = choose_ma_style( type, styles ); - ma_styles.push_back( ma_type ); - style_selected = ma_type; + const matype_id ma_type = choose_ma_style( type, styles ); + martial_arts_data.add_martialart( ma_type ); + martial_arts_data.set_style( ma_type ); } } @@ -666,8 +591,8 @@ static void draw_character_tabs( const catacurses::window &w, const std::string _( "POINTS" ), _( "SCENARIO" ), _( "PROFESSION" ), - _( "TRAITS" ), _( "STATS" ), + _( "TRAITS" ), _( "SKILLS" ), _( "DESCRIPTION" ), }; @@ -1690,10 +1615,22 @@ tab_direction set_skills( const catacurses::window &w, avatar &u, points_left &p // Clear the bottom of the screen. werase( w_description ); mvwprintz( w, point( 31, 3 ), c_light_gray, std::string( getmaxx( w ) - 32, ' ' ) ); + + // Write the hint as to upgrade costs const int cost = skill_increment_cost( u, currentSkill->ident() ); - mvwprintz( w, point( 31, 3 ), points.skill_points_left() >= cost ? COL_SKILL_USED : c_light_red, - ngettext( "Upgrading %s costs %d point", "Upgrading %s costs %d points", cost ), - currentSkill->name(), cost ); + const int level = u.get_skill_level( currentSkill->ident() ); + const int upgrade_levels = level == 0 ? 2 : 1; + // We have two different strings to pluralize, so we have to use two + // translation calls. + const std::string upgrade_levels_s = string_format( + //~ levels here are skill levels at character creation time + ngettext( "%d level", "%d levels", upgrade_levels ), upgrade_levels ); + const nc_color color = points.skill_points_left() >= cost ? COL_SKILL_USED : c_light_red; + mvwprintz( w, point( 31, 3 ), color, + //~ Second string is e.g. "1 level" or "2 levels" + ngettext( "Upgrading %s by %s costs %d point", + "Upgrading %s by %s costs %d points", cost ), + currentSkill->name(), upgrade_levels_s, cost ); // We want recipes from profession skills displayed, but without boosting the skills // Copy the skills, and boost the copy @@ -2187,7 +2124,7 @@ tab_direction set_description( const catacurses::window &w, avatar &you, const b catacurses::window w_scenario = catacurses::newwin( 1, TERMX - 47, point( getbegx( w ) + 46, getbegy( w ) + 9 ) ); catacurses::window w_profession = - catacurses::newwin( 1, 33, point( getbegx( w ) + 46, getbegy( w ) + 10 ) ); + catacurses::newwin( 1, TERMX - 47, point( getbegx( w ) + 46, getbegy( w ) + 10 ) ); catacurses::window w_skills = catacurses::newwin( 30, 33, point( getbegx( w ) + 46, getbegy( w ) + 11 ) ); catacurses::window w_guide = @@ -2218,8 +2155,11 @@ tab_direction set_description( const catacurses::window &w, avatar &you, const b int offset = 0; for( const auto &loc : start_location::get_all() ) { if( g->scen->allowed_start( loc.ident() ) ) { - select_location.entries.emplace_back( loc.name() ); - if( loc.ident() == you.start_location ) { + uilist_entry entry( loc.ident().get_cid(), true, -1, loc.name() ); + + select_location.entries.emplace_back( entry ); + + if( loc.ident().get_cid() == you.start_location.get_cid() ) { select_location.selected = offset; } offset++; @@ -2272,7 +2212,8 @@ tab_direction set_description( const catacurses::window &w, avatar &you, const b wrefresh( w_stats ); mvwprintz( w_traits, point_zero, COL_HEADER, _( "Traits: " ) ); - std::vector current_traits = you.get_base_traits(); + std::vector current_traits = points.limit == points_left::TRANSFER ? you.get_mutations() : + you.get_base_traits(); if( current_traits.empty() ) { wprintz( w_traits, c_light_red, _( "None!" ) ); } else { @@ -2297,13 +2238,16 @@ tab_direction set_description( const catacurses::window &w, avatar &you, const b profession::StartingSkillList list_skills = you.prof->skills(); for( auto &elem : skillslist ) { int level = you.get_skill_level( elem->ident() ); - profession::StartingSkillList::iterator i = list_skills.begin(); - while( i != list_skills.end() ) { - if( i->first == ( elem )->ident() ) { - level += i->second; - break; + + if( points.limit != points_left::TRANSFER ) { + profession::StartingSkillList::iterator i = list_skills.begin(); + while( i != list_skills.end() ) { + if( i->first == ( elem )->ident() ) { + level += i->second; + break; + } + ++i; } - ++i; } if( level > 0 ) { @@ -2431,8 +2375,11 @@ tab_direction set_description( const catacurses::window &w, avatar &you, const b return tab_direction::NONE; } else if( action == "SAVE_TEMPLATE" ) { if( const auto name = query_for_template_name() ) { - ::save_template( you, *name, points ); + you.save_template( *name, points ); } + // redraw after saving template + draw_character_tabs( w, _( "DESCRIPTION" ) ); + draw_points( w, points ); redraw = true; } else if( action == "PICK_RANDOM_NAME" ) { if( !MAP_SHARING::isSharing() ) { // Don't allow random names when sharing maps. We don't need to check at the top as you won't be able to edit the name @@ -2445,8 +2392,9 @@ tab_direction set_description( const catacurses::window &w, avatar &you, const b select_location.query(); if( select_location.ret >= 0 ) { for( const auto &loc : start_location::get_all() ) { - if( loc.name() == select_location.entries[ select_location.ret ].txt ) { + if( loc.ident().get_cid() == select_location.ret ) { you.start_location = loc.ident(); + break; } } } @@ -2600,13 +2548,13 @@ cata::optional query_for_template_name() } } -void save_template( const avatar &u, const std::string &name, const points_left &points ) +void avatar::save_template( const std::string &name, const points_left &points ) { std::string native = utf8_to_native( name ); #if defined(_WIN32) if( native.find_first_of( "\"*/:<>?\\|" - "\x01\x02\x03\x04\x05\x06\x07\x08\x09" - "\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12" + "\x01\x02\x03\x04\x05\x06\x07\x08\x09" // NOLINT(cata-text-style) + "\x0A\x0B\x0C\x0D\x0E\x0F\x10\x11\x12" // NOLINT(cata-text-style) "\x13\x14\x15\x16\x17\x18\x19\x1A\x1B" "\x1C\x1D\x1E\x1F" ) != std::string::npos ) { @@ -2615,7 +2563,7 @@ void save_template( const avatar &u, const std::string &name, const points_left } #endif - write_to_file( FILENAMES["templatedir"] + native + ".template", [&]( std::ostream & fout ) { + write_to_file( PATH_INFO::templatedir() + native + ".template", [&]( std::ostream & fout ) { JsonOut jsout( fout, true ); jsout.start_array(); @@ -2625,9 +2573,10 @@ void save_template( const avatar &u, const std::string &name, const points_left jsout.member( "trait_points", points.trait_points ); jsout.member( "skill_points", points.skill_points ); jsout.member( "limit", points.limit ); + jsout.member( "start_location", start_location ); jsout.end_object(); - u.serialize( jsout ); + serialize( jsout ); jsout.end_array(); }, _( "player template" ) ); @@ -2635,7 +2584,7 @@ void save_template( const avatar &u, const std::string &name, const points_left bool avatar::load_template( const std::string &template_name, points_left &points ) { - return read_from_file_json( FILENAMES["templatedir"] + utf8_to_native( template_name ) + + return read_from_file_json( PATH_INFO::templatedir() + utf8_to_native( template_name ) + ".template", [&]( JsonIn & jsin ) { if( jsin.test_array() ) { @@ -2653,6 +2602,16 @@ bool avatar::load_template( const std::string &template_name, points_left &point points.skill_points = jobj.get_int( "skill_points" ); points.limit = static_cast( jobj.get_int( "limit" ) ); + const std::string jobj_start_location = jobj.get_string( "start_location", "" ); + + // g->scen->allowed_start( loc.ident() ) is checked once scenario loads in avatar::load() + for( const auto &loc : start_location::get_all() ) { + if( loc.ident().str() == jobj_start_location ) { + this->start_location = loc.ident(); + break; + } + } + if( jsin.end_array() ) { return; } diff --git a/src/npc.cpp b/src/npc.cpp index a16191d446ccd..9ddb71f0b255a 100644 --- a/src/npc.cpp +++ b/src/npc.cpp @@ -435,6 +435,14 @@ void npc::randomize( const npc_class_id &type ) add_bionic( bl.first ); } } + // Add spells for magiclysm mod + for( std::pair spell_pair : type->_starting_spells ) { + this->magic.learn_spell( spell_pair.first, *this, true ); + spell &sp = this->magic.get_spell( spell_pair.first ); + while( sp.get_level() < spell_pair.second && !sp.is_max_level() ) { + sp.gain_level(); + } + } } void npc::randomize_from_faction( faction *fac ) @@ -1184,6 +1192,15 @@ bool npc::wield( item &it ) return true; } +void npc::drop( const std::list> &what, const tripoint &target, + bool stash ) +{ + Character::drop( what, target, stash ); + // TODO: Remove the hack. Its here because npcs didn't process activities, but they do now + // so is this necessary? + activity.do_turn( *this ); +} + void npc::form_opinion( const player &u ) { // FEAR @@ -1235,7 +1252,7 @@ void npc::form_opinion( const player &u ) op_of_u.fear += u_ugly / 2; op_of_u.trust -= u_ugly / 3; - if( u.stim > 20 ) { + if( u.get_stim() > 20 ) { op_of_u.fear++; } @@ -1263,7 +1280,7 @@ void npc::form_opinion( const player &u ) if( u.has_effect( effect_drunk ) ) { op_of_u.trust -= 2; } - if( u.stim > 20 || u.stim < -20 ) { + if( u.get_stim() > 20 || u.get_stim() < -20 ) { op_of_u.trust -= 1; } if( u.get_painkiller() > 30 ) { @@ -1437,13 +1454,7 @@ std::vector npc::skills_offered_to( const player &p ) const std::vector npc::styles_offered_to( const player &p ) const { - std::vector ret; - for( auto &i : ma_styles ) { - if( !p.has_martialart( i ) ) { - ret.push_back( i ); - } - } - return ret; + return p.martial_arts_data.get_unknown_styles( martial_arts_data ); } void npc::decide_needs() @@ -1453,7 +1464,18 @@ void npc::decide_needs() elem = 20; } if( weapon.is_gun() ) { - needrank[need_ammo] = 5 * get_ammo( ammotype( *weapon.type->gun->ammo.begin() ) ).size(); + int ups_drain = weapon.get_gun_ups_drain(); + if( ups_drain > 0 ) { + int ups_charges = charges_of( "UPS_off", ups_drain ) + + charges_of( "UPS_off", ups_drain ); + needrank[need_ammo] = static_cast( ups_charges ) / ups_drain; + } else { + needrank[need_ammo] = get_ammo( ammotype( *weapon.type->gun->ammo.begin() ) ).size(); + } + needrank[need_ammo] *= 5; + } + if( !base_location ) { + needrank[need_safety] = 1; } needrank[need_weapon] = weapon_value( weapon ); @@ -2166,7 +2188,7 @@ nc_color npc::basic_symbol_color() const int npc::print_info( const catacurses::window &w, int line, int vLines, int column ) const { const int last_line = line + vLines; - const unsigned int iWidth = getmaxx( w ) - 2; + const int iWidth = getmaxx( w ) - 2; // First line of w is the border; the next 4 are terrain info, and after that // is a blank line. w is 13 characters tall, and we can't use the last one // because it's a border as well; so we have lines 6 through 11. @@ -2181,28 +2203,19 @@ int npc::print_info( const catacurses::window &w, int line, int vLines, int colu trim_and_print( w, point( column, line++ ), iWidth, c_red, _( "Wielding a %s" ), weapon.tname() ); } - const auto enumerate_print = [ w, last_line, column, iWidth, &line ]( std::string & str_in, + const auto enumerate_print = [ w, last_line, column, iWidth, &line ]( const std::string & str_in, nc_color color ) { - // TODO: Replace with 'fold_and_print()'. Extend it with a 'height' argument to prevent leaking. - size_t split; - do { - split = ( str_in.length() <= iWidth ) ? std::string::npos : str_in.find_last_of( ' ', - static_cast( iWidth ) ); - if( split == std::string::npos ) { - mvwprintz( w, point( column, line ), color, str_in ); - } else { - mvwprintz( w, point( column, line ), color, str_in.substr( 0, split ) ); - } - str_in = str_in.substr( split + 1 ); - line++; - } while( split != std::string::npos && line <= last_line ); + const std::vector folded = foldstring( str_in, iWidth ); + for( auto it = folded.begin(); it < folded.end() && line < last_line; ++it, ++line ) { + trim_and_print( w, point( column, line ), iWidth, color, *it ); + } }; const std::string worn_str = enumerate_as_string( worn.begin(), worn.end(), []( const item & it ) { return it.tname(); } ); if( !worn_str.empty() ) { - std::string wearing = _( "Wearing: " ) + remove_color_tags( worn_str ); + const std::string wearing = _( "Wearing: " ) + worn_str; enumerate_print( wearing, c_light_blue ); } @@ -2223,7 +2236,7 @@ int npc::print_info( const catacurses::window &w, int line, int vLines, int colu const auto trait_str = visible_mutations( visibility_cap ); if( !trait_str.empty() ) { - std::string mutations = _( "Traits: " ) + remove_color_tags( trait_str ); + const std::string mutations = _( "Traits: " ) + trait_str; enumerate_print( mutations, c_green ); } @@ -2836,14 +2849,37 @@ void npc::process_turn() // TODO: Make NPCs leave the player if there's a path out of map and player is sleeping/unseen/etc. } +bool npc::invoke_item( item *used, const tripoint &pt ) +{ + const auto &use_methods = used->type->use_methods; + + if( use_methods.empty() ) { + return false; + } else if( use_methods.size() == 1 ) { + return Character::invoke_item( used, use_methods.begin()->first, pt ); + } + return false; +} + +bool npc::invoke_item( item *used, const std::string &method ) +{ + return Character::invoke_item( used, method ); +} + +bool npc::invoke_item( item *used ) +{ + return Character::invoke_item( used ); +} + std::array, npc_need::num_needs> npc::need_data = { { { "need_none", overmap_location_str_id( "source_of_anything" ) }, - { "need_ammo", overmap_location_str_id( "source_of_ammo" )}, - { "need_weapon", overmap_location_str_id( "source_of_weapon" )}, - { "need_gun", overmap_location_str_id( "source_of_gun" ) }, + { "need_ammo", overmap_location_str_id( "source_of_ammo" ) }, + { "need_weapon", overmap_location_str_id( "source_of_weapons" )}, + { "need_gun", overmap_location_str_id( "source_of_guns" ) }, { "need_food", overmap_location_str_id( "source_of_food" )}, - { "need_drink", overmap_location_str_id( "source_of_drink" ) } + { "need_drink", overmap_location_str_id( "source_of_drink" ) }, + { "need_safety", overmap_location_str_id( "source_of_safety" ) } } }; diff --git a/src/npc.h b/src/npc.h index 57fe8a95d5b44..630de395151fa 100644 --- a/src/npc.h +++ b/src/npc.h @@ -60,7 +60,7 @@ using mission_type_id = string_id; using mfaction_id = int_id; using overmap_location_str_id = string_id; -void parse_tags( std::string &phrase, const player &u, const player &me, +void parse_tags( std::string &phrase, const Character &u, const Character &me, const itype_id &item_type = "null" ); /* @@ -175,7 +175,7 @@ enum npc_action : int; enum npc_need { need_none, need_ammo, need_weapon, need_gun, - need_food, need_drink, + need_food, need_drink, need_safety, num_needs }; @@ -736,6 +736,10 @@ struct npc_chatbin { * The martial art style this NPC offers to train. */ matype_id style; + /** + * The spell this NPC offers to train + */ + spell_id dialogue_spell; std::string first_topic = "TALK_NONE"; npc_chatbin() = default; @@ -908,6 +912,8 @@ class npc : public player void do_npc_read(); void stow_item( item &it ); bool wield( item &it ) override; + void drop( const std::list> &what, const tripoint &target, + bool stash ) override; bool adjust_worn(); bool has_healing_item( healing_options try_to_fix ); healing_options has_healing_options(); @@ -1006,6 +1012,8 @@ class npc : public player // Finds something to complain about and complains. Returns if complained. bool complain(); + int calc_spell_training_cost( bool knows, int difficulty, int level ); + void handle_sound( int priority, const std::string &description, int heard_volume, const tripoint &spos ); @@ -1022,6 +1030,11 @@ class npc : public player void execute_action( npc_action action ); // Performs action void process_turn() override; + using Character::invoke_item; + bool invoke_item( item *, const tripoint &pt ) override; + bool invoke_item( item *used, const std::string &method ) override; + bool invoke_item( item * ) override; + /** rates how dangerous a target is from 0 (harmless) to 1 (max danger) */ float evaluate_enemy( const Creature &target ) const; @@ -1093,6 +1106,8 @@ class npc : public player // Same as if the player pressed '.' void move_pause(); + void set_movement_mode( character_movemode mode ) override; + const pathfinding_settings &get_pathfinding_settings() const override; const pathfinding_settings &get_pathfinding_settings( bool no_bashing ) const; std::set get_path_avoid() const override; @@ -1245,6 +1260,7 @@ class npc : public player int last_seen_player_turn; // Timeout to forgetting tripoint wanted_item_pos; // The square containing an item we want tripoint guard_pos; // These are the local coordinates that a guard will return to inside of their goal tripoint + cata::optional base_location; // our faction base location in OMT coords. /** * Global overmap terrain coordinate, where we want to get to * if no goal exist, this is no_goal_point. diff --git a/src/npc_class.cpp b/src/npc_class.cpp index bd36c09405285..82123203e1de2 100644 --- a/src/npc_class.cpp +++ b/src/npc_class.cpp @@ -251,6 +251,15 @@ void npc_class::load( JsonObject &jo, const std::string & ) traits = trait_group::load_trait_group( *jo.get_raw( "traits" ), "collection" ); } + if( jo.has_array( "spells" ) ) { + JsonArray array = jo.get_array( "spells" ); + while( array.has_more() ) { + JsonObject subobj = array.next_object(); + const int level = subobj.get_int( "level" ); + const spell_id sp = spell_id( subobj.get_string( "id" ) ); + _starting_spells.emplace( sp, level ); + } + } /* Mutation rounds can be specified as follows: * "mutation_rounds": { * "ANY" : { "constant": 1 }, diff --git a/src/npc_class.h b/src/npc_class.h index 9a180edad9fe5..e8145f03d1e35 100644 --- a/src/npc_class.h +++ b/src/npc_class.h @@ -77,6 +77,8 @@ class npc_class std::map mutation_rounds; trait_group::Trait_group_tag traits = trait_group::Trait_group_tag( "EMPTY_GROUP" ); + // the int is what level the spell starts at + std::map _starting_spells; std::map bionic_list; npc_class(); diff --git a/src/npcmove.cpp b/src/npcmove.cpp index f1c48e83b3036..f816a89c4c454 100644 --- a/src/npcmove.cpp +++ b/src/npcmove.cpp @@ -93,12 +93,9 @@ const efftype_id effect_ridden( "ridden" ); // power source CBMs const bionic_id bio_advreactor( "bio_advreactor" ); -const bionic_id bio_batteries( "bio_batteries" ); const bionic_id bio_ethanol( "bio_ethanol" ); const bionic_id bio_furnace( "bio_furnace" ); -const bionic_id bio_metabolics( "bio_metabolics" ); const bionic_id bio_reactor( "bio_reactor" ); -const bionic_id bio_torsionratchet( "bio_torsionratchet" ); // active defense CBMs - activate when in danger const bionic_id bio_ads( "bio_ads" ); @@ -155,12 +152,8 @@ namespace { const std::vector power_cbms = { { bio_advreactor, - bio_batteries, - bio_ethanol, bio_furnace, - bio_metabolics, bio_reactor, - bio_torsionratchet } }; const std::vector defense_cbms = { { @@ -361,7 +354,7 @@ void npc::assess_danger() { float assessment = 0.0f; float highest_priority = 1.0f; - int def_radius = 6; + int def_radius = rules.has_flag( ally_rule::follow_close ) ? follow_distance() : 6; // Radius we can attack without moving const int max_range = std::max( weapon.reach_range( *this ), @@ -802,6 +795,11 @@ void npc::move() } } + if( action == npc_undecided && is_walking_with() && rules.has_flag( ally_rule::follow_close ) && + rl_dist( pos(), g->u.pos() ) > follow_distance() ) { + action = npc_follow_player; + } + if( action == npc_undecided && attitude == NPCATT_ACTIVITY ) { std::vector activity_route = get_auto_move_route(); if( !activity_route.empty() && !has_destination_activity() ) { @@ -1013,8 +1011,11 @@ void npc::execute_action( npc_action action ) case npc_drop_items: /* NPCs cant choose this action anymore, but at least it works */ - drop_items( weight_carried() - weight_capacity(), - volume_carried() - volume_capacity() ); + drop_invalid_inventory(); + /* drop_items is still broken + * drop_items( weight_carried() - weight_capacity(), + * volume_carried() - volume_capacity() ); + */ move_pause(); break; @@ -1640,20 +1641,25 @@ bool npc::deactivate_bionic_by_id( const bionic_id &cbm_id, bool eff_only ) bool npc::wants_to_recharge_cbm() { + const units::energy curr_power = get_power_level(); + const float allowed_ratio = static_cast( rules.cbm_recharge ) / 100.0f; + const units::energy max_pow_allowed = get_max_power_level() * allowed_ratio; - for( const bionic_id bid : get_fueled_bionics() ) { - for( const itype_id fid : bid->fuel_opts ) { - return get_fuel_available( bid ).empty() || ( !get_fuel_available( bid ).empty() && - get_power_level() < ( get_max_power_level() * static_cast( rules.cbm_recharge ) / 100 ) && - !use_bionic_by_id( bid ) ); + if( curr_power < max_pow_allowed ) { + for( const bionic_id &bid : get_fueled_bionics() ) { + if( !has_active_bionic( bid ) ) { + return true; + } } + return get_fueled_bionics().empty(); //NPC might have power CBM that doesn't use the json fuel_opts entry } - return get_power_level() < ( get_max_power_level() * static_cast( rules.cbm_recharge ) / 100 ); + return false; } bool npc::can_use_offensive_cbm() const { - return get_power_level() > ( get_max_power_level() * static_cast( rules.cbm_reserve ) / 100 ); + const float allowed_ratio = static_cast( rules.cbm_reserve ) / 100.0f; + return get_power_level() > get_max_power_level() * allowed_ratio; } bool npc::consume_cbm_items( const std::function &filter ) @@ -1683,10 +1689,11 @@ bool npc::recharge_cbm() return true; } - use_bionic_by_id( bio_torsionratchet ); - use_bionic_by_id( bio_metabolics ); + for( bionic_id &bid : get_fueled_bionics() ) { + if( has_active_bionic( bid ) ) { + continue; + } - for( bionic_id bid : get_fueled_bionics() ) { if( !get_fuel_available( bid ).empty() ) { use_bionic_by_id( bid ); return true; @@ -1702,7 +1709,19 @@ bool npc::recharge_cbm() use_bionic_by_id( bid ); return true; } else { - complain_about( "need_fuel", 3_hours, "", false ); + const std::vector fuel_op = bid->fuel_opts; + const bool need_alcohol = std::find( fuel_op.begin(), fuel_op.end(), + "chem_ethanol" ) != fuel_op.end() || + std::find( fuel_op.begin(), fuel_op.end(), "chem_methanol" ) != fuel_op.end() || + std::find( fuel_op.begin(), fuel_op.end(), "denat_alcohol" ) != fuel_op.end(); + + if( std::find( fuel_op.begin(), fuel_op.end(), "battery" ) != fuel_op.end() ) { + complain_about( "need_batteries", 3_hours, "", false ); + } else if( need_alcohol ) { + complain_about( "need_booze", 3_hours, "", false ); + } else { + complain_about( "need_fuel", 3_hours, "", false ); + } } } } @@ -1719,29 +1738,6 @@ bool npc::recharge_cbm() } } - if( use_bionic_by_id( bio_batteries ) ) { - const std::function battery_filter = []( const item & it ) { - return it.typeId() == itype_id( "battery" ); - }; - if( consume_cbm_items( battery_filter ) ) { - return true; - } else { - complain_about( "need_batteries", 3_hours, "", false ); - } - } - - if( use_bionic_by_id( bio_ethanol ) ) { - const std::function ethanol_filter = []( const item & it ) { - return it.type->can_use( "WEAK_ALCOHOL" ) || it.type->can_use( "ALCOHOL" ) || - it.type->can_use( "STRONG_ALOCHOL" ); - }; - if( consume_cbm_items( ethanol_filter ) ) { - return true; - } else { - complain_about( "need_booze", 3_hours, "", false ); - } - } - if( use_bionic_by_id( bio_reactor ) || use_bionic_by_id( bio_advreactor ) ) { const std::function reactor_filter = []( const item & it ) { return it.is_ammo() && ( it.ammo_type() == plutonium || @@ -1902,7 +1898,7 @@ npc_action npc::address_player() if( attitude == NPCATT_MUG && sees( g->u ) ) { if( one_in( 3 ) ) { - say( _( "Don't move a muscle..." ) ); + say( _( "Don't move a muscle…" ) ); } return npc_mug_player; } @@ -1946,7 +1942,8 @@ npc_action npc::long_term_goal_action() { add_msg( m_debug, "long_term_goal_action()" ); - if( mission == NPC_MISSION_SHOPKEEP || mission == NPC_MISSION_SHELTER || is_player_ally() ) { + if( mission == NPC_MISSION_SHOPKEEP || mission == NPC_MISSION_SHELTER || ( is_player_ally() && + mission != NPC_MISSION_TRAVELLING ) ) { return npc_pause; // Shopkeepers just stay put. } @@ -2297,7 +2294,7 @@ void npc::move_to( const tripoint &pt, bool no_bashing, std::set *nomo } moves -= 100; moved = true; - } else if( g->m.passable( p ) ) { + } else if( g->m.passable( p ) && !g->m.has_flag( "DOOR", p ) ) { bool diag = trigdist && posx() != p.x && posy() != p.y; if( is_mounted() ) { const double base_moves = run_cost( g->m.combined_movecost( pos(), p ), @@ -2966,8 +2963,12 @@ struct ratio_index { ratio_index( double R, int I ) : ratio( R ), index( I ) {} }; +/* As of October 2019, this is buggy, do not use!! */ void npc::drop_items( units::mass drop_weight, units::volume drop_volume, int min_val ) { + /* Remove this when someone debugs it back to functionality */ + return; + add_msg( m_debug, "%s is dropping items-%3.2f kg, %3.2f L (%d items, wgt %3.2f/%3.2f kg, " "vol %3.2f/%3.2f L)", name, units::to_kilogram( drop_weight ), units::to_liter( drop_volume ), inv.size(), @@ -3684,8 +3685,8 @@ bool npc::consume_food() { float best_weight = 0.0f; int index = -1; - int want_hunger = get_hunger(); - int want_quench = get_thirst(); + int want_hunger = std::max( 0, get_hunger() ); + int want_quench = std::max( 0, get_thirst() ); invslice slice = inv.slice(); for( size_t i = 0; i < slice.size(); i++ ) { const item &it = slice[i]->front(); @@ -3866,7 +3867,15 @@ void npc::reach_omt_destination() } } } else { - revert_after_activity(); + // for now - they just travel to a nearby place they want as a base + // and chill there indefinitely, the plan is to add systems for them to build + // up their base, then go out on looting missions, + // then return to base afterwards. + set_mission( NPC_MISSION_GUARD ); + if( !needs.empty() && needs[0] == need_safety ) { + // we found our base. + base_location = global_omt_location(); + } } return; } @@ -3937,10 +3946,29 @@ void npc::set_omt_destination() std::string dest_type; for( const auto &fulfill : needs ) { - dest_type = get_location_for( fulfill )->get_random_terrain().id().str(); - goal = overmap_buffer.find_closest( surface_omt_loc, dest_type, 100, false ); + // look for the closest occurence of any of that locations terrain types + std::vector loc_list = get_location_for( fulfill )->get_all_terrains(); + std::shuffle( loc_list.begin(), loc_list.end(), rng_get_engine() ); + omt_find_params find_params; + std::vector> temp_types; + for( const oter_type_id &elem : loc_list ) { + std::pair temp_pair; + temp_pair.first = elem.id().str(); + temp_pair.second = ot_match_type::type; + temp_types.push_back( temp_pair ); + } + find_params.search_range = 75; + find_params.min_distance = 0; + find_params.must_see = false; + find_params.cant_see = false; + find_params.types = temp_types; + find_params.existing_only = false; + goal = overmap_buffer.find_closest( surface_omt_loc, find_params ); omt_path = overmap_buffer.get_npc_path( surface_omt_loc, goal ); - if( goal != overmap::invalid_tripoint && !omt_path.empty() ) { + if( goal != overmap::invalid_tripoint ) { + omt_path = overmap_buffer.get_npc_path( surface_omt_loc, goal ); + } + if( !omt_path.empty() ) { break; } } @@ -4242,7 +4270,7 @@ bool npc::complain() body_part bp = bp_affected( *this, effect_infected ); const auto &eff = get_effect( effect_infected, bp ); int intensity = eff.get_intensity(); - const std::string speech = string_format( _( "My %s wound is infected..." ), + const std::string speech = string_format( _( "My %s wound is infected…" ), body_part_name( bp ) ); if( complain_about( infected_string, time_duration::from_hours( 4 - intensity ), speech, intensity >= 3 ) ) { @@ -4271,7 +4299,7 @@ bool npc::complain() // Radiation every 10 minutes if( radiation > 90 ) { activate_bionic_by_id( bio_radscrubber ); - std::string speech = _( "I'm suffering from radiation sickness..." ); + std::string speech = _( "I'm suffering from radiation sickness…" ); if( complain_about( radiation_string, 10_minutes, speech, radiation > 150 ) ) { return true; } @@ -4371,3 +4399,8 @@ bool npc::adjust_worn() return false; } + +void npc::set_movement_mode( character_movemode new_mode ) +{ + move_mode = new_mode; +} diff --git a/src/npctalk.cpp b/src/npctalk.cpp index 496a3ce292024..59197d2e6f89c 100644 --- a/src/npctalk.cpp +++ b/src/npctalk.cpp @@ -163,6 +163,18 @@ int calc_ma_style_training_cost( const npc &p, const matype_id & /* id */ ) return 800; } +int npc::calc_spell_training_cost( const bool knows, int difficulty, int level ) +{ + if( is_player_ally() ) { + return 0; + } + int ret = ( 100 * std::max( 1, difficulty ) * std::max( 1, level ) ); + if( !knows ) { + ret = ret * 2; + } + return ret; +} + // Rescale values from "mission scale" to "opinion scale" int npc_trading::cash_to_favor( const npc &, int cash ) { @@ -385,7 +397,7 @@ void game::chat() if( !available.empty() ) { nmenu.addentry( NPC_CHAT_TALK, true, 't', available_count == 1 ? string_format( _( "Talk to %s" ), available.front()->name ) : - _( "Talk to..." ) + _( "Talk to…" ) ); } nmenu.addentry( NPC_CHAT_YELL, true, 'a', _( "Yell" ) ); @@ -401,13 +413,13 @@ void game::chat() if( !guards.empty() ) { nmenu.addentry( NPC_CHAT_FOLLOW, true, 'f', guard_count == 1 ? string_format( _( "Tell %s to follow" ), guards.front()->name ) : - _( "Tell someone to follow..." ) + _( "Tell someone to follow…" ) ); } if( !followers.empty() ) { nmenu.addentry( NPC_CHAT_GUARD, true, 'g', follower_count == 1 ? string_format( _( "Tell %s to guard" ), followers.front()->name ) : - _( "Tell someone to guard..." ) + _( "Tell someone to guard…" ) ); nmenu.addentry( NPC_CHAT_AWAKE, true, 'w', _( "Tell everyone on your team to wake up" ) ); nmenu.addentry( NPC_CHAT_MOUNT, true, 'M', _( "Tell everyone on your team to mount up" ) ); @@ -416,7 +428,7 @@ void game::chat() _( "Tell everyone on your team to prepare for danger" ) ); nmenu.addentry( NPC_CHAT_CLEAR_OVERRIDES, true, 'r', _( "Tell everyone on your team to relax (Clear Overrides)" ) ); - nmenu.addentry( NPC_CHAT_ORDERS, true, 'o', _( "Tell everyone on your team to temporarily..." ) ); + nmenu.addentry( NPC_CHAT_ORDERS, true, 'o', _( "Tell everyone on your team to temporarily…" ) ); } std::string message; std::string yell_msg; @@ -701,6 +713,7 @@ void npc::talk_to_u( bool text_only, bool radio_contact ) } else if( get_attitude() == NPCATT_RECOVER_GOODS ) { d.add_topic( "TALK_STOLE_ITEM" ); } + g->u.dialogue_by_radio = d.by_radio; int most_difficult_mission = 0; for( auto &mission : chatbin.missions ) { const auto &type = mission->get_type(); @@ -870,7 +883,7 @@ std::string dialogue::dynamic_line( const talk_topic &the_topic ) const // TODO: make it a member of the mission class, maybe at mission instance specific data const std::string &ret = miss->dialogue_for_topic( topic ); if( ret.empty() ) { - debugmsg( "Bug in npctalk.cpp:dynamic_line. Wrong mission_id(%s) or topic(%s)", + debugmsg( "Bug in npctalk.cpp:dynamic_line. Wrong mission_id(%s) or topic(%s)", type.id.c_str(), topic.c_str() ); return ""; } @@ -897,10 +910,17 @@ std::string dialogue::dynamic_line( const talk_topic &the_topic ) const } std::vector trainable = p->skills_offered_to( g->u ); std::vector styles = p->styles_offered_to( g->u ); - if( trainable.empty() && styles.empty() ) { + const std::vector spells = p->magic.spells(); + std::vector teachable_spells; + for( const spell_id &sp : spells ) { + if( g->u.magic.can_learn_spell( g->u, sp ) ) { + teachable_spells.emplace_back( sp ); + } + } + if( trainable.empty() && styles.empty() && teachable_spells.empty() ) { return _( "Sorry, but it doesn't seem I have anything to teach you." ); } else { - return _( "Here's what I can teach you..." ); + return _( "Here's what I can teach you…" ); } } else if( topic == "TALK_HOW_MUCH_FURTHER" ) { // TODO: this ignores the z-component @@ -1118,6 +1138,14 @@ talk_response &dialogue::add_response( const std::string &text, const std::strin return result; } +talk_response &dialogue::add_response( const std::string &text, const std::string &r, + const spell_id &sp, const bool first ) +{ + talk_response &result = add_response( text, r, first ); + result.dialogue_spell = sp; + return result; +} + talk_response &dialogue::add_response( const std::string &text, const std::string &r, const martialart &style, const bool first ) { @@ -1170,7 +1198,8 @@ void dialogue::gen_responses( const talk_topic &the_topic ) } } } else if( topic == "TALK_TRAIN" ) { - if( !g->u.backlog.empty() && g->u.backlog.front().id() == activity_id( "ACT_TRAIN" ) ) { + if( !g->u.backlog.empty() && g->u.backlog.front().id() == activity_id( "ACT_TRAIN" ) && + g->u.backlog.front().index == p->getID().get_value() ) { player_activity &backlog = g->u.backlog.front(); std::stringstream resume; resume << _( "Yes, let's resume training " ); @@ -1178,9 +1207,18 @@ void dialogue::gen_responses( const talk_topic &the_topic ) // TODO: This is potentially dangerous. A skill and a martial art // could have the same ident! if( !skillt.is_valid() ) { - auto &style = matype_id( backlog.name ).obj(); - resume << style.name; - add_response( resume.str(), "TALK_TRAIN_START", style ); + const matype_id styleid = matype_id( backlog.name ); + if( !styleid.is_valid() ) { + const spell_id &sp_id = spell_id( backlog.name ); + if( p->magic.knows_spell( sp_id ) ) { + resume << sp_id->name.translated(); + add_response( resume.str(), "TALK_TRAIN_START", sp_id ); + } + } else { + martialart style = styleid.obj(); + resume << style.name; + add_response( resume.str(), "TALK_TRAIN_START", style ); + } } else { resume << skillt.obj().name(); add_response( resume.str(), "TALK_TRAIN_START", skillt ); @@ -1188,10 +1226,39 @@ void dialogue::gen_responses( const talk_topic &the_topic ) } std::vector styles = p->styles_offered_to( g->u ); std::vector trainable = p->skills_offered_to( g->u ); - if( trainable.empty() && styles.empty() ) { + const std::vector spells = p->magic.spells(); + std::vector teachable_spells; + for( const spell_id &sp : spells ) { + const spell &temp_spell = p->magic.get_spell( sp ); + if( g->u.magic.can_learn_spell( g->u, sp ) ) { + if( g->u.magic.knows_spell( sp ) ) { + const spell &player_spell = g->u.magic.get_spell( sp ); + if( player_spell.is_max_level() || player_spell.get_level() >= temp_spell.get_level() ) { + continue; + } + } + teachable_spells.emplace_back( sp ); + } + } + if( trainable.empty() && styles.empty() && teachable_spells.empty() ) { add_response_none( _( "Oh, okay." ) ); return; } + for( const spell_id &sp : teachable_spells ) { + const spell &temp_spell = p->magic.get_spell( sp ); + const bool knows = g->u.magic.knows_spell( sp ); + const int cost = p->calc_spell_training_cost( knows, temp_spell.get_difficulty(), + temp_spell.get_level() ); + std::string text; + if( knows ) { + text = string_format( _( "%s: 1 hour lesson (cost %s)" ), temp_spell.name(), + format_money( cost ) ); + } else { + text = string_format( _( "%s: teaching spell knowledge (cost %s)" ), temp_spell.name(), + format_money( cost ) ); + } + add_response( text, "TALK_TRAIN_START", sp ); + } for( auto &style_id : styles ) { auto &style = style_id.obj(); const int cost = calc_ma_style_training_cost( *p, style.id ); @@ -1211,7 +1278,7 @@ void dialogue::gen_responses( const talk_topic &the_topic ) //~Skill name: current level (exercise) -> next level (exercise) (cost in dollars) std::string text = string_format( cost > 0 ? _( "%s: %d (%d%%) -> %d (%d%%) (cost $%d)" ) : - _( "%s: %d (%d%%) -> %d" ), + _( "%s: %d (%d%%) -> %d (%d%%)" ), trained.obj().name(), cur_level, cur_level_exercise, next_level, next_level_exercise, cost / 100 ); add_response( text, "TALK_TRAIN_START", trained ); @@ -1438,7 +1505,8 @@ int topic_category( const talk_topic &the_topic ) return -1; // Not grouped with other topics } -void parse_tags( std::string &phrase, const player &u, const player &me, const itype_id &item_type ) +void parse_tags( std::string &phrase, const Character &u, const Character &me, + const itype_id &item_type ) { phrase = SNIPPET.expand( remove_color_tags( phrase ) ); @@ -1485,7 +1553,7 @@ void parse_tags( std::string &phrase, const player &u, const player &me, const i phrase.replace( fa, l, pgettext( "punctuation", "." ) ); break; case 1: - phrase.replace( fa, l, pgettext( "punctuation", "..." ) ); + phrase.replace( fa, l, pgettext( "punctuation", "…" ) ); break; case 2: phrase.replace( fa, l, pgettext( "punctuation", "!" ) ); @@ -1508,7 +1576,7 @@ void parse_tags( std::string &phrase, const player &u, const player &me, const i tmp.charges = u.charges_of( item_type ); phrase.replace( fa, l, format_money( tmp.price( true ) ) ); } else if( !tag.empty() ) { - debugmsg( "Bad tag. '%s' (%d - %d)", tag.c_str(), fa, fb ); + debugmsg( "Bad tag. '%s' (%d - %d)", tag.c_str(), fa, fb ); phrase.replace( fa, fb - fa + 1, "????" ); } } while( fa != std::string::npos && fb != std::string::npos ); @@ -1685,18 +1753,22 @@ talk_topic dialogue::opt( dialogue_window &d_win, const talk_topic &topic ) if( chosen.skill ) { beta->chatbin.skill = chosen.skill; beta->chatbin.style = matype_id::NULL_ID(); + beta->chatbin.dialogue_spell = spell_id(); } else if( chosen.style ) { beta->chatbin.style = chosen.style; beta->chatbin.skill = skill_id::NULL_ID(); + beta->chatbin.dialogue_spell = spell_id(); + } else if( chosen.dialogue_spell != spell_id() ) { + beta->chatbin.style = matype_id::NULL_ID(); + beta->chatbin.skill = skill_id::NULL_ID(); + beta->chatbin.dialogue_spell = chosen.dialogue_spell; } - const bool success = chosen.trial.roll( *this ); const auto &effects = success ? chosen.success : chosen.failure; - return effects.apply( *this ); } -talk_trial::talk_trial( JsonObject jo ) +talk_trial::talk_trial( JsonObject &jo ) { static const std::unordered_map types_map = { { #define WRAP(value) { #value, TALK_TRIAL_##value } @@ -1770,7 +1842,7 @@ void talk_effect_fun_t::set_companion_mission( const std::string &role_id ) }; } -void talk_effect_fun_t::set_add_effect( JsonObject jo, const std::string &member, bool is_npc ) +void talk_effect_fun_t::set_add_effect( JsonObject &jo, const std::string &member, bool is_npc ) { std::string new_effect = jo.get_string( member ); bool permanent = false; @@ -1794,7 +1866,7 @@ void talk_effect_fun_t::set_add_effect( JsonObject jo, const std::string &member }; } -void talk_effect_fun_t::set_remove_effect( JsonObject jo, const std::string &member, bool is_npc ) +void talk_effect_fun_t::set_remove_effect( JsonObject &jo, const std::string &member, bool is_npc ) { std::string old_effect = jo.get_string( member ); function = [is_npc, old_effect]( const dialogue & d ) { @@ -1806,7 +1878,7 @@ void talk_effect_fun_t::set_remove_effect( JsonObject jo, const std::string &mem }; } -void talk_effect_fun_t::set_add_trait( JsonObject jo, const std::string &member, bool is_npc ) +void talk_effect_fun_t::set_add_trait( JsonObject &jo, const std::string &member, bool is_npc ) { std::string new_trait = jo.get_string( member ); function = [is_npc, new_trait]( const dialogue & d ) { @@ -1818,7 +1890,7 @@ void talk_effect_fun_t::set_add_trait( JsonObject jo, const std::string &member, }; } -void talk_effect_fun_t::set_remove_trait( JsonObject jo, const std::string &member, bool is_npc ) +void talk_effect_fun_t::set_remove_trait( JsonObject &jo, const std::string &member, bool is_npc ) { std::string old_trait = jo.get_string( member ); function = [is_npc, old_trait]( const dialogue & d ) { @@ -1830,7 +1902,7 @@ void talk_effect_fun_t::set_remove_trait( JsonObject jo, const std::string &memb }; } -void talk_effect_fun_t::set_add_var( JsonObject jo, const std::string &member, bool is_npc ) +void talk_effect_fun_t::set_add_var( JsonObject &jo, const std::string &member, bool is_npc ) { const std::string var_name = get_talk_varname( jo, member ); const std::string &value = jo.get_string( "value" ); @@ -1843,7 +1915,7 @@ void talk_effect_fun_t::set_add_var( JsonObject jo, const std::string &member, b }; } -void talk_effect_fun_t::set_remove_var( JsonObject jo, const std::string &member, bool is_npc ) +void talk_effect_fun_t::set_remove_var( JsonObject &jo, const std::string &member, bool is_npc ) { const std::string var_name = get_talk_varname( jo, member, false ); function = [is_npc, var_name]( const dialogue & d ) { @@ -1855,7 +1927,7 @@ void talk_effect_fun_t::set_remove_var( JsonObject jo, const std::string &member }; } -void talk_effect_fun_t::set_adjust_var( JsonObject jo, const std::string &member, bool is_npc ) +void talk_effect_fun_t::set_adjust_var( JsonObject &jo, const std::string &member, bool is_npc ) { const std::string var_name = get_talk_varname( jo, member, false ); const int value = jo.get_int( "adjustment" ); @@ -1887,7 +1959,7 @@ void talk_effect_fun_t::set_u_buy_item( const std::string &item_name, int cost, return; } if( container_name.empty() ) { - item new_item = item( item_name, calendar::turn, 1 ); + item new_item = item( item_name, calendar::turn ); if( new_item.count_by_charges() ) { new_item.mod_charges( count - 1 ); u.i_add( new_item ); @@ -1923,7 +1995,7 @@ void talk_effect_fun_t::set_u_sell_item( const std::string &item_name, int cost, function = [item_name, cost, count]( const dialogue & d ) { npc &p = *d.beta; player &u = *d.alpha; - item old_item = item( item_name, calendar::turn, 1 ); + item old_item = item( item_name, calendar::turn ); if( u.has_charges( item_name, count ) ) { u.use_charges( item_name, count ); } else if( u.has_amount( item_name, count ) ) { @@ -1953,7 +2025,7 @@ void talk_effect_fun_t::set_u_sell_item( const std::string &item_name, int cost, }; } -void talk_effect_fun_t::set_consume_item( JsonObject jo, const std::string &member, int count, +void talk_effect_fun_t::set_consume_item( JsonObject &jo, const std::string &member, int count, bool is_npc ) { const std::string &item_name = jo.get_string( member ); @@ -1978,7 +2050,7 @@ void talk_effect_fun_t::set_consume_item( JsonObject jo, const std::string &memb }; } -void talk_effect_fun_t::set_remove_item_with( JsonObject jo, const std::string &member, +void talk_effect_fun_t::set_remove_item_with( JsonObject &jo, const std::string &member, bool is_npc ) { const std::string &item_name = jo.get_string( member ); @@ -2120,7 +2192,7 @@ void talk_effect_fun_t::set_npc_cbm_recharge_rule( const std::string &setting ) }; } -void talk_effect_fun_t::set_mapgen_update( JsonObject jo, const std::string &member ) +void talk_effect_fun_t::set_mapgen_update( JsonObject &jo, const std::string &member ) { mission_target_params target_params = mission_util::parse_mission_om_target( jo ); std::vector update_ids; @@ -2342,7 +2414,7 @@ talk_topic talk_effect_t::apply( dialogue &d ) const return next_topic; } -talk_effect_t::talk_effect_t( JsonObject jo ) +talk_effect_t::talk_effect_t( JsonObject &jo ) { load_effect( jo ); if( jo.has_object( "topic" ) ) { @@ -2352,7 +2424,7 @@ talk_effect_t::talk_effect_t( JsonObject jo ) } } -void talk_effect_t::parse_sub_effect( JsonObject jo ) +void talk_effect_t::parse_sub_effect( JsonObject &jo ) { talk_effect_fun_t subeffect_fun; const bool is_npc = true; @@ -2638,9 +2710,10 @@ talk_response::talk_response() mission_selected = nullptr; skill = skill_id::NULL_ID(); style = matype_id::NULL_ID(); + dialogue_spell = spell_id(); } -talk_response::talk_response( JsonObject jo ) +talk_response::talk_response( JsonObject &jo ) { if( jo.has_member( "truefalsetext" ) ) { JsonObject truefalse_jo = jo.get_object( "truefalsetext" ); @@ -2654,10 +2727,12 @@ talk_response::talk_response( JsonObject jo ) }; } if( jo.has_member( "trial" ) ) { - trial = talk_trial( jo.get_object( "trial" ) ); + JsonObject trial_obj = jo.get_object( "trial" ); + trial = talk_trial( trial_obj ); } if( jo.has_member( "success" ) ) { - success = talk_effect_t( jo.get_object( "success" ) ); + JsonObject success_obj = jo.get_object( "success" ); + success = talk_effect_t( success_obj ); } else if( jo.has_string( "topic" ) ) { // This is for simple topic switching without a possible failure success.next_topic = talk_topic( jo.get_string( "topic" ) ); @@ -2669,7 +2744,8 @@ talk_response::talk_response( JsonObject jo ) jo.throw_error( "the failure effect is mandatory if a talk_trial has been defined" ); } if( jo.has_member( "failure" ) ) { - failure = talk_effect_t( jo.get_object( "failure" ) ); + JsonObject failure_obj = jo.get_object( "failure" ); + failure = talk_effect_t( failure_obj ); } // TODO: mission_selected @@ -2706,13 +2782,14 @@ json_talk_repeat_response::json_talk_repeat_response( JsonObject jo ) jo.throw_error( "Repeat response with empty repeat information!" ); } if( jo.has_object( "response" ) ) { - response = json_talk_response( jo.get_object( "response" ) ); + JsonObject response_obj = jo.get_object( "response" ); + response = json_talk_response( response_obj ); } else { jo.throw_error( "Repeat response with no response!" ); } } -json_talk_response::json_talk_response( JsonObject jo ) +json_talk_response::json_talk_response( JsonObject &jo ) : actual_response( jo ) { load_condition( jo ); @@ -2904,7 +2981,7 @@ dynamic_line_t::dynamic_line_t( JsonArray ja ) }; } -json_dynamic_line_effect::json_dynamic_line_effect( JsonObject jo, const std::string &id ) +json_dynamic_line_effect::json_dynamic_line_effect( JsonObject &jo, const std::string &id ) { std::function tmp_condition; read_condition( jo, "condition", tmp_condition, true ); @@ -2951,18 +3028,21 @@ void json_talk_topic::load( JsonObject &jo ) id = jo.get_array( "id" ).next_string(); } if( jo.has_object( "speaker_effect" ) ) { - speaker_effects.emplace_back( jo.get_object( "speaker_effect" ), id ); + JsonObject speaker_effect = jo.get_object( "speaker_effect" ); + speaker_effects.emplace_back( speaker_effect, id ); } else if( jo.has_array( "speaker_effect" ) ) { JsonArray ja = jo.get_array( "speaker_effect" ); while( ja.has_more() ) { - speaker_effects.emplace_back( ja.next_object(), id ); + JsonObject speaker_effect = ja.next_object(); + speaker_effects.emplace_back( speaker_effect, id ); } } } JsonArray ja = jo.get_array( "responses" ); responses.reserve( responses.size() + ja.size() ); while( ja.has_more() ) { - responses.emplace_back( ja.next_object() ); + JsonObject response = ja.next_object(); + responses.emplace_back( response ); } if( jo.has_object( "repeat_responses" ) ) { repeat_responses.emplace_back( jo.get_object( "repeat_responses" ) ); @@ -2998,14 +3078,14 @@ bool json_talk_topic::gen_responses( dialogue &d ) const switch_done |= repeat.response.gen_repeat_response( d, item_id, switch_done ); } } - for( const std::string &category_id : repeat.for_category ) { + for( const item_category_id &category_id : repeat.for_category ) { const bool include_containers = repeat.include_containers; const auto items_with = actor->items_with( [category_id, include_containers]( const item & it ) { if( include_containers ) { - return it.get_category().id() == category_id; + return it.get_category().get_id() == category_id; } - return it.type && it.type->category && it.type->category->id() == category_id; + return it.type && it.type->category_force == category_id; } ); for( const auto &it : items_with ) { switch_done |= repeat.response.gen_repeat_response( d, it->typeId(), switch_done ); @@ -3099,7 +3179,7 @@ static consumption_result try_consume( npc &p, item &it, std::string &reason ) } if( !p.will_accept_from_player( it ) ) { - reason = _( "I don't trust you enough to eat THIS..." ); + reason = _( "I don't trust you enough to eat THIS…" ); return REFUSED; } @@ -3107,7 +3187,7 @@ static consumption_result try_consume( npc &p, item &it, std::string &reason ) int amount_used = 1; if( to_eat.is_food() ) { if( !p.eat( to_eat ) ) { - reason = _( "It doesn't look like a good idea to consume this..." ); + reason = _( "It doesn't look like a good idea to consume this…" ); return REFUSED; } } else if( to_eat.is_medication() || to_eat.get_contained().is_medication() ) { @@ -3126,7 +3206,7 @@ static consumption_result try_consume( npc &p, item &it, std::string &reason ) if( to_eat.type->has_use() ) { amount_used = to_eat.type->invoke( p, to_eat, p.pos() ); if( amount_used <= 0 ) { - reason = _( "It doesn't look like a good idea to consume this.." ); + reason = _( "It doesn't look like a good idea to consume this…" ); return REFUSED; } } @@ -3184,7 +3264,7 @@ std::string give_item_to( npc &p, bool allow_use, bool allow_carry ) if( given.is_container() ) { given.on_contents_changed(); } - return _( "Here we go..." ); + return _( "Here we go…" ); } } @@ -3244,7 +3324,7 @@ std::string give_item_to( npc &p, bool allow_use, bool allow_carry ) reason += string_format( _( "I can only store %s %s more." ), format_volume( free_space ), volume_units_long() ); } else { - reason += _( "...or to store anything else for that matter." ); + reason += _( "…or to store anything else for that matter." ); } } if( !p.can_pickWeight( given ) ) { diff --git a/src/npctalk_funcs.cpp b/src/npctalk_funcs.cpp index c539d20727ed6..e3136ff93aa07 100644 --- a/src/npctalk_funcs.cpp +++ b/src/npctalk_funcs.cpp @@ -332,14 +332,20 @@ void talk_function::goto_location( npc &p ) auto selected_camp = camps[index]; destination = selected_camp->camp_omt_pos(); } + p.goal = destination; + p.omt_path = overmap_buffer.get_npc_path( p.global_omt_location(), p.goal ); + if( destination == tripoint_zero || destination == overmap::invalid_tripoint || + p.omt_path.empty() ) { + p.goal = npc::no_goal_point; + p.omt_path.clear(); + add_msg( m_info, _( "That is not a valid destination for %s." ), p.disp_name() ); + return; + } p.set_companion_mission( p.global_omt_location(), "TRAVELLER", "travelling", destination ); p.set_mission( NPC_MISSION_TRAVELLING ); p.chatbin.first_topic = "TALK_FRIEND_GUARD"; - p.goal = destination; - p.omt_path = overmap_buffer.get_npc_path( p.global_omt_location(), p.goal ); p.guard_pos = npc::no_goal_point; p.set_attitude( NPCATT_NULL ); - return; } void talk_function::assign_guard( npc &p ) @@ -450,11 +456,12 @@ void talk_function::bionic_install( npc &p ) const itype &it = *tmp->type; signed int price = tmp->price( true ) * 2; + if( !npc_trading::pay_npc( p, price ) ) { + return; + } //Makes the doctor awesome at installing but not perfect if( g->u.can_install_bionics( it, p, false, 20 ) ) { - g->u.cash -= price; - p.cash += price; bionic.remove_item(); g->u.install_bionics( it, p, false, 20 ); } @@ -464,7 +471,7 @@ void talk_function::bionic_remove( npc &p ) { bionic_collection all_bio = *g->u.my_bionics; if( all_bio.empty() ) { - popup( _( "You don't have any bionics installed..." ) ); + popup( _( "You don't have any bionics installed…" ) ); return; } @@ -489,7 +496,7 @@ void talk_function::bionic_remove( npc &p ) bionic_names ); // Did we cancel? if( bionic_index < 0 ) { - popup( _( "You decide to hold off..." ) ); + popup( _( "You decide to hold off…" ) ); return; } @@ -499,15 +506,12 @@ void talk_function::bionic_remove( npc &p ) } else { price = 50000; } - if( price > g->u.cash ) { - popup( _( "You can't afford the procedure..." ) ); + if( !npc_trading::pay_npc( p, price ) ) { return; } //Makes the doctor awesome at installing but not perfect if( g->u.can_uninstall_bionic( bionic_id( bionic_types[bionic_index] ), p, false ) ) { - g->u.cash -= price; - p.cash += price; g->u.amount_of( bionic_types[bionic_index] ); // ??? this does nothing, it just queries the count g->u.uninstall_bionic( bionic_id( bionic_types[bionic_index] ), p, false ); } @@ -596,7 +600,7 @@ static void generic_barber( const std::string &mut_type ) } hair_menu.text = menu_text; int index = 0; - hair_menu.addentry( index, true, 'q', _( "Actually... I've changed my mind." ) ); + hair_menu.addentry( index, true, 'q', _( "Actually… I've changed my mind." ) ); std::vector hair_muts = get_mutations_in_type( mut_type ); trait_id cur_hair; for( auto elem : hair_muts ) { @@ -635,7 +639,7 @@ void talk_function::buy_haircut( npc &p ) const int moves = to_moves( 20_minutes ); g->u.assign_activity( activity_id( "ACT_WAIT_NPC" ), moves ); g->u.activity.str_values.push_back( p.name ); - add_msg( m_good, _( "%s gives you a decent haircut..." ), p.name ); + add_msg( m_good, _( "%s gives you a decent haircut…" ), p.name ); } void talk_function::buy_shave( npc &p ) @@ -644,13 +648,13 @@ void talk_function::buy_shave( npc &p ) const int moves = to_moves( 5_minutes ); g->u.assign_activity( activity_id( "ACT_WAIT_NPC" ), moves ); g->u.activity.str_values.push_back( p.name ); - add_msg( m_good, _( "%s gives you a decent shave..." ), p.name ); + add_msg( m_good, _( "%s gives you a decent shave…" ), p.name ); } void talk_function::morale_chat( npc &p ) { g->u.add_morale( MORALE_CHAT, rng( 3, 10 ), 10, 200_minutes, 5_minutes / 2 ); - add_msg( m_good, _( "That was a pleasant conversation with %s..." ), p.disp_name() ); + add_msg( m_good, _( "That was a pleasant conversation with %s…" ), p.disp_name() ); } void talk_function::morale_chat_activity( npc &p ) @@ -685,7 +689,7 @@ void talk_function::buy_10_logs( npc &p ) bay.save(); p.add_effect( effect_currently_busy, 1_days ); - add_msg( m_good, _( "%s drops the logs off in the garage..." ), p.name ); + add_msg( m_good, _( "%s drops the logs off in the garage…" ), p.name ); } void talk_function::buy_100_logs( npc &p ) @@ -711,7 +715,7 @@ void talk_function::buy_100_logs( npc &p ) bay.save(); p.add_effect( effect_currently_busy, 7_days ); - add_msg( m_good, _( "%s drops the logs off in the garage..." ), p.name ); + add_msg( m_good, _( "%s drops the logs off in the garage…" ), p.name ); } void talk_function::follow( npc &p ) @@ -791,7 +795,14 @@ void talk_function::leave( npc &p ) void talk_function::stop_following( npc &p ) { - add_msg( _( "%s leaves." ), p.name ); + // this is to tell non-allied NPCs to stop following. + // ( usually after a mission where they were temporarily tagging along ) + // so dont tell already allied NPCs to stop following. + // they use the guard command for that. + if( p.is_player_ally() ) { + return; + } + add_msg( _( "%s stops following." ), p.name ); p.set_attitude( NPCATT_NULL ); } @@ -887,14 +898,32 @@ void talk_function::start_training( npc &p ) std::string name; const skill_id &skill = p.chatbin.skill; const matype_id &style = p.chatbin.style; + const spell_id &sp_id = p.chatbin.dialogue_spell; + int expert_multiplier = 1; if( skill.is_valid() && g->u.get_skill_level( skill ) < p.get_skill_level( skill ) ) { cost = calc_skill_training_cost( p, skill ); time = calc_skill_training_time( p, skill ); name = skill.str(); - } else if( p.chatbin.style.is_valid() && !g->u.has_martialart( style ) ) { + } else if( p.chatbin.style.is_valid() && !g->u.martial_arts_data.has_martialart( style ) ) { cost = calc_ma_style_training_cost( p, style ); time = calc_ma_style_training_time( p, style ); name = p.chatbin.style.str(); + // already checked if can learn this spell in npctalk.cpp + } else if( p.chatbin.dialogue_spell.is_valid() ) { + const spell &temp_spell = p.magic.get_spell( sp_id ); + const bool knows = g->u.magic.knows_spell( sp_id ); + cost = p.calc_spell_training_cost( knows, temp_spell.get_difficulty(), temp_spell.get_level() ); + name = temp_spell.id().str(); + expert_multiplier = knows ? temp_spell.get_level() - g->u.magic.get_spell( sp_id ).get_level() : 1; + // quicker to learn with instruction as opposed to books. + // if this is a known spell, then there is a set time to gain some exp. + // if player doesnt know this spell, then the NPC will teach all of it + // which takes as long as it takes. + if( knows ) { + time = 1_hours; + } else { + time = time_duration::from_seconds( g->u.magic.time_to_learn_spell( g->u, sp_id ) / 2 ); + } } else { debugmsg( "start_training with no valid skill or style set" ); return; @@ -906,8 +935,10 @@ void talk_function::start_training( npc &p ) } else if( !npc_trading::pay_npc( p, cost ) ) { return; } - g->u.assign_activity( activity_id( "ACT_TRAIN" ), to_moves( time ), - p.getID().get_value(), 0, name ); + player_activity act = player_activity( activity_id( "ACT_TRAIN" ), to_turns( time ) * 100, + p.getID().get_value(), 0, name ); + act.values.push_back( expert_multiplier ); + g->u.assign_activity( act ); p.add_effect( effect_asked_to_train, 6_hours ); } diff --git a/src/npctrade.cpp b/src/npctrade.cpp index 1b3d37c25a11e..cbc641fce9e70 100644 --- a/src/npctrade.cpp +++ b/src/npctrade.cpp @@ -284,11 +284,11 @@ void trading_window::update_win( npc &np, const std::string &deal ) format_money( std::abs( your_balance ) ) ); } - mvwprintz( w_head, point( TERMX / 2 + ( TERMX / 2 - cost_str.length() ) / 2, 3 ), + mvwprintz( w_head, point( TERMX / 2 + ( TERMX / 2 - utf8_width( cost_str ) ) / 2, 3 ), trade_color, cost_str ); if( !deal.empty() ) { - mvwprintz( w_head, point( ( TERMX - deal.length() ) / 2, 3 ), + mvwprintz( w_head, point( ( TERMX - utf8_width( deal ) ) / 2, 3 ), trade_color_light, deal ); } draw_border( w_them, ( focus_them ? c_yellow : BORDER_COLOR ) ); @@ -349,7 +349,7 @@ void trading_window::update_win( npc &np, const std::string &deal ) std::string price_str = format_money( ip.price ); nc_color price_color = np.will_exchange_items_freely() ? c_dark_gray : ( ip.selected ? c_white : c_light_gray ); - mvwprintz( w_whose, point( win_w - price_str.length(), i - offset + 1 ), + mvwprintz( w_whose, point( win_w - utf8_width( price_str ), i - offset + 1 ), price_color, price_str ); } if( offset > 0 ) { @@ -397,8 +397,12 @@ int trading_window::get_var_trade( const item &it, int total_count ) { string_input_popup popup_input; int how_many = total_count; - const std::string title = string_format( _( "Trade how many %s [MAX: %d]: " ), - it.display_name(), total_count ); + const bool contained = it.is_container() && !it.contents.empty(); + + const std::string title = contained ? + string_format( _( "Trade how many containers with %s [MAX: %d]: " ), + it.get_contained().type_name( how_many ), total_count ) : + string_format( _( "Trade how many %s [MAX: %d]: " ), it.type_name( how_many ), total_count ); popup_input.title( title ).edit( how_many ); if( popup_input.canceled() || how_many <= 0 ) { return -1; @@ -415,7 +419,7 @@ bool trading_window::perform_trade( npc &np, const std::string &deal ) // Shopkeeps are happy to have large inventories. if( np.mission == NPC_MISSION_SHOPKEEP ) { - volume_left = 5'000'000_ml; + volume_left = 5'000_liter; weight_left = 5'000_kilogram; } @@ -542,8 +546,8 @@ bool trading_window::perform_trade( npc &np, const std::string &deal ) your_balance -= delta_price; } if( ip.loc.where() == item_location::type::character ) { - volume_left -= ip.vol * change_amount; - weight_left -= ip.weight * change_amount; + volume_left += ip.vol * change_amount; + weight_left += ip.weight * change_amount; } } ch = 0; @@ -588,8 +592,9 @@ void trading_window::update_npc_owed( npc &np ) bool npc_trading::trade( npc &np, int cost, const std::string &deal ) { np.shop_restock(); - np.drop_items( np.weight_carried() - np.weight_capacity(), - np.volume_carried() - np.volume_capacity() ); + //np.drop_items( np.weight_carried() - np.weight_capacity(), + // np.volume_carried() - np.volume_capacity() ); + np.drop_invalid_inventory(); trading_window trade_win; trade_win.setup_win( np ); diff --git a/src/options.cpp b/src/options.cpp index ae1932ae3fa6d..914aebd8c5498 100644 --- a/src/options.cpp +++ b/src/options.cpp @@ -41,6 +41,8 @@ #include #include +#define dbg(x) DebugLog((x), D_MAIN) << __FILE__ << ":" << __LINE__ << ": " + bool trigdist; bool use_tiles; bool log_from_top; @@ -701,7 +703,7 @@ void options_manager::cOpt::setNext() sSet = vItems[iNext].first; } else if( sType == "string_input" ) { - int iMenuTextLength = sMenuText.length(); + int iMenuTextLength = utf8_width( _( sMenuText ) ); string_input_popup() .width( iMaxLength > 80 ? 80 : iMaxLength < iMenuTextLength ? iMenuTextLength : iMaxLength + 1 ) .description( _( sMenuText ) ) @@ -839,23 +841,22 @@ void options_manager::cOpt::setValue( std::string sSetIn ) } /** Fill a mapping with values. - * Scans all directories in FILENAMES[dirname_label] directory for - * a file named FILENAMES[filename_label]. + * Scans all directories in @p dirname directory for + * a file named @p filename. * All found values added to resource_option as name, resource_dir. * Furthermore, it builds possible values list for cOpt class. */ static std::vector build_resource_list( std::map &resource_option, const std::string &operation_name, - const std::string &dirname_label, const std::string &filename_label ) + const std::string &dirname, const std::string &filename ) { std::vector resource_names; resource_option.clear(); - const auto resource_dirs = get_directories_with( FILENAMES[filename_label], - FILENAMES[dirname_label], true ); + const auto resource_dirs = get_directories_with( filename, dirname, true ); for( auto &resource_dir : resource_dirs ) { - read_from_file( resource_dir + "/" + FILENAMES[filename_label], [&]( std::istream & fin ) { + read_from_file( resource_dir + "/" + filename, [&]( std::istream & fin ) { std::string resource_name; std::string view_name; // should only have 2 values inside it, otherwise is going to only load the last 2 values @@ -894,16 +895,40 @@ static std::vector build_resource_list( return resource_names; } +std::vector options_manager::load_tilesets_from( + const std::string &path ) +{ + // Use local map as build_resource_list will clear the first parameter + std::map local_tilesets; + auto tileset_names = build_resource_list( local_tilesets, "tileset", path, + PATH_INFO::tileset_conf() ); + + // Copy found tilesets + TILESETS.insert( local_tilesets.begin(), local_tilesets.end() ); + + return tileset_names; +} + std::vector options_manager::build_tilesets_list() { - auto tileset_names = build_resource_list( TILESETS, "tileset", - "gfxdir", "tileset-conf" ); + // Clear tilesets + TILESETS.clear(); + std::vector result; + + // Load from data directory + auto data_tilesets = load_tilesets_from( PATH_INFO::gfxdir() ); + result.insert( result.end(), data_tilesets.begin(), data_tilesets.end() ); - if( tileset_names.empty() ) { - tileset_names.emplace_back( "hoder", to_translation( "Hoder's" ) ); - tileset_names.emplace_back( "deon", to_translation( "Deon's" ) ); + // Load from user directory + auto user_tilesets = load_tilesets_from( PATH_INFO::user_gfx() ); + result.insert( result.end(), user_tilesets.begin(), user_tilesets.end() ); + + // Default values + if( result.empty() ) { + result.emplace_back( "hoder", to_translation( "Hoder's" ) ); + result.emplace_back( "deon", to_translation( "Deon's" ) ); } - return tileset_names; + return result; } std::vector options_manager::load_soundpack_from( @@ -911,7 +936,8 @@ std::vector options_manager::load_soundpack_from { // build_resource_list will clear &resource_option - first param std::map local_soundpacks; - auto soundpack_names = build_resource_list( local_soundpacks, "soundpack", path, "soundpack-conf" ); + auto soundpack_names = build_resource_list( local_soundpacks, "soundpack", path, + PATH_INFO::soundpack_conf() ); // Copy over found soundpacks SOUNDPACKS.insert( local_soundpacks.begin(), local_soundpacks.end() ); @@ -927,11 +953,11 @@ std::vector options_manager::build_soundpacks_li std::vector result; // Search data directory for sound packs - auto data_soundpacks = load_soundpack_from( "data_sound" ); + auto data_soundpacks = load_soundpack_from( PATH_INFO::data_sound() ); result.insert( result.end(), data_soundpacks.begin(), data_soundpacks.end() ); // Search user directory for sound packs - auto user_soundpacks = load_soundpack_from( "user_sound" ); + auto user_soundpacks = load_soundpack_from( PATH_INFO::user_sound() ); result.insert( result.end(), user_soundpacks.begin(), user_soundpacks.end() ); // Select default built-in sound pack @@ -1137,7 +1163,7 @@ void options_manager::add_options_general() ); add( "AUTOSAFEMODETURNS", "general", translate_marker( "Turns to auto reactivate safe mode" ), - translate_marker( "Number of turns after which safe mode is reactivated. Will only reactivate if no hostiles are in 'Safe mode proximity distance.'" ), + translate_marker( "Number of turns after which safe mode is reactivated. Will only reactivate if no hostiles are in 'Safe mode proximity distance.'" ), 1, 600, 50 ); @@ -1203,7 +1229,7 @@ void options_manager::add_options_general() ); add( "DROP_EMPTY", "general", translate_marker( "Drop empty containers" ), - translate_marker( "Set to drop empty containers after use. No: Don't drop any. - Watertight: All except watertight containers. - All: Drop all containers." ), + translate_marker( "Set to drop empty containers after use. No: Don't drop any. - Watertight: All except watertight containers. - All: Drop all containers." ), { { "no", translate_marker( "No" ) }, { "watertight", translate_marker( "Watertight" ) }, { "all", translate_marker( "All" ) } }, "no" ); @@ -1322,8 +1348,8 @@ void options_manager::add_options_interface() false ); - add( "QUERY_DISASSEMBLE", "interface", translate_marker( "Query on disassembly" ), - translate_marker( "If true, will query before disassembling items." ), + add( "QUERY_DISASSEMBLE", "interface", translate_marker( "Query on disassembly while butchering" ), + translate_marker( "If true, will query before disassembling items while butchering." ), true ); @@ -1466,6 +1492,11 @@ void options_manager::add_options_interface() "Vertical" ); + add( "AIM_WIDTH", "interface", translate_marker( "Full screen Advanced Inventory Manager" ), + translate_marker( "If true, Advanced Inventory Manager menu will fit full screen, otherwise it will leave sidebar visible." ), + false + ); + mOptionsSort["interface"]++; add( "MOVE_VIEW_OFFSET", "interface", translate_marker( "Move view offset" ), @@ -1490,8 +1521,8 @@ void options_manager::add_options_interface() ); add( "AUTO_INV_ASSIGN", "interface", translate_marker( "Auto inventory letters" ), - translate_marker( "Enabled: automatically assign letters to any carried items that lack them. Disabled: do not auto-assign letters." - " Favorites: only auto-assign letters to favorited items." ), { + translate_marker( "Enabled: automatically assign letters to any carried items that lack them. Disabled: do not auto-assign letters. " + "Favorites: only auto-assign letters to favorited items." ), { { "disabled", translate_marker( "Disabled" ) }, { "enabled", translate_marker( "Enabled" ) }, { "favorites", translate_marker( "Favorites" ) } @@ -1499,6 +1530,7 @@ void options_manager::add_options_interface() "favorites" ); add( "ITEM_HEALTH_BAR", "interface", translate_marker( "Show item health bars" ), + // NOLINTNEXTLINE(cata-text-style): one space after "etc." translate_marker( "If true, show item health bars instead of reinforced, scratched etc. text." ), true ); @@ -1803,7 +1835,7 @@ void options_manager::add_options_graphics() #if !defined(__ANDROID__) add( "SCALING_FACTOR", "graphics", translate_marker( "Scaling factor" ), - translate_marker( "Factor by which to scale the display. Requires restart." ), { + translate_marker( "Factor by which to scale the display. Requires restart." ), { { "1", translate_marker( "1x" ) }, { "2", translate_marker( "2x" )}, { "4", translate_marker( "4x" )} @@ -1968,12 +2000,12 @@ void options_manager::add_options_world_default() ); add( "INITIAL_DAY", "world_default", translate_marker( "Initial day" ), - translate_marker( "How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can be overridden by scenarios. This does not advance food rot or monster evolution." ), - 0, 999, 30 + translate_marker( "How many days into the year the cataclysm occurred. Day 0 is Spring 1. Can be overridden by scenarios. This does not advance food rot or monster evolution." ), + 0, 999, 60 ); add( "SPAWN_DELAY", "world_default", translate_marker( "Spawn delay" ), - translate_marker( "How many days after the cataclysm the player spawns. Day 0 is the day of the cataclysm. Can be overridden by scenarios. Increasing this will cause food rot and monster evolution to advance." ), + translate_marker( "How many days after the cataclysm the player spawns. Day 0 is the day of the cataclysm. Can be overridden by scenarios. Increasing this will cause food rot and monster evolution to advance." ), 0, 9999, 0 ); @@ -2007,7 +2039,7 @@ void options_manager::add_options_world_default() mOptionsSort["world_default"]++; add( "STATIC_NPC", "world_default", translate_marker( "Static NPCs" ), - translate_marker( "If true, static NPCs will spawn at pre-defined locations. Requires world reset." ), + translate_marker( "If true, static NPCs will spawn at pre-defined locations. Requires world reset." ), true ); @@ -2374,26 +2406,23 @@ std::string options_manager::show( bool ingame, const bool world_options_only ) } const int iWorldOffset = world_options_only ? 2 : 0; - + const int iMinScreenWidth = std::max( FULL_SCREEN_WIDTH, TERMX / 2 ); + const int iOffsetX = TERMX > FULL_SCREEN_WIDTH ? ( TERMX - iMinScreenWidth ) / 2 : 0; const int iTooltipHeight = 4; - const int iContentHeight = FULL_SCREEN_HEIGHT - 3 - iTooltipHeight - iWorldOffset; - - const int iOffsetX = TERMX > FULL_SCREEN_WIDTH ? ( TERMX - FULL_SCREEN_WIDTH ) / 2 : 0; - const int iOffsetY = ( TERMY > FULL_SCREEN_HEIGHT ? ( TERMY - FULL_SCREEN_HEIGHT ) / 2 : 0 ) + - iWorldOffset; + const int iContentHeight = TERMY - 3 - iTooltipHeight - iWorldOffset; std::map mapLines; mapLines[4] = true; mapLines[60] = true; - catacurses::window w_options_border = catacurses::newwin( FULL_SCREEN_HEIGHT, FULL_SCREEN_WIDTH, - point( iOffsetX, iOffsetY - iWorldOffset ) ); - catacurses::window w_options_tooltip = catacurses::newwin( iTooltipHeight, FULL_SCREEN_WIDTH - 2, - point( 1 + iOffsetX, 1 + iOffsetY ) ); - catacurses::window w_options_header = catacurses::newwin( 1, FULL_SCREEN_WIDTH - 2, - point( 1 + iOffsetX, 1 + iTooltipHeight + iOffsetY ) ); - catacurses::window w_options = catacurses::newwin( iContentHeight, FULL_SCREEN_WIDTH - 2, - point( 1 + iOffsetX, iTooltipHeight + 2 + iOffsetY ) ); + catacurses::window w_options_border = catacurses::newwin( TERMY, iMinScreenWidth, + point( iOffsetX, 0 ) ); + catacurses::window w_options_tooltip = catacurses::newwin( iTooltipHeight, iMinScreenWidth - 2, + point( 1 + iOffsetX, 1 + iWorldOffset ) ); + catacurses::window w_options_header = catacurses::newwin( 1, iMinScreenWidth - 2, + point( 1 + iOffsetX, 1 + iTooltipHeight + iWorldOffset ) ); + catacurses::window w_options = catacurses::newwin( iContentHeight, iMinScreenWidth - 2, + point( 1 + iOffsetX, iTooltipHeight + 2 + iWorldOffset ) ); if( world_options_only ) { worldfactory::draw_worldgen_tabs( w_options_border, 1 ); @@ -2422,7 +2451,7 @@ std::string options_manager::show( bool ingame, const bool world_options_only ) //Clear the lines for( int i = 0; i < iContentHeight; i++ ) { - for( int j = 0; j < 79; j++ ) { + for( int j = 0; j < iMinScreenWidth - 2; j++ ) { if( mapLines[j] ) { mvwputch( w_options, point( j, i ), BORDER_COLOR, LINE_XOXO ); } else { @@ -2518,7 +2547,7 @@ std::string options_manager::show( bool ingame, const bool world_options_only ) value_conversion >> new_terminal_x; new_window_width = projected_window_width(); - fold_and_print( w_options_tooltip, point_zero, 78, c_white, + fold_and_print( w_options_tooltip, point_zero, iMinScreenWidth - 2, c_white, ngettext( "%s #%s -- The window will be %d pixel wide with the selected value.", "%s #%s -- The window will be %d pixels wide with the selected value.", new_window_width ), @@ -2534,7 +2563,7 @@ std::string options_manager::show( bool ingame, const bool world_options_only ) value_conversion >> new_terminal_y; new_window_height = projected_window_height(); - fold_and_print( w_options_tooltip, point_zero, 78, c_white, + fold_and_print( w_options_tooltip, point_zero, iMinScreenWidth - 2, c_white, ngettext( "%s #%s -- The window will be %d pixel tall with the selected value.", "%s #%s -- The window will be %d pixels tall with the selected value.", new_window_height ), @@ -2544,7 +2573,7 @@ std::string options_manager::show( bool ingame, const bool world_options_only ) } else #endif { - fold_and_print( w_options_tooltip, point_zero, 78, c_white, "%s #%s", + fold_and_print( w_options_tooltip, point_zero, iMinScreenWidth - 2, c_white, "%s #%s", OPTIONS[mPageItems[iCurrentPage][iCurrentLine]].getTooltip(), OPTIONS[mPageItems[iCurrentPage][iCurrentLine]].getDefaultText() ); } @@ -2564,6 +2593,9 @@ std::string options_manager::show( bool ingame, const bool world_options_only ) const std::string action = ctxt.handle_input(); if( world_options_only && ( action == "NEXT_TAB" || action == "PREV_TAB" || action == "QUIT" ) ) { +#if defined(TILES) || defined(_WIN32) + handle_redraw(); +#endif return action; } @@ -2651,6 +2683,9 @@ std::string options_manager::show( bool ingame, const bool world_options_only ) // keybinding screen erased the internal borders of main menu, restore it: draw_borders_internal( w_options_header, mapLines ); } else if( action == "QUIT" ) { +#if defined(TILES) || defined(_WIN32) + handle_redraw(); +#endif break; } } @@ -2783,6 +2818,11 @@ void options_manager::deserialize( JsonIn &jsin ) const std::string value = migrateOptionValue( joOptions.get_string( "name" ), joOptions.get_string( "value" ) ); + // Verify format of options file + if( !joOptions.has_string( "info" ) || !joOptions.has_string( "default" ) ) { + dbg( D_ERROR ) << "options object " << name << " was missing info or default"; + } + add_retry( name, value ); options[ name ].setValue( value ); } @@ -2808,7 +2848,7 @@ std::string options_manager::migrateOptionValue( const std::string &name, bool options_manager::save() { - const auto savefile = FILENAMES["options"]; + const auto savefile = PATH_INFO::options(); // cache to global due to heavy usage. trigdist = ::get_option( "CIRCLEDIST" ); @@ -2829,14 +2869,14 @@ bool options_manager::save() void options_manager::load() { - const auto file = FILENAMES["options"]; + const auto file = PATH_INFO::options(); if( !read_from_file_optional_json( file, [&]( JsonIn & jsin ) { deserialize( jsin ); } ) ) { if( load_legacy() ) { if( save() ) { - remove_file( FILENAMES["legacy_options"] ); - remove_file( FILENAMES["legacy_options2"] ); + remove_file( PATH_INFO::legacy_options() ); + remove_file( PATH_INFO::legacy_options2() ); } } } @@ -2877,8 +2917,8 @@ bool options_manager::load_legacy() } }; - return read_from_file_optional( FILENAMES["legacy_options"], reader ) || - read_from_file_optional( FILENAMES["legacy_options2"], reader ); + return read_from_file_optional( PATH_INFO::legacy_options(), reader ) || + read_from_file_optional( PATH_INFO::legacy_options2(), reader ); } bool options_manager::has_option( const std::string &name ) const diff --git a/src/options.h b/src/options.h index 1a3abd93587bd..cb7e2bfe7e9e9 100644 --- a/src/options.h +++ b/src/options.h @@ -31,6 +31,8 @@ class options_manager private: static std::vector build_tilesets_list(); static std::vector build_soundpacks_list(); + static std::vector load_tilesets_from( + const std::string &path ); static std::vector load_soundpack_from( const std::string &path ); diff --git a/src/output.cpp b/src/output.cpp index 15fec9bc89a80..47dca17830fe2 100644 --- a/src/output.cpp +++ b/src/output.cpp @@ -355,7 +355,7 @@ void multipage( const catacurses::window &w, const std::vector &tex ( text.size() ) ? 1 : 0 ) ) { // Next page i--; - center_print( w, height - 1, c_light_gray, _( "Press any key for more..." ) ); + center_print( w, height - 1, c_light_gray, _( "Press any key for more…" ) ); wrefresh( w ); catacurses::refresh(); inp_mngr.wait_for_any_key(); @@ -640,11 +640,7 @@ void popup_status( const char *const title, const std::string &mes ) // well frack, half the game uses it so: optional (int)selected argument causes entry highlight, and enter to return entry's key. Also it now returns int //@param without_getch don't wait getch, return = (int)' '; input_event draw_item_info( const int iLeft, const int iWidth, const int iTop, const int iHeight, - const std::string &sItemName, const std::string &sTypeName, - const std::vector &vItemDisplay, const std::vector &vItemCompare, - int &selected, const bool without_getch, const bool without_border, - const bool handle_scrolling, const bool scrollbar_left, const bool use_full_win, - const unsigned int padding ) + item_info_data &data ) { catacurses::window win = catacurses::newwin( iHeight, iWidth, @@ -656,9 +652,7 @@ input_event draw_item_info( const int iLeft, const int iWidth, const int iTop, c wclear( win ); wrefresh( win ); - const auto result = draw_item_info( - win, sItemName, sTypeName, vItemDisplay, vItemCompare, selected, without_getch, - without_border, handle_scrolling, scrollbar_left, use_full_win, padding ); + const input_event result = draw_item_info( win, data ); return result; } @@ -666,7 +660,7 @@ std::string string_replace( std::string text, const std::string &before, const s { // Check if there's something to replace (mandatory) and it's necessary (optional) // Second condition assumes that text is much longer than both &before and &after. - if( before.length() == 0 || before == after ) { + if( before.empty() || before == after ) { return text; } @@ -723,10 +717,11 @@ void draw_item_filter_rules( const catacurses::window &win, int starty, int heig starty += 1 + fold_and_print( win, point( 1, starty ), len, c_white, intros[tab_idx] ); starty += fold_and_print( win, point( 1, starty ), len, c_white, + // NOLINTNEXTLINE(cata-text-style): literal comma _( "Separate multiple items with ," ) ); starty += 1 + fold_and_print( win, point( 1, starty ), len, c_white, //~ An example of how to separate multiple items with a comma when filtering items. - _( "Example: back,flash,aid, ,band" ) ); + _( "Example: back,flash,aid, ,band" ) ); // NOLINT(cata-text-style): literal comma if( type == item_filter_type::FILTER ) { starty += fold_and_print( win, point( 1, starty ), len, c_white, @@ -818,31 +813,25 @@ std::string format_item_info( const std::vector &vItemDisplay, return buffer; } -input_event draw_item_info( const catacurses::window &win, const std::string &sItemName, - const std::string &sTypeName, - const std::vector &vItemDisplay, - const std::vector &vItemCompare, - int &selected, const bool without_getch, const bool without_border, - const bool handle_scrolling, const bool scrollbar_left, const bool use_full_win, - const unsigned int padding ) +input_event draw_item_info( const catacurses::window &win, item_info_data &data ) { std::string buffer; - int line_num = use_full_win || without_border ? 0 : 1; - if( !sItemName.empty() ) { - buffer += sItemName + "\n"; + int line_num = data.use_full_win || data.without_border ? 0 : 1; + if( !data.get_item_name().empty() ) { + buffer += data.get_item_name() + "\n"; } - if( sItemName != sTypeName && !sTypeName.empty() ) { - buffer += sTypeName + "\n"; + if( data.get_item_name() != data.get_type_name() && !data.get_type_name().empty() ) { + buffer += data.get_type_name() + "\n"; } - for( unsigned int i = 0; i < padding; i++ ) { + for( unsigned int i = 0; i < data.padding; i++ ) { buffer += "\n"; } - buffer += format_item_info( vItemDisplay, vItemCompare ); + buffer += format_item_info( data.get_item_display(), data.get_item_compare() ); - const auto b = use_full_win ? 0 : ( without_border ? 1 : 2 ); - const auto width = getmaxx( win ) - ( use_full_win ? 1 : b * 2 ); - const auto height = getmaxy( win ) - ( use_full_win ? 0 : 2 ); + const int b = data.use_full_win ? 0 : ( data.without_border ? 1 : 2 ); + const int width = getmaxx( win ) - ( data.use_full_win ? 1 : b * 2 ); + const int height = getmaxy( win ) - ( data.use_full_win ? 0 : 2 ); input_event result; while( true ) { @@ -851,42 +840,43 @@ input_event draw_item_info( const catacurses::window &win, const std::string &sI const auto vFolded = foldstring( buffer, width - 1 ); iLines = vFolded.size(); - if( selected < 0 ) { - selected = 0; + if( data.selected < 0 ) { + data.selected = 0; } else if( iLines < height ) { - selected = 0; - } else if( selected >= iLines - height ) { - selected = iLines - height; + data.selected = 0; + } else if( data.selected >= iLines - height ) { + data.selected = iLines - height; } - fold_and_print_from( win, point( b, line_num ), width - 1, selected, c_light_gray, buffer ); + fold_and_print_from( win, point( b, line_num ), width - 1, data.selected, c_light_gray, buffer ); - draw_scrollbar( win, selected, height, iLines, point( scrollbar_left ? 0 : getmaxx( win ) - 1, - ( without_border && use_full_win ? 0 : 1 ) ), BORDER_COLOR, true ); + draw_scrollbar( win, data.selected, height, iLines, + point( data.scrollbar_left ? 0 : getmaxx( win ) - 1, + ( data.without_border && data.use_full_win ? 0 : 1 ) ), BORDER_COLOR, true ); } - if( !without_border ) { + if( !data.without_border ) { draw_custom_border( win, buffer.empty() ); wrefresh( win ); } - if( without_getch ) { + if( data.without_getch ) { break; } // TODO: use input context result = inp_mngr.get_input_event(); const int ch = static_cast( result.get_first_input() ); - if( handle_scrolling && ch == KEY_PPAGE ) { - selected--; + if( data.handle_scrolling && ch == KEY_PPAGE ) { + data.selected--; werase( win ); - } else if( handle_scrolling && ch == KEY_NPAGE ) { - selected++; + } else if( data.handle_scrolling && ch == KEY_NPAGE ) { + data.selected++; werase( win ); - } else if( selected > 0 && ( ch == '\n' || ch == KEY_RIGHT ) ) { + } else if( data.selected > 0 && ( ch == '\n' || ch == KEY_RIGHT ) ) { result = input_event( static_cast( '\n' ), CATA_INPUT_KEYBOARD ); break; - } else if( selected == KEY_LEFT ) { + } else if( data.selected == KEY_LEFT ) { result = input_event( static_cast( ' ' ), CATA_INPUT_KEYBOARD ); break; } else { @@ -1618,7 +1608,7 @@ void replace_substring( std::string &input, const std::string &substring, std::string &capitalize_letter( std::string &str, size_t n ) { char c = str[n]; - if( str.length() > 0 && c >= 'a' && c <= 'z' ) { + if( !str.empty() && c >= 'a' && c <= 'z' ) { c += 'A' - 'a'; str[n] = c; } @@ -1955,11 +1945,11 @@ int scrollingcombattext::cSCT::getPosX() const } //Center text - iDirOffset -= ( getText().length() / 2 ); + iDirOffset -= utf8_width( getText() ) / 2; } else if( oDir == oLeft || oDir == oDownLeft || oDir == oUpLeft ) { //Right align text - iDirOffset -= getText().length() - 1; + iDirOffset -= utf8_width( getText() ) - 1; } return pos.x + iDirOffset + ( dir.x * ( ( sType == "hp" ) ? ( getStepOffset() + 1 ) : @@ -1981,11 +1971,11 @@ int scrollingcombattext::cSCT::getPosY() const if( oDir == oUp || oDir == oDown ) { //Center text - iDirOffset -= ( getText().length() / 2 ); + iDirOffset -= utf8_width( getText() ) / 2; } else if( oDir == oLeft || oDir == oDownLeft || oDir == oUpLeft ) { //Right align text - iDirOffset -= getText().length() - 1; + iDirOffset -= utf8_width( getText() ) - 1; } } @@ -2133,7 +2123,7 @@ std::vector string_split( const std::string &text_in, char delim_in elems.push_back( item ); } - if( text_in[text_in.length() - 1] == delim_in ) { + if( text_in.back() == delim_in ) { elems.push_back( "" ); } diff --git a/src/output.h b/src/output.h index 45630c3a13c6f..b505296cfa421 100644 --- a/src/output.h +++ b/src/output.h @@ -469,19 +469,48 @@ inline void popup_player_or_npc( player &p, const char *player_mes, const char * std::string format_item_info( const std::vector &vItemDisplay, const std::vector &vItemCompare ); -input_event draw_item_info( const catacurses::window &win, const std::string &sItemName, - const std::string &sTypeName, - const std::vector &vItemDisplay, const std::vector &vItemCompare, - int &selected, bool without_getch = false, bool without_border = false, - bool handle_scrolling = false, bool scrollbar_left = true, - bool use_full_win = false, unsigned int padding = 1 ); - -input_event draw_item_info( int iLeft, int iWidth, int iTop, int iHeight, - const std::string &sItemName, const std::string &sTypeName, - const std::vector &vItemDisplay, const std::vector &vItemCompare, - int &selected, bool without_getch = false, bool without_border = false, - bool handle_scrolling = false, bool scrollbar_left = true, - bool use_full_win = false, unsigned int padding = 1 ); +// the extra data that item_info needs to draw +struct item_info_data { + private: + std::string sItemName; + std::string sTypeName; + std::vector vItemDisplay; + std::vector vItemCompare; + public: + + item_info_data() = default; + item_info_data( const std::string &sItemName, const std::string &sTypeName, + const std::vector &vItemDisplay, const std::vector &vItemCompare, + const int selected = 0 ) + : sItemName( sItemName ), sTypeName( sTypeName ), + vItemDisplay( vItemDisplay ), vItemCompare( vItemCompare ), + selected( selected ) {} + + const std::string &get_item_name() const { + return sItemName; + } + const std::string &get_type_name() const { + return sTypeName; + } + const std::vector &get_item_display() const { + return vItemDisplay; + } + const std::vector &get_item_compare() const { + return vItemCompare; + } + + int selected = 0; + bool without_getch = false; + bool without_border = false; + bool handle_scrolling = false; + bool scrollbar_left = true; + bool use_full_win = false; + unsigned int padding = 1; +}; + +input_event draw_item_info( const catacurses::window &win, item_info_data &data ); + +input_event draw_item_info( int iLeft, int iWidth, int iTop, int iHeight, item_info_data &data ); enum class item_filter_type : int { FIRST = 1, // used for indexing into tables diff --git a/src/overmap.cpp b/src/overmap.cpp index a247fcc74d195..907764215d081 100644 --- a/src/overmap.cpp +++ b/src/overmap.cpp @@ -182,43 +182,6 @@ generic_factory specials( "overmap special" ); } // namespace -static const std::map oter_flags_map = { - { "KNOWN_DOWN", known_down }, - { "KNOWN_UP", known_up }, - { "RIVER", river_tile }, - { "SIDEWALK", has_sidewalk }, - { "NO_ROTATE", no_rotate }, - { "LINEAR", line_drawing }, - { "SUBWAY", subway_connection }, - { "LAKE", lake }, - { "LAKE_SHORE", lake_shore }, - { "GENERIC_LOOT", generic_loot }, - { "RISK_HIGH", risk_high }, - { "RISK_LOW", risk_low }, - { "SOURCE_AMMO", source_ammo }, - { "SOURCE_ANIMALS", source_animals }, - { "SOURCE_BOOKS", source_books }, - { "SOURCE_CHEMISTRY", source_chemistry }, - { "SOURCE_CLOTHING", source_clothing }, - { "SOURCE_CONSTRUCTION", source_construction }, - { "SOURCE_COOKING", source_cooking }, - { "SOURCE_DRINK", source_drink }, - { "SOURCE_ELECTRONICS", source_electronics }, - { "SOURCE_FABRICATION", source_fabrication }, - { "SOURCE_FARMING", source_farming }, - { "SOURCE_FOOD", source_food }, - { "SOURCE_FORAGE", source_forage }, - { "SOURCE_FUEL", source_fuel }, - { "SOURCE_GUN", source_gun }, - { "SOURCE_LUXURY", source_luxury }, - { "SOURCE_MEDICINE", source_medicine }, - { "SOURCE_PEOPLE", source_people }, - { "SOURCE_SAFETY", source_safety }, - { "SOURCE_TAILORING", source_tailoring }, - { "SOURCE_VEHICLES", source_vehicles }, - { "SOURCE_WEAPON", source_weapon } -}; - template<> const overmap_land_use_code &overmap_land_use_code_id::obj() const { @@ -789,8 +752,6 @@ bool oter_t::is_hardcoded() const "lab_stairs", "lab_finale", "looted_building", // pseudo-terrain - "megastore", - "megastore_entrance", "mine", "mine_down", "mine_entrance", @@ -842,7 +803,7 @@ void overmap_terrains::check_consistency() if( exists_loaded ) { if( test_mode && exists_hardcoded ) { - debugmsg( "Mapgen terrain \"%s\" exists in both JSON and a hardcoded function. Consider removing the latter.", + debugmsg( "Mapgen terrain \"%s\" exists in both JSON and a hardcoded function. Consider removing the latter.", mid.c_str() ); } } else if( !exists_hardcoded ) { @@ -860,8 +821,8 @@ void overmap_terrains::finalize() } if( region_settings_map.find( "default" ) == region_settings_map.end() ) { - debugmsg( "ERROR: can't find default overmap settings (region_map_settings 'default')," - " cataclysm pending. And not the fun kind." ); + debugmsg( "ERROR: can't find default overmap settings (region_map_settings 'default'), " + "cataclysm pending. And not the fun kind." ); } for( auto &elem : region_settings_map ) { @@ -1459,7 +1420,7 @@ void overmap::generate( const overmap *north, const overmap *east, const overmap *south, const overmap *west, overmap_special_batch &enabled_specials ) { - dbg( D_INFO ) << "overmap::generate start..."; + dbg( D_INFO ) << "overmap::generate start…"; populate_connections_out_from_neighbors( north, east, south, west ); @@ -1601,14 +1562,6 @@ bool overmap::generate_sub( const int z ) } ter_set( p, oter_id( "spiral_hub" ) ); add_mon_group( mongroup( mongroup_id( "GROUP_SPIRAL" ), tripoint( i * 2, j * 2, z ), 2, 200 ) ); - } else if( oter_above == "silo" ) { - // NOLINTNEXTLINE(misc-redundant-expression) - if( rng( 2, 7 ) < abs( z ) || rng( 2, 7 ) < abs( z ) ) { - ter_set( p, oter_id( "silo_finale" ) ); - } else { - ter_set( p, oter_id( "silo" ) ); - requires_sub = true; - } } } } diff --git a/src/overmap.h b/src/overmap.h index eb9c413c689b8..d77e5bb4c52ff 100644 --- a/src/overmap.h +++ b/src/overmap.h @@ -152,6 +152,43 @@ class overmap_special_batch point origin_overmap; }; +static const std::map oter_flags_map = { + { "KNOWN_DOWN", known_down }, + { "KNOWN_UP", known_up }, + { "RIVER", river_tile }, + { "SIDEWALK", has_sidewalk }, + { "NO_ROTATE", no_rotate }, + { "LINEAR", line_drawing }, + { "SUBWAY", subway_connection }, + { "LAKE", lake }, + { "LAKE_SHORE", lake_shore }, + { "GENERIC_LOOT", generic_loot }, + { "RISK_HIGH", risk_high }, + { "RISK_LOW", risk_low }, + { "SOURCE_AMMO", source_ammo }, + { "SOURCE_ANIMALS", source_animals }, + { "SOURCE_BOOKS", source_books }, + { "SOURCE_CHEMISTRY", source_chemistry }, + { "SOURCE_CLOTHING", source_clothing }, + { "SOURCE_CONSTRUCTION", source_construction }, + { "SOURCE_COOKING", source_cooking }, + { "SOURCE_DRINK", source_drink }, + { "SOURCE_ELECTRONICS", source_electronics }, + { "SOURCE_FABRICATION", source_fabrication }, + { "SOURCE_FARMING", source_farming }, + { "SOURCE_FOOD", source_food }, + { "SOURCE_FORAGE", source_forage }, + { "SOURCE_FUEL", source_fuel }, + { "SOURCE_GUN", source_gun }, + { "SOURCE_LUXURY", source_luxury }, + { "SOURCE_MEDICINE", source_medicine }, + { "SOURCE_PEOPLE", source_people }, + { "SOURCE_SAFETY", source_safety }, + { "SOURCE_TAILORING", source_tailoring }, + { "SOURCE_VEHICLES", source_vehicles }, + { "SOURCE_WEAPON", source_weapon } +}; + class overmap { public: diff --git a/src/overmap_location.cpp b/src/overmap_location.cpp index 9ca36d2b025f1..a9d9c5ed0caae 100644 --- a/src/overmap_location.cpp +++ b/src/overmap_location.cpp @@ -5,6 +5,7 @@ #include "generic_factory.h" #include "omdata.h" +#include "overmap.h" #include "rng.h" #include "debug.h" #include "json.h" @@ -43,11 +44,20 @@ oter_type_id overmap_location::get_random_terrain() const void overmap_location::load( JsonObject &jo, const std::string & ) { - mandatory( jo, was_loaded, "terrains", terrains ); + optional( jo, was_loaded, "flags", flags ); + optional( jo, was_loaded, "terrains", terrains ); + if( flags.empty() && terrains.empty() ) { + jo.throw_error( "At least one flag or terrain must be specified." ); + } +} - if( terrains.empty() ) { - jo.throw_error( "At least one terrain must be specified." ); +std::vector overmap_location::get_all_terrains() const +{ + std::vector ret; + for( oter_type_str_id elem : terrains ) { + ret.push_back( elem ); } + return ret; } void overmap_location::check() const @@ -59,6 +69,22 @@ void overmap_location::check() const } } +void overmap_location::finalize() +{ + for( const std::string &elem : flags ) { + auto it = oter_flags_map.find( elem ); + if( it == oter_flags_map.end() ) { + continue; + } + oter_flags check_flag = it->second; + for( const oter_t &ter_elem : overmap_terrains::get_all() ) { + if( ter_elem.has_flag( check_flag ) ) { + terrains.push_back( ter_elem.get_type_id() ); + } + } + } +} + void overmap_locations::load( JsonObject &jo, const std::string &src ) { locations.load( jo, src ); @@ -73,3 +99,11 @@ void overmap_locations::reset() { locations.reset(); } + +void overmap_locations::finalize() +{ + locations.finalize(); + for( const overmap_location &elem : locations.get_all() ) { + const_cast( elem ).finalize(); // This cast is ugly, but safe. + } +} diff --git a/src/overmap_location.h b/src/overmap_location.h index 428f9659b5ae7..d5e650daec8b8 100644 --- a/src/overmap_location.h +++ b/src/overmap_location.h @@ -19,10 +19,11 @@ struct overmap_location { public: void load( JsonObject &jo, const std::string &src ); void check() const; + void finalize(); // Test if oter meets the terrain restrictions. bool test( const int_id &oter ) const; - + std::vector get_all_terrains() const; oter_type_id get_random_terrain() const; public: @@ -32,6 +33,7 @@ struct overmap_location { private: std::vector terrains; + std::vector flags; }; namespace overmap_locations @@ -40,6 +42,7 @@ namespace overmap_locations void load( JsonObject &jo, const std::string &src ); void check_consistency(); void reset(); +void finalize(); } // namespace overmap_locations diff --git a/src/overmap_ui.cpp b/src/overmap_ui.cpp index f84844c2451ef..17c82e3b852ff 100644 --- a/src/overmap_ui.cpp +++ b/src/overmap_ui.cpp @@ -163,11 +163,12 @@ static void update_note_preview( const std::string ¬e, werase( *w_preview_title ); nc_color default_color = c_unset; print_colored_text( *w_preview_title, point_zero, default_color, note_color, note_text ); - mvwputch( *w_preview_title, point( note_text.length(), 0 ), c_white, LINE_XOXO ); - for( size_t i = 0; i < note_text.length(); i++ ) { + int note_text_width = utf8_width( note_text ); + mvwputch( *w_preview_title, point( note_text_width, 0 ), c_white, LINE_XOXO ); + for( int i = 0; i < note_text_width; i++ ) { mvwputch( *w_preview_title, point( i, 1 ), c_white, LINE_OXOX ); } - mvwputch( *w_preview_title, point( note_text.length(), 1 ), c_white, LINE_XOOX ); + mvwputch( *w_preview_title, point( note_text_width, 1 ), c_white, LINE_XOOX ); wrefresh( *w_preview_title ); const int npm_offset_x = 1; @@ -697,9 +698,7 @@ void draw( const catacurses::window &w, const catacurses::window &wbar, const tr // Convert to position within overmap point omp_in_om( omp.xy() ); omt_to_om_remain( omp_in_om ); - point group_target = sm_to_omt_copy( mgroup->target.xy() ); - - if( mgroup && group_target == omp_in_om ) { + if( mgroup && sm_to_omt_copy( mgroup->target.xy() ) == omp_in_om ) { ter_color = c_red; ter_sym = "x"; } else { @@ -1025,6 +1024,7 @@ void create_note( const tripoint &curs ) std::string helper_text = string_format( ".\n\n%s\n%s\n%s\n", _( "Type GLYPH:TEXT to set a custom glyph." ), _( "Type COLOR;TEXT to set a custom color." ), + // NOLINTNEXTLINE(cata-text-style): literal exclaimation mark _( "Examples: B:Base | g;Loot | !:R;Minefield" ) ); color_notes = color_notes.replace( color_notes.end() - 2, color_notes.end(), helper_text ); std::string title = _( "Note:" ); @@ -1091,6 +1091,7 @@ static bool search( tripoint &curs, const tripoint &orig, const bool show_explor { std::string term = string_input_popup() .title( _( "Search term:" ) ) + // NOLINTNEXTLINE(cata-text-style): literal comma .description( _( "Multiple entries separated with , Excludes starting with -" ) ) .query_string(); if( term.empty() ) { @@ -1155,7 +1156,7 @@ static bool search( tripoint &curs, const tripoint &orig, const bool show_explor //Draw search box // NOLINTNEXTLINE(cata-use-named-point-constants) mvwprintz( w_search, point( 1, 1 ), c_light_blue, _( "Search:" ) ); - mvwprintz( w_search, point( 10, 1 ), c_light_red, "%*s", 12, term ); + mvwprintz( w_search, point( 10, 1 ), c_light_red, "%s", right_justify( term, 12 ) ); mvwprintz( w_search, point( 1, 2 ), c_light_blue, _( "Result(s):" ) ); mvwprintz( w_search, point( 16, 2 ), c_light_red, "%*d/%d", 3, i + 1, locations.size() ); @@ -1261,6 +1262,7 @@ static void place_ter_or_special( tripoint &curs, const tripoint &orig, const bo can_rotate ? "" : _( "(fixed)" ) ); mvwprintz( w_editor, point( 1, 5 ), c_red, _( "Areas highlighted in red" ) ); mvwprintz( w_editor, point( 1, 6 ), c_red, _( "already have map content" ) ); + // NOLINTNEXTLINE(cata-text-style): single space after period for compactness mvwprintz( w_editor, point( 1, 7 ), c_red, _( "generated. Their overmap" ) ); mvwprintz( w_editor, point( 1, 8 ), c_red, _( "id will change, but not" ) ); mvwprintz( w_editor, point( 1, 9 ), c_red, _( "their contents." ) ); diff --git a/src/overmapbuffer.cpp b/src/overmapbuffer.cpp index 4d14fb3361692..6bb7dcca90fe5 100644 --- a/src/overmapbuffer.cpp +++ b/src/overmapbuffer.cpp @@ -693,7 +693,8 @@ std::vector overmapbuffer::get_npc_path( const tripoint &src, const tr const oter_id oter = get_ter_at( cur.pos ); int travel_cost = static_cast( oter->get_travel_cost() ); if( road_only && ( !is_ot_match( "road", oter, ot_match_type::type ) && - !is_ot_match( "bridge", oter, ot_match_type::type ) ) ) { + !is_ot_match( "bridge", oter, ot_match_type::type ) && + !is_ot_match( "road_nesw_manhole", oter, ot_match_type::type ) ) ) { return pf::rejected; } if( is_ot_match( "empty_rock", oter, ot_match_type::type ) || @@ -704,7 +705,8 @@ std::vector overmapbuffer::get_npc_path( const tripoint &src, const tr } else if( is_ot_match( "forest_water", oter, ot_match_type::type ) ) { travel_cost = 15; } else if( is_ot_match( "road", oter, ot_match_type::type ) || - is_ot_match( "bridge", oter, ot_match_type::type ) ) { + is_ot_match( "bridge", oter, ot_match_type::type ) || + is_ot_match( "road_nesw_manhole", oter, ot_match_type::type ) ) { travel_cost = 1; } else if( is_river( oter ) ) { travel_cost = 20; @@ -822,10 +824,14 @@ static omt_find_params assign_params( const cata::optional &om_special ) { omt_find_params params; - params.type = type; + std::vector> temp_types; + std::pair temp_pair; + temp_pair.first = type; + temp_pair.second = match_type; + temp_types.push_back( temp_pair ); + params.types = temp_types; params.search_range = radius; params.must_see = must_be_seen; - params.match_type = match_type; params.existing_only = existing_overmaps_only; params.om_special = om_special; return params; @@ -835,9 +841,19 @@ bool overmapbuffer::is_findable_location( const tripoint &location, const omt_fi { bool type_matches = false; if( params.existing_only ) { - type_matches = check_ot_existing( params.type, params.match_type, location ); + for( const std::pair &elem : params.types ) { + type_matches = check_ot_existing( elem.first, elem.second, location ); + if( type_matches ) { + break; + } + } } else { - type_matches = check_ot( params.type, params.match_type, location ); + for( const std::pair &elem : params.types ) { + type_matches = check_ot( elem.first, elem.second, location ); + if( type_matches ) { + break; + } + } } if( !type_matches ) { return false; @@ -875,6 +891,7 @@ tripoint overmapbuffer::find_closest( const tripoint &origin, const std::string existing_overmaps_only, om_special ); return find_closest( origin, params ); } + tripoint overmapbuffer::find_closest( const tripoint &origin, const omt_find_params ¶ms ) { // Check the origin before searching adjacent tiles! @@ -1003,7 +1020,7 @@ void overmapbuffer::insert_npc( const std::shared_ptr &who ) get( npc_om_pos ).insert_npc( who ); } -std::shared_ptr overmapbuffer::remove_npc( const character_id id ) +std::shared_ptr overmapbuffer::remove_npc( const character_id &id ) { for( auto &it : overmaps ) { if( const auto p = it.second->erase_npc( id ) ) { diff --git a/src/overmapbuffer.h b/src/overmapbuffer.h index b1cb0e68ba38e..15b494f184397 100644 --- a/src/overmapbuffer.h +++ b/src/overmapbuffer.h @@ -92,8 +92,7 @@ struct overmap_with_local_coords { /* * Standard arguments for finding overmap terrain * @param origin Location of search - * @param type Terrain type to search for - * @param match_type Matching rule to use when finding the terrain type. + * @param types vector of Terrain type/matching rule to use to find the type * @param search_range The maximum search distance. If 0, OMAPX is used. * @param min_distance Matches within min_distance are ignored. * @param must_see If true, only terrain seen by the player should be searched. @@ -104,8 +103,7 @@ struct overmap_with_local_coords { * @param om_special If set, the terrain must be part of the specified overmap special. */ struct omt_find_params { - std::string type; - ot_match_type match_type = ot_match_type::type; + std::vector> types; int search_range = 0; int min_distance = 0; bool must_see = false; @@ -255,7 +253,7 @@ class overmapbuffer * Find npc by id and if found, erase it from the npc list * and return it ( or return nullptr if not found ). */ - std::shared_ptr remove_npc( character_id id ); + std::shared_ptr remove_npc( const character_id &id ); /** * Adds the npc to an overmap ( based on the npcs current location ) * and stores it there. The overmap takes ownership of the pointer. diff --git a/src/panels.cpp b/src/panels.cpp index cac5eb710d314..267f2c446b87a 100644 --- a/src/panels.cpp +++ b/src/panels.cpp @@ -434,7 +434,7 @@ static std::string get_temp( const avatar &u ) u.has_bionic( bionic_id( "bio_meteorologist" ) ) ) { temp = print_temperature( g->weather.get_temperature( u.pos() ) ); } - if( static_cast( temp.size() ) == 0 ) { + if( temp.empty() ) { return "-"; } return temp; @@ -790,8 +790,17 @@ static std::pair power_stat( const avatar &u ) } else if( u.get_power_level() >= u.get_max_power_level() / 4 ) { c_pwr = c_red; } - s_pwr = to_string( units::to_kilojoule( u.get_power_level() ) ) + - pgettext( "energy unit: kilojoule", "kJ" ); + + if( u.get_power_level() < 1_J ) { + s_pwr = to_string( units::to_millijoule( u.get_power_level() ) ) + + pgettext( "energy unit: millijoule", "mJ" ); + } else if( u.get_power_level() < 1_kJ ) { + s_pwr = to_string( units::to_joule( u.get_power_level() ) ) + + pgettext( "energy unit: joule", "J" ); + } else { + s_pwr = to_string( units::to_kilojoule( u.get_power_level() ) ) + + pgettext( "energy unit: kilojoule", "kJ" ); + } } return std::make_pair( c_pwr, s_pwr ); } @@ -902,7 +911,7 @@ static void draw_limb_health( avatar &u, const catacurses::window &w, int limb_i wprintz( w, hp.second, hp.first ); //Add the trailing symbols for a not-quite-full health bar - print_symbol_num( w, 5 - static_cast( hp.first.size() ), ".", c_white ); + print_symbol_num( w, 5 - utf8_width( hp.first ), ".", c_white ); } } @@ -945,13 +954,13 @@ static void draw_limb2( avatar &u, const catacurses::window &w ) mvwprintz( w, point( 27, 2 ), morale_pair.first, smiley ); // print stamina - const auto &stamina = get_hp_bar( u.stamina, u.get_stamina_max() ); + const auto &stamina = get_hp_bar( u.get_stamina(), u.get_stamina_max() ); mvwprintz( w, point( 22, 0 ), c_light_gray, _( "STM" ) ); mvwprintz( w, point( 26, 0 ), stamina.second, stamina.first ); mvwprintz( w, point( 22, 1 ), c_light_gray, _( "PWR" ) ); const auto pwr = power_stat( u ); - mvwprintz( w, point( 31 - pwr.second.length(), 1 ), pwr.first, pwr.second ); + mvwprintz( w, point( 31 - utf8_width( pwr.second ), 1 ), pwr.first, pwr.second ); wrefresh( w ); } @@ -984,9 +993,9 @@ static void draw_stats( avatar &u, const catacurses::window &w ) static nc_color move_mode_color( avatar &u ) { - if( u.movement_mode_is( PMM_RUN ) ) { + if( u.movement_mode_is( CMM_RUN ) ) { return c_red; - } else if( u.movement_mode_is( PMM_CROUCH ) ) { + } else if( u.movement_mode_is( CMM_CROUCH ) ) { return c_light_blue; } else { return c_light_gray; @@ -995,9 +1004,9 @@ static nc_color move_mode_color( avatar &u ) static std::string move_mode_string( avatar &u ) { - if( u.movement_mode_is( PMM_RUN ) ) { + if( u.movement_mode_is( CMM_RUN ) ) { return pgettext( "movement-type", "R" ); - } else if( u.movement_mode_is( PMM_CROUCH ) ) { + } else if( u.movement_mode_is( CMM_CROUCH ) ) { return pgettext( "movement-type", "C" ); } else { return pgettext( "movement-type", "W" ); @@ -1011,13 +1020,13 @@ static void draw_stealth( avatar &u, const catacurses::window &w ) mvwprintz( w, point( 7, 0 ), value_color( u.get_speed() ), "%s", u.get_speed() ); nc_color move_color = move_mode_color( u ); std::string move_string = to_string( u.movecounter ) + move_mode_string( u ); - mvwprintz( w, point( 15 - move_string.length(), 0 ), move_color, move_string ); + mvwprintz( w, point( 15 - utf8_width( move_string ), 0 ), move_color, move_string ); if( u.is_deaf() ) { mvwprintz( w, point( 22, 0 ), c_red, _( "DEAF" ) ); } else { mvwprintz( w, point( 20, 0 ), c_light_gray, _( "Sound:" ) ); const std::string snd = to_string( u.volume ); - mvwprintz( w, point( 30 - snd.length(), 0 ), u.volume != 0 ? c_yellow : c_light_gray, snd ); + mvwprintz( w, point( 30 - utf8_width( snd ), 0 ), u.volume != 0 ? c_yellow : c_light_gray, snd ); } wrefresh( w ); @@ -1073,7 +1082,7 @@ static void draw_time( const avatar &u, const catacurses::window &w ) // display date mvwprintz( w, point_zero, c_light_gray, calendar::name_season( season_of_year( calendar::turn ) ) ); std::string day = to_string( day_of_season( calendar::turn ) + 1 ); - mvwprintz( w, point( 10 - day.length(), 0 ), c_light_gray, day ); + mvwprintz( w, point( 10 - utf8_width( day ), 0 ), c_light_gray, day ); // display time if( u.has_watch() ) { mvwprintz( w, point( 11, 0 ), c_light_gray, to_string_time_of_day( calendar::turn ) ); @@ -1081,6 +1090,7 @@ static void draw_time( const avatar &u, const catacurses::window &w ) wmove( w, point( 11, 0 ) ); draw_time_graphic( w ); } else { + // NOLINTNEXTLINE(cata-text-style): the question mark does not end a sentence mvwprintz( w, point( 11, 0 ), c_light_gray, _( "Time: ???" ) ); } //display moon @@ -1153,9 +1163,7 @@ static void draw_limb_narrow( avatar &u, const catacurses::window &w ) std::string str = body_part_hp_bar_ui_text( part[i] ); wmove( w, point( nx, ny ) ); - while( str.length() < 5 ) { - str = str + " "; - } + str = left_justify( str, 5 ); wprintz( w, u.limb_color( part[i], true, true, true ), str + ":" ); } wrefresh( w ); @@ -1176,7 +1184,8 @@ static void draw_limb_wide( avatar &u, const catacurses::window &w ) int offset = i * 15; int ny = offset / 45; int nx = offset % 45; - std::string str = string_format( " %-5s: ", body_part_hp_bar_ui_text( parts[i].first ) ); + std::string str = string_format( " %s: ", + left_justify( body_part_hp_bar_ui_text( parts[i].first ), 5 ) ); nc_color part_color = u.limb_color( parts[i].first, true, true, true ); print_colored_text( w, point( nx, ny ), part_color, c_white, str ); draw_limb_health( u, w, parts[i].second ); @@ -1205,10 +1214,11 @@ static void draw_char_narrow( avatar &u, const catacurses::window &w ) mvwprintz( w, point( 8, 0 ), c_light_gray, "%s", u.volume ); // print stamina - auto needs_pair = std::make_pair( get_hp_bar( u.stamina, u.get_stamina_max() ).second, - get_hp_bar( u.stamina, u.get_stamina_max() ).first ); + auto needs_pair = std::make_pair( get_hp_bar( u.get_stamina(), u.get_stamina_max() ).second, + get_hp_bar( u.get_stamina(), u.get_stamina_max() ).first ); mvwprintz( w, point( 8, 1 ), needs_pair.first, needs_pair.second ); - for( size_t i = 0; i < 5 - needs_pair.second.length(); i++ ) { + const int width = utf8_width( needs_pair.second ); + for( int i = 0; i < 5 - width; i++ ) { mvwprintz( w, point( 12 - i, 1 ), c_white, "." ); } @@ -1248,10 +1258,11 @@ static void draw_char_wide( avatar &u, const catacurses::window &w ) mvwprintz( w, point( 38, 0 ), focus_color( u.focus_pool ), "%s", u.focus_pool ); // print stamina - auto needs_pair = std::make_pair( get_hp_bar( u.stamina, u.get_stamina_max() ).second, - get_hp_bar( u.stamina, u.get_stamina_max() ).first ); + auto needs_pair = std::make_pair( get_hp_bar( u.get_stamina(), u.get_stamina_max() ).second, + get_hp_bar( u.get_stamina(), u.get_stamina_max() ).first ); mvwprintz( w, point( 8, 1 ), needs_pair.first, needs_pair.second ); - for( size_t i = 0; i < 5 - needs_pair.second.length(); i++ ) { + const int width = utf8_width( needs_pair.second ); + for( int i = 0; i < 5 - width; i++ ) { mvwprintz( w, point( 12 - i, 1 ), c_white, "." ); } @@ -1349,6 +1360,7 @@ static void draw_loc_labels( const avatar &u, const catacurses::window &w, bool } else if( g->get_levz() >= 0 ) { mvwprintz( w, point( 1, 4 ), c_light_gray, _( "Time : %s" ), time_approx() ); } else { + // NOLINTNEXTLINE(cata-text-style): the question mark does not end a sentence mvwprintz( w, point( 1, 4 ), c_light_gray, _( "Time : ???" ) ); } if( minimap ) { @@ -1402,7 +1414,7 @@ static void draw_weapon_labels( const avatar &u, const catacurses::window &w ) // NOLINTNEXTLINE(cata-use-named-point-constants) mvwprintz( w, point( 1, 1 ), c_light_gray, _( "Style:" ) ); print_colored_text( w, point( 8, 0 ), color, c_light_gray, u.weapname( getmaxx( w ) - 8 ) ); - mvwprintz( w, point( 8, 1 ), c_light_gray, "%s", u.get_combat_style().name.translated() ); + mvwprintz( w, point( 8, 1 ), c_light_gray, "%s", u.martial_arts_data.selected_style_name( u ) ); wrefresh( w ); } @@ -1462,7 +1474,7 @@ static void draw_env_compact( avatar &u, const catacurses::window &w ) nc_color color = c_light_gray; print_colored_text( w, point( 8, 0 ), color, c_light_gray, u.weapname( getmaxx( w ) - 8 ) ); // style - mvwprintz( w, point( 8, 1 ), c_light_gray, "%s", u.get_combat_style().name.translated() ); + mvwprintz( w, point( 8, 1 ), c_light_gray, "%s", u.martial_arts_data.selected_style_name( u ) ); // location mvwprintz( w, point( 8, 2 ), c_white, utf8_truncate( overmap_buffer.ter( u.global_omt_location() )->get_name(), getmaxx( w ) - 8 ) ); @@ -1494,7 +1506,9 @@ static void draw_env_compact( avatar &u, const catacurses::window &w ) static void render_wind( avatar &u, const catacurses::window &w, std::string formatstr ) { werase( w ); - mvwprintz( w, point_zero, c_light_gray, string_format( formatstr, _( "Wind" ) ) ); + mvwprintz( w, point_zero, c_light_gray, + //~ translation should not exceed 5 console cells + string_format( formatstr, left_justify( _( "Wind" ), 5 ) ) ); const oter_id &cur_om_ter = overmap_buffer.ter( u.global_omt_location() ); double windpower = get_local_windpower( g->weather.windspeed, cur_om_ter, u.pos(), g->weather.winddirection, g->is_sheltered( u.pos() ) ); @@ -1505,12 +1519,12 @@ static void render_wind( avatar &u, const catacurses::window &w, std::string for static void draw_wind( avatar &u, const catacurses::window &w ) { - render_wind( u, w, "%-5s: " ); + render_wind( u, w, "%s: " ); } static void draw_wind_padding( avatar &u, const catacurses::window &w ) { - render_wind( u, w, " %-5s: " ); + render_wind( u, w, " %s: " ); } static void draw_health_classic( avatar &u, const catacurses::window &w ) @@ -1577,11 +1591,12 @@ static void draw_health_classic( avatar &u, const catacurses::window &w ) mvwprintz( w, point( 40, 4 ), safe_color(), safe_str ); // print stamina - auto pair = std::make_pair( get_hp_bar( u.stamina, u.get_stamina_max() ).second, - get_hp_bar( u.stamina, u.get_stamina_max() ).first ); + auto pair = std::make_pair( get_hp_bar( u.get_stamina(), u.get_stamina_max() ).second, + get_hp_bar( u.get_stamina(), u.get_stamina_max() ).first ); mvwprintz( w, point( 35, 5 ), c_light_gray, _( "Stm" ) ); mvwprintz( w, point( 39, 5 ), pair.first, pair.second ); - for( size_t i = 0; i < 5 - pair.second.length(); i++ ) { + const int width = utf8_width( pair.second ); + for( int i = 0; i < 5 - width; i++ ) { mvwprintz( w, point( 43 - i, 5 ), c_white, "." ); } @@ -1589,9 +1604,9 @@ static void draw_health_classic( avatar &u, const catacurses::window &w ) if( !u.in_vehicle ) { mvwprintz( w, point( 21, 5 ), u.get_speed() < 100 ? c_red : c_white, _( "Spd " ) + to_string( u.get_speed() ) ); - nc_color move_color = u.movement_mode_is( PMM_WALK ) ? c_white : move_mode_color( u ); + nc_color move_color = u.movement_mode_is( CMM_WALK ) ? c_white : move_mode_color( u ); std::string move_string = to_string( u.movecounter ) + " " + move_mode_string( u ); - mvwprintz( w, point( 26 + move_string.length(), 5 ), move_color, move_string ); + mvwprintz( w, point( 29, 5 ), move_color, move_string ); } // temperature @@ -1841,17 +1856,7 @@ static void draw_weapon_classic( const avatar &u, const catacurses::window &w ) print_colored_text( w, point( 10, 0 ), color, color, u.weapname( getmaxx( w ) - 24 ) ); // Print in sidebar currently used martial style. - std::string style; - const auto &cur_style = u.style_selected.obj(); - if( !u.weapon.is_gun() ) { - if( cur_style.force_unarmed || cur_style.weapon_valid( u.weapon ) ) { - style = cur_style.name.translated(); - } else if( u.is_armed() ) { - style = _( "Normal" ); - } else { - style = _( "No Style" ); - } - } + const std::string style = u.martial_arts_data.selected_style_name( u ); if( !style.empty() ) { const auto style_color = u.is_armed() ? c_red : c_blue; @@ -1877,6 +1882,7 @@ static void draw_time_classic( const avatar &u, const catacurses::window &w ) wmove( w, point( 15, 0 ) ); draw_time_graphic( w ); } else { + // NOLINTNEXTLINE(cata-text-style): the question mark does not end a sentence mvwprintz( w, point( 15, 0 ), c_light_gray, _( "Time: ???" ) ); } @@ -1899,38 +1905,43 @@ static void draw_hint( const avatar &, const catacurses::window &w ) wrefresh( w ); } -static void print_mana( const player &u, const catacurses::window &w, std::string fmt_string ) +static void print_mana( const player &u, const catacurses::window &w, std::string fmt_string, + const int j1, const int j2, const int j3, const int j4 ) { werase( w ); auto mana_pair = mana_stat( u ); - const std::string mana_string = string_format( fmt_string, _( "Mana" ), - colorize( mana_pair.second, mana_pair.first ), _( "Max Mana" ), - colorize( to_string( u.magic.max_mana( u ) ), c_light_blue ) ); + const std::string mana_string = string_format( fmt_string, + //~ translation should not exceed 4 console cells + utf8_justify( _( "Mana" ), j1 ), + colorize( utf8_justify( mana_pair.second, j2 ), mana_pair.first ), + //~ translation should not exceed 9 console cells + utf8_justify( _( "Max Mana" ), j3 ), + colorize( utf8_justify( to_string( u.magic.max_mana( u ) ), j4 ), c_light_blue ) ); nc_color gray = c_light_gray; - print_colored_text( w, point( getmaxx( w ) - mana_string.size(), 0 ), gray, gray, mana_string ); + print_colored_text( w, point_zero, gray, gray, mana_string ); wrefresh( w ); } static void draw_mana_classic( const player &u, const catacurses::window &w ) { - print_mana( u, w, "%-8s: %-5s %22s: %-5s" ); + print_mana( u, w, "%s: %s %s: %s", -8, -5, 20, -5 ); } static void draw_mana_compact( const player &u, const catacurses::window &w ) { - print_mana( u, w, "%4s %-5s %12s %-5s" ); + print_mana( u, w, "%s %s %s %s", 4, -5, 12, -5 ); } static void draw_mana_narrow( const player &u, const catacurses::window &w ) { - print_mana( u, w, " %-5s: %-5s %11s : %-5s" ); + print_mana( u, w, " %s: %s %s : %s", -5, -5, 9, -5 ); } static void draw_mana_wide( const player &u, const catacurses::window &w ) { - print_mana( u, w, " %-5s: %-5s %15s : %-5s" ); + print_mana( u, w, " %s: %s %s : %s", -5, -5, 13, -5 ); } // ============ @@ -2124,7 +2135,7 @@ void panel_manager::update_offsets( int x ) bool panel_manager::save() { - return write_to_file( FILENAMES["panel_options"], [&]( std::ostream & fout ) { + return write_to_file( PATH_INFO::panel_options(), [&]( std::ostream & fout ) { JsonOut jout( fout, true ); serialize( jout ); }, _( "panel options" ) ); @@ -2132,7 +2143,7 @@ bool panel_manager::save() bool panel_manager::load() { - return read_from_file_optional_json( FILENAMES["panel_options"], [&]( JsonIn & jsin ) { + return read_from_file_optional_json( PATH_INFO::panel_options(), [&]( JsonIn & jsin ) { deserialize( jsin ); } ); } @@ -2195,6 +2206,8 @@ void panel_manager::deserialize( JsonIn &jsin ) JsonObject joPanel = jaPanels.next_object(); std::string name = joPanel.get_string( "name" ); + bool toggle = joPanel.get_bool( "toggle" ); + for( auto it2 = layout.begin() + std::distance( layout.begin(), it ); it2 != layout.end(); ++it2 ) { if( it2->get_name() == name ) { if( it->get_name() != name ) { @@ -2202,7 +2215,7 @@ void panel_manager::deserialize( JsonIn &jsin ) layout.erase( it2 ); it = layout.insert( it, panel ); } - it->toggle = joPanel.get_bool( "toggle" ); + it->toggle = toggle; ++it; break; } diff --git a/src/path_info.cpp b/src/path_info.cpp index b230ecc8a2db7..7ee9ebe9d5a24 100644 --- a/src/path_info.cpp +++ b/src/path_info.cpp @@ -11,26 +11,45 @@ #include #endif -/** Map where we store filenames */ -std::map FILENAMES; +/** + * Return a locale specific path, or if there is no path for the current + * locale, return the default path. + * @param path The local path is based on that value. + * @param extension File name extension, is automatically added to the path + * of the translated file. Can be empty, but must otherwise include the + * initial '.', e.g. ".json" + * @param fallback The path of the fallback filename. + * It is used if no translated file can be found. + */ +static std::string find_translated_file( const std::string &path, const std::string &extension, + const std::string &fallback ); + +static std::string motd_value; +static std::string gfxdir_value; +static std::string config_dir_value; +static std::string user_dir_value; +static std::string datadir_value; +static std::string base_path_value; +static std::string savedir_value; +static std::string autopickup_value; +static std::string keymap_value; +static std::string options_value; +static std::string memorialdir_value; void PATH_INFO::init_base_path( std::string path ) { if( !path.empty() ) { - const char ch = path.at( path.length() - 1 ); + const char ch = path.back(); if( ch != '/' && ch != '\\' ) { path.push_back( '/' ); } } - //FILENAMES.insert(std::pair("base_path", path)); - FILENAMES["base_path"] = path; + base_path_value = path; } -void PATH_INFO::init_user_dir( const char *ud ) +void PATH_INFO::init_user_dir( std::string dir ) { - std::string dir = std::string( ud ); - if( dir.empty() ) { const char *user_dir; #if defined(_WIN32) @@ -53,121 +72,33 @@ void PATH_INFO::init_user_dir( const char *ud ) #endif } - FILENAMES["user_dir"] = dir; -} - -void PATH_INFO::update_pathname( const std::string &name, const std::string &path ) -{ - const std::map::iterator iter = FILENAMES.find( name ); - if( iter != FILENAMES.end() ) { - FILENAMES[name] = path; - } else { - FILENAMES.insert( std::pair( name, path ) ); - } -} - -void PATH_INFO::update_datadir() -{ - // Shared dirs - update_pathname( "gfxdir", FILENAMES["datadir"] + "gfx/" ); - update_pathname( "fontdir", FILENAMES["datadir"] + "font/" ); - update_pathname( "rawdir", FILENAMES["datadir"] + "raw/" ); - update_pathname( "jsondir", FILENAMES["datadir"] + "core/" ); - update_pathname( "moddir", FILENAMES["datadir"] + "mods/" ); - update_pathname( "recycledir", FILENAMES["datadir"] + "recycling/" ); - update_pathname( "namesdir", FILENAMES["datadir"] + "names/" ); - update_pathname( "titledir", FILENAMES["datadir"] + "title/" ); - update_pathname( "motddir", FILENAMES["datadir"] + "motd/" ); - update_pathname( "creditsdir", FILENAMES["datadir"] + "credits/" ); - update_pathname( "data_sound", FILENAMES["datadir"] + "sound" ); - update_pathname( "helpdir", FILENAMES["datadir"] + "help/" ); - - // Shared files - update_pathname( "title", FILENAMES["titledir"] + "en.title" ); - update_pathname( "halloween", FILENAMES["titledir"] + "en.halloween" ); - update_pathname( "motd", FILENAMES["motddir"] + "en.motd" ); - update_pathname( "credits", FILENAMES["creditsdir"] + "en.credits" ); - update_pathname( "names", FILENAMES["namesdir"] + "en.json" ); - update_pathname( "colors", FILENAMES["rawdir"] + "colors.json" ); - update_pathname( "keybindings", FILENAMES["rawdir"] + "keybindings.json" ); - update_pathname( "keybindings_vehicle", FILENAMES["rawdir"] + "keybindings/vehicle.json" ); - update_pathname( "legacy_fontdata", FILENAMES["datadir"] + "fontdata.json" ); - update_pathname( "sokoban", FILENAMES["rawdir"] + "sokoban.txt" ); - update_pathname( "defaulttilejson", FILENAMES["gfx"] + "tile_config.json" ); - update_pathname( "defaulttilepng", FILENAMES["gfx"] + "tinytile.png" ); - update_pathname( "mods-dev-default", FILENAMES["moddir"] + "default.json" ); - update_pathname( "mods-replacements", FILENAMES["moddir"] + "replacements.json" ); - update_pathname( "defaultsounddir", FILENAMES["datadir"] + "sound" ); - update_pathname( "help", FILENAMES["helpdir"] + "texts.json" ); -} - -void PATH_INFO::update_config_dir() -{ - update_pathname( "options", FILENAMES["config_dir"] + "options.json" ); - update_pathname( "panel_options", FILENAMES["config_dir"] + "panel_options.json" ); - update_pathname( "keymap", FILENAMES["config_dir"] + "keymap.txt" ); - update_pathname( "debug", FILENAMES["config_dir"] + "debug.log" ); - update_pathname( "crash", FILENAMES["config_dir"] + "crash.log" ); - update_pathname( "fontlist", FILENAMES["config_dir"] + "fontlist.txt" ); - update_pathname( "fontdata", FILENAMES["config_dir"] + "fonts.json" ); - update_pathname( "autopickup", FILENAMES["config_dir"] + "auto_pickup.json" ); - update_pathname( "safemode", FILENAMES["config_dir"] + "safemode.json" ); - update_pathname( "base_colors", FILENAMES["config_dir"] + "base_colors.json" ); - update_pathname( "custom_colors", FILENAMES["config_dir"] + "custom_colors.json" ); - update_pathname( "mods-user-default", FILENAMES["config_dir"] + "user-default-mods.json" ); - update_pathname( "lastworld", FILENAMES["config_dir"] + "lastworld.json" ); + user_dir_value = dir; } void PATH_INFO::set_standard_filenames() { // Special: data_dir and gfx_dir - if( !FILENAMES["base_path"].empty() ) { + if( !base_path_value.empty() ) { #if defined(DATA_DIR_PREFIX) - update_pathname( "datadir", FILENAMES["base_path"] + "share/cataclysm-dda/" ); - update_pathname( "gfxdir", FILENAMES["datadir"] + "gfx/" ); + datadir_value = base_path_value + "share/cataclysm-dda/"; + gfxdir_value = datadir_value + "gfx/"; #else - update_pathname( "datadir", FILENAMES["base_path"] + "data/" ); - update_pathname( "gfxdir", FILENAMES["base_path"] + "gfx/" ); + datadir_value = base_path_value + "data/"; + gfxdir_value = base_path_value + "gfx/"; #endif } else { - update_pathname( "datadir", "data/" ); - update_pathname( "gfxdir", "gfx/" ); + datadir_value = "data/"; + gfxdir_value = "gfx/"; } // Shared dirs - update_pathname( "fontdir", FILENAMES["datadir"] + "font/" ); - update_pathname( "rawdir", FILENAMES["datadir"] + "raw/" ); - update_pathname( "jsondir", FILENAMES["datadir"] + "core/" ); - update_pathname( "moddir", FILENAMES["datadir"] + "mods/" ); - update_pathname( "namesdir", FILENAMES["datadir"] + "names/" ); - update_pathname( "titledir", FILENAMES["datadir"] + "title/" ); - update_pathname( "motddir", FILENAMES["datadir"] + "motd/" ); - update_pathname( "creditsdir", FILENAMES["datadir"] + "credits/" ); - update_pathname( "color_templates", FILENAMES["rawdir"] + "color_templates/" ); - update_pathname( "data_sound", FILENAMES["datadir"] + "sound" ); - update_pathname( "helpdir", FILENAMES["datadir"] + "help/" ); // Shared files - update_pathname( "title", FILENAMES["titledir"] + "en.title" ); - update_pathname( "halloween", FILENAMES["titledir"] + "en.halloween" ); - update_pathname( "motd", FILENAMES["motddir"] + "en.motd" ); - update_pathname( "credits", FILENAMES["creditsdir"] + "en.credits" ); - update_pathname( "names", FILENAMES["namesdir"] + "en.json" ); - update_pathname( "colors", FILENAMES["rawdir"] + "colors.json" ); - update_pathname( "keybindings", FILENAMES["rawdir"] + "keybindings.json" ); - update_pathname( "keybindings_vehicle", FILENAMES["rawdir"] + "keybindings/vehicle.json" ); - update_pathname( "sokoban", FILENAMES["rawdir"] + "sokoban.txt" ); - update_pathname( "defaulttilejson", FILENAMES["gfx"] + "tile_config.json" ); - update_pathname( "defaulttilepng", FILENAMES["gfx"] + "tinytile.png" ); - update_pathname( "mods-dev-default", FILENAMES["moddir"] + "default.json" ); - update_pathname( "mods-replacements", FILENAMES["moddir"] + "replacements.json" ); - update_pathname( "defaultsounddir", FILENAMES["datadir"] + "sound" ); - update_pathname( "help", FILENAMES["helpdir"] + "texts.json" ); + motd_value = datadir_value + "motd/" + "en.motd"; + + savedir_value = user_dir_value + "save/"; + memorialdir_value = user_dir_value + "memorial/"; - update_pathname( "savedir", FILENAMES["user_dir"] + "save/" ); - update_pathname( "memorialdir", FILENAMES["user_dir"] + "memorial/" ); - update_pathname( "templatedir", FILENAMES["user_dir"] + "templates/" ); - update_pathname( "user_sound", FILENAMES["user_dir"] + "sound/" ); #if defined(USE_XDG_DIR) const char *user_dir; std::string dir; @@ -177,52 +108,18 @@ void PATH_INFO::set_standard_filenames() user_dir = getenv( "HOME" ); dir = std::string( user_dir ) + "/.config/cataclysm-dda/"; } - update_pathname( "config_dir", dir ); + config_dir_value = dir; #else - update_pathname( "config_dir", FILENAMES["user_dir"] + "config/" ); -#endif - update_pathname( "graveyarddir", FILENAMES["user_dir"] + "graveyard/" ); - - update_pathname( "options", FILENAMES["config_dir"] + "options.json" ); - update_pathname( "panel_options", FILENAMES["config_dir"] + "panel_options.json" ); - update_pathname( "keymap", FILENAMES["config_dir"] + "keymap.txt" ); - update_pathname( "user_keybindings", FILENAMES["config_dir"] + "keybindings.json" ); - update_pathname( "debug", FILENAMES["config_dir"] + "debug.log" ); - update_pathname( "crash", FILENAMES["config_dir"] + "crash.log" ); - update_pathname( "fontlist", FILENAMES["config_dir"] + "fontlist.txt" ); - update_pathname( "fontdata", FILENAMES["config_dir"] + "fonts.json" ); - update_pathname( "autopickup", FILENAMES["config_dir"] + "auto_pickup.json" ); - update_pathname( "safemode", FILENAMES["config_dir"] + "safemode.json" ); - update_pathname( "base_colors", FILENAMES["config_dir"] + "base_colors.json" ); - update_pathname( "custom_colors", FILENAMES["config_dir"] + "custom_colors.json" ); - update_pathname( "mods-user-default", FILENAMES["config_dir"] + "user-default-mods.json" ); - update_pathname( "lastworld", FILENAMES["config_dir"] + "lastworld.json" ); - update_pathname( "user_moddir", FILENAMES["user_dir"] + "mods/" ); - update_pathname( "worldoptions", "worldoptions.json" ); - - // Needed to move files from these legacy locations to the new config directory. - update_pathname( "legacy_options", "data/options.txt" ); - update_pathname( "legacy_options2", FILENAMES["config_dir"] + "options.txt" ); - update_pathname( "legacy_keymap", "data/keymap.txt" ); - update_pathname( "legacy_autopickup", "data/auto_pickup.txt" ); - update_pathname( "legacy_autopickup2", FILENAMES["config_dir"] + "auto_pickup.txt" ); - update_pathname( "legacy_fontdata", FILENAMES["datadir"] + "fontdata.json" ); - update_pathname( "legacy_worldoptions", "worldoptions.txt" ); -#if defined(TILES) - // Default tileset config file. - update_pathname( "tileset-conf", "tileset.txt" ); -#endif -#if defined(SDL_SOUND) - // Default soundpack config file. - update_pathname( "soundpack-conf", "soundpack.txt" ); + config_dir_value = user_dir_value + "config/"; #endif + options_value = config_dir_value + "options.json"; + keymap_value = config_dir_value + "keymap.txt"; + autopickup_value = config_dir_value + "auto_pickup.json"; } -std::string PATH_INFO::find_translated_file( const std::string &pathid, - const std::string &extension, const std::string &fallbackid ) +std::string find_translated_file( const std::string &base_path, const std::string &extension, + const std::string &fallback ) { - const std::string base_path = FILENAMES[pathid]; - #if defined(LOCALIZE) && !defined(__CYGWIN__) std::string loc_name; if( get_option( "USE_LANG" ).empty() ) { @@ -265,7 +162,285 @@ std::string PATH_INFO::find_translated_file( const std::string &pathid, } } } -#endif +#else + ( void ) base_path; ( void ) extension; - return FILENAMES[fallbackid]; +#endif + return fallback; +} +std::string PATH_INFO::autopickup() +{ + return autopickup_value; +} +std::string PATH_INFO::base_colors() +{ + return config_dir_value + "base_colors.json"; +} +std::string PATH_INFO::base_path() +{ + return base_path_value; +} +std::string PATH_INFO::colors() +{ + return datadir_value + "raw/" + "colors.json"; +} +std::string PATH_INFO::color_templates() +{ + return datadir_value + "raw/" + "color_templates/"; +} +std::string PATH_INFO::config_dir() +{ + return config_dir_value; +} +std::string PATH_INFO::custom_colors() +{ + return config_dir_value + "custom_colors.json"; +} +std::string PATH_INFO::datadir() +{ + return datadir_value; +} +std::string PATH_INFO::debug() +{ + return config_dir_value + "debug.log"; +} +std::string PATH_INFO::defaultsounddir() +{ + return datadir_value + "sound"; +} +std::string PATH_INFO::defaulttilejson() +{ + return "tile_config.json"; +} +std::string PATH_INFO::defaulttilepng() +{ + return "tinytile.png"; +} +std::string PATH_INFO::fontdata() +{ + return config_dir_value + "fonts.json"; +} +std::string PATH_INFO::fontdir() +{ + return datadir_value + "font/"; +} +std::string PATH_INFO::fontlist() +{ + return config_dir_value + "fontlist.txt"; +} +std::string PATH_INFO::graveyarddir() +{ + return user_dir_value + "graveyard/"; +} +std::string PATH_INFO::help() +{ + return datadir_value + "help/" + "texts.json"; +} +std::string PATH_INFO::keybindings() +{ + return datadir_value + "raw/" + "keybindings.json"; +} +std::string PATH_INFO::keybindings_vehicle() +{ + return datadir_value + "raw/" + "keybindings/vehicle.json"; +} +std::string PATH_INFO::keymap() +{ + return keymap_value; +} +std::string PATH_INFO::lastworld() +{ + return config_dir_value + "lastworld.json"; +} +std::string PATH_INFO::legacy_autopickup() +{ + return "data/auto_pickup.txt"; +} +std::string PATH_INFO::legacy_autopickup2() +{ + return config_dir_value + "auto_pickup.txt"; +} +std::string PATH_INFO::legacy_fontdata() +{ + return datadir_value + "fontdata.json"; +} +std::string PATH_INFO::legacy_keymap() +{ + return "data/keymap.txt"; +} +std::string PATH_INFO::legacy_options() +{ + return "data/options.txt"; +} +std::string PATH_INFO::legacy_options2() +{ + return config_dir_value + "options.txt"; +} +std::string PATH_INFO::legacy_worldoptions() +{ + return "worldoptions.txt"; +} +std::string PATH_INFO::memorialdir() +{ + return memorialdir_value; +} +std::string PATH_INFO::jsondir() +{ + return datadir_value + "core/"; +} +std::string PATH_INFO::moddir() +{ + return datadir_value + "mods/"; +} +std::string PATH_INFO::options() +{ + return options_value; +} +std::string PATH_INFO::panel_options() +{ + return config_dir_value + "panel_options.json"; +} +std::string PATH_INFO::safemode() +{ + return config_dir_value + "safemode.json"; +} +std::string PATH_INFO::savedir() +{ + return savedir_value; +} +std::string PATH_INFO::sokoban() +{ + return datadir_value + "raw/" + "sokoban.txt"; +} +std::string PATH_INFO::templatedir() +{ + return user_dir_value + "templates/"; +} +std::string PATH_INFO::user_dir() +{ + return user_dir_value; +} +std::string PATH_INFO::user_gfx() +{ + return user_dir_value + "gfx/"; +} +std::string PATH_INFO::user_keybindings() +{ + return config_dir_value + "keybindings.json"; +} +std::string PATH_INFO::user_moddir() +{ + return user_dir_value + "mods/"; +} +std::string PATH_INFO::user_sound() +{ + return user_dir_value + "sound/"; +} +std::string PATH_INFO::worldoptions() +{ + return "worldoptions.json"; +} +std::string PATH_INFO::crash() +{ + return config_dir_value + "crash.log"; +} +std::string PATH_INFO::tileset_conf() +{ + return "tileset.txt"; +} +std::string PATH_INFO::mods_replacements() +{ + return datadir_value + "mods/" + "replacements.json"; +} +std::string PATH_INFO::mods_dev_default() +{ + return datadir_value + "mods/" + "default.json"; +} +std::string PATH_INFO::mods_user_default() +{ + return config_dir_value + "user-default-mods.json"; +} +std::string PATH_INFO::soundpack_conf() +{ + return "soundpack.txt"; +} +std::string PATH_INFO::gfxdir() +{ + return gfxdir_value; +} +std::string PATH_INFO::data_sound() +{ + return datadir_value + "sound"; +} + +std::string PATH_INFO::credits() +{ + return find_translated_file( datadir_value + "credits/", ".credits", + datadir_value + "credits/" + "en.credits" ); +} + +std::string PATH_INFO::motd() +{ + return find_translated_file( datadir_value + "motd/", ".motd", motd_value ); +} + +std::string PATH_INFO::title( const bool halloween_theme ) +{ + return find_translated_file( datadir_value + "title/", halloween_theme ? ".halloween" : ".title", + halloween_theme ? ( datadir_value + "title/" + "en.halloween" ) : ( datadir_value + "title/" + + "en.title" ) ); +} + +std::string PATH_INFO::names() +{ + return find_translated_file( datadir_value + "names/", ".json", + datadir_value + "names/" + "en.json" ); +} + +void PATH_INFO::set_datadir( const std::string &datadir ) +{ + datadir_value = datadir; + // Shared dirs + gfxdir_value = datadir_value + "gfx/"; + + // Shared files + motd_value = datadir_value + "motd/" + "en.motd"; +} + +void PATH_INFO::set_config_dir( const std::string &config_dir ) +{ + config_dir_value = config_dir; + options_value = config_dir_value + "options.json"; + keymap_value = config_dir_value + "keymap.txt"; + autopickup_value = config_dir_value + "auto_pickup.json"; +} + +void PATH_INFO::set_savedir( const std::string &savedir ) +{ + savedir_value = savedir; +} + +void PATH_INFO::set_memorialdir( const std::string &memorialdir ) +{ + memorialdir_value = memorialdir; +} + +void PATH_INFO::set_options( const std::string &options ) +{ + options_value = options; +} + +void PATH_INFO::set_keymap( const std::string &keymap ) +{ + keymap_value = keymap; +} + +void PATH_INFO::set_autopickup( const std::string &autopickup ) +{ + autopickup_value = autopickup; +} + +void PATH_INFO::set_motd( const std::string &motd ) +{ + motd_value = motd; } diff --git a/src/path_info.h b/src/path_info.h index a7ba0caab07ac..9b054146612ea 100644 --- a/src/path_info.h +++ b/src/path_info.h @@ -2,33 +2,82 @@ #ifndef PATH_INFO_H #define PATH_INFO_H -#include #include -extern std::map FILENAMES; - namespace PATH_INFO { void init_base_path( std::string path ); -void init_user_dir( const char *ud = "" ); -void update_datadir(); -void update_config_dir(); -void update_pathname( const std::string &name, const std::string &path ); +void init_user_dir( std::string dir ); void set_standard_filenames(); -/** - * Return a locale specific path, or if there is no path for the current - * locale, return the default path. - * @param pathid The key in the @ref FILENAMES map. The local path is based - * on that value. - * @param extension File name extension, is automatically added to the path - * of the translated file. Can be empty, but must otherwise include the - * initial '.', e.g. ".json" - * @param fallbackid The path id of the fallback filename. As like pathid it's - * the key into the @ref FILENAMES map. It is used if no translated file can be - * found. - */ -std::string find_translated_file( const std::string &pathid, const std::string &extension, - const std::string &fallbackid ); + +std::string autopickup(); +std::string base_colors(); +std::string base_path(); +std::string colors(); +std::string color_templates(); +std::string config_dir(); +std::string custom_colors(); +std::string datadir(); +std::string debug(); +std::string defaultsounddir(); +std::string defaulttilejson(); +std::string defaulttilepng(); +std::string fontdata(); +std::string fontdir(); +std::string fontlist(); +std::string graveyarddir(); +std::string help(); +std::string keybindings(); +std::string keybindings_vehicle(); +std::string keymap(); +std::string lastworld(); +std::string legacy_autopickup(); +std::string legacy_autopickup2(); +std::string legacy_fontdata(); +std::string legacy_keymap(); +std::string legacy_options(); +std::string legacy_options2(); +std::string legacy_worldoptions(); +std::string memorialdir(); +std::string jsondir(); +std::string moddir(); +std::string options(); +std::string panel_options(); +std::string safemode(); +std::string savedir(); +std::string sokoban(); +std::string templatedir(); +std::string user_dir(); +std::string user_gfx(); +std::string user_keybindings(); +std::string user_moddir(); +std::string user_sound(); +std::string worldoptions(); +std::string crash(); +std::string tileset_conf(); +std::string gfxdir(); +std::string user_gfx(); +std::string data_sound(); +std::string user_sound(); +std::string mods_replacements(); +std::string mods_dev_default(); +std::string mods_user_default(); +std::string soundpack_conf(); + +std::string credits(); +std::string motd(); +std::string title( bool halloween_theme ); +std::string names(); + +void set_datadir( const std::string &datadir ); +void set_config_dir( const std::string &config_dir ); +void set_savedir( const std::string &savedir ); +void set_memorialdir( const std::string &memorialdir ); +void set_options( const std::string &options ); +void set_keymap( const std::string &keymap ); +void set_autopickup( const std::string &autopickup ); +void set_motd( const std::string &motd ); + } // namespace PATH_INFO #endif diff --git a/src/pathfinding.cpp b/src/pathfinding.cpp index 4b1c6b3d3544b..fa03994c6bbba 100644 --- a/src/pathfinding.cpp +++ b/src/pathfinding.cpp @@ -319,7 +319,8 @@ std::vector map::route( const tripoint &f, const tripoint &t, const int rating = ( bash == 0 || cost != 0 ) ? -1 : bash_rating_internal( bash, furniture, terrain, false, veh, part ); - if( cost == 0 && rating <= 0 && ( !doors || !terrain.open ) && veh == nullptr && climb_cost <= 0 ) { + if( cost == 0 && rating <= 0 && ( !doors || !terrain.open || !furniture.open ) && veh == nullptr && + climb_cost <= 0 ) { layer.state[index] = ASL_CLOSED; // Close it so that next time we won't try to calculate costs continue; } @@ -329,8 +330,9 @@ std::vector map::route( const tripoint &f, const tripoint &t, if( climb_cost > 0 && p_special & PF_CLIMBABLE ) { // Climbing fences newg += climb_cost; - } else if( doors && terrain.open && - ( !terrain.has_flag( "OPENCLOSE_INSIDE" ) || !is_outside( cur ) ) ) { + } else if( doors && ( terrain.open || furniture.open ) && + ( !terrain.has_flag( "OPENCLOSE_INSIDE" ) || !furniture.has_flag( "OPENCLOSE_INSIDE" ) || + !is_outside( cur ) ) ) { // Only try to open INSIDE doors from the inside // To open and then move onto the tile newg += 4; @@ -374,7 +376,7 @@ std::vector map::route( const tripoint &f, const tripoint &t, newg += 500; } else { // Unbashable and unopenable from here - if( !doors || !terrain.open ) { + if( !doors || !terrain.open || !furniture.open ) { // Or anywhere else for that matter layer.state[index] = ASL_CLOSED; } @@ -474,7 +476,7 @@ std::vector map::route( const tripoint &f, const tripoint &t, // Jumps are acceptable on 1 z-level changes // This is because stairs teleport the player too if( rl_dist( cur, par ) > 1 && abs( cur.z - par.z ) != 1 ) { - debugmsg( "Jump in our route! %d:%d:%d->%d:%d:%d", + debugmsg( "Jump in our route! %d:%d:%d->%d:%d:%d", cur.x, cur.y, cur.z, par.x, par.y, par.z ); return ret; } diff --git a/src/pickup.cpp b/src/pickup.cpp index 7f3f15ce0ef18..111e09f356090 100644 --- a/src/pickup.cpp +++ b/src/pickup.cpp @@ -317,10 +317,7 @@ bool pick_one_up( item_location &loc, int quantity, bool &got_water, bool &offer case WIELD: if( wield_check.success() ) { //using original item, possibly modifying it - picked_up = u.wield( it ); - if( picked_up ) { - it.charges = newit.charges; - } + picked_up = u.wield( newit ); if( u.weapon.invlet ) { add_msg( m_info, _( "Wielding %c - %s" ), u.weapon.invlet, u.weapon.display_name() ); @@ -791,7 +788,11 @@ void Pickup::pick_up( const tripoint &p, int min, from_where get_items_from ) std::vector vDummy; selected_item.info( true, vThisItem ); - draw_item_info( w_item_info, "", "", vThisItem, vDummy, iScrollPos, true, true ); + item_info_data dummy( "", "", vThisItem, vDummy, iScrollPos ); + dummy.without_getch = true; + dummy.without_border = true; + + draw_item_info( w_item_info, dummy ); } draw_custom_border( w_item_info, 0 ); mvwprintw( w_item_info, point( 2, 0 ), "< " ); diff --git a/src/pixel_minimap.cpp b/src/pixel_minimap.cpp index 8d9a1cc07dac6..d40476fb51c7d 100644 --- a/src/pixel_minimap.cpp +++ b/src/pixel_minimap.cpp @@ -81,7 +81,7 @@ SDL_Texture_Ptr create_cache_texture( const SDL_Renderer_Ptr &renderer, int tile SDL_Color get_map_color_at( const tripoint &p ) { - const auto &m = g->m; + const map &m = g->m; if( const auto vp = m.veh_at( p ) ) { return curses_color_to_SDL( vp->vehicle().part_color( vp->part_index() ) ); @@ -96,14 +96,14 @@ SDL_Color get_map_color_at( const tripoint &p ) SDL_Color get_critter_color( Creature *critter, int flicker, int mixture ) { - auto result = curses_color_to_SDL( critter->symbol_color() ); + SDL_Color result = curses_color_to_SDL( critter->symbol_color() ); - if( const auto m = dynamic_cast( critter ) ) { + if( const monster *m = dynamic_cast( critter ) ) { //faction status (attacking or tracking) determines if red highlights get applied to creature - const auto matt = m->attitude( &g->u ); + const monster_attitude matt = m->attitude( &g->u ); if( MATT_ATTACK == matt || MATT_FOLLOW == matt ) { - const auto red_pixel = SDL_Color{ 0xFF, 0x0, 0x0, 0xFF }; + const SDL_Color red_pixel = SDL_Color{ 0xFF, 0x0, 0x0, 0xFF }; result = adjust_color_brightness( mix_colors( result, red_pixel, mixture ), flicker ); } } @@ -220,8 +220,8 @@ void pixel_minimap::set_settings( const pixel_minimap_settings &settings ) void pixel_minimap::prepare_cache_for_updates( const tripoint ¢er ) { - const auto new_center_sm = g->m.get_abs_sub() + ms_to_sm_copy( center ); - const auto center_sm_diff = cached_center_sm - new_center_sm; + const tripoint new_center_sm = g->m.get_abs_sub() + ms_to_sm_copy( center ); + const tripoint center_sm_diff = cached_center_sm - new_center_sm; //invalidate the cache if the game shifted more than one submap in the last update, or if z-level changed. if( std::abs( center_sm_diff.x ) > 1 || @@ -265,10 +265,10 @@ void pixel_minimap::flush_cache_updates() for( int y = 0; y < SEEY; ++y ) { for( int x = 0; x < SEEX; ++x ) { - const auto tile_pos = projector->get_tile_pos( { x, y }, { SEEX, SEEY } ); - const auto tile_size = projector->get_tile_size(); + const point tile_pos = projector->get_tile_pos( { x, y }, { SEEX, SEEY } ); + const point tile_size = projector->get_tile_size(); - const auto rect = SDL_Rect{ tile_pos.x, tile_pos.y, tile_size.x, tile_size.y }; + const SDL_Rect rect = SDL_Rect{ tile_pos.x, tile_pos.y, tile_size.x, tile_size.y }; render_fill_rect( renderer, rect, 0x00, 0x00, 0x00 ); } @@ -276,14 +276,14 @@ void pixel_minimap::flush_cache_updates() } for( const point &p : mcp.second.update_list ) { - const auto tile_pos = projector->get_tile_pos( p, { SEEX, SEEY } ); - const auto tile_color = mcp.second.color_at( p ); + const point tile_pos = projector->get_tile_pos( p, { SEEX, SEEY } ); + const SDL_Color tile_color = mcp.second.color_at( p ); if( pixel_size.x == 1 && pixel_size.y == 1 ) { SetRenderDrawColor( renderer, tile_color.r, tile_color.g, tile_color.b, tile_color.a ); RenderDrawPoint( renderer, tile_pos.x, tile_pos.y ); } else { - const auto rect = SDL_Rect{ tile_pos.x, tile_pos.y, pixel_size.x, pixel_size.y }; + const SDL_Rect rect = SDL_Rect{ tile_pos.x, tile_pos.y, pixel_size.x, pixel_size.y }; render_fill_rect( renderer, rect, tile_color.r, tile_color.g, tile_color.b ); } } @@ -294,18 +294,18 @@ void pixel_minimap::flush_cache_updates() void pixel_minimap::update_cache_at( const tripoint &sm_pos ) { - const auto &access_cache = g->m.access_cache( sm_pos.z ); + const level_cache &access_cache = g->m.access_cache( sm_pos.z ); const bool nv_goggle = g->u.get_vision_modes()[NV_GOGGLES]; - auto &cache_item = get_cache_at( g->m.get_abs_sub() + sm_pos ); - const auto ms_pos = sm_to_ms_copy( sm_pos ); + submap_cache &cache_item = get_cache_at( g->m.get_abs_sub() + sm_pos ); + const tripoint ms_pos = sm_to_ms_copy( sm_pos ); cache_item.touched = true; for( int y = 0; y < SEEY; ++y ) { for( int x = 0; x < SEEX; ++x ) { - const auto p = ms_pos + tripoint{ x, y, 0 }; - const auto lighting = access_cache.visibility_cache[p.x][p.y]; + const tripoint p = ms_pos + tripoint{ x, y, 0 }; + const lit_level lighting = access_cache.visibility_cache[p.x][p.y]; SDL_Color color; @@ -374,7 +374,7 @@ void pixel_minimap::set_screen_rect( const SDL_Rect &screen_rect ) projector = create_projector( screen_rect ); pixel_size = get_pixel_size( projector->get_tile_size(), settings.mode ); - const auto size_on_screen = projector->get_tiles_size( total_tiles_count ); + const point size_on_screen = projector->get_tiles_size( total_tiles_count ); if( settings.scale_to_fit ) { main_tex_clip_rect = SDL_Rect{ 0, 0, size_on_screen.x, size_on_screen.y }; @@ -407,10 +407,10 @@ void pixel_minimap::set_screen_rect( const SDL_Rect &screen_rect ) cache.clear(); - const auto chunk_size = projector->get_tiles_size( { SEEX, SEEY } ); + const point chunk_size = projector->get_tiles_size( { SEEX, SEEY } ); const auto chunk_texture_generator = [&chunk_size, this]() { - auto result = create_cache_texture( renderer, chunk_size.x, chunk_size.y ); + SDL_Texture_Ptr result = create_cache_texture( renderer, chunk_size.x, chunk_size.y ); SetTextureBlendMode( result, SDL_BLENDMODE_BLEND ); return result; }; @@ -444,13 +444,13 @@ void pixel_minimap::render( const tripoint ¢er ) void pixel_minimap::render_cache( const tripoint ¢er ) { - const auto sm_center = g->m.get_abs_sub() + ms_to_sm_copy( center ); - const auto sm_offset = tripoint{ + const tripoint sm_center = g->m.get_abs_sub() + ms_to_sm_copy( center ); + const tripoint sm_offset = tripoint{ total_tiles_count.x / SEEX / 2, total_tiles_count.y / SEEY / 2, 0 }; - auto ms_offset = center.xy(); + point ms_offset = center.xy(); ms_to_sm_remain( ms_offset ); ms_offset = point{ SEEX / 2, SEEY / 2 } - ms_offset; @@ -459,7 +459,7 @@ void pixel_minimap::render_cache( const tripoint ¢er ) continue; // What you gonna do with all that junk? } - const auto rel_pos = elem.first - sm_center; + const tripoint rel_pos = elem.first - sm_center; if( std::abs( rel_pos.x ) > sm_offset.x + 1 || std::abs( rel_pos.y ) > sm_offset.y + 1 || @@ -467,10 +467,10 @@ void pixel_minimap::render_cache( const tripoint ¢er ) continue; } - const auto sm_pos = rel_pos + sm_offset; - const auto ms_pos = sm_to_ms_copy( sm_pos ) + ms_offset; + const tripoint sm_pos = rel_pos + sm_offset; + const tripoint ms_pos = sm_to_ms_copy( sm_pos ) + ms_offset; - const auto chunk_rect = projector->get_chunk_rect( ms_pos.xy(), { SEEX, SEEY } ); + const SDL_Rect chunk_rect = projector->get_chunk_rect( ms_pos.xy(), { SEEX, SEEY } ); RenderCopy( renderer, elem.second.chunk_tex, nullptr, &chunk_rect ); } @@ -493,7 +493,7 @@ void pixel_minimap::render_critters( const tripoint ¢er ) mixture = lerp_clamped( 0, 100, std::max( s, 0.0f ) ); } - const auto &access_cache = g->m.access_cache( center.z ); + const level_cache &access_cache = g->m.access_cache( center.z ); const int start_x = center.x - total_tiles_count.x / 2; const int start_y = center.y - total_tiles_count.y / 2; @@ -504,8 +504,8 @@ void pixel_minimap::render_critters( const tripoint ¢er ) for( int y = 0; y < total_tiles_count.y; y++ ) { for( int x = 0; x < total_tiles_count.x; x++ ) { - const auto p = tripoint{ start_x + x, start_y + y, center.z }; - const auto lighting = access_cache.visibility_cache[p.x][p.y]; + const tripoint p = tripoint{ start_x + x, start_y + y, center.z }; + const lit_level lighting = access_cache.visibility_cache[p.x][p.y]; if( lighting == LL_DARK || lighting == LL_BLANK ) { continue; @@ -517,9 +517,9 @@ void pixel_minimap::render_critters( const tripoint ¢er ) continue; } - const auto critter_pos = projector->get_tile_pos( { x, y }, total_tiles_count ); - const auto critter_rect = SDL_Rect{ critter_pos.x, critter_pos.y, beacon_size.x, beacon_size.y }; - const auto critter_color = get_critter_color( critter, flicker, mixture ); + const point critter_pos = projector->get_tile_pos( { x, y }, total_tiles_count ); + const SDL_Rect critter_rect = SDL_Rect{ critter_pos.x, critter_pos.y, beacon_size.x, beacon_size.y }; + const SDL_Color critter_color = get_critter_color( critter, flicker, mixture ); draw_beacon( critter_rect, critter_color ); } diff --git a/src/pixel_minimap_projectors.cpp b/src/pixel_minimap_projectors.cpp index b49a3fb63ba55..b9166231234fb 100644 --- a/src/pixel_minimap_projectors.cpp +++ b/src/pixel_minimap_projectors.cpp @@ -67,9 +67,9 @@ SDL_Rect pixel_minimap_iso_projector::get_chunk_rect( const point &p, const point &tiles_count ) const { - const auto size = get_tiles_size( tiles_count ); - const auto offset = point{ 0, tile_size.y *tiles_count.y / 2 }; - const auto pos = get_tile_pos( p, total_tiles_count ) - offset; + const point size = get_tiles_size( tiles_count ); + const point offset = point{ 0, tile_size.y *tiles_count.y / 2 }; + const point pos = get_tile_pos( p, total_tiles_count ) - offset; return { pos.x, pos.y, size.x, size.y }; } diff --git a/src/player.cpp b/src/player.cpp index dea836289f80b..bbd9d08718982 100644 --- a/src/player.cpp +++ b/src/player.cpp @@ -58,7 +58,6 @@ #include "npc.h" #include "options.h" #include "output.h" -#include "overlay_ordering.h" #include "overmapbuffer.h" #include "pickup.h" #include "profession.h" @@ -120,17 +119,15 @@ const efftype_id effect_attention( "attention" ); const efftype_id effect_bandaged( "bandaged" ); const efftype_id effect_bite( "bite" ); const efftype_id effect_blind( "blind" ); -const efftype_id effect_blisters( "blisters" ); const efftype_id effect_bloodworms( "bloodworms" ); const efftype_id effect_boomered( "boomered" ); const efftype_id effect_brainworms( "brainworms" ); const efftype_id effect_cig( "cig" ); -const efftype_id effect_cold( "cold" ); const efftype_id effect_common_cold( "common_cold" ); const efftype_id effect_contacts( "contacts" ); -const efftype_id effect_controlled( "controlled" ); const efftype_id effect_corroding( "corroding" ); const efftype_id effect_cough_suppress( "cough_suppress" ); +const efftype_id effect_recently_coughed( "recently_coughed" ); const efftype_id effect_darkness( "darkness" ); const efftype_id effect_datura( "datura" ); const efftype_id effect_deaf( "deaf" ); @@ -145,17 +142,13 @@ const efftype_id effect_evil( "evil" ); const efftype_id effect_flu( "flu" ); const efftype_id effect_foodpoison( "foodpoison" ); const efftype_id effect_formication( "formication" ); -const efftype_id effect_frostbite( "frostbite" ); -const efftype_id effect_frostbite_recovery( "frostbite_recovery" ); const efftype_id effect_fungus( "fungus" ); -const efftype_id effect_glowing( "glowing" ); const efftype_id effect_glowy_led( "glowy_led" ); const efftype_id effect_got_checked( "got_checked" ); const efftype_id effect_grabbed( "grabbed" ); const efftype_id effect_grabbing( "grabbing" ); const efftype_id effect_hallu( "hallu" ); const efftype_id effect_happy( "happy" ); -const efftype_id effect_hot( "hot" ); const efftype_id effect_infected( "infected" ); const efftype_id effect_iodine( "iodine" ); const efftype_id effect_irradiated( "irradiated" ); @@ -176,7 +169,6 @@ const efftype_id effect_pkill2( "pkill2" ); const efftype_id effect_pkill3( "pkill3" ); const efftype_id effect_recover( "recover" ); const efftype_id effect_riding( "riding" ); -const efftype_id effect_ridden( "ridden" ); const efftype_id effect_sad( "sad" ); const efftype_id effect_shakes( "shakes" ); const efftype_id effect_sleep( "sleep" ); @@ -186,21 +178,14 @@ const efftype_id effect_stim( "stim" ); const efftype_id effect_stim_overdose( "stim_overdose" ); const efftype_id effect_stunned( "stunned" ); const efftype_id effect_tapeworm( "tapeworm" ); -const efftype_id effect_took_prozac( "took_prozac" ); const efftype_id effect_took_thorazine( "took_thorazine" ); -const efftype_id effect_took_xanax( "took_xanax" ); const efftype_id effect_valium( "valium" ); const efftype_id effect_visuals( "visuals" ); const efftype_id effect_weed_high( "weed_high" ); const efftype_id effect_winded( "winded" ); const efftype_id effect_bleed( "bleed" ); const efftype_id effect_magnesium_supplements( "magnesium" ); -const efftype_id effect_harnessed( "harnessed" ); const efftype_id effect_pet( "pet" ); -const efftype_id effect_tied( "tied" ); - -const matype_id style_none( "style_none" ); -const matype_id style_kicks( "style_kicks" ); const species_id ROBOT( "ROBOT" ); @@ -213,7 +198,6 @@ static const bionic_id bio_armor_legs( "bio_armor_legs" ); static const bionic_id bio_armor_torso( "bio_armor_torso" ); static const bionic_id bio_blaster( "bio_blaster" ); static const bionic_id bio_carbon( "bio_carbon" ); -static const bionic_id bio_climate( "bio_climate" ); static const bionic_id bio_cloak( "bio_cloak" ); static const bionic_id bio_cqb( "bio_cqb" ); static const bionic_id bio_dis_acid( "bio_dis_acid" ); @@ -223,13 +207,10 @@ static const bionic_id bio_earplugs( "bio_earplugs" ); static const bionic_id bio_ears( "bio_ears" ); static const bionic_id bio_eye_optic( "bio_eye_optic" ); static const bionic_id bio_faraday( "bio_faraday" ); -static const bionic_id bio_flashlight( "bio_flashlight" ); -static const bionic_id bio_tattoo_led( "bio_tattoo_led" ); static const bionic_id bio_glowy( "bio_glowy" ); static const bionic_id bio_geiger( "bio_geiger" ); static const bionic_id bio_gills( "bio_gills" ); static const bionic_id bio_ground_sonar( "bio_ground_sonar" ); -static const bionic_id bio_heatsink( "bio_heatsink" ); static const bionic_id bio_itchy( "bio_itchy" ); static const bionic_id bio_jointservo( "bio_jointservo" ); static const bionic_id bio_laser( "bio_laser" ); @@ -237,7 +218,6 @@ static const bionic_id bio_leaky( "bio_leaky" ); static const bionic_id bio_lighter( "bio_lighter" ); static const bionic_id bio_membrane( "bio_membrane" ); static const bionic_id bio_memory( "bio_memory" ); -static const bionic_id bio_metabolics( "bio_metabolics" ); static const bionic_id bio_noise( "bio_noise" ); static const bionic_id bio_plut_filter( "bio_plut_filter" ); static const bionic_id bio_power_weakness( "bio_power_weakness" ); @@ -294,7 +274,6 @@ static const trait_id trait_DEBUG_NODMG( "DEBUG_NODMG" ); static const trait_id trait_DEBUG_NOTEMP( "DEBUG_NOTEMP" ); static const trait_id trait_DISIMMUNE( "DISIMMUNE" ); static const trait_id trait_DISRESISTANT( "DISRESISTANT" ); -static const trait_id trait_DOWN( "DOWN" ); static const trait_id trait_EASYSLEEPER( "EASYSLEEPER" ); static const trait_id trait_EASYSLEEPER2( "EASYSLEEPER2" ); static const trait_id trait_ELECTRORECEPTORS( "ELECTRORECEPTORS" ); @@ -313,7 +292,6 @@ static const trait_id trait_GILLS_CEPH( "GILLS_CEPH" ); static const trait_id trait_HATES_BOOKS( "HATES_BOOKS" ); static const trait_id trait_HEAVYSLEEPER( "HEAVYSLEEPER" ); static const trait_id trait_HEAVYSLEEPER2( "HEAVYSLEEPER2" ); -static const trait_id trait_HOARDER( "HOARDER" ); static const trait_id trait_HOLLOW_BONES( "HOLLOW_BONES" ); static const trait_id trait_HOOVES( "HOOVES" ); static const trait_id trait_HORNS_POINTED( "HORNS_POINTED" ); @@ -466,9 +444,7 @@ stat_mod player::get_pain_penalty() const return ret; } -player::player() : - next_climate_control_check( calendar::before_time_starts ) - , cached_time( calendar::before_time_starts ) +player::player() { str_cur = 8; str_max = 8; @@ -482,13 +458,6 @@ player::player() : blocks_left = 1; set_power_level( 0_kJ ); set_max_power_level( 0_kJ ); - stamina = 10000; //Temporary value for stamina. It will be reset later from external json option. - stim = 0; - pkill = 0; - radiation = 0; - tank_plut = 0; - reactor_plut = 0; - slow_rad = 0; cash = 0; scent = 500; male = true; @@ -499,14 +468,10 @@ player::player() : moves = 100; movecounter = 0; oxygen = 0; - last_climate_control_ret = false; in_vehicle = false; controlling_vehicle = false; grab_point = tripoint_zero; hauling = false; - move_mode = PMM_WALK; - style_selected = style_none; - keep_hands_free = false; focus_pool = 100; last_item = itype_id( "null" ); sight_max = 9999; @@ -517,10 +482,6 @@ player::player() : empty_traits(); - temp_cur.fill( BODYTEMP_NORM ); - frostbite_timer.fill( 0 ); - temp_conv.fill( BODYTEMP_NORM ); - body_wetness.fill( 0 ); nv_cached = false; volume = 0; @@ -530,26 +491,8 @@ player::player() : vitamin_levels[ v.first ] = 0; } - drench_capacity[bp_eyes] = 1; - drench_capacity[bp_mouth] = 1; - drench_capacity[bp_head] = 7; - drench_capacity[bp_leg_l] = 11; - drench_capacity[bp_leg_r] = 11; - drench_capacity[bp_foot_l] = 3; - drench_capacity[bp_foot_r] = 3; - drench_capacity[bp_arm_l] = 10; - drench_capacity[bp_arm_r] = 10; - drench_capacity[bp_hand_l] = 3; - drench_capacity[bp_hand_r] = 3; - drench_capacity[bp_torso] = 40; - recalc_sight_limits(); reset_encumbrance(); - - ma_styles = {{ - style_none, style_kicks - } - }; } player::~player() = default; @@ -560,12 +503,10 @@ void player::normalize() { Character::normalize(); - style_selected = style_none; - recalc_hp(); temp_conv.fill( BODYTEMP_NORM ); - stamina = get_stamina_max(); + set_stamina( get_stamina_max() ); } void player::process_turn() @@ -584,12 +525,6 @@ void player::process_turn() // Didn't just pick something up last_item = itype_id( "null" ); - if( has_active_bionic( bio_metabolics ) && !is_max_power() && - 0.8f < get_kcal_percent() && calendar::once_every( 3_turns ) ) { - // Efficiency is approximately 25%, power output is ~60W - mod_stored_kcal( -1 ); - mod_power_level( 1_kJ ); - } if( has_trait( trait_DEBUG_BIONIC_POWER ) ) { mod_power_level( get_max_power_level() ); } @@ -658,8 +593,8 @@ void player::process_turn() for( auto &style : autolearn_martialart_types() ) { const matype_id &ma( style ); - if( !has_martialart( ma ) && can_autolearn( ma ) ) { - add_martialart( ma ); + if( !martial_arts_data.has_martialart( ma ) && can_autolearn( ma ) ) { + martial_arts_data.add_martialart( ma ); add_msg_if_player( m_info, _( "You have learned a new style: %s!" ), ma.obj().name ); } } @@ -721,755 +656,6 @@ void player::action_taken() nv_cached = false; } -void player::update_morale() -{ - morale->decay( 1_minutes ); - apply_persistent_morale(); -} - -void player::apply_persistent_morale() -{ - // Hoarders get a morale penalty if they're not carrying a full inventory. - if( has_trait( trait_HOARDER ) ) { - int pen = ( volume_capacity() - volume_carried() ) / 125_ml; - if( pen > 70 ) { - pen = 70; - } - if( pen <= 0 ) { - pen = 0; - } - if( has_effect( effect_took_xanax ) ) { - pen = pen / 7; - } else if( has_effect( effect_took_prozac ) ) { - pen = pen / 2; - } - if( pen > 0 ) { - add_morale( MORALE_PERM_HOARDER, -pen, -pen, 1_minutes, 1_minutes, true ); - } - } - // Nomads get a morale penalty if they stay near the same overmap tiles too long. - if( has_trait( trait_NOMAD ) || has_trait( trait_NOMAD2 ) || has_trait( trait_NOMAD3 ) ) { - const tripoint ompos = global_omt_location(); - float total_time = 0; - // Check how long we've stayed in any overmap tile within 5 of us. - const int max_dist = 5; - for( const tripoint &pos : points_in_radius( ompos, max_dist ) ) { - const float dist = rl_dist( ompos, pos ); - if( dist > max_dist ) { - continue; - } - const auto iter = overmap_time.find( pos.xy() ); - if( iter == overmap_time.end() ) { - continue; - } - // Count time in own tile fully, tiles one away as 4/5, tiles two away as 3/5, etc. - total_time += to_moves( iter->second ) * ( max_dist - dist ) / max_dist; - } - // Characters with higher tiers of Nomad suffer worse morale penalties, faster. - int max_unhappiness; - float min_time, max_time; - if( has_trait( trait_NOMAD ) ) { - max_unhappiness = 20; - min_time = to_moves( 12_hours ); - max_time = to_moves( 1_days ); - } else if( has_trait( trait_NOMAD2 ) ) { - max_unhappiness = 40; - min_time = to_moves( 4_hours ); - max_time = to_moves( 8_hours ); - } else { // traid_NOMAD3 - max_unhappiness = 60; - min_time = to_moves( 1_hours ); - max_time = to_moves( 2_hours ); - } - // The penalty starts at 1 at min_time and scales up to max_unhappiness at max_time. - const float t = ( total_time - min_time ) / ( max_time - min_time ); - const int pen = ceil( lerp_clamped( 0, max_unhappiness, t ) ); - if( pen > 0 ) { - add_morale( MORALE_PERM_NOMAD, -pen, -pen, 1_minutes, 1_minutes, true ); - } - } - - if( has_trait( trait_PROF_FOODP ) ) { - // Loosing your face is distressing - if( !( is_wearing( itype_id( "foodperson_mask" ) ) || - is_wearing( itype_id( "foodperson_mask_on" ) ) ) ) { - add_morale( MORALE_PERM_NOFACE, -20, -20, 1_minutes, 1_minutes, true ); - } else if( is_wearing( itype_id( "foodperson_mask" ) ) || - is_wearing( itype_id( "foodperson_mask_on" ) ) ) { - rem_morale( MORALE_PERM_NOFACE ); - } - - if( is_wearing( itype_id( "foodperson_mask_on" ) ) ) { - add_morale( MORALE_PERM_FPMODE_ON, 10, 10, 1_minutes, 1_minutes, true ); - } else { - rem_morale( MORALE_PERM_FPMODE_ON ); - } - } - -} - -/* Here lies the intended effects of body temperature - -Assumption 1 : a naked person is comfortable at 19C/66.2F (31C/87.8F at rest). -Assumption 2 : a "lightly clothed" person is comfortable at 13C/55.4F (25C/77F at rest). -Assumption 3 : the player is always running, thus generating more heat. -Assumption 4 : frostbite cannot happen above 0C temperature.* -* In the current model, a naked person can get frostbite at 1C. This isn't true, but it's a compromise with using nice whole numbers. - -Here is a list of warmth values and the corresponding temperatures in which the player is comfortable, and in which the player is very cold. - -Warmth Temperature (Comfortable) Temperature (Very cold) Notes - 0 19C / 66.2F -11C / 12.2F * Naked - 10 13C / 55.4F -17C / 1.4F * Lightly clothed - 20 7C / 44.6F -23C / -9.4F - 30 1C / 33.8F -29C / -20.2F - 40 -5C / 23.0F -35C / -31.0F - 50 -11C / 12.2F -41C / -41.8F - 60 -17C / 1.4F -47C / -52.6F - 70 -23C / -9.4F -53C / -63.4F - 80 -29C / -20.2F -59C / -74.2F - 90 -35C / -31.0F -65C / -85.0F -100 -41C / -41.8F -71C / -95.8F - -WIND POWER -Except for the last entry, pressures are sort of made up... - -Breeze : 5mph (1015 hPa) -Strong Breeze : 20 mph (1000 hPa) -Moderate Gale : 30 mph (990 hPa) -Storm : 50 mph (970 hPa) -Hurricane : 100 mph (920 hPa) -HURRICANE : 185 mph (880 hPa) [Ref: Hurricane Wilma] -*/ - -void player::update_bodytemp() -{ - if( has_trait( trait_DEBUG_NOTEMP ) ) { - temp_cur.fill( BODYTEMP_NORM ); - temp_conv.fill( BODYTEMP_NORM ); - return; - } - /* Cache calls to g->get_temperature( player position ), used in several places in function */ - const auto player_local_temp = g->weather.get_temperature( pos() ); - // NOTE : visit weather.h for some details on the numbers used - // Converts temperature to Celsius/10 - int Ctemperature = static_cast( 100 * temp_to_celsius( player_local_temp ) ); - const w_point weather = *g->weather.weather_precise; - int vehwindspeed = 0; - const optional_vpart_position vp = g->m.veh_at( pos() ); - if( vp ) { - vehwindspeed = abs( vp->vehicle().velocity / 100 ); // vehicle velocity in mph - } - const oter_id &cur_om_ter = overmap_buffer.ter( global_omt_location() ); - bool sheltered = g->is_sheltered( pos() ); - double total_windpower = get_local_windpower( g->weather.windspeed + vehwindspeed, cur_om_ter, - pos(), - g->weather.winddirection, sheltered ); - // Let's cache this not to check it num_bp times - const bool has_bark = has_trait( trait_BARK ); - const bool has_sleep = has_effect( effect_sleep ); - const bool has_sleep_state = has_sleep || in_sleep_state(); - const bool has_heatsink = has_bionic( bio_heatsink ) || is_wearing( "rm13_armor_on" ) || - has_trait( trait_M_SKIN2 ) || has_trait( trait_M_SKIN3 ); - const bool has_common_cold = has_effect( effect_common_cold ); - const bool has_climate_control = in_climate_control(); - const bool use_floor_warmth = can_use_floor_warmth(); - const furn_id furn_at_pos = g->m.furn( pos() ); - const cata::optional boardable = vp.part_with_feature( "BOARDABLE", true ); - // Temperature norms - // Ambient normal temperature is lower while asleep - const int ambient_norm = has_sleep ? 3100 : 1900; - - /** - * Calculations that affect all body parts equally go here, not in the loop - */ - // Hunger / Starvation - // -1000 when about to starve to death - // -1333 when starving with light eater - // -2000 if you managed to get 0 metabolism rate somehow - const float met_rate = metabolic_rate(); - const int hunger_warmth = static_cast( 2000 * std::min( met_rate, 1.0f ) - 2000 ); - // Give SOME bonus to those living furnaces with extreme metabolism - const int metabolism_warmth = static_cast( std::max( 0.0f, met_rate - 1.0f ) * 1000 ); - // Fatigue - // ~-900 when exhausted - const int fatigue_warmth = has_sleep ? 0 : static_cast( std::min( 0.0f, - -1.5f * get_fatigue() ) ); - - // Sunlight - const int sunlight_warmth = g->is_in_sunlight( pos() ) ? ( g->weather.weather == WEATHER_SUNNY ? - 1000 : - 500 ) : 0; - const int best_fire = get_heat_radiation( pos(), true ); - - const int lying_warmth = use_floor_warmth ? floor_warmth( pos() ) : 0; - const int water_temperature = - 100 * temp_to_celsius( g->weather.get_cur_weather_gen().get_water_temperature() ); - - // Correction of body temperature due to traits and mutations - // Lower heat is applied always - const int mutation_heat_low = bodytemp_modifier_traits( false ); - const int mutation_heat_high = bodytemp_modifier_traits( true ); - // Difference between high and low is the "safe" heat - one we only apply if it's beneficial - const int mutation_heat_bonus = mutation_heat_high - mutation_heat_low; - - const int h_radiation = get_heat_radiation( pos(), false ); - // Current temperature and converging temperature calculations - for( const body_part bp : all_body_parts ) { - // Skip eyes - if( bp == bp_eyes ) { - continue; - } - - // This adjusts the temperature scale to match the bodytemp scale, - // it needs to be reset every iteration - int adjusted_temp = ( Ctemperature - ambient_norm ); - int bp_windpower = total_windpower; - // Represents the fact that the body generates heat when it is cold. - // TODO: : should this increase hunger? - double scaled_temperature = logarithmic_range( BODYTEMP_VERY_COLD, BODYTEMP_VERY_HOT, - temp_cur[bp] ); - // Produces a smooth curve between 30.0 and 60.0. - double homeostasis_adjustement = 30.0 * ( 1.0 + scaled_temperature ); - int clothing_warmth_adjustement = static_cast( homeostasis_adjustement * warmth( bp ) ); - int clothing_warmth_adjusted_bonus = static_cast( homeostasis_adjustement * bonus_item_warmth( - bp ) ); - // WINDCHILL - - bp_windpower = static_cast( static_cast( bp_windpower ) * ( 1 - get_wind_resistance( - bp ) / 100.0 ) ); - // Calculate windchill - int windchill = get_local_windchill( player_local_temp, - get_local_humidity( weather.humidity, g->weather.weather, - sheltered ), - bp_windpower ); - // If you're standing in water, air temperature is replaced by water temperature. No wind. - const ter_id ter_at_pos = g->m.ter( pos() ); - // Convert to 0.01C - if( ( ter_at_pos == t_water_dp || ter_at_pos == t_water_pool || ter_at_pos == t_swater_dp || - ter_at_pos == t_water_moving_dp ) || - ( ( ter_at_pos == t_water_sh || ter_at_pos == t_swater_sh || ter_at_pos == t_sewage || - ter_at_pos == t_water_moving_sh ) && - ( bp == bp_foot_l || bp == bp_foot_r || bp == bp_leg_l || bp == bp_leg_r ) ) ) { - adjusted_temp += water_temperature - Ctemperature; // Swap out air temp for water temp. - windchill = 0; - } - - // Convergent temperature is affected by ambient temperature, - // clothing warmth, and body wetness. - temp_conv[bp] = BODYTEMP_NORM + adjusted_temp + windchill * 100 + clothing_warmth_adjustement; - // HUNGER / STARVATION - temp_conv[bp] += hunger_warmth; - // FATIGUE - temp_conv[bp] += fatigue_warmth; - // Mutations - temp_conv[bp] += mutation_heat_low; - // DIRECT HEAT SOURCES (generates body heat, helps fight frostbite) - // Bark : lowers blister count to -5; harder to get blisters - int blister_count = ( has_bark ? -5 : 0 ); // If the counter is high, your skin starts to burn - - if( frostbite_timer[bp] > 0 ) { - frostbite_timer[bp] -= std::max( 5, h_radiation ); - } - // 111F (44C) is a temperature in which proteins break down: https://en.wikipedia.org/wiki/Burn - blister_count += h_radiation - 111 > 0 ? std::max( static_cast( sqrt( h_radiation - 111 ) ), - 0 ) : 0; - - const bool pyromania = has_trait( trait_PYROMANIA ); - // BLISTERS : Skin gets blisters from intense heat exposure. - // Fire protection protects from blisters. - // Heatsinks give near-immunity. - if( blister_count - get_armor_fire( bp ) - ( has_heatsink ? 20 : 0 ) > 0 ) { - add_effect( effect_blisters, 1_turns, bp ); - if( pyromania ) { - add_morale( MORALE_PYROMANIA_NEARFIRE, 10, 10, 1_hours, - 30_minutes ); // Proximity that's close enough to harm us gives us a bit of a thrill - rem_morale( MORALE_PYROMANIA_NOFIRE ); - } - } else if( pyromania && best_fire >= 1 ) { // Only give us fire bonus if there's actually fire - add_morale( MORALE_PYROMANIA_NEARFIRE, 5, 5, 30_minutes, - 15_minutes ); // Gain a much smaller mood boost even if it doesn't hurt us - rem_morale( MORALE_PYROMANIA_NOFIRE ); - } - - temp_conv[bp] += sunlight_warmth; - // DISEASES - if( bp == bp_head && has_effect( effect_flu ) ) { - temp_conv[bp] += 1500; - } - if( has_common_cold ) { - temp_conv[bp] -= 750; - } - // Loss of blood results in loss of body heat, 1% bodyheat lost per 2% hp lost - temp_conv[bp] -= blood_loss( bp ) * temp_conv[bp] / 200; - - // EQUALIZATION - switch( bp ) { - case bp_torso: - temp_equalizer( bp_torso, bp_arm_l ); - temp_equalizer( bp_torso, bp_arm_r ); - temp_equalizer( bp_torso, bp_leg_l ); - temp_equalizer( bp_torso, bp_leg_r ); - temp_equalizer( bp_torso, bp_head ); - break; - case bp_head: - temp_equalizer( bp_head, bp_torso ); - temp_equalizer( bp_head, bp_mouth ); - break; - case bp_arm_l: - temp_equalizer( bp_arm_l, bp_torso ); - temp_equalizer( bp_arm_l, bp_hand_l ); - break; - case bp_arm_r: - temp_equalizer( bp_arm_r, bp_torso ); - temp_equalizer( bp_arm_r, bp_hand_r ); - break; - case bp_leg_l: - temp_equalizer( bp_leg_l, bp_torso ); - temp_equalizer( bp_leg_l, bp_foot_l ); - break; - case bp_leg_r: - temp_equalizer( bp_leg_r, bp_torso ); - temp_equalizer( bp_leg_r, bp_foot_r ); - break; - case bp_mouth: - temp_equalizer( bp_mouth, bp_head ); - break; - case bp_hand_l: - temp_equalizer( bp_hand_l, bp_arm_l ); - break; - case bp_hand_r: - temp_equalizer( bp_hand_r, bp_arm_r ); - break; - case bp_foot_l: - temp_equalizer( bp_foot_l, bp_leg_l ); - break; - case bp_foot_r: - temp_equalizer( bp_foot_r, bp_leg_r ); - break; - default: - debugmsg( "Wacky body part temperature equalization!" ); - break; - } - - // Climate Control eases the effects of high and low ambient temps - if( has_climate_control ) { - temp_conv[bp] = temp_corrected_by_climate_control( temp_conv[bp] ); - } - - // FINAL CALCULATION : Increments current body temperature towards convergent. - int bonus_fire_warmth = 0; - if( !has_sleep_state && best_fire > 0 ) { - // Warming up over a fire - // Extremities are easier to extend over a fire - switch( bp ) { - case bp_head: - case bp_torso: - case bp_mouth: - case bp_leg_l: - case bp_leg_r: - bonus_fire_warmth = best_fire * best_fire * 150; // Not much - break; - case bp_arm_l: - case bp_arm_r: - bonus_fire_warmth = best_fire * 600; // A fair bit - break; - case bp_foot_l: - case bp_foot_r: - if( furn_at_pos != f_null ) { - // Can sit on something to lift feet up to the fire - bonus_fire_warmth = best_fire * furn_at_pos.obj().bonus_fire_warmth_feet; - } else if( boardable ) { - bonus_fire_warmth = best_fire * boardable->info().bonus_fire_warmth_feet; - } else { - // Has to stand - bonus_fire_warmth = best_fire * 300; - } - break; - case bp_hand_l: - case bp_hand_r: - bonus_fire_warmth = best_fire * 1500; // A lot - default: - break; - } - } - - const int comfortable_warmth = bonus_fire_warmth + lying_warmth; - const int bonus_warmth = comfortable_warmth + metabolism_warmth + mutation_heat_bonus; - if( bonus_warmth > 0 ) { - // Approximate temp_conv needed to reach comfortable temperature in this very turn - // Basically inverted formula for temp_cur below - int desired = 501 * BODYTEMP_NORM - 499 * temp_cur[bp]; - if( std::abs( BODYTEMP_NORM - desired ) < 1000 ) { - desired = BODYTEMP_NORM; // Ensure that it converges - } else if( desired > BODYTEMP_HOT ) { - desired = BODYTEMP_HOT; // Cap excess at sane temperature - } - - if( desired < temp_conv[bp] ) { - // Too hot, can't help here - } else if( desired < temp_conv[bp] + bonus_warmth ) { - // Use some heat, but not all of it - temp_conv[bp] = desired; - } else { - // Use all the heat - temp_conv[bp] += bonus_warmth; - } - - // Morale bonus for comfiness - only if actually comfy (not too warm/cold) - // Spread the morale bonus in time. - if( comfortable_warmth > 0 && - // @todo make this simpler and use time_duration/time_point - to_turn( calendar::turn ) % to_turns( 1_minutes ) == to_turns - ( 1_minutes * bp ) / to_turns( 1_minutes * num_bp ) && - get_effect_int( effect_cold, num_bp ) == 0 && - get_effect_int( effect_hot, num_bp ) == 0 && - temp_cur[bp] > BODYTEMP_COLD && temp_cur[bp] <= BODYTEMP_NORM ) { - add_morale( MORALE_COMFY, 1, 10, 2_minutes, 1_minutes, true ); - } - } - - int temp_before = temp_cur[bp]; - int temp_difference = temp_before - temp_conv[bp]; // Negative if the player is warming up. - // exp(-0.001) : half life of 60 minutes, exp(-0.002) : half life of 30 minutes, - // exp(-0.003) : half life of 20 minutes, exp(-0.004) : half life of 15 minutes - int rounding_error = 0; - // If temp_diff is small, the player cannot warm up due to rounding errors. This fixes that. - if( temp_difference < 0 && temp_difference > -600 ) { - rounding_error = 1; - } - if( temp_cur[bp] != temp_conv[bp] ) { - temp_cur[bp] = static_cast( temp_difference * exp( -0.002 ) + temp_conv[bp] + rounding_error ); - } - // This statement checks if we should be wearing our bonus warmth. - // If, after all the warmth calculations, we should be, then we have to recalculate the temperature. - if( clothing_warmth_adjusted_bonus != 0 && - ( ( temp_conv[bp] + clothing_warmth_adjusted_bonus ) < BODYTEMP_HOT || - temp_cur[bp] < BODYTEMP_COLD ) ) { - temp_conv[bp] += clothing_warmth_adjusted_bonus; - rounding_error = 0; - if( temp_difference < 0 && temp_difference > -600 ) { - rounding_error = 1; - } - if( temp_before != temp_conv[bp] ) { - temp_difference = temp_before - temp_conv[bp]; - temp_cur[bp] = static_cast( temp_difference * exp( -0.002 ) + temp_conv[bp] + rounding_error ); - } - } - int temp_after = temp_cur[bp]; - // PENALTIES - if( temp_cur[bp] < BODYTEMP_FREEZING ) { - add_effect( effect_cold, 1_turns, bp, true, 3 ); - } else if( temp_cur[bp] < BODYTEMP_VERY_COLD ) { - add_effect( effect_cold, 1_turns, bp, true, 2 ); - } else if( temp_cur[bp] < BODYTEMP_COLD ) { - add_effect( effect_cold, 1_turns, bp, true, 1 ); - } else if( temp_cur[bp] > BODYTEMP_SCORCHING ) { - add_effect( effect_hot, 1_turns, bp, true, 3 ); - } else if( temp_cur[bp] > BODYTEMP_VERY_HOT ) { - add_effect( effect_hot, 1_turns, bp, true, 2 ); - } else if( temp_cur[bp] > BODYTEMP_HOT ) { - add_effect( effect_hot, 1_turns, bp, true, 1 ); - } else { - if( temp_cur[bp] >= BODYTEMP_COLD ) { - remove_effect( effect_cold, bp ); - } - if( temp_cur[bp] <= BODYTEMP_HOT ) { - remove_effect( effect_hot, bp ); - } - } - // FROSTBITE - only occurs to hands, feet, face - /** - - Source : http://www.atc.army.mil/weather/windchill.pdf - - Temperature and wind chill are main factors, mitigated by clothing warmth. Each 10 warmth protects against 2C of cold. - - 1200 turns in low risk, + 3 tics - 450 turns in moderate risk, + 8 tics - 50 turns in high risk, +72 tics - - Let's say frostnip @ 1800 tics, frostbite @ 3600 tics - - >> Chunked into 8 parts (http://imgur.com/xlTPmJF) - -- 2 hour risk -- - Between 30F and 10F - Between 10F and -5F, less than 20mph, -4x + 3y - 20 > 0, x : F, y : mph - -- 45 minute risk -- - Between 10F and -5F, less than 20mph, -4x + 3y - 20 < 0, x : F, y : mph - Between 10F and -5F, greater than 20mph - Less than -5F, less than 10 mph - Less than -5F, more than 10 mph, -4x + 3y - 170 > 0, x : F, y : mph - -- 5 minute risk -- - Less than -5F, more than 10 mph, -4x + 3y - 170 < 0, x : F, y : mph - Less than -35F, more than 10 mp - **/ - - if( bp == bp_mouth || bp == bp_foot_r || bp == bp_foot_l || bp == bp_hand_r || bp == bp_hand_l ) { - // Handle the frostbite timer - // Need temps in F, windPower already in mph - int wetness_percentage = 100 * body_wetness[bp] / drench_capacity[bp]; // 0 - 100 - // Warmth gives a slight buff to temperature resistance - // Wetness gives a heavy nerf to temperature resistance - double adjusted_warmth = warmth( bp ) - wetness_percentage; - int Ftemperature = static_cast( player_local_temp + 0.2 * adjusted_warmth ); - // Windchill reduced by your armor - int FBwindPower = static_cast( - total_windpower * ( 1 - get_wind_resistance( bp ) / 100.0 ) ); - - int intense = get_effect_int( effect_frostbite, bp ); - - // This has been broken down into 8 zones - // Low risk zones (stops at frostnip) - if( temp_cur[bp] < BODYTEMP_COLD && - ( ( Ftemperature < 30 && Ftemperature >= 10 ) || - ( Ftemperature < 10 && Ftemperature >= -5 && - FBwindPower < 20 && -4 * Ftemperature + 3 * FBwindPower - 20 >= 0 ) ) ) { - if( frostbite_timer[bp] < 2000 ) { - frostbite_timer[bp] += 3; - } - if( one_in( 100 ) && !has_effect( effect_frostbite, bp ) ) { - add_msg( m_warning, _( "Your %s will be frostnipped in the next few hours." ), - body_part_name( bp ) ); - } - // Medium risk zones - } else if( temp_cur[bp] < BODYTEMP_COLD && - ( ( Ftemperature < 10 && Ftemperature >= -5 && FBwindPower < 20 && - -4 * Ftemperature + 3 * FBwindPower - 20 < 0 ) || - ( Ftemperature < 10 && Ftemperature >= -5 && FBwindPower >= 20 ) || - ( Ftemperature < -5 && FBwindPower < 10 ) || - ( Ftemperature < -5 && FBwindPower >= 10 && - -4 * Ftemperature + 3 * FBwindPower - 170 >= 0 ) ) ) { - frostbite_timer[bp] += 8; - if( one_in( 100 ) && intense < 2 ) { - add_msg( m_warning, _( "Your %s will be frostbitten within the hour!" ), - body_part_name( bp ) ); - } - // High risk zones - } else if( temp_cur[bp] < BODYTEMP_COLD && - ( ( Ftemperature < -5 && FBwindPower >= 10 && - -4 * Ftemperature + 3 * FBwindPower - 170 < 0 ) || - ( Ftemperature < -35 && FBwindPower >= 10 ) ) ) { - frostbite_timer[bp] += 72; - if( one_in( 100 ) && intense < 2 ) { - add_msg( m_warning, _( "Your %s will be frostbitten any minute now!" ), - body_part_name( bp ) ); - } - // Risk free, so reduce frostbite timer - } else { - frostbite_timer[bp] -= 3; - } - - // Handle the bestowing of frostbite - if( frostbite_timer[bp] < 0 ) { - frostbite_timer[bp] = 0; - } else if( frostbite_timer[bp] > 4200 ) { - // This ensures that the player will recover in at most 3 hours. - frostbite_timer[bp] = 4200; - } - // Frostbite, no recovery possible - if( frostbite_timer[bp] >= 3600 ) { - add_effect( effect_frostbite, 1_turns, bp, true, 2 ); - remove_effect( effect_frostbite_recovery, bp ); - // Else frostnip, add recovery if we were frostbitten - } else if( frostbite_timer[bp] >= 1800 ) { - if( intense == 2 ) { - add_effect( effect_frostbite_recovery, 1_turns, bp, true ); - } - add_effect( effect_frostbite, 1_turns, bp, true, 1 ); - // Else fully recovered - } else if( frostbite_timer[bp] == 0 ) { - remove_effect( effect_frostbite, bp ); - remove_effect( effect_frostbite_recovery, bp ); - } - } - // Warn the player if condition worsens - if( temp_before > BODYTEMP_FREEZING && temp_after < BODYTEMP_FREEZING ) { - //~ %s is bodypart - add_msg( m_warning, _( "You feel your %s beginning to go numb from the cold!" ), - body_part_name( bp ) ); - } else if( temp_before > BODYTEMP_VERY_COLD && temp_after < BODYTEMP_VERY_COLD ) { - //~ %s is bodypart - add_msg( m_warning, _( "You feel your %s getting very cold." ), - body_part_name( bp ) ); - } else if( temp_before > BODYTEMP_COLD && temp_after < BODYTEMP_COLD ) { - //~ %s is bodypart - add_msg( m_warning, _( "You feel your %s getting chilly." ), - body_part_name( bp ) ); - } else if( temp_before < BODYTEMP_SCORCHING && temp_after > BODYTEMP_SCORCHING ) { - //~ %s is bodypart - add_msg( m_bad, _( "You feel your %s getting red hot from the heat!" ), - body_part_name( bp ) ); - } else if( temp_before < BODYTEMP_VERY_HOT && temp_after > BODYTEMP_VERY_HOT ) { - //~ %s is bodypart - add_msg( m_warning, _( "You feel your %s getting very hot." ), - body_part_name( bp ) ); - } else if( temp_before < BODYTEMP_HOT && temp_after > BODYTEMP_HOT ) { - //~ %s is bodypart - add_msg( m_warning, _( "You feel your %s getting warm." ), - body_part_name( bp ) ); - } - - // Warn the player that wind is going to be a problem. - // But only if it can be a problem, no need to spam player with "wind chills your scorching body" - if( temp_conv[bp] <= BODYTEMP_COLD && windchill < -10 && one_in( 200 ) ) { - add_msg( m_bad, _( "The wind is making your %s feel quite cold." ), - body_part_name( bp ) ); - } else if( temp_conv[bp] <= BODYTEMP_COLD && windchill < -20 && one_in( 100 ) ) { - add_msg( m_bad, - _( "The wind is very strong, you should find some more wind-resistant clothing for your %s." ), - body_part_name( bp ) ); - } else if( temp_conv[bp] <= BODYTEMP_COLD && windchill < -30 && one_in( 50 ) ) { - add_msg( m_bad, _( "Your clothing is not providing enough protection from the wind for your %s!" ), - body_part_name( bp ) ); - } - } -} - -bool player::can_use_floor_warmth() const -{ - // TODO: Reading? Waiting? - return in_sleep_state(); -} - -int player::floor_bedding_warmth( const tripoint &pos ) -{ - const trap &trap_at_pos = g->m.tr_at( pos ); - const ter_id ter_at_pos = g->m.ter( pos ); - const furn_id furn_at_pos = g->m.furn( pos ); - int floor_bedding_warmth = 0; - - const optional_vpart_position vp = g->m.veh_at( pos ); - const cata::optional boardable = vp.part_with_feature( "BOARDABLE", true ); - // Search the floor for bedding - if( furn_at_pos != f_null ) { - floor_bedding_warmth += furn_at_pos.obj().floor_bedding_warmth; - } else if( !trap_at_pos.is_null() ) { - floor_bedding_warmth += trap_at_pos.floor_bedding_warmth; - } else if( boardable ) { - floor_bedding_warmth += boardable->info().floor_bedding_warmth; - } else if( ter_at_pos == t_improvised_shelter ) { - floor_bedding_warmth -= 500; - } else { - floor_bedding_warmth -= 2000; - } - - return floor_bedding_warmth; -} - -int player::floor_item_warmth( const tripoint &pos ) -{ - if( !g->m.has_items( pos ) ) { - return 0; - } - - int item_warmth = 0; - // Search the floor for items - const auto floor_item = g->m.i_at( pos ); - for( const auto &elem : floor_item ) { - if( !elem.is_armor() ) { - continue; - } - // Items that are big enough and covers the torso are used to keep warm. - // Smaller items don't do as good a job - if( elem.volume() > 250_ml && - ( elem.covers( bp_torso ) || elem.covers( bp_leg_l ) || - elem.covers( bp_leg_r ) ) ) { - item_warmth += 60 * elem.get_warmth() * elem.volume() / 2500_ml; - } - } - - return item_warmth; -} - -int player::floor_warmth( const tripoint &pos ) const -{ - const int item_warmth = floor_item_warmth( pos ); - int bedding_warmth = floor_bedding_warmth( pos ); - - // If the PC has fur, etc, that will apply too - int floor_mut_warmth = bodytemp_modifier_traits_floor(); - // DOWN does not provide floor insulation, though. - // Better-than-light fur or being in one's shell does. - if( ( !( has_trait( trait_DOWN ) ) ) && ( floor_mut_warmth >= 200 ) ) { - bedding_warmth = std::max( 0, bedding_warmth ); - } - return ( item_warmth + bedding_warmth + floor_mut_warmth ); -} - -int player::bodytemp_modifier_traits( bool overheated ) const -{ - int mod = 0; - for( auto &iter : my_mutations ) { - mod += overheated ? iter.first->bodytemp_min : - iter.first->bodytemp_max; - } - return mod; -} - -int player::bodytemp_modifier_traits_floor() const -{ - int mod = 0; - for( auto &iter : my_mutations ) { - mod += iter.first->bodytemp_sleep; - } - return mod; -} - -int player::temp_corrected_by_climate_control( int temperature ) const -{ - const int variation = int( BODYTEMP_NORM * 0.5 ); - if( temperature < BODYTEMP_SCORCHING + variation && - temperature > BODYTEMP_FREEZING - variation ) { - if( temperature > BODYTEMP_SCORCHING ) { - temperature = BODYTEMP_VERY_HOT; - } else if( temperature > BODYTEMP_VERY_HOT ) { - temperature = BODYTEMP_HOT; - } else if( temperature > BODYTEMP_HOT ) { - temperature = BODYTEMP_NORM; - } else if( temperature < BODYTEMP_FREEZING ) { - temperature = BODYTEMP_VERY_COLD; - } else if( temperature < BODYTEMP_VERY_COLD ) { - temperature = BODYTEMP_COLD; - } else if( temperature < BODYTEMP_COLD ) { - temperature = BODYTEMP_NORM; - } - } - return temperature; -} - -int player::blood_loss( body_part bp ) const -{ - int hp_cur_sum = 1; - int hp_max_sum = 1; - - if( bp == bp_leg_l || bp == bp_leg_r ) { - hp_cur_sum = hp_cur[hp_leg_l] + hp_cur[hp_leg_r]; - hp_max_sum = hp_max[hp_leg_l] + hp_max[hp_leg_r]; - } else if( bp == bp_arm_l || bp == bp_arm_r ) { - hp_cur_sum = hp_cur[hp_arm_l] + hp_cur[hp_arm_r]; - hp_max_sum = hp_max[hp_arm_l] + hp_max[hp_arm_r]; - } else if( bp == bp_torso ) { - hp_cur_sum = hp_cur[hp_torso]; - hp_max_sum = hp_max[hp_torso]; - } else if( bp == bp_head ) { - hp_cur_sum = hp_cur[hp_head]; - hp_max_sum = hp_max[hp_head]; - } - - hp_cur_sum = std::min( hp_max_sum, std::max( 0, hp_cur_sum ) ); - return 100 - ( 100 * hp_cur_sum ) / hp_max_sum; -} - -void player::temp_equalizer( body_part bp1, body_part bp2 ) -{ - // Body heat is moved around. - // Shift in one direction only, will be shifted in the other direction separately. - int diff = static_cast( ( temp_cur[bp2] - temp_cur[bp1] ) * - 0.0001 ); // If bp1 is warmer, it will lose heat - temp_cur[bp1] += diff; -} - int player::kcal_speed_penalty() { static const std::vector> starv_thresholds = { { @@ -1589,15 +775,11 @@ int player::run_cost( int base_cost, bool diag ) const 75; // Mycal characters are faster on their home territory, even through things like shrubs } } - if( is_limb_broken( hp_leg_l ) ) { - movecost += 50; - } else if( is_limb_hindered( hp_leg_l ) ) { + if( is_limb_hindered( hp_leg_l ) ) { movecost += 25; } - if( is_limb_broken( hp_leg_r ) ) { - movecost += 50; - } else if( is_limb_hindered( hp_leg_r ) ) { + if( is_limb_hindered( hp_leg_r ) ) { movecost += 25; } movecost *= Character::mutation_value( "movecost_modifier" ); @@ -1608,7 +790,7 @@ int player::run_cost( int base_cost, bool diag ) const movecost *= .9f; } if( has_active_bionic( bio_jointservo ) ) { - if( move_mode == PMM_RUN ) { + if( move_mode == CMM_RUN ) { movecost *= 0.85f; } else { movecost *= 0.95f; @@ -1668,19 +850,9 @@ int player::run_cost( int base_cost, bool diag ) const if( has_trait( trait_ROOTS3 ) && g->m.has_flag( "DIGGABLE", pos() ) ) { movecost += 10 * footwear_factor(); } - // Both walk and run speed drop to half their maximums as stamina approaches 0. - // Convert stamina to a float first to allow for decimal place carrying - float stamina_modifier = ( static_cast( stamina ) / get_stamina_max() + 1 ) / 2; - if( move_mode == PMM_RUN && stamina > 0 ) { - // Rationale: Average running speed is 2x walking speed. (NOT sprinting) - stamina_modifier *= 2.0; - } - if( move_mode == PMM_CROUCH ) { - stamina_modifier *= 0.5; - } movecost = calculate_by_enchantment( movecost, enchantment::mod::MOVE_COST ); - movecost /= stamina_modifier; + movecost /= stamina_move_cost_modifier(); } if( diag ) { @@ -1700,7 +872,7 @@ int player::swim_speed() const // No monsters are currently mountable and can swim, though mods may allow this. if( mon->has_flag( MF_SWIMS ) ) { ret = 25; - ret += get_weight() / 120_gram - 50 * mon->get_size(); + ret += get_weight() / 120_gram - 50 * ( mon->get_size() - 1 ); return ret; } } @@ -1768,6 +940,16 @@ int player::swim_speed() const if( underwater && ret < 500 ) { ret -= 50; } + + // Running movement mode while swimming means faster swim style, like crawlstroke + if( move_mode == CMM_RUN ) { + ret -= 80; + } + // Crouching movement mode while swimming means slower swim style, like breaststroke + if( move_mode == CMM_CROUCH ) { + ret += 50; + } + if( ret < 30 ) { ret = 30; } @@ -1784,29 +966,6 @@ bool player::is_on_ground() const return get_working_leg_count() < 2 || has_effect( effect_downed ); } -bool player::is_elec_immune() const -{ - return is_immune_damage( DT_ELECTRIC ); -} - -bool player::is_immune_effect( const efftype_id &eff ) const -{ - if( eff == effect_downed ) { - return is_throw_immune() || ( has_trait( trait_LEG_TENT_BRACE ) && footwear_factor() == 0 ); - } else if( eff == effect_onfire ) { - return is_immune_damage( DT_HEAT ); - } else if( eff == effect_deaf ) { - return worn_with_flag( "DEAF" ) || worn_with_flag( "PARTIAL_DEAF" ) || has_bionic( bio_ears ) || - is_wearing( "rm13_armor_on" ); - } else if( eff == effect_corroding ) { - return is_immune_damage( DT_ACID ) || has_trait( trait_SLIMY ) || has_trait( trait_VISCOUS ); - } else if( eff == effect_nausea ) { - return has_trait( trait_STRONGSTOMACH ); - } - - return false; -} - float player::stability_roll() const { /** @EFFECT_STR improves player stability roll */ @@ -1819,47 +978,6 @@ float player::stability_roll() const return get_melee() + get_str() + ( get_per() / 3.0f ) + ( get_dex() / 4.0f ); } -bool player::is_immune_damage( const damage_type dt ) const -{ - switch( dt ) { - case DT_NULL: - return true; - case DT_TRUE: - return false; - case DT_BIOLOGICAL: - return has_effect_with_flag( "EFFECT_BIO_IMMUNE" ) || - worn_with_flag( "BIO_IMMUNE" ); - case DT_BASH: - return has_effect_with_flag( "EFFECT_BASH_IMMUNE" ) || - worn_with_flag( "BASH_IMMUNE" ); - case DT_CUT: - return has_effect_with_flag( "EFFECT_CUT_IMMUNE" ) || - worn_with_flag( "CUT_IMMUNE" ); - case DT_ACID: - return has_trait( trait_ACIDPROOF ) || - has_effect_with_flag( "EFFECT_ACID_IMMUNE" ) || - worn_with_flag( "ACID_IMMUNE" ); - case DT_STAB: - return has_effect_with_flag( "EFFECT_STAB_IMMUNE" ) || - worn_with_flag( "STAB_IMMUNE" ); - case DT_HEAT: - return has_trait( trait_M_SKIN2 ) || - has_trait( trait_M_SKIN3 ) || - has_effect_with_flag( "EFFECT_HEAT_IMMUNE" ) || - worn_with_flag( "HEAT_IMMUNE" ); - case DT_COLD: - return has_effect_with_flag( "EFFECT_COLD_IMMUNE" ) || - worn_with_flag( "COLD_IMMUNE" ); - case DT_ELECTRIC: - return has_active_bionic( bio_faraday ) || - worn_with_flag( "ELECTRIC_IMMUNE" ) || - has_artifact_with( AEP_RESIST_ELECTRICITY ) || - has_effect_with_flag( "EFFECT_ELECTRIC_IMMUNE" ); - default: - return true; - } -} - double player::recoil_vehicle() const { // TODO: vary penalty dependent upon vehicle part on which player is boarded @@ -1913,13 +1031,13 @@ nc_color player::basic_symbol_color() const return c_blue; } if( has_active_bionic( bio_cloak ) || has_artifact_with( AEP_INVISIBLE ) || - has_active_optcloak() || has_trait( trait_DEBUG_CLOAK ) ) { + is_wearing_active_optcloak() || has_trait( trait_DEBUG_CLOAK ) ) { return c_dark_gray; } - if( move_mode == PMM_RUN ) { + if( move_mode == CMM_RUN ) { return c_yellow; } - if( move_mode == PMM_CROUCH ) { + if( move_mode == CMM_CROUCH ) { return c_light_gray; } return c_white; @@ -1934,12 +1052,12 @@ void player::mod_stat( const std::string &stat, float modifier ) } else if( stat == "oxygen" ) { oxygen += modifier; } else if( stat == "stamina" ) { - if( stamina + modifier < 0 ) { + if( get_stamina() + modifier < 0 ) { add_effect( effect_winded, 10_turns ); } - stamina += modifier; - stamina = std::min( stamina, get_stamina_max() ); - stamina = std::max( 0, stamina ); + mod_stamina( modifier ); + set_stamina( std::min( get_stamina(), get_stamina_max() ) ); + set_stamina( std::max( 0, get_stamina() ) ); } else { // Fall through to the creature method. Character::mod_stat( stat, modifier ); @@ -2006,16 +1124,6 @@ bool player::has_same_type_trait( const trait_id &flag ) const return false; } -bool player::crossed_threshold() const -{ - for( auto &mut : my_mutations ) { - if( mut.first->threshold ) { - return true; - } - } - return false; -} - bool player::purifiable( const trait_id &flag ) const { return flag->purifiable; @@ -2041,46 +1149,6 @@ std::string player::get_category_dream( const std::string &cat, return random_entry( selected_dream.messages() ); } -bool player::in_climate_control() -{ - bool regulated_area = false; - // Check - if( has_active_bionic( bio_climate ) ) { - return true; - } - if( has_trait( trait_M_SKIN3 ) && g->m.has_flag_ter_or_furn( "FUNGUS", pos() ) && - in_sleep_state() ) { - return true; - } - for( auto &w : worn ) { - if( w.active && w.is_power_armor() ) { - return true; - } - if( worn_with_flag( "CLIMATE_CONTROL" ) ) { - return true; - } - } - if( calendar::turn >= next_climate_control_check ) { - // save CPU and simulate acclimation. - next_climate_control_check = calendar::turn + 20_turns; - if( const optional_vpart_position vp = g->m.veh_at( pos() ) ) { - regulated_area = ( - vp->is_inside() && // Already checks for opened doors - vp->vehicle().total_power_w( true ) > 0 // Out of gas? No AC for you! - ); // TODO: (?) Force player to scrounge together an AC unit - } - // TODO: AC check for when building power is implemented - last_climate_control_ret = regulated_area; - if( !regulated_area ) { - // Takes longer to cool down / warm up with AC, than it does to step outside and feel cruddy. - next_climate_control_check += 40_turns; - } - } else { - return last_climate_control_ret; - } - return regulated_area; -} - std::list player::get_radio_items() { std::list rc_items; @@ -2129,64 +1197,6 @@ std::list player::get_artifact_items() return art_items; } -bool player::has_active_optcloak() const -{ - for( auto &w : worn ) { - if( w.active && w.has_flag( "ACTIVE_CLOAKING" ) ) { - return true; - } - } - return false; -} - -/* - * Calculate player brightness based on the brightest active item, as - * per itype tag LIGHT_* and optional CHARGEDIM ( fade starting at 20% charge ) - * item.light.* is -unimplemented- for the moment, as it is a custom override for - * applying light sources/arcs with specific angle and direction. - */ -float player::active_light() const -{ - float lumination = 0; - - int maxlum = 0; - has_item_with( [&maxlum]( const item & it ) { - const int lumit = it.getlight_emit(); - if( maxlum < lumit ) { - maxlum = lumit; - } - return false; // continue search, otherwise has_item_with would cancel the search - } ); - - lumination = static_cast( maxlum ); - - if( lumination < 60 && has_active_bionic( bio_flashlight ) ) { - lumination = 60; - } else if( lumination < 25 && has_artifact_with( AEP_GLOW ) ) { - lumination = 25; - } else if( lumination < 5 && ( has_effect( effect_glowing ) || - ( has_active_bionic( bio_tattoo_led ) || - has_effect( effect_glowy_led ) ) ) ) { - lumination = 5; - } - return lumination; -} - -tripoint player::global_square_location() const -{ - return g->m.getabs( position ); -} - -tripoint player::global_sm_location() const -{ - return ms_to_sm_copy( global_square_location() ); -} - -tripoint player::global_omt_location() const -{ - return ms_to_omt_copy( global_square_location() ); -} - const tripoint &player::pos() const { return position; @@ -2407,7 +1417,7 @@ void player::pause() } // on-pause effects for martial arts - ma_onpause_effects(); + martial_arts_data.ma_onpause_effects( *this ); if( is_npc() ) { // The stuff below doesn't apply to NPCs @@ -2436,113 +1446,18 @@ void player::pause() search_surroundings(); } -void player::set_movement_mode( const player_movemode new_mode ) +void player::search_surroundings() { - switch( new_mode ) { - case PMM_WALK: { - if( is_mounted() ) { - if( mounted_creature->has_flag( MF_RIDEABLE_MECH ) ) { - add_msg( _( "You set your mech's leg power to a loping fast walk." ) ); - } else { - add_msg( _( "You nudge your steed into a steady trot." ) ); - } - } else { - add_msg( _( "You start walking." ) ); - } - break; - } - case PMM_RUN: { - if( stamina > 0 && !has_effect( effect_winded ) ) { - if( is_hauling() ) { - stop_hauling(); - } - if( is_mounted() ) { - if( mounted_creature->has_flag( MF_RIDEABLE_MECH ) ) { - add_msg( _( "You set the power of your mech's leg servos to maximum." ) ); - } else { - add_msg( _( "You spur your steed into a gallop." ) ); - } - } else { - add_msg( _( "You start running." ) ); - } - } else { - if( is_mounted() ) { - // mounts dont currently have stamina, but may do in future. - add_msg( m_bad, _( "Your steed is too tired to go faster." ) ); - } else { - add_msg( m_bad, _( "You're too tired to run." ) ); - } - } - break; - } - case PMM_CROUCH: { - if( is_mounted() ) { - if( mounted_creature->has_flag( MF_RIDEABLE_MECH ) ) { - add_msg( _( "You reduce the power of your mech's leg servos to minimum." ) ); - } else { - add_msg( _( "You slow your steed to a walk." ) ); - } - } else { - add_msg( _( "You start crouching." ) ); - } - break; - } - default: { - return; - } - } - move_mode = new_mode; -} - -bool player::movement_mode_is( const player_movemode mode ) const -{ - return move_mode == mode; -} - -void player::toggle_run_mode() -{ - if( move_mode == PMM_RUN ) { - set_movement_mode( PMM_WALK ); - } else { - set_movement_mode( PMM_RUN ); - } -} - -void player::toggle_crouch_mode() -{ - if( move_mode == PMM_CROUCH ) { - set_movement_mode( PMM_WALK ); - } else { - set_movement_mode( PMM_CROUCH ); - } -} - -void player::reset_move_mode() -{ - if( move_mode != PMM_WALK ) { - set_movement_mode( PMM_WALK ); - } -} - -void player::cycle_move_mode() -{ - unsigned char as_uchar = static_cast( move_mode ); - as_uchar = ( as_uchar + 1 + PMM_COUNT ) % PMM_COUNT; - set_movement_mode( static_cast( as_uchar ) ); -} - -void player::search_surroundings() -{ - if( controlling_vehicle ) { - return; - } - // Search for traps in a larger area than before because this is the only - // way we can "find" traps that aren't marked as visible. - // Detection formula takes care of likelihood of seeing within this range. - for( const tripoint &tp : g->m.points_in_radius( pos(), 5 ) ) { - const trap &tr = g->m.tr_at( tp ); - if( tr.is_null() || tp == pos() ) { - continue; + if( controlling_vehicle ) { + return; + } + // Search for traps in a larger area than before because this is the only + // way we can "find" traps that aren't marked as visible. + // Detection formula takes care of likelihood of seeing within this range. + for( const tripoint &tp : g->m.points_in_radius( pos(), 5 ) ) { + const trap &tr = g->m.tr_at( tp ); + if( tr.is_null() || tp == pos() ) { + continue; } if( has_active_bionic( bio_ground_sonar ) && !knows_trap( tp ) && ( tr.loadid == tr_beartrap_buried || @@ -2649,7 +1564,7 @@ int player::intimidation() const ret += 5; } - if( stim > 20 ) { + if( get_stim() > 20 ) { ret += 2; } if( has_effect( effect_drunk ) ) { @@ -2682,13 +1597,18 @@ void player::on_dodge( Creature *source, float difficulty ) difficulty = std::max( difficulty, 0.0f ); practice( skill_dodge, difficulty * 2, difficulty ); - ma_ondodge_effects(); + martial_arts_data.ma_ondodge_effects( *this ); // For adjacent attackers check for techniques usable upon successful dodge if( source && square_dist( pos(), source->pos() ) == 1 ) { matec_id tec = pick_technique( *source, used_weapon(), false, true, false ); - if( tec != tec_none ) { - melee_attack( *source, false, tec ); + + if( tec != tec_none && !is_dead_state() ) { + if( get_stamina() < get_stamina_max() / 3 ) { + add_msg( m_bad, _( "You try to counterattack but you are too exhausted!" ) ); + } else { + melee_attack( *source, false, tec ); + } } } } @@ -3046,33 +1966,7 @@ int player::get_perceived_pain() const return std::max( get_pain() - get_painkiller(), 0 ); } -void player::mod_painkiller( int npkill ) -{ - set_painkiller( pkill + npkill ); -} - -void player::set_painkiller( int npkill ) -{ - npkill = std::max( npkill, 0 ); - if( pkill != npkill ) { - const int prev_pain = get_perceived_pain(); - pkill = npkill; - on_stat_change( "pkill", pkill ); - const int cur_pain = get_perceived_pain(); - - if( cur_pain != prev_pain ) { - react_to_felt_pain( cur_pain - prev_pain ); - on_stat_change( "perceived_pain", cur_pain ); - } - } -} - -int player::get_painkiller() const -{ - return pkill; -} - -void player::react_to_felt_pain( int intensity ) +void Character::react_to_felt_pain( int intensity ) { if( intensity <= 0 ) { return; @@ -3144,6 +2038,10 @@ void player::apply_damage( Creature *source, body_part hurt, int dam, const bool g->events().send( getID(), dam_to_bodypart ); if( hp_cur[hurtpart] <= 0 && ( source == nullptr || !source->is_hallucination() ) ) { + if( !weapon.is_null() && !can_wield( weapon ).success() ) { + put_into_vehicle_or_drop( *this, item_drop_reason::tumbling, { weapon } ); + i_rem( &weapon ); + } if( has_effect( effect_mending, hurt ) ) { effect &e = get_effect( effect_mending, hurt ); float remove_mend = dam / 20.0f; @@ -3313,7 +2211,7 @@ int player::impact( const int force, const tripoint &p ) } else if( is_player() && shock_absorbers ) { add_msg( m_bad, _( "You are slammed against %s!" ), target_name, total_dealt ); - add_msg( m_good, _( "...but your shock absorbers negate the damage!" ) ); + add_msg( m_good, _( "…but your shock absorbers negate the damage!" ) ); } else if( slam ) { // Only print this line if it is a slam and not a landing // Non-players should only get this one: player doesn't know how much damage was dealt @@ -3480,37 +2378,39 @@ void player::update_stomach( const time_point &from, const time_point &to ) const bool mycus = has_trait( trait_M_DEPENDENT ); const float kcal_per_time = get_bmr() / ( 12.0f * 24.0f ); const int five_mins = ticks_between( from, to, 5_minutes ); + const int half_hours = ticks_between( from, to, 30_minutes ); + const units::volume stomach_capacity = stomach.capacity( *this ); if( five_mins > 0 ) { - stomach.absorb_water( *this, 250_ml * five_mins ); - guts.absorb_water( *this, 250_ml * five_mins ); - } - if( ticks_between( from, to, 30_minutes ) > 0 ) { - // the stomach does not currently have rates of absorption, but this is where it goes - stomach.calculate_absorbed( stomach.get_absorb_rates( true, rates ) ); - guts.calculate_absorbed( guts.get_absorb_rates( false, rates ) ); - stomach.store_absorbed( *this ); - guts.store_absorbed( *this ); - guts.bowel_movement( guts.get_pass_rates( false ) ); - stomach.bowel_movement( stomach.get_pass_rates( true ), guts ); + // Digest nutrients in stomach, they are destined for the guts (except water) + nutrients digested_to_guts = stomach.digest( *this, rates, five_mins, half_hours ); + // Digest nutrients in guts, they will be distributed to needs levels + nutrients digested_to_body = guts.digest( *this, rates, five_mins, half_hours ); + // Water from stomach skips guts and gets absorbed by body + set_thirst( std::max( + -100, get_thirst() - units::to_milliliter( digested_to_guts.water ) / 5 ) ); + guts.ingest( digested_to_guts ); + // Apply nutrients, unless this is an NPC and NO_NPC_FOOD is enabled. + if( !is_npc() || !get_option( "NO_NPC_FOOD" ) ) { + mod_stored_kcal( digested_to_body.kcal ); + vitamins_mod( digested_to_body.vitamins, false ); + } } if( stomach.time_since_ate() > 10_minutes ) { - if( stomach.contains() >= stomach.capacity() && get_hunger() > -61 ) { + if( stomach.contains() >= stomach_capacity && get_hunger() > -61 ) { // you're engorged! your stomach is full to bursting! set_hunger( -61 ); - } else if( stomach.contains() >= stomach.capacity() / 2 && get_hunger() > -21 ) { + } else if( stomach.contains() >= stomach_capacity / 2 && get_hunger() > -21 ) { // sated set_hunger( -21 ); - } else if( stomach.contains() >= stomach.capacity() / 8 && get_hunger() > -1 ) { + } else if( stomach.contains() >= stomach_capacity / 8 && get_hunger() > -1 ) { // that's really all the food you need to feel full set_hunger( -1 ); } else if( stomach.contains() == 0_ml ) { - if( guts.get_calories() == 0 && guts.get_calories_absorbed() == 0 && - get_stored_kcal() < get_healthy_kcal() && get_hunger() < 300 ) { + if( guts.get_calories() == 0 && get_stored_kcal() < get_healthy_kcal() && get_hunger() < 300 ) { // there's no food except what you have stored in fat set_hunger( 300 ); } else if( get_hunger() < 100 && ( ( guts.get_calories() == 0 && - guts.get_calories_absorbed() == 0 && get_stored_kcal() >= get_healthy_kcal() ) || get_stored_kcal() < get_healthy_kcal() ) ) { set_hunger( 100 ); } else if( get_hunger() < 0 ) { @@ -3527,13 +2427,13 @@ void player::update_stomach( const time_point &from, const time_point &to ) // if you just ate but your stomach is still empty it will still // delay your filling up (drugs?) { - if( stomach.contains() >= stomach.capacity() && get_hunger() > -61 ) { + if( stomach.contains() >= stomach_capacity && get_hunger() > -61 ) { // you're engorged! your stomach is full to bursting! set_hunger( -61 ); - } else if( stomach.contains() >= stomach.capacity() * 3 / 4 && get_hunger() > -21 ) { + } else if( stomach.contains() >= stomach_capacity * 3 / 4 && get_hunger() > -21 ) { // sated set_hunger( -21 ); - } else if( stomach.contains() >= stomach.capacity() / 2 && get_hunger() > -1 ) { + } else if( stomach.contains() >= stomach_capacity / 2 && get_hunger() > -1 ) { // that's really all the food you need to feel full set_hunger( -1 ); } else if( stomach.contains() > 0_ml && get_kcal_percent() > 0.95 ) { @@ -3552,38 +2452,6 @@ void player::update_stomach( const time_point &from, const time_point &to ) } } -void player::update_vitamins( const vitamin_id &vit ) -{ - if( is_npc() ) { - return; // NPCs cannot develop vitamin diseases - } - - efftype_id def = vit.obj().deficiency(); - efftype_id exc = vit.obj().excess(); - - int lvl = vit.obj().severity( vitamin_get( vit ) ); - if( lvl <= 0 ) { - remove_effect( def ); - } - if( lvl >= 0 ) { - remove_effect( exc ); - } - if( lvl > 0 ) { - if( has_effect( def, num_bp ) ) { - get_effect( def, num_bp ).set_intensity( lvl, true ); - } else { - add_effect( def, 1_turns, num_bp, true, lvl ); - } - } - if( lvl < 0 ) { - if( has_effect( exc, num_bp ) ) { - get_effect( exc, num_bp ).set_intensity( lvl, true ); - } else { - add_effect( exc, 1_turns, num_bp, true, lvl ); - } - } -} - void player::get_sick() { // NPCs are too dumb to handle infections now @@ -3628,11 +2496,11 @@ void player::get_sick() void player::check_needs_extremes() { // Check if we've overdosed... in any deadly way. - if( stim > 250 ) { + if( get_stim() > 250 ) { add_msg_if_player( m_bad, _( "You have a sudden heart attack!" ) ); g->events().send( getID(), efftype_id() ); hp_cur[hp_torso] = 0; - } else if( stim < -200 || get_painkiller() > 240 ) { + } else if( get_stim() < -200 || get_painkiller() > 240 ) { add_msg_if_player( m_bad, _( "Your breathing stops completely." ) ); g->events().send( getID(), efftype_id() ); hp_cur[hp_torso] = 0; @@ -3663,19 +2531,19 @@ void player::check_needs_extremes() } else { if( calendar::once_every( 1_hours ) ) { std::string message; - if( stomach.contains() <= stomach.capacity() / 4 ) { + if( stomach.contains() <= stomach.capacity( *this ) / 4 ) { if( get_kcal_percent() < 0.1f ) { - message = _( "Food..." ); + message = _( "Food…" ); } else if( get_kcal_percent() < 0.25f ) { message = _( "Due to insufficient nutrition, your body is suffering from starvation." ); } else if( get_kcal_percent() < 0.5f ) { - message = _( "Despite having something in your stomach, you still feel like you haven't eaten in days..." ); + message = _( "Despite having something in your stomach, you still feel like you haven't eaten in days…" ); } else if( get_kcal_percent() < 0.8f ) { - message = _( "Your stomach feels so empty..." ); + message = _( "Your stomach feels so empty…" ); } } else { if( get_kcal_percent() < 0.1f ) { - message = _( "Food..." ); + message = _( "Food…" ); } else if( get_kcal_percent() < 0.25f ) { message = _( "You are EMACIATED!" ); } else if( get_kcal_percent() < 0.5f ) { @@ -3697,11 +2565,11 @@ void player::check_needs_extremes() g->events().send( getID() ); hp_cur[hp_torso] = 0; } else if( get_thirst() >= 1000 && calendar::once_every( 30_minutes ) ) { - add_msg_if_player( m_warning, _( "Even your eyes feel dry..." ) ); + add_msg_if_player( m_warning, _( "Even your eyes feel dry…" ) ); } else if( get_thirst() >= 800 && calendar::once_every( 30_minutes ) ) { add_msg_if_player( m_warning, _( "You are THIRSTY!" ) ); } else if( calendar::once_every( 30_minutes ) ) { - add_msg_if_player( m_warning, _( "Your mouth feels so dry..." ) ); + add_msg_if_player( m_warning, _( "Your mouth feels so dry…" ) ); } } @@ -3713,7 +2581,7 @@ void player::check_needs_extremes() mod_fatigue( -10 ); fall_asleep(); } else if( get_fatigue() >= 800 && calendar::once_every( 30_minutes ) ) { - add_msg_if_player( m_warning, _( "Anywhere would be a good place to sleep..." ) ); + add_msg_if_player( m_warning, _( "Anywhere would be a good place to sleep…" ) ); } else if( calendar::once_every( 30_minutes ) ) { add_msg_if_player( m_warning, _( "You feel like you haven't slept in days." ) ); } @@ -3790,7 +2658,7 @@ void player::check_needs_extremes() } // Stimulants can be used to stay awake a while longer, but after a while you'll just collapse. - bool can_pass_out = ( stim < 30 && sleep_deprivation >= SLEEP_DEPRIVATION_MINOR ) || + bool can_pass_out = ( get_stim() < 30 && sleep_deprivation >= SLEEP_DEPRIVATION_MINOR ) || sleep_deprivation >= SLEEP_DEPRIVATION_MAJOR; if( can_pass_out && calendar::once_every( 10_minutes ) ) { @@ -3819,9 +2687,9 @@ void player::check_needs_extremes() } -needs_rates player::calc_needs_rates() +needs_rates player::calc_needs_rates() const { - effect &sleep = get_effect( effect_sleep ); + const effect &sleep = get_effect( effect_sleep ); const bool has_recycler = has_bionic( bio_recycler ); const bool asleep = !sleep.is_null(); @@ -3897,6 +2765,7 @@ needs_rates player::calc_needs_rates() void player::update_needs( int rate_multiplier ) { + const int current_stim = get_stim(); // Hunger, thirst, & fatigue up every 5 minutes effect &sleep = get_effect( effect_sleep ); // No food/thirst/fatigue clock at all @@ -3941,6 +2810,9 @@ void player::update_needs( int rate_multiplier ) sleep.set_duration( 1_turns ); mod_fatigue( -25 ); } else { + if( has_effect( effect_recently_coughed ) ) { + recovered *= .5; + } mod_fatigue( -recovered ); if( get_option< bool >( "SLEEP_DEPRIVATION" ) ) { // Sleeping on the ground, no bionic = 1x rest_modifier @@ -3989,10 +2861,10 @@ void player::update_needs( int rate_multiplier ) } } - if( stim < 0 ) { - stim = std::min( stim + rate_multiplier, 0 ); - } else if( stim > 0 ) { - stim = std::max( stim - rate_multiplier, 0 ); + if( current_stim < 0 ) { + set_stim( std::min( current_stim + rate_multiplier, 0 ) ); + } else if( current_stim > 0 ) { + set_stim( std::max( current_stim - rate_multiplier, 0 ) ); } if( get_painkiller() > 0 ) { @@ -4084,53 +2956,6 @@ void player::regen( int rate_multiplier ) } } -void player::update_stamina( int turns ) -{ - float stamina_recovery = 0.0f; - // Recover some stamina every turn. - // Mutated stamina works even when winded - float stamina_multiplier = ( !has_effect( effect_winded ) ? 1.0f : 0.1f ) + - mutation_value( "stamina_regen_modifier" ); - // But mouth encumbrance interferes, even with mutated stamina. - stamina_recovery += stamina_multiplier * std::max( 1.0f, - get_option( "PLAYER_BASE_STAMINA_REGEN_RATE" ) - ( encumb( bp_mouth ) / 5.0f ) ); - // TODO: recovering stamina causes hunger/thirst/fatigue. - // TODO: Tiredness slowing recovery - - // stim recovers stamina (or impairs recovery) - if( stim > 0 ) { - // TODO: Make stamina recovery with stims cost health - stamina_recovery += std::min( 5.0f, stim / 15.0f ); - } else if( stim < 0 ) { - // Affect it less near 0 and more near full - // Negative stim kill at -200 - // At -100 stim it inflicts -20 malus to regen at 100% stamina, - // effectivly countering stamina gain of default 20, - // at 50% stamina its -10 (50%), cuts by 25% at 25% stamina - stamina_recovery += stim / 5.0f * stamina / get_stamina_max() ; - } - - const int max_stam = get_stamina_max(); - if( get_power_level() >= 3_kJ && has_active_bionic( bio_gills ) ) { - int bonus = std::min( units::to_kilojoule( get_power_level() ) / 3, - max_stam - stamina - stamina_recovery * turns ); - // so the effective recovery is up to 5x default - bonus = std::min( bonus, 4 * static_cast - ( get_option( "PLAYER_BASE_STAMINA_REGEN_RATE" ) ) ); - if( bonus > 0 ) { - stamina_recovery += bonus; - bonus /= 10; - bonus = std::max( bonus, 1 ); - mod_power_level( units::from_kilojoule( -bonus ) ); - } - } - - stamina += roll_remainder( stamina_recovery * turns ); - add_msg( m_debug, "Stamina recovery: %d", roll_remainder( stamina_recovery * turns ) ); - // Cap at max - stamina = std::min( std::max( stamina, 0 ), max_stam ); -} - bool player::is_hibernating() const { // Hibernating only kicks in whilst Engorged; separate tracking for hunger/thirst here @@ -4143,83 +2968,6 @@ bool player::is_hibernating() const get_thirst() <= 80 && has_active_mutation( trait_id( "HIBERNATE" ) ); } -void player::add_addiction( add_type type, int strength ) -{ - if( type == ADD_NULL ) { - return; - } - time_duration timer = 2_hours; - if( has_trait( trait_ADDICTIVE ) ) { - strength *= 2; - timer = 1_hours; - } else if( has_trait( trait_NONADDICTIVE ) ) { - strength /= 2; - timer = 6_hours; - } - //Update existing addiction - for( auto &i : addictions ) { - if( i.type != type ) { - continue; - } - - if( i.sated < 0_turns ) { - i.sated = timer; - } else if( i.sated < 10_minutes ) { - i.sated += timer; // TODO: Make this variable? - } else { - i.sated += timer / 2; - } - if( i.intensity < MAX_ADDICTION_LEVEL && strength > i.intensity * rng( 2, 5 ) ) { - i.intensity++; - } - - add_msg( m_debug, "Updating addiction: %d intensity, %d sated", - i.intensity, to_turns( i.sated ) ); - - return; - } - - // Add a new addiction - const int roll = rng( 0, 100 ); - add_msg( m_debug, "Addiction: roll %d vs strength %d", roll, strength ); - if( roll < strength ) { - const std::string &type_name = addiction_type_name( type ); - add_msg( m_debug, "%s got addicted to %s", disp_name(), type_name ); - addictions.emplace_back( type, 1 ); - g->events().send( getID(), type ); - } -} - -bool player::has_addiction( add_type type ) const -{ - return std::any_of( addictions.begin(), addictions.end(), - [type]( const addiction & ad ) { - return ad.type == type && ad.intensity >= MIN_ADDICTION_LEVEL; - } ); -} - -void player::rem_addiction( add_type type ) -{ - auto iter = std::find_if( addictions.begin(), addictions.end(), - [type]( const addiction & ad ) { - return ad.type == type; - } ); - - if( iter != addictions.end() ) { - addictions.erase( iter ); - g->events().send( getID(), type ); - } -} - -int player::addiction_level( add_type type ) const -{ - auto iter = std::find_if( addictions.begin(), addictions.end(), - [type]( const addiction & ad ) { - return ad.type == type; - } ); - return iter != addictions.end() ? iter->intensity : 0; -} - void player::siphon( vehicle &veh, const itype_id &desired_liquid ) { auto qty = veh.fuel_left( desired_liquid ); @@ -4238,35 +2986,6 @@ void player::siphon( vehicle &veh, const itype_id &desired_liquid ) } } -void player::cough( bool harmful, int loudness ) -{ - if( harmful ) { - const int stam = stamina; - const int malus = get_stamina_max() * 0.05; // 5% max stamina - mod_stat( "stamina", -malus ); - if( stam < malus && x_in_y( malus - stam, malus ) && one_in( 6 ) ) { - apply_damage( nullptr, bp_torso, 1 ); - } - } - - if( has_effect( effect_cough_suppress ) ) { - return; - } - - if( !is_npc() ) { - add_msg( m_bad, _( "You cough heavily." ) ); - } - sounds::sound( pos(), loudness, sounds::sound_t::speech, _( "a hacking cough." ), false, "misc", - "cough" ); - - moves -= 80; - - if( has_effect( effect_sleep ) && !has_effect( effect_narcosis ) && - ( ( harmful && one_in( 3 ) ) || one_in( 10 ) ) ) { - wake_up(); - } -} - void player::add_pain_msg( int val, body_part bp ) const { if( has_trait( trait_NOPAIN ) ) { @@ -4304,38 +3023,6 @@ void player::add_pain_msg( int val, body_part bp ) const } } -void player::print_health() const -{ - if( !is_player() ) { - return; - } - int current_health = get_healthy(); - if( has_trait( trait_SELFAWARE ) ) { - add_msg_if_player( _( "Your current health value is %d." ), current_health ); - } - - if( current_health > 0 && - ( has_effect( effect_common_cold ) || has_effect( effect_flu ) ) ) { - return; - } - - static const std::map msg_categories = { - { -100, "health_horrible" }, - { -50, "health_very_bad" }, - { -10, "health_bad" }, - { 10, "" }, - { 50, "health_good" }, - { 100, "health_very_good" }, - { INT_MAX, "health_great" } - }; - - auto iter = msg_categories.lower_bound( current_health ); - if( iter != msg_categories.end() && !iter->second.empty() ) { - const std::string &msg = SNIPPET.random_from_category( iter->second ); - add_msg_if_player( current_health > 0 ? m_good : m_bad, msg ); - } -} - void player::process_one_effect( effect &it, bool is_new ) { bool reduced = resists_effect( it ); @@ -4389,8 +3076,8 @@ void player::process_one_effect( effect &it, bool is_new ) if( val != 0 ) { mod = 1; if( is_new || it.activated( calendar::turn, "STIM", val, reduced, mod ) ) { - stim += bound_mod_to_vals( stim, val, it.get_max_val( "STIM", reduced ), - it.get_min_val( "STIM", reduced ) ); + mod_stim( bound_mod_to_vals( get_stim(), val, it.get_max_val( "STIM", reduced ), + it.get_min_val( "STIM", reduced ) ) ); } } @@ -4513,7 +3200,7 @@ void player::process_one_effect( effect &it, bool is_new ) if( val != 0 ) { mod = it.get_addict_mod( "PKILL", addiction_level( ADD_PKILLER ) ); if( is_new || it.activated( calendar::turn, "PKILL", val, reduced, mod ) ) { - mod_painkiller( bound_mod_to_vals( pkill, val, it.get_max_val( "PKILL", reduced ), 0 ) ); + mod_painkiller( bound_mod_to_vals( get_painkiller(), val, it.get_max_val( "PKILL", reduced ), 0 ) ); } } @@ -4536,7 +3223,7 @@ void player::process_one_effect( effect &it, bool is_new ) if( val != 0 ) { mod = 1; if( is_new || it.activated( calendar::turn, "STAMINA", val, reduced, mod ) ) { - mod_stat( "stamina", bound_mod_to_vals( stamina, val, + mod_stat( "stamina", bound_mod_to_vals( get_stamina(), val, it.get_max_val( "STAMINA", reduced ), it.get_min_val( "STAMINA", reduced ) ) ); } @@ -4621,1756 +3308,109 @@ double player::vomit_mod() return mod; } -void player::suffer() +void player::update_body_wetness( const w_point &weather ) { - // TODO: Remove this section and encapsulate hp_cur - for( int i = 0; i < num_hp_parts; i++ ) { - body_part bp = hp_to_bp( static_cast( i ) ); - if( hp_cur[i] <= 0 ) { - add_effect( effect_disabled, 1_turns, bp, true ); - } + // Average number of turns to go from completely soaked to fully dry + // assuming average temperature and humidity + constexpr time_duration average_drying = 2_hours; + + // A modifier on drying time + double delay = 1.0; + // Weather slows down drying + delay += ( ( weather.humidity - 66 ) - ( weather.temperature - 65 ) ) / 100; + delay = std::max( 0.1, delay ); + // Fur/slime retains moisture + if( has_trait( trait_LIGHTFUR ) || has_trait( trait_FUR ) || has_trait( trait_FELINE_FUR ) || + has_trait( trait_LUPINE_FUR ) || has_trait( trait_CHITIN_FUR ) || has_trait( trait_CHITIN_FUR2 ) || + has_trait( trait_CHITIN_FUR3 ) ) { + delay = delay * 6 / 5; + } + if( has_trait( trait_URSINE_FUR ) || has_trait( trait_SLIMY ) ) { + delay *= 1.5; } - for( size_t i = 0; i < my_bionics->size(); i++ ) { - if( ( *my_bionics )[i].powered ) { - process_bionic( i ); - } + if( !x_in_y( 1, to_turns( average_drying * delay / 100.0 ) ) ) { + // No drying this turn + return; } - for( auto &mut : my_mutations ) { - auto &tdata = mut.second; - if( !tdata.powered ) { + // Now per-body-part stuff + // To make drying uniform, make just one roll and reuse it + const int drying_roll = rng( 1, 80 ); + + for( const body_part bp : all_body_parts ) { + if( body_wetness[bp] == 0 ) { continue; } - const auto &mdata = mut.first.obj(); - if( tdata.powered && tdata.charge > 0 ) { - // Already-on units just lose a bit of charge - tdata.charge--; + // This is to normalize drying times + int drying_chance = drench_capacity[bp]; + // Body temperature affects duration of wetness + // Note: Using temp_conv rather than temp_cur, to better approximate environment + if( temp_conv[bp] >= BODYTEMP_SCORCHING ) { + drying_chance *= 2; + } else if( temp_conv[bp] >= BODYTEMP_VERY_HOT ) { + drying_chance = drying_chance * 3 / 2; + } else if( temp_conv[bp] >= BODYTEMP_HOT ) { + drying_chance = drying_chance * 4 / 3; + } else if( temp_conv[bp] > BODYTEMP_COLD ) { + // Comfortable, doesn't need any changes } else { - // Not-on units, or those with zero charge, have to pay the power cost - if( mdata.cooldown > 0 ) { - tdata.powered = true; - tdata.charge = mdata.cooldown - 1; - } - if( mdata.hunger ) { - // does not directly modify hunger, but burns kcal - mod_stored_nutr( mdata.cost ); - if( get_bmi() < character_weight_category::underweight ) { - add_msg_if_player( m_warning, _( "You're too malnourished to keep your %s going." ), mdata.name() ); - tdata.powered = false; - } - } - if( mdata.thirst ) { - mod_thirst( mdata.cost ); - if( get_thirst() >= 260 ) { // Well into Dehydrated - add_msg_if_player( m_warning, _( "You're too dehydrated to keep your %s going." ), mdata.name() ); - tdata.powered = false; - } - } - if( mdata.fatigue ) { - mod_fatigue( mdata.cost ); - if( get_fatigue() >= EXHAUSTED ) { // Exhausted - add_msg_if_player( m_warning, _( "You're too exhausted to keep your %s going." ), mdata.name() ); - tdata.powered = false; - } - } - - if( !tdata.powered ) { - apply_mods( mut.first, false ); - } + // Evaporation doesn't change that much at lower temp + drying_chance = drying_chance * 3 / 4; } - } - if( underwater ) { - if( !has_trait( trait_GILLS ) && !has_trait( trait_GILLS_CEPH ) ) { - oxygen--; - } - if( oxygen < 12 && worn_with_flag( "REBREATHER" ) ) { - oxygen += 12; + if( drying_chance < 1 ) { + drying_chance = 1; } - if( oxygen <= 5 ) { - if( has_bionic( bio_gills ) && get_power_level() >= 25_kJ ) { - oxygen += 5; - mod_power_level( -25_kJ ); - } else { - add_msg_if_player( m_bad, _( "You're drowning!" ) ); - apply_damage( nullptr, bp_torso, rng( 1, 4 ) ); + + // TODO: Make evaporation reduce body heat + if( drying_chance >= drying_roll ) { + body_wetness[bp] -= 1; + if( body_wetness[bp] < 0 ) { + body_wetness[bp] = 0; } } - if( has_trait( trait_FRESHWATEROSMOSIS ) && !g->m.has_flag_ter( "SALT_WATER", pos() ) && - get_thirst() > -60 ) { - mod_thirst( -1 ); - } } + // TODO: Make clothing slow down drying +} - if( has_trait( trait_SHARKTEETH ) && one_turn_in( 24_hours ) ) { - add_msg_if_player( m_neutral, _( "You shed a tooth!" ) ); - g->m.spawn_item( pos(), "bone", 1 ); - } +void player::on_worn_item_transform( const item &old_it, const item &new_it ) +{ + morale->on_worn_item_transform( old_it, new_it ); +} - if( has_active_mutation( trait_id( "WINGS_INSECT" ) ) ) { - //~Sound of buzzing Insect Wings - sounds::sound( pos(), 10, sounds::sound_t::movement, _( "BZZZZZ" ), false, "misc", "insect_wings" ); +void player::process_active_items() +{ + if( weapon.needs_processing() && weapon.process( this, pos(), false ) ) { + weapon = item(); } - bool wearing_shoes = is_wearing_shoes( side::LEFT ) || is_wearing_shoes( side::RIGHT ); - int root_vitamins = 0; - int root_water = 0; - if( has_trait( trait_ROOTS3 ) && g->m.has_flag( "PLOWABLE", pos() ) && !wearing_shoes ) { - root_vitamins += 1; - if( get_thirst() <= -2000 ) { - root_water += 51; + std::vector inv_active = inv.active_items(); + for( item *tmp_it : inv_active ) { + if( tmp_it->process( this, pos(), false ) ) { + inv.remove_item( tmp_it ); } } - if( x_in_y( root_vitamins, 576 ) ) { - vitamin_mod( vitamin_id( "iron" ), 1, true ); - vitamin_mod( vitamin_id( "calcium" ), 1, true ); - mod_healthy_mod( 5, 50 ); - } - - if( x_in_y( root_water, 2550 ) ) { - // Plants draw some crazy amounts of water from the ground in real life, - // so these numbers try to reflect that uncertain but large amount - // this should take 12 hours to meet your daily needs with ROOTS2, and 8 with ROOTS3 - mod_thirst( -1 ); - } + // worn items + remove_worn_items_with( [this]( item & itm ) { + return itm.needs_processing() && itm.process( this, pos(), false ); + } ); - time_duration timer = -6_hours; - if( has_trait( trait_ADDICTIVE ) ) { - timer = -10_hours; - } else if( has_trait( trait_NONADDICTIVE ) ) { - timer = -3_hours; - } - for( auto &cur_addiction : addictions ) { - if( cur_addiction.sated <= 0_turns && - cur_addiction.intensity >= MIN_ADDICTION_LEVEL ) { - addict_effect( *this, cur_addiction ); + // Active item processing done, now we're recharging. + item *cloak = nullptr; + item *power_armor = nullptr; + std::vector active_worn_items; + bool weapon_active = weapon.has_flag( "USE_UPS" ) && + weapon.charges < weapon.type->maximum_charges(); + // Manual iteration because we only care about *worn* active items. + for( item &w : worn ) { + if( w.has_flag( "USE_UPS" ) && + w.charges < w.type->maximum_charges() ) { + active_worn_items.push_back( &w ); } - cur_addiction.sated -= 1_turns; - // Higher intensity addictions heal faster - if( cur_addiction.sated - 10_minutes * cur_addiction.intensity < timer ) { - if( cur_addiction.intensity <= 2 ) { - rem_addiction( cur_addiction.type ); - break; - } else { - cur_addiction.intensity--; - cur_addiction.sated = 0_turns; - } - } - } - - if( !in_sleep_state() ) { - if( !has_trait( trait_id( "DEBUG_STORAGE" ) ) && ( weight_carried() > 4 * weight_capacity() ) ) { - if( has_effect( effect_downed ) ) { - add_effect( effect_downed, 1_turns, num_bp, false, 0, true ); - } else { - add_effect( effect_downed, 2_turns, num_bp, false, 0, true ); - } - } - if( has_trait( trait_CHEMIMBALANCE ) ) { - if( one_turn_in( 6_hours ) && !has_trait( trait_NOPAIN ) ) { - add_msg_if_player( m_bad, _( "You suddenly feel sharp pain for no reason." ) ); - mod_pain( 3 * rng( 1, 3 ) ); - } - if( one_turn_in( 6_hours ) ) { - int pkilladd = 5 * rng( -1, 2 ); - if( pkilladd > 0 ) { - add_msg_if_player( m_bad, _( "You suddenly feel numb." ) ); - } else if( ( pkilladd < 0 ) && ( !( has_trait( trait_NOPAIN ) ) ) ) { - add_msg_if_player( m_bad, _( "You suddenly ache." ) ); - } - mod_painkiller( pkilladd ); - } - if( one_turn_in( 6_hours ) && !has_effect( effect_sleep ) ) { - add_msg_if_player( m_bad, _( "You feel dizzy for a moment." ) ); - moves -= rng( 10, 30 ); - } - if( one_turn_in( 6_hours ) ) { - int hungadd = 5 * rng( -1, 3 ); - if( hungadd > 0 ) { - add_msg_if_player( m_bad, _( "You suddenly feel hungry." ) ); - } else { - add_msg_if_player( m_good, _( "You suddenly feel a little full." ) ); - } - mod_hunger( hungadd ); - } - if( one_turn_in( 6_hours ) ) { - add_msg_if_player( m_bad, _( "You suddenly feel thirsty." ) ); - mod_thirst( 5 * rng( 1, 3 ) ); - } - if( one_turn_in( 6_hours ) ) { - add_msg_if_player( m_good, _( "You feel fatigued all of a sudden." ) ); - mod_fatigue( 10 * rng( 2, 4 ) ); - } - if( one_turn_in( 8_hours ) ) { - if( one_in( 3 ) ) { - add_morale( MORALE_FEELING_GOOD, 20, 100 ); - } else { - add_morale( MORALE_FEELING_BAD, -20, -100 ); - } - } - if( one_turn_in( 6_hours ) ) { - if( one_in( 3 ) ) { - add_msg_if_player( m_bad, _( "You suddenly feel very cold." ) ); - temp_cur.fill( BODYTEMP_VERY_COLD ); - } else { - add_msg_if_player( m_bad, _( "You suddenly feel cold." ) ); - temp_cur.fill( BODYTEMP_COLD ); - } - } - if( one_turn_in( 6_hours ) ) { - if( one_in( 3 ) ) { - add_msg_if_player( m_bad, _( "You suddenly feel very hot." ) ); - temp_cur.fill( BODYTEMP_VERY_HOT ); - } else { - add_msg_if_player( m_bad, _( "You suddenly feel hot." ) ); - temp_cur.fill( BODYTEMP_HOT ); - } - } - } - if( ( has_trait( trait_SCHIZOPHRENIC ) || has_artifact_with( AEP_SCHIZO ) ) && - !has_effect( effect_took_thorazine ) ) { - if( is_player() ) { - bool done_effect = false; - // Sound - if( one_turn_in( 4_hours ) ) { - sound_hallu(); - } - - // Follower turns hostile - if( !done_effect && one_turn_in( 4_hours ) ) { - std::vector> followers = overmap_buffer.get_npcs_near_player( 12 ); - - std::string who_gets_angry = name; - if( !followers.empty() ) { - who_gets_angry = random_entry_ref( followers )->name; - } - add_msg( m_bad, _( "%1$s gets angry!" ), who_gets_angry ); - done_effect = true; - } - - // Monster dies - if( !done_effect && one_turn_in( 6_hours ) ) { - - // TODO: move to monster group json - static const mtype_id mon_zombie( "mon_zombie" ); - static const mtype_id mon_zombie_fat( "mon_zombie_fat" ); - static const mtype_id mon_zombie_fireman( "mon_zombie_fireman" ); - static const mtype_id mon_zombie_cop( "mon_zombie_cop" ); - static const mtype_id mon_zombie_soldier( "mon_zombie_soldier" ); - static const std::array monsters = { { - mon_zombie, mon_zombie_fat, mon_zombie_fireman, mon_zombie_cop, mon_zombie_soldier - } - }; - add_msg( _( "%s dies!" ), random_entry_ref( monsters )->nname() ); - done_effect = true; - } - - // Limb Breaks - if( !done_effect && one_turn_in( 4_hours ) ) { - std::string snip = SNIPPET.random_from_category( "broken_limb" ); - add_msg( m_bad, snip ); - done_effect = true; - } - - // NPC chat - if( !done_effect && one_turn_in( 4_hours ) ) { - std::string i_name = Name::generate( one_in( 2 ) ); - - std::string i_talk = SNIPPET.random_from_category( "" ); - parse_tags( i_talk, *this, *this ); - - add_msg( _( "%1$s says: \"%2$s\"" ), i_name, i_talk ); - done_effect = true; - } - - // Skill raise - if( !done_effect && one_turn_in( 12_hours ) ) { - skill_id raised_skill = Skill::random_skill(); - add_msg( m_good, _( "You increase %1$s to level %2$d." ), raised_skill.obj().name(), - get_skill_level( raised_skill ) + 1 ); - done_effect = true; - } - - // Talk to self - if( !done_effect && one_turn_in( 4_hours ) ) { - std::string snip = SNIPPET.random_from_category( "schizo_self_talk" ); - add_msg( _( "%1$s says: \"%2$s\"" ), name, snip ); - done_effect = true; - } - - // Talking weapon - if( !done_effect && !weapon.is_null() ) { - // If player has a weapon, picks a message from said weapon - // Weapon tells player to kill a monster if any are nearby - // Weapon is concerned for player if bleeding - // Weapon is concerned for itself if damaged - // Otherwise random chit-chat - - std::string i_name_w = weapon.has_var( "item_label" ) ? - weapon.get_var( "item_label" ) : - //~ %1$s: weapon name - string_format( _( "Your %1$s" ), weapon.type_name() ); - - std::vector> mons = g->all_monsters().items; - - std::string i_talk_w; - bool does_talk = false; - if( !mons.empty() && one_turn_in( 12_minutes ) ) { - std::vector seen_mons; - for( auto &n : mons ) { - if( sees( *n.lock() ) ) { - seen_mons.emplace_back( n.lock()->get_name() ); - } - } - if( !seen_mons.empty() ) { - std::string talk_w = SNIPPET.random_from_category( "schizo_weapon_talk_monster" ); - i_talk_w = string_format( talk_w, random_entry_ref( seen_mons ) ); - does_talk = true; - } - } - if( !does_talk && has_effect( effect_bleed ) && one_turn_in( 5_minutes ) ) { - i_talk_w = SNIPPET.random_from_category( "schizo_weapon_talk_bleeding" ); - does_talk = true; - } else if( weapon.damage() >= weapon.max_damage() / 3 && one_turn_in( 1_hours ) ) { - i_talk_w = SNIPPET.random_from_category( "schizo_weapon_talk_damaged" ); - does_talk = true; - } else if( one_turn_in( 4_hours ) ) { - i_talk_w = SNIPPET.random_from_category( "schizo_weapon_talk_misc" ); - does_talk = true; - } - if( does_talk ) { - add_msg( _( "%1$s says: \"%2$s\"" ), i_name_w, i_talk_w ); - done_effect = true; - } - } - // Delusions - if( !done_effect && one_turn_in( 8_hours ) ) { - if( rng( 1, 20 ) > 5 ) { // 75% chance - std::string snip = SNIPPET.random_from_category( "schizo_delusion_paranoid" ); - add_msg( m_warning, snip ); - add_morale( MORALE_FEELING_BAD, -20, -100 ); - } else { // 25% chance - std::string snip = SNIPPET.random_from_category( "schizo_delusion_grandiose" ); - add_msg( m_good, snip ); - add_morale( MORALE_FEELING_GOOD, 20, 100 ); - } - done_effect = true; - } - // Formication - if( !done_effect && one_turn_in( 6_hours ) ) { - std::string snip = SNIPPET.random_from_category( "schizo_formication" ); - body_part bp = random_body_part( true ); - add_effect( effect_formication, 45_minutes, bp ); - add_msg( m_bad, snip ); - done_effect = true; - } - // Numbness - if( !done_effect && one_turn_in( 4_hours ) ) { - add_msg( m_bad, _( "You suddenly feel so numb..." ) ); - mod_painkiller( 25 ); - done_effect = true; - } - // Hallucination - if( !done_effect && one_turn_in( 6_hours ) ) { - add_effect( effect_hallu, 6_hours ); - done_effect = true; - } - // Visuals - if( !done_effect && one_turn_in( 2_hours ) ) { - add_effect( effect_visuals, rng( 15_turns, 60_turns ) ); - done_effect = true; - } - // Shaking - if( !done_effect && !has_effect( effect_valium ) && one_turn_in( 4_hours ) ) { - add_msg( m_bad, _( "You start to shake uncontrollably." ) ); - add_effect( effect_shakes, rng( 2_minutes, 5_minutes ) ); - done_effect = true; - } - // Shout - if( !done_effect && one_turn_in( 4_hours ) ) { - std::string snip = SNIPPET.random_from_category( "schizo_self_shout" ); - shout( string_format( _( "yourself shout, %s" ), snip ) ); - done_effect = true; - } - // Drop weapon - if( !done_effect && one_turn_in( 2_days ) ) { - if( !weapon.is_null() ) { - std::string i_name_w = weapon.has_var( "item_label" ) ? - weapon.get_var( "item_label" ) : - //~ %1$s: weapon name - string_format( _( "your %1$s" ), weapon.type_name() ); - - std::string snip = SNIPPET.random_from_category( "schizo_weapon_drop" ); - std::string str = string_format( snip, i_name_w ); - str[0] = toupper( str[0] ); - - add_msg( m_bad, str ); - drop( get_item_position( &weapon ), pos() ); - // NOLINTNEXTLINE(clang-analyzer-deadcode.DeadStores) - done_effect = true; - } - } - } - } - - if( ( has_trait( trait_NARCOLEPTIC ) || has_artifact_with( AEP_SCHIZO ) ) ) { - if( one_turn_in( 8_hours ) ) { - add_msg( m_bad, _( "You're suddenly overcome with the urge to sleep and you pass out." ) ); - add_effect( effect_lying_down, 20_minutes ); - } - } - - if( has_trait( trait_JITTERY ) && !has_effect( effect_shakes ) ) { - if( stim > 50 && one_in( to_turns( 30_minutes ) - ( stim * 6 ) ) ) { - add_effect( effect_shakes, 30_minutes + 1_turns * stim ); - } else if( ( get_hunger() > 80 || get_kcal_percent() < 1.0f ) && get_hunger() > 0 && - one_in( to_turns( 50_minutes ) - ( get_hunger() * 6 ) ) ) { - add_effect( effect_shakes, 40_minutes ); - } - } - - if( has_trait( trait_MOODSWINGS ) && one_turn_in( 6_hours ) ) { - if( rng( 1, 20 ) > 9 ) { // 55% chance - add_morale( MORALE_MOODSWING, -100, -500 ); - } else { // 45% chance - add_morale( MORALE_MOODSWING, 100, 500 ); - } - } - - if( has_trait( trait_VOMITOUS ) && one_turn_in( 7_hours ) ) { - vomit(); - } - - if( has_trait( trait_SHOUT1 ) && one_turn_in( 6_hours ) ) { - shout(); - } - if( has_trait( trait_SHOUT2 ) && one_turn_in( 4_hours ) ) { - shout(); - } - if( has_trait( trait_SHOUT3 ) && one_turn_in( 3_hours ) ) { - shout(); - } - if( has_trait( trait_M_SPORES ) && one_turn_in( 4_hours ) ) { - spores(); - } - if( has_trait( trait_M_BLOSSOMS ) && one_turn_in( 3_hours ) ) { - blossoms(); - } - } // Done with while-awake-only effects - - if( has_trait( trait_ASTHMA ) && !has_effect( effect_adrenaline ) && - !has_effect( effect_datura ) && - one_in( ( to_turns( 6_hours ) - stim * 300 ) * - ( has_effect( effect_sleep ) ? 10 : 1 ) ) ) { - bool auto_use = has_charges( "inhaler", 1 ) || has_charges( "oxygen_tank", 1 ) || - has_charges( "smoxygen_tank", 1 ); - bool oxygenator = has_bionic( bio_gills ) && get_power_level() >= 3_kJ; - if( underwater ) { - oxygen = oxygen / 2; - auto_use = false; - } - - add_msg_player_or_npc( m_bad, _( "You have an asthma attack!" ), - " starts wheezing and coughing." ); - - if( in_sleep_state() && !has_effect( effect_narcosis ) ) { - inventory map_inv; - map_inv.form_from_map( g->u.pos(), 2, &g->u ); - // check if an inhaler is somewhere near - bool nearby_use = auto_use || oxygenator || map_inv.has_charges( "inhaler", 1 ) || - map_inv.has_charges( "oxygen_tank", 1 ) || - map_inv.has_charges( "smoxygen_tank", 1 ); - // check if character has an oxygenator first - if( oxygenator ) { - mod_power_level( -3_kJ ); - add_msg_if_player( m_info, _( "You use your Oxygenator to clear it up, " - "then go back to sleep." ) ); - } else if( auto_use ) { - if( use_charges_if_avail( "inhaler", 1 ) ) { - add_msg_if_player( m_info, _( "You use your inhaler and go back to sleep." ) ); - } else if( use_charges_if_avail( "oxygen_tank", 1 ) || - use_charges_if_avail( "smoxygen_tank", 1 ) ) { - add_msg_if_player( m_info, _( "You take a deep breath from your oxygen tank " - "and go back to sleep." ) ); - } - } else if( nearby_use ) { - // create new variable to resolve a reference issue - int amount = 1; - if( !g->m.use_charges( g->u.pos(), 2, "inhaler", amount ).empty() ) { - add_msg_if_player( m_info, _( "You use your inhaler and go back to sleep." ) ); - } else if( !g->m.use_charges( g->u.pos(), 2, "oxygen_tank", amount ).empty() || - !g->m.use_charges( g->u.pos(), 2, "smoxygen_tank", amount ).empty() ) { - add_msg_if_player( m_info, _( "You take a deep breath from your oxygen tank " - "and go back to sleep." ) ); - } - } else { - add_effect( effect_asthma, rng( 5_minutes, 20_minutes ) ); - if( has_effect( effect_sleep ) ) { - wake_up(); - } else { - if( !is_npc() ) { - g->cancel_activity_or_ignore_query( distraction_type::asthma, - _( "You can't focus while choking!" ) ); - } - } - } - } else if( auto_use ) { - int charges = 0; - if( use_charges_if_avail( "inhaler", 1 ) ) { - moves -= 40; - charges = charges_of( "inhaler" ); - if( charges == 0 ) { - add_msg_if_player( m_bad, _( "You use your last inhaler charge." ) ); - } else { - add_msg_if_player( m_info, ngettext( "You use your inhaler, " - "only %d charge left.", - "You use your inhaler, " - "only %d charges left.", charges ), - charges ); - } - } else if( use_charges_if_avail( "oxygen_tank", 1 ) || - use_charges_if_avail( "smoxygen_tank", 1 ) ) { - moves -= 500; // synched with use action - charges = charges_of( "oxygen_tank" ) + charges_of( "smoxygen_tank" ); - if( charges == 0 ) { - add_msg_if_player( m_bad, _( "You breathe in last bit of oxygen " - "from the tank." ) ); - } else { - add_msg_if_player( m_info, ngettext( "You take a deep breath from your oxygen " - "tank, only %d charge left.", - "You take a deep breath from your oxygen " - "tank, only %d charges left.", charges ), - charges ); - } - } - } else { - add_effect( effect_asthma, rng( 5_minutes, 20_minutes ) ); - if( !is_npc() ) { - g->cancel_activity_or_ignore_query( distraction_type::asthma, - _( "You can't focus while choking!" ) ); - } - } - } - - double sleeve_factor = armwear_factor(); - const bool has_hat = wearing_something_on( bp_head ); - const bool leafy = has_trait( trait_LEAVES ) || has_trait( trait_LEAVES2 ) || - has_trait( trait_LEAVES3 ); - const bool leafier = has_trait( trait_LEAVES2 ) || has_trait( trait_LEAVES3 ); - const bool leafiest = has_trait( trait_LEAVES3 ); - int sunlight_nutrition = 0; - if( leafy && g->m.is_outside( pos() ) && ( g->light_level( pos().z ) >= 40 ) ) { - const float weather_factor = ( g->weather.weather == WEATHER_CLEAR || - g->weather.weather == WEATHER_SUNNY ) ? 1.0 : 0.5; - const int player_local_temp = g->weather.get_temperature( pos() ); - int flux = ( player_local_temp - 65 ) / 2; - if( !has_hat ) { - sunlight_nutrition += ( 100 + flux ) * weather_factor; - } - if( leafier ) { - int rate = ( ( 100 * sleeve_factor ) + flux ) * 2; - sunlight_nutrition += ( rate * ( leafiest ? 2 : 1 ) ) * weather_factor; - } - } - - if( x_in_y( sunlight_nutrition, 18000 ) ) { - vitamin_mod( vitamin_id( "vitA" ), 1, true ); - vitamin_mod( vitamin_id( "vitC" ), 1, true ); - } - - if( x_in_y( sunlight_nutrition, 12000 ) ) { - mod_hunger( -1 ); - // photosynthesis absorbs kcal directly - mod_stored_nutr( -1 ); - stomach.ate(); - } - - if( get_pain() > 0 ) { - if( has_trait( trait_PAINREC1 ) && one_turn_in( 1_hours ) ) { - mod_pain( -1 ); - } - if( has_trait( trait_PAINREC2 ) && one_turn_in( 30_minutes ) ) { - mod_pain( -1 ); - } - if( has_trait( trait_PAINREC3 ) && one_turn_in( 15_minutes ) ) { - mod_pain( -1 ); - } - } - - if( ( has_trait( trait_ALBINO ) || has_effect( effect_datura ) ) && - g->is_in_sunlight( pos() ) && one_turn_in( 1_minutes ) ) { - // Umbrellas can keep the sun off the skin and sunglasses - off the eyes. - if( !weapon.has_flag( "RAIN_PROTECT" ) ) { - //calculate total coverage of skin - body_part_set affected_bp { { - bp_leg_l, bp_leg_r, bp_torso, bp_head, bp_mouth, bp_arm_l, - bp_arm_r, bp_foot_l, bp_foot_r, bp_hand_l, bp_hand_r - } - }; - //pecentage of "open skin" by body part - std::map open_percent; - //initialize coverage - for( const body_part &bp : all_body_parts ) { - if( affected_bp.test( bp ) ) { - open_percent[bp] = 1.0; - } - } - //calculate coverage for every body part - for( const item &i : worn ) { - body_part_set covered = i.get_covered_body_parts(); - for( const body_part &bp : all_body_parts ) { - if( !affected_bp.test( bp ) || !covered.test( bp ) ) { - continue; - } - //percent of "not covered skin" - float p = 1.0 - i.get_coverage() / 100.0; - open_percent[bp] = open_percent[bp] * p; - } - } - - const float COVERAGE_LIMIT = 0.01; - body_part max_affected_bp = num_bp; - float max_affected_bp_percent = 0; - int count_affected_bp = 0; - for( auto &it : open_percent ) { - const body_part &bp = it.first; - const float &p = it.second; - - if( p <= COVERAGE_LIMIT ) { - continue; - } - ++count_affected_bp; - if( max_affected_bp_percent < p ) { - max_affected_bp_percent = p; - max_affected_bp = bp; - } - } - if( count_affected_bp > 0 && max_affected_bp != num_bp ) { - //Check if both arms/legs are affected - int parts_count = 1; - body_part other_bp = static_cast( bp_aiOther[max_affected_bp] ); - body_part other_bp_rev = static_cast( bp_aiOther[other_bp] ); - if( other_bp != other_bp_rev ) { - const auto found = open_percent.find( other_bp ); - if( found != open_percent.end() && found->second > COVERAGE_LIMIT ) { - ++parts_count; - } - } - std::string bp_name = body_part_name( max_affected_bp, parts_count ); - if( count_affected_bp > parts_count ) { - bp_name = string_format( _( "%s and other body parts" ), bp_name ); - } - add_msg_if_player( m_bad, _( "The sunlight is really irritating your %s." ), bp_name ); - - //apply effects - if( has_effect( effect_sleep ) && !has_effect( effect_narcosis ) ) { - wake_up(); - } - if( one_turn_in( 1_minutes ) ) { - mod_pain( 1 ); - } else { - focus_pool --; - } - } - } - if( !( ( ( worn_with_flag( "SUN_GLASSES" ) ) || worn_with_flag( "BLIND" ) ) && - ( wearing_something_on( bp_eyes ) ) ) - && !has_bionic( bionic_id( "bio_sunglasses" ) ) ) { - add_msg_if_player( m_bad, _( "The sunlight is really irritating your eyes." ) ); - if( one_turn_in( 1_minutes ) ) { - mod_pain( 1 ); - } else { - focus_pool --; - } - } - } - for( const auto &m : my_mutations ) { - const mutation_branch &mdata = m.first.obj(); - for( const body_part bp : all_body_parts ) { - if( calendar::once_every( 1_minutes ) ) { - // 0.0 - 1.0 - const float wetness_percentage = static_cast( body_wetness[bp] ) / drench_capacity[bp]; - const int dmg = mdata.weakness_to_water * wetness_percentage; - if( dmg > 0 ) { - apply_damage( nullptr, bp, dmg ); - add_msg_player_or_npc( m_bad, _( "Your %s is damaged by the water." ), - _( "'s %s is damaged by the water." ), body_part_name( bp ) ); - } else if( dmg < 0 && hp_cur[bp_to_hp( bp )] != hp_max[bp_to_hp( bp )] ) { - heal( bp, abs( dmg ) ); - add_msg_player_or_npc( m_good, _( "Your %s is healed by the water." ), - _( "'s %s is healed by the water." ), body_part_name( bp ) ); - } - } - } - } - - if( has_trait( trait_SUNBURN ) && g->is_in_sunlight( pos() ) && one_in( 10 ) ) { - if( !( weapon.has_flag( "RAIN_PROTECT" ) ) ) { - add_msg_if_player( m_bad, _( "The sunlight burns your skin!" ) ); - if( has_effect( effect_sleep ) && !has_effect( effect_narcosis ) ) { - wake_up(); - } - mod_pain( 1 ); - hurtall( 1, nullptr ); - } - } - - if( ( has_trait( trait_TROGLO ) || has_trait( trait_TROGLO2 ) ) && - g->is_in_sunlight( pos() ) && g->weather.weather == WEATHER_SUNNY ) { - mod_str_bonus( -1 ); - mod_dex_bonus( -1 ); - add_miss_reason( _( "The sunlight distracts you." ), 1 ); - mod_int_bonus( -1 ); - mod_per_bonus( -1 ); - } - if( has_trait( trait_TROGLO2 ) && g->is_in_sunlight( pos() ) ) { - mod_str_bonus( -1 ); - mod_dex_bonus( -1 ); - add_miss_reason( _( "The sunlight distracts you." ), 1 ); - mod_int_bonus( -1 ); - mod_per_bonus( -1 ); - } - if( has_trait( trait_TROGLO3 ) && g->is_in_sunlight( pos() ) ) { - mod_str_bonus( -4 ); - mod_dex_bonus( -4 ); - add_miss_reason( _( "You can't stand the sunlight!" ), 4 ); - mod_int_bonus( -4 ); - mod_per_bonus( -4 ); - } - - if( has_trait( trait_SORES ) ) { - for( const body_part bp : all_body_parts ) { - if( bp == bp_head ) { - continue; - } - int sores_pain = 5 + 0.4 * abs( encumb( bp ) ); - if( get_pain() < sores_pain ) { - set_pain( sores_pain ); - } - } - } - //Web Weavers...weave web - if( has_active_mutation( trait_WEB_WEAVER ) && !in_vehicle ) { - // this adds intensity to if its not already there. - g->m.add_field( pos(), fd_web, 1 ); - - } - - // Blind/Deaf for brief periods about once an hour, - // and visuals about once every 30 min. - if( has_trait( trait_PER_SLIME ) ) { - if( one_turn_in( 1_hours ) && !has_effect( effect_deaf ) ) { - add_msg_if_player( m_bad, _( "Suddenly, you can't hear anything!" ) ); - add_effect( effect_deaf, rng( 20_minutes, 60_minutes ) ); - } - if( one_turn_in( 1_hours ) && !( has_effect( effect_blind ) ) ) { - add_msg_if_player( m_bad, _( "Suddenly, your eyes stop working!" ) ); - add_effect( effect_blind, rng( 2_minutes, 6_minutes ) ); - } - // Yes, you can be blind and hallucinate at the same time. - // Your post-human biology is truly remarkable. - if( one_turn_in( 30_minutes ) && !( has_effect( effect_visuals ) ) ) { - add_msg_if_player( m_bad, _( "Your visual centers must be acting up..." ) ); - add_effect( effect_visuals, rng( 36_minutes, 72_minutes ) ); - } - } - - if( has_trait( trait_WEB_SPINNER ) && !in_vehicle && one_in( 3 ) ) { - // this adds intensity to if its not already there. - g->m.add_field( pos(), fd_web, 1 ); - } - - if( has_trait( trait_UNSTABLE ) && !has_trait( trait_CHAOTIC_BAD ) && one_turn_in( 48_hours ) ) { - mutate(); - } - if( ( has_trait( trait_CHAOTIC ) || has_trait( trait_CHAOTIC_BAD ) ) && one_turn_in( 12_hours ) ) { - mutate(); - } - if( has_artifact_with( AEP_MUTAGENIC ) && one_turn_in( 48_hours ) ) { - mutate(); - } - if( has_artifact_with( AEP_FORCE_TELEPORT ) && one_turn_in( 1_hours ) ) { - teleport::teleport( *this ); - } - const bool needs_fire = !has_morale( MORALE_PYROMANIA_NEARFIRE ) && - !has_morale( MORALE_PYROMANIA_STARTFIRE ); - if( has_trait( trait_PYROMANIA ) && needs_fire && !in_sleep_state() && - calendar::once_every( 2_hours ) ) { - add_morale( MORALE_PYROMANIA_NOFIRE, -1, -30, 24_hours, 24_hours, true ); - if( calendar::once_every( 4_hours ) ) { - std::string smokin_hot_fiyah = SNIPPET.random_from_category( "pyromania_withdrawal" ); - add_msg_if_player( m_bad, _( smokin_hot_fiyah ) ); - } - } - if( has_trait( trait_KILLER ) && !has_morale( MORALE_KILLER_HAS_KILLED ) && - calendar::once_every( 2_hours ) ) { - add_morale( MORALE_KILLER_NEED_TO_KILL, -1, -30, 24_hours, 24_hours ); - if( calendar::once_every( 4_hours ) ) { - std::string snip = SNIPPET.random_from_category( "killer_withdrawal" ); - add_msg_if_player( m_bad, _( snip ) ); - } - } - - // checking for radioactive items in inventory - const int item_radiation = leak_level( "RADIOACTIVE" ); - - const int map_radiation = g->m.get_radiation( pos() ); - - float rads = map_radiation / 100.0f + item_radiation / 10.0f; - - int rad_mut = 0; - if( has_trait( trait_RADIOACTIVE3 ) ) { - rad_mut = 3; - } else if( has_trait( trait_RADIOACTIVE2 ) ) { - rad_mut = 2; - } else if( has_trait( trait_RADIOACTIVE1 ) ) { - rad_mut = 1; - } - - // Spread less radiation when sleeping (slower metabolism etc.) - // Otherwise it can quickly get to the point where you simply can't sleep at all - const bool rad_mut_proc = rad_mut > 0 && - x_in_y( rad_mut, to_turns( in_sleep_state() ? 3_hours : 30_minutes ) ); - - bool has_helmet = false; - const bool power_armored = is_wearing_power_armor( &has_helmet ); - const bool rad_resist = power_armored || worn_with_flag( "RAD_RESIST" ); - - if( rad_mut > 0 ) { - const bool kept_in = is_rad_immune() || ( rad_resist && !one_in( 4 ) ); - if( kept_in ) { - // As if standing on a map tile with radiation level equal to rad_mut - rads += rad_mut / 100.0f; - } - - if( rad_mut_proc && !kept_in ) { - // Irradiate a random nearby point - // If you can't, irradiate the player instead - tripoint rad_point = pos() + point( rng( -3, 3 ), rng( -3, 3 ) ); - // TODO: Radioactive vehicles? - if( g->m.get_radiation( rad_point ) < rad_mut ) { - g->m.adjust_radiation( rad_point, 1 ); - } else { - rads += rad_mut; - } - } - } - - // Used to control vomiting from radiation to make it not-annoying - bool radiation_increasing = irradiate( rads ); - - if( radiation_increasing && calendar::once_every( 3_minutes ) && has_bionic( bio_geiger ) ) { - add_msg_if_player( m_warning, - _( "You feel an anomalous sensation coming from your radiation sensors." ) ); - } - - if( calendar::once_every( 15_minutes ) ) { - if( radiation < 0 ) { - radiation = 0; - } else if( radiation > 2000 ) { - radiation = 2000; - } - if( get_option( "RAD_MUTATION" ) && rng( 100, 10000 ) < radiation ) { - mutate(); - radiation -= 50; - } else if( radiation > 50 && rng( 1, 3000 ) < radiation && ( stomach.contains() > 0_ml || - radiation_increasing || !in_sleep_state() ) ) { - vomit(); - radiation -= 1; - } - } - - const bool radiogenic = has_trait( trait_RADIOGENIC ); - if( radiogenic && calendar::once_every( 30_minutes ) && radiation > 0 ) { - // At 200 irradiation, twice as fast as REGEN - if( x_in_y( radiation, 200 ) ) { - healall( 1 ); - if( rad_mut == 0 ) { - // Don't heal radiation if we're generating it naturally - // That would counter the main downside of radioactivity - radiation -= 5; - } - } - } - - if( !radiogenic && radiation > 0 ) { - // Even if you heal the radiation itself, the damage is done. - const int hmod = get_healthy_mod(); - if( hmod > 200 - radiation ) { - set_healthy_mod( std::max( -200, 200 - radiation ) ); - } - } - - if( radiation > 200 && calendar::once_every( 10_minutes ) && x_in_y( radiation, 1000 ) ) { - hurtall( 1, nullptr ); - radiation -= 5; - } - - if( reactor_plut || tank_plut || slow_rad ) { - // Microreactor CBM and supporting bionics - if( has_bionic( bio_reactor ) || has_bionic( bio_advreactor ) ) { - //first do the filtering of plutonium from storage to reactor - if( tank_plut > 0 ) { - int plut_trans; - if( has_active_bionic( bio_plut_filter ) ) { - plut_trans = tank_plut * 0.025; - } else { - plut_trans = tank_plut * 0.005; - } - if( plut_trans < 1 ) { - plut_trans = 1; - } - tank_plut -= plut_trans; - reactor_plut += plut_trans; - } - //leaking radiation, reactor is unshielded, but still better than a simple tank - slow_rad += ( ( tank_plut * 0.1 ) + ( reactor_plut * 0.01 ) ); - //begin power generation - if( reactor_plut > 0 ) { - int power_gen = 0; - if( has_bionic( bio_advreactor ) ) { - if( ( reactor_plut * 0.05 ) > 2000 ) { - power_gen = 2000; - } else { - power_gen = reactor_plut * 0.05; - if( power_gen < 1 ) { - power_gen = 1; - } - } - slow_rad += ( power_gen * 3 ); - while( slow_rad >= 50 ) { - if( power_gen >= 1 ) { - slow_rad -= 50; - power_gen -= 1; - reactor_plut -= 1; - } else { - break; - } - } - } else if( has_bionic( bio_reactor ) ) { - if( ( reactor_plut * 0.025 ) > 500 ) { - power_gen = 500; - } else { - power_gen = reactor_plut * 0.025; - if( power_gen < 1 ) { - power_gen = 1; - } - } - slow_rad += ( power_gen * 3 ); - } - reactor_plut -= power_gen; - while( power_gen >= 250 ) { - apply_damage( nullptr, bp_torso, 1 ); - mod_pain( 1 ); - add_msg_if_player( m_bad, _( "Your chest burns as your power systems overload!" ) ); - mod_power_level( 50_kJ ); - power_gen -= 60; // ten units of power lost due to short-circuiting into you - } - mod_power_level( units::from_kilojoule( power_gen ) ); - } - } else { - slow_rad += ( ( ( reactor_plut * 0.4 ) + ( tank_plut * 0.4 ) ) * 100 ); - //plutonium in body without any kind of container. Not good at all. - reactor_plut *= 0.6; - tank_plut *= 0.6; - } - while( slow_rad >= 1000 ) { - radiation += 1; - slow_rad -= 1000; - } - } - - // Negative bionics effects - if( has_bionic( bio_dis_shock ) && get_power_level() > 9_kJ && one_turn_in( 2_hours ) && - !has_effect( effect_narcosis ) ) { - add_msg_if_player( m_bad, _( "You suffer a painful electrical discharge!" ) ); - mod_pain( 1 ); - moves -= 150; - mod_power_level( -10_kJ ); - - if( weapon.typeId() == "e_handcuffs" && weapon.charges > 0 ) { - weapon.charges -= rng( 1, 3 ) * 50; - if( weapon.charges < 1 ) { - weapon.charges = 1; - } - - add_msg_if_player( m_good, _( "The %s seems to be affected by the discharge." ), - weapon.tname() ); - } - sfx::play_variant_sound( "bionics", "elec_discharge", 100 ); - } - if( has_bionic( bio_dis_acid ) && one_turn_in( 150_minutes ) ) { - add_msg_if_player( m_bad, _( "You suffer a burning acidic discharge!" ) ); - hurtall( 1, nullptr ); - sfx::play_variant_sound( "bionics", "acid_discharge", 100 ); - sfx::do_player_death_hurt( g->u, false ); - } - if( has_bionic( bio_drain ) && get_power_level() > 24_kJ && one_turn_in( 1_hours ) ) { - add_msg_if_player( m_bad, _( "Your batteries discharge slightly." ) ); - mod_power_level( -25_kJ ); - sfx::play_variant_sound( "bionics", "elec_crackle_low", 100 ); - } - if( has_bionic( bio_noise ) && one_turn_in( 50_minutes ) && - !has_effect( effect_narcosis ) ) { - // TODO: NPCs with said bionic - if( !is_deaf() ) { - add_msg( m_bad, _( "A bionic emits a crackle of noise!" ) ); - sfx::play_variant_sound( "bionics", "elec_blast", 100 ); - } else { - add_msg( m_bad, _( "You feel your faulty bionic shuddering." ) ); - sfx::play_variant_sound( "bionics", "elec_blast_muffled", 100 ); - } - sounds::sound( pos(), 60, sounds::sound_t::movement, _( "Crackle!" ) ); //sfx above - } - if( has_bionic( bio_power_weakness ) && has_max_power() && - get_power_level() >= get_max_power_level() * .75 ) { - mod_str_bonus( -3 ); - } - if( has_bionic( bio_trip ) && one_turn_in( 50_minutes ) && - !has_effect( effect_visuals ) && - !has_effect( effect_narcosis ) && !in_sleep_state() ) { - add_msg_if_player( m_bad, _( "Your vision pixelates!" ) ); - add_effect( effect_visuals, 10_minutes ); - sfx::play_variant_sound( "bionics", "pixelated", 100 ); - } - if( has_bionic( bio_spasm ) && one_turn_in( 5_hours ) && !has_effect( effect_downed ) && - !has_effect( effect_narcosis ) ) { - add_msg_if_player( m_bad, - _( "Your malfunctioning bionic causes you to spasm and fall to the floor!" ) ); - mod_pain( 1 ); - add_effect( effect_stunned, 1_turns ); - add_effect( effect_downed, 1_turns, num_bp, false, 0, true ); - sfx::play_variant_sound( "bionics", "elec_crackle_high", 100 ); - } - if( has_bionic( bio_shakes ) && get_power_level() > 24_kJ && one_turn_in( 2_hours ) ) { - add_msg_if_player( m_bad, _( "Your bionics short-circuit, causing you to tremble and shiver." ) ); - mod_power_level( -25_kJ ); - add_effect( effect_shakes, 5_minutes ); - sfx::play_variant_sound( "bionics", "elec_crackle_med", 100 ); - } - if( has_bionic( bio_leaky ) && one_turn_in( 6_minutes ) ) { - mod_healthy_mod( -1, -200 ); - } - if( has_bionic( bio_sleepy ) && one_turn_in( 50_minutes ) && !in_sleep_state() ) { - mod_fatigue( 1 ); - } - if( has_bionic( bio_itchy ) && one_turn_in( 50_minutes ) && !has_effect( effect_formication ) && - !has_effect( effect_narcosis ) ) { - add_msg_if_player( m_bad, _( "Your malfunctioning bionic itches!" ) ); - body_part bp = random_body_part( true ); - add_effect( effect_formication, 10_minutes, bp ); - } - if( has_bionic( bio_glowy ) && !has_effect( effect_glowy_led ) && one_turn_in( 50_minutes ) && - get_power_level() > 1_kJ ) { - add_msg_if_player( m_bad, _( "Your malfunctioning bionic starts to glow!" ) ); - add_effect( effect_glowy_led, 5_minutes ); - mod_power_level( -1_kJ ); - } - - // Artifact effects - if( has_artifact_with( AEP_ATTENTION ) ) { - add_effect( effect_attention, 3_turns ); - } - - if( has_artifact_with( AEP_BAD_WEATHER ) && calendar::once_every( 1_minutes ) && - g->weather.weather != WEATHER_SNOWSTORM ) { - g->weather.weather_override = WEATHER_SNOWSTORM; - g->weather.set_nextweather( calendar::turn ); - } - - // Stim +250 kills - if( stim > 210 ) { - if( one_turn_in( 2_minutes ) && !has_effect( effect_downed ) ) { - add_msg_if_player( m_bad, _( "Your muscles spasm!" ) ); - if( !has_effect( effect_downed ) ) { - add_msg_if_player( m_bad, _( "You fall to the ground!" ) ); - add_effect( effect_downed, rng( 6_turns, 20_turns ) ); - } - } - } - if( stim > 170 ) { - if( !has_effect( effect_winded ) && calendar::once_every( 10_minutes ) ) { - add_msg( m_bad, _( "You feel short of breath." ) ); - add_effect( effect_winded, 10_minutes + 1_turns ); - } - } - if( stim > 110 ) { - if( !has_effect( effect_shakes ) && calendar::once_every( 10_minutes ) ) { - add_msg( _( "You shake uncontrollably." ) ); - add_effect( effect_shakes, 15_minutes + 1_turns ); - } - } - if( stim > 75 ) { - if( !one_turn_in( 2_minutes ) && !has_effect( effect_nausea ) ) { - add_msg( _( "You feel nauseous..." ) ); - add_effect( effect_nausea, 5_minutes ); - } - } - - // Stim -200 or painkillers 240 kills - if( stim < -160 || pkill > 200 ) { - if( one_turn_in( 3_minutes ) && !in_sleep_state() ) { - add_msg_if_player( m_bad, _( "You black out!" ) ); - const time_duration dur = rng( 30_minutes, 60_minutes ); - add_effect( effect_downed, dur ); - add_effect( effect_blind, dur ); - fall_asleep( dur ); - } - } - if( stim < -120 || pkill > 160 ) { - if( !has_effect( effect_winded ) && calendar::once_every( 10_minutes ) ) { - add_msg( m_bad, _( "Your breathing slows down." ) ); - add_effect( effect_winded, 10_minutes + 1_turns ); - } - } - if( stim < -85 || pkill > 145 ) { - if( one_turn_in( 15_seconds ) && !has_effect( effect_sleep ) ) { - add_msg_if_player( m_bad, _( "You feel dizzy for a moment." ) ); - mod_moves( -rng( 10, 30 ) ); - if( one_in( 3 ) && !has_effect( effect_downed ) ) { - add_msg_if_player( m_bad, _( "You stumble and fall over!" ) ); - add_effect( effect_downed, rng( 3_turns, 10_turns ) ); - } - } - } - if( stim < -60 || pkill > 130 ) { - if( calendar::once_every( 10_minutes ) ) { - add_msg( m_warning, _( "You feel tired..." ) ); - mod_fatigue( rng( 1, 2 ) ); - } - } - - int sleep_deprivation = !in_sleep_state() ? get_sleep_deprivation() : 0; - // Stimulants can lessen the PERCEIVED effects of sleep deprivation, but - // they do nothing to cure it. As such, abuse is even more dangerous now. - if( stim > 0 ) { - // 100% of blacking out = 20160sd ; Max. stim modifier = 12500sd @ 250stim - // Note: Very high stim already has its own slew of bad effects, - // so the "useful" part of this bonus is actually lower. - sleep_deprivation -= stim * 50; - } - - // Harmless warnings - if( sleep_deprivation >= SLEEP_DEPRIVATION_HARMLESS ) { - if( one_turn_in( 50_minutes ) ) { - switch( dice( 1, 4 ) ) { - default: - case 1: - add_msg_player_or_npc( m_warning, _( "You tiredly rub your eyes." ), - _( " tiredly rubs their eyes." ) ); - break; - case 2: - add_msg_player_or_npc( m_warning, _( "You let out a small yawn." ), - _( " lets out a small yawn." ) ); - break; - case 3: - add_msg_player_or_npc( m_warning, _( "You stretch your back." ), - _( " streches their back." ) ); - break; - case 4: - add_msg_player_or_npc( m_warning, _( "You feel mentally tired." ), - _( " lets out a huge yawn." ) ); - break; - } - } - } - // Minor discomfort - if( sleep_deprivation >= SLEEP_DEPRIVATION_MINOR ) { - if( one_turn_in( 75_minutes ) ) { - add_msg_if_player( m_warning, _( "You feel lightheaded for a moment." ) ); - moves -= 10; - } - if( one_turn_in( 100_minutes ) ) { - add_msg_if_player( m_warning, _( "Your muscles spasm uncomfortably." ) ); - mod_pain( 2 ); - } - if( !has_effect( effect_visuals ) && one_turn_in( 150_minutes ) ) { - add_msg_if_player( m_warning, _( "Your vision blurs a little." ) ); - add_effect( effect_visuals, rng( 1_minutes, 5_minutes ) ); - } - } - // Slight disability - if( sleep_deprivation >= SLEEP_DEPRIVATION_SERIOUS ) { - if( one_turn_in( 75_minutes ) ) { - add_msg_if_player( m_bad, _( "Your mind lapses into unawareness briefly." ) ); - moves -= rng( 20, 80 ); - } - if( one_turn_in( 125_minutes ) ) { - add_msg_if_player( m_bad, _( "Your muscles ache in stressfully unpredictable ways." ) ); - mod_pain( rng( 2, 10 ) ); - } - if( one_turn_in( 5_hours ) ) { - add_msg_if_player( m_bad, _( "You have a distractingly painful headache." ) ); - mod_pain( rng( 10, 25 ) ); - } - } - // Major disability, high chance of passing out also relevant - if( sleep_deprivation >= SLEEP_DEPRIVATION_MAJOR ) { - if( !has_effect( effect_nausea ) && one_turn_in( 500_minutes ) ) { - add_msg_if_player( m_bad, _( "You feel heartburn and an acid taste in your mouth." ) ); - mod_pain( 5 ); - add_effect( effect_nausea, rng( 5_minutes, 30_minutes ) ); - } - if( one_turn_in( 5_hours ) ) { - add_msg_if_player( m_bad, - _( "Your mind is so tired that you feel you can't trust your eyes anymore." ) ); - add_effect( effect_hallu, rng( 5_minutes, 60_minutes ) ); - } - if( !has_effect( effect_shakes ) && one_turn_in( 425_minutes ) ) { - add_msg_if_player( m_bad, - _( "Your muscles spasm uncontrollably, and you have trouble keeping your balance." ) ); - add_effect( effect_shakes, 15_minutes ); - } else if( has_effect( effect_shakes ) && one_turn_in( 75_seconds ) ) { - moves -= 10; - add_msg_player_or_npc( m_warning, _( "Your shaking legs make you stumble." ), - _( " stumbles." ) ); - if( !has_effect( effect_downed ) && one_in( 10 ) ) { - add_msg_player_or_npc( m_bad, _( "You fall over!" ), _( " falls over!" ) ); - add_effect( effect_downed, rng( 3_turns, 10_turns ) ); - } - } - } -} - -bool player::irradiate( float rads, bool bypass ) -{ - int rad_mut = 0; - if( has_trait( trait_RADIOACTIVE3 ) ) { - rad_mut = 3; - } else if( has_trait( trait_RADIOACTIVE2 ) ) { - rad_mut = 2; - } else if( has_trait( trait_RADIOACTIVE1 ) ) { - rad_mut = 1; - } - - if( rads > 0 ) { - bool has_helmet = false; - const bool power_armored = is_wearing_power_armor( &has_helmet ); - const bool rad_resist = power_armored || worn_with_flag( "RAD_RESIST" ); - - if( is_rad_immune() && !bypass ) { - // Power armor and some high-tech gear protects completely from radiation - rads = 0.0f; - } else if( rad_resist && !bypass ) { - rads /= 4.0f; - } - - if( has_effect( effect_iodine ) ) { - // Radioactive mutation makes iodine less efficient (but more useful) - rads *= 0.3f + 0.1f * rad_mut; - } - - int rads_max = roll_remainder( rads ); - radiation += rng( 0, rads_max ); - - // Apply rads to any radiation badges. - for( item *const it : inv_dump() ) { - if( it->typeId() != "rad_badge" ) { - continue; - } - - // Actual irradiation levels of badges and the player aren't precisely matched. - // This is intentional. - const int before = it->irradiation; - - const int delta = rng( 0, rads_max ); - if( delta == 0 ) { - continue; - } - - it->irradiation += delta; - - // If in inventory (not worn), don't print anything. - if( inv.has_item( *it ) ) { - continue; - } - - // If the color hasn't changed, don't print anything. - const std::string &col_before = rad_badge_color( before ); - const std::string &col_after = rad_badge_color( it->irradiation ); - if( col_before == col_after ) { - continue; - } - - add_msg_if_player( m_warning, _( "Your radiation badge changes from %1$s to %2$s!" ), - col_before, col_after ); - } - - if( rads > 0.0f ) { - return true; - } - } - return false; -} - -// At minimum level, return at_min, at maximum at_max -static float addiction_scaling( float at_min, float at_max, float add_lvl ) -{ - // Not addicted - if( add_lvl < MIN_ADDICTION_LEVEL ) { - return 1.0f; - } - - return lerp( at_min, at_max, ( add_lvl - MIN_ADDICTION_LEVEL ) / MAX_ADDICTION_LEVEL ); -} - -void player::mend( int rate_multiplier ) -{ - // Wearing splints can slowly mend a broken limb back to 1 hp. - bool any_broken = false; - for( int i = 0; i < num_hp_parts; i++ ) { - if( hp_cur[i] <= 0 ) { - any_broken = true; - break; - } - } - - if( !any_broken ) { - return; - } - - double healing_factor = 1.0; - // Studies have shown that alcohol and tobacco use delay fracture healing time - // Being under effect is 50% slowdown - // Being addicted but not under effect scales from 25% slowdown to 75% slowdown - // The improvement from being intoxicated over withdrawal is intended - if( has_effect( effect_cig ) ) { - healing_factor *= 0.5; - } else { - healing_factor *= addiction_scaling( 0.25f, 0.75f, addiction_level( ADD_CIG ) ); - } - - if( has_effect( effect_drunk ) ) { - healing_factor *= 0.5; - } else { - healing_factor *= addiction_scaling( 0.25f, 0.75f, addiction_level( ADD_ALCOHOL ) ); - } - - if( radiation > 0 && !has_trait( trait_RADIOGENIC ) ) { - healing_factor *= clamp( ( 1000.0f - radiation ) / 1000.0f, 0.0f, 1.0f ); - } - - // Bed rest speeds up mending - if( has_effect( effect_sleep ) ) { - healing_factor *= 4.0; - } else if( get_fatigue() > DEAD_TIRED ) { - // but being dead tired does not... - healing_factor *= 0.75; - } else { - // If not dead tired, resting without sleep also helps - healing_factor *= 1.0f + rest_quality(); - } - - // Being healthy helps. - healing_factor *= 1.0f + get_healthy() / 200.0f; - - // Very hungry starts lowering the chance - // square rooting the value makes the numbers drop off faster when below 1 - healing_factor *= sqrt( static_cast( get_stored_kcal() ) / static_cast - ( get_healthy_kcal() ) ); - // Similar for thirst - starts at very thirsty, drops to 0 ~halfway between two last statuses - healing_factor *= 1.0f - clamp( ( get_thirst() - 80.0f ) / 300.0f, 0.0f, 1.0f ); - - // Mutagenic healing factor! - bool needs_splint = true; - if( has_trait( trait_REGEN_LIZ ) ) { - healing_factor *= 20.0; - needs_splint = false; - } else if( has_trait( trait_REGEN ) ) { - healing_factor *= 16.0; - } else if( has_trait( trait_FASTHEALER2 ) ) { - healing_factor *= 4.0; - } else if( has_trait( trait_FASTHEALER ) ) { - healing_factor *= 2.0; - } else if( has_trait( trait_SLOWHEALER ) ) { - healing_factor *= 0.5; - } - - add_msg( m_debug, "Limb mend healing factor: %.2f", healing_factor ); - if( healing_factor <= 0.0f ) { - // The section below assumes positive healing rate - return; - } - - for( int i = 0; i < num_hp_parts; i++ ) { - const bool broken = ( hp_cur[i] <= 0 ); - if( !broken ) { - continue; - } - - body_part part = hp_to_bp( static_cast( i ) ); - if( needs_splint && !worn_with_flag( "SPLINT", part ) ) { - continue; - } - - const time_duration dur_inc = 1_turns * roll_remainder( rate_multiplier * healing_factor ); - auto &eff = get_effect( effect_mending, part ); - if( eff.is_null() ) { - add_effect( effect_mending, dur_inc, part, true ); - continue; - } - - eff.set_duration( eff.get_duration() + dur_inc ); - - if( eff.get_duration() >= eff.get_max_duration() ) { - hp_cur[i] = 1; - remove_effect( effect_mending, part ); - g->events().send( getID(), part ); - //~ %s is bodypart - add_msg_if_player( m_good, _( "Your %s has started to mend!" ), - body_part_name( part ) ); - } - } -} - -void player::sound_hallu() -{ - // Random 'dangerous' sound from a random direction - // 1/5 chance to be a loud sound - std::vector dir{ "north", - "northeast", - "northwest", - "south", - "southeast", - "southwest", - "east", - "west" }; - - std::vector dirz{ "and above you ", "and below you " }; - - std::vector> desc{ - std::make_tuple( "whump!", "smash_fail", "t_door_c" ), - std::make_tuple( "crash!", "smash_success", "t_door_c" ), - std::make_tuple( "glass breaking!", "smash_success", "t_window_domestic" ) }; - - std::vector> desc_big{ - std::make_tuple( "huge explosion!", "explosion", "default" ), - std::make_tuple( "bang!", "fire_gun", "glock_19" ), - std::make_tuple( "blam!", "fire_gun", "mossberg_500" ), - std::make_tuple( "crash!", "smash_success", "t_wall" ), - std::make_tuple( "SMASH!", "smash_success", "t_wall" ) }; - - std::string i_dir = dir[rng( 0, dir.size() - 1 )]; - - if( one_in( 10 ) ) { - i_dir += " " + dirz[rng( 0, dirz.size() - 1 )]; - } - - std::string i_desc; - std::pair i_sound; - if( one_in( 5 ) ) { - int r_int = rng( 0, desc_big.size() - 1 ); - i_desc = std::get<0>( desc_big[r_int] ); - i_sound = std::make_pair( std::get<1>( desc_big[r_int] ), std::get<2>( desc_big[r_int] ) ); - } else { - int r_int = rng( 0, desc.size() - 1 ); - i_desc = std::get<0>( desc[r_int] ); - i_sound = std::make_pair( std::get<1>( desc[r_int] ), std::get<2>( desc[r_int] ) ); - } - - add_msg( m_warning, _( "From the %1$s you hear %2$s" ), i_dir, i_desc ); - sfx::play_variant_sound( i_sound.first, i_sound.second, rng( 20, 80 ) ); -} - -void player::drench( int saturation, const body_part_set &flags, bool ignore_waterproof ) -{ - if( saturation < 1 ) { - return; - } - - // OK, water gets in your AEP suit or whatever. It wasn't built to keep you dry. - if( has_trait( trait_DEBUG_NOTEMP ) || has_active_mutation( trait_id( "SHELL2" ) ) || - ( !ignore_waterproof && is_waterproof( flags ) ) ) { - return; - } - - // Make the body wet - for( const body_part bp : all_body_parts ) { - // Different body parts have different size, they can only store so much water - int bp_wetness_max = 0; - if( flags.test( bp ) ) { - bp_wetness_max = drench_capacity[bp]; - } - - if( bp_wetness_max == 0 ) { - continue; - } - // Different sources will only make the bodypart wet to a limit - int source_wet_max = saturation * bp_wetness_max * 2 / 100; - int wetness_increment = ignore_waterproof ? 100 : 2; - // Respect maximums - const int wetness_max = std::min( source_wet_max, bp_wetness_max ); - if( body_wetness[bp] < wetness_max ) { - body_wetness[bp] = std::min( wetness_max, body_wetness[bp] + wetness_increment ); - } - } - - if( is_weak_to_water() ) { - add_msg_if_player( m_bad, _( "You feel the water burning your skin." ) ); - } - - // Remove onfire effect - if( saturation > 10 || x_in_y( saturation, 10 ) ) { - remove_effect( effect_onfire ); - } -} - -void player::apply_wetness_morale( int temperature ) -{ - // First, a quick check if we have any wetness to calculate morale from - // Faster than checking all worn items for friendliness - if( !std::any_of( body_wetness.begin(), body_wetness.end(), - []( const int w ) { - return w != 0; -} ) ) { - return; - } - - // Normalize temperature to [-1.0,1.0] - temperature = std::max( 0, std::min( 100, temperature ) ); - const double global_temperature_mod = -1.0 + ( 2.0 * temperature / 100.0 ); - - int total_morale = 0; - const auto wet_friendliness = exclusive_flag_coverage( "WATER_FRIENDLY" ); - for( const body_part bp : all_body_parts ) { - // Sum of body wetness can go up to 103 - const int part_drench = body_wetness[bp]; - if( part_drench == 0 ) { - continue; - } - - const auto &part_arr = mut_drench[bp]; - const int part_ignored = part_arr[WT_IGNORED]; - const int part_neutral = part_arr[WT_NEUTRAL]; - const int part_good = part_arr[WT_GOOD]; - - if( part_ignored >= part_drench ) { - continue; - } - - int bp_morale = 0; - const bool is_friendly = wet_friendliness.test( bp ); - const int effective_drench = part_drench - part_ignored; - if( is_friendly ) { - // Using entire bonus from mutations and then some "human" bonus - bp_morale = std::min( part_good, effective_drench ) + effective_drench / 2; - } else if( effective_drench < part_good ) { - // Positive or 0 - // Won't go higher than part_good / 2 - // Wet slime/scale doesn't feel as good when covered by wet rags/fur/kevlar - bp_morale = std::min( effective_drench, part_good - effective_drench ); - } else if( effective_drench > part_good + part_neutral ) { - // This one will be negative - bp_morale = part_good + part_neutral - effective_drench; - } - - // Clamp to [COLD,HOT] and cast to double - const double part_temperature = - std::min( BODYTEMP_HOT, std::max( BODYTEMP_COLD, temp_cur[bp] ) ); - // 0.0 at COLD, 1.0 at HOT - const double part_mod = ( part_temperature - BODYTEMP_COLD ) / - ( BODYTEMP_HOT - BODYTEMP_COLD ); - // Average of global and part temperature modifiers, each in range [-1.0, 1.0] - double scaled_temperature = ( global_temperature_mod + part_mod ) / 2; - - if( bp_morale < 0 ) { - // Damp, hot clothing on hot skin feels bad - scaled_temperature = fabs( scaled_temperature ); - } - - // For an unmutated human swimming in deep water, this will add up to: - // +51 when hot in 100% water friendly clothing - // -103 when cold/hot in 100% unfriendly clothing - total_morale += static_cast( bp_morale * ( 1.0 + scaled_temperature ) / 2.0 ); - } - - if( total_morale == 0 ) { - return; - } - - int morale_effect = total_morale / 8; - if( morale_effect == 0 ) { - if( total_morale > 0 ) { - morale_effect = 1; - } else { - morale_effect = -1; - } - } - // 61_seconds because decay is applied in 1_minutes increments - add_morale( MORALE_WET, morale_effect, total_morale, 61_seconds, 61_seconds, true ); -} - -void player::update_body_wetness( const w_point &weather ) -{ - // Average number of turns to go from completely soaked to fully dry - // assuming average temperature and humidity - constexpr time_duration average_drying = 2_hours; - - // A modifier on drying time - double delay = 1.0; - // Weather slows down drying - delay += ( ( weather.humidity - 66 ) - ( weather.temperature - 65 ) ) / 100; - delay = std::max( 0.1, delay ); - // Fur/slime retains moisture - if( has_trait( trait_LIGHTFUR ) || has_trait( trait_FUR ) || has_trait( trait_FELINE_FUR ) || - has_trait( trait_LUPINE_FUR ) || has_trait( trait_CHITIN_FUR ) || has_trait( trait_CHITIN_FUR2 ) || - has_trait( trait_CHITIN_FUR3 ) ) { - delay = delay * 6 / 5; - } - if( has_trait( trait_URSINE_FUR ) || has_trait( trait_SLIMY ) ) { - delay *= 1.5; - } - - if( !x_in_y( 1, to_turns( average_drying * delay / 100.0 ) ) ) { - // No drying this turn - return; - } - - // Now per-body-part stuff - // To make drying uniform, make just one roll and reuse it - const int drying_roll = rng( 1, 80 ); - - for( const body_part bp : all_body_parts ) { - if( body_wetness[bp] == 0 ) { - continue; - } - // This is to normalize drying times - int drying_chance = drench_capacity[bp]; - // Body temperature affects duration of wetness - // Note: Using temp_conv rather than temp_cur, to better approximate environment - if( temp_conv[bp] >= BODYTEMP_SCORCHING ) { - drying_chance *= 2; - } else if( temp_conv[bp] >= BODYTEMP_VERY_HOT ) { - drying_chance = drying_chance * 3 / 2; - } else if( temp_conv[bp] >= BODYTEMP_HOT ) { - drying_chance = drying_chance * 4 / 3; - } else if( temp_conv[bp] > BODYTEMP_COLD ) { - // Comfortable, doesn't need any changes - } else { - // Evaporation doesn't change that much at lower temp - drying_chance = drying_chance * 3 / 4; - } - - if( drying_chance < 1 ) { - drying_chance = 1; - } - - // TODO: Make evaporation reduce body heat - if( drying_chance >= drying_roll ) { - body_wetness[bp] -= 1; - if( body_wetness[bp] < 0 ) { - body_wetness[bp] = 0; - } - } - } - // TODO: Make clothing slow down drying -} - -int player::get_morale_level() const -{ - return morale->get_level(); -} - -void player::add_morale( const morale_type &type, int bonus, int max_bonus, - const time_duration &duration, const time_duration &decay_start, - bool capped, const itype *item_type ) -{ - morale->add( type, bonus, max_bonus, duration, decay_start, capped, item_type ); -} - -int player::has_morale( const morale_type &type ) const -{ - return morale->has( type ); -} - -void player::rem_morale( const morale_type &type, const itype *item_type ) -{ - morale->remove( type, item_type ); -} - -void player::clear_morale() -{ - morale->clear(); -} - -bool player::has_morale_to_read() const -{ - return get_morale_level() >= -40; -} - -void player::check_and_recover_morale() -{ - player_morale test_morale; - - for( const auto &wit : worn ) { - test_morale.on_item_wear( wit ); - } - - for( const auto &mut : my_mutations ) { - test_morale.on_mutation_gain( mut.first ); - } - - for( auto &elem : *effects ) { - for( auto &_effect_it : elem.second ) { - const effect &e = _effect_it.second; - test_morale.on_effect_int_change( e.get_id(), e.get_intensity(), e.get_bp() ); - } - } - - test_morale.on_stat_change( "hunger", get_hunger() ); - test_morale.on_stat_change( "thirst", get_thirst() ); - test_morale.on_stat_change( "fatigue", get_fatigue() ); - test_morale.on_stat_change( "pain", get_pain() ); - test_morale.on_stat_change( "pkill", get_painkiller() ); - test_morale.on_stat_change( "perceived_pain", get_perceived_pain() ); - - apply_persistent_morale(); - - if( !morale->consistent_with( test_morale ) ) { - *morale = player_morale( test_morale ); // Recover consistency - add_msg( m_debug, "%s morale was recovered.", disp_name( true ) ); - } -} - -void player::on_worn_item_transform( const item &old_it, const item &new_it ) -{ - morale->on_worn_item_transform( old_it, new_it ); -} - -void player::process_active_items() -{ - if( weapon.needs_processing() && weapon.process( this, pos(), false ) ) { - weapon = item(); - } - - std::vector inv_active = inv.active_items(); - for( item *tmp_it : inv_active ) { - if( tmp_it->process( this, pos(), false ) ) { - inv.remove_item( tmp_it ); - } - } - - // worn items - remove_worn_items_with( [this]( item & itm ) { - return itm.needs_processing() && itm.process( this, pos(), false ); - } ); - - // Active item processing done, now we're recharging. - item *cloak = nullptr; - item *power_armor = nullptr; - std::vector active_worn_items; - bool weapon_active = weapon.has_flag( "USE_UPS" ) && - weapon.charges < weapon.type->maximum_charges(); - // Manual iteration because we only care about *worn* active items. - for( item &w : worn ) { - if( w.has_flag( "USE_UPS" ) && - w.charges < w.type->maximum_charges() ) { - active_worn_items.push_back( &w ); - } - if( !w.active ) { - continue; + if( !w.active ) { + continue; } if( cloak == nullptr && w.has_flag( "ACTIVE_CLOAKING" ) ) { cloak = &w; @@ -6535,216 +3575,6 @@ bool player::can_interface_armor() const return okay; } -const martialart &player::get_combat_style() const -{ - return style_selected.obj(); -} - -std::vector player::inv_dump() -{ - std::vector ret; - if( is_armed() && can_unwield( weapon ).success() ) { - ret.push_back( &weapon ); - } - for( auto &i : worn ) { - ret.push_back( &i ); - } - inv.dump( ret ); - return ret; -} - -std::list player::use_amount( itype_id it, int quantity, - const std::function &filter ) -{ - std::list ret; - if( weapon.use_amount( it, quantity, ret ) ) { - remove_weapon(); - } - for( auto a = worn.begin(); a != worn.end() && quantity > 0; ) { - if( a->use_amount( it, quantity, ret, filter ) ) { - a->on_takeoff( *this ); - a = worn.erase( a ); - } else { - ++a; - } - } - if( quantity <= 0 ) { - return ret; - } - std::list tmp = inv.use_amount( it, quantity, filter ); - ret.splice( ret.end(), tmp ); - return ret; -} - -bool player::use_charges_if_avail( const itype_id &it, int quantity ) -{ - if( has_charges( it, quantity ) ) { - use_charges( it, quantity ); - return true; - } - return false; -} - -bool player::has_fire( const int quantity ) const -{ - // TODO: Replace this with a "tool produces fire" flag. - - if( g->m.has_nearby_fire( pos() ) ) { - return true; - } else if( has_item_with_flag( "FIRE" ) ) { - return true; - } else if( has_item_with_flag( "FIRESTARTER" ) ) { - auto firestarters = all_items_with_flag( "FIRESTARTER" ); - for( auto &i : firestarters ) { - if( has_charges( i->typeId(), quantity ) ) { - return true; - } - } - } else if( has_active_bionic( bio_tools ) && get_power_level() > quantity * 5_kJ ) { - return true; - } else if( has_bionic( bio_lighter ) && get_power_level() > quantity * 5_kJ ) { - return true; - } else if( has_bionic( bio_laser ) && get_power_level() > quantity * 5_kJ ) { - return true; - } else if( is_npc() ) { - // A hack to make NPCs use their Molotovs - return true; - } - return false; -} - -void player::use_fire( const int quantity ) -{ - //Okay, so checks for nearby fires first, - //then held lit torch or candle, bionic tool/lighter/laser - //tries to use 1 charge of lighters, matches, flame throwers - //If there is enough power, will use power of one activation of the bio_lighter, bio_tools and bio_laser - // (home made, military), hotplate, welder in that order. - // bio_lighter, bio_laser, bio_tools, has_active_bionic("bio_tools" - - if( g->m.has_nearby_fire( pos() ) ) { - return; - } else if( has_item_with_flag( "FIRE" ) ) { - return; - } else if( has_item_with_flag( "FIRESTARTER" ) ) { - auto firestarters = all_items_with_flag( "FIRESTARTER" ); - for( auto &i : firestarters ) { - if( has_charges( i->typeId(), quantity ) ) { - use_charges( i->typeId(), quantity ); - return; - } - } - } else if( has_active_bionic( bio_tools ) && get_power_level() > quantity * 5_kJ ) { - mod_power_level( -quantity * 5_kJ ); - return; - } else if( has_bionic( bio_lighter ) && get_power_level() > quantity * 5_kJ ) { - mod_power_level( -quantity * 5_kJ ); - return; - } else if( has_bionic( bio_laser ) && get_power_level() > quantity * 5_kJ ) { - mod_power_level( -quantity * 5_kJ ); - return; - } -} - -std::list player::use_charges( const itype_id &what, int qty, - const std::function &filter ) -{ - std::list res; - - if( qty <= 0 ) { - return res; - - } else if( what == "toolset" ) { - mod_power_level( units::from_kilojoule( -qty ) ); - return res; - - } else if( what == "fire" ) { - use_fire( qty ); - return res; - - } else if( what == "UPS" ) { - if( is_mounted() && mounted_creature.get()->has_flag( MF_RIDEABLE_MECH ) && - mounted_creature.get()->battery_item ) { - auto mons = mounted_creature.get(); - int power_drain = std::min( mons->battery_item->ammo_remaining(), qty ); - mons->use_mech_power( -power_drain ); - qty -= std::min( qty, power_drain ); - return res; - } - if( has_power() && has_active_bionic( bio_ups ) ) { - int bio = std::min( units::to_kilojoule( get_power_level() ), qty ); - mod_power_level( units::from_kilojoule( -bio ) ); - qty -= std::min( qty, bio ); - } - - int adv = charges_of( "adv_UPS_off", static_cast( ceil( qty * 0.6 ) ) ); - if( adv > 0 ) { - std::list found = use_charges( "adv_UPS_off", adv ); - res.splice( res.end(), found ); - qty -= std::min( qty, static_cast( adv / 0.6 ) ); - } - - int ups = charges_of( "UPS_off", qty ); - if( ups > 0 ) { - std::list found = use_charges( "UPS_off", ups ); - res.splice( res.end(), found ); - qty -= std::min( qty, ups ); - } - return res; - } - - std::vector del; - - bool has_tool_with_UPS = false; - visit_items( [this, &what, &qty, &res, &del, &has_tool_with_UPS, &filter]( item * e ) { - if( e->use_charges( what, qty, res, pos(), filter ) ) { - del.push_back( e ); - } - if( filter( *e ) && e->typeId() == what && e->has_flag( "USE_UPS" ) ) { - has_tool_with_UPS = true; - } - return qty > 0 ? VisitResponse::SKIP : VisitResponse::ABORT; - } ); - - for( auto e : del ) { - remove_item( *e ); - } - - if( has_tool_with_UPS ) { - use_charges( "UPS", qty ); - } - - return res; -} - -bool player::covered_with_flag( const std::string &flag, const body_part_set &parts ) const -{ - if( parts.none() ) { - return true; - } - - body_part_set to_cover( parts ); - - for( const auto &elem : worn ) { - if( !elem.has_flag( flag ) ) { - continue; - } - - to_cover &= ~elem.get_covered_body_parts(); - - if( to_cover.none() ) { - return true; // Allows early exit. - } - } - - return to_cover.none(); -} - -bool player::is_waterproof( const body_part_set &parts ) const -{ - return covered_with_flag( "WATERPROOF", parts ); -} - int player::amount_worn( const itype_id &id ) const { int amount = 0; @@ -6756,27 +3586,6 @@ int player::amount_worn( const itype_id &id ) const return amount; } -bool player::has_charges( const itype_id &it, int quantity, - const std::function &filter ) const -{ - if( it == "fire" || it == "apparatus" ) { - return has_fire( quantity ); - } - if( it == "UPS" && is_mounted() && - mounted_creature.get()->has_flag( MF_RIDEABLE_MECH ) ) { - auto mons = mounted_creature.get(); - return quantity <= mons->battery_item->ammo_remaining(); - } - return charges_of( it, quantity, filter ) == quantity; -} - -int player::leak_level( const std::string &flag ) const -{ - int leak_level = 0; - leak_level = inv.leak_level( flag ); - return leak_level; -} - bool player::has_mission_item( int mission_id ) const { return mission_id != -1 && has_item_with( has_mission_item_filter{ mission_id } ); @@ -6904,10 +3713,8 @@ bool player::consume_item( item &target ) return false; } if( consume_med( comest ) || - eat( comest ) || - feed_battery_with( comest ) || - feed_reactor_with( comest ) || - feed_furnace_with( comest ) || fuel_bionic_with( comest ) ) { + eat( comest ) || feed_reactor_with( comest ) || feed_furnace_with( comest ) || + fuel_bionic_with( comest ) ) { if( target.is_container() ) { target.on_contents_changed(); @@ -6966,36 +3773,8 @@ bool player::consume( int target_position ) inv.restack( *this ); inv.unsort(); } - - return true; -} - -void player::rooted_message() const -{ - bool wearing_shoes = is_wearing_shoes( side::LEFT ) || is_wearing_shoes( side::RIGHT ); - if( ( has_trait( trait_ROOTS2 ) || has_trait( trait_ROOTS3 ) ) && - g->m.has_flag( "PLOWABLE", pos() ) && - !wearing_shoes ) { - add_msg( m_info, _( "You sink your roots into the soil." ) ); - } -} - -// TODO: Move this into player::suffer() -void player::rooted() -// Should average a point every two minutes or so; ground isn't uniformly fertile -{ - double shoe_factor = footwear_factor(); - if( ( has_trait( trait_ROOTS2 ) || has_trait( trait_ROOTS3 ) ) && - g->m.has_flag( "PLOWABLE", pos() ) && shoe_factor != 1.0 ) { - if( one_in( 96 ) ) { - vitamin_mod( vitamin_id( "iron" ), 1, true ); - vitamin_mod( vitamin_id( "calcium" ), 1, true ); - } - if( get_thirst() <= -2000 && x_in_y( 75, 425 ) ) { - mod_thirst( -1 ); - } - mod_healthy_mod( 5, 50 ); - } + + return true; } bool player::add_faction_warning( const faction_id &id ) @@ -7492,6 +4271,11 @@ ret_val player::can_wield( const item &it ) const return ret_val::make_failure( _( "Can't wield spilt liquids." ) ); } + if( get_working_arm_count() <= 0 ) { + return ret_val::make_failure( + _( "You need at least one arm to even consider wielding something." ) ); + } + if( it.is_two_handed( *this ) && ( !has_two_arms() || worn_with_flag( "RESTRICT_HANDS" ) ) ) { if( worn_with_flag( "RESTRICT_HANDS" ) ) { return ret_val::make_failure( @@ -7508,81 +4292,6 @@ ret_val player::can_wield( const item &it ) const return ret_val::make_success(); } -ret_val player::can_unwield( const item &it ) const -{ - if( it.has_flag( "NO_UNWIELD" ) ) { - return ret_val::make_failure( _( "You cannot unwield your %s." ), it.tname() ); - } - - return ret_val::make_success(); -} - -bool player::is_wielding( const item &target ) const -{ - return &weapon == ⌖ -} - -bool player::wield( item &target ) -{ - if( is_wielding( target ) ) { - return true; - } - - if( !can_wield( target ).success() ) { - return false; - } - - if( !unwield() ) { - return false; - } - cached_info.erase( "weapon_value" ); - if( target.is_null() ) { - return true; - } - - // Query whether to draw an item from a holster when attempting to wield the holster - if( target.get_use( "holster" ) && !target.contents.empty() ) { - //~ %1$s: weapon name, %2$s: holster name - if( query_yn( pgettext( "holster", "Draw %1$s from %2$s?" ), target.get_contained().tname(), - target.tname() ) ) { - invoke_item( &target ); - return false; - } - } - - // Wielding from inventory is relatively slow and does not improve with increasing weapon skill. - // Worn items (including guns with shoulder straps) are faster but still slower - // than a skilled player with a holster. - // There is an additional penalty when wielding items from the inventory whilst currently grabbed. - - bool worn = is_worn( target ); - int mv = item_handling_cost( target, true, - worn ? INVENTORY_HANDLING_PENALTY / 2 : INVENTORY_HANDLING_PENALTY ); - - if( worn ) { - target.on_takeoff( *this ); - } - - add_msg( m_debug, "wielding took %d moves", mv ); - moves -= mv; - - if( has_item( target ) ) { - weapon = i_rem( &target ); - } else { - weapon = target; - } - - last_item = weapon.typeId(); - recoil = MAX_RECOIL; - - weapon.on_wield( *this, mv ); - - inv.update_invlet( weapon ); - inv.update_cache_with_item( weapon ); - - return true; -} - bool player::unwield() { if( weapon.is_null() ) { @@ -7605,11 +4314,29 @@ bool player::unwield() } // ids of martial art styles that are available with the bio_cqb bionic. -static const std::vector bio_cqb_styles {{ - matype_id{ "style_karate" }, matype_id{ "style_judo" }, matype_id{ "style_muay_thai" }, matype_id{ "style_biojutsu" } +static const std::vector bio_cqb_styles{ { + matype_id{ "style_aikido" }, + matype_id{ "style_biojutsu" }, + matype_id{ "style_boxing" }, + matype_id{ "style_capoeira" }, + matype_id{ "style_crane" }, + matype_id{ "style_dragon" }, + matype_id{ "style_judo" }, + matype_id{ "style_karate" }, + matype_id{ "style_krav_maga" }, + matype_id{ "style_leopard" }, + matype_id{ "style_muay_thai" }, + matype_id{ "style_ninjutsu" }, + matype_id{ "style_pankration" }, + matype_id{ "style_snake" }, + matype_id{ "style_taekwondo" }, + matype_id{ "style_tai_chi" }, + matype_id{ "style_tiger" }, + matype_id{ "style_wingchun" }, + matype_id{ "style_zui_quan" } }}; -bool player::pick_style() // Style selection menu +bool character_martial_arts::pick_style( const avatar &you ) // Style selection menu { enum style_selection { KEEP_HANDS_FREE = 0, @@ -7620,7 +4347,8 @@ bool player::pick_style() // Style selection menu // if no selected styles, cursor starts from no-style // Any other keys quit the menu - const std::vector &selectable_styles = has_active_bionic( bio_cqb ) ? bio_cqb_styles : + const std::vector &selectable_styles = you.has_active_bionic( + bio_cqb ) ? bio_cqb_styles : ma_styles; input_context ctxt( "MELEE_STYLE_PICKER" ); @@ -7657,7 +4385,7 @@ bool player::pick_style() // Style selection menu if( selection >= STYLE_OFFSET ) { style_selected = selectable_styles[selection - STYLE_OFFSET]; - martialart_use_message(); + martialart_use_message( you ); } else if( selection == KEEP_HANDS_FREE ) { keep_hands_free = !keep_hands_free; } else { @@ -7829,23 +4557,46 @@ void player::mend_item( item_location &&obj, bool interactive ) return; } - std::vector> faults; - std::transform( obj->faults.begin(), obj->faults.end(), - std::back_inserter( faults ), []( const fault_id & e ) { - return std::make_pair( &e.obj(), false ); - } ); + auto inv = crafting_inventory(); - if( faults.empty() ) { - if( interactive ) { - add_msg( m_info, _( "The %s doesn't have any faults to mend." ), obj->tname() ); + struct mending_option { + fault_id fault; + std::reference_wrapper method; + bool doable; + }; + + std::vector mending_options; + for( const fault_id &f : obj->faults ) { + for( const auto &m : f->mending_methods() ) { + mending_option opt { f, m.second, true }; + for( const auto &sk : m.second.skills ) { + if( get_skill_level( sk.first ) < sk.second ) { + opt.doable = false; + break; + } + } + opt.doable = opt.doable && + m.second.requirements->can_make_with_inventory( inv, is_crafting_component ); + mending_options.emplace_back( opt ); } - return; } - auto inv = crafting_inventory(); + if( mending_options.empty() ) { + if( interactive ) { + add_msg( m_info, _( "The %s doesn't have any faults to mend." ), obj->tname() ); + if( obj->damage() > 0 ) { + const std::set &rep = obj->repaired_with(); + const std::string repair_options = + enumerate_as_string( rep.begin(), rep.end(), []( const itype_id & e ) { + return item::nname( e ); + }, enumeration_conjunction::or_ ); - for( auto &f : faults ) { - f.second = f.first->requirements().can_make_with_inventory( inv, is_crafting_component ); + add_msg( m_info, _( "It is damaged, and could be repaired with %s. " + "%s to use one of those items." ), + repair_options, press_x( ACTION_USE ) ); + } + } + return; } int sel = 0; @@ -7855,32 +4606,50 @@ void player::mend_item( item_location &&obj, bool interactive ) menu.desc_enabled = true; menu.desc_lines = 0; // Let uilist handle description height - int w = 80; + constexpr int fold_width = 80; - for( auto &f : faults ) { - auto reqs = f.first->requirements(); - auto tools = reqs.get_folded_tools_list( w, c_white, inv ); - auto comps = reqs.get_folded_components_list( w, c_white, inv, is_crafting_component ); + for( const mending_option &opt : mending_options ) { + const mending_method &method = opt.method; + const nc_color col = opt.doable ? c_white : c_light_gray; + + auto reqs = method.requirements.obj(); + auto tools = reqs.get_folded_tools_list( fold_width, col, inv ); + auto comps = reqs.get_folded_components_list( fold_width, col, inv, is_crafting_component ); std::ostringstream descr; - descr << _( "Time required:\n" ); - // TODO: better have a from_moves function - descr << "> " << to_string_approx( time_duration::from_turns( f.first->time() / 100 ) ) << "\n"; - descr << _( "Skills:\n" ); - for( const auto &e : f.first->skills() ) { - bool hasSkill = get_skill_level( e.first ) >= e.second; - if( !hasSkill && f.second ) { - f.second = false; - } - //~ %1$s represents the internal color name which shouldn't be translated, %2$s is skill name, and %3$i is skill level - descr << string_format( _( "> %2$s %3$i\n" ), hasSkill ? "c_green" : "c_red", - e.first.obj().name(), e.second ); + if( method.turns_into ) { + descr << string_format( _( "Turns into: %s\n" ), + method.turns_into->obj().name() ); + } + descr << string_format( _( "Time required: %s\n" ), + to_string_approx( method.time ) ); + if( method.skills.empty() ) { + descr << string_format( _( "Skills: none\n" ) ); + } else { + descr << string_format( _( "Skills: %s\n" ), + enumerate_as_string( method.skills.begin(), method.skills.end(), + [this]( const std::pair &sk ) -> std::string { + if( get_skill_level( sk.first ) >= sk.second ) + { + return string_format( pgettext( "skill requirement", + //~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level + "%1$s (%2$d/%3$d)" ), + sk.first->name(), get_skill_level( sk.first ), sk.second ); + } else + { + return string_format( pgettext( "skill requirement", + //~ %1$s: skill name, %2$s: current skill level, %3$s: required skill level + "%1$s (%2$d/%3$d)" ), + sk.first->name(), get_skill_level( sk.first ), sk.second ); + } + } ) ); } std::copy( tools.begin(), tools.end(), std::ostream_iterator( descr, "\n" ) ); std::copy( comps.begin(), comps.end(), std::ostream_iterator( descr, "\n" ) ); - menu.addentry_desc( -1, true, -1, f.first->name(), descr.str() ); + const std::string desc = method.description + "\n\n" + colorize( descr.str(), col ); + menu.addentry_desc( -1, true, -1, method.name.translated(), desc ); } menu.query(); if( menu.ret < 0 ) { @@ -7891,15 +4660,18 @@ void player::mend_item( item_location &&obj, bool interactive ) } if( sel >= 0 ) { - if( !faults[ sel ].second ) { + const mending_option &opt = mending_options[sel]; + if( !opt.doable ) { if( interactive ) { - add_msg( m_info, _( "You are currently unable to mend the %s." ), obj->tname() ); + add_msg( m_info, _( "You are currently unable to mend the %s this way." ), obj->tname() ); } return; } - assign_activity( activity_id( "ACT_MEND_ITEM" ), faults[ sel ].first->time() ); - activity.name = faults[ sel ].first->id().str(); + const mending_method &method = opt.method; + assign_activity( activity_id( "ACT_MEND_ITEM" ), to_moves( method.time ) ); + activity.name = opt.fault.str(); + activity.str_values.emplace_back( method.id ); activity.targets.push_back( std::move( obj ) ); } } @@ -8081,11 +4853,11 @@ player::wear_item( const item &to_wear, bool interactive ) } if( supertinymouse && !to_wear.has_flag( "UNDERSIZE" ) ) { add_msg_if_player( m_warning, - _( "This %s is too big to wear comfortably! Maybe it could be refitted..." ), + _( "This %s is too big to wear comfortably! Maybe it could be refitted…" ), to_wear.tname() ); } else if( to_wear.has_flag( "UNDERSIZE" ) ) { add_msg_if_player( m_warning, - _( "This %s is too small to wear comfortably! Maybe it could be refitted..." ), + _( "This %s is too small to wear comfortably! Maybe it could be refitted…" ), to_wear.tname() ); } } else { @@ -8254,43 +5026,6 @@ bool player::takeoff( int pos ) return takeoff( i_at( pos ) ); } -void player::drop( int pos, const tripoint &where ) -{ - const item &it = i_at( pos ); - const int count = it.count(); - - drop( { std::make_pair( pos, count ) }, where ); -} - -void player::drop( const std::list> &what, const tripoint &target, bool stash ) -{ - const activity_id type( stash ? "ACT_STASH" : "ACT_DROP" ); - - if( what.empty() ) { - return; - } - - if( rl_dist( pos(), target ) > 1 || !( stash || g->m.can_put_items( target ) ) ) { - add_msg_player_or_npc( m_info, _( "You can't place items here!" ), - _( " can't place items here!" ) ); - return; - } - - assign_activity( type ); - activity.placement = target - pos(); - - for( auto item_pair : what ) { - if( can_unwield( i_at( item_pair.first ) ).success() ) { - activity.values.push_back( item_pair.first ); - activity.values.push_back( item_pair.second ); - } - } - // TODO: Remove the hack. Its here because npcs don't process activities - if( is_npc() ) { - activity.do_turn( *this ); - } -} - bool player::add_or_drop_with_msg( item &it, const bool unloading ) { if( it.made_of( LIQUID ) ) { @@ -8586,83 +5321,6 @@ hint_rating player::rate_action_use( const item &it ) const return HINT_CANT; } -bool player::has_enough_charges( const item &it, bool show_msg ) const -{ - if( !it.is_tool() || !it.ammo_required() ) { - return true; - } - if( it.has_flag( "USE_UPS" ) ) { - if( has_charges( "UPS", it.ammo_required() ) || it.ammo_sufficient() ) { - return true; - } - if( show_msg ) { - add_msg_if_player( m_info, - ngettext( "Your %s needs %d charge from some UPS.", - "Your %s needs %d charges from some UPS.", - it.ammo_required() ), - it.tname(), it.ammo_required() ); - } - return false; - } else if( !it.ammo_sufficient() ) { - if( show_msg ) { - add_msg_if_player( m_info, - ngettext( "Your %s has %d charge but needs %d.", - "Your %s has %d charges but needs %d.", - it.ammo_remaining() ), - it.tname(), it.ammo_remaining(), it.ammo_required() ); - } - return false; - } - return true; -} - -bool player::consume_charges( item &used, int qty ) -{ - if( qty < 0 ) { - debugmsg( "Tried to consume negative charges" ); - return false; - } - - if( qty == 0 ) { - return false; - } - - if( !used.is_tool() && !used.is_food() && !used.is_medication() ) { - debugmsg( "Tried to consume charges for non-tool, non-food, non-med item" ); - return false; - } - - // Consume comestibles destroying them if no charges remain - if( used.is_food() || used.is_medication() ) { - used.charges -= qty; - if( used.charges <= 0 ) { - i_rem( &used ); - return true; - } - return false; - } - - // Tools which don't require ammo are instead destroyed - if( used.is_tool() && !used.ammo_required() ) { - i_rem( &used ); - return true; - } - - // USE_UPS never occurs on base items but is instead added by the UPS tool mod - if( used.has_flag( "USE_UPS" ) ) { - // With the new UPS system, we'll want to use any charges built up in the tool before pulling from the UPS - // The usage of the item was already approved, so drain item if possible, otherwise use UPS - if( used.charges >= qty ) { - used.ammo_consume( qty, pos() ); - } else { - use_charges( "UPS", qty ); - } - } else { - used.ammo_consume( std::min( qty, used.ammo_remaining() ), pos() ); - } - return false; -} - void player::use( int inventory_position ) { item &used = i_at( inventory_position ); @@ -8717,83 +5375,6 @@ void player::use( item_location loc ) } } -bool player::invoke_item( item *used ) -{ - return invoke_item( used, pos() ); -} - -bool player::invoke_item( item *used, const tripoint &pt ) -{ - const auto &use_methods = used->type->use_methods; - - if( use_methods.empty() ) { - return false; - } else if( use_methods.size() == 1 ) { - return invoke_item( used, use_methods.begin()->first, pt ); - } - - uilist umenu; - - umenu.text = string_format( _( "What to do with your %s?" ), used->tname() ); - umenu.hilight_disabled = true; - - for( const auto &e : use_methods ) { - const auto res = e.second.can_call( *this, *used, false, pt ); - umenu.addentry_desc( MENU_AUTOASSIGN, res.success(), MENU_AUTOASSIGN, e.second.get_name(), - res.str() ); - } - - umenu.desc_enabled = std::any_of( umenu.entries.begin(), - umenu.entries.end(), []( const uilist_entry & elem ) { - return !elem.desc.empty(); - } ); - - umenu.query(); - - int choice = umenu.ret; - if( choice < 0 || choice >= static_cast( use_methods.size() ) ) { - return false; - } - - const std::string &method = std::next( use_methods.begin(), choice )->first; - - return invoke_item( used, method, pt ); -} - -bool player::invoke_item( item *used, const std::string &method ) -{ - return invoke_item( used, method, pos() ); -} - -bool player::invoke_item( item *used, const std::string &method, const tripoint &pt ) -{ - if( !has_enough_charges( *used, true ) ) { - return false; - } - - item *actually_used = used->get_usable_item( method ); - if( actually_used == nullptr ) { - debugmsg( "Tried to invoke a method %s on item %s, which doesn't have this method", - method.c_str(), used->tname() ); - return false; - } - - int charges_used = actually_used->type->invoke( *this, *actually_used, pt, method ); - if( charges_used == 0 ) { - return false; - } - // Prevent accessing the item as it may have been deleted by the invoked iuse function. - - if( used->is_tool() || used->is_medication() || used->get_contained().is_medication() ) { - return consume_charges( *actually_used, charges_used ); - } else if( used->is_bionic() || used->is_deployable() || method == "place_trap" ) { - i_rem( used ); - return true; - } - - return false; -} - void player::reassign_item( item &it, int invlet ) { bool remove_old = true; @@ -9189,7 +5770,7 @@ void player::try_to_sleep( const time_duration &dur ) // At this point, it's kinda weird, but surprisingly comfy... if( web >= 3 ) { add_msg_if_player( m_good, - _( "These thick webs support your weight, and are strangely comfortable..." ) ); + _( "These thick webs support your weight, and are strangely comfortable…" ) ); websleeping = true; } else if( web > 0 ) { add_msg_if_player( m_info, @@ -9215,10 +5796,10 @@ void player::try_to_sleep( const time_duration &dur ) if( has_trait( trait_WATERSLEEP ) ) { if( underwater ) { add_msg_if_player( m_good, - _( "You lay beneath the waves' embrace, gazing up through the water's surface..." ) ); + _( "You lay beneath the waves' embrace, gazing up through the water's surface…" ) ); watersleep = true; } else if( g->m.has_flag_ter( "SWIMMABLE", pos() ) ) { - add_msg_if_player( m_good, _( "You settle into the water and begin to drowse..." ) ); + add_msg_if_player( m_good, _( "You settle into the water and begin to drowse…" ) ); watersleep = true; } } @@ -9392,6 +5973,7 @@ comfort_level player::base_comfort_value( const tripoint &p ) const int player::sleep_spot( const tripoint &p ) const { + const int current_stim = get_stim(); comfort_level base_level = base_comfort_value( p ); int sleepy = static_cast( base_level ); bool watersleep = has_trait( trait_WATERSLEEP ); @@ -9425,11 +6007,11 @@ int player::sleep_spot( const tripoint &p ) const sleepy += static_cast( ( get_fatigue() - TIRED + 1 ) / 16 ); } - if( stim > 0 || !has_trait( trait_INSOMNIA ) ) { - sleepy -= 2 * stim; + if( current_stim > 0 || !has_trait( trait_INSOMNIA ) ) { + sleepy -= 2 * current_stim; } else { // Make it harder for insomniac to get around the trait - sleepy -= stim; + sleepy -= current_stim; } return sleepy; @@ -9473,213 +6055,32 @@ bool player::can_sleep() return result; } -void player::fall_asleep() -{ - // Communicate to the player that he is using items on the floor - std::string item_name = is_snuggling(); - if( item_name == "many" ) { - if( one_in( 15 ) ) { - add_msg_if_player( _( "You nestle your pile of clothes for warmth." ) ); - } else { - add_msg_if_player( _( "You use your pile of clothes for warmth." ) ); - } - } else if( item_name != "nothing" ) { - if( one_in( 15 ) ) { - add_msg_if_player( _( "You snuggle your %s to keep warm." ), item_name ); - } else { - add_msg_if_player( _( "You use your %s to keep warm." ), item_name ); - } - } - if( has_active_mutation( trait_id( "HIBERNATE" ) ) && - get_kcal_percent() > 0.8f ) { - if( is_avatar() ) { - g->memorial().add( pgettext( "memorial_male", "Entered hibernation." ), - pgettext( "memorial_female", "Entered hibernation." ) ); - } - // some days worth of round-the-clock Snooze. Cata seasons default to 91 days. - fall_asleep( 10_days ); - // If you're not fatigued enough for 10 days, you won't sleep the whole thing. - // In practice, the fatigue from filling the tank from (no msg) to Time For Bed - // will last about 8 days. - } - - fall_asleep( 10_hours ); // default max sleep time. -} - -void player::fall_asleep( const time_duration &duration ) -{ - if( activity ) { - if( activity.id() == "ACT_TRY_SLEEP" ) { - activity.set_to_null(); - } else { - cancel_activity(); - } - } - add_effect( effect_sleep, duration ); -} - -std::string player::is_snuggling() const -{ - auto begin = g->m.i_at( pos() ).begin(); - auto end = g->m.i_at( pos() ).end(); - - if( in_vehicle ) { - if( const cata::optional vp = g->m.veh_at( pos() ).part_with_feature( VPFLAG_CARGO, - false ) ) { - vehicle *const veh = &vp->vehicle(); - const int cargo = vp->part_index(); - if( !veh->get_items( cargo ).empty() ) { - begin = veh->get_items( cargo ).begin(); - end = veh->get_items( cargo ).end(); - } - } - } - const item *floor_armor = nullptr; - int ticker = 0; - - // If there are no items on the floor, return nothing - if( begin == end ) { - return "nothing"; - } - - for( auto candidate = begin; candidate != end; ++candidate ) { - if( !candidate->is_armor() ) { - continue; - } else if( candidate->volume() > 250_ml && candidate->get_warmth() > 0 && - ( candidate->covers( bp_torso ) || candidate->covers( bp_leg_l ) || - candidate->covers( bp_leg_r ) ) ) { - floor_armor = &*candidate; - ticker++; - } - } - - if( ticker == 0 ) { - return "nothing"; - } else if( ticker == 1 ) { - return floor_armor->type_name(); - } else if( ticker > 1 ) { - return "many"; - } - - return "nothing"; -} - // Returned values range from 1.0 (unimpeded vision) to 11.0 (totally blind). // 1.0 is LIGHT_AMBIENT_LIT or brighter // 4.0 is a dark clear night, barely bright enough for reading and crafting // 6.0 is LIGHT_AMBIENT_DIM // 7.3 is LIGHT_AMBIENT_MINIMAL, a dark cloudy night, unlit indoors -// 11.0 is zero light or blindness -float player::fine_detail_vision_mod( const tripoint &p ) const -{ - // PER_SLIME_OK implies you can get enough eyes around the bile - // that you can generally see. There still will be the haze, but - // it's annoying rather than limiting. - if( is_blind() || - ( ( has_effect( effect_boomered ) || has_effect( effect_darkness ) ) && - !has_trait( trait_PER_SLIME_OK ) ) ) { - return 11.0; - } - // Scale linearly as light level approaches LIGHT_AMBIENT_LIT. - // If we're actually a source of light, assume we can direct it where we need it. - // Therefore give a hefty bonus relative to ambient light. - float own_light = std::max( 1.0, LIGHT_AMBIENT_LIT - active_light() - 2 ); - - // Same calculation as above, but with a result 3 lower. - float ambient_light = std::max( 1.0, - LIGHT_AMBIENT_LIT - g->m.ambient_light_at( p == tripoint_zero ? pos() : p ) + 1.0 ); - - return std::min( own_light, ambient_light ); -} - -int player::get_wind_resistance( body_part bp ) const -{ - int coverage = 0; - float totalExposed = 1.0; - int totalCoverage = 0; - int penalty = 100; - - for( auto &i : worn ) { - if( i.covers( bp ) ) { - if( i.made_of( material_id( "leather" ) ) || i.made_of( material_id( "plastic" ) ) || - i.made_of( material_id( "bone" ) ) || - i.made_of( material_id( "chitin" ) ) || i.made_of( material_id( "nomex" ) ) ) { - penalty = 10; // 90% effective - } else if( i.made_of( material_id( "cotton" ) ) ) { - penalty = 30; - } else if( i.made_of( material_id( "wool" ) ) ) { - penalty = 40; - } else { - penalty = 1; // 99% effective - } - - coverage = std::max( 0, i.get_coverage() - penalty ); - totalExposed *= ( 1.0 - coverage / 100.0 ); // Coverage is between 0 and 1? - } - } - - // Your shell provides complete wind protection if you're inside it - if( has_active_mutation( trait_SHELL2 ) ) { - totalCoverage = 100; - return totalCoverage; - } - - totalCoverage = 100 - totalExposed * 100; - - return totalCoverage; -} - -int player::warmth( body_part bp ) const -{ - int ret = 0; - int warmth = 0; - - for( auto &i : worn ) { - if( i.covers( bp ) ) { - warmth = i.get_warmth(); - // Wool items do not lose their warmth due to being wet. - // Warmth is reduced by 0 - 66% based on wetness. - if( !i.made_of( material_id( "wool" ) ) ) { - warmth *= 1.0 - 0.66 * body_wetness[bp] / drench_capacity[bp]; - } - ret += warmth; - } - } - ret += get_effect_int( efftype_id( "heating_bionic" ), bp ); - return ret; -} - -static int bestwarmth( const std::list< item > &its, const std::string &flag ) -{ - int best = 0; - for( auto &w : its ) { - if( w.has_flag( flag ) && w.get_warmth() > best ) { - best = w.get_warmth(); - } - } - return best; -} - -int player::bonus_item_warmth( body_part bp ) const +// 11.0 is zero light or blindness +float player::fine_detail_vision_mod( const tripoint &p ) const { - int ret = 0; - - // If the player is not wielding anything big, check if hands can be put in pockets - if( ( bp == bp_hand_l || bp == bp_hand_r ) && weapon.volume() < 500_ml ) { - ret += bestwarmth( worn, "POCKETS" ); - } - - // If the player's head is not encumbered, check if hood can be put up - if( bp == bp_head && encumb( bp_head ) < 10 ) { - ret += bestwarmth( worn, "HOOD" ); + // PER_SLIME_OK implies you can get enough eyes around the bile + // that you can generally see. There still will be the haze, but + // it's annoying rather than limiting. + if( is_blind() || + ( ( has_effect( effect_boomered ) || has_effect( effect_darkness ) ) && + !has_trait( trait_PER_SLIME_OK ) ) ) { + return 11.0; } + // Scale linearly as light level approaches LIGHT_AMBIENT_LIT. + // If we're actually a source of light, assume we can direct it where we need it. + // Therefore give a hefty bonus relative to ambient light. + float own_light = std::max( 1.0, LIGHT_AMBIENT_LIT - active_light() - 2 ); - // If the player's mouth is not encumbered, check if collar can be put up - if( bp == bp_mouth && encumb( bp_mouth ) < 10 ) { - ret += bestwarmth( worn, "COLLAR" ); - } + // Same calculation as above, but with a result 3 lower. + float ambient_light = std::max( 1.0, + LIGHT_AMBIENT_LIT - g->m.ambient_light_at( p == tripoint_zero ? pos() : p ) + 1.0 ); - return ret; + return std::min( own_light, ambient_light ); } int player::get_armor_bash( body_part bp ) const @@ -9791,11 +6192,6 @@ int player::get_armor_acid( body_part bp ) const return get_armor_type( DT_ACID, bp ); } -int player::get_armor_fire( body_part bp ) const -{ - return get_armor_type( DT_HEAT, bp ); -} - int player::get_env_resist( body_part bp ) const { int ret = 0; @@ -9819,16 +6215,6 @@ int player::get_env_resist( body_part bp ) const return ret; } -bool player::wearing_something_on( body_part bp ) const -{ - for( auto &i : worn ) { - if( i.covers( bp ) ) { - return true; - } - } - return false; -} - bool player::natural_attack_restricted_on( body_part bp ) const { for( auto &i : worn ) { @@ -9840,96 +6226,6 @@ bool player::natural_attack_restricted_on( body_part bp ) const return false; } -bool player::is_wearing_shoes( const side &which_side ) const -{ - bool left = true; - bool right = true; - if( which_side == side::LEFT || which_side == side::BOTH ) { - left = false; - for( const item &worn_item : worn ) { - if( worn_item.covers( bp_foot_l ) && !worn_item.has_flag( "BELTED" ) && - !worn_item.has_flag( "PERSONAL" ) && !worn_item.has_flag( "AURA" ) && - !worn_item.has_flag( "SEMITANGIBLE" ) && !worn_item.has_flag( "SKINTIGHT" ) ) { - left = true; - break; - } - } - } - if( which_side == side::RIGHT || which_side == side::BOTH ) { - right = false; - for( const item &worn_item : worn ) { - if( worn_item.covers( bp_foot_r ) && !worn_item.has_flag( "BELTED" ) && - !worn_item.has_flag( "PERSONAL" ) && !worn_item.has_flag( "AURA" ) && - !worn_item.has_flag( "SEMITANGIBLE" ) && !worn_item.has_flag( "SKINTIGHT" ) ) { - right = true; - break; - } - } - } - return ( left && right ); -} - -bool player::is_wearing_helmet() const -{ - for( const item &i : worn ) { - if( i.covers( bp_head ) && !i.has_flag( "HELMET_COMPAT" ) && !i.has_flag( "SKINTIGHT" ) && - !i.has_flag( "PERSONAL" ) && !i.has_flag( "AURA" ) && !i.has_flag( "SEMITANGIBLE" ) && - !i.has_flag( "OVERSIZE" ) ) { - return true; - } - } - return false; -} - -int player::head_cloth_encumbrance() const -{ - int ret = 0; - for( auto &i : worn ) { - const item *worn_item = &i; - if( i.covers( bp_head ) && !i.has_flag( "SEMITANGIBLE" ) && - ( worn_item->has_flag( "HELMET_COMPAT" ) || worn_item->has_flag( "SKINTIGHT" ) ) ) { - ret += worn_item->get_encumber( *this ); - } - } - return ret; -} - -double player::footwear_factor() const -{ - double ret = 0; - if( wearing_something_on( bp_foot_l ) ) { - ret += .5; - } - if( wearing_something_on( bp_foot_r ) ) { - ret += .5; - } - return ret; -} - -double player::armwear_factor() const -{ - double ret = 0; - if( wearing_something_on( bp_arm_l ) ) { - ret += .5; - } - if( wearing_something_on( bp_arm_r ) ) { - ret += .5; - } - return ret; -} - -int player::shoe_type_count( const itype_id &it ) const -{ - int ret = 0; - if( is_wearing_on_bp( it, bp_foot_l ) ) { - ret++; - } - if( is_wearing_on_bp( it, bp_foot_r ) ) { - ret++; - } - return ret; -} - int player::adjust_for_focus( int amount ) const { int effective_focus = focus_pool; @@ -9952,7 +6248,7 @@ void player::practice( const skill_id &id, int amount, int cap, bool suppress_wa const Skill &skill = id.obj(); std::string skill_name = skill.name(); - if( !level.can_train() ) { + if( !level.can_train() && !in_sleep_state() ) { // If leveling is disabled, don't train, don't drain focus, don't print anything // Leaving as a skill method rather than global for possible future skill cap setting return; @@ -10087,78 +6383,6 @@ void player::learn_recipe( const recipe *const rec ) learned_recipes->include( rec ); } -void player::assign_activity( const activity_id &type, int moves, int index, int pos, - const std::string &name ) -{ - assign_activity( player_activity( type, moves, index, pos, name ) ); -} - -void player::assign_activity( const player_activity &act, bool allow_resume ) -{ - if( allow_resume && !backlog.empty() && backlog.front().can_resume_with( act, *this ) ) { - add_msg_if_player( _( "You resume your task." ) ); - activity = backlog.front(); - backlog.pop_front(); - } else { - if( activity ) { - backlog.push_front( activity ); - } - - activity = act; - } - - if( activity.rooted() ) { - rooted_message(); - } - if( is_npc() ) { - npc *guy = dynamic_cast( this ); - guy->set_attitude( NPCATT_ACTIVITY ); - guy->set_mission( NPC_MISSION_ACTIVITY ); - guy->current_activity_id = activity.id(); - } -} - -bool player::has_activity( const activity_id &type ) const -{ - return activity.id() == type; -} - -bool player::has_activity( const std::vector &types ) const -{ - return std::find( types.begin(), types.end(), activity.id() ) != types.end() ; -} - -void player::cancel_activity() -{ - if( has_activity( activity_id( "ACT_MOVE_ITEMS" ) ) && is_hauling() ) { - stop_hauling(); - } - if( has_activity( activity_id( "ACT_TRY_SLEEP" ) ) ) { - remove_value( "sleep_query" ); - } - // Clear any backlog items that aren't auto-resume. - for( auto backlog_item = backlog.begin(); backlog_item != backlog.end(); ) { - if( backlog_item->auto_resume ) { - backlog_item++; - } else { - backlog_item = backlog.erase( backlog_item ); - } - } - if( activity && activity.is_suspendable() ) { - backlog.push_front( activity ); - } - sfx::end_activity_sounds(); // kill activity sounds when canceled - activity = player_activity(); -} - -void player::resume_backlog_activity() -{ - if( !backlog.empty() && backlog.front().auto_resume ) { - activity = backlog.front(); - backlog.pop_front(); - } -} - bool player::has_gun_for_ammo( const ammotype &at ) const { return has_item_with( [at]( const item & it ) { @@ -10340,7 +6564,7 @@ bool player::uncanny_dodge() if( is_u ) { add_msg( _( "Time seems to slow down and you instinctively dodge!" ) ); } else if( seen ) { - add_msg( _( "%s dodges... so fast!" ), this->disp_name() ); + add_msg( _( "%s dodges… so fast!" ), this->disp_name() ); } return true; @@ -10382,7 +6606,7 @@ void player::environmental_revert_effect() set_fatigue( 0 ); set_healthy( 0 ); set_healthy_mod( 0 ); - stim = 0; + set_stim( 0 ); set_pain( 0 ); set_painkiller( 0 ); radiation = 0; @@ -10391,52 +6615,26 @@ void player::environmental_revert_effect() reset_encumbrance(); } -bool player::is_invisible() const -{ - static const bionic_id str_bio_cloak( "bio_cloak" ); // This function used in monster::plan_moves - static const bionic_id str_bio_night( "bio_night" ); - return ( - has_effect_with_flag( "EFFECT_INVISIBLE" ) || - has_active_bionic( str_bio_cloak ) || - has_active_bionic( str_bio_night ) || - has_active_optcloak() || - has_trait( trait_DEBUG_CLOAK ) || - has_artifact_with( AEP_INVISIBLE ) - ); -} - -int player::visibility( bool, int ) const -{ - // 0-100 % - if( is_invisible() ) { - return 0; - } - // TODO: - // if ( dark_clothing() && light check ... - int stealth_modifier = std::floor( mutation_value( "stealth_modifier" ) ); - return clamp( 100 - stealth_modifier, 40, 160 ); -} - void player::set_destination( const std::vector &route, - const player_activity &destination_activity ) + const player_activity &new_destination_activity ) { auto_move_route = route; - this->destination_activity = destination_activity; + set_destination_activity( new_destination_activity ); destination_point.emplace( g->m.getabs( route.back() ) ); } void player::clear_destination() { auto_move_route.clear(); - destination_activity = player_activity(); + clear_destination_activity(); destination_point = cata::nullopt; next_expected_position = cata::nullopt; } bool player::has_distant_destination() const { - return has_destination() && !destination_activity.is_null() && - destination_activity.id() == "ACT_TRAVELLING" && !omt_path.empty(); + return has_destination() && !get_destination_activity().is_null() && + get_destination_activity().id() == "ACT_TRAVELLING" && !omt_path.empty(); } bool player::has_destination() const @@ -10446,7 +6644,7 @@ bool player::has_destination() const bool player::has_destination_activity() const { - return !destination_activity.is_null() && destination_point && + return !get_destination_activity().is_null() && destination_point && position == g->m.getlocal( *destination_point ); } @@ -10457,7 +6655,7 @@ void player::start_destination_activity() return; } - assign_activity( destination_activity ); + assign_activity( get_destination_activity() ); clear_destination(); } @@ -10520,29 +6718,6 @@ void player::shift_destination( const point &shift ) } } -void player::start_hauling() -{ - add_msg( _( "You start hauling items along the ground." ) ); - if( is_armed() ) { - add_msg( m_warning, _( "Your hands are not free, which makes hauling slower." ) ); - } - hauling = true; -} - -void player::stop_hauling() -{ - add_msg( _( "You stop hauling items." ) ); - hauling = false; - if( has_activity( activity_id( "ACT_MOVE_ITEMS" ) ) ) { - cancel_activity(); - } -} - -bool player::is_hauling() const -{ - return hauling; -} - bool player::has_weapon() const { return !unarmed_attack(); @@ -10595,225 +6770,6 @@ int player::get_hp_max( hp_part bp ) const return hp_total; } -int player::get_stamina_max() const -{ - int maxStamina = get_option< int >( "PLAYER_MAX_STAMINA" ); - maxStamina *= Character::mutation_value( "max_stamina_modifier" ); - return maxStamina; -} - -void player::burn_move_stamina( int moves ) -{ - int overburden_percentage = 0; - units::mass current_weight = weight_carried(); - units::mass max_weight = weight_capacity(); - if( current_weight > max_weight ) { - overburden_percentage = ( current_weight - max_weight ) * 100 / max_weight; - } - - int burn_ratio = get_option( "PLAYER_BASE_STAMINA_BURN_RATE" ); - if( g->u.has_active_bionic( bionic_id( "bio_torsionratchet" ) ) ) { - burn_ratio = burn_ratio * 2 - 3; - } - for( const bionic_id &bid : get_bionic_fueled_with( item( "muscle" ) ) ) { - if( has_active_bionic( bid ) ) { - burn_ratio = burn_ratio * 2 - 3; - } - } - burn_ratio += overburden_percentage; - if( move_mode == PMM_RUN ) { - burn_ratio = burn_ratio * 7; - } - mod_stat( "stamina", -( ( moves * burn_ratio ) / 100.0 ) ); - add_msg( m_debug, "Stamina burn: %d", -( ( moves * burn_ratio ) / 100 ) ); - // Chance to suffer pain if overburden and stamina runs out or has trait BADBACK - // Starts at 1 in 25, goes down by 5 for every 50% more carried - if( ( current_weight > max_weight ) && ( has_trait( trait_BADBACK ) || stamina == 0 ) && - one_in( 35 - 5 * current_weight / ( max_weight / 2 ) ) ) { - add_msg_if_player( m_bad, _( "Your body strains under the weight!" ) ); - // 1 more pain for every 800 grams more (5 per extra STR needed) - if( ( ( current_weight - max_weight ) / 800_gram > get_pain() && get_pain() < 100 ) ) { - mod_pain( 1 ); - } - } -} - -void player::mount_creature( monster &z ) -{ - tripoint pnt = z.pos(); - std::shared_ptr mons = g->shared_from( z ); - if( mons == nullptr ) { - add_msg( m_debug, "mount_creature(): monster not found in critter_tracker" ); - return; - } - add_effect( effect_riding, 1_turns, num_bp, true ); - z.add_effect( effect_ridden, 1_turns, num_bp, true ); - if( z.has_effect( effect_tied ) ) { - z.remove_effect( effect_tied ); - if( z.tied_item ) { - i_add( *z.tied_item ); - z.tied_item = cata::nullopt; - } - } - z.mounted_player_id = getID(); - if( z.has_effect( effect_harnessed ) ) { - z.remove_effect( effect_harnessed ); - add_msg_if_player( m_info, _( "You remove the %s's harness." ), z.get_name() ); - } - mounted_creature = mons; - mons->mounted_player = this; - if( is_hauling() ) { - stop_hauling(); - } - if( is_player() ) { - if( g->u.get_grab_type() != OBJECT_NONE ) { - add_msg( m_warning, _( "You let go of the grabbed object." ) ); - g->u.grab( OBJECT_NONE ); - } - g->place_player( pnt ); - } else { - npc &guy = dynamic_cast( *this ); - guy.setpos( pnt ); - } - z.facing = facing; - add_msg_if_player( m_good, _( "You climb on the %s." ), z.get_name() ); - if( z.has_flag( MF_RIDEABLE_MECH ) ) { - if( !z.type->mech_weapon.empty() ) { - item mechwep = item( z.type->mech_weapon ); - wield( mechwep ); - } - add_msg_if_player( m_good, _( "You hear your %s whir to life." ), z.get_name() ); - } - // some rideable mechs have night-vision - recalc_sight_limits(); - mod_moves( -100 ); -} - -void player::forced_dismount() -{ - remove_effect( effect_riding ); - bool mech = false; - if( mounted_creature ) { - auto mon = mounted_creature.get(); - if( mon->has_flag( MF_RIDEABLE_MECH ) && !mon->type->mech_weapon.empty() ) { - mech = true; - remove_item( weapon ); - } - mon->mounted_player_id = character_id(); - mon->remove_effect( effect_ridden ); - mon->add_effect( effect_controlled, 5_turns ); - mounted_creature = nullptr; - mon->mounted_player = nullptr; - } - std::vector valid; - for( const tripoint &jk : g->m.points_in_radius( pos(), 1 ) ) { - if( g->is_empty( jk ) ) { - valid.push_back( jk ); - } - } - if( !valid.empty() ) { - setpos( random_entry( valid ) ); - if( mech ) { - add_msg_player_or_npc( m_bad, _( "You are ejected from your mech!" ), - _( " is ejected from their mech!" ) ); - } else { - add_msg_player_or_npc( m_bad, _( "You fall off your mount!" ), - _( " falls off their mount!" ) ); - } - const int dodge = get_dodge(); - const int damage = std::max( 0, rng( 1, 20 ) - rng( dodge, dodge * 2 ) ); - body_part hit = num_bp; - switch( rng( 1, 10 ) ) { - case 1: - if( one_in( 2 ) ) { - hit = bp_foot_l; - } else { - hit = bp_foot_r; - } - break; - case 2: - case 3: - case 4: - if( one_in( 2 ) ) { - hit = bp_leg_l; - } else { - hit = bp_leg_r; - } - break; - case 5: - case 6: - case 7: - if( one_in( 2 ) ) { - hit = bp_arm_l; - } else { - hit = bp_arm_r; - } - break; - case 8: - case 9: - hit = bp_torso; - break; - case 10: - hit = bp_head; - break; - } - if( damage > 0 ) { - add_msg_if_player( m_bad, _( "You hurt yourself!" ) ); - deal_damage( nullptr, hit, damage_instance( DT_BASH, damage ) ); - if( is_avatar() ) { - g->memorial().add( - pgettext( "memorial_male", "Fell off a mount." ), - pgettext( "memorial_female", "Fell off a mount." ) ); - } - check_dead_state(); - } - add_effect( effect_downed, 5_turns, num_bp, true ); - } else { - add_msg( m_debug, "Forced_dismount could not find a square to deposit player" ); - } - if( is_player() ) { - if( g->u.get_grab_type() != OBJECT_NONE ) { - add_msg( m_warning, _( "You let go of the grabbed object." ) ); - g->u.grab( OBJECT_NONE ); - } - set_movement_mode( PMM_WALK ); - g->update_map( g->u ); - } - moves -= 150; -} - -void player::dismount() -{ - if( !is_mounted() ) { - add_msg( m_debug, "dismount called when not riding" ); - return; - } - if( const cata::optional pnt = choose_adjacent( _( "Dismount where?" ) ) ) { - if( !g->is_empty( *pnt ) ) { - add_msg( m_warning, _( "You cannot dismount there!" ) ); - return; - } - remove_effect( effect_riding ); - monster *critter = mounted_creature.get(); - critter->mounted_player_id = character_id(); - if( critter->has_flag( MF_RIDEABLE_MECH ) && !critter->type->mech_weapon.empty() ) { - remove_item( g->u.weapon ); - } - if( g->u.get_grab_type() != OBJECT_NONE ) { - add_msg( m_warning, _( "You let go of the grabbed object." ) ); - g->u.grab( OBJECT_NONE ); - } - critter->remove_effect( effect_ridden ); - critter->add_effect( effect_controlled, 5_turns ); - mounted_creature = nullptr; - critter->mounted_player = nullptr; - setpos( *pnt ); - g->refresh_all(); - mod_moves( -100 ); - set_movement_mode( PMM_WALK ); - } -} - Creature::Attitude player::attitude_to( const Creature &other ) const { const auto m = dynamic_cast( &other ); @@ -10887,13 +6843,7 @@ bool player::sees( const Creature &critter ) const if( dist <= 3 && has_active_mutation( trait_ANTENNAE ) ) { return true; } - if( critter.digging() && has_active_bionic( bio_ground_sonar ) ) { - // Bypass the check below, the bionic sonar also bypasses the sees(point) check because - // walls don't block sonar which is transmitted in the ground, not the air. - // TODO: this might need checks whether the player is in the air, or otherwise not connected - // to the ground. It also might need a range check. - return true; - } + return Creature::sees( critter ); } @@ -10972,13 +6922,6 @@ void player::add_known_trap( const tripoint &pos, const trap &t ) } } -bool player::is_deaf() const -{ - return get_effect_int( effect_deaf ) > 2 || worn_with_flag( "DEAF" ) || has_trait( trait_DEAF ) || - ( has_active_bionic( bio_earplugs ) && !has_active_bionic( bio_ears ) ) || - ( has_trait( trait_M_SKIN3 ) && g->m.has_flag_ter_or_furn( "FUNGUS", pos() ) && in_sleep_state() ); -} - bool player::can_hear( const tripoint &source, const int volume ) const { if( is_deaf() ) { @@ -11089,7 +7032,7 @@ std::vector player::get_targetable_creatures( const int range ) cons { return g->get_creatures_if( [this, range]( const Creature & critter ) -> bool { return this != &critter && pos() != critter.pos() && // TODO: get rid of fake npcs (pos() check) - rl_dist( pos(), critter.pos() ) <= range && + round( rl_dist_exact( pos(), critter.pos() ) ) <= range && ( sees( critter ) || sees_with_infrared( critter ) ); } ); } @@ -11099,13 +7042,7 @@ std::vector player::get_hostile_creatures( int range ) const return g->get_creatures_if( [this, range]( const Creature & critter ) -> bool { float dist_to_creature; // Fixes circular distance range for ranged attacks - if( !trigdist ) - { - dist_to_creature = rl_dist( pos(), critter.pos() ); - } else - { - dist_to_creature = round( trig_dist( pos(), critter.pos() ) ); - } + dist_to_creature = round( rl_dist_exact( pos(), critter.pos() ) ); return this != &critter && pos() != critter.pos() && // TODO: get rid of fake npcs (pos() check) dist_to_creature <= range && critter.attitude_to( *this ) == A_HOSTILE && sees( critter ); @@ -11192,12 +7129,6 @@ void player::place_corpse( const tripoint &om_target ) bool player::sees_with_infrared( const Creature &critter ) const { - // electroreceptors grants vision of robots and electric monsters through walls - if( has_trait( trait_ELECTRORECEPTORS ) && - ( critter.in_species( ROBOT ) || critter.has_flag( MF_ELECTRIC ) ) ) { - return true; - } - if( !vision_mode_cache[IR_VISION] || !critter.is_warm() ) { return false; } @@ -11212,76 +7143,6 @@ bool player::sees_with_infrared( const Creature &critter ) const return g->m.sees( pos(), critter.pos(), sight_range( current_daylight_level( calendar::turn ) ) ); } -std::vector player::get_overlay_ids() const -{ - std::vector rval; - std::multimap mutation_sorting; - int order; - std::string overlay_id; - - // first get effects - for( const auto &eff_pr : *effects ) { - rval.push_back( "effect_" + eff_pr.first.str() ); - } - - // then get mutations - for( const auto &mut : my_mutations ) { - overlay_id = ( mut.second.powered ? "active_" : "" ) + mut.first.str(); - order = get_overlay_order_of_mutation( overlay_id ); - mutation_sorting.insert( std::pair( order, overlay_id ) ); - } - - // then get bionics - for( const bionic &bio : *my_bionics ) { - overlay_id = ( bio.powered ? "active_" : "" ) + bio.id.str(); - order = get_overlay_order_of_mutation( overlay_id ); - mutation_sorting.insert( std::pair( order, overlay_id ) ); - } - - for( auto &mutorder : mutation_sorting ) { - rval.push_back( "mutation_" + mutorder.second ); - } - - // next clothing - // TODO: worry about correct order of clothing overlays - for( const item &worn_item : worn ) { - rval.push_back( "worn_" + worn_item.typeId() ); - } - - // last weapon - // TODO: might there be clothing that covers the weapon? - if( is_armed() ) { - rval.push_back( "wielded_" + weapon.typeId() ); - } - - if( move_mode != PMM_WALK ) { - rval.push_back( player_movemode_str[ move_mode ] ); - } - return rval; -} - -void player::spores() -{ - fungal_effects fe( *g, g->m ); - //~spore-release sound - sounds::sound( pos(), 10, sounds::sound_t::combat, _( "Pouf!" ), false, "misc", "puff" ); - for( const tripoint &sporep : g->m.points_in_radius( pos(), 1 ) ) { - if( sporep == pos() ) { - continue; - } - fe.fungalize( sporep, this, 0.25 ); - } -} - -void player::blossoms() -{ - // Player blossoms are shorter-ranged, but you can fire much more frequently if you like. - sounds::sound( pos(), 10, sounds::sound_t::combat, _( "Pouf!" ), false, "misc", "puff" ); - for( const tripoint &tmp : g->m.points_in_radius( pos(), 2 ) ) { - g->m.add_field( tmp, fd_fungal_haze, rng( 1, 2 ) ); - } -} - float player::power_rating() const { int dmg = std::max( { weapon.damage_melee( DT_BASH ), @@ -11312,19 +7173,12 @@ float player::speed_rating() const float ret = get_speed() / 100.0f; ret *= 100.0f / run_cost( 100, false ); // Adjustment for player being able to run, but not doing so at the moment - if( move_mode != PMM_RUN ) { - ret *= 1.0f + ( static_cast( stamina ) / static_cast( get_stamina_max() ) ); + if( move_mode != CMM_RUN ) { + ret *= 1.0f + ( static_cast( get_stamina() ) / static_cast( get_stamina_max() ) ); } return ret; } -std::vector player::all_items_with_flag( const std::string &flag ) const -{ - return items_with( [&flag]( const item & it ) { - return it.has_flag( flag ); - } ); -} - item &player::item_with_best_of_quality( const quality_id &qid ) { int maxq = max_quality( qid ); @@ -11367,16 +7221,6 @@ bool player::crush_frozen_liquid( item_location loc ) return false; } -bool player::has_item_with_flag( const std::string &flag, bool need_charges ) const -{ - return has_item_with( [&flag, &need_charges]( const item & it ) { - if( it.is_tool() && need_charges ) { - return it.has_flag( flag ) && it.type->tool->max_charges ? it.charges > 0 : it.has_flag( flag ); - } - return it.has_flag( flag ); - } ); -} - void player::on_mutation_gain( const trait_id &mid ) { morale->on_mutation_gain( mid ); @@ -11464,12 +7308,6 @@ std::set player::get_path_avoid() const return ret; } -bool player::is_rad_immune() const -{ - bool has_helmet = false; - return ( is_wearing_power_armor( &has_helmet ) && has_helmet ) || worn_with_flag( "RAD_PROOF" ); -} - void player::do_skill_rust() { const int rate = rust_rate(); @@ -11500,7 +7338,7 @@ void player::do_skill_rust() // without becoming an annoyance. // add_msg_if_player( _( "Your heart races as you recall your most recent hunt." ) ); - stim++; + mod_stim( 1 ); } continue; } @@ -11523,7 +7361,7 @@ std::pair player::get_hunger_description() const { const bool calorie_deficit = get_bmi() < character_weight_category::normal; const units::volume contains = stomach.contains(); - const units::volume cap = stomach.capacity(); + const units::volume cap = stomach.capacity( *this ); std::string hunger_string; nc_color hunger_color = c_white; // i ate just now! diff --git a/src/player.h b/src/player.h index 8d2f2de3b726d..947cfda438b47 100644 --- a/src/player.h +++ b/src/player.h @@ -115,7 +115,6 @@ struct ret_val::default_failure : public enum class rechargeable_cbm { none = 0, - battery, reactor, furnace, other @@ -134,8 +133,6 @@ struct special_attack { damage_instance damage; }; -class player_morale; - // The maximum level recoil will ever reach. // This corresponds to the level of accuracy of a "snap" or "hip" shot. extern const double MAX_RECOIL; @@ -157,20 +154,6 @@ struct needs_rates { float kcal = 0.0f; }; -enum player_movemode : unsigned char { - PMM_WALK = 0, - PMM_RUN = 1, - PMM_CROUCH = 2, - PMM_COUNT -}; - -static const std::array< std::string, PMM_COUNT > player_movemode_str = { { - "walk", - "run", - "crouch" - } -}; - class player : public Character { public: @@ -204,15 +187,10 @@ class player : public Character /** Returns the modifier value used for vomiting effects. */ double vomit_mod(); - bool in_sleep_state() const override { - return Creature::in_sleep_state() || activity.id() == "ACT_TRY_SLEEP"; - } - bool is_npc() const override { return false; // Overloaded for NPCs in npc.h } - bool can_mount( const monster &critter ) const; - void mount_creature( monster &z ); + /** Returns what color the player should be drawn as */ nc_color basic_symbol_color() const override; @@ -242,12 +220,7 @@ class player : public Character void recalc_speed_bonus(); /** Called after every action, invalidates player caches */ void action_taken(); - /** Ticks down morale counters and removes them */ - void update_morale(); - /** Ensures persistent morale effects are up-to-date */ - void apply_persistent_morale(); - /** Maintains body temperature */ - void update_bodytemp(); + /** Define color for displaying the body temperature */ nc_color bodytemp_color( int bp ) const; /** Returns the player's modified base movement cost */ @@ -264,10 +237,7 @@ class player : public Character void update_stomach( const time_point &from, const time_point &to ); /** Increases hunger, thirst, fatigue and stimulants wearing off. `rate_multiplier` is for retroactive updates. */ void update_needs( int rate_multiplier ); - needs_rates calc_needs_rates(); - - /** Set vitamin deficiency/excess disease states dependent upon current vitamin levels */ - void update_vitamins( const vitamin_id &vit ); + needs_rates calc_needs_rates() const; /** * Handles passive regeneration of pain and maybe hp. @@ -276,8 +246,7 @@ class player : public Character // called once per 24 hours to enforce the minimum of 1 hp healed per day // TODO: Move to Character once heal() is moved void enforce_minimum_healing(); - /** Regenerates stamina */ - void update_stamina( int turns ); + /** Kills the player if too hungry, stimmed up etc., forces tired player to sleep and prints warnings. */ void check_needs_extremes(); @@ -296,10 +265,6 @@ class player : public Character bool has_higher_trait( const trait_id &flag ) const; /** Returns true if the player has a trait that shares a type with the entered trait */ bool has_same_type_trait( const trait_id &flag ) const; - /** Returns true if the player has crossed a mutation threshold - * Player can only cross one mutation threshold. - */ - bool crossed_threshold() const; /** Returns true if the entered trait may be purified away * Defaults to true */ @@ -307,16 +272,9 @@ class player : public Character /** Returns a dream's description selected randomly from the player's highest mutation category */ std::string get_category_dream( const std::string &cat, int strength ) const; - /** Returns true if the player is in a climate controlled area or armor */ - bool in_climate_control(); - /** Handles process of introducing patient into anesthesia during Autodoc operations. Requires anesthetic kits or NOPAIN mutation */ void introduce_into_anesthesia( const time_duration &duration, player &installer, bool needs_anesthesia ); - /** Returns true if the player is wearing an active optical cloak */ - bool has_active_optcloak() const; - /** Adds a bionic to my_bionics[] */ - void add_bionic( const bionic_id &b ); /** Removes a bionic from my_bionics[] */ void remove_bionic( const bionic_id &b ); /** Calculate skill for (un)installing bionics */ @@ -348,7 +306,8 @@ class player : public Character bool uninstall_bionic( const bionic_id &b_id, player &installer, bool autodoc = false, int skill_level = -1 ); /**Succes or failure of removal happens here*/ - void perform_uninstall( bionic_id bid, int difficulty, int success, int power_lvl, int pl_skill ); + void perform_uninstall( bionic_id bid, int difficulty, int success, units::energy power_lvl, + int pl_skill ); /**Used by monster to perform surgery*/ bool uninstall_bionic( const bionic &target_cbm, monster &installer, player &patient, float adjusted_skill, bool autodoc = false ); @@ -365,12 +324,11 @@ class player : public Character void power_mutations(); /** Handles bionic activation effects of the entered bionic, returns if anything activated */ bool activate_bionic( int b, bool eff_only = false ); - /** Handles bionic deactivation effects of the entered bionic, returns if anything deactivated */ - bool deactivate_bionic( int b, bool eff_only = false ); - /**Convert fuel to bionic power*/ - bool burn_fuel( int b, bool start = false ); - /** Handles bionic effects over time of the entered bionic */ - void process_bionic( int b ); + /** Handles bionic deactivation effects of the entered bionic, returns if anything + * deactivated */ + bool deactivate_bionic( int b, bool eff_only = false ) override; + /** Adds a bionic to my_bionics[] */ + void add_bionic( const bionic_id &b ); /** Randomly removes a bionic from my_bionics[] */ bool remove_random_bionic(); /** Remove all bionics */ @@ -383,8 +341,6 @@ class player : public Character bionic &bionic_at_index( int i ); /** Returns the bionic with the given invlet, or NULL if no bionic has that invlet */ bionic *bionic_by_invlet( int ch ); - /** Returns player luminosity based on the brightest active item they are carrying */ - float active_light() const; const tripoint &pos() const override; /** Returns the player's sight range */ @@ -401,8 +357,6 @@ class player : public Character bool sight_impaired() const; /** Calculates melee weapon wear-and-tear through use, returns true if item is destroyed. */ bool handle_melee_wear( item &shield, float wear_multiplier = 1.0f ); - /** True if unarmed or wielding a weapon with the UNARMED_WEAPON flag */ - bool unarmed_attack() const; /** Called when a player triggers a trap, returns true if they don't set it off */ bool avoid_trap( const tripoint &pos, const trap &tr ) const override; @@ -444,67 +398,11 @@ class player : public Character void pause(); // '.' command; pauses & resets recoil - void set_movement_mode( player_movemode mode ); - bool movement_mode_is( player_movemode mode ) const; - - void cycle_move_mode(); // Cycles to the next move mode. - void reset_move_mode(); // Resets to walking. - void toggle_run_mode(); // Toggles running on/off. - void toggle_crouch_mode(); // Toggles crouching on/off. - // martialarts.cpp - /** Fires all non-triggered martial arts events */ - void ma_static_effects(); - /** Fires all move-triggered martial arts events */ - void ma_onmove_effects(); - /** Fires all pause-triggered martial arts events */ - void ma_onpause_effects(); - /** Fires all hit-triggered martial arts events */ - void ma_onhit_effects(); - /** Fires all attack-triggered martial arts events */ - void ma_onattack_effects(); - /** Fires all dodge-triggered martial arts events */ - void ma_ondodge_effects(); - /** Fires all block-triggered martial arts events */ - void ma_onblock_effects(); - /** Fires all get hit-triggered martial arts events */ - void ma_ongethit_effects(); - /** Fires all miss-triggered martial arts events */ - void ma_onmiss_effects(); - /** Fires all crit-triggered martial arts events */ - void ma_oncrit_effects(); - /** Fires all kill-triggered martial arts events */ - void ma_onkill_effects(); - - /** Returns true if the player has any martial arts buffs attached */ - bool has_mabuff( const mabuff_id &buff_id ) const; - /** Returns true if the player has access to the entered martial art */ - bool has_martialart( const matype_id &ma_id ) const; - /** Adds the entered martial art to the player's list */ - void add_martialart( const matype_id &ma_id ); + /** Returns true if the player can learn the entered martial art */ bool can_autolearn( const matype_id &ma_id ) const; - /** Displays a message if the player can or cannot use the martial art */ - void martialart_use_message() const; - - /** Returns the to hit bonus from martial arts buffs */ - float mabuff_tohit_bonus() const; - /** Returns the dodge bonus from martial arts buffs */ - float mabuff_dodge_bonus() const; - /** Returns the block bonus from martial arts buffs */ - int mabuff_block_bonus() const; - /** Returns the speed bonus from martial arts buffs */ - int mabuff_speed_bonus() const; - /** Returns the damage multiplier to given type from martial arts buffs */ - float mabuff_damage_mult( damage_type type ) const; - /** Returns the flat damage bonus to given type from martial arts buffs, applied after the multiplier */ - int mabuff_damage_bonus( damage_type type ) const; - /** Returns the flat penalty to move cost of attacks. If negative, that's a bonus. Applied after multiplier. */ - int mabuff_attack_cost_penalty() const; - /** Returns the multiplier on move cost of attacks. */ - float mabuff_attack_cost_mult() const; - /** Returns true if the player is immune to throws */ - bool is_throw_immune() const; + /** Returns value of player's stable footing */ float stability_roll() const override; /** Returns true if the player has quiet melee attacks */ @@ -519,35 +417,11 @@ class player : public Character bool is_on_ground() const override; /** Returns true if the player should be dead */ bool is_dead_state() const override; - /** Returns true is the player is protected from electric shocks */ - bool is_elec_immune() const override; - /** Returns true if the player is immune to this kind of effect */ - bool is_immune_effect( const efftype_id & ) const override; - /** Returns true if the player is immune to this kind of damage */ - bool is_immune_damage( damage_type ) const override; - /** Returns true if the player is protected from radiation */ - bool is_rad_immune() const; - - /** Returns true if the player has technique-based miss recovery */ - bool has_miss_recovery_tec( const item &weap ) const; - /** Returns the technique used for miss recovery */ - ma_technique get_miss_recovery_tec( const item &weap ) const; - /** Returns true if the player has a grab breaking technique available */ - bool has_grab_break_tec() const override; - /** Returns the grab breaking technique if available */ - ma_technique get_grab_break_tec() const; + /** Returns true if the player is able to use a grab breaking technique */ - bool can_grab_break() const; + bool can_grab_break( const item &weap ) const; /** Returns true if the player is able to use a miss recovery technique */ bool can_miss_recovery( const item &weap ) const; - /** Returns true if the player has the leg block technique available */ - bool can_leg_block() const; - /** Returns true if the player has the arm block technique available */ - bool can_arm_block() const; - /** Returns true if either can_leg_block() or can_arm_block() returns true */ - bool can_limb_block() const; - /** Returns true if the current style forces unarmed attack techniques */ - bool is_force_unarmed() const; // melee.cpp /** Returns the best item for blocking with */ @@ -644,10 +518,6 @@ class player : public Character /** Adds player's total stab damage to the damage instance */ void roll_stab_damage( bool crit, damage_instance &di, bool average, const item &weap ) const; - std::vector get_all_techniques( const item &weap ) const; - - /** Returns true if the player has a weapon or martial arts skill available with the entered technique */ - bool has_technique( const matec_id &id, const item &weap ) const; /** Returns a random valid technique */ matec_id pick_technique( Creature &t, const item &weap, bool crit, bool dodge_counter, bool block_counter ); @@ -669,21 +539,6 @@ class player : public Character /** Returns melee skill level, to be used to throttle dodge practice. **/ float get_melee() const override; - /** - * Adds a reason for why the player would miss a melee attack. - * - * To possibly be messaged to the player when he misses a melee attack. - * @param reason A message for the player that gives a reason for him missing. - * @param weight The weight used when choosing what reason to pick when the - * player misses. - */ - void add_miss_reason( const std::string &reason, unsigned int weight ); - /** Clears the list of reasons for why the player would miss a melee attack. */ - void clear_miss_reasons(); - /** - * Returns an explanation for why the player would miss a melee attack. - */ - std::string get_miss_reason(); /** Handles the uncanny dodge bionic and effects, returns true if the player successfully dodges */ bool uncanny_dodge() override; @@ -738,16 +593,8 @@ class player : public Character /** Returns perceived pain (reduced with painkillers)*/ int get_perceived_pain() const override; - void cough( bool harmful = false, int loudness = 4 ); - void add_pain_msg( int val, body_part bp ) const; - /** Modifies intensity of painkillers */ - void mod_painkiller( int npkill ); - /** Sets intensity of painkillers */ - void set_painkiller( int npkill ); - /** Returns intensity of painkillers */ - int get_painkiller() const; /** Knocks the player to a specified tile */ void knock_back_to( const tripoint &to ) override; @@ -766,33 +613,10 @@ class player : public Character /** Returns list of artifacts in player inventory. **/ std::list get_artifact_items(); - /** Adds an addiction to the player */ - void add_addiction( add_type type, int strength ); - /** Removes an addition from the player */ - void rem_addiction( add_type type ); - /** Returns true if the player has an addiction of the specified type */ - bool has_addiction( add_type type ) const; - /** Returns the intensity of the specified addiction */ - int addiction_level( add_type type ) const; - /** Siphons fuel (if available) from the specified vehicle into container or * similar via @ref game::handle_liquid. May start a player activity. */ void siphon( vehicle &veh, const itype_id &desired_liquid ); - /** Handles a large number of timers decrementing and other randomized effects */ - void suffer(); - /** Handles mitigation and application of radiation */ - bool irradiate( float rads, bool bypass = false ); - /** Handles the chance for broken limbs to spontaneously heal to 1 HP */ - void mend( int rate_multiplier ); - - /** Creates an auditory hallucination */ - void sound_hallu(); - - /** Drenches the player with water, saturation is the percent gotten wet */ - void drench( int saturation, const body_part_set &flags, bool ignore_waterproof ); - /** Recalculates morale penalty/bonus from wetness based on mutations, equipment and temperature */ - void apply_wetness_morale( int temperature ); /** used for drinking from hands, returns how many charges were consumed */ int drink_from_hands( item &water ); @@ -813,8 +637,6 @@ class player : public Character void modify_stimulation( const islot_comestible &comest ); /** Used to apply addiction modifications from food and medication **/ void modify_addiction( const islot_comestible &comest ); - /** Used to apply morale modifications from food and medication **/ - void modify_morale( item &food, int nutr = 0 ); /** Can the food be [theoretically] eaten no matter the consequences? */ ret_val can_eat( const item &food ) const; @@ -836,8 +658,6 @@ class player : public Character int kcal_for( const item &comest ) const; /** Handles the nutrition value for a comestible **/ int nutrition_for( const item &comest ) const; - /** Handles the enjoyability value for a comestible. First value is enjoyability, second is cap. **/ - std::pair fun_for( const item &comest ) const; /** Handles the enjoyability value for a book. **/ int book_fun_for( const item &book, const player &p ) const; /** @@ -858,28 +678,8 @@ class player : public Character /** Get vitamin usage rate (minutes per unit) accounting for bionics, mutations and effects */ time_duration vitamin_rate( const vitamin_id &vit ) const; - /** - * Add or subtract vitamins from player storage pools - * @param vit ID of vitamin to modify - * @param qty amount by which to adjust vitamin (negative values are permitted) - * @param capped if true prevent vitamins which can accumulate in excess from doing so - * @return adjusted level for the vitamin or zero if vitamin does not exist - */ - int vitamin_mod( const vitamin_id &vit, int qty, bool capped = true ); - void vitamins_mod( const std::map &, bool capped = true ); - /** - * Check current level of a vitamin - * - * Accesses level of a given vitamin. If the vitamin_id specified does not - * exist then this function simply returns 0. - * - * @param vit ID of vitamin to check level for. - * @returns current level for specified vitamin - */ - int vitamin_get( const vitamin_id &vit ) const; - /** * Sets level of a vitamin or returns false if id given in vit does not exist * @@ -891,13 +691,8 @@ class player : public Character */ bool vitamin_set( const vitamin_id &vit, int qty ); - /** Current metabolic rate due to traits, hunger, speed, etc. */ - float metabolic_rate() const; /** Handles the effects of consuming an item */ bool consume_effects( item &food ); - /** Handles rooting effects */ - void rooted_message() const; - void rooted(); int get_lift_assist() const; bool list_ammo( const item &base, std::vector &ammo_list, @@ -949,28 +744,14 @@ class player : public Character * @param it Thing to be wielded */ ret_val can_wield( const item &it ) const; - /** - * Check player capable of unwielding an item. - * @param it Thing to be unwielded - */ - ret_val can_unwield( const item &it ) const; /** Check player's capability of consumption overall */ bool can_consume( const item &it ) const; /** True if the player has enough skill (in cooking or survival) to estimate time to rot */ bool can_estimate_rot() const; - bool is_wielding( const item &target ) const; - /** - * Removes currently wielded item (if any) and replaces it with the target item. - * @param target replacement item to wield or null item to remove existing weapon without replacing it - * @return whether both removal and replacement were successful (they are performed atomically) - */ - virtual bool wield( item &target ); bool unwield(); - /** Creates the UI and handles player input for picking martial arts styles */ - bool pick_style(); /** * Whether a tool or gun is potentially reloadable (optionally considering a specific ammo) * @param it Thing to be reloaded @@ -1025,9 +806,6 @@ class player : public Character /** Takes off an item, returning false on fail. The taken off item is processed in the interact */ bool takeoff( const item &it, std::list *res = nullptr ); bool takeoff( int pos ); - /** Drops an item to the specified location */ - void drop( int pos, const tripoint &where ); - void drop( const std::list> &what, const tripoint &target, bool stash = false ); /** So far only called by unload() from game.cpp */ bool add_or_drop_with_msg( item &it, bool unloading = false ); @@ -1060,26 +838,10 @@ class player : public Character void use( item_location loc ); /** Uses the current wielded weapon */ void use_wielded(); - /** - * Asks how to use the item (if it has more than one use_method) and uses it. - * Returns true if it destroys the item. Consumes charges from the item. - * Multi-use items are ONLY supported when all use_methods are iuse_actor! - */ - bool invoke_item( item *, const tripoint &pt ); - /** As above, but with a pre-selected method. Debugmsg if this item doesn't have this method. */ - bool invoke_item( item *, const std::string &, const tripoint &pt ); - /** As above two, but with position equal to current position */ - bool invoke_item( item * ); - bool invoke_item( item *, const std::string & ); + /** Reassign letter. */ void reassign_item( item &it, int invlet ); - /** Consume charges of a tool or comestible item, potentially destroying it in the process - * @param used item consuming the charges - * @param qty number of charges to consume which must be non-zero - * @return true if item was destroyed */ - bool consume_charges( item &used, int qty ); - /** Removes gunmod after first unloading any contained ammo and returns true on success */ bool gunmod_remove( item &gun, item &mod ); @@ -1104,11 +866,6 @@ class player : public Character int sleep_spot( const tripoint &p ) const; /** Checked each turn during "lying_down", returns true if the player falls asleep */ bool can_sleep(); - /** Adds "sleep" to the player */ - void fall_asleep(); - void fall_asleep( const time_duration &duration ); - /** Checks to see if the player is using floor items to keep warm, and return the name of one such item if so */ - std::string is_snuggling() const; private: /** last time we checked for sleep */ @@ -1139,10 +896,6 @@ class player : public Character bool add_faction_warning( const faction_id &id ); int current_warnings_fac( const faction_id &id ); bool beyond_final_warning( const faction_id &id ); - /** Returns warmth provided by armor, etc. */ - int warmth( body_part bp ) const; - /** Returns warmth provided by an armor's bonus, like hoods, pockets, etc. */ - int bonus_item_warmth( body_part bp ) const; /** Returns overall bashing resistance for the body_part */ int get_armor_bash( body_part bp ) const override; /** Returns overall cutting resistance for the body_part */ @@ -1155,28 +908,10 @@ class player : public Character int get_env_resist( body_part bp ) const override; /** Returns overall acid resistance for the body part */ int get_armor_acid( body_part bp ) const; - /** Returns overall fire resistance for the body part */ - int get_armor_fire( body_part bp ) const; /** Returns overall resistance to given type on the bod part */ int get_armor_type( damage_type dt, body_part bp ) const override; - /** Returns true if the player is wearing something on the entered body_part */ - bool wearing_something_on( body_part bp ) const; /** Returns true if the player is wearing something on the entered body_part, ignoring items with the ALLOWS_NATURAL_ATTACKS flag */ bool natural_attack_restricted_on( body_part bp ) const; - /** Returns true if the player is wearing something on their feet that is not SKINTIGHT */ - bool is_wearing_shoes( const side &which_side = side::BOTH ) const; - /** Returns true if the player is wearing something occupying the helmet slot */ - bool is_wearing_helmet() const; - /** Returns the total encumbrance of all SKINTIGHT and HELMET_COMPAT items covering the head */ - int head_cloth_encumbrance() const; - /** Returns 1 if the player is wearing something on both feet, .5 if on one, and 0 if on neither */ - double footwear_factor() const; - /** Same as footwear factor, but for arms */ - double armwear_factor() const; - /** Returns 1 if the player is wearing an item of that count on one foot, 2 if on both, and zero if on neither */ - int shoe_type_count( const itype_id &it ) const; - /** Returns wind resistance provided by armor, etc **/ - int get_wind_resistance( body_part bp ) const; /** Returns the effect of pain on stats */ stat_mod get_pain_penalty() const; int kcal_speed_penalty(); @@ -1188,30 +923,7 @@ class player : public Character void practice( const skill_id &id, int amount, int cap = 99, bool suppress_warning = false ); /** This handles warning the player that there current activity will not give them xp */ void handle_skill_warning( const skill_id &id, bool force_warning = false ); - /** Legacy activity assignment, should not be used where resuming is important. */ - void assign_activity( const activity_id &type, int moves = calendar::INDEFINITELY_LONG, - int index = -1, int pos = INT_MIN, - const std::string &name = "" ); - /** Assigns activity to player, possibly resuming old activity if it's similar enough. */ - void assign_activity( const player_activity &act, bool allow_resume = true ); - /** Check if player currently has a given activity */ - bool has_activity( const activity_id &type ) const; - /** Check if player currently has any of the given activities */ - bool has_activity( const std::vector &types ) const; - void cancel_activity(); - void resume_backlog_activity(); - - int get_morale_level() const; // Modified by traits, &c - void add_morale( const morale_type &type, int bonus, int max_bonus = 0, - const time_duration &duration = 1_hours, - const time_duration &decay_start = 30_minutes, bool capped = false, - const itype *item_type = nullptr ); - int has_morale( const morale_type &type ) const; - void rem_morale( const morale_type &type, const itype *item_type = nullptr ); - void clear_morale(); - bool has_morale_to_read() const; - /** Checks permanent morale for consistency and recovers it when an inconsistency is found. */ - void check_and_recover_morale(); + void on_worn_item_transform( const item &old_it, const item &new_it ); /** Get the formatted name of the currently wielded item (if any) @@ -1222,10 +934,6 @@ class player : public Character float power_rating() const override; float speed_rating() const override; - /** - * All items that have the given flag (@ref item::has_flag). - */ - std::vector all_items_with_flag( const std::string &flag ) const; void process_active_items(); /** * Remove charges from a specific item (given by its item position). @@ -1255,38 +963,14 @@ class player : public Character */ bool can_interface_armor() const; - // Returns the combat style object - const martialart &get_combat_style() const; - // Inventory + weapon + worn (for death, etc) - std::vector inv_dump(); // Put corpse+inventory on map at the place where this is. void place_corpse(); // Put corpse+inventory on defined om tile void place_corpse( const tripoint &om_target ); - bool covered_with_flag( const std::string &flag, const body_part_set &parts ) const; - bool is_waterproof( const body_part_set &parts ) const; - - // has_amount works ONLY for quantity. - // has_charges works ONLY for charges. - std::list use_amount( itype_id it, int quantity, - const std::function &filter = return_true ); - // Uses up charges - bool use_charges_if_avail( const itype_id &it, int quantity ); - - // Uses up charges - std::list use_charges( const itype_id &what, int qty, - const std::function &filter = return_true ); - - bool has_charges( const itype_id &it, int quantity, - const std::function &filter = return_true ) const; - /** Returns the amount of item `type' that is currently worn */ int amount_worn( const itype_id &id ) const; - // Carried items may leak radiation or chemicals - int leak_level( const std::string &flag ) const; - /** Returns the item in the player's inventory with the highest of the specified quality*/ item &item_with_best_of_quality( const quality_id &qid ); @@ -1296,9 +980,6 @@ class player : public Character */ bool crush_frozen_liquid( item_location loc ); - // Has a weapon, inventory item or worn item with flag - bool has_item_with_flag( const std::string &flag, bool need_charges = false ) const; - bool has_mission_item( int mission_id ) const; // Has item with mission_id /** * Check whether the player has a gun that uses the given type of ammo. @@ -1358,7 +1039,6 @@ class player : public Character int expected_time_to_craft( const recipe &rec, int batch_size = 1, bool in_progress = false ) const; std::vector get_eligible_containers_for_crafting() const; bool check_eligible_containers_for_crafting( const recipe &rec, int batch_size = 1 ) const; - bool has_morale_to_craft() const; bool can_make( const recipe *r, int batch_size = 1 ); // have components? /** * Returns true if the player can start crafting the recipe with the given batch size @@ -1423,7 +1103,6 @@ class player : public Character // includes nearby items const inventory &crafting_inventory( const tripoint &src_pos = tripoint_zero, int radius = PICKUP_RANGE ); - void invalidate_crafting_inventory(); comp_selection select_item_component( const std::vector &components, int batch, inventory &map_inv, bool can_cancel = false, @@ -1453,7 +1132,7 @@ class player : public Character // Auto move methods void set_destination( const std::vector &route, - const player_activity &destination_activity = player_activity() ); + const player_activity &new_destination_activity = player_activity() ); void clear_destination(); bool has_distant_destination() const; @@ -1466,71 +1145,19 @@ class player : public Character action_id get_next_auto_move_direction(); bool defer_move( const tripoint &next ); void shift_destination( const point &shift ); - void forced_dismount(); - void dismount(); - - // Hauling items on the ground - void start_hauling(); - void stop_hauling(); - bool is_hauling() const; - - /** - * Global position, expressed in map square coordinate system - * (the most detailed coordinate system), used by the @ref map. - */ - virtual tripoint global_square_location() const; - /** - * Returns the location of the player in global submap coordinates. - */ - tripoint global_sm_location() const; - /** - * Returns the location of the player in global overmap terrain coordinates. - */ - tripoint global_omt_location() const; // ---------------VALUES----------------- - inline int posx() const override { - return position.x; - } - inline int posy() const override { - return position.y; - } - inline int posz() const override { - return position.z; - } - inline void setx( int x ) { - setpos( tripoint( x, position.y, position.z ) ); - } - inline void sety( int y ) { - setpos( tripoint( position.x, y, position.z ) ); - } - inline void setz( int z ) { - setpos( tripoint( position.xy(), z ) ); - } - inline void setpos( const tripoint &p ) override { - position = p; - } tripoint view_offset; - // Means player sit inside vehicle on the tile he is now - bool in_vehicle; // Is currently in control of a vehicle bool controlling_vehicle; // Relative direction of a grab, add to posx, posy to get the coordinates of the grabbed thing. tripoint grab_point; - bool hauling; - player_activity activity; - std::list backlog; cata::optional destination_point; int volume; const profession *prof; start_location_id start_location; - time_point next_climate_control_check; - bool last_climate_control_ret; - int tank_plut; - int reactor_plut; - int slow_rad; double recoil = MAX_RECOIL; std::weak_ptr last_target; cata::optional last_target_pos; @@ -1539,26 +1166,13 @@ class player : public Character int scent; int dodges_left; int blocks_left; - int stim; int cash; int movecounter; bool death_drops;// Turned to false for simulating NPCs on distant missions so they don't drop all their gear in sight - std::array temp_cur, frostbite_timer, temp_conv; - // Equalizes heat between body parts - void temp_equalizer( body_part bp1, body_part bp2 ); - std::array drench_capacity; - std::array body_wetness; - - int focus_pool; - - std::vector ma_styles; - matype_id style_selected; - bool keep_hands_free; bool reach_attacking = false; bool manual_examine = false; - std::vector addictions; std::vector starting_pets; void make_craft_with_command( const recipe_id &id_to_make, int batch_size, bool is_long = false, @@ -1582,22 +1196,16 @@ class player : public Character bool is_hallucination() const override; void environmental_revert_effect(); - bool is_invisible() const; - bool is_deaf() const; // Checks whether a player can hear a sound at a given volume and location. bool can_hear( const tripoint &source, int volume ) const; // Returns a multiplier indicating the keenness of a player's hearing. float hearing_ability() const; - int visibility( bool check_color = false, - int stillness = 0 ) const; // just checks is_invisible for the moment m_size get_size() const override; int get_hp( hp_part bp ) const override; int get_hp() const override; int get_hp_max( hp_part bp ) const override; int get_hp_max() const override; - int get_stamina_max() const; - void burn_move_stamina( int moves ); //message related stuff using Character::add_msg_if_player; @@ -1623,18 +1231,6 @@ class player : public Character // TODO: make protected and move into Character void do_skill_rust(); - // drawing related stuff - /** - * Returns a list of the IDs of overlays on this character, - * sorted from "lowest" to "highest". - * - * Only required for rendering. - */ - std::vector get_overlay_ids() const; - - void spores(); - void blossoms(); - /** * Called when a mutation is gained */ @@ -1668,18 +1264,9 @@ class player : public Character void print_encumbrance( const catacurses::window &win, int line = -1, const item *selected_clothing = nullptr ) const; - // Prints message(s) about current health - void print_health() const; - using Character::query_yn; bool query_yn( const std::string &mes ) const override; - /** - * Has the item enough charges to invoke its use function? - * Also checks if UPS from this player is used instead of item charges. - */ - bool has_enough_charges( const item &it, bool show_msg ) const; - const pathfinding_settings &get_pathfinding_settings() const override; std::set get_path_avoid() const override; @@ -1704,12 +1291,7 @@ class player : public Character std::set camps; - // magic mod - known_magic magic; - protected: - // The player's position on the local map. - tripoint position; trap_map known_traps; @@ -1733,41 +1315,13 @@ class player : public Character */ bool is_visible_in_range( const Creature &critter, int range ) const; - /** Can the player lie down and cover self with blankets etc. **/ - bool can_use_floor_warmth() const; - /** - * Warmth from terrain, furniture, vehicle furniture and traps. - * Can be negative. - **/ - static int floor_bedding_warmth( const tripoint &pos ); - /** Warmth from clothing on the floor **/ - static int floor_item_warmth( const tripoint &pos ); - /** Final warmth from the floor **/ - int floor_warmth( const tripoint &pos ) const; - /** Correction factor of the body temperature due to traits and mutations **/ - int bodytemp_modifier_traits( bool overheated ) const; - /** Correction factor of the body temperature due to traits and mutations for player lying on the floor **/ - int bodytemp_modifier_traits_floor() const; - /** Value of the body temperature corrected by climate control **/ - int temp_corrected_by_climate_control( int temperature ) const; - /** Define blood loss (in percents) */ - int blood_loss( body_part bp ) const; - - // Trigger and disable mutations that can be so toggled. - void activate_mutation( const trait_id &mutation ); - void deactivate_mutation( const trait_id &mut ); - bool has_fire( int quantity ) const; - void use_fire( int quantity ); - /** Determine player's capability of recharging their CBMs. */ - bool can_feed_battery_with( const item &it ) const; bool can_feed_reactor_with( const item &it ) const; bool can_feed_furnace_with( const item &it ) const; /** * Recharge CBMs whenever possible. * @return true when recharging was successful. */ - bool feed_battery_with( item &it ); bool feed_reactor_with( item &it ); bool feed_furnace_with( item &it ); bool fuel_bionic_with( item &it ); @@ -1778,52 +1332,28 @@ class player : public Character */ bool consume_med( item &target ); - void react_to_felt_pain( int intensity ); - - int pkill; - - protected: - // TODO: move this to avatar - player_movemode move_mode; private: std::vector auto_move_route; - player_activity destination_activity; // Used to make sure auto move is canceled if we stumble off course cata::optional next_expected_position; /** warnings from a faction about bad behaviour */ std::map> warning_record; inventory cached_crafting_inventory; int cached_moves; - time_point cached_time; tripoint cached_position; private: - - struct weighted_int_list melee_miss_reasons; - - protected: - // TODO: move this to avatar - pimpl morale; - private: - /** smart pointer to targeting data stored for aiming the player's weapon across turns. */ std::shared_ptr tdata; protected: - // TODO: move these to avatar - /** Current deficiency/excess quantity for each vitamin */ - std::map vitamin_levels; /** Subset of learned recipes. Needs to be mutable for lazy initialization. */ mutable pimpl learned_recipes; /** Stamp of skills. @ref learned_recipes are valid only with this set of skills. */ mutable decltype( _skills ) valid_autolearn_skills; - private: - - /** Amount of time the player has spent in each overmap tile. */ - std::unordered_map overmap_time; }; #endif diff --git a/src/player_activity.cpp b/src/player_activity.cpp index 7cb848d5d7c3a..d4e2f1c0ef8ef 100644 --- a/src/player_activity.cpp +++ b/src/player_activity.cpp @@ -6,6 +6,9 @@ #include "activity_type.h" #include "player.h" #include "sounds.h" +#include "avatar.h" +#include "itype.h" +#include "skill.h" player_activity::player_activity() : type( activity_id::NULL_ID() ) { } @@ -59,7 +62,7 @@ std::string player_activity::get_str_value( size_t index, const std::string &def return index < str_values.size() ? str_values[index] : def; } -cata::optional player_activity::get_progress_message() const +cata::optional player_activity::get_progress_message( const avatar &u ) const { if( type == activity_id( "ACT_NULL" ) || get_verb().empty() ) { return cata::optional(); @@ -70,6 +73,22 @@ cata::optional player_activity::get_progress_message() const if( const item *craft = targets.front().get_item() ) { extra_info = craft->tname(); } + } else if( type == activity_id( "ACT_READ" ) ) { + if( const item *book = targets.front().get_item() ) { + if( const auto &reading = book->type->book ) { + const skill_id &skill = reading->skill; + if( skill && u.get_skill_level( skill ) < reading->level && + u.get_skill_level_object( skill ).can_train() ) { + const SkillLevel &skill_level = u.get_skill_level_object( skill ); + //~ skill_name current_skill_level -> next_skill_level (% to next level) + extra_info = string_format( pgettext( "reading progress", "%s %d -> %d (%d%%)" ), + skill.obj().name(), + skill_level.level(), + skill_level.level() + 1, + skill_level.exercise() ); + } + } + } } else if( moves_total > 0 ) { const int percentage = ( ( moves_total - moves_left ) * 100 ) / moves_total; @@ -102,7 +121,13 @@ void player_activity::do_turn( player &p ) } if( type->based_on() == based_on_type::TIME ) { - moves_left -= 100; + if( moves_left >= 100 ) { + moves_left -= 100; + p.moves = 0; + } else { + p.moves -= p.moves * moves_left / 100; + moves_left = 0; + } } else if( type->based_on() == based_on_type::SPEED ) { if( p.moves <= moves_left ) { moves_left -= p.moves; @@ -112,12 +137,12 @@ void player_activity::do_turn( player &p ) moves_left = 0; } } - int previous_stamina = p.stamina; + int previous_stamina = p.get_stamina(); // This might finish the activity (set it to null) type->call_do_turn( this, &p ); // Activities should never excessively drain stamina. - if( p.stamina < previous_stamina && p.stamina < p.get_stamina_max() / 3 ) { + if( p.get_stamina() < previous_stamina && p.get_stamina() < p.get_stamina_max() / 3 ) { if( one_in( 50 ) ) { p.add_msg_if_player( _( "You pause for a moment to catch your breath." ) ); } diff --git a/src/player_activity.h b/src/player_activity.h index 0708a58689167..767363522dbca 100644 --- a/src/player_activity.h +++ b/src/player_activity.h @@ -15,6 +15,7 @@ #include "point.h" #include "string_id.h" +class avatar; class player; class Character; class JsonIn; @@ -88,7 +89,7 @@ class player_activity /** * Helper that returns an activity specific progress message. */ - cata::optional get_progress_message() const; + cata::optional get_progress_message( const avatar &u ) const; /** * If this returns true, the action can be continued without diff --git a/src/player_display.cpp b/src/player_display.cpp index 85f2a2c324bf2..7521989141068 100644 --- a/src/player_display.cpp +++ b/src/player_display.cpp @@ -275,8 +275,8 @@ static void draw_stats_tab( const catacurses::window &w_stats, const catacurses: center_print( w_stats, 0, h_light_gray, _( title_STATS ) ); // Clear bonus/penalty menu. - mvwprintz( w_stats, point( 0, 7 ), c_light_gray, "%26s", "" ); - mvwprintz( w_stats, point( 0, 8 ), c_light_gray, "%26s", "" ); + mvwprintz( w_stats, point( 0, 7 ), c_light_gray, std::string( 26, ' ' ) ); + mvwprintz( w_stats, point( 0, 8 ), c_light_gray, std::string( 26, ' ' ) ); nc_color col_temp = c_light_gray; @@ -339,7 +339,7 @@ static void draw_stats_tab( const catacurses::window &w_stats, const catacurses: } } else if( line == 4 ) { mvwprintz( w_stats, point( 1, 6 ), h_light_gray, _( "Weight:" ) ); - mvwprintz( w_stats, point( 25 - you.get_weight_string().size(), 6 ), h_light_gray, + mvwprintz( w_stats, point( 25 - utf8_width( you.get_weight_string() ), 6 ), h_light_gray, you.get_weight_string() ); // NOLINTNEXTLINE(cata-use-named-point-constants) const int lines = fold_and_print( w_info, point( 1, 0 ), FULL_SCREEN_WIDTH - 2, c_magenta, @@ -381,7 +381,7 @@ static void draw_stats_tab( const catacurses::window &w_stats, const catacurses: mvwprintz( w_stats, point( 1, 4 ), c_light_gray, _( "Intelligence:" ) ); mvwprintz( w_stats, point( 1, 5 ), c_light_gray, _( "Perception:" ) ); mvwprintz( w_stats, point( 1, 6 ), c_light_gray, _( "Weight:" ) ); - mvwprintz( w_stats, point( 25 - you.get_weight_string().size(), 6 ), c_light_gray, + mvwprintz( w_stats, point( 25 - utf8_width( you.get_weight_string() ), 6 ), c_light_gray, you.get_weight_string() ); wrefresh( w_stats ); } @@ -718,7 +718,7 @@ static const Skill *draw_skills_list( const catacurses::window &w_skills, } else { cstatus = training ? h_light_blue : h_blue; } - mvwprintz( w_skills, point( 1, y_pos ), cstatus, "%*s", col_width, "" ); + mvwprintz( w_skills, point( 1, y_pos ), cstatus, std::string( col_width, ' ' ) ); } else { if( locked ) { cstatus = c_yellow; @@ -729,7 +729,7 @@ static const Skill *draw_skills_list( const catacurses::window &w_skills, } else { cstatus = training ? c_light_blue : c_blue; } - mvwprintz( w_skills, point( 1, y_pos ), c_light_gray, "%*s", col_width, "" ); + mvwprintz( w_skills, point( 1, y_pos ), c_light_gray, std::string( col_width, ' ' ) ); } mvwprintz( w_skills, point( 1, y_pos ), cstatus, "%s:", aSkill->name() ); if( aSkill->ident() == skill_id( "dodge" ) ) { @@ -956,7 +956,7 @@ static void draw_initial_windows( const catacurses::window &w_stats, display_stat( _( "Intelligence:" ), you.get_int(), you.get_int_base(), 4 ); display_stat( _( "Perception:" ), you.get_per(), you.get_per_base(), 5 ); mvwprintz( w_stats, point( 1, 6 ), c_light_gray, _( "Weight:" ) ); - mvwprintz( w_stats, point( 25 - you.get_weight_string().size(), 6 ), c_light_gray, + mvwprintz( w_stats, point( 25 - utf8_width( you.get_weight_string() ), 6 ), c_light_gray, you.get_weight_string() ); wrefresh( w_stats ); @@ -1013,34 +1013,35 @@ static void draw_initial_windows( const catacurses::window &w_stats, line = 3; if( you.weight_carried() > you.weight_capacity() ) { pen = 25 * ( you.weight_carried() - you.weight_capacity() ) / ( you.weight_capacity() ); - mvwprintz( w_speed, point( 1, line ), c_red, _( "Overburdened -%s%d%%" ), - ( pen < 10 ? " " : "" ), pen ); + mvwprintz( w_speed, point( 1, line ), c_red, + pgettext( "speed penalty", "Overburdened -%2d%%" ), pen ); line++; } pen = you.get_pain_penalty().speed; if( pen >= 1 ) { - mvwprintz( w_speed, point( 1, line ), c_red, _( "Pain -%s%d%%" ), - ( pen < 10 ? " " : "" ), pen ); + mvwprintz( w_speed, point( 1, line ), c_red, + pgettext( "speed penalty", "Pain -%2d%%" ), pen ); line++; } if( you.get_thirst() > 40 ) { pen = abs( player::thirst_speed_penalty( you.get_thirst() ) ); - mvwprintz( w_speed, point( 1, line ), c_red, _( "Thirst -%s%d%%" ), - ( pen < 10 ? " " : "" ), pen ); + mvwprintz( w_speed, point( 1, line ), c_red, + pgettext( "speed penalty", "Thirst -%2d%%" ), pen ); line++; } if( you.kcal_speed_penalty() < 0 ) { pen = abs( you.kcal_speed_penalty() ); const std::string inanition = you.get_bmi() < character_weight_category::underweight ? _( "Starving" ) : _( "Underfed" ); - mvwprintz( w_speed, point( 1, line ), c_red, _( "%-20s-%s%d%%" ), inanition, - ( pen < 10 ? " " : "" ), pen ); + //~ %s: Starving/Underfed (already left-justified), %2d: speed penalty + mvwprintz( w_speed, point( 1, line ), c_red, pgettext( "speed penalty", "%s-%2d%%" ), + left_justify( inanition, 20 ), pen ); line++; } if( you.has_trait( trait_id( "SUNLIGHT_DEPENDENT" ) ) && !g->is_in_sunlight( you.pos() ) ) { pen = ( g->light_level( you.posz() ) >= 12 ? 5 : 10 ); - mvwprintz( w_speed, point( 1, line ), c_red, _( "Out of Sunlight -%s%d%%" ), - ( pen < 10 ? " " : "" ), pen ); + mvwprintz( w_speed, point( 1, line ), c_red, + pgettext( "speed penalty", "Out of Sunlight -%2d%%" ), pen ); line++; } @@ -1058,8 +1059,9 @@ static void draw_initial_windows( const catacurses::window &w_stats, } if( !pen_sign.empty() ) { pen = ( player_local_temp - 65 ) * temperature_speed_modifier; - mvwprintz( w_speed, point( 1, line ), pen_color, _( "Cold-Blooded %s%s%d%%" ), pen_sign, - ( pen < 10 ? " " : "" ), pen ); + mvwprintz( w_speed, point( 1, line ), pen_color, + //~ %s: sign of bonus/penalty, %2d: speed bonus/penalty + pgettext( "speed modifier", "Cold-Blooded %s%2d%%" ), pen_sign, std::abs( pen ) ); line++; } } @@ -1071,13 +1073,13 @@ static void draw_initial_windows( const catacurses::window &w_stats, std::swap( quick_bonus, bio_speed_bonus ); } if( you.has_trait( trait_id( "QUICK" ) ) ) { - mvwprintz( w_speed, point( 1, line ), c_green, _( "Quick +%s%d%%" ), - ( quick_bonus < 10 ? " " : "" ), quick_bonus ); + mvwprintz( w_speed, point( 1, line ), c_green, + pgettext( "speed bonus", "Quick +%2d%%" ), quick_bonus ); line++; } if( you.has_bionic( bionic_id( "bio_speed" ) ) ) { - mvwprintz( w_speed, point( 1, line ), c_green, _( "Bionic Speed +%s%d%%" ), - ( bio_speed_bonus < 10 ? " " : "" ), bio_speed_bonus ); + mvwprintz( w_speed, point( 1, line ), c_green, + pgettext( "speed bonus", "Bionic Speed +%2d%%" ), bio_speed_bonus ); } int runcost = you.run_cost( 100 ); diff --git a/src/player_hardcoded_effects.cpp b/src/player_hardcoded_effects.cpp index 2b683be234a03..8cd19e7b137ec 100644 --- a/src/player_hardcoded_effects.cpp +++ b/src/player_hardcoded_effects.cpp @@ -4,6 +4,7 @@ #include #include "avatar.h" +#include "activity_handlers.h" #include "effect.h" #include "event_bus.h" #include "fungal_effects.h" @@ -68,6 +69,7 @@ const efftype_id effect_infected( "infected" ); const efftype_id effect_lying_down( "lying_down" ); const efftype_id effect_mending( "mending" ); const efftype_id effect_meth( "meth" ); +const efftype_id effect_motor_seizure( "motor_seizure" ); const efftype_id effect_narcosis( "narcosis" ); const efftype_id effect_onfire( "onfire" ); const efftype_id effect_paincysts( "paincysts" ); @@ -83,6 +85,7 @@ const efftype_id effect_stunned( "stunned" ); const efftype_id effect_tapeworm( "tapeworm" ); const efftype_id effect_teleglow( "teleglow" ); const efftype_id effect_tetanus( "tetanus" ); +const efftype_id effect_toxin_buildup( "toxin_buildup" ); const efftype_id effect_valium( "valium" ); const efftype_id effect_visuals( "visuals" ); const efftype_id effect_weak_antibiotic( "weak_antibiotic" ); @@ -255,7 +258,7 @@ static void eff_fun_hallu( player &u, effect &it ) static const std::array npc_hallu = {{ translate_marker( "\"I think it's starting to kick in.\"" ), translate_marker( "\"Oh God, what's happening?\"" ), - translate_marker( "\"Of course... it's all fractals!\"" ), + translate_marker( "\"Of course… it's all fractals!\"" ), translate_marker( "\"Huh? What was that?\"" ) } }; @@ -339,7 +342,7 @@ static void eff_fun_cold( player &u, effect &it ) { { bp_head, 2 }, { 0, 0, 1, 0, "", 0, "" } }, { { bp_mouth, 3 }, { 0, 0, 0, 3, translate_marker( "Your face is stiff from the cold." ), 2400, "" } }, { { bp_mouth, 2 }, { 0, 0, 0, 1, "", 0, "" } }, - { { bp_torso, 3 }, { 0, 4, 0, 0, translate_marker( "Your torso is freezing cold. You should put on a few more layers." ), 400, translate_marker( "You quiver from the cold." ) } }, + { { bp_torso, 3 }, { 0, 4, 0, 0, translate_marker( "Your torso is freezing cold. You should put on a few more layers." ), 400, translate_marker( "You quiver from the cold." ) } }, { { bp_torso, 2 }, { 0, 2, 0, 0, "", 0, translate_marker( "Your shivering makes you unsteady." ) } }, { { bp_arm_l, 3 }, { 0, 2, 0, 0, translate_marker( "Your left arm is shivering." ), 4800, translate_marker( "Your left arm trembles from the cold." ) } }, { { bp_arm_l, 2 }, { 0, 1, 0, 0, translate_marker( "Your left arm is shivering." ), 4800, translate_marker( "Your left arm trembles from the cold." ) } }, @@ -428,8 +431,8 @@ static void eff_fun_frostbite( player &u, effect &it ) void player::hardcoded_effects( effect &it ) { if( auto buff = ma_buff::from_effect( it ) ) { - if( buff->is_valid_player( *this ) ) { - buff->apply_player( *this ); + if( buff->is_valid_character( *this ) ) { + buff->apply_character( *this ); } else { it.set_duration( 0_turns ); // removes the effect } @@ -689,7 +692,7 @@ void player::hardcoded_effects( effect &it ) add_effect( effect_shakes, rng( 4_minutes, 8_minutes ) ); } if( one_in( 12000 - to_turns( dur ) ) ) { - add_msg_if_player( m_bad, _( "Your vision is filled with bright lights..." ) ); + add_msg_if_player( m_bad, _( "Your vision is filled with bright lights…" ) ); add_effect( effect_blind, rng( 1_minutes, 2_minutes ) ); if( one_in( 8 ) ) { // Set ourselves up for removal @@ -785,8 +788,8 @@ void player::hardcoded_effects( effect &it ) if( dur > 100_minutes && focus_pool >= 1 && one_in( 24 ) ) { focus_pool--; } - if( dur > 200_minutes && one_in( 48 ) && stim < 20 ) { - stim++; + if( dur > 200_minutes && one_in( 48 ) && get_stim() < 20 ) { + mod_stim( 1 ); } if( dur > 300_minutes && focus_pool >= 1 && one_in( 12 ) ) { focus_pool--; @@ -998,12 +1001,12 @@ void player::hardcoded_effects( effect &it ) it.set_duration( 0_turns ); } if( dur == 1_turns && !sleeping ) { - add_msg_if_player( _( "You try to sleep, but can't..." ) ); + add_msg_if_player( _( "You try to sleep, but can't…" ) ); } } else if( id == effect_sleep ) { set_moves( 0 ); #if defined(TILES) - if( is_player() && calendar::once_every( 10_minutes ) ) { + if( is_player() ) { SDL_PumpEvents(); } #endif // TILES @@ -1217,9 +1220,9 @@ void player::hardcoded_effects( effect &it ) remove_effect( effect_alarm_clock ); } else if( has_effect( effect_slept_through_alarm ) ) { // slept though the alarm. if( has_bionic( bionic_id( "bio_watch" ) ) ) { - add_msg_if_player( m_warning, _( "It looks like you've slept through your internal alarm..." ) ); + add_msg_if_player( m_warning, _( "It looks like you've slept through your internal alarm…" ) ); } else { - add_msg_if_player( m_warning, _( "It looks like you've slept through the alarm..." ) ); + add_msg_if_player( m_warning, _( "It looks like you've slept through the alarm…" ) ); } get_effect( effect_slept_through_alarm ).set_duration( 0_turns ); remove_effect( effect_alarm_clock ); @@ -1301,5 +1304,78 @@ void player::hardcoded_effects( effect &it ) hp_cur[i] += 10; } mod_pain( -10 ); + } else if( id == effect_toxin_buildup ) { + // Loosely based on toxic man-made compounds (mostly pesticides) which don't degrade + // easily, leading to build-up in muscle and fat tissue through bioaccumulation. + // Symptoms vary, and many are too long-term to be relevant in C:DDA (i.e. carcinogens), + // but lowered immune response and neurotoxicity (i.e. seizures, migraines) are common. + + if( in_sleep_state() ) { + return; + } + // Modifier for symptom frequency. + // Each symptom is twice as frequent for each level of intensity above the one it first appears for. + int mod = 1; + switch( intense ) { + case 3: + // Tonic-clonic seizure (full body convulsive seizure) + if( one_turn_in( 3_days ) && !has_effect( effect_valium ) ) { + add_msg_if_player( m_bad, _( "You lose control of your body as it begins to convulse!" ) ); + time_duration td = rng( 30_seconds, 4_minutes ); + add_effect( effect_motor_seizure, td ); + add_effect( effect_downed, td ); + add_effect( effect_stunned, td ); + if( one_in( 3 ) ) { + add_msg_if_player( m_bad, _( "You lose conciousness!" ) ); + fall_asleep( td ); + } + } + mod *= 2; + /* fallthrough */ + case 2: + // Myoclonic seizure (muscle spasm) + if( one_turn_in( 2_hours / mod ) && !has_effect( effect_valium ) ) { + std::string limb = random_entry>( { + translate_marker( "arm" ), translate_marker( "hand" ), translate_marker( "leg" ) + } ); + add_msg_if_player( m_bad, string_format( + _( "Your %s suddenly jerks in an unexpected direction!" ), _( limb ) ) ); + if( limb == "arm" ) { + mod_dex_bonus( -8 ); + recoil = MAX_RECOIL; + } else if( limb == "hand" ) { + if( is_armed() && can_unwield( weapon ).success() ) { + if( dice( 4, 4 ) > get_dex() ) { + put_into_vehicle_or_drop( *this, item_drop_reason::tumbling, { remove_weapon() } ); + } else { + add_msg_if_player( m_neutral, _( "However, you manage to keep hold of your weapon." ) ); + } + } + } else if( limb == "leg" ) { + if( dice( 4, 4 ) > get_dex() ) { + add_effect( effect_downed, rng( 5_seconds, 10_seconds ) ); + } else { + add_msg_if_player( m_neutral, _( "However, you manage to keep your footing." ) ); + } + } + } + // Atonic seizure (a.k.a. drop seizure) + if( one_turn_in( 2_days / mod ) && !has_effect( effect_valium ) ) { + add_msg_if_player( m_bad, + _( "You suddenly lose all muscle tone, and can't support your own weight!" ) ); + add_effect( effect_motor_seizure, rng( 1_seconds, 2_seconds ) ); + add_effect( effect_downed, rng( 5_seconds, 10_seconds ) ); + } + mod *= 2; + /* fallthrough */ + case 1: + // Migraine + if( one_turn_in( 2_days / mod ) ) { + add_msg_if_player( m_bad, _( "You have a splitting headache." ) ); + mod_pain( 12 ); + } + + break; + } } } diff --git a/src/profession.cpp b/src/profession.cpp index 69586f5f74190..a7951e66927d9 100644 --- a/src/profession.cpp +++ b/src/profession.cpp @@ -131,8 +131,7 @@ class item_reader : public generic_typed_reader } JsonArray jarr = jin.get_array(); const auto id = jarr.get_string( 0 ); - const auto s = jarr.get_string( 1 ); - const auto snippet = _( s ); + const auto snippet = jarr.get_string( 1 ); return profession::itypedec( id, snippet ); } template @@ -256,17 +255,16 @@ void profession::check_item_definitions( const itypedecvec &items ) const { for( auto &itd : items ) { if( !item::type_is_defined( itd.type_id ) ) { - debugmsg( "profession %s: item %s does not exist", id.c_str(), itd.type_id.c_str() ); + debugmsg( "profession %s: item %s does not exist", id.str(), itd.type_id ); } else if( !itd.snippet_id.empty() ) { const itype *type = item::find_type( itd.type_id ); if( type->snippet_category.empty() ) { debugmsg( "profession %s: item %s has no snippet category - no description can be set", - id.c_str(), itd.type_id.c_str() ); + id.str(), itd.type_id ); } else { - const int hash = SNIPPET.get_snippet_by_id( itd.snippet_id ); - if( SNIPPET.get( hash ).empty() ) { + if( !SNIPPET.get_snippet_by_id( itd.snippet_id ).has_value() ) { debugmsg( "profession %s: snippet id %s for item %s is not contained in snippet category %s", - id.c_str(), itd.snippet_id.c_str(), itd.type_id.c_str(), type->snippet_category.c_str() ); + id.str(), itd.snippet_id, itd.type_id, type->snippet_category ); } } } diff --git a/src/projectile.cpp b/src/projectile.cpp index 922a66da29b00..46f1b00b770f1 100644 --- a/src/projectile.cpp +++ b/src/projectile.cpp @@ -91,6 +91,11 @@ void projectile::unset_custom_explosion() void apply_ammo_effects( const tripoint &p, const std::set &effects ) { + if( effects.count( "EXPLOSIVE_RAUFOSS" ) > 0 ) { + // TODO: Make this actually fill a ~4m radius circle with fire and 20 shrapnel bits. Or better, a 30 deg, 15m long arc. + explosion_handler::explosion( p, 2.4, 0.6, true, 28, 1.4 ); + } + if( effects.count( "EXPLOSIVE_SMALL" ) > 0 ) { // TODO: double-check if this is sensible. explosion_handler::explosion( p, 360, 0.4 ); diff --git a/src/ranged.cpp b/src/ranged.cpp index 5568303064c3f..bed4d7d4198a2 100644 --- a/src/ranged.cpp +++ b/src/ranged.cpp @@ -72,6 +72,7 @@ const skill_id skill_launcher( "launcher" ); const efftype_id effect_on_roof( "on_roof" ); const efftype_id effect_hit_by_player( "hit_by_player" ); const efftype_id effect_riding( "riding" ); +const efftype_id effect_downed( "downed" ); static const trait_id trait_PYROMANIA( "PYROMANIA" ); @@ -463,7 +464,7 @@ static int throw_cost( const player &c, const item &to_throw ) const int dexbonus = c.get_dex(); const int encumbrance_penalty = c.encumb( bp_torso ) + ( c.encumb( bp_hand_l ) + c.encumb( bp_hand_r ) ) / 2; - const float stamina_ratio = static_cast( c.stamina ) / c.get_stamina_max(); + const float stamina_ratio = static_cast( c.get_stamina() ) / c.get_stamina_max(); const float stamina_penalty = 1.0 + std::max( ( 0.25f - stamina_ratio ) * 4.0f, 0.0f ); int move_cost = base_move_cost; @@ -504,7 +505,7 @@ int Character::throwing_dispersion( const item &to_throw, Creature *critter, int throw_difficulty = 1000; // 1000 penalty for every liter after the first // TODO: Except javelin type items - throw_difficulty += std::max( 0, units::to_milliliter( volume - 1000_ml ) ); + throw_difficulty += std::max( 0, units::to_milliliter( volume - 1_liter ) ); // 1 penalty for gram above str*100 grams (at 0 skill) ///\EFFECT_STR decreases throwing dispersion when throwing heavy objects const int weight_in_gram = units::to_gram( weight ); @@ -565,8 +566,11 @@ dealt_projectile_attack player::throw_item( const tripoint &target, const item & } const skill_id &skill_used = skill_throw; - const int skill_level = std::min( MAX_SKILL, get_skill_level( skill_throw ) ); - + int skill_level = std::min( MAX_SKILL, get_skill_level( skill_throw ) ); + // if you are lying on the floor, you can't really throw that well + if( has_effect( effect_downed ) ) { + skill_level = std::max( 0, skill_level - 5 ); + } // We'll be constructing a projectile projectile proj; proj.impact = thrown.base_damage_thrown(); @@ -600,7 +604,7 @@ dealt_projectile_attack player::throw_item( const tripoint &target, const item & // Item will shatter upon landing, destroying the item, dealing damage, and making noise /** @EFFECT_STR increases chance of shattering thrown glass items (NEGATIVE) */ const bool shatter = !thrown.active && thrown.made_of( material_id( "glass" ) ) && - rng( 0, units::to_milliliter( 2000_ml - volume ) ) < get_str() * 100; + rng( 0, units::to_milliliter( 2_liter - volume ) ) < get_str() * 100; // Item will burst upon landing, destroying the item, and spilling its contents const bool burst = thrown.has_property( "burst_when_filled" ) && thrown.is_container() && @@ -1052,7 +1056,8 @@ static int draw_turret_aim( const player &p, const catacurses::window &w, int li mvwprintw( w, point( 1, line_number++ ), _( "Turrets in range: %d" ), turrets.size() ); for( const auto e : turrets ) { - mvwprintw( w, point( 1, line_number++ ), "* %s", e->name() ); + nc_color o = c_white; + print_colored_text( w, point( 1, line_number++ ), o, o, string_format( "* %s", e->name() ) ); } return line_number; @@ -1184,7 +1189,7 @@ static void update_targets( player &pc, int range, std::vector &targ } std::sort( targets.begin(), targets.end(), [&]( const Creature * lhs, const Creature * rhs ) { - return rl_dist( lhs->pos(), pc.pos() ) < rl_dist( rhs->pos(), pc.pos() ); + return rl_dist_exact( lhs->pos(), pc.pos() ) < rl_dist_exact( rhs->pos(), pc.pos() ); } ); // TODO: last_target should be member of target_handler @@ -1590,12 +1595,23 @@ std::vector target_handler::target_ui( player &pc, target_mode mode, ammo = on_mode_change( relevant ); } else { relevant->gun_cycle_mode(); + ammo = relevant->gun_current_mode().target->ammo_data(); + range = relevant->gun_current_mode().target->gun_range( &pc ); + if( relevant->gun_current_mode().flags.count( "REACH_ATTACK" ) ) { + relevant->gun_cycle_mode(); + } } } else if( action == "SWITCH_AMMO" ) { if( on_ammo_change ) { ammo = on_ammo_change( relevant ); } else { - g->reload( pc.get_item_position( relevant ), true ); + const int pos = pc.get_item_position( relevant ); + const item it = g->u.i_at( pos ); + if( it.typeId() == "null" ) { + add_msg( m_info, _( "You can't reload a %s!" ), relevant->tname() ); + } else { + g->reload( pos, true ); + } ret.clear(); break; } diff --git a/src/recipe.cpp b/src/recipe.cpp index 7c2de1668e91c..6479777f8cc28 100644 --- a/src/recipe.cpp +++ b/src/recipe.cpp @@ -323,7 +323,7 @@ std::string recipe::get_consistency_error() const return "defines invalid result"; } - if( charges >= 0 && !item::count_by_charges( result_ ) ) { + if( charges && !item::count_by_charges( result_ ) ) { return "specifies charges but result is not counted by charges"; } @@ -366,8 +366,8 @@ std::string recipe::get_consistency_error() const item recipe::create_result() const { item newit( result_, calendar::turn, item::default_charges_tag{} ); - if( charges >= 0 ) { - newit.charges = charges; + if( charges ) { + newit.charges = *charges; } if( !newit.craft_has_charges() ) { @@ -438,11 +438,21 @@ bool recipe::has_byproducts() const std::string recipe::required_skills_string( const Character *c, bool print_skill_level ) const { if( required_skills.empty() ) { - return _( "none" ); + if( difficulty == 0 ) { + return _( "none" ); + } else { + const int player_skill = c ? c->get_skill_level( skill_used ) : 0; + std::string difficulty_color = difficulty > player_skill ? "yellow" : "green"; + std::string skill_level_string = print_skill_level ? "" : + ( std::to_string( player_skill ) + "/" ); + skill_level_string += std::to_string( difficulty ); + return string_format( "%s (%s)", + skill_used.obj().name(), difficulty_color, skill_level_string ); + } } return enumerate_as_string( required_skills.begin(), required_skills.end(), [&]( const std::pair &skill ) { - const auto player_skill = c ? c->get_skill_level( skill.first ) : 0; + const int player_skill = c ? c->get_skill_level( skill.first ) : 0; std::string difficulty_color = skill.second > player_skill ? "yellow" : "green"; std::string skill_level_string = print_skill_level ? "" : ( std::to_string( player_skill ) + "/" ); skill_level_string += std::to_string( skill.second ); @@ -459,7 +469,12 @@ std::string recipe::required_skills_string( const Character *c ) const std::string recipe::required_skills_string() const { if( required_skills.empty() ) { - return _( "none" ); + if( difficulty == 0 ) { + return _( "none" ); + } else { + return string_format( "%s: %d", skill_used.obj().name(), + difficulty ); + } } return enumerate_as_string( required_skills.begin(), required_skills.end(), [&]( const std::pair &skill ) { diff --git a/src/recipe.h b/src/recipe.h index 9c83647e6eea4..13bb02b783106 100644 --- a/src/recipe.h +++ b/src/recipe.h @@ -169,7 +169,7 @@ class recipe std::set flags; /** If set (zero or positive) set charges of output result for items counted by charges */ - int charges = -1; + cata::optional charges; // maximum achievable time reduction, as percentage of the original time. // if zero then the recipe has no batch crafting time reduction. diff --git a/src/regional_settings.cpp b/src/regional_settings.cpp index 3eeb1373ef879..af1c4f921a916 100644 --- a/src/regional_settings.cpp +++ b/src/regional_settings.cpp @@ -166,7 +166,7 @@ static void load_forest_mapgen_settings( JsonObject &jo, { if( !jo.has_object( "forest_mapgen_settings" ) ) { if( strict ) { - jo.throw_error( "\"forest_mapgen_settings\": { ... } required for default" ); + jo.throw_error( "\"forest_mapgen_settings\": { … } required for default" ); } } else { JsonObject forest_biomes_list_jo = jo.get_object( "forest_mapgen_settings" ); @@ -187,7 +187,7 @@ static void load_forest_trail_settings( JsonObject &jo, { if( !jo.has_object( "forest_trail_settings" ) ) { if( strict ) { - jo.throw_error( "\"forest_trail_settings\": { ... } required for default" ); + jo.throw_error( "\"forest_trail_settings\": { … } required for default" ); } } else { JsonObject forest_trail_settings_jo = jo.get_object( "forest_trail_settings" ); @@ -245,7 +245,7 @@ static void load_overmap_feature_flag_settings( JsonObject &jo, { if( !jo.has_object( "overmap_feature_flag_settings" ) ) { if( strict ) { - jo.throw_error( "\"overmap_feature_flag_settings\": { ... } required for default" ); + jo.throw_error( "\"overmap_feature_flag_settings\": { … } required for default" ); } } else { JsonObject overmap_feature_flag_settings_jo = jo.get_object( "overmap_feature_flag_settings" ); @@ -292,7 +292,7 @@ static void load_overmap_forest_settings( { if( !jo.has_object( "overmap_forest_settings" ) ) { if( strict ) { - jo.throw_error( "\"overmap_forest_settings\": { ... } required for default" ); + jo.throw_error( "\"overmap_forest_settings\": { … } required for default" ); } } else { JsonObject overmap_forest_settings_jo = jo.get_object( "overmap_forest_settings" ); @@ -317,7 +317,7 @@ static void load_overmap_lake_settings( JsonObject &jo, { if( !jo.has_object( "overmap_lake_settings" ) ) { if( strict ) { - jo.throw_error( "\"overmap_lake_settings\": { ... } required for default" ); + jo.throw_error( "\"overmap_lake_settings\": { … } required for default" ); } } else { JsonObject overmap_lake_settings_jo = jo.get_object( "overmap_lake_settings" ); @@ -388,7 +388,7 @@ void load_region_settings( JsonObject &jo ) if( ! jo.has_object( "field_coverage" ) ) { if( strict ) { - jo.throw_error( "\"field_coverage\": { ... } required for default" ); + jo.throw_error( "\"field_coverage\": { … } required for default" ); } } else { JsonObject pjo = jo.get_object( "field_coverage" ); @@ -435,7 +435,7 @@ void load_region_settings( JsonObject &jo ) } } } else { - pjo.throw_error( "boost_chance > 0 requires boosted_other { ... }" ); + pjo.throw_error( "boost_chance > 0 requires boosted_other { … }" ); } } } @@ -446,7 +446,7 @@ void load_region_settings( JsonObject &jo ) if( ! jo.has_object( "map_extras" ) ) { if( strict ) { - jo.throw_error( "\"map_extras\": { ... } required for default" ); + jo.throw_error( "\"map_extras\": { … } required for default" ); } } else { JsonObject pjo = jo.get_object( "map_extras" ); @@ -463,7 +463,7 @@ void load_region_settings( JsonObject &jo ) if( ! zjo.has_object( "extras" ) ) { if( strict ) { - zjo.throw_error( "\"extras\": { ... } required for default" ); + zjo.throw_error( "\"extras\": { … } required for default" ); } } else { JsonObject exjo = zjo.get_object( "extras" ); @@ -483,7 +483,7 @@ void load_region_settings( JsonObject &jo ) if( ! jo.has_object( "city" ) ) { if( strict ) { - jo.throw_error( "\"city\": { ... } required for default" ); + jo.throw_error( "\"city\": { … } required for default" ); } } else { JsonObject cjo = jo.get_object( "city" ); @@ -505,7 +505,7 @@ void load_region_settings( JsonObject &jo ) const auto load_building_types = [&jo, &cjo, strict]( const std::string & type, building_bin & dest ) { if( !cjo.has_object( type ) && strict ) { - jo.throw_error( "city: \"" + type + "\": { ... } required for default" ); + jo.throw_error( "city: \"" + type + "\": { … } required for default" ); } else { JsonObject wjo = cjo.get_object( type ); std::set keys = wjo.get_member_names(); @@ -526,7 +526,7 @@ void load_region_settings( JsonObject &jo ) if( ! jo.has_object( "weather" ) ) { if( strict ) { - jo.throw_error( "\"weather\": { ... } required for default" ); + jo.throw_error( "\"weather\": { … } required for default" ); } } else { JsonObject wjo = jo.get_object( "weather" ); @@ -646,7 +646,7 @@ void apply_region_overlay( JsonObject &jo, regional_settings ®ion ) if( region.field_coverage.boost_chance > 0.0f && region.field_coverage.boosted_percent_str.empty() ) { - fieldjo.throw_error( "boost_chance > 0 requires boosted_other { ... }" ); + fieldjo.throw_error( "boost_chance > 0 requires boosted_other { … }" ); } load_forest_mapgen_settings( jo, region.forest_composition, false, true ); @@ -725,7 +725,7 @@ void groundcover_extra::finalize() // FIXME: return bool for failure } else if( fid.is_valid() ) { tf_id.furn = fid.id(); } else { - debugmsg( "No clue what '%s' is! No such terrain or furniture", it->first.c_str() ); + debugmsg( "No clue what '%s' is! No such terrain or furniture", it->first.c_str() ); continue; } wtotal += static_cast( it->second * 10000.0 ); @@ -747,7 +747,7 @@ void groundcover_extra::finalize() // FIXME: return bool for failure } else if( fid.is_valid() ) { tf_id.furn = fid.id(); } else { - debugmsg( "No clue what '%s' is! No such terrain or furniture", it->first.c_str() ); + debugmsg( "No clue what '%s' is! No such terrain or furniture", it->first.c_str() ); continue; } btotal += static_cast( it->second * 10000.0 ); diff --git a/src/requirements.cpp b/src/requirements.cpp index 827c77b96aa39..d0545b6dca78e 100644 --- a/src/requirements.cpp +++ b/src/requirements.cpp @@ -125,7 +125,13 @@ std::string item_comp::to_string( const int batch, const int avail ) const const int c = std::abs( count ) * batch; const auto type_ptr = item::find_type( type ); if( type_ptr->count_by_charges() ) { - if( avail > 0 ) { + if( avail == item::INFINITE_CHARGES ) { + //~ %1$s: item name, %2$d: charge requirement + return string_format( npgettext( "requirement", "%1$s (%2$d of infinite)", + "%1$s (%2$d of infinite)", + c ), + type_ptr->nname( 1 ), c ); + } else if( avail > 0 ) { //~ %1$s: item name, %2$d: charge requirement, %3%d: available charges return string_format( npgettext( "requirement", "%1$s (%2$d of %3$d)", "%1$s (%2$d of %3$d)", c ), type_ptr->nname( 1 ), c, avail ); @@ -135,7 +141,12 @@ std::string item_comp::to_string( const int batch, const int avail ) const type_ptr->nname( 1 ), c ); } } else { - if( avail > 0 ) { + if( avail == item::INFINITE_CHARGES ) { + //~ %1$s: item name, %2$d: required count + return string_format( npgettext( "requirement", "%2$d %1$s of infinite", "%2$d %1$s of infinite", + c ), + type_ptr->nname( c ), c ); + } else if( avail > 0 ) { //~ %1$s: item name, %2$d: required count, %3%d: available count return string_format( npgettext( "requirement", "%2$d %1$s of %3$d", "%2$d %1$s of %3$d", c ), type_ptr->nname( c ), c, avail ); diff --git a/src/requirements.h b/src/requirements.h index 7b563420dbc05..8f5200310913f 100644 --- a/src/requirements.h +++ b/src/requirements.h @@ -16,6 +16,8 @@ class nc_color; class JsonObject; class JsonArray; +class JsonIn; +class JsonOut; class inventory; class item; @@ -216,7 +218,11 @@ struct requirement_data { */ static void save_requirement( const requirement_data &req, const requirement_id &id = requirement_id::NULL_ID() ); - + /** + * Serialize custom created requirement objects for fetch activities + */ + void serialize( JsonOut &json ) const; + void deserialize( JsonIn &jsin ); /** Get all currently loaded requirements */ static const std::map &all(); diff --git a/src/safemode_ui.cpp b/src/safemode_ui.cpp index 739be245ff069..ae03647b6a93f 100644 --- a/src/safemode_ui.cpp +++ b/src/safemode_ui.cpp @@ -636,7 +636,7 @@ bool safemode::save_global() bool safemode::save( const bool is_character_in ) { is_character = is_character_in; - auto file = FILENAMES["safemode"]; + auto file = PATH_INFO::safemode(); if( is_character ) { file = g->get_player_base_save_path() + ".sfm.json"; @@ -670,7 +670,7 @@ void safemode::load( const bool is_character_in ) is_character = is_character_in; std::ifstream fin; - std::string file = FILENAMES["safemode"]; + std::string file = PATH_INFO::safemode(); if( is_character ) { file = g->get_player_base_save_path() + ".sfm.json"; } diff --git a/src/savegame.cpp b/src/savegame.cpp index 9e3da8f3f8d6f..c57e1bbede964 100644 --- a/src/savegame.cpp +++ b/src/savegame.cpp @@ -789,6 +789,58 @@ void overmap::convert_terrain( const std::unordered_map & old == "dairy_farm_SW" || old == "dairy_farm_SE" ) { ter_set( pos, oter_id( old + "_north" ) ); + + } else if( old == "megastore_entrance" ) { + const std::string megastore = "megastore"; + const std::string megastore_entrance = "megastore_entrance"; + const auto ter_test_n = needs_conversion.find( pos + point( 0, -2 ) ); + const auto ter_test_s = needs_conversion.find( pos + point( 0, 2 ) ); + const auto ter_test_e = needs_conversion.find( pos + point( 2, 0 ) ); + const auto ter_test_w = needs_conversion.find( pos + point( -2, 0 ) ); + //North + if( ter_test_n != needs_conversion.end() && ter_test_n->second == megastore ) { + ter_set( pos + point_north + point_north_west, oter_id( megastore + "_0_0_0_north" ) ); + ter_set( pos + point_north + point_north, oter_id( megastore + "_1_0_0_north" ) ); + ter_set( pos + point_north + point_north_east, oter_id( megastore + "_2_0_0_north" ) ); + ter_set( pos + point_north_west, oter_id( megastore + "_0_1_0_north" ) ); + ter_set( pos + point_north, oter_id( megastore + "_1_1_0_north" ) ); + ter_set( pos + point_north_east, oter_id( megastore + "_2_1_0_north" ) ); + ter_set( pos + point_west, oter_id( megastore + "_0_2_0_north" ) ); + ter_set( pos + point_zero, oter_id( megastore + "_1_2_0_north" ) ); + ter_set( pos + point_east, oter_id( megastore + "_2_2_0_north" ) ); + } else if( ter_test_s != needs_conversion.end() && ter_test_s->second == megastore ) { + ter_set( pos + point_west, oter_id( megastore + "_2_2_0_south" ) ); + ter_set( pos + point_zero, oter_id( megastore + "_1_2_0_south" ) ); + ter_set( pos + point_east, oter_id( megastore + "_0_2_0_south" ) ); + ter_set( pos + point_south_west, oter_id( megastore + "_2_1_0_south" ) ); + ter_set( pos + point_south, oter_id( megastore + "_1_1_0_south" ) ); + ter_set( pos + point_south_east, oter_id( megastore + "_0_1_0_south" ) ); + ter_set( pos + point_south + point_south_west, oter_id( megastore + "_2_0_0_south" ) ); + ter_set( pos + point_south + point_south, oter_id( megastore + "_1_0_0_south" ) ); + ter_set( pos + point_south + point_south_east, oter_id( megastore + "_0_0_0_south" ) ); + } else if( ter_test_e != needs_conversion.end() && ter_test_e->second == megastore ) { + ter_set( pos + point_north, oter_id( megastore + "_0_2_0_east" ) ); + ter_set( pos + point_north_east, oter_id( megastore + "_0_1_0_east" ) ); + ter_set( pos + point_east + point_north_east, oter_id( megastore + "_0_0_0_east" ) ); + ter_set( pos + point_zero, oter_id( megastore + "_1_2_0_east" ) ); + ter_set( pos + point_east, oter_id( megastore + "_1_1_0_east" ) ); + ter_set( pos + point_east + point_east, oter_id( megastore + "_1_0_0_east" ) ); + ter_set( pos + point_south, oter_id( megastore + "_2_2_0_east" ) ); + ter_set( pos + point_south_east, oter_id( megastore + "_2_1_0_east" ) ); + ter_set( pos + point_east + point_south_east, oter_id( megastore + "_2_0_0_east" ) ); + } else if( ter_test_w != needs_conversion.end() && ter_test_w->second == megastore ) { + ter_set( pos + point_west + point_north_west, oter_id( megastore + "_2_0_0_west" ) ); + ter_set( pos + point_north_west, oter_id( megastore + "_2_1_0_west" ) ); + ter_set( pos + point_north, oter_id( megastore + "_2_2_0_west" ) ); + ter_set( pos + point_west + point_west, oter_id( megastore + "_1_0_0_west" ) ); + ter_set( pos + point_west, oter_id( megastore + "_1_1_0_west" ) ); + ter_set( pos + point_zero, oter_id( megastore + "_1_2_0_west" ) ); + ter_set( pos + point_west + point_south_west, oter_id( megastore + "_0_0_0_west" ) ); + ter_set( pos + point_south_west, oter_id( megastore + "_0_1_0_west" ) ); + ter_set( pos + point_south, oter_id( megastore + "_0_2_0_west" ) ); + } else { + debugmsg( "Malformed Megastore" ); + } } for( const auto &conv : nearby ) { @@ -870,7 +922,7 @@ void overmap::unserialize( std::istream &fin ) } else if( oter_str_id( tmp_ter ).is_valid() ) { tmp_otid = oter_id( tmp_ter ); } else { - debugmsg( "Loaded bad ter! ter %s", tmp_ter.c_str() ); + debugmsg( "Loaded bad ter! ter %s", tmp_ter.c_str() ); tmp_otid = oter_id( 0 ); } } diff --git a/src/savegame_json.cpp b/src/savegame_json.cpp index d434fb8235d7a..cefc5759e462f 100644 --- a/src/savegame_json.cpp +++ b/src/savegame_json.cpp @@ -77,6 +77,7 @@ #include "morale_types.h" #include "pimpl.h" #include "recipe.h" +#include "text_snippets.h" #include "tileray.h" #include "visitable.h" #include "string_id.h" @@ -296,6 +297,39 @@ void player_activity::deserialize( JsonIn &jsin ) } +//////////////////////////////////////////////////////////////////////////////////////////////////// +///// requirements.h +void requirement_data::serialize( JsonOut &json ) const +{ + json.start_object(); + + if( !is_null() ) { + json.member( "blacklisted", blacklisted ); + const std::vector> req_comps = get_components(); + const std::vector> tool_comps = get_tools(); + const std::vector> quality_comps = get_qualities(); + + json.member( "req_comps_total", req_comps ); + + json.member( "tool_comps_total", tool_comps ); + + json.member( "quality_comps_total", quality_comps ); + } + json.end_object(); +} + +void requirement_data::deserialize( JsonIn &jsin ) +{ + JsonObject data = jsin.get_object(); + + data.read( "blacklisted", blacklisted ); + + data.read( "req_comps_total", components ); + data.read( "tool_comps_total", tools ); + data.read( "quality_comps_total", qualities ); + +} + //////////////////////////////////////////////////////////////////////////////////////////////////// ///// skill.h void SkillLevel::serialize( JsonOut &json ) const @@ -365,6 +399,13 @@ void Character::load( JsonObject &data ) { Creature::load( data ); + if( !data.read( "posx", position.x ) ) { // uh-oh. + debugmsg( "BAD PLAYER/NPC JSON: no 'posx'?" ); + } + data.read( "posy", position.y ); + if( !data.read( "posz", position.z ) && g != nullptr ) { + position.z = g->get_levz(); + } // stats data.read( "str_cur", str_cur ); data.read( "str_max", str_max ); @@ -379,7 +420,7 @@ void Character::load( JsonObject &data ) data.read( "dex_bonus", dex_bonus ); data.read( "per_bonus", per_bonus ); data.read( "int_bonus", int_bonus ); - + data.read( "omt_path", omt_path ); // needs data.read( "thirst", thirst ); data.read( "hunger", hunger ); @@ -388,6 +429,49 @@ void Character::load( JsonObject &data ) data.read( "stored_calories", stored_calories ); data.read( "radiation", radiation ); data.read( "oxygen", oxygen ); + data.read( "pkill", pkill ); + + if( data.has_array( "ma_styles" ) ) { + std::vector temp_styles; + data.read( "ma_styles", temp_styles ); + bool temp_keep_hands_free = false; + data.read( "keep_hands_free", temp_keep_hands_free ); + matype_id temp_selected_style; + data.read( "style_selected", temp_selected_style ); + if( !temp_selected_style.is_valid() ) { + temp_selected_style = matype_id( "style_none" ); + } + martial_arts_data = character_martial_arts( temp_styles, temp_selected_style, + temp_keep_hands_free ); + } else { + data.read( "martial_arts_data", martial_arts_data ); + } + + JsonObject vits = data.get_object( "vitamin_levels" ); + for( const std::pair &v : vitamin::all() ) { + int lvl = vits.get_int( v.first.str(), 0 ); + lvl = std::max( std::min( lvl, v.first.obj().max() ), v.first.obj().min() ); + vitamin_levels[v.first] = lvl; + } + data.read( "activity", activity ); + data.read( "destination_activity", destination_activity ); + // Changed from a single element to a list, handle either. + // Can deprecate once we stop handling pre-0.B saves. + if( data.has_array( "backlog" ) ) { + data.read( "backlog", backlog ); + } else { + player_activity temp; + data.read( "backlog", temp ); + backlog.push_front( temp ); + } + if( !backlog.empty() && !backlog.front().str_values.empty() && ( ( activity && + activity.id() == activity_id( "ACT_FETCH_REQUIRED" ) ) || ( destination_activity && + destination_activity.id() == activity_id( "ACT_FETCH_REQUIRED" ) ) ) ) { + requirement_data fetch_reqs; + data.read( "fetch_data", fetch_reqs ); + const requirement_id req_id( backlog.front().str_values.back() ); + requirement_data::save_requirement( fetch_reqs, req_id ); + } // npc activity on vehicles. data.read( "activity_vehicle_part_index", activity_vehicle_part_index ); // health @@ -395,9 +479,26 @@ void Character::load( JsonObject &data ) data.read( "healthy_mod", healthy_mod ); data.read( "healed_24h", healed_total ); + // status + temp_cur.fill( 5000 ); + data.read( "temp_cur", temp_cur ); + + temp_conv.fill( 5000 ); + data.read( "temp_conv", temp_conv ); + + frostbite_timer.fill( 0 ); + data.read( "frostbite_timer", frostbite_timer ); + + body_wetness.fill( 0 ); + data.read( "body_wetness", body_wetness ); + + //energy + data.read( "stim", stim ); + data.read( "stamina", stamina ); + data.read( "damage_bandaged", damage_bandaged ); data.read( "damage_disinfected", damage_disinfected ); - + data.read( "magic", magic ); JsonArray parray; data.read( "underwater", underwater ); @@ -472,6 +573,15 @@ void Character::load( JsonObject &data ) weapon = item( "null", 0 ); data.read( "weapon", weapon ); + std::string tmove_mode; + data.read( "move_mode", tmove_mode ); + for( int i = 0; i < CMM_COUNT; ++i ) { + if( tmove_mode == character_movemode_str[i] ) { + move_mode = static_cast( i ); + break; + } + } + if( has_effect( effect_riding ) ) { int temp_id; if( data.read( "mounted_creature", temp_id ) ) { @@ -482,6 +592,8 @@ void Character::load( JsonObject &data ) } } + morale->load( data ); + _skills->clear(); JsonObject pmap = data.get_object( "skills" ); for( const std::string &member : pmap.get_member_names() ) { @@ -499,6 +611,8 @@ void Character::load( JsonObject &data ) on_stat_change( "hunger", hunger ); on_stat_change( "fatigue", fatigue ); on_stat_change( "sleep_deprivation", sleep_deprivation ); + on_stat_change( "pkill", pkill ); + on_stat_change( "perceived_pain", get_perceived_pain() ); recalc_sight_limits(); reset_encumbrance(); @@ -512,8 +626,18 @@ void Character::load( JsonObject &data ) } // Bionic power should not be negative! - if( power_level < 0_kJ ) { - power_level = 0_kJ; + if( power_level < 0_mJ ) { + power_level = 0_mJ; + } + + JsonArray overmap_time_array = data.get_array( "overmap_time" ); + overmap_time.clear(); + while( overmap_time_array.has_more() ) { + point pt; + overmap_time_array.read_next( pt ); + time_duration tdr = 0_turns; + overmap_time_array.read_next( tdr ); + overmap_time[pt] = tdr; } } @@ -524,6 +648,12 @@ void Character::store( JsonOut &json ) const { Creature::store( json ); + // assumes already in Character object + // positional data + json.member( "posx", position.x ); + json.member( "posy", position.y ); + json.member( "posz", position.z ); + // stat json.member( "str_cur", str_cur ); json.member( "str_max", str_max ); @@ -539,12 +669,17 @@ void Character::store( JsonOut &json ) const json.member( "per_bonus", per_bonus ); json.member( "int_bonus", int_bonus ); - json.member( "activity_vehicle_part_index", activity_vehicle_part_index ); // NPC activity // health json.member( "healthy", healthy ); json.member( "healthy_mod", healthy_mod ); json.member( "healed_24h", healed_total ); + // status + json.member( "temp_cur", temp_cur ); + json.member( "temp_conv", temp_conv ); + json.member( "frostbite_timer", frostbite_timer ); + json.member( "body_wetness", body_wetness ); + // needs json.member( "thirst", thirst ); json.member( "hunger", hunger ); @@ -553,6 +688,25 @@ void Character::store( JsonOut &json ) const json.member( "stored_calories", stored_calories ); json.member( "radiation", radiation ); json.member( "stamina", stamina ); + json.member( "vitamin_levels", vitamin_levels ); + json.member( "pkill", pkill ); + json.member( "omt_path", omt_path ); + + // crafting etc + json.member( "destination_activity", destination_activity ); + json.member( "activity", activity ); + json.member( "backlog", backlog ); + json.member( "activity_vehicle_part_index", activity_vehicle_part_index ); // NPC activity + + // handling for storing activity requirements + if( !backlog.empty() && !backlog.front().str_values.empty() && ( ( activity && + activity.id() == activity_id( "ACT_FETCH_REQUIRED" ) ) || ( destination_activity && + destination_activity.id() == activity_id( "ACT_FETCH_REQUIRED" ) ) ) ) { + requirement_data things_to_fetch = requirement_id( backlog.front().str_values.back() ).obj(); + json.member( "fetch_data", things_to_fetch ); + } + + json.member( "stim", stim ); // breathing json.member( "underwater", underwater ); @@ -561,13 +715,20 @@ void Character::store( JsonOut &json ) const // traits: permanent 'mutations' more or less json.member( "traits", my_traits ); json.member( "mutations", my_mutations ); - + json.member( "magic", magic ); + json.member( "martial_arts_data", martial_arts_data ); // "Fracking Toasters" - Saul Tigh, toaster json.member( "my_bionics", *my_bionics ); + + json.member( "move_mode", character_movemode_str[ move_mode ] ); + // storing the mount if( is_mounted() ) { json.member( "mounted_creature", g->critter_tracker->temporary_id( *mounted_creature ) ); } + + morale->store( json ); + // skills json.member( "skills" ); json.start_object(); @@ -577,8 +738,24 @@ void Character::store( JsonOut &json ) const json.end_object(); // npc; unimplemented - json.member( "power_level", units::to_kilojoule( power_level ) ); + if( power_level < 1_J ) { + json.member( "power_level", to_string( units::to_millijoule( power_level ) ) + " mJ" ); + } else if( power_level < 1_kJ ) { + json.member( "power_level", to_string( units::to_joule( power_level ) ) + " J" ); + } else { + json.member( "power_level", units::to_kilojoule( power_level ) ); + } json.member( "max_power_level", units::to_kilojoule( max_power_level ) ); + + if( !overmap_time.empty() ) { + json.member( "overmap_time" ); + json.start_array(); + for( const std::pair &pr : overmap_time ) { + json.write( pr.first ); + json.write( pr.second ); + } + json.end_array(); + } } //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -591,23 +768,13 @@ void player::store( JsonOut &json ) const { Character::store( json ); - // assumes already in player object - // positional data - json.member( "posx", position.x ); - json.member( "posy", position.y ); - json.member( "posz", position.z ); - // energy - json.member( "stim", stim ); json.member( "last_sleep_check", last_sleep_check ); - // pain - json.member( "pkill", pkill ); // misc levels json.member( "tank_plut", tank_plut ); json.member( "reactor_plut", reactor_plut ); json.member( "slow_rad", slow_rad ); json.member( "scent", static_cast( scent ) ); - json.member( "body_wetness", body_wetness ); // gender json.member( "male", male ); @@ -623,8 +790,6 @@ void player::store( JsonOut &json ) const json.member( "hp_max", hp_max ); json.member( "damage_bandaged", damage_bandaged ); json.member( "damage_disinfected", damage_disinfected ); - - json.member( "ma_styles", ma_styles ); // "Looks like I picked the wrong week to quit smoking." - Steve McCroskey json.member( "addictions", addictions ); json.member( "followers", follower_ids ); @@ -640,6 +805,8 @@ void player::store( JsonOut &json ) const } json.end_array(); + json.member( "automoveroute", auto_move_route ); + json.member( "worn", worn ); // also saves contents json.member( "inv" ); inv.json_save_items( json ); @@ -661,6 +828,8 @@ void player::store( JsonOut &json ) const json.member( "last_target_pos", last_target_pos ); } + json.member( "destination_point", destination_point ); + // faction warnings json.member( "faction_warnings" ); json.start_array(); @@ -683,16 +852,6 @@ void player::store( JsonOut &json ) const json.end_object(); } json.end_array(); - - if( !overmap_time.empty() ) { - json.member( "overmap_time" ); - json.start_array(); - for( const std::pair &pr : overmap_time ) { - json.write( pr.first ); - json.write( pr.second ); - } - json.end_array(); - } } /** @@ -705,15 +864,6 @@ void player::load( JsonObject &data ) JsonArray parray; character_id tmpid; - if( !data.read( "posx", position.x ) ) { // uh-oh. - debugmsg( "BAD PLAYER/NPC JSON: no 'posx'?" ); - } - data.read( "posy", position.y ); - if( !data.read( "posz", position.z ) && g != nullptr ) { - position.z = g->get_levz(); - } - data.read( "stim", stim ); - data.read( "pkill", pkill ); data.read( "tank_plut", tank_plut ); data.read( "reactor_plut", reactor_plut ); data.read( "slow_rad", slow_rad ); @@ -730,15 +880,6 @@ void player::load( JsonObject &data ) setID( tmpid ); } - data.read( "ma_styles", ma_styles ); - // Fix up old ma_styles that doesn't include fake styles - if( std::find( ma_styles.begin(), ma_styles.end(), style_kicks ) == ma_styles.end() && - style_kicks.is_valid() ) { - ma_styles.insert( ma_styles.begin(), style_kicks ); - } - if( std::find( ma_styles.begin(), ma_styles.end(), matype_id::NULL_ID() ) == ma_styles.end() ) { - ma_styles.insert( ma_styles.begin(), matype_id::NULL_ID() ); - } data.read( "addictions", addictions ); data.read( "followers", follower_ids ); JsonArray traps = data.get_array( "known_traps" ); @@ -750,6 +891,8 @@ void player::load( JsonObject &data ) known_traps.insert( trap_map::value_type( p, t ) ); } + data.read( "automoveroute", auto_move_route ); + // Add the earplugs. if( has_bionic( bionic_id( "bio_ears" ) ) && !has_bionic( bionic_id( "bio_earplugs" ) ) ) { add_bionic( bionic_id( "bio_earplugs" ) ); @@ -785,9 +928,6 @@ void player::load( JsonObject &data ) } } - on_stat_change( "pkill", pkill ); - on_stat_change( "perceived_pain", get_perceived_pain() ); - int tmptar; int tmptartyp = 0; @@ -806,7 +946,7 @@ void player::load( JsonObject &data ) // Need to do this *after* the monsters have been loaded! last_target = g->critter_tracker->from_temporary_id( tmptar ); } - + data.read( "destination_point", destination_point ); JsonArray basecamps = data.get_array( "camps" ); camps.clear(); while( basecamps.has_more() ) { @@ -815,15 +955,6 @@ void player::load( JsonObject &data ) bcdata.read( "pos", bcpt ); camps.insert( bcpt ); } - JsonArray overmap_time_array = data.get_array( "overmap_time" ); - overmap_time.clear(); - while( overmap_time_array.has_more() ) { - point pt; - overmap_time_array.read_next( pt ); - time_duration tdr = 0_turns; - overmap_time_array.read_next( tdr ); - overmap_time[pt] = tdr; - } } //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -858,11 +989,6 @@ void avatar::store( JsonOut &json ) const // misc player specific stuff json.member( "focus_pool", focus_pool ); - json.member( "style_selected", style_selected ); - json.member( "keep_hands_free", keep_hands_free ); - - json.member( "move_mode", player_movemode_str[ move_mode ] ); - json.member( "magic", magic ); // stats through kills json.member( "str_upgrade", abs( str_upgrade ) ); @@ -870,30 +996,17 @@ void avatar::store( JsonOut &json ) const json.member( "int_upgrade", abs( int_upgrade ) ); json.member( "per_upgrade", abs( per_upgrade ) ); - // crafting etc - json.member( "activity", activity ); - json.member( "backlog", backlog ); - - // "The cold wakes you up." - json.member( "temp_cur", temp_cur ); - json.member( "temp_conv", temp_conv ); - json.member( "frostbite_timer", frostbite_timer ); - // npc: unimplemented, potentially useful json.member( "learned_recipes", *learned_recipes ); // Player only, books they have read at least once. json.member( "items_identified", items_identified ); - json.member( "vitamin_levels", vitamin_levels ); - json.member( "stomach", stomach ); json.member( "guts", guts ); json.member( "translocators", translocators ); - morale->store( json ); - // mission stuff json.member( "active_mission", active_mission == nullptr ? -1 : active_mission->get_id() ); @@ -934,16 +1047,6 @@ void avatar::load( JsonObject &data ) debugmsg( "Tried to use non-existent profession '%s'", prof_ident.c_str() ); } - data.read( "activity", activity ); - // Changed from a single element to a list, handle either. - // Can deprecate once we stop handling pre-0.B saves. - if( data.has_array( "backlog" ) ) { - data.read( "backlog", backlog ); - } else { - player_activity temp; - data.read( "backlog", temp ); - backlog.push_front( temp ); - } data.read( "controlling_vehicle", controlling_vehicle ); data.read( "grab_point", grab_point ); @@ -958,8 +1061,6 @@ void avatar::load( JsonObject &data ) grab_point ); data.read( "focus_pool", focus_pool ); - data.read( "style_selected", style_selected ); - data.read( "keep_hands_free", keep_hands_free ); // stats through kills data.read( "str_upgrade", str_upgrade ); @@ -975,23 +1076,17 @@ void avatar::load( JsonObject &data ) per_upgrade = -per_upgrade; } - data.read( "stamina", stamina ); data.read( "magic", magic ); - std::string tmove_mode; - data.read( "move_mode", tmove_mode ); - for( int i = 0; i < PMM_COUNT; ++i ) { - if( tmove_mode == player_movemode_str[i] ) { - move_mode = static_cast( i ); - break; - } - } set_highest_cat_level(); drench_mut_calc(); std::string scen_ident = "(null)"; if( data.read( "scenario", scen_ident ) && string_id( scen_ident ).is_valid() ) { g->scen = &string_id( scen_ident ).obj(); - start_location = g->scen->start_location(); + + if( !g->scen->allowed_start( start_location ) ) { + start_location = g->scen->start_location(); + } } else { const scenario *generic_scenario = scenario::generic(); // Only display error message if from a game file after scenarios existed. @@ -1001,17 +1096,6 @@ void avatar::load( JsonObject &data ) } g->scen = generic_scenario; } - temp_cur.fill( 5000 ); - data.read( "temp_cur", temp_cur ); - - temp_conv.fill( 5000 ); - data.read( "temp_conv", temp_conv ); - - frostbite_timer.fill( 0 ); - data.read( "frostbite_timer", frostbite_timer ); - - body_wetness.fill( 0 ); - data.read( "body_wetness", body_wetness ); data.read( "learned_recipes", *learned_recipes ); valid_autolearn_skills->clear(); // Invalidates the cache @@ -1019,20 +1103,11 @@ void avatar::load( JsonObject &data ) items_identified.clear(); data.read( "items_identified", items_identified ); - auto vits = data.get_object( "vitamin_levels" ); - for( const auto &v : vitamin::all() ) { - int lvl = vits.get_int( v.first.str(), 0 ); - lvl = std::max( std::min( lvl, v.first.obj().max() ), v.first.obj().min() ); - vitamin_levels[ v.first ] = lvl; - } - data.read( "stomach", stomach ); data.read( "guts", guts ); data.read( "translocators", translocators ); - morale->load( data ); - std::vector tmpmissions; if( data.read( "active_missions", tmpmissions ) ) { active_missions = mission::to_ptr_vector( tmpmissions ); @@ -1181,23 +1256,29 @@ void npc_follower_rules::deserialize( JsonIn &jsin ) // This and the following two entries are for legacy save game handling. // "avoid_combat" was renamed "follow_close" to better reflect behavior. - data.read( "rule_avoid_combat", tmpflag ); - if( tmpflag ) { - set_flag( ally_rule::follow_close ); - } else { - clear_flag( ally_rule::follow_close ); + if( data.has_member( "rule_avoid_combat" ) ) { + data.read( "rule_avoid_combat", tmpflag ); + if( tmpflag ) { + set_flag( ally_rule::follow_close ); + } else { + clear_flag( ally_rule::follow_close ); + } } - data.read( "override_enable_avoid_combat", tmpflag ); - if( tmpflag ) { - enable_override( ally_rule::follow_close ); - } else { - disable_override( ally_rule::follow_close ); + if( data.has_member( "override_enable_avoid_combat" ) ) { + data.read( "override_enable_avoid_combat", tmpflag ); + if( tmpflag ) { + enable_override( ally_rule::follow_close ); + } else { + disable_override( ally_rule::follow_close ); + } } - data.read( "override_avoid_combat", tmpflag ); - if( tmpflag ) { - set_override( ally_rule::follow_close ); - } else { - clear_override( ally_rule::follow_close ); + if( data.has_member( "override_avoid_combat" ) ) { + data.read( "override_avoid_combat", tmpflag ); + if( tmpflag ) { + set_override( ally_rule::follow_close ); + } else { + clear_override( ally_rule::follow_close ); + } } } @@ -1370,7 +1451,6 @@ void npc::load( JsonObject &data ) } data.read( "known_to_u", known_to_u ); data.read( "personality", personality ); - if( !data.read( "submap_coords", submap_coords ) ) { // Old submap coordinates are for the point (0, 0, 0) on local map // New ones are for submap that contains pos @@ -1600,7 +1680,6 @@ void npc::store( JsonOut &json ) const json.member( "guardz", guard_pos.z ); json.member( "current_activity_id", current_activity_id.str() ); json.member( "pulp_location", pulp_location ); - json.member( "mission", mission ); // TODO: stringid json.member( "job", static_cast( job ) ); json.member( "previous_mission", previous_mission ); @@ -1993,7 +2072,7 @@ void item::io( Archive &archive ) archive.io( "burnt", burnt, 0 ); archive.io( "poison", poison, 0 ); archive.io( "frequency", frequency, 0 ); - archive.io( "note", note, 0 ); + archive.io( "snippet_id", snippet_id, io::default_tag() ); // NB! field is named `irridation` in legacy files archive.io( "irridation", irradiation, 0 ); archive.io( "bday", bday, calendar::start_of_cataclysm ); @@ -2056,6 +2135,9 @@ void item::io( Archive &archive ) max_damage() ); } + int note = 0; + const bool note_read = archive.read( "note", note ); + // Old saves used to only contain one of those values (stored under "poison"), it would be // loaded into a union of those members. Now they are separate members and must be set separately. if( poison != 0 && note == 0 && !type->snippet_category.empty() ) { @@ -2068,6 +2150,10 @@ void item::io( Archive &archive ) std::swap( irradiation, poison ); } + if( note_read ) { + snippet_id = SNIPPET.migrate_hash_to_id( note ); + } + // Compatibility for item type changes: for example soap changed from being a generic item // (item::charges -1 or 0 or anything else) to comestible (and thereby counted by charges), // old saves still have invalid charges, this fixes the charges value to the default charges. @@ -2498,6 +2584,8 @@ void vehicle::deserialize( JsonIn &jsin ) pivot_anchor[1] = pivot_anchor[0]; pivot_rotation[1] = pivot_rotation[0] = fdir; data.read( "is_following", is_following ); + data.read( "is_patrolling", is_patrolling ); + data.read( "autodrive_local_target", autodrive_local_target ); // Need to manually backfill the active item cache since the part loader can't call its vehicle. for( const vpart_reference &vp : get_any_parts( VPFLAG_CARGO ) ) { auto it = vp.part().items.begin(); @@ -2511,6 +2599,15 @@ void vehicle::deserialize( JsonIn &jsin ) for( const vpart_reference &vp : get_any_parts( "TURRET" ) ) { install_part( vp.mount(), vpart_id( "turret_mount" ), false ); + + //Forcibly set turrets' targeting mode to manual if no turret control unit is present on turret's tile on loading save + if( !has_part( global_part_pos3( vp.part() ), "TURRET_CONTROLS" ) ) { + vp.part().enabled = false; + } + //Set turret control unit's state equal to turret's targeting mode on loading save + for( const vpart_reference &turret_part : get_any_parts( "TURRET_CONTROLS" ) ) { + turret_part.part().enabled = vp.part().enabled; + } } // Add vehicle mounts to cars that are missing them. @@ -2638,6 +2735,8 @@ void vehicle::serialize( JsonOut &json ) const json.member( "last_update_turn", last_update ); json.member( "pivot", pivot_anchor[0] ); json.member( "is_following", is_following ); + json.member( "is_patrolling", is_patrolling ); + json.member( "autodrive_local_target", autodrive_local_target ); json.end_object(); } @@ -3144,6 +3243,17 @@ static void serialize( const item_comp &value, JsonOut &jsout ) jsout.end_object(); } +static void serialize( const tool_comp &value, JsonOut &jsout ) +{ + jsout.start_object(); + + jsout.member( "type", value.type ); + jsout.member( "count", value.count ); + jsout.member( "recoverable", value.recoverable ); + + jsout.end_object(); +} + static void deserialize( item_comp &value, JsonIn &jsin ) { JsonObject jo = jsin.get_object(); @@ -3152,6 +3262,33 @@ static void deserialize( item_comp &value, JsonIn &jsin ) jo.read( "recoverable", value.recoverable ); } +static void deserialize( tool_comp &value, JsonIn &jsin ) +{ + JsonObject jo = jsin.get_object(); + jo.read( "type", value.type ); + jo.read( "count", value.count ); + jo.read( "recoverable", value.recoverable ); +} + +static void serialize( const quality_requirement &value, JsonOut &jsout ) +{ + jsout.start_object(); + + jsout.member( "type", value.type ); + jsout.member( "count", value.count ); + jsout.member( "level", value.level ); + + jsout.end_object(); +} + +static void deserialize( quality_requirement &value, JsonIn &jsin ) +{ + JsonObject jo = jsin.get_object(); + jo.read( "type", value.type ); + jo.read( "count", value.count ); + jo.read( "level", value.level ); +} + // basecamp void basecamp::serialize( JsonOut &json ) const { @@ -3561,8 +3698,8 @@ void submap::store( JsonOut &jsout ) const } // Output base camp if any - if( camp.is_valid() ) { - jsout.member( "camp", camp ); + if( camp ) { + jsout.member( "camp", *camp ); } } @@ -3830,7 +3967,8 @@ void submap::load( JsonIn &jsin, const std::string &member_name, bool rubpow_upd legacy_computer->load_data( computer_data ); } } else if( member_name == "camp" ) { - jsin.read( camp ); + camp = std::make_unique(); + jsin.read( *camp ); } else { jsin.skip_value(); } diff --git a/src/savegame_legacy.cpp b/src/savegame_legacy.cpp index 839d3e44584c4..1d31fcaa65951 100644 --- a/src/savegame_legacy.cpp +++ b/src/savegame_legacy.cpp @@ -245,7 +245,7 @@ void player_activity::deserialize_legacy_type( int legacy_type, activity_id &des }; if( legacy_type < 0 || static_cast( legacy_type ) >= legacy_map.size() ) { - debugmsg( "Bad legacy activity data. Got %d, expected something from 0 to %d", legacy_type, + debugmsg( "Bad legacy activity data. Got %d, expected something from 0 to %d", legacy_type, legacy_map.size() ); dest = activity_id::NULL_ID(); return; diff --git a/src/sdl_utils.cpp b/src/sdl_utils.cpp index 7f8fd0ae1b1dd..cdd776328baae 100644 --- a/src/sdl_utils.cpp +++ b/src/sdl_utils.cpp @@ -54,12 +54,12 @@ std::vector color_linear_interpolate( const SDL_Color &start_color, const float step = 1.0f / ( steps - 1 ); for( unsigned i = 0; i < steps - 2; i++ ) { const float percent = ( i + 1 ) * step; - const auto r = static_cast( start_color.r + static_cast( percent * - ( end_color.r - start_color.r ) ) ); - const auto g = static_cast( start_color.g + static_cast( percent * - ( end_color.g - start_color.g ) ) ); - const auto b = static_cast( start_color.b + static_cast( percent * - ( end_color.b - start_color.b ) ) ); + const Uint8 r = static_cast( start_color.r + static_cast( percent * + ( end_color.r - start_color.r ) ) ); + const Uint8 g = static_cast( start_color.g + static_cast( percent * + ( end_color.g - start_color.g ) ) ); + const Uint8 b = static_cast( start_color.b + static_cast( percent * + ( end_color.b - start_color.b ) ) ); colors.push_back( { r, g, b, 255 } ); } colors.push_back( end_color ); diff --git a/src/sdlsound.cpp b/src/sdlsound.cpp index e930a97f97f78..da6b331422862 100644 --- a/src/sdlsound.cpp +++ b/src/sdlsound.cpp @@ -182,7 +182,7 @@ void musicFinished() current_playlist_at = playlist_indexes.at( absolute_playlist_at ); - const auto &next = list.entries[current_playlist_at]; + const music_playlist::entry &next = list.entries[current_playlist_at]; play_music_file( next.file, next.volume ); } @@ -214,7 +214,7 @@ void play_music( const std::string &playlist ) current_playlist = playlist; current_playlist_at = playlist_indexes.at( absolute_playlist_at ); - const auto &next = list.entries[current_playlist_at]; + const music_playlist::entry &next = list.entries[current_playlist_at]; current_music_track_volume = next.volume; play_music_file( next.file, next.volume ); } @@ -280,7 +280,7 @@ static Mix_Chunk *load_chunk( const std::string &path ) // - Not Loaded: Load chunk from stored resource path static inline Mix_Chunk *get_sfx_resource( int resource_id ) { - auto &resource = sfx_resources.resource[ resource_id ]; + sound_effect_resource &resource = sfx_resources.resource[ resource_id ]; if( !resource.chunk ) { std::string path = ( current_soundpack_path + "/" + resource.path ); resource.chunk.reset( load_chunk( path ) ); @@ -377,7 +377,7 @@ static const sound_effect *find_random_effect( const id_and_variant &id_variants // Same as above, but with fallback to "default" variant. May still return `nullptr` static const sound_effect *find_random_effect( const std::string &id, const std::string &variant ) { - const auto eff = find_random_effect( id_and_variant( id, variant ) ); + const sound_effect *eff = find_random_effect( id_and_variant( id, variant ) ); if( eff != nullptr ) { return eff; } @@ -549,7 +549,7 @@ void sfx::play_ambient_variant_sound( const std::string &id, const std::string & void load_soundset() { - const std::string default_path = FILENAMES["defaultsounddir"]; + const std::string default_path = PATH_INFO::defaultsounddir(); const std::string default_soundpack = "basic"; std::string current_soundpack = get_option( "SOUNDPACKS" ); std::string soundpack_path; @@ -581,7 +581,7 @@ void load_soundset() } // Preload sound effects - for( const auto &preload : sfx_preload ) { + for( const id_and_variant &preload : sfx_preload ) { const auto find_result = sfx_resources.sound_effects.find( preload ); if( find_result != sfx_resources.sound_effects.end() ) { for( const auto &sfx : find_result->second ) { diff --git a/src/sdltiles.cpp b/src/sdltiles.cpp index 5c35d8ee49182..35aef3dc76e34 100644 --- a/src/sdltiles.cpp +++ b/src/sdltiles.cpp @@ -53,6 +53,7 @@ #include "sdl_wrappers.h" #include "string_formatter.h" #include "translations.h" +#include "wcwidth.h" #include "json.h" #include "optional.h" #include "point.h" @@ -854,7 +855,7 @@ static void find_videodisplays() int current_display = get_option( "DISPLAY" ); get_options().add( "DISPLAY", "graphics", translate_marker( "Display" ), - translate_marker( "Sets which video display will be used to show the game. Requires restart." ), + translate_marker( "Sets which video display will be used to show the game. Requires restart." ), displays, current_display, 0, options_manager::COPT_CURSES_HIDE, true ); } @@ -932,7 +933,7 @@ static void invalidate_framebuffer( std::vector &framebuffer, int x, static void invalidate_framebuffer( std::vector &framebuffer ) { - for( auto &i : framebuffer ) { + for( curseline &i : framebuffer ) { std::fill_n( i.chars.begin(), i.chars.size(), cursecell( "" ) ); } } @@ -1086,10 +1087,11 @@ void cata_cursesport::curses_drawwindow( const catacurses::window &w ) } } - for( size_t i = 0; i < text.display_width(); ++i ) { + int width = 0; + for( size_t i = 0; i < text.size(); ++i ) { const int x0 = win->pos.x * fontwidth; const int y0 = win->pos.y * fontheight; - const int x = x0 + ( x_offset - alignment_offset + i ) * map_font->fontwidth + coord.x; + const int x = x0 + ( x_offset - alignment_offset + width ) * map_font->fontwidth + coord.x; const int y = y0 + coord.y; // Clip to window bounds. @@ -1099,11 +1101,13 @@ void cata_cursesport::curses_drawwindow( const catacurses::window &w ) } // TODO: draw with outline / BG color for better readability - map_font->OutputChar( text.substr_display( i, 1 ).str(), x, y, ft.color ); + const uint32_t ch = text.at( i ); + map_font->OutputChar( utf32_to_utf8( ch ), x, y, ft.color ); + width += mk_wcwidth( ch ); } prev_coord = coord; - x_offset = text.display_width(); + x_offset = width; } invalidate_framebuffer( terminal_framebuffer, win->pos.x, win->pos.y, @@ -1685,14 +1689,19 @@ bool handle_resize( int w, int h ) WindowHeight = h; TERMINAL_WIDTH = WindowWidth / fontwidth / scaling_factor; TERMINAL_HEIGHT = WindowHeight / fontheight / scaling_factor; - SetupRenderTarget(); - game_ui::init_ui(); + handle_redraw(); return true; } return false; } +void handle_redraw() +{ + SetupRenderTarget(); + game_ui::init_ui(); +} + void toggle_fullscreen_window() { static int restore_win_w = get_option( "TERMINAL_X" ) * fontwidth * scaling_factor; @@ -2141,7 +2150,7 @@ void draw_quick_shortcuts() float text_scale = default_text_scale; if( text.empty() || text == " " ) { text = inp_mngr.get_keyname( key, event.type ); - text_scale = std::min( text_scale, 0.75f * ( width / ( font->fontwidth * text.length() ) ) ); + text_scale = std::min( text_scale, 0.75f * ( width / ( font->fontwidth * utf8_width( text ) ) ) ); } hovered = is_quick_shortcut_touch && hovered_quick_shortcut == &event; show_hint = hovered && @@ -2211,10 +2220,10 @@ void draw_quick_shortcuts() SDL_RenderSetScale( renderer.get(), text_scale, text_scale ); int text_x, text_y; if( shortcut_right ) { - text_x = ( WindowWidth - ( i + 0.5f ) * width - ( font->fontwidth * text.length() ) * text_scale * - 0.5f ) / text_scale; + text_x = ( WindowWidth - ( i + 0.5f ) * width - ( font->fontwidth * utf8_width( + text ) ) * text_scale * 0.5f ) / text_scale; } else { - text_x = ( ( i + 0.5f ) * width - ( font->fontwidth * text.length() ) * text_scale * 0.5f ) / + text_x = ( ( i + 0.5f ) * width - ( font->fontwidth * utf8_width( text ) ) * text_scale * 0.5f ) / text_scale; } text_y = ( WindowHeight - ( height + font->fontheight * text_scale ) * 0.5f ) / text_scale; @@ -2335,7 +2344,7 @@ bool is_string_input( input_context &ctx ) int get_key_event_from_string( const std::string &str ) { - if( str.length() ) { + if( !str.empty() ) { return str[0]; } return -1; @@ -2547,11 +2556,11 @@ static void CheckMessages() } // If we're already running, make it simple to toggle running to off. - if( g->u.movement_mode_is( PMM_RUN ) ) { + if( g->u.movement_mode_is( CMM_RUN ) ) { actions.insert( ACTION_TOGGLE_RUN ); } // If we're already crouching, make it simple to toggle crouching to off. - if( g->u.movement_mode_is( PMM_CROUCH ) ) { + if( g->u.movement_mode_is( CMM_CROUCH ) ) { actions.insert( ACTION_TOGGLE_CROUCH ); } @@ -3144,7 +3153,7 @@ static bool ends_with( const std::string &text, const std::string &suffix ) static void font_folder_list( std::ostream &fout, const std::string &path, std::set &bitmap_fonts ) { - for( const auto &f : get_files_from_path( "", path, true, false ) ) { + for( const std::string &f : get_files_from_path( "", path, true, false ) ) { TTF_Font_Ptr fnt( TTF_OpenFont( f.c_str(), 12 ) ); if( !fnt ) { continue; @@ -3210,14 +3219,19 @@ static void save_font_list() { try { std::set bitmap_fonts; - write_to_file( FILENAMES["fontlist"], [&]( std::ostream & fout ) { - font_folder_list( fout, FILENAMES["fontdir"], bitmap_fonts ); + write_to_file( PATH_INFO::fontlist(), [&]( std::ostream & fout ) { + font_folder_list( fout, PATH_INFO::fontdir(), bitmap_fonts ); #if defined(_WIN32) - char buf[256]; - GetSystemWindowsDirectory( buf, 256 ); - strcat( buf, "\\fonts" ); - font_folder_list( fout, buf, bitmap_fonts ); + constexpr UINT max_dir_len = 256; + char buf[max_dir_len]; + const UINT dir_len = GetSystemWindowsDirectory( buf, max_dir_len ); + if( dir_len == 0 ) { + throw std::runtime_error( "GetSystemWindowsDirectory failed" ); + } else if( dir_len >= max_dir_len ) { + throw std::length_error( "GetSystemWindowsDirectory failed due to insufficient buffer" ); + } + font_folder_list( fout, buf + std::string( "\\fonts" ), bitmap_fonts ); #elif defined(_APPLE_) && defined(_MACH_) /* // Well I don't know how osx actually works .... @@ -3242,31 +3256,18 @@ static void save_font_list() } catch( const std::exception &err ) { // This is called during startup, the UI system may not be initialized (because that // needs the font file in order to load the font for it). - dbg( D_ERROR ) << "Faied to create fontlist file \"" << FILENAMES["fontlist"] << "\": " << + dbg( D_ERROR ) << "Faied to create fontlist file \"" << PATH_INFO::fontlist() << "\": " << err.what(); } } static cata::optional find_system_font( const std::string &name, int &faceIndex ) { - const std::string fontlist_path = FILENAMES["fontlist"]; + const std::string fontlist_path = PATH_INFO::fontlist(); std::ifstream fin( fontlist_path.c_str() ); if( !fin.is_open() ) { - // Try opening the fontlist at the old location. - fin.open( FILENAMES["legacy_fontlist"].c_str() ); - if( !fin.is_open() ) { - dbg( D_INFO ) << "Generating fontlist"; - assure_dir_exist( FILENAMES["config_dir"] ); - save_font_list(); - fin.open( fontlist_path.c_str() ); - if( !fin ) { - dbg( D_ERROR ) << "Can't open or create fontlist file " << fontlist_path; - return cata::nullopt; - } - } else { - // Write out fontlist to the new location. - save_font_list(); - } + // Write out fontlist to the new location. + save_font_list(); } if( fin.is_open() ) { std::string fname; @@ -3503,7 +3504,7 @@ std::unique_ptr Font::load_font( const std::string &typeface, int fontsize // Try to load as bitmap font. try { return std::unique_ptr( std::make_unique( fontwidth, fontheight, - FILENAMES["fontdir"] + typeface ) ); + PATH_INFO::fontdir() + typeface ) ); } catch( std::exception &err ) { dbg( D_ERROR ) << "Failed to load " << typeface << ": " << err.what(); // Continue to load as truetype font @@ -3802,13 +3803,13 @@ CachedTTFFont::CachedTTFFont( const int w, const int h, std::string typeface, in //make fontdata compatible with wincurse if( !file_exist( typeface ) ) { faceIndex = 0; - typeface = FILENAMES["fontdir"] + typeface + ".ttf"; + typeface = PATH_INFO::fontdir() + typeface + ".ttf"; dbg( D_INFO ) << "Using compatible font [" + typeface + "]." ; } //different default font with wincurse if( !file_exist( typeface ) ) { faceIndex = 0; - typeface = FILENAMES["fontdir"] + "fixedsys.ttf"; + typeface = PATH_INFO::fontdir() + "fixedsys.ttf"; dbg( D_INFO ) << "Using fallback font [" + typeface + "]." ; } dbg( D_INFO ) << "Loading truetype font [" + typeface + "]." ; diff --git a/src/skill.cpp b/src/skill.cpp index ab6131eef1e7e..242b72a7f2e24 100644 --- a/src/skill.cpp +++ b/src/skill.cpp @@ -270,7 +270,7 @@ const SkillLevel &SkillLevelMap::get_skill_level_object( const skill_id &ident ) static const SkillLevel null_skill{}; if( ident && ident->is_contextual_skill() ) { - debugmsg( "Skill \"%s\" is context-dependent. It cannot be assigned.", ident.str() ); + debugmsg( "Skill \"%s\" is context-dependent. It cannot be assigned.", ident.str() ); return null_skill; } @@ -288,7 +288,7 @@ SkillLevel &SkillLevelMap::get_skill_level_object( const skill_id &ident ) static SkillLevel null_skill; if( ident && ident->is_contextual_skill() ) { - debugmsg( "Skill \"%s\" is context-dependent. It cannot be assigned.", ident.str() ); + debugmsg( "Skill \"%s\" is context-dependent. It cannot be assigned.", ident.str() ); return null_skill; } diff --git a/src/sounds.cpp b/src/sounds.cpp index 9dcbc8eb1d3b3..8e6bd34650045 100644 --- a/src/sounds.cpp +++ b/src/sounds.cpp @@ -416,7 +416,7 @@ void sounds::process_sound_markers( player *p ) continue; } } - const std::string &description = sound.description.empty() ? "a noise" : sound.description; + const std::string &description = sound.description.empty() ? _( "a noise" ) : sound.description; if( p->is_npc() ) { if( !sound.ambient ) { npc *guy = dynamic_cast( p ); @@ -1177,39 +1177,39 @@ void sfx::do_fatigue() /*15: Stamina 75% 16: Stamina 50% 17: Stamina 25%*/ - if( g->u.stamina >= g->u.get_stamina_max() * .75 ) { + if( g->u.get_stamina() >= g->u.get_stamina_max() * .75 ) { fade_audio_group( group::fatigue, 2000 ); return; - } else if( g->u.stamina <= g->u.get_stamina_max() * .74 - && g->u.stamina >= g->u.get_stamina_max() * .5 && + } else if( g->u.get_stamina() <= g->u.get_stamina_max() * .74 + && g->u.get_stamina() >= g->u.get_stamina_max() * .5 && g->u.male && !is_channel_playing( channel::stamina_75 ) ) { fade_audio_group( group::fatigue, 1000 ); play_ambient_variant_sound( "plmove", "fatigue_m_low", 100, channel::stamina_75, 1000 ); return; - } else if( g->u.stamina <= g->u.get_stamina_max() * .49 - && g->u.stamina >= g->u.get_stamina_max() * .25 && + } else if( g->u.get_stamina() <= g->u.get_stamina_max() * .49 + && g->u.get_stamina() >= g->u.get_stamina_max() * .25 && g->u.male && !is_channel_playing( channel::stamina_50 ) ) { fade_audio_group( group::fatigue, 1000 ); play_ambient_variant_sound( "plmove", "fatigue_m_med", 100, channel::stamina_50, 1000 ); return; - } else if( g->u.stamina <= g->u.get_stamina_max() * .24 && g->u.stamina >= 0 && + } else if( g->u.get_stamina() <= g->u.get_stamina_max() * .24 && g->u.get_stamina() >= 0 && g->u.male && !is_channel_playing( channel::stamina_35 ) ) { fade_audio_group( group::fatigue, 1000 ); play_ambient_variant_sound( "plmove", "fatigue_m_high", 100, channel::stamina_35, 1000 ); return; - } else if( g->u.stamina <= g->u.get_stamina_max() * .74 - && g->u.stamina >= g->u.get_stamina_max() * .5 && + } else if( g->u.get_stamina() <= g->u.get_stamina_max() * .74 + && g->u.get_stamina() >= g->u.get_stamina_max() * .5 && !g->u.male && !is_channel_playing( channel::stamina_75 ) ) { fade_audio_group( group::fatigue, 1000 ); play_ambient_variant_sound( "plmove", "fatigue_f_low", 100, channel::stamina_75, 1000 ); return; - } else if( g->u.stamina <= g->u.get_stamina_max() * .49 - && g->u.stamina >= g->u.get_stamina_max() * .25 && + } else if( g->u.get_stamina() <= g->u.get_stamina_max() * .49 + && g->u.get_stamina() >= g->u.get_stamina_max() * .25 && !g->u.male && !is_channel_playing( channel::stamina_50 ) ) { fade_audio_group( group::fatigue, 1000 ); play_ambient_variant_sound( "plmove", "fatigue_f_med", 100, channel::stamina_50, 1000 ); return; - } else if( g->u.stamina <= g->u.get_stamina_max() * .24 && g->u.stamina >= 0 && + } else if( g->u.get_stamina() <= g->u.get_stamina_max() * .24 && g->u.get_stamina() >= 0 && !g->u.male && !is_channel_playing( channel::stamina_35 ) ) { fade_audio_group( group::fatigue, 1000 ); play_ambient_variant_sound( "plmove", "fatigue_f_high", 100, channel::stamina_35, 1000 ); diff --git a/src/stomach.cpp b/src/stomach.cpp index d7bc5ec369f07..6748490470511 100644 --- a/src/stomach.cpp +++ b/src/stomach.cpp @@ -1,29 +1,19 @@ -#include -#include #include -#include #include "avatar.h" -#include "calendar.h" #include "cata_utility.h" #include "json.h" -#include "player.h" #include "stomach.h" #include "units.h" -#include "compatibility.h" #include "game.h" -#include "item.h" #include "itype.h" -#include "optional.h" -#include "rng.h" -#include "character.h" -#include "options.h" stomach_contents::stomach_contents() = default; -stomach_contents::stomach_contents( units::volume max_vol ) +stomach_contents::stomach_contents( units::volume max_vol, bool is_stomach ) { max_volume = max_vol; + stomach = is_stomach; last_ate = calendar::before_time_starts; } @@ -36,7 +26,6 @@ void stomach_contents::serialize( JsonOut &json ) const { json.start_object(); json.member( "vitamins", vitamins ); - json.member( "vitamins_absorbed", vitamins_absorbed ); json.member( "calories", calories ); json.member( "water", ml_to_string( water ) ); json.member( "max_volume", ml_to_string( max_volume ) ); @@ -54,7 +43,6 @@ void stomach_contents::deserialize( JsonIn &json ) { JsonObject jo = json.get_object(); jo.read( "vitamins", vitamins ); - jo.read( "vitamins_absorbed", vitamins_absorbed ); jo.read( "calories", calories ); std::string str; jo.read( "water", str ); @@ -66,27 +54,27 @@ void stomach_contents::deserialize( JsonIn &json ) jo.read( "last_ate", last_ate ); } -units::volume stomach_contents::capacity() const +units::volume stomach_contents::capacity( const Character &owner ) const { float max_mod = 1; - if( g->u.has_trait( trait_id( "GIZZARD" ) ) ) { + if( owner.has_trait( trait_id( "GIZZARD" ) ) ) { max_mod *= 0.9; } - if( g->u.has_active_mutation( trait_id( "HIBERNATE" ) ) ) { + if( owner.has_active_mutation( trait_id( "HIBERNATE" ) ) ) { max_mod *= 3; } - if( g->u.has_active_mutation( trait_id( "GOURMAND" ) ) ) { + if( owner.has_active_mutation( trait_id( "GOURMAND" ) ) ) { max_mod *= 2; } - if( g->u.has_trait( trait_id( "SLIMESPAWNER" ) ) ) { + if( owner.has_trait( trait_id( "SLIMESPAWNER" ) ) ) { max_mod *= 3; } return max_volume * max_mod; } -units::volume stomach_contents::stomach_remaining() const +units::volume stomach_contents::stomach_remaining( const Character &owner ) const { - return capacity() - contents - water; + return capacity( owner ) - contents - water; } units::volume stomach_contents::contains() const @@ -94,280 +82,92 @@ units::volume stomach_contents::contains() const return contents + water; } -bool stomach_contents::store_absorbed( player &p ) +void stomach_contents::ingest( const nutrients &ingested ) { - if( p.is_npc() && get_option( "NO_NPC_FOOD" ) ) { - return false; + contents += ingested.solids; + water += ingested.water; + calories += ingested.kcal; + for( const std::pair &vit : ingested.vitamins ) { + vitamins[vit.first] += vit.second; } - bool absorbed = false; - if( calories_absorbed != 0 ) { - p.mod_stored_kcal( calories_absorbed ); - absorbed = true; - } - p.vitamins_mod( vitamins_absorbed ); - return absorbed; -} - -void stomach_contents::bowel_movement( const stomach_pass_rates &rates ) -{ - int cal_rate = static_cast( round( calories * rates.percent_kcal ) ); - cal_rate = clamp( cal_rate, std::min( rates.min_kcal, calories - calories_absorbed ), - calories - calories_absorbed ); - if( cal_rate < 0 ) { - cal_rate = 0; - } - mod_calories( -cal_rate ); - calories_absorbed = 0; - units::volume contents_rate = clamp( units::from_milliliter( round( - units::to_milliliter - ( contents ) * rates.percent_vol ) ), rates.min_vol, contents ); - mod_contents( -contents_rate ); - // water is a special case. - water = 0_ml; - - for( auto &vit : vitamins ) { - const int vit_absorbed = vitamins_absorbed[vit.first]; - // need to take absorbed vitamins into account for % moved - int percent = static_cast( ( vit.second + vit_absorbed ) * rates.percent_vit ); - // minimum vitamins that will move - int min = rates.min_vit; - int calc = std::max( percent, min ); - - if( vit_absorbed >= calc ) { - // vitamins are absorbed instead of moved - // assumed absorption is called from another function - calc = 0; - } else if( vit_absorbed != 0 ) { - calc -= vit_absorbed; - } - - if( calc > vitamins[vit.first] ) { - calc = vitamins[vit.first]; - } - - vitamins[vit.first] -= calc; - } -} - -void stomach_contents::bowel_movement() -{ - stomach_pass_rates rates; - - /** - * The min numbers aren't technically needed since the percentage will - * take care of the entirety, but some values needed to be assigned - */ - rates.percent_kcal = 1; - rates.min_kcal = 250; - rates.percent_vol = 1; - rates.min_vol = 25000_ml; - rates.percent_vit = 1; - rates.min_vit = 100; - - bowel_movement( rates ); + ate(); } -void stomach_contents::bowel_movement( const stomach_pass_rates &rates, stomach_contents &move_to ) +nutrients stomach_contents::digest( const Character &owner, const needs_rates &metabolic_rates, + int five_mins, int half_hours ) { - int cal_rate = static_cast( round( calories * rates.percent_kcal ) ); - cal_rate = clamp( cal_rate, std::min( rates.min_kcal, calories - calories_absorbed ), - calories - calories_absorbed ); - move_to.mod_calories( cal_rate ); - units::volume contents_rate = clamp( units::from_milliliter( round( - units::to_milliliter - ( contents ) * rates.percent_vol ) ), rates.min_vol, contents ); - move_to.mod_contents( -contents_rate ); - move_to.water += water; + nutrients digested; + stomach_digest_rates rates = get_digest_rates( metabolic_rates, owner ); - for( auto &vit : vitamins ) { - const int vit_absorbed = vitamins_absorbed[vit.first]; - // need to take absorbed vitamins into account for % moved - int percent = static_cast( ( vit.second + vit_absorbed ) * rates.percent_vit ); - // minimum vitamins that will move - int min = rates.min_vit; - int calc = std::max( percent, min ); + // Digest water, but no more than in stomach. + digested.water = std::min( water, rates.water * five_mins ); + water -= digested.water; - if( vit_absorbed >= calc ) { - // vitamins are absorbed instead of moved - // assumed absorption is called from another function - calc = 0; - } else if( vit_absorbed != 0 ) { - calc -= vit_absorbed; + // If no half-hour intervals have passed, we only process water, so bail out early. + if( half_hours == 0 ) { + // We need to initialize these to zero first, though. + digested.kcal = 0; + digested.solids = 0_ml; + for( const std::pair &vit : digested.vitamins ) { + digested.vitamins[vit.first] = 0; } - - if( calc > vitamins[vit.first] ) { - calc = vitamins[vit.first]; - } - - move_to.vitamins[vit.first] += calc; + return digested; } - bowel_movement( rates ); -} -void stomach_contents::ingest( player &p, item &food, int charges = 1 ) -{ - item comest; - if( food.is_container() ) { - comest = food.get_contained(); - } else { - comest = food; - } - if( charges == 0 ) { - // if charges is 0, it means the item is not count_by_charges - charges = 1; - } - // maybe move tapeworm to digestion - for( const auto &v : p.vitamins_from( comest ) ) { - vitamins[v.first] += p.has_effect( efftype_id( "tapeworm" ) ) ? v.second / 2 : v.second; - } - auto &comest_t = comest.type->comestible; - const units::volume add_water = std::max( 0_ml, comest_t->quench * 5_ml ); - // if this number is negative, we decrease the quench/increase the thirst of the player - if( comest_t->quench < 0 ) { - p.mod_thirst( -comest_t->quench ); - } else { - mod_quench( comest_t->quench ); - } - // @TODO: Move quench values to mL and remove the magic number here - mod_contents( comest.base_volume() * charges - add_water ); - - ate(); - - mod_calories( p.kcal_for( comest ) ); -} - -void stomach_contents::absorb_water( player &p, units::volume amount ) -{ - if( water < amount ) { - amount = water; - water = 0_ml; - } else { - water -= amount; - } - if( p.get_thirst() < -100 ) { - return; - } else if( p.get_thirst() - units::to_milliliter( amount / 5 ) < -100 ) { - p.set_thirst( -100 ); - } - p.mod_thirst( -units::to_milliliter( amount ) / 5 ); -} + // Digest solids, but no more than in stomach. + digested.solids = std::min( contents, rates.solids * half_hours ); + contents -= digested.solids; -void stomach_contents::absorb_kcal( int amount ) -{ - if( amount <= 0 ) { - return; - } - calories_absorbed += amount; - calories -= amount; - if( calories < 0 ) { // just a little trickery to avoid overflow - calories_absorbed += calories; - calories = 0; - } -} + // Digest kCal -- use min_kcal by default, but no more than what's in stomach, + // and no less than percentage_kcal of what's in stomach. + digested.kcal = half_hours * clamp( rates.min_kcal, + static_cast( round( calories * rates.percent_kcal ) ), calories ); + calories -= digested.kcal; -bool stomach_contents::absorb_vitamin( const vitamin_id &vit, int amount ) -{ - if( amount <= 0 ) { - return false; + // Digest vitamins just like we did kCal, but we need to do one at a time. + for( const std::pair &vit : vitamins ) { + digested.vitamins[vit.first] = half_hours * clamp( rates.min_vitamin, + static_cast( round( vit.second * rates.percent_vitamin ) ), vit.second ); + vitamins[vit.first] -= digested.vitamins[vit.first]; } - vitamins_absorbed[vit] += amount; - vitamins[vit] -= amount; - if( vitamins[vit] < 0 ) { - vitamins_absorbed[vit] += vitamins[vit]; - vitamins[vit] = amount; - } - return true; -} -bool stomach_contents::absorb_vitamin( const std::pair &vit ) -{ - return absorb_vitamin( vit.first, vit.second ); + return digested; } -bool stomach_contents::absorb_vitamins( const std::map &vitamins ) +void stomach_contents::empty() { - bool absorbed = false; - for( const std::pair vit : vitamins ) { - if( absorb_vitamin( vit ) ) { - absorbed = true; - } - } - return absorbed; + calories = 0; + water = 0_ml; + contents = 0_ml; + vitamins.clear(); } -stomach_pass_rates stomach_contents::get_pass_rates( bool stomach ) +stomach_digest_rates stomach_contents::get_digest_rates( const needs_rates &metabolic_rates, + const Character &owner ) { - stomach_pass_rates rates; - // a human will digest food in about 53 hours - // most of the excrement is completely indigestible - // ie almost all of the calories ingested are absorbed. - // 3 hours will be accounted here as stomach - // the rest will be guts + stomach_digest_rates rates; if( stomach ) { - rates.min_vol = capacity() / 6; + // The stomach is focused on passing material on to the guts. // 3 hours to empty in 30 minute increments - rates.percent_vol = 1.0f / 6.0f; - rates.min_vit = 1; - rates.percent_vit = 1.0f / 6.0f; + rates.solids = capacity( owner ) / 6; + rates.water = 250_ml; // Water is special, passes very quickly, in 5 minute intervals + rates.min_vitamin = 1; + rates.percent_vitamin = 1.0f / 6.0f; rates.min_kcal = 5; rates.percent_kcal = 1.0f / 6.0f; } else { - rates.min_vol = std::max( capacity() / 100, 1_ml ); - // 50 hours to empty in 30 minute increments - rates.percent_vol = 0.01f; - rates.min_vit = 1; - rates.percent_vit = 0.01f; - rates.min_kcal = 5; - rates.percent_kcal = 0.01f; - } - return rates; -} - -stomach_absorb_rates stomach_contents::get_absorb_rates( bool stomach, - const needs_rates &metabolic_rates ) -{ - stomach_absorb_rates rates; - if( !stomach ) { + // The guts are focused on absorption into the body, we don't care about passing rates. + // Solids rate doesn't do anything impactful here so just make it big enough to avoid overflow. + rates.solids = 250_ml; + rates.water = 250_ml; rates.min_kcal = roll_remainder( metabolic_rates.kcal / 24.0 * metabolic_rates.hunger ); rates.percent_kcal = 0.05f * metabolic_rates.hunger; - rates.min_vitamin_default = round( 100.0 / 24.0 * metabolic_rates.hunger ); - rates.percent_vitamin_default = 0.05f * metabolic_rates.hunger; - } else { - rates.min_kcal = 0; - rates.percent_kcal = 0.0f; - rates.min_vitamin_default = 0; - rates.percent_vitamin_default = 0.0f; + rates.min_vitamin = round( 100.0 / 24.0 * metabolic_rates.hunger ); + rates.percent_vitamin = 0.05f * metabolic_rates.hunger; } return rates; } -void stomach_contents::calculate_absorbed( stomach_absorb_rates rates ) -{ - for( const auto vit : vitamins ) { - int min_v; - float percent_v; - if( rates.min_vitamin.find( vit.first ) != rates.min_vitamin.end() ) { - min_v = rates.min_vitamin[vit.first]; - } else { - min_v = rates.min_vitamin_default; - } - if( rates.percent_vitamin.find( vit.first ) != rates.percent_vitamin.end() ) { - percent_v = rates.percent_vitamin[vit.first]; - } else { - percent_v = rates.percent_vitamin_default; - } - int vit_absorbed = std::max( min_v, static_cast( percent_v * vit.second ) ); - // make sure the vitamins don't overflow - vit_absorbed = std::min( vit_absorbed, vit.second ); - vitamins_absorbed[vit.first] += vit_absorbed; - vitamins[vit.first] -= vit_absorbed; - } - int cal = clamp( static_cast( round( calories * rates.percent_kcal ) ), - std::min( rates.min_kcal, calories ), calories ); - calories_absorbed += cal; - calories -= cal; -} - void stomach_contents::mod_calories( int cal ) { if( -cal >= calories ) { @@ -377,11 +177,6 @@ void stomach_contents::mod_calories( int cal ) calories += cal; } -void stomach_contents::set_calories( int cal ) -{ - calories = cal; -} - void stomach_contents::mod_nutr( int nutr ) { // nutr is legacy type code, this function simply converts old nutrition to new kcal @@ -414,16 +209,6 @@ int stomach_contents::get_calories() const return calories; } -int stomach_contents::get_calories_absorbed() const -{ - return calories_absorbed; -} - -void stomach_contents::set_calories_absorbed( int cal ) -{ - calories_absorbed = cal; -} - units::volume stomach_contents::get_water() const { return water; @@ -442,9 +227,9 @@ time_duration stomach_contents::time_since_ate() const // sets default stomach contents when starting the game void Character::initialize_stomach_contents() { - stomach = stomach_contents( 2500_ml ); - guts = stomach_contents( 24000_ml ); - guts.set_calories( 300 ); - stomach.set_calories( 800 ); + stomach = stomach_contents( 2500_ml, true ); + guts = stomach_contents( 24_liter, false ); + guts.mod_calories( 300 ); + stomach.mod_calories( 800 ); stomach.mod_contents( 475_ml ); } diff --git a/src/stomach.h b/src/stomach.h index 28f975400f217..21a27ecddc26d 100644 --- a/src/stomach.h +++ b/src/stomach.h @@ -1,38 +1,31 @@ #pragma once #include -#include #include "units.h" -#include "calendar.h" -#include "type_id.h" struct needs_rates; -class player; class JsonIn; class JsonOut; class item; -// how much the stomach_contents passes -// based on 30 minute increments -struct stomach_pass_rates { - units::volume min_vol; - float percent_vol; - int min_kcal; - float percent_kcal; - int min_vit; - float percent_vit; +// Contains all information that can pass out of (or into) a stomach +struct nutrients { + units::volume water; + units::volume solids; + int kcal; + std::map vitamins; }; -// how much a stomach_contents can absorb +// how much a stomach_contents can digest // based on 30 minute increments -struct stomach_absorb_rates { +struct stomach_digest_rates { + units::volume solids; + units::volume water; float percent_kcal; int min_kcal; - std::map percent_vitamin; - std::map min_vitamin; - float percent_vitamin_default; - int min_vitamin_default; + float percent_vitamin; + int min_vitamin; }; // an abstract of food that has been eaten. @@ -40,46 +33,60 @@ class stomach_contents { public: stomach_contents(); - stomach_contents( units::volume max_volume ); - - // empties the stomach_contents of all of its contents - void bowel_movement(); - // empties contents equal to amount as ratio - // amount ranges from 0 to 1 - void bowel_movement( const stomach_pass_rates &rates ); - // moves @rates contents to other stomach_contents - // amount ranges from 0 to 1 - void bowel_movement( const stomach_pass_rates &rates, stomach_contents &move_to ); - - // turns an item into stomach contents - // will still add contents if past maximum volume. - void ingest( player &p, item &food, int charges ); - - // calculates max volume for a stomach_contents - units::volume capacity() const; + /** + * @brief Construct a new stomach contents object + * Stomachs always process their food in a few hours. Guts take significantly longer, + * and their rate is dependent on the metabolic rate of their owner. + * @param max_volume Base capacity, subject to modification, i.e. by traits + * @param is_stomach If true, treated as stomach, if false, treated as guts + */ + stomach_contents( units::volume max_volume, bool is_stomach ); + + /** + * @brief Directly adds nutrients to stomach contents. + * Will still add contents if past maximum volume. Also updates last_ate to current turn. + * @param ingested The nutrients to be ingested + */ + void ingest( const nutrients &ingested ); + + /** + * @brief Processes food and outputs nutrients that are finished processing + * Metabolic rates are required because they determine the rate of absorption of + * nutrients into the body. + * All returned values are >= 0, with the exception of water, which + * can be negative in some circumstances (i.e. after eating dry/salty food). + * TODO: Update stomach capacity upon mutation changes, instead of calculating every time we + * need it, so we can get rid of 'owner' parameter here. + * @param owner The owner of this stomach + * @param metabolic_rates The metabolic rates of the owner of this stomach + * @param five_mins Five-minute intervals passed since this method was last called + * @param half_hours Half-hour intervals passed since this method was last called + * @return nutrients that are done processing in this stomach + */ + nutrients digest( const Character &owner, const needs_rates &metabolic_rates, + int five_mins, int half_hours ); + + // Empties the stomach of all contents. + void empty(); + + /** + * @brief Calculates the capacity of this stomach. + * This function needs a ref to the stomach's owner so it can account for relevant mutations. + * TODO: JSONize stomach capacity multipliers. + * @param owner This stomach's owner + * @return This stomach's capacity, in units::volume + */ + units::volume capacity( const Character &owner ) const; // how much stomach capacity you have left before you puke from stuffing your gob - units::volume stomach_remaining() const; + units::volume stomach_remaining( const Character &owner ) const; // how much volume is in the stomach_contents units::volume contains() const; - // calculates and sets absorbed kcal and vitamins - void calculate_absorbed( stomach_absorb_rates rates ); - - // gets the rates of passing contents out of stomach_contents if true and guts if false - stomach_pass_rates get_pass_rates( bool stomach ); - // gets the absorption rates for kcal and vitamins - // stomach == true, guts == false - stomach_absorb_rates get_absorb_rates( bool stomach, const needs_rates &metabolic_rates ); - int get_calories() const; - int get_calories_absorbed() const; - void set_calories_absorbed( int cal ); units::volume get_water() const; // changes calorie amount void mod_calories( int calories ); - // sets calories amount - void set_calories( int cal ); // changes calorie amount based on old nutr value void mod_nutr( int nutr ); @@ -92,13 +99,6 @@ class stomach_contents // adds volume to your stomach void mod_contents( units::volume vol ); - void absorb_water( player &p, units::volume amount ); - - // moves absorbed nutrients to the player for use - // returns true if any calories are absorbed - // does not empty absorbed calories - bool store_absorbed( player &p ); - // how long has it been since i ate? // only really relevant for player::stomach time_duration time_since_ate() const; @@ -110,14 +110,13 @@ class stomach_contents private: + // If true, this object represents a stomach; if false, this object represents guts. + bool stomach; + // vitamins in stomach_contents std::map vitamins; - // vitamins to be absorbed in stomach_contents - std::map vitamins_absorbed; // number of calories in stomach_contents int calories = 0; - // number of calories to be absorbed in stomach_contents - int calories_absorbed = 0; // volume of water in stomach_contents units::volume water; /** @@ -131,21 +130,8 @@ class stomach_contents // when did this stomach_contents call stomach_contents::ingest() time_point last_ate; - // turns calories into absorbed calories. - // they are not added to your fat stores just yet - // only does anything if the input is a positive number - void absorb_kcal( int amount ); - // absorbs a single vitamin. - // does not add it to player vitamins yet - // returns true if vitamins are absorbed - bool absorb_vitamin( const vitamin_id &vit, int amount ); - // absorbs a single vitamin - // does not add it to player vitamins yet - // returns true if vitamins are absorbed - bool absorb_vitamin( const std::pair &vit ); - // absorbs multiple vitamins - // does not add it to player vitamins yet - // returns true if any vitamins are absorbed - bool absorb_vitamins( const std::map &vitamins ); + // Gets the rates at which this stomach will digest things. + stomach_digest_rates get_digest_rates( const needs_rates &metabolic_rates, + const Character &owner ); }; diff --git a/src/string_input_popup.cpp b/src/string_input_popup.cpp index 1f9c381f10fa3..21e7109f85bbf 100644 --- a/src/string_input_popup.cpp +++ b/src/string_input_popup.cpp @@ -53,7 +53,7 @@ void string_input_popup::create_window() for( int wraplen = w_width - 2; wraplen >= titlesize; wraplen-- ) { title_split = foldstring( _title, wraplen ); - if( static_cast( title_split.back().size() ) <= titlesize ) { + if( utf8_width( title_split.back() ) <= titlesize ) { break; } } @@ -181,32 +181,22 @@ void string_input_popup::update_input_history( utf8_wrapper &ret, bool up ) if( up ) { if( _hist_str_ind >= static_cast( hist.size() ) ) { return; - } else { - if( _hist_str_ind == 0 ) { - if( ret.empty() ) { - _session_str_entered.erase( 0 ); - } else { - _session_str_entered = ret.str(); - } + } else if( _hist_str_ind == 0 ) { + _session_str_entered = ret.str(); - //avoid showing the same result twice (after reopen filter window without reset) - if( hist.size() > 1 && ret.str() == hist[hist.size() - 1] ) { - _hist_str_ind += 1; - } + //avoid showing the same result twice (after reopen filter window without reset) + if( hist.size() > 1 && _session_str_entered == hist.back() ) { + _hist_str_ind += 1; } } } else { if( _hist_str_ind == 1 ) { - if( _session_str_entered.empty() ) { - ret.erase( 0 ); - } else { - ret = _session_str_entered; - _position = _session_str_entered.length(); - } + ret = _session_str_entered; + _position = ret.length(); //show initial string entered and 'return' _hist_str_ind = 0; - } - if( _hist_str_ind == 0 ) { + return; + } else if( _hist_str_ind == 0 ) { return; } } @@ -214,7 +204,6 @@ void string_input_popup::update_input_history( utf8_wrapper &ret, bool up ) _hist_str_ind += up ? 1 : -1; ret = hist[hist.size() - _hist_str_ind]; _position = ret.length(); - } void string_input_popup::draw( const utf8_wrapper &ret, const utf8_wrapper &edit, diff --git a/src/submap.h b/src/submap.h index cd5691ad86404..a9d126d875c9b 100644 --- a/src/submap.h +++ b/src/submap.h @@ -201,7 +201,7 @@ class submap : public maptile_soa // TODO: Use private inheritanc */ std::vector> vehicles; std::map partial_constructions; - basecamp camp; // only allowing one basecamp per submap + std::unique_ptr camp; // only allowing one basecamp per submap private: std::map computers; diff --git a/src/suffer.cpp b/src/suffer.cpp new file mode 100644 index 0000000000000..4515032f678e1 --- /dev/null +++ b/src/suffer.cpp @@ -0,0 +1,1965 @@ +#include "character.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "activity_handlers.h" +#include "addiction.h" +#include "avatar.h" +#include "bionics.h" +#include "cata_utility.h" +#include "catacharset.h" +#include "effect.h" +#include "enums.h" +#include "field.h" +#include "int_id.h" +#include "game.h" +#include "inventory.h" +#include "item.h" +#include "item_location.h" +#include "itype.h" +#include "iuse_actor.h" +#include "magic.h" +#include "map.h" +#include "material.h" +#include "math_defines.h" +#include "messages.h" +#include "morale.h" +#include "morale_types.h" +#include "mutation.h" +#include "name.h" +#include "npc.h" +#include "options.h" +#include "output.h" +#include "recipe.h" +#include "rng.h" +#include "skill.h" +#include "sounds.h" +#include "stomach.h" +#include "string_formatter.h" +#include "string_id.h" +#include "teleport.h" +#include "text_snippets.h" +#include "translations.h" +#include "units.h" +#include "veh_type.h" +#include "vehicle.h" +#include "visitable.h" +#include "vitamin.h" +#include "vpart_position.h" +#include "vpart_range.h" +#include "weather.h" +#include "weather_gen.h" + +const efftype_id effect_adrenaline( "adrenaline" ); +const efftype_id effect_asthma( "asthma" ); +const efftype_id effect_attention( "attention" ); +const efftype_id effect_bandaged( "bandaged" ); +const efftype_id effect_bite( "bite" ); +const efftype_id effect_blind( "blind" ); +const efftype_id effect_bloodworms( "bloodworms" ); +const efftype_id effect_boomered( "boomered" ); +const efftype_id effect_brainworms( "brainworms" ); +const efftype_id effect_cig( "cig" ); +const efftype_id effect_common_cold( "common_cold" ); +const efftype_id effect_contacts( "contacts" ); +const efftype_id effect_corroding( "corroding" ); +const efftype_id effect_cough_suppress( "cough_suppress" ); +const efftype_id effect_darkness( "darkness" ); +const efftype_id effect_datura( "datura" ); +const efftype_id effect_deaf( "deaf" ); +const efftype_id effect_depressants( "depressants" ); +const efftype_id effect_dermatik( "dermatik" ); +const efftype_id effect_disabled( "disabled" ); +const efftype_id effect_disinfected( "disinfected" ); +const efftype_id effect_downed( "downed" ); +const efftype_id effect_drunk( "drunk" ); +const efftype_id effect_earphones( "earphones" ); +const efftype_id effect_evil( "evil" ); +const efftype_id effect_flu( "flu" ); +const efftype_id effect_foodpoison( "foodpoison" ); +const efftype_id effect_formication( "formication" ); +const efftype_id effect_fungus( "fungus" ); +const efftype_id effect_glowing( "glowing" ); +const efftype_id effect_glowy_led( "glowy_led" ); +const efftype_id effect_hallu( "hallu" ); +const efftype_id effect_happy( "happy" ); +const efftype_id effect_infected( "infected" ); +const efftype_id effect_iodine( "iodine" ); +const efftype_id effect_irradiated( "irradiated" ); +const efftype_id effect_jetinjector( "jetinjector" ); +const efftype_id effect_lack_sleep( "lack_sleep" ); +const efftype_id effect_sleep_deprived( "sleep_deprived" ); +const efftype_id effect_lying_down( "lying_down" ); +const efftype_id effect_mending( "mending" ); +const efftype_id effect_meth( "meth" ); +const efftype_id effect_narcosis( "narcosis" ); +const efftype_id effect_nausea( "nausea" ); +const efftype_id effect_no_sight( "no_sight" ); +const efftype_id effect_onfire( "onfire" ); +const efftype_id effect_paincysts( "paincysts" ); +const efftype_id effect_pkill( "pkill" ); +const efftype_id effect_pkill1( "pkill1" ); +const efftype_id effect_pkill2( "pkill2" ); +const efftype_id effect_pkill3( "pkill3" ); +const efftype_id effect_sad( "sad" ); +const efftype_id effect_shakes( "shakes" ); +const efftype_id effect_sleep( "sleep" ); +const efftype_id effect_slept_through_alarm( "slept_through_alarm" ); +const efftype_id effect_spores( "spores" ); +const efftype_id effect_stim( "stim" ); +const efftype_id effect_stim_overdose( "stim_overdose" ); +const efftype_id effect_stunned( "stunned" ); +const efftype_id effect_tapeworm( "tapeworm" ); +const efftype_id effect_took_thorazine( "took_thorazine" ); +const efftype_id effect_valium( "valium" ); +const efftype_id effect_visuals( "visuals" ); +const efftype_id effect_weed_high( "weed_high" ); +const efftype_id effect_winded( "winded" ); +const efftype_id effect_bleed( "bleed" ); +const efftype_id effect_magnesium_supplements( "magnesium" ); +const efftype_id effect_pet( "pet" ); + +static const bionic_id bio_advreactor( "bio_advreactor" ); +static const bionic_id bio_dis_acid( "bio_dis_acid" ); +static const bionic_id bio_dis_shock( "bio_dis_shock" ); +static const bionic_id bio_drain( "bio_drain" ); +static const bionic_id bio_faraday( "bio_faraday" ); +static const bionic_id bio_glowy( "bio_glowy" ); +static const bionic_id bio_geiger( "bio_geiger" ); +static const bionic_id bio_gills( "bio_gills" ); +static const bionic_id bio_itchy( "bio_itchy" ); +static const bionic_id bio_jointservo( "bio_jointservo" ); +static const bionic_id bio_leaky( "bio_leaky" ); +static const bionic_id bio_noise( "bio_noise" ); +static const bionic_id bio_plut_filter( "bio_plut_filter" ); +static const bionic_id bio_power_weakness( "bio_power_weakness" ); +static const bionic_id bio_reactor( "bio_reactor" ); +static const bionic_id bio_shakes( "bio_shakes" ); +static const bionic_id bio_sleepy( "bio_sleepy" ); +static const bionic_id bio_soporific( "bio_soporific" ); +static const bionic_id bio_spasm( "bio_spasm" ); +static const bionic_id bio_trip( "bio_trip" ); + +static const trait_id trait_ADDICTIVE( "ADDICTIVE" ); +static const trait_id trait_ALBINO( "ALBINO" ); +static const trait_id trait_ASTHMA( "ASTHMA" ); +static const trait_id trait_CHAOTIC( "CHAOTIC" ); +static const trait_id trait_CHAOTIC_BAD( "CHAOTIC_BAD" ); +static const trait_id trait_CHEMIMBALANCE( "CHEMIMBALANCE" ); +static const trait_id trait_DEBUG_NOTEMP( "DEBUG_NOTEMP" ); +static const trait_id trait_FASTHEALER( "FASTHEALER" ); +static const trait_id trait_FASTHEALER2( "FASTHEALER2" ); +static const trait_id trait_FRESHWATEROSMOSIS( "FRESHWATEROSMOSIS" ); +static const trait_id trait_GILLS( "GILLS" ); +static const trait_id trait_GILLS_CEPH( "GILLS_CEPH" ); +static const trait_id trait_JITTERY( "JITTERY" ); +static const trait_id trait_KILLER( "KILLER" ); +static const trait_id trait_LEAVES( "LEAVES" ); +static const trait_id trait_LEAVES2( "LEAVES2" ); +static const trait_id trait_LEAVES3( "LEAVES3" ); +static const trait_id trait_MOODSWINGS( "MOODSWINGS" ); +static const trait_id trait_M_BLOSSOMS( "M_BLOSSOMS" ); +static const trait_id trait_M_SKIN3( "M_SKIN3" ); +static const trait_id trait_M_SPORES( "M_SPORES" ); +static const trait_id trait_NARCOLEPTIC( "NARCOLEPTIC" ); +static const trait_id trait_NONADDICTIVE( "NONADDICTIVE" ); +static const trait_id trait_NOPAIN( "NOPAIN" ); +static const trait_id trait_PAINREC1( "PAINREC1" ); +static const trait_id trait_PAINREC2( "PAINREC2" ); +static const trait_id trait_PAINREC3( "PAINREC3" ); +static const trait_id trait_PER_SLIME( "PER_SLIME" ); +static const trait_id trait_PYROMANIA( "PYROMANIA" ); +static const trait_id trait_RADIOACTIVE1( "RADIOACTIVE1" ); +static const trait_id trait_RADIOACTIVE2( "RADIOACTIVE2" ); +static const trait_id trait_RADIOACTIVE3( "RADIOACTIVE3" ); +static const trait_id trait_RADIOGENIC( "RADIOGENIC" ); +static const trait_id trait_REGEN( "REGEN" ); +static const trait_id trait_REGEN_LIZ( "REGEN_LIZ" ); +static const trait_id trait_ROOTS2( "ROOTS2" ); +static const trait_id trait_ROOTS3( "ROOTS3" ); +static const trait_id trait_SCHIZOPHRENIC( "SCHIZOPHRENIC" ); +static const trait_id trait_SHARKTEETH( "SHARKTEETH" ); +static const trait_id trait_SHOUT1( "SHOUT1" ); +static const trait_id trait_SHOUT2( "SHOUT2" ); +static const trait_id trait_SHOUT3( "SHOUT3" ); +static const trait_id trait_SLOWHEALER( "SLOWHEALER" ); +static const trait_id trait_SORES( "SORES" ); +static const trait_id trait_SUNBURN( "SUNBURN" ); +static const trait_id trait_TROGLO( "TROGLO" ); +static const trait_id trait_TROGLO2( "TROGLO2" ); +static const trait_id trait_TROGLO3( "TROGLO3" ); +static const trait_id trait_UNSTABLE( "UNSTABLE" ); +static const trait_id trait_VOMITOUS( "VOMITOUS" ); +static const trait_id trait_WEB_SPINNER( "WEB_SPINNER" ); +static const trait_id trait_WEB_WEAVER( "WEB_WEAVER" ); + +static float addiction_scaling( float at_min, float at_max, float add_lvl ) +{ + // Not addicted + if( add_lvl < MIN_ADDICTION_LEVEL ) { + return 1.0f; + } + + return lerp( at_min, at_max, ( add_lvl - MIN_ADDICTION_LEVEL ) / MAX_ADDICTION_LEVEL ); +} + +void Character::suffer_water_damage( const mutation_branch &mdata ) +{ + for( const body_part bp : all_body_parts ) { + const float wetness_percentage = static_cast( body_wetness[bp] ) / + drench_capacity[bp]; + const int dmg = mdata.weakness_to_water * wetness_percentage; + if( dmg > 0 ) { + apply_damage( nullptr, bp, dmg ); + add_msg_player_or_npc( m_bad, _( "Your %s is damaged by the water." ), + _( "'s %s is damaged by the water." ), + body_part_name( bp ) ); + } else if( dmg < 0 && hp_cur[bp_to_hp( bp )] != hp_max[bp_to_hp( bp )] ) { + heal( bp, abs( dmg ) ); + add_msg_player_or_npc( m_good, _( "Your %s is healed by the water." ), + _( "'s %s is healed by the water." ), + body_part_name( bp ) ); + } + } +} + +void Character::suffer_mutation_power( const mutation_branch &mdata, + Character::trait_data &tdata ) +{ + if( tdata.powered && tdata.charge > 0 ) { + // Already-on units just lose a bit of charge + tdata.charge--; + } else { + // Not-on units, or those with zero charge, have to pay the power cost + if( mdata.cooldown > 0 ) { + tdata.powered = true; + tdata.charge = mdata.cooldown - 1; + } + if( mdata.hunger ) { + // does not directly modify hunger, but burns kcal + mod_stored_nutr( mdata.cost ); + if( get_bmi() < character_weight_category::underweight ) { + add_msg_if_player( m_warning, + _( "You're too malnourished to keep your %s going." ), + mdata.name() ); + tdata.powered = false; + } + } + if( mdata.thirst ) { + mod_thirst( mdata.cost ); + if( get_thirst() >= 260 ) { // Well into Dehydrated + add_msg_if_player( m_warning, + _( "You're too dehydrated to keep your %s going." ), + mdata.name() ); + tdata.powered = false; + } + } + if( mdata.fatigue ) { + mod_fatigue( mdata.cost ); + if( get_fatigue() >= EXHAUSTED ) { // Exhausted + add_msg_if_player( m_warning, + _( "You're too exhausted to keep your %s going." ), + mdata.name() ); + tdata.powered = false; + } + } + if( !tdata.powered ) { + apply_mods( mdata.id, false ); + } + } +} + +void Character::suffer_while_underwater() +{ + if( !has_trait( trait_GILLS ) && !has_trait( trait_GILLS_CEPH ) ) { + oxygen--; + } + if( oxygen < 12 && worn_with_flag( "REBREATHER" ) ) { + oxygen += 12; + } + if( oxygen <= 5 ) { + if( has_bionic( bio_gills ) && get_power_level() >= 25_kJ ) { + oxygen += 5; + mod_power_level( -25_kJ ); + } else { + add_msg_if_player( m_bad, _( "You're drowning!" ) ); + apply_damage( nullptr, bp_torso, rng( 1, 4 ) ); + } + } + if( has_trait( trait_FRESHWATEROSMOSIS ) && !g->m.has_flag_ter( "SALT_WATER", pos() ) && + get_thirst() > -60 ) { + mod_thirst( -1 ); + } +} + +void Character::suffer_from_addictions() +{ + time_duration timer = -6_hours; + if( has_trait( trait_ADDICTIVE ) ) { + timer = -10_hours; + } else if( has_trait( trait_NONADDICTIVE ) ) { + timer = -3_hours; + } + for( addiction &cur_addiction : addictions ) { + if( cur_addiction.sated <= 0_turns && + cur_addiction.intensity >= MIN_ADDICTION_LEVEL ) { + addict_effect( *this, cur_addiction ); + } + cur_addiction.sated -= 1_turns; + // Higher intensity addictions heal faster + if( cur_addiction.sated - 10_minutes * cur_addiction.intensity < timer ) { + if( cur_addiction.intensity <= 2 ) { + rem_addiction( cur_addiction.type ); + break; + } else { + cur_addiction.intensity--; + cur_addiction.sated = 0_turns; + } + } + } +} + +void Character::suffer_while_awake( const int current_stim ) +{ + if( !has_trait( trait_id( "DEBUG_STORAGE" ) ) && + ( weight_carried() > 4 * weight_capacity() ) ) { + if( has_effect( effect_downed ) ) { + add_effect( effect_downed, 1_turns, num_bp, false, 0, true ); + } else { + add_effect( effect_downed, 2_turns, num_bp, false, 0, true ); + } + } + if( has_trait( trait_CHEMIMBALANCE ) ) { + suffer_from_chemimbalance(); + } + if( ( has_trait( trait_SCHIZOPHRENIC ) || has_artifact_with( AEP_SCHIZO ) ) && + !has_effect( effect_took_thorazine ) ) { + suffer_from_schizophrenia(); + } + + if( ( has_trait( trait_NARCOLEPTIC ) || has_artifact_with( AEP_SCHIZO ) ) ) { + if( one_turn_in( 8_hours ) ) { + add_msg( m_bad, + _( "You're suddenly overcome with the urge to sleep and you pass out." ) ); + add_effect( effect_lying_down, 20_minutes ); + } + } + + if( has_trait( trait_JITTERY ) && !has_effect( effect_shakes ) ) { + if( current_stim > 50 && one_in( to_turns( 30_minutes ) - ( current_stim * 6 ) ) ) { + add_effect( effect_shakes, 30_minutes + 1_turns * current_stim ); + } else if( ( get_hunger() > 80 || get_kcal_percent() < 1.0f ) && get_hunger() > 0 && + one_in( to_turns( 50_minutes ) - ( get_hunger() * 6 ) ) ) { + add_effect( effect_shakes, 40_minutes ); + } + } + + if( has_trait( trait_MOODSWINGS ) && one_turn_in( 6_hours ) ) { + if( rng( 1, 20 ) > 9 ) { // 55% chance + add_morale( MORALE_MOODSWING, -100, -500 ); + } else { // 45% chance + add_morale( MORALE_MOODSWING, 100, 500 ); + } + } + + if( has_trait( trait_VOMITOUS ) && one_turn_in( 7_hours ) ) { + vomit(); + } + + if( has_trait( trait_SHOUT1 ) && one_turn_in( 6_hours ) ) { + shout(); + } + if( has_trait( trait_SHOUT2 ) && one_turn_in( 4_hours ) ) { + shout(); + } + if( has_trait( trait_SHOUT3 ) && one_turn_in( 3_hours ) ) { + shout(); + } + if( has_trait( trait_M_SPORES ) && one_turn_in( 4_hours ) ) { + spores(); + } + if( has_trait( trait_M_BLOSSOMS ) && one_turn_in( 3_hours ) ) { + blossoms(); + } +} + +void Character::suffer_from_chemimbalance() +{ + if( one_turn_in( 6_hours ) && !has_trait( trait_NOPAIN ) ) { + add_msg_if_player( m_bad, _( "You suddenly feel sharp pain for no reason." ) ); + mod_pain( 3 * rng( 1, 3 ) ); + } + if( one_turn_in( 6_hours ) ) { + int pkilladd = 5 * rng( -1, 2 ); + if( pkilladd > 0 ) { + add_msg_if_player( m_bad, _( "You suddenly feel numb." ) ); + } else if( ( pkilladd < 0 ) && ( !( has_trait( trait_NOPAIN ) ) ) ) { + add_msg_if_player( m_bad, _( "You suddenly ache." ) ); + } + mod_painkiller( pkilladd ); + } + if( one_turn_in( 6_hours ) && !has_effect( effect_sleep ) ) { + add_msg_if_player( m_bad, _( "You feel dizzy for a moment." ) ); + moves -= rng( 10, 30 ); + } + if( one_turn_in( 6_hours ) ) { + int hungadd = 5 * rng( -1, 3 ); + if( hungadd > 0 ) { + add_msg_if_player( m_bad, _( "You suddenly feel hungry." ) ); + } else { + add_msg_if_player( m_good, _( "You suddenly feel a little full." ) ); + } + mod_hunger( hungadd ); + } + if( one_turn_in( 6_hours ) ) { + add_msg_if_player( m_bad, _( "You suddenly feel thirsty." ) ); + mod_thirst( 5 * rng( 1, 3 ) ); + } + if( one_turn_in( 6_hours ) ) { + add_msg_if_player( m_good, _( "You feel fatigued all of a sudden." ) ); + mod_fatigue( 10 * rng( 2, 4 ) ); + } + if( one_turn_in( 8_hours ) ) { + if( one_in( 3 ) ) { + add_morale( MORALE_FEELING_GOOD, 20, 100 ); + } else { + add_morale( MORALE_FEELING_BAD, -20, -100 ); + } + } + if( one_turn_in( 6_hours ) ) { + if( one_in( 3 ) ) { + add_msg_if_player( m_bad, _( "You suddenly feel very cold." ) ); + temp_cur.fill( BODYTEMP_VERY_COLD ); + } else { + add_msg_if_player( m_bad, _( "You suddenly feel cold." ) ); + temp_cur.fill( BODYTEMP_COLD ); + } + } + if( one_turn_in( 6_hours ) ) { + if( one_in( 3 ) ) { + add_msg_if_player( m_bad, _( "You suddenly feel very hot." ) ); + temp_cur.fill( BODYTEMP_VERY_HOT ); + } else { + add_msg_if_player( m_bad, _( "You suddenly feel hot." ) ); + temp_cur.fill( BODYTEMP_HOT ); + } + } +} + +void Character::suffer_from_schizophrenia() +{ + std::string i_name_w; + if( !weapon.is_null() ) { + std::string i_name_w = weapon.has_var( "item_label" ) ? weapon.get_var( "item_label" ) : + //~ %1$s: weapon name + string_format( _( "your %1$s" ), weapon.type_name() ); + } + // Start with the effects that both NPCs and avatars can suffer from + // Delusions + if( one_turn_in( 8_hours ) ) { + if( rng( 1, 20 ) > 5 ) { // 75% chance + const translation snip = SNIPPET.random_from_category( "schizo_delusion_paranoid" ).value_or( + translation() ); + add_msg_if_player( m_warning, "%s", snip ); + add_morale( MORALE_FEELING_BAD, -20, -100 ); + } else { // 25% chance + const translation snip = SNIPPET.random_from_category( "schizo_delusion_grandiose" ).value_or( + translation() ); + add_msg_if_player( m_good, "%s", snip ); + add_morale( MORALE_FEELING_GOOD, 20, 100 ); + } + return; + } + // Formication + if( one_turn_in( 6_hours ) ) { + const translation snip = SNIPPET.random_from_category( "schizo_formication" ).value_or( + translation() ); + body_part bp = random_body_part( true ); + add_effect( effect_formication, 45_minutes, bp ); + add_msg_if_player( m_bad, "%s", snip ); + return; + } + // Numbness + if( one_turn_in( 4_hours ) ) { + add_msg_if_player( m_bad, _( "You suddenly feel so numb…" ) ); + mod_painkiller( 25 ); + return; + } + // Hallucination + if( one_turn_in( 6_hours ) ) { + add_effect( effect_hallu, 6_hours ); + return; + } + // Visuals + if( one_turn_in( 2_hours ) ) { + add_effect( effect_visuals, rng( 15_turns, 60_turns ) ); + return; + } + // Shaking + if( !has_effect( effect_valium ) && one_turn_in( 4_hours ) ) { + add_msg_player_or_npc( m_bad, _( "You start to shake uncontrollably." ), + _( " starts to shake uncontrollably." ) ); + add_effect( effect_shakes, rng( 2_minutes, 5_minutes ) ); + return; + } + // Shout + if( one_turn_in( 4_hours ) ) { + shout( SNIPPET.random_from_category( "schizo_self_shout" ).value_or( translation() ).translated() ); + return; + } + // Drop weapon + if( one_turn_in( 2_days ) && !weapon.is_null() ) { + const translation snip = SNIPPET.random_from_category( "schizo_weapon_drop" ).value_or( + translation() ); + std::string str = string_format( snip, i_name_w ); + str[0] = toupper( str[0] ); + + add_msg_if_player( m_bad, "%s", str ); + drop( get_item_position( &weapon ), pos() ); + // NOLINTNEXTLINE(clang-analyzer-deadcode.DeadStores) + return; + } + // Talk to self + if( one_turn_in( 4_hours ) ) { + const translation snip = SNIPPET.random_from_category( "schizo_self_talk" ).value_or( + translation() ); + add_msg( _( "%1$s says: \"%2$s\"" ), name, snip ); + return; + } + + // effects of this point are entirely internal, so NPCs can't suffer from them + if( is_npc() ) { + return; + } + // Sound + if( one_turn_in( 4_hours ) ) { + sound_hallu(); + } + // Follower turns hostile + if( one_turn_in( 4_hours ) ) { + std::vector> followers = overmap_buffer.get_npcs_near_player( 12 ); + + std::string who_gets_angry = name; + if( !followers.empty() ) { + who_gets_angry = random_entry_ref( followers )->name; + } + add_msg( m_bad, _( "%1$s gets angry!" ), who_gets_angry ); + return; + } + + // Monster dies + if( one_turn_in( 6_hours ) ) { + // TODO: move to monster group json + static const mtype_id mon_zombie( "mon_zombie" ); + static const mtype_id mon_zombie_fat( "mon_zombie_fat" ); + static const mtype_id mon_zombie_fireman( "mon_zombie_fireman" ); + static const mtype_id mon_zombie_cop( "mon_zombie_cop" ); + static const mtype_id mon_zombie_soldier( "mon_zombie_soldier" ); + static const std::array monsters = { { + mon_zombie, mon_zombie_fat, mon_zombie_fireman, mon_zombie_cop, mon_zombie_soldier + } + }; + add_msg( _( "%s dies!" ), random_entry_ref( monsters )->nname() ); + return; + } + + // Limb Breaks + if( one_turn_in( 4_hours ) ) { + const translation snip = SNIPPET.random_from_category( "broken_limb" ).value_or( translation() ); + add_msg( m_bad, "%s", snip ); + return; + } + + // NPC chat + if( one_turn_in( 4_hours ) ) { + std::string i_name = Name::generate( one_in( 2 ) ); + + std::string i_talk = SNIPPET.expand( SNIPPET.random_from_category( "" ).value_or( + translation() ).translated() ); + parse_tags( i_talk, *this, *this ); + + add_msg( _( "%1$s says: \"%2$s\"" ), i_name, i_talk ); + return; + } + + // Skill raise + if( one_turn_in( 12_hours ) ) { + skill_id raised_skill = Skill::random_skill(); + add_msg( m_good, _( "You increase %1$s to level %2$d." ), raised_skill.obj().name(), + get_skill_level( raised_skill ) + 1 ); + return; + } + + // Talking weapon + if( !weapon.is_null() ) { + // If player has a weapon, picks a message from said weapon + // Weapon tells player to kill a monster if any are nearby + // Weapon is concerned for player if bleeding + // Weapon is concerned for itself if damaged + // Otherwise random chit-chat + std::vector> mons = g->all_monsters().items; + + std::string i_talk_w; + bool does_talk = false; + if( !mons.empty() && one_turn_in( 12_minutes ) ) { + std::vector seen_mons; + for( std::weak_ptr &n : mons ) { + if( sees( *n.lock() ) ) { + seen_mons.emplace_back( n.lock()->get_name() ); + } + } + if( !seen_mons.empty() ) { + const translation talk_w = SNIPPET.random_from_category( "schizo_weapon_talk_monster" ).value_or( + translation() ); + i_talk_w = string_format( talk_w, random_entry_ref( seen_mons ) ); + does_talk = true; + } + } + if( !does_talk && has_effect( effect_bleed ) && one_turn_in( 5_minutes ) ) { + i_talk_w = SNIPPET.random_from_category( "schizo_weapon_talk_bleeding" ).value_or( + translation() ).translated(); + does_talk = true; + } else if( weapon.damage() >= weapon.max_damage() / 3 && one_turn_in( 1_hours ) ) { + i_talk_w = SNIPPET.random_from_category( "schizo_weapon_talk_damaged" ).value_or( + translation() ).translated(); + does_talk = true; + } else if( one_turn_in( 4_hours ) ) { + i_talk_w = SNIPPET.random_from_category( "schizo_weapon_talk_misc" ).value_or( + translation() ).translated(); + does_talk = true; + } + if( does_talk ) { + add_msg( _( "%1$s says: \"%2$s\"" ), i_name_w, i_talk_w ); + return; + } + } +} + +void Character::suffer_from_asthma( const int current_stim ) +{ + if( has_effect( effect_adrenaline ) || has_effect( effect_datura ) ) { + return; + } + if( !one_in( ( to_turns( 6_hours ) - current_stim * 300 ) * + ( has_effect( effect_sleep ) ? 10 : 1 ) ) ) { + return; + } + bool auto_use = has_charges( "inhaler", 1 ) || has_charges( "oxygen_tank", 1 ) || + has_charges( "smoxygen_tank", 1 ); + bool oxygenator = has_bionic( bio_gills ) && get_power_level() >= 3_kJ; + if( underwater ) { + oxygen = oxygen / 2; + auto_use = false; + } + + add_msg_player_or_npc( m_bad, _( "You have an asthma attack!" ), + " starts wheezing and coughing." ); + + if( in_sleep_state() && !has_effect( effect_narcosis ) ) { + inventory map_inv; + map_inv.form_from_map( g->u.pos(), 2, &g->u ); + // check if an inhaler is somewhere near + bool nearby_use = auto_use || oxygenator || map_inv.has_charges( "inhaler", 1 ) || + map_inv.has_charges( "oxygen_tank", 1 ) || + map_inv.has_charges( "smoxygen_tank", 1 ); + // check if character has an oxygenator first + if( oxygenator ) { + mod_power_level( -3_kJ ); + add_msg_if_player( m_info, _( "You use your Oxygenator to clear it up, " + "then go back to sleep." ) ); + } else if( auto_use ) { + if( use_charges_if_avail( "inhaler", 1 ) ) { + add_msg_if_player( m_info, _( "You use your inhaler and go back to sleep." ) ); + } else if( use_charges_if_avail( "oxygen_tank", 1 ) || + use_charges_if_avail( "smoxygen_tank", 1 ) ) { + add_msg_if_player( m_info, _( "You take a deep breath from your oxygen tank " + "and go back to sleep." ) ); + } + } else if( nearby_use ) { + // create new variable to resolve a reference issue + int amount = 1; + if( !g->m.use_charges( g->u.pos(), 2, "inhaler", amount ).empty() ) { + add_msg_if_player( m_info, _( "You use your inhaler and go back to sleep." ) ); + } else if( !g->m.use_charges( g->u.pos(), 2, "oxygen_tank", amount ).empty() || + !g->m.use_charges( g->u.pos(), 2, "smoxygen_tank", amount ).empty() ) { + add_msg_if_player( m_info, _( "You take a deep breath from your oxygen tank " + "and go back to sleep." ) ); + } + } else { + add_effect( effect_asthma, rng( 5_minutes, 20_minutes ) ); + if( has_effect( effect_sleep ) ) { + wake_up(); + } else { + if( !is_npc() ) { + g->cancel_activity_or_ignore_query( distraction_type::asthma, + _( "You can't focus while choking!" ) ); + } + } + } + } else if( auto_use ) { + int charges = 0; + if( use_charges_if_avail( "inhaler", 1 ) ) { + moves -= 40; + charges = charges_of( "inhaler" ); + if( charges == 0 ) { + add_msg_if_player( m_bad, _( "You use your last inhaler charge." ) ); + } else { + add_msg_if_player( m_info, ngettext( "You use your inhaler, " + "only %d charge left.", + "You use your inhaler, " + "only %d charges left.", charges ), + charges ); + } + } else if( use_charges_if_avail( "oxygen_tank", 1 ) || + use_charges_if_avail( "smoxygen_tank", 1 ) ) { + moves -= 500; // synched with use action + charges = charges_of( "oxygen_tank" ) + charges_of( "smoxygen_tank" ); + if( charges == 0 ) { + add_msg_if_player( m_bad, _( "You breathe in last bit of oxygen " + "from the tank." ) ); + } else { + add_msg_if_player( m_info, ngettext( "You take a deep breath from your oxygen " + "tank, only %d charge left.", + "You take a deep breath from your oxygen " + "tank, only %d charges left.", charges ), + charges ); + } + } + } else { + add_effect( effect_asthma, rng( 5_minutes, 20_minutes ) ); + if( !is_npc() ) { + g->cancel_activity_or_ignore_query( distraction_type::asthma, + _( "You can't focus while choking!" ) ); + } + } +} + +void Character::suffer_in_sunlight() +{ + double sleeve_factor = armwear_factor(); + const bool has_hat = wearing_something_on( bp_head ); + const bool leafy = has_trait( trait_LEAVES ) || has_trait( trait_LEAVES2 ) || + has_trait( trait_LEAVES3 ); + const bool leafier = has_trait( trait_LEAVES2 ) || has_trait( trait_LEAVES3 ); + const bool leafiest = has_trait( trait_LEAVES3 ); + int sunlight_nutrition = 0; + if( leafy && g->m.is_outside( pos() ) && ( g->light_level( pos().z ) >= 40 ) ) { + const float weather_factor = ( g->weather.weather == WEATHER_CLEAR || + g->weather.weather == WEATHER_SUNNY ) ? 1.0 : 0.5; + const int player_local_temp = g->weather.get_temperature( pos() ); + int flux = ( player_local_temp - 65 ) / 2; + if( !has_hat ) { + sunlight_nutrition += ( 100 + flux ) * weather_factor; + } + if( leafier ) { + int rate = ( ( 100 * sleeve_factor ) + flux ) * 2; + sunlight_nutrition += ( rate * ( leafiest ? 2 : 1 ) ) * weather_factor; + } + } + + if( x_in_y( sunlight_nutrition, 18000 ) ) { + vitamin_mod( vitamin_id( "vitA" ), 1, true ); + vitamin_mod( vitamin_id( "vitC" ), 1, true ); + } + + if( x_in_y( sunlight_nutrition, 12000 ) ) { + mod_hunger( -1 ); + // photosynthesis absorbs kcal directly + mod_stored_nutr( -1 ); + stomach.ate(); + } + + if( !g->is_in_sunlight( pos() ) ) { + return; + } + + if( has_trait( trait_ALBINO ) || has_effect( effect_datura ) ) { + suffer_from_albinism(); + } + + if( has_trait( trait_SUNBURN ) && one_in( 10 ) ) { + if( !( weapon.has_flag( "RAIN_PROTECT" ) ) ) { + add_msg_if_player( m_bad, _( "The sunlight burns your skin!" ) ); + if( has_effect( effect_sleep ) && !has_effect( effect_narcosis ) ) { + wake_up(); + } + mod_pain( 1 ); + hurtall( 1, nullptr ); + } + } + + if( ( has_trait( trait_TROGLO ) || has_trait( trait_TROGLO2 ) ) && + g->weather.weather == WEATHER_SUNNY ) { + mod_str_bonus( -1 ); + mod_dex_bonus( -1 ); + add_miss_reason( _( "The sunlight distracts you." ), 1 ); + mod_int_bonus( -1 ); + mod_per_bonus( -1 ); + } + if( has_trait( trait_TROGLO2 ) ) { + mod_str_bonus( -1 ); + mod_dex_bonus( -1 ); + add_miss_reason( _( "The sunlight distracts you." ), 1 ); + mod_int_bonus( -1 ); + mod_per_bonus( -1 ); + } + if( has_trait( trait_TROGLO3 ) ) { + mod_str_bonus( -4 ); + mod_dex_bonus( -4 ); + add_miss_reason( _( "You can't stand the sunlight!" ), 4 ); + mod_int_bonus( -4 ); + mod_per_bonus( -4 ); + } +} + +void Character::suffer_from_albinism() +{ + if( !one_turn_in( 1_minutes ) ) { + return; + } + // Sunglasses can keep the sun off the eyes. + if( !has_bionic( bionic_id( "bio_sunglasses" ) ) && + !( wearing_something_on( bp_eyes ) && + ( worn_with_flag( "SUN_GLASSES" ) || worn_with_flag( "BLIND" ) ) ) ) { + add_msg_if_player( m_bad, _( "The sunlight is really irritating your eyes." ) ); + if( one_turn_in( 1_minutes ) ) { + mod_pain( 1 ); + } else { + focus_pool --; + } + } + // Umbrellas can keep the sun off the skin + if( weapon.has_flag( "RAIN_PROTECT" ) ) { + return; + } + //calculate total coverage of skin + body_part_set affected_bp { { + bp_leg_l, bp_leg_r, bp_torso, bp_head, bp_mouth, bp_arm_l, + bp_arm_r, bp_foot_l, bp_foot_r, bp_hand_l, bp_hand_r + } + }; + //pecentage of "open skin" by body part + std::map open_percent; + //initialize coverage + for( const body_part &bp : all_body_parts ) { + if( affected_bp.test( bp ) ) { + open_percent[bp] = 1.0; + } + } + //calculate coverage for every body part + for( const item &i : worn ) { + body_part_set covered = i.get_covered_body_parts(); + for( const body_part &bp : all_body_parts ) { + if( !affected_bp.test( bp ) || !covered.test( bp ) ) { + continue; + } + //percent of "not covered skin" + float p = 1.0 - i.get_coverage() / 100.0; + open_percent[bp] = open_percent[bp] * p; + } + } + + const float COVERAGE_LIMIT = 0.01; + body_part max_affected_bp = num_bp; + float max_affected_bp_percent = 0; + int count_affected_bp = 0; + for( const std::pair &it : open_percent ) { + const body_part &bp = it.first; + const float &p = it.second; + + if( p <= COVERAGE_LIMIT ) { + continue; + } + ++count_affected_bp; + if( max_affected_bp_percent < p ) { + max_affected_bp_percent = p; + max_affected_bp = bp; + } + } + if( count_affected_bp > 0 && max_affected_bp != num_bp ) { + //Check if both arms/legs are affected + int parts_count = 1; + body_part other_bp = static_cast( bp_aiOther[max_affected_bp] ); + body_part other_bp_rev = static_cast( bp_aiOther[other_bp] ); + if( other_bp != other_bp_rev ) { + const auto found = open_percent.find( other_bp ); + if( found != open_percent.end() && found->second > COVERAGE_LIMIT ) { + ++parts_count; + } + } + std::string bp_name = body_part_name( max_affected_bp, parts_count ); + if( count_affected_bp > parts_count ) { + bp_name = string_format( _( "%s and other body parts" ), bp_name ); + } + add_msg_if_player( m_bad, _( "The sunlight is really irritating your %s." ), bp_name ); + + //apply effects + if( has_effect( effect_sleep ) && !has_effect( effect_narcosis ) ) { + wake_up(); + } + if( one_turn_in( 1_minutes ) ) { + mod_pain( 1 ); + } else { + focus_pool --; + } + } +} + +void Character::suffer_from_other_mutations() +{ + if( has_trait( trait_SHARKTEETH ) && one_turn_in( 24_hours ) ) { + add_msg_if_player( m_neutral, _( "You shed a tooth!" ) ); + g->m.spawn_item( pos(), "bone", 1 ); + } + + if( has_active_mutation( trait_id( "WINGS_INSECT" ) ) ) { + //~Sound of buzzing Insect Wings + sounds::sound( pos(), 10, sounds::sound_t::movement, _( "BZZZZZ" ), false, "misc", + "insect_wings" ); + } + + bool wearing_shoes = is_wearing_shoes( side::LEFT ) || is_wearing_shoes( side::RIGHT ); + int root_vitamins = 0; + int root_water = 0; + if( has_trait( trait_ROOTS3 ) && g->m.has_flag( "PLOWABLE", pos() ) && !wearing_shoes ) { + root_vitamins += 1; + if( get_thirst() <= -2000 ) { + root_water += 51; + } + } + + if( x_in_y( root_vitamins, 576 ) ) { + vitamin_mod( vitamin_id( "iron" ), 1, true ); + vitamin_mod( vitamin_id( "calcium" ), 1, true ); + mod_healthy_mod( 5, 50 ); + } + + if( x_in_y( root_water, 2550 ) ) { + // Plants draw some crazy amounts of water from the ground in real life, + // so these numbers try to reflect that uncertain but large amount + // this should take 12 hours to meet your daily needs with ROOTS2, and 8 with ROOTS3 + mod_thirst( -1 ); + } + + if( has_trait( trait_SORES ) ) { + for( const body_part bp : all_body_parts ) { + if( bp == bp_head ) { + continue; + } + int sores_pain = 5 + 0.4 * abs( encumb( bp ) ); + if( get_pain() < sores_pain ) { + set_pain( sores_pain ); + } + } + } + //Web Weavers...weave web + if( has_active_mutation( trait_WEB_WEAVER ) && !in_vehicle ) { + // this adds intensity to if its not already there. + g->m.add_field( pos(), fd_web, 1 ); + + } + + // Blind/Deaf for brief periods about once an hour, + // and visuals about once every 30 min. + if( has_trait( trait_PER_SLIME ) ) { + if( one_turn_in( 1_hours ) && !has_effect( effect_deaf ) ) { + add_msg_if_player( m_bad, _( "Suddenly, you can't hear anything!" ) ); + add_effect( effect_deaf, rng( 20_minutes, 60_minutes ) ); + } + if( one_turn_in( 1_hours ) && !( has_effect( effect_blind ) ) ) { + add_msg_if_player( m_bad, _( "Suddenly, your eyes stop working!" ) ); + add_effect( effect_blind, rng( 2_minutes, 6_minutes ) ); + } + // Yes, you can be blind and hallucinate at the same time. + // Your post-human biology is truly remarkable. + if( one_turn_in( 30_minutes ) && !( has_effect( effect_visuals ) ) ) { + add_msg_if_player( m_bad, _( "Your visual centers must be acting up…" ) ); + add_effect( effect_visuals, rng( 36_minutes, 72_minutes ) ); + } + } + + if( has_trait( trait_WEB_SPINNER ) && !in_vehicle && one_in( 3 ) ) { + // this adds intensity to if its not already there. + g->m.add_field( pos(), fd_web, 1 ); + } + + bool should_mutate = has_trait( trait_UNSTABLE ) && !has_trait( trait_CHAOTIC_BAD ) && + one_turn_in( 48_hours ); + should_mutate |= ( has_trait( trait_CHAOTIC ) || has_trait( trait_CHAOTIC_BAD ) ) && + one_turn_in( 12_hours ); + if( should_mutate ) { + mutate(); + } + + const bool needs_fire = !has_morale( MORALE_PYROMANIA_NEARFIRE ) && + !has_morale( MORALE_PYROMANIA_STARTFIRE ); + if( has_trait( trait_PYROMANIA ) && needs_fire && !in_sleep_state() && + calendar::once_every( 2_hours ) ) { + add_morale( MORALE_PYROMANIA_NOFIRE, -1, -30, 24_hours, 24_hours, true ); + if( calendar::once_every( 4_hours ) ) { + const translation smokin_hot_fiyah = + SNIPPET.random_from_category( "pyromania_withdrawal" ).value_or( translation() ); + add_msg_if_player( m_bad, "%s", smokin_hot_fiyah ); + } + } + if( has_trait( trait_KILLER ) && !has_morale( MORALE_KILLER_HAS_KILLED ) && + calendar::once_every( 2_hours ) ) { + add_morale( MORALE_KILLER_NEED_TO_KILL, -1, -30, 24_hours, 24_hours ); + if( calendar::once_every( 4_hours ) ) { + const translation snip = SNIPPET.random_from_category( "killer_withdrawal" ).value_or( + translation() ); + add_msg_if_player( m_bad, "%s", snip ); + } + } +} + +void Character::suffer_from_radiation() +{ + // checking for radioactive items in inventory + const int item_radiation = leak_level( "RADIOACTIVE" ); + const int map_radiation = g->m.get_radiation( pos() ); + float rads = map_radiation / 100.0f + item_radiation / 10.0f; + + int rad_mut = 0; + if( has_trait( trait_RADIOACTIVE3 ) ) { + rad_mut = 3; + } else if( has_trait( trait_RADIOACTIVE2 ) ) { + rad_mut = 2; + } else if( has_trait( trait_RADIOACTIVE1 ) ) { + rad_mut = 1; + } + + // Spread less radiation when sleeping (slower metabolism etc.) + // Otherwise it can quickly get to the point where you simply can't sleep at all + const bool rad_mut_proc = rad_mut > 0 && x_in_y( rad_mut, to_turns( in_sleep_state() ? + 3_hours : 30_minutes ) ); + + bool has_helmet = false; + const bool power_armored = is_wearing_power_armor( &has_helmet ); + const bool rad_resist = power_armored || worn_with_flag( "RAD_RESIST" ); + + if( rad_mut > 0 ) { + const bool kept_in = is_rad_immune() || ( rad_resist && !one_in( 4 ) ); + if( kept_in ) { + // As if standing on a map tile with radiation level equal to rad_mut + rads += rad_mut / 100.0f; + } + + if( rad_mut_proc && !kept_in ) { + // Irradiate a random nearby point + // If you can't, irradiate the player instead + tripoint rad_point = pos() + point( rng( -3, 3 ), rng( -3, 3 ) ); + // TODO: Radioactive vehicles? + if( g->m.get_radiation( rad_point ) < rad_mut ) { + g->m.adjust_radiation( rad_point, 1 ); + } else { + rads += rad_mut; + } + } + } + + // Used to control vomiting from radiation to make it not-annoying + bool radiation_increasing = irradiate( rads ); + + if( radiation_increasing && calendar::once_every( 3_minutes ) && has_bionic( bio_geiger ) ) { + add_msg_if_player( m_warning, + _( "You feel an anomalous sensation coming from " + "your radiation sensors." ) ); + } + + if( calendar::once_every( 15_minutes ) ) { + if( radiation < 0 ) { + radiation = 0; + } else if( radiation > 2000 ) { + radiation = 2000; + } + if( get_option( "RAD_MUTATION" ) && rng( 100, 10000 ) < radiation ) { + mutate(); + radiation -= 50; + } else if( radiation > 50 && rng( 1, 3000 ) < radiation && ( stomach.contains() > 0_ml || + radiation_increasing || !in_sleep_state() ) ) { + vomit(); + radiation -= 1; + } + } + + const bool radiogenic = has_trait( trait_RADIOGENIC ); + if( radiogenic && calendar::once_every( 30_minutes ) && radiation > 0 ) { + // At 200 irradiation, twice as fast as REGEN + if( x_in_y( radiation, 200 ) ) { + healall( 1 ); + if( rad_mut == 0 ) { + // Don't heal radiation if we're generating it naturally + // That would counter the main downside of radioactivity + radiation -= 5; + } + } + + if( !radiogenic && radiation > 0 ) { + // Even if you heal the radiation itself, the damage is done. + const int hmod = get_healthy_mod(); + if( hmod > 200 - radiation ) { + set_healthy_mod( std::max( -200, 200 - radiation ) ); + } + } + } + + if( radiation > 200 && calendar::once_every( 10_minutes ) && x_in_y( radiation, 1000 ) ) { + hurtall( 1, nullptr ); + radiation -= 5; + } + + if( !reactor_plut && !tank_plut && !slow_rad ) { + return; + } + // Microreactor CBM and supporting bionics + if( has_bionic( bio_reactor ) || has_bionic( bio_advreactor ) ) { + //first do the filtering of plutonium from storage to reactor + if( tank_plut > 0 ) { + int plut_trans; + if( has_active_bionic( bio_plut_filter ) ) { + plut_trans = tank_plut * 0.025; + } else { + plut_trans = tank_plut * 0.005; + } + if( plut_trans < 1 ) { + plut_trans = 1; + } + tank_plut -= plut_trans; + reactor_plut += plut_trans; + } + //leaking radiation, reactor is unshielded, but still better than a simple tank + slow_rad += ( ( tank_plut * 0.1 ) + ( reactor_plut * 0.01 ) ); + //begin power generation + if( reactor_plut > 0 ) { + int power_gen = 0; + if( has_bionic( bio_advreactor ) ) { + if( ( reactor_plut * 0.05 ) > 2000 ) { + power_gen = 2000; + } else { + power_gen = reactor_plut * 0.05; + if( power_gen < 1 ) { + power_gen = 1; + } + } + slow_rad += ( power_gen * 3 ); + while( slow_rad >= 50 ) { + if( power_gen >= 1 ) { + slow_rad -= 50; + power_gen -= 1; + reactor_plut -= 1; + } else { + break; + } + } + } else if( has_bionic( bio_reactor ) ) { + if( ( reactor_plut * 0.025 ) > 500 ) { + power_gen = 500; + } else { + power_gen = reactor_plut * 0.025; + if( power_gen < 1 ) { + power_gen = 1; + } + } + slow_rad += ( power_gen * 3 ); + } + reactor_plut -= power_gen; + while( power_gen >= 250 ) { + apply_damage( nullptr, bp_torso, 1 ); + mod_pain( 1 ); + add_msg_if_player( m_bad, + _( "Your chest burns as your power systems overload!" ) ); + mod_power_level( 50_kJ ); + power_gen -= 60; // ten units of power lost due to short-circuiting into you + } + mod_power_level( units::from_kilojoule( power_gen ) ); + } + } else { + slow_rad += ( reactor_plut + tank_plut ) * 40; + //plutonium in body without any kind of container. Not good at all. + reactor_plut *= 0.6; + tank_plut *= 0.6; + } + while( slow_rad >= 1000 ) { + radiation += 1; + slow_rad -= 1000; + } +} + +void Character::suffer_from_bad_bionics() +{ + // Negative bionics effects + if( has_bionic( bio_dis_shock ) && get_power_level() > 9_kJ && one_turn_in( 2_hours ) && + !has_effect( effect_narcosis ) ) { + add_msg_if_player( m_bad, _( "You suffer a painful electrical discharge!" ) ); + mod_pain( 1 ); + moves -= 150; + mod_power_level( -10_kJ ); + + if( weapon.typeId() == "e_handcuffs" && weapon.charges > 0 ) { + weapon.charges -= rng( 1, 3 ) * 50; + if( weapon.charges < 1 ) { + weapon.charges = 1; + } + + add_msg_if_player( m_good, _( "The %s seems to be affected by the discharge." ), + weapon.tname() ); + } + sfx::play_variant_sound( "bionics", "elec_discharge", 100 ); + } + if( has_bionic( bio_dis_acid ) && one_turn_in( 150_minutes ) ) { + add_msg_if_player( m_bad, _( "You suffer a burning acidic discharge!" ) ); + hurtall( 1, nullptr ); + sfx::play_variant_sound( "bionics", "acid_discharge", 100 ); + sfx::do_player_death_hurt( g->u, false ); + } + if( has_bionic( bio_drain ) && get_power_level() > 24_kJ && one_turn_in( 1_hours ) ) { + add_msg_if_player( m_bad, _( "Your batteries discharge slightly." ) ); + mod_power_level( -25_kJ ); + sfx::play_variant_sound( "bionics", "elec_crackle_low", 100 ); + } + if( has_bionic( bio_noise ) && one_turn_in( 50_minutes ) && + !has_effect( effect_narcosis ) ) { + // TODO: NPCs with said bionic + if( !is_deaf() ) { + add_msg( m_bad, _( "A bionic emits a crackle of noise!" ) ); + sfx::play_variant_sound( "bionics", "elec_blast", 100 ); + } else { + add_msg( m_bad, _( "You feel your faulty bionic shuddering." ) ); + sfx::play_variant_sound( "bionics", "elec_blast_muffled", 100 ); + } + sounds::sound( pos(), 60, sounds::sound_t::movement, _( "Crackle!" ) ); //sfx above + } + if( has_bionic( bio_power_weakness ) && has_max_power() && + get_power_level() >= get_max_power_level() * .75 ) { + mod_str_bonus( -3 ); + } + if( has_bionic( bio_trip ) && one_turn_in( 50_minutes ) && + !has_effect( effect_visuals ) && + !has_effect( effect_narcosis ) && !in_sleep_state() ) { + add_msg_if_player( m_bad, _( "Your vision pixelates!" ) ); + add_effect( effect_visuals, 10_minutes ); + sfx::play_variant_sound( "bionics", "pixelated", 100 ); + } + if( has_bionic( bio_spasm ) && one_turn_in( 5_hours ) && !has_effect( effect_downed ) && + !has_effect( effect_narcosis ) ) { + add_msg_if_player( m_bad, + _( "Your malfunctioning bionic causes you to spasm and fall to the floor!" ) ); + mod_pain( 1 ); + add_effect( effect_stunned, 1_turns ); + add_effect( effect_downed, 1_turns, num_bp, false, 0, true ); + sfx::play_variant_sound( "bionics", "elec_crackle_high", 100 ); + } + if( has_bionic( bio_shakes ) && get_power_level() > 24_kJ && one_turn_in( 2_hours ) ) { + add_msg_if_player( m_bad, _( "Your bionics short-circuit, causing you to tremble and shiver." ) ); + mod_power_level( -25_kJ ); + add_effect( effect_shakes, 5_minutes ); + sfx::play_variant_sound( "bionics", "elec_crackle_med", 100 ); + } + if( has_bionic( bio_leaky ) && one_turn_in( 6_minutes ) ) { + mod_healthy_mod( -1, -200 ); + } + if( has_bionic( bio_sleepy ) && one_turn_in( 50_minutes ) && !in_sleep_state() ) { + mod_fatigue( 1 ); + } + if( has_bionic( bio_itchy ) && one_turn_in( 50_minutes ) && !has_effect( effect_formication ) && + !has_effect( effect_narcosis ) ) { + add_msg_if_player( m_bad, _( "Your malfunctioning bionic itches!" ) ); + body_part bp = random_body_part( true ); + add_effect( effect_formication, 10_minutes, bp ); + } + if( has_bionic( bio_glowy ) && !has_effect( effect_glowy_led ) && one_turn_in( 50_minutes ) && + get_power_level() > 1_kJ ) { + add_msg_if_player( m_bad, _( "Your malfunctioning bionic starts to glow!" ) ); + add_effect( effect_glowy_led, 5_minutes ); + mod_power_level( -1_kJ ); + } +} + +void Character::suffer_from_artifacts() +{ + // Artifact effects + if( has_artifact_with( AEP_ATTENTION ) ) { + add_effect( effect_attention, 3_turns ); + } + + if( has_artifact_with( AEP_BAD_WEATHER ) && calendar::once_every( 1_minutes ) && + g->weather.weather != WEATHER_SNOWSTORM ) { + g->weather.weather_override = WEATHER_SNOWSTORM; + g->weather.set_nextweather( calendar::turn ); + } + + if( has_artifact_with( AEP_MUTAGENIC ) && one_turn_in( 48_hours ) ) { + mutate(); + } + if( has_artifact_with( AEP_FORCE_TELEPORT ) && one_turn_in( 1_hours ) ) { + teleport::teleport( *this ); + } +} + +void Character::suffer_from_stimulants( const int current_stim ) +{ + // Stim +250 kills + if( current_stim > 210 ) { + if( one_turn_in( 2_minutes ) && !has_effect( effect_downed ) ) { + add_msg_if_player( m_bad, _( "Your muscles spasm!" ) ); + if( !has_effect( effect_downed ) ) { + add_msg_if_player( m_bad, _( "You fall to the ground!" ) ); + add_effect( effect_downed, rng( 6_turns, 20_turns ) ); + } + } + } + if( current_stim > 170 ) { + if( !has_effect( effect_winded ) && calendar::once_every( 10_minutes ) ) { + add_msg( m_bad, _( "You feel short of breath." ) ); + add_effect( effect_winded, 10_minutes + 1_turns ); + } + } + if( current_stim > 110 ) { + if( !has_effect( effect_shakes ) && calendar::once_every( 10_minutes ) ) { + add_msg( _( "You shake uncontrollably." ) ); + add_effect( effect_shakes, 15_minutes + 1_turns ); + } + } + if( current_stim > 75 ) { + if( !one_turn_in( 2_minutes ) && !has_effect( effect_nausea ) ) { + add_msg( _( "You feel nauseous…" ) ); + add_effect( effect_nausea, 5_minutes ); + } + } + + //stim -200 or painkillers 240 kills + if( current_stim < -160 || get_painkiller() > 200 ) { + if( one_turn_in( 3_minutes ) && !in_sleep_state() ) { + add_msg_if_player( m_bad, _( "You black out!" ) ); + const time_duration dur = rng( 30_minutes, 60_minutes ); + add_effect( effect_downed, dur ); + add_effect( effect_blind, dur ); + fall_asleep( dur ); + } + } + if( current_stim < -120 || get_painkiller() > 160 ) { + if( !has_effect( effect_winded ) && calendar::once_every( 10_minutes ) ) { + add_msg( m_bad, _( "Your breathing slows down." ) ); + add_effect( effect_winded, 10_minutes + 1_turns ); + } + } + if( current_stim < -85 || get_painkiller() > 145 ) { + if( one_turn_in( 15_seconds ) && !has_effect( effect_sleep ) ) { + add_msg_if_player( m_bad, _( "You feel dizzy for a moment." ) ); + mod_moves( -rng( 10, 30 ) ); + if( one_in( 3 ) && !has_effect( effect_downed ) ) { + add_msg_if_player( m_bad, _( "You stumble and fall over!" ) ); + add_effect( effect_downed, rng( 3_turns, 10_turns ) ); + } + } + } + if( current_stim < -60 || get_painkiller() > 130 ) { + if( calendar::once_every( 10_minutes ) ) { + add_msg( m_warning, _( "You feel tired…" ) ); + mod_fatigue( rng( 1, 2 ) ); + } + } +} + +void Character::suffer_without_sleep( const int sleep_deprivation ) +{ + // redo as a snippet? + if( sleep_deprivation >= SLEEP_DEPRIVATION_HARMLESS ) { + if( one_turn_in( 50_minutes ) ) { + switch( dice( 1, 4 ) ) { + default: + case 1: + add_msg_player_or_npc( m_warning, _( "You tiredly rub your eyes." ), + _( " tiredly rubs their eyes." ) ); + break; + case 2: + add_msg_player_or_npc( m_warning, _( "You let out a small yawn." ), + _( " lets out a small yawn." ) ); + break; + case 3: + add_msg_player_or_npc( m_warning, _( "You stretch your back." ), + _( " streches their back." ) ); + break; + case 4: + add_msg_player_or_npc( m_warning, _( "You feel mentally tired." ), + _( " lets out a huge yawn." ) ); + break; + } + } + } + // Minor discomfort + if( sleep_deprivation >= SLEEP_DEPRIVATION_MINOR ) { + if( one_turn_in( 75_minutes ) ) { + add_msg_if_player( m_warning, _( "You feel lightheaded for a moment." ) ); + moves -= 10; + } + if( one_turn_in( 100_minutes ) ) { + add_msg_if_player( m_warning, _( "Your muscles spasm uncomfortably." ) ); + mod_pain( 2 ); + } + if( !has_effect( effect_visuals ) && one_turn_in( 150_minutes ) ) { + add_msg_if_player( m_warning, _( "Your vision blurs a little." ) ); + add_effect( effect_visuals, rng( 1_minutes, 5_minutes ) ); + } + } + // Slight disability + if( sleep_deprivation >= SLEEP_DEPRIVATION_SERIOUS ) { + if( one_turn_in( 75_minutes ) ) { + add_msg_if_player( m_bad, _( "Your mind lapses into unawareness briefly." ) ); + moves -= rng( 20, 80 ); + } + if( one_turn_in( 125_minutes ) ) { + add_msg_if_player( m_bad, _( "Your muscles ache in stressfully unpredictable ways." ) ); + mod_pain( rng( 2, 10 ) ); + } + if( one_turn_in( 5_hours ) ) { + add_msg_if_player( m_bad, _( "You have a distractingly painful headache." ) ); + mod_pain( rng( 10, 25 ) ); + } + } + // Major disability, high chance of passing out also relevant + if( sleep_deprivation >= SLEEP_DEPRIVATION_MAJOR ) { + if( !has_effect( effect_nausea ) && one_turn_in( 500_minutes ) ) { + add_msg_if_player( m_bad, _( "You feel heartburn and an acid taste in your mouth." ) ); + mod_pain( 5 ); + add_effect( effect_nausea, rng( 5_minutes, 30_minutes ) ); + } + if( one_turn_in( 5_hours ) ) { + add_msg_if_player( m_bad, _( "Your mind is so tired that you feel you can't trust " + "your eyes anymore." ) ); + add_effect( effect_hallu, rng( 5_minutes, 60_minutes ) ); + } + if( !has_effect( effect_shakes ) && one_turn_in( 425_minutes ) ) { + add_msg_if_player( m_bad, _( "Your muscles spasm uncontrollably, and you have " + "trouble keeping your balance." ) ); + add_effect( effect_shakes, 15_minutes ); + } else if( has_effect( effect_shakes ) && one_turn_in( 75_seconds ) ) { + moves -= 10; + add_msg_player_or_npc( m_warning, _( "Your shaking legs make you stumble." ), + _( " stumbles." ) ); + if( !has_effect( effect_downed ) && one_in( 10 ) ) { + add_msg_player_or_npc( m_bad, _( "You fall over!" ), _( " falls over!" ) ); + add_effect( effect_downed, rng( 3_turns, 10_turns ) ); + } + } + } +} + +void Character::suffer_from_pain() +{ +} + +void Character::suffer() +{ + const int current_stim = get_stim(); + // TODO: Remove this section and encapsulate hp_cur + for( int i = 0; i < num_hp_parts; i++ ) { + body_part bp = hp_to_bp( static_cast( i ) ); + if( hp_cur[i] <= 0 ) { + add_effect( effect_disabled, 1_turns, bp, true ); + } + } + + for( size_t i = 0; i < my_bionics->size(); i++ ) { + if( ( *my_bionics )[i].powered ) { + process_bionic( i ); + } + } + + for( std::pair &mut : my_mutations ) { + const mutation_branch &mdata = mut.first.obj(); + if( calendar::once_every( 1_minutes ) ) { + suffer_water_damage( mdata ); + } + Character::trait_data &tdata = mut.second; + if( tdata.powered ) { + suffer_mutation_power( mdata, tdata ); + } + } + + if( underwater ) { + suffer_while_underwater(); + } + + suffer_from_addictions(); + + if( !in_sleep_state() ) { + suffer_while_awake( current_stim ); + } // Done with while-awake-only effects + + if( has_trait( trait_ASTHMA ) ) { + suffer_from_asthma( current_stim ); + } + + suffer_in_sunlight(); + suffer_from_other_mutations(); + suffer_from_artifacts(); + suffer_from_radiation(); + suffer_from_bad_bionics(); + suffer_from_stimulants( current_stim ); + int sleep_deprivation = in_sleep_state() ? 0 : get_sleep_deprivation(); + // Stimulants can lessen the PERCEIVED effects of sleep deprivation, but + // they do nothing to cure it. As such, abuse is even more dangerous now. + if( current_stim > 0 ) { + // 100% of blacking out = 20160sd ; Max. stim modifier = 12500sd @ 250stim + // Note: Very high stim already has its own slew of bad effects, + // so the "useful" part of this bonus is actually lower. + sleep_deprivation -= current_stim * 50; + } + + suffer_without_sleep( sleep_deprivation ); + suffer_from_pain(); +} + +bool Character::irradiate( float rads, bool bypass ) +{ + int rad_mut = 0; + if( has_trait( trait_RADIOACTIVE3 ) ) { + rad_mut = 3; + } else if( has_trait( trait_RADIOACTIVE2 ) ) { + rad_mut = 2; + } else if( has_trait( trait_RADIOACTIVE1 ) ) { + rad_mut = 1; + } + + if( rads > 0 ) { + bool has_helmet = false; + const bool power_armored = is_wearing_power_armor( &has_helmet ); + const bool rad_resist = power_armored || worn_with_flag( "RAD_RESIST" ); + + if( is_rad_immune() && !bypass ) { + // Power armor and some high-tech gear protects completely from radiation + rads = 0.0f; + } else if( rad_resist && !bypass ) { + rads /= 4.0f; + } + + if( has_effect( effect_iodine ) ) { + // Radioactive mutation makes iodine less efficient (but more useful) + rads *= 0.3f + 0.1f * rad_mut; + } + + int rads_max = roll_remainder( rads ); + radiation += rng( 0, rads_max ); + + // Apply rads to any radiation badges. + for( item *const it : inv_dump() ) { + if( it->typeId() != "rad_badge" ) { + continue; + } + + // Actual irradiation levels of badges and the player aren't precisely matched. + // This is intentional. + const int before = it->irradiation; + + const int delta = rng( 0, rads_max ); + if( delta == 0 ) { + continue; + } + + it->irradiation += delta; + + // If in inventory (not worn), don't print anything. + if( inv.has_item( *it ) ) { + continue; + } + + // If the color hasn't changed, don't print anything. + const std::string &col_before = rad_badge_color( before ); + const std::string &col_after = rad_badge_color( it->irradiation ); + if( col_before == col_after ) { + continue; + } + + add_msg_if_player( m_warning, _( "Your radiation badge changes from %1$s to %2$s!" ), + col_before, col_after ); + } + + if( rads > 0.0f ) { + return true; + } + } + return false; +} + +void Character::mend( int rate_multiplier ) +{ + // Wearing splints can slowly mend a broken limb back to 1 hp. + bool any_broken = false; + for( int i = 0; i < num_hp_parts; i++ ) { + if( hp_cur[i] <= 0 ) { + any_broken = true; + break; + } + } + + if( !any_broken ) { + return; + } + + double healing_factor = 1.0; + // Studies have shown that alcohol and tobacco use delay fracture healing time + // Being under effect is 50% slowdown + // Being addicted but not under effect scales from 25% slowdown to 75% slowdown + // The improvement from being intoxicated over withdrawal is intended + if( has_effect( effect_cig ) ) { + healing_factor *= 0.5; + } else { + healing_factor *= addiction_scaling( 0.25f, 0.75f, addiction_level( ADD_CIG ) ); + } + + if( has_effect( effect_drunk ) ) { + healing_factor *= 0.5; + } else { + healing_factor *= addiction_scaling( 0.25f, 0.75f, addiction_level( ADD_ALCOHOL ) ); + } + + if( radiation > 0 && !has_trait( trait_RADIOGENIC ) ) { + healing_factor *= clamp( ( 1000.0f - radiation ) / 1000.0f, 0.0f, 1.0f ); + } + + // Bed rest speeds up mending + if( has_effect( effect_sleep ) ) { + healing_factor *= 4.0; + } else if( get_fatigue() > DEAD_TIRED ) { + // but being dead tired does not... + healing_factor *= 0.75; + } else { + // If not dead tired, resting without sleep also helps + healing_factor *= 1.0f + rest_quality(); + } + + // Being healthy helps. + healing_factor *= 1.0f + get_healthy() / 200.0f; + + // Very hungry starts lowering the chance + // square rooting the value makes the numbers drop off faster when below 1 + healing_factor *= sqrt( static_cast( get_stored_kcal() ) / static_cast + ( get_healthy_kcal() ) ); + // Similar for thirst - starts at very thirsty, drops to 0 ~halfway between two last statuses + healing_factor *= 1.0f - clamp( ( get_thirst() - 80.0f ) / 300.0f, 0.0f, 1.0f ); + + // Mutagenic healing factor! + bool needs_splint = true; + if( has_trait( trait_REGEN_LIZ ) ) { + healing_factor *= 20.0; + needs_splint = false; + } else if( has_trait( trait_REGEN ) ) { + healing_factor *= 16.0; + } else if( has_trait( trait_FASTHEALER2 ) ) { + healing_factor *= 4.0; + } else if( has_trait( trait_FASTHEALER ) ) { + healing_factor *= 2.0; + } else if( has_trait( trait_SLOWHEALER ) ) { + healing_factor *= 0.5; + } + + add_msg( m_debug, "Limb mend healing factor: %.2f", healing_factor ); + if( healing_factor <= 0.0f ) { + // The section below assumes positive healing rate + return; + } + + for( int i = 0; i < num_hp_parts; i++ ) { + const bool broken = ( hp_cur[i] <= 0 ); + if( !broken ) { + continue; + } + + body_part part = hp_to_bp( static_cast( i ) ); + if( needs_splint && !worn_with_flag( "SPLINT", part ) ) { + continue; + } + + const time_duration dur_inc = 1_turns * roll_remainder( rate_multiplier * healing_factor ); + auto &eff = get_effect( effect_mending, part ); + if( eff.is_null() ) { + add_effect( effect_mending, dur_inc, part, true ); + continue; + } + + eff.set_duration( eff.get_duration() + dur_inc ); + + if( eff.get_duration() >= eff.get_max_duration() ) { + hp_cur[i] = 1; + remove_effect( effect_mending, part ); + g->events().send( getID(), part ); + //~ %s is bodypart + add_msg_if_player( m_good, _( "Your %s has started to mend!" ), + body_part_name( part ) ); + } + } +} + +void Character::sound_hallu() +{ + // Random 'dangerous' sound from a random direction + // 1/5 chance to be a loud sound + std::vector dir{ "north", + "northeast", + "northwest", + "south", + "southeast", + "southwest", + "east", + "west" }; + + std::vector dirz{ "and above you ", "and below you " }; + + std::vector> desc{ + std::make_tuple( "whump!", "smash_fail", "t_door_c" ), + std::make_tuple( "crash!", "smash_success", "t_door_c" ), + std::make_tuple( "glass breaking!", "smash_success", "t_window_domestic" ) }; + + std::vector> desc_big{ + std::make_tuple( "huge explosion!", "explosion", "default" ), + std::make_tuple( "bang!", "fire_gun", "glock_19" ), + std::make_tuple( "blam!", "fire_gun", "mossberg_500" ), + std::make_tuple( "crash!", "smash_success", "t_wall" ), + std::make_tuple( "SMASH!", "smash_success", "t_wall" ) }; + + std::string i_dir = dir[rng( 0, dir.size() - 1 )]; + + if( one_in( 10 ) ) { + i_dir += " " + dirz[rng( 0, dirz.size() - 1 )]; + } + + std::string i_desc; + std::pair i_sound; + if( one_in( 5 ) ) { + int r_int = rng( 0, desc_big.size() - 1 ); + i_desc = std::get<0>( desc_big[r_int] ); + i_sound = std::make_pair( std::get<1>( desc_big[r_int] ), std::get<2>( desc_big[r_int] ) ); + } else { + int r_int = rng( 0, desc.size() - 1 ); + i_desc = std::get<0>( desc[r_int] ); + i_sound = std::make_pair( std::get<1>( desc[r_int] ), std::get<2>( desc[r_int] ) ); + } + + add_msg( m_warning, _( "From the %1$s you hear %2$s" ), i_dir, i_desc ); + sfx::play_variant_sound( i_sound.first, i_sound.second, rng( 20, 80 ) ); +} + +void Character::drench( int saturation, const body_part_set &flags, bool ignore_waterproof ) +{ + if( saturation < 1 ) { + return; + } + + // OK, water gets in your AEP suit or whatever. It wasn't built to keep you dry. + if( has_trait( trait_DEBUG_NOTEMP ) || has_active_mutation( trait_id( "SHELL2" ) ) || + ( !ignore_waterproof && is_waterproof( flags ) ) ) { + return; + } + + // Make the body wet + for( const body_part bp : all_body_parts ) { + // Different body parts have different size, they can only store so much water + int bp_wetness_max = 0; + if( flags.test( bp ) ) { + bp_wetness_max = drench_capacity[bp]; + } + + if( bp_wetness_max == 0 ) { + continue; + } + // Different sources will only make the bodypart wet to a limit + int source_wet_max = saturation * bp_wetness_max * 2 / 100; + int wetness_increment = ignore_waterproof ? 100 : 2; + // Respect maximums + const int wetness_max = std::min( source_wet_max, bp_wetness_max ); + if( body_wetness[bp] < wetness_max ) { + body_wetness[bp] = std::min( wetness_max, body_wetness[bp] + wetness_increment ); + } + } + + if( is_weak_to_water() ) { + add_msg_if_player( m_bad, _( "You feel the water burning your skin." ) ); + } + + // Remove onfire effect + if( saturation > 10 || x_in_y( saturation, 10 ) ) { + remove_effect( effect_onfire ); + } +} + +void Character::apply_wetness_morale( int temperature ) +{ + // First, a quick check if we have any wetness to calculate morale from + // Faster than checking all worn items for friendliness + if( !std::any_of( body_wetness.begin(), body_wetness.end(), + []( const int w ) { + return w != 0; +} ) ) { + return; + } + + // Normalize temperature to [-1.0,1.0] + temperature = std::max( 0, std::min( 100, temperature ) ); + const double global_temperature_mod = -1.0 + ( 2.0 * temperature / 100.0 ); + + int total_morale = 0; + const auto wet_friendliness = exclusive_flag_coverage( "WATER_FRIENDLY" ); + for( const body_part bp : all_body_parts ) { + // Sum of body wetness can go up to 103 + const int part_drench = body_wetness[bp]; + if( part_drench == 0 ) { + continue; + } + + const auto &part_arr = mut_drench[bp]; + const int part_ignored = part_arr[WT_IGNORED]; + const int part_neutral = part_arr[WT_NEUTRAL]; + const int part_good = part_arr[WT_GOOD]; + + if( part_ignored >= part_drench ) { + continue; + } + + int bp_morale = 0; + const bool is_friendly = wet_friendliness.test( bp ); + const int effective_drench = part_drench - part_ignored; + if( is_friendly ) { + // Using entire bonus from mutations and then some "human" bonus + bp_morale = std::min( part_good, effective_drench ) + effective_drench / 2; + } else if( effective_drench < part_good ) { + // Positive or 0 + // Won't go higher than part_good / 2 + // Wet slime/scale doesn't feel as good when covered by wet rags/fur/kevlar + bp_morale = std::min( effective_drench, part_good - effective_drench ); + } else if( effective_drench > part_good + part_neutral ) { + // This one will be negative + bp_morale = part_good + part_neutral - effective_drench; + } + + // Clamp to [COLD,HOT] and cast to double + const double part_temperature = + std::min( BODYTEMP_HOT, std::max( BODYTEMP_COLD, temp_cur[bp] ) ); + // 0.0 at COLD, 1.0 at HOT + const double part_mod = ( part_temperature - BODYTEMP_COLD ) / + ( BODYTEMP_HOT - BODYTEMP_COLD ); + // Average of global and part temperature modifiers, each in range [-1.0, 1.0] + double scaled_temperature = ( global_temperature_mod + part_mod ) / 2; + + if( bp_morale < 0 ) { + // Damp, hot clothing on hot skin feels bad + scaled_temperature = fabs( scaled_temperature ); + } + + // For an unmutated human swimming in deep water, this will add up to: + // +51 when hot in 100% water friendly clothing + // -103 when cold/hot in 100% unfriendly clothing + total_morale += static_cast( bp_morale * ( 1.0 + scaled_temperature ) / 2.0 ); + } + + if( total_morale == 0 ) { + return; + } + + int morale_effect = total_morale / 8; + if( morale_effect == 0 ) { + if( total_morale > 0 ) { + morale_effect = 1; + } else { + morale_effect = -1; + } + } + // 61_seconds because decay is applied in 1_minutes increments + add_morale( MORALE_WET, morale_effect, total_morale, 61_seconds, 61_seconds, true ); +} + +void Character::add_addiction( add_type type, int strength ) +{ + if( type == ADD_NULL ) { + return; + } + time_duration timer = 2_hours; + if( has_trait( trait_ADDICTIVE ) ) { + strength *= 2; + timer = 1_hours; + } else if( has_trait( trait_NONADDICTIVE ) ) { + strength /= 2; + timer = 6_hours; + } + //Update existing addiction + for( auto &i : addictions ) { + if( i.type != type ) { + continue; + } + + if( i.sated < 0_turns ) { + i.sated = timer; + } else if( i.sated < 10_minutes ) { + i.sated += timer; // TODO: Make this variable? + } else { + i.sated += timer / 2; + } + if( i.intensity < MAX_ADDICTION_LEVEL && strength > i.intensity * rng( 2, 5 ) ) { + i.intensity++; + } + + add_msg( m_debug, "Updating addiction: %d intensity, %d sated", + i.intensity, to_turns( i.sated ) ); + + return; + } + + // Add a new addiction + const int roll = rng( 0, 100 ); + add_msg( m_debug, "Addiction: roll %d vs strength %d", roll, strength ); + if( roll < strength ) { + const std::string &type_name = addiction_type_name( type ); + add_msg( m_debug, "%s got addicted to %s", disp_name(), type_name ); + addictions.emplace_back( type, 1 ); + g->events().send( getID(), type ); + } +} + +bool Character::has_addiction( add_type type ) const +{ + return std::any_of( addictions.begin(), addictions.end(), + [type]( const addiction & ad ) { + return ad.type == type && ad.intensity >= MIN_ADDICTION_LEVEL; + } ); +} + +void Character::rem_addiction( add_type type ) +{ + auto iter = std::find_if( addictions.begin(), addictions.end(), + [type]( const addiction & ad ) { + return ad.type == type; + } ); + + if( iter != addictions.end() ) { + addictions.erase( iter ); + g->events().send( getID(), type ); + } +} + +int Character::addiction_level( add_type type ) const +{ + auto iter = std::find_if( addictions.begin(), addictions.end(), + [type]( const addiction & ad ) { + return ad.type == type; + } ); + return iter != addictions.end() ? iter->intensity : 0; +} + +int Character::leak_level( const std::string &flag ) const +{ + int leak_level = 0; + leak_level = inv.leak_level( flag ); + return leak_level; +} diff --git a/src/teleport.cpp b/src/teleport.cpp index 68f6f9918e037..00c0b6deed413 100644 --- a/src/teleport.cpp +++ b/src/teleport.cpp @@ -67,7 +67,7 @@ bool teleport::teleport( Creature &critter, int min_distance, int max_distance, } else { const bool poor_soul_is_u = ( poor_soul == &g->u ); if( poor_soul_is_u ) { - add_msg( m_bad, _( "..." ) ); + add_msg( m_bad, _( "…" ) ); add_msg( m_bad, _( "You explode into thousands of fragments." ) ); } if( p ) { diff --git a/src/text_snippets.cpp b/src/text_snippets.cpp index 1b5093063a330..f81998b6818b1 100644 --- a/src/text_snippets.cpp +++ b/src/text_snippets.cpp @@ -1,22 +1,21 @@ #include "text_snippets.h" #include -#include #include #include +#include "generic_factory.h" #include "json.h" #include "rng.h" -#include "translations.h" - -static const std::string null_string; snippet_library SNIPPET; -snippet_library::snippet_library() = default; - void snippet_library::load_snippet( JsonObject &jsobj ) { + if( hash_to_id_migration.has_value() ) { + debugmsg( "snippet_library::load_snippet called after snippet_library::migrate_hash_to_id." ); + } + hash_to_id_migration = cata::nullopt; const std::string category = jsobj.get_string( "category" ); if( jsobj.has_array( "text" ) ) { JsonArray jarr = jsobj.get_array( "text" ); @@ -28,10 +27,17 @@ void snippet_library::load_snippet( JsonObject &jsobj ) void snippet_library::add_snippets_from_json( const std::string &category, JsonArray &jarr ) { + if( hash_to_id_migration.has_value() ) { + debugmsg( "snippet_library::add_snippets_from_json called after snippet_library::migrate_hash_to_id." ); + } + hash_to_id_migration = cata::nullopt; while( jarr.has_more() ) { if( jarr.test_string() ) { - const std::string text = jarr.next_string(); - add_snippet( category, text ); + translation text; + if( !jarr.read_next( text ) ) { + jarr.throw_error( "Error reading snippet from JSON array" ); + } + snippets_by_category[category].no_id.emplace_back( text ); } else { JsonObject jo = jarr.next_object(); add_snippet_from_json( category, jo ); @@ -41,73 +47,45 @@ void snippet_library::add_snippets_from_json( const std::string &category, JsonA void snippet_library::add_snippet_from_json( const std::string &category, JsonObject &jo ) { - const std::string text = jo.get_string( "text" ); - const int hash = add_snippet( category, text ); + if( hash_to_id_migration.has_value() ) { + debugmsg( "snippet_library::add_snippet_from_json called after snippet_library::migrate_hash_to_id." ); + } + hash_to_id_migration = cata::nullopt; + translation text; + mandatory( jo, false, "text", text ); if( jo.has_member( "id" ) ) { const std::string id = jo.get_string( "id" ); - snippets_by_id[id] = hash; + if( snippets_by_id.find( id ) != snippets_by_id.end() ) { + jo.throw_error( "Duplicate snippet id", "id" ); + } + snippets_by_category[category].ids.emplace_back( id ); + snippets_by_id[id] = text; + } else { + snippets_by_category[category].no_id.emplace_back( text ); } } -int snippet_library::add_snippet( const std::string &category, const std::string &text ) -{ - int hash = djb2_hash( reinterpret_cast( text.c_str() ) ); - snippets.insert( std::pair( hash, text ) ); - categories.insert( std::pair( category, hash ) ); - return hash; -} - -bool snippet_library::has_category( const std::string &category ) const -{ - return categories.lower_bound( category ) != categories.end(); -} - void snippet_library::clear_snippets() { - snippets.clear(); + hash_to_id_migration = cata::nullopt; + snippets_by_category.clear(); snippets_by_id.clear(); - categories.clear(); -} - -int snippet_library::get_snippet_by_id( const std::string &id ) const -{ - const auto it = snippets_by_id.find( id ); - if( it != snippets_by_id.end() ) { - return it->second; - } - return 0; } -int snippet_library::assign( const std::string &category ) const +bool snippet_library::has_category( const std::string &category ) const { - return assign( category, rng_bits() ); + return snippets_by_category.find( category ) != snippets_by_category.end(); } -int snippet_library::assign( const std::string &category, const unsigned seed ) const +cata::optional snippet_library::get_snippet_by_id( const std::string &id ) const { - const int count = categories.count( category ); - if( count == 0 ) { - return 0; - } - std::mt19937 generator( seed ); - std::uniform_int_distribution dis( 0, count - 1 ); - const int selected_text = dis( generator ); - std::multimap::const_iterator it = categories.lower_bound( category ); - for( int index = 0; index < selected_text; ++index ) { - ++it; + const auto it = snippets_by_id.find( id ); + if( it == snippets_by_id.end() ) { + return cata::nullopt; } return it->second; } -std::string snippet_library::get( const int index ) const -{ - const std::map::const_iterator chosen_snippet = snippets.find( index ); - if( chosen_snippet == snippets.end() ) { - return null_string; - } - return _( chosen_snippet->second ); -} - std::string snippet_library::expand( const std::string &str ) const { size_t tag_begin = str.find( '<' ); @@ -120,42 +98,71 @@ std::string snippet_library::expand( const std::string &str ) const } std::string symbol = str.substr( tag_begin, tag_end - tag_begin + 1 ); - std::string replacement = random_from_category( symbol ); - if( replacement.empty() ) { + cata::optional replacement = random_from_category( symbol ); + if( !replacement.has_value() ) { return str.substr( 0, tag_end + 1 ) + expand( str.substr( tag_end + 1 ) ); } return str.substr( 0, tag_begin ) - + expand( replacement ) + + expand( replacement.value().translated() ) + expand( str.substr( tag_end + 1 ) ); } -std::string snippet_library::random_from_category( const std::string &cat ) const +cata::optional snippet_library::random_id_from_category( const std::string &cat ) const { - const auto iters = categories.equal_range( cat ); - if( iters.first == iters.second ) { - return null_string; + const auto it = snippets_by_category.find( cat ); + if( it == snippets_by_category.end() ) { + return cata::nullopt; } + if( !it->second.no_id.empty() ) { + debugmsg( "ids are required, but not specified for some snippets in category %s", cat ); + } + if( it->second.ids.empty() ) { + return cata::nullopt; + } + return random_entry( it->second.ids ); +} - const int count = std::distance( iters.first, iters.second ); - const int index = rng( 0, count - 1 ); - auto iter = iters.first; - std::advance( iter, index ); - return expand( get( iter->second ) ); +cata::optional snippet_library::random_from_category( const std::string &cat ) const +{ + return random_from_category( cat, rng_bits() ); } -std::vector snippet_library::all_ids_from_category( const std::string &cat ) const +cata::optional snippet_library::random_from_category( const std::string &cat, + unsigned int seed ) const { - std::vector ret; - const auto iters = categories.equal_range( cat ); - if( iters.first == categories.end() ) { - return ret; + const auto it = snippets_by_category.find( cat ); + if( it == snippets_by_category.end() ) { + return cata::nullopt; } - - for( auto iter = iters.first; iter != iters.second; iter++ ) { - ret.push_back( iter->second ); + if( it->second.ids.empty() && it->second.no_id.empty() ) { + return cata::nullopt; + } + const size_t count = it->second.ids.size() + it->second.no_id.size(); + std::mt19937 generator( seed ); + std::uniform_int_distribution dis( 0, count - 1 ); + const size_t index = dis( generator ); + if( index < it->second.ids.size() ) { + return get_snippet_by_id( it->second.ids[index] ); + } else { + return it->second.no_id[index - it->second.ids.size()]; } - - return ret; } +cata::optional snippet_library::migrate_hash_to_id( const int hash ) +{ + if( !hash_to_id_migration.has_value() ) { + hash_to_id_migration.emplace(); + for( const auto &id_and_text : snippets_by_id ) { + cata::optional hash = id_and_text.second.legacy_hash(); + if( hash ) { + hash_to_id_migration->emplace( hash.value(), id_and_text.first ); + } + } + } + const auto it = hash_to_id_migration->find( hash ); + if( it == hash_to_id_migration->end() ) { + return cata::nullopt; + } + return it->second; +} diff --git a/src/text_snippets.h b/src/text_snippets.h index 19641f5a0290d..ef8d7832ae7ab 100644 --- a/src/text_snippets.h +++ b/src/text_snippets.h @@ -2,69 +2,103 @@ #ifndef TEXT_SNIPPETS_H #define TEXT_SNIPPETS_H -#include #include #include #include +#include "optional.h" +#include "translations.h" + class JsonObject; class JsonArray; class snippet_library { public: - snippet_library(); - /** * Load snippet from the standalone entry, used by the @ref DynamicDataLoader. */ void load_snippet( JsonObject &jsobj ); /** - * Returns the id of a random snippet out of the given category. - */ - int assign( const std::string &category ) const; - /** - * Like @ref assign, but with an explicit seed to the RNG. The seed decides which - * snippet out of the category is returned (same seed yields same snippet). + * Load all snippet definitions in the json array into given category. + * Entries in the array can be simple strings, or json objects (for the + * later see add_snippet_from_json). */ - int assign( const std::string &category, unsigned seed ) const; - std::string get( int index ) const; - std::string expand( const std::string &str ) const; - bool has_category( const std::string &category ) const; - int get_snippet_by_id( const std::string &id ) const; - std::string random_from_category( const std::string &cat ) const; - std::vector all_ids_from_category( const std::string &cat ) const; + void add_snippets_from_json( const std::string &category, JsonArray &jarr ); /** * Load a single snippet text from the json object. The object should have * a "text" member with the text of the snippet. * A "id" member is optional and if present gives the snippet text a id, * stored in snippets_by_id. */ - void add_snippets_from_json( const std::string &category, JsonArray &jarr ); - + void add_snippet_from_json( const std::string &category, JsonObject &jo ); void clear_snippets(); - private: + + bool has_category( const std::string &category ) const; /** - * Adds the snippet text, puts it into @ref categories and @ref snippets. - * Snippet texts must already be translated! - * @return the hash of the snippet. + * Returns the snippet referenced by the id, or cata::nullopt if there + * is no snippet with such id. + * The tags in the snippet are not automatically expanded - you need to + * call `expand()` to do that. */ - int add_snippet( const std::string &category, const std::string &text ); - void add_snippet_from_json( const std::string &category, JsonObject &jo ); + cata::optional get_snippet_by_id( const std::string &id ) const; /** - * Load all snippet definitions in the json array into given category. - * Entries in the array can be simple strings, or json objects (for the - * later see add_snippet_from_json). + * Expand the string by recursively replacing tags in angle brackets (<>) + * with random snippets from the tags' respective category. For example, + * if the string is "", the function then replaces "" + * with a snippet from the "" category, and "" with a snippet + * from the "" category, and returns, for example, "okay!". If a tag + * does not have a corresponding category, it is copied to the final string, + * for example, "drop , ?" may expand to "drop , okay?" + * because "" is a special tag that does not have a category defined + * in the JSON files. + */ + std::string expand( const std::string &str ) const; + /** + * Returns the id of a random snippet out of the given category. + * Snippets without an id will NOT be returned by this function. + * If there isn't any snippet in the category, or if none of the snippets + * in the category has an id, cata::nullopt is returned. + */ + cata::optional random_id_from_category( const std::string &cat ) const; + /** + * Returns a random snippet out of the given category. Both snippets with + * or without an id may be returned. + * If there isn't any snippet in the category, cata::nullopt is returned. + * The tags in the snippet are not automatically expanded - you need to + * call `expand()` to do that. */ - // Snippets holds a map from the strings hash to the string. - // The strings stored and used for hashing are untranslated in case the language changes. - // This is so the reference to the string remains stable across - // changes to the layout and contents of the snippets json file. - std::map snippets; - // Key is an arbitrary id string (from json), value is the hash of the untranslated snippet. - std::unordered_map snippets_by_id; - // Categories groups snippets by well, category. - std::multimap categories; + cata::optional random_from_category( const std::string &cat ) const; + /** + * Use the given seed to select a random snippet from the category. + * For the same seed, the returned snippet stays the same *in a single + * game session*, but may change after reloading or restarting a game, + * due to layout changes in the JSON files, for example. If there isn't + * any snippet in the category, cata::nullopt is returned. + * The tags in the snippet are not automatically expanded - you need to + * call `expand()` to do that. + * + * @todo: make the result stay the same through different game sessions + */ + cata::optional random_from_category( const std::string &cat, unsigned int seed ) const; + /** + * Used only for legacy compatibility. `hash_to_id_migration` will be + * initialized if it hasn't been yet, and the snippet with the given + * hash is looked up and returned. If there's no longer any snippet with + * the given hash, cata::nullopt is returned instead. + */ + cata::optional migrate_hash_to_id( int hash ); + + private: + std::unordered_map snippets_by_id; + + struct category_snippets { + std::vector ids; + std::vector no_id; + }; + std::unordered_map snippets_by_category; + + cata::optional> hash_to_id_migration; }; extern snippet_library SNIPPET; diff --git a/src/text_style_check.h b/src/text_style_check.h new file mode 100644 index 0000000000000..b707954aaf7f6 --- /dev/null +++ b/src/text_style_check.h @@ -0,0 +1,202 @@ +#pragma once +#ifndef TEXT_STYLE_CHECK_H +#define TEXT_STYLE_CHECK_H + +// This is used in both the game itself and the clang-tidy check, +// so only system headers should be included here. +#include +#include + +enum class text_style_fix { + removal, + insertion, + replacement +}; + +enum class fix_end_of_string_spaces { + no, + yes +}; + +enum class escape_unicode { + no, + yes +}; + +// Check text style in the c++ code and json files. +template +void text_style_check( Iter beg, Iter end, + const fix_end_of_string_spaces eos_spaces, + const escape_unicode esc_unicode, + const std::function &suggest_fix ) +{ + struct punctuation { + std::u32string symbol; + std::u32string follow; + struct { + bool check; + size_t min_string_length = 0; + size_t min_word_length = 0; + size_t fix_spaces_min = 0; + size_t fix_spaces_max = 0; + size_t fix_spaces_to = 0; + // remove unnecessary spaces at string end + size_t fix_end_max = 0; + // remove unnecessary spaces at line end (before '\n') + size_t fix_line_end_max = 0; + // remove unnecessary spaces after a symbol that starts a string + size_t fix_start_max = 0; + // remove unnecessary spaces after a symbol that starts a line (after '\n') + size_t fix_line_start_max = 0; + // remove unnecessary spaces before the symbol + size_t fix_before_max = 0; + } spaces; + struct { + bool yes; + std::string str {}; + std::string escaped {}; + std::string sym_desc {}; + std::string replace_desc {}; + } replace; + }; + // always put the longest (in u32) symbols at the front, since we'll iterate + // and search for them in this order. + // *INDENT-OFF* + static const std::array punctuations = {{ + // symbol,follow, spaces, replace, + // check, len, num spc, end,start,before yes, string, escaped, symbol desc, replc desc + { U"...", U"", { true, 0, 1, 0, 0, 0, 2, 2, 2, 2, 0 }, { true, "\u2026", R"(\u2026)", "three dots", "ellipsis" } }, + { U"::", U"", { false, }, { false, } }, + { U"!=", U"", { false, }, { false, } }, + { U"\r\n", U"", { false, }, { true, R"(\n)", R"(\n)", "carriage return", "new line" } }, + { U"\u2026", U"", { true, 0, 1, 0, 0, 0, 2, 2, 2, 2, 0 }, { false, } }, + { U".", U"", { true, 0, 3, 1, 3, 2, 0, 2, 0, 0, 0 }, { false, } }, + { U";", U"", { true, 0, 1, 1, 2, 1, 1, 1, 0, 0, 1 }, { false, } }, + { U"!", U"!?", { true, 0, 1, 1, 3, 2, 2, 2, 0, 0, 1 }, { false, } }, + { U"?", U"!?", { true, 0, 1, 1, 3, 2, 2, 2, 0, 0, 1 }, { false, } }, + { U":", U"", { true, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0 }, { false, } }, + { U",", U"", { true, 0, 1, 1, 2, 1, 0, 1, 0, 0, 1 }, { false, } }, + { U"\r", U"", { false, }, { true, R"(\n)", R"(\n)", "carriage return", "new line" } }, + { U"\n", U"", { true, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1 }, { false, } }, + { U"\t", U"", { false, }, { true, " ", " ", "tab", "spaces" } }, + }}; + // *INDENT-ON* + + const size_t text_length = std::distance( beg, end ); + for( auto it = beg; it < end; ) { + auto itpunc = it; + auto punc = punctuations.begin(); + for( ; punc < punctuations.end(); ++punc ) { + auto itpuncend = it; + bool matches = true; + for( auto isym = punc->symbol.begin(); isym < punc->symbol.end(); ++isym, ++itpuncend ) { + if( itpuncend >= end || *isym != *itpuncend ) { + matches = false; + break; + } + } + if( !matches ) { + continue; + } + for( ; itpuncend < end; ++itpuncend ) { + if( punc->follow.find( *itpuncend ) == std::u32string::npos ) { + break; + } + } + it = itpuncend; + break; + } + if( punc >= punctuations.end() ) { + ++it; + continue; + } + if( punc->replace.yes ) { + const std::string &replace = esc_unicode == escape_unicode::yes ? + punc->replace.escaped : punc->replace.str; + suggest_fix( text_style_fix::replacement, + punc->replace.replace_desc + " preferred over " + punc->replace.sym_desc + ".", + beg, end, itpunc, itpunc, it, replace ); + } + if( punc->spaces.check && text_length >= punc->spaces.min_string_length ) { + size_t spacesbefore = 0; + auto itspacebefore = itpunc; + for( ; itspacebefore > beg; --itspacebefore, ++spacesbefore ) { + const uint32_t ch = *( itspacebefore - 1 ); + if( ch != U' ' ) { + break; + } + } + if( spacesbefore > 0 && spacesbefore <= punc->spaces.fix_before_max ) { + suggest_fix( text_style_fix::removal, + "unnecessary spaces before this location.", + beg, end, itpunc, itspacebefore, itpunc, {} ); + } + size_t wordlen = 0; + for( auto itword = itpunc; itword > beg; --itword, ++wordlen ) { + const uint32_t ch = *( itword - 1 ); + if( ( ch < U'a' || ch > U'z' ) && ( ch < U'A' || ch > U'Z' ) && + ( ch < U'0' || ch > U'9' ) && ch != U'-' ) { + break; + } + } + bool after_word = wordlen >= punc->spaces.min_word_length; + auto itspaceend = it; + size_t spacelen = 0; + for( ; itspaceend < end && *itspaceend == U' '; ++itspaceend, ++spacelen ) { + } + if( after_word && itspaceend >= end ) { + if( eos_spaces == fix_end_of_string_spaces::yes && + spacelen > 0 && spacelen <= punc->spaces.fix_end_max ) { + suggest_fix( text_style_fix::removal, + "unnecessary spaces at end of string.", + beg, end, it, it, itspaceend, {} ); + } + } else if( after_word && *itspaceend == U'\n' ) { + if( spacelen > 0 && spacelen <= punc->spaces.fix_line_end_max ) { + suggest_fix( text_style_fix::removal, + "unnecessary spaces at end of line.", + beg, end, it, it, itspaceend, {} ); + } + } else if( itpunc <= beg ) { + if( spacelen > 0 && spacelen <= punc->spaces.fix_line_start_max ) { + suggest_fix( text_style_fix::removal, + "undesired spaces after a punctuation that starts a string.", + beg, end, it, it, itspaceend, {} ); + } + } else if( itpunc > beg && *( itpunc - 1 ) == U'\n' ) { + if( spacelen > 0 && spacelen <= punc->spaces.fix_start_max ) { + suggest_fix( text_style_fix::removal, + "undesired spaces after a punctuation that starts a line.", + beg, end, it, it, itspaceend, {} ); + } + } else if( after_word ) { + if( spacelen >= punc->spaces.fix_spaces_min && + spacelen < punc->spaces.fix_spaces_to ) { + suggest_fix( text_style_fix::insertion, + "insufficient spaces at this location. " + + std::to_string( punc->spaces.fix_spaces_to ) + + " required, but only " + std::to_string( spacelen ) + + " found.", + beg, end, it, it, it, + std::string( punc->spaces.fix_spaces_to - spacelen, ' ' ) ); + } else if( spacelen > punc->spaces.fix_spaces_to && + spacelen <= punc->spaces.fix_spaces_max ) { + suggest_fix( text_style_fix::removal, + "excessive spaces at this location. " + + std::to_string( punc->spaces.fix_spaces_to ) + + " required, but " + std::to_string( spacelen ) + + " found.", + beg, end, it, itspaceend - ( spacelen - punc->spaces.fix_spaces_to ), + itspaceend, {} ); + } + } + it = itspaceend; + } + } +} + +#endif // TEXT_STYLE_CHECK diff --git a/src/translations.cpp b/src/translations.cpp index aaf0c74a7d883..2bd330314ea63 100644 --- a/src/translations.cpp +++ b/src/translations.cpp @@ -23,16 +23,20 @@ #include "name.h" #include "output.h" #include "path_info.h" +#include "rng.h" +#include "text_style_check.h" #include "cursesdef.h" #include "cata_utility.h" +extern bool test_mode; + // Names depend on the language settings. They are loaded from different files // based on the currently used language. If that changes, we have to reload the // names. static void reload_names() { Name::clear(); - Name::load_from_file( PATH_INFO::find_translated_file( "namesdir", ".json", "names" ) ); + Name::load_from_file( PATH_INFO::names() ); } static bool sanity_checked_genders = false; @@ -205,11 +209,11 @@ void set_language() // Since we're using libintl-lite instead of libintl on Android, we hack the locale_dir to point directly to the .mo file. // This is because of our hacky libintl-lite bindtextdomain() implementation. auto env = getenv( "LANGUAGE" ); - locale_dir = std::string( FILENAMES["base_path"] + "lang/mo/" + ( env ? env : "none" ) + + locale_dir = std::string( PATH_INFO::base_path() + "lang/mo/" + ( env ? env : "none" ) + "/LC_MESSAGES/cataclysm-dda.mo" ); #elif (defined(__linux__) || (defined(MACOSX) && !defined(TILES))) - if( !FILENAMES["base_path"].empty() ) { - locale_dir = FILENAMES["base_path"] + "share/locale"; + if( !PATH_INFO::base_path().empty() ) { + locale_dir = PATH_INFO::base_path() + "share/locale"; } else { locale_dir = "lang/mo"; } @@ -425,7 +429,21 @@ void translation::make_plural() void translation::deserialize( JsonIn &jsin ) { +#ifndef CATA_IN_TOOL + bool check_style = false; + std::function throw_error; +#endif if( jsin.test_string() ) { +#ifndef CATA_IN_TOOL + if( test_mode ) { + const int origin = jsin.tell(); + check_style = true; + throw_error = [&jsin, origin]( const std::string & msg, const int offset ) { + jsin.seek( origin ); + jsin.error( msg, offset ); + }; + } +#endif ctxt = cata::nullopt; raw = jsin.get_string(); // if plural form is enabled @@ -452,7 +470,64 @@ void translation::deserialize( JsonIn &jsin ) jsobj.throw_error( "str_pl not supported here", "str_pl" ); } needs_translation = true; +#ifndef CATA_IN_TOOL + if( test_mode ) { + check_style = !jsobj.has_member( "//NOLINT(cata-text-style)" ); + throw_error = [&jsobj]( const std::string & msg, const int offset ) { + jsobj.get_raw( "str" )->error( msg, offset ); + }; + } +#endif } +#ifndef CATA_IN_TOOL + // Check text style in translatable json strings. + // Strings with plural forms are (for now) only simple names, and thus do + // not require styling. + if( test_mode && !raw_pl && check_style ) { + + const auto text_style_callback = + [&throw_error] + ( const text_style_fix type, const std::string & msg, + const std::u32string::const_iterator & beg, const std::u32string::const_iterator & /*end*/, + const std::u32string::const_iterator & /*at*/, + const std::u32string::const_iterator & from, const std::u32string::const_iterator & to, + const std::string & fix + ) { + std::ostringstream err; + switch( type ) { + case text_style_fix::removal: + err << msg << "\n" + << " Suggested fix: remove \"" << utf32_to_utf8( std::u32string( from, to ) ) << "\"\n" + << " At the following position (marked with caret)"; + break; + case text_style_fix::insertion: + err << msg << "\n" + << " Suggested fix: insert \"" << fix << "\"\n" + << " At the following position (marked with caret)"; + break; + case text_style_fix::replacement: + err << msg << "\n" + << " Suggested fix: replace \"" << utf32_to_utf8( std::u32string( from, to ) ) + << "\" with \"" << fix << "\"\n" + << " At the following position (marked with caret)"; + break; + } + try { + const std::string str_before = utf32_to_utf8( std::u32string( beg, to ) ); + // +1 for the starting quotation mark + //@todo: properly handle escape sequences inside strings, instead + //of using `length()` here. + throw_error( err.str(), 1 + str_before.length() ); + } catch( const JsonError &e ) { + debugmsg( "\n%s", e.what() ); + } + }; + + const std::u32string raw32 = utf8_to_utf32( raw ); + text_style_check( raw32.cbegin(), raw32.cend(), + fix_end_of_string_spaces::yes, escape_unicode::no, text_style_callback ); + } +#endif } std::string translation::translated( const int num ) const @@ -505,6 +580,16 @@ bool translation::operator!=( const translation &that ) const return !operator==( that ); } +cata::optional translation::legacy_hash() const +{ + if( needs_translation && !ctxt && !raw_pl ) { + return djb2_hash( reinterpret_cast( raw.c_str() ) ); + } + // Otherwise the translation must have been added after snippets were changed + // to use string ids only, so the translation doesn't have a legacy hash value. + return cata::nullopt; +} + translation to_translation( const std::string &raw ) { return translation::to_translation( raw ); diff --git a/src/translations.h b/src/translations.h index 3f49964395ac7..d2a0dfa83db5e 100644 --- a/src/translations.h +++ b/src/translations.h @@ -200,6 +200,11 @@ class translation */ bool operator==( const translation &that ) const; bool operator!=( const translation &that ) const; + + /** + * Only used for migrating old snippet hashes into snippet ids. + */ + cata::optional legacy_hash() const; private: translation( const std::string &ctxt, const std::string &raw ); translation( const std::string &raw ); diff --git a/src/trap.cpp b/src/trap.cpp index 45a0fa35ab9f3..9c0df7e791280 100644 --- a/src/trap.cpp +++ b/src/trap.cpp @@ -198,7 +198,7 @@ bool trap::detect_trap( const tripoint &pos, const player &p ) const ///\EFFECT_PER increases chance of detecting a trap return p.per_cur - p.encumb( bp_eyes ) / 10 + // ...small bonus from stimulants... - ( p.stim > 10 ? rng( 1, 2 ) : 0 ) + + ( p.get_stim() > 10 ? rng( 1, 2 ) : 0 ) + // ...bonus from trap skill... ///\EFFECT_TRAPS increases chance of detecting a trap p.get_skill_level( skill_traps ) * 2 + diff --git a/src/trapfunc.cpp b/src/trapfunc.cpp index d712b20ceb560..f4555d235cf0c 100644 --- a/src/trapfunc.cpp +++ b/src/trapfunc.cpp @@ -126,7 +126,7 @@ bool trapfunc::cot( const tripoint &, Creature *c, item * ) monster *z = dynamic_cast( c ); if( z != nullptr ) { // Haha, only monsters stumble over a cot, humans are smart. - add_msg( m_good, _( "The %s stumbles over the cot" ), z->name() ); + add_msg( m_good, _( "The %s stumbles over the cot!" ), z->name() ); c->moves -= 100; return true; } @@ -150,7 +150,6 @@ bool trapfunc::beartrap( const tripoint &p, Creature *c, item * ) _( "A bear trap closes on 's foot!" ) ); if( c->has_effect( effect_ridden ) ) { add_msg( m_warning, _( "Your %s is caught by a beartrap!" ), c->get_name() ); - g->u.add_effect( effect_beartrap, 1_turns, hit, true ); } // Actual effects c->add_effect( effect_beartrap, 1_turns, hit, true ); @@ -547,7 +546,6 @@ bool trapfunc::snare_light( const tripoint &p, Creature *c, item * ) // Messages if( c->has_effect( effect_ridden ) ) { add_msg( m_bad, _( "A snare closes on your %s's leg!" ), c->get_name() ); - g->u.add_effect( effect_lightsnare, 1_turns, hit, true ); } c->add_msg_player_or_npc( m_bad, _( "A snare closes on your leg." ), _( "A snare closes on s leg." ) ); @@ -572,8 +570,7 @@ bool trapfunc::snare_heavy( const tripoint &p, Creature *c, item * ) // Determine what got hit const body_part hit = one_in( 2 ) ? bp_leg_l : bp_leg_r; if( c->has_effect( effect_ridden ) ) { - add_msg( m_bad, _( "A snare closes on your %s's leg" ), c->get_name() ); - g->u.add_effect( effect_heavysnare, 1_turns, hit, true ); + add_msg( m_bad, _( "A snare closes on your %s's leg!" ), c->get_name() ); } //~ %s is bodypart name in accusative. c->add_msg_player_or_npc( m_bad, _( "A snare closes on your %s." ), @@ -640,10 +637,10 @@ bool trapfunc::telepad( const tripoint &p, Creature *c, item * ) return false; } if( c == &g->u ) { - c->add_msg_if_player( m_warning, _( "The air shimmers around you..." ) ); + c->add_msg_if_player( m_warning, _( "The air shimmers around you…" ) ); } else { if( g->u.sees( p ) ) { - add_msg( _( "The air shimmers around %s..." ), c->disp_name() ); + add_msg( _( "The air shimmers around %s…" ), c->disp_name() ); } } teleport::teleport( *c ); @@ -710,22 +707,22 @@ bool trapfunc::dissector( const tripoint &p, Creature *c, item * ) } // distribute damage amongst player and horse if( z->has_effect( effect_ridden ) && z->mounted_player ) { - player *pl = z->mounted_player; - pl->deal_damage( nullptr, bp_head, damage_instance( DT_CUT, 15 ) ); - pl->deal_damage( nullptr, bp_torso, damage_instance( DT_CUT, 20 ) ); - pl->deal_damage( nullptr, bp_arm_r, damage_instance( DT_CUT, 12 ) ); - pl->deal_damage( nullptr, bp_arm_l, damage_instance( DT_CUT, 12 ) ); - pl->deal_damage( nullptr, bp_hand_r, damage_instance( DT_CUT, 10 ) ); - pl->deal_damage( nullptr, bp_hand_l, damage_instance( DT_CUT, 10 ) ); - pl->deal_damage( nullptr, bp_leg_r, damage_instance( DT_CUT, 12 ) ); - pl->deal_damage( nullptr, bp_leg_r, damage_instance( DT_CUT, 12 ) ); - pl->deal_damage( nullptr, bp_foot_l, damage_instance( DT_CUT, 10 ) ); - pl->deal_damage( nullptr, bp_foot_r, damage_instance( DT_CUT, 10 ) ); + Character *ch = z->mounted_player; + ch->deal_damage( nullptr, bp_head, damage_instance( DT_CUT, 15 ) ); + ch->deal_damage( nullptr, bp_torso, damage_instance( DT_CUT, 20 ) ); + ch->deal_damage( nullptr, bp_arm_r, damage_instance( DT_CUT, 12 ) ); + ch->deal_damage( nullptr, bp_arm_l, damage_instance( DT_CUT, 12 ) ); + ch->deal_damage( nullptr, bp_hand_r, damage_instance( DT_CUT, 10 ) ); + ch->deal_damage( nullptr, bp_hand_l, damage_instance( DT_CUT, 10 ) ); + ch->deal_damage( nullptr, bp_leg_r, damage_instance( DT_CUT, 12 ) ); + ch->deal_damage( nullptr, bp_leg_r, damage_instance( DT_CUT, 12 ) ); + ch->deal_damage( nullptr, bp_foot_l, damage_instance( DT_CUT, 10 ) ); + ch->deal_damage( nullptr, bp_foot_r, damage_instance( DT_CUT, 10 ) ); if( g->u.sees( p ) ) { - pl->add_msg_player_or_npc( m_bad, _( "Electrical beams emit from the floor and slice your flesh!" ), + ch->add_msg_player_or_npc( m_bad, _( "Electrical beams emit from the floor and slice your flesh!" ), _( "Electrical beams emit from the floor and slice s flesh!" ) ); } - pl->check_dead_state(); + ch->check_dead_state(); } } @@ -1035,7 +1032,7 @@ static bool sinkhole_safety_roll( player *p, const std::string &itemname, const const int throwing_skill_level = p->get_skill_level( skill_throw ); const int roll = rng( throwing_skill_level, throwing_skill_level + p->str_cur + p->dex_cur ); if( roll < diff ) { - p->add_msg_if_player( m_bad, _( "You fail to attach it..." ) ); + p->add_msg_if_player( m_bad, _( "You fail to attach it…" ) ); p->use_amount( itemname, 1 ); g->m.spawn_item( random_neighbor( p->pos() ), itemname ); return false; @@ -1198,7 +1195,8 @@ bool trapfunc::ledge( const tripoint &p, Creature *c, item * ) } if( pl->is_player() ) { - add_msg( m_warning, _( "You fall down a level!" ) ); + add_msg( m_bad, ngettext( "You fall down %d story!", "You fall down %d stories!", height ), + height ); g->vertical_move( -height, true ); } else { pl->setpos( where ); @@ -1211,7 +1209,7 @@ bool trapfunc::ledge( const tripoint &p, Creature *c, item * ) pl->add_msg_if_player( m_info, _( "You hit the ground hard, but your shock absorbers handle the impact admirably!" ) ); } else { - pl->impact( height * 10, where ); + pl->impact( height * 30, where ); } return true; } diff --git a/src/turret.cpp b/src/turret.cpp index 874e8b367eab1..c25574c272647 100644 --- a/src/turret.cpp +++ b/src/turret.cpp @@ -292,12 +292,16 @@ void vehicle::turrets_set_targeting() { std::vector turrets; std::vector locations; + std::vector turret_controls; for( auto &p : parts ) { - if( p.base.is_gun() && !p.info().has_flag( "MANUAL" ) ) { + if( p.base.is_gun() ) { turrets.push_back( &p ); locations.push_back( global_part_pos3( p ) ); } + if( part_flag( index_of_part( &p ), "TURRET_CONTROLS" ) ) { + turret_controls.push_back( &p ); + } } pointmenu_cb callback( locations ); @@ -312,8 +316,11 @@ void vehicle::turrets_set_targeting() menu.w_y = 2; for( auto &p : turrets ) { - menu.addentry( -1, true, MENU_AUTOASSIGN, "%s [%s]", p->name(), - p->enabled ? _( "auto" ) : _( "manual" ) ); + menu.addentry( -1, has_part( global_part_pos3( *p ), "TURRET_CONTROLS" ), MENU_AUTOASSIGN, + "%s [%s]", p->name(), p->enabled ? + _( "auto -> manual" ) : has_part( global_part_pos3( *p ), "TURRET_CONTROLS" ) ? + _( "manual -> auto" ) : + _( "manual (turret control unit required for auto mode)" ) ); } menu.query(); @@ -322,7 +329,12 @@ void vehicle::turrets_set_targeting() } sel = menu.ret; - turrets[ sel ]->enabled = !turrets[ sel ]->enabled; + if( has_part( locations[ sel ], "TURRET_CONTROLS" ) ) { + turrets[sel]->enabled = !turrets[sel]->enabled; + turret_controls[sel]->enabled = turrets[sel]->enabled; + } else { + turrets[sel]->enabled = false; + } // clear the turret's current targets to prevent unwanted auto-firing tripoint pos = locations[ sel ]; @@ -381,7 +393,8 @@ bool vehicle::turrets_aim( bool manual, bool automatic, vehicle_part *tur_part ) } ), last ); if( opts.empty() ) { - add_msg( m_warning, _( "Can't aim turrets: all turrets are offline" ) ); + add_msg( m_warning, + _( "Can't aim turrets: all turrets are offline or set to manual targeting mode." ) ); return false; } diff --git a/src/type_id.h b/src/type_id.h index 80fe66168c136..8daa96f7081e9 100644 --- a/src/type_id.h +++ b/src/type_id.h @@ -43,6 +43,9 @@ using gun_mode_id = string_id; class harvest_list; using harvest_id = string_id; +class item_category; +using item_category_id = string_id; + class ma_buff; using mabuff_id = string_id; diff --git a/src/ui.cpp b/src/ui.cpp index 007c0654bb532..99ebc85249232 100644 --- a/src/ui.cpp +++ b/src/ui.cpp @@ -337,7 +337,7 @@ void uilist::setup() if( w_auto ) { w_width = 4; if( !title.empty() ) { - w_width = title.size() + 5; + w_width = utf8_width( title ) + 5; } } const int max_desc_width = w_auto ? TERMX - 4 : w_width - 4; @@ -583,8 +583,6 @@ void uilist::show() wprintz( window, border_color, " >" ); } - const int pad_size = std::max( 0, w_width - 2 - pad_left - pad_right ); - std::string padspaces = std::string( pad_size, ' ' ); const int text_lines = textformatted.size(); int estart = 1; if( !textformatted.empty() ) { @@ -602,6 +600,9 @@ void uilist::show() calcStartPos( vshift, fselected, vmax, fentries.size() ); + const int pad_size = std::max( 0, w_width - 2 - pad_left - pad_right ); + const std::string padspaces = std::string( pad_size, ' ' ); + for( int fei = vshift, si = 0; si < vmax; fei++, si++ ) { if( fei < static_cast( fentries.size() ) ) { int ei = fentries [ fei ]; @@ -620,8 +621,8 @@ void uilist::show() mvwprintz( window, point( pad_left + 2, estart + si ), entries[ ei ].enabled ? hotkey_co : co, "%c", entries[ ei ].hotkey ); } - if( padspaces.size() > 3 ) { - // padspaces's length indicates the maximal width of the entry, it is used above to + if( pad_size > 3 ) { + // pad_size indicates the maximal width of the entry, it is used above to // activate the highlighting, it is used to override previous text there, but in both // cases printing starts at pad_left+1, here it starts at pad_left+4, so 3 cells less // to be used. diff --git a/src/units.h b/src/units.h index dcc5afa8be355..68e30a0a723b6 100644 --- a/src/units.h +++ b/src/units.h @@ -9,6 +9,7 @@ #include "calendar.h" #include "json.h" +#include "translations.h" namespace units { @@ -488,6 +489,20 @@ inline std::ostream &operator<<( std::ostream &o, const quantity= 1 && float( j ) / kj == 1000 ) { // at least 1 kJ and there is no fraction + return to_string( kj ) + ' ' + pgettext( "energy unit: kilojoule", "kJ" ); + } + const int mj = units::to_millijoule( v ); + if( j >= 1 && float( mj ) / j == 1000 ) { // at least 1 J and there is no fraction + return to_string( j ) + ' ' + pgettext( "energy unit: joule", "J" ); + } + return to_string( mj ) + ' ' + pgettext( "energy unit: millijoule", "mJ" ); +} + } // namespace units // Implicitly converted to volume, which has int as value_type! @@ -502,6 +517,18 @@ inline constexpr units::quantity operat return units::from_milliliter( v ); } +// Implicitly converted to volume, which has int as value_type! +inline constexpr units::volume operator"" _liter( const unsigned long long v ) +{ + return units::from_milliliter( v * 1000 ); +} + +inline constexpr units::quantity operator"" _liter( + const long double v ) +{ + return units::from_milliliter( v * 1000 ); +} + // Implicitly converted to mass, which has int as value_type! inline constexpr units::mass operator"" _milligram( const unsigned long long v ) { diff --git a/src/veh_interact.cpp b/src/veh_interact.cpp index b8aa92e6a0925..9cc5cf0abfc00 100644 --- a/src/veh_interact.cpp +++ b/src/veh_interact.cpp @@ -862,6 +862,7 @@ bool veh_interact::do_install( std::string &msg ) part.has_flag( "FORGE" ) || part.has_flag( "HORN" ) || part.has_flag( "BEEPER" ) || + part.has_flag( "AUTOPILOT" ) || part.has_flag( "WATCH" ) || part.has_flag( "ALARMCLOCK" ) || part.has_flag( VPFLAG_RECHARGE ) || @@ -963,10 +964,10 @@ bool veh_interact::do_install( std::string &msg ) if( can_install ) { switch( reason ) { case LOW_MORALE: - msg = _( "Your morale is too low to construct..." ); + msg = _( "Your morale is too low to construct…" ); return false; case LOW_LIGHT: - msg = _( "It's too dark to see what you are doing..." ); + msg = _( "It's too dark to see what you are doing…" ); return false; case MOVING_VEHICLE: msg = _( "You can't install parts while driving." ); @@ -1075,10 +1076,10 @@ bool veh_interact::do_repair( std::string &msg ) auto can_repair = [&msg, &reason]() { switch( reason ) { case LOW_MORALE: - msg = _( "Your morale is too low to repair..." ); + msg = _( "Your morale is too low to repair…" ); return false; case LOW_LIGHT: - msg = _( "It's too dark to see what you are doing..." ); + msg = _( "It's too dark to see what you are doing…" ); return false; case MOVING_VEHICLE: msg = _( "You can't repair stuff while driving." ); @@ -1141,7 +1142,7 @@ bool veh_interact::do_repair( std::string &msg ) sel_vpart_info = &vp; const std::vector helpers = g->u.get_crafting_helpers(); for( const npc *np : helpers ) { - add_msg( m_info, _( "%s helps with this task..." ), np->name ); + add_msg( m_info, _( "%s helps with this task…" ), np->name ); } sel_cmd = 'r'; break; @@ -1166,10 +1167,10 @@ bool veh_interact::do_mend( std::string &msg ) { switch( cant_do( 'm' ) ) { case LOW_MORALE: - msg = _( "Your morale is too low to mend..." ); + msg = _( "Your morale is too low to mend…" ); return false; case LOW_LIGHT: - msg = _( "It's too dark to see what you are doing..." ); + msg = _( "It's too dark to see what you are doing…" ); return false; case INVALID_TARGET: msg = _( "No faulty parts require mending." ); @@ -1344,9 +1345,10 @@ bool veh_interact::overview( std::function enabl // if tank contains something then display the contents in milliliters auto details = []( const vehicle_part & pt, const catacurses::window & w, int y ) { right_print( w, y, 1, item::find_type( pt.ammo_current() )->color, - string_format( "%s %3s", + string_format( "%s %s", pt.fuel_current() != "null" ? item::nname( pt.fuel_current() ) : "", - pt.enabled ? _( "Yes" ) : _( "No" ) ) ); + //~ translation should not exceed 3 console cells + right_justify( pt.enabled ? _( "Yes" ) : _( "No" ), 3 ) ) ); }; // display engine faults (if any) @@ -1734,10 +1736,10 @@ bool veh_interact::do_remove( std::string &msg ) if( can_remove && ( action == "REMOVE" || action == "CONFIRM" ) ) { switch( reason ) { case LOW_MORALE: - msg = _( "Your morale is too low to construct..." ); + msg = _( "Your morale is too low to construct…" ); return false; case LOW_LIGHT: - msg = _( "It's too dark to see what you are doing..." ); + msg = _( "It's too dark to see what you are doing…" ); return false; case NOT_FREE: msg = _( "You cannot remove that part while something is attached to it." ); @@ -1750,7 +1752,7 @@ bool veh_interact::do_remove( std::string &msg ) } const std::vector helpers = g->u.get_crafting_helpers(); for( const npc *np : helpers ) { - add_msg( m_info, _( "%s helps with this task..." ), np->name ); + add_msg( m_info, _( "%s helps with this task…" ), np->name ); } sel_cmd = 'o'; break; @@ -1872,7 +1874,7 @@ bool veh_interact::do_rename( std::string & ) .title( _( "Enter new vehicle name:" ) ) .width( 20 ) .query_string(); - if( name.length() > 0 ) { + if( !name.empty() ) { veh->name = name; if( veh->tracking_on ) { overmap_buffer.remove_vehicle( veh ); diff --git a/src/veh_type.cpp b/src/veh_type.cpp index dd665e618ed36..2071442da4fb4 100644 --- a/src/veh_type.cpp +++ b/src/veh_type.cpp @@ -103,6 +103,7 @@ static const std::unordered_map vpart_bitflag_map = { "FLUIDTANK", VPFLAG_FLUIDTANK }, { "REACTOR", VPFLAG_REACTOR }, { "RAIL", VPFLAG_RAIL }, + { "TURRET_CONTROLS", VPFLAG_TURRET_CONTROLS }, }; static const std::vector> standard_terrain_mod = {{ @@ -164,7 +165,7 @@ static void parse_vp_reqs( JsonObject &obj, const std::string &id, const std::st if( !obj.has_object( key ) ) { return; } - auto src = obj.get_object( key ); + JsonObject src = obj.get_object( key ); auto sk = src.get_array( "skills" ); if( !sk.empty() ) { @@ -676,7 +677,7 @@ void vpart_info::check() } } if( part.has_flag( "WHEEL" ) && !base_item_type.wheel ) { - debugmsg( "vehicle part %s has the WHEEL flag, but base item %s is not a wheel. THIS WILL CRASH!", + debugmsg( "vehicle part %s has the WHEEL flag, but base item %s is not a wheel. THIS WILL CRASH!", part.id.c_str(), part.item ); } for( auto &q : part.qualities ) { @@ -973,7 +974,7 @@ void vehicle_prototype::load( JsonObject &jo ) vgroups[vgroup_id( jo.get_string( "id" ) )].add_vehicle( vproto_id( jo.get_string( "id" ) ), 100 ); - const auto add_part_obj = [&]( JsonObject part, point pos ) { + const auto add_part_obj = [&]( JsonObject & part, point pos ) { part_def pt; pt.pos = pos; pt.part = vpart_id( part.get_string( "part" ) ); diff --git a/src/veh_type.h b/src/veh_type.h index 297ac9e27e640..b872fd460719e 100644 --- a/src/veh_type.h +++ b/src/veh_type.h @@ -75,6 +75,7 @@ enum vpart_bitflags : int { VPFLAG_FLUIDTANK, VPFLAG_REACTOR, VPFLAG_RAIL, + VPFLAG_TURRET_CONTROLS, NUM_VPFLAGS }; diff --git a/src/vehicle.cpp b/src/vehicle.cpp index ffbaa61189de9..9446d2a1ce862 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -19,6 +19,7 @@ #include "avatar.h" #include "bionics.h" #include "cata_utility.h" +#include "clzones.h" #include "colony.h" #include "coordinate_conversions.h" #include "debug.h" @@ -203,7 +204,7 @@ units::volume vehicle_stack::max_volume() const { if( myorigin->part_flag( part_num, "CARGO" ) && myorigin->parts[part_num].is_available() ) { // Set max volume for vehicle cargo to prevent integer overflow - return std::min( myorigin->parts[part_num].info().size, 10000000_ml ); + return std::min( myorigin->parts[part_num].info().size, 10000_liter ); } return 0_ml; } @@ -640,78 +641,201 @@ void vehicle::activate_animal_follow() refresh(); } +void vehicle::autopilot_patrol() +{ + /** choose one single zone ( multiple zones too complex for now ) + * choose a point at the far edge of the zone + * the edge chosen is the edge that is smaller, therefore the longer side + * of the rectangle is the one the vehicle drives mostly parrallel too. + * if its perfect square then choose a point that is on any edge that the + * vehicle is not currently at + * drive to that point. + * then once arrived, choose a random opposite point of the zone. + * this should ( in a simple fashion ) cause a patrolling behaviour + * in a criss-cross fashion. + * in an auto-tractor, this would eventually cover the entire rectangle. + */ + // if we are close to a waypoint, then return to come back to this function next turn. + if( autodrive_local_target != tripoint_zero ) { + if( rl_dist( g->m.getabs( global_pos3() ), autodrive_local_target ) <= 3 ) { + autodrive_local_target = tripoint_zero; + return; + } + if( !g->m.inbounds( g->m.getlocal( autodrive_local_target ) ) ) { + autodrive_local_target = tripoint_zero; + is_patrolling = false; + return; + } + drive_to_local_target( autodrive_local_target, false ); + return; + } + zone_manager &mgr = zone_manager::get_manager(); + const auto &zone_src_set = mgr.get_near( zone_type_id( "VEHICLE_PATROL" ), + g->m.getabs( global_pos3() ), 60 ); + if( zone_src_set.empty() ) { + is_patrolling = false; + return; + } + // get corners. + tripoint min; + tripoint max; + for( const tripoint &box : zone_src_set ) { + if( min == tripoint_zero ) { + min = box; + max = box; + continue; + } + min.x = std::min( box.x, min.x ); + min.y = std::min( box.y, min.y ); + min.z = std::min( box.z, min.z ); + max.x = std::max( box.x, max.x ); + max.y = std::max( box.y, max.y ); + max.z = std::max( box.z, max.z ); + } + const bool x_side = ( max.x - min.x ) < ( max.y - min.y ); + const int point_along = x_side ? rng( min.x, max.x ) : rng( min.y, max.y ); + const tripoint max_tri = x_side ? tripoint( point_along, max.y, min.z ) : tripoint( max.x, + point_along, + min.z ); + const tripoint min_tri = x_side ? tripoint( point_along, min.y, min.z ) : tripoint( min.x, + point_along, + min.z ); + tripoint chosen_tri = min_tri; + if( rl_dist( max_tri, g->m.getabs( global_pos3() ) ) >= rl_dist( min_tri, + g->m.getabs( global_pos3() ) ) ) { + chosen_tri = max_tri; + } + autodrive_local_target = chosen_tri; + drive_to_local_target( autodrive_local_target, false ); +} + std::set vehicle::immediate_path( int rotate ) { - int distance_to_check = 10 + ( velocity / 800 ); - tileray collision_vector; + std::set points_to_check; + const int distance_to_check = 10 + ( velocity / 800 ); int adjusted_angle = ( face.dir() + rotate ) % 360; if( adjusted_angle < 0 ) { adjusted_angle += 360; } + // clamp to multiples of 15. + adjusted_angle = ( ( adjusted_angle + 15 / 2 ) / 15 ) * 15; + tileray collision_vector; collision_vector.init( adjusted_angle ); - tripoint vehpos = global_pos3(); - std::set points_to_check; - for( int i = 0; i < distance_to_check; ++i ) { - collision_vector.advance( i ); - for( int y = mount_min.y; y < mount_max.y; ++y ) { - points_to_check.emplace( vehpos.x + collision_vector.dx(), vehpos.y + y + collision_vector.dy() ); - } - } + point top_left_actual = global_pos3().xy() + coord_translate( front_left ); + point top_right_actual = global_pos3().xy() + coord_translate( front_right ); + std::vector front_row = line_to( g->m.getabs( top_left_actual ), + g->m.getabs( top_right_actual ) ); + for( const point &elem : front_row ) { + for( int i = 0; i < distance_to_check; ++i ) { + collision_vector.advance( i ); + point point_to_add = elem + point( collision_vector.dx(), collision_vector.dy() ); + points_to_check.emplace( point_to_add ); + } + } + collision_check_points = points_to_check; return points_to_check; +} +void vehicle::stop_autodriving() +{ + if( velocity > 0 ) { + if( is_patrolling || is_following ) { + autodrive( 0, 10 ); + } else { + pldrive( point( 0, 10 ) ); + } + } + is_autodriving = false; + is_patrolling = false; + is_following = false; + autopilot_on = false; + autodrive_local_target = tripoint_zero; + collision_check_points.clear(); } -void vehicle::drive_to_local_target( const tripoint &autodrive_local_target, bool follow_protocol ) +void vehicle::drive_to_local_target( const tripoint target, bool follow_protocol ) { if( follow_protocol && g->u.in_vehicle ) { - is_following = false; + stop_autodriving(); return; } - tripoint vehpos = global_pos3(); - rl_vec2d facevec = face_vec(); - point rel_pos_target = autodrive_local_target.xy() - vehpos.xy(); - - rl_vec2d targetvec = rl_vec2d( rel_pos_target.x, rel_pos_target.y ); - // cross product - double crossy = ( facevec.x * targetvec.y ) - ( targetvec.x * facevec.y ); - - // dot product. - double dotx = ( facevec.x * targetvec.x ) + ( facevec.y * targetvec.y ); - - double angle = ( atan2( crossy, dotx ) ) * 180 / M_PI; + refresh(); + tripoint vehpos = g->m.getabs( global_pos3() ); + double angle = get_angle_from_targ( target ); // now we got the angle to the target, we can work out when we are heading towards disaster. // Check the tileray in the direction we need to head towards. std::set points_to_check = immediate_path( angle ); - for( const auto &elem : points_to_check ) { + bool stop = false; + + for( const point &pt_elem : points_to_check ) { + point elem = g->m.getlocal( pt_elem ); + if( stop ) { + break; + } const optional_vpart_position ovp = g->m.veh_at( tripoint( elem, sm_pos.z ) ); if( g->m.impassable_ter_furn( tripoint( elem, sm_pos.z ) ) || ( ovp && &ovp->vehicle() != this ) ) { - if( follow_protocol && elem == g->u.pos().xy() ) { + stop = true; + break; + } + if( elem == g->u.pos().xy() ) { + if( follow_protocol || g->u.in_vehicle ) { continue; + } else { + stop = true; + break; } - if( velocity > 0 ) { - pldrive( point( 0, 10 ) ); + } + bool its_a_pet = false; + if( g->critter_at( tripoint( elem, sm_pos.z ) ) ) { + npc *guy = g->critter_at( tripoint( elem, sm_pos.z ) ); + if( guy && !guy->in_vehicle ) { + stop = true; + break; + } + for( const auto &p : parts ) { + monster *mon = get_pet( index_of_part( &p ) ); + if( mon && mon->pos().xy() == elem ) { + its_a_pet = true; + break; + } } - is_autodriving = false; - if( follow_protocol ) { - is_following = false; + if( !its_a_pet ) { + stop = true; + break; } - return; } } + if( stop ) { + if( autopilot_on ) { + sounds::sound( global_pos3(), 30, sounds::sound_t::alert, + string_format( _( "the %s emitting a beep and saying \"Obstacle detected!\"" ), + name ) ); + } + if( velocity > 0 ) { + follow_protocol || + is_patrolling ? autodrive( 0, 10 ) : pldrive( point( 0, 10 ) ); + } + stop_autodriving(); + return; + } int turn_x = 0; if( angle > 10.0 && angle <= 45.0 ) { turn_x = 1; } else if( angle > 45.0 && angle <= 90.0 ) { turn_x = 3; - } else if( angle > 90.0 && angle <= 180.0 ) { + } else if( angle > 90.0 && angle < 180.0 ) { turn_x = 4; } else if( angle < -10.0 && angle >= -45.0 ) { turn_x = -1; } else if( angle < -45.0 && angle >= -90.0 ) { turn_x = -3; - } else if( angle < -90.0 && angle >= -180.0 ) { + } else if( angle < -90.0 && angle > -180.0 ) { turn_x = -4; + // edge case of being exactly on the button for the target. + // just keep driving, the next path point will be picked up. + } else if( ( angle == 180 || angle == -180 ) && vehpos == target ) { + turn_x = 0; } int accel_y = 0; // best to cruise around at a safe velocity or 40mph, whichever is lowest @@ -719,18 +843,19 @@ void vehicle::drive_to_local_target( const tripoint &autodrive_local_target, boo // when following player, take distance to player into account. // we really want to avoid running the player over. int safe_player_follow_speed = 400; - if( g->u.movement_mode_is( PMM_RUN ) ) { + if( g->u.movement_mode_is( CMM_RUN ) ) { safe_player_follow_speed = 800; - } else if( g->u.movement_mode_is( PMM_CROUCH ) ) { + } else if( g->u.movement_mode_is( CMM_CROUCH ) ) { safe_player_follow_speed = 200; } if( follow_protocol ) { if( ( ( turn_x > 0 || turn_x < 0 ) && velocity > safe_player_follow_speed ) || - rl_dist( vehpos, g->u.pos() ) < 7 + ( ( mount_max.y * 3 ) + 4 ) ) { + rl_dist( vehpos, g->m.getabs( g->u.pos() ) ) < 7 + ( ( mount_max.y * 3 ) + 4 ) ) { accel_y = 1; } if( ( velocity < std::min( safe_velocity(), safe_player_follow_speed ) && turn_x == 0 && - rl_dist( vehpos, g->u.pos() ) > 10 + ( ( mount_max.y * 3 ) + 4 ) ) || velocity < 100 ) { + rl_dist( vehpos, g->m.getabs( g->u.pos() ) ) > 10 + ( ( mount_max.y * 3 ) + 4 ) ) || + velocity < 100 ) { accel_y = -1; } } else { @@ -740,27 +865,50 @@ void vehicle::drive_to_local_target( const tripoint &autodrive_local_target, boo if( ( velocity < std::min( safe_velocity(), 32 * 100 ) && turn_x == 0 ) || velocity < 500 ) { accel_y = -1; } + if( is_patrolling && velocity > 400 ) { + accel_y = 1; + } } - follow_protocol ? autodrive( turn_x, accel_y ) : pldrive( point( turn_x, accel_y ) ); + follow_protocol || + is_patrolling ? autodrive( turn_x, accel_y ) : pldrive( point( turn_x, accel_y ) ); +} + +double vehicle::get_angle_from_targ( const tripoint &targ ) +{ + tripoint vehpos = g->m.getabs( global_pos3() ); + rl_vec2d facevec = face_vec(); + point rel_pos_target = targ.xy() - vehpos.xy(); + rl_vec2d targetvec = rl_vec2d( rel_pos_target.x, rel_pos_target.y ); + // cross product + double crossy = ( facevec.x * targetvec.y ) - ( targetvec.x * facevec.y ); + // dot product. + double dotx = ( facevec.x * targetvec.x ) + ( facevec.y * targetvec.y ); + + return atan2( crossy, dotx ) * 180 / M_PI; } void vehicle::do_autodrive() { if( omt_path.empty() ) { - is_autodriving = false; - return; + stop_autodriving(); } tripoint vehpos = global_pos3(); tripoint veh_omt_pos = ms_to_omt_copy( g->m.getabs( vehpos ) ); // we're at or close to the waypoint, pop it out and look for the next one. - if( veh_omt_pos == omt_path.back() ) { + if( ( is_autodriving && !g->u.omt_path.empty() && !omt_path.empty() ) && + veh_omt_pos == omt_path.back() ) { + g->u.omt_path.pop_back(); omt_path.pop_back(); } + if( omt_path.empty() ) { + stop_autodriving(); + return; + } point omt_diff = omt_path.back().xy() - veh_omt_pos.xy(); if( omt_diff.x > 3 || omt_diff.x < -3 || omt_diff.y > 3 || omt_diff.y < -3 ) { // we've gone walkabout somehow, call off the whole thing - is_autodriving = false; + stop_autodriving(); return; } int x_side = 0; @@ -782,8 +930,9 @@ void vehicle::do_autodrive() // get the shared border mid-point of the next path omt tripoint global_a = tripoint( veh_omt_pos.x * ( 2 * SEEX ), veh_omt_pos.y * ( 2 * SEEY ), veh_omt_pos.z ); - tripoint autodrive_local_target = ( global_a + tripoint( x_side, y_side, - sm_pos.z ) - g->m.getabs( vehpos ) ) + global_pos3(); + tripoint autodrive_temp_target = ( global_a + tripoint( x_side, y_side, + sm_pos.z ) - g->m.getabs( vehpos ) ) + vehpos; + autodrive_local_target = g->m.getabs( autodrive_temp_target ); drive_to_local_target( autodrive_local_target, false ); } @@ -962,18 +1111,21 @@ bool vehicle::is_alternator_on( const int a ) const return std::any_of( engines.begin(), engines.end(), [this, &alt]( int idx ) { auto &eng = parts [ idx ]; - return eng.enabled && eng.is_available() && eng.mount == alt.mount && - !eng.faults().count( fault_belt ); + //fuel_left checks that the engine can produce power to be absorbed + return eng.is_available() && eng.enabled && fuel_left( eng.fuel_current() ) && + eng.mount == alt.mount && !eng.faults().count( fault_belt ); } ); } bool vehicle::has_security_working() const { bool found_security = false; - for( int s : speciality ) { - if( part_flag( s, "SECURITY" ) && parts[ s ].is_available() ) { - found_security = true; - break; + if( fuel_left( fuel_type_battery ) > 0 ) { + for( int s : speciality ) { + if( part_flag( s, "SECURITY" ) && parts[ s ].is_available() ) { + found_security = true; + break; + } } } return found_security; @@ -984,8 +1136,9 @@ void vehicle::backfire( const int e ) const const int power = part_vpower_w( engines[e], true ); const tripoint pos = global_part_pos3( engines[e] ); sounds::sound( pos, 40 + power / 10000, sounds::sound_t::movement, + // single space after the exclaimation mark because it does not end the sentence //~ backfire sound - string_format( _( "a loud BANG! from the %s" ), + string_format( _( "a loud BANG! from the %s" ), // NOLINT(cata-text-style) parts[ engines[ e ] ].name() ), true, "vehicle", "engine_backfire" ); } @@ -1012,7 +1165,7 @@ int vehicle::part_vpower_w( const int index, const bool at_full_hp ) const if( vp.info().fuel_type == fuel_type_animal ) { monster *mon = get_pet( index ); if( mon != nullptr && mon->has_effect( effect_harnessed ) ) { - pwr = mon->get_speed() * mon->get_size() * 3; + pwr = mon->get_speed() * ( mon->get_size() - 1 ) * 3; } else { pwr = 0; } @@ -1381,6 +1534,20 @@ bool vehicle::can_mount( const point &dp, const vpart_id &id ) const } } + //Turret controls must be installed on a turret + if( part.has_flag( "TURRET_CONTROLS" ) ) { + bool anchor_found = false; + for( const auto &elem : parts_in_square ) { + if( part_info( elem ).has_flag( "TURRET" ) ) { + anchor_found = true; + break; + } + } + if( !anchor_found ) { + return false; + } + } + //Anything not explicitly denied is permitted return true; } @@ -1594,6 +1761,7 @@ int vehicle::install_part( const point &dp, const vehicle_part &new_part ) "CONE_LIGHT", "CIRCLE_LIGHT", "AISLE_LIGHT", + "AUTOPILOT", "DOME_LIGHT", "ATOMIC_LIGHT", "STEREO", @@ -4267,29 +4435,17 @@ void vehicle::consume_fuel( int load, const int t_seconds, bool skip_electric ) base_burn = std::max( eff_load / 3, base_burn ); //charge bionics when using muscle engine const item muscle( "muscle" ); - if( g->u.has_active_bionic( bionic_id( "bio_torsionratchet" ) ) ) { - if( one_in( 1000 / load ) ) { // more pedaling = more power - g->u.mod_power_level( 1_kJ ); - } - mod += eff_load / 5; - } - if( g->u.has_bionic( bionic_id( "bio_torsionratchet" ) ) ) { - if( one_in( 1000 / load ) && one_in( 20 ) ) { // intentional double chance check - g->u.mod_power_level( 1_kJ ); - } - mod += eff_load / 10; - } for( const bionic_id &bid : g->u.get_bionic_fueled_with( muscle ) ) { - if( g->u.has_active_bionic( bid ) ) { - if( one_in( 1000 / load ) ) { // more pedaling = more power - g->u.mod_power_level( units::from_kilojoule( muscle.fuel_energy() ) * bid->fuel_efficiency ); - } + if( g->u.has_active_bionic( bid ) ) { // active power gen + // more pedaling = more power + g->u.mod_power_level( units::from_kilojoule( muscle.fuel_energy() ) * bid->fuel_efficiency * + ( load / 1000 ) ); mod += eff_load / 5; + } else { // passive power gen + g->u.mod_power_level( units::from_kilojoule( muscle.fuel_energy() ) * bid->passive_fuel_efficiency * + ( load / 1000 ) ); + mod += eff_load / 10; } - if( one_in( 1000 / load ) && one_in( 20 ) ) { // intentional double chance check - g->u.mod_power_level( units::from_kilojoule( muscle.fuel_energy() ) * bid->fuel_efficiency ); - } - mod += eff_load / 10; } // decreased stamina burn scalable with load if( g->u.has_active_bionic( bionic_id( "bio_jointservo" ) ) ) { @@ -4444,7 +4600,7 @@ void vehicle::update_alternator_load() if( engine_on ) { int engine_vpower = 0; for( size_t e = 0; e < engines.size(); ++e ) { - if( is_engine_on( e ) ) { + if( is_engine_on( e ) && parts[engines[e]].info().has_flag( "E_ALTERNATOR" ) ) { engine_vpower += part_vpower_w( engines[e] ); } } @@ -4466,7 +4622,6 @@ void vehicle::update_alternator_load() void vehicle::power_parts() { update_alternator_load(); - // Things that drain energy: engines and accessories. int engine_epower = total_engine_epower_w(); int epower = engine_epower + total_accessory_epower_w() + total_alternator_epower_w(); @@ -5083,7 +5238,7 @@ void vehicle::gain_moves() of_turn_carry = 0; // cruise control TODO: enable for NPC? - if( ( pl_control || is_following ) && cruise_on && cruise_velocity != velocity ) { + if( ( pl_control || is_following || is_patrolling ) && cruise_on && cruise_velocity != velocity ) { thrust( ( cruise_velocity ) > velocity ? 1 : -1 ); } @@ -5289,10 +5444,16 @@ void vehicle::refresh() } else if( !camera_on && vpi.has_flag( "CAMERA" ) ) { vp.part().enabled = false; } + if( vpi.has_flag( "TURRET" ) && !has_part( global_part_pos3( vp.part() ), "TURRET_CONTROLS" ) ) { + vp.part().enabled = false; + } } rail_wheel_bounding_box.p1 = point( railwheel_xmin, railwheel_ymin ); rail_wheel_bounding_box.p2 = point( railwheel_xmax, railwheel_ymax ); + front_left.x = mount_max.x; + front_left.y = mount_min.y; + front_right = mount_max; if( !refresh_done ) { mount_min = mount_max = point_zero; @@ -5797,7 +5958,7 @@ int vehicle::damage_direct( int p, int dmg, damage_type type ) } // If auto-driving and damage happens, bail out if( is_autodriving ) { - is_autodriving = false; + stop_autodriving(); } g->m.set_memory_seen_cache_dirty( global_part_pos3( p ) ); if( parts[p].is_broken() ) { @@ -6246,7 +6407,7 @@ bool vehicle::refresh_zones() const int part_idx = part_with_feature( z.first, "CARGO", false ); if( part_idx == -1 ) { - debugmsg( "Could not find cargo part at %d,%d on vehicle %s for loot zone. Removing loot zone.", + debugmsg( "Could not find cargo part at %d,%d on vehicle %s for loot zone. Removing loot zone.", z.first.x, z.first.y, this->name ); // If this loot zone refers to a part that no longer exists at this location, then its unattached somehow. diff --git a/src/vehicle.h b/src/vehicle.h index 193fd093ab7a8..1ffc892abbe00 100644 --- a/src/vehicle.h +++ b/src/vehicle.h @@ -317,6 +317,8 @@ struct vehicle_part { /** Can a player or NPC use this part as a seat? */ bool is_seat() const; + /* if this is a carried part, what is the name of the carried vehicle */ + std::string carried_name() const; /*@}*/ public: @@ -771,8 +773,15 @@ class vehicle bool handle_potential_theft( player &p, bool check_only = false, bool prompt = true ); // project a tileray forward to predict obstacles std::set immediate_path( int rotate = 0 ); - void drive_to_local_target( const tripoint &autodrive_local_target, bool follow_protocol ); + std::set collision_check_points; + void autopilot_patrol(); + double get_angle_from_targ( const tripoint &targ ); + void drive_to_local_target( tripoint target, bool follow_protocol ); + tripoint get_autodrive_target() { + return autodrive_local_target; + } void do_autodrive(); + void stop_autodriving(); /** * Operate vehicle controls * @param pos location of physical controls to operate (ignored during remote operation) @@ -784,7 +793,8 @@ class vehicle // Attempt to start an engine bool start_engine( int e ); - + // stop all engines + void stop_engines(); // Attempt to start the vehicle's active engines void start_engines( bool take_control = false, bool autodrive = false ); @@ -1477,6 +1487,9 @@ class vehicle void play_chimes(); void operate_planter(); std::string tracking_toggle_string(); + void autopilot_patrol_check(); + void toggle_autopilot(); + void enable_patrol(); void toggle_tracking(); //scoop operation,pickups, battery drain, etc. void operate_scoop(); @@ -1706,6 +1719,8 @@ class vehicle std::array pivot_rotation = { { 0, 0 } }; bounding_box rail_wheel_bounding_box; + point front_left; + point front_right; // points used for rotation of mount precalc values std::array pivot_anchor; // frame direction @@ -1738,6 +1753,7 @@ class vehicle public: bool is_autodriving = false; bool is_following = false; + bool is_patrolling = false; bool all_wheels_on_one_axis; // TODO: change these to a bitset + enum? // cruise control on/off @@ -1751,6 +1767,7 @@ class vehicle // vehicle has alarm on bool is_alarm_on = false; bool camera_on = false; + bool autopilot_on = false; // skidding mode bool skidding = false; // has bloody or smoking parts diff --git a/src/vehicle_display.cpp b/src/vehicle_display.cpp index 913e4c12e43a3..3138544b9c1eb 100644 --- a/src/vehicle_display.cpp +++ b/src/vehicle_display.cpp @@ -144,7 +144,7 @@ int vehicle::print_part_list( const catacurses::window &win, int y1, const int m int y = y1; for( size_t i = 0; i < pl.size(); i++ ) { if( y >= max_y ) { - mvwprintz( win, point( 1, y ), c_yellow, _( "More parts here..." ) ); + mvwprintz( win, point( 1, y ), c_yellow, _( "More parts here…" ) ); ++y; break; } @@ -256,7 +256,7 @@ void vehicle::print_vparts_descs( const catacurses::window &win, int max_y, int */ start_at = std::max( 0, std::min( start_at, start_limit ) ); if( start_at ) { - msg << "" << "< " << _( "More parts here..." ) << "\n"; + msg << "" << "< " << _( "More parts here…" ) << "\n"; lines += 1; } for( size_t i = start_at; i < pl.size(); i++ ) { @@ -272,9 +272,8 @@ void vehicle::print_vparts_descs( const catacurses::window &win, int max_y, int new_lines += 1; } if( vp.has_flag( vehicle_part::carried_flag ) ) { - std::string carried_name = vp.carry_names.top(); possible_msg << string_format( " Part of a %s carried on a rack.\n", - carried_name.substr( vehicle_part::name_offset ) ); + vp.carried_name() ); new_lines += 1; } @@ -284,7 +283,7 @@ void vehicle::print_vparts_descs( const catacurses::window &win, int max_y, int lines += new_lines; start_limit = start_at; } else { - msg << "" << _( "More parts here..." ) << " >" << "\n"; + msg << "" << _( "More parts here…" ) << " >" << "\n"; start_limit = i; break; } @@ -394,6 +393,7 @@ void vehicle::print_fuel_indicator( const catacurses::window &win, const point & int cap = fuel_capacity( fuel_type ); int f_left = fuel_left( fuel_type ); nc_color f_color = item::find_type( fuel_type )->color; + // NOLINTNEXTLINE(cata-text-style): not an ellipsis mvwprintz( win, p, col_indf1, "E...F" ); int amnt = cap > 0 ? f_left * 99 / cap : 0; int indf = ( amnt / 20 ) % 5; diff --git a/src/vehicle_group.cpp b/src/vehicle_group.cpp index 4eb0addf5cda5..a18c42d6ba72c 100644 --- a/src/vehicle_group.cpp +++ b/src/vehicle_group.cpp @@ -224,7 +224,7 @@ static void builtin_jackknifed_semi( map &m, const std::string &terrainid ) { const VehicleLocation *loc = vplacement_id( terrainid + "_semi" ).obj().pick(); if( ! loc ) { - debugmsg( "builtin_jackknifed_semi unable to get location to place vehicle. placement %s_semi", + debugmsg( "builtin_jackknifed_semi unable to get location to place vehicle. placement %s_semi", terrainid ); return; } diff --git a/src/vehicle_move.cpp b/src/vehicle_move.cpp index 6c724653facb6..a51d529567a77 100644 --- a/src/vehicle_move.cpp +++ b/src/vehicle_move.cpp @@ -570,7 +570,7 @@ veh_collision vehicle::part_collision( int part, const tripoint &p, k = std::max( 10.0f, std::min( 90.0f, k ) ); bool smashed = true; - std::string snd = "Smash!"; // NOTE: Unused! + const std::string snd = _( "smash!" ); float dmg = 0.0f; float part_dmg = 0.0f; // Calculate Impulse of car @@ -737,7 +737,7 @@ veh_collision vehicle::part_collision( int part, const tripoint &p, } } else { if( pl_ctrl ) { - if( snd.length() > 0 ) { // TODO: that is always false! + if( !snd.empty() ) { //~ 1$s - vehicle name, 2$s - part name, 3$s - collision object name, 4$s - sound message add_msg( m_warning, _( "Your %1$s's %2$s rams into %3$s with a %4$s" ), name, parts[ ret.part ].name(), ret.target_name, snd ); diff --git a/src/vehicle_part.cpp b/src/vehicle_part.cpp index 80fe685e7167f..2404bf1e8bbd1 100644 --- a/src/vehicle_part.cpp +++ b/src/vehicle_part.cpp @@ -80,6 +80,9 @@ item vehicle_part::properties_to_item() const tmp.active = true; } + // force rationalization of damage values to the middle value of each damage level so + // that parts will stack nicely + tmp.set_damage( tmp.damage_level( 4 ) * itype::damage_scale ); return tmp; } @@ -571,3 +574,11 @@ bool vehicle::assign_seat( vehicle_part &pt, const npc &who ) return true; } + +std::string vehicle_part::carried_name() const +{ + if( carry_names.empty() ) { + return std::string(); + } + return carry_names.top().substr( name_offset ); +} diff --git a/src/vehicle_use.cpp b/src/vehicle_use.cpp index 2e41d4f40daa9..c1ded4b8161e8 100644 --- a/src/vehicle_use.cpp +++ b/src/vehicle_use.cpp @@ -12,6 +12,7 @@ #include "action.h" #include "activity_handlers.h" #include "avatar.h" +#include "clzones.h" #include "debug.h" #include "game.h" #include "iexamine.h" @@ -473,7 +474,7 @@ void vehicle::smash_security_system() if( parts[ c ].removed || parts[ c ].is_broken() ) { g->u.controlling_vehicle = false; is_alarm_on = false; - add_msg( _( "You destroy the controls..." ) ); + add_msg( _( "You destroy the controls…" ) ); } else { add_msg( _( "You damage the controls." ) ); } @@ -496,6 +497,48 @@ std::string vehicle::tracking_toggle_string() return tracking_on ? _( "Forget vehicle position" ) : _( "Remember vehicle position" ); } +void vehicle::autopilot_patrol_check() +{ + zone_manager &mgr = zone_manager::get_manager(); + if( mgr.has_near( zone_type_id( "VEHICLE_PATROL" ), g->m.getabs( global_pos3() ), 60 ) ) { + enable_patrol(); + } else { + g->zones_manager(); + } +} + +void vehicle::toggle_autopilot() +{ + uilist smenu; + enum autopilot_option : int { + PATROL, + STOP + }; + smenu.desc_enabled = true; + smenu.text = _( "Choose action for the autopilot" ); + smenu.addentry_col( PATROL, true, 'P', _( "Patrol…" ), + "", string_format( _( "Program the autopilot to patrol a nearby vehicle patrol zone. " + "If no zones are nearby, you will be prompted to create one." ) ) ); + smenu.addentry_col( STOP, true, 'S', _( "Stop…" ), + "", string_format( _( "Stop all autopilot related activities." ) ) ); + smenu.query(); + switch( smenu.ret ) { + case PATROL: + autopilot_patrol_check(); + break; + case STOP: + autopilot_on = false; + is_patrolling = false; + is_following = false; + is_autodriving = false; + autodrive_local_target = tripoint_zero; + stop_engines(); + break; + default: + return; + } +} + void vehicle::toggle_tracking() { if( tracking_on ) { @@ -600,26 +643,10 @@ void vehicle::use_controls( const tripoint &pos ) actions.push_back( [&] { if( engine_on ) { - vehicle_noise = 0; engine_on = false; - add_msg( _( "You turn the engine off." ) ); sounds::sound( pos, 2, sounds::sound_t::movement, _( "the engine go silent" ) ); - for( size_t e = 0; e < engines.size(); ++e ) { - if( is_engine_on( e ) ) { - if( sfx::has_variant_sound( "engine_stop", parts[ engines[ e ] ].info().get_id().str() ) ) { - sfx::play_variant_sound( "engine_stop", parts[ engines[ e ] ].info().get_id().str(), - parts[ engines[ e ] ].info().engine_noise_factor() ); - } else if( is_engine_type( e, fuel_type_battery ) ) { - sfx::play_variant_sound( "engine_stop", "electric", - parts[ engines[ e ] ].info().engine_noise_factor() ); - } else { - sfx::play_variant_sound( "engine_stop", "combustion", - parts[ engines[ e ] ].info().engine_noise_factor() ); - } - } - } - sfx::do_vehicle_engine_sfx(); + stop_engines(); } else { start_engines(); @@ -633,6 +660,12 @@ void vehicle::use_controls( const tripoint &pos ) options.emplace_back( _( "Honk horn" ), keybind( "SOUND_HORN" ) ); actions.push_back( [&] { honk_horn(); refresh(); } ); } + if( has_part( "AUTOPILOT" ) && ( has_part( "CTRL_ELECTRONIC" ) || + has_part( "REMOTE_CONTROLS" ) ) ) { + options.emplace_back( _( "Control autopilot" ), + keybind( "CONTROL_AUTOPILOT" ) ); + actions.push_back( [&] { toggle_autopilot(); refresh(); } ); + } options.emplace_back( cruise_on ? _( "Disable cruise control" ) : _( "Enable cruise control" ), keybind( "TOGGLE_CRUISE_CONTROL" ) ); @@ -854,10 +887,10 @@ bool vehicle::start_engine( const int e ) if( out_of_fuel ) { if( einfo.fuel_type == fuel_type_muscle ) { // Muscle engines cannot start with broken limbs - if( einfo.has_flag( "MUSCLE_ARMS" ) && ( g->u.get_working_arm_count() >= 2 ) ) { + if( einfo.has_flag( "MUSCLE_ARMS" ) && ( g->u.get_working_arm_count() < 2 ) ) { add_msg( _( "You cannot use %s with a broken arm." ), eng.name() ); return false; - } else if( einfo.has_flag( "MUSCLE_LEGS" ) && ( g->u.get_working_leg_count() >= 2 ) ) { + } else if( einfo.has_flag( "MUSCLE_LEGS" ) && ( g->u.get_working_leg_count() < 2 ) ) { add_msg( _( "You cannot use %s with a broken leg." ), eng.name() ); return false; } @@ -946,6 +979,28 @@ bool vehicle::start_engine( const int e ) return true; } +void vehicle::stop_engines() +{ + vehicle_noise = 0; + engine_on = false; + add_msg( _( "You turn the engine off." ) ); + for( size_t e = 0; e < engines.size(); ++e ) { + if( is_engine_on( e ) ) { + if( sfx::has_variant_sound( "engine_stop", parts[ engines[ e ] ].info().get_id().str() ) ) { + sfx::play_variant_sound( "engine_stop", parts[ engines[ e ] ].info().get_id().str(), + parts[ engines[ e ] ].info().engine_noise_factor() ); + } else if( is_engine_type( e, fuel_type_battery ) ) { + sfx::play_variant_sound( "engine_stop", "electric", + parts[ engines[ e ] ].info().engine_noise_factor() ); + } else { + sfx::play_variant_sound( "engine_stop", "combustion", + parts[ engines[ e ] ].info().engine_noise_factor() ); + } + } + } + sfx::do_vehicle_engine_sfx(); +} + void vehicle::start_engines( const bool take_control, const bool autodrive ) { bool has_engine = std::any_of( engines.begin(), engines.end(), [&]( int idx ) { @@ -995,6 +1050,15 @@ void vehicle::start_engines( const bool take_control, const bool autodrive ) } } +void vehicle::enable_patrol() +{ + is_patrolling = true; + autopilot_on = true; + autodrive_local_target = tripoint_zero; + start_engines(); + refresh(); +} + void vehicle::honk_horn() { const bool no_power = ! fuel_left( fuel_type_battery, true ); @@ -1414,10 +1478,15 @@ void vehicle::use_autoclave( int p ) { auto items = get_items( p ); static const std::string filthy( "FILTHY" ); + static const std::string no_packed( "NO_PACKED" ); bool filthy_items = std::any_of( items.begin(), items.end(), []( const item & i ) { return i.has_flag( filthy ); } ); + bool unpacked_items = std::any_of( items.begin(), items.end(), []( const item & i ) { + return i.has_flag( no_packed ); + } ); + bool cbms = std::all_of( items.begin(), items.end(), []( const item & i ) { return i.is_bionic(); } ); @@ -1427,8 +1496,7 @@ void vehicle::use_autoclave( int p ) add_msg( m_bad, _( "You turn the autoclave off before it's finished the program, and open its door." ) ); } else if( items.empty() ) { - add_msg( m_bad, - _( "The autoclave is empty, there's no point in starting it." ) ); + add_msg( m_bad, _( "The autoclave is empty, there's no point in starting it." ) ); } else if( fuel_left( "water" ) < 8 && fuel_left( "water_clean" ) < 8 ) { add_msg( m_bad, _( "You need 8 charges of water in tanks of the %s for the autoclave to run." ), name ); @@ -1436,8 +1504,9 @@ void vehicle::use_autoclave( int p ) add_msg( m_bad, _( "You need to remove all filthy items from the autoclave to start the sterilizing cycle." ) ); } else if( !cbms ) { - add_msg( m_bad, - _( "Only CBMs can be sterilized in an autoclave." ) ); + add_msg( m_bad, _( "Only CBMs can be sterilized in an autoclave." ) ); + } else if( unpacked_items ) { + add_msg( m_bad, _( "You should put your CBMs in autoclave pouches to keep them sterile." ) ); } else { parts[p].enabled = true; for( auto &n : items ) { @@ -1649,25 +1718,50 @@ void vehicle::use_bike_rack( int part ) } // check if we're storing a vehicle on this rack - std::vector carried_parts; - std::vector carry_rack; + std::vector> carried_vehicles; + std::vector> carrying_racks; bool found_vehicle = false; - for( const auto &rack_parts : racks_parts ) { - for( auto rack_part : rack_parts ) { + bool full_rack = true; + for( const std::vector &rack_parts : racks_parts ) { + std::vector carried_parts; + std::vector carry_rack; + size_t carry_size = 0; + std::string cur_vehicle; + + const auto add_vehicle = []( std::vector &carried_parts, + std::vector> &carried_vehicles, + std::vector &carry_rack, + std::vector> &carrying_racks ) { + if( !carry_rack.empty() ) { + carrying_racks.emplace_back( carry_rack ); + carried_vehicles.emplace_back( carried_parts ); + carry_rack.clear(); + carried_parts.clear(); + } + }; + + for( const int &rack_part : rack_parts ) { // skip parts that aren't carrying anything if( !parts[ rack_part ].has_flag( vehicle_part::carrying_flag ) ) { + add_vehicle( carried_parts, carried_vehicles, carry_rack, carrying_racks ); + cur_vehicle.clear(); continue; } - for( int i = 0; i < 4; i++ ) { - point near_loc = parts[ rack_part ].mount + vehicles::cardinal_d[ i ]; + for( const point &mount_dir : vehicles::cardinal_d ) { + point near_loc = parts[ rack_part ].mount + mount_dir; std::vector near_parts = parts_at_relative( near_loc, true ); if( near_parts.empty() ) { continue; } if( parts[ near_parts[ 0 ] ].has_flag( vehicle_part::carried_flag ) ) { + carry_size += 1; found_vehicle = true; // found a carried vehicle part - for( auto carried_part : near_parts ) { + if( parts[ near_parts[ 0 ] ].carried_name() != cur_vehicle ) { + add_vehicle( carried_parts, carried_vehicles, carry_rack, carrying_racks ); + cur_vehicle = parts[ near_parts[ 0 ] ].carried_name(); + } + for( const int &carried_part : near_parts ) { carried_parts.push_back( carried_part ); } carry_rack.push_back( rack_part ); @@ -1676,15 +1770,27 @@ void vehicle::use_bike_rack( int part ) } } } - if( found_vehicle ) { - break; - } + + add_vehicle( carried_parts, carried_vehicles, carry_rack, carrying_racks ); + full_rack &= carry_size == rack_parts.size(); } + int unload_carried = full_rack ? 0 : -1; bool success = false; - if( found_vehicle ) { - success = remove_carried_vehicle( carried_parts ); + if( found_vehicle && !full_rack ) { + uilist rack_menu; + rack_menu.addentry( 0, true, '0', _( "Load a vehicle on the rack" ) ); + for( size_t i = 0; i < carried_vehicles.size(); i++ ) { + rack_menu.addentry( i + 1, true, '1' + i, + string_format( _( "Remove the %s from the rack" ), + parts[ carried_vehicles[i].front() ].carried_name() ) ); + } + rack_menu.query(); + unload_carried = rack_menu.ret - 1; + } + if( unload_carried > -1 ) { + success = remove_carried_vehicle( carried_vehicles[unload_carried] ); if( success ) { - for( auto rack_part : carry_rack ) { + for( const int &rack_part : carrying_racks[unload_carried] ) { parts[ rack_part ].remove_flag( vehicle_part::carrying_flag ); } } diff --git a/src/vitamin.cpp b/src/vitamin.cpp index 8fede53975677..6c5f09e0f5c35 100644 --- a/src/vitamin.cpp +++ b/src/vitamin.cpp @@ -38,9 +38,11 @@ int vitamin::severity( int qty ) const return i + 1; } } - // TODO: implement distinct severity levels for vitamin excesses - if( qty > 96 ) { - return -1; + for( int i = 0; i != static_cast( disease_excess_.size() ); ++i ) { + if( ( qty >= disease_excess_[ i ].first && qty <= disease_excess_[ i ].second ) || + ( qty <= disease_excess_[ i ].first && qty >= disease_excess_[ i ].second ) ) { + return -i - 1; + } } return 0; } @@ -51,8 +53,10 @@ void vitamin::load_vitamin( JsonObject &jo ) vit.id_ = vitamin_id( jo.get_string( "id" ) ); jo.read( "name", vit.name_ ); - vit.deficiency_ = efftype_id( jo.get_string( "deficiency" ) ); - vit.excess_ = efftype_id( jo.get_string( "excess", "null" ) ); + vit.deficiency_ = efftype_id::NULL_ID(); + jo.read( "deficiency", vit.deficiency_ ); + vit.excess_ = efftype_id::NULL_ID(); + jo.read( "excess", vit.excess_ ); vit.min_ = jo.get_int( "min" ); vit.max_ = jo.get_int( "max", 0 ); vit.rate_ = read_from_json_string( *jo.get_raw( "rate" ), time_duration::units ); @@ -61,12 +65,18 @@ void vitamin::load_vitamin( JsonObject &jo ) jo.throw_error( "vitamin consumption rate cannot be negative", "rate" ); } - auto def = jo.get_array( "disease" ); + JsonArray def = jo.get_array( "disease" ); while( def.has_more() ) { - auto e = def.next_array(); + JsonArray e = def.next_array(); vit.disease_.emplace_back( e.get_int( 0 ), e.get_int( 1 ) ); } + auto exc = jo.get_array( "disease_excess" ); + while( exc.has_more() ) { + auto e = exc.next_array(); + vit.disease_excess_.emplace_back( e.get_int( 0 ), e.get_int( 1 ) ); + } + if( vitamins_all.find( vit.id_ ) != vitamins_all.end() ) { jo.throw_error( "parsed vitamin overwrites existing definition", "id" ); } else { @@ -82,7 +92,7 @@ const std::map &vitamin::all() void vitamin::check_consistency() { for( const auto &v : vitamins_all ) { - if( !v.second.deficiency_.is_valid() ) { + if( !( v.second.deficiency_.is_null() || v.second.deficiency_.is_valid() ) ) { debugmsg( "vitamin %s has unknown deficiency %s", v.second.id_.c_str(), v.second.deficiency_.c_str() ); } diff --git a/src/vitamin.h b/src/vitamin.h index 0c2d23ef52bba..81e5019216a9d 100644 --- a/src/vitamin.h +++ b/src/vitamin.h @@ -83,6 +83,7 @@ class vitamin int max_; time_duration rate_; std::vector> disease_; + std::vector> disease_excess_; }; #endif diff --git a/src/weather.cpp b/src/weather.cpp index daf435f520599..1c1aae09abf5b 100644 --- a/src/weather.cpp +++ b/src/weather.cpp @@ -176,7 +176,7 @@ void retroactively_fill_from_funnel( item &it, const trap &tr, const time_point // bday == last fill check it.set_birthday( end ); - auto data = sum_conditions( start, end, pos ); + weather_sum data = sum_conditions( start, end, pos ); // Technically 0.0 division is OK, but it will be cleaner without it if( data.rain_amount > 0 ) { @@ -305,15 +305,15 @@ static void fill_funnels( int rain_depth_mm_per_hour, bool acid, const trap &tr { const double turns_per_charge = tr.funnel_turns_per_charge( rain_depth_mm_per_hour ); // Give each funnel on the map a chance to collect the rain. - const auto &funnel_locs = g->m.trap_locations( tr.loadid ); - for( auto loc : funnel_locs ) { + const std::vector &funnel_locs = g->m.trap_locations( tr.loadid ); + for( const tripoint &loc : funnel_locs ) { units::volume maxcontains = 0_ml; if( one_in( turns_per_charge ) ) { // FIXME: //add_msg("%d mm/h %d tps %.4f: fill",int(calendar::turn),rain_depth_mm_per_hour,turns_per_charge); // This funnel has collected some rain! Put the rain in the largest // container here which is either empty or contains some mixture of // impure water and acid. - auto items = g->m.i_at( loc ); + map_stack items = g->m.i_at( loc ); auto container = items.end(); for( auto candidate_container = items.begin(); candidate_container != items.end(); ++candidate_container ) { @@ -378,25 +378,25 @@ static void wet_player( int amount ) g->u.drench( amount, drenched_parts, false ); } -/** - * Main routine for wet effects caused by weather. - */ -static void generic_wet( bool acid ) +double precip_mm_per_hour( precip_class const p ) +// Precipitation rate expressed as the rainfall equivalent if all +// the precipitation were rain (rather than snow). { - fill_water_collectors( 4, acid ); - g->m.decay_fields_and_scent( 15_turns ); - wet_player( 30 ); + return + p == PRECIP_LIGHT ? 1.5 : + p == PRECIP_HEAVY ? 3 : + 0; } -/** - * Main routine for very wet effects caused by weather. - * Similar to generic_wet() but with more aggressive numbers. - */ -static void generic_very_wet( bool acid ) +void do_rain( weather_type const w ) { - fill_water_collectors( 8, acid ); - g->m.decay_fields_and_scent( 45_turns ); - wet_player( 60 ); + if( ! weather::rains( w ) || weather::precip( w ) == PRECIP_NONE ) { + return; + } + fill_water_collectors( precip_mm_per_hour( weather::precip( w ) ), weather::acidic( w ) ); + bool light = weather::precip( w ) == PRECIP_LIGHT; + g->m.decay_fields_and_scent( light ? 15_turns : 45_turns ); + wet_player( light ? 30 : 60 ); } void weather_effect::none() @@ -410,24 +410,6 @@ void weather_effect::sunny() glare( sun_intensity::high ); } -/** - * Wet. - * @see generic_wet - */ -void weather_effect::wet() -{ - generic_wet( false ); -} - -/** - * Very wet. - * @see generic_very_wet - */ -void weather_effect::very_wet() -{ - generic_very_wet( false ); -} - void weather_effect::snow() { wet_player( 10 ); @@ -443,7 +425,6 @@ void weather_effect::snowstorm() */ void weather_effect::thunder() { - very_wet(); if( !g->u.has_effect( effect_sleep ) && !g->u.is_deaf() && one_in( THUNDER_CHANCE ) ) { if( g->get_levz() >= 0 ) { add_msg( _( "You hear a distant rumble of thunder." ) ); @@ -485,7 +466,6 @@ void weather_effect::lightning() */ void weather_effect::light_acid() { - generic_wet( true ); if( calendar::once_every( 1_minutes ) && is_player_outside() ) { if( g->u.weapon.has_flag( "RAIN_PROTECT" ) && !one_in( 3 ) ) { add_msg( _( "Your %s protects you from the acidic drizzle." ), g->u.weapon.tname() ); @@ -497,7 +477,7 @@ void weather_effect::light_acid() if( g->u.is_wearing_power_armor( &has_helmet ) && ( has_helmet || !one_in( 4 ) ) ) { add_msg( _( "Your power armor protects you from the acidic drizzle." ) ); } else { - add_msg( m_warning, _( "The acid rain stings, but is mostly harmless for now..." ) ); + add_msg( m_warning, _( "The acid rain stings, but is mostly harmless for now…" ) ); if( one_in( 10 ) && ( g->u.get_pain() < 10 ) ) { g->u.mod_pain( 1 ); } @@ -532,7 +512,6 @@ void weather_effect::acid() } } } - generic_very_wet( true ); } static std::string to_string( const weekdays &d ) @@ -646,7 +625,7 @@ std::string weather_forecast( const point &abs_sm_pos ) day = to_string( day_of_week( c ) ); } weather_report << string_format( - _( "%s... %s. Highs of %s. Lows of %s. " ), + _( "%s… %s. Highs of %s. Lows of %s. " ), day, weather::name( forecast ), print_temperature( high ), print_temperature( low ) ); @@ -862,24 +841,24 @@ double get_local_windpower( double windpower, const oter_id &omter, const tripoi * A player is sheltered if he is underground, in a car, or indoors. **/ if( sheltered ) { - return 0.0; + return 0; } rl_vec2d windvec = convert_wind_to_coord( winddirection ); - double tmpwind = windpower; + int tmpwind = static_cast( windpower ); tripoint triblocker( location + point( windvec.x, windvec.y ) ); // Over map terrain may modify the effect of wind. - if( omter.id() == "forest_water" ) { - tmpwind *= 0.7; - } else if( omter.id() == "forest" ) { - tmpwind *= 0.5; - } else if( omter.id() == "forest_thick" || omter.id() == "hive" ) { - tmpwind *= 0.4; + if( is_ot_match( "forest", omter, ot_match_type::type ) || + is_ot_match( "forest_water", omter, ot_match_type::type ) ) { + tmpwind = tmpwind / 2; + } + if( location.z > 0 ) { + tmpwind = tmpwind + ( location.z * std::min( 5, tmpwind ) ); } // An adjacent wall will block wind if( is_wind_blocker( triblocker ) ) { - tmpwind *= 0.1; + tmpwind = tmpwind / 10; } - return tmpwind; + return static_cast( tmpwind ); } bool is_wind_blocker( const tripoint &location ) diff --git a/src/weather.h b/src/weather.h index a8cc9ca5ba364..787807daec92e 100644 --- a/src/weather.h +++ b/src/weather.h @@ -57,6 +57,15 @@ enum weather_type : int { NUM_WEATHER_TYPES //!< Sentinel value }; +enum precip_class : int { + PRECIP_NONE, + PRECIP_LIGHT, + PRECIP_HEAVY +}; + +double precip_mm_per_hour( precip_class p ); +void do_rain( weather_type w ); + /** * Weather animation class. */ @@ -97,8 +106,6 @@ enum sun_intensity : int { void none(); //!< Fallback weather. void glare( sun_intensity ); -void wet(); -void very_wet(); void thunder(); void lightning(); void light_acid(); @@ -121,6 +128,9 @@ struct weather_datum { int light_modifier; //!< Modification to ambient light. int sound_attn; //!< Sound attenuation of a given weather type. bool dangerous; //!< If true, our activity gets interrupted. + precip_class precip; //!< Amount of associated precipitation. + bool rains; //!< Whether said precipitation falls as rain. + bool acidic; //!< Whether said precipitation is acidic. weather_effect_fn effect; //!< Function pointer for weather effects. }; @@ -143,6 +153,9 @@ float sight_penalty( weather_type type ); int light_modifier( weather_type type ); int sound_attn( weather_type type ); bool dangerous( weather_type type ); +precip_class precip( weather_type type ); +bool rains( weather_type type ); +bool acidic( weather_type type ); weather_effect_fn effect( weather_type type ); } // namespace weather diff --git a/src/weather_data.cpp b/src/weather_data.cpp index d11afa00843f5..7232e52b8d46b 100644 --- a/src/weather_data.cpp +++ b/src/weather_data.cpp @@ -51,59 +51,59 @@ static weather_result weather_data_internal( weather_type const type ) weather_datum { "NULL Weather - BUG (weather_data.cpp:weather_data)", c_magenta, c_magenta_red, '0', 0, 0.0f, 0, 0, false, - &weather_effect::none + PRECIP_NONE, false, false, &weather_effect::none }, weather_datum { translate_marker( "Clear" ), c_cyan, c_yellow_white, ' ', 0, 1.0f, 0, 0, false, - &weather_effect::none + PRECIP_NONE, false, false, &weather_effect::none }, weather_datum { translate_marker( "Sunny" ), c_light_cyan, c_yellow_white, '*', 0, 1.0f, 2, 0, false, - &weather_effect::sunny + PRECIP_NONE, false, false, &weather_effect::sunny }, weather_datum { translate_marker( "Cloudy" ), c_light_gray, c_dark_gray_white, '~', 0, 1.0f, -20, 0, false, - &weather_effect::none + PRECIP_NONE, false, false, &weather_effect::none }, weather_datum { translate_marker( "Drizzle" ), c_light_blue, h_light_blue, '.', 1, 1.03f, -20, 1, false, - &weather_effect::wet + PRECIP_LIGHT, true, false, &weather_effect::none }, weather_datum { translate_marker( "Rain" ), c_blue, h_blue, 'o', 3, 1.1f, -30, 4, false, - &weather_effect::very_wet + PRECIP_HEAVY, true, false, &weather_effect::none }, weather_datum { translate_marker( "Thunder Storm" ), c_dark_gray, i_blue, '%', 4, 1.2f, -40, 8, false, - &weather_effect::thunder + PRECIP_HEAVY, true, false, &weather_effect::thunder }, weather_datum { translate_marker( "Lightning Storm" ), c_yellow, h_yellow, '%', 4, 1.25f, -45, 8, false, - &weather_effect::lightning + PRECIP_HEAVY, true, false, &weather_effect::lightning }, weather_datum { translate_marker( "Acidic Drizzle" ), c_light_green, c_yellow_green, '.', 2, 1.03f, -20, 1, true, - &weather_effect::light_acid + PRECIP_LIGHT, true, true, &weather_effect::light_acid }, weather_datum { translate_marker( "Acid Rain" ), c_green, c_yellow_green, 'o', 4, 1.1f, -30, 4, true, - &weather_effect::acid + PRECIP_HEAVY, true, true, &weather_effect::acid }, weather_datum { translate_marker( "Flurries" ), c_white, c_dark_gray_cyan, '.', 2, 1.12f, -15, 2, false, - &weather_effect::flurry + PRECIP_LIGHT, false, false, &weather_effect::flurry }, weather_datum { translate_marker( "Snowing" ), c_white, c_dark_gray_cyan, '*', 4, 1.13f, -20, 4, false, - &weather_effect::snow + PRECIP_HEAVY, false, false, &weather_effect::snow }, weather_datum { translate_marker( "Snowstorm" ), c_white, c_white_cyan, '%', 6, 1.2f, -30, 6, false, - &weather_effect::snowstorm + PRECIP_HEAVY, false, false, &weather_effect::snowstorm } }}; - const auto i = static_cast( type ); + const size_t i = static_cast( type ); if( i < NUM_WEATHER_TYPES ) { return { data[i], i > 0 }; } @@ -163,6 +163,18 @@ bool dangerous( weather_type const type ) { return weather_data_internal( type ).datum.dangerous; } +precip_class precip( weather_type const type ) +{ + return weather_data_internal( type ).datum.precip; +} +bool rains( weather_type const type ) +{ + return weather_data_internal( type ).datum.rains; +} +bool acidic( weather_type const type ) +{ + return weather_data_internal( type ).datum.acidic; +} weather_effect_fn effect( weather_type const type ) { return weather_data_internal( type ).datum.effect; diff --git a/src/weather_gen.cpp b/src/weather_gen.cpp index 8b226d816c480..0e494a5126f3d 100644 --- a/src/weather_gen.cpp +++ b/src/weather_gen.cpp @@ -17,6 +17,14 @@ namespace { constexpr double tau = 2 * M_PI; +constexpr double coldest_hour = 5; +// Out of 24 hours +constexpr double daily_magnitude_K = 5; +// Greatest absolute change from a day's average temperature, in kelvins +constexpr double seasonality_magnitude_K = 15; +// Greatest absolute change from the year's average temperature, in kelvins +constexpr double noise_magnitude_K = 8; +// Greatest absolute day-to-day noise, in kelvins } //namespace weather_generator::weather_generator() = default; @@ -26,8 +34,7 @@ struct weather_gen_common { double x; double y; double z; - double ctn; - double seasonal_variation; + double cyf; unsigned modSEED; season_type season; }; @@ -41,16 +48,19 @@ static weather_gen_common get_common_data( const tripoint &location, const time_ // Integer y position / widening factor of the Perlin function. result.y = location.y / 2000.0; // Integer turn / widening factor of the Perlin function. - result.z = to_turn( t + calendar::season_length() ) / 2000.0; + result.z = to_days( t - calendar::turn_zero ); // Limit the random seed during noise calculation, a large value flattens the noise generator to zero // Windows has a rand limit of 32768, other operating systems can have higher limits result.modSEED = seed % SIMPLEX_NOISE_RANDOM_SEED_LIMIT; - const double now( ( time_past_new_year( t ) + calendar::season_length() / 2 ) / - calendar::year_length() ); // [0,1) - result.ctn = cos( tau * now ); // [-1, 1] + const double year_fraction( time_past_new_year( t ) / + calendar::year_length() ); // [0,1) + + result.cyf = cos( tau * ( year_fraction + .125 ) ); // [-1, 1] + // We add one-eighth to line up `cyf` so that 1 is at + // midwinter and -1 at midsummer. (Cataclsym DDA years + // start when spring starts. Gregorian years start when + // winter starts.) result.season = season_of_year( t ); - // Start and end at -1 going up to 1 in summer. - result.seasonal_variation = result.ctn * -1; // [-1, 1] return result; } @@ -63,31 +73,24 @@ static double weather_temperature_from_common_data( const weather_generator &wg, const double z( common.z ); const unsigned modSEED = common.modSEED; - const double ctn( common.ctn ); // [-1, 1] + const double seasonality = -common.cyf; + // -1 in midwinter, +1 in midsummer const season_type season = common.season; - const double dayFraction = time_past_midnight( t ) / 1_days; + const double dayv = cos( tau * ( dayFraction + .5 - coldest_hour / 24 ) ); + // -1 at coldest_hour, +1 twelve hours later // manually specified seasonal temp variation from region_settings.json const int seasonal_temp_mod[4] = { wg.spring_temp_manual_mod, wg.summer_temp_manual_mod, wg.autumn_temp_manual_mod, wg.winter_temp_manual_mod }; - const double current_t( wg.base_temperature + seasonal_temp_mod[ season ] ); - // Start and end at -1 going up to 1 in summer. - const double seasonal_variation( common.seasonal_variation ); // [-1, 1] - // Harsh winter nights, hot summers. - const double season_atenuation( ctn / 2 + 1 ); - // Make summers peak faster and winters not perma-frozen. - const double season_dispersion( pow( 2, - ctn + 1 ) - 2.3 ); - - // Day-night temperature variation. - double daily_variation( cos( tau * dayFraction - tau / 8 ) * -1 * season_atenuation / 2 + - season_dispersion * -1 ); - - double T( raw_noise_4d( x, y, z, modSEED ) * 4.0 ); - T += current_t; - T += seasonal_variation * 8 * exp( -pow( current_t * 2.7 / 10 - 0.5, 2 ) ); - T += daily_variation * 8 * exp( -pow( current_t / 30, 2 ) ); + const double baseline( + wg.base_temperature + + seasonal_temp_mod[ season ] + + dayv * daily_magnitude_K + + seasonality * seasonality_magnitude_K ); + + const double T = baseline + raw_noise_4d( x, y, z, modSEED ) * noise_magnitude_K; + // Convert from Celsius to Fahrenheit return T * 9 / 5 + 32; } @@ -106,20 +109,16 @@ w_point weather_generator::get_weather( const tripoint &location, const time_poi const double z( common.z ); const unsigned modSEED = common.modSEED; - const double ctn( common.ctn ); // [-1, 1] + const double cyf( common.cyf ); + const double seasonality = -common.cyf; + // -1 in midwinter, +1 in midsummer const season_type season = common.season; // Noise factors const double T( weather_temperature_from_common_data( *this, common, t ) ); - double H( raw_noise_4d( x, y, z / 5, modSEED + 101 ) ); - double H2( raw_noise_4d( x, y, z, modSEED + 151 ) / 4 ); - double P( raw_noise_4d( x / 2.5, y / 2.5, z / 30, modSEED + 211 ) * 70 ); double A( raw_noise_4d( x, y, z, modSEED ) * 8.0 ); double W( raw_noise_4d( x / 2.5, y / 2.5, z / 200, modSEED ) * 10.0 ); - // Start and end at -1 going up to 1 in summer. - const double seasonal_variation( common.seasonal_variation ); // [-1, 1] - // Humidity variation double mod_h( 0 ); if( season == WINTER ) { @@ -131,19 +130,23 @@ w_point weather_generator::get_weather( const tripoint &location, const time_poi } else if( season == AUTUMN ) { mod_h += autumn_humidity_manual_mod; } - const double current_h( base_humidity + mod_h ); - // Humidity stays mostly at the mean level, but has low peaks rarely. It's a percentage. - H = std::max( std::min( ( ctn / 10.0 + ( -pow( H, 2 ) * 3 + H2 ) ) * current_h / 2.0 + current_h, - 100.0 ), 0.0 ); - - // Pressure variation - // Pressure is mostly random, but a bit higher on summer and lower on winter. In millibars. - P += seasonal_variation * 20 + base_pressure; + // Relative humidity, a percentage. + double H = std::min( 100., std::max( 0., + base_humidity + mod_h + 100 * ( + .15 * seasonality + + raw_noise_4d( x, y, z, modSEED + 101 ) * + .2 * ( -seasonality + 2 ) ) ) ); + + // Pressure + double P = + base_pressure + + raw_noise_4d( x, y, z, modSEED + 211 ) * + 10 * ( -seasonality + 2 ); // Wind power W = std::max( 0, static_cast( base_wind / pow( P / 1014.78, rng( 9, base_wind_distrib_peaks ) ) + - seasonal_variation / base_wind_season_variation * rng( 1, 2 ) * W ) ); + -cyf / base_wind_season_variation * rng( 1, 2 ) * W ) ); // Wind direction // Initial static variable if( current_winddir == 1000 ) { @@ -179,22 +182,22 @@ weather_type weather_generator::get_weather_conditions( const tripoint &location weather_type weather_generator::get_weather_conditions( const w_point &w ) const { weather_type r( WEATHER_CLEAR ); - if( w.pressure > 1030 && w.humidity < 70 ) { + if( w.pressure > 1020 && w.humidity < 70 ) { r = WEATHER_SUNNY; } - if( w.pressure < 1030 && w.humidity > 40 ) { + if( w.pressure < 1010 && w.humidity > 40 ) { r = WEATHER_CLOUDY; } - if( r == WEATHER_CLOUDY && ( w.humidity > 60 || w.pressure < 1010 ) ) { + if( r == WEATHER_CLOUDY && ( w.humidity > 97 || w.pressure < 1000 ) ) { r = WEATHER_DRIZZLE; } - if( r == WEATHER_DRIZZLE && ( w.humidity > 70 || w.pressure < 1000 ) ) { + if( r >= WEATHER_CLOUDY && ( w.humidity > 98 || w.pressure < 994 ) ) { r = WEATHER_RAINY; } - if( r == WEATHER_RAINY && w.pressure < 985 ) { + if( r == WEATHER_RAINY && w.pressure < 997 ) { r = WEATHER_THUNDER; } - if( r == WEATHER_THUNDER && w.pressure < 970 ) { + if( r == WEATHER_THUNDER && w.pressure < 990 ) { r = WEATHER_LIGHTNING; } @@ -202,10 +205,11 @@ weather_type weather_generator::get_weather_conditions( const w_point &w ) const if( r == WEATHER_DRIZZLE ) { r = WEATHER_FLURRIES; } else if( r > WEATHER_DRIZZLE ) { - r = WEATHER_SNOW; - } - if( r == WEATHER_SNOW && w.pressure < 960 && w.windpower > 15 ) { - r = WEATHER_SNOWSTORM; + if( r >= WEATHER_THUNDER && w.windpower > 15 ) { + r = WEATHER_SNOWSTORM; + } else { + r = WEATHER_SNOW; + } } } @@ -276,7 +280,7 @@ int weather_generator::get_water_temperature() const return water_temperature; } -void weather_generator::test_weather() const +void weather_generator::test_weather( unsigned seed = 1000 ) const { // Outputs a Cata year's worth of weather data to a CSV file. // Usage: @@ -290,7 +294,7 @@ void weather_generator::test_weather() const const time_point begin = calendar::turn; const time_point end = begin + 2 * calendar::year_length(); for( time_point i = begin; i < end; i += 20_minutes ) { - w_point w = get_weather( tripoint_zero, to_turn( i ), 1000 ); + w_point w = get_weather( tripoint_zero, to_turn( i ), seed ); weather_type c = get_weather_conditions( w ); weather_datum wd = weather_data( c ); @@ -314,13 +318,13 @@ void weather_generator::test_weather() const weather_generator weather_generator::load( JsonObject &jo ) { weather_generator ret; - ret.base_temperature = jo.get_float( "base_temperature", 6.5 ); - ret.base_humidity = jo.get_float( "base_humidity", 66.0 ); - ret.base_pressure = jo.get_float( "base_pressure", 1015.0 ); - ret.base_acid = jo.get_float( "base_acid", 1015.0 ); - ret.base_wind = jo.get_float( "base_wind", 5.7 ); - ret.base_wind_distrib_peaks = jo.get_int( "base_wind_distrib_peaks", 30 ); - ret.base_wind_season_variation = jo.get_int( "base_wind_season_variation", 64 ); + ret.base_temperature = jo.get_float( "base_temperature", 0.0 ); + ret.base_humidity = jo.get_float( "base_humidity", 50.0 ); + ret.base_pressure = jo.get_float( "base_pressure", 0.0 ); + ret.base_acid = jo.get_float( "base_acid", 0.0 ); + ret.base_wind = jo.get_float( "base_wind", 0.0 ); + ret.base_wind_distrib_peaks = jo.get_int( "base_wind_distrib_peaks", 0 ); + ret.base_wind_season_variation = jo.get_int( "base_wind_season_variation", 0 ); ret.summer_temp_manual_mod = jo.get_int( "summer_temp_manual_mod", 0 ); ret.spring_temp_manual_mod = jo.get_int( "spring_temp_manual_mod", 0 ); ret.autumn_temp_manual_mod = jo.get_int( "autumn_temp_manual_mod", 0 ); diff --git a/src/weather_gen.h b/src/weather_gen.h index 0a13b6d609694..0e49a18f96c35 100644 --- a/src/weather_gen.h +++ b/src/weather_gen.h @@ -24,17 +24,17 @@ struct w_point { class weather_generator { public: - // Average temperature of New England - double base_temperature = 6.5; + // Average temperature + double base_temperature; // Average humidity - double base_humidity = 66.0; + double base_humidity; // Average atmospheric pressure - double base_pressure = 1015.0; - double base_acid = 0.0; - //Average yearly windspeed of New England - double base_wind = 5.7; + double base_pressure; + double base_acid; + //Average yearly windspeed + double base_wind; //How much the wind peaks above average - int base_wind_distrib_peaks = 30; + int base_wind_distrib_peaks; int summer_temp_manual_mod = 0; int spring_temp_manual_mod = 0; int autumn_temp_manual_mod = 0; @@ -44,8 +44,7 @@ class weather_generator int autumn_humidity_manual_mod = 0; int winter_humidity_manual_mod = 0; //How much the wind folows seasonal variation ( lower means more change ) - int base_wind_season_variation = - 64; + int base_wind_season_variation; static int current_winddir; weather_generator(); @@ -61,7 +60,7 @@ class weather_generator int get_wind_direction( season_type, unsigned seed ) const; int convert_winddir( int ) const; int get_water_temperature() const; - void test_weather() const; + void test_weather( unsigned ) const; double get_weather_temperature( const tripoint &, const time_point &, unsigned ) const; diff --git a/src/wish.cpp b/src/wish.cpp index 6bd73fb1ecb2d..ac6cc11f477ef 100644 --- a/src/wish.cpp +++ b/src/wish.cpp @@ -96,7 +96,7 @@ class wish_mutate_callback: public uilist_callback if( !mdata.prereqs.empty() ) { line2++; mvwprintz( menu->window, point( startx, line2 ), c_light_gray, _( "Prereqs:" ) ); - for( auto &j : mdata.prereqs ) { + for( const trait_id &j : mdata.prereqs ) { mvwprintz( menu->window, point( startx + 11, line2 ), mcolor( j ), mutation_branch::get_name( j ) ); line2++; @@ -106,7 +106,7 @@ class wish_mutate_callback: public uilist_callback if( !mdata.prereqs2.empty() ) { line2++; mvwprintz( menu->window, point( startx, line2 ), c_light_gray, _( "Prereqs, 2d:" ) ); - for( auto &j : mdata.prereqs2 ) { + for( const trait_id &j : mdata.prereqs2 ) { mvwprintz( menu->window, point( startx + 15, line2 ), mcolor( j ), mutation_branch::get_name( j ) ); line2++; @@ -116,7 +116,7 @@ class wish_mutate_callback: public uilist_callback if( !mdata.threshreq.empty() ) { line2++; mvwprintz( menu->window, point( startx, line2 ), c_light_gray, _( "Thresholds required:" ) ); - for( auto &j : mdata.threshreq ) { + for( const trait_id &j : mdata.threshreq ) { mvwprintz( menu->window, point( startx + 21, line2 ), mcolor( j ), mutation_branch::get_name( j ) ); line2++; @@ -126,7 +126,7 @@ class wish_mutate_callback: public uilist_callback if( !mdata.cancels.empty() ) { line2++; mvwprintz( menu->window, point( startx, line2 ), c_light_gray, _( "Cancels:" ) ); - for( auto &j : mdata.cancels ) { + for( const trait_id &j : mdata.cancels ) { mvwprintz( menu->window, point( startx + 11, line2 ), mcolor( j ), mutation_branch::get_name( j ) ); line2++; @@ -136,7 +136,7 @@ class wish_mutate_callback: public uilist_callback if( !mdata.replacements.empty() ) { line2++; mvwprintz( menu->window, point( startx, line2 ), c_light_gray, _( "Becomes:" ) ); - for( auto &j : mdata.replacements ) { + for( const trait_id &j : mdata.replacements ) { mvwprintz( menu->window, point( startx + 11, line2 ), mcolor( j ), mutation_branch::get_name( j ) ); line2++; @@ -354,7 +354,7 @@ class wish_monster_callback: public uilist_callback std::string header = string_format( "#%d: %s (%d)%s", entnum, tmp.type->nname(), group, hallucination ? _( " (hallucination)" ) : "" ); - mvwprintz( w_info, point( ( getmaxx( w_info ) - header.size() ) / 2, 0 ), c_cyan, header ); + mvwprintz( w_info, point( ( getmaxx( w_info ) - utf8_width( header ) ) / 2, 0 ), c_cyan, header ); mvwprintz( w_info, point( 0, getmaxy( w_info ) - 3 ), c_green, msg ); msg = padding; @@ -390,7 +390,7 @@ void debug_menu::wishmonster( const cata::optional &p ) wmenu.callback = &cb; int i = 0; - for( const auto &montype : MonsterGenerator::generator().get_all_mtypes() ) { + for( const mtype &montype : MonsterGenerator::generator().get_all_mtypes() ) { wmenu.addentry( i, true, 0, montype.nname() ); wmenu.entries[i].extratxt.txt = montype.sym; wmenu.entries[i].extratxt.color = montype.color; @@ -452,7 +452,7 @@ class wish_item_callback: public uilist_callback flag = string_input_popup() .title( _( "Add which flag? Use UPPERCASE letters without quotes" ) ) .query_string(); - if( flag.length() > 0 ) { + if( !flag.empty() ) { has_flag = true; } return true; @@ -473,8 +473,8 @@ class wish_item_callback: public uilist_callback standard_itype_ids[entnum]->get_id().c_str(), incontainer ? _( " (contained)" ) : "", has_flag ? _( " (flagged)" ) : "" ); - mvwprintz( menu->window, point( startx + ( menu->pad_right - 1 - header.size() ) / 2, 1 ), c_cyan, - header ); + mvwprintz( menu->window, point( startx + ( menu->pad_right - 1 - utf8_width( header ) ) / 2, 1 ), + c_cyan, header ); fold_and_print( menu->window, point( startx, starty ), menu->pad_right - 1, c_light_gray, tmp.info( true ) ); @@ -579,7 +579,7 @@ void debug_menu::wishskill( player *p ) uilist skmenu; skmenu.text = _( "Select a skill to modify" ); skmenu.allow_anykey = true; - skmenu.addentry( 0, true, '1', _( "Modify all skills..." ) ); + skmenu.addentry( 0, true, '1', _( "Modify all skills…" ) ); std::vector origskills; origskills.reserve( Skill::skills.size() ); @@ -612,7 +612,7 @@ void debug_menu::wishskill( player *p ) sksetmenu.w_height = NUM_SKILL_LVL + 4; sksetmenu.w_x = skmenu.w_x + skmenu.w_width + 1; sksetmenu.w_y = std::max( 0, skmenu.w_y + ( skmenu.w_height - sksetmenu.w_height ) / 2 ); - sksetmenu.settext( string_format( _( "Set '%s' to.." ), skill.name() ) ); + sksetmenu.settext( string_format( _( "Set '%s' to…" ), skill.name() ) ); const int skcur = p->get_skill_level( skill.ident() ); sksetmenu.selected = skcur; for( int i = 0; i < NUM_SKILL_LVL; i++ ) { diff --git a/src/worldfactory.cpp b/src/worldfactory.cpp index 0401ccb75b200..164c43650bf51 100644 --- a/src/worldfactory.cpp +++ b/src/worldfactory.cpp @@ -16,6 +16,7 @@ #include "catacharset.h" #include "char_validity_check.h" #include "cursesdef.h" +#include "cursesport.h" #include "debug.h" #include "enums.h" #include "filesystem.h" @@ -34,6 +35,8 @@ using namespace std::placeholders; +#define dbg(x) DebugLog((x), D_MAIN) << __FILE__ << ":" << __LINE__ << ": " + static const std::string SAVE_MASTER( "master.gsav" ); static const std::string SAVE_EXTENSION( ".sav" ); @@ -90,7 +93,7 @@ void WORLD::COPY_WORLD( const WORLD *world_to_copy ) std::string WORLD::folder_path() const { - return FILENAMES["savedir"] + utf8_to_native( world_name ); + return PATH_INFO::savedir() + utf8_to_native( world_name ); } bool WORLD::save_exists( const save_t &name ) const @@ -141,14 +144,12 @@ WORLDPTR worldfactory::make_new_world( bool show_prompt, const std::string &worl retworld->COPY_WORLD( world_generator->get_world( world_to_copy ) ); } + const int iMinScreenWidth = std::max( FULL_SCREEN_WIDTH, TERMX / 2 ); + const int iOffsetX = TERMX > FULL_SCREEN_WIDTH ? ( TERMX - iMinScreenWidth ) / 2 : 0; + if( show_prompt ) { - // Window variables - const int iOffsetX = TERMX > FULL_SCREEN_WIDTH ? ( TERMX - FULL_SCREEN_WIDTH ) / 2 : 0; - const int iOffsetY = TERMY > FULL_SCREEN_HEIGHT ? ( TERMY - FULL_SCREEN_HEIGHT ) / 2 : 0; // set up window - catacurses::window wf_win = - catacurses::newwin( FULL_SCREEN_HEIGHT, FULL_SCREEN_WIDTH, - point( iOffsetX, iOffsetY ) ); + catacurses::window wf_win = catacurses::newwin( TERMY, iMinScreenWidth, point( iOffsetX, 0 ) ); int curtab = 0; int lasttab = 0; // give placement memory to menus, sorta. @@ -166,6 +167,9 @@ WORLDPTR worldfactory::make_new_world( bool show_prompt, const std::string &worl } } if( curtab < 0 ) { +#if defined(TILES) || defined(_WIN32) + handle_redraw(); +#endif return nullptr; } } @@ -224,7 +228,7 @@ bool WORLD::save( const bool is_conversion ) const } if( !is_conversion ) { - const auto savefile = folder_path() + "/" + FILENAMES["worldoptions"]; + const auto savefile = folder_path() + "/" + PATH_INFO::worldoptions(); const bool saved = write_to_file( savefile, [&]( std::ostream & fout ) { JsonOut jout( fout ); @@ -260,8 +264,8 @@ void worldfactory::init() load_last_world_info(); std::vector qualifiers; - qualifiers.push_back( FILENAMES["worldoptions"] ); - qualifiers.push_back( FILENAMES["legacy_worldoptions"] ); + qualifiers.push_back( PATH_INFO::worldoptions() ); + qualifiers.push_back( PATH_INFO::legacy_worldoptions() ); qualifiers.push_back( SAVE_MASTER ); all_worlds.clear(); @@ -269,7 +273,7 @@ void worldfactory::init() // get the master files. These determine the validity of a world // worlds exist by having an option file // create worlds - for( const auto &world_dir : get_directories_with( qualifiers, FILENAMES["savedir"], true ) ) { + for( const auto &world_dir : get_directories_with( qualifiers, PATH_INFO::savedir(), true ) ) { // get the save files auto world_sav_files = get_files_from_path( SAVE_EXTENSION, world_dir, false ); // split the save file names between the directory and the extension @@ -376,10 +380,10 @@ WORLDPTR worldfactory::pick_world( bool show_prompt ) } const int iTooltipHeight = 3; - const int iContentHeight = FULL_SCREEN_HEIGHT - 3 - iTooltipHeight; + const int iContentHeight = TERMY - 3 - iTooltipHeight; + const int iMinScreenWidth = std::max( FULL_SCREEN_WIDTH, TERMX / 2 ); + const int iOffsetX = TERMX > FULL_SCREEN_WIDTH ? ( TERMX - iMinScreenWidth ) / 2 : 0; const size_t num_pages = world_names.size() / iContentHeight + 1; // at least 1 page - const int iOffsetX = TERMX > FULL_SCREEN_WIDTH ? ( TERMX - FULL_SCREEN_WIDTH ) / 2 : 0; - const int iOffsetY = TERMY > FULL_SCREEN_HEIGHT ? ( TERMY - FULL_SCREEN_HEIGHT ) / 2 : 0; std::map mapLines; mapLines[3] = true; @@ -393,27 +397,27 @@ WORLDPTR worldfactory::pick_world( bool show_prompt ) } size_t sel = 0, selpage = 0; - catacurses::window w_worlds_border = - catacurses::newwin( FULL_SCREEN_HEIGHT, FULL_SCREEN_WIDTH, point( iOffsetX, iOffsetY ) ); - catacurses::window w_worlds_tooltip = catacurses::newwin( iTooltipHeight, FULL_SCREEN_WIDTH - 2, - point( 1 + iOffsetX, 1 + iOffsetY ) ); - catacurses::window w_worlds_header = catacurses::newwin( 1, FULL_SCREEN_WIDTH - 2, - point( 1 + iOffsetX, 1 + iTooltipHeight + iOffsetY ) ); - catacurses::window w_worlds = catacurses::newwin( iContentHeight, FULL_SCREEN_WIDTH - 2, - point( 1 + iOffsetX, iTooltipHeight + 2 + iOffsetY ) ); + catacurses::window w_worlds_border = catacurses::newwin( TERMY, iMinScreenWidth, + point( iOffsetX, 0 ) ); + catacurses::window w_worlds_tooltip = catacurses::newwin( iTooltipHeight, iMinScreenWidth - 2, + point( 1 + iOffsetX, 1 ) ); + catacurses::window w_worlds_header = catacurses::newwin( 1, iMinScreenWidth - 2, + point( 1 + iOffsetX, 1 + iTooltipHeight ) ); + catacurses::window w_worlds = catacurses::newwin( iContentHeight, iMinScreenWidth - 2, + point( 1 + iOffsetX, iTooltipHeight + 2 ) ); draw_border( w_worlds_border, BORDER_COLOR, _( " WORLD SELECTION " ) ); mvwputch( w_worlds_border, point( 0, 4 ), BORDER_COLOR, LINE_XXXO ); // |- - mvwputch( w_worlds_border, point( FULL_SCREEN_WIDTH - 1, 4 ), BORDER_COLOR, LINE_XOXX ); // -| + mvwputch( w_worlds_border, point( iMinScreenWidth - 1, 4 ), BORDER_COLOR, LINE_XOXX ); // -| for( auto &mapLine : mapLines ) { - mvwputch( w_worlds_border, point( mapLine.first + 1, FULL_SCREEN_HEIGHT - 1 ), BORDER_COLOR, + mvwputch( w_worlds_border, point( mapLine.first + 1, TERMY - 1 ), BORDER_COLOR, LINE_XXOX ); // _|_ } wrefresh( w_worlds_border ); - for( int i = 0; i < 78; i++ ) { + for( int i = 0; i < getmaxx( w_worlds_border ); i++ ) { if( mapLines[i] ) { mvwputch( w_worlds_header, point( i, 0 ), BORDER_COLOR, LINE_OXXX ); } else { @@ -436,7 +440,7 @@ WORLDPTR worldfactory::pick_world( bool show_prompt ) while( true ) { //Clear the lines for( int i = 0; i < iContentHeight; i++ ) { - for( int j = 0; j < 79; j++ ) { + for( int j = 0; j < getmaxx( w_worlds ); j++ ) { if( mapLines[j] ) { mvwputch( w_worlds, point( j, i ), BORDER_COLOR, LINE_XOXO ); } else { @@ -491,6 +495,9 @@ WORLDPTR worldfactory::pick_world( bool show_prompt ) const std::string action = ctxt.handle_input(); if( action == "QUIT" ) { +#if defined(TILES) || defined(_WIN32) + handle_redraw(); +#endif break; } else if( !world_pages[selpage].empty() && action == "DOWN" ) { sel++; @@ -552,7 +559,7 @@ void worldfactory::remove_world( const std::string &worldname ) void worldfactory::load_last_world_info() { - std::ifstream file( FILENAMES["lastworld"], std::ifstream::in | std::ifstream::binary ); + std::ifstream file( PATH_INFO::lastworld(), std::ifstream::in | std::ifstream::binary ); if( !file.good() ) { return; } @@ -565,7 +572,7 @@ void worldfactory::load_last_world_info() void worldfactory::save_last_world_info() { - write_to_file( FILENAMES["lastworld"], [&]( std::ostream & file ) { + write_to_file( PATH_INFO::lastworld(), [&]( std::ostream & file ) { JsonOut jsout( file, true ); jsout.start_object(); jsout.member( "world_name", last_world_name ); @@ -716,14 +723,13 @@ void worldfactory::draw_mod_list( const catacurses::window &w, int &start, size_ void worldfactory::show_active_world_mods( const std::vector &world_mods ) { - const int iOffsetX = TERMX > FULL_SCREEN_WIDTH ? ( TERMX - FULL_SCREEN_WIDTH ) / 2 : 0; - const int iOffsetY = TERMY > FULL_SCREEN_HEIGHT ? ( TERMY - FULL_SCREEN_HEIGHT ) / 2 : 0; + const int iMinScreenWidth = std::max( FULL_SCREEN_WIDTH, TERMX / 2 ); + const int iOffsetX = TERMX > FULL_SCREEN_WIDTH ? ( TERMX - iMinScreenWidth ) / 2 : 0; - catacurses::window w_border = catacurses::newwin( 13, FULL_SCREEN_WIDTH / 2 - 3, point( iOffsetX, - 4 + iOffsetY ) ); - - catacurses::window w_mods = catacurses::newwin( 11, FULL_SCREEN_WIDTH / 2 - 4, point( iOffsetX, - 5 + iOffsetY ) ); + catacurses::window w_border = catacurses::newwin( TERMY - 11, iMinScreenWidth / 2 - 3, + point( iOffsetX, 4 ) ); + catacurses::window w_mods = catacurses::newwin( TERMY - 13, iMinScreenWidth / 2 - 4, + point( iOffsetX, 5 ) ); int start = 0; int cursor = 0; @@ -758,6 +764,9 @@ void worldfactory::show_active_world_mods( const std::vector &world_mods } } else if( action == "QUIT" || action == "CONFIRM" ) { +#if defined(TILES) || defined(_WIN32) + handle_redraw(); +#endif break; } } @@ -794,22 +803,23 @@ int worldfactory::show_worldgen_tab_modselection( const catacurses::window &win, ctxt.register_action( "SAVE_DEFAULT_MODS" ); ctxt.register_action( "VIEW_MOD_DESCRIPTION" ); - const int iOffsetX = TERMX > FULL_SCREEN_WIDTH ? ( TERMX - FULL_SCREEN_WIDTH ) / 2 : 0; - const int iOffsetY = TERMY > FULL_SCREEN_HEIGHT ? ( TERMY - FULL_SCREEN_HEIGHT ) / 2 : 0; + const int iMinScreenWidth = std::max( FULL_SCREEN_WIDTH, TERMX / 2 ); + const int iOffsetX = TERMX > FULL_SCREEN_WIDTH ? ( TERMX - iMinScreenWidth ) / 2 : 0; // lots of small windows so that each section can be drawn to independently of the others as necessary - catacurses::window w_header1 = catacurses::newwin( 1, FULL_SCREEN_WIDTH / 2 - 5, - point( 1 + iOffsetX, 3 + iOffsetY ) ); - catacurses::window w_header2 = catacurses::newwin( 1, FULL_SCREEN_WIDTH / 2 - 4, - point( FULL_SCREEN_WIDTH / 2 + 3 + iOffsetX, 3 + iOffsetY ) ); - catacurses::window w_shift = catacurses::newwin( 13, 5, - point( FULL_SCREEN_WIDTH / 2 - 3 + iOffsetX, 3 + iOffsetY ) ); - catacurses::window w_list = catacurses::newwin( 11, FULL_SCREEN_WIDTH / 2 - 4, point( iOffsetX, - 5 + iOffsetY ) ); - catacurses::window w_active = catacurses::newwin( 11, FULL_SCREEN_WIDTH / 2 - 4, - point( FULL_SCREEN_WIDTH / 2 + 2 + iOffsetX, 5 + iOffsetY ) ); - catacurses::window w_description = catacurses::newwin( 4, FULL_SCREEN_WIDTH - 2, - point( 1 + iOffsetX, 19 + iOffsetY ) ); + catacurses::window w_header1 = catacurses::newwin( 1, iMinScreenWidth / 2 - 5, + point( 1 + iOffsetX, 3 ) ); + catacurses::window w_header2 = catacurses::newwin( 1, iMinScreenWidth / 2 - 4, + point( iMinScreenWidth / 2 + 3 + iOffsetX, 3 ) ); + catacurses::window w_shift = catacurses::newwin( TERMY - 11, 5, + point( iMinScreenWidth / 2 - 3 + iOffsetX, 3 ) ); + catacurses::window w_list = catacurses::newwin( TERMY - 13, iMinScreenWidth / 2 - 4, + point( iOffsetX, 5 ) ); + catacurses::window w_active = catacurses::newwin( TERMY - 13, iMinScreenWidth / 2 - 4, + point( iMinScreenWidth / 2 + 2 + iOffsetX, 5 ) ); + catacurses::window w_description = catacurses::newwin( 4, iMinScreenWidth - 4, + point( 1 + iOffsetX, TERMY - 5 ) ); + draw_modselection_borders( win, ctxt ); std::vector headers; @@ -925,7 +935,7 @@ int worldfactory::show_worldgen_tab_modselection( const catacurses::window &win, if( num_lines > window_height ) { // The description didn't fit in the window, so provide a // hint for how to see the whole thing - std::string message = string_format( _( "...%s = View full description " ), + std::string message = string_format( _( "…%s = View full description " ), ctxt.get_desc( "VIEW_MOD_DESCRIPTION" ) ); nc_color color = c_green; print_colored_text( w_description, point( window_width - utf8_width( message ), window_height - 1 ), @@ -1100,15 +1110,14 @@ int worldfactory::show_worldgen_tab_modselection( const catacurses::window &win, int worldfactory::show_worldgen_tab_confirm( const catacurses::window &win, WORLDPTR world ) { const int iTooltipHeight = 1; - const int iContentHeight = FULL_SCREEN_HEIGHT - 3 - iTooltipHeight; - - const int iOffsetX = TERMX > FULL_SCREEN_WIDTH ? ( TERMX - FULL_SCREEN_WIDTH ) / 2 : 0; - const int iOffsetY = TERMY > FULL_SCREEN_HEIGHT ? ( TERMY - FULL_SCREEN_HEIGHT ) / 2 : 0; + const int iContentHeight = TERMY - 3 - iTooltipHeight; + const int iMinScreenWidth = std::max( FULL_SCREEN_WIDTH, TERMX / 2 ); + const int iOffsetX = TERMX > FULL_SCREEN_WIDTH ? ( TERMX - iMinScreenWidth ) / 2 : 0; const char *line_of_32_underscores = "________________________________"; - catacurses::window w_confirmation = catacurses::newwin( iContentHeight, FULL_SCREEN_WIDTH - 2, - point( 1 + iOffsetX, iTooltipHeight + 2 + iOffsetY ) ); + catacurses::window w_confirmation = catacurses::newwin( iContentHeight, iMinScreenWidth - 2, + point( 1 + iOffsetX, iTooltipHeight + 2 ) ); int namebar_y = 1; int namebar_x = 3 + utf8_width( _( "World Name:" ) ); @@ -1129,10 +1138,11 @@ int worldfactory::show_worldgen_tab_confirm( const catacurses::window &win, WORL do { mvwprintz( w_confirmation, point( 2, namebar_y ), c_white, _( "World Name:" ) ); mvwprintz( w_confirmation, point( namebar_x, namebar_y ), c_light_gray, line_of_32_underscores ); - fold_and_print( w_confirmation, point( 2, 3 ), 76, c_light_gray, + fold_and_print( w_confirmation, point( 2, 3 ), getmaxx( w_confirmation ) - 2, c_light_gray, _( "Press %s to pick a random name for your world." ), ctxt.get_desc( "PICK_RANDOM_WORLDNAME" ) ); - fold_and_print( w_confirmation, point( 2, FULL_SCREEN_HEIGHT / 2 - 2 ), 76, c_light_gray, + fold_and_print( w_confirmation, point( 2, TERMY / 2 - 2 ), getmaxx( w_confirmation ) - 2, + c_light_gray, _( "Press %s when you are satisfied with the world as it is and are ready " "to continue, or %s to go back and review your world." ), ctxt.get_desc( "NEXT_TAB" ), ctxt.get_desc( "PREV_TAB" ) ); @@ -1164,6 +1174,9 @@ int worldfactory::show_worldgen_tab_confirm( const catacurses::window &win, WORL if( !valid_worldname( world->world_name ) ) { continue; } +#if defined(TILES) || defined(_WIN32) + handle_redraw(); +#endif return 1; } } else if( query_yn( _( "Are you SURE you're finished?" ) ) ) { @@ -1174,6 +1187,9 @@ int worldfactory::show_worldgen_tab_confirm( const catacurses::window &win, WORL if( valid_worldname( worldname ) ) { world->world_name = worldname; +#if defined(TILES) || defined(_WIN32) + handle_redraw(); +#endif return 1; } else { continue; @@ -1225,18 +1241,13 @@ int worldfactory::show_worldgen_tab_confirm( const catacurses::window &win, WORL void worldfactory::draw_modselection_borders( const catacurses::window &win, const input_context &ctxtp ) { + + const int iMinScreenWidth = std::max( FULL_SCREEN_WIDTH, TERMX / 2 ); + // make appropriate lines: X & Y coordinate of starting point, length, horizontal/vertical type - std::array xs = {{ - 1, 1, FULL_SCREEN_WIDTH / 2 + 2, FULL_SCREEN_WIDTH / 2 - 4, - FULL_SCREEN_WIDTH / 2 + 2 - } - }; - std::array ys = {{FULL_SCREEN_HEIGHT - 8, 4, 4, 3, 3}}; - std::array ls = {{ - FULL_SCREEN_WIDTH - 2, FULL_SCREEN_WIDTH / 2 - 4, - FULL_SCREEN_WIDTH / 2 - 3, FULL_SCREEN_HEIGHT - 11, 1 - } - }; + std::array xs = {{1, 1, iMinScreenWidth / 2 + 2, iMinScreenWidth / 2 - 4, iMinScreenWidth / 2 + 2}}; + std::array ys = {{TERMY - 8, 4, 4, 3, 3}}; + std::array ls = {{iMinScreenWidth - 2, iMinScreenWidth / 2 - 4, iMinScreenWidth / 2 - 2, TERMY - 11, 1}}; std::array hv = {{true, true, true, false, false}}; // horizontal line = true, vertical line = false for( int i = 0; i < 5; ++i ) { @@ -1245,7 +1256,7 @@ void worldfactory::draw_modselection_borders( const catacurses::window &win, int l = ls[i]; if( hv[i] ) { for( int j = 0; j < l; ++j ) { - mvwputch( win, point( x + j, y ), BORDER_COLOR, LINE_OXOX ); // _ + mvwputch( win, point( x + j, y ), BORDER_COLOR, LINE_OXOX ); // - } } else { for( int j = 0; j < l; ++j ) { @@ -1255,24 +1266,24 @@ void worldfactory::draw_modselection_borders( const catacurses::window &win, } // Add in connective characters - mvwputch( win, point( 0, 4 ), BORDER_COLOR, LINE_XXXO ); - mvwputch( win, point( 0, FULL_SCREEN_HEIGHT - 8 ), BORDER_COLOR, LINE_XXXO ); - mvwputch( win, point( FULL_SCREEN_WIDTH / 2 + 2, 4 ), BORDER_COLOR, LINE_XXXO ); + mvwputch( win, point( 0, 4 ), BORDER_COLOR, LINE_XXXO ); // |- + mvwputch( win, point( 0, TERMY - 8 ), BORDER_COLOR, LINE_XXXO ); // |- + mvwputch( win, point( iMinScreenWidth / 2 + 2, 4 ), BORDER_COLOR, LINE_XXXO ); // |- - mvwputch( win, point( FULL_SCREEN_WIDTH - 1, 4 ), BORDER_COLOR, LINE_XOXX ); - mvwputch( win, point( FULL_SCREEN_WIDTH - 1, FULL_SCREEN_HEIGHT - 8 ), BORDER_COLOR, LINE_XOXX ); - mvwputch( win, point( FULL_SCREEN_WIDTH / 2 - 4, 4 ), BORDER_COLOR, LINE_XOXX ); + mvwputch( win, point( iMinScreenWidth - 1, 4 ), BORDER_COLOR, LINE_XOXX ); // -| + mvwputch( win, point( iMinScreenWidth - 1, TERMY - 8 ), BORDER_COLOR, LINE_XOXX ); // -| + mvwputch( win, point( iMinScreenWidth / 2 - 4, 4 ), BORDER_COLOR, LINE_XOXX ); // -| - mvwputch( win, point( FULL_SCREEN_WIDTH / 2 - 4, 2 ), BORDER_COLOR, LINE_OXXX ); // -.- - mvwputch( win, point( FULL_SCREEN_WIDTH / 2 + 2, 2 ), BORDER_COLOR, LINE_OXXX ); // -.- + mvwputch( win, point( iMinScreenWidth / 2 - 4, 2 ), BORDER_COLOR, LINE_OXXX ); // -.- + mvwputch( win, point( iMinScreenWidth / 2 + 2, 2 ), BORDER_COLOR, LINE_OXXX ); // -.- - mvwputch( win, point( FULL_SCREEN_WIDTH / 2 - 4, FULL_SCREEN_HEIGHT - 8 ), BORDER_COLOR, + mvwputch( win, point( iMinScreenWidth / 2 - 4, TERMY - 8 ), BORDER_COLOR, LINE_XXOX ); // _|_ - mvwputch( win, point( FULL_SCREEN_WIDTH / 2 + 2, FULL_SCREEN_HEIGHT - 8 ), BORDER_COLOR, + mvwputch( win, point( iMinScreenWidth / 2 + 2, TERMY - 8 ), BORDER_COLOR, LINE_XXOX ); // _|_ // Add tips & hints - fold_and_print( win, point( 2, FULL_SCREEN_HEIGHT - 7 ), getmaxx( win ) - 4, c_green, + fold_and_print( win, point( 2, TERMY - 7 ), getmaxx( win ) - 4, c_green, _( "%s = Save Load Order as default. %s = Controls %s/%s = Prev/Next Option. %s/%s = Prev/Next Tab." ), ctxtp.get_desc( "SAVE_DEFAULT_MODS" ), ctxtp.get_desc( "HELP_KEYBINDINGS" ), @@ -1296,7 +1307,11 @@ void worldfactory::draw_worldgen_tabs( const catacurses::window &w, size_t curre } }; - draw_tabs( w, tab_strings, current ); + std::vector tab_strings_translated( tab_strings ); + std::for_each( tab_strings_translated.begin(), + tab_strings_translated.end(), []( std::string & str )->void { str = _( str ); } ); + + draw_tabs( w, tab_strings_translated, current ); draw_border_below_tabs( w ); } @@ -1331,6 +1346,11 @@ void WORLD::load_options( JsonIn &jsin ) const std::string value = opts.migrateOptionValue( jo.get_string( "name" ), jo.get_string( "value" ) ); + // Verify format of options file + if( !jo.has_string( "info" ) || !jo.has_string( "default" ) ) { + dbg( D_ERROR ) << "options object " << name << " was missing info or default"; + } + if( name == "CORE_VERSION" ) { version = std::max( std::atoi( value.c_str() ), 0 ); continue; @@ -1376,14 +1396,14 @@ bool WORLD::load_options() WORLD_OPTIONS = get_options().get_world_defaults(); using namespace std::placeholders; - const auto path = folder_path() + "/" + FILENAMES["worldoptions"]; + const auto path = folder_path() + "/" + PATH_INFO::worldoptions(); if( read_from_file_optional_json( path, [&]( JsonIn & jsin ) { load_options( jsin ); } ) ) { return true; } - const auto legacy_path = folder_path() + "/" + FILENAMES["legacy_worldoptions"]; + const auto legacy_path = folder_path() + "/" + PATH_INFO::legacy_worldoptions(); if( read_from_file_optional( legacy_path, std::bind( &WORLD::load_legacy_options, this, _1 ) ) ) { if( save() ) { // Remove old file as the options have been saved to the new file. @@ -1452,7 +1472,7 @@ WORLDPTR worldfactory::get_world( const std::string &name ) // Helper predicate to exclude files from deletion when resetting a world directory. static bool isForbidden( const std::string &candidate ) { - return candidate.find( FILENAMES["worldoptions"] ) != std::string::npos || + return candidate.find( PATH_INFO::worldoptions() ) != std::string::npos || candidate.find( "mods.json" ) != std::string::npos; } diff --git a/tests/bionics_test.cpp b/tests/bionics_test.cpp index 7db31df6a0710..03cad7b9cef50 100644 --- a/tests/bionics_test.cpp +++ b/tests/bionics_test.cpp @@ -47,9 +47,16 @@ static void give_and_activate( player &p, bionic_id const &bioid ) // turn on if possible if( bio.id->toggled && !bio.powered ) { + const std::vector fuel_opts = bio.info().fuel_opts; + if( !fuel_opts.empty() ) { + p.set_value( fuel_opts.front(), "2" ); + } p.activate_bionic( bioindex ); INFO( "bionic " + bio.id.str() + " with index " + std::to_string( bioindex ) + " is active " ); REQUIRE( p.has_active_bionic( bioid ) ); + if( !fuel_opts.empty() ) { + p.remove_value( fuel_opts.front() ); + } } } diff --git a/tests/comestible_tests.cpp b/tests/comestible_tests.cpp index 143993e14dde1..af11688578405 100644 --- a/tests/comestible_tests.cpp +++ b/tests/comestible_tests.cpp @@ -85,7 +85,7 @@ static int byproduct_calories( const recipe &recipe_obj ) int kcal = 0; for( const item &it : byproducts ) { if( it.is_comestible() ) { - kcal += it.type->comestible->get_calories(); + kcal += it.type->comestible->get_calories() * it.charges; } } return kcal; @@ -109,10 +109,12 @@ static item food_or_food_container( const item &it ) TEST_CASE( "recipe_permutations" ) { // Are these tests failing? Here's how to fix that: - // If the average is greater than the upper bound, you need to increase the calories - // for the item that is causing the test to fail - // If the average is greater than the lower bound, you need to decrease the calories - // for the item that is causing the test to fail + // If the average is over the upper bound, you need to increase the calories for the item + // that is causing the test to fail (or decrease the total calories of the ingredients) + // If the average is under the lower bound, you need to decrease the calories for the item + // that is causing the test to fail (or increase the total calories of the ingredients) + // If it doesn't make sense for your component and resultant calories to match, you probably + // want to add the NUTRIENT_OVERRIDE flag to the resultant item. for( const auto &recipe_pair : recipe_dict ) { // the resulting item const recipe &recipe_obj = recipe_pair.first.obj(); @@ -120,8 +122,13 @@ TEST_CASE( "recipe_permutations" ) const bool is_food = res_it.is_food(); const bool has_override = res_it.has_flag( "NUTRIENT_OVERRIDE" ); if( is_food && !has_override ) { + // Collection of kcal values of all ingredient permutations all_stats mystats = run_stats( recipe_permutations( recipe_obj.requirements().get_components() ), byproduct_calories( recipe_obj ) ); + if( mystats.calories.n() < 2 ) { + continue; + } + // The calories of the result int default_calories = 0; if( res_it.type->comestible ) { default_calories = res_it.type->comestible->get_calories(); @@ -129,20 +136,19 @@ TEST_CASE( "recipe_permutations" ) if( res_it.charges > 0 ) { default_calories *= res_it.charges; } + // Make the range of acceptable average calories of permutations, using result's calories const float lower_bound = std::min( default_calories - mystats.calories.stddev() * 2, default_calories * 0.8 ); const float upper_bound = std::max( default_calories + mystats.calories.stddev() * 2, default_calories * 1.2 ); - if( mystats.calories.min() != mystats.calories.max() ) { - if( mystats.calories.min() < 0 || lower_bound >= mystats.calories.avg() || - mystats.calories.avg() >= upper_bound ) { - printf( "\n\nRecipeID: %s, Lower Bound: %f, Average: %f, Upper Bound: %f\n\n", - recipe_pair.first.c_str(), lower_bound, mystats.calories.avg(), - upper_bound ); - } - CHECK( mystats.calories.min() >= 0 ); - CHECK( lower_bound < mystats.calories.avg() ); - CHECK( mystats.calories.avg() < upper_bound ); + CHECK( mystats.calories.min() >= 0 ); + CHECK( lower_bound <= mystats.calories.avg() ); + CHECK( mystats.calories.avg() <= upper_bound ); + if( mystats.calories.min() < 0 || lower_bound > mystats.calories.avg() || + mystats.calories.avg() > upper_bound ) { + printf( "\n\nRecipeID: %s, Lower Bound: %f, Average: %f, Upper Bound: %f\n\n", + recipe_pair.first.c_str(), lower_bound, mystats.calories.avg(), + upper_bound ); } } } diff --git a/tests/energy_units_test.cpp b/tests/energy_units_test.cpp deleted file mode 100644 index 0d183c3395262..0000000000000 --- a/tests/energy_units_test.cpp +++ /dev/null @@ -1,34 +0,0 @@ -#include -#include - -#include "catch/catch.hpp" -#include "json.h" -#include "units.h" - -static units::energy parse_energy_quantity( const std::string &json ) -{ - std::istringstream buffer( json ); - JsonIn jsin( buffer ); - return read_from_json_string( jsin, units::energy_units ); -} - -TEST_CASE( "energy parsing from JSON" ) -{ - CHECK_THROWS( parse_energy_quantity( "\"\"" ) ); // empty string - CHECK_THROWS( parse_energy_quantity( "27" ) ); // not a string at all - CHECK_THROWS( parse_energy_quantity( "\" \"" ) ); // only spaces - CHECK_THROWS( parse_energy_quantity( "\"27\"" ) ); // no energy unit - - REQUIRE( parse_energy_quantity( "\"1 mJ\"" ) == 1_mJ ); - REQUIRE( parse_energy_quantity( "\"1 J\"" ) == 1_J ); - REQUIRE( parse_energy_quantity( "\"1 kJ\"" ) == 1_kJ ); - REQUIRE( parse_energy_quantity( "\"+1 mJ\"" ) == 1_mJ ); - REQUIRE( parse_energy_quantity( "\"+1 J\"" ) == 1_J ); - REQUIRE( parse_energy_quantity( "\"+1 kJ\"" ) == 1_kJ ); - - REQUIRE( parse_energy_quantity( "\"1 mJ 1 J 1 kJ\"" ) == 1_mJ + 1_J + 1_kJ ); - REQUIRE( parse_energy_quantity( "\"1 mJ -4 J 1 kJ\"" ) == 1_mJ - 4_J + 1_kJ ); - - REQUIRE( 1_mJ * 1000 == units::from_joule( 1 ) ); - REQUIRE( 1_J * 1000 == units::from_kilojoule( 1 ) ); -} diff --git a/tests/ground_destroy_test.cpp b/tests/ground_destroy_test.cpp index 5de11d359454e..b82abda2ea1c1 100644 --- a/tests/ground_destroy_test.cpp +++ b/tests/ground_destroy_test.cpp @@ -1,3 +1,4 @@ +#include #include #include #include @@ -9,6 +10,7 @@ #include "itype.h" #include "map.h" #include "map_helpers.h" +#include "map_iterator.h" #include "mapdata.h" #include "options.h" #include "int_id.h" @@ -144,3 +146,103 @@ TEST_CASE( "explosion_on_floor_with_rock_floor_basement", "[.]" ) FAIL( "After explosion, no open air was found" ); } } + +// Destroying interior floors shouldn't cause the roofs above to collapse. +// Destroying supporting walls should cause the roofs above to collapse. +// Behavior may depend on ZLEVELS being set. +TEST_CASE( "collapse_checks", "[.]" ) +{ + constexpr int wall_size = 5; + + const ter_id floor_id = ter_id( "t_floor" ); + const ter_id dirt_id = ter_id( "t_dirt" ); + const ter_id wall_id = ter_id( "t_wall" ); + const ter_id open_air_id = ter_id( "t_open_air" ); + + REQUIRE( floor_id != t_null ); + REQUIRE( dirt_id != t_null ); + REQUIRE( wall_id != t_null ); + REQUIRE( open_air_id != t_null ); + + const bool zlevels_set = get_option( "ZLEVELS" ); + INFO( "ZLEVELS is " << zlevels_set ); + clear_map_and_put_player_underground(); + + // build a structure + const tripoint &midair = tripoint( tripoint_zero.xy(), tripoint_zero.z + 1 ); + for( const tripoint &pt : g->m.points_in_radius( midair, wall_size, 1 ) ) { + g->m.ter_set( pt, floor_id ); + } + std::set corners; + for( int delta_z = 0; delta_z < 3; delta_z++ ) { + for( int delta_x = 0; delta_x <= 1; delta_x++ ) { + for( int delta_y = 0; delta_y <= 1; delta_y++ ) { + const tripoint pt( delta_x * wall_size, delta_y * wall_size, delta_z ); + corners.insert( pt ); + g->m.ter_set( pt, wall_id ); + } + } + } + + // make sure it's a valid structure + for( const tripoint &pt : g->m.points_in_radius( midair, wall_size, 1 ) ) { + if( corners.find( pt ) != corners.end() ) { + REQUIRE( g->m.ter( pt ) == wall_id ); + } else { + REQUIRE( g->m.ter( pt ) == floor_id ); + } + } + + // destroy the floor on the first floor; floor above should not collapse + for( const tripoint &pt : g->m.points_in_radius( tripoint_zero, wall_size ) ) { + if( corners.find( pt ) == corners.end() ) { + g->m.destroy( pt, true ); + } + } + for( const tripoint &pt : g->m.points_in_radius( midair, wall_size ) ) { + if( corners.find( pt ) != corners.end() ) { + CHECK( g->m.ter( pt ) == wall_id ); + } else { + CHECK( g->m.ter( pt ) == floor_id ); + } + } + + // destroy the walls on the first floor; upper floors should mostly collapse + for( int delta_x = 0; delta_x <= 1; delta_x++ ) { + for( int delta_y = 0; delta_y <= 1; delta_y++ ) { + const tripoint pt( delta_x * wall_size, delta_y * wall_size, 0 ); + g->m.destroy( pt, true ); + } + } + int open_air_count = 0; + int tile_count = 0; + int no_wall_count = 0; + for( const tripoint &pt : g->m.points_in_radius( midair, wall_size, 1 ) ) { + if( pt.z == 0 ) { + continue; + } + const ter_id t_id = g->m.ter( pt ); + tile_count += 1; + if( t_id == t_open_air ) { + open_air_count += 1; + if( corners.find( pt ) != corners.end() ) { + no_wall_count += 1; + } + } + } + int partial_tiles = tile_count / 5; + CHECK( open_air_count > partial_tiles ); + if( open_air_count < partial_tiles ) { + FAIL( open_air_count << " open air tiles were found on the upper floors after the walls " + "collapsed." ); + } else { + INFO( open_air_count << " open air tiles were found on the upper floors after the walls " + "collapsed." ); + } + CHECK( no_wall_count == 8 ); + if( no_wall_count != 8 ) { + FAIL( "Only " << no_wall_count << " walls on the upper floors collapsed." ); + } else { + INFO( "All " << no_wall_count << " walls on the upper floors collapsed." ); + } +} diff --git a/tests/hash_test.cpp b/tests/hash_test.cpp index ce75ed12924c9..894d767e1e4fc 100644 --- a/tests/hash_test.cpp +++ b/tests/hash_test.cpp @@ -7,10 +7,6 @@ #include "catch/catch.hpp" #include "point.h" -#ifdef RELEASE -#include -#endif - // A larger number for this would be GREAT, but the test isn't efficient enough to make it larger. // Previously tried inserting into an unordered_set, // but that was slower than appending to a vector and doing the sort+unique manually. @@ -60,37 +56,3 @@ TEST_CASE( "tripoint_hash_distribution", "[hash]" ) } CHECK( count_unique_elements( found_hashes ) > element_count * 0.9 ); } - -template -void put_coordinate( std::unordered_set &c, int x, int y ) -{ - c.emplace( x, y ); -} - -template -void put_coordinate( std::unordered_set &c, int x, int y ) -{ - c.emplace( x, y, 0 ); -} - -#ifdef RELEASE -// These tests are slow and probably pointless for non-release builds - -template -long get_set_runtime() -{ - std::unordered_set test_set; - auto start1 = std::chrono::high_resolution_clock::now(); - // The use case is repeatedly looking up the same entries repeatedly - // while sometimes inserting new ones. - for( int i = 0; i < 1000; ++i ) { - for( int x = -60; x <= 60; ++x ) { - for( int y = -60; y <= 60; ++y ) { - put_coordinate( test_set, x, y ); - } - } - } - auto end1 = std::chrono::high_resolution_clock::now(); - return std::chrono::duration_cast( end1 - start1 ).count(); -} -#endif // RELEASE diff --git a/tests/iteminfo_test.cpp b/tests/iteminfo_test.cpp index 7cda17d93f580..dafe64dff6dd3 100644 --- a/tests/iteminfo_test.cpp +++ b/tests/iteminfo_test.cpp @@ -26,7 +26,9 @@ TEST_CASE( "armor_info", "[item][iteminfo]" ) iteminfo_test( item( "longshirt" ), q, "--\n" + // NOLINTNEXTLINE(cata-text-style) "Covers: The torso. The arms. \n" + // NOLINTNEXTLINE(cata-text-style) "Layer: Normal. \n" "Coverage: 90% Warmth: 5\n" "--\n" diff --git a/tests/itemname_test.cpp b/tests/itemname_test.cpp index efd8627335152..48a79d89b8777 100644 --- a/tests/itemname_test.cpp +++ b/tests/itemname_test.cpp @@ -16,14 +16,14 @@ TEST_CASE( "item_name_check", "[item][iteminfo]" ) WHEN( "the item is a normal size" ) { std::string name = item( "bookplate" ).display_name(); THEN( "the item name has no qualifier" ) { - CHECK( name == "|| bookplate" ); + CHECK( name == "||\u00A0bookplate" ); } } WHEN( "the item is oversized" ) { std::string name = item( "bootsheath" ).display_name(); THEN( "the item name has no qualifier" ) { - CHECK( name == "|| ankle sheath" ); + CHECK( name == "||\u00A0ankle sheath" ); } } @@ -39,7 +39,7 @@ TEST_CASE( "item_name_check", "[item][iteminfo]" ) } THEN( "the item name says its too small" ) { - CHECK( name == "|| tunic (too small)" ); + CHECK( name == "||\u00A0tunic (too small)" ); } } @@ -52,14 +52,14 @@ TEST_CASE( "item_name_check", "[item][iteminfo]" ) WHEN( "the item is a normal size" ) { std::string name = item( "bookplate" ).display_name(); THEN( "the item name says its too small" ) { - CHECK( name == "|| bookplate (too small)" ); + CHECK( name == "||\u00A0bookplate (too small)" ); } } WHEN( "the item is oversized" ) { std::string name = item( "bootsheath" ).display_name(); THEN( "the item name has no qualifier" ) { - CHECK( name == "|| ankle sheath" ); + CHECK( name == "||\u00A0ankle sheath" ); } } @@ -75,7 +75,7 @@ TEST_CASE( "item_name_check", "[item][iteminfo]" ) } THEN( "the item name says its tiny" ) { - CHECK( name == "|| tunic (tiny!)" ); + CHECK( name == "||\u00A0tunic (tiny!)" ); } } @@ -88,14 +88,14 @@ TEST_CASE( "item_name_check", "[item][iteminfo]" ) WHEN( "the item is a normal size" ) { std::string name = item( "bookplate" ).display_name(); THEN( "the item name says its too big" ) { - CHECK( name == "|| bookplate (too big)" ); + CHECK( name == "||\u00A0bookplate (too big)" ); } } WHEN( "the item is oversized" ) { std::string name = item( "bootsheath" ).display_name(); THEN( "the item name has no qualifier" ) { - CHECK( name == "|| ankle sheath (huge!)" ); + CHECK( name == "||\u00A0ankle sheath (huge!)" ); } } @@ -111,7 +111,7 @@ TEST_CASE( "item_name_check", "[item][iteminfo]" ) } THEN( "the item name has no qualifier" ) { - CHECK( name == "|| tunic" ); + CHECK( name == "||\u00A0tunic" ); } } diff --git a/tests/npc_talk_test.cpp b/tests/npc_talk_test.cpp index e2c683ac58a30..f9730e0eaf6d7 100644 --- a/tests/npc_talk_test.cpp +++ b/tests/npc_talk_test.cpp @@ -561,7 +561,8 @@ TEST_CASE( "npc_talk_items", "[npc_talk]" ) npc &talker_npc = prep_test( d ); g->u.remove_items_with( []( const item & it ) { - return it.get_category().id() == "books" || it.get_category().id() == "food" || + return it.get_category().get_id() == item_category_id( "books" ) || + it.get_category().get_id() == item_category_id( "food" ) || it.typeId() == "bottle_glass"; } ); d.add_topic( "TALK_TEST_HAS_ITEM" ); @@ -727,10 +728,10 @@ TEST_CASE( "npc_talk_combat_commands", "[npc_talk]" ) d.add_topic( "TALK_COMBAT_COMMANDS" ); gen_response_lines( d, 10 ); - CHECK( d.responses[0].text == "Change your engagement rules..." ); - CHECK( d.responses[1].text == "Change your aiming rules..." ); + CHECK( d.responses[0].text == "Change your engagement rules…" ); + CHECK( d.responses[1].text == "Change your aiming rules…" ); CHECK( d.responses[2].text == "Stick close to me, no matter what." ); - CHECK( d.responses[3].text == "" ); + CHECK( d.responses[3].text == "" ); CHECK( d.responses[4].text == "Don't use ranged weapons anymore." ); CHECK( d.responses[5].text == "Use only silent weapons." ); CHECK( d.responses[6].text == "Don't use grenades anymore." ); diff --git a/tests/npc_test.cpp b/tests/npc_test.cpp index 39e9108a698b2..07e3ae4cd84e7 100644 --- a/tests/npc_test.cpp +++ b/tests/npc_test.cpp @@ -188,19 +188,23 @@ TEST_CASE( "snippet-tag-test" ) }; for( const auto &tag : npc_talk_tags ) { - const auto ids = SNIPPET.all_ids_from_category( tag ); - CHECK( !ids.empty() ); - - for( size_t i = 0; i < ids.size() * 100; i++ ) { - const auto snip = SNIPPET.random_from_category( tag ); - CHECK( !snip.empty() ); + for( int i = 0; i < 100; i++ ) { + CHECK( SNIPPET.random_from_category( tag ).has_value() ); } } - // Special tags, those should have empty replacements - CHECK( SNIPPET.all_ids_from_category( "" ).empty() ); - CHECK( SNIPPET.all_ids_from_category( "" ).empty() ); - CHECK( SNIPPET.all_ids_from_category( "" ).empty() ); + // Special tags, those should have no replacements + static const std::set special_tags = { + { + "", "", "" + } + }; + + for( const std::string &tag : special_tags ) { + for( int i = 0; i < 100; i++ ) { + CHECK( !SNIPPET.random_from_category( tag ).has_value() ); + } + } } /* Test setup. Player should always be at top-left. diff --git a/tests/ranged_balance.cpp b/tests/ranged_balance.cpp index a3c5d0e9ccce8..4c19113fbda45 100644 --- a/tests/ranged_balance.cpp +++ b/tests/ranged_balance.cpp @@ -1,8 +1,8 @@ -#include #include #include #include #include +#include #include "catch/catch.hpp" #include "cata_utility.h" @@ -27,6 +27,24 @@ using firing_statistics = statistics; +class Threshold +{ + public: + Threshold( const double accuracy, const double chance ) + : _accuracy( accuracy ), _chance( chance ) { + }; + double accuracy() const { + return _accuracy; + } + double chance() const { + return _chance; + } + private: + double _accuracy; + double _chance; +}; + + template < class T > std::ostream &operator <<( std::ostream &os, const std::vector &v ) { @@ -95,10 +113,11 @@ static void equip_shooter( npc &shooter, const std::vector &apparel std::array accuracy_levels = {{ accuracy_grazing, accuracy_standard, accuracy_goodhit, accuracy_critical, accuracy_headshot }}; -static std::array firing_test( const dispersion_sources &dispersion, - const int range, const std::array &thresholds ) + +static firing_statistics firing_test( const dispersion_sources &dispersion, + const int range, const Threshold &threshold ) { - std::array firing_stats = {{ Z99_99, Z99_99, Z99_99, Z99_99, Z99_99 }}; + firing_statistics firing_stats( Z99_99 ); bool threshold_within_confidence_interval = false; do { // On each trip through the loop, grab a sample attack roll and add its results to @@ -108,25 +127,26 @@ static std::array firing_test( const dispersion_sources &d // either above or below the threshold. const projectile_attack_aim aim = projectile_attack_roll( dispersion, range, 0.5 ); threshold_within_confidence_interval = false; - for( int i = 0; i < static_cast( accuracy_levels.size() ); ++i ) { - firing_stats[i].add( aim.missed_by < accuracy_levels[i] ); - if( thresholds[i] == -1 ) { - continue; - } - // If we've accumulated less than 100 or so samples we have a high risk - // of reporting a bad result, so pretend we have high error if samples are low. - if( firing_stats[i].n() < 100 ) { - threshold_within_confidence_interval = true; - continue; - } - const double error = firing_stats[i].margin_of_error(); - const double avg = firing_stats[i].avg(); - const double threshold = thresholds[i]; - if( avg + error > threshold && avg - error < threshold ) { - threshold_within_confidence_interval = true; - } + firing_stats.add( aim.missed_by < threshold.accuracy() ); + if( firing_stats.n() < 100 ) { + threshold_within_confidence_interval = true; + } + const double error = firing_stats.margin_of_error(); + const double avg = firing_stats.avg(); + if( avg + error > threshold.chance() && avg - error < threshold.chance() ) { + threshold_within_confidence_interval = true; } - } while( threshold_within_confidence_interval && firing_stats[0].n() < 10000000 ); + } while( threshold_within_confidence_interval && firing_stats.n() < 10000000 ); + return firing_stats; +} + +static std::vector firing_test( const dispersion_sources &dispersion, + const int range, const std::vector< Threshold > &thresholds ) +{ + std::vector firing_stats; + for( const Threshold pear : thresholds ) { + firing_stats.push_back( firing_test( dispersion, range, pear ) ); + } return firing_stats; } @@ -152,7 +172,10 @@ static void test_shooting_scenario( npc &shooter, const int min_quickdraw_range, { { const dispersion_sources dispersion = get_dispersion( shooter, 0 ); - std::array minimum_stats = firing_test( dispersion, min_quickdraw_range, {{ 0.2, 0.1, -1, -1, -1 }} ); + std::vector minimum_stats = firing_test( dispersion, min_quickdraw_range, { + Threshold( accuracy_grazing, 0.2 ), + Threshold( accuracy_standard, 0.1 ) + } ); INFO( dispersion ); INFO( "Range: " << min_quickdraw_range ); INFO( "Max aim speed: " << shooter.aim_per_move( shooter.weapon, MAX_RECOIL ) ); @@ -166,25 +189,27 @@ static void test_shooting_scenario( npc &shooter, const int min_quickdraw_range, } { const dispersion_sources dispersion = get_dispersion( shooter, 300 ); - std::array good_stats = firing_test( dispersion, min_good_range, {{ -1, -1, 0.5, -1, -1 }} ); + firing_statistics good_stats = firing_test( dispersion, min_good_range, Threshold( accuracy_goodhit, + 0.5 ) ); INFO( dispersion ); INFO( "Range: " << min_good_range ); INFO( "Max aim speed: " << shooter.aim_per_move( shooter.weapon, MAX_RECOIL ) ); INFO( "Min aim speed: " << shooter.aim_per_move( shooter.weapon, shooter.recoil ) ); - CAPTURE( good_stats[2].n() ); - CAPTURE( good_stats[2].margin_of_error() ); - CHECK( good_stats[2].avg() > 0.5 ); + CAPTURE( good_stats.n() ); + CAPTURE( good_stats.margin_of_error() ); + CHECK( good_stats.avg() > 0.5 ); } { const dispersion_sources dispersion = get_dispersion( shooter, 500 ); - std::array good_stats = firing_test( dispersion, max_good_range, {{ -1, -1, 0.1, -1, -1 }} ); + firing_statistics good_stats = firing_test( dispersion, max_good_range, Threshold( accuracy_goodhit, + 0.1 ) ); INFO( dispersion ); INFO( "Range: " << max_good_range ); INFO( "Max aim speed: " << shooter.aim_per_move( shooter.weapon, MAX_RECOIL ) ); INFO( "Min aim speed: " << shooter.aim_per_move( shooter.weapon, shooter.recoil ) ); - CAPTURE( good_stats[2].n() ); - CAPTURE( good_stats[2].margin_of_error() ); - CHECK( good_stats[2].avg() < 0.1 ); + CAPTURE( good_stats.n() ); + CAPTURE( good_stats.margin_of_error() ); + CHECK( good_stats.avg() < 0.1 ); } } @@ -193,8 +218,10 @@ static void test_fast_shooting( npc &shooter, const int moves, float hit_rate ) const int fast_shooting_range = 3; const float hit_rate_cap = hit_rate + 0.3; const dispersion_sources dispersion = get_dispersion( shooter, moves ); - std::array fast_stats = firing_test( dispersion, fast_shooting_range, {{ -1, hit_rate, -1, -1, -1 }} ); - std::array fast_stats_upper = firing_test( dispersion, fast_shooting_range, {{ -1, hit_rate_cap, -1, -1, -1 }} ); + firing_statistics fast_stats = firing_test( dispersion, fast_shooting_range, + Threshold( accuracy_standard, hit_rate ) ); + firing_statistics fast_stats_upper = firing_test( dispersion, fast_shooting_range, + Threshold( accuracy_standard, hit_rate_cap ) ); INFO( dispersion ); INFO( "Range: " << fast_shooting_range ); INFO( "Max aim speed: " << shooter.aim_per_move( shooter.weapon, MAX_RECOIL ) ); @@ -203,12 +230,12 @@ static void test_fast_shooting( npc &shooter, const int moves, float hit_rate ) CAPTURE( shooter.get_skill_level( shooter.weapon.gun_skill() ) ); CAPTURE( shooter.get_dex() ); CAPTURE( to_milliliter( shooter.weapon.volume() ) ); - CAPTURE( fast_stats[1].n() ); - CAPTURE( fast_stats[1].margin_of_error() ); - CHECK( fast_stats[1].avg() > hit_rate ); - CAPTURE( fast_stats_upper[1].n() ); - CAPTURE( fast_stats_upper[1].margin_of_error() ); - CHECK( fast_stats_upper[1].avg() < hit_rate_cap ); + CAPTURE( fast_stats.n() ); + CAPTURE( fast_stats.margin_of_error() ); + CHECK( fast_stats.avg() > hit_rate ); + CAPTURE( fast_stats_upper.n() ); + CAPTURE( fast_stats_upper.margin_of_error() ); + CHECK( fast_stats_upper.avg() < hit_rate_cap ); } static void assert_encumbrance( npc &shooter, int encumbrance ) @@ -306,35 +333,29 @@ TEST_CASE( "expert_shooter_accuracy", "[ranged] [balance]" ) } } -static void range_test( const std::array &test_thresholds, bool write_data = false ) +static void range_test( const Threshold &test_threshold, bool write_data = false ) { std::vector data; - int index = 0; - for( index = 0; index < static_cast( accuracy_levels.size() ); ++index ) { - if( test_thresholds[index] >= 0 ) { - break; - } - } // Start at an absurdly high dispersion and count down. int prev_dispersion = 6000; for( int r = 1; r <= 60; ++r ) { int found_dispersion = -1; // We carry forward prev_dispersion because we never expet the next tier of range to hit the target accuracy level with a lower dispersion. for( int d = prev_dispersion; d >= 0; --d ) { - std::array stats = firing_test( dispersion_sources( d ), r, test_thresholds ); + firing_statistics stats = firing_test( dispersion_sources( d ), r, test_threshold ); // Switch this from INFO to WARN to debug the scanning process itself. - INFO( "Samples: " << stats[index].n() << " Range: " << r << " Dispersion: " << d << - " avg hit rate: " << stats[2].avg() ); - if( stats[index].avg() > test_thresholds[index] ) { + INFO( "Samples: " << stats.n() << " Range: " << r << " Dispersion: " << d << + " avg hit rate: " << stats.avg() ); + if( stats.avg() > test_threshold.chance() ) { found_dispersion = d; prev_dispersion = d; break; } // The intent here is to skip over dispersion values proportionally to how far from converging we are. // As long as we check several adjacent dispersion values before a hit, we're good. - d -= int( ( test_thresholds[index] - stats[index].avg() ) * 10 ) * 10; + d -= int( ( 1 - ( stats.avg() / test_threshold.chance() ) ) * 15 ) * 5; } - if( found_dispersion == -1.0 ) { + if( found_dispersion == -1 ) { WARN( "No matching dispersion found" ); } else { WARN( "Range: " << r << " Dispersion: " << found_dispersion ); @@ -361,7 +382,7 @@ static void range_test( const std::array &test_thresholds, bool write j_out.end_array(); }, _( "hit_range file" ) ); } else { - WARN( "Didn't write. Data too similar to previous test results." ); + WARN( "Didn't write. Data too similar to previous test results." ); } REQUIRE( similar_to_previous_test_results ); } @@ -372,12 +393,12 @@ static void range_test( const std::array &test_thresholds, bool write TEST_CASE( "synthetic_range_test", "[.]" ) { SECTION( "quickdraw thresholds" ) { - range_test( {{ 0.1, -1, -1, -1, -1 }} ); + range_test( Threshold( accuracy_grazing, 0.1 ) ); } SECTION( "max range thresholds" ) { - range_test( {{ -1, -1, 0.1, -1, -1 }} ); + range_test( Threshold( accuracy_goodhit, 0.1 ) ); } SECTION( "good hit thresholds" ) { - range_test( {{ -1, -1, 0.5, -1, -1 }}, true ); + range_test( Threshold( accuracy_goodhit, 0.5 ), true ); } } diff --git a/tests/stomach_contents_tests.cpp b/tests/stomach_contents_tests.cpp index b2018fea733b3..dee3711b14cd1 100644 --- a/tests/stomach_contents_tests.cpp +++ b/tests/stomach_contents_tests.cpp @@ -31,10 +31,8 @@ static void pass_time( player &p, time_duration amt ) static void clear_stomach( player &p ) { - p.guts.set_calories( 0 ); - p.stomach.set_calories( 0 ); - p.stomach.bowel_movement(); - p.guts.bowel_movement(); + p.stomach.empty(); + p.guts.empty(); } static void set_all_vitamins( int target, player &p ) @@ -63,14 +61,13 @@ static void print_stomach_contents( player &p, const bool print ) if( !print ) { return; } - printf( "stomach: %d/%d guts: %d/%d player: %d/%d hunger: %d\n", p.stomach.get_calories(), - p.stomach.get_calories_absorbed(), p.guts.get_calories(), - p.guts.get_calories_absorbed(), p.get_stored_kcal(), p.get_healthy_kcal(), p.get_hunger() ); + printf( "stomach: %d guts: %d player: %d/%d hunger: %d\n", p.stomach.get_calories(), + p.guts.get_calories(), p.get_stored_kcal(), p.get_healthy_kcal(), p.get_hunger() ); printf( "stomach: %d mL/ %d mL guts %d mL/ %d mL\n", units::to_milliliter( p.stomach.contains() ), - units::to_milliliter( p.stomach.capacity() ), + units::to_milliliter( p.stomach.capacity( p ) ), units::to_milliliter( p.guts.contains() ), - units::to_milliliter( p.guts.capacity() ) ); + units::to_milliliter( p.guts.capacity( p ) ) ); printf( "metabolic rate: %.2f\n", p.metabolic_rate() ); } @@ -78,23 +75,9 @@ static void print_stomach_contents( player &p, const bool print ) // accounting for appropriate vitamins static void eat_all_nutrients( player &p ) { - item f( "pizza_veggy" ); - p.eat( f ); - f = item( "pizza_veggy" ); - p.eat( f ); - f = item( "pizza_veggy" ); - p.eat( f ); - f = item( "pizza_veggy" ); - p.eat( f ); - f = item( "fried_livers" ); - p.eat( f ); - f = item( "chips3" ); - p.eat( f ); - f = item( "chips3" ); - p.eat( f ); - f = item( "chips3" ); - p.eat( f ); - f = item( "chips3" ); + // Vitamin target: 100% DV -- or 96 vitamin "units" since all vitamins currently decay every 15m. + // Energy target: 2100 kcal -- debug target will be completely sedentary. + item f( "debug_nutrition" ); p.eat( f ); } @@ -195,12 +178,13 @@ TEST_CASE( "all_nutrition_starve_test" ) printf( "\n" ); } CHECK( dummy.get_stored_kcal() >= dummy.get_healthy_kcal() ); - // since vitamins drain very quickly, it is almost impossible to remain at 0 - CHECK( dummy.vitamin_get( vitamin_id( "vitA" ) ) >= -2 ); - CHECK( dummy.vitamin_get( vitamin_id( "vitB" ) ) >= -2 ); - CHECK( dummy.vitamin_get( vitamin_id( "vitC" ) ) >= -2 ); - CHECK( dummy.vitamin_get( vitamin_id( "iron" ) ) >= -2 ); - CHECK( dummy.vitamin_get( vitamin_id( "calcium" ) ) >= -2 ); + // We need to account for a day's worth of error since we're passing a day at a time and we are + // close to 0 which is the max value for some vitamins + CHECK( dummy.vitamin_get( vitamin_id( "vitA" ) ) >= -100 ); + CHECK( dummy.vitamin_get( vitamin_id( "vitB" ) ) >= -100 ); + CHECK( dummy.vitamin_get( vitamin_id( "vitC" ) ) >= -100 ); + CHECK( dummy.vitamin_get( vitamin_id( "iron" ) ) >= -100 ); + CHECK( dummy.vitamin_get( vitamin_id( "calcium" ) ) >= -100 ); } // reasonable length of time to pass before hunger sets in diff --git a/tests/string_formatter_test.cpp b/tests/string_formatter_test.cpp index a28438cf4f033..0c2e043d1cad5 100644 --- a/tests/string_formatter_test.cpp +++ b/tests/string_formatter_test.cpp @@ -277,7 +277,9 @@ TEST_CASE( "string_formatter" ) importet_test( 97, "-100", "% lld", -100LL ); importet_test( 98, " 100", "% 5lld", 100LL ); importet_test( 99, " -100", "% 5lld", -100LL ); + // NOLINTNEXTLINE(cata-text-style): not a period importet_test( 100, " 00100", "% .5lld", 100LL ); + // NOLINTNEXTLINE(cata-text-style): not a period importet_test( 101, "-00100", "% .5lld", -100LL ); importet_test( 102, " 00100", "% 8.5lld", 100LL ); importet_test( 103, " -00100", "% 8.5lld", -100LL ); @@ -292,7 +294,9 @@ TEST_CASE( "string_formatter" ) importet_test( 115, "+00100 ", "%#-+ 08.5lld", 100LL ); importet_test( 116, "+00100 ", "%#-+ 08.5lld", 100LL ); importet_test( 117, "0000000000000000000000000000000000000001", "%.40lld", 1LL ); + // NOLINTNEXTLINE(cata-text-style): not a period importet_test( 118, " 0000000000000000000000000000000000000001", "% .40lld", 1LL ); + // NOLINTNEXTLINE(cata-text-style): not a period importet_test( 119, " 0000000000000000000000000000000000000001", "% .40d", 1 ); /* 121: excluded for C */ /* 124: excluded for C */ diff --git a/tests/test_main.cpp b/tests/test_main.cpp index 60d088daefc40..9d71d809799cc 100644 --- a/tests/test_main.cpp +++ b/tests/test_main.cpp @@ -96,23 +96,23 @@ static void init_global_game_state( const std::vector &mods, const std::string &user_dir ) { if( !assure_dir_exist( user_dir ) ) { - assert( !"Unable to make user_dir directory. Check permissions." ); + assert( !"Unable to make user_dir directory. Check permissions." ); } PATH_INFO::init_base_path( "" ); - PATH_INFO::init_user_dir( user_dir.c_str() ); + PATH_INFO::init_user_dir( user_dir ); PATH_INFO::set_standard_filenames(); - if( !assure_dir_exist( FILENAMES["config_dir"] ) ) { - assert( !"Unable to make config directory. Check permissions." ); + if( !assure_dir_exist( PATH_INFO::config_dir() ) ) { + assert( !"Unable to make config directory. Check permissions." ); } - if( !assure_dir_exist( FILENAMES["savedir"] ) ) { - assert( !"Unable to make save directory. Check permissions." ); + if( !assure_dir_exist( PATH_INFO::savedir() ) ) { + assert( !"Unable to make save directory. Check permissions." ); } - if( !assure_dir_exist( FILENAMES["templatedir"] ) ) { - assert( !"Unable to make templates directory. Check permissions." ); + if( !assure_dir_exist( PATH_INFO::templatedir() ) ) { + assert( !"Unable to make templates directory. Check permissions." ); } get_options().init(); @@ -275,10 +275,10 @@ int main( int argc, const char *argv[] ) int result = session.applyCommandLine( arg_vec.size(), &arg_vec[0] ); if( result != 0 || session.configData().showHelp ) { printf( "CataclysmDDA specific options:\n" ); - printf( " --mods= Loads the list of mods before executing tests.\n" ); + printf( " --mods= Loads the list of mods before executing tests.\n" ); printf( " --user-dir= Set user dir (where test world will be created).\n" ); printf( " -D, --drop-world Don't save the world on test failure.\n" ); - printf( " --option_overrides=n:v[,...] Name-value pairs of game options for tests.\n" ); + printf( " --option_overrides=n:v[,…] Name-value pairs of game options for tests.\n" ); printf( " (overrides config/options.json values)\n" ); return result; } diff --git a/tests/throwing_test.cpp b/tests/throwing_test.cpp index d6bcfd474b6ae..183e18f19ccc4 100644 --- a/tests/throwing_test.cpp +++ b/tests/throwing_test.cpp @@ -56,7 +56,7 @@ static const skill_id skill_throw = skill_id( "throw" ); static void reset_player( player &p, const throw_test_pstats &pstats, const tripoint &pos ) { p.reset(); - p.stamina = p.get_stamina_max(); + p.set_stamina( p.get_stamina_max() ); CHECK( !p.in_vehicle ); p.setpos( pos ); p.str_max = pstats.str; @@ -101,7 +101,7 @@ static void test_throwing_player_versus( do { reset_player( p, pstats, player_start ); p.set_moves( 1000 ); - p.stamina = p.get_stamina_max(); + p.set_stamina( p.get_stamina_max() ); p.wield( it ); monster &mon = spawn_test_monster( mon_id, monster_start ); diff --git a/tests/time_duration_test.cpp b/tests/time_duration_test.cpp deleted file mode 100644 index 766dfc4583b2b..0000000000000 --- a/tests/time_duration_test.cpp +++ /dev/null @@ -1,36 +0,0 @@ -#include -#include - -#include "catch/catch.hpp" -#include "calendar.h" -#include "json.h" -#include "units.h" - -static time_duration parse_time_duration( const std::string &json ) -{ - std::istringstream buffer( json ); - JsonIn jsin( buffer ); - return read_from_json_string( jsin, time_duration::units ); -} - -TEST_CASE( "time_duration parsing from JSON" ) -{ - CHECK_THROWS( parse_time_duration( "\"\"" ) ); // empty string - CHECK_THROWS( parse_time_duration( "27" ) ); // not a string at all - CHECK_THROWS( parse_time_duration( "\" \"" ) ); // only spaces - CHECK_THROWS( parse_time_duration( "\"27\"" ) ); // no time unit - - REQUIRE( parse_time_duration( "\"1 turns\"" ) == 1_turns ); - REQUIRE( parse_time_duration( "\"1 minutes\"" ) == 1_minutes ); - REQUIRE( parse_time_duration( "\"+1 hours\"" ) == 1_hours ); - REQUIRE( parse_time_duration( "\"+1 days\"" ) == 1_days ); - - REQUIRE( parse_time_duration( "\"1 turns 1 minutes 1 hours 1 days\"" ) == 1_turns + 1_minutes + - 1_hours + 1_days ); - REQUIRE( parse_time_duration( "\"1 turns -4 minutes 1 hours -4 days\"" ) == 1_turns - 4_minutes + - 1_hours - 4_days ); - - REQUIRE( 1_turns * 60 == time_duration::from_minutes( 1 ) ); - REQUIRE( 1_minutes * 60 == time_duration::from_hours( 1 ) ); - REQUIRE( 1_hours * 24 == time_duration::from_days( 1 ) ); -} diff --git a/tests/units_test.cpp b/tests/units_test.cpp new file mode 100644 index 0000000000000..fe4407017dd08 --- /dev/null +++ b/tests/units_test.cpp @@ -0,0 +1,87 @@ +#include +#include + +#include "catch/catch.hpp" +#include "calendar.h" +#include "json.h" +#include "units.h" + +TEST_CASE( "units_have_correct_ratios", "[units]" ) +{ + CHECK( 1_liter == 1000_ml ); + CHECK( 1.0_liter == 1000.0_ml ); + CHECK( 1_gram == 1000_milligram ); + CHECK( 1.0_gram == 1000.0_milligram ); + CHECK( 1_kilogram == 1000_gram ); + CHECK( 1.0_kilogram == 1000.0_gram ); + CHECK( 1_J == 1000_mJ ); + CHECK( 1.0_J == 1000.0_mJ ); + CHECK( 1_kJ == 1000_J ); + CHECK( 1.0_kJ == 1000.0_J ); + CHECK( 1_USD == 100_cent ); + CHECK( 1.0_USD == 100.0_cent ); + CHECK( 1_kUSD == 1000_USD ); + CHECK( 1.0_kUSD == 1000.0_USD ); + CHECK( 1_days == 24_hours ); + CHECK( 1_hours == 60_minutes ); + CHECK( 1_minutes == 60_seconds ); + + CHECK( 1_mJ == units::from_millijoule( 1 ) ); + CHECK( 1_J == units::from_joule( 1 ) ); + CHECK( 1_kJ == units::from_kilojoule( 1 ) ); + + CHECK( 1_seconds == time_duration::from_seconds( 1 ) ); + CHECK( 1_minutes == time_duration::from_minutes( 1 ) ); + CHECK( 1_hours == time_duration::from_hours( 1 ) ); + CHECK( 1_days == time_duration::from_days( 1 ) ); +} + +static units::energy parse_energy_quantity( const std::string &json ) +{ + std::istringstream buffer( json ); + JsonIn jsin( buffer ); + return read_from_json_string( jsin, units::energy_units ); +} + +TEST_CASE( "energy parsing from JSON", "[units]" ) +{ + CHECK_THROWS( parse_energy_quantity( "\"\"" ) ); // empty string + CHECK_THROWS( parse_energy_quantity( "27" ) ); // not a string at all + CHECK_THROWS( parse_energy_quantity( "\" \"" ) ); // only spaces + CHECK_THROWS( parse_energy_quantity( "\"27\"" ) ); // no energy unit + + CHECK( parse_energy_quantity( "\"1 mJ\"" ) == 1_mJ ); + CHECK( parse_energy_quantity( "\"1 J\"" ) == 1_J ); + CHECK( parse_energy_quantity( "\"1 kJ\"" ) == 1_kJ ); + CHECK( parse_energy_quantity( "\"+1 mJ\"" ) == 1_mJ ); + CHECK( parse_energy_quantity( "\"+1 J\"" ) == 1_J ); + CHECK( parse_energy_quantity( "\"+1 kJ\"" ) == 1_kJ ); + + CHECK( parse_energy_quantity( "\"1 mJ 1 J 1 kJ\"" ) == 1_mJ + 1_J + 1_kJ ); + CHECK( parse_energy_quantity( "\"1 mJ -4 J 1 kJ\"" ) == 1_mJ - 4_J + 1_kJ ); +} + +static time_duration parse_time_duration( const std::string &json ) +{ + std::istringstream buffer( json ); + JsonIn jsin( buffer ); + return read_from_json_string( jsin, time_duration::units ); +} + +TEST_CASE( "time_duration parsing from JSON", "[units]" ) +{ + CHECK_THROWS( parse_time_duration( "\"\"" ) ); // empty string + CHECK_THROWS( parse_time_duration( "27" ) ); // not a string at all + CHECK_THROWS( parse_time_duration( "\" \"" ) ); // only spaces + CHECK_THROWS( parse_time_duration( "\"27\"" ) ); // no time unit + + CHECK( parse_time_duration( "\"1 turns\"" ) == 1_turns ); + CHECK( parse_time_duration( "\"1 minutes\"" ) == 1_minutes ); + CHECK( parse_time_duration( "\"+1 hours\"" ) == 1_hours ); + CHECK( parse_time_duration( "\"+1 days\"" ) == 1_days ); + + CHECK( parse_time_duration( "\"1 turns 1 minutes 1 hours 1 days\"" ) == 1_turns + 1_minutes + + 1_hours + 1_days ); + CHECK( parse_time_duration( "\"1 turns -4 minutes 1 hours -4 days\"" ) == 1_turns - 4_minutes + + 1_hours - 4_days ); +} diff --git a/tests/vehicle_drag.cpp b/tests/vehicle_drag.cpp index cbb083ad5b423..f8e4b11f487f2 100644 --- a/tests/vehicle_drag.cpp +++ b/tests/vehicle_drag.cpp @@ -244,12 +244,12 @@ TEST_CASE( "vehicle_drag_calc_baseline", "[.]" ) TEST_CASE( "vehicle_drag", "[vehicle] [engine]" ) { test_vehicle_drag( "bicycle", 0.609525, 0.016957, 42.679167, 2356, 3078 ); - test_vehicle_drag( "bicycle_electric", 0.609525, 0.031616, 79.577083, 2672, 3208 ); + test_vehicle_drag( "bicycle_electric", 0.609525, 0.0275812446, 69.4208333333, 2722, 3243 ); test_vehicle_drag( "motorcycle", 0.609525, 0.568903, 254.351562, 7212, 8628 ); test_vehicle_drag( "motorcycle_sidecart", 0.880425, 0.857295, 454.268750, 6349, 7604 ); test_vehicle_drag( "quad_bike", 0.537285, 1.110281, 709.138393, 7369, 8856 ); - test_vehicle_drag( "scooter", 0.609525, 0.171854, 129.764583, 4012, 4902 ); - test_vehicle_drag( "scooter_electric", 0.609525, 0.189203, 142.864583, 4919, 5098 ); + test_vehicle_drag( "scooter", 0.609525, 0.171854, 129.764583, 4273, 4902 ); + test_vehicle_drag( "scooter_electric", 0.609525, 0.190030, 143.489583, 4919, 5098 ); test_vehicle_drag( "superbike", 0.609525, 0.844993, 377.789062, 9867, 11765 ); test_vehicle_drag( "tandem", 0.609525, 0.021344, 40.290625, 2353, 3076 ); test_vehicle_drag( "unicycle", 0.690795, 0.002400, 24.162500, 2266, 2958 ); @@ -260,12 +260,12 @@ TEST_CASE( "vehicle_drag", "[vehicle] [engine]" ) test_vehicle_drag( "car_sports", 0.294604, 2.424461, 1373.010000, 20847, 24914 ); test_vehicle_drag( "car_sports_atomic", 0.294604, 3.552642, 1676.596875, 24664, 25593 ); test_vehicle_drag( "car_sports_electric", 0.294604, 3.192600, 1808.018750, 24774, 25702 ); - test_vehicle_drag( "electric_car", 0.304763, 2.363504, 1115.407292, 16218, 16834 ); + test_vehicle_drag( "electric_car", 0.304763, 2.407649, 1136.240625, 16203, 16819 ); test_vehicle_drag( "rara_x", 0.880425, 2.099200, 1093.158405, 8484, 8803 ); test_vehicle_drag( "suv", 0.294604, 2.807600, 1135.705357, 13939, 16801 ); - test_vehicle_drag( "suv_electric", 0.304763, 2.545244, 1029.579464, 16158, 16775 ); - test_vehicle_drag( "golf_cart", 0.943312, 1.477412, 929.645833, 7126, 7393 ); - test_vehicle_drag( "golf_cart_4seat", 0.943312, 1.444773, 909.108333, 7131, 7398 ); + test_vehicle_drag( "suv_electric", 0.304763, 2.589389, 1047.436607, 16144, 16760 ); + test_vehicle_drag( "golf_cart", 0.943313, 1.479398, 930.895833, 7126, 7393 ); + test_vehicle_drag( "golf_cart_4seat", 0.943313, 1.446760, 910.358333, 7131, 7398 ); test_vehicle_drag( "hearse", 0.355556, 3.016494, 1220.205357, 10995, 13320 ); test_vehicle_drag( "pickup_technical", 0.838097, 2.820320, 1140.850893, 10136, 12149 ); test_vehicle_drag( "ambulance", 1.049323, 2.264056, 1858.217708, 11256, 13438 ); @@ -276,7 +276,7 @@ TEST_CASE( "vehicle_drag", "[vehicle] [engine]" ) test_vehicle_drag( "policesuv", 0.629842, 2.967405, 1200.348214, 13124, 15720 ); test_vehicle_drag( "truck_swat", 0.808830, 7.538017, 6186.806250, 9850, 11625 ); test_vehicle_drag( "oldtractor", 0.537285, 0.868099, 1282.481250, 12353, 14339 ); - test_vehicle_drag( "autotractor", 1.425450, 1.992793, 1962.695000, 7294, 7565 ); + test_vehicle_drag( "autotractor", 1.425450, 2.018176, 1987.695000, 7291, 7563 ); test_vehicle_drag( "tractor_plow", 0.609525, 0.893061, 1691.485577, 11852, 13756 ); test_vehicle_drag( "tractor_reaper", 0.609525, 0.778836, 1475.139423, 11874, 13777 ); test_vehicle_drag( "tractor_seed", 0.609525, 0.778836, 1475.139423, 11874, 13777 ); @@ -290,7 +290,7 @@ TEST_CASE( "vehicle_drag", "[vehicle] [engine]" ) test_vehicle_drag( "truck_trailer", 1.176534, 12.833835, 5688.000000, 0, 0 ); test_vehicle_drag( "tatra_truck", 0.440213, 7.711005, 4121.069767, 17745, 20815 ); test_vehicle_drag( "animalctrl", 0.345398, 2.717176, 1099.127679, 13283, 16007 ); - test_vehicle_drag( "autosweeper", 0.986850, 1.805107, 1277.825000, 6976, 7240 ); + test_vehicle_drag( "autosweeper", 0.986850, 1.849252, 1309.075000, 6970, 7233 ); test_vehicle_drag( "excavator", 0.659728, 1.749378, 1238.375000, 13141, 15260 ); test_vehicle_drag( "road_roller", 1.823738, 2.745174, 9120.522917, 9382, 10893 ); test_vehicle_drag( "forklift", 0.565988, 1.515984, 715.437500, 8361, 8679 ); @@ -309,8 +309,7 @@ TEST_CASE( "vehicle_drag", "[vehicle] [engine]" ) test_vehicle_drag( "canoe", 0.609525, 6.948203, 1.967437, 331, 691 ); test_vehicle_drag( "kayak", 0.609525, 3.243223, 1.224458, 655, 1236 ); test_vehicle_drag( "kayak_racing", 0.609525, 2.912135, 1.099458, 715, 1320 ); - test_vehicle_drag( "DUKW", 0.776902, 3.713785, 80.325824, 10210, 12293 ); + test_vehicle_drag( "DUKW", 0.776902, 3.754579, 81.208176, 10298, 12353 ); test_vehicle_drag( "raft", 0.997815, 8.950399, 5.068750, 259, 548 ); test_vehicle_drag( "inflatable_boat", 0.469560, 2.823845, 1.599187, 741, 1382 ); - } diff --git a/tests/vehicle_efficiency.cpp b/tests/vehicle_efficiency.cpp index 63d67a41f3e6f..4f6767882b4ab 100644 --- a/tests/vehicle_efficiency.cpp +++ b/tests/vehicle_efficiency.cpp @@ -433,7 +433,7 @@ TEST_CASE( "vehicle_efficiency", "[vehicle] [engine]" ) test_vehicle( "beetle", 787373, 292300, 228600, 75730, 56370 ); test_vehicle( "car", 1092322, 520800, 302500, 47060, 26470 ); test_vehicle( "car_sports", 1125918, 456200, 312000, 38140, 22390 ); - test_vehicle( "electric_car", 1090791, 210200, 118200, 16880, 8720 ); + test_vehicle( "electric_car", 1097791, 215469, 120379, 17211, 8898 ); test_vehicle( "suv", 1291990, 987100, 483000, 69560, 33260 ); test_vehicle( "motorcycle", 163085, 77300, 63120, 47530, 39030 ); test_vehicle( "quad_bike", 265345, 75950, 75950, 35190, 35190 ); @@ -447,5 +447,5 @@ TEST_CASE( "vehicle_efficiency", "[vehicle] [engine]" ) test_vehicle( "apc", 5801619, 1100000, 948300, 132800, 86880 ); test_vehicle( "humvee", 5499145, 607600, 341100, 25880, 9263 ); test_vehicle( "road_roller", 8779702, 369800, 412000, 22990, 6996 ); - test_vehicle( "golf_cart", 446830, 52800, 104200, 26830, 13880 ); + test_vehicle( "golf_cart", 444630, 52800, 105591, 27250, 14207 ); } diff --git a/tests/vision_test.cpp b/tests/vision_test.cpp index dd479a75355c6..bf9c86a7407c4 100644 --- a/tests/vision_test.cpp +++ b/tests/vision_test.cpp @@ -460,7 +460,7 @@ TEST_CASE( "vision_wall_can_be_lit_by_player", "[shadowcasting][vision]" ) TEST_CASE( "vision_see_wall_in_moonlight", "[shadowcasting][vision]" ) { - const time_point full_moon = calendar::turn_zero + calendar::season_length() / 3; + const time_point full_moon = calendar::turn_zero + calendar::season_length() / 3 / 2; // Verify that I've picked the full_moon time correctly. CHECK( get_moon_phase( full_moon ) == MOON_FULL ); diff --git a/tests/weather_test.cpp b/tests/weather_test.cpp new file mode 100644 index 0000000000000..97f7966c88117 --- /dev/null +++ b/tests/weather_test.cpp @@ -0,0 +1,112 @@ +#include "catch/catch.hpp" + +#include + +#include "calendar.h" +#include "point.h" +#include "weather_gen.h" +#include "game.h" + +static double mean_abs_running_diff( std::vector const &v ) +{ + double x = 0; + int n = v.size() - 1; + for( int i = 0 ; i < n ; ++i ) { + x += std::abs( v[i + 1] - v[i] ); + } + return x / n; +} + +static double mean_pairwise_diffs( std::vector const &a, std::vector const &b ) +{ + double x = 0; + int n = a.size(); + for( int i = 0 ; i < n ; ++i ) { + x += a[i] - b[i]; + } + return x / n; +} + +static double proportion_gteq_x( std::vector const &v, double x ) +{ + int count = 0; + for( auto i : v ) { + count += ( i >= x ); + } + return static_cast( count ) / v.size(); +} + +TEST_CASE( "weather realism" ) +// Check our simulated weather against numbers from real data +// from a few years in a few locations in New England. The numbers +// are based on NOAA's Local Climatological Data (LCD). Analysis code +// can be found at: +// https://gist.github.com/Kodiologist/e2f1e6685e8fd865650f97bb6a67ad07 +{ + // Try a few randomly selected seeds. + const std::vector seeds = {317'024'741, 870'078'684, 1'192'447'748}; + + const weather_generator &wgen = g->weather.get_cur_weather_gen(); + const time_point begin = 0; + const time_point end = begin + calendar::year_length(); + const int n_days = to_days( end - begin ); + const int n_hours = to_hours( 1_days ); + const int n_minutes = to_minutes( 1_days ); + + for( auto seed : seeds ) { + std::vector> temperature; + temperature.resize( n_days, std::vector( n_minutes, 0 ) ); + std::vector hourly_precip; + hourly_precip.resize( n_days * n_hours, 0 ); + + // Collect generated weather data for a single year. + for( time_point i = begin ; i < end ; i += 1_minutes ) { + w_point w = wgen.get_weather( tripoint_zero, to_turn( i ), seed ); + int day = to_days( time_past_new_year( i ) ); + int minute = to_minutes( time_past_midnight( i ) ); + temperature[day][minute] = w.temperature; + int hour = to_hours( time_past_new_year( i ) ); + hourly_precip[hour] += + precip_mm_per_hour( + weather::precip( wgen.get_weather_conditions( w ) ) ) + / 60; + } + + // Collect daily highs and lows. + std::vector highs( n_days ); + std::vector lows( n_days ); + for( int do_highs = 0 ; do_highs < 2 ; ++do_highs ) { + std::vector &t = do_highs ? highs : lows; + std::transform( temperature.begin(), temperature.end(), t.begin(), + [&]( std::vector const & day ) { + return do_highs + ? *std::max_element( day.begin(), day.end() ) + : *std::min_element( day.begin(), day.end() ); + } ); + + // Check the mean absolute difference between the highs or lows + // of adjacent days (Fahrenheit). + const double d = mean_abs_running_diff( t ); + CHECK( d >= ( do_highs ? 5.5 : 4 ) ); + CHECK( d <= ( do_highs ? 7.5 : 7 ) ); + } + + // Check the daily mean of the range in temperatures (Fahrenheit). + const double mean_of_ranges = mean_pairwise_diffs( highs, lows ); + CHECK( mean_of_ranges >= 14 ); + CHECK( mean_of_ranges <= 25 ); + + // Check the proportion of hours with light precipitation + // or more, counting snow (mm of rain equivalent per hour). + const double at_least_light_precip = proportion_gteq_x( + hourly_precip, 1 ); + CHECK( at_least_light_precip >= .025 ); + CHECK( at_least_light_precip <= .05 ); + + // Likewise for heavy precipitation. + const double heavy_precip = proportion_gteq_x( + hourly_precip, 2.5 ); + CHECK( heavy_precip >= .005 ); + CHECK( heavy_precip <= .02 ); + } +} diff --git a/tools/clang-tidy-plugin/StringLiteralIterator.cpp b/tools/clang-tidy-plugin/StringLiteralIterator.cpp index 1f4b30ba3b980..50bf8b6ffef54 100644 --- a/tools/clang-tidy-plugin/StringLiteralIterator.cpp +++ b/tools/clang-tidy-plugin/StringLiteralIterator.cpp @@ -7,7 +7,7 @@ namespace tidy namespace cata { -StringLiteralIterator::StringLiteralIterator( const StringLiteral &str, size_t ind ) +StringLiteralIterator::StringLiteralIterator( const StringLiteral &str, const size_t ind ) : str( str ), ind( ind ) { } diff --git a/tools/clang-tidy-plugin/StringLiteralIterator.h b/tools/clang-tidy-plugin/StringLiteralIterator.h index 5e10d23ec774c..fd3636590ce6d 100644 --- a/tools/clang-tidy-plugin/StringLiteralIterator.h +++ b/tools/clang-tidy-plugin/StringLiteralIterator.h @@ -1,5 +1,7 @@ -#ifndef CATA_TOOLS_CLANG_TIDY_STRINGLITERALVIEW_H -#define CATA_TOOLS_CLANG_TIDY_STRINGLITERALVIEW_H +#ifndef CATA_TOOLS_CLANG_TIDY_STRINGLITERALITERATOR_H +#define CATA_TOOLS_CLANG_TIDY_STRINGLITERALITERATOR_H + +#include #include "ClangTidy.h" @@ -18,6 +20,12 @@ class StringLiteralIterator // This assumes that ind points to the start of a valid utf8 sequence StringLiteralIterator( const StringLiteral &str, size_t ind ); + // Get the source location corresponding to the character pointed to + // by the iterator. + // Do note that clang crashes when the string literal is a predefined + // expression such as __func__, so you may want to exclude them using + // the matcher `unless( hasAncestor( predefinedExpr() ) )` or something + // to that effect. SourceLocation toSourceLocation( const SourceManager &SrcMgr, const LangOptions &LangOpts, const TargetInfo &Info ) const; @@ -56,4 +64,18 @@ class StringLiteralIterator } // namespace tidy } // namespace clang -#endif // CATA_TOOLS_CLANG_TIDY_STRINGLITERALVIEW_H +namespace std +{ +template<> +struct iterator_traits { + using difference_type = ptrdiff_t; + using value_type = uint32_t; + using pointer = const uint32_t *; + using reference = const uint32_t &; + // randome_access_iterator_tag requires constant increment/decrement time, + // which StringLiteralIterator doesn't satisfy. + using iterator_category = bidirectional_iterator_tag; +}; +} // namespace std + +#endif // CATA_TOOLS_CLANG_TIDY_STRINGLITERALITERATOR_H diff --git a/tools/clang-tidy-plugin/TextStyleCheck.cpp b/tools/clang-tidy-plugin/TextStyleCheck.cpp index a478f9866f46d..db8c15a5711bb 100644 --- a/tools/clang-tidy-plugin/TextStyleCheck.cpp +++ b/tools/clang-tidy-plugin/TextStyleCheck.cpp @@ -1,6 +1,7 @@ #include "TextStyleCheck.h" #include "StringLiteralIterator.h" +#include "../../src/text_style_check.h" using namespace clang::ast_matchers; @@ -44,12 +45,14 @@ void TextStyleCheck::registerMatchers( MatchFinder *Finder ) callExpr( callee( functionDecl( - hasName( "formatted_set_simple" ) + hasAnyName( "formatted_set_simple", "ter_bind", "furn_bind" ) ) ) ) ) - ) + ), + // __func__, etc + unless( hasAncestor( predefinedExpr() ) ) ).bind( "str" ), this ); @@ -63,10 +66,13 @@ void TextStyleCheck::check( const MatchFinder::MatchResult &Result ) } const StringLiteral &text = *str; - // ignore macro expansions + const SourceManager &SrcMgr = *Result.SourceManager; for( size_t i = 0; i < text.getNumConcatenated(); ++i ) { const SourceLocation &loc = text.getStrTokenLoc( i ); - if( loc.isInvalid() || loc.isMacroID() ) { + if( loc.isInvalid() ) { + return; + } else if( StringRef( SrcMgr.getPresumedLoc( SrcMgr.getSpellingLoc( + loc ) ).getFilename() ).equals( "" ) ) { return; } } @@ -76,12 +82,11 @@ void TextStyleCheck::check( const MatchFinder::MatchResult &Result ) return; } - const SourceManager &SrcMgr = *Result.SourceManager; // disable fix-its for utf8 strings to avoid removing the u8 prefix bool fixit = text.isAscii(); for( size_t i = 0; fixit && i < text.getNumConcatenated(); ++i ) { const SourceLocation &loc = text.getStrTokenLoc( i ); - if( SrcMgr.getCharacterData( loc )[0] == 'R' ) { + if( !loc.isMacroID() && SrcMgr.getCharacterData( loc )[0] == 'R' ) { // disable fix-its for raw strings to avoid removing the R prefix fixit = false; } @@ -91,157 +96,47 @@ void TextStyleCheck::check( const MatchFinder::MatchResult &Result ) const TargetInfo &Info = Result.Context->getTargetInfo(); const auto location = [&SrcMgr, &LangOpts, &Info] ( const StringLiteralIterator & it ) -> SourceLocation { - return it.toSourceLocation( SrcMgr, LangOpts, Info ); + return SrcMgr.getSpellingLoc( it.toSourceLocation( SrcMgr, LangOpts, Info ) ); }; - struct punctuation { - std::u32string symbol; - std::u32string follow; - struct { - bool check; - size_t min_string_length = 0; - size_t min_word_length = 0; - size_t fix_spaces_min = 0; - size_t fix_spaces_max = 0; - size_t fix_spaces_to = 0; - // remove unnecessary spaces at string end - size_t fix_end_max = 0; - // remove unnecessary spaces at line end (before '\n') - size_t fix_line_end_max = 0; - } spaces; - struct { - bool yes; - std::string str {}; - std::string escaped {}; - std::string sym_desc {}; - std::string replace_desc {}; - } replace; - }; - // always put the longest (in u32) symbols at the front, since we'll iterate - // and search for them in this order. - // *INDENT-OFF* - static const std::array punctuations = {{ - // symbol,follow, spaces, replace, - // check, len, num spc end yes, string, escaped symbol desc, replc desc - { U"...", U"", { true, 0, 1, 1, 3, 2, 2, 2 }, { true, "\u2026", R"(\u2026)", "three dots", "ellipsis" } }, - { U"::", U"", { false, }, { false, } }, - { U"\r\n", U"", { false, }, { true, R"(\n)", R"(\n)", "carriage return", "new line" } }, - { U"\u2026", U"", { true, 0, 1, 1, 3, 2, 2, 2 }, { false, } }, - { U".", U"", { true, 0, 3, 1, 3, 2, 0, 2 }, { false, } }, - { U";", U"", { true, 0, 1, 1, 3, 2, 2, 2 }, { false, } }, - { U"!", U"!?", { true, 0, 1, 1, 3, 2, 2, 2 }, { false, } }, - { U"?", U"!?", { true, 0, 1, 1, 3, 2, 2, 2 }, { false, } }, - { U":", U"", { true, 0, 1, 1, 1, 1, 0, 1 }, { false, } }, - { U",", U"", { true, 0, 1, 1, 2, 1, 0, 1 }, { false, } }, - { U"\r", U"", { false, }, { true, R"(\n)", R"(\n)", "carriage return", "new line" } }, - { U"\n", U"", { true, 0, 0, 0, 0, 0, 1, 1 }, { false, } }, - { U"\t", U"", { false, }, { true, " ", " ", "tab", "spaces" } }, - }}; - // *INDENT-ON* - - const auto beg = StringLiteralIterator::begin( text ); - const auto end = StringLiteralIterator::end( text ); - const size_t text_length = StringLiteralIterator::distance( beg, end ); - const bool in_concat_expr = Result.Nodes.getNodeAs( "concat" ) != nullptr; - for( auto it = beg; it < end; ) { - auto itpunc = it; - auto punc = punctuations.begin(); - for( ; punc < punctuations.end(); ++punc ) { - auto itpuncend = it; - bool matches = true; - for( auto isym = punc->symbol.begin(); isym < punc->symbol.end(); ++isym, ++itpuncend ) { - if( itpuncend >= end || *isym != *itpuncend ) { - matches = false; - break; - } - } - if( !matches ) { - continue; - } - for( ; itpuncend < end; ++itpuncend ) { - if( punc->follow.find( *itpuncend ) == std::u32string::npos ) { - break; + const auto text_style_check_callback = + [this, fixit, location] + ( const text_style_fix type, const std::string & msg, + const StringLiteralIterator & /*beg*/, const StringLiteralIterator & /*end*/, + const StringLiteralIterator & at, + const StringLiteralIterator & from, const StringLiteralIterator & to, + const std::string & fix + ) { + auto diags = diag( location( at ), msg ); + if( fixit ) { + switch( type ) { + case text_style_fix::removal: { + const CharSourceRange range = CharSourceRange::getCharRange( + location( from ), location( to ) ); + diags << FixItHint::CreateRemoval( range ); } - } - it = itpuncend; - break; - } - if( punc >= punctuations.end() ) { - ++it; - continue; - } - if( punc->replace.yes ) { - const CharSourceRange range = CharSourceRange::getCharRange( - location( itpunc ), location( it ) ); - const std::string &replace = EscapeUnicode ? punc->replace.escaped : punc->replace.str; - auto diags = diag( location( itpunc ), "%0 preferred over %1." ) - << punc->replace.replace_desc << punc->replace.sym_desc; - if( fixit ) { - diags << FixItHint::CreateReplacement( range, replace ); - } - } - if( punc->spaces.check && text_length >= punc->spaces.min_string_length ) { - size_t wordlen = 0; - for( auto itword = itpunc; itword > beg; --itword, ++wordlen ) { - const uint32_t ch = *( itword - 1 ); - if( ( ch < U'a' || ch > U'z' ) && ( ch < U'A' || ch > U'Z' ) && - ( ch < U'0' || ch > U'9' ) && ch != U'-' ) { + break; + case text_style_fix::insertion: + diags << FixItHint::CreateInsertion( location( from ), fix ); break; + case text_style_fix::replacement: { + const CharSourceRange range = CharSourceRange::getCharRange( + location( from ), location( to ) ); + diags << FixItHint::CreateReplacement( range, fix ); } - } - if( wordlen >= punc->spaces.min_word_length ) { - auto itspaceend = it; - size_t spacelen = 0; - for( ; itspaceend < end && *itspaceend == U' '; ++itspaceend, ++spacelen ) { - } - if( itspaceend >= end ) { - // treat spaces at the end of strings in concat expressions (+, += or <<) as deliberate - if( !in_concat_expr && spacelen > 0 && spacelen <= punc->spaces.fix_end_max ) { - const CharSourceRange range = CharSourceRange::getCharRange( - location( it ), location( itspaceend ) ); - auto diags = diag( location( it ), "unnecessary spaces at end of string." ); - if( fixit ) { - diags << FixItHint::CreateRemoval( range ); - } - } - } else if( *itspaceend == U'\n' ) { - if( spacelen > 0 && spacelen <= punc->spaces.fix_line_end_max ) { - const CharSourceRange range = CharSourceRange::getCharRange( - location( it ), location( itspaceend ) ); - auto diags = diag( location( it ), "unnecessary spaces at end of line." ); - if( fixit ) { - diags << FixItHint::CreateRemoval( range ); - } - } - } else { - if( spacelen >= punc->spaces.fix_spaces_min && - spacelen < punc->spaces.fix_spaces_to ) { - auto diags = diag( location( it ), - "insufficient spaces at this location. %0 required, but only %1 found." ) - << static_cast( punc->spaces.fix_spaces_to ) - << static_cast( spacelen ); - if( fixit ) { - diags << FixItHint::CreateInsertion( location( it ), - std::string( punc->spaces.fix_spaces_to - spacelen, ' ' ) ); - } - } else if( spacelen > punc->spaces.fix_spaces_to && - spacelen <= punc->spaces.fix_spaces_max ) { - const CharSourceRange range = CharSourceRange::getCharRange( - location( itspaceend - ( spacelen - punc->spaces.fix_spaces_to ) ), - location( itspaceend ) ); - auto diags = diag( location( it ), - "excessive spaces at this location. %0 required, but %1 found." ) - << static_cast( punc->spaces.fix_spaces_to ) - << static_cast( spacelen ); - if( fixit ) { - diags << FixItHint::CreateRemoval( range ); - } - } - } - it = itspaceend; + break; } } - } + }; + + const auto beg = StringLiteralIterator::begin( text ); + const auto end = StringLiteralIterator::end( text ); + const bool in_concat_expr = Result.Nodes.getNodeAs( "concat" ) != nullptr; + text_style_check( beg, end, + // treat spaces at the end of strings in concat expressions (+, += or <<) as deliberate + in_concat_expr ? fix_end_of_string_spaces::no : fix_end_of_string_spaces::yes, + EscapeUnicode ? escape_unicode::yes : escape_unicode::no, + text_style_check_callback ); } } // namespace cata diff --git a/tools/clang-tidy-plugin/test/text-style.cpp b/tools/clang-tidy-plugin/test/text-style.cpp index 56374fe24886b..aefed8fa59d67 100644 --- a/tools/clang-tidy-plugin/test/text-style.cpp +++ b/tools/clang-tidy-plugin/test/text-style.cpp @@ -29,6 +29,7 @@ template void foo( const T &t ); #define stringify( x ) #x +#define passthrough( x ) x static void bar() { @@ -45,8 +46,8 @@ static void bar() foo( "foo::bar" ); // frequently used in the code for concatenation foo( "Note: " ); - // do not check macros - foo( stringify( foo ) ", bar." ); + // ignore strings generated by the # preprocessor operator + foo( stringify( foo. bar ) ". baz" ); // ignore wide/u16/u32 strings foo( L"Foo, bar." ); foo( u"Foo, bar." ); @@ -57,6 +58,8 @@ static void bar() str += "foo, "; str += "bar."; some_stream() << "foo, " << "bar."; + foo( "A .308 rifle" ); + foo( "foo != bar" ); // do not fix to avoid removing the prefix foo( "Foobar. " u8" \nBaz." ); @@ -67,6 +70,10 @@ static void bar() // CHECK-MESSAGES: [[@LINE-1]]:18: warning: unnecessary spaces at end of line. // CHECK-FIXES: foo( "Foobar. " R"( )" "\n" ); + // macro expansion + foo( passthrough( "foo" ) ", bar." ); + // CHECK-MESSAGES: [[@LINE-1]]:33: warning: excessive spaces at this location. 1 required, but 2 found. + // CHECK-FIXES: foo( passthrough( "foo" ) ", bar." ); foo( "\t" ); // CHECK-MESSAGES: [[@LINE-1]]:11: warning: spaces preferred over tab. // CHECK-FIXES: foo( " " ); @@ -95,15 +102,24 @@ static void bar() // CHECK-MESSAGES: [[@LINE-1]]:17: warning: insufficient spaces at this location. 2 required, but only 1 found. // CHECK-FIXES: foo( "Three! Two! One!" ); foo( "Three; Two; One;" ); - // CHECK-MESSAGES: [[@LINE-1]]:17: warning: insufficient spaces at this location. 2 required, but only 1 found. - // CHECK-FIXES: foo( "Three; Two; One;" ); + // CHECK-MESSAGES: [[@LINE-1]]:22: warning: excessive spaces at this location. 1 required, but 2 found. + // CHECK-FIXES: foo( "Three; Two; One;" ); foo( "Three? Two? One?" ); // CHECK-MESSAGES: [[@LINE-1]]:17: warning: insufficient spaces at this location. 2 required, but only 1 found. // CHECK-FIXES: foo( "Three? Two? One?" ); - foo( "Three\u2026 Two\u2026 One\u2026" ); - // CHECK-MESSAGES: [[@LINE-1]]:22: warning: insufficient spaces at this location. 2 required, but only 1 found. - // CHECK-FIXES: foo( "Three\u2026 Two\u2026 One\u2026" ); foo( "Three?! Two!? One!!" ); // CHECK-MESSAGES: [[@LINE-1]]:18: warning: insufficient spaces at this location. 2 required, but only 1 found. // CHECK-FIXES: foo( "Three?! Two!? One!!" ); + foo( "\u2026 foo." ); + // CHECK-MESSAGES: [[@LINE-1]]:17: warning: undesired spaces after a punctuation that starts a string. + // CHECK-FIXES: foo( "\u2026foo." ); + foo( "foo.\n\u2026 bar." ); + // CHECK-MESSAGES: [[@LINE-1]]:23: warning: undesired spaces after a punctuation that starts a line. + // CHECK-FIXES: foo( "foo.\n\u2026bar." ); + foo( "foo , bar" ); + // CHECK-MESSAGES: [[@LINE-1]]:15: warning: unnecessary spaces before this location. + // CHECK-FIXES: foo( "foo, bar" ); + foo( "foo \nbar" ); + // CHECK-MESSAGES: [[@LINE-1]]:15: warning: unnecessary spaces before this location. + // CHECK-FIXES: foo( "foo\nbar" ); } diff --git a/tools/dialogue_validator.py b/tools/dialogue_validator.py index 5a3a73e6569a0..263e26db9f9f9 100755 --- a/tools/dialogue_validator.py +++ b/tools/dialogue_validator.py @@ -17,20 +17,25 @@ "TALK_DONE and every topic is reachable from an NPC's" "starting topic. Reports nothing on success.") args.add_argument("dialogue_json", nargs="+", action="store", - help="specify json file or files to validate. Use 'data/json/npcs/* " - "data/json/npcs/*/* data/json/npcs/*/*/*' to validate the " - "dialogue in the vanilla game.") + help="specify json folder to validate. The valdiator will walk the folder's " + "tree and validate all JSON files in it. Use 'data/json/npcs/ " + "to validate the dialogue in the vanilla game.") argsDict = vars(args.parse_args()) def get_dialogue_from_json(): dialogue = [] - for path in argsDict.get("dialogue_json", []): - if path == "data/json/npcs/TALK_TEST.json": - continue - if path.endswith(".json"): - with open(path) as dialogue_file: - dialogue += json.load(dialogue_file) + for arg_path in argsDict.get("dialogue_json", []): + if arg_path.endswith("/"): + arg_path = arg_path[:-1] + for subdir_path, dirnames, filenames in os.walk(arg_path): + for filename in filenames: + path = subdir_path + "/" + filename + if path == "data/json/npcs/TALK_TEST.json": + continue + if path.endswith(".json"): + with open(path) as dialogue_file: + dialogue += json.load(dialogue_file) return dialogue diff --git a/tools/generate_changelog.py b/tools/generate_changelog.py index 5be729d0f8602..0fb211f412983 100755 --- a/tools/generate_changelog.py +++ b/tools/generate_changelog.py @@ -16,7 +16,7 @@ import pathlib import contextlib import xml.etree.ElementTree -from datetime import date, datetime, timedelta +from datetime import time as dtime, date, datetime, timedelta log = logging.getLogger('generate_changelog') @@ -63,6 +63,9 @@ def commit_date(self): def committed_after(self, commit_dttm): return self.commit_dttm is not None and self.commit_dttm >= commit_dttm + def committed_before(self, commit_dttm): + return self.commit_dttm is not None and self.commit_dttm <= commit_dttm + @property def is_merge(self): return len(self.parents) > 1 @@ -99,9 +102,15 @@ def is_merged(self): def merged_after(self, merge_dttm): return self.merge_dttm is not None and self.merge_dttm >= merge_dttm + def merged_before(self, merge_dttm): + return self.merge_dttm is not None and self.merge_dttm <= merge_dttm + def updated_after(self, update_dttm): return self.update_dttm is not None and self.update_dttm >= update_dttm + def updated_before(self, update_dttm): + return self.update_dttm is not None and self.update_dttm <= update_dttm + def __str__(self): return f'{self.__class__.__name__}[{self.id} - {self.merge_dttm} - {self.title} BY {self.author}]' @@ -452,9 +461,13 @@ def get_commit_list(self, min_commit_dttm, max_commit_dttm, branch='master', max params: min_commit_dttm = None or minimum commit date to be part of the result set (UTC+0 timezone) - params: - max_commit_dttm = None or maximum commit date to be part of the result set + max_commit_dttm = None or maximum commit date to be part of the result set (UTC+0 timezone) """ + if min_commit_dttm is None: + min_commit_dttm = datetime.min + if max_commit_dttm is None: + max_commit_dttm = datetime.utcnow() + results_queue = collections.deque() request_generator = CommitApiGenerator(self.api_token, min_commit_dttm, max_commit_dttm, branch) threaded = MultiThreadedGitHubApi() @@ -462,18 +475,20 @@ def get_commit_list(self, min_commit_dttm, max_commit_dttm, branch='master', max self._process_commit_data_callback(results_queue), max_threads=max_threads) - return (commit for commit in results_queue if commit.committed_after(min_commit_dttm)) + return (commit for commit in results_queue + if commit.committed_after(min_commit_dttm) and commit.committed_before(max_commit_dttm)) def _process_commit_data_callback(self, results_queue): """Returns a callback that will process data into Commits instances and stop threads when needed.""" - def _process_commit_data_callback_closure(json_data, request_generator): + def _process_commit_data_callback_closure(json_data, request_generator, api_request): nonlocal results_queue commit_list = [self._create_commit_from_api_data(x) for x in json_data] for commit in commit_list: results_queue.append(commit) if request_generator.is_active and len(commit_list) == 0: - log.debug(f'Target page found, stop giving threads more requests') + log.debug(f'Target page found, stop giving threads more requests.' + f' Target URL: {api_request.full_url}') request_generator.deactivate() return _process_commit_data_callback_closure @@ -537,45 +552,50 @@ def search_for_pull_request(self, commit_hash): else: return api_data['items'][0]['number'] - def get_pr_list(self, min_dttm, max_dttm, state='all', merged_only=False, max_threads=15): + def get_pr_list(self, min_dttm, max_dttm=None, state='all', merged_only=False, max_threads=15): """Return a list of PullRequests from specified commit date up to now. Order is not guaranteed by threads. params: min_dttm = None or minimum update date on the PR to be part of the result set (UTC+0 timezone) - min_dttm = None or maximum update date on the PR to be part of the result set (UTC+0 timezone) + max_dttm = None or maximum update date on the PR to be part of the result set (UTC+0 timezone) state = 'open' | 'closed' | 'all' merged_only = search only 'closed' state PRs, and filter PRs by merge date instead of update date """ + if min_dttm is None: + min_dttm = datetime.min + if max_dttm is None: + max_dttm = datetime.utcnow() + results_queue = collections.deque() request_generator = PullRequestApiGenerator(self.api_token, state if not merged_only else 'closed') threaded = MultiThreadedGitHubApi() threaded.process_api_requests(request_generator, - self._process_pr_data_callback(results_queue, min_dttm, max_dttm, merged_only), + self._process_pr_data_callback(results_queue, min_dttm), max_threads=max_threads) if merged_only: - return (pr for pr in results_queue if pr.is_merged and pr.merged_after(min_dttm)) + return (pr for pr in results_queue + if pr.is_merged and pr.merged_after(min_dttm) and pr.merged_before(max_dttm)) else: - return (pr for pr in results_queue if pr.updated_after(min_dttm)) + return (pr for pr in results_queue + if pr.updated_after(min_dttm) and pr.updated_before(max_dttm)) - def _process_pr_data_callback(self, results_queue, min_dttm, max_dttm, merged_only): + def _process_pr_data_callback(self, results_queue, min_dttm): """Returns a callback that will process data into Pull Requests objects and stop threads when needed.""" - def _process_pr_data_callback_closure(json_data, request_generator): - nonlocal results_queue, min_dttm, merged_only + def _process_pr_data_callback_closure(json_data, request_generator, api_request): + nonlocal results_queue, min_dttm pull_request_list = [self._create_pr_from_api_data(x) for x in json_data] for pr in pull_request_list: - if not merged_only or pr.is_merged: - results_queue.append(pr) + results_queue.append(pr) - target_page_found = False - if min_dttm is not None and merged_only: - target_page_found = not any(pr.merged_after(min_dttm) for pr in pull_request_list) - if min_dttm is not None and not merged_only: - target_page_found = not any(pr.updated_after(min_dttm) for pr in pull_request_list) + ### this check on update date makes sure we get the GitHub API pages we need + ### a more precise PR filter of the result is made from results_queue later + target_page_found = not any(pr.updated_after(min_dttm) for pr in pull_request_list) if len(pull_request_list) == 0 or target_page_found: if request_generator.is_active: - log.debug(f'Target page found, stop giving threads more requests') + log.debug(f'Target page found, stop giving threads more requests.' + f' Target URL: {api_request.full_url}') request_generator.deactivate() return _process_pr_data_callback_closure @@ -629,7 +649,7 @@ def _process_api_requests_on_threads(request_generator, callback): log.debug(f'Thread Started!') api_request = request_generator.generate() while api_request is not None: - callback(do_github_request(api_request), request_generator) + callback(do_github_request(api_request), request_generator, api_request) api_request = request_generator.generate() log.debug(f'No more requests left, killing Thread.') @@ -849,7 +869,7 @@ def main_entry(argv): parser.add_argument( 'target_date', help='Specify when should stop generating. Accepts "YYYY-MM-DD" ISO 8601 Date format.', - type=lambda d: datetime.combine(date.fromisoformat(d), datetime.min.time()) + type=lambda d: datetime.combine(date.fromisoformat(d), dtime.min) ) parser.add_argument( @@ -869,8 +889,8 @@ def main_entry(argv): parser.add_argument( '-e', '--end-date', help='Specify when should start generating. Accepts "YYYY-MM-DD" ISO 8601 Date format.', - type=lambda d: datetime.combine(date.fromisoformat(d), datetime.min.time()), - default=None + type=lambda d: datetime.combine(date.fromisoformat(d), dtime.max), + default=datetime.utcnow() ) parser.add_argument( @@ -903,9 +923,6 @@ def main_entry(argv): arguments = parser.parse_args(argv[1:]) - if (arguments.end_date is None): - arguments.end_date=datetime.now() - logging.basicConfig(level=logging.DEBUG if arguments.verbose else logging.INFO, format=' LOG | %(threadName)s | %(levelname)s | %(message)s') diff --git a/tools/gfx_tools/compose.py b/tools/gfx_tools/compose.py index 2cd5efb69007b..96015acff7a0c 100644 --- a/tools/gfx_tools/compose.py +++ b/tools/gfx_tools/compose.py @@ -70,9 +70,12 @@ def __init__(self, tileset_dirname): # dict of png absolute numbers to png names self.pngnum_to_pngname = { 0: "null_image" } self.pngnum = 0 + self.referenced_pngnames = [] self.tileset_pathname = tileset_dirname if not tileset_dirname.startswith("gfx/"): self.tileset_pathname = "gfx/" + tileset_dirname + if self.tileset_pathname.endswith("/"): + self.tileset_pathname = self.tileset_pathname[:-1] try: os.stat(self.tileset_pathname) @@ -90,6 +93,19 @@ def __init__(self, tileset_dirname): self.tileset_width = self.tileset_info[0].get("width") self.tileset_height = self.tileset_info[0].get("height") + def convert_a_pngname_to_pngnum(self, sprite_id, entry): + if sprite_id and sprite_id != "no_entry": + new_id = self.pngname_to_pngnum.get(sprite_id, 0) + if new_id: + entry.append(new_id) + if sprite_id not in self.referenced_pngnames: + self.referenced_pngnames.append(sprite_id) + return True + else: + print("sprite id '{}' has no matching PNG file. ".format(sprite_id) + + "It will not be added to tile_config.json") + return False + def convert_pngname_to_pngnum(self, index): new_index = [] if isinstance(index, list): @@ -97,30 +113,22 @@ def convert_pngname_to_pngnum(self, index): if isinstance(pngname, dict): sprite_ids = pngname.get("sprite") valid = False + new_sprites = [] if isinstance(sprite_ids, list): new_sprites = [] for sprite_id in sprite_ids: - if sprite_id != "no_entry": - new_id = self.pngname_to_pngnum.get(sprite_id, 0) - if new_id: - new_sprites.append(new_id) - valid = True + valid |= self.convert_a_pngname_to_pngnum(sprite_id, new_sprites) pngname["sprite"] = new_sprites - elif sprite_ids and sprite_ids != "no_entry": - new_id = self.pngname_to_pngnum.get(sprite_ids, 0) - if new_id: - pngname["sprite"] = new_id - valid = True + else: + valid = self.convert_a_pngname_to_pngnum(sprite_ids, new_sprites) + if valid: + pngname["sprite"] = new_sprites[0] if valid: new_index.append(pngname) - elif pngname != "no_entry": - new_id = self.pngname_to_pngnum.get(pngname, 0) - if new_id: - new_index.append(new_id) - elif index and index != "no_entry": - new_id = self.pngname_to_pngnum.get(index, 0) - if new_id: - new_index.append(new_id) + else: + self.convert_a_pngname_to_pngnum(pngname, new_index) + else: + self.convert_a_pngname_to_pngnum(index, new_index) if new_index and len(new_index) == 1: return new_index[0] return new_index @@ -149,7 +157,10 @@ def convert_tile_entry(self, tile_entry, prefix, is_filler): if bg_id: tile_entry["bg"] = self.convert_pngname_to_pngnum(bg_id) else: - del tile_entry["bg"] + try: + del tile_entry["bg"] + except: + print("Cannot find bg for tile with id {}".format(tile_id)) add_tile_entrys = tile_entry.get("additional_tiles", []) for add_tile_entry in add_tile_entrys: @@ -163,6 +174,13 @@ def convert_tile_entry(self, tile_entry, prefix, is_filler): return tile_entry return None + def verify(self): + for pngname, pngnum in self.pngname_to_pngnum.items(): + if pngnum and pngname not in self.referenced_pngnames: + print("image filename '{}' index '{}'".format(pngname, pngnum) + + " was not used in any tile_config.json entries") + + class TilesheetData(object): def __init__(self, subdir_index, refs): ts_all = refs.tileset_info[subdir_index] @@ -263,7 +281,9 @@ def walk_dirs(self, refs): print("error loading {}".format(filepath)) raise - self.tile_entries.append(tile_entry) + if not isinstance(tile_entry, list): + tile_entry = [tile_entry] + self.tile_entries += tile_entry if self.row_pngs: merged = self.merge_row(refs) tmp_merged_pngs += merged @@ -356,3 +376,5 @@ def finalize_merges(self, merge_pngs): } tileset_confpath = refs.tileset_pathname + "/" + "tile_config.json" write_to_json(tileset_confpath, conf_data) + +refs.verify() diff --git a/tools/gfx_tools/decompose.py b/tools/gfx_tools/decompose.py index 0bd63d41e9541..0e8ef64b42b4e 100644 --- a/tools/gfx_tools/decompose.py +++ b/tools/gfx_tools/decompose.py @@ -26,8 +26,10 @@ def write_to_json(pathname, data, prettify=False): json.dump(data, fp) except ValueError: fp.write(json.dumps(data)) - cmd = ["./tools/format/json_formatter.cgi", pathname] - if prettify: + + json_formatter = "./tools/format/json_formatter.cgi" + if prettify and os.path.isfile(json_formatter): + cmd = [json_formatter, pathname] subprocess.call(cmd) @@ -53,9 +55,9 @@ def __init__(self, tilesheet_data, refs): self.ts_pathname = refs.tileset_pathname + "/" + self.ts_filename self.ts_image = Vips.Image.pngload(self.ts_pathname) self.ts_width = self.ts_image.width - self.ts_tiles_per_row = math.floor(self.ts_width / self.sprite_width) + self.ts_tiles_per_row = int(math.floor(self.ts_width / self.sprite_width)) self.ts_height = self.ts_image.height - self.ts_rows = math.floor(self.ts_height / self.sprite_height) + self.ts_rows = int(math.floor(self.ts_height / self.sprite_height)) self.pngnum_min = refs.last_pngnum self.pngnum_max = refs.last_pngnum + self.ts_tiles_per_row * self.ts_rows - 1 #print("\t{}x{}; {} rows; spans {} to {}".format(self.ts_width, self.ts_height, @@ -320,7 +322,7 @@ def get_all_data(self, tileset_dirname, delete_pathname): del_ranges = json.load(del_file) for delete_range in del_ranges: if not isinstance(delete_range, list): - contineu + continue min_png = delete_range[0] max_png = min_png if len(delete_range) > 1: @@ -342,7 +344,7 @@ def add_pngnum_to_tsfilepath(self, pngnum): return raise KeyError("index %s out of range", pngnum) - def convert_index(self, read_pngnums, new_index, new_id): + def convert_index(self, read_pngnums, new_index): if isinstance(read_pngnums, list): for pngnum in read_pngnums: if isinstance(pngnum, dict): @@ -351,40 +353,40 @@ def convert_index(self, read_pngnums, new_index, new_id): new_sprites = [] for sprite_id in sprite_ids: if sprite_id >= 0 and sprite_id not in self.delete_pngnums: - if not new_id: - new_id = self.pngnum_to_pngname[sprite_id] new_sprites.append(self.pngnum_to_pngname[sprite_id]) pngnum["sprite"] = new_sprites else: if sprite_ids >= 0 and sprite_ids not in self.delete_pngnums: - if not new_id: - new_id = self.pngnum_to_pngname[sprite_ids] pngnum["sprite"] = self.pngnum_to_pngname[sprite_ids] new_index.append(pngnum) elif pngnum >= 0 and pngnum not in self.delete_pngnums: - if not new_id: - new_id = self.pngnum_to_pngname[pngnum] new_index.append(self.pngnum_to_pngname[pngnum]) elif read_pngnums >= 0 and read_pngnums not in self.delete_pngnums: - if not new_id: - new_id = self.pngnum_to_pngname[read_pngnums] new_index.append(self.pngnum_to_pngname[read_pngnums]) - return new_id def convert_pngnum_to_pngname(self, tile_entry): new_fg = [] - new_id = "" fg_id = tile_entry.get("fg", -10) - new_id = self.convert_index(fg_id, new_fg, new_id) + self.convert_index(fg_id, new_fg) bg_id = tile_entry.get("bg", -10) new_bg = [] - new_id = self.convert_index(bg_id, new_bg, new_id) + self.convert_index(bg_id, new_bg) add_tile_entrys = tile_entry.get("additional_tiles", []) for add_tile_entry in add_tile_entrys: self.convert_pngnum_to_pngname(add_tile_entry) tile_entry["fg"] = new_fg tile_entry["bg"] = new_bg + new_id = "" + entity_id = tile_entry["id"] + if isinstance(entity_id, list): + # we have to truncate the name since it could get really long, which means + # this still may not be unique in the case of a bunch instances like this + # but it's better than nothing... + new_id = "_".join(entity_id)[0:150] + else: + new_id = entity_id + return new_id, tile_entry def report_missing(self): @@ -448,12 +450,14 @@ def report_missing(self): for tile_id, tile_entrys in out_data.ts_data.tile_id_to_tile_entrys.items(): #print("tile id {} with {} entries".format(tile_id, len(tile_entrys))) - for tile_entry in tile_entrys: + for idx, tile_entry in enumerate(tile_entrys): subdir_pathname = out_data.increment_dir() tile_entry_name, tile_entry = refs.convert_pngnum_to_pngname(tile_entry) if not tile_entry_name: continue - tile_entry_pathname = subdir_pathname + "/" + tile_entry_name + ".json" + tile_entry_pathname = subdir_pathname + "/" + tile_entry_name + "_" + str(idx) + ".json" + #if os.path.isfile(tile_entry_pathname): + # print("overwriting {}".format(tile_entry_pathname)) write_to_json(tile_entry_pathname, tile_entry) out_data.write_images(refs) diff --git a/tools/gfx_tools/png_update.py b/tools/gfx_tools/png_update.py new file mode 100644 index 0000000000000..82b58db5e6124 --- /dev/null +++ b/tools/gfx_tools/png_update.py @@ -0,0 +1,157 @@ +#!/bin/python + +# png_update.py +# Rename a png and update all references to it. + +import argparse +import copy +import json +import os +import string +import subprocess + +# stupid stinking Python 2 versus Python 3 syntax +def write_to_json(pathname, data): + with open(pathname, "w") as fp: + try: + json.dump(data, fp) + except ValueError: + fp.write(json.dumps(data)) + + json_formatter = "./tools/format/json_formatter.cgi" + if os.path.isfile(json_formatter): + cmd = [json_formatter, pathname] + subprocess.call(cmd) + + +def convert_index(old_index, old_name, new_name): + changed = False + new_indexes = [] + if isinstance(old_index, list): + for pngname in old_index: + if isinstance(pngname, dict): + sprite_ids = pngname.get("sprite") + new_sprites = [] + if isinstance(sprite_ids, list): + for sprite_id in sprite_ids: + if sprite_id == old_name: + new_sprites.append(new_name) + changed = True + else: + new_sprites.append(sprite_id) + if new_sprites: + pngname["sprite"] = new_sprites + elif sprite_ids == old_name: + pngname["sprite"] = new_name + changed = True + else: + pngname["sprite"] = sprite_ids + new_indexes.append(pngname) + elif pngname == old_name: + new_indexes.append(new_name) + changed = True + else: + new_indexes.append(pngname) + elif old_index == old_name: + new_indexes.append(new_name) + changed = True + else: + new_indexes.append(old_index) + + if new_indexes and len(new_indexes) == 1: + return new_indexes[0], changed + return new_indexes, changed + + +def convert_tile_entry(tile_entry, old_name, new_name): + if not isinstance(tile_entry, dict): + return tile_entry, False + + changed = False + old_fg_id = tile_entry.get("fg", []) + if old_fg_id: + tile_entry["fg"], fg_changed = convert_index(old_fg_id, old_name, new_name) + changed = fg_changed + + old_bg_id = tile_entry.get("bg", []) + if old_bg_id: + tile_entry["bg"], bg_changed = convert_index(old_bg_id, old_name, new_name) + changed |= bg_changed + + add_tile_entrys = tile_entry.get("additional_tiles", []) + new_tile_entrys = [] + for add_tile_entry in add_tile_entrys: + changed_tile_entry, add_changed = convert_tile_entry(add_tile_entry, old_name, new_name) + new_tile_entrys.append(changed_tile_entry) + changed |= add_changed + if new_tile_entrys: + tile_entry["additional_tiles"] = new_tile_entrys + return tile_entry, changed + + +def convert_tile_entry_file(file_path, old_name, new_name): + changed = False + tile_data = [] + new_tile_data = [] + with open(file_path, "r") as fp: + tile_data = json.load(fp) + if not isinstance(tile_data, list): + tile_data = [tile_data] + for tile_entry in tile_data: + new_entry, entry_changed = convert_tile_entry(tile_entry, old_name, new_name) + new_tile_data.append(new_entry) + changed = entry_changed or changed + if changed: + if len(new_tile_data) == 1: + new_tile_data = new_tile_data[0] + write_to_json(file_path, new_tile_data) + +args = argparse.ArgumentParser(description="Rename a png file, its associated tile_entry.json, and update all other tile_entry.json in the tileset dir to reflect the new name.") +args.add_argument("tileset_dir", action="store", + help="local name of the tileset directory under gfx/") +args.add_argument("old_name", action="store", + help="old name of the png file") +args.add_argument("new_name", action="store", + help="new name of the png file") +argsDict = vars(args.parse_args()) + +tileset_dirname = argsDict.get("tileset_dir", "") +tmp_old_name = argsDict.get("old_name", "") +tmp_new_name = argsDict.get("new_name", "") + +old_name = tmp_old_name +new_name = tmp_new_name +if tmp_old_name.endswith(".png"): + old_name = tmp_old_name[:-4] +if tmp_new_name.endswith(".png"): + new_name = tmp_new_name[:-4] + +old_name_json = old_name + ".json" +old_name_png = old_name + ".png" +new_name_json = new_name + ".json" +new_name_png = new_name + ".png" + +if not tileset_dirname.startswith("gfx/"): + tileset_dirname = "gfx/" + tileset_dirname +if tileset_dirname.endswith("/"): + tileset_dirname = tileset_dirname[:-1] + +print("In " + tileset_dirname + ", renaming " + old_name + " to " + new_name) +for png_dirname in os.listdir(tileset_dirname): + if not png_dirname.startswith("pngs_"): + continue + png_path = tileset_dirname + "/" + png_dirname + for subdir_fpath, dirnames, filenames in os.walk(png_path): + for filename in filenames: + old_path = subdir_fpath + "/" + filename + if filename.endswith(".json"): + convert_tile_entry_file(old_path, old_name, new_name) + if filename == old_name_png: + new_path = subdir_fpath + "/" + new_name_png + os.rename(old_path, new_path) + elif filename == old_name_json: + new_path = subdir_fpath + "/" + new_name_json + os.rename(old_path, new_path) + + +